upgrade java chassis version and recomplie web page (#77)

diff --git a/admin-website/src/main/resources/static/assets/403-aba683af.png b/admin-website/src/main/resources/static/assets/403.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/403-aba683af.png
rename to admin-website/src/main/resources/static/assets/403.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/404-23311ef9.png b/admin-website/src/main/resources/static/assets/404.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/404-23311ef9.png
rename to admin-website/src/main/resources/static/assets/404.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/404-f7440407.png b/admin-website/src/main/resources/static/assets/4042.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/404-f7440407.png
rename to admin-website/src/main/resources/static/assets/4042.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/500-434ea49e.png b/admin-website/src/main/resources/static/assets/500.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/500-434ea49e.png
rename to admin-website/src/main/resources/static/assets/500.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/avatar-dd4da9e1.png b/admin-website/src/main/resources/static/assets/avatar.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/avatar-dd4da9e1.png
rename to admin-website/src/main/resources/static/assets/avatar.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/blue-bg-a1babbcd.png b/admin-website/src/main/resources/static/assets/blue-bg.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/blue-bg-a1babbcd.png
rename to admin-website/src/main/resources/static/assets/blue-bg.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/build-5937e5cf.png b/admin-website/src/main/resources/static/assets/build.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/build-5937e5cf.png
rename to admin-website/src/main/resources/static/assets/build.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/busy-7c610d91.png b/admin-website/src/main/resources/static/assets/busy.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/busy-7c610d91.png
rename to admin-website/src/main/resources/static/assets/busy.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/chevron-up-775d40e5.js b/admin-website/src/main/resources/static/assets/chevron-up-775d40e5.js
deleted file mode 100644
index 53373e5..0000000
--- a/admin-website/src/main/resources/static/assets/chevron-up-775d40e5.js
+++ /dev/null
@@ -1 +0,0 @@
-import{s as n}from"./index-387d5142.js";import{u as r,v as o,w as c}from"./vue-fdfdc7c1.js";var t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},a=c("path",{class:"chevron-down_svg__st0",d:"M21 7c0 .2-.1.5-.2.6l-8 9.9c-.2.4-.5.5-.8.5-.3 0-.6-.1-.8-.4L3.3 7.7c-.4-.4-.3-1.1.2-1.4.4-.4 1.1-.3 1.4.2l7.2 8.9 7.2-8.9c.4-.4 1-.5 1.4-.2.2.1.3.4.3.7z"},null,-1),v=[a];function _(e,s){return r(),o("svg",t,[].concat(v))}var i={render:_},u=function(){return n({name:"IconChevronDown",component:i})()},h={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},l=c("path",{class:"chevron-up_svg__st0",d:"M3 17c0-.2.1-.5.2-.6l8-9.9c.2-.2.5-.4.8-.4s.6.1.8.4l7.9 9.9c.4.4.3 1.1-.2 1.4-.4.4-1.1.3-1.4-.2L12 8.7l-7.2 8.9c-.4.4-1 .5-1.4.2-.3-.2-.4-.5-.4-.8z"},null,-1),d=[l];function p(e,s){return r(),o("svg",h,[].concat(d))}var w={render:p},g=function(){return n({name:"IconChevronUp",component:w})()};export{g as a,u as i};
diff --git a/admin-website/src/main/resources/static/assets/chevron-up.js b/admin-website/src/main/resources/static/assets/chevron-up.js
new file mode 100644
index 0000000..6620905
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/chevron-up.js
@@ -0,0 +1,62 @@
+import { s as svg } from "./index.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode } from "./vue.js";
+var _hoisted_1$1 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$1 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "chevron-down_svg__st0",
+    d: "M21 7c0 .2-.1.5-.2.6l-8 9.9c-.2.4-.5.5-.8.5-.3 0-.6-.1-.8-.4L3.3 7.7c-.4-.4-.3-1.1.2-1.4.4-.4 1.1-.3 1.4.2l7.2 8.9 7.2-8.9c.4-.4 1-.5 1.4-.2.2.1.3.4.3.7z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$1 = [_hoisted_2$1];
+function render$1(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1, [].concat(_hoisted_3$1));
+}
+var ChevronDown = {
+  render: render$1
+};
+var index$1 = function index2() {
+  return svg({
+    name: "IconChevronDown",
+    component: ChevronDown
+  })();
+};
+var _hoisted_1 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "chevron-up_svg__st0",
+    d: "M3 17c0-.2.1-.5.2-.6l8-9.9c.2-.2.5-.4.8-.4s.6.1.8.4l7.9 9.9c.4.4.3 1.1-.2 1.4-.4.4-1.1.3-1.4-.2L12 8.7l-7.2 8.9c-.4.4-1 .5-1.4.2-.3-.2-.4-.5-.4-.8z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3 = [_hoisted_2];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1, [].concat(_hoisted_3));
+}
+var ChevronUp = {
+  render
+};
+var index = function index22() {
+  return svg({
+    name: "IconChevronUp",
+    component: ChevronUp
+  })();
+};
+export {
+  index as a,
+  index$1 as i
+};
diff --git a/admin-website/src/main/resources/static/assets/coach-2-779fa5d9.png b/admin-website/src/main/resources/static/assets/coach-2.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/coach-2-779fa5d9.png
rename to admin-website/src/main/resources/static/assets/coach-2.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/error-8553e43d.png b/admin-website/src/main/resources/static/assets/error.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/error-8553e43d.png
rename to admin-website/src/main/resources/static/assets/error.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/errortips-bg-e8a5d5c7.png b/admin-website/src/main/resources/static/assets/errortips-bg.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/errortips-bg-e8a5d5c7.png
rename to admin-website/src/main/resources/static/assets/errortips-bg.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/form-d42ce413.js b/admin-website/src/main/resources/static/assets/form-d42ce413.js
deleted file mode 100644
index 2c5cdd4..0000000
--- a/admin-website/src/main/resources/static/assets/form-d42ce413.js
+++ /dev/null
@@ -1 +0,0 @@
-import{q as t}from"./index-387d5142.js";function e(){return t.get("/api/base/getdata")}function g(){return t.get("/api/step/getdata")}export{g as a,e as g};
diff --git a/admin-website/src/main/resources/static/assets/form.js b/admin-website/src/main/resources/static/assets/form.js
new file mode 100644
index 0000000..4988cbe
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/form.js
@@ -0,0 +1,11 @@
+import { q as axios } from "./index.js";
+function getBaseData() {
+  return axios.get("/api/base/getdata");
+}
+function getStepData() {
+  return axios.get("/api/step/getdata");
+}
+export {
+  getStepData as a,
+  getBaseData as g
+};
diff --git a/admin-website/src/main/resources/static/assets/head-3486dd8f.js b/admin-website/src/main/resources/static/assets/head-3486dd8f.js
deleted file mode 100644
index 998a466..0000000
--- a/admin-website/src/main/resources/static/assets/head-3486dd8f.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as h,j as r,u as p,v as m,w as s,E as o,W as A,l as a,H as n,M as U,Z as M,_ as R}from"./vue-fdfdc7c1.js";import{R as d,C as l}from"./index-c544811c.js";import{u as g,n as u,_ as G}from"./index-387d5142.js";const E="/ui/admin/assets/user-head-b683bbb6.png",I="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFPElEQVRYR7VYW2yURRT+Zrfd3naXllJ7ozaFNEEbiVYLCWkTaaqIPJDQgjHygNAWg/qCMTUkqHiJ1nh5ASOFYkgwRtua8GCq2KwmJWrVVoMpElGw1N7ofS/d+46Z2f3//vvfZgs4L3uZmTPffOc7Z84MQaJRSokngGYAB2JAFSjshACUAuzzjjcCL6EYBtDpyMRpQghla/ClfJQWR4M4Rynqb2thZpJZ5KYV3xMbkjbHPnl3YsMWC1zWDOzNIWSCMGa8QfQxMGp7GnCCBdXjJWxGBCvNEQKXIwMNxO2nLQA69JgRrS/agBqQyB6AVgboRwps1mF45QSJEIj0YMEAcQeoB4Cdj73TWxZRou33Ek+AShqT9Sj5XC1CzQYFjKijVGNPNZ/9ZC6TYkJWvRTmRlFhlAZE44WEsRTDGBK51qhfBEA9L5XxtwXo79EgPv9qDmM3w3zt0rvSseex1VhflnGre4wzZOQiM6s+fwyvnhjH2iIbttyfw4f+8JsPo5MhHHu2BDlZFk2MpBKExBuksqpFIlT2D/8VwIlPp/D24TI4si0ckMcXw0sfjOLQk4WoWp+pCRL1HxoXMlEzQHKqFxGt2OLQH0s43T2ND4+WJ8069PoImpsKUH1PttZaCmmFeJmoUz08FQaZft47O4m2/cUoL7HxxUcmQmjvnMAL+4riOhKEla4LGUOGeUcnT0hrxGJA+5lJTM2GsWFdJgd05VoAhfnpaNtfBEvci6ZNDy/xMZcZNFHe8IcovhvwoP9XluyBugcceHizA1m2+BZT8JA8Rh7vC61AQwbAT/XM8J6WxjXJI1IJK5VNU4aMCjSJUylKJEDNu5IBrbSwY+M5oFTzUNeFefQPehGOxETy4P22dAtqq+3Ysy1Pd7xe5iZLzGUptOv/htB+ZgKNj+QhPzctPkMgktnFCHq+meeRWLHWJpfD6opRZpKdZRyQQcmpxDl0eQkd3dP46OVywxJVTzLPvDaCVpaX7tXJS2r9sMTIAMlhryqJpfGDw0voH/LiynU/ttY4UVdtR2lhummaGZsK8znf/uzGhoosPuehquykS4OGYMaQ38RlbELvRTfOuxZQeXcGnA4rboyHMO+O4EhLMT9MJaPKzY7fDOPNUxPIc6bxpOn2RPHnjSB21ufi8VqnqUOSGFJLiS3W9v4YNm3MQWNDLk/oMQocPT6OjZVZeGJ73rKOFJr6rHcel6768cZzJfIVqqdvAQOXfHjncOnyMjo+jjOU8JmeBg4eG0Hr7gI8yDSQoKOjK553Wpv0805Hd7z/4O41MoODl5dwsmsaHa+Uc7fpNR72SkB6UfP8W6PY1ZCLrTUOuaJ89+wUCvLSsG9nfpJdKYw/Pj+LmbkIXny6UNaM6ycPvuhbwPEjZTIg3eoiEDYP+5NdM7g2GsS2Wiecdiv+GQvhwveLaGkqQA0TqXTbVED7ZTgekY9uWYWKUhsWvVF8fdGNdWUZnDWzRswAMaisEPvkyzn8ftWPUDiGVfY01G9yYHud0/Q07+13g7Gy6I3wBHlfZRae2rEa9kTtxCWXuKYr85IpIPVOREeTqD+F/AsO6BbKoVRsa8ZortaqPzhjwcjyRVGvpNTTiCGalVzmdYwQC7wkFF6+SmtviuavGaKzTEijugCkGCCRCG2JJR4bRDfL/1tThD02sOeYcBR9FKgXMa6XyZXPQWrGRLcYpUcI4Eq3ooHrmVJaHIniHANlRnMqN0+hm/S0A7jSrNhL2IOV1M+YigLNNIoDsKCKUthvWyMm6AiBFxTDBOi0Wpef9P4DgizUToFSVrwAAAAASUVORK5CYII=",v="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFIklEQVRYR61Ye2xTVRj/nT7WrrRkHW5j65ygGUYXDM4ZYkJwkhkNiVmUGAMiCgMNxiyoUUlUjMRkKpEofyjBLaBZ4juSYCSTZWHGB4tPEgbzAVgXurqNdetju23v7THn9ra7va/TMu4/d9059zu/7/t9z0OgPJRSEhOwHUBHBmgChZcQgFKAva/6QxAnFMMAenxudBNCKDtDPipBaa2URC+lWLegg5lIJlEWrfpbUSinHHvLy4rCNhsG7C5sXkTIGGGWiSfRz8Bo5enAcQ7U7s9hMzOwWhwhGPC50Eaic3QHgENGluGdz1NAC4gnD8DjDNApCqw2sHDpBuIh4PmDDUMkKtAYAK+892qrzDOJfj1OYgLN+VjeH3Oca51QpyDHItoo1cnTfM9+MspyMZH3+lyYm0WFWRrg7ecajKUYZiEetWbrPADa74rZvyBAXEquQFMZkBlFPHnBUAp938/g37EURJGivrYMd7b4cEtjuWGMFBOEJJ6kea/maaxeHxiK4YsTEQSqnVjZ6IHbTTByQcC5C3NY27IYD93r1wWJ9h86CplTM0D5VM8ziaJicCyFfYfDaL3dhw13+wtq3fFvZ3BscBrbHqhCS5OnUGIRaYXEmVMXWzwVgUeOXkYwlMTLT9TBZlOdqQB+p3ccQiqDF7YttaxthhQyC5nmHYM8wTDtPRhCY4MbG9dXGtbSEz9EcezkNN7e3QC7GrCGAaM0QBKMMpPHLG+80R1GbZUTW9qXGAL66uQMBoaieOv5a2FjFd1EvqGFEqkSfEgR/NHxKZwemcWenQF43IV8ZzJA1/tjWOSxY9eW6vlyVExpYk5tZSGzBi0SlbD3vRCW17uw9f5r4C3P8iJJQPeXEzg9Mofnti7F8kAZL0wK1tl5MqAryUNnzws4cnQSokRxfb0LbrcNfwcFzCUpHrzHjzW3enWlqJjMTWYZZSU+sdkMvh6cwXe/xZGhFBU+h9wqxBIZGWDzTR6031WBqkpHAWXc0sFqmQzIpOU0aoiC4RQOfjyBtESxoc2P22724NxFAf2nonhqYzX+/EfAp30RxBKSTOeqG8tLSnMyoHzYa1piLaDJKRFdPWEsqyvL+o7HJkfZoc8n8cvZBHZ31GJZoAzpNMUnfRH8+Hscux6pQWODSxalqwTa85iF5iwo04b9/g/+w0RExJ6ddSh3kXzIv3jgEi5Pi3Jeam3xZesYBd48HMZMXMKrTwbgVLFnRUiBhXROp9Lg/GhSLhedD9eg6QZ3disBErMZPLNvVP55xyovHmtfkk88E1MiXnk3hE3rK7GmOduUFoaVqktV0kLWQgpnVtX4s28i+HV4Fl1PBwoy3cVLKbzeE5Ylr7jOjWcfrVGGq+xr/4fjcDiAzk3V+RnPLIzksFcDMuqpz/wlIBITMfhzTHbkttWLdYqOhlP4IyhgbbMPZc7CRPnTmQTCk2nc11oBv8+BlSvcMjBDn2I+JKStw/6lAyGMR9IlJgbj7dV+J17rrLOUZQmomLxhNanytDCSz7WQWiiv4+Ot8wDKNDLKSmyHik50vKAy7CCT4vygaNRS5nJRMdrpe1bNV5yOkdgQJ6n0/CitnxStbzO4ky5PC20DSDFERJHuyCiXDbzJkkcBdxDklCbCLhvYdUxaQj8F1vGuT6wyebZeFJ7Im2LUjBBgwGlHm+zPlNJaUUIvA2VlZW4a4FFkss7AOOzYTNiFVW4Ps5QEbKcSOmBDE6XwLthHLAASgjgohgnQY7fPX+n9D2R/2E6UK56VAAAAAElFTkSuQmCC",y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFdUlEQVRYR61YaWxUVRT+7pvO1plpi9Bph7YDCIjaKC5EQ02VkOoPqn80JiUWE2yLGmIEkhrTGDWGKHVPDAnKUhVi0ogrLih1goGktBqixJKghraUznRsp8vMtJ39mvs665v75s5Q3p9Z7nvnfuc753zn3EcQvyilxBdAK4CWGFALCjMhAKUA+7zuF4GfUAwAOGwx4BAhhLI95K1mKbVFgzhGKTYvamNmklmUTad9jzuUcI59ystxhyUJDo0ezSZCXIQx4w+ih4FR2ssCJ9hQeX8CmxrB6eYIgcOiRwPxztM2AB/xmBHtL3JACUhkD8AOBugcBe7lMFw4QSIEonyQ0Ee8AeoDYJbvvd4uiyjJXvcTX4AmciyZj4mYK5Mwy0EBI8oqzbKneJ79ZCFL1EQy6xNlrlYVajIgul9IGJMYxpAotGrrIgDK5/K5f1GALg0FcKrXiyvOEELhGJaWFeHOW014aGMJdNprU1MZkFqI1JiJxYDuk5M4e94HbZGE6gotTMUaXHWHMO2NoHyJFi2PLkONTZdLJ7k1RPxBmsxqURIm1n88M4Pvfp3G+nXF2Nq4FJZiKYm9989ZHP9pEkaDhJeeXg6Dniy0g3yUmyU1A5SUelEyEWBsIoK9Hzpht+nQvr2S2+d+G5hD15fjuP9uC5q23JCymoesED9L6nzDTYGTZ7349vQUdjZVoHaNIdOFtDJ+7YATXl8Mb7dXq/Y2rmowhlR1h6MTn57woPcPP/btrkGJWVLNka6vPOj/y4932u0oNvA95skAmWUhU7l4D3z+8xQcfV50tC1HdaVWFdD7R934eziIDzrskFIplrETl6HZUAE5BOD8xTkc/GIcW+rL8MimUq4r074oXtnvRJVVixeeqowPOXm0JpbUuRjiDWis5N88MoaRsRCee8KKm1cZ5CEucQVCFAe6x8E0atc2K9atVORZjsJh+8mACtUh90QEnUdcYJvfd4cZt6w2wGLSyAL5S78XUzMRPFhXiscaynJOnDzlJnMsZNdw9fT6cPzUJPfJVdV6PPN4OUotmtQEwSIWH4eVE2OyN7J1GZDKyMkbiC47Q+j+YRLDriCMegkrq/SyJkkEmPZHMXg1iLGJMDQSQeMDpWisLy1E5hYAJcteMRIrAf3Dquaz/+S/Wb9qqCuBUUey/Lk0GMDXjmkMjgZxz20mbHt4GbRFqRk6mSLK/RhD8zlCll72w64Q3v3EjSINwZ4nK1BVkSp5nspEosDREx6cu+DHziYrbr/JmNW7eDN3BkNZ40KaB291uTHsDMplvMKm4/YmXrccdYdl8NyLI0QLDMVdVBsAL14OgAndpg0l2Nq4JNUKFLuc/t0HVoGr7XpsqC1G34VZDDlDGb2MTQB16018fKzs0wGpzdQff+MB6+Kde6pQZtZwGyqrnBffG8WUL4I1NQa0b6/A3oMujLjSAAGwlevw6rO2heavOIjKVRgIi8v+9UNj8PqieGN3Vc75JhoDgiEKIxs54pvNBzNVxaAjqq1EBpkLUEI3nt83AqYtu5qtmUKnaHbfn5mB2xPB2hV61N9lhqPfh6HRTIbslTo0bLTIDHGFMR+GmGFmaK1dn4yqbDAt6Znxl/c74faEUXujUW4bnV1u/HslkJEvTLc6WitVpVhmqIBxKCNkhQp8Vpkr/pAZC0ZSB8UsCtNYyGvzQg7zHINEgp+EwqmjdPZJMffbDOFJV+SFcgCk6CORCG2LxV82iE6WSvuio7xonWNvh/w6JhxFDwU2ixjPpeQLZZPJqOgUkx4RAji0GjTI+UwptUWiOMZA5WJZOD6IQqSyzsAUadBM2AurxD2MqSjQSqNogYRaSmFedI7kAEgI/KAYIMBhjSb1Su9/gpLiTiknRRsAAAAASUVORK5CYII=",D="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFrUlEQVRYR61Ya2xURRT+5u6j++p2W0pLW7ABJEKLqEhAqQRTmgKNMRaN1FBNlEIAkZBgNPqHSDUhNhL9JRJAQQyJMYSINpqUxooKGJuQCPjgIaWUtrxa9tHdu7t3x8zs7t3u3XvvbJVJNtvuzJz5znfO+eZBkGqUUhKIoA3A2gRQCwoPIQClAPu+540gSCjOAdhX6MBeQghla/ClQpRWKDIOUYr6/7UwM8ksctPj/k45lHaOffPulMOShG5LAVrdhAwSxkxQRhcDo7WXA06woHZ8GpsRwePNEYLuwgI0EH+YrgOwR48Z0foiB7SARPYArGeATlFgkQ7DEydIhECUDxJOE3+EBgB4+Nh77bKIktz+IAlEaDrH1HxMx1ybhDkOChjRVmmOPc189i8LWbom1KxPl7lRVRjJgGi8kDAmMYwhUWiN+kUAtPPyGZ83oAtXZRw/6UffoAx/UDH1wWohqCq3o/Z+J1bUFcFiyd9lDsgoRGkz3/3sxzc/jKKyzIaaGU54PeYrKApF/1AUZ/4cw5RSG7a0lsPjknJzVKOjvNKDMlWzWi8JL1+TsevAMJYt8qK5wacqLC/K1LZiFPSBoRg++mIYc2Y48EpzaUbFjZQ7DUiVeh1md395E3fuxvFWWwWINE4a8ozCyTMhfH7sFnZsrkKpz5q9tehIOwmypDbZPN/+cAAL57nxTL1P1alolCIi69QCSe5PhW6GPAk+MJbAm7v60fbsZMyvcWW0LnerS8ogC5mh7hBgU3sfVq8swdIFhWoOvN7Rj7FIwpCjl54uxeMPudX+ze9dxaqGYtQvKsyaoycDJCQblz2boAfo7ysy/CElR9i5sBGgZoYDLoek9jNAzTqAdHU1FKXULIc2tvehJcVQ2j1FAeRYMmQ2K/sYxDy14vv7h9C01Ie5Mx3mOcQcMmOIebthRx9amkrw5IIM3ds6riEUTmqRJBHseLUKk3zZUqAkklVonYgGsRxkgMx0SI+hsxcjPGSMALuN4NEal7rtnLsUwbc9o1yHGKCp5XY01nn5mHyUm4yxkJk0PYbU4Zqs7PzxLr7uGcXMaQ48/IATkoXg7IUw/rgc5jr2XGOxCpyLoPaIzHSNAzI4crJJWYBMdsfLA1F07B9C42IvVi3zQY5S2O2Es/j9L34c6RrBa2vKUcvyyKDxomCA1LLXkfKtO/uxckkRltd5TaX/06O3+T63fUMlJALs3DeEukc8WDLfw0PHEtvlkrC5pUy9NOQcvxhDYZOQsQm7PhuG0ylh4+rJOX6NL9vtH1/H7GonXmgq5uPa9wzC67Zg9nQHFj7oxoneIE70BtCxbapZQLIZykk6AD2/BXC4cwRbXyzDnOkOVVuSm1pmK2nfPYjpUwvQ+lQJV+O9R25h8GaMj3m+sQTnL4Vx+vcQdm6tyiyjI0RJhlIx0xMqZvyDg8O41C/zo8TcWU4UuS1wuyQ47Bn9OXDsNv76R8Y7myphsyXXVG9EFGj/ZBClxVZsWj2Zh1CvsSTPAmR0po7FgaPdI+j+NYBEImmtrNiGd7dUqnav34jxMD02z401TZP4GYgtkEgAX3WN4PipAN54eQpmTrOrgHSPuJFY/ifGaBy4NhTFaFBBaZEV91XYskLY0xvE4c47KCuxciaZaJ6/GMbAjRia631Y8YTXTGGSrJoBEh45dWSg73oUnT/dxZWBKGezurIAyxd7Mau6ID9hnAhDomuXqF9IT5qhfN8SRNc20YI5V2vNDzwicjxzUcwJ0UQPiBO5zOugJxKCJBrLXKWFp/B7EZPxQLQXRYrTJB6n6xKpxwbRzVLrlAifqF/H3nr+HBNT0EWBehHjekquih/r1CTZRK7SBOi2WdDA85lSWhFXcIiBMktMoQyIstp4l++2WtBK2INVegxjSgHaqIK1kFBLKTzC15D/CIALIEEQFOcIsM9iyTzp/QtooetOyaI6EwAAAABJRU5ErkJggg==",J="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFe0lEQVRYR61Ya2hcRRT+Zh/ZzXYb82yyaZI2Jq3RmNhWsRVDhVipb4wWlBJRzKNFhSJSsNCHKIIFC0KraGlENIRWESmxYjSNptiQpBUjJA21tWqTNDVpnns3u5vdm5GZ3b179+7dnZum8yePmTnzzXfO+c6ZSxAelFLi9qEeQN0CUA4KJyEApQD7ecsHgUQoBgA0LbfjGCGEsjP4UR5KXbIfzZSiekkHM5PMIjet+j18ocjl2E8+Hb6wyYQOsw21ywgZJYwZyY92BkZrLw6c4EDt+gi2RASrzRGCjuU2bCGzXtoA4KgeM6LzRRfQAhLZA9DIAHVTYKMOw4snSIRAFA8m9JBZH3UDcPK1t/rKIkri5yXi9tFIjCnxGPG5NgjjLihgRJulcfY0+9mfzGWRnFCiPpLmibIikQyI1gsJYxLDGBK5NtE82/nJV+PovzSnLCnMs+Gt+jzdLSLAPI6XAogx1XlOQm+/hL+H/SgusKGi1IGtVWk3e8cQoEQuMmI1EKT4udeNkx1TeOqhdFRvSoPNGopCoYs0OsoZkvxUiWpREKrnBy758FP3DK4M+RGUo15/YJ0TtU9mQZYBizkKypByRwApUi+ihACBAMWXrRM4P+CB1WJC5dpUlBTZ4HSY4fUtYE2RHY5UE/YdHkbdszmovCM1atWArBCJBbXB4rkgA4dbxnDxHy9uL7DjpaezkJNpAXPb5at+3Fli55Swc9t+ncWme5YhPS1Mk47y6qoGc1lC3dHsONkxjbazM6havxzbn8jkhZQtOdsnobl1Avt35iMvxxpzv75BLxYoxYa7HIaUn3j8idNezfDkjIwDH40gM82CvTtcSLESJWg7et34um0Se+pdKHSlKIDY/qZvbkCmFI3bcozpqmeeUiMxdOrMDL7rnMau2lyUFdtjjP9yzo0TP4QAFblSonM3UduSMqTOqoPHrmPKLeP9N1YqBzJu5wMUHx8f53FVsdaBV57Jht0WH5RGGj12HgdkRId2HxrGKlcKXt++QgHE9n17OhRXq/Jt+Pean4MqLbQpDVhJoQ0X/vLhtwsevP1qfgyzespN5pjLDIzX3ruKdWUONDyXHZPGLOsuD/mxt8GFdz69xjNOPZgM1DySgaHReWy+16nUS5502haZ1TIOKEHLqTa858MRZKdb8ObLuTEt6pnzElq+n1CWvvB4JorzQwwxs3lZVl0X6nHAqz0DpKS9jpRHNrI4Gbziw6HdBXGlobd/jit2eakdd69JjWYZBfzzFAc/u47Hqm7D/RWOmEdDnE4yhrxJXKbe0PW7B1+03kDNwxnY+mCoeIp6ZramtTOUnSztmRYleQOEbKoZ0tKoBhSUgf1HRjArydjXyATQEo9Ic+UbU0G8e3QUGWkWHNjpin9O6chCiKGwz0Sy0f+nD0eOjyEv24od27LhyrHG3kFlYGI6iA8+/w8zbhm7XlyBstV2xV2J0oinvRqQqKdmG073MBGcgtUC1FRnYPN9Tq7aPIjDutTe7caPXTPw+inqarKxsTJUNkQNGp/3BYylfSRr2NF9F71oOTWJaXeQV3ymzqzCj08FMD4RhLxAsTI3Bc8/momy1aGMMzqSAkp2I6bQXX940Dc4h5GxACSvDIfdhKLcFGwod6BqfUhzkg1dYVwMQ6IYE80bYYkzZLAdEoWY8Lw4mdD8gzPmD0YfinEUqvpi4WlGhEnQMRITJDIfiD6l41+Kyb9m3GrKCEUPCQZpw0L4Y4PoZallSRQzonkde438c0xARjsFqo2UArURvVqkrg2iV4zaIwTosJqxhcczpdQVlNHMQC02TY00XqL4Y2AsZtQS9sEqspgxJQP1VEYdTCinFM4lx0gSJIRAAsUAAZrM5ugnvf8Bb0rwTh5TJ8wAAAAASUVORK5CYII=",Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAlCAYAAADFniADAAAE/klEQVRYR8WYWWyUVRTHf2eWdjozbWcpdJnSImsMKAEBARMFBTQR1BBAeSEQIAgalRhfiMZADE8uaFQ0QQgabVGCBGgMkCghAWNEdgTpA0HaKaWd6bSdTtvZrvk+6EJhOlvB+/Zlzvmf37333HPPXGHAUEqJN8BCFEtRTFFCiShMA+0y/VZCDEWTwAUR9pY6qRaRaH896f9R16bGSYTvFUzNNGgGfrUCKzxuOdHj2wvV0KqmxWIcRuHIQDg7FyEswhKPU/ZrQjpUXZtyE+EcUJadeubeAh1iZmpZgVy+BeVTW4E3M5ccGk8RDnpcslCUUrleP00K8odGOjsVgQppaFFzYnF+zU5q6LwF1khdi1pBnJ1DJ5udkgE+EG+LeiMe59N0pHb/0sxIj4XHH7UndKuqaWZMpYVpExPb3MtZ4LOMoD7Z5WVUuYUXn3ElhPpoh5fxo/JYMNuZzny1cpA6VLM/yqWrIVpaY5y9HKTAbuKhckvCgGcuBXEUmPQVLbAZGTvSgqc4JylgylCnL3Xw8xEfRqPgyDfhC0TIMQn59sS3j68lQk6OgXybkfaOGJ3dcebOcjBnesGgYClBaYIf7vQyYbSVRfPdmIyQ7vYpBYePBzh2so31y0oGXbGUoM5fCVFV08TGtSOwWw36LI+faqekyMzoisTbp9mUDs9hVHmu7qOBbd52nSenFg66WilBnTjdzsGjfrZsqEyaD8kMUkn+tKA2vV6RLOagv4e64mz9zsusyQXMm1mY0DYtqKyIbjvn5RpZt6yEImfiA5IW1JLnirLiMhlFr22223mZSCwtqHRy6tw/IWqvddLkj1LkMjG2Mo9J460pTWrIobq7FT/UNOlAnuJchrvM3PRHqG/s1sGWLRiGJeeOZvcu0LSgKkr7jr/RCAvnuPSy0H/sOezjYm1IDz6u0qKXARGovdalw2q1bvGz7uyLZ09JmPxw38VqMMIzMxw48o29AbRr6ONd9bw01830R+z61n1VfYONa8vRJvHnhaB+K2xY7mGYe4gSPVlOnfq7gz2HfLy3fgR5ucL1hjDbqht4Z5UHu9VILA6bv7jO4vlupkywZVcSfj/TzoHfkhfPP84GOXDUz/uvVWA20QulRS/MN/H2Sg+bPv+X52c7mTEpcZObUk5dvtrJt/tu8tbyMoa778yh/tOtuxHmy6oGViwq1vMpElE0t976O2ezGGj0Rdi5t5F1r5QyojRxt5ASVDis9AvYbjPywtMuipxmPXl7hlZ/tEtaS+qvdzcSDMVYs6SYwn751hqMsf3HRqxWA6++XHKH/8B9TAlKc6pvDFNd04yvNXJXLpjNBt5dW47ZLPgCUbb/1Eh3OM5jE+0Mc5ppaonw14Wg3sasXlw8aDXXxFOG0oyjMfDeDBNoi6L6oVktBsZW9pWLrrDiyPEAV6514g9EcTtMjKnIY94TDv0AJBs6VH1ArVIxticzzuT3njqVlq+wRbwBNT8e41BajvfTWFgvN5SyRf00A4k7tvsJMUA7x8Q4fZPrfWqHgpUPMPY9Q4lwzOOSp3QoX0iVd3Zx/n95cenBEyIGA7PKHHKy9zjouRVnP4pbTfUDHCIoDKzxOOSb22WhL3qdT80UoUopsm/IU5yUCD4RVpc5ZV/fog1w1l9hWlilYKloz4v34TVGIKTgokHYa4FtLpe09sdIWs2UUnnNDN2bZwziJSIdgy3kf5DfUfMqCzyiAAAAAElFTkSuQmCC",t=c=>(M("data-v-89282645"),c=c(),R(),c),C={class:"user"},B=t(()=>s("img",{src:E,alt:"user",class:"user-image"},null,-1)),Q={class:"user-name"},z={class:"user-name"},k=t(()=>s("div",{class:"divider"},null,-1)),Z={class:"user-content"},f=t(()=>s("img",{src:I,class:"head-image"},null,-1)),P={class:"col"},S=t(()=>s("div",{class:"space"},null,-1)),K=t(()=>s("img",{src:v,class:"head-image"},null,-1)),L={class:"col"},O=t(()=>s("div",{class:"space"},null,-1)),j=t(()=>s("img",{src:y,class:"head-image"},null,-1)),x={class:"col"},V=t(()=>s("div",{class:"space"},null,-1)),W=t(()=>s("img",{src:D,class:"head-image"},null,-1)),H={class:"col"},T=t(()=>s("div",{class:"space"},null,-1)),w=t(()=>s("img",{src:J,class:"head-image"},null,-1)),N={class:"col"},q=t(()=>s("div",{class:"space"},null,-1)),F=t(()=>s("img",{src:Y,class:"head-image"},null,-1)),b={class:"col"},X=t(()=>s("div",{class:"space"},null,-1)),_=h({__name:"head",setup(c){const e=g();return r(()=>{e.info()}),(i,$)=>(p(),m(U,null,[s("div",C,[B,s("div",null,[s("h3",Q,o(i.$t("stepForm.head.admin")),1),s("h3",z,o(A(e).userInfo.username),1)])]),k,s("div",Z,[a(A(u),null,{default:n(()=>[a(A(d),{flex:!0,justify:"center",class:"margin-bottom"},{default:n(()=>[f,a(A(l),{span:6},{default:n(()=>[s("div",P,[s("div",null,o(i.$t("stepForm.recruitment.department")),1),S,s("div",null,o(A(e).userInfo.department),1)])]),_:1}),K,a(A(l),{span:6},{default:n(()=>[s("div",L,[s("div",null,o(i.$t("stepForm.recruitment.type")),1),O,s("div",null,o(A(e).userInfo.employeeType),1)])]),_:1}),j,a(A(l),{span:6},{default:n(()=>[s("div",x,[s("div",null,o(i.$t("stepForm.recruitment.position")),1),V,s("div",null,o(A(e).userInfo.job),1)])]),_:1})]),_:1}),a(A(d),{flex:!0,justify:"center",class:"margin-bottom"},{default:n(()=>[W,a(A(l),{span:6},{default:n(()=>[s("div",H,[s("div",null,o(i.$t("stepForm.probation.start")),1),T,s("div",null,o(A(e).userInfo.probationStart)+" ~ "+o(A(e).userInfo.probationEnd),1)])]),_:1}),w,a(A(l),{span:6},{default:n(()=>[s("div",N,[s("div",null,o(i.$t("stepForm.start.date")),1),q,s("div",null,o(A(e).userInfo.protocolStart),1)])]),_:1}),F,a(A(l),{span:6},{default:n(()=>[s("div",b,[s("div",null,o(i.$t("stepForm.probation.period")),1),X,s("div",null,o(A(e).userInfo.probationDuration)+o(i.$t("stepForm.probation.day")),1)])]),_:1})]),_:1})]),_:1})])],64))}});const ts=G(_,[["__scopeId","data-v-89282645"]]);export{ts as h};
diff --git a/admin-website/src/main/resources/static/assets/head-681d9bb4.css b/admin-website/src/main/resources/static/assets/head-681d9bb4.css
deleted file mode 100644
index b2080cf..0000000
--- a/admin-website/src/main/resources/static/assets/head-681d9bb4.css
+++ /dev/null
@@ -1 +0,0 @@
-.user-content[data-v-89282645]{display:flex;flex-direction:column;justify-content:center;width:66%;padding-bottom:8px}.divider[data-v-89282645]{width:1px;height:60px;margin-top:70px;background:#fff;opacity:.3}.user[data-v-89282645]{display:flex;align-items:center;justify-content:space-around;width:16%}.user-image[data-v-89282645]{font-style:oblique;border-radius:60px;fill:var(--ti-common-color-line-active)}.space[data-v-89282645]{height:10px}.head-image[data-v-89282645]{margin-top:6px;padding-right:10px}.user-name[data-v-89282645]{padding-left:26px;color:#fff;font-weight:600;font-size:large}.margin-bottom[data-v-89282645]{margin-top:30px;margin-bottom:30px}.col[data-v-89282645]{color:#fff}@media (max-width: 992px){.margin-bottom[data-v-89282645]{margin-top:10px;margin-bottom:12px}}@media (max-width: 1024px){.margin-bottom[data-v-89282645]{margin-top:10px;margin-bottom:12px}}@media (max-width: 1208px){.user[data-v-89282645]{width:25%}}
diff --git a/admin-website/src/main/resources/static/assets/head.css b/admin-website/src/main/resources/static/assets/head.css
new file mode 100644
index 0000000..f1c0dc7
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/head.css
@@ -0,0 +1,62 @@
+.user-content[data-v-89282645] {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  width: 66%;
+  padding-bottom: 8px;
+}
+.divider[data-v-89282645] {
+  width: 1px;
+  height: 60px;
+  margin-top: 70px;
+  background: #fff;
+  opacity: 0.3;
+}
+.user[data-v-89282645] {
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+  width: 16%;
+}
+.user-image[data-v-89282645] {
+  font-style: oblique;
+  border-radius: 60px;
+  fill: var(--ti-common-color-line-active);
+}
+.space[data-v-89282645] {
+  height: 10px;
+}
+.head-image[data-v-89282645] {
+  margin-top: 6px;
+  padding-right: 10px;
+}
+.user-name[data-v-89282645] {
+  padding-left: 26px;
+  color: #fff;
+  font-weight: 600;
+  font-size: large;
+}
+.margin-bottom[data-v-89282645] {
+  margin-top: 30px;
+  margin-bottom: 30px;
+}
+.col[data-v-89282645] {
+  color: #fff;
+}
+@media (max-width: 992px) {
+.margin-bottom[data-v-89282645] {
+    margin-top: 10px;
+    margin-bottom: 12px;
+}
+}
+@media (max-width: 1024px) {
+.margin-bottom[data-v-89282645] {
+    margin-top: 10px;
+    margin-bottom: 12px;
+}
+}
+@media (max-width: 1208px) {
+.user[data-v-89282645] {
+    width: 25%;
+}
+}
diff --git a/admin-website/src/main/resources/static/assets/head.js b/admin-website/src/main/resources/static/assets/head.js
new file mode 100644
index 0000000..911b9d9
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/head.js
@@ -0,0 +1,175 @@
+import { d as defineComponent, j as onMounted, u as openBlock, v as createElementBlock, w as createBaseVNode, E as toDisplayString, W as unref, l as createVNode, H as withCtx, M as Fragment, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { R as Row, C as Col } from "./index31.js";
+import { u as useUserStore, n as Layout, _ as _export_sfc } from "./index.js";
+const _imports_0 = "/ui/admin/assets/user-head.png";
+const _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFPElEQVRYR7VYW2yURRT+Zrfd3naXllJ7ozaFNEEbiVYLCWkTaaqIPJDQgjHygNAWg/qCMTUkqHiJ1nh5ASOFYkgwRtua8GCq2KwmJWrVVoMpElGw1N7ofS/d+46Z2f3//vvfZgs4L3uZmTPffOc7Z84MQaJRSokngGYAB2JAFSjshACUAuzzjjcCL6EYBtDpyMRpQghla/ClfJQWR4M4Rynqb2thZpJZ5KYV3xMbkjbHPnl3YsMWC1zWDOzNIWSCMGa8QfQxMGp7GnCCBdXjJWxGBCvNEQKXIwMNxO2nLQA69JgRrS/agBqQyB6AVgboRwps1mF45QSJEIj0YMEAcQeoB4Cdj73TWxZRou33Ek+AShqT9Sj5XC1CzQYFjKijVGNPNZ/9ZC6TYkJWvRTmRlFhlAZE44WEsRTDGBK51qhfBEA9L5XxtwXo79EgPv9qDmM3w3zt0rvSseex1VhflnGre4wzZOQiM6s+fwyvnhjH2iIbttyfw4f+8JsPo5MhHHu2BDlZFk2MpBKExBuksqpFIlT2D/8VwIlPp/D24TI4si0ckMcXw0sfjOLQk4WoWp+pCRL1HxoXMlEzQHKqFxGt2OLQH0s43T2ND4+WJ8069PoImpsKUH1PttZaCmmFeJmoUz08FQaZft47O4m2/cUoL7HxxUcmQmjvnMAL+4riOhKEla4LGUOGeUcnT0hrxGJA+5lJTM2GsWFdJgd05VoAhfnpaNtfBEvci6ZNDy/xMZcZNFHe8IcovhvwoP9XluyBugcceHizA1m2+BZT8JA8Rh7vC61AQwbAT/XM8J6WxjXJI1IJK5VNU4aMCjSJUylKJEDNu5IBrbSwY+M5oFTzUNeFefQPehGOxETy4P22dAtqq+3Ysy1Pd7xe5iZLzGUptOv/htB+ZgKNj+QhPzctPkMgktnFCHq+meeRWLHWJpfD6opRZpKdZRyQQcmpxDl0eQkd3dP46OVywxJVTzLPvDaCVpaX7tXJS2r9sMTIAMlhryqJpfGDw0voH/LiynU/ttY4UVdtR2lhummaGZsK8znf/uzGhoosPuehquykS4OGYMaQ38RlbELvRTfOuxZQeXcGnA4rboyHMO+O4EhLMT9MJaPKzY7fDOPNUxPIc6bxpOn2RPHnjSB21ufi8VqnqUOSGFJLiS3W9v4YNm3MQWNDLk/oMQocPT6OjZVZeGJ73rKOFJr6rHcel6768cZzJfIVqqdvAQOXfHjncOnyMjo+jjOU8JmeBg4eG0Hr7gI8yDSQoKOjK553Wpv0805Hd7z/4O41MoODl5dwsmsaHa+Uc7fpNR72SkB6UfP8W6PY1ZCLrTUOuaJ89+wUCvLSsG9nfpJdKYw/Pj+LmbkIXny6UNaM6ycPvuhbwPEjZTIg3eoiEDYP+5NdM7g2GsS2Wiecdiv+GQvhwveLaGkqQA0TqXTbVED7ZTgekY9uWYWKUhsWvVF8fdGNdWUZnDWzRswAMaisEPvkyzn8ftWPUDiGVfY01G9yYHud0/Q07+13g7Gy6I3wBHlfZRae2rEa9kTtxCWXuKYr85IpIPVOREeTqD+F/AsO6BbKoVRsa8ZortaqPzhjwcjyRVGvpNTTiCGalVzmdYwQC7wkFF6+SmtviuavGaKzTEijugCkGCCRCG2JJR4bRDfL/1tThD02sOeYcBR9FKgXMa6XyZXPQWrGRLcYpUcI4Eq3ooHrmVJaHIniHANlRnMqN0+hm/S0A7jSrNhL2IOV1M+YigLNNIoDsKCKUthvWyMm6AiBFxTDBOi0Wpef9P4DgizUToFSVrwAAAAASUVORK5CYII=";
+const _imports_2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFIklEQVRYR61Ye2xTVRj/nT7WrrRkHW5j65ygGUYXDM4ZYkJwkhkNiVmUGAMiCgMNxiyoUUlUjMRkKpEofyjBLaBZ4juSYCSTZWHGB4tPEgbzAVgXurqNdetju23v7THn9ra7va/TMu4/d9059zu/7/t9z0OgPJRSEhOwHUBHBmgChZcQgFKAva/6QxAnFMMAenxudBNCKDtDPipBaa2URC+lWLegg5lIJlEWrfpbUSinHHvLy4rCNhsG7C5sXkTIGGGWiSfRz8Bo5enAcQ7U7s9hMzOwWhwhGPC50Eaic3QHgENGluGdz1NAC4gnD8DjDNApCqw2sHDpBuIh4PmDDUMkKtAYAK+892qrzDOJfj1OYgLN+VjeH3Oca51QpyDHItoo1cnTfM9+MspyMZH3+lyYm0WFWRrg7ecajKUYZiEetWbrPADa74rZvyBAXEquQFMZkBlFPHnBUAp938/g37EURJGivrYMd7b4cEtjuWGMFBOEJJ6kea/maaxeHxiK4YsTEQSqnVjZ6IHbTTByQcC5C3NY27IYD93r1wWJ9h86CplTM0D5VM8ziaJicCyFfYfDaL3dhw13+wtq3fFvZ3BscBrbHqhCS5OnUGIRaYXEmVMXWzwVgUeOXkYwlMTLT9TBZlOdqQB+p3ccQiqDF7YttaxthhQyC5nmHYM8wTDtPRhCY4MbG9dXGtbSEz9EcezkNN7e3QC7GrCGAaM0QBKMMpPHLG+80R1GbZUTW9qXGAL66uQMBoaieOv5a2FjFd1EvqGFEqkSfEgR/NHxKZwemcWenQF43IV8ZzJA1/tjWOSxY9eW6vlyVExpYk5tZSGzBi0SlbD3vRCW17uw9f5r4C3P8iJJQPeXEzg9Mofnti7F8kAZL0wK1tl5MqAryUNnzws4cnQSokRxfb0LbrcNfwcFzCUpHrzHjzW3enWlqJjMTWYZZSU+sdkMvh6cwXe/xZGhFBU+h9wqxBIZGWDzTR6031WBqkpHAWXc0sFqmQzIpOU0aoiC4RQOfjyBtESxoc2P22724NxFAf2nonhqYzX+/EfAp30RxBKSTOeqG8tLSnMyoHzYa1piLaDJKRFdPWEsqyvL+o7HJkfZoc8n8cvZBHZ31GJZoAzpNMUnfRH8+Hscux6pQWODSxalqwTa85iF5iwo04b9/g/+w0RExJ6ddSh3kXzIv3jgEi5Pi3Jeam3xZesYBd48HMZMXMKrTwbgVLFnRUiBhXROp9Lg/GhSLhedD9eg6QZ3disBErMZPLNvVP55xyovHmtfkk88E1MiXnk3hE3rK7GmOduUFoaVqktV0kLWQgpnVtX4s28i+HV4Fl1PBwoy3cVLKbzeE5Ylr7jOjWcfrVGGq+xr/4fjcDiAzk3V+RnPLIzksFcDMuqpz/wlIBITMfhzTHbkttWLdYqOhlP4IyhgbbMPZc7CRPnTmQTCk2nc11oBv8+BlSvcMjBDn2I+JKStw/6lAyGMR9IlJgbj7dV+J17rrLOUZQmomLxhNanytDCSz7WQWiiv4+Ot8wDKNDLKSmyHik50vKAy7CCT4vygaNRS5nJRMdrpe1bNV5yOkdgQJ6n0/CitnxStbzO4ky5PC20DSDFERJHuyCiXDbzJkkcBdxDklCbCLhvYdUxaQj8F1vGuT6wyebZeFJ7Im2LUjBBgwGlHm+zPlNJaUUIvA2VlZW4a4FFkss7AOOzYTNiFVW4Ps5QEbKcSOmBDE6XwLthHLAASgjgohgnQY7fPX+n9D2R/2E6UK56VAAAAAElFTkSuQmCC";
+const _imports_3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFdUlEQVRYR61YaWxUVRT+7pvO1plpi9Bph7YDCIjaKC5EQ02VkOoPqn80JiUWE2yLGmIEkhrTGDWGKHVPDAnKUhVi0ogrLih1goGktBqixJKghraUznRsp8vMtJ39mvs665v75s5Q3p9Z7nvnfuc753zn3EcQvyilxBdAK4CWGFALCjMhAKUA+7zuF4GfUAwAOGwx4BAhhLI95K1mKbVFgzhGKTYvamNmklmUTad9jzuUcI59ystxhyUJDo0ezSZCXIQx4w+ih4FR2ssCJ9hQeX8CmxrB6eYIgcOiRwPxztM2AB/xmBHtL3JACUhkD8AOBugcBe7lMFw4QSIEonyQ0Ee8AeoDYJbvvd4uiyjJXvcTX4AmciyZj4mYK5Mwy0EBI8oqzbKneJ79ZCFL1EQy6xNlrlYVajIgul9IGJMYxpAotGrrIgDK5/K5f1GALg0FcKrXiyvOEELhGJaWFeHOW014aGMJdNprU1MZkFqI1JiJxYDuk5M4e94HbZGE6gotTMUaXHWHMO2NoHyJFi2PLkONTZdLJ7k1RPxBmsxqURIm1n88M4Pvfp3G+nXF2Nq4FJZiKYm9989ZHP9pEkaDhJeeXg6Dniy0g3yUmyU1A5SUelEyEWBsIoK9Hzpht+nQvr2S2+d+G5hD15fjuP9uC5q23JCymoesED9L6nzDTYGTZ7349vQUdjZVoHaNIdOFtDJ+7YATXl8Mb7dXq/Y2rmowhlR1h6MTn57woPcPP/btrkGJWVLNka6vPOj/y4932u0oNvA95skAmWUhU7l4D3z+8xQcfV50tC1HdaVWFdD7R934eziIDzrskFIplrETl6HZUAE5BOD8xTkc/GIcW+rL8MimUq4r074oXtnvRJVVixeeqowPOXm0JpbUuRjiDWis5N88MoaRsRCee8KKm1cZ5CEucQVCFAe6x8E0atc2K9atVORZjsJh+8mACtUh90QEnUdcYJvfd4cZt6w2wGLSyAL5S78XUzMRPFhXiscaynJOnDzlJnMsZNdw9fT6cPzUJPfJVdV6PPN4OUotmtQEwSIWH4eVE2OyN7J1GZDKyMkbiC47Q+j+YRLDriCMegkrq/SyJkkEmPZHMXg1iLGJMDQSQeMDpWisLy1E5hYAJcteMRIrAf3Dquaz/+S/Wb9qqCuBUUey/Lk0GMDXjmkMjgZxz20mbHt4GbRFqRk6mSLK/RhD8zlCll72w64Q3v3EjSINwZ4nK1BVkSp5nspEosDREx6cu+DHziYrbr/JmNW7eDN3BkNZ40KaB291uTHsDMplvMKm4/YmXrccdYdl8NyLI0QLDMVdVBsAL14OgAndpg0l2Nq4JNUKFLuc/t0HVoGr7XpsqC1G34VZDDlDGb2MTQB16018fKzs0wGpzdQff+MB6+Kde6pQZtZwGyqrnBffG8WUL4I1NQa0b6/A3oMujLjSAAGwlevw6rO2heavOIjKVRgIi8v+9UNj8PqieGN3Vc75JhoDgiEKIxs54pvNBzNVxaAjqq1EBpkLUEI3nt83AqYtu5qtmUKnaHbfn5mB2xPB2hV61N9lhqPfh6HRTIbslTo0bLTIDHGFMR+GmGFmaK1dn4yqbDAt6Znxl/c74faEUXujUW4bnV1u/HslkJEvTLc6WitVpVhmqIBxKCNkhQp8Vpkr/pAZC0ZSB8UsCtNYyGvzQg7zHINEgp+EwqmjdPZJMffbDOFJV+SFcgCk6CORCG2LxV82iE6WSvuio7xonWNvh/w6JhxFDwU2ixjPpeQLZZPJqOgUkx4RAji0GjTI+UwptUWiOMZA5WJZOD6IQqSyzsAUadBM2AurxD2MqSjQSqNogYRaSmFedI7kAEgI/KAYIMBhjSb1Su9/gpLiTiknRRsAAAAASUVORK5CYII=";
+const _imports_4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFrUlEQVRYR61Ya2xURRT+5u6j++p2W0pLW7ABJEKLqEhAqQRTmgKNMRaN1FBNlEIAkZBgNPqHSDUhNhL9JRJAQQyJMYSINpqUxooKGJuQCPjgIaWUtrxa9tHdu7t3x8zs7t3u3XvvbJVJNtvuzJz5znfO+eZBkGqUUhKIoA3A2gRQCwoPIQClAPu+540gSCjOAdhX6MBeQghla/ClQpRWKDIOUYr6/7UwM8ksctPj/k45lHaOffPulMOShG5LAVrdhAwSxkxQRhcDo7WXA06woHZ8GpsRwePNEYLuwgI0EH+YrgOwR48Z0foiB7SARPYArGeATlFgkQ7DEydIhECUDxJOE3+EBgB4+Nh77bKIktz+IAlEaDrH1HxMx1ybhDkOChjRVmmOPc189i8LWbom1KxPl7lRVRjJgGi8kDAmMYwhUWiN+kUAtPPyGZ83oAtXZRw/6UffoAx/UDH1wWohqCq3o/Z+J1bUFcFiyd9lDsgoRGkz3/3sxzc/jKKyzIaaGU54PeYrKApF/1AUZ/4cw5RSG7a0lsPjknJzVKOjvNKDMlWzWi8JL1+TsevAMJYt8qK5wacqLC/K1LZiFPSBoRg++mIYc2Y48EpzaUbFjZQ7DUiVeh1md395E3fuxvFWWwWINE4a8ozCyTMhfH7sFnZsrkKpz5q9tehIOwmypDbZPN/+cAAL57nxTL1P1alolCIi69QCSe5PhW6GPAk+MJbAm7v60fbsZMyvcWW0LnerS8ogC5mh7hBgU3sfVq8swdIFhWoOvN7Rj7FIwpCjl54uxeMPudX+ze9dxaqGYtQvKsyaoycDJCQblz2boAfo7ysy/CElR9i5sBGgZoYDLoek9jNAzTqAdHU1FKXULIc2tvehJcVQ2j1FAeRYMmQ2K/sYxDy14vv7h9C01Ie5Mx3mOcQcMmOIebthRx9amkrw5IIM3ds6riEUTmqRJBHseLUKk3zZUqAkklVonYgGsRxkgMx0SI+hsxcjPGSMALuN4NEal7rtnLsUwbc9o1yHGKCp5XY01nn5mHyUm4yxkJk0PYbU4Zqs7PzxLr7uGcXMaQ48/IATkoXg7IUw/rgc5jr2XGOxCpyLoPaIzHSNAzI4crJJWYBMdsfLA1F07B9C42IvVi3zQY5S2O2Es/j9L34c6RrBa2vKUcvyyKDxomCA1LLXkfKtO/uxckkRltd5TaX/06O3+T63fUMlJALs3DeEukc8WDLfw0PHEtvlkrC5pUy9NOQcvxhDYZOQsQm7PhuG0ylh4+rJOX6NL9vtH1/H7GonXmgq5uPa9wzC67Zg9nQHFj7oxoneIE70BtCxbapZQLIZykk6AD2/BXC4cwRbXyzDnOkOVVuSm1pmK2nfPYjpUwvQ+lQJV+O9R25h8GaMj3m+sQTnL4Vx+vcQdm6tyiyjI0RJhlIx0xMqZvyDg8O41C/zo8TcWU4UuS1wuyQ47Bn9OXDsNv76R8Y7myphsyXXVG9EFGj/ZBClxVZsWj2Zh1CvsSTPAmR0po7FgaPdI+j+NYBEImmtrNiGd7dUqnav34jxMD02z401TZP4GYgtkEgAX3WN4PipAN54eQpmTrOrgHSPuJFY/ifGaBy4NhTFaFBBaZEV91XYskLY0xvE4c47KCuxciaZaJ6/GMbAjRia631Y8YTXTGGSrJoBEh45dWSg73oUnT/dxZWBKGezurIAyxd7Mau6ID9hnAhDomuXqF9IT5qhfN8SRNc20YI5V2vNDzwicjxzUcwJ0UQPiBO5zOugJxKCJBrLXKWFp/B7EZPxQLQXRYrTJB6n6xKpxwbRzVLrlAifqF/H3nr+HBNT0EWBehHjekquih/r1CTZRK7SBOi2WdDA85lSWhFXcIiBMktMoQyIstp4l++2WtBK2INVegxjSgHaqIK1kFBLKTzC15D/CIALIEEQFOcIsM9iyTzp/QtooetOyaI6EwAAAABJRU5ErkJggg==";
+const _imports_5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFe0lEQVRYR61Ya2hcRRT+Zh/ZzXYb82yyaZI2Jq3RmNhWsRVDhVipb4wWlBJRzKNFhSJSsNCHKIIFC0KraGlENIRWESmxYjSNptiQpBUjJA21tWqTNDVpnns3u5vdm5GZ3b179+7dnZum8yePmTnzzXfO+c6ZSxAelFLi9qEeQN0CUA4KJyEApQD7ecsHgUQoBgA0LbfjGCGEsjP4UR5KXbIfzZSiekkHM5PMIjet+j18ocjl2E8+Hb6wyYQOsw21ywgZJYwZyY92BkZrLw6c4EDt+gi2RASrzRGCjuU2bCGzXtoA4KgeM6LzRRfQAhLZA9DIAHVTYKMOw4snSIRAFA8m9JBZH3UDcPK1t/rKIkri5yXi9tFIjCnxGPG5NgjjLihgRJulcfY0+9mfzGWRnFCiPpLmibIikQyI1gsJYxLDGBK5NtE82/nJV+PovzSnLCnMs+Gt+jzdLSLAPI6XAogx1XlOQm+/hL+H/SgusKGi1IGtVWk3e8cQoEQuMmI1EKT4udeNkx1TeOqhdFRvSoPNGopCoYs0OsoZkvxUiWpREKrnBy758FP3DK4M+RGUo15/YJ0TtU9mQZYBizkKypByRwApUi+ihACBAMWXrRM4P+CB1WJC5dpUlBTZ4HSY4fUtYE2RHY5UE/YdHkbdszmovCM1atWArBCJBbXB4rkgA4dbxnDxHy9uL7DjpaezkJNpAXPb5at+3Fli55Swc9t+ncWme5YhPS1Mk47y6qoGc1lC3dHsONkxjbazM6havxzbn8jkhZQtOdsnobl1Avt35iMvxxpzv75BLxYoxYa7HIaUn3j8idNezfDkjIwDH40gM82CvTtcSLESJWg7et34um0Se+pdKHSlKIDY/qZvbkCmFI3bcozpqmeeUiMxdOrMDL7rnMau2lyUFdtjjP9yzo0TP4QAFblSonM3UduSMqTOqoPHrmPKLeP9N1YqBzJu5wMUHx8f53FVsdaBV57Jht0WH5RGGj12HgdkRId2HxrGKlcKXt++QgHE9n17OhRXq/Jt+Pean4MqLbQpDVhJoQ0X/vLhtwsevP1qfgyzespN5pjLDIzX3ruKdWUONDyXHZPGLOsuD/mxt8GFdz69xjNOPZgM1DySgaHReWy+16nUS5502haZ1TIOKEHLqTa858MRZKdb8ObLuTEt6pnzElq+n1CWvvB4JorzQwwxs3lZVl0X6nHAqz0DpKS9jpRHNrI4Gbziw6HdBXGlobd/jit2eakdd69JjWYZBfzzFAc/u47Hqm7D/RWOmEdDnE4yhrxJXKbe0PW7B1+03kDNwxnY+mCoeIp6ZramtTOUnSztmRYleQOEbKoZ0tKoBhSUgf1HRjArydjXyATQEo9Ic+UbU0G8e3QUGWkWHNjpin9O6chCiKGwz0Sy0f+nD0eOjyEv24od27LhyrHG3kFlYGI6iA8+/w8zbhm7XlyBstV2xV2J0oinvRqQqKdmG073MBGcgtUC1FRnYPN9Tq7aPIjDutTe7caPXTPw+inqarKxsTJUNkQNGp/3BYylfSRr2NF9F71oOTWJaXeQV3ymzqzCj08FMD4RhLxAsTI3Bc8/momy1aGMMzqSAkp2I6bQXX940Dc4h5GxACSvDIfdhKLcFGwod6BqfUhzkg1dYVwMQ6IYE80bYYkzZLAdEoWY8Lw4mdD8gzPmD0YfinEUqvpi4WlGhEnQMRITJDIfiD6l41+Kyb9m3GrKCEUPCQZpw0L4Y4PoZallSRQzonkde438c0xARjsFqo2UArURvVqkrg2iV4zaIwTosJqxhcczpdQVlNHMQC02TY00XqL4Y2AsZtQS9sEqspgxJQP1VEYdTCinFM4lx0gSJIRAAsUAAZrM5ugnvf8Bb0rwTh5TJ8wAAAAASUVORK5CYII=";
+const _imports_6 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAlCAYAAADFniADAAAE/klEQVRYR8WYWWyUVRTHf2eWdjozbWcpdJnSImsMKAEBARMFBTQR1BBAeSEQIAgalRhfiMZADE8uaFQ0QQgabVGCBGgMkCghAWNEdgTpA0HaKaWd6bSdTtvZrvk+6EJhOlvB+/Zlzvmf37333HPPXGHAUEqJN8BCFEtRTFFCiShMA+0y/VZCDEWTwAUR9pY6qRaRaH896f9R16bGSYTvFUzNNGgGfrUCKzxuOdHj2wvV0KqmxWIcRuHIQDg7FyEswhKPU/ZrQjpUXZtyE+EcUJadeubeAh1iZmpZgVy+BeVTW4E3M5ccGk8RDnpcslCUUrleP00K8odGOjsVgQppaFFzYnF+zU5q6LwF1khdi1pBnJ1DJ5udkgE+EG+LeiMe59N0pHb/0sxIj4XHH7UndKuqaWZMpYVpExPb3MtZ4LOMoD7Z5WVUuYUXn3ElhPpoh5fxo/JYMNuZzny1cpA6VLM/yqWrIVpaY5y9HKTAbuKhckvCgGcuBXEUmPQVLbAZGTvSgqc4JylgylCnL3Xw8xEfRqPgyDfhC0TIMQn59sS3j68lQk6OgXybkfaOGJ3dcebOcjBnesGgYClBaYIf7vQyYbSVRfPdmIyQ7vYpBYePBzh2so31y0oGXbGUoM5fCVFV08TGtSOwWw36LI+faqekyMzoisTbp9mUDs9hVHmu7qOBbd52nSenFg66WilBnTjdzsGjfrZsqEyaD8kMUkn+tKA2vV6RLOagv4e64mz9zsusyQXMm1mY0DYtqKyIbjvn5RpZt6yEImfiA5IW1JLnirLiMhlFr22223mZSCwtqHRy6tw/IWqvddLkj1LkMjG2Mo9J460pTWrIobq7FT/UNOlAnuJchrvM3PRHqG/s1sGWLRiGJeeOZvcu0LSgKkr7jr/RCAvnuPSy0H/sOezjYm1IDz6u0qKXARGovdalw2q1bvGz7uyLZ09JmPxw38VqMMIzMxw48o29AbRr6ONd9bw01830R+z61n1VfYONa8vRJvHnhaB+K2xY7mGYe4gSPVlOnfq7gz2HfLy3fgR5ucL1hjDbqht4Z5UHu9VILA6bv7jO4vlupkywZVcSfj/TzoHfkhfPP84GOXDUz/uvVWA20QulRS/MN/H2Sg+bPv+X52c7mTEpcZObUk5dvtrJt/tu8tbyMoa778yh/tOtuxHmy6oGViwq1vMpElE0t976O2ezGGj0Rdi5t5F1r5QyojRxt5ASVDis9AvYbjPywtMuipxmPXl7hlZ/tEtaS+qvdzcSDMVYs6SYwn751hqMsf3HRqxWA6++XHKH/8B9TAlKc6pvDFNd04yvNXJXLpjNBt5dW47ZLPgCUbb/1Eh3OM5jE+0Mc5ppaonw14Wg3sasXlw8aDXXxFOG0oyjMfDeDBNoi6L6oVktBsZW9pWLrrDiyPEAV6514g9EcTtMjKnIY94TDv0AJBs6VH1ArVIxticzzuT3njqVlq+wRbwBNT8e41BajvfTWFgvN5SyRf00A4k7tvsJMUA7x8Q4fZPrfWqHgpUPMPY9Q4lwzOOSp3QoX0iVd3Zx/n95cenBEyIGA7PKHHKy9zjouRVnP4pbTfUDHCIoDKzxOOSb22WhL3qdT80UoUopsm/IU5yUCD4RVpc5ZV/fog1w1l9hWlilYKloz4v34TVGIKTgokHYa4FtLpe09sdIWs2UUnnNDN2bZwziJSIdgy3kf5DfUfMqCzyiAAAAAElFTkSuQmCC";
+const _withScopeId = (n) => (pushScopeId("data-v-89282645"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "user" };
+const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "user",
+  class: "user-image"
+}, null, -1));
+const _hoisted_3 = { class: "user-name" };
+const _hoisted_4 = { class: "user-name" };
+const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_6 = { class: "user-content" };
+const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_1,
+  class: "head-image"
+}, null, -1));
+const _hoisted_8 = { class: "col" };
+const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "space" }, null, -1));
+const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_2,
+  class: "head-image"
+}, null, -1));
+const _hoisted_11 = { class: "col" };
+const _hoisted_12 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "space" }, null, -1));
+const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_3,
+  class: "head-image"
+}, null, -1));
+const _hoisted_14 = { class: "col" };
+const _hoisted_15 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "space" }, null, -1));
+const _hoisted_16 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_4,
+  class: "head-image"
+}, null, -1));
+const _hoisted_17 = { class: "col" };
+const _hoisted_18 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "space" }, null, -1));
+const _hoisted_19 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_5,
+  class: "head-image"
+}, null, -1));
+const _hoisted_20 = { class: "col" };
+const _hoisted_21 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "space" }, null, -1));
+const _hoisted_22 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_6,
+  class: "head-image"
+}, null, -1));
+const _hoisted_23 = { class: "col" };
+const _hoisted_24 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "space" }, null, -1));
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "head",
+  setup(__props) {
+    const userStore = useUserStore();
+    onMounted(() => {
+      userStore.info();
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock(Fragment, null, [
+        createBaseVNode("div", _hoisted_1, [
+          _hoisted_2,
+          createBaseVNode("div", null, [
+            createBaseVNode("h3", _hoisted_3, toDisplayString(_ctx.$t("stepForm.head.admin")), 1),
+            createBaseVNode("h3", _hoisted_4, toDisplayString(unref(userStore).userInfo.username), 1)
+          ])
+        ]),
+        _hoisted_5,
+        createBaseVNode("div", _hoisted_6, [
+          createVNode(unref(Layout), null, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "center",
+                class: "margin-bottom"
+              }, {
+                default: withCtx(() => [
+                  _hoisted_7,
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_8, [
+                        createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.recruitment.department")), 1),
+                        _hoisted_9,
+                        createBaseVNode("div", null, toDisplayString(unref(userStore).userInfo.department), 1)
+                      ])
+                    ]),
+                    _: 1
+                  }),
+                  _hoisted_10,
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_11, [
+                        createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.recruitment.type")), 1),
+                        _hoisted_12,
+                        createBaseVNode("div", null, toDisplayString(unref(userStore).userInfo.employeeType), 1)
+                      ])
+                    ]),
+                    _: 1
+                  }),
+                  _hoisted_13,
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_14, [
+                        createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.recruitment.position")), 1),
+                        _hoisted_15,
+                        createBaseVNode("div", null, toDisplayString(unref(userStore).userInfo.job), 1)
+                      ])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "center",
+                class: "margin-bottom"
+              }, {
+                default: withCtx(() => [
+                  _hoisted_16,
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_17, [
+                        createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.probation.start")), 1),
+                        _hoisted_18,
+                        createBaseVNode("div", null, toDisplayString(unref(userStore).userInfo.probationStart) + " ~ " + toDisplayString(unref(userStore).userInfo.probationEnd), 1)
+                      ])
+                    ]),
+                    _: 1
+                  }),
+                  _hoisted_19,
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_20, [
+                        createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.start.date")), 1),
+                        _hoisted_21,
+                        createBaseVNode("div", null, toDisplayString(unref(userStore).userInfo.protocolStart), 1)
+                      ])
+                    ]),
+                    _: 1
+                  }),
+                  _hoisted_22,
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_23, [
+                        createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.probation.period")), 1),
+                        _hoisted_24,
+                        createBaseVNode("div", null, toDisplayString(unref(userStore).userInfo.probationDuration) + toDisplayString(_ctx.$t("stepForm.probation.day")), 1)
+                      ])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          })
+        ])
+      ], 64);
+    };
+  }
+});
+const head_vue_vue_type_style_index_0_scoped_89282645_lang = "";
+const head_vue_vue_type_style_index_1_scoped_89282645_lang = "";
+const headtop = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-89282645"]]);
+export {
+  headtop as h
+};
diff --git a/admin-website/src/main/resources/static/assets/home-down-1ba808d1.js b/admin-website/src/main/resources/static/assets/home-down-1ba808d1.js
deleted file mode 100644
index 35bab01..0000000
--- a/admin-website/src/main/resources/static/assets/home-down-1ba808d1.js
+++ /dev/null
@@ -1 +0,0 @@
-const A="/ui/admin/assets/home-main1-6952b2e4.png",a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABP0lEQVQoU32Rv0vDQBzF38spTRBBcGtNcbKLOjgJCqJTJ3XwH9DNooJuOjm5qUhsRx07Ce3qqEMnEcRJHIpRwR+DIG0abPKV1CbEVrzl7t7d5/u+944iIAlBezSOUyNCVaJ4i/ra012ohzPjQM0yk5pCBWAaQNX3ZKpv3X6OQww3cjg80Eh4lwBHIw1yY7hqhpvVj8ghWNgHQ8ZgQjsnMd3ZAkQu3l3JmluPTnDWcqjnzRLJha7LbYHAmZ57WIqARiGZodajIDLuC4sxcEfTUJam1wwDiN7QciqkJglVifr1vUxnUr+AmmXOa4rlH0BujZw91hVrXHAK6W0Ae21gxcjZp/8C9Xz6isREkIz+Zs9yF34caP1ZKDiWuQzFEwLXX3Sz/asvr53VI+DTSs31KrXvi180PP2IG/fuXxEHwDfMeXQKr4imkAAAAABJRU5ErkJggg==",i="/ui/admin/assets/home-main2-404e277f.png",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABOUlEQVQoU33RPS9DURgH8P9z7hWRGMylL5MOwmAit1rdGomLRux8CyaTyeQDMDaRCKeNGCzNzaUTEjGJoVokTDaanHseOVfKdaM908l5/r/z8hxiBhVq6SKAXSZUhq2BvbOFhw56DDKACJyrJdcFi30AN0p9li7Lr2//GYou5qvpKwDTAHvedauIbeg4+gPmZGaTiHdMSJPe8BfbB31BXiZdkJDfIb7z3NZkX+BUMzMWuNENaaWyfvn5PorCKzkykRVsW7B5irSodAPMvAWGZB2oLgxBvpaSYHJ7tRLAkec+rpp6CGYPx4bsQXFORE4cMbOnOrrUWHv6+AFmMn+cGQks7RNoIoJuRUCF+krzPWyD+bPojo5MJgSJBgEpAM2AtXOx1H75fVMMmELudHRcBPaJVmo53iFzwhc8eHkK6yuMVQAAAABJRU5ErkJggg==";export{A as _,a,i as b,s as c};
diff --git a/admin-website/src/main/resources/static/assets/home-down.js b/admin-website/src/main/resources/static/assets/home-down.js
new file mode 100644
index 0000000..63e1feb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/home-down.js
@@ -0,0 +1,10 @@
+const _imports_0 = "/ui/admin/assets/home-main1.png";
+const _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABP0lEQVQoU32Rv0vDQBzF38spTRBBcGtNcbKLOjgJCqJTJ3XwH9DNooJuOjm5qUhsRx07Ce3qqEMnEcRJHIpRwR+DIG0abPKV1CbEVrzl7t7d5/u+944iIAlBezSOUyNCVaJ4i/ra012ohzPjQM0yk5pCBWAaQNX3ZKpv3X6OQww3cjg80Eh4lwBHIw1yY7hqhpvVj8ghWNgHQ8ZgQjsnMd3ZAkQu3l3JmluPTnDWcqjnzRLJha7LbYHAmZ57WIqARiGZodajIDLuC4sxcEfTUJam1wwDiN7QciqkJglVifr1vUxnUr+AmmXOa4rlH0BujZw91hVrXHAK6W0Ae21gxcjZp/8C9Xz6isREkIz+Zs9yF34caP1ZKDiWuQzFEwLXX3Sz/asvr53VI+DTSs31KrXvi180PP2IG/fuXxEHwDfMeXQKr4imkAAAAABJRU5ErkJggg==";
+const _imports_2 = "/ui/admin/assets/home-main2.png";
+const _imports_3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABOUlEQVQoU33RPS9DURgH8P9z7hWRGMylL5MOwmAit1rdGomLRux8CyaTyeQDMDaRCKeNGCzNzaUTEjGJoVokTDaanHseOVfKdaM908l5/r/z8hxiBhVq6SKAXSZUhq2BvbOFhw56DDKACJyrJdcFi30AN0p9li7Lr2//GYou5qvpKwDTAHvedauIbeg4+gPmZGaTiHdMSJPe8BfbB31BXiZdkJDfIb7z3NZkX+BUMzMWuNENaaWyfvn5PorCKzkykRVsW7B5irSodAPMvAWGZB2oLgxBvpaSYHJ7tRLAkec+rpp6CGYPx4bsQXFORE4cMbOnOrrUWHv6+AFmMn+cGQks7RNoIoJuRUCF+krzPWyD+bPojo5MJgSJBgEpAM2AtXOx1H75fVMMmELudHRcBPaJVmo53iFzwhc8eHkK6yuMVQAAAABJRU5ErkJggg==";
+export {
+  _imports_0 as _,
+  _imports_1 as a,
+  _imports_2 as b,
+  _imports_3 as c
+};
diff --git a/admin-website/src/main/resources/static/assets/home-main1-6952b2e4.png b/admin-website/src/main/resources/static/assets/home-main1.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/home-main1-6952b2e4.png
rename to admin-website/src/main/resources/static/assets/home-main1.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/home-main2-404e277f.png b/admin-website/src/main/resources/static/assets/home-main2.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/home-main2-404e277f.png
rename to admin-website/src/main/resources/static/assets/home-main2.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/home-mainup-790fbb5c.png b/admin-website/src/main/resources/static/assets/home-mainup.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/home-mainup-790fbb5c.png
rename to admin-website/src/main/resources/static/assets/home-mainup.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/hwcClient.service-353ee9fe.js b/admin-website/src/main/resources/static/assets/hwcClient.service-353ee9fe.js
deleted file mode 100644
index 5535dc3..0000000
--- a/admin-website/src/main/resources/static/assets/hwcClient.service-353ee9fe.js
+++ /dev/null
@@ -1 +0,0 @@
-import{H as a}from"./index-387d5142.js";function i(e){return typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"}class o{static getErrorMessage(t){return this.convertToCommonError(t).message}static convertToCommonError(t){if(i(t))return t;try{return new Error(JSON.stringify(t))}catch{return new Error(String(t))}}}class m{static async apiRequest(t,n,s){try{const r=await a.apigClient.exec(s.apigGroupName,s.apigName,{query:{fn_name:t},body:JSON.stringify(n)});return await(r==null?void 0:r.json())}catch(r){return o.getErrorMessage(r)}}}export{m as H};
diff --git a/admin-website/src/main/resources/static/assets/hwcClient.service.js b/admin-website/src/main/resources/static/assets/hwcClient.service.js
new file mode 100644
index 0000000..55d8e82
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/hwcClient.service.js
@@ -0,0 +1,39 @@
+import { H as HwcClient } from "./index.js";
+function isCommonError(error) {
+  return typeof error === "object" && error !== null && "message" in error && typeof error.message === "string";
+}
+class BaseUtils {
+  static getErrorMessage(error) {
+    return this.convertToCommonError(error).message;
+  }
+  static convertToCommonError(error) {
+    if (isCommonError(error)) {
+      return error;
+    }
+    try {
+      return new Error(JSON.stringify(error));
+    } catch (e) {
+      return new Error(String(error));
+    }
+  }
+}
+class HwcClientService {
+  static async apiRequest(fnName, params, apigInfo) {
+    try {
+      const response = await HwcClient.apigClient.exec(
+        apigInfo.apigGroupName,
+        apigInfo.apigName,
+        {
+          query: { fn_name: fnName },
+          body: JSON.stringify(params)
+        }
+      );
+      return await (response == null ? void 0 : response.json());
+    } catch (error) {
+      return BaseUtils.getErrorMessage(error);
+    }
+  }
+}
+export {
+  HwcClientService as H
+};
diff --git a/admin-website/src/main/resources/static/assets/image-error-5c216be9.jpg b/admin-website/src/main/resources/static/assets/image-error.jpg
similarity index 100%
rename from admin-website/src/main/resources/static/assets/image-error-5c216be9.jpg
rename to admin-website/src/main/resources/static/assets/image-error.jpg
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/img_log-91d78d72.png b/admin-website/src/main/resources/static/assets/img_log.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/img_log-91d78d72.png
rename to admin-website/src/main/resources/static/assets/img_log.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/index-02868dd0.js b/admin-website/src/main/resources/static/assets/index-02868dd0.js
deleted file mode 100644
index e9ee1dc..0000000
--- a/admin-website/src/main/resources/static/assets/index-02868dd0.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as x,a8 as C,r as B,a0 as R,c as j,u as g,y as h,H as l,W as t,l as e,v as D,N,M as E,k as q,w as b,J as $,E as w}from"./vue-fdfdc7c1.js";import{I as v,n as J,T,_ as I,u as L,B as k}from"./index-387d5142.js";import{g as _}from"./time-ae4bc627.js";import{h as M}from"./head-3486dd8f.js";import{R as c,C as i}from"./index-c544811c.js";import{D as V}from"./index-ebd49e8e.js";import{F as u,a as z}from"./index-71dedec5.js";import{S as H,O as P}from"./index-51ecf215.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-10398010.js";const W=x({__name:"set-from",setup(U,{expose:m}){const d=[{value:"1",label:"social recruitment"},{value:"2",label:"scholl recruitment"},{value:"3",label:"Job transfer"}],a=C({filterOptions:{},department:"",position:[],type:[],date:[],during:"",startTime:"",endTime:""}),p=B(),{t:O}=R(),r={required:!0,trigger:"blur"},f={required:!0,message:"必选",trigger:"blur"},y=j(()=>({department:[r],position:[r],type:[f],date:[r],during:[r],startTime:[r],endTime:[r]})),S=()=>{var s,F;const n=(s=a.filterOptions.startTime)==null?void 0:s.getTime();((F=a.filterOptions.endTime)==null?void 0:F.getTime())<n&&(a.filterOptions.endTime="",T.message({message:O("userInfo.time.message"),status:"error"}))};return m({setData:()=>a,setFormValid:()=>{let n=!1;return p.value.validate(o=>{n=o}),n},setReset:()=>{a.filterOptions={}}}),(n,o)=>(g(),h(t(J),null,{default:l(()=>[e(t(z),{ref_key:"setFormRef",ref:p,model:a.filterOptions,rules:y.value,"label-width":"150px","label-align":!0,"label-position":"left",size:"small"},{default:l(()=>[e(t(c),{flex:!0,justify:"left"},{default:l(()=>[e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.department"),prop:"department"},{default:l(()=>[e(t(v),{modelValue:a.filterOptions.department,"onUpdate:modelValue":o[0]||(o[0]=s=>a.filterOptions.department=s)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1}),e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.position"),prop:"position"},{default:l(()=>[e(t(v),{modelValue:a.filterOptions.position,"onUpdate:modelValue":o[1]||(o[1]=s=>a.filterOptions.position=s)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),e(t(c),{flex:!0,justify:"left"},{default:l(()=>[e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.type"),prop:"type"},{default:l(()=>[e(t(H),{modelValue:a.filterOptions.type,"onUpdate:modelValue":o[2]||(o[2]=s=>a.filterOptions.type=s),placeholder:n.$t("baseForm.form.label.placeholder")},{default:l(()=>[(g(!0),D(E,null,N(d,s=>(g(),h(t(P),{key:s.value,label:n.$t(s.label),value:s.label},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.date"),prop:"date"},{default:l(()=>[e(t(V),{modelValue:a.filterOptions.date,"onUpdate:modelValue":o[3]||(o[3]=s=>a.filterOptions.date=s),"unlink-panels":"",type:"daterange","range-separator":"-","start-placeholder":n.$t("userSetting.first"),"end-placeholder":n.$t("userSetting.last")},null,8,["modelValue","start-placeholder","end-placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}),e(t(c),{flex:!0,justify:"left"},{default:l(()=>[e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.during"),prop:"during"},{default:l(()=>[e(t(v),{modelValue:a.filterOptions.during,"onUpdate:modelValue":o[4]||(o[4]=s=>a.filterOptions.during=s)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1}),e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.startTime"),prop:"startTime"},{default:l(()=>[e(t(V),{modelValue:a.filterOptions.startTime,"onUpdate:modelValue":o[5]||(o[5]=s=>a.filterOptions.startTime=s),onBlur:S},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),e(t(c),{flex:!0,justify:"left"},{default:l(()=>[e(t(i),{span:5,"label-width":"100px"},{default:l(()=>[e(t(u),{label:n.$t("userSetting.endTime"),prop:"endTime"},{default:l(()=>[e(t(V),{modelValue:a.filterOptions.endTime,"onUpdate:modelValue":o[6]||(o[6]=s=>a.filterOptions.endTime=s),onBlur:S},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model","rules"])]),_:1}))}});const Y=I(W,[["__scopeId","data-v-0e48261b"]]),A={class:"container-set"},G={class:"general-card"},K={class:"general-top"},Q={class:"general-contain"},X={class:"general-btn"},Z=x({__name:"index",setup(U){const{t:m}=R(),d=B(),a=L();function p(){d.value.setReset()}async function O(){let r=d.value.setData();if(d.value.setFormValid()){let f={department:r.filterOptions.department,job:r.filterOptions.position,employeeType:r.filterOptions.type,probationStart:_(r.filterOptions.date[0]),probationEnd:_(r.filterOptions.date[1]),probationDuration:r.filterOptions.during,protocolStart:_(r.filterOptions.startTime),protocolEnd:_(r.filterOptions.endTime)};await a.updateInfo(f),T.message({message:m("baseForm.form.submit.success"),status:"success"}),p()}else T.message({message:m("baseForm.form.submit.error"),status:"error"})}return(r,f)=>{const y=q("Breadcrumb");return g(),D("div",A,[e(y,{items:["menu.user","menu.user.setting"]}),b("div",G,[b("div",K,[e(M)]),b("div",Q,[e(Y,{ref_key:"setFormRef",ref:d},null,512),b("div",X,[e(t(k),{type:"primary","native-type":"submit",onClick:O},{default:l(()=>[$(w(r.$t("userSetting.save")),1)]),_:1}),e(t(k),{onClick:p},{default:l(()=>[$(w(r.$t("userSetting.cancel")),1)]),_:1})])])])])}}});const be=I(Z,[["__scopeId","data-v-1616658a"]]);export{be as default};
diff --git a/admin-website/src/main/resources/static/assets/index-0533ebac.js b/admin-website/src/main/resources/static/assets/index-0533ebac.js
deleted file mode 100644
index f14afd0..0000000
--- a/admin-website/src/main/resources/static/assets/index-0533ebac.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as h,a0 as g,r as y,k as B,u as i,v as u,l,w as e,E as n,z as b,H as c,W as s,J as m,Z as k,_ as C}from"./vue-fdfdc7c1.js";import{T as d,B as _,_ as F}from"./index-387d5142.js";import{T as I}from"./index-694a71ab.js";import"./chevron-up-775d40e5.js";const S="/ui/admin/assets/error-8553e43d.png",N=r=>(k("data-v-3543871e"),r=r(),C(),r),T={class:"container"},$={class:"content"},x={class:"content-main"},E={key:0,class:"result-alert"},V=N(()=>e("img",{src:S,alt:"error"},null,-1)),w={class:"result-btn"},z={class:"result-line"},D=h({__name:"index",setup(r){const{t}=g(),a=y(4);function p(){a.value<4?(a.value+=1,d.message({message:t("menu.result.messageSuccess"),status:"success"})):(a.value=4,d.message({message:t("menu.result.messageEnd"),status:"success"}))}function v(){a.value===4&&(a.value=0)}return(o,H)=>{const f=B("Breadcrumb");return i(),u("div",T,[l(f,{items:["menu.result","menu.result.error"]}),e("div",$,[e("div",x,[a.value===4?(i(),u("div",E,[V,e("div",null,[e("div",null,n(o.$t("menu.result.messageError")),1),e("div",null,n(o.$t("error.result.title")),1)])])):b("",!0),e("div",w,[l(s(_),{type:"primary","native-type":"submit",onClick:p},{default:c(()=>[m(n(o.$t("error.result.home")),1)]),_:1}),l(s(_),{onClick:v},{default:c(()=>[m(n(o.$t("menu.btn.cancel")),1)]),_:1})]),e("div",z,[e("div",null,n(o.$t("menu.line.process")),1),e("div",null,[l(s(I),{data:[{name:s(t)("stepForm.start.coaching")},{name:s(t)("stepForm.immediate.supervisor")},{name:s(t)("stepForm.overall.goals")},{name:s(t)("stepForm.overall.summary")},{name:s(t)("stepForm.overall.end")}],active:a.value,type:"normal"},null,8,["data","active"])])])])])])}}});const W=F(D,[["__scopeId","data-v-3543871e"]]);export{W as default};
diff --git a/admin-website/src/main/resources/static/assets/index-068746c6.js b/admin-website/src/main/resources/static/assets/index-068746c6.js
deleted file mode 100644
index d1ad780..0000000
--- a/admin-website/src/main/resources/static/assets/index-068746c6.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as w,u as p,y as x,H as d,W as l,l as a,w as e,E as s,Z as k,_ as m,a8 as I,j as Q,r as S,a2 as N,v as h,M as f,N as b,k as D}from"./vue-fdfdc7c1.js";import{C as u,R as V,L as U}from"./index-c544811c.js";import{n as y,_ as B,q as C}from"./index-387d5142.js";import{O as Z,S as K}from"./index-51ecf215.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-10398010.js";const j="/ui/admin/assets/woker-58473cfe.png",E="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAA0UlEQVRIS2M0jHvl+e8f4yyG//9lGIgBjIxPmJj+p51fJLYdWbl+9Kv/RGnXj3n9mGjLYCYyMj65uERUljwLiXQZuusvLhVjHJoWorsc5gv0OKKaD0cthAXxaJDiKgQYiS0hCOVDYkoZkJoBsJCcoo2BgQFX9iHkU0aSC2+oiWRbSMhFuORJjntoLYNSAJNiOckWglMM4xP6WgiykxRfkVMdoZtPdLYgVJQRW+iPWgiPgtEgpXuiITZ7US2V0t5CcmoZUNFGbJmIHkck1zLQwhsA3xTnTytjJ1oAAAAASUVORK5CYII=",Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFAUlEQVRYR82YfUyUdRzAPw/cCwLH5SGCmOfAyAmuSCfOF5opTCk1bZhhNiNfSpoTNYr5ksylmWVgknMa6lpmjRaZiMrEmk1ts2VYVC5LhBMEOY578UDv5Wl3gvHcCXeEOJ7/nj2/3/f7eb7vv5+Ax9NcI44WRZYAqYAWkVDPNb18NyNQC5QDn4QPF6o6yxM6XkRRVBiuko/Aa6JIQC+V+rVdEHAisGvgMFYLgmBzbXIDtcMcF+EpvyTd70UCFRotaS4oN1BztfixCFn3W09P5AkBFGq0wgrBFTOIVD4oN3UFKQg4RHhc0F8VCxBZ2ZO/6cO1+YK+WvwdGNWHSvwWLQhUuSxkQSTE1y6rUaRotZ5L524xYqyCxR+GExbhnYxVp29xcIOBm0YnM5apSMtS+RLd+bvZZSHRnx1fvtPCheOtzH1DTWmhiUfGKln03kDJVqcdssdcIzF1ANoEBV9sMrDum0hiEhX+qEAQEP0Gyl94g4fjFcxbq6Z0p4nKk22sOzxYokhf6+Ct5Do2fzeEyBgZb06sZ9bKMJLn+3SAW45PIL3OwaE8AzVVNkxNDlIWq0jPVXO00My3BUZUmkAJkMMhYtY7ePd0NBHaQHIn17tdp4mSkbwghJTM7ou+T6Ct6Y20mkWS5oRyttjC6CeDyMhTU7LdxLmvrUx9OUwCZDU6KSs0sPnUECJjZaxJqiduXBDqwYGcOmAi+9MIEpKVXbrPJ9CyWB0Ltgxi5IQgyncbuVhh5ZnXwzix10zsGCWz13jEkAO2za3j0fFKho5SULqjheV7oogeKWdvViOJKUHMXiX9CUkf6zaGRFgSU0tm/mC38ttWkcPvG/jnlza0CUrm5AxkgNo7y6orb1G2owWr2cmk+SompN9x077sG8RPVDA3R/0/LeQB5CnF1iZid7dD6SNTCsjvkVR9DvTD52Yun2/1AkqcHsITM7yzqs+BLp9vo6nGfheosdqGXmdjckYYcUlBXqB9DtRZoyu7SrY1u2MrecG9K/MDBaooMtLwt415G8ORK+/OfBIrHVzbRMIkZbetpPu09xHUHdpcbjuS30xXsdOxzmkXiY4RELqZRe8LUEdwP5cbjjpSWrmdDjhXbOaPM63odXai4+QkzQxmysKQ9llVGmq9BnIpPLShCUWQwLy3w6VtxA77sxtpqrW7W0ZUrJxrl2xUHDATN07JiqJBXtbqNVBzvYPD2/QMi1eSslRa8Cr2mfj5qIWNZVHoLtk4U3yTZR9puFHjYNPM6zybrSblFWlv6zVQ/V82fiq1MHy0ksdSgyUWKnjxOtOXhjJ1USg/llj5/qCF3K/uTAdHdpi4eMp7Wug1UFc9wGGHvGk6cg5FMHKC0g1U8oGRaYtCmZapovJkK/tzmtn521CJCJ/NdWViHckZKia90KOpz62kIKOetOVhTHkphIYrdo7tMhMoh+fXP8TJIgsXyq2sPxLZM6ATe8wUb2lBM0RGgOze9cXTSq46lJkfwdliM5XlVjaWRRKq+S/XDXUO8tIaeDpLxfRXpT/q00IuZVd/tVFTdRvR2WWTlnxwNdfxs4Pd67emN9By3UHqUpU7y3R/2ijfa0YbL2fVZxEESKtE+8To55DvH450lf02HNtt4sKJVhqv2IkaISNpVrB78vSEad9p6pfHoP51UOx3R2mX7/rVZYMLqN9dx3SC6h8XVp2Ttc+v9AQsQE1XV3r/Ahkdh5YlQ8AtAAAAAElFTkSuQmCC",H="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAAFpUlEQVRYR82Ye2xTVRzHv6e3vb3r3l23jo6xTJ5uDAgQlBCRiUOYYBRf4WGCQaNEhKCRP3wkJhIfmICMSEQIEkgQoqhTosAAISIhDoQ9GAgZsKFl6x5tV9q79t7eY87d1q7Zym3r1J3/7j2/x+ec8zu/8zuHYJBGPQ0TIQdfAKVlAEYBNGUwucT/EQ9Am0FIFfTcTpJafKm/LdL/g9J6Hm66GZS+DEp1iTuNQ5MgCJBtyCh5nRAiMc0QlArkCh4GRWkcJodOlJBjyCgpZ2BhqM6abQBWDZ2XBCwRspVkTlqjQtHO2hIQXPzPliwaL1tKPTepB8pZWwFKX01gbEOvQsimvpm6DNAJ8XigAQ/E5lMQm05Bcl1H0NfGhgd9ykjo00bCmDsVyWMXgvCp8ZhlsvW9UDVeAKZYtKkkwlO3B576PaCKDME2E3x2EThTjqoud92E5GpCoPUCaDAA0+gFSJ++GjohMxbzTMZNKNv6ztpgLBqy8zraqtZC8XchbfJKpNz7NIghaVBVBu/94xt46veq/VmlH4K3TtF2Q4gSMxQbedvRteDN45A19+PYRx4MoOPk2xCbfoZ5znsw3TMfVPbDbz8LYdSDAyFjhQp6W9D63TIYc6chq/R9QKcfYIz6XaCyCMIZQYyZAOmflylcZz6C91olchbtRsBRC/eFnbAtOZI4lOPQ86BSN3IWfQGiF8KGFBmy4zzkjkugEgvLnkY4AZx5AvTW6SD68PK2V70GyXkNnJAJQ9Z4ZM56KzEosekEOo69AeviAzBkjgkZoYEu+Bu/B/U7o8YJMSSDL1wIXe8mYDPecvBJKJKInAWfwWibkRhUa+UyGNILYZ6zIWyAKvBf/QqK6AjPjtEMImRCcTdGOGIpwTh+KQjHq//VnVuzC7ZlJwAyyPGqFVNsZPb95cgp/xzGEdNDzqSWasgtZyOc85PXQZcxDt2/rAWUQESfPqsYhvyHQv+Ubmf0jaIF5b1yEK7qCuQtZ6PieowqMsS6HQCVIxwbp70JXVohxNPrAOnOgGURileAGGJIpFpQ7uot8LdcUHdMX1M8zfA3Vg5wqgXFZorNmGbTguo89Y6aU7LmbgzZYjtNunUifqjcGdDn3qfqsR3ot59DSvGS+ANdvHkMhEuCkD8rDNV5BVJzVVQoufU3INAF6eYhQA6nCcOImWqKYK3r9+3quWl9fF/8UINNNfU50H31wIAuvuQVcJbwMeKv3QqlozYkxxeWg0sfrX47f92AoNcBy7yKoYFiVrobdoNVCRFNx6uBzopZGhRBPU3hbp0eQvHKUFpw/LACvKUIGTPXJwbla/xJPV645J4qgLWg+wYCNw5pxmyfgCFvDvTZJeqnInbCvq8MlkcqIIwMh0XImFagqwa+nAchfzYsZZsiIKSmKsjOK5pguuQ8GMcuDsl5anajq3YX8pYeBzhD/DPlvfw1nGc+AAUdkEChBBH48ySCnQ1Rwbi0QhgK5oWWjS25/cBCpJYsR9qUFwfX05qpth9fUqtI2WOH0u2C9bE9A0aneG9Dbq+H4rODSj71ANaZrODMReDSCiIcdxxfD7/jIkY8VRm1DoMW1O3989XijEuxofXbZ2DImgDLw5ujG7zLYrrPbYWnbi9yyneAt06OLqkF1V8z4KhD+9E10KcXwFL2CXRChmY8MQGWfFkK8DUehnn2uzCNefTuevFAMUuyuwltR1aDHagpRc8ideJz0eEUGb7rh+E+/ymUgA+WuRthtPVk9Ls2BqWOpjO+i0NXzQ7cubRfrS4F2/3gs4vBmbJ70oWvTT1GxFunwer05PFPIH3qKuiSzFo4ff3uf3TFYjPR/Vc1Au0NUFixR6kKp0/Lh5D/AJIKSiPyW4xUvVcsZ80WUKyJUenfFet3GR1+1/beuBpeDxwq1HB8CgqBDadHs/7R+38/L/4N5KPf/8UG78EAAAAASUVORK5CYII=",P="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADsklEQVRYR9WYW2gUVxjH/9+Z2XF3za4mkkSzRhERognaYmlUBNHFG4jggxe0ikgRihaT9KG0IFoKLT6YRNpSEBHxhpcHodRLK6svQrRU1JLogpRis1t3U4xxN252Z2fOkRnJJGuy2VlcdTxvZ+Z83/md73LOdw7hlSYeP6mHrn8KwVeAaBqEKHt1zGv1ifohxL8g9jsk6QhNmdQ1XB8NdoQQCiI9rSB8BiHYa01qV5iIQ+BnTK1qISLVEDOBTJho/DIEltnVVdJxhGsIVK82oF4Cdcd/BMSukk5StDL6iWqrd9PLmNH+emtuygdquE+S55KI9LRB8KaiF/QmBIi1k+iOGVE+pxj9IhFD9v5VaOHr4L2PwBNxU5z5q8EqpkOuWwrXnOUg/+Ri1Bpj75OIxJN2U1skepAOtSH753kIwSFVzYI0pQ7krzYnFok49Mdh6D0PQcTg+mg93MFmkL/KHhhRv2EhYWe09iCE1LkmQM9CWbgNysdbwCZNH1WUP3kE9Y9TUDuOA5IL3g3tkGcH7UwDW0BqxzGkf/0WUmAevJt/AE0M2FIu+qJInf4cevQe3Gv2Qlm4vaBcQSDTMid3Qq5fBe+GNkBWCirNGaCpSJ1rhtZ1Bd5PDhe01JhARswk24KQKmdh/M4zuTCcQ4tFwZ/2QqQHTAZye8DKKyBPDgBs2GavqXh+eBP0/x/C1xwaM6bGBBq48BWydy7A1xLKcRNPPoP2z9/gmfSo1mLj3JBnzATzTbD+G+5Ltgbh+nAdPOu+z2vlvEBGaicPLIayeAfcq7+2FBgw2XAXCmWCcQS46upzoNKXv4N64yh8X97IuyXkBVJvnsDAL/vg++L6UDZxDrXzbq5lPB6QxwPR2zti1YallIYPLPcZ2Zc8uBSetd9AWbB1VCvlBUod2wHeF0VZ02+WoPZfN7Rod44i16JFYJWVyFy8CGjaiEnkQC3kmlrre3/7SrCJAXi3Hy0OqL81CCnQAM/GQ5ag2nUPPPU8R5GyZAlYRQXSly4BmcxIK3nHQ6mfZ30fOLsHerQTZS2h4oAS+xugNG7OiZ/M7ZsQnBcFRIxh3PwFlowZR7dOw7+/8z0HKtZleiQCkclAC4cB1Sz+zMZK5TLbQd3YCKmmZijOOjrAYzGrX7Kgtp32kgRWXm4CCE2D6Osbsk4p095xG6OxTEcdHaYLnHa4GlCOKj8Go9NRBdog1NsrYR1Y5DvtGuS0i6LTrtLmfuOkxwYTyGnPMRaUUx6shpdu7/pJ7wUKGa1nPNRZtgAAAABJRU5ErkJggg==",A=o=>(k("data-v-dec666ba"),o=o(),m(),o),T={class:"col"},W={class:"title"},J=A(()=>e("img",{src:E},null,-1)),L=A(()=>e("span",{class:"plan-pass"},"1890",-1)),M={class:"num"},q={class:"col"},z={class:"title"},X=A(()=>e("img",{src:Y},null,-1)),$=A(()=>e("span",{class:"plan-pass"},"23",-1)),ee={class:"num"},se={class:"col"},te={class:"title"},ne=A(()=>e("img",{src:H},null,-1)),le=A(()=>e("span",{class:"plan-fail"},"113",-1)),ae={class:"num"},oe={class:"col"},de={class:"title"},ie=A(()=>e("img",{src:P},null,-1)),ce=A(()=>e("span",{class:"plan-pass"},"56",-1)),re={class:"num"},ue=w({__name:"learn-plan",setup(o){return(n,v)=>(p(),x(l(y),null,{default:d(()=>[a(l(V),{flex:!0,justify:"center"},{default:d(()=>[a(l(u),null,{default:d(()=>[e("div",T,[e("div",W,[J,e("span",null,s(n.$t("work.index.plans")),1)]),e("div",null,[L,e("span",M," / "+s(n.$t("work.index.Numbers")),1)])])]),_:1}),a(l(u),null,{default:d(()=>[e("div",q,[e("div",z,[X,e("span",null,s(n.$t("work.index.Unfinished")),1)]),e("div",null,[$,e("span",ee," / "+s(n.$t("work.index.Numbers")),1)])])]),_:1}),a(l(u),null,{default:d(()=>[e("div",se,[e("div",te,[ne,e("span",null,s(n.$t("work.index.beOverdue")),1)]),e("div",null,[le,e("span",ae," / "+s(n.$t("work.index.Numbers")),1)])])]),_:1}),a(l(u),null,{default:d(()=>[e("div",oe,[e("div",de,[ie,e("span",null,s(n.$t("work.index.Overdue")),1)]),e("div",null,[ce,e("span",re," / "+s(n.$t("work.index.Numbers")),1)])])]),_:1})]),_:1})]),_:1}))}});const pe=B(ue,[["__scopeId","data-v-dec666ba"]]),ve="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAABBCAYAAABIHp+5AAAMK0lEQVR4Xu1da7AcRRX+Ts/s3pub8BCMVPyNWr4QRcW3iPpP/1glRSwRo5ACCVJRwEAEtrgBEUTEMsojkAAV0N/+UwFf+MAnKlpSpSJlWUKeRHL37s5MH+t09yzXvrOZ3l2mLgs9qc2Znj59+szp7545093TTag5PtrhdtLHB4VNM1gRSKiky3OhpRhWyL6zjb5XJzfmRwtMYoEB4IYJWQrckIoicEOsFHkmtcBzClzxxJQgjx530maJ5essMBFwlQJrDRK6NFS472r6fl3FMT9aYBILBAFX9fF+qSRRoEKDhVZVShqsU+QRuJM0SSwbYoEg4LZyfECECTBZgYQa4SmA3FEArEFI0b+3Qz8IqTzyRAuMa4Eg4La19bjLjhK0Qh2QWSO7d1sE7rgNEsuFWSAIuDPA6aMAd/fVdH9Y9ZErWmA8C0wG3Io6mZDtvioCd7zmiKVCLTAScJfFuF4tJv4F+vd06IFQBSJftMA4FggC7hrC+0S4H9Iuq7AA0EJ2zxURuOM0RiwTboEg4M4Bp4lITSDFYKGSLs+Flvnice++ih4MVyFyRguMboEw4CYWuBCPmjgq6fJcqABZg4oU/bu3RuCO3hSxxCgWGA24NZLLAYgI3FGaIPKOY4Eg4B7lPK7WYKVAQisrkwEJjWzXFfTDcZSJZaIFQi0QBNzVhPcagd5ImZIhXgUSakIFGRIm9HdeTj8KVSDyRQuMY4Fa4HY63H5iBu8xwitGypYO+co5zyDbeWlzwF2/lc8mYG3ozXILu+7r0N5Q/sg3HRaoBa7Mxz0qccD17ilJgSIHhA6OBNntTQL3cn6EgZNCzZskOGn3PP0xlD/yTYcFaoG78VZu5fttqFA3AGFuOUF2xxb6cVO3vz4CtynTTpXcIOAWe63HTVMgzy01kYM7F7rU40bgThUGplLZIODq/Xh31d2VUxyFDjxyC/kdF0ePO5VomCKlg4CrDlngVnrYJTdrPDIj23Ep/aQpG8RQoSnLTpfcIOCWHtfrDYNWYBktE7o0VLjtYvppU2aIwG3KstMlNwi4OIh3Vd2W/82Z+f6sjf4tm+mhpswQgduUZadL7kjA9T2u361rgEzIo8edLhBMo7ZBwFWH8M7gm0uRvZg87vqtvJ4AFWqf3dtwLxFVD5mHCol81V/rLrWL9OO2HXCLBJwUIKHCwwWIErBQ06sg54T8xQTcM7dyBjaD4UHHR05GesYZJPPs4jGBBYI8bvI03mHqqIsVUoBz5Ldc+uKJcSNwJ0DfBEWDgNvq4u2mDi+oLSfYCC1xnUWPe8TmiB53ArQuKToacOvqlEk2LeTfvIh+Vsc6bv7zrVchetxxW3KyciMB15/G6FdtPC8j276Zfj6ZWsNLR+A2ZdnpkhsE3JnDeFtIjBuBW9/4MVSot1EIRxhwexa4/uwwWXKJFNgsveQO6ceNHne46SNwQ2BZzxME3NkuTq0S5U+yER6tkG/fFEOFYaaPwK0HZQjHRMBVCVgXIKFlp0NCyG/eRL8MqXwcnhjjjmO1F16ZIODO9fFW400dSIVK2geuXJMBiAjcGCo0/acSBNzZHG8xQHUzwYRWKSazxIhRROBG4D4vgDvwuN40xmXTHOVlLUV20/n0cFOKx1ChKctOl9wgj7vGeVz/1qo++mWFPAI3etym/wyCgDuX4c2iSN03Z5LPBfIbL6BfNaV49LhNWXa65AYB92i2wK075NOepI38xo0RuLE7rA4tk+WPBNy6JZhkJRsFZNefR7+eTK3hpaPHbcqy0yU3CLjHKpwit5VnQNqy1IQO/793iZ08ppBH4MYYt+k/gyDgHg28yXSHuQXvhEra98BK+nlbyK47l37TlOLR4w637Fk38OrsgFvLOGD7Wigc/va26VygcCTg1oGx1bIvZxG4K+NxBbjF026BwrrGkkWHCIfvmW9unbcAFcZmCQLu8c7jSoTQAuAihcG5XJNDPulRjCICd+WAq/9rVx0qJz8JNdpU7IOQMBbuuqa5xVvGRmVAwSDgrk3wRpGVZYB4VaHmKFFcItfFuNd+in4bUPdYLDFUOHKogIXqpQSqSiWEhV1XNrd4y1gNHFgoCLjHOuD6Mv2J5bJVqvQqzJ9Dvwusf2S2CNwjAzdZcN8HemxVy2WpBN07v9jc4i0jN+4IBYKAe1wbJxuZdbGCOGGFfP7sCNxhbdDktMaNt/Ic77fALZd/FWoOrwvIbNtBWLh9S3OfWY2Aw5FZa4HbeZDT7O8WuEUBShKw0GGhQgTukdugaeAWe+2Hrf4oZ7l5uNBSw4TRvfXy5uZOj4zGEQoEAXfxcRvjJhpcKJDQqjrEIc8p5J0N9PsRdBiJNYYKw80lHhcHqyf9V5VKgO63vkC/GKkBnifMQcAtPe6ylzE/dHChQgTu8NZt2uOqQ3budN0SGMYRAd3tlzQ36b9JjAcBd/GfeIMo4Xci+BPLpTtsllFE4K4McDd/lVf1lZ07XbcNqHzY2tZYuPni5uaVbLiM1/YSi51lg1XeYJbwcIqn7uvQH0IAHwTcwgHXX4KpXI5JaFlZK0F+5Vn0SEjl4/DEUGG41QS4eeomRAVsNJO20L3pwubmlZxzDZ+w2LVhZsWOTWZ52vKjBFmTKmU8ddd82KhrEHDxL7tZiP9ytizgbwFJH8X8pyNwh8GryVBBgMstOzzvPw21DA4VIKGSL+cgdL9+URhQxnEy53X4Zd3E9Uh5u5ISgZlBQgeyU+zZtTXs/SgIuP1/uF1uvFjBf1mTF7e2Rt45O8zdj2OM6HGP7HFpxnq4OodrYlzG4g2bmhssuvBaXruQWOz4n31VzTSkNvbsuCQMO0HALT1uHdDEA7cUdAwVVi7GTeash/MHh/x13gQ4bULvuvOb63MX4GYtvNbFuFQuBF5lHZOXYN9tnwvb2isIuMUTeH0daM3LWxvQfRTR464McDs7ebbXty9DFR0+y5RKUix+ucGw7vNf4ZfmKV5jngD+Dk1+t4eNg/dt30SPhmAtCLjqPxa4vnsvclCSgoWaR08KRg4dgbtywF2Eayt/KQFv+1oZnmfG4rXnhj2aQ8Dk81z2DT7+cI5XV3pYb00Ow6Ow/2sX0F9C6goCLv6N11UK6wNoAxAqRxtQfRRXbghz9yEK+jwxxh1uNfG4WWLbyp8QVTEfSuZX9+YbbKvNO/g4XsSrjDP19sir6h5TGvuv/wz9NQQXQcBVT9o4pe6QN1npDtt6Jv2pjnfc/AjcIwO37x7NVV2VfslEodf5RHNttWU3v0R38QrzNHYr2Zddp37XquHROPiljfRYCDaeU+BKYJW0UETgrlyooGbtoznr23cOocOOJEGv83H6cwhQxuHp7ORjM40TTRTghQZ+DC6ApgQHtn2S/hZS10jA9d27//gpu8O2fCwswA5R8IUWKnz2Q5hbtw6cpqAnE1BL5n4oUEqgZw5ByXn5e4bsuToMSgjUS6AUQd7OSXXNSpnUk7T7LfQx++jjOJEkDRDJikOJnIC0yGIokxaQEGimjeyVJ+DxnGxaEZQ5lyK5vSa/XNIuX64X0gNc8jkq16iAEr7C8R86jDV7D2CdyNN2crvZ5EXSZqVPkSKXE0DSs3NYXHcU9ohs7WRIvvBDg5hMeavXw4/xTkmwJDTkazIjjF0B1lALi5iTtBQ0QuScYcSIgcy5LaNE8upZ9EROKcPoyja/VLasQ64PZJaKOf6BHs/qpO5/CC8/tIC2K2Nxbf/8yj9CQ+U/qf/0U7Hv6DUwdiOCkmvm3Olc3ru7ZgxjeFyDeHoa+wxkAPTdB9Aa9KBbPaXiZx3C0g52Bn/4NOTm6wSjniy1BpZ/Jk3QJg2XZpdv84RHk3CXPFa2lSFtr6G7fSSuU186+E2e/KT/n6T5Je3qk/SqNjKR7WTosoy7C19P7fQc1Gl0dTqV8oVH5OUFaKGHttFH6mB5vzcGZg1wQpYanUhGfJGtmsGiu9dn61iib3nvAtwNZeVKwSrmlFGlUWW0xRpB5oWZmxFlZYpjqbRcUwxz45DrJc+SGyvlC4+pR2TIeWrlaIaWNUVMfnldhrBd2uTLeWsJD5sbtuVTaM3gtjRiKUPSbZsutM2fkTx5y15lGtvkrWJwVkDr1YaP11j+we8YDe4dAy3XMg0+oQDnuf31TgQvAnyK2GfQEHFLqHGeqKFl/gdcV8nzkZjnEwAAAABJRU5ErkJggg==",he="/ui/admin/assets/coach-2-779fa5d9.png";function Ae(){return C.get("/api/user/getdata")}function _e(){return C.get("/api/user/getrpractic")}function ge(){return C.get("/api/user/getrtrain")}function F(o){return C.post("/api/user/getselect",o)}const R=o=>(k("data-v-5b4740cd"),o=o(),m(),o),fe={class:"coach-select"},we={class:"col"},ke={class:"left"},me={class:"left-content"},Be={class:"num"},be={class:"left-title"},xe=R(()=>e("div",{class:"divider"},null,-1)),Ve=R(()=>e("div",{class:"right"},[e("img",{src:ve})],-1)),ye={class:"col"},Ce={class:"left"},Re={class:"left-content"},Ie={class:"num"},Qe={class:"left-title"},Se=R(()=>e("div",{class:"divider"},null,-1)),Ne=R(()=>e("div",{class:"right"},[e("img",{src:he})],-1)),Ue=w({__name:"learn-coach",setup(o){const n=I({loading:null,options:[],project:""}),v=async()=>{n.loading=U.service({text:"loading...",target:document.getElementById("container"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:t}=await Ae();n.options=t.options}finally{n.loading.close()}};Q(()=>{v()});let i=S([]);const g=async t=>{const{data:c}=await F(t);i.value=c};return N(n,(t,c)=>{g(t.project)},{immediate:!0}),(t,c)=>(p(),h(f,null,[e("div",fe,[e("h3",null,s(t.$t("work.index.coach")),1),a(l(K),{modelValue:n.project,"onUpdate:modelValue":c[0]||(c[0]=r=>n.project=r),placeholder:t.$t("baseForm.form.label.placeholder"),filterable:""},{default:d(()=>[(p(!0),h(f,null,b(n.options,r=>(p(),x(l(Z),{key:r.value,label:t.$t(r.label),value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),e("div",null,[a(l(y),null,{default:d(()=>[a(l(V),{flex:!0,justify:"center"},{default:d(()=>[a(l(u),{span:8},{default:d(()=>[e("div",we,[e("div",ke,[e("div",me,[e("span",Be,s(l(i)[0]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("div",be,s(t.$t("work.index.trainees")),1)]),xe,Ve])]),_:1}),a(l(u),{span:8},{default:d(()=>[e("div",ye,[e("div",Ce,[e("div",Re,[e("span",Ie,s(l(i)[1]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("div",Qe,s(t.$t("work.index.coachNum")),1)]),Se,Ne])]),_:1})]),_:1})]),_:1})])],64))}});const Ze=B(Ue,[["__scopeId","data-v-5b4740cd"]]),_=o=>(k("data-v-1dcb662d"),o=o(),m(),o),Ke={class:"col"},Fe=_(()=>e("span",{class:"font-pass"},"6",-1)),Oe=_(()=>e("div",{class:"divider"},null,-1)),Ge={class:"col"},De=_(()=>e("span",{class:"font-pass"},"186",-1)),je=_(()=>e("div",{class:"divider"},null,-1)),Ee={class:"col"},Ye=_(()=>e("span",{class:"font-pass"},"324",-1)),He=_(()=>e("div",{class:"divider"},null,-1)),Pe={class:"col"},Te=_(()=>e("span",{class:"font-pass"},"736",-1)),We=w({__name:"learn-probation",setup(o){return(n,v)=>(p(),x(l(y),null,{default:d(()=>[a(l(V),{flex:!0,justify:"center",class:"margin-bottom"},{default:d(()=>[a(l(u),{span:3},{default:d(()=>[e("div",Ke,[e("div",null,[Fe,e("span",null," / "+s(n.$t("work.index.Person")),1)]),e("span",null,s(n.$t("work.index.unpark")),1)])]),_:1}),Oe,a(l(u),{span:3},{default:d(()=>[e("div",Ge,[e("div",null,[De,e("span",null," / "+s(n.$t("work.index.Person")),1)]),e("span",null,s(n.$t("work.index.entered")),1)])]),_:1}),je,a(l(u),{span:3},{default:d(()=>[e("div",Ee,[e("div",null,[Ye,e("span",null," / "+s(n.$t("work.index.Person")),1)]),e("span",null,s(n.$t("work.index.approved")),1)])]),_:1}),He,a(l(u),{span:3},{default:d(()=>[e("div",Pe,[e("div",null,[Te,e("span",null," / "+s(n.$t("work.index.Person")),1)]),e("span",null,s(n.$t("work.index.put")),1)])]),_:1})]),_:1})]),_:1}))}});const Je=B(We,[["__scopeId","data-v-1dcb662d"]]),G=o=>(k("data-v-999aa533"),o=o(),m(),o),Le={class:"practiced-select"},Me={class:"col"},qe={class:"font-pass"},ze=G(()=>e("div",{class:"divider"},null,-1)),Xe={class:"col"},$e={class:"font-pass"},es=G(()=>e("div",{class:"divider"},null,-1)),ss={class:"col"},ts={class:"font-pass"},ns=w({__name:"learn-practiced",setup(o){const n=I({loading:null,options:[],project:""}),v=async()=>{n.loading=U.service({text:"loading...",target:document.getElementById("container"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:t}=await _e();n.options=t.options}finally{n.loading.close()}};Q(()=>{v()});let i=S([]);const g=async t=>{const{data:c}=await F(t);i.value=c};return N(n,(t,c)=>{g(t.project)},{immediate:!0}),(t,c)=>(p(),h("div",null,[e("div",Le,[e("h3",null,s(t.$t("work.index.practiced")),1),a(l(K),{modelValue:n.project,"onUpdate:modelValue":c[0]||(c[0]=r=>n.project=r),placeholder:t.$t("baseForm.form.label.placeholder"),filterable:""},{default:d(()=>[(p(!0),h(f,null,b(n.options,r=>(p(),x(l(Z),{key:r.value,label:t.$t(r.label),value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),a(l(y),null,{default:d(()=>[a(l(V),{flex:!0,justify:"center",class:"margin-bottom"},{default:d(()=>[a(l(u),{span:3},{default:d(()=>[e("div",Me,[e("div",null,[e("span",qe,s(l(i)[0]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.allocated")),1)])]),_:1}),ze,a(l(u),{span:3},{default:d(()=>[e("div",Xe,[e("div",null,[e("span",$e,s(l(i)[1]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.start")),1)])]),_:1}),es,a(l(u),{span:3},{default:d(()=>[e("div",ss,[e("div",null,[e("span",ts,s(l(i)[2]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.practice")),1)])]),_:1})]),_:1})]),_:1})]))}});const ls=B(ns,[["__scopeId","data-v-999aa533"]]),O=o=>(k("data-v-cff1f1d5"),o=o(),m(),o),as={class:"train-select"},os={class:"col"},ds={class:"font-pass"},is=O(()=>e("div",{class:"divider"},null,-1)),cs={class:"col"},rs={class:"font-pass"},us=O(()=>e("div",{class:"divider"},null,-1)),ps={class:"col"},vs={class:"font-pass"},hs=O(()=>e("div",{class:"divider"},null,-1)),As={class:"col"},_s={class:"font-pass"},gs=w({__name:"learn-traini",setup(o){const n=I({loading:null,options:[],project:""}),v=async()=>{n.loading=U.service({text:"loading...",target:document.getElementById("container"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:t}=await ge();n.options=t.options}finally{n.loading.close()}};Q(()=>{v()});let i=S([]);const g=async t=>{const{data:c}=await F(t);i.value=c};return N(n,(t,c)=>{g(t.project)},{immediate:!0}),(t,c)=>(p(),h("div",null,[e("div",as,[e("h3",null,s(t.$t("work.index.train")),1),a(l(K),{modelValue:n.project,"onUpdate:modelValue":c[0]||(c[0]=r=>n.project=r),placeholder:t.$t("baseForm.form.label.placeholder"),filterable:""},{default:d(()=>[(p(!0),h(f,null,b(n.options,r=>(p(),x(l(Z),{key:r.value,label:t.$t(r.label),value:r.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),a(l(y),null,{default:d(()=>[a(l(V),{flex:!0,justify:"center",class:"margin-bottom"},{default:d(()=>[a(l(u),{span:3},{default:d(()=>[e("div",os,[e("div",null,[e("span",ds,s(l(i)[0]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.assign")),1)])]),_:1}),is,a(l(u),{span:3},{default:d(()=>[e("div",cs,[e("div",null,[e("span",rs,s(l(i)[1]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.prepare")),1)])]),_:1}),us,a(l(u),{span:3},{default:d(()=>[e("div",ps,[e("div",null,[e("span",vs,s(l(i)[2]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.open")),1)])]),_:1}),hs,a(l(u),{span:3},{default:d(()=>[e("div",As,[e("div",null,[e("span",_s,s(l(i)[3]),1),e("span",null," / "+s(t.$t("work.index.Person")),1)]),e("span",null,s(t.$t("work.index.classes")),1)])]),_:1})]),_:1})]),_:1})]))}});const fs=B(gs,[["__scopeId","data-v-cff1f1d5"]]),ws=o=>(k("data-v-9c8c59f2"),o=o(),m(),o),ks={class:"container-work"},ms=ws(()=>e("div",{class:"work-image"},[e("img",{src:j,alt:"403",class:"user-image"})],-1)),Bs={class:"content"},bs={class:"left"},xs={class:"card"},Vs={class:"card"},ys={class:"card"},Cs={class:"card"},Rs={class:"card"},Is={class:"right"},Qs={class:"card more"},Ss={href:"javascript:;"},Ns={class:"card more"},Us={href:"javascript:;"},Zs={class:"card less"},Ks=w({__name:"index",setup(o){const n=[{label:"work.index.policy",value:"work.index.Period"},{label:"work.index.Hotline",value:"work.index.service"},{label:"work.index.Attendance",value:"work.index.FAQs"},{label:"work.index.Payroll",value:"work.index.Tax"},{label:"work.index.net",value:"work.index.netonline"}],v=[{label:"work.index.Brave",value:"work.index.Growth"},{label:"work.index.Termbase",value:"work.index.lingo"},{label:"work.index.Library",value:"work.index.domain"},{label:"work.index.learning",value:"work.index.platform"},{label:"work.index.net",value:"work.index.netonline"}];return(i,g)=>{const t=D("Breadcrumb");return p(),h("div",ks,[a(t,{items:["menu.board","menu.work"]}),ms,e("div",Bs,[e("div",bs,[e("div",xs,[e("h3",null,s(i.$t("work.index.learn")),1),e("div",null,[a(pe)])]),e("div",Vs,[e("div",null,[a(Ze)])]),e("div",ys,[e("h3",null,s(i.$t("work.index.formalization")),1),e("div",null,[a(Je)])]),e("div",Cs,[e("div",null,[a(ls)])]),e("div",Rs,[e("div",null,[a(fs)])])]),e("div",Is,[e("h3",null,s(i.$t("work.index.Inquiry")),1),e("div",Qs,[(p(),h(f,null,b(n,c=>e("dl",{key:c},[e("dt",null,s(i.$t(c.label)),1),e("dd",null,[e("a",Ss,s(i.$t(c.value)),1)])])),64))]),e("h3",null,s(i.$t("work.index.Home")),1),e("div",Ns,[(p(),h(f,null,b(v,c=>e("dl",{key:c},[e("dt",null,s(i.$t(c.label)),1),e("dd",null,[e("a",Us,s(i.$t(c.value)),1)])])),64))]),e("h3",null,s(i.$t("work.index.Guide")),1),e("div",Zs,[e("dl",null,[e("dt",null,s(i.$t("work.index.Operation")),1)])])])])])}}});const Hs=B(Ks,[["__scopeId","data-v-9c8c59f2"]]);export{Hs as default};
diff --git a/admin-website/src/main/resources/static/assets/index-071ac1b0.js b/admin-website/src/main/resources/static/assets/index-071ac1b0.js
deleted file mode 100644
index 7d8febb..0000000
--- a/admin-website/src/main/resources/static/assets/index-071ac1b0.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as c,r as _,j as r,k as i,u as d,v as l,l as p,w as t,E as m}from"./vue-fdfdc7c1.js";import{H as u}from"./hwcClient.service-353ee9fe.js";import{_ as f}from"./index-387d5142.js";const v={class:"container"},x={class:"content"},g={x:"40",y:"150"},h=c({__name:"index",setup(w){const o=_(),a={apigName:"apig_hello_world",apigGroupName:"group_hello_world"};async function n(){const e=await u.apiRequest("",{},a);o.value=e==null?void 0:e.data}return r(n),(e,y)=>{const s=i("Breadcrumb");return d(),l("div",v,[p(s,{items:["menu.cloud","menu.cloud.hello"]}),t("div",x,[t("text",g,m(o.value),1)])])}}});const C=f(h,[["__scopeId","data-v-7e3c5c0f"]]);export{C as default};
diff --git a/admin-website/src/main/resources/static/assets/index-10398010.js b/admin-website/src/main/resources/static/assets/index-10398010.js
deleted file mode 100644
index a3b64ba..0000000
--- a/admin-website/src/main/resources/static/assets/index-10398010.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{s as Ce,be as U,o as k,f as $,d as N,b as G,a as J,bf as xe,k as ge,ab as Ve,i as Re,O as He,N as Ae,$ as we,aj as Q,aq as De,bg as Pe,p as Ne,c as Be}from"./index-387d5142.js";import{u as _,v as x,w as Y,l as T,k as B,E as fe,y as D,H as ne,z as re,A as V,P as je,V as Le,I as Ye,D as j,M as Fe,N as We,B as me,F as Ue,S as Ke,G as Xe,a8 as qe}from"./vue-fdfdc7c1.js";var Ge={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Je=Y("path",{class:"plus_svg__st0",d:"M20.2 11.2h-7.5V3.9c0-.5-.4-.8-.8-.8s-.8.4-.8.8v7.3H3.8c-.5 0-.8.4-.8.8s.4.8.8.8h7.3v7.3c0 .5.4.8.8.8s.8-.4.8-.8v-7.3h7.5c.5 0 .8-.4.8-.8s-.3-.8-.8-.8z"},null,-1),Qe=[Je];function Ze(e,t){return _(),x("svg",Ge,[].concat(Qe))}var et={render:Ze},er=function(){return Ce({name:"IconPlus",component:et})()};const tt=typeof window>"u";var tr=(e,t)=>{if(tt)return;if(!t){e.scrollTop=0;return}const n=[];let{offsetParent:r,offsetTop:i,offsetHeight:o}=t;for(;r&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;const s=i+n.reduce((m,p)=>m+p.offsetTop,0),a=s+o,l=e.scrollTop,c=l+e.clientHeight;s<l?e.scrollTop=s:a>c&&(e.scrollTop=a-e.clientHeight)};const Se=function(){if(typeof Map<"u")return Map;const e=(t,n)=>{let r=-1;return t.some((i,o)=>i[0]===n?(r=o,!0):!1),r};return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(n){const r=e(this.__entries__,n),i=this.__entries__[r];return i&&i[1]},t.prototype.set=function(n,r){const i=e(this.__entries__,n);~i?this.__entries__[i][1]=r:this.__entries__.push([n,r])},t.prototype.delete=function(n){const r=this.__entries__,i=e(r,n);~i&&r.splice(i,1)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.has=function(n){return!!~e(this.__entries__,n)},t.prototype.forEach=function(n,r){r===void 0&&(r=null);for(let i=0,o=this.__entries__;i<o.length;i++){const s=o[i];n.call(r,s[1],s[0])}},t}()}(),nt=U?window.Function:global.Function,K=function(){const e=t=>t.Math===Math;return typeof global<"u"&&e(global)?global:typeof self<"u"&&e(self)?self:typeof window<"u"&&e(window)?window:nt("return this")()}(),rt=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(K):function(e){return setTimeout(()=>e(Date.now()),1e3/60)}}();let it=2;function ot(e,t){let n=!1,r=!1,i=0,o;const s=()=>{n&&(n=!1,e()),r&&o()},a=()=>{rt(s)};return o=()=>{const l=Date.now();if(n){if(l-i<it)return;r=!0}else n=!0,r=!1,setTimeout(a,t);i=l},o}const st=20,lt=["top","right","bottom","left","width","height","size","weight"],at=typeof MutationObserver<"u",ct=function(){function e(){this.observers_=[],this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=ot(this.refresh.bind(this),st)}return e.prototype.addObserver=function(t){!~this.observers_.indexOf(t)&&this.observers_.push(t),!this.connected_&&this.connect_()},e.prototype.removeObserver=function(t){const n=this.observers_,r=n.indexOf(t);~r&&n.splice(r,1),!n.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){const t=this.observers_.filter(n=>(n.gatherActive(),n.hasActive()));return t.forEach(n=>n.broadcastActive()),t.length>0},e.prototype.connect_=function(){if(!(!U||this.connected_)){if(k(document,"transitionend",this.onTransitionEnd_),k(window,"resize",this.refresh),at){this.mutationsObserver_=new MutationObserver(this.refresh);const t={attributes:!0,childList:!0,characterData:!0,subtree:!0};this.mutationsObserver_.observe(document,t)}else k(document,"DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0;this.connected_=!0}},e.prototype.disconnect_=function(){!U||!this.connected_||($(document,"transitionend",this.onTransitionEnd_),$(window,"resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&$(document,"DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){const n=t.propertyName,r=n===void 0?"":n;lt.some(o=>!!~r.indexOf(o))&&this.refresh()},e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e._instance=null,e}(),_e=function(e,t){for(let n=0,r=Object.keys(t);n<r.length;n++){const i=r[n];Object.defineProperty(e,i,{value:t[i],configurable:!0,writable:!1,enumerable:!1})}return e},Z=function(e,t,n,r){return{x:e,y:t,width:n,height:r}},R=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||K},Ie=Z(0,0,0,0),X=e=>parseFloat(e)||0,pe=function(e){let t=[];for(let n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((n,r)=>{const i=e[`border-${r}-width`];return n+X(i)},0)},ut=function(e){const t=["top","right","bottom","left"];let n={};for(let r=0,i=t;r<i.length;r++){const o=i[r],s=e[`padding-${o}`];n[o]=X(s)}return n},dt=function(e){const t=e.getBBox();return Z(0,0,t.width,t.height)},ft=function(e){return e===R(e).document.documentElement},mt=function(e){const t=e.clientWidth,n=e.clientHeight;if(!n&&!t)return Ie;const r=R(e).getComputedStyle(e),i=ut(r),o=i.top+i.bottom,s=i.left+i.right;let a=X(r.width),l=X(r.height);if(r.boxSizing==="border-box"&&(Math.round(l+o)!==n&&(l-=pe(r,"top","bottom")+o),Math.round(a+s)!==t&&(a-=pe(r,"left","right")+s)),!ft(e)){const c=Math.round(l+o)-n,m=Math.round(a+s)-t;Math.abs(c)!==1&&(l-=c),Math.abs(m)!==1&&(a-=m)}return Z(i.left,i.top,a,l)},pt=function(){return typeof SVGGraphicsElement<"u"?e=>e instanceof R(e).SVGGraphicsElement:e=>e instanceof R(e).SVGElement&&typeof e.getBBox=="function"}(),ht=function(e){return U?pt(e)?dt(e):mt(e):Ie},yt=function(e){const t=e.x,n=e.y,r=e.width,i=e.height,s=Object.create((typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object).prototype);return _e(s,{x:t,y:n,width:r,height:i,top:n,right:t+r,bottom:i+n,left:t}),s},bt=function(){function e(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Z(0,0,0,0),this.target=t}return e.prototype.broadcastRect=function(){const t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},e.prototype.isActive=function(){const t=ht(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},e}(),vt=function(){function e(t,n){const r=yt(n);_e(this,{target:t,contentRect:r})}return e}(),gt=function(){function e(t,n,r){if(this.observations_=new Se,this.activeObservations_=[],typeof t!="function")throw new TypeError("[TINY-Resize] The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=n,this.callbackCtx_=r}return e.prototype.observe=function(t){if(!arguments.length)throw new TypeError("[TINY-Resize] 1 argument required, but only 0 present.");if(typeof Element>"u"||!(Element instanceof Object))return;if(!(t instanceof R(t).Element))throw new TypeError('[TINY-Resize] parameter 1 is not of type "Element".');const n=this.observations_;n.has(t)||(n.set(t,new bt(t)),this.controller_.addObserver(this),this.controller_.refresh())},e.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("[TINY-Resize]1 argument required, but only 0 present.");if(typeof Element>"u"||!(Element instanceof Object))return;if(!(t instanceof R(t).Element))throw new TypeError('[TINY-Resize] parameter 1 is not of type "Element".');const n=this.observations_;n.has(t)&&(n.delete(t),!n.size&&this.controller_.removeObserver(this))},e.prototype.gatherActive=function(){const t=this;this.clearActive(),this.observations_.forEach(n=>{n.isActive()&&t.activeObservations_.push(n)})},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.broadcastActive=function(){if(!this.hasActive())return;const t=this.callbackCtx_,n=this.activeObservations_.map(r=>new vt(r.target,r.broadcastRect()));this.callback_.call(t,n,t),this.clearActive()},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e}(),ze=typeof WeakMap<"u"?new WeakMap:new Se,Te=function(){function e(t){if(!(this instanceof e))throw new TypeError("[TINY-Resize] Cannot call a class as a function.");if(!arguments.length)throw new TypeError("[TINY-Resize] 1 argument required, but only 0 present.");const n=ct.getInstance(),r=new gt(t,n,this);ze.set(this,r)}return e}();["observe","unobserve","disconnect"].forEach(e=>{Te.prototype[e]=function(){let t;return(t=ze.get(this))[e].apply(t,arguments)}});const wt=function(){return typeof K.ResizeObserver<"u"?K.ResizeObserver:Te}();var St=wt;const _t=typeof window>"u",O="__resizeListeners__",It=e=>{e.forEach(t=>{const n=t.target[O]||[];n.length&&n.forEach(r=>{r()})})},Oe=(e,t)=>{_t||(e[O]||(e[O]=[],e.__ro__=new St(It),e.__ro__.observe(e)),e[O].push(t))},$e=(e,t)=>{!e||!e[O]||(e[O].splice(e[O].indexOf(t),1),e[O].length||(e.__ro__.disconnect(),delete e.__ro__))},nr=e=>()=>({transform:`translate3d(0, ${e.offset+e.baseOffset}px, 0)`,transitionDuration:`${e.duration}ms`,transitionProperty:e.duration?"all":"none",lineHeight:`${e.itemHeight}px`}),rr=({state:e,props:t})=>()=>e.itemHeight*(t.visibleItemCount-1)/2,ir=({api:e,state:t})=>n=>{t.moving||(t.duration=t.defaultDuration,e.setIndex(n,!0))},or=({api:e,state:t,emit:n})=>(r,i)=>{r=e.adjustIndex(r)||0;const o=-r*t.itemHeight,s=()=>{r!==t.currentIndex&&(t.currentIndex=r,i&&n("change",r))};t.moving&&o!==t.offset&&(t.transitionEndTrigger=s),s(),t.offset=o},ee=(e,t,n)=>Math.min(Math.max(e,t),n),he=e=>e!==null&&typeof e=="object"&&e.disabled,sr=e=>t=>{t=ee(t,0,e.count);for(let n=t;n<e.count;n++)if(!he(e.columnsItem.values[n]))return n;for(let n=t-1;n>=0;n--)if(!he(e.columnsItem.values[n]))return n},lr=({vm:e,state:t})=>n=>{if(t.direction="",t.deltaX=0,t.deltaY=0,t.offsetX=0,t.offsetY=0,t.startX=n.touches[0].clientX,t.startY=n.touches[0].clientY,t.moving){const r=window.getComputedStyle(e.$refs.track),i=r.transform||r.webkitTransform,o=Number(i.slice(7,i.length-1).split(", ")[5]);t.offset=Math.min(0,o-t.baseOffset),t.startOffset=t.offset}else t.startOffset=t.offset;t.duration=0,t.transitionEndTrigger=null,t.touchStartTime=Date.now(),t.momentumOffset=t.startOffset},zt=(e,t)=>e>t&&e>10?"horizontal":t>e&&t>10?"vertical":"",ar=({state:e})=>t=>{const n=t.touches[0];e.deltaX=n.clientX-e.startX,e.deltaY=n.clientY-e.startY,e.offsetX=Math.abs(e.deltaX),e.offsetY=Math.abs(e.deltaY),e.direction=e.direction||zt(e.offsetX,e.offsetY),e.direction==="vertical"&&(e.moving=!0),e.offset=ee(e.startOffset+e.deltaY,-(e.count*e.itemHeight),e.itemHeight);const r=Date.now();r-e.touchStartTime>e.momentumLimitTime&&(e.touchStartTime=r,e.momentumOffset=e.offset)},cr=({api:e,state:t})=>()=>{const n=t.offset-t.momentumOffset,r=Date.now()-t.touchStartTime;if(r<t.momentumLimitTime&&Math.abs(n)>t.momentumLimitDistance){e.momentum(n,r);return}const o=ee(Math.round(-t.offset/t.itemHeight),0,t.count-1);t.duration=t.defaultDuration,e.setIndex(o,!0),setTimeout(()=>{t.moving=!1},0)},ur=({api:e,vm:t,state:n})=>()=>{const r=t.$refs.track;k(r,"touchstart",e.onTouchstart),k(r,"touchmove",e.onTouchmove),k(r,"touchend",e.onTouchend),n.clumnsWrapHeight=n.itemHeight*n.visibleItemCount,n.maskStyle={backgroundSize:`100% ${(n.clumnsWrapHeight-n.itemHeight)/2}px`}},dr=({api:e,vm:t})=>()=>{const n=t.$refs.track;$(n,"touchstart",e.onTouchstart),$(n,"touchmove",e.onTouchmove),$(n,"touchend",e.onTouchend)},fr=({api:e,state:t,props:n})=>(r,i)=>{const o=Math.abs(r/i);r=t.offset+o/.002*(r<0?-1:1);const s=ee(Math.round(-r/t.itemHeight),0,t.count-1);t.duration=Number(n.swipeDuration),e.setIndex(s,!0)},mr=e=>()=>{e.moving=!1,e.duration=0,e.transitionEndTrigger&&(e.transitionEndTrigger(),e.transitionEndTrigger=null)},pr=({api:e,state:t})=>n=>{const{columnsItem:r}=t,i=r.values;for(let o=0;o<i.length;o++)if(e.getOptionText(i[o])===n)return e.setIndex(o)},hr=({state:e,props:t})=>n=>n!==null&&typeof n=="object"&&t.valueKey in n?n[e.valueKey]:n,yr=e=>()=>e.columnsItem.values[e.currentIndex];let ue;const Tt=(e,t,n)=>{const{hasOwnProperty:r}=Object.prototype,i=t[n];i!=null&&(!r.call(e,n)||typeof i!="object"?e[n]=i:e[n]=ue(Object(e[n]),t[n]))};ue=(e,t)=>(Object.keys(t).forEach(n=>{Tt(e,t,n)}),e);const Ee=e=>Array.isArray(e)?e.map(t=>Ee(t)):typeof e=="object"&&e!==null?ue({},e):e,br=({api:e,state:t,props:n})=>r=>{JSON.stringify(r)!==JSON.stringify(t.columnsItem.values)&&(t.columnsItem.values=Ee(r),e.setIndex(n.defaultIndex))},Ot={key:"horizontal",offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",axis:"X",client:"clientX",direction:"left"},$t={key:"vertical",offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",axis:"Y",client:"clientY",direction:"top"},Et={horizontal:Ot,vertical:$t},kt=({bar:e,move:t,size:n})=>{const r={},i=`translate${e.axis}(${t}%)`;return r[e.size]=n,Object.assign(r,{transform:i,msTransform:i,webkitTransform:i}),r},Mt=({api:e,state:t})=>n=>{n.ctrlKey||n.button===2||(e.startDrag(n),t[t.bar.axis]=n.currentTarget[t.bar.offset]-(n[t.bar.client]-n.currentTarget.getBoundingClientRect()[t.bar.direction]))},Ct=({vm:e,state:t})=>n=>{const r=Math.abs(n.target.getBoundingClientRect()[t.bar.direction]-n[t.bar.client]),i=e.$refs.thumb[t.bar.offset]/2,o=(r-i)*100/e.$refs.bar[t.bar.offset];t.wrap[t.bar.scroll]=o*t.wrap[t.bar.scrollSize]/100},xt=({api:e,on:t,state:n})=>r=>{r.stopImmediatePropagation(),n.cursorDown=!0,t(document,"mousemove",e.mouseMoveDocumentHandler),t(document,"mouseup",e.mouseUpDocumentHandler),document.onselectstart=()=>!1},Vt=({vm:e,state:t})=>n=>{if(t.cursorDown===!1)return;const r=t[t.bar.axis];if(!r)return;const i=(e.$refs.bar.getBoundingClientRect()[t.bar.direction]-n[t.bar.client])*-1,o=e.$refs.thumb[t.bar.offset]-r,s=(i-o)*100/e.$refs.bar[t.bar.offset];t.wrap[t.bar.scroll]=s*t.wrap[t.bar.scrollSize]/100},Rt=({api:e,off:t,state:n})=>()=>{n.cursorDown=!1,n[n.bar.axis]=0,t(document,"mousemove",e.mouseMoveDocumentHandler),document.onselectstart=null},Ht=({vm:e,state:t,emit:n})=>r=>{const i=e.$refs.wrap;t.moveY=i.scrollTop*100/i.clientHeight,t.moveX=i.scrollLeft*100/i.clientWidth,n("scroll",r)},At=({vm:e,state:t})=>()=>{let n,r;const i=e.$refs.wrap;i&&(n=i.clientHeight*100/i.scrollHeight,r=i.clientWidth*100/i.scrollWidth,t.sizeHeight=n<100?n+"%":"",t.sizeWidth=r<100?r+"%":"")},Dt=["state","update","handleScroll"],Pt=(e,{onBeforeUnmount:t,onMounted:n,reactive:r},{vm:i,nextTick:o,emit:s})=>{const a=r({sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}),l={state:a,update:At({vm:i,state:a}),handleScroll:Ht({vm:i,state:a,emit:s})};return n(()=>{e.native||(o(l.update),!e.noresize&&Oe(i.$refs.resize,l.update))}),t(()=>{e.native||!e.noresize&&$e(i.$refs.resize,l.update)}),l};let L;const Nt=typeof window>"u";function Bt(){if(Nt)return 0;if(L!==void 0)return L;const e=document.createElement("div");e.className="tiny-scrollbar",e.style.visibility="hidden",e.style.position="absolute",e.style.top="-9999px";const t=document.createElement("div");t.className="tiny-scrollbar__wrap",t.style.width="100px",e.appendChild(t),document.body.appendChild(e);const n=t.offsetWidth;t.style.overflow="scroll";const r=document.createElement("div");r.style.width="100%",t.appendChild(r);const i=r.offsetWidth;return t.parentNode.removeChild(t),L=n-i,L}const jt=["state","startDrag","renderThumbStyle","clickTrackHandler","clickThumbHandler","mouseUpDocumentHandler","mouseMoveDocumentHandler"],Lt=(e,{computed:t,onUnmounted:n,reactive:r},{vm:i,parent:o})=>{const s=r({bar:t(()=>Et[e.vertical?"vertical":"horizontal"]),wrap:t(()=>o.$refs.wrap)}),a={state:s,renderThumbStyle:kt,clickTrackHandler:Ct({vm:i,state:s}),mouseMoveDocumentHandler:Vt({vm:i,state:s})};return n(()=>$(document,"mouseup",a.mouseUpDocumentHandler)),Object.assign(a,{startDrag:xt({api:a,on:k,state:s}),clickThumbHandler:Mt({api:a,state:s}),mouseUpDocumentHandler:Rt({api:a,off:$,state:s})})};var te=N({name:G+"Bar",props:{vertical:Boolean,show:Boolean,size:String,move:Number},setup:function(t,n){return J({props:t,context:n,renderless:Lt,api:jt,mono:!0,h:ge})},render:function(){var t=this.size,n=this.move,r=this.show,i=this.renderThumbStyle,o=this.clickTrackHandler,s=this.clickThumbHandler,a=this.state.bar;return T("div",{ref:"bar",class:["tiny-scrollbar__bar","is-"+a.key,r?"is-show":""],onMousedown:o},[T("div",{ref:"thumb",class:"tiny-scrollbar__thumb",onMousedown:s,style:i({bar:a,move:n,size:t})},null)])}}),F=N({name:G+"Scrollbar",emits:["mouseenter","mousemove","scroll"],components:{Bar:te},props:{marginBottomAdjust:{type:Number,default:0},native:Boolean,noresize:Boolean,show:Boolean,tag:{type:String,default:"div"},viewClass:{},viewStyle:{},wrapClass:{},wrapStyle:{}},setup:function(t,n){return J({props:t,context:n,renderless:Pt,api:Dt,mono:!0})},render:function(){var t=this,n=this.tag,r=this.vm.$slots,i=this.native,o=this.wrapStyle,s=this.wrapClass,a=this.viewStyle,l=this.viewClass,c=this.handleScroll,m=this.state,p=this.show,d=this.marginBottomAdjust,u=Bt(),f=o;if(u){var h="-"+u+"px",g="-"+(u-d)+"px",S="margin-bottom: "+g+"; margin-right: "+h+";";Array.isArray(o)?(f=xe(o),f.marginRight=h,f.marginBottom=g):typeof o=="string"?f+=S:f=S}var w=ge(n,{class:["tiny-scrollbar__view",l],style:a,ref:"resize"},r.default?r.default():r.empty&&r.empty()),H=T("div",{ref:"wrap",style:f,onScroll:c,class:[s,"tiny-scrollbar__wrap",u?"":"tiny-scrollbar__wrap--hidden-default"]},[[w]]),b;return i?b=[T("div",{ref:"wrap",class:[s,"tiny-scrollbar__wrap"],style:f},[[w]])]:b=[H,T(te,{move:m.moveX,size:m.sizeWidth,show:p},null),T(te,{vertical:!0,move:m.moveY,size:m.sizeHeight,show:p},null)],T("div",{class:"tiny-scrollbar",onMouseenter:function(y){t.$emit("mouseenter",y)},onMousemove:function(y){t.$emit("mousemove",y)}},[b])}}),Yt="3.16.0";F.install=function(e){e.component(F.name,F)};F.version=Yt;const Ft=({dispatch:e,emit:t})=>n=>{e("Picker","handle-clear",n),e("Select","handle-clear",n),e("Cascader","handle-clear",n),e("Amount","handle-clear",n),t("handle-clear")},Wt=({props:e,emit:t})=>n=>{e.disabled||(n.stopPropagation(),t("click",n))},Ut=["state","handleClear","focus","blur","handeClick"],Kt=(e,{reactive:t},{dispatch:n,emit:r})=>{const i=t({}),o={};return Object.assign(o,{state:i,focus:()=>i,blur:()=>i,handleClear:Ft({dispatch:n,emit:r}),handeClick:Wt({props:e,emit:r})}),o};function Xt(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=qt(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qt(e,t){if(e){if(typeof e=="string")return ye(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ye(e,t)}}function ye(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Gt=function(t,n){for(var r=t.__vccOpts||t,i=Xt(n),o;!(o=i()).done;){var s=o.value,a=s[0],l=s[1];r[a]=l}return r};function ie(){return ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ie.apply(this,arguments)}var Jt=N({name:G+"FilterBox",emits:["click","handle-clear"],components:{IconArrowBottom:Ve(),IconError:Re(),IconHelpCircle:He(),TinyTooltip:Ae},props:ie({},we,{label:String,value:[String,Number],tip:String,placeholder:{type:String,default:""},showClose:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},dropDownVisible:{type:Boolean,default:!1},blank:{type:Boolean,default:!1}}),setup:function(t,n){return J({props:t,context:n,renderless:Kt,api:Ut,mono:!0})}});function Qt(e,t,n,r,i,o){var s=B("icon-help-circle"),a=B("tiny-tooltip"),l=B("icon-error"),c=B("icon-arrow-bottom");return _(),x("div",{class:V(["tiny-filter-box",e.disabled&&"disabled",e.blank&&"is-blank"]),onClick:t[0]||(t[0]=function(){return e.handeClick&&e.handeClick.apply(e,arguments)})},[Y("p",{class:V(["title",e.dropDownVisible&&"active"])},[Y("label",null,fe(e.label),1),e.tip?(_(),D(a,{key:0,effect:"light",content:e.tip,placement:"top"},{default:ne(function(){return[T(s)]}),_:1},8,["content"])):re("v-if",!0)],2),Y("p",{class:V(["value",["value",!e.value&&e.value!==0&&"placeholder"]])},fe(e.value||e.value===0?e.value:e.placeholder),3),e.value&&e.showClose&&!e.disabled?(_(),D(l,{key:0,class:"filter-icon-close",onClick:je(e.handleClear,["stop"])},null,8,["onClick"])):(_(),D(c,{key:1,class:V(["filter-box-icon",e.dropDownVisible&&"is-reverse"])},null,8,["class"]))],2)}var W=Gt(Jt,[["render",Qt]]),Zt="3.16.0";W.install=function(e){e.component(W.name,W)};W.version=Zt;const en=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},tn=/-(\w)/g,nn=en(e=>e.replace(tn,(t,n)=>n?n.toUpperCase():"")),rn=(e,t)=>{if(!e||!t)return"";let n=nn(t);n==="float"&&(n="cssFloat");try{const r=e.style[n];if(r)return r;const i=document.defaultView?document.defaultView.getComputedStyle(e,""):null;return i?i[n]:""}catch{return e.style[n]}},on=(e,t)=>{const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],r=rn(e,n);return["scroll","auto","overlay"].some(i=>r.includes(i))},ke=(e,t)=>{let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(on(n,t))return n;n=n.parentNode}return n};let oe=!1;if(typeof window<"u"){oe=!1;try{const e=Object.defineProperty({},"passive",{get(){oe=!0}});window.addEventListener("test",null,e)}catch{}}const sn=({api:e,emit:t,state:n})=>(r,i)=>{n.ready&&(r||i.boundingClientRect.width!==0||i.boundingClientRect.height!==0?(t("visible"),requestAnimationFrame(()=>{e.updateVisibleItems(!1)})):t("hidden"))},ln=({api:e,emit:t,props:n,state:r,vm:i})=>(o,s=!1)=>{const a=n.itemSize,l=n.gridItems||1,c=n.itemSecondarySize||a,m=r.temporary.computedMinItemSize,p=n.typeField,d=r.simpleArray?null:n.keyField,u=n.items,f=u.length,h=r.sizes,g=r.temporary.views,S=r.temporary.unusedViews,w=r.pool,H=r.itemIndexByKey;let b,v,y,I,z;if(!f)b=v=y=I=z=0;else if(r.temporary.prerender)b=y=0,I=v=Math.min(n.prerender,u.length),z=null;else{const E=e.getScroll();if(In({checkPositionDiff:s,scroll:E,state:r,itemSize:a,minItemSize:m}))return{continuous:!0};r.temporary.lastUpdateScrollPosition=E.start;const de={props:n,scroll:E,vm:i,itemSize:a,count:f,sizes:h,startIndex:b,totalSize:z};Object.assign(de,{endIndex:v,items:u,visibleStartIndex:y,visibleEndIndex:I,gridItems:l});const A=zn(de);b=A.startIndex,v=A.endIndex,y=A.visibleStartIndex,I=A.visibleEndIndex,z=A.totalSize}if(v-b>n.itemsLimit)throw new Error("[TINY Error][RecycleScroller] Rendered items limit reached");r.totalSize=z;const M=b<=r.temporary.endIndex&&v>=r.temporary.startIndex,C={continuous:M,pool:w,checkItem:o,itemIndexByKey:H,keyField:d,startIndex:b};return Object.assign(C,{endIndex:v,api:e,items:u,views:g,itemSize:a,sizes:h,typeField:p,unusedViews:S}),Object.assign(C,{emit:t,gridItems:l,itemSecondarySize:c}),On(C),r.temporary.startIndex=b,r.temporary.endIndex=v,n.emitUpdate&&t("update",b,v,y,I),clearTimeout(r.temporary.sortTimer),r.temporary.sortTimer=setTimeout(e.sortViews,n.updateInterval+300),{continuous:M}},an=({props:e,state:t})=>()=>{if(e.itemSize===null){const n={"-1":{accumulator:0}},r=e.items,i=e.sizeField,o=e.minItemSize;let s=1e4,a=0,l;for(let c=0,m=r.length;c<m;c++)l=r[c][i]||o,l<s&&(s=l),a+=l,n[c]={accumulator:a,size:l};return t.temporary.computedMinItemSize=s,n}return[]},cn=e=>()=>{const{keyField:t,items:n}=e,r={};for(let i=0,o=n.length;i<o;i++)r[n[i][t]]=i;return r},un=({props:e,vm:t})=>()=>{const{$el:n}=t,i=e.direction==="vertical";let o;if(e.pageMode){const s=n.getBoundingClientRect(),a=i?s.height:s.width;let l=i?window.innerHeight:window.innerWidth,c=-(i?s.top:s.left);c<0&&(l+=c,c=0),c+l>a&&(l=a-c),o={start:c,end:c+l}}else i?o={start:n.scrollTop,end:n.scrollTop+n.clientHeight}:o={start:n.scrollLeft,end:n.scrollLeft+n.clientWidth};return o},dn=e=>(t,n=!1)=>{const r=e.temporary.unusedViews,i=t.nr.type;let o=r.get(i);o||(o=[],r.set(i,o)),o.push(t),n||(t.nr.used=!1,t.position=-9999)};let fn=0;const mn=({markRaw:e,shallowReactive:t})=>(n,r,i,o,s)=>{const a=e({id:fn++,index:r,used:!0,key:o,type:s}),l=t({item:i,position:0,nr:a});return n.push(l),l},pn=e=>()=>{e.pool.sort((t,n)=>t.nr.index-n.nr.index)},hn=({api:e,props:t,state:n})=>()=>{if(!n.temporary.scrollDirty){if(n.temporary.scrollDirty=!0,n.temporary.updateTimeout)return;const r=()=>requestAnimationFrame(()=>{n.temporary.scrollDirty=!1;const{continuous:i}=e.updateVisibleItems(!1,!0);i||(cancelAnimationFrame(n.temporary.refreshTimeout),n.temporary.refreshTimeout=requestAnimationFrame(()=>e.updateVisibleItems(!1)))});r(),t.updateInterval&&(n.temporary.updateTimeout=setTimeout(()=>{n.temporary.updateTimeout=0,n.temporary.scrollDirty&&r()},t.updateInterval))}},yn=({api:e,emit:t,state:n})=>()=>{t("resize"),n.ready&&e.updateVisibleItems(!1)},bn=({api:e,props:t})=>()=>{t.pageMode?e.addListeners():e.removeListeners()},vn=({api:e,state:t})=>()=>{t.listenerTarget=e.getListenerTarget();const n=oe?{passive:!0}:!1;t.listenerTarget.addEventListener("scroll",e.handleScroll,n),t.listenerTarget.addEventListener("resize",e.handleResize)},gn=({api:e,state:t})=>()=>{t.listenerTarget&&(t.listenerTarget.removeEventListener("scroll",e.handleScroll),t.listenerTarget.removeEventListener("resize",e.handleResize),t.listenerTarget=null)},wn=({props:e,vm:t})=>()=>{let n=ke(t.$el.parentNode,e.direction==="vertical");return window.document&&(n===window.document.documentElement||n===window.document.body)&&(n=window),n},Sn=({props:e,vm:t})=>n=>{const r=e.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,o,s;if(e.pageMode){const a=ke(t.$el.parentNode,e.direction==="vertical"),l=a.tagName==="HTML"?0:a[r.scroll],c=a.getBoundingClientRect(),p=t.$el.getBoundingClientRect()[r.start]-c[r.start];i=a,o=r.scroll,s=n+l+p}else i=t.$el,o=r.scroll,s=n;i[o]=s},_n=({api:e,props:t,state:n})=>r=>{const i=t.gridItems||1;let o;t.itemSize===null?o=r>0?n.sizes[r-1].accumulator:0:o=Math.floor(r/i)*t.itemSize,e.scrollToPosition(o)},In=({checkPositionDiff:e,scroll:t,state:n,itemSize:r,minItemSize:i})=>{if(e){let o=t.start-n.temporary.lastUpdateScrollPosition;if(o<0&&(o=-o),r===null&&o<i||o<r)return!0}},zn=e=>{let{props:t,scroll:n,vm:r,itemSize:i,count:o,sizes:s,startIndex:a,totalSize:l}=e,{endIndex:c,items:m,visibleStartIndex:p,visibleEndIndex:d,gridItems:u}=e;const f=t.buffer;let h=0;if(n.start-=f,n.end+=f,r.$refs.before&&(h=r.$refs.before.scrollHeight,n.start-=h),r.$refs.after){const g=r.$refs.after.scrollHeight;n.end+=g}if(i===null){let g={count:o,sizes:s,scroll:n,startIndex:a,totalSize:l,endIndex:c};Object.assign(g,{items:m,visibleStartIndex:p,beforeSize:h,visibleEndIndex:d});const S=Tn(g);a=S.startIndex,c=S.endIndex,p=S.visibleStartIndex,d=S.visibleEndIndex,l=S.totalSize}else{a=~~(n.start/i*u);const g=a%u;a-=g,c=Math.ceil(n.end/i*u),p=Math.max(0,Math.floor((n.start-h)/i*u)),d=Math.floor((n.end-h)/i*u),a<0&&(a=0),c>o&&(c=o),p<0&&(p=0),d>o&&(d=o),l=Math.ceil(o/u)*i}return{startIndex:a,endIndex:c,visibleStartIndex:p,visibleEndIndex:d,totalSize:l}},Tn=e=>{let{count:t,sizes:n,scroll:r,startIndex:i,totalSize:o,endIndex:s}=e,{items:a,visibleStartIndex:l,beforeSize:c,visibleEndIndex:m}=e,p,d,u,f,h;d=0,u=t-1,f=~~(t/2);do h=f,p=n[f].accumulator,p<r.start?d=f:f<t-1&&n[f+1].accumulator>r.start&&(u=f),f=~~((d+u)/2);while(f!==h);for(f<0&&(f=0),i=f,o=n[t-1].accumulator,s=f;s<t&&n[s].accumulator<r.end;s++);for(s===-1?s=a.length-1:(s++,s>t&&(s=t)),l=i;l<t&&c+n[l].accumulator<r.start;l++);for(m=l;m<t&&c+n[m].accumulator<r.end;m++);return{startIndex:i,totalSize:o,endIndex:s,visibleStartIndex:l,visibleEndIndex:m}},On=e=>{let{continuous:t,pool:n,checkItem:r,itemIndexByKey:i,keyField:o,startIndex:s}=e,{endIndex:a,api:l,items:c,views:m,itemSize:p,sizes:d,typeField:u,unusedViews:f}=e,{emit:h,gridItems:g,itemSecondarySize:S}=e,w=$n({continuous:t,pool:n,checkItem:r,itemIndexByKey:i,keyField:o,startIndex:s,endIndex:a,api:l});const H=t?null:new Map;let b,v;for(let y=s;y<a;y++){b=c[y];const I=o?b[o]:b;if(Q(I))throw new Error(`[TINY Error][RecycleScroller] Key is ${I} on item (keyField is '${o}')`);if(w=m.get(I),!p&&!d[y].size){w&&l.unuseView(w);continue}v=b[u];let z=f.get(v),M=!1,C={view:w,continuous:t,unusedPool:z,api:l,pool:n,i:y,item:b};Object.assign(C,{key:I,type:v,unusedIndex:H,unusedViews:f,views:m,newlyUsedView:M});const E=En(C);w=E.view,z=E.unusedPool,M=E.newlyUsedView,M&&(y===c.length-1&&h("scroll-end"),y===0&&h("scroll-start")),p===null?(w.position=d[y-1].accumulator,w.offset=0):(w.position=Math.floor(y/g)*p,w.offset=y%g*S)}},$n=({continuous:e,pool:t,checkItem:n,itemIndexByKey:r,keyField:i,startIndex:o,endIndex:s,api:a})=>{let l;if(e)for(let c=0,m=t.length;c<m;c++)l=t[c],l.nr.used&&(n&&(l.nr.index=r[l.item[i]]),(Q(l.nr.index)||l.nr.index<o||l.nr.index>=s)&&a.unuseView(l));return l},En=e=>{let{view:t,continuous:n,unusedPool:r,api:i,pool:o,i:s,item:a}=e,{key:l,type:c,unusedIndex:m,unusedViews:p,views:d,newlyUsedView:u}=e,f;if(!t)n?r&&r.length?t=r.pop():t=i.addView(o,s,a,l,c):(f=m.get(c)||0,(!r||f>=r.length)&&(t=i.addView(o,s,a,l,c),i.unuseView(t,!0),r=p.get(c)),t=r[f],m.set(c,f+1)),d.delete(t.nr.key),t.nr.used=!0,t.nr.index=s,t.nr.key=l,t.nr.type=c,d.set(l,t),u=!0;else if(!t.nr.used&&(t.nr.used=!0,u=!0,r)){const h=r.indexOf(t);~h&&r.splice(h,1)}return t.item=a,{view:t,unusedPool:r,newlyUsedView:u}},kn=({props:e,state:t})=>n=>{const{direction:r,gridItems:i,itemSecondarySize:o,itemSize:s}=e;let a=`translate${r==="vertical"?"Y":"X"}(${n.position}px)`;a=`${a} translate${r==="vertical"?"X":"Y"}(${n.offset}px)`;let l=i?`${r==="vertical"&&o||s}px`:void 0,c=i?`${r==="horizontal"&&o||s}px`:void 0;return t.ready?{transform:a,width:l,height:c}:null},Mn=({props:e,state:t})=>n=>e.skipHover?{}:{mouseenter:()=>t.hoverKey=n.nr.key,mouseleave:()=>t.hoverKey=null},Cn=["state","handleVisibilityChange","handleScroll","scrollToItem","computeViewStyle","computeViewEvent","updateVisibleItems"],xn=({watch:e,props:t,api:n,state:r})=>{e(()=>t.items,()=>n.updateVisibleItems(!0)),e(()=>t.pageMode,()=>{n.applyPageMode(),n.updateVisibleItems(!1)}),e(()=>r.sizes,()=>n.updateVisibleItems(!1),{deep:!0}),e(()=>t.gridItems,()=>n.updateVisibleItems(!0)),e(()=>t.itemSecondarySize,()=>n.updateVisibleItems(!0))},Vn=e=>{if(e.gridItems&&!e.itemSize)throw new Error("[TINY Error][RecycleScroller] You must provide an itemSize when using gridItems")},Rn=(e,{reactive:t,computed:n,onBeforeUnmount:r,onMounted:i,onActivated:o,watch:s,markRaw:a,shallowReactive:l},{vm:c,nextTick:m,emit:p})=>{const d=t({pool:[],totalSize:0,ready:!1,hoverKey:null,simpleArray:n(()=>e.items.length&&typeof e.items[0]!="object"),sizes:n(()=>u.computedSizes()),itemIndexByKey:n(()=>u.computedItemIndexByKey())}),u={state:d,computedSizes:an({props:e,state:d}),computedItemIndexByKey:cn(e),getScroll:un({props:e,vm:c}),unuseView:dn(d),addView:mn({markRaw:a,shallowReactive:l}),sortViews:pn(d),getListenerTarget:wn({props:e,vm:c}),scrollToPosition:Sn({props:e,vm:c}),computeViewStyle:kn({props:e,state:d}),computeViewEvent:Mn({props:e,state:d})};return Object.assign(u,{handleVisibilityChange:sn({api:u,emit:p,state:d}),updateVisibleItems:ln({api:u,emit:p,props:e,state:d,vm:c}),handleScroll:hn({api:u,props:e,state:d}),handleResize:yn({api:u,emit:p,state:d}),applyPageMode:bn({api:u,props:e}),addListeners:vn({api:u,state:d}),removeListeners:gn({api:u,state:d}),scrollToItem:_n({api:u,props:e,state:d})}),d.temporary={startIndex:0,endIndex:0,views:new Map,unusedViews:new Map,scrollDirty:!1,lastUpdateScrollPosition:0},e.prerender&&(d.temporary.prerender=!0,u.updateVisibleItems(!1)),Vn(e),o(()=>{const f=d.temporary.lastUpdateScrollPosition;typeof f=="number"&&m(()=>{u.scrollToPosition(f)})}),i(()=>{Oe(c.$el,u.handleResize),u.applyPageMode(),m(()=>{d.temporary.prerender=!1,u.updateVisibleItems(!0),d.ready=!0})}),r(()=>{$e(c.$el,u.handleResize),u.removeListeners()}),xn({watch:s,props:e,api:u,state:d}),u},q="@@observevisibilityContext",Hn=e=>{let t;return typeof e=="function"?t={callback:e}:t=e,t},Me=({options:e,instance:t,state:n})=>{n.observer&&se(n),!n.frozen&&(n.options=Hn(e),n.callback=(r,i)=>{n.options.callback(r,i),r&&n.options.once&&(n.frozen=!0,se(n))},n.callback&&n.options.throttle&&(n.callback=Pe(n.options.throttleDelay||20,n.callback)),n.observer=new IntersectionObserver(r=>{let i=r[0];if(r.length>1){const o=r.find(s=>s.isIntersecting);o&&(i=o)}n.callback&&n.callback(i.isIntersecting,i)},n.options.intersection),t.$nextTick(()=>{n.observer&&n.observer.observe(n.el)}))},se=e=>{e.observer&&(e.observer.disconnect(),e.observer=null),e.callback&&(e.callback=null)},An=({el:e,options:t,instance:n})=>{const r={el:e,observer:null,frozen:!1};return Me({options:t,instance:n,state:r}),r},le=(e,{value:t,instance:n},{context:r})=>{if(t){if(typeof IntersectionObserver>"u")throw new TypeError("[TINY Error][ObserveVisibility] IntersectionObserver API is not available in your browser");n=n||r,e[q]=An({el:e,options:t,instance:n})}},be=(e,{value:t,oldValue:n,instance:r},{context:i})=>{if(De(t,n))return;const o=e[q];if(!t){ae(e);return}r=r||i,o?Me({options:t,instance:r,state:o}):le(e,{value:t,instance:r},{context:i})},ae=e=>{const t=e[q];t&&(se(t),delete e[q])},Dn={bind:le,update:be,unbind:ae,beforeMount:le,updated:be,unmounted:ae};var Pn=Dn;function Nn(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Bn(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bn(e,t){if(e){if(typeof e=="string")return ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ve(e,t)}}function ve(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var jn=function(t,n){for(var r=t.__vccOpts||t,i=Nn(n),o;!(o=i()).done;){var s=o.value,a=s[0],l=s[1];r[a]=l}return r},Ln=N({emits:["resize","visible","hidden","update","scroll-start","scroll-end"],props:[].concat(Ne,["items","keyField","direction","listTag","itemTag","itemSize","gridItems","itemSecondarySize","minItemSize","sizeField","typeField","buffer","pageMode","prerender","emitUpdate","updateInterval","skipHover","listClass","itemClass","itemsLimit"]),directives:{ObserveVisibility:Pn},setup:function(t,n){return J({props:t,context:n,renderless:Rn,api:Cn})}}),Yn={key:0,ref:"before",class:"tiny-recycle-scroller__slot"},Fn={key:1,ref:"after",class:"tiny-recycle-scroller__slot"};function Wn(e,t,n,r,i,o){var s,a,l=Le("observe-visibility");return Ye((_(),x("div",{class:V(["tiny-recycle-scroller",(s={ready:e.state.ready,"page-mode":e.pageMode},s["direction-"+e.direction]=!0,s)]),onScrollPassive:t[0]||(t[0]=function(){return e.handleScroll&&e.handleScroll.apply(e,arguments)})},[e.slots.before?(_(),x("div",Yn,[j(e.$slots,"before")],512)):re("v-if",!0),(_(),D(me(e.listTag),{ref:"wrapper",style:Xe((a={},a[e.direction==="vertical"?"minHeight":"minWidth"]=e.state.totalSize+"px",a)),class:V(["tiny-recycle-scroller__item-wrapper",e.listClass])},{default:ne(function(){return[(_(!0),x(Fe,null,We(e.state.pool,function(c){return _(),D(me(e.itemTag),Ue({key:c.nr.id,style:e.computeViewStyle(c),class:["tiny-recycle-scroller__item-view",[e.itemClass,{hover:!e.skipHover&&e.state.hoverKey===c.nr.key}]]},Ke(e.computeViewEvent(c))),{default:ne(function(){return[j(e.$slots,"default",{item:c.item,index:c.nr.index,active:c.nr.used})]}),_:2},1040,["style","class"])}),128)),j(e.$slots,"empty")]}),_:3},8,["style","class"])),e.slots.after?(_(),x("div",Fn,[j(e.$slots,"after")],512)):re("v-if",!0)],34)),[[l,e.handleVisibilityChange]])}var Un=jn(Ln,[["render",Wn]]);function ce(){return ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ce.apply(this,arguments)}var Kn=function(t){var n;return typeof process=="object"&&((n={})==null||n.TINY_MODE),Un},P=N({name:G+"RecycleScroller",props:ce({},we,{items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""},itemsLimit:{type:Number,default:1e3}}),setup:function(t,n){return Be({props:t,context:n,template:Kn})}}),Xn=qe,qn=function(t){var n={};return n.stateId=null,n.getId=null,n.updateIdState=function(r){var i=n.getId();Q(i)&&console.warn("[TINY Error][Mixin IdState] No id found for IdState with idProp"),i!==n.stateId&&(t[i]||n.idStateInit(i,r),r.idState=t[i])},n.idStateInit=function(r,i){var o=i.$options.idState;if(typeof o=="function"){var s=o.call(i,i);return t[r]=s,n.stateId=r,s}else throw new TypeError("[TINY Error][Mixin IdState] Missing `idState` function on component definition")},n};function Gn(e){var t,n=e.idProp,r=e.stateGetterName;n=n||function(o){return o.item.id},r=r||"getIdState";var i=Xn({});return t={data:function(){return{idState:null}},created:function(){var s=this;this.temporary=qn(i),typeof n=="function"?this.temporary.getId=function(){return n.call(s,s)}:this.temporary.getId=function(){return s[n]},this.$watch(this.temporary.getId,{handler:function(l){var c=this;this.$nextTick(function(){return c.temporary.stateId=l})},immediate:!0}),this.temporary.updateIdState(this)},beforeUpdate:function(){this.temporary.updateIdState(this)}},t[r]=function(o){return Q(o)?i:i[o]?i[o]:null},t}var Jn="3.16.0";P.IdState=Gn;P.install=function(e){e.component(P.name,P)};P.version=Jn;export{W as F,P as R,F as _,Oe as a,sr as b,lr as c,Ee as d,hr as e,mr as f,yr as g,rr as h,er as i,nr as j,pr as k,cr as l,br as m,fr as n,ar as o,or as p,ir as q,$e as r,tr as s,ur as t,dr as u};
diff --git a/admin-website/src/main/resources/static/assets/index-104cb32f.css b/admin-website/src/main/resources/static/assets/index-104cb32f.css
deleted file mode 100644
index beb9f8a..0000000
--- a/admin-website/src/main/resources/static/assets/index-104cb32f.css
+++ /dev/null
@@ -1 +0,0 @@
-.container[data-v-012ed0d5]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto;overflow:hidden}.container .content[data-v-012ed0d5]{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;overflow:auto;background:#fff;border-radius:10px}.container .content-main[data-v-012ed0d5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22vh 0}.container h3[data-v-012ed0d5]{width:270px;height:25px;color:#575d6c;font-weight:bolder;font-size:18px;line-height:25px;text-align:left;text-align:center}.container span[data-v-012ed0d5]{min-width:250px;height:20px;color:#8a8e99;font-weight:400;font-size:14px;line-height:20px;text-align:center}
diff --git a/admin-website/src/main/resources/static/assets/index-12c9c4e0.css b/admin-website/src/main/resources/static/assets/index-12c9c4e0.css
deleted file mode 100644
index 268f322..0000000
--- a/admin-website/src/main/resources/static/assets/index-12c9c4e0.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-time-spinner{--ti-time-spinner-arrow-text-color:#909399;--ti-time-spinner-arrow-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-time-spinner-item-active-text-color:#303133;--ti-time-spinner-item-font-weight:700;--ti-time-spinner-item-bg-color:transparent;--ti-time-spinner-list-border-color:transparent;--ti-time-spinner-font-size:var(--ti-common-font-size-base, 12px);--ti-time-spinner-text-color:var(--ti-base-color-info-normal);--ti-time-spinner-bg-color:var(--ti-base-color-light);--ti-time-spinner-selected-bg-color:#f2f2f3;--ti-time-spinner-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8)}.tiny-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.tiny-time-spinner__wrapper.tiny-scrollbar{overflow:hidden}.tiny-time-spinner__wrapper .tiny-scrollbar__wrap:not(.tiny-scrollbar__wrap--hidden-default){padding-bottom:15px}.tiny-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.tiny-time-spinner__wrapper.is-arrow .tiny-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.tiny-time-spinner__wrapper.is-arrow .tiny-time-spinner__item:hover:not(.disabled):not(.active){background:var(--ti-time-spinner-bg-color);cursor:default}.tiny-time-spinner__wrapper .tiny-time-spinner__list{-webkit-transform:translateY(-6px);transform:translateY(-6px)}.tiny-time-spinner__wrapper:last-child .tiny-time-spinner__list{border-right:0}.tiny-time-spinner__arrow{font-size:var(--ti-time-spinner-font-size);color:var(--ti-time-spinner-arrow-text-color);height:30px;line-height:30px;position:absolute;left:0;width:100%;z-index:1;text-align:center;cursor:pointer}.tiny-time-spinner__arrow .tiny-svg{fill:var(--ti-time-spinner-arrow-text-color)}.tiny-time-spinner__arrow:hover .tiny-svg{fill:var(--ti-time-spinner-arrow-hover-text-color)}.tiny-time-spinner__arrow.tiny-icon-arrow-up{top:10px}.tiny-time-spinner__arrow.tiny-icon-arrow-down{bottom:10px}.tiny-time-spinner__arrow.tiny-input{width:70%}.tiny-time-spinner__arrow.tiny-input .tiny-input__inner{padding:0;text-align:center}.tiny-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center;border-right:1px solid var(--ti-time-spinner-list-border-color)}.tiny-time-spinner__list:after,.tiny-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.tiny-time-spinner__item{font-size:var(--ti-time-spinner-font-size);color:var(--ti-time-spinner-text-color);height:32px;line-height:32px}.tiny-time-spinner__item:hover:not(.disabled):not(.active){background:var(--ti-time-spinner-selected-bg-color);cursor:pointer}.tiny-time-spinner__item.active:not(.disabled){color:var(--ti-time-spinner-item-active-text-color);font-weight:var(--ti-time-spinner-item-font-weight);background-color:var(--ti-time-spinner-item-bg-color)}.tiny-time-spinner__item.disabled{color:var(--ti-time-spinner-disabled-text-color);cursor:not-allowed}.tiny-time-spinner.has-seconds .tiny-time-spinner__wrapper{width:33.3%}.tiny-time-panel{--ti-time-panel-border-color:var(--ti-date-picker-border-color);--ti-time-panel-box-shadow:0 2px 12px 0 rgba(0, 0, 0, .1);--ti-time-panel-content-split-line-display:block;--ti-time-panel-btn-cancel-display:inline-block;--ti-time-panel-btn-bg-color:transparent;--ti-time-panel-btn-padding-vertical:0;--ti-time-panel-btn-padding-horizontal:5px;--ti-time-panel-btn-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-time-panel-btn-height:28px;--ti-time-panel-btn-min-width:inherit;--ti-time-panel-btn-font-weight:800;--ti-time-panel-btn-confirm-hover-bg-color:transparent;--ti-time-panel-footer-height:36px;--ti-time-panel-btn-text-color:#303133;--ti-time-panel-btn-confirm-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-time-panel-bg-color:var(--ti-common-color-light, #fff);--ti-time-panel-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-time-panel-border-color:var(--ti-common-color-line-dividing, #dfe1e6);margin:5px 0;border:1px solid var(--ti-time-panel-border-color);background-color:var(--ti-time-panel-bg-color);-webkit-box-shadow:var(--ti-time-panel-box-shadow);box-shadow:var(--ti-time-panel-box-shadow);border-radius:var(--ti-time-panel-border-radius);position:absolute;width:180px;left:0;z-index:1000;-webkit-box-sizing:content-box;box-sizing:content-box;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-time-panel__content{font-size:0;position:relative;overflow:hidden}.tiny-time-panel__content:after,.tiny-time-panel__content:before{display:var(--ti-time-panel-content-split-line-display);content:"";top:50%;position:absolute;margin-top:-19px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid var(--ti-time-panel-border-color);border-bottom:1px solid var(--ti-time-panel-border-color)}.tiny-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.tiny-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.tiny-time-panel__content.has-seconds:after{left:calc(100% / 3 * 2)}.tiny-time-panel__content.has-seconds:before{padding-left:calc(100% / 3)}.tiny-time-panel__footer{border-top:1px solid var(--ti-time-panel-border-color);padding:4px;height:36px;height:var(--ti-time-panel-footer-height,36px);line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-time-panel__btn{min-width:var(--ti-time-panel-btn-min-width);border:none;line-height:var(--ti-time-panel-btn-height);padding:var(--ti-time-panel-btn-padding-vertical) var(--ti-time-panel-btn-padding-horizontal);margin:0 5px;cursor:pointer;background-color:var(--ti-time-panel-btn-bg-color);outline:0;font-size:12px;color:var(--ti-time-panel-btn-text-color);border-radius:var(--ti-time-panel-btn-border-radius);-webkit-transition:background-color .3s cubic-bezier(.645,.045,.355,1);transition:background-color .3s cubic-bezier(.645,.045,.355,1)}.tiny-time-panel__btn.cancel{display:var(--ti-time-panel-btn-cancel-display)}.tiny-time-panel__btn.confirm{font-weight:var(--ti-time-panel-btn-font-weight);color:var(--ti-time-panel-btn-confirm-text-color)}.tiny-time-panel__btn.confirm:hover{background-color:var(--ti-time-panel-btn-confirm-hover-bg-color)}.tiny-date-table{--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-table-font-size);-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-date-table.is-week-mode .tiny-date-table__row:hover td.available:hover{color:var(--ti-date-table-text-color)}.tiny-date-table.is-week-mode .tiny-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:var(--ti-date-table-td-border-radius);border-bottom-left-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table.is-week-mode .tiny-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:var(--ti-date-table-td-border-radius);border-bottom-right-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table.is-week-mode .tiny-date-table__row:hover div{background-color:var(--ti-date-table-hover-bg-color)}.tiny-date-table.is-week-mode .tiny-date-table__row.current div{background-color:var(--ti-date-table-week-bg-color-current-select)}.tiny-date-table.is-week-mode .tiny-date-table__row.current div:hover{background-color:var(--ti-date-table-week-bg-color-current-hover)}.tiny-date-table.is-week-mode .tiny-date-table__row.current td.available:hover span{background-color:transparent}.tiny-date-table.is-week-mode .tiny-date-table__row.current td.available.end-date span,.tiny-date-table.is-week-mode .tiny-date-table__row.current td.available.start-date span{background-color:var(--ti-date-table-bg-color-current-select);border-radius:var(--ti-date-table-border-radius-current-select)}.tiny-date-table td{width:var(--ti-date-table-td-width);height:var(--ti-date-table-td-height);padding:var(--ti-date-table-td-padding-vertical) var(--ti-date-table-td-padding-horizontal);-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;vertical-align:middle;position:relative}.tiny-date-table td div{height:var(--ti-date-table-td-div-height);min-width:var(--ti-date-table-td-div-width);padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-date-table td span{min-width:var(--ti-date-table-td-span-width);height:var(--ti-date-table-td-span-height);line-height:var(--ti-date-table-td-span-height);display:block;margin:0 auto;position:absolute;left:50%;top:var(--ti-date-table-td-span-top);-webkit-transform:translateX(-50%);transform:translate(-50%)}.tiny-date-table td.next-month,.tiny-date-table td.pre-month{color:var(--ti-date-table-td-pre-month-text-color);cursor:pointer}.tiny-date-table td.next-month span:hover,.tiny-date-table td.pre-month span:hover{background:var(--ti-datetime-beside-day-bg-color-hover)}.tiny-date-table td.today{position:relative;color:var(--ti-date-table-td-today-text-color)}.tiny-date-table td.today:after{content:"";width:12px;height:1px;background:var(--ti-date-table-td-today-border-color);position:absolute;left:0;right:0;margin:auto;bottom:5px}.tiny-date-table td.today span{min-width:var(--ti-date-table-td-today-width);height:var(--ti-date-table-td-today-height);border-radius:var(--ti-date-table-td-today-border-radius);border:solid var(--ti-date-table-td-today-circle-border-width) var(--ti-date-table-td-today-circle-border-color)}.tiny-date-table td.today.end-date span,.tiny-date-table td.today.start-date span{color:var(--ti-date-table-td-normal-text-color)}.tiny-date-table td.available:not(.today):hover span{background-color:var(--ti-date-table-hover-bg-color);border-radius:var(--ti-date-table-border-radius-current-select);border-color:transparent}.tiny-date-table td.current:not(.disabled) span{color:var(--ti-date-table-td-normal-text-color);background-color:var(--ti-date-table-bg-color-current-select);border-radius:var(--ti-date-table-border-radius-current-select);border-color:transparent}.tiny-date-table td.current:not(.disabled):after{background-color:transparent}.tiny-date-table td.end-date div,.tiny-date-table td.start-date div{color:var(--ti-date-table-td-normal-text-color)}.tiny-date-table td.end-date span,.tiny-date-table td.start-date span{background-color:var(--ti-date-table-bg-color-current-select);border-radius:var(--ti-date-table-start-date-border-radius);border:0}.tiny-date-table td.start-date div{margin-left:5px;border-top-left-radius:var(--ti-date-table-td-border-radius);border-bottom-left-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table td.end-date div{margin-right:5px;border-top-right-radius:var(--ti-date-table-td-border-radius);border-bottom-right-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table td.disabled div{background-color:var(--ti-date-table-disabled-bg-color);opacity:1;cursor:not-allowed;color:var(--ti-date-table-disabled-text-color)}.tiny-date-table td.in-range div{background-color:var(--ti-date-table-range-bg-color)}.tiny-date-table td.in-range div:hover{background-color:var(--ti-date-table-range-hover-bg-color)}.tiny-date-table td.in-range.end-date:hover span,.tiny-date-table td.in-range.start-date:hover span{background-color:var(--ti-date-table-bg-color-current-select)}.tiny-date-table td.available{padding:0}.tiny-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:var(--ti-date-table-td-range-bg-color)}.tiny-date-table td.selected div:hover{background-color:var(--ti-date-table-td-range-bg-color)}.tiny-date-table td.selected span{background-color:var(--ti-date-table-bg-color-current-select);color:var(--ti-date-table-td-normal-text-color);border:none;border-radius:var(--ti-date-table-cell-selected-border-radius)}.tiny-date-table td.selected.available:hover span{background-color:var(--ti-date-table-bg-color-current-select)}.tiny-date-table td.week{font-size:80%;color:var(--ti-date-table-text-color)}.tiny-date-table th{color:var(--ti-date-table-th-text-color);font-weight:400;white-space:nowrap}.tiny-year-table{--ti-year-table-td-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-year-table-td-icon-color:#303133;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-year-table td,.tiny-year-table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-year-table td.current,.tiny-year-table tr.current{padding-left:3px;padding-right:3px}.tiny-year-table td div,.tiny-year-table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-year-table td.today .cell,.tiny-year-table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-year-table td.today.end-date .cell,.tiny-year-table td.today.start-date .cell,.tiny-year-table tr.today.end-date .cell,.tiny-year-table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-year-table td.disabled .cell,.tiny-year-table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-year-table td.disabled .cell:hover,.tiny-year-table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-year-table td .cell,.tiny-year-table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-year-table td .cell:hover,.tiny-year-table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-year-table td.in-range div,.tiny-year-table td.in-range div:hover,.tiny-year-table tr.in-range div,.tiny-year-table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-year-table td.end-date div,.tiny-year-table td.start-date div,.tiny-year-table tr.end-date div,.tiny-year-table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-year-table td.end-date .cell,.tiny-year-table td.start-date .cell,.tiny-year-table tr.end-date .cell,.tiny-year-table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-year-table td:not(.in-range) .cell,.tiny-year-table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-year-table td.current:not(.disabled) .cell,.tiny-year-table td.current:not(.disabled) .cell:hover,.tiny-year-table tr.current:not(.disabled) .cell,.tiny-year-table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-picker-panel{--ti-picker-panel-line-height:var(--ti-common-size-height-normal, 28px);--ti-picker-panel-shortcut-font-size:var(--ti-common-font-size-1, 14px);--ti-picker-panel-icon-color-btn:var(--ti-common-color-icon-normal, #575d6c);--ti-picker-panel-icon-color-btn-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-picker-panel-icon-color-btn-disabled:var(--ti-common-color-icon-disabled, #adb0b8);--ti-picker-panel-box-shadow:2px 3px 7px rgba(0, 0, 0, .15);--ti-picker-panel-font-size:var(--ti-common-font-size-base, 12px);--ti-picker-panel-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-picker-panel-bg-color:var(--ti-common-color-light, #fff);--ti-picker-panel-selected-bg-color:#f2f2f3;--ti-picker-panel-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-picker-panel-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-picker-panel-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-picker-panel-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-picker-panel-content-border-color:transparent;--ti-picker-panel-content-padding-top:0;--ti-picker-panel-content-padding-left:0;--ti-picker-panel-content-padding-right:0;--ti-picker-panel-icon-btn-line-height:30px;--ti-picker-panel-shortcut-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-picker-panel-shortcut-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);color:var(--ti-picker-panel-text-color);font-size:var(--ti-picker-panel-font-size);border:1px solid var(--ti-picker-panel-border-color);-webkit-box-shadow:var(--ti-picker-panel-box-shadow);box-shadow:var(--ti-picker-panel-box-shadow);background:var(--ti-picker-panel-bg-color);border-radius:var(--ti-common-border-radius-normal);line-height:var(--ti-picker-panel-line-height);margin:var(--ti-common-dropdown-gap) 0}.tiny-picker-panel__body-wrapper:after,.tiny-picker-panel__body:after{content:"";display:table;clear:both}.tiny-picker-panel__body{padding-bottom:8px}.tiny-picker-panel__content{position:relative;border-top:solid 1px var(--ti-picker-panel-content-border-color);padding-top:var(--ti-picker-panel-content-padding-top);padding-left:var(--ti-picker-panel-content-padding-left);padding-right:var(--ti-picker-panel-content-padding-right)}.tiny-picker-panel__footer{border-top:1px solid var(--ti-picker-panel-border-color);padding:6px 16px;background-color:var(--ti-picker-panel-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-picker-panel__footer .tiny-button{min-width:60px}.tiny-picker-panel__footer .tiny-button:only-child{float:right}.tiny-picker-panel__footer .tiny-button--text{text-align:left}.tiny-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:var(--ti-picker-panel-shortcut-font-size);color:var(--ti-picker-panel-text-color);padding-left:12px;text-align:left;outline:0;cursor:pointer}.tiny-picker-panel__shortcut:hover{background-color:var(--ti-picker-panel-hover-bg-color)}.tiny-picker-panel__shortcut.active{background-color:var(--ti-picker-panel-selected-bg-color)}.tiny-picker-panel__shortcut-selected[type=button]{color:var(--ti-picker-panel-shortcut-selected-text-color);background-color:var(--ti-picker-panel-shortcut-selected-bg-color)}.tiny-picker-panel__btn{color:var(--ti-picker-panel-text-color);border:1px solid var(--ti-picker-panel-border-color);font-size:var(--ti-picker-panel-font-size);line-height:24px;border-radius:var(--ti-picker-panel-border-radius);padding:0 20px;cursor:pointer;outline:0;background-color:transparent}.tiny-picker-panel__btn [disabled]{color:var(--ti-picker-panel-disabled-text-color);cursor:not-allowed}.tiny-picker-panel__icon-btn{font-size:var(--ti-picker-panel-font-size);line-height:var(--ti-picker-panel-icon-btn-line-height);fill:var(--ti-picker-panel-icon-color-btn);border:0;background:0 0;cursor:pointer;outline:0}.tiny-picker-panel__icon-btn:hover{fill:var(--ti-picker-panel-icon-color-btn-hover)}.tiny-picker-panel__icon-btn.is-disabled{color:var(--ti-picker-panel-icon-color-btn-disabled)}.tiny-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.tiny-picker-panel__link-btn{vertical-align:middle}.tiny-picker-panel [slot=sidebar],.tiny-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid var(--ti-picker-panel-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:var(--ti-picker-panel-bg-color);overflow:auto}.tiny-picker-panel [slot=sidebar]+.tiny-picker-panel__body,.tiny-picker-panel__sidebar+.tiny-picker-panel__body{margin-left:110px}.tiny-picker-panel__timezone{margin-bottom:10px}.tiny-picker-panel__timezone .tiny-picker-panel__tzlist{z-index:10;overflow-y:hidden}.tiny-picker-panel__timezone .tiny-picker-panel__tzlist-li{height:30px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;border:1px solid #f4f0f0;cursor:pointer}.tiny-picker-panel__timezone .tiny-picker-panel__tzlist .tiny-popup{position:absolute;width:238px;bottom:77px;max-height:260px;-webkit-box-shadow:0 -1px 2px 0 rgba(53,29,29,.5);box-shadow:0 -1px 2px #351d1d80}.tiny-picker-panel__timezone .tiny-input{position:relative}.tiny-date-range-picker{--ti-date-range-picker-header-font-size:var(--ti-common-font-size-2, 16px);--ti-date-range-picker-time-header-icon-color:#303133;width:558px}.tiny-date-range-picker.has-sidebar{width:668px}.tiny-date-range-picker table{table-layout:fixed;width:100%}.tiny-date-range-picker .tiny-picker-panel__body{min-width:var(--ti-date-range-picker-body-min-width)}.tiny-date-range-picker .tiny-picker-panel__content{margin:0}.tiny-date-range-picker__header{position:relative;text-align:center;height:28px}.tiny-date-range-picker__header [class*=arrow-left]{float:left}.tiny-date-range-picker__header [class*=arrow-right]{float:right}.tiny-date-range-picker__header div{font-size:var(--ti-date-range-picker-header-font-size);font-weight:500;margin-right:50px}.tiny-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.tiny-date-range-picker__content.is-left{border-right:1px solid var(--ti-date-picker-border-color)}.tiny-date-range-picker__content .tiny-date-range-picker__header div{margin-left:50px;margin-right:50px}.tiny-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.tiny-date-range-picker__editors-wrap.is-right{text-align:right}.tiny-date-range-picker__time-header{position:relative;border-bottom:1px solid var(--ti-date-picker-border-color);font-size:var(--ti-date-picker-font-size);padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-date-range-picker__time-header>.tiny-icon-arrow-right{font-size:var(--ti-common-font-size-4);vertical-align:middle;display:table-cell;color:var(--ti-date-range-picker-time-header-icon-color)}.tiny-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.tiny-date-range-picker__time-picker-wrap .tiny-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:var(--ti-date-picker-bg-color)}.tiny-time-range-picker{--ti-time-range-picker-header-font-size:var(--ti-common-font-size-1, 14px);width:354px;overflow:visible}.tiny-time-range-picker__content{position:relative;text-align:center;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%}.tiny-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:var(--ti-time-range-picker-header-font-size)}.tiny-time-range-picker__body{border-radius:var(--ti-date-picker-border-radius);border:1px solid var(--ti-date-picker-border-color)}.tiny-month-table{--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-month-table td,.tiny-month-table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-month-table td.current,.tiny-month-table tr.current{padding-left:3px;padding-right:3px}.tiny-month-table td div,.tiny-month-table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-month-table td.today .cell,.tiny-month-table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-month-table td.today.end-date .cell,.tiny-month-table td.today.start-date .cell,.tiny-month-table tr.today.end-date .cell,.tiny-month-table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-month-table td.disabled .cell,.tiny-month-table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td.disabled .cell:hover,.tiny-month-table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td .cell,.tiny-month-table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-month-table td .cell:hover,.tiny-month-table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-month-table td.in-range div,.tiny-month-table td.in-range div:hover,.tiny-month-table tr.in-range div,.tiny-month-table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-month-table td.end-date div,.tiny-month-table td.start-date div,.tiny-month-table tr.end-date div,.tiny-month-table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-month-table td.end-date .cell,.tiny-month-table td.start-date .cell,.tiny-month-table tr.end-date .cell,.tiny-month-table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-month-table td:not(.in-range) .cell,.tiny-month-table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-month-table td.current:not(.disabled) .cell,.tiny-month-table td.current:not(.disabled) .cell:hover,.tiny-month-table tr.current:not(.disabled) .cell,.tiny-month-table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-quarter-panel table{table-layout:fixed;width:100%}.tiny-quarter-panel__header{margin:12px 12px 0;text-align:center;padding-bottom:12px;border-bottom:1px solid var(--ti-date-picker-border-color);line-height:var(--ti-date-picker-header-line-height)}.tiny-quarter-panel__table{--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-quarter-panel__table td,.tiny-quarter-panel__table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-quarter-panel__table td.current,.tiny-quarter-panel__table tr.current{padding-left:3px;padding-right:3px}.tiny-quarter-panel__table td div,.tiny-quarter-panel__table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-quarter-panel__table td.today .cell,.tiny-quarter-panel__table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-quarter-panel__table td.today.end-date .cell,.tiny-quarter-panel__table td.today.start-date .cell,.tiny-quarter-panel__table tr.today.end-date .cell,.tiny-quarter-panel__table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-quarter-panel__table td.disabled .cell,.tiny-quarter-panel__table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-quarter-panel__table td.disabled .cell:hover,.tiny-quarter-panel__table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-quarter-panel__table td .cell,.tiny-quarter-panel__table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-quarter-panel__table td .cell:hover,.tiny-quarter-panel__table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-quarter-panel__table td.in-range div,.tiny-quarter-panel__table td.in-range div:hover,.tiny-quarter-panel__table tr.in-range div,.tiny-quarter-panel__table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-quarter-panel__table td.end-date div,.tiny-quarter-panel__table td.start-date div,.tiny-quarter-panel__table tr.end-date div,.tiny-quarter-panel__table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-quarter-panel__table td.end-date .cell,.tiny-quarter-panel__table td.start-date .cell,.tiny-quarter-panel__table tr.end-date .cell,.tiny-quarter-panel__table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-quarter-panel__table td:not(.in-range) .cell,.tiny-quarter-panel__table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-quarter-panel__table td.current:not(.disabled) .cell,.tiny-quarter-panel__table td.current:not(.disabled) .cell:hover,.tiny-quarter-panel__table tr.current:not(.disabled) .cell,.tiny-quarter-panel__table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-transition-timepicker{-webkit-animation:fadein .3s;animation:fadein .3s}.tiny-transition-timepicker-up{-webkit-animation:fadeup .3s;animation:fadeup .3s}@-webkit-keyframes fadein{0%{-webkit-transform:translateY(-200px);transform:translateY(-200px);z-index:-999}to{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}@keyframes fadein{0%{-webkit-transform:translateY(-200px);transform:translateY(-200px);z-index:-999}to{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}@-webkit-keyframes fadeup{0%{-webkit-transform:translateY(200px);transform:translateY(200px);z-index:-999}to{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}@keyframes fadeup{0%{-webkit-transform:translateY(200px);transform:translateY(200px);z-index:-999}to{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}.tiny-date-container{position:relative}.tiny-date-editor{--ti-range-separator-text-color:#303133;--ti-date-editor-input-icon-color-fill:#575d6c;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;position:relative;display:inline-block;text-align:left}.tiny-date-editor.tiny-input,.tiny-date-editor.tiny-input__inner{width:100%}.tiny-date-editor--monthrange.tiny-input,.tiny-date-editor--monthrange.tiny-input__inner,.tiny-date-editor--daterange.tiny-input,.tiny-date-editor--daterange.tiny-input__inner,.tiny-date-editor--timerange.tiny-input,.tiny-date-editor--timerange.tiny-input__inner{width:350px}.tiny-date-editor--datetimerange.tiny-input,.tiny-date-editor--datetimerange.tiny-input__inner{width:400px}.tiny-date-editor--dates .tiny-input__inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-date-editor.show-auto-width.tiny-input,.tiny-date-editor.show-auto-width.tiny-input__inner{width:100%}.tiny-date-editor .tiny-input__label{color:#8d959e;font-size:12px;margin-right:8px;max-width:100px;display:inline-block;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-date-editor .tiny-input__icon-container{width:initial;cursor:pointer;color:var(--ti-date-editor-input-icon-color-fill)}.tiny-date-editor .tiny-input__icon-container .baseClearicon{margin-right:8px;fill:#252b3a}.tiny-date-editor .tiny-input__icon-container .baseClearicon:hover{fill:var(--ti-input-clear-text-color-hover)}.tiny-date-editor .tiny-input__icon-container:not(.tiny-range__icon){display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-date-editor .tiny-range__icon{font-size:var(--ti-date-picker-icon-font-size);color:#c0c4cc;margin-left:-5px;float:left;line-height:1}.tiny-date-editor .tiny-range-input,.tiny-date-editor .tiny-range-separator{font-size:var(--ti-date-picker-font-size);height:100%;margin:0;text-align:center;display:inline-block}.tiny-date-editor .tiny-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:var(--ti-date-picker-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-date-editor .tiny-range-input::-moz-placeholder{color:#999;opacity:1}.tiny-date-editor .tiny-range-input:-ms-input-placeholder{color:#999}.tiny-date-editor .tiny-range-input::-webkit-input-placeholder{color:#999}.tiny-date-editor .tiny-range-input::-ms-input-placeholder{color:#999}.tiny-date-editor .tiny-range-input::placeholder{color:#999}.tiny-date-editor .tiny-range-separator{padding:0 5px;line-height:22px;width:12%;color:var(--ti-range-separator-text-color)}.tiny-date-editor .tiny-range__close-icon{font-size:var(--ti-date-picker-icon-font-size);width:25px;float:right;line-height:32px;margin-right:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-date-editor .tiny-range__close-icon,.tiny-date-editor .tiny-range__close-icon:hover{fill:var(--ti-input-icon-close-text-color)}.tiny-range-editor.tiny-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.tiny-range-editor .tiny-range-input{line-height:1}.tiny-range-editor.is-active,.tiny-range-editor.is-active:hover{border-color:var(--ti-date-picker-current-border-color)}.tiny-range-editor--medium.tiny-input__inner{height:42px}.tiny-range-editor--medium .tiny-range-separator{line-height:34px;font-size:var(--ti-common-font-size-2)}.tiny-range-editor--medium .tiny-range-input{font-size:var(--ti-common-font-size-2)}.tiny-range-editor--medium .tiny-range__close-icon,.tiny-range-editor--medium .tiny-range__icon{line-height:34px}.tiny-range-editor--small.tiny-input__inner{height:36px}.tiny-range-editor--small .tiny-range-separator{line-height:28px;font-size:var(--ti-common-font-size-1)}.tiny-range-editor--small .tiny-range-input{font-size:var(--ti-common-font-size-1)}.tiny-range-editor--small .tiny-range__close-icon,.tiny-range-editor--small .tiny-range__icon{line-height:28px}.tiny-range-editor--mini.tiny-input__inner{height:24px}.tiny-range-editor--mini .tiny-range-separator{line-height:16px;font-size:var(--ti-common-font-size-base)}.tiny-range-editor--mini .tiny-range-input{font-size:var(--ti-common-font-size-base)}.tiny-range-editor--mini .tiny-range__close-icon,.tiny-range-editor--mini .tiny-range__icon{line-height:16px}.tiny-range-editor.is-disabled{background-color:var(--ti-date-picker-disabled-bg-color);border-color:var(--ti-date-picker-border-color);color:var(--ti-date-picker-disabled-text-color);cursor:not-allowed}.tiny-range-editor.is-disabled:focus,.tiny-range-editor.is-disabled:hover{border-color:var(--ti-date-picker-border-color)}.tiny-range-editor.is-disabled input{color:var(--ti-date-picker-disabled-text-color);background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed}.tiny-range-editor.is-disabled input::-moz-placeholder{color:#999;opacity:1}.tiny-range-editor.is-disabled input:-ms-input-placeholder{color:#999}.tiny-range-editor.is-disabled input::-webkit-input-placeholder{color:#999}.tiny-range-editor.is-disabled input::-ms-input-placeholder{color:#999}.tiny-range-editor.is-disabled input::placeholder{color:#999}.tiny-range-editor.is-disabled .tiny-range-separator{color:var(--ti-date-picker-disabled-text-color)}.tiny-scrollbar{overflow:hidden;position:relative}.tiny-scrollbar:active>.tiny-scrollbar__bar,.tiny-scrollbar:focus>.tiny-scrollbar__bar,.tiny-scrollbar:hover>.tiny-scrollbar__bar{opacity:1;-webkit-transition:opacity .34s ease-out;transition:opacity .34s ease-out}.tiny-scrollbar__wrap{overflow:scroll;height:100%}.tiny-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.tiny-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:#9093994d;-webkit-transition:.3s background-color;transition:.3s background-color}.tiny-scrollbar__thumb:hover{background-color:#90939980}.tiny-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity .12s ease-out;transition:opacity .12s ease-out}.tiny-scrollbar__bar.is-vertical{width:6px;top:2px}.tiny-scrollbar__bar.is-vertical>div{width:100%}.tiny-scrollbar__bar.is-horizontal{height:6px;left:2px}.tiny-scrollbar__bar.is-horizontal>div{height:100%}.tiny-mobile-picker-column{--ti-mobile-picker-column-item-height:34px;--ti-mobile-picker-column-item-color:#333;--ti-mobile-picker-column-item-font-size:17px;--ti-mobile-picker-column-item-select-color:#039be5;--ti-mobile-picker-column-indicator-border-color:#e5e5e5;--ti-mobile-picker-column-mask-background:linear-gradient(#fff, #ddd, #fff);position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%}.tiny-mobile-picker-column__wrapper{position:absolute;top:0;left:0;width:100%;-webkit-transition-timing-function:cubic-bezier(.23,1,.68,1);transition-timing-function:cubic-bezier(.23,1,.68,1)}.tiny-mobile-picker-column__item{height:var(--ti-mobile-picker-column-item-height,34px);line-height:var(--ti-mobile-picker-column-item-height,34px);color:var(--ti-mobile-picker-column-item-color,#333);font-size:var(--ti-mobile-picker-column-item-font-size,17px);padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.tiny-mobile-picker-column__item.is-select{color:var(--ti-mobile-picker-column-item-select-color,#039be5)}.tiny-mobile-picker-column__mask{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background-image:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.9)),to(hsla(0,0%,100%,.4))),-webkit-gradient(linear,left bottom,left top,from(hsla(0,0%,100%,.9)),to(hsla(0,0%,100%,.4)));background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-repeat:no-repeat;background-position:top,bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none}.tiny-mobile-picker-column__indicator{position:absolute;top:50%;right:0;left:0;z-index:3;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-top:1px solid var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5);border-bottom:1px solid var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator{border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-picker-column__indicator:before{content:"";z-index:1;display:block;background-color:var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5);position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator{border-bottom:none;position:relative}html:not([data-scale]) .tiny-mobile-picker-column__indicator:after{content:"";z-index:1;display:block;background-color:var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5);position:absolute;right:auto;left:0;bottom:0;top:auto;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-picker-column:not(:first-child) .tiny-mobile-picker-column__mask:before{position:absolute;top:0;bottom:0;left:0;width:1px;-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:0 0;transform-origin:0 0;content:" ";background:var(--ti-mobile-picker-column-mask-background,linear-gradient(#fff,#ddd,#fff))}.tiny-mobile-mini-picker{--ti-mobile-mini-picker-mask-background:rgba(0, 0, 0, .6);--ti-mobile-mini-picker-content-bgcolor:#ddd;--ti-mobile-mini-picker-toolbar-height:44px;--ti-mobile-mini-picker-toolbar-bgcolor:#fff;--ti-mobile-mini-picker-toolbar-font-size:14px;--ti-mobile-mini-picker-toolbar-border-color:#ddd;--ti-mobile-mini-picker-toolbar-action-color:#039be5;--ti-mobile-mini-picker-toolbar-cancel-color:#666;--ti-mobile-mini-picker-toolbar-title-color:#333;--ti-mobile-mini-picker-toolbar-title-font-size:17px;--ti-mobile-mini-picker-columns-bgcolor:#fff}.tiny-mobile-mini-picker__mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ti-mobile-mini-picker-mask-background,rgba(0,0,0,.6));z-index:1000}.tiny-mobile-mini-picker__content{position:fixed;bottom:0;left:0;width:100%;background-color:var(--ti-mobile-mini-picker-content-bgcolor,#ddd);-webkit-transform:translate(0,100%);transform:translateY(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;z-index:5000}.tiny-mobile-mini-picker__content.is-toggle{-webkit-transform:translate(0,0);transform:translate(0)}.tiny-mobile-mini-picker__toolbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:var(--ti-mobile-mini-picker-toolbar-height,44px);line-height:var(--ti-mobile-mini-picker-toolbar-height,44px);padding:0 17px;background-color:var(--ti-mobile-mini-picker-toolbar-bgcolor,#fff);font-size:var(--ti-mobile-mini-picker-toolbar-font-size,14px);text-align:center;border-bottom:1px solid var(--ti-mobile-mini-picker-toolbar-border-color,#ddd)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-mini-picker__toolbar{border-bottom:none;position:relative}html:not([data-scale]) .tiny-mobile-mini-picker__toolbar:after{content:"";z-index:1;display:block;background-color:var(--ti-mobile-mini-picker-toolbar-border-color,#ddd);position:absolute;right:auto;left:0;bottom:0;top:auto;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-mini-picker__toolbar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-mini-picker__toolbar .picker_action{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;color:var(--ti-mobile-mini-picker-toolbar-action-color,#039be5)}.tiny-mobile-mini-picker__toolbar .picker_cancel{color:var(--ti-mobile-mini-picker-toolbar-cancel-color,#666);text-align:left}.tiny-mobile-mini-picker__toolbar .picker_title{color:var(--ti-mobile-mini-picker-toolbar-title-color,#333);font-size:var(--ti-mobile-mini-picker-toolbar-title-font-size,17px);font-family:PingFangSC-Regular}.tiny-mobile-mini-picker__toolbar .picker_confirm{text-align:right}.tiny-mobile-mini-picker__columns{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:238px;background-color:var(--ti-mobile-mini-picker-columns-bgcolor,#fff);overflow:hidden}.tiny-date-picker{--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;width:var(--ti-date-picker-width)}.tiny-date-picker.has-sidebar.has-time{width:434px}.tiny-date-picker.has-sidebar{width:398px}.tiny-date-picker.has-time .tiny-picker-panel__body-wrapper{position:relative}.tiny-date-picker table{table-layout:fixed;width:100%}.tiny-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.tiny-date-picker__time-header{position:relative;border-bottom:1px solid var(--ti-date-picker-border-color);font-size:var(--ti-date-picker-font-size);padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-date-picker__header{margin:12px;text-align:center;line-height:var(--ti-date-picker-header-line-height)}.tiny-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid var(--ti-date-picker-border-color)}.tiny-date-picker__header--bordered+.tiny-picker-panel__content{margin-top:0}.tiny-date-picker__header-label{font-size:var(--ti-date-picker-font-size);font-weight:700;padding:0 4px;text-align:center;cursor:pointer;color:var(--ti-date-picker-text-color);vertical-align:middle}.tiny-date-picker__header-label.active,.tiny-date-picker__header-label:hover{color:var(--ti-date-picker-header-label-hover-text-color)}.tiny-date-picker__prev-btn{float:left}.tiny-date-picker__next-btn{float:right}.tiny-date-picker__time-wrap{padding:10px;text-align:center}.tiny-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}
diff --git a/admin-website/src/main/resources/static/assets/index-136c7623.js b/admin-website/src/main/resources/static/assets/index-136c7623.js
deleted file mode 100644
index ffc8f12..0000000
--- a/admin-website/src/main/resources/static/assets/index-136c7623.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as M,a0 as j,r as g,a8 as z,c as Y,u as S,v as T,w as n,E as u,l as t,H as l,W as e,J as y,Z as ee,_ as te,a9 as ae,k as le,y as N,z as W,M as ne,B as se}from"./vue-fdfdc7c1.js";import{I as R,B,T as G,_ as U}from"./index-387d5142.js";import{R as A,C as V,P as oe,a as F,G as ue}from"./index-c544811c.js";import"./index-cd31dfea.js";import{G as ie}from"./index-3d632649.js";import{s as re}from"./time-ae4bc627.js";import{H as D}from"./hwcClient.service-353ee9fe.js";import{F as I,a as L}from"./index-71dedec5.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-51ecf215.js";import"./index-10398010.js";import"./warning-triangle-0392a7a8.js";const de={class:"container-edit"},ce={class:"contain"},me={class:"tip"},pe=M({__name:"index",props:{init:{}},emits:["myclick","mycancel"],setup(C,{expose:b,emit:w}){const{t:d}=j(),v=g(),p=C,i=(o,s,h)=>{/^([a-zA-Z0-9]|[\u4e00-\u9fa5])([a-zA-Z0-9._:()()、:\/-]|[\u4e00-\u9fa5]){2,254}$/.test(s)?(v.value.password!==""&&v.value.validateField("password"),h(void 0)):h(new Error(d("menu.cloud.tip")))};let r=z({name:p.init.name,customer:p.init.customer,description:p.init.description}),f=g(!0);const _=Y(()=>({name:[{required:!0,message:d("menu.cloud.delpass"),trigger:"blur"},{validator:i,trigger:"blur"}],customer:[{required:!1,trigger:"blur"}],description:[{required:!1,trigger:"change"}]})),$=w,E=()=>r,k=()=>{$("mycancel")},c=()=>{v.value.validate(o=>{o?(z({username:r.name}),G.message({message:d("menu.cloud.editpass"),status:"success"}),$("myclick")):G.message({message:d("login.form.registerError"),status:"warning"})})};return b({resultData:E}),(o,s)=>(S(),T("div",de,[n("h3",null,u(o.$t("menu.cloud.edit")),1),n("div",ce,[t(e(L),{ref_key:"ruleForm",ref:v,model:e(r),rules:_.value,"validate-on-rule-change":e(f),"label-align":!0,"label-position":"left","label-width":"110px"},{default:l(()=>[t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{label:o.$t("menu.cloud.name"),prop:"name"},{default:l(()=>[n("div",null,[t(e(R),{modelValue:e(r).name,"onUpdate:modelValue":s[0]||(s[0]=h=>e(r).name=h)},null,8,["modelValue"]),n("div",me,u(o.$t("menu.cloud.tip")),1)])]),_:1},8,["label"])]),_:1})]),_:1}),t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{label:o.$t("menu.cloud.customer"),prop:"customer"},{default:l(()=>[t(e(R),{modelValue:e(r).customer,"onUpdate:modelValue":s[1]||(s[1]=h=>e(r).customer=h)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{label:o.$t("menu.cloud.description"),prop:"description"},{default:l(()=>[t(e(R),{modelValue:e(r).description,"onUpdate:modelValue":s[2]||(s[2]=h=>e(r).description=h),type:"textarea"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{class:"btn"},{default:l(()=>[t(e(B),{type:"primary",onClick:c},{default:l(()=>[y(u(o.$t("menu.cloud.sure")),1)]),_:1}),t(e(B),{onClick:k},{default:l(()=>[y(u(o.$t("menu.cloud.cancel")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model","rules","validate-on-rule-change"])])]))}});const fe=U(pe,[["__scopeId","data-v-bb007481"]]),ge={class:"container-create"},ve={class:"contain"},_e={class:"tip"},ye=M({__name:"index",emits:["myclick","mycancel"],setup(C,{expose:b,emit:w}){const{t:d}=j(),v=g(),p=(c,o,s)=>{/^([a-zA-Z0-9]|[\u4e00-\u9fa5])([a-zA-Z0-9._:()()、:\/-]|[\u4e00-\u9fa5]){2,254}$/.test(o)?(v.value.password!==""&&v.value.validateField("password"),s(void 0)):s(new Error(d("menu.cloud.tip")))};let i=z({name:"",customer:"",description:""}),r=g(!0);const f=Y(()=>({name:[{required:!0,message:d("menu.cloud.verification"),trigger:"blur"},{validator:p,trigger:"blur"}],customer:[{required:!1,trigger:"blur"}],description:[{required:!1,trigger:"change"}]})),_=w,$=()=>i,E=()=>{_("mycancel")},k=()=>{v.value.validate(c=>{c?(z({username:i.name}),G.message({message:d("login.form.registerPass"),status:"success"}),_("myclick")):G.message({message:d("login.form.registerError"),status:"warning"})})};return b({resultData:$}),(c,o)=>(S(),T("div",ge,[n("h3",null,u(c.$t("menu.cloud.create")),1),n("div",ve,[t(e(L),{ref_key:"ruleForm",ref:v,model:e(i),rules:f.value,"validate-on-rule-change":e(r),"label-align":!0,"label-position":"left","label-width":"110px"},{default:l(()=>[t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{label:c.$t("menu.cloud.name"),prop:"name"},{default:l(()=>[n("div",null,[t(e(R),{modelValue:e(i).name,"onUpdate:modelValue":o[0]||(o[0]=s=>e(i).name=s)},null,8,["modelValue"]),n("div",_e,u(c.$t("menu.cloud.tip")),1)])]),_:1},8,["label"])]),_:1})]),_:1}),t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{label:c.$t("menu.cloud.customer"),prop:"customer"},{default:l(()=>[t(e(R),{modelValue:e(i).customer,"onUpdate:modelValue":o[1]||(o[1]=s=>e(i).customer=s)},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{label:c.$t("menu.cloud.description"),prop:"description"},{default:l(()=>[t(e(R),{modelValue:e(i).description,"onUpdate:modelValue":o[2]||(o[2]=s=>e(i).description=s),type:"textarea"},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})]),_:1}),t(e(A),{flex:!0},{default:l(()=>[t(e(V),null,{default:l(()=>[t(e(I),{class:"btn"},{default:l(()=>[t(e(B),{type:"primary",onClick:k},{default:l(()=>[y(u(c.$t("menu.cloud.sure")),1)]),_:1}),t(e(B),{onClick:E},{default:l(()=>[y(u(c.$t("menu.cloud.cancel")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model","rules","validate-on-rule-change"])])]))}});const he=U(ye,[["__scopeId","data-v-a2c95e32"]]),Ce="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAADmklEQVRYR82X3WscZRTGzzN9d6qVVkt3lqCiImiEWlpbrcSixAtBvRBmlhZvIg0limlQaP+B9A9QsGrFIFHUC6XsjHqhF960+NFarUZooe2FxFYk7Gy1H1Zl9s37yGy2km1ms/ORat+rYeac5/zmcM6ZM5CCh9y6TAcH9ojISEuKMqG8wXFg/2wRaRRxjn2jWvldERm6Quc9u9p4poh2ITAdONuM4YdJABawTXnh/rxwucH4cf9KPXv2BCk3JwUH5Fe1Gv14NPwjD1xusKZfeYk0uxYLClgvl7z67v8MjJ/0rdVaT5GiFgcTrZTagKdmjmeFy5WxZs05SOEjaYIBOFjywsE0tvNtMoPpoDJkjIk7seMAaBU6ya1XPrMsa0i59fezwGUC4+d33qgvXDxBYV8nlZwpueHt8T0dOKdJubXz7TGjVq28B4/9dD4tXCawpu+8QvKFBeLAlO2F97Xmmu/8IOSGhIzuLXnhi0sORr+yXtMcpciyXGAiswrWJnj1H9PApcoYSWi/8gWFWxJFU2Qs9oPgK+XVHwbAXnCpwLTvDBtysqtYSrDY37IwrNzwncJgDO64SZtLpyh0lgIMQF3hhn640+cWnYG9yHXgvG4MRxe1y5Cxdtb2KTfcmRuMtfJGLfItRaylBIOIUSIPoNr4vptu1xqbK3jnEEUe7JVVyZixuUaQb5QXDnRrhK5g2i+PGMpET6hWlN5zLEnHEhlR1cZbSc8SwejfskZLdJLkmqsJBuCsWrH8bjz+y28LBnJS4MivTAjN3Kqc5uTMWFt6wq42nusJFgV9m0F9mIzLIOUpABY3Ai01YLszR+ZH6whOjlvN4LUjQtmUEumy2Wm72mh9xKNa+WcRuS2TP+RoyR3bDIyby34dYFFQeV6M2ZdJtG0M4LP4kuQTefzFskZtt/7GAjB+2ufov/VJUlbnEi7oBMjv6jrVjydnwvY4mVOMfGdSyOG8+hCJWhkTsfNqCDBpe+GOf8GaH1UeEmO+zFTw86JD8Jeyl98lEaElir+r1+eBA+L3sraUvPohxH/SzeDAd0nLXWrxAl25IAYwVXIH74cOnO3G8O3UEMmGx+1q4952Vx4TkbVF9OLVCE3f+ZrkQBEhiMwCeDbeBGn4ZuKWmyEAgMMx2CWSKzL4XXVTAH8iqpWnRaQ1HK+ZA0wjCpwxMXz1moGKQSxrtDX5tV9+msSYgOtIWfV/QAJyUQTHINyrvMYH/wCqlqCjKgTtawAAAABJRU5ErkJggg==",P=C=>(ee("data-v-2fa667e7"),C=C(),te(),C),be={class:"container-del"},we={class:"contain"},$e=P(()=>n("img",{src:Ce,alt:"deleted"},null,-1)),ke={class:"contain-main"},Ae={class:"title"},Ve=P(()=>n("span",{class:"del"},"DELETE",-1)),Ie={class:"btn"},Ee=M({__name:"index",props:{init:Object},emits:["myclick","mycancel"],setup(C,{emit:b}){const{t:w}=j(),d=g(""),v=C,p=b,i=()=>{p("mycancel")},r=()=>{d.value.trim()==="DELETE"?(G.message({message:w("menu.cloud.delpass"),status:"success"}),p("myclick")):G.message({message:w("login.form.registerError"),status:"warning"})};return(f,_)=>(S(),T("div",be,[n("h3",null,u(f.$t("menu.cloud.del")),1),n("div",we,[$e,n("div",ke,[n("div",null,[y(u(f.$t("menu.cloud.askDel"))+" ",1),n("b",null,u(f.$t("menu.cloud.askContracts")),1),y("? ")]),n("div",Ae,u(f.$t("menu.contracts.name"))+" "+u(v.init.name),1),n("div",null,[y(u(f.$t("menu.cloud.askInput"))+" ",1),Ve,y(" "+u(f.$t("menu.cloud.askSure")),1)]),t(e(R),{modelValue:d.value,"onUpdate:modelValue":_[0]||(_[0]=$=>d.value=$)},null,8,["modelValue"]),n("div",Ie,[t(e(B),{type:"danger",onClick:r},{default:l(()=>[y(u(f.$t("menu.cloud.sure")),1)]),_:1}),t(e(B),{onClick:i},{default:l(()=>[y(u(f.$t("menu.cloud.cancel")),1)]),_:1})])])])]))}});const Fe=U(Ee,[["__scopeId","data-v-2fa667e7"]]),Se={class:"container-contracts"},ze={class:"contracts-card"},Re={class:"btn"},Be={class:"operation"},Ge=["onClick"],xe=["onClick"],Te={key:0},qe=M({__name:"index",setup(C){const b=z({loading:!1,filterOptions:{}}),w=z({component:oe,attrs:{currentPage:1,pageSize:10,pageSizes:[10,20],total:10,layout:"total, prev, pager, next, jumper, sizes"}}),d=g(!0),{loading:v}=ae(b),p=g(!1),i=g(),r=g(""),f=g(),_=g(),$=g(),E=g(),k=g("536"),c={apigName:"apig_contract",apigGroupName:"group_contract"};async function o(a){const m=await D.apiRequest("getContracts",a,c);return m==null?void 0:m.data}async function s(a){b.loading=!0;try{E.value=await o(a);let m=(a.pageIndex-1)*a.pageSize;return{result:E.value.sort(re("updatedAt")).slice(m,m+a.pageSize),page:{total:E.value.length}}}finally{d.value=!0,b.loading=!1}}async function h(a){return D.apiRequest("delContract",a,c)}async function H(a){return D.apiRequest("editContract",a,c)}async function K(a){return D.apiRequest("addContract",a,c)}const Q=z({api:({page:a})=>{const{currentPage:m,pageSize:q}=a;return s({pageIndex:m,pageSize:q,query:"",field:"name"})}}),O=(a,m)=>{_.value=m,r.value=a,p.value=!p.value,a==="edit"?(i.value=fe,k.value="536"):a==="deletes"?(i.value=Fe,k.value="369"):(i.value=he,k.value="536")};async function Z(){if(p.value=!1,d.value=!1,r.value==="edit"){const a=f.value.resultData(),m={id:_.value.id,name:a.name,customer:a.customer,description:a.description};await H(m),s({pageIndex:1,pageSize:10,query:"",field:"name"})}if(r.value==="deletes"){const a={id:_.value.id};await h(a),s({pageIndex:1,pageSize:10,query:"",field:"name"})}if(r.value==="create"){const a=f.value.resultData(),m={name:a.name,customer:a.customer,description:a.description};await K(m),s({pageIndex:1,pageSize:10,query:"",field:"name"})}}const J=()=>{p.value=!1};return(a,m)=>{const q=le("Breadcrumb");return S(),T(ne,null,[t(q,{items:["menu.cloud","menu.cloud.contracts"]}),n("div",Se,[n("div",ze,[d.value?(S(),N(e(ue),{key:0,ref:$.value,"fetch-data":Q,"auto-load":!0,pager:w,loading:e(v),size:"medium","auto-resize":!0},{toolbar:l(()=>[t(e(ie),null,{buttons:l(x=>[n("div",Re,[n("span",null,u(a.$t("menu.cloud.contracts")),1),t(e(B),{type:"primary",onClick:X=>O("create",x.row)},{default:l(()=>[y(u(a.$t("menu.cloud.create")),1)]),_:2},1032,["onClick"])])]),_:1})]),default:l(()=>[t(e(F),{type:"index",width:"40"}),t(e(F),{field:"name",title:a.$t("menu.cloud.name"),align:"center",sortable:""},null,8,["title"]),t(e(F),{field:"id",title:a.$t("menu.cloud.id"),align:"center"},null,8,["title"]),t(e(F),{field:"customer",title:a.$t("menu.cloud.customer"),align:"center"},null,8,["title"]),t(e(F),{field:"description",title:a.$t("menu.cloud.description"),align:"center"},null,8,["title"]),t(e(F),{field:"updatedAt",title:a.$t("menu.cloud.updatedAt"),align:"center",sortable:""},null,8,["title"]),t(e(F),{title:a.$t("searchTable.columns.operations"),align:"center"},{default:l(x=>[n("span",Be,[n("a",{onClick:X=>O("edit",x.row)},u(a.$t("menu.cloud.editOpa")),9,Ge),y("   "),n("a",{onClick:X=>O("deletes",x.row)},u(a.$t("menu.cloud.editDel")),9,xe)])]),_:1},8,["title"])]),_:1},8,["fetch-data","pager","loading"])):W("",!0)])]),p.value?(S(),T("div",Te,[t(e(G),{modelValue:p.value,"onUpdate:modelValue":m[0]||(m[0]=x=>p.value=x),"lock-scroll":!1,"show-header":!1,"show-footer":!1,type:"confirm","mask-closable":"true",height:k.value,width:"589",onConfirm:Z,onClose:J},{default:l(()=>[(S(),N(se(i.value),{ref_key:"content",ref:f,init:_.value,onMyclick:Z,onMycancel:J},null,40,["init"]))]),_:1},8,["modelValue","height"])])):W("",!0)],64)}}});const Pe=U(qe,[["__scopeId","data-v-19a1fa63"]]);export{Pe as default};
diff --git a/admin-website/src/main/resources/static/assets/index-16fba89c.css b/admin-website/src/main/resources/static/assets/index-16fba89c.css
deleted file mode 100644
index 7e70e04..0000000
--- a/admin-website/src/main/resources/static/assets/index-16fba89c.css
+++ /dev/null
@@ -1 +0,0 @@
-.container[data-v-42f947e1]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto;overflow:hidden}.container .content[data-v-42f947e1]{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;overflow:auto;background:#fff;border-radius:10px}.container .content-main[data-v-42f947e1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22vh 0}.container h3[data-v-42f947e1]{width:270px;height:25px;color:#575d6c;font-weight:bolder;font-size:18px;line-height:25px;text-align:left;text-align:center}.container span[data-v-42f947e1]{min-width:250px;height:20px;color:#8a8e99;font-weight:400;font-size:14px;line-height:20px;text-align:center}
diff --git a/admin-website/src/main/resources/static/assets/index-1d8b45f3.js b/admin-website/src/main/resources/static/assets/index-1d8b45f3.js
deleted file mode 100644
index e2d6471..0000000
--- a/admin-website/src/main/resources/static/assets/index-1d8b45f3.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as $,u as r,v as p,l as e,H as l,W as t,w as n,J as o,E as d,Z as v,_ as b,a8 as C,j as V,k as B,M as N,N as k,y as L}from"./vue-fdfdc7c1.js";import{R as u,C as i,a as y,G as O,L as P}from"./index-c544811c.js";import{C as m,a as E}from"./index-cfcaf865.js";import{S as q,O as A}from"./index-51ecf215.js";import{q as G,n as g,_ as h}from"./index-387d5142.js";import"./index-cd31dfea.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-10398010.js";function M(){return G.get("/api/detail/getdata")}const I=s=>(v("data-v-12d7f218"),s=s(),b(),s),R={class:"col"},T=I(()=>n("span",null,":",-1)),U={class:"col"},z=I(()=>n("span",null,":",-1)),H={class:"col"},J=I(()=>n("span",null,":",-1)),W={class:"col"},Z=I(()=>n("span",null,":",-1)),K=$({__name:"plan-detail",setup(s){return(a,c)=>(r(),p("div",null,[e(t(g),null,{default:l(()=>[e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:2},{default:l(()=>[n("div",R,[o(d(a.$t("menu.plan.department"))+" ",1),T,o(" "+d(a.$t("menu.plan.resource")),1)])]),_:1}),e(t(i),{span:2},{default:l(()=>[n("div",U,[o(d(a.$t("menu.plan.job"))+" ",1),z,o(" All ")])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:2},{default:l(()=>[n("div",H,[o(d(a.$t("menu.plan.person"))+" ",1),J,o(" All ")])]),_:1}),e(t(i),{span:2},{default:l(()=>[n("div",W,[o(d(a.$t("menu.plan.attribute"))+" ",1),Z,o("IT ")])]),_:1})]),_:1})]),_:1})]))}});const Q=h(K,[["__scopeId","data-v-12d7f218"]]),w=s=>(v("data-v-e6b9a58f"),s=s(),b(),s),X={class:"col"},Y=w(()=>n("span",null,":",-1)),x={class:"col"},ee=w(()=>n("span",null,":",-1)),te={class:"col"},ae=w(()=>n("span",null,":",-1)),le=$({__name:"target-detail",setup(s){return(a,c)=>(r(),p("div",null,[e(t(g),null,{default:l(()=>[e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",X,[o(d(a.$t("menu.plan.develop"))+" ",1),Y,o(" "+d(a.$t("menu.plan.yes")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",x,[o(d(a.$t("menu.plan.role"))+" ",1),ee,o(" "+d(a.$t("menu.plan.mentor")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",te,[o(d(a.$t("menu.plan.condition"))+" ",1),ae,o(" "+d(a.$t("menu.plan.approval")),1)])]),_:1})]),_:1})]),_:1})]))}});const ne=h(le,[["__scopeId","data-v-e6b9a58f"]]),j=s=>(v("data-v-ba8fc2e0"),s=s(),b(),s),se={class:"col"},oe=j(()=>n("span",null,":",-1)),de={class:"col"},ie=j(()=>n("span",null,":",-1)),ue={class:"col"},_e=j(()=>n("span",null,":",-1)),re={class:"col"},pe=j(()=>n("span",null,":",-1)),ce={class:"col"},fe=j(()=>n("span",null,":",-1)),me=$({__name:"evaluation-detail",setup(s){return(a,c)=>(r(),p("div",null,[e(t(g),null,{default:l(()=>[e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",se,[o(d(a.$t("menu.plan.develop"))+" ",1),oe,o(" "+d(a.$t("menu.plan.yes")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",de,[o(d(a.$t("menu.plan.frequency"))+" ",1),ie,o(" "+d(a.$t("menu.plan.month")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",ue,[o(d(a.$t("menu.plan.goal"))+" ",1),_e,o(" "+d(a.$t("menu.plan.trainees")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",re,[o(d(a.$t("menu.plan.condition"))+" ",1),pe,o(" "+d(a.$t("menu.plan.teacher")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",ce,[o(d(a.$t("menu.plan.phase"))+" ",1),fe,o(" "+d(a.$t("menu.plan.evaluation")),1)])]),_:1})]),_:1})]),_:1})]))}});const $e=h(me,[["__scopeId","data-v-ba8fc2e0"]]),S=s=>(v("data-v-80e0925e"),s=s(),b(),s),ve={class:"col"},be=S(()=>n("span",null,":",-1)),he={class:"col"},ye=S(()=>n("span",null,":",-1)),ge=$({__name:"whole-detail",setup(s){return(a,c)=>(r(),p("div",null,[e(t(g),null,{default:l(()=>[e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",ve,[o(d(a.$t("menu.plan.develop"))+" ",1),be,o(" "+d(a.$t("menu.plan.yes")),1)])]),_:1})]),_:1}),e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",he,[o(d(a.$t("menu.plan.whole"))+" ",1),ye,o(" "+d(a.$t("menu.plan.evaluation")),1)])]),_:1})]),_:1})]),_:1})]))}});const je=h(ge,[["__scopeId","data-v-80e0925e"]]),De=s=>(v("data-v-fdf1e4e9"),s=s(),b(),s),Ie={class:"col"},we=De(()=>n("span",null,":",-1)),Se=$({__name:"mentor-detail",setup(s){return(a,c)=>(r(),p("div",null,[e(t(g),null,{default:l(()=>[e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",Ie,[o(d(a.$t("menu.plan.pool"))+" ",1),we,o(" "+d(a.$t("menu.plan.no")),1)])]),_:1})]),_:1})]),_:1})]))}});const Fe=h(Se,[["__scopeId","data-v-fdf1e4e9"]]),Ce=$({__name:"record-detail",props:{tableData:[]},setup(s){return(a,c)=>(r(),p("div",null,[e(t(O),{data:s.tableData,"auto-resize":""},{default:l(()=>[e(t(y),{type:"index"}),e(t(y),{field:"version",title:a.$t("menu.plan.version")},null,8,["title"]),e(t(y),{field:"operation",title:a.$t("menu.plan.operation")},null,8,["title"]),e(t(y),{field:"updated",title:a.$t("menu.plan.updated")},null,8,["title"]),e(t(y),{field:"time",title:a.$t("menu.plan.time"),"show-overflow":""},null,8,["title"])]),_:1},8,["data"])]))}}),Ve=s=>(v("data-v-f7bfd6d4"),s=s(),b(),s),Be={class:"detail-page"},Ne={id:"container"},ke={class:"detail-contain"},Le={class:"col"},Oe=Ve(()=>n("span",null,":",-1)),Pe=$({__name:"index",setup(s){const a=C({loading:null,filterOptions:{},activeNames:["1","2","3","4","5","6","7"],Project:[],tableData:[],project:""}),c=async()=>{a.loading=P.service({text:"loading...",target:document.getElementById("container"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:_}=await M();a.Project=_.Project,a.tableData=_.tableData}finally{a.loading.close()}};return V(()=>{c()}),(_,D)=>{const F=B("Breadcrumb");return r(),p("div",Be,[e(F,{items:["menu.profile","menu.profile.detail"]}),n("div",Ne,[n("div",ke,[e(t(E),{modelValue:a.activeNames,"onUpdate:modelValue":D[1]||(D[1]=f=>a.activeNames=f)},{default:l(()=>[e(t(m),{title:_.$t("baseForm.form.label.type"),name:"1"},{default:l(()=>[e(t(u),{flex:!0,justify:"left",class:"margin-bottom"},{default:l(()=>[e(t(i),{span:9},{default:l(()=>[n("div",Le,[o(d(_.$t("baseForm.form.label.type"))+" ",1),Oe,e(t(q),{modelValue:a.project,"onUpdate:modelValue":D[0]||(D[0]=f=>a.project=f),placeholder:_.$t("baseForm.form.label.placeholder"),filterable:""},{default:l(()=>[(r(!0),p(N,null,k(a.Project,f=>(r(),L(t(A),{key:f,label:_.$t(f),value:f},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])]),_:1})]),_:1})]),_:1},8,["title"]),e(t(m),{title:_.$t("baseForm.form.label.people"),name:"2"},{default:l(()=>[e(Q)]),_:1},8,["title"]),e(t(m),{title:_.$t("baseForm.form.label.Objectives"),name:"3"},{default:l(()=>[e(ne)]),_:1},8,["title"]),e(t(m),{title:_.$t("baseForm.form.label.plan"),name:"4"},{default:l(()=>[e($e)]),_:1},8,["title"]),e(t(m),{title:_.$t("baseForm.form.label.evaluation"),name:"5"},{default:l(()=>[e(je)]),_:1},8,["title"]),e(t(m),{title:_.$t("baseForm.form.label.mentortitle"),name:"6"},{default:l(()=>[e(Fe)]),_:1},8,["title"]),e(t(m),{title:_.$t("baseForm.form.record"),name:"7"},{default:l(()=>[e(Ce,{"table-data":a.tableData},null,8,["table-data"])]),_:1},8,["title"])]),_:1},8,["modelValue"])])])])}}});const He=h(Pe,[["__scopeId","data-v-f7bfd6d4"]]);export{He as default};
diff --git a/admin-website/src/main/resources/static/assets/index-26abde33.js b/admin-website/src/main/resources/static/assets/index-26abde33.js
deleted file mode 100644
index 590f7a4..0000000
--- a/admin-website/src/main/resources/static/assets/index-26abde33.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import{u as O,v as T,w as C,y as xe,A as Oe,B as Se,z as Y,E as M,D as fe,F as Te,l as g,I as Pe,L as ze,r as H,d as K,a0 as ye,c as _e,a8 as oe,H as L,W as h,a1 as Me,i as we,J as D,M as pe,N as Ne,p as Fe,Z as Ve,_ as je}from"./vue-fdfdc7c1.js";import{s as be,x as Ae,d as le,p as Be,a as $e,$ as De,b as Ce,c as Ge,e as He,o as Ue,f as Ze,i as qe,g as Re,h as Ye,j as We,k as X,u as Ke,I as W,C as Je,B as ce,T as ae,_ as J,r as Qe,l as Xe,L as et,F as tt,m as nt}from"./index-387d5142.js";import{F as G,a as ke}from"./index-71dedec5.js";import{i as rt}from"./warning-triangle-0392a7a8.js";import"./index-9e0a2cd3.js";var ot={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},at=C("path",{d:"M512 1024a512 512 0 1 1 512-512 512 512 0 0 1-512 512zm0-960a448 448 0 1 0 448 448A448 448 0 0 0 512 64z"},null,-1),it=C("path",{d:"M512 1024c-145.28 0-256-224-256-512S366.72 0 512 0s259.2 224 259.2 512-113.92 512-259.2 512zm0-960c-94.08 0-192 181.76-192 448s97.92 448 192 448 195.2-179.2 195.2-448S606.08 64 512 64z"},null,-1),st=C("path",{d:"M512 339.84a778.88 778.88 0 0 1-390.4-90.88A32 32 0 1 1 154.24 192 723.2 723.2 0 0 0 512 275.84a733.44 733.44 0 0 0 352.64-78.08A32 32 0 1 1 896 256a794.88 794.88 0 0 1-384 83.84zM880.64 822.4a30.72 30.72 0 0 1-16.64-4.48A723.2 723.2 0 0 0 506.24 736a733.44 733.44 0 0 0-352.64 78.72 32 32 0 0 1-32-55.68 802.56 802.56 0 0 1 384-87.04A790.4 790.4 0 0 1 896 762.88a32 32 0 0 1-16.64 59.52zM989.44 544H34.56a32 32 0 1 1 0-64h954.88a32 32 0 0 1 0 64z"},null,-1),lt=C("path",{d:"M512 1024a32 32 0 0 1-32-32V34.56a32 32 0 1 1 64 0v954.88a32 32 0 0 1-32 34.56z"},null,-1),ct=[at,it,st,lt];function ut(t,e){return O(),T("svg",ot,[].concat(ct))}var dt={render:ut},ft=function(){return be({name:"IconLanguage",component:dt})()},pt={class:"prompt_svg__tiny-icon-prompt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",style:{"enable-background":"new 0 0 14 14"},"xml:space":"preserve"},mt=C("path",{d:"M7 0C3.13 0 0 3.13 0 7s3.13 7 7 7 7-3.13 7-7-3.13-7-7-7z",style:{"fill-rule":"evenodd","clip-rule":"evenodd"}},null,-1),gt=C("path",{d:"M7.57 6.43v4a.57.57 0 1 1-1.14 0v-4a.57.57 0 1 1 1.14 0zM7 3c-.47 0-.86.38-.86.86s.39.85.86.85.86-.38.86-.86S7.47 3 7 3z",style:{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}},null,-1),ht=[mt,gt];function vt(t,e){return O(),T("svg",pt,[].concat(ht))}var yt={render:vt},_t=function(){return be({name:"IconPrompt",component:yt})()};const wt=({emit:t,props:e,state:o})=>i=>{!o.disabled&&!e.href&&t("click",i)},bt=["state","handleClick"],$t=(t,{inject:e,reactive:o,computed:i},{emit:d,parent:s})=>{s.tinyForm=s.tinyForm||e("form",null);const m=o({formDisabled:i(()=>(s.tinyForm||{}).disabled),disabled:i(()=>t.disabled||m.formDisabled),href:i(()=>Ae.filterUrl(t.href))});return{state:m,handleClick:wt({emit:d,props:t,state:m})}};function Ct(t,e){var o=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(o)return(o=o.call(t)).next.bind(o);if(Array.isArray(t)||(o=kt(t))||e&&t&&typeof t.length=="number"){o&&(t=o);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kt(t,e){if(t){if(typeof t=="string")return me(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);if(o==="Object"&&t.constructor&&(o=t.constructor.name),o==="Map"||o==="Set")return Array.from(t);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return me(t,e)}}function me(t,e){(e==null||e>t.length)&&(e=t.length);for(var o=0,i=new Array(e);o<e;o++)i[o]=t[o];return i}var Lt=function(e,o){for(var i=e.__vccOpts||e,d=Ct(o),s;!(s=d()).done;){var m=s.value,l=m[0],f=m[1];i[l]=f}return i},Et=le({props:[].concat(Be,["disabled","href","icon","type","underline","value","size"]),emits:["click"],setup:function(e,o){return $e({props:e,context:o,renderless:$t,api:bt})}}),It=["href"],xt={key:1,class:"tiny-link__inner"},Ot={key:2,class:"tiny-link__inner"};function St(t,e,o,i,d,s){return O(),T("a",Te({class:["tiny-link","tiny-link--additional",t.type?"tiny-link--"+t.type:"",t.state.disabled&&"is-disabled",t.underline&&!t.state.disabled&&"is-underline",t.size==="medium"?"tiny-link--"+t.size:"tiny-link--base"],href:t.state.disabled?null:t.state.href},t.a(t.$attrs,["^on[A-Z]"]),{rel:"noopener noreferrer",onClick:e[0]||(e[0]=function(){return t.handleClick&&t.handleClick.apply(t,arguments)})}),[t.icon?(O(),xe(Se(t.icon),{key:0,class:Oe(["tiny-svg-size tiny-link-svg",{"tiny-link-svg-only":!(t.slots.default||t.value)}])},null,8,["class"])):Y("v-if",!0),t.value?(O(),T("span",xt,M(t.value),1)):t.slots.default?(O(),T("span",Ot,[fe(t.$slots,"default")])):Y("v-if",!0),t.slots.icon?fe(t.$slots,"icon",{key:3}):Y("v-if",!0)],16,It)}var Tt=Lt(Et,[["render",St]]);function ie(){return ie=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(t[i]=o[i])}return t},ie.apply(this,arguments)}var Pt=function(e){var o;return typeof process=="object"&&((o={})==null||o.TINY_MODE),Tt},zt=ie({},De,{type:{type:String,default:"default"},value:String,underline:{type:Boolean,default:!0},href:String,icon:[Object,String],disabled:Boolean,size:String}),V=le({name:Ce+"Link",props:zt,setup:function(e,o){return Ge({props:e,context:o,template:Pt})}}),Mt="3.16.0";V.install=function(t){t.component(V.name,V)};V.version=Mt;const Nt=({api:t,state:e})=>()=>{e.duration>0&&(e.timer=setTimeout(()=>{!e.closed&&t.close()},e.duration))},Ft=t=>()=>{clearTimeout(t.timer),t.timer=null},Vt=({emit:t,state:e})=>()=>{typeof e.onClick=="function"&&(void 0).onClick(),t("click","")},jt=({state:t,props:e})=>()=>{(!e.beforeClose||typeof e.beforeClose=="function"&&e.beforeClose())&&(typeof e.onClose=="function"&&e.onClose(),t.closed=!0)},At=t=>e=>{e&&(t.visible=!1)},Bt=t=>{const e={};return e[t.verticalProperty]=`${t.verticalOffset}px`,e},Dt=()=>He.nextZIndex(),Gt=t=>t.position.startsWith("top-")?"top":"bottom",Ht=({api:t,state:e})=>()=>{e.timer&&t.clearTimer(),t.startTimer(),Ue(document,"keydown",t.bindKeyDown)},Ut=t=>()=>Ze(document,"keydown",t.bindKeyDown),Zt=["state","clearTimer","startTimer","close","bindEvent","unBindEvent","click","watchClosed","getOffsetStyle","getPositionSide","getZindex"],qt=(t,{computed:e,onBeforeUnmount:o,onMounted:i,reactive:d,watch:s},{emit:m})=>{const l={},f=d({timer:null,closed:!1,visible:!0,duration:e(()=>t.duration),showClose:!0,verticalOffset:0,position:e(()=>t.position),dangerouslyUseHTMLString:!1,positionStyle:e(()=>l.getOffsetStyle(f)),verticalProperty:e(()=>l.getPositionSide(f)),customClass:e(()=>t.customClass)});return Object.assign(l,{state:f,getZindex:Dt,getOffsetStyle:Bt,getPositionSide:Gt,close:jt({state:f,props:t}),click:Vt({emit:m,state:f}),clearTimer:Ft(f),bindEvent:Ht({api:l,state:f}),unBindEvent:Ut(l),startTimer:Nt({api:l,state:f}),watchClosed:At(f)}),s(()=>f.closed,l.watchClosed,{immediate:!0}),i(l.bindEvent),o(l.unBindEvent),l};function se(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */se=function(){return e};var t,e={},o=Object.prototype,i=o.hasOwnProperty,d=Object.defineProperty||function(a,n,r){a[n]=r.value},s=typeof Symbol=="function"?Symbol:{},m=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",f=s.toStringTag||"@@toStringTag";function v(a,n,r){return Object.defineProperty(a,n,{value:r,enumerable:!0,configurable:!0,writable:!0}),a[n]}try{v({},"")}catch{v=function(r,c,p){return r[c]=p}}function E(a,n,r,c){var p=n&&n.prototype instanceof U?n:U,u=Object.create(p.prototype),$=new ne(c||[]);return d(u,"_invoke",{value:Ee(a,r,$)}),u}function b(a,n,r){try{return{type:"normal",arg:a.call(n,r)}}catch(c){return{type:"throw",arg:c}}}e.wrap=E;var k="suspendedStart",I="suspendedYield",_="executing",w="completed",y={};function U(){}function j(){}function P(){}var Z={};v(Z,m,function(){return this});var N=Object.getPrototypeOf,q=N&&N(N(re([])));q&&q!==o&&i.call(q,m)&&(Z=q);var R=P.prototype=U.prototype=Object.create(Z);function ue(a){["next","throw","return"].forEach(function(n){v(a,n,function(r){return this._invoke(n,r)})})}function Q(a,n){function r(p,u,$,x){var S=b(a[p],a,u);if(S.type!=="throw"){var A=S.arg,F=A.value;return F&&typeof F=="object"&&i.call(F,"__await")?n.resolve(F.__await).then(function(B){r("next",B,$,x)},function(B){r("throw",B,$,x)}):n.resolve(F).then(function(B){A.value=B,$(A)},function(B){return r("throw",B,$,x)})}x(S.arg)}var c;d(this,"_invoke",{value:function(u,$){function x(){return new n(function(S,A){r(u,$,S,A)})}return c=c?c.then(x,x):x()}})}function Ee(a,n,r){var c=k;return function(p,u){if(c===_)throw Error("Generator is already running");if(c===w){if(p==="throw")throw u;return{value:t,done:!0}}for(r.method=p,r.arg=u;;){var $=r.delegate;if($){var x=de($,r);if(x){if(x===y)continue;return x}}if(r.method==="next")r.sent=r._sent=r.arg;else if(r.method==="throw"){if(c===k)throw c=w,r.arg;r.dispatchException(r.arg)}else r.method==="return"&&r.abrupt("return",r.arg);c=_;var S=b(a,n,r);if(S.type==="normal"){if(c=r.done?w:I,S.arg===y)continue;return{value:S.arg,done:r.done}}S.type==="throw"&&(c=w,r.method="throw",r.arg=S.arg)}}}function de(a,n){var r=n.method,c=a.iterator[r];if(c===t)return n.delegate=null,r==="throw"&&a.iterator.return&&(n.method="return",n.arg=t,de(a,n),n.method==="throw")||r!=="return"&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var p=b(c,a.iterator,n.arg);if(p.type==="throw")return n.method="throw",n.arg=p.arg,n.delegate=null,y;var u=p.arg;return u?u.done?(n[a.resultName]=u.value,n.next=a.nextLoc,n.method!=="return"&&(n.method="next",n.arg=t),n.delegate=null,y):u:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function Ie(a){var n={tryLoc:a[0]};1 in a&&(n.catchLoc=a[1]),2 in a&&(n.finallyLoc=a[2],n.afterLoc=a[3]),this.tryEntries.push(n)}function te(a){var n=a.completion||{};n.type="normal",delete n.arg,a.completion=n}function ne(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(Ie,this),this.reset(!0)}function re(a){if(a||a===""){var n=a[m];if(n)return n.call(a);if(typeof a.next=="function")return a;if(!isNaN(a.length)){var r=-1,c=function p(){for(;++r<a.length;)if(i.call(a,r))return p.value=a[r],p.done=!1,p;return p.value=t,p.done=!0,p};return c.next=c}}throw new TypeError(typeof a+" is not iterable")}return j.prototype=P,d(R,"constructor",{value:P,configurable:!0}),d(P,"constructor",{value:j,configurable:!0}),j.displayName=v(P,f,"GeneratorFunction"),e.isGeneratorFunction=function(a){var n=typeof a=="function"&&a.constructor;return!!n&&(n===j||(n.displayName||n.name)==="GeneratorFunction")},e.mark=function(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,P):(a.__proto__=P,v(a,f,"GeneratorFunction")),a.prototype=Object.create(R),a},e.awrap=function(a){return{__await:a}},ue(Q.prototype),v(Q.prototype,l,function(){return this}),e.AsyncIterator=Q,e.async=function(a,n,r,c,p){p===void 0&&(p=Promise);var u=new Q(E(a,n,r,c),p);return e.isGeneratorFunction(n)?u:u.next().then(function($){return $.done?$.value:u.next()})},ue(R),v(R,f,"Generator"),v(R,m,function(){return this}),v(R,"toString",function(){return"[object Generator]"}),e.keys=function(a){var n=Object(a),r=[];for(var c in n)r.push(c);return r.reverse(),function p(){for(;r.length;){var u=r.pop();if(u in n)return p.value=u,p.done=!1,p}return p.done=!0,p}},e.values=re,ne.prototype={constructor:ne,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(te),!n)for(var r in this)r.charAt(0)==="t"&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var n=this.tryEntries[0].completion;if(n.type==="throw")throw n.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function c(A,F){return $.type="throw",$.arg=n,r.next=A,F&&(r.method="next",r.arg=t),!!F}for(var p=this.tryEntries.length-1;p>=0;--p){var u=this.tryEntries[p],$=u.completion;if(u.tryLoc==="root")return c("end");if(u.tryLoc<=this.prev){var x=i.call(u,"catchLoc"),S=i.call(u,"finallyLoc");if(x&&S){if(this.prev<u.catchLoc)return c(u.catchLoc,!0);if(this.prev<u.finallyLoc)return c(u.finallyLoc)}else if(x){if(this.prev<u.catchLoc)return c(u.catchLoc,!0)}else{if(!S)throw Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return c(u.finallyLoc)}}}},abrupt:function(n,r){for(var c=this.tryEntries.length-1;c>=0;--c){var p=this.tryEntries[c];if(p.tryLoc<=this.prev&&i.call(p,"finallyLoc")&&this.prev<p.finallyLoc){var u=p;break}}u&&(n==="break"||n==="continue")&&u.tryLoc<=r&&r<=u.finallyLoc&&(u=null);var $=u?u.completion:{};return $.type=n,$.arg=r,u?(this.method="next",this.next=u.finallyLoc,y):this.complete($)},complete:function(n,r){if(n.type==="throw")throw n.arg;return n.type==="break"||n.type==="continue"?this.next=n.arg:n.type==="return"?(this.rval=this.arg=n.arg,this.method="return",this.next="end"):n.type==="normal"&&r&&(this.next=r),y},finish:function(n){for(var r=this.tryEntries.length-1;r>=0;--r){var c=this.tryEntries[r];if(c.finallyLoc===n)return this.complete(c.completion,c.afterLoc),te(c),y}},catch:function(n){for(var r=this.tryEntries.length-1;r>=0;--r){var c=this.tryEntries[r];if(c.tryLoc===n){var p=c.completion;if(p.type==="throw"){var u=p.arg;te(c)}return u}}throw Error("illegal catch attempt")},delegateYield:function(n,r,c){return this.delegate={iterator:re(n),resultName:r,nextLoc:c},this.method==="next"&&(this.arg=t),y}},e}function ge(t,e,o,i,d,s,m){try{var l=t[s](m),f=l.value}catch(v){o(v);return}l.done?e(f):Promise.resolve(f).then(i,d)}function Rt(t){return function(){var e=this,o=arguments;return new Promise(function(i,d){var s=t.apply(e,o);function m(f){ge(s,i,d,m,l,"next",f)}function l(f){ge(s,i,d,m,l,"throw",f)}m(void 0)})}}var Yt=le({name:Ce+"Notify",props:{beforeClose:Function,closeIcon:{type:Object,default:function(){return We()}},customClass:[String,Object],duration:{type:Number,default:0},message:[String,Function],onClose:Function,position:{type:String,default:"bottom-right"},showClose:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},statusIcon:Object,title:[String,Function],type:String},setup:function(e,o){return $e({props:e,context:o,renderless:qt,api:Zt,mono:!0})},render:function(){var e=this.clearTimer,o=this.click,i=this.close,d=this.closeIcon,s=this.message,m=this.showClose,l=this.showIcon,f=this.startTimer,v=this.state,E=this.statusIcon,b=this.title,k=this.type,I={},_=I.closeVNode,w=_===void 0?null:_,y=I.iconVNode,U=y===void 0?null:y,j=I.notifyContent,P=j===void 0?null:j,Z=I.notifyTitle,N=Z===void 0?null:Z;l&&E&&(U=g("div",{class:"tiny-notify__icon-zone"},[g("span",{class:"tiny-notify__icon-status"},[g(E,{class:"tiny-svg-size"},null)])])),m&&(w=g("div",{class:"tiny-notify__close-zone"},[g("span",{class:"tiny-notify__icon-close"},[g(d,{class:"tiny-svg-size",onClick:i},null)])])),b&&typeof b=="string"?N=X("div",{class:"tiny-notify__title"},b):typeof b=="function"&&(N=b(X,{vm:this,titleClass:"tiny-notify__title"})),typeof s=="string"?P=X("p",{class:"tiny-notify__content"},s):typeof s=="function"&&(P=s(X,{vm:this,messageClass:"tiny-notify__content"}));var q=g("div",{class:"tiny-notify__message-zone"},[N?g("div",{class:"tiny-notify__title-wrapper"},[N]):null,g("div",{class:"tiny-notify__content-wrapper"},[P])]);return Pe(g("div",{class:["tiny-notify","tiny-notify--"+k,l?"":"tiny-notify--no-icon",m?"":"tiny-notify--no-close",v.position,v.customClass],style:v.positionStyle,onMouseenter:e,onMouseleave:f,onClick:o},[[U,q,w]]),[[ze,"state.visible"]])}}),Wt=1,z=[],he={warning:rt(),error:qe(),info:_t(),success:Re()},Kt={info:5e3,success:5e3,warning:1e4,error:1e4},Jt=["top-right","bottom-right"],Qt=function(e,o){var i=null;return Rt(se().mark(function d(){var s=arguments,m=this,l;return se().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:return i&&clearTimeout(i),l=null,v.next=4,new Promise(function(E){i=setTimeout(function(){l=e.apply(m,s),i=null,E()},o)});case 4:return v.abrupt("return",l);case 5:case"end":return v.stop()}},d)}))},ve=function(e){~Object.keys(he).indexOf(e.type)||(e.type="info"),e.duration=e.duration?e.duration:Kt[e.type],e.position=~Jt.indexOf(e.position)?e.position:"bottom-right",!e.statusIcon&&e.type&&(e.statusIcon=he[e.type]);var o="notify_"+Wt++,i=e.onClose,d=e.position;e.onClose=function(){ee.close(o,i)};var s=Ye({el:document.createElement("div"),propsData:e,component:Yt});s.id=o,document.body.appendChild(s.$el);var m=e.offset||0;return z.filter(function(l){return l.state.position===d}).forEach(function(l){m+=l.$el.offsetHeight+16}),m+=e.verticalOffset?Number(e.verticalOffset):16,z.push(s),s.dom=s.$el,s.dom.style.zIndex=s.getZindex(),s.state.verticalOffset=m,s.state.visible=!0,m+s.$el.offsetHeight>window.innerHeight&&z[0]&&z[0].close(z[0].id),s},ee=function(e){var o=e.debounceDelay;return o?Qt(function(){return ve(e)},o):ve(e)};ee.close=function(t,e){for(var o=-1,i=z.length,d,s=0;s<i;s++){var m=z[s];if(m.id===t){o=s,d=m;break}}if(d){typeof e=="function"&&e(d);var l=d.$el.offsetHeight;if(d.$el.parentNode.removeChild(d.$el),z.splice(o,1),!(i<=1)){var f=d.position,v=z.slice(o),E=16;z.filter(function(b){return b.state.position===f}).forEach(function(b){b.state.verticalOffset=E,E+=b.$el.offsetHeight+16}),v.forEach(function(b){if(b.position===f){var k=parseInt(b.dom.style[d.state.verticalProperty],10)-l-16;b.dom.style[d.state.verticalProperty]=k+"px"}})}}};ee.closeAll=function(){var t=z.slice(0);t=t.reverse(),t.forEach(function(e){e.close()})};function Le(t=!1){const e=H(t);return{loading:e,setLoading:d=>{e.value=d},toggle:()=>{e.value=!e.value}}}const Xt={class:"login-form-container"},en={class:"login-form-options"},tn=K({__name:"login-mail",setup(t){const e=Me(),{t:o}=ye(),{loading:i,setLoading:d}=Le(),s=Ke(),m=H(),l=_e(()=>({mailname:[{required:!0,message:o("login.form.mailName.errMsg"),trigger:"change"}],mailpassword:[{required:!0,message:o("login.form.mailpassword.errMsg"),trigger:"change"}]})),f=oe({mailname:"admin",mailpassword:"changeMyPassword",rememberPassword:!0}),v=we("handle"),E=()=>{v(!0)};function b(){var k;(k=m.value)==null||k.validate(async I=>{if(I){d(!0);try{await s.login({username:f.mailname,password:f.mailpassword,grant_type:"password"}),ae.message({message:o("login.form.login.success"),status:"success"});const{redirect:_,...w}=e.currentRoute.value.query;e.push({name:_||"Home",query:{...w}})}catch{ee({type:"error",title:o("login.tip.right"),message:o("login.tip.mail"),position:"top-right",duration:2e3,customClass:"my-custom-cls"})}finally{d(!1)}}})}return(k,I)=>(O(),T("div",Xt,[g(h(ke),{ref_key:"loginFormMail",ref:m,model:f,class:"login-form",rules:l.value,"validate-type":"text","label-width":"0",size:"medium"},{default:L(()=>[g(h(G),{prop:"mailname",size:"medium"},{default:L(()=>[g(h(W),{modelValue:f.mailname,"onUpdate:modelValue":I[0]||(I[0]=_=>f.mailname=_),placeholder:k.$t("login.form.mailName.placeholder")},null,8,["modelValue","placeholder"])]),_:1}),g(h(G),{prop:"mailpassword",size:"medium"},{default:L(()=>[g(h(W),{modelValue:f.mailpassword,"onUpdate:modelValue":I[1]||(I[1]=_=>f.mailpassword=_),type:"password","show-password":"",placeholder:k.$t("login.form.mailpassword.placeholder")},null,8,["modelValue","placeholder"])]),_:1}),C("div",en,[g(h(Je),null,{default:L(()=>[D(M(k.$t("login.form.rememberPassword")),1)]),_:1}),C("div",null,[g(h(V),{type:"primary"},{default:L(()=>[D(M(k.$t("login.form.forgetPassword")),1)]),_:1}),g(h(V),{type:"primary",class:"divide-line"},{default:L(()=>[D("|")]),_:1}),g(h(V),{type:"primary",onClick:E},{default:L(()=>[D(M(k.$t("login.form.registration")),1)]),_:1})])]),g(h(G),{size:"medium"},{default:L(()=>[g(h(ce),{type:"primary",class:"login-form-btn",loading:h(i),onClick:b},{default:L(()=>[D(M(k.$t("login.form.login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules"])]))}});const nn=J(tn,[["__scopeId","data-v-985986a4"]]),rn={class:"login-register-container"},on={class:"login-form-options"},an=K({__name:"login-register",setup(t){const{t:e}=ye(),{loading:o,setLoading:i}=Le(),d=H(),s=we("handle"),m=()=>{s(!1)};let l=oe({username:"",password:"",passwordConfirm:""}),f=H(!0);const v=(_,w,y)=>{/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/.test(w)?y():y(new Error(e("login.form.checkPassword")))},E=(_,w,y)=>{/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(w)?y():y(new Error(e("login.form.checkUsername")))},b=(_,w,y)=>{l.password&&l.password!==w?y(new Error(e("login.form.confirmPassword"))):y()},k=_e(()=>({username:[{required:!0,message:e("login.form.mailName.errMsg"),trigger:"blur"},{validator:E,trigger:"blur"}],password:[{required:!0,message:e("login.form.mailpassword.errMsg"),trigger:"blur"},{validator:v,trigger:"blur"}],passwordConfirm:[{required:!0,message:e("login.form.mailpassword2.errMsg"),trigger:"blur"},{validator:b,trigger:"blur"}]}));function I(){d.value.validate(async _=>{if(_){let w=oe({username:l.username,password:l.password});await Qe(w),ae.message({message:e("login.form.registerPass"),status:"success"}),s(!1)}else ae.message({message:e("login.form.registerError"),status:"warning"})})}return(_,w)=>(O(),T("div",rn,[g(h(ke),{ref_key:"ruleForm",ref:d,model:h(l),rules:k.value,"validate-on-rule-change":h(f),"label-align":!0,"label-position":"top","label-width":"100px"},{default:L(()=>[g(h(G),{label:_.$t("login.form.mailInput"),prop:"username",size:"medium"},{default:L(()=>[g(h(W),{modelValue:h(l).username,"onUpdate:modelValue":w[0]||(w[0]=y=>h(l).username=y),placeholder:_.$t("login.form.registerMail.placeholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),g(h(G),{label:_.$t("login.form.passwordInput"),prop:"password",size:"medium"},{default:L(()=>[g(h(W),{modelValue:h(l).password,"onUpdate:modelValue":w[1]||(w[1]=y=>h(l).password=y),placeholder:_.$t("login.form.registerPassword.placeholder"),type:"password","show-password":""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),g(h(G),{label:_.$t("login.form.passwordConfirm"),prop:"passwordConfirm",size:"medium"},{default:L(()=>[g(h(W),{modelValue:h(l).passwordConfirm,"onUpdate:modelValue":w[2]||(w[2]=y=>h(l).passwordConfirm=y),placeholder:_.$t("login.form.registerConfirmPassword.placeholder"),type:"password","show-password":""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),C("div",on,[g(h(V),{type:"primary",onClick:m},{default:L(()=>[D(M(_.$t("login.form.change")),1)]),_:1})]),g(h(G),{size:"medium"},{default:L(()=>[g(h(ce),{type:"primary",class:"login-form-btn",loading:h(o),onClick:I},{default:L(()=>[D(M(_.$t("login.form.register")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules","validate-on-rule-change"])]))}});const sn=J(an,[["__scopeId","data-v-99554533"]]),ln={key:0,class:"login-lan-drop"},cn=["value","onClick"],un=K({__name:"login-lang",setup(t){const e=[...et],{changeLocale:o}=Xe(),i=ft(),d=H(!1),s=()=>{d.value=!d.value};return(m,l)=>(O(),T(pe,null,[g(h(ce),{icon:h(i),circle:"",onClick:s},null,8,["icon"]),C("span",null,M(m.$t("login.icon.language")),1),d.value?(O(),T("div",ln,[(O(),T(pe,null,Ne(e,(f,v)=>C("li",{key:v,value:f.value,onClick:E=>h(o)(e[v].value)},M(f.label),9,cn)),64))])):Y("",!0)],64))}});const dn=J(un,[["__scopeId","data-v-ea2ebbb9"]]),fn={class:"login-form-container"},pn={class:"login-form-language"},mn={key:0},gn={key:1},hn=K({__name:"login-form",setup(t){H("first");let e=H(!1);return Fe("handle",i=>{e.value=i}),(i,d)=>(O(),T("div",fn,[C("div",pn,[g(dn)]),h(e)?(O(),T("div",mn,[g(sn)])):Y("",!0),h(e)?Y("",!0):(O(),T("div",gn,[g(nn)]))]))}});const vn=J(hn,[["__scopeId","data-v-19097b9e"]]),yn=t=>(Ve("data-v-fe79e3e5"),t=t(),je(),t),_n={class:"container-login"},wn={class:"content"},bn={class:"login"},$n={class:"login-header"},Cn=yn(()=>C("div",{class:"login-logo"},[C("img",{class:"login-logo-img",alt:"Tiny Design",src:nt}),C("span",{class:"login-logo-text"},"TinyPro of Vue")],-1)),kn={class:"login-desc"},Ln={class:"footer"},En=K({__name:"index",setup(t){return(e,o)=>(O(),T("div",_n,[C("div",wn,[C("div",bn,[C("div",$n,[Cn,C("div",kn,M(e.$t("login.main.text")),1)]),g(vn)])]),C("div",Ln,[g(tt)])]))}});const Pn=J(En,[["__scopeId","data-v-fe79e3e5"]]);export{Pn as default};
diff --git a/admin-website/src/main/resources/static/assets/index-2a2191fb.js b/admin-website/src/main/resources/static/assets/index-2a2191fb.js
deleted file mode 100644
index 2c409e2..0000000
--- a/admin-website/src/main/resources/static/assets/index-2a2191fb.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as _,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const r={};function c(s,d){const e=o("router-view");return _(),t(e)}const i=n(r,[["render",c],["__scopeId","data-v-6ddb8718"]]);export{i as default};
diff --git a/admin-website/src/main/resources/static/assets/index-30a94818.css b/admin-website/src/main/resources/static/assets/index-30a94818.css
deleted file mode 100644
index b670a0a..0000000
--- a/admin-website/src/main/resources/static/assets/index-30a94818.css
+++ /dev/null
@@ -1 +0,0 @@
-.margin-bottom[data-v-12d7f218]{margin-top:20px;margin-bottom:30px}.col>span[data-v-12d7f218]{padding:0 10px}.margin-bottom[data-v-e6b9a58f]{margin-top:20px;margin-bottom:30px}.col>span[data-v-e6b9a58f]{padding:0 10px}.margin-bottom[data-v-ba8fc2e0]{margin-top:20px;margin-bottom:30px}.col>span[data-v-ba8fc2e0]{padding:0 10px}.margin-bottom[data-v-80e0925e]{margin-top:20px;margin-bottom:30px}.col>span[data-v-80e0925e]{padding:0 10px}.margin-bottom[data-v-fdf1e4e9]{margin-top:20px;margin-bottom:30px}.col>span[data-v-fdf1e4e9]{padding:0 10px}.detail-page[data-v-f7bfd6d4]{height:100%}#container[data-v-f7bfd6d4]{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 60px);overflow-x:hidden;overflow-y:auto}.detail-contain[data-v-f7bfd6d4]{flex:1 1 auto;height:100%;margin:8px 10px;padding:22px 20px;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 0 8px 8px #a9aeb80d}[data-v-f7bfd6d4] .tiny-select{width:400px}[data-v-f7bfd6d4] .tiny-collapse-item{margin-bottom:20px}.margin-bottom[data-v-f7bfd6d4]{margin-top:20px;margin-bottom:30px}.col>span[data-v-f7bfd6d4]{padding:0 10px}[data-v-f7bfd6d4] .tiny-collapse-item__arrow.is-active{fill:var(--ti-common-color-text-highlight)}[data-v-f7bfd6d4] .tiny-collapse-item__header svg{fill:var(--ti-common-color-text-highlight)}
diff --git a/admin-website/src/main/resources/static/assets/index-387d5142.js b/admin-website/src/main/resources/static/assets/index-387d5142.js
deleted file mode 100644
index 5c085f6..0000000
--- a/admin-website/src/main/resources/static/assets/index-387d5142.js
+++ /dev/null
@@ -1,295 +0,0 @@
-import{d as defineComponent$1,c as computed,h as h$2,i as inject,p as provide,a as defineAsyncComponent$1,m as markRaw$1,b as isVNode,r as ref,o as onBeforeUnmount,g as getCurrentInstance,e as hooks,f as onBeforeMount$1,j as onMounted,n as nextTick,k as resolveComponent,l as createVNode$1,q as render$J,T as Transition$1,s as TransitionGroup,K as KeepAlive$1,t as Text$4,C as Comment$1,u as openBlock,v as createElementBlock,w as createBaseVNode,x as createStaticVNode,y as createBlock,z as createCommentVNode,A as normalizeClass,B as resolveDynamicComponent,D as renderSlot,E as toDisplayString,F as mergeProps,G as normalizeStyle$2,H as withCtx,I as withDirectives,J as createTextVNode,L as vShow,M as Fragment,N as renderList,O as normalizeProps,P as withModifiers,Q as withKeys,R as vModelCheckbox,S as toHandlers,U as vModelRadio,V as resolveDirective,W as unref,X as defineStore,Y as createPinia,Z as pushScopeId,_ as popScopeId,$ as createI18n,a0 as useI18n,a1 as useRouter$1,a2 as watch,a3 as useCssVars,a4 as createRouter,a5 as createWebHistory,a6 as useClipboard,a7 as createApp}from"./vue-fdfdc7c1.js";(function(){const te=document.createElement("link").relList;if(te&&te.supports&&te.supports("modulepreload"))return;for(const ie of document.querySelectorAll('link[rel="modulepreload"]'))ne(ie);new MutationObserver(ie=>{for(const oe of ie)if(oe.type==="childList")for(const se of oe.addedNodes)se.tagName==="LINK"&&se.rel==="modulepreload"&&ne(se)}).observe(document,{childList:!0,subtree:!0});function ae(ie){const oe={};return ie.integrity&&(oe.integrity=ie.integrity),ie.referrerPolicy&&(oe.referrerPolicy=ie.referrerPolicy),ie.crossOrigin==="use-credentials"?oe.credentials="include":ie.crossOrigin==="anonymous"?oe.credentials="omit":oe.credentials="same-origin",oe}function ne(ie){if(ie.ep)return;ie.ep=!0;const oe=ae(ie);fetch(ie.href,oe)}})();var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(ee){return ee&&ee.__esModule&&Object.prototype.hasOwnProperty.call(ee,"default")?ee.default:ee}function getAugmentedNamespace(ee){if(ee.__esModule)return ee;var te=ee.default;if(typeof te=="function"){var ae=function ne(){return this instanceof ne?Reflect.construct(te,arguments,this.constructor):te.apply(this,arguments)};ae.prototype=te.prototype}else ae={};return Object.defineProperty(ae,"__esModule",{value:!0}),Object.keys(ee).forEach(function(ne){var ie=Object.getOwnPropertyDescriptor(ee,ne);Object.defineProperty(ae,ne,ie.get?ie:{enumerable:!0,get:function(){return ee[ne]}})}),ae}var echarts4={},echarts$1={},zrender$1={},idStart$1=2311;function _default$1g(){return idStart$1++}var guid$4=_default$1g,env$c={};typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?env$c={browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:typeof document>"u"&&typeof self<"u"?env$c={browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:typeof navigator>"u"?env$c={browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:env$c=detect$1(navigator.userAgent);var _default$1f=env$c;function detect$1(ee){var te={},ae={},ne=ee.match(/Firefox\/([\d.]+)/),ie=ee.match(/MSIE\s([\d.]+)/)||ee.match(/Trident\/.+?rv:(([\d.]+))/),oe=ee.match(/Edge\/([\d.]+)/),se=/micromessenger/i.test(ee);return ne&&(ae.firefox=!0,ae.version=ne[1]),ie&&(ae.ie=!0,ae.version=ie[1]),oe&&(ae.edge=!0,ae.version=oe[1]),se&&(ae.weChat=!0),{browser:ae,os:te,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:typeof SVGRect<"u",touchEventsSupported:"ontouchstart"in window&&!ae.ie&&!ae.edge,pointerEventsSupported:"onpointerdown"in window&&(ae.edge||ae.ie&&ae.version>=11),domSupported:typeof document<"u"}}var env_1=_default$1f,util$a={},BUILTIN_OBJECT$1={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},TYPED_ARRAY$1={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},objToString$1=Object.prototype.toString,arrayProto$1=Array.prototype,nativeForEach$1=arrayProto$1.forEach,nativeFilter$1=arrayProto$1.filter,nativeSlice$1=arrayProto$1.slice,nativeMap$1=arrayProto$1.map,nativeReduce=arrayProto$1.reduce,methods$2={};function $override$1(ee,te){ee==="createCanvas"&&(_ctx=null),methods$2[ee]=te}function clone$9(ee){if(ee==null||typeof ee!="object")return ee;var te=ee,ae=objToString$1.call(ee);if(ae==="[object Array]"){if(!isPrimitive$1(ee)){te=[];for(var ne=0,ie=ee.length;ne<ie;ne++)te[ne]=clone$9(ee[ne])}}else if(TYPED_ARRAY$1[ae]){if(!isPrimitive$1(ee)){var oe=ee.constructor;if(ee.constructor.from)te=oe.from(ee);else{te=new oe(ee.length);for(var ne=0,ie=ee.length;ne<ie;ne++)te[ne]=clone$9(ee[ne])}}}else if(!BUILTIN_OBJECT$1[ae]&&!isPrimitive$1(ee)&&!isDom$1(ee)){te={};for(var se in ee)ee.hasOwnProperty(se)&&(te[se]=clone$9(ee[se]))}return te}function merge$6(ee,te,ae){if(!isObject$e(te)||!isObject$e(ee))return ae?clone$9(te):ee;for(var ne in te)if(te.hasOwnProperty(ne)){var ie=ee[ne],oe=te[ne];isObject$e(oe)&&isObject$e(ie)&&!isArray$9(oe)&&!isArray$9(ie)&&!isDom$1(oe)&&!isDom$1(ie)&&!isBuiltInObject$1(oe)&&!isBuiltInObject$1(ie)&&!isPrimitive$1(oe)&&!isPrimitive$1(ie)?merge$6(ie,oe,ae):(ae||!(ne in ee))&&(ee[ne]=clone$9(te[ne]))}return ee}function mergeAll$1(ee,te){for(var ae=ee[0],ne=1,ie=ee.length;ne<ie;ne++)ae=merge$6(ae,ee[ne],te);return ae}function extend$a(ee,te){for(var ae in te)te.hasOwnProperty(ae)&&(ee[ae]=te[ae]);return ee}function defaults$6(ee,te,ae){for(var ne in te)te.hasOwnProperty(ne)&&(ae?te[ne]!=null:ee[ne]==null)&&(ee[ne]=te[ne]);return ee}var createCanvas$1=function(){return methods$2.createCanvas()};methods$2.createCanvas=function(){return document.createElement("canvas")};var _ctx;function getContext$1(){return _ctx||(_ctx=createCanvas$1().getContext("2d")),_ctx}function indexOf$4(ee,te){if(ee){if(ee.indexOf)return ee.indexOf(te);for(var ae=0,ne=ee.length;ae<ne;ae++)if(ee[ae]===te)return ae}return-1}function inherits$3(ee,te){var ae=ee.prototype;function ne(){}ne.prototype=te.prototype,ee.prototype=new ne;for(var ie in ae)ae.hasOwnProperty(ie)&&(ee.prototype[ie]=ae[ie]);ee.prototype.constructor=ee,ee.superClass=te}function mixin$3(ee,te,ae){ee="prototype"in ee?ee.prototype:ee,te="prototype"in te?te.prototype:te,defaults$6(ee,te,ae)}function isArrayLike$3(ee){if(ee)return typeof ee=="string"?!1:typeof ee.length=="number"}function each$u(ee,te,ae){if(ee&&te)if(ee.forEach&&ee.forEach===nativeForEach$1)ee.forEach(te,ae);else if(ee.length===+ee.length)for(var ne=0,ie=ee.length;ne<ie;ne++)te.call(ae,ee[ne],ne,ee);else for(var oe in ee)ee.hasOwnProperty(oe)&&te.call(ae,ee[oe],oe,ee)}function map$6(ee,te,ae){if(ee&&te){if(ee.map&&ee.map===nativeMap$1)return ee.map(te,ae);for(var ne=[],ie=0,oe=ee.length;ie<oe;ie++)ne.push(te.call(ae,ee[ie],ie,ee));return ne}}function reduce$1(ee,te,ae,ne){if(ee&&te){if(ee.reduce&&ee.reduce===nativeReduce)return ee.reduce(te,ae,ne);for(var ie=0,oe=ee.length;ie<oe;ie++)ae=te.call(ne,ae,ee[ie],ie,ee);return ae}}function filter$4(ee,te,ae){if(ee&&te){if(ee.filter&&ee.filter===nativeFilter$1)return ee.filter(te,ae);for(var ne=[],ie=0,oe=ee.length;ie<oe;ie++)te.call(ae,ee[ie],ie,ee)&&ne.push(ee[ie]);return ne}}function find$2(ee,te,ae){if(ee&&te){for(var ne=0,ie=ee.length;ne<ie;ne++)if(te.call(ae,ee[ne],ne,ee))return ee[ne]}}function bind$3(ee,te){var ae=nativeSlice$1.call(arguments,2);return function(){return ee.apply(te,ae.concat(nativeSlice$1.call(arguments)))}}function curry$2(ee){var te=nativeSlice$1.call(arguments,1);return function(){return ee.apply(this,te.concat(nativeSlice$1.call(arguments)))}}function isArray$9(ee){return objToString$1.call(ee)==="[object Array]"}function isFunction$8(ee){return typeof ee=="function"}function isString$8(ee){return objToString$1.call(ee)==="[object String]"}function isObject$e(ee){var te=typeof ee;return te==="function"||!!ee&&te==="object"}function isBuiltInObject$1(ee){return!!BUILTIN_OBJECT$1[objToString$1.call(ee)]}function isTypedArray$2(ee){return!!TYPED_ARRAY$1[objToString$1.call(ee)]}function isDom$1(ee){return typeof ee=="object"&&typeof ee.nodeType=="number"&&typeof ee.ownerDocument=="object"}function eqNaN$1(ee){return ee!==ee}function retrieve$1(ee){for(var te=0,ae=arguments.length;te<ae;te++)if(arguments[te]!=null)return arguments[te]}function retrieve2$3(ee,te){return ee??te}function retrieve3$3(ee,te,ae){return ee??te??ae}function slice$1(){return Function.call.apply(nativeSlice$1,arguments)}function normalizeCssArray$4(ee){if(typeof ee=="number")return[ee,ee,ee,ee];var te=ee.length;return te===2?[ee[0],ee[1],ee[0],ee[1]]:te===3?[ee[0],ee[1],ee[2],ee[1]]:ee}function assert$2(ee,te){if(!ee)throw new Error(te)}function trim$6(ee){return ee==null?null:typeof ee.trim=="function"?ee.trim():ee.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var primitiveKey$1="__ec_primitive__";function setAsPrimitive$1(ee){ee[primitiveKey$1]=!0}function isPrimitive$1(ee){return ee[primitiveKey$1]}function HashMap$1(ee){var te=isArray$9(ee);this.data={};var ae=this;ee instanceof HashMap$1?ee.each(ne):ee&&each$u(ee,ne);function ne(ie,oe){te?ae.set(ie,oe):ae.set(oe,ie)}}HashMap$1.prototype={constructor:HashMap$1,get:function(ee){return this.data.hasOwnProperty(ee)?this.data[ee]:null},set:function(ee,te){return this.data[ee]=te},each:function(ee,te){te!==void 0&&(ee=bind$3(ee,te));for(var ae in this.data)this.data.hasOwnProperty(ae)&&ee(this.data[ae],ae)},removeKey:function(ee){delete this.data[ee]}};function createHashMap$5(ee){return new HashMap$1(ee)}function concatArray$1(ee,te){for(var ae=new ee.constructor(ee.length+te.length),ne=0;ne<ee.length;ne++)ae[ne]=ee[ne];var ie=ee.length;for(ne=0;ne<te.length;ne++)ae[ne+ie]=te[ne];return ae}function noop$5(){}util$a.$override=$override$1;util$a.clone=clone$9;util$a.merge=merge$6;util$a.mergeAll=mergeAll$1;util$a.extend=extend$a;util$a.defaults=defaults$6;util$a.createCanvas=createCanvas$1;util$a.getContext=getContext$1;util$a.indexOf=indexOf$4;util$a.inherits=inherits$3;util$a.mixin=mixin$3;util$a.isArrayLike=isArrayLike$3;util$a.each=each$u;util$a.map=map$6;util$a.reduce=reduce$1;util$a.filter=filter$4;util$a.find=find$2;util$a.bind=bind$3;util$a.curry=curry$2;util$a.isArray=isArray$9;util$a.isFunction=isFunction$8;util$a.isString=isString$8;util$a.isObject=isObject$e;util$a.isBuiltInObject=isBuiltInObject$1;util$a.isTypedArray=isTypedArray$2;util$a.isDom=isDom$1;util$a.eqNaN=eqNaN$1;util$a.retrieve=retrieve$1;util$a.retrieve2=retrieve2$3;util$a.retrieve3=retrieve3$3;util$a.slice=slice$1;util$a.normalizeCssArray=normalizeCssArray$4;util$a.assert=assert$2;util$a.trim=trim$6;util$a.setAsPrimitive=setAsPrimitive$1;util$a.isPrimitive=isPrimitive$1;util$a.createHashMap=createHashMap$5;util$a.concatArray=concatArray$1;util$a.noop=noop$5;var vector$3={},ArrayCtor$1=typeof Float32Array>"u"?Array:Float32Array;function create$4(ee,te){var ae=new ArrayCtor$1(2);return ee==null&&(ee=0),te==null&&(te=0),ae[0]=ee,ae[1]=te,ae}function copy$3(ee,te){return ee[0]=te[0],ee[1]=te[1],ee}function clone$8(ee){var te=new ArrayCtor$1(2);return te[0]=ee[0],te[1]=ee[1],te}function set$3(ee,te,ae){return ee[0]=te,ee[1]=ae,ee}function add$1(ee,te,ae){return ee[0]=te[0]+ae[0],ee[1]=te[1]+ae[1],ee}function scaleAndAdd$2(ee,te,ae,ne){return ee[0]=te[0]+ae[0]*ne,ee[1]=te[1]+ae[1]*ne,ee}function sub$1(ee,te,ae){return ee[0]=te[0]-ae[0],ee[1]=te[1]-ae[1],ee}function len$1(ee){return Math.sqrt(lenSquare$1(ee))}var length$1=len$1;function lenSquare$1(ee){return ee[0]*ee[0]+ee[1]*ee[1]}var lengthSquare$1=lenSquare$1;function mul$3(ee,te,ae){return ee[0]=te[0]*ae[0],ee[1]=te[1]*ae[1],ee}function div$1(ee,te,ae){return ee[0]=te[0]/ae[0],ee[1]=te[1]/ae[1],ee}function dot$1(ee,te){return ee[0]*te[0]+ee[1]*te[1]}function scale$4(ee,te,ae){return ee[0]=te[0]*ae,ee[1]=te[1]*ae,ee}function normalize$4(ee,te){var ae=len$1(te);return ae===0?(ee[0]=0,ee[1]=0):(ee[0]=te[0]/ae,ee[1]=te[1]/ae),ee}function distance$1(ee,te){return Math.sqrt((ee[0]-te[0])*(ee[0]-te[0])+(ee[1]-te[1])*(ee[1]-te[1]))}var dist$3=distance$1;function distanceSquare$1(ee,te){return(ee[0]-te[0])*(ee[0]-te[0])+(ee[1]-te[1])*(ee[1]-te[1])}var distSquare$1=distanceSquare$1;function negate$1(ee,te){return ee[0]=-te[0],ee[1]=-te[1],ee}function lerp$3(ee,te,ae,ne){return ee[0]=te[0]+ne*(ae[0]-te[0]),ee[1]=te[1]+ne*(ae[1]-te[1]),ee}function applyTransform$3(ee,te,ae){var ne=te[0],ie=te[1];return ee[0]=ae[0]*ne+ae[2]*ie+ae[4],ee[1]=ae[1]*ne+ae[3]*ie+ae[5],ee}function min$3(ee,te,ae){return ee[0]=Math.min(te[0],ae[0]),ee[1]=Math.min(te[1],ae[1]),ee}function max$3(ee,te,ae){return ee[0]=Math.max(te[0],ae[0]),ee[1]=Math.max(te[1],ae[1]),ee}vector$3.create=create$4;vector$3.copy=copy$3;vector$3.clone=clone$8;vector$3.set=set$3;vector$3.add=add$1;vector$3.scaleAndAdd=scaleAndAdd$2;vector$3.sub=sub$1;vector$3.len=len$1;vector$3.length=length$1;vector$3.lenSquare=lenSquare$1;vector$3.lengthSquare=lengthSquare$1;vector$3.mul=mul$3;vector$3.div=div$1;vector$3.dot=dot$1;vector$3.scale=scale$4;vector$3.normalize=normalize$4;vector$3.distance=distance$1;vector$3.dist=dist$3;vector$3.distanceSquare=distanceSquare$1;vector$3.distSquare=distSquare$1;vector$3.negate=negate$1;vector$3.lerp=lerp$3;vector$3.applyTransform=applyTransform$3;vector$3.min=min$3;vector$3.max=max$3;function Draggable$3(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this)}Draggable$3.prototype={constructor:Draggable$3,_dragStart:function(ee){for(var te=ee.target;te&&!te.draggable;)te=te.parent;te&&(this._draggingTarget=te,te.dragging=!0,this._x=ee.offsetX,this._y=ee.offsetY,this.dispatchToElement(param(te,ee),"dragstart",ee.event))},_drag:function(ee){var te=this._draggingTarget;if(te){var ae=ee.offsetX,ne=ee.offsetY,ie=ae-this._x,oe=ne-this._y;this._x=ae,this._y=ne,te.drift(ie,oe,ee),this.dispatchToElement(param(te,ee),"drag",ee.event);var se=this.findHover(ae,ne,te).target,le=this._dropTarget;this._dropTarget=se,te!==se&&(le&&se!==le&&this.dispatchToElement(param(le,ee),"dragleave",ee.event),se&&se!==le&&this.dispatchToElement(param(se,ee),"dragenter",ee.event))}},_dragEnd:function(ee){var te=this._draggingTarget;te&&(te.dragging=!1),this.dispatchToElement(param(te,ee),"dragend",ee.event),this._dropTarget&&this.dispatchToElement(param(this._dropTarget,ee),"drop",ee.event),this._draggingTarget=null,this._dropTarget=null}};function param(ee,te){return{target:ee,topTarget:te&&te.topTarget}}var _default$1e=Draggable$3,Draggable_1=_default$1e,arrySlice=Array.prototype.slice,Eventful$6=function(ee){this._$handlers={},this._$eventProcessor=ee};Eventful$6.prototype={constructor:Eventful$6,one:function(ee,te,ae,ne){return on$1(this,ee,te,ae,ne,!0)},on:function(ee,te,ae,ne){return on$1(this,ee,te,ae,ne,!1)},isSilent:function(ee){var te=this._$handlers;return!te[ee]||!te[ee].length},off:function(ee,te){var ae=this._$handlers;if(!ee)return this._$handlers={},this;if(te){if(ae[ee]){for(var ne=[],ie=0,oe=ae[ee].length;ie<oe;ie++)ae[ee][ie].h!==te&&ne.push(ae[ee][ie]);ae[ee]=ne}ae[ee]&&ae[ee].length===0&&delete ae[ee]}else delete ae[ee];return this},trigger:function(ee){var te=this._$handlers[ee],ae=this._$eventProcessor;if(te){var ne=arguments,ie=ne.length;ie>3&&(ne=arrySlice.call(ne,1));for(var oe=te.length,se=0;se<oe;){var le=te[se];if(ae&&ae.filter&&le.query!=null&&!ae.filter(ee,le.query)){se++;continue}switch(ie){case 1:le.h.call(le.ctx);break;case 2:le.h.call(le.ctx,ne[1]);break;case 3:le.h.call(le.ctx,ne[1],ne[2]);break;default:le.h.apply(le.ctx,ne);break}le.one?(te.splice(se,1),oe--):se++}}return ae&&ae.afterTrigger&&ae.afterTrigger(ee),this},triggerWithContext:function(ee){var te=this._$handlers[ee],ae=this._$eventProcessor;if(te){var ne=arguments,ie=ne.length;ie>4&&(ne=arrySlice.call(ne,1,ne.length-1));for(var oe=ne[ne.length-1],se=te.length,le=0;le<se;){var ue=te[le];if(ae&&ae.filter&&ue.query!=null&&!ae.filter(ee,ue.query)){le++;continue}switch(ie){case 1:ue.h.call(oe);break;case 2:ue.h.call(oe,ne[1]);break;case 3:ue.h.call(oe,ne[1],ne[2]);break;default:ue.h.apply(oe,ne);break}ue.one?(te.splice(le,1),se--):le++}}return ae&&ae.afterTrigger&&ae.afterTrigger(ee),this}};function normalizeQuery(ee,te){var ae=ee._$eventProcessor;return te!=null&&ae&&ae.normalizeQuery&&(te=ae.normalizeQuery(te)),te}function on$1(ee,te,ae,ne,ie,oe){var se=ee._$handlers;if(typeof ae=="function"&&(ie=ne,ne=ae,ae=null),!ne||!te)return ee;ae=normalizeQuery(ee,ae),se[te]||(se[te]=[]);for(var le=0;le<se[te].length;le++)if(se[te][le].h===ne)return ee;var ue={h:ne,one:oe,query:ae,ctx:ie||ee,callAtLast:ne.zrEventfulCallAtLast},ce=se[te].length-1,de=se[te][ce];return de&&de.callAtLast?se[te].splice(ce,0,ue):se[te].push(ue),ee}var _default$1d=Eventful$6,Eventful_1=_default$1d,event$1={},dom={},fourPointsTransform={},LN2$1=Math.log(2);function determinant$1(ee,te,ae,ne,ie,oe){var se=ne+"-"+ie,le=ee.length;if(oe.hasOwnProperty(se))return oe[se];if(te===1){var ue=Math.round(Math.log((1<<le)-1&~ie)/LN2$1);return ee[ae][ue]}for(var ce=ne|1<<ae,de=ae+1;ne&1<<de;)de++;for(var he=0,fe=0,pe=0;fe<le;fe++){var ve=1<<fe;ve&ie||(he+=(pe%2?-1:1)*ee[ae][fe]*determinant$1(ee,te-1,de,ce,ie|ve,oe),pe++)}return oe[se]=he,he}function buildTransformer$2(ee,te){var ae=[[ee[0],ee[1],1,0,0,0,-te[0]*ee[0],-te[0]*ee[1]],[0,0,0,ee[0],ee[1],1,-te[1]*ee[0],-te[1]*ee[1]],[ee[2],ee[3],1,0,0,0,-te[2]*ee[2],-te[2]*ee[3]],[0,0,0,ee[2],ee[3],1,-te[3]*ee[2],-te[3]*ee[3]],[ee[4],ee[5],1,0,0,0,-te[4]*ee[4],-te[4]*ee[5]],[0,0,0,ee[4],ee[5],1,-te[5]*ee[4],-te[5]*ee[5]],[ee[6],ee[7],1,0,0,0,-te[6]*ee[6],-te[6]*ee[7]],[0,0,0,ee[6],ee[7],1,-te[7]*ee[6],-te[7]*ee[7]]],ne={},ie=determinant$1(ae,8,0,0,0,ne);if(ie!==0){for(var oe=[],se=0;se<8;se++)for(var le=0;le<8;le++)oe[le]==null&&(oe[le]=0),oe[le]+=((se+le)%2?-1:1)*determinant$1(ae,7,se===0?1:0,1<<se,1<<le,ne)/ie*te[se];return function(ue,ce,de){var he=ce*oe[6]+de*oe[7]+1;ue[0]=(ce*oe[0]+de*oe[1]+oe[2])/he,ue[1]=(ce*oe[3]+de*oe[4]+oe[5])/he}}}fourPointsTransform.buildTransformer=buildTransformer$2;var env$b=env_1,_fourPointsTransform=fourPointsTransform,buildTransformer$1=_fourPointsTransform.buildTransformer,EVENT_SAVED_PROP$1="___zrEVENTSAVED",_calcOut$3=[];function transformLocalCoord$1(ee,te,ae,ne,ie){return transformCoordWithViewport$2(_calcOut$3,te,ne,ie,!0)&&transformCoordWithViewport$2(ee,ae,_calcOut$3[0],_calcOut$3[1])}function transformCoordWithViewport$2(ee,te,ae,ne,ie){if(te.getBoundingClientRect&&env$b.domSupported&&!isCanvasEl$2(te)){var oe=te[EVENT_SAVED_PROP$1]||(te[EVENT_SAVED_PROP$1]={}),se=prepareCoordMarkers$1(te,oe),le=preparePointerTransformer$1(se,oe,ie);if(le)return le(ee,ae,ne),!0}return!1}function prepareCoordMarkers$1(ee,te){var ae=te.markers;if(ae)return ae;ae=te.markers=[];for(var ne=["left","right"],ie=["top","bottom"],oe=0;oe<4;oe++){var se=document.createElement("div"),le=se.style,ue=oe%2,ce=(oe>>1)%2;le.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",ne[ue]+":0",ie[ce]+":0",ne[1-ue]+":auto",ie[1-ce]+":auto",""].join("!important;"),ee.appendChild(se),ae.push(se)}return ae}function preparePointerTransformer$1(ee,te,ae){for(var ne=ae?"invTrans":"trans",ie=te[ne],oe=te.srcCoords,se=!0,le=[],ue=[],ce=0;ce<4;ce++){var de=ee[ce].getBoundingClientRect(),he=2*ce,fe=de.left,pe=de.top;le.push(fe,pe),se=se&&oe&&fe===oe[he]&&pe===oe[he+1],ue.push(ee[ce].offsetLeft,ee[ce].offsetTop)}return se&&ie?ie:(te.srcCoords=le,te[ne]=ae?buildTransformer$1(ue,le):buildTransformer$1(le,ue))}function isCanvasEl$2(ee){return ee.nodeName.toUpperCase()==="CANVAS"}dom.transformLocalCoord=transformLocalCoord$1;dom.transformCoordWithViewport=transformCoordWithViewport$2;dom.isCanvasEl=isCanvasEl$2;var Eventful$5=Eventful_1;event$1.Dispatcher=Eventful$5;var env$a=env_1,_dom=dom,isCanvasEl$1=_dom.isCanvasEl,transformCoordWithViewport$1=_dom.transformCoordWithViewport,isDomLevel2=typeof window<"u"&&!!window.addEventListener,MOUSE_EVENT_REG$1=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,_calcOut$2=[];function clientToLocal$1(ee,te,ae,ne){return ae=ae||{},ne||!env$a.canvasSupported?calculateZrXY$1(ee,te,ae):env$a.browser.firefox&&te.layerX!=null&&te.layerX!==te.offsetX?(ae.zrX=te.layerX,ae.zrY=te.layerY):te.offsetX!=null?(ae.zrX=te.offsetX,ae.zrY=te.offsetY):calculateZrXY$1(ee,te,ae),ae}function calculateZrXY$1(ee,te,ae){if(env$a.domSupported&&ee.getBoundingClientRect){var ne=te.clientX,ie=te.clientY;if(isCanvasEl$1(ee)){var oe=ee.getBoundingClientRect();ae.zrX=ne-oe.left,ae.zrY=ie-oe.top;return}else if(transformCoordWithViewport$1(_calcOut$2,ee,ne,ie)){ae.zrX=_calcOut$2[0],ae.zrY=_calcOut$2[1];return}}ae.zrX=ae.zrY=0}function getNativeEvent$2(ee){return ee||window.event}function normalizeEvent$2(ee,te,ae){if(te=getNativeEvent$2(te),te.zrX!=null)return te;var ne=te.type,ie=ne&&ne.indexOf("touch")>=0;if(!ie)clientToLocal$1(ee,te,te,ae),te.zrDelta=te.wheelDelta?te.wheelDelta/120:-(te.detail||0)/3;else{var oe=ne!=="touchend"?te.targetTouches[0]:te.changedTouches[0];oe&&clientToLocal$1(ee,oe,te,ae)}var se=te.button;return te.which==null&&se!==void 0&&MOUSE_EVENT_REG$1.test(te.type)&&(te.which=se&1?1:se&2?3:se&4?2:0),te}function addEventListener$2(ee,te,ae,ne){isDomLevel2?ee.addEventListener(te,ae,ne):ee.attachEvent("on"+te,ae)}function removeEventListener$2(ee,te,ae,ne){isDomLevel2?ee.removeEventListener(te,ae,ne):ee.detachEvent("on"+te,ae)}var stop$2=isDomLevel2?function(ee){ee.preventDefault(),ee.stopPropagation(),ee.cancelBubble=!0}:function(ee){ee.returnValue=!1,ee.cancelBubble=!0};function isMiddleOrRightButtonOnMouseUpDown$1(ee){return ee.which===2||ee.which===3}function notLeftMouse(ee){return ee.which>1}event$1.clientToLocal=clientToLocal$1;event$1.getNativeEvent=getNativeEvent$2;event$1.normalizeEvent=normalizeEvent$2;event$1.addEventListener=addEventListener$2;event$1.removeEventListener=removeEventListener$2;event$1.stop=stop$2;event$1.isMiddleOrRightButtonOnMouseUpDown=isMiddleOrRightButtonOnMouseUpDown$1;event$1.notLeftMouse=notLeftMouse;var eventUtil=event$1,GestureMgr$2=function(){this._track=[]};GestureMgr$2.prototype={constructor:GestureMgr$2,recognize:function(ee,te,ae){return this._doTrack(ee,te,ae),this._recognize(ee)},clear:function(){return this._track.length=0,this},_doTrack:function(ee,te,ae){var ne=ee.touches;if(ne){for(var ie={points:[],touches:[],target:te,event:ee},oe=0,se=ne.length;oe<se;oe++){var le=ne[oe],ue=eventUtil.clientToLocal(ae,le,{});ie.points.push([ue.zrX,ue.zrY]),ie.touches.push(le)}this._track.push(ie)}},_recognize:function(ee){for(var te in recognizers$1)if(recognizers$1.hasOwnProperty(te)){var ae=recognizers$1[te](this._track,ee);if(ae)return ae}}};function dist$2(ee){var te=ee[1][0]-ee[0][0],ae=ee[1][1]-ee[0][1];return Math.sqrt(te*te+ae*ae)}function center$2(ee){return[(ee[0][0]+ee[1][0])/2,(ee[0][1]+ee[1][1])/2]}var recognizers$1={pinch:function(ee,te){var ae=ee.length;if(ae){var ne=(ee[ae-1]||{}).points,ie=(ee[ae-2]||{}).points||ne;if(ie&&ie.length>1&&ne&&ne.length>1){var oe=dist$2(ne)/dist$2(ie);!isFinite(oe)&&(oe=1),te.pinchScale=oe;var se=center$2(ne);return te.pinchX=se[0],te.pinchY=se[1],{type:"pinch",target:ee[0].target,event:te}}}}},_default$1c=GestureMgr$2,GestureMgr_1=_default$1c,util$9=util$a,vec2$3=vector$3,Draggable$2=Draggable_1,Eventful$4=Eventful_1,eventTool=event$1,GestureMgr$1=GestureMgr_1,SILENT$1="silent";function makeEventPacket$1(ee,te,ae){return{type:ee,event:ae,target:te.target,topTarget:te.topTarget,cancelBubble:!1,offsetX:ae.zrX,offsetY:ae.zrY,gestureEvent:ae.gestureEvent,pinchX:ae.pinchX,pinchY:ae.pinchY,pinchScale:ae.pinchScale,wheelDelta:ae.zrDelta,zrByTouch:ae.zrByTouch,which:ae.which,stop:stopEvent$1}}function stopEvent$1(){eventTool.stop(this.event)}function EmptyProxy$1(){}EmptyProxy$1.prototype.dispose=function(){};var handlerNames$1=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Handler$3=function(ee,te,ae,ne){Eventful$4.call(this),this.storage=ee,this.painter=te,this.painterRoot=ne,ae=ae||new EmptyProxy$1,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,Draggable$2.call(this),this.setHandlerProxy(ae)};Handler$3.prototype={constructor:Handler$3,setHandlerProxy:function(ee){this.proxy&&this.proxy.dispose(),ee&&(util$9.each(handlerNames$1,function(te){ee.on&&ee.on(te,this[te],this)},this),ee.handler=this),this.proxy=ee},mousemove:function(ee){var te=ee.zrX,ae=ee.zrY,ne=isOutsideBoundary$1(this,te,ae),ie=this._hovered,oe=ie.target;oe&&!oe.__zr&&(ie=this.findHover(ie.x,ie.y),oe=ie.target);var se=this._hovered=ne?{x:te,y:ae}:this.findHover(te,ae),le=se.target,ue=this.proxy;ue.setCursor&&ue.setCursor(le?le.cursor:"default"),oe&&le!==oe&&this.dispatchToElement(ie,"mouseout",ee),this.dispatchToElement(se,"mousemove",ee),le&&le!==oe&&this.dispatchToElement(se,"mouseover",ee)},mouseout:function(ee){var te=ee.zrEventControl,ae=ee.zrIsToLocalDOM;te!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",ee),te!=="no_globalout"&&!ae&&this.trigger("globalout",{type:"globalout",event:ee})},resize:function(ee){this._hovered={}},dispatch:function(ee,te){var ae=this[ee];ae&&ae.call(this,te)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(ee){var te=this.proxy;te.setCursor&&te.setCursor(ee)},dispatchToElement:function(ee,te,ae){ee=ee||{};var ne=ee.target;if(!(ne&&ne.silent)){for(var ie="on"+te,oe=makeEventPacket$1(te,ee,ae);ne&&(ne[ie]&&(oe.cancelBubble=ne[ie].call(ne,oe)),ne.trigger(te,oe),ne=ne.parent,!oe.cancelBubble););oe.cancelBubble||(this.trigger(te,oe),this.painter&&this.painter.eachOtherLayer(function(se){typeof se[ie]=="function"&&se[ie].call(se,oe),se.trigger&&se.trigger(te,oe)}))}},findHover:function(ee,te,ae){for(var ne=this.storage.getDisplayList(),ie={x:ee,y:te},oe=ne.length-1;oe>=0;oe--){var se;if(ne[oe]!==ae&&!ne[oe].ignore&&(se=isHover$1(ne[oe],ee,te))&&(!ie.topTarget&&(ie.topTarget=ne[oe]),se!==SILENT$1)){ie.target=ne[oe];break}}return ie},processGesture:function(ee,te){this._gestureMgr||(this._gestureMgr=new GestureMgr$1);var ae=this._gestureMgr;te==="start"&&ae.clear();var ne=ae.recognize(ee,this.findHover(ee.zrX,ee.zrY,null).target,this.proxy.dom);if(te==="end"&&ae.clear(),ne){var ie=ne.type;ee.gestureEvent=ie,this.dispatchToElement({target:ne.target},ie,ne.event)}}};util$9.each(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(ee){Handler$3.prototype[ee]=function(te){var ae=te.zrX,ne=te.zrY,ie=isOutsideBoundary$1(this,ae,ne),oe,se;if((ee!=="mouseup"||!ie)&&(oe=this.findHover(ae,ne),se=oe.target),ee==="mousedown")this._downEl=se,this._downPoint=[te.zrX,te.zrY],this._upEl=se;else if(ee==="mouseup")this._upEl=se;else if(ee==="click"){if(this._downEl!==this._upEl||!this._downPoint||vec2$3.dist(this._downPoint,[te.zrX,te.zrY])>4)return;this._downPoint=null}this.dispatchToElement(oe,ee,te)}});function isHover$1(ee,te,ae){if(ee[ee.rectHover?"rectContain":"contain"](te,ae)){for(var ne=ee,ie;ne;){if(ne.clipPath&&!ne.clipPath.contain(te,ae))return!1;ne.silent&&(ie=!0),ne=ne.parent}return ie?SILENT$1:!0}return!1}function isOutsideBoundary$1(ee,te,ae){var ne=ee.painter;return te<0||te>ne.getWidth()||ae<0||ae>ne.getHeight()}util$9.mixin(Handler$3,Eventful$4);util$9.mixin(Handler$3,Draggable$2);var _default$1b=Handler$3,Handler_1=_default$1b,matrix$5={},ArrayCtor=typeof Float32Array>"u"?Array:Float32Array;function create$3(){var ee=new ArrayCtor(6);return identity$1(ee),ee}function identity$1(ee){return ee[0]=1,ee[1]=0,ee[2]=0,ee[3]=1,ee[4]=0,ee[5]=0,ee}function copy$2(ee,te){return ee[0]=te[0],ee[1]=te[1],ee[2]=te[2],ee[3]=te[3],ee[4]=te[4],ee[5]=te[5],ee}function mul$2(ee,te,ae){var ne=te[0]*ae[0]+te[2]*ae[1],ie=te[1]*ae[0]+te[3]*ae[1],oe=te[0]*ae[2]+te[2]*ae[3],se=te[1]*ae[2]+te[3]*ae[3],le=te[0]*ae[4]+te[2]*ae[5]+te[4],ue=te[1]*ae[4]+te[3]*ae[5]+te[5];return ee[0]=ne,ee[1]=ie,ee[2]=oe,ee[3]=se,ee[4]=le,ee[5]=ue,ee}function translate$1(ee,te,ae){return ee[0]=te[0],ee[1]=te[1],ee[2]=te[2],ee[3]=te[3],ee[4]=te[4]+ae[0],ee[5]=te[5]+ae[1],ee}function rotate$1(ee,te,ae){var ne=te[0],ie=te[2],oe=te[4],se=te[1],le=te[3],ue=te[5],ce=Math.sin(ae),de=Math.cos(ae);return ee[0]=ne*de+se*ce,ee[1]=-ne*ce+se*de,ee[2]=ie*de+le*ce,ee[3]=-ie*ce+de*le,ee[4]=de*oe+ce*ue,ee[5]=de*ue-ce*oe,ee}function scale$3(ee,te,ae){var ne=ae[0],ie=ae[1];return ee[0]=te[0]*ne,ee[1]=te[1]*ie,ee[2]=te[2]*ne,ee[3]=te[3]*ie,ee[4]=te[4]*ne,ee[5]=te[5]*ie,ee}function invert$1(ee,te){var ae=te[0],ne=te[2],ie=te[4],oe=te[1],se=te[3],le=te[5],ue=ae*se-oe*ne;return ue?(ue=1/ue,ee[0]=se*ue,ee[1]=-oe*ue,ee[2]=-ne*ue,ee[3]=ae*ue,ee[4]=(ne*le-se*ie)*ue,ee[5]=(oe*ie-ae*le)*ue,ee):null}function clone$7(ee){var te=create$3();return copy$2(te,ee),te}matrix$5.create=create$3;matrix$5.identity=identity$1;matrix$5.copy=copy$2;matrix$5.mul=mul$2;matrix$5.translate=translate$1;matrix$5.rotate=rotate$1;matrix$5.scale=scale$3;matrix$5.invert=invert$1;matrix$5.clone=clone$7;var matrix$4=matrix$5,vector$2=vector$3,mIdentity$1=matrix$4.identity,EPSILON$7=5e-5;function isNotAroundZero$3(ee){return ee>EPSILON$7||ee<-EPSILON$7}var Transformable$4=function(ee){ee=ee||{},ee.position||(this.position=[0,0]),ee.rotation==null&&(this.rotation=0),ee.scale||(this.scale=[1,1]),this.origin=this.origin||null},transformableProto=Transformable$4.prototype;transformableProto.transform=null;transformableProto.needLocalTransform=function(){return isNotAroundZero$3(this.rotation)||isNotAroundZero$3(this.position[0])||isNotAroundZero$3(this.position[1])||isNotAroundZero$3(this.scale[0]-1)||isNotAroundZero$3(this.scale[1]-1)};var scaleTmp$1=[];transformableProto.updateTransform=function(){var ee=this.parent,te=ee&&ee.transform,ae=this.needLocalTransform(),ne=this.transform;if(!(ae||te)){ne&&mIdentity$1(ne);return}ne=ne||matrix$4.create(),ae?this.getLocalTransform(ne):mIdentity$1(ne),te&&(ae?matrix$4.mul(ne,ee.transform,ne):matrix$4.copy(ne,ee.transform)),this.transform=ne;var ie=this.globalScaleRatio;if(ie!=null&&ie!==1){this.getGlobalScale(scaleTmp$1);var oe=scaleTmp$1[0]<0?-1:1,se=scaleTmp$1[1]<0?-1:1,le=((scaleTmp$1[0]-oe)*ie+oe)/scaleTmp$1[0]||0,ue=((scaleTmp$1[1]-se)*ie+se)/scaleTmp$1[1]||0;ne[0]*=le,ne[1]*=le,ne[2]*=ue,ne[3]*=ue}this.invTransform=this.invTransform||matrix$4.create(),matrix$4.invert(this.invTransform,ne)};transformableProto.getLocalTransform=function(ee){return Transformable$4.getLocalTransform(this,ee)};transformableProto.setTransform=function(ee){var te=this.transform,ae=ee.dpr||1;te?ee.setTransform(ae*te[0],ae*te[1],ae*te[2],ae*te[3],ae*te[4],ae*te[5]):ee.setTransform(ae,0,0,ae,0,0)};transformableProto.restoreTransform=function(ee){var te=ee.dpr||1;ee.setTransform(te,0,0,te,0,0)};var tmpTransform$1=[],originTransform$1=matrix$4.create();transformableProto.setLocalTransform=function(ee){if(ee){var te=ee[0]*ee[0]+ee[1]*ee[1],ae=ee[2]*ee[2]+ee[3]*ee[3],ne=this.position,ie=this.scale;isNotAroundZero$3(te-1)&&(te=Math.sqrt(te)),isNotAroundZero$3(ae-1)&&(ae=Math.sqrt(ae)),ee[0]<0&&(te=-te),ee[3]<0&&(ae=-ae),ne[0]=ee[4],ne[1]=ee[5],ie[0]=te,ie[1]=ae,this.rotation=Math.atan2(-ee[1]/ae,ee[0]/te)}};transformableProto.decomposeTransform=function(){if(this.transform){var ee=this.parent,te=this.transform;ee&&ee.transform&&(matrix$4.mul(tmpTransform$1,ee.invTransform,te),te=tmpTransform$1);var ae=this.origin;ae&&(ae[0]||ae[1])&&(originTransform$1[4]=ae[0],originTransform$1[5]=ae[1],matrix$4.mul(tmpTransform$1,te,originTransform$1),tmpTransform$1[4]-=ae[0],tmpTransform$1[5]-=ae[1],te=tmpTransform$1),this.setLocalTransform(te)}};transformableProto.getGlobalScale=function(ee){var te=this.transform;return ee=ee||[],te?(ee[0]=Math.sqrt(te[0]*te[0]+te[1]*te[1]),ee[1]=Math.sqrt(te[2]*te[2]+te[3]*te[3]),te[0]<0&&(ee[0]=-ee[0]),te[3]<0&&(ee[1]=-ee[1]),ee):(ee[0]=1,ee[1]=1,ee)};transformableProto.transformCoordToLocal=function(ee,te){var ae=[ee,te],ne=this.invTransform;return ne&&vector$2.applyTransform(ae,ae,ne),ae};transformableProto.transformCoordToGlobal=function(ee,te){var ae=[ee,te],ne=this.transform;return ne&&vector$2.applyTransform(ae,ae,ne),ae};Transformable$4.getLocalTransform=function(ee,te){te=te||[],mIdentity$1(te);var ae=ee.origin,ne=ee.scale||[1,1],ie=ee.rotation||0,oe=ee.position||[0,0];return ae&&(te[4]-=ae[0],te[5]-=ae[1]),matrix$4.scale(te,te,ne),ie&&matrix$4.rotate(te,te,ie),ae&&(te[4]+=ae[0],te[5]+=ae[1]),te[4]+=oe[0],te[5]+=oe[1],te};var _default$1a=Transformable$4,Transformable_1=_default$1a,easing={linear:function(ee){return ee},quadraticIn:function(ee){return ee*ee},quadraticOut:function(ee){return ee*(2-ee)},quadraticInOut:function(ee){return(ee*=2)<1?.5*ee*ee:-.5*(--ee*(ee-2)-1)},cubicIn:function(ee){return ee*ee*ee},cubicOut:function(ee){return--ee*ee*ee+1},cubicInOut:function(ee){return(ee*=2)<1?.5*ee*ee*ee:.5*((ee-=2)*ee*ee+2)},quarticIn:function(ee){return ee*ee*ee*ee},quarticOut:function(ee){return 1- --ee*ee*ee*ee},quarticInOut:function(ee){return(ee*=2)<1?.5*ee*ee*ee*ee:-.5*((ee-=2)*ee*ee*ee-2)},quinticIn:function(ee){return ee*ee*ee*ee*ee},quinticOut:function(ee){return--ee*ee*ee*ee*ee+1},quinticInOut:function(ee){return(ee*=2)<1?.5*ee*ee*ee*ee*ee:.5*((ee-=2)*ee*ee*ee*ee+2)},sinusoidalIn:function(ee){return 1-Math.cos(ee*Math.PI/2)},sinusoidalOut:function(ee){return Math.sin(ee*Math.PI/2)},sinusoidalInOut:function(ee){return .5*(1-Math.cos(Math.PI*ee))},exponentialIn:function(ee){return ee===0?0:Math.pow(1024,ee-1)},exponentialOut:function(ee){return ee===1?1:1-Math.pow(2,-10*ee)},exponentialInOut:function(ee){return ee===0?0:ee===1?1:(ee*=2)<1?.5*Math.pow(1024,ee-1):.5*(-Math.pow(2,-10*(ee-1))+2)},circularIn:function(ee){return 1-Math.sqrt(1-ee*ee)},circularOut:function(ee){return Math.sqrt(1- --ee*ee)},circularInOut:function(ee){return(ee*=2)<1?-.5*(Math.sqrt(1-ee*ee)-1):.5*(Math.sqrt(1-(ee-=2)*ee)+1)},elasticIn:function(ee){var te,ae=.1,ne=.4;return ee===0?0:ee===1?1:(!ae||ae<1?(ae=1,te=ne/4):te=ne*Math.asin(1/ae)/(2*Math.PI),-(ae*Math.pow(2,10*(ee-=1))*Math.sin((ee-te)*(2*Math.PI)/ne)))},elasticOut:function(ee){var te,ae=.1,ne=.4;return ee===0?0:ee===1?1:(!ae||ae<1?(ae=1,te=ne/4):te=ne*Math.asin(1/ae)/(2*Math.PI),ae*Math.pow(2,-10*ee)*Math.sin((ee-te)*(2*Math.PI)/ne)+1)},elasticInOut:function(ee){var te,ae=.1,ne=.4;return ee===0?0:ee===1?1:(!ae||ae<1?(ae=1,te=ne/4):te=ne*Math.asin(1/ae)/(2*Math.PI),(ee*=2)<1?-.5*(ae*Math.pow(2,10*(ee-=1))*Math.sin((ee-te)*(2*Math.PI)/ne)):ae*Math.pow(2,-10*(ee-=1))*Math.sin((ee-te)*(2*Math.PI)/ne)*.5+1)},backIn:function(ee){var te=1.70158;return ee*ee*((te+1)*ee-te)},backOut:function(ee){var te=1.70158;return--ee*ee*((te+1)*ee+te)+1},backInOut:function(ee){var te=2.5949095;return(ee*=2)<1?.5*(ee*ee*((te+1)*ee-te)):.5*((ee-=2)*ee*((te+1)*ee+te)+2)},bounceIn:function(ee){return 1-easing.bounceOut(1-ee)},bounceOut:function(ee){return ee<1/2.75?7.5625*ee*ee:ee<2/2.75?7.5625*(ee-=1.5/2.75)*ee+.75:ee<2.5/2.75?7.5625*(ee-=2.25/2.75)*ee+.9375:7.5625*(ee-=2.625/2.75)*ee+.984375},bounceInOut:function(ee){return ee<.5?easing.bounceIn(ee*2)*.5:easing.bounceOut(ee*2-1)*.5+.5}},_default$19=easing,easing_1=_default$19,easingFuncs$2=easing_1;function Clip$3(ee){this._target=ee.target,this._life=ee.life||1e3,this._delay=ee.delay||0,this._initialized=!1,this.loop=ee.loop==null?!1:ee.loop,this.gap=ee.gap||0,this.easing=ee.easing||"Linear",this.onframe=ee.onframe,this.ondestroy=ee.ondestroy,this.onrestart=ee.onrestart,this._pausedTime=0,this._paused=!1}Clip$3.prototype={constructor:Clip$3,step:function(ee,te){if(this._initialized||(this._startTime=ee+this._delay,this._initialized=!0),this._paused){this._pausedTime+=te;return}var ae=(ee-this._startTime-this._pausedTime)/this._life;if(!(ae<0)){ae=Math.min(ae,1);var ne=this.easing,ie=typeof ne=="string"?easingFuncs$2[ne]:ne,oe=typeof ie=="function"?ie(ae):ae;return this.fire("frame",oe),ae===1?this.loop?(this.restart(ee),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(ee){var te=(ee-this._startTime-this._pausedTime)%this._life;this._startTime=ee-te+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(ee,te){ee="on"+ee,this[ee]&&this[ee](this._target,te)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var _default$18=Clip$3,Clip_1=_default$18,color$2={},LinkedList$1=function(){this.head=null,this.tail=null,this._len=0},linkedListProto=LinkedList$1.prototype;linkedListProto.insert=function(ee){var te=new Entry$1(ee);return this.insertEntry(te),te};linkedListProto.insertEntry=function(ee){this.head?(this.tail.next=ee,ee.prev=this.tail,ee.next=null,this.tail=ee):this.head=this.tail=ee,this._len++};linkedListProto.remove=function(ee){var te=ee.prev,ae=ee.next;te?te.next=ae:this.head=ae,ae?ae.prev=te:this.tail=te,ee.next=ee.prev=null,this._len--};linkedListProto.len=function(){return this._len};linkedListProto.clear=function(){this.head=this.tail=null,this._len=0};var Entry$1=function(ee){this.value=ee,this.next,this.prev},LRU$4=function(ee){this._list=new LinkedList$1,this._map={},this._maxSize=ee||10,this._lastRemovedEntry=null},LRUProto=LRU$4.prototype;LRUProto.put=function(ee,te){var ae=this._list,ne=this._map,ie=null;if(ne[ee]==null){var oe=ae.len(),se=this._lastRemovedEntry;if(oe>=this._maxSize&&oe>0){var le=ae.head;ae.remove(le),delete ne[le.key],ie=le.value,this._lastRemovedEntry=le}se?se.value=te:se=new Entry$1(te),se.key=ee,ae.insertEntry(se),ne[ee]=se}return ie};LRUProto.get=function(ee){var te=this._map[ee],ae=this._list;if(te!=null)return te!==ae.tail&&(ae.remove(te),ae.insertEntry(te)),te.value};LRUProto.clear=function(){this._list.clear(),this._map={}};var _default$17=LRU$4,LRU_1=_default$17,LRU$3=LRU_1,kCSSColorTable$1={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function clampCssByte$1(ee){return ee=Math.round(ee),ee<0?0:ee>255?255:ee}function clampCssAngle$1(ee){return ee=Math.round(ee),ee<0?0:ee>360?360:ee}function clampCssFloat$1(ee){return ee<0?0:ee>1?1:ee}function parseCssInt$1(ee){return ee.length&&ee.charAt(ee.length-1)==="%"?clampCssByte$1(parseFloat(ee)/100*255):clampCssByte$1(parseInt(ee,10))}function parseCssFloat$1(ee){return ee.length&&ee.charAt(ee.length-1)==="%"?clampCssFloat$1(parseFloat(ee)/100):clampCssFloat$1(parseFloat(ee))}function cssHueToRgb$1(ee,te,ae){return ae<0?ae+=1:ae>1&&(ae-=1),ae*6<1?ee+(te-ee)*ae*6:ae*2<1?te:ae*3<2?ee+(te-ee)*(2/3-ae)*6:ee}function lerpNumber$1(ee,te,ae){return ee+(te-ee)*ae}function setRgba$1(ee,te,ae,ne,ie){return ee[0]=te,ee[1]=ae,ee[2]=ne,ee[3]=ie,ee}function copyRgba$1(ee,te){return ee[0]=te[0],ee[1]=te[1],ee[2]=te[2],ee[3]=te[3],ee}var colorCache$1=new LRU$3(20),lastRemovedArr$1=null;function putToCache$1(ee,te){lastRemovedArr$1&&copyRgba$1(lastRemovedArr$1,te),lastRemovedArr$1=colorCache$1.put(ee,lastRemovedArr$1||te.slice())}function parse$2(ee,te){if(ee){te=te||[];var ae=colorCache$1.get(ee);if(ae)return copyRgba$1(te,ae);ee=ee+"";var ne=ee.replace(/ /g,"").toLowerCase();if(ne in kCSSColorTable$1)return copyRgba$1(te,kCSSColorTable$1[ne]),putToCache$1(ee,te),te;if(ne.charAt(0)==="#"){if(ne.length===4){var ie=parseInt(ne.substr(1),16);if(!(ie>=0&&ie<=4095)){setRgba$1(te,0,0,0,1);return}return setRgba$1(te,(ie&3840)>>4|(ie&3840)>>8,ie&240|(ie&240)>>4,ie&15|(ie&15)<<4,1),putToCache$1(ee,te),te}else if(ne.length===7){var ie=parseInt(ne.substr(1),16);if(!(ie>=0&&ie<=16777215)){setRgba$1(te,0,0,0,1);return}return setRgba$1(te,(ie&16711680)>>16,(ie&65280)>>8,ie&255,1),putToCache$1(ee,te),te}return}var oe=ne.indexOf("("),se=ne.indexOf(")");if(oe!==-1&&se+1===ne.length){var le=ne.substr(0,oe),ue=ne.substr(oe+1,se-(oe+1)).split(","),ce=1;switch(le){case"rgba":if(ue.length!==4){setRgba$1(te,0,0,0,1);return}ce=parseCssFloat$1(ue.pop());case"rgb":if(ue.length!==3){setRgba$1(te,0,0,0,1);return}return setRgba$1(te,parseCssInt$1(ue[0]),parseCssInt$1(ue[1]),parseCssInt$1(ue[2]),ce),putToCache$1(ee,te),te;case"hsla":if(ue.length!==4){setRgba$1(te,0,0,0,1);return}return ue[3]=parseCssFloat$1(ue[3]),hsla2rgba$1(ue,te),putToCache$1(ee,te),te;case"hsl":if(ue.length!==3){setRgba$1(te,0,0,0,1);return}return hsla2rgba$1(ue,te),putToCache$1(ee,te),te;default:return}}setRgba$1(te,0,0,0,1)}}function hsla2rgba$1(ee,te){var ae=(parseFloat(ee[0])%360+360)%360/360,ne=parseCssFloat$1(ee[1]),ie=parseCssFloat$1(ee[2]),oe=ie<=.5?ie*(ne+1):ie+ne-ie*ne,se=ie*2-oe;return te=te||[],setRgba$1(te,clampCssByte$1(cssHueToRgb$1(se,oe,ae+1/3)*255),clampCssByte$1(cssHueToRgb$1(se,oe,ae)*255),clampCssByte$1(cssHueToRgb$1(se,oe,ae-1/3)*255),1),ee.length===4&&(te[3]=ee[3]),te}function rgba2hsla$1(ee){if(ee){var te=ee[0]/255,ae=ee[1]/255,ne=ee[2]/255,ie=Math.min(te,ae,ne),oe=Math.max(te,ae,ne),se=oe-ie,le=(oe+ie)/2,ue,ce;if(se===0)ue=0,ce=0;else{le<.5?ce=se/(oe+ie):ce=se/(2-oe-ie);var de=((oe-te)/6+se/2)/se,he=((oe-ae)/6+se/2)/se,fe=((oe-ne)/6+se/2)/se;te===oe?ue=fe-he:ae===oe?ue=1/3+de-fe:ne===oe&&(ue=2/3+he-de),ue<0&&(ue+=1),ue>1&&(ue-=1)}var pe=[ue*360,ce,le];return ee[3]!=null&&pe.push(ee[3]),pe}}function lift$1(ee,te){var ae=parse$2(ee);if(ae){for(var ne=0;ne<3;ne++)te<0?ae[ne]=ae[ne]*(1-te)|0:ae[ne]=(255-ae[ne])*te+ae[ne]|0,ae[ne]>255?ae[ne]=255:ee[ne]<0&&(ae[ne]=0);return stringify$1(ae,ae.length===4?"rgba":"rgb")}}function toHex$1(ee){var te=parse$2(ee);if(te)return((1<<24)+(te[0]<<16)+(te[1]<<8)+ +te[2]).toString(16).slice(1)}function fastLerp$1(ee,te,ae){if(!(!(te&&te.length)||!(ee>=0&&ee<=1))){ae=ae||[];var ne=ee*(te.length-1),ie=Math.floor(ne),oe=Math.ceil(ne),se=te[ie],le=te[oe],ue=ne-ie;return ae[0]=clampCssByte$1(lerpNumber$1(se[0],le[0],ue)),ae[1]=clampCssByte$1(lerpNumber$1(se[1],le[1],ue)),ae[2]=clampCssByte$1(lerpNumber$1(se[2],le[2],ue)),ae[3]=clampCssFloat$1(lerpNumber$1(se[3],le[3],ue)),ae}}var fastMapToColor$1=fastLerp$1;function lerp$2(ee,te,ae){if(!(!(te&&te.length)||!(ee>=0&&ee<=1))){var ne=ee*(te.length-1),ie=Math.floor(ne),oe=Math.ceil(ne),se=parse$2(te[ie]),le=parse$2(te[oe]),ue=ne-ie,ce=stringify$1([clampCssByte$1(lerpNumber$1(se[0],le[0],ue)),clampCssByte$1(lerpNumber$1(se[1],le[1],ue)),clampCssByte$1(lerpNumber$1(se[2],le[2],ue)),clampCssFloat$1(lerpNumber$1(se[3],le[3],ue))],"rgba");return ae?{color:ce,leftIndex:ie,rightIndex:oe,value:ne}:ce}}var mapToColor$1=lerp$2;function modifyHSL$1(ee,te,ae,ne){if(ee=parse$2(ee),ee)return ee=rgba2hsla$1(ee),te!=null&&(ee[0]=clampCssAngle$1(te)),ae!=null&&(ee[1]=parseCssFloat$1(ae)),ne!=null&&(ee[2]=parseCssFloat$1(ne)),stringify$1(hsla2rgba$1(ee),"rgba")}function modifyAlpha$1(ee,te){if(ee=parse$2(ee),ee&&te!=null)return ee[3]=clampCssFloat$1(te),stringify$1(ee,"rgba")}function stringify$1(ee,te){if(!(!ee||!ee.length)){var ae=ee[0]+","+ee[1]+","+ee[2];return(te==="rgba"||te==="hsva"||te==="hsla")&&(ae+=","+ee[3]),te+"("+ae+")"}}color$2.parse=parse$2;color$2.lift=lift$1;color$2.toHex=toHex$1;color$2.fastLerp=fastLerp$1;color$2.fastMapToColor=fastMapToColor$1;color$2.lerp=lerp$2;color$2.mapToColor=mapToColor$1;color$2.modifyHSL=modifyHSL$1;color$2.modifyAlpha=modifyAlpha$1;color$2.stringify=stringify$1;var Clip$2=Clip_1,color$1=color$2,_util$g=util$a,isArrayLike$2=_util$g.isArrayLike,arraySlice$1=Array.prototype.slice;function defaultGetter(ee,te){return ee[te]}function defaultSetter(ee,te,ae){ee[te]=ae}function interpolateNumber$2(ee,te,ae){return(te-ee)*ae+ee}function interpolateString(ee,te,ae){return ae>.5?te:ee}function interpolateArray(ee,te,ae,ne,ie){var oe=ee.length;if(ie===1)for(var se=0;se<oe;se++)ne[se]=interpolateNumber$2(ee[se],te[se],ae);else for(var le=oe&&ee[0].length,se=0;se<oe;se++)for(var ue=0;ue<le;ue++)ne[se][ue]=interpolateNumber$2(ee[se][ue],te[se][ue],ae)}function fillArr(ee,te,ae){var ne=ee.length,ie=te.length;if(ne!==ie){var oe=ne>ie;if(oe)ee.length=ie;else for(var se=ne;se<ie;se++)ee.push(ae===1?te[se]:arraySlice$1.call(te[se]))}for(var le=ee[0]&&ee[0].length,se=0;se<ee.length;se++)if(ae===1)isNaN(ee[se])&&(ee[se]=te[se]);else for(var ue=0;ue<le;ue++)isNaN(ee[se][ue])&&(ee[se][ue]=te[se][ue])}function isArraySame(ee,te,ae){if(ee===te)return!0;var ne=ee.length;if(ne!==te.length)return!1;if(ae===1){for(var ie=0;ie<ne;ie++)if(ee[ie]!==te[ie])return!1}else for(var oe=ee[0].length,ie=0;ie<ne;ie++)for(var se=0;se<oe;se++)if(ee[ie][se]!==te[ie][se])return!1;return!0}function catmullRomInterpolateArray(ee,te,ae,ne,ie,oe,se,le,ue){var ce=ee.length;if(ue===1)for(var de=0;de<ce;de++)le[de]=catmullRomInterpolate(ee[de],te[de],ae[de],ne[de],ie,oe,se);else for(var he=ee[0].length,de=0;de<ce;de++)for(var fe=0;fe<he;fe++)le[de][fe]=catmullRomInterpolate(ee[de][fe],te[de][fe],ae[de][fe],ne[de][fe],ie,oe,se)}function catmullRomInterpolate(ee,te,ae,ne,ie,oe,se){var le=(ae-ee)*.5,ue=(ne-te)*.5;return(2*(te-ae)+le+ue)*se+(-3*(te-ae)-2*le-ue)*oe+le*ie+te}function cloneValue$1(ee){if(isArrayLike$2(ee)){var te=ee.length;if(isArrayLike$2(ee[0])){for(var ae=[],ne=0;ne<te;ne++)ae.push(arraySlice$1.call(ee[ne]));return ae}return arraySlice$1.call(ee)}return ee}function rgba2String$1(ee){return ee[0]=Math.floor(ee[0]),ee[1]=Math.floor(ee[1]),ee[2]=Math.floor(ee[2]),"rgba("+ee.join(",")+")"}function getArrayDim(ee){var te=ee[ee.length-1].value;return isArrayLike$2(te&&te[0])?2:1}function createTrackClip(ee,te,ae,ne,ie,oe){var se=ee._getter,le=ee._setter,ue=te==="spline",ce=ne.length;if(ce){var de=ne[0].value,he=isArrayLike$2(de),fe=!1,pe=!1,ve=he?getArrayDim(ne):0,ge;ne.sort(function(He,qe){return He.time-qe.time}),ge=ne[ce-1].time;for(var me=[],ye=[],_e=ne[0].value,be=!0,xe=0;xe<ce;xe++){me.push(ne[xe].time/ge);var $e=ne[xe].value;if(he&&isArraySame($e,_e,ve)||!he&&$e===_e||(be=!1),_e=$e,typeof $e=="string"){var Se=color$1.parse($e);Se?($e=Se,fe=!0):pe=!0}ye.push($e)}if(!(!oe&&be)){for(var we=ye[ce-1],xe=0;xe<ce-1;xe++)he?fillArr(ye[xe],we,ve):isNaN(ye[xe])&&!isNaN(we)&&!pe&&!fe&&(ye[xe]=we);he&&fillArr(se(ee._target,ie),we,ve);var Ae=0,Te=0,De,Me,Ie,Ce,Ee,Re;if(fe)var ke=[0,0,0,0];var Be=function(He,qe){var Oe;if(qe<0)Oe=0;else if(qe<Te){for(De=Math.min(Ae+1,ce-1),Oe=De;Oe>=0&&!(me[Oe]<=qe);Oe--);Oe=Math.min(Oe,ce-2)}else{for(Oe=Ae;Oe<ce&&!(me[Oe]>qe);Oe++);Oe=Math.min(Oe-1,ce-2)}Ae=Oe,Te=qe;var ze=me[Oe+1]-me[Oe];if(ze!==0)if(Me=(qe-me[Oe])/ze,ue)if(Ce=ye[Oe],Ie=ye[Oe===0?Oe:Oe-1],Ee=ye[Oe>ce-2?ce-1:Oe+1],Re=ye[Oe>ce-3?ce-1:Oe+2],he)catmullRomInterpolateArray(Ie,Ce,Ee,Re,Me,Me*Me,Me*Me*Me,se(He,ie),ve);else{var Ve;if(fe)Ve=catmullRomInterpolateArray(Ie,Ce,Ee,Re,Me,Me*Me,Me*Me*Me,ke,1),Ve=rgba2String$1(ke);else{if(pe)return interpolateString(Ce,Ee,Me);Ve=catmullRomInterpolate(Ie,Ce,Ee,Re,Me,Me*Me,Me*Me*Me)}le(He,ie,Ve)}else if(he)interpolateArray(ye[Oe],ye[Oe+1],Me,se(He,ie),ve);else{var Ve;if(fe)interpolateArray(ye[Oe],ye[Oe+1],Me,ke,1),Ve=rgba2String$1(ke);else{if(pe)return interpolateString(ye[Oe],ye[Oe+1],Me);Ve=interpolateNumber$2(ye[Oe],ye[Oe+1],Me)}le(He,ie,Ve)}},Ne=new Clip$2({target:ee._target,life:ge,loop:ee._loop,delay:ee._delay,onframe:Be,ondestroy:ae});return te&&te!=="spline"&&(Ne.easing=te),Ne}}}var Animator$4=function(ee,te,ae,ne){this._tracks={},this._target=ee,this._loop=te||!1,this._getter=ae||defaultGetter,this._setter=ne||defaultSetter,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Animator$4.prototype={when:function(ee,te){var ae=this._tracks;for(var ne in te)if(te.hasOwnProperty(ne)){if(!ae[ne]){ae[ne]=[];var ie=this._getter(this._target,ne);if(ie==null)continue;ee!==0&&ae[ne].push({time:0,value:cloneValue$1(ie)})}ae[ne].push({time:ee,value:te[ne]})}return this},during:function(ee){return this._onframeList.push(ee),this},pause:function(){for(var ee=0;ee<this._clipList.length;ee++)this._clipList[ee].pause();this._paused=!0},resume:function(){for(var ee=0;ee<this._clipList.length;ee++)this._clipList[ee].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var ee=this._doneList,te=ee.length,ae=0;ae<te;ae++)ee[ae].call(this)},start:function(ee,te){var ae=this,ne=0,ie=function(){ne--,ne||ae._doneCallback()},oe;for(var se in this._tracks)if(this._tracks.hasOwnProperty(se)){var le=createTrackClip(this,ee,ie,this._tracks[se],se,te);le&&(this._clipList.push(le),ne++,this.animation&&this.animation.addClip(le),oe=le)}if(oe){var ue=oe.onframe;oe.onframe=function(ce,de){ue(ce,de);for(var he=0;he<ae._onframeList.length;he++)ae._onframeList[he](ce,de)}}return ne||this._doneCallback(),this},stop:function(ee){for(var te=this._clipList,ae=this.animation,ne=0;ne<te.length;ne++){var ie=te[ne];ee&&ie.onframe(this._target,1),ae&&ae.removeClip(ie)}te.length=0},delay:function(ee){return this._delay=ee,this},done:function(ee){return ee&&this._doneList.push(ee),this},getClips:function(){return this._clipList}};var _default$16=Animator$4,Animator_1=_default$16,config$1={},dpr$2=1;typeof window<"u"&&(dpr$2=Math.max(window.devicePixelRatio||1,1));var debugMode$1=0,devicePixelRatio$3=dpr$2;config$1.debugMode=debugMode$1;config$1.devicePixelRatio=devicePixelRatio$3;var _config$3=config$1,debugMode=_config$3.debugMode,logError$3=function(){};debugMode===1&&(logError$3=console.error);var _default$15=logError$3,log$2=_default$15,Animator$3=Animator_1,logError$2=log$2,_util$f=util$a,isString$7=_util$f.isString,isFunction$7=_util$f.isFunction,isObject$d=_util$f.isObject,isArrayLike$1=_util$f.isArrayLike,indexOf$3=_util$f.indexOf,Animatable$1=function(){this.animators=[]};Animatable$1.prototype={constructor:Animatable$1,animate:function(ee,te){var ae,ne=!1,ie=this,oe=this.__zr;if(ee){var se=ee.split("."),le=ie;ne=se[0]==="shape";for(var ue=0,ce=se.length;ue<ce;ue++)le&&(le=le[se[ue]]);le&&(ae=le)}else ae=ie;if(!ae){logError$2('Property "'+ee+'" is not existed in element '+ie.id);return}var de=ie.animators,he=new Animator$3(ae,te);return he.during(function(fe){ie.dirty(ne)}).done(function(){de.splice(indexOf$3(de,he),1)}),de.push(he),oe&&oe.animation.addAnimator(he),he},stopAnimation:function(ee){for(var te=this.animators,ae=te.length,ne=0;ne<ae;ne++)te[ne].stop(ee);return te.length=0,this},animateTo:function(ee,te,ae,ne,ie,oe){animateTo$1(this,ee,te,ae,ne,ie,oe)},animateFrom:function(ee,te,ae,ne,ie,oe){animateTo$1(this,ee,te,ae,ne,ie,oe,!0)}};function animateTo$1(ee,te,ae,ne,ie,oe,se,le){isString$7(ne)?(oe=ie,ie=ne,ne=0):isFunction$7(ie)?(oe=ie,ie="linear",ne=0):isFunction$7(ne)?(oe=ne,ne=0):isFunction$7(ae)?(oe=ae,ae=500):ae||(ae=500),ee.stopAnimation(),animateToShallow$1(ee,"",ee,te,ae,ne,le);var ue=ee.animators.slice(),ce=ue.length;function de(){ce--,ce||oe&&oe()}ce||oe&&oe();for(var he=0;he<ue.length;he++)ue[he].done(de).start(ie,se)}function animateToShallow$1(ee,te,ae,ne,ie,oe,se){var le={},ue=0;for(var ce in ne)ne.hasOwnProperty(ce)&&(ae[ce]!=null?isObject$d(ne[ce])&&!isArrayLike$1(ne[ce])?animateToShallow$1(ee,te?te+"."+ce:ce,ae[ce],ne[ce],ie,oe,se):(se?(le[ce]=ae[ce],setAttrByPath(ee,te,ce,ne[ce])):le[ce]=ne[ce],ue++):ne[ce]!=null&&!se&&setAttrByPath(ee,te,ce,ne[ce]));ue>0&&ee.animate(te,!1).when(ie??500,le).delay(oe||0)}function setAttrByPath(ee,te,ae,ne){if(!te)ee.attr(ae,ne);else{var ie={};ie[te]={},ie[te][ae]=ne,ee.attr(ie)}}var _default$14=Animatable$1,Animatable_1=_default$14,guid$3=guid$4,Eventful$3=Eventful_1,Transformable$3=Transformable_1,Animatable=Animatable_1,zrUtil$p=util$a,Element$4=function(ee){Transformable$3.call(this,ee),Eventful$3.call(this,ee),Animatable.call(this,ee),this.id=ee.id||guid$3()};Element$4.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(ee,te){switch(this.draggable){case"horizontal":te=0;break;case"vertical":ee=0;break}var ae=this.transform;ae||(ae=this.transform=[1,0,0,1,0,0]),ae[4]+=ee,ae[5]+=te,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(ee,te){},attrKV:function(ee,te){if(ee==="position"||ee==="scale"||ee==="origin"){if(te){var ae=this[ee];ae||(ae=this[ee]=[]),ae[0]=te[0],ae[1]=te[1]}}else this[ee]=te},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(ee,te){if(typeof ee=="string")this.attrKV(ee,te);else if(zrUtil$p.isObject(ee))for(var ae in ee)ee.hasOwnProperty(ae)&&this.attrKV(ae,ee[ae]);return this.dirty(!1),this},setClipPath:function(ee){var te=this.__zr;te&&ee.addSelfToZr(te),this.clipPath&&this.clipPath!==ee&&this.removeClipPath(),this.clipPath=ee,ee.__zr=te,ee.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var ee=this.clipPath;ee&&(ee.__zr&&ee.removeSelfFromZr(ee.__zr),ee.__zr=null,ee.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(ee){this.__zr=ee;var te=this.animators;if(te)for(var ae=0;ae<te.length;ae++)ee.animation.addAnimator(te[ae]);this.clipPath&&this.clipPath.addSelfToZr(ee)},removeSelfFromZr:function(ee){this.__zr=null;var te=this.animators;if(te)for(var ae=0;ae<te.length;ae++)ee.animation.removeAnimator(te[ae]);this.clipPath&&this.clipPath.removeSelfFromZr(ee)}};zrUtil$p.mixin(Element$4,Animatable);zrUtil$p.mixin(Element$4,Transformable$3);zrUtil$p.mixin(Element$4,Eventful$3);var _default$13=Element$4,Element_1=_default$13,vec2$2=vector$3,matrix$3=matrix$5,v2ApplyTransform$2=vec2$2.applyTransform,mathMin$d=Math.min,mathMax$d=Math.max;function BoundingRect$a(ee,te,ae,ne){ae<0&&(ee=ee+ae,ae=-ae),ne<0&&(te=te+ne,ne=-ne),this.x=ee,this.y=te,this.width=ae,this.height=ne}BoundingRect$a.prototype={constructor:BoundingRect$a,union:function(ee){var te=mathMin$d(ee.x,this.x),ae=mathMin$d(ee.y,this.y);this.width=mathMax$d(ee.x+ee.width,this.x+this.width)-te,this.height=mathMax$d(ee.y+ee.height,this.y+this.height)-ae,this.x=te,this.y=ae},applyTransform:function(){var ee=[],te=[],ae=[],ne=[];return function(ie){if(ie){ee[0]=ae[0]=this.x,ee[1]=ne[1]=this.y,te[0]=ne[0]=this.x+this.width,te[1]=ae[1]=this.y+this.height,v2ApplyTransform$2(ee,ee,ie),v2ApplyTransform$2(te,te,ie),v2ApplyTransform$2(ae,ae,ie),v2ApplyTransform$2(ne,ne,ie),this.x=mathMin$d(ee[0],te[0],ae[0],ne[0]),this.y=mathMin$d(ee[1],te[1],ae[1],ne[1]);var oe=mathMax$d(ee[0],te[0],ae[0],ne[0]),se=mathMax$d(ee[1],te[1],ae[1],ne[1]);this.width=oe-this.x,this.height=se-this.y}}}(),calculateTransform:function(ee){var te=this,ae=ee.width/te.width,ne=ee.height/te.height,ie=matrix$3.create();return matrix$3.translate(ie,ie,[-te.x,-te.y]),matrix$3.scale(ie,ie,[ae,ne]),matrix$3.translate(ie,ie,[ee.x,ee.y]),ie},intersect:function(ee){if(!ee)return!1;ee instanceof BoundingRect$a||(ee=BoundingRect$a.create(ee));var te=this,ae=te.x,ne=te.x+te.width,ie=te.y,oe=te.y+te.height,se=ee.x,le=ee.x+ee.width,ue=ee.y,ce=ee.y+ee.height;return!(ne<se||le<ae||oe<ue||ce<ie)},contain:function(ee,te){var ae=this;return ee>=ae.x&&ee<=ae.x+ae.width&&te>=ae.y&&te<=ae.y+ae.height},clone:function(){return new BoundingRect$a(this.x,this.y,this.width,this.height)},copy:function(ee){this.x=ee.x,this.y=ee.y,this.width=ee.width,this.height=ee.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}};BoundingRect$a.create=function(ee){return new BoundingRect$a(ee.x,ee.y,ee.width,ee.height)};var _default$12=BoundingRect$a,BoundingRect_1=_default$12,zrUtil$o=util$a,Element$3=Element_1,BoundingRect$9=BoundingRect_1,Group$a=function(ee){ee=ee||{},Element$3.call(this,ee);for(var te in ee)ee.hasOwnProperty(te)&&(this[te]=ee[te]);this._children=[],this.__storage=null,this.__dirty=!0};Group$a.prototype={constructor:Group$a,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(ee){return this._children[ee]},childOfName:function(ee){for(var te=this._children,ae=0;ae<te.length;ae++)if(te[ae].name===ee)return te[ae]},childCount:function(){return this._children.length},add:function(ee){return ee&&ee!==this&&ee.parent!==this&&(this._children.push(ee),this._doAdd(ee)),this},addBefore:function(ee,te){if(ee&&ee!==this&&ee.parent!==this&&te&&te.parent===this){var ae=this._children,ne=ae.indexOf(te);ne>=0&&(ae.splice(ne,0,ee),this._doAdd(ee))}return this},_doAdd:function(ee){ee.parent&&ee.parent.remove(ee),ee.parent=this;var te=this.__storage,ae=this.__zr;te&&te!==ee.__storage&&(te.addToStorage(ee),ee instanceof Group$a&&ee.addChildrenToStorage(te)),ae&&ae.refresh()},remove:function(ee){var te=this.__zr,ae=this.__storage,ne=this._children,ie=zrUtil$o.indexOf(ne,ee);return ie<0?this:(ne.splice(ie,1),ee.parent=null,ae&&(ae.delFromStorage(ee),ee instanceof Group$a&&ee.delChildrenFromStorage(ae)),te&&te.refresh(),this)},removeAll:function(){var ee=this._children,te=this.__storage,ae,ne;for(ne=0;ne<ee.length;ne++)ae=ee[ne],te&&(te.delFromStorage(ae),ae instanceof Group$a&&ae.delChildrenFromStorage(te)),ae.parent=null;return ee.length=0,this},eachChild:function(ee,te){for(var ae=this._children,ne=0;ne<ae.length;ne++){var ie=ae[ne];ee.call(te,ie,ne)}return this},traverse:function(ee,te){for(var ae=0;ae<this._children.length;ae++){var ne=this._children[ae];ee.call(te,ne),ne.type==="group"&&ne.traverse(ee,te)}return this},addChildrenToStorage:function(ee){for(var te=0;te<this._children.length;te++){var ae=this._children[te];ee.addToStorage(ae),ae instanceof Group$a&&ae.addChildrenToStorage(ee)}},delChildrenFromStorage:function(ee){for(var te=0;te<this._children.length;te++){var ae=this._children[te];ee.delFromStorage(ae),ae instanceof Group$a&&ae.delChildrenFromStorage(ee)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(ee){for(var te=null,ae=new BoundingRect$9(0,0,0,0),ne=ee||this._children,ie=[],oe=0;oe<ne.length;oe++){var se=ne[oe];if(!(se.ignore||se.invisible)){var le=se.getBoundingRect(),ue=se.getLocalTransform(ie);ue?(ae.copy(le),ae.applyTransform(ue),te=te||ae.clone(),te.union(ae)):(te=te||le.clone(),te.union(le))}}return te||ae}};zrUtil$o.inherits(Group$a,Element$3);var _default$11=Group$a,Group_1=_default$11,DEFAULT_MIN_MERGE$1=32,DEFAULT_MIN_GALLOPING$1=7;function minRunLength$1(ee){for(var te=0;ee>=DEFAULT_MIN_MERGE$1;)te|=ee&1,ee>>=1;return ee+te}function makeAscendingRun$1(ee,te,ae,ne){var ie=te+1;if(ie===ae)return 1;if(ne(ee[ie++],ee[te])<0){for(;ie<ae&&ne(ee[ie],ee[ie-1])<0;)ie++;reverseRun$1(ee,te,ie)}else for(;ie<ae&&ne(ee[ie],ee[ie-1])>=0;)ie++;return ie-te}function reverseRun$1(ee,te,ae){for(ae--;te<ae;){var ne=ee[te];ee[te++]=ee[ae],ee[ae--]=ne}}function binaryInsertionSort$1(ee,te,ae,ne,ie){for(ne===te&&ne++;ne<ae;ne++){for(var oe=ee[ne],se=te,le=ne,ue;se<le;)ue=se+le>>>1,ie(oe,ee[ue])<0?le=ue:se=ue+1;var ce=ne-se;switch(ce){case 3:ee[se+3]=ee[se+2];case 2:ee[se+2]=ee[se+1];case 1:ee[se+1]=ee[se];break;default:for(;ce>0;)ee[se+ce]=ee[se+ce-1],ce--}ee[se]=oe}}function gallopLeft$1(ee,te,ae,ne,ie,oe){var se=0,le=0,ue=1;if(oe(ee,te[ae+ie])>0){for(le=ne-ie;ue<le&&oe(ee,te[ae+ie+ue])>0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le),se+=ie,ue+=ie}else{for(le=ie+1;ue<le&&oe(ee,te[ae+ie-ue])<=0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le);var ce=se;se=ie-ue,ue=ie-ce}for(se++;se<ue;){var de=se+(ue-se>>>1);oe(ee,te[ae+de])>0?se=de+1:ue=de}return ue}function gallopRight$1(ee,te,ae,ne,ie,oe){var se=0,le=0,ue=1;if(oe(ee,te[ae+ie])<0){for(le=ie+1;ue<le&&oe(ee,te[ae+ie-ue])<0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le);var ce=se;se=ie-ue,ue=ie-ce}else{for(le=ne-ie;ue<le&&oe(ee,te[ae+ie+ue])>=0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le),se+=ie,ue+=ie}for(se++;se<ue;){var de=se+(ue-se>>>1);oe(ee,te[ae+de])<0?ue=de:se=de+1}return ue}function TimSort$1(ee,te){var ae=DEFAULT_MIN_GALLOPING$1,ne,ie,oe=0;ee.length;var se=[];ne=[],ie=[];function le(pe,ve){ne[oe]=pe,ie[oe]=ve,oe+=1}function ue(){for(;oe>1;){var pe=oe-2;if(pe>=1&&ie[pe-1]<=ie[pe]+ie[pe+1]||pe>=2&&ie[pe-2]<=ie[pe]+ie[pe-1])ie[pe-1]<ie[pe+1]&&pe--;else if(ie[pe]>ie[pe+1])break;de(pe)}}function ce(){for(;oe>1;){var pe=oe-2;pe>0&&ie[pe-1]<ie[pe+1]&&pe--,de(pe)}}function de(pe){var ve=ne[pe],ge=ie[pe],me=ne[pe+1],ye=ie[pe+1];ie[pe]=ge+ye,pe===oe-3&&(ne[pe+1]=ne[pe+2],ie[pe+1]=ie[pe+2]),oe--;var _e=gallopRight$1(ee[me],ee,ve,ge,0,te);ve+=_e,ge-=_e,ge!==0&&(ye=gallopLeft$1(ee[ve+ge-1],ee,me,ye,ye-1,te),ye!==0&&(ge<=ye?he(ve,ge,me,ye):fe(ve,ge,me,ye)))}function he(pe,ve,ge,me){var ye=0;for(ye=0;ye<ve;ye++)se[ye]=ee[pe+ye];var _e=0,be=ge,xe=pe;if(ee[xe++]=ee[be++],--me===0){for(ye=0;ye<ve;ye++)ee[xe+ye]=se[_e+ye];return}if(ve===1){for(ye=0;ye<me;ye++)ee[xe+ye]=ee[be+ye];ee[xe+me]=se[_e];return}for(var $e=ae,Se,we,Ae;;){Se=0,we=0,Ae=!1;do if(te(ee[be],se[_e])<0){if(ee[xe++]=ee[be++],we++,Se=0,--me===0){Ae=!0;break}}else if(ee[xe++]=se[_e++],Se++,we=0,--ve===1){Ae=!0;break}while((Se|we)<$e);if(Ae)break;do{if(Se=gallopRight$1(ee[be],se,_e,ve,0,te),Se!==0){for(ye=0;ye<Se;ye++)ee[xe+ye]=se[_e+ye];if(xe+=Se,_e+=Se,ve-=Se,ve<=1){Ae=!0;break}}if(ee[xe++]=ee[be++],--me===0){Ae=!0;break}if(we=gallopLeft$1(se[_e],ee,be,me,0,te),we!==0){for(ye=0;ye<we;ye++)ee[xe+ye]=ee[be+ye];if(xe+=we,be+=we,me-=we,me===0){Ae=!0;break}}if(ee[xe++]=se[_e++],--ve===1){Ae=!0;break}$e--}while(Se>=DEFAULT_MIN_GALLOPING$1||we>=DEFAULT_MIN_GALLOPING$1);if(Ae)break;$e<0&&($e=0),$e+=2}if(ae=$e,ae<1&&(ae=1),ve===1){for(ye=0;ye<me;ye++)ee[xe+ye]=ee[be+ye];ee[xe+me]=se[_e]}else{if(ve===0)throw new Error;for(ye=0;ye<ve;ye++)ee[xe+ye]=se[_e+ye]}}function fe(pe,ve,ge,me){var ye=0;for(ye=0;ye<me;ye++)se[ye]=ee[ge+ye];var _e=pe+ve-1,be=me-1,xe=ge+me-1,$e=0,Se=0;if(ee[xe--]=ee[_e--],--ve===0){for($e=xe-(me-1),ye=0;ye<me;ye++)ee[$e+ye]=se[ye];return}if(me===1){for(xe-=ve,_e-=ve,Se=xe+1,$e=_e+1,ye=ve-1;ye>=0;ye--)ee[Se+ye]=ee[$e+ye];ee[xe]=se[be];return}for(var we=ae;;){var Ae=0,Te=0,De=!1;do if(te(se[be],ee[_e])<0){if(ee[xe--]=ee[_e--],Ae++,Te=0,--ve===0){De=!0;break}}else if(ee[xe--]=se[be--],Te++,Ae=0,--me===1){De=!0;break}while((Ae|Te)<we);if(De)break;do{if(Ae=ve-gallopRight$1(se[be],ee,pe,ve,ve-1,te),Ae!==0){for(xe-=Ae,_e-=Ae,ve-=Ae,Se=xe+1,$e=_e+1,ye=Ae-1;ye>=0;ye--)ee[Se+ye]=ee[$e+ye];if(ve===0){De=!0;break}}if(ee[xe--]=se[be--],--me===1){De=!0;break}if(Te=me-gallopLeft$1(ee[_e],se,0,me,me-1,te),Te!==0){for(xe-=Te,be-=Te,me-=Te,Se=xe+1,$e=be+1,ye=0;ye<Te;ye++)ee[Se+ye]=se[$e+ye];if(me<=1){De=!0;break}}if(ee[xe--]=ee[_e--],--ve===0){De=!0;break}we--}while(Ae>=DEFAULT_MIN_GALLOPING$1||Te>=DEFAULT_MIN_GALLOPING$1);if(De)break;we<0&&(we=0),we+=2}if(ae=we,ae<1&&(ae=1),me===1){for(xe-=ve,_e-=ve,Se=xe+1,$e=_e+1,ye=ve-1;ye>=0;ye--)ee[Se+ye]=ee[$e+ye];ee[xe]=se[be]}else{if(me===0)throw new Error;for($e=xe-(me-1),ye=0;ye<me;ye++)ee[$e+ye]=se[ye]}}this.mergeRuns=ue,this.forceMergeRuns=ce,this.pushRun=le}function sort$3(ee,te,ae,ne){ae||(ae=0),ne||(ne=ee.length);var ie=ne-ae;if(!(ie<2)){var oe=0;if(ie<DEFAULT_MIN_MERGE$1){oe=makeAscendingRun$1(ee,ae,ne,te),binaryInsertionSort$1(ee,ae,ne,ae+oe,te);return}var se=new TimSort$1(ee,te),le=minRunLength$1(ie);do{if(oe=makeAscendingRun$1(ee,ae,ne,te),oe<le){var ue=ie;ue>le&&(ue=le),binaryInsertionSort$1(ee,ae,ae+ue,ae+oe,te),oe=ue}se.pushRun(ae,oe),se.mergeRuns(),ie-=oe,ae+=oe}while(ie!==0);se.forceMergeRuns()}}var timsort$2=sort$3,util$8=util$a,env$9=env_1,Group$9=Group_1,timsort$1=timsort$2;function shapeCompareFunc$1(ee,te){return ee.zlevel===te.zlevel?ee.z===te.z?ee.z2-te.z2:ee.z-te.z:ee.zlevel-te.zlevel}var Storage$3=function(){this._roots=[],this._displayList=[],this._displayListLen=0};Storage$3.prototype={constructor:Storage$3,traverse:function(ee,te){for(var ae=0;ae<this._roots.length;ae++)this._roots[ae].traverse(ee,te)},getDisplayList:function(ee,te){return te=te||!1,ee&&this.updateDisplayList(te),this._displayList},updateDisplayList:function(ee){this._displayListLen=0;for(var te=this._roots,ae=this._displayList,ne=0,ie=te.length;ne<ie;ne++)this._updateAndAddDisplayable(te[ne],null,ee);ae.length=this._displayListLen,env$9.canvasSupported&&timsort$1(ae,shapeCompareFunc$1)},_updateAndAddDisplayable:function(ee,te,ae){if(!(ee.ignore&&!ae)){ee.beforeUpdate(),ee.__dirty&&ee.update(),ee.afterUpdate();var ne=ee.clipPath;if(ne){te?te=te.slice():te=[];for(var ie=ne,oe=ee;ie;)ie.parent=oe,ie.updateTransform(),te.push(ie),oe=ie,ie=ie.clipPath}if(ee.isGroup){for(var se=ee._children,le=0;le<se.length;le++){var ue=se[le];ee.__dirty&&(ue.__dirty=!0),this._updateAndAddDisplayable(ue,te,ae)}ee.__dirty=!1}else ee.__clipPaths=te,this._displayList[this._displayListLen++]=ee}},addRoot:function(ee){ee.__storage!==this&&(ee instanceof Group$9&&ee.addChildrenToStorage(this),this.addToStorage(ee),this._roots.push(ee))},delRoot:function(ee){if(ee==null){for(var te=0;te<this._roots.length;te++){var ae=this._roots[te];ae instanceof Group$9&&ae.delChildrenFromStorage(this)}this._roots=[],this._displayList=[],this._displayListLen=0;return}if(ee instanceof Array){for(var te=0,ne=ee.length;te<ne;te++)this.delRoot(ee[te]);return}var ie=util$8.indexOf(this._roots,ee);ie>=0&&(this.delFromStorage(ee),this._roots.splice(ie,1),ee instanceof Group$9&&ee.delChildrenFromStorage(this))},addToStorage:function(ee){return ee&&(ee.__storage=this,ee.dirty(!1)),this},delFromStorage:function(ee){return ee&&(ee.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:shapeCompareFunc$1};var _default$10=Storage$3,Storage_1=_default$10,SHADOW_PROPS={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1};function _default$$(ee,te,ae){return SHADOW_PROPS.hasOwnProperty(te)?ae*=ee.dpr:ae}var fixShadow$2=_default$$,constant={},ContextCachedBy$3={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},WILL_BE_RESTORED$1=9;constant.ContextCachedBy=ContextCachedBy$3;constant.WILL_BE_RESTORED=WILL_BE_RESTORED$1;var fixShadow$1=fixShadow$2,_constant$2=constant,ContextCachedBy$2=_constant$2.ContextCachedBy,STYLE_COMMON_PROPS=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],Style$3=function(ee){this.extendFrom(ee,!1)};function createLinearGradient$1(ee,te,ae){var ne=te.x==null?0:te.x,ie=te.x2==null?1:te.x2,oe=te.y==null?0:te.y,se=te.y2==null?0:te.y2;te.global||(ne=ne*ae.width+ae.x,ie=ie*ae.width+ae.x,oe=oe*ae.height+ae.y,se=se*ae.height+ae.y),ne=isNaN(ne)?0:ne,ie=isNaN(ie)?1:ie,oe=isNaN(oe)?0:oe,se=isNaN(se)?0:se;var le=ee.createLinearGradient(ne,oe,ie,se);return le}function createRadialGradient$1(ee,te,ae){var ne=ae.width,ie=ae.height,oe=Math.min(ne,ie),se=te.x==null?.5:te.x,le=te.y==null?.5:te.y,ue=te.r==null?.5:te.r;te.global||(se=se*ne+ae.x,le=le*ie+ae.y,ue=ue*oe);var ce=ee.createRadialGradient(se,le,0,se,le,ue);return ce}Style$3.prototype={constructor:Style$3,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(ee,te,ae){var ne=this,ie=ae&&ae.style,oe=!ie||ee.__attrCachedBy!==ContextCachedBy$2.STYLE_BIND;ee.__attrCachedBy=ContextCachedBy$2.STYLE_BIND;for(var se=0;se<STYLE_COMMON_PROPS.length;se++){var le=STYLE_COMMON_PROPS[se],ue=le[0];(oe||ne[ue]!==ie[ue])&&(ee[ue]=fixShadow$1(ee,ue,ne[ue]||le[1]))}if((oe||ne.fill!==ie.fill)&&(ee.fillStyle=ne.fill),(oe||ne.stroke!==ie.stroke)&&(ee.strokeStyle=ne.stroke),(oe||ne.opacity!==ie.opacity)&&(ee.globalAlpha=ne.opacity==null?1:ne.opacity),(oe||ne.blend!==ie.blend)&&(ee.globalCompositeOperation=ne.blend||"source-over"),this.hasStroke()){var ce=ne.lineWidth;ee.lineWidth=ce/(this.strokeNoScale&&te&&te.getLineScale?te.getLineScale():1)}},hasFill:function(){var ee=this.fill;return ee!=null&&ee!=="none"},hasStroke:function(){var ee=this.stroke;return ee!=null&&ee!=="none"&&this.lineWidth>0},extendFrom:function(ee,te){if(ee)for(var ae in ee)ee.hasOwnProperty(ae)&&(te===!0||(te===!1?!this.hasOwnProperty(ae):ee[ae]!=null))&&(this[ae]=ee[ae])},set:function(ee,te){typeof ee=="string"?this[ee]=te:this.extendFrom(ee,!0)},clone:function(){var ee=new this.constructor;return ee.extendFrom(this,!0),ee},getGradient:function(ee,te,ae){for(var ne=te.type==="radial"?createRadialGradient$1:createLinearGradient$1,ie=ne(ee,te,ae),oe=te.colorStops,se=0;se<oe.length;se++)ie.addColorStop(oe[se].offset,oe[se].color);return ie}};var styleProto=Style$3.prototype;for(var i$3=0;i$3<STYLE_COMMON_PROPS.length;i$3++){var prop=STYLE_COMMON_PROPS[i$3];prop[0]in styleProto||(styleProto[prop[0]]=prop[1])}Style$3.getGradient=styleProto.getGradient;var _default$_=Style$3,Style_1=_default$_,Pattern$2=function(ee,te){this.image=ee,this.repeat=te,this.type="pattern"};Pattern$2.prototype.getCanvasPattern=function(ee){return ee.createPattern(this.image,this.repeat||"repeat")};var _default$Z=Pattern$2,Pattern_1=_default$Z,util$7=util$a,_config$2=config$1,devicePixelRatio$2=_config$2.devicePixelRatio,Style$2=Style_1,Pattern$1=Pattern_1;function returnFalse(){return!1}function createDom$1(ee,te,ae){var ne=util$7.createCanvas(),ie=te.getWidth(),oe=te.getHeight(),se=ne.style;return se&&(se.position="absolute",se.left=0,se.top=0,se.width=ie+"px",se.height=oe+"px",ne.setAttribute("data-zr-dom-id",ee)),ne.width=ie*ae,ne.height=oe*ae,ne}var Layer$3=function(ee,te,ae){var ne;ae=ae||devicePixelRatio$2,typeof ee=="string"?ne=createDom$1(ee,te,ae):util$7.isObject(ee)&&(ne=ee,ee=ne.id),this.id=ee,this.dom=ne;var ie=ne.style;ie&&(ne.onselectstart=returnFalse,ie["-webkit-user-select"]="none",ie["user-select"]="none",ie["-webkit-touch-callout"]="none",ie["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",ie.padding=0,ie.margin=0,ie["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=te,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=ae};Layer$3.prototype={constructor:Layer$3,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var ee=this.dpr;this.domBack=createDom$1("back-"+this.id,this.painter,ee),this.ctxBack=this.domBack.getContext("2d"),ee!==1&&this.ctxBack.scale(ee,ee)},resize:function(ee,te){var ae=this.dpr,ne=this.dom,ie=ne.style,oe=this.domBack;ie&&(ie.width=ee+"px",ie.height=te+"px"),ne.width=ee*ae,ne.height=te*ae,oe&&(oe.width=ee*ae,oe.height=te*ae,ae!==1&&this.ctxBack.scale(ae,ae))},clear:function(ee,se){var ae=this.dom,ne=this.ctx,ie=ae.width,oe=ae.height,se=se||this.clearColor,le=this.motionBlur&&!ee,ue=this.lastFrameAlpha,ce=this.dpr;if(le&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(ae,0,0,ie/ce,oe/ce)),ne.clearRect(0,0,ie,oe),se&&se!=="transparent"){var de;se.colorStops?(de=se.__canvasGradient||Style$2.getGradient(ne,se,{x:0,y:0,width:ie,height:oe}),se.__canvasGradient=de):se.image&&(de=Pattern$1.prototype.getCanvasPattern.call(se,ne)),ne.save(),ne.fillStyle=de||se,ne.fillRect(0,0,ie,oe),ne.restore()}if(le){var he=this.domBack;ne.save(),ne.globalAlpha=ue,ne.drawImage(he,0,0,ie,oe),ne.restore()}}};var _default$Y=Layer$3,Layer_1=_default$Y,_default$X=typeof window<"u"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(ee){setTimeout(ee,16)},requestAnimationFrame$6=_default$X,text$1={},text={},image={},LRU$2=LRU_1,globalImageCache$1=new LRU$2(50);function findExistImage$1(ee){if(typeof ee=="string"){var te=globalImageCache$1.get(ee);return te&&te.image}else return ee}function createOrUpdateImage$1(ee,te,ae,ne,ie){if(ee)if(typeof ee=="string"){if(te&&te.__zrImageSrc===ee||!ae)return te;var oe=globalImageCache$1.get(ee),se={hostEl:ae,cb:ne,cbPayload:ie};return oe?(te=oe.image,!isImageReady$1(te)&&oe.pending.push(se)):(te=new Image,te.onload=te.onerror=imageOnLoad$1,globalImageCache$1.put(ee,te.__cachedImgObj={image:te,pending:[se]}),te.src=te.__zrImageSrc=ee),te}else return ee;else return te}function imageOnLoad$1(){var ee=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var te=0;te<ee.pending.length;te++){var ae=ee.pending[te],ne=ae.cb;ne&&ne(this,ae.cbPayload),ae.hostEl.dirty()}ee.pending.length=0}function isImageReady$1(ee){return ee&&ee.width&&ee.height}image.findExistImage=findExistImage$1;image.createOrUpdateImage=createOrUpdateImage$1;image.isImageReady=isImageReady$1;var BoundingRect$8=BoundingRect_1,imageHelper$2=image,_util$e=util$a,getContext=_util$e.getContext,extend$9=_util$e.extend,retrieve2$2=_util$e.retrieve2,retrieve3$2=_util$e.retrieve3,trim$5=_util$e.trim,textWidthCache$1={},textWidthCacheCounter=0,TEXT_CACHE_MAX=5e3,STYLE_REG$1=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,DEFAULT_FONT$2="12px sans-serif",methods$1={};function $override(ee,te){methods$1[ee]=te}function getWidth$1(ee,te){te=te||DEFAULT_FONT$2;var ae=ee+":"+te;if(textWidthCache$1[ae])return textWidthCache$1[ae];for(var ne=(ee+"").split(`
-`),ie=0,oe=0,se=ne.length;oe<se;oe++)ie=Math.max(measureText(ne[oe],te).width,ie);return textWidthCacheCounter>TEXT_CACHE_MAX&&(textWidthCacheCounter=0,textWidthCache$1={}),textWidthCacheCounter++,textWidthCache$1[ae]=ie,ie}function getBoundingRect$1(ee,te,ae,ne,ie,oe,se,le){return se?getRichTextRect(ee,te,ae,ne,ie,oe,se,le):getPlainTextRect(ee,te,ae,ne,ie,oe,le)}function getPlainTextRect(ee,te,ae,ne,ie,oe,se){var le=parsePlainText$1(ee,te,ie,oe,se),ue=getWidth$1(ee,te);ie&&(ue+=ie[1]+ie[3]);var ce=le.outerHeight,de=adjustTextX$1(0,ue,ae),he=adjustTextY$2(0,ce,ne),fe=new BoundingRect$8(de,he,ue,ce);return fe.lineHeight=le.lineHeight,fe}function getRichTextRect(ee,te,ae,ne,ie,oe,se,le){var ue=parseRichText$1(ee,{rich:se,truncate:le,font:te,textAlign:ae,textPadding:ie,textLineHeight:oe}),ce=ue.outerWidth,de=ue.outerHeight,he=adjustTextX$1(0,ce,ae),fe=adjustTextY$2(0,de,ne);return new BoundingRect$8(he,fe,ce,de)}function adjustTextX$1(ee,te,ae){return ae==="right"?ee-=te:ae==="center"&&(ee-=te/2),ee}function adjustTextY$2(ee,te,ae){return ae==="middle"?ee-=te/2:ae==="bottom"&&(ee-=te),ee}function calculateTextPosition$1(ee,te,ae){var ne=te.textPosition,ie=te.textDistance,oe=ae.x,se=ae.y;ie=ie||0;var le=ae.height,ue=ae.width,ce=le/2,de="left",he="top";switch(ne){case"left":oe-=ie,se+=ce,de="right",he="middle";break;case"right":oe+=ie+ue,se+=ce,he="middle";break;case"top":oe+=ue/2,se-=ie,de="center",he="bottom";break;case"bottom":oe+=ue/2,se+=le+ie,de="center";break;case"inside":oe+=ue/2,se+=ce,de="center",he="middle";break;case"insideLeft":oe+=ie,se+=ce,he="middle";break;case"insideRight":oe+=ue-ie,se+=ce,de="right",he="middle";break;case"insideTop":oe+=ue/2,se+=ie,de="center";break;case"insideBottom":oe+=ue/2,se+=le-ie,de="center",he="bottom";break;case"insideTopLeft":oe+=ie,se+=ie;break;case"insideTopRight":oe+=ue-ie,se+=ie,de="right";break;case"insideBottomLeft":oe+=ie,se+=le-ie,he="bottom";break;case"insideBottomRight":oe+=ue-ie,se+=le-ie,de="right",he="bottom";break}return ee=ee||{},ee.x=oe,ee.y=se,ee.textAlign=de,ee.textVerticalAlign=he,ee}function adjustTextPositionOnRect(ee,te,ae){var ne={textPosition:ee,textDistance:ae};return calculateTextPosition$1({},ne,te)}function truncateText$2(ee,te,ae,ne,ie){if(!te)return"";var oe=(ee+"").split(`
-`);ie=prepareTruncateOptions$1(te,ae,ne,ie);for(var se=0,le=oe.length;se<le;se++)oe[se]=truncateSingleLine$1(oe[se],ie);return oe.join(`
-`)}function prepareTruncateOptions$1(ee,te,ie,ne){ne=extend$9({},ne),ne.font=te;var ie=retrieve2$2(ie,"...");ne.maxIterations=retrieve2$2(ne.maxIterations,2);var oe=ne.minChar=retrieve2$2(ne.minChar,0);ne.cnCharWidth=getWidth$1("国",te);var se=ne.ascCharWidth=getWidth$1("a",te);ne.placeholder=retrieve2$2(ne.placeholder,"");for(var le=ee=Math.max(0,ee-1),ue=0;ue<oe&&le>=se;ue++)le-=se;var ce=getWidth$1(ie,te);return ce>le&&(ie="",ce=0),le=ee-ce,ne.ellipsis=ie,ne.ellipsisWidth=ce,ne.contentWidth=le,ne.containerWidth=ee,ne}function truncateSingleLine$1(ee,te){var ae=te.containerWidth,ne=te.font,ie=te.contentWidth;if(!ae)return"";var oe=getWidth$1(ee,ne);if(oe<=ae)return ee;for(var se=0;;se++){if(oe<=ie||se>=te.maxIterations){ee+=te.ellipsis;break}var le=se===0?estimateLength$1(ee,ie,te.ascCharWidth,te.cnCharWidth):oe>0?Math.floor(ee.length*ie/oe):0;ee=ee.substr(0,le),oe=getWidth$1(ee,ne)}return ee===""&&(ee=te.placeholder),ee}function estimateLength$1(ee,te,ae,ne){for(var ie=0,oe=0,se=ee.length;oe<se&&ie<te;oe++){var le=ee.charCodeAt(oe);ie+=0<=le&&le<=127?ae:ne}return oe}function getLineHeight$1(ee){return getWidth$1("国",ee)}function measureText(ee,te){return methods$1.measureText(ee,te)}methods$1.measureText=function(ee,te){var ae=getContext();return ae.font=te||DEFAULT_FONT$2,ae.measureText(ee)};function parsePlainText$1(ee,te,ae,ne,ie){ee!=null&&(ee+="");var oe=retrieve2$2(ne,getLineHeight$1(te)),se=ee?ee.split(`
-`):[],le=se.length*oe,ue=le,ce=!0;if(ae&&(ue+=ae[0]+ae[2]),ee&&ie){ce=!1;var de=ie.outerHeight,he=ie.outerWidth;if(de!=null&&ue>de)ee="",se=[];else if(he!=null)for(var fe=prepareTruncateOptions$1(he-(ae?ae[1]+ae[3]:0),te,ie.ellipsis,{minChar:ie.minChar,placeholder:ie.placeholder}),pe=0,ve=se.length;pe<ve;pe++)se[pe]=truncateSingleLine$1(se[pe],fe)}return{lines:se,height:le,outerHeight:ue,lineHeight:oe,canCacheByTextString:ce}}function parseRichText$1(ee,te){var ae={lines:[],width:0,height:0};if(ee!=null&&(ee+=""),!ee)return ae;for(var ne=STYLE_REG$1.lastIndex=0,ie;(ie=STYLE_REG$1.exec(ee))!=null;){var oe=ie.index;oe>ne&&pushTokens$1(ae,ee.substring(ne,oe)),pushTokens$1(ae,ie[2],ie[1]),ne=STYLE_REG$1.lastIndex}ne<ee.length&&pushTokens$1(ae,ee.substring(ne,ee.length));var se=ae.lines,le=0,ue=0,ce=[],de=te.textPadding,he=te.truncate,fe=he&&he.outerWidth,pe=he&&he.outerHeight;de&&(fe!=null&&(fe-=de[1]+de[3]),pe!=null&&(pe-=de[0]+de[2]));for(var ve=0;ve<se.length;ve++){for(var ge=se[ve],me=0,ye=0,_e=0;_e<ge.tokens.length;_e++){var be=ge.tokens[_e],xe=be.styleName&&te.rich[be.styleName]||{},$e=be.textPadding=xe.textPadding,Se=be.font=xe.font||te.font,we=be.textHeight=retrieve2$2(xe.textHeight,getLineHeight$1(Se));if($e&&(we+=$e[0]+$e[2]),be.height=we,be.lineHeight=retrieve3$2(xe.textLineHeight,te.textLineHeight,we),be.textAlign=xe&&xe.textAlign||te.textAlign,be.textVerticalAlign=xe&&xe.textVerticalAlign||"middle",pe!=null&&le+be.lineHeight>pe)return{lines:[],width:0,height:0};be.textWidth=getWidth$1(be.text,Se);var Ae=xe.textWidth,Te=Ae==null||Ae==="auto";if(typeof Ae=="string"&&Ae.charAt(Ae.length-1)==="%")be.percentWidth=Ae,ce.push(be),Ae=0;else{if(Te){Ae=be.textWidth;var De=xe.textBackgroundColor,Me=De&&De.image;Me&&(Me=imageHelper$2.findExistImage(Me),imageHelper$2.isImageReady(Me)&&(Ae=Math.max(Ae,Me.width*we/Me.height)))}var Ie=$e?$e[1]+$e[3]:0;Ae+=Ie;var Ce=fe!=null?fe-ye:null;Ce!=null&&Ce<Ae&&(!Te||Ce<Ie?(be.text="",be.textWidth=Ae=0):(be.text=truncateText$2(be.text,Ce-Ie,Se,he.ellipsis,{minChar:he.minChar}),be.textWidth=getWidth$1(be.text,Se),Ae=be.textWidth+Ie))}ye+=be.width=Ae,xe&&(me=Math.max(me,be.lineHeight))}ge.width=ye,ge.lineHeight=me,le+=me,ue=Math.max(ue,ye)}ae.outerWidth=ae.width=retrieve2$2(te.textWidth,ue),ae.outerHeight=ae.height=retrieve2$2(te.textHeight,le),de&&(ae.outerWidth+=de[1]+de[3],ae.outerHeight+=de[0]+de[2]);for(var ve=0;ve<ce.length;ve++){var be=ce[ve],Ee=be.percentWidth;be.width=parseInt(Ee,10)/100*ue}return ae}function pushTokens$1(ee,te,ae){for(var ne=te==="",ie=te.split(`
-`),oe=ee.lines,se=0;se<ie.length;se++){var le=ie[se],ue={styleName:ae,text:le,isLineHolder:!le&&!ne};if(se)oe.push({tokens:[ue]});else{var ce=(oe[oe.length-1]||(oe[0]={tokens:[]})).tokens,de=ce.length;de===1&&ce[0].isLineHolder?ce[0]=ue:(le||!de||ne)&&ce.push(ue)}}}function makeFont(ee){var te=(ee.fontSize||ee.fontFamily)&&[ee.fontStyle,ee.fontWeight,(ee.fontSize||12)+"px",ee.fontFamily||"sans-serif"].join(" ");return te&&trim$5(te)||ee.textFont||ee.font}text.DEFAULT_FONT=DEFAULT_FONT$2;text.$override=$override;text.getWidth=getWidth$1;text.getBoundingRect=getBoundingRect$1;text.adjustTextX=adjustTextX$1;text.adjustTextY=adjustTextY$2;text.calculateTextPosition=calculateTextPosition$1;text.adjustTextPositionOnRect=adjustTextPositionOnRect;text.truncateText=truncateText$2;text.getLineHeight=getLineHeight$1;text.measureText=measureText;text.parsePlainText=parsePlainText$1;text.parseRichText=parseRichText$1;text.makeFont=makeFont;var roundRect={};function buildPath$4(ee,te){var ae=te.x,ne=te.y,ie=te.width,oe=te.height,se=te.r,le,ue,ce,de;ie<0&&(ae=ae+ie,ie=-ie),oe<0&&(ne=ne+oe,oe=-oe),typeof se=="number"?le=ue=ce=de=se:se instanceof Array?se.length===1?le=ue=ce=de=se[0]:se.length===2?(le=ce=se[0],ue=de=se[1]):se.length===3?(le=se[0],ue=de=se[1],ce=se[2]):(le=se[0],ue=se[1],ce=se[2],de=se[3]):le=ue=ce=de=0;var he;le+ue>ie&&(he=le+ue,le*=ie/he,ue*=ie/he),ce+de>ie&&(he=ce+de,ce*=ie/he,de*=ie/he),ue+ce>oe&&(he=ue+ce,ue*=oe/he,ce*=oe/he),le+de>oe&&(he=le+de,le*=oe/he,de*=oe/he),ee.moveTo(ae+le,ne),ee.lineTo(ae+ie-ue,ne),ue!==0&&ee.arc(ae+ie-ue,ne+ue,ue,-Math.PI/2,0),ee.lineTo(ae+ie,ne+oe-ce),ce!==0&&ee.arc(ae+ie-ce,ne+oe-ce,ce,0,Math.PI/2),ee.lineTo(ae+de,ne+oe),de!==0&&ee.arc(ae+de,ne+oe-de,de,Math.PI/2,Math.PI),ee.lineTo(ae,ne+le),le!==0&&ee.arc(ae+le,ne+le,le,Math.PI,Math.PI*1.5)}roundRect.buildPath=buildPath$4;var _util$d=util$a,retrieve2$1=_util$d.retrieve2,retrieve3$1=_util$d.retrieve3,each$t=_util$d.each,normalizeCssArray$3=_util$d.normalizeCssArray,isString$6=_util$d.isString,isObject$c=_util$d.isObject,textContain$4=text,roundRectHelper$1=roundRect,imageHelper$1=image,fixShadow=fixShadow$2,_constant$1=constant,ContextCachedBy$1=_constant$1.ContextCachedBy,WILL_BE_RESTORED=_constant$1.WILL_BE_RESTORED,DEFAULT_FONT$1=textContain$4.DEFAULT_FONT,VALID_TEXT_ALIGN$1={left:1,right:1,center:1},VALID_TEXT_VERTICAL_ALIGN$1={top:1,bottom:1,middle:1},SHADOW_STYLE_COMMON_PROPS=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],_tmpTextPositionResult={},_tmpBoxPositionResult={};function normalizeTextStyle$1(ee){return normalizeStyle$1(ee),each$t(ee.rich,normalizeStyle$1),ee}function normalizeStyle$1(ee){if(ee){ee.font=textContain$4.makeFont(ee);var te=ee.textAlign;te==="middle"&&(te="center"),ee.textAlign=te==null||VALID_TEXT_ALIGN$1[te]?te:"left";var ae=ee.textVerticalAlign||ee.textBaseline;ae==="center"&&(ae="middle"),ee.textVerticalAlign=ae==null||VALID_TEXT_VERTICAL_ALIGN$1[ae]?ae:"top";var ne=ee.textPadding;ne&&(ee.textPadding=normalizeCssArray$3(ee.textPadding))}}function renderText(ee,te,ae,ne,ie,oe){ne.rich?renderRichText(ee,te,ae,ne,ie,oe):renderPlainText(ee,te,ae,ne,ie,oe)}function renderPlainText(ee,te,ae,ne,ie,oe){var se=needDrawBackground$1(ne),le,ue=!1,ce=te.__attrCachedBy===ContextCachedBy$1.PLAIN_TEXT;oe!==WILL_BE_RESTORED?(oe&&(le=oe.style,ue=!se&&ce&&le),te.__attrCachedBy=se?ContextCachedBy$1.NONE:ContextCachedBy$1.PLAIN_TEXT):ce&&(te.__attrCachedBy=ContextCachedBy$1.NONE);var de=ne.font||DEFAULT_FONT$1;(!ue||de!==(le.font||DEFAULT_FONT$1))&&(te.font=de);var he=ee.__computedFont;ee.__styleFont!==de&&(ee.__styleFont=de,he=ee.__computedFont=te.font);var fe=ne.textPadding,pe=ne.textLineHeight,ve=ee.__textCotentBlock;(!ve||ee.__dirtyText)&&(ve=ee.__textCotentBlock=textContain$4.parsePlainText(ae,he,fe,pe,ne.truncate));var ge=ve.outerHeight,me=ve.lines,ye=ve.lineHeight,_e=getBoxPosition(_tmpBoxPositionResult,ee,ne,ie),be=_e.baseX,xe=_e.baseY,$e=_e.textAlign||"left",Se=_e.textVerticalAlign;applyTextRotation(te,ne,ie,be,xe);var we=textContain$4.adjustTextY(xe,ge,Se),Ae=be,Te=we;if(se||fe){var De=textContain$4.getWidth(ae,he),Me=De;fe&&(Me+=fe[1]+fe[3]);var Ie=textContain$4.adjustTextX(be,Me,$e);se&&drawBackground(ee,te,ne,Ie,we,Me,ge),fe&&(Ae=getTextXForPadding$1(be,$e,fe),Te+=fe[0])}te.textAlign=$e,te.textBaseline="middle",te.globalAlpha=ne.opacity||1;for(var Ce=0;Ce<SHADOW_STYLE_COMMON_PROPS.length;Ce++){var Ee=SHADOW_STYLE_COMMON_PROPS[Ce],Re=Ee[0],ke=Ee[1],Be=ne[Re];(!ue||Be!==le[Re])&&(te[ke]=fixShadow(te,ke,Be||Ee[2]))}Te+=ye/2;var Ne=ne.textStrokeWidth,He=ue?le.textStrokeWidth:null,qe=!ue||Ne!==He,Oe=!ue||qe||ne.textStroke!==le.textStroke,ze=getStroke$1(ne.textStroke,Ne),Ve=getFill$1(ne.textFill);if(ze&&(qe&&(te.lineWidth=Ne),Oe&&(te.strokeStyle=ze)),Ve&&(!ue||ne.textFill!==le.textFill)&&(te.fillStyle=Ve),me.length===1)ze&&te.strokeText(me[0],Ae,Te),Ve&&te.fillText(me[0],Ae,Te);else for(var Ce=0;Ce<me.length;Ce++)ze&&te.strokeText(me[Ce],Ae,Te),Ve&&te.fillText(me[Ce],Ae,Te),Te+=ye}function renderRichText(ee,te,ae,ne,ie,oe){oe!==WILL_BE_RESTORED&&(te.__attrCachedBy=ContextCachedBy$1.NONE);var se=ee.__textCotentBlock;(!se||ee.__dirtyText)&&(se=ee.__textCotentBlock=textContain$4.parseRichText(ae,ne)),drawRichText(ee,te,se,ne,ie)}function drawRichText(ee,te,ae,ne,ie){var oe=ae.width,se=ae.outerWidth,le=ae.outerHeight,ue=ne.textPadding,ce=getBoxPosition(_tmpBoxPositionResult,ee,ne,ie),de=ce.baseX,he=ce.baseY,fe=ce.textAlign,pe=ce.textVerticalAlign;applyTextRotation(te,ne,ie,de,he);var ve=textContain$4.adjustTextX(de,se,fe),ge=textContain$4.adjustTextY(he,le,pe),me=ve,ye=ge;ue&&(me+=ue[3],ye+=ue[0]);var _e=me+oe;needDrawBackground$1(ne)&&drawBackground(ee,te,ne,ve,ge,se,le);for(var be=0;be<ae.lines.length;be++){for(var xe=ae.lines[be],$e=xe.tokens,Se=$e.length,we=xe.lineHeight,Ae=xe.width,Te=0,De=me,Me=_e,Ie=Se-1,Ce;Te<Se&&(Ce=$e[Te],!Ce.textAlign||Ce.textAlign==="left");)placeToken(ee,te,Ce,ne,we,ye,De,"left"),Ae-=Ce.width,De+=Ce.width,Te++;for(;Ie>=0&&(Ce=$e[Ie],Ce.textAlign==="right");)placeToken(ee,te,Ce,ne,we,ye,Me,"right"),Ae-=Ce.width,Me-=Ce.width,Ie--;for(De+=(oe-(De-me)-(_e-Me)-Ae)/2;Te<=Ie;)Ce=$e[Te],placeToken(ee,te,Ce,ne,we,ye,De+Ce.width/2,"center"),De+=Ce.width,Te++;ye+=we}}function applyTextRotation(ee,te,ae,ne,ie){if(ae&&te.textRotation){var oe=te.textOrigin;oe==="center"?(ne=ae.width/2+ae.x,ie=ae.height/2+ae.y):oe&&(ne=oe[0]+ae.x,ie=oe[1]+ae.y),ee.translate(ne,ie),ee.rotate(-te.textRotation),ee.translate(-ne,-ie)}}function placeToken(ee,te,ae,ne,ie,oe,se,le){var ue=ne.rich[ae.styleName]||{};ue.text=ae.text;var ce=ae.textVerticalAlign,de=oe+ie/2;ce==="top"?de=oe+ae.height/2:ce==="bottom"&&(de=oe+ie-ae.height/2),!ae.isLineHolder&&needDrawBackground$1(ue)&&drawBackground(ee,te,ue,le==="right"?se-ae.width:le==="center"?se-ae.width/2:se,de-ae.height/2,ae.width,ae.height);var he=ae.textPadding;he&&(se=getTextXForPadding$1(se,le,he),de-=ae.height/2-he[2]-ae.textHeight/2),setCtx(te,"shadowBlur",retrieve3$1(ue.textShadowBlur,ne.textShadowBlur,0)),setCtx(te,"shadowColor",ue.textShadowColor||ne.textShadowColor||"transparent"),setCtx(te,"shadowOffsetX",retrieve3$1(ue.textShadowOffsetX,ne.textShadowOffsetX,0)),setCtx(te,"shadowOffsetY",retrieve3$1(ue.textShadowOffsetY,ne.textShadowOffsetY,0)),setCtx(te,"textAlign",le),setCtx(te,"textBaseline","middle"),setCtx(te,"font",ae.font||DEFAULT_FONT$1);var fe=getStroke$1(ue.textStroke||ne.textStroke,ve),pe=getFill$1(ue.textFill||ne.textFill),ve=retrieve2$1(ue.textStrokeWidth,ne.textStrokeWidth);fe&&(setCtx(te,"lineWidth",ve),setCtx(te,"strokeStyle",fe),te.strokeText(ae.text,se,de)),pe&&(setCtx(te,"fillStyle",pe),te.fillText(ae.text,se,de))}function needDrawBackground$1(ee){return!!(ee.textBackgroundColor||ee.textBorderWidth&&ee.textBorderColor)}function drawBackground(ee,te,ae,ne,ie,oe,se){var le=ae.textBackgroundColor,ue=ae.textBorderWidth,ce=ae.textBorderColor,de=isString$6(le);if(setCtx(te,"shadowBlur",ae.textBoxShadowBlur||0),setCtx(te,"shadowColor",ae.textBoxShadowColor||"transparent"),setCtx(te,"shadowOffsetX",ae.textBoxShadowOffsetX||0),setCtx(te,"shadowOffsetY",ae.textBoxShadowOffsetY||0),de||ue&&ce){te.beginPath();var he=ae.textBorderRadius;he?roundRectHelper$1.buildPath(te,{x:ne,y:ie,width:oe,height:se,r:he}):te.rect(ne,ie,oe,se),te.closePath()}if(de)if(setCtx(te,"fillStyle",le),ae.fillOpacity!=null){var fe=te.globalAlpha;te.globalAlpha=ae.fillOpacity*ae.opacity,te.fill(),te.globalAlpha=fe}else te.fill();else if(isObject$c(le)){var pe=le.image;pe=imageHelper$1.createOrUpdateImage(pe,null,ee,onBgImageLoaded,le),pe&&imageHelper$1.isImageReady(pe)&&te.drawImage(pe,ne,ie,oe,se)}if(ue&&ce)if(setCtx(te,"lineWidth",ue),setCtx(te,"strokeStyle",ce),ae.strokeOpacity!=null){var fe=te.globalAlpha;te.globalAlpha=ae.strokeOpacity*ae.opacity,te.stroke(),te.globalAlpha=fe}else te.stroke()}function onBgImageLoaded(ee,te){te.image=ee}function getBoxPosition(ee,te,ae,ne){var ie=ae.x||0,oe=ae.y||0,se=ae.textAlign,le=ae.textVerticalAlign;if(ne){var ue=ae.textPosition;if(ue instanceof Array)ie=ne.x+parsePercent$3(ue[0],ne.width),oe=ne.y+parsePercent$3(ue[1],ne.height);else{var ce=te&&te.calculateTextPosition?te.calculateTextPosition(_tmpTextPositionResult,ae,ne):textContain$4.calculateTextPosition(_tmpTextPositionResult,ae,ne);ie=ce.x,oe=ce.y,se=se||ce.textAlign,le=le||ce.textVerticalAlign}var de=ae.textOffset;de&&(ie+=de[0],oe+=de[1])}return ee=ee||{},ee.baseX=ie,ee.baseY=oe,ee.textAlign=se,ee.textVerticalAlign=le,ee}function setCtx(ee,te,ae){return ee[te]=fixShadow(ee,te,ae),ee[te]}function getStroke$1(ee,te){return ee==null||te<=0||ee==="transparent"||ee==="none"?null:ee.image||ee.colorStops?"#000":ee}function getFill$1(ee){return ee==null||ee==="none"?null:ee.image||ee.colorStops?"#000":ee}function parsePercent$3(ee,te){return typeof ee=="string"?ee.lastIndexOf("%")>=0?parseFloat(ee)/100*te:parseFloat(ee):ee}function getTextXForPadding$1(ee,te,ae){return te==="right"?ee-ae[1]:te==="center"?ee+ae[3]/2-ae[1]/2:ee+ae[3]}function needDrawText(ee,te){return ee!=null&&(ee||te.textBackgroundColor||te.textBorderWidth&&te.textBorderColor||te.textPadding)}text$1.normalizeTextStyle=normalizeTextStyle$1;text$1.renderText=renderText;text$1.getBoxPosition=getBoxPosition;text$1.getStroke=getStroke$1;text$1.getFill=getFill$1;text$1.parsePercent=parsePercent$3;text$1.needDrawText=needDrawText;var RectText_1,hasRequiredRectText;function requireRectText(){if(hasRequiredRectText)return RectText_1;hasRequiredRectText=1;var ee=text$1,te=BoundingRect_1,ae=constant,ne=ae.WILL_BE_RESTORED,ie=new te,oe=function(){};oe.prototype={constructor:oe,drawRectText:function(le,ue){var ce=this.style;ue=ce.textRect||ue,this.__dirty&&ee.normalizeTextStyle(ce,!0);var de=ce.text;if(de!=null&&(de+=""),!!ee.needDrawText(de,ce)){le.save();var he=this.transform;ce.transformText?this.setTransform(le):he&&(ie.copy(ue),ie.applyTransform(he),ue=ie),ee.renderText(this,le,de,ce,ue,ne),le.restore()}}};var se=oe;return RectText_1=se,RectText_1}var zrUtil$n=util$a,Style$1=Style_1,Element$2=Element_1,RectText=requireRectText();function Displayable$5(ee){ee=ee||{},Element$2.call(this,ee);for(var te in ee)ee.hasOwnProperty(te)&&te!=="style"&&(this[te]=ee[te]);this.style=new Style$1(ee.style),this._rect=null,this.__clipPaths=null}Displayable$5.prototype={constructor:Displayable$5,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(ee){},afterBrush:function(ee){},brush:function(ee,te){},getBoundingRect:function(){},contain:function(ee,te){return this.rectContain(ee,te)},traverse:function(ee,te){ee.call(te,this)},rectContain:function(ee,te){var ae=this.transformCoordToLocal(ee,te),ne=this.getBoundingRect();return ne.contain(ae[0],ae[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(ee){return this.animate("style",ee)},attrKV:function(ee,te){ee!=="style"?Element$2.prototype.attrKV.call(this,ee,te):this.style.set(te)},setStyle:function(ee,te){return this.style.set(ee,te),this.dirty(!1),this},useStyle:function(ee){return this.style=new Style$1(ee),this.dirty(!1),this},calculateTextPosition:null};zrUtil$n.inherits(Displayable$5,Element$2);zrUtil$n.mixin(Displayable$5,RectText);var _default$W=Displayable$5,Displayable_1=_default$W,Displayable$4=Displayable_1,BoundingRect$7=BoundingRect_1,zrUtil$m=util$a,imageHelper=image;function ZImage$2(ee){Displayable$4.call(this,ee)}ZImage$2.prototype={constructor:ZImage$2,type:"image",brush:function(ee,te){var ae=this.style,ne=ae.image;ae.bind(ee,this,te);var ie=this._image=imageHelper.createOrUpdateImage(ne,this._image,this,this.onload);if(!(!ie||!imageHelper.isImageReady(ie))){var oe=ae.x||0,se=ae.y||0,le=ae.width,ue=ae.height,ce=ie.width/ie.height;if(le==null&&ue!=null?le=ue*ce:ue==null&&le!=null?ue=le/ce:le==null&&ue==null&&(le=ie.width,ue=ie.height),this.setTransform(ee),ae.sWidth&&ae.sHeight){var de=ae.sx||0,he=ae.sy||0;ee.drawImage(ie,de,he,ae.sWidth,ae.sHeight,oe,se,le,ue)}else if(ae.sx&&ae.sy){var de=ae.sx,he=ae.sy,fe=le-de,pe=ue-he;ee.drawImage(ie,de,he,fe,pe,oe,se,le,ue)}else ee.drawImage(ie,oe,se,le,ue);ae.text!=null&&(this.restoreTransform(ee),this.drawRectText(ee,this.getBoundingRect()))}},getBoundingRect:function(){var ee=this.style;return this._rect||(this._rect=new BoundingRect$7(ee.x||0,ee.y||0,ee.width||0,ee.height||0)),this._rect}};zrUtil$m.inherits(ZImage$2,Displayable$4);var _default$V=ZImage$2,Image$2=_default$V,_config$1=config$1,devicePixelRatio$1=_config$1.devicePixelRatio,util$6=util$a,logError$1=log$2,BoundingRect$6=BoundingRect_1,timsort=timsort$2,Layer$2=Layer_1,requestAnimationFrame$5=requestAnimationFrame$6,Image$1=Image$2,env$8=env_1,HOVER_LAYER_ZLEVEL$1=1e5,CANVAS_ZLEVEL$1=314159,EL_AFTER_INCREMENTAL_INC$1=.01,INCREMENTAL_INC$1=.001;function parseInt10$1(ee){return parseInt(ee,10)}function isLayerValid$1(ee){return ee?ee.__builtin__?!0:!(typeof ee.resize!="function"||typeof ee.refresh!="function"):!1}var tmpRect$2=new BoundingRect$6(0,0,0,0),viewRect$1=new BoundingRect$6(0,0,0,0);function isDisplayableCulled$1(ee,te,ae){return tmpRect$2.copy(ee.getBoundingRect()),ee.transform&&tmpRect$2.applyTransform(ee.transform),viewRect$1.width=te,viewRect$1.height=ae,!tmpRect$2.intersect(viewRect$1)}function isClipPathChanged$1(ee,te){if(ee===te)return!1;if(!ee||!te||ee.length!==te.length)return!0;for(var ae=0;ae<ee.length;ae++)if(ee[ae]!==te[ae])return!0;return!1}function doClip(ee,te){for(var ae=0;ae<ee.length;ae++){var ne=ee[ae];ne.setTransform(te),te.beginPath(),ne.buildPath(te,ne.shape),te.clip(),ne.restoreTransform(te)}}function createRoot$1(ee,te){var ae=document.createElement("div");return ae.style.cssText=["position:relative","width:"+ee+"px","height:"+te+"px","padding:0","margin:0","border-width:0"].join(";")+";",ae}var Painter$3=function(ee,te,ae){this.type="canvas";var ne=!ee.nodeName||ee.nodeName.toUpperCase()==="CANVAS";this._opts=ae=util$6.extend({},ae||{}),this.dpr=ae.devicePixelRatio||devicePixelRatio$1,this._singleCanvas=ne,this.root=ee;var ie=ee.style;ie&&(ie["-webkit-tap-highlight-color"]="transparent",ie["-webkit-user-select"]=ie["user-select"]=ie["-webkit-touch-callout"]="none",ee.innerHTML=""),this.storage=te;var oe=this._zlevelList=[],se=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,ne){var ue=ee.width,ce=ee.height;ae.width!=null&&(ue=ae.width),ae.height!=null&&(ce=ae.height),this.dpr=ae.devicePixelRatio||1,ee.width=ue*this.dpr,ee.height=ce*this.dpr,this._width=ue,this._height=ce;var de=new Layer$2(ee,this,this.dpr);de.__builtin__=!0,de.initContext(),se[CANVAS_ZLEVEL$1]=de,de.zlevel=CANVAS_ZLEVEL$1,oe.push(CANVAS_ZLEVEL$1),this._domRoot=ee}else{this._width=this._getSize(0),this._height=this._getSize(1);var le=this._domRoot=createRoot$1(this._width,this._height);ee.appendChild(le)}this._hoverlayer=null,this._hoverElements=[]};Painter$3.prototype={constructor:Painter$3,getType:function(){return"canvas"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var ee=this.getViewportRoot();if(ee)return{offsetLeft:ee.offsetLeft||0,offsetTop:ee.offsetTop||0}},refresh:function(ee){var te=this.storage.getDisplayList(!0),ae=this._zlevelList;this._redrawId=Math.random(),this._paintList(te,ee,this._redrawId);for(var ne=0;ne<ae.length;ne++){var ie=ae[ne],oe=this._layers[ie];if(!oe.__builtin__&&oe.refresh){var se=ne===0?this._backgroundColor:null;oe.refresh(se)}}return this.refreshHover(),this},addHover:function(ee,te){if(!ee.__hoverMir){var ae=new ee.constructor({style:ee.style,shape:ee.shape,z:ee.z,z2:ee.z2,silent:ee.silent});return ae.__from=ee,ee.__hoverMir=ae,te&&ae.setStyle(te),this._hoverElements.push(ae),ae}},removeHover:function(ee){var te=ee.__hoverMir,ae=this._hoverElements,ne=util$6.indexOf(ae,te);ne>=0&&ae.splice(ne,1),ee.__hoverMir=null},clearHover:function(ee){for(var te=this._hoverElements,ae=0;ae<te.length;ae++){var ne=te[ae].__from;ne&&(ne.__hoverMir=null)}te.length=0},refreshHover:function(){var ee=this._hoverElements,te=ee.length,ae=this._hoverlayer;if(ae&&ae.clear(),!!te){timsort(ee,this.storage.displayableSortFunc),ae||(ae=this._hoverlayer=this.getLayer(HOVER_LAYER_ZLEVEL$1));var ne={};ae.ctx.save();for(var ie=0;ie<te;){var oe=ee[ie],se=oe.__from;if(!(se&&se.__zr)){ee.splice(ie,1),se.__hoverMir=null,te--;continue}ie++,se.invisible||(oe.transform=se.transform,oe.invTransform=se.invTransform,oe.__clipPaths=se.__clipPaths,this._doPaintEl(oe,ae,!0,ne))}ae.ctx.restore()}},getHoverLayer:function(){return this.getLayer(HOVER_LAYER_ZLEVEL$1)},_paintList:function(ee,te,ae){if(this._redrawId===ae){te=te||!1,this._updateLayerStatus(ee);var ne=this._doPaintList(ee,te);if(this._needsManuallyCompositing&&this._compositeManually(),!ne){var ie=this;requestAnimationFrame$5(function(){ie._paintList(ee,te,ae)})}}},_compositeManually:function(){var ee=this.getLayer(CANVAS_ZLEVEL$1).ctx,te=this._domRoot.width,ae=this._domRoot.height;ee.clearRect(0,0,te,ae),this.eachBuiltinLayer(function(ne){ne.virtual&&ee.drawImage(ne.dom,0,0,te,ae)})},_doPaintList:function(ee,te){for(var ae=[],ne=0;ne<this._zlevelList.length;ne++){var ie=this._zlevelList[ne],oe=this._layers[ie];oe.__builtin__&&oe!==this._hoverlayer&&(oe.__dirty||te)&&ae.push(oe)}for(var se=!0,le=0;le<ae.length;le++){var oe=ae[le],ue=oe.ctx,ce={};ue.save();var de=te?oe.__startIndex:oe.__drawIndex,he=!te&&oe.incremental&&Date.now,fe=he&&Date.now(),pe=oe.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(oe.__startIndex===oe.__endIndex)oe.clear(!1,pe);else if(de===oe.__startIndex){var ve=ee[de];(!ve.incremental||!ve.notClear||te)&&oe.clear(!1,pe)}de===-1&&(console.error("For some unknown reason. drawIndex is -1"),de=oe.__startIndex);for(var ge=de;ge<oe.__endIndex;ge++){var me=ee[ge];if(this._doPaintEl(me,oe,te,ce),me.__dirty=me.__dirtyText=!1,he){var ye=Date.now()-fe;if(ye>15)break}}oe.__drawIndex=ge,oe.__drawIndex<oe.__endIndex&&(se=!1),ce.prevElClipPaths&&ue.restore(),ue.restore()}return env$8.wxa&&util$6.each(this._layers,function(_e){_e&&_e.ctx&&_e.ctx.draw&&_e.ctx.draw()}),se},_doPaintEl:function(ee,te,ae,ne){var ie=te.ctx,oe=ee.transform;if((te.__dirty||ae)&&!ee.invisible&&ee.style.opacity!==0&&!(oe&&!oe[0]&&!oe[3])&&!(ee.culling&&isDisplayableCulled$1(ee,this._width,this._height))){var se=ee.__clipPaths,le=ne.prevElClipPaths;(!le||isClipPathChanged$1(se,le))&&(le&&(ie.restore(),ne.prevElClipPaths=null,ne.prevEl=null),se&&(ie.save(),doClip(se,ie),ne.prevElClipPaths=se)),ee.beforeBrush&&ee.beforeBrush(ie),ee.brush(ie,ne.prevEl||null),ne.prevEl=ee,ee.afterBrush&&ee.afterBrush(ie)}},getLayer:function(ee,te){this._singleCanvas&&!this._needsManuallyCompositing&&(ee=CANVAS_ZLEVEL$1);var ae=this._layers[ee];return ae||(ae=new Layer$2("zr_"+ee,this,this.dpr),ae.zlevel=ee,ae.__builtin__=!0,this._layerConfig[ee]?util$6.merge(ae,this._layerConfig[ee],!0):this._layerConfig[ee-EL_AFTER_INCREMENTAL_INC$1]&&util$6.merge(ae,this._layerConfig[ee-EL_AFTER_INCREMENTAL_INC$1],!0),te&&(ae.virtual=te),this.insertLayer(ee,ae),ae.initContext()),ae},insertLayer:function(ee,te){var ae=this._layers,ne=this._zlevelList,ie=ne.length,oe=null,se=-1,le=this._domRoot;if(ae[ee]){logError$1("ZLevel "+ee+" has been used already");return}if(!isLayerValid$1(te)){logError$1("Layer of zlevel "+ee+" is not valid");return}if(ie>0&&ee>ne[0]){for(se=0;se<ie-1&&!(ne[se]<ee&&ne[se+1]>ee);se++);oe=ae[ne[se]]}if(ne.splice(se+1,0,ee),ae[ee]=te,!te.virtual)if(oe){var ue=oe.dom;ue.nextSibling?le.insertBefore(te.dom,ue.nextSibling):le.appendChild(te.dom)}else le.firstChild?le.insertBefore(te.dom,le.firstChild):le.appendChild(te.dom)},eachLayer:function(ee,te){var ae=this._zlevelList,ne,ie;for(ie=0;ie<ae.length;ie++)ne=ae[ie],ee.call(te,this._layers[ne],ne)},eachBuiltinLayer:function(ee,te){var ae=this._zlevelList,ne,ie,oe;for(oe=0;oe<ae.length;oe++)ie=ae[oe],ne=this._layers[ie],ne.__builtin__&&ee.call(te,ne,ie)},eachOtherLayer:function(ee,te){var ae=this._zlevelList,ne,ie,oe;for(oe=0;oe<ae.length;oe++)ie=ae[oe],ne=this._layers[ie],ne.__builtin__||ee.call(te,ne,ie)},getLayers:function(){return this._layers},_updateLayerStatus:function(ee){this.eachBuiltinLayer(function(ce,de){ce.__dirty=ce.__used=!1});function te(ce){ie&&(ie.__endIndex!==ce&&(ie.__dirty=!0),ie.__endIndex=ce)}if(this._singleCanvas)for(var ae=1;ae<ee.length;ae++){var ne=ee[ae];if(ne.zlevel!==ee[ae-1].zlevel||ne.incremental){this._needsManuallyCompositing=!0;break}}for(var ie=null,oe=0,se,ae=0;ae<ee.length;ae++){var ne=ee[ae],le=ne.zlevel,ue;se!==le&&(se=le,oe=0),ne.incremental?(ue=this.getLayer(le+INCREMENTAL_INC$1,this._needsManuallyCompositing),ue.incremental=!0,oe=1):ue=this.getLayer(le+(oe>0?EL_AFTER_INCREMENTAL_INC$1:0),this._needsManuallyCompositing),ue.__builtin__||logError$1("ZLevel "+le+" has been used by unkown layer "+ue.id),ue!==ie&&(ue.__used=!0,ue.__startIndex!==ae&&(ue.__dirty=!0),ue.__startIndex=ae,ue.incremental?ue.__drawIndex=-1:ue.__drawIndex=ae,te(ae),ie=ue),ne.__dirty&&(ue.__dirty=!0,ue.incremental&&ue.__drawIndex<0&&(ue.__drawIndex=ae))}te(ae),this.eachBuiltinLayer(function(ce,de){!ce.__used&&ce.getElementCount()>0&&(ce.__dirty=!0,ce.__startIndex=ce.__endIndex=ce.__drawIndex=0),ce.__dirty&&ce.__drawIndex<0&&(ce.__drawIndex=ce.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(ee){ee.clear()},setBackgroundColor:function(ee){this._backgroundColor=ee},configLayer:function(ee,te){if(te){var ae=this._layerConfig;ae[ee]?util$6.merge(ae[ee],te,!0):ae[ee]=te;for(var ne=0;ne<this._zlevelList.length;ne++){var ie=this._zlevelList[ne];if(ie===ee||ie===ee+EL_AFTER_INCREMENTAL_INC$1){var oe=this._layers[ie];util$6.merge(oe,ae[ee],!0)}}}},delLayer:function(ee){var te=this._layers,ae=this._zlevelList,ne=te[ee];ne&&(ne.dom.parentNode.removeChild(ne.dom),delete te[ee],ae.splice(util$6.indexOf(ae,ee),1))},resize:function(ee,te){if(this._domRoot.style){var ae=this._domRoot;ae.style.display="none";var ne=this._opts;if(ee!=null&&(ne.width=ee),te!=null&&(ne.height=te),ee=this._getSize(0),te=this._getSize(1),ae.style.display="",this._width!==ee||te!==this._height){ae.style.width=ee+"px",ae.style.height=te+"px";for(var ie in this._layers)this._layers.hasOwnProperty(ie)&&this._layers[ie].resize(ee,te);util$6.each(this._progressiveLayers,function(oe){oe.resize(ee,te)}),this.refresh(!0)}this._width=ee,this._height=te}else{if(ee==null||te==null)return;this._width=ee,this._height=te,this.getLayer(CANVAS_ZLEVEL$1).resize(ee,te)}return this},clearLayer:function(ee){var te=this._layers[ee];te&&te.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(ee){if(ee=ee||{},this._singleCanvas&&!this._compositeManually)return this._layers[CANVAS_ZLEVEL$1].dom;var te=new Layer$2("image",this,ee.pixelRatio||this.dpr);if(te.initContext(),te.clear(!1,ee.backgroundColor||this._backgroundColor),ee.pixelRatio<=this.dpr){this.refresh();var ae=te.dom.width,ne=te.dom.height,ie=te.ctx;this.eachLayer(function(ce){ce.__builtin__?ie.drawImage(ce.dom,0,0,ae,ne):ce.renderToCanvas&&(te.ctx.save(),ce.renderToCanvas(te.ctx),te.ctx.restore())})}else for(var oe={},se=this.storage.getDisplayList(!0),le=0;le<se.length;le++){var ue=se[le];this._doPaintEl(ue,te,!0,oe)}return te.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(ee){var te=this._opts,ae=["width","height"][ee],ne=["clientWidth","clientHeight"][ee],ie=["paddingLeft","paddingTop"][ee],oe=["paddingRight","paddingBottom"][ee];if(te[ae]!=null&&te[ae]!=="auto")return parseFloat(te[ae]);var se=this.root,le=document.defaultView.getComputedStyle(se);return(se[ne]||parseInt10$1(le[ae])||parseInt10$1(se.style[ae]))-(parseInt10$1(le[ie])||0)-(parseInt10$1(le[oe])||0)|0},pathToImage:function(ee,te){te=te||this.dpr;var ae=document.createElement("canvas"),ne=ae.getContext("2d"),ie=ee.getBoundingRect(),oe=ee.style,se=oe.shadowBlur*te,le=oe.shadowOffsetX*te,ue=oe.shadowOffsetY*te,ce=oe.hasStroke()?oe.lineWidth:0,de=Math.max(ce/2,-le+se),he=Math.max(ce/2,le+se),fe=Math.max(ce/2,-ue+se),pe=Math.max(ce/2,ue+se),ve=ie.width+de+he,ge=ie.height+fe+pe;ae.width=ve*te,ae.height=ge*te,ne.scale(te,te),ne.clearRect(0,0,ve,ge),ne.dpr=te;var me={position:ee.position,rotation:ee.rotation,scale:ee.scale};ee.position=[de-ie.x,fe-ie.y],ee.rotation=0,ee.scale=[1,1],ee.updateTransform(),ee&&ee.brush(ne);var ye=Image$1,_e=new ye({style:{x:0,y:0,image:ae}});return me.position!=null&&(_e.position=ee.position=me.position),me.rotation!=null&&(_e.rotation=ee.rotation=me.rotation),me.scale!=null&&(_e.scale=ee.scale=me.scale),_e}};var _default$U=Painter$3,Painter_1=_default$U,util$5=util$a,_event$1=event$1,Dispatcher=_event$1.Dispatcher,requestAnimationFrame$4=requestAnimationFrame$6,Animator$2=Animator_1,Animation$4=function(ee){ee=ee||{},this.stage=ee.stage||{},this.onframe=ee.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,Dispatcher.call(this)};Animation$4.prototype={constructor:Animation$4,addClip:function(ee){this._clips.push(ee)},addAnimator:function(ee){ee.animation=this;for(var te=ee.getClips(),ae=0;ae<te.length;ae++)this.addClip(te[ae])},removeClip:function(ee){var te=util$5.indexOf(this._clips,ee);te>=0&&this._clips.splice(te,1)},removeAnimator:function(ee){for(var te=ee.getClips(),ae=0;ae<te.length;ae++)this.removeClip(te[ae]);ee.animation=null},_update:function(){for(var ee=new Date().getTime()-this._pausedTime,te=ee-this._time,ae=this._clips,ne=ae.length,ie=[],oe=[],se=0;se<ne;se++){var le=ae[se],ue=le.step(ee,te);ue&&(ie.push(ue),oe.push(le))}for(var se=0;se<ne;)ae[se]._needsRemove?(ae[se]=ae[ne-1],ae.pop(),ne--):se++;ne=ie.length;for(var se=0;se<ne;se++)oe[se].fire(ie[se]);this._time=ee,this.onframe(te),this.trigger("frame",te),this.stage.update&&this.stage.update()},_startLoop:function(){var ee=this;this._running=!0;function te(){ee._running&&(requestAnimationFrame$4(te),!ee._paused&&ee._update())}requestAnimationFrame$4(te)},start:function(){this._time=new Date().getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=new Date().getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=new Date().getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(ee,te){te=te||{};var ae=new Animator$2(ee,te.loop,te.getter,te.setter);return this.addAnimator(ae),ae}};util$5.mixin(Animation$4,Dispatcher);var _default$T=Animation$4,Animation_1=_default$T,_event=event$1,addEventListener$1=_event.addEventListener,removeEventListener$1=_event.removeEventListener,normalizeEvent$1=_event.normalizeEvent,getNativeEvent$1=_event.getNativeEvent,zrUtil$l=util$a,Eventful$2=Eventful_1,env$7=env_1,TOUCH_CLICK_DELAY$1=300,globalEventSupported$1=env$7.domSupported,localNativeListenerNames$1=function(){var ee=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],te=["touchstart","touchend","touchmove"],ae={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},ne=zrUtil$l.map(ee,function(ie){var oe=ie.replace("mouse","pointer");return ae.hasOwnProperty(oe)?oe:ie});return{mouse:ee,touch:te,pointer:ne}}(),globalNativeListenerNames$1={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]};function eventNameFix(ee){return ee==="mousewheel"&&env$7.browser.firefox?"DOMMouseScroll":ee}function isPointerFromTouch$1(ee){var te=ee.pointerType;return te==="pen"||te==="touch"}function setTouchTimer$1(ee){ee.touching=!0,ee.touchTimer!=null&&(clearTimeout(ee.touchTimer),ee.touchTimer=null),ee.touchTimer=setTimeout(function(){ee.touching=!1,ee.touchTimer=null},700)}function markTouch$1(ee){ee&&(ee.zrByTouch=!0)}function normalizeGlobalEvent$1(ee,te){return normalizeEvent$1(ee.dom,new FakeGlobalEvent$1(ee,te),!0)}function isLocalEl$1(ee,te){for(var ae=te,ne=!1;ae&&ae.nodeType!==9&&!(ne=ae.domBelongToZr||ae!==te&&ae===ee.painterRoot);)ae=ae.parentNode;return ne}function FakeGlobalEvent$1(ee,te){this.type=te.type,this.target=this.currentTarget=ee.dom,this.pointerType=te.pointerType,this.clientX=te.clientX,this.clientY=te.clientY}var fakeGlobalEventProto=FakeGlobalEvent$1.prototype;fakeGlobalEventProto.stopPropagation=fakeGlobalEventProto.stopImmediatePropagation=fakeGlobalEventProto.preventDefault=zrUtil$l.noop;var localDOMHandlers$1={mousedown:function(ee){ee=normalizeEvent$1(this.dom,ee),this._mayPointerCapture=[ee.zrX,ee.zrY],this.trigger("mousedown",ee)},mousemove:function(ee){ee=normalizeEvent$1(this.dom,ee);var te=this._mayPointerCapture;te&&(ee.zrX!==te[0]||ee.zrY!==te[1])&&togglePointerCapture(this,!0),this.trigger("mousemove",ee)},mouseup:function(ee){ee=normalizeEvent$1(this.dom,ee),togglePointerCapture(this,!1),this.trigger("mouseup",ee)},mouseout:function(ee){ee=normalizeEvent$1(this.dom,ee),this._pointerCapturing&&(ee.zrEventControl="no_globalout");var te=ee.toElement||ee.relatedTarget;ee.zrIsToLocalDOM=isLocalEl$1(this,te),this.trigger("mouseout",ee)},touchstart:function(ee){ee=normalizeEvent$1(this.dom,ee),markTouch$1(ee),this._lastTouchMoment=new Date,this.handler.processGesture(ee,"start"),localDOMHandlers$1.mousemove.call(this,ee),localDOMHandlers$1.mousedown.call(this,ee)},touchmove:function(ee){ee=normalizeEvent$1(this.dom,ee),markTouch$1(ee),this.handler.processGesture(ee,"change"),localDOMHandlers$1.mousemove.call(this,ee)},touchend:function(ee){ee=normalizeEvent$1(this.dom,ee),markTouch$1(ee),this.handler.processGesture(ee,"end"),localDOMHandlers$1.mouseup.call(this,ee),+new Date-this._lastTouchMoment<TOUCH_CLICK_DELAY$1&&localDOMHandlers$1.click.call(this,ee)},pointerdown:function(ee){localDOMHandlers$1.mousedown.call(this,ee)},pointermove:function(ee){isPointerFromTouch$1(ee)||localDOMHandlers$1.mousemove.call(this,ee)},pointerup:function(ee){localDOMHandlers$1.mouseup.call(this,ee)},pointerout:function(ee){isPointerFromTouch$1(ee)||localDOMHandlers$1.mouseout.call(this,ee)}};zrUtil$l.each(["click","mousewheel","dblclick","contextmenu"],function(ee){localDOMHandlers$1[ee]=function(te){te=normalizeEvent$1(this.dom,te),this.trigger(ee,te)}});var globalDOMHandlers$1={pointermove:function(ee){isPointerFromTouch$1(ee)||globalDOMHandlers$1.mousemove.call(this,ee)},pointerup:function(ee){globalDOMHandlers$1.mouseup.call(this,ee)},mousemove:function(ee){this.trigger("mousemove",ee)},mouseup:function(ee){var te=this._pointerCapturing;togglePointerCapture(this,!1),this.trigger("mouseup",ee),te&&(ee.zrEventControl="only_globalout",this.trigger("mouseout",ee))}};function mountLocalDOMEventListeners$1(ee,te){var ae=te.domHandlers;env$7.pointerEventsSupported?zrUtil$l.each(localNativeListenerNames$1.pointer,function(ne){mountSingleDOMEventListener$1(te,ne,function(ie){ae[ne].call(ee,ie)})}):(env$7.touchEventsSupported&&zrUtil$l.each(localNativeListenerNames$1.touch,function(ne){mountSingleDOMEventListener$1(te,ne,function(ie){ae[ne].call(ee,ie),setTouchTimer$1(te)})}),zrUtil$l.each(localNativeListenerNames$1.mouse,function(ne){mountSingleDOMEventListener$1(te,ne,function(ie){ie=getNativeEvent$1(ie),te.touching||ae[ne].call(ee,ie)})}))}function mountGlobalDOMEventListeners$1(ee,te){env$7.pointerEventsSupported?zrUtil$l.each(globalNativeListenerNames$1.pointer,ae):env$7.touchEventsSupported||zrUtil$l.each(globalNativeListenerNames$1.mouse,ae);function ae(ne){function ie(oe){oe=getNativeEvent$1(oe),isLocalEl$1(ee,oe.target)||(oe=normalizeGlobalEvent$1(ee,oe),te.domHandlers[ne].call(ee,oe))}mountSingleDOMEventListener$1(te,ne,ie,{capture:!0})}}function mountSingleDOMEventListener$1(ee,te,ae,ne){ee.mounted[te]=ae,ee.listenerOpts[te]=ne,addEventListener$1(ee.domTarget,eventNameFix(te),ae,ne)}function unmountDOMEventListeners$1(ee){var te=ee.mounted;for(var ae in te)te.hasOwnProperty(ae)&&removeEventListener$1(ee.domTarget,eventNameFix(ae),te[ae],ee.listenerOpts[ae]);ee.mounted={}}function togglePointerCapture(ee,te){if(ee._mayPointerCapture=null,globalEventSupported$1&&ee._pointerCapturing^te){ee._pointerCapturing=te;var ae=ee._globalHandlerScope;te?mountGlobalDOMEventListeners$1(ee,ae):unmountDOMEventListeners$1(ae)}}function DOMHandlerScope$1(ee,te){this.domTarget=ee,this.domHandlers=te,this.mounted={},this.listenerOpts={},this.touchTimer=null,this.touching=!1}function HandlerDomProxy$1(ee,te){Eventful$2.call(this),this.dom=ee,this.painterRoot=te,this._localHandlerScope=new DOMHandlerScope$1(ee,localDOMHandlers$1),globalEventSupported$1&&(this._globalHandlerScope=new DOMHandlerScope$1(document,globalDOMHandlers$1)),this._pointerCapturing=!1,this._mayPointerCapture=null,mountLocalDOMEventListeners$1(this,this._localHandlerScope)}var handlerDomProxyProto=HandlerDomProxy$1.prototype;handlerDomProxyProto.dispose=function(){unmountDOMEventListeners$1(this._localHandlerScope),globalEventSupported$1&&unmountDOMEventListeners$1(this._globalHandlerScope)};handlerDomProxyProto.setCursor=function(ee){this.dom.style&&(this.dom.style.cursor=ee||"default")};zrUtil$l.mixin(HandlerDomProxy$1,Eventful$2);var _default$S=HandlerDomProxy$1,HandlerProxy$2=_default$S,guid$2=guid$4,env$6=env_1,zrUtil$k=util$a,Handler$2=Handler_1,Storage$2=Storage_1,Painter$2=Painter_1,Animation$3=Animation_1,HandlerProxy$1=HandlerProxy$2;/*!
-* ZRender, a high performance 2d drawing library.
-*
-* Copyright (c) 2013, Baidu Inc.
-* All rights reserved.
-*
-* LICENSE
-* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
-*/var useVML=!env$6.canvasSupported,painterCtors$1={canvas:Painter$2},instances$3={},version$o="4.3.2";function init$4(ee,te){var ae=new ZRender$1(guid$2(),ee,te);return instances$3[ae.id]=ae,ae}function dispose$2(ee){if(ee)ee.dispose();else{for(var te in instances$3)instances$3.hasOwnProperty(te)&&instances$3[te].dispose();instances$3={}}return this}function getInstance$1(ee){return instances$3[ee]}function registerPainter$1(ee,te){painterCtors$1[ee]=te}function delInstance$1(ee){delete instances$3[ee]}var ZRender$1=function(ee,te,ae){ae=ae||{},this.dom=te,this.id=ee;var ne=this,ie=new Storage$2,oe=ae.renderer;if(useVML){if(!painterCtors$1.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");oe="vml"}else(!oe||!painterCtors$1[oe])&&(oe="canvas");var se=new painterCtors$1[oe](te,ie,ae,ee);this.storage=ie,this.painter=se;var le=!env$6.node&&!env$6.worker?new HandlerProxy$1(se.getViewportRoot(),se.root):null;this.handler=new Handler$2(ie,se,le,se.root),this.animation=new Animation$3({stage:{update:zrUtil$k.bind(this.flush,this)}}),this.animation.start(),this._needsRefresh;var ue=ie.delFromStorage,ce=ie.addToStorage;ie.delFromStorage=function(de){ue.call(ie,de),de&&de.removeSelfFromZr(ne)},ie.addToStorage=function(de){ce.call(ie,de),de.addSelfToZr(ne)}};ZRender$1.prototype={constructor:ZRender$1,getId:function(){return this.id},add:function(ee){this.storage.addRoot(ee),this._needsRefresh=!0},remove:function(ee){this.storage.delRoot(ee),this._needsRefresh=!0},configLayer:function(ee,te){this.painter.configLayer&&this.painter.configLayer(ee,te),this._needsRefresh=!0},setBackgroundColor:function(ee){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(ee),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=this._needsRefreshHover=!1,this.painter.refresh(),this._needsRefresh=this._needsRefreshHover=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var ee;this._needsRefresh&&(ee=!0,this.refreshImmediately()),this._needsRefreshHover&&(ee=!0,this.refreshHoverImmediately()),ee&&this.trigger("rendered")},addHover:function(ee,te){if(this.painter.addHover){var ae=this.painter.addHover(ee,te);return this.refreshHover(),ae}},removeHover:function(ee){this.painter.removeHover&&(this.painter.removeHover(ee),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(ee){ee=ee||{},this.painter.resize(ee.width,ee.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(ee,te){return this.painter.pathToImage(ee,te)},setCursorStyle:function(ee){this.handler.setCursorStyle(ee)},findHover:function(ee,te){return this.handler.findHover(ee,te)},on:function(ee,te,ae){this.handler.on(ee,te,ae)},off:function(ee,te){this.handler.off(ee,te)},trigger:function(ee,te){this.handler.trigger(ee,te)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,delInstance$1(this.id)}};zrender$1.version=version$o;zrender$1.init=init$4;zrender$1.dispose=dispose$2;zrender$1.getInstance=getInstance$1;zrender$1.registerPainter=registerPainter$1;var model={},zrUtil$j=util$a,env$5=env_1,each$s=zrUtil$j.each,isObject$b=zrUtil$j.isObject,isArray$8=zrUtil$j.isArray,DUMMY_COMPONENT_NAME_PREFIX$1="series\0";function normalizeToArray$4(ee){return ee instanceof Array?ee:ee==null?[]:[ee]}function defaultEmphasis$1(ee,te,ae){if(ee){ee[te]=ee[te]||{},ee.emphasis=ee.emphasis||{},ee.emphasis[te]=ee.emphasis[te]||{};for(var ne=0,ie=ae.length;ne<ie;ne++){var oe=ae[ne];!ee.emphasis[te].hasOwnProperty(oe)&&ee[te].hasOwnProperty(oe)&&(ee.emphasis[te][oe]=ee[te][oe])}}}var TEXT_STYLE_OPTIONS$1=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"];function getDataItemValue$2(ee){return isObject$b(ee)&&!isArray$8(ee)&&!(ee instanceof Date)?ee.value:ee}function isDataItemOption$2(ee){return isObject$b(ee)&&!(ee instanceof Array)}function mappingToExists$1(ee,te){te=(te||[]).slice();var ae=zrUtil$j.map(ee||[],function(ne,ie){return{exist:ne}});return each$s(te,function(ne,ie){if(isObject$b(ne)){for(var oe=0;oe<ae.length;oe++)if(!ae[oe].option&&ne.id!=null&&ae[oe].exist.id===ne.id+""){ae[oe].option=ne,te[ie]=null;return}for(var oe=0;oe<ae.length;oe++){var se=ae[oe].exist;if(!ae[oe].option&&(se.id==null||ne.id==null)&&ne.name!=null&&!isIdInner(ne)&&!isIdInner(se)&&se.name===ne.name+""){ae[oe].option=ne,te[ie]=null;return}}}}),each$s(te,function(ne,ie){if(isObject$b(ne)){for(var oe=0;oe<ae.length;oe++){var se=ae[oe].exist;if(!ae[oe].option&&!isIdInner(se)&&ne.id==null){ae[oe].option=ne;break}}oe>=ae.length&&ae.push({option:ne})}}),ae}function makeIdAndName$1(ee){var te=zrUtil$j.createHashMap();each$s(ee,function(ae,ne){var ie=ae.exist;ie&&te.set(ie.id,ae)}),each$s(ee,function(ae,ne){var ie=ae.option;zrUtil$j.assert(!ie||ie.id==null||!te.get(ie.id)||te.get(ie.id)===ae,"id duplicates: "+(ie&&ie.id)),ie&&ie.id!=null&&te.set(ie.id,ae),!ae.keyInfo&&(ae.keyInfo={})}),each$s(ee,function(ae,ne){var ie=ae.exist,oe=ae.option,se=ae.keyInfo;if(isObject$b(oe)){if(se.name=oe.name!=null?oe.name+"":ie?ie.name:DUMMY_COMPONENT_NAME_PREFIX$1+ne,ie)se.id=ie.id;else if(oe.id!=null)se.id=oe.id+"";else{var le=0;do se.id="\0"+se.name+"\0"+le++;while(te.get(se.id))}te.set(se.id,ae)}})}function isNameSpecified$1(ee){var te=ee.name;return!!(te&&te.indexOf(DUMMY_COMPONENT_NAME_PREFIX$1))}function isIdInner(ee){return isObject$b(ee)&&ee.id&&(ee.id+"").indexOf("\0_ec_\0")===0}function compressBatches$1(ee,te){var ae={},ne={};return ie(ee||[],ae),ie(te||[],ne,ae),[oe(ae),oe(ne)];function ie(se,le,ue){for(var ce=0,de=se.length;ce<de;ce++)for(var he=se[ce].seriesId,fe=normalizeToArray$4(se[ce].dataIndex),pe=ue&&ue[he],ve=0,ge=fe.length;ve<ge;ve++){var me=fe[ve];pe&&pe[me]?pe[me]=null:(le[he]||(le[he]={}))[me]=1}}function oe(se,le){var ue=[];for(var ce in se)if(se.hasOwnProperty(ce)&&se[ce]!=null)if(le)ue.push(+ce);else{var de=oe(se[ce],!0);de.length&&ue.push({seriesId:ce,dataIndex:de})}return ue}}function queryDataIndex$1(ee,te){if(te.dataIndexInside!=null)return te.dataIndexInside;if(te.dataIndex!=null)return zrUtil$j.isArray(te.dataIndex)?zrUtil$j.map(te.dataIndex,function(ae){return ee.indexOfRawIndex(ae)}):ee.indexOfRawIndex(te.dataIndex);if(te.name!=null)return zrUtil$j.isArray(te.name)?zrUtil$j.map(te.name,function(ae){return ee.indexOfName(ae)}):ee.indexOfName(te.name)}function makeInner$5(){var ee="__\0ec_inner_"+innerUniqueIndex$1+++"_"+Math.random().toFixed(5);return function(te){return te[ee]||(te[ee]={})}}var innerUniqueIndex$1=0;function parseFinder$2(ee,te,ae){if(zrUtil$j.isString(te)){var ne={};ne[te+"Index"]=0,te=ne}var ie=ae&&ae.defaultMainType;ie&&!has$2(te,ie+"Index")&&!has$2(te,ie+"Id")&&!has$2(te,ie+"Name")&&(te[ie+"Index"]=0);var oe={};return each$s(te,function(ue,le){var ue=te[le];if(le==="dataIndex"||le==="dataIndexInside"){oe[le]=ue;return}var ce=le.match(/^(\w+)(Index|Id|Name)$/)||[],de=ce[1],he=(ce[2]||"").toLowerCase();if(!(!de||!he||ue==null||he==="index"&&ue==="none"||ae&&ae.includeMainTypes&&zrUtil$j.indexOf(ae.includeMainTypes,de)<0)){var fe={mainType:de};(he!=="index"||ue!=="all")&&(fe[he]=ue);var pe=ee.queryComponents(fe);oe[de+"Models"]=pe,oe[de+"Model"]=pe[0]}}),oe}function has$2(ee,te){return ee&&ee.hasOwnProperty(te)}function setAttribute$1(ee,te,ae){ee.setAttribute?ee.setAttribute(te,ae):ee[te]=ae}function getAttribute$1(ee,te){return ee.getAttribute?ee.getAttribute(te):ee[te]}function getTooltipRenderMode$2(ee){return ee==="auto"?env$5.domSupported?"html":"richText":ee||"html"}function groupData$1(ee,te){var ae=zrUtil$j.createHashMap(),ne=[];return zrUtil$j.each(ee,function(ie){var oe=te(ie);(ae.get(oe)||(ne.push(oe),ae.set(oe,[]))).push(ie)}),{keys:ne,buckets:ae}}model.normalizeToArray=normalizeToArray$4;model.defaultEmphasis=defaultEmphasis$1;model.TEXT_STYLE_OPTIONS=TEXT_STYLE_OPTIONS$1;model.getDataItemValue=getDataItemValue$2;model.isDataItemOption=isDataItemOption$2;model.mappingToExists=mappingToExists$1;model.makeIdAndName=makeIdAndName$1;model.isNameSpecified=isNameSpecified$1;model.isIdInner=isIdInner;model.compressBatches=compressBatches$1;model.queryDataIndex=queryDataIndex$1;model.makeInner=makeInner$5;model.parseFinder=parseFinder$2;model.setAttribute=setAttribute$1;model.getAttribute=getAttribute$1;model.getTooltipRenderMode=getTooltipRenderMode$2;model.groupData=groupData$1;var clazz={},zrUtil$i=util$a,TYPE_DELIMITER$1=".",IS_CONTAINER$1="___EC__COMPONENT__CONTAINER___";function parseClassType$3(ee){var te={main:"",sub:""};return ee&&(ee=ee.split(TYPE_DELIMITER$1),te.main=ee[0]||"",te.sub=ee[1]||""),te}function checkClassType$1(ee){zrUtil$i.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(ee),'componentType "'+ee+'" illegal')}function enableClassExtend$2(ee,te){ee.$constructor=ee,ee.extend=function(ae){var ne=this,ie=function(){ae.$constructor?ae.$constructor.apply(this,arguments):ne.apply(this,arguments)};return zrUtil$i.extend(ie.prototype,ae),ie.extend=this.extend,ie.superCall=superCall$1,ie.superApply=superApply$1,zrUtil$i.inherits(ie,this),ie.superClass=ne,ie}}var classBase$1=0;function enableClassCheck$2(ee){var te=["__\0is_clz",classBase$1++,Math.random().toFixed(3)].join("_");ee.prototype[te]=!0,ee.isInstance=function(ae){return!!(ae&&ae[te])}}function superCall$1(ee,te){var ae=zrUtil$i.slice(arguments,2);return this.superClass.prototype[te].apply(ee,ae)}function superApply$1(ee,te,ae){return this.superClass.prototype[te].apply(ee,ae)}function enableClassManagement$2(ee,te){te=te||{};var ae={};ee.registerClass=function(oe,se){if(se){if(checkClassType$1(se),se=parseClassType$3(se),!se.sub)ae[se.main]=oe;else if(se.sub!==IS_CONTAINER$1){var le=ne(se);le[se.sub]=oe}}return oe},ee.getClass=function(oe,se,le){var ue=ae[oe];if(ue&&ue[IS_CONTAINER$1]&&(ue=se?ue[se]:null),le&&!ue)throw new Error(se?"Component "+oe+"."+(se||"")+" not exists. Load it first.":oe+".type should be specified.");return ue},ee.getClassesByMainType=function(oe){oe=parseClassType$3(oe);var se=[],le=ae[oe.main];return le&&le[IS_CONTAINER$1]?zrUtil$i.each(le,function(ue,ce){ce!==IS_CONTAINER$1&&se.push(ue)}):se.push(le),se},ee.hasClass=function(oe){return oe=parseClassType$3(oe),!!ae[oe.main]},ee.getAllClassMainTypes=function(){var oe=[];return zrUtil$i.each(ae,function(se,le){oe.push(le)}),oe},ee.hasSubTypes=function(oe){oe=parseClassType$3(oe);var se=ae[oe.main];return se&&se[IS_CONTAINER$1]},ee.parseClassType=parseClassType$3;function ne(oe){var se=ae[oe.main];return(!se||!se[IS_CONTAINER$1])&&(se=ae[oe.main]={},se[IS_CONTAINER$1]=!0),se}if(te.registerWhenExtend){var ie=ee.extend;ie&&(ee.extend=function(oe){var se=ie.call(this,oe);return ee.registerClass(se,oe.type)})}return ee}function setReadOnly(ee,te){}clazz.parseClassType=parseClassType$3;clazz.enableClassExtend=enableClassExtend$2;clazz.enableClassCheck=enableClassCheck$2;clazz.enableClassManagement=enableClassManagement$2;clazz.setReadOnly=setReadOnly;var zrUtil$h=util$a;function _default$R(ee){for(var te=0;te<ee.length;te++)ee[te][1]||(ee[te][1]=ee[te][0]);return function(ae,ne,ie){for(var oe={},se=0;se<ee.length;se++){var le=ee[se][1];if(!(ne&&zrUtil$h.indexOf(ne,le)>=0||ie&&zrUtil$h.indexOf(ie,le)<0)){var ue=ae.getShallow(le);ue!=null&&(oe[ee[se][0]]=ue)}}return oe}}var makeStyleMapper$4=_default$R,makeStyleMapper$3=makeStyleMapper$4,getLineStyle$1=makeStyleMapper$3([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),_default$Q={getLineStyle:function(ee){var te=getLineStyle$1(this,ee);return te.lineDash=this.getLineDash(te.lineWidth),te},getLineDash:function(ee){ee==null&&(ee=1);var te=this.get("type"),ae=Math.max(ee,2),ne=ee*4;return te==="solid"||te==null?!1:te==="dashed"?[ne,ne]:[ae,ae]}},lineStyle=_default$Q,makeStyleMapper$2=makeStyleMapper$4,getAreaStyle$1=makeStyleMapper$2([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),_default$P={getAreaStyle:function(ee,te){return getAreaStyle$1(this,ee,te)}},areaStyle=_default$P,graphic$6={},path$1={},curve$3={},_vector$3=vector$3,v2Create=_vector$3.create,v2DistSquare$1=_vector$3.distSquare,mathPow$3=Math.pow,mathSqrt$7=Math.sqrt,EPSILON$6=1e-8,EPSILON_NUMERIC$1=1e-4,THREE_SQRT$1=mathSqrt$7(3),ONE_THIRD$1=1/3,_v0$1=v2Create(),_v1$1=v2Create(),_v2$1=v2Create();function isAroundZero$2(ee){return ee>-EPSILON$6&&ee<EPSILON$6}function isNotAroundZero$2(ee){return ee>EPSILON$6||ee<-EPSILON$6}function cubicAt$2(ee,te,ae,ne,ie){var oe=1-ie;return oe*oe*(oe*ee+3*ie*te)+ie*ie*(ie*ne+3*oe*ae)}function cubicDerivativeAt$2(ee,te,ae,ne,ie){var oe=1-ie;return 3*(((te-ee)*oe+2*(ae-te)*ie)*oe+(ne-ae)*ie*ie)}function cubicRootAt$1(ee,te,ae,ne,ie,oe){var se=ne+3*(te-ae)-ee,le=3*(ae-te*2+ee),ue=3*(te-ee),ce=ee-ie,de=le*le-3*se*ue,he=le*ue-9*se*ce,fe=ue*ue-3*le*ce,pe=0;if(isAroundZero$2(de)&&isAroundZero$2(he))if(isAroundZero$2(le))oe[0]=0;else{var ve=-ue/le;ve>=0&&ve<=1&&(oe[pe++]=ve)}else{var ge=he*he-4*de*fe;if(isAroundZero$2(ge)){var me=he/de,ve=-le/se+me,ye=-me/2;ve>=0&&ve<=1&&(oe[pe++]=ve),ye>=0&&ye<=1&&(oe[pe++]=ye)}else if(ge>0){var _e=mathSqrt$7(ge),be=de*le+1.5*se*(-he+_e),xe=de*le+1.5*se*(-he-_e);be<0?be=-mathPow$3(-be,ONE_THIRD$1):be=mathPow$3(be,ONE_THIRD$1),xe<0?xe=-mathPow$3(-xe,ONE_THIRD$1):xe=mathPow$3(xe,ONE_THIRD$1);var ve=(-le-(be+xe))/(3*se);ve>=0&&ve<=1&&(oe[pe++]=ve)}else{var $e=(2*de*le-3*se*he)/(2*mathSqrt$7(de*de*de)),Se=Math.acos($e)/3,we=mathSqrt$7(de),Ae=Math.cos(Se),ve=(-le-2*we*Ae)/(3*se),ye=(-le+we*(Ae+THREE_SQRT$1*Math.sin(Se)))/(3*se),Te=(-le+we*(Ae-THREE_SQRT$1*Math.sin(Se)))/(3*se);ve>=0&&ve<=1&&(oe[pe++]=ve),ye>=0&&ye<=1&&(oe[pe++]=ye),Te>=0&&Te<=1&&(oe[pe++]=Te)}}return pe}function cubicExtrema$1(ee,te,ae,ne,ie){var oe=6*ae-12*te+6*ee,se=9*te+3*ne-3*ee-9*ae,le=3*te-3*ee,ue=0;if(isAroundZero$2(se)){if(isNotAroundZero$2(oe)){var ce=-le/oe;ce>=0&&ce<=1&&(ie[ue++]=ce)}}else{var de=oe*oe-4*se*le;if(isAroundZero$2(de))ie[0]=-oe/(2*se);else if(de>0){var he=mathSqrt$7(de),ce=(-oe+he)/(2*se),fe=(-oe-he)/(2*se);ce>=0&&ce<=1&&(ie[ue++]=ce),fe>=0&&fe<=1&&(ie[ue++]=fe)}}return ue}function cubicSubdivide$2(ee,te,ae,ne,ie,oe){var se=(te-ee)*ie+ee,le=(ae-te)*ie+te,ue=(ne-ae)*ie+ae,ce=(le-se)*ie+se,de=(ue-le)*ie+le,he=(de-ce)*ie+ce;oe[0]=ee,oe[1]=se,oe[2]=ce,oe[3]=he,oe[4]=he,oe[5]=de,oe[6]=ue,oe[7]=ne}function cubicProjectPoint$1(ee,te,ae,ne,ie,oe,se,le,ue,ce,de){var he,fe=.005,pe=1/0,ve,ge,me,ye;_v0$1[0]=ue,_v0$1[1]=ce;for(var _e=0;_e<1;_e+=.05)_v1$1[0]=cubicAt$2(ee,ae,ie,se,_e),_v1$1[1]=cubicAt$2(te,ne,oe,le,_e),me=v2DistSquare$1(_v0$1,_v1$1),me<pe&&(he=_e,pe=me);pe=1/0;for(var be=0;be<32&&!(fe<EPSILON_NUMERIC$1);be++)ve=he-fe,ge=he+fe,_v1$1[0]=cubicAt$2(ee,ae,ie,se,ve),_v1$1[1]=cubicAt$2(te,ne,oe,le,ve),me=v2DistSquare$1(_v1$1,_v0$1),ve>=0&&me<pe?(he=ve,pe=me):(_v2$1[0]=cubicAt$2(ee,ae,ie,se,ge),_v2$1[1]=cubicAt$2(te,ne,oe,le,ge),ye=v2DistSquare$1(_v2$1,_v0$1),ge<=1&&ye<pe?(he=ge,pe=ye):fe*=.5);return de&&(de[0]=cubicAt$2(ee,ae,ie,se,he),de[1]=cubicAt$2(te,ne,oe,le,he)),mathSqrt$7(pe)}function quadraticAt$3(ee,te,ae,ne){var ie=1-ne;return ie*(ie*ee+2*ne*te)+ne*ne*ae}function quadraticDerivativeAt$2(ee,te,ae,ne){return 2*((1-ne)*(te-ee)+ne*(ae-te))}function quadraticRootAt$1(ee,te,ae,ne,ie){var oe=ee-2*te+ae,se=2*(te-ee),le=ee-ne,ue=0;if(isAroundZero$2(oe)){if(isNotAroundZero$2(se)){var ce=-le/se;ce>=0&&ce<=1&&(ie[ue++]=ce)}}else{var de=se*se-4*oe*le;if(isAroundZero$2(de)){var ce=-se/(2*oe);ce>=0&&ce<=1&&(ie[ue++]=ce)}else if(de>0){var he=mathSqrt$7(de),ce=(-se+he)/(2*oe),fe=(-se-he)/(2*oe);ce>=0&&ce<=1&&(ie[ue++]=ce),fe>=0&&fe<=1&&(ie[ue++]=fe)}}return ue}function quadraticExtremum$1(ee,te,ae){var ne=ee+ae-2*te;return ne===0?.5:(ee-te)/ne}function quadraticSubdivide$2(ee,te,ae,ne,ie){var oe=(te-ee)*ne+ee,se=(ae-te)*ne+te,le=(se-oe)*ne+oe;ie[0]=ee,ie[1]=oe,ie[2]=le,ie[3]=le,ie[4]=se,ie[5]=ae}function quadraticProjectPoint$2(ee,te,ae,ne,ie,oe,se,le,ue){var ce,de=.005,he=1/0;_v0$1[0]=se,_v0$1[1]=le;for(var fe=0;fe<1;fe+=.05){_v1$1[0]=quadraticAt$3(ee,ae,ie,fe),_v1$1[1]=quadraticAt$3(te,ne,oe,fe);var pe=v2DistSquare$1(_v0$1,_v1$1);pe<he&&(ce=fe,he=pe)}he=1/0;for(var ve=0;ve<32&&!(de<EPSILON_NUMERIC$1);ve++){var ge=ce-de,me=ce+de;_v1$1[0]=quadraticAt$3(ee,ae,ie,ge),_v1$1[1]=quadraticAt$3(te,ne,oe,ge);var pe=v2DistSquare$1(_v1$1,_v0$1);if(ge>=0&&pe<he)ce=ge,he=pe;else{_v2$1[0]=quadraticAt$3(ee,ae,ie,me),_v2$1[1]=quadraticAt$3(te,ne,oe,me);var ye=v2DistSquare$1(_v2$1,_v0$1);me<=1&&ye<he?(ce=me,he=ye):de*=.5}}return ue&&(ue[0]=quadraticAt$3(ee,ae,ie,ce),ue[1]=quadraticAt$3(te,ne,oe,ce)),mathSqrt$7(he)}curve$3.cubicAt=cubicAt$2;curve$3.cubicDerivativeAt=cubicDerivativeAt$2;curve$3.cubicRootAt=cubicRootAt$1;curve$3.cubicExtrema=cubicExtrema$1;curve$3.cubicSubdivide=cubicSubdivide$2;curve$3.cubicProjectPoint=cubicProjectPoint$1;curve$3.quadraticAt=quadraticAt$3;curve$3.quadraticDerivativeAt=quadraticDerivativeAt$2;curve$3.quadraticRootAt=quadraticRootAt$1;curve$3.quadraticExtremum=quadraticExtremum$1;curve$3.quadraticSubdivide=quadraticSubdivide$2;curve$3.quadraticProjectPoint=quadraticProjectPoint$2;var bbox$1={},hasRequiredBbox;function requireBbox(){if(hasRequiredBbox)return bbox$1;hasRequiredBbox=1;var ee=vector$3,te=curve$3,ae=Math.min,ne=Math.max,ie=Math.sin,oe=Math.cos,se=Math.PI*2,le=ee.create(),ue=ee.create(),ce=ee.create();function de(ye,_e,be){if(ye.length!==0){var xe=ye[0],$e=xe[0],Se=xe[0],we=xe[1],Ae=xe[1],Te;for(Te=1;Te<ye.length;Te++)xe=ye[Te],$e=ae($e,xe[0]),Se=ne(Se,xe[0]),we=ae(we,xe[1]),Ae=ne(Ae,xe[1]);_e[0]=$e,_e[1]=we,be[0]=Se,be[1]=Ae}}function he(ye,_e,be,xe,$e,Se){$e[0]=ae(ye,be),$e[1]=ae(_e,xe),Se[0]=ne(ye,be),Se[1]=ne(_e,xe)}var fe=[],pe=[];function ve(ye,_e,be,xe,$e,Se,we,Ae,Te,De){var Me=te.cubicExtrema,Ie=te.cubicAt,Ce,Ee=Me(ye,be,$e,we,fe);for(Te[0]=1/0,Te[1]=1/0,De[0]=-1/0,De[1]=-1/0,Ce=0;Ce<Ee;Ce++){var Re=Ie(ye,be,$e,we,fe[Ce]);Te[0]=ae(Re,Te[0]),De[0]=ne(Re,De[0])}for(Ee=Me(_e,xe,Se,Ae,pe),Ce=0;Ce<Ee;Ce++){var ke=Ie(_e,xe,Se,Ae,pe[Ce]);Te[1]=ae(ke,Te[1]),De[1]=ne(ke,De[1])}Te[0]=ae(ye,Te[0]),De[0]=ne(ye,De[0]),Te[0]=ae(we,Te[0]),De[0]=ne(we,De[0]),Te[1]=ae(_e,Te[1]),De[1]=ne(_e,De[1]),Te[1]=ae(Ae,Te[1]),De[1]=ne(Ae,De[1])}function ge(ye,_e,be,xe,$e,Se,we,Ae){var Te=te.quadraticExtremum,De=te.quadraticAt,Me=ne(ae(Te(ye,be,$e),1),0),Ie=ne(ae(Te(_e,xe,Se),1),0),Ce=De(ye,be,$e,Me),Ee=De(_e,xe,Se,Ie);we[0]=ae(ye,$e,Ce),we[1]=ae(_e,Se,Ee),Ae[0]=ne(ye,$e,Ce),Ae[1]=ne(_e,Se,Ee)}function me(ye,_e,be,xe,$e,Se,we,Ae,Te){var De=ee.min,Me=ee.max,Ie=Math.abs($e-Se);if(Ie%se<1e-4&&Ie>1e-4){Ae[0]=ye-be,Ae[1]=_e-xe,Te[0]=ye+be,Te[1]=_e+xe;return}if(le[0]=oe($e)*be+ye,le[1]=ie($e)*xe+_e,ue[0]=oe(Se)*be+ye,ue[1]=ie(Se)*xe+_e,De(Ae,le,ue),Me(Te,le,ue),$e=$e%se,$e<0&&($e=$e+se),Se=Se%se,Se<0&&(Se=Se+se),$e>Se&&!we?Se+=se:$e<Se&&we&&($e+=se),we){var Ce=Se;Se=$e,$e=Ce}for(var Ee=0;Ee<Se;Ee+=Math.PI/2)Ee>$e&&(ce[0]=oe(Ee)*be+ye,ce[1]=ie(Ee)*xe+_e,De(Ae,ce,Ae),Me(Te,ce,Te))}return bbox$1.fromPoints=de,bbox$1.fromLine=he,bbox$1.fromCubic=ve,bbox$1.fromQuadratic=ge,bbox$1.fromArc=me,bbox$1}var curve$2=curve$3,vec2$1=vector$3,bbox=requireBbox(),BoundingRect$5=BoundingRect_1,_config=config$1,dpr$1=_config.devicePixelRatio,CMD$7={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},min$2=[],max$2=[],min2$1=[],max2$1=[],mathMin$c=Math.min,mathMax$c=Math.max,mathCos$6=Math.cos,mathSin$6=Math.sin,mathSqrt$6=Math.sqrt,mathAbs$3=Math.abs,hasTypedArray$1=typeof Float32Array<"u",PathProxy$6=function(ee){this._saveData=!ee,this._saveData&&(this.data=[]),this._ctx=null};PathProxy$6.prototype={constructor:PathProxy$6,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(ee,te,ae){ae=ae||0,this._ux=mathAbs$3(ae/dpr$1/ee)||0,this._uy=mathAbs$3(ae/dpr$1/te)||0},getContext:function(){return this._ctx},beginPath:function(ee){return this._ctx=ee,ee&&ee.beginPath(),ee&&(this.dpr=ee.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(ee,te){return this.addData(CMD$7.M,ee,te),this._ctx&&this._ctx.moveTo(ee,te),this._x0=ee,this._y0=te,this._xi=ee,this._yi=te,this},lineTo:function(ee,te){var ae=mathAbs$3(ee-this._xi)>this._ux||mathAbs$3(te-this._yi)>this._uy||this._len<5;return this.addData(CMD$7.L,ee,te),this._ctx&&ae&&(this._needsDash()?this._dashedLineTo(ee,te):this._ctx.lineTo(ee,te)),ae&&(this._xi=ee,this._yi=te),this},bezierCurveTo:function(ee,te,ae,ne,ie,oe){return this.addData(CMD$7.C,ee,te,ae,ne,ie,oe),this._ctx&&(this._needsDash()?this._dashedBezierTo(ee,te,ae,ne,ie,oe):this._ctx.bezierCurveTo(ee,te,ae,ne,ie,oe)),this._xi=ie,this._yi=oe,this},quadraticCurveTo:function(ee,te,ae,ne){return this.addData(CMD$7.Q,ee,te,ae,ne),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(ee,te,ae,ne):this._ctx.quadraticCurveTo(ee,te,ae,ne)),this._xi=ae,this._yi=ne,this},arc:function(ee,te,ae,ne,ie,oe){return this.addData(CMD$7.A,ee,te,ae,ae,ne,ie-ne,0,oe?0:1),this._ctx&&this._ctx.arc(ee,te,ae,ne,ie,oe),this._xi=mathCos$6(ie)*ae+ee,this._yi=mathSin$6(ie)*ae+te,this},arcTo:function(ee,te,ae,ne,ie){return this._ctx&&this._ctx.arcTo(ee,te,ae,ne,ie),this},rect:function(ee,te,ae,ne){return this._ctx&&this._ctx.rect(ee,te,ae,ne),this.addData(CMD$7.R,ee,te,ae,ne),this},closePath:function(){this.addData(CMD$7.Z);var ee=this._ctx,te=this._x0,ae=this._y0;return ee&&(this._needsDash()&&this._dashedLineTo(te,ae),ee.closePath()),this._xi=te,this._yi=ae,this},fill:function(ee){ee&&ee.fill(),this.toStatic()},stroke:function(ee){ee&&ee.stroke(),this.toStatic()},setLineDash:function(ee){if(ee instanceof Array){this._lineDash=ee,this._dashIdx=0;for(var te=0,ae=0;ae<ee.length;ae++)te+=ee[ae];this._dashSum=te}return this},setLineDashOffset:function(ee){return this._dashOffset=ee,this},len:function(){return this._len},setData:function(ee){var te=ee.length;!(this.data&&this.data.length===te)&&hasTypedArray$1&&(this.data=new Float32Array(te));for(var ae=0;ae<te;ae++)this.data[ae]=ee[ae];this._len=te},appendPath:function(ee){ee instanceof Array||(ee=[ee]);for(var te=ee.length,ae=0,ne=this._len,ie=0;ie<te;ie++)ae+=ee[ie].len();hasTypedArray$1&&this.data instanceof Float32Array&&(this.data=new Float32Array(ne+ae));for(var ie=0;ie<te;ie++)for(var oe=ee[ie].data,se=0;se<oe.length;se++)this.data[ne++]=oe[se];this._len=ne},addData:function(ee){if(this._saveData){var te=this.data;this._len+arguments.length>te.length&&(this._expandData(),te=this.data);for(var ae=0;ae<arguments.length;ae++)te[this._len++]=arguments[ae];this._prevCmd=ee}},_expandData:function(){if(!(this.data instanceof Array)){for(var ee=[],te=0;te<this._len;te++)ee[te]=this.data[te];this.data=ee}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(ee,te){var ae=this._dashSum,ne=this._dashOffset,ie=this._lineDash,oe=this._ctx,se=this._xi,le=this._yi,ue=ee-se,ce=te-le,de=mathSqrt$6(ue*ue+ce*ce),he=se,fe=le,pe,ve=ie.length,ge;for(ue/=de,ce/=de,ne<0&&(ne=ae+ne),ne%=ae,he-=ne*ue,fe-=ne*ce;ue>0&&he<=ee||ue<0&&he>=ee||ue===0&&(ce>0&&fe<=te||ce<0&&fe>=te);)ge=this._dashIdx,pe=ie[ge],he+=ue*pe,fe+=ce*pe,this._dashIdx=(ge+1)%ve,!(ue>0&&he<se||ue<0&&he>se||ce>0&&fe<le||ce<0&&fe>le)&&oe[ge%2?"moveTo":"lineTo"](ue>=0?mathMin$c(he,ee):mathMax$c(he,ee),ce>=0?mathMin$c(fe,te):mathMax$c(fe,te));ue=he-ee,ce=fe-te,this._dashOffset=-mathSqrt$6(ue*ue+ce*ce)},_dashedBezierTo:function(ee,te,ae,ne,ie,oe){var se=this._dashSum,le=this._dashOffset,ue=this._lineDash,ce=this._ctx,de=this._xi,he=this._yi,fe,pe,ve,ge=curve$2.cubicAt,me=0,ye=this._dashIdx,_e=ue.length,be,xe,$e=0;for(le<0&&(le=se+le),le%=se,fe=0;fe<1;fe+=.1)pe=ge(de,ee,ae,ie,fe+.1)-ge(de,ee,ae,ie,fe),ve=ge(he,te,ne,oe,fe+.1)-ge(he,te,ne,oe,fe),me+=mathSqrt$6(pe*pe+ve*ve);for(;ye<_e&&($e+=ue[ye],!($e>le));ye++);for(fe=($e-le)/me;fe<=1;)be=ge(de,ee,ae,ie,fe),xe=ge(he,te,ne,oe,fe),ye%2?ce.moveTo(be,xe):ce.lineTo(be,xe),fe+=ue[ye]/me,ye=(ye+1)%_e;ye%2!==0&&ce.lineTo(ie,oe),pe=ie-be,ve=oe-xe,this._dashOffset=-mathSqrt$6(pe*pe+ve*ve)},_dashedQuadraticTo:function(ee,te,ae,ne){var ie=ae,oe=ne;ae=(ae+2*ee)/3,ne=(ne+2*te)/3,ee=(this._xi+2*ee)/3,te=(this._yi+2*te)/3,this._dashedBezierTo(ee,te,ae,ne,ie,oe)},toStatic:function(){var ee=this.data;ee instanceof Array&&(ee.length=this._len,hasTypedArray$1&&(this.data=new Float32Array(ee)))},getBoundingRect:function(){min$2[0]=min$2[1]=min2$1[0]=min2$1[1]=Number.MAX_VALUE,max$2[0]=max$2[1]=max2$1[0]=max2$1[1]=-Number.MAX_VALUE;for(var ee=this.data,te=0,ae=0,ne=0,ie=0,oe=0;oe<ee.length;){var se=ee[oe++];switch(oe===1&&(te=ee[oe],ae=ee[oe+1],ne=te,ie=ae),se){case CMD$7.M:ne=ee[oe++],ie=ee[oe++],te=ne,ae=ie,min2$1[0]=ne,min2$1[1]=ie,max2$1[0]=ne,max2$1[1]=ie;break;case CMD$7.L:bbox.fromLine(te,ae,ee[oe],ee[oe+1],min2$1,max2$1),te=ee[oe++],ae=ee[oe++];break;case CMD$7.C:bbox.fromCubic(te,ae,ee[oe++],ee[oe++],ee[oe++],ee[oe++],ee[oe],ee[oe+1],min2$1,max2$1),te=ee[oe++],ae=ee[oe++];break;case CMD$7.Q:bbox.fromQuadratic(te,ae,ee[oe++],ee[oe++],ee[oe],ee[oe+1],min2$1,max2$1),te=ee[oe++],ae=ee[oe++];break;case CMD$7.A:var le=ee[oe++],ue=ee[oe++],ce=ee[oe++],de=ee[oe++],he=ee[oe++],fe=ee[oe++]+he;oe+=1;var pe=1-ee[oe++];oe===1&&(ne=mathCos$6(he)*ce+le,ie=mathSin$6(he)*de+ue),bbox.fromArc(le,ue,ce,de,he,fe,pe,min2$1,max2$1),te=mathCos$6(fe)*ce+le,ae=mathSin$6(fe)*de+ue;break;case CMD$7.R:ne=te=ee[oe++],ie=ae=ee[oe++];var ve=ee[oe++],ge=ee[oe++];bbox.fromLine(ne,ie,ne+ve,ie+ge,min2$1,max2$1);break;case CMD$7.Z:te=ne,ae=ie;break}vec2$1.min(min$2,min$2,min2$1),vec2$1.max(max$2,max$2,max2$1)}return oe===0&&(min$2[0]=min$2[1]=max$2[0]=max$2[1]=0),new BoundingRect$5(min$2[0],min$2[1],max$2[0]-min$2[0],max$2[1]-min$2[1])},rebuildPath:function(ee){for(var te=this.data,ae,ne,ie,oe,se,le,ue=this._ux,ce=this._uy,de=this._len,he=0;he<de;){var fe=te[he++];switch(he===1&&(ie=te[he],oe=te[he+1],ae=ie,ne=oe),fe){case CMD$7.M:ae=ie=te[he++],ne=oe=te[he++],ee.moveTo(ie,oe);break;case CMD$7.L:se=te[he++],le=te[he++],(mathAbs$3(se-ie)>ue||mathAbs$3(le-oe)>ce||he===de-1)&&(ee.lineTo(se,le),ie=se,oe=le);break;case CMD$7.C:ee.bezierCurveTo(te[he++],te[he++],te[he++],te[he++],te[he++],te[he++]),ie=te[he-2],oe=te[he-1];break;case CMD$7.Q:ee.quadraticCurveTo(te[he++],te[he++],te[he++],te[he++]),ie=te[he-2],oe=te[he-1];break;case CMD$7.A:var pe=te[he++],ve=te[he++],ge=te[he++],me=te[he++],ye=te[he++],_e=te[he++],be=te[he++],xe=te[he++],$e=ge>me?ge:me,Se=ge>me?1:ge/me,we=ge>me?me/ge:1,Ae=Math.abs(ge-me)>.001,Te=ye+_e;Ae?(ee.translate(pe,ve),ee.rotate(be),ee.scale(Se,we),ee.arc(0,0,$e,ye,Te,1-xe),ee.scale(1/Se,1/we),ee.rotate(-be),ee.translate(-pe,-ve)):ee.arc(pe,ve,$e,ye,Te,1-xe),he===1&&(ae=mathCos$6(ye)*ge+pe,ne=mathSin$6(ye)*me+ve),ie=mathCos$6(Te)*ge+pe,oe=mathSin$6(Te)*me+ve;break;case CMD$7.R:ae=ie=te[he],ne=oe=te[he+1],ee.rect(te[he++],te[he++],te[he++],te[he++]);break;case CMD$7.Z:ee.closePath(),ie=ae,oe=ne}}}};PathProxy$6.CMD=CMD$7;var _default$O=PathProxy$6,PathProxy_1=_default$O,path={},line$2={};function containStroke$9(ee,te,ae,ne,ie,oe,se){if(ie===0)return!1;var le=ie,ue=0,ce=ee;if(se>te+le&&se>ne+le||se<te-le&&se<ne-le||oe>ee+le&&oe>ae+le||oe<ee-le&&oe<ae-le)return!1;if(ee!==ae)ue=(te-ne)/(ee-ae),ce=(ee*ne-ae*te)/(ee-ae);else return Math.abs(oe-ee)<=le/2;var de=ue*oe-se+ce,he=de*de/(ue*ue+1);return he<=le/2*le/2}line$2.containStroke=containStroke$9;var cubic$1={},curve$1=curve$3;function containStroke$8(ee,te,ae,ne,ie,oe,se,le,ue,ce,de){if(ue===0)return!1;var he=ue;if(de>te+he&&de>ne+he&&de>oe+he&&de>le+he||de<te-he&&de<ne-he&&de<oe-he&&de<le-he||ce>ee+he&&ce>ae+he&&ce>ie+he&&ce>se+he||ce<ee-he&&ce<ae-he&&ce<ie-he&&ce<se-he)return!1;var fe=curve$1.cubicProjectPoint(ee,te,ae,ne,ie,oe,se,le,ce,de,null);return fe<=he/2}cubic$1.containStroke=containStroke$8;var quadratic$1={},_curve$1=curve$3,quadraticProjectPoint$1=_curve$1.quadraticProjectPoint;function containStroke$7(ee,te,ae,ne,ie,oe,se,le,ue){if(se===0)return!1;var ce=se;if(ue>te+ce&&ue>ne+ce&&ue>oe+ce||ue<te-ce&&ue<ne-ce&&ue<oe-ce||le>ee+ce&&le>ae+ce&&le>ie+ce||le<ee-ce&&le<ae-ce&&le<ie-ce)return!1;var de=quadraticProjectPoint$1(ee,te,ae,ne,ie,oe,le,ue,null);return de<=ce/2}quadratic$1.containStroke=containStroke$7;var arc$1={},util$4={},PI2$b=Math.PI*2;function normalizeRadian$3(ee){return ee%=PI2$b,ee<0&&(ee+=PI2$b),ee}util$4.normalizeRadian=normalizeRadian$3;var _util$c=util$4,normalizeRadian$2=_util$c.normalizeRadian,PI2$a=Math.PI*2;function containStroke$6(ee,te,ae,ne,ie,oe,se,le,ue){if(se===0)return!1;var ce=se;le-=ee,ue-=te;var de=Math.sqrt(le*le+ue*ue);if(de-ce>ae||de+ce<ae)return!1;if(Math.abs(ne-ie)%PI2$a<1e-4)return!0;if(oe){var he=ne;ne=normalizeRadian$2(ie),ie=normalizeRadian$2(he)}else ne=normalizeRadian$2(ne),ie=normalizeRadian$2(ie);ne>ie&&(ie+=PI2$a);var fe=Math.atan2(ue,le);return fe<0&&(fe+=PI2$a),fe>=ne&&fe<=ie||fe+PI2$a>=ne&&fe+PI2$a<=ie}arc$1.containStroke=containStroke$6;function windingLine$2(ee,te,ae,ne,ie,oe){if(oe>te&&oe>ne||oe<te&&oe<ne||ne===te)return 0;var se=ne<te?1:-1,le=(oe-te)/(ne-te);(le===1||le===0)&&(se=ne<te?.5:-.5);var ue=le*(ae-ee)+ee;return ue===ie?1/0:ue>ie?se:0}var windingLine_1=windingLine$2,PathProxy$5=PathProxy_1,line$1=line$2,cubic=cubic$1,quadratic=quadratic$1,arc=arc$1,_util$b=util$4,normalizeRadian$1=_util$b.normalizeRadian,curve=curve$3,windingLine$1=windingLine_1,CMD$6=PathProxy$5.CMD,PI2$9=Math.PI*2,EPSILON$5=1e-4;function isAroundEqual$2(ee,te){return Math.abs(ee-te)<EPSILON$5}var roots$1=[-1,-1,-1],extrema$1=[-1,-1];function swapExtrema$1(){var ee=extrema$1[0];extrema$1[0]=extrema$1[1],extrema$1[1]=ee}function windingCubic$1(ee,te,ae,ne,ie,oe,se,le,ue,ce){if(ce>te&&ce>ne&&ce>oe&&ce>le||ce<te&&ce<ne&&ce<oe&&ce<le)return 0;var de=curve.cubicRootAt(te,ne,oe,le,ce,roots$1);if(de===0)return 0;for(var he=0,fe=-1,pe,ve,ge=0;ge<de;ge++){var me=roots$1[ge],ye=me===0||me===1?.5:1,_e=curve.cubicAt(ee,ae,ie,se,me);_e<ue||(fe<0&&(fe=curve.cubicExtrema(te,ne,oe,le,extrema$1),extrema$1[1]<extrema$1[0]&&fe>1&&swapExtrema$1(),pe=curve.cubicAt(te,ne,oe,le,extrema$1[0]),fe>1&&(ve=curve.cubicAt(te,ne,oe,le,extrema$1[1]))),fe===2?me<extrema$1[0]?he+=pe<te?ye:-ye:me<extrema$1[1]?he+=ve<pe?ye:-ye:he+=le<ve?ye:-ye:me<extrema$1[0]?he+=pe<te?ye:-ye:he+=le<pe?ye:-ye)}return he}function windingQuadratic$1(ee,te,ae,ne,ie,oe,se,le){if(le>te&&le>ne&&le>oe||le<te&&le<ne&&le<oe)return 0;var ue=curve.quadraticRootAt(te,ne,oe,le,roots$1);if(ue===0)return 0;var ce=curve.quadraticExtremum(te,ne,oe);if(ce>=0&&ce<=1){for(var de=0,he=curve.quadraticAt(te,ne,oe,ce),fe=0;fe<ue;fe++){var pe=roots$1[fe]===0||roots$1[fe]===1?.5:1,ve=curve.quadraticAt(ee,ae,ie,roots$1[fe]);ve<se||(roots$1[fe]<ce?de+=he<te?pe:-pe:de+=oe<he?pe:-pe)}return de}else{var pe=roots$1[0]===0||roots$1[0]===1?.5:1,ve=curve.quadraticAt(ee,ae,ie,roots$1[0]);return ve<se?0:oe<te?pe:-pe}}function windingArc$1(ee,te,ae,ne,ie,oe,se,le){if(le-=te,le>ae||le<-ae)return 0;var ue=Math.sqrt(ae*ae-le*le);roots$1[0]=-ue,roots$1[1]=ue;var ce=Math.abs(ne-ie);if(ce<1e-4)return 0;if(ce%PI2$9<1e-4){ne=0,ie=PI2$9;var de=oe?1:-1;return se>=roots$1[0]+ee&&se<=roots$1[1]+ee?de:0}if(oe){var ue=ne;ne=normalizeRadian$1(ie),ie=normalizeRadian$1(ue)}else ne=normalizeRadian$1(ne),ie=normalizeRadian$1(ie);ne>ie&&(ie+=PI2$9);for(var he=0,fe=0;fe<2;fe++){var pe=roots$1[fe];if(pe+ee>se){var ve=Math.atan2(le,pe),de=oe?1:-1;ve<0&&(ve=PI2$9+ve),(ve>=ne&&ve<=ie||ve+PI2$9>=ne&&ve+PI2$9<=ie)&&(ve>Math.PI/2&&ve<Math.PI*1.5&&(de=-de),he+=de)}}return he}function containPath$1(ee,te,ae,ne,ie){for(var oe=0,se=0,le=0,ue=0,ce=0,de=0;de<ee.length;){var he=ee[de++];switch(he===CMD$6.M&&de>1&&(ae||(oe+=windingLine$1(se,le,ue,ce,ne,ie))),de===1&&(se=ee[de],le=ee[de+1],ue=se,ce=le),he){case CMD$6.M:ue=ee[de++],ce=ee[de++],se=ue,le=ce;break;case CMD$6.L:if(ae){if(line$1.containStroke(se,le,ee[de],ee[de+1],te,ne,ie))return!0}else oe+=windingLine$1(se,le,ee[de],ee[de+1],ne,ie)||0;se=ee[de++],le=ee[de++];break;case CMD$6.C:if(ae){if(cubic.containStroke(se,le,ee[de++],ee[de++],ee[de++],ee[de++],ee[de],ee[de+1],te,ne,ie))return!0}else oe+=windingCubic$1(se,le,ee[de++],ee[de++],ee[de++],ee[de++],ee[de],ee[de+1],ne,ie)||0;se=ee[de++],le=ee[de++];break;case CMD$6.Q:if(ae){if(quadratic.containStroke(se,le,ee[de++],ee[de++],ee[de],ee[de+1],te,ne,ie))return!0}else oe+=windingQuadratic$1(se,le,ee[de++],ee[de++],ee[de],ee[de+1],ne,ie)||0;se=ee[de++],le=ee[de++];break;case CMD$6.A:var fe=ee[de++],pe=ee[de++],ve=ee[de++],ge=ee[de++],me=ee[de++],ye=ee[de++];de+=1;var _e=1-ee[de++],Se=Math.cos(me)*ve+fe,we=Math.sin(me)*ge+pe;de>1?oe+=windingLine$1(se,le,Se,we,ne,ie):(ue=Se,ce=we);var be=(ne-fe)*ge/ve+fe;if(ae){if(arc.containStroke(fe,pe,ge,me,me+ye,_e,te,be,ie))return!0}else oe+=windingArc$1(fe,pe,ge,me,me+ye,_e,be,ie);se=Math.cos(me+ye)*ve+fe,le=Math.sin(me+ye)*ge+pe;break;case CMD$6.R:ue=se=ee[de++],ce=le=ee[de++];var xe=ee[de++],$e=ee[de++],Se=ue+xe,we=ce+$e;if(ae){if(line$1.containStroke(ue,ce,Se,ce,te,ne,ie)||line$1.containStroke(Se,ce,Se,we,te,ne,ie)||line$1.containStroke(Se,we,ue,we,te,ne,ie)||line$1.containStroke(ue,we,ue,ce,te,ne,ie))return!0}else oe+=windingLine$1(Se,ce,Se,we,ne,ie),oe+=windingLine$1(ue,we,ue,ce,ne,ie);break;case CMD$6.Z:if(ae){if(line$1.containStroke(se,le,ue,ce,te,ne,ie))return!0}else oe+=windingLine$1(se,le,ue,ce,ne,ie);se=ue,le=ce;break}}return!ae&&!isAroundEqual$2(le,ce)&&(oe+=windingLine$1(se,le,ue,ce,ne,ie)||0),oe!==0}function contain$3(ee,te,ae){return containPath$1(ee,0,!1,te,ae)}function containStroke$5(ee,te,ae,ne){return containPath$1(ee,te,!0,ae,ne)}path.contain=contain$3;path.containStroke=containStroke$5;var Displayable$3=Displayable_1,zrUtil$g=util$a,PathProxy$4=PathProxy_1,pathContain=path,Pattern=Pattern_1,getCanvasPattern=Pattern.prototype.getCanvasPattern,abs$1=Math.abs,pathProxyForDraw$1=new PathProxy$4(!0);function Path$g(ee){Displayable$3.call(this,ee),this.path=null}Path$g.prototype={constructor:Path$g,type:"path",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(ee,te){var ae=this.style,ne=this.path||pathProxyForDraw$1,ie=ae.hasStroke(),oe=ae.hasFill(),se=ae.fill,le=ae.stroke,ue=oe&&!!se.colorStops,ce=ie&&!!le.colorStops,de=oe&&!!se.image,he=ie&&!!le.image;if(ae.bind(ee,this,te),this.setTransform(ee),this.__dirty){var fe;ue&&(fe=fe||this.getBoundingRect(),this._fillGradient=ae.getGradient(ee,se,fe)),ce&&(fe=fe||this.getBoundingRect(),this._strokeGradient=ae.getGradient(ee,le,fe))}ue?ee.fillStyle=this._fillGradient:de&&(ee.fillStyle=getCanvasPattern.call(se,ee)),ce?ee.strokeStyle=this._strokeGradient:he&&(ee.strokeStyle=getCanvasPattern.call(le,ee));var pe=ae.lineDash,ve=ae.lineDashOffset,ge=!!ee.setLineDash,me=this.getGlobalScale();if(ne.setScale(me[0],me[1],this.segmentIgnoreThreshold),this.__dirtyPath||pe&&!ge&&ie?(ne.beginPath(ee),pe&&!ge&&(ne.setLineDash(pe),ne.setLineDashOffset(ve)),this.buildPath(ne,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(ee.beginPath(),this.path.rebuildPath(ee)),oe)if(ae.fillOpacity!=null){var ye=ee.globalAlpha;ee.globalAlpha=ae.fillOpacity*ae.opacity,ne.fill(ee),ee.globalAlpha=ye}else ne.fill(ee);if(pe&&ge&&(ee.setLineDash(pe),ee.lineDashOffset=ve),ie)if(ae.strokeOpacity!=null){var ye=ee.globalAlpha;ee.globalAlpha=ae.strokeOpacity*ae.opacity,ne.stroke(ee),ee.globalAlpha=ye}else ne.stroke(ee);pe&&ge&&ee.setLineDash([]),ae.text!=null&&(this.restoreTransform(ee),this.drawRectText(ee,this.getBoundingRect()))},buildPath:function(ee,te,ae){},createPathProxy:function(){this.path=new PathProxy$4},getBoundingRect:function(){var ee=this._rect,te=this.style,ae=!ee;if(ae){var ne=this.path;ne||(ne=this.path=new PathProxy$4),this.__dirtyPath&&(ne.beginPath(),this.buildPath(ne,this.shape,!1)),ee=ne.getBoundingRect()}if(this._rect=ee,te.hasStroke()){var ie=this._rectWithStroke||(this._rectWithStroke=ee.clone());if(this.__dirty||ae){ie.copy(ee);var oe=te.lineWidth,se=te.strokeNoScale?this.getLineScale():1;te.hasFill()||(oe=Math.max(oe,this.strokeContainThreshold||4)),se>1e-10&&(ie.width+=oe/se,ie.height+=oe/se,ie.x-=oe/se/2,ie.y-=oe/se/2)}return ie}return ee},contain:function(ee,te){var ae=this.transformCoordToLocal(ee,te),ne=this.getBoundingRect(),ie=this.style;if(ee=ae[0],te=ae[1],ne.contain(ee,te)){var oe=this.path.data;if(ie.hasStroke()){var se=ie.lineWidth,le=ie.strokeNoScale?this.getLineScale():1;if(le>1e-10&&(ie.hasFill()||(se=Math.max(se,this.strokeContainThreshold)),pathContain.containStroke(oe,se/le,ee,te)))return!0}if(ie.hasFill())return pathContain.contain(oe,ee,te)}return!1},dirty:function(ee){ee==null&&(ee=!0),ee&&(this.__dirtyPath=ee,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(ee){return this.animate("shape",ee)},attrKV:function(ee,te){ee==="shape"?(this.setShape(te),this.__dirtyPath=!0,this._rect=null):Displayable$3.prototype.attrKV.call(this,ee,te)},setShape:function(ee,te){var ae=this.shape;if(ae){if(zrUtil$g.isObject(ee))for(var ne in ee)ee.hasOwnProperty(ne)&&(ae[ne]=ee[ne]);else ae[ee]=te;this.dirty(!0)}return this},getLineScale:function(){var ee=this.transform;return ee&&abs$1(ee[0]-1)>1e-10&&abs$1(ee[3]-1)>1e-10?Math.sqrt(abs$1(ee[0]*ee[3]-ee[2]*ee[1])):1}};Path$g.extend=function(ee){var te=function(ne){Path$g.call(this,ne),ee.style&&this.style.extendFrom(ee.style,!1);var ie=ee.shape;if(ie){this.shape=this.shape||{};var oe=this.shape;for(var se in ie)!oe.hasOwnProperty(se)&&ie.hasOwnProperty(se)&&(oe[se]=ie[se])}ee.init&&ee.init.call(this,ne)};zrUtil$g.inherits(te,Path$g);for(var ae in ee)ae!=="style"&&ae!=="shape"&&(te.prototype[ae]=ee[ae]);return te};zrUtil$g.inherits(Path$g,Displayable$3);var _default$N=Path$g,Path_1=_default$N,PathProxy$3=PathProxy_1,_vector$2=vector$3,v2ApplyTransform$1=_vector$2.applyTransform,CMD$5=PathProxy$3.CMD,points$4=[[],[],[]],mathSqrt$5=Math.sqrt,mathAtan2$1=Math.atan2;function _default$M(ee,te){var ae=ee.data,ne,ie,oe,se,le,ue,ce=CMD$5.M,de=CMD$5.C,he=CMD$5.L,fe=CMD$5.R,pe=CMD$5.A,ve=CMD$5.Q;for(oe=0,se=0;oe<ae.length;){switch(ne=ae[oe++],se=oe,ie=0,ne){case ce:ie=1;break;case he:ie=1;break;case de:ie=3;break;case ve:ie=2;break;case pe:var ge=te[4],me=te[5],ye=mathSqrt$5(te[0]*te[0]+te[1]*te[1]),_e=mathSqrt$5(te[2]*te[2]+te[3]*te[3]),be=mathAtan2$1(-te[1]/_e,te[0]/ye);ae[oe]*=ye,ae[oe++]+=ge,ae[oe]*=_e,ae[oe++]+=me,ae[oe++]*=ye,ae[oe++]*=_e,ae[oe++]+=be,ae[oe++]+=be,oe+=2,se=oe;break;case fe:ue[0]=ae[oe++],ue[1]=ae[oe++],v2ApplyTransform$1(ue,ue,te),ae[se++]=ue[0],ae[se++]=ue[1],ue[0]+=ae[oe++],ue[1]+=ae[oe++],v2ApplyTransform$1(ue,ue,te),ae[se++]=ue[0],ae[se++]=ue[1]}for(le=0;le<ie;le++){var ue=points$4[le];ue[0]=ae[oe++],ue[1]=ae[oe++],v2ApplyTransform$1(ue,ue,te),ae[se++]=ue[0],ae[se++]=ue[1]}}}var transformPath$2=_default$M,Path$f=Path_1,PathProxy$2=PathProxy_1,transformPath$1=transformPath$2,mathSqrt$4=Math.sqrt,mathSin$5=Math.sin,mathCos$5=Math.cos,PI$a=Math.PI,vMag$1=function(ee){return Math.sqrt(ee[0]*ee[0]+ee[1]*ee[1])},vRatio$1=function(ee,te){return(ee[0]*te[0]+ee[1]*te[1])/(vMag$1(ee)*vMag$1(te))},vAngle$1=function(ee,te){return(ee[0]*te[1]<ee[1]*te[0]?-1:1)*Math.acos(vRatio$1(ee,te))};function processArc$1(ee,te,ae,ne,ie,oe,se,le,ue,ce,de){var he=ue*(PI$a/180),fe=mathCos$5(he)*(ee-ae)/2+mathSin$5(he)*(te-ne)/2,pe=-1*mathSin$5(he)*(ee-ae)/2+mathCos$5(he)*(te-ne)/2,ve=fe*fe/(se*se)+pe*pe/(le*le);ve>1&&(se*=mathSqrt$4(ve),le*=mathSqrt$4(ve));var ge=(ie===oe?-1:1)*mathSqrt$4((se*se*(le*le)-se*se*(pe*pe)-le*le*(fe*fe))/(se*se*(pe*pe)+le*le*(fe*fe)))||0,me=ge*se*pe/le,ye=ge*-le*fe/se,_e=(ee+ae)/2+mathCos$5(he)*me-mathSin$5(he)*ye,be=(te+ne)/2+mathSin$5(he)*me+mathCos$5(he)*ye,xe=vAngle$1([1,0],[(fe-me)/se,(pe-ye)/le]),$e=[(fe-me)/se,(pe-ye)/le],Se=[(-1*fe-me)/se,(-1*pe-ye)/le],we=vAngle$1($e,Se);vRatio$1($e,Se)<=-1&&(we=PI$a),vRatio$1($e,Se)>=1&&(we=0),oe===0&&we>0&&(we=we-2*PI$a),oe===1&&we<0&&(we=we+2*PI$a),de.addData(ce,_e,be,se,le,xe,we,he,oe)}var commandReg$1=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,numberReg$2=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function createPathProxyFromString$1(ee){if(!ee)return new PathProxy$2;for(var te=0,ae=0,ne=te,ie=ae,oe,se=new PathProxy$2,le=PathProxy$2.CMD,ue=ee.match(commandReg$1),ce=0;ce<ue.length;ce++){for(var de=ue[ce],he=de.charAt(0),fe,pe=de.match(numberReg$2)||[],ve=pe.length,ge=0;ge<ve;ge++)pe[ge]=parseFloat(pe[ge]);for(var me=0;me<ve;){var ye,_e,be,xe,$e,Se,we,Ae=te,Te=ae;switch(he){case"l":te+=pe[me++],ae+=pe[me++],fe=le.L,se.addData(fe,te,ae);break;case"L":te=pe[me++],ae=pe[me++],fe=le.L,se.addData(fe,te,ae);break;case"m":te+=pe[me++],ae+=pe[me++],fe=le.M,se.addData(fe,te,ae),ne=te,ie=ae,he="l";break;case"M":te=pe[me++],ae=pe[me++],fe=le.M,se.addData(fe,te,ae),ne=te,ie=ae,he="L";break;case"h":te+=pe[me++],fe=le.L,se.addData(fe,te,ae);break;case"H":te=pe[me++],fe=le.L,se.addData(fe,te,ae);break;case"v":ae+=pe[me++],fe=le.L,se.addData(fe,te,ae);break;case"V":ae=pe[me++],fe=le.L,se.addData(fe,te,ae);break;case"C":fe=le.C,se.addData(fe,pe[me++],pe[me++],pe[me++],pe[me++],pe[me++],pe[me++]),te=pe[me-2],ae=pe[me-1];break;case"c":fe=le.C,se.addData(fe,pe[me++]+te,pe[me++]+ae,pe[me++]+te,pe[me++]+ae,pe[me++]+te,pe[me++]+ae),te+=pe[me-2],ae+=pe[me-1];break;case"S":ye=te,_e=ae;var De=se.len(),Me=se.data;oe===le.C&&(ye+=te-Me[De-4],_e+=ae-Me[De-3]),fe=le.C,Ae=pe[me++],Te=pe[me++],te=pe[me++],ae=pe[me++],se.addData(fe,ye,_e,Ae,Te,te,ae);break;case"s":ye=te,_e=ae;var De=se.len(),Me=se.data;oe===le.C&&(ye+=te-Me[De-4],_e+=ae-Me[De-3]),fe=le.C,Ae=te+pe[me++],Te=ae+pe[me++],te+=pe[me++],ae+=pe[me++],se.addData(fe,ye,_e,Ae,Te,te,ae);break;case"Q":Ae=pe[me++],Te=pe[me++],te=pe[me++],ae=pe[me++],fe=le.Q,se.addData(fe,Ae,Te,te,ae);break;case"q":Ae=pe[me++]+te,Te=pe[me++]+ae,te+=pe[me++],ae+=pe[me++],fe=le.Q,se.addData(fe,Ae,Te,te,ae);break;case"T":ye=te,_e=ae;var De=se.len(),Me=se.data;oe===le.Q&&(ye+=te-Me[De-4],_e+=ae-Me[De-3]),te=pe[me++],ae=pe[me++],fe=le.Q,se.addData(fe,ye,_e,te,ae);break;case"t":ye=te,_e=ae;var De=se.len(),Me=se.data;oe===le.Q&&(ye+=te-Me[De-4],_e+=ae-Me[De-3]),te+=pe[me++],ae+=pe[me++],fe=le.Q,se.addData(fe,ye,_e,te,ae);break;case"A":be=pe[me++],xe=pe[me++],$e=pe[me++],Se=pe[me++],we=pe[me++],Ae=te,Te=ae,te=pe[me++],ae=pe[me++],fe=le.A,processArc$1(Ae,Te,te,ae,Se,we,be,xe,$e,fe,se);break;case"a":be=pe[me++],xe=pe[me++],$e=pe[me++],Se=pe[me++],we=pe[me++],Ae=te,Te=ae,te+=pe[me++],ae+=pe[me++],fe=le.A,processArc$1(Ae,Te,te,ae,Se,we,be,xe,$e,fe,se);break}}(he==="z"||he==="Z")&&(fe=le.Z,se.addData(fe),te=ne,ae=ie),oe=fe}return se.toStatic(),se}function createPathOptions$1(ee,te){var ae=createPathProxyFromString$1(ee);return te=te||{},te.buildPath=function(ne){if(ne.setData){ne.setData(ae.data);var ie=ne.getContext();ie&&ne.rebuildPath(ie)}else{var ie=ne;ae.rebuildPath(ie)}},te.applyTransform=function(ne){transformPath$1(ae,ne),this.dirty(!0)},te}function createFromString$2(ee,te){return new Path$f(createPathOptions$1(ee,te))}function extendFromString$1(ee,te){return Path$f.extend(createPathOptions$1(ee,te))}function mergePath$3(ee,te){for(var ae=[],ne=ee.length,ie=0;ie<ne;ie++){var oe=ee[ie];oe.path||oe.createPathProxy(),oe.__dirtyPath&&oe.buildPath(oe.path,oe.shape,!0),ae.push(oe.path)}var se=new Path$f(te);return se.createPathProxy(),se.buildPath=function(le){le.appendPath(ae);var ue=le.getContext();ue&&le.rebuildPath(ue)},se}path$1.createFromString=createFromString$2;path$1.extendFromString=extendFromString$1;path$1.mergePath=mergePath$3;var Displayable$2=Displayable_1,zrUtil$f=util$a,textContain$3=text,textHelper=text$1,_constant=constant,ContextCachedBy=_constant.ContextCachedBy,Text$3=function(ee){Displayable$2.call(this,ee)};Text$3.prototype={constructor:Text$3,type:"text",brush:function(ee,te){var ae=this.style;this.__dirty&&textHelper.normalizeTextStyle(ae,!0),ae.fill=ae.stroke=ae.shadowBlur=ae.shadowColor=ae.shadowOffsetX=ae.shadowOffsetY=null;var ne=ae.text;if(ne!=null&&(ne+=""),!textHelper.needDrawText(ne,ae)){ee.__attrCachedBy=ContextCachedBy.NONE;return}this.setTransform(ee),textHelper.renderText(this,ee,ne,ae,null,te),this.restoreTransform(ee)},getBoundingRect:function(){var ee=this.style;if(this.__dirty&&textHelper.normalizeTextStyle(ee,!0),!this._rect){ee.text;var te=textContain$3.getBoundingRect(ee.text+"",ee.font,ee.textAlign,ee.textVerticalAlign,ee.textPadding,ee.textLineHeight,ee.rich);if(te.x+=ee.x||0,te.y+=ee.y||0,textHelper.getStroke(ee.textStroke,ee.textStrokeWidth)){var ae=ee.textStrokeWidth;te.x-=ae/2,te.y-=ae/2,te.width+=ae,te.height+=ae}this._rect=te}return this._rect}};zrUtil$f.inherits(Text$3,Displayable$2);var _default$L=Text$3,Text_1=_default$L,Path$e=Path_1,_default$K=Path$e.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(ee,te,ae){ae&&ee.moveTo(te.cx+te.r,te.cy),ee.arc(te.cx,te.cy,te.r,0,Math.PI*2,!0)}}),Circle$4=_default$K,env$4=env_1,shadowTemp=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]];function _default$J(ee){return env$4.browser.ie&&env$4.browser.version>=11?function(){var te=this.__clipPaths,ae=this.style,ne;if(te)for(var ie=0;ie<te.length;ie++){var oe=te[ie],se=oe&&oe.shape,le=oe&&oe.type;if(se&&(le==="sector"&&se.startAngle===se.endAngle||le==="rect"&&(!se.width||!se.height))){for(var ue=0;ue<shadowTemp.length;ue++)shadowTemp[ue][2]=ae[shadowTemp[ue][0]],ae[shadowTemp[ue][0]]=shadowTemp[ue][1];ne=!0;break}}if(ee.apply(this,arguments),ne)for(var ue=0;ue<shadowTemp.length;ue++)ae[shadowTemp[ue][0]]=shadowTemp[ue][2]}:ee}var fixClipWithShadow$1=_default$J,Path$d=Path_1,fixClipWithShadow=fixClipWithShadow$1,_default$I=Path$d.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},brush:fixClipWithShadow(Path$d.prototype.brush),buildPath:function(ee,te){var ae=te.cx,ne=te.cy,ie=Math.max(te.r0||0,0),oe=Math.max(te.r,0),se=te.startAngle,le=te.endAngle,ue=te.clockwise,ce=Math.cos(se),de=Math.sin(se);ee.moveTo(ce*ie+ae,de*ie+ne),ee.lineTo(ce*oe+ae,de*oe+ne),ee.arc(ae,ne,oe,se,le,!ue),ee.lineTo(Math.cos(le)*ie+ae,Math.sin(le)*ie+ne),ie!==0&&ee.arc(ae,ne,ie,le,se,ue),ee.closePath()}}),Sector$3=_default$I,Path$c=Path_1,_default$H=Path$c.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(ee,te){var ae=te.cx,ne=te.cy,ie=Math.PI*2;ee.moveTo(ae+te.r,ne),ee.arc(ae,ne,te.r,0,ie,!1),ee.moveTo(ae+te.r0,ne),ee.arc(ae,ne,te.r0,0,ie,!0)}}),Ring$3=_default$H,poly$1={},_vector$1=vector$3,v2Distance$1=_vector$1.distance;function interpolate(ee,te,ae,ne,ie,oe,se){var le=(ae-ee)*.5,ue=(ne-te)*.5;return(2*(te-ae)+le+ue)*se+(-3*(te-ae)-2*le-ue)*oe+le*ie+te}function _default$G(ee,te){for(var ae=ee.length,ne=[],ie=0,oe=1;oe<ae;oe++)ie+=v2Distance$1(ee[oe-1],ee[oe]);var se=ie/2;se=se<ae?ae:se;for(var oe=0;oe<se;oe++){var le=oe/(se-1)*(te?ae:ae-1),ue=Math.floor(le),ce=le-ue,de,he=ee[ue%ae],fe,pe;te?(de=ee[(ue-1+ae)%ae],fe=ee[(ue+1)%ae],pe=ee[(ue+2)%ae]):(de=ee[ue===0?ue:ue-1],fe=ee[ue>ae-2?ae-1:ue+1],pe=ee[ue>ae-3?ae-1:ue+2]);var ve=ce*ce,ge=ce*ve;ne.push([interpolate(de[0],he[0],fe[0],pe[0],ce,ve,ge),interpolate(de[1],he[1],fe[1],pe[1],ce,ve,ge)])}return ne}var smoothSpline$1=_default$G,_vector=vector$3,v2Min=_vector.min,v2Max=_vector.max,v2Scale=_vector.scale,v2Distance=_vector.distance,v2Add=_vector.add,v2Clone=_vector.clone,v2Sub=_vector.sub;function _default$F(ee,te,ae,ne){var ie=[],oe=[],se=[],le=[],ue,ce,de,he;if(ne){de=[1/0,1/0],he=[-1/0,-1/0];for(var fe=0,pe=ee.length;fe<pe;fe++)v2Min(de,de,ee[fe]),v2Max(he,he,ee[fe]);v2Min(de,de,ne[0]),v2Max(he,he,ne[1])}for(var fe=0,pe=ee.length;fe<pe;fe++){var ve=ee[fe];if(ae)ue=ee[fe?fe-1:pe-1],ce=ee[(fe+1)%pe];else if(fe===0||fe===pe-1){ie.push(v2Clone(ee[fe]));continue}else ue=ee[fe-1],ce=ee[fe+1];v2Sub(oe,ce,ue),v2Scale(oe,oe,te);var ge=v2Distance(ve,ue),me=v2Distance(ve,ce),ye=ge+me;ye!==0&&(ge/=ye,me/=ye),v2Scale(se,oe,-ge),v2Scale(le,oe,me);var _e=v2Add([],ve,se),be=v2Add([],ve,le);ne&&(v2Max(_e,_e,de),v2Min(_e,_e,he),v2Max(be,be,de),v2Min(be,be,he)),ie.push(_e),ie.push(be)}return ae&&ie.push(ie.shift()),ie}var smoothBezier$2=_default$F,smoothSpline=smoothSpline$1,smoothBezier$1=smoothBezier$2;function buildPath$3(ee,te,ae){var ne=te.points,ie=te.smooth;if(ne&&ne.length>=2){if(ie&&ie!=="spline"){var oe=smoothBezier$1(ne,ie,ae,te.smoothConstraint);ee.moveTo(ne[0][0],ne[0][1]);for(var se=ne.length,le=0;le<(ae?se:se-1);le++){var ue=oe[le*2],ce=oe[le*2+1],de=ne[(le+1)%se];ee.bezierCurveTo(ue[0],ue[1],ce[0],ce[1],de[0],de[1])}}else{ie==="spline"&&(ne=smoothSpline(ne,ae)),ee.moveTo(ne[0][0],ne[0][1]);for(var le=1,he=ne.length;le<he;le++)ee.lineTo(ne[le][0],ne[le][1])}ae&&ee.closePath()}}poly$1.buildPath=buildPath$3;var Path$b=Path_1,polyHelper$1=poly$1,_default$E=Path$b.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(ee,te){polyHelper$1.buildPath(ee,te,!0)}}),Polygon$4=_default$E,Path$a=Path_1,polyHelper=poly$1,_default$D=Path$a.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(ee,te){polyHelper.buildPath(ee,te,!1)}}),Polyline$6=_default$D,subPixelOptimize$4={},round$4=Math.round;function subPixelOptimizeLine$4(ee,te,ae){if(te){var ne=te.x1,ie=te.x2,oe=te.y1,se=te.y2;ee.x1=ne,ee.x2=ie,ee.y1=oe,ee.y2=se;var le=ae&&ae.lineWidth;le&&(round$4(ne*2)===round$4(ie*2)&&(ee.x1=ee.x2=subPixelOptimize$3(ne,le,!0)),round$4(oe*2)===round$4(se*2)&&(ee.y1=ee.y2=subPixelOptimize$3(oe,le,!0)))}}function subPixelOptimizeRect$4(ee,te,ae){if(te){var ne=te.x,ie=te.y,oe=te.width,se=te.height;ee.x=ne,ee.y=ie,ee.width=oe,ee.height=se;var le=ae&&ae.lineWidth;le&&(ee.x=subPixelOptimize$3(ne,le,!0),ee.y=subPixelOptimize$3(ie,le,!0),ee.width=Math.max(subPixelOptimize$3(ne+oe,le,!1)-ee.x,oe===0?0:1),ee.height=Math.max(subPixelOptimize$3(ie+se,le,!1)-ee.y,se===0?0:1))}}function subPixelOptimize$3(ee,te,ae){if(!te)return ee;var ne=round$4(ee*2);return(ne+round$4(te))%2===0?ne/2:(ne+(ae?1:-1))/2}subPixelOptimize$4.subPixelOptimizeLine=subPixelOptimizeLine$4;subPixelOptimize$4.subPixelOptimizeRect=subPixelOptimizeRect$4;subPixelOptimize$4.subPixelOptimize=subPixelOptimize$3;var Path$9=Path_1,roundRectHelper=roundRect,_subPixelOptimize$1=subPixelOptimize$4,subPixelOptimizeRect$3=_subPixelOptimize$1.subPixelOptimizeRect,subPixelOptimizeOutputShape$3={},_default$C=Path$9.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(ee,te){var ae,ne,ie,oe;this.subPixelOptimize?(subPixelOptimizeRect$3(subPixelOptimizeOutputShape$3,te,this.style),ae=subPixelOptimizeOutputShape$3.x,ne=subPixelOptimizeOutputShape$3.y,ie=subPixelOptimizeOutputShape$3.width,oe=subPixelOptimizeOutputShape$3.height,subPixelOptimizeOutputShape$3.r=te.r,te=subPixelOptimizeOutputShape$3):(ae=te.x,ne=te.y,ie=te.width,oe=te.height),te.r?roundRectHelper.buildPath(ee,te):ee.rect(ae,ne,ie,oe),ee.closePath()}}),Rect$6=_default$C,Path$8=Path_1,_subPixelOptimize=subPixelOptimize$4,subPixelOptimizeLine$3=_subPixelOptimize.subPixelOptimizeLine,subPixelOptimizeOutputShape$2={},_default$B=Path$8.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(ee,te){var ae,ne,ie,oe;this.subPixelOptimize?(subPixelOptimizeLine$3(subPixelOptimizeOutputShape$2,te,this.style),ae=subPixelOptimizeOutputShape$2.x1,ne=subPixelOptimizeOutputShape$2.y1,ie=subPixelOptimizeOutputShape$2.x2,oe=subPixelOptimizeOutputShape$2.y2):(ae=te.x1,ne=te.y1,ie=te.x2,oe=te.y2);var se=te.percent;se!==0&&(ee.moveTo(ae,ne),se<1&&(ie=ae*(1-se)+ie*se,oe=ne*(1-se)+oe*se),ee.lineTo(ie,oe))},pointAt:function(ee){var te=this.shape;return[te.x1*(1-ee)+te.x2*ee,te.y1*(1-ee)+te.y2*ee]}}),Line$6=_default$B,Path$7=Path_1,vec2=vector$3,_curve=curve$3,quadraticSubdivide$1=_curve.quadraticSubdivide,cubicSubdivide$1=_curve.cubicSubdivide,quadraticAt$2=_curve.quadraticAt,cubicAt$1=_curve.cubicAt,quadraticDerivativeAt$1=_curve.quadraticDerivativeAt,cubicDerivativeAt$1=_curve.cubicDerivativeAt,out$1=[];function someVectorAt$1(ee,te,ae){var ne=ee.cpx2,ie=ee.cpy2;return ne===null||ie===null?[(ae?cubicDerivativeAt$1:cubicAt$1)(ee.x1,ee.cpx1,ee.cpx2,ee.x2,te),(ae?cubicDerivativeAt$1:cubicAt$1)(ee.y1,ee.cpy1,ee.cpy2,ee.y2,te)]:[(ae?quadraticDerivativeAt$1:quadraticAt$2)(ee.x1,ee.cpx1,ee.x2,te),(ae?quadraticDerivativeAt$1:quadraticAt$2)(ee.y1,ee.cpy1,ee.y2,te)]}var _default$A=Path$7.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(ee,te){var ae=te.x1,ne=te.y1,ie=te.x2,oe=te.y2,se=te.cpx1,le=te.cpy1,ue=te.cpx2,ce=te.cpy2,de=te.percent;de!==0&&(ee.moveTo(ae,ne),ue==null||ce==null?(de<1&&(quadraticSubdivide$1(ae,se,ie,de,out$1),se=out$1[1],ie=out$1[2],quadraticSubdivide$1(ne,le,oe,de,out$1),le=out$1[1],oe=out$1[2]),ee.quadraticCurveTo(se,le,ie,oe)):(de<1&&(cubicSubdivide$1(ae,se,ue,ie,de,out$1),se=out$1[1],ue=out$1[2],ie=out$1[3],cubicSubdivide$1(ne,le,ce,oe,de,out$1),le=out$1[1],ce=out$1[2],oe=out$1[3]),ee.bezierCurveTo(se,le,ue,ce,ie,oe)))},pointAt:function(ee){return someVectorAt$1(this.shape,ee,!1)},tangentAt:function(ee){var te=someVectorAt$1(this.shape,ee,!0);return vec2.normalize(te,te)}}),BezierCurve$3=_default$A,Path$6=Path_1,_default$z=Path$6.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(ee,te){var ae=te.cx,ne=te.cy,ie=Math.max(te.r,0),oe=te.startAngle,se=te.endAngle,le=te.clockwise,ue=Math.cos(oe),ce=Math.sin(oe);ee.moveTo(ue*ie+ae,ce*ie+ne),ee.arc(ae,ne,ie,oe,se,!le)}}),Arc$3=_default$z,Path$5=Path_1,_default$y=Path$5.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var ee=this.__dirtyPath,te=this.shape.paths,ae=0;ae<te.length;ae++)ee=ee||te[ae].__dirtyPath;this.__dirtyPath=ee,this.__dirty=this.__dirty||ee},beforeBrush:function(){this._updatePathDirty();for(var ee=this.shape.paths||[],te=this.getGlobalScale(),ae=0;ae<ee.length;ae++)ee[ae].path||ee[ae].createPathProxy(),ee[ae].path.setScale(te[0],te[1],ee[ae].segmentIgnoreThreshold)},buildPath:function(ee,te){for(var ae=te.paths||[],ne=0;ne<ae.length;ne++)ae[ne].buildPath(ee,ae[ne].shape,!0)},afterBrush:function(){for(var ee=this.shape.paths||[],te=0;te<ee.length;te++)ee[te].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),Path$5.prototype.getBoundingRect.call(this)}}),CompoundPath$3=_default$y,Gradient$5=function(ee){this.colorStops=ee||[]};Gradient$5.prototype={constructor:Gradient$5,addColorStop:function(ee,te){this.colorStops.push({offset:ee,color:te})}};var _default$x=Gradient$5,Gradient_1=_default$x,zrUtil$e=util$a,Gradient$4=Gradient_1,LinearGradient$4=function(ee,te,ae,ne,ie,oe){this.x=ee??0,this.y=te??0,this.x2=ae??1,this.y2=ne??0,this.type="linear",this.global=oe||!1,Gradient$4.call(this,ie)};LinearGradient$4.prototype={constructor:LinearGradient$4};zrUtil$e.inherits(LinearGradient$4,Gradient$4);var _default$w=LinearGradient$4,LinearGradient_1=_default$w,zrUtil$d=util$a,Gradient$3=Gradient_1,RadialGradient$3=function(ee,te,ae,ne,ie){this.x=ee??.5,this.y=te??.5,this.r=ae??.5,this.type="radial",this.global=ie||!1,Gradient$3.call(this,ne)};RadialGradient$3.prototype={constructor:RadialGradient$3};zrUtil$d.inherits(RadialGradient$3,Gradient$3);var _default$v=RadialGradient$3,RadialGradient_1=_default$v,_util$a=util$a,inherits$2=_util$a.inherits,Displayble=Displayable_1,BoundingRect$4=BoundingRect_1;function IncrementalDisplayble(ee){Displayble.call(this,ee),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}IncrementalDisplayble.prototype.incremental=!0;IncrementalDisplayble.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1};IncrementalDisplayble.prototype.addDisplayable=function(ee,te){te?this._temporaryDisplayables.push(ee):this._displayables.push(ee),this.dirty()};IncrementalDisplayble.prototype.addDisplayables=function(ee,te){te=te||!1;for(var ae=0;ae<ee.length;ae++)this.addDisplayable(ee[ae],te)};IncrementalDisplayble.prototype.eachPendingDisplayable=function(ee){for(var te=this._cursor;te<this._displayables.length;te++)ee&&ee(this._displayables[te]);for(var te=0;te<this._temporaryDisplayables.length;te++)ee&&ee(this._temporaryDisplayables[te])};IncrementalDisplayble.prototype.update=function(){this.updateTransform();for(var ee=this._cursor;ee<this._displayables.length;ee++){var te=this._displayables[ee];te.parent=this,te.update(),te.parent=null}for(var ee=0;ee<this._temporaryDisplayables.length;ee++){var te=this._temporaryDisplayables[ee];te.parent=this,te.update(),te.parent=null}};IncrementalDisplayble.prototype.brush=function(ee,te){for(var ae=this._cursor;ae<this._displayables.length;ae++){var ne=this._displayables[ae];ne.beforeBrush&&ne.beforeBrush(ee),ne.brush(ee,ae===this._cursor?null:this._displayables[ae-1]),ne.afterBrush&&ne.afterBrush(ee)}this._cursor=ae;for(var ae=0;ae<this._temporaryDisplayables.length;ae++){var ne=this._temporaryDisplayables[ae];ne.beforeBrush&&ne.beforeBrush(ee),ne.brush(ee,ae===0?null:this._temporaryDisplayables[ae-1]),ne.afterBrush&&ne.afterBrush(ee)}this._temporaryDisplayables=[],this.notClear=!0};var m$3=[];IncrementalDisplayble.prototype.getBoundingRect=function(){if(!this._rect){for(var ee=new BoundingRect$4(1/0,1/0,-1/0,-1/0),te=0;te<this._displayables.length;te++){var ae=this._displayables[te],ne=ae.getBoundingRect().clone();ae.needLocalTransform()&&ne.applyTransform(ae.getLocalTransform(m$3)),ee.union(ne)}this._rect=ee}return this._rect};IncrementalDisplayble.prototype.contain=function(ee,te){var ae=this.transformCoordToLocal(ee,te),ne=this.getBoundingRect();if(ne.contain(ae[0],ae[1]))for(var ie=0;ie<this._displayables.length;ie++){var oe=this._displayables[ie];if(oe.contain(ee,te))return!0}return!1};inherits$2(IncrementalDisplayble,Displayble);var _default$u=IncrementalDisplayble,IncrementalDisplayable$3=_default$u,zrUtil$c=util$a,pathTool=path$1,colorTool=color$2,matrix$2=matrix$5,vector$1=vector$3,Path$4=Path_1,Transformable$2=Transformable_1,ZImage$1=Image$2;graphic$6.Image=ZImage$1;var Group$8=Group_1;graphic$6.Group=Group$8;var Text$2=Text_1;graphic$6.Text=Text$2;var Circle$3=Circle$4;graphic$6.Circle=Circle$3;var Sector$2=Sector$3;graphic$6.Sector=Sector$2;var Ring$2=Ring$3;graphic$6.Ring=Ring$2;var Polygon$3=Polygon$4;graphic$6.Polygon=Polygon$3;var Polyline$5=Polyline$6;graphic$6.Polyline=Polyline$5;var Rect$5=Rect$6;graphic$6.Rect=Rect$5;var Line$5=Line$6;graphic$6.Line=Line$5;var BezierCurve$2=BezierCurve$3;graphic$6.BezierCurve=BezierCurve$2;var Arc$2=Arc$3;graphic$6.Arc=Arc$2;var CompoundPath$2=CompoundPath$3;graphic$6.CompoundPath=CompoundPath$2;var LinearGradient$3=LinearGradient_1;graphic$6.LinearGradient=LinearGradient$3;var RadialGradient$2=RadialGradient_1;graphic$6.RadialGradient=RadialGradient$2;var BoundingRect$3=BoundingRect_1;graphic$6.BoundingRect=BoundingRect$3;var IncrementalDisplayable$2=IncrementalDisplayable$3;graphic$6.IncrementalDisplayable=IncrementalDisplayable$2;var subPixelOptimizeUtil=subPixelOptimize$4,mathMax$b=Math.max,mathMin$b=Math.min,EMPTY_OBJ$1={},Z2_EMPHASIS_LIFT$1=1,CACHED_LABEL_STYLE_PROPERTIES={color:"textFill",textBorderColor:"textStroke",textBorderWidth:"textStrokeWidth"},EMPHASIS$1="emphasis",NORMAL$1="normal",_highlightNextDigit$1=1,_highlightKeyMap$1={},_customShapeMap$1={};function extendShape$1(ee){return Path$4.extend(ee)}function extendPath$1(ee,te){return pathTool.extendFromString(ee,te)}function registerShape$1(ee,te){_customShapeMap$1[ee]=te}function getShapeClass$1(ee){if(_customShapeMap$1.hasOwnProperty(ee))return _customShapeMap$1[ee]}function makePath$1(ee,te,ae,ne){var ie=pathTool.createFromString(ee,te);return ae&&(ne==="center"&&(ae=centerGraphic$1(ae,ie.getBoundingRect())),resizePath$1(ie,ae)),ie}function makeImage$1(ee,te,ae){var ne=new ZImage$1({style:{image:ee,x:te.x,y:te.y,width:te.width,height:te.height},onload:function(ie){if(ae==="center"){var oe={width:ie.width,height:ie.height};ne.setStyle(centerGraphic$1(te,oe))}}});return ne}function centerGraphic$1(ee,te){var ae=te.width/te.height,ne=ee.height*ae,ie;ne<=ee.width?ie=ee.height:(ne=ee.width,ie=ne/ae);var oe=ee.x+ee.width/2,se=ee.y+ee.height/2;return{x:oe-ne/2,y:se-ie/2,width:ne,height:ie}}var mergePath$2=pathTool.mergePath;function resizePath$1(ee,te){if(ee.applyTransform){var ae=ee.getBoundingRect(),ne=ae.calculateTransform(te);ee.applyTransform(ne)}}function subPixelOptimizeLine$2(ee){return subPixelOptimizeUtil.subPixelOptimizeLine(ee.shape,ee.shape,ee.style),ee}function subPixelOptimizeRect$2(ee){return subPixelOptimizeUtil.subPixelOptimizeRect(ee.shape,ee.shape,ee.style),ee}var subPixelOptimize$2=subPixelOptimizeUtil.subPixelOptimize;function hasFillOrStroke$1(ee){return ee!=null&&ee!=="none"}var liftedColorMap=zrUtil$c.createHashMap(),liftedColorCount=0;function liftColor$1(ee){if(typeof ee!="string")return ee;var te=liftedColorMap.get(ee);return te||(te=colorTool.lift(ee,-.1),liftedColorCount<1e4&&(liftedColorMap.set(ee,te),liftedColorCount++)),te}function cacheElementStl(ee){if(ee.__hoverStlDirty){ee.__hoverStlDirty=!1;var te=ee.__hoverStl;if(!te){ee.__cachedNormalStl=ee.__cachedNormalZ2=null;return}var ae=ee.__cachedNormalStl={};ee.__cachedNormalZ2=ee.z2;var ne=ee.style;for(var ie in te)te[ie]!=null&&(ae[ie]=ne[ie]);ae.fill=ne.fill,ae.stroke=ne.stroke}}function singleEnterEmphasis$1(ee){var te=ee.__hoverStl;if(!(!te||ee.__highlighted)){var ae=ee.__zr,ne=ee.useHoverLayer&&ae&&ae.painter.type==="canvas";if(ee.__highlighted=ne?"layer":"plain",!(ee.isGroup||!ae&&ee.useHoverLayer)){var ie=ee,oe=ee.style;ne&&(ie=ae.addHover(ee),oe=ie.style),rollbackDefaultTextStyle(oe),ne||cacheElementStl(ie),oe.extendFrom(te),setDefaultHoverFillStroke(oe,te,"fill"),setDefaultHoverFillStroke(oe,te,"stroke"),applyDefaultTextStyle(oe),ne||(ee.dirty(!1),ee.z2+=Z2_EMPHASIS_LIFT$1)}}}function setDefaultHoverFillStroke(ee,te,ae){!hasFillOrStroke$1(te[ae])&&hasFillOrStroke$1(ee[ae])&&(ee[ae]=liftColor$1(ee[ae]))}function singleEnterNormal(ee){var te=ee.__highlighted;if(te&&(ee.__highlighted=!1,!ee.isGroup))if(te==="layer")ee.__zr&&ee.__zr.removeHover(ee);else{var ae=ee.style,ne=ee.__cachedNormalStl;ne&&(rollbackDefaultTextStyle(ae),ee.setStyle(ne),applyDefaultTextStyle(ae));var ie=ee.__cachedNormalZ2;ie!=null&&ee.z2-ie===Z2_EMPHASIS_LIFT$1&&(ee.z2=ie)}}function traverseUpdate(ee,te,ae){var ne=NORMAL$1,ie=NORMAL$1,oe;ee.__highlighted&&(ne=EMPHASIS$1,oe=!0),te(ee,ae),ee.__highlighted&&(ie=EMPHASIS$1,oe=!0),ee.isGroup&&ee.traverse(function(se){!se.isGroup&&te(se,ae)}),oe&&ee.__highDownOnUpdate&&ee.__highDownOnUpdate(ne,ie)}function setElementHoverStyle(ee,te){te=ee.__hoverStl=te!==!1&&(ee.hoverStyle||te||{}),ee.__hoverStlDirty=!0,ee.__highlighted&&(ee.__cachedNormalStl=null,singleEnterNormal(ee),singleEnterEmphasis$1(ee))}function onElementMouseOver(ee){!shouldSilent$1(this,ee)&&!this.__highByOuter&&traverseUpdate(this,singleEnterEmphasis$1)}function onElementMouseOut(ee){!shouldSilent$1(this,ee)&&!this.__highByOuter&&traverseUpdate(this,singleEnterNormal)}function onElementEmphasisEvent(ee){this.__highByOuter|=1<<(ee||0),traverseUpdate(this,singleEnterEmphasis$1)}function onElementNormalEvent(ee){!(this.__highByOuter&=~(1<<(ee||0)))&&traverseUpdate(this,singleEnterNormal)}function shouldSilent$1(ee,te){return ee.__highDownSilentOnTouch&&te.zrByTouch}function setHoverStyle(ee,te){setAsHighDownDispatcher$1(ee,!0),traverseUpdate(ee,setElementHoverStyle,te)}function setAsHighDownDispatcher$1(ee,te){var ae=te===!1;if(ee.__highDownSilentOnTouch=ee.highDownSilentOnTouch,ee.__highDownOnUpdate=ee.highDownOnUpdate,!ae||ee.__highDownDispatcher){var ne=ae?"off":"on";ee[ne]("mouseover",onElementMouseOver)[ne]("mouseout",onElementMouseOut),ee[ne]("emphasis",onElementEmphasisEvent)[ne]("normal",onElementNormalEvent),ee.__highByOuter=ee.__highByOuter||0,ee.__highDownDispatcher=!ae}}function isHighDownDispatcher$1(ee){return!!(ee&&ee.__highDownDispatcher)}function getHighlightDigit$1(ee){var te=_highlightKeyMap$1[ee];return te==null&&_highlightNextDigit$1<=32&&(te=_highlightKeyMap$1[ee]=_highlightNextDigit$1++),te}function setLabelStyle$1(ee,te,ae,ne,ie,oe,se){ie=ie||EMPTY_OBJ$1;var le=ie.labelFetcher,ue=ie.labelDataIndex,ce=ie.labelDimIndex,de=ie.labelProp,he=ae.getShallow("show"),fe=ne.getShallow("show"),pe;(he||fe)&&(le&&(pe=le.getFormattedLabel(ue,"normal",null,ce,de)),pe==null&&(pe=zrUtil$c.isFunction(ie.defaultText)?ie.defaultText(ue,ie):ie.defaultText));var ve=he?pe:null,ge=fe?zrUtil$c.retrieve2(le?le.getFormattedLabel(ue,"emphasis",null,ce,de):null,pe):null;(ve!=null||ge!=null)&&(setTextStyle(ee,ae,oe,ie),setTextStyle(te,ne,se,ie,!0)),ee.text=ve,te.text=ge}function modifyLabelStyle(ee,te,ae){var ne=ee.style;te&&(rollbackDefaultTextStyle(ne),ee.setStyle(te),applyDefaultTextStyle(ne)),ne=ee.__hoverStl,ae&&ne&&(rollbackDefaultTextStyle(ne),zrUtil$c.extend(ne,ae),applyDefaultTextStyle(ne))}function setTextStyle(ee,te,ae,ne,ie){return setTextStyleCommon$1(ee,te,ne,ie),ae&&zrUtil$c.extend(ee,ae),ee}function setText(ee,te,ae){var ne={isRectText:!0},ie;ae===!1?ie=!0:ne.autoColor=ae,setTextStyleCommon$1(ee,te,ne,ie)}function setTextStyleCommon$1(ee,te,ae,ne){if(ae=ae||EMPTY_OBJ$1,ae.isRectText){var ie;ae.getTextPosition?ie=ae.getTextPosition(te,ne):(ie=te.getShallow("position")||(ne?null:"inside"),ie==="outside"&&(ie="top")),ee.textPosition=ie,ee.textOffset=te.getShallow("offset");var oe=te.getShallow("rotate");oe!=null&&(oe*=Math.PI/180),ee.textRotation=oe,ee.textDistance=zrUtil$c.retrieve2(te.getShallow("distance"),ne?null:5)}var se=te.ecModel,le=se&&se.option.textStyle,ue=getRichItemNames$1(te),ce;if(ue){ce={};for(var de in ue)if(ue.hasOwnProperty(de)){var he=te.getModel(["rich",de]);setTokenTextStyle$1(ce[de]={},he,le,ae,ne)}}return ee.rich=ce,setTokenTextStyle$1(ee,te,le,ae,ne,!0),ae.forceRich&&!ae.textStyle&&(ae.textStyle={}),ee}function getRichItemNames$1(ee){for(var te;ee&&ee!==ee.ecModel;){var ae=(ee.option||EMPTY_OBJ$1).rich;if(ae){te=te||{};for(var ne in ae)ae.hasOwnProperty(ne)&&(te[ne]=1)}ee=ee.parentModel}return te}function setTokenTextStyle$1(ee,te,ae,ne,ie,oe){ae=!ie&&ae||EMPTY_OBJ$1,ee.textFill=getAutoColor(te.getShallow("color"),ne)||ae.color,ee.textStroke=getAutoColor(te.getShallow("textBorderColor"),ne)||ae.textBorderColor,ee.textStrokeWidth=zrUtil$c.retrieve2(te.getShallow("textBorderWidth"),ae.textBorderWidth),ie||(oe&&(ee.insideRollbackOpt=ne,applyDefaultTextStyle(ee)),ee.textFill==null&&(ee.textFill=ne.autoColor)),ee.fontStyle=te.getShallow("fontStyle")||ae.fontStyle,ee.fontWeight=te.getShallow("fontWeight")||ae.fontWeight,ee.fontSize=te.getShallow("fontSize")||ae.fontSize,ee.fontFamily=te.getShallow("fontFamily")||ae.fontFamily,ee.textAlign=te.getShallow("align"),ee.textVerticalAlign=te.getShallow("verticalAlign")||te.getShallow("baseline"),ee.textLineHeight=te.getShallow("lineHeight"),ee.textWidth=te.getShallow("width"),ee.textHeight=te.getShallow("height"),ee.textTag=te.getShallow("tag"),(!oe||!ne.disableBox)&&(ee.textBackgroundColor=getAutoColor(te.getShallow("backgroundColor"),ne),ee.textPadding=te.getShallow("padding"),ee.textBorderColor=getAutoColor(te.getShallow("borderColor"),ne),ee.textBorderWidth=te.getShallow("borderWidth"),ee.textBorderRadius=te.getShallow("borderRadius"),ee.textBoxShadowColor=te.getShallow("shadowColor"),ee.textBoxShadowBlur=te.getShallow("shadowBlur"),ee.textBoxShadowOffsetX=te.getShallow("shadowOffsetX"),ee.textBoxShadowOffsetY=te.getShallow("shadowOffsetY")),ee.textShadowColor=te.getShallow("textShadowColor")||ae.textShadowColor,ee.textShadowBlur=te.getShallow("textShadowBlur")||ae.textShadowBlur,ee.textShadowOffsetX=te.getShallow("textShadowOffsetX")||ae.textShadowOffsetX,ee.textShadowOffsetY=te.getShallow("textShadowOffsetY")||ae.textShadowOffsetY}function getAutoColor(ee,te){return ee!=="auto"?ee:te&&te.autoColor?te.autoColor:null}function applyDefaultTextStyle(ee){var te=ee.textPosition,ae=ee.insideRollbackOpt,ne;if(ae&&ee.textFill==null){var ie=ae.autoColor,oe=ae.isRectText,se=ae.useInsideStyle,le=se!==!1&&(se===!0||oe&&te&&typeof te=="string"&&te.indexOf("inside")>=0),ue=!le&&ie!=null;(le||ue)&&(ne={textFill:ee.textFill,textStroke:ee.textStroke,textStrokeWidth:ee.textStrokeWidth}),le&&(ee.textFill="#fff",ee.textStroke==null&&(ee.textStroke=ie,ee.textStrokeWidth==null&&(ee.textStrokeWidth=2))),ue&&(ee.textFill=ie)}ee.insideRollback=ne}function rollbackDefaultTextStyle(ee){var te=ee.insideRollback;te&&(ee.textFill=te.textFill,ee.textStroke=te.textStroke,ee.textStrokeWidth=te.textStrokeWidth,ee.insideRollback=null)}function getFont$1(ee,te){var ae=te&&te.getModel("textStyle");return zrUtil$c.trim([ee.fontStyle||ae&&ae.getShallow("fontStyle")||"",ee.fontWeight||ae&&ae.getShallow("fontWeight")||"",(ee.fontSize||ae&&ae.getShallow("fontSize")||12)+"px",ee.fontFamily||ae&&ae.getShallow("fontFamily")||"sans-serif"].join(" "))}function animateOrSetProps$1(ee,te,ae,ne,ie,oe){typeof ie=="function"&&(oe=ie,ie=null);var se=ne&&ne.isAnimationEnabled();if(se){var le=ee?"Update":"",ue=ne.getShallow("animationDuration"+le),ce=ne.getShallow("animationEasing"+le),de=ne.getShallow("animationDelay"+le);typeof de=="function"&&(de=de(ie,ne.getAnimationDelayParams?ne.getAnimationDelayParams(te,ie):null)),typeof ue=="function"&&(ue=ue(ie)),ue>0?te.animateTo(ae,ue,de||0,ce,oe,!!oe):(te.stopAnimation(),te.attr(ae),oe&&oe())}else te.stopAnimation(),te.attr(ae),oe&&oe()}function updateProps$2(ee,te,ae,ne,ie){animateOrSetProps$1(!0,ee,te,ae,ne,ie)}function initProps$1(ee,te,ae,ne,ie){animateOrSetProps$1(!1,ee,te,ae,ne,ie)}function getTransform$2(ee,te){for(var ae=matrix$2.identity([]);ee&&ee!==te;)matrix$2.mul(ae,ee.getLocalTransform(),ae),ee=ee.parent;return ae}function applyTransform$2(ee,te,ae){return te&&!zrUtil$c.isArrayLike(te)&&(te=Transformable$2.getLocalTransform(te)),ae&&(te=matrix$2.invert([],te)),vector$1.applyTransform([],ee,te)}function transformDirection$1(ee,te,ae){var ne=te[4]===0||te[5]===0||te[0]===0?1:Math.abs(2*te[4]/te[0]),ie=te[4]===0||te[5]===0||te[2]===0?1:Math.abs(2*te[4]/te[2]),oe=[ee==="left"?-ne:ee==="right"?ne:0,ee==="top"?-ie:ee==="bottom"?ie:0];return oe=applyTransform$2(oe,te,ae),Math.abs(oe[0])>Math.abs(oe[1])?oe[0]>0?"right":"left":oe[1]>0?"bottom":"top"}function groupTransition$1(ee,te,ae,ne){if(!ee||!te)return;function ie(le){var ue={};return le.traverse(function(ce){!ce.isGroup&&ce.anid&&(ue[ce.anid]=ce)}),ue}function oe(le){var ue={position:vector$1.clone(le.position),rotation:le.rotation};return le.shape&&(ue.shape=zrUtil$c.extend({},le.shape)),ue}var se=ie(ee);te.traverse(function(le){if(!le.isGroup&&le.anid){var ue=se[le.anid];if(ue){var ce=oe(le);le.attr(oe(ue)),updateProps$2(le,ce,ae,le.dataIndex)}}})}function clipPointsByRect$1(ee,te){return zrUtil$c.map(ee,function(ae){var ne=ae[0];ne=mathMax$b(ne,te.x),ne=mathMin$b(ne,te.x+te.width);var ie=ae[1];return ie=mathMax$b(ie,te.y),ie=mathMin$b(ie,te.y+te.height),[ne,ie]})}function clipRectByRect$1(ee,te){var ae=mathMax$b(ee.x,te.x),ne=mathMin$b(ee.x+ee.width,te.x+te.width),ie=mathMax$b(ee.y,te.y),oe=mathMin$b(ee.y+ee.height,te.y+te.height);if(ne>=ae&&oe>=ie)return{x:ae,y:ie,width:ne-ae,height:oe-ie}}function createIcon$1(ee,te,ae){te=zrUtil$c.extend({rectHover:!0},te);var ne=te.style={strokeNoScale:!0};if(ae=ae||{x:-1,y:-1,width:2,height:2},ee)return ee.indexOf("image://")===0?(ne.image=ee.slice(8),zrUtil$c.defaults(ne,ae),new ZImage$1(te)):makePath$1(ee.replace("path://",""),te,ae,"center")}function linePolygonIntersect$1(ee,te,ae,ne,ie){for(var oe=0,se=ie[ie.length-1];oe<ie.length;oe++){var le=ie[oe];if(lineLineIntersect$2(ee,te,ae,ne,le[0],le[1],se[0],se[1]))return!0;se=le}}function lineLineIntersect$2(ee,te,ae,ne,ie,oe,se,le){var ue=ae-ee,ce=ne-te,de=se-ie,he=le-oe,fe=crossProduct2d$2(de,he,ue,ce);if(nearZero$1(fe))return!1;var pe=ee-ie,ve=te-oe,ge=crossProduct2d$2(pe,ve,ue,ce)/fe;if(ge<0||ge>1)return!1;var me=crossProduct2d$2(pe,ve,de,he)/fe;return!(me<0||me>1)}function crossProduct2d$2(ee,te,ae,ne){return ee*ne-ae*te}function nearZero$1(ee){return ee<=1e-6&&ee>=-1e-6}registerShape$1("circle",Circle$3);registerShape$1("sector",Sector$2);registerShape$1("ring",Ring$2);registerShape$1("polygon",Polygon$3);registerShape$1("polyline",Polyline$5);registerShape$1("rect",Rect$5);registerShape$1("line",Line$5);registerShape$1("bezierCurve",BezierCurve$2);registerShape$1("arc",Arc$2);graphic$6.Z2_EMPHASIS_LIFT=Z2_EMPHASIS_LIFT$1;graphic$6.CACHED_LABEL_STYLE_PROPERTIES=CACHED_LABEL_STYLE_PROPERTIES;graphic$6.extendShape=extendShape$1;graphic$6.extendPath=extendPath$1;graphic$6.registerShape=registerShape$1;graphic$6.getShapeClass=getShapeClass$1;graphic$6.makePath=makePath$1;graphic$6.makeImage=makeImage$1;graphic$6.mergePath=mergePath$2;graphic$6.resizePath=resizePath$1;graphic$6.subPixelOptimizeLine=subPixelOptimizeLine$2;graphic$6.subPixelOptimizeRect=subPixelOptimizeRect$2;graphic$6.subPixelOptimize=subPixelOptimize$2;graphic$6.setElementHoverStyle=setElementHoverStyle;graphic$6.setHoverStyle=setHoverStyle;graphic$6.setAsHighDownDispatcher=setAsHighDownDispatcher$1;graphic$6.isHighDownDispatcher=isHighDownDispatcher$1;graphic$6.getHighlightDigit=getHighlightDigit$1;graphic$6.setLabelStyle=setLabelStyle$1;graphic$6.modifyLabelStyle=modifyLabelStyle;graphic$6.setTextStyle=setTextStyle;graphic$6.setText=setText;graphic$6.getFont=getFont$1;graphic$6.updateProps=updateProps$2;graphic$6.initProps=initProps$1;graphic$6.getTransform=getTransform$2;graphic$6.applyTransform=applyTransform$2;graphic$6.transformDirection=transformDirection$1;graphic$6.groupTransition=groupTransition$1;graphic$6.clipPointsByRect=clipPointsByRect$1;graphic$6.clipRectByRect=clipRectByRect$1;graphic$6.createIcon=createIcon$1;graphic$6.linePolygonIntersect=linePolygonIntersect$1;graphic$6.lineLineIntersect=lineLineIntersect$2;var textContain$2=text,graphicUtil$1=graphic$6,PATH_COLOR$1=["textStyle","color"],_default$t={getTextColor:function(ee){var te=this.ecModel;return this.getShallow("color")||(!ee&&te?te.get(PATH_COLOR$1):null)},getFont:function(){return graphicUtil$1.getFont({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(ee){return textContain$2.getBoundingRect(ee,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}},textStyle=_default$t,makeStyleMapper$1=makeStyleMapper$4,getItemStyle$1=makeStyleMapper$1([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),_default$s={getItemStyle:function(ee,te){var ae=getItemStyle$1(this,ee,te),ne=this.getBorderLineDash();return ne&&(ae.lineDash=ne),ae},getBorderLineDash:function(){var ee=this.get("borderType");return ee==="solid"||ee==null?null:ee==="dashed"?[5,5]:[1,1]}},itemStyle=_default$s,zrUtil$b=util$a,env$3=env_1,_model$7=model,makeInner$4=_model$7.makeInner,_clazz$2=clazz,enableClassExtend$1=_clazz$2.enableClassExtend,enableClassCheck$1=_clazz$2.enableClassCheck,lineStyleMixin=lineStyle,areaStyleMixin=areaStyle,textStyleMixin=textStyle,itemStyleMixin=itemStyle,mixin$2=zrUtil$b.mixin,inner$q=makeInner$4();function Model$4(ee,te,ae){this.parentModel=te,this.ecModel=ae,this.option=ee}Model$4.prototype={constructor:Model$4,init:null,mergeOption:function(ee){zrUtil$b.merge(this.option,ee,!0)},get:function(ee,te){return ee==null?this.option:doGet(this.option,this.parsePath(ee),!te&&getParent(this,ee))},getShallow:function(ee,te){var ae=this.option,ne=ae==null?ae:ae[ee],ie=!te&&getParent(this,ee);return ne==null&&ie&&(ne=ie.getShallow(ee)),ne},getModel:function(ee,te){var ae=ee==null?this.option:doGet(this.option,ee=this.parsePath(ee)),ne;return te=te||(ne=getParent(this,ee))&&ne.getModel(ee),new Model$4(ae,te,this.ecModel)},isEmpty:function(){return this.option==null},restoreData:function(){},clone:function(){var ee=this.constructor;return new ee(zrUtil$b.clone(this.option))},setReadOnly:function(ee){},parsePath:function(ee){return typeof ee=="string"&&(ee=ee.split(".")),ee},customizeGetParent:function(ee){inner$q(this).getParent=ee},isAnimationEnabled:function(){if(!env$3.node){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}};function doGet(ee,te,ae){for(var ne=0;ne<te.length&&!(te[ne]&&(ee=ee&&typeof ee=="object"?ee[te[ne]]:null,ee==null));ne++);return ee==null&&ae&&(ee=ae.get(te)),ee}function getParent(ee,te){var ae=inner$q(ee).getParent;return ae?ae.call(ee,te):ee.parentModel}enableClassExtend$1(Model$4);enableClassCheck$1(Model$4);mixin$2(Model$4,lineStyleMixin);mixin$2(Model$4,areaStyleMixin);mixin$2(Model$4,textStyleMixin);mixin$2(Model$4,itemStyleMixin);var _default$r=Model$4,Model_1=_default$r,component={},zrUtil$a=util$a,_clazz$1=clazz,parseClassType$2=_clazz$1.parseClassType,base$1=0;function getUID$2(ee){return[ee||"",base$1++,Math.random().toFixed(5)].join("_")}function enableSubTypeDefaulter$1(ee){var te={};return ee.registerSubTypeDefaulter=function(ae,ne){ae=parseClassType$2(ae),te[ae.main]=ne},ee.determineSubType=function(ae,ne){var ie=ne.type;if(!ie){var oe=parseClassType$2(ae).main;ee.hasSubTypes(ae)&&te[oe]&&(ie=te[oe](ne))}return ie},ee}function enableTopologicalTravel$1(ee,te){ee.topologicalTravel=function(oe,se,le,ue){if(!oe.length)return;var ce=ae(se),de=ce.graph,he=ce.noEntryList,fe={};for(zrUtil$a.each(oe,function(_e){fe[_e]=!0});he.length;){var pe=he.pop(),ve=de[pe],ge=!!fe[pe];ge&&(le.call(ue,pe,ve.originalDeps.slice()),delete fe[pe]),zrUtil$a.each(ve.successor,ge?ye:me)}zrUtil$a.each(fe,function(){throw new Error("Circle dependency may exists")});function me(_e){de[_e].entryCount--,de[_e].entryCount===0&&he.push(_e)}function ye(_e){fe[_e]=!0,me(_e)}};function ae(oe){var se={},le=[];return zrUtil$a.each(oe,function(ue){var ce=ne(se,ue),de=ce.originalDeps=te(ue),he=ie(de,oe);ce.entryCount=he.length,ce.entryCount===0&&le.push(ue),zrUtil$a.each(he,function(fe){zrUtil$a.indexOf(ce.predecessor,fe)<0&&ce.predecessor.push(fe);var pe=ne(se,fe);zrUtil$a.indexOf(pe.successor,fe)<0&&pe.successor.push(ue)})}),{graph:se,noEntryList:le}}function ne(oe,se){return oe[se]||(oe[se]={predecessor:[],successor:[]}),oe[se]}function ie(oe,se){var le=[];return zrUtil$a.each(oe,function(ue){zrUtil$a.indexOf(se,ue)>=0&&le.push(ue)}),le}}component.getUID=getUID$2;component.enableSubTypeDefaulter=enableSubTypeDefaulter$1;component.enableTopologicalTravel=enableTopologicalTravel$1;var layout$5={},number$1={},hasRequiredNumber;function requireNumber(){if(hasRequiredNumber)return number$1;hasRequiredNumber=1;var ee=util$a,te=1e-4;function ae(Se){return Se.replace(/^\s+|\s+$/g,"")}function ne(Se,we,Ae,Te){var De=we[1]-we[0],Me=Ae[1]-Ae[0];if(De===0)return Me===0?Ae[0]:(Ae[0]+Ae[1])/2;if(Te)if(De>0){if(Se<=we[0])return Ae[0];if(Se>=we[1])return Ae[1]}else{if(Se>=we[0])return Ae[0];if(Se<=we[1])return Ae[1]}else{if(Se===we[0])return Ae[0];if(Se===we[1])return Ae[1]}return(Se-we[0])/De*Me+Ae[0]}function ie(Se,we){switch(Se){case"center":case"middle":Se="50%";break;case"left":case"top":Se="0%";break;case"right":case"bottom":Se="100%";break}return typeof Se=="string"?ae(Se).match(/%$/)?parseFloat(Se)/100*we:parseFloat(Se):Se==null?NaN:+Se}function oe(Se,we,Ae){return we==null&&(we=10),we=Math.min(Math.max(0,we),20),Se=(+Se).toFixed(we),Ae?Se:+Se}function se(Se){return Se.sort(function(we,Ae){return we-Ae}),Se}function le(Se){if(Se=+Se,isNaN(Se))return 0;for(var we=1,Ae=0;Math.round(Se*we)/we!==Se;)we*=10,Ae++;return Ae}function ue(Se){var we=Se.toString(),Ae=we.indexOf("e");if(Ae>0){var Te=+we.slice(Ae+1);return Te<0?-Te:0}else{var De=we.indexOf(".");return De<0?0:we.length-1-De}}function ce(Se,we){var Ae=Math.log,Te=Math.LN10,De=Math.floor(Ae(Se[1]-Se[0])/Te),Me=Math.round(Ae(Math.abs(we[1]-we[0]))/Te),Ie=Math.min(Math.max(-De+Me,0),20);return isFinite(Ie)?Ie:20}function de(Se,we,Ae){if(!Se[we])return 0;var Te=ee.reduce(Se,function(qe,Oe){return qe+(isNaN(Oe)?0:Oe)},0);if(Te===0)return 0;for(var De=Math.pow(10,Ae),Me=ee.map(Se,function(qe){return(isNaN(qe)?0:qe)/Te*De*100}),Ie=De*100,Ce=ee.map(Me,function(qe){return Math.floor(qe)}),Ee=ee.reduce(Ce,function(qe,Oe){return qe+Oe},0),Re=ee.map(Me,function(qe,Oe){return qe-Ce[Oe]});Ee<Ie;){for(var ke=Number.NEGATIVE_INFINITY,Be=null,Ne=0,He=Re.length;Ne<He;++Ne)Re[Ne]>ke&&(ke=Re[Ne],Be=Ne);++Ce[Be],Re[Be]=0,++Ee}return Ce[we]/De}var he=9007199254740991;function fe(Se){var we=Math.PI*2;return(Se%we+we)%we}function pe(Se){return Se>-te&&Se<te}var ve=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function ge(Se){if(Se instanceof Date)return Se;if(typeof Se=="string"){var we=ve.exec(Se);if(!we)return new Date(NaN);if(we[8]){var Ae=+we[4]||0;return we[8].toUpperCase()!=="Z"&&(Ae-=we[8].slice(0,3)),new Date(Date.UTC(+we[1],+(we[2]||1)-1,+we[3]||1,Ae,+(we[5]||0),+we[6]||0,+we[7]||0))}else return new Date(+we[1],+(we[2]||1)-1,+we[3]||1,+we[4]||0,+(we[5]||0),+we[6]||0,+we[7]||0)}else if(Se==null)return new Date(NaN);return new Date(Math.round(Se))}function me(Se){return Math.pow(10,ye(Se))}function ye(Se){if(Se===0)return 0;var we=Math.floor(Math.log(Se)/Math.LN10);return Se/Math.pow(10,we)>=10&&we++,we}function _e(Se,we){var Ae=ye(Se),Te=Math.pow(10,Ae),De=Se/Te,Me;return we?De<1.5?Me=1:De<2.5?Me=2:De<4?Me=3:De<7?Me=5:Me=10:De<1?Me=1:De<2?Me=2:De<3?Me=3:De<5?Me=5:Me=10,Se=Me*Te,Ae>=-20?+Se.toFixed(Ae<0?-Ae:0):Se}function be(Se,we){var Ae=(Se.length-1)*we+1,Te=Math.floor(Ae),De=+Se[Te-1],Me=Ae-Te;return Me?De+Me*(Se[Te]-De):De}function xe(Se){Se.sort(function(Ee,Re){return Ce(Ee,Re,0)?-1:1});for(var we=-1/0,Ae=1,Te=0;Te<Se.length;){for(var De=Se[Te].interval,Me=Se[Te].close,Ie=0;Ie<2;Ie++)De[Ie]<=we&&(De[Ie]=we,Me[Ie]=Ie?1:1-Ae),we=De[Ie],Ae=Me[Ie];De[0]===De[1]&&Me[0]*Me[1]!==1?Se.splice(Te,1):Te++}return Se;function Ce(Ee,Re,ke){return Ee.interval[ke]<Re.interval[ke]||Ee.interval[ke]===Re.interval[ke]&&(Ee.close[ke]-Re.close[ke]===(ke?-1:1)||!ke&&Ce(Ee,Re,1))}}function $e(Se){return Se-parseFloat(Se)>=0}return number$1.linearMap=ne,number$1.parsePercent=ie,number$1.round=oe,number$1.asc=se,number$1.getPrecision=le,number$1.getPrecisionSafe=ue,number$1.getPixelPrecision=ce,number$1.getPercentWithPrecision=de,number$1.MAX_SAFE_INTEGER=he,number$1.remRadian=fe,number$1.isRadianAroundZero=pe,number$1.parseDate=ge,number$1.quantity=me,number$1.quantityExponent=ye,number$1.nice=_e,number$1.quantile=be,number$1.reformIntervals=xe,number$1.isNumeric=$e,number$1}var format$6={},zrUtil$9=util$a,textContain$1=text,numberUtil=requireNumber();function addCommas$2(ee){return isNaN(ee)?"-":(ee=(ee+"").split("."),ee[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(ee.length>1?"."+ee[1]:""))}function toCamelCase$2(ee,te){return ee=(ee||"").toLowerCase().replace(/-(.)/g,function(ae,ne){return ne.toUpperCase()}),te&&ee&&(ee=ee.charAt(0).toUpperCase()+ee.slice(1)),ee}var normalizeCssArray$2=zrUtil$9.normalizeCssArray,replaceReg$1=/([&<>"'])/g,replaceMap$1={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function encodeHTML$2(ee){return ee==null?"":(ee+"").replace(replaceReg$1,function(te,ae){return replaceMap$1[ae]})}var TPL_VAR_ALIAS$1=["a","b","c","d","e","f","g"],wrapVar$1=function(ee,te){return"{"+ee+(te??"")+"}"};function formatTpl$2(ee,te,ae){zrUtil$9.isArray(te)||(te=[te]);var ne=te.length;if(!ne)return"";for(var ie=te[0].$vars||[],oe=0;oe<ie.length;oe++){var se=TPL_VAR_ALIAS$1[oe];ee=ee.replace(wrapVar$1(se),wrapVar$1(se,0))}for(var le=0;le<ne;le++)for(var ue=0;ue<ie.length;ue++){var ce=te[le][ie[ue]];ee=ee.replace(wrapVar$1(TPL_VAR_ALIAS$1[ue],le),ae?encodeHTML$2(ce):ce)}return ee}function formatTplSimple$1(ee,te,ae){return zrUtil$9.each(te,function(ne,ie){ee=ee.replace("{"+ie+"}",ae?encodeHTML$2(ne):ne)}),ee}function getTooltipMarker$3(ee,ie){ee=zrUtil$9.isString(ee)?{color:ee,extraCssText:ie}:ee||{};var ae=ee.color,ne=ee.type,ie=ee.extraCssText,oe=ee.renderMode||"html",se=ee.markerId||"X";return ae?oe==="html"?ne==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+encodeHTML$2(ae)+";"+(ie||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+encodeHTML$2(ae)+";"+(ie||"")+'"></span>':{renderMode:oe,content:"{marker"+se+"|}  ",style:{color:ae}}:""}function pad$2(ee,te){return ee+="","0000".substr(0,te-ee.length)+ee}function formatTime$2(ee,te,ae){(ee==="week"||ee==="month"||ee==="quarter"||ee==="half-year"||ee==="year")&&(ee=`MM-dd
-yyyy`);var ne=numberUtil.parseDate(te),ie=ae?"UTC":"",oe=ne["get"+ie+"FullYear"](),se=ne["get"+ie+"Month"]()+1,le=ne["get"+ie+"Date"](),ue=ne["get"+ie+"Hours"](),ce=ne["get"+ie+"Minutes"](),de=ne["get"+ie+"Seconds"](),he=ne["get"+ie+"Milliseconds"]();return ee=ee.replace("MM",pad$2(se,2)).replace("M",se).replace("yyyy",oe).replace("yy",oe%100).replace("dd",pad$2(le,2)).replace("d",le).replace("hh",pad$2(ue,2)).replace("h",ue).replace("mm",pad$2(ce,2)).replace("m",ce).replace("ss",pad$2(de,2)).replace("s",de).replace("SSS",pad$2(he,3)),ee}function capitalFirst$1(ee){return ee&&ee.charAt(0).toUpperCase()+ee.substr(1)}var truncateText$1=textContain$1.truncateText;function getTextBoundingRect(ee){return textContain$1.getBoundingRect(ee.text,ee.font,ee.textAlign,ee.textVerticalAlign,ee.textPadding,ee.textLineHeight,ee.rich,ee.truncate)}function getTextRect$1(ee,te,ae,ne,ie,oe,se,le){return textContain$1.getBoundingRect(ee,te,ae,ne,ie,le,oe,se)}function windowOpen$1(ee,te){if(te==="_blank"||te==="blank"){var ae=window.open();ae.opener=null,ae.location=ee}else window.open(ee,te)}format$6.addCommas=addCommas$2;format$6.toCamelCase=toCamelCase$2;format$6.normalizeCssArray=normalizeCssArray$2;format$6.encodeHTML=encodeHTML$2;format$6.formatTpl=formatTpl$2;format$6.formatTplSimple=formatTplSimple$1;format$6.getTooltipMarker=getTooltipMarker$3;format$6.formatTime=formatTime$2;format$6.capitalFirst=capitalFirst$1;format$6.truncateText=truncateText$1;format$6.getTextBoundingRect=getTextBoundingRect;format$6.getTextRect=getTextRect$1;format$6.windowOpen=windowOpen$1;var zrUtil$8=util$a,BoundingRect$2=BoundingRect_1,_number$1=requireNumber(),parsePercent$2=_number$1.parsePercent,formatUtil=format$6,each$r=zrUtil$8.each,LOCATION_PARAMS$1=["left","right","top","bottom","width","height"],HV_NAMES$1=[["width","left","right"],["height","top","bottom"]];function boxLayout$2(ee,te,ae,ne,ie){var oe=0,se=0;ne==null&&(ne=1/0),ie==null&&(ie=1/0);var le=0;te.eachChild(function(ue,ce){var de=ue.position,he=ue.getBoundingRect(),fe=te.childAt(ce+1),pe=fe&&fe.getBoundingRect(),ve,ge;if(ee==="horizontal"){var me=he.width+(pe?-pe.x+he.x:0);ve=oe+me,ve>ne||ue.newline?(oe=0,ve=me,se+=le+ae,le=he.height):le=Math.max(le,he.height)}else{var ye=he.height+(pe?-pe.y+he.y:0);ge=se+ye,ge>ie||ue.newline?(oe+=le+ae,se=0,ge=ye,le=he.width):le=Math.max(le,he.width)}ue.newline||(de[0]=oe,de[1]=se,ee==="horizontal"?oe=ve+ae:se=ge+ae)})}var box$1=boxLayout$2,vbox=zrUtil$8.curry(boxLayout$2,"vertical"),hbox=zrUtil$8.curry(boxLayout$2,"horizontal");function getAvailableSize$1(ee,te,ae){var ne=te.width,ie=te.height,oe=parsePercent$2(ee.x,ne),se=parsePercent$2(ee.y,ie),le=parsePercent$2(ee.x2,ne),ue=parsePercent$2(ee.y2,ie);return(isNaN(oe)||isNaN(parseFloat(ee.x)))&&(oe=0),(isNaN(le)||isNaN(parseFloat(ee.x2)))&&(le=ne),(isNaN(se)||isNaN(parseFloat(ee.y)))&&(se=0),(isNaN(ue)||isNaN(parseFloat(ee.y2)))&&(ue=ie),ae=formatUtil.normalizeCssArray(ae||0),{width:Math.max(le-oe-ae[1]-ae[3],0),height:Math.max(ue-se-ae[0]-ae[2],0)}}function getLayoutRect$1(ee,te,ae){ae=formatUtil.normalizeCssArray(ae||0);var ne=te.width,ie=te.height,oe=parsePercent$2(ee.left,ne),se=parsePercent$2(ee.top,ie),le=parsePercent$2(ee.right,ne),ue=parsePercent$2(ee.bottom,ie),ce=parsePercent$2(ee.width,ne),de=parsePercent$2(ee.height,ie),he=ae[2]+ae[0],fe=ae[1]+ae[3],pe=ee.aspect;switch(isNaN(ce)&&(ce=ne-le-fe-oe),isNaN(de)&&(de=ie-ue-he-se),pe!=null&&(isNaN(ce)&&isNaN(de)&&(pe>ne/ie?ce=ne*.8:de=ie*.8),isNaN(ce)&&(ce=pe*de),isNaN(de)&&(de=ce/pe)),isNaN(oe)&&(oe=ne-le-ce-fe),isNaN(se)&&(se=ie-ue-de-he),ee.left||ee.right){case"center":oe=ne/2-ce/2-ae[3];break;case"right":oe=ne-ce-fe;break}switch(ee.top||ee.bottom){case"middle":case"center":se=ie/2-de/2-ae[0];break;case"bottom":se=ie-de-he;break}oe=oe||0,se=se||0,isNaN(ce)&&(ce=ne-fe-oe-(le||0)),isNaN(de)&&(de=ie-he-se-(ue||0));var ve=new BoundingRect$2(oe+ae[3],se+ae[0],ce,de);return ve.margin=ae,ve}function positionElement$1(ee,te,ae,ne,ie){var oe=!ie||!ie.hv||ie.hv[0],se=!ie||!ie.hv||ie.hv[1],le=ie&&ie.boundingMode||"all";if(!(!oe&&!se)){var ue;if(le==="raw")ue=ee.type==="group"?new BoundingRect$2(0,0,+te.width||0,+te.height||0):ee.getBoundingRect();else if(ue=ee.getBoundingRect(),ee.needLocalTransform()){var ce=ee.getLocalTransform();ue=ue.clone(),ue.applyTransform(ce)}te=getLayoutRect$1(zrUtil$8.defaults({width:ue.width,height:ue.height},te),ae,ne);var de=ee.position,he=oe?te.x-ue.x:0,fe=se?te.y-ue.y:0;ee.attr("position",le==="raw"?[he,fe]:[de[0]+he,de[1]+fe])}}function sizeCalculable$1(ee,te){return ee[HV_NAMES$1[te][0]]!=null||ee[HV_NAMES$1[te][1]]!=null&&ee[HV_NAMES$1[te][2]]!=null}function mergeLayoutParam$2(ee,te,ae){!zrUtil$8.isObject(ae)&&(ae={});var ne=ae.ignoreSize;!zrUtil$8.isArray(ne)&&(ne=[ne,ne]);var ie=se(HV_NAMES$1[0],0),oe=se(HV_NAMES$1[1],1);ce(HV_NAMES$1[0],ee,ie),ce(HV_NAMES$1[1],ee,oe);function se(de,he){var fe={},pe=0,ve={},ge=0,me=2;if(each$r(de,function(be){ve[be]=ee[be]}),each$r(de,function(be){le(te,be)&&(fe[be]=ve[be]=te[be]),ue(fe,be)&&pe++,ue(ve,be)&&ge++}),ne[he])return ue(te,de[1])?ve[de[2]]=null:ue(te,de[2])&&(ve[de[1]]=null),ve;if(ge===me||!pe)return ve;if(pe>=me)return fe;for(var ye=0;ye<de.length;ye++){var _e=de[ye];if(!le(fe,_e)&&le(ee,_e)){fe[_e]=ee[_e];break}}return fe}function le(de,he){return de.hasOwnProperty(he)}function ue(de,he){return de[he]!=null&&de[he]!=="auto"}function ce(de,he,fe){each$r(de,function(pe){he[pe]=fe[pe]})}}function getLayoutParams$2(ee){return copyLayoutParams$1({},ee)}function copyLayoutParams$1(ee,te){return te&&ee&&each$r(LOCATION_PARAMS$1,function(ae){te.hasOwnProperty(ae)&&(ee[ae]=te[ae])}),ee}layout$5.LOCATION_PARAMS=LOCATION_PARAMS$1;layout$5.HV_NAMES=HV_NAMES$1;layout$5.box=box$1;layout$5.vbox=vbox;layout$5.hbox=hbox;layout$5.getAvailableSize=getAvailableSize$1;layout$5.getLayoutRect=getLayoutRect$1;layout$5.positionElement=positionElement$1;layout$5.sizeCalculable=sizeCalculable$1;layout$5.mergeLayoutParam=mergeLayoutParam$2;layout$5.getLayoutParams=getLayoutParams$2;layout$5.copyLayoutParams=copyLayoutParams$1;var _default$q={getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}},boxLayout$1=_default$q,zrUtil$7=util$a,Model$3=Model_1,componentUtil$2=component,_clazz=clazz,enableClassManagement$1=_clazz.enableClassManagement,parseClassType$1=_clazz.parseClassType,_model$6=model,makeInner$3=_model$6.makeInner,layout$4=layout$5,boxLayoutMixin=boxLayout$1,inner$p=makeInner$3(),ComponentModel$5=Model$3.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(ee,te,ae,ne){Model$3.call(this,ee,te,ae,ne),this.uid=componentUtil$2.getUID("ec_cpt_model")},init:function(ee,te,ae,ne){this.mergeDefaultAndTheme(ee,ae)},mergeDefaultAndTheme:function(ee,te){var ae=this.layoutMode,ne=ae?layout$4.getLayoutParams(ee):{},ie=te.getTheme();zrUtil$7.merge(ee,ie.get(this.mainType)),zrUtil$7.merge(ee,this.getDefaultOption()),ae&&layout$4.mergeLayoutParam(ee,ne,ae)},mergeOption:function(ee,te){zrUtil$7.merge(this.option,ee,!0);var ae=this.layoutMode;ae&&layout$4.mergeLayoutParam(this.option,ee,ae)},optionUpdated:function(ee,te){},getDefaultOption:function(){var ee=inner$p(this);if(!ee.defaultOption){for(var te=[],ae=this.constructor;ae;){var ne=ae.prototype.defaultOption;ne&&te.push(ne),ae=ae.superClass}for(var ie={},oe=te.length-1;oe>=0;oe--)ie=zrUtil$7.merge(ie,te[oe],!0);ee.defaultOption=ie}return ee.defaultOption},getReferringComponents:function(ee){return this.ecModel.queryComponents({mainType:ee,index:this.get(ee+"Index",!0),id:this.get(ee+"Id",!0)})}});enableClassManagement$1(ComponentModel$5,{registerWhenExtend:!0});componentUtil$2.enableSubTypeDefaulter(ComponentModel$5);componentUtil$2.enableTopologicalTravel(ComponentModel$5,getDependencies$1);function getDependencies$1(ee){var te=[];return zrUtil$7.each(ComponentModel$5.getClassesByMainType(ee),function(ae){te=te.concat(ae.prototype.dependencies||[])}),te=zrUtil$7.map(te,function(ae){return parseClassType$1(ae).main}),ee!=="dataset"&&zrUtil$7.indexOf(te,"dataset")<=0&&te.unshift("dataset"),te}zrUtil$7.mixin(ComponentModel$5,boxLayoutMixin);var _default$p=ComponentModel$5,Component$1=_default$p,platform$3="";typeof navigator<"u"&&(platform$3=navigator.platform||"");var _default$o={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:platform$3.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},globalDefault$2=_default$o,_model$5=model,makeInner$2=_model$5.makeInner,normalizeToArray$3=_model$5.normalizeToArray,inner$o=makeInner$2();function getNearestColorPalette(ee,te){for(var ae=ee.length,ne=0;ne<ae;ne++)if(ee[ne].length>te)return ee[ne];return ee[ae-1]}var _default$n={clearColorPalette:function(){inner$o(this).colorIdx=0,inner$o(this).colorNameMap={}},getColorFromPalette:function(ee,te,ae){te=te||this;var ne=inner$o(te),ie=ne.colorIdx||0,oe=ne.colorNameMap=ne.colorNameMap||{};if(oe.hasOwnProperty(ee))return oe[ee];var se=normalizeToArray$3(this.get("color",!0)),le=this.get("colorLayer",!0),ue=ae==null||!le?se:getNearestColorPalette(le,ae);if(ue=ue||se,!(!ue||!ue.length)){var ce=ue[ie];return ee&&(oe[ee]=ce),ne.colorIdx=(ie+1)%ue.length,ce}}},colorPalette$2=_default$n,sourceHelper={},sourceType={},hasRequiredSourceType;function requireSourceType(){if(hasRequiredSourceType)return sourceType;hasRequiredSourceType=1;var ee="original",te="arrayRows",ae="objectRows",ne="keyedColumns",ie="unknown",oe="typedArray",se="column",le="row";return sourceType.SOURCE_FORMAT_ORIGINAL=ee,sourceType.SOURCE_FORMAT_ARRAY_ROWS=te,sourceType.SOURCE_FORMAT_OBJECT_ROWS=ae,sourceType.SOURCE_FORMAT_KEYED_COLUMNS=ne,sourceType.SOURCE_FORMAT_UNKNOWN=ie,sourceType.SOURCE_FORMAT_TYPED_ARRAY=oe,sourceType.SERIES_LAYOUT_BY_COLUMN=se,sourceType.SERIES_LAYOUT_BY_ROW=le,sourceType}var Source_1,hasRequiredSource;function requireSource(){if(hasRequiredSource)return Source_1;hasRequiredSource=1;var ee=util$a,te=ee.createHashMap,ae=ee.isTypedArray,ne=clazz,ie=ne.enableClassCheck,oe=requireSourceType(),se=oe.SOURCE_FORMAT_ORIGINAL,le=oe.SERIES_LAYOUT_BY_COLUMN,ue=oe.SOURCE_FORMAT_UNKNOWN,ce=oe.SOURCE_FORMAT_TYPED_ARRAY,de=oe.SOURCE_FORMAT_KEYED_COLUMNS;function he(pe){this.fromDataset=pe.fromDataset,this.data=pe.data||(pe.sourceFormat===de?{}:[]),this.sourceFormat=pe.sourceFormat||ue,this.seriesLayoutBy=pe.seriesLayoutBy||le,this.dimensionsDefine=pe.dimensionsDefine,this.encodeDefine=pe.encodeDefine&&te(pe.encodeDefine),this.startIndex=pe.startIndex||0,this.dimensionsDetectCount=pe.dimensionsDetectCount}he.seriesDataToSource=function(pe){return new he({data:pe,sourceFormat:ae(pe)?ce:se,fromDataset:!1})},ie(he);var fe=he;return Source_1=fe,Source_1}var hasRequiredSourceHelper;function requireSourceHelper(){if(hasRequiredSourceHelper)return sourceHelper;hasRequiredSourceHelper=1;var ee=model,te=ee.makeInner,ae=ee.getDataItemValue,ne=util$a,ie=ne.createHashMap,oe=ne.each,se=ne.map,le=ne.isArray,ue=ne.isString,ce=ne.isObject,de=ne.isTypedArray,he=ne.isArrayLike,fe=ne.extend;ne.assert;var pe=requireSource(),ve=requireSourceType(),ge=ve.SOURCE_FORMAT_ORIGINAL,me=ve.SOURCE_FORMAT_ARRAY_ROWS,ye=ve.SOURCE_FORMAT_OBJECT_ROWS,_e=ve.SOURCE_FORMAT_KEYED_COLUMNS,be=ve.SOURCE_FORMAT_UNKNOWN,xe=ve.SOURCE_FORMAT_TYPED_ARRAY,$e=ve.SERIES_LAYOUT_BY_ROW,Se={Must:1,Might:2,Not:3},we=te();function Ae(Oe){var ze=Oe.option.source,Ve=be;if(de(ze))Ve=xe;else if(le(ze)){ze.length===0&&(Ve=me);for(var Ge=0,We=ze.length;Ge<We;Ge++){var Ue=ze[Ge];if(Ue!=null){if(le(Ue)){Ve=me;break}else if(ce(Ue)){Ve=ye;break}}}}else if(ce(ze)){for(var Ye in ze)if(ze.hasOwnProperty(Ye)&&he(ze[Ye])){Ve=_e;break}}else if(ze!=null)throw new Error("Invalid data");we(Oe).sourceFormat=Ve}function Te(Oe){return we(Oe).source}function De(Oe){we(Oe).datasetMap=ie()}function Me(Oe){var ze=Oe.option,Ve=ze.data,Ge=de(Ve)?xe:ge,We=!1,Ue=ze.seriesLayoutBy,Ye=ze.sourceHeader,Ze=ze.dimensions,Xe=Ne(Oe);if(Xe){var it=Xe.option;Ve=it.source,Ge=we(Xe).sourceFormat,We=!0,Ue=Ue||it.seriesLayoutBy,Ye==null&&(Ye=it.sourceHeader),Ze=Ze||it.dimensions}var at=Ie(Ve,Ge,Ue,Ye,Ze);we(Oe).source=new pe({data:Ve,fromDataset:We,seriesLayoutBy:Ue,sourceFormat:Ge,dimensionsDefine:at.dimensionsDefine,startIndex:at.startIndex,dimensionsDetectCount:at.dimensionsDetectCount,encodeDefine:ze.encode})}function Ie(Oe,ze,Ve,Ge,We){if(!Oe)return{dimensionsDefine:Ce(We)};var Ue,Ye;if(ze===me)Ge==="auto"||Ge==null?Ee(function(Xe){Xe!=null&&Xe!=="-"&&(ue(Xe)?Ye==null&&(Ye=1):Ye=0)},Ve,Oe,10):Ye=Ge?1:0,!We&&Ye===1&&(We=[],Ee(function(Xe,it){We[it]=Xe??""},Ve,Oe)),Ue=We?We.length:Ve===$e?Oe.length:Oe[0]?Oe[0].length:null;else if(ze===ye)We||(We=Re(Oe));else if(ze===_e)We||(We=[],oe(Oe,function(Xe,it){We.push(it)}));else if(ze===ge){var Ze=ae(Oe[0]);Ue=le(Ze)&&Ze.length||1}return{startIndex:Ye,dimensionsDefine:Ce(We),dimensionsDetectCount:Ue}}function Ce(Oe){if(Oe){var ze=ie();return se(Oe,function(Ve,Ge){if(Ve=fe({},ce(Ve)?Ve:{name:Ve}),Ve.name==null)return Ve;Ve.name+="",Ve.displayName==null&&(Ve.displayName=Ve.name);var We=ze.get(Ve.name);return We?Ve.name+="-"+We.count++:ze.set(Ve.name,{count:1}),Ve})}}function Ee(Oe,ze,Ve,Ge){if(Ge==null&&(Ge=1/0),ze===$e)for(var We=0;We<Ve.length&&We<Ge;We++)Oe(Ve[We]?Ve[We][0]:null,We);else for(var Ue=Ve[0]||[],We=0;We<Ue.length&&We<Ge;We++)Oe(Ue[We],We)}function Re(Oe){for(var ze=0,Ve;ze<Oe.length&&!(Ve=Oe[ze++]););if(Ve){var Ge=[];return oe(Ve,function(We,Ue){Ge.push(Ue)}),Ge}}function ke(Oe,ze,Ve){var Ge={},We=Ne(ze);if(!We||!Oe)return Ge;var Ue=[],Ye=[],Ze=ze.ecModel,Xe=we(Ze).datasetMap,it=We.uid+"_"+Ve.seriesLayoutBy,at,ut;Oe=Oe.slice(),oe(Oe,function(bt,Tt){!ce(bt)&&(Oe[Tt]={name:bt}),bt.type==="ordinal"&&at==null&&(at=Tt,ut=gt(Oe[Tt])),Ge[bt.name]=[]});var dt=Xe.get(it)||Xe.set(it,{categoryWayDim:ut,valueWayDim:0});oe(Oe,function(bt,Tt){var At=bt.name,Mt=gt(bt);if(at==null){var qt=dt.valueWayDim;pt(Ge[At],qt,Mt),pt(Ye,qt,Mt),dt.valueWayDim+=Mt}else if(at===Tt)pt(Ge[At],0,Mt),pt(Ue,0,Mt);else{var qt=dt.categoryWayDim;pt(Ge[At],qt,Mt),pt(Ye,qt,Mt),dt.categoryWayDim+=Mt}});function pt(bt,Tt,At){for(var Mt=0;Mt<At;Mt++)bt.push(Tt+Mt)}function gt(bt){var Tt=bt.dimsDef;return Tt?Tt.length:1}return Ue.length&&(Ge.itemName=Ue),Ye.length&&(Ge.seriesName=Ye),Ge}function Be(Oe,ze,Ve){var Ge={},We=Ne(Oe);if(!We)return Ge;var Ue=ze.sourceFormat,Ye=ze.dimensionsDefine,Ze;(Ue===ye||Ue===_e)&&oe(Ye,function(at,ut){(ce(at)?at.name:at)==="name"&&(Ze=ut)});var Xe=function(){for(var at={},ut={},dt=[],pt=0,gt=Math.min(5,Ve);pt<gt;pt++){var bt=qe(ze.data,Ue,ze.seriesLayoutBy,Ye,ze.startIndex,pt);dt.push(bt);var Tt=bt===Se.Not;if(Tt&&at.v==null&&pt!==Ze&&(at.v=pt),(at.n==null||at.n===at.v||!Tt&&dt[at.n]===Se.Not)&&(at.n=pt),At(at)&&dt[at.n]!==Se.Not)return at;Tt||(bt===Se.Might&&ut.v==null&&pt!==Ze&&(ut.v=pt),(ut.n==null||ut.n===ut.v)&&(ut.n=pt))}function At(Mt){return Mt.v!=null&&Mt.n!=null}return At(at)?at:At(ut)?ut:null}();if(Xe){Ge.value=Xe.v;var it=Ze??Xe.n;Ge.itemName=[it],Ge.seriesName=[it]}return Ge}function Ne(Oe){var ze=Oe.option,Ve=ze.data;if(!Ve)return Oe.ecModel.getComponent("dataset",ze.datasetIndex||0)}function He(Oe,ze){return qe(Oe.data,Oe.sourceFormat,Oe.seriesLayoutBy,Oe.dimensionsDefine,Oe.startIndex,ze)}function qe(Oe,ze,Ve,Ge,We,Ue){var Ye,Ze=5;if(de(Oe))return Se.Not;var Xe,it;if(Ge){var at=Ge[Ue];ce(at)?(Xe=at.name,it=at.type):ue(at)&&(Xe=at)}if(it!=null)return it==="ordinal"?Se.Must:Se.Not;if(ze===me)if(Ve===$e){for(var ut=Oe[Ue],dt=0;dt<(ut||[]).length&&dt<Ze;dt++)if((Ye=Tt(ut[We+dt]))!=null)return Ye}else for(var dt=0;dt<Oe.length&&dt<Ze;dt++){var pt=Oe[We+dt];if(pt&&(Ye=Tt(pt[Ue]))!=null)return Ye}else if(ze===ye){if(!Xe)return Se.Not;for(var dt=0;dt<Oe.length&&dt<Ze;dt++){var gt=Oe[dt];if(gt&&(Ye=Tt(gt[Xe]))!=null)return Ye}}else if(ze===_e){if(!Xe)return Se.Not;var ut=Oe[Xe];if(!ut||de(ut))return Se.Not;for(var dt=0;dt<ut.length&&dt<Ze;dt++)if((Ye=Tt(ut[dt]))!=null)return Ye}else if(ze===ge)for(var dt=0;dt<Oe.length&&dt<Ze;dt++){var gt=Oe[dt],bt=ae(gt);if(!le(bt))return Se.Not;if((Ye=Tt(bt[Ue]))!=null)return Ye}function Tt(At){var Mt=ue(At);if(At!=null&&isFinite(At)&&At!=="")return Mt?Se.Might:Se.Not;if(Mt&&At!=="-")return Se.Must}return Se.Not}return sourceHelper.BE_ORDINAL=Se,sourceHelper.detectSourceFormat=Ae,sourceHelper.getSource=Te,sourceHelper.resetSourceDefaulter=De,sourceHelper.prepareSource=Me,sourceHelper.makeSeriesEncodeForAxisCoordSys=ke,sourceHelper.makeSeriesEncodeForNameBased=Be,sourceHelper.guessOrdinal=He,sourceHelper}var _util$9=util$a,each$q=_util$9.each,filter$3=_util$9.filter,map$5=_util$9.map,isArray$7=_util$9.isArray,indexOf$2=_util$9.indexOf,isObject$a=_util$9.isObject,isString$5=_util$9.isString,createHashMap$4=_util$9.createHashMap,assert$1=_util$9.assert,clone$6=_util$9.clone,merge$5=_util$9.merge,extend$8=_util$9.extend,mixin$1=_util$9.mixin,modelUtil$4=model,Model$2=Model_1,ComponentModel$4=Component$1,globalDefault$1=globalDefault$2,colorPaletteMixin$1=colorPalette$2,_sourceHelper$1=requireSourceHelper(),resetSourceDefaulter$1=_sourceHelper$1.resetSourceDefaulter,OPTION_INNER_KEY$1="\0_ec_inner",GlobalModel$3=Model$2.extend({init:function(ee,te,ae,ne){ae=ae||{},this.option=null,this._theme=new Model$2(ae),this._optionManager=ne},setOption:function(ee,te){assert$1(!(OPTION_INNER_KEY$1 in ee),"please use chart.getOption()"),this._optionManager.setOption(ee,te),this.resetOption(null)},resetOption:function(ee){var te=!1,ae=this._optionManager;if(!ee||ee==="recreate"){var ne=ae.mountOption(ee==="recreate");!this.option||ee==="recreate"?initBase$2.call(this,ne):(this.restoreData(),this.mergeOption(ne)),te=!0}if((ee==="timeline"||ee==="media")&&this.restoreData(),!ee||ee==="recreate"||ee==="timeline"){var ie=ae.getTimelineOption(this);ie&&(this.mergeOption(ie),te=!0)}if(!ee||ee==="recreate"||ee==="media"){var oe=ae.getMediaOption(this,this._api);oe.length&&each$q(oe,function(se){this.mergeOption(se,te=!0)},this)}return te},mergeOption:function(ee){var te=this.option,ae=this._componentsMap,ne=[];resetSourceDefaulter$1(this),each$q(ee,function(oe,se){oe!=null&&(ComponentModel$4.hasClass(se)?se&&ne.push(se):te[se]=te[se]==null?clone$6(oe):merge$5(te[se],oe,!0))}),ComponentModel$4.topologicalTravel(ne,ComponentModel$4.getAllClassMainTypes(),ie,this);function ie(oe,se){var le=modelUtil$4.normalizeToArray(ee[oe]),ue=modelUtil$4.mappingToExists(ae.get(oe),le);modelUtil$4.makeIdAndName(ue),each$q(ue,function(de,he){var fe=de.option;isObject$a(fe)&&(de.keyInfo.mainType=oe,de.keyInfo.subType=determineSubType$1(oe,fe,de.exist))});var ce=getComponentsByTypes(ae,se);te[oe]=[],ae.set(oe,[]),each$q(ue,function(de,he){var fe=de.exist,pe=de.option;if(assert$1(isObject$a(pe)||fe,"Empty component definition"),!pe)fe.mergeOption({},this),fe.optionUpdated({},!1);else{var ve=ComponentModel$4.getClass(oe,de.keyInfo.subType,!0);if(fe&&fe.constructor===ve)fe.name=de.keyInfo.name,fe.mergeOption(pe,this),fe.optionUpdated(pe,!1);else{var ge=extend$8({dependentModels:ce,componentIndex:he},de.keyInfo);fe=new ve(pe,this,this,ge),extend$8(fe,ge),fe.init(pe,this,this,ge),fe.optionUpdated(null,!0)}}ae.get(oe)[he]=fe,te[oe][he]=fe.option},this),oe==="series"&&createSeriesIndices(this,ae.get("series"))}this._seriesIndicesMap=createHashMap$4(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var ee=clone$6(this.option);return each$q(ee,function(te,ae){if(ComponentModel$4.hasClass(ae)){for(var te=modelUtil$4.normalizeToArray(te),ne=te.length-1;ne>=0;ne--)modelUtil$4.isIdInner(te[ne])&&te.splice(ne,1);ee[ae]=te}}),delete ee[OPTION_INNER_KEY$1],ee},getTheme:function(){return this._theme},getComponent:function(ee,te){var ae=this._componentsMap.get(ee);if(ae)return ae[te||0]},queryComponents:function(ee){var te=ee.mainType;if(!te)return[];var ae=ee.index,ne=ee.id,ie=ee.name,oe=this._componentsMap.get(te);if(!oe||!oe.length)return[];var se;if(ae!=null)isArray$7(ae)||(ae=[ae]),se=filter$3(map$5(ae,function(ce){return oe[ce]}),function(ce){return!!ce});else if(ne!=null){var le=isArray$7(ne);se=filter$3(oe,function(ce){return le&&indexOf$2(ne,ce.id)>=0||!le&&ce.id===ne})}else if(ie!=null){var ue=isArray$7(ie);se=filter$3(oe,function(ce){return ue&&indexOf$2(ie,ce.name)>=0||!ue&&ce.name===ie})}else se=oe.slice();return filterBySubType$1(se,ee)},findComponents:function(ee){var te=ee.query,ae=ee.mainType,ne=oe(te),ie=ne?this.queryComponents(ne):this._componentsMap.get(ae);return se(filterBySubType$1(ie,ee));function oe(le){var ue=ae+"Index",ce=ae+"Id",de=ae+"Name";return le&&(le[ue]!=null||le[ce]!=null||le[de]!=null)?{mainType:ae,index:le[ue],id:le[ce],name:le[de]}:null}function se(le){return ee.filter?filter$3(le,ee.filter):le}},eachComponent:function(ee,te,ae){var ne=this._componentsMap;if(typeof ee=="function")ae=te,te=ee,ne.each(function(oe,se){each$q(oe,function(le,ue){te.call(ae,se,le,ue)})});else if(isString$5(ee))each$q(ne.get(ee),te,ae);else if(isObject$a(ee)){var ie=this.findComponents(ee);each$q(ie,te,ae)}},getSeriesByName:function(ee){var te=this._componentsMap.get("series");return filter$3(te,function(ae){return ae.name===ee})},getSeriesByIndex:function(ee){return this._componentsMap.get("series")[ee]},getSeriesByType:function(ee){var te=this._componentsMap.get("series");return filter$3(te,function(ae){return ae.subType===ee})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(ee,te){each$q(this._seriesIndices,function(ae){var ne=this._componentsMap.get("series")[ae];ee.call(te,ne,ae)},this)},eachRawSeries:function(ee,te){each$q(this._componentsMap.get("series"),ee,te)},eachSeriesByType:function(ee,te,ae){each$q(this._seriesIndices,function(ne){var ie=this._componentsMap.get("series")[ne];ie.subType===ee&&te.call(ae,ie,ne)},this)},eachRawSeriesByType:function(ee,te,ae){return each$q(this.getSeriesByType(ee),te,ae)},isSeriesFiltered:function(ee){return this._seriesIndicesMap.get(ee.componentIndex)==null},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(ee,te){var ae=filter$3(this._componentsMap.get("series"),ee,te);createSeriesIndices(this,ae)},restoreData:function(ee){var te=this._componentsMap;createSeriesIndices(this,te.get("series"));var ae=[];te.each(function(ne,ie){ae.push(ie)}),ComponentModel$4.topologicalTravel(ae,ComponentModel$4.getAllClassMainTypes(),function(ne,ie){each$q(te.get(ne),function(oe){(ne!=="series"||!isNotTargetSeries$1(oe,ee))&&oe.restoreData()})})}});function isNotTargetSeries$1(ee,te){if(te){var ae=te.seiresIndex,ne=te.seriesId,ie=te.seriesName;return ae!=null&&ee.componentIndex!==ae||ne!=null&&ee.id!==ne||ie!=null&&ee.name!==ie}}function mergeTheme$1(ee,te){var ae=ee.color&&!ee.colorLayer;each$q(te,function(ne,ie){ie==="colorLayer"&&ae||ComponentModel$4.hasClass(ie)||(typeof ne=="object"?ee[ie]=ee[ie]?merge$5(ee[ie],ne,!1):clone$6(ne):ee[ie]==null&&(ee[ie]=ne))})}function initBase$2(ee){ee=ee,this.option={},this.option[OPTION_INNER_KEY$1]=1,this._componentsMap=createHashMap$4({series:[]}),this._seriesIndices,this._seriesIndicesMap,mergeTheme$1(ee,this._theme.option),merge$5(ee,globalDefault$1,!1),this.mergeOption(ee)}function getComponentsByTypes(ee,te){isArray$7(te)||(te=te?[te]:[]);var ae={};return each$q(te,function(ne){ae[ne]=(ee.get(ne)||[]).slice()}),ae}function determineSubType$1(ee,te,ae){var ne=te.type?te.type:ae?ae.subType:ComponentModel$4.determineSubType(ee,te);return ne}function createSeriesIndices(ee,te){ee._seriesIndicesMap=createHashMap$4(ee._seriesIndices=map$5(te,function(ae){return ae.componentIndex})||[])}function filterBySubType$1(ee,te){return te.hasOwnProperty("subType")?filter$3(ee,function(ae){return ae.subType===te.subType}):ee}mixin$1(GlobalModel$3,colorPaletteMixin$1);var _default$m=GlobalModel$3,Global=_default$m,zrUtil$6=util$a,echartsAPIList=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"];function ExtensionAPI$3(ee){zrUtil$6.each(echartsAPIList,function(te){this[te]=zrUtil$6.bind(ee[te],ee)},this)}var _default$l=ExtensionAPI$3,ExtensionAPI_1=_default$l,zrUtil$5=util$a,coordinateSystemCreators$1={};function CoordinateSystemManager$1(){this._coordinateSystems=[]}CoordinateSystemManager$1.prototype={constructor:CoordinateSystemManager$1,create:function(ee,te){var ae=[];zrUtil$5.each(coordinateSystemCreators$1,function(ne,ie){var oe=ne.create(ee,te);ae=ae.concat(oe||[])}),this._coordinateSystems=ae},update:function(ee,te){zrUtil$5.each(this._coordinateSystems,function(ae){ae.update&&ae.update(ee,te)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}};CoordinateSystemManager$1.register=function(ee,te){coordinateSystemCreators$1[ee]=te};CoordinateSystemManager$1.get=function(ee){return coordinateSystemCreators$1[ee]};var _default$k=CoordinateSystemManager$1,CoordinateSystem$1=_default$k,zrUtil$4=util$a,modelUtil$3=model,ComponentModel$3=Component$1,each$p=zrUtil$4.each,clone$5=zrUtil$4.clone,map$4=zrUtil$4.map,merge$4=zrUtil$4.merge,QUERY_REG$1=/^(min|max)?(.+)$/;function OptionManager$2(ee){this._api=ee,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}OptionManager$2.prototype={constructor:OptionManager$2,setOption:function(ee,te){ee&&zrUtil$4.each(modelUtil$3.normalizeToArray(ee.series),function(ie){ie&&ie.data&&zrUtil$4.isTypedArray(ie.data)&&zrUtil$4.setAsPrimitive(ie.data)}),ee=clone$5(ee);var ae=this._optionBackup,ne=parseRawOption$1.call(this,ee,te,!ae);this._newBaseOption=ne.baseOption,ae?(mergeOption(ae.baseOption,ne.baseOption),ne.timelineOptions.length&&(ae.timelineOptions=ne.timelineOptions),ne.mediaList.length&&(ae.mediaList=ne.mediaList),ne.mediaDefault&&(ae.mediaDefault=ne.mediaDefault)):this._optionBackup=ne},mountOption:function(ee){var te=this._optionBackup;return this._timelineOptions=map$4(te.timelineOptions,clone$5),this._mediaList=map$4(te.mediaList,clone$5),this._mediaDefault=clone$5(te.mediaDefault),this._currentMediaIndices=[],clone$5(ee?te.baseOption:this._newBaseOption)},getTimelineOption:function(ee){var te,ae=this._timelineOptions;if(ae.length){var ne=ee.getComponent("timeline");ne&&(te=clone$5(ae[ne.getCurrentIndex()],!0))}return te},getMediaOption:function(ee){var te=this._api.getWidth(),ae=this._api.getHeight(),ne=this._mediaList,ie=this._mediaDefault,oe=[],se=[];if(!ne.length&&!ie)return se;for(var le=0,ue=ne.length;le<ue;le++)applyMediaQuery$1(ne[le].query,te,ae)&&oe.push(le);return!oe.length&&ie&&(oe=[-1]),oe.length&&!indicesEquals$1(oe,this._currentMediaIndices)&&(se=map$4(oe,function(ce){return clone$5(ce===-1?ie.option:ne[ce].option)})),this._currentMediaIndices=oe,se}};function parseRawOption$1(ee,te,ae){var ne=[],ie=[],oe,se,le=ee.timeline;if(ee.baseOption&&(se=ee.baseOption),(le||ee.options)&&(se=se||{},ne=(ee.options||[]).slice()),ee.media){se=se||{};var ue=ee.media;each$p(ue,function(ce){ce&&ce.option&&(ce.query?ie.push(ce):oe||(oe=ce))})}return se||(se=ee),se.timeline||(se.timeline=le),each$p([se].concat(ne).concat(zrUtil$4.map(ie,function(ce){return ce.option})),function(ce){each$p(te,function(de){de(ce,ae)})}),{baseOption:se,timelineOptions:ne,mediaDefault:oe,mediaList:ie}}function applyMediaQuery$1(ee,te,ae){var ne={width:te,height:ae,aspectratio:te/ae},ie=!0;return zrUtil$4.each(ee,function(oe,se){var le=se.match(QUERY_REG$1);if(!(!le||!le[1]||!le[2])){var ue=le[1],ce=le[2].toLowerCase();compare$1(ne[ce],oe,ue)||(ie=!1)}}),ie}function compare$1(ee,te,ae){return ae==="min"?ee>=te:ae==="max"?ee<=te:ee===te}function indicesEquals$1(ee,te){return ee.join(",")===te.join(",")}function mergeOption(ee,te){te=te||{},each$p(te,function(ae,ne){if(ae!=null){var ie=ee[ne];if(!ComponentModel$3.hasClass(ne))ee[ne]=merge$4(ie,ae,!0);else{ae=modelUtil$3.normalizeToArray(ae),ie=modelUtil$3.normalizeToArray(ie);var oe=modelUtil$3.mappingToExists(ie,ae);ee[ne]=map$4(oe,function(se){return se.option&&se.exist?merge$4(se.exist,se.option,!0):se.exist||se.option})}}})}var _default$j=OptionManager$2,OptionManager_1=_default$j,zrUtil$3=util$a,modelUtil$2=model,each$o=zrUtil$3.each,isObject$9=zrUtil$3.isObject,POSSIBLE_STYLES$1=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function compatEC2ItemStyle$1(ee){var te=ee&&ee.itemStyle;if(te)for(var ae=0,ne=POSSIBLE_STYLES$1.length;ae<ne;ae++){var ie=POSSIBLE_STYLES$1[ae],oe=te.normal,se=te.emphasis;oe&&oe[ie]&&(ee[ie]=ee[ie]||{},ee[ie].normal?zrUtil$3.merge(ee[ie].normal,oe[ie]):ee[ie].normal=oe[ie],oe[ie]=null),se&&se[ie]&&(ee[ie]=ee[ie]||{},ee[ie].emphasis?zrUtil$3.merge(ee[ie].emphasis,se[ie]):ee[ie].emphasis=se[ie],se[ie]=null)}}function convertNormalEmphasis$1(ee,te,ae){if(ee&&ee[te]&&(ee[te].normal||ee[te].emphasis)){var ne=ee[te].normal,ie=ee[te].emphasis;ne&&(ae?(ee[te].normal=ee[te].emphasis=null,zrUtil$3.defaults(ee[te],ne)):ee[te]=ne),ie&&(ee.emphasis=ee.emphasis||{},ee.emphasis[te]=ie)}}function removeEC3NormalStatus$1(ee){convertNormalEmphasis$1(ee,"itemStyle"),convertNormalEmphasis$1(ee,"lineStyle"),convertNormalEmphasis$1(ee,"areaStyle"),convertNormalEmphasis$1(ee,"label"),convertNormalEmphasis$1(ee,"labelLine"),convertNormalEmphasis$1(ee,"upperLabel"),convertNormalEmphasis$1(ee,"edgeLabel")}function compatTextStyle$1(ee,te){var ae=isObject$9(ee)&&ee[te],ne=isObject$9(ae)&&ae.textStyle;if(ne)for(var ie=0,oe=modelUtil$2.TEXT_STYLE_OPTIONS.length;ie<oe;ie++){var te=modelUtil$2.TEXT_STYLE_OPTIONS[ie];ne.hasOwnProperty(te)&&(ae[te]=ne[te])}}function compatEC3CommonStyles$1(ee){ee&&(removeEC3NormalStatus$1(ee),compatTextStyle$1(ee,"label"),ee.emphasis&&compatTextStyle$1(ee.emphasis,"label"))}function processSeries$1(ee){if(isObject$9(ee)){compatEC2ItemStyle$1(ee),removeEC3NormalStatus$1(ee),compatTextStyle$1(ee,"label"),compatTextStyle$1(ee,"upperLabel"),compatTextStyle$1(ee,"edgeLabel"),ee.emphasis&&(compatTextStyle$1(ee.emphasis,"label"),compatTextStyle$1(ee.emphasis,"upperLabel"),compatTextStyle$1(ee.emphasis,"edgeLabel"));var oe=ee.markPoint;oe&&(compatEC2ItemStyle$1(oe),compatEC3CommonStyles$1(oe));var le=ee.markLine;le&&(compatEC2ItemStyle$1(le),compatEC3CommonStyles$1(le));var te=ee.markArea;te&&compatEC3CommonStyles$1(te);var ae=ee.data;if(ee.type==="graph"){ae=ae||ee.nodes;var ne=ee.links||ee.edges;if(ne&&!zrUtil$3.isTypedArray(ne))for(var ie=0;ie<ne.length;ie++)compatEC3CommonStyles$1(ne[ie]);zrUtil$3.each(ee.categories,function(ce){removeEC3NormalStatus$1(ce)})}if(ae&&!zrUtil$3.isTypedArray(ae))for(var ie=0;ie<ae.length;ie++)compatEC3CommonStyles$1(ae[ie]);var oe=ee.markPoint;if(oe&&oe.data)for(var se=oe.data,ie=0;ie<se.length;ie++)compatEC3CommonStyles$1(se[ie]);var le=ee.markLine;if(le&&le.data)for(var ue=le.data,ie=0;ie<ue.length;ie++)zrUtil$3.isArray(ue[ie])?(compatEC3CommonStyles$1(ue[ie][0]),compatEC3CommonStyles$1(ue[ie][1])):compatEC3CommonStyles$1(ue[ie]);ee.type==="gauge"?(compatTextStyle$1(ee,"axisLabel"),compatTextStyle$1(ee,"title"),compatTextStyle$1(ee,"detail")):ee.type==="treemap"?(convertNormalEmphasis$1(ee.breadcrumb,"itemStyle"),zrUtil$3.each(ee.levels,function(ce){removeEC3NormalStatus$1(ce)})):ee.type==="tree"&&removeEC3NormalStatus$1(ee.leaves)}}function toArr$1(ee){return zrUtil$3.isArray(ee)?ee:ee?[ee]:[]}function toObj$1(ee){return(zrUtil$3.isArray(ee)?ee[0]:ee)||{}}function _default$i(ee,te){each$o(toArr$1(ee.series),function(ne){isObject$9(ne)&&processSeries$1(ne)});var ae=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];te&&ae.push("valueAxis","categoryAxis","logAxis","timeAxis"),each$o(ae,function(ne){each$o(toArr$1(ee[ne]),function(ie){ie&&(compatTextStyle$1(ie,"axisLabel"),compatTextStyle$1(ie.axisPointer,"label"))})}),each$o(toArr$1(ee.parallel),function(ne){var ie=ne&&ne.parallelAxisDefault;compatTextStyle$1(ie,"axisLabel"),compatTextStyle$1(ie&&ie.axisPointer,"label")}),each$o(toArr$1(ee.calendar),function(ne){convertNormalEmphasis$1(ne,"itemStyle"),compatTextStyle$1(ne,"dayLabel"),compatTextStyle$1(ne,"monthLabel"),compatTextStyle$1(ne,"yearLabel")}),each$o(toArr$1(ee.radar),function(ne){compatTextStyle$1(ne,"name")}),each$o(toArr$1(ee.geo),function(ne){isObject$9(ne)&&(compatEC3CommonStyles$1(ne),each$o(toArr$1(ne.regions),function(ie){compatEC3CommonStyles$1(ie)}))}),each$o(toArr$1(ee.timeline),function(ne){compatEC3CommonStyles$1(ne),convertNormalEmphasis$1(ne,"label"),convertNormalEmphasis$1(ne,"itemStyle"),convertNormalEmphasis$1(ne,"controlStyle",!0);var ie=ne.data;zrUtil$3.isArray(ie)&&zrUtil$3.each(ie,function(oe){zrUtil$3.isObject(oe)&&(convertNormalEmphasis$1(oe,"label"),convertNormalEmphasis$1(oe,"itemStyle"))})}),each$o(toArr$1(ee.toolbox),function(ne){convertNormalEmphasis$1(ne,"iconStyle"),each$o(ne.feature,function(ie){convertNormalEmphasis$1(ie,"iconStyle")})}),compatTextStyle$1(toObj$1(ee.axisPointer),"label"),compatTextStyle$1(toObj$1(ee.tooltip).axisPointer,"label")}var compatStyle$1=_default$i,_util$8=util$a,each$n=_util$8.each,isArray$6=_util$8.isArray,isObject$8=_util$8.isObject,compatStyle=compatStyle$1,_model$4=model,normalizeToArray$2=_model$4.normalizeToArray;function get$1(ee,te){te=te.split(",");for(var ae=ee,ne=0;ne<te.length&&(ae=ae&&ae[te[ne]],ae!=null);ne++);return ae}function set$2(ee,te,ae,ne){te=te.split(",");for(var ie=ee,oe,se=0;se<te.length-1;se++)oe=te[se],ie[oe]==null&&(ie[oe]={}),ie=ie[oe];(ne||ie[te[se]]==null)&&(ie[te[se]]=ae)}function compatLayoutProperties$1(ee){each$n(LAYOUT_PROPERTIES$1,function(te){te[0]in ee&&!(te[1]in ee)&&(ee[te[1]]=ee[te[0]])})}var LAYOUT_PROPERTIES$1=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],COMPATITABLE_COMPONENTS$1=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"];function _default$h(ee,te){compatStyle(ee,te),ee.series=normalizeToArray$2(ee.series),each$n(ee.series,function(ae){if(isObject$8(ae)){var ne=ae.type;if(ne==="line")ae.clipOverflow!=null&&(ae.clip=ae.clipOverflow);else if(ne==="pie"||ne==="gauge")ae.clockWise!=null&&(ae.clockwise=ae.clockWise);else if(ne==="gauge"){var ie=get$1(ae,"pointer.color");ie!=null&&set$2(ae,"itemStyle.color",ie)}compatLayoutProperties$1(ae)}}),ee.dataRange&&(ee.visualMap=ee.dataRange),each$n(COMPATITABLE_COMPONENTS$1,function(ae){var ne=ee[ae];ne&&(isArray$6(ne)||(ne=[ne]),each$n(ne,function(ie){compatLayoutProperties$1(ie)}))})}var backwardCompat$2=_default$h,_util$7=util$a,createHashMap$3=_util$7.createHashMap,each$m=_util$7.each;function _default$g(ee){var te=createHashMap$3();ee.eachSeries(function(ae){var ne=ae.get("stack");if(ne){var ie=te.get(ne)||te.set(ne,[]),oe=ae.getData(),se={stackResultDimension:oe.getCalculationInfo("stackResultDimension"),stackedOverDimension:oe.getCalculationInfo("stackedOverDimension"),stackedDimension:oe.getCalculationInfo("stackedDimension"),stackedByDimension:oe.getCalculationInfo("stackedByDimension"),isStackedByIndex:oe.getCalculationInfo("isStackedByIndex"),data:oe,seriesModel:ae};if(!se.stackedDimension||!(se.isStackedByIndex||se.stackedByDimension))return;ie.length&&oe.setCalculationInfo("stackedOnSeries",ie[ie.length-1].seriesModel),ie.push(se)}}),te.each(calculateStack$1)}function calculateStack$1(ee){each$m(ee,function(te,ae){var ne=[],ie=[NaN,NaN],oe=[te.stackResultDimension,te.stackedOverDimension],se=te.data,le=te.isStackedByIndex,ue=se.map(oe,function(ce,de,he){var fe=se.get(te.stackedDimension,he);if(isNaN(fe))return ie;var pe,ve;le?ve=se.getRawIndex(he):pe=se.get(te.stackedByDimension,he);for(var ge=NaN,me=ae-1;me>=0;me--){var ye=ee[me];if(le||(ve=ye.data.rawIndexOf(ye.stackedByDimension,pe)),ve>=0){var _e=ye.data.getByRawIndex(ye.stackResultDimension,ve);if(fe>=0&&_e>0||fe<=0&&_e<0){fe+=_e,ge=_e;break}}}return ne[0]=fe,ne[1]=ge,ne});se.hostModel.setData(ue),te.data=ue})}var dataStack$2=_default$g,dataProvider={},_util$6=util$a;_util$6.isTypedArray;var extend$7=_util$6.extend;_util$6.assert;var each$l=_util$6.each,isObject$7=_util$6.isObject,_model$3=model,getDataItemValue$1=_model$3.getDataItemValue,isDataItemOption$1=_model$3.isDataItemOption,_number=requireNumber(),parseDate$3=_number.parseDate,Source=requireSource(),_sourceType=requireSourceType(),SOURCE_FORMAT_TYPED_ARRAY$1=_sourceType.SOURCE_FORMAT_TYPED_ARRAY,SOURCE_FORMAT_ARRAY_ROWS$1=_sourceType.SOURCE_FORMAT_ARRAY_ROWS,SOURCE_FORMAT_ORIGINAL$1=_sourceType.SOURCE_FORMAT_ORIGINAL,SOURCE_FORMAT_OBJECT_ROWS$1=_sourceType.SOURCE_FORMAT_OBJECT_ROWS;function DefaultDataProvider$1(ee,te){Source.isInstance(ee)||(ee=Source.seriesDataToSource(ee)),this._source=ee;var ae=this._data=ee.data,ne=ee.sourceFormat;ne===SOURCE_FORMAT_TYPED_ARRAY$1&&(this._offset=0,this._dimSize=te,this._data=ae);var ie=providerMethods$1[ne===SOURCE_FORMAT_ARRAY_ROWS$1?ne+"_"+ee.seriesLayoutBy:ne];extend$7(this,ie)}var providerProto=DefaultDataProvider$1.prototype;providerProto.pure=!1;providerProto.persistent=!0;providerProto.getSource=function(){return this._source};var providerMethods$1={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(ee){return this._data[ee+this._source.startIndex]},appendData:appendDataSimply},arrayRows_row:{pure:!0,count:function(){var ee=this._data[0];return ee?Math.max(0,ee.length-this._source.startIndex):0},getItem:function(ee){ee+=this._source.startIndex;for(var te=[],ae=this._data,ne=0;ne<ae.length;ne++){var ie=ae[ne];te.push(ie?ie[ee]:null)}return te},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},objectRows:{pure:!0,count:countSimply$1,getItem:getItemSimply$1,appendData:appendDataSimply},keyedColumns:{pure:!0,count:function(){var ee=this._source.dimensionsDefine[0].name,te=this._data[ee];return te?te.length:0},getItem:function(ee){for(var te=[],ae=this._source.dimensionsDefine,ne=0;ne<ae.length;ne++){var ie=this._data[ae[ne].name];te.push(ie?ie[ee]:null)}return te},appendData:function(ee){var te=this._data;each$l(ee,function(ae,ne){for(var ie=te[ne]||(te[ne]=[]),oe=0;oe<(ae||[]).length;oe++)ie.push(ae[oe])})}},original:{count:countSimply$1,getItem:getItemSimply$1,appendData:appendDataSimply},typedArray:{persistent:!1,pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(ee,te){ee=ee-this._offset,te=te||[];for(var ae=this._dimSize*ee,ne=0;ne<this._dimSize;ne++)te[ne]=this._data[ae+ne];return te},appendData:function(ee){this._data=ee},clean:function(){this._offset+=this.count(),this._data=null}}};function countSimply$1(){return this._data.length}function getItemSimply$1(ee){return this._data[ee]}function appendDataSimply(ee){for(var te=0;te<ee.length;te++)this._data.push(ee[te])}var rawValueGetters={arrayRows:getRawValueSimply$1,objectRows:function(ee,te,ae,ne){return ae!=null?ee[ne]:ee},keyedColumns:getRawValueSimply$1,original:function(ee,te,ae,ne){var ie=getDataItemValue$1(ee);return ae==null||!(ie instanceof Array)?ie:ie[ae]},typedArray:getRawValueSimply$1};function getRawValueSimply$1(ee,te,ae,ne){return ae!=null?ee[ae]:ee}var defaultDimValueGetters$1={arrayRows:getDimValueSimply,objectRows:function(ee,te,ae,ne){return converDataValue(ee[te],this._dimensionInfos[te])},keyedColumns:getDimValueSimply,original:function(ee,te,ae,ne){var ie=ee&&(ee.value==null?ee:ee.value);return!this._rawData.pure&&isDataItemOption$1(ee)&&(this.hasItemOption=!0),converDataValue(ie instanceof Array?ie[ne]:ie,this._dimensionInfos[te])},typedArray:function(ee,te,ae,ne){return ee[ne]}};function getDimValueSimply(ee,te,ae,ne){return converDataValue(ee[ne],this._dimensionInfos[te])}function converDataValue(ee,te){var ae=te&&te.type;if(ae==="ordinal"){var ne=te&&te.ordinalMeta;return ne?ne.parseAndCollect(ee):ee}return ae==="time"&&typeof ee!="number"&&ee!=null&&ee!=="-"&&(ee=+parseDate$3(ee)),ee==null||ee===""?NaN:+ee}function retrieveRawValue$4(ee,te,ae){if(ee){var ne=ee.getRawDataItem(te);if(ne!=null){var ie=ee.getProvider().getSource().sourceFormat,oe,se,le=ee.getDimensionInfo(ae);return le&&(oe=le.name,se=le.index),rawValueGetters[ie](ne,te,se,oe)}}}function retrieveRawAttr(ee,te,ae){if(ee){var ne=ee.getProvider().getSource().sourceFormat;if(!(ne!==SOURCE_FORMAT_ORIGINAL$1&&ne!==SOURCE_FORMAT_OBJECT_ROWS$1)){var ie=ee.getRawDataItem(te);if(ne===SOURCE_FORMAT_ORIGINAL$1&&!isObject$7(ie)&&(ie=null),ie)return ie[ae]}}}dataProvider.DefaultDataProvider=DefaultDataProvider$1;dataProvider.defaultDimValueGetters=defaultDimValueGetters$1;dataProvider.retrieveRawValue=retrieveRawValue$4;dataProvider.retrieveRawAttr=retrieveRawAttr;var _dataProvider$2=dataProvider,retrieveRawValue$3=_dataProvider$2.retrieveRawValue,_format$1=format$6,getTooltipMarker$2=_format$1.getTooltipMarker,formatTpl$1=_format$1.formatTpl,_model$2=model,getTooltipRenderMode$1=_model$2.getTooltipRenderMode,DIMENSION_LABEL_REG$1=/\{@(.+?)\}/g,_default$f={getDataParams:function(ee,te){var ae=this.getData(te),ne=this.getRawValue(ee,te),ie=ae.getRawIndex(ee),oe=ae.getName(ee),se=ae.getRawDataItem(ee),le=ae.getItemVisual(ee,"color"),ue=ae.getItemVisual(ee,"borderColor"),ce=this.ecModel.getComponent("tooltip"),de=ce&&ce.get("renderMode"),he=getTooltipRenderMode$1(de),fe=this.mainType,pe=fe==="series",ve=ae.userOutput;return{componentType:fe,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:pe?this.subType:null,seriesIndex:this.seriesIndex,seriesId:pe?this.id:null,seriesName:pe?this.name:null,name:oe,dataIndex:ie,data:se,dataType:te,value:ne,color:le,borderColor:ue,dimensionNames:ve?ve.dimensionNames:null,encode:ve?ve.encode:null,marker:getTooltipMarker$2({color:le,renderMode:he}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(ee,te,ae,ne,ie){te=te||"normal";var oe=this.getData(ae),se=oe.getItemModel(ee),le=this.getDataParams(ee,ae);ne!=null&&le.value instanceof Array&&(le.value=le.value[ne]);var ue=se.get(te==="normal"?[ie||"label","formatter"]:[te,ie||"label","formatter"]);if(typeof ue=="function")return le.status=te,le.dimensionIndex=ne,ue(le);if(typeof ue=="string"){var ce=formatTpl$1(ue,le);return ce.replace(DIMENSION_LABEL_REG$1,function(de,he){var fe=he.length;return he.charAt(0)==="["&&he.charAt(fe-1)==="]"&&(he=+he.slice(1,fe-1)),retrieveRawValue$3(oe,ee,he)})}},getRawValue:function(ee,te){return retrieveRawValue$3(this.getData(te),ee)},formatTooltip:function(){}},dataFormat=_default$f,task={},_util$5=util$a;_util$5.assert;var isArray$5=_util$5.isArray;function createTask$4(ee){return new Task$1(ee)}function Task$1(ee){ee=ee||{},this._reset=ee.reset,this._plan=ee.plan,this._count=ee.count,this._onDirty=ee.onDirty,this._dirty=!0,this.context}var taskProto=Task$1.prototype;taskProto.perform=function(ee){var te=this._upstream,ae=ee&&ee.skip;if(this._dirty&&te){var ne=this.context;ne.data=ne.outputData=te.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var ie;this._plan&&!ae&&(ie=this._plan(this.context));var oe=ce(this._modBy),se=this._modDataCount||0,le=ce(ee&&ee.modBy),ue=ee&&ee.modDataCount||0;(oe!==le||se!==ue)&&(ie="reset");function ce(ye){return!(ye>=1)&&(ye=1),ye}var de;(this._dirty||ie==="reset")&&(this._dirty=!1,de=reset(this,ae)),this._modBy=le,this._modDataCount=ue;var he=ee&&ee.step;if(te?this._dueEnd=te._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var fe=this._dueIndex,pe=Math.min(he!=null?this._dueIndex+he:1/0,this._dueEnd);if(!ae&&(de||fe<pe)){var ve=this._progress;if(isArray$5(ve))for(var ge=0;ge<ve.length;ge++)doProgress(this,ve[ge],fe,pe,le,ue);else doProgress(this,ve,fe,pe,le,ue)}this._dueIndex=pe;var me=this._settedOutputEnd!=null?this._settedOutputEnd:pe;this._outputDueEnd=me}else this._dueIndex=this._outputDueEnd=this._settedOutputEnd!=null?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var iterator$1=function(){var ee,te,ae,ne,ie,oe={reset:function(ue,ce,de,he){te=ue,ee=ce,ae=de,ne=he,ie=Math.ceil(ne/ae),oe.next=ae>1&&ne>0?le:se}};return oe;function se(){return te<ee?te++:null}function le(){var ue=te%ie*ae+Math.ceil(te/ie),ce=te>=ee?null:ue<ne?ue:te;return te++,ce}}();taskProto.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)};function doProgress(ee,te,ae,ne,ie,oe){iterator$1.reset(ae,ne,ie,oe),ee._callingProgress=te,ee._callingProgress({start:ae,end:ne,count:ne-ae,next:iterator$1.next},ee.context)}function reset(ee,te){ee._dueIndex=ee._outputDueEnd=ee._dueEnd=0,ee._settedOutputEnd=null;var ae,ne;!te&&ee._reset&&(ae=ee._reset(ee.context),ae&&ae.progress&&(ne=ae.forceFirstProgress,ae=ae.progress),isArray$5(ae)&&!ae.length&&(ae=null)),ee._progress=ae,ee._modBy=ee._modDataCount=null;var ie=ee._downstream;return ie&&ie.dirty(),ne}taskProto.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd};taskProto.pipe=function(ee){(this._downstream!==ee||this._dirty)&&(this._downstream=ee,ee._upstream=this,ee.dirty())};taskProto.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)};taskProto.getUpstream=function(){return this._upstream};taskProto.getDownstream=function(){return this._downstream};taskProto.setOutputEnd=function(ee){this._outputDueEnd=this._settedOutputEnd=ee};task.createTask=createTask$4;var zrUtil$2=util$a,env$2=env_1,_format=format$6,formatTime$1=_format.formatTime,encodeHTML$1=_format.encodeHTML,addCommas$1=_format.addCommas,getTooltipMarker$1=_format.getTooltipMarker,modelUtil$1=model,ComponentModel$2=Component$1,colorPaletteMixin=colorPalette$2,dataFormatMixin=dataFormat,_layout=layout$5,getLayoutParams$1=_layout.getLayoutParams,mergeLayoutParam$1=_layout.mergeLayoutParam,_task$2=task,createTask$3=_task$2.createTask,_sourceHelper=requireSourceHelper(),prepareSource=_sourceHelper.prepareSource,getSource=_sourceHelper.getSource,_dataProvider$1=dataProvider,retrieveRawValue$2=_dataProvider$1.retrieveRawValue,inner$n=modelUtil$1.makeInner(),SeriesModel$2=ComponentModel$2.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendVisualProvider:null,visualColorAccessPath:"itemStyle.color",visualBorderColorAccessPath:"itemStyle.borderColor",layoutMode:null,init:function(ee,te,ae,ne){this.seriesIndex=this.componentIndex,this.dataTask=createTask$3({count:dataTaskCount$1,reset:dataTaskReset$1}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(ee,ae),prepareSource(this);var ie=this.getInitialData(ee,ae);wrapData$1(ie,this),this.dataTask.context.data=ie,inner$n(this).dataBeforeProcessed=ie,autoSeriesName$1(this)},mergeDefaultAndTheme:function(ee,te){var ae=this.layoutMode,ne=ae?getLayoutParams$1(ee):{},ie=this.subType;ComponentModel$2.hasClass(ie)&&(ie+="Series"),zrUtil$2.merge(ee,te.getTheme().get(this.subType)),zrUtil$2.merge(ee,this.getDefaultOption()),modelUtil$1.defaultEmphasis(ee,"label",["show"]),this.fillDataTextStyle(ee.data),ae&&mergeLayoutParam$1(ee,ne,ae)},mergeOption:function(ee,te){ee=zrUtil$2.merge(this.option,ee,!0),this.fillDataTextStyle(ee.data);var ae=this.layoutMode;ae&&mergeLayoutParam$1(this.option,ee,ae),prepareSource(this);var ne=this.getInitialData(ee,te);wrapData$1(ne,this),this.dataTask.dirty(),this.dataTask.context.data=ne,inner$n(this).dataBeforeProcessed=ne,autoSeriesName$1(this)},fillDataTextStyle:function(ee){if(ee&&!zrUtil$2.isTypedArray(ee))for(var te=["show"],ae=0;ae<ee.length;ae++)ee[ae]&&ee[ae].label&&modelUtil$1.defaultEmphasis(ee[ae],"label",te)},getInitialData:function(){},appendData:function(ee){var te=this.getRawData();te.appendData(ee.data)},getData:function(ee){var te=getCurrentTask$1(this);if(te){var ae=te.context.data;return ee==null?ae:ae.getLinkedData(ee)}else return inner$n(this).data},setData:function(ee){var te=getCurrentTask$1(this);if(te){var ae=te.context;ae.data!==ee&&te.modifyOutputEnd&&te.setOutputEnd(ee.count()),ae.outputData=ee,te!==this.dataTask&&(ae.data=ee)}inner$n(this).data=ee},getSource:function(){return getSource(this)},getRawData:function(){return inner$n(this).dataBeforeProcessed},getBaseAxis:function(){var ee=this.coordinateSystem;return ee&&ee.getBaseAxis&&ee.getBaseAxis()},formatTooltip:function(ee,te,ae,ne){var ie=this;ne=ne||"html";var oe=ne==="html"?"<br/>":`
-`,se=ne==="richText",le={},ue=0;function ce(Te){var De=zrUtil$2.reduce(Te,function(Re,ke,Be){var Ne=he.getDimensionInfo(Be);return Re|=Ne&&Ne.tooltip!==!1&&Ne.displayName!=null},0),Me=[];fe.length?zrUtil$2.each(fe,function(Re){Ie(retrieveRawValue$2(he,ee,Re),Re)}):zrUtil$2.each(Te,Ie);function Ie(Re,ke){var Be=he.getDimensionInfo(ke);if(!(!Be||Be.otherDims.tooltip===!1)){var Ne=Be.type,He="sub"+ie.seriesIndex+"at"+ue,qe=getTooltipMarker$1({color:me,type:"subItem",renderMode:ne,markerId:He}),Oe=typeof qe=="string"?qe:qe.content,ze=(De?Oe+encodeHTML$1(Be.displayName||"-")+": ":"")+encodeHTML$1(Ne==="ordinal"?Re+"":Ne==="time"?te?"":formatTime$1("yyyy/MM/dd hh:mm:ss",Re):addCommas$1(Re));ze&&Me.push(ze),se&&(le[He]=me,++ue)}}var Ce=De?se?`
-`:"<br/>":"",Ee=Ce+Me.join(Ce||", ");return{renderMode:ne,content:Ee,style:le}}function de(Te){return{renderMode:ne,content:encodeHTML$1(addCommas$1(Te)),style:le}}var he=this.getData(),fe=he.mapDimension("defaultedTooltip",!0),pe=fe.length,ve=this.getRawValue(ee),ge=zrUtil$2.isArray(ve),me=he.getItemVisual(ee,"color");zrUtil$2.isObject(me)&&me.colorStops&&(me=(me.colorStops[0]||{}).color),me=me||"transparent";var ye=pe>1||ge&&!pe?ce(ve):de(pe?retrieveRawValue$2(he,ee,fe[0]):ge?ve[0]:ve),_e=ye.content,be=ie.seriesIndex+"at"+ue,xe=getTooltipMarker$1({color:me,type:"item",renderMode:ne,markerId:be});le[be]=me,++ue;var $e=he.getName(ee),Se=this.name;modelUtil$1.isNameSpecified(this)||(Se=""),Se=Se?encodeHTML$1(Se)+(te?": ":oe):"";var we=typeof xe=="string"?xe:xe.content,Ae=te?we+Se+_e:Se+we+($e?encodeHTML$1($e)+": "+_e:_e);return{html:Ae,markers:le}},isAnimationEnabled:function(){if(env$2.node)return!1;var ee=this.getShallow("animation");return ee&&this.getData().count()>this.getShallow("animationThreshold")&&(ee=!1),ee},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(ee,te,ae){var ne=this.ecModel,ie=colorPaletteMixin.getColorFromPalette.call(this,ee,te,ae);return ie||(ie=ne.getColorFromPalette(ee,te,ae)),ie},coordDimToDataDim:function(ee){return this.getRawData().mapDimension(ee,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});zrUtil$2.mixin(SeriesModel$2,dataFormatMixin);zrUtil$2.mixin(SeriesModel$2,colorPaletteMixin);function autoSeriesName$1(ee){var te=ee.name;modelUtil$1.isNameSpecified(ee)||(ee.name=getSeriesAutoName$1(ee)||te)}function getSeriesAutoName$1(ee){var te=ee.getRawData(),ae=te.mapDimension("seriesName",!0),ne=[];return zrUtil$2.each(ae,function(ie){var oe=te.getDimensionInfo(ie);oe.displayName&&ne.push(oe.displayName)}),ne.join(" ")}function dataTaskCount$1(ee){return ee.model.getRawData().count()}function dataTaskReset$1(ee){var te=ee.model;return te.setData(te.getRawData().cloneShallow()),dataTaskProgress$1}function dataTaskProgress$1(ee,te){te.outputData&&ee.end>te.outputData.count()&&te.model.getRawData().cloneShallow(te.outputData)}function wrapData$1(ee,te){zrUtil$2.each(ee.CHANGABLE_METHODS,function(ae){ee.wrapMethod(ae,zrUtil$2.curry(onDataSelfChange,te))})}function onDataSelfChange(ee){var te=getCurrentTask$1(ee);te&&te.setOutputEnd(this.count())}function getCurrentTask$1(ee){var te=(ee.ecModel||{}).scheduler,ae=te&&te.getPipeline(ee.uid);if(ae){var ne=ae.currentTask;if(ne){var ie=ne.agentStubMap;ie&&(ne=ie.get(ee.uid))}return ne}}var _default$e=SeriesModel$2,Series=_default$e,Group$7=Group_1,componentUtil$1=component,clazzUtil$1=clazz,Component=function(){this.group=new Group$7,this.uid=componentUtil$1.getUID("viewComponent")};Component.prototype={constructor:Component,init:function(ee,te){},render:function(ee,te,ae,ne){},dispose:function(){},filterForExposedEvent:null};var componentProto=Component.prototype;componentProto.updateView=componentProto.updateLayout=componentProto.updateVisual=function(ee,te,ae,ne){};clazzUtil$1.enableClassExtend(Component);clazzUtil$1.enableClassManagement(Component,{registerWhenExtend:!0});var _default$d=Component,Component_1=_default$d,_model$1=model,makeInner$1=_model$1.makeInner;function _default$c(){var ee=makeInner$1();return function(te){var ae=ee(te),ne=te.pipelineContext,ie=ae.large,oe=ae.progressiveRender,se=ae.large=ne&&ne.large,le=ae.progressiveRender=ne&&ne.progressiveRender;return!!(ie^se||oe^le)&&"reset"}}var createRenderPlanner$2=_default$c,_util$4=util$a,each$k=_util$4.each,Group$6=Group_1,componentUtil=component,clazzUtil=clazz,modelUtil=model,graphicUtil=graphic$6,_task$1=task,createTask$2=_task$1.createTask,createRenderPlanner$1=createRenderPlanner$2,inner$m=modelUtil.makeInner(),renderPlanner$1=createRenderPlanner$1();function Chart(){this.group=new Group$6,this.uid=componentUtil.getUID("viewChart"),this.renderTask=createTask$2({plan:renderTaskPlan$1,reset:renderTaskReset$1}),this.renderTask.context={view:this}}Chart.prototype={type:"chart",init:function(ee,te){},render:function(ee,te,ae,ne){},highlight:function(ee,te,ae,ne){toggleHighlight$1(ee.getData(),ne,"emphasis")},downplay:function(ee,te,ae,ne){toggleHighlight$1(ee.getData(),ne,"normal")},remove:function(ee,te){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var chartProto=Chart.prototype;chartProto.updateView=chartProto.updateLayout=chartProto.updateVisual=function(ee,te,ae,ne){this.render(ee,te,ae,ne)};function elSetState$1(ee,te,ae){if(ee&&(ee.trigger(te,ae),ee.isGroup&&!graphicUtil.isHighDownDispatcher(ee)))for(var ne=0,ie=ee.childCount();ne<ie;ne++)elSetState$1(ee.childAt(ne),te,ae)}function toggleHighlight$1(ee,te,ae){var ne=modelUtil.queryDataIndex(ee,te),ie=te&&te.highlightKey!=null?graphicUtil.getHighlightDigit(te.highlightKey):null;ne!=null?each$k(modelUtil.normalizeToArray(ne),function(oe){elSetState$1(ee.getItemGraphicEl(oe),ae,ie)}):ee.eachItemGraphicEl(function(oe){elSetState$1(oe,ae,ie)})}clazzUtil.enableClassExtend(Chart,["dispose"]);clazzUtil.enableClassManagement(Chart,{registerWhenExtend:!0});Chart.markUpdateMethod=function(ee,te){inner$m(ee).updateMethod=te};function renderTaskPlan$1(ee){return renderPlanner$1(ee.model)}function renderTaskReset$1(ee){var te=ee.model,ae=ee.ecModel,ne=ee.api,ie=ee.payload,oe=te.pipelineContext.progressiveRender,se=ee.view,le=ie&&inner$m(ie).updateMethod,ue=oe?"incrementalPrepareRender":le&&se[le]?le:"render";return ue!=="render"&&se[ue](te,ae,ne,ie),progressMethodMap$1[ue]}var progressMethodMap$1={incrementalPrepareRender:{progress:function(ee,te){te.view.incrementalRender(ee,te.model,te.ecModel,te.api,te.payload)}},render:{forceFirstProgress:!0,progress:function(ee,te){te.view.render(te.model,te.ecModel,te.api,te.payload)}}},_default$b=Chart,Chart_1=_default$b,throttle$3={},ORIGIN_METHOD$1="\0__throttleOriginMethod",RATE$1="\0__throttleRate",THROTTLE_TYPE$1="\0__throttleType";function throttle$2(ee,te,ae){var ne,ie=0,oe=0,se=null,le,ue,ce,de;te=te||0;function he(){oe=new Date().getTime(),se=null,ee.apply(ue,ce||[])}var fe=function(){ne=new Date().getTime(),ue=this,ce=arguments;var pe=de||te,ve=de||ae;de=null,le=ne-(ve?ie:oe)-pe,clearTimeout(se),ve?se=setTimeout(he,pe):le>=0?he():se=setTimeout(he,-le),ie=ne};return fe.clear=function(){se&&(clearTimeout(se),se=null)},fe.debounceNextCall=function(pe){de=pe},fe}function createOrUpdate$1(ee,te,ae,ne){var ie=ee[te];if(ie){var oe=ie[ORIGIN_METHOD$1]||ie,se=ie[THROTTLE_TYPE$1],le=ie[RATE$1];if(le!==ae||se!==ne){if(ae==null||!ne)return ee[te]=oe;ie=ee[te]=throttle$2(oe,ae,ne==="debounce"),ie[ORIGIN_METHOD$1]=oe,ie[THROTTLE_TYPE$1]=ne,ie[RATE$1]=ae}return ie}}function clear$3(ee,te){var ae=ee[te];ae&&ae[ORIGIN_METHOD$1]&&(ee[te]=ae[ORIGIN_METHOD$1])}throttle$3.throttle=throttle$2;throttle$3.createOrUpdate=createOrUpdate$1;throttle$3.clear=clear$3;var Gradient$2=Gradient_1,_util$3=util$a,isFunction$6=_util$3.isFunction,_default$a={createOnAllSeries:!0,performRawSeries:!0,reset:function(ee,te){var ae=ee.getData(),ne=(ee.visualColorAccessPath||"itemStyle.color").split("."),ie=ee.get(ne),oe=isFunction$6(ie)&&!(ie instanceof Gradient$2)?ie:null;(!ie||oe)&&(ie=ee.getColorFromPalette(ee.name,null,te.getSeriesCount())),ae.setVisual("color",ie);var se=(ee.visualBorderColorAccessPath||"itemStyle.borderColor").split("."),le=ee.get(se);if(ae.setVisual("borderColor",le),!te.isSeriesFiltered(ee)){oe&&ae.each(function(ce){ae.setItemVisual(ce,"color",oe(ee.getDataParams(ce)))});var ue=function(ce,de){var he=ce.getItemModel(de),fe=he.get(ne,!0),pe=he.get(se,!0);fe!=null&&ce.setItemVisual(de,"color",fe),pe!=null&&ce.setItemVisual(de,"borderColor",pe)};return{dataEach:ae.hasItemOption?ue:null}}}},seriesColor=_default$a,_default$9={legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},lang$2=_default$9,zrUtil$1=util$a,lang$1=lang$2,_dataProvider=dataProvider,retrieveRawValue$1=_dataProvider.retrieveRawValue;function _default$8(ee,te){var ae=te.getModel("aria");if(ae.get("show")){if(ae.get("description")){ee.setAttribute("aria-label",ae.get("description"));return}}else return;var ne=0;te.eachSeries(function(ge,me){++ne},this);var ie=ae.get("data.maxCount")||10,oe=ae.get("series.maxCount")||10,se=Math.min(ne,oe),le;if(ne<1)return;var ue=pe();ue?le=he(fe("general.withTitle"),{title:ue}):le=fe("general.withoutTitle");var ce=[],de=ne>1?"series.multiple.prefix":"series.single.prefix";le+=he(fe(de),{seriesCount:ne}),te.eachSeries(function(ge,me){if(me<se){var ye,_e=ge.get("name"),be="series."+(ne>1?"multiple":"single")+".";ye=fe(_e?be+"withName":be+"withoutName"),ye=he(ye,{seriesId:ge.seriesIndex,seriesName:ge.get("name"),seriesType:ve(ge.subType)});var xe=ge.getData();window.data=xe,xe.count()>ie?ye+=he(fe("data.partialData"),{displayCnt:ie}):ye+=fe("data.allData");for(var $e=[],Se=0;Se<xe.count();Se++)if(Se<ie){var we=xe.getName(Se),Ae=retrieveRawValue$1(xe,Se);$e.push(he(fe(we?"data.withName":"data.withoutName"),{name:we,value:Ae}))}ye+=$e.join(fe("data.separator.middle"))+fe("data.separator.end"),ce.push(ye)}}),le+=ce.join(fe("series.multiple.separator.middle"))+fe("series.multiple.separator.end"),ee.setAttribute("aria-label",le);function he(ge,me){if(typeof ge!="string")return ge;var ye=ge;return zrUtil$1.each(me,function(_e,be){ye=ye.replace(new RegExp("\\{\\s*"+be+"\\s*\\}","g"),_e)}),ye}function fe(ge){var me=ae.get(ge);if(me==null){for(var ye=ge.split("."),_e=lang$1.aria,be=0;be<ye.length;++be)_e=_e[ye[be]];return _e}else return me}function pe(){var ge=te.getModel("title").option;return ge&&ge.length&&(ge=ge[0]),ge&&ge.text}function ve(ge){return lang$1.series.typeNames[ge]||"自定义图"}}var aria=_default$8,zrUtil=util$a,graphic$5=graphic$6,textContain=text,PI$9=Math.PI;function _default$7(ee,te){te=te||{},zrUtil.defaults(te,{text:"loading",textColor:"#000",fontSize:"12px",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#c23531",spinnerRadius:10,lineWidth:5,zlevel:0});var ae=new graphic$5.Group,ne=new graphic$5.Rect({style:{fill:te.maskColor},zlevel:te.zlevel,z:1e4});ae.add(ne);var ie=te.fontSize+" sans-serif",oe=new graphic$5.Rect({style:{fill:"none",text:te.text,font:ie,textPosition:"right",textDistance:10,textFill:te.textColor},zlevel:te.zlevel,z:10001});if(ae.add(oe),te.showSpinner){var se=new graphic$5.Arc({shape:{startAngle:-PI$9/2,endAngle:-PI$9/2+.1,r:te.spinnerRadius},style:{stroke:te.color,lineCap:"round",lineWidth:te.lineWidth},zlevel:te.zlevel,z:10001});se.animateShape(!0).when(1e3,{endAngle:PI$9*3/2}).start("circularInOut"),se.animateShape(!0).when(1e3,{startAngle:PI$9*3/2}).delay(300).start("circularInOut"),ae.add(se)}return ae.resize=function(){var le=textContain.getWidth(te.text,ie),ue=te.showSpinner?te.spinnerRadius:0,ce=(ee.getWidth()-ue*2-(te.showSpinner&&le?10:0)-le)/2-(te.showSpinner?0:le/2),de=ee.getHeight()/2;te.showSpinner&&se.setShape({cx:ce,cy:de}),oe.setShape({x:ce-ue,y:de-ue,width:ue*2,height:ue*2}),ne.setShape({x:0,y:0,width:ee.getWidth(),height:ee.getHeight()})},ae.resize(),ae}var _default_1=_default$7,_util$2=util$a,each$j=_util$2.each,map$3=_util$2.map,isFunction$5=_util$2.isFunction,createHashMap$2=_util$2.createHashMap,noop$4=_util$2.noop,_task=task,createTask$1=_task.createTask,_component=component,getUID$1=_component.getUID,GlobalModel$2=Global,ExtensionAPI$2=ExtensionAPI_1,_model=model,normalizeToArray$1=_model.normalizeToArray;function Scheduler$2(ee,te,ie,oe){this.ecInstance=ee,this.api=te,this.unfinished;var ie=this._dataProcessorHandlers=ie.slice(),oe=this._visualHandlers=oe.slice();this._allHandlers=ie.concat(oe),this._stageTaskMap=createHashMap$2()}var proto$1=Scheduler$2.prototype;proto$1.restoreData=function(ee,te){ee.restoreData(te),this._stageTaskMap.each(function(ae){var ne=ae.overallTask;ne&&ne.dirty()})};proto$1.getPerformArgs=function(ee,te){if(ee.__pipeline){var ae=this._pipelineMap.get(ee.__pipeline.id),ne=ae.context,ie=!te&&ae.progressiveEnabled&&(!ne||ne.progressiveRender)&&ee.__idxInPipeline>ae.blockIndex,oe=ie?ae.step:null,se=ne&&ne.modDataCount,le=se!=null?Math.ceil(se/oe):null;return{step:oe,modBy:le,modDataCount:se}}};proto$1.getPipeline=function(ee){return this._pipelineMap.get(ee)};proto$1.updateStreamModes=function(ee,te){var ae=this._pipelineMap.get(ee.uid),ne=ee.getData(),ie=ne.count(),oe=ae.progressiveEnabled&&te.incrementalPrepareRender&&ie>=ae.threshold,se=ee.get("large")&&ie>=ee.get("largeThreshold"),le=ee.get("progressiveChunkMode")==="mod"?ie:null;ee.pipelineContext=ae.context={progressiveRender:oe,modDataCount:le,large:se}};proto$1.restorePipelines=function(ee){var te=this,ae=te._pipelineMap=createHashMap$2();ee.eachSeries(function(ne){var ie=ne.getProgressive(),oe=ne.uid;ae.set(oe,{id:oe,head:null,tail:null,threshold:ne.getProgressiveThreshold(),progressiveEnabled:ie&&!(ne.preventIncremental&&ne.preventIncremental()),blockIndex:-1,step:Math.round(ie||700),count:0}),pipe(te,ne,ne.dataTask)})};proto$1.prepareStageTasks=function(){var ee=this._stageTaskMap,te=this.ecInstance.getModel(),ae=this.api;each$j(this._allHandlers,function(ne){var ie=ee.get(ne.uid)||ee.set(ne.uid,[]);ne.reset&&createSeriesStageTask(this,ne,ie,te,ae),ne.overallReset&&createOverallStageTask(this,ne,ie,te,ae)},this)};proto$1.prepareView=function(ee,te,ae,ne){var ie=ee.renderTask,oe=ie.context;oe.model=te,oe.ecModel=ae,oe.api=ne,ie.__block=!ee.incrementalPrepareRender,pipe(this,te,ie)};proto$1.performDataProcessorTasks=function(ee,te){performStageTasks(this,this._dataProcessorHandlers,ee,te,{block:!0})};proto$1.performVisualTasks=function(ee,te,ae){performStageTasks(this,this._visualHandlers,ee,te,ae)};function performStageTasks(ee,te,ae,ne,ie){ie=ie||{};var oe;each$j(te,function(le,ue){if(!(ie.visualType&&ie.visualType!==le.visualType)){var ce=ee._stageTaskMap.get(le.uid),de=ce.seriesTaskMap,he=ce.overallTask;if(he){var fe,pe=he.agentStubMap;pe.each(function(ge){se(ie,ge)&&(ge.dirty(),fe=!0)}),fe&&he.dirty(),updatePayload(he,ne);var ve=ee.getPerformArgs(he,ie.block);pe.each(function(ge){ge.perform(ve)}),oe|=he.perform(ve)}else de&&de.each(function(ge,me){se(ie,ge)&&ge.dirty();var ye=ee.getPerformArgs(ge,ie.block);ye.skip=!le.performRawSeries&&ae.isSeriesFiltered(ge.context.model),updatePayload(ge,ne),oe|=ge.perform(ye)})}});function se(le,ue){return le.setDirty&&(!le.dirtyMap||le.dirtyMap.get(ue.__pipeline.id))}ee.unfinished|=oe}proto$1.performSeriesTasks=function(ee){var te;ee.eachSeries(function(ae){te|=ae.dataTask.perform()}),this.unfinished|=te};proto$1.plan=function(){this._pipelineMap.each(function(ee){var te=ee.tail;do{if(te.__block){ee.blockIndex=te.__idxInPipeline;break}te=te.getUpstream()}while(te)})};var updatePayload=proto$1.updatePayload=function(ee,te){te!=="remain"&&(ee.context.payload=te)};function createSeriesStageTask(ee,te,ae,ne,ie){var oe=ae.seriesTaskMap||(ae.seriesTaskMap=createHashMap$2()),se=te.seriesType,le=te.getTargetSeries;te.createOnAllSeries?ne.eachRawSeries(ue):se?ne.eachRawSeriesByType(se,ue):le&&le(ne,ie).each(ue);function ue(de){var he=de.uid,fe=oe.get(he)||oe.set(he,createTask$1({plan:seriesTaskPlan$1,reset:seriesTaskReset$1,count:seriesTaskCount$1}));fe.context={model:de,ecModel:ne,api:ie,useClearVisual:te.isVisual&&!te.isLayout,plan:te.plan,reset:te.reset,scheduler:ee},pipe(ee,de,fe)}var ce=ee._pipelineMap;oe.each(function(de,he){ce.get(he)||(de.dispose(),oe.removeKey(he))})}function createOverallStageTask(ee,te,ae,ne,ie){var oe=ae.overallTask=ae.overallTask||createTask$1({reset:overallTaskReset$1});oe.context={ecModel:ne,api:ie,overallReset:te.overallReset,scheduler:ee};var se=oe.agentStubMap=oe.agentStubMap||createHashMap$2(),le=te.seriesType,ue=te.getTargetSeries,ce=!0,de=te.modifyOutputEnd;le?ne.eachRawSeriesByType(le,he):ue?ue(ne,ie).each(he):(ce=!1,each$j(ne.getSeries(),he));function he(pe){var ve=pe.uid,ge=se.get(ve);ge||(ge=se.set(ve,createTask$1({reset:stubReset$1,onDirty:stubOnDirty$1})),oe.dirty()),ge.context={model:pe,overallProgress:ce,modifyOutputEnd:de},ge.agent=oe,ge.__block=ce,pipe(ee,pe,ge)}var fe=ee._pipelineMap;se.each(function(pe,ve){fe.get(ve)||(pe.dispose(),oe.dirty(),se.removeKey(ve))})}function overallTaskReset$1(ee){ee.overallReset(ee.ecModel,ee.api,ee.payload)}function stubReset$1(ee,te){return ee.overallProgress&&stubProgress$1}function stubProgress$1(){this.agent.dirty(),this.getDownstream().dirty()}function stubOnDirty$1(){this.agent&&this.agent.dirty()}function seriesTaskPlan$1(ee){return ee.plan&&ee.plan(ee.model,ee.ecModel,ee.api,ee.payload)}function seriesTaskReset$1(ee){ee.useClearVisual&&ee.data.clearAllVisual();var te=ee.resetDefines=normalizeToArray$1(ee.reset(ee.model,ee.ecModel,ee.api,ee.payload));return te.length>1?map$3(te,function(ae,ne){return makeSeriesTaskProgress$1(ne)}):singleSeriesTaskProgress$1}var singleSeriesTaskProgress$1=makeSeriesTaskProgress$1(0);function makeSeriesTaskProgress$1(ee){return function(te,ae){var ne=ae.data,ie=ae.resetDefines[ee];if(ie&&ie.dataEach)for(var oe=te.start;oe<te.end;oe++)ie.dataEach(ne,oe);else ie&&ie.progress&&ie.progress(te,ne)}}function seriesTaskCount$1(ee){return ee.data.count()}function pipe(ee,te,ae){var ne=te.uid,ie=ee._pipelineMap.get(ne);!ie.head&&(ie.head=ae),ie.tail&&ie.tail.pipe(ae),ie.tail=ae,ae.__idxInPipeline=ie.count++,ae.__pipeline=ie}Scheduler$2.wrapStageHandler=function(ee,te){return isFunction$5(ee)&&(ee={overallReset:ee,seriesType:detectSeriseType$1(ee)}),ee.uid=getUID$1("stageHandler"),te&&(ee.visualType=te),ee};function detectSeriseType$1(ee){seriesType$1=null;try{ee(ecModelMock$1,apiMock$1)}catch{}return seriesType$1}var ecModelMock$1={},apiMock$1={},seriesType$1;mockMethods$1(ecModelMock$1,GlobalModel$2);mockMethods$1(apiMock$1,ExtensionAPI$2);ecModelMock$1.eachSeriesByType=ecModelMock$1.eachRawSeriesByType=function(ee){seriesType$1=ee};ecModelMock$1.eachComponent=function(ee){ee.mainType==="series"&&ee.subType&&(seriesType$1=ee.subType)};function mockMethods$1(ee,te){for(var ae in te.prototype)ee[ae]=noop$4}var _default$6=Scheduler$2,Scheduler_1=_default$6,colorAll$1=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],_default$5={color:colorAll$1,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],colorAll$1]},light=_default$5,contrastColor$1="#eee",axisCommon$1=function(){return{axisLine:{lineStyle:{color:contrastColor$1}},axisTick:{lineStyle:{color:contrastColor$1}},axisLabel:{textStyle:{color:contrastColor$1}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:contrastColor$1}}}},colorPalette$1=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],theme$2={color:colorPalette$1,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:contrastColor$1},crossStyle:{color:contrastColor$1},label:{color:"#000"}}},legend:{textStyle:{color:contrastColor$1}},textStyle:{color:contrastColor$1},title:{textStyle:{color:contrastColor$1}},toolbox:{iconStyle:{normal:{borderColor:contrastColor$1}}},dataZoom:{textStyle:{color:contrastColor$1}},visualMap:{textStyle:{color:contrastColor$1}},timeline:{lineStyle:{color:contrastColor$1},itemStyle:{normal:{color:colorPalette$1[1]}},label:{normal:{textStyle:{color:contrastColor$1}}},controlStyle:{normal:{color:contrastColor$1,borderColor:contrastColor$1}}},timeAxis:axisCommon$1(),logAxis:axisCommon$1(),valueAxis:axisCommon$1(),categoryAxis:axisCommon$1(),line:{symbol:"circle"},graph:{color:colorPalette$1},gauge:{title:{textStyle:{color:contrastColor$1}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};theme$2.categoryAxis.splitLine.show=!1;var _default$4=theme$2,dark=_default$4,dataset={},hasRequiredDataset;function requireDataset(){if(hasRequiredDataset)return dataset;hasRequiredDataset=1;var ee=Component$1,te=Component_1,ae=requireSourceHelper(),ne=ae.detectSourceFormat,ie=requireSourceType(),oe=ie.SERIES_LAYOUT_BY_COLUMN;return ee.extend({type:"dataset",defaultOption:{seriesLayoutBy:oe,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){ne(this)}}),te.extend({type:"dataset"}),dataset}var parseSVG$2={},Path$3=Path_1,_default$3=Path$3.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(ee,te){var ae=.5522848,ne=te.cx,ie=te.cy,oe=te.rx,se=te.ry,le=oe*ae,ue=se*ae;ee.moveTo(ne-oe,ie),ee.bezierCurveTo(ne-oe,ie-ue,ne-le,ie-se,ne,ie-se),ee.bezierCurveTo(ne+le,ie-se,ne+oe,ie-ue,ne+oe,ie),ee.bezierCurveTo(ne+oe,ie+ue,ne+le,ie+se,ne,ie+se),ee.bezierCurveTo(ne-le,ie+se,ne-oe,ie+ue,ne-oe,ie),ee.closePath()}}),Ellipse$3=_default$3,Group$5=Group_1,ZImage=Image$2,Text$1=Text_1,Circle$2=Circle$4,Rect$4=Rect$6,Ellipse$2=Ellipse$3,Line$4=Line$6,Path$2=Path_1,Polygon$2=Polygon$4,Polyline$4=Polyline$6,LinearGradient$2=LinearGradient_1,Style=Style_1,matrix$1=matrix$5,_path=path$1,createFromString$1=_path.createFromString,_util$1=util$a,isString$4=_util$1.isString,extend$6=_util$1.extend,defaults$5=_util$1.defaults,trim$4=_util$1.trim,each$i=_util$1.each,DILIMITER_REG=/[\s,]+/;function parseXML$2(ee){if(isString$4(ee)){var te=new DOMParser;ee=te.parseFromString(ee,"text/xml")}for(ee.nodeType===9&&(ee=ee.firstChild);ee.nodeName.toLowerCase()!=="svg"||ee.nodeType!==1;)ee=ee.nextSibling;return ee}function SVGParser$1(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}SVGParser$1.prototype.parse=function(ee,te){te=te||{};var ae=parseXML$2(ee);if(!ae)throw new Error("Illegal svg");var ne=new Group$5;this._root=ne;var ie=ae.getAttribute("viewBox")||"",oe=parseFloat(ae.getAttribute("width")||te.width),se=parseFloat(ae.getAttribute("height")||te.height);isNaN(oe)&&(oe=null),isNaN(se)&&(se=null),parseAttributes$1(ae,ne,null,!0);for(var le=ae.firstChild;le;)this._parseNode(le,ne),le=le.nextSibling;var ue,ce;if(ie){var de=trim$4(ie).split(DILIMITER_REG);de.length>=4&&(ue={x:parseFloat(de[0]||0),y:parseFloat(de[1]||0),width:parseFloat(de[2]),height:parseFloat(de[3])})}if(ue&&oe!=null&&se!=null&&(ce=makeViewBoxTransform$1(ue,oe,se),!te.ignoreViewBox)){var he=ne;ne=new Group$5,ne.add(he),he.scale=ce.scale.slice(),he.position=ce.position.slice()}return!te.ignoreRootClip&&oe!=null&&se!=null&&ne.setClipPath(new Rect$4({shape:{x:0,y:0,width:oe,height:se}})),{root:ne,width:oe,height:se,viewBoxRect:ue,viewBoxTransform:ce}};SVGParser$1.prototype._parseNode=function(ee,te){var ae=ee.nodeName.toLowerCase();ae==="defs"?this._isDefine=!0:ae==="text"&&(this._isText=!0);var ne;if(this._isDefine){var ie=defineParsers[ae];if(ie){var oe=ie.call(this,ee),se=ee.getAttribute("id");se&&(this._defs[se]=oe)}}else{var ie=nodeParsers$1[ae];ie&&(ne=ie.call(this,ee,te),te.add(ne))}for(var le=ee.firstChild;le;)le.nodeType===1&&this._parseNode(le,ne),le.nodeType===3&&this._isText&&this._parseText(le,ne),le=le.nextSibling;ae==="defs"?this._isDefine=!1:ae==="text"&&(this._isText=!1)};SVGParser$1.prototype._parseText=function(ee,te){if(ee.nodeType===1){var ae=ee.getAttribute("dx")||0,ne=ee.getAttribute("dy")||0;this._textX+=parseFloat(ae),this._textY+=parseFloat(ne)}var ie=new Text$1({style:{text:ee.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});inheritStyle$1(te,ie),parseAttributes$1(ee,ie,this._defs);var oe=ie.style.fontSize;oe&&oe<9&&(ie.style.fontSize=9,ie.scale=ie.scale||[1,1],ie.scale[0]*=oe/9,ie.scale[1]*=oe/9);var se=ie.getBoundingRect();return this._textX+=se.width,te.add(ie),ie};var nodeParsers$1={g:function(ee,te){var ae=new Group$5;return inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs),ae},rect:function(ee,te){var ae=new Rect$4;return inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs),ae.setShape({x:parseFloat(ee.getAttribute("x")||0),y:parseFloat(ee.getAttribute("y")||0),width:parseFloat(ee.getAttribute("width")||0),height:parseFloat(ee.getAttribute("height")||0)}),ae},circle:function(ee,te){var ae=new Circle$2;return inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs),ae.setShape({cx:parseFloat(ee.getAttribute("cx")||0),cy:parseFloat(ee.getAttribute("cy")||0),r:parseFloat(ee.getAttribute("r")||0)}),ae},line:function(ee,te){var ae=new Line$4;return inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs),ae.setShape({x1:parseFloat(ee.getAttribute("x1")||0),y1:parseFloat(ee.getAttribute("y1")||0),x2:parseFloat(ee.getAttribute("x2")||0),y2:parseFloat(ee.getAttribute("y2")||0)}),ae},ellipse:function(ee,te){var ae=new Ellipse$2;return inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs),ae.setShape({cx:parseFloat(ee.getAttribute("cx")||0),cy:parseFloat(ee.getAttribute("cy")||0),rx:parseFloat(ee.getAttribute("rx")||0),ry:parseFloat(ee.getAttribute("ry")||0)}),ae},polygon:function(ee,te){var ae=ee.getAttribute("points");ae&&(ae=parsePoints$1(ae));var ne=new Polygon$2({shape:{points:ae||[]}});return inheritStyle$1(te,ne),parseAttributes$1(ee,ne,this._defs),ne},polyline:function(ee,te){var ae=new Path$2;inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs);var ne=ee.getAttribute("points");ne&&(ne=parsePoints$1(ne));var ie=new Polyline$4({shape:{points:ne||[]}});return ie},image:function(ee,te){var ae=new ZImage;return inheritStyle$1(te,ae),parseAttributes$1(ee,ae,this._defs),ae.setStyle({image:ee.getAttribute("xlink:href"),x:ee.getAttribute("x"),y:ee.getAttribute("y"),width:ee.getAttribute("width"),height:ee.getAttribute("height")}),ae},text:function(ee,te){var ae=ee.getAttribute("x")||0,ne=ee.getAttribute("y")||0,ie=ee.getAttribute("dx")||0,oe=ee.getAttribute("dy")||0;this._textX=parseFloat(ae)+parseFloat(ie),this._textY=parseFloat(ne)+parseFloat(oe);var se=new Group$5;return inheritStyle$1(te,se),parseAttributes$1(ee,se,this._defs),se},tspan:function(ee,te){var ae=ee.getAttribute("x"),ne=ee.getAttribute("y");ae!=null&&(this._textX=parseFloat(ae)),ne!=null&&(this._textY=parseFloat(ne));var ie=ee.getAttribute("dx")||0,oe=ee.getAttribute("dy")||0,se=new Group$5;return inheritStyle$1(te,se),parseAttributes$1(ee,se,this._defs),this._textX+=ie,this._textY+=oe,se},path:function(ee,te){var ae=ee.getAttribute("d")||"",ne=createFromString$1(ae);return inheritStyle$1(te,ne),parseAttributes$1(ee,ne,this._defs),ne}},defineParsers={lineargradient:function(ee){var te=parseInt(ee.getAttribute("x1")||0,10),ae=parseInt(ee.getAttribute("y1")||0,10),ne=parseInt(ee.getAttribute("x2")||10,10),ie=parseInt(ee.getAttribute("y2")||0,10),oe=new LinearGradient$2(te,ae,ne,ie);return _parseGradientColorStops(ee,oe),oe},radialgradient:function(ee){}};function _parseGradientColorStops(ee,te){for(var ae=ee.firstChild;ae;){if(ae.nodeType===1){var ne=ae.getAttribute("offset");ne.indexOf("%")>0?ne=parseInt(ne,10)/100:ne?ne=parseFloat(ne):ne=0;var ie=ae.getAttribute("stop-color")||"#000000";te.addColorStop(ne,ie)}ae=ae.nextSibling}}function inheritStyle$1(ee,te){ee&&ee.__inheritedStyle&&(te.__inheritedStyle||(te.__inheritedStyle={}),defaults$5(te.__inheritedStyle,ee.__inheritedStyle))}function parsePoints$1(ee){for(var te=trim$4(ee).split(DILIMITER_REG),ae=[],ne=0;ne<te.length;ne+=2){var ie=parseFloat(te[ne]),oe=parseFloat(te[ne+1]);ae.push([ie,oe])}return ae}var attributesMap={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"};function parseAttributes$1(ee,te,ae,ne){var ie=te.__inheritedStyle||{},oe=te.type==="text";if(ee.nodeType===1&&(parseTransformAttribute$1(ee,te),extend$6(ie,parseStyleAttribute(ee)),!ne)){for(var se in attributesMap)if(attributesMap.hasOwnProperty(se)){var le=ee.getAttribute(se);le!=null&&(ie[attributesMap[se]]=le)}}var ue=oe?"textFill":"fill",ce=oe?"textStroke":"stroke";te.style=te.style||new Style;var de=te.style;ie.fill!=null&&de.set(ue,getPaint(ie.fill,ae)),ie.stroke!=null&&de.set(ce,getPaint(ie.stroke,ae)),each$i(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(he){var fe=he==="lineWidth"&&oe?"textStrokeWidth":he;ie[he]!=null&&de.set(fe,parseFloat(ie[he]))}),(!ie.textBaseline||ie.textBaseline==="auto")&&(ie.textBaseline="alphabetic"),ie.textBaseline==="alphabetic"&&(ie.textBaseline="bottom"),ie.textAlign==="start"&&(ie.textAlign="left"),ie.textAlign==="end"&&(ie.textAlign="right"),each$i(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign","textBaseline"],function(he){ie[he]!=null&&de.set(he,ie[he])}),ie.lineDash&&(te.style.lineDash=trim$4(ie.lineDash).split(DILIMITER_REG)),de[ce]&&de[ce]!=="none"&&(te[ce]=!0),te.__inheritedStyle=ie}var urlRegex$1=/url\(\s*#(.*?)\)/;function getPaint(ee,te){var ae=te&&ee&&ee.match(urlRegex$1);if(ae){var ne=trim$4(ae[1]),ie=te[ne];return ie}return ee}var transformRegex$1=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g;function parseTransformAttribute$1(ee,te){var ae=ee.getAttribute("transform");if(ae){ae=ae.replace(/,/g," ");var ne=null,ie=[];ae.replace(transformRegex$1,function(ue,ce,de){ie.push(ce,de)});for(var oe=ie.length-1;oe>0;oe-=2){var se=ie[oe],le=ie[oe-1];switch(ne=ne||matrix$1.create(),le){case"translate":se=trim$4(se).split(DILIMITER_REG),matrix$1.translate(ne,ne,[parseFloat(se[0]),parseFloat(se[1]||0)]);break;case"scale":se=trim$4(se).split(DILIMITER_REG),matrix$1.scale(ne,ne,[parseFloat(se[0]),parseFloat(se[1]||se[0])]);break;case"rotate":se=trim$4(se).split(DILIMITER_REG),matrix$1.rotate(ne,ne,parseFloat(se[0]));break;case"skew":se=trim$4(se).split(DILIMITER_REG),console.warn("Skew transform is not supported yet");break;case"matrix":var se=trim$4(se).split(DILIMITER_REG);ne[0]=parseFloat(se[0]),ne[1]=parseFloat(se[1]),ne[2]=parseFloat(se[2]),ne[3]=parseFloat(se[3]),ne[4]=parseFloat(se[4]),ne[5]=parseFloat(se[5]);break}}te.setLocalTransform(ne)}}var styleRegex$1=/([^\s:;]+)\s*:\s*([^:;]+)/g;function parseStyleAttribute(ee){var te=ee.getAttribute("style"),ae={};if(!te)return ae;var ne={};styleRegex$1.lastIndex=0;for(var ie;(ie=styleRegex$1.exec(te))!=null;)ne[ie[1]]=ie[2];for(var oe in attributesMap)attributesMap.hasOwnProperty(oe)&&ne[oe]!=null&&(ae[attributesMap[oe]]=ne[oe]);return ae}function makeViewBoxTransform$1(ee,te,ae){var ne=te/ee.width,ie=ae/ee.height,oe=Math.min(ne,ie),se=[oe,oe],le=[-(ee.x+ee.width/2)*oe+te/2,-(ee.y+ee.height/2)*oe+ae/2];return{scale:se,position:le}}function parseSVG$1(ee,te){var ae=new SVGParser$1;return ae.parse(ee,te)}parseSVG$2.parseXML=parseXML$2;parseSVG$2.makeViewBoxTransform=makeViewBoxTransform$1;parseSVG$2.parseSVG=parseSVG$1;var _util=util$a,createHashMap$1=_util.createHashMap,isString$3=_util.isString,isArray$4=_util.isArray,each$h=_util.each;_util.assert;var _parseSVG=parseSVG$2,parseXML$1=_parseSVG.parseXML,storage$1=createHashMap$1(),_default$2={registerMap:function(ee,te,ae){var ne;return isArray$4(te)?ne=te:te.svg?ne=[{type:"svg",source:te.svg,specialAreas:te.specialAreas}]:(te.geoJson&&!te.features&&(ae=te.specialAreas,te=te.geoJson),ne=[{type:"geoJSON",source:te,specialAreas:ae}]),each$h(ne,function(ie){var oe=ie.type;oe==="geoJson"&&(oe=ie.type="geoJSON");var se=parsers[oe];se(ie)}),storage$1.set(ee,ne)},retrieveMap:function(ee){return storage$1.get(ee)}},parsers={geoJSON:function(ee){var te=ee.source;ee.geoJSON=isString$3(te)?typeof JSON<"u"&&JSON.parse?JSON.parse(te):new Function("return ("+te+");")():te},svg:function(ee){ee.svgXML=parseXML$1(ee.source)}},mapDataStorage=_default$2,_export={},helper$6={},DataDiffer_1,hasRequiredDataDiffer;function requireDataDiffer(){if(hasRequiredDataDiffer)return DataDiffer_1;hasRequiredDataDiffer=1;function ee(ie){return ie}function te(ie,oe,se,le,ue){this._old=ie,this._new=oe,this._oldKeyGetter=se||ee,this._newKeyGetter=le||ee,this.context=ue}te.prototype={constructor:te,add:function(ie){return this._add=ie,this},update:function(ie){return this._update=ie,this},remove:function(ie){return this._remove=ie,this},execute:function(){var ie=this._old,oe=this._new,se={},le={},ue=[],ce=[],de;for(ae(ie,se,ue,"_oldKeyGetter",this),ae(oe,le,ce,"_newKeyGetter",this),de=0;de<ie.length;de++){var he=ue[de],fe=le[he];if(fe!=null){var pe=fe.length;pe?(pe===1&&(le[he]=null),fe=fe.shift()):le[he]=null,this._update&&this._update(fe,de)}else this._remove&&this._remove(de)}for(var de=0;de<ce.length;de++){var he=ce[de];if(le.hasOwnProperty(he)){var fe=le[he];if(fe==null)continue;if(!fe.length)this._add&&this._add(fe);else for(var ve=0,pe=fe.length;ve<pe;ve++)this._add&&this._add(fe[ve])}}}};function ae(ie,oe,se,le,ue){for(var ce=0;ce<ie.length;ce++){var de="_ec_"+ue[le](ie[ce],ce),he=oe[de];he==null?(se.push(de),oe[de]=ce):(he.length||(oe[de]=he=[he]),he.push(ce))}}var ne=te;return DataDiffer_1=ne,DataDiffer_1}var dimensionHelper={},hasRequiredDimensionHelper;function requireDimensionHelper(){if(hasRequiredDimensionHelper)return dimensionHelper;hasRequiredDimensionHelper=1;var ee=util$a,te=ee.each,ae=ee.createHashMap;ee.assert;var ne=ae(["tooltip","label","itemName","itemId","seriesName"]);function ie(ue){var ce={},de=ce.encode={},he=ae(),fe=[],pe=[],ve=ce.userOutput={dimensionNames:ue.dimensions.slice(),encode:{}};te(ue.dimensions,function(be){var xe=ue.getDimensionInfo(be),$e=xe.coordDim;if($e){var Se=xe.coordDimIndex;oe(de,$e)[Se]=be,xe.isExtraCoord||(he.set($e,1),le(xe.type)&&(fe[0]=be),oe(ve.encode,$e)[Se]=xe.index),xe.defaultTooltip&&pe.push(be)}ne.each(function(we,Ae){var Te=oe(de,Ae),De=xe.otherDims[Ae];De!=null&&De!==!1&&(Te[De]=xe.name)})});var ge=[],me={};he.each(function(be,xe){var $e=de[xe];me[xe]=$e[0],ge=ge.concat($e)}),ce.dataDimsOnCoord=ge,ce.encodeFirstDimNotExtra=me;var ye=de.label;ye&&ye.length&&(fe=ye.slice());var _e=de.tooltip;return _e&&_e.length?pe=_e.slice():pe.length||(pe=fe.slice()),de.defaultedLabel=fe,de.defaultedTooltip=pe,ce}function oe(ue,ce){return ue.hasOwnProperty(ce)||(ue[ce]=[]),ue[ce]}function se(ue){return ue==="category"?"ordinal":ue==="time"?"time":"float"}function le(ue){return!(ue==="ordinal"||ue==="time")}return dimensionHelper.OTHER_DIMENSIONS=ne,dimensionHelper.summarizeDimensions=ie,dimensionHelper.getDimensionTypeByAxis=se,dimensionHelper}var DataDimensionInfo_1,hasRequiredDataDimensionInfo;function requireDataDimensionInfo(){if(hasRequiredDataDimensionInfo)return DataDimensionInfo_1;hasRequiredDataDimensionInfo=1;var ee=util$a;function te(ne){ne!=null&&ee.extend(this,ne),this.otherDims={}}var ae=te;return DataDimensionInfo_1=ae,DataDimensionInfo_1}var List_1,hasRequiredList;function requireList(){if(hasRequiredList)return List_1;hasRequiredList=1;var ee=util$a,te=Model_1,ae=requireDataDiffer(),ne=requireSource(),ie=dataProvider,oe=ie.defaultDimValueGetters,se=ie.DefaultDataProvider,le=requireDimensionHelper(),ue=le.summarizeDimensions,ce=requireDataDimensionInfo(),de=ee.isObject,he="undefined",fe=-1,pe="e\0\0",ve={float:typeof Float64Array===he?Array:Float64Array,int:typeof Int32Array===he?Array:Int32Array,ordinal:Array,number:Array,time:Array},ge=typeof Uint32Array===he?Array:Uint32Array,me=typeof Int32Array===he?Array:Int32Array,ye=typeof Uint16Array===he?Array:Uint16Array;function _e(Oe){return Oe._rawCount>65535?ge:ye}function be(Oe){var ze=Oe.constructor;return ze===Array?Oe.slice():new ze(Oe)}var xe=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],$e=["_extent","_approximateExtent","_rawExtent"];function Se(Oe,ze){ee.each(xe.concat(ze.__wrappedMethods||[]),function(Ve){ze.hasOwnProperty(Ve)&&(Oe[Ve]=ze[Ve])}),Oe.__wrappedMethods=ze.__wrappedMethods,ee.each($e,function(Ve){Oe[Ve]=ee.clone(ze[Ve])}),Oe._calculationInfo=ee.extend(ze._calculationInfo)}var we=function(Oe,ze){Oe=Oe||["x","y"];for(var Ve={},Ge=[],We={},Ue=0;Ue<Oe.length;Ue++){var Ye=Oe[Ue];ee.isString(Ye)?Ye=new ce({name:Ye}):Ye instanceof ce||(Ye=new ce(Ye));var Ze=Ye.name;Ye.type=Ye.type||"float",Ye.coordDim||(Ye.coordDim=Ze,Ye.coordDimIndex=0),Ye.otherDims=Ye.otherDims||{},Ge.push(Ze),Ve[Ze]=Ye,Ye.index=Ue,Ye.createInvertedIndices&&(We[Ze]=[])}this.dimensions=Ge,this._dimensionInfos=Ve,this.hostModel=ze,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=ue(this),this._invertedIndicesMap=We,this._calculationInfo={},this.userOutput=this._dimensionsSummary.userOutput},Ae=we.prototype;Ae.type="list",Ae.hasItemOption=!0,Ae.getDimension=function(Oe){return(typeof Oe=="number"||!isNaN(Oe)&&!this._dimensionInfos.hasOwnProperty(Oe))&&(Oe=this.dimensions[Oe]),Oe},Ae.getDimensionInfo=function(Oe){return this._dimensionInfos[this.getDimension(Oe)]},Ae.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},Ae.mapDimension=function(Oe,ze){var Ve=this._dimensionsSummary;if(ze==null)return Ve.encodeFirstDimNotExtra[Oe];var Ge=Ve.encode[Oe];return ze===!0?(Ge||[]).slice():Ge&&Ge[ze]},Ae.initData=function(Oe,ze,Ve){var Ge=ne.isInstance(Oe)||ee.isArrayLike(Oe);Ge&&(Oe=new se(Oe,this.dimensions.length)),this._rawData=Oe,this._storage={},this._indices=null,this._nameList=ze||[],this._idList=[],this._nameRepeatCount={},Ve||(this.hasItemOption=!1),this.defaultDimValueGetter=oe[this._rawData.getSource().sourceFormat],this._dimValueGetter=Ve=Ve||this.defaultDimValueGetter,this._dimValueGetterArrayRows=oe.arrayRows,this._rawExtent={},this._initDataFromProvider(0,Oe.count()),Oe.pure&&(this.hasItemOption=!1)},Ae.getProvider=function(){return this._rawData},Ae.appendData=function(Oe){var ze=this._rawData,Ve=this.count();ze.appendData(Oe);var Ge=ze.count();ze.persistent||(Ge+=Ve),this._initDataFromProvider(Ve,Ge)},Ae.appendValues=function(Oe,ze){for(var Ve=this._chunkSize,Ge=this._storage,We=this.dimensions,Ue=We.length,Ye=this._rawExtent,Ze=this.count(),Xe=Ze+Math.max(Oe.length,ze?ze.length:0),it=this._chunkCount,at=0;at<Ue;at++){var ut=We[at];Ye[ut]||(Ye[ut]=Ne()),Ge[ut]||(Ge[ut]=[]),Te(Ge,this._dimensionInfos[ut],Ve,it,Xe),this._chunkCount=Ge[ut].length}for(var dt=new Array(Ue),pt=Ze;pt<Xe;pt++){for(var gt=pt-Ze,bt=Math.floor(pt/Ve),Tt=pt%Ve,At=0;At<Ue;At++){var ut=We[At],Mt=this._dimValueGetterArrayRows(Oe[gt]||dt,ut,gt,At);Ge[ut][bt][Tt]=Mt;var qt=Ye[ut];Mt<qt[0]&&(qt[0]=Mt),Mt>qt[1]&&(qt[1]=Mt)}ze&&(this._nameList[pt]=ze[gt])}this._rawCount=this._count=Xe,this._extent={},De(this)},Ae._initDataFromProvider=function(Oe,ze){if(!(Oe>=ze)){for(var Ve=this._chunkSize,Ge=this._rawData,We=this._storage,Ue=this.dimensions,Ye=Ue.length,Ze=this._dimensionInfos,Xe=this._nameList,it=this._idList,at=this._rawExtent,ut=this._nameRepeatCount={},dt,pt=this._chunkCount,gt=0;gt<Ye;gt++){var bt=Ue[gt];at[bt]||(at[bt]=Ne());var Tt=Ze[bt];Tt.otherDims.itemName===0&&(dt=this._nameDimIdx=gt),Tt.otherDims.itemId===0&&(this._idDimIdx=gt),We[bt]||(We[bt]=[]),Te(We,Tt,Ve,pt,ze),this._chunkCount=We[bt].length}for(var At=new Array(Ye),Mt=Oe;Mt<ze;Mt++){At=Ge.getItem(Mt,At);for(var qt=Math.floor(Mt/Ve),St=Mt%Ve,Ct=0;Ct<Ye;Ct++){var bt=Ue[Ct],Ot=We[bt][qt],ct=this._dimValueGetter(At,bt,Mt,Ct);Ot[St]=ct;var vt=at[bt];ct<vt[0]&&(vt[0]=ct),ct>vt[1]&&(vt[1]=ct)}if(!Ge.pure){var yt=Xe[Mt];if(At&&yt==null){if(At.name!=null)Xe[Mt]=yt=At.name;else if(dt!=null){var Dt=Ue[dt],Pt=We[Dt][qt];if(Pt){yt=Pt[St];var It=Ze[Dt].ordinalMeta;It&&It.categories.length&&(yt=It.categories[yt])}}}var Lt=At==null?null:At.id;Lt==null&&yt!=null&&(ut[yt]=ut[yt]||0,Lt=yt,ut[yt]>0&&(Lt+="__ec__"+ut[yt]),ut[yt]++),Lt!=null&&(it[Mt]=Lt)}}!Ge.persistent&&Ge.clean&&Ge.clean(),this._rawCount=this._count=ze,this._extent={},De(this)}};function Te(Oe,ze,Ve,Ge,We){var Ue=ve[ze.type],Ye=Ge-1,Ze=ze.name,Xe=Oe[Ze][Ye];if(Xe&&Xe.length<Ve){for(var it=new Ue(Math.min(We-Ye*Ve,Ve)),at=0;at<Xe.length;at++)it[at]=Xe[at];Oe[Ze][Ye]=it}for(var ut=Ge*Ve;ut<We;ut+=Ve)Oe[Ze].push(new Ue(Math.min(We-ut,Ve)))}function De(Oe){var ze=Oe._invertedIndicesMap;ee.each(ze,function(Ve,Ge){var We=Oe._dimensionInfos[Ge],Ue=We.ordinalMeta;if(Ue){Ve=ze[Ge]=new me(Ue.categories.length);for(var Ye=0;Ye<Ve.length;Ye++)Ve[Ye]=fe;for(var Ye=0;Ye<Oe._count;Ye++)Ve[Oe.get(Ge,Ye)]=Ye}})}function Me(Oe,ze,Ve){var Ge;if(ze!=null){var We=Oe._chunkSize,Ue=Math.floor(Ve/We),Ye=Ve%We,Ze=Oe.dimensions[ze],Xe=Oe._storage[Ze][Ue];if(Xe){Ge=Xe[Ye];var it=Oe._dimensionInfos[Ze].ordinalMeta;it&&it.categories.length&&(Ge=it.categories[Ge])}}return Ge}Ae.count=function(){return this._count},Ae.getIndices=function(){var Oe,ze=this._indices;if(ze){var Ve=ze.constructor,Ge=this._count;if(Ve===Array){Oe=new Ve(Ge);for(var We=0;We<Ge;We++)Oe[We]=ze[We]}else Oe=new Ve(ze.buffer,0,Ge)}else for(var Ve=_e(this),Oe=new Ve(this.count()),We=0;We<Oe.length;We++)Oe[We]=We;return Oe},Ae.get=function(Oe,ze){if(!(ze>=0&&ze<this._count))return NaN;var Ve=this._storage;if(!Ve[Oe])return NaN;ze=this.getRawIndex(ze);var Ge=Math.floor(ze/this._chunkSize),We=ze%this._chunkSize,Ue=Ve[Oe][Ge],Ye=Ue[We];return Ye},Ae.getByRawIndex=function(Oe,ze){if(!(ze>=0&&ze<this._rawCount))return NaN;var Ve=this._storage[Oe];if(!Ve)return NaN;var Ge=Math.floor(ze/this._chunkSize),We=ze%this._chunkSize,Ue=Ve[Ge];return Ue[We]},Ae._getFast=function(Oe,ze){var Ve=Math.floor(ze/this._chunkSize),Ge=ze%this._chunkSize,We=this._storage[Oe][Ve];return We[Ge]},Ae.getValues=function(Oe,ze){var Ve=[];ee.isArray(Oe)||(ze=Oe,Oe=this.dimensions);for(var Ge=0,We=Oe.length;Ge<We;Ge++)Ve.push(this.get(Oe[Ge],ze));return Ve},Ae.hasValue=function(Oe){for(var ze=this._dimensionsSummary.dataDimsOnCoord,Ve=0,Ge=ze.length;Ve<Ge;Ve++)if(isNaN(this.get(ze[Ve],Oe)))return!1;return!0},Ae.getDataExtent=function(Oe){Oe=this.getDimension(Oe);var ze=this._storage[Oe],Ve=Ne();if(!ze)return Ve;var Ge=this.count(),We=!this._indices,Ue;if(We)return this._rawExtent[Oe].slice();if(Ue=this._extent[Oe],Ue)return Ue.slice();Ue=Ve;for(var Ye=Ue[0],Ze=Ue[1],Xe=0;Xe<Ge;Xe++){var it=this._getFast(Oe,this.getRawIndex(Xe));it<Ye&&(Ye=it),it>Ze&&(Ze=it)}return Ue=[Ye,Ze],this._extent[Oe]=Ue,Ue},Ae.getApproximateExtent=function(Oe){return Oe=this.getDimension(Oe),this._approximateExtent[Oe]||this.getDataExtent(Oe)},Ae.setApproximateExtent=function(Oe,ze){ze=this.getDimension(ze),this._approximateExtent[ze]=Oe.slice()},Ae.getCalculationInfo=function(Oe){return this._calculationInfo[Oe]},Ae.setCalculationInfo=function(Oe,ze){de(Oe)?ee.extend(this._calculationInfo,Oe):this._calculationInfo[Oe]=ze},Ae.getSum=function(Oe){var ze=this._storage[Oe],Ve=0;if(ze)for(var Ge=0,We=this.count();Ge<We;Ge++){var Ue=this.get(Oe,Ge);isNaN(Ue)||(Ve+=Ue)}return Ve},Ae.getMedian=function(Oe){var ze=[];this.each(Oe,function(We,Ue){isNaN(We)||ze.push(We)});var Ve=[].concat(ze).sort(function(We,Ue){return We-Ue}),Ge=this.count();return Ge===0?0:Ge%2===1?Ve[(Ge-1)/2]:(Ve[Ge/2]+Ve[Ge/2-1])/2},Ae.rawIndexOf=function(Oe,ze){var Ve=Oe&&this._invertedIndicesMap[Oe],Ge=Ve[ze];return Ge==null||isNaN(Ge)?fe:Ge},Ae.indexOfName=function(Oe){for(var ze=0,Ve=this.count();ze<Ve;ze++)if(this.getName(ze)===Oe)return ze;return-1},Ae.indexOfRawIndex=function(Oe){if(Oe>=this._rawCount||Oe<0)return-1;if(!this._indices)return Oe;var ze=this._indices,Ve=ze[Oe];if(Ve!=null&&Ve<this._count&&Ve===Oe)return Oe;for(var Ge=0,We=this._count-1;Ge<=We;){var Ue=(Ge+We)/2|0;if(ze[Ue]<Oe)Ge=Ue+1;else if(ze[Ue]>Oe)We=Ue-1;else return Ue}return-1},Ae.indicesOfNearest=function(Oe,ze,Ve){var Ge=this._storage,We=Ge[Oe],Ue=[];if(!We)return Ue;Ve==null&&(Ve=1/0);for(var Ye=1/0,Ze=-1,Xe=0,it=0,at=this.count();it<at;it++){var ut=ze-this.get(Oe,it),dt=Math.abs(ut);dt<=Ve&&((dt<Ye||dt===Ye&&ut>=0&&Ze<0)&&(Ye=dt,Ze=ut,Xe=0),ut===Ze&&(Ue[Xe++]=it))}return Ue.length=Xe,Ue},Ae.getRawIndex=Ie;function Ie(Oe){return Oe}function Ce(Oe){return Oe<this._count&&Oe>=0?this._indices[Oe]:-1}Ae.getRawDataItem=function(Oe){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(Oe));for(var ze=[],Ve=0;Ve<this.dimensions.length;Ve++){var Ge=this.dimensions[Ve];ze.push(this.get(Ge,Oe))}return ze},Ae.getName=function(Oe){var ze=this.getRawIndex(Oe);return this._nameList[ze]||Me(this,this._nameDimIdx,ze)||""},Ae.getId=function(Oe){return Ee(this,this.getRawIndex(Oe))};function Ee(Oe,ze){var Ve=Oe._idList[ze];return Ve==null&&(Ve=Me(Oe,Oe._idDimIdx,ze)),Ve==null&&(Ve=pe+ze),Ve}function Re(Oe){return ee.isArray(Oe)||(Oe=[Oe]),Oe}Ae.each=function(Oe,ze,Ve,Ge){if(this._count){typeof Oe=="function"&&(Ge=Ve,Ve=ze,ze=Oe,Oe=[]),Ve=Ve||Ge||this,Oe=ee.map(Re(Oe),this.getDimension,this);for(var We=Oe.length,Ue=0;Ue<this.count();Ue++)switch(We){case 0:ze.call(Ve,Ue);break;case 1:ze.call(Ve,this.get(Oe[0],Ue),Ue);break;case 2:ze.call(Ve,this.get(Oe[0],Ue),this.get(Oe[1],Ue),Ue);break;default:for(var Ye=0,Ze=[];Ye<We;Ye++)Ze[Ye]=this.get(Oe[Ye],Ue);Ze[Ye]=Ue,ze.apply(Ve,Ze)}}},Ae.filterSelf=function(Oe,ze,Ve,Ge){if(this._count){typeof Oe=="function"&&(Ge=Ve,Ve=ze,ze=Oe,Oe=[]),Ve=Ve||Ge||this,Oe=ee.map(Re(Oe),this.getDimension,this);for(var We=this.count(),Ue=_e(this),Ye=new Ue(We),Ze=[],Xe=Oe.length,it=0,at=Oe[0],ut=0;ut<We;ut++){var dt,pt=this.getRawIndex(ut);if(Xe===0)dt=ze.call(Ve,ut);else if(Xe===1){var gt=this._getFast(at,pt);dt=ze.call(Ve,gt,ut)}else{for(var bt=0;bt<Xe;bt++)Ze[bt]=this._getFast(at,pt);Ze[bt]=ut,dt=ze.apply(Ve,Ze)}dt&&(Ye[it++]=pt)}return it<We&&(this._indices=Ye),this._count=it,this._extent={},this.getRawIndex=this._indices?Ce:Ie,this}},Ae.selectRange=function(Oe){if(this._count){var ze=[];for(var Ve in Oe)Oe.hasOwnProperty(Ve)&&ze.push(Ve);var Ge=ze.length;if(Ge){var We=this.count(),Ue=_e(this),Ye=new Ue(We),Ze=0,Xe=ze[0],it=Oe[Xe][0],at=Oe[Xe][1],ut=!1;if(!this._indices){var dt=0;if(Ge===1){for(var pt=this._storage[ze[0]],gt=0;gt<this._chunkCount;gt++)for(var bt=pt[gt],Tt=Math.min(this._count-gt*this._chunkSize,this._chunkSize),At=0;At<Tt;At++){var Mt=bt[At];(Mt>=it&&Mt<=at||isNaN(Mt))&&(Ye[Ze++]=dt),dt++}ut=!0}else if(Ge===2){for(var pt=this._storage[Xe],qt=this._storage[ze[1]],St=Oe[ze[1]][0],Ct=Oe[ze[1]][1],gt=0;gt<this._chunkCount;gt++)for(var bt=pt[gt],Ot=qt[gt],Tt=Math.min(this._count-gt*this._chunkSize,this._chunkSize),At=0;At<Tt;At++){var Mt=bt[At],ct=Ot[At];(Mt>=it&&Mt<=at||isNaN(Mt))&&(ct>=St&&ct<=Ct||isNaN(ct))&&(Ye[Ze++]=dt),dt++}ut=!0}}if(!ut)if(Ge===1)for(var At=0;At<We;At++){var vt=this.getRawIndex(At),Mt=this._getFast(Xe,vt);(Mt>=it&&Mt<=at||isNaN(Mt))&&(Ye[Ze++]=vt)}else for(var At=0;At<We;At++){for(var yt=!0,vt=this.getRawIndex(At),gt=0;gt<Ge;gt++){var Dt=ze[gt],Mt=this._getFast(Ve,vt);(Mt<Oe[Dt][0]||Mt>Oe[Dt][1])&&(yt=!1)}yt&&(Ye[Ze++]=this.getRawIndex(At))}return Ze<We&&(this._indices=Ye),this._count=Ze,this._extent={},this.getRawIndex=this._indices?Ce:Ie,this}}},Ae.mapArray=function(Oe,ze,Ve,Ge){typeof Oe=="function"&&(Ge=Ve,Ve=ze,ze=Oe,Oe=[]),Ve=Ve||Ge||this;var We=[];return this.each(Oe,function(){We.push(ze&&ze.apply(this,arguments))},Ve),We};function ke(Oe,ze){var Ve=Oe.dimensions,Ge=new we(ee.map(Ve,Oe.getDimensionInfo,Oe),Oe.hostModel);Se(Ge,Oe);for(var We=Ge._storage={},Ue=Oe._storage,Ye=0;Ye<Ve.length;Ye++){var Ze=Ve[Ye];Ue[Ze]&&(ee.indexOf(ze,Ze)>=0?(We[Ze]=Be(Ue[Ze]),Ge._rawExtent[Ze]=Ne(),Ge._extent[Ze]=null):We[Ze]=Ue[Ze])}return Ge}function Be(Oe){for(var ze=new Array(Oe.length),Ve=0;Ve<Oe.length;Ve++)ze[Ve]=be(Oe[Ve]);return ze}function Ne(){return[1/0,-1/0]}Ae.map=function(Oe,ze,Ve,Ge){Ve=Ve||Ge||this,Oe=ee.map(Re(Oe),this.getDimension,this);var We=ke(this,Oe);We._indices=this._indices,We.getRawIndex=We._indices?Ce:Ie;for(var Ue=We._storage,Ye=[],Ze=this._chunkSize,Xe=Oe.length,it=this.count(),at=[],ut=We._rawExtent,dt=0;dt<it;dt++){for(var pt=0;pt<Xe;pt++)at[pt]=this.get(Oe[pt],dt);at[Xe]=dt;var gt=ze&&ze.apply(Ve,at);if(gt!=null){typeof gt!="object"&&(Ye[0]=gt,gt=Ye);for(var bt=this.getRawIndex(dt),Tt=Math.floor(bt/Ze),At=bt%Ze,Mt=0;Mt<gt.length;Mt++){var qt=Oe[Mt],St=gt[Mt],Ct=ut[qt],Ot=Ue[qt];Ot&&(Ot[Tt][At]=St),St<Ct[0]&&(Ct[0]=St),St>Ct[1]&&(Ct[1]=St)}}}return We},Ae.downSample=function(Oe,ze,Ve,Ge){for(var We=ke(this,[Oe]),Ue=We._storage,Ye=[],Ze=Math.floor(1/ze),Xe=Ue[Oe],it=this.count(),at=this._chunkSize,ut=We._rawExtent[Oe],dt=new(_e(this))(it),pt=0,gt=0;gt<it;gt+=Ze){Ze>it-gt&&(Ze=it-gt,Ye.length=Ze);for(var bt=0;bt<Ze;bt++){var Tt=this.getRawIndex(gt+bt),At=Math.floor(Tt/at),Mt=Tt%at;Ye[bt]=Xe[At][Mt]}var qt=Ve(Ye),St=this.getRawIndex(Math.min(gt+Ge(Ye,qt)||0,it-1)),Ct=Math.floor(St/at),Ot=St%at;Xe[Ct][Ot]=qt,qt<ut[0]&&(ut[0]=qt),qt>ut[1]&&(ut[1]=qt),dt[pt++]=St}return We._count=pt,We._indices=dt,We.getRawIndex=Ce,We},Ae.getItemModel=function(Oe){var ze=this.hostModel;return new te(this.getRawDataItem(Oe),ze,ze&&ze.ecModel)},Ae.diff=function(Oe){var ze=this;return new ae(Oe?Oe.getIndices():[],this.getIndices(),function(Ve){return Ee(Oe,Ve)},function(Ve){return Ee(ze,Ve)})},Ae.getVisual=function(Oe){var ze=this._visual;return ze&&ze[Oe]},Ae.setVisual=function(Oe,ze){if(de(Oe)){for(var Ve in Oe)Oe.hasOwnProperty(Ve)&&this.setVisual(Ve,Oe[Ve]);return}this._visual=this._visual||{},this._visual[Oe]=ze},Ae.setLayout=function(Oe,ze){if(de(Oe)){for(var Ve in Oe)Oe.hasOwnProperty(Ve)&&this.setLayout(Ve,Oe[Ve]);return}this._layout[Oe]=ze},Ae.getLayout=function(Oe){return this._layout[Oe]},Ae.getItemLayout=function(Oe){return this._itemLayouts[Oe]},Ae.setItemLayout=function(Oe,ze,Ve){this._itemLayouts[Oe]=Ve?ee.extend(this._itemLayouts[Oe]||{},ze):ze},Ae.clearItemLayouts=function(){this._itemLayouts.length=0},Ae.getItemVisual=function(Oe,ze,Ve){var Ge=this._itemVisuals[Oe],We=Ge&&Ge[ze];return We==null&&!Ve?this.getVisual(ze):We},Ae.setItemVisual=function(Oe,ze,Ve){var Ge=this._itemVisuals[Oe]||{},We=this.hasItemVisual;if(this._itemVisuals[Oe]=Ge,de(ze)){for(var Ue in ze)ze.hasOwnProperty(Ue)&&(Ge[Ue]=ze[Ue],We[Ue]=!0);return}Ge[ze]=Ve,We[ze]=!0},Ae.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var He=function(Oe){Oe.seriesIndex=this.seriesIndex,Oe.dataIndex=this.dataIndex,Oe.dataType=this.dataType};Ae.setItemGraphicEl=function(Oe,ze){var Ve=this.hostModel;ze&&(ze.dataIndex=Oe,ze.dataType=this.dataType,ze.seriesIndex=Ve&&Ve.seriesIndex,ze.type==="group"&&ze.traverse(He,ze)),this._graphicEls[Oe]=ze},Ae.getItemGraphicEl=function(Oe){return this._graphicEls[Oe]},Ae.eachItemGraphicEl=function(Oe,ze){ee.each(this._graphicEls,function(Ve,Ge){Ve&&Oe&&Oe.call(ze,Ve,Ge)})},Ae.cloneShallow=function(Oe){if(!Oe){var ze=ee.map(this.dimensions,this.getDimensionInfo,this);Oe=new we(ze,this.hostModel)}if(Oe._storage=this._storage,Se(Oe,this),this._indices){var Ve=this._indices.constructor;Oe._indices=new Ve(this._indices)}else Oe._indices=null;return Oe.getRawIndex=Oe._indices?Ce:Ie,Oe},Ae.wrapMethod=function(Oe,ze){var Ve=this[Oe];typeof Ve=="function"&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(Oe),this[Oe]=function(){var Ge=Ve.apply(this,arguments);return ze.apply(this,[Ge].concat(ee.slice(arguments)))})},Ae.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],Ae.CHANGABLE_METHODS=["filterSelf","selectRange"];var qe=we;return List_1=qe,List_1}var completeDimensions_1,hasRequiredCompleteDimensions;function requireCompleteDimensions(){if(hasRequiredCompleteDimensions)return completeDimensions_1;hasRequiredCompleteDimensions=1;var ee=util$a,te=ee.createHashMap,ae=ee.each,ne=ee.isString,ie=ee.defaults,oe=ee.extend,se=ee.isObject,le=ee.clone,ue=model,ce=ue.normalizeToArray,de=requireSourceHelper(),he=de.guessOrdinal,fe=de.BE_ORDINAL,pe=requireSource(),ve=requireDimensionHelper(),ge=ve.OTHER_DIMENSIONS,me=requireDataDimensionInfo();function ye($e,Se,we){pe.isInstance(Se)||(Se=pe.seriesDataToSource(Se)),we=we||{},$e=($e||[]).slice();for(var Ae=(we.dimsDef||[]).slice(),Te=te(),De=te(),Me=[],Ie=_e(Se,$e,Ae,we.dimCount),Ce=0;Ce<Ie;Ce++){var Ee=Ae[Ce]=oe({},se(Ae[Ce])?Ae[Ce]:{name:Ae[Ce]}),Re=Ee.name,ke=Me[Ce]=new me;Re!=null&&Te.get(Re)==null&&(ke.name=ke.displayName=Re,Te.set(Re,Ce)),Ee.type!=null&&(ke.type=Ee.type),Ee.displayName!=null&&(ke.displayName=Ee.displayName)}var Be=we.encodeDef;!Be&&we.encodeDefaulter&&(Be=we.encodeDefaulter(Se,Ie)),Be=te(Be),Be.each(function(Ue,Ye){if(Ue=ce(Ue).slice(),Ue.length===1&&!ne(Ue[0])&&Ue[0]<0){Be.set(Ye,!1);return}var Ze=Be.set(Ye,[]);ae(Ue,function(Xe,it){ne(Xe)&&(Xe=Te.get(Xe)),Xe!=null&&Xe<Ie&&(Ze[it]=Xe,He(Me[Xe],Ye,it))})});var Ne=0;ae($e,function(Xe,Ye){var Ze,Xe,it,at;if(ne(Xe))Ze=Xe,Xe={};else{Ze=Xe.name;var ut=Xe.ordinalMeta;Xe.ordinalMeta=null,Xe=le(Xe),Xe.ordinalMeta=ut,it=Xe.dimsDef,at=Xe.otherDims,Xe.name=Xe.coordDim=Xe.coordDimIndex=Xe.dimsDef=Xe.otherDims=null}var dt=Be.get(Ze);if(dt!==!1){var dt=ce(dt);if(!dt.length)for(var pt=0;pt<(it&&it.length||1);pt++){for(;Ne<Me.length&&Me[Ne].coordDim!=null;)Ne++;Ne<Me.length&&dt.push(Ne++)}ae(dt,function(gt,bt){var Tt=Me[gt];if(He(ie(Tt,Xe),Ze,bt),Tt.name==null&&it){var At=it[bt];!se(At)&&(At={name:At}),Tt.name=Tt.displayName=At.name,Tt.defaultTooltip=At.defaultTooltip}at&&ie(Tt.otherDims,at)})}});function He(Ue,Ye,Ze){ge.get(Ye)!=null?Ue.otherDims[Ye]=Ze:(Ue.coordDim=Ye,Ue.coordDimIndex=Ze,De.set(Ye,!0))}var qe=we.generateCoord,Oe=we.generateCoordCount,ze=Oe!=null;Oe=qe?Oe||1:0;for(var Ve=qe||"value",Ge=0;Ge<Ie;Ge++){var ke=Me[Ge]=Me[Ge]||new me,We=ke.coordDim;We==null&&(ke.coordDim=be(Ve,De,ze),ke.coordDimIndex=0,(!qe||Oe<=0)&&(ke.isExtraCoord=!0),Oe--),ke.name==null&&(ke.name=be(ke.coordDim,Te)),ke.type==null&&(he(Se,Ge,ke.name)===fe.Must||ke.isExtraCoord&&(ke.otherDims.itemName!=null||ke.otherDims.seriesName!=null))&&(ke.type="ordinal")}return Me}function _e($e,Se,we,Ae){var Te=Math.max($e.dimensionsDetectCount||1,Se.length,we.length,Ae||0);return ae(Se,function(De){var Me=De.dimsDef;Me&&(Te=Math.max(Te,Me.length))}),Te}function be($e,Se,we){if(we||Se.get($e)!=null){for(var Ae=0;Se.get($e+Ae)!=null;)Ae++;$e+=Ae}return Se.set($e,!0),$e}var xe=ye;return completeDimensions_1=xe,completeDimensions_1}var createDimensions$1,hasRequiredCreateDimensions;function requireCreateDimensions(){if(hasRequiredCreateDimensions)return createDimensions$1;hasRequiredCreateDimensions=1;var ee=requireCompleteDimensions();function te(ae,ne){return ne=ne||{},ee(ne.coordDimensions||[],ae,{dimsDef:ne.dimensionsDefine||ae.dimensionsDefine,encodeDef:ne.encodeDefine||ae.encodeDefine,dimCount:ne.dimensionsCount,encodeDefaulter:ne.encodeDefaulter,generateCoord:ne.generateCoord,generateCoordCount:ne.generateCoordCount})}return createDimensions$1=te,createDimensions$1}var referHelper={},hasRequiredReferHelper;function requireReferHelper(){if(hasRequiredReferHelper)return referHelper;hasRequiredReferHelper=1;var ee=util$a,te=ee.createHashMap;ee.retrieve;var ae=ee.each;function ne(le){this.coordSysName=le,this.coordSysDims=[],this.axisMap=te(),this.categoryAxisMap=te(),this.firstCategoryDimIndex=null}function ie(le){var ue=le.get("coordinateSystem"),ce=new ne(ue),de=oe[ue];if(de)return de(le,ce,ce.axisMap,ce.categoryAxisMap),ce}var oe={cartesian2d:function(le,ue,ce,de){var he=le.getReferringComponents("xAxis")[0],fe=le.getReferringComponents("yAxis")[0];ue.coordSysDims=["x","y"],ce.set("x",he),ce.set("y",fe),se(he)&&(de.set("x",he),ue.firstCategoryDimIndex=0),se(fe)&&(de.set("y",fe),ue.firstCategoryDimIndex==null&(ue.firstCategoryDimIndex=1))},singleAxis:function(le,ue,ce,de){var he=le.getReferringComponents("singleAxis")[0];ue.coordSysDims=["single"],ce.set("single",he),se(he)&&(de.set("single",he),ue.firstCategoryDimIndex=0)},polar:function(le,ue,ce,de){var he=le.getReferringComponents("polar")[0],fe=he.findAxisModel("radiusAxis"),pe=he.findAxisModel("angleAxis");ue.coordSysDims=["radius","angle"],ce.set("radius",fe),ce.set("angle",pe),se(fe)&&(de.set("radius",fe),ue.firstCategoryDimIndex=0),se(pe)&&(de.set("angle",pe),ue.firstCategoryDimIndex==null&&(ue.firstCategoryDimIndex=1))},geo:function(le,ue,ce,de){ue.coordSysDims=["lng","lat"]},parallel:function(le,ue,ce,de){var he=le.ecModel,fe=he.getComponent("parallel",le.get("parallelIndex")),pe=ue.coordSysDims=fe.dimensions.slice();ae(fe.parallelAxisIndex,function(ve,ge){var me=he.getComponent("parallelAxis",ve),ye=pe[ge];ce.set(ye,me),se(me)&&ue.firstCategoryDimIndex==null&&(de.set(ye,me),ue.firstCategoryDimIndex=ge)})}};function se(le){return le.get("type")==="category"}return referHelper.getCoordSysInfoBySeries=ie,referHelper}var dataStackHelper={},hasRequiredDataStackHelper;function requireDataStackHelper(){if(hasRequiredDataStackHelper)return dataStackHelper;hasRequiredDataStackHelper=1;var ee=util$a,te=ee.each,ae=ee.isString;function ne(se,le,ue){ue=ue||{};var ce=ue.byIndex,de=ue.stackedCoordDimension,he=!!(se&&se.get("stack")),fe,pe,ve,ge;if(te(le,function(be,xe){ae(be)&&(le[xe]=be={name:be}),he&&!be.isExtraCoord&&(!ce&&!fe&&be.ordinalMeta&&(fe=be),!pe&&be.type!=="ordinal"&&be.type!=="time"&&(!de||de===be.coordDim)&&(pe=be))}),pe&&!ce&&!fe&&(ce=!0),pe){ve="__\0ecstackresult",ge="__\0ecstackedover",fe&&(fe.createInvertedIndices=!0);var me=pe.coordDim,ye=pe.type,_e=0;te(le,function(be){be.coordDim===me&&_e++}),le.push({name:ve,coordDim:me,coordDimIndex:_e,type:ye,isExtraCoord:!0,isCalculationCoord:!0}),_e++,le.push({name:ge,coordDim:ge,coordDimIndex:_e,type:ye,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:pe&&pe.name,stackedByDimension:fe&&fe.name,isStackedByIndex:ce,stackedOverDimension:ge,stackResultDimension:ve}}function ie(se,le){return!!le&&le===se.getCalculationInfo("stackedDimension")}function oe(se,le){return ie(se,le)?se.getCalculationInfo("stackResultDimension"):le}return dataStackHelper.enableDataStack=ne,dataStackHelper.isDimensionStacked=ie,dataStackHelper.getStackedDimension=oe,dataStackHelper}var createListFromArray_1,hasRequiredCreateListFromArray;function requireCreateListFromArray(){if(hasRequiredCreateListFromArray)return createListFromArray_1;hasRequiredCreateListFromArray=1;var ee=util$a,te=requireList(),ae=requireCreateDimensions(),ne=requireSourceType(),ie=ne.SOURCE_FORMAT_ORIGINAL,oe=requireDimensionHelper(),se=oe.getDimensionTypeByAxis,le=model,ue=le.getDataItemValue,ce=CoordinateSystem$1,de=requireReferHelper(),he=de.getCoordSysInfoBySeries,fe=requireSource(),pe=requireDataStackHelper(),ve=pe.enableDataStack,ge=requireSourceHelper(),me=ge.makeSeriesEncodeForAxisCoordSys;function ye($e,Se,we){we=we||{},fe.isInstance($e)||($e=fe.seriesDataToSource($e));var Ae=Se.get("coordinateSystem"),Te=ce.get(Ae),De=he(Se),Me;De&&(Me=ee.map(De.coordSysDims,function(Ne){var He={name:Ne},qe=De.axisMap.get(Ne);if(qe){var Oe=qe.get("type");He.type=se(Oe)}return He})),Me||(Me=Te&&(Te.getDimensionsInfo?Te.getDimensionsInfo():Te.dimensions.slice())||["x","y"]);var Ie=ae($e,{coordDimensions:Me,generateCoord:we.generateCoord,encodeDefaulter:we.useEncodeDefaulter?ee.curry(me,Me,Se):null}),Ce,Ee;De&&ee.each(Ie,function(Ne,He){var qe=Ne.coordDim,Oe=De.categoryAxisMap.get(qe);Oe&&(Ce==null&&(Ce=He),Ne.ordinalMeta=Oe.getOrdinalMeta()),Ne.otherDims.itemName!=null&&(Ee=!0)}),!Ee&&Ce!=null&&(Ie[Ce].otherDims.itemName=0);var Re=ve(Se,Ie),ke=new te(Ie,Se);ke.setCalculationInfo(Re);var Be=Ce!=null&&_e($e)?function(Ne,He,qe,Oe){return Oe===Ce?qe:this.defaultDimValueGetter(Ne,He,qe,Oe)}:null;return ke.hasItemOption=!1,ke.initData($e,null,Be),ke}function _e($e){if($e.sourceFormat===ie){var Se=be($e.data||[]);return Se!=null&&!ee.isArray(ue(Se))}}function be($e){for(var Se=0;Se<$e.length&&$e[Se]==null;)Se++;return $e[Se]}var xe=ye;return createListFromArray_1=xe,createListFromArray_1}var axisHelper={},Scale_1,hasRequiredScale;function requireScale(){if(hasRequiredScale)return Scale_1;hasRequiredScale=1;var ee=clazz;function te(ne){this._setting=ne||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}te.prototype.parse=function(ne){return ne},te.prototype.getSetting=function(ne){return this._setting[ne]},te.prototype.contain=function(ne){var ie=this._extent;return ne>=ie[0]&&ne<=ie[1]},te.prototype.normalize=function(ne){var ie=this._extent;return ie[1]===ie[0]?.5:(ne-ie[0])/(ie[1]-ie[0])},te.prototype.scale=function(ne){var ie=this._extent;return ne*(ie[1]-ie[0])+ie[0]},te.prototype.unionExtent=function(ne){var ie=this._extent;ne[0]<ie[0]&&(ie[0]=ne[0]),ne[1]>ie[1]&&(ie[1]=ne[1])},te.prototype.unionExtentFromData=function(ne,ie){this.unionExtent(ne.getApproximateExtent(ie))},te.prototype.getExtent=function(){return this._extent.slice()},te.prototype.setExtent=function(ne,ie){var oe=this._extent;isNaN(ne)||(oe[0]=ne),isNaN(ie)||(oe[1]=ie)},te.prototype.isBlank=function(){return this._isBlank},te.prototype.setBlank=function(ne){this._isBlank=ne},te.prototype.getLabel=null,ee.enableClassExtend(te),ee.enableClassManagement(te,{registerWhenExtend:!0});var ae=te;return Scale_1=ae,Scale_1}var OrdinalMeta_1,hasRequiredOrdinalMeta;function requireOrdinalMeta(){if(hasRequiredOrdinalMeta)return OrdinalMeta_1;hasRequiredOrdinalMeta=1;var ee=util$a,te=ee.createHashMap,ae=ee.isObject,ne=ee.map;function ie(ce){this.categories=ce.categories||[],this._needCollect=ce.needCollect,this._deduplication=ce.deduplication,this._map}ie.createByAxisModel=function(ce){var de=ce.option,he=de.data,fe=he&&ne(he,le);return new ie({categories:fe,needCollect:!fe,deduplication:de.dedplication!==!1})};var oe=ie.prototype;oe.getOrdinal=function(ce){return se(this).get(ce)},oe.parseAndCollect=function(ce){var de,he=this._needCollect;if(typeof ce!="string"&&!he)return ce;if(he&&!this._deduplication)return de=this.categories.length,this.categories[de]=ce,de;var fe=se(this);return de=fe.get(ce),de==null&&(he?(de=this.categories.length,this.categories[de]=ce,fe.set(ce,de)):de=NaN),de};function se(ce){return ce._map||(ce._map=te(ce.categories))}function le(ce){return ae(ce)&&ce.value!=null?ce.value:ce+""}var ue=ie;return OrdinalMeta_1=ue,OrdinalMeta_1}var Ordinal,hasRequiredOrdinal;function requireOrdinal(){if(hasRequiredOrdinal)return Ordinal;hasRequiredOrdinal=1;var ee=util$a,te=requireScale(),ae=requireOrdinalMeta(),ne=te.prototype,ie=te.extend({type:"ordinal",init:function(se,le){(!se||ee.isArray(se))&&(se=new ae({categories:se})),this._ordinalMeta=se,this._extent=le||[0,se.categories.length-1]},parse:function(se){return typeof se=="string"?this._ordinalMeta.getOrdinal(se):Math.round(se)},contain:function(se){return se=this.parse(se),ne.contain.call(this,se)&&this._ordinalMeta.categories[se]!=null},normalize:function(se){return ne.normalize.call(this,this.parse(se))},scale:function(se){return Math.round(ne.scale.call(this,se))},getTicks:function(){for(var se=[],le=this._extent,ue=le[0];ue<=le[1];)se.push(ue),ue++;return se},getLabel:function(se){if(!this.isBlank())return this._ordinalMeta.categories[se]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(se,le){this.unionExtent(se.getApproximateExtent(le))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:ee.noop,niceExtent:ee.noop});ie.create=function(){return new ie};var oe=ie;return Ordinal=oe,Ordinal}var helper$5={},hasRequiredHelper$5;function requireHelper$5(){if(hasRequiredHelper$5)return helper$5;hasRequiredHelper$5=1;var ee=requireNumber(),te=ee.round;function ae(se,le,ue,ce){var de={},he=se[1]-se[0],fe=de.interval=ee.nice(he/le,!0);ue!=null&&fe<ue&&(fe=de.interval=ue),ce!=null&&fe>ce&&(fe=de.interval=ce);var pe=de.intervalPrecision=ne(fe),ve=de.niceTickExtent=[te(Math.ceil(se[0]/fe)*fe,pe),te(Math.floor(se[1]/fe)*fe,pe)];return oe(ve,se),de}function ne(se){return ee.getPrecisionSafe(se)+2}function ie(se,le,ue){se[le]=Math.max(Math.min(se[le],ue[1]),ue[0])}function oe(se,le){!isFinite(se[0])&&(se[0]=le[0]),!isFinite(se[1])&&(se[1]=le[1]),ie(se,0,le),ie(se,1,le),se[0]>se[1]&&(se[0]=se[1])}return helper$5.intervalScaleNiceTicks=ae,helper$5.getIntervalPrecision=ne,helper$5.fixExtent=oe,helper$5}var Interval,hasRequiredInterval;function requireInterval(){if(hasRequiredInterval)return Interval;hasRequiredInterval=1;var ee=requireNumber(),te=format$6,ae=requireScale(),ne=requireHelper$5(),ie=ee.round,oe=ae.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(le,ue){var ce=this._extent;isNaN(le)||(ce[0]=parseFloat(le)),isNaN(ue)||(ce[1]=parseFloat(ue))},unionExtent:function(le){var ue=this._extent;le[0]<ue[0]&&(ue[0]=le[0]),le[1]>ue[1]&&(ue[1]=le[1]),oe.prototype.setExtent.call(this,ue[0],ue[1])},getInterval:function(){return this._interval},setInterval:function(le){this._interval=le,this._niceExtent=this._extent.slice(),this._intervalPrecision=ne.getIntervalPrecision(le)},getTicks:function(le){var ue=this._interval,ce=this._extent,de=this._niceExtent,he=this._intervalPrecision,fe=[];if(!ue)return fe;var pe=1e4;ce[0]<de[0]&&(le?fe.push(ie(de[0]-ue,he)):fe.push(ce[0]));for(var ve=de[0];ve<=de[1]&&(fe.push(ve),ve=ie(ve+ue,he),ve!==fe[fe.length-1]);)if(fe.length>pe)return[];var ge=fe.length?fe[fe.length-1]:de[1];return ce[1]>ge&&(le?fe.push(ie(ge+ue,he)):fe.push(ce[1])),fe},getMinorTicks:function(le){for(var ue=this.getTicks(!0),ce=[],de=this.getExtent(),he=1;he<ue.length;he++){for(var fe=ue[he],pe=ue[he-1],ve=0,ge=[],me=fe-pe,ye=me/le;ve<le-1;){var _e=ee.round(pe+(ve+1)*ye);_e>de[0]&&_e<de[1]&&ge.push(_e),ve++}ce.push(ge)}return ce},getLabel:function(le,ue){if(le==null)return"";var ce=ue&&ue.precision;return ce==null?ce=ee.getPrecisionSafe(le)||0:ce==="auto"&&(ce=this._intervalPrecision),le=ie(le,ce,!0),te.addCommas(le)},niceTicks:function(le,ue,ce){le=le||5;var de=this._extent,he=de[1]-de[0];if(isFinite(he)){he<0&&(he=-he,de.reverse());var fe=ne.intervalScaleNiceTicks(de,le,ue,ce);this._intervalPrecision=fe.intervalPrecision,this._interval=fe.interval,this._niceExtent=fe.niceTickExtent}},niceExtent:function(le){var ue=this._extent;if(ue[0]===ue[1])if(ue[0]!==0){var ce=ue[0];le.fixMax||(ue[1]+=ce/2),ue[0]-=ce/2}else ue[1]=1;var de=ue[1]-ue[0];isFinite(de)||(ue[0]=0,ue[1]=1),this.niceTicks(le.splitNumber,le.minInterval,le.maxInterval);var he=this._interval;le.fixMin||(ue[0]=ie(Math.floor(ue[0]/he)*he)),le.fixMax||(ue[1]=ie(Math.ceil(ue[1]/he)*he))}});oe.create=function(){return new oe};var se=oe;return Interval=se,Interval}var barGrid={},hasRequiredBarGrid;function requireBarGrid(){if(hasRequiredBarGrid)return barGrid;hasRequiredBarGrid=1;var ee=util$a,te=requireNumber(),ae=te.parsePercent,ne=requireDataStackHelper(),ie=ne.isDimensionStacked,oe=createRenderPlanner$2,se="__ec_stack_",le=.5,ue=typeof Float32Array<"u"?Float32Array:Array;function ce(Se){return Se.get("stack")||se+Se.seriesIndex}function de(Se){return Se.dim+Se.index}function he(Se){var we=[],Ae=Se.axis,Te="axis0";if(Ae.type==="category"){for(var De=Ae.getBandWidth(),Me=0;Me<Se.count;Me++)we.push(ee.defaults({bandWidth:De,axisKey:Te,stackId:se+Me},Se));for(var Ie=ge(we),Ce=[],Me=0;Me<Se.count;Me++){var Ee=Ie[Te][se+Me];Ee.offsetCenter=Ee.offset+Ee.width/2,Ce.push(Ee)}return Ce}}function fe(Se,we){var Ae=[];return we.eachSeriesByType(Se,function(Te){be(Te)&&!xe(Te)&&Ae.push(Te)}),Ae}function pe(Se){var we={};ee.each(Se,function(Ee){var Re=Ee.coordinateSystem,ke=Re.getBaseAxis();if(!(ke.type!=="time"&&ke.type!=="value"))for(var Be=Ee.getData(),Ne=ke.dim+"_"+ke.index,He=Be.mapDimension(ke.dim),qe=0,Oe=Be.count();qe<Oe;++qe){var ze=Be.get(He,qe);we[Ne]?we[Ne].push(ze):we[Ne]=[ze]}});var Ae=[];for(var Te in we)if(we.hasOwnProperty(Te)){var De=we[Te];if(De){De.sort(function(Ee,Re){return Ee-Re});for(var Me=null,Ie=1;Ie<De.length;++Ie){var Ce=De[Ie]-De[Ie-1];Ce>0&&(Me=Me===null?Ce:Math.min(Me,Ce))}Ae[Te]=Me}}return Ae}function ve(Se){var we=pe(Se),Ae=[];return ee.each(Se,function(Te){var De=Te.coordinateSystem,Me=De.getBaseAxis(),Ie=Me.getExtent(),Ce;if(Me.type==="category")Ce=Me.getBandWidth();else if(Me.type==="value"||Me.type==="time"){var Ee=Me.dim+"_"+Me.index,Re=we[Ee],ke=Math.abs(Ie[1]-Ie[0]),Be=Me.scale.getExtent(),Ne=Math.abs(Be[1]-Be[0]);Ce=Re?ke/Ne*Re:ke}else{var He=Te.getData();Ce=Math.abs(Ie[1]-Ie[0])/He.count()}var qe=ae(Te.get("barWidth"),Ce),Oe=ae(Te.get("barMaxWidth"),Ce),ze=ae(Te.get("barMinWidth")||1,Ce),Ve=Te.get("barGap"),Ge=Te.get("barCategoryGap");Ae.push({bandWidth:Ce,barWidth:qe,barMaxWidth:Oe,barMinWidth:ze,barGap:Ve,barCategoryGap:Ge,axisKey:de(Me),stackId:ce(Te)})}),ge(Ae)}function ge(Se){var we={};ee.each(Se,function(Te,De){var Me=Te.axisKey,Ie=Te.bandWidth,Ce=we[Me]||{bandWidth:Ie,remainedWidth:Ie,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},Ee=Ce.stacks;we[Me]=Ce;var Re=Te.stackId;Ee[Re]||Ce.autoWidthCount++,Ee[Re]=Ee[Re]||{width:0,maxWidth:0};var ke=Te.barWidth;ke&&!Ee[Re].width&&(Ee[Re].width=ke,ke=Math.min(Ce.remainedWidth,ke),Ce.remainedWidth-=ke);var Be=Te.barMaxWidth;Be&&(Ee[Re].maxWidth=Be);var Ne=Te.barMinWidth;Ne&&(Ee[Re].minWidth=Ne);var He=Te.barGap;He!=null&&(Ce.gap=He);var qe=Te.barCategoryGap;qe!=null&&(Ce.categoryGap=qe)});var Ae={};return ee.each(we,function(Te,De){Ae[De]={};var Me=Te.stacks,Ie=Te.bandWidth,Ce=ae(Te.categoryGap,Ie),Ee=ae(Te.gap,1),Re=Te.remainedWidth,ke=Te.autoWidthCount,Be=(Re-Ce)/(ke+(ke-1)*Ee);Be=Math.max(Be,0),ee.each(Me,function(Oe){var ze=Oe.maxWidth,Ve=Oe.minWidth;if(Oe.width){var Ge=Oe.width;ze&&(Ge=Math.min(Ge,ze)),Ve&&(Ge=Math.max(Ge,Ve)),Oe.width=Ge,Re-=Ge+Ee*Ge,ke--}else{var Ge=Be;ze&&ze<Ge&&(Ge=Math.min(ze,Re)),Ve&&Ve>Ge&&(Ge=Ve),Ge!==Be&&(Oe.width=Ge,Re-=Ge+Ee*Ge,ke--)}}),Be=(Re-Ce)/(ke+(ke-1)*Ee),Be=Math.max(Be,0);var Ne=0,He;ee.each(Me,function(Oe,ze){Oe.width||(Oe.width=Be),He=Oe,Ne+=Oe.width*(1+Ee)}),He&&(Ne-=He.width*Ee);var qe=-Ne/2;ee.each(Me,function(Oe,ze){Ae[De][ze]=Ae[De][ze]||{bandWidth:Ie,offset:qe,width:Oe.width},qe+=Oe.width*(1+Ee)})}),Ae}function me(Se,we,Ae){if(Se&&we){var Te=Se[de(we)];return Te!=null&&Ae!=null&&(Te=Te[ce(Ae)]),Te}}function ye(Se,we){var Ae=fe(Se,we),Te=ve(Ae),De={};ee.each(Ae,function(Me){var Ie=Me.getData(),Ce=Me.coordinateSystem,Ee=Ce.getBaseAxis(),Re=ce(Me),ke=Te[de(Ee)][Re],Be=ke.offset,Ne=ke.width,He=Ce.getOtherAxis(Ee),qe=Me.get("barMinHeight")||0;De[Re]=De[Re]||[],Ie.setLayout({bandWidth:ke.bandWidth,offset:Be,size:Ne});for(var Oe=Ie.mapDimension(He.dim),ze=Ie.mapDimension(Ee.dim),Ve=ie(Ie,Oe),Ge=He.isHorizontal(),We=$e(Ee,He),Ue=0,Ye=Ie.count();Ue<Ye;Ue++){var Ze=Ie.get(Oe,Ue),Xe=Ie.get(ze,Ue),it=Ze>=0?"p":"n",at=We;Ve&&(De[Re][Xe]||(De[Re][Xe]={p:We,n:We}),at=De[Re][Xe][it]);var ut,dt,pt,gt;if(Ge){var bt=Ce.dataToPoint([Ze,Xe]);ut=at,dt=bt[1]+Be,pt=bt[0]-We,gt=Ne,Math.abs(pt)<qe&&(pt=(pt<0?-1:1)*qe),isNaN(pt)||Ve&&(De[Re][Xe][it]+=pt)}else{var bt=Ce.dataToPoint([Xe,Ze]);ut=bt[0]+Be,dt=at,pt=Ne,gt=bt[1]-We,Math.abs(gt)<qe&&(gt=(gt<=0?-1:1)*qe),isNaN(gt)||Ve&&(De[Re][Xe][it]+=gt)}Ie.setItemLayout(Ue,{x:ut,y:dt,width:pt,height:gt})}},this)}var _e={seriesType:"bar",plan:oe(),reset:function(Se){if(!be(Se)||!xe(Se))return;var we=Se.getData(),Ae=Se.coordinateSystem,Te=Ae.grid.getRect(),De=Ae.getBaseAxis(),Me=Ae.getOtherAxis(De),Ie=we.mapDimension(Me.dim),Ce=we.mapDimension(De.dim),Ee=Me.isHorizontal(),Re=Ee?0:1,ke=me(ve([Se]),De,Se).width;return ke>le||(ke=le),{progress:Be};function Be(Ne,He){for(var qe=Ne.count,Oe=new ue(qe*2),ze=new ue(qe*2),Ve=new ue(qe),Ge,We=[],Ue=[],Ye=0,Ze=0;(Ge=Ne.next())!=null;)Ue[Re]=He.get(Ie,Ge),Ue[1-Re]=He.get(Ce,Ge),We=Ae.dataToPoint(Ue,null,We),ze[Ye]=Ee?Te.x+Te.width:We[0],Oe[Ye++]=We[0],ze[Ye]=Ee?We[1]:Te.y+Te.height,Oe[Ye++]=We[1],Ve[Ze++]=Ge;He.setLayout({largePoints:Oe,largeDataIndices:Ve,largeBackgroundPoints:ze,barWidth:ke,valueAxisStart:$e(De,Me),backgroundStart:Ee?Te.x:Te.y,valueAxisHorizontal:Ee})}}};function be(Se){return Se.coordinateSystem&&Se.coordinateSystem.type==="cartesian2d"}function xe(Se){return Se.pipelineContext&&Se.pipelineContext.large}function $e(Se,we,Ae){return we.toGlobalCoord(we.dataToCoord(we.type==="log"?1:0))}return barGrid.getLayoutOnAxis=he,barGrid.prepareLayoutBarSeries=fe,barGrid.makeColumnLayout=ve,barGrid.retrieveColumnLayout=me,barGrid.layout=ye,barGrid.largeLayout=_e,barGrid}var Time,hasRequiredTime;function requireTime(){if(hasRequiredTime)return Time;hasRequiredTime=1;var ee=util$a,te=requireNumber(),ae=format$6,ne=requireHelper$5(),ie=requireInterval(),oe=ie.prototype,se=Math.ceil,le=Math.floor,ue=1e3,ce=ue*60,de=ce*60,he=de*24,fe=function(me,ye,_e,be){for(;_e<be;){var xe=_e+be>>>1;me[xe][1]<ye?_e=xe+1:be=xe}return _e},pe=ie.extend({type:"time",getLabel:function(me){var ye=this._stepLvl,_e=new Date(me);return ae.formatTime(ye[0],_e,this.getSetting("useUTC"))},niceExtent:function(me){var ye=this._extent;if(ye[0]===ye[1]&&(ye[0]-=he,ye[1]+=he),ye[1]===-1/0&&ye[0]===1/0){var _e=new Date;ye[1]=+new Date(_e.getFullYear(),_e.getMonth(),_e.getDate()),ye[0]=ye[1]-he}this.niceTicks(me.splitNumber,me.minInterval,me.maxInterval);var be=this._interval;me.fixMin||(ye[0]=te.round(le(ye[0]/be)*be)),me.fixMax||(ye[1]=te.round(se(ye[1]/be)*be))},niceTicks:function(me,ye,_e){me=me||10;var be=this._extent,xe=be[1]-be[0],$e=xe/me;ye!=null&&$e<ye&&($e=ye),_e!=null&&$e>_e&&($e=_e);var Se=ve.length,we=fe(ve,$e,0,Se),Ae=ve[Math.min(we,Se-1)],Te=Ae[1];if(Ae[0]==="year"){var De=xe/Te,Me=te.nice(De/me,!0);Te*=Me}var Ie=this.getSetting("useUTC")?0:new Date(+be[0]||+be[1]).getTimezoneOffset()*60*1e3,Ce=[Math.round(se((be[0]-Ie)/Te)*Te+Ie),Math.round(le((be[1]-Ie)/Te)*Te+Ie)];ne.fixExtent(Ce,be),this._stepLvl=Ae,this._interval=Te,this._niceExtent=Ce},parse:function(me){return+te.parseDate(me)}});ee.each(["contain","normalize"],function(me){pe.prototype[me]=function(ye){return oe[me].call(this,this.parse(ye))}});var ve=[["hh:mm:ss",ue],["hh:mm:ss",ue*5],["hh:mm:ss",ue*10],["hh:mm:ss",ue*15],["hh:mm:ss",ue*30],[`hh:mm
-MM-dd`,ce],[`hh:mm
-MM-dd`,ce*5],[`hh:mm
-MM-dd`,ce*10],[`hh:mm
-MM-dd`,ce*15],[`hh:mm
-MM-dd`,ce*30],[`hh:mm
-MM-dd`,de],[`hh:mm
-MM-dd`,de*2],[`hh:mm
-MM-dd`,de*6],[`hh:mm
-MM-dd`,de*12],[`MM-dd
-yyyy`,he],[`MM-dd
-yyyy`,he*2],[`MM-dd
-yyyy`,he*3],[`MM-dd
-yyyy`,he*4],[`MM-dd
-yyyy`,he*5],[`MM-dd
-yyyy`,he*6],["week",he*7],[`MM-dd
-yyyy`,he*10],["week",he*14],["week",he*21],["month",he*31],["week",he*42],["month",he*62],["week",he*70],["quarter",he*95],["month",he*31*4],["month",he*31*5],["half-year",he*380/2],["month",he*31*8],["month",he*31*10],["year",he*380]];pe.create=function(me){return new pe({useUTC:me.ecModel.get("useUTC")})};var ge=pe;return Time=ge,Time}var Log,hasRequiredLog;function requireLog(){if(hasRequiredLog)return Log;hasRequiredLog=1;var ee=util$a,te=requireScale(),ae=requireNumber(),ne=requireInterval(),ie=te.prototype,oe=ne.prototype,se=ae.getPrecisionSafe,le=ae.round,ue=Math.floor,ce=Math.ceil,de=Math.pow,he=Math.log,fe=te.extend({type:"log",base:10,$constructor:function(){te.apply(this,arguments),this._originalScale=new ne},getTicks:function(ge){var me=this._originalScale,ye=this._extent,_e=me.getExtent();return ee.map(oe.getTicks.call(this,ge),function(be){var xe=ae.round(de(this.base,be));return xe=be===ye[0]&&me.__fixMin?pe(xe,_e[0]):xe,xe=be===ye[1]&&me.__fixMax?pe(xe,_e[1]):xe,xe},this)},getMinorTicks:oe.getMinorTicks,getLabel:oe.getLabel,scale:function(ge){return ge=ie.scale.call(this,ge),de(this.base,ge)},setExtent:function(ge,me){var ye=this.base;ge=he(ge)/he(ye),me=he(me)/he(ye),oe.setExtent.call(this,ge,me)},getExtent:function(){var ge=this.base,me=ie.getExtent.call(this);me[0]=de(ge,me[0]),me[1]=de(ge,me[1]);var ye=this._originalScale,_e=ye.getExtent();return ye.__fixMin&&(me[0]=pe(me[0],_e[0])),ye.__fixMax&&(me[1]=pe(me[1],_e[1])),me},unionExtent:function(ge){this._originalScale.unionExtent(ge);var me=this.base;ge[0]=he(ge[0])/he(me),ge[1]=he(ge[1])/he(me),ie.unionExtent.call(this,ge)},unionExtentFromData:function(ge,me){this.unionExtent(ge.getApproximateExtent(me))},niceTicks:function(ge){ge=ge||10;var me=this._extent,ye=me[1]-me[0];if(!(ye===1/0||ye<=0)){var _e=ae.quantity(ye),be=ge/ye*_e;for(be<=.5&&(_e*=10);!isNaN(_e)&&Math.abs(_e)<1&&Math.abs(_e)>0;)_e*=10;var xe=[ae.round(ce(me[0]/_e)*_e),ae.round(ue(me[1]/_e)*_e)];this._interval=_e,this._niceExtent=xe}},niceExtent:function(ge){oe.niceExtent.call(this,ge);var me=this._originalScale;me.__fixMin=ge.fixMin,me.__fixMax=ge.fixMax}});ee.each(["contain","normalize"],function(ge){fe.prototype[ge]=function(me){return me=he(me)/he(this.base),ie[ge].call(this,me)}}),fe.create=function(){return new fe};function pe(ge,me){return le(ge,se(me))}var ve=fe;return Log=ve,Log}var hasRequiredAxisHelper;function requireAxisHelper(){if(hasRequiredAxisHelper)return axisHelper;hasRequiredAxisHelper=1;var ee=util$a,te=requireOrdinal(),ae=requireInterval(),ne=requireScale(),ie=requireNumber(),oe=requireBarGrid(),se=oe.prepareLayoutBarSeries,le=oe.makeColumnLayout,ue=oe.retrieveColumnLayout,ce=BoundingRect_1;requireTime(),requireLog();function de($e,Se){var we=$e.type,Ae=Se.getMin(),Te=Se.getMax(),De=$e.getExtent(),Me,Ie,Ce;we==="ordinal"?Me=Se.getCategories().length:(Ie=Se.get("boundaryGap"),ee.isArray(Ie)||(Ie=[Ie||0,Ie||0]),typeof Ie[0]=="boolean"&&(Ie=[0,0]),Ie[0]=ie.parsePercent(Ie[0],1),Ie[1]=ie.parsePercent(Ie[1],1),Ce=De[1]-De[0]||Math.abs(De[0])),Ae==="dataMin"?Ae=De[0]:typeof Ae=="function"&&(Ae=Ae({min:De[0],max:De[1]})),Te==="dataMax"?Te=De[1]:typeof Te=="function"&&(Te=Te({min:De[0],max:De[1]}));var Ee=Ae!=null,Re=Te!=null;Ae==null&&(Ae=we==="ordinal"?Me?0:NaN:De[0]-Ie[0]*Ce),Te==null&&(Te=we==="ordinal"?Me?Me-1:NaN:De[1]+Ie[1]*Ce),(Ae==null||!isFinite(Ae))&&(Ae=NaN),(Te==null||!isFinite(Te))&&(Te=NaN),$e.setBlank(ee.eqNaN(Ae)||ee.eqNaN(Te)||we==="ordinal"&&!$e.getOrdinalMeta().categories.length),Se.getNeedCrossZero()&&(Ae>0&&Te>0&&!Ee&&(Ae=0),Ae<0&&Te<0&&!Re&&(Te=0));var ke=Se.ecModel;if(ke&&we==="time"){var Be=se("bar",ke),Ne;if(ee.each(Be,function(Oe){Ne|=Oe.getBaseAxis()===Se.axis}),Ne){var He=le(Be),qe=he(Ae,Te,Se,He);Ae=qe.min,Te=qe.max}}return{extent:[Ae,Te],fixMin:Ee,fixMax:Re}}function he($e,Se,we,Ae){var Te=we.axis.getExtent(),De=Te[1]-Te[0],Me=ue(Ae,we.axis);if(Me===void 0)return{min:$e,max:Se};var Ie=1/0;ee.each(Me,function(Ne){Ie=Math.min(Ne.offset,Ie)});var Ce=-1/0;ee.each(Me,function(Ne){Ce=Math.max(Ne.offset+Ne.width,Ce)}),Ie=Math.abs(Ie),Ce=Math.abs(Ce);var Ee=Ie+Ce,Re=Se-$e,ke=1-(Ie+Ce)/De,Be=Re/ke-Re;return Se+=Be*(Ce/Ee),$e-=Be*(Ie/Ee),{min:$e,max:Se}}function fe($e,Se){var we=de($e,Se),Ae=we.extent,Te=Se.get("splitNumber");$e.type==="log"&&($e.base=Se.get("logBase"));var De=$e.type;$e.setExtent(Ae[0],Ae[1]),$e.niceExtent({splitNumber:Te,fixMin:we.fixMin,fixMax:we.fixMax,minInterval:De==="interval"||De==="time"?Se.get("minInterval"):null,maxInterval:De==="interval"||De==="time"?Se.get("maxInterval"):null});var Me=Se.get("interval");Me!=null&&$e.setInterval&&$e.setInterval(Me)}function pe($e,Se){if(Se=Se||$e.get("type"),Se)switch(Se){case"category":return new te($e.getOrdinalMeta?$e.getOrdinalMeta():$e.getCategories(),[1/0,-1/0]);case"value":return new ae;default:return(ne.getClass(Se)||ae).create($e)}}function ve($e){var Se=$e.scale.getExtent(),we=Se[0],Ae=Se[1];return!(we>0&&Ae>0||we<0&&Ae<0)}function ge($e){var Se=$e.getLabelModel().get("formatter"),we=$e.type==="category"?$e.scale.getExtent()[0]:null;return typeof Se=="string"?(Se=function(Ae){return function(Te){return Te=$e.scale.getLabel(Te),Ae.replace("{value}",Te??"")}}(Se),Se):typeof Se=="function"?function(Ae,Te){return we!=null&&(Te=Ae-we),Se(me($e,Ae),Te)}:function(Ae){return $e.scale.getLabel(Ae)}}function me($e,Se){return $e.type==="category"?$e.scale.getLabel(Se):Se}function ye($e){var Se=$e.model,we=$e.scale;if(!(!Se.get("axisLabel.show")||we.isBlank())){var Ae=$e.type==="category",Te,De,Me=we.getExtent();Ae?De=we.count():(Te=we.getTicks(),De=Te.length);var Ie=$e.getLabelModel(),Ce=ge($e),Ee,Re=1;De>40&&(Re=Math.ceil(De/40));for(var ke=0;ke<De;ke+=Re){var Be=Te?Te[ke]:Me[0]+ke,Ne=Ce(Be),He=Ie.getTextRect(Ne),qe=_e(He,Ie.get("rotate")||0);Ee?Ee.union(qe):Ee=qe}return Ee}}function _e($e,Se){var we=Se*Math.PI/180,Ae=$e.plain(),Te=Ae.width,De=Ae.height,Me=Te*Math.abs(Math.cos(we))+Math.abs(De*Math.sin(we)),Ie=Te*Math.abs(Math.sin(we))+Math.abs(De*Math.cos(we)),Ce=new ce(Ae.x,Ae.y,Me,Ie);return Ce}function be($e){var Se=$e.get("interval");return Se??"auto"}function xe($e){return $e.type==="category"&&be($e.getLabelModel())===0}return axisHelper.getScaleExtent=de,axisHelper.niceScaleExtent=fe,axisHelper.createScaleByModel=pe,axisHelper.ifAxisCrossZero=ve,axisHelper.makeLabelFormatter=ge,axisHelper.getAxisRawValue=me,axisHelper.estimateLabelUnionRect=ye,axisHelper.getOptionCategoryInterval=be,axisHelper.shouldShowAllLabels=xe,axisHelper}var axisModelCommonMixin,hasRequiredAxisModelCommonMixin;function requireAxisModelCommonMixin(){if(hasRequiredAxisModelCommonMixin)return axisModelCommonMixin;hasRequiredAxisModelCommonMixin=1;var ee=util$a,te={getMin:function(ae){var ne=this.option,ie=!ae&&ne.rangeStart!=null?ne.rangeStart:ne.min;return this.axis&&ie!=null&&ie!=="dataMin"&&typeof ie!="function"&&!ee.eqNaN(ie)&&(ie=this.axis.scale.parse(ie)),ie},getMax:function(ae){var ne=this.option,ie=!ae&&ne.rangeEnd!=null?ne.rangeEnd:ne.max;return this.axis&&ie!=null&&ie!=="dataMax"&&typeof ie!="function"&&!ee.eqNaN(ie)&&(ie=this.axis.scale.parse(ie)),ie},getNeedCrossZero:function(){var ae=this.option;return ae.rangeStart!=null||ae.rangeEnd!=null?!1:!ae.scale},getCoordSysModel:ee.noop,setRange:function(ae,ne){this.option.rangeStart=ae,this.option.rangeEnd=ne},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}};return axisModelCommonMixin=te,axisModelCommonMixin}var symbol$1={},hasRequiredSymbol$1;function requireSymbol$1(){if(hasRequiredSymbol$1)return symbol$1;hasRequiredSymbol$1=1;var ee=util$a,te=graphic$6,ae=BoundingRect_1,ne=text,ie=ne.calculateTextPosition,oe=te.extendShape({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(ge,me){var ye=me.cx,_e=me.cy,be=me.width/2,xe=me.height/2;ge.moveTo(ye,_e-xe),ge.lineTo(ye+be,_e+xe),ge.lineTo(ye-be,_e+xe),ge.closePath()}}),se=te.extendShape({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(ge,me){var ye=me.cx,_e=me.cy,be=me.width/2,xe=me.height/2;ge.moveTo(ye,_e-xe),ge.lineTo(ye+be,_e),ge.lineTo(ye,_e+xe),ge.lineTo(ye-be,_e),ge.closePath()}}),le=te.extendShape({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(ge,me){var ye=me.x,_e=me.y,be=me.width/5*3,xe=Math.max(be,me.height),$e=be/2,Se=$e*$e/(xe-$e),we=_e-xe+$e+Se,Ae=Math.asin(Se/$e),Te=Math.cos(Ae)*$e,De=Math.sin(Ae),Me=Math.cos(Ae),Ie=$e*.6,Ce=$e*.7;ge.moveTo(ye-Te,we+Se),ge.arc(ye,we,$e,Math.PI-Ae,Math.PI*2+Ae),ge.bezierCurveTo(ye+Te-De*Ie,we+Se+Me*Ie,ye,_e-Ce,ye,_e),ge.bezierCurveTo(ye,_e-Ce,ye-Te+De*Ie,we+Se+Me*Ie,ye-Te,we+Se),ge.closePath()}}),ue=te.extendShape({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(ge,me){var ye=me.height,_e=me.width,be=me.x,xe=me.y,$e=_e/3*2;ge.moveTo(be,xe),ge.lineTo(be+$e,xe+ye),ge.lineTo(be,xe+ye/4*3),ge.lineTo(be-$e,xe+ye),ge.lineTo(be,xe),ge.closePath()}}),ce={line:te.Line,rect:te.Rect,roundRect:te.Rect,square:te.Rect,circle:te.Circle,diamond:se,pin:le,arrow:ue,triangle:oe},de={line:function(ge,me,ye,_e,be){be.x1=ge,be.y1=me+_e/2,be.x2=ge+ye,be.y2=me+_e/2},rect:function(ge,me,ye,_e,be){be.x=ge,be.y=me,be.width=ye,be.height=_e},roundRect:function(ge,me,ye,_e,be){be.x=ge,be.y=me,be.width=ye,be.height=_e,be.r=Math.min(ye,_e)/4},square:function(ge,me,ye,_e,be){var xe=Math.min(ye,_e);be.x=ge,be.y=me,be.width=xe,be.height=xe},circle:function(ge,me,ye,_e,be){be.cx=ge+ye/2,be.cy=me+_e/2,be.r=Math.min(ye,_e)/2},diamond:function(ge,me,ye,_e,be){be.cx=ge+ye/2,be.cy=me+_e/2,be.width=ye,be.height=_e},pin:function(ge,me,ye,_e,be){be.x=ge+ye/2,be.y=me+_e/2,be.width=ye,be.height=_e},arrow:function(ge,me,ye,_e,be){be.x=ge+ye/2,be.y=me+_e/2,be.width=ye,be.height=_e},triangle:function(ge,me,ye,_e,be){be.cx=ge+ye/2,be.cy=me+_e/2,be.width=ye,be.height=_e}},he={};ee.each(ce,function(ge,me){he[me]=new ge});var fe=te.extendShape({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(ge,me,ye){var _e=ie(ge,me,ye),be=this.shape;return be&&be.symbolType==="pin"&&me.textPosition==="inside"&&(_e.y=ye.y+ye.height*.4),_e},buildPath:function(ge,me,ye){var _e=me.symbolType;if(_e!=="none"){var be=he[_e];be||(_e="rect",be=he[_e]),de[_e](me.x,me.y,me.width,me.height,be.shape),be.buildPath(ge,be.shape,ye)}}});function pe(ge,me){if(this.type!=="image"){var ye=this.style,_e=this.shape;_e&&_e.symbolType==="line"?ye.stroke=ge:this.__isEmptyBrush?(ye.stroke=ge,ye.fill=me||"#fff"):(ye.fill&&(ye.fill=ge),ye.stroke&&(ye.stroke=ge)),this.dirty(!1)}}function ve(ge,me,ye,_e,be,xe,$e){var Se=ge.indexOf("empty")===0;Se&&(ge=ge.substr(5,1).toLowerCase()+ge.substr(6));var we;return ge.indexOf("image://")===0?we=te.makeImage(ge.slice(8),new ae(me,ye,_e,be),$e?"center":"cover"):ge.indexOf("path://")===0?we=te.makePath(ge.slice(7),{},new ae(me,ye,_e,be),$e?"center":"cover"):we=new fe({shape:{symbolType:ge,x:me,y:ye,width:_e,height:be}}),we.__isEmptyBrush=Se,we.setColor=pe,we.setColor(xe),we}return symbol$1.createSymbol=ve,symbol$1}var hasRequiredHelper$4;function requireHelper$4(){if(hasRequiredHelper$4)return helper$6;hasRequiredHelper$4=1;var ee=util$a,te=requireCreateListFromArray(),ae=requireAxisHelper(),ne=requireAxisModelCommonMixin(),ie=Model_1,oe=layout$5;oe.getLayoutRect,helper$6.getLayoutRect=oe.getLayoutRect;var se=requireDataStackHelper(),le=se.enableDataStack,ue=se.isDimensionStacked,ce=se.getStackedDimension,de=requireCompleteDimensions();helper$6.completeDimensions=de;var he=requireCreateDimensions();helper$6.createDimensions=he;var fe=requireSymbol$1();helper$6.createSymbol=fe.createSymbol;function pe(ye){return te(ye.getSource(),ye)}var ve={isDimensionStacked:ue,enableDataStack:le,getStackedDimension:ce};function ge(ye,_e){var be=_e;ie.isInstance(_e)||(be=new ie(_e),ee.mixin(be,ne));var xe=ae.createScaleByModel(be);return xe.setExtent(ye[0],ye[1]),ae.niceScaleExtent(xe,be),xe}function me(ye){ee.mixin(ye,ne)}return helper$6.createList=pe,helper$6.dataStack=ve,helper$6.createScale=ge,helper$6.mixinAxisModelCommonMethods=me,helper$6}var polygon={},hasRequiredPolygon;function requirePolygon(){if(hasRequiredPolygon)return polygon;hasRequiredPolygon=1;var ee=windingLine_1,te=1e-8;function ae(ie,oe){return Math.abs(ie-oe)<te}function ne(ie,oe,se){var le=0,ue=ie[0];if(!ue)return!1;for(var ce=1;ce<ie.length;ce++){var de=ie[ce];le+=ee(ue[0],ue[1],de[0],de[1],oe,se),ue=de}var he=ie[0];return(!ae(ue[0],he[0])||!ae(ue[1],he[1]))&&(le+=ee(ue[0],ue[1],he[0],he[1],oe,se)),le!==0}return polygon.contain=ne,polygon}var Region_1,hasRequiredRegion;function requireRegion(){if(hasRequiredRegion)return Region_1;hasRequiredRegion=1;var ee=BoundingRect_1,te=requireBbox(),ae=vector$3,ne=requirePolygon();function ie(se,le,ue){if(this.name=se,this.geometries=le,ue)ue=[ue[0],ue[1]];else{var ce=this.getBoundingRect();ue=[ce.x+ce.width/2,ce.y+ce.height/2]}this.center=ue}ie.prototype={constructor:ie,properties:null,getBoundingRect:function(){var se=this._rect;if(se)return se;for(var le=Number.MAX_VALUE,ue=[le,le],ce=[-le,-le],de=[],he=[],fe=this.geometries,pe=0;pe<fe.length;pe++)if(fe[pe].type==="polygon"){var ve=fe[pe].exterior;te.fromPoints(ve,de,he),ae.min(ue,ue,de),ae.max(ce,ce,he)}return pe===0&&(ue[0]=ue[1]=ce[0]=ce[1]=0),this._rect=new ee(ue[0],ue[1],ce[0]-ue[0],ce[1]-ue[1])},contain:function(se){var le=this.getBoundingRect(),ue=this.geometries;if(!le.contain(se[0],se[1]))return!1;e:for(var ce=0,de=ue.length;ce<de;ce++)if(ue[ce].type==="polygon"){var he=ue[ce].exterior,fe=ue[ce].interiors;if(ne.contain(he,se[0],se[1])){for(var pe=0;pe<(fe?fe.length:0);pe++)if(ne.contain(fe[pe]))continue e;return!0}}return!1},transformTo:function(se,le,ue,ce){var de=this.getBoundingRect(),he=de.width/de.height;ue?ce||(ce=ue/he):ue=he*ce;for(var fe=new ee(se,le,ue,ce),pe=de.calculateTransform(fe),ve=this.geometries,ge=0;ge<ve.length;ge++)if(ve[ge].type==="polygon"){for(var me=ve[ge].exterior,ye=ve[ge].interiors,_e=0;_e<me.length;_e++)ae.applyTransform(me[_e],me[_e],pe);for(var be=0;be<(ye?ye.length:0);be++)for(var _e=0;_e<ye[be].length;_e++)ae.applyTransform(ye[be][_e],ye[be][_e],pe)}de=this._rect,de.copy(fe),this.center=[de.x+de.width/2,de.y+de.height/2]},cloneShallow:function(se){se==null&&(se=this.name);var le=new ie(se,this.geometries,this.center);return le._rect=this._rect,le.transformTo=null,le}};var oe=ie;return Region_1=oe,Region_1}var parseGeoJson,hasRequiredParseGeoJson;function requireParseGeoJson(){if(hasRequiredParseGeoJson)return parseGeoJson;hasRequiredParseGeoJson=1;var ee=util$a,te=requireRegion();function ae(oe){if(!oe.UTF8Encoding)return oe;var se=oe.UTF8Scale;se==null&&(se=1024);for(var le=oe.features,ue=0;ue<le.length;ue++)for(var ce=le[ue],de=ce.geometry,he=de.coordinates,fe=de.encodeOffsets,pe=0;pe<he.length;pe++){var ve=he[pe];if(de.type==="Polygon")he[pe]=ne(ve,fe[pe],se);else if(de.type==="MultiPolygon")for(var ge=0;ge<ve.length;ge++){var me=ve[ge];ve[ge]=ne(me,fe[pe][ge],se)}}return oe.UTF8Encoding=!1,oe}function ne(oe,se,le){for(var ue=[],ce=se[0],de=se[1],he=0;he<oe.length;he+=2){var fe=oe.charCodeAt(he)-64,pe=oe.charCodeAt(he+1)-64;fe=fe>>1^-(fe&1),pe=pe>>1^-(pe&1),fe+=ce,pe+=de,ce=fe,de=pe,ue.push([fe/le,pe/le])}return ue}function ie(oe,se){return ae(oe),ee.map(ee.filter(oe.features,function(le){return le.geometry&&le.properties&&le.geometry.coordinates.length>0}),function(le){var ue=le.properties,ce=le.geometry,de=ce.coordinates,he=[];ce.type==="Polygon"&&he.push({type:"polygon",exterior:de[0],interiors:de.slice(1)}),ce.type==="MultiPolygon"&&ee.each(de,function(pe){pe[0]&&he.push({type:"polygon",exterior:pe[0],interiors:pe.slice(1)})});var fe=new te(ue[se||"name"],he,ue.cp);return fe.properties=ue,fe})}return parseGeoJson=ie,parseGeoJson}var axisTickLabelBuilder={},hasRequiredAxisTickLabelBuilder;function requireAxisTickLabelBuilder(){if(hasRequiredAxisTickLabelBuilder)return axisTickLabelBuilder;hasRequiredAxisTickLabelBuilder=1;var ee=util$a,te=text,ae=model,ne=ae.makeInner,ie=requireAxisHelper(),oe=ie.makeLabelFormatter,se=ie.getOptionCategoryInterval,le=ie.shouldShowAllLabels,ue=ne();function ce(we){return we.type==="category"?he(we):ve(we)}function de(we,Ae){return we.type==="category"?pe(we,Ae):{ticks:we.scale.getTicks()}}function he(we){var Ae=we.getLabelModel(),Te=fe(we,Ae);return!Ae.get("show")||we.scale.isBlank()?{labels:[],labelCategoryInterval:Te.labelCategoryInterval}:Te}function fe(we,Ae){var Te=ge(we,"labels"),De=se(Ae),Me=me(Te,De);if(Me)return Me;var Ie,Ce;return ee.isFunction(De)?Ie=Se(we,De):(Ce=De==="auto"?_e(we):De,Ie=$e(we,Ce)),ye(Te,De,{labels:Ie,labelCategoryInterval:Ce})}function pe(we,Ae){var Te=ge(we,"ticks"),De=se(Ae),Me=me(Te,De);if(Me)return Me;var Ie,Ce;if((!Ae.get("show")||we.scale.isBlank())&&(Ie=[]),ee.isFunction(De))Ie=Se(we,De,!0);else if(De==="auto"){var Ee=fe(we,we.getLabelModel());Ce=Ee.labelCategoryInterval,Ie=ee.map(Ee.labels,function(Re){return Re.tickValue})}else Ce=De,Ie=$e(we,Ce,!0);return ye(Te,De,{ticks:Ie,tickCategoryInterval:Ce})}function ve(we){var Ae=we.scale.getTicks(),Te=oe(we);return{labels:ee.map(Ae,function(De,Me){return{formattedLabel:Te(De,Me),rawLabel:we.scale.getLabel(De),tickValue:De}})}}function ge(we,Ae){return ue(we)[Ae]||(ue(we)[Ae]=[])}function me(we,Ae){for(var Te=0;Te<we.length;Te++)if(we[Te].key===Ae)return we[Te].value}function ye(we,Ae,Te){return we.push({key:Ae,value:Te}),Te}function _e(we){var Ae=ue(we).autoInterval;return Ae??(ue(we).autoInterval=we.calculateCategoryInterval())}function be(we){var Ae=xe(we),Te=oe(we),De=(Ae.axisRotate-Ae.labelRotate)/180*Math.PI,Me=we.scale,Ie=Me.getExtent(),Ce=Me.count();if(Ie[1]-Ie[0]<1)return 0;var Ee=1;Ce>40&&(Ee=Math.max(1,Math.floor(Ce/40)));for(var Re=Ie[0],ke=we.dataToCoord(Re+1)-we.dataToCoord(Re),Be=Math.abs(ke*Math.cos(De)),Ne=Math.abs(ke*Math.sin(De)),He=0,qe=0;Re<=Ie[1];Re+=Ee){var Oe=0,ze=0,Ve=te.getBoundingRect(Te(Re),Ae.font,"center","top");Oe=Ve.width*1.3,ze=Ve.height*1.3,He=Math.max(He,Oe,7),qe=Math.max(qe,ze,7)}var Ge=He/Be,We=qe/Ne;isNaN(Ge)&&(Ge=1/0),isNaN(We)&&(We=1/0);var Ue=Math.max(0,Math.floor(Math.min(Ge,We))),Ye=ue(we.model),Ze=we.getExtent(),Xe=Ye.lastAutoInterval,it=Ye.lastTickCount;return Xe!=null&&it!=null&&Math.abs(Xe-Ue)<=1&&Math.abs(it-Ce)<=1&&Xe>Ue&&Ye.axisExtend0===Ze[0]&&Ye.axisExtend1===Ze[1]?Ue=Xe:(Ye.lastTickCount=Ce,Ye.lastAutoInterval=Ue,Ye.axisExtend0=Ze[0],Ye.axisExtend1=Ze[1]),Ue}function xe(we){var Ae=we.getLabelModel();return{axisRotate:we.getRotate?we.getRotate():we.isHorizontal&&!we.isHorizontal()?90:0,labelRotate:Ae.get("rotate")||0,font:Ae.getFont()}}function $e(we,Ae,Te){var De=oe(we),Me=we.scale,Ie=Me.getExtent(),Ce=we.getLabelModel(),Ee=[],Re=Math.max((Ae||0)+1,1),ke=Ie[0],Be=Me.count();ke!==0&&Re>1&&Be/Re>2&&(ke=Math.round(Math.ceil(ke/Re)*Re));var Ne=le(we),He=Ce.get("showMinLabel")||Ne,qe=Ce.get("showMaxLabel")||Ne;He&&ke!==Ie[0]&&ze(Ie[0]);for(var Oe=ke;Oe<=Ie[1];Oe+=Re)ze(Oe);qe&&Oe-Re!==Ie[1]&&ze(Ie[1]);function ze(Ve){Ee.push(Te?Ve:{formattedLabel:De(Ve),rawLabel:Me.getLabel(Ve),tickValue:Ve})}return Ee}function Se(we,Ae,Te){var De=we.scale,Me=oe(we),Ie=[];return ee.each(De.getTicks(),function(Ce){var Ee=De.getLabel(Ce);Ae(Ce,Ee)&&Ie.push(Te?Ce:{formattedLabel:Me(Ce),rawLabel:Ee,tickValue:Ce})}),Ie}return axisTickLabelBuilder.createAxisLabels=ce,axisTickLabelBuilder.createAxisTicks=de,axisTickLabelBuilder.calculateCategoryInterval=be,axisTickLabelBuilder}var Axis_1,hasRequiredAxis$1;function requireAxis$1(){if(hasRequiredAxis$1)return Axis_1;hasRequiredAxis$1=1;var ee=util$a,te=ee.each,ae=ee.map,ne=requireNumber(),ie=ne.linearMap,oe=ne.getPixelPrecision,se=ne.round,le=requireAxisTickLabelBuilder(),ue=le.createAxisTicks,ce=le.createAxisLabels,de=le.calculateCategoryInterval,he=[0,1],fe=function(me,ye,_e){this.dim=me,this.scale=ye,this._extent=_e||[0,0],this.inverse=!1,this.onBand=!1};fe.prototype={constructor:fe,contain:function(me){var ye=this._extent,_e=Math.min(ye[0],ye[1]),be=Math.max(ye[0],ye[1]);return me>=_e&&me<=be},containData:function(me){return this.scale.contain(me)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(me){return oe(me||this.scale.getExtent(),this._extent)},setExtent:function(me,ye){var _e=this._extent;_e[0]=me,_e[1]=ye},dataToCoord:function(me,ye){var _e=this._extent,be=this.scale;return me=be.normalize(me),this.onBand&&be.type==="ordinal"&&(_e=_e.slice(),pe(_e,be.count())),ie(me,he,_e,ye)},coordToData:function(me,ye){var _e=this._extent,be=this.scale;this.onBand&&be.type==="ordinal"&&(_e=_e.slice(),pe(_e,be.count()));var xe=ie(me,_e,he,ye);return this.scale.scale(xe)},pointToData:function(me,ye){},getTicksCoords:function(me){me=me||{};var ye=me.tickModel||this.getTickModel(),_e=ue(this,ye),be=_e.ticks,xe=ae(be,function(Se){return{coord:this.dataToCoord(Se),tickValue:Se}},this),$e=ye.get("alignWithLabel");return ve(this,xe,$e,me.clamp),xe},getMinorTicksCoords:function(){if(this.scale.type==="ordinal")return[];var me=this.model.getModel("minorTick"),ye=me.get("splitNumber");ye>0&&ye<100||(ye=5);var _e=this.scale.getMinorTicks(ye),be=ae(_e,function(xe){return ae(xe,function($e){return{coord:this.dataToCoord($e),tickValue:$e}},this)},this);return be},getViewLabels:function(){return ce(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var me=this._extent,ye=this.scale.getExtent(),_e=ye[1]-ye[0]+(this.onBand?1:0);_e===0&&(_e=1);var be=Math.abs(me[1]-me[0]);return Math.abs(be)/_e},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return de(this)}};function pe(me,ye){var _e=me[1]-me[0],be=ye,xe=_e/be/2;me[0]+=xe,me[1]-=xe}function ve(me,ye,_e,be){var xe=ye.length;if(!me.onBand||_e||!xe)return;var $e=me.getExtent(),Se,we;if(xe===1)ye[0].coord=$e[0],Se=ye[1]={coord:$e[0]};else{var Ae=ye[xe-1].tickValue-ye[0].tickValue,Te=(ye[xe-1].coord-ye[0].coord)/Ae;te(ye,function(Ce){Ce.coord-=Te/2});var De=me.scale.getExtent();we=1+De[1]-ye[xe-1].tickValue,Se={coord:ye[xe-1].coord+Te*we},ye.push(Se)}var Me=$e[0]>$e[1];Ie(ye[0].coord,$e[0])&&(be?ye[0].coord=$e[0]:ye.shift()),be&&Ie($e[0],ye[0].coord)&&ye.unshift({coord:$e[0]}),Ie($e[1],Se.coord)&&(be?Se.coord=$e[1]:ye.pop()),be&&Ie(Se.coord,$e[1])&&ye.push({coord:$e[1]});function Ie(Ce,Ee){return Ce=se(Ce),Ee=se(Ee),Me?Ce>Ee:Ce<Ee}}var ge=fe;return Axis_1=ge,Axis_1}var hasRequired_export;function require_export(){if(hasRequired_export)return _export;hasRequired_export=1;var ee=zrender$1;_export.zrender=ee;var te=matrix$5;_export.matrix=te;var ae=vector$3;_export.vector=ae;var ne=util$a,ie=color$2;_export.color=ie;var oe=graphic$6,se=requireNumber();_export.number=se;var le=format$6;_export.format=le;var ue=throttle$3;ue.throttle,_export.throttle=ue.throttle;var ce=requireHelper$4();_export.helper=ce;var de=requireParseGeoJson();_export.parseGeoJSON=de;var he=requireList();_export.List=he;var fe=Model_1;_export.Model=fe;var pe=requireAxis$1();_export.Axis=pe;var ve=env_1;_export.env=ve;var ge=de,me={};ne.each(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(_e){me[_e]=ne[_e]});var ye={};return ne.each(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","registerShape","getShapeClass","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(_e){ye[_e]=oe[_e]}),_export.parseGeoJson=ge,_export.util=me,_export.graphic=ye,_export}(function(ee){var te=zrender$1,ae=util$a,ne=color$2,ie=env_1,oe=timsort$2,se=Eventful_1,le=Global,ue=ExtensionAPI_1,ce=CoordinateSystem$1,de=OptionManager_1,he=backwardCompat$2,fe=dataStack$2,pe=Component$1,ve=Series,ge=Component_1,me=Chart_1,ye=graphic$6,_e=model,be=throttle$3,xe=be.throttle,$e=seriesColor,Se=aria,we=_default_1,Ae=Scheduler_1,Te=light,De=dark;requireDataset();var Me=mapDataStorage,Ie=ae.assert,Ce=ae.each,Ee=ae.isFunction,Re=ae.isObject,ke=pe.parseClassType,Be="4.9.0",Ne={zrender:"4.3.2"},He=1,qe=1e3,Oe=800,ze=900,Ve=5e3,Ge=1e3,We=1100,Ue=2e3,Ye=3e3,Ze=3500,Xe=4e3,it=5e3,at={PROCESSOR:{FILTER:qe,SERIES_FILTER:Oe,STATISTIC:Ve},VISUAL:{LAYOUT:Ge,PROGRESSIVE_LAYOUT:We,GLOBAL:Ue,CHART:Ye,POST_CHART_LAYOUT:Ze,COMPONENT:Xe,BRUSH:it}},ut="__flagInMainProcess",dt="__optionUpdated",pt=/^[a-zA-Z0-9_]+$/;function gt(ft,xt){return function(kt,zt,Ut){if(!xt&&this._disposed){this.id;return}kt=kt&&kt.toLowerCase(),se.prototype[ft].call(this,kt,zt,Ut)}}function bt(){se.call(this)}bt.prototype.on=gt("on",!0),bt.prototype.off=gt("off",!0),bt.prototype.one=gt("one",!0),ae.mixin(bt,se);function Tt(ft,Wt,kt){kt=kt||{},typeof Wt=="string"&&(Wt=Br[Wt]),this.id,this.group,this._dom=ft;var zt="canvas",Ut=this._zr=te.init(ft,{renderer:kt.renderer||zt,devicePixelRatio:kt.devicePixelRatio,width:kt.width,height:kt.height});this._throttledZrFlush=xe(ae.bind(Ut.flush,Ut),17);var Wt=ae.clone(Wt);Wt&&he(Wt,!0),this._theme=Wt,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new ce;var Yt=this._api=$r(this);function ar(Jt,lr){return Jt.__prio-lr.__prio}oe(Tr,ar),oe(wr,ar),this._scheduler=new Ae(this,Yt,wr,Tr),se.call(this,this._ecEventProcessor=new Pr),this._messageCenter=new bt,this._initEvents(),this.resize=ae.bind(this.resize,this),this._pendingActions=[],Ut.animation.on("frame",this._onframe,this),Dt(Ut,this),ae.setAsPrimitive(this)}var At=Tt.prototype;At._onframe=function(){if(!this._disposed){var ft=this._scheduler;if(this[dt]){var xt=this[dt].silent;this[ut]=!0,St(this),qt.update.call(this),this[ut]=!1,this[dt]=!1,vt.call(this,xt),yt.call(this,xt)}else if(ft.unfinished){var kt=He,zt=this._model,Ut=this._api;ft.unfinished=!1;do{var Wt=+new Date;ft.performSeriesTasks(zt),ft.performDataProcessorTasks(zt),Ot(this,zt),ft.performVisualTasks(zt),Ht(this,this._model,Ut,"remain"),kt-=+new Date-Wt}while(kt>0&&ft.unfinished);ft.unfinished||this._zr.flush()}}},At.getDom=function(){return this._dom},At.getZr=function(){return this._zr},At.setOption=function(ft,xt,kt){if(this._disposed){this.id;return}var zt;if(Re(xt)&&(kt=xt.lazyUpdate,zt=xt.silent,xt=xt.notMerge),this[ut]=!0,!this._model||xt){var Ut=new de(this._api),Wt=this._theme,Yt=this._model=new le;Yt.scheduler=this._scheduler,Yt.init(null,null,Wt,Ut)}this._model.setOption(ft,mr),kt?(this[dt]={silent:zt},this[ut]=!1):(St(this),qt.update.call(this),this._zr.flush(),this[dt]=!1,this[ut]=!1,vt.call(this,zt),yt.call(this,zt))},At.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},At.getModel=function(){return this._model},At.getOption=function(){return this._model&&this._model.getOption()},At.getWidth=function(){return this._zr.getWidth()},At.getHeight=function(){return this._zr.getHeight()},At.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},At.getRenderedCanvas=function(ft){if(ie.canvasSupported){ft=ft||{},ft.pixelRatio=ft.pixelRatio||1,ft.backgroundColor=ft.backgroundColor||this._model.get("backgroundColor");var xt=this._zr;return xt.painter.getRenderedCanvas(ft)}},At.getSvgDataURL=function(){if(ie.svgSupported){var ft=this._zr,xt=ft.storage.getDisplayList();return ae.each(xt,function(kt){kt.stopAnimation(!0)}),ft.painter.toDataURL()}},At.getDataURL=function(ft){if(this._disposed){this.id;return}ft=ft||{};var xt=ft.excludeComponents,kt=this._model,zt=[],Ut=this;Ce(xt,function(Yt){kt.eachComponent({mainType:Yt},function(ar){var Jt=Ut._componentsMap[ar.__viewId];Jt.group.ignore||(zt.push(Jt),Jt.group.ignore=!0)})});var Wt=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.getRenderedCanvas(ft).toDataURL("image/"+(ft&&ft.type||"png"));return Ce(zt,function(Yt){Yt.group.ignore=!1}),Wt},At.getConnectedDataURL=function(ft){if(this._disposed){this.id;return}if(ie.canvasSupported){var xt=ft.type==="svg",kt=this.group,zt=Math.min,Ut=Math.max,Wt=1/0;if(oa[kt]){var Yt=Wt,ar=Wt,Jt=-Wt,lr=-Wt,dr=[],hr=ft&&ft.pixelRatio||1;ae.each(Hr,function(sa,Xa){if(sa.group===kt){var Mn=xt?sa.getZr().painter.getSvgDom().innerHTML:sa.getRenderedCanvas(ae.clone(ft)),Va=sa.getDom().getBoundingClientRect();Yt=zt(Va.left,Yt),ar=zt(Va.top,ar),Jt=Ut(Va.right,Jt),lr=Ut(Va.bottom,lr),dr.push({dom:Mn,left:Va.left,top:Va.top})}}),Yt*=hr,ar*=hr,Jt*=hr,lr*=hr;var zr=Jt-Yt,Dr=lr-ar,Yr=ae.createCanvas(),na=te.init(Yr,{renderer:xt?"svg":"canvas"});if(na.resize({width:zr,height:Dr}),xt){var ya="";return Ce(dr,function(sa){var Xa=sa.left-Yt,Mn=sa.top-ar;ya+='<g transform="translate('+Xa+","+Mn+')">'+sa.dom+"</g>"}),na.painter.getSvgRoot().innerHTML=ya,ft.connectedBackgroundColor&&na.painter.setBackgroundColor(ft.connectedBackgroundColor),na.refreshImmediately(),na.painter.toDataURL()}else return ft.connectedBackgroundColor&&na.add(new ye.Rect({shape:{x:0,y:0,width:zr,height:Dr},style:{fill:ft.connectedBackgroundColor}})),Ce(dr,function(sa){var Xa=new ye.Image({style:{x:sa.left*hr-Yt,y:sa.top*hr-ar,image:sa.dom}});na.add(Xa)}),na.refreshImmediately(),Yr.toDataURL("image/"+(ft&&ft.type||"png"))}else return this.getDataURL(ft)}},At.convertToPixel=ae.curry(Mt,"convertToPixel"),At.convertFromPixel=ae.curry(Mt,"convertFromPixel");function Mt(ft,xt,kt){if(this._disposed){this.id;return}var zt=this._model,Ut=this._coordSysMgr.getCoordinateSystems(),Wt;xt=_e.parseFinder(zt,xt);for(var Yt=0;Yt<Ut.length;Yt++){var ar=Ut[Yt];if(ar[ft]&&(Wt=ar[ft](zt,xt,kt))!=null)return Wt}}At.containPixel=function(ft,xt){if(this._disposed){this.id;return}var kt=this._model,zt;return ft=_e.parseFinder(kt,ft),ae.each(ft,function(Ut,Wt){Wt.indexOf("Models")>=0&&ae.each(Ut,function(Yt){var ar=Yt.coordinateSystem;if(ar&&ar.containPoint)zt|=!!ar.containPoint(xt);else if(Wt==="seriesModels"){var Jt=this._chartsMap[Yt.__viewId];Jt&&Jt.containPoint&&(zt|=Jt.containPoint(xt,Yt))}},this)},this),!!zt},At.getVisual=function(ft,xt){var kt=this._model;ft=_e.parseFinder(kt,ft,{defaultMainType:"series"});var zt=ft.seriesModel,Ut=zt.getData(),Wt=ft.hasOwnProperty("dataIndexInside")?ft.dataIndexInside:ft.hasOwnProperty("dataIndex")?Ut.indexOfRawIndex(ft.dataIndex):null;return Wt!=null?Ut.getItemVisual(Wt,xt):Ut.getVisual(xt)},At.getViewOfComponentModel=function(ft){return this._componentsMap[ft.__viewId]},At.getViewOfSeriesModel=function(ft){return this._chartsMap[ft.__viewId]};var qt={prepareAndUpdate:function(ft){St(this),qt.update.call(this,ft)},update:function(ft){var xt=this._model,kt=this._api,zt=this._zr,Ut=this._coordSysMgr,Wt=this._scheduler;if(xt){Wt.restoreData(xt,ft),Wt.performSeriesTasks(xt),Ut.create(xt,kt),Wt.performDataProcessorTasks(xt,ft),Ot(this,xt),Ut.update(xt,kt),It(xt),Wt.performVisualTasks(xt,ft),Lt(this,xt,kt,ft);var Yt=xt.get("backgroundColor")||"transparent";if(ie.canvasSupported)zt.setBackgroundColor(Yt);else{var ar=ne.parse(Yt);Yt=ne.stringify(ar,"rgb"),ar[3]===0&&(Yt="transparent")}Kt(xt,kt)}},updateTransform:function(ft){var xt=this._model,kt=this,zt=this._api;if(xt){var Ut=[];xt.eachComponent(function(Yt,ar){var Jt=kt.getViewOfComponentModel(ar);if(Jt&&Jt.__alive)if(Jt.updateTransform){var lr=Jt.updateTransform(ar,xt,zt,ft);lr&&lr.update&&Ut.push(Jt)}else Ut.push(Jt)});var Wt=ae.createHashMap();xt.eachSeries(function(Yt){var ar=kt._chartsMap[Yt.__viewId];if(ar.updateTransform){var Jt=ar.updateTransform(Yt,xt,zt,ft);Jt&&Jt.update&&Wt.set(Yt.uid,1)}else Wt.set(Yt.uid,1)}),It(xt),this._scheduler.performVisualTasks(xt,ft,{setDirty:!0,dirtyMap:Wt}),Ht(kt,xt,zt,ft,Wt),Kt(xt,this._api)}},updateView:function(ft){var xt=this._model;xt&&(me.markUpdateMethod(ft,"updateView"),It(xt),this._scheduler.performVisualTasks(xt,ft,{setDirty:!0}),Lt(this,this._model,this._api,ft),Kt(xt,this._api))},updateVisual:function(ft){qt.update.call(this,ft)},updateLayout:function(ft){qt.update.call(this,ft)}};function St(ft){var xt=ft._model,kt=ft._scheduler;kt.restorePipelines(xt),kt.prepareStageTasks(),Pt(ft,"component",xt,kt),Pt(ft,"chart",xt,kt),kt.plan()}function Ct(ft,xt,kt,zt,Ut){var Wt=ft._model;if(!zt){Ce(ft._componentsViews.concat(ft._chartsViews),lr);return}var Yt={};Yt[zt+"Id"]=kt[zt+"Id"],Yt[zt+"Index"]=kt[zt+"Index"],Yt[zt+"Name"]=kt[zt+"Name"];var ar={mainType:zt,query:Yt};Ut&&(ar.subType=Ut);var Jt=kt.excludeSeriesId;Jt!=null&&(Jt=ae.createHashMap(_e.normalizeToArray(Jt))),Wt&&Wt.eachComponent(ar,function(dr){(!Jt||Jt.get(dr.id)==null)&&lr(ft[zt==="series"?"_chartsMap":"_componentsMap"][dr.__viewId])},ft);function lr(dr){dr&&dr.__alive&&dr[xt]&&dr[xt](dr.__model,Wt,ft._api,kt)}}At.resize=function(ft){if(this._disposed){this.id;return}this._zr.resize(ft);var xt=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!xt){var kt=xt.resetOption("media"),zt=ft&&ft.silent;this[ut]=!0,kt&&St(this),qt.update.call(this),this[ut]=!1,vt.call(this,zt),yt.call(this,zt)}};function Ot(ft,xt){var kt=ft._chartsMap,zt=ft._scheduler;xt.eachSeries(function(Ut){zt.updateStreamModes(Ut,kt[Ut.__viewId])})}At.showLoading=function(ft,xt){if(this._disposed){this.id;return}if(Re(ft)&&(xt=ft,ft=""),ft=ft||"default",this.hideLoading(),!!Qt[ft]){var kt=Qt[ft](this._api,xt),zt=this._zr;this._loadingFX=kt,zt.add(kt)}},At.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},At.makeActionFromEvent=function(ft){var xt=ae.extend({},ft);return xt.type=nr[ft.type],xt},At.dispatchAction=function(ft,xt){if(this._disposed){this.id;return}if(Re(xt)||(xt={silent:!!xt}),!!Lr[ft.type]&&this._model){if(this[ut]){this._pendingActions.push(ft);return}ct.call(this,ft,xt.silent),xt.flush?this._zr.flush(!0):xt.flush!==!1&&ie.browser.weChat&&this._throttledZrFlush(),vt.call(this,xt.silent),yt.call(this,xt.silent)}};function ct(ft,xt){var kt=ft.type,zt=ft.escapeConnect,Ut=Lr[kt],Wt=Ut.actionInfo,Yt=(Wt.update||"update").split(":"),ar=Yt.pop();Yt=Yt[0]!=null&&ke(Yt[0]),this[ut]=!0;var Jt=[ft],lr=!1;ft.batch&&(lr=!0,Jt=ae.map(ft.batch,function(Dr){return Dr=ae.defaults(ae.extend({},Dr),ft),Dr.batch=null,Dr}));var dr=[],hr,zr=kt==="highlight"||kt==="downplay";Ce(Jt,function(Dr){hr=Ut.action(Dr,this._model,this._api),hr=hr||ae.extend({},Dr),hr.type=Wt.event||hr.type,dr.push(hr),zr?Ct(this,ar,Dr,"series"):Yt&&Ct(this,ar,Dr,Yt.main,Yt.sub)},this),ar!=="none"&&!zr&&!Yt&&(this[dt]?(St(this),qt.update.call(this,ft),this[dt]=!1):qt[ar].call(this,ft)),lr?hr={type:Wt.event||kt,escapeConnect:zt,batch:dr}:hr=dr[0],this[ut]=!1,!xt&&this._messageCenter.trigger(hr.type,hr)}function vt(ft){for(var xt=this._pendingActions;xt.length;){var kt=xt.shift();ct.call(this,kt,ft)}}function yt(ft){!ft&&this.trigger("updated")}function Dt(ft,xt){ft.on("rendered",function(){xt.trigger("rendered"),ft.animation.isFinished()&&!xt[dt]&&!xt._scheduler.unfinished&&!xt._pendingActions.length&&xt.trigger("finished")})}At.appendData=function(ft){if(this._disposed){this.id;return}var xt=ft.seriesIndex,kt=this.getModel(),zt=kt.getSeriesByIndex(xt);zt.appendData(ft),this._scheduler.unfinished=!0},At.on=gt("on",!1),At.off=gt("off",!1),At.one=gt("one",!1);function Pt(ft,xt,kt,zt){for(var Ut=xt==="component",Wt=Ut?ft._componentsViews:ft._chartsViews,Yt=Ut?ft._componentsMap:ft._chartsMap,ar=ft._zr,Jt=ft._api,lr=0;lr<Wt.length;lr++)Wt[lr].__alive=!1;Ut?kt.eachComponent(function(zr,Dr){zr!=="series"&&dr(Dr)}):kt.eachSeries(dr);function dr(zr){var Dr="_ec_"+zr.id+"_"+zr.type,Yr=Yt[Dr];if(!Yr){var na=ke(zr.type),ya=Ut?ge.getClass(na.main,na.sub):me.getClass(na.sub);Yr=new ya,Yr.init(kt,Jt),Yt[Dr]=Yr,Wt.push(Yr),ar.add(Yr.group)}zr.__viewId=Yr.__id=Dr,Yr.__alive=!0,Yr.__model=zr,Yr.group.__ecComponentInfo={mainType:zr.mainType,index:zr.componentIndex},!Ut&&zt.prepareView(Yr,zr,kt,Jt)}for(var lr=0;lr<Wt.length;){var hr=Wt[lr];hr.__alive?lr++:(!Ut&&hr.renderTask.dispose(),ar.remove(hr.group),hr.dispose(kt,Jt),Wt.splice(lr,1),delete Yt[hr.__id],hr.__id=hr.group.__ecComponentInfo=null)}}function It(ft){ft.clearColorPalette(),ft.eachSeries(function(xt){xt.clearColorPalette()})}function Lt(ft,xt,kt,zt){Ft(ft,xt,kt,zt),Ce(ft._chartsViews,function(Ut){Ut.__alive=!1}),Ht(ft,xt,kt,zt),Ce(ft._chartsViews,function(Ut){Ut.__alive||Ut.remove(xt,kt)})}function Ft(ft,xt,kt,zt,Ut){Ce(Ut||ft._componentsViews,function(Wt){var Yt=Wt.__model;Wt.render(Yt,xt,kt,zt),Rr(Yt,Wt)})}function Ht(ft,xt,kt,zt,Ut){var Wt=ft._scheduler,Yt;xt.eachSeries(function(ar){var Jt=ft._chartsMap[ar.__viewId];Jt.__alive=!0;var lr=Jt.renderTask;Wt.updatePayload(lr,zt),Ut&&Ut.get(ar.uid)&&lr.dirty(),Yt|=lr.perform(Wt.getPerformArgs(lr)),Jt.group.silent=!!ar.get("silent"),Rr(ar,Jt),_r(ar,Jt)}),Wt.unfinished|=Yt,fr(ft,xt),Se(ft._zr.dom,xt)}function Kt(ft,xt){Ce(Mr,function(kt){kt(ft,xt)})}var Zt=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];At._initEvents=function(){Ce(Zt,function(ft){var xt=function(kt){var zt=this.getModel(),Ut=kt.target,Wt,Yt=ft==="globalout";if(Yt)Wt={};else if(Ut&&Ut.dataIndex!=null){var ar=Ut.dataModel||zt.getSeriesByIndex(Ut.seriesIndex);Wt=ar&&ar.getDataParams(Ut.dataIndex,Ut.dataType,Ut)||{}}else Ut&&Ut.eventData&&(Wt=ae.extend({},Ut.eventData));if(Wt){var Jt=Wt.componentType,lr=Wt.componentIndex;(Jt==="markLine"||Jt==="markPoint"||Jt==="markArea")&&(Jt="series",lr=Wt.seriesIndex);var dr=Jt&&lr!=null&&zt.getComponent(Jt,lr),hr=dr&&this[dr.mainType==="series"?"_chartsMap":"_componentsMap"][dr.__viewId];Wt.event=kt,Wt.type=ft,this._ecEventProcessor.eventInfo={targetEl:Ut,packedEvent:Wt,model:dr,view:hr},this.trigger(ft,Wt)}};xt.zrEventfulCallAtLast=!0,this._zr.on(ft,xt,this)},this),Ce(nr,function(ft,xt){this._messageCenter.on(xt,function(kt){this.trigger(xt,kt)},this)},this)},At.isDisposed=function(){return this._disposed},At.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},At.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0,_e.setAttribute(this.getDom(),kr,"");var ft=this._api,xt=this._model;Ce(this._componentsViews,function(kt){kt.dispose(xt,ft)}),Ce(this._chartsViews,function(kt){kt.dispose(xt,ft)}),this._zr.dispose(),delete Hr[this.id]},ae.mixin(Tt,se);function jt(ft){}function fr(ft,xt){var kt=ft._zr,zt=kt.storage,Ut=0;zt.traverse(function(Wt){Ut++}),Ut>xt.get("hoverLayerThreshold")&&!ie.node&&xt.eachSeries(function(Wt){if(!Wt.preventUsingHoverLayer){var Yt=ft._chartsMap[Wt.__viewId];Yt.__alive&&Yt.group.traverse(function(ar){ar.useHoverLayer=!0})}})}function _r(ft,xt){var kt=ft.get("blendMode")||null;xt.group.traverse(function(zt){zt.isGroup||zt.style.blend!==kt&&zt.setStyle("blend",kt),zt.eachPendingDisplayable&&zt.eachPendingDisplayable(function(Ut){Ut.setStyle("blend",kt)})})}function Rr(ft,xt){var kt=ft.get("z"),zt=ft.get("zlevel");xt.group.traverse(function(Ut){Ut.type!=="group"&&(kt!=null&&(Ut.z=kt),zt!=null&&(Ut.zlevel=zt))})}function $r(ft){var xt=ft._coordSysMgr;return ae.extend(new ue(ft),{getCoordinateSystems:ae.bind(xt.getCoordinateSystems,xt),getComponentByElement:function(kt){for(;kt;){var zt=kt.__ecComponentInfo;if(zt!=null)return ft._model.getComponent(zt.mainType,zt.index);kt=kt.parent}}})}function Pr(){this.eventInfo}Pr.prototype={constructor:Pr,normalizeQuery:function(ft){var xt={},kt={},zt={};if(ae.isString(ft)){var Ut=ke(ft);xt.mainType=Ut.main||null,xt.subType=Ut.sub||null}else{var Wt=["Index","Name","Id"],Yt={name:1,dataIndex:1,dataType:1};ae.each(ft,function(ar,Jt){for(var lr=!1,dr=0;dr<Wt.length;dr++){var hr=Wt[dr],zr=Jt.lastIndexOf(hr);if(zr>0&&zr===Jt.length-hr.length){var Dr=Jt.slice(0,zr);Dr!=="data"&&(xt.mainType=Dr,xt[hr.toLowerCase()]=ar,lr=!0)}}Yt.hasOwnProperty(Jt)&&(kt[Jt]=ar,lr=!0),lr||(zt[Jt]=ar)})}return{cptQuery:xt,dataQuery:kt,otherQuery:zt}},filter:function(ft,xt,kt){var zt=this.eventInfo;if(!zt)return!0;var Ut=zt.targetEl,Wt=zt.packedEvent,Yt=zt.model,ar=zt.view;if(!Yt||!ar)return!0;var Jt=xt.cptQuery,lr=xt.dataQuery;return dr(Jt,Yt,"mainType")&&dr(Jt,Yt,"subType")&&dr(Jt,Yt,"index","componentIndex")&&dr(Jt,Yt,"name")&&dr(Jt,Yt,"id")&&dr(lr,Wt,"name")&&dr(lr,Wt,"dataIndex")&&dr(lr,Wt,"dataType")&&(!ar.filterForExposedEvent||ar.filterForExposedEvent(ft,xt.otherQuery,Ut,Wt));function dr(hr,zr,Dr,Yr){return hr[Dr]==null||zr[Yr||Dr]===hr[Dr]}},afterTrigger:function(){this.eventInfo=null}};var Lr={},nr={},wr=[],mr=[],Mr=[],Tr=[],Br={},Qt={},Hr={},oa={},ca=new Date-0,jr=new Date-0,kr="_echarts_instance_";function Zr(ft){var xt=0,kt=1,zt=2,Ut="__connectUpdateStatus";function Wt(Yt,ar){for(var Jt=0;Jt<Yt.length;Jt++){var lr=Yt[Jt];lr[Ut]=ar}}Ce(nr,function(Yt,ar){ft._messageCenter.on(ar,function(Jt){if(oa[ft.group]&&ft[Ut]!==xt){if(Jt&&Jt.escapeConnect)return;var lr=ft.makeActionFromEvent(Jt),dr=[];Ce(Hr,function(hr){hr!==ft&&hr.group===ft.group&&dr.push(hr)}),Wt(dr,xt),Ce(dr,function(hr){hr[Ut]!==kt&&hr.dispatchAction(lr)}),Wt(dr,zt)}})})}function Ur(ft,xt,kt){var zt=Ea(ft);if(zt)return zt;var Ut=new Tt(ft,xt,kt);return Ut.id="ec_"+ca++,Hr[Ut.id]=Ut,_e.setAttribute(ft,kr,Ut.id),Zr(Ut),Ut}function ea(ft){if(ae.isArray(ft)){var xt=ft;ft=null,Ce(xt,function(kt){kt.group!=null&&(ft=kt.group)}),ft=ft||"g_"+jr++,Ce(xt,function(kt){kt.group=ft})}return oa[ft]=!0,ft}function Da(ft){oa[ft]=!1}var Gr=Da;function Xr(ft){typeof ft=="string"?ft=Hr[ft]:ft instanceof Tt||(ft=Ea(ft)),ft instanceof Tt&&!ft.isDisposed()&&ft.dispose()}function Ea(ft){return Hr[_e.getAttribute(ft,kr)]}function Ha(ft){return Hr[ft]}function fn(ft,xt){Br[ft]=xt}function pn(ft){mr.push(ft)}function vn(ft,xt){Ga(wr,ft,xt,qe)}function gi(ft){Mr.push(ft)}function Tn(ft,xt,kt){typeof xt=="function"&&(kt=xt,xt="");var zt=Re(ft)?ft.type:[ft,ft={event:xt}][0];ft.event=(ft.event||zt).toLowerCase(),xt=ft.event,Ie(pt.test(zt)&&pt.test(xt)),Lr[zt]||(Lr[zt]={action:kt,actionInfo:ft}),nr[xt]=zt}function zn(ft,xt){ce.register(ft,xt)}function qn(ft){var xt=ce.get(ft);if(xt)return xt.getDimensionsInfo?xt.getDimensionsInfo():xt.dimensions.slice()}function gn(ft,xt){Ga(Tr,ft,xt,Ge,"layout")}function Pn(ft,xt){Ga(Tr,ft,xt,Ye,"visual")}function Ga(ft,xt,kt,zt,Ut){(Ee(xt)||Re(xt))&&(kt=xt,xt=zt);var Wt=Ae.wrapStageHandler(kt,Ut);return Wt.__prio=xt,Wt.__raw=kt,ft.push(Wt),Wt}function Hn(ft,xt){Qt[ft]=xt}function mi(ft){return pe.extend(ft)}function yi(ft){return ge.extend(ft)}function Gn(ft){return ve.extend(ft)}function Un(ft){return me.extend(ft)}function Wn(ft){ae.$override("createCanvas",ft)}function _i(ft,xt,kt){Me.registerMap(ft,xt,kt)}function bi(ft){var xt=Me.retrieveMap(ft);return xt&&xt[0]&&{geoJson:xt[0].geoJSON,specialAreas:xt[0].specialAreas}}Pn(Ue,$e),pn(he),vn(ze,fe),Hn("default",we),Tn({type:"highlight",event:"highlight",update:"highlight"},ae.noop),Tn({type:"downplay",event:"downplay",update:"downplay"},ae.noop),fn("light",Te),fn("dark",De);var jn={};ee.version=Be,ee.dependencies=Ne,ee.PRIORITY=at,ee.init=Ur,ee.connect=ea,ee.disConnect=Da,ee.disconnect=Gr,ee.dispose=Xr,ee.getInstanceByDom=Ea,ee.getInstanceById=Ha,ee.registerTheme=fn,ee.registerPreprocessor=pn,ee.registerProcessor=vn,ee.registerPostUpdate=gi,ee.registerAction=Tn,ee.registerCoordinateSystem=zn,ee.getCoordinateSystemDimensions=qn,ee.registerLayout=gn,ee.registerVisual=Pn,ee.registerLoading=Hn,ee.extendComponentModel=mi,ee.extendComponentView=yi,ee.extendSeriesModel=Gn,ee.extendChartView=Un,ee.setCanvasCreator=Wn,ee.registerMap=_i,ee.getMap=bi,ee.dataTool=jn;var mn=require_export();(function(){for(var ft in mn)mn.hasOwnProperty(ft)&&(ee[ft]=mn[ft])})()})(echarts$1);var line={},LineSeries$1,hasRequiredLineSeries;function requireLineSeries(){if(hasRequiredLineSeries)return LineSeries$1;hasRequiredLineSeries=1;var ee=requireCreateListFromArray(),te=Series,ae=te.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(ne,ie){return ee(this.getSource(),this,{useEncodeDefaulter:!0})},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clip:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});return LineSeries$1=ae,LineSeries$1}var labelHelper={},hasRequiredLabelHelper;function requireLabelHelper(){if(hasRequiredLabelHelper)return labelHelper;hasRequiredLabelHelper=1;var ee=dataProvider,te=ee.retrieveRawValue;function ae(ne,ie){var oe=ne.mapDimension("defaultedLabel",!0),se=oe.length;if(se===1)return te(ne,ie,oe[0]);if(se){for(var le=[],ue=0;ue<oe.length;ue++){var ce=te(ne,ie,oe[ue]);le.push(ce)}return le.join(" ")}}return labelHelper.getDefaultLabel=ae,labelHelper}var _Symbol,hasRequired_Symbol;function require_Symbol(){if(hasRequired_Symbol)return _Symbol;hasRequired_Symbol=1;var ee=util$a,te=requireSymbol$1(),ae=te.createSymbol,ne=graphic$6,ie=requireNumber(),oe=ie.parsePercent,se=requireLabelHelper(),le=se.getDefaultLabel;function ue(be,xe,$e){ne.Group.call(this),this.updateData(be,xe,$e)}var ce=ue.prototype,de=ue.getSymbolSize=function(be,xe){var $e=be.getItemVisual(xe,"symbolSize");return $e instanceof Array?$e.slice():[+$e,+$e]};function he(be){return[be[0]/2,be[1]/2]}function fe(be,xe){this.parent.drift(be,xe)}ce._createSymbol=function(be,xe,$e,Se,we){this.removeAll();var Ae=xe.getItemVisual($e,"color"),Te=ae(be,-1,-1,2,2,Ae,we);Te.attr({z2:100,culling:!0,scale:he(Se)}),Te.drift=fe,this._symbolType=be,this.add(Te)},ce.stopSymbolAnimation=function(be){this.childAt(0).stopAnimation(be)},ce.getSymbolPath=function(){return this.childAt(0)},ce.getScale=function(){return this.childAt(0).scale},ce.highlight=function(){this.childAt(0).trigger("emphasis")},ce.downplay=function(){this.childAt(0).trigger("normal")},ce.setZ=function(be,xe){var $e=this.childAt(0);$e.zlevel=be,$e.z=xe},ce.setDraggable=function(be){var xe=this.childAt(0);xe.draggable=be,xe.cursor=be?"move":xe.cursor},ce.updateData=function(be,xe,$e){this.silent=!1;var Se=be.getItemVisual(xe,"symbol")||"circle",we=be.hostModel,Ae=de(be,xe),Te=Se!==this._symbolType;if(Te){var De=be.getItemVisual(xe,"symbolKeepAspect");this._createSymbol(Se,be,xe,Ae,De)}else{var Me=this.childAt(0);Me.silent=!1,ne.updateProps(Me,{scale:he(Ae)},we,xe)}if(this._updateCommon(be,xe,Ae,$e),Te){var Me=this.childAt(0),Ie=$e&&$e.fadeIn,Ce={scale:Me.scale.slice()};Ie&&(Ce.style={opacity:Me.style.opacity}),Me.scale=[0,0],Ie&&(Me.style.opacity=0),ne.initProps(Me,Ce,we,xe)}this._seriesModel=we};var pe=["itemStyle"],ve=["emphasis","itemStyle"],ge=["label"],me=["emphasis","label"];ce._updateCommon=function(be,xe,$e,Se){var we=this.childAt(0),Ae=be.hostModel,Te=be.getItemVisual(xe,"color");we.type!=="image"?we.useStyle({strokeNoScale:!0}):we.setStyle({opacity:1,shadowBlur:null,shadowOffsetX:null,shadowOffsetY:null,shadowColor:null});var De=Se&&Se.itemStyle,Me=Se&&Se.hoverItemStyle,Ie=Se&&Se.symbolOffset,Ce=Se&&Se.labelModel,Ee=Se&&Se.hoverLabelModel,Re=Se&&Se.hoverAnimation,ke=Se&&Se.cursorStyle;if(!Se||be.hasItemOption){var Be=Se&&Se.itemModel?Se.itemModel:be.getItemModel(xe);De=Be.getModel(pe).getItemStyle(["color"]),Me=Be.getModel(ve).getItemStyle(),Ie=Be.getShallow("symbolOffset"),Ce=Be.getModel(ge),Ee=Be.getModel(me),Re=Be.getShallow("hoverAnimation"),ke=Be.getShallow("cursor")}else Me=ee.extend({},Me);var Ne=we.style,He=be.getItemVisual(xe,"symbolRotate");we.attr("rotation",(He||0)*Math.PI/180||0),Ie&&we.attr("position",[oe(Ie[0],$e[0]),oe(Ie[1],$e[1])]),ke&&we.attr("cursor",ke),we.setColor(Te,Se&&Se.symbolInnerColor),we.setStyle(De);var qe=be.getItemVisual(xe,"opacity");qe!=null&&(Ne.opacity=qe);var Oe=be.getItemVisual(xe,"liftZ"),ze=we.__z2Origin;Oe!=null?ze==null&&(we.__z2Origin=we.z2,we.z2+=Oe):ze!=null&&(we.z2=ze,we.__z2Origin=null);var Ve=Se&&Se.useNameLabel;ne.setLabelStyle(Ne,Me,Ce,Ee,{labelFetcher:Ae,labelDataIndex:xe,defaultText:Ge,isRectText:!0,autoColor:Te});function Ge(We,Ue){return Ve?be.getName(We):le(be,We)}we.__symbolOriginalScale=he($e),we.hoverStyle=Me,we.highDownOnUpdate=Re&&Ae.isAnimationEnabled()?ye:null,ne.setHoverStyle(we)};function ye(be,xe){if(!(this.incremental||this.useHoverLayer))if(xe==="emphasis"){var $e=this.__symbolOriginalScale,Se=$e[1]/$e[0],we={scale:[Math.max($e[0]*1.1,$e[0]+3),Math.max($e[1]*1.1,$e[1]+3*Se)]};this.animateTo(we,400,"elasticOut")}else xe==="normal"&&this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}ce.fadeOut=function(be,xe){var $e=this.childAt(0);this.silent=$e.silent=!0,!(xe&&xe.keepLabel)&&($e.style.text=null),ne.updateProps($e,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,be)},ee.inherits(ue,ne.Group);var _e=ue;return _Symbol=_e,_Symbol}var SymbolDraw_1,hasRequiredSymbolDraw;function requireSymbolDraw(){if(hasRequiredSymbolDraw)return SymbolDraw_1;hasRequiredSymbolDraw=1;var ee=graphic$6,te=require_Symbol(),ae=util$a,ne=ae.isObject;function ie(de){this.group=new ee.Group,this._symbolCtor=de||te}var oe=ie.prototype;function se(de,he,fe,pe){return he&&!isNaN(he[0])&&!isNaN(he[1])&&!(pe.isIgnore&&pe.isIgnore(fe))&&!(pe.clipShape&&!pe.clipShape.contain(he[0],he[1]))&&de.getItemVisual(fe,"symbol")!=="none"}oe.updateData=function(de,he){he=le(he);var fe=this.group,pe=de.hostModel,ve=this._data,ge=this._symbolCtor,me=ue(de);ve||fe.removeAll(),de.diff(ve).add(function(ye){var _e=de.getItemLayout(ye);if(se(de,_e,ye,he)){var be=new ge(de,ye,me);be.attr("position",_e),de.setItemGraphicEl(ye,be),fe.add(be)}}).update(function(ye,_e){var be=ve.getItemGraphicEl(_e),xe=de.getItemLayout(ye);if(!se(de,xe,ye,he)){fe.remove(be);return}be?(be.updateData(de,ye,me),ee.updateProps(be,{position:xe},pe)):(be=new ge(de,ye),be.attr("position",xe)),fe.add(be),de.setItemGraphicEl(ye,be)}).remove(function(ye){var _e=ve.getItemGraphicEl(ye);_e&&_e.fadeOut(function(){fe.remove(_e)})}).execute(),this._data=de},oe.isPersistent=function(){return!0},oe.updateLayout=function(){var de=this._data;de&&de.eachItemGraphicEl(function(he,fe){var pe=de.getItemLayout(fe);he.attr("position",pe)})},oe.incrementalPrepareUpdate=function(de){this._seriesScope=ue(de),this._data=null,this.group.removeAll()},oe.incrementalUpdate=function(de,he,fe){fe=le(fe);function pe(ye){ye.isGroup||(ye.incremental=ye.useHoverLayer=!0)}for(var ve=de.start;ve<de.end;ve++){var ge=he.getItemLayout(ve);if(se(he,ge,ve,fe)){var me=new this._symbolCtor(he,ve,this._seriesScope);me.traverse(pe),me.attr("position",ge),this.group.add(me),he.setItemGraphicEl(ve,me)}}};function le(de){return de!=null&&!ne(de)&&(de={isIgnore:de}),de||{}}oe.remove=function(de){var he=this.group,fe=this._data;fe&&de?fe.eachItemGraphicEl(function(pe){pe.fadeOut(function(){he.remove(pe)})}):he.removeAll()};function ue(de){var he=de.hostModel;return{itemStyle:he.getModel("itemStyle").getItemStyle(["color"]),hoverItemStyle:he.getModel("emphasis.itemStyle").getItemStyle(),symbolRotate:he.get("symbolRotate"),symbolOffset:he.get("symbolOffset"),hoverAnimation:he.get("hoverAnimation"),labelModel:he.getModel("label"),hoverLabelModel:he.getModel("emphasis.label"),cursorStyle:he.get("cursor")}}var ce=ie;return SymbolDraw_1=ce,SymbolDraw_1}var helper$4={},hasRequiredHelper$3;function requireHelper$3(){if(hasRequiredHelper$3)return helper$4;hasRequiredHelper$3=1;var ee=requireDataStackHelper(),te=ee.isDimensionStacked,ae=util$a,ne=ae.map;function ie(le,ue,ce){var de=le.getBaseAxis(),he=le.getOtherAxis(de),fe=oe(he,ce),pe=de.dim,ve=he.dim,ge=ue.mapDimension(ve),me=ue.mapDimension(pe),ye=ve==="x"||ve==="radius"?1:0,_e=ne(le.dimensions,function($e){return ue.mapDimension($e)}),be,xe=ue.getCalculationInfo("stackResultDimension");return(be|=te(ue,_e[0]))&&(_e[0]=xe),(be|=te(ue,_e[1]))&&(_e[1]=xe),{dataDimsForPoint:_e,valueStart:fe,valueAxisDim:ve,baseAxisDim:pe,stacked:!!be,valueDim:ge,baseDim:me,baseDataOffset:ye,stackedOverDimension:ue.getCalculationInfo("stackedOverDimension")}}function oe(le,ue){var ce=0,de=le.scale.getExtent();return ue==="start"?ce=de[0]:ue==="end"?ce=de[1]:de[0]>0?ce=de[0]:de[1]<0&&(ce=de[1]),ce}function se(le,ue,ce,de){var he=NaN;le.stacked&&(he=ce.get(ce.getCalculationInfo("stackedOverDimension"),de)),isNaN(he)&&(he=le.valueStart);var fe=le.baseDataOffset,pe=[];return pe[fe]=ce.get(le.baseDim,de),pe[1-fe]=he,ue.dataToPoint(pe)}return helper$4.prepareDataCoordInfo=ie,helper$4.getStackedOnPoint=se,helper$4}var lineAnimationDiff$1,hasRequiredLineAnimationDiff;function requireLineAnimationDiff(){if(hasRequiredLineAnimationDiff)return lineAnimationDiff$1;hasRequiredLineAnimationDiff=1;var ee=requireHelper$3(),te=ee.prepareDataCoordInfo,ae=ee.getStackedOnPoint;function ne(oe,se){var le=[];return se.diff(oe).add(function(ue){le.push({cmd:"+",idx:ue})}).update(function(ue,ce){le.push({cmd:"=",idx:ce,idx1:ue})}).remove(function(ue){le.push({cmd:"-",idx:ue})}).execute(),le}function ie(oe,se,le,ue,ce,de,he,fe){for(var pe=ne(oe,se),ve=[],ge=[],me=[],ye=[],_e=[],be=[],xe=[],$e=te(ce,se,he),Se=te(de,oe,fe),we=0;we<pe.length;we++){var Ae=pe[we],Te=!0;switch(Ae.cmd){case"=":var De=oe.getItemLayout(Ae.idx),Me=se.getItemLayout(Ae.idx1);(isNaN(De[0])||isNaN(De[1]))&&(De=Me.slice()),ve.push(De),ge.push(Me),me.push(le[Ae.idx]),ye.push(ue[Ae.idx1]),xe.push(se.getRawIndex(Ae.idx1));break;case"+":var Ie=Ae.idx;ve.push(ce.dataToPoint([se.get($e.dataDimsForPoint[0],Ie),se.get($e.dataDimsForPoint[1],Ie)])),ge.push(se.getItemLayout(Ie).slice()),me.push(ae($e,ce,se,Ie)),ye.push(ue[Ie]),xe.push(se.getRawIndex(Ie));break;case"-":var Ie=Ae.idx,Ce=oe.getRawIndex(Ie);Ce!==Ie?(ve.push(oe.getItemLayout(Ie)),ge.push(de.dataToPoint([oe.get(Se.dataDimsForPoint[0],Ie),oe.get(Se.dataDimsForPoint[1],Ie)])),me.push(le[Ie]),ye.push(ae(Se,de,oe,Ie)),xe.push(Ce)):Te=!1}Te&&(_e.push(Ae),be.push(be.length))}be.sort(function(He,qe){return xe[He]-xe[qe]});for(var Ee=[],Re=[],ke=[],Be=[],Ne=[],we=0;we<be.length;we++){var Ie=be[we];Ee[we]=ve[Ie],Re[we]=ge[Ie],ke[we]=me[Ie],Be[we]=ye[Ie],Ne[we]=_e[Ie]}return{current:Ee,next:Re,stackedOnCurrent:ke,stackedOnNext:Be,status:Ne}}return lineAnimationDiff$1=ie,lineAnimationDiff$1}var poly={},hasRequiredPoly;function requirePoly(){if(hasRequiredPoly)return poly;hasRequiredPoly=1;var ee=Path_1,te=vector$3,ae=fixClipWithShadow$1,ne=te.min,ie=te.max,oe=te.scaleAndAdd,se=te.copy,le=[],ue=[],ce=[];function de(ye){return isNaN(ye[0])||isNaN(ye[1])}function he(ye,_e,be,xe,$e,Se,we,Ae,Te,De,Me){return De==="none"||!De?pe.apply(this,arguments):fe.apply(this,arguments)}function fe(ye,_e,be,xe,$e,Se,we,Ae,Te,De,Me){for(var Ie=0,Ce=be,Ee=0;Ee<xe;Ee++){var Re=_e[Ce];if(Ce>=$e||Ce<0)break;if(de(Re)){if(Me){Ce+=Se;continue}break}if(Ce===be)ye[Se>0?"moveTo":"lineTo"](Re[0],Re[1]);else if(Te>0){var ke=_e[Ie],Be=De==="y"?1:0,Ne=(Re[Be]-ke[Be])*Te;se(ue,ke),ue[Be]=ke[Be]+Ne,se(ce,Re),ce[Be]=Re[Be]-Ne,ye.bezierCurveTo(ue[0],ue[1],ce[0],ce[1],Re[0],Re[1])}else ye.lineTo(Re[0],Re[1]);Ie=Ce,Ce+=Se}return Ee}function pe(ye,_e,be,xe,$e,Se,we,Ae,Te,De,Me){for(var Ie=0,Ce=be,Ee=0;Ee<xe;Ee++){var Re=_e[Ce];if(Ce>=$e||Ce<0)break;if(de(Re)){if(Me){Ce+=Se;continue}break}if(Ce===be)ye[Se>0?"moveTo":"lineTo"](Re[0],Re[1]),se(ue,Re);else if(Te>0){var ke=Ce+Se,He=_e[ke];if(Me)for(;He&&de(_e[ke]);)ke+=Se,He=_e[ke];var Be=.5,Ne=_e[Ie],He=_e[ke];if(!He||de(He))se(ce,Re);else{de(He)&&!Me&&(He=Re),te.sub(le,He,Ne);var qe,Oe;if(De==="x"||De==="y"){var ze=De==="x"?0:1;qe=Math.abs(Re[ze]-Ne[ze]),Oe=Math.abs(Re[ze]-He[ze])}else qe=te.dist(Re,Ne),Oe=te.dist(Re,He);Be=Oe/(Oe+qe),oe(ce,Re,le,-Te*(1-Be))}ne(ue,ue,Ae),ie(ue,ue,we),ne(ce,ce,Ae),ie(ce,ce,we),ye.bezierCurveTo(ue[0],ue[1],ce[0],ce[1],Re[0],Re[1]),oe(ue,Re,le,Te*Be)}else ye.lineTo(Re[0],Re[1]);Ie=Ce,Ce+=Se}return Ee}function ve(ye,_e){var be=[1/0,1/0],xe=[-1/0,-1/0];if(_e)for(var $e=0;$e<ye.length;$e++){var Se=ye[$e];Se[0]<be[0]&&(be[0]=Se[0]),Se[1]<be[1]&&(be[1]=Se[1]),Se[0]>xe[0]&&(xe[0]=Se[0]),Se[1]>xe[1]&&(xe[1]=Se[1])}return{min:_e?be:xe,max:_e?xe:be}}var ge=ee.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:ae(ee.prototype.brush),buildPath:function(ye,_e){var be=_e.points,xe=0,$e=be.length,Se=ve(be,_e.smoothConstraint);if(_e.connectNulls){for(;$e>0&&de(be[$e-1]);$e--);for(;xe<$e&&de(be[xe]);xe++);}for(;xe<$e;)xe+=he(ye,be,xe,$e,$e,1,Se.min,Se.max,_e.smooth,_e.smoothMonotone,_e.connectNulls)+1}}),me=ee.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:ae(ee.prototype.brush),buildPath:function(ye,_e){var be=_e.points,xe=_e.stackedOnPoints,$e=0,Se=be.length,we=_e.smoothMonotone,Ae=ve(be,_e.smoothConstraint),Te=ve(xe,_e.smoothConstraint);if(_e.connectNulls){for(;Se>0&&de(be[Se-1]);Se--);for(;$e<Se&&de(be[$e]);$e++);}for(;$e<Se;){var De=he(ye,be,$e,Se,Se,1,Ae.min,Ae.max,_e.smooth,we,_e.connectNulls);he(ye,xe,$e+De-1,De,Se,-1,Te.min,Te.max,_e.stackedOnSmooth,we,_e.connectNulls),$e+=De+1,ye.closePath()}}});return poly.Polyline=ge,poly.Polygon=me,poly}var createClipPathFromCoordSys={},hasRequiredCreateClipPathFromCoordSys;function requireCreateClipPathFromCoordSys(){if(hasRequiredCreateClipPathFromCoordSys)return createClipPathFromCoordSys;hasRequiredCreateClipPathFromCoordSys=1;var ee=graphic$6,te=requireNumber(),ae=te.round;function ne(se,le,ue){var ce=se.getArea(),de=se.getBaseAxis().isHorizontal(),he=ce.x,fe=ce.y,pe=ce.width,ve=ce.height,ge=ue.get("lineStyle.width")||2;he-=ge/2,fe-=ge/2,pe+=ge,ve+=ge,he=Math.floor(he),pe=Math.round(pe);var me=new ee.Rect({shape:{x:he,y:fe,width:pe,height:ve}});return le&&(me.shape[de?"width":"height"]=0,ee.initProps(me,{shape:{width:pe,height:ve}},ue)),me}function ie(se,le,ue){var ce=se.getArea(),de=new ee.Sector({shape:{cx:ae(se.cx,1),cy:ae(se.cy,1),r0:ae(ce.r0,1),r:ae(ce.r,1),startAngle:ce.startAngle,endAngle:ce.endAngle,clockwise:ce.clockwise}});return le&&(de.shape.endAngle=ce.startAngle,ee.initProps(de,{shape:{endAngle:ce.endAngle}},ue)),de}function oe(se,le,ue){if(se){if(se.type==="polar")return ie(se,le,ue);if(se.type==="cartesian2d")return ne(se,le,ue)}else return null;return null}return createClipPathFromCoordSys.createGridClipPath=ne,createClipPathFromCoordSys.createPolarClipPath=ie,createClipPathFromCoordSys.createClipPath=oe,createClipPathFromCoordSys}var LineView$2,hasRequiredLineView;function requireLineView(){if(hasRequiredLineView)return LineView$2;hasRequiredLineView=1;var ee=util$a,te=requireBbox(),ae=te.fromPoints,ne=requireSymbolDraw(),ie=require_Symbol(),oe=requireLineAnimationDiff(),se=graphic$6,le=model,ue=requirePoly(),ce=ue.Polyline,de=ue.Polygon,he=Chart_1,fe=requireHelper$3(),pe=fe.prepareDataCoordInfo,ve=fe.getStackedOnPoint,ge=requireCreateClipPathFromCoordSys(),me=ge.createGridClipPath,ye=ge.createPolarClipPath;function _e(Ie,Ce){if(Ie.length===Ce.length){for(var Ee=0;Ee<Ie.length;Ee++){var Re=Ie[Ee],ke=Ce[Ee];if(Re[0]!==ke[0]||Re[1]!==ke[1])return}return!0}}function be(Ie,Ce){var Ee=[],Re=[],ke=[],Be=[];return ae(Ie,Ee,Re),ae(Ce,ke,Be),Math.max(Math.abs(Ee[0]-ke[0]),Math.abs(Ee[1]-ke[1]),Math.abs(Re[0]-Be[0]),Math.abs(Re[1]-Be[1]))}function xe(Ie){return typeof Ie=="number"?Ie:Ie?.5:0}function $e(Ie,Ce,Ee){if(!Ee.valueDim)return[];for(var Re=[],ke=0,Be=Ce.count();ke<Be;ke++)Re.push(ve(Ee,Ie,Ce,ke));return Re}function Se(Ie,Ce,Ee){for(var Re=Ce.getBaseAxis(),ke=Re.dim==="x"||Re.dim==="radius"?0:1,Be=[],Ne=0;Ne<Ie.length-1;Ne++){var He=Ie[Ne+1],qe=Ie[Ne];Be.push(qe);var Oe=[];switch(Ee){case"end":Oe[ke]=He[ke],Oe[1-ke]=qe[1-ke],Be.push(Oe);break;case"middle":var ze=(qe[ke]+He[ke])/2,Ve=[];Oe[ke]=Ve[ke]=ze,Oe[1-ke]=qe[1-ke],Ve[1-ke]=He[1-ke],Be.push(Oe),Be.push(Ve);break;default:Oe[ke]=qe[ke],Oe[1-ke]=He[1-ke],Be.push(Oe)}}return Ie[Ne]&&Be.push(Ie[Ne]),Be}function we(Ie,Ce){var Ee=Ie.getVisual("visualMeta");if(!(!Ee||!Ee.length||!Ie.count())&&Ce.type==="cartesian2d"){for(var Re,ke,Be=Ee.length-1;Be>=0;Be--){var Ne=Ee[Be].dimension,He=Ie.dimensions[Ne],qe=Ie.getDimensionInfo(He);if(Re=qe&&qe.coordDim,Re==="x"||Re==="y"){ke=Ee[Be];break}}if(ke){var Oe=Ce.getAxis(Re),ze=ee.map(ke.stops,function(it){return{coord:Oe.toGlobalCoord(Oe.dataToCoord(it.value)),color:it.color}}),Ve=ze.length,Ge=ke.outerColors.slice();Ve&&ze[0].coord>ze[Ve-1].coord&&(ze.reverse(),Ge.reverse());var We=10,Ue=ze[0].coord-We,Ye=ze[Ve-1].coord+We,Ze=Ye-Ue;if(Ze<.001)return"transparent";ee.each(ze,function(it){it.offset=(it.coord-Ue)/Ze}),ze.push({offset:Ve?ze[Ve-1].offset:.5,color:Ge[1]||"transparent"}),ze.unshift({offset:Ve?ze[0].offset:.5,color:Ge[0]||"transparent"});var Xe=new se.LinearGradient(0,0,0,0,ze,!0);return Xe[Re]=Ue,Xe[Re+"2"]=Ye,Xe}}}function Ae(Ie,Ce,Ee){var Re=Ie.get("showAllSymbol"),ke=Re==="auto";if(!(Re&&!ke)){var Be=Ee.getAxesByScale("ordinal")[0];if(Be&&!(ke&&Te(Be,Ce))){var Ne=Ce.mapDimension(Be.dim),He={};return ee.each(Be.getViewLabels(),function(qe){He[qe.tickValue]=1}),function(qe){return!He.hasOwnProperty(Ce.get(Ne,qe))}}}}function Te(Ie,Ce){var Ee=Ie.getExtent(),Re=Math.abs(Ee[1]-Ee[0])/Ie.scale.count();isNaN(Re)&&(Re=0);for(var ke=Ce.count(),Be=Math.max(1,Math.round(ke/5)),Ne=0;Ne<ke;Ne+=Be)if(ie.getSymbolSize(Ce,Ne)[Ie.isHorizontal()?1:0]*1.5>Re)return!1;return!0}function De(Ie,Ce,Ee){if(Ie.type==="cartesian2d"){var Re=Ie.getBaseAxis().isHorizontal(),ke=me(Ie,Ce,Ee);if(!Ee.get("clip",!0)){var Be=ke.shape,Ne=Math.max(Be.width,Be.height);Re?(Be.y-=Ne,Be.height+=Ne*2):(Be.x-=Ne,Be.width+=Ne*2)}return ke}else return ye(Ie,Ce,Ee)}var Me=he.extend({type:"line",init:function(){var Ie=new se.Group,Ce=new ne;this.group.add(Ce.group),this._symbolDraw=Ce,this._lineGroup=Ie},render:function(Ie,Ce,Ee){var Re=Ie.coordinateSystem,ke=this.group,Be=Ie.getData(),Ne=Ie.getModel("lineStyle"),He=Ie.getModel("areaStyle"),qe=Be.mapArray(Be.getItemLayout),Oe=Re.type==="polar",ze=this._coordSys,Ve=this._symbolDraw,Ge=this._polyline,We=this._polygon,Ue=this._lineGroup,Ye=Ie.get("animation"),Ze=!He.isEmpty(),Xe=He.get("origin"),it=pe(Re,Be,Xe),at=$e(Re,Be,it),ut=Ie.get("showSymbol"),dt=ut&&!Oe&&Ae(Ie,Be,Re),pt=this._data;pt&&pt.eachItemGraphicEl(function(St,Ct){St.__temp&&(ke.remove(St),pt.setItemGraphicEl(Ct,null))}),ut||Ve.remove(),ke.add(Ue);var gt=!Oe&&Ie.get("step"),bt;Re&&Re.getArea&&Ie.get("clip",!0)&&(bt=Re.getArea(),bt.width!=null?(bt.x-=.1,bt.y-=.1,bt.width+=.2,bt.height+=.2):bt.r0&&(bt.r0-=.5,bt.r1+=.5)),this._clipShapeForSymbol=bt,Ge&&ze.type===Re.type&&gt===this._step?(Ze&&!We?We=this._newPolygon(qe,at,Re,Ye):We&&!Ze&&(Ue.remove(We),We=this._polygon=null),Ue.setClipPath(De(Re,!1,Ie)),ut&&Ve.updateData(Be,{isIgnore:dt,clipShape:bt}),Be.eachItemGraphicEl(function(St){St.stopAnimation(!0)}),(!_e(this._stackedOnPoints,at)||!_e(this._points,qe))&&(Ye?this._updateAnimation(Be,at,Re,Ee,gt,Xe):(gt&&(qe=Se(qe,Re,gt),at=Se(at,Re,gt)),Ge.setShape({points:qe}),We&&We.setShape({points:qe,stackedOnPoints:at})))):(ut&&Ve.updateData(Be,{isIgnore:dt,clipShape:bt}),gt&&(qe=Se(qe,Re,gt),at=Se(at,Re,gt)),Ge=this._newPolyline(qe,Re,Ye),Ze&&(We=this._newPolygon(qe,at,Re,Ye)),Ue.setClipPath(De(Re,!0,Ie)));var Tt=we(Be,Re)||Be.getVisual("color");Ge.useStyle(ee.defaults(Ne.getLineStyle(),{fill:"none",stroke:Tt,lineJoin:"bevel"}));var At=Ie.get("smooth");if(At=xe(Ie.get("smooth")),Ge.setShape({smooth:At,smoothMonotone:Ie.get("smoothMonotone"),connectNulls:Ie.get("connectNulls")}),We){var Mt=Be.getCalculationInfo("stackedOnSeries"),qt=0;We.useStyle(ee.defaults(He.getAreaStyle(),{fill:Tt,opacity:.7,lineJoin:"bevel"})),Mt&&(qt=xe(Mt.get("smooth"))),We.setShape({smooth:At,stackedOnSmooth:qt,smoothMonotone:Ie.get("smoothMonotone"),connectNulls:Ie.get("connectNulls")})}this._data=Be,this._coordSys=Re,this._stackedOnPoints=at,this._points=qe,this._step=gt,this._valueOrigin=Xe},dispose:function(){},highlight:function(Ie,Ce,Ee,Re){var ke=Ie.getData(),Be=le.queryDataIndex(ke,Re);if(!(Be instanceof Array)&&Be!=null&&Be>=0){var Ne=ke.getItemGraphicEl(Be);if(!Ne){var He=ke.getItemLayout(Be);if(!He||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(He[0],He[1]))return;Ne=new ie(ke,Be),Ne.position=He,Ne.setZ(Ie.get("zlevel"),Ie.get("z")),Ne.ignore=isNaN(He[0])||isNaN(He[1]),Ne.__temp=!0,ke.setItemGraphicEl(Be,Ne),Ne.stopSymbolAnimation(!0),this.group.add(Ne)}Ne.highlight()}else he.prototype.highlight.call(this,Ie,Ce,Ee,Re)},downplay:function(Ie,Ce,Ee,Re){var ke=Ie.getData(),Be=le.queryDataIndex(ke,Re);if(Be!=null&&Be>=0){var Ne=ke.getItemGraphicEl(Be);Ne&&(Ne.__temp?(ke.setItemGraphicEl(Be,null),this.group.remove(Ne)):Ne.downplay())}else he.prototype.downplay.call(this,Ie,Ce,Ee,Re)},_newPolyline:function(Ie){var Ce=this._polyline;return Ce&&this._lineGroup.remove(Ce),Ce=new ce({shape:{points:Ie},silent:!0,z2:10}),this._lineGroup.add(Ce),this._polyline=Ce,Ce},_newPolygon:function(Ie,Ce){var Ee=this._polygon;return Ee&&this._lineGroup.remove(Ee),Ee=new de({shape:{points:Ie,stackedOnPoints:Ce},silent:!0}),this._lineGroup.add(Ee),this._polygon=Ee,Ee},_updateAnimation:function(Ie,Ce,Ee,Re,ke,Be){var Ne=this._polyline,He=this._polygon,qe=Ie.hostModel,Oe=oe(this._data,Ie,this._stackedOnPoints,Ce,this._coordSys,Ee,this._valueOrigin,Be),ze=Oe.current,Ve=Oe.stackedOnCurrent,Ge=Oe.next,We=Oe.stackedOnNext;if(ke&&(ze=Se(Oe.current,Ee,ke),Ve=Se(Oe.stackedOnCurrent,Ee,ke),Ge=Se(Oe.next,Ee,ke),We=Se(Oe.stackedOnNext,Ee,ke)),be(ze,Ge)>3e3||He&&be(Ve,We)>3e3){Ne.setShape({points:Ge}),He&&He.setShape({points:Ge,stackedOnPoints:We});return}Ne.shape.__points=Oe.current,Ne.shape.points=ze,se.updateProps(Ne,{shape:{points:Ge}},qe),He&&(He.setShape({points:ze,stackedOnPoints:Ve}),se.updateProps(He,{shape:{points:Ge,stackedOnPoints:We}},qe));for(var Ue=[],Ye=Oe.status,Ze=0;Ze<Ye.length;Ze++){var Xe=Ye[Ze].cmd;if(Xe==="="){var it=Ie.getItemGraphicEl(Ye[Ze].idx1);it&&Ue.push({el:it,ptIdx:Ze})}}Ne.animators&&Ne.animators.length&&Ne.animators[0].during(function(){for(var at=0;at<Ue.length;at++){var ut=Ue[at].el;ut.attr("position",Ne.shape.__points[Ue[at].ptIdx])}})},remove:function(Ie){var Ce=this.group,Ee=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),Ee&&Ee.eachItemGraphicEl(function(Re,ke){Re.__temp&&(Ce.remove(Re),Ee.setItemGraphicEl(ke,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}});return LineView$2=Me,LineView$2}var symbol,hasRequiredSymbol;function requireSymbol(){if(hasRequiredSymbol)return symbol;hasRequiredSymbol=1;var ee=util$a,te=ee.isFunction;function ae(ne,ie,oe){return{seriesType:ne,performRawSeries:!0,reset:function(se,le,ue){var ce=se.getData(),de=se.get("symbol"),he=se.get("symbolSize"),fe=se.get("symbolKeepAspect"),pe=se.get("symbolRotate"),ve=te(de),ge=te(he),me=te(pe),ye=ve||ge||me,_e=!ve&&de?de:ie,be=ge?null:he;if(ce.setVisual({legendSymbol:oe||_e,symbol:_e,symbolSize:be,symbolKeepAspect:fe,symbolRotate:pe}),le.isSeriesFiltered(se))return;function xe($e,Se){if(ye){var we=se.getRawValue(Se),Ae=se.getDataParams(Se);ve&&$e.setItemVisual(Se,"symbol",de(we,Ae)),ge&&$e.setItemVisual(Se,"symbolSize",he(we,Ae)),me&&$e.setItemVisual(Se,"symbolRotate",pe(we,Ae))}if($e.hasItemOption){var Te=$e.getItemModel(Se),De=Te.getShallow("symbol",!0),Me=Te.getShallow("symbolSize",!0),Ie=Te.getShallow("symbolRotate",!0),Ce=Te.getShallow("symbolKeepAspect",!0);De!=null&&$e.setItemVisual(Se,"symbol",De),Me!=null&&$e.setItemVisual(Se,"symbolSize",Me),Ie!=null&&$e.setItemVisual(Se,"symbolRotate",Ie),Ce!=null&&$e.setItemVisual(Se,"symbolKeepAspect",Ce)}}return{dataEach:ce.hasItemOption||ye?xe:null}}}}return symbol=ae,symbol}var points$3,hasRequiredPoints;function requirePoints(){if(hasRequiredPoints)return points$3;hasRequiredPoints=1;var ee=util$a,te=ee.map,ae=createRenderPlanner$2,ne=requireDataStackHelper(),ie=ne.isDimensionStacked;function oe(se){return{seriesType:se,plan:ae(),reset:function(le){var ue=le.getData(),ce=le.coordinateSystem,de=le.pipelineContext,he=de.large;if(!ce)return;var fe=te(ce.dimensions,function(me){return ue.mapDimension(me)}).slice(0,2),pe=fe.length,ve=ue.getCalculationInfo("stackResultDimension");ie(ue,fe[0])&&(fe[0]=ve),ie(ue,fe[1])&&(fe[1]=ve);function ge(me,ye){for(var _e=me.end-me.start,be=he&&new Float32Array(_e*pe),xe=me.start,$e=0,Se=[],we=[];xe<me.end;xe++){var Ae;if(pe===1){var Te=ye.get(fe[0],xe);Ae=!isNaN(Te)&&ce.dataToPoint(Te,null,we)}else{var Te=Se[0]=ye.get(fe[0],xe),De=Se[1]=ye.get(fe[1],xe);Ae=!isNaN(Te)&&!isNaN(De)&&ce.dataToPoint(Se,null,we)}he?(be[$e++]=Ae?Ae[0]:NaN,be[$e++]=Ae?Ae[1]:NaN):ye.setItemLayout(xe,Ae&&Ae.slice()||[NaN,NaN])}he&&ye.setLayout("symbolPoints",be)}return pe&&{progress:ge}}}}return points$3=oe,points$3}var dataSample$1,hasRequiredDataSample;function requireDataSample(){if(hasRequiredDataSample)return dataSample$1;hasRequiredDataSample=1;var ee={average:function(ne){for(var ie=0,oe=0,se=0;se<ne.length;se++)isNaN(ne[se])||(ie+=ne[se],oe++);return oe===0?NaN:ie/oe},sum:function(ne){for(var ie=0,oe=0;oe<ne.length;oe++)ie+=ne[oe]||0;return ie},max:function(ne){for(var ie=-1/0,oe=0;oe<ne.length;oe++)ne[oe]>ie&&(ie=ne[oe]);return isFinite(ie)?ie:NaN},min:function(ne){for(var ie=1/0,oe=0;oe<ne.length;oe++)ne[oe]<ie&&(ie=ne[oe]);return isFinite(ie)?ie:NaN},nearest:function(ne){return ne[0]}},te=function(ne,ie){return Math.round(ne.length/2)};function ae(ne){return{seriesType:ne,modifyOutputEnd:!0,reset:function(ie,oe,se){var le=ie.getData(),ue=ie.get("sampling"),ce=ie.coordinateSystem;if(ce.type==="cartesian2d"&&ue){var de=ce.getBaseAxis(),he=ce.getOtherAxis(de),fe=de.getExtent(),pe=Math.abs(fe[1]-fe[0]),ve=Math.round(le.count()/pe);if(ve>1){var ge;typeof ue=="string"?ge=ee[ue]:typeof ue=="function"&&(ge=ue),ge&&ie.setData(le.downSample(le.mapDimension(he.dim),1/ve,ge,te))}}}}}return dataSample$1=ae,dataSample$1}var gridSimple={},Cartesian_1,hasRequiredCartesian;function requireCartesian(){if(hasRequiredCartesian)return Cartesian_1;hasRequiredCartesian=1;var ee=util$a;function te(ie){return this._axes[ie]}var ae=function(ie){this._axes={},this._dimList=[],this.name=ie||""};ae.prototype={constructor:ae,type:"cartesian",getAxis:function(ie){return this._axes[ie]},getAxes:function(){return ee.map(this._dimList,te,this)},getAxesByScale:function(ie){return ie=ie.toLowerCase(),ee.filter(this.getAxes(),function(oe){return oe.scale.type===ie})},addAxis:function(ie){var oe=ie.dim;this._axes[oe]=ie,this._dimList.push(oe)},dataToCoord:function(ie){return this._dataCoordConvert(ie,"dataToCoord")},coordToData:function(ie){return this._dataCoordConvert(ie,"coordToData")},_dataCoordConvert:function(ie,oe){for(var se=this._dimList,le=ie instanceof Array?[]:{},ue=0;ue<se.length;ue++){var ce=se[ue],de=this._axes[ce];le[ce]=de[oe](ie[ce])}return le}};var ne=ae;return Cartesian_1=ne,Cartesian_1}var Cartesian2D_1,hasRequiredCartesian2D;function requireCartesian2D(){if(hasRequiredCartesian2D)return Cartesian2D_1;hasRequiredCartesian2D=1;var ee=util$a,te=BoundingRect_1,ae=requireCartesian();function ne(oe){ae.call(this,oe)}ne.prototype={constructor:ne,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(oe){var se=this.getAxis("x"),le=this.getAxis("y");return se.contain(se.toLocalCoord(oe[0]))&&le.contain(le.toLocalCoord(oe[1]))},containData:function(oe){return this.getAxis("x").containData(oe[0])&&this.getAxis("y").containData(oe[1])},dataToPoint:function(oe,se,le){var ue=this.getAxis("x"),ce=this.getAxis("y");return le=le||[],le[0]=ue.toGlobalCoord(ue.dataToCoord(oe[0])),le[1]=ce.toGlobalCoord(ce.dataToCoord(oe[1])),le},clampData:function(oe,se){var le=this.getAxis("x").scale,ue=this.getAxis("y").scale,ce=le.getExtent(),de=ue.getExtent(),he=le.parse(oe[0]),fe=ue.parse(oe[1]);return se=se||[],se[0]=Math.min(Math.max(Math.min(ce[0],ce[1]),he),Math.max(ce[0],ce[1])),se[1]=Math.min(Math.max(Math.min(de[0],de[1]),fe),Math.max(de[0],de[1])),se},pointToData:function(oe,se){var le=this.getAxis("x"),ue=this.getAxis("y");return se=se||[],se[0]=le.coordToData(le.toLocalCoord(oe[0])),se[1]=ue.coordToData(ue.toLocalCoord(oe[1])),se},getOtherAxis:function(oe){return this.getAxis(oe.dim==="x"?"y":"x")},getArea:function(){var oe=this.getAxis("x").getGlobalExtent(),se=this.getAxis("y").getGlobalExtent(),le=Math.min(oe[0],oe[1]),ue=Math.min(se[0],se[1]),ce=Math.max(oe[0],oe[1])-le,de=Math.max(se[0],se[1])-ue,he=new te(le,ue,ce,de);return he}},ee.inherits(ne,ae);var ie=ne;return Cartesian2D_1=ie,Cartesian2D_1}var Axis2D_1,hasRequiredAxis2D;function requireAxis2D(){if(hasRequiredAxis2D)return Axis2D_1;hasRequiredAxis2D=1;var ee=util$a,te=requireAxis$1(),ae=function(ie,oe,se,le,ue){te.call(this,ie,oe,se),this.type=le||"value",this.position=ue||"bottom"};ae.prototype={constructor:ae,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var ie=this.position;return ie==="top"||ie==="bottom"},getGlobalExtent:function(ie){var oe=this.getExtent();return oe[0]=this.toGlobalCoord(oe[0]),oe[1]=this.toGlobalCoord(oe[1]),ie&&oe[0]>oe[1]&&oe.reverse(),oe},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(ie,oe){return this.coordToData(this.toLocalCoord(ie[this.dim==="x"?0:1]),oe)},toLocalCoord:null,toGlobalCoord:null},ee.inherits(ae,te);var ne=ae;return Axis2D_1=ne,Axis2D_1}var axisDefault_1,hasRequiredAxisDefault;function requireAxisDefault(){if(hasRequiredAxisDefault)return axisDefault_1;hasRequiredAxisDefault=1;var ee=util$a,te={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},ae={};ae.categoryAxis=ee.merge({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},te),ae.valueAxis=ee.merge({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#eee",width:1}}},te),ae.timeAxis=ee.defaults({scale:!0,min:"dataMin",max:"dataMax"},ae.valueAxis),ae.logAxis=ee.defaults({scale:!0,logBase:10},ae.valueAxis);var ne=ae;return axisDefault_1=ne,axisDefault_1}var axisModelCreator$1,hasRequiredAxisModelCreator;function requireAxisModelCreator(){if(hasRequiredAxisModelCreator)return axisModelCreator$1;hasRequiredAxisModelCreator=1;var ee=util$a,te=requireAxisDefault(),ae=Component$1,ne=layout$5,ie=ne.getLayoutParams,oe=ne.mergeLayoutParam,se=requireOrdinalMeta(),le=["value","category","time","log"];function ue(ce,de,he,fe){ee.each(le,function(pe){de.extend({type:ce+"Axis."+pe,mergeDefaultAndTheme:function(ve,ge){var me=this.layoutMode,ye=me?ie(ve):{},_e=ge.getTheme();ee.merge(ve,_e.get(pe+"Axis")),ee.merge(ve,this.getDefaultOption()),ve.type=he(ce,ve),me&&oe(ve,ye,me)},optionUpdated:function(){var ve=this.option;ve.type==="category"&&(this.__ordinalMeta=se.createByAxisModel(this))},getCategories:function(ve){var ge=this.option;if(ge.type==="category")return ve?ge.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:ee.mergeAll([{},te[pe+"Axis"],fe],!0)})}),ae.registerSubTypeDefaulter(ce+"Axis",ee.curry(he,ce))}return axisModelCreator$1=ue,axisModelCreator$1}var AxisModel_1$2,hasRequiredAxisModel$3;function requireAxisModel$3(){if(hasRequiredAxisModel$3)return AxisModel_1$2;hasRequiredAxisModel$3=1;var ee=util$a,te=Component$1,ae=requireAxisModelCreator(),ne=requireAxisModelCommonMixin(),ie=te.extend({type:"cartesian2dAxis",axis:null,init:function(){ie.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){ie.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){ie.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});function oe(ue,ce){return ce.type||(ce.data?"category":"value")}ee.merge(ie.prototype,ne);var se={offset:0};ae("x",ie,oe,se),ae("y",ie,oe,se);var le=ie;return AxisModel_1$2=le,AxisModel_1$2}var GridModel$2,hasRequiredGridModel;function requireGridModel(){if(hasRequiredGridModel)return GridModel$2;hasRequiredGridModel=1,requireAxisModel$3();var ee=Component$1,te=ee.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});return GridModel$2=te,GridModel$2}var Grid_1,hasRequiredGrid$1;function requireGrid$1(){if(hasRequiredGrid$1)return Grid_1;hasRequiredGrid$1=1;var ee=util$a,te=ee.isObject,ae=ee.each,ne=ee.map,ie=ee.indexOf;ee.retrieve;var oe=layout$5,se=oe.getLayoutRect,le=requireAxisHelper(),ue=le.createScaleByModel,ce=le.ifAxisCrossZero,de=le.niceScaleExtent,he=le.estimateLabelUnionRect,fe=requireCartesian2D(),pe=requireAxis2D(),ve=CoordinateSystem$1,ge=requireDataStackHelper(),me=ge.getStackedDimension;requireGridModel();function ye(Me,Ie,Ce){return Me.getCoordSysModel()===Ie}function _e(Me,Ie,Ce){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(Me,Ie,Ce),this.model=Me}var be=_e.prototype;be.type="grid",be.axisPointerEnabled=!0,be.getRect=function(){return this._rect},be.update=function(Me,Ie){var Ce=this._axesMap;this._updateScale(Me,this.model),ae(Ce.x,function(Re){de(Re.scale,Re.model)}),ae(Ce.y,function(Re){de(Re.scale,Re.model)});var Ee={};ae(Ce.x,function(Re){xe(Ce,"y",Re,Ee)}),ae(Ce.y,function(Re){xe(Ce,"x",Re,Ee)}),this.resize(this.model,Ie)};function xe(Me,Ie,Ce,Ee){Ce.getAxesOnZeroOf=function(){return ke?[ke]:[]};var Re=Me[Ie],ke,Be=Ce.model,Ne=Be.get("axisLine.onZero"),He=Be.get("axisLine.onZeroAxisIndex");if(!Ne)return;if(He!=null)$e(Re[He])&&(ke=Re[He]);else for(var qe in Re)if(Re.hasOwnProperty(qe)&&$e(Re[qe])&&!Ee[Oe(Re[qe])]){ke=Re[qe];break}ke&&(Ee[Oe(ke)]=!0);function Oe(ze){return ze.dim+"_"+ze.index}}function $e(Me){return Me&&Me.type!=="category"&&Me.type!=="time"&&ce(Me)}be.resize=function(Me,Ie,Ce){var Ee=se(Me.getBoxLayoutParams(),{width:Ie.getWidth(),height:Ie.getHeight()});this._rect=Ee;var Re=this._axesList;ke(),!Ce&&Me.get("containLabel")&&(ae(Re,function(Be){if(!Be.model.get("axisLabel.inside")){var Ne=he(Be);if(Ne){var He=Be.isHorizontal()?"height":"width",qe=Be.model.get("axisLabel.margin");Ee[He]-=Ne[He]+qe,Be.position==="top"?Ee.y+=Ne.height+qe:Be.position==="left"&&(Ee.x+=Ne.width+qe)}}}),ke());function ke(){ae(Re,function(Be){var Ne=Be.isHorizontal(),He=Ne?[0,Ee.width]:[0,Ee.height],qe=Be.inverse?1:0;Be.setExtent(He[qe],He[1-qe]),Se(Be,Ne?Ee.x:Ee.y)})}},be.getAxis=function(Me,Ie){var Ce=this._axesMap[Me];if(Ce!=null){if(Ie==null){for(var Ee in Ce)if(Ce.hasOwnProperty(Ee))return Ce[Ee]}return Ce[Ie]}},be.getAxes=function(){return this._axesList.slice()},be.getCartesian=function(Me,Ie){if(Me!=null&&Ie!=null){var Ce="x"+Me+"y"+Ie;return this._coordsMap[Ce]}te(Me)&&(Ie=Me.yAxisIndex,Me=Me.xAxisIndex);for(var Ee=0,Re=this._coordsList;Ee<Re.length;Ee++)if(Re[Ee].getAxis("x").index===Me||Re[Ee].getAxis("y").index===Ie)return Re[Ee]},be.getCartesians=function(){return this._coordsList.slice()},be.convertToPixel=function(Me,Ie,Ce){var Ee=this._findConvertTarget(Me,Ie);return Ee.cartesian?Ee.cartesian.dataToPoint(Ce):Ee.axis?Ee.axis.toGlobalCoord(Ee.axis.dataToCoord(Ce)):null},be.convertFromPixel=function(Me,Ie,Ce){var Ee=this._findConvertTarget(Me,Ie);return Ee.cartesian?Ee.cartesian.pointToData(Ce):Ee.axis?Ee.axis.coordToData(Ee.axis.toLocalCoord(Ce)):null},be._findConvertTarget=function(Me,Ie){var Ce=Ie.seriesModel,Ee=Ie.xAxisModel||Ce&&Ce.getReferringComponents("xAxis")[0],Re=Ie.yAxisModel||Ce&&Ce.getReferringComponents("yAxis")[0],ke=Ie.gridModel,Be=this._coordsList,Ne,He;if(Ce)Ne=Ce.coordinateSystem,ie(Be,Ne)<0&&(Ne=null);else if(Ee&&Re)Ne=this.getCartesian(Ee.componentIndex,Re.componentIndex);else if(Ee)He=this.getAxis("x",Ee.componentIndex);else if(Re)He=this.getAxis("y",Re.componentIndex);else if(ke){var qe=ke.coordinateSystem;qe===this&&(Ne=this._coordsList[0])}return{cartesian:Ne,axis:He}},be.containPoint=function(Me){var Ie=this._coordsList[0];if(Ie)return Ie.containPoint(Me)},be._initCartesian=function(Me,Ie,Ce){var Ee={left:!1,right:!1,top:!1,bottom:!1},Re={x:{},y:{}},ke={x:0,y:0};if(Ie.eachComponent("xAxis",Be("x"),this),Ie.eachComponent("yAxis",Be("y"),this),!ke.x||!ke.y){this._axesMap={},this._axesList=[];return}this._axesMap=Re,ae(Re.x,function(Ne,He){ae(Re.y,function(qe,Oe){var ze="x"+He+"y"+Oe,Ve=new fe(ze);Ve.grid=this,Ve.model=Me,this._coordsMap[ze]=Ve,this._coordsList.push(Ve),Ve.addAxis(Ne),Ve.addAxis(qe)},this)},this);function Be(Ne){return function(He,qe){if(ye(He,Me)){var Oe=He.get("position");Ne==="x"?Oe!=="top"&&Oe!=="bottom"&&(Oe=Ee.bottom?"top":"bottom"):Oe!=="left"&&Oe!=="right"&&(Oe=Ee.left?"right":"left"),Ee[Oe]=!0;var ze=new pe(Ne,ue(He),[0,0],He.get("type"),Oe),Ve=ze.type==="category";ze.onBand=Ve&&He.get("boundaryGap"),ze.inverse=He.get("inverse"),He.axis=ze,ze.model=He,ze.grid=this,ze.index=qe,this._axesList.push(ze),Re[Ne][qe]=ze,ke[Ne]++}}}},be._updateScale=function(Me,Ie){ae(this._axesList,function(Ee){Ee.scale.setExtent(1/0,-1/0)}),Me.eachSeries(function(Ee){if(Te(Ee)){var Re=Ae(Ee),ke=Re[0],Be=Re[1];if(!ye(ke,Ie)||!ye(Be,Ie))return;var Ne=this.getCartesian(ke.componentIndex,Be.componentIndex),He=Ee.getData(),qe=Ne.getAxis("x"),Oe=Ne.getAxis("y");He.type==="list"&&(Ce(He,qe),Ce(He,Oe))}},this);function Ce(Ee,Re,ke){ae(Ee.mapDimension(Re.dim,!0),function(Be){Re.scale.unionExtentFromData(Ee,me(Ee,Be))})}},be.getTooltipAxes=function(Me){var Ie=[],Ce=[];return ae(this.getCartesians(),function(Ee){var Re=Me!=null&&Me!=="auto"?Ee.getAxis(Me):Ee.getBaseAxis(),ke=Ee.getOtherAxis(Re);ie(Ie,Re)<0&&Ie.push(Re),ie(Ce,ke)<0&&Ce.push(ke)}),{baseAxes:Ie,otherAxes:Ce}};function Se(Me,Ie){var Ce=Me.getExtent(),Ee=Ce[0]+Ce[1];Me.toGlobalCoord=Me.dim==="x"?function(Re){return Re+Ie}:function(Re){return Ee-Re+Ie},Me.toLocalCoord=Me.dim==="x"?function(Re){return Re-Ie}:function(Re){return Ee-Re+Ie}}var we=["xAxis","yAxis"];function Ae(Me,Ie){return ne(we,function(Ce){var Ee=Me.getReferringComponents(Ce)[0];return Ee})}function Te(Me){return Me.get("coordinateSystem")==="cartesian2d"}_e.create=function(Me,Ie){var Ce=[];return Me.eachComponent("grid",function(Ee,Re){var ke=new _e(Ee,Me,Ie);ke.name="grid_"+Re,ke.resize(Ee,Ie,!0),Ee.coordinateSystem=ke,Ce.push(ke)}),Me.eachSeries(function(Ee){if(Te(Ee)){var Re=Ae(Ee),ke=Re[0],Be=Re[1],Ne=ke.getCoordSysModel(),He=Ne.coordinateSystem;Ee.coordinateSystem=He.getCartesian(ke.componentIndex,Be.componentIndex)}}),Ce},_e.dimensions=_e.prototype.dimensions=fe.prototype.dimensions,ve.register("cartesian2d",_e);var De=_e;return Grid_1=De,Grid_1}var axis={},CartesianAxisView$1={},AxisBuilder_1,hasRequiredAxisBuilder;function requireAxisBuilder(){if(hasRequiredAxisBuilder)return AxisBuilder_1;hasRequiredAxisBuilder=1;var ee=util$a,te=ee.retrieve,ae=ee.defaults,ne=ee.extend,ie=ee.each,oe=format$6,se=graphic$6,le=Model_1,ue=requireNumber(),ce=ue.isRadianAroundZero,de=ue.remRadian,he=requireSymbol$1(),fe=he.createSymbol,pe=matrix$5,ve=vector$3,ge=ve.applyTransform,me=requireAxisHelper(),ye=me.shouldShowAllLabels,_e=Math.PI,be=function(Ne,He){this.opt=He,this.axisModel=Ne,ae(He,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new se.Group;var qe=new se.Group({position:He.position.slice(),rotation:He.rotation});qe.updateTransform(),this._transform=qe.transform,this._dumbGroup=qe};be.prototype={constructor:be,hasBuilder:function(Ne){return!!xe[Ne]},add:function(Ne){xe[Ne].call(this)},getGroup:function(){return this.group}};var xe={axisLine:function(){var Ne=this.opt,He=this.axisModel;if(He.get("axisLine.show")){var qe=this.axisModel.axis.getExtent(),Oe=this._transform,ze=[qe[0],0],Ve=[qe[1],0];Oe&&(ge(ze,ze,Oe),ge(Ve,Ve,Oe));var Ge=ne({lineCap:"round"},He.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new se.Line({anid:"line",subPixelOptimize:!0,shape:{x1:ze[0],y1:ze[1],x2:Ve[0],y2:Ve[1]},style:Ge,strokeContainThreshold:Ne.strokeContainThreshold||5,silent:!0,z2:1}));var We=He.get("axisLine.symbol"),Ue=He.get("axisLine.symbolSize"),Ye=He.get("axisLine.symbolOffset")||0;if(typeof Ye=="number"&&(Ye=[Ye,Ye]),We!=null){typeof We=="string"&&(We=[We,We]),(typeof Ue=="string"||typeof Ue=="number")&&(Ue=[Ue,Ue]);var Ze=Ue[0],Xe=Ue[1];ie([{rotate:Ne.rotation+Math.PI/2,offset:Ye[0],r:0},{rotate:Ne.rotation-Math.PI/2,offset:Ye[1],r:Math.sqrt((ze[0]-Ve[0])*(ze[0]-Ve[0])+(ze[1]-Ve[1])*(ze[1]-Ve[1]))}],function(it,at){if(We[at]!=="none"&&We[at]!=null){var ut=fe(We[at],-Ze/2,-Xe/2,Ze,Xe,Ge.stroke,!0),dt=it.r+it.offset,pt=[ze[0]+dt*Math.cos(Ne.rotation),ze[1]-dt*Math.sin(Ne.rotation)];ut.attr({rotation:it.rotate,position:pt,silent:!0,z2:11}),this.group.add(ut)}},this)}}},axisTickLabel:function(){var Ne=this.axisModel,He=this.opt,qe=Ee(this,Ne,He),Oe=ke(this,Ne,He);Te(Ne,Oe,qe),Re(this,Ne,He)},axisName:function(){var Ne=this.opt,He=this.axisModel,qe=te(Ne.axisName,He.get("name"));if(qe){var Oe=He.get("nameLocation"),ze=Ne.nameDirection,Ve=He.getModel("nameTextStyle"),Ge=He.get("nameGap")||0,We=this.axisModel.axis.getExtent(),Ue=We[0]>We[1]?-1:1,Ye=[Oe==="start"?We[0]-Ue*Ge:Oe==="end"?We[1]+Ue*Ge:(We[0]+We[1])/2,Ie(Oe)?Ne.labelOffset+ze*Ge:0],Ze,Xe=He.get("nameRotate");Xe!=null&&(Xe=Xe*_e/180);var it;Ie(Oe)?Ze=Se(Ne.rotation,Xe??Ne.rotation,ze):(Ze=we(Ne,Oe,Xe||0,We),it=Ne.axisNameAvailableWidth,it!=null&&(it=Math.abs(it/Math.sin(Ze.rotation)),!isFinite(it)&&(it=null)));var at=Ve.getFont(),ut=He.get("nameTruncate",!0)||{},dt=ut.ellipsis,pt=te(Ne.nameTruncateMaxWidth,ut.maxWidth,it),gt=dt!=null&&pt!=null?oe.truncateText(qe,pt,at,dt,{minChar:2,placeholder:ut.placeholder}):qe,bt=He.get("tooltip",!0),Tt=He.mainType,At={componentType:Tt,name:qe,$vars:["name"]};At[Tt+"Index"]=He.componentIndex;var Mt=new se.Text({anid:"name",__fullText:qe,__truncatedText:gt,position:Ye,rotation:Ze.rotation,silent:Ae(He),z2:1,tooltip:bt&&bt.show?ne({content:qe,formatter:function(){return qe},formatterParams:At},bt):null});se.setTextStyle(Mt.style,Ve,{text:gt,textFont:at,textFill:Ve.getTextColor()||He.get("axisLine.lineStyle.color"),textAlign:Ve.get("align")||Ze.textAlign,textVerticalAlign:Ve.get("verticalAlign")||Ze.textVerticalAlign}),He.get("triggerEvent")&&(Mt.eventData=$e(He),Mt.eventData.targetType="axisName",Mt.eventData.name=qe),this._dumbGroup.add(Mt),Mt.updateTransform(),this.group.add(Mt),Mt.decomposeTransform()}}},$e=be.makeAxisEventDataBase=function(Ne){var He={componentType:Ne.mainType,componentIndex:Ne.componentIndex};return He[Ne.mainType+"Index"]=Ne.componentIndex,He},Se=be.innerTextLayout=function(Ne,He,qe){var Oe=de(He-Ne),ze,Ve;return ce(Oe)?(Ve=qe>0?"top":"bottom",ze="center"):ce(Oe-_e)?(Ve=qe>0?"bottom":"top",ze="center"):(Ve="middle",Oe>0&&Oe<_e?ze=qe>0?"right":"left":ze=qe>0?"left":"right"),{rotation:Oe,textAlign:ze,textVerticalAlign:Ve}};function we(Ne,He,qe,Oe){var ze=de(qe-Ne.rotation),Ve,Ge,We=Oe[0]>Oe[1],Ue=He==="start"&&!We||He!=="start"&&We;return ce(ze-_e/2)?(Ge=Ue?"bottom":"top",Ve="center"):ce(ze-_e*1.5)?(Ge=Ue?"top":"bottom",Ve="center"):(Ge="middle",ze<_e*1.5&&ze>_e/2?Ve=Ue?"left":"right":Ve=Ue?"right":"left"),{rotation:ze,textAlign:Ve,textVerticalAlign:Ge}}var Ae=be.isLabelSilent=function(Ne){var He=Ne.get("tooltip");return Ne.get("silent")||!(Ne.get("triggerEvent")||He&&He.show)};function Te(Ne,He,qe){if(!ye(Ne.axis)){var Oe=Ne.get("axisLabel.showMinLabel"),ze=Ne.get("axisLabel.showMaxLabel");He=He||[],qe=qe||[];var Ve=He[0],Ge=He[1],We=He[He.length-1],Ue=He[He.length-2],Ye=qe[0],Ze=qe[1],Xe=qe[qe.length-1],it=qe[qe.length-2];Oe===!1?(De(Ve),De(Ye)):Me(Ve,Ge)&&(Oe?(De(Ge),De(Ze)):(De(Ve),De(Ye))),ze===!1?(De(We),De(Xe)):Me(Ue,We)&&(ze?(De(Ue),De(it)):(De(We),De(Xe)))}}function De(Ne){Ne&&(Ne.ignore=!0)}function Me(Ne,He,qe){var Oe=Ne&&Ne.getBoundingRect().clone(),ze=He&&He.getBoundingRect().clone();if(!(!Oe||!ze)){var Ve=pe.identity([]);return pe.rotate(Ve,Ve,-Ne.rotation),Oe.applyTransform(pe.mul([],Ve,Ne.getLocalTransform())),ze.applyTransform(pe.mul([],Ve,He.getLocalTransform())),Oe.intersect(ze)}}function Ie(Ne){return Ne==="middle"||Ne==="center"}function Ce(Ne,He,qe,Oe,ze){for(var Ve=[],Ge=[],We=[],Ue=0;Ue<Ne.length;Ue++){var Ye=Ne[Ue].coord;Ge[0]=Ye,Ge[1]=0,We[0]=Ye,We[1]=qe,He&&(ge(Ge,Ge,He),ge(We,We,He));var Ze=new se.Line({anid:ze+"_"+Ne[Ue].tickValue,subPixelOptimize:!0,shape:{x1:Ge[0],y1:Ge[1],x2:We[0],y2:We[1]},style:Oe,z2:2,silent:!0});Ve.push(Ze)}return Ve}function Ee(Ne,He,qe){var Oe=He.axis,ze=He.getModel("axisTick");if(!(!ze.get("show")||Oe.scale.isBlank())){for(var Ve=ze.getModel("lineStyle"),Ge=qe.tickDirection*ze.get("length"),We=Oe.getTicksCoords(),Ue=Ce(We,Ne._transform,Ge,ae(Ve.getLineStyle(),{stroke:He.get("axisLine.lineStyle.color")}),"ticks"),Ye=0;Ye<Ue.length;Ye++)Ne.group.add(Ue[Ye]);return Ue}}function Re(Ne,He,qe){var Oe=He.axis,ze=He.getModel("minorTick");if(!(!ze.get("show")||Oe.scale.isBlank())){var Ve=Oe.getMinorTicksCoords();if(Ve.length)for(var Ge=ze.getModel("lineStyle"),We=qe.tickDirection*ze.get("length"),Ue=ae(Ge.getLineStyle(),ae(He.getModel("axisTick").getLineStyle(),{stroke:He.get("axisLine.lineStyle.color")})),Ye=0;Ye<Ve.length;Ye++)for(var Ze=Ce(Ve[Ye],Ne._transform,We,Ue,"minorticks_"+Ye),Xe=0;Xe<Ze.length;Xe++)Ne.group.add(Ze[Xe])}}function ke(Ne,He,qe){var Oe=He.axis,ze=te(qe.axisLabelShow,He.get("axisLabel.show"));if(!(!ze||Oe.scale.isBlank())){var Ve=He.getModel("axisLabel"),Ge=Ve.get("margin"),We=Oe.getViewLabels(),Ue=(te(qe.labelRotate,Ve.get("rotate"))||0)*_e/180,Ye=Se(qe.rotation,Ue,qe.labelDirection),Ze=He.getCategories&&He.getCategories(!0),Xe=[],it=Ae(He),at=He.get("triggerEvent");return ie(We,function(ut,dt){var pt=ut.tickValue,gt=ut.formattedLabel,bt=ut.rawLabel,Tt=Ve;Ze&&Ze[pt]&&Ze[pt].textStyle&&(Tt=new le(Ze[pt].textStyle,Ve,He.ecModel));var At=Tt.getTextColor()||He.get("axisLine.lineStyle.color"),Mt=Oe.dataToCoord(pt),qt=[Mt,qe.labelOffset+qe.labelDirection*Ge],St=new se.Text({anid:"label_"+pt,position:qt,rotation:Ye.rotation,silent:it,z2:10});se.setTextStyle(St.style,Tt,{text:gt,textAlign:Tt.getShallow("align",!0)||Ye.textAlign,textVerticalAlign:Tt.getShallow("verticalAlign",!0)||Tt.getShallow("baseline",!0)||Ye.textVerticalAlign,textFill:typeof At=="function"?At(Oe.type==="category"?bt:Oe.type==="value"?pt+"":pt,dt):At}),at&&(St.eventData=$e(He),St.eventData.targetType="axisLabel",St.eventData.value=bt),Ne._dumbGroup.add(St),St.updateTransform(),Xe.push(St),Ne.group.add(St),St.decomposeTransform()}),Xe}}var Be=be;return AxisBuilder_1=Be,AxisBuilder_1}var modelHelper={},hasRequiredModelHelper;function requireModelHelper(){if(hasRequiredModelHelper)return modelHelper;hasRequiredModelHelper=1;var ee=util$a,te=Model_1,ae=ee.each,ne=ee.curry;function ie(ge,me){var ye={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return oe(ye,ge,me),ye.seriesInvolved&&le(ye,ge),ye}function oe(ge,me,ye){var _e=me.getComponent("tooltip"),be=me.getComponent("axisPointer"),xe=be.get("link",!0)||[],$e=[];ae(ye.getCoordinateSystems(),function(Se){if(!Se.axisPointerEnabled)return;var we=ve(Se.model),Ae=ge.coordSysAxesInfo[we]={};ge.coordSysMap[we]=Se;var Te=Se.model,De=Te.getModel("tooltip",_e);if(ae(Se.getAxes(),ne(Ee,!1,null)),Se.getTooltipAxes&&_e&&De.get("show")){var Me=De.get("trigger")==="axis",Ie=De.get("axisPointer.type")==="cross",Ce=Se.getTooltipAxes(De.get("axisPointer.axis"));(Me||Ie)&&ae(Ce.baseAxes,ne(Ee,Ie?"cross":!0,Me)),Ie&&ae(Ce.otherAxes,ne(Ee,"cross",!1))}function Ee(Re,ke,Be){var Ne=Be.model.getModel("axisPointer",be),He=Ne.get("show");if(!(!He||He==="auto"&&!Re&&!pe(Ne))){ke==null&&(ke=Ne.get("triggerTooltip")),Ne=Re?se(Be,De,be,me,Re,ke):Ne;var qe=Ne.get("snap"),Oe=ve(Be.model),ze=ke||qe||Be.type==="category",Ve=ge.axesInfo[Oe]={key:Oe,axis:Be,coordSys:Se,axisPointerModel:Ne,triggerTooltip:ke,involveSeries:ze,snap:qe,useHandle:pe(Ne),seriesModels:[]};Ae[Oe]=Ve,ge.seriesInvolved|=ze;var Ge=ue(xe,Be);if(Ge!=null){var We=$e[Ge]||($e[Ge]={axesInfo:{}});We.axesInfo[Oe]=Ve,We.mapper=xe[Ge].mapper,Ve.linkGroup=We}}}})}function se(ge,me,ye,_e,be,xe){var $e=me.getModel("axisPointer"),Se={};ae(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(De){Se[De]=ee.clone($e.get(De))}),Se.snap=ge.type!=="category"&&!!xe,$e.get("type")==="cross"&&(Se.type="line");var we=Se.label||(Se.label={});if(we.show==null&&(we.show=!1),be==="cross"){var Ae=$e.get("label.show");if(we.show=Ae??!0,!xe){var Te=Se.lineStyle=$e.get("crossStyle");Te&&ee.defaults(we,Te.textStyle)}}return ge.model.getModel("axisPointer",new te(Se,ye,_e))}function le(ge,me){me.eachSeries(function(ye){var _e=ye.coordinateSystem,be=ye.get("tooltip.trigger",!0),xe=ye.get("tooltip.show",!0);!_e||be==="none"||be===!1||be==="item"||xe===!1||ye.get("axisPointer.show",!0)===!1||ae(ge.coordSysAxesInfo[ve(_e.model)],function($e){var Se=$e.axis;_e.getAxis(Se.dim)===Se&&($e.seriesModels.push(ye),$e.seriesDataCount==null&&($e.seriesDataCount=0),$e.seriesDataCount+=ye.getData().count())})},this)}function ue(ge,me){for(var ye=me.model,_e=me.dim,be=0;be<ge.length;be++){var xe=ge[be]||{};if(ce(xe[_e+"AxisId"],ye.id)||ce(xe[_e+"AxisIndex"],ye.componentIndex)||ce(xe[_e+"AxisName"],ye.name))return be}}function ce(ge,me){return ge==="all"||ee.isArray(ge)&&ee.indexOf(ge,me)>=0||ge===me}function de(ge){var me=he(ge);if(me){var ye=me.axisPointerModel,_e=me.axis.scale,be=ye.option,xe=ye.get("status"),$e=ye.get("value");$e!=null&&($e=_e.parse($e));var Se=pe(ye);xe==null&&(be.status=Se?"show":"hide");var we=_e.getExtent().slice();we[0]>we[1]&&we.reverse(),($e==null||$e>we[1])&&($e=we[1]),$e<we[0]&&($e=we[0]),be.value=$e,Se&&(be.status=me.axis.scale.isBlank()?"hide":"show")}}function he(ge){var me=(ge.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return me&&me.axesInfo[ve(ge)]}function fe(ge){var me=he(ge);return me&&me.axisPointerModel}function pe(ge){return!!ge.get("handle.show")}function ve(ge){return ge.type+"||"+ge.id}return modelHelper.collect=ie,modelHelper.fixValue=de,modelHelper.getAxisInfo=he,modelHelper.getAxisPointerModel=fe,modelHelper.makeKey=ve,modelHelper}var AxisView_1,hasRequiredAxisView;function requireAxisView(){if(hasRequiredAxisView)return AxisView_1;hasRequiredAxisView=1;var ee=echarts$1,te=requireModelHelper(),ae=ee.extendComponentView({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(le,ue,ce,de){this.axisPointerClass&&te.fixValue(le),ae.superApply(this,"render",arguments),ne(this,le,ue,ce,de,!0)},updateAxisPointer:function(le,ue,ce,de,he){ne(this,le,ue,ce,de,!1)},remove:function(le,ue){var ce=this._axisPointer;ce&&ce.remove(ue),ae.superApply(this,"remove",arguments)},dispose:function(le,ue){ie(this,ue),ae.superApply(this,"dispose",arguments)}});function ne(le,ue,ce,de,he,fe){var pe=ae.getAxisPointerClass(le.axisPointerClass);if(pe){var ve=te.getAxisPointerModel(ue);ve?(le._axisPointer||(le._axisPointer=new pe)).render(ue,ve,de,fe):ie(le,de)}}function ie(le,ue,ce){var de=le._axisPointer;de&&de.dispose(ue,ce),le._axisPointer=null}var oe=[];ae.registerAxisPointerClass=function(le,ue){oe[le]=ue},ae.getAxisPointerClass=function(le){return le&&oe[le]};var se=ae;return AxisView_1=se,AxisView_1}var cartesianAxisHelper={},hasRequiredCartesianAxisHelper;function requireCartesianAxisHelper(){if(hasRequiredCartesianAxisHelper)return cartesianAxisHelper;hasRequiredCartesianAxisHelper=1;var ee=util$a;function te(ae,ne,ie){ie=ie||{};var oe=ae.coordinateSystem,se=ne.axis,le={},ue=se.getAxesOnZeroOf()[0],ce=se.position,de=ue?"onZero":ce,he=se.dim,fe=oe.getRect(),pe=[fe.x,fe.x+fe.width,fe.y,fe.y+fe.height],ve={left:0,right:1,top:0,bottom:1,onZero:2},ge=ne.get("offset")||0,me=he==="x"?[pe[2]-ge,pe[3]+ge]:[pe[0]-ge,pe[1]+ge];if(ue){var ye=ue.toGlobalCoord(ue.dataToCoord(0));me[ve.onZero]=Math.max(Math.min(ye,me[1]),me[0])}le.position=[he==="y"?me[ve[de]]:pe[0],he==="x"?me[ve[de]]:pe[3]],le.rotation=Math.PI/2*(he==="x"?0:1);var _e={top:-1,bottom:1,left:-1,right:1};le.labelDirection=le.tickDirection=le.nameDirection=_e[ce],le.labelOffset=ue?me[ve[ce]]-me[ve.onZero]:0,ne.get("axisTick.inside")&&(le.tickDirection=-le.tickDirection),ee.retrieve(ie.labelInside,ne.get("axisLabel.inside"))&&(le.labelDirection=-le.labelDirection);var be=ne.get("axisLabel.rotate");return le.labelRotate=de==="top"?-be:be,le.z2=1,le}return cartesianAxisHelper.layout=te,cartesianAxisHelper}var axisSplitHelper={},hasRequiredAxisSplitHelper;function requireAxisSplitHelper(){if(hasRequiredAxisSplitHelper)return axisSplitHelper;hasRequiredAxisSplitHelper=1;var ee=util$a,te=graphic$6;function ae(ie,oe,se,le){var ue=se.axis;if(!ue.scale.isBlank()){var ce=se.getModel("splitArea"),de=ce.getModel("areaStyle"),he=de.get("color"),fe=le.coordinateSystem.getRect(),pe=ue.getTicksCoords({tickModel:ce,clamp:!0});if(pe.length){var ve=he.length,ge=ie.__splitAreaColors,me=ee.createHashMap(),ye=0;if(ge)for(var _e=0;_e<pe.length;_e++){var be=ge.get(pe[_e].tickValue);if(be!=null){ye=(be+(ve-1)*_e)%ve;break}}var xe=ue.toGlobalCoord(pe[0].coord),$e=de.getAreaStyle();he=ee.isArray(he)?he:[he];for(var _e=1;_e<pe.length;_e++){var Se=ue.toGlobalCoord(pe[_e].coord),we,Ae,Te,De;ue.isHorizontal()?(we=xe,Ae=fe.y,Te=Se-we,De=fe.height,xe=we+Te):(we=fe.x,Ae=xe,Te=fe.width,De=Se-Ae,xe=Ae+De);var Me=pe[_e-1].tickValue;Me!=null&&me.set(Me,ye),oe.add(new te.Rect({anid:Me!=null?"area_"+Me:null,shape:{x:we,y:Ae,width:Te,height:De},style:ee.defaults({fill:he[ye]},$e),silent:!0})),ye=(ye+1)%ve}ie.__splitAreaColors=me}}}function ne(ie){ie.__splitAreaColors=null}return axisSplitHelper.rectCoordAxisBuildSplitArea=ae,axisSplitHelper.rectCoordAxisHandleRemove=ne,axisSplitHelper}var hasRequiredCartesianAxisView;function requireCartesianAxisView(){if(hasRequiredCartesianAxisView)return CartesianAxisView$1;hasRequiredCartesianAxisView=1;var ee=util$a,te=graphic$6,ae=requireAxisBuilder(),ne=requireAxisView(),ie=requireCartesianAxisHelper(),oe=requireAxisSplitHelper(),se=oe.rectCoordAxisBuildSplitArea,le=oe.rectCoordAxisHandleRemove,ue=["axisLine","axisTickLabel","axisName"],ce=["splitArea","splitLine","minorSplitLine"],de=ne.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(he,fe,pe,ve){this.group.removeAll();var ge=this._axisGroup;if(this._axisGroup=new te.Group,this.group.add(this._axisGroup),!!he.get("show")){var me=he.getCoordSysModel(),ye=ie.layout(me,he),_e=new ae(he,ye);ee.each(ue,_e.add,_e),this._axisGroup.add(_e.getGroup()),ee.each(ce,function(be){he.get(be+".show")&&this["_"+be](he,me)},this),te.groupTransition(ge,this._axisGroup,he),de.superCall(this,"render",he,fe,pe,ve)}},remove:function(){le(this)},_splitLine:function(he,fe){var pe=he.axis;if(!pe.scale.isBlank()){var ve=he.getModel("splitLine"),ge=ve.getModel("lineStyle"),me=ge.get("color");me=ee.isArray(me)?me:[me];for(var ye=fe.coordinateSystem.getRect(),_e=pe.isHorizontal(),be=0,xe=pe.getTicksCoords({tickModel:ve}),$e=[],Se=[],we=ge.getLineStyle(),Ae=0;Ae<xe.length;Ae++){var Te=pe.toGlobalCoord(xe[Ae].coord);_e?($e[0]=Te,$e[1]=ye.y,Se[0]=Te,Se[1]=ye.y+ye.height):($e[0]=ye.x,$e[1]=Te,Se[0]=ye.x+ye.width,Se[1]=Te);var De=be++%me.length,Me=xe[Ae].tickValue;this._axisGroup.add(new te.Line({anid:Me!=null?"line_"+xe[Ae].tickValue:null,subPixelOptimize:!0,shape:{x1:$e[0],y1:$e[1],x2:Se[0],y2:Se[1]},style:ee.defaults({stroke:me[De]},we),silent:!0}))}}},_minorSplitLine:function(he,fe){var pe=he.axis,ve=he.getModel("minorSplitLine"),ge=ve.getModel("lineStyle"),me=fe.coordinateSystem.getRect(),ye=pe.isHorizontal(),_e=pe.getMinorTicksCoords();if(_e.length)for(var be=[],xe=[],$e=ge.getLineStyle(),Se=0;Se<_e.length;Se++)for(var we=0;we<_e[Se].length;we++){var Ae=pe.toGlobalCoord(_e[Se][we].coord);ye?(be[0]=Ae,be[1]=me.y,xe[0]=Ae,xe[1]=me.y+me.height):(be[0]=me.x,be[1]=Ae,xe[0]=me.x+me.width,xe[1]=Ae),this._axisGroup.add(new te.Line({anid:"minor_line_"+_e[Se][we].tickValue,subPixelOptimize:!0,shape:{x1:be[0],y1:be[1],x2:xe[0],y2:xe[1]},style:$e,silent:!0}))}},_splitArea:function(he,fe){se(this,this._axisGroup,he,fe)}});return de.extend({type:"xAxis"}),de.extend({type:"yAxis"}),CartesianAxisView$1}var hasRequiredAxis;function requireAxis(){return hasRequiredAxis||(hasRequiredAxis=1,requireAxisModel$3(),requireCartesianAxisView()),axis}var hasRequiredGridSimple;function requireGridSimple(){if(hasRequiredGridSimple)return gridSimple;hasRequiredGridSimple=1;var ee=echarts$1,te=util$a,ae=graphic$6;return requireGrid$1(),requireAxis(),ee.extendComponentView({type:"grid",render:function(ne,ie){this.group.removeAll(),ne.get("show")&&this.group.add(new ae.Rect({shape:ne.coordinateSystem.getRect(),style:te.defaults({fill:ne.get("backgroundColor")},ne.getItemStyle()),silent:!0,z2:-1}))}}),ee.registerPreprocessor(function(ne){ne.xAxis&&ne.yAxis&&!ne.grid&&(ne.grid={})}),gridSimple}var hasRequiredLine$1;function requireLine$1(){if(hasRequiredLine$1)return line;hasRequiredLine$1=1;var ee=echarts$1;requireLineSeries(),requireLineView();var te=requireSymbol(),ae=requirePoints(),ne=requireDataSample();return requireGridSimple(),ee.registerVisual(te("line","circle","line")),ee.registerLayout(ae("line")),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,ne("line")),line}var bar={},BaseBarSeries,hasRequiredBaseBarSeries;function requireBaseBarSeries(){if(hasRequiredBaseBarSeries)return BaseBarSeries;hasRequiredBaseBarSeries=1;var ee=Series,te=requireCreateListFromArray(),ae=ee.extend({type:"series.__base_bar__",getInitialData:function(ne,ie){return te(this.getSource(),this,{useEncodeDefaulter:!0})},getMarkerPosition:function(ne){var ie=this.coordinateSystem;if(ie){var oe=ie.dataToPoint(ie.clampData(ne)),se=this.getData(),le=se.getLayout("offset"),ue=se.getLayout("size"),ce=ie.getBaseAxis().isHorizontal()?0:1;return oe[ce]+=le+ue/2,oe}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});return BaseBarSeries=ae,BaseBarSeries}var BarSeries$1,hasRequiredBarSeries;function requireBarSeries(){if(hasRequiredBarSeries)return BarSeries$1;hasRequiredBarSeries=1;var ee=requireBaseBarSeries(),te=ee.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return this.get("large")?this.get("progressive"):!1},getProgressiveThreshold:function(){var ae=this.get("progressiveThreshold"),ne=this.get("largeThreshold");return ne>ae&&(ae=ne),ae},defaultOption:{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1}}});return BarSeries$1=te,BarSeries$1}var helper$3={},hasRequiredHelper$2;function requireHelper$2(){if(hasRequiredHelper$2)return helper$3;hasRequiredHelper$2=1;var ee=graphic$6,te=requireLabelHelper(),ae=te.getDefaultLabel;function ne(oe,se,le,ue,ce,de,he){var fe=le.getModel("label"),pe=le.getModel("emphasis.label");ee.setLabelStyle(oe,se,fe,pe,{labelFetcher:ce,labelDataIndex:de,defaultText:ae(ce.getData(),de),isRectText:!0,autoColor:ue}),ie(oe),ie(se)}function ie(oe,se){oe.textPosition==="outside"&&(oe.textPosition=se)}return helper$3.setLabel=ne,helper$3}var barItemStyle,hasRequiredBarItemStyle;function requireBarItemStyle(){if(hasRequiredBarItemStyle)return barItemStyle;hasRequiredBarItemStyle=1;var ee=makeStyleMapper$4,te=ee([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ae={getBarItemStyle:function(ne){var ie=te(this,ne);if(this.getBorderLineDash){var oe=this.getBorderLineDash();oe&&(ie.lineDash=oe)}return ie}};return barItemStyle=ae,barItemStyle}var sausage,hasRequiredSausage;function requireSausage(){if(hasRequiredSausage)return sausage;hasRequiredSausage=1;var ee=graphic$6,te=ee.extendShape,ae=te({type:"sausage",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:!0},buildPath:function(ne,ie){var oe=ie.cx,se=ie.cy,le=Math.max(ie.r0||0,0),ue=Math.max(ie.r,0),ce=(ue-le)*.5,de=le+ce,he=ie.startAngle,fe=ie.endAngle,pe=ie.clockwise,ve=Math.cos(he),ge=Math.sin(he),me=Math.cos(fe),ye=Math.sin(fe),_e=pe?fe-he<Math.PI*2:he-fe<Math.PI*2;_e&&(ne.moveTo(ve*le+oe,ge*le+se),ne.arc(ve*de+oe,ge*de+se,ce,-Math.PI+he,he,!pe)),ne.arc(oe,se,ue,he,fe,!pe),ne.moveTo(me*ue+oe,ye*ue+se),ne.arc(me*de+oe,ye*de+se,ce,fe-Math.PI*2,fe-Math.PI,!pe),le!==0&&(ne.arc(oe,se,le,fe,he,pe),ne.moveTo(ve*le+oe,ye*le+se)),ne.closePath()}});return sausage=ae,sausage}var BarView$2,hasRequiredBarView;function requireBarView(){if(hasRequiredBarView)return BarView$2;hasRequiredBarView=1;var ee=echarts$1,te=util$a,ae=graphic$6,ne=requireHelper$2(),ie=ne.setLabel,oe=Model_1,se=requireBarItemStyle(),le=Path_1,ue=Group_1,ce=throttle$3,de=ce.throttle,he=requireCreateClipPathFromCoordSys(),fe=he.createClipPath,pe=requireSausage(),ve=["itemStyle","barBorderWidth"],ge=[0,0];te.extend(oe.prototype,se);function me(qe,Oe){var ze=qe.getArea&&qe.getArea();if(qe.type==="cartesian2d"){var Ve=qe.getBaseAxis();if(Ve.type!=="category"||!Ve.onBand){var Ge=Oe.getLayout("bandWidth");Ve.isHorizontal()?(ze.x-=Ge,ze.width+=Ge*2):(ze.y-=Ge,ze.height+=Ge*2)}}return ze}var ye=ee.extendChartView({type:"bar",render:function(qe,Oe,ze){this._updateDrawMode(qe);var Ve=qe.get("coordinateSystem");return(Ve==="cartesian2d"||Ve==="polar")&&(this._isLargeDraw?this._renderLarge(qe,Oe,ze):this._renderNormal(qe,Oe,ze)),this.group},incrementalPrepareRender:function(qe,Oe,ze){this._clear(),this._updateDrawMode(qe)},incrementalRender:function(qe,Oe,ze,Ve){this._incrementalRenderLarge(qe,Oe)},_updateDrawMode:function(qe){var Oe=qe.pipelineContext.large;(this._isLargeDraw==null||Oe^this._isLargeDraw)&&(this._isLargeDraw=Oe,this._clear())},_renderNormal:function(qe,Oe,ze){var Ve=this.group,Ge=qe.getData(),We=this._data,Ue=qe.coordinateSystem,Ye=Ue.getBaseAxis(),Ze;Ue.type==="cartesian2d"?Ze=Ye.isHorizontal():Ue.type==="polar"&&(Ze=Ye.dim==="angle");var Xe=qe.isAnimationEnabled()?qe:null,it=qe.get("clip",!0),at=me(Ue,Ge);Ve.removeClipPath();var ut=qe.get("roundCap",!0),dt=qe.get("showBackground",!0),pt=qe.getModel("backgroundStyle"),gt=pt.get("barBorderRadius")||0,bt=[],Tt=this._backgroundEls||[],At=function(St){var Ct=Ae[Ue.type](Ge,St),Ot=He(Ue,Ze,Ct);return Ot.useStyle(pt.getBarItemStyle()),Ue.type==="cartesian2d"&&Ot.setShape("r",gt),bt[St]=Ot,Ot};Ge.diff(We).add(function(St){var Ct=Ge.getItemModel(St),Ot=Ae[Ue.type](Ge,St,Ct);if(dt&&At(St),!!Ge.hasValue(St)){if(it){var ct=xe[Ue.type](at,Ot);if(ct){Ve.remove(vt);return}}var vt=$e[Ue.type](St,Ot,Ze,Xe,!1,ut);Ge.setItemGraphicEl(St,vt),Ve.add(vt),De(vt,Ge,St,Ct,Ot,qe,Ze,Ue.type==="polar")}}).update(function(St,Ct){var Ot=Ge.getItemModel(St),ct=Ae[Ue.type](Ge,St,Ot);if(dt){var vt;Tt.length===0?vt=At(Ct):(vt=Tt[Ct],vt.useStyle(pt.getBarItemStyle()),Ue.type==="cartesian2d"&&vt.setShape("r",gt),bt[St]=vt);var yt=Ae[Ue.type](Ge,St),Dt=Ne(Ze,yt,Ue);ae.updateProps(vt,{shape:Dt},Xe,St)}var Pt=We.getItemGraphicEl(Ct);if(!Ge.hasValue(St)){Ve.remove(Pt);return}if(it){var It=xe[Ue.type](at,ct);if(It){Ve.remove(Pt);return}}Pt?ae.updateProps(Pt,{shape:ct},Xe,St):Pt=$e[Ue.type](St,ct,Ze,Xe,!0,ut),Ge.setItemGraphicEl(St,Pt),Ve.add(Pt),De(Pt,Ge,St,Ot,ct,qe,Ze,Ue.type==="polar")}).remove(function(St){var Ct=We.getItemGraphicEl(St);Ue.type==="cartesian2d"?Ct&&Se(St,Xe,Ct):Ct&&we(St,Xe,Ct)}).execute();var Mt=this._backgroundGroup||(this._backgroundGroup=new ue);Mt.removeAll();for(var qt=0;qt<bt.length;++qt)Mt.add(bt[qt]);Ve.add(Mt),this._backgroundEls=bt,this._data=Ge},_renderLarge:function(qe,Oe,ze){this._clear(),Ce(qe,this.group);var Ve=qe.get("clip",!0)?fe(qe.coordinateSystem,!1,qe):null;Ve?this.group.setClipPath(Ve):this.group.removeClipPath()},_incrementalRenderLarge:function(qe,Oe){this._removeBackground(),Ce(Oe,this.group,!0)},dispose:te.noop,remove:function(qe){this._clear(qe)},_clear:function(qe){var Oe=this.group,ze=this._data;qe&&qe.get("animation")&&ze&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],ze.eachItemGraphicEl(function(Ve){Ve.type==="sector"?we(Ve.dataIndex,qe,Ve):Se(Ve.dataIndex,qe,Ve)})):Oe.removeAll(),this._data=null},_removeBackground:function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null}}),_e=Math.max,be=Math.min,xe={cartesian2d:function(qe,Oe){var ze=Oe.width<0?-1:1,Ve=Oe.height<0?-1:1;ze<0&&(Oe.x+=Oe.width,Oe.width=-Oe.width),Ve<0&&(Oe.y+=Oe.height,Oe.height=-Oe.height);var Ge=_e(Oe.x,qe.x),We=be(Oe.x+Oe.width,qe.x+qe.width),Ue=_e(Oe.y,qe.y),Ye=be(Oe.y+Oe.height,qe.y+qe.height);Oe.x=Ge,Oe.y=Ue,Oe.width=We-Ge,Oe.height=Ye-Ue;var Ze=Oe.width<0||Oe.height<0;return ze<0&&(Oe.x+=Oe.width,Oe.width=-Oe.width),Ve<0&&(Oe.y+=Oe.height,Oe.height=-Oe.height),Ze},polar:function(qe,Oe){var ze=Oe.r0<=Oe.r?1:-1;if(ze<0){var Ve=Oe.r;Oe.r=Oe.r0,Oe.r0=Ve}var Ve=be(Oe.r,qe.r),Ge=_e(Oe.r0,qe.r0);Oe.r=Ve,Oe.r0=Ge;var We=Ve-Ge<0;if(ze<0){var Ve=Oe.r;Oe.r=Oe.r0,Oe.r0=Ve}return We}},$e={cartesian2d:function(qe,Oe,ze,Ve,Ge){var We=new ae.Rect({shape:te.extend({},Oe),z2:1});if(We.name="item",Ve){var Ue=We.shape,Ye=ze?"height":"width",Ze={};Ue[Ye]=0,Ze[Ye]=Oe[Ye],ae[Ge?"updateProps":"initProps"](We,{shape:Ze},Ve,qe)}return We},polar:function(qe,Oe,ze,Ve,Ge,We){var Ue=Oe.startAngle<Oe.endAngle,Ye=!ze&&We?pe:ae.Sector,Ze=new Ye({shape:te.defaults({clockwise:Ue},Oe),z2:1});if(Ze.name="item",Ve){var Xe=Ze.shape,it=ze?"r":"endAngle",at={};Xe[it]=ze?0:Oe.startAngle,at[it]=Oe[it],ae[Ge?"updateProps":"initProps"](Ze,{shape:at},Ve,qe)}return Ze}};function Se(qe,Oe,ze){ze.style.text=null,ae.updateProps(ze,{shape:{width:0}},Oe,qe,function(){ze.parent&&ze.parent.remove(ze)})}function we(qe,Oe,ze){ze.style.text=null,ae.updateProps(ze,{shape:{r:ze.shape.r0}},Oe,qe,function(){ze.parent&&ze.parent.remove(ze)})}var Ae={cartesian2d:function(qe,Oe,ze){var Ve=qe.getItemLayout(Oe),Ge=ze?Me(ze,Ve):0,We=Ve.width>0?1:-1,Ue=Ve.height>0?1:-1;return{x:Ve.x+We*Ge/2,y:Ve.y+Ue*Ge/2,width:Ve.width-We*Ge,height:Ve.height-Ue*Ge}},polar:function(qe,Oe,ze){var Ve=qe.getItemLayout(Oe);return{cx:Ve.cx,cy:Ve.cy,r0:Ve.r0,r:Ve.r,startAngle:Ve.startAngle,endAngle:Ve.endAngle}}};function Te(qe){return qe.startAngle!=null&&qe.endAngle!=null&&qe.startAngle===qe.endAngle}function De(qe,Oe,ze,Ve,Ge,We,Ue,Ye){var Ze=Oe.getItemVisual(ze,"color"),Xe=Oe.getItemVisual(ze,"opacity"),it=Oe.getVisual("borderColor"),at=Ve.getModel("itemStyle"),ut=Ve.getModel("emphasis.itemStyle").getBarItemStyle();Ye||qe.setShape("r",at.get("barBorderRadius")||0),qe.useStyle(te.defaults({stroke:Te(Ge)?"none":it,fill:Te(Ge)?"none":Ze,opacity:Xe},at.getBarItemStyle()));var dt=Ve.getShallow("cursor");dt&&qe.attr("cursor",dt);var pt=Ue?Ge.height>0?"bottom":"top":Ge.width>0?"left":"right";Ye||ie(qe.style,ut,Ve,Ze,We,ze,pt),Te(Ge)&&(ut.fill=ut.stroke="none"),ae.setHoverStyle(qe,ut)}function Me(qe,Oe){var ze=qe.get(ve)||0,Ve=isNaN(Oe.width)?Number.MAX_VALUE:Math.abs(Oe.width),Ge=isNaN(Oe.height)?Number.MAX_VALUE:Math.abs(Oe.height);return Math.min(ze,Ve,Ge)}var Ie=le.extend({type:"largeBar",shape:{points:[]},buildPath:function(qe,Oe){for(var ze=Oe.points,Ve=this.__startPoint,Ge=this.__baseDimIdx,We=0;We<ze.length;We+=2)Ve[Ge]=ze[We+Ge],qe.moveTo(Ve[0],Ve[1]),qe.lineTo(ze[We],ze[We+1])}});function Ce(qe,Oe,ze){var Ve=qe.getData(),Ge=[],We=Ve.getLayout("valueAxisHorizontal")?1:0;Ge[1-We]=Ve.getLayout("valueAxisStart");var Ue=Ve.getLayout("largeDataIndices"),Ye=Ve.getLayout("barWidth"),Ze=qe.getModel("backgroundStyle"),Xe=qe.get("showBackground",!0);if(Xe){var it=Ve.getLayout("largeBackgroundPoints"),at=[];at[1-We]=Ve.getLayout("backgroundStart");var ut=new Ie({shape:{points:it},incremental:!!ze,__startPoint:at,__baseDimIdx:We,__largeDataIndices:Ue,__barWidth:Ye,silent:!0,z2:0});Be(ut,Ze,Ve),Oe.add(ut)}var dt=new Ie({shape:{points:Ve.getLayout("largePoints")},incremental:!!ze,__startPoint:Ge,__baseDimIdx:We,__largeDataIndices:Ue,__barWidth:Ye});Oe.add(dt),ke(dt,qe,Ve),dt.seriesIndex=qe.seriesIndex,qe.get("silent")||(dt.on("mousedown",Ee),dt.on("mousemove",Ee))}var Ee=de(function(qe){var Oe=this,ze=Re(Oe,qe.offsetX,qe.offsetY);Oe.dataIndex=ze>=0?ze:null},30,!1);function Re(qe,Oe,ze){var Ve=qe.__baseDimIdx,Ge=1-Ve,We=qe.shape.points,Ue=qe.__largeDataIndices,Ye=Math.abs(qe.__barWidth/2),Ze=qe.__startPoint[Ge];ge[0]=Oe,ge[1]=ze;for(var Xe=ge[Ve],it=ge[1-Ve],at=Xe-Ye,ut=Xe+Ye,dt=0,pt=We.length/2;dt<pt;dt++){var gt=dt*2,bt=We[gt+Ve],Tt=We[gt+Ge];if(bt>=at&&bt<=ut&&(Ze<=Tt?it>=Ze&&it<=Tt:it>=Tt&&it<=Ze))return Ue[dt]}return-1}function ke(qe,Oe,ze){var Ve=ze.getVisual("borderColor")||ze.getVisual("color"),Ge=Oe.getModel("itemStyle").getItemStyle(["color","borderColor"]);qe.useStyle(Ge),qe.style.fill=null,qe.style.stroke=Ve,qe.style.lineWidth=ze.getLayout("barWidth")}function Be(qe,Oe,ze){var Ve=Oe.get("borderColor")||Oe.get("color"),Ge=Oe.getItemStyle(["color","borderColor"]);qe.useStyle(Ge),qe.style.fill=null,qe.style.stroke=Ve,qe.style.lineWidth=ze.getLayout("barWidth")}function Ne(qe,Oe,ze){var Ve,Ge=ze.type==="polar";return Ge?Ve=ze.getArea():Ve=ze.grid.getRect(),Ge?{cx:Ve.cx,cy:Ve.cy,r0:qe?Ve.r0:Oe.r0,r:qe?Ve.r:Oe.r,startAngle:qe?Oe.startAngle:0,endAngle:qe?Oe.endAngle:Math.PI*2}:{x:qe?Oe.x:Ve.x,y:qe?Ve.y:Oe.y,width:qe?Oe.width:Ve.width,height:qe?Ve.height:Oe.height}}function He(qe,Oe,ze){var Ve=qe.type==="polar"?ae.Sector:ae.Rect;return new Ve({shape:Ne(Oe,ze,qe),silent:!0,z2:0})}return BarView$2=ye,BarView$2}var hasRequiredBar;function requireBar(){if(hasRequiredBar)return bar;hasRequiredBar=1;var ee=echarts$1,te=util$a,ae=requireBarGrid(),ne=ae.layout,ie=ae.largeLayout;return requireGrid$1(),requireBarSeries(),requireBarView(),requireGridSimple(),ee.registerLayout(ee.PRIORITY.VISUAL.LAYOUT,te.curry(ne,"bar")),ee.registerLayout(ee.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,ie),ee.registerVisual({seriesType:"bar",reset:function(oe){oe.getData().setVisual("legendSymbol","roundRect")}}),bar}var pie={},createListSimply,hasRequiredCreateListSimply;function requireCreateListSimply(){if(hasRequiredCreateListSimply)return createListSimply;hasRequiredCreateListSimply=1;var ee=requireCreateDimensions(),te=requireList(),ae=util$a,ne=ae.extend,ie=ae.isArray;function oe(se,le,ue){le=ie(le)&&{coordDimensions:le}||ne({},le);var ce=se.getSource(),de=ee(ce,le),he=new te(de,se);return he.initData(ce,ue),he}return createListSimply=oe,createListSimply}var selectableMixin,hasRequiredSelectableMixin;function requireSelectableMixin(){if(hasRequiredSelectableMixin)return selectableMixin;hasRequiredSelectableMixin=1;var ee=util$a,te={updateSelectedMap:function(ae){this._targetList=ee.isArray(ae)?ae.slice():[],this._selectTargetMap=ee.reduce(ae||[],function(ne,ie){return ne.set(ie.name,ie),ne},ee.createHashMap())},select:function(ae,ne){var ie=ne!=null?this._targetList[ne]:this._selectTargetMap.get(ae),oe=this.get("selectedMode");oe==="single"&&this._selectTargetMap.each(function(se){se.selected=!1}),ie&&(ie.selected=!0)},unSelect:function(ae,ne){var ie=ne!=null?this._targetList[ne]:this._selectTargetMap.get(ae);ie&&(ie.selected=!1)},toggleSelected:function(ae,ne){var ie=ne!=null?this._targetList[ne]:this._selectTargetMap.get(ae);if(ie!=null)return this[ie.selected?"unSelect":"select"](ae,ne),ie.selected},isSelected:function(ae,ne){var ie=ne!=null?this._targetList[ne]:this._selectTargetMap.get(ae);return ie&&ie.selected}};return selectableMixin=te,selectableMixin}var LegendVisualProvider_1,hasRequiredLegendVisualProvider;function requireLegendVisualProvider(){if(hasRequiredLegendVisualProvider)return LegendVisualProvider_1;hasRequiredLegendVisualProvider=1;function ee(ae,ne){this.getAllNames=function(){var ie=ne();return ie.mapArray(ie.getName)},this.containName=function(ie){var oe=ne();return oe.indexOfName(ie)>=0},this.indexOfName=function(ie){var oe=ae();return oe.indexOfName(ie)},this.getItemVisual=function(ie,oe){var se=ae();return se.getItemVisual(ie,oe)}}var te=ee;return LegendVisualProvider_1=te,LegendVisualProvider_1}var PieSeries_1,hasRequiredPieSeries;function requirePieSeries(){if(hasRequiredPieSeries)return PieSeries_1;hasRequiredPieSeries=1;var ee=echarts$1,te=requireCreateListSimply(),ae=util$a,ne=model,ie=requireNumber(),oe=ie.getPercentWithPrecision,se=requireSelectableMixin(),le=dataProvider,ue=le.retrieveRawAttr,ce=requireSourceHelper(),de=ce.makeSeriesEncodeForNameBased,he=requireLegendVisualProvider(),fe=ee.extendSeriesModel({type:"series.pie",init:function(ve){fe.superApply(this,"init",arguments),this.legendVisualProvider=new he(ae.bind(this.getData,this),ae.bind(this.getRawData,this)),this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(ve)},mergeOption:function(ve){fe.superCall(this,"mergeOption",ve),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(ve,ge){return te(this,{coordDimensions:["value"],encodeDefaulter:ae.curry(de,this)})},_createSelectableList:function(){for(var ve=this.getRawData(),ge=ve.mapDimension("value"),me=[],ye=0,_e=ve.count();ye<_e;ye++)me.push({name:ve.getName(ye),value:ve.get(ge,ye),selected:ue(ve,ye,"selected")});return me},getDataParams:function(ve){var ge=this.getData(),me=fe.superCall(this,"getDataParams",ve),ye=[];return ge.each(ge.mapDimension("value"),function(_e){ye.push(_e)}),me.percent=oe(ye,ve,ge.hostModel.get("percentPrecision")),me.$vars.push("percent"),me},_defaultLabelLine:function(ve){ne.defaultEmphasis(ve,"labelLine",["show"]);var ge=ve.labelLine,me=ve.emphasis.labelLine;ge.show=ge.show&&ve.label.show,me.show=me.show&&ve.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:!1,show:!0,position:"outer",alignTo:"none",margin:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},animationType:"expansion",animationTypeUpdate:"transition",animationEasing:"cubicOut"}});ae.mixin(fe,se);var pe=fe;return PieSeries_1=pe,PieSeries_1}var PieView_1,hasRequiredPieView;function requirePieView(){if(hasRequiredPieView)return PieView_1;hasRequiredPieView=1;var ee=util$a,te=graphic$6,ae=Chart_1;function ne(ce,de,he,fe){var pe=de.getData(),ve=this.dataIndex,ge=pe.getName(ve),me=de.get("selectedOffset");fe.dispatchAction({type:"pieToggleSelect",from:ce,name:ge,seriesId:de.id}),pe.each(function(ye){ie(pe.getItemGraphicEl(ye),pe.getItemLayout(ye),de.isSelected(pe.getName(ye)),me,he)})}function ie(ce,de,he,fe,pe){var ve=(de.startAngle+de.endAngle)/2,ge=Math.cos(ve),me=Math.sin(ve),ye=he?fe:0,_e=[ge*ye,me*ye];pe?ce.animate().when(200,{position:_e}).start("bounceOut"):ce.attr("position",_e)}function oe(ce,de){te.Group.call(this);var he=new te.Sector({z2:2}),fe=new te.Polyline,pe=new te.Text;this.add(he),this.add(fe),this.add(pe),this.updateData(ce,de,!0)}var se=oe.prototype;se.updateData=function(ce,de,he){var fe=this.childAt(0),pe=this.childAt(1),ve=this.childAt(2),ge=ce.hostModel,me=ce.getItemModel(de),ye=ce.getItemLayout(de),_e=ee.extend({},ye);_e.label=null;var be=ge.getShallow("animationTypeUpdate");if(he){fe.setShape(_e);var xe=ge.getShallow("animationType");xe==="scale"?(fe.shape.r=ye.r0,te.initProps(fe,{shape:{r:ye.r}},ge,de)):(fe.shape.endAngle=ye.startAngle,te.updateProps(fe,{shape:{endAngle:ye.endAngle}},ge,de))}else be==="expansion"?fe.setShape(_e):te.updateProps(fe,{shape:_e},ge,de);var $e=ce.getItemVisual(de,"color");fe.useStyle(ee.defaults({lineJoin:"bevel",fill:$e},me.getModel("itemStyle").getItemStyle())),fe.hoverStyle=me.getModel("emphasis.itemStyle").getItemStyle();var Se=me.getShallow("cursor");Se&&fe.attr("cursor",Se),ie(this,ce.getItemLayout(de),ge.isSelected(ce.getName(de)),ge.get("selectedOffset"),ge.get("animation"));var we=!he&&be==="transition";this._updateLabel(ce,de,we),this.highDownOnUpdate=ge.get("silent")?null:function(Ae,Te){var De=ge.isAnimationEnabled()&&me.get("hoverAnimation");Te==="emphasis"?(pe.ignore=pe.hoverIgnore,ve.ignore=ve.hoverIgnore,De&&(fe.stopAnimation(!0),fe.animateTo({shape:{r:ye.r+ge.get("hoverOffset")}},300,"elasticOut"))):(pe.ignore=pe.normalIgnore,ve.ignore=ve.normalIgnore,De&&(fe.stopAnimation(!0),fe.animateTo({shape:{r:ye.r}},300,"elasticOut")))},te.setHoverStyle(this)},se._updateLabel=function(ce,de,he){var fe=this.childAt(1),pe=this.childAt(2),ve=ce.hostModel,ge=ce.getItemModel(de),me=ce.getItemLayout(de),ye=me.label,Ae=ce.getItemVisual(de,"color");if(!ye||isNaN(ye.x)||isNaN(ye.y)){pe.ignore=pe.normalIgnore=pe.hoverIgnore=fe.ignore=fe.normalIgnore=fe.hoverIgnore=!0;return}var _e={points:ye.linePoints||[[ye.x,ye.y],[ye.x,ye.y],[ye.x,ye.y]]},be={x:ye.x,y:ye.y};he?(te.updateProps(fe,{shape:_e},ve,de),te.updateProps(pe,{style:be},ve,de)):(fe.attr({shape:_e}),pe.attr({style:be})),pe.attr({rotation:ye.rotation,origin:[ye.x,ye.y],z2:10});var xe=ge.getModel("label"),$e=ge.getModel("emphasis.label"),Se=ge.getModel("labelLine"),we=ge.getModel("emphasis.labelLine"),Ae=ce.getItemVisual(de,"color");te.setLabelStyle(pe.style,pe.hoverStyle={},xe,$e,{labelFetcher:ce.hostModel,labelDataIndex:de,defaultText:ye.text,autoColor:Ae,useInsideStyle:!!ye.inside},{textAlign:ye.textAlign,textVerticalAlign:ye.verticalAlign,opacity:ce.getItemVisual(de,"opacity")}),pe.ignore=pe.normalIgnore=!xe.get("show"),pe.hoverIgnore=!$e.get("show"),fe.ignore=fe.normalIgnore=!Se.get("show"),fe.hoverIgnore=!we.get("show"),fe.setStyle({stroke:Ae,opacity:ce.getItemVisual(de,"opacity")}),fe.setStyle(Se.getModel("lineStyle").getLineStyle()),fe.hoverStyle=we.getModel("lineStyle").getLineStyle();var Te=Se.get("smooth");Te&&Te===!0&&(Te=.4),fe.setShape({smooth:Te})},ee.inherits(oe,te.Group);var le=ae.extend({type:"pie",init:function(){var ce=new te.Group;this._sectorGroup=ce},render:function(ce,de,he,fe){if(!(fe&&fe.from===this.uid)){var pe=ce.getData(),ve=this._data,ge=this.group,me=de.get("animation"),ye=!ve,_e=ce.get("animationType"),be=ce.get("animationTypeUpdate"),xe=ee.curry(ne,this.uid,ce,me,he),$e=ce.get("selectedMode");if(pe.diff(ve).add(function(De){var Me=new oe(pe,De);ye&&_e!=="scale"&&Me.eachChild(function(Ie){Ie.stopAnimation(!0)}),$e&&Me.on("click",xe),pe.setItemGraphicEl(De,Me),ge.add(Me)}).update(function(De,Me){var Ie=ve.getItemGraphicEl(Me);!ye&&be!=="transition"&&Ie.eachChild(function(Ce){Ce.stopAnimation(!0)}),Ie.updateData(pe,De),Ie.off("click"),$e&&Ie.on("click",xe),ge.add(Ie),pe.setItemGraphicEl(De,Ie)}).remove(function(De){var Me=ve.getItemGraphicEl(De);ge.remove(Me)}).execute(),me&&pe.count()>0&&(ye?_e!=="scale":be!=="transition")){for(var Se=pe.getItemLayout(0),we=1;isNaN(Se.startAngle)&&we<pe.count();++we)Se=pe.getItemLayout(we);var Ae=Math.max(he.getWidth(),he.getHeight())/2,Te=ee.bind(ge.removeClipPath,ge);ge.setClipPath(this._createClipPath(Se.cx,Se.cy,Ae,Se.startAngle,Se.clockwise,Te,ce,ye))}else ge.removeClipPath();this._data=pe}},dispose:function(){},_createClipPath:function(ce,de,he,fe,pe,ve,ge,me){var ye=new te.Sector({shape:{cx:ce,cy:de,r0:0,r:he,startAngle:fe,endAngle:fe,clockwise:pe}}),_e=me?te.initProps:te.updateProps;return _e(ye,{shape:{endAngle:fe+(pe?1:-1)*Math.PI*2}},ge,ve),ye},containPoint:function(ce,de){var he=de.getData(),fe=he.getItemLayout(0);if(fe){var pe=ce[0]-fe.cx,ve=ce[1]-fe.cy,ge=Math.sqrt(pe*pe+ve*ve);return ge<=fe.r&&ge>=fe.r0}}}),ue=le;return PieView_1=ue,PieView_1}var createDataSelectAction,hasRequiredCreateDataSelectAction;function requireCreateDataSelectAction(){if(hasRequiredCreateDataSelectAction)return createDataSelectAction;hasRequiredCreateDataSelectAction=1;var ee=echarts$1,te=util$a;function ae(ne,ie){te.each(ie,function(oe){oe.update="updateView",ee.registerAction(oe,function(se,le){var ue={};return le.eachComponent({mainType:"series",subType:ne,query:se},function(ce){ce[oe.method]&&ce[oe.method](se.name,se.dataIndex);var de=ce.getData();de.each(function(he){var fe=de.getName(he);ue[fe]=ce.isSelected(fe)||!1})}),{name:se.name,selected:ue,seriesId:se.seriesId}})})}return createDataSelectAction=ae,createDataSelectAction}var dataColor,hasRequiredDataColor;function requireDataColor(){if(hasRequiredDataColor)return dataColor;hasRequiredDataColor=1;var ee=util$a,te=ee.createHashMap;function ae(ne){return{getTargetSeries:function(ie){var oe={},se=te();return ie.eachSeriesByType(ne,function(le){le.__paletteScope=oe,se.set(le.uid,le)}),se},reset:function(ie,oe){var se=ie.getRawData(),le={},ue=ie.getData();ue.each(function(ce){var de=ue.getRawIndex(ce);le[de]=ce}),se.each(function(ce){var de=le[ce],he=de!=null&&ue.getItemVisual(de,"color",!0),fe=de!=null&&ue.getItemVisual(de,"borderColor",!0),pe;if((!he||!fe)&&(pe=se.getItemModel(ce)),!he){var ve=pe.get("itemStyle.color")||ie.getColorFromPalette(se.getName(ce)||ce+"",ie.__paletteScope,se.count());de!=null&&ue.setItemVisual(de,"color",ve)}if(!fe){var ge=pe.get("itemStyle.borderColor");de!=null&&ue.setItemVisual(de,"borderColor",ge)}})}}}return dataColor=ae,dataColor}var labelLayout$1,hasRequiredLabelLayout;function requireLabelLayout(){if(hasRequiredLabelLayout)return labelLayout$1;hasRequiredLabelLayout=1;var ee=text,te=requireNumber(),ae=te.parsePercent,ne=Math.PI/180;function ie(ue,ce,de,he,fe,pe,ve,ge,me,ye){ue.sort(function(Ie,Ce){return Ie.y-Ce.y});function _e(Ie,Ce,Ee,Re){for(var ke=Ie;ke<Ce&&!(ue[ke].y+Ee>me+ve);ke++)if(ue[ke].y+=Ee,ke>Ie&&ke+1<Ce&&ue[ke+1].y>ue[ke].y+ue[ke].height){be(ke,Ee/2);return}be(Ce-1,Ee/2)}function be(Ie,Ce){for(var Ee=Ie;Ee>=0&&!(ue[Ee].y-Ce<me||(ue[Ee].y-=Ce,Ee>0&&ue[Ee].y>ue[Ee-1].y+ue[Ee-1].height));Ee--);}function xe(Ie,Ce,Ee,Re,ke,Be){for(var Ne=(Be>0,Ce?Number.MAX_VALUE:0),He=0,qe=Ie.length;He<qe;He++)if(Ie[He].labelAlignTo==="none"){var Oe=Math.abs(Ie[He].y-Re),ze=Ie[He].len,Ve=Ie[He].len2,Ge=Oe<ke+ze?Math.sqrt((ke+ze+Ve)*(ke+ze+Ve)-Oe*Oe):Math.abs(Ie[He].x-Ee);Ce&&Ge>=Ne&&(Ge=Ne-10),!Ce&&Ge<=Ne&&(Ge=Ne+10),Ie[He].x=Ee+Ge*Be,Ne=Ge}}for(var $e=0,Se,we=ue.length,Ae=[],Te=[],De=0;De<we;De++){if(ue[De].position==="outer"&&ue[De].labelAlignTo==="labelLine"){var Me=ue[De].x-ye;ue[De].linePoints[1][0]+=Me,ue[De].x=ye}Se=ue[De].y-$e,Se<0&&_e(De,we,-Se),$e=ue[De].y+ue[De].height}ve-$e<0&&be(we-1,$e-ve);for(var De=0;De<we;De++)ue[De].y>=de?Te.push(ue[De]):Ae.push(ue[De]);xe(Ae,!1,ce,de,he,fe),xe(Te,!0,ce,de,he,fe)}function oe(ue,ce,de,he,fe,pe,ve,ge){for(var me=[],ye=[],_e=Number.MAX_VALUE,be=-Number.MAX_VALUE,xe=0;xe<ue.length;xe++)se(ue[xe])||(ue[xe].x<ce?(_e=Math.min(_e,ue[xe].x),me.push(ue[xe])):(be=Math.max(be,ue[xe].x),ye.push(ue[xe])));ie(ye,ce,de,he,1,fe,pe,ve,ge,be),ie(me,ce,de,he,-1,fe,pe,ve,ge,_e);for(var xe=0;xe<ue.length;xe++){var $e=ue[xe];if(!se($e)){var Se=$e.linePoints;if(Se){var we=$e.labelAlignTo==="edge",Ae=$e.textRect.width,Te;we?$e.x<ce?Te=Se[2][0]-$e.labelDistance-ve-$e.labelMargin:Te=ve+fe-$e.labelMargin-Se[2][0]-$e.labelDistance:$e.x<ce?Te=$e.x-ve-$e.bleedMargin:Te=ve+fe-$e.x-$e.bleedMargin,Te<$e.textRect.width&&($e.text=ee.truncateText($e.text,Te,$e.font),$e.labelAlignTo==="edge"&&(Ae=ee.getWidth($e.text,$e.font)));var De=Se[1][0]-Se[2][0];we?$e.x<ce?Se[2][0]=ve+$e.labelMargin+Ae+$e.labelDistance:Se[2][0]=ve+fe-$e.labelMargin-Ae-$e.labelDistance:($e.x<ce?Se[2][0]=$e.x+$e.labelDistance:Se[2][0]=$e.x-$e.labelDistance,Se[1][0]=Se[2][0]+De),Se[1][1]=Se[2][1]=$e.y}}}}function se(ue){return ue.position==="center"}function le(ue,ce,de,he,fe,pe){var ve=ue.getData(),ge=[],me,ye,_e=!1,be=(ue.get("minShowLabelAngle")||0)*ne;ve.each(function(xe){var $e=ve.getItemLayout(xe),Se=ve.getItemModel(xe),we=Se.getModel("label"),Ae=we.get("position")||Se.get("emphasis.label.position"),Te=we.get("distanceToLabelLine"),De=we.get("alignTo"),Me=ae(we.get("margin"),de),Ie=we.get("bleedMargin"),Ce=we.getFont(),Ee=Se.getModel("labelLine"),Re=Ee.get("length");Re=ae(Re,de);var ke=Ee.get("length2");if(ke=ae(ke,de),!($e.angle<be)){var Be=($e.startAngle+$e.endAngle)/2,Ne=Math.cos(Be),He=Math.sin(Be),qe,Oe,ze,Ve;me=$e.cx,ye=$e.cy;var Ge=ue.getFormattedLabel(xe,"normal")||ve.getName(xe),We=ee.getBoundingRect(Ge,Ce,Ve,"top"),Ue=Ae==="inside"||Ae==="inner";if(Ae==="center")qe=$e.cx,Oe=$e.cy,Ve="center";else{var Ye=(Ue?($e.r+$e.r0)/2*Ne:$e.r*Ne)+me,Ze=(Ue?($e.r+$e.r0)/2*He:$e.r*He)+ye;if(qe=Ye+Ne*3,Oe=Ze+He*3,!Ue){var Xe=Ye+Ne*(Re+ce-$e.r),it=Ze+He*(Re+ce-$e.r),at=Xe+(Ne<0?-1:1)*ke,ut=it;De==="edge"?qe=Ne<0?fe+Me:fe+de-Me:qe=at+(Ne<0?-Te:Te),Oe=ut,ze=[[Ye,Ze],[Xe,it],[at,ut]]}Ve=Ue?"center":De==="edge"?Ne>0?"right":"left":Ne>0?"left":"right"}var dt,pt=we.get("rotate");typeof pt=="number"?dt=pt*(Math.PI/180):dt=pt?Ne<0?-Be+Math.PI:-Be:0,_e=!!dt,$e.label={x:qe,y:Oe,position:Ae,height:We.height,len:Re,len2:ke,linePoints:ze,textAlign:Ve,verticalAlign:"middle",rotation:dt,inside:Ue,labelDistance:Te,labelAlignTo:De,labelMargin:Me,bleedMargin:Ie,textRect:We,text:Ge,font:Ce},Ue||ge.push($e.label)}}),!_e&&ue.get("avoidLabelOverlap")&&oe(ge,me,ye,ce,de,he,fe,pe)}return labelLayout$1=le,labelLayout$1}var pieLayout$1,hasRequiredPieLayout;function requirePieLayout(){if(hasRequiredPieLayout)return pieLayout$1;hasRequiredPieLayout=1;var ee=requireNumber(),te=ee.parsePercent,ae=ee.linearMap,ne=layout$5,ie=requireLabelLayout(),oe=util$a,se=Math.PI*2,le=Math.PI/180;function ue(de,he){return ne.getLayoutRect(de.getBoxLayoutParams(),{width:he.getWidth(),height:he.getHeight()})}function ce(de,he,fe,pe){he.eachSeriesByType(de,function(ve){var ge=ve.getData(),me=ge.mapDimension("value"),ye=ue(ve,fe),_e=ve.get("center"),be=ve.get("radius");oe.isArray(be)||(be=[0,be]),oe.isArray(_e)||(_e=[_e,_e]);var xe=te(ye.width,fe.getWidth()),$e=te(ye.height,fe.getHeight()),Se=Math.min(xe,$e),we=te(_e[0],xe)+ye.x,Ae=te(_e[1],$e)+ye.y,Te=te(be[0],Se/2),De=te(be[1],Se/2),Me=-ve.get("startAngle")*le,Ie=ve.get("minAngle")*le,Ce=0;ge.each(me,function(We){!isNaN(We)&&Ce++});var Ee=ge.getSum(me),Re=Math.PI/(Ee||Ce)*2,ke=ve.get("clockwise"),Be=ve.get("roseType"),Ne=ve.get("stillShowZeroSum"),He=ge.getDataExtent(me);He[0]=0;var qe=se,Oe=0,ze=Me,Ve=ke?1:-1;if(ge.each(me,function(We,Ue){var Ye;if(isNaN(We)){ge.setItemLayout(Ue,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:ke,cx:we,cy:Ae,r0:Te,r:Be?NaN:De,viewRect:ye});return}Be!=="area"?Ye=Ee===0&&Ne?Re:We*Re:Ye=se/Ce,Ye<Ie?(Ye=Ie,qe-=Ie):Oe+=We;var Ze=ze+Ve*Ye;ge.setItemLayout(Ue,{angle:Ye,startAngle:ze,endAngle:Ze,clockwise:ke,cx:we,cy:Ae,r0:Te,r:Be?ae(We,He,[Te,De]):De,viewRect:ye}),ze=Ze}),qe<se&&Ce)if(qe<=.001){var Ge=se/Ce;ge.each(me,function(We,Ue){if(!isNaN(We)){var Ye=ge.getItemLayout(Ue);Ye.angle=Ge,Ye.startAngle=Me+Ve*Ue*Ge,Ye.endAngle=Me+Ve*(Ue+1)*Ge}})}else Re=qe/Oe,ze=Me,ge.each(me,function(We,Ue){if(!isNaN(We)){var Ye=ge.getItemLayout(Ue),Ze=Ye.angle===Ie?Ie:We*Re;Ye.startAngle=ze,Ye.endAngle=ze+Ve*Ze,ze+=Ve*Ze}});ie(ve,De,ye.width,ye.height,ye.x,ye.y)})}return pieLayout$1=ce,pieLayout$1}var dataFilter$2,hasRequiredDataFilter;function requireDataFilter(){if(hasRequiredDataFilter)return dataFilter$2;hasRequiredDataFilter=1;function ee(te){return{seriesType:te,reset:function(ae,ne){var ie=ne.findComponents({mainType:"legend"});if(!(!ie||!ie.length)){var oe=ae.getData();oe.filterSelf(function(se){for(var le=oe.getName(se),ue=0;ue<ie.length;ue++)if(!ie[ue].isSelected(le))return!1;return!0})}}}}return dataFilter$2=ee,dataFilter$2}var hasRequiredPie;function requirePie(){if(hasRequiredPie)return pie;hasRequiredPie=1;var ee=echarts$1,te=util$a;requirePieSeries(),requirePieView();var ae=requireCreateDataSelectAction(),ne=requireDataColor(),ie=requirePieLayout(),oe=requireDataFilter();return ae("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),ee.registerVisual(ne("pie")),ee.registerLayout(te.curry(ie,"pie")),ee.registerProcessor(oe("pie")),pie}var scatter={},ScatterSeries,hasRequiredScatterSeries;function requireScatterSeries(){if(hasRequiredScatterSeries)return ScatterSeries;hasRequiredScatterSeries=1;var ee=requireCreateListFromArray(),te=Series,ae=te.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(ne,ie){return ee(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:"point",getProgressive:function(){var ne=this.option.progressive;return ne??(this.option.large?5e3:this.get("progressive"))},getProgressiveThreshold:function(){var ne=this.option.progressiveThreshold;return ne??(this.option.large?1e4:this.get("progressiveThreshold"))},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},clip:!0}});return ScatterSeries=ae,ScatterSeries}var ScatterView$2={},LargeSymbolDraw_1,hasRequiredLargeSymbolDraw;function requireLargeSymbolDraw(){if(hasRequiredLargeSymbolDraw)return LargeSymbolDraw_1;hasRequiredLargeSymbolDraw=1;var ee=graphic$6,te=requireSymbol$1(),ae=te.createSymbol,ne=IncrementalDisplayable$3,ie=4,oe=ee.extendShape({shape:{points:null},symbolProxy:null,softClipShape:null,buildPath:function(ce,de){var he=de.points,fe=de.size,pe=this.symbolProxy,ve=pe.shape,ge=ce.getContext?ce.getContext():ce,me=ge&&fe[0]<ie;if(!me)for(var ye=0;ye<he.length;){var _e=he[ye++],be=he[ye++];isNaN(_e)||isNaN(be)||this.softClipShape&&!this.softClipShape.contain(_e,be)||(ve.x=_e-fe[0]/2,ve.y=be-fe[1]/2,ve.width=fe[0],ve.height=fe[1],pe.buildPath(ce,ve,!0))}},afterBrush:function(ce){var de=this.shape,he=de.points,fe=de.size,pe=fe[0]<ie;if(pe){this.setTransform(ce);for(var ve=0;ve<he.length;){var ge=he[ve++],me=he[ve++];isNaN(ge)||isNaN(me)||this.softClipShape&&!this.softClipShape.contain(ge,me)||ce.fillRect(ge-fe[0]/2,me-fe[1]/2,fe[0],fe[1])}this.restoreTransform(ce)}},findDataIndex:function(ce,de){for(var he=this.shape,fe=he.points,pe=he.size,ve=Math.max(pe[0],4),ge=Math.max(pe[1],4),me=fe.length/2-1;me>=0;me--){var ye=me*2,_e=fe[ye]-ve/2,be=fe[ye+1]-ge/2;if(ce>=_e&&de>=be&&ce<=_e+ve&&de<=be+ge)return me}return-1}});function se(){this.group=new ee.Group}var le=se.prototype;le.isPersistent=function(){return!this._incremental},le.updateData=function(ce,de){this.group.removeAll();var he=new oe({rectHover:!0,cursor:"default"});he.setShape({points:ce.getLayout("symbolPoints")}),this._setCommon(he,ce,!1,de),this.group.add(he),this._incremental=null},le.updateLayout=function(ce){if(!this._incremental){var de=ce.getLayout("symbolPoints");this.group.eachChild(function(he){if(he.startIndex!=null){var fe=(he.endIndex-he.startIndex)*2,pe=he.startIndex*4*2;de=new Float32Array(de.buffer,pe,fe)}he.setShape("points",de)})}},le.incrementalPrepareUpdate=function(ce){this.group.removeAll(),this._clearIncremental(),ce.count()>2e6?(this._incremental||(this._incremental=new ne({silent:!0})),this.group.add(this._incremental)):this._incremental=null},le.incrementalUpdate=function(ce,de,he){var fe;this._incremental?(fe=new oe,this._incremental.addDisplayable(fe,!0)):(fe=new oe({rectHover:!0,cursor:"default",startIndex:ce.start,endIndex:ce.end}),fe.incremental=!0,this.group.add(fe)),fe.setShape({points:de.getLayout("symbolPoints")}),this._setCommon(fe,de,!!this._incremental,he)},le._setCommon=function(ce,de,he,fe){var pe=de.hostModel;fe=fe||{};var ve=de.getVisual("symbolSize");ce.setShape("size",ve instanceof Array?ve:[ve,ve]),ce.softClipShape=fe.clipShape||null,ce.symbolProxy=ae(de.getVisual("symbol"),0,0,0,0),ce.setColor=ce.symbolProxy.setColor;var ge=ce.shape.size[0]<ie;ce.useStyle(pe.getModel("itemStyle").getItemStyle(ge?["color","shadowBlur","shadowColor"]:["color"]));var me=de.getVisual("color");me&&ce.setColor(me),he||(ce.seriesIndex=pe.seriesIndex,ce.on("mousemove",function(ye){ce.dataIndex=null;var _e=ce.findDataIndex(ye.offsetX,ye.offsetY);_e>=0&&(ce.dataIndex=_e+(ce.startIndex||0))}))},le.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},le._clearIncremental=function(){var ce=this._incremental;ce&&ce.clearDisplaybles()};var ue=se;return LargeSymbolDraw_1=ue,LargeSymbolDraw_1}var hasRequiredScatterView;function requireScatterView(){if(hasRequiredScatterView)return ScatterView$2;hasRequiredScatterView=1;var ee=echarts$1,te=requireSymbolDraw(),ae=requireLargeSymbolDraw(),ne=requirePoints();return ee.extendChartView({type:"scatter",render:function(ie,oe,se){var le=ie.getData(),ue=this._updateSymbolDraw(le,ie);ue.updateData(le,{clipShape:this._getClipShape(ie)}),this._finished=!0},incrementalPrepareRender:function(ie,oe,se){var le=ie.getData(),ue=this._updateSymbolDraw(le,ie);ue.incrementalPrepareUpdate(le),this._finished=!1},incrementalRender:function(ie,oe,se){this._symbolDraw.incrementalUpdate(ie,oe.getData(),{clipShape:this._getClipShape(oe)}),this._finished=ie.end===oe.getData().count()},updateTransform:function(ie,oe,se){var le=ie.getData();if(this.group.dirty(),!this._finished||le.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var ue=ne().reset(ie);ue.progress&&ue.progress({start:0,end:le.count()},le),this._symbolDraw.updateLayout(le)},_getClipShape:function(ie){var oe=ie.coordinateSystem,se=oe&&oe.getArea&&oe.getArea();return ie.get("clip",!0)?se:null},_updateSymbolDraw:function(ie,oe){var se=this._symbolDraw,le=oe.pipelineContext,ue=le.large;return(!se||ue!==this._isLargeDraw)&&(se&&se.remove(),se=this._symbolDraw=ue?new ae:new te,this._isLargeDraw=ue,this.group.removeAll()),this.group.add(se.group),se},remove:function(ie,oe){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),ScatterView$2}var hasRequiredScatter;function requireScatter(){if(hasRequiredScatter)return scatter;hasRequiredScatter=1;var ee=echarts$1;requireScatterSeries(),requireScatterView();var te=requireSymbol(),ae=requirePoints();return requireGridSimple(),ee.registerVisual(te("scatter","circle")),ee.registerLayout(ae("scatter")),scatter}var radar$1={},radar={},IndicatorAxis_1,hasRequiredIndicatorAxis;function requireIndicatorAxis(){if(hasRequiredIndicatorAxis)return IndicatorAxis_1;hasRequiredIndicatorAxis=1;var ee=util$a,te=requireAxis$1();function ae(ie,oe,se){te.call(this,ie,oe,se),this.type="value",this.angle=0,this.name="",this.model}ee.inherits(ae,te);var ne=ae;return IndicatorAxis_1=ne,IndicatorAxis_1}var Radar_1,hasRequiredRadar$2;function requireRadar$2(){if(hasRequiredRadar$2)return Radar_1;hasRequiredRadar$2=1;var ee=util$a,te=requireIndicatorAxis(),ae=requireInterval(),ne=requireNumber(),ie=requireAxisHelper(),oe=ie.getScaleExtent,se=ie.niceScaleExtent,le=CoordinateSystem$1,ue=requireLog();function ce(he,fe,pe){this._model=he,this.dimensions=[],this._indicatorAxes=ee.map(he.getIndicatorModels(),function(ve,ge){var me="indicator_"+ge,ye=new te(me,ve.get("axisType")==="log"?new ue:new ae);return ye.name=ve.get("name"),ye.model=ve,ve.axis=ye,this.dimensions.push(me),ye},this),this.resize(he,pe),this.cx,this.cy,this.r,this.r0,this.startAngle}ce.prototype.getIndicatorAxes=function(){return this._indicatorAxes},ce.prototype.dataToPoint=function(he,fe){var pe=this._indicatorAxes[fe];return this.coordToPoint(pe.dataToCoord(he),fe)},ce.prototype.coordToPoint=function(he,fe){var pe=this._indicatorAxes[fe],ve=pe.angle,ge=this.cx+he*Math.cos(ve),me=this.cy-he*Math.sin(ve);return[ge,me]},ce.prototype.pointToData=function(he){var fe=he[0]-this.cx,pe=he[1]-this.cy,ve=Math.sqrt(fe*fe+pe*pe);fe/=ve,pe/=ve;for(var ge=Math.atan2(-pe,fe),me=1/0,ye,_e=-1,be=0;be<this._indicatorAxes.length;be++){var xe=this._indicatorAxes[be],$e=Math.abs(ge-xe.angle);$e<me&&(ye=xe,_e=be,me=$e)}return[_e,+(ye&&ye.coordToData(ve))]},ce.prototype.resize=function(he,fe){var pe=he.get("center"),ve=fe.getWidth(),ge=fe.getHeight(),me=Math.min(ve,ge)/2;this.cx=ne.parsePercent(pe[0],ve),this.cy=ne.parsePercent(pe[1],ge),this.startAngle=he.get("startAngle")*Math.PI/180;var ye=he.get("radius");(typeof ye=="string"||typeof ye=="number")&&(ye=[0,ye]),this.r0=ne.parsePercent(ye[0],me),this.r=ne.parsePercent(ye[1],me),ee.each(this._indicatorAxes,function(_e,be){_e.setExtent(this.r0,this.r);var xe=this.startAngle+be*Math.PI*2/this._indicatorAxes.length;xe=Math.atan2(Math.sin(xe),Math.cos(xe)),_e.angle=xe},this)},ce.prototype.update=function(he,fe){var pe=this._indicatorAxes,ve=this._model;ee.each(pe,function(ye){ye.scale.setExtent(1/0,-1/0)}),he.eachSeriesByType("radar",function(ye,_e){if(!(ye.get("coordinateSystem")!=="radar"||he.getComponent("radar",ye.get("radarIndex"))!==ve)){var be=ye.getData();ee.each(pe,function(xe){xe.scale.unionExtentFromData(be,be.mapDimension(xe.dim))})}},this);var ge=ve.get("splitNumber");function me(ye){var _e=Math.pow(10,Math.floor(Math.log(ye)/Math.LN10)),be=ye/_e;return be===2?be=5:be*=2,be*_e}ee.each(pe,function(ye,_e){var be=oe(ye.scale,ye.model).extent;se(ye.scale,ye.model);var xe=ye.model,$e=ye.scale,Se=xe.getMin(),we=xe.getMax(),Ae=$e.getInterval();if(Se!=null&&we!=null)$e.setExtent(+Se,+we),$e.setInterval((we-Se)/ge);else if(Se!=null){var Te;do Te=Se+Ae*ge,$e.setExtent(+Se,Te),$e.setInterval(Ae),Ae=me(Ae);while(Te<be[1]&&isFinite(Te)&&isFinite(be[1]))}else if(we!=null){var De;do De=we-Ae*ge,$e.setExtent(De,+we),$e.setInterval(Ae),Ae=me(Ae);while(De>be[0]&&isFinite(De)&&isFinite(be[0]))}else{var Me=$e.getTicks().length-1;Me>ge&&(Ae=me(Ae));var Te=Math.ceil(be[1]/Ae)*Ae,De=ne.round(Te-Ae*ge);$e.setExtent(De,Te),$e.setInterval(Ae)}})},ce.dimensions=[],ce.create=function(he,fe){var pe=[];return he.eachComponent("radar",function(ve){var ge=new ce(ve,he,fe);pe.push(ge),ve.coordinateSystem=ge}),he.eachSeriesByType("radar",function(ve){ve.get("coordinateSystem")==="radar"&&(ve.coordinateSystem=pe[ve.get("radarIndex")||0])}),pe},le.register("radar",ce);var de=ce;return Radar_1=de,Radar_1}var RadarModel_1,hasRequiredRadarModel;function requireRadarModel(){if(hasRequiredRadarModel)return RadarModel_1;hasRequiredRadarModel=1;var ee=echarts$1,te=util$a,ae=requireAxisDefault(),ne=Model_1,ie=requireAxisModelCommonMixin(),oe=ae.valueAxis;function se(ce,de){return te.defaults({show:de},ce)}var le=ee.extendComponentModel({type:"radar",optionUpdated:function(){var ce=this.get("boundaryGap"),de=this.get("splitNumber"),he=this.get("scale"),fe=this.get("axisLine"),pe=this.get("axisTick"),ve=this.get("axisType"),ge=this.get("axisLabel"),me=this.get("name"),ye=this.get("name.show"),_e=this.get("name.formatter"),be=this.get("nameGap"),xe=this.get("triggerEvent"),$e=te.map(this.get("indicator")||[],function(Se){Se.max!=null&&Se.max>0&&!Se.min?Se.min=0:Se.min!=null&&Se.min<0&&!Se.max&&(Se.max=0);var we=me;if(Se.color!=null&&(we=te.defaults({color:Se.color},me)),Se=te.merge(te.clone(Se),{boundaryGap:ce,splitNumber:de,scale:he,axisLine:fe,axisTick:pe,axisType:ve,axisLabel:ge,name:Se.text,nameLocation:"end",nameGap:be,nameTextStyle:we,triggerEvent:xe},!1),ye||(Se.name=""),typeof _e=="string"){var Ae=Se.name;Se.name=_e.replace("{value}",Ae??"")}else typeof _e=="function"&&(Se.name=_e(Se.name,Se));var Te=te.extend(new ne(Se,null,this.ecModel),ie);return Te.mainType="radar",Te.componentIndex=this.componentIndex,Te},this);this.getIndicatorModels=function(){return $e}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:te.merge({lineStyle:{color:"#bbb"}},oe.axisLine),axisLabel:se(oe.axisLabel,!1),axisTick:se(oe.axisTick,!1),axisType:"interval",splitLine:se(oe.splitLine,!0),splitArea:se(oe.splitArea,!0),indicator:[]}}),ue=le;return RadarModel_1=ue,RadarModel_1}var RadarView$5,hasRequiredRadarView$1;function requireRadarView$1(){if(hasRequiredRadarView$1)return RadarView$5;hasRequiredRadarView$1=1;var ee=echarts$1,te=util$a,ae=requireAxisBuilder(),ne=graphic$6,ie=["axisLine","axisTickLabel","axisName"],oe=ee.extendComponentView({type:"radar",render:function(se,le,ue){var ce=this.group;ce.removeAll(),this._buildAxes(se),this._buildSplitLineAndArea(se)},_buildAxes:function(se){var le=se.coordinateSystem,ue=le.getIndicatorAxes(),ce=te.map(ue,function(de){var he=new ae(de.model,{position:[le.cx,le.cy],rotation:de.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return he});te.each(ce,function(de){te.each(ie,de.add,de),this.group.add(de.getGroup())},this)},_buildSplitLineAndArea:function(se){var le=se.coordinateSystem,ue=le.getIndicatorAxes();if(!ue.length)return;var ce=se.get("shape"),de=se.getModel("splitLine"),he=se.getModel("splitArea"),fe=de.getModel("lineStyle"),pe=he.getModel("areaStyle"),ve=de.get("show"),ge=he.get("show"),me=fe.get("color"),ye=pe.get("color");me=te.isArray(me)?me:[me],ye=te.isArray(ye)?ye:[ye];var _e=[],be=[];function xe(Be,Ne,He){var qe=He%Ne.length;return Be[qe]=Be[qe]||[],qe}if(ce==="circle")for(var $e=ue[0].getTicksCoords(),Se=le.cx,we=le.cy,Ae=0;Ae<$e.length;Ae++){if(ve){var Te=xe(_e,me,Ae);_e[Te].push(new ne.Circle({shape:{cx:Se,cy:we,r:$e[Ae].coord}}))}if(ge&&Ae<$e.length-1){var Te=xe(be,ye,Ae);be[Te].push(new ne.Ring({shape:{cx:Se,cy:we,r0:$e[Ae].coord,r:$e[Ae+1].coord}}))}}else for(var De,Me=te.map(ue,function(Be,Ne){var He=Be.getTicksCoords();return De=De==null?He.length-1:Math.min(He.length-1,De),te.map(He,function(qe){return le.coordToPoint(qe.coord,Ne)})}),Ie=[],Ae=0;Ae<=De;Ae++){for(var Ce=[],Ee=0;Ee<ue.length;Ee++)Ce.push(Me[Ee][Ae]);if(Ce[0]&&Ce.push(Ce[0].slice()),ve){var Te=xe(_e,me,Ae);_e[Te].push(new ne.Polyline({shape:{points:Ce}}))}if(ge&&Ie){var Te=xe(be,ye,Ae-1);be[Te].push(new ne.Polygon({shape:{points:Ce.concat(Ie)}}))}Ie=Ce.slice().reverse()}var Re=fe.getLineStyle(),ke=pe.getAreaStyle();te.each(be,function(Be,Ne){this.group.add(ne.mergePath(Be,{style:te.defaults({stroke:"none",fill:ye[Ne%ye.length]},ke),silent:!0}))},this),te.each(_e,function(Be,Ne){this.group.add(ne.mergePath(Be,{style:te.defaults({fill:"none",stroke:me[Ne%me.length]},Re),silent:!0}))},this)}});return RadarView$5=oe,RadarView$5}var hasRequiredRadar$1;function requireRadar$1(){return hasRequiredRadar$1||(hasRequiredRadar$1=1,requireRadar$2(),requireRadarModel(),requireRadarView$1()),radar}var RadarSeries_1,hasRequiredRadarSeries;function requireRadarSeries(){if(hasRequiredRadarSeries)return RadarSeries_1;hasRequiredRadarSeries=1;var ee=Series,te=requireCreateListSimply(),ae=util$a,ne=format$6,ie=ne.encodeHTML,oe=requireLegendVisualProvider(),se=ee.extend({type:"series.radar",dependencies:["radar"],init:function(ue){se.superApply(this,"init",arguments),this.legendVisualProvider=new oe(ae.bind(this.getData,this),ae.bind(this.getRawData,this))},getInitialData:function(ue,ce){return te(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(ue,ce,de,he){var fe=this.getData(),pe=this.coordinateSystem,ve=pe.getIndicatorAxes(),ge=this.getData().getName(ue),me=he==="html"?"<br/>":`
-`;return ie(ge===""?this.name:ge)+me+ae.map(ve,function(ye,_e){var be=fe.get(fe.mapDimension(ye.dim),ue);return ie(ye.name+" : "+be)}).join(me)},getTooltipPosition:function(ue){if(ue!=null){for(var ce=this.getData(),de=this.coordinateSystem,he=ce.getValues(ae.map(de.dimensions,function(ge){return ce.mapDimension(ge)}),ue,!0),fe=0,pe=he.length;fe<pe;fe++)if(!isNaN(he[fe])){var ve=de.getIndicatorAxes();return de.coordToPoint(ve[fe].dataToCoord(he[fe]),fe)}}},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}}),le=se;return RadarSeries_1=le,RadarSeries_1}var RadarView$4,hasRequiredRadarView;function requireRadarView(){if(hasRequiredRadarView)return RadarView$4;hasRequiredRadarView=1;var ee=echarts$1,te=graphic$6,ae=util$a,ne=requireSymbol$1();function ie(se){return ae.isArray(se)||(se=[+se,+se]),se}var oe=ee.extendChartView({type:"radar",render:function(se,le,ue){var ce=se.coordinateSystem,de=this.group,he=se.getData(),fe=this._data;function pe(me,ye){var _e=me.getItemVisual(ye,"symbol")||"circle",be=me.getItemVisual(ye,"color");if(_e!=="none"){var xe=ie(me.getItemVisual(ye,"symbolSize")),$e=ne.createSymbol(_e,-1,-1,2,2,be),Se=me.getItemVisual(ye,"symbolRotate")||0;return $e.attr({style:{strokeNoScale:!0},z2:100,scale:[xe[0]/2,xe[1]/2],rotation:Se*Math.PI/180||0}),$e}}function ve(me,ye,_e,be,xe,$e){_e.removeAll();for(var Se=0;Se<ye.length-1;Se++){var we=pe(be,xe);we&&(we.__dimIdx=Se,me[Se]?(we.attr("position",me[Se]),te[$e?"initProps":"updateProps"](we,{position:ye[Se]},se,xe)):we.attr("position",ye[Se]),_e.add(we))}}function ge(me){return ae.map(me,function(ye){return[ce.cx,ce.cy]})}he.diff(fe).add(function(me){var ye=he.getItemLayout(me);if(ye){var _e=new te.Polygon,be=new te.Polyline,xe={shape:{points:ye}};_e.shape.points=ge(ye),be.shape.points=ge(ye),te.initProps(_e,xe,se,me),te.initProps(be,xe,se,me);var $e=new te.Group,Se=new te.Group;$e.add(be),$e.add(_e),$e.add(Se),ve(be.shape.points,ye,Se,he,me,!0),he.setItemGraphicEl(me,$e)}}).update(function(me,ye){var _e=fe.getItemGraphicEl(ye),be=_e.childAt(0),xe=_e.childAt(1),$e=_e.childAt(2),Se={shape:{points:he.getItemLayout(me)}};Se.shape.points&&(ve(be.shape.points,Se.shape.points,$e,he,me,!1),te.updateProps(be,Se,se),te.updateProps(xe,Se,se),he.setItemGraphicEl(me,_e))}).remove(function(me){de.remove(fe.getItemGraphicEl(me))}).execute(),he.eachItemGraphicEl(function(me,ye){var _e=he.getItemModel(ye),be=me.childAt(0),xe=me.childAt(1),$e=me.childAt(2),Se=he.getItemVisual(ye,"color");de.add(me),be.useStyle(ae.defaults(_e.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:Se})),be.hoverStyle=_e.getModel("emphasis.lineStyle").getLineStyle();var we=_e.getModel("areaStyle"),Ae=_e.getModel("emphasis.areaStyle"),Te=we.isEmpty()&&we.parentModel.isEmpty(),De=Ae.isEmpty()&&Ae.parentModel.isEmpty();De=De&&Te,xe.ignore=Te,xe.useStyle(ae.defaults(we.getAreaStyle(),{fill:Se,opacity:.7})),xe.hoverStyle=Ae.getAreaStyle();var Me=_e.getModel("itemStyle").getItemStyle(["color"]),Ie=_e.getModel("emphasis.itemStyle").getItemStyle(),Ce=_e.getModel("label"),Ee=_e.getModel("emphasis.label");$e.eachChild(function(Re){Re.setStyle(Me),Re.hoverStyle=ae.clone(Ie);var ke=he.get(he.dimensions[Re.__dimIdx],ye);(ke==null||isNaN(ke))&&(ke=""),te.setLabelStyle(Re.style,Re.hoverStyle,Ce,Ee,{labelFetcher:he.hostModel,labelDataIndex:ye,labelDimIndex:Re.__dimIdx,defaultText:ke,autoColor:Se,isRectText:!0})}),me.highDownOnUpdate=function(Re,ke){xe.attr("ignore",ke==="emphasis"?De:Te)},te.setHoverStyle(me)}),this._data=he},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});return RadarView$4=oe,RadarView$4}var radarLayout$1,hasRequiredRadarLayout;function requireRadarLayout(){if(hasRequiredRadarLayout)return radarLayout$1;hasRequiredRadarLayout=1;var ee=util$a;function te(ie){ie.eachSeriesByType("radar",function(oe){var se=oe.getData(),le=[],ue=oe.coordinateSystem;if(ue){var ce=ue.getIndicatorAxes();ee.each(ce,function(de,he){se.each(se.mapDimension(ce[he].dim),function(fe,pe){le[pe]=le[pe]||[];var ve=ue.dataToPoint(fe,he);le[pe][he]=ae(ve)?ve:ne(ue)})}),se.each(function(de){var he=ee.find(le[de],function(fe){return ae(fe)})||ne(ue);le[de].push(he.slice()),se.setItemLayout(de,le[de])})}})}function ae(ie){return!isNaN(ie[0])&&!isNaN(ie[1])}function ne(ie){return[ie.cx,ie.cy]}return radarLayout$1=te,radarLayout$1}var backwardCompat$1,hasRequiredBackwardCompat$1;function requireBackwardCompat$1(){if(hasRequiredBackwardCompat$1)return backwardCompat$1;hasRequiredBackwardCompat$1=1;var ee=util$a;function te(ae){var ne=ae.polar;if(ne){ee.isArray(ne)||(ne=[ne]);var ie=[];ee.each(ne,function(oe,se){oe.indicator?(oe.type&&!oe.shape&&(oe.shape=oe.type),ae.radar=ae.radar||[],ee.isArray(ae.radar)||(ae.radar=[ae.radar]),ae.radar.push(oe)):ie.push(oe)}),ae.polar=ie}ee.each(ae.series,function(oe){oe&&oe.type==="radar"&&oe.polarIndex&&(oe.radarIndex=oe.polarIndex)})}return backwardCompat$1=te,backwardCompat$1}var hasRequiredRadar;function requireRadar(){if(hasRequiredRadar)return radar$1;hasRequiredRadar=1;var ee=echarts$1;requireRadar$1(),requireRadarSeries(),requireRadarView();var te=requireDataColor(),ae=requireSymbol(),ne=requireRadarLayout(),ie=requireDataFilter(),oe=requireBackwardCompat$1();return ee.registerVisual(te("radar")),ee.registerVisual(ae("radar","circle")),ee.registerLayout(ne),ee.registerProcessor(ie("radar")),ee.registerPreprocessor(oe),radar$1}var map$2={},nanhai,hasRequiredNanhai;function requireNanhai(){if(hasRequiredNanhai)return nanhai;hasRequiredNanhai=1;for(var ee=util$a,te=requireRegion(),ae=[126,25],ne=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],ie=0;ie<ne.length;ie++)for(var oe=0;oe<ne[ie].length;oe++)ne[ie][oe][0]/=10.5,ne[ie][oe][1]/=-10.5/.75,ne[ie][oe][0]+=ae[0],ne[ie][oe][1]+=ae[1];function se(le,ue){le==="china"&&ue.push(new te("南海诸岛",ee.map(ne,function(ce){return{type:"polygon",exterior:ce}}),ae))}return nanhai=se,nanhai}var textCoord,hasRequiredTextCoord;function requireTextCoord(){if(hasRequiredTextCoord)return textCoord;hasRequiredTextCoord=1;var ee={南海诸岛:[32,80],广东:[0,-10],香港:[10,5],澳门:[-10,10],天津:[5,5]};function te(ae,ne){if(ae==="china"){var ie=ee[ne.name];if(ie){var oe=ne.center;oe[0]+=ie[0]/10.5,oe[1]+=-ie[1]/(10.5/.75)}}}return textCoord=te,textCoord}var geoCoord$1,hasRequiredGeoCoord;function requireGeoCoord(){if(hasRequiredGeoCoord)return geoCoord$1;hasRequiredGeoCoord=1;var ee={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function te(ae,ne){if(ae==="world"){var ie=ee[ne.name];if(ie){var oe=ne.center;oe[0]=ie[0],oe[1]=ie[1]}}}return geoCoord$1=te,geoCoord$1}var diaoyuIsland,hasRequiredDiaoyuIsland;function requireDiaoyuIsland(){if(hasRequiredDiaoyuIsland)return diaoyuIsland;hasRequiredDiaoyuIsland=1;var ee=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function te(ae,ne){ae==="china"&&ne.name==="台湾"&&ne.geometries.push({type:"polygon",exterior:ee[0]})}return diaoyuIsland=te,diaoyuIsland}var geoJSONLoader,hasRequiredGeoJSONLoader;function requireGeoJSONLoader(){if(hasRequiredGeoJSONLoader)return geoJSONLoader;hasRequiredGeoJSONLoader=1;var ee=util$a,te=ee.each,ae=requireParseGeoJson(),ne=model,ie=ne.makeInner,oe=requireNanhai(),se=requireTextCoord(),le=requireGeoCoord(),ue=requireDiaoyuIsland(),ce=ie(),de={load:function(fe,pe,ve){var ge=ce(pe).parsed;if(ge)return ge;var me=pe.specialAreas||{},ye=pe.geoJSON,_e;try{_e=ye?ae(ye,ve):[]}catch(be){throw new Error(`Invalid geoJson format
-`+be.message)}return oe(fe,_e),te(_e,function(be){var xe=be.name;se(fe,be),le(fe,be),ue(fe,be);var $e=me[xe];$e&&be.transformTo($e.left,$e.top,$e.width,$e.height)}),ce(pe).parsed={regions:_e,boundingRect:he(_e)}}};function he(fe){for(var pe,ve=0;ve<fe.length;ve++){var ge=fe[ve].getBoundingRect();pe=pe||ge.clone(),pe.union(ge)}return pe}return geoJSONLoader=de,geoJSONLoader}var geoSVGLoader,hasRequiredGeoSVGLoader;function requireGeoSVGLoader(){if(hasRequiredGeoSVGLoader)return geoSVGLoader;hasRequiredGeoSVGLoader=1;var ee=parseSVG$2,te=ee.parseSVG,ae=ee.makeViewBoxTransform,ne=Group_1,ie=Rect$6,oe=util$a,se=oe.assert,le=oe.createHashMap,ue=BoundingRect_1,ce=model,de=ce.makeInner,he=de(),fe={load:function(ve,ge){var me=he(ge).originRoot;if(me)return{root:me,boundingRect:he(ge).boundingRect};var ye=pe(ge);return he(ge).originRoot=ye.root,he(ge).boundingRect=ye.boundingRect,ye},makeGraphic:function(ve,ge,me){var ye=he(ge),_e=ye.rootMap||(ye.rootMap=le()),be=_e.get(me);if(be)return be;var xe=ye.originRoot,$e=ye.boundingRect;return ye.originRootHostKey?be=pe(ge,$e).root:(ye.originRootHostKey=me,be=xe),_e.set(me,be)},removeGraphic:function(ve,ge,me){var ye=he(ge),_e=ye.rootMap;_e&&_e.removeKey(me),me===ye.originRootHostKey&&(ye.originRootHostKey=null)}};function pe(ve,ge){var me=ve.svgXML,ye,_e;try{ye=me&&te(me,{ignoreViewBox:!0,ignoreRootClip:!0})||{},_e=ye.root,se(_e!=null)}catch(Ae){throw new Error(`Invalid svg format
-`+Ae.message)}var be=ye.width,xe=ye.height,$e=ye.viewBoxRect;if(ge||(ge=be==null||xe==null?_e.getBoundingRect():new ue(0,0,0,0),be!=null&&(ge.width=be),xe!=null&&(ge.height=xe)),$e){var Se=ae($e,ge.width,ge.height),we=_e;_e=new ne,_e.add(we),we.scale=Se.scale,we.position=Se.position}return _e.setClipPath(new ie({shape:ge.plain()})),{root:_e,boundingRect:ge}}return geoSVGLoader=fe,geoSVGLoader}var geoSourceManager$1,hasRequiredGeoSourceManager;function requireGeoSourceManager(){if(hasRequiredGeoSourceManager)return geoSourceManager$1;hasRequiredGeoSourceManager=1;var ee=util$a,te=ee.each,ae=ee.createHashMap,ne=mapDataStorage,ie=requireGeoJSONLoader(),oe=requireGeoSVGLoader(),se=BoundingRect_1,le={geoJSON:ie,svg:oe},ue={load:function(he,fe,pe){var ve=[],ge=ae(),me=ae(),ye,_e=de(he);return te(_e,function(be){var xe=le[be.type].load(he,be,pe);te(xe.regions,function(Se){var we=Se.name;fe&&fe.hasOwnProperty(we)&&(Se=Se.cloneShallow(we=fe[we])),ve.push(Se),ge.set(we,Se),me.set(we,Se.center)});var $e=xe.boundingRect;$e&&(ye?ye.union($e):ye=$e.clone())}),{regions:ve,regionsMap:ge,nameCoordMap:me,boundingRect:ye||new se(0,0,0,0)}},makeGraphic:ce("makeGraphic"),removeGraphic:ce("removeGraphic")};function ce(he){return function(fe,pe){var ve=de(fe),ge=[];return te(ve,function(me){var ye=le[me.type][he];ye&&ge.push(ye(fe,me,pe))}),ge}}function de(he){var fe=ne.retrieveMap(he)||[];return fe}return geoSourceManager$1=ue,geoSourceManager$1}var MapSeries_1,hasRequiredMapSeries;function requireMapSeries(){if(hasRequiredMapSeries)return MapSeries_1;hasRequiredMapSeries=1;var ee=util$a,te=requireCreateListSimply(),ae=Series,ne=format$6,ie=ne.encodeHTML,oe=ne.addCommas,se=requireSelectableMixin(),le=dataProvider,ue=le.retrieveRawAttr,ce=requireGeoSourceManager(),de=requireSourceHelper(),he=de.makeSeriesEncodeForNameBased,fe=ae.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],getInitialData:function(ve){for(var ge=te(this,{coordDimensions:["value"],encodeDefaulter:ee.curry(he,this)}),me=ge.mapDimension("value"),ye=ee.createHashMap(),_e=[],be=[],xe=0,$e=ge.count();xe<$e;xe++){var Se=ge.getName(xe);ye.set(Se,!0),_e.push({name:Se,value:ge.get(me,xe),selected:ue(ge,xe,"selected")})}var we=ce.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);return ee.each(we.regions,function(Ae){var Te=Ae.name;ye.get(Te)||(_e.push({name:Te}),be.push(Te))}),this.updateSelectedMap(_e),ge.appendValues([],be),ge},getHostGeoModel:function(){var ve=this.option.geoIndex;return ve!=null?this.dependentModels.geo[ve]:null},getMapType:function(){return(this.getHostGeoModel()||this).option.map},getRawValue:function(ve){var ge=this.getData();return ge.get(ge.mapDimension("value"),ve)},getRegionModel:function(ve){var ge=this.getData();return ge.getItemModel(ge.indexOfName(ve))},formatTooltip:function(ve,ge,me,ye){for(var _e=this.getData(),be=oe(this.getRawValue(ve)),xe=_e.getName(ve),$e=this.seriesGroup,Se=[],we=0;we<$e.length;we++){var Ae=$e[we].originalData.indexOfName(xe),Te=_e.mapDimension("value");isNaN($e[we].originalData.get(Te,Ae))||Se.push(ie($e[we].name))}var De=ye==="html"?"<br/>":`
-`;return Se.join(", ")+De+ie(xe+" : "+be)},getTooltipPosition:function(ve){if(ve!=null){var ge=this.getData().getName(ve),me=this.coordinateSystem,ye=me.getRegion(ge);return ye&&me.dataToPoint(ye.center)}},setZoom:function(ve){this.option.zoom=ve},setCenter:function(ve){this.option.center=ve},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},nameProperty:"name"}});ee.mixin(fe,se);var pe=fe;return MapSeries_1=pe,MapSeries_1}var interactionMutex={},hasRequiredInteractionMutex;function requireInteractionMutex(){if(hasRequiredInteractionMutex)return interactionMutex;hasRequiredInteractionMutex=1;var ee=echarts$1,te="\0_ec_interaction_mutex";function ae(se,le,ue){var ce=oe(se);ce[le]=ue}function ne(se,le,ue){var ce=oe(se),de=ce[le];de===ue&&(ce[le]=null)}function ie(se,le){return!!oe(se)[le]}function oe(se){return se[te]||(se[te]={})}return ee.registerAction({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),interactionMutex.take=ae,interactionMutex.release=ne,interactionMutex.isTaken=ie,interactionMutex}var RoamController_1,hasRequiredRoamController;function requireRoamController(){if(hasRequiredRoamController)return RoamController_1;hasRequiredRoamController=1;var ee=util$a,te=Eventful_1,ae=event$1,ne=requireInteractionMutex();function ie(ve){this.pointerChecker,this._zr=ve,this._opt={};var ge=ee.bind,me=ge(oe,this),ye=ge(se,this),_e=ge(le,this),be=ge(ue,this),xe=ge(ce,this);te.call(this),this.setPointerChecker=function($e){this.pointerChecker=$e},this.enable=function($e,Se){this.disable(),this._opt=ee.defaults(ee.clone(Se)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),$e==null&&($e=!0),($e===!0||$e==="move"||$e==="pan")&&(ve.on("mousedown",me),ve.on("mousemove",ye),ve.on("mouseup",_e)),($e===!0||$e==="scale"||$e==="zoom")&&(ve.on("mousewheel",be),ve.on("pinch",xe))},this.disable=function(){ve.off("mousedown",me),ve.off("mousemove",ye),ve.off("mouseup",_e),ve.off("mousewheel",be),ve.off("pinch",xe)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}ee.mixin(ie,te);function oe(ve){if(!(ae.isMiddleOrRightButtonOnMouseUpDown(ve)||ve.target&&ve.target.draggable)){var ge=ve.offsetX,me=ve.offsetY;this.pointerChecker&&this.pointerChecker(ve,ge,me)&&(this._x=ge,this._y=me,this._dragging=!0)}}function se(ve){if(!(!this._dragging||!fe("moveOnMouseMove",ve,this._opt)||ve.gestureEvent==="pinch"||ne.isTaken(this._zr,"globalPan"))){var ge=ve.offsetX,me=ve.offsetY,ye=this._x,_e=this._y,be=ge-ye,xe=me-_e;this._x=ge,this._y=me,this._opt.preventDefaultMouseMove&&ae.stop(ve.event),he(this,"pan","moveOnMouseMove",ve,{dx:be,dy:xe,oldX:ye,oldY:_e,newX:ge,newY:me})}}function le(ve){ae.isMiddleOrRightButtonOnMouseUpDown(ve)||(this._dragging=!1)}function ue(ve){var ge=fe("zoomOnMouseWheel",ve,this._opt),me=fe("moveOnMouseWheel",ve,this._opt),ye=ve.wheelDelta,_e=Math.abs(ye),be=ve.offsetX,xe=ve.offsetY;if(!(ye===0||!ge&&!me)){if(ge){var $e=_e>3?1.4:_e>1?1.2:1.1,Se=ye>0?$e:1/$e;de(this,"zoom","zoomOnMouseWheel",ve,{scale:Se,originX:be,originY:xe})}if(me){var we=Math.abs(ye),Ae=(ye>0?1:-1)*(we>3?.4:we>1?.15:.05);de(this,"scrollMove","moveOnMouseWheel",ve,{scrollDelta:Ae,originX:be,originY:xe})}}}function ce(ve){if(!ne.isTaken(this._zr,"globalPan")){var ge=ve.pinchScale>1?1.1:1/1.1;de(this,"zoom",null,ve,{scale:ge,originX:ve.pinchX,originY:ve.pinchY})}}function de(ve,ge,me,ye,_e){ve.pointerChecker&&ve.pointerChecker(ye,_e.originX,_e.originY)&&(ae.stop(ye.event),he(ve,ge,me,ye,_e))}function he(ve,ge,me,ye,_e){_e.isAvailableBehavior=ee.bind(fe,null,me,ye),ve.trigger(ge,_e)}function fe(ve,ge,me){var ye=me[ve];return!ve||ye&&(!ee.isString(ye)||ge.event[ye+"Key"])}var pe=ie;return RoamController_1=pe,RoamController_1}var roamHelper$1={},hasRequiredRoamHelper$1;function requireRoamHelper$1(){if(hasRequiredRoamHelper$1)return roamHelper$1;hasRequiredRoamHelper$1=1;function ee(ae,ne,ie){var oe=ae.target,se=oe.position;se[0]+=ne,se[1]+=ie,oe.dirty()}function te(ae,ne,ie,oe){var se=ae.target,le=ae.zoomLimit,ue=se.position,ce=se.scale,de=ae.zoom=ae.zoom||1;if(de*=ne,le){var he=le.min||0,fe=le.max||1/0;de=Math.max(Math.min(fe,de),he)}var pe=de/ae.zoom;ae.zoom=de,ue[0]-=(ie-ue[0])*(pe-1),ue[1]-=(oe-ue[1])*(pe-1),ce[0]*=pe,ce[1]*=pe,se.dirty()}return roamHelper$1.updateViewOnPan=ee,roamHelper$1.updateViewOnZoom=te,roamHelper$1}var cursorHelper={},hasRequiredCursorHelper;function requireCursorHelper(){if(hasRequiredCursorHelper)return cursorHelper;hasRequiredCursorHelper=1;var ee={axisPointer:1,tooltip:1,brush:1};function te(ae,ne,ie){var oe=ne.getComponentByElement(ae.topTarget),se=oe&&oe.coordinateSystem;return oe&&oe!==ie&&!ee[oe.mainType]&&se&&se.model!==ie}return cursorHelper.onIrrelevantElement=te,cursorHelper}var MapDraw_1,hasRequiredMapDraw;function requireMapDraw(){if(hasRequiredMapDraw)return MapDraw_1;hasRequiredMapDraw=1;var ee=util$a,te=requireRoamController(),ae=requireRoamHelper$1(),ne=requireCursorHelper(),ie=ne.onIrrelevantElement,oe=graphic$6,se=requireGeoSourceManager(),le=component,ue=le.getUID,ce=Transformable_1;function de(ge){var me=ge.getItemStyle(),ye=ge.get("areaColor");return ye!=null&&(me.fill=ye),me}function he(ge,me,ye,_e,be){ye.off("click"),ye.off("mousedown"),me.get("selectedMode")&&(ye.on("mousedown",function(){ge._mouseDownFlag=!0}),ye.on("click",function(xe){if(ge._mouseDownFlag){ge._mouseDownFlag=!1;for(var $e=xe.target;!$e.__regions;)$e=$e.parent;if($e){var Se={type:(me.mainType==="geo"?"geo":"map")+"ToggleSelect",batch:ee.map($e.__regions,function(we){return{name:we.name,from:be.uid}})};Se[me.mainType+"Id"]=me.id,_e.dispatchAction(Se),fe(me,ye)}}}))}function fe(ge,me){me.eachChild(function(ye){ee.each(ye.__regions,function(_e){ye.trigger(ge.isSelected(_e.name)?"emphasis":"normal")})})}function pe(ge,me){var ye=new oe.Group;this.uid=ue("ec_map_draw"),this._controller=new te(ge.getZr()),this._controllerHost={target:me?ye:null},this.group=ye,this._updateGroup=me,this._mouseDownFlag,this._mapName,this._initialized,ye.add(this._regionsGroup=new oe.Group),ye.add(this._backgroundGroup=new oe.Group)}pe.prototype={constructor:pe,draw:function(ge,me,ye,_e,be){var xe=ge.mainType==="geo",$e=ge.getData&&ge.getData();xe&&me.eachComponent({mainType:"series",subType:"map"},function(Oe){!$e&&Oe.getHostGeoModel()===ge&&($e=Oe.getData())});var Se=ge.coordinateSystem;this._updateBackground(Se);var we=this._regionsGroup,Ae=this.group,Te=Se.getTransformInfo(),De=!we.childAt(0)||be,Me;if(De)Ae.transform=Te.roamTransform,Ae.decomposeTransform(),Ae.dirty();else{var Ie=new ce;Ie.transform=Te.roamTransform,Ie.decomposeTransform();var Ce={scale:Ie.scale,position:Ie.position};Me=Ie.scale,oe.updateProps(Ae,Ce,ge)}var Ee=Te.rawScale,Re=Te.rawPosition;we.removeAll();var ke=["itemStyle"],Be=["emphasis","itemStyle"],Ne=["label"],He=["emphasis","label"],qe=ee.createHashMap();ee.each(Se.regions,function(Oe){var ze=qe.get(Oe.name)||qe.set(Oe.name,new oe.Group),Ve=new oe.CompoundPath({segmentIgnoreThreshold:1,shape:{paths:[]}});ze.add(Ve);var Ge=ge.getRegionModel(Oe.name)||ge,We=Ge.getModel(ke),Ue=Ge.getModel(Be),Ye=de(We),Ze=de(Ue),Xe=Ge.getModel(Ne),it=Ge.getModel(He),at;if($e){at=$e.indexOfName(Oe.name);var ut=$e.getItemVisual(at,"color",!0);ut&&(Ye.fill=ut)}var dt=function(Ot){return[Ot[0]*Ee[0]+Re[0],Ot[1]*Ee[1]+Re[1]]};ee.each(Oe.geometries,function(Ot){if(Ot.type==="polygon"){for(var ct=[],vt=0;vt<Ot.exterior.length;++vt)ct.push(dt(Ot.exterior[vt]));Ve.shape.paths.push(new oe.Polygon({segmentIgnoreThreshold:1,shape:{points:ct}}));for(var vt=0;vt<(Ot.interiors?Ot.interiors.length:0);++vt){for(var yt=Ot.interiors[vt],ct=[],Dt=0;Dt<yt.length;++Dt)ct.push(dt(yt[Dt]));Ve.shape.paths.push(new oe.Polygon({segmentIgnoreThreshold:1,shape:{points:ct}}))}}}),Ve.setStyle(Ye),Ve.style.strokeNoScale=!0,Ve.culling=!0;var pt=Xe.get("show"),gt=it.get("show"),bt=$e&&isNaN($e.get($e.mapDimension("value"),at)),Tt=$e&&$e.getItemLayout(at);if(xe||bt&&(pt||gt)||Tt&&Tt.showLabel){var At=xe?Oe.name:at,Mt;(!$e||at>=0)&&(Mt=ge);var qt=new oe.Text({position:dt(Oe.center.slice()),scale:[1/Ae.scale[0],1/Ae.scale[1]],z2:10,silent:!0});if(oe.setLabelStyle(qt.style,qt.hoverStyle={},Xe,it,{labelFetcher:Mt,labelDataIndex:At,defaultText:Oe.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),!De){var St=[1/Me[0],1/Me[1]];oe.updateProps(qt,{scale:St},ge)}ze.add(qt)}if($e)$e.setItemGraphicEl(at,ze);else{var Ge=ge.getRegionModel(Oe.name);Ve.eventData={componentType:"geo",componentIndex:ge.componentIndex,geoIndex:ge.componentIndex,name:Oe.name,region:Ge&&Ge.option||{}}}var Ct=ze.__regions||(ze.__regions=[]);Ct.push(Oe),ze.highDownSilentOnTouch=!!ge.get("selectedMode"),oe.setHoverStyle(ze,Ze),we.add(ze)}),this._updateController(ge,me,ye),he(this,ge,we,ye,_e),fe(ge,we)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&se.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(ge){var me=ge.map;this._mapName!==me&&ee.each(se.makeGraphic(me,this.uid),function(ye){this._backgroundGroup.add(ye)},this),this._mapName=me},_updateController:function(ge,me,ye){var _e=ge.coordinateSystem,be=this._controller,xe=this._controllerHost;xe.zoomLimit=ge.get("scaleLimit"),xe.zoom=_e.getZoom(),be.enable(ge.get("roam")||!1);var $e=ge.mainType;function Se(){var we={type:"geoRoam",componentType:$e};return we[$e+"Id"]=ge.id,we}be.off("pan").on("pan",function(we){this._mouseDownFlag=!1,ae.updateViewOnPan(xe,we.dx,we.dy),ye.dispatchAction(ee.extend(Se(),{dx:we.dx,dy:we.dy}))},this),be.off("zoom").on("zoom",function(we){if(this._mouseDownFlag=!1,ae.updateViewOnZoom(xe,we.scale,we.originX,we.originY),ye.dispatchAction(ee.extend(Se(),{zoom:we.scale,originX:we.originX,originY:we.originY})),this._updateGroup){var Ae=this.group.scale;this._regionsGroup.traverse(function(Te){Te.type==="text"&&Te.attr("scale",[1/Ae[0],1/Ae[1]])})}},this),be.setPointerChecker(function(we,Ae,Te){return _e.getViewRectAfterRoam().contain(Ae,Te)&&!ie(we,ye,ge)})}};var ve=pe;return MapDraw_1=ve,MapDraw_1}var MapView$2,hasRequiredMapView;function requireMapView(){if(hasRequiredMapView)return MapView$2;hasRequiredMapView=1;var ee=echarts$1,te=util$a,ae=graphic$6,ne=requireMapDraw(),ie="__seriesMapHighDown",oe="__seriesMapCallKey",se=ee.extendChartView({type:"map",render:function(ce,de,he,fe){if(!(fe&&fe.type==="mapToggleSelect"&&fe.from===this.uid)){var pe=this.group;if(pe.removeAll(),!ce.getHostGeoModel()){if(fe&&fe.type==="geoRoam"&&fe.componentType==="series"&&fe.seriesId===ce.id){var ve=this._mapDraw;ve&&pe.add(ve.group)}else if(ce.needsDrawMap){var ve=this._mapDraw||new ne(he,!0);pe.add(ve.group),ve.draw(ce,de,he,this,fe),this._mapDraw=ve}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;ce.get("showLegendSymbol")&&de.getComponent("legend")&&this._renderSymbols(ce,de,he)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(ce,de,he){var fe=ce.originalData,pe=this.group;fe.each(fe.mapDimension("value"),function(ve,ge){if(!isNaN(ve)){var me=fe.getItemLayout(ge);if(!(!me||!me.point)){var ye=me.point,_e=me.offset,be=new ae.Circle({style:{fill:ce.getData().getVisual("color")},shape:{cx:ye[0]+_e*9,cy:ye[1],r:3},silent:!0,z2:8+(_e?0:ae.Z2_EMPHASIS_LIFT+1)});if(!_e){var xe=ce.mainSeries.getData(),$e=fe.getName(ge),Se=xe.indexOfName($e),we=fe.getItemModel(ge),Ae=we.getModel("label"),Te=we.getModel("emphasis.label"),De=xe.getItemGraphicEl(Se),Me=te.retrieve2(ce.getFormattedLabel(Se,"normal"),$e),Ie=te.retrieve2(ce.getFormattedLabel(Se,"emphasis"),Me),Ce=De[ie],Ee=Math.random();if(!Ce){Ce=De[ie]={};var Re=te.curry(le,!0),ke=te.curry(le,!1);De.on("mouseover",Re).on("mouseout",ke).on("emphasis",Re).on("normal",ke)}De[oe]=Ee,te.extend(Ce,{recordVersion:Ee,circle:be,labelModel:Ae,hoverLabelModel:Te,emphasisText:Ie,normalText:Me}),ue(Ce,!1)}pe.add(be)}}})}});function le(ce){var de=this[ie];de&&de.recordVersion===this[oe]&&ue(de,ce)}function ue(ce,de){var he=ce.circle,fe=ce.labelModel,pe=ce.hoverLabelModel,ve=ce.emphasisText,ge=ce.normalText;de?(he.style.extendFrom(ae.setTextStyle({},pe,{text:pe.get("show")?ve:null},{isRectText:!0,useInsideStyle:!1},!0)),he.__mapOriginalZ2=he.z2,he.z2+=ae.Z2_EMPHASIS_LIFT):(ae.setTextStyle(he.style,fe,{text:fe.get("show")?ge:null,textPosition:fe.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),he.dirty(!1),he.__mapOriginalZ2!=null&&(he.z2=he.__mapOriginalZ2,he.__mapOriginalZ2=null))}return MapView$2=se,MapView$2}var geoRoam={},roamHelper={},hasRequiredRoamHelper;function requireRoamHelper(){if(hasRequiredRoamHelper)return roamHelper;hasRequiredRoamHelper=1;function ee(te,ae,ne){var ie=te.getZoom(),oe=te.getCenter(),se=ae.zoom,le=te.dataToPoint(oe);if(ae.dx!=null&&ae.dy!=null){le[0]-=ae.dx,le[1]-=ae.dy;var oe=te.pointToData(le);te.setCenter(oe)}if(se!=null){if(ne){var ue=ne.min||0,ce=ne.max||1/0;se=Math.max(Math.min(ie*se,ce),ue)/ie}te.scale[0]*=se,te.scale[1]*=se;var de=te.position,he=(ae.originX-de[0])*(se-1),fe=(ae.originY-de[1])*(se-1);de[0]-=he,de[1]-=fe,te.updateTransform();var oe=te.pointToData(le);te.setCenter(oe),te.setZoom(se*ie)}return{center:te.getCenter(),zoom:te.getZoom()}}return roamHelper.updateCenterAndZoom=ee,roamHelper}var hasRequiredGeoRoam;function requireGeoRoam(){if(hasRequiredGeoRoam)return geoRoam;hasRequiredGeoRoam=1;var ee=echarts$1,te=util$a,ae=requireRoamHelper(),ne=ae.updateCenterAndZoom;return ee.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(ie,oe){var se=ie.componentType||"series";oe.eachComponent({mainType:se,query:ie},function(le){var ue=le.coordinateSystem;if(ue.type==="geo"){var ce=ne(ue,ie,le.get("scaleLimit"));le.setCenter&&le.setCenter(ce.center),le.setZoom&&le.setZoom(ce.zoom),se==="series"&&te.each(le.seriesGroup,function(de){de.setCenter(ce.center),de.setZoom(ce.zoom)})}})}),geoRoam}var View_1,hasRequiredView;function requireView(){if(hasRequiredView)return View_1;hasRequiredView=1;var ee=util$a,te=vector$3,ae=matrix$5,ne=BoundingRect_1,ie=Transformable_1,oe=te.applyTransform;function se(){ie.call(this)}ee.mixin(se,ie);function le(de){this.name=de,this.zoomLimit,ie.call(this),this._roamTransformable=new se,this._rawTransformable=new se,this._center,this._zoom}le.prototype={constructor:le,type:"view",dimensions:["x","y"],setBoundingRect:function(de,he,fe,pe){return this._rect=new ne(de,he,fe,pe),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(de,he,fe,pe){this.transformTo(de,he,fe,pe),this._viewRect=new ne(de,he,fe,pe)},transformTo:function(de,he,fe,pe){var ve=this.getBoundingRect(),ge=this._rawTransformable;ge.transform=ve.calculateTransform(new ne(de,he,fe,pe)),ge.decomposeTransform(),this._updateTransform()},setCenter:function(de){de&&(this._center=de,this._updateCenterAndZoom())},setZoom:function(de){de=de||1;var he=this.zoomLimit;he&&(he.max!=null&&(de=Math.min(he.max,de)),he.min!=null&&(de=Math.max(he.min,de))),this._zoom=de,this._updateCenterAndZoom()},getDefaultCenter:function(){var de=this.getBoundingRect(),he=de.x+de.width/2,fe=de.y+de.height/2;return[he,fe]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var de=this._rawTransformable.getLocalTransform(),he=this._roamTransformable,fe=this.getDefaultCenter(),pe=this.getCenter(),ve=this.getZoom();pe=te.applyTransform([],pe,de),fe=te.applyTransform([],fe,de),he.origin=pe,he.position=[fe[0]-pe[0],fe[1]-pe[1]],he.scale=[ve,ve],this._updateTransform()},_updateTransform:function(){var de=this._roamTransformable,he=this._rawTransformable;he.parent=de,de.updateTransform(),he.updateTransform(),ae.copy(this.transform||(this.transform=[]),he.transform||ae.create()),this._rawTransform=he.getLocalTransform(),this.invTransform=this.invTransform||[],ae.invert(this.invTransform,this.transform),this.decomposeTransform()},getTransformInfo:function(){var de=this._roamTransformable.transform,he=this._rawTransformable;return{roamTransform:de?ee.slice(de):ae.create(),rawScale:ee.slice(he.scale),rawPosition:ee.slice(he.position)}},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var de=this.getBoundingRect().clone();return de.applyTransform(this.transform),de},dataToPoint:function(de,he,fe){var pe=he?this._rawTransform:this.transform;return fe=fe||[],pe?oe(fe,de,pe):te.copy(fe,de)},pointToData:function(de){var he=this.invTransform;return he?oe([],de,he):[de[0],de[1]]},convertToPixel:ee.curry(ue,"dataToPoint"),convertFromPixel:ee.curry(ue,"pointToData"),containPoint:function(de){return this.getViewRectAfterRoam().contain(de[0],de[1])}},ee.mixin(le,ie);function ue(de,he,fe,pe){var ve=fe.seriesModel,ge=ve?ve.coordinateSystem:null;return ge===this?ge[de](pe):null}var ce=le;return View_1=ce,View_1}var Geo_1,hasRequiredGeo$1;function requireGeo$1(){if(hasRequiredGeo$1)return Geo_1;hasRequiredGeo$1=1;var ee=util$a,te=BoundingRect_1,ae=requireView(),ne=requireGeoSourceManager();function ie(le,ue,ce,de){ae.call(this,le),this.map=ue;var he=ne.load(ue,ce);this._nameCoordMap=he.nameCoordMap,this._regionsMap=he.regionsMap,this._invertLongitute=de??!0,this.regions=he.regions,this._rect=he.boundingRect}ie.prototype={constructor:ie,type:"geo",dimensions:["lng","lat"],containCoord:function(le){for(var ue=this.regions,ce=0;ce<ue.length;ce++)if(ue[ce].contain(le))return!0;return!1},transformTo:function(le,ue,ce,de){var he=this.getBoundingRect(),fe=this._invertLongitute;he=he.clone(),fe&&(he.y=-he.y-he.height);var pe=this._rawTransformable;if(pe.transform=he.calculateTransform(new te(le,ue,ce,de)),pe.decomposeTransform(),fe){var ve=pe.scale;ve[1]=-ve[1]}pe.updateTransform(),this._updateTransform()},getRegion:function(le){return this._regionsMap.get(le)},getRegionByCoord:function(le){for(var ue=this.regions,ce=0;ce<ue.length;ce++)if(ue[ce].contain(le))return ue[ce]},addGeoCoord:function(le,ue){this._nameCoordMap.set(le,ue)},getGeoCoord:function(le){return this._nameCoordMap.get(le)},getBoundingRect:function(){return this._rect},dataToPoint:function(le,ue,ce){if(typeof le=="string"&&(le=this.getGeoCoord(le)),le)return ae.prototype.dataToPoint.call(this,le,ue,ce)},convertToPixel:ee.curry(oe,"dataToPoint"),convertFromPixel:ee.curry(oe,"pointToData")},ee.mixin(ie,ae);function oe(le,ue,ce,de){var he=ce.geoModel,fe=ce.seriesModel,pe=he?he.coordinateSystem:fe?fe.coordinateSystem||(fe.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return pe===this?pe[le](de):null}var se=ie;return Geo_1=se,Geo_1}var geoCreator_1,hasRequiredGeoCreator;function requireGeoCreator(){if(hasRequiredGeoCreator)return geoCreator_1;hasRequiredGeoCreator=1;var ee=echarts$1,te=util$a,ae=requireGeo$1(),ne=layout$5,ie=requireNumber(),oe=requireGeoSourceManager(),se=mapDataStorage;function le(he,fe){var pe=he.get("boundingCoords");if(pe!=null){var ve=pe[0],ge=pe[1];isNaN(ve[0])||isNaN(ve[1])||isNaN(ge[0])||isNaN(ge[1])||this.setBoundingRect(ve[0],ve[1],ge[0]-ve[0],ge[1]-ve[1])}var me=this.getBoundingRect(),ye,_e=he.get("layoutCenter"),be=he.get("layoutSize"),xe=fe.getWidth(),$e=fe.getHeight(),Se=me.width/me.height*this.aspectScale,we=!1;_e&&be&&(_e=[ie.parsePercent(_e[0],xe),ie.parsePercent(_e[1],$e)],be=ie.parsePercent(be,Math.min(xe,$e)),!isNaN(_e[0])&&!isNaN(_e[1])&&!isNaN(be)&&(we=!0));var Ae;if(we){var Ae={};Se>1?(Ae.width=be,Ae.height=be/Se):(Ae.height=be,Ae.width=be*Se),Ae.y=_e[1]-Ae.height/2,Ae.x=_e[0]-Ae.width/2}else ye=he.getBoxLayoutParams(),ye.aspect=Se,Ae=ne.getLayoutRect(ye,{width:xe,height:$e});this.setViewRect(Ae.x,Ae.y,Ae.width,Ae.height),this.setCenter(he.get("center")),this.setZoom(he.get("zoom"))}function ue(he,fe){te.each(fe.get("geoCoord"),function(pe,ve){he.addGeoCoord(ve,pe)})}var ce={dimensions:ae.prototype.dimensions,create:function(he,fe){var pe=[];he.eachComponent("geo",function(ge,me){var ye=ge.get("map"),_e=ge.get("aspectScale"),be=!0,xe=se.retrieveMap(ye);xe&&xe[0]&&xe[0].type==="svg"?(_e==null&&(_e=1),be=!1):_e==null&&(_e=.75);var $e=new ae(ye+me,ye,ge.get("nameMap"),be);$e.aspectScale=_e,$e.zoomLimit=ge.get("scaleLimit"),pe.push($e),ue($e,ge),ge.coordinateSystem=$e,$e.model=ge,$e.resize=le,$e.resize(ge,fe)}),he.eachSeries(function(ge){var me=ge.get("coordinateSystem");if(me==="geo"){var ye=ge.get("geoIndex")||0;ge.coordinateSystem=pe[ye]}});var ve={};return he.eachSeriesByType("map",function(ge){if(!ge.getHostGeoModel()){var me=ge.getMapType();ve[me]=ve[me]||[],ve[me].push(ge)}}),te.each(ve,function(ge,me){var ye=te.map(ge,function(be){return be.get("nameMap")}),_e=new ae(me,me,te.mergeAll(ye));_e.zoomLimit=te.retrieve.apply(null,te.map(ge,function(be){return be.get("scaleLimit")})),pe.push(_e),_e.resize=le,_e.aspectScale=ge[0].get("aspectScale"),_e.resize(ge[0],fe),te.each(ge,function(be){be.coordinateSystem=_e,ue(_e,be)})}),pe},getFilledRegions:function(he,fe,pe){for(var ve=(he||[]).slice(),ge=te.createHashMap(),me=0;me<ve.length;me++)ge.set(ve[me].name,ve[me]);var ye=oe.load(fe,pe);return te.each(ye.regions,function(_e){var be=_e.name;!ge.get(be)&&ve.push({name:be})}),ve}};ee.registerCoordinateSystem("geo",ce);var de=ce;return geoCreator_1=de,geoCreator_1}var mapSymbolLayout$1,hasRequiredMapSymbolLayout;function requireMapSymbolLayout(){if(hasRequiredMapSymbolLayout)return mapSymbolLayout$1;hasRequiredMapSymbolLayout=1;var ee=util$a;function te(ae){var ne={};ae.eachSeriesByType("map",function(ie){var oe=ie.getMapType();if(!(ie.getHostGeoModel()||ne[oe])){var se={};ee.each(ie.seriesGroup,function(ue){var ce=ue.coordinateSystem,de=ue.originalData;ue.get("showLegendSymbol")&&ae.getComponent("legend")&&de.each(de.mapDimension("value"),function(he,fe){var pe=de.getName(fe),ve=ce.getRegion(pe);if(!(!ve||isNaN(he))){var ge=se[pe]||0,me=ce.dataToPoint(ve.center);se[pe]=ge+1,de.setItemLayout(fe,{point:me,offset:ge})}})});var le=ie.getData();le.each(function(ue){var ce=le.getName(ue),de=le.getItemLayout(ue)||{};de.showLabel=!se[ce],le.setItemLayout(ue,de)}),ne[oe]=!0}})}return mapSymbolLayout$1=te,mapSymbolLayout$1}var mapVisual$2,hasRequiredMapVisual;function requireMapVisual(){if(hasRequiredMapVisual)return mapVisual$2;hasRequiredMapVisual=1;function ee(te){te.eachSeriesByType("map",function(ae){var ne=ae.get("color"),ie=ae.getModel("itemStyle"),oe=ie.get("areaColor"),se=ie.get("color")||ne[ae.seriesIndex%ne.length];ae.getData().setVisual({areaColor:oe,color:se})})}return mapVisual$2=ee,mapVisual$2}var mapDataStatistic$1,hasRequiredMapDataStatistic;function requireMapDataStatistic(){if(hasRequiredMapDataStatistic)return mapDataStatistic$1;hasRequiredMapDataStatistic=1;var ee=util$a;function te(ne,ie){var oe={};return ee.each(ne,function(se){se.each(se.mapDimension("value"),function(le,ue){var ce="ec-"+se.getName(ue);oe[ce]=oe[ce]||[],isNaN(le)||oe[ce].push(le)})}),ne[0].map(ne[0].mapDimension("value"),function(se,le){for(var ue="ec-"+ne[0].getName(le),ce=0,de=1/0,he=-1/0,fe=oe[ue].length,pe=0;pe<fe;pe++)de=Math.min(de,oe[ue][pe]),he=Math.max(he,oe[ue][pe]),ce+=oe[ue][pe];var ve;return ie==="min"?ve=de:ie==="max"?ve=he:ie==="average"?ve=ce/fe:ve=ce,fe===0?NaN:ve})}function ae(ne){var ie={};ne.eachSeriesByType("map",function(oe){var se=oe.getHostGeoModel(),le=se?"o"+se.id:"i"+oe.getMapType();(ie[le]=ie[le]||[]).push(oe)}),ee.each(ie,function(oe,se){for(var le=te(ee.map(oe,function(ce){return ce.getData()}),oe[0].get("mapValueCalculation")),ue=0;ue<oe.length;ue++)oe[ue].originalData=oe[ue].getData();for(var ue=0;ue<oe.length;ue++)oe[ue].seriesGroup=oe,oe[ue].needsDrawMap=ue===0&&!oe[ue].getHostGeoModel(),oe[ue].setData(le.cloneShallow()),oe[ue].mainSeries=oe[0]})}return mapDataStatistic$1=ae,mapDataStatistic$1}var backwardCompat,hasRequiredBackwardCompat;function requireBackwardCompat(){if(hasRequiredBackwardCompat)return backwardCompat;hasRequiredBackwardCompat=1;var ee=util$a;function te(ae){ee.each(ae.series,function(ne){ne&&ne.type==="map"&&(ne.map=ne.map||ne.mapType,ee.defaults(ne,ne.mapLocation))})}return backwardCompat=te,backwardCompat}var hasRequiredMap;function requireMap(){if(hasRequiredMap)return map$2;hasRequiredMap=1;var ee=echarts$1;requireMapSeries(),requireMapView(),requireGeoRoam(),requireGeoCreator();var te=requireMapSymbolLayout(),ae=requireMapVisual(),ne=requireMapDataStatistic(),ie=requireBackwardCompat(),oe=requireCreateDataSelectAction();return ee.registerLayout(te),ee.registerVisual(ae),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,ne),ee.registerPreprocessor(ie),oe("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}]),map$2}var tree={},linkList_1,hasRequiredLinkList;function requireLinkList(){if(hasRequiredLinkList)return linkList_1;hasRequiredLinkList=1;var ee=util$a,te=ee.each,ae="\0__link_datas",ne="\0__link_mainData";function ie(pe){var ve=pe.mainData,ge=pe.datas;ge||(ge={main:ve},pe.datasAttr={main:"data"}),pe.datas=pe.mainData=null,de(ve,ge,pe),te(ge,function(me){te(ve.TRANSFERABLE_METHODS,function(ye){me.wrapMethod(ye,ee.curry(oe,pe))})}),ve.wrapMethod("cloneShallow",ee.curry(le,pe)),te(ve.CHANGABLE_METHODS,function(me){ve.wrapMethod(me,ee.curry(se,pe))}),ee.assert(ge[ve.dataType]===ve)}function oe(pe,ve){if(ce(this)){var ge=ee.extend({},this[ae]);ge[this.dataType]=ve,de(ve,ge,pe)}else he(ve,this.dataType,this[ne],pe);return ve}function se(pe,ve){return pe.struct&&pe.struct.update(this),ve}function le(pe,ve){return te(ve[ae],function(ge,me){ge!==ve&&he(ge.cloneShallow(),me,ve,pe)}),ve}function ue(pe){var ve=this[ne];return pe==null||ve==null?ve:ve[ae][pe]}function ce(pe){return pe[ne]===pe}function de(pe,ve,ge){pe[ae]={},te(ve,function(me,ye){he(me,ye,pe,ge)})}function he(pe,ve,ge,me){ge[ae][ve]=pe,pe[ne]=ge,pe.dataType=ve,me.struct&&(pe[me.structAttr]=me.struct,me.struct[me.datasAttr[ve]]=pe),pe.getLinkedData=ue}var fe=ie;return linkList_1=fe,linkList_1}var Tree_1,hasRequiredTree$1;function requireTree$1(){if(hasRequiredTree$1)return Tree_1;hasRequiredTree$1=1;var ee=util$a,te=requireLinkList(),ae=requireList(),ne=requireCreateDimensions(),ie=function(ue,ce){this.name=ue||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=ce};ie.prototype={constructor:ie,isRemoved:function(){return this.dataIndex<0},eachNode:function(ue,ce,de){typeof ue=="function"&&(de=ce,ce=ue,ue=null),ue=ue||{},ee.isString(ue)&&(ue={order:ue});var he=ue.order||"preorder",fe=this[ue.attr||"children"],pe;he==="preorder"&&(pe=ce.call(de,this));for(var ve=0;!pe&&ve<fe.length;ve++)fe[ve].eachNode(ue,ce,de);he==="postorder"&&ce.call(de,this)},updateDepthAndHeight:function(ue){var ce=0;this.depth=ue;for(var de=0;de<this.children.length;de++){var he=this.children[de];he.updateDepthAndHeight(ue+1),he.height>ce&&(ce=he.height)}this.height=ce+1},getNodeById:function(ue){if(this.getId()===ue)return this;for(var ce=0,de=this.children,he=de.length;ce<he;ce++){var fe=de[ce].getNodeById(ue);if(fe)return fe}},contains:function(ue){if(ue===this)return!0;for(var ce=0,de=this.children,he=de.length;ce<he;ce++){var fe=de[ce].contains(ue);if(fe)return fe}},getAncestors:function(ue){for(var ce=[],de=ue?this:this.parentNode;de;)ce.push(de),de=de.parentNode;return ce.reverse(),ce},getValue:function(ue){var ce=this.hostTree.data;return ce.get(ce.getDimension(ue||"value"),this.dataIndex)},setLayout:function(ue,ce){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,ue,ce)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(ue){if(!(this.dataIndex<0)){var ce=this.hostTree,de=ce.data.getItemModel(this.dataIndex);return de.getModel(ue)}},setVisual:function(ue,ce){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,ue,ce)},getVisual:function(ue,ce){return this.hostTree.data.getItemVisual(this.dataIndex,ue,ce)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(ue){for(var ce=ue.parentNode;ce;){if(ce===this)return!0;ce=ce.parentNode}return!1},isDescendantOf:function(ue){return ue!==this&&ue.isAncestorOf(this)}};function oe(ue){this.root,this.data,this._nodes=[],this.hostModel=ue}oe.prototype={constructor:oe,type:"tree",eachNode:function(ue,ce,de){this.root.eachNode(ue,ce,de)},getNodeByDataIndex:function(ue){var ce=this.data.getRawIndex(ue);return this._nodes[ce]},getNodeByName:function(ue){return this.root.getNodeByName(ue)},update:function(){for(var ue=this.data,ce=this._nodes,de=0,he=ce.length;de<he;de++)ce[de].dataIndex=-1;for(var de=0,he=ue.count();de<he;de++)ce[ue.getRawIndex(de)].dataIndex=de},clearLayouts:function(){this.data.clearItemLayouts()}},oe.createTree=function(ue,ce,de){var he=new oe(ce),fe=[],pe=1;ve(ue);function ve(ye,_e){var be=ye.value;pe=Math.max(pe,ee.isArray(be)?be.length:1),fe.push(ye);var xe=new ie(ye.name,he);_e?se(xe,_e):he.root=xe,he._nodes.push(xe);var $e=ye.children;if($e)for(var Se=0;Se<$e.length;Se++)ve($e[Se],xe)}he.root.updateDepthAndHeight(0);var ge=ne(fe,{coordDimensions:["value"],dimensionsCount:pe}),me=new ae(ge,ce);return me.initData(fe),de&&de(me),te({mainData:me,struct:he,structAttr:"tree"}),he.update(),he};function se(ue,ce){var de=ce.children;ue.parentNode!==ce&&(de.push(ue),ue.parentNode=ce)}var le=oe;return Tree_1=le,Tree_1}var TreeSeries,hasRequiredTreeSeries;function requireTreeSeries(){if(hasRequiredTreeSeries)return TreeSeries;hasRequiredTreeSeries=1;var ee=Series,te=requireTree$1(),ae=format$6,ne=ae.encodeHTML,ie=Model_1,oe=ee.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(se){var le={name:se.name,children:se.data},ue=se.leaves||{},ce=new ie(ue,this,this.ecModel),de=te.createTree(le,this,he);function he(ge){ge.wrapMethod("getItemModel",function(me,ye){var _e=de.getNodeByDataIndex(ye);return(!_e.children.length||!_e.isExpand)&&(me.parentModel=ce),me})}var fe=0;de.eachNode("preorder",function(ge){ge.depth>fe&&(fe=ge.depth)});var pe=se.expandAndCollapse,ve=pe&&se.initialTreeDepth>=0?se.initialTreeDepth:fe;return de.root.eachNode("preorder",function(ge){var me=ge.hostTree.data.getRawDataItem(ge.dataIndex);ge.isExpand=me&&me.collapsed!=null?!me.collapsed:ge.depth<=ve}),de.data},getOrient:function(){var se=this.get("orient");return se==="horizontal"?se="LR":se==="vertical"&&(se="TB"),se},setZoom:function(se){this.option.zoom=se},setCenter:function(se){this.option.center=se},formatTooltip:function(se){for(var le=this.getData().tree,ue=le.root.children[0],ce=le.getNodeByDataIndex(se),de=ce.getValue(),he=ce.name;ce&&ce!==ue;)he=ce.parentNode.name+"."+he,ce=ce.parentNode;return ne(he+(isNaN(de)||de==null?"":" : "+de))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}});return TreeSeries=oe,TreeSeries}var layoutHelper={},hasRequiredLayoutHelper;function requireLayoutHelper(){if(hasRequiredLayoutHelper)return layoutHelper;hasRequiredLayoutHelper=1;var ee=layout$5;function te(ve){ve.hierNode={defaultAncestor:null,ancestor:ve,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var ge=[ve],me,ye;me=ge.pop();)if(ye=me.children,me.isExpand&&ye.length)for(var _e=ye.length,be=_e-1;be>=0;be--){var xe=ye[be];xe.hierNode={defaultAncestor:null,ancestor:xe,prelim:0,modifier:0,change:0,shift:0,i:be,thread:null},ge.push(xe)}}function ae(ve,ge){var me=ve.isExpand?ve.children:[],ye=ve.parentNode.children,_e=ve.hierNode.i?ye[ve.hierNode.i-1]:null;if(me.length){le(ve);var be=(me[0].hierNode.prelim+me[me.length-1].hierNode.prelim)/2;_e?(ve.hierNode.prelim=_e.hierNode.prelim+ge(ve,_e),ve.hierNode.modifier=ve.hierNode.prelim-be):ve.hierNode.prelim=be}else _e&&(ve.hierNode.prelim=_e.hierNode.prelim+ge(ve,_e));ve.parentNode.hierNode.defaultAncestor=ue(ve,_e,ve.parentNode.hierNode.defaultAncestor||ye[0],ge)}function ne(ve){var ge=ve.hierNode.prelim+ve.parentNode.hierNode.modifier;ve.setLayout({x:ge},!0),ve.hierNode.modifier+=ve.parentNode.hierNode.modifier}function ie(ve){return arguments.length?ve:pe}function oe(ve,ge){var me={};return ve-=Math.PI/2,me.x=ge*Math.cos(ve),me.y=ge*Math.sin(ve),me}function se(ve,ge){return ee.getLayoutRect(ve.getBoxLayoutParams(),{width:ge.getWidth(),height:ge.getHeight()})}function le(ve){for(var ge=ve.children,me=ge.length,ye=0,_e=0;--me>=0;){var be=ge[me];be.hierNode.prelim+=ye,be.hierNode.modifier+=ye,_e+=be.hierNode.change,ye+=be.hierNode.shift+_e}}function ue(ve,ge,me,ye){if(ge){for(var _e=ve,be=ve,xe=be.parentNode.children[0],$e=ge,Se=_e.hierNode.modifier,we=be.hierNode.modifier,Ae=xe.hierNode.modifier,Te=$e.hierNode.modifier;$e=ce($e),be=de(be),$e&&be;){_e=ce(_e),xe=de(xe),_e.hierNode.ancestor=ve;var De=$e.hierNode.prelim+Te-be.hierNode.prelim-we+ye($e,be);De>0&&(fe(he($e,ve,me),ve,De),we+=De,Se+=De),Te+=$e.hierNode.modifier,we+=be.hierNode.modifier,Se+=_e.hierNode.modifier,Ae+=xe.hierNode.modifier}$e&&!ce(_e)&&(_e.hierNode.thread=$e,_e.hierNode.modifier+=Te-Se),be&&!de(xe)&&(xe.hierNode.thread=be,xe.hierNode.modifier+=we-Ae,me=ve)}return me}function ce(ve){var ge=ve.children;return ge.length&&ve.isExpand?ge[ge.length-1]:ve.hierNode.thread}function de(ve){var ge=ve.children;return ge.length&&ve.isExpand?ge[0]:ve.hierNode.thread}function he(ve,ge,me){return ve.hierNode.ancestor.parentNode===ge.parentNode?ve.hierNode.ancestor:me}function fe(ve,ge,me){var ye=me/(ge.hierNode.i-ve.hierNode.i);ge.hierNode.change-=ye,ge.hierNode.shift+=me,ge.hierNode.modifier+=me,ge.hierNode.prelim+=me,ve.hierNode.change+=ye}function pe(ve,ge){return ve.parentNode===ge.parentNode?1:2}return layoutHelper.init=te,layoutHelper.firstWalk=ae,layoutHelper.secondWalk=ne,layoutHelper.separation=ie,layoutHelper.radialCoordinate=oe,layoutHelper.getViewRect=se,layoutHelper}var TreeView$2,hasRequiredTreeView;function requireTreeView(){if(hasRequiredTreeView)return TreeView$2;hasRequiredTreeView=1;var ee=util$a,te=graphic$6,ae=require_Symbol(),ne=requireLayoutHelper(),ie=ne.radialCoordinate,oe=echarts$1,se=requireBbox(),le=requireView(),ue=requireRoamHelper$1(),ce=requireRoamController(),de=requireCursorHelper(),he=de.onIrrelevantElement,fe=requireNumber(),pe=fe.parsePercent,ve=te.extendShape({shape:{parentPoint:[],childPoints:[],orient:"",forkPosition:""},style:{stroke:"#000",fill:null},buildPath:function(Se,we){var Ae=we.childPoints,Te=Ae.length,De=we.parentPoint,Me=Ae[0],Ie=Ae[Te-1];if(Te===1){Se.moveTo(De[0],De[1]),Se.lineTo(Me[0],Me[1]);return}var Ce=we.orient,Ee=Ce==="TB"||Ce==="BT"?0:1,Re=1-Ee,ke=pe(we.forkPosition,1),Be=[];Be[Ee]=De[Ee],Be[Re]=De[Re]+(Ie[Re]-De[Re])*ke,Se.moveTo(De[0],De[1]),Se.lineTo(Be[0],Be[1]),Se.moveTo(Me[0],Me[1]),Be[Ee]=Me[Ee],Se.lineTo(Be[0],Be[1]),Be[Ee]=Ie[Ee],Se.lineTo(Be[0],Be[1]),Se.lineTo(Ie[0],Ie[1]);for(var Ne=1;Ne<Te-1;Ne++){var He=Ae[Ne];Se.moveTo(He[0],He[1]),Be[Ee]=He[Ee],Se.lineTo(Be[0],Be[1])}}}),ge=oe.extendChartView({type:"tree",init:function(Se,we){this._oldTree,this._mainGroup=new te.Group,this._controller=new ce(we.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(Se,we,Ae,Te){var De=Se.getData(),Me=Se.layoutInfo,Ie=this._mainGroup,Ce=Se.get("layout");Ce==="radial"?Ie.attr("position",[Me.x+Me.width/2,Me.y+Me.height/2]):Ie.attr("position",[Me.x,Me.y]),this._updateViewCoordSys(Se,Me,Ce),this._updateController(Se,we,Ae);var Ee=this._data,Re={expandAndCollapse:Se.get("expandAndCollapse"),layout:Ce,edgeShape:Se.get("edgeShape"),edgeForkPosition:Se.get("edgeForkPosition"),orient:Se.getOrient(),curvature:Se.get("lineStyle.curveness"),symbolRotate:Se.get("symbolRotate"),symbolOffset:Se.get("symbolOffset"),hoverAnimation:Se.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};De.diff(Ee).add(function(ke){me(De,ke)&&_e(De,ke,null,Ie,Se,Re)}).update(function(ke,Be){var Ne=Ee.getItemGraphicEl(Be);if(!me(De,ke)){Ne&&xe(Ee,Be,Ne,Ie,Se,Re);return}_e(De,ke,Ne,Ie,Se,Re)}).remove(function(ke){var Be=Ee.getItemGraphicEl(ke);Be&&xe(Ee,ke,Be,Ie,Se,Re)}).execute(),this._nodeScaleRatio=Se.get("nodeScaleRatio"),this._updateNodeAndLinkScale(Se),Re.expandAndCollapse===!0&&De.eachItemGraphicEl(function(ke,Be){ke.off("click").on("click",function(){Ae.dispatchAction({type:"treeExpandAndCollapse",seriesId:Se.id,dataIndex:Be})})}),this._data=De},_updateViewCoordSys:function(Se){var we=Se.getData(),Ae=[];we.each(function(Ee){var Re=we.getItemLayout(Ee);Re&&!isNaN(Re.x)&&!isNaN(Re.y)&&Ae.push([+Re.x,+Re.y])});var Te=[],De=[];se.fromPoints(Ae,Te,De);var Me=this._min,Ie=this._max;De[0]-Te[0]===0&&(Te[0]=Me?Me[0]:Te[0]-1,De[0]=Ie?Ie[0]:De[0]+1),De[1]-Te[1]===0&&(Te[1]=Me?Me[1]:Te[1]-1,De[1]=Ie?Ie[1]:De[1]+1);var Ce=Se.coordinateSystem=new le;Ce.zoomLimit=Se.get("scaleLimit"),Ce.setBoundingRect(Te[0],Te[1],De[0]-Te[0],De[1]-Te[1]),Ce.setCenter(Se.get("center")),Ce.setZoom(Se.get("zoom")),this.group.attr({position:Ce.position,scale:Ce.scale}),this._viewCoordSys=Ce,this._min=Te,this._max=De},_updateController:function(Se,we,Ae){var Te=this._controller,De=this._controllerHost,Me=this.group;Te.setPointerChecker(function(Ie,Ce,Ee){var Re=Me.getBoundingRect();return Re.applyTransform(Me.transform),Re.contain(Ce,Ee)&&!he(Ie,Ae,Se)}),Te.enable(Se.get("roam")),De.zoomLimit=Se.get("scaleLimit"),De.zoom=Se.coordinateSystem.getZoom(),Te.off("pan").off("zoom").on("pan",function(Ie){ue.updateViewOnPan(De,Ie.dx,Ie.dy),Ae.dispatchAction({seriesId:Se.id,type:"treeRoam",dx:Ie.dx,dy:Ie.dy})},this).on("zoom",function(Ie){ue.updateViewOnZoom(De,Ie.scale,Ie.originX,Ie.originY),Ae.dispatchAction({seriesId:Se.id,type:"treeRoam",zoom:Ie.scale,originX:Ie.originX,originY:Ie.originY}),this._updateNodeAndLinkScale(Se)},this)},_updateNodeAndLinkScale:function(Se){var we=Se.getData(),Ae=this._getNodeGlobalScale(Se),Te=[Ae,Ae];we.eachItemGraphicEl(function(De,Me){De.attr("scale",Te)})},_getNodeGlobalScale:function(Se){var we=Se.coordinateSystem;if(we.type!=="view")return 1;var Ae=this._nodeScaleRatio,Te=we.scale,De=Te&&Te[0]||1,Me=we.getZoom(),Ie=(Me-1)*Ae+1;return Ie/De},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}});function me(Se,we){var Ae=Se.getItemLayout(we);return Ae&&!isNaN(Ae.x)&&!isNaN(Ae.y)&&Se.getItemVisual(we,"symbol")!=="none"}function ye(Se,we,Ae){return Ae.itemModel=we,Ae.itemStyle=we.getModel("itemStyle").getItemStyle(),Ae.hoverItemStyle=we.getModel("emphasis.itemStyle").getItemStyle(),Ae.lineStyle=we.getModel("lineStyle").getLineStyle(),Ae.labelModel=we.getModel("label"),Ae.hoverLabelModel=we.getModel("emphasis.label"),Se.isExpand===!1&&Se.children.length!==0?Ae.symbolInnerColor=Ae.itemStyle.fill:Ae.symbolInnerColor="#fff",Ae}function _e(Se,we,Ae,Te,De,Re){var Ie=!Ae,Ce=Se.tree.getNodeByDataIndex(we),Ee=Ce.getModel(),Re=ye(Ce,Ee,Re),ke=Se.tree.root,Be=Ce.parentNode===ke?Ce:Ce.parentNode||Ce,Ne=Se.getItemGraphicEl(Be.dataIndex),He=Be.getLayout(),qe=Ne?{x:Ne.position[0],y:Ne.position[1],rawX:Ne.__radialOldRawX,rawY:Ne.__radialOldRawY}:He,Oe=Ce.getLayout();Ie?(Ae=new ae(Se,we,Re),Ae.attr("position",[qe.x,qe.y])):Ae.updateData(Se,we,Re),Ae.__radialOldRawX=Ae.__radialRawX,Ae.__radialOldRawY=Ae.__radialRawY,Ae.__radialRawX=Oe.rawX,Ae.__radialRawY=Oe.rawY,Te.add(Ae),Se.setItemGraphicEl(we,Ae),te.updateProps(Ae,{position:[Oe.x,Oe.y]},De);var ze=Ae.getSymbolPath();if(Re.layout==="radial"){var Ve=ke.children[0],Ge=Ve.getLayout(),We=Ve.children.length,Ue,Ye;if(Oe.x===Ge.x&&Ce.isExpand===!0){var Ze={};Ze.x=(Ve.children[0].getLayout().x+Ve.children[We-1].getLayout().x)/2,Ze.y=(Ve.children[0].getLayout().y+Ve.children[We-1].getLayout().y)/2,Ue=Math.atan2(Ze.y-Ge.y,Ze.x-Ge.x),Ue<0&&(Ue=Math.PI*2+Ue),Ye=Ze.x<Ge.x,Ye&&(Ue=Ue-Math.PI)}else Ue=Math.atan2(Oe.y-Ge.y,Oe.x-Ge.x),Ue<0&&(Ue=Math.PI*2+Ue),Ce.children.length===0||Ce.children.length!==0&&Ce.isExpand===!1?(Ye=Oe.x<Ge.x,Ye&&(Ue=Ue-Math.PI)):(Ye=Oe.x>Ge.x,Ye||(Ue=Ue-Math.PI));var Xe=Ye?"left":"right",it=Re.labelModel.get("rotate"),at=it*(Math.PI/180);ze.setStyle({textPosition:Re.labelModel.get("position")||Xe,textRotation:it==null?-Ue:at,textOrigin:"center",verticalAlign:"middle"})}be(De,Ce,ke,Ae,qe,He,Oe,Te,Re)}function be(Se,we,Ae,Te,De,Me,Ie,Ce,Ee){var Re=Ee.edgeShape,ke=Te.__edge;if(Re==="curve")we.parentNode&&we.parentNode!==Ae&&(ke||(ke=Te.__edge=new te.BezierCurve({shape:$e(Ee,De,De),style:ee.defaults({opacity:0,strokeNoScale:!0},Ee.lineStyle)})),te.updateProps(ke,{shape:$e(Ee,Me,Ie),style:ee.defaults({opacity:1},Ee.lineStyle)},Se));else if(Re==="polyline"&&Ee.layout==="orthogonal"&&we!==Ae&&we.children&&we.children.length!==0&&we.isExpand===!0){for(var Be=we.children,Ne=[],He=0;He<Be.length;He++){var qe=Be[He].getLayout();Ne.push([qe.x,qe.y])}ke||(ke=Te.__edge=new ve({shape:{parentPoint:[Ie.x,Ie.y],childPoints:[[Ie.x,Ie.y]],orient:Ee.orient,forkPosition:Ee.edgeForkPosition},style:ee.defaults({opacity:0,strokeNoScale:!0},Ee.lineStyle)})),te.updateProps(ke,{shape:{parentPoint:[Ie.x,Ie.y],childPoints:Ne},style:ee.defaults({opacity:1},Ee.lineStyle)},Se)}Ce.add(ke)}function xe(Se,we,Ae,Te,De,Re){for(var Ie=Se.tree.getNodeByDataIndex(we),Ce=Se.tree.root,Ee=Ie.getModel(),Re=ye(Ie,Ee,Re),ke=Ie.parentNode===Ce?Ie:Ie.parentNode||Ie,Oe=Re.edgeShape,Be;Be=ke.getLayout(),Be==null;)ke=ke.parentNode===Ce?ke:ke.parentNode||ke;te.updateProps(Ae,{position:[Be.x+1,Be.y+1]},De,function(){Te.remove(Ae),Se.setItemGraphicEl(we,null)}),Ae.fadeOut(null,{keepLabel:!0});var Ne=Se.getItemGraphicEl(ke.dataIndex),He=Ne.__edge,qe=Ae.__edge||(ke.isExpand===!1||ke.children.length===1?He:void 0),Oe=Re.edgeShape;qe&&(Oe==="curve"?te.updateProps(qe,{shape:$e(Re,Be,Be),style:{opacity:0}},De,function(){Te.remove(qe)}):Oe==="polyline"&&Re.layout==="orthogonal"&&te.updateProps(qe,{shape:{parentPoint:[Be.x,Be.y],childPoints:[[Be.x,Be.y]]},style:{opacity:0}},De,function(){Te.remove(qe)}))}function $e(Se,we,Ae){var Te,De,Me,Ie,Ce=Se.orient,Ee,Re,ke,Be;if(Se.layout==="radial"){Ee=we.rawX,ke=we.rawY,Re=Ae.rawX,Be=Ae.rawY;var Ne=ie(Ee,ke),He=ie(Ee,ke+(Be-ke)*Se.curvature),qe=ie(Re,Be+(ke-Be)*Se.curvature),Oe=ie(Re,Be);return{x1:Ne.x,y1:Ne.y,x2:Oe.x,y2:Oe.y,cpx1:He.x,cpy1:He.y,cpx2:qe.x,cpy2:qe.y}}else Ee=we.x,ke=we.y,Re=Ae.x,Be=Ae.y,(Ce==="LR"||Ce==="RL")&&(Te=Ee+(Re-Ee)*Se.curvature,De=ke,Me=Re+(Ee-Re)*Se.curvature,Ie=Be),(Ce==="TB"||Ce==="BT")&&(Te=Ee,De=ke+(Be-ke)*Se.curvature,Me=Re,Ie=Be+(ke-Be)*Se.curvature);return{x1:Ee,y1:ke,x2:Re,y2:Be,cpx1:Te,cpy1:De,cpx2:Me,cpy2:Ie}}return TreeView$2=ge,TreeView$2}var treeAction={},hasRequiredTreeAction;function requireTreeAction(){if(hasRequiredTreeAction)return treeAction;hasRequiredTreeAction=1;var ee=echarts$1,te=requireRoamHelper(),ae=te.updateCenterAndZoom;return ee.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(ne,ie){ie.eachComponent({mainType:"series",subType:"tree",query:ne},function(oe){var se=ne.dataIndex,le=oe.getData().tree,ue=le.getNodeByDataIndex(se);ue.isExpand=!ue.isExpand})}),ee.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(ne,ie){ie.eachComponent({mainType:"series",subType:"tree",query:ne},function(oe){var se=oe.coordinateSystem,le=ae(se,ne);oe.setCenter&&oe.setCenter(le.center),oe.setZoom&&oe.setZoom(le.zoom)})}),treeAction}var traversalHelper={},hasRequiredTraversalHelper;function requireTraversalHelper(){if(hasRequiredTraversalHelper)return traversalHelper;hasRequiredTraversalHelper=1;function ee(ae,ne,ie){for(var oe=[ae],se=[],le;le=oe.pop();)if(se.push(le),le.isExpand){var ue=le.children;if(ue.length)for(var ce=0;ce<ue.length;ce++)oe.push(ue[ce])}for(;le=se.pop();)ne(le,ie)}function te(ae,ne){for(var ie=[ae],oe;oe=ie.pop();)if(ne(oe),oe.isExpand){var se=oe.children;if(se.length)for(var le=se.length-1;le>=0;le--)ie.push(se[le])}}return traversalHelper.eachAfter=ee,traversalHelper.eachBefore=te,traversalHelper}var treeLayout$1,hasRequiredTreeLayout;function requireTreeLayout(){if(hasRequiredTreeLayout)return treeLayout$1;hasRequiredTreeLayout=1;var ee=requireTraversalHelper(),te=ee.eachAfter,ae=ee.eachBefore,ne=requireLayoutHelper(),ie=ne.init,oe=ne.firstWalk,se=ne.secondWalk,le=ne.separation,ue=ne.radialCoordinate,ce=ne.getViewRect;function de(fe,pe){fe.eachSeriesByType("tree",function(ve){he(ve,pe)})}function he(fe,pe){var ve=ce(fe,pe);fe.layoutInfo=ve;var ge=fe.get("layout"),me=0,ye=0,_e=null;ge==="radial"?(me=2*Math.PI,ye=Math.min(ve.height,ve.width)/2,_e=le(function(Re,ke){return(Re.parentNode===ke.parentNode?1:2)/Re.depth})):(me=ve.width,ye=ve.height,_e=le());var be=fe.getData().tree.root,xe=be.children[0];if(xe){ie(be),te(xe,oe,_e),be.hierNode.modifier=-xe.hierNode.prelim,ae(xe,se);var $e=xe,Se=xe,we=xe;ae(xe,function(Re){var ke=Re.getLayout().x;ke<$e.getLayout().x&&($e=Re),ke>Se.getLayout().x&&(Se=Re),Re.depth>we.depth&&(we=Re)});var Ae=$e===Se?1:_e($e,Se)/2,Te=Ae-$e.getLayout().x,De=0,Me=0,Ie=0,Ce=0;if(ge==="radial")De=me/(Se.getLayout().x+Ae+Te),Me=ye/(we.depth-1||1),ae(xe,function(Re){Ie=(Re.getLayout().x+Te)*De,Ce=(Re.depth-1)*Me;var ke=ue(Ie,Ce);Re.setLayout({x:ke.x,y:ke.y,rawX:Ie,rawY:Ce},!0)});else{var Ee=fe.getOrient();Ee==="RL"||Ee==="LR"?(Me=ye/(Se.getLayout().x+Ae+Te),De=me/(we.depth-1||1),ae(xe,function(Re){Ce=(Re.getLayout().x+Te)*Me,Ie=Ee==="LR"?(Re.depth-1)*De:me-(Re.depth-1)*De,Re.setLayout({x:Ie,y:Ce},!0)})):(Ee==="TB"||Ee==="BT")&&(De=me/(Se.getLayout().x+Ae+Te),Me=ye/(we.depth-1||1),ae(xe,function(Re){Ie=(Re.getLayout().x+Te)*De,Ce=Ee==="TB"?(Re.depth-1)*Me:ye-(Re.depth-1)*Me,Re.setLayout({x:Ie,y:Ce},!0)}))}}}return treeLayout$1=de,treeLayout$1}var hasRequiredTree;function requireTree(){if(hasRequiredTree)return tree;hasRequiredTree=1;var ee=echarts$1;requireTreeSeries(),requireTreeView(),requireTreeAction();var te=requireSymbol(),ae=requireTreeLayout();return ee.registerVisual(te("tree","circle")),ee.registerLayout(ae),tree}var treemap={},treeHelper={},hasRequiredTreeHelper;function requireTreeHelper(){if(hasRequiredTreeHelper)return treeHelper;hasRequiredTreeHelper=1;var ee=util$a;function te(oe,se,le){if(oe&&ee.indexOf(se,oe.type)>=0){var ue=le.getData().tree.root,ce=oe.targetNode;if(typeof ce=="string"&&(ce=ue.getNodeById(ce)),ce&&ue.contains(ce))return{node:ce};var de=oe.targetNodeId;if(de!=null&&(ce=ue.getNodeById(de)))return{node:ce}}}function ae(oe){for(var se=[];oe;)oe=oe.parentNode,oe&&se.push(oe);return se.reverse()}function ne(oe,se){var le=ae(oe);return ee.indexOf(le,se)>=0}function ie(oe,se){for(var le=[];oe;){var ue=oe.dataIndex;le.push({name:oe.name,dataIndex:ue,value:se.getRawValue(ue)}),oe=oe.parentNode}return le.reverse(),le}return treeHelper.retrieveTargetInfo=te,treeHelper.getPathToRoot=ae,treeHelper.aboveViewRoot=ne,treeHelper.wrapTreePathInfo=ie,treeHelper}var TreemapSeries,hasRequiredTreemapSeries;function requireTreemapSeries(){if(hasRequiredTreemapSeries)return TreemapSeries;hasRequiredTreemapSeries=1;var ee=util$a,te=Series,ae=requireTree$1(),ne=Model_1,ie=format$6,oe=ie.encodeHTML,se=ie.addCommas,le=requireTreeHelper(),ue=le.wrapTreePathInfo,ce=te.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive:0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(fe,pe){var ve={name:fe.name,children:fe.data};de(ve);var ge=fe.levels||[],me=this.designatedVisualItemStyle={},ye=new ne({itemStyle:me},this,pe);ge=fe.levels=he(ge,pe);var _e=ee.map(ge||[],function($e){return new ne($e,ye,pe)},this),be=ae.createTree(ve,this,xe);function xe($e){$e.wrapMethod("getItemModel",function(Se,we){var Ae=be.getNodeByDataIndex(we),Te=_e[Ae.depth];return Se.parentModel=Te||ye,Se})}return be.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(fe){var pe=this.getData(),ve=this.getRawValue(fe),ge=ee.isArray(ve)?se(ve[0]):se(ve),me=pe.getName(fe);return oe(me+": "+ge)},getDataParams:function(fe){var pe=te.prototype.getDataParams.apply(this,arguments),ve=this.getData().tree.getNodeByDataIndex(fe);return pe.treePathInfo=ue(ve,this),pe},setLayoutInfo:function(fe){this.layoutInfo=this.layoutInfo||{},ee.extend(this.layoutInfo,fe)},mapIdToIndex:function(fe){var pe=this._idIndexMap;pe||(pe=this._idIndexMap=ee.createHashMap(),this._idIndexMapCount=0);var ve=pe.get(fe);return ve==null&&pe.set(fe,ve=this._idIndexMapCount++),ve},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(fe){fe?this._viewRoot=fe:fe=this._viewRoot;var pe=this.getRawData().tree.root;(!fe||fe!==pe&&!pe.contains(fe))&&(this._viewRoot=pe)}});function de(fe){var pe=0;ee.each(fe.children,function(ge){de(ge);var me=ge.value;ee.isArray(me)&&(me=me[0]),pe+=me});var ve=fe.value;ee.isArray(ve)&&(ve=ve[0]),(ve==null||isNaN(ve))&&(ve=pe),ve<0&&(ve=0),ee.isArray(fe.value)?fe.value[0]=ve:fe.value=ve}function he(fe,pe){var ve=pe.get("color");if(ve){fe=fe||[];var ge;if(ee.each(fe,function(ye){var _e=new ne(ye),be=_e.get("color");(_e.get("itemStyle.color")||be&&be!=="none")&&(ge=!0)}),!ge){var me=fe[0]||(fe[0]={});me.color=ve.slice()}return fe}}return TreemapSeries=ce,TreemapSeries}var Breadcrumb_1,hasRequiredBreadcrumb;function requireBreadcrumb(){if(hasRequiredBreadcrumb)return Breadcrumb_1;hasRequiredBreadcrumb=1;var ee=graphic$6,te=layout$5,ae=util$a,ne=requireTreeHelper(),ie=ne.wrapTreePathInfo,oe=8,se=8,le=5;function ue(fe){this.group=new ee.Group,fe.add(this.group)}ue.prototype={constructor:ue,render:function(fe,pe,ve,ge){var me=fe.getModel("breadcrumb"),ye=this.group;if(ye.removeAll(),!(!me.get("show")||!ve)){var _e=me.getModel("itemStyle"),be=_e.getModel("textStyle"),xe={pos:{left:me.get("left"),right:me.get("right"),top:me.get("top"),bottom:me.get("bottom")},box:{width:pe.getWidth(),height:pe.getHeight()},emptyItemWidth:me.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(ve,xe,be),this._renderContent(fe,xe,_e,be,ge),te.positionElement(ye,xe.pos,xe.box)}},_prepare:function(fe,pe,ve){for(var ge=fe;ge;ge=ge.parentNode){var me=ge.getModel().get("name"),ye=ve.getTextRect(me),_e=Math.max(ye.width+oe*2,pe.emptyItemWidth);pe.totalWidth+=_e+se,pe.renderList.push({node:ge,text:me,width:_e})}},_renderContent:function(fe,pe,ve,ge,me){for(var ye=0,_e=pe.emptyItemWidth,be=fe.get("breadcrumb.height"),xe=te.getAvailableSize(pe.pos,pe.box),$e=pe.totalWidth,Se=pe.renderList,we=Se.length-1;we>=0;we--){var Ae=Se[we],Te=Ae.node,De=Ae.width,Me=Ae.text;$e>xe.width&&($e-=De-_e,De=_e,Me=null);var Ie=new ee.Polygon({shape:{points:ce(ye,0,De,be,we===Se.length-1,we===0)},style:ae.defaults(ve.getItemStyle(),{lineJoin:"bevel",text:Me,textFill:ge.getTextColor(),textFont:ge.getFont()}),z:10,onclick:ae.curry(me,Te)});this.group.add(Ie),de(Ie,fe,Te),ye+=De+se}},remove:function(){this.group.removeAll()}};function ce(fe,pe,ve,ge,me,ye){var _e=[[me?fe:fe-le,pe],[fe+ve,pe],[fe+ve,pe+ge],[me?fe:fe-le,pe+ge]];return!ye&&_e.splice(2,0,[fe+ve+le,pe+ge/2]),!me&&_e.push([fe,pe+ge/2]),_e}function de(fe,pe,ve){fe.eventData={componentType:"series",componentSubType:"treemap",componentIndex:pe.componentIndex,seriesIndex:pe.componentIndex,seriesName:pe.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:ve&&ve.dataIndex,name:ve&&ve.name},treePathInfo:ve&&ie(ve,pe)}}var he=ue;return Breadcrumb_1=he,Breadcrumb_1}var animation={},hasRequiredAnimation;function requireAnimation(){if(hasRequiredAnimation)return animation;hasRequiredAnimation=1;var ee=util$a;function te(){var ae=[],ne={},ie;return{add:function(oe,se,le,ue,ce){return ee.isString(ue)&&(ce=ue,ue=0),ne[oe.id]?!1:(ne[oe.id]=1,ae.push({el:oe,target:se,time:le,delay:ue,easing:ce}),!0)},done:function(oe){return ie=oe,this},start:function(){for(var oe=ae.length,se=0,le=ae.length;se<le;se++){var ue=ae[se];ue.el.animateTo(ue.target,ue.time,ue.delay,ue.easing,ce)}return this;function ce(){oe--,oe||(ae.length=0,ne={},ie&&ie())}}}}return animation.createWrap=te,animation}var TreemapView$2,hasRequiredTreemapView;function requireTreemapView(){if(hasRequiredTreemapView)return TreemapView$2;hasRequiredTreemapView=1;var ee=echarts$1,te=util$a,ae=graphic$6,ne=requireDataDiffer(),ie=requireTreeHelper(),oe=requireBreadcrumb(),se=requireRoamController(),le=BoundingRect_1,ue=matrix$5,ce=requireAnimation(),de=makeStyleMapper$4,he=format$6,fe=he.windowOpen,pe=te.bind,ve=ae.Group,ge=ae.Rect,me=te.each,ye=3,_e=["label"],be=["emphasis","label"],xe=["upperLabel"],$e=["emphasis","upperLabel"],Se=10,we=1,Ae=2,Te=de([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),De=function(Re){var ke=Te(Re);return ke.stroke=ke.fill=ke.lineWidth=null,ke},Me=ee.extendChartView({type:"treemap",init:function(Re,ke){this._containerGroup,this._storage=Ie(),this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(Re,ke,Be,Ne){var He=ke.findComponents({mainType:"series",subType:"treemap",query:Ne});if(!(te.indexOf(He,Re)<0)){this.seriesModel=Re,this.api=Be,this.ecModel=ke;var qe=["treemapZoomToNode","treemapRootToNode"],Oe=ie.retrieveTargetInfo(Ne,qe,Re),ze=Ne&&Ne.type,Ve=Re.layoutInfo,Ge=!this._oldTree,We=this._storage,Ue=ze==="treemapRootToNode"&&Oe&&We?{rootNodeGroup:We.nodeGroup[Oe.node.getRawIndex()],direction:Ne.direction}:null,Ye=this._giveContainerGroup(Ve),Ze=this._doRender(Ye,Re,Ue);!Ge&&(!ze||ze==="treemapZoomToNode"||ze==="treemapRootToNode")?this._doAnimation(Ye,Ze,Re,Ue):Ze.renderFinally(),this._resetController(Be),this._renderBreadcrumb(Re,Be,Oe)}},_giveContainerGroup:function(Re){var ke=this._containerGroup;return ke||(ke=this._containerGroup=new ve,this._initEvents(ke),this.group.add(ke)),ke.attr("position",[Re.x,Re.y]),ke},_doRender:function(Re,ke,Be){var Ne=ke.getData().tree,He=this._oldTree,qe=Ie(),Oe=Ie(),ze=this._storage,Ve=[],Ge=te.curry(Ce,ke,Oe,ze,Be,qe,Ve);Ue(Ne.root?[Ne.root]:[],He&&He.root?[He.root]:[],Re,Ne===He||!He,0);var We=Ye(ze);return this._oldTree=Ne,this._storage=Oe,{lastsForAnimation:qe,willDeleteEls:We,renderFinally:Ze};function Ue(Xe,it,at,ut,dt){ut?(it=Xe,me(Xe,function(bt,Tt){!bt.isRemoved()&&gt(Tt,Tt)})):new ne(it,Xe,pt,pt).add(gt).update(gt).remove(te.curry(gt,null)).execute();function pt(bt){return bt.getId()}function gt(bt,Tt){var At=bt!=null?Xe[bt]:null,Mt=Tt!=null?it[Tt]:null,qt=Ge(At,Mt,at,dt);qt&&Ue(At&&At.viewChildren||[],Mt&&Mt.viewChildren||[],qt,ut,dt+1)}}function Ye(Xe){var it=Ie();return Xe&&me(Xe,function(at,ut){var dt=it[ut];me(at,function(pt){pt&&(dt.push(pt),pt.__tmWillDelete=1)})}),it}function Ze(){me(We,function(Xe){me(Xe,function(it){it.parent&&it.parent.remove(it)})}),me(Ve,function(Xe){Xe.invisible=!0,Xe.dirty()})}},_doAnimation:function(Re,ke,Be,Ne){if(Be.get("animation")){var He=Be.get("animationDurationUpdate"),qe=Be.get("animationEasing"),Oe=ce.createWrap();me(ke.willDeleteEls,function(ze,Ve){me(ze,function(Ge,We){if(!Ge.invisible){var Ue=Ge.parent,Ye;if(Ne&&Ne.direction==="drillDown")Ye=Ue===Ne.rootNodeGroup?{shape:{x:0,y:0,width:Ue.__tmNodeWidth,height:Ue.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var Ze=0,Xe=0;Ue.__tmWillDelete||(Ze=Ue.__tmNodeWidth/2,Xe=Ue.__tmNodeHeight/2),Ye=Ve==="nodeGroup"?{position:[Ze,Xe],style:{opacity:0}}:{shape:{x:Ze,y:Xe,width:0,height:0},style:{opacity:0}}}Ye&&Oe.add(Ge,Ye,He,qe)}})}),me(this._storage,function(ze,Ve){me(ze,function(Ge,We){var Ue=ke.lastsForAnimation[Ve][We],Ye={};Ue&&(Ve==="nodeGroup"?Ue.old&&(Ye.position=Ge.position.slice(),Ge.attr("position",Ue.old)):(Ue.old&&(Ye.shape=te.extend({},Ge.shape),Ge.setShape(Ue.old)),Ue.fadein?(Ge.setStyle("opacity",0),Ye.style={opacity:1}):Ge.style.opacity!==1&&(Ye.style={opacity:1})),Oe.add(Ge,Ye,He,qe))})},this),this._state="animating",Oe.done(pe(function(){this._state="ready",ke.renderFinally()},this)).start()}},_resetController:function(Re){var ke=this._controller;ke||(ke=this._controller=new se(Re.getZr()),ke.enable(this.seriesModel.get("roam")),ke.on("pan",pe(this._onPan,this)),ke.on("zoom",pe(this._onZoom,this)));var Be=new le(0,0,Re.getWidth(),Re.getHeight());ke.setPointerChecker(function(Ne,He,qe){return Be.contain(He,qe)})},_clearController:function(){var Re=this._controller;Re&&(Re.dispose(),Re=null)},_onPan:function(Re){if(this._state!=="animating"&&(Math.abs(Re.dx)>ye||Math.abs(Re.dy)>ye)){var ke=this.seriesModel.getData().tree.root;if(!ke)return;var Be=ke.getLayout();if(!Be)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:Be.x+Re.dx,y:Be.y+Re.dy,width:Be.width,height:Be.height}})}},_onZoom:function(Re){var ke=Re.originX,Be=Re.originY;if(this._state!=="animating"){var Ne=this.seriesModel.getData().tree.root;if(!Ne)return;var He=Ne.getLayout();if(!He)return;var qe=new le(He.x,He.y,He.width,He.height),Oe=this.seriesModel.layoutInfo;ke-=Oe.x,Be-=Oe.y;var ze=ue.create();ue.translate(ze,ze,[-ke,-Be]),ue.scale(ze,ze,[Re.scale,Re.scale]),ue.translate(ze,ze,[ke,Be]),qe.applyTransform(ze),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:qe.x,y:qe.y,width:qe.width,height:qe.height}})}},_initEvents:function(Re){Re.on("click",function(ke){if(this._state==="ready"){var Be=this.seriesModel.get("nodeClick",!0);if(Be){var Ne=this.findTarget(ke.offsetX,ke.offsetY);if(Ne){var He=Ne.node;if(He.getLayout().isLeafRoot)this._rootToNode(Ne);else if(Be==="zoomToNode")this._zoomToNode(Ne);else if(Be==="link"){var qe=He.hostTree.data.getItemModel(He.dataIndex),Oe=qe.get("link",!0),ze=qe.get("target",!0)||"blank";Oe&&fe(Oe,ze)}}}}},this)},_renderBreadcrumb:function(Re,ke,Be){Be||(Be=Re.get("leafDepth",!0)!=null?{node:Re.getViewRoot()}:this.findTarget(ke.getWidth()/2,ke.getHeight()/2),Be||(Be={node:Re.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new oe(this.group))).render(Re,ke,Be.node,pe(Ne,this));function Ne(He){this._state!=="animating"&&(ie.aboveViewRoot(Re.getViewRoot(),He)?this._rootToNode({node:He}):this._zoomToNode({node:He}))}},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=Ie(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(Re){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:Re.node})},_rootToNode:function(Re){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:Re.node})},findTarget:function(Re,ke){var Be,Ne=this.seriesModel.getViewRoot();return Ne.eachNode({attr:"viewChildren",order:"preorder"},function(He){var qe=this._storage.background[He.getRawIndex()];if(qe){var Oe=qe.transformCoordToLocal(Re,ke),ze=qe.shape;if(ze.x<=Oe[0]&&Oe[0]<=ze.x+ze.width&&ze.y<=Oe[1]&&Oe[1]<=ze.y+ze.height)Be={node:He,offsetX:Oe[0],offsetY:Oe[1]};else return!1}},this),Be}});function Ie(){return{nodeGroup:[],background:[],content:[]}}function Ce(Re,ke,Be,Ne,He,qe,Oe,ze,Ve,Ge){if(!Oe)return;var We=Oe.getLayout(),Ue=Re.getData();if(Ue.setItemGraphicEl(Oe.dataIndex,null),!We||!We.isInView)return;var Ye=We.width,Ze=We.height,Xe=We.borderWidth,it=We.invisible,at=Oe.getRawIndex(),ut=ze&&ze.getRawIndex(),dt=Oe.viewChildren,pt=We.upperHeight,gt=dt&&dt.length,bt=Oe.getModel("itemStyle"),Tt=Oe.getModel("emphasis.itemStyle"),At=Dt("nodeGroup",ve);if(!At)return;if(Ve.add(At),At.attr("position",[We.x||0,We.y||0]),At.__tmNodeWidth=Ye,At.__tmNodeHeight=Ze,We.isAboveViewRoot)return At;var Mt=Oe.getModel(),qt=Dt("background",ge,Ge,we);if(qt&&Ct(At,qt,gt&&We.upperLabelHeight),gt)ae.isHighDownDispatcher(At)&&ae.setAsHighDownDispatcher(At,!1),qt&&(ae.setAsHighDownDispatcher(qt,!0),Ue.setItemGraphicEl(Oe.dataIndex,qt));else{var St=Dt("content",ge,Ge,Ae);St&&Ot(At,St),qt&&ae.isHighDownDispatcher(qt)&&ae.setAsHighDownDispatcher(qt,!1),ae.setAsHighDownDispatcher(At,!0),Ue.setItemGraphicEl(Oe.dataIndex,At)}return At;function Ct(Lt,Ft,Ht){if(Ft.dataIndex=Oe.dataIndex,Ft.seriesIndex=Re.seriesIndex,Ft.setShape({x:0,y:0,width:Ye,height:Ze}),it)ct(Ft);else{Ft.invisible=!1;var Kt=Oe.getVisual("borderColor",!0),Zt=Tt.get("borderColor"),jt=De(bt);jt.fill=Kt;var fr=Te(Tt);if(fr.fill=Zt,Ht){var _r=Ye-2*Xe;vt(jt,fr,Kt,_r,pt,{x:Xe,y:0,width:_r,height:pt})}else jt.text=fr.text=null;Ft.setStyle(jt),ae.setElementHoverStyle(Ft,fr)}Lt.add(Ft)}function Ot(Lt,Ft){Ft.dataIndex=Oe.dataIndex,Ft.seriesIndex=Re.seriesIndex;var Ht=Math.max(Ye-2*Xe,0),Kt=Math.max(Ze-2*Xe,0);if(Ft.culling=!0,Ft.setShape({x:Xe,y:Xe,width:Ht,height:Kt}),it)ct(Ft);else{Ft.invisible=!1;var Zt=Oe.getVisual("color",!0),jt=De(bt);jt.fill=Zt;var fr=Te(Tt);vt(jt,fr,Zt,Ht,Kt),Ft.setStyle(jt),ae.setElementHoverStyle(Ft,fr)}Lt.add(Ft)}function ct(Lt){!Lt.invisible&&qe.push(Lt)}function vt(Lt,Ft,Ht,Kt,Zt,jt){var fr=Mt.get("name"),_r=Mt.getModel(jt?xe:_e),Rr=Mt.getModel(jt?$e:be),$r=_r.getShallow("show");ae.setLabelStyle(Lt,Ft,_r,Rr,{defaultText:$r?fr:null,autoColor:Ht,isRectText:!0,labelFetcher:Re,labelDataIndex:Oe.dataIndex,labelProp:jt?"upperLabel":"label"}),yt(Lt,jt,We),yt(Ft,jt,We),jt&&(Lt.textRect=te.clone(jt)),Lt.truncate=$r&&_r.get("ellipsis")?{outerWidth:Kt,outerHeight:Zt,minChar:2}:null}function yt(Lt,Ft,Ht){var Kt=Lt.text;if(!Ft&&Ht.isLeafRoot&&Kt!=null){var Zt=Re.get("drillDownIcon",!0);Lt.text=Zt?Zt+" "+Kt:Kt}}function Dt(Lt,Ft,Ht,Kt){var Zt=ut!=null&&Be[Lt][ut],jt=He[Lt];return Zt?(Be[Lt][ut]=null,Pt(jt,Zt,Lt)):it||(Zt=new Ft({z:Ee(Ht,Kt)}),Zt.__tmDepth=Ht,Zt.__tmStorageName=Lt,It(jt,Zt,Lt)),ke[Lt][at]=Zt}function Pt(Lt,Ft,Ht){var Kt=Lt[at]={};Kt.old=Ht==="nodeGroup"?Ft.position.slice():te.extend({},Ft.shape)}function It(Lt,Ft,Ht){var Kt=Lt[at]={},Zt=Oe.parentNode;if(Zt&&(!Ne||Ne.direction==="drillDown")){var jt=0,fr=0,_r=He.background[Zt.getRawIndex()];!Ne&&_r&&_r.old&&(jt=_r.old.width,fr=_r.old.height),Kt.old=Ht==="nodeGroup"?[0,fr]:{x:jt,y:fr,width:0,height:0}}Kt.fadein=Ht!=="nodeGroup"}}function Ee(Re,ke){var Be=Re*Se+ke;return(Be-1)/Be}return TreemapView$2=Me,TreemapView$2}var treemapAction={},hasRequiredTreemapAction;function requireTreemapAction(){if(hasRequiredTreemapAction)return treemapAction;hasRequiredTreemapAction=1;for(var ee=echarts$1,te=requireTreeHelper(),ae=function(){},ne=["treemapZoomToNode","treemapRender","treemapMove"],ie=0;ie<ne.length;ie++)ee.registerAction({type:ne[ie],update:"updateView"},ae);return ee.registerAction({type:"treemapRootToNode",update:"updateView"},function(oe,se){se.eachComponent({mainType:"series",subType:"treemap",query:oe},le);function le(ue,ce){var de=["treemapZoomToNode","treemapRootToNode"],he=te.retrieveTargetInfo(oe,de,ue);if(he){var fe=ue.getViewRoot();fe&&(oe.direction=te.aboveViewRoot(fe,he.node)?"rollUp":"drillDown"),ue.resetViewRoot(he.node)}}}),treemapAction}var VisualMapping_1,hasRequiredVisualMapping;function requireVisualMapping(){if(hasRequiredVisualMapping)return VisualMapping_1;hasRequiredVisualMapping=1;var ee=util$a,te=color$2,ae=requireNumber(),ne=ae.linearMap,ie=ee.each,oe=ee.isObject,se=-1,le=function(we){var Ae=we.mappingMethod,Te=we.type,De=this.option=ee.clone(we);this.type=Te,this.mappingMethod=Ae,this._normalizeData=xe[Ae];var Me=ue[Te];this.applyVisual=Me.applyVisual,this.getColorMapper=Me.getColorMapper,this._doMap=Me._doMap[Ae],Ae==="piecewise"?(he(De),ce(De)):Ae==="category"?De.categories?de(De):he(De,!0):(ee.assert(Ae!=="linear"||De.dataExtent),he(De))};le.prototype={constructor:le,mapValueToVisual:function(we){var Ae=this._normalizeData(we);return this._doMap(Ae,we)},getNormalizer:function(){return ee.bind(this._normalizeData,this)}};var ue=le.visualHandlers={color:{applyVisual:ve("color"),getColorMapper:function(){var we=this.option;return ee.bind(we.mappingMethod==="category"?function(Ae,Te){return!Te&&(Ae=this._normalizeData(Ae)),ge.call(this,Ae)}:function(Ae,Te,De){var Me=!!De;return!Te&&(Ae=this._normalizeData(Ae)),De=te.fastLerp(Ae,we.parsedVisual,De),Me?De:te.stringify(De,"rgba")},this)},_doMap:{linear:function(we){return te.stringify(te.fastLerp(we,this.option.parsedVisual),"rgba")},category:ge,piecewise:function(we,Ae){var Te=_e.call(this,Ae);return Te==null&&(Te=te.stringify(te.fastLerp(we,this.option.parsedVisual),"rgba")),Te},fixed:me}},colorHue:fe(function(we,Ae){return te.modifyHSL(we,Ae)}),colorSaturation:fe(function(we,Ae){return te.modifyHSL(we,null,Ae)}),colorLightness:fe(function(we,Ae){return te.modifyHSL(we,null,null,Ae)}),colorAlpha:fe(function(we,Ae){return te.modifyAlpha(we,Ae)}),opacity:{applyVisual:ve("opacity"),_doMap:ye([0,1])},liftZ:{applyVisual:ve("liftZ"),_doMap:{linear:me,category:me,piecewise:me,fixed:me}},symbol:{applyVisual:function(we,Ae,Te){var De=this.mapValueToVisual(we);if(ee.isString(De))Te("symbol",De);else if(oe(De))for(var Me in De)De.hasOwnProperty(Me)&&Te(Me,De[Me])},_doMap:{linear:pe,category:ge,piecewise:function(we,Ae){var Te=_e.call(this,Ae);return Te==null&&(Te=pe.call(this,we)),Te},fixed:me}},symbolSize:{applyVisual:ve("symbolSize"),_doMap:ye([0,1])}};function ce(we){var Ae=we.pieceList;we.hasSpecialVisual=!1,ee.each(Ae,function(Te,De){Te.originIndex=De,Te.visual!=null&&(we.hasSpecialVisual=!0)})}function de(we){var Ae=we.categories,Te=we.visual,De=we.categoryMap={};if(ie(Ae,function(Ce,Ee){De[Ce]=Ee}),!ee.isArray(Te)){var Me=[];ee.isObject(Te)?ie(Te,function(Ce,Ee){var Re=De[Ee];Me[Re??se]=Ce}):Me[se]=Te,Te=be(we,Me)}for(var Ie=Ae.length-1;Ie>=0;Ie--)Te[Ie]==null&&(delete De[Ae[Ie]],Ae.pop())}function he(we,Ae){var Te=we.visual,De=[];ee.isObject(Te)?ie(Te,function(Ie){De.push(Ie)}):Te!=null&&De.push(Te);var Me={color:1,symbol:1};!Ae&&De.length===1&&!Me.hasOwnProperty(we.type)&&(De[1]=De[0]),be(we,De)}function fe(we){return{applyVisual:function(Ae,Te,De){Ae=this.mapValueToVisual(Ae),De("color",we(Te("color"),Ae))},_doMap:ye([0,1])}}function pe(we){var Ae=this.option.visual;return Ae[Math.round(ne(we,[0,1],[0,Ae.length-1],!0))]||{}}function ve(we){return function(Ae,Te,De){De(we,this.mapValueToVisual(Ae))}}function ge(we){var Ae=this.option.visual;return Ae[this.option.loop&&we!==se?we%Ae.length:we]}function me(){return this.option.visual[0]}function ye(we){return{linear:function(Ae){return ne(Ae,we,this.option.visual,!0)},category:ge,piecewise:function(Ae,Te){var De=_e.call(this,Te);return De==null&&(De=ne(Ae,we,this.option.visual,!0)),De},fixed:me}}function _e(we){var Ae=this.option,Te=Ae.pieceList;if(Ae.hasSpecialVisual){var De=le.findPieceIndex(we,Te),Me=Te[De];if(Me&&Me.visual)return Me.visual[this.type]}}function be(we,Ae){return we.visual=Ae,we.type==="color"&&(we.parsedVisual=ee.map(Ae,function(Te){return te.parse(Te)})),Ae}var xe={linear:function(we){return ne(we,this.option.dataExtent,[0,1],!0)},piecewise:function(we){var Ae=this.option.pieceList,Te=le.findPieceIndex(we,Ae,!0);if(Te!=null)return ne(Te,[0,Ae.length-1],[0,1],!0)},category:function(we){var Ae=this.option.categories?this.option.categoryMap[we]:we;return Ae??se},fixed:ee.noop};le.listVisualTypes=function(){var we=[];return ee.each(ue,function(Ae,Te){we.push(Te)}),we},le.addVisualHandler=function(we,Ae){ue[we]=Ae},le.isValidType=function(we){return ue.hasOwnProperty(we)},le.eachVisual=function(we,Ae,Te){ee.isObject(we)?ee.each(we,Ae,Te):Ae.call(Te,we)},le.mapVisual=function(we,Ae,Te){var De,Me=ee.isArray(we)?[]:ee.isObject(we)?{}:(De=!0,null);return le.eachVisual(we,function(Ie,Ce){var Ee=Ae.call(Te,Ie,Ce);De?Me=Ee:Me[Ce]=Ee}),Me},le.retrieveVisuals=function(we){var Ae={},Te;return we&&ie(ue,function(De,Me){we.hasOwnProperty(Me)&&(Ae[Me]=we[Me],Te=!0)}),Te?Ae:null},le.prepareVisualTypes=function(we){if(oe(we)){var Ae=[];ie(we,function(Te,De){Ae.push(De)}),we=Ae}else if(ee.isArray(we))we=we.slice();else return[];return we.sort(function(Te,De){return De==="color"&&Te!=="color"&&Te.indexOf("color")===0?1:-1}),we},le.dependsOn=function(we,Ae){return Ae==="color"?!!(we&&we.indexOf(Ae)===0):we===Ae},le.findPieceIndex=function(we,Ae,Te){for(var De,Me=1/0,Ie=0,Ce=Ae.length;Ie<Ce;Ie++){var Ee=Ae[Ie].value;if(Ee!=null){if(Ee===we||typeof Ee=="string"&&Ee===we+"")return Ie;Te&&Ne(Ee,Ie)}}for(var Ie=0,Ce=Ae.length;Ie<Ce;Ie++){var Re=Ae[Ie],ke=Re.interval,Be=Re.close;if(ke){if(ke[0]===-1/0){if($e(Be[1],we,ke[1]))return Ie}else if(ke[1]===1/0){if($e(Be[0],ke[0],we))return Ie}else if($e(Be[0],ke[0],we)&&$e(Be[1],we,ke[1]))return Ie;Te&&Ne(ke[0],Ie),Te&&Ne(ke[1],Ie)}}if(Te)return we===1/0?Ae.length-1:we===-1/0?0:De;function Ne(He,qe){var Oe=Math.abs(He-we);Oe<Me&&(Me=Oe,De=qe)}};function $e(we,Ae,Te){return we?Ae<=Te:Ae<Te}var Se=le;return VisualMapping_1=Se,VisualMapping_1}var treemapVisual$1,hasRequiredTreemapVisual;function requireTreemapVisual(){if(hasRequiredTreemapVisual)return treemapVisual$1;hasRequiredTreemapVisual=1;var ee=requireVisualMapping(),te=color$2,ae=util$a,ne=ae.isArray,ie="itemStyle",oe={seriesType:"treemap",reset:function(ve,ge,me,ye){var _e=ve.getData().tree,be=_e.root;be.isRemoved()||se(be,{},ve.getViewRoot().getAncestors(),ve)}};function se(ve,ge,me,ye){var _e=ve.getModel(),be=ve.getLayout();if(!(!be||be.invisible||!be.isInView)){var xe=ve.getModel(ie),$e=le(xe,ge,ye),Se=xe.get("borderColor"),we=xe.get("borderColorSaturation"),Ae;we!=null&&(Ae=ue($e),Se=ce(we,Ae)),ve.setVisual("borderColor",Se);var Te=ve.viewChildren;if(!Te||!Te.length)Ae=ue($e),ve.setVisual("color",Ae);else{var De=he(ve,_e,be,xe,$e,Te);ae.each(Te,function(Me,Ie){if(Me.depth>=me.length||Me===me[Me.depth]){var Ce=pe(_e,$e,Me,Ie,De,ye);se(Me,Ce,me,ye)}})}}}function le(ve,ge,me){var ye=ae.extend({},ge),_e=me.designatedVisualItemStyle;return ae.each(["color","colorAlpha","colorSaturation"],function(be){_e[be]=ge[be];var xe=ve.get(be);_e[be]=null,xe!=null&&(ye[be]=xe)}),ye}function ue(ve){var ge=de(ve,"color");if(ge){var me=de(ve,"colorAlpha"),ye=de(ve,"colorSaturation");return ye&&(ge=te.modifyHSL(ge,null,null,ye)),me&&(ge=te.modifyAlpha(ge,me)),ge}}function ce(ve,ge){return ge!=null?te.modifyHSL(ge,null,null,ve):null}function de(ve,ge){var me=ve[ge];if(me!=null&&me!=="none")return me}function he(ve,ge,me,ye,_e,be){if(!(!be||!be.length)){var xe=fe(ge,"color")||_e.color!=null&&_e.color!=="none"&&(fe(ge,"colorAlpha")||fe(ge,"colorSaturation"));if(xe){var $e=ge.get("visualMin"),Se=ge.get("visualMax"),we=me.dataExtent.slice();$e!=null&&$e<we[0]&&(we[0]=$e),Se!=null&&Se>we[1]&&(we[1]=Se);var Ae=ge.get("colorMappingBy"),Te={type:xe.name,dataExtent:we,visual:xe.range};Te.type==="color"&&(Ae==="index"||Ae==="id")?(Te.mappingMethod="category",Te.loop=!0):Te.mappingMethod="linear";var De=new ee(Te);return De.__drColorMappingBy=Ae,De}}}function fe(ve,ge){var me=ve.get(ge);return ne(me)&&me.length?{name:ge,range:me}:null}function pe(ve,ge,me,ye,_e,be){var xe=ae.extend({},ge);if(_e){var $e=_e.type,Se=$e==="color"&&_e.__drColorMappingBy,we=Se==="index"?ye:Se==="id"?be.mapIdToIndex(me.getId()):me.getValue(ve.get("visualDimension"));xe[$e]=_e.mapValueToVisual(we)}return xe}return treemapVisual$1=oe,treemapVisual$1}var treemapLayout$1,hasRequiredTreemapLayout;function requireTreemapLayout(){if(hasRequiredTreemapLayout)return treemapLayout$1;hasRequiredTreemapLayout=1;var ee=util$a,te=BoundingRect_1,ae=requireNumber(),ne=ae.parsePercent,ie=ae.MAX_SAFE_INTEGER,oe=layout$5,se=requireTreeHelper(),le=Math.max,ue=Math.min,ce=ee.retrieve,de=ee.each,he=["itemStyle","borderWidth"],fe=["itemStyle","gapWidth"],pe=["upperLabel","show"],ve=["upperLabel","height"],ge={seriesType:"treemap",reset:function(Me,Ie,Ce,Ee){var Re=Ce.getWidth(),ke=Ce.getHeight(),Be=Me.option,Ne=oe.getLayoutRect(Me.getBoxLayoutParams(),{width:Ce.getWidth(),height:Ce.getHeight()}),He=Be.size||[],qe=ne(ce(Ne.width,He[0]),Re),Oe=ne(ce(Ne.height,He[1]),ke),ze=Ee&&Ee.type,Ve=["treemapZoomToNode","treemapRootToNode"],Ge=se.retrieveTargetInfo(Ee,Ve,Me),We=ze==="treemapRender"||ze==="treemapMove"?Ee.rootRect:null,Ue=Me.getViewRoot(),Ye=se.getPathToRoot(Ue);if(ze!=="treemapMove"){var Ze=ze==="treemapZoomToNode"?we(Me,Ge,Ue,qe,Oe):We?[We.width,We.height]:[qe,Oe],Xe=Be.sort;Xe&&Xe!=="asc"&&Xe!=="desc"&&(Xe="desc");var it={squareRatio:Be.squareRatio,sort:Xe,leafDepth:Be.leafDepth};Ue.hostTree.clearLayouts();var at={x:0,y:0,width:Ze[0],height:Ze[1],area:Ze[0]*Ze[1]};Ue.setLayout(at),me(Ue,it,!1,0);var at=Ue.getLayout();de(Ye,function(dt,pt){var gt=(Ye[pt+1]||Ue).getValue();dt.setLayout(ee.extend({dataExtent:[gt,gt],borderWidth:0,upperHeight:0},at))})}var ut=Me.getData().tree.root;ut.setLayout(Ae(Ne,We,Ge),!0),Me.setLayoutInfo(Ne),Te(ut,new te(-Ne.x,-Ne.y,Re,ke),Ye,Ue,0)}};function me(Me,Ie,Ce,Ee){var Re,ke;if(!Me.isRemoved()){var Be=Me.getLayout();Re=Be.width,ke=Be.height;var Ge=Me.getModel(),Ne=Ge.get(he),He=Ge.get(fe)/2,qe=De(Ge),Oe=Math.max(Ne,qe),ze=Ne-He,Ve=Oe-He,Ge=Me.getModel();Me.setLayout({borderWidth:Ne,upperHeight:Oe,upperLabelHeight:qe},!0),Re=le(Re-2*ze,0),ke=le(ke-ze-Ve,0);var We=Re*ke,Ue=ye(Me,Ge,We,Ie,Ce,Ee);if(Ue.length){var Ye={x:ze,y:Ve,width:Re,height:ke},Ze=ue(Re,ke),Xe=1/0,it=[];it.area=0;for(var at=0,ut=Ue.length;at<ut;){var dt=Ue[at];it.push(dt),it.area+=dt.getLayout().area;var pt=$e(it,Ze,Ie.squareRatio);pt<=Xe?(at++,Xe=pt):(it.area-=it.pop().getLayout().area,Se(it,Ze,Ye,He,!1),Ze=ue(Ye.width,Ye.height),it.length=it.area=0,Xe=1/0)}if(it.length&&Se(it,Ze,Ye,He,!0),!Ce){var gt=Ge.get("childrenVisibleMin");gt!=null&&We<gt&&(Ce=!0)}for(var at=0,ut=Ue.length;at<ut;at++)me(Ue[at],Ie,Ce,Ee+1)}}}function ye(Me,Ie,Ce,Ee,Re,ke){var Be=Me.children||[],Ne=Ee.sort;Ne!=="asc"&&Ne!=="desc"&&(Ne=null);var He=Ee.leafDepth!=null&&Ee.leafDepth<=ke;if(Re&&!He)return Me.viewChildren=[];Be=ee.filter(Be,function(Ge){return!Ge.isRemoved()}),be(Be,Ne);var qe=xe(Ie,Be,Ne);if(qe.sum===0)return Me.viewChildren=[];if(qe.sum=_e(Ie,Ce,qe.sum,Ne,Be),qe.sum===0)return Me.viewChildren=[];for(var Oe=0,ze=Be.length;Oe<ze;Oe++){var Ve=Be[Oe].getValue()/qe.sum*Ce;Be[Oe].setLayout({area:Ve})}return He&&(Be.length&&Me.setLayout({isLeafRoot:!0},!0),Be.length=0),Me.viewChildren=Be,Me.setLayout({dataExtent:qe.dataExtent},!0),Be}function _e(Me,Ie,Ce,Ee,Re){if(!Ee)return Ce;for(var ke=Me.get("visibleMin"),Be=Re.length,Ne=Be,He=Be-1;He>=0;He--){var qe=Re[Ee==="asc"?Be-He-1:He].getValue();qe/Ce*Ie<ke&&(Ne=He,Ce-=qe)}return Ee==="asc"?Re.splice(0,Be-Ne):Re.splice(Ne,Be-Ne),Ce}function be(Me,Ie){return Ie&&Me.sort(function(Ce,Ee){var Re=Ie==="asc"?Ce.getValue()-Ee.getValue():Ee.getValue()-Ce.getValue();return Re===0?Ie==="asc"?Ce.dataIndex-Ee.dataIndex:Ee.dataIndex-Ce.dataIndex:Re}),Me}function xe(Me,Ie,Ce){for(var Ee=0,Re=0,ke=Ie.length;Re<ke;Re++)Ee+=Ie[Re].getValue();var Be=Me.get("visualDimension"),Ne;if(!Ie||!Ie.length)Ne=[NaN,NaN];else if(Be==="value"&&Ce)Ne=[Ie[Ie.length-1].getValue(),Ie[0].getValue()],Ce==="asc"&&Ne.reverse();else{var Ne=[1/0,-1/0];de(Ie,function(qe){var Oe=qe.getValue(Be);Oe<Ne[0]&&(Ne[0]=Oe),Oe>Ne[1]&&(Ne[1]=Oe)})}return{sum:Ee,dataExtent:Ne}}function $e(Me,Ie,Ce){for(var Ee=0,Re=1/0,ke=0,Be,Ne=Me.length;ke<Ne;ke++)Be=Me[ke].getLayout().area,Be&&(Be<Re&&(Re=Be),Be>Ee&&(Ee=Be));var He=Me.area*Me.area,qe=Ie*Ie*Ce;return He?le(qe*Ee/He,He/(qe*Re)):1/0}function Se(Me,Ie,Ce,Ee,Re){var ke=Ie===Ce.width?0:1,Be=1-ke,Ne=["x","y"],He=["width","height"],qe=Ce[Ne[ke]],Oe=Ie?Me.area/Ie:0;(Re||Oe>Ce[He[Be]])&&(Oe=Ce[He[Be]]);for(var ze=0,Ve=Me.length;ze<Ve;ze++){var Ge=Me[ze],We={},Ue=Oe?Ge.getLayout().area/Oe:0,Ye=We[He[Be]]=le(Oe-2*Ee,0),Ze=Ce[Ne[ke]]+Ce[He[ke]]-qe,Xe=ze===Ve-1||Ze<Ue?Ze:Ue,it=We[He[ke]]=le(Xe-2*Ee,0);We[Ne[Be]]=Ce[Ne[Be]]+ue(Ee,Ye/2),We[Ne[ke]]=qe+ue(Ee,it/2),qe+=Xe,Ge.setLayout(We,!0)}Ce[Ne[Be]]+=Oe,Ce[He[Be]]-=Oe}function we(Me,Ie,Ce,Ee,Re){var ke=(Ie||{}).node,Be=[Ee,Re];if(!ke||ke===Ce)return Be;for(var Ne,He=Ee*Re,qe=He*Me.option.zoomToNodeRatio;Ne=ke.parentNode;){for(var Oe=0,ze=Ne.children,Ve=0,Ge=ze.length;Ve<Ge;Ve++)Oe+=ze[Ve].getValue();var We=ke.getValue();if(We===0)return Be;qe*=Oe/We;var Ue=Ne.getModel(),Ye=Ue.get(he),Ze=Math.max(Ye,De(Ue));qe+=4*Ye*Ye+(3*Ye+Ze)*Math.pow(qe,.5),qe>ie&&(qe=ie),ke=Ne}qe<He&&(qe=He);var Xe=Math.pow(qe/He,.5);return[Ee*Xe,Re*Xe]}function Ae(Me,Ie,Ce){if(Ie)return{x:Ie.x,y:Ie.y};var Ee={x:0,y:0};if(!Ce)return Ee;var Re=Ce.node,ke=Re.getLayout();if(!ke)return Ee;for(var Be=[ke.width/2,ke.height/2],Ne=Re;Ne;){var He=Ne.getLayout();Be[0]+=He.x,Be[1]+=He.y,Ne=Ne.parentNode}return{x:Me.width/2-Be[0],y:Me.height/2-Be[1]}}function Te(Me,Ie,Ce,Ee,Re){var ke=Me.getLayout(),Be=Ce[Re],Ne=Be&&Be===Me;if(!(Be&&!Ne||Re===Ce.length&&Me!==Ee)){Me.setLayout({isInView:!0,invisible:!Ne&&!Ie.intersect(ke),isAboveViewRoot:Ne},!0);var He=new te(Ie.x-ke.x,Ie.y-ke.y,Ie.width,Ie.height);de(Me.viewChildren||[],function(qe){Te(qe,He,Ce,Ee,Re+1)})}}function De(Me){return Me.get(pe)?Me.get(ve):0}return treemapLayout$1=ge,treemapLayout$1}var hasRequiredTreemap;function requireTreemap(){if(hasRequiredTreemap)return treemap;hasRequiredTreemap=1;var ee=echarts$1;requireTreemapSeries(),requireTreemapView(),requireTreemapAction();var te=requireTreemapVisual(),ae=requireTreemapLayout();return ee.registerVisual(te),ee.registerLayout(ae),treemap}var graph={},Graph_1,hasRequiredGraph$1;function requireGraph$1(){if(hasRequiredGraph$1)return Graph_1;hasRequiredGraph$1=1;var ee=util$a,te=clazz,ae=te.enableClassCheck;function ne(de){return"_EC_"+de}var ie=function(de){this._directed=de||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},oe=ie.prototype;oe.type="graph",oe.isDirected=function(){return this._directed},oe.addNode=function(de,he){de=de==null?""+he:""+de;var fe=this._nodesMap;if(!fe[ne(de)]){var pe=new se(de,he);return pe.hostGraph=this,this.nodes.push(pe),fe[ne(de)]=pe,pe}},oe.getNodeByIndex=function(de){var he=this.data.getRawIndex(de);return this.nodes[he]},oe.getNodeById=function(de){return this._nodesMap[ne(de)]},oe.addEdge=function(de,he,fe){var pe=this._nodesMap,ve=this._edgesMap;if(typeof de=="number"&&(de=this.nodes[de]),typeof he=="number"&&(he=this.nodes[he]),se.isInstance(de)||(de=pe[ne(de)]),se.isInstance(he)||(he=pe[ne(he)]),!(!de||!he)){var ge=de.id+"-"+he.id,me=new le(de,he,fe);return me.hostGraph=this,this._directed&&(de.outEdges.push(me),he.inEdges.push(me)),de.edges.push(me),de!==he&&he.edges.push(me),this.edges.push(me),ve[ge]=me,me}},oe.getEdgeByIndex=function(de){var he=this.edgeData.getRawIndex(de);return this.edges[he]},oe.getEdge=function(de,he){se.isInstance(de)&&(de=de.id),se.isInstance(he)&&(he=he.id);var fe=this._edgesMap;return this._directed?fe[de+"-"+he]:fe[de+"-"+he]||fe[he+"-"+de]},oe.eachNode=function(de,he){for(var fe=this.nodes,pe=fe.length,ve=0;ve<pe;ve++)fe[ve].dataIndex>=0&&de.call(he,fe[ve],ve)},oe.eachEdge=function(de,he){for(var fe=this.edges,pe=fe.length,ve=0;ve<pe;ve++)fe[ve].dataIndex>=0&&fe[ve].node1.dataIndex>=0&&fe[ve].node2.dataIndex>=0&&de.call(he,fe[ve],ve)},oe.breadthFirstTraverse=function(de,he,fe,pe){if(se.isInstance(he)||(he=this._nodesMap[ne(he)]),!!he){for(var ve=fe==="out"?"outEdges":fe==="in"?"inEdges":"edges",ge=0;ge<this.nodes.length;ge++)this.nodes[ge].__visited=!1;if(!de.call(pe,he,null))for(var me=[he];me.length;)for(var ye=me.shift(),_e=ye[ve],ge=0;ge<_e.length;ge++){var be=_e[ge],xe=be.node1===ye?be.node2:be.node1;if(!xe.__visited){if(de.call(pe,xe,ye))return;me.push(xe),xe.__visited=!0}}}},oe.update=function(){for(var de=this.data,he=this.edgeData,fe=this.nodes,pe=this.edges,ve=0,ge=fe.length;ve<ge;ve++)fe[ve].dataIndex=-1;for(var ve=0,ge=de.count();ve<ge;ve++)fe[de.getRawIndex(ve)].dataIndex=ve;he.filterSelf(function(me){var ye=pe[he.getRawIndex(me)];return ye.node1.dataIndex>=0&&ye.node2.dataIndex>=0});for(var ve=0,ge=pe.length;ve<ge;ve++)pe[ve].dataIndex=-1;for(var ve=0,ge=he.count();ve<ge;ve++)pe[he.getRawIndex(ve)].dataIndex=ve},oe.clone=function(){for(var de=new ie(this._directed),he=this.nodes,fe=this.edges,pe=0;pe<he.length;pe++)de.addNode(he[pe].id,he[pe].dataIndex);for(var pe=0;pe<fe.length;pe++){var ve=fe[pe];de.addEdge(ve.node1.id,ve.node2.id,ve.dataIndex)}return de};function se(de,he){this.id=de??"",this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=he??-1}se.prototype={constructor:se,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(de){if(!(this.dataIndex<0)){var he=this.hostGraph,fe=he.data.getItemModel(this.dataIndex);return fe.getModel(de)}}};function le(de,he,fe){this.node1=de,this.node2=he,this.dataIndex=fe??-1}le.prototype.getModel=function(de){if(!(this.dataIndex<0)){var he=this.hostGraph,fe=he.edgeData.getItemModel(this.dataIndex);return fe.getModel(de)}};var ue=function(de,he){return{getValue:function(fe){var pe=this[de][he];return pe.get(pe.getDimension(fe||"value"),this.dataIndex)},setVisual:function(fe,pe){this.dataIndex>=0&&this[de][he].setItemVisual(this.dataIndex,fe,pe)},getVisual:function(fe,pe){return this[de][he].getItemVisual(this.dataIndex,fe,pe)},setLayout:function(fe,pe){this.dataIndex>=0&&this[de][he].setItemLayout(this.dataIndex,fe,pe)},getLayout:function(){return this[de][he].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[de][he].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[de][he].getRawIndex(this.dataIndex)}}};ee.mixin(se,ue("hostGraph","data")),ee.mixin(le,ue("hostGraph","edgeData")),ie.Node=se,ie.Edge=le,ae(se),ae(le);var ce=ie;return Graph_1=ce,Graph_1}var createGraphFromNodeEdge$1,hasRequiredCreateGraphFromNodeEdge;function requireCreateGraphFromNodeEdge(){if(hasRequiredCreateGraphFromNodeEdge)return createGraphFromNodeEdge$1;hasRequiredCreateGraphFromNodeEdge=1;var ee=util$a,te=requireList(),ae=requireGraph$1(),ne=requireLinkList(),ie=requireCreateDimensions(),oe=CoordinateSystem$1,se=requireCreateListFromArray();function le(ue,ce,de,he,fe){for(var pe=new ae(he),ve=0;ve<ue.length;ve++)pe.addNode(ee.retrieve(ue[ve].id,ue[ve].name,ve),ve);for(var ge=[],me=[],ye=0,ve=0;ve<ce.length;ve++){var _e=ce[ve],be=_e.source,xe=_e.target;pe.addEdge(be,xe,ye)&&(me.push(_e),ge.push(ee.retrieve(_e.id,be+" > "+xe)),ye++)}var $e=de.get("coordinateSystem"),Se;if($e==="cartesian2d"||$e==="polar")Se=se(ue,de);else{var we=oe.get($e),Ae=we&&we.type!=="view"?we.dimensions||[]:[];ee.indexOf(Ae,"value")<0&&Ae.concat(["value"]);var Te=ie(ue,{coordDimensions:Ae});Se=new te(Te,de),Se.initData(ue)}var De=new te(["value"],de);return De.initData(me,ge),fe&&fe(Se,De),ne({mainData:Se,struct:pe,structAttr:"graph",datas:{node:Se,edge:De},datasAttr:{node:"data",edge:"edgeData"}}),pe.update(),pe}return createGraphFromNodeEdge$1=le,createGraphFromNodeEdge$1}var multipleGraphEdgeHelper={},hasRequiredMultipleGraphEdgeHelper;function requireMultipleGraphEdgeHelper(){if(hasRequiredMultipleGraphEdgeHelper)return multipleGraphEdgeHelper;hasRequiredMultipleGraphEdgeHelper=1;var ee=util$a,te="-->",ae=function(fe){return fe.get("autoCurveness")||null},ne=function(fe,pe){var ve=ae(fe),ge=20,me=[];if(typeof ve=="number")ge=ve;else if(ee.isArray(ve)){fe.__curvenessList=ve;return}pe>ge&&(ge=pe);var ye=ge%2?ge+2:ge+3;me=[];for(var _e=0;_e<ye;_e++)me.push((_e%2?_e+1:_e)/10*(_e%2?-1:1));fe.__curvenessList=me},ie=function(fe,pe,ve){var ge=[fe.id,fe.dataIndex].join("."),me=[pe.id,pe.dataIndex].join(".");return[ve.uid,ge,me].join(te)},oe=function(fe){var pe=fe.split(te);return[pe[0],pe[2],pe[1]].join(te)},se=function(fe,pe){var ve=ie(fe.node1,fe.node2,pe);return pe.__edgeMap[ve]},le=function(fe,pe){var ve=ue(ie(fe.node1,fe.node2,pe),pe),ge=ue(ie(fe.node2,fe.node1,pe),pe);return ve+ge},ue=function(fe,pe){var ve=pe.__edgeMap;return ve[fe]?ve[fe].length:0};function ce(fe){ae(fe)&&(fe.__curvenessList=[],fe.__edgeMap={},ne(fe))}function de(fe,pe,ve,ge){if(ae(ve)){var me=ie(fe,pe,ve),ye=ve.__edgeMap,_e=ye[oe(me)];ye[me]&&!_e?ye[me].isForward=!0:_e&&ye[me]&&(_e.isForward=!0,ye[me].isForward=!1),ye[me]=ye[me]||[],ye[me].push(ge)}}function he(fe,pe,ve,ge){var me=ae(pe),ye=ee.isArray(me);if(!me)return null;var _e=se(fe,pe);if(!_e)return null;for(var be=-1,xe=0;xe<_e.length;xe++)if(_e[xe]===ve){be=xe;break}var $e=le(fe,pe);ne(pe,$e),fe.lineStyle=fe.lineStyle||{};var Se=ie(fe.node1,fe.node2,pe),we=pe.__curvenessList,Ae=ye||$e%2?0:1;if(_e.isForward)return we[Ae+be];var Te=oe(Se),De=ue(Te,pe),Me=we[be+De+Ae];return ge?ye?me&&me[0]===0?(De+Ae)%2?Me:-Me:((De%2?0:1)+Ae)%2?Me:-Me:(De+Ae)%2?Me:-Me:we[be+De+Ae]}return multipleGraphEdgeHelper.initCurvenessList=ce,multipleGraphEdgeHelper.createEdgeMapForCurveness=de,multipleGraphEdgeHelper.getCurvenessForEdge=he,multipleGraphEdgeHelper}var GraphSeries_1,hasRequiredGraphSeries;function requireGraphSeries(){if(hasRequiredGraphSeries)return GraphSeries_1;hasRequiredGraphSeries=1;var ee=echarts$1,te=requireList(),ae=util$a,ne=model,ie=ne.defaultEmphasis,oe=Model_1,se=format$6,le=se.encodeHTML,ue=requireCreateGraphFromNodeEdge(),ce=requireLegendVisualProvider(),de=requireMultipleGraphEdgeHelper(),he=de.initCurvenessList,fe=de.createEdgeMapForCurveness,pe=ee.extendSeriesModel({type:"series.graph",init:function(ge){pe.superApply(this,"init",arguments);var me=this;function ye(){return me._categoriesData}this.legendVisualProvider=new ce(ye,ye),this.fillDataTextStyle(ge.edges||ge.links),this._updateCategoriesData()},mergeOption:function(ge){pe.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(ge.edges||ge.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(ge){pe.superApply(this,"mergeDefaultAndTheme",arguments),ie(ge,["edgeLabel"],["show"])},getInitialData:function(ge,me){var ye=ge.edges||ge.links||[],_e=ge.data||ge.nodes||[],be=this;if(_e&&ye){he(this);var xe=ue(_e,ye,this,!0,$e);return ae.each(xe.edges,function(Se){fe(Se.node1,Se.node2,this,Se.dataIndex)},this),xe.data}function $e(Se,we){Se.wrapMethod("getItemModel",function(Ce){var Ee=be._categoriesModels,Re=Ce.getShallow("category"),ke=Ee[Re];return ke&&(ke.parentModel=Ce.parentModel,Ce.parentModel=ke),Ce});var Ae=be.getModel("edgeLabel"),Te=new oe({label:Ae.option},Ae.parentModel,me),De=be.getModel("emphasis.edgeLabel"),Me=new oe({emphasis:{label:De.option}},De.parentModel,me);we.wrapMethod("getItemModel",function(Ce){return Ce.customizeGetParent(Ie),Ce});function Ie(Ce){return Ce=this.parsePath(Ce),Ce&&Ce[0]==="label"?Te:Ce&&Ce[0]==="emphasis"&&Ce[1]==="label"?Me:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(ge,me,ye){if(ye==="edge"){var _e=this.getData(),be=this.getDataParams(ge,ye),xe=_e.graph.getEdgeByIndex(ge),$e=_e.getName(xe.node1.dataIndex),Se=_e.getName(xe.node2.dataIndex),we=[];return $e!=null&&we.push($e),Se!=null&&we.push(Se),we=le(we.join(" > ")),be.value&&(we+=" : "+le(be.value)),we}else return pe.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var ge=ae.map(this.option.categories||[],function(ye){return ye.value!=null?ye:ae.extend({value:0},ye)}),me=new te(["value"],this);me.initData(ge),this._categoriesData=me,this._categoriesModels=me.mapArray(function(ye){return me.getItemModel(ye,!0)})},setZoom:function(ge){this.option.zoom=ge},setCenter:function(ge){this.option.center=ge},isAnimationEnabled:function(){return pe.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}}}}),ve=pe;return GraphSeries_1=ve,GraphSeries_1}var LinePath,hasRequiredLinePath;function requireLinePath(){if(hasRequiredLinePath)return LinePath;hasRequiredLinePath=1;var ee=graphic$6,te=vector$3,ae=ee.Line.prototype,ne=ee.BezierCurve.prototype;function ie(se){return isNaN(+se.cpx1)||isNaN(+se.cpy1)}var oe=ee.extendShape({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(se,le){this[ie(le)?"_buildPathLine":"_buildPathCurve"](se,le)},_buildPathLine:ae.buildPath,_buildPathCurve:ne.buildPath,pointAt:function(se){return this[ie(this.shape)?"_pointAtLine":"_pointAtCurve"](se)},_pointAtLine:ae.pointAt,_pointAtCurve:ne.pointAt,tangentAt:function(se){var le=this.shape,ue=ie(le)?[le.x2-le.x1,le.y2-le.y1]:this._tangentAtCurve(se);return te.normalize(ue,ue)},_tangentAtCurve:ne.tangentAt});return LinePath=oe,LinePath}var Line_1,hasRequiredLine;function requireLine(){if(hasRequiredLine)return Line_1;hasRequiredLine=1;var ee=util$a,te=vector$3,ae=requireSymbol$1(),ne=requireLinePath(),ie=graphic$6,oe=requireNumber(),se=oe.round,le=["fromSymbol","toSymbol"];function ue(me){return"_"+me+"Type"}function ce(me,ye,_e){var be=ye.getItemVisual(_e,me);if(!(!be||be==="none")){var xe=ye.getItemVisual(_e,"color"),$e=ye.getItemVisual(_e,me+"Size"),Se=ye.getItemVisual(_e,me+"Rotate");ee.isArray($e)||($e=[$e,$e]);var we=ae.createSymbol(be,-$e[0]/2,-$e[1]/2,$e[0],$e[1],xe);return we.__specifiedRotation=Se==null||isNaN(Se)?void 0:+Se*Math.PI/180||0,we.name=me,we}}function de(me){var ye=new ne({name:"line",subPixelOptimize:!0});return he(ye.shape,me),ye}function he(me,ye){me.x1=ye[0][0],me.y1=ye[0][1],me.x2=ye[1][0],me.y2=ye[1][1],me.percent=1;var _e=ye[2];_e?(me.cpx1=_e[0],me.cpy1=_e[1]):(me.cpx1=NaN,me.cpy1=NaN)}function fe(){var me=this,ye=me.childOfName("fromSymbol"),_e=me.childOfName("toSymbol"),be=me.childOfName("label");if(!(!ye&&!_e&&be.ignore)){for(var xe=1,$e=this.parent;$e;)$e.scale&&(xe/=$e.scale[0]),$e=$e.parent;var Se=me.childOfName("line");if(!(!this.__dirty&&!Se.__dirty)){var we=Se.shape.percent,Ae=Se.pointAt(0),Te=Se.pointAt(we),De=te.sub([],Te,Ae);if(te.normalize(De,De),ye){ye.attr("position",Ae);var Me=ye.__specifiedRotation;if(Me==null){var Ie=Se.tangentAt(0);ye.attr("rotation",Math.PI/2-Math.atan2(Ie[1],Ie[0]))}else ye.attr("rotation",Me);ye.attr("scale",[xe*we,xe*we])}if(_e){_e.attr("position",Te);var Me=_e.__specifiedRotation;if(Me==null){var Ie=Se.tangentAt(1);_e.attr("rotation",-Math.PI/2-Math.atan2(Ie[1],Ie[0]))}else _e.attr("rotation",Me);_e.attr("scale",[xe*we,xe*we])}if(!be.ignore){be.attr("position",Te);var Ce,Ee,Re,ke,Be=be.__labelDistance,Ne=Be[0]*xe,He=Be[1]*xe,qe=we/2,Ie=Se.tangentAt(qe),Oe=[Ie[1],-Ie[0]],ze=Se.pointAt(qe);Oe[1]>0&&(Oe[0]=-Oe[0],Oe[1]=-Oe[1]);var Ve=Ie[0]<0?-1:1;if(be.__position!=="start"&&be.__position!=="end"){var Ge=-Math.atan2(Ie[1],Ie[0]);Te[0]<Ae[0]&&(Ge=Math.PI+Ge),be.attr("rotation",Ge)}var We;switch(be.__position){case"insideStartTop":case"insideMiddleTop":case"insideEndTop":case"middle":We=-He,Re="bottom";break;case"insideStartBottom":case"insideMiddleBottom":case"insideEndBottom":We=He,Re="top";break;default:We=0,Re="middle"}switch(be.__position){case"end":Ce=[De[0]*Ne+Te[0],De[1]*He+Te[1]],Ee=De[0]>.8?"left":De[0]<-.8?"right":"center",Re=De[1]>.8?"top":De[1]<-.8?"bottom":"middle";break;case"start":Ce=[-De[0]*Ne+Ae[0],-De[1]*He+Ae[1]],Ee=De[0]>.8?"right":De[0]<-.8?"left":"center",Re=De[1]>.8?"bottom":De[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":Ce=[Ne*Ve+Ae[0],Ae[1]+We],Ee=Ie[0]<0?"right":"left",ke=[-Ne*Ve,-We];break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":Ce=[ze[0],ze[1]+We],Ee="center",ke=[0,-We];break;case"insideEndTop":case"insideEnd":case"insideEndBottom":Ce=[-Ne*Ve+Te[0],Te[1]+We],Ee=Ie[0]>=0?"right":"left",ke=[Ne*Ve,-We];break}be.attr({style:{textVerticalAlign:be.__verticalAlign||Re,textAlign:be.__textAlign||Ee},position:Ce,scale:[xe,xe],origin:ke})}}}}function pe(me,ye,_e){ie.Group.call(this),this._createLine(me,ye,_e)}var ve=pe.prototype;ve.beforeUpdate=fe,ve._createLine=function(me,ye,_e){var be=me.hostModel,xe=me.getItemLayout(ye),$e=de(xe);$e.shape.percent=0,ie.initProps($e,{shape:{percent:1}},be,ye),this.add($e);var Se=new ie.Text({name:"label",lineLabelOriginalOpacity:1});this.add(Se),ee.each(le,function(we){var Ae=ce(we,me,ye);this.add(Ae),this[ue(we)]=me.getItemVisual(ye,we)},this),this._updateCommonStl(me,ye,_e)},ve.updateData=function(me,ye,_e){var be=me.hostModel,xe=this.childOfName("line"),$e=me.getItemLayout(ye),Se={shape:{}};he(Se.shape,$e),ie.updateProps(xe,Se,be,ye),ee.each(le,function(we){var Ae=me.getItemVisual(ye,we),Te=ue(we);if(this[Te]!==Ae){this.remove(this.childOfName(we));var De=ce(we,me,ye);this.add(De)}this[Te]=Ae},this),this._updateCommonStl(me,ye,_e)},ve._updateCommonStl=function(me,ye,_e){var be=me.hostModel,xe=this.childOfName("line"),$e=_e&&_e.lineStyle,Se=_e&&_e.hoverLineStyle,we=_e&&_e.labelModel,Ae=_e&&_e.hoverLabelModel;if(!_e||me.hasItemOption){var Te=me.getItemModel(ye);$e=Te.getModel("lineStyle").getLineStyle(),Se=Te.getModel("emphasis.lineStyle").getLineStyle(),we=Te.getModel("label"),Ae=Te.getModel("emphasis.label")}var De=me.getItemVisual(ye,"color"),Me=ee.retrieve3(me.getItemVisual(ye,"opacity"),$e.opacity,1);xe.useStyle(ee.defaults({strokeNoScale:!0,fill:"none",stroke:De,opacity:Me},$e)),xe.hoverStyle=Se,ee.each(le,function(ze){var Ve=this.childOfName(ze);Ve&&(Ve.setColor(De),Ve.setStyle({opacity:Me}))},this);var Ie=we.getShallow("show"),Ce=Ae.getShallow("show"),Ee=this.childOfName("label"),Re,ke;if((Ie||Ce)&&(Re=De||"#000",ke=be.getFormattedLabel(ye,"normal",me.dataType),ke==null)){var Be=be.getRawValue(ye);ke=Be==null?me.getName(ye):isFinite(Be)?se(Be):Be}var Ne=Ie?ke:null,He=Ce?ee.retrieve2(be.getFormattedLabel(ye,"emphasis",me.dataType),ke):null,qe=Ee.style;if(Ne!=null||He!=null){ie.setTextStyle(Ee.style,we,{text:Ne},{autoColor:Re}),Ee.__textAlign=qe.textAlign,Ee.__verticalAlign=qe.textVerticalAlign,Ee.__position=we.get("position")||"middle";var Oe=we.get("distance");ee.isArray(Oe)||(Oe=[Oe,Oe]),Ee.__labelDistance=Oe}He!=null?Ee.hoverStyle={text:He,textFill:Ae.getTextColor(!0),fontStyle:Ae.getShallow("fontStyle"),fontWeight:Ae.getShallow("fontWeight"),fontSize:Ae.getShallow("fontSize"),fontFamily:Ae.getShallow("fontFamily")}:Ee.hoverStyle={text:null},Ee.ignore=!Ie&&!Ce,ie.setHoverStyle(this)},ve.highlight=function(){this.trigger("emphasis")},ve.downplay=function(){this.trigger("normal")},ve.updateLayout=function(me,ye){this.setLinePoints(me.getItemLayout(ye))},ve.setLinePoints=function(me){var ye=this.childOfName("line");he(ye.shape,me),ye.dirty()},ee.inherits(pe,ie.Group);var ge=pe;return Line_1=ge,Line_1}var LineDraw_1,hasRequiredLineDraw;function requireLineDraw(){if(hasRequiredLineDraw)return LineDraw_1;hasRequiredLineDraw=1;var ee=graphic$6,te=requireLine();function ae(he){this._ctor=he||te,this.group=new ee.Group}var ne=ae.prototype;ne.isPersistent=function(){return!0},ne.updateData=function(he){var fe=this,pe=fe.group,ve=fe._lineData;fe._lineData=he,ve||pe.removeAll();var ge=le(he);he.diff(ve).add(function(me){ie(fe,he,me,ge)}).update(function(me,ye){oe(fe,ve,he,ye,me,ge)}).remove(function(me){pe.remove(ve.getItemGraphicEl(me))}).execute()};function ie(he,fe,pe,ve){var ge=fe.getItemLayout(pe);if(ce(ge)){var me=new he._ctor(fe,pe,ve);fe.setItemGraphicEl(pe,me),he.group.add(me)}}function oe(he,fe,pe,ve,ge,me){var ye=fe.getItemGraphicEl(ve);if(!ce(pe.getItemLayout(ge))){he.group.remove(ye);return}ye?ye.updateData(pe,ge,me):ye=new he._ctor(pe,ge,me),pe.setItemGraphicEl(ge,ye),he.group.add(ye)}ne.updateLayout=function(){var he=this._lineData;he&&he.eachItemGraphicEl(function(fe,pe){fe.updateLayout(he,pe)},this)},ne.incrementalPrepareUpdate=function(he){this._seriesScope=le(he),this._lineData=null,this.group.removeAll()};function se(he){return he.animators&&he.animators.length>0}ne.incrementalUpdate=function(he,fe){function pe(ye){!ye.isGroup&&!se(ye)&&(ye.incremental=ye.useHoverLayer=!0)}for(var ve=he.start;ve<he.end;ve++){var ge=fe.getItemLayout(ve);if(ce(ge)){var me=new this._ctor(fe,ve,this._seriesScope);me.traverse(pe),this.group.add(me),fe.setItemGraphicEl(ve,me)}}};function le(he){var fe=he.hostModel;return{lineStyle:fe.getModel("lineStyle").getLineStyle(),hoverLineStyle:fe.getModel("emphasis.lineStyle").getLineStyle(),labelModel:fe.getModel("label"),hoverLabelModel:fe.getModel("emphasis.label")}}ne.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},ne._clearIncremental=function(){var he=this._incremental;he&&he.clearDisplaybles()};function ue(he){return isNaN(he[0])||isNaN(he[1])}function ce(he){return!ue(he[0])&&!ue(he[1])}var de=ae;return LineDraw_1=de,LineDraw_1}var graphHelper={},hasRequiredGraphHelper;function requireGraphHelper(){if(hasRequiredGraphHelper)return graphHelper;hasRequiredGraphHelper=1;function ee(ae){var ne=ae.coordinateSystem;if(ne.type!=="view")return 1;var ie=ae.option.nodeScaleRatio,oe=ne.scale,se=oe&&oe[0]||1,le=ne.getZoom(),ue=(le-1)*ie+1;return ue/se}function te(ae){var ne=ae.getVisual("symbolSize");return ne instanceof Array&&(ne=(ne[0]+ne[1])/2),+ne}return graphHelper.getNodeGlobalScale=ee,graphHelper.getSymbolSize=te,graphHelper}var adjustEdge$1,hasRequiredAdjustEdge;function requireAdjustEdge(){if(hasRequiredAdjustEdge)return adjustEdge$1;hasRequiredAdjustEdge=1;var ee=curve$3,te=vector$3,ae=requireGraphHelper(),ne=ae.getSymbolSize,ie=[],oe=[],se=[],le=ee.quadraticAt,ue=te.distSquare,ce=Math.abs;function de(fe,pe,ve){for(var ge=fe[0],me=fe[1],ye=fe[2],_e=1/0,be,xe=ve*ve,$e=.1,Se=.1;Se<=.9;Se+=.1){ie[0]=le(ge[0],me[0],ye[0],Se),ie[1]=le(ge[1],me[1],ye[1],Se);var we=ce(ue(ie,pe)-xe);we<_e&&(_e=we,be=Se)}for(var Ae=0;Ae<32;Ae++){var Te=be+$e;oe[0]=le(ge[0],me[0],ye[0],be),oe[1]=le(ge[1],me[1],ye[1],be),se[0]=le(ge[0],me[0],ye[0],Te),se[1]=le(ge[1],me[1],ye[1],Te);var we=ue(oe,pe)-xe;if(ce(we)<.01)break;var De=ue(se,pe)-xe;$e/=2,we<0?De>=0?be=be+$e:be=be-$e:De>=0?be=be-$e:be=be+$e}return be}function he(fe,pe){var ve=[],ge=ee.quadraticSubdivide,me=[[],[],[]],ye=[[],[]],_e=[];pe/=2,fe.eachEdge(function(be,xe){var $e=be.getLayout(),Se=be.getVisual("fromSymbol"),we=be.getVisual("toSymbol");$e.__original||($e.__original=[te.clone($e[0]),te.clone($e[1])],$e[2]&&$e.__original.push(te.clone($e[2])));var Ae=$e.__original;if($e[2]!=null){if(te.copy(me[0],Ae[0]),te.copy(me[1],Ae[2]),te.copy(me[2],Ae[1]),Se&&Se!=="none"){var Te=ne(be.node1),De=de(me,Ae[0],Te*pe);ge(me[0][0],me[1][0],me[2][0],De,ve),me[0][0]=ve[3],me[1][0]=ve[4],ge(me[0][1],me[1][1],me[2][1],De,ve),me[0][1]=ve[3],me[1][1]=ve[4]}if(we&&we!=="none"){var Te=ne(be.node2),De=de(me,Ae[1],Te*pe);ge(me[0][0],me[1][0],me[2][0],De,ve),me[1][0]=ve[1],me[2][0]=ve[2],ge(me[0][1],me[1][1],me[2][1],De,ve),me[1][1]=ve[1],me[2][1]=ve[2]}te.copy($e[0],me[0]),te.copy($e[1],me[2]),te.copy($e[2],me[1])}else{if(te.copy(ye[0],Ae[0]),te.copy(ye[1],Ae[1]),te.sub(_e,ye[1],ye[0]),te.normalize(_e,_e),Se&&Se!=="none"){var Te=ne(be.node1);te.scaleAndAdd(ye[0],ye[0],_e,Te*pe)}if(we&&we!=="none"){var Te=ne(be.node2);te.scaleAndAdd(ye[1],ye[1],_e,-Te*pe)}te.copy($e[0],ye[0]),te.copy($e[1],ye[1])}})}return adjustEdge$1=he,adjustEdge$1}var GraphView$2,hasRequiredGraphView;function requireGraphView(){if(hasRequiredGraphView)return GraphView$2;hasRequiredGraphView=1;var ee=echarts$1,te=util$a,ae=requireSymbolDraw(),ne=requireLineDraw(),ie=requireRoamController(),oe=requireRoamHelper$1(),se=requireCursorHelper(),le=se.onIrrelevantElement,ue=graphic$6,ce=requireAdjustEdge(),de=requireGraphHelper(),he=de.getNodeGlobalScale,fe="__focusNodeAdjacency",pe="__unfocusNodeAdjacency",ve=["itemStyle","opacity"],ge=["lineStyle","opacity"];function me(xe,$e){var Se=xe.getVisual("opacity");return Se??xe.getModel().get($e)}function ye(xe,$e,Se){var we=xe.getGraphicEl(),Ae=me(xe,$e);Se!=null&&(Ae==null&&(Ae=1),Ae*=Se),we.downplay&&we.downplay(),we.traverse(function(Te){if(!Te.isGroup){var De=Te.lineLabelOriginalOpacity;(De==null||Se!=null)&&(De=Ae),Te.setStyle("opacity",De)}})}function _e(xe,$e){var Se=me(xe,$e),we=xe.getGraphicEl();we.traverse(function(Ae){!Ae.isGroup&&Ae.setStyle("opacity",Se)}),we.highlight&&we.highlight()}var be=ee.extendChartView({type:"graph",init:function(xe,$e){var Se=new ae,we=new ne,Ae=this.group;this._controller=new ie($e.getZr()),this._controllerHost={target:Ae},Ae.add(Se.group),Ae.add(we.group),this._symbolDraw=Se,this._lineDraw=we,this._firstRender=!0},render:function(xe,$e,Se){var we=this,Ae=xe.coordinateSystem;this._model=xe;var Te=this._symbolDraw,De=this._lineDraw,Me=this.group;if(Ae.type==="view"){var Ie={position:Ae.position,scale:Ae.scale};this._firstRender?Me.attr(Ie):ue.updateProps(Me,Ie,xe)}ce(xe.getGraph(),he(xe));var Ce=xe.getData();Te.updateData(Ce);var Ee=xe.getEdgeData();De.updateData(Ee),this._updateNodeAndLinkScale(),this._updateController(xe,$e,Se),clearTimeout(this._layoutTimeout);var Re=xe.forceLayout,ke=xe.get("force.layoutAnimation");Re&&this._startForceLayoutIteration(Re,ke),Ce.eachItemGraphicEl(function(qe,Oe){var ze=Ce.getItemModel(Oe);qe.off("drag").off("dragend");var Ve=ze.get("draggable");Ve&&qe.on("drag",function(){Re&&(Re.warmUp(),!this._layouting&&this._startForceLayoutIteration(Re,ke),Re.setFixed(Oe),Ce.setItemLayout(Oe,qe.position))},this).on("dragend",function(){Re&&Re.setUnfixed(Oe)},this),qe.setDraggable(Ve&&Re),qe[fe]&&qe.off("mouseover",qe[fe]),qe[pe]&&qe.off("mouseout",qe[pe]),ze.get("focusNodeAdjacency")&&(qe.on("mouseover",qe[fe]=function(){we._clearTimer(),Se.dispatchAction({type:"focusNodeAdjacency",seriesId:xe.id,dataIndex:qe.dataIndex})}),qe.on("mouseout",qe[pe]=function(){we._dispatchUnfocus(Se)}))},this),Ce.graph.eachEdge(function(qe){var Oe=qe.getGraphicEl();Oe[fe]&&Oe.off("mouseover",Oe[fe]),Oe[pe]&&Oe.off("mouseout",Oe[pe]),qe.getModel().get("focusNodeAdjacency")&&(Oe.on("mouseover",Oe[fe]=function(){we._clearTimer(),Se.dispatchAction({type:"focusNodeAdjacency",seriesId:xe.id,edgeDataIndex:qe.dataIndex})}),Oe.on("mouseout",Oe[pe]=function(){we._dispatchUnfocus(Se)}))});var Be=xe.get("layout")==="circular"&&xe.get("circular.rotateLabel"),Ne=Ce.getLayout("cx"),He=Ce.getLayout("cy");Ce.eachItemGraphicEl(function(qe,Oe){var ze=Ce.getItemModel(Oe),Ve=ze.get("label.rotate")||0,Ge=qe.getSymbolPath();if(Be){var We=Ce.getItemLayout(Oe),Ue=Math.atan2(We[1]-He,We[0]-Ne);Ue<0&&(Ue=Math.PI*2+Ue);var Ye=We[0]<Ne;Ye&&(Ue=Ue-Math.PI);var Ze=Ye?"left":"right";ue.modifyLabelStyle(Ge,{textRotation:-Ue,textPosition:Ze,textOrigin:"center"},{textPosition:Ze})}else ue.modifyLabelStyle(Ge,{textRotation:Ve*=Math.PI/180})}),this._firstRender=!1},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={},this._clearTimer()},_dispatchUnfocus:function(xe,$e){var Se=this;this._clearTimer(),this._unfocusDelayTimer=setTimeout(function(){Se._unfocusDelayTimer=null,xe.dispatchAction({type:"unfocusNodeAdjacency",seriesId:Se._model.id})},500)},_clearTimer:function(){this._unfocusDelayTimer&&(clearTimeout(this._unfocusDelayTimer),this._unfocusDelayTimer=null)},focusNodeAdjacency:function(xe,$e,Se,we){var Ae=xe.getData(),Te=Ae.graph,De=we.dataIndex,Me=we.edgeDataIndex,Ie=Te.getNodeByIndex(De),Ce=Te.getEdgeByIndex(Me);!Ie&&!Ce||(Te.eachNode(function(Ee){ye(Ee,ve,.1)}),Te.eachEdge(function(Ee){ye(Ee,ge,.1)}),Ie&&(_e(Ie,ve),te.each(Ie.edges,function(Ee){Ee.dataIndex<0||(_e(Ee,ge),_e(Ee.node1,ve),_e(Ee.node2,ve))})),Ce&&(_e(Ce,ge),_e(Ce.node1,ve),_e(Ce.node2,ve)))},unfocusNodeAdjacency:function(xe,$e,Se,we){var Ae=xe.getData().graph;Ae.eachNode(function(Te){ye(Te,ve)}),Ae.eachEdge(function(Te){ye(Te,ge)})},_startForceLayoutIteration:function(xe,$e){var Se=this;(function we(){xe.step(function(Ae){Se.updateLayout(Se._model),(Se._layouting=!Ae)&&($e?Se._layoutTimeout=setTimeout(we,16):we())})})()},_updateController:function(xe,$e,Se){var we=this._controller,Ae=this._controllerHost,Te=this.group;if(we.setPointerChecker(function(De,Me,Ie){var Ce=Te.getBoundingRect();return Ce.applyTransform(Te.transform),Ce.contain(Me,Ie)&&!le(De,Se,xe)}),xe.coordinateSystem.type!=="view"){we.disable();return}we.enable(xe.get("roam")),Ae.zoomLimit=xe.get("scaleLimit"),Ae.zoom=xe.coordinateSystem.getZoom(),we.off("pan").off("zoom").on("pan",function(De){oe.updateViewOnPan(Ae,De.dx,De.dy),Se.dispatchAction({seriesId:xe.id,type:"graphRoam",dx:De.dx,dy:De.dy})}).on("zoom",function(De){oe.updateViewOnZoom(Ae,De.scale,De.originX,De.originY),Se.dispatchAction({seriesId:xe.id,type:"graphRoam",zoom:De.scale,originX:De.originX,originY:De.originY}),this._updateNodeAndLinkScale(),ce(xe.getGraph(),he(xe)),this._lineDraw.updateLayout()},this)},_updateNodeAndLinkScale:function(){var xe=this._model,$e=xe.getData(),Se=he(xe),we=[Se,Se];$e.eachItemGraphicEl(function(Ae,Te){Ae.attr("scale",we)})},updateLayout:function(xe){ce(xe.getGraph(),he(xe)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(xe,$e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}});return GraphView$2=be,GraphView$2}var graphAction={},focusNodeAdjacencyAction={},hasRequiredFocusNodeAdjacencyAction;function requireFocusNodeAdjacencyAction(){if(hasRequiredFocusNodeAdjacencyAction)return focusNodeAdjacencyAction;hasRequiredFocusNodeAdjacencyAction=1;var ee=echarts$1;return ee.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),ee.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){}),focusNodeAdjacencyAction}var hasRequiredGraphAction;function requireGraphAction(){if(hasRequiredGraphAction)return graphAction;hasRequiredGraphAction=1;var ee=echarts$1,te=requireRoamHelper(),ae=te.updateCenterAndZoom;requireFocusNodeAdjacencyAction();var ne={type:"graphRoam",event:"graphRoam",update:"none"};return ee.registerAction(ne,function(ie,oe){oe.eachComponent({mainType:"series",query:ie},function(se){var le=se.coordinateSystem,ue=ae(le,ie);se.setCenter&&se.setCenter(ue.center),se.setZoom&&se.setZoom(ue.zoom)})}),graphAction}var categoryFilter$1,hasRequiredCategoryFilter;function requireCategoryFilter(){if(hasRequiredCategoryFilter)return categoryFilter$1;hasRequiredCategoryFilter=1;function ee(te){var ae=te.findComponents({mainType:"legend"});!ae||!ae.length||te.eachSeriesByType("graph",function(ne){var ie=ne.getCategoriesData(),oe=ne.getGraph(),se=oe.data,le=ie.mapArray(ie.getName);se.filterSelf(function(ue){var ce=se.getItemModel(ue),de=ce.getShallow("category");if(de!=null){typeof de=="number"&&(de=le[de]);for(var he=0;he<ae.length;he++)if(!ae[he].isSelected(de))return!1}return!0})},this)}return categoryFilter$1=ee,categoryFilter$1}var categoryVisual$1,hasRequiredCategoryVisual;function requireCategoryVisual(){if(hasRequiredCategoryVisual)return categoryVisual$1;hasRequiredCategoryVisual=1;function ee(te){var ae={};te.eachSeriesByType("graph",function(ne){var ie=ne.getCategoriesData(),oe=ne.getData(),se={};ie.each(function(le){var ue=ie.getName(le);se["ec-"+ue]=le;var ce=ie.getItemModel(le),de=ce.get("itemStyle.color")||ne.getColorFromPalette(ue,ae);ie.setItemVisual(le,"color",de);for(var he=["opacity","symbol","symbolSize","symbolKeepAspect"],fe=0;fe<he.length;fe++){var pe=ce.getShallow(he[fe],!0);pe!=null&&ie.setItemVisual(le,he[fe],pe)}}),ie.count()&&oe.each(function(le){var ue=oe.getItemModel(le),ce=ue.getShallow("category");if(ce!=null){typeof ce=="string"&&(ce=se["ec-"+ce]);for(var de=["color","opacity","symbol","symbolSize","symbolKeepAspect"],he=0;he<de.length;he++)oe.getItemVisual(le,de[he],!0)==null&&oe.setItemVisual(le,de[he],ie.getItemVisual(ce,de[he]))}})})}return categoryVisual$1=ee,categoryVisual$1}var edgeVisual,hasRequiredEdgeVisual;function requireEdgeVisual(){if(hasRequiredEdgeVisual)return edgeVisual;hasRequiredEdgeVisual=1;function ee(ae){return ae instanceof Array||(ae=[ae,ae]),ae}function te(ae){ae.eachSeriesByType("graph",function(ne){var ie=ne.getGraph(),oe=ne.getEdgeData(),se=ee(ne.get("edgeSymbol")),le=ee(ne.get("edgeSymbolSize")),ue="lineStyle.color".split("."),ce="lineStyle.opacity".split(".");oe.setVisual("fromSymbol",se&&se[0]),oe.setVisual("toSymbol",se&&se[1]),oe.setVisual("fromSymbolSize",le&&le[0]),oe.setVisual("toSymbolSize",le&&le[1]),oe.setVisual("color",ne.get(ue)),oe.setVisual("opacity",ne.get(ce)),oe.each(function(de){var he=oe.getItemModel(de),fe=ie.getEdgeByIndex(de),pe=ee(he.getShallow("symbol",!0)),ve=ee(he.getShallow("symbolSize",!0)),ge=he.get(ue),me=he.get(ce);switch(ge){case"source":ge=fe.node1.getVisual("color");break;case"target":ge=fe.node2.getVisual("color");break}pe[0]&&fe.setVisual("fromSymbol",pe[0]),pe[1]&&fe.setVisual("toSymbol",pe[1]),ve[0]&&fe.setVisual("fromSymbolSize",ve[0]),ve[1]&&fe.setVisual("toSymbolSize",ve[1]),fe.setVisual("color",ge),fe.setVisual("opacity",me)})})}return edgeVisual=te,edgeVisual}var simpleLayoutHelper={},hasRequiredSimpleLayoutHelper;function requireSimpleLayoutHelper(){if(hasRequiredSimpleLayoutHelper)return simpleLayoutHelper;hasRequiredSimpleLayoutHelper=1;var ee=vector$3,te=util$a,ae=requireMultipleGraphEdgeHelper(),ne=ae.getCurvenessForEdge;function ie(se){var le=se.coordinateSystem;if(!(le&&le.type!=="view")){var ue=se.getGraph();ue.eachNode(function(ce){var de=ce.getModel();ce.setLayout([+de.get("x"),+de.get("y")])}),oe(ue,se)}}function oe(se,le){se.eachEdge(function(ue,ce){var de=te.retrieve3(ue.getModel().get("lineStyle.curveness"),-ne(ue,le,ce,!0),0),he=ee.clone(ue.node1.getLayout()),fe=ee.clone(ue.node2.getLayout()),pe=[he,fe];+de&&pe.push([(he[0]+fe[0])/2-(he[1]-fe[1])*de,(he[1]+fe[1])/2-(fe[0]-he[0])*de]),ue.setLayout(pe)})}return simpleLayoutHelper.simpleLayout=ie,simpleLayoutHelper.simpleLayoutEdge=oe,simpleLayoutHelper}var simpleLayout_1,hasRequiredSimpleLayout;function requireSimpleLayout(){if(hasRequiredSimpleLayout)return simpleLayout_1;hasRequiredSimpleLayout=1;var ee=util$a,te=ee.each,ae=requireSimpleLayoutHelper(),ne=ae.simpleLayout,ie=ae.simpleLayoutEdge;function oe(se,le){se.eachSeriesByType("graph",function(ue){var ce=ue.get("layout"),de=ue.coordinateSystem;if(de&&de.type!=="view"){var he=ue.getData(),fe=[];te(de.dimensions,function(_e){fe=fe.concat(he.mapDimension(_e,!0))});for(var pe=0;pe<he.count();pe++){for(var ve=[],ge=!1,me=0;me<fe.length;me++){var ye=he.get(fe[me],pe);isNaN(ye)||(ge=!0),ve.push(ye)}ge?he.setItemLayout(pe,de.dataToPoint(ve)):he.setItemLayout(pe,[NaN,NaN])}ie(he.graph,ue)}else(!ce||ce==="none")&&ne(ue)})}return simpleLayout_1=oe,simpleLayout_1}var circularLayoutHelper={},hasRequiredCircularLayoutHelper;function requireCircularLayoutHelper(){if(hasRequiredCircularLayoutHelper)return circularLayoutHelper;hasRequiredCircularLayoutHelper=1;var ee=vector$3,te=requireGraphHelper(),ae=te.getSymbolSize,ne=te.getNodeGlobalScale,ie=util$a,oe=requireMultipleGraphEdgeHelper(),se=oe.getCurvenessForEdge,le=Math.PI,ue=[];function ce(he,fe){var pe=he.coordinateSystem;if(!(pe&&pe.type!=="view")){var ve=pe.getBoundingRect(),ge=he.getData(),me=ge.graph,ye=ve.width/2+ve.x,_e=ve.height/2+ve.y,be=Math.min(ve.width,ve.height)/2,xe=ge.count();ge.setLayout({cx:ye,cy:_e}),xe&&(de[fe](he,pe,me,ge,be,ye,_e,xe),me.eachEdge(function($e,Se){var we=ie.retrieve3($e.getModel().get("lineStyle.curveness"),se($e,he,Se),0),Ae=ee.clone($e.node1.getLayout()),Te=ee.clone($e.node2.getLayout()),De,Me=(Ae[0]+Te[0])/2,Ie=(Ae[1]+Te[1])/2;+we&&(we*=3,De=[ye*we+Me*(1-we),_e*we+Ie*(1-we)]),$e.setLayout([Ae,Te,De])}))}}var de={value:function(he,fe,pe,ve,ge,me,ye,_e){var be=0,xe=ve.getSum("value"),$e=Math.PI*2/(xe||_e);pe.eachNode(function(Se){var we=Se.getValue("value"),Ae=$e*(xe?we:1)/2;be+=Ae,Se.setLayout([ge*Math.cos(be)+me,ge*Math.sin(be)+ye]),be+=Ae})},symbolSize:function(he,fe,pe,ve,ge,me,ye,_e){var be=0;ue.length=_e;var xe=ne(he);pe.eachNode(function(we){var Ae=ae(we);isNaN(Ae)&&(Ae=2),Ae<0&&(Ae=0),Ae*=xe;var Te=Math.asin(Ae/2/ge);isNaN(Te)&&(Te=le/2),ue[we.dataIndex]=Te,be+=Te*2});var $e=(2*le-be)/_e/2,Se=0;pe.eachNode(function(we){var Ae=$e+ue[we.dataIndex];Se+=Ae,we.setLayout([ge*Math.cos(Se)+me,ge*Math.sin(Se)+ye]),Se+=Ae})}};return circularLayoutHelper.circularLayout=ce,circularLayoutHelper}var circularLayout_1,hasRequiredCircularLayout;function requireCircularLayout(){if(hasRequiredCircularLayout)return circularLayout_1;hasRequiredCircularLayout=1;var ee=requireCircularLayoutHelper(),te=ee.circularLayout;function ae(ne){ne.eachSeriesByType("graph",function(ie){ie.get("layout")==="circular"&&te(ie,"symbolSize")})}return circularLayout_1=ae,circularLayout_1}var forceHelper={},hasRequiredForceHelper;function requireForceHelper(){if(hasRequiredForceHelper)return forceHelper;hasRequiredForceHelper=1;var ee=vector$3,te=ee.scaleAndAdd;function ae(ne,ie,oe){for(var se=oe.rect,le=se.width,ue=se.height,ce=[se.x+le/2,se.y+ue/2],de=oe.gravity==null?.1:oe.gravity,he=0;he<ne.length;he++){var fe=ne[he];fe.p||(fe.p=ee.create(le*(Math.random()-.5)+ce[0],ue*(Math.random()-.5)+ce[1])),fe.pp=ee.clone(fe.p),fe.edges=null}var pe=oe.friction==null?.6:oe.friction,ve=pe;return{warmUp:function(){ve=pe*.8},setFixed:function(ge){ne[ge].fixed=!0},setUnfixed:function(ge){ne[ge].fixed=!1},step:function(ge){for(var me=[],ye=ne.length,_e=0;_e<ie.length;_e++){var be=ie[_e];if(!be.ignoreForceLayout){var xe=be.n1,$e=be.n2;ee.sub(me,$e.p,xe.p);var Se=ee.len(me)-be.d,we=$e.w/(xe.w+$e.w);isNaN(we)&&(we=0),ee.normalize(me,me),!xe.fixed&&te(xe.p,xe.p,me,we*Se*ve),!$e.fixed&&te($e.p,$e.p,me,-(1-we)*Se*ve)}}for(var _e=0;_e<ye;_e++){var Ae=ne[_e];Ae.fixed||(ee.sub(me,ce,Ae.p),te(Ae.p,Ae.p,me,de*ve))}for(var _e=0;_e<ye;_e++)for(var xe=ne[_e],Te=_e+1;Te<ye;Te++){var $e=ne[Te];ee.sub(me,$e.p,xe.p);var Se=ee.len(me);Se===0&&(ee.set(me,Math.random()-.5,Math.random()-.5),Se=1);var De=(xe.rep+$e.rep)/Se/Se;!xe.fixed&&te(xe.pp,xe.pp,me,De),!$e.fixed&&te($e.pp,$e.pp,me,-De)}for(var Me=[],_e=0;_e<ye;_e++){var Ae=ne[_e];Ae.fixed||(ee.sub(Me,Ae.p,Ae.pp),te(Ae.p,Ae.p,Me,ve),ee.copy(Ae.pp,Ae.p))}ve=ve*.992,ge&&ge(ne,ie,ve<.01)}}}return forceHelper.forceLayout=ae,forceHelper}var forceLayout_1,hasRequiredForceLayout;function requireForceLayout(){if(hasRequiredForceLayout)return forceLayout_1;hasRequiredForceLayout=1;var ee=requireForceHelper(),te=ee.forceLayout,ae=requireSimpleLayoutHelper(),ne=ae.simpleLayout,ie=requireCircularLayoutHelper(),oe=ie.circularLayout,se=requireNumber(),le=se.linearMap,ue=vector$3,ce=util$a,de=requireMultipleGraphEdgeHelper(),he=de.getCurvenessForEdge;function fe(pe){pe.eachSeriesByType("graph",function(ve){var ge=ve.coordinateSystem;if(!(ge&&ge.type!=="view"))if(ve.get("layout")==="force"){var me=ve.preservedPoints||{},ye=ve.getGraph(),_e=ye.data,be=ye.edgeData,xe=ve.getModel("force"),$e=xe.get("initLayout");ve.preservedPoints?_e.each(function(ke){var Be=_e.getId(ke);_e.setItemLayout(ke,me[Be]||[NaN,NaN])}):!$e||$e==="none"?ne(ve):$e==="circular"&&oe(ve,"value");var Se=_e.getDataExtent("value"),we=be.getDataExtent("value"),Ae=xe.get("repulsion"),Te=xe.get("edgeLength");ce.isArray(Ae)||(Ae=[Ae,Ae]),ce.isArray(Te)||(Te=[Te,Te]),Te=[Te[1],Te[0]];var De=_e.mapArray("value",function(ke,Be){var Ne=_e.getItemLayout(Be),He=le(ke,Se,Ae);return isNaN(He)&&(He=(Ae[0]+Ae[1])/2),{w:He,rep:He,fixed:_e.getItemModel(Be).get("fixed"),p:!Ne||isNaN(Ne[0])||isNaN(Ne[1])?null:Ne}}),Me=be.mapArray("value",function(ke,Be){var Ne=ye.getEdgeByIndex(Be),He=le(ke,we,Te);isNaN(He)&&(He=(Te[0]+Te[1])/2);var qe=Ne.getModel(),Oe=ce.retrieve3(qe.get("lineStyle.curveness"),-he(Ne,ve,Be,!0),0);return{n1:De[Ne.node1.dataIndex],n2:De[Ne.node2.dataIndex],d:He,curveness:Oe,ignoreForceLayout:qe.get("ignoreForceLayout")}}),ge=ve.coordinateSystem,Ie=ge.getBoundingRect(),Ce=te(De,Me,{rect:Ie,gravity:xe.get("gravity"),friction:xe.get("friction")}),Ee=Ce.step;Ce.step=function(ke){for(var Be=0,Ne=De.length;Be<Ne;Be++)De[Be].fixed&&ue.copy(De[Be].p,ye.getNodeByIndex(Be).getLayout());Ee(function(He,qe,Oe){for(var ze=0,Ve=He.length;ze<Ve;ze++)He[ze].fixed||ye.getNodeByIndex(ze).setLayout(He[ze].p),me[_e.getId(ze)]=He[ze].p;for(var ze=0,Ve=qe.length;ze<Ve;ze++){var Ge=qe[ze],We=ye.getEdgeByIndex(ze),Ue=Ge.n1.p,Ye=Ge.n2.p,Ze=We.getLayout();Ze=Ze?Ze.slice():[],Ze[0]=Ze[0]||[],Ze[1]=Ze[1]||[],ue.copy(Ze[0],Ue),ue.copy(Ze[1],Ye),+Ge.curveness&&(Ze[2]=[(Ue[0]+Ye[0])/2-(Ue[1]-Ye[1])*Ge.curveness,(Ue[1]+Ye[1])/2-(Ye[0]-Ue[0])*Ge.curveness]),We.setLayout(Ze)}ke&&ke(Oe)})},ve.forceLayout=Ce,ve.preservedPoints=me,Ce.step()}else ve.forceLayout=null})}return forceLayout_1=fe,forceLayout_1}var createView,hasRequiredCreateView;function requireCreateView(){if(hasRequiredCreateView)return createView;hasRequiredCreateView=1;var ee=requireView(),te=layout$5,ae=te.getLayoutRect,ne=requireBbox();function ie(se,le,ue){var ce=se.getBoxLayoutParams();return ce.aspect=ue,ae(ce,{width:le.getWidth(),height:le.getHeight()})}function oe(se,le){var ue=[];return se.eachSeriesByType("graph",function(ce){var de=ce.get("coordinateSystem");if(!de||de==="view"){var he=ce.getData(),fe=he.mapArray(function(Se){var we=he.getItemModel(Se);return[+we.get("x"),+we.get("y")]}),pe=[],ve=[];ne.fromPoints(fe,pe,ve),ve[0]-pe[0]===0&&(ve[0]+=1,pe[0]-=1),ve[1]-pe[1]===0&&(ve[1]+=1,pe[1]-=1);var ge=(ve[0]-pe[0])/(ve[1]-pe[1]),me=ie(ce,le,ge);isNaN(ge)&&(pe=[me.x,me.y],ve=[me.x+me.width,me.y+me.height]);var ye=ve[0]-pe[0],_e=ve[1]-pe[1],be=me.width,xe=me.height,$e=ce.coordinateSystem=new ee;$e.zoomLimit=ce.get("scaleLimit"),$e.setBoundingRect(pe[0],pe[1],ye,_e),$e.setViewRect(me.x,me.y,be,xe),$e.setCenter(ce.get("center")),$e.setZoom(ce.get("zoom")),ue.push($e)}}),ue}return createView=oe,createView}var hasRequiredGraph;function requireGraph(){if(hasRequiredGraph)return graph;hasRequiredGraph=1;var ee=echarts$1;requireGraphSeries(),requireGraphView(),requireGraphAction();var te=requireCategoryFilter(),ae=requireSymbol(),ne=requireCategoryVisual(),ie=requireEdgeVisual(),oe=requireSimpleLayout(),se=requireCircularLayout(),le=requireForceLayout(),ue=requireCreateView();return ee.registerProcessor(te),ee.registerVisual(ae("graph","circle",null)),ee.registerVisual(ne),ee.registerVisual(ie),ee.registerLayout(oe),ee.registerLayout(ee.PRIORITY.VISUAL.POST_CHART_LAYOUT,se),ee.registerLayout(le),ee.registerCoordinateSystem("graphView",{create:ue}),graph}var gauge={},GaugeSeries_1,hasRequiredGaugeSeries;function requireGaugeSeries(){if(hasRequiredGaugeSeries)return GaugeSeries_1;hasRequiredGaugeSeries=1;var ee=requireCreateListSimply(),te=Series,ae=te.extend({type:"series.gauge",getInitialData:function(ie,oe){return ee(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}}),ne=ae;return GaugeSeries_1=ne,GaugeSeries_1}var PointerPath$2,hasRequiredPointerPath;function requirePointerPath(){if(hasRequiredPointerPath)return PointerPath$2;hasRequiredPointerPath=1;var ee=Path_1,te=ee.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(ae,ne){var ie=Math.cos,oe=Math.sin,se=ne.r,le=ne.width,ue=ne.angle,ce=ne.x-ie(ue)*le*(le>=se/3?1:2),de=ne.y-oe(ue)*le*(le>=se/3?1:2);ue=ne.angle-Math.PI/2,ae.moveTo(ce,de),ae.lineTo(ne.x+ie(ue)*le,ne.y+oe(ue)*le),ae.lineTo(ne.x+ie(ne.angle)*se,ne.y+oe(ne.angle)*se),ae.lineTo(ne.x-ie(ue)*le,ne.y-oe(ue)*le),ae.lineTo(ce,de)}});return PointerPath$2=te,PointerPath$2}var GaugeView_1,hasRequiredGaugeView;function requireGaugeView(){if(hasRequiredGaugeView)return GaugeView_1;hasRequiredGaugeView=1;var ee=requirePointerPath(),te=graphic$6,ae=Chart_1,ne=requireNumber(),ie=ne.parsePercent,oe=ne.round,se=ne.linearMap;function le(fe,pe){var ve=fe.get("center"),ge=pe.getWidth(),me=pe.getHeight(),ye=Math.min(ge,me),_e=ie(ve[0],pe.getWidth()),be=ie(ve[1],pe.getHeight()),xe=ie(fe.get("radius"),ye/2);return{cx:_e,cy:be,r:xe}}function ue(fe,pe){return pe&&(typeof pe=="string"?fe=pe.replace("{value}",fe??""):typeof pe=="function"&&(fe=pe(fe))),fe}var ce=Math.PI*2,de=ae.extend({type:"gauge",render:function(fe,pe,ve){this.group.removeAll();var ge=fe.get("axisLine.lineStyle.color"),me=le(fe,ve);this._renderMain(fe,pe,ve,ge,me)},dispose:function(){},_renderMain:function(fe,pe,ve,ge,me){for(var ye=this.group,_e=fe.getModel("axisLine"),be=_e.getModel("lineStyle"),xe=fe.get("clockwise"),$e=-fe.get("startAngle")/180*Math.PI,Se=-fe.get("endAngle")/180*Math.PI,we=(Se-$e)%ce,Ae=$e,Te=be.get("width"),De=_e.get("show"),Me=0;De&&Me<ge.length;Me++){var Ie=Math.min(Math.max(ge[Me][0],0),1),Se=$e+we*Ie,Ce=new te.Sector({shape:{startAngle:Ae,endAngle:Se,cx:me.cx,cy:me.cy,clockwise:xe,r0:me.r-Te,r:me.r},silent:!0});Ce.setStyle({fill:ge[Me][1]}),Ce.setStyle(be.getLineStyle(["color","borderWidth","borderColor"])),ye.add(Ce),Ae=Se}var Ee=function(ke){if(ke<=0)return ge[0][1];for(var Be=0;Be<ge.length;Be++)if(ge[Be][0]>=ke&&(Be===0?0:ge[Be-1][0])<ke)return ge[Be][1];return ge[Be-1][1]};if(!xe){var Re=$e;$e=Se,Se=Re}this._renderTicks(fe,pe,ve,Ee,me,$e,Se,xe),this._renderPointer(fe,pe,ve,Ee,me,$e,Se,xe),this._renderTitle(fe,pe,ve,Ee,me),this._renderDetail(fe,pe,ve,Ee,me)},_renderTicks:function(fe,pe,ve,ge,me,ye,_e,be){for(var xe=this.group,$e=me.cx,Se=me.cy,we=me.r,Ae=+fe.get("min"),Te=+fe.get("max"),De=fe.getModel("splitLine"),Me=fe.getModel("axisTick"),Ie=fe.getModel("axisLabel"),Ce=fe.get("splitNumber"),Ee=Me.get("splitNumber"),Re=ie(De.get("length"),we),ke=ie(Me.get("length"),we),Be=ye,Ne=(_e-ye)/Ce,He=Ne/Ee,qe=De.getModel("lineStyle").getLineStyle(),Oe=Me.getModel("lineStyle").getLineStyle(),ze=0;ze<=Ce;ze++){var Ve=Math.cos(Be),Ge=Math.sin(Be);if(De.get("show")){var We=new te.Line({shape:{x1:Ve*we+$e,y1:Ge*we+Se,x2:Ve*(we-Re)+$e,y2:Ge*(we-Re)+Se},style:qe,silent:!0});qe.stroke==="auto"&&We.setStyle({stroke:ge(ze/Ce)}),xe.add(We)}if(Ie.get("show")){var Ue=ue(oe(ze/Ce*(Te-Ae)+Ae),Ie.get("formatter")),Ye=Ie.get("distance"),Ze=ge(ze/Ce);xe.add(new te.Text({style:te.setTextStyle({},Ie,{text:Ue,x:Ve*(we-Re-Ye)+$e,y:Ge*(we-Re-Ye)+Se,textVerticalAlign:Ge<-.4?"top":Ge>.4?"bottom":"middle",textAlign:Ve<-.4?"left":Ve>.4?"right":"center"},{autoColor:Ze}),silent:!0}))}if(Me.get("show")&&ze!==Ce){for(var Xe=0;Xe<=Ee;Xe++){var Ve=Math.cos(Be),Ge=Math.sin(Be),it=new te.Line({shape:{x1:Ve*we+$e,y1:Ge*we+Se,x2:Ve*(we-ke)+$e,y2:Ge*(we-ke)+Se},silent:!0,style:Oe});Oe.stroke==="auto"&&it.setStyle({stroke:ge((ze+Xe/Ee)/Ce)}),xe.add(it),Be+=He}Be-=He}else Be+=Ne}},_renderPointer:function(fe,pe,ve,ge,me,ye,_e,be){var xe=this.group,$e=this._data;if(!fe.get("pointer.show")){$e&&$e.eachItemGraphicEl(function(De){xe.remove(De)});return}var Se=[+fe.get("min"),+fe.get("max")],we=[ye,_e],Ae=fe.getData(),Te=Ae.mapDimension("value");Ae.diff($e).add(function(De){var Me=new ee({shape:{angle:ye}});te.initProps(Me,{shape:{angle:se(Ae.get(Te,De),Se,we,!0)}},fe),xe.add(Me),Ae.setItemGraphicEl(De,Me)}).update(function(De,Me){var Ie=$e.getItemGraphicEl(Me);te.updateProps(Ie,{shape:{angle:se(Ae.get(Te,De),Se,we,!0)}},fe),xe.add(Ie),Ae.setItemGraphicEl(De,Ie)}).remove(function(De){var Me=$e.getItemGraphicEl(De);xe.remove(Me)}).execute(),Ae.eachItemGraphicEl(function(De,Me){var Ie=Ae.getItemModel(Me),Ce=Ie.getModel("pointer");De.setShape({x:me.cx,y:me.cy,width:ie(Ce.get("width"),me.r),r:ie(Ce.get("length"),me.r)}),De.useStyle(Ie.getModel("itemStyle").getItemStyle()),De.style.fill==="auto"&&De.setStyle("fill",ge(se(Ae.get(Te,Me),Se,[0,1],!0))),te.setHoverStyle(De,Ie.getModel("emphasis.itemStyle").getItemStyle())}),this._data=Ae},_renderTitle:function(fe,pe,ve,ge,me){var ye=fe.getData(),_e=ye.mapDimension("value"),be=fe.getModel("title");if(be.get("show")){var xe=be.get("offsetCenter"),$e=me.cx+ie(xe[0],me.r),Se=me.cy+ie(xe[1],me.r),we=+fe.get("min"),Ae=+fe.get("max"),Te=fe.getData().get(_e,0),De=ge(se(Te,[we,Ae],[0,1],!0));this.group.add(new te.Text({silent:!0,style:te.setTextStyle({},be,{x:$e,y:Se,text:ye.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:De,forceRich:!0})}))}},_renderDetail:function(fe,pe,ve,ge,me){var ye=fe.getModel("detail"),_e=+fe.get("min"),be=+fe.get("max");if(ye.get("show")){var xe=ye.get("offsetCenter"),$e=me.cx+ie(xe[0],me.r),Se=me.cy+ie(xe[1],me.r),we=ie(ye.get("width"),me.r),Ae=ie(ye.get("height"),me.r),Te=fe.getData(),De=Te.get(Te.mapDimension("value"),0),Me=ge(se(De,[_e,be],[0,1],!0));this.group.add(new te.Text({silent:!0,style:te.setTextStyle({},ye,{x:$e,y:Se,text:ue(De,ye.get("formatter")),textWidth:isNaN(we)?null:we,textHeight:isNaN(Ae)?null:Ae,textAlign:"center",textVerticalAlign:"middle"},{autoColor:Me,forceRich:!0})}))}}}),he=de;return GaugeView_1=he,GaugeView_1}var hasRequiredGauge;function requireGauge(){return hasRequiredGauge||(hasRequiredGauge=1,requireGaugeSeries(),requireGaugeView()),gauge}var funnel={},FunnelSeries_1,hasRequiredFunnelSeries;function requireFunnelSeries(){if(hasRequiredFunnelSeries)return FunnelSeries_1;hasRequiredFunnelSeries=1;var ee=echarts$1,te=util$a,ae=requireCreateListSimply(),ne=model,ie=ne.defaultEmphasis,oe=requireSourceHelper(),se=oe.makeSeriesEncodeForNameBased,le=requireLegendVisualProvider(),ue=ee.extendSeriesModel({type:"series.funnel",init:function(de){ue.superApply(this,"init",arguments),this.legendVisualProvider=new le(te.bind(this.getData,this),te.bind(this.getRawData,this)),this._defaultLabelLine(de)},getInitialData:function(de,he){return ae(this,{coordDimensions:["value"],encodeDefaulter:te.curry(se,this)})},_defaultLabelLine:function(de){ie(de,"labelLine",["show"]);var he=de.labelLine,fe=de.emphasis.labelLine;he.show=he.show&&de.label.show,fe.show=fe.show&&de.emphasis.label.show},getDataParams:function(de){var he=this.getData(),fe=ue.superCall(this,"getDataParams",de),pe=he.mapDimension("value"),ve=he.getSum(pe);return fe.percent=ve?+(he.get(pe,de)/ve*100).toFixed(2):0,fe.$vars.push("percent"),fe},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}}),ce=ue;return FunnelSeries_1=ce,FunnelSeries_1}var FunnelView_1,hasRequiredFunnelView;function requireFunnelView(){if(hasRequiredFunnelView)return FunnelView_1;hasRequiredFunnelView=1;var ee=graphic$6,te=util$a,ae=Chart_1;function ne(ue,ce){ee.Group.call(this);var de=new ee.Polygon,he=new ee.Polyline,fe=new ee.Text;this.add(de),this.add(he),this.add(fe),this.highDownOnUpdate=function(pe,ve){ve==="emphasis"?(he.ignore=he.hoverIgnore,fe.ignore=fe.hoverIgnore):(he.ignore=he.normalIgnore,fe.ignore=fe.normalIgnore)},this.updateData(ue,ce,!0)}var ie=ne.prototype,oe=["itemStyle","opacity"];ie.updateData=function(ue,ce,de){var he=this.childAt(0),fe=ue.hostModel,pe=ue.getItemModel(ce),ve=ue.getItemLayout(ce),ge=ue.getItemModel(ce).get(oe);ge=ge??1,he.useStyle({}),de?(he.setShape({points:ve.points}),he.setStyle({opacity:0}),ee.initProps(he,{style:{opacity:ge}},fe,ce)):ee.updateProps(he,{style:{opacity:ge},shape:{points:ve.points}},fe,ce);var me=pe.getModel("itemStyle"),ye=ue.getItemVisual(ce,"color");he.setStyle(te.defaults({lineJoin:"round",fill:ye},me.getItemStyle(["opacity"]))),he.hoverStyle=me.getModel("emphasis").getItemStyle(),this._updateLabel(ue,ce),ee.setHoverStyle(this)},ie._updateLabel=function(ue,ce){var de=this.childAt(1),he=this.childAt(2),fe=ue.hostModel,pe=ue.getItemModel(ce),ve=ue.getItemLayout(ce),ge=ve.label,xe=ue.getItemVisual(ce,"color");ee.updateProps(de,{shape:{points:ge.linePoints||ge.linePoints}},fe,ce),ee.updateProps(he,{style:{x:ge.x,y:ge.y}},fe,ce),he.attr({rotation:ge.rotation,origin:[ge.x,ge.y],z2:10});var me=pe.getModel("label"),ye=pe.getModel("emphasis.label"),_e=pe.getModel("labelLine"),be=pe.getModel("emphasis.labelLine"),xe=ue.getItemVisual(ce,"color");ee.setLabelStyle(he.style,he.hoverStyle={},me,ye,{labelFetcher:ue.hostModel,labelDataIndex:ce,defaultText:ue.getName(ce),autoColor:xe,useInsideStyle:!!ge.inside},{textAlign:ge.textAlign,textVerticalAlign:ge.verticalAlign}),he.ignore=he.normalIgnore=!me.get("show"),he.hoverIgnore=!ye.get("show"),de.ignore=de.normalIgnore=!_e.get("show"),de.hoverIgnore=!be.get("show"),de.setStyle({stroke:xe}),de.setStyle(_e.getModel("lineStyle").getLineStyle()),de.hoverStyle=be.getModel("lineStyle").getLineStyle()},te.inherits(ne,ee.Group);var se=ae.extend({type:"funnel",render:function(ue,ce,de){var he=ue.getData(),fe=this._data,pe=this.group;he.diff(fe).add(function(ve){var ge=new ne(he,ve);he.setItemGraphicEl(ve,ge),pe.add(ge)}).update(function(ve,ge){var me=fe.getItemGraphicEl(ge);me.updateData(he,ve),pe.add(me),he.setItemGraphicEl(ve,me)}).remove(function(ve){var ge=fe.getItemGraphicEl(ve);pe.remove(ge)}).execute(),this._data=he},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}}),le=se;return FunnelView_1=le,FunnelView_1}var funnelLayout$1,hasRequiredFunnelLayout;function requireFunnelLayout(){if(hasRequiredFunnelLayout)return funnelLayout$1;hasRequiredFunnelLayout=1;var ee=layout$5,te=requireNumber(),ae=te.parsePercent,ne=te.linearMap;function ie(ue,ce){return ee.getLayoutRect(ue.getBoxLayoutParams(),{width:ce.getWidth(),height:ce.getHeight()})}function oe(ue,ce){for(var de=ue.mapDimension("value"),he=ue.mapArray(de,function(me){return me}),fe=[],pe=ce==="ascending",ve=0,ge=ue.count();ve<ge;ve++)fe[ve]=ve;return typeof ce=="function"?fe.sort(ce):ce!=="none"&&fe.sort(function(me,ye){return pe?he[me]-he[ye]:he[ye]-he[me]}),fe}function se(ue){ue.each(function(ce){var de=ue.getItemModel(ce),he=de.getModel("label"),fe=he.get("position"),pe=de.get("orient"),ve=de.getModel("labelLine"),ge=ue.getItemLayout(ce),me=ge.points,ye=fe==="inner"||fe==="inside"||fe==="center"||fe==="insideLeft"||fe==="insideRight",_e,be,xe,$e;if(ye)fe==="insideLeft"?(be=(me[0][0]+me[3][0])/2+5,xe=(me[0][1]+me[3][1])/2,_e="left"):fe==="insideRight"?(be=(me[1][0]+me[2][0])/2-5,xe=(me[1][1]+me[2][1])/2,_e="right"):(be=(me[0][0]+me[1][0]+me[2][0]+me[3][0])/4,xe=(me[0][1]+me[1][1]+me[2][1]+me[3][1])/4,_e="center"),$e=[[be,xe],[be,xe]];else{var Se,we,Ae,Te,De=ve.get("length");fe==="left"?(Se=(me[3][0]+me[0][0])/2,we=(me[3][1]+me[0][1])/2,Ae=Se-De,be=Ae-5,_e="right"):fe==="right"?(Se=(me[1][0]+me[2][0])/2,we=(me[1][1]+me[2][1])/2,Ae=Se+De,be=Ae+5,_e="left"):fe==="top"?(Se=(me[3][0]+me[0][0])/2,we=(me[3][1]+me[0][1])/2,Te=we-De,xe=Te-5,_e="center"):fe==="bottom"?(Se=(me[1][0]+me[2][0])/2,we=(me[1][1]+me[2][1])/2,Te=we+De,xe=Te+5,_e="center"):fe==="rightTop"?(Se=pe==="horizontal"?me[3][0]:me[1][0],we=pe==="horizontal"?me[3][1]:me[1][1],pe==="horizontal"?(Te=we-De,xe=Te-5,_e="center"):(Ae=Se+De,be=Ae+5,_e="top")):fe==="rightBottom"?(Se=me[2][0],we=me[2][1],pe==="horizontal"?(Te=we+De,xe=Te+5,_e="center"):(Ae=Se+De,be=Ae+5,_e="bottom")):fe==="leftTop"?(Se=me[0][0],we=pe==="horizontal"?me[0][1]:me[1][1],pe==="horizontal"?(Te=we-De,xe=Te-5,_e="center"):(Ae=Se-De,be=Ae-5,_e="right")):fe==="leftBottom"?(Se=pe==="horizontal"?me[1][0]:me[3][0],we=pe==="horizontal"?me[1][1]:me[2][1],pe==="horizontal"?(Te=we+De,xe=Te+5,_e="center"):(Ae=Se-De,be=Ae-5,_e="right")):(Se=(me[1][0]+me[2][0])/2,we=(me[1][1]+me[2][1])/2,pe==="horizontal"?(Te=we+De,xe=Te+5,_e="center"):(Ae=Se+De,be=Ae+5,_e="left")),pe==="horizontal"?(Ae=Se,be=Ae):(Te=we,xe=Te),$e=[[Se,we],[Ae,Te]]}ge.label={linePoints:$e,x:be,y:xe,verticalAlign:"middle",textAlign:_e,inside:ye}})}function le(ue,ce,de){ue.eachSeriesByType("funnel",function(he){var fe=he.getData(),pe=fe.mapDimension("value"),ve=he.get("sort"),ge=ie(he,ce),me=oe(fe,ve),ye=he.get("orient"),_e=ge.width,be=ge.height,xe=ge.x,$e=ge.y,Se=ye==="horizontal"?[ae(he.get("minSize"),be),ae(he.get("maxSize"),be)]:[ae(he.get("minSize"),_e),ae(he.get("maxSize"),_e)],we=fe.getDataExtent(pe),Ae=he.get("min"),Te=he.get("max");Ae==null&&(Ae=Math.min(we[0],0)),Te==null&&(Te=we[1]);var De=he.get("funnelAlign"),Me=he.get("gap"),Ie=ye==="horizontal"?_e:be,Ce=(Ie-Me*(fe.count()-1))/fe.count(),Ee=function(Ve,Ge){if(ye==="horizontal"){var Ye=fe.get(pe,Ve)||0,We=ne(Ye,[Ae,Te],Se,!0),Ue;switch(De){case"top":Ue=$e;break;case"center":Ue=$e+(be-We)/2;break;case"bottom":Ue=$e+(be-We);break}return[[Ge,Ue],[Ge,Ue+We]]}var Ye=fe.get(pe,Ve)||0,Ze=ne(Ye,[Ae,Te],Se,!0),Xe;switch(De){case"left":Xe=xe;break;case"center":Xe=xe+(_e-Ze)/2;break;case"right":Xe=xe+_e-Ze;break}return[[Xe,Ge],[Xe+Ze,Ge]]};ve==="ascending"&&(Ce=-Ce,Me=-Me,ye==="horizontal"?xe+=_e:$e+=be,me=me.reverse());for(var Re=0;Re<me.length;Re++){var ke=me[Re],Be=me[Re+1],Ne=fe.getItemModel(ke);if(ye==="horizontal"){var He=Ne.get("itemStyle.width");He==null?He=Ce:(He=ae(He,_e),ve==="ascending"&&(He=-He));var qe=Ee(ke,xe),Oe=Ee(Be,xe+He);xe+=He+Me,fe.setItemLayout(ke,{points:qe.concat(Oe.slice().reverse())})}else{var ze=Ne.get("itemStyle.height");ze==null?ze=Ce:(ze=ae(ze,be),ve==="ascending"&&(ze=-ze));var qe=ye==="horizontal"?Ee(ke,xe):Ee(ke,$e),Oe=ye==="horizontal"?Ee(Be,xe+He):Ee(Be,$e+ze);$e+=ze+Me,fe.setItemLayout(ke,{points:qe.concat(Oe.slice().reverse())})}}se(fe)})}return funnelLayout$1=le,funnelLayout$1}var hasRequiredFunnel;function requireFunnel(){if(hasRequiredFunnel)return funnel;hasRequiredFunnel=1;var ee=echarts$1;requireFunnelSeries(),requireFunnelView();var te=requireDataColor(),ae=requireFunnelLayout(),ne=requireDataFilter();return ee.registerVisual(te("funnel")),ee.registerLayout(ae),ee.registerProcessor(ne("funnel")),funnel}var parallel$1={},parallel={},parallelPreprocessor$1,hasRequiredParallelPreprocessor;function requireParallelPreprocessor(){if(hasRequiredParallelPreprocessor)return parallelPreprocessor$1;hasRequiredParallelPreprocessor=1;var ee=util$a,te=model;function ae(oe){ne(oe),ie(oe)}function ne(oe){if(!oe.parallel){var se=!1;ee.each(oe.series,function(le){le&&le.type==="parallel"&&(se=!0)}),se&&(oe.parallel=[{}])}}function ie(oe){var se=te.normalizeToArray(oe.parallelAxis);ee.each(se,function(le){if(ee.isObject(le)){var ue=le.parallelIndex||0,ce=te.normalizeToArray(oe.parallel)[ue];ce&&ce.parallelAxisDefault&&ee.merge(le,ce.parallelAxisDefault,!1)}})}return parallelPreprocessor$1=ae,parallelPreprocessor$1}var parallelCreator={},ParallelAxis_1,hasRequiredParallelAxis$1;function requireParallelAxis$1(){if(hasRequiredParallelAxis$1)return ParallelAxis_1;hasRequiredParallelAxis$1=1;var ee=util$a,te=requireAxis$1(),ae=function(ie,oe,se,le,ue){te.call(this,ie,oe,se),this.type=le||"value",this.axisIndex=ue};ae.prototype={constructor:ae,model:null,isHorizontal:function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"}},ee.inherits(ae,te);var ne=ae;return ParallelAxis_1=ne,ParallelAxis_1}var sliderMove$1,hasRequiredSliderMove;function requireSliderMove(){if(hasRequiredSliderMove)return sliderMove$1;hasRequiredSliderMove=1;function ee(ne,ie,oe,se,le,ue){ne=ne||0;var ce=oe[1]-oe[0];if(le!=null&&(le=ae(le,[0,ce])),ue!=null&&(ue=Math.max(ue,le??0)),se==="all"){var de=Math.abs(ie[1]-ie[0]);de=ae(de,[0,ce]),le=ue=ae(de,[le,ue]),se=0}ie[0]=ae(ie[0],oe),ie[1]=ae(ie[1],oe);var he=te(ie,se);ie[se]+=ne;var fe=le||0,pe=oe.slice();he.sign<0?pe[0]+=fe:pe[1]-=fe,ie[se]=ae(ie[se],pe);var ve=te(ie,se);le!=null&&(ve.sign!==he.sign||ve.span<le)&&(ie[1-se]=ie[se]+he.sign*le);var ve=te(ie,se);return ue!=null&&ve.span>ue&&(ie[1-se]=ie[se]+ve.sign*ue),ie}function te(ne,ie){var oe=ne[ie]-ne[1-ie];return{span:Math.abs(oe),sign:oe>0?-1:oe<0?1:ie?-1:1}}function ae(ne,ie){return Math.min(ie[1]!=null?ie[1]:1/0,Math.max(ie[0]!=null?ie[0]:-1/0,ne))}return sliderMove$1=ee,sliderMove$1}var Parallel_1,hasRequiredParallel$2;function requireParallel$2(){if(hasRequiredParallel$2)return Parallel_1;hasRequiredParallel$2=1;var ee=util$a,te=matrix$5,ae=layout$5,ne=requireAxisHelper(),ie=requireParallelAxis$1(),oe=graphic$6,se=requireNumber(),le=requireSliderMove(),ue=ee.each,ce=Math.min,de=Math.max,he=Math.floor,fe=Math.ceil,pe=se.round,ve=Math.PI;function ge(xe,$e,Se){this._axesMap=ee.createHashMap(),this._axesLayout={},this.dimensions=xe.dimensions,this._rect,this._model=xe,this._init(xe,$e,Se)}ge.prototype={type:"parallel",constructor:ge,_init:function(xe,$e,Se){var we=xe.dimensions,Ae=xe.parallelAxisIndex;ue(we,function(Te,De){var Me=Ae[De],Ie=$e.getComponent("parallelAxis",Me),Ce=this._axesMap.set(Te,new ie(Te,ne.createScaleByModel(Ie),[0,0],Ie.get("type"),Me)),Ee=Ce.type==="category";Ce.onBand=Ee&&Ie.get("boundaryGap"),Ce.inverse=Ie.get("inverse"),Ie.axis=Ce,Ce.model=Ie,Ce.coordinateSystem=Ie.coordinateSystem=this},this)},update:function(xe,$e){this._updateAxesFromSeries(this._model,xe)},containPoint:function(xe){var $e=this._makeLayoutInfo(),Se=$e.axisBase,we=$e.layoutBase,Ae=$e.pixelDimIndex,Te=xe[1-Ae],De=xe[Ae];return Te>=Se&&Te<=Se+$e.axisLength&&De>=we&&De<=we+$e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(xe,$e){$e.eachSeries(function(Se){if(xe.contains(Se,$e)){var we=Se.getData();ue(this.dimensions,function(Ae){var Te=this._axesMap.get(Ae);Te.scale.unionExtentFromData(we,we.mapDimension(Ae)),ne.niceScaleExtent(Te.scale,Te.model)},this)}},this)},resize:function(xe,$e){this._rect=ae.getLayoutRect(xe.getBoxLayoutParams(),{width:$e.getWidth(),height:$e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var xe=this._model,$e=this._rect,Se=["x","y"],we=["width","height"],Ae=xe.get("layout"),Te=Ae==="horizontal"?0:1,De=$e[we[Te]],Me=[0,De],Ie=this.dimensions.length,Ce=me(xe.get("axisExpandWidth"),Me),Ee=me(xe.get("axisExpandCount")||0,[0,Ie]),Re=xe.get("axisExpandable")&&Ie>3&&Ie>Ee&&Ee>1&&Ce>0&&De>0,ke=xe.get("axisExpandWindow"),Be;if(ke)Be=me(ke[1]-ke[0],Me),ke[1]=ke[0]+Be;else{Be=me(Ce*(Ee-1),Me);var Ne=xe.get("axisExpandCenter")||he(Ie/2);ke=[Ce*Ne-Be/2],ke[1]=ke[0]+Be}var He=(De-Be)/(Ie-Ee);He<3&&(He=0);var qe=[he(pe(ke[0]/Ce,1))+1,fe(pe(ke[1]/Ce,1))-1],Oe=He/Ce*ke[0];return{layout:Ae,pixelDimIndex:Te,layoutBase:$e[Se[Te]],layoutLength:De,axisBase:$e[Se[1-Te]],axisLength:$e[we[1-Te]],axisExpandable:Re,axisExpandWidth:Ce,axisCollapseWidth:He,axisExpandWindow:ke,axisCount:Ie,winInnerIndices:qe,axisExpandWindow0Pos:Oe}},_layoutAxes:function(){var xe=this._rect,$e=this._axesMap,Se=this.dimensions,we=this._makeLayoutInfo(),Ae=we.layout;$e.each(function(Te){var De=[0,we.axisLength],Me=Te.inverse?1:0;Te.setExtent(De[Me],De[1-Me])}),ue(Se,function(Te,De){var Me=(we.axisExpandable?_e:ye)(De,we),Ie={horizontal:{x:Me.position,y:we.axisLength},vertical:{x:0,y:Me.position}},Ce={horizontal:ve/2,vertical:0},Ee=[Ie[Ae].x+xe.x,Ie[Ae].y+xe.y],Re=Ce[Ae],ke=te.create();te.rotate(ke,ke,Re),te.translate(ke,ke,Ee),this._axesLayout[Te]={position:Ee,rotation:Re,transform:ke,axisNameAvailableWidth:Me.axisNameAvailableWidth,axisLabelShow:Me.axisLabelShow,nameTruncateMaxWidth:Me.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(xe){return this._axesMap.get(xe)},dataToPoint:function(xe,$e){return this.axisCoordToPoint(this._axesMap.get($e).dataToCoord(xe),$e)},eachActiveState:function(xe,$e,Se,we){Se==null&&(Se=0),we==null&&(we=xe.count());var Ae=this._axesMap,Te=this.dimensions,De=[],Me=[];ee.each(Te,function(He){De.push(xe.mapDimension(He)),Me.push(Ae.get(He).model)});for(var Ie=this.hasAxisBrushed(),Ce=Se;Ce<we;Ce++){var Ee;if(!Ie)Ee="normal";else{Ee="active";for(var Re=xe.getValues(De,Ce),ke=0,Be=Te.length;ke<Be;ke++){var Ne=Me[ke].getActiveState(Re[ke]);if(Ne==="inactive"){Ee="inactive";break}}}$e(Ee,Ce)}},hasAxisBrushed:function(){for(var xe=this.dimensions,$e=this._axesMap,Se=!1,we=0,Ae=xe.length;we<Ae;we++)$e.get(xe[we]).model.getActiveState()!=="normal"&&(Se=!0);return Se},axisCoordToPoint:function(xe,$e){var Se=this._axesLayout[$e];return oe.applyTransform([xe,0],Se.transform)},getAxisLayout:function(xe){return ee.clone(this._axesLayout[xe])},getSlidedAxisExpandWindow:function(xe){var $e=this._makeLayoutInfo(),Se=$e.pixelDimIndex,we=$e.axisExpandWindow.slice(),Ae=we[1]-we[0],Te=[0,$e.axisExpandWidth*($e.axisCount-1)];if(!this.containPoint(xe))return{behavior:"none",axisExpandWindow:we};var De=xe[Se]-$e.layoutBase-$e.axisExpandWindow0Pos,Me,Ie="slide",Ce=$e.axisCollapseWidth,Ee=this._model.get("axisExpandSlideTriggerArea"),Re=Ee[0]!=null;if(Ce)Re&&Ce&&De<Ae*Ee[0]?(Ie="jump",Me=De-Ae*Ee[2]):Re&&Ce&&De>Ae*(1-Ee[0])?(Ie="jump",Me=De-Ae*(1-Ee[2])):(Me=De-Ae*Ee[1])>=0&&(Me=De-Ae*(1-Ee[1]))<=0&&(Me=0),Me*=$e.axisExpandWidth/Ce,Me?le(Me,we,Te,"all"):Ie="none";else{var Ae=we[1]-we[0],ke=Te[1]*De/Ae;we=[de(0,ke-Ae/2)],we[1]=ce(Te[1],we[0]+Ae),we[0]=we[1]-Ae}return{axisExpandWindow:we,behavior:Ie}}};function me(xe,$e){return ce(de(xe,$e[0]),$e[1])}function ye(xe,$e){var Se=$e.layoutLength/($e.axisCount-1);return{position:Se*xe,axisNameAvailableWidth:Se,axisLabelShow:!0}}function _e(xe,$e){var Se=$e.layoutLength,we=$e.axisExpandWidth,Ae=$e.axisCount,Te=$e.axisCollapseWidth,De=$e.winInnerIndices,Me,Ie=Te,Ce=!1,Ee;return xe<De[0]?(Me=xe*Te,Ee=Te):xe<=De[1]?(Me=$e.axisExpandWindow0Pos+xe*we-$e.axisExpandWindow[0],Ie=we,Ce=!0):(Me=Se-(Ae-1-xe)*Te,Ee=Te),{position:Me,axisNameAvailableWidth:Ie,axisLabelShow:Ce,nameTruncateMaxWidth:Ee}}var be=ge;return Parallel_1=be,Parallel_1}var hasRequiredParallelCreator;function requireParallelCreator(){if(hasRequiredParallelCreator)return parallelCreator;hasRequiredParallelCreator=1;var ee=requireParallel$2(),te=CoordinateSystem$1;function ae(ne,ie){var oe=[];return ne.eachComponent("parallel",function(se,le){var ue=new ee(se,ne,ie);ue.name="parallel_"+le,ue.resize(se,ie),se.coordinateSystem=ue,ue.model=se,oe.push(ue)}),ne.eachSeries(function(se){if(se.get("coordinateSystem")==="parallel"){var le=ne.queryComponents({mainType:"parallel",index:se.get("parallelIndex"),id:se.get("parallelId")})[0];se.coordinateSystem=le.coordinateSystem}}),oe}return te.register("parallel",{create:ae}),parallelCreator}var AxisModel_1$1,hasRequiredAxisModel$2;function requireAxisModel$2(){if(hasRequiredAxisModel$2)return AxisModel_1$1;hasRequiredAxisModel$2=1;var ee=util$a,te=Component$1,ae=makeStyleMapper$4,ne=requireAxisModelCreator(),ie=requireNumber(),oe=requireAxisModelCommonMixin(),se=te.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return ae([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(de){var he=this.activeIntervals=ee.clone(de);if(he)for(var fe=he.length-1;fe>=0;fe--)ie.asc(he[fe])},getActiveState:function(de){var he=this.activeIntervals;if(!he.length)return"normal";if(de==null||isNaN(de))return"inactive";if(he.length===1){var fe=he[0];if(fe[0]<=de&&de<=fe[1])return"active"}else for(var pe=0,ve=he.length;pe<ve;pe++)if(he[pe][0]<=de&&de<=he[pe][1])return"active";return"inactive"}}),le={type:"value",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};ee.merge(se.prototype,oe);function ue(de,he){return he.type||(he.data?"category":"value")}ne("parallel",se,ue,le);var ce=se;return AxisModel_1$1=ce,AxisModel_1$1}var ParallelModel$2,hasRequiredParallelModel;function requireParallelModel(){if(hasRequiredParallelModel)return ParallelModel$2;hasRequiredParallelModel=1;var ee=util$a,te=Component$1;requireAxisModel$2();var ae=te.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},init:function(){te.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(ne){var ie=this.option;ne&&ee.merge(ie,ne,!0),this._initDimensions()},contains:function(ne,ie){var oe=ne.get("parallelIndex");return oe!=null&&ie.getComponent("parallel",oe)===this},setAxisExpand:function(ne){ee.each(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(ie){ne.hasOwnProperty(ie)&&(this.option[ie]=ne[ie])},this)},_initDimensions:function(){var ne=this.dimensions=[],ie=this.parallelAxisIndex=[],oe=ee.filter(this.dependentModels.parallelAxis,function(se){return(se.get("parallelIndex")||0)===this.componentIndex},this);ee.each(oe,function(se){ne.push("dim"+se.get("dim")),ie.push(se.componentIndex)})}});return ParallelModel$2=ae,ParallelModel$2}var parallelAxis={},parallelAxisAction={},hasRequiredParallelAxisAction;function requireParallelAxisAction(){if(hasRequiredParallelAxisAction)return parallelAxisAction;hasRequiredParallelAxisAction=1;var ee=echarts$1,te={type:"axisAreaSelect",event:"axisAreaSelected"};return ee.registerAction(te,function(ae,ne){ne.eachComponent({mainType:"parallelAxis",query:ae},function(ie){ie.axis.model.setActiveIntervals(ae.intervals)})}),ee.registerAction("parallelAxisExpand",function(ae,ne){ne.eachComponent({mainType:"parallel",query:ae},function(ie){ie.setAxisExpand(ae)})}),parallelAxisAction}var BrushController_1,hasRequiredBrushController;function requireBrushController(){if(hasRequiredBrushController)return BrushController_1;hasRequiredBrushController=1;var ee=util$a,te=Eventful_1,ae=graphic$6,ne=requireInteractionMutex(),ie=requireDataDiffer(),oe=ee.curry,se=ee.each,le=ee.map,ue=Math.min,ce=Math.max,de=Math.pow,he=1e4,fe=6,pe=6,ve="globalPan",ge={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},me={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},ye={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},_e=0;function be(ct){te.call(this),this._zr=ct,this.group=new ae.Group,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+_e++,this._handlers={},se(At,function(vt,yt){this._handlers[yt]=ee.bind(vt,this)},this)}be.prototype={constructor:be,enableBrush:function(ct){return this._brushType&&$e(this),ct.brushType&&xe(this,ct),this},setPanels:function(ct){if(ct&&ct.length){var vt=this._panels={};ee.each(ct,function(yt){vt[yt.panelId]=ee.clone(yt)})}else this._panels=null;return this},mount:function(ct){ct=ct||{},this._enableGlobalPan=ct.enableGlobalPan;var vt=this.group;return this._zr.add(vt),vt.attr({position:ct.position||[0,0],rotation:ct.rotation||0,scale:ct.scale||[1,1]}),this._transform=vt.getLocalTransform(),this},eachCover:function(ct,vt){se(this._covers,ct,vt)},updateCovers:function(ct){ct=ee.map(ct,function(Zt){return ee.merge(ee.clone(ye),Zt,!0)});var vt="\0-brush-index-",yt=this._covers,Dt=this._covers=[],Pt=this,It=this._creatingCover;return new ie(yt,ct,Ft,Lt).add(Ht).update(Ht).remove(Kt).execute(),this;function Lt(Zt,jt){return(Zt.id!=null?Zt.id:vt+jt)+"-"+Zt.brushType}function Ft(Zt,jt){return Lt(Zt.__brushOption,jt)}function Ht(Zt,jt){var fr=ct[Zt];if(jt!=null&&yt[jt]===It)Dt[Zt]=yt[jt];else{var _r=Dt[Zt]=jt!=null?(yt[jt].__brushOption=fr,yt[jt]):Te(Pt,Ae(Pt,fr));Ie(Pt,_r)}}function Kt(Zt){yt[Zt]!==It&&Pt.group.remove(yt[Zt])}},unmount:function(){return this.enableBrush(!1),ke(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},ee.mixin(be,te);function xe(ct,vt){var yt=ct._zr;ct._enableGlobalPan||ne.take(yt,ve,ct._uid),Se(yt,ct._handlers),ct._brushType=vt.brushType,ct._brushOption=ee.merge(ee.clone(ye),vt,!0)}function $e(ct){var vt=ct._zr;ne.release(vt,ve,ct._uid),we(vt,ct._handlers),ct._brushType=ct._brushOption=null}function Se(ct,vt){se(vt,function(yt,Dt){ct.on(Dt,yt)})}function we(ct,vt){se(vt,function(yt,Dt){ct.off(Dt,yt)})}function Ae(ct,vt){var yt=St[vt.brushType].createCover(ct,vt);return yt.__brushOption=vt,Me(yt,vt),ct.group.add(yt),yt}function Te(ct,vt){var yt=Ce(vt);return yt.endCreating&&(yt.endCreating(ct,vt),Me(vt,vt.__brushOption)),vt}function De(ct,vt){var yt=vt.__brushOption;Ce(vt).updateCoverShape(ct,vt,yt.range,yt)}function Me(ct,vt){var yt=vt.z;yt==null&&(yt=he),ct.traverse(function(Dt){Dt.z=yt,Dt.z2=yt})}function Ie(ct,vt){Ce(vt).updateCommon(ct,vt),De(ct,vt)}function Ce(ct){return St[ct.__brushOption.brushType]}function Ee(ct,vt,yt){var Dt=ct._panels;if(!Dt)return!0;var Pt,It=ct._transform;return se(Dt,function(Lt){Lt.isTargetByCursor(vt,yt,It)&&(Pt=Lt)}),Pt}function Re(ct,vt){var yt=ct._panels;if(!yt)return!0;var Dt=vt.__brushOption.panelId;return Dt!=null?yt[Dt]:!0}function ke(ct){var vt=ct._covers,yt=vt.length;return se(vt,function(Dt){ct.group.remove(Dt)},ct),vt.length=0,!!yt}function Be(ct,vt){var yt=le(ct._covers,function(Dt){var Pt=Dt.__brushOption,It=ee.clone(Pt.range);return{brushType:Pt.brushType,panelId:Pt.panelId,range:It}});ct.trigger("brush",yt,{isEnd:!!vt.isEnd,removeOnClick:!!vt.removeOnClick})}function Ne(ct){var vt=ct._track;if(!vt.length)return!1;var yt=vt[vt.length-1],Dt=vt[0],Pt=yt[0]-Dt[0],It=yt[1]-Dt[1],Lt=de(Pt*Pt+It*It,.5);return Lt>fe}function He(ct){var vt=ct.length-1;return vt<0&&(vt=0),[ct[0],ct[vt]]}function qe(ct,vt,yt,Dt){var Pt=new ae.Group;return Pt.add(new ae.Rect({name:"main",style:Ge(yt),silent:!0,draggable:!0,cursor:"move",drift:oe(ct,vt,Pt,"nswe"),ondragend:oe(Be,vt,{isEnd:!0})})),se(Dt,function(It){Pt.add(new ae.Rect({name:It,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:oe(ct,vt,Pt,It),ondragend:oe(Be,vt,{isEnd:!0})}))}),Pt}function Oe(ct,vt,yt,Dt){var Pt=Dt.brushStyle.lineWidth||0,It=ce(Pt,pe),Lt=yt[0][0],Ft=yt[1][0],Ht=Lt-Pt/2,Kt=Ft-Pt/2,Zt=yt[0][1],jt=yt[1][1],fr=Zt-It+Pt/2,_r=jt-It+Pt/2,Rr=Zt-Lt,$r=jt-Ft,Pr=Rr+Pt,Lr=$r+Pt;Ve(ct,vt,"main",Lt,Ft,Rr,$r),Dt.transformable&&(Ve(ct,vt,"w",Ht,Kt,It,Lr),Ve(ct,vt,"e",fr,Kt,It,Lr),Ve(ct,vt,"n",Ht,Kt,Pr,It),Ve(ct,vt,"s",Ht,_r,Pr,It),Ve(ct,vt,"nw",Ht,Kt,It,It),Ve(ct,vt,"ne",fr,Kt,It,It),Ve(ct,vt,"sw",Ht,_r,It,It),Ve(ct,vt,"se",fr,_r,It,It))}function ze(ct,vt){var yt=vt.__brushOption,Dt=yt.transformable,Pt=vt.childAt(0);Pt.useStyle(Ge(yt)),Pt.attr({silent:!Dt,cursor:Dt?"move":"default"}),se(["w","e","n","s","se","sw","ne","nw"],function(It){var Lt=vt.childOfName(It),Ft=Ye(ct,It);Lt&&Lt.attr({silent:!Dt,invisible:!Dt,cursor:Dt?me[Ft]+"-resize":null})})}function Ve(ct,vt,yt,Dt,Pt,It,Lt){var Ft=vt.childOfName(yt);Ft&&Ft.setShape(ut(at(ct,vt,[[Dt,Pt],[Dt+It,Pt+Lt]])))}function Ge(ct){return ee.defaults({strokeNoScale:!0},ct.brushStyle)}function We(ct,vt,yt,Dt){var Pt=[ue(ct,yt),ue(vt,Dt)],It=[ce(ct,yt),ce(vt,Dt)];return[[Pt[0],It[0]],[Pt[1],It[1]]]}function Ue(ct){return ae.getTransform(ct.group)}function Ye(ct,vt){if(vt.length>1){vt=vt.split("");var yt=[Ye(ct,vt[0]),Ye(ct,vt[1])];return(yt[0]==="e"||yt[0]==="w")&&yt.reverse(),yt.join("")}else{var Dt={w:"left",e:"right",n:"top",s:"bottom"},Pt={left:"w",right:"e",top:"n",bottom:"s"},yt=ae.transformDirection(Dt[vt],Ue(ct));return Pt[yt]}}function Ze(ct,vt,yt,Dt,Pt,It,Lt,Ft){var Ht=Dt.__brushOption,Kt=ct(Ht.range),Zt=it(yt,It,Lt);se(Pt.split(""),function(jt){var fr=ge[jt];Kt[fr[0]][fr[1]]+=Zt[fr[0]]}),Ht.range=vt(We(Kt[0][0],Kt[1][0],Kt[0][1],Kt[1][1])),Ie(yt,Dt),Be(yt,{isEnd:!1})}function Xe(ct,vt,yt,Dt,Pt){var It=vt.__brushOption.range,Lt=it(ct,yt,Dt);se(It,function(Ft){Ft[0]+=Lt[0],Ft[1]+=Lt[1]}),Ie(ct,vt),Be(ct,{isEnd:!1})}function it(ct,vt,yt){var Dt=ct.group,Pt=Dt.transformCoordToLocal(vt,yt),It=Dt.transformCoordToLocal(0,0);return[Pt[0]-It[0],Pt[1]-It[1]]}function at(ct,vt,yt){var Dt=Re(ct,vt);return Dt&&Dt!==!0?Dt.clipPath(yt,ct._transform):ee.clone(yt)}function ut(ct){var vt=ue(ct[0][0],ct[1][0]),yt=ue(ct[0][1],ct[1][1]),Dt=ce(ct[0][0],ct[1][0]),Pt=ce(ct[0][1],ct[1][1]);return{x:vt,y:yt,width:Dt-vt,height:Pt-yt}}function dt(ct,vt,yt){if(!(!ct._brushType||qt(ct,vt))){var Dt=ct._zr,Pt=ct._covers,It=Ee(ct,vt,yt);if(!ct._dragging)for(var Lt=0;Lt<Pt.length;Lt++){var Ft=Pt[Lt].__brushOption;if(It&&(It===!0||Ft.panelId===It.panelId)&&St[Ft.brushType].contain(Pt[Lt],yt[0],yt[1]))return}It&&Dt.setCursorStyle("crosshair")}}function pt(ct){var vt=ct.event;vt.preventDefault&&vt.preventDefault()}function gt(ct,vt,yt){return ct.childOfName("main").contain(vt,yt)}function bt(ct,vt,yt,Dt){var Pt=ct._creatingCover,It=ct._creatingPanel,Lt=ct._brushOption,Ft;if(ct._track.push(yt.slice()),Ne(ct)||Pt){if(It&&!Pt){Lt.brushMode==="single"&&ke(ct);var Ht=ee.clone(Lt);Ht.brushType=Tt(Ht.brushType,It),Ht.panelId=It===!0?null:It.panelId,Pt=ct._creatingCover=Ae(ct,Ht),ct._covers.push(Pt)}if(Pt){var Kt=St[Tt(ct._brushType,It)],Zt=Pt.__brushOption;Zt.range=Kt.getCreatingRange(at(ct,Pt,ct._track)),Dt&&(Te(ct,Pt),Kt.updateCommon(ct,Pt)),De(ct,Pt),Ft={isEnd:Dt}}}else Dt&&Lt.brushMode==="single"&&Lt.removeOnClick&&Ee(ct,vt,yt)&&ke(ct)&&(Ft={isEnd:Dt,removeOnClick:!0});return Ft}function Tt(ct,vt){return ct==="auto"?vt.defaultBrushType:ct}var At={mousedown:function(ct){if(this._dragging)Mt(this,ct);else if(!ct.target||!ct.target.draggable){pt(ct);var vt=this.group.transformCoordToLocal(ct.offsetX,ct.offsetY);this._creatingCover=null;var yt=this._creatingPanel=Ee(this,ct,vt);yt&&(this._dragging=!0,this._track=[vt.slice()])}},mousemove:function(ct){var vt=ct.offsetX,yt=ct.offsetY,Dt=this.group.transformCoordToLocal(vt,yt);if(dt(this,ct,Dt),this._dragging){pt(ct);var Pt=bt(this,ct,Dt,!1);Pt&&Be(this,Pt)}},mouseup:function(ct){Mt(this,ct)}};function Mt(ct,vt){if(ct._dragging){pt(vt);var yt=vt.offsetX,Dt=vt.offsetY,Pt=ct.group.transformCoordToLocal(yt,Dt),It=bt(ct,vt,Pt,!0);ct._dragging=!1,ct._track=[],ct._creatingCover=null,It&&Be(ct,It)}}function qt(ct,vt,yt){var Dt=ct._zr;return vt<0||vt>Dt.getWidth()||yt<0||yt>Dt.getHeight()}var St={lineX:Ct(0),lineY:Ct(1),rect:{createCover:function(ct,vt){return qe(oe(Ze,function(yt){return yt},function(yt){return yt}),ct,vt,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(ct){var vt=He(ct);return We(vt[1][0],vt[1][1],vt[0][0],vt[0][1])},updateCoverShape:function(ct,vt,yt,Dt){Oe(ct,vt,yt,Dt)},updateCommon:ze,contain:gt},polygon:{createCover:function(ct,vt){var yt=new ae.Group;return yt.add(new ae.Polyline({name:"main",style:Ge(vt),silent:!0})),yt},getCreatingRange:function(ct){return ct},endCreating:function(ct,vt){vt.remove(vt.childAt(0)),vt.add(new ae.Polygon({name:"main",draggable:!0,drift:oe(Xe,ct,vt),ondragend:oe(Be,ct,{isEnd:!0})}))},updateCoverShape:function(ct,vt,yt,Dt){vt.childAt(0).setShape({points:at(ct,vt,yt)})},updateCommon:ze,contain:gt}};function Ct(ct){return{createCover:function(vt,yt){return qe(oe(Ze,function(Dt){var Pt=[Dt,[0,100]];return ct&&Pt.reverse(),Pt},function(Dt){return Dt[ct]}),vt,yt,[["w","e"],["n","s"]][ct])},getCreatingRange:function(vt){var yt=He(vt),Dt=ue(yt[0][ct],yt[1][ct]),Pt=ce(yt[0][ct],yt[1][ct]);return[Dt,Pt]},updateCoverShape:function(vt,yt,Dt,Pt){var It,Lt=Re(vt,yt);if(Lt!==!0&&Lt.getLinearBrushOtherExtent)It=Lt.getLinearBrushOtherExtent(ct,vt._transform);else{var Ft=vt._zr;It=[0,[Ft.getWidth(),Ft.getHeight()][1-ct]]}var Ht=[Dt,It];ct&&Ht.reverse(),Oe(vt,yt,Ht,Pt)},updateCommon:ze,contain:gt}}var Ot=be;return BrushController_1=Ot,BrushController_1}var brushHelper={},hasRequiredBrushHelper;function requireBrushHelper(){if(hasRequiredBrushHelper)return brushHelper;hasRequiredBrushHelper=1;var ee=BoundingRect_1,te=requireCursorHelper(),ae=te.onIrrelevantElement,ne=graphic$6;function ie(ue){return ue=le(ue),function(ce,de){return ne.clipPointsByRect(ce,ue)}}function oe(ue,ce){return ue=le(ue),function(de){var he=ce??de,fe=he?ue.width:ue.height,pe=he?ue.x:ue.y;return[pe,pe+(fe||0)]}}function se(ue,ce,de){return ue=le(ue),function(he,fe,pe){return ue.contain(fe[0],fe[1])&&!ae(he,ce,de)}}function le(ue){return ee.create(ue)}return brushHelper.makeRectPanelClipPath=ie,brushHelper.makeLinearBrushOtherExtent=oe,brushHelper.makeRectIsTargetByCursor=se,brushHelper}var ParallelAxisView$2,hasRequiredParallelAxisView;function requireParallelAxisView(){if(hasRequiredParallelAxisView)return ParallelAxisView$2;hasRequiredParallelAxisView=1;var ee=echarts$1,te=util$a,ae=requireAxisBuilder(),ne=requireBrushController(),ie=requireBrushHelper(),oe=graphic$6,se=["axisLine","axisTickLabel","axisName"],le=ee.extendComponentView({type:"parallelAxis",init:function(fe,pe){le.superApply(this,"init",arguments),(this._brushController=new ne(pe.getZr())).on("brush",te.bind(this._onBrush,this))},render:function(fe,pe,ve,ge){if(!ue(fe,pe,ge)){this.axisModel=fe,this.api=ve,this.group.removeAll();var me=this._axisGroup;if(this._axisGroup=new oe.Group,this.group.add(this._axisGroup),!!fe.get("show")){var ye=de(fe,pe),_e=ye.coordinateSystem,be=fe.getAreaSelectStyle(),xe=be.width,$e=fe.axis.dim,Se=_e.getAxisLayout($e),we=te.extend({strokeContainThreshold:xe},Se),Ae=new ae(fe,we);te.each(se,Ae.add,Ae),this._axisGroup.add(Ae.getGroup()),this._refreshBrushController(we,be,fe,ye,xe,ve);var Te=ge&&ge.animation===!1?null:fe;oe.groupTransition(me,this._axisGroup,Te)}}},_refreshBrushController:function(fe,pe,ve,ge,me,ye){var _e=ve.axis.getExtent(),be=_e[1]-_e[0],xe=Math.min(30,Math.abs(be)*.1),$e=oe.BoundingRect.create({x:_e[0],y:-me/2,width:be,height:me});$e.x-=xe,$e.width+=2*xe,this._brushController.mount({enableGlobalPan:!0,rotation:fe.rotation,position:fe.position}).setPanels([{panelId:"pl",clipPath:ie.makeRectPanelClipPath($e),isTargetByCursor:ie.makeRectIsTargetByCursor($e,ye,ge),getLinearBrushOtherExtent:ie.makeLinearBrushOtherExtent($e,0)}]).enableBrush({brushType:"lineX",brushStyle:pe,removeOnClick:!0}).updateCovers(ce(ve))},_onBrush:function(fe,pe){var ve=this.axisModel,ge=ve.axis,me=te.map(fe,function(ye){return[ge.coordToData(ye.range[0],!0),ge.coordToData(ye.range[1],!0)]});(!ve.option.realtime===pe.isEnd||pe.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:ve.id,intervals:me})},dispose:function(){this._brushController.dispose()}});function ue(fe,pe,ve){return ve&&ve.type==="axisAreaSelect"&&pe.findComponents({mainType:"parallelAxis",query:ve})[0]===fe}function ce(fe){var pe=fe.axis;return te.map(fe.activeIntervals,function(ve){return{brushType:"lineX",panelId:"pl",range:[pe.dataToCoord(ve[0],!0),pe.dataToCoord(ve[1],!0)]}})}function de(fe,pe){return pe.getComponent("parallel",fe.get("parallelIndex"))}var he=le;return ParallelAxisView$2=he,ParallelAxisView$2}var hasRequiredParallelAxis;function requireParallelAxis(){return hasRequiredParallelAxis||(hasRequiredParallelAxis=1,requireParallelCreator(),requireParallelAxisAction(),requireParallelAxisView()),parallelAxis}var hasRequiredParallel$1;function requireParallel$1(){if(hasRequiredParallel$1)return parallel;hasRequiredParallel$1=1;var ee=echarts$1,te=util$a,ae=throttle$3,ne=requireParallelPreprocessor();requireParallelCreator(),requireParallelModel(),requireParallelAxis();var ie=5;ee.extendComponentView({type:"parallel",render:function(le,ue,ce){this._model=le,this._api=ce,this._handlers||(this._handlers={},te.each(oe,function(de,he){ce.getZr().on(he,this._handlers[he]=te.bind(de,this))},this)),ae.createOrUpdate(this,"_throttledDispatchExpand",le.get("axisExpandRate"),"fixRate")},dispose:function(le,ue){te.each(this._handlers,function(ce,de){ue.getZr().off(de,ce)}),this._handlers=null},_throttledDispatchExpand:function(le){this._dispatchExpand(le)},_dispatchExpand:function(le){le&&this._api.dispatchAction(te.extend({type:"parallelAxisExpand"},le))}});var oe={mousedown:function(le){se(this,"click")&&(this._mouseDownPoint=[le.offsetX,le.offsetY])},mouseup:function(le){var ue=this._mouseDownPoint;if(se(this,"click")&&ue){var ce=[le.offsetX,le.offsetY],de=Math.pow(ue[0]-ce[0],2)+Math.pow(ue[1]-ce[1],2);if(de>ie)return;var he=this._model.coordinateSystem.getSlidedAxisExpandWindow([le.offsetX,le.offsetY]);he.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:he.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(le){if(!(this._mouseDownPoint||!se(this,"mousemove"))){var ue=this._model,ce=ue.coordinateSystem.getSlidedAxisExpandWindow([le.offsetX,le.offsetY]),de=ce.behavior;de==="jump"&&this._throttledDispatchExpand.debounceNextCall(ue.get("axisExpandDebounce")),this._throttledDispatchExpand(de==="none"?null:{axisExpandWindow:ce.axisExpandWindow,animation:de==="jump"?null:!1})}}};function se(le,ue){var ce=le._model;return ce.get("axisExpandable")&&ce.get("axisExpandTriggerOn")===ue}return ee.registerPreprocessor(ne),parallel}var ParallelSeries,hasRequiredParallelSeries;function requireParallelSeries(){if(hasRequiredParallelSeries)return ParallelSeries;hasRequiredParallelSeries=1;var ee=util$a,te=ee.each,ae=ee.createHashMap,ne=Series,ie=requireCreateListFromArray(),oe=ne.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(ue,ce){var de=this.getSource();return se(de,this),ie(de,this)},getRawIndicesByActiveState:function(ue){var ce=this.coordinateSystem,de=this.getData(),he=[];return ce.eachActiveState(de,function(fe,pe){ue===fe&&he.push(de.getRawIndex(pe))}),he},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});function se(ue,ce){if(!ue.encodeDefine){var de=ce.ecModel.getComponent("parallel",ce.get("parallelIndex"));if(de){var he=ue.encodeDefine=ae();te(de.dimensions,function(fe){var pe=le(fe);he.set(fe,pe)})}}}function le(ue){return+ue.replace("dim","")}return ParallelSeries=oe,ParallelSeries}var ParallelView_1,hasRequiredParallelView;function requireParallelView(){if(hasRequiredParallelView)return ParallelView_1;hasRequiredParallelView=1;var ee=graphic$6,te=Chart_1,ae=.3,ne=te.extend({type:"parallel",init:function(){this._dataGroup=new ee.Group,this.group.add(this._dataGroup),this._data,this._initialized},render:function(he,fe,pe,ve){var ge=this._dataGroup,me=he.getData(),ye=this._data,_e=he.coordinateSystem,be=_e.dimensions,xe=le(he);me.diff(ye).add($e).update(Se).remove(we).execute();function $e(Te){var De=se(me,ge,Te,be,_e);ue(De,me,Te,xe)}function Se(Te,De){var Me=ye.getItemGraphicEl(De),Ie=oe(me,Te,be,_e);me.setItemGraphicEl(Te,Me);var Ce=ve&&ve.animation===!1?null:he;ee.updateProps(Me,{shape:{points:Ie}},Ce,Te),ue(Me,me,Te,xe)}function we(Te){var De=ye.getItemGraphicEl(Te);ge.remove(De)}if(!this._initialized){this._initialized=!0;var Ae=ie(_e,he,function(){setTimeout(function(){ge.removeClipPath()})});ge.setClipPath(Ae)}this._data=me},incrementalPrepareRender:function(he,fe,pe){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(he,fe,pe){for(var ve=fe.getData(),ge=fe.coordinateSystem,me=ge.dimensions,ye=le(fe),_e=he.start;_e<he.end;_e++){var be=se(ve,this._dataGroup,_e,me,ge);be.incremental=!0,ue(be,ve,_e,ye)}},dispose:function(){},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}});function ie(he,fe,pe){var ve=he.model,ge=he.getRect(),me=new ee.Rect({shape:{x:ge.x,y:ge.y,width:ge.width,height:ge.height}}),ye=ve.get("layout")==="horizontal"?"width":"height";return me.setShape(ye,0),ee.initProps(me,{shape:{width:ge.width,height:ge.height}},fe,pe),me}function oe(he,fe,pe,ve){for(var ge=[],me=0;me<pe.length;me++){var ye=pe[me],_e=he.get(he.mapDimension(ye),fe);ce(_e,ve.getAxis(ye).type)||ge.push(ve.dataToPoint(_e,ye))}return ge}function se(he,fe,pe,ve,ge){var me=oe(he,pe,ve,ge),ye=new ee.Polyline({shape:{points:me},silent:!0,z2:10});return fe.add(ye),he.setItemGraphicEl(pe,ye),ye}function le(he){var fe=he.get("smooth",!0);return fe===!0&&(fe=ae),{lineStyle:he.getModel("lineStyle").getLineStyle(),smooth:fe??ae}}function ue(he,fe,pe,ve){var ge=ve.lineStyle;if(fe.hasItemOption){var me=fe.getItemModel(pe).getModel("lineStyle");ge=me.getLineStyle()}he.useStyle(ge);var ye=he.style;ye.fill=null,ye.stroke=fe.getItemVisual(pe,"color"),ye.opacity=fe.getItemVisual(pe,"opacity"),ve.smooth&&(he.shape.smooth=ve.smooth)}function ce(he,fe){return fe==="category"?he==null:he==null||isNaN(he)}var de=ne;return ParallelView_1=de,ParallelView_1}var parallelVisual$2,hasRequiredParallelVisual;function requireParallelVisual(){if(hasRequiredParallelVisual)return parallelVisual$2;hasRequiredParallelVisual=1;var ee=["lineStyle","normal","opacity"],te={seriesType:"parallel",reset:function(ae,ne,ie){var oe=ae.getModel("itemStyle"),se=ae.getModel("lineStyle"),le=ne.get("color"),ue=se.get("color")||oe.get("color")||le[ae.seriesIndex%le.length],ce=ae.get("inactiveOpacity"),de=ae.get("activeOpacity"),he=ae.getModel("lineStyle").getLineStyle(),fe=ae.coordinateSystem,pe=ae.getData(),ve={normal:he.opacity,active:de,inactive:ce};pe.setVisual("color",ue);function ge(me,ye){fe.eachActiveState(ye,function(_e,be){var xe=ve[_e];if(_e==="normal"&&ye.hasItemOption){var $e=ye.getItemModel(be).get(ee,!0);$e!=null&&(xe=$e)}ye.setItemVisual(be,"opacity",xe)},me.start,me.end)}return{progress:ge}}};return parallelVisual$2=te,parallelVisual$2}var hasRequiredParallel;function requireParallel(){if(hasRequiredParallel)return parallel$1;hasRequiredParallel=1;var ee=echarts$1;requireParallel$1(),requireParallelSeries(),requireParallelView();var te=requireParallelVisual();return ee.registerVisual(te),parallel$1}var sankey={},SankeySeries_1,hasRequiredSankeySeries;function requireSankeySeries(){if(hasRequiredSankeySeries)return SankeySeries_1;hasRequiredSankeySeries=1;var ee=Series,te=requireCreateGraphFromNodeEdge(),ae=format$6,ne=ae.encodeHTML,ie=Model_1,oe=ee.extend({type:"series.sankey",layoutInfo:null,levelModels:null,getInitialData:function(le,ue){for(var ce=le.edges||le.links,de=le.data||le.nodes,he=le.levels,fe=this.levelModels={},pe=0;pe<he.length;pe++)he[pe].depth!=null&&he[pe].depth>=0&&(fe[he[pe].depth]=new ie(he[pe],this,ue));if(de&&ce){var ve=te(de,ce,this,!0,ge);return ve.data}function ge(me,ye){me.wrapMethod("getItemModel",function(_e,be){return _e.customizeGetParent(function(xe){var $e=this.parentModel,Se=$e.getData().getItemLayout(be).depth,we=$e.levelModels[Se];return we||this.parentModel}),_e}),ye.wrapMethod("getItemModel",function(_e,be){return _e.customizeGetParent(function(xe){var $e=this.parentModel,Se=$e.getGraph().getEdgeByIndex(be),we=Se.node1.getLayout().depth,Ae=$e.levelModels[we];return Ae||this.parentModel}),_e})}},setNodePosition:function(le,ue){var ce=this.option.data[le];ce.localX=ue[0],ce.localY=ue[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(le,ue,ce){if(ce==="edge"){var de=this.getDataParams(le,ce),he=de.data,fe=he.source+" -- "+he.target;return de.value&&(fe+=" : "+de.value),ne(fe)}else if(ce==="node"){var pe=this.getGraph().getNodeByIndex(le),ve=pe.getLayout().value,ge=this.getDataParams(le,ce).data.name;if(ve)var fe=ge+" : "+ve;return ne(fe)}return oe.superCall(this,"formatTooltip",le,ue)},optionUpdated:function(){var le=this.option;le.focusNodeAdjacency===!0&&(le.focusNodeAdjacency="allEdges")},getDataParams:function(le,ue){var ce=oe.superCall(this,"getDataParams",le,ue);if(ce.value==null&&ue==="node"){var de=this.getGraph().getNodeByIndex(le),he=de.getLayout().value;ce.value=he}return ce},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},levels:[],nodeAlign:"justify",itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},animationEasing:"linear",animationDuration:1e3}}),se=oe;return SankeySeries_1=se,SankeySeries_1}var SankeyView$2,hasRequiredSankeyView;function requireSankeyView(){if(hasRequiredSankeyView)return SankeyView$2;hasRequiredSankeyView=1;var ee=graphic$6,te=echarts$1,ae=util$a,ne=["itemStyle","opacity"],ie=["emphasis","itemStyle","opacity"],oe=["lineStyle","opacity"],se=["emphasis","lineStyle","opacity"];function le(pe,ve){return pe.getVisual("opacity")||pe.getModel().get(ve)}function ue(pe,ve,ge){var me=pe.getGraphicEl(),ye=le(pe,ve);ge!=null&&(ye==null&&(ye=1),ye*=ge),me.downplay&&me.downplay(),me.traverse(function(_e){_e.type!=="group"&&_e.setStyle("opacity",ye)})}function ce(pe,ve){var ge=le(pe,ve),me=pe.getGraphicEl();me.traverse(function(ye){ye.type!=="group"&&ye.setStyle("opacity",ge)}),me.highlight&&me.highlight()}var de=ee.extendShape({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(pe,ve){var ge=ve.extent;pe.moveTo(ve.x1,ve.y1),pe.bezierCurveTo(ve.cpx1,ve.cpy1,ve.cpx2,ve.cpy2,ve.x2,ve.y2),ve.orient==="vertical"?(pe.lineTo(ve.x2+ge,ve.y2),pe.bezierCurveTo(ve.cpx2+ge,ve.cpy2,ve.cpx1+ge,ve.cpy1,ve.x1+ge,ve.y1)):(pe.lineTo(ve.x2,ve.y2+ge),pe.bezierCurveTo(ve.cpx2,ve.cpy2+ge,ve.cpx1,ve.cpy1+ge,ve.x1,ve.y1+ge)),pe.closePath()},highlight:function(){this.trigger("emphasis")},downplay:function(){this.trigger("normal")}}),he=te.extendChartView({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(pe,ve,ge){var me=this,ye=pe.getGraph(),_e=this.group,be=pe.layoutInfo,xe=be.width,$e=be.height,Se=pe.getData(),we=pe.getData("edge"),Ae=pe.get("orient");this._model=pe,_e.removeAll(),_e.attr("position",[be.x,be.y]),ye.eachEdge(function(Te){var De=new de;De.dataIndex=Te.dataIndex,De.seriesIndex=pe.seriesIndex,De.dataType="edge";var Me=Te.getModel("lineStyle"),Ie=Me.get("curveness"),Ce=Te.node1.getLayout(),Ee=Te.node1.getModel(),Re=Ee.get("localX"),ke=Ee.get("localY"),Be=Te.node2.getLayout(),Ne=Te.node2.getModel(),He=Ne.get("localX"),qe=Ne.get("localY"),Oe=Te.getLayout(),ze,Ve,Ge,We,Ue,Ye,Ze,Xe;switch(De.shape.extent=Math.max(1,Oe.dy),De.shape.orient=Ae,Ae==="vertical"?(ze=(Re!=null?Re*xe:Ce.x)+Oe.sy,Ve=(ke!=null?ke*$e:Ce.y)+Ce.dy,Ge=(He!=null?He*xe:Be.x)+Oe.ty,We=qe!=null?qe*$e:Be.y,Ue=ze,Ye=Ve*(1-Ie)+We*Ie,Ze=Ge,Xe=Ve*Ie+We*(1-Ie)):(ze=(Re!=null?Re*xe:Ce.x)+Ce.dx,Ve=(ke!=null?ke*$e:Ce.y)+Oe.sy,Ge=He!=null?He*xe:Be.x,We=(qe!=null?qe*$e:Be.y)+Oe.ty,Ue=ze*(1-Ie)+Ge*Ie,Ye=Ve,Ze=ze*Ie+Ge*(1-Ie),Xe=We),De.setShape({x1:ze,y1:Ve,x2:Ge,y2:We,cpx1:Ue,cpy1:Ye,cpx2:Ze,cpy2:Xe}),De.setStyle(Me.getItemStyle()),De.style.fill){case"source":De.style.fill=Te.node1.getVisual("color");break;case"target":De.style.fill=Te.node2.getVisual("color");break}ee.setHoverStyle(De,Te.getModel("emphasis.lineStyle").getItemStyle()),_e.add(De),we.setItemGraphicEl(Te.dataIndex,De)}),ye.eachNode(function(Te){var De=Te.getLayout(),Me=Te.getModel(),Ie=Me.get("localX"),Ce=Me.get("localY"),Ee=Me.getModel("label"),Re=Me.getModel("emphasis.label"),ke=new ee.Rect({shape:{x:Ie!=null?Ie*xe:De.x,y:Ce!=null?Ce*$e:De.y,width:De.dx,height:De.dy},style:Me.getModel("itemStyle").getItemStyle()}),Be=Te.getModel("emphasis.itemStyle").getItemStyle();ee.setLabelStyle(ke.style,Be,Ee,Re,{labelFetcher:pe,labelDataIndex:Te.dataIndex,defaultText:Te.id,isRectText:!0}),ke.setStyle("fill",Te.getVisual("color")),ee.setHoverStyle(ke,Be),_e.add(ke),Se.setItemGraphicEl(Te.dataIndex,ke),ke.dataType="node"}),Se.eachItemGraphicEl(function(Te,De){var Me=Se.getItemModel(De);Me.get("draggable")&&(Te.drift=function(Ie,Ce){me._focusAdjacencyDisabled=!0,this.shape.x+=Ie,this.shape.y+=Ce,this.dirty(),ge.dispatchAction({type:"dragNode",seriesId:pe.id,dataIndex:Se.getRawIndex(De),localX:this.shape.x/xe,localY:this.shape.y/$e})},Te.ondragend=function(){me._focusAdjacencyDisabled=!1},Te.draggable=!0,Te.cursor="move"),Te.highlight=function(){this.trigger("emphasis")},Te.downplay=function(){this.trigger("normal")},Te.focusNodeAdjHandler&&Te.off("mouseover",Te.focusNodeAdjHandler),Te.unfocusNodeAdjHandler&&Te.off("mouseout",Te.unfocusNodeAdjHandler),Me.get("focusNodeAdjacency")&&(Te.on("mouseover",Te.focusNodeAdjHandler=function(){me._focusAdjacencyDisabled||(me._clearTimer(),ge.dispatchAction({type:"focusNodeAdjacency",seriesId:pe.id,dataIndex:Te.dataIndex}))}),Te.on("mouseout",Te.unfocusNodeAdjHandler=function(){me._focusAdjacencyDisabled||me._dispatchUnfocus(ge)}))}),we.eachItemGraphicEl(function(Te,De){var Me=we.getItemModel(De);Te.focusNodeAdjHandler&&Te.off("mouseover",Te.focusNodeAdjHandler),Te.unfocusNodeAdjHandler&&Te.off("mouseout",Te.unfocusNodeAdjHandler),Me.get("focusNodeAdjacency")&&(Te.on("mouseover",Te.focusNodeAdjHandler=function(){me._focusAdjacencyDisabled||(me._clearTimer(),ge.dispatchAction({type:"focusNodeAdjacency",seriesId:pe.id,edgeDataIndex:Te.dataIndex}))}),Te.on("mouseout",Te.unfocusNodeAdjHandler=function(){me._focusAdjacencyDisabled||me._dispatchUnfocus(ge)}))}),!this._data&&pe.get("animation")&&_e.setClipPath(fe(_e.getBoundingRect(),pe,function(){_e.removeClipPath()})),this._data=pe.getData()},dispose:function(){this._clearTimer()},_dispatchUnfocus:function(pe){var ve=this;this._clearTimer(),this._unfocusDelayTimer=setTimeout(function(){ve._unfocusDelayTimer=null,pe.dispatchAction({type:"unfocusNodeAdjacency",seriesId:ve._model.id})},500)},_clearTimer:function(){this._unfocusDelayTimer&&(clearTimeout(this._unfocusDelayTimer),this._unfocusDelayTimer=null)},focusNodeAdjacency:function(pe,ve,ge,me){var ye=pe.getData(),_e=ye.graph,be=me.dataIndex,xe=ye.getItemModel(be),$e=me.edgeDataIndex;if(!(be==null&&$e==null)){var Se=_e.getNodeByIndex(be),we=_e.getEdgeByIndex($e);if(_e.eachNode(function(Te){ue(Te,ne,.1)}),_e.eachEdge(function(Te){ue(Te,oe,.1)}),Se){ce(Se,ie);var Ae=xe.get("focusNodeAdjacency");Ae==="outEdges"?ae.each(Se.outEdges,function(Te){Te.dataIndex<0||(ce(Te,se),ce(Te.node2,ie))}):Ae==="inEdges"?ae.each(Se.inEdges,function(Te){Te.dataIndex<0||(ce(Te,se),ce(Te.node1,ie))}):Ae==="allEdges"&&ae.each(Se.edges,function(Te){Te.dataIndex<0||(ce(Te,se),Te.node1!==Se&&ce(Te.node1,ie),Te.node2!==Se&&ce(Te.node2,ie))})}we&&(ce(we,se),ce(we.node1,ie),ce(we.node2,ie))}},unfocusNodeAdjacency:function(pe,ve,ge,me){var ye=pe.getGraph();ye.eachNode(function(_e){ue(_e,ne)}),ye.eachEdge(function(_e){ue(_e,oe)})}});function fe(pe,ve,ge){var me=new ee.Rect({shape:{x:pe.x-10,y:pe.y-10,width:0,height:pe.height+20}});return ee.initProps(me,{shape:{width:pe.width+20}},ve,ge),me}return SankeyView$2=he,SankeyView$2}var sankeyAction={},hasRequiredSankeyAction;function requireSankeyAction(){if(hasRequiredSankeyAction)return sankeyAction;hasRequiredSankeyAction=1;var ee=echarts$1;return requireFocusNodeAdjacencyAction(),ee.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(te,ae){ae.eachComponent({mainType:"series",subType:"sankey",query:te},function(ne){ne.setNodePosition(te.dataIndex,[te.localX,te.localY])})}),sankeyAction}var sankeyLayout$1,hasRequiredSankeyLayout;function requireSankeyLayout(){if(hasRequiredSankeyLayout)return sankeyLayout$1;hasRequiredSankeyLayout=1;var ee=layout$5,te=util$a,ae=model,ne=ae.groupData;function ie(Me,Ie,Ce){Me.eachSeriesByType("sankey",function(Ee){var Re=Ee.get("nodeWidth"),ke=Ee.get("nodeGap"),Be=oe(Ee,Ie);Ee.layoutInfo=Be;var Ne=Be.width,He=Be.height,qe=Ee.getGraph(),Oe=qe.nodes,ze=qe.edges;le(Oe);var Ve=te.filter(Oe,function(Ye){return Ye.getLayout().value===0}),Ge=Ve.length!==0?0:Ee.get("layoutIterations"),We=Ee.get("orient"),Ue=Ee.get("nodeAlign");se(Oe,ze,Re,ke,Ne,He,Ge,We,Ue)})}function oe(Me,Ie){return ee.getLayoutRect(Me.getBoxLayoutParams(),{width:Ie.getWidth(),height:Ie.getHeight()})}function se(Me,Ie,Ce,Ee,Re,ke,Be,Ne,He){ue(Me,Ie,Ce,Re,ke,Ne,He),pe(Me,Ie,ke,Re,Ee,Be,Ne),De(Me,Ne)}function le(Me){te.each(Me,function(Ie){var Ce=Ae(Ie.outEdges,we),Ee=Ae(Ie.inEdges,we),Re=Ie.getValue()||0,ke=Math.max(Ce,Ee,Re);Ie.setLayout({value:ke},!0)})}function ue(Me,Ie,Ce,Ee,Re,ke,Be){for(var Ne=[],He=[],qe=[],Oe=[],ze=0,gt=0,Ve=0;Ve<Ie.length;Ve++)Ne[Ve]=1;for(Ve=0;Ve<Me.length;Ve++)He[Ve]=Me[Ve].inEdges.length,He[Ve]===0&&qe.push(Me[Ve]);for(var Ge=-1;qe.length;){for(var We=0;We<qe.length;We++){var Ue=qe[We],Ye=Ue.hostGraph.data.getRawDataItem(Ue.dataIndex),Ze=Ye.depth!=null&&Ye.depth>=0;Ze&&Ye.depth>Ge&&(Ge=Ye.depth),Ue.setLayout({depth:Ze?Ye.depth:ze},!0),ke==="vertical"?Ue.setLayout({dy:Ce},!0):Ue.setLayout({dx:Ce},!0);for(var Xe=0;Xe<Ue.outEdges.length;Xe++){var it=Ue.outEdges[Xe],at=Ie.indexOf(it);Ne[at]=0;var ut=it.node2,dt=Me.indexOf(ut);--He[dt]===0&&Oe.indexOf(ut)<0&&Oe.push(ut)}}++ze,qe=Oe,Oe=[]}for(Ve=0;Ve<Ne.length;Ve++)if(Ne[Ve]===1)throw new Error("Sankey is a DAG, the original data has cycle!");var pt=Ge>ze-1?Ge:ze-1;Be&&Be!=="left"&&de(Me,Be,ke,pt);var gt=ke==="vertical"?(Re-Ce)/pt:(Ee-Ce)/pt;fe(Me,gt,ke)}function ce(Me){var Ie=Me.hostGraph.data.getRawDataItem(Me.dataIndex);return Ie.depth!=null&&Ie.depth>=0}function de(Me,Ie,Ce,Ee){if(Ie==="right"){for(var Re=[],ke=Me,Be=0;ke.length;){for(var Ne=0;Ne<ke.length;Ne++){var He=ke[Ne];He.setLayout({skNodeHeight:Be},!0);for(var qe=0;qe<He.inEdges.length;qe++){var Oe=He.inEdges[qe];Re.indexOf(Oe.node1)<0&&Re.push(Oe.node1)}}ke=Re,Re=[],++Be}te.each(Me,function(ze){ce(ze)||ze.setLayout({depth:Math.max(0,Ee-ze.getLayout().skNodeHeight)},!0)})}else Ie==="justify"&&he(Me,Ee)}function he(Me,Ie){te.each(Me,function(Ce){!ce(Ce)&&!Ce.outEdges.length&&Ce.setLayout({depth:Ie},!0)})}function fe(Me,Ie,Ce){te.each(Me,function(Ee){var Re=Ee.getLayout().depth*Ie;Ce==="vertical"?Ee.setLayout({y:Re},!0):Ee.setLayout({x:Re},!0)})}function pe(Me,Ie,Ce,Ee,Re,ke,Be){var Ne=ve(Me,Be);ge(Ne,Ie,Ce,Ee,Re,Be),me(Ne,Re,Ce,Ee,Be);for(var He=1;ke>0;ke--)He*=.99,ye(Ne,He,Be),me(Ne,Re,Ce,Ee,Be),Te(Ne,He,Be),me(Ne,Re,Ce,Ee,Be)}function ve(Me,Ie){var Ce=[],Ee=Ie==="vertical"?"y":"x",Re=ne(Me,function(ke){return ke.getLayout()[Ee]});return Re.keys.sort(function(ke,Be){return ke-Be}),te.each(Re.keys,function(ke){Ce.push(Re.buckets.get(ke))}),Ce}function ge(Me,Ie,Ce,Ee,Re,ke){var Be=1/0;te.each(Me,function(Ne){var He=Ne.length,qe=0;te.each(Ne,function(ze){qe+=ze.getLayout().value});var Oe=ke==="vertical"?(Ee-(He-1)*Re)/qe:(Ce-(He-1)*Re)/qe;Oe<Be&&(Be=Oe)}),te.each(Me,function(Ne){te.each(Ne,function(He,qe){var Oe=He.getLayout().value*Be;ke==="vertical"?(He.setLayout({x:qe},!0),He.setLayout({dx:Oe},!0)):(He.setLayout({y:qe},!0),He.setLayout({dy:Oe},!0))})}),te.each(Ie,function(Ne){var He=+Ne.getValue()*Be;Ne.setLayout({dy:He},!0)})}function me(Me,Ie,Ce,Ee,Re){var ke=Re==="vertical"?"x":"y";te.each(Me,function(Be){Be.sort(function(Ue,Ye){return Ue.getLayout()[ke]-Ye.getLayout()[ke]});for(var Ne,He,qe,Oe=0,ze=Be.length,Ve=Re==="vertical"?"dx":"dy",Ge=0;Ge<ze;Ge++)He=Be[Ge],qe=Oe-He.getLayout()[ke],qe>0&&(Ne=He.getLayout()[ke]+qe,Re==="vertical"?He.setLayout({x:Ne},!0):He.setLayout({y:Ne},!0)),Oe=He.getLayout()[ke]+He.getLayout()[Ve]+Ie;var We=Re==="vertical"?Ee:Ce;if(qe=Oe-Ie-We,qe>0)for(Ne=He.getLayout()[ke]-qe,Re==="vertical"?He.setLayout({x:Ne},!0):He.setLayout({y:Ne},!0),Oe=Ne,Ge=ze-2;Ge>=0;--Ge)He=Be[Ge],qe=He.getLayout()[ke]+He.getLayout()[Ve]+Ie-Oe,qe>0&&(Ne=He.getLayout()[ke]-qe,Re==="vertical"?He.setLayout({x:Ne},!0):He.setLayout({y:Ne},!0)),Oe=He.getLayout()[ke]})}function ye(Me,Ie,Ce){te.each(Me.slice().reverse(),function(Ee){te.each(Ee,function(Re){if(Re.outEdges.length){var ke=Ae(Re.outEdges,_e,Ce)/Ae(Re.outEdges,we,Ce);if(isNaN(ke)){var Be=Re.outEdges.length;ke=Be?Ae(Re.outEdges,be,Ce)/Be:0}if(Ce==="vertical"){var Ne=Re.getLayout().x+(ke-Se(Re,Ce))*Ie;Re.setLayout({x:Ne},!0)}else{var He=Re.getLayout().y+(ke-Se(Re,Ce))*Ie;Re.setLayout({y:He},!0)}}})})}function _e(Me,Ie){return Se(Me.node2,Ie)*Me.getValue()}function be(Me,Ie){return Se(Me.node2,Ie)}function xe(Me,Ie){return Se(Me.node1,Ie)*Me.getValue()}function $e(Me,Ie){return Se(Me.node1,Ie)}function Se(Me,Ie){return Ie==="vertical"?Me.getLayout().x+Me.getLayout().dx/2:Me.getLayout().y+Me.getLayout().dy/2}function we(Me){return Me.getValue()}function Ae(Me,Ie,Ce){for(var Ee=0,Re=Me.length,ke=-1;++ke<Re;){var Be=+Ie.call(Me,Me[ke],Ce);isNaN(Be)||(Ee+=Be)}return Ee}function Te(Me,Ie,Ce){te.each(Me,function(Ee){te.each(Ee,function(Re){if(Re.inEdges.length){var ke=Ae(Re.inEdges,xe,Ce)/Ae(Re.inEdges,we,Ce);if(isNaN(ke)){var Be=Re.inEdges.length;ke=Be?Ae(Re.inEdges,$e,Ce)/Be:0}if(Ce==="vertical"){var Ne=Re.getLayout().x+(ke-Se(Re,Ce))*Ie;Re.setLayout({x:Ne},!0)}else{var He=Re.getLayout().y+(ke-Se(Re,Ce))*Ie;Re.setLayout({y:He},!0)}}})})}function De(Me,Ie){var Ce=Ie==="vertical"?"x":"y";te.each(Me,function(Ee){Ee.outEdges.sort(function(Re,ke){return Re.node2.getLayout()[Ce]-ke.node2.getLayout()[Ce]}),Ee.inEdges.sort(function(Re,ke){return Re.node1.getLayout()[Ce]-ke.node1.getLayout()[Ce]})}),te.each(Me,function(Ee){var Re=0,ke=0;te.each(Ee.outEdges,function(Be){Be.setLayout({sy:Re},!0),Re+=Be.getLayout().dy}),te.each(Ee.inEdges,function(Be){Be.setLayout({ty:ke},!0),ke+=Be.getLayout().dy})})}return sankeyLayout$1=ie,sankeyLayout$1}var sankeyVisual$1,hasRequiredSankeyVisual;function requireSankeyVisual(){if(hasRequiredSankeyVisual)return sankeyVisual$1;hasRequiredSankeyVisual=1;var ee=requireVisualMapping(),te=util$a;function ae(ne,ie){ne.eachSeriesByType("sankey",function(oe){var se=oe.getGraph(),le=se.nodes;if(le.length){var ue=1/0,ce=-1/0;te.each(le,function(de){var he=de.getLayout().value;he<ue&&(ue=he),he>ce&&(ce=he)}),te.each(le,function(de){var he=new ee({type:"color",mappingMethod:"linear",dataExtent:[ue,ce],visual:oe.get("color")}),fe=he.mapValueToVisual(de.getLayout().value),pe=de.getModel().get("itemStyle.color");pe!=null?de.setVisual("color",pe):de.setVisual("color",fe)})}})}return sankeyVisual$1=ae,sankeyVisual$1}var hasRequiredSankey;function requireSankey(){if(hasRequiredSankey)return sankey;hasRequiredSankey=1;var ee=echarts$1;requireSankeySeries(),requireSankeyView(),requireSankeyAction();var te=requireSankeyLayout(),ae=requireSankeyVisual();return ee.registerLayout(te),ee.registerVisual(ae),sankey}var boxplot={},whiskerBoxCommon={},hasRequiredWhiskerBoxCommon;function requireWhiskerBoxCommon(){if(hasRequiredWhiskerBoxCommon)return whiskerBoxCommon;hasRequiredWhiskerBoxCommon=1;var ee=requireCreateListSimply(),te=util$a,ae=requireDimensionHelper(),ne=ae.getDimensionTypeByAxis,ie=requireSourceHelper(),oe=ie.makeSeriesEncodeForAxisCoordSys,se={_baseAxisDim:null,getInitialData:function(le,ue){var ce,de=ue.getComponent("xAxis",this.get("xAxisIndex")),he=ue.getComponent("yAxis",this.get("yAxisIndex")),fe=de.get("type"),pe=he.get("type"),ve;fe==="category"?(le.layout="horizontal",ce=de.getOrdinalMeta(),ve=!0):pe==="category"?(le.layout="vertical",ce=he.getOrdinalMeta(),ve=!0):le.layout=le.layout||"horizontal";var ge=["x","y"],me=le.layout==="horizontal"?0:1,ye=this._baseAxisDim=ge[me],_e=ge[1-me],be=[de,he],xe=be[me].get("type"),$e=be[1-me].get("type"),Se=le.data;if(Se&&ve){var we=[];te.each(Se,function(De,Me){var Ie;De.value&&te.isArray(De.value)?(Ie=De.value.slice(),De.value.unshift(Me)):te.isArray(De)?(Ie=De.slice(),De.unshift(Me)):Ie=De,we.push(Ie)}),le.data=we}var Ae=this.defaultValueDimensions,Te=[{name:ye,type:ne(xe),ordinalMeta:ce,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:_e,type:ne($e),dimsDef:Ae.slice()}];return ee(this,{coordDimensions:Te,dimensionsCount:Ae.length+1,encodeDefaulter:te.curry(oe,Te,this)})},getBaseAxis:function(){var le=this._baseAxisDim;return this.ecModel.getComponent(le+"Axis",this.get(le+"AxisIndex")).axis}};return whiskerBoxCommon.seriesModelMixin=se,whiskerBoxCommon}var BoxplotSeries_1,hasRequiredBoxplotSeries;function requireBoxplotSeries(){if(hasRequiredBoxplotSeries)return BoxplotSeries_1;hasRequiredBoxplotSeries=1;var ee=util$a,te=Series,ae=requireWhiskerBoxCommon(),ne=ae.seriesModelMixin,ie=te.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}});ee.mixin(ie,ne,!0);var oe=ie;return BoxplotSeries_1=oe,BoxplotSeries_1}var BoxplotView_1,hasRequiredBoxplotView;function requireBoxplotView(){if(hasRequiredBoxplotView)return BoxplotView_1;hasRequiredBoxplotView=1;var ee=util$a,te=Chart_1,ae=graphic$6,ne=Path_1,ie=["itemStyle"],oe=["emphasis","itemStyle"],se=te.extend({type:"boxplot",render:function(fe,pe,ve){var ge=fe.getData(),me=this.group,ye=this._data;this._data||me.removeAll();var _e=fe.get("layout")==="horizontal"?1:0;ge.diff(ye).add(function(be){if(ge.hasValue(be)){var xe=ge.getItemLayout(be),$e=ue(xe,ge,be,_e,!0);ge.setItemGraphicEl(be,$e),me.add($e)}}).update(function(be,xe){var $e=ye.getItemGraphicEl(xe);if(!ge.hasValue(be)){me.remove($e);return}var Se=ge.getItemLayout(be);$e?ce(Se,$e,ge,be):$e=ue(Se,ge,be,_e),me.add($e),ge.setItemGraphicEl(be,$e)}).remove(function(be){var xe=ye.getItemGraphicEl(be);xe&&me.remove(xe)}).execute(),this._data=ge},remove:function(fe){var pe=this.group,ve=this._data;this._data=null,ve&&ve.eachItemGraphicEl(function(ge){ge&&pe.remove(ge)})},dispose:ee.noop}),le=ne.extend({type:"boxplotBoxPath",shape:{},buildPath:function(fe,pe){var ve=pe.points,ge=0;for(fe.moveTo(ve[ge][0],ve[ge][1]),ge++;ge<4;ge++)fe.lineTo(ve[ge][0],ve[ge][1]);for(fe.closePath();ge<ve.length;ge++)fe.moveTo(ve[ge][0],ve[ge][1]),ge++,fe.lineTo(ve[ge][0],ve[ge][1])}});function ue(fe,pe,ve,ge,me){var ye=fe.ends,_e=new le({shape:{points:me?de(ye,ge,fe):ye}});return ce(fe,_e,pe,ve,me),_e}function ce(fe,pe,ve,ge,me){var ye=ve.hostModel,_e=ae[me?"initProps":"updateProps"];_e(pe,{shape:{points:fe.ends}},ye,ge);var be=ve.getItemModel(ge),xe=be.getModel(ie),$e=ve.getItemVisual(ge,"color"),Se=xe.getItemStyle(["borderColor"]);Se.stroke=$e,Se.strokeNoScale=!0,pe.useStyle(Se),pe.z2=100;var we=be.getModel(oe).getItemStyle();ae.setHoverStyle(pe,we)}function de(fe,pe,ve){return ee.map(fe,function(ge){return ge=ge.slice(),ge[pe]=ve.initBaseline,ge})}var he=se;return BoxplotView_1=he,BoxplotView_1}var boxplotVisual,hasRequiredBoxplotVisual;function requireBoxplotVisual(){if(hasRequiredBoxplotVisual)return boxplotVisual;hasRequiredBoxplotVisual=1;var ee=["itemStyle","borderColor"];function te(ae,ne){var ie=ae.get("color");ae.eachRawSeriesByType("boxplot",function(oe){var se=ie[oe.seriesIndex%ie.length],le=oe.getData();le.setVisual({legendSymbol:"roundRect",color:oe.get(ee)||se}),ae.isSeriesFiltered(oe)||le.each(function(ue){var ce=le.getItemModel(ue);le.setItemVisual(ue,{color:ce.get(ee,!0)})})})}return boxplotVisual=te,boxplotVisual}var boxplotLayout$1,hasRequiredBoxplotLayout;function requireBoxplotLayout(){if(hasRequiredBoxplotLayout)return boxplotLayout$1;hasRequiredBoxplotLayout=1;var ee=util$a,te=requireNumber(),ae=te.parsePercent,ne=ee.each;function ie(ue){var ce=oe(ue);ne(ce,function(de){var he=de.seriesModels;he.length&&(se(de),ne(he,function(fe,pe){le(fe,de.boxOffsetList[pe],de.boxWidthList[pe])}))})}function oe(ue){var ce=[],de=[];return ue.eachSeriesByType("boxplot",function(he){var fe=he.getBaseAxis(),pe=ee.indexOf(de,fe);pe<0&&(pe=de.length,de[pe]=fe,ce[pe]={axis:fe,seriesModels:[]}),ce[pe].seriesModels.push(he)}),ce}function se(ue){var ce,de=ue.axis,he=ue.seriesModels,fe=he.length,pe=ue.boxWidthList=[],ve=ue.boxOffsetList=[],ge=[],me;if(de.type==="category")me=de.getBandWidth();else{var ye=0;ne(he,function(Se){ye=Math.max(ye,Se.getData().count())}),ce=de.getExtent(),Math.abs(ce[1]-ce[0])/ye}ne(he,function(Se){var we=Se.get("boxWidth");ee.isArray(we)||(we=[we,we]),ge.push([ae(we[0],me)||0,ae(we[1],me)||0])});var _e=me*.8-2,be=_e/fe*.3,xe=(_e-be*(fe-1))/fe,$e=xe/2-_e/2;ne(he,function(Se,we){ve.push($e),$e+=be+xe,pe.push(Math.min(Math.max(xe,ge[we][0]),ge[we][1]))})}function le(ue,ce,de){var he=ue.coordinateSystem,fe=ue.getData(),pe=de/2,ve=ue.get("layout")==="horizontal"?0:1,ge=1-ve,me=["x","y"],ye=fe.mapDimension(me[ve]),_e=fe.mapDimension(me[ge],!0);if(ye==null||_e.length<5)return;for(var be=0;be<fe.count();be++){var xe=fe.get(ye,be),$e=Me(xe,_e[2],be),Se=Me(xe,_e[0],be),we=Me(xe,_e[1],be),Ae=Me(xe,_e[3],be),Te=Me(xe,_e[4],be),De=[];Ie(De,we,0),Ie(De,Ae,1),De.push(Se,we,Te,Ae),Ce(De,Se),Ce(De,Te),Ce(De,$e),fe.setItemLayout(be,{initBaseline:$e[ge],ends:De})}function Me(Ee,Re,ke){var Be=fe.get(Re,ke),Ne=[];Ne[ve]=Ee,Ne[ge]=Be;var He;return isNaN(Ee)||isNaN(Be)?He=[NaN,NaN]:(He=he.dataToPoint(Ne),He[ve]+=ce),He}function Ie(Ee,Re,ke){var Be=Re.slice(),Ne=Re.slice();Be[ve]+=pe,Ne[ve]-=pe,ke?Ee.push(Be,Ne):Ee.push(Ne,Be)}function Ce(Ee,Re){var ke=Re.slice(),Be=Re.slice();ke[ve]-=pe,Be[ve]+=pe,Ee.push(ke,Be)}}return boxplotLayout$1=ie,boxplotLayout$1}var hasRequiredBoxplot;function requireBoxplot(){if(hasRequiredBoxplot)return boxplot;hasRequiredBoxplot=1;var ee=echarts$1;requireBoxplotSeries(),requireBoxplotView();var te=requireBoxplotVisual(),ae=requireBoxplotLayout();return ee.registerVisual(te),ee.registerLayout(ae),boxplot}var candlestick={},CandlestickSeries_1,hasRequiredCandlestickSeries;function requireCandlestickSeries(){if(hasRequiredCandlestickSeries)return CandlestickSeries_1;hasRequiredCandlestickSeries=1;var ee=util$a,te=Series,ae=requireWhiskerBoxCommon(),ne=ae.seriesModelMixin,ie=te.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,clip:!0,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(se,le,ue){var ce=le.getItemLayout(se);return ce&&ue.rect(ce.brushRect)}});ee.mixin(ie,ne,!0);var oe=ie;return CandlestickSeries_1=oe,CandlestickSeries_1}var CandlestickView_1,hasRequiredCandlestickView;function requireCandlestickView(){if(hasRequiredCandlestickView)return CandlestickView_1;hasRequiredCandlestickView=1;var ee=util$a,te=Chart_1,ae=graphic$6,ne=Path_1,ie=requireCreateClipPathFromCoordSys(),oe=ie.createClipPath,se=["itemStyle"],le=["emphasis","itemStyle"],ue=["color","color0","borderColor","borderColor0"],ce=te.extend({type:"candlestick",render:function(be,xe,$e){this.group.removeClipPath(),this._updateDrawMode(be),this._isLargeDraw?this._renderLarge(be):this._renderNormal(be)},incrementalPrepareRender:function(be,xe,$e){this._clear(),this._updateDrawMode(be)},incrementalRender:function(be,xe,$e,Se){this._isLargeDraw?this._incrementalRenderLarge(be,xe):this._incrementalRenderNormal(be,xe)},_updateDrawMode:function(be){var xe=be.pipelineContext.large;(this._isLargeDraw==null||xe^this._isLargeDraw)&&(this._isLargeDraw=xe,this._clear())},_renderNormal:function(be){var xe=be.getData(),$e=this._data,Se=this.group,we=xe.getLayout("isSimpleBox"),Ae=be.get("clip",!0),Te=be.coordinateSystem,De=Te.getArea&&Te.getArea();this._data||Se.removeAll(),xe.diff($e).add(function(Me){if(xe.hasValue(Me)){var Ie,Ce=xe.getItemLayout(Me);if(Ae&&fe(De,Ce))return;Ie=he(Ce,Me,!0),ae.initProps(Ie,{shape:{points:Ce.ends}},be,Me),pe(Ie,xe,Me,we),Se.add(Ie),xe.setItemGraphicEl(Me,Ie)}}).update(function(Me,Ie){var Ce=$e.getItemGraphicEl(Ie);if(!xe.hasValue(Me)){Se.remove(Ce);return}var Ee=xe.getItemLayout(Me);if(Ae&&fe(De,Ee)){Se.remove(Ce);return}Ce?ae.updateProps(Ce,{shape:{points:Ee.ends}},be,Me):Ce=he(Ee),pe(Ce,xe,Me,we),Se.add(Ce),xe.setItemGraphicEl(Me,Ce)}).remove(function(Me){var Ie=$e.getItemGraphicEl(Me);Ie&&Se.remove(Ie)}).execute(),this._data=xe},_renderLarge:function(be){this._clear(),me(be,this.group);var xe=be.get("clip",!0)?oe(be.coordinateSystem,!1,be):null;xe?this.group.setClipPath(xe):this.group.removeClipPath()},_incrementalRenderNormal:function(be,xe){for(var $e=xe.getData(),Se=$e.getLayout("isSimpleBox"),we;(we=be.next())!=null;){var Ae,Te=$e.getItemLayout(we);Ae=he(Te),pe(Ae,$e,we,Se),Ae.incremental=!0,this.group.add(Ae)}},_incrementalRenderLarge:function(be,xe){me(xe,this.group,!0)},remove:function(be){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:ee.noop}),de=ne.extend({type:"normalCandlestickBox",shape:{},buildPath:function(be,xe){var $e=xe.points;this.__simpleBox?(be.moveTo($e[4][0],$e[4][1]),be.lineTo($e[6][0],$e[6][1])):(be.moveTo($e[0][0],$e[0][1]),be.lineTo($e[1][0],$e[1][1]),be.lineTo($e[2][0],$e[2][1]),be.lineTo($e[3][0],$e[3][1]),be.closePath(),be.moveTo($e[4][0],$e[4][1]),be.lineTo($e[5][0],$e[5][1]),be.moveTo($e[6][0],$e[6][1]),be.lineTo($e[7][0],$e[7][1]))}});function he(be,xe,$e){var Se=be.ends;return new de({shape:{points:$e?ve(Se,be):Se},z2:100})}function fe(be,xe){for(var $e=!0,Se=0;Se<xe.ends.length;Se++)if(be.contain(xe.ends[Se][0],xe.ends[Se][1])){$e=!1;break}return $e}function pe(be,xe,$e,Se){var we=xe.getItemModel($e),Ae=we.getModel(se),Te=xe.getItemVisual($e,"color"),De=xe.getItemVisual($e,"borderColor")||Te,Me=Ae.getItemStyle(ue);be.useStyle(Me),be.style.strokeNoScale=!0,be.style.fill=Te,be.style.stroke=De,be.__simpleBox=Se;var Ie=we.getModel(le).getItemStyle();ae.setHoverStyle(be,Ie)}function ve(be,xe){return ee.map(be,function($e){return $e=$e.slice(),$e[1]=xe.initBaseline,$e})}var ge=ne.extend({type:"largeCandlestickBox",shape:{},buildPath:function(be,xe){for(var $e=xe.points,Se=0;Se<$e.length;)if(this.__sign===$e[Se++]){var we=$e[Se++];be.moveTo(we,$e[Se++]),be.lineTo(we,$e[Se++])}else Se+=3}});function me(be,xe,$e){var Se=be.getData(),we=Se.getLayout("largePoints"),Ae=new ge({shape:{points:we},__sign:1});xe.add(Ae);var Te=new ge({shape:{points:we},__sign:-1});xe.add(Te),ye(1,Ae,be,Se),ye(-1,Te,be,Se),$e&&(Ae.incremental=!0,Te.incremental=!0)}function ye(be,xe,$e,Se){var we=be>0?"P":"N",Ae=Se.getVisual("borderColor"+we)||Se.getVisual("color"+we),Te=$e.getModel(se).getItemStyle(ue);xe.useStyle(Te),xe.style.fill=null,xe.style.stroke=Ae}var _e=ce;return CandlestickView_1=_e,CandlestickView_1}var preprocessor$3,hasRequiredPreprocessor$3;function requirePreprocessor$3(){if(hasRequiredPreprocessor$3)return preprocessor$3;hasRequiredPreprocessor$3=1;var ee=util$a;function te(ae){!ae||!ee.isArray(ae.series)||ee.each(ae.series,function(ne){ee.isObject(ne)&&ne.type==="k"&&(ne.type="candlestick")})}return preprocessor$3=te,preprocessor$3}var candlestickVisual$2,hasRequiredCandlestickVisual;function requireCandlestickVisual(){if(hasRequiredCandlestickVisual)return candlestickVisual$2;hasRequiredCandlestickVisual=1;var ee=createRenderPlanner$2,te=["itemStyle","borderColor"],ae=["itemStyle","borderColor0"],ne=["itemStyle","color"],ie=["itemStyle","color0"],oe={seriesType:"candlestick",plan:ee(),performRawSeries:!0,reset:function(se,le){var ue=se.getData();if(ue.setVisual({legendSymbol:"roundRect",colorP:he(1,se),colorN:he(-1,se),borderColorP:fe(1,se),borderColorN:fe(-1,se)}),le.isSeriesFiltered(se))return;var ce=se.pipelineContext.large;return!ce&&{progress:de};function de(pe,ve){for(var ge;(ge=pe.next())!=null;){var me=ve.getItemModel(ge),ye=ve.getItemLayout(ge).sign;ve.setItemVisual(ge,{color:he(ye,me),borderColor:fe(ye,me)})}}function he(pe,ve){return ve.get(pe>0?ne:ie)}function fe(pe,ve){return ve.get(pe>0?te:ae)}}};return candlestickVisual$2=oe,candlestickVisual$2}var candlestickLayout$2,hasRequiredCandlestickLayout;function requireCandlestickLayout(){if(hasRequiredCandlestickLayout)return candlestickLayout$2;hasRequiredCandlestickLayout=1;var ee=graphic$6,te=ee.subPixelOptimize,ae=createRenderPlanner$2,ne=requireNumber(),ie=ne.parsePercent,oe=util$a,se=oe.retrieve2,le=typeof Float32Array<"u"?Float32Array:Array,ue={seriesType:"candlestick",plan:ae(),reset:function(he){var fe=he.coordinateSystem,pe=he.getData(),ve=de(he,pe),ge=0,me=1,ye=["x","y"],_e=pe.mapDimension(ye[ge]),be=pe.mapDimension(ye[me],!0),xe=be[0],$e=be[1],Se=be[2],we=be[3];if(pe.setLayout({candleWidth:ve,isSimpleBox:ve<=1.3}),_e==null||be.length<4)return;return{progress:he.pipelineContext.large?Te:Ae};function Ae(De,Me){for(var Ie;(Ie=De.next())!=null;){var Ce=Me.get(_e,Ie),Ee=Me.get(xe,Ie),Re=Me.get($e,Ie),ke=Me.get(Se,Ie),Be=Me.get(we,Ie),Ne=Math.min(Ee,Re),He=Math.max(Ee,Re),qe=We(Ne,Ce),Oe=We(He,Ce),ze=We(ke,Ce),Ve=We(Be,Ce),Ge=[];Ue(Ge,Oe,0),Ue(Ge,qe,1),Ge.push(Ze(Ve),Ze(Oe),Ze(ze),Ze(qe)),Me.setItemLayout(Ie,{sign:ce(Me,Ie,Ee,Re,$e),initBaseline:Ee>Re?Oe[me]:qe[me],ends:Ge,brushRect:Ye(ke,Be,Ce)})}function We(Xe,it){var at=[];return at[ge]=it,at[me]=Xe,isNaN(it)||isNaN(Xe)?[NaN,NaN]:fe.dataToPoint(at)}function Ue(Xe,it,at){var ut=it.slice(),dt=it.slice();ut[ge]=te(ut[ge]+ve/2,1,!1),dt[ge]=te(dt[ge]-ve/2,1,!0),at?Xe.push(ut,dt):Xe.push(dt,ut)}function Ye(Xe,it,at){var ut=We(Xe,at),dt=We(it,at);return ut[ge]-=ve/2,dt[ge]-=ve/2,{x:ut[0],y:ut[1],width:ve,height:dt[1]-ut[1]}}function Ze(Xe){return Xe[ge]=te(Xe[ge],1),Xe}}function Te(De,Me){for(var Ie=new le(De.count*4),Ce=0,Ee,Re=[],ke=[],Be;(Be=De.next())!=null;){var Ne=Me.get(_e,Be),He=Me.get(xe,Be),qe=Me.get($e,Be),Oe=Me.get(Se,Be),ze=Me.get(we,Be);if(isNaN(Ne)||isNaN(Oe)||isNaN(ze)){Ie[Ce++]=NaN,Ce+=3;continue}Ie[Ce++]=ce(Me,Be,He,qe,$e),Re[ge]=Ne,Re[me]=Oe,Ee=fe.dataToPoint(Re,null,ke),Ie[Ce++]=Ee?Ee[0]:NaN,Ie[Ce++]=Ee?Ee[1]:NaN,Re[me]=ze,Ee=fe.dataToPoint(Re,null,ke),Ie[Ce++]=Ee?Ee[1]:NaN}Me.setLayout("largePoints",Ie)}}};function ce(he,fe,pe,ve,ge){var me;return pe>ve?me=-1:pe<ve?me=1:me=fe>0?he.get(ge,fe-1)<=ve?1:-1:1,me}function de(he,fe){var pe=he.getBaseAxis(),ve,ge=pe.type==="category"?pe.getBandWidth():(ve=pe.getExtent(),Math.abs(ve[1]-ve[0])/fe.count()),me=ie(se(he.get("barMaxWidth"),ge),ge),ye=ie(se(he.get("barMinWidth"),1),ge),_e=he.get("barWidth");return _e!=null?ie(_e,ge):Math.max(Math.min(ge/2,me),ye)}return candlestickLayout$2=ue,candlestickLayout$2}var hasRequiredCandlestick;function requireCandlestick(){if(hasRequiredCandlestick)return candlestick;hasRequiredCandlestick=1;var ee=echarts$1;requireCandlestickSeries(),requireCandlestickView();var te=requirePreprocessor$3(),ae=requireCandlestickVisual(),ne=requireCandlestickLayout();return ee.registerPreprocessor(te),ee.registerVisual(ae),ee.registerLayout(ne),candlestick}var effectScatter={},EffectScatterSeries,hasRequiredEffectScatterSeries;function requireEffectScatterSeries(){if(hasRequiredEffectScatterSeries)return EffectScatterSeries;hasRequiredEffectScatterSeries=1;var ee=requireCreateListFromArray(),te=Series,ae=te.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(ne,ie){return ee(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});return EffectScatterSeries=ae,EffectScatterSeries}var EffectSymbol_1,hasRequiredEffectSymbol;function requireEffectSymbol(){if(hasRequiredEffectSymbol)return EffectSymbol_1;hasRequiredEffectSymbol=1;var ee=util$a,te=requireSymbol$1(),ae=te.createSymbol,ne=graphic$6,ie=ne.Group,oe=requireNumber(),se=oe.parsePercent,le=require_Symbol(),ue=3;function ce(ve){return ee.isArray(ve)||(ve=[+ve,+ve]),ve}function de(ve,ge){var me=ge.rippleEffectColor||ge.color;ve.eachChild(function(ye){ye.attr({z:ge.z,zlevel:ge.zlevel,style:{stroke:ge.brushType==="stroke"?me:null,fill:ge.brushType==="fill"?me:null}})})}function he(ve,ge){ie.call(this);var me=new le(ve,ge),ye=new ie;this.add(me),this.add(ye),ye.beforeUpdate=function(){this.attr(me.getScale())},this.updateData(ve,ge)}var fe=he.prototype;fe.stopEffectAnimation=function(){this.childAt(1).removeAll()},fe.startEffectAnimation=function(ve){for(var ge=ve.symbolType,me=ve.color,ye=this.childAt(1),_e=0;_e<ue;_e++){var be=ae(ge,-1,-1,2,2,me);be.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var xe=-_e/ue*ve.period+ve.effectOffset;be.animate("",!0).when(ve.period,{scale:[ve.rippleScale/2,ve.rippleScale/2]}).delay(xe).start(),be.animateStyle(!0).when(ve.period,{opacity:0}).delay(xe).start(),ye.add(be)}de(ye,ve)},fe.updateEffectAnimation=function(ve){for(var ge=this._effectCfg,me=this.childAt(1),ye=["symbolType","period","rippleScale"],_e=0;_e<ye.length;_e++){var be=ye[_e];if(ge[be]!==ve[be]){this.stopEffectAnimation(),this.startEffectAnimation(ve);return}}de(me,ve)},fe.highlight=function(){this.trigger("emphasis")},fe.downplay=function(){this.trigger("normal")},fe.updateData=function(ve,ge){var me=ve.hostModel;this.childAt(0).updateData(ve,ge);var ye=this.childAt(1),_e=ve.getItemModel(ge),be=ve.getItemVisual(ge,"symbol"),xe=ce(ve.getItemVisual(ge,"symbolSize")),$e=ve.getItemVisual(ge,"color");ye.attr("scale",xe),ye.traverse(function(Ce){Ce.attr({fill:$e})});var Se=_e.getShallow("symbolOffset");if(Se){var we=ye.position;we[0]=se(Se[0],xe[0]),we[1]=se(Se[1],xe[1])}var Ae=ve.getItemVisual(ge,"symbolRotate");ye.rotation=(Ae||0)*Math.PI/180||0;var Te={};if(Te.showEffectOn=me.get("showEffectOn"),Te.rippleScale=_e.get("rippleEffect.scale"),Te.brushType=_e.get("rippleEffect.brushType"),Te.period=_e.get("rippleEffect.period")*1e3,Te.effectOffset=ge/ve.count(),Te.z=_e.getShallow("z")||0,Te.zlevel=_e.getShallow("zlevel")||0,Te.symbolType=be,Te.color=$e,Te.rippleEffectColor=_e.get("rippleEffect.color"),this.off("mouseover").off("mouseout").off("emphasis").off("normal"),Te.showEffectOn==="render")this._effectCfg?this.updateEffectAnimation(Te):this.startEffectAnimation(Te),this._effectCfg=Te;else{this._effectCfg=null,this.stopEffectAnimation();var De=this.childAt(0),Me=function(){De.highlight(),Te.showEffectOn!=="render"&&this.startEffectAnimation(Te)},Ie=function(){De.downplay(),Te.showEffectOn!=="render"&&this.stopEffectAnimation()};this.on("mouseover",Me,this).on("mouseout",Ie,this).on("emphasis",Me,this).on("normal",Ie,this)}this._effectCfg=Te},fe.fadeOut=function(ve){this.off("mouseover").off("mouseout").off("emphasis").off("normal"),ve&&ve()},ee.inherits(he,ie);var pe=he;return EffectSymbol_1=pe,EffectSymbol_1}var EffectScatterView$2,hasRequiredEffectScatterView;function requireEffectScatterView(){if(hasRequiredEffectScatterView)return EffectScatterView$2;hasRequiredEffectScatterView=1;var ee=echarts$1,te=requireSymbolDraw(),ae=requireEffectSymbol(),ne=matrix$5,ie=requirePoints(),oe=ee.extendChartView({type:"effectScatter",init:function(){this._symbolDraw=new te(ae)},render:function(se,le,ue){var ce=se.getData(),de=this._symbolDraw;de.updateData(ce),this.group.add(de.group)},updateTransform:function(se,le,ue){var ce=se.getData();this.group.dirty();var de=ie().reset(se);de.progress&&de.progress({start:0,end:ce.count()},ce),this._symbolDraw.updateLayout(ce)},_updateGroupTransform:function(se){var le=se.coordinateSystem;le&&le.getRoamTransform&&(this.group.transform=ne.clone(le.getRoamTransform()),this.group.decomposeTransform())},remove:function(se,le){this._symbolDraw&&this._symbolDraw.remove(le)},dispose:function(){}});return EffectScatterView$2=oe,EffectScatterView$2}var hasRequiredEffectScatter;function requireEffectScatter(){if(hasRequiredEffectScatter)return effectScatter;hasRequiredEffectScatter=1;var ee=echarts$1;requireEffectScatterSeries(),requireEffectScatterView();var te=requireSymbol(),ae=requirePoints();return ee.registerVisual(te("effectScatter","circle")),ee.registerLayout(ae("effectScatter")),effectScatter}var lines={},LinesSeries_1,hasRequiredLinesSeries;function requireLinesSeries(){if(hasRequiredLinesSeries)return LinesSeries_1;hasRequiredLinesSeries=1;var ee=Series,te=requireList(),ae=util$a,ne=ae.concatArray,ie=ae.mergeAll,oe=ae.map,se=format$6,le=se.encodeHTML,ue=typeof Uint32Array>"u"?Array:Uint32Array,ce=typeof Float64Array>"u"?Array:Float64Array;function de(pe){var ve=pe.data;ve&&ve[0]&&ve[0][0]&&ve[0][0].coord&&(pe.data=oe(ve,function(ge){var me=[ge[0].coord,ge[1].coord],ye={coords:me};return ge[0].name&&(ye.fromName=ge[0].name),ge[1].name&&(ye.toName=ge[1].name),ie([ye,ge[0],ge[1]])}))}var he=ee.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(pe){pe.data=pe.data||[],de(pe);var ve=this._processFlatCoordsArray(pe.data);this._flatCoords=ve.flatCoords,this._flatCoordsOffset=ve.flatCoordsOffset,ve.flatCoords&&(pe.data=new Float32Array(ve.count)),he.superApply(this,"init",arguments)},mergeOption:function(pe){if(de(pe),pe.data){var ve=this._processFlatCoordsArray(pe.data);this._flatCoords=ve.flatCoords,this._flatCoordsOffset=ve.flatCoordsOffset,ve.flatCoords&&(pe.data=new Float32Array(ve.count))}he.superApply(this,"mergeOption",arguments)},appendData:function(pe){var ve=this._processFlatCoordsArray(pe.data);ve.flatCoords&&(this._flatCoords?(this._flatCoords=ne(this._flatCoords,ve.flatCoords),this._flatCoordsOffset=ne(this._flatCoordsOffset,ve.flatCoordsOffset)):(this._flatCoords=ve.flatCoords,this._flatCoordsOffset=ve.flatCoordsOffset),pe.data=new Float32Array(ve.count)),this.getRawData().appendData(pe.data)},_getCoordsFromItemModel:function(pe){var ve=this.getData().getItemModel(pe),ge=ve.option instanceof Array?ve.option:ve.getShallow("coords");return ge},getLineCoordsCount:function(pe){return this._flatCoordsOffset?this._flatCoordsOffset[pe*2+1]:this._getCoordsFromItemModel(pe).length},getLineCoords:function(pe,ve){if(this._flatCoordsOffset){for(var ge=this._flatCoordsOffset[pe*2],me=this._flatCoordsOffset[pe*2+1],ye=0;ye<me;ye++)ve[ye]=ve[ye]||[],ve[ye][0]=this._flatCoords[ge+ye*2],ve[ye][1]=this._flatCoords[ge+ye*2+1];return me}else{for(var _e=this._getCoordsFromItemModel(pe),ye=0;ye<_e.length;ye++)ve[ye]=ve[ye]||[],ve[ye][0]=_e[ye][0],ve[ye][1]=_e[ye][1];return _e.length}},_processFlatCoordsArray:function(pe){var ve=0;if(this._flatCoords&&(ve=this._flatCoords.length),typeof pe[0]=="number"){for(var ge=pe.length,me=new ue(ge),ye=new ce(ge),_e=0,be=0,xe=0,$e=0;$e<ge;){xe++;var Se=pe[$e++];me[be++]=_e+ve,me[be++]=Se;for(var we=0;we<Se;we++){var Ae=pe[$e++],Te=pe[$e++];ye[_e++]=Ae,ye[_e++]=Te}}return{flatCoordsOffset:new Uint32Array(me.buffer,0,be),flatCoords:ye,count:xe}}return{flatCoordsOffset:null,flatCoords:null,count:pe.length}},getInitialData:function(pe,ve){var ge=new te(["value"],this);return ge.hasItemOption=!1,ge.initData(pe.data,[],function(me,ye,_e,be){if(me instanceof Array)return NaN;ge.hasItemOption=!0;var xe=me.value;if(xe!=null)return xe instanceof Array?xe[be]:xe}),ge},formatTooltip:function(pe){var ve=this.getData(),ge=ve.getItemModel(pe),me=ge.get("name");if(me)return me;var ye=ge.get("fromName"),_e=ge.get("toName"),be=[];return ye!=null&&be.push(ye),_e!=null&&be.push(_e),le(be.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var pe=this.option.progressive;return pe??(this.option.large?1e4:this.get("progressive"))},getProgressiveThreshold:function(){var pe=this.option.progressiveThreshold;return pe??(this.option.large?2e4:this.get("progressiveThreshold"))},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),fe=he;return LinesSeries_1=fe,LinesSeries_1}var EffectLine_1,hasRequiredEffectLine;function requireEffectLine(){if(hasRequiredEffectLine)return EffectLine_1;hasRequiredEffectLine=1;var ee=graphic$6,te=requireLine(),ae=util$a,ne=requireSymbol$1(),ie=ne.createSymbol,oe=vector$3,se=curve$3;function le(de,he,fe){ee.Group.call(this),this.add(this.createLine(de,he,fe)),this._updateEffectSymbol(de,he)}var ue=le.prototype;ue.createLine=function(de,he,fe){return new te(de,he,fe)},ue._updateEffectSymbol=function(de,he){var fe=de.getItemModel(he),pe=fe.getModel("effect"),ve=pe.get("symbolSize"),ge=pe.get("symbol");ae.isArray(ve)||(ve=[ve,ve]);var me=pe.get("color")||de.getItemVisual(he,"color"),ye=this.childAt(1);this._symbolType!==ge&&(this.remove(ye),ye=ie(ge,-.5,-.5,1,1,me),ye.z2=100,ye.culling=!0,this.add(ye)),ye&&(ye.setStyle("shadowColor",me),ye.setStyle(pe.getItemStyle(["color"])),ye.attr("scale",ve),ye.setColor(me),ye.attr("scale",ve),this._symbolType=ge,this._symbolScale=ve,this._updateEffectAnimation(de,pe,he))},ue._updateEffectAnimation=function(de,he,fe){var pe=this.childAt(1);if(pe){var ve=this,ge=de.getItemLayout(fe),me=he.get("period")*1e3,ye=he.get("loop"),_e=he.get("constantSpeed"),be=ae.retrieve(he.get("delay"),function(we){return we/de.count()*me/3}),xe=typeof be=="function";if(pe.ignore=!0,this.updateAnimationPoints(pe,ge),_e>0&&(me=this.getLineLength(pe)/_e*1e3),me!==this._period||ye!==this._loop){pe.stopAnimation();var $e=be;xe&&($e=be(fe)),pe.__t>0&&($e=-me*pe.__t),pe.__t=0;var Se=pe.animate("",ye).when(me,{__t:1}).delay($e).during(function(){ve.updateSymbolPosition(pe)});ye||Se.done(function(){ve.remove(pe)}),Se.start()}this._period=me,this._loop=ye}},ue.getLineLength=function(de){return oe.dist(de.__p1,de.__cp1)+oe.dist(de.__cp1,de.__p2)},ue.updateAnimationPoints=function(de,he){de.__p1=he[0],de.__p2=he[1],de.__cp1=he[2]||[(he[0][0]+he[1][0])/2,(he[0][1]+he[1][1])/2]},ue.updateData=function(de,he,fe){this.childAt(0).updateData(de,he,fe),this._updateEffectSymbol(de,he)},ue.updateSymbolPosition=function(de){var he=de.__p1,fe=de.__p2,pe=de.__cp1,ve=de.__t,ge=de.position,me=[ge[0],ge[1]],ye=se.quadraticAt,_e=se.quadraticDerivativeAt;ge[0]=ye(he[0],pe[0],fe[0],ve),ge[1]=ye(he[1],pe[1],fe[1],ve);var be=_e(he[0],pe[0],fe[0],ve),xe=_e(he[1],pe[1],fe[1],ve);if(de.rotation=-Math.atan2(xe,be)-Math.PI/2,this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")if(de.__lastT!==void 0&&de.__lastT<de.__t){var $e=oe.dist(me,ge)*1.05;de.attr("scale",[de.scale[0],$e]),ve===1&&(ge[0]=me[0]+(ge[0]-me[0])/2,ge[1]=me[1]+(ge[1]-me[1])/2)}else if(de.__lastT===1){var $e=2*oe.dist(he,ge);de.attr("scale",[de.scale[0],$e])}else de.attr("scale",this._symbolScale);de.__lastT=de.__t,de.ignore=!1},ue.updateLayout=function(de,he){this.childAt(0).updateLayout(de,he);var fe=de.getItemModel(he).getModel("effect");this._updateEffectAnimation(de,fe,he)},ae.inherits(le,ee.Group);var ce=le;return EffectLine_1=ce,EffectLine_1}var Polyline_1,hasRequiredPolyline;function requirePolyline(){if(hasRequiredPolyline)return Polyline_1;hasRequiredPolyline=1;var ee=graphic$6,te=util$a;function ae(oe,se,le){ee.Group.call(this),this._createPolyline(oe,se,le)}var ne=ae.prototype;ne._createPolyline=function(oe,se,le){var ue=oe.getItemLayout(se),ce=new ee.Polyline({shape:{points:ue}});this.add(ce),this._updateCommonStl(oe,se,le)},ne.updateData=function(oe,se,le){var ue=oe.hostModel,ce=this.childAt(0),de={shape:{points:oe.getItemLayout(se)}};ee.updateProps(ce,de,ue,se),this._updateCommonStl(oe,se,le)},ne._updateCommonStl=function(oe,se,le){var ue=this.childAt(0),ce=oe.getItemModel(se),de=oe.getItemVisual(se,"color"),he=le&&le.lineStyle,fe=le&&le.hoverLineStyle;(!le||oe.hasItemOption)&&(he=ce.getModel("lineStyle").getLineStyle(),fe=ce.getModel("emphasis.lineStyle").getLineStyle()),ue.useStyle(te.defaults({strokeNoScale:!0,fill:"none",stroke:de},he)),ue.hoverStyle=fe,ee.setHoverStyle(this)},ne.updateLayout=function(oe,se){var le=this.childAt(0);le.setShape("points",oe.getItemLayout(se))},te.inherits(ae,ee.Group);var ie=ae;return Polyline_1=ie,Polyline_1}var EffectPolyline_1,hasRequiredEffectPolyline;function requireEffectPolyline(){if(hasRequiredEffectPolyline)return EffectPolyline_1;hasRequiredEffectPolyline=1;var ee=requirePolyline(),te=util$a,ae=requireEffectLine(),ne=vector$3;function ie(le,ue,ce){ae.call(this,le,ue,ce),this._lastFrame=0,this._lastFramePercent=0}var oe=ie.prototype;oe.createLine=function(le,ue,ce){return new ee(le,ue,ce)},oe.updateAnimationPoints=function(le,ue){this._points=ue;for(var ce=[0],de=0,he=1;he<ue.length;he++){var fe=ue[he-1],pe=ue[he];de+=ne.dist(fe,pe),ce.push(de)}if(de!==0){for(var he=0;he<ce.length;he++)ce[he]/=de;this._offsets=ce,this._length=de}},oe.getLineLength=function(le){return this._length},oe.updateSymbolPosition=function(le){var ue=le.__t,ce=this._points,de=this._offsets,he=ce.length;if(de){var fe=this._lastFrame,pe;if(ue<this._lastFramePercent){var ve=Math.min(fe+1,he-1);for(pe=ve;pe>=0&&!(de[pe]<=ue);pe--);pe=Math.min(pe,he-2)}else{for(var pe=fe;pe<he&&!(de[pe]>ue);pe++);pe=Math.min(pe-1,he-2)}ne.lerp(le.position,ce[pe],ce[pe+1],(ue-de[pe])/(de[pe+1]-de[pe]));var ge=ce[pe+1][0]-ce[pe][0],me=ce[pe+1][1]-ce[pe][1];le.rotation=-Math.atan2(me,ge)-Math.PI/2,this._lastFrame=pe,this._lastFramePercent=ue,le.ignore=!1}},te.inherits(ie,ae);var se=ie;return EffectPolyline_1=se,EffectPolyline_1}var LargeLineDraw_1,hasRequiredLargeLineDraw;function requireLargeLineDraw(){if(hasRequiredLargeLineDraw)return LargeLineDraw_1;hasRequiredLargeLineDraw=1;var ee=graphic$6,te=IncrementalDisplayable$3,ae=line$2,ne=quadratic$1,ie=ee.extendShape({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(ue,ce){var de=ce.segs,he=ce.curveness;if(ce.polyline)for(var fe=0;fe<de.length;){var pe=de[fe++];if(pe>0){ue.moveTo(de[fe++],de[fe++]);for(var ve=1;ve<pe;ve++)ue.lineTo(de[fe++],de[fe++])}}else for(var fe=0;fe<de.length;){var ge=de[fe++],me=de[fe++],ye=de[fe++],_e=de[fe++];if(ue.moveTo(ge,me),he>0){var be=(ge+ye)/2-(me-_e)*he,xe=(me+_e)/2-(ye-ge)*he;ue.quadraticCurveTo(be,xe,ye,_e)}else ue.lineTo(ye,_e)}},findDataIndex:function(ue,ce){var de=this.shape,he=de.segs,fe=de.curveness;if(de.polyline)for(var pe=0,ve=0;ve<he.length;){var ge=he[ve++];if(ge>0)for(var me=he[ve++],ye=he[ve++],_e=1;_e<ge;_e++){var be=he[ve++],xe=he[ve++];if(ae.containStroke(me,ye,be,xe))return pe}pe++}else for(var pe=0,ve=0;ve<he.length;){var me=he[ve++],ye=he[ve++],be=he[ve++],xe=he[ve++];if(fe>0){var $e=(me+be)/2-(ye-xe)*fe,Se=(ye+xe)/2-(be-me)*fe;if(ne.containStroke(me,ye,$e,Se,be,xe))return pe}else if(ae.containStroke(me,ye,be,xe))return pe;pe++}return-1}});function oe(){this.group=new ee.Group}var se=oe.prototype;se.isPersistent=function(){return!this._incremental},se.updateData=function(ue){this.group.removeAll();var ce=new ie({rectHover:!0,cursor:"default"});ce.setShape({segs:ue.getLayout("linesPoints")}),this._setCommon(ce,ue),this.group.add(ce),this._incremental=null},se.incrementalPrepareUpdate=function(ue){this.group.removeAll(),this._clearIncremental(),ue.count()>5e5?(this._incremental||(this._incremental=new te({silent:!0})),this.group.add(this._incremental)):this._incremental=null},se.incrementalUpdate=function(ue,ce){var de=new ie;de.setShape({segs:ce.getLayout("linesPoints")}),this._setCommon(de,ce,!!this._incremental),this._incremental?this._incremental.addDisplayable(de,!0):(de.rectHover=!0,de.cursor="default",de.__startIndex=ue.start,this.group.add(de))},se.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},se._setCommon=function(ue,ce,de){var he=ce.hostModel;ue.setShape({polyline:he.get("polyline"),curveness:he.get("lineStyle.curveness")}),ue.useStyle(he.getModel("lineStyle").getLineStyle()),ue.style.strokeNoScale=!0;var fe=ce.getVisual("color");fe&&ue.setStyle("stroke",fe),ue.setStyle("fill"),de||(ue.seriesIndex=he.seriesIndex,ue.on("mousemove",function(pe){ue.dataIndex=null;var ve=ue.findDataIndex(pe.offsetX,pe.offsetY);ve>0&&(ue.dataIndex=ve+ue.__startIndex)}))},se._clearIncremental=function(){var ue=this._incremental;ue&&ue.clearDisplaybles()};var le=oe;return LargeLineDraw_1=le,LargeLineDraw_1}var linesLayout$2,hasRequiredLinesLayout;function requireLinesLayout(){if(hasRequiredLinesLayout)return linesLayout$2;hasRequiredLinesLayout=1;var ee=createRenderPlanner$2,te={seriesType:"lines",plan:ee(),reset:function(ae){var ne=ae.coordinateSystem,ie=ae.get("polyline"),oe=ae.pipelineContext.large;function se(le,ue){var ce=[];if(oe){var de,he=le.end-le.start;if(ie){for(var fe=0,pe=le.start;pe<le.end;pe++)fe+=ae.getLineCoordsCount(pe);de=new Float32Array(he+fe*2)}else de=new Float32Array(he*4);for(var ve=0,ge=[],pe=le.start;pe<le.end;pe++){var me=ae.getLineCoords(pe,ce);ie&&(de[ve++]=me);for(var ye=0;ye<me;ye++)ge=ne.dataToPoint(ce[ye],!1,ge),de[ve++]=ge[0],de[ve++]=ge[1]}ue.setLayout("linesPoints",de)}else for(var pe=le.start;pe<le.end;pe++){var _e=ue.getItemModel(pe),me=ae.getLineCoords(pe,ce),be=[];if(ie)for(var xe=0;xe<me;xe++)be.push(ne.dataToPoint(ce[xe]));else{be[0]=ne.dataToPoint(ce[0]),be[1]=ne.dataToPoint(ce[1]);var $e=_e.get("lineStyle.curveness");+$e&&(be[2]=[(be[0][0]+be[1][0])/2-(be[0][1]-be[1][1])*$e,(be[0][1]+be[1][1])/2-(be[1][0]-be[0][0])*$e])}ue.setItemLayout(pe,be)}}return{progress:se}}};return linesLayout$2=te,linesLayout$2}var LinesView$2,hasRequiredLinesView;function requireLinesView(){if(hasRequiredLinesView)return LinesView$2;hasRequiredLinesView=1;var ee=echarts$1,te=requireLineDraw(),ae=requireEffectLine(),ne=requireLine(),ie=requirePolyline(),oe=requireEffectPolyline(),se=requireLargeLineDraw(),le=requireLinesLayout(),ue=requireCreateClipPathFromCoordSys(),ce=ue.createClipPath,de=ee.extendChartView({type:"lines",init:function(){},render:function(he,fe,pe){var ve=he.getData(),ge=this._updateLineDraw(ve,he),me=he.get("zlevel"),ye=he.get("effect.trailLength"),_e=pe.getZr(),be=_e.painter.getType()==="svg";be||_e.painter.getLayer(me).clear(!0),this._lastZlevel!=null&&!be&&_e.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(he)&&ye&&(be||_e.configLayer(me,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(ye/10+.9,1),0)})),ge.updateData(ve);var xe=he.get("clip",!0)&&ce(he.coordinateSystem,!1,he);xe?this.group.setClipPath(xe):this.group.removeClipPath(),this._lastZlevel=me,this._finished=!0},incrementalPrepareRender:function(he,fe,pe){var ve=he.getData(),ge=this._updateLineDraw(ve,he);ge.incrementalPrepareUpdate(ve),this._clearLayer(pe),this._finished=!1},incrementalRender:function(he,fe,pe){this._lineDraw.incrementalUpdate(he,fe.getData()),this._finished=he.end===fe.getData().count()},updateTransform:function(he,fe,pe){var ve=he.getData(),ge=he.pipelineContext;if(!this._finished||ge.large||ge.progressiveRender)return{update:!0};var me=le.reset(he);me.progress&&me.progress({start:0,end:ve.count()},ve),this._lineDraw.updateLayout(),this._clearLayer(pe)},_updateLineDraw:function(he,fe){var pe=this._lineDraw,ve=this._showEffect(fe),ge=!!fe.get("polyline"),me=fe.pipelineContext,ye=me.large;return(!pe||ve!==this._hasEffet||ge!==this._isPolyline||ye!==this._isLargeDraw)&&(pe&&pe.remove(),pe=this._lineDraw=ye?new se:new te(ge?ve?oe:ie:ve?ae:ne),this._hasEffet=ve,this._isPolyline=ge,this._isLargeDraw=ye,this.group.removeAll()),this.group.add(pe.group),pe},_showEffect:function(he){return!!he.get("effect.show")},_clearLayer:function(he){var fe=he.getZr(),pe=fe.painter.getType()==="svg";!pe&&this._lastZlevel!=null&&fe.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(he,fe){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(fe)},dispose:function(){}});return LinesView$2=de,LinesView$2}var linesVisual$2,hasRequiredLinesVisual;function requireLinesVisual(){if(hasRequiredLinesVisual)return linesVisual$2;hasRequiredLinesVisual=1;function ee(ne){return ne instanceof Array||(ne=[ne,ne]),ne}var te="lineStyle.opacity".split("."),ae={seriesType:"lines",reset:function(ne,ie,oe){var se=ee(ne.get("symbol")),le=ee(ne.get("symbolSize")),ue=ne.getData();ue.setVisual("fromSymbol",se&&se[0]),ue.setVisual("toSymbol",se&&se[1]),ue.setVisual("fromSymbolSize",le&&le[0]),ue.setVisual("toSymbolSize",le&&le[1]),ue.setVisual("opacity",ne.get(te));function ce(de,he){var fe=de.getItemModel(he),pe=ee(fe.getShallow("symbol",!0)),ve=ee(fe.getShallow("symbolSize",!0)),ge=fe.get(te);pe[0]&&de.setItemVisual(he,"fromSymbol",pe[0]),pe[1]&&de.setItemVisual(he,"toSymbol",pe[1]),ve[0]&&de.setItemVisual(he,"fromSymbolSize",ve[0]),ve[1]&&de.setItemVisual(he,"toSymbolSize",ve[1]),de.setItemVisual(he,"opacity",ge)}return{dataEach:ue.hasItemOption?ce:null}}};return linesVisual$2=ae,linesVisual$2}var hasRequiredLines;function requireLines(){if(hasRequiredLines)return lines;hasRequiredLines=1;var ee=echarts$1;requireLinesSeries(),requireLinesView();var te=requireLinesLayout(),ae=requireLinesVisual();return ee.registerLayout(te),ee.registerVisual(ae),lines}var heatmap={},HeatmapSeries,hasRequiredHeatmapSeries;function requireHeatmapSeries(){if(hasRequiredHeatmapSeries)return HeatmapSeries;hasRequiredHeatmapSeries=1;var ee=Series,te=requireCreateListFromArray(),ae=CoordinateSystem$1,ne=ee.extend({type:"series.heatmap",getInitialData:function(ie,oe){return te(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var ie=ae.get(this.get("coordinateSystem"));if(ie&&ie.dimensions)return ie.dimensions[0]==="lng"&&ie.dimensions[1]==="lat"},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});return HeatmapSeries=ne,HeatmapSeries}var HeatmapLayer$2,hasRequiredHeatmapLayer;function requireHeatmapLayer(){if(hasRequiredHeatmapLayer)return HeatmapLayer$2;hasRequiredHeatmapLayer=1;var ee=util$a,te=256;function ae(){var ie=ee.createCanvas();this.canvas=ie,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}ae.prototype={update:function(ie,oe,se,le,ue,ce){var de=this._getBrush(),he=this._getGradient(ie,ue,"inRange"),fe=this._getGradient(ie,ue,"outOfRange"),pe=this.pointSize+this.blurSize,ve=this.canvas,ge=ve.getContext("2d"),me=ie.length;ve.width=oe,ve.height=se;for(var ye=0;ye<me;++ye){var _e=ie[ye],be=_e[0],xe=_e[1],$e=_e[2],Se=le($e);ge.globalAlpha=Se,ge.drawImage(de,be-pe,xe-pe)}if(!ve.width||!ve.height)return ve;for(var we=ge.getImageData(0,0,ve.width,ve.height),Ae=we.data,Te=0,De=Ae.length,Me=this.minOpacity,Ie=this.maxOpacity,Ce=Ie-Me;Te<De;){var Se=Ae[Te+3]/256,Ee=Math.floor(Se*(te-1))*4;if(Se>0){var Re=ce(Se)?he:fe;Se>0&&(Se=Se*Ce+Me),Ae[Te++]=Re[Ee],Ae[Te++]=Re[Ee+1],Ae[Te++]=Re[Ee+2],Ae[Te++]=Re[Ee+3]*Se*256}else Te+=4}return ge.putImageData(we,0,0),ve},_getBrush:function(){var ie=this._brushCanvas||(this._brushCanvas=ee.createCanvas()),oe=this.pointSize+this.blurSize,se=oe*2;ie.width=se,ie.height=se;var le=ie.getContext("2d");return le.clearRect(0,0,se,se),le.shadowOffsetX=se,le.shadowBlur=this.blurSize,le.shadowColor="#000",le.beginPath(),le.arc(-oe,oe,this.pointSize,0,Math.PI*2,!0),le.closePath(),le.fill(),ie},_getGradient:function(ie,oe,se){for(var le=this._gradientPixels,ue=le[se]||(le[se]=new Uint8ClampedArray(256*4)),ce=[0,0,0,0],de=0,he=0;he<256;he++)oe[se](he/255,!0,ce),ue[de++]=ce[0],ue[de++]=ce[1],ue[de++]=ce[2],ue[de++]=ce[3];return ue}};var ne=ae;return HeatmapLayer$2=ne,HeatmapLayer$2}var HeatmapView$2,hasRequiredHeatmapView;function requireHeatmapView(){if(hasRequiredHeatmapView)return HeatmapView$2;hasRequiredHeatmapView=1;var ee=echarts$1,te=graphic$6,ae=requireHeatmapLayer(),ne=util$a;function ie(ue,ce,de){var he=ue[1]-ue[0];ce=ne.map(ce,function(ve){return{interval:[(ve.interval[0]-ue[0])/he,(ve.interval[1]-ue[0])/he]}});var fe=ce.length,pe=0;return function(ve){for(var ge=pe;ge<fe;ge++){var me=ce[ge].interval;if(me[0]<=ve&&ve<=me[1]){pe=ge;break}}if(ge===fe)for(var ge=pe-1;ge>=0;ge--){var me=ce[ge].interval;if(me[0]<=ve&&ve<=me[1]){pe=ge;break}}return ge>=0&&ge<fe&&de[ge]}}function oe(ue,ce){var de=ue[1]-ue[0];return ce=[(ce[0]-ue[0])/de,(ce[1]-ue[0])/de],function(he){return he>=ce[0]&&he<=ce[1]}}function se(ue){var ce=ue.dimensions;return ce[0]==="lng"&&ce[1]==="lat"}var le=ee.extendChartView({type:"heatmap",render:function(ue,ce,de){var he;ce.eachComponent("visualMap",function(pe){pe.eachTargetSeries(function(ve){ve===ue&&(he=pe)})}),this.group.removeAll(),this._incrementalDisplayable=null;var fe=ue.coordinateSystem;fe.type==="cartesian2d"||fe.type==="calendar"?this._renderOnCartesianAndCalendar(ue,de,0,ue.getData().count()):se(fe)&&this._renderOnGeo(fe,ue,he,de)},incrementalPrepareRender:function(ue,ce,de){this.group.removeAll()},incrementalRender:function(ue,ce,de,he){var fe=ce.coordinateSystem;fe&&this._renderOnCartesianAndCalendar(ce,he,ue.start,ue.end,!0)},_renderOnCartesianAndCalendar:function(ue,ce,de,he,fe){var pe=ue.coordinateSystem,ve,ge;if(pe.type==="cartesian2d"){var me=pe.getAxis("x"),ye=pe.getAxis("y");ve=me.getBandWidth(),ge=ye.getBandWidth()}for(var _e=this.group,be=ue.getData(),xe="itemStyle",$e="emphasis.itemStyle",Se="label",we="emphasis.label",Ae=ue.getModel(xe).getItemStyle(["color"]),Te=ue.getModel($e).getItemStyle(),De=ue.getModel(Se),Me=ue.getModel(we),Ie=pe.type,Ce=Ie==="cartesian2d"?[be.mapDimension("x"),be.mapDimension("y"),be.mapDimension("value")]:[be.mapDimension("time"),be.mapDimension("value")],Ee=de;Ee<he;Ee++){var Re;if(Ie==="cartesian2d"){if(isNaN(be.get(Ce[2],Ee)))continue;var ke=pe.dataToPoint([be.get(Ce[0],Ee),be.get(Ce[1],Ee)]);Re=new te.Rect({shape:{x:Math.floor(Math.round(ke[0])-ve/2),y:Math.floor(Math.round(ke[1])-ge/2),width:Math.ceil(ve),height:Math.ceil(ge)},style:{fill:be.getItemVisual(Ee,"color"),opacity:be.getItemVisual(Ee,"opacity")}})}else{if(isNaN(be.get(Ce[1],Ee)))continue;Re=new te.Rect({z2:1,shape:pe.dataToRect([be.get(Ce[0],Ee)]).contentShape,style:{fill:be.getItemVisual(Ee,"color"),opacity:be.getItemVisual(Ee,"opacity")}})}var Be=be.getItemModel(Ee);be.hasItemOption&&(Ae=Be.getModel(xe).getItemStyle(["color"]),Te=Be.getModel($e).getItemStyle(),De=Be.getModel(Se),Me=Be.getModel(we));var Ne=ue.getRawValue(Ee),He="-";Ne&&Ne[2]!=null&&(He=Ne[2]),te.setLabelStyle(Ae,Te,De,Me,{labelFetcher:ue,labelDataIndex:Ee,defaultText:He,isRectText:!0}),Re.setStyle(Ae),te.setHoverStyle(Re,be.hasItemOption?Te:ne.extend({},Te)),Re.incremental=fe,fe&&(Re.useHoverLayer=!0),_e.add(Re),be.setItemGraphicEl(Ee,Re)}},_renderOnGeo:function(ue,ce,de,he){var fe=de.targetVisuals.inRange,pe=de.targetVisuals.outOfRange,ve=ce.getData(),ge=this._hmLayer||this._hmLayer||new ae;ge.blurSize=ce.get("blurSize"),ge.pointSize=ce.get("pointSize"),ge.minOpacity=ce.get("minOpacity"),ge.maxOpacity=ce.get("maxOpacity");var me=ue.getViewRect().clone(),ye=ue.getRoamTransform();me.applyTransform(ye);var _e=Math.max(me.x,0),be=Math.max(me.y,0),xe=Math.min(me.width+me.x,he.getWidth()),$e=Math.min(me.height+me.y,he.getHeight()),Se=xe-_e,we=$e-be,Ae=[ve.mapDimension("lng"),ve.mapDimension("lat"),ve.mapDimension("value")],Te=ve.mapArray(Ae,function(Ce,Ee,Re){var ke=ue.dataToPoint([Ce,Ee]);return ke[0]-=_e,ke[1]-=be,ke.push(Re),ke}),De=de.getExtent(),Me=de.type==="visualMap.continuous"?oe(De,de.option.range):ie(De,de.getPieceList(),de.option.selected);ge.update(Te,Se,we,fe.color.getNormalizer(),{inRange:fe.color.getColorMapper(),outOfRange:pe.color.getColorMapper()},Me);var Ie=new te.Image({style:{width:Se,height:we,x:_e,y:be,image:ge.canvas},silent:!0});this.group.add(Ie)},dispose:function(){}});return HeatmapView$2=le,HeatmapView$2}var hasRequiredHeatmap;function requireHeatmap(){return hasRequiredHeatmap||(hasRequiredHeatmap=1,requireHeatmapSeries(),requireHeatmapView()),heatmap}var pictorialBar={},PictorialBarSeries_1,hasRequiredPictorialBarSeries;function requirePictorialBarSeries(){if(hasRequiredPictorialBarSeries)return PictorialBarSeries_1;hasRequiredPictorialBarSeries=1;var ee=requireBaseBarSeries(),te=ee.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(ne){return ne.stack=null,te.superApply(this,"getInitialData",arguments)}}),ae=te;return PictorialBarSeries_1=ae,PictorialBarSeries_1}var PictorialBarView$2,hasRequiredPictorialBarView;function requirePictorialBarView(){if(hasRequiredPictorialBarView)return PictorialBarView$2;hasRequiredPictorialBarView=1;var ee=echarts$1,te=util$a,ae=graphic$6,ne=requireSymbol$1(),ie=ne.createSymbol,oe=requireNumber(),se=oe.parsePercent,le=oe.isNumeric,ue=requireHelper$2(),ce=ue.setLabel,de=["itemStyle","borderWidth"],he=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],fe=new ae.Circle,pe=ee.extendChartView({type:"pictorialBar",render:function(ze,Ve,Ge){var We=this.group,Ue=ze.getData(),Ye=this._data,Ze=ze.coordinateSystem,Xe=Ze.getBaseAxis(),it=!!Xe.isHorizontal(),at=Ze.grid.getRect(),ut={ecSize:{width:Ge.getWidth(),height:Ge.getHeight()},seriesModel:ze,coordSys:Ze,coordSysExtent:[[at.x,at.x+at.width],[at.y,at.y+at.height]],isHorizontal:it,valueDim:he[+it],categoryDim:he[1-it]};return Ue.diff(Ye).add(function(dt){if(Ue.hasValue(dt)){var pt=Te(Ue,dt),gt=ve(Ue,dt,pt,ut),bt=Ce(Ue,ut,gt);Ue.setItemGraphicEl(dt,bt),We.add(bt),He(bt,ut,gt)}}).update(function(dt,pt){var gt=Ye.getItemGraphicEl(pt);if(!Ue.hasValue(dt)){We.remove(gt);return}var bt=Te(Ue,dt),Tt=ve(Ue,dt,bt,ut),At=ke(Ue,Tt);gt&&At!==gt.__pictorialShapeStr&&(We.remove(gt),Ue.setItemGraphicEl(dt,null),gt=null),gt?Ee(gt,ut,Tt):gt=Ce(Ue,ut,Tt,!0),Ue.setItemGraphicEl(dt,gt),gt.__pictorialSymbolMeta=Tt,We.add(gt),He(gt,ut,Tt)}).remove(function(dt){var pt=Ye.getItemGraphicEl(dt);pt&&Re(Ye,dt,pt.__pictorialSymbolMeta.animationModel,pt)}).execute(),this._data=Ue,this.group},dispose:te.noop,remove:function(ze,Ve){var Ge=this.group,We=this._data;ze.get("animation")?We&&We.eachItemGraphicEl(function(Ue){Re(We,Ue.dataIndex,ze,Ue)}):Ge.removeAll()}});function ve(ze,Ve,Ge,We){var Ue=ze.getItemLayout(Ve),Ye=Ge.get("symbolRepeat"),Ze=Ge.get("symbolClip"),Xe=Ge.get("symbolPosition")||"start",it=Ge.get("symbolRotate"),at=(it||0)*Math.PI/180||0,ut=Ge.get("symbolPatternSize")||2,dt=Ge.isAnimationEnabled(),pt={dataIndex:Ve,layout:Ue,itemModel:Ge,symbolType:ze.getItemVisual(Ve,"symbol")||"circle",color:ze.getItemVisual(Ve,"color"),symbolClip:Ze,symbolRepeat:Ye,symbolRepeatDirection:Ge.get("symbolRepeatDirection"),symbolPatternSize:ut,rotation:at,animationModel:dt?Ge:null,hoverAnimation:dt&&Ge.get("hoverAnimation"),z2:Ge.getShallow("z",!0)||0};ge(Ge,Ye,Ue,We,pt),ye(ze,Ve,Ue,Ye,Ze,pt.boundingLength,pt.pxSign,ut,We,pt),_e(Ge,pt.symbolScale,at,We,pt);var gt=pt.symbolSize,bt=Ge.get("symbolOffset");return te.isArray(bt)&&(bt=[se(bt[0],gt[0]),se(bt[1],gt[1])]),be(Ge,gt,Ue,Ye,Ze,bt,Xe,pt.valueLineWidth,pt.boundingLength,pt.repeatCutLength,We,pt),pt}function ge(ze,Ve,Ge,We,Ue){var Ye=We.valueDim,Ze=ze.get("symbolBoundingData"),Xe=We.coordSys.getOtherAxis(We.coordSys.getBaseAxis()),it=Xe.toGlobalCoord(Xe.dataToCoord(0)),at=1-+(Ge[Ye.wh]<=0),ut;if(te.isArray(Ze)){var dt=[me(Xe,Ze[0])-it,me(Xe,Ze[1])-it];dt[1]<dt[0]&&dt.reverse(),ut=dt[at]}else Ze!=null?ut=me(Xe,Ze)-it:Ve?ut=We.coordSysExtent[Ye.index][at]-it:ut=Ge[Ye.wh];Ue.boundingLength=ut,Ve&&(Ue.repeatCutLength=Ge[Ye.wh]),Ue.pxSign=ut>0?1:ut<0?-1:0}function me(ze,Ve){return ze.toGlobalCoord(ze.dataToCoord(ze.scale.parse(Ve)))}function ye(ze,Ve,Ge,We,Ue,Ye,Ze,Xe,it,at){var ut=it.valueDim,dt=it.categoryDim,pt=Math.abs(Ge[dt.wh]),gt=ze.getItemVisual(Ve,"symbolSize");te.isArray(gt)?gt=gt.slice():(gt==null&&(gt="100%"),gt=[gt,gt]),gt[dt.index]=se(gt[dt.index],pt),gt[ut.index]=se(gt[ut.index],We?pt:Math.abs(Ye)),at.symbolSize=gt;var bt=at.symbolScale=[gt[0]/Xe,gt[1]/Xe];bt[ut.index]*=(it.isHorizontal?-1:1)*Ze}function _e(ze,Ve,Ge,We,Ue){var Ye=ze.get(de)||0;Ye&&(fe.attr({scale:Ve.slice(),rotation:Ge}),fe.updateTransform(),Ye/=fe.getLineScale(),Ye*=Ve[We.valueDim.index]),Ue.valueLineWidth=Ye}function be(ze,Ve,Ge,We,Ue,Ye,Ze,Xe,it,at,ut,dt){var pt=ut.categoryDim,gt=ut.valueDim,bt=dt.pxSign,Tt=Math.max(Ve[gt.index]+Xe,0),At=Tt;if(We){var Mt=Math.abs(it),qt=te.retrieve(ze.get("symbolMargin"),"15%")+"",St=!1;qt.lastIndexOf("!")===qt.length-1&&(St=!0,qt=qt.slice(0,qt.length-1)),qt=se(qt,Ve[gt.index]);var Ct=Math.max(Tt+qt*2,0),Ot=St?0:qt*2,ct=le(We),vt=ct?We:qe((Mt+Ot)/Ct),yt=Mt-vt*Tt;qt=yt/2/(St?vt:vt-1),Ct=Tt+qt*2,Ot=St?0:qt*2,!ct&&We!=="fixed"&&(vt=at?qe((Math.abs(at)+Ot)/Ct):0),At=vt*Ct-Ot,dt.repeatTimes=vt,dt.symbolMargin=qt}var Dt=bt*(At/2),Pt=dt.pathPosition=[];Pt[pt.index]=Ge[pt.wh]/2,Pt[gt.index]=Ze==="start"?Dt:Ze==="end"?it-Dt:it/2,Ye&&(Pt[0]+=Ye[0],Pt[1]+=Ye[1]);var It=dt.bundlePosition=[];It[pt.index]=Ge[pt.xy],It[gt.index]=Ge[gt.xy];var Lt=dt.barRectShape=te.extend({},Ge);Lt[gt.wh]=bt*Math.max(Math.abs(Ge[gt.wh]),Math.abs(Pt[gt.index]+Dt)),Lt[pt.wh]=Ge[pt.wh];var Ft=dt.clipShape={};Ft[pt.xy]=-Ge[pt.xy],Ft[pt.wh]=ut.ecSize[pt.wh],Ft[gt.xy]=0,Ft[gt.wh]=Ge[gt.wh]}function xe(ze){var Ve=ze.symbolPatternSize,Ge=ie(ze.symbolType,-Ve/2,-Ve/2,Ve,Ve,ze.color);return Ge.attr({culling:!0}),Ge.type!=="image"&&Ge.setStyle({strokeNoScale:!0}),Ge}function $e(ze,Ve,Ge,We){var Ue=ze.__pictorialBundle,Ye=Ge.symbolSize,Ze=Ge.valueLineWidth,Xe=Ge.pathPosition,it=Ve.valueDim,at=Ge.repeatTimes||0,ut=0,dt=Ye[Ve.valueDim.index]+Ze+Ge.symbolMargin*2;for(Be(ze,function(Mt){Mt.__pictorialAnimationIndex=ut,Mt.__pictorialRepeatTimes=at,ut<at?Ne(Mt,null,bt(ut),Ge,We):Ne(Mt,null,{scale:[0,0]},Ge,We,function(){Ue.remove(Mt)}),Ie(Mt,Ge),ut++});ut<at;ut++){var pt=xe(Ge);pt.__pictorialAnimationIndex=ut,pt.__pictorialRepeatTimes=at,Ue.add(pt);var gt=bt(ut);Ne(pt,{position:gt.position,scale:[0,0]},{scale:gt.scale,rotation:gt.rotation},Ge,We),pt.on("mouseover",Tt).on("mouseout",At),Ie(pt,Ge)}function bt(Mt){var qt=Xe.slice(),St=Ge.pxSign,Ct=Mt;return(Ge.symbolRepeatDirection==="start"?St>0:St<0)&&(Ct=at-1-Mt),qt[it.index]=dt*(Ct-at/2+.5)+Xe[it.index],{position:qt,scale:Ge.symbolScale.slice(),rotation:Ge.rotation}}function Tt(){Be(ze,function(Mt){Mt.trigger("emphasis")})}function At(){Be(ze,function(Mt){Mt.trigger("normal")})}}function Se(ze,Ve,Ge,We){var Ue=ze.__pictorialBundle,Ye=ze.__pictorialMainPath;Ye?Ne(Ye,null,{position:Ge.pathPosition.slice(),scale:Ge.symbolScale.slice(),rotation:Ge.rotation},Ge,We):(Ye=ze.__pictorialMainPath=xe(Ge),Ue.add(Ye),Ne(Ye,{position:Ge.pathPosition.slice(),scale:[0,0],rotation:Ge.rotation},{scale:Ge.symbolScale.slice()},Ge,We),Ye.on("mouseover",Ze).on("mouseout",Xe)),Ie(Ye,Ge);function Ze(){this.trigger("emphasis")}function Xe(){this.trigger("normal")}}function we(ze,Ve,Ge){var We=te.extend({},Ve.barRectShape),Ue=ze.__pictorialBarRect;Ue?Ne(Ue,null,{shape:We},Ve,Ge):(Ue=ze.__pictorialBarRect=new ae.Rect({z2:2,shape:We,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),ze.add(Ue))}function Ae(ze,Ve,Ge,We){if(Ge.symbolClip){var Ue=ze.__pictorialClipPath,Ye=te.extend({},Ge.clipShape),Ze=Ve.valueDim,Xe=Ge.animationModel,it=Ge.dataIndex;if(Ue)ae.updateProps(Ue,{shape:Ye},Xe,it);else{Ye[Ze.wh]=0,Ue=new ae.Rect({shape:Ye}),ze.__pictorialBundle.setClipPath(Ue),ze.__pictorialClipPath=Ue;var at={};at[Ze.wh]=Ge.clipShape[Ze.wh],ae[We?"updateProps":"initProps"](Ue,{shape:at},Xe,it)}}}function Te(ze,Ve){var Ge=ze.getItemModel(Ve);return Ge.getAnimationDelayParams=De,Ge.isAnimationEnabled=Me,Ge}function De(ze){return{index:ze.__pictorialAnimationIndex,count:ze.__pictorialRepeatTimes}}function Me(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Ie(ze,Ve){ze.off("emphasis").off("normal");var Ge=Ve.symbolScale.slice();Ve.hoverAnimation&&ze.on("emphasis",function(){this.animateTo({scale:[Ge[0]*1.1,Ge[1]*1.1]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:Ge.slice()},400,"elasticOut")})}function Ce(ze,Ve,Ge,We){var Ue=new ae.Group,Ye=new ae.Group;return Ue.add(Ye),Ue.__pictorialBundle=Ye,Ye.attr("position",Ge.bundlePosition.slice()),Ge.symbolRepeat?$e(Ue,Ve,Ge):Se(Ue,Ve,Ge),we(Ue,Ge,We),Ae(Ue,Ve,Ge,We),Ue.__pictorialShapeStr=ke(ze,Ge),Ue.__pictorialSymbolMeta=Ge,Ue}function Ee(ze,Ve,Ge){var We=Ge.animationModel,Ue=Ge.dataIndex,Ye=ze.__pictorialBundle;ae.updateProps(Ye,{position:Ge.bundlePosition.slice()},We,Ue),Ge.symbolRepeat?$e(ze,Ve,Ge,!0):Se(ze,Ve,Ge,!0),we(ze,Ge,!0),Ae(ze,Ve,Ge,!0)}function Re(ze,Ve,Ge,We){var Ue=We.__pictorialBarRect;Ue&&(Ue.style.text=null);var Ye=[];Be(We,function(Ze){Ye.push(Ze)}),We.__pictorialMainPath&&Ye.push(We.__pictorialMainPath),We.__pictorialClipPath&&(Ge=null),te.each(Ye,function(Ze){ae.updateProps(Ze,{scale:[0,0]},Ge,Ve,function(){We.parent&&We.parent.remove(We)})}),ze.setItemGraphicEl(Ve,null)}function ke(ze,Ve){return[ze.getItemVisual(Ve.dataIndex,"symbol")||"none",!!Ve.symbolRepeat,!!Ve.symbolClip].join(":")}function Be(ze,Ve,Ge){te.each(ze.__pictorialBundle.children(),function(We){We!==ze.__pictorialBarRect&&Ve.call(Ge,We)})}function Ne(ze,Ve,Ge,We,Ue,Ye){Ve&&ze.attr(Ve),We.symbolClip&&!Ue?Ge&&ze.attr(Ge):Ge&&ae[Ue?"updateProps":"initProps"](ze,Ge,We.animationModel,We.dataIndex,Ye)}function He(ze,Ve,Ge){var We=Ge.color,Ue=Ge.dataIndex,Ye=Ge.itemModel,Ze=Ye.getModel("itemStyle").getItemStyle(["color"]),Xe=Ye.getModel("emphasis.itemStyle").getItemStyle(),it=Ye.getShallow("cursor");Be(ze,function(pt){pt.setColor(We),pt.setStyle(te.defaults({fill:We,opacity:Ge.opacity},Ze)),ae.setHoverStyle(pt,Xe),it&&(pt.cursor=it),pt.z2=Ge.z2});var at={},ut=Ve.valueDim.posDesc[+(Ge.boundingLength>0)],dt=ze.__pictorialBarRect;ce(dt.style,at,Ye,We,Ve.seriesModel,Ue,ut),ae.setHoverStyle(dt,at)}function qe(ze){var Ve=Math.round(ze);return Math.abs(ze-Ve)<1e-4?Ve:Math.ceil(ze)}var Oe=pe;return PictorialBarView$2=Oe,PictorialBarView$2}var hasRequiredPictorialBar;function requirePictorialBar(){if(hasRequiredPictorialBar)return pictorialBar;hasRequiredPictorialBar=1;var ee=echarts$1,te=util$a;requireGrid$1(),requirePictorialBarSeries(),requirePictorialBarView();var ae=requireBarGrid(),ne=ae.layout,ie=requireSymbol();return requireGridSimple(),ee.registerLayout(te.curry(ne,"pictorialBar")),ee.registerVisual(ie("pictorialBar","roundRect")),pictorialBar}var themeRiver={},singleAxis={},singleCreator$2={},SingleAxis_1,hasRequiredSingleAxis$1;function requireSingleAxis$1(){if(hasRequiredSingleAxis$1)return SingleAxis_1;hasRequiredSingleAxis$1=1;var ee=util$a,te=requireAxis$1(),ae=function(ie,oe,se,le,ue){te.call(this,ie,oe,se),this.type=le||"value",this.position=ue||"bottom",this.orient=null};ae.prototype={constructor:ae,model:null,isHorizontal:function(){var ie=this.position;return ie==="top"||ie==="bottom"},pointToData:function(ie,oe){return this.coordinateSystem.pointToData(ie,oe)[0]},toGlobalCoord:null,toLocalCoord:null},ee.inherits(ae,te);var ne=ae;return SingleAxis_1=ne,SingleAxis_1}var Single_1,hasRequiredSingle;function requireSingle(){if(hasRequiredSingle)return Single_1;hasRequiredSingle=1;var ee=requireSingleAxis$1(),te=requireAxisHelper(),ae=layout$5,ne=ae.getLayoutRect,ie=util$a,oe=ie.each;function se(ue,ce,de){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(ue,ce,de),this.model=ue}se.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:se,_init:function(ue,ce,de){var he=this.dimension,fe=new ee(he,te.createScaleByModel(ue),[0,0],ue.get("type"),ue.get("position")),pe=fe.type==="category";fe.onBand=pe&&ue.get("boundaryGap"),fe.inverse=ue.get("inverse"),fe.orient=ue.get("orient"),ue.axis=fe,fe.model=ue,fe.coordinateSystem=this,this._axis=fe},update:function(ue,ce){ue.eachSeries(function(de){if(de.coordinateSystem===this){var he=de.getData();oe(he.mapDimension(this.dimension,!0),function(fe){this._axis.scale.unionExtentFromData(he,fe)},this),te.niceScaleExtent(this._axis.scale,this._axis.model)}},this)},resize:function(ue,ce){this._rect=ne({left:ue.get("left"),top:ue.get("top"),right:ue.get("right"),bottom:ue.get("bottom"),width:ue.get("width"),height:ue.get("height")},{width:ce.getWidth(),height:ce.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var ue=this._rect,ce=this._axis,de=ce.isHorizontal(),he=de?[0,ue.width]:[0,ue.height],fe=ce.reverse?1:0;ce.setExtent(he[fe],he[1-fe]),this._updateAxisTransform(ce,de?ue.x:ue.y)},_updateAxisTransform:function(ue,ce){var de=ue.getExtent(),he=de[0]+de[1],fe=ue.isHorizontal();ue.toGlobalCoord=fe?function(pe){return pe+ce}:function(pe){return he-pe+ce},ue.toLocalCoord=fe?function(pe){return pe-ce}:function(pe){return he-pe+ce}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(ue){var ce=this.getRect(),de=this.getAxis(),he=de.orient;return he==="horizontal"?de.contain(de.toLocalCoord(ue[0]))&&ue[1]>=ce.y&&ue[1]<=ce.y+ce.height:de.contain(de.toLocalCoord(ue[1]))&&ue[0]>=ce.y&&ue[0]<=ce.y+ce.height},pointToData:function(ue){var ce=this.getAxis();return[ce.coordToData(ce.toLocalCoord(ue[ce.orient==="horizontal"?0:1]))]},dataToPoint:function(ue){var ce=this.getAxis(),de=this.getRect(),he=[],fe=ce.orient==="horizontal"?0:1;return ue instanceof Array&&(ue=ue[0]),he[fe]=ce.toGlobalCoord(ce.dataToCoord(+ue)),he[1-fe]=fe===0?de.y+de.height/2:de.x+de.width/2,he}};var le=se;return Single_1=le,Single_1}var hasRequiredSingleCreator;function requireSingleCreator(){if(hasRequiredSingleCreator)return singleCreator$2;hasRequiredSingleCreator=1;var ee=requireSingle(),te=CoordinateSystem$1;function ae(ne,ie){var oe=[];return ne.eachComponent("singleAxis",function(se,le){var ue=new ee(se,ne,ie);ue.name="single_"+le,ue.resize(se,ie),se.coordinateSystem=ue,oe.push(ue)}),ne.eachSeries(function(se){if(se.get("coordinateSystem")==="singleAxis"){var le=ne.queryComponents({mainType:"singleAxis",index:se.get("singleAxisIndex"),id:se.get("singleAxisId")})[0];se.coordinateSystem=le&&le.coordinateSystem}}),oe}return te.register("single",{create:ae,dimensions:ee.prototype.dimensions}),singleCreator$2}var singleAxisHelper={},hasRequiredSingleAxisHelper;function requireSingleAxisHelper(){if(hasRequiredSingleAxisHelper)return singleAxisHelper;hasRequiredSingleAxisHelper=1;var ee=util$a;function te(ae,ne){ne=ne||{};var ie=ae.coordinateSystem,oe=ae.axis,se={},le=oe.position,ue=oe.orient,ce=ie.getRect(),de=[ce.x,ce.x+ce.width,ce.y,ce.y+ce.height],he={horizontal:{top:de[2],bottom:de[3]},vertical:{left:de[0],right:de[1]}};se.position=[ue==="vertical"?he.vertical[le]:de[0],ue==="horizontal"?he.horizontal[le]:de[3]];var fe={horizontal:0,vertical:1};se.rotation=Math.PI/2*fe[ue];var pe={top:-1,bottom:1,right:1,left:-1};se.labelDirection=se.tickDirection=se.nameDirection=pe[le],ae.get("axisTick.inside")&&(se.tickDirection=-se.tickDirection),ee.retrieve(ne.labelInside,ae.get("axisLabel.inside"))&&(se.labelDirection=-se.labelDirection);var ve=ne.rotate;return ve==null&&(ve=ae.get("axisLabel.rotate")),se.labelRotation=le==="top"?-ve:ve,se.z2=1,se}return singleAxisHelper.layout=te,singleAxisHelper}var SingleAxisView_1,hasRequiredSingleAxisView;function requireSingleAxisView(){if(hasRequiredSingleAxisView)return SingleAxisView_1;hasRequiredSingleAxisView=1;var ee=util$a,te=requireAxisBuilder(),ae=graphic$6,ne=requireSingleAxisHelper(),ie=requireAxisView(),oe=requireAxisSplitHelper(),se=oe.rectCoordAxisBuildSplitArea,le=oe.rectCoordAxisHandleRemove,ue=["axisLine","axisTickLabel","axisName"],ce=["splitArea","splitLine"],de=ie.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(fe,pe,ve,ge){var me=this.group;me.removeAll();var ye=this._axisGroup;this._axisGroup=new ae.Group;var _e=ne.layout(fe),be=new te(fe,_e);ee.each(ue,be.add,be),me.add(this._axisGroup),me.add(be.getGroup()),ee.each(ce,function(xe){fe.get(xe+".show")&&this["_"+xe](fe)},this),ae.groupTransition(ye,this._axisGroup,fe),de.superCall(this,"render",fe,pe,ve,ge)},remove:function(){le(this)},_splitLine:function(fe){var pe=fe.axis;if(!pe.scale.isBlank()){var ve=fe.getModel("splitLine"),ge=ve.getModel("lineStyle"),me=ge.get("width"),ye=ge.get("color");ye=ye instanceof Array?ye:[ye];for(var _e=fe.coordinateSystem.getRect(),be=pe.isHorizontal(),xe=[],$e=0,Se=pe.getTicksCoords({tickModel:ve}),we=[],Ae=[],Te=0;Te<Se.length;++Te){var De=pe.toGlobalCoord(Se[Te].coord);be?(we[0]=De,we[1]=_e.y,Ae[0]=De,Ae[1]=_e.y+_e.height):(we[0]=_e.x,we[1]=De,Ae[0]=_e.x+_e.width,Ae[1]=De);var Me=$e++%ye.length;xe[Me]=xe[Me]||[],xe[Me].push(new ae.Line({subPixelOptimize:!0,shape:{x1:we[0],y1:we[1],x2:Ae[0],y2:Ae[1]},style:{lineWidth:me},silent:!0}))}for(var Te=0;Te<xe.length;++Te)this.group.add(ae.mergePath(xe[Te],{style:{stroke:ye[Te%ye.length],lineDash:ge.getLineDash(me),lineWidth:me},silent:!0}))}},_splitArea:function(fe){se(this,this._axisGroup,fe,fe)}}),he=de;return SingleAxisView_1=he,SingleAxisView_1}var AxisModel_1,hasRequiredAxisModel$1;function requireAxisModel$1(){if(hasRequiredAxisModel$1)return AxisModel_1;hasRequiredAxisModel$1=1;var ee=util$a,te=Component$1,ae=requireAxisModelCreator(),ne=requireAxisModelCommonMixin(),ie=te.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}}),oe={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};function se(ue,ce){return ce.type||(ce.data?"category":"value")}ee.merge(ie.prototype,ne),ae("single",ie,se,oe);var le=ie;return AxisModel_1=le,AxisModel_1}var axisPointer={},findPointFromSeries$1,hasRequiredFindPointFromSeries;function requireFindPointFromSeries(){if(hasRequiredFindPointFromSeries)return findPointFromSeries$1;hasRequiredFindPointFromSeries=1;var ee=util$a,te=model;function ae(ne,ie){var oe=[],se=ne.seriesIndex,le;if(se==null||!(le=ie.getSeriesByIndex(se)))return{point:[]};var ue=le.getData(),ce=te.queryDataIndex(ue,ne);if(ce==null||ce<0||ee.isArray(ce))return{point:[]};var de=ue.getItemGraphicEl(ce),he=le.coordinateSystem;if(le.getTooltipPosition)oe=le.getTooltipPosition(ce)||[];else if(he&&he.dataToPoint)oe=he.dataToPoint(ue.getValues(ee.map(he.dimensions,function(pe){return ue.mapDimension(pe)}),ce,!0))||[];else if(de){var fe=de.getBoundingRect().clone();fe.applyTransform(de.transform),oe=[fe.x+fe.width/2,fe.y+fe.height/2]}return{point:oe,el:de}}return findPointFromSeries$1=ae,findPointFromSeries$1}var axisTrigger$1,hasRequiredAxisTrigger;function requireAxisTrigger(){if(hasRequiredAxisTrigger)return axisTrigger$1;hasRequiredAxisTrigger=1;var ee=util$a,te=model,ae=te.makeInner,ne=requireModelHelper(),ie=requireFindPointFromSeries(),oe=ee.each,se=ee.curry,le=ae();function ue(be,xe,$e){var Se=be.currTrigger,we=[be.x,be.y],Ae=be,Te=be.dispatchAction||ee.bind($e.dispatchAction,$e),De=xe.getComponent("axisPointer").coordSysAxesInfo;if(De){_e(we)&&(we=ie({seriesIndex:Ae.seriesIndex,dataIndex:Ae.dataIndex},xe).point);var Me=_e(we),Ie=Ae.axesInfo,Ce=De.axesInfo,Ee=Se==="leave"||_e(we),Re={},ke={},Be={list:[],map:{}},Ne={showPointer:se(he,ke),showTooltip:se(fe,Be)};oe(De.coordSysMap,function(qe,Oe){var ze=Me||qe.containPoint(we);oe(De.coordSysAxesInfo[Oe],function(Ve,Ge){var We=Ve.axis,Ue=me(Ie,Ve);if(!Ee&&ze&&(!Ie||Ue)){var Ye=Ue&&Ue.value;Ye==null&&!Me&&(Ye=We.pointToData(we)),Ye!=null&&ce(Ve,Ye,Ne,!1,Re)}})});var He={};return oe(Ce,function(qe,Oe){var ze=qe.linkGroup;ze&&!ke[Oe]&&oe(ze.axesInfo,function(Ve,Ge){var We=ke[Ge];if(Ve!==qe&&We){var Ue=We.value;ze.mapper&&(Ue=qe.axis.scale.parse(ze.mapper(Ue,ye(Ve),ye(qe)))),He[qe.key]=Ue}})}),oe(He,function(qe,Oe){ce(Ce[Oe],qe,Ne,!0,Re)}),pe(ke,Ce,Re),ve(Be,we,be,Te),ge(Ce,Te,$e),Re}}function ce(be,xe,$e,Se,we){var Ae=be.axis;if(!(Ae.scale.isBlank()||!Ae.containData(xe))){if(!be.involveSeries){$e.showPointer(be,xe);return}var Te=de(xe,be),De=Te.payloadBatch,Me=Te.snapToValue;De[0]&&we.seriesIndex==null&&ee.extend(we,De[0]),!Se&&be.snap&&Ae.containData(Me)&&Me!=null&&(xe=Me),$e.showPointer(be,xe,De,we),$e.showTooltip(be,Te,Me)}}function de(be,xe){var $e=xe.axis,Se=$e.dim,we=be,Ae=[],Te=Number.MAX_VALUE,De=-1;return oe(xe.seriesModels,function(Me,Ie){var Ce=Me.getData().mapDimension(Se,!0),Ee,Re;if(Me.getAxisTooltipData){var ke=Me.getAxisTooltipData(Ce,be,$e);Re=ke.dataIndices,Ee=ke.nestestValue}else{if(Re=Me.getData().indicesOfNearest(Ce[0],be,$e.type==="category"?.5:null),!Re.length)return;Ee=Me.getData().get(Ce[0],Re[0])}if(!(Ee==null||!isFinite(Ee))){var Be=be-Ee,Ne=Math.abs(Be);Ne<=Te&&((Ne<Te||Be>=0&&De<0)&&(Te=Ne,De=Be,we=Ee,Ae.length=0),oe(Re,function(He){Ae.push({seriesIndex:Me.seriesIndex,dataIndexInside:He,dataIndex:Me.getData().getRawIndex(He)})}))}}),{payloadBatch:Ae,snapToValue:we}}function he(be,xe,$e,Se){be[xe.key]={value:$e,payloadBatch:Se}}function fe(be,xe,$e,Se){var we=$e.payloadBatch,Ae=xe.axis,Te=Ae.model,De=xe.axisPointerModel;if(!(!xe.triggerTooltip||!we.length)){var Me=xe.coordSys.model,Ie=ne.makeKey(Me),Ce=be.map[Ie];Ce||(Ce=be.map[Ie]={coordSysId:Me.id,coordSysIndex:Me.componentIndex,coordSysType:Me.type,coordSysMainType:Me.mainType,dataByAxis:[]},be.list.push(Ce)),Ce.dataByAxis.push({axisDim:Ae.dim,axisIndex:Te.componentIndex,axisType:Te.type,axisId:Te.id,value:Se,valueLabelOpt:{precision:De.get("label.precision"),formatter:De.get("label.formatter")},seriesDataIndices:we.slice()})}}function pe(be,xe,$e){var Se=$e.axesInfo=[];oe(xe,function(we,Ae){var Te=we.axisPointerModel.option,De=be[Ae];De?(!we.useHandle&&(Te.status="show"),Te.value=De.value,Te.seriesDataIndices=(De.payloadBatch||[]).slice()):!we.useHandle&&(Te.status="hide"),Te.status==="show"&&Se.push({axisDim:we.axis.dim,axisIndex:we.axis.model.componentIndex,value:Te.value})})}function ve(be,xe,$e,Se){if(_e(xe)||!be.list.length){Se({type:"hideTip"});return}var we=((be.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};Se({type:"showTip",escapeConnect:!0,x:xe[0],y:xe[1],tooltipOption:$e.tooltipOption,position:$e.position,dataIndexInside:we.dataIndexInside,dataIndex:we.dataIndex,seriesIndex:we.seriesIndex,dataByCoordSys:be.list})}function ge(be,xe,$e){var Se=$e.getZr(),we="axisPointerLastHighlights",Ae=le(Se)[we]||{},Te=le(Se)[we]={};oe(be,function(Ie,Ce){var Ee=Ie.axisPointerModel.option;Ee.status==="show"&&oe(Ee.seriesDataIndices,function(Re){var ke=Re.seriesIndex+" | "+Re.dataIndex;Te[ke]=Re})});var De=[],Me=[];ee.each(Ae,function(Ie,Ce){!Te[Ce]&&Me.push(Ie)}),ee.each(Te,function(Ie,Ce){!Ae[Ce]&&De.push(Ie)}),Me.length&&$e.dispatchAction({type:"downplay",escapeConnect:!0,batch:Me}),De.length&&$e.dispatchAction({type:"highlight",escapeConnect:!0,batch:De})}function me(be,xe){for(var $e=0;$e<(be||[]).length;$e++){var Se=be[$e];if(xe.axis.dim===Se.axisDim&&xe.axis.model.componentIndex===Se.axisIndex)return Se}}function ye(be){var xe=be.axis.model,$e={},Se=$e.axisDim=be.axis.dim;return $e.axisIndex=$e[Se+"AxisIndex"]=xe.componentIndex,$e.axisName=$e[Se+"AxisName"]=xe.name,$e.axisId=$e[Se+"AxisId"]=xe.id,$e}function _e(be){return!be||be[0]==null||isNaN(be[0])||be[1]==null||isNaN(be[1])}return axisTrigger$1=ue,axisTrigger$1}var AxisPointerModel_1,hasRequiredAxisPointerModel;function requireAxisPointerModel(){if(hasRequiredAxisPointerModel)return AxisPointerModel_1;hasRequiredAxisPointerModel=1;var ee=echarts$1,te=ee.extendComponentModel({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),ae=te;return AxisPointerModel_1=ae,AxisPointerModel_1}var globalListener={},hasRequiredGlobalListener;function requireGlobalListener(){if(hasRequiredGlobalListener)return globalListener;hasRequiredGlobalListener=1;var ee=util$a,te=env_1,ae=model,ne=ae.makeInner,ie=ne(),oe=ee.each;function se(pe,ve,ge){if(!te.node){var me=ve.getZr();ie(me).records||(ie(me).records={}),le(me,ve);var ye=ie(me).records[pe]||(ie(me).records[pe]={});ye.handler=ge}}function le(pe,ve){if(ie(pe).initialized)return;ie(pe).initialized=!0,ge("click",ee.curry(de,"click")),ge("mousemove",ee.curry(de,"mousemove")),ge("globalout",ce);function ge(me,ye){pe.on(me,function(_e){var be=he(ve);oe(ie(pe).records,function(xe){xe&&ye(xe,_e,be.dispatchAction)}),ue(be.pendings,ve)})}}function ue(pe,ve){var ge=pe.showTip.length,me=pe.hideTip.length,ye;ge?ye=pe.showTip[ge-1]:me&&(ye=pe.hideTip[me-1]),ye&&(ye.dispatchAction=null,ve.dispatchAction(ye))}function ce(pe,ve,ge){pe.handler("leave",null,ge)}function de(pe,ve,ge,me){ve.handler(pe,ge,me)}function he(pe){var ve={showTip:[],hideTip:[]},ge=function(me){var ye=ve[me.type];ye?ye.push(me):(me.dispatchAction=ge,pe.dispatchAction(me))};return{dispatchAction:ge,pendings:ve}}function fe(pe,ve){if(!te.node){var ge=ve.getZr(),me=(ie(ge).records||{})[pe];me&&(ie(ge).records[pe]=null)}}return globalListener.register=se,globalListener.unregister=fe,globalListener}var AxisPointerView_1,hasRequiredAxisPointerView;function requireAxisPointerView(){if(hasRequiredAxisPointerView)return AxisPointerView_1;hasRequiredAxisPointerView=1;var ee=echarts$1,te=requireGlobalListener(),ae=ee.extendComponentView({type:"axisPointer",render:function(ie,oe,se){var le=oe.getComponent("tooltip"),ue=ie.get("triggerOn")||le&&le.get("triggerOn")||"mousemove|click";te.register("axisPointer",se,function(ce,de,he){ue!=="none"&&(ce==="leave"||ue.indexOf(ce)>=0)&&he({type:"updateAxisPointer",currTrigger:ce,x:de&&de.offsetX,y:de&&de.offsetY})})},remove:function(ie,oe){te.unregister(oe.getZr(),"axisPointer"),ae.superApply(this._model,"remove",arguments)},dispose:function(ie,oe){te.unregister("axisPointer",oe),ae.superApply(this._model,"dispose",arguments)}}),ne=ae;return AxisPointerView_1=ne,AxisPointerView_1}var BaseAxisPointer_1,hasRequiredBaseAxisPointer;function requireBaseAxisPointer(){if(hasRequiredBaseAxisPointer)return BaseAxisPointer_1;hasRequiredBaseAxisPointer=1;var ee=util$a,te=clazz,ae=graphic$6,ne=requireModelHelper(),ie=event$1,oe=throttle$3,se=model,le=se.makeInner,ue=le(),ce=ee.clone,de=ee.bind;function he(){}he.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(_e,be,xe,$e){var Se=be.get("value"),we=be.get("status");if(this._axisModel=_e,this._axisPointerModel=be,this._api=xe,!(!$e&&this._lastValue===Se&&this._lastStatus===we)){this._lastValue=Se,this._lastStatus=we;var Ae=this._group,Te=this._handle;if(!we||we==="hide"){Ae&&Ae.hide(),Te&&Te.hide();return}Ae&&Ae.show(),Te&&Te.show();var De={};this.makeElOption(De,Se,_e,be,xe);var Me=De.graphicKey;Me!==this._lastGraphicKey&&this.clear(xe),this._lastGraphicKey=Me;var Ie=this._moveAnimation=this.determineAnimation(_e,be);if(!Ae)Ae=this._group=new ae.Group,this.createPointerEl(Ae,De,_e,be),this.createLabelEl(Ae,De,_e,be),xe.getZr().add(Ae);else{var Ce=ee.curry(fe,be,Ie);this.updatePointerEl(Ae,De,Ce,be),this.updateLabelEl(Ae,De,Ce,be)}me(Ae,be,!0),this._renderHandle(Se)}},remove:function(_e){this.clear(_e)},dispose:function(_e){this.clear(_e)},determineAnimation:function(_e,be){var xe=be.get("animation"),$e=_e.axis,Se=$e.type==="category",we=be.get("snap");if(!we&&!Se)return!1;if(xe==="auto"||xe==null){var Ae=this.animationThreshold;if(Se&&$e.getBandWidth()>Ae)return!0;if(we){var Te=ne.getAxisInfo(_e).seriesDataCount,De=$e.getExtent();return Math.abs(De[0]-De[1])/Te>Ae}return!1}return xe===!0},makeElOption:function(_e,be,xe,$e,Se){},createPointerEl:function(_e,be,xe,$e){var Se=be.pointer;if(Se){var we=ue(_e).pointerEl=new ae[Se.type](ce(be.pointer));_e.add(we)}},createLabelEl:function(_e,be,xe,$e){if(be.label){var Se=ue(_e).labelEl=new ae.Rect(ce(be.label));_e.add(Se),ve(Se,$e)}},updatePointerEl:function(_e,be,xe){var $e=ue(_e).pointerEl;$e&&be.pointer&&($e.setStyle(be.pointer.style),xe($e,{shape:be.pointer.shape}))},updateLabelEl:function(_e,be,xe,$e){var Se=ue(_e).labelEl;Se&&(Se.setStyle(be.label.style),xe(Se,{shape:be.label.shape,position:be.label.position}),ve(Se,$e))},_renderHandle:function(_e){if(!(this._dragging||!this.updateHandleTransform)){var be=this._axisPointerModel,xe=this._api.getZr(),$e=this._handle,Se=be.getModel("handle"),we=be.get("status");if(!Se.get("show")||!we||we==="hide"){$e&&xe.remove($e),this._handle=null;return}var Ae;this._handle||(Ae=!0,$e=this._handle=ae.createIcon(Se.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(Me){ie.stop(Me.event)},onmousedown:de(this._onHandleDragMove,this,0,0),drift:de(this._onHandleDragMove,this),ondragend:de(this._onHandleDragEnd,this)}),xe.add($e)),me($e,be,!1);var Te=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];$e.setStyle(Se.getItemStyle(null,Te));var De=Se.get("size");ee.isArray(De)||(De=[De,De]),$e.attr("scale",[De[0]/2,De[1]/2]),oe.createOrUpdate(this,"_doDispatchAxisPointer",Se.get("throttle")||0,"fixRate"),this._moveHandleToValue(_e,Ae)}},_moveHandleToValue:function(_e,be){fe(this._axisPointerModel,!be&&this._moveAnimation,this._handle,ge(this.getHandleTransform(_e,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(_e,be){var xe=this._handle;if(xe){this._dragging=!0;var $e=this.updateHandleTransform(ge(xe),[_e,be],this._axisModel,this._axisPointerModel);this._payloadInfo=$e,xe.stopAnimation(),xe.attr(ge($e)),ue(xe).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){var _e=this._handle;if(_e){var be=this._payloadInfo,xe=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:be.cursorPoint[0],y:be.cursorPoint[1],tooltipOption:be.tooltipOption,axesInfo:[{axisDim:xe.axis.dim,axisIndex:xe.componentIndex}]})}},_onHandleDragEnd:function(_e){this._dragging=!1;var be=this._handle;if(be){var xe=this._axisPointerModel.get("value");this._moveHandleToValue(xe),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(_e){this._lastValue=null,this._lastStatus=null;var be=_e.getZr(),xe=this._group,$e=this._handle;be&&xe&&(this._lastGraphicKey=null,xe&&be.remove(xe),$e&&be.remove($e),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(_e,be,xe){return xe=xe||0,{x:_e[xe],y:_e[1-xe],width:be[xe],height:be[1-xe]}}},he.prototype.constructor=he;function fe(_e,be,xe,$e){pe(ue(xe).lastProp,$e)||(ue(xe).lastProp=$e,be?ae.updateProps(xe,$e,_e):(xe.stopAnimation(),xe.attr($e)))}function pe(_e,be){if(ee.isObject(_e)&&ee.isObject(be)){var xe=!0;return ee.each(be,function($e,Se){xe=xe&&pe(_e[Se],$e)}),!!xe}else return _e===be}function ve(_e,be){_e[be.get("label.show")?"show":"hide"]()}function ge(_e){return{position:_e.position.slice(),rotation:_e.rotation||0}}function me(_e,be,xe){var $e=be.get("z"),Se=be.get("zlevel");_e&&_e.traverse(function(we){we.type!=="group"&&($e!=null&&(we.z=$e),Se!=null&&(we.zlevel=Se),we.silent=xe)})}te.enableClassExtend(he);var ye=he;return BaseAxisPointer_1=ye,BaseAxisPointer_1}var viewHelper={},hasRequiredViewHelper;function requireViewHelper(){if(hasRequiredViewHelper)return viewHelper;hasRequiredViewHelper=1;var ee=util$a,te=graphic$6,ae=text,ne=format$6,ie=matrix$5,oe=requireAxisHelper(),se=requireAxisBuilder();function le(me){var ye=me.get("type"),_e=me.getModel(ye+"Style"),be;return ye==="line"?(be=_e.getLineStyle(),be.fill=null):ye==="shadow"&&(be=_e.getAreaStyle(),be.stroke=null),be}function ue(me,ye,_e,be,xe){var $e=_e.get("value"),Se=de($e,ye.axis,ye.ecModel,_e.get("seriesDataIndices"),{precision:_e.get("label.precision"),formatter:_e.get("label.formatter")}),we=_e.getModel("label"),Ae=ne.normalizeCssArray(we.get("padding")||0),Te=we.getFont(),De=ae.getBoundingRect(Se,Te),Me=xe.position,Ie=De.width+Ae[1]+Ae[3],Ce=De.height+Ae[0]+Ae[2],Ee=xe.align;Ee==="right"&&(Me[0]-=Ie),Ee==="center"&&(Me[0]-=Ie/2);var Re=xe.verticalAlign;Re==="bottom"&&(Me[1]-=Ce),Re==="middle"&&(Me[1]-=Ce/2),ce(Me,Ie,Ce,be);var ke=we.get("backgroundColor");(!ke||ke==="auto")&&(ke=ye.get("axisLine.lineStyle.color")),me.label={shape:{x:0,y:0,width:Ie,height:Ce,r:we.get("borderRadius")},position:Me.slice(),style:{text:Se,textFont:Te,textFill:we.getTextColor(),textPosition:"inside",textPadding:Ae,fill:ke,stroke:we.get("borderColor")||"transparent",lineWidth:we.get("borderWidth")||0,shadowBlur:we.get("shadowBlur"),shadowColor:we.get("shadowColor"),shadowOffsetX:we.get("shadowOffsetX"),shadowOffsetY:we.get("shadowOffsetY")},z2:10}}function ce(me,ye,_e,be){var xe=be.getWidth(),$e=be.getHeight();me[0]=Math.min(me[0]+ye,xe)-ye,me[1]=Math.min(me[1]+_e,$e)-_e,me[0]=Math.max(me[0],0),me[1]=Math.max(me[1],0)}function de(me,ye,_e,be,xe){me=ye.scale.parse(me);var $e=ye.scale.getLabel(me,{precision:xe.precision}),Se=xe.formatter;if(Se){var we={value:oe.getAxisRawValue(ye,me),axisDimension:ye.dim,axisIndex:ye.index,seriesData:[]};ee.each(be,function(Ae){var Te=_e.getSeriesByIndex(Ae.seriesIndex),De=Ae.dataIndexInside,Me=Te&&Te.getDataParams(De);Me&&we.seriesData.push(Me)}),ee.isString(Se)?$e=Se.replace("{value}",$e):ee.isFunction(Se)&&($e=Se(we))}return $e}function he(me,ye,_e){var be=ie.create();return ie.rotate(be,be,_e.rotation),ie.translate(be,be,_e.position),te.applyTransform([me.dataToCoord(ye),(_e.labelOffset||0)+(_e.labelDirection||1)*(_e.labelMargin||0)],be)}function fe(me,ye,_e,be,xe,$e){var Se=se.innerTextLayout(_e.rotation,0,_e.labelDirection);_e.labelMargin=xe.get("label.margin"),ue(ye,be,xe,$e,{position:he(be.axis,me,_e),align:Se.textAlign,verticalAlign:Se.textVerticalAlign})}function pe(me,ye,_e){return _e=_e||0,{x1:me[_e],y1:me[1-_e],x2:ye[_e],y2:ye[1-_e]}}function ve(me,ye,_e){return _e=_e||0,{x:me[_e],y:me[1-_e],width:ye[_e],height:ye[1-_e]}}function ge(me,ye,_e,be,xe,$e){return{cx:me,cy:ye,r0:_e,r:be,startAngle:xe,endAngle:$e,clockwise:!0}}return viewHelper.buildElStyle=le,viewHelper.buildLabelElOption=ue,viewHelper.getValueLabel=de,viewHelper.getTransformedPosition=he,viewHelper.buildCartesianSingleLabelElOption=fe,viewHelper.makeLineShape=pe,viewHelper.makeRectShape=ve,viewHelper.makeSectorShape=ge,viewHelper}var CartesianAxisPointer_1,hasRequiredCartesianAxisPointer;function requireCartesianAxisPointer(){if(hasRequiredCartesianAxisPointer)return CartesianAxisPointer_1;hasRequiredCartesianAxisPointer=1;var ee=requireBaseAxisPointer(),te=requireViewHelper(),ae=requireCartesianAxisHelper(),ne=requireAxisView(),ie=ee.extend({makeElOption:function(ce,de,he,fe,pe){var ve=he.axis,ge=ve.grid,me=fe.get("type"),ye=oe(ge,ve).getOtherAxis(ve).getGlobalExtent(),_e=ve.toGlobalCoord(ve.dataToCoord(de,!0));if(me&&me!=="none"){var be=te.buildElStyle(fe),xe=se[me](ve,_e,ye);xe.style=be,ce.graphicKey=xe.type,ce.pointer=xe}var $e=ae.layout(ge.model,he);te.buildCartesianSingleLabelElOption(de,ce,$e,he,fe,pe)},getHandleTransform:function(ce,de,he){var fe=ae.layout(de.axis.grid.model,de,{labelInside:!1});return fe.labelMargin=he.get("handle.margin"),{position:te.getTransformedPosition(de.axis,ce,fe),rotation:fe.rotation+(fe.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(ce,de,he,fe){var pe=he.axis,ve=pe.grid,ge=pe.getGlobalExtent(!0),me=oe(ve,pe).getOtherAxis(pe).getGlobalExtent(),ye=pe.dim==="x"?0:1,_e=ce.position;_e[ye]+=de[ye],_e[ye]=Math.min(ge[1],_e[ye]),_e[ye]=Math.max(ge[0],_e[ye]);var be=(me[1]+me[0])/2,xe=[be,be];xe[ye]=_e[ye];var $e=[{verticalAlign:"middle"},{align:"center"}];return{position:_e,rotation:ce.rotation,cursorPoint:xe,tooltipOption:$e[ye]}}});function oe(ce,de){var he={};return he[de.dim+"AxisIndex"]=de.index,ce.getCartesian(he)}var se={line:function(ce,de,he){var fe=te.makeLineShape([de,he[0]],[de,he[1]],le(ce));return{type:"Line",subPixelOptimize:!0,shape:fe}},shadow:function(ce,de,he){var fe=Math.max(1,ce.getBandWidth()),pe=he[1]-he[0];return{type:"Rect",shape:te.makeRectShape([de-fe/2,he[0]],[fe,pe],le(ce))}}};function le(ce){return ce.dim==="x"?0:1}ne.registerAxisPointerClass("CartesianAxisPointer",ie);var ue=ie;return CartesianAxisPointer_1=ue,CartesianAxisPointer_1}var hasRequiredAxisPointer;function requireAxisPointer(){if(hasRequiredAxisPointer)return axisPointer;hasRequiredAxisPointer=1;var ee=echarts$1,te=util$a,ae=requireModelHelper(),ne=requireAxisTrigger();return requireAxisPointerModel(),requireAxisPointerView(),requireCartesianAxisPointer(),ee.registerPreprocessor(function(ie){if(ie){(!ie.axisPointer||ie.axisPointer.length===0)&&(ie.axisPointer={});var oe=ie.axisPointer.link;oe&&!te.isArray(oe)&&(ie.axisPointer.link=[oe])}}),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,function(ie,oe){ie.getComponent("axisPointer").coordSysAxesInfo=ae.collect(ie,oe)}),ee.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},ne),axisPointer}var SingleAxisPointer_1,hasRequiredSingleAxisPointer;function requireSingleAxisPointer(){if(hasRequiredSingleAxisPointer)return SingleAxisPointer_1;hasRequiredSingleAxisPointer=1;var ee=requireBaseAxisPointer(),te=requireViewHelper(),ae=requireSingleAxisHelper(),ne=requireAxisView(),ie=["x","y"],oe=["width","height"],se=ee.extend({makeElOption:function(he,fe,pe,ve,ge){var me=pe.axis,ye=me.coordinateSystem,_e=ce(ye,1-ue(me)),be=ye.dataToPoint(fe)[0],xe=ve.get("type");if(xe&&xe!=="none"){var $e=te.buildElStyle(ve),Se=le[xe](me,be,_e);Se.style=$e,he.graphicKey=Se.type,he.pointer=Se}var we=ae.layout(pe);te.buildCartesianSingleLabelElOption(fe,he,we,pe,ve,ge)},getHandleTransform:function(he,fe,pe){var ve=ae.layout(fe,{labelInside:!1});return ve.labelMargin=pe.get("handle.margin"),{position:te.getTransformedPosition(fe.axis,he,ve),rotation:ve.rotation+(ve.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(he,fe,pe,ve){var ge=pe.axis,me=ge.coordinateSystem,ye=ue(ge),_e=ce(me,ye),be=he.position;be[ye]+=fe[ye],be[ye]=Math.min(_e[1],be[ye]),be[ye]=Math.max(_e[0],be[ye]);var xe=ce(me,1-ye),$e=(xe[1]+xe[0])/2,Se=[$e,$e];return Se[ye]=be[ye],{position:be,rotation:he.rotation,cursorPoint:Se,tooltipOption:{verticalAlign:"middle"}}}}),le={line:function(he,fe,pe){var ve=te.makeLineShape([fe,pe[0]],[fe,pe[1]],ue(he));return{type:"Line",subPixelOptimize:!0,shape:ve}},shadow:function(he,fe,pe){var ve=he.getBandWidth(),ge=pe[1]-pe[0];return{type:"Rect",shape:te.makeRectShape([fe-ve/2,pe[0]],[ve,ge],ue(he))}}};function ue(he){return he.isHorizontal()?0:1}function ce(he,fe){var pe=he.getRect();return[pe[ie[fe]],pe[ie[fe]]+pe[oe[fe]]]}ne.registerAxisPointerClass("SingleAxisPointer",se);var de=se;return SingleAxisPointer_1=de,SingleAxisPointer_1}var hasRequiredSingleAxis;function requireSingleAxis(){if(hasRequiredSingleAxis)return singleAxis;hasRequiredSingleAxis=1;var ee=echarts$1;return requireSingleCreator(),requireSingleAxisView(),requireAxisModel$1(),requireAxisPointer(),requireSingleAxisPointer(),ee.extendComponentView({type:"single"}),singleAxis}var ThemeRiverSeries_1,hasRequiredThemeRiverSeries;function requireThemeRiverSeries(){if(hasRequiredThemeRiverSeries)return ThemeRiverSeries_1;hasRequiredThemeRiverSeries=1;var ee=Series,te=requireCreateDimensions(),ae=requireDimensionHelper(),ne=ae.getDimensionTypeByAxis,ie=requireList(),oe=util$a,se=model,le=se.groupData,ue=format$6,ce=ue.encodeHTML,de=requireLegendVisualProvider(),he=2,fe=ee.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(ve){fe.superApply(this,"init",arguments),this.legendVisualProvider=new de(oe.bind(this.getData,this),oe.bind(this.getRawData,this))},fixData:function(ve){var ge=ve.length,me={},ye=le(ve,function(Ae){return me.hasOwnProperty(Ae[0])||(me[Ae[0]]=-1),Ae[2]}),_e=[];ye.buckets.each(function(Ae,Te){_e.push({name:Te,dataList:Ae})});for(var be=_e.length,xe=0;xe<be;++xe){for(var $e=_e[xe].name,Se=0;Se<_e[xe].dataList.length;++Se){var we=_e[xe].dataList[Se][0];me[we]=xe}for(var we in me)me.hasOwnProperty(we)&&me[we]!==xe&&(me[we]=xe,ve[ge]=[],ve[ge][0]=we,ve[ge][1]=0,ve[ge][2]=$e,ge++)}return ve},getInitialData:function(ve,ge){for(var me=ge.queryComponents({mainType:"singleAxis",index:this.get("singleAxisIndex"),id:this.get("singleAxisId")})[0],ye=me.get("type"),_e=oe.filter(ve.data,function(De){return De[2]!==void 0}),be=this.fixData(_e||[]),xe=[],$e=this.nameMap=oe.createHashMap(),Se=0,we=0;we<be.length;++we)xe.push(be[we][he]),$e.get(be[we][he])||($e.set(be[we][he],Se),Se++);var Ae=te(be,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:ne(ye)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}),Te=new ie(Ae,this);return Te.initData(be),Te},getLayerSeries:function(){for(var ve=this.getData(),ge=ve.count(),me=[],ye=0;ye<ge;++ye)me[ye]=ye;var _e=ve.mapDimension("single"),be=le(me,function($e){return ve.get("name",$e)}),xe=[];return be.buckets.each(function($e,Se){$e.sort(function(we,Ae){return ve.get(_e,we)-ve.get(_e,Ae)}),xe.push({name:Se,indices:$e})}),xe},getAxisTooltipData:function(ve,ge,me){oe.isArray(ve)||(ve=ve?[ve]:[]);for(var ye=this.getData(),_e=this.getLayerSeries(),be=[],xe=_e.length,$e,Se=0;Se<xe;++Se){for(var we=Number.MAX_VALUE,Ae=-1,Te=_e[Se].indices.length,De=0;De<Te;++De){var Me=ye.get(ve[0],_e[Se].indices[De]),Ie=Math.abs(Me-ge);Ie<=we&&($e=Me,we=Ie,Ae=_e[Se].indices[De])}be.push(Ae)}return{dataIndices:be,nestestValue:$e}},formatTooltip:function(ve){var ge=this.getData(),me=ge.getName(ve),ye=ge.get(ge.mapDimension("value"),ve);return(isNaN(ye)||ye==null)&&(ye="-"),ce(me+" : "+ye)},defaultOption:{zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",color:"#000",fontSize:11},emphasis:{label:{show:!0}}}}),pe=fe;return ThemeRiverSeries_1=pe,ThemeRiverSeries_1}var ThemeRiverView$2,hasRequiredThemeRiverView;function requireThemeRiverView(){if(hasRequiredThemeRiverView)return ThemeRiverView$2;hasRequiredThemeRiverView=1;var ee=echarts$1,te=requirePoly(),ae=te.Polygon,ne=graphic$6,ie=util$a,oe=ie.bind,se=ie.extend,le=requireDataDiffer(),ue=ee.extendChartView({type:"themeRiver",init:function(){this._layers=[]},render:function(de,he,fe){var pe=de.getData(),ve=this.group,ge=de.getLayerSeries(),me=pe.getLayout("layoutInfo"),ye=me.rect,_e=me.boundaryGap;ve.attr("position",[0,ye.y+_e[0]]);function be(we){return we.name}var xe=new le(this._layersSeries||[],ge,be,be),$e={};xe.add(oe(Se,this,"add")).update(oe(Se,this,"update")).remove(oe(Se,this,"remove")).execute();function Se(we,Ae,Te){var De=this._layers;if(we==="remove"){ve.remove(De[Ae]);return}for(var Me=[],Ie=[],Ce,Ee=ge[Ae].indices,Re=0;Re<Ee.length;Re++){var ke=pe.getItemLayout(Ee[Re]),Be=ke.x,Ne=ke.y0,He=ke.y;Me.push([Be,Ne]),Ie.push([Be,Ne+He]),Ce=pe.getItemVisual(Ee[Re],"color")}var qe,Oe,ze=pe.getItemLayout(Ee[0]),Ve=pe.getItemModel(Ee[Re-1]),Ge=Ve.getModel("label"),We=Ge.get("margin");if(we==="add"){var Ue=$e[Ae]=new ne.Group;qe=new ae({shape:{points:Me,stackedOnPoints:Ie,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),Oe=new ne.Text({style:{x:ze.x-We,y:ze.y0+ze.y/2}}),Ue.add(qe),Ue.add(Oe),ve.add(Ue),qe.setClipPath(ce(qe.getBoundingRect(),de,function(){qe.removeClipPath()}))}else{var Ue=De[Te];qe=Ue.childAt(0),Oe=Ue.childAt(1),ve.add(Ue),$e[Ae]=Ue,ne.updateProps(qe,{shape:{points:Me,stackedOnPoints:Ie}},de),ne.updateProps(Oe,{style:{x:ze.x-We,y:ze.y0+ze.y/2}},de)}var Ye=Ve.getModel("emphasis.itemStyle"),Ze=Ve.getModel("itemStyle");ne.setTextStyle(Oe.style,Ge,{text:Ge.get("show")?de.getFormattedLabel(Ee[Re-1],"normal")||pe.getName(Ee[Re-1]):null,textVerticalAlign:"middle"}),qe.setStyle(se({fill:Ce},Ze.getItemStyle(["color"]))),ne.setHoverStyle(qe,Ye.getItemStyle())}this._layersSeries=ge,this._layers=$e},dispose:function(){}});function ce(de,he,fe){var pe=new ne.Rect({shape:{x:de.x-10,y:de.y-10,width:0,height:de.height+20}});return ne.initProps(pe,{shape:{width:de.width+20,height:de.height+20}},he,fe),pe}return ThemeRiverView$2=ue,ThemeRiverView$2}var themeRiverLayout_1,hasRequiredThemeRiverLayout;function requireThemeRiverLayout(){if(hasRequiredThemeRiverLayout)return themeRiverLayout_1;hasRequiredThemeRiverLayout=1;var ee=util$a,te=requireNumber();function ae(oe,se){oe.eachSeriesByType("themeRiver",function(le){var ue=le.getData(),ce=le.coordinateSystem,de={},he=ce.getRect();de.rect=he;var fe=le.get("boundaryGap"),pe=ce.getAxis();if(de.boundaryGap=fe,pe.orient==="horizontal"){fe[0]=te.parsePercent(fe[0],he.height),fe[1]=te.parsePercent(fe[1],he.height);var ve=he.height-fe[0]-fe[1];ne(ue,le,ve)}else{fe[0]=te.parsePercent(fe[0],he.width),fe[1]=te.parsePercent(fe[1],he.width);var ge=he.width-fe[0]-fe[1];ne(ue,le,ge)}ue.setLayout("layoutInfo",de)})}function ne(oe,se,le){if(oe.count())for(var ue=se.coordinateSystem,ce=se.getLayerSeries(),de=oe.mapDimension("single"),he=oe.mapDimension("value"),fe=ee.map(ce,function($e){return ee.map($e.indices,function(Se){var we=ue.dataToPoint(oe.get(de,Se));return we[1]=oe.get(he,Se),we})}),pe=ie(fe),ve=pe.y0,ge=le/pe.max,me=ce.length,ye=ce[0].indices.length,_e,be=0;be<ye;++be){_e=ve[be]*ge,oe.setItemLayout(ce[0].indices[be],{layerIndex:0,x:fe[0][be][0],y0:_e,y:fe[0][be][1]*ge});for(var xe=1;xe<me;++xe)_e+=fe[xe-1][be][1]*ge,oe.setItemLayout(ce[xe].indices[be],{layerIndex:xe,x:fe[xe][be][0],y0:_e,y:fe[xe][be][1]*ge})}}function ie(oe){for(var se=oe.length,le=oe[0].length,ue=[],ce=[],de=0,he,fe={},pe=0;pe<le;++pe){for(var ve=0,he=0;ve<se;++ve)he+=oe[ve][pe][1];he>de&&(de=he),ue.push(he)}for(var ge=0;ge<le;++ge)ce[ge]=(de-ue[ge])/2;de=0;for(var me=0;me<le;++me){var ye=ue[me]+ce[me];ye>de&&(de=ye)}return fe.y0=ce,fe.max=de,fe}return themeRiverLayout_1=ae,themeRiverLayout_1}var themeRiverVisual,hasRequiredThemeRiverVisual;function requireThemeRiverVisual(){if(hasRequiredThemeRiverVisual)return themeRiverVisual;hasRequiredThemeRiverVisual=1;var ee=util$a,te=ee.createHashMap;function ae(ne){ne.eachSeriesByType("themeRiver",function(ie){var oe=ie.getData(),se=ie.getRawData(),le=ie.get("color"),ue=te();oe.each(function(ce){ue.set(oe.getRawIndex(ce),ce)}),se.each(function(ce){var de=se.getName(ce),he=le[(ie.nameMap.get(de)-1)%le.length];se.setItemVisual(ce,"color",he);var fe=ue.get(ce);fe!=null&&oe.setItemVisual(fe,"color",he)})})}return themeRiverVisual=ae,themeRiverVisual}var hasRequiredThemeRiver;function requireThemeRiver(){if(hasRequiredThemeRiver)return themeRiver;hasRequiredThemeRiver=1;var ee=echarts$1;requireSingleAxis(),requireThemeRiverSeries(),requireThemeRiverView();var te=requireThemeRiverLayout(),ae=requireThemeRiverVisual(),ne=requireDataFilter();return ee.registerLayout(te),ee.registerVisual(ae),ee.registerProcessor(ne("themeRiver")),themeRiver}var sunburst={},SunburstSeries,hasRequiredSunburstSeries;function requireSunburstSeries(){if(hasRequiredSunburstSeries)return SunburstSeries;hasRequiredSunburstSeries=1;var ee=util$a,te=Series,ae=requireTree$1(),ne=Model_1,ie=requireTreeHelper(),oe=ie.wrapTreePathInfo,se=te.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(ue,ce){var de={name:ue.name,children:ue.data};le(de);var he=ee.map(ue.levels||[],function(ve){return new ne(ve,this,ce)},this),fe=ae.createTree(de,this,pe);function pe(ve){ve.wrapMethod("getItemModel",function(ge,me){var ye=fe.getNodeByDataIndex(me),_e=he[ye.depth];return _e&&(ge.parentModel=_e),ge})}return fe.data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(ue){var ce=te.prototype.getDataParams.apply(this,arguments),de=this.getData().tree.getNodeByDataIndex(ue);return ce.treePathInfo=oe(de,this),ce},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},highlight:{itemStyle:{opacity:1}},downplay:{itemStyle:{opacity:.5},label:{opacity:.6}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(ue){ue?this._viewRoot=ue:ue=this._viewRoot;var ce=this.getRawData().tree.root;(!ue||ue!==ce&&!ce.contains(ue))&&(this._viewRoot=ce)}});function le(ue){var ce=0;ee.each(ue.children,function(he){le(he);var fe=he.value;ee.isArray(fe)&&(fe=fe[0]),ce+=fe});var de=ue.value;ee.isArray(de)&&(de=de[0]),(de==null||isNaN(de))&&(de=ce),de<0&&(de=0),ee.isArray(ue.value)?ue.value[0]=de:ue.value=de}return SunburstSeries=se,SunburstSeries}var SunburstPiece_1,hasRequiredSunburstPiece;function requireSunburstPiece(){if(hasRequiredSunburstPiece)return SunburstPiece_1;hasRequiredSunburstPiece=1;var ee=util$a,te=graphic$6,ae={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},ne=2,ie=4;function oe(fe,pe,ve){te.Group.call(this);var ge=new te.Sector({z2:ne});ge.seriesIndex=pe.seriesIndex;var me=new te.Text({z2:ie,silent:fe.getModel("label").get("silent")});this.add(ge),this.add(me),this.updateData(!0,fe,"normal",pe,ve);function ye(){me.ignore=me.hoverIgnore}function _e(){me.ignore=me.normalIgnore}this.on("emphasis",ye).on("normal",_e).on("mouseover",ye).on("mouseout",_e)}var se=oe.prototype;se.updateData=function(fe,pe,ve,ge,me){this.node=pe,pe.piece=this,ge=ge||this._seriesModel,me=me||this._ecModel;var ye=this.childAt(0);ye.dataIndex=pe.dataIndex;var _e=pe.getModel(),be=pe.getLayout(),xe=ee.extend({},be);xe.label=null;var $e=ue(pe,ge,me);he(pe,ge,$e);var Se=_e.getModel("itemStyle").getItemStyle(),we;if(ve==="normal")we=Se;else{var Ae=_e.getModel(ve+".itemStyle").getItemStyle();we=ee.merge(Ae,Se)}we=ee.defaults({lineJoin:"bevel",fill:we.fill||$e},we),fe?(ye.setShape(xe),ye.shape.r=be.r0,te.updateProps(ye,{shape:{r:be.r}},ge,pe.dataIndex),ye.useStyle(we)):typeof we.fill=="object"&&we.fill.type||typeof ye.style.fill=="object"&&ye.style.fill.type?(te.updateProps(ye,{shape:xe},ge),ye.useStyle(we)):te.updateProps(ye,{shape:xe,style:we},ge),this._updateLabel(ge,$e,ve);var Te=_e.getShallow("cursor");if(Te&&ye.attr("cursor",Te),fe){var De=ge.getShallow("highlightPolicy");this._initEvents(ye,pe,ge,De)}this._seriesModel=ge||this._seriesModel,this._ecModel=me||this._ecModel,te.setHoverStyle(this)},se.onEmphasis=function(fe){var pe=this;this.node.hostTree.root.eachNode(function(ve){ve.piece&&(pe.node===ve?ve.piece.updateData(!1,ve,"emphasis"):de(ve,pe.node,fe)?ve.piece.childAt(0).trigger("highlight"):fe!==ae.NONE&&ve.piece.childAt(0).trigger("downplay"))})},se.onNormal=function(){this.node.hostTree.root.eachNode(function(fe){fe.piece&&fe.piece.updateData(!1,fe,"normal")})},se.onHighlight=function(){this.updateData(!1,this.node,"highlight")},se.onDownplay=function(){this.updateData(!1,this.node,"downplay")},se._updateLabel=function(fe,pe,ve){var ge=this.node.getModel(),me=ge.getModel("label"),ye=ve==="normal"||ve==="emphasis"?me:ge.getModel(ve+".label"),_e=ge.getModel("emphasis.label"),be=ye.get("formatter"),xe=be?ve:"normal",$e=ee.retrieve(fe.getFormattedLabel(this.node.dataIndex,xe,null,null,"label"),this.node.name);Oe("show")===!1&&($e="");var Se=this.node.getLayout(),we=ye.get("minAngle");we==null&&(we=me.get("minAngle")),we=we/180*Math.PI;var Ae=Se.endAngle-Se.startAngle;we!=null&&Math.abs(Ae)<we&&($e="");var Te=this.childAt(1);te.setLabelStyle(Te.style,Te.hoverStyle||{},me,_e,{defaultText:ye.getShallow("show")?$e:null,autoColor:pe,useInsideStyle:!0});var De=(Se.startAngle+Se.endAngle)/2,Me=Math.cos(De),Ie=Math.sin(De),Ce,Ee=Oe("position"),Re=Oe("distance")||0,ke=Oe("align");Ee==="outside"?(Ce=Se.r+Re,ke=De>Math.PI/2?"right":"left"):!ke||ke==="center"?(Ce=(Se.r+Se.r0)/2,ke="center"):ke==="left"?(Ce=Se.r0+Re,De>Math.PI/2&&(ke="right")):ke==="right"&&(Ce=Se.r-Re,De>Math.PI/2&&(ke="left")),Te.attr("style",{text:$e,textAlign:ke,textVerticalAlign:Oe("verticalAlign")||"middle",opacity:Oe("opacity")});var Be=Ce*Me+Se.cx,Ne=Ce*Ie+Se.cy;Te.attr("position",[Be,Ne]);var He=Oe("rotate"),qe=0;He==="radial"?(qe=-De,qe<-Math.PI/2&&(qe+=Math.PI)):He==="tangential"?(qe=Math.PI/2-De,qe>Math.PI/2?qe-=Math.PI:qe<-Math.PI/2&&(qe+=Math.PI)):typeof He=="number"&&(qe=He*Math.PI/180),Te.attr("rotation",qe);function Oe(ze){var Ve=ye.get(ze);return Ve??me.get(ze)}},se._initEvents=function(fe,pe,ve,ge){fe.off("mouseover").off("mouseout").off("emphasis").off("normal");var me=this,ye=function(){me.onEmphasis(ge)},_e=function(){me.onNormal()},be=function(){me.onDownplay()},xe=function(){me.onHighlight()};ve.isAnimationEnabled()&&fe.on("mouseover",ye).on("mouseout",_e).on("emphasis",ye).on("normal",_e).on("downplay",be).on("highlight",xe)},ee.inherits(oe,te.Group);var le=oe;function ue(fe,pe,ve){var ge=fe.getVisual("color"),me=fe.getVisual("visualMeta");(!me||me.length===0)&&(ge=null);var ye=fe.getModel("itemStyle").get("color");if(ye)return ye;if(ge)return ge;if(fe.depth===0)return ve.option.color[0];var _e=ve.option.color.length;return ye=ve.option.color[ce(fe)%_e],ye}function ce(fe){for(var pe=fe;pe.depth>1;)pe=pe.parentNode;var ve=fe.getAncestors()[0];return ee.indexOf(ve.children,pe)}function de(fe,pe,ve){return ve===ae.NONE?!1:ve===ae.SELF?fe===pe:ve===ae.ANCESTOR?fe===pe||fe.isAncestorOf(pe):fe===pe||fe.isDescendantOf(pe)}function he(fe,pe,ve){var ge=pe.getData();ge.setItemVisual(fe.dataIndex,"color",ve)}return SunburstPiece_1=le,SunburstPiece_1}var SunburstView_1,hasRequiredSunburstView;function requireSunburstView(){if(hasRequiredSunburstView)return SunburstView_1;hasRequiredSunburstView=1;var ee=util$a,te=Chart_1,ae=requireSunburstPiece(),ne=requireDataDiffer(),ie=format$6,oe=ie.windowOpen,se="sunburstRootToNode",le=te.extend({type:"sunburst",init:function(){},render:function(ce,de,he,fe){var pe=this;this.seriesModel=ce,this.api=he,this.ecModel=de;var ve=ce.getData(),ge=ve.tree.root,me=ce.getViewRoot(),ye=this.group,_e=ce.get("renderLabelForZeroData"),be=[];me.eachNode(function(Me){be.push(Me)});var xe=this._oldChildren||[];if(we(be,xe),De(ge,me),fe&&fe.highlight&&fe.highlight.piece){var $e=ce.getShallow("highlightPolicy");fe.highlight.piece.onEmphasis($e)}else if(fe&&fe.unhighlight){var Se=this.virtualPiece;!Se&&ge.children.length&&(Se=ge.children[0].piece),Se&&Se.onNormal()}this._initEvents(),this._oldChildren=be;function we(Me,Ie){if(Me.length===0&&Ie.length===0)return;new ne(Ie,Me,Ce,Ce).add(Ee).update(Ee).remove(ee.curry(Ee,null)).execute();function Ce(Re){return Re.getId()}function Ee(Re,ke){var Be=Re==null?null:Me[Re],Ne=ke==null?null:Ie[ke];Ae(Be,Ne)}}function Ae(Me,Ie){if(!_e&&Me&&!Me.getValue()&&(Me=null),Me!==ge&&Ie!==ge){if(Ie&&Ie.piece)Me?(Ie.piece.updateData(!1,Me,"normal",ce,de),ve.setItemGraphicEl(Me.dataIndex,Ie.piece)):Te(Ie);else if(Me){var Ce=new ae(Me,ce,de);ye.add(Ce),ve.setItemGraphicEl(Me.dataIndex,Ce)}}}function Te(Me){Me&&Me.piece&&(ye.remove(Me.piece),Me.piece=null)}function De(Me,Ie){if(Ie.depth>0){pe.virtualPiece?pe.virtualPiece.updateData(!1,Me,"normal",ce,de):(pe.virtualPiece=new ae(Me,ce,de),ye.add(pe.virtualPiece)),Ie.piece._onclickEvent&&Ie.piece.off("click",Ie.piece._onclickEvent);var Ce=function(Ee){pe._rootToNode(Ie.parentNode)};Ie.piece._onclickEvent=Ce,pe.virtualPiece.on("click",Ce)}else pe.virtualPiece&&(ye.remove(pe.virtualPiece),pe.virtualPiece=null)}},dispose:function(){},_initEvents:function(){var ce=this,de=function(he){var fe=!1,pe=ce.seriesModel.getViewRoot();pe.eachNode(function(ve){if(!fe&&ve.piece&&ve.piece.childAt(0)===he.target){var ge=ve.getModel().get("nodeClick");if(ge==="rootToNode")ce._rootToNode(ve);else if(ge==="link"){var me=ve.getModel(),ye=me.get("link");if(ye){var _e=me.get("target",!0)||"_blank";oe(ye,_e)}}fe=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",de),this.group._onclickEvent=de},_rootToNode:function(ce){ce!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:se,from:this.uid,seriesId:this.seriesModel.id,targetNode:ce})},containPoint:function(ce,de){var he=de.getData(),fe=he.getItemLayout(0);if(fe){var pe=ce[0]-fe.cx,ve=ce[1]-fe.cy,ge=Math.sqrt(pe*pe+ve*ve);return ge<=fe.r&&ge>=fe.r0}}}),ue=le;return SunburstView_1=ue,SunburstView_1}var sunburstAction={},hasRequiredSunburstAction;function requireSunburstAction(){if(hasRequiredSunburstAction)return sunburstAction;hasRequiredSunburstAction=1;var ee=echarts$1,te=requireTreeHelper(),ae="sunburstRootToNode";ee.registerAction({type:ae,update:"updateView"},function(oe,se){se.eachComponent({mainType:"series",subType:"sunburst",query:oe},le);function le(ue,ce){var de=te.retrieveTargetInfo(oe,[ae],ue);if(de){var he=ue.getViewRoot();he&&(oe.direction=te.aboveViewRoot(he,de.node)?"rollUp":"drillDown"),ue.resetViewRoot(de.node)}}});var ne="sunburstHighlight";ee.registerAction({type:ne,update:"updateView"},function(oe,se){se.eachComponent({mainType:"series",subType:"sunburst",query:oe},le);function le(ue,ce){var de=te.retrieveTargetInfo(oe,[ne],ue);de&&(oe.highlight=de.node)}});var ie="sunburstUnhighlight";return ee.registerAction({type:ie,update:"updateView"},function(oe,se){se.eachComponent({mainType:"series",subType:"sunburst",query:oe},le);function le(ue,ce){oe.unhighlight=!0}}),sunburstAction}var sunburstLayout$1,hasRequiredSunburstLayout;function requireSunburstLayout(){if(hasRequiredSunburstLayout)return sunburstLayout$1;hasRequiredSunburstLayout=1;var ee=requireNumber(),te=ee.parsePercent,ae=util$a,ne=Math.PI/180;function ie(le,ue,ce,de){ue.eachSeriesByType(le,function(he){var fe=he.get("center"),pe=he.get("radius");ae.isArray(pe)||(pe=[0,pe]),ae.isArray(fe)||(fe=[fe,fe]);var ve=ce.getWidth(),ge=ce.getHeight(),me=Math.min(ve,ge),ye=te(fe[0],ve),_e=te(fe[1],ge),be=te(pe[0],me/2),xe=te(pe[1],me/2),$e=-he.get("startAngle")*ne,Se=he.get("minAngle")*ne,we=he.getData().tree.root,Ae=he.getViewRoot(),Te=Ae.depth,De=he.get("sort");De!=null&&oe(Ae,De);var Me=0;ae.each(Ae.children,function(Ge){!isNaN(Ge.getValue())&&Me++});var Ie=Ae.getValue(),Ce=Math.PI/(Ie||Me)*2,Ee=Ae.depth>0,Re=Ae.height-(Ee?-1:1),ke=(xe-be)/(Re||1),Be=he.get("clockwise"),Ne=he.get("stillShowZeroSum"),He=Be?1:-1,qe=function(Ge,We){if(Ge){var Ue=We;if(Ge!==we){var Ye=Ge.getValue(),Ze=Ie===0&&Ne?Ce:Ye*Ce;Ze<Se&&(Ze=Se),Ue=We+He*Ze;var Xe=Ge.depth-Te-(Ee?-1:1),it=be+ke*Xe,at=be+ke*(Xe+1),ut=Ge.getModel();ut.get("r0")!=null&&(it=te(ut.get("r0"),me/2)),ut.get("r")!=null&&(at=te(ut.get("r"),me/2)),Ge.setLayout({angle:Ze,startAngle:We,endAngle:Ue,clockwise:Be,cx:ye,cy:_e,r0:it,r:at})}if(Ge.children&&Ge.children.length){var dt=0;ae.each(Ge.children,function(pt){dt+=qe(pt,We+dt)})}return Ue-We}};if(Ee){var Oe=be,ze=be+ke,Ve=Math.PI*2;we.setLayout({angle:Ve,startAngle:$e,endAngle:$e+Ve,clockwise:Be,cx:ye,cy:_e,r0:Oe,r:ze})}qe(Ae,$e)})}function oe(le,ue){var ce=le.children||[];le.children=se(ce,ue),ce.length&&ae.each(le.children,function(de){oe(de,ue)})}function se(le,ue){if(typeof ue=="function")return le.sort(ue);var ce=ue==="asc";return le.sort(function(de,he){var fe=(de.getValue()-he.getValue())*(ce?1:-1);return fe===0?(de.dataIndex-he.dataIndex)*(ce?-1:1):fe})}return sunburstLayout$1=ie,sunburstLayout$1}var hasRequiredSunburst;function requireSunburst(){if(hasRequiredSunburst)return sunburst;hasRequiredSunburst=1;var ee=echarts$1,te=util$a;requireSunburstSeries(),requireSunburstView(),requireSunburstAction();var ae=requireDataColor(),ne=requireSunburstLayout(),ie=requireDataFilter();return ee.registerVisual(te.curry(ae,"sunburst")),ee.registerLayout(te.curry(ne,"sunburst")),ee.registerProcessor(te.curry(ie,"sunburst")),sunburst}var custom={},prepareCustom$4,hasRequiredPrepareCustom$4;function requirePrepareCustom$4(){if(hasRequiredPrepareCustom$4)return prepareCustom$4;hasRequiredPrepareCustom$4=1;var ee=util$a;function te(ne,ie){return ie=ie||[0,0],ee.map(["x","y"],function(oe,se){var le=this.getAxis(oe),ue=ie[se],ce=ne[se]/2;return le.type==="category"?le.getBandWidth():Math.abs(le.dataToCoord(ue-ce)-le.dataToCoord(ue+ce))},this)}function ae(ne){var ie=ne.grid.getRect();return{coordSys:{type:"cartesian2d",x:ie.x,y:ie.y,width:ie.width,height:ie.height},api:{coord:function(oe){return ne.dataToPoint(oe)},size:ee.bind(te,ne)}}}return prepareCustom$4=ae,prepareCustom$4}var prepareCustom$3,hasRequiredPrepareCustom$3;function requirePrepareCustom$3(){if(hasRequiredPrepareCustom$3)return prepareCustom$3;hasRequiredPrepareCustom$3=1;var ee=util$a;function te(ne,ie){return ie=ie||[0,0],ee.map([0,1],function(oe){var se=ie[oe],le=ne[oe]/2,ue=[],ce=[];return ue[oe]=se-le,ce[oe]=se+le,ue[1-oe]=ce[1-oe]=ie[1-oe],Math.abs(this.dataToPoint(ue)[oe]-this.dataToPoint(ce)[oe])},this)}function ae(ne){var ie=ne.getBoundingRect();return{coordSys:{type:"geo",x:ie.x,y:ie.y,width:ie.width,height:ie.height,zoom:ne.getZoom()},api:{coord:function(oe){return ne.dataToPoint(oe)},size:ee.bind(te,ne)}}}return prepareCustom$3=ae,prepareCustom$3}var prepareCustom$2,hasRequiredPrepareCustom$2;function requirePrepareCustom$2(){if(hasRequiredPrepareCustom$2)return prepareCustom$2;hasRequiredPrepareCustom$2=1;var ee=util$a;function te(ne,ie){var oe=this.getAxis(),se=ie instanceof Array?ie[0]:ie,le=(ne instanceof Array?ne[0]:ne)/2;return oe.type==="category"?oe.getBandWidth():Math.abs(oe.dataToCoord(se-le)-oe.dataToCoord(se+le))}function ae(ne){var ie=ne.getRect();return{coordSys:{type:"singleAxis",x:ie.x,y:ie.y,width:ie.width,height:ie.height},api:{coord:function(oe){return ne.dataToPoint(oe)},size:ee.bind(te,ne)}}}return prepareCustom$2=ae,prepareCustom$2}var prepareCustom$1,hasRequiredPrepareCustom$1;function requirePrepareCustom$1(){if(hasRequiredPrepareCustom$1)return prepareCustom$1;hasRequiredPrepareCustom$1=1;var ee=util$a;function te(ne,ie){return ee.map(["Radius","Angle"],function(oe,se){var le=this["get"+oe+"Axis"](),ue=ie[se],ce=ne[se]/2,de="dataTo"+oe,he=le.type==="category"?le.getBandWidth():Math.abs(le[de](ue-ce)-le[de](ue+ce));return oe==="Angle"&&(he=he*Math.PI/180),he},this)}function ae(ne){var ie=ne.getRadiusAxis(),oe=ne.getAngleAxis(),se=ie.getExtent();return se[0]>se[1]&&se.reverse(),{coordSys:{type:"polar",cx:ne.cx,cy:ne.cy,r:se[1],r0:se[0]},api:{coord:ee.bind(function(le){var ue=ie.dataToRadius(le[0]),ce=oe.dataToAngle(le[1]),de=ne.coordToPoint([ue,ce]);return de.push(ue,ce*Math.PI/180),de}),size:ee.bind(te,ne)}}}return prepareCustom$1=ae,prepareCustom$1}var prepareCustom,hasRequiredPrepareCustom;function requirePrepareCustom(){if(hasRequiredPrepareCustom)return prepareCustom;hasRequiredPrepareCustom=1;function ee(te){var ae=te.getRect(),ne=te.getRangeInfo();return{coordSys:{type:"calendar",x:ae.x,y:ae.y,width:ae.width,height:ae.height,cellWidth:te.getCellWidth(),cellHeight:te.getCellHeight(),rangeInfo:{start:ne.start,end:ne.end,weeks:ne.weeks,dayCount:ne.allDay}},api:{coord:function(ie,oe){return te.dataToPoint(ie,oe)}}}}return prepareCustom=ee,prepareCustom}var hasRequiredCustom;function requireCustom(){if(hasRequiredCustom)return custom;hasRequiredCustom=1;var ee=util$a,te=graphic$6,ae=requireLabelHelper(),ne=ae.getDefaultLabel,ie=requireCreateListFromArray(),oe=requireBarGrid(),se=oe.getLayoutOnAxis,le=requireDataDiffer(),ue=Series,ce=Model_1,de=Chart_1,he=requireCreateClipPathFromCoordSys(),fe=he.createClipPath,pe=requirePrepareCustom$4(),ve=requirePrepareCustom$3(),ge=requirePrepareCustom$2(),me=requirePrepareCustom$1(),ye=requirePrepareCustom(),_e=te.CACHED_LABEL_STYLE_PROPERTIES,be=["itemStyle"],xe=["emphasis","itemStyle"],$e=["label"],Se=["emphasis","label"],we="e\0\0",Ae={cartesian2d:pe,geo:ve,singleAxis:ge,polar:me,calendar:ye};ue.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0,clip:!1},getInitialData:function(Ue,Ye){return ie(this.getSource(),this)},getDataParams:function(Ue,Ye,Ze){var Xe=ue.prototype.getDataParams.apply(this,arguments);return Ze&&(Xe.info=Ze.info),Xe}}),de.extend({type:"custom",_data:null,render:function(Ue,Ye,Ze,Xe){var it=this._data,at=Ue.getData(),ut=this.group,dt=Ie(Ue,at,Ye,Ze);at.diff(it).add(function(gt){Ee(null,gt,dt(gt,Xe),Ue,ut,at)}).update(function(gt,bt){var Tt=it.getItemGraphicEl(bt);Ee(Tt,gt,dt(gt,Xe),Ue,ut,at)}).remove(function(gt){var bt=it.getItemGraphicEl(gt);bt&&ut.remove(bt)}).execute();var pt=Ue.get("clip",!0)?fe(Ue.coordinateSystem,!1,Ue):null;pt?ut.setClipPath(pt):ut.removeClipPath(),this._data=at},incrementalPrepareRender:function(Ue,Ye,Ze){this.group.removeAll(),this._data=null},incrementalRender:function(Ue,Ye,Ze,Xe,it){var at=Ye.getData(),ut=Ie(Ye,at,Ze,Xe);function dt(bt){bt.isGroup||(bt.incremental=!0,bt.useHoverLayer=!0)}for(var pt=Ue.start;pt<Ue.end;pt++){var gt=Ee(null,pt,ut(pt,it),Ye,this.group,at);gt.traverse(dt)}},dispose:ee.noop,filterForExposedEvent:function(Ue,Ye,Ze,Xe){var it=Ye.element;if(it==null||Ze.name===it)return!0;for(;(Ze=Ze.parent)&&Ze!==this.group;)if(Ze.name===it)return!0;return!1}});function Te(Ue){var Ye=Ue.type,Ze;if(Ye==="path"){var Xe=Ue.shape,it=Xe.width!=null&&Xe.height!=null?{x:Xe.x||0,y:Xe.y||0,width:Xe.width,height:Xe.height}:null,at=Ve(Xe);Ze=te.makePath(at,null,it,Xe.layout||"center"),Ze.__customPathData=at}else if(Ye==="image")Ze=new te.Image({}),Ze.__customImagePath=Ue.style.image;else if(Ye==="text")Ze=new te.Text({}),Ze.__customText=Ue.style.text;else if(Ye==="group")Ze=new te.Group;else{if(Ye==="compoundPath")throw new Error('"compoundPath" is not supported yet.');var ut=te.getShapeClass(Ye);Ze=new ut}return Ze.__customGraphicType=Ye,Ze.name=Ue.name,Ze}function De(Ue,Ye,Ze,Xe,it,at,ut){var dt={},pt=Ze.style||{};if(Ze.shape&&(dt.shape=ee.clone(Ze.shape)),Ze.position&&(dt.position=Ze.position.slice()),Ze.scale&&(dt.scale=Ze.scale.slice()),Ze.origin&&(dt.origin=Ze.origin.slice()),Ze.rotation&&(dt.rotation=Ze.rotation),Ue.type==="image"&&Ze.style){var gt=dt.style={};ee.each(["x","y","width","height"],function(At){Me(At,gt,pt,Ue.style,at)})}if(Ue.type==="text"&&Ze.style){var gt=dt.style={};ee.each(["x","y"],function(Mt){Me(Mt,gt,pt,Ue.style,at)}),!pt.hasOwnProperty("textFill")&&pt.fill&&(pt.textFill=pt.fill),!pt.hasOwnProperty("textStroke")&&pt.stroke&&(pt.textStroke=pt.stroke)}if(Ue.type!=="group"&&(Ue.useStyle(pt),at)){Ue.style.opacity=0;var bt=pt.opacity;bt==null&&(bt=1),te.initProps(Ue,{style:{opacity:bt}},Xe,Ye)}at?Ue.attr(dt):te.updateProps(Ue,dt,Xe,Ye),Ze.hasOwnProperty("z2")&&Ue.attr("z2",Ze.z2||0),Ze.hasOwnProperty("silent")&&Ue.attr("silent",Ze.silent),Ze.hasOwnProperty("invisible")&&Ue.attr("invisible",Ze.invisible),Ze.hasOwnProperty("ignore")&&Ue.attr("ignore",Ze.ignore),Ze.hasOwnProperty("info")&&Ue.attr("info",Ze.info);var Tt=Ze.styleEmphasis;te.setElementHoverStyle(Ue,Tt),ut&&te.setAsHighDownDispatcher(Ue,Tt!==!1)}function Me(Ue,Ye,Ze,Xe,it){Ze[Ue]!=null&&!it&&(Ye[Ue]=Ze[Ue],Ze[Ue]=Xe[Ue])}function Ie(Ue,Ye,Ze,Xe){var it=Ue.get("renderItem"),at=Ue.coordinateSystem,ut={};at&&(ut=at.prepareCustoms?at.prepareCustoms():Ae[at.type](at));var dt=ee.defaults({getWidth:Xe.getWidth,getHeight:Xe.getHeight,getZr:Xe.getZr,getDevicePixelRatio:Xe.getDevicePixelRatio,value:Ct,style:Ot,styleEmphasis:ct,visual:vt,barLayout:yt,currentSeriesIndices:Dt,font:Pt},ut.api||{}),pt={context:{},seriesId:Ue.id,seriesName:Ue.name,seriesIndex:Ue.seriesIndex,coordSys:ut.coordSys,dataInsideLength:Ye.count(),encode:Ce(Ue.getData())},gt,bt=!0,Tt,At,Mt,qt;return function(It,Lt){return gt=It,bt=!0,it&&it(ee.defaults({dataIndexInside:It,dataIndex:Ye.getRawIndex(It),actionType:Lt?Lt.type:null},pt),dt)};function St(It){It==null&&(It=gt),bt&&(Tt=Ye.getItemModel(It),At=Tt.getModel($e),Mt=Tt.getModel(Se),qt=Ye.getItemVisual(It,"color"),bt=!1)}function Ct(It,Lt){return Lt==null&&(Lt=gt),Ye.get(Ye.getDimension(It||0),Lt)}function Ot(It,Lt){Lt==null&&(Lt=gt),St(Lt);var Ft=Tt.getModel(be).getItemStyle();qt!=null&&(Ft.fill=qt);var Ht=Ye.getItemVisual(Lt,"opacity");Ht!=null&&(Ft.opacity=Ht);var Kt=It?qe(It,At):At;return te.setTextStyle(Ft,Kt,null,{autoColor:qt,isRectText:!0}),Ft.text=Kt.getShallow("show")?ee.retrieve2(Ue.getFormattedLabel(Lt,"normal"),ne(Ye,Lt)):null,It&&Oe(Ft,It),Ft}function ct(It,Lt){Lt==null&&(Lt=gt),St(Lt);var Ft=Tt.getModel(xe).getItemStyle(),Ht=It?qe(It,Mt):Mt;return te.setTextStyle(Ft,Ht,null,{isRectText:!0},!0),Ft.text=Ht.getShallow("show")?ee.retrieve3(Ue.getFormattedLabel(Lt,"emphasis"),Ue.getFormattedLabel(Lt,"normal"),ne(Ye,Lt)):null,It&&Oe(Ft,It),Ft}function vt(It,Lt){return Lt==null&&(Lt=gt),Ye.getItemVisual(Lt,It)}function yt(It){if(at.getBaseAxis){var Lt=at.getBaseAxis();return se(ee.defaults({axis:Lt},It),Xe)}}function Dt(){return Ze.getCurrentSeriesIndices()}function Pt(It){return te.getFont(It,Ze)}}function Ce(Ue){var Ye={};return ee.each(Ue.dimensions,function(Ze,Xe){var it=Ue.getDimensionInfo(Ze);if(!it.isExtraCoord){var at=it.coordDim,ut=Ye[at]=Ye[at]||[];ut[it.coordDimIndex]=Xe}}),Ye}function Ee(Ue,Ye,Ze,Xe,it,at){return Ue=Re(Ue,Ye,Ze,Xe,it,at,!0),Ue&&at.setItemGraphicEl(Ye,Ue),Ue}function Re(Ue,Ye,Ze,Xe,it,at,ut){var dt=!Ze;Ze=Ze||{};var pt=Ze.type,gt=Ze.shape,bt=Ze.style;if(Ue&&(dt||pt!=null&&pt!==Ue.__customGraphicType||pt==="path"&&Ge(gt)&&Ve(gt)!==Ue.__customPathData||pt==="image"&&We(bt,"image")&&bt.image!==Ue.__customImagePath||pt==="text"&&We(gt,"text")&&bt.text!==Ue.__customText)&&(it.remove(Ue),Ue=null),!dt){var Tt=!Ue;return!Ue&&(Ue=Te(Ze)),De(Ue,Ye,Ze,Xe,at,Tt,ut),pt==="group"&&ke(Ue,Ye,Ze,Xe,at),it.add(Ue),Ue}}function ke(Ue,Ye,Ze,Xe,it){var at=Ze.children,ut=at?at.length:0,dt=Ze.$mergeChildren,pt=dt==="byName"||Ze.diffChildrenByName,gt=dt===!1;if(!(!ut&&!pt&&!gt)){if(pt){Be({oldChildren:Ue.children()||[],newChildren:at||[],dataIndex:Ye,animatableModel:Xe,group:Ue,data:it});return}gt&&Ue.removeAll();for(var bt=0;bt<ut;bt++)at[bt]&&Re(Ue.childAt(bt),Ye,at[bt],Xe,Ue,it)}}function Be(Ue){new le(Ue.oldChildren,Ue.newChildren,Ne,Ne,Ue).add(He).update(He).remove(ze).execute()}function Ne(Ue,Ye){var Ze=Ue&&Ue.name;return Ze??we+Ye}function He(Ue,Ye){var Ze=this.context,Xe=Ue!=null?Ze.newChildren[Ue]:null,it=Ye!=null?Ze.oldChildren[Ye]:null;Re(it,Ze.dataIndex,Xe,Ze.animatableModel,Ze.group,Ze.data)}function qe(Ue,Ye){var Ze=new ce({},Ye);return ee.each(_e,function(Xe,it){Ue.hasOwnProperty(Xe)&&(Ze.option[it]=Ue[Xe])}),Ze}function Oe(Ue,Ye){for(var Ze in Ye)(Ye.hasOwnProperty(Ze)||!_e.hasOwnProperty(Ze))&&(Ue[Ze]=Ye[Ze])}function ze(Ue){var Ye=this.context,Ze=Ye.oldChildren[Ue];Ze&&Ye.group.remove(Ze)}function Ve(Ue){return Ue&&(Ue.pathData||Ue.d)}function Ge(Ue){return Ue&&(Ue.hasOwnProperty("pathData")||Ue.hasOwnProperty("d"))}function We(Ue,Ye){return Ue&&Ue.hasOwnProperty(Ye)}return custom}var grid={},hasRequiredGrid;function requireGrid(){return hasRequiredGrid||(hasRequiredGrid=1,requireGridSimple(),requireCartesianAxisPointer(),requireAxisPointer()),grid}var polar={},barPolar,hasRequiredBarPolar;function requireBarPolar(){if(hasRequiredBarPolar)return barPolar;hasRequiredBarPolar=1;var ee=util$a,te=requireNumber(),ae=te.parsePercent,ne=requireDataStackHelper(),ie=ne.isDimensionStacked;function oe(de){return de.get("stack")||"__ec_stack_"+de.seriesIndex}function se(de,he){return he.dim+de.model.componentIndex}function le(de,he,fe){var pe={},ve=ue(ee.filter(he.getSeriesByType(de),function(ge){return!he.isSeriesFiltered(ge)&&ge.coordinateSystem&&ge.coordinateSystem.type==="polar"}));he.eachSeriesByType(de,function(ge){if(ge.coordinateSystem.type==="polar"){var me=ge.getData(),ye=ge.coordinateSystem,_e=ye.getBaseAxis(),be=se(ye,_e),xe=oe(ge),$e=ve[be][xe],Se=$e.offset,we=$e.width,Ae=ye.getOtherAxis(_e),Te=ge.coordinateSystem.cx,De=ge.coordinateSystem.cy,Me=ge.get("barMinHeight")||0,Ie=ge.get("barMinAngle")||0;pe[xe]=pe[xe]||[];for(var Ce=me.mapDimension(Ae.dim),Ee=me.mapDimension(_e.dim),Re=ie(me,Ce),ke=_e.dim!=="radius"||!ge.get("roundCap",!0),Be=Ae.dim==="radius"?Ae.dataToRadius(0):Ae.dataToAngle(0),Ne=0,He=me.count();Ne<He;Ne++){var qe=me.get(Ce,Ne),Oe=me.get(Ee,Ne),ze=qe>=0?"p":"n",Ve=Be;Re&&(pe[xe][Oe]||(pe[xe][Oe]={p:Be,n:Be}),Ve=pe[xe][Oe][ze]);var Ge,We,Ue,Ye;if(Ae.dim==="radius"){var Ze=Ae.dataToRadius(qe)-Be,Xe=_e.dataToAngle(Oe);Math.abs(Ze)<Me&&(Ze=(Ze<0?-1:1)*Me),Ge=Ve,We=Ve+Ze,Ue=Xe-Se,Ye=Ue-we,Re&&(pe[xe][Oe][ze]=We)}else{var it=Ae.dataToAngle(qe,ke)-Be,at=_e.dataToRadius(Oe);Math.abs(it)<Ie&&(it=(it<0?-1:1)*Ie),Ge=at+Se,We=Ge+we,Ue=Ve,Ye=Ve+it,Re&&(pe[xe][Oe][ze]=Ye)}me.setItemLayout(Ne,{cx:Te,cy:De,r0:Ge,r:We,startAngle:-Ue*Math.PI/180,endAngle:-Ye*Math.PI/180})}}},this)}function ue(de,he){var fe={};ee.each(de,function(ve,ge){var me=ve.getData(),ye=ve.coordinateSystem,_e=ye.getBaseAxis(),be=se(ye,_e),xe=_e.getExtent(),$e=_e.type==="category"?_e.getBandWidth():Math.abs(xe[1]-xe[0])/me.count(),Se=fe[be]||{bandWidth:$e,remainedWidth:$e,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},we=Se.stacks;fe[be]=Se;var Ae=oe(ve);we[Ae]||Se.autoWidthCount++,we[Ae]=we[Ae]||{width:0,maxWidth:0};var Te=ae(ve.get("barWidth"),$e),De=ae(ve.get("barMaxWidth"),$e),Me=ve.get("barGap"),Ie=ve.get("barCategoryGap");Te&&!we[Ae].width&&(Te=Math.min(Se.remainedWidth,Te),we[Ae].width=Te,Se.remainedWidth-=Te),De&&(we[Ae].maxWidth=De),Me!=null&&(Se.gap=Me),Ie!=null&&(Se.categoryGap=Ie)});var pe={};return ee.each(fe,function(ve,ge){pe[ge]={};var me=ve.stacks,ye=ve.bandWidth,_e=ae(ve.categoryGap,ye),be=ae(ve.gap,1),xe=ve.remainedWidth,$e=ve.autoWidthCount,Se=(xe-_e)/($e+($e-1)*be);Se=Math.max(Se,0),ee.each(me,function(De,Me){var Ie=De.maxWidth;Ie&&Ie<Se&&(Ie=Math.min(Ie,xe),De.width&&(Ie=Math.min(Ie,De.width)),xe-=Ie,De.width=Ie,$e--)}),Se=(xe-_e)/($e+($e-1)*be),Se=Math.max(Se,0);var we=0,Ae;ee.each(me,function(De,Me){De.width||(De.width=Se),Ae=De,we+=De.width*(1+be)}),Ae&&(we-=Ae.width*be);var Te=-we/2;ee.each(me,function(De,Me){pe[ge][Me]=pe[ge][Me]||{offset:Te,width:De.width},Te+=De.width*(1+be)})}),pe}var ce=le;return barPolar=ce,barPolar}var polarCreator$2={},RadiusAxis_1,hasRequiredRadiusAxis$1;function requireRadiusAxis$1(){if(hasRequiredRadiusAxis$1)return RadiusAxis_1;hasRequiredRadiusAxis$1=1;var ee=util$a,te=requireAxis$1();function ae(ie,oe){te.call(this,"radius",ie,oe),this.type="category"}ae.prototype={constructor:ae,pointToData:function(ie,oe){return this.polar.pointToData(ie,oe)[this.dim==="radius"?0:1]},dataToRadius:te.prototype.dataToCoord,radiusToData:te.prototype.coordToData},ee.inherits(ae,te);var ne=ae;return RadiusAxis_1=ne,RadiusAxis_1}var AngleAxis_1,hasRequiredAngleAxis$1;function requireAngleAxis$1(){if(hasRequiredAngleAxis$1)return AngleAxis_1;hasRequiredAngleAxis$1=1;var ee=util$a,te=text,ae=requireAxis$1(),ne=model,ie=ne.makeInner,oe=ie();function se(ue,ce){ce=ce||[0,360],ae.call(this,"angle",ue,ce),this.type="category"}se.prototype={constructor:se,pointToData:function(ue,ce){return this.polar.pointToData(ue,ce)[this.dim==="radius"?0:1]},dataToAngle:ae.prototype.dataToCoord,angleToData:ae.prototype.coordToData,calculateCategoryInterval:function(){var ue=this,ce=ue.getLabelModel(),de=ue.scale,he=de.getExtent(),fe=de.count();if(he[1]-he[0]<1)return 0;var pe=he[0],ve=ue.dataToCoord(pe+1)-ue.dataToCoord(pe),ge=Math.abs(ve),me=te.getBoundingRect(pe,ce.getFont(),"center","top"),ye=Math.max(me.height,7),_e=ye/ge;isNaN(_e)&&(_e=1/0);var be=Math.max(0,Math.floor(_e)),xe=oe(ue.model),$e=xe.lastAutoInterval,Se=xe.lastTickCount;return $e!=null&&Se!=null&&Math.abs($e-be)<=1&&Math.abs(Se-fe)<=1&&$e>be?be=$e:(xe.lastTickCount=fe,xe.lastAutoInterval=be),be}},ee.inherits(se,ae);var le=se;return AngleAxis_1=le,AngleAxis_1}var Polar_1,hasRequiredPolar$1;function requirePolar$1(){if(hasRequiredPolar$1)return Polar_1;hasRequiredPolar$1=1;var ee=requireRadiusAxis$1(),te=requireAngleAxis$1(),ae=function(ie){this.name=ie||"",this.cx=0,this.cy=0,this._radiusAxis=new ee,this._angleAxis=new te,this._radiusAxis.polar=this._angleAxis.polar=this};ae.prototype={type:"polar",axisPointerEnabled:!0,constructor:ae,dimensions:["radius","angle"],model:null,containPoint:function(ie){var oe=this.pointToCoord(ie);return this._radiusAxis.contain(oe[0])&&this._angleAxis.contain(oe[1])},containData:function(ie){return this._radiusAxis.containData(ie[0])&&this._angleAxis.containData(ie[1])},getAxis:function(ie){return this["_"+ie+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(ie){var oe=[],se=this._angleAxis,le=this._radiusAxis;return se.scale.type===ie&&oe.push(se),le.scale.type===ie&&oe.push(le),oe},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(ie){var oe=this._angleAxis;return ie===oe?this._radiusAxis:oe},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(ie){var oe=ie!=null&&ie!=="auto"?this.getAxis(ie):this.getBaseAxis();return{baseAxes:[oe],otherAxes:[this.getOtherAxis(oe)]}},dataToPoint:function(ie,oe){return this.coordToPoint([this._radiusAxis.dataToRadius(ie[0],oe),this._angleAxis.dataToAngle(ie[1],oe)])},pointToData:function(ie,oe){var se=this.pointToCoord(ie);return[this._radiusAxis.radiusToData(se[0],oe),this._angleAxis.angleToData(se[1],oe)]},pointToCoord:function(ie){var oe=ie[0]-this.cx,se=ie[1]-this.cy,le=this.getAngleAxis(),ue=le.getExtent(),ce=Math.min(ue[0],ue[1]),de=Math.max(ue[0],ue[1]);le.inverse?ce=de-360:de=ce+360;var he=Math.sqrt(oe*oe+se*se);oe/=he,se/=he;for(var fe=Math.atan2(-se,oe)/Math.PI*180,pe=fe<ce?1:-1;fe<ce||fe>de;)fe+=pe*360;return[he,fe]},coordToPoint:function(ie){var oe=ie[0],se=ie[1]/180*Math.PI,le=Math.cos(se)*oe+this.cx,ue=-Math.sin(se)*oe+this.cy;return[le,ue]},getArea:function(){var ie=this.getAngleAxis(),oe=this.getRadiusAxis(),se=oe.getExtent().slice();se[0]>se[1]&&se.reverse();var le=ie.getExtent(),ue=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:se[0],r:se[1],startAngle:-le[0]*ue,endAngle:-le[1]*ue,clockwise:ie.inverse,contain:function(ce,de){var he=ce-this.cx,fe=de-this.cy,pe=he*he+fe*fe,ve=this.r,ge=this.r0;return pe<=ve*ve&&pe>=ge*ge}}}};var ne=ae;return Polar_1=ne,Polar_1}var AxisModel={},hasRequiredAxisModel;function requireAxisModel(){if(hasRequiredAxisModel)return AxisModel;hasRequiredAxisModel=1;var ee=util$a,te=Component$1,ae=requireAxisModelCreator(),ne=requireAxisModelCommonMixin(),ie=te.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});ee.merge(ie.prototype,ne);var oe={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};function se(le,ue){return ue.type||(ue.data?"category":"value")}return ae("angle",ie,se,oe.angle),ae("radius",ie,se,oe.radius),AxisModel}var PolarModel$2,hasRequiredPolarModel;function requirePolarModel(){if(hasRequiredPolarModel)return PolarModel$2;hasRequiredPolarModel=1;var ee=echarts$1;requireAxisModel();var te=ee.extendComponentModel({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(ae){var ne,ie=this.ecModel;return ie.eachComponent(ae,function(oe){oe.getCoordSysModel()===this&&(ne=oe)},this),ne},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});return PolarModel$2=te,PolarModel$2}var hasRequiredPolarCreator;function requirePolarCreator(){if(hasRequiredPolarCreator)return polarCreator$2;hasRequiredPolarCreator=1;var ee=util$a,te=requirePolar$1(),ae=requireNumber(),ne=ae.parsePercent,ie=requireAxisHelper(),oe=ie.createScaleByModel,se=ie.niceScaleExtent,le=CoordinateSystem$1,ue=requireDataStackHelper(),ce=ue.getStackedDimension;requirePolarModel();function de(ve,ge,me){var ye=ge.get("center"),_e=me.getWidth(),be=me.getHeight();ve.cx=ne(ye[0],_e),ve.cy=ne(ye[1],be);var xe=ve.getRadiusAxis(),$e=Math.min(_e,be)/2,Se=ge.get("radius");Se==null?Se=[0,"100%"]:ee.isArray(Se)||(Se=[0,Se]),Se=[ne(Se[0],$e),ne(Se[1],$e)],xe.inverse?xe.setExtent(Se[1],Se[0]):xe.setExtent(Se[0],Se[1])}function he(ve,ge){var me=this,ye=me.getAngleAxis(),_e=me.getRadiusAxis();if(ye.scale.setExtent(1/0,-1/0),_e.scale.setExtent(1/0,-1/0),ve.eachSeries(function($e){if($e.coordinateSystem===me){var Se=$e.getData();ee.each(Se.mapDimension("radius",!0),function(we){_e.scale.unionExtentFromData(Se,ce(Se,we))}),ee.each(Se.mapDimension("angle",!0),function(we){ye.scale.unionExtentFromData(Se,ce(Se,we))})}}),se(ye.scale,ye.model),se(_e.scale,_e.model),ye.type==="category"&&!ye.onBand){var be=ye.getExtent(),xe=360/ye.scale.count();ye.inverse?be[1]+=xe:be[1]-=xe,ye.setExtent(be[0],be[1])}}function fe(ve,ge){if(ve.type=ge.get("type"),ve.scale=oe(ge),ve.onBand=ge.get("boundaryGap")&&ve.type==="category",ve.inverse=ge.get("inverse"),ge.mainType==="angleAxis"){ve.inverse^=ge.get("clockwise");var me=ge.get("startAngle");ve.setExtent(me,me+(ve.inverse?-360:360))}ge.axis=ve,ve.model=ge}var pe={dimensions:te.prototype.dimensions,create:function(ve,ge){var me=[];return ve.eachComponent("polar",function(ye,_e){var be=new te(_e);be.update=he;var xe=be.getRadiusAxis(),$e=be.getAngleAxis(),Se=ye.findAxisModel("radiusAxis"),we=ye.findAxisModel("angleAxis");fe(xe,Se),fe($e,we),de(be,ye,ge),me.push(be),ye.coordinateSystem=be,be.model=ye}),ve.eachSeries(function(ye){if(ye.get("coordinateSystem")==="polar"){var _e=ve.queryComponents({mainType:"polar",index:ye.get("polarIndex"),id:ye.get("polarId")})[0];ye.coordinateSystem=_e.coordinateSystem}}),me}};return le.register("polar",pe),polarCreator$2}var angleAxis={},AngleAxisView$2,hasRequiredAngleAxisView;function requireAngleAxisView(){if(hasRequiredAngleAxisView)return AngleAxisView$2;hasRequiredAngleAxisView=1;var ee=util$a,te=graphic$6,ae=Model_1,ne=requireAxisView(),ie=requireAxisBuilder(),oe=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function se(de,he,fe){he[1]>he[0]&&(he=he.slice().reverse());var pe=de.coordToPoint([he[0],fe]),ve=de.coordToPoint([he[1],fe]);return{x1:pe[0],y1:pe[1],x2:ve[0],y2:ve[1]}}function le(de){var he=de.getRadiusAxis();return he.inverse?0:1}function ue(de){var he=de[0],fe=de[de.length-1];he&&fe&&Math.abs(Math.abs(he.coord-fe.coord)-360)<1e-4&&de.pop()}var ce=ne.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(de,he){if(this.group.removeAll(),!!de.get("show")){var fe=de.axis,pe=fe.polar,ve=pe.getRadiusAxis().getExtent(),ge=fe.getTicksCoords(),me=fe.getMinorTicksCoords(),ye=ee.map(fe.getViewLabels(),function(be){var be=ee.clone(be);return be.coord=fe.dataToCoord(be.tickValue),be});ue(ye),ue(ge),ee.each(oe,function(_e){de.get(_e+".show")&&(!fe.scale.isBlank()||_e==="axisLine")&&this["_"+_e](de,pe,ge,me,ve,ye)},this)}},_axisLine:function(de,he,fe,pe,ve){var ge=de.getModel("axisLine.lineStyle"),me=le(he),ye=me?0:1,_e;ve[ye]===0?_e=new te.Circle({shape:{cx:he.cx,cy:he.cy,r:ve[me]},style:ge.getLineStyle(),z2:1,silent:!0}):_e=new te.Ring({shape:{cx:he.cx,cy:he.cy,r:ve[me],r0:ve[ye]},style:ge.getLineStyle(),z2:1,silent:!0}),_e.style.fill=null,this.group.add(_e)},_axisTick:function(de,he,fe,pe,ve){var ge=de.getModel("axisTick"),me=(ge.get("inside")?-1:1)*ge.get("length"),ye=ve[le(he)],_e=ee.map(fe,function(be){return new te.Line({shape:se(he,[ye,ye+me],be.coord)})});this.group.add(te.mergePath(_e,{style:ee.defaults(ge.getModel("lineStyle").getLineStyle(),{stroke:de.get("axisLine.lineStyle.color")})}))},_minorTick:function(de,he,fe,pe,ve){if(pe.length){for(var ge=de.getModel("axisTick"),me=de.getModel("minorTick"),ye=(ge.get("inside")?-1:1)*me.get("length"),_e=ve[le(he)],be=[],xe=0;xe<pe.length;xe++)for(var $e=0;$e<pe[xe].length;$e++)be.push(new te.Line({shape:se(he,[_e,_e+ye],pe[xe][$e].coord)}));this.group.add(te.mergePath(be,{style:ee.defaults(me.getModel("lineStyle").getLineStyle(),ee.defaults(ge.getLineStyle(),{stroke:de.get("axisLine.lineStyle.color")}))}))}},_axisLabel:function(de,he,fe,pe,ve,ge){var me=de.getCategories(!0),ye=de.getModel("axisLabel"),_e=ye.get("margin"),be=de.get("triggerEvent");ee.each(ge,function(xe,$e){var Se=ye,we=xe.tickValue,Ae=ve[le(he)],Te=he.coordToPoint([Ae+_e,xe.coord]),De=he.cx,Me=he.cy,Ie=Math.abs(Te[0]-De)/Ae<.3?"center":Te[0]>De?"left":"right",Ce=Math.abs(Te[1]-Me)/Ae<.3?"middle":Te[1]>Me?"top":"bottom";me&&me[we]&&me[we].textStyle&&(Se=new ae(me[we].textStyle,ye,ye.ecModel));var Ee=new te.Text({silent:ie.isLabelSilent(de)});this.group.add(Ee),te.setTextStyle(Ee.style,Se,{x:Te[0],y:Te[1],textFill:Se.getTextColor()||de.get("axisLine.lineStyle.color"),text:xe.formattedLabel,textAlign:Ie,textVerticalAlign:Ce}),be&&(Ee.eventData=ie.makeAxisEventDataBase(de),Ee.eventData.targetType="axisLabel",Ee.eventData.value=xe.rawLabel)},this)},_splitLine:function(de,he,fe,pe,ve){var ge=de.getModel("splitLine"),me=ge.getModel("lineStyle"),ye=me.get("color"),_e=0;ye=ye instanceof Array?ye:[ye];for(var be=[],xe=0;xe<fe.length;xe++){var $e=_e++%ye.length;be[$e]=be[$e]||[],be[$e].push(new te.Line({shape:se(he,ve,fe[xe].coord)}))}for(var xe=0;xe<be.length;xe++)this.group.add(te.mergePath(be[xe],{style:ee.defaults({stroke:ye[xe%ye.length]},me.getLineStyle()),silent:!0,z:de.get("z")}))},_minorSplitLine:function(de,he,fe,pe,ve){if(pe.length){for(var ge=de.getModel("minorSplitLine"),me=ge.getModel("lineStyle"),ye=[],_e=0;_e<pe.length;_e++)for(var be=0;be<pe[_e].length;be++)ye.push(new te.Line({shape:se(he,ve,pe[_e][be].coord)}));this.group.add(te.mergePath(ye,{style:me.getLineStyle(),silent:!0,z:de.get("z")}))}},_splitArea:function(de,he,fe,pe,ve){if(fe.length){var ge=de.getModel("splitArea"),me=ge.getModel("areaStyle"),ye=me.get("color"),_e=0;ye=ye instanceof Array?ye:[ye];for(var be=[],xe=Math.PI/180,$e=-fe[0].coord*xe,Se=Math.min(ve[0],ve[1]),we=Math.max(ve[0],ve[1]),Ae=de.get("clockwise"),Te=1;Te<fe.length;Te++){var De=_e++%ye.length;be[De]=be[De]||[],be[De].push(new te.Sector({shape:{cx:he.cx,cy:he.cy,r0:Se,r:we,startAngle:$e,endAngle:-fe[Te].coord*xe,clockwise:Ae},silent:!0})),$e=-fe[Te].coord*xe}for(var Te=0;Te<be.length;Te++)this.group.add(te.mergePath(be[Te],{style:ee.defaults({fill:ye[Te%ye.length]},me.getAreaStyle()),silent:!0}))}}});return AngleAxisView$2=ce,AngleAxisView$2}var hasRequiredAngleAxis;function requireAngleAxis(){return hasRequiredAngleAxis||(hasRequiredAngleAxis=1,requirePolarCreator(),requireAngleAxisView()),angleAxis}var radiusAxis={},RadiusAxisView$2,hasRequiredRadiusAxisView;function requireRadiusAxisView(){if(hasRequiredRadiusAxisView)return RadiusAxisView$2;hasRequiredRadiusAxisView=1;var ee=util$a,te=graphic$6,ae=requireAxisBuilder(),ne=requireAxisView(),ie=["axisLine","axisTickLabel","axisName"],oe=["splitLine","splitArea","minorSplitLine"],se=ne.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(ue,ce){if(this.group.removeAll(),!!ue.get("show")){var de=ue.axis,he=de.polar,fe=he.getAngleAxis(),pe=de.getTicksCoords(),ve=de.getMinorTicksCoords(),ge=fe.getExtent()[0],me=de.getExtent(),ye=le(he,ue,ge),_e=new ae(ue,ye);ee.each(ie,_e.add,_e),this.group.add(_e.getGroup()),ee.each(oe,function(be){ue.get(be+".show")&&!de.scale.isBlank()&&this["_"+be](ue,he,ge,me,pe,ve)},this)}},_splitLine:function(ue,ce,de,he,fe){var pe=ue.getModel("splitLine"),ve=pe.getModel("lineStyle"),ge=ve.get("color"),me=0;ge=ge instanceof Array?ge:[ge];for(var ye=[],_e=0;_e<fe.length;_e++){var be=me++%ge.length;ye[be]=ye[be]||[],ye[be].push(new te.Circle({shape:{cx:ce.cx,cy:ce.cy,r:fe[_e].coord}}))}for(var _e=0;_e<ye.length;_e++)this.group.add(te.mergePath(ye[_e],{style:ee.defaults({stroke:ge[_e%ge.length],fill:null},ve.getLineStyle()),silent:!0}))},_minorSplitLine:function(ue,ce,de,he,fe,pe){if(pe.length){for(var ve=ue.getModel("minorSplitLine"),ge=ve.getModel("lineStyle"),me=[],ye=0;ye<pe.length;ye++)for(var _e=0;_e<pe[ye].length;_e++)me.push(new te.Circle({shape:{cx:ce.cx,cy:ce.cy,r:pe[ye][_e].coord}}));this.group.add(te.mergePath(me,{style:ee.defaults({fill:null},ge.getLineStyle()),silent:!0}))}},_splitArea:function(ue,ce,de,he,fe){if(fe.length){var pe=ue.getModel("splitArea"),ve=pe.getModel("areaStyle"),ge=ve.get("color"),me=0;ge=ge instanceof Array?ge:[ge];for(var ye=[],_e=fe[0].coord,be=1;be<fe.length;be++){var xe=me++%ge.length;ye[xe]=ye[xe]||[],ye[xe].push(new te.Sector({shape:{cx:ce.cx,cy:ce.cy,r0:_e,r:fe[be].coord,startAngle:0,endAngle:Math.PI*2},silent:!0})),_e=fe[be].coord}for(var be=0;be<ye.length;be++)this.group.add(te.mergePath(ye[be],{style:ee.defaults({fill:ge[be%ge.length]},ve.getAreaStyle()),silent:!0}))}}});function le(ue,ce,de){return{position:[ue.cx,ue.cy],rotation:de/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:ce.getModel("axisLabel").get("rotate"),z2:1}}return RadiusAxisView$2=se,RadiusAxisView$2}var hasRequiredRadiusAxis;function requireRadiusAxis(){return hasRequiredRadiusAxis||(hasRequiredRadiusAxis=1,requirePolarCreator(),requireRadiusAxisView()),radiusAxis}var PolarAxisPointer_1,hasRequiredPolarAxisPointer;function requirePolarAxisPointer(){if(hasRequiredPolarAxisPointer)return PolarAxisPointer_1;hasRequiredPolarAxisPointer=1;var ee=format$6,te=requireBaseAxisPointer(),ae=graphic$6,ne=requireViewHelper(),ie=matrix$5,oe=requireAxisBuilder(),se=requireAxisView(),le=te.extend({makeElOption:function(he,fe,pe,ve,ge){var me=pe.axis;me.dim==="angle"&&(this.animationThreshold=Math.PI/18);var ye=me.polar,_e=ye.getOtherAxis(me),be=_e.getExtent(),xe;xe=me["dataTo"+ee.capitalFirst(me.dim)](fe);var $e=ve.get("type");if($e&&$e!=="none"){var Se=ne.buildElStyle(ve),we=ce[$e](me,ye,xe,be,Se);we.style=Se,he.graphicKey=we.type,he.pointer=we}var Ae=ve.get("label.margin"),Te=ue(fe,pe,ve,ye,Ae);ne.buildLabelElOption(he,pe,ve,ge,Te)}});function ue(he,fe,pe,ve,ge){var me=fe.axis,ye=me.dataToCoord(he),_e=ve.getAngleAxis().getExtent()[0];_e=_e/180*Math.PI;var be=ve.getRadiusAxis().getExtent(),xe,$e,Se;if(me.dim==="radius"){var we=ie.create();ie.rotate(we,we,_e),ie.translate(we,we,[ve.cx,ve.cy]),xe=ae.applyTransform([ye,-ge],we);var Ae=fe.getModel("axisLabel").get("rotate")||0,Te=oe.innerTextLayout(_e,Ae*Math.PI/180,-1);$e=Te.textAlign,Se=Te.textVerticalAlign}else{var De=be[1];xe=ve.coordToPoint([De+ge,ye]);var Me=ve.cx,Ie=ve.cy;$e=Math.abs(xe[0]-Me)/De<.3?"center":xe[0]>Me?"left":"right",Se=Math.abs(xe[1]-Ie)/De<.3?"middle":xe[1]>Ie?"top":"bottom"}return{position:xe,align:$e,verticalAlign:Se}}var ce={line:function(he,fe,pe,ve,ge){return he.dim==="angle"?{type:"Line",shape:ne.makeLineShape(fe.coordToPoint([ve[0],pe]),fe.coordToPoint([ve[1],pe]))}:{type:"Circle",shape:{cx:fe.cx,cy:fe.cy,r:pe}}},shadow:function(he,fe,pe,ve,ge){var me=Math.max(1,he.getBandWidth()),ye=Math.PI/180;return he.dim==="angle"?{type:"Sector",shape:ne.makeSectorShape(fe.cx,fe.cy,ve[0],ve[1],(-pe-me/2)*ye,(-pe+me/2)*ye)}:{type:"Sector",shape:ne.makeSectorShape(fe.cx,fe.cy,pe-me/2,pe+me/2,0,Math.PI*2)}}};se.registerAxisPointerClass("PolarAxisPointer",le);var de=le;return PolarAxisPointer_1=de,PolarAxisPointer_1}var hasRequiredPolar;function requirePolar(){if(hasRequiredPolar)return polar;hasRequiredPolar=1;var ee=echarts$1,te=util$a,ae=requireBarPolar();return requirePolarCreator(),requireAngleAxis(),requireRadiusAxis(),requireAxisPointer(),requirePolarAxisPointer(),ee.registerLayout(te.curry(ae,"bar")),ee.extendComponentView({type:"polar"}),polar}var geo={},GeoModel_1,hasRequiredGeoModel;function requireGeoModel(){if(hasRequiredGeoModel)return GeoModel_1;hasRequiredGeoModel=1;var ee=util$a,te=model,ae=Component$1,ne=Model_1,ie=requireSelectableMixin(),oe=requireGeoCreator(),se=ae.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(ue){ae.prototype.init.apply(this,arguments),te.defaultEmphasis(ue,"label",["show"])},optionUpdated:function(){var ue=this.option,ce=this;ue.regions=oe.getFilledRegions(ue.regions,ue.map,ue.nameMap),this._optionModelMap=ee.reduce(ue.regions||[],function(de,he){return he.name&&de.set(he.name,new ne(he,ce)),de},ee.createHashMap()),this.updateSelectedMap(ue.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(ue){return this._optionModelMap.get(ue)||new ne(null,this,this.ecModel)},getFormattedLabel:function(ue,ce){ce=ce||"normal";var de=this.getRegionModel(ue),he=de.get((ce==="normal"?"":ce+".")+"label.formatter"),fe={name:ue};if(typeof he=="function")return fe.status=ce,he(fe);if(typeof he=="string")return he.replace("{a}",ue??"")},setZoom:function(ue){this.option.zoom=ue},setCenter:function(ue){this.option.center=ue}});ee.mixin(se,ie);var le=se;return GeoModel_1=le,GeoModel_1}var GeoView$2,hasRequiredGeoView;function requireGeoView(){if(hasRequiredGeoView)return GeoView$2;hasRequiredGeoView=1;var ee=requireMapDraw(),te=echarts$1,ae=te.extendComponentView({type:"geo",init:function(ne,ie){var oe=new ee(ie,!0);this._mapDraw=oe,this.group.add(oe.group)},render:function(ne,ie,oe,se){if(!(se&&se.type==="geoToggleSelect"&&se.from===this.uid)){var le=this._mapDraw;ne.get("show")?le.draw(ne,ie,oe,this,se):this._mapDraw.group.removeAll(),this.group.silent=ne.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}});return GeoView$2=ae,GeoView$2}var hasRequiredGeo;function requireGeo(){if(hasRequiredGeo)return geo;hasRequiredGeo=1;var ee=echarts$1,te=util$a;requireGeoModel(),requireGeoCreator(),requireGeoView(),requireGeoRoam();function ae(ne,ie){ie.update="updateView",ee.registerAction(ie,function(oe,se){var le={};return se.eachComponent({mainType:"geo",query:oe},function(ue){ue[ne](oe.name);var ce=ue.coordinateSystem;te.each(ce.regions,function(de){le[de.name]=ue.isSelected(de.name)||!1})}),{selected:le,name:oe.name}})}return ae("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),ae("select",{type:"geoSelect",event:"geoselected"}),ae("unSelect",{type:"geoUnSelect",event:"geounselected"}),geo}var calendar={},Calendar_1,hasRequiredCalendar$1;function requireCalendar$1(){if(hasRequiredCalendar$1)return Calendar_1;hasRequiredCalendar$1=1;var ee=util$a,te=layout$5,ae=requireNumber(),ne=CoordinateSystem$1,ie=864e5;function oe(ue,ce,de){this._model=ue}oe.prototype={constructor:oe,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(ue){ue=ae.parseDate(ue);var ce=ue.getFullYear(),de=ue.getMonth()+1;de=de<10?"0"+de:de;var he=ue.getDate();he=he<10?"0"+he:he;var fe=ue.getDay();return fe=Math.abs((fe+7-this.getFirstDayOfWeek())%7),{y:ce,m:de,d:he,day:fe,time:ue.getTime(),formatedDate:ce+"-"+de+"-"+he,date:ue}},getNextNDay:function(ue,ce){return ce=ce||0,ce===0?this.getDateInfo(ue):(ue=new Date(this.getDateInfo(ue).time),ue.setDate(ue.getDate()+ce),this.getDateInfo(ue))},update:function(ue,ce){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var de=this._rangeInfo.weeks||1,he=["width","height"],fe=this._model.get("cellSize").slice(),pe=this._model.getBoxLayoutParams(),ve=this._orient==="horizontal"?[de,7]:[7,de];ee.each([0,1],function(_e){ye(fe,_e)&&(pe[he[_e]]=fe[_e]*ve[_e])});var ge={width:ce.getWidth(),height:ce.getHeight()},me=this._rect=te.getLayoutRect(pe,ge);ee.each([0,1],function(_e){ye(fe,_e)||(fe[_e]=me[he[_e]]/ve[_e])});function ye(_e,be){return _e[be]!=null&&_e[be]!=="auto"}this._sw=fe[0],this._sh=fe[1]},dataToPoint:function(ue,ce){ee.isArray(ue)&&(ue=ue[0]),ce==null&&(ce=!0);var de=this.getDateInfo(ue),he=this._rangeInfo,fe=de.formatedDate;if(ce&&!(de.time>=he.start.time&&de.time<he.end.time+ie))return[NaN,NaN];var pe=de.day,ve=this._getRangeInfo([he.start.time,fe]).nthWeek;return this._orient==="vertical"?[this._rect.x+pe*this._sw+this._sw/2,this._rect.y+ve*this._sh+this._sh/2]:[this._rect.x+ve*this._sw+this._sw/2,this._rect.y+pe*this._sh+this._sh/2]},pointToData:function(ue){var ce=this.pointToDate(ue);return ce&&ce.time},dataToRect:function(ue,ce){var de=this.dataToPoint(ue,ce);return{contentShape:{x:de[0]-(this._sw-this._lineWidth)/2,y:de[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:de,tl:[de[0]-this._sw/2,de[1]-this._sh/2],tr:[de[0]+this._sw/2,de[1]-this._sh/2],br:[de[0]+this._sw/2,de[1]+this._sh/2],bl:[de[0]-this._sw/2,de[1]+this._sh/2]}},pointToDate:function(ue){var ce=Math.floor((ue[0]-this._rect.x)/this._sw)+1,de=Math.floor((ue[1]-this._rect.y)/this._sh)+1,he=this._rangeInfo.range;return this._orient==="vertical"?this._getDateByWeeksAndDay(de,ce-1,he):this._getDateByWeeksAndDay(ce,de-1,he)},convertToPixel:ee.curry(se,"dataToPoint"),convertFromPixel:ee.curry(se,"pointToData"),_initRangeOption:function(){var ue=this._model.get("range"),ce=ue;if(ee.isArray(ce)&&ce.length===1&&(ce=ce[0]),/^\d{4}$/.test(ce)&&(ue=[ce+"-01-01",ce+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(ce)){var de=this.getDateInfo(ce),he=de.date;he.setMonth(he.getMonth()+1);var fe=this.getNextNDay(he,-1);ue=[de.formatedDate,fe.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(ce)&&(ue=[ce,ce]);var pe=this._getRangeInfo(ue);return pe.start.time>pe.end.time&&ue.reverse(),ue},_getRangeInfo:function(ue){ue=[this.getDateInfo(ue[0]),this.getDateInfo(ue[1])];var ce;ue[0].time>ue[1].time&&(ce=!0,ue.reverse());var de=Math.floor(ue[1].time/ie)-Math.floor(ue[0].time/ie)+1,he=new Date(ue[0].time),fe=he.getDate(),pe=ue[1].date.getDate();he.setDate(fe+de-1);var ve=he.getDate();if(ve!==pe)for(var ge=he.getTime()-ue[1].time>0?1:-1;(ve=he.getDate())!==pe&&(he.getTime()-ue[1].time)*ge>0;)de-=ge,he.setDate(ve-ge);var me=Math.floor((de+ue[0].day+6)/7),ye=ce?-me+1:me-1;return ce&&ue.reverse(),{range:[ue[0].formatedDate,ue[1].formatedDate],start:ue[0],end:ue[1],allDay:de,weeks:me,nthWeek:ye,fweek:ue[0].day,lweek:ue[1].day}},_getDateByWeeksAndDay:function(ue,ce,de){var he=this._getRangeInfo(de);if(ue>he.weeks||ue===0&&ce<he.fweek||ue===he.weeks&&ce>he.lweek)return!1;var fe=(ue-1)*7-he.fweek+ce,pe=new Date(he.start.time);return pe.setDate(he.start.d+fe),this.getDateInfo(pe)}},oe.dimensions=oe.prototype.dimensions,oe.getDimensionsInfo=oe.prototype.getDimensionsInfo,oe.create=function(ue,ce){var de=[];return ue.eachComponent("calendar",function(he){var fe=new oe(he);de.push(fe),he.coordinateSystem=fe}),ue.eachSeries(function(he){he.get("coordinateSystem")==="calendar"&&(he.coordinateSystem=de[he.get("calendarIndex")||0])}),de};function se(ue,ce,de,he){var fe=de.calendarModel,pe=de.seriesModel,ve=fe?fe.coordinateSystem:pe?pe.coordinateSystem:null;return ve===this?ve[ue](he):null}ne.register("calendar",oe);var le=oe;return Calendar_1=le,Calendar_1}var CalendarModel_1,hasRequiredCalendarModel;function requireCalendarModel(){if(hasRequiredCalendarModel)return CalendarModel_1;hasRequiredCalendarModel=1;var ee=util$a,te=Component$1,ae=layout$5,ne=ae.getLayoutParams,ie=ae.sizeCalculable,oe=ae.mergeLayoutParam,se=te.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(ce,de,he,fe){var pe=ne(ce);se.superApply(this,"init",arguments),le(ce,pe)},mergeOption:function(ce,de){se.superApply(this,"mergeOption",arguments),le(this.option,ce)}});function le(ce,de){var he=ce.cellSize;ee.isArray(he)?he.length===1&&(he[1]=he[0]):he=ce.cellSize=[he,he];var fe=ee.map([0,1],function(pe){return ie(de,pe)&&(he[pe]="auto"),he[pe]!=null&&he[pe]!=="auto"});oe(ce,de,{type:"box",ignoreSize:fe})}var ue=se;return CalendarModel_1=ue,CalendarModel_1}var CalendarView$2,hasRequiredCalendarView;function requireCalendarView(){if(hasRequiredCalendarView)return CalendarView$2;hasRequiredCalendarView=1;var ee=echarts$1,te=util$a,ae=graphic$6,ne=format$6,ie=requireNumber(),oe={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},se={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]},le=ee.extendComponentView({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(ue,ce,de){var he=this.group;he.removeAll();var fe=ue.coordinateSystem,pe=fe.getRangeInfo(),ve=fe.getOrient();this._renderDayRect(ue,pe,he),this._renderLines(ue,pe,ve,he),this._renderYearText(ue,pe,ve,he),this._renderMonthText(ue,ve,he),this._renderWeekText(ue,pe,ve,he)},_renderDayRect:function(ue,ce,de){for(var he=ue.coordinateSystem,fe=ue.getModel("itemStyle").getItemStyle(),pe=he.getCellWidth(),ve=he.getCellHeight(),ge=ce.start.time;ge<=ce.end.time;ge=he.getNextNDay(ge,1).time){var me=he.dataToRect([ge],!1).tl,ye=new ae.Rect({shape:{x:me[0],y:me[1],width:pe,height:ve},cursor:"default",style:fe});de.add(ye)}},_renderLines:function(ue,ce,de,he){var fe=this,pe=ue.coordinateSystem,ve=ue.getModel("splitLine.lineStyle").getLineStyle(),ge=ue.get("splitLine.show"),me=ve.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var ye=ce.start,_e=0;ye.time<=ce.end.time;_e++){xe(ye.formatedDate),_e===0&&(ye=pe.getDateInfo(ce.start.y+"-"+ce.start.m));var be=ye.date;be.setMonth(be.getMonth()+1),ye=pe.getDateInfo(be)}xe(pe.getNextNDay(ce.end.time,1).formatedDate);function xe($e){fe._firstDayOfMonth.push(pe.getDateInfo($e)),fe._firstDayPoints.push(pe.dataToRect([$e],!1).tl);var Se=fe._getLinePointsOfOneWeek(ue,$e,de);fe._tlpoints.push(Se[0]),fe._blpoints.push(Se[Se.length-1]),ge&&fe._drawSplitline(Se,ve,he)}ge&&this._drawSplitline(fe._getEdgesPoints(fe._tlpoints,me,de),ve,he),ge&&this._drawSplitline(fe._getEdgesPoints(fe._blpoints,me,de),ve,he)},_getEdgesPoints:function(ue,ce,de){var he=[ue[0].slice(),ue[ue.length-1].slice()],fe=de==="horizontal"?0:1;return he[0][fe]=he[0][fe]-ce/2,he[1][fe]=he[1][fe]+ce/2,he},_drawSplitline:function(ue,ce,de){var he=new ae.Polyline({z2:20,shape:{points:ue},style:ce});de.add(he)},_getLinePointsOfOneWeek:function(ue,ce,de){var he=ue.coordinateSystem;ce=he.getDateInfo(ce);for(var fe=[],pe=0;pe<7;pe++){var ve=he.getNextNDay(ce.time,pe),ge=he.dataToRect([ve.time],!1);fe[2*ve.day]=ge.tl,fe[2*ve.day+1]=ge[de==="horizontal"?"bl":"tr"]}return fe},_formatterLabel:function(ue,ce){return typeof ue=="string"&&ue?ne.formatTplSimple(ue,ce):typeof ue=="function"?ue(ce):ce.nameMap},_yearTextPositionControl:function(ue,ce,de,he,fe){ce=ce.slice();var pe=["center","bottom"];he==="bottom"?(ce[1]+=fe,pe=["center","top"]):he==="left"?ce[0]-=fe:he==="right"?(ce[0]+=fe,pe=["center","top"]):ce[1]-=fe;var ve=0;return(he==="left"||he==="right")&&(ve=Math.PI/2),{rotation:ve,position:ce,style:{textAlign:pe[0],textVerticalAlign:pe[1]}}},_renderYearText:function(ue,ce,de,he){var fe=ue.getModel("yearLabel");if(fe.get("show")){var pe=fe.get("margin"),ve=fe.get("position");ve||(ve=de!=="horizontal"?"top":"left");var ge=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],me=(ge[0][0]+ge[1][0])/2,ye=(ge[0][1]+ge[1][1])/2,_e=de==="horizontal"?0:1,be={top:[me,ge[_e][1]],bottom:[me,ge[1-_e][1]],left:[ge[1-_e][0],ye],right:[ge[_e][0],ye]},xe=ce.start.y;+ce.end.y>+ce.start.y&&(xe=xe+"-"+ce.end.y);var $e=fe.get("formatter"),Se={start:ce.start.y,end:ce.end.y,nameMap:xe},we=this._formatterLabel($e,Se),Ae=new ae.Text({z2:30});ae.setTextStyle(Ae.style,fe,{text:we}),Ae.attr(this._yearTextPositionControl(Ae,be[ve],de,ve,pe)),he.add(Ae)}},_monthTextPositionControl:function(ue,ce,de,he,fe){var pe="left",ve="top",ge=ue[0],me=ue[1];return de==="horizontal"?(me=me+fe,ce&&(pe="center"),he==="start"&&(ve="bottom")):(ge=ge+fe,ce&&(ve="middle"),he==="start"&&(pe="right")),{x:ge,y:me,textAlign:pe,textVerticalAlign:ve}},_renderMonthText:function(ue,ce,de){var he=ue.getModel("monthLabel");if(he.get("show")){var fe=he.get("nameMap"),pe=he.get("margin"),ve=he.get("position"),ge=he.get("align"),me=[this._tlpoints,this._blpoints];te.isString(fe)&&(fe=oe[fe.toUpperCase()]||[]);var ye=ve==="start"?0:1,_e=ce==="horizontal"?0:1;pe=ve==="start"?-pe:pe;for(var be=ge==="center",xe=0;xe<me[ye].length-1;xe++){var $e=me[ye][xe].slice(),Se=this._firstDayOfMonth[xe];if(be){var we=this._firstDayPoints[xe];$e[_e]=(we[_e]+me[0][xe+1][_e])/2}var Ae=he.get("formatter"),Te=fe[+Se.m-1],De={yyyy:Se.y,yy:(Se.y+"").slice(2),MM:Se.m,M:+Se.m,nameMap:Te},Me=this._formatterLabel(Ae,De),Ie=new ae.Text({z2:30});te.extend(ae.setTextStyle(Ie.style,he,{text:Me}),this._monthTextPositionControl($e,be,ce,ve,pe)),de.add(Ie)}}},_weekTextPositionControl:function(ue,ce,de,he,fe){var pe="center",ve="middle",ge=ue[0],me=ue[1],ye=de==="start";return ce==="horizontal"?(ge=ge+he+(ye?1:-1)*fe[0]/2,pe=ye?"right":"left"):(me=me+he+(ye?1:-1)*fe[1]/2,ve=ye?"bottom":"top"),{x:ge,y:me,textAlign:pe,textVerticalAlign:ve}},_renderWeekText:function(ue,ce,de,he){var fe=ue.getModel("dayLabel");if(fe.get("show")){var pe=ue.coordinateSystem,ve=fe.get("position"),ge=fe.get("nameMap"),me=fe.get("margin"),ye=pe.getFirstDayOfWeek();te.isString(ge)&&(ge=se[ge.toUpperCase()]||[]);var _e=pe.getNextNDay(ce.end.time,7-ce.lweek).time,be=[pe.getCellWidth(),pe.getCellHeight()];me=ie.parsePercent(me,be[de==="horizontal"?0:1]),ve==="start"&&(_e=pe.getNextNDay(ce.start.time,-(7+ce.fweek)).time,me=-me);for(var xe=0;xe<7;xe++){var $e=pe.getNextNDay(_e,xe),Se=pe.dataToRect([$e.time],!1).center,we=xe;we=Math.abs((xe+ye)%7);var Ae=new ae.Text({z2:30});te.extend(ae.setTextStyle(Ae.style,fe,{text:ge[we]}),this._weekTextPositionControl(Se,de,ve,me,be)),he.add(Ae)}}}});return CalendarView$2=le,CalendarView$2}var hasRequiredCalendar;function requireCalendar(){return hasRequiredCalendar||(hasRequiredCalendar=1,requireCalendar$1(),requireCalendarModel(),requireCalendarView()),calendar}var graphic$4={},hasRequiredGraphic$2;function requireGraphic$2(){if(hasRequiredGraphic$2)return graphic$4;hasRequiredGraphic$2=1;var ee=echarts$1,te=util$a,ae=model,ne=graphic$6,ie=layout$5,oe=requireNumber(),se=oe.parsePercent,le={path:null,compoundPath:null,group:ne.Group,image:ne.Image,text:ne.Text};ee.registerPreprocessor(function(ye){var _e=ye.graphic;te.isArray(_e)?!_e[0]||!_e[0].elements?ye.graphic=[{elements:_e}]:ye.graphic=[ye.graphic[0]]:_e&&!_e.elements&&(ye.graphic=[{elements:[_e]}])});var ue=ee.extendComponentModel({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(ye){var _e=this.option.elements;this.option.elements=null,ue.superApply(this,"mergeOption",arguments),this.option.elements=_e},optionUpdated:function(ye,_e){var be=this.option,xe=(_e?be:ye).elements,$e=be.elements=_e?[]:be.elements,Se=[];this._flatten(xe,Se);var we=ae.mappingToExists($e,Se);ae.makeIdAndName(we);var Ae=this._elOptionsToUpdate=[];te.each(we,function(De,Me){var Ie=De.option;Ie&&(Ae.push(Ie),pe(De,Ie),ve($e,Me,Ie),ge($e[Me],Ie))},this);for(var Te=$e.length-1;Te>=0;Te--)$e[Te]==null?$e.splice(Te,1):delete $e[Te].$action},_flatten:function(ye,_e,be){te.each(ye,function(xe){if(xe){be&&(xe.parentOption=be),_e.push(xe);var $e=xe.children;xe.type==="group"&&$e&&this._flatten($e,_e,xe),delete xe.children}},this)},useElOptionsToUpdate:function(){var ye=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,ye}});ee.extendComponentView({type:"graphic",init:function(ye,_e){this._elMap=te.createHashMap(),this._lastGraphicModel},render:function(ye,_e,be){ye!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=ye,this._updateElements(ye),this._relocate(ye,be)},_updateElements:function(ye){var _e=ye.useElOptionsToUpdate();if(_e){var be=this._elMap,xe=this.group;te.each(_e,function($e){var Se=$e.$action,we=$e.id,Ae=be.get(we),Te=$e.parentId,De=Te!=null?be.get(Te):xe,Me=$e.style;$e.type==="text"&&Me&&($e.hv&&$e.hv[1]&&(Me.textVerticalAlign=Me.textBaseline=null),!Me.hasOwnProperty("textFill")&&Me.fill&&(Me.textFill=Me.fill),!Me.hasOwnProperty("textStroke")&&Me.stroke&&(Me.textStroke=Me.stroke));var Ie=he($e);!Se||Se==="merge"?Ae?Ae.attr(Ie):ce(we,De,Ie,be):Se==="replace"?(de(Ae,be),ce(we,De,Ie,be)):Se==="remove"&&de(Ae,be);var Ce=be.get(we);Ce&&(Ce.__ecGraphicWidthOption=$e.width,Ce.__ecGraphicHeightOption=$e.height,me(Ce,ye))})}},_relocate:function(ye,_e){for(var be=ye.option.elements,xe=this.group,$e=this._elMap,Se=_e.getWidth(),we=_e.getHeight(),Ae=0;Ae<be.length;Ae++){var Te=be[Ae],De=$e.get(Te.id);if(!(!De||!De.isGroup)){var Me=De.parent,Ie=Me===xe;De.__ecGraphicWidth=se(De.__ecGraphicWidthOption,Ie?Se:Me.__ecGraphicWidth)||0,De.__ecGraphicHeight=se(De.__ecGraphicHeightOption,Ie?we:Me.__ecGraphicHeight)||0}}for(var Ae=be.length-1;Ae>=0;Ae--){var Te=be[Ae],De=$e.get(Te.id);if(De){var Me=De.parent,Ce=Me===xe?{width:Se,height:we}:{width:Me.__ecGraphicWidth,height:Me.__ecGraphicHeight};ie.positionElement(De,Te,Ce,null,{hv:Te.hv,boundingMode:Te.bounding})}}},_clear:function(){var ye=this._elMap;ye.each(function(_e){de(_e,ye)}),this._elMap=te.createHashMap()},dispose:function(){this._clear()}});function ce(ye,_e,be,xe){var $e=be.type,Se=le.hasOwnProperty($e)?le[$e]:ne.getShapeClass($e),we=new Se(be);_e.add(we),xe.set(ye,we),we.__ecGraphicId=ye}function de(ye,_e){var be=ye&&ye.parent;be&&(ye.type==="group"&&ye.traverse(function(xe){de(xe,_e)}),_e.removeKey(ye.__ecGraphicId),be.remove(ye))}function he(ye){return ye=te.extend({},ye),te.each(["id","parentId","$action","hv","bounding"].concat(ie.LOCATION_PARAMS),function(_e){delete ye[_e]}),ye}function fe(ye,_e){var be;return te.each(_e,function(xe){ye[xe]!=null&&ye[xe]!=="auto"&&(be=!0)}),be}function pe(ye,_e){var be=ye.exist;if(_e.id=ye.keyInfo.id,!_e.type&&be&&(_e.type=be.type),_e.parentId==null){var xe=_e.parentOption;xe?_e.parentId=xe.id:be&&(_e.parentId=be.parentId)}_e.parentOption=null}function ve(ye,_e,be){var xe=te.extend({},be),$e=ye[_e],Se=be.$action||"merge";Se==="merge"?$e?(te.merge($e,xe,!0),ie.mergeLayoutParam($e,xe,{ignoreSize:!0}),ie.copyLayoutParams(be,$e)):ye[_e]=xe:Se==="replace"?ye[_e]=xe:Se==="remove"&&$e&&(ye[_e]=null)}function ge(ye,_e){ye&&(ye.hv=_e.hv=[fe(_e,["left","right"]),fe(_e,["top","bottom"])],ye.type==="group"&&(ye.width==null&&(ye.width=_e.width=0),ye.height==null&&(ye.height=_e.height=0)))}function me(ye,_e,be){var xe=ye.eventData;!ye.silent&&!ye.ignore&&!xe&&(xe=ye.eventData={componentType:"graphic",componentIndex:_e.componentIndex,name:ye.name}),xe&&(xe.info=ye.info)}return graphic$4}var toolbox={},featureManager={},hasRequiredFeatureManager;function requireFeatureManager(){if(hasRequiredFeatureManager)return featureManager;hasRequiredFeatureManager=1;var ee={};function te(ne,ie){ee[ne]=ie}function ae(ne){return ee[ne]}return featureManager.register=te,featureManager.get=ae,featureManager}var ToolboxModel_1,hasRequiredToolboxModel;function requireToolboxModel(){if(hasRequiredToolboxModel)return ToolboxModel_1;hasRequiredToolboxModel=1;var ee=echarts$1,te=util$a,ae=requireFeatureManager(),ne=ee.extendComponentModel({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){ne.superApply(this,"optionUpdated",arguments),te.each(this.option.feature,function(oe,se){var le=ae.get(se);le&&te.merge(oe,le.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1}}}),ie=ne;return ToolboxModel_1=ie,ToolboxModel_1}var listComponent={},hasRequiredListComponent;function requireListComponent(){if(hasRequiredListComponent)return listComponent;hasRequiredListComponent=1;var ee=layout$5,te=ee.getLayoutRect,ae=ee.box,ne=ee.positionElement,ie=format$6,oe=graphic$6;function se(ue,ce,de){var he=ce.getBoxLayoutParams(),fe=ce.get("padding"),pe={width:de.getWidth(),height:de.getHeight()},ve=te(he,pe,fe);ae(ce.get("orient"),ue,ce.get("itemGap"),ve.width,ve.height),ne(ue,he,pe,fe)}function le(fe,ce){var de=ie.normalizeCssArray(ce.get("padding")),he=ce.getItemStyle(["color","opacity"]);he.fill=ce.get("backgroundColor");var fe=new oe.Rect({shape:{x:fe.x-de[3],y:fe.y-de[0],width:fe.width+de[1]+de[3],height:fe.height+de[0]+de[2],r:ce.get("borderRadius")},style:he,silent:!0,z2:-1});return fe}return listComponent.layout=se,listComponent.makeBackground=le,listComponent}var ToolboxView$2,hasRequiredToolboxView;function requireToolboxView(){if(hasRequiredToolboxView)return ToolboxView$2;hasRequiredToolboxView=1;var ee=echarts$1,te=util$a,ae=text,ne=requireFeatureManager(),ie=graphic$6,oe=Model_1,se=requireDataDiffer(),le=requireListComponent(),ue=ee.extendComponentView({type:"toolbox",render:function(de,he,fe,pe){var ve=this.group;if(ve.removeAll(),!de.get("show"))return;var ge=+de.get("itemSize"),me=de.get("feature")||{},ye=this._features||(this._features={}),_e=[];te.each(me,function($e,Se){_e.push(Se)}),new se(this._featureNames||[],_e).add(be).update(be).remove(te.curry(be,null)).execute(),this._featureNames=_e;function be($e,Se){var we=_e[$e],Ae=_e[Se],Te=me[we],De=new oe(Te,de,de.ecModel),Me;if(pe&&pe.newTitle!=null&&pe.featureName===we&&(Te.title=pe.newTitle),we&&!Ae){if(ce(we))Me={model:De,onclick:De.option.onclick,featureName:we};else{var Ie=ne.get(we);if(!Ie)return;Me=new Ie(De,he,fe)}ye[we]=Me}else{if(Me=ye[Ae],!Me)return;Me.model=De,Me.ecModel=he,Me.api=fe}if(!we&&Ae){Me.dispose&&Me.dispose(he,fe);return}if(!De.get("show")||Me.unusable){Me.remove&&Me.remove(he,fe);return}xe(De,Me,we),De.setIconStatus=function(Ce,Ee){var Re=this.option,ke=this.iconPaths;Re.iconStatus=Re.iconStatus||{},Re.iconStatus[Ce]=Ee,ke[Ce]&&ke[Ce].trigger(Ee)},Me.render&&Me.render(De,he,fe,pe)}function xe($e,Se,we){var Ae=$e.getModel("iconStyle"),Te=$e.getModel("emphasis.iconStyle"),De=Se.getIcons?Se.getIcons():$e.get("icon"),Me=$e.get("title")||{};if(typeof De=="string"){var Ie=De,Ce=Me;De={},Me={},De[we]=Ie,Me[we]=Ce}var Ee=$e.iconPaths={};te.each(De,function(Re,ke){var Be=ie.createIcon(Re,{},{x:-ge/2,y:-ge/2,width:ge,height:ge});Be.setStyle(Ae.getItemStyle()),Be.hoverStyle=Te.getItemStyle(),Be.setStyle({text:Me[ke],textAlign:Te.get("textAlign"),textBorderRadius:Te.get("textBorderRadius"),textPadding:Te.get("textPadding"),textFill:null});var Ne=de.getModel("tooltip");Ne&&Ne.get("show")&&Be.attr("tooltip",te.extend({content:Me[ke],formatter:Ne.get("formatter",!0)||function(){return Me[ke]},formatterParams:{componentType:"toolbox",name:ke,title:Me[ke],$vars:["name","title"]},position:Ne.get("position",!0)||"bottom"},Ne.option)),ie.setHoverStyle(Be),de.get("showTitle")&&(Be.__title=Me[ke],Be.on("mouseover",function(){var He=Te.getItemStyle(),qe=de.get("orient")==="vertical"?de.get("right")==null?"right":"left":de.get("bottom")==null?"bottom":"top";Be.setStyle({textFill:Te.get("textFill")||He.fill||He.stroke||"#000",textBackgroundColor:Te.get("textBackgroundColor"),textPosition:Te.get("textPosition")||qe})}).on("mouseout",function(){Be.setStyle({textFill:null,textBackgroundColor:null})})),Be.trigger($e.get("iconStatus."+ke)||"normal"),ve.add(Be),Be.on("click",te.bind(Se.onclick,Se,he,fe,ke)),Ee[ke]=Be})}le.layout(ve,de,fe),ve.add(le.makeBackground(ve.getBoundingRect(),de)),ve.eachChild(function($e){var Se=$e.__title,we=$e.hoverStyle;if(we&&Se){var Ae=ae.getBoundingRect(Se,ae.makeFont(we)),Te=$e.position[0]+ve.position[0],De=$e.position[1]+ve.position[1]+ge,Me=!1;De+Ae.height>fe.getHeight()&&(we.textPosition="top",Me=!0);var Ie=Me?-5-Ae.height:ge+8;Te+Ae.width/2>fe.getWidth()?(we.textPosition=["100%",Ie],we.textAlign="right"):Te-Ae.width/2<0&&(we.textPosition=[0,Ie],we.textAlign="left")}})},updateView:function(de,he,fe,pe){te.each(this._features,function(ve){ve.updateView&&ve.updateView(ve.model,he,fe,pe)})},remove:function(de,he){te.each(this._features,function(fe){fe.remove&&fe.remove(de,he)}),this.group.removeAll()},dispose:function(de,he){te.each(this._features,function(fe){fe.dispose&&fe.dispose(de,he)})}});function ce(de){return de.indexOf("my")===0}return ToolboxView$2=ue,ToolboxView$2}var SaveAsImage_1,hasRequiredSaveAsImage;function requireSaveAsImage(){if(hasRequiredSaveAsImage)return SaveAsImage_1;hasRequiredSaveAsImage=1;var ee=env_1,te=lang$2,ae=requireFeatureManager(),ne=te.toolbox.saveAsImage;function ie(le){this.model=le}ie.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:ne.title,type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:ne.lang.slice()},ie.prototype.unusable=!ee.canvasSupported;var oe=ie.prototype;oe.onclick=function(le,ue){var ce=this.model,de=ce.get("name")||le.get("title.0.text")||"echarts",he=ue.getZr().painter.getType()==="svg",fe=he?"svg":ce.get("type",!0)||"png",pe=ue.getConnectedDataURL({type:fe,backgroundColor:ce.get("backgroundColor",!0)||le.get("backgroundColor")||"#fff",connectedBackgroundColor:ce.get("connectedBackgroundColor"),excludeComponents:ce.get("excludeComponents"),pixelRatio:ce.get("pixelRatio")});if(typeof MouseEvent=="function"&&!ee.browser.ie&&!ee.browser.edge){var ve=document.createElement("a");ve.download=de+"."+fe,ve.target="_blank",ve.href=pe;var ge=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});ve.dispatchEvent(ge)}else if(window.navigator.msSaveOrOpenBlob){for(var me=atob(pe.split(",")[1]),ye=me.length,_e=new Uint8Array(ye);ye--;)_e[ye]=me.charCodeAt(ye);var be=new Blob([_e]);window.navigator.msSaveOrOpenBlob(be,de+"."+fe)}else{var xe=ce.get("lang"),$e='<body style="margin:0;"><img src="'+pe+'" style="max-width:100%;" title="'+(xe&&xe[0]||"")+'" /></body>',Se=window.open();Se.document.write($e)}},ae.register("saveAsImage",ie);var se=ie;return SaveAsImage_1=se,SaveAsImage_1}var MagicType_1,hasRequiredMagicType;function requireMagicType(){if(hasRequiredMagicType)return MagicType_1;hasRequiredMagicType=1;var ee=echarts$1,te=util$a,ae=lang$2,ne=requireFeatureManager(),ie=ae.toolbox.magicType,oe="__ec_magicType_stack__";function se(he){this.model=he}se.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:te.clone(ie.title),option:{},seriesIndex:{}};var le=se.prototype;le.getIcons=function(){var he=this.model,fe=he.get("icon"),pe={};return te.each(he.get("type"),function(ve){fe[ve]&&(pe[ve]=fe[ve])}),pe};var ue={line:function(he,fe,pe,ve){if(he==="bar")return te.merge({id:fe,type:"line",data:pe.get("data"),stack:pe.get("stack"),markPoint:pe.get("markPoint"),markLine:pe.get("markLine")},ve.get("option.line")||{},!0)},bar:function(he,fe,pe,ve){if(he==="line")return te.merge({id:fe,type:"bar",data:pe.get("data"),stack:pe.get("stack"),markPoint:pe.get("markPoint"),markLine:pe.get("markLine")},ve.get("option.bar")||{},!0)},stack:function(he,fe,pe,ve){var ge=pe.get("stack")===oe;if(he==="line"||he==="bar")return ve.setIconStatus("stack",ge?"normal":"emphasis"),te.merge({id:fe,stack:ge?"":oe},ve.get("option.stack")||{},!0)}},ce=[["line","bar"],["stack"]];le.onclick=function(he,fe,pe){var ve=this.model,ge=ve.get("seriesIndex."+pe);if(ue[pe]){var me={series:[]},ye=function(xe){var $e=xe.subType,Se=xe.id,we=ue[pe]($e,Se,xe,ve);we&&(te.defaults(we,xe.option),me.series.push(we));var Ae=xe.coordinateSystem;if(Ae&&Ae.type==="cartesian2d"&&(pe==="line"||pe==="bar")){var Te=Ae.getAxesByScale("ordinal")[0];if(Te){var De=Te.dim,Me=De+"Axis",Ie=he.queryComponents({mainType:Me,index:xe.get(name+"Index"),id:xe.get(name+"Id")})[0],Ce=Ie.componentIndex;me[Me]=me[Me]||[];for(var Ee=0;Ee<=Ce;Ee++)me[Me][Ce]=me[Me][Ce]||{};me[Me][Ce].boundaryGap=pe==="bar"}}};te.each(ce,function(xe){te.indexOf(xe,pe)>=0&&te.each(xe,function($e){ve.setIconStatus($e,"normal")})}),ve.setIconStatus(pe,"emphasis"),he.eachComponent({mainType:"series",query:ge==null?null:{seriesIndex:ge}},ye);var _e;if(pe==="stack"){var be=me.series&&me.series[0]&&me.series[0].stack===oe;_e=be?te.merge({stack:ie.title.tiled},ie.title):te.clone(ie.title)}fe.dispatchAction({type:"changeMagicType",currentType:pe,newOption:me,newTitle:_e,featureName:"magicType"})}},ee.registerAction({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(he,fe){fe.mergeOption(he.newOption)}),ne.register("magicType",se);var de=se;return MagicType_1=de,MagicType_1}var _DataView,hasRequired_DataView;function require_DataView(){if(hasRequired_DataView)return _DataView;hasRequired_DataView=1;var ee=echarts$1,te=util$a,ae=event$1,ne=lang$2,ie=requireFeatureManager(),oe=ne.toolbox.dataView,se=new Array(60).join("-"),le="	";function ue($e){var Se={},we=[],Ae=[];return $e.eachRawSeries(function(Te){var De=Te.coordinateSystem;if(De&&(De.type==="cartesian2d"||De.type==="polar")){var Me=De.getBaseAxis();if(Me.type==="category"){var Ie=Me.dim+"_"+Me.index;Se[Ie]||(Se[Ie]={categoryAxis:Me,valueAxis:De.getOtherAxis(Me),series:[]},Ae.push({axisDim:Me.dim,axisIndex:Me.index})),Se[Ie].series.push(Te)}else we.push(Te)}else we.push(Te)}),{seriesGroupByCategoryAxis:Se,other:we,meta:Ae}}function ce($e){var Se=[];return te.each($e,function(we,Ae){var Te=we.categoryAxis,De=we.valueAxis,Me=De.dim,Ie=[" "].concat(te.map(we.series,function(Ne){return Ne.name})),Ce=[Te.model.getCategories()];te.each(we.series,function(Ne){var He=Ne.getRawData();Ce.push(Ne.getRawData().mapArray(He.mapDimension(Me),function(qe){return qe}))});for(var Ee=[Ie.join(le)],Re=0;Re<Ce[0].length;Re++){for(var ke=[],Be=0;Be<Ce.length;Be++)ke.push(Ce[Be][Re]);Ee.push(ke.join(le))}Se.push(Ee.join(`
-`))}),Se.join(`
-
-`+se+`
-
-`)}function de($e){return te.map($e,function(Se){var we=Se.getRawData(),Ae=[Se.name],Te=[];return we.each(we.dimensions,function(){for(var De=arguments.length,Me=arguments[De-1],Ie=we.getName(Me),Ce=0;Ce<De-1;Ce++)Te[Ce]=arguments[Ce];Ae.push((Ie?Ie+le:"")+Te.join(le))}),Ae.join(`
-`)}).join(`
-
-`+se+`
-
-`)}function he($e){var Se=ue($e);return{value:te.filter([ce(Se.seriesGroupByCategoryAxis),de(Se.other)],function(we){return we.replace(/[\n\t\s]/g,"")}).join(`
-
-`+se+`
-
-`),meta:Se.meta}}function fe($e){return $e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function pe($e){var Se=$e.slice(0,$e.indexOf(`
-`));if(Se.indexOf(le)>=0)return!0}var ve=new RegExp("["+le+"]+","g");function ge($e){for(var Se=$e.split(/\n+/g),we=fe(Se.shift()).split(ve),Ae=[],Te=te.map(we,function(Ce){return{name:Ce,data:[]}}),De=0;De<Se.length;De++){var Me=fe(Se[De]).split(ve);Ae.push(Me.shift());for(var Ie=0;Ie<Me.length;Ie++)Te[Ie]&&(Te[Ie].data[De]=Me[Ie])}return{series:Te,categories:Ae}}function me($e){for(var Se=$e.split(/\n+/g),we=fe(Se.shift()),Ae=[],Te=0;Te<Se.length;Te++){var De=fe(Se[Te]);if(De){var Me=De.split(ve),Ie="",Ce,Ee=!1;isNaN(Me[0])?(Ee=!0,Ie=Me[0],Me=Me.slice(1),Ae[Te]={name:Ie,value:[]},Ce=Ae[Te].value):Ce=Ae[Te]=[];for(var Re=0;Re<Me.length;Re++)Ce.push(+Me[Re]);Ce.length===1&&(Ee?Ae[Te].value=Ce[0]:Ae[Te]=Ce[0])}}return{name:we,data:Ae}}function ye($e,Se){var we=$e.split(new RegExp(`
-*`+se+`
-*`,"g")),Ae={series:[]};return te.each(we,function(Te,De){if(pe(Te)){var Me=ge(Te),Ie=Se[De],Ce=Ie.axisDim+"Axis";Ie&&(Ae[Ce]=Ae[Ce]||[],Ae[Ce][Ie.axisIndex]={data:Me.categories},Ae.series=Ae.series.concat(Me.series))}else{var Me=me(Te);Ae.series.push(Me)}}),Ae}function _e($e){this._dom=null,this.model=$e}_e.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:te.clone(oe.title),lang:te.clone(oe.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},_e.prototype.onclick=function($e,Se){var we=Se.getDom(),Ae=this.model;this._dom&&we.removeChild(this._dom);var Te=document.createElement("div");Te.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",Te.style.backgroundColor=Ae.get("backgroundColor")||"#fff";var De=document.createElement("h4"),Me=Ae.get("lang")||[];De.innerHTML=Me[0]||Ae.get("title"),De.style.cssText="margin: 10px 20px;",De.style.color=Ae.get("textColor");var Ie=document.createElement("div"),Ce=document.createElement("textarea");Ie.style.cssText="display:block;width:100%;overflow:auto;";var Ee=Ae.get("optionToContent"),Re=Ae.get("contentToOption"),ke=he($e);if(typeof Ee=="function"){var Be=Ee(Se.getOption());typeof Be=="string"?Ie.innerHTML=Be:te.isDom(Be)&&Ie.appendChild(Be)}else Ie.appendChild(Ce),Ce.readOnly=Ae.get("readOnly"),Ce.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",Ce.style.color=Ae.get("textColor"),Ce.style.borderColor=Ae.get("textareaBorderColor"),Ce.style.backgroundColor=Ae.get("textareaColor"),Ce.value=ke.value;var Ne=ke.meta,He=document.createElement("div");He.style.cssText="position:absolute;bottom:0;left:0;right:0;";var qe="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",Oe=document.createElement("div"),ze=document.createElement("div");qe+=";background-color:"+Ae.get("buttonColor"),qe+=";color:"+Ae.get("buttonTextColor");var Ve=this;function Ge(){we.removeChild(Te),Ve._dom=null}ae.addEventListener(Oe,"click",Ge),ae.addEventListener(ze,"click",function(){var We;try{typeof Re=="function"?We=Re(Ie,Se.getOption()):We=ye(Ce.value,Ne)}catch(Ue){throw Ge(),new Error("Data view format error "+Ue)}We&&Se.dispatchAction({type:"changeDataView",newOption:We}),Ge()}),Oe.innerHTML=Me[1],ze.innerHTML=Me[2],ze.style.cssText=qe,Oe.style.cssText=qe,!Ae.get("readOnly")&&He.appendChild(ze),He.appendChild(Oe),Te.appendChild(De),Te.appendChild(Ie),Te.appendChild(He),Ie.style.height=we.clientHeight-80+"px",we.appendChild(Te),this._dom=Te},_e.prototype.remove=function($e,Se){this._dom&&Se.getDom().removeChild(this._dom)},_e.prototype.dispose=function($e,Se){this.remove($e,Se)};function be($e,Se){return te.map($e,function(we,Ae){var Te=Se&&Se[Ae];if(te.isObject(Te)&&!te.isArray(Te)){var De=te.isObject(we)&&!te.isArray(we);De||(we={value:we});var Me=Te.name!=null&&we.name==null;return we=te.defaults(we,Te),Me&&delete we.name,we}else return we})}ie.register("dataView",_e),ee.registerAction({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function($e,Se){var we=[];te.each($e.newOption.series,function(Ae){var Te=Se.getSeriesByName(Ae.name)[0];if(!Te)we.push(te.extend({type:"scatter"},Ae));else{var De=Te.get("data");we.push({name:Ae.name,data:be(Ae.data,De)})}}),Se.mergeOption(te.defaults({series:we},$e.newOption))});var xe=_e;return _DataView=xe,_DataView}var BrushTargetManager_1,hasRequiredBrushTargetManager;function requireBrushTargetManager(){if(hasRequiredBrushTargetManager)return BrushTargetManager_1;hasRequiredBrushTargetManager=1;var ee=util$a,te=graphic$6,ae=model,ne=requireBrushHelper(),ie=ee.each,oe=ee.indexOf,se=ee.curry,le=["dataToPoint","pointToData"],ue=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"];function ce(we,Ae,Te){var De=this._targetInfoList=[],Me={},Ie=fe(Ae,we);ie(pe,function(Ce,Ee){(!Te||!Te.include||oe(Te.include,Ee)>=0)&&Ce(Ie,De,Me)})}var de=ce.prototype;de.setOutputRanges=function(we,Ae){this.matchOutputRanges(we,Ae,function(Te,De,Me){if((Te.coordRanges||(Te.coordRanges=[])).push(De),!Te.coordRange){Te.coordRange=De;var Ie=me[Te.brushType](0,Me,De);Te.__rangeOffset={offset:_e[Te.brushType](Ie.values,Te.range,[1,1]),xyMinMax:Ie.xyMinMax}}})},de.matchOutputRanges=function(we,Ae,Te){ie(we,function(De){var Me=this.findTargetInfo(De,Ae);Me&&Me!==!0&&ee.each(Me.coordSyses,function(Ie){var Ce=me[De.brushType](1,Ie,De.range);Te(De,Ce.values,Ie,Ae)})},this)},de.setInputRanges=function(we,Ae){ie(we,function(Te){var De=this.findTargetInfo(Te,Ae);if(Te.range=Te.range||[],De&&De!==!0){Te.panelId=De.panelId;var Me=me[Te.brushType](0,De.coordSys,Te.coordRange),Ie=Te.__rangeOffset;Te.range=Ie?_e[Te.brushType](Me.values,Ie.offset,xe(Me.xyMinMax,Ie.xyMinMax)):Me.values}},this)},de.makePanelOpts=function(we,Ae){return ee.map(this._targetInfoList,function(Te){var De=Te.getPanelRect();return{panelId:Te.panelId,defaultBrushType:Ae&&Ae(Te),clipPath:ne.makeRectPanelClipPath(De),isTargetByCursor:ne.makeRectIsTargetByCursor(De,we,Te.coordSysModel),getLinearBrushOtherExtent:ne.makeLinearBrushOtherExtent(De)}})},de.controlSeries=function(we,Ae,Te){var De=this.findTargetInfo(we,Te);return De===!0||De&&oe(De.coordSyses,Ae.coordinateSystem)>=0},de.findTargetInfo=function(we,Ae){for(var Te=this._targetInfoList,De=fe(Ae,we),Me=0;Me<Te.length;Me++){var Ie=Te[Me],Ce=we.panelId;if(Ce){if(Ie.panelId===Ce)return Ie}else for(var Me=0;Me<ve.length;Me++)if(ve[Me](De,Ie))return Ie}return!0};function he(we){return we[0]>we[1]&&we.reverse(),we}function fe(we,Ae){return ae.parseFinder(we,Ae,{includeMainTypes:ue})}var pe={grid:function(we,Ae){var Te=we.xAxisModels,De=we.yAxisModels,Me=we.gridModels,Ie=ee.createHashMap(),Ce={},Ee={};!Te&&!De&&!Me||(ie(Te,function(Re){var ke=Re.axis.grid.model;Ie.set(ke.id,ke),Ce[ke.id]=!0}),ie(De,function(Re){var ke=Re.axis.grid.model;Ie.set(ke.id,ke),Ee[ke.id]=!0}),ie(Me,function(Re){Ie.set(Re.id,Re),Ce[Re.id]=!0,Ee[Re.id]=!0}),Ie.each(function(Re){var ke=Re.coordinateSystem,Be=[];ie(ke.getCartesians(),function(Ne,He){(oe(Te,Ne.getAxis("x").model)>=0||oe(De,Ne.getAxis("y").model)>=0)&&Be.push(Ne)}),Ae.push({panelId:"grid--"+Re.id,gridModel:Re,coordSysModel:Re,coordSys:Be[0],coordSyses:Be,getPanelRect:ge.grid,xAxisDeclared:Ce[Re.id],yAxisDeclared:Ee[Re.id]})}))},geo:function(we,Ae){ie(we.geoModels,function(Te){var De=Te.coordinateSystem;Ae.push({panelId:"geo--"+Te.id,geoModel:Te,coordSysModel:Te,coordSys:De,coordSyses:[De],getPanelRect:ge.geo})})}},ve=[function(we,Ae){var Te=we.xAxisModel,De=we.yAxisModel,Me=we.gridModel;return!Me&&Te&&(Me=Te.axis.grid.model),!Me&&De&&(Me=De.axis.grid.model),Me&&Me===Ae.gridModel},function(we,Ae){var Te=we.geoModel;return Te&&Te===Ae.geoModel}],ge={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var we=this.coordSys,Ae=we.getBoundingRect().clone();return Ae.applyTransform(te.getTransform(we)),Ae}},me={lineX:se(ye,0),lineY:se(ye,1),rect:function(we,Ae,Te){var De=Ae[le[we]]([Te[0][0],Te[1][0]]),Me=Ae[le[we]]([Te[0][1],Te[1][1]]),Ie=[he([De[0],Me[0]]),he([De[1],Me[1]])];return{values:Ie,xyMinMax:Ie}},polygon:function(we,Ae,Te){var De=[[1/0,-1/0],[1/0,-1/0]],Me=ee.map(Te,function(Ie){var Ce=Ae[le[we]](Ie);return De[0][0]=Math.min(De[0][0],Ce[0]),De[1][0]=Math.min(De[1][0],Ce[1]),De[0][1]=Math.max(De[0][1],Ce[0]),De[1][1]=Math.max(De[1][1],Ce[1]),Ce});return{values:Me,xyMinMax:De}}};function ye(we,Ae,Te,De){var Me=Te.getAxis(["x","y"][we]),Ie=he(ee.map([0,1],function(Ee){return Ae?Me.coordToData(Me.toLocalCoord(De[Ee])):Me.toGlobalCoord(Me.dataToCoord(De[Ee]))})),Ce=[];return Ce[we]=Ie,Ce[1-we]=[NaN,NaN],{values:Ie,xyMinMax:Ce}}var _e={lineX:se(be,0),lineY:se(be,1),rect:function(we,Ae,Te){return[[we[0][0]-Te[0]*Ae[0][0],we[0][1]-Te[0]*Ae[0][1]],[we[1][0]-Te[1]*Ae[1][0],we[1][1]-Te[1]*Ae[1][1]]]},polygon:function(we,Ae,Te){return ee.map(we,function(De,Me){return[De[0]-Te[0]*Ae[Me][0],De[1]-Te[1]*Ae[Me][1]]})}};function be(we,Ae,Te,De){return[Ae[0]-De[we]*Te[0],Ae[1]-De[we]*Te[1]]}function xe(we,Ae){var Te=$e(we),De=$e(Ae),Me=[Te[0]/De[0],Te[1]/De[1]];return isNaN(Me[0])&&(Me[0]=1),isNaN(Me[1])&&(Me[1]=1),Me}function $e(we){return we?[we[0][1]-we[0][0],we[1][1]-we[1][0]]:[NaN,NaN]}var Se=ce;return BrushTargetManager_1=Se,BrushTargetManager_1}var history={},hasRequiredHistory;function requireHistory(){if(hasRequiredHistory)return history;hasRequiredHistory=1;var ee=util$a,te=ee.each,ae="\0_ec_hist_store";function ne(ue,ce){var de=le(ue);te(ce,function(he,fe){for(var pe=de.length-1;pe>=0;pe--){var ve=de[pe];if(ve[fe])break}if(pe<0){var ge=ue.queryComponents({mainType:"dataZoom",subType:"select",id:fe})[0];if(ge){var me=ge.getPercentRange();de[0][fe]={dataZoomId:fe,start:me[0],end:me[1]}}}}),de.push(ce)}function ie(ue){var ce=le(ue),de=ce[ce.length-1];ce.length>1&&ce.pop();var he={};return te(de,function(fe,pe){for(var ve=ce.length-1;ve>=0;ve--){var fe=ce[ve][pe];if(fe){he[pe]=fe;break}}}),he}function oe(ue){ue[ae]=null}function se(ue){return le(ue).length}function le(ue){var ce=ue[ae];return ce||(ce=ue[ae]=[{}]),ce}return history.push=ne,history.pop=ie,history.clear=oe,history.count=se,history}var dataZoomSelect={},typeDefaulter$2={},hasRequiredTypeDefaulter$2;function requireTypeDefaulter$2(){if(hasRequiredTypeDefaulter$2)return typeDefaulter$2;hasRequiredTypeDefaulter$2=1;var ee=Component$1;return ee.registerSubTypeDefaulter("dataZoom",function(){return"slider"}),typeDefaulter$2}var helper$2={},hasRequiredHelper$1;function requireHelper$1(){if(hasRequiredHelper$1)return helper$2;hasRequiredHelper$1=1;var ee=util$a,te=format$6,ae=["x","y","z","radius","angle","single"],ne=["cartesian2d","polar","singleAxis"];function ie(ue){return ee.indexOf(ne,ue)>=0}function oe(ue,ce){ue=ue.slice();var de=ee.map(ue,te.capitalFirst);ce=(ce||[]).slice();var he=ee.map(ce,te.capitalFirst);return function(fe,pe){ee.each(ue,function(ve,ge){for(var me={name:ve,capital:de[ge]},ye=0;ye<ce.length;ye++)me[ce[ye]]=ve+he[ye];fe.call(pe,me)})}}var se=oe(ae,["axisIndex","axis","index","id"]);function le(ue,ce,de){return function(ve){var ge={nodes:[],records:{}};if(ce(function(_e){ge.records[_e.name]={}}),!ve)return ge;pe(ve,ge);var me;do me=!1,ue(ye);while(me);function ye(_e){!he(_e,ge)&&fe(_e,ge)&&(pe(_e,ge),me=!0)}return ge};function he(ve,ge){return ee.indexOf(ge.nodes,ve)>=0}function fe(ve,ge){var me=!1;return ce(function(ye){ee.each(de(ve,ye)||[],function(_e){ge.records[ye.name][_e]&&(me=!0)})}),me}function pe(ve,ge){ge.nodes.push(ve),ce(function(me){ee.each(de(ve,me)||[],function(ye){ge.records[me.name][ye]=!0})})}}return helper$2.isCoordSupported=ie,helper$2.createNameEach=oe,helper$2.eachAxisDim=se,helper$2.createLinkedNodesFinder=le,helper$2}var AxisProxy_1,hasRequiredAxisProxy;function requireAxisProxy(){if(hasRequiredAxisProxy)return AxisProxy_1;hasRequiredAxisProxy=1;var ee=util$a,te=requireNumber(),ae=requireHelper$1(),ne=requireSliderMove(),ie=ee.each,oe=te.asc,se=function(fe,pe,ve,ge){this._dimName=fe,this._axisIndex=pe,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=ge,this._dataZoomModel=ve};se.prototype={constructor:se,hostedBy:function(fe){return this._dataZoomModel===fe},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var fe=[],pe=this.ecModel;return pe.eachSeries(function(ve){if(ae.isCoordSupported(ve.get("coordinateSystem"))){var ge=this._dimName,me=pe.queryComponents({mainType:ge+"Axis",index:ve.get(ge+"AxisIndex"),id:ve.get(ge+"AxisId")})[0];this._axisIndex===(me&&me.componentIndex)&&fe.push(ve)}},this),fe},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var fe=this._dimName,pe=this.ecModel,ve=this.getAxisModel(),ge=fe==="x"||fe==="y",me,ye;ge?(ye="gridIndex",me=fe==="x"?"y":"x"):(ye="polarIndex",me=fe==="angle"?"radius":"angle");var _e;return pe.eachComponent(me+"Axis",function(be){(be.get(ye)||0)===(ve.get(ye)||0)&&(_e=be)}),_e},getMinMaxSpan:function(){return ee.clone(this._minMaxSpan)},calculateDataWindow:function(fe){var pe=this._dataExtent,ve=this.getAxisModel(),ge=ve.axis.scale,me=this._dataZoomModel.getRangePropMode(),ye=[0,100],_e=[],be=[],xe;ie(["start","end"],function(we,Ae){var Te=fe[we],De=fe[we+"Value"];me[Ae]==="percent"?(Te==null&&(Te=ye[Ae]),De=ge.parse(te.linearMap(Te,ye,pe))):(xe=!0,De=De==null?pe[Ae]:ge.parse(De),Te=te.linearMap(De,pe,ye)),be[Ae]=De,_e[Ae]=Te}),oe(be),oe(_e);var $e=this._minMaxSpan;xe?Se(be,_e,pe,ye,!1):Se(_e,be,ye,pe,!0);function Se(we,Ae,Te,De,Me){var Ie=Me?"Span":"ValueSpan";ne(0,we,Te,"all",$e["min"+Ie],$e["max"+Ie]);for(var Ce=0;Ce<2;Ce++)Ae[Ce]=te.linearMap(we[Ce],Te,De,!0),Me&&(Ae[Ce]=ge.parse(Ae[Ce]))}return{valueWindow:be,percentWindow:_e}},reset:function(fe){if(fe===this._dataZoomModel){var pe=this.getTargetSeriesModels();this._dataExtent=le(this,this._dimName,pe),de(this);var ve=this.calculateDataWindow(fe.settledOption);this._valueWindow=ve.valueWindow,this._percentWindow=ve.percentWindow,ce(this)}},restore:function(fe){fe===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,ce(this,!0))},filterData:function(fe,pe){if(fe!==this._dataZoomModel)return;var ve=this._dimName,ge=this.getTargetSeriesModels(),me=fe.get("filterMode"),ye=this._valueWindow;if(me==="none")return;ie(ge,function(be){var xe=be.getData(),$e=xe.mapDimension(ve,!0);$e.length&&(me==="weakFilter"?xe.filterSelf(function(Se){for(var we,Ae,Te,De=0;De<$e.length;De++){var Me=xe.get($e[De],Se),Ie=!isNaN(Me),Ce=Me<ye[0],Ee=Me>ye[1];if(Ie&&!Ce&&!Ee)return!0;Ie&&(Te=!0),Ce&&(we=!0),Ee&&(Ae=!0)}return Te&&we&&Ae}):ie($e,function(Se){if(me==="empty")be.setData(xe=xe.map(Se,function(Ae){return _e(Ae)?Ae:NaN}));else{var we={};we[Se]=ye,xe.selectRange(we)}}),ie($e,function(Se){xe.setApproximateExtent(ye,Se)}))});function _e(be){return be>=ye[0]&&be<=ye[1]}}};function le(fe,pe,ve){var ge=[1/0,-1/0];return ie(ve,function(me){var ye=me.getData();ye&&ie(ye.mapDimension(pe,!0),function(_e){var be=ye.getApproximateExtent(_e);be[0]<ge[0]&&(ge[0]=be[0]),be[1]>ge[1]&&(ge[1]=be[1])})}),ge[1]<ge[0]&&(ge=[NaN,NaN]),ue(fe,ge),ge}function ue(fe,pe){var ve=fe.getAxisModel(),ge=ve.getMin(!0),me=ve.get("type")==="category",ye=me&&ve.getCategories().length;ge!=null&&ge!=="dataMin"&&typeof ge!="function"?pe[0]=ge:me&&(pe[0]=ye>0?0:NaN);var _e=ve.getMax(!0);return _e!=null&&_e!=="dataMax"&&typeof _e!="function"?pe[1]=_e:me&&(pe[1]=ye>0?ye-1:NaN),ve.get("scale",!0)||(pe[0]>0&&(pe[0]=0),pe[1]<0&&(pe[1]=0)),pe}function ce(fe,pe){var ve=fe.getAxisModel(),ge=fe._percentWindow,me=fe._valueWindow;if(ge){var ye=te.getPixelPrecision(me,[0,500]);ye=Math.min(ye,20);var _e=pe||ge[0]===0&&ge[1]===100;ve.setRange(_e?null:+me[0].toFixed(ye),_e?null:+me[1].toFixed(ye))}}function de(fe){var pe=fe._minMaxSpan={},ve=fe._dataZoomModel,ge=fe._dataExtent;ie(["min","max"],function(me){var ye=ve.get(me+"Span"),_e=ve.get(me+"ValueSpan");_e!=null&&(_e=fe.getAxisModel().axis.scale.parse(_e)),_e!=null?ye=te.linearMap(ge[0]+_e,ge,[0,100],!0):ye!=null&&(_e=te.linearMap(ye,[0,100],ge,!0)-ge[0]),pe[me+"Span"]=ye,pe[me+"ValueSpan"]=_e})}var he=se;return AxisProxy_1=he,AxisProxy_1}var DataZoomModel_1,hasRequiredDataZoomModel;function requireDataZoomModel(){if(hasRequiredDataZoomModel)return DataZoomModel_1;hasRequiredDataZoomModel=1;var ee=echarts$1,te=util$a,ae=env_1,ne=model,ie=requireHelper$1(),oe=requireAxisProxy(),se=te.each,le=ie.eachAxisDim,ue=ee.extendComponentModel({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(fe,pe,ve){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var ge=ce(fe);this.settledOption=ge,this.mergeDefaultAndTheme(fe,ve),this.doInit(ge)},mergeOption:function(fe){var pe=ce(fe);te.merge(this.option,fe,!0),te.merge(this.settledOption,pe,!0),this.doInit(pe)},doInit:function(fe){var pe=this.option;ae.canvasSupported||(pe.realtime=!1),this._setDefaultThrottle(fe),de(this,fe);var ve=this.settledOption;se([["start","startValue"],["end","endValue"]],function(ge,me){this._rangePropMode[me]==="value"&&(pe[ge[0]]=ve[ge[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var fe=this._axisProxies;this.eachTargetAxis(function(pe,ve,ge,me){var ye=this.dependentModels[pe.axis][ve],_e=ye.__dzAxisProxy||(ye.__dzAxisProxy=new oe(pe.name,ve,this,me));fe[pe.name+"_"+ve]=_e},this)},_resetTarget:function(){var fe=this.option,pe=this._judgeAutoMode();le(function(ve){var ge=ve.axisIndex;fe[ge]=ne.normalizeToArray(fe[ge])},this),pe==="axisIndex"?this._autoSetAxisIndex():pe==="orient"&&this._autoSetOrient()},_judgeAutoMode:function(){var fe=this.option,pe=!1;le(function(ge){fe[ge.axisIndex]!=null&&(pe=!0)},this);var ve=fe.orient;if(ve==null&&pe)return"orient";if(!pe)return ve==null&&(fe.orient="horizontal"),"axisIndex"},_autoSetAxisIndex:function(){var fe=!0,pe=this.get("orient",!0),ve=this.option,ge=this.dependentModels;if(fe){var me=pe==="vertical"?"y":"x";ge[me+"Axis"].length?(ve[me+"AxisIndex"]=[0],fe=!1):se(ge.singleAxis,function(ye){fe&&ye.get("orient",!0)===pe&&(ve.singleAxisIndex=[ye.componentIndex],fe=!1)})}fe&&le(function(ye){if(fe){var _e=[],be=this.dependentModels[ye.axis];if(be.length&&!_e.length)for(var xe=0,$e=be.length;xe<$e;xe++)be[xe].get("type")==="category"&&_e.push(xe);ve[ye.axisIndex]=_e,_e.length&&(fe=!1)}},this),fe&&this.ecModel.eachSeries(function(ye){this._isSeriesHasAllAxesTypeOf(ye,"value")&&le(function(_e){var be=ve[_e.axisIndex],xe=ye.get(_e.axisIndex),$e=ye.get(_e.axisId),Se=ye.ecModel.queryComponents({mainType:_e.axis,index:xe,id:$e})[0];xe=Se.componentIndex,te.indexOf(be,xe)<0&&be.push(xe)})},this)},_autoSetOrient:function(){var fe;this.eachTargetAxis(function(pe){!fe&&(fe=pe.name)},this),this.option.orient=fe==="y"?"vertical":"horizontal"},_isSeriesHasAllAxesTypeOf:function(fe,pe){var ve=!0;return le(function(ge){var me=fe.get(ge.axisIndex),ye=this.dependentModels[ge.axis][me];(!ye||ye.get("type")!==pe)&&(ve=!1)},this),ve},_setDefaultThrottle:function(fe){if(fe.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var pe=this.ecModel.option;this.option.throttle=pe.animation&&pe.animationDurationUpdate>0?100:20}},getFirstTargetAxisModel:function(){var fe;return le(function(pe){if(fe==null){var ve=this.get(pe.axisIndex);ve.length&&(fe=this.dependentModels[pe.axis][ve[0]])}},this),fe},eachTargetAxis:function(fe,pe){var ve=this.ecModel;le(function(ge){se(this.get(ge.axisIndex),function(me){fe.call(pe,ge,me,this,ve)},this)},this)},getAxisProxy:function(fe,pe){return this._axisProxies[fe+"_"+pe]},getAxisModel:function(fe,pe){var ve=this.getAxisProxy(fe,pe);return ve&&ve.getAxisModel()},setRawRange:function(fe){var pe=this.option,ve=this.settledOption;se([["start","startValue"],["end","endValue"]],function(ge){(fe[ge[0]]!=null||fe[ge[1]]!=null)&&(pe[ge[0]]=ve[ge[0]]=fe[ge[0]],pe[ge[1]]=ve[ge[1]]=fe[ge[1]])},this),de(this,fe)},setCalculatedRange:function(fe){var pe=this.option;se(["start","startValue","end","endValue"],function(ve){pe[ve]=fe[ve]})},getPercentRange:function(){var fe=this.findRepresentativeAxisProxy();if(fe)return fe.getDataPercentWindow()},getValueRange:function(fe,pe){if(fe==null&&pe==null){var ve=this.findRepresentativeAxisProxy();if(ve)return ve.getDataValueWindow()}else return this.getAxisProxy(fe,pe).getDataValueWindow()},findRepresentativeAxisProxy:function(fe){if(fe)return fe.__dzAxisProxy;var pe=this._axisProxies;for(var ve in pe)if(pe.hasOwnProperty(ve)&&pe[ve].hostedBy(this))return pe[ve];for(var ve in pe)if(pe.hasOwnProperty(ve)&&!pe[ve].hostedBy(this))return pe[ve]},getRangePropMode:function(){return this._rangePropMode.slice()}});function ce(fe){var pe={};return se(["start","end","startValue","endValue","throttle"],function(ve){fe.hasOwnProperty(ve)&&(pe[ve]=fe[ve])}),pe}function de(fe,pe){var ve=fe._rangePropMode,ge=fe.get("rangeMode");se([["start","startValue"],["end","endValue"]],function(me,ye){var _e=pe[me[0]]!=null,be=pe[me[1]]!=null;_e&&!be?ve[ye]="percent":!_e&&be?ve[ye]="value":ge?ve[ye]=ge[ye]:_e&&(ve[ye]="percent")})}var he=ue;return DataZoomModel_1=he,DataZoomModel_1}var DataZoomView$2,hasRequiredDataZoomView;function requireDataZoomView(){if(hasRequiredDataZoomView)return DataZoomView$2;hasRequiredDataZoomView=1;var ee=Component_1,te=ee.extend({type:"dataZoom",render:function(ae,ne,ie,oe){this.dataZoomModel=ae,this.ecModel=ne,this.api=ie},getTargetCoordInfo:function(){var ae=this.dataZoomModel,ne=this.ecModel,ie={};ae.eachTargetAxis(function(se,le){var ue=ne.getComponent(se.axis,le);if(ue){var ce=ue.getCoordSysModel();ce&&oe(ce,ue,ie[ce.mainType]||(ie[ce.mainType]=[]),ce.componentIndex)}},this);function oe(se,le,ue,ce){for(var de,he=0;he<ue.length;he++)if(ue[he].model===se){de=ue[he];break}de||ue.push(de={model:se,axisModels:[],coordIndex:ce}),de.axisModels.push(le)}return ie}});return DataZoomView$2=te,DataZoomView$2}var SelectZoomModel$1,hasRequiredSelectZoomModel;function requireSelectZoomModel(){if(hasRequiredSelectZoomModel)return SelectZoomModel$1;hasRequiredSelectZoomModel=1;var ee=requireDataZoomModel(),te=ee.extend({type:"dataZoom.select"});return SelectZoomModel$1=te,SelectZoomModel$1}var SelectZoomView$1,hasRequiredSelectZoomView;function requireSelectZoomView(){if(hasRequiredSelectZoomView)return SelectZoomView$1;hasRequiredSelectZoomView=1;var ee=requireDataZoomView(),te=ee.extend({type:"dataZoom.select"});return SelectZoomView$1=te,SelectZoomView$1}var dataZoomProcessor$2={},hasRequiredDataZoomProcessor;function requireDataZoomProcessor(){if(hasRequiredDataZoomProcessor)return dataZoomProcessor$2;hasRequiredDataZoomProcessor=1;var ee=echarts$1,te=util$a,ae=te.createHashMap,ne=te.each;return ee.registerProcessor({getTargetSeries:function(ie){var oe=ae();return ie.eachComponent("dataZoom",function(se){se.eachTargetAxis(function(le,ue,ce){var de=ce.getAxisProxy(le.name,ue);ne(de.getTargetSeriesModels(),function(he){oe.set(he.uid,he)})})}),oe},modifyOutputEnd:!0,overallReset:function(ie,oe){ie.eachComponent("dataZoom",function(se){se.eachTargetAxis(function(le,ue,ce){ce.getAxisProxy(le.name,ue).reset(ce,oe)}),se.eachTargetAxis(function(le,ue,ce){ce.getAxisProxy(le.name,ue).filterData(ce,oe)})}),ie.eachComponent("dataZoom",function(se){var le=se.findRepresentativeAxisProxy(),ue=le.getDataPercentWindow(),ce=le.getDataValueWindow();se.setCalculatedRange({start:ue[0],end:ue[1],startValue:ce[0],endValue:ce[1]})})}}),dataZoomProcessor$2}var dataZoomAction={},hasRequiredDataZoomAction;function requireDataZoomAction(){if(hasRequiredDataZoomAction)return dataZoomAction;hasRequiredDataZoomAction=1;var ee=echarts$1,te=util$a,ae=requireHelper$1();return ee.registerAction("dataZoom",function(ne,ie){var oe=ae.createLinkedNodesFinder(te.bind(ie.eachComponent,ie,"dataZoom"),ae.eachAxisDim,function(le,ue){return le.get(ue.axisIndex)}),se=[];ie.eachComponent({mainType:"dataZoom",query:ne},function(le,ue){se.push.apply(se,oe(le).nodes)}),te.each(se,function(le,ue){le.setRawRange({start:ne.start,end:ne.end,startValue:ne.startValue,endValue:ne.endValue})})}),dataZoomAction}var hasRequiredDataZoomSelect;function requireDataZoomSelect(){return hasRequiredDataZoomSelect||(hasRequiredDataZoomSelect=1,requireTypeDefaulter$2(),requireDataZoomModel(),requireDataZoomView(),requireSelectZoomModel(),requireSelectZoomView(),requireDataZoomProcessor(),requireDataZoomAction()),dataZoomSelect}var DataZoom_1,hasRequiredDataZoom$1;function requireDataZoom$1(){if(hasRequiredDataZoom$1)return DataZoom_1;hasRequiredDataZoom$1=1;var ee=echarts$1,te=util$a,ae=requireBrushController(),ne=requireBrushTargetManager(),ie=requireHistory(),oe=requireSliderMove(),se=lang$2,le=requireFeatureManager();requireDataZoomSelect();var ue=se.toolbox.dataZoom,ce=te.each,de="\0_ec_\0toolbox-dataZoom_";function he(_e,be,xe){(this._brushController=new ae(xe.getZr())).on("brush",te.bind(this._onBrush,this)).mount(),this._isZoomActive}he.defaultOption={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:te.clone(ue.title),brushStyle:{borderWidth:0,color:"rgba(0,0,0,0.2)"}};var fe=he.prototype;fe.render=function(_e,be,xe,$e){this.model=_e,this.ecModel=be,this.api=xe,me(_e,be,this,$e,xe),ge(_e,be)},fe.onclick=function(_e,be,xe){pe[xe].call(this)},fe.remove=function(_e,be){this._brushController.unmount()},fe.dispose=function(_e,be){this._brushController.dispose()};var pe={zoom:function(){var _e=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:_e})},back:function(){this._dispatchZoomAction(ie.pop(this.ecModel))}};fe._onBrush=function(_e,be){if(!be.isEnd||!_e.length)return;var xe={},$e=this.ecModel;this._brushController.updateCovers([]);var Se=new ne(ve(this.model.option),$e,{include:["grid"]});Se.matchOutputRanges(_e,$e,function(Te,De,Me){if(Me.type==="cartesian2d"){var Ie=Te.brushType;Ie==="rect"?(we("x",Me,De[0]),we("y",Me,De[1])):we({lineX:"x",lineY:"y"}[Ie],Me,De)}}),ie.push($e,xe),this._dispatchZoomAction(xe);function we(Te,De,Me){var Ie=De.getAxis(Te),Ce=Ie.model,Ee=Ae(Te,Ce,$e),Re=Ee.findRepresentativeAxisProxy(Ce).getMinMaxSpan();(Re.minValueSpan!=null||Re.maxValueSpan!=null)&&(Me=oe(0,Me.slice(),Ie.scale.getExtent(),0,Re.minValueSpan,Re.maxValueSpan)),Ee&&(xe[Ee.id]={dataZoomId:Ee.id,startValue:Me[0],endValue:Me[1]})}function Ae(Te,De,Me){var Ie;return Me.eachComponent({mainType:"dataZoom",subType:"select"},function(Ce){var Ee=Ce.getAxisModel(Te,De.componentIndex);Ee&&(Ie=Ce)}),Ie}},fe._dispatchZoomAction=function(_e){var be=[];ce(_e,function(xe,$e){be.push(te.clone(xe))}),be.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:be})};function ve(_e){var be={};return te.each(["xAxisIndex","yAxisIndex"],function(xe){be[xe]=_e[xe],be[xe]==null&&(be[xe]="all"),(be[xe]===!1||be[xe]==="none")&&(be[xe]=[])}),be}function ge(_e,be){_e.setIconStatus("back",ie.count(be)>1?"emphasis":"normal")}function me(_e,be,xe,$e,Se){var we=xe._isZoomActive;$e&&$e.type==="takeGlobalCursor"&&(we=$e.key==="dataZoomSelect"?$e.dataZoomSelectActive:!1),xe._isZoomActive=we,_e.setIconStatus("zoom",we?"emphasis":"normal");var Ae=new ne(ve(_e.option),be,{include:["grid"]});xe._brushController.setPanels(Ae.makePanelOpts(Se,function(Te){return Te.xAxisDeclared&&!Te.yAxisDeclared?"lineX":!Te.xAxisDeclared&&Te.yAxisDeclared?"lineY":"rect"})).enableBrush(we?{brushType:"auto",brushStyle:_e.getModel("brushStyle").getItemStyle()}:!1)}le.register("dataZoom",he),ee.registerPreprocessor(function(_e){if(!_e)return;var be=_e.dataZoom||(_e.dataZoom=[]);te.isArray(be)||(_e.dataZoom=be=[be]);var xe=_e.toolbox;if(xe&&(te.isArray(xe)&&(xe=xe[0]),xe&&xe.feature)){var $e=xe.feature.dataZoom;Se("xAxis",$e),Se("yAxis",$e)}function Se(Ae,Te){if(Te){var De=Ae+"Index",Me=Te[De];Me!=null&&Me!=="all"&&!te.isArray(Me)&&(Me=Me===!1||Me==="none"?[]:[Me]),we(Ae,function(Ie,Ce){if(!(Me!=null&&Me!=="all"&&te.indexOf(Me,Ce)===-1)){var Ee={type:"select",$fromToolbox:!0,filterMode:Te.filterMode||"filter",id:de+Ae+Ce};Ee[De]=Ce,be.push(Ee)}})}}function we(Ae,Te){var De=_e[Ae];te.isArray(De)||(De=De?[De]:[]),ce(De,Te)}});var ye=he;return DataZoom_1=ye,DataZoom_1}var Restore_1,hasRequiredRestore;function requireRestore(){if(hasRequiredRestore)return Restore_1;hasRequiredRestore=1;var ee=echarts$1,te=requireHistory(),ae=lang$2,ne=requireFeatureManager(),ie=ae.toolbox.restore;function oe(ue){this.model=ue}oe.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:ie.title};var se=oe.prototype;se.onclick=function(ue,ce,de){te.clear(ue),ce.dispatchAction({type:"restore",from:this.uid})},ne.register("restore",oe),ee.registerAction({type:"restore",event:"restore",update:"prepareAndUpdate"},function(ue,ce){ce.resetOption("recreate")});var le=oe;return Restore_1=le,Restore_1}var hasRequiredToolbox;function requireToolbox(){return hasRequiredToolbox||(hasRequiredToolbox=1,requireToolboxModel(),requireToolboxView(),requireSaveAsImage(),requireMagicType(),require_DataView(),requireDataZoom$1(),requireRestore()),toolbox}var tooltip={},TooltipModel$2,hasRequiredTooltipModel;function requireTooltipModel(){if(hasRequiredTooltipModel)return TooltipModel$2;hasRequiredTooltipModel=1;var ee=echarts$1,te=ee.extendComponentModel({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});return TooltipModel$2=te,TooltipModel$2}var TooltipContent_1,hasRequiredTooltipContent;function requireTooltipContent(){if(hasRequiredTooltipContent)return TooltipContent_1;hasRequiredTooltipContent=1;var ee=util$a,te=color$2,ae=event$1,ne=dom,ie=env_1,oe=format$6,se=ee.each,le=oe.toCamelCase,ue=["","-webkit-","-moz-","-o-"],ce="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";function de(me){var ye="cubic-bezier(0.23, 1, 0.32, 1)",_e="left "+me+"s "+ye+",top "+me+"s "+ye;return ee.map(ue,function(be){return be+"transition:"+_e}).join(";")}function he(me){var ye=[],_e=me.get("fontSize"),be=me.getTextColor();be&&ye.push("color:"+be),ye.push("font:"+me.getFont());var xe=me.get("lineHeight");xe==null&&(xe=Math.round(_e*3/2)),_e&&ye.push("line-height:"+xe+"px");var $e=me.get("textShadowColor"),Se=me.get("textShadowBlur")||0,we=me.get("textShadowOffsetX")||0,Ae=me.get("textShadowOffsetY")||0;return Se&&ye.push("text-shadow:"+we+"px "+Ae+"px "+Se+"px "+$e),se(["decoration","align"],function(Te){var De=me.get(Te);De&&ye.push("text-"+Te+":"+De)}),ye.join(";")}function fe(me){var ye=[],_e=me.get("transitionDuration"),be=me.get("backgroundColor"),xe=me.getModel("textStyle"),$e=me.get("padding");return _e&&ye.push(de(_e)),be&&(ie.canvasSupported?ye.push("background-Color:"+be):(ye.push("background-Color:#"+te.toHex(be)),ye.push("filter:alpha(opacity=70)"))),se(["width","color","radius"],function(Se){var we="border-"+Se,Ae=le(we),Te=me.get(Ae);Te!=null&&ye.push(we+":"+Te+(Se==="color"?"":"px"))}),ye.push(he(xe)),$e!=null&&ye.push("padding:"+oe.normalizeCssArray($e).join("px ")+"px"),ye.join(";")+";"}function pe(me,ye,_e,be,xe){var $e=ye&&ye.painter;if(_e){var Se=$e&&$e.getViewportRoot();Se&&ne.transformLocalCoord(me,Se,document.body,be,xe)}else{me[0]=be,me[1]=xe;var we=$e&&$e.getViewportRootOffset();we&&(me[0]+=we.offsetLeft,me[1]+=we.offsetTop)}me[2]=me[0]/ye.getWidth(),me[3]=me[1]/ye.getHeight()}function ve(me,ye,_e){if(ie.wxa)return null;var be=document.createElement("div");be.domBelongToZr=!0,this.el=be;var xe=this._zr=ye.getZr(),$e=this._appendToBody=_e&&_e.appendToBody;this._styleCoord=[0,0,0,0],pe(this._styleCoord,xe,$e,ye.getWidth()/2,ye.getHeight()/2),$e?document.body.appendChild(be):me.appendChild(be),this._container=me,this._show=!1,this._hideTimeout;var Se=this;be.onmouseenter=function(){Se._enterable&&(clearTimeout(Se._hideTimeout),Se._show=!0),Se._inContent=!0},be.onmousemove=function(we){if(we=we||window.event,!Se._enterable){var Ae=xe.handler,Te=xe.painter.getViewportRoot();ae.normalizeEvent(Te,we,!0),Ae.dispatch("mousemove",we)}},be.onmouseleave=function(){Se._enterable&&Se._show&&Se.hideLater(Se._hideDelay),Se._inContent=!1}}ve.prototype={constructor:ve,_enterable:!0,update:function(me){var ye=this._container,_e=ye.currentStyle||document.defaultView.getComputedStyle(ye),be=ye.style;be.position!=="absolute"&&_e.position!=="absolute"&&(be.position="relative");var xe=me.get("alwaysShowContent");xe&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var me=this._styleCoord[2],ye=this._styleCoord[3],_e=me*this._zr.getWidth(),be=ye*this._zr.getHeight();this.moveTo(_e,be)},show:function(me){clearTimeout(this._hideTimeout);var ye=this.el,_e=this._styleCoord;ye.style.cssText=ce+fe(me)+";left:"+_e[0]+"px;top:"+_e[1]+"px;"+(me.get("extraCssText")||""),ye.style.display=ye.innerHTML?"block":"none",ye.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(me){this.el.innerHTML=me??""},setEnterable:function(me){this._enterable=me},getSize:function(){var me=this.el;return[me.clientWidth,me.clientHeight]},moveTo:function(me,ye){var _e=this._styleCoord;pe(_e,this._zr,this._appendToBody,me,ye);var be=this.el.style;be.left=_e[0]+"px",be.top=_e[1]+"px"},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(me){this._show&&!(this._inContent&&this._enterable)&&(me?(this._hideDelay=me,this._show=!1,this._hideTimeout=setTimeout(ee.bind(this.hide,this),me)):this.hide())},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var me=this.el.clientWidth,ye=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var _e=document.defaultView.getComputedStyle(this.el);_e&&(me+=parseInt(_e.borderLeftWidth,10)+parseInt(_e.borderRightWidth,10),ye+=parseInt(_e.borderTopWidth,10)+parseInt(_e.borderBottomWidth,10))}return{width:me,height:ye}}};var ge=ve;return TooltipContent_1=ge,TooltipContent_1}var TooltipRichContent_1,hasRequiredTooltipRichContent;function requireTooltipRichContent(){if(hasRequiredTooltipRichContent)return TooltipRichContent_1;hasRequiredTooltipRichContent=1;var ee=util$a,te=Text_1,ae=graphic$6;function ne(se,le,ue,ce){se[0]=ue,se[1]=ce,se[2]=se[0]/le.getWidth(),se[3]=se[1]/le.getHeight()}function ie(se){var le=this._zr=se.getZr();this._styleCoord=[0,0,0,0],ne(this._styleCoord,le,se.getWidth()/2,se.getHeight()/2),this._show=!1,this._hideTimeout}ie.prototype={constructor:ie,_enterable:!0,update:function(se){var le=se.get("alwaysShowContent");le&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var se=this._styleCoord[2],le=this._styleCoord[3],ue=se*this._zr.getWidth(),ce=le*this._zr.getHeight();this.moveTo(ue,ce)},show:function(se){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(se,le,ue){this.el&&this._zr.remove(this.el);for(var ce={},de=se,he="{marker",fe="|}",pe=de.indexOf(he);pe>=0;){var ve=de.indexOf(fe),ge=de.substr(pe+he.length,ve-pe-he.length);ge.indexOf("sub")>-1?ce["marker"+ge]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:le[ge],textOffset:[3,0]}:ce["marker"+ge]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:le[ge]},de=de.substr(ve+1),pe=de.indexOf("{marker")}var me=ue.getModel("textStyle"),ye=me.get("fontSize"),_e=ue.get("textLineHeight");_e==null&&(_e=Math.round(ye*3/2)),this.el=new te({style:ae.setTextStyle({},me,{rich:ce,text:se,textBackgroundColor:ue.get("backgroundColor"),textBorderRadius:ue.get("borderRadius"),textFill:ue.get("textStyle.color"),textPadding:ue.get("padding"),textLineHeight:_e}),z:ue.get("z")}),this._zr.add(this.el);var be=this;this.el.on("mouseover",function(){be._enterable&&(clearTimeout(be._hideTimeout),be._show=!0),be._inContent=!0}),this.el.on("mouseout",function(){be._enterable&&be._show&&be.hideLater(be._hideDelay),be._inContent=!1})},setEnterable:function(se){this._enterable=se},getSize:function(){var se=this.el.getBoundingRect();return[se.width,se.height]},moveTo:function(se,le){if(this.el){var ue=this._styleCoord;ne(ue,this._zr,se,le),this.el.attr("position",[ue[0],ue[1]])}},hide:function(){this.el&&this.el.hide(),this._show=!1},hideLater:function(se){this._show&&!(this._inContent&&this._enterable)&&(se?(this._hideDelay=se,this._show=!1,this._hideTimeout=setTimeout(ee.bind(this.hide,this),se)):this.hide())},isShow:function(){return this._show},dispose:function(){clearTimeout(this._hideTimeout),this.el&&this._zr.remove(this.el)},getOuterSize:function(){var se=this.getSize();return{width:se[0],height:se[1]}}};var oe=ie;return TooltipRichContent_1=oe,TooltipRichContent_1}var TooltipView$2,hasRequiredTooltipView;function requireTooltipView(){if(hasRequiredTooltipView)return TooltipView$2;hasRequiredTooltipView=1;var ee=echarts$1,te=util$a,ae=env_1,ne=requireTooltipContent(),ie=requireTooltipRichContent(),oe=format$6,se=requireNumber(),le=graphic$6,ue=requireFindPointFromSeries(),ce=layout$5,de=Model_1,he=requireGlobalListener(),fe=requireAxisHelper(),pe=requireViewHelper(),ve=model,ge=ve.getTooltipRenderMode,me=te.bind,ye=te.each,_e=se.parsePercent,be=new le.Rect({shape:{x:-1,y:-1,width:2,height:2}}),xe=ee.extendComponentView({type:"tooltip",init:function(Me,Ie){if(!ae.node){var Ce=Me.getComponent("tooltip"),Ee=Ce.get("renderMode");this._renderMode=ge(Ee);var Re;this._renderMode==="html"?(Re=new ne(Ie.getDom(),Ie,{appendToBody:Ce.get("appendToBody",!0)}),this._newLine="<br/>"):(Re=new ie(Ie),this._newLine=`
-`),this._tooltipContent=Re}},render:function(Me,Ie,Ce){if(!ae.node){this.group.removeAll(),this._tooltipModel=Me,this._ecModel=Ie,this._api=Ce,this._lastDataByCoordSys=null,this._alwaysShowContent=Me.get("alwaysShowContent");var Ee=this._tooltipContent;Ee.update(Me),Ee.setEnterable(Me.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var Me=this._tooltipModel,Ie=Me.get("triggerOn");he.register("itemTooltip",this._api,me(function(Ce,Ee,Re){Ie!=="none"&&(Ie.indexOf(Ce)>=0?this._tryShow(Ee,Re):Ce==="leave"&&this._hide(Re))},this))},_keepShow:function(){var Me=this._tooltipModel,Ie=this._ecModel,Ce=this._api;if(this._lastX!=null&&this._lastY!=null&&Me.get("triggerOn")!=="none"){var Ee=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!Ce.isDisposed()&&Ee.manuallyShowTip(Me,Ie,Ce,{x:Ee._lastX,y:Ee._lastY})})}},manuallyShowTip:function(Me,Ie,Ce,Ee){if(!(Ee.from===this.uid||ae.node)){var Re=Se(Ee,Ce);this._ticket="";var ke=Ee.dataByCoordSys;if(Ee.tooltip&&Ee.x!=null&&Ee.y!=null){var Be=be;Be.position=[Ee.x,Ee.y],Be.update(),Be.tooltip=Ee.tooltip,this._tryShow({offsetX:Ee.x,offsetY:Ee.y,target:Be},Re)}else if(ke)this._tryShow({offsetX:Ee.x,offsetY:Ee.y,position:Ee.position,dataByCoordSys:Ee.dataByCoordSys,tooltipOption:Ee.tooltipOption},Re);else if(Ee.seriesIndex!=null){if(this._manuallyAxisShowTip(Me,Ie,Ce,Ee))return;var Ne=ue(Ee,Ie),He=Ne.point[0],qe=Ne.point[1];He!=null&&qe!=null&&this._tryShow({offsetX:He,offsetY:qe,position:Ee.position,target:Ne.el},Re)}else Ee.x!=null&&Ee.y!=null&&(Ce.dispatchAction({type:"updateAxisPointer",x:Ee.x,y:Ee.y}),this._tryShow({offsetX:Ee.x,offsetY:Ee.y,position:Ee.position,target:Ce.getZr().findHover(Ee.x,Ee.y).target},Re))}},manuallyHideTip:function(Me,Ie,Ce,Ee){var Re=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&Re.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,Ee.from!==this.uid&&this._hide(Se(Ee,Ce))},_manuallyAxisShowTip:function(qe,Ie,Ce,Ee){var Re=Ee.seriesIndex,ke=Ee.dataIndex,Be=Ie.getComponent("axisPointer").coordSysAxesInfo;if(!(Re==null||ke==null||Be==null)){var Ne=Ie.getSeriesByIndex(Re);if(Ne){var He=Ne.getData(),qe=$e([He.getItemModel(ke),Ne,(Ne.coordinateSystem||{}).model,qe]);if(qe.get("trigger")==="axis")return Ce.dispatchAction({type:"updateAxisPointer",seriesIndex:Re,dataIndex:ke,position:Ee.position}),!0}}},_tryShow:function(Me,Ie){var Ce=Me.target,Ee=this._tooltipModel;if(Ee){this._lastX=Me.offsetX,this._lastY=Me.offsetY;var Re=Me.dataByCoordSys;Re&&Re.length?this._showAxisTooltip(Re,Me):Ce&&Ce.dataIndex!=null?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(Me,Ce,Ie)):Ce&&Ce.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(Me,Ce,Ie)):(this._lastDataByCoordSys=null,this._hide(Ie))}},_showOrMove:function(Me,Ie){var Ce=Me.get("showDelay");Ie=te.bind(Ie,this),clearTimeout(this._showTimout),Ce>0?this._showTimout=setTimeout(Ie,Ce):Ie()},_showAxisTooltip:function(Me,Ie){var Ce=this._ecModel,Ee=this._tooltipModel,Re=[Ie.offsetX,Ie.offsetY],ke=[],Be=[],Ne=$e([Ie.tooltipOption,Ee]),He=this._renderMode,qe=this._newLine,Oe={};ye(Me,function(Ve){ye(Ve.dataByAxis,function(Ge){var We=Ce.getComponent(Ge.axisDim+"Axis",Ge.axisIndex),Ue=Ge.value,Ye=[];if(!(!We||Ue==null)){var Ze=pe.getValueLabel(Ue,We.axis,Ce,Ge.seriesDataIndices,Ge.valueLabelOpt);te.each(Ge.seriesDataIndices,function(it){var at=Ce.getSeriesByIndex(it.seriesIndex),ut=it.dataIndexInside,dt=at&&at.getDataParams(ut);if(dt.axisDim=Ge.axisDim,dt.axisIndex=Ge.axisIndex,dt.axisType=Ge.axisType,dt.axisId=Ge.axisId,dt.axisValue=fe.getAxisRawValue(We.axis,Ue),dt.axisValueLabel=Ze,dt){Be.push(dt);var pt=at.formatTooltip(ut,!0,null,He),gt;if(te.isObject(pt)){gt=pt.html;var bt=pt.markers;te.merge(Oe,bt)}else gt=pt;Ye.push(gt)}});var Xe=Ze;He!=="html"?ke.push(Ye.join(qe)):ke.push((Xe?oe.encodeHTML(Xe)+qe:"")+Ye.join(qe))}})},this),ke.reverse(),ke=ke.join(this._newLine+this._newLine);var ze=Ie.position;this._showOrMove(Ne,function(){this._updateContentNotChangedOnAxis(Me)?this._updatePosition(Ne,ze,Re[0],Re[1],this._tooltipContent,Be):this._showTooltipContent(Ne,ke,Be,Math.random(),Re[0],Re[1],ze,void 0,Oe)})},_showSeriesItemTooltip:function(Me,Ie,Ce){var Ee=this._ecModel,Re=Ie.seriesIndex,ke=Ee.getSeriesByIndex(Re),Be=Ie.dataModel||ke,Ne=Ie.dataIndex,He=Ie.dataType,qe=Be.getData(He),Oe=$e([qe.getItemModel(Ne),Be,ke&&(ke.coordinateSystem||{}).model,this._tooltipModel]),ze=Oe.get("trigger");if(!(ze!=null&&ze!=="item")){var Ve=Be.getDataParams(Ne,He),Ge=Be.formatTooltip(Ne,!1,He,this._renderMode),We,Ue;te.isObject(Ge)?(We=Ge.html,Ue=Ge.markers):(We=Ge,Ue=null);var Ye="item_"+Be.name+"_"+Ne;this._showOrMove(Oe,function(){this._showTooltipContent(Oe,We,Ve,Ye,Me.offsetX,Me.offsetY,Me.position,Me.target,Ue)}),Ce({type:"showTip",dataIndexInside:Ne,dataIndex:qe.getRawIndex(Ne),seriesIndex:Re,from:this.uid})}},_showComponentItemTooltip:function(Me,Ie,Ce){var Ee=Ie.tooltip;if(typeof Ee=="string"){var Re=Ee;Ee={content:Re,formatter:Re}}var ke=new de(Ee,this._tooltipModel,this._ecModel),Be=ke.get("content"),Ne=Math.random();this._showOrMove(ke,function(){this._showTooltipContent(ke,Be,ke.get("formatterParams")||{},Ne,Me.offsetX,Me.offsetY,Me.position,Ie)}),Ce({type:"showTip",from:this.uid})},_showTooltipContent:function(Me,Ie,Ce,Ee,Re,ke,Be,Ne,He){if(this._ticket="",!(!Me.get("showContent")||!Me.get("show"))){var qe=this._tooltipContent,Oe=Me.get("formatter");Be=Be||Me.get("position");var ze=Ie;if(Oe&&typeof Oe=="string")ze=oe.formatTpl(Oe,Ce,!0);else if(typeof Oe=="function"){var Ve=me(function(Ge,We){Ge===this._ticket&&(qe.setContent(We,He,Me),this._updatePosition(Me,Be,Re,ke,qe,Ce,Ne))},this);this._ticket=Ee,ze=Oe(Ce,Ee,Ve)}qe.setContent(ze,He,Me),qe.show(Me),this._updatePosition(Me,Be,Re,ke,qe,Ce,Ne)}},_updatePosition:function(Me,Ie,Ce,Ee,Re,ke,Be){var Ne=this._api.getWidth(),He=this._api.getHeight();Ie=Ie||Me.get("position");var qe=Re.getSize(),Oe=Me.get("align"),ze=Me.get("verticalAlign"),Ve=Be&&Be.getBoundingRect().clone();if(Be&&Ve.applyTransform(Be.transform),typeof Ie=="function"&&(Ie=Ie([Ce,Ee],ke,Re.el,Ve,{viewSize:[Ne,He],contentSize:qe.slice()})),te.isArray(Ie))Ce=_e(Ie[0],Ne),Ee=_e(Ie[1],He);else if(te.isObject(Ie)){Ie.width=qe[0],Ie.height=qe[1];var Ge=ce.getLayoutRect(Ie,{width:Ne,height:He});Ce=Ge.x,Ee=Ge.y,Oe=null,ze=null}else if(typeof Ie=="string"&&Be){var We=Te(Ie,Ve,qe);Ce=We[0],Ee=We[1]}else{var We=we(Ce,Ee,Re,Ne,He,Oe?null:20,ze?null:20);Ce=We[0],Ee=We[1]}if(Oe&&(Ce-=De(Oe)?qe[0]/2:Oe==="right"?qe[0]:0),ze&&(Ee-=De(ze)?qe[1]/2:ze==="bottom"?qe[1]:0),Me.get("confine")){var We=Ae(Ce,Ee,Re,Ne,He);Ce=We[0],Ee=We[1]}Re.moveTo(Ce,Ee)},_updateContentNotChangedOnAxis:function(Me){var Ie=this._lastDataByCoordSys,Ce=!!Ie&&Ie.length===Me.length;return Ce&&ye(Ie,function(Ee,Re){var ke=Ee.dataByAxis||{},Be=Me[Re]||{},Ne=Be.dataByAxis||[];Ce&=ke.length===Ne.length,Ce&&ye(ke,function(He,qe){var Oe=Ne[qe]||{},ze=He.seriesDataIndices||[],Ve=Oe.seriesDataIndices||[];Ce&=He.value===Oe.value&&He.axisType===Oe.axisType&&He.axisId===Oe.axisId&&ze.length===Ve.length,Ce&&ye(ze,function(Ge,We){var Ue=Ve[We];Ce&=Ge.seriesIndex===Ue.seriesIndex&&Ge.dataIndex===Ue.dataIndex})})}),this._lastDataByCoordSys=Me,!!Ce},_hide:function(Me){this._lastDataByCoordSys=null,Me({type:"hideTip",from:this.uid})},dispose:function(Me,Ie){ae.node||(this._tooltipContent.dispose(),he.unregister("itemTooltip",Ie))}});function $e(Me){for(var Ie=Me.pop();Me.length;){var Ce=Me.pop();Ce&&(de.isInstance(Ce)&&(Ce=Ce.get("tooltip",!0)),typeof Ce=="string"&&(Ce={formatter:Ce}),Ie=new de(Ce,Ie,Ie.ecModel))}return Ie}function Se(Me,Ie){return Me.dispatchAction||te.bind(Ie.dispatchAction,Ie)}function we(Me,Ie,Ce,Ee,Re,ke,Be){var Ne=Ce.getOuterSize(),He=Ne.width,qe=Ne.height;return ke!=null&&(Me+He+ke>Ee?Me-=He+ke:Me+=ke),Be!=null&&(Ie+qe+Be>Re?Ie-=qe+Be:Ie+=Be),[Me,Ie]}function Ae(Me,Ie,Ce,Ee,Re){var ke=Ce.getOuterSize(),Be=ke.width,Ne=ke.height;return Me=Math.min(Me+Be,Ee)-Be,Ie=Math.min(Ie+Ne,Re)-Ne,Me=Math.max(Me,0),Ie=Math.max(Ie,0),[Me,Ie]}function Te(Me,Ie,Ce){var Ee=Ce[0],Re=Ce[1],ke=5,Be=0,Ne=0,He=Ie.width,qe=Ie.height;switch(Me){case"inside":Be=Ie.x+He/2-Ee/2,Ne=Ie.y+qe/2-Re/2;break;case"top":Be=Ie.x+He/2-Ee/2,Ne=Ie.y-Re-ke;break;case"bottom":Be=Ie.x+He/2-Ee/2,Ne=Ie.y+qe+ke;break;case"left":Be=Ie.x-Ee-ke,Ne=Ie.y+qe/2-Re/2;break;case"right":Be=Ie.x+He+ke,Ne=Ie.y+qe/2-Re/2}return[Be,Ne]}function De(Me){return Me==="center"||Me==="middle"}return TooltipView$2=xe,TooltipView$2}var hasRequiredTooltip;function requireTooltip(){if(hasRequiredTooltip)return tooltip;hasRequiredTooltip=1;var ee=echarts$1;return requireAxisPointer(),requireTooltipModel(),requireTooltipView(),ee.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),ee.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),tooltip}var brush$2={},preprocessor$2,hasRequiredPreprocessor$2;function requirePreprocessor$2(){if(hasRequiredPreprocessor$2)return preprocessor$2;hasRequiredPreprocessor$2=1;var ee=util$a,te=["rect","polygon","keep","clear"];function ae(ie,oe){var se=ie&&ie.brush;if(ee.isArray(se)||(se=se?[se]:[]),!!se.length){var le=[];ee.each(se,function(fe){var pe=fe.hasOwnProperty("toolbox")?fe.toolbox:[];pe instanceof Array&&(le=le.concat(pe))});var ue=ie&&ie.toolbox;ee.isArray(ue)&&(ue=ue[0]),ue||(ue={feature:{}},ie.toolbox=[ue]);var ce=ue.feature||(ue.feature={}),de=ce.brush||(ce.brush={}),he=de.type||(de.type=[]);he.push.apply(he,le),ne(he),oe&&!he.length&&he.push.apply(he,te)}}function ne(ie){var oe={};ee.each(ie,function(se){oe[se]=1}),ie.length=0,ee.each(oe,function(se,le){ie.push(le)})}return preprocessor$2=ae,preprocessor$2}var visualEncoding$1={},visualSolution={},hasRequiredVisualSolution;function requireVisualSolution(){if(hasRequiredVisualSolution)return visualSolution;hasRequiredVisualSolution=1;var ee=util$a,te=requireVisualMapping(),ae=ee.each;function ne(ue){if(ue){for(var ce in ue)if(ue.hasOwnProperty(ce))return!0}}function ie(ue,ce,de){var he={};return ae(ce,function(pe){var ve=he[pe]=fe();ae(ue[pe],function(ge,me){if(te.isValidType(me)){var ye={type:me,visual:ge};de&&de(ye,pe),ve[me]=new te(ye),me==="opacity"&&(ye=ee.clone(ye),ye.type="colorAlpha",ve.__hidden.__alphaForOpacity=new te(ye))}})}),he;function fe(){var pe=function(){};pe.prototype.__hidden=pe.prototype;var ve=new pe;return ve}}function oe(ue,ce,de){var he;ee.each(de,function(fe){ce.hasOwnProperty(fe)&&ne(ce[fe])&&(he=!0)}),he&&ee.each(de,function(fe){ce.hasOwnProperty(fe)&&ne(ce[fe])?ue[fe]=ee.clone(ce[fe]):delete ue[fe]})}function se(ue,ce,de,he,fe,pe){var ve={};ee.each(ue,function(be){var xe=te.prepareVisualTypes(ce[be]);ve[be]=xe});var ge;function me(be){return de.getItemVisual(ge,be)}function ye(be,xe){de.setItemVisual(ge,be,xe)}pe==null?de.each(_e):de.each([pe],_e);function _e(be,xe){ge=pe==null?be:xe;var $e=de.getRawDataItem(ge);if(!($e&&$e.visualMap===!1))for(var Se=he.call(fe,be),we=ce[Se],Ae=ve[Se],Te=0,De=Ae.length;Te<De;Te++){var Me=Ae[Te];we[Me]&&we[Me].applyVisual(be,me,ye)}}}function le(ue,ce,de,he){var fe={};ee.each(ue,function(ve){var ge=te.prepareVisualTypes(ce[ve]);fe[ve]=ge});function pe(ve,ge){he!=null&&(he=ge.getDimension(he));function me(Me){return ge.getItemVisual(_e,Me)}function ye(Me,Ie){ge.setItemVisual(_e,Me,Ie)}for(var _e;(_e=ve.next())!=null;){var be=ge.getRawDataItem(_e);if(!(be&&be.visualMap===!1))for(var xe=he!=null?ge.get(he,_e,!0):_e,$e=de(xe),Se=ce[$e],we=fe[$e],Ae=0,Te=we.length;Ae<Te;Ae++){var De=we[Ae];Se[De]&&Se[De].applyVisual(xe,me,ye)}}}return{progress:pe}}return visualSolution.createVisualMappings=ie,visualSolution.replaceVisualOption=oe,visualSolution.applyVisual=se,visualSolution.incrementalApplyVisual=le,visualSolution}var selector_1,hasRequiredSelector;function requireSelector(){if(hasRequiredSelector)return selector_1;hasRequiredSelector=1;var ee=requirePolygon(),te=BoundingRect_1,ae=graphic$6,ne=ae.linePolygonIntersect,ie={lineX:oe(0),lineY:oe(1),rect:{point:function(ue,ce,de){return ue&&de.boundingRect.contain(ue[0],ue[1])},rect:function(ue,ce,de){return ue&&de.boundingRect.intersect(ue)}},polygon:{point:function(ue,ce,de){return ue&&de.boundingRect.contain(ue[0],ue[1])&&ee.contain(de.range,ue[0],ue[1])},rect:function(ue,ce,de){var he=de.range;if(!ue||he.length<=1)return!1;var fe=ue.x,pe=ue.y,ve=ue.width,ge=ue.height,me=he[0];if(ee.contain(he,fe,pe)||ee.contain(he,fe+ve,pe)||ee.contain(he,fe,pe+ge)||ee.contain(he,fe+ve,pe+ge)||te.create(ue).contain(me[0],me[1])||ne(fe,pe,fe+ve,pe,he)||ne(fe,pe,fe,pe+ge,he)||ne(fe+ve,pe,fe+ve,pe+ge,he)||ne(fe,pe+ge,fe+ve,pe+ge,he))return!0}}};function oe(ue){var ce=["x","y"],de=["width","height"];return{point:function(he,fe,pe){if(he){var ve=pe.range,ge=he[ue];return se(ge,ve)}},rect:function(he,fe,pe){if(he){var ve=pe.range,ge=[he[ce[ue]],he[ce[ue]]+he[de[ue]]];return ge[1]<ge[0]&&ge.reverse(),se(ge[0],ve)||se(ge[1],ve)||se(ve[0],ge)||se(ve[1],ge)}}}}function se(ue,ce){return ce[0]<=ue&&ue<=ce[1]}var le=ie;return selector_1=le,selector_1}var hasRequiredVisualEncoding$1;function requireVisualEncoding$1(){if(hasRequiredVisualEncoding$1)return visualEncoding$1;hasRequiredVisualEncoding$1=1;var ee=echarts$1,te=util$a,ae=BoundingRect_1,ne=requireVisualSolution(),ie=requireSelector(),oe=throttle$3,se=requireBrushTargetManager(),le=["inBrush","outOfBrush"],ue="__ecBrushSelect",ce="__ecInBrushSelectEvent",de=ee.PRIORITY.VISUAL.BRUSH;ee.registerLayout(de,function(xe,$e,Se){xe.eachComponent({mainType:"brush"},function(we){Se&&Se.type==="takeGlobalCursor"&&we.setBrushOption(Se.key==="brush"?Se.brushOption:{brushType:!1})}),he(xe)});function he(xe){xe.eachComponent({mainType:"brush"},function($e){var Se=$e.brushTargetManager=new se($e.option,xe);Se.setInputRanges($e.areas,xe)})}ee.registerVisual(de,function(xe,$e,Se){var we=[],Ae,Te;xe.eachComponent({mainType:"brush"},function(De,Me){var Ie={brushId:De.id,brushIndex:Me,brushName:De.name,areas:te.clone(De.areas),selected:[]};we.push(Ie);var Ce=De.option,Ee=Ce.brushLink,Re=[],ke=[],Be=[],Ne=0;Me||(Ae=Ce.throttleType,Te=Ce.throttleDelay);var He=te.map(De.areas,function(We){return ye(te.defaults({boundingRect:_e[We.brushType](We)},We))}),qe=ne.createVisualMappings(De.option,le,function(We){We.mappingMethod="fixed"});te.isArray(Ee)&&te.each(Ee,function(We){Re[We]=1});function Oe(We){return Ee==="all"||Re[We]}function ze(We){return!!We.length}xe.eachSeries(function(We,Ue){var Ye=Be[Ue]=[];We.subType==="parallel"?Ve(We,Ue):Ge(We,Ue,Ye)});function Ve(We,Ue){var Ye=We.coordinateSystem;Ne|=Ye.hasAxisBrushed(),Oe(Ue)&&Ye.eachActiveState(We.getData(),function(Ze,Xe){Ze==="active"&&(ke[Xe]=1)})}function Ge(We,Ue,Ye){var Ze=ge(We);if(!(!Ze||me(De,Ue))&&(te.each(He,function(it){Ze[it.brushType]&&De.brushTargetManager.controlSeries(it,We,xe)&&Ye.push(it),Ne|=ze(Ye)}),Oe(Ue)&&ze(Ye))){var Xe=We.getData();Xe.each(function(it){ve(Ze,Ye,Xe,it)&&(ke[it]=1)})}}xe.eachSeries(function(We,Ue){var Ye={seriesId:We.id,seriesIndex:Ue,seriesName:We.name,dataIndex:[]};Ie.selected.push(Ye);var Ze=ge(We),Xe=Be[Ue],it=We.getData(),at=Oe(Ue)?function(ut){return ke[ut]?(Ye.dataIndex.push(it.getRawIndex(ut)),"inBrush"):"outOfBrush"}:function(ut){return ve(Ze,Xe,it,ut)?(Ye.dataIndex.push(it.getRawIndex(ut)),"inBrush"):"outOfBrush"};(Oe(Ue)?Ne:ze(Xe))&&ne.applyVisual(le,qe,it,at)})}),fe($e,Ae,Te,we,Se)});function fe(xe,$e,Se,we,Ae){if(Ae){var Te=xe.getZr();if(!Te[ce]){Te[ue]||(Te[ue]=pe);var De=oe.createOrUpdate(Te,ue,Se,$e);De(xe,we)}}}function pe(xe,$e){if(!xe.isDisposed()){var Se=xe.getZr();Se[ce]=!0,xe.dispatchAction({type:"brushSelect",batch:$e}),Se[ce]=!1}}function ve(xe,$e,Se,we){for(var Ae=0,Te=$e.length;Ae<Te;Ae++){var De=$e[Ae];if(xe[De.brushType](we,Se,De.selectors,De))return!0}}function ge(xe){var $e=xe.brushSelector;if(te.isString($e)){var Se=[];return te.each(ie,function(Ae,Te){Se[Te]=function(De,Me,Ie,Ce){var Ee=Me.getItemLayout(De);return Ae[$e](Ee,Ie,Ce)}}),Se}else if(te.isFunction($e)){var we={};return te.each(ie,function(Ae,Te){we[Te]=$e}),we}return $e}function me(xe,$e){var Se=xe.option.seriesIndex;return Se!=null&&Se!=="all"&&(te.isArray(Se)?te.indexOf(Se,$e)<0:$e!==Se)}function ye(xe){var $e=xe.selectors={};return te.each(ie[xe.brushType],function(Se,we){$e[we]=function(Ae){return Se(Ae,$e,xe)}}),xe}var _e={lineX:te.noop,lineY:te.noop,rect:function(xe){return be(xe.range)},polygon:function(xe){for(var $e,Se=xe.range,we=0,Ae=Se.length;we<Ae;we++){$e=$e||[[1/0,-1/0],[1/0,-1/0]];var Te=Se[we];Te[0]<$e[0][0]&&($e[0][0]=Te[0]),Te[0]>$e[0][1]&&($e[0][1]=Te[0]),Te[1]<$e[1][0]&&($e[1][0]=Te[1]),Te[1]>$e[1][1]&&($e[1][1]=Te[1])}return $e&&be($e)}};function be(xe){return new ae(xe[0][0],xe[1][0],xe[0][1]-xe[0][0],xe[1][1]-xe[1][0])}return visualEncoding$1.layoutCovers=he,visualEncoding$1}var BrushModel_1,hasRequiredBrushModel;function requireBrushModel(){if(hasRequiredBrushModel)return BrushModel_1;hasRequiredBrushModel=1;var ee=echarts$1,te=util$a,ae=requireVisualSolution(),ne=Model_1,ie=["#ddd"],oe=ee.extendComponentModel({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(ue,ce){var de=this.option;!ce&&ae.replaceVisualOption(de,ue,["inBrush","outOfBrush"]);var he=de.inBrush=de.inBrush||{};de.outOfBrush=de.outOfBrush||{color:ie},he.hasOwnProperty("liftZ")||(he.liftZ=5)},setAreas:function(ue){ue&&(this.areas=te.map(ue,function(ce){return se(this.option,ce)},this))},setBrushOption:function(ue){this.brushOption=se(this.option,ue),this.brushType=this.brushOption.brushType}});function se(ue,ce){return te.merge({brushType:ue.brushType,brushMode:ue.brushMode,transformable:ue.transformable,brushStyle:new ne(ue.brushStyle).getItemStyle(),removeOnClick:ue.removeOnClick,z:ue.z},ce,!0)}var le=oe;return BrushModel_1=le,BrushModel_1}var BrushView$2,hasRequiredBrushView;function requireBrushView(){if(hasRequiredBrushView)return BrushView$2;hasRequiredBrushView=1;var ee=echarts$1,te=util$a,ae=requireBrushController(),ne=requireVisualEncoding$1(),ie=ne.layoutCovers,oe=ee.extendComponentView({type:"brush",init:function(le,ue){this.ecModel=le,this.api=ue,this.model,(this._brushController=new ae(ue.getZr())).on("brush",te.bind(this._onBrush,this)).mount()},render:function(le){return this.model=le,se.apply(this,arguments)},updateTransform:function(le,ue){return ie(ue),se.apply(this,arguments)},updateView:se,dispose:function(){this._brushController.dispose()},_onBrush:function(le,ue){var ce=this.model.id;this.model.brushTargetManager.setOutputRanges(le,this.ecModel),(!ue.isEnd||ue.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:ce,areas:te.clone(le),$from:ce}),ue.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:ce,areas:te.clone(le),$from:ce})}});function se(le,ue,ce,de){(!de||de.$from!==le.id)&&this._brushController.setPanels(le.brushTargetManager.makePanelOpts(ce)).enableBrush(le.brushOption).updateCovers(le.areas.slice())}return BrushView$2=oe,BrushView$2}var brushAction={},hasRequiredBrushAction;function requireBrushAction(){if(hasRequiredBrushAction)return brushAction;hasRequiredBrushAction=1;var ee=echarts$1;return ee.registerAction({type:"brush",event:"brush"},function(te,ae){ae.eachComponent({mainType:"brush",query:te},function(ne){ne.setAreas(te.areas)})}),ee.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},function(){}),ee.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},function(){}),brushAction}var Brush_1,hasRequiredBrush$1;function requireBrush$1(){if(hasRequiredBrush$1)return Brush_1;hasRequiredBrush$1=1;var ee=util$a,te=requireFeatureManager(),ae=lang$2,ne=ae.toolbox.brush;function ie(le,ue,ce){this.model=le,this.ecModel=ue,this.api=ce,this._brushType,this._brushMode}ie.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:ee.clone(ne.title)};var oe=ie.prototype;oe.render=oe.updateView=function(le,ue,ce){var de,he,fe;ue.eachComponent({mainType:"brush"},function(pe){de=pe.brushType,he=pe.brushOption.brushMode||"single",fe|=pe.areas.length}),this._brushType=de,this._brushMode=he,ee.each(le.get("type",!0),function(pe){le.setIconStatus(pe,(pe==="keep"?he==="multiple":pe==="clear"?fe:pe===de)?"emphasis":"normal")})},oe.getIcons=function(){var le=this.model,ue=le.get("icon",!0),ce={};return ee.each(le.get("type",!0),function(de){ue[de]&&(ce[de]=ue[de])}),ce},oe.onclick=function(le,ue,ce){var de=this._brushType,he=this._brushMode;ce==="clear"?(ue.dispatchAction({type:"axisAreaSelect",intervals:[]}),ue.dispatchAction({type:"brush",command:"clear",areas:[]})):ue.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:ce==="keep"?de:de===ce?!1:ce,brushMode:ce==="keep"?he==="multiple"?"single":"multiple":he}})},te.register("brush",ie);var se=ie;return Brush_1=se,Brush_1}var hasRequiredBrush;function requireBrush(){if(hasRequiredBrush)return brush$2;hasRequiredBrush=1;var ee=echarts$1,te=requirePreprocessor$2();return requireVisualEncoding$1(),requireBrushModel(),requireBrushView(),requireBrushAction(),requireBrush$1(),ee.registerPreprocessor(te),brush$2}var title={},hasRequiredTitle;function requireTitle(){if(hasRequiredTitle)return title;hasRequiredTitle=1;var ee=util$a,te=echarts$1,ae=graphic$6,ne=layout$5,ie=ne.getLayoutRect,oe=format$6,se=oe.windowOpen;return te.extendComponentModel({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),te.extendComponentView({type:"title",render:function(le,ue,ce){if(this.group.removeAll(),!!le.get("show")){var de=this.group,he=le.getModel("textStyle"),fe=le.getModel("subtextStyle"),pe=le.get("textAlign"),ve=ee.retrieve2(le.get("textBaseline"),le.get("textVerticalAlign")),ge=new ae.Text({style:ae.setTextStyle({},he,{text:le.get("text"),textFill:he.getTextColor()},{disableBox:!0}),z2:10}),me=ge.getBoundingRect(),ye=le.get("subtext"),_e=new ae.Text({style:ae.setTextStyle({},fe,{text:ye,textFill:fe.getTextColor(),y:me.height+le.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),be=le.get("link"),xe=le.get("sublink"),$e=le.get("triggerEvent",!0);ge.silent=!be&&!$e,_e.silent=!xe&&!$e,be&&ge.on("click",function(){se(be,"_"+le.get("target"))}),xe&&_e.on("click",function(){se(xe,"_"+le.get("subtarget"))}),ge.eventData=_e.eventData=$e?{componentType:"title",componentIndex:le.componentIndex}:null,de.add(ge),ye&&de.add(_e);var Se=de.getBoundingRect(),we=le.getBoxLayoutParams();we.width=Se.width,we.height=Se.height;var Ae=ie(we,{width:ce.getWidth(),height:ce.getHeight()},le.get("padding"));pe||(pe=le.get("left")||le.get("right"),pe==="middle"&&(pe="center"),pe==="right"?Ae.x+=Ae.width:pe==="center"&&(Ae.x+=Ae.width/2)),ve||(ve=le.get("top")||le.get("bottom"),ve==="center"&&(ve="middle"),ve==="bottom"?Ae.y+=Ae.height:ve==="middle"&&(Ae.y+=Ae.height/2),ve=ve||"top"),de.attr("position",[Ae.x,Ae.y]);var Te={textAlign:pe,textVerticalAlign:ve};ge.setStyle(Te),_e.setStyle(Te),Se=de.getBoundingRect();var De=Ae.margin,Me=le.getItemStyle(["color","opacity"]);Me.fill=le.get("backgroundColor");var Ie=new ae.Rect({shape:{x:Se.x-De[3],y:Se.y-De[0],width:Se.width+De[1]+De[3],height:Se.height+De[0]+De[2],r:le.get("borderRadius")},style:Me,subPixelOptimize:!0,silent:!0});de.add(Ie)}}}),title}var timeline={},preprocessor$1,hasRequiredPreprocessor$1;function requirePreprocessor$1(){if(hasRequiredPreprocessor$1)return preprocessor$1;hasRequiredPreprocessor$1=1;var ee=util$a;function te(oe){var se=oe&&oe.timeline;ee.isArray(se)||(se=se?[se]:[]),ee.each(se,function(le){le&&ae(le)})}function ae(oe){var se=oe.type,le={number:"value",time:"time"};if(le[se]&&(oe.axisType=le[se],delete oe.type),ne(oe),ie(oe,"controlPosition")){var ue=oe.controlStyle||(oe.controlStyle={});ie(ue,"position")||(ue.position=oe.controlPosition),ue.position==="none"&&!ie(ue,"show")&&(ue.show=!1,delete ue.position),delete oe.controlPosition}ee.each(oe.data||[],function(ce){ee.isObject(ce)&&!ee.isArray(ce)&&(!ie(ce,"value")&&ie(ce,"name")&&(ce.value=ce.name),ne(ce))})}function ne(oe){var se=oe.itemStyle||(oe.itemStyle={}),le=se.emphasis||(se.emphasis={}),ue=oe.label||oe.label||{},ce=ue.normal||(ue.normal={}),de={normal:1,emphasis:1};ee.each(ue,function(he,fe){!de[fe]&&!ie(ce,fe)&&(ce[fe]=he)}),le.label&&!ie(ue,"emphasis")&&(ue.emphasis=le.label,delete le.label)}function ie(oe,se){return oe.hasOwnProperty(se)}return preprocessor$1=te,preprocessor$1}var typeDefaulter$1={},hasRequiredTypeDefaulter$1;function requireTypeDefaulter$1(){if(hasRequiredTypeDefaulter$1)return typeDefaulter$1;hasRequiredTypeDefaulter$1=1;var ee=Component$1;return ee.registerSubTypeDefaulter("timeline",function(){return"slider"}),typeDefaulter$1}var timelineAction={},hasRequiredTimelineAction;function requireTimelineAction(){if(hasRequiredTimelineAction)return timelineAction;hasRequiredTimelineAction=1;var ee=echarts$1,te=util$a;return ee.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(ae,ne){var ie=ne.getComponent("timeline");return ie&&ae.currentIndex!=null&&(ie.setCurrentIndex(ae.currentIndex),!ie.get("loop",!0)&&ie.isIndexMax()&&ie.setPlayState(!1)),ne.resetOption("timeline"),te.defaults({currentIndex:ie.option.currentIndex},ae)}),ee.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(ae,ne){var ie=ne.getComponent("timeline");ie&&ae.playState!=null&&ie.setPlayState(ae.playState)}),timelineAction}var TimelineModel_1,hasRequiredTimelineModel;function requireTimelineModel(){if(hasRequiredTimelineModel)return TimelineModel_1;hasRequiredTimelineModel=1;var ee=util$a,te=Component$1,ae=requireList(),ne=model,ie=te.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(se,le,ue){this._data,this._names,this.mergeDefaultAndTheme(se,ue),this._initData()},mergeOption:function(se){ie.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(se){se==null&&(se=this.option.currentIndex);var le=this._data.count();this.option.loop?se=(se%le+le)%le:(se>=le&&(se=le-1),se<0&&(se=0)),this.option.currentIndex=se},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(se){this.option.autoPlay=!!se},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var se=this.option,le=se.data||[],ue=se.axisType,ce=this._names=[];if(ue==="category"){var de=[];ee.each(le,function(pe,ve){var ge=ne.getDataItemValue(pe),me;ee.isObject(pe)?(me=ee.clone(pe),me.value=ve):me=ve,de.push(me),!ee.isString(ge)&&(ge==null||isNaN(ge))&&(ge=""),ce.push(ge+"")}),le=de}var he={category:"ordinal",time:"time"}[ue]||"number",fe=this._data=new ae([{name:"value",type:he}],this);fe.initData(le,ce)},getData:function(){return this._data},getCategories:function(){if(this.get("axisType")==="category")return this._names.slice()}}),oe=ie;return TimelineModel_1=oe,TimelineModel_1}var SliderTimelineModel_1,hasRequiredSliderTimelineModel;function requireSliderTimelineModel(){if(hasRequiredSliderTimelineModel)return SliderTimelineModel_1;hasRequiredSliderTimelineModel=1;var ee=util$a,te=requireTimelineModel(),ae=dataFormat,ne=te.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}});ee.mixin(ne,ae);var ie=ne;return SliderTimelineModel_1=ie,SliderTimelineModel_1}var TimelineView$2,hasRequiredTimelineView;function requireTimelineView(){if(hasRequiredTimelineView)return TimelineView$2;hasRequiredTimelineView=1;var ee=Component_1,te=ee.extend({type:"timeline"});return TimelineView$2=te,TimelineView$2}var TimelineAxis_1,hasRequiredTimelineAxis;function requireTimelineAxis(){if(hasRequiredTimelineAxis)return TimelineAxis_1;hasRequiredTimelineAxis=1;var ee=util$a,te=requireAxis$1(),ae=function(ie,oe,se,le){te.call(this,ie,oe,se),this.type=le||"value",this.model=null};ae.prototype={constructor:ae,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return this.model.get("orient")==="horizontal"}},ee.inherits(ae,te);var ne=ae;return TimelineAxis_1=ne,TimelineAxis_1}var SliderTimelineView$2,hasRequiredSliderTimelineView;function requireSliderTimelineView(){if(hasRequiredSliderTimelineView)return SliderTimelineView$2;hasRequiredSliderTimelineView=1;var ee=util$a,te=BoundingRect_1,ae=matrix$5,ne=graphic$6,ie=layout$5,oe=requireTimelineView(),se=requireTimelineAxis(),le=requireSymbol$1(),ue=le.createSymbol,ce=requireAxisHelper(),de=requireNumber(),he=format$6,fe=he.encodeHTML,pe=ee.bind,ve=ee.each,ge=Math.PI,me=oe.extend({type:"timeline.slider",init:function($e,Se){this.api=Se,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function($e,Se,we,Ae){if(this.model=$e,this.api=we,this.ecModel=Se,this.group.removeAll(),$e.get("show",!0)){var Te=this._layout($e,we),De=this._createGroup("mainGroup"),Me=this._createGroup("labelGroup"),Ie=this._axis=this._createAxis(Te,$e);$e.formatTooltip=function(Ce){return fe(Ie.scale.getLabel(Ce))},ve(["AxisLine","AxisTick","Control","CurrentPointer"],function(Ce){this["_render"+Ce](Te,De,Ie,$e)},this),this._renderAxisLabel(Te,Me,Ie,$e),this._position(Te,$e)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function($e,Se){var we=$e.get("label.position"),Ae=$e.get("orient"),Te=ye($e,Se);we==null||we==="auto"?we=Ae==="horizontal"?Te.y+Te.height/2<Se.getHeight()/2?"-":"+":Te.x+Te.width/2<Se.getWidth()/2?"+":"-":isNaN(we)&&(we={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[Ae][we]);var De={horizontal:"center",vertical:we>=0||we==="+"?"left":"right"},Me={horizontal:we>=0||we==="+"?"top":"bottom",vertical:"middle"},Ie={horizontal:0,vertical:ge/2},Ce=Ae==="vertical"?Te.height:Te.width,Ee=$e.getModel("controlStyle"),Re=Ee.get("show",!0),ke=Re?Ee.get("itemSize"):0,Be=Re?Ee.get("itemGap"):0,Ne=ke+Be,He=$e.get("label.rotate")||0;He=He*ge/180;var qe,Oe,ze,Ve,Ge=Ee.get("position",!0),We=Re&&Ee.get("showPlayBtn",!0),Ue=Re&&Ee.get("showPrevBtn",!0),Ye=Re&&Ee.get("showNextBtn",!0),Ze=0,Xe=Ce;return Ge==="left"||Ge==="bottom"?(We&&(qe=[0,0],Ze+=Ne),Ue&&(Oe=[Ze,0],Ze+=Ne),Ye&&(ze=[Xe-ke,0],Xe-=Ne)):(We&&(qe=[Xe-ke,0],Xe-=Ne),Ue&&(Oe=[0,0],Ze+=Ne),Ye&&(ze=[Xe-ke,0],Xe-=Ne)),Ve=[Ze,Xe],$e.get("inverse")&&Ve.reverse(),{viewRect:Te,mainLength:Ce,orient:Ae,rotation:Ie[Ae],labelRotation:He,labelPosOpt:we,labelAlign:$e.get("label.align")||De[Ae],labelBaseline:$e.get("label.verticalAlign")||$e.get("label.baseline")||Me[Ae],playPosition:qe,prevBtnPosition:Oe,nextBtnPosition:ze,axisExtent:Ve,controlSize:ke,controlGap:Be}},_position:function($e,Se){var we=this._mainGroup,Ae=this._labelGroup,Te=$e.viewRect;if($e.orient==="vertical"){var De=ae.create(),Me=Te.x,Ie=Te.y+Te.height;ae.translate(De,De,[-Me,-Ie]),ae.rotate(De,De,-ge/2),ae.translate(De,De,[Me,Ie]),Te=Te.clone(),Te.applyTransform(De)}var Ce=Oe(Te),Ee=Oe(we.getBoundingRect()),Re=Oe(Ae.getBoundingRect()),ke=we.position,Be=Ae.position;Be[0]=ke[0]=Ce[0][0];var Ne=$e.labelPosOpt;if(isNaN(Ne)){var He=Ne==="+"?0:1;ze(ke,Ee,Ce,1,He),ze(Be,Re,Ce,1,1-He)}else{var He=Ne>=0?0:1;ze(ke,Ee,Ce,1,He),Be[1]=ke[1]+Ne}we.attr("position",ke),Ae.attr("position",Be),we.rotation=Ae.rotation=$e.rotation,qe(we),qe(Ae);function qe(Ve){var Ge=Ve.position;Ve.origin=[Ce[0][0]-Ge[0],Ce[1][0]-Ge[1]]}function Oe(Ve){return[[Ve.x,Ve.x+Ve.width],[Ve.y,Ve.y+Ve.height]]}function ze(Ve,Ge,We,Ue,Ye){Ve[Ue]+=We[Ue][Ye]-Ge[Ue][Ye]}},_createAxis:function($e,Se){var we=Se.getData(),Ae=Se.get("axisType"),Te=ce.createScaleByModel(Se,Ae);Te.getTicks=function(){return we.mapArray(["value"],function(Ie){return Ie})};var De=we.getDataExtent("value");Te.setExtent(De[0],De[1]),Te.niceTicks();var Me=new se("value",Te,$e.axisExtent,Ae);return Me.model=Se,Me},_createGroup:function($e){var Se=this["_"+$e]=new ne.Group;return this.group.add(Se),Se},_renderAxisLine:function($e,Se,we,Ae){var Te=we.getExtent();Ae.get("lineStyle.show")&&Se.add(new ne.Line({shape:{x1:Te[0],y1:0,x2:Te[1],y2:0},style:ee.extend({lineCap:"round"},Ae.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function($e,Se,we,Ae){var Te=Ae.getData(),De=we.scale.getTicks();ve(De,function(Me){var Ie=we.dataToCoord(Me),Ce=Te.getItemModel(Me),Ee=Ce.getModel("itemStyle"),Re=Ce.getModel("emphasis.itemStyle"),ke={position:[Ie,0],onclick:pe(this._changeTimeline,this,Me)},Be=be(Ce,Ee,Se,ke);ne.setHoverStyle(Be,Re.getItemStyle()),Ce.get("tooltip")?(Be.dataIndex=Me,Be.dataModel=Ae):Be.dataIndex=Be.dataModel=null},this)},_renderAxisLabel:function($e,Se,we,Ae){var Te=we.getLabelModel();if(Te.get("show")){var De=Ae.getData(),Me=we.getViewLabels();ve(Me,function(Ie){var Ce=Ie.tickValue,Ee=De.getItemModel(Ce),Re=Ee.getModel("label"),ke=Ee.getModel("emphasis.label"),Be=we.dataToCoord(Ie.tickValue),Ne=new ne.Text({position:[Be,0],rotation:$e.labelRotation-$e.rotation,onclick:pe(this._changeTimeline,this,Ce),silent:!1});ne.setTextStyle(Ne.style,Re,{text:Ie.formattedLabel,textAlign:$e.labelAlign,textVerticalAlign:$e.labelBaseline}),Se.add(Ne),ne.setHoverStyle(Ne,ne.setTextStyle({},ke))},this)}},_renderControl:function($e,Se,we,Ae){var Te=$e.controlSize,De=$e.rotation,Me=Ae.getModel("controlStyle").getItemStyle(),Ie=Ae.getModel("emphasis.controlStyle").getItemStyle(),Ce=[0,-Te/2,Te,Te],Ee=Ae.getPlayState(),Re=Ae.get("inverse",!0);ke($e.nextBtnPosition,"controlStyle.nextIcon",pe(this._changeTimeline,this,Re?"-":"+")),ke($e.prevBtnPosition,"controlStyle.prevIcon",pe(this._changeTimeline,this,Re?"+":"-")),ke($e.playPosition,"controlStyle."+(Ee?"stopIcon":"playIcon"),pe(this._handlePlayClick,this,!Ee),!0);function ke(Be,Ne,He,qe){if(Be){var Oe={position:Be,origin:[Te/2,0],rotation:qe?-De:0,rectHover:!0,style:Me,onclick:He},ze=_e(Ae,Ne,Ce,Oe);Se.add(ze),ne.setHoverStyle(ze,Ie)}}},_renderCurrentPointer:function($e,Se,we,Ae){var Te=Ae.getData(),De=Ae.getCurrentIndex(),Me=Te.getItemModel(De).getModel("checkpointStyle"),Ie=this,Ce={onCreate:function(Ee){Ee.draggable=!0,Ee.drift=pe(Ie._handlePointerDrag,Ie),Ee.ondragend=pe(Ie._handlePointerDragend,Ie),xe(Ee,De,we,Ae,!0)},onUpdate:function(Ee){xe(Ee,De,we,Ae)}};this._currentPointer=be(Me,Me,this._mainGroup,{},this._currentPointer,Ce)},_handlePlayClick:function($e){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:$e,from:this.uid})},_handlePointerDrag:function($e,Se,we){this._clearTimer(),this._pointerChangeTimeline([we.offsetX,we.offsetY])},_handlePointerDragend:function($e){this._pointerChangeTimeline([$e.offsetX,$e.offsetY],!0)},_pointerChangeTimeline:function($e,Se){var we=this._toAxisCoord($e)[0],Ae=this._axis,Te=de.asc(Ae.getExtent().slice());we>Te[1]&&(we=Te[1]),we<Te[0]&&(we=Te[0]),this._currentPointer.position[0]=we,this._currentPointer.dirty();var De=this._findNearestTick(we),Me=this.model;(Se||De!==Me.getCurrentIndex()&&Me.get("realtime"))&&this._changeTimeline(De)},_doPlayStop:function(){this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(pe($e,this),this.model.get("playInterval")));function $e(){var Se=this.model;this._changeTimeline(Se.getCurrentIndex()+(Se.get("rewind",!0)?-1:1))}},_toAxisCoord:function($e){var Se=this._mainGroup.getLocalTransform();return ne.applyTransform($e,Se,!0)},_findNearestTick:function($e){var Se=this.model.getData(),we=1/0,Ae,Te=this._axis;return Se.each(["value"],function(De,Me){var Ie=Te.dataToCoord(De),Ce=Math.abs(Ie-$e);Ce<we&&(we=Ce,Ae=Me)}),Ae},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function($e){var Se=this.model.getCurrentIndex();$e==="+"?$e=Se+1:$e==="-"&&($e=Se-1),this.api.dispatchAction({type:"timelineChange",currentIndex:$e,from:this.uid})}});function ye($e,Se){return ie.getLayoutRect($e.getBoxLayoutParams(),{width:Se.getWidth(),height:Se.getHeight()},$e.get("padding"))}function _e($e,Se,we,Ae){var Te=Ae.style,De=ne.createIcon($e.get(Se),Ae||{},new te(we[0],we[1],we[2],we[3]));return Te&&De.setStyle(Te),De}function be($e,Se,we,Ae,Te,De){var Me=Se.get("color");if(Te)Te.setColor(Me),we.add(Te),De&&De.onUpdate(Te);else{var Ie=$e.get("symbol");Te=ue(Ie,-1,-1,2,2,Me),Te.setStyle("strokeNoScale",!0),we.add(Te),De&&De.onCreate(Te)}var Ce=Se.getItemStyle(["color","symbol","symbolSize"]);Te.setStyle(Ce),Ae=ee.merge({rectHover:!0,z2:100},Ae,!0);var Ee=$e.get("symbolSize");Ee=Ee instanceof Array?Ee.slice():[+Ee,+Ee],Ee[0]/=2,Ee[1]/=2,Ae.scale=Ee;var Re=$e.get("symbolOffset");if(Re){var ke=Ae.position=Ae.position||[0,0];ke[0]+=de.parsePercent(Re[0],Ee[0]),ke[1]+=de.parsePercent(Re[1],Ee[1])}var Be=$e.get("symbolRotate");return Ae.rotation=(Be||0)*Math.PI/180||0,Te.attr(Ae),Te.updateTransform(),Te}function xe($e,Se,we,Ae,Te){if(!$e.dragging){var De=Ae.getModel("checkpointStyle"),Me=we.dataToCoord(Ae.getData().get(["value"],Se));Te||!De.get("animation",!0)?$e.attr({position:[Me,0]}):($e.stopAnimation(!0),$e.animateTo({position:[Me,0]},De.get("animationDuration",!0),De.get("animationEasing",!0)))}}return SliderTimelineView$2=me,SliderTimelineView$2}var hasRequiredTimeline;function requireTimeline(){if(hasRequiredTimeline)return timeline;hasRequiredTimeline=1;var ee=echarts$1,te=requirePreprocessor$1();return requireTypeDefaulter$1(),requireTimelineAction(),requireSliderTimelineModel(),requireSliderTimelineView(),ee.registerPreprocessor(te),timeline}var markPoint={},MarkerModel_1,hasRequiredMarkerModel;function requireMarkerModel(){if(hasRequiredMarkerModel)return MarkerModel_1;hasRequiredMarkerModel=1;var ee=echarts$1,te=util$a,ae=env_1,ne=model,ie=format$6,oe=dataFormat,se=ie.addCommas,le=ie.encodeHTML;function ue(he){ne.defaultEmphasis(he,"label",["show"])}var ce=ee.extendComponentModel({type:"marker",dependencies:["series","grid","polar","geo"],init:function(he,fe,pe){this.mergeDefaultAndTheme(he,pe),this._mergeOption(he,pe,!1,!0)},isAnimationEnabled:function(){if(ae.node)return!1;var he=this.__hostSeries;return this.getShallow("animation")&&he&&he.isAnimationEnabled()},mergeOption:function(he,fe){this._mergeOption(he,fe,!1,!1)},_mergeOption:function(he,fe,pe,ve){var ge=this.constructor,me=this.mainType+"Model";pe||fe.eachSeries(function(ye){var _e=ye.get(this.mainType,!0),be=ye[me];if(!_e||!_e.data){ye[me]=null;return}be?be._mergeOption(_e,fe,!0):(ve&&ue(_e),te.each(_e.data,function(xe){xe instanceof Array?(ue(xe[0]),ue(xe[1])):ue(xe)}),be=new ge(_e,this,fe),te.extend(be,{mainType:this.mainType,seriesIndex:ye.seriesIndex,name:ye.name,createdBySelf:!0}),be.__hostSeries=ye),ye[me]=be},this)},formatTooltip:function(he,fe,pe,ve){var ge=this.getData(),me=this.getRawValue(he),ye=te.isArray(me)?te.map(me,se).join(", "):se(me),_e=ge.getName(he),be=le(this.name),xe=ve==="html"?"<br/>":`
-`;return(me!=null||_e)&&(be+=xe),_e&&(be+=le(_e),me!=null&&(be+=" : ")),me!=null&&(be+=le(ye)),be},getData:function(){return this._data},setData:function(he){this._data=he}});te.mixin(ce,oe);var de=ce;return MarkerModel_1=de,MarkerModel_1}var MarkPointModel$2,hasRequiredMarkPointModel;function requireMarkPointModel(){if(hasRequiredMarkPointModel)return MarkPointModel$2;hasRequiredMarkPointModel=1;var ee=requireMarkerModel(),te=ee.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});return MarkPointModel$2=te,MarkPointModel$2}var markerHelper={},hasRequiredMarkerHelper;function requireMarkerHelper(){if(hasRequiredMarkerHelper)return markerHelper;hasRequiredMarkerHelper=1;var ee=util$a,te=requireNumber(),ae=requireDataStackHelper(),ne=ae.isDimensionStacked,ie=ee.indexOf;function oe(me){return!(isNaN(parseFloat(me.x))&&isNaN(parseFloat(me.y)))}function se(me){return!isNaN(parseFloat(me.x))&&!isNaN(parseFloat(me.y))}function le(me,ye,_e,be,xe,$e){var Se=[],we=ne(ye,be),Ae=we?ye.getCalculationInfo("stackResultDimension"):be,Te=ge(ye,Ae,me),De=ye.indicesOfNearest(Ae,Te)[0];Se[xe]=ye.get(_e,De),Se[$e]=ye.get(Ae,De);var Me=ye.get(be,De),Ie=te.getPrecision(ye.get(be,De));return Ie=Math.min(Ie,20),Ie>=0&&(Se[$e]=+Se[$e].toFixed(Ie)),[Se,Me]}var ue=ee.curry,ce={min:ue(le,"min"),max:ue(le,"max"),average:ue(le,"average")};function de(me,ye){var _e=me.getData(),be=me.coordinateSystem;if(ye&&!se(ye)&&!ee.isArray(ye.coord)&&be){var xe=be.dimensions,$e=he(ye,_e,be,me);if(ye=ee.clone(ye),ye.type&&ce[ye.type]&&$e.baseAxis&&$e.valueAxis){var Se=ie(xe,$e.baseAxis.dim),we=ie(xe,$e.valueAxis.dim),Ae=ce[ye.type](_e,$e.baseDataDim,$e.valueDataDim,Se,we);ye.coord=Ae[0],ye.value=Ae[1]}else{for(var Te=[ye.xAxis!=null?ye.xAxis:ye.radiusAxis,ye.yAxis!=null?ye.yAxis:ye.angleAxis],De=0;De<2;De++)ce[Te[De]]&&(Te[De]=ge(_e,_e.mapDimension(xe[De]),Te[De]));ye.coord=Te}}return ye}function he(me,ye,_e,be){var xe={};return me.valueIndex!=null||me.valueDim!=null?(xe.valueDataDim=me.valueIndex!=null?ye.getDimension(me.valueIndex):me.valueDim,xe.valueAxis=_e.getAxis(fe(be,xe.valueDataDim)),xe.baseAxis=_e.getOtherAxis(xe.valueAxis),xe.baseDataDim=ye.mapDimension(xe.baseAxis.dim)):(xe.baseAxis=be.getBaseAxis(),xe.valueAxis=_e.getOtherAxis(xe.baseAxis),xe.baseDataDim=ye.mapDimension(xe.baseAxis.dim),xe.valueDataDim=ye.mapDimension(xe.valueAxis.dim)),xe}function fe(me,ye){var _e=me.getData(),be=_e.dimensions;ye=_e.getDimension(ye);for(var xe=0;xe<be.length;xe++){var $e=_e.getDimensionInfo(be[xe]);if($e.name===ye)return $e.coordDim}}function pe(me,ye){return me&&me.containData&&ye.coord&&!oe(ye)?me.containData(ye.coord):!0}function ve(me,ye,_e,be){return be<2?me.coord&&me.coord[be]:me.value}function ge(me,ye,_e){if(_e==="average"){var be=0,xe=0;return me.each(ye,function($e,Se){isNaN($e)||(be+=$e,xe++)}),be/xe}else return _e==="median"?me.getMedian(ye):me.getDataExtent(ye,!0)[_e==="max"?1:0]}return markerHelper.dataTransform=de,markerHelper.getAxisInfo=he,markerHelper.dataFilter=pe,markerHelper.dimValueGetter=ve,markerHelper.numCalculate=ge,markerHelper}var MarkerView$2,hasRequiredMarkerView;function requireMarkerView(){if(hasRequiredMarkerView)return MarkerView$2;hasRequiredMarkerView=1;var ee=echarts$1,te=util$a,ae=ee.extendComponentView({type:"marker",init:function(){this.markerGroupMap=te.createHashMap()},render:function(ne,ie,oe){var se=this.markerGroupMap;se.each(function(ue){ue.__keep=!1});var le=this.type+"Model";ie.eachSeries(function(ue){var ce=ue[le];ce&&this.renderSeries(ue,ce,ie,oe)},this),se.each(function(ue){!ue.__keep&&this.group.remove(ue.group)},this)},renderSeries:function(){}});return MarkerView$2=ae,MarkerView$2}var MarkPointView$2,hasRequiredMarkPointView;function requireMarkPointView(){if(hasRequiredMarkPointView)return MarkPointView$2;hasRequiredMarkPointView=1;var ee=util$a,te=requireSymbolDraw(),ae=requireNumber(),ne=requireList(),ie=requireMarkerHelper(),oe=requireMarkerView();function se(ce,de,he){var fe=de.coordinateSystem;ce.each(function(pe){var ve=ce.getItemModel(pe),ge,me=ae.parsePercent(ve.get("x"),he.getWidth()),ye=ae.parsePercent(ve.get("y"),he.getHeight());if(!isNaN(me)&&!isNaN(ye))ge=[me,ye];else if(de.getMarkerPosition)ge=de.getMarkerPosition(ce.getValues(ce.dimensions,pe));else if(fe){var _e=ce.get(fe.dimensions[0],pe),be=ce.get(fe.dimensions[1],pe);ge=fe.dataToPoint([_e,be])}isNaN(me)||(ge[0]=me),isNaN(ye)||(ge[1]=ye),ce.setItemLayout(pe,ge)})}var le=oe.extend({type:"markPoint",updateTransform:function(ce,de,he){de.eachSeries(function(fe){var pe=fe.markPointModel;pe&&(se(pe.getData(),fe,he),this.markerGroupMap.get(fe.id).updateLayout(pe))},this)},renderSeries:function(ce,de,he,fe){var pe=ce.coordinateSystem,ve=ce.id,ge=ce.getData(),me=this.markerGroupMap,ye=me.get(ve)||me.set(ve,new te),_e=ue(pe,ce,de);de.setData(_e),se(de.getData(),ce,fe),_e.each(function(be){var xe=_e.getItemModel(be),$e=xe.getShallow("symbol"),Se=xe.getShallow("symbolSize"),we=xe.getShallow("symbolRotate"),Ae=ee.isFunction($e),Te=ee.isFunction(Se),De=ee.isFunction(we);if(Ae||Te||De){var Me=de.getRawValue(be),Ie=de.getDataParams(be);Ae&&($e=$e(Me,Ie)),Te&&(Se=Se(Me,Ie)),De&&(we=we(Me,Ie))}_e.setItemVisual(be,{symbol:$e,symbolSize:Se,symbolRotate:we,color:xe.get("itemStyle.color")||ge.getVisual("color")})}),ye.updateData(_e),this.group.add(ye.group),_e.eachItemGraphicEl(function(be){be.traverse(function(xe){xe.dataModel=de})}),ye.__keep=!0,ye.group.silent=de.get("silent")||ce.get("silent")}});function ue(ce,de,he){var fe;ce?fe=ee.map(ce&&ce.dimensions,function(ge){var me=de.getData().getDimensionInfo(de.getData().mapDimension(ge))||{};return ee.defaults({name:ge},me)}):fe=[{name:"value",type:"float"}];var pe=new ne(fe,he),ve=ee.map(he.get("data"),ee.curry(ie.dataTransform,de));return ce&&(ve=ee.filter(ve,ee.curry(ie.dataFilter,ce))),pe.initData(ve,null,ce?ie.dimValueGetter:function(ge){return ge.value}),pe}return MarkPointView$2=le,MarkPointView$2}var hasRequiredMarkPoint;function requireMarkPoint(){if(hasRequiredMarkPoint)return markPoint;hasRequiredMarkPoint=1;var ee=echarts$1;return requireMarkPointModel(),requireMarkPointView(),ee.registerPreprocessor(function(te){te.markPoint=te.markPoint||{}}),markPoint}var markLine={},MarkLineModel$2,hasRequiredMarkLineModel;function requireMarkLineModel(){if(hasRequiredMarkLineModel)return MarkLineModel$2;hasRequiredMarkLineModel=1;var ee=requireMarkerModel(),te=ee.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});return MarkLineModel$2=te,MarkLineModel$2}var MarkLineView$2,hasRequiredMarkLineView;function requireMarkLineView(){if(hasRequiredMarkLineView)return MarkLineView$2;hasRequiredMarkLineView=1;var ee=util$a,te=requireList(),ae=requireNumber(),ne=requireMarkerHelper(),ie=requireLineDraw(),oe=requireMarkerView(),se=requireDataStackHelper(),le=se.getStackedDimension,ue=function(ge,me,ye,_e){var be=ge.getData(),xe=_e.type;if(!ee.isArray(_e)&&(xe==="min"||xe==="max"||xe==="average"||xe==="median"||_e.xAxis!=null||_e.yAxis!=null)){var $e,Se;if(_e.yAxis!=null||_e.xAxis!=null)$e=me.getAxis(_e.yAxis!=null?"y":"x"),Se=ee.retrieve(_e.yAxis,_e.xAxis);else{var we=ne.getAxisInfo(_e,be,me,ge);$e=we.valueAxis;var Ae=le(be,we.valueDataDim);Se=ne.numCalculate(be,Ae,xe)}var Te=$e.dim==="x"?0:1,De=1-Te,Me=ee.clone(_e),Ie={};Me.type=null,Me.coord=[],Ie.coord=[],Me.coord[De]=-1/0,Ie.coord[De]=1/0;var Ce=ye.get("precision");Ce>=0&&typeof Se=="number"&&(Se=+Se.toFixed(Math.min(Ce,20))),Me.coord[Te]=Ie.coord[Te]=Se,_e=[Me,Ie,{type:xe,valueIndex:_e.valueIndex,value:Se}]}return _e=[ne.dataTransform(ge,_e[0]),ne.dataTransform(ge,_e[1]),ee.extend({},_e[2])],_e[2].type=_e[2].type||"",ee.merge(_e[2],_e[0]),ee.merge(_e[2],_e[1]),_e};function ce(ge){return!isNaN(ge)&&!isFinite(ge)}function de(ge,me,ye,_e){var be=1-ge,xe=_e.dimensions[ge];return ce(me[be])&&ce(ye[be])&&me[ge]===ye[ge]&&_e.getAxis(xe).containData(me[ge])}function he(ge,me){if(ge.type==="cartesian2d"){var ye=me[0].coord,_e=me[1].coord;if(ye&&_e&&(de(1,ye,_e,ge)||de(0,ye,_e,ge)))return!0}return ne.dataFilter(ge,me[0])&&ne.dataFilter(ge,me[1])}function fe(ge,me,ye,_e,be){var xe=_e.coordinateSystem,$e=ge.getItemModel(me),Se,we=ae.parsePercent($e.get("x"),be.getWidth()),Ae=ae.parsePercent($e.get("y"),be.getHeight());if(!isNaN(we)&&!isNaN(Ae))Se=[we,Ae];else{if(_e.getMarkerPosition)Se=_e.getMarkerPosition(ge.getValues(ge.dimensions,me));else{var Te=xe.dimensions,De=ge.get(Te[0],me),Me=ge.get(Te[1],me);Se=xe.dataToPoint([De,Me])}if(xe.type==="cartesian2d"){var Ie=xe.getAxis("x"),Ce=xe.getAxis("y"),Te=xe.dimensions;ce(ge.get(Te[0],me))?Se[0]=Ie.toGlobalCoord(Ie.getExtent()[ye?0:1]):ce(ge.get(Te[1],me))&&(Se[1]=Ce.toGlobalCoord(Ce.getExtent()[ye?0:1]))}isNaN(we)||(Se[0]=we),isNaN(Ae)||(Se[1]=Ae)}ge.setItemLayout(me,Se)}var pe=oe.extend({type:"markLine",updateTransform:function(ge,me,ye){me.eachSeries(function(_e){var be=_e.markLineModel;if(be){var xe=be.getData(),$e=be.__from,Se=be.__to;$e.each(function(we){fe($e,we,!0,_e,ye),fe(Se,we,!1,_e,ye)}),xe.each(function(we){xe.setItemLayout(we,[$e.getItemLayout(we),Se.getItemLayout(we)])}),this.markerGroupMap.get(_e.id).updateLayout()}},this)},renderSeries:function(ge,me,ye,_e){var be=ge.coordinateSystem,xe=ge.id,$e=ge.getData(),Se=this.markerGroupMap,we=Se.get(xe)||Se.set(xe,new ie);this.group.add(we.group);var Ae=ve(be,ge,me),Te=Ae.from,De=Ae.to,Me=Ae.line;me.__from=Te,me.__to=De,me.setData(Me);var Ie=me.get("symbol"),Ce=me.get("symbolSize");ee.isArray(Ie)||(Ie=[Ie,Ie]),typeof Ce=="number"&&(Ce=[Ce,Ce]),Ae.from.each(function(Re){Ee(Te,Re,!0),Ee(De,Re,!1)}),Me.each(function(Re){var ke=Me.getItemModel(Re).get("lineStyle.color");Me.setItemVisual(Re,{color:ke||Te.getItemVisual(Re,"color")}),Me.setItemLayout(Re,[Te.getItemLayout(Re),De.getItemLayout(Re)]),Me.setItemVisual(Re,{fromSymbolRotate:Te.getItemVisual(Re,"symbolRotate"),fromSymbolSize:Te.getItemVisual(Re,"symbolSize"),fromSymbol:Te.getItemVisual(Re,"symbol"),toSymbolRotate:De.getItemVisual(Re,"symbolRotate"),toSymbolSize:De.getItemVisual(Re,"symbolSize"),toSymbol:De.getItemVisual(Re,"symbol")})}),we.updateData(Me),Ae.line.eachItemGraphicEl(function(Re,ke){Re.traverse(function(Be){Be.dataModel=me})});function Ee(Re,ke,Be){var Ne=Re.getItemModel(ke);fe(Re,ke,Be,ge,_e),Re.setItemVisual(ke,{symbolRotate:Ne.get("symbolRotate"),symbolSize:Ne.get("symbolSize")||Ce[Be?0:1],symbol:Ne.get("symbol",!0)||Ie[Be?0:1],color:Ne.get("itemStyle.color")||$e.getVisual("color")})}we.__keep=!0,we.group.silent=me.get("silent")||ge.get("silent")}});function ve(ge,me,ye){var _e;ge?_e=ee.map(ge&&ge.dimensions,function(Ae){var Te=me.getData().getDimensionInfo(me.getData().mapDimension(Ae))||{};return ee.defaults({name:Ae},Te)}):_e=[{name:"value",type:"float"}];var be=new te(_e,ye),xe=new te(_e,ye),$e=new te([],ye),Se=ee.map(ye.get("data"),ee.curry(ue,me,ge,ye));ge&&(Se=ee.filter(Se,ee.curry(he,ge)));var we=ge?ne.dimValueGetter:function(Ae){return Ae.value};return be.initData(ee.map(Se,function(Ae){return Ae[0]}),null,we),xe.initData(ee.map(Se,function(Ae){return Ae[1]}),null,we),$e.initData(ee.map(Se,function(Ae){return Ae[2]})),$e.hasItemOption=!0,{from:be,to:xe,line:$e}}return MarkLineView$2=pe,MarkLineView$2}var hasRequiredMarkLine;function requireMarkLine(){if(hasRequiredMarkLine)return markLine;hasRequiredMarkLine=1;var ee=echarts$1;return requireMarkLineModel(),requireMarkLineView(),ee.registerPreprocessor(function(te){te.markLine=te.markLine||{}}),markLine}var markArea={},MarkAreaModel$2,hasRequiredMarkAreaModel;function requireMarkAreaModel(){if(hasRequiredMarkAreaModel)return MarkAreaModel$2;hasRequiredMarkAreaModel=1;var ee=requireMarkerModel(),te=ee.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});return MarkAreaModel$2=te,MarkAreaModel$2}var MarkAreaView$2={},hasRequiredMarkAreaView;function requireMarkAreaView(){if(hasRequiredMarkAreaView)return MarkAreaView$2;hasRequiredMarkAreaView=1;var ee=util$a,te=color$2,ae=requireList(),ne=requireNumber(),ie=graphic$6,oe=requireMarkerHelper(),se=requireMarkerView(),le=function(ve,ge,me,ye){var _e=oe.dataTransform(ve,ye[0]),be=oe.dataTransform(ve,ye[1]),xe=ee.retrieve,$e=_e.coord,Se=be.coord;$e[0]=xe($e[0],-1/0),$e[1]=xe($e[1],-1/0),Se[0]=xe(Se[0],1/0),Se[1]=xe(Se[1],1/0);var we=ee.mergeAll([{},_e,be]);return we.coord=[_e.coord,be.coord],we.x0=_e.x,we.y0=_e.y,we.x1=be.x,we.y1=be.y,we};function ue(ve){return!isNaN(ve)&&!isFinite(ve)}function ce(ve,ge,me,ye){var _e=1-ve;return ue(ge[_e])&&ue(me[_e])}function de(ve,ge){var me=ge.coord[0],ye=ge.coord[1];return ve.type==="cartesian2d"&&me&&ye&&(ce(1,me,ye)||ce(0,me,ye))?!0:oe.dataFilter(ve,{coord:me,x:ge.x0,y:ge.y0})||oe.dataFilter(ve,{coord:ye,x:ge.x1,y:ge.y1})}function he(ve,ge,me,ye,_e){var be=ye.coordinateSystem,xe=ve.getItemModel(ge),$e,Se=ne.parsePercent(xe.get(me[0]),_e.getWidth()),we=ne.parsePercent(xe.get(me[1]),_e.getHeight());if(!isNaN(Se)&&!isNaN(we))$e=[Se,we];else{if(ye.getMarkerPosition)$e=ye.getMarkerPosition(ve.getValues(me,ge));else{var Ae=ve.get(me[0],ge),Te=ve.get(me[1],ge),De=[Ae,Te];be.clampData&&be.clampData(De,De),$e=be.dataToPoint(De,!0)}if(be.type==="cartesian2d"){var Me=be.getAxis("x"),Ie=be.getAxis("y"),Ae=ve.get(me[0],ge),Te=ve.get(me[1],ge);ue(Ae)?$e[0]=Me.toGlobalCoord(Me.getExtent()[me[0]==="x0"?0:1]):ue(Te)&&($e[1]=Ie.toGlobalCoord(Ie.getExtent()[me[1]==="y0"?0:1]))}isNaN(Se)||($e[0]=Se),isNaN(we)||($e[1]=we)}return $e}var fe=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];se.extend({type:"markArea",updateTransform:function(ve,ge,me){ge.eachSeries(function(ye){var _e=ye.markAreaModel;if(_e){var be=_e.getData();be.each(function(xe){var $e=ee.map(fe,function(we){return he(be,xe,we,ye,me)});be.setItemLayout(xe,$e);var Se=be.getItemGraphicEl(xe);Se.setShape("points",$e)})}},this)},renderSeries:function(ve,ge,me,ye){var _e=ve.coordinateSystem,be=ve.id,xe=ve.getData(),$e=this.markerGroupMap,Se=$e.get(be)||$e.set(be,{group:new ie.Group});this.group.add(Se.group),Se.__keep=!0;var we=pe(_e,ve,ge);ge.setData(we),we.each(function(Ae){var Te=ee.map(fe,function(Me){return he(we,Ae,Me,ve,ye)}),De=!0;ee.each(fe,function(Me){if(De){var Ie=we.get(Me[0],Ae),Ce=we.get(Me[1],Ae);(ue(Ie)||_e.getAxis("x").containData(Ie))&&(ue(Ce)||_e.getAxis("y").containData(Ce))&&(De=!1)}}),we.setItemLayout(Ae,{points:Te,allClipped:De}),we.setItemVisual(Ae,{color:xe.getVisual("color")})}),we.diff(Se.__data).add(function(Ae){var Te=we.getItemLayout(Ae);if(!Te.allClipped){var De=new ie.Polygon({shape:{points:Te.points}});we.setItemGraphicEl(Ae,De),Se.group.add(De)}}).update(function(Ae,Te){var De=Se.__data.getItemGraphicEl(Te),Me=we.getItemLayout(Ae);Me.allClipped?De&&Se.group.remove(De):(De?ie.updateProps(De,{shape:{points:Me.points}},ge,Ae):De=new ie.Polygon({shape:{points:Me.points}}),we.setItemGraphicEl(Ae,De),Se.group.add(De))}).remove(function(Ae){var Te=Se.__data.getItemGraphicEl(Ae);Se.group.remove(Te)}).execute(),we.eachItemGraphicEl(function(Ae,Te){var De=we.getItemModel(Te),Me=De.getModel("label"),Ie=De.getModel("emphasis.label"),Ce=we.getItemVisual(Te,"color");Ae.useStyle(ee.defaults(De.getModel("itemStyle").getItemStyle(),{fill:te.modifyAlpha(Ce,.4),stroke:Ce})),Ae.hoverStyle=De.getModel("emphasis.itemStyle").getItemStyle(),ie.setLabelStyle(Ae.style,Ae.hoverStyle,Me,Ie,{labelFetcher:ge,labelDataIndex:Te,defaultText:we.getName(Te)||"",isRectText:!0,autoColor:Ce}),ie.setHoverStyle(Ae,{}),Ae.dataModel=ge}),Se.__data=we,Se.group.silent=ge.get("silent")||ve.get("silent")}});function pe(ve,ge,me){var ye,_e,be=["x0","y0","x1","y1"];ve?(ye=ee.map(ve&&ve.dimensions,function(Se){var we=ge.getData(),Ae=we.getDimensionInfo(we.mapDimension(Se))||{};return ee.defaults({name:Se},Ae)}),_e=new ae(ee.map(be,function(Se,we){return{name:Se,type:ye[we%2].type}}),me)):(ye=[{name:"value",type:"float"}],_e=new ae(ye,me));var xe=ee.map(me.get("data"),ee.curry(le,ge,ve,me));ve&&(xe=ee.filter(xe,ee.curry(de,ve)));var $e=ve?function(Se,we,Ae,Te){return Se.coord[Math.floor(Te/2)][Te%2]}:function(Se){return Se.value};return _e.initData(xe,null,$e),_e.hasItemOption=!0,_e}return MarkAreaView$2}var hasRequiredMarkArea;function requireMarkArea(){if(hasRequiredMarkArea)return markArea;hasRequiredMarkArea=1;var ee=echarts$1;return requireMarkAreaModel(),requireMarkAreaView(),ee.registerPreprocessor(function(te){te.markArea=te.markArea||{}}),markArea}var legendScroll={},legend={},LegendModel_1,hasRequiredLegendModel;function requireLegendModel(){if(hasRequiredLegendModel)return LegendModel_1;hasRequiredLegendModel=1;var ee=echarts$1,te=util$a,ae=Model_1,ne=model,ie=ne.isNameSpecified,oe=lang$2,se=oe.legend.selector,le={all:{type:"all",title:te.clone(se.all)},inverse:{type:"inverse",title:te.clone(se.inverse)}},ue=ee.extendComponentModel({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(de,he,fe){this.mergeDefaultAndTheme(de,fe),de.selected=de.selected||{},this._updateSelector(de)},mergeOption:function(de){ue.superCall(this,"mergeOption",de),this._updateSelector(de)},_updateSelector:function(de){var he=de.selector;he===!0&&(he=de.selector=["all","inverse"]),te.isArray(he)&&te.each(he,function(fe,pe){te.isString(fe)&&(fe={type:fe}),he[pe]=te.merge(fe,le[fe.type])})},optionUpdated:function(){this._updateData(this.ecModel);var de=this._data;if(de[0]&&this.get("selectedMode")==="single"){for(var he=!1,fe=0;fe<de.length;fe++){var pe=de[fe].get("name");if(this.isSelected(pe)){this.select(pe),he=!0;break}}!he&&this.select(de[0].get("name"))}},_updateData:function(de){var he=[],fe=[];de.eachRawSeries(function(ge){var me=ge.name;fe.push(me);var ye;if(ge.legendVisualProvider){var _e=ge.legendVisualProvider,be=_e.getAllNames();de.isSeriesFiltered(ge)||(fe=fe.concat(be)),be.length?he=he.concat(be):ye=!0}else ye=!0;ye&&ie(ge)&&he.push(ge.name)}),this._availableNames=fe;var pe=this.get("data")||he,ve=te.map(pe,function(ge){return(typeof ge=="string"||typeof ge=="number")&&(ge={name:ge}),new ae(ge,this,this.ecModel)},this);this._data=ve},getData:function(){return this._data},select:function(de){var he=this.option.selected,fe=this.get("selectedMode");if(fe==="single"){var pe=this._data;te.each(pe,function(ve){he[ve.get("name")]=!1})}he[de]=!0},unSelect:function(de){this.get("selectedMode")!=="single"&&(this.option.selected[de]=!1)},toggleSelected:function(de){var he=this.option.selected;he.hasOwnProperty(de)||(he[de]=!0),this[he[de]?"unSelect":"select"](de)},allSelect:function(){var de=this._data,he=this.option.selected;te.each(de,function(fe){he[fe.get("name",!0)]=!0})},inverseSelect:function(){var de=this._data,he=this.option.selected;te.each(de,function(fe){var pe=fe.get("name",!0);he.hasOwnProperty(pe)||(he[pe]=!0),he[pe]=!he[pe]})},isSelected:function(de){var he=this.option.selected;return!(he.hasOwnProperty(de)&&!he[de])&&te.indexOf(this._availableNames,de)>=0},getOrient:function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}}),ce=ue;return LegendModel_1=ce,LegendModel_1}var legendAction={},hasRequiredLegendAction;function requireLegendAction(){if(hasRequiredLegendAction)return legendAction;hasRequiredLegendAction=1;var ee=echarts$1,te=util$a;function ae(ne,ie,oe){var se={},le=ne==="toggleSelected",ue;return oe.eachComponent("legend",function(ce){le&&ue!=null?ce[ue?"select":"unSelect"](ie.name):ne==="allSelect"||ne==="inverseSelect"?ce[ne]():(ce[ne](ie.name),ue=ce.isSelected(ie.name));var de=ce.getData();te.each(de,function(he){var fe=he.get("name");if(!(fe===`
-`||fe==="")){var pe=ce.isSelected(fe);se.hasOwnProperty(fe)?se[fe]=se[fe]&&pe:se[fe]=pe}})}),ne==="allSelect"||ne==="inverseSelect"?{selected:se}:{name:ie.name,selected:se}}return ee.registerAction("legendToggleSelect","legendselectchanged",te.curry(ae,"toggleSelected")),ee.registerAction("legendAllSelect","legendselectall",te.curry(ae,"allSelect")),ee.registerAction("legendInverseSelect","legendinverseselect",te.curry(ae,"inverseSelect")),ee.registerAction("legendSelect","legendselected",te.curry(ae,"select")),ee.registerAction("legendUnSelect","legendunselected",te.curry(ae,"unSelect")),legendAction}var LegendView$2,hasRequiredLegendView;function requireLegendView(){if(hasRequiredLegendView)return LegendView$2;hasRequiredLegendView=1;var ee=echarts$1,te=util$a,ae=requireSymbol$1(),ne=ae.createSymbol,ie=graphic$6,oe=requireListComponent(),se=oe.makeBackground,le=layout$5,ue=te.curry,ce=te.each,de=ie.Group,he=ee.extendComponentView({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new de),this._backgroundEl,this.group.add(this._selectorGroup=new de),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(me,ye,_e){var be=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!me.get("show",!0)){var xe=me.get("align"),$e=me.get("orient");(!xe||xe==="auto")&&(xe=me.get("left")==="right"&&$e==="vertical"?"right":"left");var Se=me.get("selector",!0),we=me.get("selectorPosition",!0);Se&&(!we||we==="auto")&&(we=$e==="horizontal"?"end":"start"),this.renderInner(xe,me,ye,_e,Se,$e,we);var Ae=me.getBoxLayoutParams(),Te={width:_e.getWidth(),height:_e.getHeight()},De=me.get("padding"),Me=le.getLayoutRect(Ae,Te,De),Ie=this.layoutInner(me,xe,Me,be,Se,we),Ce=le.getLayoutRect(te.defaults({width:Ie.width,height:Ie.height},Ae),Te,De);this.group.attr("position",[Ce.x-Ie.x,Ce.y-Ie.y]),this.group.add(this._backgroundEl=se(Ie,me))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(me,ye,_e,be,xe,$e,Se){var we=this.getContentGroup(),Ae=te.createHashMap(),Te=ye.get("selectedMode"),De=[];_e.eachRawSeries(function(Me){!Me.get("legendHoverLink")&&De.push(Me.id)}),ce(ye.getData(),function(Me,Ie){var Ce=Me.get("name");if(!this.newlineDisabled&&(Ce===""||Ce===`
-`)){we.add(new de({newline:!0}));return}var Ee=_e.getSeriesByName(Ce)[0];if(!Ae.get(Ce))if(Ee){var Re=Ee.getData(),ke=Re.getVisual("color"),Be=Re.getVisual("borderColor");typeof ke=="function"&&(ke=ke(Ee.getDataParams(0))),typeof Be=="function"&&(Be=Be(Ee.getDataParams(0)));var Ne=Re.getVisual("legendSymbol")||"roundRect",He=Re.getVisual("symbol"),qe=this._createItem(Ce,Ie,Me,ye,Ne,He,me,ke,Be,Te);qe.on("click",ue(pe,Ce,null,be,De)).on("mouseover",ue(ve,Ee.name,null,be,De)).on("mouseout",ue(ge,Ee.name,null,be,De)),Ae.set(Ce,!0)}else _e.eachRawSeries(function(Oe){if(!Ae.get(Ce)&&Oe.legendVisualProvider){var ze=Oe.legendVisualProvider;if(!ze.containName(Ce))return;var Ve=ze.indexOfName(Ce),Ge=ze.getItemVisual(Ve,"color"),We=ze.getItemVisual(Ve,"borderColor"),Ue="roundRect",Ye=this._createItem(Ce,Ie,Me,ye,Ue,null,me,Ge,We,Te);Ye.on("click",ue(pe,null,Ce,be,De)).on("mouseover",ue(ve,null,Ce,be,De)).on("mouseout",ue(ge,null,Ce,be,De)),Ae.set(Ce,!0)}},this)},this),xe&&this._createSelector(xe,ye,be,$e,Se)},_createSelector:function(me,ye,_e,be,xe){var $e=this.getSelectorGroup();ce(me,function(we){Se(we)});function Se(we){var Ae=we.type,Te=new ie.Text({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){_e.dispatchAction({type:Ae==="all"?"legendAllSelect":"legendInverseSelect"})}});$e.add(Te);var De=ye.getModel("selectorLabel"),Me=ye.getModel("emphasis.selectorLabel");ie.setLabelStyle(Te.style,Te.hoverStyle={},De,Me,{defaultText:we.title,isRectText:!1}),ie.setHoverStyle(Te)}},_createItem:function(me,ye,_e,be,xe,$e,Se,we,Ae,Te){var De=be.get("itemWidth"),Me=be.get("itemHeight"),Ie=be.get("inactiveColor"),Ce=be.get("inactiveBorderColor"),Ee=be.get("symbolKeepAspect"),Re=be.getModel("itemStyle"),ke=be.isSelected(me),Be=new de,Ne=_e.getModel("textStyle"),He=_e.get("icon"),qe=_e.getModel("tooltip"),Oe=qe.parentModel;xe=He||xe;var ze=ne(xe,0,0,De,Me,ke?we:Ie,Ee??!0);if(Be.add(fe(ze,xe,Re,Ae,Ce,ke)),!He&&$e&&($e!==xe||$e==="none")){var Ve=Me*.8;$e==="none"&&($e="circle");var Ge=ne($e,(De-Ve)/2,(Me-Ve)/2,Ve,Ve,ke?we:Ie,Ee??!0);Be.add(fe(Ge,$e,Re,Ae,Ce,ke))}var We=Se==="left"?De+5:-5,Ue=Se,Ye=be.get("formatter"),Ze=me;typeof Ye=="string"&&Ye?Ze=Ye.replace("{name}",me??""):typeof Ye=="function"&&(Ze=Ye(me)),Be.add(new ie.Text({style:ie.setTextStyle({},Ne,{text:Ze,x:We,y:Me/2,textFill:ke?Ne.getTextColor():Ie,textAlign:Ue,textVerticalAlign:"middle"})}));var Xe=new ie.Rect({shape:Be.getBoundingRect(),invisible:!0,tooltip:qe.get("show")?te.extend({content:me,formatter:Oe.get("formatter",!0)||function(){return me},formatterParams:{componentType:"legend",legendIndex:be.componentIndex,name:me,$vars:["name"]}},qe.option):null});return Be.add(Xe),Be.eachChild(function(it){it.silent=!0}),Xe.silent=!Te,this.getContentGroup().add(Be),ie.setHoverStyle(Be),Be.__legendDataIndex=ye,Be},layoutInner:function(me,ye,_e,be,xe,$e){var Se=this.getContentGroup(),we=this.getSelectorGroup();le.box(me.get("orient"),Se,me.get("itemGap"),_e.width,_e.height);var Ae=Se.getBoundingRect(),Te=[-Ae.x,-Ae.y];if(xe){le.box("horizontal",we,me.get("selectorItemGap",!0));var De=we.getBoundingRect(),Me=[-De.x,-De.y],Ie=me.get("selectorButtonGap",!0),Ce=me.getOrient().index,Ee=Ce===0?"width":"height",Re=Ce===0?"height":"width",ke=Ce===0?"y":"x";$e==="end"?Me[Ce]+=Ae[Ee]+Ie:Te[Ce]+=De[Ee]+Ie,Me[1-Ce]+=Ae[Re]/2-De[Re]/2,we.attr("position",Me),Se.attr("position",Te);var Be={x:0,y:0};return Be[Ee]=Ae[Ee]+Ie+De[Ee],Be[Re]=Math.max(Ae[Re],De[Re]),Be[ke]=Math.min(0,De[ke]+Me[1-Ce]),Be}else return Se.attr("position",Te),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});function fe(me,ye,_e,be,xe,$e){var Se;return ye!=="line"&&ye.indexOf("empty")<0?(Se=_e.getItemStyle(),me.style.stroke=be,$e||(Se.stroke=xe)):Se=_e.getItemStyle(["borderWidth","borderColor"]),me.setStyle(Se)}function pe(me,ye,_e,be){ge(me,ye,_e,be),_e.dispatchAction({type:"legendToggleSelect",name:me??ye}),ve(me,ye,_e,be)}function ve(me,ye,_e,be){var xe=_e.getZr().storage.getDisplayList()[0];xe&&xe.useHoverLayer||_e.dispatchAction({type:"highlight",seriesName:me,name:ye,excludeSeriesId:be})}function ge(me,ye,_e,be){var xe=_e.getZr().storage.getDisplayList()[0];xe&&xe.useHoverLayer||_e.dispatchAction({type:"downplay",seriesName:me,name:ye,excludeSeriesId:be})}return LegendView$2=he,LegendView$2}var legendFilter$1,hasRequiredLegendFilter;function requireLegendFilter(){if(hasRequiredLegendFilter)return legendFilter$1;hasRequiredLegendFilter=1;function ee(te){var ae=te.findComponents({mainType:"legend"});ae&&ae.length&&te.filterSeries(function(ne){for(var ie=0;ie<ae.length;ie++)if(!ae[ie].isSelected(ne.name))return!1;return!0})}return legendFilter$1=ee,legendFilter$1}var hasRequiredLegend;function requireLegend(){if(hasRequiredLegend)return legend;hasRequiredLegend=1;var ee=echarts$1;requireLegendModel(),requireLegendAction(),requireLegendView();var te=requireLegendFilter(),ae=Component$1;return ee.registerProcessor(ee.PRIORITY.PROCESSOR.SERIES_FILTER,te),ae.registerSubTypeDefaulter("legend",function(){return"plain"}),legend}var ScrollableLegendModel_1,hasRequiredScrollableLegendModel;function requireScrollableLegendModel(){if(hasRequiredScrollableLegendModel)return ScrollableLegendModel_1;hasRequiredScrollableLegendModel=1;var ee=requireLegendModel(),te=layout$5,ae=te.mergeLayoutParam,ne=te.getLayoutParams,ie=ee.extend({type:"legend.scroll",setScrollDataIndex:function(le){this.option.scrollDataIndex=le},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(le,ue,ce,de){var he=ne(le);ie.superCall(this,"init",le,ue,ce,de),oe(this,le,he)},mergeOption:function(le,ue){ie.superCall(this,"mergeOption",le,ue),oe(this,this.option,le)}});function oe(le,ue,ce){var de=le.getOrient(),he=[1,1];he[de.index]=0,ae(ue,ce,{type:"box",ignoreSize:he})}var se=ie;return ScrollableLegendModel_1=se,ScrollableLegendModel_1}var ScrollableLegendView_1,hasRequiredScrollableLegendView;function requireScrollableLegendView(){if(hasRequiredScrollableLegendView)return ScrollableLegendView_1;hasRequiredScrollableLegendView=1;var ee=util$a,te=graphic$6,ae=layout$5,ne=requireLegendView(),ie=te.Group,oe=["width","height"],se=["x","y"],le=ne.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){le.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new ie),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new ie),this._showController},resetInner:function(){le.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(ce,de,he,fe,pe,ve,ge){var me=this;le.superCall(this,"renderInner",ce,de,he,fe,pe,ve,ge);var ye=this._controllerGroup,_e=de.get("pageIconSize",!0);ee.isArray(_e)||(_e=[_e,_e]),xe("pagePrev",0);var be=de.getModel("pageTextStyle");ye.add(new te.Text({name:"pageText",style:{textFill:be.getTextColor(),font:be.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),xe("pageNext",1);function xe($e,Se){var we=$e+"DataIndex",Ae=te.createIcon(de.get("pageIcons",!0)[de.getOrient().name][Se],{onclick:ee.bind(me._pageGo,me,we,de,fe)},{x:-_e[0]/2,y:-_e[1]/2,width:_e[0],height:_e[1]});Ae.name=$e,ye.add(Ae)}},layoutInner:function(ce,de,he,fe,pe,ve){var ge=this.getSelectorGroup(),me=ce.getOrient().index,ye=oe[me],_e=se[me],be=oe[1-me],xe=se[1-me];pe&&ae.box("horizontal",ge,ce.get("selectorItemGap",!0));var $e=ce.get("selectorButtonGap",!0),Se=ge.getBoundingRect(),we=[-Se.x,-Se.y],Ae=ee.clone(he);pe&&(Ae[ye]=he[ye]-Se[ye]-$e);var Te=this._layoutContentAndController(ce,fe,Ae,me,ye,be,xe);if(pe){if(ve==="end")we[me]+=Te[ye]+$e;else{var De=Se[ye]+$e;we[me]-=De,Te[_e]-=De}Te[ye]+=Se[ye]+$e,we[1-me]+=Te[xe]+Te[be]/2-Se[be]/2,Te[be]=Math.max(Te[be],Se[be]),Te[xe]=Math.min(Te[xe],Se[xe]+we[1-me]),ge.attr("position",we)}return Te},_layoutContentAndController:function(ce,de,he,fe,pe,ve,ge){var me=this.getContentGroup(),ye=this._containerGroup,_e=this._controllerGroup;ae.box(ce.get("orient"),me,ce.get("itemGap"),fe?he.width:null,fe?null:he.height),ae.box("horizontal",_e,ce.get("pageButtonItemGap",!0));var be=me.getBoundingRect(),xe=_e.getBoundingRect(),$e=this._showController=be[pe]>he[pe],Se=[-be.x,-be.y];de||(Se[fe]=me.position[fe]);var we=[0,0],Ae=[-xe.x,-xe.y],Te=ee.retrieve2(ce.get("pageButtonGap",!0),ce.get("itemGap",!0));if($e){var De=ce.get("pageButtonPosition",!0);De==="end"?Ae[fe]+=he[pe]-xe[pe]:we[fe]+=xe[pe]+Te}Ae[1-fe]+=be[ve]/2-xe[ve]/2,me.attr("position",Se),ye.attr("position",we),_e.attr("position",Ae);var Me={x:0,y:0};if(Me[pe]=$e?he[pe]:be[pe],Me[ve]=Math.max(be[ve],xe[ve]),Me[ge]=Math.min(0,xe[ge]+Ae[1-fe]),ye.__rectSize=he[pe],$e){var Ie={x:0,y:0};Ie[pe]=Math.max(he[pe]-xe[pe]-Te,0),Ie[ve]=Me[ve],ye.setClipPath(new te.Rect({shape:Ie})),ye.__rectSize=Ie[pe]}else _e.eachChild(function(Ee){Ee.attr({invisible:!0,silent:!0})});var Ce=this._getPageInfo(ce);return Ce.pageIndex!=null&&te.updateProps(me,{position:Ce.contentPosition},$e?ce:!1),this._updatePageInfoView(ce,Ce),Me},_pageGo:function(ce,de,he){var fe=this._getPageInfo(de)[ce];fe!=null&&he.dispatchAction({type:"legendScroll",scrollDataIndex:fe,legendId:de.id})},_updatePageInfoView:function(ce,de){var he=this._controllerGroup;ee.each(["pagePrev","pageNext"],function(ye){var _e=de[ye+"DataIndex"]!=null,be=he.childOfName(ye);be&&(be.setStyle("fill",_e?ce.get("pageIconColor",!0):ce.get("pageIconInactiveColor",!0)),be.cursor=_e?"pointer":"default")});var fe=he.childOfName("pageText"),pe=ce.get("pageFormatter"),ve=de.pageIndex,ge=ve!=null?ve+1:0,me=de.pageCount;fe&&pe&&fe.setStyle("text",ee.isString(pe)?pe.replace("{current}",ge).replace("{total}",me):pe({current:ge,total:me}))},_getPageInfo:function(ce){var de=ce.get("scrollDataIndex",!0),he=this.getContentGroup(),fe=this._containerGroup.__rectSize,pe=ce.getOrient().index,ve=oe[pe],ge=se[pe],me=this._findTargetItemIndex(de),ye=he.children(),_e=ye[me],be=ye.length,xe=be?1:0,$e={contentPosition:he.position.slice(),pageCount:xe,pageIndex:xe-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!_e)return $e;var Se=Me(_e);$e.contentPosition[pe]=-Se.s;for(var we=me+1,Ae=Se,Te=Se,De=null;we<=be;++we)De=Me(ye[we]),(!De&&Te.e>Ae.s+fe||De&&!Ie(De,Ae.s))&&(Te.i>Ae.i?Ae=Te:Ae=De,Ae&&($e.pageNextDataIndex==null&&($e.pageNextDataIndex=Ae.i),++$e.pageCount)),Te=De;for(var we=me-1,Ae=Se,Te=Se,De=null;we>=-1;--we)De=Me(ye[we]),(!De||!Ie(Te,De.s))&&Ae.i<Te.i&&(Te=Ae,$e.pagePrevDataIndex==null&&($e.pagePrevDataIndex=Ae.i),++$e.pageCount,++$e.pageIndex),Ae=De;return $e;function Me(Ce){if(Ce){var Ee=Ce.getBoundingRect(),Re=Ee[ge]+Ce.position[pe];return{s:Re,e:Re+Ee[ve],i:Ce.__legendDataIndex}}}function Ie(Ce,Ee){return Ce.e>=Ee&&Ce.s<=Ee+fe}},_findTargetItemIndex:function(ce){if(!this._showController)return 0;var de,he=this.getContentGroup(),fe;return he.eachChild(function(pe,ve){var ge=pe.__legendDataIndex;fe==null&&ge!=null&&(fe=ve),ge===ce&&(de=ve)}),de??fe}}),ue=le;return ScrollableLegendView_1=ue,ScrollableLegendView_1}var scrollableLegendAction={},hasRequiredScrollableLegendAction;function requireScrollableLegendAction(){if(hasRequiredScrollableLegendAction)return scrollableLegendAction;hasRequiredScrollableLegendAction=1;var ee=echarts$1;return ee.registerAction("legendScroll","legendscroll",function(te,ae){var ne=te.scrollDataIndex;ne!=null&&ae.eachComponent({mainType:"legend",subType:"scroll",query:te},function(ie){ie.setScrollDataIndex(ne)})}),scrollableLegendAction}var hasRequiredLegendScroll;function requireLegendScroll(){return hasRequiredLegendScroll||(hasRequiredLegendScroll=1,requireLegend(),requireScrollableLegendModel(),requireScrollableLegendView(),requireScrollableLegendAction()),legendScroll}var dataZoom={},dataZoomSlider={},SliderZoomModel_1,hasRequiredSliderZoomModel;function requireSliderZoomModel(){if(hasRequiredSliderZoomModel)return SliderZoomModel_1;hasRequiredSliderZoomModel=1;var ee=requireDataZoomModel(),te=ee.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}}),ae=te;return SliderZoomModel_1=ae,SliderZoomModel_1}var SliderZoomView_1,hasRequiredSliderZoomView;function requireSliderZoomView(){if(hasRequiredSliderZoomView)return SliderZoomView_1;hasRequiredSliderZoomView=1;var ee=util$a,te=event$1,ae=graphic$6,ne=throttle$3,ie=requireDataZoomView(),oe=requireNumber(),se=layout$5,le=requireSliderMove(),ue=ae.Rect,ce=oe.linearMap,de=oe.asc,he=ee.bind,fe=ee.each,pe=7,ve=1,ge=30,me="horizontal",ye="vertical",_e=5,be=["line","bar","candlestick","scatter"],xe=ie.extend({type:"dataZoom.slider",init:function(Ae,Te){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=Te},render:function(Ae,Te,De,Me){if(xe.superApply(this,"render",arguments),ne.createOrUpdate(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=Ae.get("orient"),this.dataZoomModel.get("show")===!1){this.group.removeAll();return}(!Me||Me.type!=="dataZoom"||Me.from!==this.uid)&&this._buildView(),this._updateView()},remove:function(){xe.superApply(this,"remove",arguments),ne.clear(this,"_dispatchZoomAction")},dispose:function(){xe.superApply(this,"dispose",arguments),ne.clear(this,"_dispatchZoomAction")},_buildView:function(){var Ae=this.group;Ae.removeAll(),this._resetLocation(),this._resetInterval();var Te=this._displayables.barGroup=new ae.Group;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),Ae.add(Te),this._positionGroup()},_resetLocation:function(){var Ae=this.dataZoomModel,Te=this.api,De=this._findCoordRect(),Me={width:Te.getWidth(),height:Te.getHeight()},Ie=this._orient===me?{right:Me.width-De.x-De.width,top:Me.height-ge-pe,width:De.width,height:ge}:{right:pe,top:De.y,width:ge,height:De.height},Ce=se.getLayoutParams(Ae.option);ee.each(["right","top","width","height"],function(Re){Ce[Re]==="ph"&&(Ce[Re]=Ie[Re])});var Ee=se.getLayoutRect(Ce,Me,Ae.padding);this._location={x:Ee.x,y:Ee.y},this._size=[Ee.width,Ee.height],this._orient===ye&&this._size.reverse()},_positionGroup:function(){var Ae=this.group,Te=this._location,De=this._orient,Me=this.dataZoomModel.getFirstTargetAxisModel(),Ie=Me&&Me.get("inverse"),Ce=this._displayables.barGroup,Ee=(this._dataShadowInfo||{}).otherAxisInverse;Ce.attr(De===me&&!Ie?{scale:Ee?[1,1]:[1,-1]}:De===me&&Ie?{scale:Ee?[-1,1]:[-1,-1]}:De===ye&&!Ie?{scale:Ee?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:Ee?[-1,-1]:[-1,1],rotation:Math.PI/2});var Re=Ae.getBoundingRect([Ce]);Ae.attr("position",[Te.x-Re.x,Te.y-Re.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var Ae=this.dataZoomModel,Te=this._size,De=this._displayables.barGroup;De.add(new ue({silent:!0,shape:{x:0,y:0,width:Te[0],height:Te[1]},style:{fill:Ae.get("backgroundColor")},z2:-40})),De.add(new ue({shape:{x:0,y:0,width:Te[0],height:Te[1]},style:{fill:"transparent"},z2:0,onclick:ee.bind(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var Ae=this._dataShadowInfo=this._prepareDataShadowInfo();if(Ae){var Te=this._size,De=Ae.series,Me=De.getRawData(),Ie=De.getShadowDim?De.getShadowDim():Ae.otherDim;if(Ie!=null){var Ce=Me.getDataExtent(Ie),Ee=(Ce[1]-Ce[0])*.3;Ce=[Ce[0]-Ee,Ce[1]+Ee];var Re=[0,Te[1]],ke=[0,Te[0]],Be=[[Te[0],0],[0,0]],Ne=[],He=ke[1]/(Me.count()-1),qe=0,Oe=Math.round(Me.count()/Te[0]),ze;Me.each([Ie],function(Ge,We){if(Oe>0&&We%Oe){qe+=He;return}var Ue=Ge==null||isNaN(Ge)||Ge==="",Ye=Ue?0:ce(Ge,Ce,Re,!0);Ue&&!ze&&We?(Be.push([Be[Be.length-1][0],0]),Ne.push([Ne[Ne.length-1][0],0])):!Ue&&ze&&(Be.push([qe,0]),Ne.push([qe,0])),Be.push([qe,Ye]),Ne.push([qe,Ye]),qe+=He,ze=Ue});var Ve=this.dataZoomModel;this._displayables.barGroup.add(new ae.Polygon({shape:{points:Be},style:ee.defaults({fill:Ve.get("dataBackgroundColor")},Ve.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new ae.Polyline({shape:{points:Ne},style:Ve.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var Ae=this.dataZoomModel,Te=Ae.get("showDataShadow");if(Te!==!1){var De,Me=this.ecModel;return Ae.eachTargetAxis(function(Ie,Ce){var Ee=Ae.getAxisProxy(Ie.name,Ce).getTargetSeriesModels();ee.each(Ee,function(Re){if(!De&&!(Te!==!0&&ee.indexOf(be,Re.get("type"))<0)){var ke=Me.getComponent(Ie.axis,Ce).axis,Be=$e(Ie.name),Ne,He=Re.coordinateSystem;Be!=null&&He.getOtherAxis&&(Ne=He.getOtherAxis(ke).inverse),Be=Re.getData().mapDimension(Be),De={thisAxis:ke,series:Re,thisDim:Ie.name,otherDim:Be,otherAxisInverse:Ne}}},this)},this),De}},_renderHandle:function(){var Ae=this._displayables,Te=Ae.handles=[],De=Ae.handleLabels=[],Me=this._displayables.barGroup,Ie=this._size,Ce=this.dataZoomModel;Me.add(Ae.filler=new ue({draggable:!0,cursor:Se(this._orient),drift:he(this._onDragMove,this,"all"),ondragstart:he(this._showDataInfo,this,!0),ondragend:he(this._onDragEnd,this),onmouseover:he(this._showDataInfo,this,!0),onmouseout:he(this._showDataInfo,this,!1),style:{fill:Ce.get("fillerColor"),textPosition:"inside"}})),Me.add(new ue({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:Ie[0],height:Ie[1]},style:{stroke:Ce.get("dataBackgroundColor")||Ce.get("borderColor"),lineWidth:ve,fill:"rgba(0,0,0,0)"}})),fe([0,1],function(Ee){var Re=ae.createIcon(Ce.get("handleIcon"),{cursor:Se(this._orient),draggable:!0,drift:he(this._onDragMove,this,Ee),ondragend:he(this._onDragEnd,this),onmouseover:he(this._showDataInfo,this,!0),onmouseout:he(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),ke=Re.getBoundingRect();this._handleHeight=oe.parsePercent(Ce.get("handleSize"),this._size[1]),this._handleWidth=ke.width/ke.height*this._handleHeight,Re.setStyle(Ce.getModel("handleStyle").getItemStyle());var Be=Ce.get("handleColor");Be!=null&&(Re.style.fill=Be),Me.add(Te[Ee]=Re);var Ne=Ce.textStyleModel;this.group.add(De[Ee]=new ae.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:Ne.getTextColor(),textFont:Ne.getFont()},z2:10}))},this)},_resetInterval:function(){var Ae=this._range=this.dataZoomModel.getPercentRange(),Te=this._getViewExtent();this._handleEnds=[ce(Ae[0],[0,100],Te,!0),ce(Ae[1],[0,100],Te,!0)]},_updateInterval:function(Ae,Te){var De=this.dataZoomModel,Me=this._handleEnds,Ie=this._getViewExtent(),Ce=De.findRepresentativeAxisProxy().getMinMaxSpan(),Ee=[0,100];le(Te,Me,Ie,De.get("zoomLock")?"all":Ae,Ce.minSpan!=null?ce(Ce.minSpan,Ee,Ie,!0):null,Ce.maxSpan!=null?ce(Ce.maxSpan,Ee,Ie,!0):null);var Re=this._range,ke=this._range=de([ce(Me[0],Ie,Ee,!0),ce(Me[1],Ie,Ee,!0)]);return!Re||Re[0]!==ke[0]||Re[1]!==ke[1]},_updateView:function(Ae){var Te=this._displayables,De=this._handleEnds,Me=de(De.slice()),Ie=this._size;fe([0,1],function(Ce){var Ee=Te.handles[Ce],Re=this._handleHeight;Ee.attr({scale:[Re/2,Re/2],position:[De[Ce],Ie[1]/2-Re/2]})},this),Te.filler.setShape({x:Me[0],y:0,width:Me[1]-Me[0],height:Ie[1]}),this._updateDataInfo(Ae)},_updateDataInfo:function(Ae){var Te=this.dataZoomModel,De=this._displayables,Me=De.handleLabels,Ie=this._orient,Ce=["",""];if(Te.get("showDetail")){var Ee=Te.findRepresentativeAxisProxy();if(Ee){var Re=Ee.getAxisModel().axis,ke=this._range,Be=Ae?Ee.calculateDataWindow({start:ke[0],end:ke[1]}).valueWindow:Ee.getDataValueWindow();Ce=[this._formatLabel(Be[0],Re),this._formatLabel(Be[1],Re)]}}var Ne=de(this._handleEnds.slice());He.call(this,0),He.call(this,1);function He(qe){var Oe=ae.getTransform(De.handles[qe].parent,this.group),ze=ae.transformDirection(qe===0?"right":"left",Oe),Ve=this._handleWidth/2+_e,Ge=ae.applyTransform([Ne[qe]+(qe===0?-Ve:Ve),this._size[1]/2],Oe);Me[qe].setStyle({x:Ge[0],y:Ge[1],textVerticalAlign:Ie===me?"middle":ze,textAlign:Ie===me?ze:"center",text:Ce[qe]})}},_formatLabel:function(Ae,Te){var De=this.dataZoomModel,Me=De.get("labelFormatter"),Ie=De.get("labelPrecision");(Ie==null||Ie==="auto")&&(Ie=Te.getPixelPrecision());var Ce=Ae==null||isNaN(Ae)?"":Te.type==="category"||Te.type==="time"?Te.scale.getLabel(Math.round(Ae)):Ae.toFixed(Math.min(Ie,20));return ee.isFunction(Me)?Me(Ae,Ce):ee.isString(Me)?Me.replace("{value}",Ce):Ce},_showDataInfo:function(Ae){Ae=this._dragging||Ae;var Te=this._displayables.handleLabels;Te[0].attr("invisible",!Ae),Te[1].attr("invisible",!Ae)},_onDragMove:function(Ae,Te,De,Me){this._dragging=!0,te.stop(Me.event);var Ie=this._displayables.barGroup.getLocalTransform(),Ce=ae.applyTransform([Te,De],Ie,!0),Ee=this._updateInterval(Ae,Ce[0]),Re=this.dataZoomModel.get("realtime");this._updateView(!Re),Ee&&Re&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1);var Ae=this.dataZoomModel.get("realtime");!Ae&&this._dispatchZoomAction()},_onClickPanelClick:function(Ae){var Te=this._size,De=this._displayables.barGroup.transformCoordToLocal(Ae.offsetX,Ae.offsetY);if(!(De[0]<0||De[0]>Te[0]||De[1]<0||De[1]>Te[1])){var Me=this._handleEnds,Ie=(Me[0]+Me[1])/2,Ce=this._updateInterval("all",De[0]-Ie);this._updateView(),Ce&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var Ae=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:Ae[0],end:Ae[1]})},_findCoordRect:function(){var Ae;if(fe(this.getTargetCoordInfo(),function(Me){if(!Ae&&Me.length){var Ie=Me[0].model.coordinateSystem;Ae=Ie.getRect&&Ie.getRect()}}),!Ae){var Te=this.api.getWidth(),De=this.api.getHeight();Ae={x:Te*.2,y:De*.2,width:Te*.6,height:De*.6}}return Ae}});function $e(Ae){var Te={x:"y",y:"x",radius:"angle",angle:"radius"};return Te[Ae]}function Se(Ae){return Ae==="vertical"?"ns-resize":"ew-resize"}var we=xe;return SliderZoomView_1=we,SliderZoomView_1}var hasRequiredDataZoomSlider;function requireDataZoomSlider(){return hasRequiredDataZoomSlider||(hasRequiredDataZoomSlider=1,requireTypeDefaulter$2(),requireDataZoomModel(),requireDataZoomView(),requireSliderZoomModel(),requireSliderZoomView(),requireDataZoomProcessor(),requireDataZoomAction()),dataZoomSlider}var dataZoomInside={},InsideZoomModel$2,hasRequiredInsideZoomModel;function requireInsideZoomModel(){if(hasRequiredInsideZoomModel)return InsideZoomModel$2;hasRequiredInsideZoomModel=1;var ee=requireDataZoomModel(),te=ee.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});return InsideZoomModel$2=te,InsideZoomModel$2}var roams={},hasRequiredRoams;function requireRoams(){if(hasRequiredRoams)return roams;hasRequiredRoams=1;var ee=util$a,te=requireRoamController(),ae=throttle$3,ne="\0_ec_dataZoom_roams";function ie(fe,pe){var ve=le(fe),ge=pe.dataZoomId,me=pe.coordId;ee.each(ve,function(be,xe){var $e=be.dataZoomInfos;$e[ge]&&ee.indexOf(pe.allCoordIds,me)<0&&(delete $e[ge],be.count--)}),ce(ve);var ye=ve[me];ye||(ye=ve[me]={coordId:me,dataZoomInfos:{},count:0},ye.controller=ue(fe,ye),ye.dispatchAction=ee.curry(de,fe)),!ye.dataZoomInfos[ge]&&ye.count++,ye.dataZoomInfos[ge]=pe;var _e=he(ye.dataZoomInfos);ye.controller.enable(_e.controlType,_e.opt),ye.controller.setPointerChecker(pe.containsPoint),ae.createOrUpdate(ye,"dispatchAction",pe.dataZoomModel.get("throttle",!0),"fixRate")}function oe(fe,pe){var ve=le(fe);ee.each(ve,function(ge){ge.controller.dispose();var me=ge.dataZoomInfos;me[pe]&&(delete me[pe],ge.count--)}),ce(ve)}function se(fe){return fe.type+"\0_"+fe.id}function le(fe){var pe=fe.getZr();return pe[ne]||(pe[ne]={})}function ue(fe,pe){var ve=new te(fe.getZr());return ee.each(["pan","zoom","scrollMove"],function(ge){ve.on(ge,function(me){var ye=[];ee.each(pe.dataZoomInfos,function(_e){if(me.isAvailableBehavior(_e.dataZoomModel.option)){var be=(_e.getRange||{})[ge],xe=be&&be(pe.controller,me);!_e.dataZoomModel.get("disabled",!0)&&xe&&ye.push({dataZoomId:_e.dataZoomId,start:xe[0],end:xe[1]})}}),ye.length&&pe.dispatchAction(ye)})}),ve}function ce(fe){ee.each(fe,function(pe,ve){pe.count||(pe.controller.dispose(),delete fe[ve])})}function de(fe,pe){fe.dispatchAction({type:"dataZoom",batch:pe})}function he(fe){var pe,ve="type_",ge={type_true:2,type_move:1,type_false:0,type_undefined:-1},me=!0;return ee.each(fe,function(ye){var _e=ye.dataZoomModel,be=_e.get("disabled",!0)?!1:_e.get("zoomLock",!0)?"move":!0;ge[ve+be]>ge[ve+pe]&&(pe=be),me&=_e.get("preventDefaultMouseMove",!0)}),{controlType:pe,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!me}}}return roams.register=ie,roams.unregister=oe,roams.generateCoordId=se,roams}var InsideZoomView_1,hasRequiredInsideZoomView;function requireInsideZoomView(){if(hasRequiredInsideZoomView)return InsideZoomView_1;hasRequiredInsideZoomView=1;var ee=util$a,te=requireDataZoomView(),ae=requireSliderMove(),ne=requireRoams(),ie=ee.bind,oe=te.extend({type:"dataZoom.inside",init:function(de,he){this._range},render:function(de,he,fe,pe){oe.superApply(this,"render",arguments),this._range=de.getPercentRange(),ee.each(this.getTargetCoordInfo(),function(ve,ge){var me=ee.map(ve,function(ye){return ne.generateCoordId(ye.model)});ee.each(ve,function(ye){var _e=ye.model,be={};ee.each(["pan","zoom","scrollMove"],function(xe){be[xe]=ie(se[xe],this,ye,ge)},this),ne.register(fe,{coordId:ne.generateCoordId(_e),allCoordIds:me,containsPoint:function(xe,$e,Se){return _e.coordinateSystem.containPoint([$e,Se])},dataZoomId:de.id,dataZoomModel:de,getRange:be})},this)},this)},dispose:function(){ne.unregister(this.api,this.dataZoomModel.id),oe.superApply(this,"dispose",arguments),this._range=null}}),se={zoom:function(de,he,fe,pe){var ve=this._range,ge=ve.slice(),me=de.axisModels[0];if(me){var ye=ue[he](null,[pe.originX,pe.originY],me,fe,de),_e=(ye.signal>0?ye.pixelStart+ye.pixelLength-ye.pixel:ye.pixel-ye.pixelStart)/ye.pixelLength*(ge[1]-ge[0])+ge[0],be=Math.max(1/pe.scale,0);ge[0]=(ge[0]-_e)*be+_e,ge[1]=(ge[1]-_e)*be+_e;var xe=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(ae(0,ge,[0,100],0,xe.minSpan,xe.maxSpan),this._range=ge,ve[0]!==ge[0]||ve[1]!==ge[1])return ge}},pan:le(function(de,he,fe,pe,ve,ge){var me=ue[pe]([ge.oldX,ge.oldY],[ge.newX,ge.newY],he,ve,fe);return me.signal*(de[1]-de[0])*me.pixel/me.pixelLength}),scrollMove:le(function(de,he,fe,pe,ve,ge){var me=ue[pe]([0,0],[ge.scrollDelta,ge.scrollDelta],he,ve,fe);return me.signal*(de[1]-de[0])*ge.scrollDelta})};function le(de){return function(he,fe,pe,ve){var ge=this._range,me=ge.slice(),ye=he.axisModels[0];if(ye){var _e=de(me,ye,he,fe,pe,ve);if(ae(_e,me,[0,100],"all"),this._range=me,ge[0]!==me[0]||ge[1]!==me[1])return me}}}var ue={grid:function(de,he,fe,pe,ve){var ge=fe.axis,me={},ye=ve.model.coordinateSystem.getRect();return de=de||[0,0],ge.dim==="x"?(me.pixel=he[0]-de[0],me.pixelLength=ye.width,me.pixelStart=ye.x,me.signal=ge.inverse?1:-1):(me.pixel=he[1]-de[1],me.pixelLength=ye.height,me.pixelStart=ye.y,me.signal=ge.inverse?-1:1),me},polar:function(de,he,fe,pe,ve){var ge=fe.axis,me={},ye=ve.model.coordinateSystem,_e=ye.getRadiusAxis().getExtent(),be=ye.getAngleAxis().getExtent();return de=de?ye.pointToCoord(de):[0,0],he=ye.pointToCoord(he),fe.mainType==="radiusAxis"?(me.pixel=he[0]-de[0],me.pixelLength=_e[1]-_e[0],me.pixelStart=_e[0],me.signal=ge.inverse?1:-1):(me.pixel=he[1]-de[1],me.pixelLength=be[1]-be[0],me.pixelStart=be[0],me.signal=ge.inverse?-1:1),me},singleAxis:function(de,he,fe,pe,ve){var ge=fe.axis,me=ve.model.coordinateSystem.getRect(),ye={};return de=de||[0,0],ge.orient==="horizontal"?(ye.pixel=he[0]-de[0],ye.pixelLength=me.width,ye.pixelStart=me.x,ye.signal=ge.inverse?1:-1):(ye.pixel=he[1]-de[1],ye.pixelLength=me.height,ye.pixelStart=me.y,ye.signal=ge.inverse?-1:1),ye}},ce=oe;return InsideZoomView_1=ce,InsideZoomView_1}var hasRequiredDataZoomInside;function requireDataZoomInside(){return hasRequiredDataZoomInside||(hasRequiredDataZoomInside=1,requireTypeDefaulter$2(),requireDataZoomModel(),requireDataZoomView(),requireInsideZoomModel(),requireInsideZoomView(),requireDataZoomProcessor(),requireDataZoomAction()),dataZoomInside}var hasRequiredDataZoom;function requireDataZoom(){return hasRequiredDataZoom||(hasRequiredDataZoom=1,requireDataZoomSlider(),requireDataZoomInside()),dataZoom}var visualMap={},visualMapContinuous={},preprocessor,hasRequiredPreprocessor;function requirePreprocessor(){if(hasRequiredPreprocessor)return preprocessor;hasRequiredPreprocessor=1;var ee=util$a,te=ee.each;function ae(ie){var oe=ie&&ie.visualMap;ee.isArray(oe)||(oe=oe?[oe]:[]),te(oe,function(se){if(se){ne(se,"splitList")&&!ne(se,"pieces")&&(se.pieces=se.splitList,delete se.splitList);var le=se.pieces;le&&ee.isArray(le)&&te(le,function(ue){ee.isObject(ue)&&(ne(ue,"start")&&!ne(ue,"min")&&(ue.min=ue.start),ne(ue,"end")&&!ne(ue,"max")&&(ue.max=ue.end))})}})}function ne(ie,oe){return ie&&ie.hasOwnProperty&&ie.hasOwnProperty(oe)}return preprocessor=ae,preprocessor}var typeDefaulter={},hasRequiredTypeDefaulter;function requireTypeDefaulter(){if(hasRequiredTypeDefaulter)return typeDefaulter;hasRequiredTypeDefaulter=1;var ee=Component$1;return ee.registerSubTypeDefaulter("visualMap",function(te){return!te.categories&&(!(te.pieces?te.pieces.length>0:te.splitNumber>0)||te.calculable)?"continuous":"piecewise"}),typeDefaulter}var visualEncoding={},hasRequiredVisualEncoding;function requireVisualEncoding(){if(hasRequiredVisualEncoding)return visualEncoding;hasRequiredVisualEncoding=1;var ee=echarts$1,te=util$a,ae=requireVisualSolution(),ne=requireVisualMapping(),ie=ee.PRIORITY.VISUAL.COMPONENT;ee.registerVisual(ie,{createOnAllSeries:!0,reset:function(se,le){var ue=[];return le.eachComponent("visualMap",function(ce){var de=se.pipelineContext;!ce.isTargetSeries(se)||de&&de.large||ue.push(ae.incrementalApplyVisual(ce.stateList,ce.targetVisuals,te.bind(ce.getValueState,ce),ce.getDataDimension(se.getData())))}),ue}}),ee.registerVisual(ie,{createOnAllSeries:!0,reset:function(se,le){var ue=se.getData(),ce=[];le.eachComponent("visualMap",function(de){if(de.isTargetSeries(se)){var he=de.getVisualMeta(te.bind(oe,null,se,de))||{stops:[],outerColors:[]},fe=de.getDataDimension(ue),pe=ue.getDimensionInfo(fe);pe!=null&&(he.dimension=pe.index,ce.push(he))}}),se.getData().setVisual("visualMeta",ce)}});function oe(se,le,ue,ce){for(var de=le.targetVisuals[ce],he=ne.prepareVisualTypes(de),fe={color:se.getData().getVisual("color")},pe=0,ve=he.length;pe<ve;pe++){var ge=he[pe],me=de[ge==="opacity"?"__alphaForOpacity":ge];me&&me.applyVisual(ue,ye,_e)}return fe.color;function ye(be){return fe[be]}function _e(be,xe){fe[be]=xe}}return visualEncoding}var visualDefault_1,hasRequiredVisualDefault;function requireVisualDefault(){if(hasRequiredVisualDefault)return visualDefault_1;hasRequiredVisualDefault=1;var ee=util$a,te={get:function(ie,oe,se){var le=ee.clone((ae[ie]||{})[oe]);return se&&ee.isArray(le)?le[le.length-1]:le}},ae={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},ne=te;return visualDefault_1=ne,visualDefault_1}var VisualMapModel_1,hasRequiredVisualMapModel;function requireVisualMapModel(){if(hasRequiredVisualMapModel)return VisualMapModel_1;hasRequiredVisualMapModel=1;var ee=echarts$1,te=util$a,ae=env_1,ne=requireVisualDefault(),ie=requireVisualMapping(),oe=requireVisualSolution(),se=model,le=requireNumber(),ue=ie.mapVisual,ce=ie.eachVisual,de=te.isArray,he=te.each,fe=le.asc,pe=le.linearMap,ve=te.noop,ge=ee.extendComponentModel({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(ye,_e,be){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(ye,be)},optionUpdated:function(ye,_e){var be=this.option;ae.canvasSupported||(be.realtime=!1),!_e&&oe.replaceVisualOption(be,ye,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(ye){var _e=this.stateList;ye=te.bind(ye,this),this.controllerVisuals=oe.createVisualMappings(this.option.controller,_e,ye),this.targetVisuals=oe.createVisualMappings(this.option.target,_e,ye)},getTargetSeriesIndices:function(){var ye=this.option.seriesIndex,_e=[];return ye==null||ye==="all"?this.ecModel.eachSeries(function(be,xe){_e.push(xe)}):_e=se.normalizeToArray(ye),_e},eachTargetSeries:function(ye,_e){te.each(this.getTargetSeriesIndices(),function(be){ye.call(_e,this.ecModel.getSeriesByIndex(be))},this)},isTargetSeries:function(ye){var _e=!1;return this.eachTargetSeries(function(be){be===ye&&(_e=!0)}),_e},formatValueText:function(ye,_e,be){var xe=this.option,$e=xe.precision,Se=this.dataBound,we=xe.formatter,Ae,Te;if(be=be||["<",">"],te.isArray(ye)&&(ye=ye.slice(),Ae=!0),Te=_e?ye:Ae?[De(ye[0]),De(ye[1])]:De(ye),te.isString(we))return we.replace("{value}",Ae?Te[0]:Te).replace("{value2}",Ae?Te[1]:Te);if(te.isFunction(we))return Ae?we(ye[0],ye[1]):we(ye);if(Ae)return ye[0]===Se[0]?be[0]+" "+Te[1]:ye[1]===Se[1]?be[1]+" "+Te[0]:Te[0]+" - "+Te[1];return Te;function De(Me){return Me===Se[0]?"min":Me===Se[1]?"max":(+Me).toFixed(Math.min($e,20))}},resetExtent:function(){var ye=this.option,_e=fe([ye.min,ye.max]);this._dataExtent=_e},getDataDimension:function(ye){var _e=this.option.dimension,be=ye.dimensions;if(!(_e==null&&!be.length)){if(_e!=null)return ye.getDimension(_e);for(var xe=ye.dimensions,$e=xe.length-1;$e>=0;$e--){var Se=xe[$e],we=ye.getDimensionInfo(Se);if(!we.isCalculationCoord)return Se}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var ye=this.ecModel,_e=this.option,be={inRange:_e.inRange,outOfRange:_e.outOfRange},xe=_e.target||(_e.target={}),$e=_e.controller||(_e.controller={});te.merge(xe,be),te.merge($e,be);var Se=this.isCategory();we.call(this,xe),we.call(this,$e),Ae.call(this,xe,"inRange","outOfRange"),Te.call(this,$e);function we(De){de(_e.color)&&!De.inRange&&(De.inRange={color:_e.color.slice().reverse()}),De.inRange=De.inRange||{color:ye.get("gradientColor")},he(this.stateList,function(Me){var Ie=De[Me];if(te.isString(Ie)){var Ce=ne.get(Ie,"active",Se);Ce?(De[Me]={},De[Me][Ie]=Ce):delete De[Me]}},this)}function Ae(De,Me,Ie){var Ce=De[Me],Ee=De[Ie];Ce&&!Ee&&(Ee=De[Ie]={},he(Ce,function(Re,ke){if(ie.isValidType(ke)){var Be=ne.get(ke,"inactive",Se);Be!=null&&(Ee[ke]=Be,ke==="color"&&!Ee.hasOwnProperty("opacity")&&!Ee.hasOwnProperty("colorAlpha")&&(Ee.opacity=[0,0]))}}))}function Te(De){var Me=(De.inRange||{}).symbol||(De.outOfRange||{}).symbol,Ie=(De.inRange||{}).symbolSize||(De.outOfRange||{}).symbolSize,Ce=this.get("inactiveColor");he(this.stateList,function(Ee){var Re=this.itemSize,ke=De[Ee];ke||(ke=De[Ee]={color:Se?Ce:[Ce]}),ke.symbol==null&&(ke.symbol=Me&&te.clone(Me)||(Se?"roundRect":["roundRect"])),ke.symbolSize==null&&(ke.symbolSize=Ie&&te.clone(Ie)||(Se?Re[0]:[Re[0],Re[0]])),ke.symbol=ue(ke.symbol,function(He){return He==="none"||He==="square"?"roundRect":He});var Be=ke.symbolSize;if(Be!=null){var Ne=-1/0;ce(Be,function(He){He>Ne&&(Ne=He)}),ke.symbolSize=ue(Be,function(He){return pe(He,[0,Ne],[0,Re[0]],!0)})}},this)}},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:ve,getValueState:ve,getVisualMeta:ve}),me=ge;return VisualMapModel_1=me,VisualMapModel_1}var ContinuousModel_1,hasRequiredContinuousModel;function requireContinuousModel(){if(hasRequiredContinuousModel)return ContinuousModel_1;hasRequiredContinuousModel=1;var ee=util$a,te=requireVisualMapModel(),ae=requireNumber(),ne=[20,140],ie=te.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(le,ue){ie.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(ce){ce.mappingMethod="linear",ce.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){ie.superApply(this,"resetItemSize",arguments);var le=this.itemSize;this._orient==="horizontal"&&le.reverse(),(le[0]==null||isNaN(le[0]))&&(le[0]=ne[0]),(le[1]==null||isNaN(le[1]))&&(le[1]=ne[1])},_resetRange:function(){var le=this.getExtent(),ue=this.option.range;!ue||ue.auto?(le.auto=1,this.option.range=le):ee.isArray(ue)&&(ue[0]>ue[1]&&ue.reverse(),ue[0]=Math.max(ue[0],le[0]),ue[1]=Math.min(ue[1],le[1]))},completeVisualOption:function(){te.prototype.completeVisualOption.apply(this,arguments),ee.each(this.stateList,function(le){var ue=this.option.controller[le].symbolSize;ue&&ue[0]!==ue[1]&&(ue[0]=0)},this)},setSelected:function(le){this.option.range=le.slice(),this._resetRange()},getSelected:function(){var le=this.getExtent(),ue=ae.asc((this.get("range")||[]).slice());return ue[0]>le[1]&&(ue[0]=le[1]),ue[1]>le[1]&&(ue[1]=le[1]),ue[0]<le[0]&&(ue[0]=le[0]),ue[1]<le[0]&&(ue[1]=le[0]),ue},getValueState:function(le){var ue=this.option.range,ce=this.getExtent();return(ue[0]<=ce[0]||ue[0]<=le)&&(ue[1]>=ce[1]||le<=ue[1])?"inRange":"outOfRange"},findTargetDataIndices:function(le){var ue=[];return this.eachTargetSeries(function(ce){var de=[],he=ce.getData();he.each(this.getDataDimension(he),function(fe,pe){le[0]<=fe&&fe<=le[1]&&de.push(pe)},this),ue.push({seriesId:ce.id,dataIndex:de})},this),ue},getVisualMeta:function(le){var ue=oe(this,"outOfRange",this.getExtent()),ce=oe(this,"inRange",this.option.range.slice()),de=[];function he(_e,be){de.push({value:_e,color:le(_e,be)})}for(var fe=0,pe=0,ve=ce.length,ge=ue.length;pe<ge&&(!ce.length||ue[pe]<=ce[0]);pe++)ue[pe]<ce[fe]&&he(ue[pe],"outOfRange");for(var me=1;fe<ve;fe++,me=0)me&&de.length&&he(ce[fe],"outOfRange"),he(ce[fe],"inRange");for(var me=1;pe<ge;pe++)(!ce.length||ce[ce.length-1]<ue[pe])&&(me&&(de.length&&he(de[de.length-1].value,"outOfRange"),me=0),he(ue[pe],"outOfRange"));var ye=de.length;return{stops:de,outerColors:[ye?de[0].color:"transparent",ye?de[ye-1].color:"transparent"]}}});function oe(le,ue,ce){if(ce[0]===ce[1])return ce.slice();for(var de=200,he=(ce[1]-ce[0])/de,fe=ce[0],pe=[],ve=0;ve<=de&&fe<ce[1];ve++)pe.push(fe),fe+=he;return pe.push(ce[1]),pe}var se=ie;return ContinuousModel_1=se,ContinuousModel_1}var VisualMapView$2,hasRequiredVisualMapView;function requireVisualMapView(){if(hasRequiredVisualMapView)return VisualMapView$2;hasRequiredVisualMapView=1;var ee=echarts$1,te=util$a,ae=graphic$6,ne=format$6,ie=layout$5,oe=requireVisualMapping(),se=ee.extendComponentView({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(le,ue){this.ecModel=le,this.api=ue,this.visualMapModel},render:function(le,ue,ce,de){if(this.visualMapModel=le,le.get("show")===!1){this.group.removeAll();return}this.doRender.apply(this,arguments)},renderBackground:function(le){var ue=this.visualMapModel,ce=ne.normalizeCssArray(ue.get("padding")||0),de=le.getBoundingRect();le.add(new ae.Rect({z2:-1,silent:!0,shape:{x:de.x-ce[3],y:de.y-ce[0],width:de.width+ce[3]+ce[1],height:de.height+ce[0]+ce[2]},style:{fill:ue.get("backgroundColor"),stroke:ue.get("borderColor"),lineWidth:ue.get("borderWidth")}}))},getControllerVisual:function(le,ue,ce){ce=ce||{};var de=ce.forceState,he=this.visualMapModel,fe={};if(ue==="symbol"&&(fe.symbol=he.get("itemSymbol")),ue==="color"){var pe=he.get("contentColor");fe.color=pe}function ve(_e){return fe[_e]}function ge(_e,be){fe[_e]=be}var me=he.controllerVisuals[de||he.getValueState(le)],ye=oe.prepareVisualTypes(me);return te.each(ye,function(_e){var be=me[_e];ce.convertOpacityToAlpha&&_e==="opacity"&&(_e="colorAlpha",be=me.__alphaForOpacity),oe.dependsOn(_e,ue)&&be&&be.applyVisual(le,ve,ge)}),fe[ue]},positionGroup:function(le){var ue=this.visualMapModel,ce=this.api;ie.positionElement(le,ue.getBoxLayoutParams(),{width:ce.getWidth(),height:ce.getHeight()})},doRender:te.noop});return VisualMapView$2=se,VisualMapView$2}var helper$1={},hasRequiredHelper;function requireHelper(){if(hasRequiredHelper)return helper$1;hasRequiredHelper=1;var ee=util$a,te=layout$5,ae=te.getLayoutRect;function ne(oe,se,le){var ue=oe.option,ce=ue.align;if(ce!=null&&ce!=="auto")return ce;for(var de={width:se.getWidth(),height:se.getHeight()},he=ue.orient==="horizontal"?1:0,fe=[["left","right","width"],["top","bottom","height"]],pe=fe[he],ve=[0,null,10],ge={},me=0;me<3;me++)ge[fe[1-he][me]]=ve[me],ge[pe[me]]=me===2?le[0]:ue[pe[me]];var ye=[["x","width",3],["y","height",0]][he],_e=ae(ge,de,ue.padding);return pe[(_e.margin[ye[2]]||0)+_e[ye[0]]+_e[ye[1]]*.5<de[ye[1]]*.5?0:1]}function ie(oe,se){return ee.each(oe||[],function(le){le.dataIndex!=null&&(le.dataIndexInside=le.dataIndex,le.dataIndex=null),le.highlightKey="visualMap"+(se?se.componentIndex:"")}),oe}return helper$1.getItemAlign=ne,helper$1.makeHighDownBatch=ie,helper$1}var ContinuousView_1,hasRequiredContinuousView;function requireContinuousView(){if(hasRequiredContinuousView)return ContinuousView_1;hasRequiredContinuousView=1;var ee=util$a,te=LinearGradient_1,ae=event$1,ne=requireVisualMapView(),ie=graphic$6,oe=requireNumber(),se=requireSliderMove(),le=requireHelper(),ue=model,ce=oe.linearMap,de=ee.each,he=Math.min,fe=Math.max,pe=12,ve=6,ge=ne.extend({type:"visualMap.continuous",init:function(){ge.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(we,Ae,Te,De){(!De||De.type!=="selectDataRange"||De.from!==this.uid)&&this._buildView()},_buildView:function(){this.group.removeAll();var we=this.visualMapModel,Ae=this.group;this._orient=we.get("orient"),this._useHandle=we.get("calculable"),this._resetInterval(),this._renderBar(Ae);var Te=we.get("text");this._renderEndsText(Ae,Te,0),this._renderEndsText(Ae,Te,1),this._updateView(!0),this.renderBackground(Ae),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(Ae)},_renderEndsText:function(we,Ae,Te){if(Ae){var De=Ae[1-Te];De=De!=null?De+"":"";var Me=this.visualMapModel,Ie=Me.get("textGap"),Ce=Me.itemSize,Ee=this._shapes.barGroup,Re=this._applyTransform([Ce[0]/2,Te===0?-Ie:Ce[1]+Ie],Ee),ke=this._applyTransform(Te===0?"bottom":"top",Ee),Be=this._orient,Ne=this.visualMapModel.textStyleModel;this.group.add(new ie.Text({style:{x:Re[0],y:Re[1],textVerticalAlign:Be==="horizontal"?"middle":ke,textAlign:Be==="horizontal"?ke:"center",text:De,textFont:Ne.getFont(),textFill:Ne.getTextColor()}}))}},_renderBar:function(we){var Ae=this.visualMapModel,Te=this._shapes,De=Ae.itemSize,Me=this._orient,Ie=this._useHandle,Ce=le.getItemAlign(Ae,this.api,De),Ee=Te.barGroup=this._createBarGroup(Ce);Ee.add(Te.outOfRange=me()),Ee.add(Te.inRange=me(null,Ie?$e(this._orient):null,ee.bind(this._dragHandle,this,"all",!1),ee.bind(this._dragHandle,this,"all",!0)));var Re=Ae.textStyleModel.getTextRect("国"),ke=fe(Re.width,Re.height);Ie&&(Te.handleThumbs=[],Te.handleLabels=[],Te.handleLabelPoints=[],this._createHandle(Ee,0,De,ke,Me,Ce),this._createHandle(Ee,1,De,ke,Me,Ce)),this._createIndicator(Ee,De,ke,Me),we.add(Ee)},_createHandle:function(we,Ae,Te,De,Me){var Ie=ee.bind(this._dragHandle,this,Ae,!1),Ce=ee.bind(this._dragHandle,this,Ae,!0),Ee=me(ye(Ae,De),$e(this._orient),Ie,Ce);Ee.position[0]=Te[0],we.add(Ee);var Re=this.visualMapModel.textStyleModel,ke=new ie.Text({draggable:!0,drift:Ie,onmousemove:function(He){ae.stop(He.event)},ondragend:Ce,style:{x:0,y:0,text:"",textFont:Re.getFont(),textFill:Re.getTextColor()}});this.group.add(ke);var Be=[Me==="horizontal"?De/2:De*1.5,Me==="horizontal"?Ae===0?-(De*1.5):De*1.5:Ae===0?-De/2:De/2],Ne=this._shapes;Ne.handleThumbs[Ae]=Ee,Ne.handleLabelPoints[Ae]=Be,Ne.handleLabels[Ae]=ke},_createIndicator:function(we,Ae,Te,De){var Me=me([[0,0]],"move");Me.position[0]=Ae[0],Me.attr({invisible:!0,silent:!0}),we.add(Me);var Ie=this.visualMapModel.textStyleModel,Ce=new ie.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:Ie.getFont(),textFill:Ie.getTextColor()}});this.group.add(Ce);var Ee=[De==="horizontal"?Te/2:ve+3,0],Re=this._shapes;Re.indicator=Me,Re.indicatorLabel=Ce,Re.indicatorLabelPoint=Ee},_dragHandle:function(we,Ae,Te,De){if(this._useHandle){if(this._dragging=!Ae,!Ae){var Me=this._applyTransform([Te,De],this._shapes.barGroup,!0);this._updateInterval(we,Me[1]),this._updateView()}Ae===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),Ae?!this._hovering&&this._clearHoverLinkToSeries():xe(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[we],!1)}},_resetInterval:function(){var we=this.visualMapModel,Ae=this._dataInterval=we.getSelected(),Te=we.getExtent(),De=[0,we.itemSize[1]];this._handleEnds=[ce(Ae[0],Te,De,!0),ce(Ae[1],Te,De,!0)]},_updateInterval:function(we,Ae){Ae=Ae||0;var Te=this.visualMapModel,De=this._handleEnds,Me=[0,Te.itemSize[1]];se(Ae,De,Me,we,0);var Ie=Te.getExtent();this._dataInterval=[ce(De[0],Me,Ie,!0),ce(De[1],Me,Ie,!0)]},_updateView:function(we){var Ae=this.visualMapModel,Te=Ae.getExtent(),De=this._shapes,Me=[0,Ae.itemSize[1]],Ie=we?Me:this._handleEnds,Ce=this._createBarVisual(this._dataInterval,Te,Ie,"inRange"),Ee=this._createBarVisual(Te,Te,Me,"outOfRange");De.inRange.setStyle({fill:Ce.barColor,opacity:Ce.opacity}).setShape("points",Ce.barPoints),De.outOfRange.setStyle({fill:Ee.barColor,opacity:Ee.opacity}).setShape("points",Ee.barPoints),this._updateHandle(Ie,Ce)},_createBarVisual:function(we,Ae,Te,De){var Me={forceState:De,convertOpacityToAlpha:!0},Ie=this._makeColorGradient(we,Me),Ce=[this.getControllerVisual(we[0],"symbolSize",Me),this.getControllerVisual(we[1],"symbolSize",Me)],Ee=this._createBarPoints(Te,Ce);return{barColor:new te(0,0,0,1,Ie),barPoints:Ee,handlesColor:[Ie[0].color,Ie[Ie.length-1].color]}},_makeColorGradient:function(we,Ae){var Te=100,De=[],Me=(we[1]-we[0])/Te;De.push({color:this.getControllerVisual(we[0],"color",Ae),offset:0});for(var Ie=1;Ie<Te;Ie++){var Ce=we[0]+Me*Ie;if(Ce>we[1])break;De.push({color:this.getControllerVisual(Ce,"color",Ae),offset:Ie/Te})}return De.push({color:this.getControllerVisual(we[1],"color",Ae),offset:1}),De},_createBarPoints:function(we,Ae){var Te=this.visualMapModel.itemSize;return[[Te[0]-Ae[0],we[0]],[Te[0],we[0]],[Te[0],we[1]],[Te[0]-Ae[1],we[1]]]},_createBarGroup:function(we){var Ae=this._orient,Te=this.visualMapModel.get("inverse");return new ie.Group(Ae==="horizontal"&&!Te?{scale:we==="bottom"?[1,1]:[-1,1],rotation:Math.PI/2}:Ae==="horizontal"&&Te?{scale:we==="bottom"?[-1,1]:[1,1],rotation:-Math.PI/2}:Ae==="vertical"&&!Te?{scale:we==="left"?[1,-1]:[-1,-1]}:{scale:we==="left"?[1,1]:[-1,1]})},_updateHandle:function(we,Ae){if(this._useHandle){var Te=this._shapes,De=this.visualMapModel,Me=Te.handleThumbs,Ie=Te.handleLabels;de([0,1],function(Ce){var Ee=Me[Ce];Ee.setStyle("fill",Ae.handlesColor[Ce]),Ee.position[1]=we[Ce];var Re=ie.applyTransform(Te.handleLabelPoints[Ce],ie.getTransform(Ee,this.group));Ie[Ce].setStyle({x:Re[0],y:Re[1],text:De.formatValueText(this._dataInterval[Ce]),textVerticalAlign:"middle",textAlign:this._applyTransform(this._orient==="horizontal"?Ce===0?"bottom":"top":"left",Te.barGroup)})},this)}},_showIndicator:function(we,Ae,Te,De){var Me=this.visualMapModel,Ie=Me.getExtent(),Ce=Me.itemSize,Ee=[0,Ce[1]],Re=ce(we,Ie,Ee,!0),ke=this._shapes,Be=ke.indicator;if(Be){Be.position[1]=Re,Be.attr("invisible",!1),Be.setShape("points",_e(!!Te,De,Re,Ce[1]));var Ne={convertOpacityToAlpha:!0},He=this.getControllerVisual(we,"color",Ne);Be.setStyle("fill",He);var qe=ie.applyTransform(ke.indicatorLabelPoint,ie.getTransform(Be,this.group)),Oe=ke.indicatorLabel;Oe.attr("invisible",!1);var ze=this._applyTransform("left",ke.barGroup),Ve=this._orient;Oe.setStyle({text:(Te||"")+Me.formatValueText(Ae),textVerticalAlign:Ve==="horizontal"?ze:"middle",textAlign:Ve==="horizontal"?"center":ze,x:qe[0],y:qe[1]})}},_enableHoverLinkToSeries:function(){var we=this;this._shapes.barGroup.on("mousemove",function(Ae){if(we._hovering=!0,!we._dragging){var Te=we.visualMapModel.itemSize,De=we._applyTransform([Ae.offsetX,Ae.offsetY],we._shapes.barGroup,!0,!0);De[1]=he(fe(0,De[1]),Te[1]),we._doHoverLinkToSeries(De[1],0<=De[0]&&De[0]<=Te[0])}}).on("mouseout",function(){we._hovering=!1,!we._dragging&&we._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var we=this.api.getZr();this.visualMapModel.option.hoverLink?(we.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),we.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(we,Ae){var Te=this.visualMapModel,De=Te.itemSize;if(Te.option.hoverLink){var Me=[0,De[1]],Ie=Te.getExtent();we=he(fe(Me[0],we),Me[1]);var Ce=be(Te,Ie,Me),Ee=[we-Ce,we+Ce],Re=ce(we,Me,Ie,!0),ke=[ce(Ee[0],Me,Ie,!0),ce(Ee[1],Me,Ie,!0)];Ee[0]<Me[0]&&(ke[0]=-1/0),Ee[1]>Me[1]&&(ke[1]=1/0),Ae&&(ke[0]===-1/0?this._showIndicator(Re,ke[1],"< ",Ce):ke[1]===1/0?this._showIndicator(Re,ke[0],"> ",Ce):this._showIndicator(Re,Re,"≈ ",Ce));var Be=this._hoverLinkDataIndices,Ne=[];(Ae||xe(Te))&&(Ne=this._hoverLinkDataIndices=Te.findTargetDataIndices(ke));var He=ue.compressBatches(Be,Ne);this._dispatchHighDown("downplay",le.makeHighDownBatch(He[0],Te)),this._dispatchHighDown("highlight",le.makeHighDownBatch(He[1],Te))}},_hoverLinkFromSeriesMouseOver:function(we){var Ae=we.target,Te=this.visualMapModel;if(!(!Ae||Ae.dataIndex==null)){var De=this.ecModel.getSeriesByIndex(Ae.seriesIndex);if(Te.isTargetSeries(De)){var Me=De.getData(Ae.dataType),Ie=Me.get(Te.getDataDimension(Me),Ae.dataIndex,!0);isNaN(Ie)||this._showIndicator(Ie,Ie)}}},_hideIndicator:function(){var we=this._shapes;we.indicator&&we.indicator.attr("invisible",!0),we.indicatorLabel&&we.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var we=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",le.makeHighDownBatch(we,this.visualMapModel)),we.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var we=this.api.getZr();we.off("mouseover",this._hoverLinkFromSeriesMouseOver),we.off("mouseout",this._hideIndicator)},_applyTransform:function(we,Ae,Te,De){var Me=ie.getTransform(Ae,De?null:this.group);return ie[ee.isArray(we)?"applyTransform":"transformDirection"](we,Me,Te)},_dispatchHighDown:function(we,Ae){Ae&&Ae.length&&this.api.dispatchAction({type:we,batch:Ae})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});function me(we,Ae,Te,De){return new ie.Polygon({shape:{points:we},draggable:!!Te,cursor:Ae,drift:Te,onmousemove:function(Me){ae.stop(Me.event)},ondragend:De})}function ye(we,Ae){return we===0?[[0,0],[Ae,0],[Ae,-Ae]]:[[0,0],[Ae,0],[Ae,Ae]]}function _e(we,Ae,Te,De){return we?[[0,-he(Ae,fe(Te,0))],[ve,0],[0,he(Ae,fe(De-Te,0))]]:[[0,0],[5,-5],[5,5]]}function be(we,Ae,Te){var De=pe/2,Me=we.get("hoverLinkDataSize");return Me&&(De=ce(Me,Ae,Te,!0)/2),De}function xe(we){var Ae=we.get("hoverLinkOnHandle");return!!(Ae??we.get("realtime"))}function $e(we){return we==="vertical"?"ns-resize":"ew-resize"}var Se=ge;return ContinuousView_1=Se,ContinuousView_1}var visualMapAction={},hasRequiredVisualMapAction;function requireVisualMapAction(){if(hasRequiredVisualMapAction)return visualMapAction;hasRequiredVisualMapAction=1;var ee=echarts$1,te={type:"selectDataRange",event:"dataRangeSelected",update:"update"};return ee.registerAction(te,function(ae,ne){ne.eachComponent({mainType:"visualMap",query:ae},function(ie){ie.setSelected(ae.selected)})}),visualMapAction}var hasRequiredVisualMapContinuous;function requireVisualMapContinuous(){if(hasRequiredVisualMapContinuous)return visualMapContinuous;hasRequiredVisualMapContinuous=1;var ee=echarts$1,te=requirePreprocessor();return requireTypeDefaulter(),requireVisualEncoding(),requireContinuousModel(),requireContinuousView(),requireVisualMapAction(),ee.registerPreprocessor(te),visualMapContinuous}var visualMapPiecewise={},PiecewiseModel_1,hasRequiredPiecewiseModel;function requirePiecewiseModel(){if(hasRequiredPiecewiseModel)return PiecewiseModel_1;hasRequiredPiecewiseModel=1;var ee=util$a,te=requireVisualMapModel(),ae=requireVisualMapping(),ne=requireVisualDefault(),ie=requireNumber(),oe=ie.reformIntervals,se=te.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(de,he){se.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var fe=this._mode=this._determineMode();le[this._mode].call(this),this._resetSelected(de,he);var pe=this.option.categories;this.resetVisual(function(ve,ge){fe==="categories"?(ve.mappingMethod="category",ve.categories=ee.clone(pe)):(ve.dataExtent=this.getExtent(),ve.mappingMethod="piecewise",ve.pieceList=ee.map(this._pieceList,function(ye){var ye=ee.clone(ye);return ge!=="inRange"&&(ye.visual=null),ye}))})},completeVisualOption:function(){var de=this.option,he={},fe=ae.listVisualTypes(),pe=this.isCategory();ee.each(de.pieces,function(ge){ee.each(fe,function(me){ge.hasOwnProperty(me)&&(he[me]=1)})}),ee.each(he,function(ge,me){var ye=0;ee.each(this.stateList,function(_e){ye|=ve(de,_e,me)||ve(de.target,_e,me)},this),!ye&&ee.each(this.stateList,function(_e){(de[_e]||(de[_e]={}))[me]=ne.get(me,_e==="inRange"?"active":"inactive",pe)})},this);function ve(ge,me,ye){return ge&&ge[me]&&(ee.isObject(ge[me])?ge[me].hasOwnProperty(ye):ge[me]===ye)}te.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(de,he){var fe=this.option,pe=this._pieceList,ve=(he?fe:de).selected||{};if(fe.selected=ve,ee.each(pe,function(me,ye){var _e=this.getSelectedMapKey(me);ve.hasOwnProperty(_e)||(ve[_e]=!0)},this),fe.selectedMode==="single"){var ge=!1;ee.each(pe,function(me,ye){var _e=this.getSelectedMapKey(me);ve[_e]&&(ge?ve[_e]=!1:ge=!0)},this)}},getSelectedMapKey:function(de){return this._mode==="categories"?de.value+"":de.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var de=this.option;return de.pieces&&de.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(de){this.option.selected=ee.clone(de)},getValueState:function(de){var he=ae.findPieceIndex(de,this._pieceList);return he!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[he])]?"inRange":"outOfRange"},findTargetDataIndices:function(de){var he=[];return this.eachTargetSeries(function(fe){var pe=[],ve=fe.getData();ve.each(this.getDataDimension(ve),function(ge,me){var ye=ae.findPieceIndex(ge,this._pieceList);ye===de&&pe.push(me)},this),he.push({seriesId:fe.id,dataIndex:pe})},this),he},getRepresentValue:function(de){var he;if(this.isCategory())he=de.value;else if(de.value!=null)he=de.value;else{var fe=de.interval||[];he=fe[0]===-1/0&&fe[1]===1/0?0:(fe[0]+fe[1])/2}return he},getVisualMeta:function(de){if(this.isCategory())return;var he=[],fe=[],pe=this;function ve(_e,be){var xe=pe.getRepresentValue({interval:_e});be||(be=pe.getValueState(xe));var $e=de(xe,be);_e[0]===-1/0?fe[0]=$e:_e[1]===1/0?fe[1]=$e:he.push({value:_e[0],color:$e},{value:_e[1],color:$e})}var ge=this._pieceList.slice();if(!ge.length)ge.push({interval:[-1/0,1/0]});else{var me=ge[0].interval[0];me!==-1/0&&ge.unshift({interval:[-1/0,me]}),me=ge[ge.length-1].interval[1],me!==1/0&&ge.push({interval:[me,1/0]})}var ye=-1/0;return ee.each(ge,function(_e){var be=_e.interval;be&&(be[0]>ye&&ve([ye,be[0]],"outOfRange"),ve(be.slice()),ye=be[1])},this),{stops:he,outerColors:fe}}}),le={splitNumber:function(){var de=this.option,he=this._pieceList,fe=Math.min(de.precision,20),pe=this.getExtent(),ve=de.splitNumber;ve=Math.max(parseInt(ve,10),1),de.splitNumber=ve;for(var ge=(pe[1]-pe[0])/ve;+ge.toFixed(fe)!==ge&&fe<5;)fe++;de.precision=fe,ge=+ge.toFixed(fe),de.minOpen&&he.push({interval:[-1/0,pe[0]],close:[0,0]});for(var me=0,ye=pe[0];me<ve;ye+=ge,me++){var _e=me===ve-1?pe[1]:ye+ge;he.push({interval:[ye,_e],close:[1,1]})}de.maxOpen&&he.push({interval:[pe[1],1/0],close:[0,0]}),oe(he),ee.each(he,function(be,xe){be.index=xe,be.text=this.formatValueText(be.interval)},this)},categories:function(){var de=this.option;ee.each(de.categories,function(he){this._pieceList.push({text:this.formatValueText(he,!0),value:he})},this),ue(de,this._pieceList)},pieces:function(){var de=this.option,he=this._pieceList;ee.each(de.pieces,function(fe,pe){ee.isObject(fe)||(fe={value:fe});var ve={text:"",index:pe};if(fe.label!=null&&(ve.text=fe.label),fe.hasOwnProperty("value")){var ge=ve.value=fe.value;ve.interval=[ge,ge],ve.close=[1,1]}else{for(var me=ve.interval=[],ye=ve.close=[0,0],_e=[1,0,1],be=[-1/0,1/0],xe=[],$e=0;$e<2;$e++){for(var Se=[["gte","gt","min"],["lte","lt","max"]][$e],we=0;we<3&&me[$e]==null;we++)me[$e]=fe[Se[we]],ye[$e]=_e[we],xe[$e]=we===2;me[$e]==null&&(me[$e]=be[$e])}xe[0]&&me[1]===1/0&&(ye[0]=0),xe[1]&&me[0]===-1/0&&(ye[1]=0),me[0]===me[1]&&ye[0]&&ye[1]&&(ve.value=me[0])}ve.visual=ae.retrieveVisuals(fe),he.push(ve)},this),ue(de,he),oe(he),ee.each(he,function(fe){var pe=fe.close,ve=[["<","≤"][pe[1]],[">","≥"][pe[0]]];fe.text=fe.text||this.formatValueText(fe.value!=null?fe.value:fe.interval,!1,ve)},this)}};function ue(de,he){var fe=de.inverse;(de.orient==="vertical"?!fe:fe)&&he.reverse()}var ce=se;return PiecewiseModel_1=ce,PiecewiseModel_1}var PiecewiseView$1,hasRequiredPiecewiseView;function requirePiecewiseView(){if(hasRequiredPiecewiseView)return PiecewiseView$1;hasRequiredPiecewiseView=1;var ee=util$a,te=requireVisualMapView(),ae=graphic$6,ne=requireSymbol$1(),ie=ne.createSymbol,oe=layout$5,se=requireHelper(),le=te.extend({type:"visualMap.piecewise",doRender:function(){var ce=this.group;ce.removeAll();var de=this.visualMapModel,he=de.get("textGap"),fe=de.textStyleModel,pe=fe.getFont(),ve=fe.getTextColor(),ge=this._getItemAlign(),me=de.itemSize,ye=this._getViewData(),_e=ye.endsText,be=ee.retrieve(de.get("showLabel",!0),!_e);_e&&this._renderEndsText(ce,_e[0],me,be,ge),ee.each(ye.viewPieceList,xe,this),_e&&this._renderEndsText(ce,_e[1],me,be,ge),oe.box(de.get("orient"),ce,de.get("itemGap")),this.renderBackground(ce),this.positionGroup(ce);function xe($e){var Se=$e.piece,we=new ae.Group;we.onclick=ee.bind(this._onItemClick,this,Se),this._enableHoverLink(we,$e.indexInModelPieceList);var Ae=de.getRepresentValue(Se);if(this._createItemSymbol(we,Ae,[0,0,me[0],me[1]]),be){var Te=this.visualMapModel.getValueState(Ae);we.add(new ae.Text({style:{x:ge==="right"?-he:me[0]+he,y:me[1]/2,text:Se.text,textVerticalAlign:"middle",textAlign:ge,textFont:pe,textFill:ve,opacity:Te==="outOfRange"?.5:1}}))}ce.add(we)}},_enableHoverLink:function(ce,de){ce.on("mouseover",ee.bind(he,this,"highlight")).on("mouseout",ee.bind(he,this,"downplay"));function he(fe){var pe=this.visualMapModel;pe.option.hoverLink&&this.api.dispatchAction({type:fe,batch:se.makeHighDownBatch(pe.findTargetDataIndices(de),pe)})}},_getItemAlign:function(){var ce=this.visualMapModel,de=ce.option;if(de.orient==="vertical")return se.getItemAlign(ce,this.api,ce.itemSize);var he=de.align;return(!he||he==="auto")&&(he="left"),he},_renderEndsText:function(ce,de,he,fe,pe){if(de){var ve=new ae.Group,ge=this.visualMapModel.textStyleModel;ve.add(new ae.Text({style:{x:fe?pe==="right"?he[0]:0:he[0]/2,y:he[1]/2,textVerticalAlign:"middle",textAlign:fe?pe:"center",text:de,textFont:ge.getFont(),textFill:ge.getTextColor()}})),ce.add(ve)}},_getViewData:function(){var ce=this.visualMapModel,de=ee.map(ce.getPieceList(),function(ve,ge){return{piece:ve,indexInModelPieceList:ge}}),he=ce.get("text"),fe=ce.get("orient"),pe=ce.get("inverse");return(fe==="horizontal"?pe:!pe)?de.reverse():he&&(he=he.slice().reverse()),{viewPieceList:de,endsText:he}},_createItemSymbol:function(ce,de,he){ce.add(ie(this.getControllerVisual(de,"symbol"),he[0],he[1],he[2],he[3],this.getControllerVisual(de,"color")))},_onItemClick:function(ce){var de=this.visualMapModel,he=de.option,fe=ee.clone(he.selected),pe=de.getSelectedMapKey(ce);he.selectedMode==="single"?(fe[pe]=!0,ee.each(fe,function(ve,ge){fe[ge]=ge===pe})):fe[pe]=!fe[pe],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:fe})}}),ue=le;return PiecewiseView$1=ue,PiecewiseView$1}var hasRequiredVisualMapPiecewise;function requireVisualMapPiecewise(){if(hasRequiredVisualMapPiecewise)return visualMapPiecewise;hasRequiredVisualMapPiecewise=1;var ee=echarts$1,te=requirePreprocessor();return requireTypeDefaulter(),requireVisualEncoding(),requirePiecewiseModel(),requirePiecewiseView(),requireVisualMapAction(),ee.registerPreprocessor(te),visualMapPiecewise}var hasRequiredVisualMap;function requireVisualMap(){return hasRequiredVisualMap||(hasRequiredVisualMap=1,requireVisualMapContinuous(),requireVisualMapPiecewise()),visualMap}var vml={},graphic$3={},core$2={},hasRequiredCore$1;function requireCore$1(){if(hasRequiredCore$1)return core$2;hasRequiredCore$1=1;var ee=env_1,te="urn:schemas-microsoft-com:vml",ae=typeof window>"u"?null:window,ne=!1,ie=ae&&ae.document;function oe(ue){return se(ue)}var se;if(ie&&!ee.canvasSupported)try{!ie.namespaces.zrvml&&ie.namespaces.add("zrvml",te),se=function(ue){return ie.createElement("<zrvml:"+ue+' class="zrvml">')}}catch{se=function(ce){return ie.createElement("<"+ce+' xmlns="'+te+'" class="zrvml">')}}function le(){if(!(ne||!ie)){ne=!0;var ue=ie.styleSheets;ue.length<31?ie.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):ue[0].addRule(".zrvml","behavior:url(#default#VML)")}}return core$2.doc=ie,core$2.createNode=oe,core$2.initVML=le,core$2}var hasRequiredGraphic$1;function requireGraphic$1(){if(hasRequiredGraphic$1)return graphic$3;hasRequiredGraphic$1=1;var ee=env_1,te=vector$3,ae=te.applyTransform,ne=BoundingRect_1,ie=color$2,oe=text,se=text$1,le=requireRectText(),ue=Displayable_1,ce=Image$2,de=Text_1,he=Path_1,fe=PathProxy_1,pe=Gradient_1,ve=requireCore$1(),ge=fe.CMD,me=Math.round,ye=Math.sqrt,_e=Math.abs,be=Math.cos,xe=Math.sin,$e=Math.max;if(!ee.canvasSupported){var Se=",",we="progid:DXImageTransform.Microsoft",Ae=21600,Te=Ae/2,De=1e5,Me=1e3,Ie=function(St){St.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",St.coordsize=Ae+","+Ae,St.coordorigin="0,0"},Ce=function(St){return String(St).replace(/&/g,"&amp;").replace(/"/g,"&quot;")},Ee=function(St,Ct,Ot){return"rgb("+[St,Ct,Ot].join(",")+")"},Re=function(St,Ct){Ct&&St&&Ct.parentNode!==St&&St.appendChild(Ct)},ke=function(St,Ct){Ct&&St&&Ct.parentNode===St&&St.removeChild(Ct)},Be=function(St,Ct,Ot){return(parseFloat(St)||0)*De+(parseFloat(Ct)||0)*Me+Ot},Ne=se.parsePercent,He=function(St,Ct,Ot){var ct=ie.parse(Ct);Ot=+Ot,isNaN(Ot)&&(Ot=1),ct&&(St.color=Ee(ct[0],ct[1],ct[2]),St.opacity=Ot*ct[3])},qe=function(St){var Ct=ie.parse(St);return[Ee(Ct[0],Ct[1],Ct[2]),Ct[3]]},Oe=function(St,Ct,Ot){var ct=Ct.fill;if(ct!=null)if(ct instanceof pe){var vt,yt=0,Dt=[0,0],Pt=0,It=1,Lt=Ot.getBoundingRect(),Ft=Lt.width,Ht=Lt.height;if(ct.type==="linear"){vt="gradient";var Kt=Ot.transform,Zt=[ct.x*Ft,ct.y*Ht],jt=[ct.x2*Ft,ct.y2*Ht];Kt&&(ae(Zt,Zt,Kt),ae(jt,jt,Kt));var fr=jt[0]-Zt[0],_r=jt[1]-Zt[1];yt=Math.atan2(fr,_r)*180/Math.PI,yt<0&&(yt+=360),yt<1e-6&&(yt=0)}else{vt="gradientradial";var Zt=[ct.x*Ft,ct.y*Ht],Kt=Ot.transform,Rr=Ot.scale,$r=Ft,Pr=Ht;Dt=[(Zt[0]-Lt.x)/$r,(Zt[1]-Lt.y)/Pr],Kt&&ae(Zt,Zt,Kt),$r/=Rr[0]*Ae,Pr/=Rr[1]*Ae;var Lr=$e($r,Pr);Pt=2*0/Lr,It=2*ct.r/Lr-Pt}var nr=ct.colorStops.slice();nr.sort(function(kr,Zr){return kr.offset-Zr.offset});for(var wr=nr.length,mr=[],Mr=[],Tr=0;Tr<wr;Tr++){var Br=nr[Tr],Qt=qe(Br.color);Mr.push(Br.offset*It+Pt+" "+Qt[0]),(Tr===0||Tr===wr-1)&&mr.push(Qt)}if(wr>=2){var Hr=mr[0][0],oa=mr[1][0],ca=mr[0][1]*Ct.opacity,jr=mr[1][1]*Ct.opacity;St.type=vt,St.method="none",St.focus="100%",St.angle=yt,St.color=Hr,St.color2=oa,St.colors=Mr.join(","),St.opacity=jr,St.opacity2=ca}vt==="radial"&&(St.focusposition=Dt.join(","))}else He(St,ct,Ct.opacity)},ze=function(St,Ct){Ct.lineDash&&(St.dashstyle=Ct.lineDash.join(" ")),Ct.stroke!=null&&!(Ct.stroke instanceof pe)&&He(St,Ct.stroke,Ct.opacity)},Ve=function(St,Ct,Ot,ct){var vt=Ct==="fill",yt=St.getElementsByTagName(Ct)[0];Ot[Ct]!=null&&Ot[Ct]!=="none"&&(vt||!vt&&Ot.lineWidth)?(St[vt?"filled":"stroked"]="true",Ot[Ct]instanceof pe&&ke(St,yt),yt||(yt=ve.createNode(Ct)),vt?Oe(yt,Ot,ct):ze(yt,Ot),Re(St,yt)):(St[vt?"filled":"stroked"]="false",ke(St,yt))},Ge=[[],[],[]],We=function(St,Ct){var Ot=ge.M,ct=ge.C,vt=ge.L,yt=ge.A,Dt=ge.Q,Pt=[],It,Lt,Ft,Ht,Kt,Zt,jt=St.data,fr=St.len();for(Ht=0;Ht<fr;){switch(Ft=jt[Ht++],Lt="",It=0,Ft){case Ot:Lt=" m ",It=1,Kt=jt[Ht++],Zt=jt[Ht++],Ge[0][0]=Kt,Ge[0][1]=Zt;break;case vt:Lt=" l ",It=1,Kt=jt[Ht++],Zt=jt[Ht++],Ge[0][0]=Kt,Ge[0][1]=Zt;break;case Dt:case ct:Lt=" c ",It=3;var Ur=jt[Ht++],ea=jt[Ht++],_r=jt[Ht++],Rr=jt[Ht++],$r,Pr;Ft===Dt?($r=_r,Pr=Rr,_r=(_r+2*Ur)/3,Rr=(Rr+2*ea)/3,Ur=(Kt+2*Ur)/3,ea=(Zt+2*ea)/3):($r=jt[Ht++],Pr=jt[Ht++]),Ge[0][0]=Ur,Ge[0][1]=ea,Ge[1][0]=_r,Ge[1][1]=Rr,Ge[2][0]=$r,Ge[2][1]=Pr,Kt=$r,Zt=Pr;break;case yt:var Lr=0,nr=0,wr=1,mr=1,Mr=0;Ct&&(Lr=Ct[4],nr=Ct[5],wr=ye(Ct[0]*Ct[0]+Ct[1]*Ct[1]),mr=ye(Ct[2]*Ct[2]+Ct[3]*Ct[3]),Mr=Math.atan2(-Ct[1]/mr,Ct[0]/wr));var Tr=jt[Ht++],Br=jt[Ht++],Qt=jt[Ht++],Hr=jt[Ht++],oa=jt[Ht++]+Mr,ca=jt[Ht++]+oa+Mr;Ht++;var jr=jt[Ht++],kr=Tr+be(oa)*Qt,Zr=Br+xe(oa)*Hr,Ur=Tr+be(ca)*Qt,ea=Br+xe(ca)*Hr,Da=jr?" wa ":" at ";Math.abs(kr-Ur)<1e-4&&(Math.abs(ca-oa)>.01?jr&&(kr+=270/Ae):Math.abs(Zr-Br)<1e-4?jr&&kr<Tr||!jr&&kr>Tr?ea-=270/Ae:ea+=270/Ae:jr&&Zr<Br||!jr&&Zr>Br?Ur+=270/Ae:Ur-=270/Ae),Pt.push(Da,me(((Tr-Qt)*wr+Lr)*Ae-Te),Se,me(((Br-Hr)*mr+nr)*Ae-Te),Se,me(((Tr+Qt)*wr+Lr)*Ae-Te),Se,me(((Br+Hr)*mr+nr)*Ae-Te),Se,me((kr*wr+Lr)*Ae-Te),Se,me((Zr*mr+nr)*Ae-Te),Se,me((Ur*wr+Lr)*Ae-Te),Se,me((ea*mr+nr)*Ae-Te)),Kt=Ur,Zt=ea;break;case ge.R:var Gr=Ge[0],Xr=Ge[1];Gr[0]=jt[Ht++],Gr[1]=jt[Ht++],Xr[0]=Gr[0]+jt[Ht++],Xr[1]=Gr[1]+jt[Ht++],Ct&&(ae(Gr,Gr,Ct),ae(Xr,Xr,Ct)),Gr[0]=me(Gr[0]*Ae-Te),Xr[0]=me(Xr[0]*Ae-Te),Gr[1]=me(Gr[1]*Ae-Te),Xr[1]=me(Xr[1]*Ae-Te),Pt.push(" m ",Gr[0],Se,Gr[1]," l ",Xr[0],Se,Gr[1]," l ",Xr[0],Se,Xr[1]," l ",Gr[0],Se,Xr[1]);break;case ge.Z:Pt.push(" x ")}if(It>0){Pt.push(Lt);for(var Ea=0;Ea<It;Ea++){var Ha=Ge[Ea];Ct&&ae(Ha,Ha,Ct),Pt.push(me(Ha[0]*Ae-Te),Se,me(Ha[1]*Ae-Te),Ea<It-1?Se:"")}}}return Pt.join("")};he.prototype.brushVML=function(St){var Ct=this.style,Ot=this._vmlEl;Ot||(Ot=ve.createNode("shape"),Ie(Ot),this._vmlEl=Ot),Ve(Ot,"fill",Ct,this),Ve(Ot,"stroke",Ct,this);var ct=this.transform,vt=ct!=null,yt=Ot.getElementsByTagName("stroke")[0];if(yt){var Dt=Ct.lineWidth;if(vt&&!Ct.strokeNoScale){var Pt=ct[0]*ct[3]-ct[1]*ct[2];Dt*=ye(_e(Pt))}yt.weight=Dt+"px"}var It=this.path||(this.path=new fe);this.__dirtyPath&&(It.beginPath(),It.subPixelOptimize=!1,this.buildPath(It,this.shape),It.toStatic(),this.__dirtyPath=!1),Ot.path=We(It,this.transform),Ot.style.zIndex=Be(this.zlevel,this.z,this.z2),Re(St,Ot),Ct.text!=null?this.drawRectText(St,this.getBoundingRect()):this.removeRectText(St)},he.prototype.onRemove=function(St){ke(St,this._vmlEl),this.removeRectText(St)},he.prototype.onAdd=function(St){Re(St,this._vmlEl),this.appendRectText(St)};var Ue=function(St){return typeof St=="object"&&St.tagName&&St.tagName.toUpperCase()==="IMG"};ce.prototype.brushVML=function(St){var Ct=this.style,Ot=Ct.image,ct,vt;if(Ue(Ot)){var yt=Ot.src;if(yt===this._imageSrc)ct=this._imageWidth,vt=this._imageHeight;else{var Dt=Ot.runtimeStyle,Pt=Dt.width,It=Dt.height;Dt.width="auto",Dt.height="auto",ct=Ot.width,vt=Ot.height,Dt.width=Pt,Dt.height=It,this._imageSrc=yt,this._imageWidth=ct,this._imageHeight=vt}Ot=yt}else Ot===this._imageSrc&&(ct=this._imageWidth,vt=this._imageHeight);if(Ot){var Lt=Ct.x||0,Ft=Ct.y||0,Ht=Ct.width,Kt=Ct.height,Zt=Ct.sWidth,jt=Ct.sHeight,fr=Ct.sx||0,_r=Ct.sy||0,Rr=Zt&&jt,$r=this._vmlEl;$r||($r=ve.doc.createElement("div"),Ie($r),this._vmlEl=$r);var Pr=$r.style,Lr=!1,nr,wr=1,mr=1;if(this.transform&&(nr=this.transform,wr=ye(nr[0]*nr[0]+nr[1]*nr[1]),mr=ye(nr[2]*nr[2]+nr[3]*nr[3]),Lr=nr[1]||nr[2]),Lr){var Mr=[Lt,Ft],Tr=[Lt+Ht,Ft],Br=[Lt,Ft+Kt],Qt=[Lt+Ht,Ft+Kt];ae(Mr,Mr,nr),ae(Tr,Tr,nr),ae(Br,Br,nr),ae(Qt,Qt,nr);var Hr=$e(Mr[0],Tr[0],Br[0],Qt[0]),oa=$e(Mr[1],Tr[1],Br[1],Qt[1]),ca=[];ca.push("M11=",nr[0]/wr,Se,"M12=",nr[2]/mr,Se,"M21=",nr[1]/wr,Se,"M22=",nr[3]/mr,Se,"Dx=",me(Lt*wr+nr[4]),Se,"Dy=",me(Ft*mr+nr[5])),Pr.padding="0 "+me(Hr)+"px "+me(oa)+"px 0",Pr.filter=we+".Matrix("+ca.join("")+", SizingMethod=clip)"}else nr&&(Lt=Lt*wr+nr[4],Ft=Ft*mr+nr[5]),Pr.filter="",Pr.left=me(Lt)+"px",Pr.top=me(Ft)+"px";var jr=this._imageEl,kr=this._cropEl;jr||(jr=ve.doc.createElement("div"),this._imageEl=jr);var Zr=jr.style;if(Rr){if(ct&&vt)Zr.width=me(wr*ct*Ht/Zt)+"px",Zr.height=me(mr*vt*Kt/jt)+"px";else{var Ur=new Image,ea=this;Ur.onload=function(){Ur.onload=null,ct=Ur.width,vt=Ur.height,Zr.width=me(wr*ct*Ht/Zt)+"px",Zr.height=me(mr*vt*Kt/jt)+"px",ea._imageWidth=ct,ea._imageHeight=vt,ea._imageSrc=Ot},Ur.src=Ot}kr||(kr=ve.doc.createElement("div"),kr.style.overflow="hidden",this._cropEl=kr);var Da=kr.style;Da.width=me((Ht+fr*Ht/Zt)*wr),Da.height=me((Kt+_r*Kt/jt)*mr),Da.filter=we+".Matrix(Dx="+-fr*Ht/Zt*wr+",Dy="+-_r*Kt/jt*mr+")",kr.parentNode||$r.appendChild(kr),jr.parentNode!==kr&&kr.appendChild(jr)}else Zr.width=me(wr*Ht)+"px",Zr.height=me(mr*Kt)+"px",$r.appendChild(jr),kr&&kr.parentNode&&($r.removeChild(kr),this._cropEl=null);var Gr="",Xr=Ct.opacity;Xr<1&&(Gr+=".Alpha(opacity="+me(Xr*100)+") "),Gr+=we+".AlphaImageLoader(src="+Ot+", SizingMethod=scale)",Zr.filter=Gr,$r.style.zIndex=Be(this.zlevel,this.z,this.z2),Re(St,$r),Ct.text!=null&&this.drawRectText(St,this.getBoundingRect())}},ce.prototype.onRemove=function(St){ke(St,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(St)},ce.prototype.onAdd=function(St){Re(St,this._vmlEl),this.appendRectText(St)};var Ye="normal",Ze={},Xe=0,it=100,at=document.createElement("div"),ut=function(St){var Ct=Ze[St];if(!Ct){Xe>it&&(Xe=0,Ze={});var Ot=at.style,ct;try{Ot.font=St,ct=Ot.fontFamily.split(",")[0]}catch{}Ct={style:Ot.fontStyle||Ye,variant:Ot.fontVariant||Ye,weight:Ot.fontWeight||Ye,size:parseFloat(Ot.fontSize||12)|0,family:ct||"Microsoft YaHei"},Ze[St]=Ct,Xe++}return Ct},dt;oe.$override("measureText",function(St,Ct){var Ot=ve.doc;dt||(dt=Ot.createElement("div"),dt.style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",ve.doc.body.appendChild(dt));try{dt.style.font=Ct}catch{}return dt.innerHTML="",dt.appendChild(Ot.createTextNode(St)),{width:dt.offsetWidth}});for(var pt=new ne,gt=function(St,Ct,Ot,ct){var vt=this.style;this.__dirty&&se.normalizeTextStyle(vt,!0);var yt=vt.text;if(yt!=null&&(yt+=""),!!yt){if(vt.rich){var Dt=oe.parseRichText(yt,vt);yt=[];for(var Pt=0;Pt<Dt.lines.length;Pt++){for(var It=Dt.lines[Pt].tokens,Lt=[],Ft=0;Ft<It.length;Ft++)Lt.push(It[Ft].text);yt.push(Lt.join(""))}yt=yt.join(`
-`)}var Ht,Kt,Zt=vt.textAlign,jt=vt.textVerticalAlign,fr=ut(vt.font),_r=fr.style+" "+fr.variant+" "+fr.weight+" "+fr.size+'px "'+fr.family+'"';Ot=Ot||oe.getBoundingRect(yt,_r,Zt,jt,vt.textPadding,vt.textLineHeight);var Rr=this.transform;if(Rr&&!ct&&(pt.copy(Ct),pt.applyTransform(Rr),Ct=pt),ct)Ht=Ct.x,Kt=Ct.y;else{var $r=vt.textPosition;if($r instanceof Array)Ht=Ct.x+Ne($r[0],Ct.width),Kt=Ct.y+Ne($r[1],Ct.height),Zt=Zt||"left";else{var Pr=this.calculateTextPosition?this.calculateTextPosition({},vt,Ct):oe.calculateTextPosition({},vt,Ct);Ht=Pr.x,Kt=Pr.y,Zt=Zt||Pr.textAlign,jt=jt||Pr.textVerticalAlign}}Ht=oe.adjustTextX(Ht,Ot.width,Zt),Kt=oe.adjustTextY(Kt,Ot.height,jt),Kt+=Ot.height/2;var Lr=ve.createNode,nr=this._textVmlEl,wr,mr,Mr;nr?(Mr=nr.firstChild,wr=Mr.nextSibling,mr=wr.nextSibling):(nr=Lr("line"),wr=Lr("path"),mr=Lr("textpath"),Mr=Lr("skew"),mr.style["v-text-align"]="left",Ie(nr),wr.textpathok=!0,mr.on=!0,nr.from="0 0",nr.to="1000 0.05",Re(nr,Mr),Re(nr,wr),Re(nr,mr),this._textVmlEl=nr);var Tr=[Ht,Kt],Br=nr.style;Rr&&ct?(ae(Tr,Tr,Rr),Mr.on=!0,Mr.matrix=Rr[0].toFixed(3)+Se+Rr[2].toFixed(3)+Se+Rr[1].toFixed(3)+Se+Rr[3].toFixed(3)+",0,0",Mr.offset=(me(Tr[0])||0)+","+(me(Tr[1])||0),Mr.origin="0 0",Br.left="0px",Br.top="0px"):(Mr.on=!1,Br.left=me(Ht)+"px",Br.top=me(Kt)+"px"),mr.string=Ce(yt);try{mr.style.font=_r}catch{}Ve(nr,"fill",{fill:vt.textFill,opacity:vt.opacity},this),Ve(nr,"stroke",{stroke:vt.textStroke,opacity:vt.opacity,lineDash:vt.lineDash||null},this),nr.style.zIndex=Be(this.zlevel,this.z,this.z2),Re(St,nr)}},bt=function(St){ke(St,this._textVmlEl),this._textVmlEl=null},Tt=function(St){Re(St,this._textVmlEl)},At=[le,ue,ce,he,de],Mt=0;Mt<At.length;Mt++){var qt=At[Mt].prototype;qt.drawRectText=gt,qt.removeRectText=bt,qt.appendRectText=Tt}de.prototype.brushVML=function(St){var Ct=this.style;Ct.text!=null?this.drawRectText(St,{x:Ct.x||0,y:Ct.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(St)},de.prototype.onRemove=function(St){this.removeRectText(St)},de.prototype.onAdd=function(St){this.appendRectText(St)}}return graphic$3}var Painter$1,hasRequiredPainter$1;function requirePainter$1(){if(hasRequiredPainter$1)return Painter$1;hasRequiredPainter$1=1;var ee=log$2,te=requireCore$1(),ae=util$a,ne=ae.each;function ie(ue){return parseInt(ue,10)}function oe(ue,ce){te.initVML(),this.root=ue,this.storage=ce;var de=document.createElement("div"),he=document.createElement("div");de.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",he.style.cssText="position:absolute;left:0;top:0;",ue.appendChild(de),this._vmlRoot=he,this._vmlViewport=de,this.resize();var fe=ce.delFromStorage,pe=ce.addToStorage;ce.delFromStorage=function(ve){fe.call(ce,ve),ve&&ve.onRemove&&ve.onRemove(he)},ce.addToStorage=function(ve){ve.onAdd&&ve.onAdd(he),pe.call(ce,ve)},this._firstPaint=!0}oe.prototype={constructor:oe,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var ue=this.getViewportRoot();if(ue)return{offsetLeft:ue.offsetLeft||0,offsetTop:ue.offsetTop||0}},refresh:function(){var ue=this.storage.getDisplayList(!0,!0);this._paintList(ue)},_paintList:function(ue){for(var ce=this._vmlRoot,de=0;de<ue.length;de++){var he=ue[de];he.invisible||he.ignore?(he.__alreadyNotVisible||he.onRemove(ce),he.__alreadyNotVisible=!0):(he.__alreadyNotVisible&&he.onAdd(ce),he.__alreadyNotVisible=!1,he.__dirty&&(he.beforeBrush&&he.beforeBrush(),(he.brushVML||he.brush).call(he,ce),he.afterBrush&&he.afterBrush())),he.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(ce),this._firstPaint=!1)},resize:function(de,he){var de=de??this._getWidth(),he=he??this._getHeight();if(this._width!==de||this._height!==he){this._width=de,this._height=he;var fe=this._vmlViewport.style;fe.width=de+"px",fe.height=he+"px"}},dispose:function(){this.root.innerHTML="",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this._vmlViewport&&this.root.removeChild(this._vmlViewport)},_getWidth:function(){var ue=this.root,ce=ue.currentStyle;return(ue.clientWidth||ie(ce.width))-ie(ce.paddingLeft)-ie(ce.paddingRight)|0},_getHeight:function(){var ue=this.root,ce=ue.currentStyle;return(ue.clientHeight||ie(ce.height))-ie(ce.paddingTop)-ie(ce.paddingBottom)|0}};function se(ue){return function(){ee('In IE8.0 VML mode painter not support method "'+ue+'"')}}ne(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(ue){oe.prototype[ue]=se(ue)});var le=oe;return Painter$1=le,Painter$1}var hasRequiredVml;function requireVml(){if(hasRequiredVml)return vml;hasRequiredVml=1,requireGraphic$1();var ee=zrender$1,te=ee.registerPainter,ae=requirePainter$1();return te("vml",ae),vml}var svg$1={},graphic$2={},core$1={},hasRequiredCore;function requireCore(){if(hasRequiredCore)return core$1;hasRequiredCore=1;var ee="http://www.w3.org/2000/svg";function te(ae){return document.createElementNS(ee,ae)}return core$1.createElement=te,core$1}var hasRequiredGraphic;function requireGraphic(){if(hasRequiredGraphic)return graphic$2;hasRequiredGraphic=1;var ee=requireCore(),te=ee.createElement,ae=PathProxy_1,ne=BoundingRect_1,ie=matrix$5,oe=text,se=text$1,le=Text_1,ue=ae.CMD,ce=Array.prototype.join,de="none",he=Math.round,fe=Math.sin,pe=Math.cos,ve=Math.PI,ge=Math.PI*2,me=180/ve,ye=1e-4;function _e(Ve){return he(Ve*1e4)/1e4}function be(Ve){return Ve<ye&&Ve>-ye}function xe(Ve,Ge){var We=Ge?Ve.textFill:Ve.fill;return We!=null&&We!==de}function $e(Ve,Ge){var We=Ge?Ve.textStroke:Ve.stroke;return We!=null&&We!==de}function Se(Ve,Ge){Ge&&we(Ve,"transform","matrix("+ce.call(Ge,",")+")")}function we(Ve,Ge,We){(!We||We.type!=="linear"&&We.type!=="radial")&&Ve.setAttribute(Ge,We)}function Ae(Ve,Ge,We){Ve.setAttributeNS("http://www.w3.org/1999/xlink",Ge,We)}function Te(Ve,Ge,We,Ue){if(xe(Ge,We)){var Ye=We?Ge.textFill:Ge.fill;Ye=Ye==="transparent"?de:Ye,we(Ve,"fill",Ye),we(Ve,"fill-opacity",Ge.fillOpacity!=null?Ge.fillOpacity*Ge.opacity:Ge.opacity)}else we(Ve,"fill",de);if($e(Ge,We)){var Ze=We?Ge.textStroke:Ge.stroke;Ze=Ze==="transparent"?de:Ze,we(Ve,"stroke",Ze);var Xe=We?Ge.textStrokeWidth:Ge.lineWidth,it=!We&&Ge.strokeNoScale?Ue.getLineScale():1;we(Ve,"stroke-width",Xe/it),we(Ve,"paint-order",We?"stroke":"fill"),we(Ve,"stroke-opacity",Ge.strokeOpacity!=null?Ge.strokeOpacity:Ge.opacity);var at=Ge.lineDash;at?(we(Ve,"stroke-dasharray",Ge.lineDash.join(",")),we(Ve,"stroke-dashoffset",he(Ge.lineDashOffset||0))):we(Ve,"stroke-dasharray",""),Ge.lineCap&&we(Ve,"stroke-linecap",Ge.lineCap),Ge.lineJoin&&we(Ve,"stroke-linejoin",Ge.lineJoin),Ge.miterLimit&&we(Ve,"stroke-miterlimit",Ge.miterLimit)}else we(Ve,"stroke",de)}function De(Ve){for(var Ge=[],We=Ve.data,Ue=Ve.len(),Ye=0;Ye<Ue;){var Ze=We[Ye++],Xe="",it=0;switch(Ze){case ue.M:Xe="M",it=2;break;case ue.L:Xe="L",it=2;break;case ue.Q:Xe="Q",it=4;break;case ue.C:Xe="C",it=6;break;case ue.A:var at=We[Ye++],ut=We[Ye++],dt=We[Ye++],pt=We[Ye++],gt=We[Ye++],bt=We[Ye++],Tt=We[Ye++],At=We[Ye++],Mt=Math.abs(bt),qt=be(Mt-ge)||(At?bt>=ge:-bt>=ge),St=bt>0?bt%ge:bt%ge+ge,Ct=!1;qt?Ct=!0:be(Mt)?Ct=!1:Ct=St>=ve==!!At;var Ot=_e(at+dt*pe(gt)),ct=_e(ut+pt*fe(gt));qt&&(At?bt=ge-1e-4:bt=-ge+1e-4,Ct=!0,Ye===9&&Ge.push("M",Ot,ct));var vt=_e(at+dt*pe(gt+bt)),yt=_e(ut+pt*fe(gt+bt));Ge.push("A",_e(dt),_e(pt),he(Tt*me),+Ct,+At,vt,yt);break;case ue.Z:Xe="Z";break;case ue.R:var vt=_e(We[Ye++]),yt=_e(We[Ye++]),Dt=_e(We[Ye++]),Pt=_e(We[Ye++]);Ge.push("M",vt,yt,"L",vt+Dt,yt,"L",vt+Dt,yt+Pt,"L",vt,yt+Pt,"L",vt,yt);break}Xe&&Ge.push(Xe);for(var It=0;It<it;It++)Ge.push(_e(We[Ye++]))}return Ge.join(" ")}var Me={};Me.brush=function(Ve){var Ge=Ve.style,We=Ve.__svgEl;We||(We=te("path"),Ve.__svgEl=We),Ve.path||Ve.createPathProxy();var Ue=Ve.path;if(Ve.__dirtyPath){Ue.beginPath(),Ue.subPixelOptimize=!1,Ve.buildPath(Ue,Ve.shape),Ve.__dirtyPath=!1;var Ye=De(Ue);Ye.indexOf("NaN")<0&&we(We,"d",Ye)}Te(We,Ge,!1,Ve),Se(We,Ve.transform),Ge.text!=null?Ne(Ve,Ve.getBoundingRect()):ze(Ve)};var Ie={};Ie.brush=function(Ve){var Ge=Ve.style,We=Ge.image;if(We instanceof HTMLImageElement){var Ue=We.src;We=Ue}if(We){var Ye=Ge.x||0,Ze=Ge.y||0,Xe=Ge.width,it=Ge.height,at=Ve.__svgEl;at||(at=te("image"),Ve.__svgEl=at),We!==Ve.__imageSrc&&(Ae(at,"href",We),Ve.__imageSrc=We),we(at,"width",Xe),we(at,"height",it),we(at,"x",Ye),we(at,"y",Ze),Se(at,Ve.transform),Ge.text!=null?Ne(Ve,Ve.getBoundingRect()):ze(Ve)}};var Ce={},Ee=new ne,Re={},ke=[],Be={left:"start",right:"end",center:"middle",middle:"middle"},Ne=function(Ve,Ge){var We=Ve.style,Ue=Ve.transform,Ye=Ve instanceof le||We.transformText;Ve.__dirty&&se.normalizeTextStyle(We,!0);var Ze=We.text;if(Ze!=null&&(Ze+=""),!!se.needDrawText(Ze,We)){Ze==null&&(Ze=""),!Ye&&Ue&&(Ee.copy(Ge),Ee.applyTransform(Ue),Ge=Ee);var Xe=Ve.__textSvgEl;Xe||(Xe=te("text"),Ve.__textSvgEl=Xe);var it=Xe.style,at=We.font||oe.DEFAULT_FONT,ut=Xe.__computedFont;at!==Xe.__styleFont&&(it.font=Xe.__styleFont=at,ut=Xe.__computedFont=it.font);var dt=We.textPadding,pt=We.textLineHeight,gt=Ve.__textCotentBlock;(!gt||Ve.__dirtyText)&&(gt=Ve.__textCotentBlock=oe.parsePlainText(Ze,ut,dt,pt,We.truncate));var bt=gt.outerHeight,Tt=gt.lineHeight;se.getBoxPosition(Re,Ve,We,Ge);var At=Re.baseX,Mt=Re.baseY,qt=Re.textAlign||"left",St=Re.textVerticalAlign;He(Xe,Ye,Ue,We,Ge,At,Mt);var Ct=oe.adjustTextY(Mt,bt,St),Ot=At,ct=Ct;dt&&(Ot=qe(At,qt,dt),ct+=dt[0]),ct+=Tt/2,Te(Xe,We,!0,Ve);var vt=gt.canCacheByTextString,yt=Ve.__tspanList||(Ve.__tspanList=[]),Dt=yt.length;if(vt&&Ve.__canCacheByTextString&&Ve.__text===Ze){if(Ve.__dirtyText&&Dt)for(var Pt=0;Pt<Dt;++Pt)Oe(yt[Pt],qt,Ot,ct+Pt*Tt)}else{Ve.__text=Ze,Ve.__canCacheByTextString=vt;for(var It=gt.lines,Lt=It.length,Pt=0;Pt<Lt;Pt++){var Ft=yt[Pt],Ht=It[Pt];Ft?Ft.__zrText!==Ht&&(Ft.innerHTML="",Ft.appendChild(document.createTextNode(Ht))):(Ft=yt[Pt]=te("tspan"),Xe.appendChild(Ft),Ft.appendChild(document.createTextNode(Ht))),Oe(Ft,qt,Ot,ct+Pt*Tt)}if(Dt>Lt){for(;Pt<Dt;Pt++)Xe.removeChild(yt[Pt]);yt.length=Lt}}}};function He(Ve,Ge,We,Ue,Ye,Ze,Xe){ie.identity(ke),Ge&&We&&ie.copy(ke,We);var it=Ue.textRotation;if(Ye&&it){var at=Ue.textOrigin;at==="center"?(Ze=Ye.width/2+Ye.x,Xe=Ye.height/2+Ye.y):at&&(Ze=at[0]+Ye.x,Xe=at[1]+Ye.y),ke[4]-=Ze,ke[5]-=Xe,ie.rotate(ke,ke,it),ke[4]+=Ze,ke[5]+=Xe}Se(Ve,ke)}function qe(Ve,Ge,We){return Ge==="right"?Ve-We[1]:Ge==="center"?Ve+We[3]/2-We[1]/2:Ve+We[3]}function Oe(Ve,Ge,We,Ue){we(Ve,"dominant-baseline","middle"),we(Ve,"text-anchor",Be[Ge]),we(Ve,"x",We),we(Ve,"y",Ue)}function ze(Ve){Ve&&Ve.__textSvgEl&&(Ve.__textSvgEl.parentNode&&Ve.__textSvgEl.parentNode.removeChild(Ve.__textSvgEl),Ve.__textSvgEl=null,Ve.__tspanList=[],Ve.__text=null)}return Ce.drawRectText=Ne,Ce.brush=function(Ve){var Ge=Ve.style;Ge.text!=null?Ne(Ve,!1):ze(Ve)},graphic$2.path=Me,graphic$2.image=Ie,graphic$2.text=Ce,graphic$2}var arrayDiff2,hasRequiredArrayDiff2;function requireArrayDiff2(){if(hasRequiredArrayDiff2)return arrayDiff2;hasRequiredArrayDiff2=1;function ee(){}ee.prototype={diff:function(oe,se,le){le||(le=function(be,xe){return be===xe}),this.equals=le;var ue=this;oe=oe.slice(),se=se.slice();var ce=se.length,de=oe.length,he=1,fe=ce+de,pe=[{newPos:-1,components:[]}],ve=this.extractCommon(pe[0],se,oe,0);if(pe[0].newPos+1>=ce&&ve+1>=de){for(var ge=[],me=0;me<se.length;me++)ge.push(me);return[{indices:ge,count:se.length}]}function ye(){for(var be=-1*he;be<=he;be+=2){var xe,$e=pe[be-1],Se=pe[be+1],we=(Se?Se.newPos:0)-be;$e&&(pe[be-1]=void 0);var Ae=$e&&$e.newPos+1<ce,Te=Se&&0<=we&&we<de;if(!Ae&&!Te){pe[be]=void 0;continue}if(!Ae||Te&&$e.newPos<Se.newPos?(xe=ae(Se),ue.pushComponent(xe.components,void 0,!0)):(xe=$e,xe.newPos++,ue.pushComponent(xe.components,!0,void 0)),we=ue.extractCommon(xe,se,oe,be),xe.newPos+1>=ce&&we+1>=de)return te(ue,xe.components);pe[be]=xe}he++}for(;he<=fe;){var _e=ye();if(_e)return _e}},pushComponent:function(oe,se,le){var ue=oe[oe.length-1];ue&&ue.added===se&&ue.removed===le?oe[oe.length-1]={count:ue.count+1,added:se,removed:le}:oe.push({count:1,added:se,removed:le})},extractCommon:function(oe,se,le,ue){for(var ce=se.length,de=le.length,he=oe.newPos,fe=he-ue,pe=0;he+1<ce&&fe+1<de&&this.equals(se[he+1],le[fe+1]);)he++,fe++,pe++;return pe&&oe.components.push({count:pe}),oe.newPos=he,fe},tokenize:function(oe){return oe.slice()},join:function(oe){return oe.slice()}};function te(oe,se,le,ue){for(var ce=0,de=se.length,he=0,fe=0;ce<de;ce++){var pe=se[ce];if(pe.removed){for(var ve=[],ge=fe;ge<fe+pe.count;ge++)ve.push(ge);pe.indices=ve,fe+=pe.count}else{for(var ve=[],ge=he;ge<he+pe.count;ge++)ve.push(ge);pe.indices=ve,he+=pe.count,pe.added||(fe+=pe.count)}}return se}function ae(oe){return{newPos:oe.newPos,components:oe.components.slice(0)}}var ne=new ee;function ie(oe,se,le){return ne.diff(oe,se,le)}return arrayDiff2=ie,arrayDiff2}var Definable_1,hasRequiredDefinable;function requireDefinable(){if(hasRequiredDefinable)return Definable_1;hasRequiredDefinable=1;var ee=requireCore(),te=ee.createElement,ae=util$a,ne=Path_1,ie=Image$2,oe=Text_1,se=requireGraphic(),le=se.path,ue=se.image,ce=se.text,de="0",he="1";function fe(ve,ge,me,ye,_e){this._zrId=ve,this._svgRoot=ge,this._tagNames=typeof me=="string"?[me]:me,this._markLabel=ye,this._domName=_e||"_dom",this.nextId=0}fe.prototype.createElement=te,fe.prototype.getDefs=function(ve){var ge=this._svgRoot,me=this._svgRoot.getElementsByTagName("defs");return me.length===0?ve?(me=ge.insertBefore(this.createElement("defs"),ge.firstChild),me.contains||(me.contains=function(ye){var _e=me.children;if(!_e)return!1;for(var be=_e.length-1;be>=0;--be)if(_e[be]===ye)return!0;return!1}),me):null:me[0]},fe.prototype.update=function(ve,ge){if(ve){var me=this.getDefs(!1);if(ve[this._domName]&&me.contains(ve[this._domName]))typeof ge=="function"&&ge(ve);else{var ye=this.add(ve);ye&&(ve[this._domName]=ye)}}},fe.prototype.addDom=function(ve){var ge=this.getDefs(!0);ge.appendChild(ve)},fe.prototype.removeDom=function(ve){var ge=this.getDefs(!1);ge&&ve[this._domName]&&(ge.removeChild(ve[this._domName]),ve[this._domName]=null)},fe.prototype.getDoms=function(){var ve=this.getDefs(!1);if(!ve)return[];var ge=[];return ae.each(this._tagNames,function(me){var ye=ve.getElementsByTagName(me);ge=ge.concat([].slice.call(ye))}),ge},fe.prototype.markAllUnused=function(){var ve=this.getDoms(),ge=this;ae.each(ve,function(me){me[ge._markLabel]=de})},fe.prototype.markUsed=function(ve){ve&&(ve[this._markLabel]=he)},fe.prototype.removeUnused=function(){var ve=this.getDefs(!1);if(ve){var ge=this.getDoms(),me=this;ae.each(ge,function(ye){ye[me._markLabel]!==he&&ve.removeChild(ye)})}},fe.prototype.getSvgProxy=function(ve){return ve instanceof ne?le:ve instanceof ie?ue:ve instanceof oe?ce:le},fe.prototype.getTextSvgElement=function(ve){return ve.__textSvgEl},fe.prototype.getSvgElement=function(ve){return ve.__svgEl};var pe=fe;return Definable_1=pe,Definable_1}var GradientManager_1,hasRequiredGradientManager;function requireGradientManager(){if(hasRequiredGradientManager)return GradientManager_1;hasRequiredGradientManager=1;var ee=requireDefinable(),te=util$a,ae=log$2,ne=color$2;function ie(se,le){ee.call(this,se,le,["linearGradient","radialGradient"],"__gradient_in_use__")}te.inherits(ie,ee),ie.prototype.addWithoutUpdate=function(se,le){if(le&&le.style){var ue=this;te.each(["fill","stroke"],function(ce){if(le.style[ce]&&(le.style[ce].type==="linear"||le.style[ce].type==="radial")){var de=le.style[ce],he=ue.getDefs(!0),fe;de._dom?(fe=de._dom,he.contains(de._dom)||ue.addDom(fe)):fe=ue.add(de),ue.markUsed(le);var pe=fe.getAttribute("id");se.setAttribute(ce,"url(#"+pe+")")}})}},ie.prototype.add=function(se){var le;if(se.type==="linear")le=this.createElement("linearGradient");else if(se.type==="radial")le=this.createElement("radialGradient");else return ae("Illegal gradient type."),null;return se.id=se.id||this.nextId++,le.setAttribute("id","zr"+this._zrId+"-gradient-"+se.id),this.updateDom(se,le),this.addDom(le),le},ie.prototype.update=function(se){var le=this;ee.prototype.update.call(this,se,function(){var ue=se.type,ce=se._dom.tagName;ue==="linear"&&ce==="linearGradient"||ue==="radial"&&ce==="radialGradient"?le.updateDom(se,se._dom):(le.removeDom(se),le.add(se))})},ie.prototype.updateDom=function(se,le){if(se.type==="linear")le.setAttribute("x1",se.x),le.setAttribute("y1",se.y),le.setAttribute("x2",se.x2),le.setAttribute("y2",se.y2);else if(se.type==="radial")le.setAttribute("cx",se.x),le.setAttribute("cy",se.y),le.setAttribute("r",se.r);else{ae("Illegal gradient type.");return}se.global?le.setAttribute("gradientUnits","userSpaceOnUse"):le.setAttribute("gradientUnits","objectBoundingBox"),le.innerHTML="";for(var ue=se.colorStops,ce=0,de=ue.length;ce<de;++ce){var he=this.createElement("stop");he.setAttribute("offset",ue[ce].offset*100+"%");var fe=ue[ce].color;if(fe.indexOf("rgba")>-1){var pe=ne.parse(fe)[3],ve=ne.toHex(fe);he.setAttribute("stop-color","#"+ve),he.setAttribute("stop-opacity",pe)}else he.setAttribute("stop-color",ue[ce].color);le.appendChild(he)}se._dom=le},ie.prototype.markUsed=function(se){if(se.style){var le=se.style.fill;le&&le._dom&&ee.prototype.markUsed.call(this,le._dom),le=se.style.stroke,le&&le._dom&&ee.prototype.markUsed.call(this,le._dom)}};var oe=ie;return GradientManager_1=oe,GradientManager_1}var ClippathManager_1,hasRequiredClippathManager;function requireClippathManager(){if(hasRequiredClippathManager)return ClippathManager_1;hasRequiredClippathManager=1;var ee=requireDefinable(),te=util$a,ae=matrix$5;function ne(oe,se){ee.call(this,oe,se,"clipPath","__clippath_in_use__")}te.inherits(ne,ee),ne.prototype.update=function(oe){var se=this.getSvgElement(oe);se&&this.updateDom(se,oe.__clipPaths,!1);var le=this.getTextSvgElement(oe);le&&this.updateDom(le,oe.__clipPaths,!0),this.markUsed(oe)},ne.prototype.updateDom=function(oe,se,le){if(se&&se.length>0){var ue=this.getDefs(!0),ce=se[0],de,he,fe=le?"_textDom":"_dom";ce[fe]?(he=ce[fe].getAttribute("id"),de=ce[fe],ue.contains(de)||ue.appendChild(de)):(he="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,de=this.createElement("clipPath"),de.setAttribute("id",he),ue.appendChild(de),ce[fe]=de);var pe=this.getSvgProxy(ce);if(ce.transform&&ce.parent.invTransform&&!le){var ve=Array.prototype.slice.call(ce.transform);ae.mul(ce.transform,ce.parent.invTransform,ce.transform),pe.brush(ce),ce.transform=ve}else pe.brush(ce);var ge=this.getSvgElement(ce);de.innerHTML="",de.appendChild(ge.cloneNode()),oe.setAttribute("clip-path","url(#"+he+")"),se.length>1&&this.updateDom(de,se.slice(1),le)}else oe&&oe.setAttribute("clip-path","none")},ne.prototype.markUsed=function(oe){var se=this;oe.__clipPaths&&te.each(oe.__clipPaths,function(le){le._dom&&ee.prototype.markUsed.call(se,le._dom),le._textDom&&ee.prototype.markUsed.call(se,le._textDom)})};var ie=ne;return ClippathManager_1=ie,ClippathManager_1}var ShadowManager_1,hasRequiredShadowManager;function requireShadowManager(){if(hasRequiredShadowManager)return ShadowManager_1;hasRequiredShadowManager=1;var ee=requireDefinable(),te=util$a;function ae(oe,se){ee.call(this,oe,se,["filter"],"__filter_in_use__","_shadowDom")}te.inherits(ae,ee),ae.prototype.addWithoutUpdate=function(oe,se){if(se&&ne(se.style)){var le;if(se._shadowDom){le=se._shadowDom;var ue=this.getDefs(!0);ue.contains(se._shadowDom)||this.addDom(le)}else le=this.add(se);this.markUsed(se);var ce=le.getAttribute("id");oe.style.filter="url(#"+ce+")"}},ae.prototype.add=function(oe){var se=this.createElement("filter");return oe._shadowDomId=oe._shadowDomId||this.nextId++,se.setAttribute("id","zr"+this._zrId+"-shadow-"+oe._shadowDomId),this.updateDom(oe,se),this.addDom(se),se},ae.prototype.update=function(oe,se){var le=se.style;if(ne(le)){var ue=this;ee.prototype.update.call(this,se,function(){ue.updateDom(se,se._shadowDom)})}else this.remove(oe,se)},ae.prototype.remove=function(oe,se){se._shadowDomId!=null&&(this.removeDom(oe),oe.style.filter="")},ae.prototype.updateDom=function(oe,se){var le=se.getElementsByTagName("feDropShadow");le.length===0?le=this.createElement("feDropShadow"):le=le[0];var ue=oe.style,ce=oe.scale&&oe.scale[0]||1,de=oe.scale&&oe.scale[1]||1,he,fe,pe,ve;if(ue.shadowBlur||ue.shadowOffsetX||ue.shadowOffsetY)he=ue.shadowOffsetX||0,fe=ue.shadowOffsetY||0,pe=ue.shadowBlur,ve=ue.shadowColor;else if(ue.textShadowBlur)he=ue.textShadowOffsetX||0,fe=ue.textShadowOffsetY||0,pe=ue.textShadowBlur,ve=ue.textShadowColor;else{this.removeDom(se,ue);return}le.setAttribute("dx",he/ce),le.setAttribute("dy",fe/de),le.setAttribute("flood-color",ve);var ge=pe/2/ce,me=pe/2/de,ye=ge+" "+me;le.setAttribute("stdDeviation",ye),se.setAttribute("x","-100%"),se.setAttribute("y","-100%"),se.setAttribute("width",Math.ceil(pe/2*200)+"%"),se.setAttribute("height",Math.ceil(pe/2*200)+"%"),se.appendChild(le),oe._shadowDom=se},ae.prototype.markUsed=function(oe){oe._shadowDom&&ee.prototype.markUsed.call(this,oe._shadowDom)};function ne(oe){return oe&&(oe.shadowBlur||oe.shadowOffsetX||oe.shadowOffsetY||oe.textShadowBlur||oe.textShadowOffsetX||oe.textShadowOffsetY)}var ie=ae;return ShadowManager_1=ie,ShadowManager_1}var Painter,hasRequiredPainter;function requirePainter(){if(hasRequiredPainter)return Painter;hasRequiredPainter=1;var ee=requireCore(),te=ee.createElement,ae=util$a,ne=log$2,ie=Path_1,oe=Image$2,se=Text_1,le=requireArrayDiff2(),ue=requireGradientManager(),ce=requireClippathManager(),de=requireShadowManager(),he=requireGraphic(),fe=he.path,pe=he.image,ve=he.text;function ge(De){return parseInt(De,10)}function me(De){return De instanceof ie?fe:De instanceof oe?pe:De instanceof se?ve:fe}function ye(De,Me){return Me&&De&&Me.parentNode!==De}function _e(De,Me,Ie){if(ye(De,Me)&&Ie){var Ce=Ie.nextSibling;Ce?De.insertBefore(Me,Ce):De.appendChild(Me)}}function be(De,Me){if(ye(De,Me)){var Ie=De.firstChild;Ie?De.insertBefore(Me,Ie):De.appendChild(Me)}}function xe(De,Me){Me&&De&&Me.parentNode===De&&De.removeChild(Me)}function $e(De){return De.__textSvgEl}function Se(De){return De.__svgEl}var we=function(De,Me,Ie,Ce){this.root=De,this.storage=Me,this._opts=Ie=ae.extend({},Ie||{});var Ee=te("svg");Ee.setAttribute("xmlns","http://www.w3.org/2000/svg"),Ee.setAttribute("version","1.1"),Ee.setAttribute("baseProfile","full"),Ee.style.cssText="user-select:none;position:absolute;left:0;top:0;";var Re=te("g");Ee.appendChild(Re);var ke=te("g");Ee.appendChild(ke),this.gradientManager=new ue(Ce,ke),this.clipPathManager=new ce(Ce,ke),this.shadowManager=new de(Ce,ke);var Be=document.createElement("div");Be.style.cssText="overflow:hidden;position:relative",this._svgDom=Ee,this._svgRoot=ke,this._backgroundRoot=Re,this._viewport=Be,De.appendChild(Be),Be.appendChild(Ee),this.resize(Ie.width,Ie.height),this._visibleList=[]};we.prototype={constructor:we,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getSvgDom:function(){return this._svgDom},getSvgRoot:function(){return this._svgRoot},getViewportRootOffset:function(){var De=this.getViewportRoot();if(De)return{offsetLeft:De.offsetLeft||0,offsetTop:De.offsetTop||0}},refresh:function(){var De=this.storage.getDisplayList(!0);this._paintList(De)},setBackgroundColor:function(De){this._backgroundRoot&&this._backgroundNode&&this._backgroundRoot.removeChild(this._backgroundNode);var Me=te("rect");Me.setAttribute("width",this.getWidth()),Me.setAttribute("height",this.getHeight()),Me.setAttribute("x",0),Me.setAttribute("y",0),Me.setAttribute("id",0),Me.style.fill=De,this._backgroundRoot.appendChild(Me),this._backgroundNode=Me},_paintList:function(De){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var Me=this._svgRoot,Ie=this._visibleList,Ce=De.length,Ee=[],Re;for(Re=0;Re<Ce;Re++){var ke=De[Re],Be=me(ke),Ne=Se(ke)||$e(ke);ke.invisible||(ke.__dirty&&(Be&&Be.brush(ke),this.clipPathManager.update(ke),ke.style&&(this.gradientManager.update(ke.style.fill),this.gradientManager.update(ke.style.stroke),this.shadowManager.update(Ne,ke)),ke.__dirty=!1),Ee.push(ke))}var He=le(Ie,Ee),qe;for(Re=0;Re<He.length;Re++){var Oe=He[Re];if(Oe.removed)for(var ze=0;ze<Oe.count;ze++){var ke=Ie[Oe.indices[ze]],Ne=Se(ke),Ve=$e(ke);xe(Me,Ne),xe(Me,Ve)}}for(Re=0;Re<He.length;Re++){var Oe=He[Re];if(Oe.added)for(var ze=0;ze<Oe.count;ze++){var ke=Ee[Oe.indices[ze]],Ne=Se(ke),Ve=$e(ke);qe?_e(Me,Ne,qe):be(Me,Ne),Ne?_e(Me,Ve,Ne):qe?_e(Me,Ve,qe):be(Me,Ve),_e(Me,Ve,Ne),qe=Ve||Ne||qe,this.gradientManager.addWithoutUpdate(Ne||Ve,ke),this.shadowManager.addWithoutUpdate(Ne||Ve,ke),this.clipPathManager.markUsed(ke)}else if(!Oe.removed)for(var ze=0;ze<Oe.count;ze++){var ke=Ee[Oe.indices[ze]],Ne=Se(ke),Ve=$e(ke),Ne=Se(ke),Ve=$e(ke);this.gradientManager.markUsed(ke),this.gradientManager.addWithoutUpdate(Ne||Ve,ke),this.shadowManager.markUsed(ke),this.shadowManager.addWithoutUpdate(Ne||Ve,ke),this.clipPathManager.markUsed(ke),Ve&&_e(Me,Ve,Ne),qe=Ne||Ve||qe}}this.gradientManager.removeUnused(),this.clipPathManager.removeUnused(),this.shadowManager.removeUnused(),this._visibleList=Ee},_getDefs:function(De){var Me=this._svgDom,Ie=Me.getElementsByTagName("defs");if(Ie.length===0)if(De){var Ie=Me.insertBefore(te("defs"),Me.firstChild);return Ie.contains||(Ie.contains=function(Ee){var Re=Ie.children;if(!Re)return!1;for(var ke=Re.length-1;ke>=0;--ke)if(Re[ke]===Ee)return!0;return!1}),Ie}else return null;else return Ie[0]},resize:function(De,Me){var Ie=this._viewport;Ie.style.display="none";var Ce=this._opts;if(De!=null&&(Ce.width=De),Me!=null&&(Ce.height=Me),De=this._getSize(0),Me=this._getSize(1),Ie.style.display="",this._width!==De||this._height!==Me){this._width=De,this._height=Me;var Ee=Ie.style;Ee.width=De+"px",Ee.height=Me+"px";var Re=this._svgDom;Re.setAttribute("width",De),Re.setAttribute("height",Me)}this._backgroundNode&&(this._backgroundNode.setAttribute("width",De),this._backgroundNode.setAttribute("height",Me))},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(De){var Me=this._opts,Ie=["width","height"][De],Ce=["clientWidth","clientHeight"][De],Ee=["paddingLeft","paddingTop"][De],Re=["paddingRight","paddingBottom"][De];if(Me[Ie]!=null&&Me[Ie]!=="auto")return parseFloat(Me[Ie]);var ke=this.root,Be=document.defaultView.getComputedStyle(ke);return(ke[Ce]||ge(Be[Ie])||ge(ke.style[Ie]))-(ge(Be[Ee])||0)-(ge(Be[Re])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},toDataURL:function(){this.refresh();var De=encodeURIComponent(this._svgDom.outerHTML.replace(/></g,`>
-\r<`));return"data:image/svg+xml;charset=UTF-8,"+De}};function Ae(De){return function(){ne('In SVG mode painter not support method "'+De+'"')}}ae.each(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","pathToImage"],function(De){we.prototype[De]=Ae(De)});var Te=we;return Painter=Te,Painter}var hasRequiredSvg;function requireSvg(){if(hasRequiredSvg)return svg$1;hasRequiredSvg=1,requireGraphic();var ee=zrender$1,te=ee.registerPainter,ae=requirePainter();return te("svg",ae),svg$1}(function(ee){var te=echarts$1;(function(){for(var ne in te){if(te==null||!te.hasOwnProperty(ne)||ne==="default"||ne==="__esModule")return;ee[ne]=te[ne]}})();var ae=require_export();(function(){for(var ne in ae){if(ae==null||!ae.hasOwnProperty(ne)||ne==="default"||ne==="__esModule")return;ee[ne]=ae[ne]}})(),requireDataset(),requireLine$1(),requireBar(),requirePie(),requireScatter(),requireRadar(),requireMap(),requireTree(),requireTreemap(),requireGraph(),requireGauge(),requireFunnel(),requireParallel(),requireSankey(),requireBoxplot(),requireCandlestick(),requireEffectScatter(),requireLines(),requireHeatmap(),requirePictorialBar(),requireThemeRiver(),requireSunburst(),requireCustom(),requireGrid(),requirePolar(),requireGeo(),requireSingleAxis(),requireParallel$1(),requireCalendar(),requireGraphic$2(),requireToolbox(),requireTooltip(),requireAxisPointer(),requireBrush(),requireTitle(),requireTimeline(),requireMarkPoint(),requireMarkLine(),requireMarkArea(),requireLegendScroll(),requireLegend(),requireDataZoom(),requireDataZoomInside(),requireDataZoomSlider(),requireVisualMap(),requireVisualMapContinuous(),requireVisualMapPiecewise(),requireVml(),requireSvg()})(echarts4);const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0$1=getAugmentedNamespace(__viteBrowserExternal$1);var __defProp$1=Object.defineProperty,__defNormalProp$1=(ee,te,ae)=>te in ee?__defProp$1(ee,te,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ee[te]=ae,__publicField=(ee,te,ae)=>(__defNormalProp$1(ee,typeof te!="symbol"?te+"":te,ae),ae);function _mergeNamespaces(ee,te){return te.forEach(function(ae){ae&&typeof ae!="string"&&!Array.isArray(ae)&&Object.keys(ae).forEach(function(ne){if(ne!=="default"&&!(ne in ee)){var ie=Object.getOwnPropertyDescriptor(ae,ne);Object.defineProperty(ee,ne,ie.get?ie:{enumerable:!0,get:function(){return ae[ne]}})}})}),Object.freeze(Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"}))}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function commonjsRequire(ee){throw new Error('Could not dynamically require "'+ee+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var queryString={},strictUriEncode=ee=>encodeURIComponent(ee).replace(/[!'()*]/g,te=>`%${te.charCodeAt(0).toString(16).toUpperCase()}`),token="%[a-f0-9]{2}",singleMatcher=new RegExp("("+token+")|([^%]+?)","gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(ee,te){try{return[decodeURIComponent(ee.join(""))]}catch{}if(ee.length===1)return ee;te=te||1;var ae=ee.slice(0,te),ne=ee.slice(te);return Array.prototype.concat.call([],decodeComponents(ae),decodeComponents(ne))}function decode$1(ee){try{return decodeURIComponent(ee)}catch{for(var te=ee.match(singleMatcher)||[],ae=1;ae<te.length;ae++)ee=decodeComponents(te,ae).join(""),te=ee.match(singleMatcher)||[];return ee}}function customDecodeURIComponent(ee){for(var te={"%FE%FF":"��","%FF%FE":"��"},ae=multiMatcher.exec(ee);ae;){try{te[ae[0]]=decodeURIComponent(ae[0])}catch{var ne=decode$1(ae[0]);ne!==ae[0]&&(te[ae[0]]=ne)}ae=multiMatcher.exec(ee)}te["%C2"]="�";for(var ie=Object.keys(te),oe=0;oe<ie.length;oe++){var se=ie[oe];ee=ee.replace(new RegExp(se,"g"),te[se])}return ee}var decodeUriComponent=function(ee){if(typeof ee!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof ee+"`");try{return ee=ee.replace(/\+/g," "),decodeURIComponent(ee)}catch{return customDecodeURIComponent(ee)}},splitOnFirst=(ee,te)=>{if(!(typeof ee=="string"&&typeof te=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(te==="")return[ee];const ae=ee.indexOf(te);return ae===-1?[ee]:[ee.slice(0,ae),ee.slice(ae+te.length)]},filterObj=function(ee,te){for(var ae={},ne=Object.keys(ee),ie=Array.isArray(te),oe=0;oe<ne.length;oe++){var se=ne[oe],le=ee[se];(ie?te.indexOf(se)!==-1:te(se,le,ee))&&(ae[se]=le)}return ae};(function(ee){const te=strictUriEncode,ae=decodeUriComponent,ne=splitOnFirst,ie=filterObj,oe=_e=>_e==null,se=Symbol("encodeFragmentIdentifier");function le(_e){switch(_e.arrayFormat){case"index":return be=>(xe,$e)=>{const Se=xe.length;return $e===void 0||_e.skipNull&&$e===null||_e.skipEmptyString&&$e===""?xe:$e===null?[...xe,[de(be,_e),"[",Se,"]"].join("")]:[...xe,[de(be,_e),"[",de(Se,_e),"]=",de($e,_e)].join("")]};case"bracket":return be=>(xe,$e)=>$e===void 0||_e.skipNull&&$e===null||_e.skipEmptyString&&$e===""?xe:$e===null?[...xe,[de(be,_e),"[]"].join("")]:[...xe,[de(be,_e),"[]=",de($e,_e)].join("")];case"colon-list-separator":return be=>(xe,$e)=>$e===void 0||_e.skipNull&&$e===null||_e.skipEmptyString&&$e===""?xe:$e===null?[...xe,[de(be,_e),":list="].join("")]:[...xe,[de(be,_e),":list=",de($e,_e)].join("")];case"comma":case"separator":case"bracket-separator":{const be=_e.arrayFormat==="bracket-separator"?"[]=":"=";return xe=>($e,Se)=>Se===void 0||_e.skipNull&&Se===null||_e.skipEmptyString&&Se===""?$e:(Se=Se===null?"":Se,$e.length===0?[[de(xe,_e),be,de(Se,_e)].join("")]:[[$e,de(Se,_e)].join(_e.arrayFormatSeparator)])}default:return be=>(xe,$e)=>$e===void 0||_e.skipNull&&$e===null||_e.skipEmptyString&&$e===""?xe:$e===null?[...xe,de(be,_e)]:[...xe,[de(be,_e),"=",de($e,_e)].join("")]}}function ue(_e){let be;switch(_e.arrayFormat){case"index":return(xe,$e,Se)=>{if(be=/\[(\d*)\]$/.exec(xe),xe=xe.replace(/\[\d*\]$/,""),!be){Se[xe]=$e;return}Se[xe]===void 0&&(Se[xe]={}),Se[xe][be[1]]=$e};case"bracket":return(xe,$e,Se)=>{if(be=/(\[\])$/.exec(xe),xe=xe.replace(/\[\]$/,""),!be){Se[xe]=$e;return}if(Se[xe]===void 0){Se[xe]=[$e];return}Se[xe]=[].concat(Se[xe],$e)};case"colon-list-separator":return(xe,$e,Se)=>{if(be=/(:list)$/.exec(xe),xe=xe.replace(/:list$/,""),!be){Se[xe]=$e;return}if(Se[xe]===void 0){Se[xe]=[$e];return}Se[xe]=[].concat(Se[xe],$e)};case"comma":case"separator":return(xe,$e,Se)=>{const we=typeof $e=="string"&&$e.includes(_e.arrayFormatSeparator),Ae=typeof $e=="string"&&!we&&he($e,_e).includes(_e.arrayFormatSeparator);$e=Ae?he($e,_e):$e;const Te=we||Ae?$e.split(_e.arrayFormatSeparator).map(De=>he(De,_e)):$e===null?$e:he($e,_e);Se[xe]=Te};case"bracket-separator":return(xe,$e,Se)=>{const we=/(\[\])$/.test(xe);if(xe=xe.replace(/\[\]$/,""),!we){Se[xe]=$e&&he($e,_e);return}const Ae=$e===null?[]:$e.split(_e.arrayFormatSeparator).map(Te=>he(Te,_e));if(Se[xe]===void 0){Se[xe]=Ae;return}Se[xe]=[].concat(Se[xe],Ae)};default:return(xe,$e,Se)=>{if(Se[xe]===void 0){Se[xe]=$e;return}Se[xe]=[].concat(Se[xe],$e)}}}function ce(_e){if(typeof _e!="string"||_e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function de(_e,be){return be.encode?be.strict?te(_e):encodeURIComponent(_e):_e}function he(_e,be){return be.decode?ae(_e):_e}function fe(_e){return Array.isArray(_e)?_e.sort():typeof _e=="object"?fe(Object.keys(_e)).sort((be,xe)=>Number(be)-Number(xe)).map(be=>_e[be]):_e}function pe(_e){const be=_e.indexOf("#");return be!==-1&&(_e=_e.slice(0,be)),_e}function ve(_e){let be="";const xe=_e.indexOf("#");return xe!==-1&&(be=_e.slice(xe)),be}function ge(_e){_e=pe(_e);const be=_e.indexOf("?");return be===-1?"":_e.slice(be+1)}function me(_e,be){return be.parseNumbers&&!Number.isNaN(Number(_e))&&typeof _e=="string"&&_e.trim()!==""?_e=Number(_e):be.parseBooleans&&_e!==null&&(_e.toLowerCase()==="true"||_e.toLowerCase()==="false")&&(_e=_e.toLowerCase()==="true"),_e}function ye(_e,be){be=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},be),ce(be.arrayFormatSeparator);const xe=ue(be),$e=Object.create(null);if(typeof _e!="string"||(_e=_e.trim().replace(/^[?#&]/,""),!_e))return $e;for(const Se of _e.split("&")){if(Se==="")continue;let[we,Ae]=ne(be.decode?Se.replace(/\+/g," "):Se,"=");Ae=Ae===void 0?null:["comma","separator","bracket-separator"].includes(be.arrayFormat)?Ae:he(Ae,be),xe(he(we,be),Ae,$e)}for(const Se of Object.keys($e)){const we=$e[Se];if(typeof we=="object"&&we!==null)for(const Ae of Object.keys(we))we[Ae]=me(we[Ae],be);else $e[Se]=me(we,be)}return be.sort===!1?$e:(be.sort===!0?Object.keys($e).sort():Object.keys($e).sort(be.sort)).reduce((Se,we)=>{const Ae=$e[we];return Ae&&typeof Ae=="object"&&!Array.isArray(Ae)?Se[we]=fe(Ae):Se[we]=Ae,Se},Object.create(null))}ee.extract=ge,ee.parse=ye,ee.stringify=(_e,be)=>{if(!_e)return"";be=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},be),ce(be.arrayFormatSeparator);const xe=Ae=>be.skipNull&&oe(_e[Ae])||be.skipEmptyString&&_e[Ae]==="",$e=le(be),Se={};for(const Ae of Object.keys(_e))xe(Ae)||(Se[Ae]=_e[Ae]);const we=Object.keys(Se);return be.sort!==!1&&we.sort(be.sort),we.map(Ae=>{const Te=_e[Ae];return Te===void 0?"":Te===null?de(Ae,be):Array.isArray(Te)?Te.length===0&&be.arrayFormat==="bracket-separator"?de(Ae,be)+"[]":Te.reduce($e(Ae),[]).join("&"):de(Ae,be)+"="+de(Te,be)}).filter(Ae=>Ae.length>0).join("&")},ee.parseUrl=(_e,be)=>{be=Object.assign({decode:!0},be);const[xe,$e]=ne(_e,"#");return Object.assign({url:xe.split("?")[0]||"",query:ye(ge(_e),be)},be&&be.parseFragmentIdentifier&&$e?{fragmentIdentifier:he($e,be)}:{})},ee.stringifyUrl=(_e,be)=>{be=Object.assign({encode:!0,strict:!0,[se]:!0},be);const xe=pe(_e.url).split("?")[0]||"",$e=ee.extract(_e.url),Se=ee.parse($e,{sort:!1}),we=Object.assign(Se,_e.query);let Ae=ee.stringify(we,be);Ae&&(Ae=`?${Ae}`);let Te=ve(_e.url);return _e.fragmentIdentifier&&(Te=`#${be[se]?de(_e.fragmentIdentifier,be):_e.fragmentIdentifier}`),`${xe}${Ae}${Te}`},ee.pick=(_e,be,xe)=>{xe=Object.assign({parseFragmentIdentifier:!0,[se]:!1},xe);const{url:$e,query:Se,fragmentIdentifier:we}=ee.parseUrl(_e,xe);return ee.stringifyUrl({url:$e,query:ie(Se,be),fragmentIdentifier:we},xe)},ee.exclude=(_e,be,xe)=>{const $e=Array.isArray(be)?Se=>!be.includes(Se):(Se,we)=>!be(Se,we);return ee.pick(_e,$e,xe)}})(queryString);var hmacSha256={exports:{}},core={exports:{}};(function(ee,te){(function(ae,ne){ee.exports=ne()})(commonjsGlobal,function(){var ae=ae||function(ne,ie){var oe;if(typeof window<"u"&&window.crypto&&(oe=window.crypto),typeof self<"u"&&self.crypto&&(oe=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(oe=globalThis.crypto),!oe&&typeof window<"u"&&window.msCrypto&&(oe=window.msCrypto),!oe&&typeof commonjsGlobal<"u"&&commonjsGlobal.crypto&&(oe=commonjsGlobal.crypto),!oe&&typeof commonjsRequire=="function")try{oe=require$$0$1}catch{}var se=function(){if(oe){if(typeof oe.getRandomValues=="function")try{return oe.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof oe.randomBytes=="function")try{return oe.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},le=Object.create||function(){function _e(){}return function(be){var xe;return _e.prototype=be,xe=new _e,_e.prototype=null,xe}}(),ue={},ce=ue.lib={},de=ce.Base=function(){return{extend:function(_e){var be=le(this);return _e&&be.mixIn(_e),(!be.hasOwnProperty("init")||this.init===be.init)&&(be.init=function(){be.$super.init.apply(this,arguments)}),be.init.prototype=be,be.$super=this,be},create:function(){var _e=this.extend();return _e.init.apply(_e,arguments),_e},init:function(){},mixIn:function(_e){for(var be in _e)_e.hasOwnProperty(be)&&(this[be]=_e[be]);_e.hasOwnProperty("toString")&&(this.toString=_e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),he=ce.WordArray=de.extend({init:function(_e,be){_e=this.words=_e||[],be!=ie?this.sigBytes=be:this.sigBytes=_e.length*4},toString:function(_e){return(_e||pe).stringify(this)},concat:function(_e){var be=this.words,xe=_e.words,$e=this.sigBytes,Se=_e.sigBytes;if(this.clamp(),$e%4)for(var we=0;we<Se;we++){var Ae=xe[we>>>2]>>>24-we%4*8&255;be[$e+we>>>2]|=Ae<<24-($e+we)%4*8}else for(var Te=0;Te<Se;Te+=4)be[$e+Te>>>2]=xe[Te>>>2];return this.sigBytes+=Se,this},clamp:function(){var _e=this.words,be=this.sigBytes;_e[be>>>2]&=4294967295<<32-be%4*8,_e.length=ne.ceil(be/4)},clone:function(){var _e=de.clone.call(this);return _e.words=this.words.slice(0),_e},random:function(_e){for(var be=[],xe=0;xe<_e;xe+=4)be.push(se());return new he.init(be,_e)}}),fe=ue.enc={},pe=fe.Hex={stringify:function(_e){for(var be=_e.words,xe=_e.sigBytes,$e=[],Se=0;Se<xe;Se++){var we=be[Se>>>2]>>>24-Se%4*8&255;$e.push((we>>>4).toString(16)),$e.push((we&15).toString(16))}return $e.join("")},parse:function(_e){for(var be=_e.length,xe=[],$e=0;$e<be;$e+=2)xe[$e>>>3]|=parseInt(_e.substr($e,2),16)<<24-$e%8*4;return new he.init(xe,be/2)}},ve=fe.Latin1={stringify:function(_e){for(var be=_e.words,xe=_e.sigBytes,$e=[],Se=0;Se<xe;Se++){var we=be[Se>>>2]>>>24-Se%4*8&255;$e.push(String.fromCharCode(we))}return $e.join("")},parse:function(_e){for(var be=_e.length,xe=[],$e=0;$e<be;$e++)xe[$e>>>2]|=(_e.charCodeAt($e)&255)<<24-$e%4*8;return new he.init(xe,be)}},ge=fe.Utf8={stringify:function(_e){try{return decodeURIComponent(escape(ve.stringify(_e)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(_e){return ve.parse(unescape(encodeURIComponent(_e)))}},me=ce.BufferedBlockAlgorithm=de.extend({reset:function(){this._data=new he.init,this._nDataBytes=0},_append:function(_e){typeof _e=="string"&&(_e=ge.parse(_e)),this._data.concat(_e),this._nDataBytes+=_e.sigBytes},_process:function(_e){var be,xe=this._data,$e=xe.words,Se=xe.sigBytes,we=this.blockSize,Ae=we*4,Te=Se/Ae;_e?Te=ne.ceil(Te):Te=ne.max((Te|0)-this._minBufferSize,0);var De=Te*we,Me=ne.min(De*4,Se);if(De){for(var Ie=0;Ie<De;Ie+=we)this._doProcessBlock($e,Ie);be=$e.splice(0,De),xe.sigBytes-=Me}return new he.init(be,Me)},clone:function(){var _e=de.clone.call(this);return _e._data=this._data.clone(),_e},_minBufferSize:0});ce.Hasher=me.extend({cfg:de.extend(),init:function(_e){this.cfg=this.cfg.extend(_e),this.reset()},reset:function(){me.reset.call(this),this._doReset()},update:function(_e){return this._append(_e),this._process(),this},finalize:function(_e){_e&&this._append(_e);var be=this._doFinalize();return be},blockSize:16,_createHelper:function(_e){return function(be,xe){return new _e.init(xe).finalize(be)}},_createHmacHelper:function(_e){return function(be,xe){return new ye.HMAC.init(_e,xe).finalize(be)}}});var ye=ue.algo={};return ue}(Math);return ae})})(core);var sha256={exports:{}};(function(ee,te){(function(ae,ne){ee.exports=ne(core.exports)})(commonjsGlobal,function(ae){return function(ne){var ie=ae,oe=ie.lib,se=oe.WordArray,le=oe.Hasher,ue=ie.algo,ce=[],de=[];(function(){function pe(ye){for(var _e=ne.sqrt(ye),be=2;be<=_e;be++)if(!(ye%be))return!1;return!0}function ve(ye){return(ye-(ye|0))*4294967296|0}for(var ge=2,me=0;me<64;)pe(ge)&&(me<8&&(ce[me]=ve(ne.pow(ge,1/2))),de[me]=ve(ne.pow(ge,1/3)),me++),ge++})();var he=[],fe=ue.SHA256=le.extend({_doReset:function(){this._hash=new se.init(ce.slice(0))},_doProcessBlock:function(pe,ve){for(var ge=this._hash.words,me=ge[0],ye=ge[1],_e=ge[2],be=ge[3],xe=ge[4],$e=ge[5],Se=ge[6],we=ge[7],Ae=0;Ae<64;Ae++){if(Ae<16)he[Ae]=pe[ve+Ae]|0;else{var Te=he[Ae-15],De=(Te<<25|Te>>>7)^(Te<<14|Te>>>18)^Te>>>3,Me=he[Ae-2],Ie=(Me<<15|Me>>>17)^(Me<<13|Me>>>19)^Me>>>10;he[Ae]=De+he[Ae-7]+Ie+he[Ae-16]}var Ce=xe&$e^~xe&Se,Ee=me&ye^me&_e^ye&_e,Re=(me<<30|me>>>2)^(me<<19|me>>>13)^(me<<10|me>>>22),ke=(xe<<26|xe>>>6)^(xe<<21|xe>>>11)^(xe<<7|xe>>>25),Be=we+ke+Ce+de[Ae]+he[Ae],Ne=Re+Ee;we=Se,Se=$e,$e=xe,xe=be+Be|0,be=_e,_e=ye,ye=me,me=Be+Ne|0}ge[0]=ge[0]+me|0,ge[1]=ge[1]+ye|0,ge[2]=ge[2]+_e|0,ge[3]=ge[3]+be|0,ge[4]=ge[4]+xe|0,ge[5]=ge[5]+$e|0,ge[6]=ge[6]+Se|0,ge[7]=ge[7]+we|0},_doFinalize:function(){var pe=this._data,ve=pe.words,ge=this._nDataBytes*8,me=pe.sigBytes*8;return ve[me>>>5]|=128<<24-me%32,ve[(me+64>>>9<<4)+14]=ne.floor(ge/4294967296),ve[(me+64>>>9<<4)+15]=ge,pe.sigBytes=ve.length*4,this._process(),this._hash},clone:function(){var pe=le.clone.call(this);return pe._hash=this._hash.clone(),pe}});ie.SHA256=le._createHelper(fe),ie.HmacSHA256=le._createHmacHelper(fe)}(Math),ae.SHA256})})(sha256);var SHA256=sha256.exports,hmac={exports:{}};(function(ee,te){(function(ae,ne){ee.exports=ne(core.exports)})(commonjsGlobal,function(ae){(function(){var ne=ae,ie=ne.lib,oe=ie.Base,se=ne.enc,le=se.Utf8,ue=ne.algo;ue.HMAC=oe.extend({init:function(ce,de){ce=this._hasher=new ce.init,typeof de=="string"&&(de=le.parse(de));var he=ce.blockSize,fe=he*4;de.sigBytes>fe&&(de=ce.finalize(de)),de.clamp();for(var pe=this._oKey=de.clone(),ve=this._iKey=de.clone(),ge=pe.words,me=ve.words,ye=0;ye<he;ye++)ge[ye]^=1549556828,me[ye]^=909522486;pe.sigBytes=ve.sigBytes=fe,this.reset()},reset:function(){var ce=this._hasher;ce.reset(),ce.update(this._iKey)},update:function(ce){return this._hasher.update(ce),this},finalize:function(ce){var de=this._hasher,he=de.finalize(ce);de.reset();var fe=de.finalize(this._oKey.clone().concat(he));return fe}})})()})})(hmac);(function(ee,te){(function(ae,ne,ie){ee.exports=ne(core.exports,sha256.exports,hmac.exports)})(commonjsGlobal,function(ae){return ae.HmacSHA256})})(hmacSha256);var HmacSHA256=hmacSha256.exports,encHex={exports:{}};(function(ee,te){(function(ae,ne){ee.exports=ne(core.exports)})(commonjsGlobal,function(ae){return ae.enc.Hex})})(encHex);var Hex=encHex.exports,crypto_wrapper={hmacsha256:function(ee,te){return Hex.stringify(HmacSHA256(te,ee))},HexEncodeSHA256Hash:function(ee){return SHA256(ee)}},Algorithm="SDK-HMAC-SHA256",HeaderXDate="X-Sdk-Date",HeaderAuthorization="Authorization",HeaderContentSha256="x-sdk-content-sha256";const hexTable=new Array(256);for(var i$1$1=0;i$1$1<256;++i$1$1)hexTable[i$1$1]="%"+((i$1$1<16?"0":"")+i$1$1.toString(16)).toUpperCase();const noEscape=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0];function urlEncode(ee){typeof ee!="string"&&(typeof ee=="object"?ee=String(ee):ee+="");for(var te="",ae=0,ne=0;ne<ee.length;++ne){var ie=ee.charCodeAt(ne);if(ie<128){if(noEscape[ie]===1)continue;ae<ne&&(te+=ee.slice(ae,ne)),ae=ne+1,te+=hexTable[ie];continue}if(ae<ne&&(te+=ee.slice(ae,ne)),ie<2048){ae=ne+1,te+=hexTable[192|ie>>6]+hexTable[128|ie&63];continue}if(ie<55296||ie>=57344){ae=ne+1,te+=hexTable[224|ie>>12]+hexTable[128|ie>>6&63]+hexTable[128|ie&63];continue}if(++ne,ne>=ee.length)throw new errors.URIError("ERR_INVALID_URI");var oe=ee.charCodeAt(ne)&1023;ae=ne+1,ie=65536+((ie&1023)<<10|oe),te+=hexTable[240|ie>>18]+hexTable[128|ie>>12&63]+hexTable[128|ie>>6&63]+hexTable[128|ie&63]}return ae===0?ee:ae<ee.length?te+ee.slice(ae):te}function HttpRequest(ee,te,ae,ne){if(ee===void 0?this.method="":this.method=ee,te===void 0)this.host="",this.uri="",this.query={};else{this.query={};var ie,oe,fe=te.indexOf("://");fe!==-1&&(te=te.substr(fe+3));var fe=te.indexOf("?");if(fe!==-1){var se=te.substr(fe+1);te=te.substr(0,fe);var le=se.split("&");for(var fe in le){var ue=le[fe],ce=ue.indexOf("="),de,he;ce>=0?(de=ue.substr(0,ce),he=ue.substr(ce+1)):(de=ue,he=""),de!==""&&(de=decodeURI(de),he=decodeURI(he),this.query[de]===void 0?this.query[de]=[he]:this.query[de].push(he))}}var fe=te.indexOf("/");fe===-1?(ie=te,oe="/"):(ie=te.substr(0,fe),oe=te.substr(fe)),this.host=ie,this.uri=decodeURI(oe)}ae===void 0?this.headers={}:this.headers=ae,ne===void 0?this.body="":this.body=ne}function findHeader(ee,te){for(var ae in ee.headers)if(ae.toLowerCase()===te.toLowerCase())return ee.headers[ae];return null}function CanonicalRequest(ee,te){var ae=findHeader(ee,HeaderContentSha256);if(ae===null){var ne=RequestPayload(ee);ae=crypto_wrapper.HexEncodeSHA256Hash(ne)}return ee.method+`
-`+CanonicalURI(ee)+`
-`+CanonicalQueryString(ee)+`
-`+CanonicalHeaders(ee,te)+`
-`+te.join(";")+`
-`+ae}function CanonicalURI(ee){var te=ee.uri.split("/"),ae=[];for(var ne in te){var ie=te[ne];ae.push(urlEncode(ie))}var oe=ae.join("/");return oe[oe.length-1]!=="/"&&(oe=oe+"/"),oe}function CanonicalQueryString(ee){var te=[];for(var ae in ee.query)te.push(ae);te.sort();var ne=[];for(var ie in te){var ae=urlEncode(te[ie]),oe=ee.query[te[ie]];if(Array.isArray(oe)){oe.sort();for(var se in oe)ne.push(ae+"="+urlEncode(oe[se]))}else ne.push(ae+"="+urlEncode(oe))}return ne.join("&")}function CanonicalHeaders(ee,te){var ae={};for(var ne in ee.headers)ae[ne.toLowerCase()]=ee.headers[ne];var ie=[];for(var oe in te){var se=ae[te[oe]];ie.push(te[oe]+":"+se.trim())}return ie.join(`
-`)+`
-`}function SignedHeaders(ee){var te=[];for(var ae in ee.headers)te.push(ae.toLowerCase());return te.sort(),te}function RequestPayload(ee){return ee.body}function StringToSign(ee,te){var ae=crypto_wrapper.HexEncodeSHA256Hash(ee);return Algorithm+`
-`+te+`
-`+ae}function SignStringToSign(ee,te){return crypto_wrapper.hmacsha256(te,ee)}function AuthHeaderValue(ee,te,ae){return Algorithm+" Access="+te+", SignedHeaders="+ae.join(";")+", Signature="+ee}function twoChar(ee){return ee>=10?""+ee:"0"+ee}function getTime$1(){var ee=new Date;return""+ee.getUTCFullYear()+twoChar(ee.getUTCMonth()+1)+twoChar(ee.getUTCDate())+"T"+twoChar(ee.getUTCHours())+twoChar(ee.getUTCMinutes())+twoChar(ee.getUTCSeconds())+"Z"}function Signer$1(){this.Key="",this.Secret=""}Signer$1.prototype.Sign=function(ee){var te=findHeader(ee,HeaderXDate);te===null&&(te=getTime$1(),ee.headers[HeaderXDate]=te),ee.method!=="PUT"&&ee.method!=="PATCH"&&ee.method!=="POST"&&(ee.body="");var ae=CanonicalQueryString(ee);ae!==""&&(ae="?"+ae);var ne={hostname:ee.host,path:encodeURI(ee.uri)+ae,method:ee.method,headers:ee.headers};findHeader(ee,"host")===null&&(ee.headers.host=ee.host);var ie=SignedHeaders(ee),oe=CanonicalRequest(ee,ie),se=StringToSign(oe,te),le=SignStringToSign(se,this.Secret);return ne.headers[HeaderAuthorization]=AuthHeaderValue(le,this.Key,ie),ne};class Signer{constructor(te,ae){__publicField(this,"signer"),this.signer=new Signer$1,this.signer.Key=te,this.signer.Secret=ae}fetch(te){te.method=te.method.toUpperCase()||"GET",te.path&&!te.path.startsWith("/")&&(te.path="/"+te.path),te.body=te.body||"";let ae=te.url?te.url:te.host+te.path;te.query&&(ae=`${ae}?${queryString.stringify(te.query)}`);const ne=new HttpRequest(te.method,ae,te.headers,te.body),ie=this.signer.Sign(ne),oe=new Headers;for(const ue in ie.headers)oe.append(ue,ie.headers[ue]);const se={method:ie.method,headers:oe};se.method!="GET"&&se.method!="HEAD"&&(se.body=te.body);const le=new Request(ae,se);return fetch(le)}}var URI$1={exports:{}},punycode={exports:{}};/*! https://mths.be/punycode v1.4.0 by @mathias */(function(ee,te){(function(ae){var ne=te&&!te.nodeType&&te,ie=ee&&!ee.nodeType&&ee,oe=typeof commonjsGlobal=="object"&&commonjsGlobal;(oe.global===oe||oe.window===oe||oe.self===oe)&&(ae=oe);var se,le=2147483647,ue=36,ce=1,de=26,he=38,fe=700,pe=72,ve=128,ge="-",me=/^xn--/,ye=/[^\x20-\x7E]/,_e=/[\x2E\u3002\uFF0E\uFF61]/g,be={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},xe=ue-ce,$e=Math.floor,Se=String.fromCharCode,we;function Ae(qe){throw new RangeError(be[qe])}function Te(qe,Oe){for(var ze=qe.length,Ve=[];ze--;)Ve[ze]=Oe(qe[ze]);return Ve}function De(qe,Oe){var ze=qe.split("@"),Ve="";ze.length>1&&(Ve=ze[0]+"@",qe=ze[1]),qe=qe.replace(_e,".");var Ge=qe.split("."),We=Te(Ge,Oe).join(".");return Ve+We}function Me(qe){for(var Oe=[],ze=0,Ve=qe.length,Ge,We;ze<Ve;)Ge=qe.charCodeAt(ze++),Ge>=55296&&Ge<=56319&&ze<Ve?(We=qe.charCodeAt(ze++),(We&64512)==56320?Oe.push(((Ge&1023)<<10)+(We&1023)+65536):(Oe.push(Ge),ze--)):Oe.push(Ge);return Oe}function Ie(qe){return Te(qe,function(Oe){var ze="";return Oe>65535&&(Oe-=65536,ze+=Se(Oe>>>10&1023|55296),Oe=56320|Oe&1023),ze+=Se(Oe),ze}).join("")}function Ce(qe){return qe-48<10?qe-22:qe-65<26?qe-65:qe-97<26?qe-97:ue}function Ee(qe,Oe){return qe+22+75*(qe<26)-((Oe!=0)<<5)}function Re(qe,Oe,ze){var Ve=0;for(qe=ze?$e(qe/fe):qe>>1,qe+=$e(qe/Oe);qe>xe*de>>1;Ve+=ue)qe=$e(qe/xe);return $e(Ve+(xe+1)*qe/(qe+he))}function ke(qe){var Oe=[],ze=qe.length,Ve,Ge=0,We=ve,Ue=pe,Ye,Ze,Xe,it,at,ut,dt,pt,gt;for(Ye=qe.lastIndexOf(ge),Ye<0&&(Ye=0),Ze=0;Ze<Ye;++Ze)qe.charCodeAt(Ze)>=128&&Ae("not-basic"),Oe.push(qe.charCodeAt(Ze));for(Xe=Ye>0?Ye+1:0;Xe<ze;){for(it=Ge,at=1,ut=ue;Xe>=ze&&Ae("invalid-input"),dt=Ce(qe.charCodeAt(Xe++)),(dt>=ue||dt>$e((le-Ge)/at))&&Ae("overflow"),Ge+=dt*at,pt=ut<=Ue?ce:ut>=Ue+de?de:ut-Ue,!(dt<pt);ut+=ue)gt=ue-pt,at>$e(le/gt)&&Ae("overflow"),at*=gt;Ve=Oe.length+1,Ue=Re(Ge-it,Ve,it==0),$e(Ge/Ve)>le-We&&Ae("overflow"),We+=$e(Ge/Ve),Ge%=Ve,Oe.splice(Ge++,0,We)}return Ie(Oe)}function Be(qe){var Oe,ze,Ve,Ge,We,Ue,Ye,Ze,Xe,it,at,ut=[],dt,pt,gt,bt;for(qe=Me(qe),dt=qe.length,Oe=ve,ze=0,We=pe,Ue=0;Ue<dt;++Ue)at=qe[Ue],at<128&&ut.push(Se(at));for(Ve=Ge=ut.length,Ge&&ut.push(ge);Ve<dt;){for(Ye=le,Ue=0;Ue<dt;++Ue)at=qe[Ue],at>=Oe&&at<Ye&&(Ye=at);for(pt=Ve+1,Ye-Oe>$e((le-ze)/pt)&&Ae("overflow"),ze+=(Ye-Oe)*pt,Oe=Ye,Ue=0;Ue<dt;++Ue)if(at=qe[Ue],at<Oe&&++ze>le&&Ae("overflow"),at==Oe){for(Ze=ze,Xe=ue;it=Xe<=We?ce:Xe>=We+de?de:Xe-We,!(Ze<it);Xe+=ue)bt=Ze-it,gt=ue-it,ut.push(Se(Ee(it+bt%gt,0))),Ze=$e(bt/gt);ut.push(Se(Ee(Ze,0))),We=Re(ze,pt,Ve==Ge),ze=0,++Ve}++ze,++Oe}return ut.join("")}function Ne(qe){return De(qe,function(Oe){return me.test(Oe)?ke(Oe.slice(4).toLowerCase()):Oe})}function He(qe){return De(qe,function(Oe){return ye.test(Oe)?"xn--"+Be(Oe):Oe})}if(se={version:"1.3.2",ucs2:{decode:Me,encode:Ie},decode:ke,encode:Be,toASCII:He,toUnicode:Ne},ne&&ie)if(ee.exports==ne)ie.exports=se;else for(we in se)se.hasOwnProperty(we)&&(ne[we]=se[we]);else ae.punycode=se})(commonjsGlobal)})(punycode,punycode.exports);var IPv6={exports:{}};/*!
- * URI.js - Mutating URLs
- * IPv6 Support
- *
- * Version: 1.19.11
- *
- * Author: Rodney Rehm
- * Web: http://medialize.github.io/URI.js/
- *
- * Licensed under
- *   MIT License http://www.opensource.org/licenses/mit-license
- *
- */(function(ee){(function(te,ae){ee.exports?ee.exports=ae():te.IPv6=ae(te)})(commonjsGlobal,function(te){var ae=te&&te.IPv6;function ne(oe){var se=oe.toLowerCase(),le=se.split(":"),ue=le.length,ce=8;le[0]===""&&le[1]===""&&le[2]===""?(le.shift(),le.shift()):le[0]===""&&le[1]===""?le.shift():le[ue-1]===""&&le[ue-2]===""&&le.pop(),ue=le.length,le[ue-1].indexOf(".")!==-1&&(ce=7);var de;for(de=0;de<ue&&le[de]!=="";de++);if(de<ce)for(le.splice(de,1,"0000");le.length<ce;)le.splice(de,0,"0000");for(var he,fe=0;fe<ce;fe++){he=le[fe].split("");for(var pe=0;pe<3&&(he[0]==="0"&&he.length>1);pe++)he.splice(0,1);le[fe]=he.join("")}var ve=-1,ge=0,me=0,ye=-1,_e=!1;for(fe=0;fe<ce;fe++)_e?le[fe]==="0"?me+=1:(_e=!1,me>ge&&(ve=ye,ge=me)):le[fe]==="0"&&(_e=!0,ye=fe,me=1);me>ge&&(ve=ye,ge=me),ge>1&&le.splice(ve,ge,""),ue=le.length;var be="";for(le[0]===""&&(be=":"),fe=0;fe<ue&&(be+=le[fe],fe!==ue-1);fe++)be+=":";return le[ue-1]===""&&(be+=":"),be}function ie(){return te.IPv6===this&&(te.IPv6=ae),this}return{best:ne,noConflict:ie}})})(IPv6);var SecondLevelDomains={exports:{}};/*!
- * URI.js - Mutating URLs
- * Second Level Domain (SLD) Support
- *
- * Version: 1.19.11
- *
- * Author: Rodney Rehm
- * Web: http://medialize.github.io/URI.js/
- *
- * Licensed under
- *   MIT License http://www.opensource.org/licenses/mit-license
- *
- */(function(ee){(function(te,ae){ee.exports?ee.exports=ae():te.SecondLevelDomains=ae(te)})(commonjsGlobal,function(te){var ae=te&&te.SecondLevelDomains,ne={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(ie){var oe=ie.lastIndexOf(".");if(oe<=0||oe>=ie.length-1)return!1;var se=ie.lastIndexOf(".",oe-1);if(se<=0||se>=oe-1)return!1;var le=ne.list[ie.slice(oe+1)];return le?le.indexOf(" "+ie.slice(se+1,oe)+" ")>=0:!1},is:function(ie){var oe=ie.lastIndexOf(".");if(oe<=0||oe>=ie.length-1)return!1;var se=ie.lastIndexOf(".",oe-1);if(se>=0)return!1;var le=ne.list[ie.slice(oe+1)];return le?le.indexOf(" "+ie.slice(0,oe)+" ")>=0:!1},get:function(ie){var oe=ie.lastIndexOf(".");if(oe<=0||oe>=ie.length-1)return null;var se=ie.lastIndexOf(".",oe-1);if(se<=0||se>=oe-1)return null;var le=ne.list[ie.slice(oe+1)];return!le||le.indexOf(" "+ie.slice(se+1,oe)+" ")<0?null:ie.slice(se+1)},noConflict:function(){return te.SecondLevelDomains===this&&(te.SecondLevelDomains=ae),this}};return ne})})(SecondLevelDomains);/*!
- * URI.js - Mutating URLs
- *
- * Version: 1.19.11
- *
- * Author: Rodney Rehm
- * Web: http://medialize.github.io/URI.js/
- *
- * Licensed under
- *   MIT License http://www.opensource.org/licenses/mit-license
- *
- */(function(ee){(function(te,ae){ee.exports?ee.exports=ae(punycode.exports,IPv6.exports,SecondLevelDomains.exports):te.URI=ae(te.punycode,te.IPv6,te.SecondLevelDomains,te)})(commonjsGlobal,function(te,ae,ne,ie){var oe=ie&&ie.URI;function se(Ce,Ee){var Re=arguments.length>=1,ke=arguments.length>=2;if(!(this instanceof se))return Re?ke?new se(Ce,Ee):new se(Ce):new se;if(Ce===void 0){if(Re)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?Ce=location.href+"":Ce=""}if(Ce===null&&Re)throw new TypeError("null is not a valid argument for URI");return this.href(Ce),Ee!==void 0?this.absoluteTo(Ee):this}function le(Ce){return/^[0-9]+$/.test(Ce)}se.version="1.19.11";var ue=se.prototype,ce=Object.prototype.hasOwnProperty;function de(Ce){return Ce.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function he(Ce){return Ce===void 0?"Undefined":String(Object.prototype.toString.call(Ce)).slice(8,-1)}function fe(Ce){return he(Ce)==="Array"}function pe(Ce,Ee){var Re={},ke,Be;if(he(Ee)==="RegExp")Re=null;else if(fe(Ee))for(ke=0,Be=Ee.length;ke<Be;ke++)Re[Ee[ke]]=!0;else Re[Ee]=!0;for(ke=0,Be=Ce.length;ke<Be;ke++){var Ne=Re&&Re[Ce[ke]]!==void 0||!Re&&Ee.test(Ce[ke]);Ne&&(Ce.splice(ke,1),Be--,ke--)}return Ce}function ve(Ce,Ee){var Re,ke;if(fe(Ee)){for(Re=0,ke=Ee.length;Re<ke;Re++)if(!ve(Ce,Ee[Re]))return!1;return!0}var Be=he(Ee);for(Re=0,ke=Ce.length;Re<ke;Re++)if(Be==="RegExp"){if(typeof Ce[Re]=="string"&&Ce[Re].match(Ee))return!0}else if(Ce[Re]===Ee)return!0;return!1}function ge(Ce,Ee){if(!fe(Ce)||!fe(Ee)||Ce.length!==Ee.length)return!1;Ce.sort(),Ee.sort();for(var Re=0,ke=Ce.length;Re<ke;Re++)if(Ce[Re]!==Ee[Re])return!1;return!0}function me(Ce){var Ee=/^\/+|\/+$/g;return Ce.replace(Ee,"")}se._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:se.preventInvalidHostname,duplicateQueryParameters:se.duplicateQueryParameters,escapeQuerySpace:se.escapeQuerySpace}},se.preventInvalidHostname=!1,se.duplicateQueryParameters=!1,se.escapeQuerySpace=!0,se.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,se.idn_expression=/[^a-z0-9\._-]/i,se.punycode_expression=/(xn--)/i,se.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,se.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,se.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,se.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},se.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,se.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,se.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},se.hostProtocols=["http","https"],se.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,se.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},se.getDomAttribute=function(Ce){if(!(!Ce||!Ce.nodeName)){var Ee=Ce.nodeName.toLowerCase();if(!(Ee==="input"&&Ce.type!=="image"))return se.domAttributes[Ee]}};function ye(Ce){return escape(Ce)}function _e(Ce){return encodeURIComponent(Ce).replace(/[!'()*]/g,ye).replace(/\*/g,"%2A")}se.encode=_e,se.decode=decodeURIComponent,se.iso8859=function(){se.encode=escape,se.decode=unescape},se.unicode=function(){se.encode=_e,se.decode=decodeURIComponent},se.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},se.encodeQuery=function(Ce,Ee){var Re=se.encode(Ce+"");return Ee===void 0&&(Ee=se.escapeQuerySpace),Ee?Re.replace(/%20/g,"+"):Re},se.decodeQuery=function(Ce,Ee){Ce+="",Ee===void 0&&(Ee=se.escapeQuerySpace);try{return se.decode(Ee?Ce.replace(/\+/g,"%20"):Ce)}catch{return Ce}};var be={encode:"encode",decode:"decode"},xe,$e=function(Ce,Ee){return function(Re){try{return se[Ee](Re+"").replace(se.characters[Ce][Ee].expression,function(ke){return se.characters[Ce][Ee].map[ke]})}catch{return Re}}};for(xe in be)se[xe+"PathSegment"]=$e("pathname",be[xe]),se[xe+"UrnPathSegment"]=$e("urnpath",be[xe]);var Se=function(Ce,Ee,Re){return function(ke){var Be;Re?Be=function(Oe){return se[Ee](se[Re](Oe))}:Be=se[Ee];for(var Ne=(ke+"").split(Ce),He=0,qe=Ne.length;He<qe;He++)Ne[He]=Be(Ne[He]);return Ne.join(Ce)}};se.decodePath=Se("/","decodePathSegment"),se.decodeUrnPath=Se(":","decodeUrnPathSegment"),se.recodePath=Se("/","encodePathSegment","decode"),se.recodeUrnPath=Se(":","encodeUrnPathSegment","decode"),se.encodeReserved=$e("reserved","encode"),se.parse=function(Ce,Ee){var Re;return Ee||(Ee={preventInvalidHostname:se.preventInvalidHostname}),Ce=Ce.replace(se.leading_whitespace_expression,""),Ce=Ce.replace(se.ascii_tab_whitespace,""),Re=Ce.indexOf("#"),Re>-1&&(Ee.fragment=Ce.substring(Re+1)||null,Ce=Ce.substring(0,Re)),Re=Ce.indexOf("?"),Re>-1&&(Ee.query=Ce.substring(Re+1)||null,Ce=Ce.substring(0,Re)),Ce=Ce.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),Ce=Ce.replace(/^[/\\]{2,}/i,"//"),Ce.substring(0,2)==="//"?(Ee.protocol=null,Ce=Ce.substring(2),Ce=se.parseAuthority(Ce,Ee)):(Re=Ce.indexOf(":"),Re>-1&&(Ee.protocol=Ce.substring(0,Re)||null,Ee.protocol&&!Ee.protocol.match(se.protocol_expression)?Ee.protocol=void 0:Ce.substring(Re+1,Re+3).replace(/\\/g,"/")==="//"?(Ce=Ce.substring(Re+3),Ce=se.parseAuthority(Ce,Ee)):(Ce=Ce.substring(Re+1),Ee.urn=!0))),Ee.path=Ce,Ee},se.parseHost=function(Ce,Ee){Ce||(Ce=""),Ce=Ce.replace(/\\/g,"/");var Re=Ce.indexOf("/"),ke,Be;if(Re===-1&&(Re=Ce.length),Ce.charAt(0)==="[")ke=Ce.indexOf("]"),Ee.hostname=Ce.substring(1,ke)||null,Ee.port=Ce.substring(ke+2,Re)||null,Ee.port==="/"&&(Ee.port=null);else{var Ne=Ce.indexOf(":"),He=Ce.indexOf("/"),qe=Ce.indexOf(":",Ne+1);qe!==-1&&(He===-1||qe<He)?(Ee.hostname=Ce.substring(0,Re)||null,Ee.port=null):(Be=Ce.substring(0,Re).split(":"),Ee.hostname=Be[0]||null,Ee.port=Be[1]||null)}return Ee.hostname&&Ce.substring(Re).charAt(0)!=="/"&&(Re++,Ce="/"+Ce),Ee.preventInvalidHostname&&se.ensureValidHostname(Ee.hostname,Ee.protocol),Ee.port&&se.ensureValidPort(Ee.port),Ce.substring(Re)||"/"},se.parseAuthority=function(Ce,Ee){return Ce=se.parseUserinfo(Ce,Ee),se.parseHost(Ce,Ee)},se.parseUserinfo=function(Ce,Ee){var Re=Ce,ke=Ce.indexOf("\\");ke!==-1&&(Ce=Ce.replace(/\\/g,"/"));var Be=Ce.indexOf("/"),Ne=Ce.lastIndexOf("@",Be>-1?Be:Ce.length-1),He;return Ne>-1&&(Be===-1||Ne<Be)?(He=Ce.substring(0,Ne).split(":"),Ee.username=He[0]?se.decode(He[0]):null,He.shift(),Ee.password=He[0]?se.decode(He.join(":")):null,Ce=Re.substring(Ne+1)):(Ee.username=null,Ee.password=null),Ce},se.parseQuery=function(Ce,Ee){if(!Ce)return{};if(Ce=Ce.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!Ce)return{};for(var Re={},ke=Ce.split("&"),Be=ke.length,Ne,He,qe,Oe=0;Oe<Be;Oe++)Ne=ke[Oe].split("="),He=se.decodeQuery(Ne.shift(),Ee),qe=Ne.length?se.decodeQuery(Ne.join("="),Ee):null,He!=="__proto__"&&(ce.call(Re,He)?((typeof Re[He]=="string"||Re[He]===null)&&(Re[He]=[Re[He]]),Re[He].push(qe)):Re[He]=qe);return Re},se.build=function(Ce){var Ee="",Re=!1;return Ce.protocol&&(Ee+=Ce.protocol+":"),!Ce.urn&&(Ee||Ce.hostname)&&(Ee+="//",Re=!0),Ee+=se.buildAuthority(Ce)||"",typeof Ce.path=="string"&&(Ce.path.charAt(0)!=="/"&&Re&&(Ee+="/"),Ee+=Ce.path),typeof Ce.query=="string"&&Ce.query&&(Ee+="?"+Ce.query),typeof Ce.fragment=="string"&&Ce.fragment&&(Ee+="#"+Ce.fragment),Ee},se.buildHost=function(Ce){var Ee="";if(Ce.hostname)se.ip6_expression.test(Ce.hostname)?Ee+="["+Ce.hostname+"]":Ee+=Ce.hostname;else return"";return Ce.port&&(Ee+=":"+Ce.port),Ee},se.buildAuthority=function(Ce){return se.buildUserinfo(Ce)+se.buildHost(Ce)},se.buildUserinfo=function(Ce){var Ee="";return Ce.username&&(Ee+=se.encode(Ce.username)),Ce.password&&(Ee+=":"+se.encode(Ce.password)),Ee&&(Ee+="@"),Ee},se.buildQuery=function(Ce,Ee,Re){var ke="",Be,Ne,He,qe;for(Ne in Ce)if(Ne!=="__proto__"&&ce.call(Ce,Ne))if(fe(Ce[Ne]))for(Be={},He=0,qe=Ce[Ne].length;He<qe;He++)Ce[Ne][He]!==void 0&&Be[Ce[Ne][He]+""]===void 0&&(ke+="&"+se.buildQueryParameter(Ne,Ce[Ne][He],Re),Ee!==!0&&(Be[Ce[Ne][He]+""]=!0));else Ce[Ne]!==void 0&&(ke+="&"+se.buildQueryParameter(Ne,Ce[Ne],Re));return ke.substring(1)},se.buildQueryParameter=function(Ce,Ee,Re){return se.encodeQuery(Ce,Re)+(Ee!==null?"="+se.encodeQuery(Ee,Re):"")},se.addQuery=function(Ce,Ee,Re){if(typeof Ee=="object")for(var ke in Ee)ce.call(Ee,ke)&&se.addQuery(Ce,ke,Ee[ke]);else if(typeof Ee=="string"){if(Ce[Ee]===void 0){Ce[Ee]=Re;return}else typeof Ce[Ee]=="string"&&(Ce[Ee]=[Ce[Ee]]);fe(Re)||(Re=[Re]),Ce[Ee]=(Ce[Ee]||[]).concat(Re)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},se.setQuery=function(Ce,Ee,Re){if(typeof Ee=="object")for(var ke in Ee)ce.call(Ee,ke)&&se.setQuery(Ce,ke,Ee[ke]);else if(typeof Ee=="string")Ce[Ee]=Re===void 0?null:Re;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},se.removeQuery=function(Ce,Ee,Re){var ke,Be,Ne;if(fe(Ee))for(ke=0,Be=Ee.length;ke<Be;ke++)Ce[Ee[ke]]=void 0;else if(he(Ee)==="RegExp")for(Ne in Ce)Ee.test(Ne)&&(Ce[Ne]=void 0);else if(typeof Ee=="object")for(Ne in Ee)ce.call(Ee,Ne)&&se.removeQuery(Ce,Ne,Ee[Ne]);else if(typeof Ee=="string")Re!==void 0?he(Re)==="RegExp"?!fe(Ce[Ee])&&Re.test(Ce[Ee])?Ce[Ee]=void 0:Ce[Ee]=pe(Ce[Ee],Re):Ce[Ee]===String(Re)&&(!fe(Re)||Re.length===1)?Ce[Ee]=void 0:fe(Ce[Ee])&&(Ce[Ee]=pe(Ce[Ee],Re)):Ce[Ee]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},se.hasQuery=function(Ce,Ee,Re,ke){switch(he(Ee)){case"String":break;case"RegExp":for(var Be in Ce)if(ce.call(Ce,Be)&&Ee.test(Be)&&(Re===void 0||se.hasQuery(Ce,Be,Re)))return!0;return!1;case"Object":for(var Ne in Ee)if(ce.call(Ee,Ne)&&!se.hasQuery(Ce,Ne,Ee[Ne]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(he(Re)){case"Undefined":return Ee in Ce;case"Boolean":var He=!!(fe(Ce[Ee])?Ce[Ee].length:Ce[Ee]);return Re===He;case"Function":return!!Re(Ce[Ee],Ee,Ce);case"Array":if(!fe(Ce[Ee]))return!1;var qe=ke?ve:ge;return qe(Ce[Ee],Re);case"RegExp":return fe(Ce[Ee])?ke?ve(Ce[Ee],Re):!1:!!(Ce[Ee]&&Ce[Ee].match(Re));case"Number":Re=String(Re);case"String":return fe(Ce[Ee])?ke?ve(Ce[Ee],Re):!1:Ce[Ee]===Re;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},se.joinPaths=function(){for(var Ce=[],Ee=[],Re=0,ke=0;ke<arguments.length;ke++){var Be=new se(arguments[ke]);Ce.push(Be);for(var Ne=Be.segment(),He=0;He<Ne.length;He++)typeof Ne[He]=="string"&&Ee.push(Ne[He]),Ne[He]&&Re++}if(!Ee.length||!Re)return new se("");var qe=new se("").segment(Ee);return(Ce[0].path()===""||Ce[0].path().slice(0,1)==="/")&&qe.path("/"+qe.path()),qe.normalize()},se.commonPath=function(Ce,Ee){var Re=Math.min(Ce.length,Ee.length),ke;for(ke=0;ke<Re;ke++)if(Ce.charAt(ke)!==Ee.charAt(ke)){ke--;break}return ke<1?Ce.charAt(0)===Ee.charAt(0)&&Ce.charAt(0)==="/"?"/":"":((Ce.charAt(ke)!=="/"||Ee.charAt(ke)!=="/")&&(ke=Ce.substring(0,ke).lastIndexOf("/")),Ce.substring(0,ke+1))},se.withinString=function(Ce,Ee,Re){Re||(Re={});var ke=Re.start||se.findUri.start,Be=Re.end||se.findUri.end,Ne=Re.trim||se.findUri.trim,He=Re.parens||se.findUri.parens,qe=/[a-z0-9-]=["']?$/i;for(ke.lastIndex=0;;){var Oe=ke.exec(Ce);if(!Oe)break;var ze=Oe.index;if(Re.ignoreHtml){var Ve=Ce.slice(Math.max(ze-3,0),ze);if(Ve&&qe.test(Ve))continue}for(var Ge=ze+Ce.slice(ze).search(Be),We=Ce.slice(ze,Ge),Ue=-1;;){var Ye=He.exec(We);if(!Ye)break;var Ze=Ye.index+Ye[0].length;Ue=Math.max(Ue,Ze)}if(Ue>-1?We=We.slice(0,Ue)+We.slice(Ue).replace(Ne,""):We=We.replace(Ne,""),!(We.length<=Oe[0].length)&&!(Re.ignore&&Re.ignore.test(We))){Ge=ze+We.length;var Xe=Ee(We,ze,Ge,Ce);if(Xe===void 0){ke.lastIndex=Ge;continue}Xe=String(Xe),Ce=Ce.slice(0,ze)+Xe+Ce.slice(Ge),ke.lastIndex=ze+Xe.length}}return ke.lastIndex=0,Ce},se.ensureValidHostname=function(Ce,Ee){var Re=!!Ce,ke=!!Ee,Be=!1;if(ke&&(Be=ve(se.hostProtocols,Ee)),Be&&!Re)throw new TypeError("Hostname cannot be empty, if protocol is "+Ee);if(Ce&&Ce.match(se.invalid_hostname_characters)){if(!te)throw new TypeError('Hostname "'+Ce+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(te.toASCII(Ce).match(se.invalid_hostname_characters))throw new TypeError('Hostname "'+Ce+'" contains characters other than [A-Z0-9.-:_]')}},se.ensureValidPort=function(Ce){if(Ce){var Ee=Number(Ce);if(!(le(Ee)&&Ee>0&&Ee<65536))throw new TypeError('Port "'+Ce+'" is not a valid port')}},se.noConflict=function(Ce){if(Ce){var Ee={URI:this.noConflict()};return ie.URITemplate&&typeof ie.URITemplate.noConflict=="function"&&(Ee.URITemplate=ie.URITemplate.noConflict()),ie.IPv6&&typeof ie.IPv6.noConflict=="function"&&(Ee.IPv6=ie.IPv6.noConflict()),ie.SecondLevelDomains&&typeof ie.SecondLevelDomains.noConflict=="function"&&(Ee.SecondLevelDomains=ie.SecondLevelDomains.noConflict()),Ee}else ie.URI===this&&(ie.URI=oe);return this},ue.build=function(Ce){return Ce===!0?this._deferred_build=!0:(Ce===void 0||this._deferred_build)&&(this._string=se.build(this._parts),this._deferred_build=!1),this},ue.clone=function(){return new se(this)},ue.valueOf=ue.toString=function(){return this.build(!1)._string};function we(Ce){return function(Ee,Re){return Ee===void 0?this._parts[Ce]||"":(this._parts[Ce]=Ee||null,this.build(!Re),this)}}function Ae(Ce,Ee){return function(Re,ke){return Re===void 0?this._parts[Ce]||"":(Re!==null&&(Re=Re+"",Re.charAt(0)===Ee&&(Re=Re.substring(1))),this._parts[Ce]=Re,this.build(!ke),this)}}ue.protocol=we("protocol"),ue.username=we("username"),ue.password=we("password"),ue.hostname=we("hostname"),ue.port=we("port"),ue.query=Ae("query","?"),ue.fragment=Ae("fragment","#"),ue.search=function(Ce,Ee){var Re=this.query(Ce,Ee);return typeof Re=="string"&&Re.length?"?"+Re:Re},ue.hash=function(Ce,Ee){var Re=this.fragment(Ce,Ee);return typeof Re=="string"&&Re.length?"#"+Re:Re},ue.pathname=function(Ce,Ee){if(Ce===void 0||Ce===!0){var Re=this._parts.path||(this._parts.hostname?"/":"");return Ce?(this._parts.urn?se.decodeUrnPath:se.decodePath)(Re):Re}else return this._parts.urn?this._parts.path=Ce?se.recodeUrnPath(Ce):"":this._parts.path=Ce?se.recodePath(Ce):"/",this.build(!Ee),this},ue.path=ue.pathname,ue.href=function(Ce,Ee){var Re;if(Ce===void 0)return this.toString();this._string="",this._parts=se._parts();var ke=Ce instanceof se,Be=typeof Ce=="object"&&(Ce.hostname||Ce.path||Ce.pathname);if(Ce.nodeName){var Ne=se.getDomAttribute(Ce);Ce=Ce[Ne]||"",Be=!1}if(!ke&&Be&&Ce.pathname!==void 0&&(Ce=Ce.toString()),typeof Ce=="string"||Ce instanceof String)this._parts=se.parse(String(Ce),this._parts);else if(ke||Be){var He=ke?Ce._parts:Ce;for(Re in He)Re!=="query"&&ce.call(this._parts,Re)&&(this._parts[Re]=He[Re]);He.query&&this.query(He.query,!1)}else throw new TypeError("invalid input");return this.build(!Ee),this},ue.is=function(Ce){var Ee=!1,Re=!1,ke=!1,Be=!1,Ne=!1,He=!1,qe=!1,Oe=!this._parts.urn;switch(this._parts.hostname&&(Oe=!1,Re=se.ip4_expression.test(this._parts.hostname),ke=se.ip6_expression.test(this._parts.hostname),Ee=Re||ke,Be=!Ee,Ne=Be&&ne&&ne.has(this._parts.hostname),He=Be&&se.idn_expression.test(this._parts.hostname),qe=Be&&se.punycode_expression.test(this._parts.hostname)),Ce.toLowerCase()){case"relative":return Oe;case"absolute":return!Oe;case"domain":case"name":return Be;case"sld":return Ne;case"ip":return Ee;case"ip4":case"ipv4":case"inet4":return Re;case"ip6":case"ipv6":case"inet6":return ke;case"idn":return He;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return qe}return null};var Te=ue.protocol,De=ue.port,Me=ue.hostname;ue.protocol=function(Ce,Ee){if(Ce&&(Ce=Ce.replace(/:(\/\/)?$/,""),!Ce.match(se.protocol_expression)))throw new TypeError('Protocol "'+Ce+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return Te.call(this,Ce,Ee)},ue.scheme=ue.protocol,ue.port=function(Ce,Ee){return this._parts.urn?Ce===void 0?"":this:(Ce!==void 0&&(Ce===0&&(Ce=null),Ce&&(Ce+="",Ce.charAt(0)===":"&&(Ce=Ce.substring(1)),se.ensureValidPort(Ce))),De.call(this,Ce,Ee))},ue.hostname=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce!==void 0){var Re={preventInvalidHostname:this._parts.preventInvalidHostname},ke=se.parseHost(Ce,Re);if(ke!=="/")throw new TypeError('Hostname "'+Ce+'" contains characters other than [A-Z0-9.-]');Ce=Re.hostname,this._parts.preventInvalidHostname&&se.ensureValidHostname(Ce,this._parts.protocol)}return Me.call(this,Ce,Ee)},ue.origin=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0){var Re=this.protocol(),ke=this.authority();return ke?(Re?Re+"://":"")+this.authority():""}else{var Be=se(Ce);return this.protocol(Be.protocol()).authority(Be.authority()).build(!Ee),this}},ue.host=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0)return this._parts.hostname?se.buildHost(this._parts):"";var Re=se.parseHost(Ce,this._parts);if(Re!=="/")throw new TypeError('Hostname "'+Ce+'" contains characters other than [A-Z0-9.-]');return this.build(!Ee),this},ue.authority=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0)return this._parts.hostname?se.buildAuthority(this._parts):"";var Re=se.parseAuthority(Ce,this._parts);if(Re!=="/")throw new TypeError('Hostname "'+Ce+'" contains characters other than [A-Z0-9.-]');return this.build(!Ee),this},ue.userinfo=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0){var Re=se.buildUserinfo(this._parts);return Re&&Re.substring(0,Re.length-1)}else return Ce[Ce.length-1]!=="@"&&(Ce+="@"),se.parseUserinfo(Ce,this._parts),this.build(!Ee),this},ue.resource=function(Ce,Ee){var Re;return Ce===void 0?this.path()+this.search()+this.hash():(Re=se.parse(Ce),this._parts.path=Re.path,this._parts.query=Re.query,this._parts.fragment=Re.fragment,this.build(!Ee),this)},ue.subdomain=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0){if(!this._parts.hostname||this.is("IP"))return"";var Re=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,Re)||""}else{var ke=this._parts.hostname.length-this.domain().length,Be=this._parts.hostname.substring(0,ke),Ne=new RegExp("^"+de(Be));if(Ce&&Ce.charAt(Ce.length-1)!=="."&&(Ce+="."),Ce.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return Ce&&se.ensureValidHostname(Ce,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(Ne,Ce),this.build(!Ee),this}},ue.domain=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(typeof Ce=="boolean"&&(Ee=Ce,Ce=void 0),Ce===void 0){if(!this._parts.hostname||this.is("IP"))return"";var Re=this._parts.hostname.match(/\./g);if(Re&&Re.length<2)return this._parts.hostname;var ke=this._parts.hostname.length-this.tld(Ee).length-1;return ke=this._parts.hostname.lastIndexOf(".",ke-1)+1,this._parts.hostname.substring(ke)||""}else{if(!Ce)throw new TypeError("cannot set domain empty");if(Ce.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(se.ensureValidHostname(Ce,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=Ce;else{var Be=new RegExp(de(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(Be,Ce)}return this.build(!Ee),this}},ue.tld=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(typeof Ce=="boolean"&&(Ee=Ce,Ce=void 0),Ce===void 0){if(!this._parts.hostname||this.is("IP"))return"";var Re=this._parts.hostname.lastIndexOf("."),ke=this._parts.hostname.substring(Re+1);return Ee!==!0&&ne&&ne.list[ke.toLowerCase()]&&ne.get(this._parts.hostname)||ke}else{var Be;if(Ce)if(Ce.match(/[^a-zA-Z0-9-]/))if(ne&&ne.is(Ce))Be=new RegExp(de(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(Be,Ce);else throw new TypeError('TLD "'+Ce+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");Be=new RegExp(de(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(Be,Ce)}else throw new TypeError("cannot set TLD empty");return this.build(!Ee),this}},ue.directory=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0||Ce===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var Re=this._parts.path.length-this.filename().length-1,ke=this._parts.path.substring(0,Re)||(this._parts.hostname?"/":"");return Ce?se.decodePath(ke):ke}else{var Be=this._parts.path.length-this.filename().length,Ne=this._parts.path.substring(0,Be),He=new RegExp("^"+de(Ne));return this.is("relative")||(Ce||(Ce="/"),Ce.charAt(0)!=="/"&&(Ce="/"+Ce)),Ce&&Ce.charAt(Ce.length-1)!=="/"&&(Ce+="/"),Ce=se.recodePath(Ce),this._parts.path=this._parts.path.replace(He,Ce),this.build(!Ee),this}},ue.filename=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(typeof Ce!="string"){if(!this._parts.path||this._parts.path==="/")return"";var Re=this._parts.path.lastIndexOf("/"),ke=this._parts.path.substring(Re+1);return Ce?se.decodePathSegment(ke):ke}else{var Be=!1;Ce.charAt(0)==="/"&&(Ce=Ce.substring(1)),Ce.match(/\.?\//)&&(Be=!0);var Ne=new RegExp(de(this.filename())+"$");return Ce=se.recodePath(Ce),this._parts.path=this._parts.path.replace(Ne,Ce),Be?this.normalizePath(Ee):this.build(!Ee),this}},ue.suffix=function(Ce,Ee){if(this._parts.urn)return Ce===void 0?"":this;if(Ce===void 0||Ce===!0){if(!this._parts.path||this._parts.path==="/")return"";var Re=this.filename(),ke=Re.lastIndexOf("."),Be,Ne;return ke===-1?"":(Be=Re.substring(ke+1),Ne=/^[a-z0-9%]+$/i.test(Be)?Be:"",Ce?se.decodePathSegment(Ne):Ne)}else{Ce.charAt(0)==="."&&(Ce=Ce.substring(1));var He=this.suffix(),qe;if(He)Ce?qe=new RegExp(de(He)+"$"):qe=new RegExp(de("."+He)+"$");else{if(!Ce)return this;this._parts.path+="."+se.recodePath(Ce)}return qe&&(Ce=se.recodePath(Ce),this._parts.path=this._parts.path.replace(qe,Ce)),this.build(!Ee),this}},ue.segment=function(Ce,Ee,Re){var ke=this._parts.urn?":":"/",Be=this.path(),Ne=Be.substring(0,1)==="/",He=Be.split(ke);if(Ce!==void 0&&typeof Ce!="number"&&(Re=Ee,Ee=Ce,Ce=void 0),Ce!==void 0&&typeof Ce!="number")throw new Error('Bad segment "'+Ce+'", must be 0-based integer');if(Ne&&He.shift(),Ce<0&&(Ce=Math.max(He.length+Ce,0)),Ee===void 0)return Ce===void 0?He:He[Ce];if(Ce===null||He[Ce]===void 0)if(fe(Ee)){He=[];for(var qe=0,Oe=Ee.length;qe<Oe;qe++)!Ee[qe].length&&(!He.length||!He[He.length-1].length)||(He.length&&!He[He.length-1].length&&He.pop(),He.push(me(Ee[qe])))}else(Ee||typeof Ee=="string")&&(Ee=me(Ee),He[He.length-1]===""?He[He.length-1]=Ee:He.push(Ee));else Ee?He[Ce]=me(Ee):He.splice(Ce,1);return Ne&&He.unshift(""),this.path(He.join(ke),Re)},ue.segmentCoded=function(Ce,Ee,Re){var ke,Be,Ne;if(typeof Ce!="number"&&(Re=Ee,Ee=Ce,Ce=void 0),Ee===void 0){if(ke=this.segment(Ce,Ee,Re),!fe(ke))ke=ke!==void 0?se.decode(ke):void 0;else for(Be=0,Ne=ke.length;Be<Ne;Be++)ke[Be]=se.decode(ke[Be]);return ke}if(!fe(Ee))Ee=typeof Ee=="string"||Ee instanceof String?se.encode(Ee):Ee;else for(Be=0,Ne=Ee.length;Be<Ne;Be++)Ee[Be]=se.encode(Ee[Be]);return this.segment(Ce,Ee,Re)};var Ie=ue.query;return ue.query=function(Ce,Ee){if(Ce===!0)return se.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof Ce=="function"){var Re=se.parseQuery(this._parts.query,this._parts.escapeQuerySpace),ke=Ce.call(this,Re);return this._parts.query=se.buildQuery(ke||Re,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!Ee),this}else return Ce!==void 0&&typeof Ce!="string"?(this._parts.query=se.buildQuery(Ce,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!Ee),this):Ie.call(this,Ce,Ee)},ue.setQuery=function(Ce,Ee,Re){var ke=se.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof Ce=="string"||Ce instanceof String)ke[Ce]=Ee!==void 0?Ee:null;else if(typeof Ce=="object")for(var Be in Ce)ce.call(Ce,Be)&&(ke[Be]=Ce[Be]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=se.buildQuery(ke,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof Ce!="string"&&(Re=Ee),this.build(!Re),this},ue.addQuery=function(Ce,Ee,Re){var ke=se.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return se.addQuery(ke,Ce,Ee===void 0?null:Ee),this._parts.query=se.buildQuery(ke,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof Ce!="string"&&(Re=Ee),this.build(!Re),this},ue.removeQuery=function(Ce,Ee,Re){var ke=se.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return se.removeQuery(ke,Ce,Ee),this._parts.query=se.buildQuery(ke,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof Ce!="string"&&(Re=Ee),this.build(!Re),this},ue.hasQuery=function(Ce,Ee,Re){var ke=se.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return se.hasQuery(ke,Ce,Ee,Re)},ue.setSearch=ue.setQuery,ue.addSearch=ue.addQuery,ue.removeSearch=ue.removeQuery,ue.hasSearch=ue.hasQuery,ue.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},ue.normalizeProtocol=function(Ce){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!Ce)),this},ue.normalizeHostname=function(Ce){return this._parts.hostname&&(this.is("IDN")&&te?this._parts.hostname=te.toASCII(this._parts.hostname):this.is("IPv6")&&ae&&(this._parts.hostname=ae.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!Ce)),this},ue.normalizePort=function(Ce){return typeof this._parts.protocol=="string"&&this._parts.port===se.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!Ce)),this},ue.normalizePath=function(Ce){var Ee=this._parts.path;if(!Ee)return this;if(this._parts.urn)return this._parts.path=se.recodeUrnPath(this._parts.path),this.build(!Ce),this;if(this._parts.path==="/")return this;Ee=se.recodePath(Ee);var Re,ke="",Be,Ne;for(Ee.charAt(0)!=="/"&&(Re=!0,Ee="/"+Ee),(Ee.slice(-3)==="/.."||Ee.slice(-2)==="/.")&&(Ee+="/"),Ee=Ee.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),Re&&(ke=Ee.substring(1).match(/^(\.\.\/)+/)||"",ke&&(ke=ke[0]));Be=Ee.search(/\/\.\.(\/|$)/),Be!==-1;){if(Be===0){Ee=Ee.substring(3);continue}Ne=Ee.substring(0,Be).lastIndexOf("/"),Ne===-1&&(Ne=Be),Ee=Ee.substring(0,Ne)+Ee.substring(Be+3)}return Re&&this.is("relative")&&(Ee=ke+Ee.substring(1)),this._parts.path=Ee,this.build(!Ce),this},ue.normalizePathname=ue.normalizePath,ue.normalizeQuery=function(Ce){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(se.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!Ce)),this},ue.normalizeFragment=function(Ce){return this._parts.fragment||(this._parts.fragment=null,this.build(!Ce)),this},ue.normalizeSearch=ue.normalizeQuery,ue.normalizeHash=ue.normalizeFragment,ue.iso8859=function(){var Ce=se.encode,Ee=se.decode;se.encode=escape,se.decode=decodeURIComponent;try{this.normalize()}finally{se.encode=Ce,se.decode=Ee}return this},ue.unicode=function(){var Ce=se.encode,Ee=se.decode;se.encode=_e,se.decode=unescape;try{this.normalize()}finally{se.encode=Ce,se.decode=Ee}return this},ue.readable=function(){var Ce=this.clone();Ce.username("").password("").normalize();var Ee="";if(Ce._parts.protocol&&(Ee+=Ce._parts.protocol+"://"),Ce._parts.hostname&&(Ce.is("punycode")&&te?(Ee+=te.toUnicode(Ce._parts.hostname),Ce._parts.port&&(Ee+=":"+Ce._parts.port)):Ee+=Ce.host()),Ce._parts.hostname&&Ce._parts.path&&Ce._parts.path.charAt(0)!=="/"&&(Ee+="/"),Ee+=Ce.path(!0),Ce._parts.query){for(var Re="",ke=0,Be=Ce._parts.query.split("&"),Ne=Be.length;ke<Ne;ke++){var He=(Be[ke]||"").split("=");Re+="&"+se.decodeQuery(He[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),He[1]!==void 0&&(Re+="="+se.decodeQuery(He[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}Ee+="?"+Re.substring(1)}return Ee+=se.decodeQuery(Ce.hash(),!0),Ee},ue.absoluteTo=function(Ce){var Ee=this.clone(),Re=["protocol","username","password","hostname","port"],ke,Be,Ne;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(Ce instanceof se||(Ce=new se(Ce)),Ee._parts.protocol||(Ee._parts.protocol=Ce._parts.protocol,this._parts.hostname))return Ee;for(Be=0;Ne=Re[Be];Be++)Ee._parts[Ne]=Ce._parts[Ne];return Ee._parts.path?(Ee._parts.path.substring(-2)===".."&&(Ee._parts.path+="/"),Ee.path().charAt(0)!=="/"&&(ke=Ce.directory(),ke=ke||(Ce.path().indexOf("/")===0?"/":""),Ee._parts.path=(ke?ke+"/":"")+Ee._parts.path,Ee.normalizePath())):(Ee._parts.path=Ce._parts.path,Ee._parts.query||(Ee._parts.query=Ce._parts.query)),Ee.build(),Ee},ue.relativeTo=function(Ce){var Ee=this.clone().normalize(),Re,ke,Be,Ne,He;if(Ee._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(Ce=new se(Ce).normalize(),Re=Ee._parts,ke=Ce._parts,Ne=Ee.path(),He=Ce.path(),Ne.charAt(0)!=="/")throw new Error("URI is already relative");if(He.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(Re.protocol===ke.protocol&&(Re.protocol=null),Re.username!==ke.username||Re.password!==ke.password||Re.protocol!==null||Re.username!==null||Re.password!==null)return Ee.build();if(Re.hostname===ke.hostname&&Re.port===ke.port)Re.hostname=null,Re.port=null;else return Ee.build();if(Ne===He)return Re.path="",Ee.build();if(Be=se.commonPath(Ne,He),!Be)return Ee.build();var qe=ke.path.substring(Be.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return Re.path=qe+Re.path.substring(Be.length)||"./",Ee.build()},ue.equals=function(Ce){var Ee=this.clone(),Re=new se(Ce),ke={},Be={},Ne={},He,qe,Oe;if(Ee.normalize(),Re.normalize(),Ee.toString()===Re.toString())return!0;if(He=Ee.query(),qe=Re.query(),Ee.query(""),Re.query(""),Ee.toString()!==Re.toString()||He.length!==qe.length)return!1;ke=se.parseQuery(He,this._parts.escapeQuerySpace),Be=se.parseQuery(qe,this._parts.escapeQuerySpace);for(Oe in ke)if(ce.call(ke,Oe)){if(fe(ke[Oe])){if(!ge(ke[Oe],Be[Oe]))return!1}else if(ke[Oe]!==Be[Oe])return!1;Ne[Oe]=!0}for(Oe in Be)if(ce.call(Be,Oe)&&!Ne[Oe])return!1;return!0},ue.preventInvalidHostname=function(Ce){return this._parts.preventInvalidHostname=!!Ce,this},ue.duplicateQueryParameters=function(Ce){return this._parts.duplicateQueryParameters=!!Ce,this},ue.escapeQuerySpace=function(Ce){return this._parts.escapeQuerySpace=!!Ce,this},se})})(URI$1);var URI=URI$1.exports,axios$2={exports:{}},bind$2$1=function(te,ae){return function(){for(var ie=new Array(arguments.length),oe=0;oe<ie.length;oe++)ie[oe]=arguments[oe];return te.apply(ae,ie)}},bind$1$1=bind$2$1,toString$2=Object.prototype.toString;function isArray$1$1(ee){return Array.isArray(ee)}function isUndefined$1(ee){return typeof ee>"u"}function isBuffer$1(ee){return ee!==null&&!isUndefined$1(ee)&&ee.constructor!==null&&!isUndefined$1(ee.constructor)&&typeof ee.constructor.isBuffer=="function"&&ee.constructor.isBuffer(ee)}function isArrayBuffer$1(ee){return toString$2.call(ee)==="[object ArrayBuffer]"}function isFormData$1(ee){return toString$2.call(ee)==="[object FormData]"}function isArrayBufferView$1(ee){var te;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?te=ArrayBuffer.isView(ee):te=ee&&ee.buffer&&isArrayBuffer$1(ee.buffer),te}function isString$2(ee){return typeof ee=="string"}function isNumber$3(ee){return typeof ee=="number"}function isObject$1$1(ee){return ee!==null&&typeof ee=="object"}function isPlainObject$2(ee){if(toString$2.call(ee)!=="[object Object]")return!1;var te=Object.getPrototypeOf(ee);return te===null||te===Object.prototype}function isDate$3(ee){return toString$2.call(ee)==="[object Date]"}function isFile$1(ee){return toString$2.call(ee)==="[object File]"}function isBlob$1(ee){return toString$2.call(ee)==="[object Blob]"}function isFunction$3(ee){return toString$2.call(ee)==="[object Function]"}function isStream$1(ee){return isObject$1$1(ee)&&isFunction$3(ee.pipe)}function isURLSearchParams$1(ee){return toString$2.call(ee)==="[object URLSearchParams]"}function trim$3(ee){return ee.trim?ee.trim():ee.replace(/^\s+|\s+$/g,"")}function isStandardBrowserEnv(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function forEach$1(ee,te){if(!(ee===null||typeof ee>"u"))if(typeof ee!="object"&&(ee=[ee]),isArray$1$1(ee))for(var ae=0,ne=ee.length;ae<ne;ae++)te.call(null,ee[ae],ae,ee);else for(var ie in ee)Object.prototype.hasOwnProperty.call(ee,ie)&&te.call(null,ee[ie],ie,ee)}function merge$3(){var ee={};function te(ie,oe){isPlainObject$2(ee[oe])&&isPlainObject$2(ie)?ee[oe]=merge$3(ee[oe],ie):isPlainObject$2(ie)?ee[oe]=merge$3({},ie):isArray$1$1(ie)?ee[oe]=ie.slice():ee[oe]=ie}for(var ae=0,ne=arguments.length;ae<ne;ae++)forEach$1(arguments[ae],te);return ee}function extend$5(ee,te,ae){return forEach$1(te,function(ie,oe){ae&&typeof ie=="function"?ee[oe]=bind$1$1(ie,ae):ee[oe]=ie}),ee}function stripBOM$1(ee){return ee.charCodeAt(0)===65279&&(ee=ee.slice(1)),ee}var utils$e={isArray:isArray$1$1,isArrayBuffer:isArrayBuffer$1,isBuffer:isBuffer$1,isFormData:isFormData$1,isArrayBufferView:isArrayBufferView$1,isString:isString$2,isNumber:isNumber$3,isObject:isObject$1$1,isPlainObject:isPlainObject$2,isUndefined:isUndefined$1,isDate:isDate$3,isFile:isFile$1,isBlob:isBlob$1,isFunction:isFunction$3,isStream:isStream$1,isURLSearchParams:isURLSearchParams$1,isStandardBrowserEnv,forEach:forEach$1,merge:merge$3,extend:extend$5,trim:trim$3,stripBOM:stripBOM$1},utils$d=utils$e;function encode$1$1(ee){return encodeURIComponent(ee).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var buildURL$2=function(te,ae,ne){if(!ae)return te;var ie;if(ne)ie=ne(ae);else if(utils$d.isURLSearchParams(ae))ie=ae.toString();else{var oe=[];utils$d.forEach(ae,function(ue,ce){ue===null||typeof ue>"u"||(utils$d.isArray(ue)?ce=ce+"[]":ue=[ue],utils$d.forEach(ue,function(he){utils$d.isDate(he)?he=he.toISOString():utils$d.isObject(he)&&(he=JSON.stringify(he)),oe.push(encode$1$1(ce)+"="+encode$1$1(he))}))}),ie=oe.join("&")}if(ie){var se=te.indexOf("#");se!==-1&&(te=te.slice(0,se)),te+=(te.indexOf("?")===-1?"?":"&")+ie}return te},utils$c=utils$e;function InterceptorManager$1$1(){this.handlers=[]}InterceptorManager$1$1.prototype.use=function(te,ae,ne){return this.handlers.push({fulfilled:te,rejected:ae,synchronous:ne?ne.synchronous:!1,runWhen:ne?ne.runWhen:null}),this.handlers.length-1};InterceptorManager$1$1.prototype.eject=function(te){this.handlers[te]&&(this.handlers[te]=null)};InterceptorManager$1$1.prototype.forEach=function(te){utils$c.forEach(this.handlers,function(ne){ne!==null&&te(ne)})};var InterceptorManager_1=InterceptorManager$1$1,utils$b=utils$e,normalizeHeaderName$1=function(te,ae){utils$b.forEach(te,function(ie,oe){oe!==ae&&oe.toUpperCase()===ae.toUpperCase()&&(te[ae]=ie,delete te[oe])})},enhanceError$2=function(te,ae,ne,ie,oe){return te.config=ae,ne&&(te.code=ne),te.request=ie,te.response=oe,te.isAxiosError=!0,te.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},te},transitional={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},enhanceError$1=enhanceError$2,createError$2=function(te,ae,ne,ie,oe){var se=new Error(te);return enhanceError$1(se,ae,ne,ie,oe)},createError$1=createError$2,settle$1=function(te,ae,ne){var ie=ne.config.validateStatus;!ne.status||!ie||ie(ne.status)?te(ne):ae(createError$1("Request failed with status code "+ne.status,ne.config,null,ne.request,ne))},utils$a=utils$e,cookies$1=utils$a.isStandardBrowserEnv()?function(){return{write:function(ae,ne,ie,oe,se,le){var ue=[];ue.push(ae+"="+encodeURIComponent(ne)),utils$a.isNumber(ie)&&ue.push("expires="+new Date(ie).toGMTString()),utils$a.isString(oe)&&ue.push("path="+oe),utils$a.isString(se)&&ue.push("domain="+se),le===!0&&ue.push("secure"),document.cookie=ue.join("; ")},read:function(ae){var ne=document.cookie.match(new RegExp("(^|;\\s*)("+ae+")=([^;]*)"));return ne?decodeURIComponent(ne[3]):null},remove:function(ae){this.write(ae,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),isAbsoluteURL$1=function(te){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(te)},combineURLs$1=function(te,ae){return ae?te.replace(/\/+$/,"")+"/"+ae.replace(/^\/+/,""):te},isAbsoluteURL2=isAbsoluteURL$1,combineURLs2=combineURLs$1,buildFullPath$1=function(te,ae){return te&&!isAbsoluteURL2(ae)?combineURLs2(te,ae):ae},utils$9=utils$e,ignoreDuplicateOf$1=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],parseHeaders$1=function(te){var ae={},ne,ie,oe;return te&&utils$9.forEach(te.split(`
-`),function(le){if(oe=le.indexOf(":"),ne=utils$9.trim(le.substr(0,oe)).toLowerCase(),ie=utils$9.trim(le.substr(oe+1)),ne){if(ae[ne]&&ignoreDuplicateOf$1.indexOf(ne)>=0)return;ne==="set-cookie"?ae[ne]=(ae[ne]?ae[ne]:[]).concat([ie]):ae[ne]=ae[ne]?ae[ne]+", "+ie:ie}}),ae},utils$8=utils$e,isURLSameOrigin$1=utils$8.isStandardBrowserEnv()?function(){var te=/(msie|trident)/i.test(navigator.userAgent),ae=document.createElement("a"),ne;function ie(oe){var se=oe;return te&&(ae.setAttribute("href",se),se=ae.href),ae.setAttribute("href",se),{href:ae.href,protocol:ae.protocol?ae.protocol.replace(/:$/,""):"",host:ae.host,search:ae.search?ae.search.replace(/^\?/,""):"",hash:ae.hash?ae.hash.replace(/^#/,""):"",hostname:ae.hostname,port:ae.port,pathname:ae.pathname.charAt(0)==="/"?ae.pathname:"/"+ae.pathname}}return ne=ie(window.location.href),function(se){var le=utils$8.isString(se)?ie(se):se;return le.protocol===ne.protocol&&le.host===ne.host}}():function(){return function(){return!0}}();function Cancel$3(ee){this.message=ee}Cancel$3.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")};Cancel$3.prototype.__CANCEL__=!0;var Cancel_1=Cancel$3,utils$7=utils$e,settle2=settle$1,cookies$2=cookies$1,buildURL$1=buildURL$2,buildFullPath2=buildFullPath$1,parseHeaders2=parseHeaders$1,isURLSameOrigin$2=isURLSameOrigin$1,createError2=createError$2,transitionalDefaults$1=transitional,Cancel$2=Cancel_1,xhr=function(te){return new Promise(function(ne,ie){var oe=te.data,se=te.headers,le=te.responseType,ue;function ce(){te.cancelToken&&te.cancelToken.unsubscribe(ue),te.signal&&te.signal.removeEventListener("abort",ue)}utils$7.isFormData(oe)&&delete se["Content-Type"];var de=new XMLHttpRequest;if(te.auth){var he=te.auth.username||"",fe=te.auth.password?unescape(encodeURIComponent(te.auth.password)):"";se.Authorization="Basic "+btoa(he+":"+fe)}var pe=buildFullPath2(te.baseURL,te.url);de.open(te.method.toUpperCase(),buildURL$1(pe,te.params,te.paramsSerializer),!0),de.timeout=te.timeout;function ve(){if(de){var me="getAllResponseHeaders"in de?parseHeaders2(de.getAllResponseHeaders()):null,ye=!le||le==="text"||le==="json"?de.responseText:de.response,_e={data:ye,status:de.status,statusText:de.statusText,headers:me,config:te,request:de};settle2(function(xe){ne(xe),ce()},function(xe){ie(xe),ce()},_e),de=null}}if("onloadend"in de?de.onloadend=ve:de.onreadystatechange=function(){!de||de.readyState!==4||de.status===0&&!(de.responseURL&&de.responseURL.indexOf("file:")===0)||setTimeout(ve)},de.onabort=function(){de&&(ie(createError2("Request aborted",te,"ECONNABORTED",de)),de=null)},de.onerror=function(){ie(createError2("Network Error",te,null,de)),de=null},de.ontimeout=function(){var ye=te.timeout?"timeout of "+te.timeout+"ms exceeded":"timeout exceeded",_e=te.transitional||transitionalDefaults$1;te.timeoutErrorMessage&&(ye=te.timeoutErrorMessage),ie(createError2(ye,te,_e.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",de)),de=null},utils$7.isStandardBrowserEnv()){var ge=(te.withCredentials||isURLSameOrigin$2(pe))&&te.xsrfCookieName?cookies$2.read(te.xsrfCookieName):void 0;ge&&(se[te.xsrfHeaderName]=ge)}"setRequestHeader"in de&&utils$7.forEach(se,function(ye,_e){typeof oe>"u"&&_e.toLowerCase()==="content-type"?delete se[_e]:de.setRequestHeader(_e,ye)}),utils$7.isUndefined(te.withCredentials)||(de.withCredentials=!!te.withCredentials),le&&le!=="json"&&(de.responseType=te.responseType),typeof te.onDownloadProgress=="function"&&de.addEventListener("progress",te.onDownloadProgress),typeof te.onUploadProgress=="function"&&de.upload&&de.upload.addEventListener("progress",te.onUploadProgress),(te.cancelToken||te.signal)&&(ue=function(me){de&&(ie(!me||me&&me.type?new Cancel$2("canceled"):me),de.abort(),de=null)},te.cancelToken&&te.cancelToken.subscribe(ue),te.signal&&(te.signal.aborted?ue():te.signal.addEventListener("abort",ue))),oe||(oe=null),de.send(oe)})},utils$6=utils$e,normalizeHeaderName2=normalizeHeaderName$1,enhanceError2=enhanceError$2,transitionalDefaults$2=transitional,DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(ee,te){!utils$6.isUndefined(ee)&&utils$6.isUndefined(ee["Content-Type"])&&(ee["Content-Type"]=te)}function getDefaultAdapter(){var ee;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(ee=xhr),ee}function stringifySafely$1(ee,te,ae){if(utils$6.isString(ee))try{return(te||JSON.parse)(ee),utils$6.trim(ee)}catch(ne){if(ne.name!=="SyntaxError")throw ne}return(ae||JSON.stringify)(ee)}var defaults$3={transitional:transitionalDefaults$2,adapter:getDefaultAdapter(),transformRequest:[function(te,ae){return normalizeHeaderName2(ae,"Accept"),normalizeHeaderName2(ae,"Content-Type"),utils$6.isFormData(te)||utils$6.isArrayBuffer(te)||utils$6.isBuffer(te)||utils$6.isStream(te)||utils$6.isFile(te)||utils$6.isBlob(te)?te:utils$6.isArrayBufferView(te)?te.buffer:utils$6.isURLSearchParams(te)?(setContentTypeIfUnset(ae,"application/x-www-form-urlencoded;charset=utf-8"),te.toString()):utils$6.isObject(te)||ae&&ae["Content-Type"]==="application/json"?(setContentTypeIfUnset(ae,"application/json"),stringifySafely$1(te)):te}],transformResponse:[function(te){var ae=this.transitional||defaults$3.transitional,ne=ae&&ae.silentJSONParsing,ie=ae&&ae.forcedJSONParsing,oe=!ne&&this.responseType==="json";if(oe||ie&&utils$6.isString(te)&&te.length)try{return JSON.parse(te)}catch(se){if(oe)throw se.name==="SyntaxError"?enhanceError2(se,this,"E_JSON_PARSE"):se}return te}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(te){return te>=200&&te<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};utils$6.forEach(["delete","get","head"],function(te){defaults$3.headers[te]={}});utils$6.forEach(["post","put","patch"],function(te){defaults$3.headers[te]=utils$6.merge(DEFAULT_CONTENT_TYPE)});var defaults_1=defaults$3,utils$5=utils$e,defaults$2$1=defaults_1,transformData$1=function(te,ae,ne){var ie=this||defaults$2$1;return utils$5.forEach(ne,function(se){te=se.call(ie,te,ae)}),te},isCancel$1=function(te){return!!(te&&te.__CANCEL__)},utils$4=utils$e,transformData2=transformData$1,isCancel2=isCancel$1,defaults$1$1=defaults_1,Cancel$1=Cancel_1;function throwIfCancellationRequested$1(ee){if(ee.cancelToken&&ee.cancelToken.throwIfRequested(),ee.signal&&ee.signal.aborted)throw new Cancel$1("canceled")}var dispatchRequest$1=function(te){throwIfCancellationRequested$1(te),te.headers=te.headers||{},te.data=transformData2.call(te,te.data,te.headers,te.transformRequest),te.headers=utils$4.merge(te.headers.common||{},te.headers[te.method]||{},te.headers),utils$4.forEach(["delete","get","head","post","put","patch","common"],function(ie){delete te.headers[ie]});var ae=te.adapter||defaults$1$1.adapter;return ae(te).then(function(ie){return throwIfCancellationRequested$1(te),ie.data=transformData2.call(te,ie.data,ie.headers,te.transformResponse),ie},function(ie){return isCancel2(ie)||(throwIfCancellationRequested$1(te),ie&&ie.response&&(ie.response.data=transformData2.call(te,ie.response.data,ie.response.headers,te.transformResponse))),Promise.reject(ie)})},utils$3=utils$e,mergeConfig$2=function(te,ae){ae=ae||{};var ne={};function ie(de,he){return utils$3.isPlainObject(de)&&utils$3.isPlainObject(he)?utils$3.merge(de,he):utils$3.isPlainObject(he)?utils$3.merge({},he):utils$3.isArray(he)?he.slice():he}function oe(de){if(utils$3.isUndefined(ae[de])){if(!utils$3.isUndefined(te[de]))return ie(void 0,te[de])}else return ie(te[de],ae[de])}function se(de){if(!utils$3.isUndefined(ae[de]))return ie(void 0,ae[de])}function le(de){if(utils$3.isUndefined(ae[de])){if(!utils$3.isUndefined(te[de]))return ie(void 0,te[de])}else return ie(void 0,ae[de])}function ue(de){if(de in ae)return ie(te[de],ae[de]);if(de in te)return ie(void 0,te[de])}var ce={url:se,method:se,data:se,baseURL:le,transformRequest:le,transformResponse:le,paramsSerializer:le,timeout:le,timeoutMessage:le,withCredentials:le,adapter:le,responseType:le,xsrfCookieName:le,xsrfHeaderName:le,onUploadProgress:le,onDownloadProgress:le,decompress:le,maxContentLength:le,maxBodyLength:le,transport:le,httpAgent:le,httpsAgent:le,cancelToken:le,socketPath:le,responseEncoding:le,validateStatus:ue};return utils$3.forEach(Object.keys(te).concat(Object.keys(ae)),function(he){var fe=ce[he]||oe,pe=fe(he);utils$3.isUndefined(pe)&&fe!==ue||(ne[he]=pe)}),ne},data={version:"0.26.1"},VERSION$1=data.version,validators$1$1={};["object","boolean","number","function","string","symbol"].forEach(function(ee,te){validators$1$1[ee]=function(ne){return typeof ne===ee||"a"+(te<1?"n ":" ")+ee}});var deprecatedWarnings$1={};validators$1$1.transitional=function(te,ae,ne){function ie(oe,se){return"[Axios v"+VERSION$1+"] Transitional option '"+oe+"'"+se+(ne?". "+ne:"")}return function(oe,se,le){if(te===!1)throw new Error(ie(se," has been removed"+(ae?" in "+ae:"")));return ae&&!deprecatedWarnings$1[se]&&(deprecatedWarnings$1[se]=!0,console.warn(ie(se," has been deprecated since v"+ae+" and will be removed in the near future"))),te?te(oe,se,le):!0}};function assertOptions$1(ee,te,ae){if(typeof ee!="object")throw new TypeError("options must be an object");for(var ne=Object.keys(ee),ie=ne.length;ie-- >0;){var oe=ne[ie],se=te[oe];if(se){var le=ee[oe],ue=le===void 0||se(le,oe,ee);if(ue!==!0)throw new TypeError("option "+oe+" must be "+ue);continue}if(ae!==!0)throw Error("Unknown option "+oe)}}var validator$1={assertOptions:assertOptions$1,validators:validators$1$1},utils$2=utils$e,buildURL2=buildURL$2,InterceptorManager$2=InterceptorManager_1,dispatchRequest2=dispatchRequest$1,mergeConfig$1=mergeConfig$2,validator$2=validator$1,validators$2=validator$2.validators;function Axios$1$1(ee){this.defaults=ee,this.interceptors={request:new InterceptorManager$2,response:new InterceptorManager$2}}Axios$1$1.prototype.request=function(te,ae){typeof te=="string"?(ae=ae||{},ae.url=te):ae=te||{},ae=mergeConfig$1(this.defaults,ae),ae.method?ae.method=ae.method.toLowerCase():this.defaults.method?ae.method=this.defaults.method.toLowerCase():ae.method="get";var ne=ae.transitional;ne!==void 0&&validator$2.assertOptions(ne,{silentJSONParsing:validators$2.transitional(validators$2.boolean),forcedJSONParsing:validators$2.transitional(validators$2.boolean),clarifyTimeoutError:validators$2.transitional(validators$2.boolean)},!1);var ie=[],oe=!0;this.interceptors.request.forEach(function(pe){typeof pe.runWhen=="function"&&pe.runWhen(ae)===!1||(oe=oe&&pe.synchronous,ie.unshift(pe.fulfilled,pe.rejected))});var se=[];this.interceptors.response.forEach(function(pe){se.push(pe.fulfilled,pe.rejected)});var le;if(!oe){var ue=[dispatchRequest2,void 0];for(Array.prototype.unshift.apply(ue,ie),ue=ue.concat(se),le=Promise.resolve(ae);ue.length;)le=le.then(ue.shift(),ue.shift());return le}for(var ce=ae;ie.length;){var de=ie.shift(),he=ie.shift();try{ce=de(ce)}catch(fe){he(fe);break}}try{le=dispatchRequest2(ce)}catch(fe){return Promise.reject(fe)}for(;se.length;)le=le.then(se.shift(),se.shift());return le};Axios$1$1.prototype.getUri=function(te){return te=mergeConfig$1(this.defaults,te),buildURL2(te.url,te.params,te.paramsSerializer).replace(/^\?/,"")};utils$2.forEach(["delete","get","head","options"],function(te){Axios$1$1.prototype[te]=function(ae,ne){return this.request(mergeConfig$1(ne||{},{method:te,url:ae,data:(ne||{}).data}))}});utils$2.forEach(["post","put","patch"],function(te){Axios$1$1.prototype[te]=function(ae,ne,ie){return this.request(mergeConfig$1(ie||{},{method:te,url:ae,data:ne}))}});var Axios_1=Axios$1$1,Cancel=Cancel_1;function CancelToken$2(ee){if(typeof ee!="function")throw new TypeError("executor must be a function.");var te;this.promise=new Promise(function(ie){te=ie});var ae=this;this.promise.then(function(ne){if(ae._listeners){var ie,oe=ae._listeners.length;for(ie=0;ie<oe;ie++)ae._listeners[ie](ne);ae._listeners=null}}),this.promise.then=function(ne){var ie,oe=new Promise(function(se){ae.subscribe(se),ie=se}).then(ne);return oe.cancel=function(){ae.unsubscribe(ie)},oe},ee(function(ie){ae.reason||(ae.reason=new Cancel(ie),te(ae.reason))})}CancelToken$2.prototype.throwIfRequested=function(){if(this.reason)throw this.reason};CancelToken$2.prototype.subscribe=function(te){if(this.reason){te(this.reason);return}this._listeners?this._listeners.push(te):this._listeners=[te]};CancelToken$2.prototype.unsubscribe=function(te){if(this._listeners){var ae=this._listeners.indexOf(te);ae!==-1&&this._listeners.splice(ae,1)}};CancelToken$2.source=function(){var te,ae=new CancelToken$2(function(ie){te=ie});return{token:ae,cancel:te}};var CancelToken_1=CancelToken$2,spread$1=function(te){return function(ne){return te.apply(null,ne)}},utils$1$1=utils$e,isAxiosError$1=function(te){return utils$1$1.isObject(te)&&te.isAxiosError===!0},utils$f=utils$e,bind2=bind$2$1,Axios$2=Axios_1,mergeConfig2=mergeConfig$2,defaults$4=defaults_1;function createInstance$1(ee){var te=new Axios$2(ee),ae=bind2(Axios$2.prototype.request,te);return utils$f.extend(ae,Axios$2.prototype,te),utils$f.extend(ae,te),ae.create=function(ie){return createInstance$1(mergeConfig2(ee,ie))},ae}var axios$1$1=createInstance$1(defaults$4);axios$1$1.Axios=Axios$2;axios$1$1.Cancel=Cancel_1;axios$1$1.CancelToken=CancelToken_1;axios$1$1.isCancel=isCancel$1;axios$1$1.VERSION=data.version;axios$1$1.all=function(te){return Promise.all(te)};axios$1$1.spread=spread$1;axios$1$1.isAxiosError=isAxiosError$1;axios$2.exports=axios$1$1;axios$2.exports.default=axios$1$1;var axios$3=axios$2.exports;const t$3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function n$1(ee,te,ae,ne){let ie,oe,se;const le=te||[0],ue=(ae=ae||0)>>>3,ce=ne===-1?3:0;for(ie=0;ie<ee.length;ie+=1)se=ie+ue,oe=se>>>2,le.length<=oe&&le.push(0),le[oe]|=ee[ie]<<8*(ce+ne*(se%4));return{value:le,binLen:8*ee.length+ae}}function e$2(ee,te,ae){switch(te){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(ee){case"HEX":return function(ne,ie,oe){return function(se,le,ue,ce){let de,he,fe,pe;if(se.length%2!=0)throw new Error("String of HEX type must be in byte increments");const ve=le||[0],ge=(ue=ue||0)>>>3,me=ce===-1?3:0;for(de=0;de<se.length;de+=2){if(he=parseInt(se.substr(de,2),16),isNaN(he))throw new Error("String of HEX type contains invalid characters");for(pe=(de>>>1)+ge,fe=pe>>>2;ve.length<=fe;)ve.push(0);ve[fe]|=he<<8*(me+ce*(pe%4))}return{value:ve,binLen:4*se.length+ue}}(ne,ie,oe,ae)};case"TEXT":return function(ne,ie,oe){return function(se,le,ue,ce,de){let he,fe,pe,ve,ge,me,ye,_e,be=0;const xe=ue||[0],$e=(ce=ce||0)>>>3;if(le==="UTF8")for(ye=de===-1?3:0,pe=0;pe<se.length;pe+=1)for(he=se.charCodeAt(pe),fe=[],128>he?fe.push(he):2048>he?(fe.push(192|he>>>6),fe.push(128|63&he)):55296>he||57344<=he?fe.push(224|he>>>12,128|he>>>6&63,128|63&he):(pe+=1,he=65536+((1023&he)<<10|1023&se.charCodeAt(pe)),fe.push(240|he>>>18,128|he>>>12&63,128|he>>>6&63,128|63&he)),ve=0;ve<fe.length;ve+=1){for(me=be+$e,ge=me>>>2;xe.length<=ge;)xe.push(0);xe[ge]|=fe[ve]<<8*(ye+de*(me%4)),be+=1}else for(ye=de===-1?2:0,_e=le==="UTF16LE"&&de!==1||le!=="UTF16LE"&&de===1,pe=0;pe<se.length;pe+=1){for(he=se.charCodeAt(pe),_e===!0&&(ve=255&he,he=ve<<8|he>>>8),me=be+$e,ge=me>>>2;xe.length<=ge;)xe.push(0);xe[ge]|=he<<8*(ye+de*(me%4)),be+=2}return{value:xe,binLen:8*be+ce}}(ne,te,ie,oe,ae)};case"B64":return function(ne,ie,oe){return function(se,le,ue,ce){let de,he,fe,pe,ve,ge,me,ye=0;const _e=le||[0],be=(ue=ue||0)>>>3,xe=ce===-1?3:0,$e=se.indexOf("=");if(se.search(/^[a-zA-Z0-9=+/]+$/)===-1)throw new Error("Invalid character in base-64 string");if(se=se.replace(/=/g,""),$e!==-1&&$e<se.length)throw new Error("Invalid '=' found in base-64 string");for(he=0;he<se.length;he+=4){for(ve=se.substr(he,4),pe=0,fe=0;fe<ve.length;fe+=1)de=t$3.indexOf(ve.charAt(fe)),pe|=de<<18-6*fe;for(fe=0;fe<ve.length-1;fe+=1){for(me=ye+be,ge=me>>>2;_e.length<=ge;)_e.push(0);_e[ge]|=(pe>>>16-8*fe&255)<<8*(xe+ce*(me%4)),ye+=1}}return{value:_e,binLen:8*ye+ue}}(ne,ie,oe,ae)};case"BYTES":return function(ne,ie,oe){return function(se,le,ue,ce){let de,he,fe,pe;const ve=le||[0],ge=(ue=ue||0)>>>3,me=ce===-1?3:0;for(he=0;he<se.length;he+=1)de=se.charCodeAt(he),pe=he+ge,fe=pe>>>2,ve.length<=fe&&ve.push(0),ve[fe]|=de<<8*(me+ce*(pe%4));return{value:ve,binLen:8*se.length+ue}}(ne,ie,oe,ae)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch{throw new Error("ARRAYBUFFER not supported by this environment")}return function(ne,ie,oe){return function(se,le,ue,ce){return n$1(new Uint8Array(se),le,ue,ce)}(ne,ie,oe,ae)};case"UINT8ARRAY":try{new Uint8Array(0)}catch{throw new Error("UINT8ARRAY not supported by this environment")}return function(ne,ie,oe){return n$1(ne,ie,oe,ae)};default:throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}function r$1(ee,te,ae,ne){switch(ee){case"HEX":return function(ie){return function(oe,se,le,ue){const ce="0123456789abcdef";let de,he,fe="";const pe=se/8,ve=le===-1?3:0;for(de=0;de<pe;de+=1)he=oe[de>>>2]>>>8*(ve+le*(de%4)),fe+=ce.charAt(he>>>4&15)+ce.charAt(15&he);return ue.outputUpper?fe.toUpperCase():fe}(ie,te,ae,ne)};case"B64":return function(ie){return function(oe,se,le,ue){let ce,de,he,fe,pe,ve="";const ge=se/8,me=le===-1?3:0;for(ce=0;ce<ge;ce+=3)for(fe=ce+1<ge?oe[ce+1>>>2]:0,pe=ce+2<ge?oe[ce+2>>>2]:0,he=(oe[ce>>>2]>>>8*(me+le*(ce%4))&255)<<16|(fe>>>8*(me+le*((ce+1)%4))&255)<<8|pe>>>8*(me+le*((ce+2)%4))&255,de=0;de<4;de+=1)ve+=8*ce+6*de<=se?t$3.charAt(he>>>6*(3-de)&63):ue.b64Pad;return ve}(ie,te,ae,ne)};case"BYTES":return function(ie){return function(oe,se,le){let ue,ce,de="";const he=se/8,fe=le===-1?3:0;for(ue=0;ue<he;ue+=1)ce=oe[ue>>>2]>>>8*(fe+le*(ue%4))&255,de+=String.fromCharCode(ce);return de}(ie,te,ae)};case"ARRAYBUFFER":try{new ArrayBuffer(0)}catch{throw new Error("ARRAYBUFFER not supported by this environment")}return function(ie){return function(oe,se,le){let ue;const ce=se/8,de=new ArrayBuffer(ce),he=new Uint8Array(de),fe=le===-1?3:0;for(ue=0;ue<ce;ue+=1)he[ue]=oe[ue>>>2]>>>8*(fe+le*(ue%4))&255;return de}(ie,te,ae)};case"UINT8ARRAY":try{new Uint8Array(0)}catch{throw new Error("UINT8ARRAY not supported by this environment")}return function(ie){return function(oe,se,le){let ue;const ce=se/8,de=le===-1?3:0,he=new Uint8Array(ce);for(ue=0;ue<ce;ue+=1)he[ue]=oe[ue>>>2]>>>8*(de+le*(ue%4))&255;return he}(ie,te,ae)};default:throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY")}}const i$2=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s$1=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],o$1=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],h$1="Chosen SHA variant is not supported";function u$1(ee,te){let ae,ne;const ie=ee.binLen>>>3,oe=te.binLen>>>3,se=ie<<3,le=4-ie<<3;if(ie%4!=0){for(ae=0;ae<oe;ae+=4)ne=ie+ae>>>2,ee.value[ne]|=te.value[ae>>>2]<<se,ee.value.push(0),ee.value[ne+1]|=te.value[ae>>>2]>>>le;return(ee.value.length<<2)-4>=oe+ie&&ee.value.pop(),{value:ee.value,binLen:ee.binLen+te.binLen}}return{value:ee.value.concat(te.value),binLen:ee.binLen+te.binLen}}function w(ee){const te={outputUpper:!1,b64Pad:"=",outputLen:-1},ae=ee||{},ne="Output length must be a multiple of 8";if(te.outputUpper=ae.outputUpper||!1,ae.b64Pad&&(te.b64Pad=ae.b64Pad),ae.outputLen){if(ae.outputLen%8!=0)throw new Error(ne);te.outputLen=ae.outputLen}else if(ae.shakeLen){if(ae.shakeLen%8!=0)throw new Error(ne);te.outputLen=ae.shakeLen}if(typeof te.outputUpper!="boolean")throw new Error("Invalid outputUpper formatting option");if(typeof te.b64Pad!="string")throw new Error("Invalid b64Pad formatting option");return te}function c$1(ee,te,ae,ne){const ie=ee+" must include a value and format";if(!te){if(!ne)throw new Error(ie);return ne}if(te.value===void 0||!te.format)throw new Error(ie);return e$2(te.format,te.encoding||"UTF8",ae)(te.value)}class f{constructor(te,ae,ne){const ie=ne||{};if(this.t=ae,this.i=ie.encoding||"UTF8",this.numRounds=ie.numRounds||1,isNaN(this.numRounds)||this.numRounds!==parseInt(this.numRounds,10)||1>this.numRounds)throw new Error("numRounds must a integer >= 1");this.o=te,this.h=[],this.u=0,this.l=!1,this.A=0,this.H=!1,this.S=[],this.p=[]}update(te){let ae,ne=0;const ie=this.m>>>5,oe=this.C(te,this.h,this.u),se=oe.binLen,le=oe.value,ue=se>>>5;for(ae=0;ae<ue;ae+=ie)ne+this.m<=se&&(this.R=this.U(le.slice(ae,ae+ie),this.R),ne+=this.m);return this.A+=ne,this.h=le.slice(ne>>>5),this.u=se%this.m,this.l=!0,this}getHash(te,ae){let ne,ie,oe=this.v;const se=w(ae);if(this.K){if(se.outputLen===-1)throw new Error("Output length must be specified in options");oe=se.outputLen}const le=r$1(te,oe,this.T,se);if(this.H&&this.F)return le(this.F(se));for(ie=this.g(this.h.slice(),this.u,this.A,this.B(this.R),oe),ne=1;ne<this.numRounds;ne+=1)this.K&&oe%32!=0&&(ie[ie.length-1]&=16777215>>>24-oe%32),ie=this.g(ie,oe,0,this.L(this.o),oe);return le(ie)}setHMACKey(te,ae,ne){if(!this.M)throw new Error("Variant does not support HMAC");if(this.l)throw new Error("Cannot set MAC key after calling update");const ie=e$2(ae,(ne||{}).encoding||"UTF8",this.T);this.k(ie(te))}k(te){const ae=this.m>>>3,ne=ae/4-1;let ie;if(this.numRounds!==1)throw new Error("Cannot set numRounds with MAC");if(this.H)throw new Error("MAC key already set");for(ae<te.binLen/8&&(te.value=this.g(te.value,te.binLen,0,this.L(this.o),this.v));te.value.length<=ne;)te.value.push(0);for(ie=0;ie<=ne;ie+=1)this.S[ie]=909522486^te.value[ie],this.p[ie]=1549556828^te.value[ie];this.R=this.U(this.S,this.R),this.A=this.m,this.H=!0}getHMAC(te,ae){const ne=w(ae);return r$1(te,this.v,this.T,ne)(this.Y())}Y(){let te;if(!this.H)throw new Error("Cannot call getHMAC without first setting MAC key");const ae=this.g(this.h.slice(),this.u,this.A,this.B(this.R),this.v);return te=this.U(this.p,this.L(this.o)),te=this.g(ae,this.v,this.m,te,this.v),te}}function a$1(ee,te){return ee<<te|ee>>>32-te}function l$1(ee,te){return ee>>>te|ee<<32-te}function A(ee,te){return ee>>>te}function E(ee,te,ae){return ee^te^ae}function H(ee,te,ae){return ee&te^~ee&ae}function S(ee,te,ae){return ee&te^ee&ae^te&ae}function b(ee){return l$1(ee,2)^l$1(ee,13)^l$1(ee,22)}function p(ee,te){const ae=(65535&ee)+(65535&te);return(65535&(ee>>>16)+(te>>>16)+(ae>>>16))<<16|65535&ae}function d$1(ee,te,ae,ne){const ie=(65535&ee)+(65535&te)+(65535&ae)+(65535&ne);return(65535&(ee>>>16)+(te>>>16)+(ae>>>16)+(ne>>>16)+(ie>>>16))<<16|65535&ie}function m$2(ee,te,ae,ne,ie){const oe=(65535&ee)+(65535&te)+(65535&ae)+(65535&ne)+(65535&ie);return(65535&(ee>>>16)+(te>>>16)+(ae>>>16)+(ne>>>16)+(ie>>>16)+(oe>>>16))<<16|65535&oe}function C(ee){return l$1(ee,7)^l$1(ee,18)^A(ee,3)}function y(ee){return l$1(ee,6)^l$1(ee,11)^l$1(ee,25)}function R(ee){return[1732584193,4023233417,2562383102,271733878,3285377520]}function U(ee,te){let ae,ne,ie,oe,se,le,ue;const ce=[];for(ae=te[0],ne=te[1],ie=te[2],oe=te[3],se=te[4],ue=0;ue<80;ue+=1)ce[ue]=ue<16?ee[ue]:a$1(ce[ue-3]^ce[ue-8]^ce[ue-14]^ce[ue-16],1),le=ue<20?m$2(a$1(ae,5),H(ne,ie,oe),se,1518500249,ce[ue]):ue<40?m$2(a$1(ae,5),E(ne,ie,oe),se,1859775393,ce[ue]):ue<60?m$2(a$1(ae,5),S(ne,ie,oe),se,2400959708,ce[ue]):m$2(a$1(ae,5),E(ne,ie,oe),se,3395469782,ce[ue]),se=oe,oe=ie,ie=a$1(ne,30),ne=ae,ae=le;return te[0]=p(ae,te[0]),te[1]=p(ne,te[1]),te[2]=p(ie,te[2]),te[3]=p(oe,te[3]),te[4]=p(se,te[4]),te}function v(ee,te,ae,ne){let ie;const oe=15+(te+65>>>9<<4),se=te+ae;for(;ee.length<=oe;)ee.push(0);for(ee[te>>>5]|=128<<24-te%32,ee[oe]=4294967295&se,ee[oe-1]=se/4294967296|0,ie=0;ie<ee.length;ie+=16)ne=U(ee.slice(ie,ie+16),ne);return ne}class K extends f{constructor(te,ae,ne){if(te!=="SHA-1")throw new Error(h$1);super(te,ae,ne);const ie=ne||{};this.M=!0,this.F=this.Y,this.T=-1,this.C=e$2(this.t,this.i,this.T),this.U=U,this.B=function(oe){return oe.slice()},this.L=R,this.g=v,this.R=[1732584193,4023233417,2562383102,271733878,3285377520],this.m=512,this.v=160,this.K=!1,ie.hmacKey&&this.k(c$1("hmacKey",ie.hmacKey,this.T))}}function T(ee){let te;return te=ee=="SHA-224"?s$1.slice():o$1.slice(),te}function F(ee,te){let ae,ne,ie,oe,se,le,ue,ce,de,he,fe;const pe=[];for(ae=te[0],ne=te[1],ie=te[2],oe=te[3],se=te[4],le=te[5],ue=te[6],ce=te[7],fe=0;fe<64;fe+=1)pe[fe]=fe<16?ee[fe]:d$1(l$1(ve=pe[fe-2],17)^l$1(ve,19)^A(ve,10),pe[fe-7],C(pe[fe-15]),pe[fe-16]),de=m$2(ce,y(se),H(se,le,ue),i$2[fe],pe[fe]),he=p(b(ae),S(ae,ne,ie)),ce=ue,ue=le,le=se,se=p(oe,de),oe=ie,ie=ne,ne=ae,ae=p(de,he);var ve;return te[0]=p(ae,te[0]),te[1]=p(ne,te[1]),te[2]=p(ie,te[2]),te[3]=p(oe,te[3]),te[4]=p(se,te[4]),te[5]=p(le,te[5]),te[6]=p(ue,te[6]),te[7]=p(ce,te[7]),te}class g extends f{constructor(te,ae,ne){if(te!=="SHA-224"&&te!=="SHA-256")throw new Error(h$1);super(te,ae,ne);const ie=ne||{};this.F=this.Y,this.M=!0,this.T=-1,this.C=e$2(this.t,this.i,this.T),this.U=F,this.B=function(oe){return oe.slice()},this.L=T,this.g=function(oe,se,le,ue){return function(ce,de,he,fe,pe){let ve,ge;const me=15+(de+65>>>9<<4),ye=de+he;for(;ce.length<=me;)ce.push(0);for(ce[de>>>5]|=128<<24-de%32,ce[me]=4294967295&ye,ce[me-1]=ye/4294967296|0,ve=0;ve<ce.length;ve+=16)fe=F(ce.slice(ve,ve+16),fe);return ge=pe==="SHA-224"?[fe[0],fe[1],fe[2],fe[3],fe[4],fe[5],fe[6]]:fe,ge}(oe,se,le,ue,te)},this.R=T(te),this.m=512,this.v=te==="SHA-224"?224:256,this.K=!1,ie.hmacKey&&this.k(c$1("hmacKey",ie.hmacKey,this.T))}}class B{constructor(te,ae){this.N=te,this.I=ae}}function L(ee,te){let ae;return te>32?(ae=64-te,new B(ee.I<<te|ee.N>>>ae,ee.N<<te|ee.I>>>ae)):te!==0?(ae=32-te,new B(ee.N<<te|ee.I>>>ae,ee.I<<te|ee.N>>>ae)):ee}function M(ee,te){let ae;return te<32?(ae=32-te,new B(ee.N>>>te|ee.I<<ae,ee.I>>>te|ee.N<<ae)):(ae=64-te,new B(ee.I>>>te|ee.N<<ae,ee.N>>>te|ee.I<<ae))}function k$1(ee,te){return new B(ee.N>>>te,ee.I>>>te|ee.N<<32-te)}function Y(ee,te,ae){return new B(ee.N&te.N^ee.N&ae.N^te.N&ae.N,ee.I&te.I^ee.I&ae.I^te.I&ae.I)}function N(ee){const te=M(ee,28),ae=M(ee,34),ne=M(ee,39);return new B(te.N^ae.N^ne.N,te.I^ae.I^ne.I)}function I(ee,te){let ae,ne;ae=(65535&ee.I)+(65535&te.I),ne=(ee.I>>>16)+(te.I>>>16)+(ae>>>16);const ie=(65535&ne)<<16|65535&ae;return ae=(65535&ee.N)+(65535&te.N)+(ne>>>16),ne=(ee.N>>>16)+(te.N>>>16)+(ae>>>16),new B((65535&ne)<<16|65535&ae,ie)}function X(ee,te,ae,ne){let ie,oe;ie=(65535&ee.I)+(65535&te.I)+(65535&ae.I)+(65535&ne.I),oe=(ee.I>>>16)+(te.I>>>16)+(ae.I>>>16)+(ne.I>>>16)+(ie>>>16);const se=(65535&oe)<<16|65535&ie;return ie=(65535&ee.N)+(65535&te.N)+(65535&ae.N)+(65535&ne.N)+(oe>>>16),oe=(ee.N>>>16)+(te.N>>>16)+(ae.N>>>16)+(ne.N>>>16)+(ie>>>16),new B((65535&oe)<<16|65535&ie,se)}function z(ee,te,ae,ne,ie){let oe,se;oe=(65535&ee.I)+(65535&te.I)+(65535&ae.I)+(65535&ne.I)+(65535&ie.I),se=(ee.I>>>16)+(te.I>>>16)+(ae.I>>>16)+(ne.I>>>16)+(ie.I>>>16)+(oe>>>16);const le=(65535&se)<<16|65535&oe;return oe=(65535&ee.N)+(65535&te.N)+(65535&ae.N)+(65535&ne.N)+(65535&ie.N)+(se>>>16),se=(ee.N>>>16)+(te.N>>>16)+(ae.N>>>16)+(ne.N>>>16)+(ie.N>>>16)+(oe>>>16),new B((65535&se)<<16|65535&oe,le)}function x(ee,te){return new B(ee.N^te.N,ee.I^te.I)}function _$4(ee){const te=M(ee,19),ae=M(ee,61),ne=k$1(ee,6);return new B(te.N^ae.N^ne.N,te.I^ae.I^ne.I)}function O(ee){const te=M(ee,1),ae=M(ee,8),ne=k$1(ee,7);return new B(te.N^ae.N^ne.N,te.I^ae.I^ne.I)}function P(ee){const te=M(ee,14),ae=M(ee,18),ne=M(ee,41);return new B(te.N^ae.N^ne.N,te.I^ae.I^ne.I)}const V=[new B(i$2[0],3609767458),new B(i$2[1],602891725),new B(i$2[2],3964484399),new B(i$2[3],2173295548),new B(i$2[4],4081628472),new B(i$2[5],3053834265),new B(i$2[6],2937671579),new B(i$2[7],3664609560),new B(i$2[8],2734883394),new B(i$2[9],1164996542),new B(i$2[10],1323610764),new B(i$2[11],3590304994),new B(i$2[12],4068182383),new B(i$2[13],991336113),new B(i$2[14],633803317),new B(i$2[15],3479774868),new B(i$2[16],2666613458),new B(i$2[17],944711139),new B(i$2[18],2341262773),new B(i$2[19],2007800933),new B(i$2[20],1495990901),new B(i$2[21],1856431235),new B(i$2[22],3175218132),new B(i$2[23],2198950837),new B(i$2[24],3999719339),new B(i$2[25],766784016),new B(i$2[26],2566594879),new B(i$2[27],3203337956),new B(i$2[28],1034457026),new B(i$2[29],2466948901),new B(i$2[30],3758326383),new B(i$2[31],168717936),new B(i$2[32],1188179964),new B(i$2[33],1546045734),new B(i$2[34],1522805485),new B(i$2[35],2643833823),new B(i$2[36],2343527390),new B(i$2[37],1014477480),new B(i$2[38],1206759142),new B(i$2[39],344077627),new B(i$2[40],1290863460),new B(i$2[41],3158454273),new B(i$2[42],3505952657),new B(i$2[43],106217008),new B(i$2[44],3606008344),new B(i$2[45],1432725776),new B(i$2[46],1467031594),new B(i$2[47],851169720),new B(i$2[48],3100823752),new B(i$2[49],1363258195),new B(i$2[50],3750685593),new B(i$2[51],3785050280),new B(i$2[52],3318307427),new B(i$2[53],3812723403),new B(i$2[54],2003034995),new B(i$2[55],3602036899),new B(i$2[56],1575990012),new B(i$2[57],1125592928),new B(i$2[58],2716904306),new B(i$2[59],442776044),new B(i$2[60],593698344),new B(i$2[61],3733110249),new B(i$2[62],2999351573),new B(i$2[63],3815920427),new B(3391569614,3928383900),new B(3515267271,566280711),new B(3940187606,3454069534),new B(4118630271,4000239992),new B(116418474,1914138554),new B(174292421,2731055270),new B(289380356,3203993006),new B(460393269,320620315),new B(685471733,587496836),new B(852142971,1086792851),new B(1017036298,365543100),new B(1126000580,2618297676),new B(1288033470,3409855158),new B(1501505948,4234509866),new B(1607167915,987167468),new B(1816402316,1246189591)];function Z(ee){return ee==="SHA-384"?[new B(3418070365,s$1[0]),new B(1654270250,s$1[1]),new B(2438529370,s$1[2]),new B(355462360,s$1[3]),new B(1731405415,s$1[4]),new B(41048885895,s$1[5]),new B(3675008525,s$1[6]),new B(1203062813,s$1[7])]:[new B(o$1[0],4089235720),new B(o$1[1],2227873595),new B(o$1[2],4271175723),new B(o$1[3],1595750129),new B(o$1[4],2917565137),new B(o$1[5],725511199),new B(o$1[6],4215389547),new B(o$1[7],327033209)]}function j(ee,te){let ae,ne,ie,oe,se,le,ue,ce,de,he,fe,pe;const ve=[];for(ae=te[0],ne=te[1],ie=te[2],oe=te[3],se=te[4],le=te[5],ue=te[6],ce=te[7],fe=0;fe<80;fe+=1)fe<16?(pe=2*fe,ve[fe]=new B(ee[pe],ee[pe+1])):ve[fe]=X(_$4(ve[fe-2]),ve[fe-7],O(ve[fe-15]),ve[fe-16]),de=z(ce,P(se),(me=le,ye=ue,new B((ge=se).N&me.N^~ge.N&ye.N,ge.I&me.I^~ge.I&ye.I)),V[fe],ve[fe]),he=I(N(ae),Y(ae,ne,ie)),ce=ue,ue=le,le=se,se=I(oe,de),oe=ie,ie=ne,ne=ae,ae=I(de,he);var ge,me,ye;return te[0]=I(ae,te[0]),te[1]=I(ne,te[1]),te[2]=I(ie,te[2]),te[3]=I(oe,te[3]),te[4]=I(se,te[4]),te[5]=I(le,te[5]),te[6]=I(ue,te[6]),te[7]=I(ce,te[7]),te}class q extends f{constructor(te,ae,ne){if(te!=="SHA-384"&&te!=="SHA-512")throw new Error(h$1);super(te,ae,ne);const ie=ne||{};this.F=this.Y,this.M=!0,this.T=-1,this.C=e$2(this.t,this.i,this.T),this.U=j,this.B=function(oe){return oe.slice()},this.L=Z,this.g=function(oe,se,le,ue){return function(ce,de,he,fe,pe){let ve,ge;const me=31+(de+129>>>10<<5),ye=de+he;for(;ce.length<=me;)ce.push(0);for(ce[de>>>5]|=128<<24-de%32,ce[me]=4294967295&ye,ce[me-1]=ye/4294967296|0,ve=0;ve<ce.length;ve+=32)fe=j(ce.slice(ve,ve+32),fe);return ge=pe==="SHA-384"?[fe[0].N,fe[0].I,fe[1].N,fe[1].I,fe[2].N,fe[2].I,fe[3].N,fe[3].I,fe[4].N,fe[4].I,fe[5].N,fe[5].I]:[fe[0].N,fe[0].I,fe[1].N,fe[1].I,fe[2].N,fe[2].I,fe[3].N,fe[3].I,fe[4].N,fe[4].I,fe[5].N,fe[5].I,fe[6].N,fe[6].I,fe[7].N,fe[7].I],ge}(oe,se,le,ue,te)},this.R=Z(te),this.m=1024,this.v=te==="SHA-384"?384:512,this.K=!1,ie.hmacKey&&this.k(c$1("hmacKey",ie.hmacKey,this.T))}}const D=[new B(0,1),new B(0,32898),new B(2147483648,32906),new B(2147483648,2147516416),new B(0,32907),new B(0,2147483649),new B(2147483648,2147516545),new B(2147483648,32777),new B(0,138),new B(0,136),new B(0,2147516425),new B(0,2147483658),new B(0,2147516555),new B(2147483648,139),new B(2147483648,32905),new B(2147483648,32771),new B(2147483648,32770),new B(2147483648,128),new B(0,32778),new B(2147483648,2147483658),new B(2147483648,2147516545),new B(2147483648,32896),new B(0,2147483649),new B(2147483648,2147516424)],G=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]];function J(ee){let te;const ae=[];for(te=0;te<5;te+=1)ae[te]=[new B(0,0),new B(0,0),new B(0,0),new B(0,0),new B(0,0)];return ae}function Q(ee){let te;const ae=[];for(te=0;te<5;te+=1)ae[te]=ee[te].slice();return ae}function W(ee,te){let ae,ne,ie,oe;const se=[],le=[];if(ee!==null)for(ne=0;ne<ee.length;ne+=2)te[(ne>>>1)%5][(ne>>>1)/5|0]=x(te[(ne>>>1)%5][(ne>>>1)/5|0],new B(ee[ne+1],ee[ne]));for(ae=0;ae<24;ae+=1){for(oe=J(),ne=0;ne<5;ne+=1)se[ne]=(ue=te[ne][0],ce=te[ne][1],de=te[ne][2],he=te[ne][3],fe=te[ne][4],new B(ue.N^ce.N^de.N^he.N^fe.N,ue.I^ce.I^de.I^he.I^fe.I));for(ne=0;ne<5;ne+=1)le[ne]=x(se[(ne+4)%5],L(se[(ne+1)%5],1));for(ne=0;ne<5;ne+=1)for(ie=0;ie<5;ie+=1)te[ne][ie]=x(te[ne][ie],le[ne]);for(ne=0;ne<5;ne+=1)for(ie=0;ie<5;ie+=1)oe[ie][(2*ne+3*ie)%5]=L(te[ne][ie],G[ne][ie]);for(ne=0;ne<5;ne+=1)for(ie=0;ie<5;ie+=1)te[ne][ie]=x(oe[ne][ie],new B(~oe[(ne+1)%5][ie].N&oe[(ne+2)%5][ie].N,~oe[(ne+1)%5][ie].I&oe[(ne+2)%5][ie].I));te[0][0]=x(te[0][0],D[ae])}var ue,ce,de,he,fe;return te}function $(ee){let te,ae,ne=0;const ie=[0,0],oe=[4294967295&ee,ee/4294967296&2097151];for(te=6;te>=0;te--)ae=oe[te>>2]>>>8*te&255,ae===0&&ne===0||(ie[ne+1>>2]|=ae<<8*(ne+1),ne+=1);return ne=ne!==0?ne:1,ie[0]|=ne,{value:ne+1>4?ie:[ie[0]],binLen:8+8*ne}}function tt(ee){return u$1($(ee.binLen),ee)}function nt(ee,te){let ae,ne=$(te);ne=u$1(ne,ee);const ie=te>>>2,oe=(ie-ne.value.length%ie)%ie;for(ae=0;ae<oe;ae++)ne.value.push(0);return ne.value}class et extends f{constructor(te,ae,ne){let ie=6,oe=0;super(te,ae,ne);const se=ne||{};if(this.numRounds!==1){if(se.kmacKey||se.hmacKey)throw new Error("Cannot set numRounds with MAC");if(this.o==="CSHAKE128"||this.o==="CSHAKE256")throw new Error("Cannot set numRounds for CSHAKE variants")}switch(this.T=1,this.C=e$2(this.t,this.i,this.T),this.U=W,this.B=Q,this.L=J,this.R=J(),this.K=!1,te){case"SHA3-224":this.m=oe=1152,this.v=224,this.M=!0,this.F=this.Y;break;case"SHA3-256":this.m=oe=1088,this.v=256,this.M=!0,this.F=this.Y;break;case"SHA3-384":this.m=oe=832,this.v=384,this.M=!0,this.F=this.Y;break;case"SHA3-512":this.m=oe=576,this.v=512,this.M=!0,this.F=this.Y;break;case"SHAKE128":ie=31,this.m=oe=1344,this.v=-1,this.K=!0,this.M=!1,this.F=null;break;case"SHAKE256":ie=31,this.m=oe=1088,this.v=-1,this.K=!0,this.M=!1,this.F=null;break;case"KMAC128":ie=4,this.m=oe=1344,this.X(ne),this.v=-1,this.K=!0,this.M=!1,this.F=this._;break;case"KMAC256":ie=4,this.m=oe=1088,this.X(ne),this.v=-1,this.K=!0,this.M=!1,this.F=this._;break;case"CSHAKE128":this.m=oe=1344,ie=this.O(ne),this.v=-1,this.K=!0,this.M=!1,this.F=null;break;case"CSHAKE256":this.m=oe=1088,ie=this.O(ne),this.v=-1,this.K=!0,this.M=!1,this.F=null;break;default:throw new Error(h$1)}this.g=function(le,ue,ce,de,he){return function(fe,pe,ve,ge,me,ye,_e){let be,xe,$e=0;const Se=[],we=me>>>5,Ae=pe>>>5;for(be=0;be<Ae&&pe>=me;be+=we)ge=W(fe.slice(be,be+we),ge),pe-=me;for(fe=fe.slice(be),pe%=me;fe.length<we;)fe.push(0);for(be=pe>>>3,fe[be>>2]^=ye<<be%4*8,fe[we-1]^=2147483648,ge=W(fe,ge);32*Se.length<_e&&(xe=ge[$e%5][$e/5|0],Se.push(xe.I),!(32*Se.length>=_e));)Se.push(xe.N),$e+=1,64*$e%me==0&&(W(null,ge),$e=0);return Se}(le,ue,0,de,oe,ie,he)},se.hmacKey&&this.k(c$1("hmacKey",se.hmacKey,this.T))}O(te,ae){const ne=function(oe){const se=oe||{};return{funcName:c$1("funcName",se.funcName,1,{value:[],binLen:0}),customization:c$1("Customization",se.customization,1,{value:[],binLen:0})}}(te||{});ae&&(ne.funcName=ae);const ie=u$1(tt(ne.funcName),tt(ne.customization));if(ne.customization.binLen!==0||ne.funcName.binLen!==0){const oe=nt(ie,this.m>>>3);for(let se=0;se<oe.length;se+=this.m>>>5)this.R=this.U(oe.slice(se,se+(this.m>>>5)),this.R),this.A+=this.m;return 4}return 31}X(te){const ae=function(ie){const oe=ie||{};return{kmacKey:c$1("kmacKey",oe.kmacKey,1),funcName:{value:[1128353099],binLen:32},customization:c$1("Customization",oe.customization,1,{value:[],binLen:0})}}(te||{});this.O(te,ae.funcName);const ne=nt(tt(ae.kmacKey),this.m>>>3);for(let ie=0;ie<ne.length;ie+=this.m>>>5)this.R=this.U(ne.slice(ie,ie+(this.m>>>5)),this.R),this.A+=this.m;this.H=!0}_(te){const ae=u$1({value:this.h.slice(),binLen:this.u},function(ne){let ie,oe,se=0;const le=[0,0],ue=[4294967295&ne,ne/4294967296&2097151];for(ie=6;ie>=0;ie--)oe=ue[ie>>2]>>>8*ie&255,oe===0&&se===0||(le[se>>2]|=oe<<8*se,se+=1);return se=se!==0?se:1,le[se>>2]|=se<<8*se,{value:se+1>4?le:[le[0]],binLen:8+8*se}}(te.outputLen));return this.g(ae.value,ae.binLen,this.A,this.B(this.R),te.outputLen)}}let rt$1=class{constructor(te,ae,ne){if(te=="SHA-1")this.P=new K(te,ae,ne);else if(te=="SHA-224"||te=="SHA-256")this.P=new g(te,ae,ne);else if(te=="SHA-384"||te=="SHA-512")this.P=new q(te,ae,ne);else{if(te!="SHA3-224"&&te!="SHA3-256"&&te!="SHA3-384"&&te!="SHA3-512"&&te!="SHAKE128"&&te!="SHAKE256"&&te!="CSHAKE128"&&te!="CSHAKE256"&&te!="KMAC128"&&te!="KMAC256")throw new Error(h$1);this.P=new et(te,ae,ne)}}update(te){return this.P.update(te),this}getHash(te,ae){return this.P.getHash(te,ae)}setHMACKey(te,ae,ne){this.P.setHMACKey(te,ae,ne)}getHMAC(te,ae){return this.P.getHMAC(te,ae)}};const version$n="3.7.5",VERSION$2=version$n,_hasatob=typeof atob=="function",_hasbtoa=typeof btoa=="function",_hasBuffer=typeof Buffer=="function",_TD=typeof TextDecoder=="function"?new TextDecoder:void 0,_TE=typeof TextEncoder=="function"?new TextEncoder:void 0,b64ch="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b64chs=Array.prototype.slice.call(b64ch),b64tab=(ee=>{let te={};return ee.forEach((ae,ne)=>te[ae]=ne),te})(b64chs),b64re=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,_fromCC=String.fromCharCode.bind(String),_U8Afrom=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):ee=>new Uint8Array(Array.prototype.slice.call(ee,0)),_mkUriSafe=ee=>ee.replace(/=/g,"").replace(/[+\/]/g,te=>te=="+"?"-":"_"),_tidyB64=ee=>ee.replace(/[^A-Za-z0-9\+\/]/g,""),btoaPolyfill=ee=>{let te,ae,ne,ie,oe="";const se=ee.length%3;for(let le=0;le<ee.length;){if((ae=ee.charCodeAt(le++))>255||(ne=ee.charCodeAt(le++))>255||(ie=ee.charCodeAt(le++))>255)throw new TypeError("invalid character found");te=ae<<16|ne<<8|ie,oe+=b64chs[te>>18&63]+b64chs[te>>12&63]+b64chs[te>>6&63]+b64chs[te&63]}return se?oe.slice(0,se-3)+"===".substring(se):oe},_btoa=_hasbtoa?ee=>btoa(ee):_hasBuffer?ee=>Buffer.from(ee,"binary").toString("base64"):btoaPolyfill,_fromUint8Array=_hasBuffer?ee=>Buffer.from(ee).toString("base64"):ee=>{let ae=[];for(let ne=0,ie=ee.length;ne<ie;ne+=4096)ae.push(_fromCC.apply(null,ee.subarray(ne,ne+4096)));return _btoa(ae.join(""))},fromUint8Array=(ee,te=!1)=>te?_mkUriSafe(_fromUint8Array(ee)):_fromUint8Array(ee),cb_utob=ee=>{if(ee.length<2){var te=ee.charCodeAt(0);return te<128?ee:te<2048?_fromCC(192|te>>>6)+_fromCC(128|te&63):_fromCC(224|te>>>12&15)+_fromCC(128|te>>>6&63)+_fromCC(128|te&63)}else{var te=65536+(ee.charCodeAt(0)-55296)*1024+(ee.charCodeAt(1)-56320);return _fromCC(240|te>>>18&7)+_fromCC(128|te>>>12&63)+_fromCC(128|te>>>6&63)+_fromCC(128|te&63)}},re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,utob=ee=>ee.replace(re_utob,cb_utob),_encode=_hasBuffer?ee=>Buffer.from(ee,"utf8").toString("base64"):_TE?ee=>_fromUint8Array(_TE.encode(ee)):ee=>_btoa(utob(ee)),encode$2=(ee,te=!1)=>te?_mkUriSafe(_encode(ee)):_encode(ee),encodeURI$1=ee=>encode$2(ee,!0),re_btou=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,cb_btou=ee=>{switch(ee.length){case 4:var te=(7&ee.charCodeAt(0))<<18|(63&ee.charCodeAt(1))<<12|(63&ee.charCodeAt(2))<<6|63&ee.charCodeAt(3),ae=te-65536;return _fromCC((ae>>>10)+55296)+_fromCC((ae&1023)+56320);case 3:return _fromCC((15&ee.charCodeAt(0))<<12|(63&ee.charCodeAt(1))<<6|63&ee.charCodeAt(2));default:return _fromCC((31&ee.charCodeAt(0))<<6|63&ee.charCodeAt(1))}},btou=ee=>ee.replace(re_btou,cb_btou),atobPolyfill=ee=>{if(ee=ee.replace(/\s+/g,""),!b64re.test(ee))throw new TypeError("malformed base64.");ee+="==".slice(2-(ee.length&3));let te,ae="",ne,ie;for(let oe=0;oe<ee.length;)te=b64tab[ee.charAt(oe++)]<<18|b64tab[ee.charAt(oe++)]<<12|(ne=b64tab[ee.charAt(oe++)])<<6|(ie=b64tab[ee.charAt(oe++)]),ae+=ne===64?_fromCC(te>>16&255):ie===64?_fromCC(te>>16&255,te>>8&255):_fromCC(te>>16&255,te>>8&255,te&255);return ae},_atob=_hasatob?ee=>atob(_tidyB64(ee)):_hasBuffer?ee=>Buffer.from(ee,"base64").toString("binary"):atobPolyfill,_toUint8Array=_hasBuffer?ee=>_U8Afrom(Buffer.from(ee,"base64")):ee=>_U8Afrom(_atob(ee).split("").map(te=>te.charCodeAt(0))),toUint8Array=ee=>_toUint8Array(_unURI(ee)),_decode=_hasBuffer?ee=>Buffer.from(ee,"base64").toString("utf8"):_TD?ee=>_TD.decode(_toUint8Array(ee)):ee=>btou(_atob(ee)),_unURI=ee=>_tidyB64(ee.replace(/[-_]/g,te=>te=="-"?"+":"/")),decode$2=ee=>_decode(_unURI(ee)),isValid=ee=>{if(typeof ee!="string")return!1;const te=ee.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(te)||!/[^\s0-9a-zA-Z\-_]/.test(te)},_noEnum=ee=>({value:ee,enumerable:!1,writable:!0,configurable:!0}),extendString=function(){const ee=(te,ae)=>Object.defineProperty(String.prototype,te,_noEnum(ae));ee("fromBase64",function(){return decode$2(this)}),ee("toBase64",function(te){return encode$2(this,te)}),ee("toBase64URI",function(){return encode$2(this,!0)}),ee("toBase64URL",function(){return encode$2(this,!0)}),ee("toUint8Array",function(){return toUint8Array(this)})},extendUint8Array=function(){const ee=(te,ae)=>Object.defineProperty(Uint8Array.prototype,te,_noEnum(ae));ee("toBase64",function(te){return fromUint8Array(this,te)}),ee("toBase64URI",function(){return fromUint8Array(this,!0)}),ee("toBase64URL",function(){return fromUint8Array(this,!0)})},extendBuiltins=()=>{extendString(),extendUint8Array()},gBase64={version:version$n,VERSION:VERSION$2,atob:_atob,atobPolyfill,btoa:_btoa,btoaPolyfill,fromBase64:decode$2,toBase64:encode$2,encode:encode$2,encodeURI:encodeURI$1,encodeURL:encodeURI$1,utob,btou,decode:decode$2,isValid,fromUint8Array,toUint8Array,extendString,extendUint8Array,extendBuiltins};var md5$1={exports:{}};(function(ee){(function(te){function ae($e,Se){var we=($e&65535)+(Se&65535),Ae=($e>>16)+(Se>>16)+(we>>16);return Ae<<16|we&65535}function ne($e,Se){return $e<<Se|$e>>>32-Se}function ie($e,Se,we,Ae,Te,De){return ae(ne(ae(ae(Se,$e),ae(Ae,De)),Te),we)}function oe($e,Se,we,Ae,Te,De,Me){return ie(Se&we|~Se&Ae,$e,Se,Te,De,Me)}function se($e,Se,we,Ae,Te,De,Me){return ie(Se&Ae|we&~Ae,$e,Se,Te,De,Me)}function le($e,Se,we,Ae,Te,De,Me){return ie(Se^we^Ae,$e,Se,Te,De,Me)}function ue($e,Se,we,Ae,Te,De,Me){return ie(we^(Se|~Ae),$e,Se,Te,De,Me)}function ce($e,Se){$e[Se>>5]|=128<<Se%32,$e[(Se+64>>>9<<4)+14]=Se;var we,Ae,Te,De,Me,Ie=1732584193,Ce=-271733879,Ee=-1732584194,Re=271733878;for(we=0;we<$e.length;we+=16)Ae=Ie,Te=Ce,De=Ee,Me=Re,Ie=oe(Ie,Ce,Ee,Re,$e[we],7,-680876936),Re=oe(Re,Ie,Ce,Ee,$e[we+1],12,-389564586),Ee=oe(Ee,Re,Ie,Ce,$e[we+2],17,606105819),Ce=oe(Ce,Ee,Re,Ie,$e[we+3],22,-1044525330),Ie=oe(Ie,Ce,Ee,Re,$e[we+4],7,-176418897),Re=oe(Re,Ie,Ce,Ee,$e[we+5],12,1200080426),Ee=oe(Ee,Re,Ie,Ce,$e[we+6],17,-1473231341),Ce=oe(Ce,Ee,Re,Ie,$e[we+7],22,-45705983),Ie=oe(Ie,Ce,Ee,Re,$e[we+8],7,1770035416),Re=oe(Re,Ie,Ce,Ee,$e[we+9],12,-1958414417),Ee=oe(Ee,Re,Ie,Ce,$e[we+10],17,-42063),Ce=oe(Ce,Ee,Re,Ie,$e[we+11],22,-1990404162),Ie=oe(Ie,Ce,Ee,Re,$e[we+12],7,1804603682),Re=oe(Re,Ie,Ce,Ee,$e[we+13],12,-40341101),Ee=oe(Ee,Re,Ie,Ce,$e[we+14],17,-1502002290),Ce=oe(Ce,Ee,Re,Ie,$e[we+15],22,1236535329),Ie=se(Ie,Ce,Ee,Re,$e[we+1],5,-165796510),Re=se(Re,Ie,Ce,Ee,$e[we+6],9,-1069501632),Ee=se(Ee,Re,Ie,Ce,$e[we+11],14,643717713),Ce=se(Ce,Ee,Re,Ie,$e[we],20,-373897302),Ie=se(Ie,Ce,Ee,Re,$e[we+5],5,-701558691),Re=se(Re,Ie,Ce,Ee,$e[we+10],9,38016083),Ee=se(Ee,Re,Ie,Ce,$e[we+15],14,-660478335),Ce=se(Ce,Ee,Re,Ie,$e[we+4],20,-405537848),Ie=se(Ie,Ce,Ee,Re,$e[we+9],5,568446438),Re=se(Re,Ie,Ce,Ee,$e[we+14],9,-1019803690),Ee=se(Ee,Re,Ie,Ce,$e[we+3],14,-187363961),Ce=se(Ce,Ee,Re,Ie,$e[we+8],20,1163531501),Ie=se(Ie,Ce,Ee,Re,$e[we+13],5,-1444681467),Re=se(Re,Ie,Ce,Ee,$e[we+2],9,-51403784),Ee=se(Ee,Re,Ie,Ce,$e[we+7],14,1735328473),Ce=se(Ce,Ee,Re,Ie,$e[we+12],20,-1926607734),Ie=le(Ie,Ce,Ee,Re,$e[we+5],4,-378558),Re=le(Re,Ie,Ce,Ee,$e[we+8],11,-2022574463),Ee=le(Ee,Re,Ie,Ce,$e[we+11],16,1839030562),Ce=le(Ce,Ee,Re,Ie,$e[we+14],23,-35309556),Ie=le(Ie,Ce,Ee,Re,$e[we+1],4,-1530992060),Re=le(Re,Ie,Ce,Ee,$e[we+4],11,1272893353),Ee=le(Ee,Re,Ie,Ce,$e[we+7],16,-155497632),Ce=le(Ce,Ee,Re,Ie,$e[we+10],23,-1094730640),Ie=le(Ie,Ce,Ee,Re,$e[we+13],4,681279174),Re=le(Re,Ie,Ce,Ee,$e[we],11,-358537222),Ee=le(Ee,Re,Ie,Ce,$e[we+3],16,-722521979),Ce=le(Ce,Ee,Re,Ie,$e[we+6],23,76029189),Ie=le(Ie,Ce,Ee,Re,$e[we+9],4,-640364487),Re=le(Re,Ie,Ce,Ee,$e[we+12],11,-421815835),Ee=le(Ee,Re,Ie,Ce,$e[we+15],16,530742520),Ce=le(Ce,Ee,Re,Ie,$e[we+2],23,-995338651),Ie=ue(Ie,Ce,Ee,Re,$e[we],6,-198630844),Re=ue(Re,Ie,Ce,Ee,$e[we+7],10,1126891415),Ee=ue(Ee,Re,Ie,Ce,$e[we+14],15,-1416354905),Ce=ue(Ce,Ee,Re,Ie,$e[we+5],21,-57434055),Ie=ue(Ie,Ce,Ee,Re,$e[we+12],6,1700485571),Re=ue(Re,Ie,Ce,Ee,$e[we+3],10,-1894986606),Ee=ue(Ee,Re,Ie,Ce,$e[we+10],15,-1051523),Ce=ue(Ce,Ee,Re,Ie,$e[we+1],21,-2054922799),Ie=ue(Ie,Ce,Ee,Re,$e[we+8],6,1873313359),Re=ue(Re,Ie,Ce,Ee,$e[we+15],10,-30611744),Ee=ue(Ee,Re,Ie,Ce,$e[we+6],15,-1560198380),Ce=ue(Ce,Ee,Re,Ie,$e[we+13],21,1309151649),Ie=ue(Ie,Ce,Ee,Re,$e[we+4],6,-145523070),Re=ue(Re,Ie,Ce,Ee,$e[we+11],10,-1120210379),Ee=ue(Ee,Re,Ie,Ce,$e[we+2],15,718787259),Ce=ue(Ce,Ee,Re,Ie,$e[we+9],21,-343485551),Ie=ae(Ie,Ae),Ce=ae(Ce,Te),Ee=ae(Ee,De),Re=ae(Re,Me);return[Ie,Ce,Ee,Re]}function de($e){var Se,we="",Ae=$e.length*32;for(Se=0;Se<Ae;Se+=8)we+=String.fromCharCode($e[Se>>5]>>>Se%32&255);return we}function he($e){var Se,we=[];for(we[($e.length>>2)-1]=void 0,Se=0;Se<we.length;Se+=1)we[Se]=0;var Ae=$e.length*8;for(Se=0;Se<Ae;Se+=8)we[Se>>5]|=($e.charCodeAt(Se/8)&255)<<Se%32;return we}function fe($e){return de(ce(he($e),$e.length*8))}function pe($e,Se){var we,Ae=he($e),Te=[],De=[],Me;for(Te[15]=De[15]=void 0,Ae.length>16&&(Ae=ce(Ae,$e.length*8)),we=0;we<16;we+=1)Te[we]=Ae[we]^909522486,De[we]=Ae[we]^1549556828;return Me=ce(Te.concat(he(Se)),512+Se.length*8),de(ce(De.concat(Me),512+128))}function ve($e){var Se="0123456789abcdef",we="",Ae,Te;for(Te=0;Te<$e.length;Te+=1)Ae=$e.charCodeAt(Te),we+=Se.charAt(Ae>>>4&15)+Se.charAt(Ae&15);return we}function ge($e){return unescape(encodeURIComponent($e))}function me($e){return fe(ge($e))}function ye($e){return ve(me($e))}function _e($e,Se){return pe(ge($e),ge(Se))}function be($e,Se){return ve(_e($e,Se))}function xe($e,Se,we){return Se?we?_e(Se,$e):be(Se,$e):we?me($e):ye($e)}ee.exports?ee.exports=xe:te.md5=xe})(commonjsGlobal)})(md5$1);var md5=md5$1.exports;function Xml2Json(){let ee=function(ne){let ie=JSON.stringify(ne,void 0,2).replace(/(\\t|\\r|\\n)/g,"").replace(/"",[\n\t\r\s]+""[,]*/g,"").replace(/(\n[\t\s\r]*\n)/g,"").replace(/[\s\t]{2,}""[,]{0,1}/g,"").replace(/"[\s\t]{1,}"[,]{0,1}/g,"");return ie.indexOf('"parsererror": {')===-1?ie:"Invalid XML format"},te=function(ne){let ie={};if(ne.nodeType===1){if(ne.attributes.length>0){ie["@attributes"]={};for(let oe=0;oe<ne.attributes.length;oe++){let se=ne.attributes.item(oe);ie["@attributes"][se.nodeName]=se.value}}}else ne.nodeType===3&&(ie=ne.nodeValue);if(ne.hasChildNodes())for(let oe=0;oe<ne.childNodes.length;oe++){let se=ne.childNodes.item(oe),le=se.nodeName;if(ie[le]===void 0)ie[le]=te(se);else{if(ie[le].push===void 0){let ue=ie[le];ie[le]=[],ie[le].push(ue)}ie[le].push(te(se))}}return ie},ae=this;ae.parseString=function(ne,ie){let oe;window.DOMParser?oe=new window.DOMParser().parseFromString(ne,"text/xml"):(oe=new window.ActiveXObject("Microsoft.XMLDOM"),oe.async="false");let se=ee(te(oe));return ie===void 0?JSON.parse(se):se}}var xml2js=new Xml2Json;const owner$1={type:"object",location:"xml",sentAs:"Owner",parameters:{ID:{sentAs:"ID"}}},initiator$1={type:"object",location:"xml",sentAs:"Initiator",parameters:{ID:{sentAs:"ID"}}},BackToSourceRules$1={sentAs:"BackToSourceRule",required:!0,location:"xml",type:"array",items:{type:"object",parameters:{ID:{sentAs:"ID"},Condition:{sentAs:"Condition",type:"object",parameters:{ObjectKeyPrefixEquals:{sentAs:"ObjectKeyPrefixEquals"},HttpErrorCodeReturnedEquals:{sentAs:"HttpErrorCodeReturnedEquals"}}},Redirect:{sentAs:"Redirect",type:"object",parameters:{HttpRedirectCode:{sentAs:"HttpRedirectCode"},SourceEndpoint:{sentAs:"SourceEndpoint"},SourceBucketName:{sentAs:"SourceBucketName"},ReplaceKeyWith:{sentAs:"ReplaceKeyWith"},StaticUri:{sentAs:"StaticUri"},ReplaceKeyPrefixWith:{sentAs:"ReplaceKeyPrefixWith"},MigrationConfiguration:{sentAs:"MigrationConfiguration",type:"object",parameters:{Agency:{sentAs:"Agency"},LogBucketName:{sentAs:"LogBucketName"},PrivateBucketConfiguration:{sentAs:"PrivateBucketConfiguration",type:"object",parameters:{SourceStorageProvider:{sentAs:"SourceStorageProvider"},SourceBucketAK:{sentAs:"SourceBucketAK"},SourceBucketSK:{sentAs:"SourceBucketSK"},SourceBucketZone:{sentAs:"SourceBucketZone"}}}}}}}}}},commonPrefixes$1={type:"array",location:"xml",sentAs:"CommonPrefixes",items:{type:"object",parameters:{Prefix:{decode:!0,sentAs:"Prefix"},MTime:{sentAs:"MTime"},InodeNo:{sentAs:"InodeNo"}}}},grants$1={type:"array",location:"xml",wrapper:"AccessControlList",sentAs:"Grant",items:{type:"object",parameters:{Grantee:{type:"object",sentAs:"Grantee",parameters:{Type:{type:"ignore"},ID:{sentAs:"ID",notAllowEmpty:!0},URI:{sentAs:"Canned",type:"adapter",notAllowEmpty:!0}}},Permission:{sentAs:"Permission"},Delivered:{sentAs:"Delivered"}}}},loggingEnabled$1={type:"object",location:"xml",sentAs:"LoggingEnabled",parameters:{TargetBucket:{sentAs:"TargetBucket"},TargetPrefix:{sentAs:"TargetPrefix"},TargetGrants:{type:"array",wrapper:"TargetGrants",sentAs:"Grant",items:{type:"object",parameters:{Grantee:{type:"object",sentAs:"Grantee",parameters:{Type:{type:"ignore"},ID:{sentAs:"ID"},URI:{sentAs:"Canned",type:"adapter"}}},Permission:{sentAs:"Permission"}}}}}},rules$1={required:!0,type:"array",location:"xml",sentAs:"Rule",items:{type:"object",parameters:{ID:{sentAs:"ID"},Prefix:{sentAs:"Prefix"},Status:{sentAs:"Status"},Transitions:{type:"array",sentAs:"Transition",items:{type:"object",parameters:{StorageClass:{sentAs:"StorageClass",type:"adapter"},Date:{sentAs:"Date"},Days:{type:"number",sentAs:"Days"}}}},Expiration:{type:"object",sentAs:"Expiration",parameters:{Date:{sentAs:"Date"},Days:{type:"number",sentAs:"Days"}}},AbortIncompleteMultipartUpload:{type:"object",sentAs:"AbortIncompleteMultipartUpload",parameters:{DaysAfterInitiation:{type:"number",sentAs:"DaysAfterInitiation"}}},NoncurrentVersionTransitions:{type:"array",sentAs:"NoncurrentVersionTransition",items:{type:"object",parameters:{StorageClass:{sentAs:"StorageClass",type:"adapter"},NoncurrentDays:{type:"number",sentAs:"NoncurrentDays"}}}},NoncurrentVersionExpiration:{type:"object",sentAs:"NoncurrentVersionExpiration",parameters:{NoncurrentDays:{type:"number",sentAs:"NoncurrentDays"}}}}}},redirectAllRequestsTo$1={type:"object",location:"xml",sentAs:"RedirectAllRequestsTo",parameters:{HostName:{sentAs:"HostName"},Protocol:{sentAs:"Protocol"}}},routingRules$1={type:"array",wrapper:"RoutingRules",location:"xml",sentAs:"RoutingRule",items:{type:"object",parameters:{Condition:{type:"object",sentAs:"Condition",parameters:{HttpErrorCodeReturnedEquals:{sentAs:"HttpErrorCodeReturnedEquals"},KeyPrefixEquals:{sentAs:"KeyPrefixEquals"}}},Redirect:{type:"object",sentAs:"Redirect",parameters:{HostName:{sentAs:"HostName"},HttpRedirectCode:{sentAs:"HttpRedirectCode"},Protocol:{sentAs:"Protocol"},ReplaceKeyPrefixWith:{sentAs:"ReplaceKeyPrefixWith"},ReplaceKeyWith:{sentAs:"ReplaceKeyWith"}}}}}},indexDocument$1={type:"object",location:"xml",sentAs:"IndexDocument",parameters:{Suffix:{sentAs:"Suffix"}}},errorDocument$1={type:"object",location:"xml",sentAs:"ErrorDocument",parameters:{Key:{sentAs:"Key"}}},corsRule$1={required:!0,type:"array",location:"xml",sentAs:"CORSRule",items:{type:"object",parameters:{ID:{sentAs:"ID"},AllowedMethod:{type:"array",sentAs:"AllowedMethod",items:{type:"string"}},AllowedOrigin:{type:"array",sentAs:"AllowedOrigin",items:{type:"string"}},AllowedHeader:{type:"array",sentAs:"AllowedHeader",items:{type:"string"}},MaxAgeSeconds:{type:"number",sentAs:"MaxAgeSeconds"},ExposeHeader:{type:"array",sentAs:"ExposeHeader",items:{type:"string"}}}}},functionGraphConfiguration$1={type:"array",location:"xml",sentAs:"FunctionGraphConfiguration",items:{type:"object",location:"xml",parameters:{ID:{sentAs:"Id"},Filter:{type:"object",parameters:{FilterRules:{wrapper:"Object",type:"array",sentAs:"FilterRule",items:{type:"object",parameters:{Name:{},Value:{}}}}}},FunctionGraph:{},Event:{type:"array",items:{type:"adapter"}}}}},topicConfiguration$1={type:"array",location:"xml",sentAs:"TopicConfiguration",items:{type:"object",location:"xml",parameters:{ID:{sentAs:"Id"},Filter:{type:"object",parameters:{FilterRules:{wrapper:"Object",type:"array",sentAs:"FilterRule",items:{type:"object",parameters:{Name:{},Value:{}}}}}},Topic:{},Event:{type:"array",items:{type:"adapter"}}}}},functionStageConfiguration$1={type:"array",location:"xml",sentAs:"FunctionStageConfiguration",items:{type:"object",location:"xml",parameters:{ID:{sentAs:"Id"},Filter:{type:"object",parameters:{FilterRules:{wrapper:"Object",type:"array",sentAs:"FilterRule",items:{type:"object",parameters:{Name:{},Value:{}}}}}},FunctionStage:{},Event:{type:"array",items:{type:"adapter"}}}}},tagSet$1={required:!0,type:"array",location:"xml",wrapper:"TagSet",sentAs:"Tag",items:{type:"object",parameters:{Key:{sentAs:"Key"},Value:{sentAs:"Value"}}}},replicationRules$1={required:!0,type:"array",location:"xml",sentAs:"Rule",items:{type:"object",parameters:{ID:{sentAs:"ID"},Prefix:{sentAs:"Prefix"},Status:{sentAs:"Status"},Destination:{type:"object",sentAs:"Destination",parameters:{Bucket:{sentAs:"Bucket",type:"adapter"},StorageClass:{sentAs:"StorageClass",type:"adapter"},DeleteData:{sentAs:"DeleteData",type:"string"}}},HistoricalObjectReplication:{sentAs:"HistoricalObjectReplication"}}}},bucketEncryptionRule$1={type:"object",location:"xml",sentAs:"Rule",parameters:{ApplyServerSideEncryptionByDefault:{type:"object",sentAs:"ApplyServerSideEncryptionByDefault",parameters:{SSEAlgorithm:{sentAs:"SSEAlgorithm"},KMSMasterKeyID:{sentAs:"KMSMasterKeyID"},ProjectID:{sentAs:"ProjectID"}}}}},InventoryConfiguration$1={type:"object",location:"xml",sentAs:"InventoryConfiguration",parameters:{Id:{sentAs:"Id"},IsEnabled:{sentAs:"IsEnabled"},Filter:{type:"object",sentAs:"Filter",parameters:{Prefix:{sentAs:"Prefix"}}},Destination:{type:"object",sentAs:"Destination",parameters:{Format:{sentAs:"Format"},Bucket:{sentAs:"Bucket"},Prefix:{sentAs:"Prefix"},Encryption:{type:"object",sentAs:"Encryption",parameters:{"SSE-KMS":{type:"object",sentAs:"SSE-KMS",parameters:{KeyId:{sentAs:"KeyId",type:"adapter"}}}}}}},Schedule:{type:"object",sentAs:"Schedule",parameters:{Frequency:{sentAs:"Frequency"}}},IncludedObjectVersions:{sentAs:"IncludedObjectVersions"},OptionalFields:{type:"object",location:"xml",sentAs:"OptionalFields",parameters:{Field:{type:"array",sentAs:"Field",items:{type:"string"}}}}}},CDNNotifyConfiguration$1={location:"xml",sentAs:"Domain",type:"array",items:{type:"object",parameters:{Name:{type:"string",sentAs:"Name"},Event:{type:"array",items:{type:"adapter"},sentAs:"Event"}}}},operations$1={HeadBucket:{httpMethod:"HEAD",parameters:{Bucket:{required:!0,location:"uri"}}},HeadApiVersion:{httpMethod:"HEAD",urlPath:"apiversion",parameters:{Bucket:{location:"uri"}}},HeadApiVersionOutput:{parameters:{ApiVersion:{location:"header",sentAs:"x-obs-api"}}},CreateBucket:{httpMethod:"PUT",data:{xmlRoot:"CreateBucketConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0},StorageType:{location:"header",sentAs:"storage-class",withPrefix:!0},FileInterface:{location:"header",sentAs:"fs-file-interface",withPrefix:!0},Type:{location:"header",sentAs:"bucket-type",withPrefix:!0},MultiAz:{location:"header",sentAs:"az-redundancy",withPrefix:!0},Cluster:{location:"header",sentAs:"location-clustergroup-id",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadACP:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWrite:{location:"header",sentAs:"grant-write",withPrefix:!0},GrantWriteACP:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},ClusterType:{location:"header",sentAs:"cluster-type",withPrefix:!0},MultiEnterprise:{location:"header",sentAs:"epid",withPrefix:!0},Location:{location:"xml",sentAs:"Location"}}},GetBucketMetadata:{httpMethod:"HEAD",parameters:{Bucket:{required:!0,location:"uri"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"}}},GetBucketMetadataOutput:{parameters:{StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},ObsVersion:{location:"header",sentAs:"version",withPrefix:!0},Location:{location:"header",sentAs:"bucket-location",withPrefix:!0},FileInterface:{location:"header",sentAs:"fs-file-interface",withPrefix:!0},Type:{location:"header",sentAs:"bucket-type",withPrefix:!0},MultiAz:{location:"header",sentAs:"az-redundancy",withPrefix:!0},Cluster:{location:"header",sentAs:"location-clustergroup-id",withPrefix:!0},MultiEnterprise:{location:"header",sentAs:"epid",withPrefix:!0},ClusterType:{location:"header",sentAs:"cluster-type",withPrefix:!0},AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"}}},DeleteBucket:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"}}},ListBuckets:{httpMethod:"GET",parameters:{Type:{sentAs:"x-obs-bucket-type",location:"header"},Location:{sentAs:"location",location:"header",withPrefix:!0}}},ListBucketsOutput:{data:{type:"xml",xmlRoot:"ListAllMyBucketsResult"},parameters:{Buckets:{location:"xml",sentAs:"Bucket",type:"array",wrapper:"Buckets",items:{type:"object",location:"xml",sentAs:"Bucket",parameters:{Name:{sentAs:"Name"},CreationDate:{sentAs:"CreationDate"},Location:{sentAs:"Location"},ClusterType:{sentAs:"ClusterType"}}}},Owner:{type:"object",location:"xml",sentAs:"Owner",parameters:{ID:{sentAs:"ID"},DisplayName:{sentAs:"DisplayName"}}}}},ListObjects:{httpMethod:"GET",parameters:{Bucket:{required:!0,location:"uri"},Prefix:{location:"urlPath",sentAs:"prefix"},Marker:{location:"urlPath",sentAs:"marker"},MaxKeys:{type:"number",location:"urlPath",sentAs:"max-keys"},Delimiter:{location:"urlPath",sentAs:"delimiter"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListObjectsOutput:{data:{type:"xml",xmlRoot:"ListBucketResult"},parameters:{Location:{location:"header",sentAs:"bucket-location",withPrefix:!0},Bucket:{location:"xml",sentAs:"Name"},Delimiter:{decode:!0,location:"xml",sentAs:"Delimiter"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},Prefix:{decode:!0,location:"xml",sentAs:"Prefix"},Marker:{decode:!0,location:"xml",sentAs:"Marker"},NextMarker:{decode:!0,location:"xml",sentAs:"NextMarker"},MaxKeys:{location:"xml",sentAs:"MaxKeys"},EncodingType:{location:"xml",sentAs:"EncodingType"},Contents:{type:"array",location:"xml",sentAs:"Contents",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},LastModified:{sentAs:"LastModified"},ETag:{sentAs:"ETag"},Size:{sentAs:"Size"},Type:{sentAs:"Type"},StorageClass:{sentAs:"StorageClass"},Owner:owner$1}}},CommonPrefixes:commonPrefixes$1}},ListVersions:{httpMethod:"GET",urlPath:"versions",parameters:{Bucket:{required:!0,location:"uri"},Prefix:{location:"urlPath",sentAs:"prefix"},KeyMarker:{location:"urlPath",sentAs:"key-marker"},MaxKeys:{type:"number",location:"urlPath",sentAs:"max-keys"},Delimiter:{location:"urlPath",sentAs:"delimiter"},VersionIdMarker:{location:"urlPath",sentAs:"version-id-marker"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListVersionsOutput:{data:{type:"xml",xmlRoot:"ListVersionsResult"},parameters:{EncodingType:{location:"xml",sentAs:"EncodingType"},Location:{location:"header",sentAs:"bucket-location",withPrefix:!0},Bucket:{location:"xml",sentAs:"Name"},Prefix:{decode:!0,location:"xml",sentAs:"Prefix"},Delimiter:{decode:!0,location:"xml",sentAs:"Delimiter"},KeyMarker:{decode:!0,location:"xml",sentAs:"KeyMarker"},VersionIdMarker:{location:"xml",sentAs:"VersionIdMarker"},NextKeyMarker:{decode:!0,location:"xml",sentAs:"NextKeyMarker"},NextVersionIdMarker:{location:"xml",sentAs:"NextVersionIdMarker"},MaxKeys:{location:"xml",sentAs:"MaxKeys"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},Versions:{type:"array",location:"xml",sentAs:"Version",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},IsLatest:{sentAs:"IsLatest"},LastModified:{sentAs:"LastModified"},ETag:{sentAs:"ETag"},Size:{sentAs:"Size"},Type:{sentAs:"Type"},Owner:owner$1,StorageClass:{sentAs:"StorageClass"}}}},DeleteMarkers:{type:"array",location:"xml",sentAs:"DeleteMarker",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},IsLatest:{sentAs:"IsLatest"},LastModified:{sentAs:"LastModified"},Owner:owner$1}}},CommonPrefixes:commonPrefixes$1}},PutBackToSource:{httpMethod:"PUT",data:{xmlRoot:"BackToSourceConfiguration"},urlPath:"backtosource",parameters:{Bucket:{required:!0,location:"uri"},BackToSourceRules:BackToSourceRules$1,ContentMD5:{location:"header",sentAs:"Content-MD5"}}},DeleteBackToSource:{httpMethod:"DELETE",urlPath:"backtosource",parameters:{Bucket:{required:!0,location:"uri"}}},GetBackToSource:{httpMethod:"GET",urlPath:"backtosource",parameters:{Bucket:{required:!0,location:"uri"}}},GetBackToSourceOutput:{data:{type:"xml",xmlRoot:"BackToSourceConfiguration"},parameters:{BackToSourceRules:BackToSourceRules$1}},GetBucketLocation:{httpMethod:"GET",urlPath:"location",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketLocationOutput:{data:{type:"xml"},parameters:{Location:{location:"xml",sentAs:"Location"}}},GetBucketStorageInfo:{httpMethod:"GET",urlPath:"storageinfo",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketStorageInfoOutput:{data:{type:"xml",xmlRoot:"GetBucketStorageInfoResult"},parameters:{Size:{location:"xml",sentAs:"Size"},ObjectNumber:{location:"xml",sentAs:"ObjectNumber"}}},SetBucketQuota:{httpMethod:"PUT",urlPath:"quota",data:{xmlRoot:"Quota"},parameters:{Bucket:{required:!0,location:"uri"},StorageQuota:{required:!0,location:"xml",sentAs:"StorageQuota"}}},GetBucketQuota:{httpMethod:"GET",urlPath:"quota",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketQuotaOutput:{data:{type:"xml",xmlRoot:"Quota"},parameters:{StorageQuota:{location:"xml",sentAs:"StorageQuota"}}},SetBucketAcl:{httpMethod:"PUT",urlPath:"acl",data:{xmlRoot:"AccessControlPolicy"},parameters:{Bucket:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},Owner:owner$1,Grants:grants$1}},GetBucketInventory:{httpMethod:"GET",urlPath:"inventory",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketInventoryOutput:{data:{type:"xml",xmlRoot:"ListInventoryConfiguration"},parameters:{Rules:{type:"array",location:"xml",sentAs:"InventoryConfiguration",items:{type:"object",parameters:{Id:{sentAs:"Id"},IsEnabled:{sentAs:"IsEnabled"},Filter:{type:"object",sentAs:"Filter",parameters:{Prefix:{sentAs:"Prefix"}}},Destination:{type:"object",sentAs:"Destination",parameters:{Format:{sentAs:"Format"},Bucket:{sentAs:"Bucket"},Prefix:{sentAs:"Prefix"}}},Schedule:{type:"object",sentAs:"Schedule",parameters:{Frequency:{sentAs:"Frequency"}}},IncludedObjectVersions:{sentAs:"IncludedObjectVersions"},OptionalFields:{type:"object",location:"xml",sentAs:"OptionalFields",parameters:{Field:{type:"array",sentAs:"Field",items:{type:"string"}}}},LastExportTime:{sentAs:"LastExportTime"}}}}}},SetBucketInventory:{httpMethod:"PUT",urlPath:"inventory",parameters:{Bucket:{required:!0,location:"uri"},Id:{location:"urlPath",sentAs:"id"},InventoryConfiguration:InventoryConfiguration$1}},SetBucketInventoryOutput:{data:{type:"xml",xmlRoot:"InventoryConfiguration"},parameters:{InventoryConfiguration:InventoryConfiguration$1}},DeleteBucketInventory:{httpMethod:"DELETE",urlPath:"inventory",parameters:{Bucket:{required:!0,location:"uri"},Id:{location:"urlPath",sentAs:"id"}}},DeleteBucketInventoryOutput:{data:{type:"xml",xmlRoot:"InventoryConfiguration"},parameters:{InventoryConfiguration:InventoryConfiguration$1}},GetBucketAcl:{httpMethod:"GET",urlPath:"acl",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketAclOutput:{data:{type:"xml",xmlRoot:"AccessControlPolicy"},parameters:{Owner:owner$1,Grants:grants$1}},SetBucketLoggingConfiguration:{httpMethod:"PUT",urlPath:"logging",data:{xmlRoot:"BucketLoggingStatus",xmlAllowEmpty:!0},parameters:{Bucket:{required:!0,location:"uri"},Agency:{location:"xml",sentAs:"Agency"},LoggingEnabled:loggingEnabled$1}},GetBucketLoggingConfiguration:{httpMethod:"GET",urlPath:"logging",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketLoggingConfigurationOutput:{data:{type:"xml",xmlRoot:"BucketLoggingStatus"},parameters:{Agency:{location:"xml",sentAs:"Agency"},LoggingEnabled:loggingEnabled$1}},SetSFSAcl:{httpMethod:"PUT",urlPath:"sfsacl",parameters:{Bucket:{required:!0,location:"uri"},Policy:{required:!0,location:"body"}}},GetSFSAcl:{httpMethod:"GET",urlPath:"sfsacl",parameters:{Bucket:{required:!0,location:"uri"}}},GetSFSAclOutput:{data:{type:"body"},parameters:{Policy:{location:"body"}}},DeleteSFSAcl:{httpMethod:"DELETE",urlPath:"sfsacl",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketPolicy:{httpMethod:"PUT",urlPath:"policy",parameters:{Bucket:{required:!0,location:"uri"},Policy:{required:!0,location:"body"}}},GetBucketPolicy:{httpMethod:"GET",urlPath:"policy",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketPolicyOutput:{data:{type:"body"},parameters:{Policy:{location:"body"}}},DeleteBucketPolicy:{httpMethod:"DELETE",urlPath:"policy",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketDisPolicy:{httpMethod:"PUT",urlPath:"disPolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},Rules:{required:!0,location:"body"}}},GetBucketDisPolicy:{httpMethod:"GET",urlPath:"disPolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},ContentType:{location:"header",sentAs:"Content-Type"}}},GetBucketDisPolicyOutput:{data:{type:"body"},parameters:{Rules:{location:"body"}}},DeleteBucketDisPolicy:{httpMethod:"DELETE",urlPath:"disPolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},SetBucketLifecycleConfiguration:{httpMethod:"PUT",urlPath:"lifecycle",data:{xmlRoot:"LifecycleConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Rules:rules$1}},GetBucketLifecycleConfiguration:{httpMethod:"GET",urlPath:"lifecycle",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketLifecycleConfigurationOutput:{data:{type:"xml",xmlRoot:"LifecycleConfiguration"},parameters:{Rules:rules$1}},DeleteBucketLifecycleConfiguration:{httpMethod:"DELETE",urlPath:"lifecycle",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketWebsiteConfiguration:{httpMethod:"PUT",urlPath:"website",data:{xmlRoot:"WebsiteConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},RedirectAllRequestsTo:redirectAllRequestsTo$1,IndexDocument:indexDocument$1,ErrorDocument:errorDocument$1,RoutingRules:routingRules$1}},GetBucketWebsiteConfiguration:{httpMethod:"GET",urlPath:"website",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketWebsiteConfigurationOutput:{data:{type:"xml",xmlRoot:"WebsiteConfiguration"},parameters:{RedirectAllRequestsTo:redirectAllRequestsTo$1,IndexDocument:indexDocument$1,ErrorDocument:errorDocument$1,RoutingRules:routingRules$1}},DeleteBucketWebsiteConfiguration:{httpMethod:"DELETE",urlPath:"website",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketVersioningConfiguration:{httpMethod:"PUT",urlPath:"versioning",data:{xmlRoot:"VersioningConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},VersionStatus:{required:!0,location:"xml",sentAs:"Status"}}},GetBucketVersioningConfiguration:{httpMethod:"GET",urlPath:"versioning",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketVersioningConfigurationOutput:{data:{type:"xml",xmlRoot:"VersioningConfiguration"},parameters:{VersionStatus:{location:"xml",sentAs:"Status"}}},SetBucketCors:{httpMethod:"PUT",urlPath:"cors",data:{xmlRoot:"CORSConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},CorsRules:corsRule$1}},GetBucketCors:{httpMethod:"GET",urlPath:"cors",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketCorsOutput:{data:{type:"xml",xmlRoot:"CORSConfiguration"},parameters:{CorsRules:corsRule$1}},DeleteBucketCors:{httpMethod:"DELETE",urlPath:"cors",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketNotification:{httpMethod:"PUT",urlPath:"notification",data:{xmlRoot:"NotificationConfiguration",xmlAllowEmpty:!0},parameters:{Bucket:{required:!0,location:"uri"},TopicConfigurations:topicConfiguration$1,FunctionGraphConfigurations:functionGraphConfiguration$1,FunctionStageConfigurations:functionStageConfiguration$1}},GetBucketNotification:{httpMethod:"GET",urlPath:"notification",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketNotificationOutput:{data:{type:"xml",xmlRoot:"NotificationConfiguration"},parameters:{RequestId:{location:"header",sentAs:"x-obs-request-id"},TopicConfigurations:topicConfiguration$1,FunctionGraphConfigurations:functionGraphConfiguration$1,FunctionStageConfigurations:functionStageConfiguration$1}},SetBucketTagging:{httpMethod:"PUT",urlPath:"tagging",data:{xmlRoot:"Tagging",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Tags:tagSet$1}},DeleteBucketTagging:{httpMethod:"DELETE",urlPath:"tagging",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketTagging:{httpMethod:"GET",urlPath:"tagging",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketTaggingOutput:{data:{type:"xml",xmlRoot:"Tagging"},parameters:{Tags:tagSet$1}},SetBucketStoragePolicy:{httpMethod:"PUT",urlPath:"storageClass",parameters:{Bucket:{required:!0,location:"uri"},StorageClass:{required:!0,location:"xml",type:"adapter",sentAs:"StorageClass"}}},GetBucketStoragePolicy:{httpMethod:"GET",urlPath:"storageClass",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketStoragePolicyOutput:{data:{type:"xml"},parameters:{StorageClass:{location:"xml",type:"string",sentAs:"StorageClass"}}},SetBucketReplication:{httpMethod:"PUT",urlPath:"replication",data:{xmlRoot:"ReplicationConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Agency:{location:"xml",sentAs:"Agency"},Rules:replicationRules$1}},GetBucketReplication:{httpMethod:"GET",urlPath:"replication",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketReplicationOutput:{data:{type:"xml",xmlRoot:"ReplicationConfiguration"},parameters:{Agency:{location:"xml",sentAs:"Agency"},Rules:replicationRules$1}},DeleteBucketReplication:{httpMethod:"DELETE",urlPath:"replication",parameters:{Bucket:{required:!0,location:"uri"}}},PutObject:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ContentMD5:{location:"header",sentAs:"Content-MD5"},ContentType:{location:"header",sentAs:"Content-Type"},Offset:{type:"plain"},ContentLength:{location:"header",sentAs:"Content-Length",type:"plain"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition",encodingSafe:' ;/?:@&=+$,"'},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},Expires:{location:"header",sentAs:"expires",type:"number",withPrefix:!0},SuccessActionRedirect:{location:"header",sentAs:"success-action-redirect"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},Body:{location:"body"},SourceFile:{type:"srcFile"},ProgressCallback:{type:"plain"}}},PutObjectOutput:{parameters:{ETag:{location:"header",sentAs:"etag"},VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},AppendObject:{httpMethod:"POST",urlPath:"append",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},Position:{location:"urlPath",sentAs:"position",type:"number"},ContentMD5:{location:"header",sentAs:"Content-MD5"},ContentType:{location:"header",sentAs:"Content-Type"},Offset:{type:"plain"},ContentLength:{location:"header",sentAs:"Content-Length",type:"plain"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},Expires:{location:"header",sentAs:"expires",type:"number",withPrefix:!0},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},Body:{location:"body"},SourceFile:{type:"srcFile"},ProgressCallback:{type:"plain"}}},AppendObjectOutput:{parameters:{ETag:{location:"header",sentAs:"etag"},NextPosition:{location:"header",sentAs:"next-append-position",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},GetObject:{httpMethod:"GET",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ResponseCacheControl:{location:"urlPath",sentAs:"response-cache-control"},ResponseContentDisposition:{location:"urlPath",sentAs:"response-content-disposition"},ResponseContentEncoding:{location:"urlPath",sentAs:"response-content-encoding"},ResponseContentLanguage:{location:"urlPath",sentAs:"response-content-language"},ResponseContentType:{location:"urlPath",sentAs:"response-content-type"},ResponseExpires:{location:"urlPath",sentAs:"response-expires"},VersionId:{location:"urlPath",sentAs:"versionId"},ImageProcess:{location:"urlPath",sentAs:"x-image-process"},IfMatch:{location:"header",sentAs:"If-Match"},IfModifiedSince:{location:"header",sentAs:"If-Modified-Since"},IfNoneMatch:{location:"header",sentAs:"If-None-Match"},IfUnmodifiedSince:{location:"header",sentAs:"If-Unmodified-Since"},Range:{location:"header",sentAs:"Range"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"},SaveByType:{type:"dstFile"},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},ProgressCallback:{type:"plain"}}},GetObjectOutput:{data:{type:"body"},parameters:{Content:{location:"body"},Expiration:{location:"header",sentAs:"expiration",withPrefix:!0},ETag:{location:"header",sentAs:"etag"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentType:{location:"header",sentAs:"Content-Type"},Expires:{location:"header",sentAs:"Expires"},VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},ContentLength:{location:"header",sentAs:"Content-Length"},DeleteMarker:{location:"header",sentAs:"delete-marker",withPrefix:!0},LastModified:{location:"header",sentAs:"Last-Modified"},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},Restore:{location:"header",sentAs:"restore",withPrefix:!0},AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0},Metadata:{location:"header",type:"object",sentAs:"meta-",withPrefix:!0}}},CopyObject:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},CopySource:{required:!0,location:"header",sentAs:"copy-source",withPrefix:!0,skipEncoding:!0},CopySourceIfMatch:{location:"header",sentAs:"copy-source-if-match",withPrefix:!0},CopySourceIfModifiedSince:{location:"header",sentAs:"copy-source-if-modified-since",withPrefix:!0},CopySourceIfNoneMatch:{location:"header",sentAs:"copy-source-if-none-match",withPrefix:!0},CopySourceIfUnmodifiedSince:{location:"header",sentAs:"copy-source-if-unmodified-since",withPrefix:!0},ContentType:{location:"header",sentAs:"Content-Type"},ContentEncoding:{location:"header",sentAs:"content-encoding"},ContentLanguage:{location:"header",sentAs:"content-language"},ContentDisposition:{location:"header",sentAs:"content-disposition"},CacheControl:{location:"header",sentAs:"cache-control"},Expires:{location:"header",sentAs:"expires"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},MetadataDirective:{location:"header",sentAs:"metadata-directive",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},SuccessActionRedirect:{location:"header",sentAs:"success-action-redirect"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},CopySourceSseC:{location:"header",sentAs:"copy-source-server-side-encryption-customer-algorithm",withPrefix:!0},CopySourceSseCKey:{location:"header",sentAs:"copy-source-server-side-encryption-customer-key",type:"password",withPrefix:!0}}},CopyObjectOutput:{data:{type:"xml",xmlRoot:"CopyObjectResult"},parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},CopySourceVersionId:{location:"header",sentAs:"copy-source-version-id",withPrefix:!0},ETag:{location:"xml",sentAs:"ETag"},LastModified:{location:"xml",sentAs:"LastModified"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},RestoreObject:{httpMethod:"POST",urlPath:"restore",data:{xmlRoot:"RestoreRequest",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},Days:{location:"xml",sentAs:"Days"},Tier:{wrapper:"RestoreJob",location:"xml",sentAs:"Tier"}}},GetObjectMetadata:{httpMethod:"HEAD",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0}}},GetObjectMetadataOutput:{parameters:{Expiration:{location:"header",sentAs:"expiration",withPrefix:!0},LastModified:{location:"header",sentAs:"Last-Modified"},ContentLength:{location:"header",sentAs:"Content-Length"},ContentType:{location:"header",sentAs:"Content-Type"},ETag:{location:"header",sentAs:"etag"},VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},Restore:{location:"header",sentAs:"restore",withPrefix:!0},ObjectType:{location:"header",sentAs:"x-obs-object-type"},NextPosition:{location:"header",sentAs:"x-obs-next-append-position"},AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"x-obs-server-side-encryption-kms-key-id"},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0},Metadata:{location:"header",type:"object",sentAs:"meta-",withPrefix:!0},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition"},Expires:{location:"header",sentAs:"Expires"},ReplicationStatus:{location:"header",sentAs:"replication-status",withPrefix:!0}}},SetObjectMetadata:{httpMethod:"PUT",urlPath:"metadata",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition",encodingSafe:' ;/?:@&=+$,"'},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},ContentType:{location:"header",sentAs:"Content-Type"},Expires:{location:"header",sentAs:"Expires"},Metadata:{shape:"Sy",location:"header",type:"object",sentAs:"meta-",withPrefix:!0},MetadataDirective:{location:"header",sentAs:"metadata-directive",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0}}},SetObjectMetadataOutput:{parameters:{Expires:{location:"header",sentAs:"Expires"},ContentLength:{location:"header",sentAs:"Content-Length"},ContentType:{location:"header",sentAs:"Content-Type"},ContentLanguage:{location:"header",sentAs:"Content-Language"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition"},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{location:"header",type:"object",sentAs:"meta-",withPrefix:!0}}},SetObjectAcl:{httpMethod:"PUT",urlPath:"acl",data:{xmlRoot:"AccessControlPolicy"},parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},Delivered:{location:"xml",sentAs:"Delivered"},Owner:owner$1,Grants:grants$1}},SetObjectAclOutput:{parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0}}},GetObjectAcl:{httpMethod:"GET",urlPath:"acl",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"}}},GetObjectAclOutput:{data:{type:"xml",xmlRoot:"AccessControlPolicy"},parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},Delivered:{location:"xml",sentAs:"Delivered"},Owner:owner$1,Grants:grants$1}},DeleteObject:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"}}},DeleteObjectOutput:{parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},DeleteMarker:{location:"header",sentAs:"delete-marker",withPrefix:!0}}},DeleteObjects:{httpMethod:"POST",urlPath:"delete",data:{xmlRoot:"Delete",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Quiet:{location:"xml",sentAs:"Quiet"},EncodingType:{location:"xml",sentAs:"EncodingType"},Objects:{required:!0,type:"array",location:"xml",sentAs:"Object",items:{type:"object",parameters:{Key:{sentAs:"Key"},VersionId:{sentAs:"VersionId"}}}}}},DeleteObjectsOutput:{data:{type:"xml",xmlRoot:"DeleteResult"},EncodingType:{location:"xml",sentAs:"EncodingType"},parameters:{Deleteds:{type:"array",location:"xml",sentAs:"Deleted",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},DeleteMarker:{sentAs:"DeleteMarker"},DeleteMarkerVersionId:{sentAs:"DeleteMarkerVersionId"}}}},Errors:{type:"array",location:"xml",sentAs:"Error",items:{type:"object",parameters:{Key:{sentAs:"Key"},VersionId:{sentAs:"VersionId"},Code:{sentAs:"Code"},Message:{sentAs:"Message"}}}}}},InitiateMultipartUpload:{httpMethod:"POST",urlPath:"uploads",parameters:{EncodingType:{location:"urlPath",sentAs:"encoding-type"},Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},Expires:{location:"header",sentAs:"expires",type:"number",withPrefix:!0},ContentType:{location:"header",sentAs:"Content-Type"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0}}},InitiateMultipartUploadOutput:{data:{type:"xml",xmlRoot:"InitiateMultipartUploadResult"},parameters:{EncodingType:{location:"xml",sentAs:"EncodingType"},Bucket:{location:"xml",sentAs:"Bucket"},Key:{location:"xml",sentAs:"Key"},UploadId:{location:"xml",sentAs:"UploadId"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},ListMultipartUploads:{httpMethod:"GET",urlPath:"uploads",parameters:{Bucket:{required:!0,location:"uri"},Delimiter:{location:"urlPath",sentAs:"delimiter"},KeyMarker:{location:"urlPath",sentAs:"key-marker"},MaxUploads:{type:"number",location:"urlPath",sentAs:"max-uploads"},Prefix:{location:"urlPath",sentAs:"prefix"},UploadIdMarker:{location:"urlPath",sentAs:"upload-id-marker"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListMultipartUploadsOutput:{data:{type:"xml",xmlRoot:"ListMultipartUploadsResult"},parameters:{Bucket:{location:"xml",sentAs:"Bucket"},KeyMarker:{decode:!0,location:"xml",sentAs:"KeyMarker"},UploadIdMarker:{location:"xml",sentAs:"UploadIdMarker"},NextKeyMarker:{decode:!0,location:"xml",sentAs:"NextKeyMarker"},Prefix:{decode:!0,location:"xml",sentAs:"Prefix"},Delimiter:{decode:!0,location:"xml",sentAs:"Delimiter"},NextUploadIdMarker:{location:"xml",sentAs:"NextUploadIdMarker"},MaxUploads:{location:"xml",sentAs:"MaxUploads"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},EncodingType:{location:"xml",sentAs:"EncodingType"},Uploads:{type:"array",location:"xml",sentAs:"Upload",items:{type:"object",parameters:{UploadId:{sentAs:"UploadId"},Key:{decode:!0,sentAs:"Key"},Initiated:{sentAs:"Initiated"},StorageClass:{sentAs:"StorageClass"},Owner:owner$1,Initiator:initiator$1}}},CommonPrefixes:commonPrefixes$1}},UploadPart:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},PartNumber:{required:!0,type:"number",location:"urlPath",sentAs:"partNumber"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},ContentMD5:{location:"header",sentAs:"Content-MD5"},Body:{location:"body"},SourceFile:{type:"srcFile"},Offset:{type:"plain"},PartSize:{type:"plain"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},ProgressCallback:{type:"plain"}}},UploadPartOutput:{parameters:{ETag:{location:"header",sentAs:"etag"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},ListParts:{httpMethod:"GET",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},MaxParts:{type:"number",location:"urlPath",sentAs:"max-parts"},PartNumberMarker:{type:"number",location:"urlPath",sentAs:"part-number-marker"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListPartsOutput:{data:{type:"xml",xmlRoot:"ListPartsResult"},parameters:{Bucket:{location:"xml",sentAs:"Bucket"},Key:{decode:!0,location:"xml",sentAs:"Key"},UploadId:{location:"xml",sentAs:"UploadId"},PartNumberMarker:{location:"xml",sentAs:"PartNumberMarker"},NextPartNumberMarker:{location:"xml",sentAs:"NextPartNumberMarker"},MaxParts:{location:"xml",sentAs:"MaxParts"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},StorageClass:{location:"xml",sentAs:"StorageClass"},EncodingType:{location:"urlPath",sentAs:"EncodingType"},Initiator:initiator$1,Owner:owner$1,Parts:{type:"array",location:"xml",sentAs:"Part",items:{type:"object",parameters:{PartNumber:{sentAs:"PartNumber"},LastModified:{sentAs:"LastModified"},ETag:{sentAs:"ETag"},Size:{sentAs:"Size"}}}}}},CopyPart:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},PartNumber:{required:!0,location:"urlPath",sentAs:"partNumber",type:"number"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},CopySource:{required:!0,location:"header",sentAs:"copy-source",skipEncoding:!0,withPrefix:!0},CopySourceRange:{location:"header",sentAs:"copy-source-range",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},CopySourceSseC:{location:"header",sentAs:"copy-source-server-side-encryption-customer-algorithm",withPrefix:!0},CopySourceSseCKey:{location:"header",sentAs:"copy-source-server-side-encryption-customer-key",type:"password",withPrefix:!0}}},CopyPartOutput:{data:{type:"xml",xmlRoot:"CopyPartResult"},parameters:{LastModified:{location:"xml",sentAs:"LastModified"},ETag:{location:"xml",sentAs:"ETag"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},AbortMultipartUpload:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"}}},CompleteMultipartUpload:{httpMethod:"POST",data:{xmlRoot:"CompleteMultipartUpload"},parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},EncodingType:{location:"urlPath",sentAs:"encoding-type"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},Parts:{required:!0,type:"array",location:"xml",sentAs:"Part",items:{type:"object",parameters:{PartNumber:{sentAs:"PartNumber"},ETag:{sentAs:"ETag"}}}},Callback:{location:"header",sentAs:"callback",withPrefix:!0,type:"callback",parameters:{CallbackUrl:{required:!0},CallbackBody:{required:!0},CallbackHost:{},CallbackBodyType:{}}}}},CompleteMultipartUploadOutput:{data:{type:"xml",xmlRoot:"CompleteMultipartUploadResult"},parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},Location:{location:"xml",sentAs:"Location"},EncodingType:{location:"xml",sentAs:"EncodingType"},Bucket:{location:"xml",sentAs:"Bucket"},Key:{decode:!0,location:"xml",sentAs:"Key"},ETag:{location:"xml",sentAs:"ETag"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}},CallbackResponse:{location:"body",sentAs:"CallbackResponseBody"}},OptionsBucket:{httpMethod:"OPTIONS",parameters:{Bucket:{required:!0,location:"uri"},Origin:{required:!0,location:"header",sentAs:"Origin"},AccessControlRequestMethods:{required:!0,type:"array",location:"header",sentAs:"Access-Control-Request-Method",items:{type:"string"}},AccessControlRequestHeaders:{type:"array",location:"header",sentAs:"Access-Control-Request-Headers",items:{type:"string"}}}},OptionsBucketOutput:{parameters:{AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"}}},OptionsObject:{httpMethod:"OPTIONS",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},Origin:{required:!0,location:"header",sentAs:"Origin"},AccessControlRequestMethods:{required:!0,type:"array",location:"header",sentAs:"Access-Control-Request-Method",items:{type:"string"}},AccessControlRequestHeaders:{type:"array",location:"header",sentAs:"Access-Control-Request-Headers",items:{type:"string"}}}},OptionsObjectOutput:{parameters:{AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"}}},GetBucketEncryption:{httpMethod:"GET",urlPath:"encryption",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketEncryptionOutput:{data:{type:"xml",xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Rule:{type:"object",location:"xml",sentAs:"Rule",parameters:{ApplyServerSideEncryptionByDefault:{type:"object",sentAs:"ApplyServerSideEncryptionByDefault",parameters:{SSEAlgorithm:{sentAs:"SSEAlgorithm"},KMSMasterKeyID:{sentAs:"KMSMasterKeyID"},ProjectID:{sentAs:"ProjectID"}}}}}}},SetBucketEncryption:{httpMethod:"PUT",urlPath:"encryption",data:{xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},Rule:bucketEncryptionRule$1}},SetBucketEncryptionOutput:{data:{type:"xml",xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Rule:bucketEncryptionRule$1}},DeleteBucketEncryption:{httpMethod:"DELETE",urlPath:"encryption",parameters:{Bucket:{required:!0,location:"uri"}}},DeleteBucketEncryptionOutput:{data:{type:"xml",xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Rule:bucketEncryptionRule$1}},GetBucketRequesterPay:{httpMethod:"GET",urlPath:"requestPayment",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketRequesterPayOutput:{data:{type:"xml",xmlRoot:"RequestPaymentConfiguration"},parameters:{Payer:{location:"xml",sentAs:"Payer"}}},SetBucketRequesterPay:{httpMethod:"PUT",urlPath:"requestPayment",data:{xmlRoot:"RequestPaymentConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},Payer:{location:"xml",sentAs:"Payer"}}},SetBucketRequesterPayOutput:{data:{type:"xml",xmlRoot:"RequestPaymentConfiguration"},parameters:{Payer:{location:"xml",sentAs:"Payer"}}},SetMirrorBackToSource:{httpMethod:"PUT",urlPath:"mirrorBackToSource",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},Rules:{required:!0,location:"body"}}},SetMirrorBackToSourceOutput:{data:{type:"body"},parameters:{Rules:{location:"body"}}},GetMirrorBackToSource:{httpMethod:"GET",urlPath:"mirrorBackToSource",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},GetMirrorBackToSourceOutput:{data:{type:"body"},parameters:{Rules:{location:"body"}}},DeleteMirrorBackToSource:{httpMethod:"DELETE",urlPath:"mirrorBackToSource",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},GetBucketDirectColdAccess:{httpMethod:"GET",urlPath:"directcoldaccess",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketDirectColdAccessOutput:{data:{type:"xml",xmlRoot:"DirectColdAccessConfiguration"},parameters:{Status:{location:"xml",sentAs:"Status"}}},SetBucketDirectColdAccess:{httpMethod:"PUT",urlPath:"directcoldaccess",data:{xmlRoot:"DirectColdAccessConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Status:{required:!0,location:"xml",sentAs:"Status"}}},SetBucketDirectColdAccessOutput:{data:{type:"xml",xmlRoot:"DirectColdAccessConfiguration"},parameters:{Status:{location:"xml",sentAs:"Status"}}},DeleteBucketDirectColdAccess:{httpMethod:"DELETE",urlPath:"directcoldaccess",parameters:{Bucket:{required:!0,location:"uri"}}},DeleteBucketDirectColdAccessOutput:{data:{type:"xml",xmlRoot:"DirectColdAccessConfiguration"},parameters:{Status:{location:"xml",sentAs:"Status"}}},GetBucketCustomDomain:{httpMethod:"GET",urlPath:"customdomain",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketCustomDomainOutput:{data:{type:"xml",xmlRoot:"ListBucketCustomDomainsResult"},parameters:{Domains:{location:"xml",type:"array",sentAs:"Domains",items:{type:"object",parameters:{DomainName:{sentAs:"DomainName"},Value:{sentAs:"CreateTime"}}}}}},SetBucketCustomDomain:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},DomainName:{location:"urlPath",sentAs:"customdomain"}}},DeleteBucketCustomDomain:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"},DomainName:{location:"urlPath",sentAs:"customdomain"}}},GetCDNNotifyConfiguration:{httpMethod:"GET",urlPath:"CDNNotifyConfiguration",parameters:{Bucket:{required:!0,location:"uri"}}},GetCDNNotifyConfigurationOutput:{data:{type:"xml",xmlRoot:"CDNNotifyConfiguration"},parameters:{Domain:{location:"xml",type:"array",sentAs:"Domain",items:{type:"object",parameters:{Name:{sentAs:"Name"},Events:{type:"array",items:{type:"adapter"},sentAs:"Event"}}}}}},SetCdnNotifyConfiguration:{httpMethod:"PUT",urlPath:"CDNNotifyConfiguration",data:{xmlRoot:"CDNNotifyConfiguration",xmlAllowEmpty:!0},parameters:{Bucket:{required:!0,location:"uri"},Domain:CDNNotifyConfiguration$1}},GetQuota:{httpMethod:"GET",urlPath:"quota"},GetQuotaOutput:{data:{type:"xml",xmlRoot:"MaxBucketNumber"},parameters:{Size:{location:"xml",sentAs:"Number"}}},GetWorkflowTrigger:{httpMethod:"GET",urlPath:"obsworkflowtriggerpolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},GetWorkflowTriggerOutput:{data:{type:"body"},parameters:{rules:{location:"body"}}},DeleteWorkflowTrigger:{httpMethod:"DELETE",urlPath:"obsworkflowtriggerpolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},CreateWorkflowTrigger:{httpMethod:"PUT",urlPath:"obsworkflowtriggerpolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},Rule:{required:!0,location:"body"}}},RestoreFailedWorkflowExecution:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},Other_parameter:{required:!0,location:"uri",sentAs:"execution_name"},GraphName:{required:!0,location:"urlPath",sentAs:"x-workflow-graph-name"}}},CreateTemplate:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},Template:{required:!0,location:"body"}}},CreateWorkflow:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},Other_parameter:{required:!0,location:"uri",sentAs:"graph_name"},Workflow_create:{location:"urlPath",sentAs:"x-workflow-create"},Workflow:{required:!0,location:"body"}}},DeleteWorkflow:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"graph_name"}}},UpdateWorkflow:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"graph_name"},Graph_name:{required:!0,location:"body"}}},GetWorkflowList:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"graph_name_prefix"},XObsLimit:{type:"number",location:"urlPath",sentAs:"x-workflow-limit"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"},XObsStart:{type:"number",location:"urlPath",sentAs:"x-workflow-start"}}},GetWorkflowListOutput:{data:{type:"body"},parameters:{workflows:{location:"body"}}},GetWorkflowTemplateList:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"template_name_prefix"},Start:{type:"number",location:"urlPath",sentAs:"x-workflow-start"},Limit:{type:"number",location:"urlPath",sentAs:"x-workflow-limit"},"X-workflow-prefix":{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetWorkflowTemplateListOutput:{data:{type:"body"},parameters:{templates:{location:"body"}}},GetWorkflowInstanceList:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"execution_name_prefix"},Start:{type:"number",location:"urlPath",sentAs:"x-workflow-start"},Limit:{type:"number",location:"urlPath",sentAs:"x-workflow-limit"},Graph_name:{location:"urlPath",sentAs:"x-workflow-graph-name"},State:{location:"urlPath",sentAs:"x-workflow-execution-state"},"X-workflow-prefix":{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetWorkflowInstanceListOutput:{data:{type:"body"},parameters:{instances:{location:"body"}}},DeleteTemplate:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"template_name"}}},GetActionTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"template_name_prefix"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"},XObsCategory:{type:"String",location:"urlPath",sentAs:"x-workflow-category"}}},GetActionTemplatesOutput:{data:{type:"body"},parameters:{actions:{location:"body"}}},GetWorkflowAuthorization:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"}}},GetWorkflowAuthorizationOutput:{data:{type:"body"},parameters:{authorization:{location:"body"}}},OpenWorkflowAuthorization:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"}}},CreateOnlineDecom:{httpMethod:"PUT",urlPath:"obscompresspolicy",parameters:{Bucket:{required:!0,location:"uri"},Decom:{required:!0,location:"body"}}},GetOnlineDecom:{httpMethod:"GET",urlPath:"obscompresspolicy",parameters:{Bucket:{required:!0,location:"uri"}}},GetOnlineDecomOutput:{data:{type:"body"},parameters:{Decom:{location:"body"}}},DeleteOnlineDecom:{httpMethod:"DELETE",urlPath:"obscompresspolicy",parameters:{Bucket:{required:!0,location:"uri"}}},GetPublicationTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name_prefix"},XObsCategory:{location:"urlPath",sentAs:"x-workflow-category"},XObsOtatus:{location:"urlPath",sentAs:"x-workflow-status"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetPublicationTemplatesOutput:{data:{type:"body"},parameters:{PublishedTemplates:{location:"body"}}},GetPublicationTemplateDetail:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"}}},GetPublicationTemplateDetailOutput:{data:{type:"body"},parameters:{PublishTemplate:{location:"body"}}},GetWorkflowAgreements:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},XWorkflowType:{required:!0,location:"urlPath",sentAs:"x-workflow-type"}}},GetWorkflowAgreementsOutput:{data:{type:"body"},parameters:{authorization:{location:"body"}}},OpenWorkflowAgreements:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},XWorkflowType:{required:!0,location:"urlPath",sentAs:"x-workflow-type"}}},CreateMyActionTemplate:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},ActionTemplate:{required:!0,location:"body"}}},CreateMyActionTemplateOutput:{data:{type:"body"},parameters:{ActionTemplate:{location:"body"}}},GetMyActionTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name_prefix"},XObsCategory:{location:"urlPath",sentAs:"x-workflow-category"},XObsOtatus:{location:"urlPath",sentAs:"x-workflow-status"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetMyActionTemplatesOutput:{data:{type:"body"},parameters:{ActionTemplates:{location:"body"}}},GetMyactiontemplateDetail:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"}}},GetMyactiontemplateDetailOutput:{data:{type:"body"},parameters:{ActionTemplate:{location:"body"}}},UpdateMyActionTemplate:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},ActionTemplate:{required:!0,location:"body"}}},UpdateMyActionTemplateOutput:{data:{type:"body"},parameters:{ActionTemplate:{location:"body"}}},DeleteMyActionTemplate:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"}}},ForbidMyActionTemplate:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},XObsForbid:{location:"urlPath",sentAs:"x-workflow-forbid"}}},UpdatePublicActionTemplate:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},PublicAction:{required:!0,location:"body"}}},GetOmPublicActionTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name_prefix"},XObsCategory:{location:"urlPath",sentAs:"x-workflow-category"},XObsOtatus:{location:"urlPath",sentAs:"x-workflow-status"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetOmPublicActionTemplatesOutput:{data:{type:"body"},parameters:{Templates:{location:"body"}}},SetBucketAlias:{httpMethod:"PUT",urlPath:"obsbucketalias",data:{xmlRoot:"CreateBucketAlias"},parameters:{Bucket:{required:!0,location:"uri"},BucketList:{location:"xml",type:"object",sentAs:"BucketList",parameters:{Bucket:{location:"xml",type:"array",items:{parameters:{sentAs:"Bucket"}}}}}}},GetBucketAlias:{httpMethod:"GET",urlPath:"obsalias",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketAliasOutput:{data:{type:"xml",xmlRoot:"AliasList"},parameters:{BucketAlias:{location:"xml",type:"object",sentAs:"BucketAlias",parameters:{Alias:{sentAs:"Alias"},BucketList:{sentAs:"Bucket",location:"xml",type:"array",wrapper:"BucketList",items:{type:"string"}}}}}},DeleteBucketAlias:{httpMethod:"DELETE",urlPath:"obsbucketalias",parameters:{Bucket:{required:!0,location:"uri"}}},BindBucketAlias:{httpMethod:"PUT",urlPath:"obsalias",data:{xmlRoot:"AliasList"},parameters:{Bucket:{required:!0,location:"uri"},Alias:{location:"xml",type:"string",sentAs:"Alias"}}},BindBucketAliasOutput:{data:{xmlRoot:"AliasList"},parameters:{Bucket:{required:!0,location:"uri"},Alias:{location:"xml",type:"string",sentAs:"Alias"}}},UnbindBucketAlias:{httpMethod:"DELETE",urlPath:"obsalias",parameters:{Bucket:{required:!0,location:"uri"}}},ListBucketsAlias:{httpMethod:"GET",urlPath:"obsbucketalias"},ListBucketsAliasOutput:{data:{type:"xml",xmlRoot:"ListBucketAliasResult"},parameters:{BucketAliasList:{location:"xml",sentAs:"BucketAliasList",type:"object",parameters:{BucketAlias:{location:"xml",type:"array",sentAs:"BucketAlias",items:{type:"object",parameters:{Alias:{sentAs:"Alias"},CreationDate:{sentAs:"CreationDate"},BucketList:{location:"xml",type:"object",sentAs:"BucketList",parameters:{Bucket:{location:"xml",type:"array",items:{parameters:{sentAs:"Bucket"}}}}}}}}}},Owner:{location:"xml",sentAs:"Owner",type:"object",parameters:{ID:{sentAs:"ID"}}}}}},owner={type:"object",location:"xml",sentAs:"Owner",parameters:{ID:{sentAs:"ID"},Name:{sentAs:"DisplayName"}}},bucketEncryptionRule={type:"object",location:"xml",sentAs:"Rule",parameters:{ApplyServerSideEncryptionByDefault:{type:"object",sentAs:"ApplyServerSideEncryptionByDefault",parameters:{SSEAlgorithm:{sentAs:"SSEAlgorithm"},KMSMasterKeyID:{sentAs:"KMSMasterKeyID"},ProjectID:{sentAs:"ProjectID"}}}}},InventoryConfiguration={type:"object",location:"xml",sentAs:"InventoryConfiguration",parameters:{Id:{sentAs:"Id"},IsEnabled:{sentAs:"IsEnabled"},Filter:{type:"object",sentAs:"Filter",parameters:{Prefix:{sentAs:"Prefix"}}},Destination:{type:"object",sentAs:"Destination",parameters:{Format:{sentAs:"Format"},Bucket:{sentAs:"Bucket"},Prefix:{sentAs:"Prefix"},Encryption:{type:"object",sentAs:"Encryption",parameters:{"SSE-KMS":{type:"object",sentAs:"SSE-KMS",parameters:{KeyId:{sentAs:"KeyId",type:"adapter"}}}}}}},Schedule:{type:"object",sentAs:"Schedule",parameters:{Frequency:{sentAs:"Frequency"}}},IncludedObjectVersions:{sentAs:"IncludedObjectVersions"},OptionalFields:{type:"object",location:"xml",sentAs:"OptionalFields",parameters:{Field:{type:"array",sentAs:"Field",items:{type:"string"}}}}}},initiator={type:"object",location:"xml",sentAs:"Initiator",parameters:{ID:{sentAs:"ID"},Name:{sentAs:"DisplayName"}}},BackToSourceRules={sentAs:"BackToSourceRule",required:!0,location:"xml",type:"array",items:{type:"object",parameters:{ID:{sentAs:"ID"},Condition:{sentAs:"Condition",type:"object",parameters:{ObjectKeyPrefixEquals:{sentAs:"ObjectKeyPrefixEquals"},HttpErrorCodeReturnedEquals:{sentAs:"HttpErrorCodeReturnedEquals"}}},Redirect:{sentAs:"Redirect",type:"object",parameters:{HttpRedirectCode:{sentAs:"HttpRedirectCode"},SourceEndpoint:{sentAs:"SourceEndpoint"},SourceBucketName:{sentAs:"SourceBucketName"},ReplaceKeyWith:{sentAs:"ReplaceKeyWith"},StaticUri:{sentAs:"StaticUri"},ReplaceKeyPrefixWith:{sentAs:"ReplaceKeyPrefixWith"},MigrationConfiguration:{sentAs:"MigrationConfiguration",type:"object",parameters:{Agency:{sentAs:"Agency"},LogBucketName:{sentAs:"LogBucketName"},PrivateBucketConfiguration:{sentAs:"PrivateBucketConfiguration",type:"object",parameters:{SourceStorageProvider:{sentAs:"SourceStorageProvider"},SourceBucketAK:{sentAs:"SourceBucketAK"},SourceBucketSK:{sentAs:"SourceBucketSK"},SourceBucketZone:{sentAs:"SourceBucketZone"}}}}}}}}}},commonPrefixes={type:"array",location:"xml",sentAs:"CommonPrefixes",items:{type:"object",parameters:{Prefix:{decode:!0,sentAs:"Prefix"},MTime:{sentAs:"MTime"},InodeNo:{sentAs:"InodeNo"}}}},grants={type:"array",location:"xml",wrapper:"AccessControlList",sentAs:"Grant",items:{type:"object",parameters:{Grantee:{data:{xsiNamespace:"http://www.w3.org/2001/XMLSchema-instance",xsiType:"Type"},type:"object",sentAs:"Grantee",parameters:{Type:{type:"ignore"},ID:{sentAs:"ID",notAllowEmpty:!0},Name:{sentAs:"DisplayName"},URI:{sentAs:"URI",type:"adapter",notAllowEmpty:!0}}},Permission:{sentAs:"Permission"}}}},loggingEnabled={type:"object",location:"xml",sentAs:"LoggingEnabled",parameters:{TargetBucket:{sentAs:"TargetBucket"},TargetPrefix:{sentAs:"TargetPrefix"},TargetGrants:{type:"array",wrapper:"TargetGrants",sentAs:"Grant",items:{type:"object",parameters:{Grantee:{data:{xsiNamespace:"http://www.w3.org/2001/XMLSchema-instance",xsiType:"Type"},type:"object",sentAs:"Grantee",parameters:{Type:{type:"ignore"},ID:{sentAs:"ID"},Name:{sentAs:"DisplayName"},URI:{sentAs:"URI",type:"adapter"}}},Permission:{sentAs:"Permission"}}}}}},rules={required:!0,type:"array",location:"xml",sentAs:"Rule",items:{type:"object",parameters:{ID:{sentAs:"ID"},Prefix:{sentAs:"Prefix"},Status:{sentAs:"Status"},Transitions:{type:"array",sentAs:"Transition",items:{type:"object",parameters:{StorageClass:{sentAs:"StorageClass",type:"adapter"},Date:{sentAs:"Date"},Days:{type:"number",sentAs:"Days"}}}},Expiration:{type:"object",sentAs:"Expiration",parameters:{Date:{sentAs:"Date"},Days:{type:"number",sentAs:"Days"}}},AbortIncompleteMultipartUpload:{type:"object",sentAs:"AbortIncompleteMultipartUpload",parameters:{DaysAfterInitiation:{type:"number",sentAs:"DaysAfterInitiation"}}},NoncurrentVersionTransitions:{type:"array",sentAs:"NoncurrentVersionTransition",items:{type:"object",parameters:{StorageClass:{sentAs:"StorageClass",type:"adapter"},NoncurrentDays:{type:"number",sentAs:"NoncurrentDays"}}}},NoncurrentVersionExpiration:{type:"object",sentAs:"NoncurrentVersionExpiration",parameters:{NoncurrentDays:{type:"number",sentAs:"NoncurrentDays"}}}}}},redirectAllRequestsTo={type:"object",location:"xml",sentAs:"RedirectAllRequestsTo",parameters:{HostName:{sentAs:"HostName"},Protocol:{sentAs:"Protocol"}}},routingRules={type:"array",wrapper:"RoutingRules",location:"xml",sentAs:"RoutingRule",items:{type:"object",parameters:{Condition:{type:"object",sentAs:"Condition",parameters:{HttpErrorCodeReturnedEquals:{sentAs:"HttpErrorCodeReturnedEquals"},KeyPrefixEquals:{sentAs:"KeyPrefixEquals"}}},Redirect:{type:"object",sentAs:"Redirect",parameters:{HostName:{sentAs:"HostName"},HttpRedirectCode:{sentAs:"HttpRedirectCode"},Protocol:{sentAs:"Protocol"},ReplaceKeyPrefixWith:{sentAs:"ReplaceKeyPrefixWith"},ReplaceKeyWith:{sentAs:"ReplaceKeyWith"}}}}}},indexDocument={type:"object",location:"xml",sentAs:"IndexDocument",parameters:{Suffix:{sentAs:"Suffix"}}},errorDocument={type:"object",location:"xml",sentAs:"ErrorDocument",parameters:{Key:{sentAs:"Key"}}},corsRule={required:!0,type:"array",location:"xml",sentAs:"CORSRule",items:{type:"object",parameters:{ID:{sentAs:"ID"},AllowedMethod:{type:"array",sentAs:"AllowedMethod",items:{type:"string"}},AllowedOrigin:{type:"array",sentAs:"AllowedOrigin",items:{type:"string"}},AllowedHeader:{type:"array",sentAs:"AllowedHeader",items:{type:"string"}},MaxAgeSeconds:{type:"number",sentAs:"MaxAgeSeconds"},ExposeHeader:{type:"array",sentAs:"ExposeHeader",items:{type:"string"}}}}},functionGraphConfiguration={type:"array",location:"xml",sentAs:"FunctionGraphConfiguration",items:{type:"object",location:"xml",parameters:{ID:{sentAs:"Id"},Filter:{type:"object",parameters:{FilterRules:{wrapper:"S3Key",type:"array",sentAs:"FilterRule",items:{type:"object",parameters:{Name:{},Value:{}}}}}},FunctionGraph:{},Event:{type:"array",items:{type:"adapter"}}}}},functionStageConfiguration={type:"array",location:"xml",sentAs:"FunctionStageConfiguration",items:{type:"object",location:"xml",parameters:{ID:{sentAs:"Id"},Filter:{type:"object",parameters:{FilterRules:{wrapper:"S3Key",type:"array",sentAs:"FilterRule",items:{type:"object",parameters:{Name:{},Value:{}}}}}},FunctionStage:{},Event:{type:"array",items:{type:"adapter"}}}}},topicConfiguration={type:"array",location:"xml",sentAs:"TopicConfiguration",items:{type:"object",location:"xml",parameters:{ID:{sentAs:"Id"},Filter:{type:"object",parameters:{FilterRules:{wrapper:"S3Key",type:"array",sentAs:"FilterRule",items:{type:"object",parameters:{Name:{},Value:{}}}}}},Topic:{},Event:{type:"array",items:{type:"adapter"}}}}},tagSet={required:!0,type:"array",location:"xml",wrapper:"TagSet",sentAs:"Tag",items:{type:"object",parameters:{Key:{sentAs:"Key"},Value:{sentAs:"Value"}}}},replicationRules={required:!0,type:"array",location:"xml",sentAs:"Rule",items:{type:"object",parameters:{ID:{sentAs:"ID"},Prefix:{sentAs:"Prefix"},Status:{sentAs:"Status"},Destination:{type:"object",sentAs:"Destination",parameters:{Bucket:{sentAs:"Bucket",type:"adapter"},StorageClass:{sentAs:"StorageClass",type:"adapter"},DeleteData:{sentAs:"DeleteData",type:"string"}}},HistoricalObjectReplication:{sentAs:"HistoricalObjectReplication"}}}},CDNNotifyConfiguration={location:"xml",sentAs:"Domain",type:"array",items:{type:"object",parameters:{Name:{type:"string",sentAs:"Name"},Event:{type:"array",items:{type:"adapter"},sentAs:"Event"}}}},operations={HeadBucket:{httpMethod:"HEAD",parameters:{Bucket:{required:!0,location:"uri"}}},HeadApiVersion:{httpMethod:"HEAD",urlPath:"apiversion",parameters:{Bucket:{location:"uri"}}},HeadApiVersionOutput:{parameters:{ApiVersion:{location:"header",sentAs:"x-obs-api"}}},CreateBucket:{httpMethod:"PUT",data:{xmlRoot:"CreateBucketConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0},StorageType:{location:"header",sentAs:"x-default-storage-class"},FileInterface:{location:"header",sentAs:"fs-file-interface",withPrefix:!0},Type:{location:"header",sentAs:"bucket-type",withPrefix:!0},MultiAz:{location:"header",sentAs:"x-obs-az-redundancy"},Cluster:{location:"header",sentAs:"location-clustergroup-id",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadACP:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWrite:{location:"header",sentAs:"grant-write",withPrefix:!0},GrantWriteACP:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},ClusterType:{location:"header",sentAs:"cluster-type",withPrefix:!0},MultiEnterprise:{location:"header",sentAs:"epid",withPrefix:!0},Location:{location:"xml",sentAs:"LocationConstraint"}}},GetBucketMetadata:{httpMethod:"HEAD",parameters:{Bucket:{required:!0,location:"uri"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"}}},GetBucketMetadataOutput:{parameters:{StorageClass:{location:"header",sentAs:"x-default-storage-class"},ObsVersion:{location:"header",sentAs:"x-obs-version"},Location:{location:"header",sentAs:"bucket-region",withPrefix:!0},FileInterface:{location:"header",sentAs:"fs-file-interface",withPrefix:!0},Type:{location:"header",sentAs:"bucket-type",withPrefix:!0},MultiAz:{location:"header",sentAs:"x-obs-az-redundancy"},MultiEnterprise:{location:"header",sentAs:"epid",withPrefix:!0},ClusterType:{location:"header",sentAs:"cluster-type",withPrefix:!0},Cluster:{location:"header",sentAs:"location-clustergroup-id",withPrefix:!0},AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"}}},DeleteBucket:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"}}},ListBuckets:{httpMethod:"GET",parameters:{Type:{sentAs:"x-obs-bucket-type",location:"header"},Location:{sentAs:"location",location:"header",withPrefix:!0}}},ListBucketsOutput:{data:{type:"xml",xmlRoot:"ListAllMyBucketsResult"},parameters:{Buckets:{location:"xml",sentAs:"Bucket",type:"array",wrapper:"Buckets",items:{type:"object",location:"xml",sentAs:"Bucket",parameters:{Name:{sentAs:"Name"},CreationDate:{sentAs:"CreationDate"},Location:{sentAs:"Location"},ClusterType:{sentAs:"ClusterType"}}}},Owner:{type:"object",location:"xml",sentAs:"Owner",parameters:{ID:{sentAs:"ID"},DisplayName:{sentAs:"DisplayName"}}}}},ListObjects:{httpMethod:"GET",parameters:{Bucket:{required:!0,location:"uri"},Prefix:{location:"urlPath",sentAs:"prefix"},Marker:{location:"urlPath",sentAs:"marker"},MaxKeys:{type:"number",location:"urlPath",sentAs:"max-keys"},Delimiter:{location:"urlPath",sentAs:"delimiter"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListObjectsOutput:{data:{type:"xml",xmlRoot:"ListBucketResult"},parameters:{Location:{location:"header",sentAs:"bucket-region",withPrefix:!0},Bucket:{location:"xml",sentAs:"Name"},Delimiter:{decode:!0,location:"xml",sentAs:"Delimiter"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},Prefix:{decode:!0,location:"xml",sentAs:"Prefix"},Marker:{decode:!0,location:"xml",sentAs:"Marker"},NextMarker:{decode:!0,location:"xml",sentAs:"NextMarker"},MaxKeys:{location:"xml",sentAs:"MaxKeys"},EncodingType:{location:"xml",sentAs:"EncodingType"},Contents:{type:"array",location:"xml",sentAs:"Contents",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},LastModified:{sentAs:"LastModified"},ETag:{sentAs:"ETag"},Size:{sentAs:"Size"},Type:{sentAs:"Type"},StorageClass:{sentAs:"StorageClass"},Owner:owner}}},CommonPrefixes:commonPrefixes}},ListVersions:{httpMethod:"GET",urlPath:"versions",parameters:{Bucket:{required:!0,location:"uri"},Prefix:{location:"urlPath",sentAs:"prefix"},KeyMarker:{location:"urlPath",sentAs:"key-marker"},MaxKeys:{type:"number",location:"urlPath",sentAs:"max-keys"},Delimiter:{location:"urlPath",sentAs:"delimiter"},VersionIdMarker:{location:"urlPath",sentAs:"version-id-marker"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListVersionsOutput:{data:{type:"xml",xmlRoot:"ListVersionsResult"},parameters:{EncodingType:{location:"xml",sentAs:"EncodingType"},Location:{location:"header",sentAs:"bucket-region",withPrefix:!0},Bucket:{location:"xml",sentAs:"Name"},Prefix:{decode:!0,location:"xml",sentAs:"Prefix"},Delimiter:{decode:!0,location:"xml",sentAs:"Delimiter"},KeyMarker:{decode:!0,location:"xml",sentAs:"KeyMarker"},VersionIdMarker:{location:"xml",sentAs:"VersionIdMarker"},NextKeyMarker:{decode:!0,location:"xml",sentAs:"NextKeyMarker"},NextVersionIdMarker:{location:"xml",sentAs:"NextVersionIdMarker"},MaxKeys:{location:"xml",sentAs:"MaxKeys"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},Versions:{type:"array",location:"xml",sentAs:"Version",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},IsLatest:{sentAs:"IsLatest"},LastModified:{sentAs:"LastModified"},ETag:{sentAs:"ETag"},Size:{sentAs:"Size"},Type:{sentAs:"Type"},Owner:owner,StorageClass:{sentAs:"StorageClass"}}}},DeleteMarkers:{type:"array",location:"xml",sentAs:"DeleteMarker",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},IsLatest:{sentAs:"IsLatest"},LastModified:{sentAs:"LastModified"},Owner:owner}}},CommonPrefixes:commonPrefixes}},PutBackToSource:{httpMethod:"PUT",data:{xmlRoot:"BackToSourceConfiguration"},urlPath:"backtosource",parameters:{Bucket:{required:!0,location:"uri"},BackToSourceRules,ContentMD5:{location:"header",sentAs:"Content-MD5"}}},DeleteBackToSource:{httpMethod:"DELETE",urlPath:"backtosource",parameters:{Bucket:{required:!0,location:"uri"}}},GetBackToSource:{httpMethod:"GET",urlPath:"backtosource",parameters:{Bucket:{required:!0,location:"uri"}}},GetBackToSourceOutput:{data:{type:"xml",xmlRoot:"BackToSourceConfiguration"},parameters:{BackToSourceRules}},GetBucketLocation:{httpMethod:"GET",urlPath:"location",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketLocationOutput:{data:{type:"xml",xmlRoot:"CreateBucketConfiguration"},parameters:{Location:{location:"xml",sentAs:"LocationConstraint"}}},GetBucketStorageInfo:{httpMethod:"GET",urlPath:"storageinfo",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketStorageInfoOutput:{data:{type:"xml",xmlRoot:"GetBucketStorageInfoResult"},parameters:{Size:{location:"xml",sentAs:"Size"},ObjectNumber:{location:"xml",sentAs:"ObjectNumber"}}},SetBucketQuota:{httpMethod:"PUT",urlPath:"quota",data:{xmlRoot:"Quota"},parameters:{Bucket:{required:!0,location:"uri"},StorageQuota:{required:!0,location:"xml",sentAs:"StorageQuota"}}},GetBucketQuota:{httpMethod:"GET",urlPath:"quota",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketQuotaOutput:{data:{type:"xml",xmlRoot:"Quota"},parameters:{StorageQuota:{location:"xml",sentAs:"StorageQuota"}}},SetBucketAcl:{httpMethod:"PUT",urlPath:"acl",data:{xmlRoot:"AccessControlPolicy"},parameters:{Bucket:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},Owner:owner,Grants:grants}},GetBucketAcl:{httpMethod:"GET",urlPath:"acl",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketAclOutput:{data:{type:"xml",xmlRoot:"AccessControlPolicy"},parameters:{Owner:owner,Grants:grants}},SetBucketLoggingConfiguration:{httpMethod:"PUT",urlPath:"logging",data:{xmlRoot:"BucketLoggingStatus",xmlAllowEmpty:!0},parameters:{Bucket:{required:!0,location:"uri"},LoggingEnabled:loggingEnabled}},GetBucketLoggingConfiguration:{httpMethod:"GET",urlPath:"logging",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketLoggingConfigurationOutput:{data:{type:"xml",xmlRoot:"BucketLoggingStatus"},parameters:{LoggingEnabled:loggingEnabled}},SetBucketPolicy:{httpMethod:"PUT",urlPath:"policy",parameters:{Bucket:{required:!0,location:"uri"},Policy:{required:!0,location:"body"}}},SetSFSAcl:{httpMethod:"PUT",urlPath:"sfsacl",parameters:{Bucket:{required:!0,location:"uri"},Policy:{required:!0,location:"body"}}},GetSFSAcl:{httpMethod:"GET",urlPath:"sfsacl",parameters:{Bucket:{required:!0,location:"uri"}}},GetSFSAclOutput:{data:{type:"body"},parameters:{Policy:{location:"body"}}},DeleteSFSAcl:{httpMethod:"DELETE",urlPath:"sfsacl",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketPolicy:{httpMethod:"GET",urlPath:"policy",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketPolicyOutput:{data:{type:"body"},parameters:{Policy:{location:"body"}}},DeleteBucketPolicy:{httpMethod:"DELETE",urlPath:"policy",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketDisPolicy:{httpMethod:"PUT",urlPath:"disPolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},Rules:{required:!0,location:"body"}}},GetBucketDisPolicy:{httpMethod:"GET",urlPath:"disPolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},ContentType:{location:"header",sentAs:"Content-Type"}}},GetBucketDisPolicyOutput:{data:{type:"body"},parameters:{Rules:{location:"body"}}},DeleteBucketDisPolicy:{httpMethod:"DELETE",urlPath:"disPolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},SetBucketLifecycleConfiguration:{httpMethod:"PUT",urlPath:"lifecycle",data:{xmlRoot:"LifecycleConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Rules:rules}},GetBucketLifecycleConfiguration:{httpMethod:"GET",urlPath:"lifecycle",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketLifecycleConfigurationOutput:{data:{type:"xml",xmlRoot:"LifecycleConfiguration"},parameters:{Rules:rules}},DeleteBucketLifecycleConfiguration:{httpMethod:"DELETE",urlPath:"lifecycle",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketWebsiteConfiguration:{httpMethod:"PUT",urlPath:"website",data:{xmlRoot:"WebsiteConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},RedirectAllRequestsTo:redirectAllRequestsTo,IndexDocument:indexDocument,ErrorDocument:errorDocument,RoutingRules:routingRules}},GetBucketWebsiteConfiguration:{httpMethod:"GET",urlPath:"website",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketWebsiteConfigurationOutput:{data:{type:"xml",xmlRoot:"WebsiteConfiguration"},parameters:{RedirectAllRequestsTo:redirectAllRequestsTo,IndexDocument:indexDocument,ErrorDocument:errorDocument,RoutingRules:routingRules}},DeleteBucketWebsiteConfiguration:{httpMethod:"DELETE",urlPath:"website",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketVersioningConfiguration:{httpMethod:"PUT",urlPath:"versioning",data:{xmlRoot:"VersioningConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},VersionStatus:{required:!0,location:"xml",sentAs:"Status"}}},GetBucketVersioningConfiguration:{httpMethod:"GET",urlPath:"versioning",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketVersioningConfigurationOutput:{data:{type:"xml",xmlRoot:"VersioningConfiguration"},parameters:{VersionStatus:{location:"xml",sentAs:"Status"}}},SetBucketCors:{httpMethod:"PUT",urlPath:"cors",data:{xmlRoot:"CORSConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},CorsRules:corsRule}},GetBucketCors:{httpMethod:"GET",urlPath:"cors",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketCorsOutput:{data:{type:"xml",xmlRoot:"CORSConfiguration"},parameters:{CorsRules:corsRule}},DeleteBucketCors:{httpMethod:"DELETE",urlPath:"cors",parameters:{Bucket:{required:!0,location:"uri"}}},SetBucketNotification:{httpMethod:"PUT",urlPath:"notification",data:{xmlRoot:"NotificationConfiguration",xmlAllowEmpty:!0},parameters:{Bucket:{required:!0,location:"uri"},TopicConfigurations:topicConfiguration,FunctionGraphConfigurations:functionGraphConfiguration,FunctionStageConfigurations:functionStageConfiguration}},GetBucketNotification:{httpMethod:"GET",urlPath:"notification",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketNotificationOutput:{data:{type:"xml",xmlRoot:"NotificationConfiguration"},parameters:{TopicConfigurations:topicConfiguration,FunctionGraphConfigurations:functionGraphConfiguration,FunctionStageConfigurations:functionStageConfiguration}},SetBucketTagging:{httpMethod:"PUT",urlPath:"tagging",data:{xmlRoot:"Tagging",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Tags:tagSet}},DeleteBucketTagging:{httpMethod:"DELETE",urlPath:"tagging",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketTagging:{httpMethod:"GET",urlPath:"tagging",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketTaggingOutput:{data:{type:"xml",xmlRoot:"Tagging"},parameters:{Tags:tagSet}},SetBucketStoragePolicy:{httpMethod:"PUT",urlPath:"storagePolicy",data:{xmlRoot:"StoragePolicy"},parameters:{Bucket:{required:!0,location:"uri"},StorageClass:{required:!0,location:"xml",type:"adapter",sentAs:"DefaultStorageClass"}}},GetBucketStoragePolicy:{httpMethod:"GET",urlPath:"storagePolicy",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketStoragePolicyOutput:{data:{type:"xml",xmlRoot:"StoragePolicy"},parameters:{StorageClass:{location:"xml",type:"string",sentAs:"DefaultStorageClass"}}},SetBucketReplication:{httpMethod:"PUT",urlPath:"replication",data:{xmlRoot:"ReplicationConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Agency:{location:"xml",sentAs:"Agency"},Rules:replicationRules}},GetBucketReplication:{httpMethod:"GET",urlPath:"replication",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketReplicationOutput:{data:{type:"xml",xmlRoot:"ReplicationConfiguration"},parameters:{Agency:{location:"xml",sentAs:"Agency"},Rules:replicationRules}},DeleteBucketReplication:{httpMethod:"DELETE",urlPath:"replication",parameters:{Bucket:{required:!0,location:"uri"}}},PutObject:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ContentMD5:{location:"header",sentAs:"Content-MD5"},ContentType:{location:"header",sentAs:"Content-Type"},Offset:{type:"plain"},ContentLength:{location:"header",sentAs:"Content-Length",type:"plain"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition",encodingSafe:' ;/?:@&=+$,"'},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},Expires:{location:"header",sentAs:"x-obs-expires",type:"number"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},Body:{location:"body"},SourceFile:{type:"srcFile"},ProgressCallback:{type:"plain"}}},PutObjectOutput:{parameters:{ETag:{location:"header",sentAs:"etag"},VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseKmsProjectId:{location:"header",sentAs:"sse-kms-key-project-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},AppendObject:{httpMethod:"POST",urlPath:"append",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},Position:{location:"urlPath",sentAs:"position",type:"number"},ContentMD5:{location:"header",sentAs:"Content-MD5"},Offset:{type:"plain"},ContentType:{location:"header",sentAs:"Content-Type"},ContentLength:{location:"header",sentAs:"Content-Length",type:"plain"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},Expires:{location:"header",sentAs:"x-obs-expires",type:"number"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},Body:{location:"body"},SourceFile:{type:"srcFile"},ProgressCallback:{type:"plain"}}},AppendObjectOutput:{parameters:{ETag:{location:"header",sentAs:"etag"},NextPosition:{location:"header",sentAs:"x-obs-next-append-position"},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},GetObject:{httpMethod:"GET",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ResponseCacheControl:{location:"urlPath",sentAs:"response-cache-control"},ResponseContentDisposition:{location:"urlPath",sentAs:"response-content-disposition"},ResponseContentEncoding:{location:"urlPath",sentAs:"response-content-encoding"},ResponseContentLanguage:{location:"urlPath",sentAs:"response-content-language"},ResponseContentType:{location:"urlPath",sentAs:"response-content-type"},ResponseExpires:{location:"urlPath",sentAs:"response-expires"},VersionId:{location:"urlPath",sentAs:"versionId"},ImageProcess:{location:"urlPath",sentAs:"x-image-process"},IfMatch:{location:"header",sentAs:"If-Match"},IfModifiedSince:{location:"header",sentAs:"If-Modified-Since"},IfNoneMatch:{location:"header",sentAs:"If-None-Match"},IfUnmodifiedSince:{location:"header",sentAs:"If-Unmodified-Since"},Range:{location:"header",sentAs:"Range"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"},SaveByType:{type:"dstFile"},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},ProgressCallback:{type:"plain"}}},GetObjectOutput:{data:{type:"body"},parameters:{Content:{location:"body"},Expiration:{location:"header",sentAs:"expiration",withPrefix:!0},ETag:{location:"header",sentAs:"etag"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentType:{location:"header",sentAs:"Content-Type"},Expires:{location:"header",sentAs:"Expires"},VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},ContentLength:{location:"header",sentAs:"Content-Length"},DeleteMarker:{location:"header",sentAs:"delete-marker",withPrefix:!0},LastModified:{location:"header",sentAs:"Last-Modified"},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},Restore:{location:"header",sentAs:"restore",withPrefix:!0},AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0},Metadata:{location:"header",type:"object",sentAs:"meta-",withPrefix:!0}}},CopyObject:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},CopySource:{required:!0,location:"header",sentAs:"copy-source",withPrefix:!0,skipEncoding:!0},CopySourceIfMatch:{location:"header",sentAs:"copy-source-if-match",withPrefix:!0},CopySourceIfModifiedSince:{location:"header",sentAs:"copy-source-if-modified-since",withPrefix:!0},CopySourceIfNoneMatch:{location:"header",sentAs:"copy-source-if-none-match",withPrefix:!0},CopySourceIfUnmodifiedSince:{location:"header",sentAs:"copy-source-if-unmodified-since",withPrefix:!0},ContentType:{location:"header",sentAs:"Content-Type"},ContentEncoding:{location:"header",sentAs:"content-encoding"},ContentLanguage:{location:"header",sentAs:"content-language"},ContentDisposition:{location:"header",sentAs:"content-disposition"},CacheControl:{location:"header",sentAs:"cache-control"},Expires:{location:"header",sentAs:"expires"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},MetadataDirective:{location:"header",sentAs:"metadata-directive",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},CopySourceSseC:{location:"header",sentAs:"copy-source-server-side-encryption-customer-algorithm",withPrefix:!0},CopySourceSseCKey:{location:"header",sentAs:"copy-source-server-side-encryption-customer-key",type:"password",withPrefix:!0}}},CopyObjectOutput:{data:{type:"xml",xmlRoot:"CopyObjectResult"},parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},CopySourceVersionId:{location:"header",sentAs:"copy-source-version-id",withPrefix:!0},ETag:{location:"xml",sentAs:"ETag"},LastModified:{location:"xml",sentAs:"LastModified"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},RestoreObject:{httpMethod:"POST",urlPath:"restore",data:{xmlRoot:"RestoreRequest",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},Days:{location:"xml",sentAs:"Days"},Tier:{wrapper:"GlacierJobParameters",location:"xml",sentAs:"Tier"}}},GetObjectMetadata:{httpMethod:"HEAD",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0}}},GetObjectMetadataOutput:{parameters:{Expiration:{location:"header",sentAs:"expiration",withPrefix:!0},LastModified:{location:"header",sentAs:"Last-Modified"},ContentLength:{location:"header",sentAs:"Content-Length"},ContentType:{location:"header",sentAs:"Content-Type"},ETag:{location:"header",sentAs:"etag"},VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},Restore:{location:"header",sentAs:"restore",withPrefix:!0},ObjectType:{location:"header",sentAs:"x-obs-object-type"},NextPosition:{location:"header",sentAs:"x-obs-next-append-position"},AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0},Metadata:{location:"header",type:"object",sentAs:"meta-",withPrefix:!0},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition"},Expires:{location:"header",sentAs:"Expires"},ReplicationStatus:{location:"header",sentAs:"replication-status",withPrefix:!0}}},SetObjectMetadata:{httpMethod:"PUT",urlPath:"metadata",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},Origin:{location:"header",sentAs:"Origin"},RequestHeader:{location:"header",sentAs:"Access-Control-Request-Headers"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition",encodingSafe:' ;/?:@&=+$,"'},ContentLanguage:{location:"header",sentAs:"Content-Language"},ContentEncoding:{location:"header",sentAs:"Content-Encoding"},ContentType:{location:"header",sentAs:"Content-Type"},Expires:{location:"header",sentAs:"Expires"},Metadata:{shape:"Sy",location:"header",type:"object",sentAs:"meta-",withPrefix:!0},MetadataDirective:{location:"header",sentAs:"metadata-directive",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0}}},SetObjectMetadataOutput:{parameters:{Expires:{location:"header",sentAs:"Expires"},ContentLength:{location:"header",sentAs:"Content-Length"},ContentType:{location:"header",sentAs:"Content-Type"},ContentLanguage:{location:"header",sentAs:"Content-Language"},CacheControl:{location:"header",sentAs:"Cache-Control"},ContentDisposition:{location:"header",sentAs:"Content-Disposition"},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{location:"header",type:"object",sentAs:"meta-",withPrefix:!0}}},SetObjectAcl:{httpMethod:"PUT",urlPath:"acl",data:{xmlRoot:"AccessControlPolicy"},parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},Owner:owner,Grants:grants}},SetObjectAclOutput:{parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0}}},GetObjectAcl:{httpMethod:"GET",urlPath:"acl",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"}}},GetObjectAclOutput:{data:{type:"xml",xmlRoot:"AccessControlPolicy"},parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},Owner:owner,Grants:grants}},DeleteObject:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},VersionId:{location:"urlPath",sentAs:"versionId"}}},DeleteObjectOutput:{parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},DeleteMarker:{location:"header",sentAs:"delete-marker",withPrefix:!0}}},DeleteObjects:{httpMethod:"POST",urlPath:"delete",data:{xmlRoot:"Delete",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Quiet:{location:"xml",sentAs:"Quiet"},EncodingType:{location:"xml",sentAs:"EncodingType"},Objects:{required:!0,type:"array",location:"xml",sentAs:"Object",items:{type:"object",parameters:{Key:{sentAs:"Key"},VersionId:{sentAs:"VersionId"}}}}}},DeleteObjectsOutput:{data:{type:"xml",xmlRoot:"DeleteResult"},parameters:{EncodingType:{location:"xml",sentAs:"EncodingType"},Deleteds:{type:"array",location:"xml",sentAs:"Deleted",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},DeleteMarker:{sentAs:"DeleteMarker"},DeleteMarkerVersionId:{sentAs:"DeleteMarkerVersionId"}}}},Errors:{type:"array",location:"xml",sentAs:"Error",items:{type:"object",parameters:{Key:{decode:!0,sentAs:"Key"},VersionId:{sentAs:"VersionId"},Code:{sentAs:"Code"},Message:{sentAs:"Message"}}}}}},InitiateMultipartUpload:{httpMethod:"POST",urlPath:"uploads",parameters:{EncodingType:{location:"urlPath",sentAs:"encoding-type"},Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},ACL:{location:"header",sentAs:"acl",withPrefix:!0,type:"adapter"},GrantRead:{location:"header",sentAs:"grant-read",withPrefix:!0},GrantReadAcp:{location:"header",sentAs:"grant-read-acp",withPrefix:!0},GrantWriteAcp:{location:"header",sentAs:"grant-write-acp",withPrefix:!0},GrantFullControl:{location:"header",sentAs:"grant-full-control",withPrefix:!0},StorageClass:{location:"header",sentAs:"storage-class",withPrefix:!0,type:"adapter"},Metadata:{type:"object",location:"header",sentAs:"meta-",withPrefix:!0},WebsiteRedirectLocation:{location:"header",sentAs:"website-redirect-location",withPrefix:!0},Expires:{location:"header",sentAs:"x-obs-expires",type:"number"},ContentType:{location:"header",sentAs:"Content-Type"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0,type:"adapter"},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0}}},InitiateMultipartUploadOutput:{data:{type:"xml",xmlRoot:"InitiateMultipartUploadResult"},parameters:{EncodingType:{location:"xml",sentAs:"EncodingType"},Bucket:{location:"xml",sentAs:"Bucket"},Key:{decode:!0,location:"xml",sentAs:"Key"},UploadId:{location:"xml",sentAs:"UploadId"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},ListMultipartUploads:{httpMethod:"GET",urlPath:"uploads",parameters:{Bucket:{required:!0,location:"uri"},Delimiter:{location:"urlPath",sentAs:"delimiter"},KeyMarker:{location:"urlPath",sentAs:"key-marker"},MaxUploads:{type:"number",location:"urlPath",sentAs:"max-uploads"},Prefix:{location:"urlPath",sentAs:"prefix"},UploadIdMarker:{location:"urlPath",sentAs:"upload-id-marker"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListMultipartUploadsOutput:{data:{type:"xml",xmlRoot:"ListMultipartUploadsResult"},parameters:{Bucket:{location:"xml",sentAs:"Bucket"},KeyMarker:{decode:!0,location:"xml",sentAs:"KeyMarker"},UploadIdMarker:{location:"xml",sentAs:"UploadIdMarker"},NextKeyMarker:{decode:!0,location:"xml",sentAs:"NextKeyMarker"},Prefix:{decode:!0,location:"xml",sentAs:"Prefix"},Delimiter:{decode:!0,location:"xml",sentAs:"Delimiter"},NextUploadIdMarker:{location:"xml",sentAs:"NextUploadIdMarker"},MaxUploads:{location:"xml",sentAs:"MaxUploads"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},EncodingType:{location:"xml",sentAs:"EncodingType"},Uploads:{type:"array",location:"xml",sentAs:"Upload",items:{type:"object",parameters:{UploadId:{sentAs:"UploadId"},Key:{decode:!0,sentAs:"Key"},Initiated:{sentAs:"Initiated"},StorageClass:{sentAs:"StorageClass"},Owner:owner,Initiator:initiator}}},CommonPrefixes:commonPrefixes}},UploadPart:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},PartNumber:{required:!0,type:"number",location:"urlPath",sentAs:"partNumber"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},ContentMD5:{location:"header",sentAs:"Content-MD5"},Body:{location:"body"},SourceFile:{type:"srcFile"},Offset:{type:"plain"},PartSize:{type:"plain"},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},ProgressCallback:{type:"plain"}}},UploadPartOutput:{parameters:{ETag:{location:"header",sentAs:"etag"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},ListParts:{httpMethod:"GET",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},MaxParts:{type:"number",location:"urlPath",sentAs:"max-parts"},PartNumberMarker:{type:"number",location:"urlPath",sentAs:"part-number-marker"},EncodingType:{location:"urlPath",sentAs:"encoding-type"}}},ListPartsOutput:{data:{type:"xml",xmlRoot:"ListPartsResult"},parameters:{Bucket:{location:"xml",sentAs:"Bucket"},Key:{decode:!0,location:"xml",sentAs:"Key"},UploadId:{location:"xml",sentAs:"UploadId"},PartNumberMarker:{location:"xml",sentAs:"PartNumberMarker"},NextPartNumberMarker:{location:"xml",sentAs:"NextPartNumberMarker"},MaxParts:{location:"xml",sentAs:"MaxParts"},IsTruncated:{location:"xml",sentAs:"IsTruncated"},StorageClass:{location:"xml",sentAs:"StorageClass"},EncodingType:{location:"urlPath",sentAs:"EncodingType"},Initiator:initiator,Owner:owner,Parts:{type:"array",location:"xml",sentAs:"Part",items:{type:"object",parameters:{PartNumber:{sentAs:"PartNumber"},LastModified:{sentAs:"LastModified"},ETag:{sentAs:"ETag"},Size:{sentAs:"Size"}}}}}},CopyPart:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},PartNumber:{required:!0,location:"urlPath",sentAs:"partNumber",type:"number"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},CopySource:{required:!0,location:"header",sentAs:"copy-source",skipEncoding:!0,withPrefix:!0},CopySourceRange:{location:"header",sentAs:"copy-source-range",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKey:{location:"header",sentAs:"server-side-encryption-customer-key",type:"password",withPrefix:!0},CopySourceSseC:{location:"header",sentAs:"copy-source-server-side-encryption-customer-algorithm",withPrefix:!0},CopySourceSseCKey:{location:"header",sentAs:"copy-source-server-side-encryption-customer-key",type:"password",withPrefix:!0}}},CopyPartOutput:{data:{type:"xml",xmlRoot:"CopyPartResult"},parameters:{LastModified:{location:"xml",sentAs:"LastModified"},ETag:{location:"xml",sentAs:"ETag"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}}},AbortMultipartUpload:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"}}},CompleteMultipartUpload:{httpMethod:"POST",data:{xmlRoot:"CompleteMultipartUpload"},parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},UploadId:{required:!0,location:"urlPath",sentAs:"uploadId"},EncodingType:{location:"urlPath",sentAs:"encoding-type"},Parts:{required:!0,type:"array",location:"xml",sentAs:"Part",items:{type:"object",parameters:{PartNumber:{sentAs:"PartNumber"},ETag:{sentAs:"ETag"}}}},Callback:{location:"header",sentAs:"callback",withPrefix:!0,type:"callback",parameters:{CallbackUrl:{required:!0},CallbackBody:{required:!0},CallbackHost:{},CallbackBodyType:{}}}}},CompleteMultipartUploadOutput:{data:{type:"xml",xmlRoot:"CompleteMultipartUploadResult"},parameters:{VersionId:{location:"header",sentAs:"version-id",withPrefix:!0},Location:{location:"xml",sentAs:"Location"},EncodingType:{location:"xml",sentAs:"EncodingType"},Bucket:{location:"xml",sentAs:"Bucket"},Key:{decode:!0,location:"xml",sentAs:"Key"},ETag:{location:"xml",sentAs:"ETag"},SseKms:{location:"header",sentAs:"server-side-encryption",withPrefix:!0},SseKmsKey:{location:"header",sentAs:"server-side-encryption-aws-kms-key-id",withPrefix:!0},SseC:{location:"header",sentAs:"server-side-encryption-customer-algorithm",withPrefix:!0},SseCKeyMd5:{location:"header",sentAs:"server-side-encryption-customer-key-MD5",withPrefix:!0}},CallbackResponse:{location:"body",sentAs:"CallbackResponseBody"}},GetBucketInventory:{httpMethod:"GET",urlPath:"inventory",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketInventoryOutput:{data:{type:"xml",xmlRoot:"ListInventoryConfiguration"},parameters:{Rules:{type:"array",location:"xml",sentAs:"InventoryConfiguration",items:{type:"object",parameters:{Id:{sentAs:"Id"},IsEnabled:{sentAs:"IsEnabled"},Filter:{type:"object",sentAs:"Filter",parameters:{Prefix:{sentAs:"Prefix"}}},Destination:{type:"object",sentAs:"Destination",parameters:{Format:{sentAs:"Format"},Bucket:{sentAs:"Bucket"},Prefix:{sentAs:"Prefix"}}},Schedule:{type:"object",sentAs:"Schedule",parameters:{Frequency:{sentAs:"Frequency"}}},IncludedObjectVersions:{sentAs:"IncludedObjectVersions"},OptionalFields:{type:"object",location:"xml",sentAs:"OptionalFields",parameters:{Field:{type:"array",sentAs:"Field",items:{type:"string"}}}},LastExportTime:{sentAs:"LastExportTime"}}}}}},SetBucketInventory:{httpMethod:"PUT",urlPath:"inventory",parameters:{Bucket:{required:!0,location:"uri"},Id:{location:"urlPath",sentAs:"id"},InventoryConfiguration}},SetBucketInventoryOutput:{data:{type:"xml",xmlRoot:"InventoryConfiguration"},parameters:{InventoryConfiguration}},DeleteInventory:{httpMethod:"DELETE",urlPath:"inventory",parameters:{Bucket:{required:!0,location:"uri"},Id:{location:"urlPath",sentAs:"id"}}},DeleteInventoryOutput:{data:{type:"xml",xmlRoot:"InventoryConfiguration"},parameters:{InventoryConfiguration}},GetBucketEncryption:{httpMethod:"GET",urlPath:"encryption",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketEncryptionOutput:{data:{type:"xml",xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Rule:{type:"object",location:"xml",sentAs:"Rule",parameters:{ApplyServerSideEncryptionByDefault:{type:"object",sentAs:"ApplyServerSideEncryptionByDefault",parameters:{SSEAlgorithm:{sentAs:"SSEAlgorithm"},KMSMasterKeyID:{sentAs:"KMSMasterKeyID"},ProjectID:{sentAs:"ProjectID"}}}}}}},SetBucketEncryption:{httpMethod:"PUT",urlPath:"encryption",data:{xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},Rule:bucketEncryptionRule}},SetBucketEncryptionOutput:{data:{type:"xml",xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Rule:bucketEncryptionRule}},DeleteBucketEncryption:{httpMethod:"DELETE",urlPath:"encryption",parameters:{Bucket:{required:!0,location:"uri"}}},DeleteBucketEncryptionOutput:{data:{type:"xml",xmlRoot:"ServerSideEncryptionConfiguration"},parameters:{Rule:bucketEncryptionRule}},GetBucketRequesterPay:{httpMethod:"GET",urlPath:"requestPayment",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketRequesterPayOutput:{data:{type:"xml",xmlRoot:"RequestPaymentConfiguration"},parameters:{Payer:{location:"xml",sentAs:"Payer"}}},SetBucketRequesterPay:{httpMethod:"PUT",urlPath:"requestPayment",data:{xmlRoot:"RequestPaymentConfiguration"},parameters:{Bucket:{required:!0,location:"uri"},Payer:{location:"xml",sentAs:"Payer"}}},SetBucketRequesterPayOutput:{data:{type:"xml",xmlRoot:"RequestPaymentConfiguration"},parameters:{Payer:{location:"xml",sentAs:"Payer"}}},OptionsBucket:{httpMethod:"OPTIONS",parameters:{Bucket:{required:!0,location:"uri"},Origin:{required:!0,location:"header",sentAs:"Origin"},AccessControlRequestMethods:{required:!0,type:"array",location:"header",sentAs:"Access-Control-Request-Method",items:{type:"string"}},AccessControlRequestHeaders:{type:"array",location:"header",sentAs:"Access-Control-Request-Headers",items:{type:"string"}}}},OptionsBucketOutput:{parameters:{AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"}}},OptionsObject:{httpMethod:"OPTIONS",parameters:{Bucket:{required:!0,location:"uri"},Key:{required:!0,location:"uri"},Origin:{required:!0,location:"header",sentAs:"Origin"},AccessControlRequestMethods:{required:!0,type:"array",location:"header",sentAs:"Access-Control-Request-Method",items:{type:"string"}},AccessControlRequestHeaders:{type:"array",location:"header",sentAs:"Access-Control-Request-Headers",items:{type:"string"}}}},OptionsObjectOutput:{parameters:{AllowOrigin:{location:"header",sentAs:"access-control-allow-origin"},AllowHeader:{location:"header",sentAs:"access-control-allow-headers"},AllowMethod:{location:"header",sentAs:"access-control-allow-methods"},ExposeHeader:{location:"header",sentAs:"access-control-expose-headers"},MaxAgeSeconds:{location:"header",sentAs:"access-control-max-age"}}},SetMirrorBackToSource:{httpMethod:"PUT",urlPath:"mirrorBackToSource",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},Rules:{required:!0,location:"body"}}},SetMirrorBackToSourceOutput:{data:{type:"body"},parameters:{Rules:{location:"body"}}},GetMirrorBackToSource:{httpMethod:"GET",urlPath:"mirrorBackToSource",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},GetMirrorBackToSourceOutput:{data:{type:"body"},parameters:{Rules:{location:"body"}}},deleteMirrorBackToSource:{httpMethod:"DELETE",urlPath:"mirrorBackToSource",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},GetBucketDirectColdAccess:{httpMethod:"GET",urlPath:"directcoldaccess",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketDirectColdAccessOutput:{data:{type:"xml",xmlRoot:"DirectColdAccessConfiguration"},parameters:{Status:{location:"xml",sentAs:"Status"}}},SetBucketDirectColdAccess:{httpMethod:"PUT",urlPath:"directcoldaccess",data:{xmlRoot:"DirectColdAccessConfiguration",md5:!0},parameters:{Bucket:{required:!0,location:"uri"},Status:{required:!0,location:"xml",sentAs:"Status"}}},SetBucketDirectColdAccessOutput:{data:{type:"xml",xmlRoot:"DirectColdAccessConfiguration"},parameters:{Status:{location:"xml",sentAs:"Status"}}},DeleteBucketDirectColdAccess:{httpMethod:"DELETE",urlPath:"directcoldaccess",parameters:{Bucket:{required:!0,location:"uri"}}},DeleteBucketDirectColdAccessOutput:{data:{type:"xml",xmlRoot:"DirectColdAccessConfiguration"},parameters:{Status:{location:"xml",sentAs:"Status"}}},GetBucketCustomDomain:{httpMethod:"GET",urlPath:"customdomain",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketCustomDomainOutput:{data:{type:"xml",xmlRoot:"ListBucketCustomDomainsResult"},parameters:{Domains:{location:"xml",type:"array",sentAs:"Domains",items:{type:"object",parameters:{DomainName:{sentAs:"DomainName"},Value:{sentAs:"CreateTime"}}}}}},SetBucketCustomDomain:{httpMethod:"PUT",parameters:{Bucket:{required:!0,location:"uri"},DomainName:{location:"urlPath",sentAs:"customdomain"}}},DeleteBucketCustomDomain:{httpMethod:"DELETE",parameters:{Bucket:{required:!0,location:"uri"},DomainName:{location:"urlPath",sentAs:"customdomain"}}},GetCDNNotifyConfiguration:{httpMethod:"GET",urlPath:"CDNNotifyConfiguration",parameters:{Bucket:{required:!0,location:"uri"}}},GetCDNNotifyConfigurationOutput:{data:{type:"xml",xmlRoot:"CDNNotifyConfiguration"},parameters:{Domain:{location:"xml",type:"array",sentAs:"Domain",items:{type:"object",parameters:{Name:{sentAs:"Name"},Events:{type:"array",items:{type:"adapter"},sentAs:"Event"}}}}}},SetCdnNotifyConfiguration:{httpMethod:"PUT",urlPath:"CDNNotifyConfiguration",data:{xmlRoot:"CDNNotifyConfiguration",xmlAllowEmpty:!0},parameters:{Bucket:{required:!0,location:"uri"},Domain:CDNNotifyConfiguration}},GetQuota:{httpMethod:"GET",urlPath:"quota"},GetQuotaOutput:{data:{type:"xml",xmlRoot:"MaxBucketNumber"},parameters:{Size:{location:"xml",sentAs:"Number"}}},GetWorkflowTrigger:{httpMethod:"GET",urlPath:"triggerpolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},GetWorkflowTriggerOutput:{data:{type:"body"},parameters:{rules:{location:"body"}}},DeleteWorkflowTrigger:{httpMethod:"DELETE",urlPath:"triggerpolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"}}},CreateWorkflowTrigger:{httpMethod:"PUT",urlPath:"triggerpolicy",parameters:{Bucket:{required:!0,location:"uri"},ApiPath:{location:"uri"},Rule:{required:!0,location:"body"}}},RestoreFailedWorkflowExecution:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},Other_parameter:{required:!0,location:"uri",sentAs:"execution_name"},GraphName:{required:!0,location:"urlPath",sentAs:"x-workflow-graph-name"}}},CreateTemplate:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},Template:{required:!0,location:"body"}}},CreateWorkflow:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},Other_parameter:{required:!0,location:"uri",sentAs:"graph_name"},Workflow_create:{location:"urlPath",sentAs:"x-workflow-create"},Workflow:{required:!0,location:"body"}}},DeleteWorkflow:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"graph_name"}}},UpdateWorkflow:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"graph_name"},Graph_name:{required:!0,location:"body"}}},GetWorkflowList:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"graph_name_prefix"},XObsLimit:{type:"number",location:"urlPath",sentAs:"x-workflow-limit"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"},XObsStart:{type:"number",location:"urlPath",sentAs:"x-workflow-start"}}},GetWorkflowListOutput:{data:{type:"body"},parameters:{workflows:{location:"body"}}},GetWorkflowTemplateList:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"template_name_prefix"},Start:{type:"number",location:"urlPath",sentAs:"x-workflow-start"},Limit:{type:"number",location:"urlPath",sentAs:"x-workflow-limit"},"X-workflow-prefix":{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetWorkflowTemplateListOutput:{data:{type:"body"},parameters:{templates:{location:"body"}}},GetWorkflowInstanceList:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"execution_name_prefix"},Start:{type:"number",location:"urlPath",sentAs:"x-workflow-start"},Limit:{type:"number",location:"urlPath",sentAs:"x-workflow-limit"},Graph_name:{location:"urlPath",sentAs:"x-workflow-graph-name"},State:{location:"urlPath",sentAs:"x-workflow-execution-state"},"X-workflow-prefix":{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetWorkflowInstanceListOutput:{data:{type:"body"},parameters:{instances:{location:"body"}}},DeleteTemplate:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"template_name"}}},GetActionTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},Other_parameter:{location:"uri",sentAs:"template_name_prefix"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"},XObsCategory:{type:"String",location:"urlPath",sentAs:"x-workflow-category"}}},GetActionTemplatesOutput:{data:{type:"body"},parameters:{templates:{location:"body"}}},GetWorkflowAuthorization:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"}}},GetWorkflowAuthorizationOutput:{data:{type:"body"},parameters:{authorization:{location:"body"}}},OpenWorkflowAuthorization:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"}}},CreateOnlineDecom:{httpMethod:"PUT",urlPath:"obscompresspolicy",parameters:{Bucket:{required:!0,location:"uri"},Decom:{required:!0,location:"body"}}},GetOnlineDecom:{httpMethod:"GET",urlPath:"obscompresspolicy",parameters:{Bucket:{required:!0,location:"uri"}}},GetOnlineDecomOutput:{data:{type:"body"},parameters:{Decom:{location:"body"}}},DeleteOnlineDecom:{httpMethod:"DELETE",urlPath:"obscompresspolicy",parameters:{Bucket:{required:!0,location:"uri"}}},GetPublicationTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name_prefix"},XObsCategory:{location:"urlPath",sentAs:"x-workflow-category"},XObsOtatus:{location:"urlPath",sentAs:"x-workflow-status"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetPublicationTemplatesOutput:{data:{type:"body"},parameters:{PublishedTemplates:{location:"body"}}},GetPublicationTemplateDetail:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"}}},GetPublicationTemplateDetailOutput:{data:{type:"body"},parameters:{PublishTemplate:{location:"body"}}},GetWorkflowAgreements:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},XWorkflowType:{required:!0,location:"urlPath",sentAs:"x-workflow-type"}}},GetWorkflowAgreementsOutput:{data:{type:"body"},parameters:{authorization:{location:"body"}}},OpenWorkflowAgreements:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},XWorkflowType:{required:!0,location:"urlPath",sentAs:"x-workflow-type"}}},CreateMyActionTemplate:{httpMethod:"POST",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},ActionTemplate:{required:!0,location:"body"}}},CreateMyActionTemplateOutput:{data:{type:"body"},parameters:{ActionTemplate:{location:"body"}}},GetMyActionTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name_prefix"},XObsCategory:{location:"urlPath",sentAs:"x-workflow-category"},XObsOtatus:{location:"urlPath",sentAs:"x-workflow-status"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetMyActionTemplatesOutput:{data:{type:"body"},parameters:{ActionTemplates:{location:"body"}}},GetMyactiontemplateDetail:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"}}},GetMyactiontemplateDetailOutput:{data:{type:"body"},parameters:{ActionTemplate:{location:"body"}}},UpdateMyActionTemplate:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},ActionTemplate:{required:!0,location:"body"}}},UpdateMyActionTemplateOutput:{data:{type:"body"},parameters:{ActionTemplate:{location:"body"}}},DeleteMyActionTemplate:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"}}},ForbidMyActionTemplate:{httpMethod:"DELETE",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},XObsForbid:{location:"urlPath",sentAs:"x-workflow-forbid"}}},UpdatePublicActionTemplate:{httpMethod:"PUT",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name"},PublicAction:{required:!0,location:"body"}}},GetOmPublicActionTemplates:{httpMethod:"GET",parameters:{ApiPath:{location:"uri"},OtherParameter:{location:"uri",sentAs:"template_name_prefix"},XObsCategory:{location:"urlPath",sentAs:"x-workflow-category"},XObsOtatus:{location:"urlPath",sentAs:"x-workflow-status"},XObsPrefix:{location:"urlPath",sentAs:"x-workflow-prefix"}}},GetOmPublicActionTemplatesOutput:{data:{type:"body"},parameters:{Templates:{location:"body"}}},SetBucketAlias:{httpMethod:"PUT",urlPath:"obsbucketalias",data:{xmlRoot:"CreateBucketAlias"},parameters:{Bucket:{required:!0,location:"uri"},BucketList:{location:"xml",type:"object",sentAs:"BucketList",parameters:{Bucket:{location:"xml",type:"array",items:{parameters:{sentAs:"Bucket"}}}}}}},GetBucketAlias:{httpMethod:"GET",urlPath:"obsalias",parameters:{Bucket:{required:!0,location:"uri"}}},GetBucketAliasOutput:{data:{type:"xml",xmlRoot:"AliasList"},parameters:{BucketAlias:{location:"xml",type:"object",sentAs:"BucketAlias",parameters:{Alias:{sentAs:"Alias"},BucketList:{sentAs:"Bucket",location:"xml",type:"array",wrapper:"BucketList",items:{type:"string"}}}}}},DeleteBucketAlias:{httpMethod:"DELETE",urlPath:"obsbucketalias",parameters:{Bucket:{required:!0,location:"uri"}}},BindBucketAlias:{httpMethod:"PUT",urlPath:"obsalias",data:{xmlRoot:"AliasList"},parameters:{Bucket:{required:!0,location:"uri"},Alias:{location:"xml",type:"string",sentAs:"Alias"}}},BindBucketAliasOutput:{data:{xmlRoot:"AliasList"},parameters:{Bucket:{required:!0,location:"uri"},Alias:{location:"xml",type:"string",sentAs:"Alias"}}},UnbindBucketAlias:{httpMethod:"DELETE",urlPath:"obsalias",parameters:{Bucket:{required:!0,location:"uri"}}},ListBucketsAlias:{httpMethod:"GET",urlPath:"obsbucketalias"},ListBucketsAliasOutput:{data:{type:"xml",xmlRoot:"ListBucketAliasResult"},parameters:{BucketAliasList:{location:"xml",sentAs:"BucketAliasList",type:"object",parameters:{BucketAlias:{location:"xml",type:"array",sentAs:"BucketAlias",items:{type:"object",parameters:{Alias:{sentAs:"Alias"},CreationDate:{sentAs:"CreationDate"},BucketList:{location:"xml",type:"object",sentAs:"BucketList",parameters:{Bucket:{location:"xml",type:"array",items:{parameters:{sentAs:"Bucket"}}}}}}}}}},Owner:{location:"xml",sentAs:"Owner",type:"object",parameters:{ID:{sentAs:"ID"}}}}}},crypto={createHmac:function(ee,te){let ae;ee==="sha1"?ae="SHA-1":ee==="sha512"?ae="SHA-512":ae="SHA-256";let ne=new rt$1(ae,"TEXT");return ne.setHMACKey(te,te instanceof ArrayBuffer?"ARRAYBUFFER":"TEXT"),{update:function(ie){return ne.update(ie),this},digest:function(ie){return ie==="hex"?ne.getHMAC("HEX"):ie==="base64"?ne.getHMAC("B64"):ne.getHMAC("ARRAYBUFFER")}}},createHash:function(ee){if(ee==="md5")return{update:function(ne){return this.message?this.message+=ne:this.message=ne,this},digest:function(ne){return ne==="hex"?md5(this.message):ne==="base64"?(window.btoa?window.btoa:gBase64.encode)(md5(this.message,!1,!0)):ne==="rawbase64"?(window.btoa?window.btoa:gBase64.encode)(md5(this.message,!1,!0)):md5(this.message,!1,!0)}};let te;ee==="sha1"?te="SHA-1":ee==="sha512"?te="SHA-512":te="SHA-256";let ae=new rt$1(te,"TEXT");return{update:function(ne){return ae.update(ne),this},digest:function(ne){return ne==="hex"?ae.getHash("HEX"):ne==="base64"?ae.getHash("B64"):ae.getHash("ARRAYBUFFER")}}}},urlLib={parse:function(ee){let te=URI.parse(ee);return{hostname:te.hostname,port:te.port,host:te.hostname,protocol:te.protocol?te.protocol+":":"",query:te.query,path:te.path+(te.query?"?"+te.query:""),pathname:te.path,search:te.query?"?"+te.query:""}}},CONTENT_SHA256="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",OBS_SDK_VERSION="3.22.3",mimeTypes={"7z":"application/x-7z-compressed",aac:"audio/x-aac",ai:"application/postscript",aif:"audio/x-aiff",asc:"text/plain",asf:"video/x-ms-asf",atom:"application/atom+xml",avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",cer:"application/pkix-cert",crl:"application/pkix-crl",crt:"application/x-x509-ca-cert",css:"text/css",csv:"text/csv",cu:"application/cu-seeme",deb:"application/x-debian-package",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",dvi:"application/x-dvi",eot:"application/vnd.ms-fontobject",eps:"application/postscript",epub:"application/epub+zip",etx:"text/x-setext",flac:"audio/flac",flv:"video/x-flv",gif:"image/gif",gz:"application/gzip",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",ini:"text/plain",iso:"application/x-iso9660-image",jar:"application/java-archive",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",js:"text/javascript",json:"application/json",latex:"application/x-latex",log:"text/plain",m4a:"audio/mp4",m4v:"video/mp4",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4a:"audio/mp4",mp4v:"video/mp4",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"video/mpeg",mpg4:"video/mp4",oga:"audio/ogg",ogg:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",pbm:"image/x-portable-bitmap",pdf:"application/pdf",pgm:"image/x-portable-graymap",png:"image/png",pnm:"image/x-portable-anymap",ppm:"image/x-portable-pixmap",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",ps:"application/postscript",qt:"video/quicktime",rar:"application/x-rar-compressed",ras:"image/x-cmu-raster",rss:"application/rss+xml",rtf:"application/rtf",sgm:"text/sgml",sgml:"text/sgml",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",torrent:"application/x-bittorrent",ttf:"application/x-font-ttf",txt:"text/plain",wav:"audio/x-wav",webm:"video/webm",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",woff:"application/x-font-woff",wsdl:"application/wsdl+xml",xbm:"image/x-xbitmap",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xpm:"image/x-xpixmap",xwd:"image/x-xwindowdump",yaml:"text/yaml",yml:"text/yaml",zip:"application/zip"},allowedResourceParameterNames=["inventory","acl","backtosource","policy","torrent","logging","location","storageinfo","quota","storageclass","storagepolicy","mirrorbacktosource","requestpayment","versions","versioning","versionid","uploads","uploadid","partnumber","website","notification","replication","lifecycle","deletebucket","delete","cors","restore","tagging","append","position","response-content-type","response-content-language","response-expires","response-cache-control","response-content-disposition","response-content-encoding","x-image-process","x-oss-process","encryption","obsworkflowtriggerpolicy","x-workflow-limit","x-workflow-prefix","x-workflow-start","x-workflow-template-name","x-workflow-graph-name","x-workflow-execution-state","x-workflow-category","x-workflow-prefix","x-workflow-create","directcoldaccess","customdomain","cdnnotifyconfiguration","metadata","dispolicy","obscompresspolicy","template_name","template_name_prefix","x-workflow-status","x-workflow-type","x-workflow-forbid","sfsacl","obsbucketalias","obsalias"],allowedResponseHttpHeaderMetadataNames=["content-type","content-md5","content-length","content-language","expires","origin","cache-control","content-disposition","content-encoding","x-default-storage-class","location","date","etag","host","last-modified","content-range","x-reserved","access-control-allow-origin","access-control-allow-headers","access-control-max-age","access-control-allow-methods","access-control-expose-headers","connection","x-obs-location-clustergroup-id"],commonHeaders={"content-length":"ContentLength",date:"Date","x-reserved":"Reserved"},obsAllowedStorageClass=["STANDARD","WARM","COLD"],v2AllowedStorageClass=["STANDARD","STANDARD_IA","GLACIER"],obsAllowedAcl=["private","public-read","public-read-write","public-read-delivered","public-read-write-delivered"],v2AllowedAcl=["private","public-read","public-read-write","authenticated-read","bucket-owner-read","bucket-owner-full-control","log-delivery-write"],obsAllowedUri=["Everyone","LogDelivery"],v2AllowedUri=["http://acs.amazonaws.com/groups/global/AllUsers","http://acs.amazonaws.com/groups/global/AuthenticatedUsers","http://acs.amazonaws.com/groups/s3/LogDelivery"],obsAllowedEvent=["ObjectCreated","ObjectRemoved","ObjectCreated:*","ObjectCreated:Put","ObjectCreated:Post","ObjectCreated:Copy","ObjectCreated:CompleteMultipartUpload","ObjectRemoved:*","ObjectRemoved:Delete","ObjectRemoved:DeleteMarkerCreated"],v2AllowedEvent=["ObjectCreated","ObjectRemoved","s3:ObjectCreated:*","s3:ObjectCreated:Put","s3:ObjectCreated:Post","s3:ObjectCreated:Copy","s3:ObjectCreated:CompleteMultipartUpload","s3:ObjectRemoved:*","s3:ObjectRemoved:Delete","s3:ObjectRemoved:DeleteMarkerCreated"],ignoreNegotiationMethod=["CreateBucket","SetBucketAlias","BindBucketAlias","UnbindBucketAlias","DeleteBucketAlias","GetBucketAlias"],negotiateMethod="HeadApiVersion",obsSignatureContext={signature:"obs",headerPrefix:"x-obs-",headerMetaPrefix:"x-obs-meta-",authPrefix:"OBS"},v2SignatureContext={signature:"v2",headerPrefix:"x-amz-",headerMetaPrefix:"x-amz-meta-",authPrefix:"AWS"};function encodeURIWithSafe(ee,te,ae){if(ee=String(ee),ee.length===0)return"";if(ae)return ee;let ne;if(te){ne=[];for(const ie of ee)ne.push(te.indexOf(ie)>=0?ie:encodeURIComponent(ie));ne=ne.join("")}else ne=encodeURIComponent(ee);return ne.replace(/!/g,"%21").replace(/\*/g,"%2A").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29")}function headerTostring(ee){return JSON?JSON.stringify(ee):""}function parseObjectFromHeaders(ee,te){let ae={};for(let ne in te)if({}.hasOwnProperty.call(te,ne)){let ie=String(ne).toLowerCase();ie.indexOf(ee)===0&&(ae[ie.slice(ee.length)]=te[ne])}return ae}function isArray$3(ee){return Object.prototype.toString.call(ee)==="[object Array]"}function isFunction$2$1(ee){return Object.prototype.toString.call(ee)==="[object Function]"}function isObject$6(ee){return Object.prototype.toString.call(ee)==="[object Object]"}function makeObjFromXml(ee,te){if(typeof ee=="object")return te(null,ee);try{return te(null,xml2js.parseString(ee))}catch(ae){return te(ae,null)}}function getExpireDate(ee){let te=new Date(Date.parse(ee)),ae=te.getUTCHours(),ne=te.getUTCMinutes(),ie=te.getUTCSeconds(),oe=te.getUTCDate(),se=te.getUTCMonth()+1,le=te.getUTCFullYear(),ue="";return ue+=le+"-",se<10&&(ue+="0"),ue+=se+"-",oe<10&&(ue+="0"),ue+=oe+"T",ae<10&&(ue+="0"),ue+=ae+":",ne<10&&(ue+="0"),ue+=ne+":",ie<10&&(ue+="0"),ue+=ie+"Z",ue}function getDates(ee){let te=new Date(Date.parse(ee)),ae=te.getUTCHours(),ne=te.getUTCMinutes(),ie=te.getUTCSeconds(),oe=te.getUTCDate(),se=te.getUTCMonth()+1,le=te.getUTCFullYear(),ue="",ce="";return ue+=le,se<10&&(ue+="0"),ue+=se,oe<10&&(ue+="0"),ue+=oe,ce+=ue+"T",ae<10&&(ce+="0"),ce+=ae,ne<10&&(ce+="0"),ce+=ne,ie<10&&(ce+="0"),ce+=ie+"Z",[ue,ce]}function getSignedAndCanonicalHeaders(ee){let te=[],ae={};for(let oe in ee)({}).hasOwnProperty.call(ee,oe)&&(te.push(oe.toLowerCase()),ae[oe.toLowerCase()]=ee[oe]);te=te.sort();let ne="",ie="";for(let oe=0;oe<te.length;oe++)oe!==0&&(ne+=";"),ne+=te[oe],ie+=te[oe]+":"+ae[te[oe]]+`
-`;return[ne,ie]}function createV4Signature(ee,te,ae,ne){let ie=crypto.createHmac("sha256","AWS4"+te).update(ee).digest(),oe=crypto.createHmac("sha256",ie).update(ae).digest(),se=crypto.createHmac("sha256",oe).update("s3").digest(),le=crypto.createHmac("sha256",se).update("aws4_request").digest();return crypto.createHmac("sha256",le).update(ne).digest("hex")}function getV4Signature(ee,te,ae,ne,ie){let oe=ee+"/"+ne+"/s3/aws4_request",se=`AWS4-HMAC-SHA256
-`;return se+=te+`
-`,se+=oe+`
-`,se+=crypto.createHash("sha256").update(ie).digest("hex"),createV4Signature(ee,ae,ne,se)}function Utils(ee){this.log=ee,this.ak=null,this.sk=null,this.securityToken=null,this.isSecure=!0,this.server=null,this.pathStyle=!1,this.signatureContext=null,this.isSignatureNegotiation=!0,this.bucketSignatureCache={},this.region="region",this.port=null,this.timeout=300,this.obsSdkVersion=OBS_SDK_VERSION,this.isCname=!1,this.bucketEventEmitters={},this.useRawXhr=!1}Utils.prototype.encodeURIWithSafe=encodeURIWithSafe;Utils.prototype.mimeTypes=mimeTypes;Utils.prototype.refresh=function(ee,te,ae){this.ak=ee?String(ee).trim():null,this.sk=te?String(te).trim():null,this.securityToken=ae?String(ae).trim():null};Utils.prototype.initFactory=function(ee,te,ae,ne,ie,oe,se,le,ue,ce,de,he,fe,pe,ve,ge){if(this.refresh(ee,te,ce),this.urlPrefix=fe||"",this.regionDomains=pe||null,this.setRequestHeaderHook=ve||null,!ne)throw new Error("Server is not set");ne=String(ne).trim(),ne.indexOf("https://")===0?(ne=ne.slice(8),ae=!0):ne.indexOf("http://")===0&&(ne=ne.slice(7),ae=!1);let me=ne.lastIndexOf("/");for(;me>=0;)ne=ne.slice(0,me),me=ne.lastIndexOf("/");me=ne.indexOf(":"),me>=0&&(le=ne.slice(me+1),ne=ne.slice(0,me)),this.server=ne,/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/.test(this.server)&&(ie=!0),ae!==void 0&&(this.isSecure=ae),ie!==void 0&&(this.pathStyle=ie),oe!==void 0?oe=String(oe).trim().toLowerCase():oe="obs",de!==void 0&&(this.isSignatureNegotiation=de),this.isCname=he,(this.pathStyle||this.isCname)&&(this.isSignatureNegotiation=!1,oe==="obs"&&(oe="v2")),this.signatureContext=oe==="obs"?obsSignatureContext:v2SignatureContext,se!==void 0&&(this.region=String(se)),this.port=le?parseInt(le,10):this.isSecure?443:80,ue!==void 0&&(this.timeout=parseInt(ue,10)),ge!==void 0&&(this.useRawXhr=ge)};Utils.prototype.SseKmsAdapter=function(ee,te){ee=ee||"",ee=String(ee);let ae=ee.indexOf("aws:");return te.signature==="obs"?ae===0?ee.slice(4):ee:ae===0?ee:"aws:"+ee};Utils.prototype.BucketAdapter=function(ee,te){ee=ee||"",ee=String(ee);let ae=ee.indexOf("arn:aws:s3:::");return te.signature==="obs"?ae===0?ee.slice(13):ee:ae===0?ee:"arn:aws:s3:::"+ee};Utils.prototype.EventAdapter=function(ee,te){return ee=ee||"",ee=String(ee),te.signature==="obs"?obsAllowedEvent.indexOf(ee)>=0?ee:v2AllowedEvent.indexOf(ee)>=0?ee.substring(3):"":v2AllowedEvent.indexOf(ee)>=0?ee:obsAllowedEvent.indexOf(ee)>=0?"s3:"+ee:""};Utils.prototype.URIAdapter=function(ee,te){return ee=ee||"",ee=String(ee),te.signature==="obs"?obsAllowedUri.indexOf(ee)>=0?ee:ee==="AllUsers"||ee==="http://acs.amazonaws.com/groups/global/AllUsers"?"Everyone":"":v2AllowedUri.indexOf(ee)>=0?ee:ee==="Everyone"||ee==="AllUsers"?"http://acs.amazonaws.com/groups/global/AllUsers":ee==="AuthenticatedUsers"?"http://acs.amazonaws.com/groups/global/AuthenticatedUsers":ee==="LogDelivery"?"http://acs.amazonaws.com/groups/s3/LogDelivery":""};Utils.prototype.StorageClassAdapter=function(ee,te){return ee=ee||"",ee=String(ee).toUpperCase(),te.signature==="obs"?obsAllowedStorageClass.indexOf(ee)>=0?ee:ee==="STANDARD_IA"?"WARM":ee==="GLACIER"?"COLD":"":v2AllowedStorageClass.indexOf(ee)>=0?ee:ee==="WARM"?"STANDARD_IA":ee==="COLD"?"GLACIER":""};Utils.prototype.ACLAdapter=function(ee,te){return ee=ee||"",ee=String(ee).toLowerCase(),te.signature==="obs"?obsAllowedAcl.indexOf(ee)>=0?ee:"":(ee==="public-read-delivered"?ee="public-read":ee==="public-read-write-delivered"&&(ee="public-read-write"),v2AllowedAcl.indexOf(ee)>=0?ee:"")};Utils.prototype.doExec=function(ee,te,ae){let ne=this.makeParam(ee,te);if("err"in ne)return ae(ne.err,null);this.sendRequest(ee,ne,ae)};Utils.prototype.doNegotiation=function(ee,te,ae,ne,ie,oe){let se=null,le=this;if(ie&&te.Bucket){let ue=this.bucketSignatureCache[te.Bucket];if(ue&&ue.signatureContext&&ue.expireTime>new Date().getTime()){te.signatureContext=ue.signatureContext;let ce=this.makeParam(ee,te);return"err"in ce?ae(ce.err,null):(ce.signatureContext=ue.signatureContext,this.sendRequest(ee,ce,ae))}if(se=this.bucketEventEmitters[te.Bucket],se||(se={s:0,n:function(){for(;this.e&&this.e.length>0;)this.e.shift()()}},this.bucketEventEmitters[te.Bucket]=se),se.s){se.e.push(function(){le.doNegotiation(ee,te,ae,ne,ie,oe)});return}se.e=[],se.s=1}this.doExec(negotiateMethod,ne?{Bucket:te.Bucket}:{},function(ue,ce){if(ue){ae(ue,null),se&&(se.s=0,se.n());return}if(ne&&ce.CommonMsg.Status===404||ce.CommonMsg.Status>=500){ae(ue,ce),se&&(se.s=0,se.n());return}let de=v2SignatureContext;ce.CommonMsg.Status<300&&ce.InterfaceResult&&ce.InterfaceResult.ApiVersion>="3.0"&&(de=obsSignatureContext),oe&&(le.bucketSignatureCache[te.Bucket]={signatureContext:de,expireTime:new Date().getTime()+15+Math.ceil(Math.random()*5)*60*1e3}),se&&(se.s=0,se.n()),te.signatureContext=de;let he=le.makeParam(ee,te);if("err"in he)return ae(he.err,null);he.signatureContext=de,le.sendRequest(ee,he,ae)})};Utils.prototype.exec=function(ee,te,ae){let ne=this;if(ne.isSignatureNegotiation&&ee!==negotiateMethod){if(ee==="ListBuckets")ne.doNegotiation(ee,te,ae,!1,!1,!1);else if(ignoreNegotiationMethod.indexOf(ee)>-1){let ie=function(oe,se){if(!oe&&se.CommonMsg.Status===400&&se.CommonMsg.Message==="Unsupported Authorization Type"&&te.signatureContext&&te.signatureContext.signature==="v2"){te.signatureContext=v2SignatureContext;let le=ne.makeParam(ee,te);if("err"in le)return ae(le.err,null);le.signatureContext=te.signatureContext,ne.sendRequest(ee,le,ae);return}ae(oe,se)};ne.doNegotiation(ee,te,ie,!1,!0,!1)}else ne.doNegotiation(ee,te,ae,!0,!0,!0);return}ne.doExec(ee,te,ae)};Utils.prototype.sliceBlob=function(ee,te,ae,ne){return ne=ne||ee.type,ee.mozSlice?ee.mozSlice(te,ae,ne):ee.webkitSlice?ee.webkitSlice(te,ae,ne):ee.slice(te,ae,ne)};Utils.prototype.toXml=function(ee,te,ae,ne,ie){let oe="";if(ae!==null)return oe+=this.buildXml(ee,te,ae,ne,ie),oe;for(let se in te)if(se in ee){let le=te[se].sentAs||se;oe+=this.buildXml(ee,te[se],se,le,ie)}return oe};Utils.prototype.buildXml=function(ee,te,ae,ne,ie){let oe="",se=te.type;if(se==="array")for(let le=0;le<ee[ae].length;le++)if(te.items.type==="object"){if(!ee[ae][le])return oe;let ue=this.toXml(ee[ae][le],te.items.parameters,null,null,ie);ue!==""&&(oe+="<"+ne+">"+ue+"</"+ne+">")}else te.items.type==="adapter"?oe+="<"+ne+">"+String(this[ae+"Adapter"](ee[ae][le],ie)).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;")+"</"+ne+">":te.items.type!=="array"&&(oe+="<"+ne+">"+String(ee[ae][le]).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;")+"</"+ne+">");else if(se==="object"){if(!ee[ae])return oe;let le=this.toXml(ee[ae],te.parameters,null,null,ie);le!==""&&(oe+="<"+ne,"data"in te&&("xsiNamespace"in te.data&&(oe+=' xmlns:xsi="'+te.data.xsiNamespace+'"'),"xsiType"in te.data&&(oe+=' xsi:type="'+ee[ae][te.data.xsiType]+'"')),oe+=">",oe+=le+"</"+ne+">")}else se==="adapter"?oe+="<"+ne+">"+String(this[ae+"Adapter"](ee[ae],ie)).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;")+"</"+ne+">":se!=="ignore"&&(oe+="<"+ne+">"+String(ee[ae]).replace(/&/g,"&amp;").replace(/'/g,"&apos;").replace(/"/g,"&quot;")+"</"+ne+">");if(oe&&te.wrapper){let le=te.wrapper;oe="<"+le+">"+oe+"</"+le+">"}return oe};Utils.prototype.jsonToObject=function(ee,te,ae,ne){let ie={};if(ae!==null)this.buildObject(ee,te,ae,ie,ne);else for(let oe in ee)({}).hasOwnProperty.call(ee,oe)&&this.buildObject(ee,te,oe,ie,ne);return ie};Utils.prototype.buildObject=function(ee,te,ae,ne,ie){let oe=function(se){return se&&ee[ae].decode&&ie?decodeURIComponent(se.replace(/\+/g,"%20")):se};if(isObject$6(te)){let se=!0,le=ee[ae].wrapper;if(le&&le in te&&(te=te[le],se=isObject$6(te)),se){let ue=ee[ae].sentAs||ae;if(ue in te)if(ee[ae].type==="object")ne[ae]=this.jsonToObject(ee[ae].parameters,te[ue],null,ie);else if(ee[ae].type==="array"){let ce=[];if(!isArray$3(te[ue]))ce[0]=ee[ae].items.type==="object"?this.jsonToObject(ee[ae].items.parameters,te[ue],null,ie):oe(te[ue]["#text"]||"");else for(let de=0;de<te[ue].length;de++)ce[de]=ee[ae].items.type==="object"?this.jsonToObject(ee[ae].items.parameters,te[ue][de],null,ie):oe(te[ue][de]["#text"]);ne[ae]=ce}else ne[ae]=oe(te[ue]["#text"])}}ne[ae]===void 0&&(ee[ae].type==="object"?ne[ae]=ee[ae].parameters?this.jsonToObject(ee[ae].parameters,null,null,ie):{}:ee[ae].type==="array"&&(ne[ae]=[]))};Utils.prototype.makeParam=function(ee,te){let ae=te.signatureContext||this.signatureContext,ne=ae.signature==="obs"?operations$1[ee]:operations[ee],ie=ne.httpMethod,oe="/",se="",le="",ue={},ce={};ce.$requestParam=te,"urlPath"in ne&&(se+="?",se+=ne.urlPath);for(let he in ne.parameters)if({}.hasOwnProperty.call(ne.parameters,he)){let fe=ne.parameters[he];if(he==="Bucket"&&this.isCname)continue;let pe=te[he];if(fe.type==="callback"&&pe===void 0&&fe.parameters&&(te.CallbackUrl!==void 0||te.CallbackBody!==void 0)){pe={};for(let ve of Object.keys(fe.parameters)){const ge=fe.parameters[ve],me=te[ve];if(ge.required&&(me==null||Object.prototype.toString.call(me)==="[object String]"&&me===""))return ce.err=ve+" is a required element!",this.log.runLog("error",ee,ce.err),ce;const ye=ve.slice(0,1).toLowerCase()+ve.slice(1);pe[ye]=me}}if(fe.required&&(pe==null||Object.prototype.toString.call(pe)==="[object String]"&&pe===""))return ce.err=he+" is a required element!",this.log.runLog("error",ee,ce.err),ce;if(pe!=null){if(fe.type==="srcFile"||fe.type==="dstFile"){ce[fe.type]=pe;continue}fe.type==="plain"&&(ce[he]=pe);let ve=fe.sentAs||he;if(fe.withPrefix&&(ve=ae.headerPrefix+ve),fe.location==="uri")oe!=="/"&&(oe+="/"),oe+=pe;else if(fe.location==="header"){let ge=fe.encodingSafe||" ;/?:@&=+$,";if(fe.type==="object"){if(ae.headerMetaPrefix===ve){for(let me in pe)if({}.hasOwnProperty.call(pe,me)){let ye=pe[me];me=String(me).trim().toLowerCase(),ue[me.indexOf(ve)===0?me:ve+me]=encodeURIWithSafe(ye,ge)}}}else if(fe.type==="array"){let me=[];for(let ye in pe)({}).hasOwnProperty.call(pe,ye)&&(me[ye]=encodeURIWithSafe(pe[ye],ge));ue[ve]=me}else if(fe.type==="password"){let me=window.btoa?window.btoa:gBase64.encode;ue[ve]=me(pe);let ye=fe.pwdSentAs||ve+"-MD5";ue[ye]=this.rawBufMD5(pe)}else if(fe.type==="number"&&Number(pe))ue[ve]=encodeURIWithSafe(String(pe),ge);else if(fe.type==="boolean")ue[ve]=encodeURIWithSafe(pe?"true":"false",ge);else if(fe.type==="callback")ue[ve]=gBase64.encode(JSON.stringify(pe));else if(fe.type==="adapter"){let me=this[he+"Adapter"](pe,ae);me&&(ue[ve]=encodeURIWithSafe(String(me),ge))}else ue[ve]=encodeURIWithSafe(String(pe),ge,fe.skipEncoding)}else if(fe.location==="urlPath"){let ge=se===""?"?":"&",me=pe;(fe.type!=="number"||fe.type==="number"&&Number(me)>=0)&&(se+=ge+encodeURIWithSafe(ve,"/")+"="+encodeURIWithSafe(String(me),"/"))}else if(fe.location==="xml"){let ge=this.toXml(te,fe,he,ve,ae);ge&&(le+=ge)}else fe.location==="body"&&(le=pe)}}let de=ce.dstFile==="file";if(!("Content-Type"in ue)&&!de&&(ue["Content-Type"]="binary/octet-stream"),"data"in ne&&"xmlRoot"in ne.data&&(le||ne.data.xmlAllowEmpty)){let he=ne.data.xmlRoot;le="<"+he+">"+le+"</"+he+">",ue["Content-Type"]="application/xml"}if(de&&(ce.rawUri=oe),ue.Host=this.server+(this.port===80||this.port===443?"":":"+this.port),!this.pathStyle&&!this.isCname){let he=oe.split("/");if(he.length>=2&&he[1]){ue.Host=he[1]+"."+ue.Host;let fe=oe.replace(he[1],"");fe.indexOf("//")===0&&(fe=fe.slice(1)),ae.signature==="v4"?oe=fe:fe==="/"&&(oe+="/"),ce.requestUri=encodeURIWithSafe(fe,"/")}}if(ce.method=ie,ce.uri=encodeURIWithSafe(oe,"/"),ce.urlPath=se,le&&(ne.data&&ne.data.md5&&(ue["Content-MD5"]=this.bufMD5(le),ue["Content-Length"]=le.length===0?"0":String(le.length)),ce.xml=le,this.log.runLog("debug",ee,"request content:"+le)),ce.headers=ue,"srcFile"in ce&&(ce.srcFile instanceof window.File||ce.srcFile instanceof window.Blob)){let he=ce.srcFile.size;if("Content-Length"in ce.headers||"PartSize"in ce||"Offset"in ce){let fe=ce.Offset;fe=fe&&fe>=0&&fe<he?fe:0;let pe;"PartSize"in ce?pe=ce.PartSize:"Content-Length"in ce.headers?pe=parseInt(ce.headers["Content-Length"],10):pe=he,pe=pe&&pe>0&&pe<=he-fe?pe:he-fe,ce.PartSize=pe,ce.Offset=fe,ce.headers["Content-Length"]=String(ce.PartSize)}}return ce};Utils.prototype.parseCommonHeaders=function(ee,te,ae){for(let ne in commonHeaders)({}).hasOwnProperty.call(commonHeaders,ne)&&(ee.InterfaceResult[commonHeaders[ne]]=te[ne]);ee.InterfaceResult.RequestId=te[ae.headerPrefix+"request-id"],ee.InterfaceResult.Id2=te[ae.headerPrefix+"id-2"],ee.CommonMsg.RequestId=ee.InterfaceResult.RequestId,ee.CommonMsg.Id2=ee.InterfaceResult.Id2};Utils.prototype.contrustCommonMsg=function(ee,te,ae,ne){ee.InterfaceResult={},this.parseCommonHeaders(ee,ae,ne);for(let ie in te){if(te[ie].location!=="header")continue;let oe=te[ie].sentAs||ie;if(te[ie].withPrefix&&(oe=ne.headerPrefix+oe),te[ie].type==="object")ee.InterfaceResult[ie]=parseObjectFromHeaders(oe,ae);else{let se=null;oe in ae?se=ae[oe]:oe.toLowerCase()in ae&&(se=ae[oe.toLowerCase()]),se!==null&&(ee.InterfaceResult[ie]=se)}}};Utils.prototype.getRequest=function(ee,te,ae,ne,ie,oe){let se=this.regionDomains,le={},ue=this.log,ce=ae.signature==="obs"?operations$1[ee+"Output"]:operations[ee+"Output"];ce=ce||{};let de=ce.parameters||{};le.CommonMsg={Status:te.status,Code:"",Message:"",HostId:"",RequestId:"",InterfaceResult:null};let he=te.headers,fe=headerTostring(he);ue.runLog("info",ee,"get response start, statusCode:"+te.status),ue.runLog("debug",ee,"response msg :statusCode:"+te.status+", headers:"+fe);let pe=function(){let me="Status:"+le.CommonMsg.Status+", Code:"+le.CommonMsg.Code+", Message:"+le.CommonMsg.Message;ue.runLog("debug",ee,"exec interface "+ee+" finish, "+me),oe(null,le)};if(te.status>=300&&te.status<400&&te.status!==304&&ne<=5){let me=he.location||he.Location;if(me){let _e="http code is 3xx, need to redirect to "+me;ue.runLog("warn",ee,_e);let be=new Error("redirect");return be.location=me,be.bucketLocation=he["x-amz-bucket-region"]||he["x-obs-bucket-region"],oe(be)}let ye=he["x-amz-bucket-region"]||he["x-obs-bucket-location"];if(ye&&se[ye]){let _e=(this.isSecure?"https://":"http://")+se[ye];isFunction$2$1(this.setRequestHeaderHook)&&this.setRequestHeaderHook(he,ie,ee,se[ye]);let be="get redirect code 3xx, need to redirect to"+_e;ue.runLog("error",ee,be);let xe=new Error("redirect");return xe.location=_e,oe(xe)}ue.runLog("error",ee,"get redirect code 3xx, but no location in headers")}if(te.status<300){let me=te.data;this.contrustCommonMsg(le,de,he,ae);let ye="Status: "+le.CommonMsg.Status+", headers: "+fe;if(me&&(ye+="body length: "+me.length,ue.runLog("debug",ee,"response body length:"+me.length)),ue.runLog("debug",ee,ye),me&&"data"in ce){if(ie.CallbackUrl&&ce.CallbackResponse){le.InterfaceResult[ce.CallbackResponse.sentAs]=me,pe();return}if(ce.data.type==="xml"){let _e=this;return makeObjFromXml(me,function(be,xe){if(be)return ue.runLog("error",ee,"change xml to json err ["+headerTostring(be)+"]"),oe(be,null);let $e=xe;ce.data.xmlRoot&&ce.data.xmlRoot in $e&&($e=xe[ce.data.xmlRoot]);let Se=!!$e.EncodingType;if(isObject$6($e))for(let we in de)de[we].location==="xml"&&(le.InterfaceResult[we]=_e.jsonToObject(de,$e,we,Se)[we]);pe()})}if(ce.data.type==="body"){for(let _e in de)if(de[_e].location==="body"){le.InterfaceResult[_e]=me;break}}}return pe()}let ve=te.data,ge="Status: "+le.CommonMsg.Status+", headers: "+fe;return ve!==""&&(ge+="body: "+ve,ue.runLog("debug",ee,"response body :"+ve)),le.CommonMsg.RequestId=he[ae.headerPrefix+"request-id"],le.CommonMsg.Id2=he[ae.headerPrefix+"id2"],le.CommonMsg.Indicator=he["x-reserved-indicator"],ue.runLog("info",ee,"request finished with request id:"+le.CommonMsg.RequestId),ue.runLog("debug",ee,ge),ve?makeObjFromXml(ve,function(me,ye){if(me)ue.runLog("error",ee,"change xml to json err ["+headerTostring(me)+"]"),le.CommonMsg.Message=me.message;else if(ye){if("Error"in ye){let _e=ye.Error;for(let be in _e)_e[be]&&_e[be]["#text"]&&(le.CommonMsg[be]=_e[be]["#text"])}else{let _e=ye;"code"in _e&&(le.CommonMsg.Code=_e.code),"message"in _e&&(le.CommonMsg.Message=_e.message),"hostId"in _e&&(le.CommonMsg.HostId=_e.hostId),"request_id"in _e&&_e.request_id&&(le.CommonMsg.RequestId=_e.request_id)}ue.runLog("error",ee,"request error with error code:"+le.CommonMsg.Code+", error message:"+le.CommonMsg.Message+", request id:"+le.CommonMsg.RequestId)}pe()}):pe()};Utils.prototype.makeRequest=function(ee,te,ae,ne){let ie=this.log,oe=te.xml||null,se=te.signatureContext||this.signatureContext;if(delete te.headers.Authorization,te.dstFile==="file"){let Me={};if(te.urlPath){let He=te.urlPath.slice(1).split("&");for(let qe=0;qe<He.length;qe++)if(He[qe].indexOf("=")===-1)Me[He[qe]]="";else{let Oe=He[qe].split("=");Me[Oe[0]]=Oe[1]}}let Ce=te.rawUri.split("/")[1],Ee=te.rawUri.slice(("/"+Ce+"/").length),Re={};Re.CommonMsg={Status:0,Code:"",Message:"",HostId:""},Re.InterfaceResult={};let Be=(se.signature==="obs"?operations$1[ee+"Output"]:operations[ee+"Output"]).parameters;for(let Ne in Be)if(Be[Ne].location==="body"){Re.InterfaceResult[Ne]=this.createSignedUrlSync({Method:te.method,Bucket:Ce,Key:Ee,Expires:3600,Headers:te.headers,QueryParams:Me,signatureContext:se});break}return ne(null,Re)}let le=te.$requestParam.RequestDate,ue,ce=Object.prototype.toString.call(le);if(ce==="[object Date]")ue=le;else if(ce==="[object String]")try{ue=new Date,ue.setTime(Date.parse(le))}catch{}ue||(ue=new Date);let de=ue.toUTCString(),he=se.signature.toLowerCase()==="v4";te.headers[se.headerPrefix+"date"]=he?getDates(de)[1]:de;let fe=(te.requestUri?te.requestUri:te.uri)+te.urlPath;this.ak&&this.sk&&ee!==negotiateMethod&&(this.securityToken&&(te.headers[se.headerPrefix+"security-token"]=this.securityToken),he?this.v4Auth(te,ee,se):this.doAuth(te,ee,se));let pe=te.headers;isFunction$2$1(this.setRequestHeaderHook)&&this.setRequestHeaderHook(pe,te.$requestParam,ee);let ve=pe.Host,ge=te.method,me={};for(let Me in pe)({}).hasOwnProperty.call(pe,Me)&&(me[Me]=pe[Me]);me.Authorization="****";let ye="method:"+ge+", path:"+fe+"headers:"+headerTostring(me);oe&&(ye+="body:"+oe),ie.runLog("info",ee,"prepare request parameters ok,then Send request to service start"),ie.runLog("debug",ee,"request msg:"+ye);let _e=te.protocol?te.protocol.toLowerCase().indexOf("https")===0:this.isSecure,be=te.port||this.port;delete pe.Host,delete pe["Content-Length"];let xe="text";te.dstFile&&te.dstFile!=="file"&&(te.dstFile==="arraybuffer"||te.dstFile==="blob")&&(xe=String(te.dstFile));let $e=ue.getTime(),Se=this,we=function(Me){try{let Ie=headerTostring(Me);ie.runLog("error",ee,"Send request to service error ["+Ie+"]")}catch{Me.toString&&ie.runLog("error",ee,"Send request to service error ["+Me.toString()+"]")}ie.runLog("info",ee,"http cost "+(new Date().getTime()-$e)+" ms"),ne(Me,null)};if(!this.useRawXhr){let Me=null,Ie=null;if(isFunction$2$1(te.ProgressCallback)){let Be=function(Ne){Ne.lengthComputable&&te.ProgressCallback(Ne.loaded,Ne.total,(new Date().getTime()-$e)/1e3)};ge==="GET"?Ie=Be:(ge==="PUT"||ge==="POST")&&(Me=Be)}let Ce=":"+be;ve.indexOf(":")>=0&&(Ce="");let Ee="",Re=_e?"https://":"http://";if(this.urlPrefix&&isFunction$2$1(this.setRequestHeaderHook)&&ee!=="InitiateMultipartUpload"&&ee!=="UploadPart"&&ee!=="CompleteMultipartUpload"){let Be=!0;(te.$requestParam.hasRegion||te.$requestParam.redirectRegion)&&(Be=!1);let Ne="";be===5443&&(Ne="-5443"),Be?te.$requestParam.Bucket?(te.$requestParam.Bucket.indexOf(".")!==-1&&(Ee=Re+this.urlPrefix+"/bucket"+Ne),Ee=Re+this.urlPrefix+"/bucket"+Ne):fe.split("?")[0]==="/"?Ee=Re+this.urlPrefix+Ne:Ee=Re+this.urlPrefix+"/place"+Ne:te.$requestParam.Bucket?Ee=Re+this.urlPrefix+"/region-bucket"+Ne:Ee=Re+this.urlPrefix+"/region"+Ne}else Ee=Re+ve+Ce;let ke={method:ge,url:Ee+fe,withCredentials:!1,headers:pe,validateStatus:function(Be){return Be>=200},maxRedirects:0,responseType:xe,data:oe,timeout:this.timeout*1e3,onUploadProgress:Me,onDownloadProgress:Ie,cancelToken:new axios$3.CancelToken(function(Be){te.$requestParam.cancelHook=Be})};if(te.srcFile){if(!(te.srcFile instanceof window.File)&&!(te.srcFile instanceof window.Blob))return ne(new Error("source file must be an instance of window.File or window.Blob"),null);let Be=te.srcFile;try{if(te.Offset>=0&&te.PartSize>0)Be=this.sliceBlob(Be,te.Offset,te.Offset+te.PartSize);else if("ContentLength"in te){let Ne=parseInt(te.ContentLength,10);Ne>0&&(Be=this.sliceBlob(Be,0,Ne))}}catch(Ne){return ne(Ne)}ke.data=Be}axios$3.request(ke).then(function(Be){ie.runLog("info",ee,"http cost "+(new Date().getTime()-$e)+" ms"),Se.getRequest(ee,Be,se,ae,te.$requestParam,ne)}).catch(function(Be){we(Be)});return}let Ae=null;try{Ae=new XMLHttpRequest}catch{try{Ae=new ActiveXObject("Msxml2.XMLHTTP")}catch{try{Ae=new ActiveXObject("Microsoft.XMLHTTP")}catch{}}}if(Ae===null)return ne(new Error("XHR is not available"),null);if(te.srcFile){if(!(te.srcFile instanceof window.File)&&!(te.srcFile instanceof window.Blob))return ne(new Error("source file must be an instance of window.File or window.Blob"),null);try{let Me=te.srcFile;if(te.Offset>=0&&te.PartSize>0)Me=this.sliceBlob(Me,te.Offset,te.Offset+te.PartSize);else if("ContentLength"in te){let Ie=parseInt(te.ContentLength,10);Ie>0&&(Me=this.sliceBlob(Me,0,Ie))}oe=Me}catch(Me){return ne(Me)}}Ae.open(ge,(_e?"https://"+this.urlPrefix+ve:"http://"+this.urlPrefix+ve)+fe),Ae.withCredentials=!1;for(let Me in pe)({}).hasOwnProperty.call(pe,Me)&&Ae.setRequestHeader(Me,pe[Me]);Ae.timeout=Se.timeout*1e3,Ae.responseType=xe,te.$requestParam.cancelHook=function(){Ae.abort()},Ae.onreadystatechange=function(){if(Ae.readyState===4&&Ae.status>=200){ie.runLog("info",ee,"http cost "+(new Date().getTime()-$e)+" ms");let Ie=Ae.getAllResponseHeaders().trim().split(/[\r\n]+/),Ce={};for(let ke=0;ke<Ie.length;ke++){let Ne=Ie[ke].split(": "),He=Ne.shift(),qe=Ne.join(": ");Ce[He.toLowerCase()]=qe}let Ee=Ae.response;!Ee&&(xe===""||xe==="text")&&(Ee=Ae.responseText);let Re={status:Ae.status,headers:Ce,data:Ee};Se.getRequest(ee,Re,se,ae,te.$requestParam,ne)}};let Te=!1,De=function(Me){Te||(Te=!0,we(Me))};Ae.ontimeout=function(){De(new Error("timeout of "+Ae.timeout+"ms exceed"))},Ae.onerror=function(){De(new Error("Network Error"))},Ae.onabort=function(){De(new Error("Cancel"))},Ae.upload&&(Ae.upload.ontimeout=function(){De(new Error("timeout of "+Ae.timeout+"ms exceed"))},Ae.upload.onerror=function(){De(new Error("Network Error"))},Ae.upload.onabort=function(Me){De(new Error("Cancel"))}),isFunction$2$1(te.ProgressCallback)&&(ge==="GET"||!Ae.upload?Ae.onprogress=function(Me){Me.lengthComputable&&te.ProgressCallback(Me.loaded,Me.total,(new Date().getTime()-$e)/1e3)}:(ge==="PUT"||ge==="POST")&&(Ae.upload.onprogress=function(Me){Me.lengthComputable&&te.ProgressCallback(Me.loaded,Me.total,(new Date().getTime()-$e)/1e3)})),Ae.send(oe)};Utils.prototype.sendRequest=function(ee,te,ae,ne){ne===void 0&&(ne=1);let ie=this;ie.makeRequest(ee,te,ne,function(oe,se){if(oe&&oe.message==="redirect"){let le=urlLib.parse(oe.location);oe.bucketLocation&&le.hostname.indexOf(te.$requestParam.Bucket)!==-1&&(te.$requestParam.redirectRegion=oe.bucketLocation),te.headers.Host=le.hostname,te.protocol=le.protocol,te.port=le.port||(te.protocol&&te.protocol.toLowerCase().indexOf("https")===0?443:80),ie.sendRequest(ee,te,ae,ne+1)}else ae(oe,se)})};Utils.prototype.doAuth=function(ee,te,ae){let ne=["Content-MD5","Content-Type"],ie=ee.method+`
-`;for(let le=0;le<ne.length;le++)ne[le]in ee.headers&&(ie+=ee.headers[ne[le]]),ie+=`
-`;ae.headerPrefix+"date"in ee.headers||(ie+=ee.headers.Date),ie+=`
-`;let oe=[];for(let le in ee.headers)if({}.hasOwnProperty.call(ee.headers,le)){let ue=le.toLowerCase();ue.indexOf(ae.headerPrefix)===0&&oe.push({key:ue,value:ee.headers[le]})}oe=oe.sort(function(le,ue){return le.key<ue.key?-1:le.key>ue.key?1:0});for(let le=0;le<oe.length;le++){let ue=oe[le].key,ce=ue.indexOf(ae.headerMetaPrefix)===0?oe[le].value.trim():oe[le].value;ie+=ue+":"+ce+`
-`}let se=ee.uri;if(this.isCname&&(se==="/"?se+=ee.headers.Host+"/":se.indexOf("/")===0&&(se="/"+ee.headers.Host+se)),ee.urlPath){let ue=ee.urlPath.slice(1).split("&").sort(),ce="";for(let de=0;de<ue.length;de++){let he=ue[de].split("="),fe=decodeURIComponent(he[0]);allowedResourceParameterNames.indexOf(fe.toLowerCase())>=0&&(ce+=ce===""?"?":"&",ce+=fe,he.length===2&&he[1]&&(ce+="="+decodeURIComponent(he[1])))}se+=ce}ie+=se,this.log.runLog("debug",te,"stringToSign:"+ie),ee.headers.Authorization=ae.authPrefix+" "+this.ak+":"+crypto.createHmac("sha1",this.sk).update(ie).digest("base64")};Utils.prototype.v4Auth=function(ee,te,ae){ee.headers[ae.headerPrefix+"content-sha256"]=CONTENT_SHA256;let ne=ee.headers,ie=this.log,oe=null,se=null;if(ae.headerPrefix+"date"in ne)se=ne[ae.headerPrefix+"date"],oe=se.slice(0,se.indexOf("T"));else{let ve=getDates(ne.Date);oe=ve[0],se=ve[1]}let le=this.ak+"/"+oe+"/"+this.region+"/s3/aws4_request",ue=getSignedAndCanonicalHeaders(ne),ce=ue[0],de=ue[1],he="";if(ee.urlPath){let ge=ee.urlPath.slice(1).split("&");ge=ge.sort();for(let me=0;me<ge.length;me++)he+=ge[me],ge[me].indexOf("=")===-1&&(he+="="),me!==ge.length-1&&(he+="&")}let fe=ee.method+`
-`;fe+=ee.uri+`
-`,fe+=he+`
-`,fe+=de+`
-`,fe+=ce+`
-`,fe+=CONTENT_SHA256,ie.runLog("debug",te,"canonicalRequest:"+fe);let pe=getV4Signature(oe,se,this.sk,this.region,fe);ee.headers.Authorization="AWS4-HMAC-SHA256 Credential="+le+",SignedHeaders="+ce+",Signature="+pe};Utils.prototype.bufMD5=function(ee){return crypto.createHash("md5").update(ee).digest("base64")};Utils.prototype.rawBufMD5=function(ee){return crypto.createHash("md5").update(ee).digest("rawbase64")};Utils.prototype.createSignedUrlSync=function(ee){return(ee.signatureContext||this.signatureContext).signature.toLowerCase()==="v4"?this.createV4SignedUrlSync(ee):this.createV2SignedUrlSync(ee)};Utils.prototype.createV2SignedUrlSync=function(ee){ee=ee||{};let te=ee.signatureContext||this.signatureContext,ae=ee.Method?String(ee.Method):"GET",ne=ee.Bucket?String(ee.Bucket):null,ie=ee.Key?String(ee.Key):null,oe=ee.SpecialParam?String(ee.SpecialParam):null;te.signature.toLowerCase()==="obs"&&oe==="storagePolicy"?oe="storageClass":te.signature.toLowerCase()==="v2"&&oe==="storageClass"&&(oe="storagePolicy");let se=ee.Policy?String(ee.Policy):null,le=ee.Prefix?String(ee.Prefix):null,ue=ee.Expires?parseInt(ee.Expires,10):300,ce={};if(ee.Headers&&ee.Headers instanceof Object&&!(ee.Headers instanceof Array))for(let Se in ee.Headers)({}).hasOwnProperty.call(ee.Headers,Se)&&(ce[Se]=ee.Headers[Se]);let de={};if(ee.QueryParams&&ee.QueryParams instanceof Object&&!(ee.QueryParams instanceof Array))for(let Se in ee.QueryParams)({}).hasOwnProperty.call(ee.QueryParams,Se)&&(de[Se]=ee.QueryParams[Se]);this.securityToken&&!de[te.headerPrefix+"security-token"]&&(de[te.headerPrefix+"security-token"]=this.securityToken);let he="",fe="",pe=this.server;this.isCname?fe+="/"+pe+"/":ne&&(fe+="/"+ne,this.pathStyle?he+="/"+ne:(pe=ne+"."+pe,fe+="/")),ie&&(ie=encodeURIWithSafe(ie,"/"),he+="/"+ie,fe.lastIndexOf("/")!==fe.length-1&&(fe+="/"),fe+=ie),fe===""&&(fe="/"),he+="?",oe&&(de[oe]=""),te.signature.toLowerCase()==="v2"?de.AWSAccessKeyId=this.ak:de.AccessKeyId=this.ak,ue<0&&(ue=300),ue=parseInt(new Date().getTime()/1e3,10)+ue,se&&le?(de.Policy=se,de.prefix=le):de.Expires=String(ue);let ve={};for(let Se in ce)if({}.hasOwnProperty.call(ce,Se)){let we=String(Se).toLowerCase();(we==="content-type"||we==="content-md5"||we.length>te.headerPrefix.length&&we.slice(0,te.headerPrefix.length)===te.headerPrefix)&&(ve[we]=ce[Se])}let ge=[];for(let Se in de)({}).hasOwnProperty.call(de,Se)&&ge.push(Se);ge.sort();let me=se&&le,ye=!1,_e=[],be=se&&le?"":"/";for(let Se=0;Se<ge.length;Se++){let we=ge[Se],Ae=de[we];if(we=encodeURIWithSafe(we,be),Ae=encodeURIWithSafe(Ae,be),he+=we,Ae&&(he+="="+Ae),(!me||we.toLowerCase()!=="policy")&&(allowedResourceParameterNames.indexOf(we.toLowerCase())>=0||we.toLowerCase().indexOf(te.headerPrefix)===0)){ye=!0;let Te=Ae?we+"="+decodeURIComponent(Ae):we;_e.push(Te)}he+="&"}_e=_e.join("&"),ye&&(_e="?"+_e),fe+=_e;let xe=[ae];if(xe.push(`
-`),"content-md5"in ve&&xe.push(ve["content-md5"]),xe.push(`
-`),"content-type"in ve&&xe.push(ve["content-type"]),xe.push(`
-`),me?xe.push(se):xe.push(String(ue)),xe.push(`
-`),me)xe.push(_e);else{let Se=[],we=0;for(let Ae in ve)Ae.length>te.headerPrefix.length&&Ae.slice(0,te.headerPrefix.length)===te.headerPrefix&&(Se[we++]=Ae);Se=Se.sort();for(let Ae=0;Ae<Se.length;Ae++)xe.push(Se[Ae]),xe.push(":"),xe.push(ve[Se[Ae]]),xe.push(`
-`);xe.push(fe)}let $e=crypto.createHmac("sha1",this.sk);return $e.update(xe.join("")),me?he+="Signature="+encodeURIWithSafe($e.digest("base64")):he+="Signature="+encodeURIWithSafe($e.digest("base64"),"/"),{ActualSignedRequestHeaders:ce,SignedUrl:(this.isSecure?"https":"http")+"://"+pe+":"+this.port+he}};Utils.prototype.createV4SignedUrlSync=function(ee){ee=ee||{};let te=ee.signatureContext||this.signatureContext,ae=ee.Method?String(ee.Method):"GET",ne=ee.Bucket?String(ee.Bucket):null,ie=ee.Key?String(ee.Key):null,oe=ee.SpecialParam?String(ee.SpecialParam):null;oe==="storageClass"&&(oe="storagePolicy");let se=ee.Expires?parseInt(ee.Expires,10):300,le={};if(ee.Headers&&ee.Headers instanceof Object&&!(ee.Headers instanceof Array))for(let Se in ee.Headers)({}).hasOwnProperty.call(ee.Headers,Se)&&(le[Se]=ee.Headers[Se]);let ue={};if(ee.QueryParams&&ee.QueryParams instanceof Object&&!(ee.QueryParams instanceof Array))for(let Se in ee.QueryParams)({}).hasOwnProperty.call(ee.QueryParams,Se)&&(ue[Se]=ee.QueryParams[Se]);this.securityToken&&!ue[te.headerPrefix+"security-token"]&&(ue[te.headerPrefix+"security-token"]=this.securityToken);let ce="",de="",he=this.server;ne&&(this.pathStyle?(ce+="/"+ne,de+="/"+ne):he=ne+"."+he),ie&&(ie=encodeURIWithSafe(ie,"/"),ce+="/"+ie,de+="/"+ie),de===""&&(de="/"),ce+="?",oe&&(ue[oe]=""),se<0&&(se=300);let fe=le.date||le.Date||new Date().toUTCString(),pe=getDates(fe),ve=pe[0],ge=pe[1];le.Host=he+(this.port===80||this.port===443?"":":"+this.port),ue["X-Amz-Algorithm"]="AWS4-HMAC-SHA256",ue["X-Amz-Credential"]=this.ak+"/"+ve+"/"+this.region+"/s3/aws4_request",ue["X-Amz-Date"]=ge,ue["X-Amz-Expires"]=String(se);let me=getSignedAndCanonicalHeaders(le);ue["X-Amz-SignedHeaders"]=me[0];let ye={},_e=[];for(let Se in ue)if({}.hasOwnProperty.call(ue,Se)){let we=ue[Se];Se=encodeURIWithSafe(Se,"/"),we=encodeURIWithSafe(we),ye[Se]=we,_e.push(Se),ce+=Se,we&&(ce+="="+we),ce+="&"}let be="";_e.sort();for(let Se=0;Se<_e.length;)be+=_e[Se]+"="+ye[_e[Se]],++Se!==_e.length&&(be+="&");let xe=ae+`
-`;xe+=de+`
-`,xe+=be+`
-`,xe+=me[1]+`
-`,xe+=me[0]+`
-`,xe+="UNSIGNED-PAYLOAD";let $e=getV4Signature(ve,ge,this.sk,this.region,xe);return ce+="X-Amz-Signature="+encodeURIWithSafe($e),{ActualSignedRequestHeaders:le,SignedUrl:(this.isSecure?"https":"http")+"://"+he+":"+this.port+ce}};Utils.prototype.createPostSignatureSync=function(ee){let te=ee.signatureContext||this.signatureContext;if(te.signature==="v4")return this.createV4PostSignatureSync(ee);ee=ee||{};let ae=ee.Bucket?String(ee.Bucket):null,ne=ee.Key?String(ee.Key):null,ie=ee.Expires?parseInt(ee.Expires,10):300,oe={};if(ee.FormParams&&ee.FormParams instanceof Object&&!(ee.FormParams instanceof Array))for(let pe in ee.FormParams)({}).hasOwnProperty.call(ee.FormParams,pe)&&(oe[pe]=ee.FormParams[pe]);this.securityToken&&!oe[te.headerPrefix+"security-token"]&&(oe[te.headerPrefix+"security-token"]=this.securityToken);let se=new Date;se.setTime(parseInt(new Date().getTime(),10)+ie*1e3),se=getExpireDate(se.toUTCString()),ae&&(oe.bucket=ae),ne&&(oe.key=ne);let le=[];le.push('{"expiration":"'),le.push(se),le.push('", "conditions":[');let ue=!0,ce=!0,de=["acl","bucket","key","success_action_redirect","redirect","success_action_status"];for(let pe in oe){if(!pe)continue;let ve=oe[pe];pe=String(pe).toLowerCase(),pe==="bucket"?ue=!1:pe==="key"&&(ce=!1),!(allowedResponseHttpHeaderMetadataNames.indexOf(pe)<0&&de.indexOf(pe)<0&&pe.indexOf(te.headerPrefix)!==0)&&(le.push('{"'),le.push(pe),le.push('":"'),le.push(ve!==null?String(ve):""),le.push('"},'))}ue&&le.push('["starts-with", "$bucket", ""],'),ce&&le.push('["starts-with", "$key", ""],'),le.push("]}");let he=le.join("");window.btoa?le=window.btoa(he):le=gBase64.encode(he);let fe=crypto.createHmac("sha1",this.sk).update(le).digest("base64");return{OriginPolicy:he,Policy:le,Signature:fe,Token:this.ak+":"+fe+":"+le}};Utils.prototype.createV4PostSignatureSync=function(ee){ee=ee||{};let te=ee.signatureContext||this.signatureContext,ae=ee.Bucket?String(ee.Bucket):null,ne=ee.Key?String(ee.Key):null,ie=ee.Expires?parseInt(ee.Expires,10):300,oe={};if(ee.FormParams&&ee.FormParams instanceof Object&&!(ee.FormParams instanceof Array))for(let _e in ee.FormParams)({}).hasOwnProperty.call(ee.FormParams,_e)&&(oe[_e]=ee.FormParams[_e]);this.securityToken&&!oe[te.headerPrefix+"security-token"]&&(oe[te.headerPrefix+"security-token"]=this.securityToken);let se=new Date().toUTCString(),le=getDates(se),ue=le[0],ce=le[1],de=this.ak+"/"+ue+"/"+this.region+"/s3/aws4_request",he=new Date;he.setTime(parseInt(new Date().getTime(),10)+ie*1e3),he=getExpireDate(he.toUTCString()),oe["X-Amz-Algorithm"]="AWS4-HMAC-SHA256",oe["X-Amz-Date"]=ce,oe["X-Amz-Credential"]=de,ae&&(oe.bucket=ae),ne&&(oe.key=ne);let fe=[];fe.push('{"expiration":"'),fe.push(he),fe.push('", "conditions":[');let pe=!0,ve=!0,ge=["acl","bucket","key","success_action_redirect","redirect","success_action_status"];for(let _e in oe){if(!_e)continue;let be=oe[_e];_e=String(_e).toLowerCase(),_e==="bucket"?pe=!1:_e==="key"&&(ve=!1),!(allowedResponseHttpHeaderMetadataNames.indexOf(_e)<0&&ge.indexOf(_e)<0&&_e.indexOf(te.headerPrefix)!==0)&&(fe.push('{"'),fe.push(_e),fe.push('":"'),fe.push(be!==null?String(be):""),fe.push('"},'))}pe&&fe.push('["starts-with", "$bucket", ""],'),ve&&fe.push('["starts-with", "$key", ""],'),fe.push("]}");let me=fe.join("");window.btoa?fe=window.btoa(me):fe=gBase64.encode(me);let ye=createV4Signature(ue,this.sk,this.region,fe);return{OriginPolicy:me,Policy:fe,Algorithm:oe["X-Amz-Algorithm"],Credential:oe["X-Amz-Credential"],Date:oe["X-Amz-Date"],Signature:ye}};const OFF=Number.MAX_VALUE,DEBUG=10,INFO=20,WARN=30,ERROR=40;function LogUtil(){this.consoleLog=window.console,this._level=OFF}LogUtil.prototype.setLevel=function(ee){ee&&(ee=String(ee).toLowerCase(),ee==="info"?ee=INFO:ee==="warn"?ee=WARN:ee==="error"?ee=ERROR:ee==="debug"?ee=DEBUG:ee=OFF,this._level=ee)};LogUtil.prototype.runLog=function(ee,te,ae){if(!ee)return;let ne=[new Date().toLocaleString(),ee.toLowerCase(),te,ae].join("|");ee.toLowerCase()==="debug"&&this._level<=DEBUG?this.consoleLog.debug(ne):ee.toLowerCase()==="info"&&this._level<=INFO?this.consoleLog.info(ne):ee.toLowerCase()==="warn"&&this._level<=WARN?this.consoleLog.warn(ne):ee.toLowerCase()==="error"&&this._level<=ERROR&&this.consoleLog.error(ne)};var enums$1={},AclPrivate=enums$1.AclPrivate="private",AclPublicRead=enums$1.AclPublicRead="public-read",AclPublicReadWrite=enums$1.AclPublicReadWrite="public-read-write",AclPublicReadDelivered=enums$1.AclPublicReadDelivered="public-read-delivered",AclPublicReadWriteDelivered=enums$1.AclPublicReadWriteDelivered="public-read-write-delivered",AclAuthenticatedRead=enums$1.AclAuthenticatedRead="authenticated-read",AclBucketOwnerRead=enums$1.AclBucketOwnerRead="bucket-owner-read",AclBucketOwnerFullControl=enums$1.AclBucketOwnerFullControl="bucket-owner-full-control",AclLogDeliveryWrite=enums$1.AclLogDeliveryWrite="log-delivery-write",StorageClassStandard=enums$1.StorageClassStandard="STANDARD",StorageClassWarm=enums$1.StorageClassWarm="WARM",StorageClassCold=enums$1.StorageClassCold="COLD",PermissionRead=enums$1.PermissionRead="READ",PermissionWrite=enums$1.PermissionWrite="WRITE",PermissionReadAcp=enums$1.PermissionReadAcp="READ_ACP",PermissionWriteAcp=enums$1.PermissionWriteAcp="WRITE_ACP",PermissionFullControl=enums$1.PermissionFullControl="FULL_CONTROL",GroupAllUsers=enums$1.GroupAllUsers="AllUsers",GroupAuthenticatedUsers=enums$1.GroupAuthenticatedUsers="AuthenticatedUsers",GroupLogDelivery=enums$1.GroupLogDelivery="LogDelivery",RestoreTierExpedited=enums$1.RestoreTierExpedited="Expedited",RestoreTierStandard=enums$1.RestoreTierStandard="Standard",RestoreTierBulk=enums$1.RestoreTierBulk="Bulk",GranteeGroup=enums$1.GranteeGroup="Group",GranteeUser=enums$1.GranteeUser="CanonicalUser",CopyMetadata=enums$1.CopyMetadata="COPY",ReplaceMetadata=enums$1.ReplaceMetadata="REPLACE",EventObjectCreatedAll=enums$1.EventObjectCreatedAll="ObjectCreated:*",EventObjectCreatedPut=enums$1.EventObjectCreatedPut="ObjectCreated:Put",EventObjectCreatedPost=enums$1.EventObjectCreatedPost="ObjectCreated:Post",EventObjectCreatedCopy=enums$1.EventObjectCreatedCopy="ObjectCreated:Copy",EventObjectCreatedCompleteMultipartUpload=enums$1.EventObjectCreatedCompleteMultipartUpload="ObjectCreated:CompleteMultipartUpload",EventObjectRemovedAll=enums$1.EventObjectRemovedAll="ObjectRemoved:*",EventObjectRemovedDelete=enums$1.EventObjectRemovedDelete="ObjectRemoved:Delete",EventObjectRemovedDeleteMarkerCreated=enums$1.EventObjectRemovedDeleteMarkerCreated="ObjectRemoved:DeleteMarkerCreated",enums=_mergeNamespaces({__proto__:null,default:enums$1,AclPrivate,AclPublicRead,AclPublicReadWrite,AclPublicReadDelivered,AclPublicReadWriteDelivered,AclAuthenticatedRead,AclBucketOwnerRead,AclBucketOwnerFullControl,AclLogDeliveryWrite,StorageClassStandard,StorageClassWarm,StorageClassCold,PermissionRead,PermissionWrite,PermissionReadAcp,PermissionWriteAcp,PermissionFullControl,GroupAllUsers,GroupAuthenticatedUsers,GroupLogDelivery,RestoreTierExpedited,RestoreTierStandard,RestoreTierBulk,GranteeGroup,GranteeUser,CopyMetadata,ReplaceMetadata,EventObjectCreatedAll,EventObjectCreatedPut,EventObjectCreatedPost,EventObjectCreatedCopy,EventObjectCreatedCompleteMultipartUpload,EventObjectRemovedAll,EventObjectRemovedDelete,EventObjectRemovedDeleteMarkerCreated},[enums$1]);let wrapCallback$1=function(ee,te,ae){ee=ee||function(){};let ne=new Date().getTime();return function(ie,oe){return te.runLog("info",ae,"ObsClient cost "+(new Date().getTime()-ne)+" ms"),Object.prototype.toString.call(ie)==="[object String]"?ee(new Error(ie),oe):ee(ie,oe)}},wrapEventCallback$1=function(ee){return ee=ee||function(){},function(te,ae,ne){if(Object.prototype.toString.call(ne)==="[object Error]")return ee(te,ae,ne);if(Object.prototype.toString.call(ne)==="[object String]")return ee(te,ae,new Error(ne));if(ne){if(ne.CommonMsg.Status>300)return ee(te,ae,new Error("status:"+ne.CommonMsg.Status+", code:"+ne.CommonMsg.Code+", message:"+ne.CommonMsg.Message));ee(te,ae,ne)}}},checkPrefix=function(ee){return Object.prototype.toString.call(ee)==="[object String]"&&ee.lastIndexOf("/")!==ee.length-1&&(ee+="/"),ee},posix={};posix.extend=function(ee){ee.prototype.dropFile=function(te,ae){this.deleteObject(te,ae)},ee.prototype.dropFolder=function(te,ae){let ne=this;te=te||{};let ie=wrapCallback$1(ae,ne.log,"dropFolder"),oe=wrapEventCallback$1(te.EventCallback),se=te.TaskNum||1,le=0,ue=[],ce=function(){for(;le<se&&ue.length>0;)ue.shift()()},de=function(ge,me,ye,_e){if(_e){me.finished++,ye(me);return}let be=function(){le++,ne.dropFile({Bucket:me.bucket,Key:ge},function(xe,$e){le--,me.finished++,ce(),xe?(oe("dropFileFailed",ge,xe),me.subDeleted=!1):$e.CommonMsg.Status>=300?(oe("dropFileFailed",ge,$e),me.subDeleted=!1):oe("dropFileSucceed",ge,$e),ye(me)})};le<se?be():ue.push(be)},he="/",fe=function(ge,me,ye){return function(_e){!_e.isTruncated&&_e.finished===_e.total&&_e.subDeleted&&de(ge,me,ye,!1)}},pe=function(ge,me,ye,_e,be){le++,ne.listObjects({Bucket:me,Prefix:ye,Delimiter:he,Marker:_e},function(xe,$e){if(le--,xe)return ie(xe);if($e.CommonMsg.Status>=300)return ie(null,$e);if(ge.total+=$e.InterfaceResult.Contents.length,ge.total+=$e.InterfaceResult.CommonPrefixes.length,ge.total===0){be(ge);return}ge.isTruncated=$e.InterfaceResult.IsTruncated==="true";let Se=function(we){return function(){pe({total:0,finished:0,isTruncated:!1,bucket:me,subDeleted:!0},me,we,null,fe(we,ge,be))}};for(let we=0;we<$e.InterfaceResult.CommonPrefixes.length;we++){let Ae=checkPrefix($e.InterfaceResult.CommonPrefixes[we].Prefix);le<se?pe({total:0,finished:0,isTruncated:!1,bucket:me,subDeleted:!0},me,Ae,null,fe(Ae,ge,be)):ue.push(Se(Ae))}for(let we=0;we<$e.InterfaceResult.Contents.length;we++){let Ae=$e.InterfaceResult.Contents[we].Key;de(Ae,ge,be,Ae.lastIndexOf(he)===Ae.length-1)}ge.isTruncated&&(le<se?pe(ge,me,ye,$e.InterfaceResult.NextMarker,be):ue.push(function(){pe(ge,me,ye,$e.InterfaceResult.NextMarker,be)}))})},ve=checkPrefix(te.Prefix);pe({total:0,finished:0,isTruncated:!1,bucket:te.Bucket,subDeleted:!0},te.Bucket,ve,null,function(ge){if(ge.isTruncated||ge.finished!==ge.total)return;if(ge.subDeleted){ne.dropFile({Bucket:ge.bucket,Key:ve},function(ye,_e){return ye?(oe("dropFileFailed",ve,ye),ie(ye)):_e.CommonMsg.Status>=300?(oe("dropFileFailed",ve,_e),ie(null,_e)):(oe("dropFileSucceed",ve,_e),ie(null,_e))});return}let me="drop folder "+ve+" failed due to child file deletion failed";oe("dropFileFailed",ve,new Error(me)),ie(me)})}};const minPartSize=100*1024,defaultPartSize=9*1024*1024,maxPartSize=5*1024*1024*1024;let wrapCallback=function(ee,te,ae){ee=ee||function(){};let ne=new Date().getTime();return function(ie,oe){return te.runLog("info",ae,"ObsClient cost "+(new Date().getTime()-ne)+" ms"),Object.prototype.toString.call(ie)==="[object String]"?ee(new Error(ie),oe):ee(ie,oe)}},isFunction$1$1=function(ee){return Object.prototype.toString.call(ee)==="[object Function]"},wrapEventCallback=function(ee){return ee=ee||function(){},function(te,ae,ne){if(Object.prototype.toString.call(ne)==="[object Error]")return ee(te,ae,ne);if(Object.prototype.toString.call(ne)==="[object String]")return ee(te,ae,new Error(ne));if(ne){if(ne.CommonMsg.Status>300)return ee(te,ae,new Error("status:"+ne.CommonMsg.Status+", code:"+ne.CommonMsg.Code+", message:"+ne.CommonMsg.Message));ee(te,ae,ne)}}},calculateUploadCheckpointMD5=function(ee){let te=[];if(te.push(ee.bucket),te.push(ee.key),te.push(ee.sourceFile.name),te.push(String(ee.partSize)),te.push(String(ee.partCount)),te.push(String(ee.fileStat.fileSize)),te.push(String(ee.fileStat.lastModified)),ee.uploadId&&te.push(ee.uploadId),ee.sseC&&te.push(ee.sseC),ee.sseCKey&&te.push(ee.sseCKey),ee.parts)for(let ae=0;ae<ee.parts.length;ae++){let ne=ee.parts[ae];ne&&(te.push(String(ne.partNumber)),te.push(String(ne.offset)),te.push(String(ne.partSize)),te.push(String(ne.isCompleted)),ne.etag&&te.push(String(ne.etag)))}return window.btoa(md5(te.join(""),!1,!0))},abortRequest=function(ee,te,ae){ee&&ee.uploadId&&ae.abortMultipartUpload({Bucket:ee.bucket,Key:ee.key,RequestDate:ee.requestDate,UploadId:ee.uploadId},function(ne,ie){if(ne){ae.log.runLog("warn",te,"abort multipart upload failed, bucket:"+ee.bucket+", key:"+ee.key+", uploadId:"+ee.uploadId+", err:"+ne);return}if(ie.CommonMsg.Status>=300){ae.log.runLog("warn",te,"abort multipart upload failed, bucket:"+ee.bucket+", key:"+ee.key+", uploadId:"+ee.uploadId+", status:"+ie.CommonMsg.Status+", code:"+ie.CommonMsg.Code+", message:"+ie.CommonMsg.Message);return}delete ee.uploadId,ae.log.runLog("warn",te,"abort multipart upload succeed, bucket:"+ee.bucket+", key:"+ee.key+", uploadId:"+ee.uploadId)})},completedRequest=function(ee){if(ee.finishedCount<ee.uploadCheckpoint.partCount)return;if(ee.isAbort)return abortRequest(ee.uploadCheckpoint,ee.funcName,ee.that),ee.callback("uploadFile failed the upload task is aborted");if(ee.isSuspend)return ee.callback("the process of uploadFile is suspened, you can retry with the uploadCheckpoint");if(ee.hasError)return ee.callback("uploadFile finished with error, you can retry with the uploadCheckpoint");let te=[];for(let ae=0;ae<ee.uploadCheckpoint.partCount;ae++){let ne=ee.uploadCheckpoint.parts[ae];te.push({PartNumber:ne.partNumber,ETag:ne.etag})}ee.that.completeMultipartUpload({Bucket:ee.uploadCheckpoint.bucket,Key:ee.uploadCheckpoint.key,RequestDate:ee.uploadCheckpoint.requestDate,UploadId:ee.uploadCheckpoint.uploadId,Parts:te,CallbackUrl:ee.callbackUrl,CallbackHost:ee.callbackHost,CallbackBody:ee.callbackBody,CallbackBodyType:ee.callbackBodyType},function(ae,ne){let ie={bucket:ee.uploadCheckpoint.bucket,key:ee.uploadCheckpoint.key,uploadId:ee.uploadCheckpoint.uploadId};if(ae)return ee.eventCallback("completeMultipartUploadFailed",ie,ae),ee.callback(ae);if(ne.CommonMsg.Status>=500)return ee.eventCallback("completeMultipartUploadFailed",ie,ne),ee.callback(null,ne);if(ne.CommonMsg.Status>=300&&ne.CommonMsg.Status<500)return ee.eventCallback("completeMultipartUploadAborted",ie,ne),abortRequest(ee.uploadCheckpoint,ee.funcName,ee.that),ee.callback(null,ne);ee.eventCallback("completeMultipartUploadSucceed",ie,ne),ee.callback(null,ne)})},startToUploadFile=function(ee){ee.resumeCallback({cancel:function(){ee.isSuspend=!0;for(let ue=0;ue<ee.uploadPartParams.length;ue++){let ce=ee.uploadPartParams[ue].cancelHook;isFunction$1$1(ce)&&ce()}}},ee.uploadCheckpoint);let te=[],ae=function(){for(;ee.runningTask<ee.taskNum&&te.length>0;)te.shift()();te.length===0&&completedRequest(ee)},ne=function(ue){return function(ce,de,he){ee.progressCallback(ue,ce)}},ie=function(ue,ce,de,he){return he=he||ue.type,ue.mozSlice?ue.mozSlice(ce,de,he):ue.webkitSlice?ue.webkitSlice(ce,de,he):ue.slice(ce,de,he)},oe=window.btoa?window.btoa:gBase64.encode,se=function(ue){let ce=16384;ue=new Uint8Array(ue);let de=0,he;for(;de<ue.length;){let fe=de+ce;fe=fe<=ue.length?fe:ue.length,he?he+=String.fromCharCode.apply(null,ue.slice(de,fe)):he=String.fromCharCode.apply(null,ue.slice(de,fe)),de=fe}return ue=null,he},le=function(ue){return function(){if(ee.runningTask++,ee.isSuspend||ee.isAbort)return ee.runningTask--,ee.finishedCount++,ee.finishedCount+=te.length,te=[],ae();let ce=0,de=function(he){if(ce)return;ce=1;let fe={Bucket:ee.uploadCheckpoint.bucket,Key:ee.uploadCheckpoint.key,RequestDate:ee.uploadCheckpoint.requestDate,PartNumber:ue.partNumber,UploadId:ee.uploadCheckpoint.uploadId,SourceFile:ee.uploadCheckpoint.sourceFile,Offset:ue.offset,PartSize:ue.partSize,SseC:ee.uploadCheckpoint.sseC,SseCKey:ee.uploadCheckpoint.sseCKey,ProgressCallback:ne(ue.partNumber),ContentMD5:he};ee.uploadPartParams.push(fe),ee.that.uploadPart(fe,function(pe,ve){if(ee.runningTask--,ee.finishedCount++,ee.isSuspend)return ae();let ge={partNumber:ue.partNumber,bucket:ee.uploadCheckpoint.bucket,key:ee.uploadCheckpoint.key,uploadId:ee.uploadCheckpoint.uploadId};pe?(ee.eventCallback("uploadPartFailed",ge,pe),ee.hasError=!0):ve.CommonMsg.Status>=500||ve.CommonMsg.Status===400&&ve.CommonMsg.Code==="BadDigest"?(ee.eventCallback("uploadPartFailed",ge,ve),ee.hasError=!0):ve.CommonMsg.Status>=300&&ve.CommonMsg.Status<500?(ee.isAbort=!0,ee.hasError=!0,ee.eventCallback("uploadPartAborted",ge,ve)):(ue.etag=ve.InterfaceResult.ETag,ue.isCompleted=!0,ge.etag=ue.etag,ee.uploadCheckpoint.md5=calculateUploadCheckpointMD5(ee.uploadCheckpoint),ee.eventCallback("uploadPartSucceed",ge,ve),ee.that.log.runLog("debug",ee.funcName,"Part "+String(ue.partNumber)+" is finished, uploadId "+ee.uploadCheckpoint.uploadId)),ae()})};if(ee.verifyMd5&&window.FileReader&&(ee.uploadCheckpoint.sourceFile instanceof window.File||ee.uploadCheckpoint.sourceFile instanceof window.Blob)){let he=ie(ee.uploadCheckpoint.sourceFile,ue.offset,ue.offset+ue.partSize),fe=new window.FileReader;fe.onload=function(pe){let ve=se(pe.target.result),ge=oe(md5(ve,!1,!0));ve=null,de(ge)},fe.onerror=function(pe){ee.that.log.runLog("error",ee.funcName,"Caculate md5 for part "+String(ue.partNumber)+" failed"),de()},fe.readAsArrayBuffer(he);return}de()}};if(!ee.isSuspend){for(let ue=0;ue<ee.uploadCheckpoint.partCount;ue++){let ce=ee.uploadCheckpoint.parts[ue];ce.isCompleted?(ee.finishedCount++,ee.finishedBytes+=ce.partSize):te.push(le(ce))}return te.length===0?completedRequest(ee):ae()}ee.callback("the process of uploadFile is suspened, you can retry with the uploadCheckpoint")},resumable={};resumable.extend=function(ee){ee.prototype.uploadFile=function(te,ae){let ne=this;te=te||{};let ie="uploadFile",oe=wrapCallback(ae,ne.log,ie),se=wrapEventCallback(te.EventCallback),le=te.TaskNum||1,ue=te.ProgressCallback||function(){},ce=te.ResumeCallback||function(){},de=te.VerifyMd5||!1;ne.log.runLog("info",ie,"enter "+ie+"...");let he=null;if(te.UploadCheckpoint&&te.UploadCheckpoint.sourceFile&&te.UploadCheckpoint.fileStat&&te.UploadCheckpoint.uploadId&&te.UploadCheckpoint.md5===calculateUploadCheckpointMD5(te.UploadCheckpoint)?he=te.UploadCheckpoint:abortRequest(te.UploadCheckpoint,ie,ne),he){let pe=he.sourceFile;if(!(pe instanceof window.File)&&!(pe instanceof window.Blob))return oe("source file is not valid, must be an instanceof [File | Blob]");if(!pe.mozSlice&&!pe.webkitSlice&&!pe.slice)return oe("your browser cannot support the slice method for [File | Blob]")}else{let pe=te.SourceFile;if(!(pe instanceof window.File)&&!(pe instanceof window.Blob))return oe("source file is not valid, must be an instanceof [File | Blob]");if(!pe.mozSlice&&!pe.webkitSlice&&!pe.slice)return oe("your browser cannot support the slice method for [File | Blob]");ne.log.runLog("debug",ie,"Begin to uploadFile to OBS from file:"+pe.name);let ve=pe.size,ge=parseInt(te.PartSize,10),me=0,ye=[];if(ve===0)ge=0,me=1,ye.push({partNumber:1,offset:0,partSize:0,isCompleted:!1});else{if(ge=isNaN(ge)||ge<minPartSize?defaultPartSize:ge>maxPartSize?maxPartSize:ge,me=Math.floor(ve/ge),me>=1e4&&(ge=Math.floor(ve/1e4),ve%1e4!==0&&(ge+=1),me=Math.floor(ve/ge)),ge>maxPartSize)return oe("The source file "+pe.name+" is too large");let _e=ve%ge;_e!==0&&me++;for(let be=0;be<me;be++)ye.push({partNumber:be+1,offset:be*ge,partSize:ge,isCompleted:!1});_e!==0&&(ye[me-1].partSize=_e)}ne.log.runLog("debug",ie,"Total parts count "+me),he={bucket:te.Bucket,key:te.Key,sourceFile:pe,partSize:ge,partCount:me,parts:ye},he.fileStat={fileSize:ve,lastModified:pe.lastModified},te.SseC&&te.SseCKey&&(he.sseC=te.SseC,he.sseCKey=te.SseCKey),he.md5=calculateUploadCheckpointMD5(he)}he.requestDate=te.RequestDate;let fe={start:new Date().getTime(),uploadCheckpoint:he,funcName:ie,taskNum:le,callback:oe,that:ne,runningTask:0,finishedCount:0,hasError:!1,finishedBytes:0,isAbort:!1,resumeCallback:ce,isSuspend:!1,partsLoaded:{},requestDate:te.RequestDate,uploadPartParams:[],verifyMd5:de,callbackUrl:te.CallbackUrl,callbackHost:te.CallbackHost,callbackBody:te.CallbackBody,callbackBodyType:te.CallbackBodyType};if(fe.eventCallback=function(pe,ve,ge){fe.isSuspend||se(pe,ve,ge)},fe.progressCallback=function(pe,ve){fe.isSuspend||(fe.finishedBytes+=ve,fe.partsLoaded[pe]&&(fe.finishedBytes-=fe.partsLoaded[pe]),fe.partsLoaded[pe]=ve,ue(fe.finishedBytes,fe.uploadCheckpoint.fileStat.fileSize,(new Date().getTime()-fe.start)/1e3))},!he.uploadId){let pe=te.ContentType;!pe&&he.key&&(pe=ne.util.mimeTypes[he.key.substring(he.key.lastIndexOf(".")+1)]),!pe&&he.sourceFile.name&&(pe=ne.util.mimeTypes[he.sourceFile.name.substring(he.sourceFile.name.lastIndexOf(".")+1)]),ne.initiateMultipartUpload({Bucket:te.Bucket,Key:te.Key,RequestDate:te.RequestDate,ACL:te.ACL,Metadata:te.Metadata,WebsiteRedirectLocation:te.WebsiteRedirectLocation,StorageClass:te.StorageClass,ContentType:pe,Expires:te.Expires,SseKms:te.SseKms,SseKmsKey:te.SseKmsKey,SseC:te.SseC,SseCKey:te.SseCKey},function(ve,ge){let me={bucket:te.Bucket,key:te.Key};if(ve)return fe.eventCallback("initiateMultipartUploadFailed",me,ve),oe(ve);if(ge.CommonMsg.Status>=300)return fe.eventCallback("initiateMultipartUploadFailed",me,ge),oe(null,ge);let ye=ge.InterfaceResult.UploadId;he.uploadId=ye,he.md5=calculateUploadCheckpointMD5(he),fe.uploadCheckpoint=he,me.uploadId=ye,ne.log.runLog("info",ie,"Claim a new upload id "+ye),fe.eventCallback("initiateMultipartUploadSucceed",me,ge),startToUploadFile(fe)});return}startToUploadFile(fe)}};function ObsClient(ee){this.factory(ee)}function capitalize$1(ee){return ee.slice(0,1).toUpperCase()+ee.slice(1)}const methods=["createBucket","listBuckets","getBucketMetadata","headBucket","deleteBucket","setBucketQuota","getBucketQuota","getBucketStorageInfo","setBucketPolicy","getBucketPolicy","deleteBucketPolicy","setBucketVersioningConfiguration","getBucketVersioningConfiguration","putBackToSource","deleteBackToSource","getBackToSource","getBucketLocation","listVersions","listObjects","setBucketLifecycleConfiguration","getBucketLifecycleConfiguration","deleteBucketLifecycleConfiguration","setBucketAcl","getBucketAcl","setBucketLoggingConfiguration","getBucketLoggingConfiguration","setBucketWebsiteConfiguration","getBucketWebsiteConfiguration","deleteBucketWebsiteConfiguration","setBucketNotification","getBucketNotification","setBucketTagging","getBucketTagging","deleteBucketTagging","getBucketCors","deleteBucketCors","setBucketStoragePolicy","getBucketStoragePolicy","getObject","getObjectMetadata","setObjectMetadata","setObjectAcl","getObjectAcl","deleteObject","deleteObjects","listMultipartUploads","listParts","abortMultipartUpload","completeMultipartUpload","getBucketInventory","setBucketInventory","deleteBucketInventory","getBucketEncryption","setBucketEncryption","deleteBucketEncryption","getBucketRequesterPay","setBucketRequesterPay","setMirrorBackToSource","getMirrorBackToSource","deleteMirrorBackToSource","getWorkflowTrigger","deleteWorkflowTrigger","createWorkflowTrigger","restoreFailedWorkflowExecution","createTemplate","createWorkflow","getWorkflowList","deleteWorkflow","getWorkflowTemplateList","getWorkflowInstanceList","deleteTemplate","updateWorkflow","getActionTemplates","getWorkflowAuthorization","openWorkflowAuthorization","getBucketDirectColdAccess","setBucketDirectColdAccess","deleteBucketDirectColdAccess","getBucketCustomDomain","setBucketCustomDomain","deleteBucketCustomDomain","setBucketCors","getBucketReplication","setBucketReplication","deleteBucketReplication","getCDNNotifyConfiguration","setCdnNotifyConfiguration","getQuota","getBucketDisPolicy","setBucketDisPolicy","deleteBucketDisPolicy","createOnlineDecom","getOnlineDecom","getWorkflowAgreements","openWorkflowAgreements","deleteOnlineDecom","getMyActionTemplates","createMyActionTemplate","getMyactiontemplateDetail","updateMyActionTemplate","deleteMyActionTemplate","forbidMyActionTemplate","updatePublicActionTemplate","getOmPublicActionTemplates","setSFSAcl","getSFSAcl","deleteSFSAcl","setBucketAlias","bindBucketAlias","unbindBucketAlias","deleteBucketAlias","listBucketsAlias","getBucketAlias"];function createAction(ee){return function(te,ae){this.exec(capitalize$1(ee),te,ae)}}for(let ee=0;ee<methods.length;ee++){let te=methods[ee];ObsClient.prototype[te]=createAction(te)}ObsClient.prototype.createTemplate=function(ee,te){ee.ApiPath="v2/workflowtemplates",this.exec("CreateTemplate",ee,te)};ObsClient.prototype.createWorkflow=function(ee,te){ee.ApiPath="v2/workflows",this.exec("CreateWorkflow",ee,te)};ObsClient.prototype.restoreFailedWorkflowExecution=function(ee,te){ee.ApiPath="v2/workflowexecutions",this.exec("RestoreFailedWorkflowExecution",ee,te)};ObsClient.prototype.getWorkflowList=function(ee,te){ee.ApiPath="v2/workflows",this.exec("GetWorkflowList",ee,te)};ObsClient.prototype.deleteWorkflow=function(ee,te){ee.ApiPath="v2/workflows",this.exec("DeleteWorkflow",ee,te)};ObsClient.prototype.deleteTemplate=function(ee,te){ee.ApiPath="v2/workflowtemplates",this.exec("DeleteTemplate",ee,te)};ObsClient.prototype.getWorkflowTemplateList=function(ee,te){ee.ApiPath="v2/workflowtemplates",this.exec("GetWorkflowTemplateList",ee,te)};ObsClient.prototype.getWorkflowInstanceList=function(ee,te){ee.ApiPath="v2/workflowexecutions",this.exec("GetWorkflowInstanceList",ee,te)};ObsClient.prototype.updateWorkflow=function(ee,te){ee.ApiPath="v2/workflows",this.exec("UpdateWorkflow",ee,te)};ObsClient.prototype.getActionTemplates=function(ee,te){ee.ApiPath="v2/actiontemplates",this.exec("GetActionTemplates",ee,te)};ObsClient.prototype.getWorkflowAuthorization=function(ee,te){ee.ApiPath="v2/workflow-authorization",this.exec("GetWorkflowAuthorization",ee,te)};ObsClient.prototype.openWorkflowAuthorization=function(ee,te){ee.ApiPath="v2/workflow-authorization",this.exec("OpenWorkflowAuthorization",ee,te)};ObsClient.prototype.getPublicationTemplates=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/publicactiontemplates",this.exec("GetPublicationTemplates",ee,te),this.util.pathStyle=!1};ObsClient.prototype.getPublicationTemplateDetail=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/publicactiontemplates",this.exec("GetPublicationTemplateDetail",ee,te),this.util.pathStyle=!1};ObsClient.prototype.getWorkflowAgreements=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/workflow-agreements",this.exec("GetWorkflowAgreements",ee,te),this.util.pathStyle=!1};ObsClient.prototype.openWorkflowAgreements=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/workflow-agreements",this.exec("OpenWorkflowAgreements",ee,te),this.util.pathStyle=!1};ObsClient.prototype.createMyActionTemplate=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/myactiontemplates",this.exec("CreateMyActionTemplate",ee,te),this.util.pathStyle=!1};ObsClient.prototype.getMyActionTemplates=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/myactiontemplates",this.exec("GetMyActionTemplates",ee,te),this.util.pathStyle=!1};ObsClient.prototype.getMyactiontemplateDetail=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/myactiontemplates",this.exec("GetMyactiontemplateDetail",ee,te),this.util.pathStyle=!1};ObsClient.prototype.updateMyActionTemplate=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/myactiontemplates",this.exec("UpdateMyActionTemplate",ee,te),this.util.pathStyle=!1};ObsClient.prototype.deleteMyActionTemplate=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/myactiontemplates",this.exec("DeleteMyActionTemplate",ee,te),this.util.pathStyle=!1};ObsClient.prototype.forbidMyActionTemplate=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/myactiontemplates",this.exec("ForbidMyActionTemplate",ee,te),this.util.pathStyle=!1};ObsClient.prototype.updatePublicActionTemplate=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/ompublicactiontemplates",this.exec("UpdatePublicActionTemplate",ee,te),this.util.pathStyle=!1};ObsClient.prototype.getOmPublicActionTemplates=function(ee,te){this.util.pathStyle=!0,ee.ApiPath="v2/ompublicactiontemplates",this.exec("GetOmPublicActionTemplates",ee,te),this.util.pathStyle=!1};ObsClient.prototype.putObject=function(ee,te){if("Body"in ee&&"SourceFile"in ee){let ae="the input body and sourcefile exist at same time,please specify one of eigther a string or file to be send!";return this.log.runLog("error","PutObject",ae),te(new Error(ae),null)}if(!("ContentType"in ee)&&("Key"in ee&&(ee.ContentType=this.util.mimeTypes[ee.Key.substring(ee.Key.lastIndexOf(".")+1)]),!ee.ContentType&&"SourceFile"in ee)){let ae=ee.SourceFile.name;ee.ContentType=this.util.mimeTypes[ae.substring(ae.lastIndexOf(".")+1)]}this.exec("PutObject",ee,te)};ObsClient.prototype.appendObject=function(ee,te){if("Body"in ee&&"SourceFile"in ee){let ae="the input body and sourcefile exist at same time,please specify one of eigther a string or file to be send!";return this.log.isLevelEnabled("error")&&this.log.runLog("error","PutObject",ae),te(new Error(ae),null)}"ContentType"in ee||("Key"in ee&&(ee.ContentType=this.util.mimeTypes[ee.Key.substring(ee.Key.lastIndexOf(".")+1)]),!ee.ContentType&&"SourceFile"in ee&&(ee.ContentType=this.util.mimeTypes[ee.SourceFile.substring(ee.SourceFile.lastIndexOf(".")+1)])),this.exec("AppendObject",ee,te)};ObsClient.prototype.copyObject=function(ee,te){let ae="CopySource";if(ae in ee){let ne=ee[ae],ie=ne.lastIndexOf("?versionId=");ie>0?ee[ae]=this.util.encodeURIWithSafe(ne.slice(0,ie))+ne.slice(ie):ee[ae]=this.util.encodeURIWithSafe(ne)}this.exec("CopyObject",ee,te)};ObsClient.prototype.copyPart=function(ee,te){let ae="CopySource";if(ae in ee){let ne=ee[ae],ie=ne.lastIndexOf("?versionId=");ie>0?ee[ae]=this.util.encodeURIWithSafe(ne.slice(0,ie))+ne.slice(ie):ee[ae]=this.util.encodeURIWithSafe(ne)}this.exec("CopyPart",ee,te)};ObsClient.prototype.restoreObject=function(ee,te){this.exec("RestoreObject",ee,function(ae,ne){!ae&&ne.InterfaceResult&&ne.CommonMsg.Status<300&&(ne.InterfaceResult.RestoreStatus=ne.CommonMsg.Status===200?"AVALIABLE":"INPROGRESS"),te(ae,ne)})};ObsClient.prototype.initiateMultipartUpload=function(ee,te){"ContentType"in ee||"Key"in ee&&(ee.ContentType=this.util.mimeTypes[ee.Key.substring(ee.Key.lastIndexOf(".")+1)]),this.exec("InitiateMultipartUpload",ee,te)};ObsClient.prototype.uploadPart=function(ee,te){if("Body"in ee&&"SourceFile"in ee){let ae="the input body and sourcefile exist at same time, please specify one of eigther a string or file to be send!";return this.log.runLog("error","UploadPart",ae),te(new Error(ae),null)}this.exec("UploadPart",ee,te)};posix.extend(ObsClient);resumable.extend(ObsClient);function isFunction$4(ee){return Object.prototype.toString.call(ee)==="[object Function]"}function createPromise(ee){return function(te,ae){if(isFunction$4(te)){ee.call(this,null,te);return}if(isFunction$4(ae)){ee.call(this,te,ae);return}let ne=this;return new Promise(function(ie,oe){ee.call(ne,te,function(se,le){if(se)return oe(se);ie(le)})})}}if(isFunction$4(Promise)){for(let ee in ObsClient.prototype)if({}.hasOwnProperty.call(ObsClient.prototype,ee)){let te=ObsClient.prototype[ee];ObsClient.prototype[ee]=createPromise(te)}}ObsClient.prototype.exec=function(ee,te,ae){let ne=this.log;ne.runLog("info",ee,"enter "+ee+"...");let ie=new Date().getTime();te=te||{},ae=ae||function(){};let oe=function(se,le){oe.$called||(oe.$called=!0,se&&!(se instanceof Error)&&(se=new Error(se)),ne.runLog("debug",ee,"ObsClient cost "+(new Date().getTime()-ie)+" ms"),ae(se,le))};this.util.exec(ee,te,oe)};ObsClient.prototype.initLog=function(ee){ee=ee||{},this.log.setLevel(ee.level);let te=["[OBS SDK Version="+this.util.obsSdkVersion];if(this.util.server){let ae=this.util.port?":"+this.util.port:"";te.push("Endpoint="+(this.util.is_secure?"https":"http")+"://"+this.util.server+ae)}te.push("Access Mode="+(this.util.path_style?"Path":"Virtual Hosting")+"]"),this.log.runLog("warn","init",te.join("];["))};ObsClient.prototype.factory=function(ee){this.log=new LogUtil,this.util=new Utils(this.log),ee=ee||{},this.util.initFactory(ee.access_key_id,ee.secret_access_key,ee.is_secure,ee.server,ee.path_style,ee.signature,ee.region,ee.port,ee.timeout,ee.security_token,ee.is_signature_negotiation,ee.is_cname,ee.url_prefix,ee.region_domains,ee.setRequestHeaderHook,ee.useRawXhr)};ObsClient.prototype.refresh=function(ee,te,ae){this.util.refresh(ee,te,ae)};ObsClient.prototype.createSignedUrlSync=function(ee){return this.util.createSignedUrlSync(ee)};ObsClient.prototype.createV2SignedUrlSync=function(ee){return this.util.createV2SignedUrlSync(ee)};ObsClient.prototype.createV4SignedUrlSync=function(ee){return this.util.createV4SignedUrlSync(ee)};ObsClient.prototype.createPostSignatureSync=function(ee){return this.util.createPostSignatureSync(ee)};ObsClient.prototype.createV4PostSignatureSync=function(ee){return this.util.createV4PostSignatureSync(ee)};ObsClient.prototype.enums=enums;for(let ee in ObsClient.prototype)({}).hasOwnProperty.call(ObsClient.prototype,ee)&&(ObsClient.prototype[capitalize$1(ee)]=ObsClient.prototype[ee]);for(let ee in ObsClient.prototype)if({}.hasOwnProperty.call(ObsClient.prototype,ee)){let te=ee.indexOf("Configuration");te>0&&te+13===ee.length&&(ObsClient.prototype[ee.slice(0,te)]=ObsClient.prototype[ee])}function obsBuilder(ee){const te=new ObsClient({access_key_id:ee.accessKey,secret_access_key:ee.secretKey,server:`https://obs.${ee.regionId}.myhuaweicloud.com`});return te.config=ee,te.queryBucketList=()=>{var ae;return((ae=ee.obs)==null?void 0:ae.bucketList)||[]},te}var lodash={exports:{}};/**
- * @license
- * Lodash <https://lodash.com/>
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */(function(ee,te){(function(){var ae,ne="4.17.21",ie=200,oe="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",se="Expected a function",le="Invalid `variable` option passed into `_.template`",ue="__lodash_hash_undefined__",ce=500,de="__lodash_placeholder__",he=1,fe=2,pe=4,ve=1,ge=2,me=1,ye=2,_e=4,be=8,xe=16,$e=32,Se=64,we=128,Ae=256,Te=512,De=30,Me="...",Ie=800,Ce=16,Ee=1,Re=2,ke=3,Be=1/0,Ne=9007199254740991,He=17976931348623157e292,qe=0/0,Oe=4294967295,ze=Oe-1,Ve=Oe>>>1,Ge=[["ary",we],["bind",me],["bindKey",ye],["curry",be],["curryRight",xe],["flip",Te],["partial",$e],["partialRight",Se],["rearg",Ae]],We="[object Arguments]",Ue="[object Array]",Ye="[object AsyncFunction]",Ze="[object Boolean]",Xe="[object Date]",it="[object DOMException]",at="[object Error]",ut="[object Function]",dt="[object GeneratorFunction]",pt="[object Map]",gt="[object Number]",bt="[object Null]",Tt="[object Object]",At="[object Promise]",Mt="[object Proxy]",qt="[object RegExp]",St="[object Set]",Ct="[object String]",Ot="[object Symbol]",ct="[object Undefined]",vt="[object WeakMap]",yt="[object WeakSet]",Dt="[object ArrayBuffer]",Pt="[object DataView]",It="[object Float32Array]",Lt="[object Float64Array]",Ft="[object Int8Array]",Ht="[object Int16Array]",Kt="[object Int32Array]",Zt="[object Uint8Array]",jt="[object Uint8ClampedArray]",fr="[object Uint16Array]",_r="[object Uint32Array]",Rr=/\b__p \+= '';/g,$r=/\b(__p \+=) '' \+/g,Pr=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Lr=/&(?:amp|lt|gt|quot|#39);/g,nr=/[&<>"']/g,wr=RegExp(Lr.source),mr=RegExp(nr.source),Mr=/<%-([\s\S]+?)%>/g,Tr=/<%([\s\S]+?)%>/g,Br=/<%=([\s\S]+?)%>/g,Qt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hr=/^\w*$/,oa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ca=/[\\^$.*+?()[\]{}|]/g,jr=RegExp(ca.source),kr=/^\s+/,Zr=/\s/,Ur=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ea=/\{\n\/\* \[wrapped with (.+)\] \*/,Da=/,? & /,Gr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Xr=/[()=,{}\[\]\/\s]/,Ea=/\\(\\)?/g,Ha=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fn=/\w*$/,pn=/^[-+]0x[0-9a-f]+$/i,vn=/^0b[01]+$/i,gi=/^\[object .+?Constructor\]$/,Tn=/^0o[0-7]+$/i,zn=/^(?:0|[1-9]\d*)$/,qn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,gn=/($^)/,Pn=/['\n\r\u2028\u2029\\]/g,Ga="\\ud800-\\udfff",Hn="\\u0300-\\u036f",mi="\\ufe20-\\ufe2f",yi="\\u20d0-\\u20ff",Gn=Hn+mi+yi,Un="\\u2700-\\u27bf",Wn="a-z\\xdf-\\xf6\\xf8-\\xff",_i="\\xac\\xb1\\xd7\\xf7",bi="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",jn="\\u2000-\\u206f",mn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ft="A-Z\\xc0-\\xd6\\xd8-\\xde",xt="\\ufe0e\\ufe0f",kt=_i+bi+jn+mn,zt="['’]",Ut="["+Ga+"]",Wt="["+kt+"]",Yt="["+Gn+"]",ar="\\d+",Jt="["+Un+"]",lr="["+Wn+"]",dr="[^"+Ga+kt+ar+Un+Wn+ft+"]",hr="\\ud83c[\\udffb-\\udfff]",zr="(?:"+Yt+"|"+hr+")",Dr="[^"+Ga+"]",Yr="(?:\\ud83c[\\udde6-\\uddff]){2}",na="[\\ud800-\\udbff][\\udc00-\\udfff]",ya="["+ft+"]",sa="\\u200d",Xa="(?:"+lr+"|"+dr+")",Mn="(?:"+ya+"|"+dr+")",Va="(?:"+zt+"(?:d|ll|m|re|s|t|ve))?",Yi="(?:"+zt+"(?:D|LL|M|RE|S|T|VE))?",Ki=zr+"?",Zi="["+xt+"]?",Yo="(?:"+sa+"(?:"+[Dr,Yr,na].join("|")+")"+Zi+Ki+")*",Ko="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Zo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Xi=Zi+Ki+Yo,Xo="(?:"+[Jt,Yr,na].join("|")+")"+Xi,Qo="(?:"+[Dr+Yt+"?",Yt,Yr,na,Ut].join("|")+")",Jo=RegExp(zt,"g"),es=RegExp(Yt,"g"),Dn=RegExp(hr+"(?="+hr+")|"+Qo+Xi,"g"),ts=RegExp([ya+"?"+lr+"+"+Va+"(?="+[Wt,ya,"$"].join("|")+")",Mn+"+"+Yi+"(?="+[Wt,ya+Xa,"$"].join("|")+")",ya+"?"+Xa+"+"+Va,ya+"+"+Yi,Zo,Ko,ar,Xo].join("|"),"g"),rs=RegExp("["+sa+Ga+Gn+xt+"]"),as=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ns=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],is=-1,Vr={};Vr[It]=Vr[Lt]=Vr[Ft]=Vr[Ht]=Vr[Kt]=Vr[Zt]=Vr[jt]=Vr[fr]=Vr[_r]=!0,Vr[We]=Vr[Ue]=Vr[Dt]=Vr[Ze]=Vr[Pt]=Vr[Xe]=Vr[at]=Vr[ut]=Vr[pt]=Vr[gt]=Vr[Tt]=Vr[qt]=Vr[St]=Vr[Ct]=Vr[vt]=!1;var Er={};Er[We]=Er[Ue]=Er[Dt]=Er[Pt]=Er[Ze]=Er[Xe]=Er[It]=Er[Lt]=Er[Ft]=Er[Ht]=Er[Kt]=Er[pt]=Er[gt]=Er[Tt]=Er[qt]=Er[St]=Er[Ct]=Er[Ot]=Er[Zt]=Er[jt]=Er[fr]=Er[_r]=!0,Er[at]=Er[ut]=Er[vt]=!1;var Qi={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},os={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ss={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ji={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ls=parseFloat,us=parseInt,Si=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,cs=typeof self=="object"&&self&&self.Object===Object&&self,ta=Si||cs||Function("return this")(),Yn=te&&!te.nodeType&&te,Qa=Yn&&!0&&ee&&!ee.nodeType&&ee,eo=Qa&&Qa.exports===Yn,Kn=eo&&Si.process,ba=function(){try{var $t=Qa&&Qa.require&&Qa.require("util").types;return $t||Kn&&Kn.binding&&Kn.binding("util")}catch{}}(),to=ba&&ba.isArrayBuffer,xi=ba&&ba.isDate,ro=ba&&ba.isMap,ao=ba&&ba.isRegExp,$i=ba&&ba.isSet,no=ba&&ba.isTypedArray;function pa($t,Bt,Et){switch(Et.length){case 0:return $t.call(Bt);case 1:return $t.call(Bt,Et[0]);case 2:return $t.call(Bt,Et[0],Et[1]);case 3:return $t.call(Bt,Et[0],Et[1],Et[2])}return $t.apply(Bt,Et)}function io($t,Bt,Et,rr){for(var pr=-1,Ir=$t==null?0:$t.length;++pr<Ir;){var ra=$t[pr];Bt(rr,ra,Et(ra),$t)}return rr}function Sa($t,Bt){for(var Et=-1,rr=$t==null?0:$t.length;++Et<rr&&Bt($t[Et],Et,$t)!==!1;);return $t}function ds($t,Bt){for(var Et=$t==null?0:$t.length;Et--&&Bt($t[Et],Et,$t)!==!1;);return $t}function wi($t,Bt){for(var Et=-1,rr=$t==null?0:$t.length;++Et<rr;)if(!Bt($t[Et],Et,$t))return!1;return!0}function Ua($t,Bt){for(var Et=-1,rr=$t==null?0:$t.length,pr=0,Ir=[];++Et<rr;){var ra=$t[Et];Bt(ra,Et,$t)&&(Ir[pr++]=ra)}return Ir}function Zn($t,Bt){var Et=$t==null?0:$t.length;return!!Et&&yn($t,Bt,0)>-1}function Xn($t,Bt,Et){for(var rr=-1,pr=$t==null?0:$t.length;++rr<pr;)if(Et(Bt,$t[rr]))return!0;return!1}function qr($t,Bt){for(var Et=-1,rr=$t==null?0:$t.length,pr=Array(rr);++Et<rr;)pr[Et]=Bt($t[Et],Et,$t);return pr}function Wa($t,Bt){for(var Et=-1,rr=Bt.length,pr=$t.length;++Et<rr;)$t[pr+Et]=Bt[Et];return $t}function Qn($t,Bt,Et,rr){var pr=-1,Ir=$t==null?0:$t.length;for(rr&&Ir&&(Et=$t[++pr]);++pr<Ir;)Et=Bt(Et,$t[pr],pr,$t);return Et}function hs($t,Bt,Et,rr){var pr=$t==null?0:$t.length;for(rr&&pr&&(Et=$t[--pr]);pr--;)Et=Bt(Et,$t[pr],pr,$t);return Et}function Ai($t,Bt){for(var Et=-1,rr=$t==null?0:$t.length;++Et<rr;)if(Bt($t[Et],Et,$t))return!0;return!1}var oo=Pi("length");function fs($t){return $t.split("")}function ps($t){return $t.match(Gr)||[]}function Ci($t,Bt,Et){var rr;return Et($t,function(pr,Ir,ra){if(Bt(pr,Ir,ra))return rr=Ir,!1}),rr}function Jn($t,Bt,Et,rr){for(var pr=$t.length,Ir=Et+(rr?1:-1);rr?Ir--:++Ir<pr;)if(Bt($t[Ir],Ir,$t))return Ir;return-1}function yn($t,Bt,Et){return Bt===Bt?Xt($t,Bt,Et):Jn($t,lo,Et)}function so($t,Bt,Et,rr){for(var pr=Et-1,Ir=$t.length;++pr<Ir;)if(rr($t[pr],Bt))return pr;return-1}function lo($t){return $t!==$t}function Ti($t,Bt){var Et=$t==null?0:$t.length;return Et?Di($t,Bt)/Et:qe}function Pi($t){return function(Bt){return Bt==null?ae:Bt[$t]}}function ei($t){return function(Bt){return $t==null?ae:$t[Bt]}}function Mi($t,Bt,Et,rr,pr){return pr($t,function(Ir,ra,Fr){Et=rr?(rr=!1,Ir):Bt(Et,Ir,ra,Fr)}),Et}function vs($t,Bt){var Et=$t.length;for($t.sort(Bt);Et--;)$t[Et]=$t[Et].value;return $t}function Di($t,Bt){for(var Et,rr=-1,pr=$t.length;++rr<pr;){var Ir=Bt($t[rr]);Ir!==ae&&(Et=Et===ae?Ir:Et+Ir)}return Et}function Ei($t,Bt){for(var Et=-1,rr=Array($t);++Et<$t;)rr[Et]=Bt(Et);return rr}function ti($t,Bt){return qr(Bt,function(Et){return[Et,$t[Et]]})}function Ii($t){return $t&&$t.slice(0,tr($t)+1).replace(kr,"")}function da($t){return function(Bt){return $t(Bt)}}function ri($t,Bt){return qr(Bt,function(Et){return $t[Et]})}function En($t,Bt){return $t.has(Bt)}function Ri($t,Bt){for(var Et=-1,rr=$t.length;++Et<rr&&yn(Bt,$t[Et],0)>-1;);return Et}function uo($t,Bt){for(var Et=$t.length;Et--&&yn(Bt,$t[Et],0)>-1;);return Et}function ai($t,Bt){for(var Et=$t.length,rr=0;Et--;)$t[Et]===Bt&&++rr;return rr}var ni=ei(Qi),gs=ei(os);function co($t){return"\\"+Ji[$t]}function ms($t,Bt){return $t==null?ae:$t[Bt]}function _n($t){return rs.test($t)}function ys($t){return as.test($t)}function ht($t){for(var Bt,Et=[];!(Bt=$t.next()).done;)Et.push(Bt.value);return Et}function or($t){var Bt=-1,Et=Array($t.size);return $t.forEach(function(rr,pr){Et[++Bt]=[pr,rr]}),Et}function bn($t,Bt){return function(Et){return $t(Bt(Et))}}function Ia($t,Bt){for(var Et=-1,rr=$t.length,pr=0,Ir=[];++Et<rr;){var ra=$t[Et];(ra===Bt||ra===de)&&($t[Et]=de,Ir[pr++]=Et)}return Ir}function Ja($t){var Bt=-1,Et=Array($t.size);return $t.forEach(function(rr){Et[++Bt]=rr}),Et}function ii($t){var Bt=-1,Et=Array($t.size);return $t.forEach(function(rr){Et[++Bt]=[rr,rr]}),Et}function Xt($t,Bt,Et){for(var rr=Et-1,pr=$t.length;++rr<pr;)if($t[rr]===Bt)return rr;return-1}function Ke($t,Bt,Et){for(var rr=Et+1;rr--;)if($t[rr]===Bt)return rr;return rr}function Je($t){return _n($t)?ja($t):oo($t)}function Rt($t){return _n($t)?In($t):fs($t)}function tr($t){for(var Bt=$t.length;Bt--&&Zr.test($t.charAt(Bt)););return Bt}var Sr=ei(ss);function ja($t){for(var Bt=Dn.lastIndex=0;Dn.test($t);)++Bt;return Bt}function In($t){return $t.match(Dn)||[]}function nu($t){return $t.match(ts)||[]}var iu=function $t(Bt){Bt=Bt==null?ta:oi.defaults(ta.Object(),Bt,oi.pick(ta,ns));var Et=Bt.Array,rr=Bt.Date,pr=Bt.Error,Ir=Bt.Function,ra=Bt.Math,Fr=Bt.Object,_s=Bt.RegExp,ou=Bt.String,Ra=Bt.TypeError,ho=Et.prototype,su=Ir.prototype,si=Fr.prototype,fo=Bt["__core-js_shared__"],po=su.toString,Nr=si.hasOwnProperty,lu=0,p1=function(){var Pe=/[^.]+$/.exec(fo&&fo.keys&&fo.keys.IE_PROTO||"");return Pe?"Symbol(src)_1."+Pe:""}(),vo=si.toString,uu=po.call(Fr),cu=ta._,du=_s("^"+po.call(Nr).replace(ca,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),go=eo?Bt.Buffer:ae,Sn=Bt.Symbol,mo=Bt.Uint8Array,g1=go?go.allocUnsafe:ae,yo=bn(Fr.getPrototypeOf,Fr),m1=Fr.create,y1=si.propertyIsEnumerable,_o=ho.splice,_1=Sn?Sn.isConcatSpreadable:ae,Li=Sn?Sn.iterator:ae,Rn=Sn?Sn.toStringTag:ae,bo=function(){try{var Pe=Nn(Fr,"defineProperty");return Pe({},"",{}),Pe}catch{}}(),hu=Bt.clearTimeout!==ta.clearTimeout&&Bt.clearTimeout,fu=rr&&rr.now!==ta.Date.now&&rr.now,pu=Bt.setTimeout!==ta.setTimeout&&Bt.setTimeout,So=ra.ceil,xo=ra.floor,bs=Fr.getOwnPropertySymbols,vu=go?go.isBuffer:ae,b1=Bt.isFinite,gu=ho.join,mu=bn(Fr.keys,Fr),aa=ra.max,ha=ra.min,yu=rr.now,_u=Bt.parseInt,S1=ra.random,bu=ho.reverse,Ss=Nn(Bt,"DataView"),ki=Nn(Bt,"Map"),xs=Nn(Bt,"Promise"),li=Nn(Bt,"Set"),Oi=Nn(Bt,"WeakMap"),Bi=Nn(Fr,"create"),$o=Oi&&new Oi,ui={},Su=Vn(Ss),xu=Vn(ki),$u=Vn(xs),wu=Vn(li),Au=Vn(Oi),wo=Sn?Sn.prototype:ae,Ni=wo?wo.valueOf:ae,x1=wo?wo.toString:ae;function ot(Pe){if(Kr(Pe)&&!vr(Pe)&&!(Pe instanceof Ar)){if(Pe instanceof La)return Pe;if(Nr.call(Pe,"__wrapped__"))return $l(Pe)}return new La(Pe)}var ci=function(){function Pe(){}return function(Le){if(!Wr(Le))return{};if(m1)return m1(Le);Pe.prototype=Le;var Fe=new Pe;return Pe.prototype=ae,Fe}}();function Ao(){}function La(Pe,Le){this.__wrapped__=Pe,this.__actions__=[],this.__chain__=!!Le,this.__index__=0,this.__values__=ae}ot.templateSettings={escape:Mr,evaluate:Tr,interpolate:Br,variable:"",imports:{_:ot}},ot.prototype=Ao.prototype,ot.prototype.constructor=ot,La.prototype=ci(Ao.prototype),La.prototype.constructor=La;function Ar(Pe){this.__wrapped__=Pe,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Oe,this.__views__=[]}function Cu(){var Pe=new Ar(this.__wrapped__);return Pe.__actions__=xa(this.__actions__),Pe.__dir__=this.__dir__,Pe.__filtered__=this.__filtered__,Pe.__iteratees__=xa(this.__iteratees__),Pe.__takeCount__=this.__takeCount__,Pe.__views__=xa(this.__views__),Pe}function Tu(){if(this.__filtered__){var Pe=new Ar(this);Pe.__dir__=-1,Pe.__filtered__=!0}else Pe=this.clone(),Pe.__dir__*=-1;return Pe}function Pu(){var Pe=this.__wrapped__.value(),Le=this.__dir__,Fe=vr(Pe),je=Le<0,Qe=Fe?Pe.length:0,st=qc(0,Qe,this.__views__),mt=st.start,_t=st.end,wt=_t-mt,Nt=je?_t:mt-1,Vt=this.__iteratees__,Gt=Vt.length,er=0,ir=ha(wt,this.__takeCount__);if(!Fe||!je&&Qe==wt&&ir==wt)return W1(Pe,this.__actions__);var ur=[];e:for(;wt--&&er<ir;){Nt+=Le;for(var yr=-1,cr=Pe[Nt];++yr<Gt;){var xr=Vt[yr],Cr=xr.iteratee,Pa=xr.type,ma=Cr(cr);if(Pa==Re)cr=ma;else if(!ma){if(Pa==Ee)continue e;break e}}ur[er++]=cr}return ur}Ar.prototype=ci(Ao.prototype),Ar.prototype.constructor=Ar;function Ln(Pe){var Le=-1,Fe=Pe==null?0:Pe.length;for(this.clear();++Le<Fe;){var je=Pe[Le];this.set(je[0],je[1])}}function Mu(){this.__data__=Bi?Bi(null):{},this.size=0}function Du(Pe){var Le=this.has(Pe)&&delete this.__data__[Pe];return this.size-=Le?1:0,Le}function Eu(Pe){var Le=this.__data__;if(Bi){var Fe=Le[Pe];return Fe===ue?ae:Fe}return Nr.call(Le,Pe)?Le[Pe]:ae}function Iu(Pe){var Le=this.__data__;return Bi?Le[Pe]!==ae:Nr.call(Le,Pe)}function Ru(Pe,Le){var Fe=this.__data__;return this.size+=this.has(Pe)?0:1,Fe[Pe]=Bi&&Le===ae?ue:Le,this}Ln.prototype.clear=Mu,Ln.prototype.delete=Du,Ln.prototype.get=Eu,Ln.prototype.has=Iu,Ln.prototype.set=Ru;function tn(Pe){var Le=-1,Fe=Pe==null?0:Pe.length;for(this.clear();++Le<Fe;){var je=Pe[Le];this.set(je[0],je[1])}}function Lu(){this.__data__=[],this.size=0}function ku(Pe){var Le=this.__data__,Fe=Co(Le,Pe);if(Fe<0)return!1;var je=Le.length-1;return Fe==je?Le.pop():_o.call(Le,Fe,1),--this.size,!0}function Ou(Pe){var Le=this.__data__,Fe=Co(Le,Pe);return Fe<0?ae:Le[Fe][1]}function Bu(Pe){return Co(this.__data__,Pe)>-1}function Nu(Pe,Le){var Fe=this.__data__,je=Co(Fe,Pe);return je<0?(++this.size,Fe.push([Pe,Le])):Fe[je][1]=Le,this}tn.prototype.clear=Lu,tn.prototype.delete=ku,tn.prototype.get=Ou,tn.prototype.has=Bu,tn.prototype.set=Nu;function rn(Pe){var Le=-1,Fe=Pe==null?0:Pe.length;for(this.clear();++Le<Fe;){var je=Pe[Le];this.set(je[0],je[1])}}function Vu(){this.size=0,this.__data__={hash:new Ln,map:new(ki||tn),string:new Ln}}function Fu(Pe){var Le=No(this,Pe).delete(Pe);return this.size-=Le?1:0,Le}function zu(Pe){return No(this,Pe).get(Pe)}function qu(Pe){return No(this,Pe).has(Pe)}function Hu(Pe,Le){var Fe=No(this,Pe),je=Fe.size;return Fe.set(Pe,Le),this.size+=Fe.size==je?0:1,this}rn.prototype.clear=Vu,rn.prototype.delete=Fu,rn.prototype.get=zu,rn.prototype.has=qu,rn.prototype.set=Hu;function kn(Pe){var Le=-1,Fe=Pe==null?0:Pe.length;for(this.__data__=new rn;++Le<Fe;)this.add(Pe[Le])}function Gu(Pe){return this.__data__.set(Pe,ue),this}function Uu(Pe){return this.__data__.has(Pe)}kn.prototype.add=kn.prototype.push=Gu,kn.prototype.has=Uu;function Fa(Pe){var Le=this.__data__=new tn(Pe);this.size=Le.size}function Wu(){this.__data__=new tn,this.size=0}function ju(Pe){var Le=this.__data__,Fe=Le.delete(Pe);return this.size=Le.size,Fe}function Yu(Pe){return this.__data__.get(Pe)}function Ku(Pe){return this.__data__.has(Pe)}function Zu(Pe,Le){var Fe=this.__data__;if(Fe instanceof tn){var je=Fe.__data__;if(!ki||je.length<ie-1)return je.push([Pe,Le]),this.size=++Fe.size,this;Fe=this.__data__=new rn(je)}return Fe.set(Pe,Le),this.size=Fe.size,this}Fa.prototype.clear=Wu,Fa.prototype.delete=ju,Fa.prototype.get=Yu,Fa.prototype.has=Ku,Fa.prototype.set=Zu;function $1(Pe,Le){var Fe=vr(Pe),je=!Fe&&Fn(Pe),Qe=!Fe&&!je&&Cn(Pe),st=!Fe&&!je&&!Qe&&pi(Pe),mt=Fe||je||Qe||st,_t=mt?Ei(Pe.length,ou):[],wt=_t.length;for(var Nt in Pe)(Le||Nr.call(Pe,Nt))&&!(mt&&(Nt=="length"||Qe&&(Nt=="offset"||Nt=="parent")||st&&(Nt=="buffer"||Nt=="byteLength"||Nt=="byteOffset")||ln(Nt,wt)))&&_t.push(Nt);return _t}function w1(Pe){var Le=Pe.length;return Le?Pe[Rs(0,Le-1)]:ae}function Xu(Pe,Le){return Vo(xa(Pe),On(Le,0,Pe.length))}function Qu(Pe){return Vo(xa(Pe))}function $s(Pe,Le,Fe){(Fe!==ae&&!za(Pe[Le],Fe)||Fe===ae&&!(Le in Pe))&&an(Pe,Le,Fe)}function Vi(Pe,Le,Fe){var je=Pe[Le];(!(Nr.call(Pe,Le)&&za(je,Fe))||Fe===ae&&!(Le in Pe))&&an(Pe,Le,Fe)}function Co(Pe,Le){for(var Fe=Pe.length;Fe--;)if(za(Pe[Fe][0],Le))return Fe;return-1}function Ju(Pe,Le,Fe,je){return xn(Pe,function(Qe,st,mt){Le(je,Qe,Fe(Qe),mt)}),je}function A1(Pe,Le){return Pe&&Ka(Le,ia(Le),Pe)}function ec(Pe,Le){return Pe&&Ka(Le,wa(Le),Pe)}function an(Pe,Le,Fe){Le=="__proto__"&&bo?bo(Pe,Le,{configurable:!0,enumerable:!0,value:Fe,writable:!0}):Pe[Le]=Fe}function ws(Pe,Le){for(var Fe=-1,je=Le.length,Qe=Et(je),st=Pe==null;++Fe<je;)Qe[Fe]=st?ae:n1(Pe,Le[Fe]);return Qe}function On(Pe,Le,Fe){return Pe===Pe&&(Fe!==ae&&(Pe=Pe<=Fe?Pe:Fe),Le!==ae&&(Pe=Pe>=Le?Pe:Le)),Pe}function ka(Pe,Le,Fe,je,Qe,st){var mt,_t=Le&he,wt=Le&fe,Nt=Le&pe;if(Fe&&(mt=Qe?Fe(Pe,je,Qe,st):Fe(Pe)),mt!==ae)return mt;if(!Wr(Pe))return Pe;var Vt=vr(Pe);if(Vt){if(mt=Gc(Pe),!_t)return xa(Pe,mt)}else{var Gt=fa(Pe),er=Gt==ut||Gt==dt;if(Cn(Pe))return K1(Pe,_t);if(Gt==Tt||Gt==We||er&&!Qe){if(mt=wt||er?{}:pl(Pe),!_t)return wt?Rc(Pe,ec(mt,Pe)):Ic(Pe,A1(mt,Pe))}else{if(!Er[Gt])return Qe?Pe:{};mt=Uc(Pe,Gt,_t)}}st||(st=new Fa);var ir=st.get(Pe);if(ir)return ir;st.set(Pe,mt),Hl(Pe)?Pe.forEach(function(cr){mt.add(ka(cr,Le,Fe,cr,Pe,st))}):zl(Pe)&&Pe.forEach(function(cr,xr){mt.set(xr,ka(cr,Le,Fe,xr,Pe,st))});var ur=Nt?wt?Gs:Hs:wt?wa:ia,yr=Vt?ae:ur(Pe);return Sa(yr||Pe,function(cr,xr){yr&&(xr=cr,cr=Pe[xr]),Vi(mt,xr,ka(cr,Le,Fe,xr,Pe,st))}),mt}function tc(Pe){var Le=ia(Pe);return function(Fe){return C1(Fe,Pe,Le)}}function C1(Pe,Le,Fe){var je=Fe.length;if(Pe==null)return!je;for(Pe=Fr(Pe);je--;){var Qe=Fe[je],st=Le[Qe],mt=Pe[Qe];if(mt===ae&&!(Qe in Pe)||!st(mt))return!1}return!0}function T1(Pe,Le,Fe){if(typeof Pe!="function")throw new Ra(se);return Wi(function(){Pe.apply(ae,Fe)},Le)}function Fi(Pe,Le,Fe,je){var Qe=-1,st=Zn,mt=!0,_t=Pe.length,wt=[],Nt=Le.length;if(!_t)return wt;Fe&&(Le=qr(Le,da(Fe))),je?(st=Xn,mt=!1):Le.length>=ie&&(st=En,mt=!1,Le=new kn(Le));e:for(;++Qe<_t;){var Vt=Pe[Qe],Gt=Fe==null?Vt:Fe(Vt);if(Vt=je||Vt!==0?Vt:0,mt&&Gt===Gt){for(var er=Nt;er--;)if(Le[er]===Gt)continue e;wt.push(Vt)}else st(Le,Gt,je)||wt.push(Vt)}return wt}var xn=el(Ya),P1=el(Cs,!0);function rc(Pe,Le){var Fe=!0;return xn(Pe,function(je,Qe,st){return Fe=!!Le(je,Qe,st),Fe}),Fe}function To(Pe,Le,Fe){for(var je=-1,Qe=Pe.length;++je<Qe;){var st=Pe[je],mt=Le(st);if(mt!=null&&(_t===ae?mt===mt&&!Ta(mt):Fe(mt,_t)))var _t=mt,wt=st}return wt}function ac(Pe,Le,Fe,je){var Qe=Pe.length;for(Fe=gr(Fe),Fe<0&&(Fe=-Fe>Qe?0:Qe+Fe),je=je===ae||je>Qe?Qe:gr(je),je<0&&(je+=Qe),je=Fe>je?0:Ul(je);Fe<je;)Pe[Fe++]=Le;return Pe}function M1(Pe,Le){var Fe=[];return xn(Pe,function(je,Qe,st){Le(je,Qe,st)&&Fe.push(je)}),Fe}function la(Pe,Le,Fe,je,Qe){var st=-1,mt=Pe.length;for(Fe||(Fe=jc),Qe||(Qe=[]);++st<mt;){var _t=Pe[st];Le>0&&Fe(_t)?Le>1?la(_t,Le-1,Fe,je,Qe):Wa(Qe,_t):je||(Qe[Qe.length]=_t)}return Qe}var As=tl(),D1=tl(!0);function Ya(Pe,Le){return Pe&&As(Pe,Le,ia)}function Cs(Pe,Le){return Pe&&D1(Pe,Le,ia)}function Po(Pe,Le){return Ua(Le,function(Fe){return un(Pe[Fe])})}function Bn(Pe,Le){Le=wn(Le,Pe);for(var Fe=0,je=Le.length;Pe!=null&&Fe<je;)Pe=Pe[Za(Le[Fe++])];return Fe&&Fe==je?Pe:ae}function E1(Pe,Le,Fe){var je=Le(Pe);return vr(Pe)?je:Wa(je,Fe(Pe))}function va(Pe){return Pe==null?Pe===ae?ct:bt:Rn&&Rn in Fr(Pe)?zc(Pe):e2(Pe)}function Ts(Pe,Le){return Pe>Le}function nc(Pe,Le){return Pe!=null&&Nr.call(Pe,Le)}function ic(Pe,Le){return Pe!=null&&Le in Fr(Pe)}function oc(Pe,Le,Fe){return Pe>=ha(Le,Fe)&&Pe<aa(Le,Fe)}function Ps(Pe,Le,Fe){for(var je=Fe?Xn:Zn,Qe=Pe[0].length,st=Pe.length,mt=st,_t=Et(st),wt=1/0,Nt=[];mt--;){var Vt=Pe[mt];mt&&Le&&(Vt=qr(Vt,da(Le))),wt=ha(Vt.length,wt),_t[mt]=!Fe&&(Le||Qe>=120&&Vt.length>=120)?new kn(mt&&Vt):ae}Vt=Pe[0];var Gt=-1,er=_t[0];e:for(;++Gt<Qe&&Nt.length<wt;){var ir=Vt[Gt],ur=Le?Le(ir):ir;if(ir=Fe||ir!==0?ir:0,!(er?En(er,ur):je(Nt,ur,Fe))){for(mt=st;--mt;){var yr=_t[mt];if(!(yr?En(yr,ur):je(Pe[mt],ur,Fe)))continue e}er&&er.push(ur),Nt.push(ir)}}return Nt}function sc(Pe,Le,Fe,je){return Ya(Pe,function(Qe,st,mt){Le(je,Fe(Qe),st,mt)}),je}function zi(Pe,Le,Fe){Le=wn(Le,Pe),Pe=yl(Pe,Le);var je=Pe==null?Pe:Pe[Za(Ba(Le))];return je==null?ae:pa(je,Pe,Fe)}function I1(Pe){return Kr(Pe)&&va(Pe)==We}function lc(Pe){return Kr(Pe)&&va(Pe)==Dt}function uc(Pe){return Kr(Pe)&&va(Pe)==Xe}function qi(Pe,Le,Fe,je,Qe){return Pe===Le?!0:Pe==null||Le==null||!Kr(Pe)&&!Kr(Le)?Pe!==Pe&&Le!==Le:cc(Pe,Le,Fe,je,qi,Qe)}function cc(Pe,Le,Fe,je,Qe,st){var mt=vr(Pe),_t=vr(Le),wt=mt?Ue:fa(Pe),Nt=_t?Ue:fa(Le);wt=wt==We?Tt:wt,Nt=Nt==We?Tt:Nt;var Vt=wt==Tt,Gt=Nt==Tt,er=wt==Nt;if(er&&Cn(Pe)){if(!Cn(Le))return!1;mt=!0,Vt=!1}if(er&&!Vt)return st||(st=new Fa),mt||pi(Pe)?dl(Pe,Le,Fe,je,Qe,st):Vc(Pe,Le,wt,Fe,je,Qe,st);if(!(Fe&ve)){var ir=Vt&&Nr.call(Pe,"__wrapped__"),ur=Gt&&Nr.call(Le,"__wrapped__");if(ir||ur){var yr=ir?Pe.value():Pe,cr=ur?Le.value():Le;return st||(st=new Fa),Qe(yr,cr,Fe,je,st)}}return er?(st||(st=new Fa),Fc(Pe,Le,Fe,je,Qe,st)):!1}function dc(Pe){return Kr(Pe)&&fa(Pe)==pt}function Ms(Pe,Le,Fe,je){var Qe=Fe.length,st=Qe,mt=!je;if(Pe==null)return!st;for(Pe=Fr(Pe);Qe--;){var _t=Fe[Qe];if(mt&&_t[2]?_t[1]!==Pe[_t[0]]:!(_t[0]in Pe))return!1}for(;++Qe<st;){_t=Fe[Qe];var wt=_t[0],Nt=Pe[wt],Vt=_t[1];if(mt&&_t[2]){if(Nt===ae&&!(wt in Pe))return!1}else{var Gt=new Fa;if(je)var er=je(Nt,Vt,wt,Pe,Le,Gt);if(!(er===ae?qi(Vt,Nt,ve|ge,je,Gt):er))return!1}}return!0}function R1(Pe){if(!Wr(Pe)||Kc(Pe))return!1;var Le=un(Pe)?du:gi;return Le.test(Vn(Pe))}function hc(Pe){return Kr(Pe)&&va(Pe)==qt}function fc(Pe){return Kr(Pe)&&fa(Pe)==St}function vc(Pe){return Kr(Pe)&&Uo(Pe.length)&&!!Vr[va(Pe)]}function L1(Pe){return typeof Pe=="function"?Pe:Pe==null?Aa:typeof Pe=="object"?vr(Pe)?B1(Pe[0],Pe[1]):O1(Pe):ru(Pe)}function Ds(Pe){if(!Ui(Pe))return mu(Pe);var Le=[];for(var Fe in Fr(Pe))Nr.call(Pe,Fe)&&Fe!="constructor"&&Le.push(Fe);return Le}function gc(Pe){if(!Wr(Pe))return Jc(Pe);var Le=Ui(Pe),Fe=[];for(var je in Pe)je=="constructor"&&(Le||!Nr.call(Pe,je))||Fe.push(je);return Fe}function Es(Pe,Le){return Pe<Le}function k1(Pe,Le){var Fe=-1,je=$a(Pe)?Et(Pe.length):[];return xn(Pe,function(Qe,st,mt){je[++Fe]=Le(Qe,st,mt)}),je}function O1(Pe){var Le=Ws(Pe);return Le.length==1&&Le[0][2]?gl(Le[0][0],Le[0][1]):function(Fe){return Fe===Pe||Ms(Fe,Pe,Le)}}function B1(Pe,Le){return Ys(Pe)&&vl(Le)?gl(Za(Pe),Le):function(Fe){var je=n1(Fe,Pe);return je===ae&&je===Le?i1(Fe,Pe):qi(Le,je,ve|ge)}}function Mo(Pe,Le,Fe,je,Qe){Pe!==Le&&As(Le,function(st,mt){if(Qe||(Qe=new Fa),Wr(st))mc(Pe,Le,mt,Fe,Mo,je,Qe);else{var _t=je?je(Zs(Pe,mt),st,mt+"",Pe,Le,Qe):ae;_t===ae&&(_t=st),$s(Pe,mt,_t)}},wa)}function mc(Pe,Le,Fe,je,Qe,st,mt){var _t=Zs(Pe,Fe),wt=Zs(Le,Fe),Nt=mt.get(wt);if(Nt){$s(Pe,Fe,Nt);return}var Vt=st?st(_t,wt,Fe+"",Pe,Le,mt):ae,Gt=Vt===ae;if(Gt){var er=vr(wt),ir=!er&&Cn(wt),ur=!er&&!ir&&pi(wt);Vt=wt,er||ir||ur?vr(_t)?Vt=_t:Qr(_t)?Vt=xa(_t):ir?(Gt=!1,Vt=K1(wt,!0)):ur?(Gt=!1,Vt=Z1(wt,!0)):Vt=[]:ji(wt)||Fn(wt)?(Vt=_t,Fn(_t)?Vt=Wl(_t):(!Wr(_t)||un(_t))&&(Vt=pl(wt))):Gt=!1}Gt&&(mt.set(wt,Vt),Qe(Vt,wt,je,st,mt),mt.delete(wt)),$s(Pe,Fe,Vt)}function N1(Pe,Le){var Fe=Pe.length;if(Fe)return Le+=Le<0?Fe:0,ln(Le,Fe)?Pe[Le]:ae}function V1(Pe,Le,Fe){Le.length?Le=qr(Le,function(st){return vr(st)?function(mt){return Bn(mt,st.length===1?st[0]:st)}:st}):Le=[Aa];var je=-1;Le=qr(Le,da(sr()));var Qe=k1(Pe,function(st,mt,_t){var wt=qr(Le,function(Nt){return Nt(st)});return{criteria:wt,index:++je,value:st}});return vs(Qe,function(st,mt){return Ec(st,mt,Fe)})}function yc(Pe,Le){return F1(Pe,Le,function(Fe,je){return i1(Pe,je)})}function F1(Pe,Le,Fe){for(var je=-1,Qe=Le.length,st={};++je<Qe;){var mt=Le[je],_t=Bn(Pe,mt);Fe(_t,mt)&&Hi(st,wn(mt,Pe),_t)}return st}function bc(Pe){return function(Le){return Bn(Le,Pe)}}function Is(Pe,Le,Fe,je){var Qe=je?so:yn,st=-1,mt=Le.length,_t=Pe;for(Pe===Le&&(Le=xa(Le)),Fe&&(_t=qr(Pe,da(Fe)));++st<mt;)for(var wt=0,Nt=Le[st],Vt=Fe?Fe(Nt):Nt;(wt=Qe(_t,Vt,wt,je))>-1;)_t!==Pe&&_o.call(_t,wt,1),_o.call(Pe,wt,1);return Pe}function z1(Pe,Le){for(var Fe=Pe?Le.length:0,je=Fe-1;Fe--;){var Qe=Le[Fe];if(Fe==je||Qe!==st){var st=Qe;ln(Qe)?_o.call(Pe,Qe,1):Os(Pe,Qe)}}return Pe}function Rs(Pe,Le){return Pe+xo(S1()*(Le-Pe+1))}function Sc(Pe,Le,Fe,je){for(var Qe=-1,st=aa(So((Le-Pe)/(Fe||1)),0),mt=Et(st);st--;)mt[je?st:++Qe]=Pe,Pe+=Fe;return mt}function Ls(Pe,Le){var Fe="";if(!Pe||Le<1||Le>Ne)return Fe;do Le%2&&(Fe+=Pe),Le=xo(Le/2),Le&&(Pe+=Pe);while(Le);return Fe}function br(Pe,Le){return Xs(ml(Pe,Le,Aa),Pe+"")}function xc(Pe){return w1(vi(Pe))}function $c(Pe,Le){var Fe=vi(Pe);return Vo(Fe,On(Le,0,Fe.length))}function Hi(Pe,Le,Fe,je){if(!Wr(Pe))return Pe;Le=wn(Le,Pe);for(var Qe=-1,st=Le.length,mt=st-1,_t=Pe;_t!=null&&++Qe<st;){var wt=Za(Le[Qe]),Nt=Fe;if(wt==="__proto__"||wt==="constructor"||wt==="prototype")return Pe;if(Qe!=mt){var Vt=_t[wt];Nt=je?je(Vt,wt,_t):ae,Nt===ae&&(Nt=Wr(Vt)?Vt:ln(Le[Qe+1])?[]:{})}Vi(_t,wt,Nt),_t=_t[wt]}return Pe}var q1=$o?function(Pe,Le){return $o.set(Pe,Le),Pe}:Aa,wc=bo?function(Pe,Le){return bo(Pe,"toString",{configurable:!0,enumerable:!1,value:s1(Le),writable:!0})}:Aa;function Ac(Pe){return Vo(vi(Pe))}function Oa(Pe,Le,Fe){var je=-1,Qe=Pe.length;Le<0&&(Le=-Le>Qe?0:Qe+Le),Fe=Fe>Qe?Qe:Fe,Fe<0&&(Fe+=Qe),Qe=Le>Fe?0:Fe-Le>>>0,Le>>>=0;for(var st=Et(Qe);++je<Qe;)st[je]=Pe[je+Le];return st}function Cc(Pe,Le){var Fe;return xn(Pe,function(je,Qe,st){return Fe=Le(je,Qe,st),!Fe}),!!Fe}function Do(Pe,Le,Fe){var je=0,Qe=Pe==null?je:Pe.length;if(typeof Le=="number"&&Le===Le&&Qe<=Ve){for(;je<Qe;){var st=je+Qe>>>1,mt=Pe[st];mt!==null&&!Ta(mt)&&(Fe?mt<=Le:mt<Le)?je=st+1:Qe=st}return Qe}return ks(Pe,Le,Aa,Fe)}function ks(Pe,Le,Fe,je){var Qe=0,st=Pe==null?0:Pe.length;if(st===0)return 0;Le=Fe(Le);for(var mt=Le!==Le,_t=Le===null,wt=Ta(Le),Nt=Le===ae;Qe<st;){var Vt=xo((Qe+st)/2),Gt=Fe(Pe[Vt]),er=Gt!==ae,ir=Gt===null,ur=Gt===Gt,yr=Ta(Gt);if(mt)var cr=je||ur;else Nt?cr=ur&&(je||er):_t?cr=ur&&er&&(je||!ir):wt?cr=ur&&er&&!ir&&(je||!yr):ir||yr?cr=!1:cr=je?Gt<=Le:Gt<Le;cr?Qe=Vt+1:st=Vt}return ha(st,ze)}function H1(Pe,Le){for(var Fe=-1,je=Pe.length,Qe=0,st=[];++Fe<je;){var mt=Pe[Fe],_t=Le?Le(mt):mt;if(!Fe||!za(_t,wt)){var wt=_t;st[Qe++]=mt===0?0:mt}}return st}function G1(Pe){return typeof Pe=="number"?Pe:Ta(Pe)?qe:+Pe}function Ca(Pe){if(typeof Pe=="string")return Pe;if(vr(Pe))return qr(Pe,Ca)+"";if(Ta(Pe))return x1?x1.call(Pe):"";var Le=Pe+"";return Le=="0"&&1/Pe==-Be?"-0":Le}function $n(Pe,Le,Fe){var je=-1,Qe=Zn,st=Pe.length,mt=!0,_t=[],wt=_t;if(Fe)mt=!1,Qe=Xn;else if(st>=ie){var Nt=Le?null:Bc(Pe);if(Nt)return Ja(Nt);mt=!1,Qe=En,wt=new kn}else wt=Le?[]:_t;e:for(;++je<st;){var Vt=Pe[je],Gt=Le?Le(Vt):Vt;if(Vt=Fe||Vt!==0?Vt:0,mt&&Gt===Gt){for(var er=wt.length;er--;)if(wt[er]===Gt)continue e;Le&&wt.push(Gt),_t.push(Vt)}else Qe(wt,Gt,Fe)||(wt!==_t&&wt.push(Gt),_t.push(Vt))}return _t}function Os(Pe,Le){return Le=wn(Le,Pe),Pe=yl(Pe,Le),Pe==null||delete Pe[Za(Ba(Le))]}function U1(Pe,Le,Fe,je){return Hi(Pe,Le,Fe(Bn(Pe,Le)),je)}function Eo(Pe,Le,Fe,je){for(var Qe=Pe.length,st=je?Qe:-1;(je?st--:++st<Qe)&&Le(Pe[st],st,Pe););return Fe?Oa(Pe,je?0:st,je?st+1:Qe):Oa(Pe,je?st+1:0,je?Qe:st)}function W1(Pe,Le){var Fe=Pe;return Fe instanceof Ar&&(Fe=Fe.value()),Qn(Le,function(je,Qe){return Qe.func.apply(Qe.thisArg,Wa([je],Qe.args))},Fe)}function Bs(Pe,Le,Fe){var je=Pe.length;if(je<2)return je?$n(Pe[0]):[];for(var Qe=-1,st=Et(je);++Qe<je;)for(var mt=Pe[Qe],_t=-1;++_t<je;)_t!=Qe&&(st[Qe]=Fi(st[Qe]||mt,Pe[_t],Le,Fe));return $n(la(st,1),Le,Fe)}function j1(Pe,Le,Fe){for(var je=-1,Qe=Pe.length,st=Le.length,mt={};++je<Qe;){var _t=je<st?Le[je]:ae;Fe(mt,Pe[je],_t)}return mt}function Ns(Pe){return Qr(Pe)?Pe:[]}function Vs(Pe){return typeof Pe=="function"?Pe:Aa}function wn(Pe,Le){return vr(Pe)?Pe:Ys(Pe,Le)?[Pe]:xl(Or(Pe))}var Tc=br;function An(Pe,Le,Fe){var je=Pe.length;return Fe=Fe===ae?je:Fe,!Le&&Fe>=je?Pe:Oa(Pe,Le,Fe)}var Y1=hu||function(Pe){return ta.clearTimeout(Pe)};function K1(Pe,Le){if(Le)return Pe.slice();var Fe=Pe.length,je=g1?g1(Fe):new Pe.constructor(Fe);return Pe.copy(je),je}function Fs(Pe){var Le=new Pe.constructor(Pe.byteLength);return new mo(Le).set(new mo(Pe)),Le}function Pc(Pe,Le){var Fe=Le?Fs(Pe.buffer):Pe.buffer;return new Pe.constructor(Fe,Pe.byteOffset,Pe.byteLength)}function Mc(Pe){var Le=new Pe.constructor(Pe.source,fn.exec(Pe));return Le.lastIndex=Pe.lastIndex,Le}function Dc(Pe){return Ni?Fr(Ni.call(Pe)):{}}function Z1(Pe,Le){var Fe=Le?Fs(Pe.buffer):Pe.buffer;return new Pe.constructor(Fe,Pe.byteOffset,Pe.length)}function X1(Pe,Le){if(Pe!==Le){var Fe=Pe!==ae,je=Pe===null,Qe=Pe===Pe,st=Ta(Pe),mt=Le!==ae,_t=Le===null,wt=Le===Le,Nt=Ta(Le);if(!_t&&!Nt&&!st&&Pe>Le||st&&mt&&wt&&!_t&&!Nt||je&&mt&&wt||!Fe&&wt||!Qe)return 1;if(!je&&!st&&!Nt&&Pe<Le||Nt&&Fe&&Qe&&!je&&!st||_t&&Fe&&Qe||!mt&&Qe||!wt)return-1}return 0}function Ec(Pe,Le,Fe){for(var je=-1,Qe=Pe.criteria,st=Le.criteria,mt=Qe.length,_t=Fe.length;++je<mt;){var wt=X1(Qe[je],st[je]);if(wt){if(je>=_t)return wt;var Nt=Fe[je];return wt*(Nt=="desc"?-1:1)}}return Pe.index-Le.index}function Q1(Pe,Le,Fe,je){for(var Qe=-1,st=Pe.length,mt=Fe.length,_t=-1,wt=Le.length,Nt=aa(st-mt,0),Vt=Et(wt+Nt),Gt=!je;++_t<wt;)Vt[_t]=Le[_t];for(;++Qe<mt;)(Gt||Qe<st)&&(Vt[Fe[Qe]]=Pe[Qe]);for(;Nt--;)Vt[_t++]=Pe[Qe++];return Vt}function J1(Pe,Le,Fe,je){for(var Qe=-1,st=Pe.length,mt=-1,_t=Fe.length,wt=-1,Nt=Le.length,Vt=aa(st-_t,0),Gt=Et(Vt+Nt),er=!je;++Qe<Vt;)Gt[Qe]=Pe[Qe];for(var ir=Qe;++wt<Nt;)Gt[ir+wt]=Le[wt];for(;++mt<_t;)(er||Qe<st)&&(Gt[ir+Fe[mt]]=Pe[Qe++]);return Gt}function xa(Pe,Le){var Fe=-1,je=Pe.length;for(Le||(Le=Et(je));++Fe<je;)Le[Fe]=Pe[Fe];return Le}function Ka(Pe,Le,Fe,je){var Qe=!Fe;Fe||(Fe={});for(var st=-1,mt=Le.length;++st<mt;){var _t=Le[st],wt=je?je(Fe[_t],Pe[_t],_t,Fe,Pe):ae;wt===ae&&(wt=Pe[_t]),Qe?an(Fe,_t,wt):Vi(Fe,_t,wt)}return Fe}function Ic(Pe,Le){return Ka(Pe,js(Pe),Le)}function Rc(Pe,Le){return Ka(Pe,hl(Pe),Le)}function Io(Pe,Le){return function(Fe,je){var Qe=vr(Fe)?io:Ju,st=Le?Le():{};return Qe(Fe,Pe,sr(je,2),st)}}function di(Pe){return br(function(Le,Fe){var je=-1,Qe=Fe.length,st=Qe>1?Fe[Qe-1]:ae,mt=Qe>2?Fe[2]:ae;for(st=Pe.length>3&&typeof st=="function"?(Qe--,st):ae,mt&&ga(Fe[0],Fe[1],mt)&&(st=Qe<3?ae:st,Qe=1),Le=Fr(Le);++je<Qe;){var _t=Fe[je];_t&&Pe(Le,_t,je,st)}return Le})}function el(Pe,Le){return function(Fe,je){if(Fe==null)return Fe;if(!$a(Fe))return Pe(Fe,je);for(var Qe=Fe.length,st=Le?Qe:-1,mt=Fr(Fe);(Le?st--:++st<Qe)&&je(mt[st],st,mt)!==!1;);return Fe}}function tl(Pe){return function(Le,Fe,je){for(var Qe=-1,st=Fr(Le),mt=je(Le),_t=mt.length;_t--;){var wt=mt[Pe?_t:++Qe];if(Fe(st[wt],wt,st)===!1)break}return Le}}function Lc(Pe,Le,Fe){var je=Le&me,Qe=Gi(Pe);function st(){var mt=this&&this!==ta&&this instanceof st?Qe:Pe;return mt.apply(je?Fe:this,arguments)}return st}function rl(Pe){return function(Le){Le=Or(Le);var Fe=_n(Le)?Rt(Le):ae,je=Fe?Fe[0]:Le.charAt(0),Qe=Fe?An(Fe,1).join(""):Le.slice(1);return je[Pe]()+Qe}}function hi(Pe){return function(Le){return Qn(eu(Jl(Le).replace(Jo,"")),Pe,"")}}function Gi(Pe){return function(){var Le=arguments;switch(Le.length){case 0:return new Pe;case 1:return new Pe(Le[0]);case 2:return new Pe(Le[0],Le[1]);case 3:return new Pe(Le[0],Le[1],Le[2]);case 4:return new Pe(Le[0],Le[1],Le[2],Le[3]);case 5:return new Pe(Le[0],Le[1],Le[2],Le[3],Le[4]);case 6:return new Pe(Le[0],Le[1],Le[2],Le[3],Le[4],Le[5]);case 7:return new Pe(Le[0],Le[1],Le[2],Le[3],Le[4],Le[5],Le[6])}var Fe=ci(Pe.prototype),je=Pe.apply(Fe,Le);return Wr(je)?je:Fe}}function kc(Pe,Le,Fe){var je=Gi(Pe);function Qe(){for(var st=arguments.length,mt=Et(st),_t=st,wt=fi(Qe);_t--;)mt[_t]=arguments[_t];var Nt=st<3&&mt[0]!==wt&&mt[st-1]!==wt?[]:Ia(mt,wt);if(st-=Nt.length,st<Fe)return sl(Pe,Le,Ro,Qe.placeholder,ae,mt,Nt,ae,ae,Fe-st);var Vt=this&&this!==ta&&this instanceof Qe?je:Pe;return pa(Vt,this,mt)}return Qe}function al(Pe){return function(Le,Fe,je){var Qe=Fr(Le);if(!$a(Le)){var st=sr(Fe,3);Le=ia(Le),Fe=function(_t){return st(Qe[_t],_t,Qe)}}var mt=Pe(Le,Fe,je);return mt>-1?Qe[st?Le[mt]:mt]:ae}}function nl(Pe){return sn(function(Le){var Fe=Le.length,je=Fe,Qe=La.prototype.thru;for(Pe&&Le.reverse();je--;){var st=Le[je];if(typeof st!="function")throw new Ra(se);if(Qe&&!mt&&Bo(st)=="wrapper")var mt=new La([],!0)}for(je=mt?je:Fe;++je<Fe;){st=Le[je];var _t=Bo(st),wt=_t=="wrapper"?Us(st):ae;wt&&Ks(wt[0])&&wt[1]==(we|be|$e|Ae)&&!wt[4].length&&wt[9]==1?mt=mt[Bo(wt[0])].apply(mt,wt[3]):mt=st.length==1&&Ks(st)?mt[_t]():mt.thru(st)}return function(){var Nt=arguments,Vt=Nt[0];if(mt&&Nt.length==1&&vr(Vt))return mt.plant(Vt).value();for(var Gt=0,er=Fe?Le[Gt].apply(this,Nt):Vt;++Gt<Fe;)er=Le[Gt].call(this,er);return er}})}function Ro(Pe,Le,Fe,je,Qe,st,mt,_t,wt,Nt){var Vt=Le&we,Gt=Le&me,er=Le&ye,ir=Le&(be|xe),ur=Le&Te,yr=er?ae:Gi(Pe);function cr(){for(var xr=arguments.length,Cr=Et(xr),Pa=xr;Pa--;)Cr[Pa]=arguments[Pa];if(ir)var ma=fi(cr),Ma=ai(Cr,ma);if(je&&(Cr=Q1(Cr,je,Qe,ir)),st&&(Cr=J1(Cr,st,mt,ir)),xr-=Ma,ir&&xr<Nt){var Jr=Ia(Cr,ma);return sl(Pe,Le,Ro,cr.placeholder,Fe,Cr,Jr,_t,wt,Nt-xr)}var qa=Gt?Fe:this,hn=er?qa[Pe]:Pe;return xr=Cr.length,_t?Cr=t2(Cr,_t):ur&&xr>1&&Cr.reverse(),Vt&&wt<xr&&(Cr.length=wt),this&&this!==ta&&this instanceof cr&&(hn=yr||Gi(hn)),hn.apply(qa,Cr)}return cr}function il(Pe,Le){return function(Fe,je){return sc(Fe,Pe,Le(je),{})}}function Lo(Pe,Le){return function(Fe,je){var Qe;if(Fe===ae&&je===ae)return Le;if(Fe!==ae&&(Qe=Fe),je!==ae){if(Qe===ae)return je;typeof Fe=="string"||typeof je=="string"?(Fe=Ca(Fe),je=Ca(je)):(Fe=G1(Fe),je=G1(je)),Qe=Pe(Fe,je)}return Qe}}function zs(Pe){return sn(function(Le){return Le=qr(Le,da(sr())),br(function(Fe){var je=this;return Pe(Le,function(Qe){return pa(Qe,je,Fe)})})})}function ko(Pe,Le){Le=Le===ae?" ":Ca(Le);var Fe=Le.length;if(Fe<2)return Fe?Ls(Le,Pe):Le;var je=Ls(Le,So(Pe/Je(Le)));return _n(Le)?An(Rt(je),0,Pe).join(""):je.slice(0,Pe)}function Oc(Pe,Le,Fe,je){var Qe=Le&me,st=Gi(Pe);function mt(){for(var _t=-1,wt=arguments.length,Nt=-1,Vt=je.length,Gt=Et(Vt+wt),er=this&&this!==ta&&this instanceof mt?st:Pe;++Nt<Vt;)Gt[Nt]=je[Nt];for(;wt--;)Gt[Nt++]=arguments[++_t];return pa(er,Qe?Fe:this,Gt)}return mt}function ol(Pe){return function(Le,Fe,je){return je&&typeof je!="number"&&ga(Le,Fe,je)&&(Fe=je=ae),Le=dn(Le),Fe===ae?(Fe=Le,Le=0):Fe=dn(Fe),je=je===ae?Le<Fe?1:-1:dn(je),Sc(Le,Fe,je,Pe)}}function Oo(Pe){return function(Le,Fe){return typeof Le=="string"&&typeof Fe=="string"||(Le=Na(Le),Fe=Na(Fe)),Pe(Le,Fe)}}function sl(Pe,Le,Fe,je,Qe,st,mt,_t,wt,Nt){var Vt=Le&be,Gt=Vt?mt:ae,er=Vt?ae:mt,ir=Vt?st:ae,ur=Vt?ae:st;Le|=Vt?$e:Se,Le&=~(Vt?Se:$e),Le&_e||(Le&=~(me|ye));var yr=[Pe,Le,Qe,ir,Gt,ur,er,_t,wt,Nt],cr=Fe.apply(ae,yr);return Ks(Pe)&&_l(cr,yr),cr.placeholder=je,bl(cr,Pe,Le)}function qs(Pe){var Le=ra[Pe];return function(Fe,je){if(Fe=Na(Fe),je=je==null?0:ha(gr(je),292),je&&b1(Fe)){var Qe=(Or(Fe)+"e").split("e"),st=Le(Qe[0]+"e"+(+Qe[1]+je));return Qe=(Or(st)+"e").split("e"),+(Qe[0]+"e"+(+Qe[1]-je))}return Le(Fe)}}var Bc=li&&1/Ja(new li([,-0]))[1]==Be?function(Pe){return new li(Pe)}:c1;function ll(Pe){return function(Le){var Fe=fa(Le);return Fe==pt?or(Le):Fe==St?ii(Le):ti(Le,Pe(Le))}}function nn(Pe,Le,Fe,je,Qe,st,mt,_t){var wt=Le&ye;if(!wt&&typeof Pe!="function")throw new Ra(se);var Nt=je?je.length:0;if(Nt||(Le&=~($e|Se),je=Qe=ae),mt=mt===ae?mt:aa(gr(mt),0),_t=_t===ae?_t:gr(_t),Nt-=Qe?Qe.length:0,Le&Se){var Vt=je,Gt=Qe;je=Qe=ae}var er=wt?ae:Us(Pe),ir=[Pe,Le,Fe,je,Qe,Vt,Gt,st,mt,_t];if(er&&Qc(ir,er),Pe=ir[0],Le=ir[1],Fe=ir[2],je=ir[3],Qe=ir[4],_t=ir[9]=ir[9]===ae?wt?0:Pe.length:aa(ir[9]-Nt,0),!_t&&Le&(be|xe)&&(Le&=~(be|xe)),!Le||Le==me)var ur=Lc(Pe,Le,Fe);else Le==be||Le==xe?ur=kc(Pe,Le,_t):(Le==$e||Le==(me|$e))&&!Qe.length?ur=Oc(Pe,Le,Fe,je):ur=Ro.apply(ae,ir);var yr=er?q1:_l;return bl(yr(ur,ir),Pe,Le)}function ul(Pe,Le,Fe,je){return Pe===ae||za(Pe,si[Fe])&&!Nr.call(je,Fe)?Le:Pe}function cl(Pe,Le,Fe,je,Qe,st){return Wr(Pe)&&Wr(Le)&&(st.set(Le,Pe),Mo(Pe,Le,ae,cl,st),st.delete(Le)),Pe}function Nc(Pe){return ji(Pe)?ae:Pe}function dl(Pe,Le,Fe,je,Qe,st){var mt=Fe&ve,_t=Pe.length,wt=Le.length;if(_t!=wt&&!(mt&&wt>_t))return!1;var Nt=st.get(Pe),Vt=st.get(Le);if(Nt&&Vt)return Nt==Le&&Vt==Pe;var Gt=-1,er=!0,ir=Fe&ge?new kn:ae;for(st.set(Pe,Le),st.set(Le,Pe);++Gt<_t;){var ur=Pe[Gt],yr=Le[Gt];if(je)var cr=mt?je(yr,ur,Gt,Le,Pe,st):je(ur,yr,Gt,Pe,Le,st);if(cr!==ae){if(cr)continue;er=!1;break}if(ir){if(!Ai(Le,function(xr,Cr){if(!En(ir,Cr)&&(ur===xr||Qe(ur,xr,Fe,je,st)))return ir.push(Cr)})){er=!1;break}}else if(!(ur===yr||Qe(ur,yr,Fe,je,st))){er=!1;break}}return st.delete(Pe),st.delete(Le),er}function Vc(Pe,Le,Fe,je,Qe,st,mt){switch(Fe){case Pt:if(Pe.byteLength!=Le.byteLength||Pe.byteOffset!=Le.byteOffset)return!1;Pe=Pe.buffer,Le=Le.buffer;case Dt:return!(Pe.byteLength!=Le.byteLength||!st(new mo(Pe),new mo(Le)));case Ze:case Xe:case gt:return za(+Pe,+Le);case at:return Pe.name==Le.name&&Pe.message==Le.message;case qt:case Ct:return Pe==Le+"";case pt:var _t=or;case St:var wt=je&ve;if(_t||(_t=Ja),Pe.size!=Le.size&&!wt)return!1;var Nt=mt.get(Pe);if(Nt)return Nt==Le;je|=ge,mt.set(Pe,Le);var Vt=dl(_t(Pe),_t(Le),je,Qe,st,mt);return mt.delete(Pe),Vt;case Ot:if(Ni)return Ni.call(Pe)==Ni.call(Le)}return!1}function Fc(Pe,Le,Fe,je,Qe,st){var mt=Fe&ve,_t=Hs(Pe),wt=_t.length,Nt=Hs(Le),Vt=Nt.length;if(wt!=Vt&&!mt)return!1;for(var Gt=wt;Gt--;){var er=_t[Gt];if(!(mt?er in Le:Nr.call(Le,er)))return!1}var ir=st.get(Pe),ur=st.get(Le);if(ir&&ur)return ir==Le&&ur==Pe;var yr=!0;st.set(Pe,Le),st.set(Le,Pe);for(var cr=mt;++Gt<wt;){er=_t[Gt];var xr=Pe[er],Cr=Le[er];if(je)var Pa=mt?je(Cr,xr,er,Le,Pe,st):je(xr,Cr,er,Pe,Le,st);if(!(Pa===ae?xr===Cr||Qe(xr,Cr,Fe,je,st):Pa)){yr=!1;break}cr||(cr=er=="constructor")}if(yr&&!cr){var ma=Pe.constructor,Ma=Le.constructor;ma!=Ma&&"constructor"in Pe&&"constructor"in Le&&!(typeof ma=="function"&&ma instanceof ma&&typeof Ma=="function"&&Ma instanceof Ma)&&(yr=!1)}return st.delete(Pe),st.delete(Le),yr}function sn(Pe){return Xs(ml(Pe,ae,Cl),Pe+"")}function Hs(Pe){return E1(Pe,ia,js)}function Gs(Pe){return E1(Pe,wa,hl)}var Us=$o?function(Pe){return $o.get(Pe)}:c1;function Bo(Pe){for(var Le=Pe.name+"",Fe=ui[Le],je=Nr.call(ui,Le)?Fe.length:0;je--;){var Qe=Fe[je],st=Qe.func;if(st==null||st==Pe)return Qe.name}return Le}function fi(Pe){var Le=Nr.call(ot,"placeholder")?ot:Pe;return Le.placeholder}function sr(){var Pe=ot.iteratee||l1;return Pe=Pe===l1?L1:Pe,arguments.length?Pe(arguments[0],arguments[1]):Pe}function No(Pe,Le){var Fe=Pe.__data__;return Yc(Le)?Fe[typeof Le=="string"?"string":"hash"]:Fe.map}function Ws(Pe){for(var Le=ia(Pe),Fe=Le.length;Fe--;){var je=Le[Fe],Qe=Pe[je];Le[Fe]=[je,Qe,vl(Qe)]}return Le}function Nn(Pe,Le){var Fe=ms(Pe,Le);return R1(Fe)?Fe:ae}function zc(Pe){var Le=Nr.call(Pe,Rn),Fe=Pe[Rn];try{Pe[Rn]=ae;var je=!0}catch{}var Qe=vo.call(Pe);return je&&(Le?Pe[Rn]=Fe:delete Pe[Rn]),Qe}var js=bs?function(Pe){return Pe==null?[]:(Pe=Fr(Pe),Ua(bs(Pe),function(Le){return y1.call(Pe,Le)}))}:d1,hl=bs?function(Pe){for(var Le=[];Pe;)Wa(Le,js(Pe)),Pe=yo(Pe);return Le}:d1,fa=va;(Ss&&fa(new Ss(new ArrayBuffer(1)))!=Pt||ki&&fa(new ki)!=pt||xs&&fa(xs.resolve())!=At||li&&fa(new li)!=St||Oi&&fa(new Oi)!=vt)&&(fa=function(Pe){var Le=va(Pe),Fe=Le==Tt?Pe.constructor:ae,je=Fe?Vn(Fe):"";if(je)switch(je){case Su:return Pt;case xu:return pt;case $u:return At;case wu:return St;case Au:return vt}return Le});function qc(Pe,Le,Fe){for(var je=-1,Qe=Fe.length;++je<Qe;){var st=Fe[je],mt=st.size;switch(st.type){case"drop":Pe+=mt;break;case"dropRight":Le-=mt;break;case"take":Le=ha(Le,Pe+mt);break;case"takeRight":Pe=aa(Pe,Le-mt);break}}return{start:Pe,end:Le}}function Hc(Pe){var Le=Pe.match(ea);return Le?Le[1].split(Da):[]}function fl(Pe,Le,Fe){Le=wn(Le,Pe);for(var je=-1,Qe=Le.length,st=!1;++je<Qe;){var mt=Za(Le[je]);if(!(st=Pe!=null&&Fe(Pe,mt)))break;Pe=Pe[mt]}return st||++je!=Qe?st:(Qe=Pe==null?0:Pe.length,!!Qe&&Uo(Qe)&&ln(mt,Qe)&&(vr(Pe)||Fn(Pe)))}function Gc(Pe){var Le=Pe.length,Fe=new Pe.constructor(Le);return Le&&typeof Pe[0]=="string"&&Nr.call(Pe,"index")&&(Fe.index=Pe.index,Fe.input=Pe.input),Fe}function pl(Pe){return typeof Pe.constructor=="function"&&!Ui(Pe)?ci(yo(Pe)):{}}function Uc(Pe,Le,Fe){var je=Pe.constructor;switch(Le){case Dt:return Fs(Pe);case Ze:case Xe:return new je(+Pe);case Pt:return Pc(Pe,Fe);case It:case Lt:case Ft:case Ht:case Kt:case Zt:case jt:case fr:case _r:return Z1(Pe,Fe);case pt:return new je;case gt:case Ct:return new je(Pe);case qt:return Mc(Pe);case St:return new je;case Ot:return Dc(Pe)}}function Wc(Pe,Le){var Fe=Le.length;if(!Fe)return Pe;var je=Fe-1;return Le[je]=(Fe>1?"& ":"")+Le[je],Le=Le.join(Fe>2?", ":" "),Pe.replace(Ur,`{
-/* [wrapped with `+Le+`] */
-`)}function jc(Pe){return vr(Pe)||Fn(Pe)||!!(_1&&Pe&&Pe[_1])}function ln(Pe,Le){var Fe=typeof Pe;return Le=Le??Ne,!!Le&&(Fe=="number"||Fe!="symbol"&&zn.test(Pe))&&Pe>-1&&Pe%1==0&&Pe<Le}function ga(Pe,Le,Fe){if(!Wr(Fe))return!1;var je=typeof Le;return(je=="number"?$a(Fe)&&ln(Le,Fe.length):je=="string"&&Le in Fe)?za(Fe[Le],Pe):!1}function Ys(Pe,Le){if(vr(Pe))return!1;var Fe=typeof Pe;return Fe=="number"||Fe=="symbol"||Fe=="boolean"||Pe==null||Ta(Pe)?!0:Hr.test(Pe)||!Qt.test(Pe)||Le!=null&&Pe in Fr(Le)}function Yc(Pe){var Le=typeof Pe;return Le=="string"||Le=="number"||Le=="symbol"||Le=="boolean"?Pe!=="__proto__":Pe===null}function Ks(Pe){var Le=Bo(Pe),Fe=ot[Le];if(typeof Fe!="function"||!(Le in Ar.prototype))return!1;if(Pe===Fe)return!0;var je=Us(Fe);return!!je&&Pe===je[0]}function Kc(Pe){return!!p1&&p1 in Pe}var Zc=fo?un:h1;function Ui(Pe){var Le=Pe&&Pe.constructor,Fe=typeof Le=="function"&&Le.prototype||si;return Pe===Fe}function vl(Pe){return Pe===Pe&&!Wr(Pe)}function gl(Pe,Le){return function(Fe){return Fe==null?!1:Fe[Pe]===Le&&(Le!==ae||Pe in Fr(Fe))}}function Xc(Pe){var Le=Ho(Pe,function(je){return Fe.size===ce&&Fe.clear(),je}),Fe=Le.cache;return Le}function Qc(Pe,Le){var Fe=Pe[1],je=Le[1],Qe=Fe|je,st=Qe<(me|ye|we),mt=je==we&&Fe==be||je==we&&Fe==Ae&&Pe[7].length<=Le[8]||je==(we|Ae)&&Le[7].length<=Le[8]&&Fe==be;if(!(st||mt))return Pe;je&me&&(Pe[2]=Le[2],Qe|=Fe&me?0:_e);var _t=Le[3];if(_t){var wt=Pe[3];Pe[3]=wt?Q1(wt,_t,Le[4]):_t,Pe[4]=wt?Ia(Pe[3],de):Le[4]}return _t=Le[5],_t&&(wt=Pe[5],Pe[5]=wt?J1(wt,_t,Le[6]):_t,Pe[6]=wt?Ia(Pe[5],de):Le[6]),_t=Le[7],_t&&(Pe[7]=_t),je&we&&(Pe[8]=Pe[8]==null?Le[8]:ha(Pe[8],Le[8])),Pe[9]==null&&(Pe[9]=Le[9]),Pe[0]=Le[0],Pe[1]=Qe,Pe}function Jc(Pe){var Le=[];if(Pe!=null)for(var Fe in Fr(Pe))Le.push(Fe);return Le}function e2(Pe){return vo.call(Pe)}function ml(Pe,Le,Fe){return Le=aa(Le===ae?Pe.length-1:Le,0),function(){for(var je=arguments,Qe=-1,st=aa(je.length-Le,0),mt=Et(st);++Qe<st;)mt[Qe]=je[Le+Qe];Qe=-1;for(var _t=Et(Le+1);++Qe<Le;)_t[Qe]=je[Qe];return _t[Le]=Fe(mt),pa(Pe,this,_t)}}function yl(Pe,Le){return Le.length<2?Pe:Bn(Pe,Oa(Le,0,-1))}function t2(Pe,Le){for(var Fe=Pe.length,je=ha(Le.length,Fe),Qe=xa(Pe);je--;){var st=Le[je];Pe[je]=ln(st,Fe)?Qe[st]:ae}return Pe}function Zs(Pe,Le){if(!(Le==="constructor"&&typeof Pe[Le]=="function")&&Le!="__proto__")return Pe[Le]}var _l=Sl(q1),Wi=pu||function(Pe,Le){return ta.setTimeout(Pe,Le)},Xs=Sl(wc);function bl(Pe,Le,Fe){var je=Le+"";return Xs(Pe,Wc(je,r2(Hc(je),Fe)))}function Sl(Pe){var Le=0,Fe=0;return function(){var je=yu(),Qe=Ce-(je-Fe);if(Fe=je,Qe>0){if(++Le>=Ie)return arguments[0]}else Le=0;return Pe.apply(ae,arguments)}}function Vo(Pe,Le){var Fe=-1,je=Pe.length,Qe=je-1;for(Le=Le===ae?je:Le;++Fe<Le;){var st=Rs(Fe,Qe),mt=Pe[st];Pe[st]=Pe[Fe],Pe[Fe]=mt}return Pe.length=Le,Pe}var xl=Xc(function(Pe){var Le=[];return Pe.charCodeAt(0)===46&&Le.push(""),Pe.replace(oa,function(Fe,je,Qe,st){Le.push(Qe?st.replace(Ea,"$1"):je||Fe)}),Le});function Za(Pe){if(typeof Pe=="string"||Ta(Pe))return Pe;var Le=Pe+"";return Le=="0"&&1/Pe==-Be?"-0":Le}function Vn(Pe){if(Pe!=null){try{return po.call(Pe)}catch{}try{return Pe+""}catch{}}return""}function r2(Pe,Le){return Sa(Ge,function(Fe){var je="_."+Fe[0];Le&Fe[1]&&!Zn(Pe,je)&&Pe.push(je)}),Pe.sort()}function $l(Pe){if(Pe instanceof Ar)return Pe.clone();var Le=new La(Pe.__wrapped__,Pe.__chain__);return Le.__actions__=xa(Pe.__actions__),Le.__index__=Pe.__index__,Le.__values__=Pe.__values__,Le}function a2(Pe,Le,Fe){(Fe?ga(Pe,Le,Fe):Le===ae)?Le=1:Le=aa(gr(Le),0);var je=Pe==null?0:Pe.length;if(!je||Le<1)return[];for(var Qe=0,st=0,mt=Et(So(je/Le));Qe<je;)mt[st++]=Oa(Pe,Qe,Qe+=Le);return mt}function n2(Pe){for(var Le=-1,Fe=Pe==null?0:Pe.length,je=0,Qe=[];++Le<Fe;){var st=Pe[Le];st&&(Qe[je++]=st)}return Qe}function i2(){var Pe=arguments.length;if(!Pe)return[];for(var Le=Et(Pe-1),Fe=arguments[0],je=Pe;je--;)Le[je-1]=arguments[je];return Wa(vr(Fe)?xa(Fe):[Fe],la(Le,1))}var o2=br(function(Pe,Le){return Qr(Pe)?Fi(Pe,la(Le,1,Qr,!0)):[]}),s2=br(function(Pe,Le){var Fe=Ba(Le);return Qr(Fe)&&(Fe=ae),Qr(Pe)?Fi(Pe,la(Le,1,Qr,!0),sr(Fe,2)):[]}),l2=br(function(Pe,Le){var Fe=Ba(Le);return Qr(Fe)&&(Fe=ae),Qr(Pe)?Fi(Pe,la(Le,1,Qr,!0),ae,Fe):[]});function u2(Pe,Le,Fe){var je=Pe==null?0:Pe.length;return je?(Le=Fe||Le===ae?1:gr(Le),Oa(Pe,Le<0?0:Le,je)):[]}function c2(Pe,Le,Fe){var je=Pe==null?0:Pe.length;return je?(Le=Fe||Le===ae?1:gr(Le),Le=je-Le,Oa(Pe,0,Le<0?0:Le)):[]}function d2(Pe,Le){return Pe&&Pe.length?Eo(Pe,sr(Le,3),!0,!0):[]}function h2(Pe,Le){return Pe&&Pe.length?Eo(Pe,sr(Le,3),!0):[]}function f2(Pe,Le,Fe,je){var Qe=Pe==null?0:Pe.length;return Qe?(Fe&&typeof Fe!="number"&&ga(Pe,Le,Fe)&&(Fe=0,je=Qe),ac(Pe,Le,Fe,je)):[]}function wl(Pe,Le,Fe){var je=Pe==null?0:Pe.length;if(!je)return-1;var Qe=Fe==null?0:gr(Fe);return Qe<0&&(Qe=aa(je+Qe,0)),Jn(Pe,sr(Le,3),Qe)}function Al(Pe,Le,Fe){var je=Pe==null?0:Pe.length;if(!je)return-1;var Qe=je-1;return Fe!==ae&&(Qe=gr(Fe),Qe=Fe<0?aa(je+Qe,0):ha(Qe,je-1)),Jn(Pe,sr(Le,3),Qe,!0)}function Cl(Pe){var Le=Pe==null?0:Pe.length;return Le?la(Pe,1):[]}function p2(Pe){var Le=Pe==null?0:Pe.length;return Le?la(Pe,Be):[]}function g2(Pe,Le){var Fe=Pe==null?0:Pe.length;return Fe?(Le=Le===ae?1:gr(Le),la(Pe,Le)):[]}function m2(Pe){for(var Le=-1,Fe=Pe==null?0:Pe.length,je={};++Le<Fe;){var Qe=Pe[Le];je[Qe[0]]=Qe[1]}return je}function Tl(Pe){return Pe&&Pe.length?Pe[0]:ae}function y2(Pe,Le,Fe){var je=Pe==null?0:Pe.length;if(!je)return-1;var Qe=Fe==null?0:gr(Fe);return Qe<0&&(Qe=aa(je+Qe,0)),yn(Pe,Le,Qe)}function _2(Pe){var Le=Pe==null?0:Pe.length;return Le?Oa(Pe,0,-1):[]}var b2=br(function(Pe){var Le=qr(Pe,Ns);return Le.length&&Le[0]===Pe[0]?Ps(Le):[]}),S2=br(function(Pe){var Le=Ba(Pe),Fe=qr(Pe,Ns);return Le===Ba(Fe)?Le=ae:Fe.pop(),Fe.length&&Fe[0]===Pe[0]?Ps(Fe,sr(Le,2)):[]}),x2=br(function(Pe){var Le=Ba(Pe),Fe=qr(Pe,Ns);return Le=typeof Le=="function"?Le:ae,Le&&Fe.pop(),Fe.length&&Fe[0]===Pe[0]?Ps(Fe,ae,Le):[]});function $2(Pe,Le){return Pe==null?"":gu.call(Pe,Le)}function Ba(Pe){var Le=Pe==null?0:Pe.length;return Le?Pe[Le-1]:ae}function w2(Pe,Le,Fe){var je=Pe==null?0:Pe.length;if(!je)return-1;var Qe=je;return Fe!==ae&&(Qe=gr(Fe),Qe=Qe<0?aa(je+Qe,0):ha(Qe,je-1)),Le===Le?Ke(Pe,Le,Qe):Jn(Pe,lo,Qe,!0)}function A2(Pe,Le){return Pe&&Pe.length?N1(Pe,gr(Le)):ae}var C2=br(Pl);function Pl(Pe,Le){return Pe&&Pe.length&&Le&&Le.length?Is(Pe,Le):Pe}function T2(Pe,Le,Fe){return Pe&&Pe.length&&Le&&Le.length?Is(Pe,Le,sr(Fe,2)):Pe}function P2(Pe,Le,Fe){return Pe&&Pe.length&&Le&&Le.length?Is(Pe,Le,ae,Fe):Pe}var M2=sn(function(Pe,Le){var Fe=Pe==null?0:Pe.length,je=ws(Pe,Le);return z1(Pe,qr(Le,function(Qe){return ln(Qe,Fe)?+Qe:Qe}).sort(X1)),je});function D2(Pe,Le){var Fe=[];if(!(Pe&&Pe.length))return Fe;var je=-1,Qe=[],st=Pe.length;for(Le=sr(Le,3);++je<st;){var mt=Pe[je];Le(mt,je,Pe)&&(Fe.push(mt),Qe.push(je))}return z1(Pe,Qe),Fe}function Qs(Pe){return Pe==null?Pe:bu.call(Pe)}function E2(Pe,Le,Fe){var je=Pe==null?0:Pe.length;return je?(Fe&&typeof Fe!="number"&&ga(Pe,Le,Fe)?(Le=0,Fe=je):(Le=Le==null?0:gr(Le),Fe=Fe===ae?je:gr(Fe)),Oa(Pe,Le,Fe)):[]}function I2(Pe,Le){return Do(Pe,Le)}function R2(Pe,Le,Fe){return ks(Pe,Le,sr(Fe,2))}function L2(Pe,Le){var Fe=Pe==null?0:Pe.length;if(Fe){var je=Do(Pe,Le);if(je<Fe&&za(Pe[je],Le))return je}return-1}function k2(Pe,Le){return Do(Pe,Le,!0)}function O2(Pe,Le,Fe){return ks(Pe,Le,sr(Fe,2),!0)}function B2(Pe,Le){var Fe=Pe==null?0:Pe.length;if(Fe){var je=Do(Pe,Le,!0)-1;if(za(Pe[je],Le))return je}return-1}function N2(Pe){return Pe&&Pe.length?H1(Pe):[]}function V2(Pe,Le){return Pe&&Pe.length?H1(Pe,sr(Le,2)):[]}function F2(Pe){var Le=Pe==null?0:Pe.length;return Le?Oa(Pe,1,Le):[]}function z2(Pe,Le,Fe){return Pe&&Pe.length?(Le=Fe||Le===ae?1:gr(Le),Oa(Pe,0,Le<0?0:Le)):[]}function q2(Pe,Le,Fe){var je=Pe==null?0:Pe.length;return je?(Le=Fe||Le===ae?1:gr(Le),Le=je-Le,Oa(Pe,Le<0?0:Le,je)):[]}function H2(Pe,Le){return Pe&&Pe.length?Eo(Pe,sr(Le,3),!1,!0):[]}function G2(Pe,Le){return Pe&&Pe.length?Eo(Pe,sr(Le,3)):[]}var U2=br(function(Pe){return $n(la(Pe,1,Qr,!0))}),W2=br(function(Pe){var Le=Ba(Pe);return Qr(Le)&&(Le=ae),$n(la(Pe,1,Qr,!0),sr(Le,2))}),j2=br(function(Pe){var Le=Ba(Pe);return Le=typeof Le=="function"?Le:ae,$n(la(Pe,1,Qr,!0),ae,Le)});function Y2(Pe){return Pe&&Pe.length?$n(Pe):[]}function K2(Pe,Le){return Pe&&Pe.length?$n(Pe,sr(Le,2)):[]}function Z2(Pe,Le){return Le=typeof Le=="function"?Le:ae,Pe&&Pe.length?$n(Pe,ae,Le):[]}function Js(Pe){if(!(Pe&&Pe.length))return[];var Le=0;return Pe=Ua(Pe,function(Fe){if(Qr(Fe))return Le=aa(Fe.length,Le),!0}),Ei(Le,function(Fe){return qr(Pe,Pi(Fe))})}function Ml(Pe,Le){if(!(Pe&&Pe.length))return[];var Fe=Js(Pe);return Le==null?Fe:qr(Fe,function(je){return pa(Le,ae,je)})}var X2=br(function(Pe,Le){return Qr(Pe)?Fi(Pe,Le):[]}),Q2=br(function(Pe){return Bs(Ua(Pe,Qr))}),J2=br(function(Pe){var Le=Ba(Pe);return Qr(Le)&&(Le=ae),Bs(Ua(Pe,Qr),sr(Le,2))}),e0=br(function(Pe){var Le=Ba(Pe);return Le=typeof Le=="function"?Le:ae,Bs(Ua(Pe,Qr),ae,Le)}),t0=br(Js);function r0(Pe,Le){return j1(Pe||[],Le||[],Vi)}function a0(Pe,Le){return j1(Pe||[],Le||[],Hi)}var n0=br(function(Pe){var Le=Pe.length,Fe=Le>1?Pe[Le-1]:ae;return Fe=typeof Fe=="function"?(Pe.pop(),Fe):ae,Ml(Pe,Fe)});function Dl(Pe){var Le=ot(Pe);return Le.__chain__=!0,Le}function i0(Pe,Le){return Le(Pe),Pe}function Fo(Pe,Le){return Le(Pe)}var o0=sn(function(Pe){var Le=Pe.length,Fe=Le?Pe[0]:0,je=this.__wrapped__,Qe=function(st){return ws(st,Pe)};return Le>1||this.__actions__.length||!(je instanceof Ar)||!ln(Fe)?this.thru(Qe):(je=je.slice(Fe,+Fe+(Le?1:0)),je.__actions__.push({func:Fo,args:[Qe],thisArg:ae}),new La(je,this.__chain__).thru(function(st){return Le&&!st.length&&st.push(ae),st}))});function s0(){return Dl(this)}function l0(){return new La(this.value(),this.__chain__)}function u0(){this.__values__===ae&&(this.__values__=Gl(this.value()));var Pe=this.__index__>=this.__values__.length,Le=Pe?ae:this.__values__[this.__index__++];return{done:Pe,value:Le}}function c0(){return this}function d0(Pe){for(var Le,Fe=this;Fe instanceof Ao;){var je=$l(Fe);je.__index__=0,je.__values__=ae,Le?Qe.__wrapped__=je:Le=je;var Qe=je;Fe=Fe.__wrapped__}return Qe.__wrapped__=Pe,Le}function h0(){var Pe=this.__wrapped__;if(Pe instanceof Ar){var Le=Pe;return this.__actions__.length&&(Le=new Ar(this)),Le=Le.reverse(),Le.__actions__.push({func:Fo,args:[Qs],thisArg:ae}),new La(Le,this.__chain__)}return this.thru(Qs)}function f0(){return W1(this.__wrapped__,this.__actions__)}var p0=Io(function(Pe,Le,Fe){Nr.call(Pe,Fe)?++Pe[Fe]:an(Pe,Fe,1)});function v0(Pe,Le,Fe){var je=vr(Pe)?wi:rc;return Fe&&ga(Pe,Le,Fe)&&(Le=ae),je(Pe,sr(Le,3))}function g0(Pe,Le){var Fe=vr(Pe)?Ua:M1;return Fe(Pe,sr(Le,3))}var m0=al(wl),y0=al(Al);function _0(Pe,Le){return la(zo(Pe,Le),1)}function b0(Pe,Le){return la(zo(Pe,Le),Be)}function S0(Pe,Le,Fe){return Fe=Fe===ae?1:gr(Fe),la(zo(Pe,Le),Fe)}function El(Pe,Le){var Fe=vr(Pe)?Sa:xn;return Fe(Pe,sr(Le,3))}function Il(Pe,Le){var Fe=vr(Pe)?ds:P1;return Fe(Pe,sr(Le,3))}var x0=Io(function(Pe,Le,Fe){Nr.call(Pe,Fe)?Pe[Fe].push(Le):an(Pe,Fe,[Le])});function $0(Pe,Le,Fe,je){Pe=$a(Pe)?Pe:vi(Pe),Fe=Fe&&!je?gr(Fe):0;var Qe=Pe.length;return Fe<0&&(Fe=aa(Qe+Fe,0)),Wo(Pe)?Fe<=Qe&&Pe.indexOf(Le,Fe)>-1:!!Qe&&yn(Pe,Le,Fe)>-1}var w0=br(function(Pe,Le,Fe){var je=-1,Qe=typeof Le=="function",st=$a(Pe)?Et(Pe.length):[];return xn(Pe,function(mt){st[++je]=Qe?pa(Le,mt,Fe):zi(mt,Le,Fe)}),st}),A0=Io(function(Pe,Le,Fe){an(Pe,Fe,Le)});function zo(Pe,Le){var Fe=vr(Pe)?qr:k1;return Fe(Pe,sr(Le,3))}function C0(Pe,Le,Fe,je){return Pe==null?[]:(vr(Le)||(Le=Le==null?[]:[Le]),Fe=je?ae:Fe,vr(Fe)||(Fe=Fe==null?[]:[Fe]),V1(Pe,Le,Fe))}var T0=Io(function(Pe,Le,Fe){Pe[Fe?0:1].push(Le)},function(){return[[],[]]});function P0(Pe,Le,Fe){var je=vr(Pe)?Qn:Mi,Qe=arguments.length<3;return je(Pe,sr(Le,4),Fe,Qe,xn)}function M0(Pe,Le,Fe){var je=vr(Pe)?hs:Mi,Qe=arguments.length<3;return je(Pe,sr(Le,4),Fe,Qe,P1)}function D0(Pe,Le){var Fe=vr(Pe)?Ua:M1;return Fe(Pe,Go(sr(Le,3)))}function E0(Pe){var Le=vr(Pe)?w1:xc;return Le(Pe)}function I0(Pe,Le,Fe){(Fe?ga(Pe,Le,Fe):Le===ae)?Le=1:Le=gr(Le);var je=vr(Pe)?Xu:$c;return je(Pe,Le)}function R0(Pe){var Le=vr(Pe)?Qu:Ac;return Le(Pe)}function L0(Pe){if(Pe==null)return 0;if($a(Pe))return Wo(Pe)?Je(Pe):Pe.length;var Le=fa(Pe);return Le==pt||Le==St?Pe.size:Ds(Pe).length}function k0(Pe,Le,Fe){var je=vr(Pe)?Ai:Cc;return Fe&&ga(Pe,Le,Fe)&&(Le=ae),je(Pe,sr(Le,3))}var O0=br(function(Pe,Le){if(Pe==null)return[];var Fe=Le.length;return Fe>1&&ga(Pe,Le[0],Le[1])?Le=[]:Fe>2&&ga(Le[0],Le[1],Le[2])&&(Le=[Le[0]]),V1(Pe,la(Le,1),[])}),qo=fu||function(){return ta.Date.now()};function B0(Pe,Le){if(typeof Le!="function")throw new Ra(se);return Pe=gr(Pe),function(){if(--Pe<1)return Le.apply(this,arguments)}}function Rl(Pe,Le,Fe){return Le=Fe?ae:Le,Le=Pe&&Le==null?Pe.length:Le,nn(Pe,we,ae,ae,ae,ae,Le)}function Ll(Pe,Le){var Fe;if(typeof Le!="function")throw new Ra(se);return Pe=gr(Pe),function(){return--Pe>0&&(Fe=Le.apply(this,arguments)),Pe<=1&&(Le=ae),Fe}}var e1=br(function(Pe,Le,Fe){var je=me;if(Fe.length){var Qe=Ia(Fe,fi(e1));je|=$e}return nn(Pe,je,Le,Fe,Qe)}),kl=br(function(Pe,Le,Fe){var je=me|ye;if(Fe.length){var Qe=Ia(Fe,fi(kl));je|=$e}return nn(Le,je,Pe,Fe,Qe)});function Ol(Pe,Le,Fe){Le=Fe?ae:Le;var je=nn(Pe,be,ae,ae,ae,ae,ae,Le);return je.placeholder=Ol.placeholder,je}function Bl(Pe,Le,Fe){Le=Fe?ae:Le;var je=nn(Pe,xe,ae,ae,ae,ae,ae,Le);return je.placeholder=Bl.placeholder,je}function Nl(Pe,Le,Fe){var je,Qe,st,mt,_t,wt,Nt=0,Vt=!1,Gt=!1,er=!0;if(typeof Pe!="function")throw new Ra(se);Le=Na(Le)||0,Wr(Fe)&&(Vt=!!Fe.leading,Gt="maxWait"in Fe,st=Gt?aa(Na(Fe.maxWait)||0,Le):st,er="trailing"in Fe?!!Fe.trailing:er);function ir(Jr){var qa=je,hn=Qe;return je=Qe=ae,Nt=Jr,mt=Pe.apply(hn,qa),mt}function ur(Jr){return Nt=Jr,_t=Wi(xr,Le),Vt?ir(Jr):mt}function yr(Jr){var qa=Jr-wt,hn=Jr-Nt,au=Le-qa;return Gt?ha(au,st-hn):au}function cr(Jr){var qa=Jr-wt,hn=Jr-Nt;return wt===ae||qa>=Le||qa<0||Gt&&hn>=st}function xr(){var Jr=qo();if(cr(Jr))return Cr(Jr);_t=Wi(xr,yr(Jr))}function Cr(Jr){return _t=ae,er&&je?ir(Jr):(je=Qe=ae,mt)}function Pa(){_t!==ae&&Y1(_t),Nt=0,je=wt=Qe=_t=ae}function ma(){return _t===ae?mt:Cr(qo())}function Ma(){var Jr=qo(),qa=cr(Jr);if(je=arguments,Qe=this,wt=Jr,qa){if(_t===ae)return ur(wt);if(Gt)return Y1(_t),_t=Wi(xr,Le),ir(wt)}return _t===ae&&(_t=Wi(xr,Le)),mt}return Ma.cancel=Pa,Ma.flush=ma,Ma}var N0=br(function(Pe,Le){return T1(Pe,1,Le)}),V0=br(function(Pe,Le,Fe){return T1(Pe,Na(Le)||0,Fe)});function F0(Pe){return nn(Pe,Te)}function Ho(Pe,Le){if(typeof Pe!="function"||Le!=null&&typeof Le!="function")throw new Ra(se);var Fe=function(){var je=arguments,Qe=Le?Le.apply(this,je):je[0],st=Fe.cache;if(st.has(Qe))return st.get(Qe);var mt=Pe.apply(this,je);return Fe.cache=st.set(Qe,mt)||st,mt};return Fe.cache=new(Ho.Cache||rn),Fe}Ho.Cache=rn;function Go(Pe){if(typeof Pe!="function")throw new Ra(se);return function(){var Le=arguments;switch(Le.length){case 0:return!Pe.call(this);case 1:return!Pe.call(this,Le[0]);case 2:return!Pe.call(this,Le[0],Le[1]);case 3:return!Pe.call(this,Le[0],Le[1],Le[2])}return!Pe.apply(this,Le)}}function z0(Pe){return Ll(2,Pe)}var q0=Tc(function(Pe,Le){Le=Le.length==1&&vr(Le[0])?qr(Le[0],da(sr())):qr(la(Le,1),da(sr()));var Fe=Le.length;return br(function(je){for(var Qe=-1,st=ha(je.length,Fe);++Qe<st;)je[Qe]=Le[Qe].call(this,je[Qe]);return pa(Pe,this,je)})}),t1=br(function(Pe,Le){var Fe=Ia(Le,fi(t1));return nn(Pe,$e,ae,Le,Fe)}),Vl=br(function(Pe,Le){var Fe=Ia(Le,fi(Vl));return nn(Pe,Se,ae,Le,Fe)}),H0=sn(function(Pe,Le){return nn(Pe,Ae,ae,ae,ae,Le)});function G0(Pe,Le){if(typeof Pe!="function")throw new Ra(se);return Le=Le===ae?Le:gr(Le),br(Pe,Le)}function U0(Pe,Le){if(typeof Pe!="function")throw new Ra(se);return Le=Le==null?0:aa(gr(Le),0),br(function(Fe){var je=Fe[Le],Qe=An(Fe,0,Le);return je&&Wa(Qe,je),pa(Pe,this,Qe)})}function W0(Pe,Le,Fe){var je=!0,Qe=!0;if(typeof Pe!="function")throw new Ra(se);return Wr(Fe)&&(je="leading"in Fe?!!Fe.leading:je,Qe="trailing"in Fe?!!Fe.trailing:Qe),Nl(Pe,Le,{leading:je,maxWait:Le,trailing:Qe})}function j0(Pe){return Rl(Pe,1)}function Y0(Pe,Le){return t1(Vs(Le),Pe)}function K0(){if(!arguments.length)return[];var Pe=arguments[0];return vr(Pe)?Pe:[Pe]}function Z0(Pe){return ka(Pe,pe)}function X0(Pe,Le){return Le=typeof Le=="function"?Le:ae,ka(Pe,pe,Le)}function Q0(Pe){return ka(Pe,he|pe)}function J0(Pe,Le){return Le=typeof Le=="function"?Le:ae,ka(Pe,he|pe,Le)}function ed(Pe,Le){return Le==null||C1(Pe,Le,ia(Le))}function za(Pe,Le){return Pe===Le||Pe!==Pe&&Le!==Le}var td=Oo(Ts),rd=Oo(function(Pe,Le){return Pe>=Le}),Fn=I1(function(){return arguments}())?I1:function(Pe){return Kr(Pe)&&Nr.call(Pe,"callee")&&!y1.call(Pe,"callee")},vr=Et.isArray,ad=to?da(to):lc;function $a(Pe){return Pe!=null&&Uo(Pe.length)&&!un(Pe)}function Qr(Pe){return Kr(Pe)&&$a(Pe)}function nd(Pe){return Pe===!0||Pe===!1||Kr(Pe)&&va(Pe)==Ze}var Cn=vu||h1,id=xi?da(xi):uc;function od(Pe){return Kr(Pe)&&Pe.nodeType===1&&!ji(Pe)}function sd(Pe){if(Pe==null)return!0;if($a(Pe)&&(vr(Pe)||typeof Pe=="string"||typeof Pe.splice=="function"||Cn(Pe)||pi(Pe)||Fn(Pe)))return!Pe.length;var Le=fa(Pe);if(Le==pt||Le==St)return!Pe.size;if(Ui(Pe))return!Ds(Pe).length;for(var Fe in Pe)if(Nr.call(Pe,Fe))return!1;return!0}function ld(Pe,Le){return qi(Pe,Le)}function ud(Pe,Le,Fe){Fe=typeof Fe=="function"?Fe:ae;var je=Fe?Fe(Pe,Le):ae;return je===ae?qi(Pe,Le,ae,Fe):!!je}function r1(Pe){if(!Kr(Pe))return!1;var Le=va(Pe);return Le==at||Le==it||typeof Pe.message=="string"&&typeof Pe.name=="string"&&!ji(Pe)}function cd(Pe){return typeof Pe=="number"&&b1(Pe)}function un(Pe){if(!Wr(Pe))return!1;var Le=va(Pe);return Le==ut||Le==dt||Le==Ye||Le==Mt}function Fl(Pe){return typeof Pe=="number"&&Pe==gr(Pe)}function Uo(Pe){return typeof Pe=="number"&&Pe>-1&&Pe%1==0&&Pe<=Ne}function Wr(Pe){var Le=typeof Pe;return Pe!=null&&(Le=="object"||Le=="function")}function Kr(Pe){return Pe!=null&&typeof Pe=="object"}var zl=ro?da(ro):dc;function dd(Pe,Le){return Pe===Le||Ms(Pe,Le,Ws(Le))}function hd(Pe,Le,Fe){return Fe=typeof Fe=="function"?Fe:ae,Ms(Pe,Le,Ws(Le),Fe)}function fd(Pe){return ql(Pe)&&Pe!=+Pe}function pd(Pe){if(Zc(Pe))throw new pr(oe);return R1(Pe)}function vd(Pe){return Pe===null}function gd(Pe){return Pe==null}function ql(Pe){return typeof Pe=="number"||Kr(Pe)&&va(Pe)==gt}function ji(Pe){if(!Kr(Pe)||va(Pe)!=Tt)return!1;var Le=yo(Pe);if(Le===null)return!0;var Fe=Nr.call(Le,"constructor")&&Le.constructor;return typeof Fe=="function"&&Fe instanceof Fe&&po.call(Fe)==uu}var a1=ao?da(ao):hc;function md(Pe){return Fl(Pe)&&Pe>=-Ne&&Pe<=Ne}var Hl=$i?da($i):fc;function Wo(Pe){return typeof Pe=="string"||!vr(Pe)&&Kr(Pe)&&va(Pe)==Ct}function Ta(Pe){return typeof Pe=="symbol"||Kr(Pe)&&va(Pe)==Ot}var pi=no?da(no):vc;function yd(Pe){return Pe===ae}function bd(Pe){return Kr(Pe)&&fa(Pe)==vt}function Sd(Pe){return Kr(Pe)&&va(Pe)==yt}var xd=Oo(Es),$d=Oo(function(Pe,Le){return Pe<=Le});function Gl(Pe){if(!Pe)return[];if($a(Pe))return Wo(Pe)?Rt(Pe):xa(Pe);if(Li&&Pe[Li])return ht(Pe[Li]());var Le=fa(Pe),Fe=Le==pt?or:Le==St?Ja:vi;return Fe(Pe)}function dn(Pe){if(!Pe)return Pe===0?Pe:0;if(Pe=Na(Pe),Pe===Be||Pe===-Be){var Le=Pe<0?-1:1;return Le*He}return Pe===Pe?Pe:0}function gr(Pe){var Le=dn(Pe),Fe=Le%1;return Le===Le?Fe?Le-Fe:Le:0}function Ul(Pe){return Pe?On(gr(Pe),0,Oe):0}function Na(Pe){if(typeof Pe=="number")return Pe;if(Ta(Pe))return qe;if(Wr(Pe)){var Le=typeof Pe.valueOf=="function"?Pe.valueOf():Pe;Pe=Wr(Le)?Le+"":Le}if(typeof Pe!="string")return Pe===0?Pe:+Pe;Pe=Ii(Pe);var Fe=vn.test(Pe);return Fe||Tn.test(Pe)?us(Pe.slice(2),Fe?2:8):pn.test(Pe)?qe:+Pe}function Wl(Pe){return Ka(Pe,wa(Pe))}function wd(Pe){return Pe?On(gr(Pe),-Ne,Ne):Pe===0?Pe:0}function Or(Pe){return Pe==null?"":Ca(Pe)}var Ad=di(function(Pe,Le){if(Ui(Le)||$a(Le)){Ka(Le,ia(Le),Pe);return}for(var Fe in Le)Nr.call(Le,Fe)&&Vi(Pe,Fe,Le[Fe])}),jl=di(function(Pe,Le){Ka(Le,wa(Le),Pe)}),jo=di(function(Pe,Le,Fe,je){Ka(Le,wa(Le),Pe,je)}),Cd=di(function(Pe,Le,Fe,je){Ka(Le,ia(Le),Pe,je)}),Td=sn(ws);function Pd(Pe,Le){var Fe=ci(Pe);return Le==null?Fe:A1(Fe,Le)}var Md=br(function(Pe,Le){Pe=Fr(Pe);var Fe=-1,je=Le.length,Qe=je>2?Le[2]:ae;for(Qe&&ga(Le[0],Le[1],Qe)&&(je=1);++Fe<je;)for(var st=Le[Fe],mt=wa(st),_t=-1,wt=mt.length;++_t<wt;){var Nt=mt[_t],Vt=Pe[Nt];(Vt===ae||za(Vt,si[Nt])&&!Nr.call(Pe,Nt))&&(Pe[Nt]=st[Nt])}return Pe}),Dd=br(function(Pe){return Pe.push(ae,cl),pa(Yl,ae,Pe)});function Ed(Pe,Le){return Ci(Pe,sr(Le,3),Ya)}function Id(Pe,Le){return Ci(Pe,sr(Le,3),Cs)}function Rd(Pe,Le){return Pe==null?Pe:As(Pe,sr(Le,3),wa)}function Ld(Pe,Le){return Pe==null?Pe:D1(Pe,sr(Le,3),wa)}function kd(Pe,Le){return Pe&&Ya(Pe,sr(Le,3))}function Od(Pe,Le){return Pe&&Cs(Pe,sr(Le,3))}function Bd(Pe){return Pe==null?[]:Po(Pe,ia(Pe))}function Nd(Pe){return Pe==null?[]:Po(Pe,wa(Pe))}function n1(Pe,Le,Fe){var je=Pe==null?ae:Bn(Pe,Le);return je===ae?Fe:je}function Vd(Pe,Le){return Pe!=null&&fl(Pe,Le,nc)}function i1(Pe,Le){return Pe!=null&&fl(Pe,Le,ic)}var Fd=il(function(Pe,Le,Fe){Le!=null&&typeof Le.toString!="function"&&(Le=vo.call(Le)),Pe[Le]=Fe},s1(Aa)),zd=il(function(Pe,Le,Fe){Le!=null&&typeof Le.toString!="function"&&(Le=vo.call(Le)),Nr.call(Pe,Le)?Pe[Le].push(Fe):Pe[Le]=[Fe]},sr),qd=br(zi);function ia(Pe){return $a(Pe)?$1(Pe):Ds(Pe)}function wa(Pe){return $a(Pe)?$1(Pe,!0):gc(Pe)}function Hd(Pe,Le){var Fe={};return Le=sr(Le,3),Ya(Pe,function(je,Qe,st){an(Fe,Le(je,Qe,st),je)}),Fe}function Gd(Pe,Le){var Fe={};return Le=sr(Le,3),Ya(Pe,function(je,Qe,st){an(Fe,Qe,Le(je,Qe,st))}),Fe}var Ud=di(function(Pe,Le,Fe){Mo(Pe,Le,Fe)}),Yl=di(function(Pe,Le,Fe,je){Mo(Pe,Le,Fe,je)}),Wd=sn(function(Pe,Le){var Fe={};if(Pe==null)return Fe;var je=!1;Le=qr(Le,function(st){return st=wn(st,Pe),je||(je=st.length>1),st}),Ka(Pe,Gs(Pe),Fe),je&&(Fe=ka(Fe,he|fe|pe,Nc));for(var Qe=Le.length;Qe--;)Os(Fe,Le[Qe]);return Fe});function jd(Pe,Le){return Kl(Pe,Go(sr(Le)))}var Yd=sn(function(Pe,Le){return Pe==null?{}:yc(Pe,Le)});function Kl(Pe,Le){if(Pe==null)return{};var Fe=qr(Gs(Pe),function(je){return[je]});return Le=sr(Le),F1(Pe,Fe,function(je,Qe){return Le(je,Qe[0])})}function Kd(Pe,Le,Fe){Le=wn(Le,Pe);var je=-1,Qe=Le.length;for(Qe||(Qe=1,Pe=ae);++je<Qe;){var st=Pe==null?ae:Pe[Za(Le[je])];st===ae&&(je=Qe,st=Fe),Pe=un(st)?st.call(Pe):st}return Pe}function Zd(Pe,Le,Fe){return Pe==null?Pe:Hi(Pe,Le,Fe)}function Xd(Pe,Le,Fe,je){return je=typeof je=="function"?je:ae,Pe==null?Pe:Hi(Pe,Le,Fe,je)}var Zl=ll(ia),Xl=ll(wa);function Qd(Pe,Le,Fe){var je=vr(Pe),Qe=je||Cn(Pe)||pi(Pe);if(Le=sr(Le,4),Fe==null){var st=Pe&&Pe.constructor;Qe?Fe=je?new st:[]:Wr(Pe)?Fe=un(st)?ci(yo(Pe)):{}:Fe={}}return(Qe?Sa:Ya)(Pe,function(mt,_t,wt){return Le(Fe,mt,_t,wt)}),Fe}function Jd(Pe,Le){return Pe==null?!0:Os(Pe,Le)}function e3(Pe,Le,Fe){return Pe==null?Pe:U1(Pe,Le,Vs(Fe))}function t3(Pe,Le,Fe,je){return je=typeof je=="function"?je:ae,Pe==null?Pe:U1(Pe,Le,Vs(Fe),je)}function vi(Pe){return Pe==null?[]:ri(Pe,ia(Pe))}function r3(Pe){return Pe==null?[]:ri(Pe,wa(Pe))}function a3(Pe,Le,Fe){return Fe===ae&&(Fe=Le,Le=ae),Fe!==ae&&(Fe=Na(Fe),Fe=Fe===Fe?Fe:0),Le!==ae&&(Le=Na(Le),Le=Le===Le?Le:0),On(Na(Pe),Le,Fe)}function n3(Pe,Le,Fe){return Le=dn(Le),Fe===ae?(Fe=Le,Le=0):Fe=dn(Fe),Pe=Na(Pe),oc(Pe,Le,Fe)}function i3(Pe,Le,Fe){if(Fe&&typeof Fe!="boolean"&&ga(Pe,Le,Fe)&&(Le=Fe=ae),Fe===ae&&(typeof Le=="boolean"?(Fe=Le,Le=ae):typeof Pe=="boolean"&&(Fe=Pe,Pe=ae)),Pe===ae&&Le===ae?(Pe=0,Le=1):(Pe=dn(Pe),Le===ae?(Le=Pe,Pe=0):Le=dn(Le)),Pe>Le){var je=Pe;Pe=Le,Le=je}if(Fe||Pe%1||Le%1){var Qe=S1();return ha(Pe+Qe*(Le-Pe+ls("1e-"+((Qe+"").length-1))),Le)}return Rs(Pe,Le)}var o3=hi(function(Pe,Le,Fe){return Le=Le.toLowerCase(),Pe+(Fe?Ql(Le):Le)});function Ql(Pe){return o1(Or(Pe).toLowerCase())}function Jl(Pe){return Pe=Or(Pe),Pe&&Pe.replace(qn,ni).replace(es,"")}function s3(Pe,Le,Fe){Pe=Or(Pe),Le=Ca(Le);var je=Pe.length;Fe=Fe===ae?je:On(gr(Fe),0,je);var Qe=Fe;return Fe-=Le.length,Fe>=0&&Pe.slice(Fe,Qe)==Le}function l3(Pe){return Pe=Or(Pe),Pe&&mr.test(Pe)?Pe.replace(nr,gs):Pe}function u3(Pe){return Pe=Or(Pe),Pe&&jr.test(Pe)?Pe.replace(ca,"\\$&"):Pe}var c3=hi(function(Pe,Le,Fe){return Pe+(Fe?"-":"")+Le.toLowerCase()}),d3=hi(function(Pe,Le,Fe){return Pe+(Fe?" ":"")+Le.toLowerCase()}),h3=rl("toLowerCase");function f3(Pe,Le,Fe){Pe=Or(Pe),Le=gr(Le);var je=Le?Je(Pe):0;if(!Le||je>=Le)return Pe;var Qe=(Le-je)/2;return ko(xo(Qe),Fe)+Pe+ko(So(Qe),Fe)}function p3(Pe,Le,Fe){Pe=Or(Pe),Le=gr(Le);var je=Le?Je(Pe):0;return Le&&je<Le?Pe+ko(Le-je,Fe):Pe}function g3(Pe,Le,Fe){Pe=Or(Pe),Le=gr(Le);var je=Le?Je(Pe):0;return Le&&je<Le?ko(Le-je,Fe)+Pe:Pe}function m3(Pe,Le,Fe){return Fe||Le==null?Le=0:Le&&(Le=+Le),_u(Or(Pe).replace(kr,""),Le||0)}function y3(Pe,Le,Fe){return(Fe?ga(Pe,Le,Fe):Le===ae)?Le=1:Le=gr(Le),Ls(Or(Pe),Le)}function _3(){var Pe=arguments,Le=Or(Pe[0]);return Pe.length<3?Le:Le.replace(Pe[1],Pe[2])}var b3=hi(function(Pe,Le,Fe){return Pe+(Fe?"_":"")+Le.toLowerCase()});function S3(Pe,Le,Fe){return Fe&&typeof Fe!="number"&&ga(Pe,Le,Fe)&&(Le=Fe=ae),Fe=Fe===ae?Oe:Fe>>>0,Fe?(Pe=Or(Pe),Pe&&(typeof Le=="string"||Le!=null&&!a1(Le))&&(Le=Ca(Le),!Le&&_n(Pe))?An(Rt(Pe),0,Fe):Pe.split(Le,Fe)):[]}var x3=hi(function(Pe,Le,Fe){return Pe+(Fe?" ":"")+o1(Le)});function $3(Pe,Le,Fe){return Pe=Or(Pe),Fe=Fe==null?0:On(gr(Fe),0,Pe.length),Le=Ca(Le),Pe.slice(Fe,Fe+Le.length)==Le}function w3(Pe,Le,Fe){var je=ot.templateSettings;Fe&&ga(Pe,Le,Fe)&&(Le=ae),Pe=Or(Pe),Le=jo({},Le,je,ul);var Qe=jo({},Le.imports,je.imports,ul),st=ia(Qe),mt=ri(Qe,st),_t,wt,Nt=0,Vt=Le.interpolate||gn,Gt="__p += '",er=_s((Le.escape||gn).source+"|"+Vt.source+"|"+(Vt===Br?Ha:gn).source+"|"+(Le.evaluate||gn).source+"|$","g"),ir="//# sourceURL="+(Nr.call(Le,"sourceURL")?(Le.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++is+"]")+`
-`;Pe.replace(er,function(cr,xr,Cr,Pa,ma,Ma){return Cr||(Cr=Pa),Gt+=Pe.slice(Nt,Ma).replace(Pn,co),xr&&(_t=!0,Gt+=`' +
-__e(`+xr+`) +
-'`),ma&&(wt=!0,Gt+=`';
-`+ma+`;
-__p += '`),Cr&&(Gt+=`' +
-((__t = (`+Cr+`)) == null ? '' : __t) +
-'`),Nt=Ma+cr.length,cr}),Gt+=`';
-`;var ur=Nr.call(Le,"variable")&&Le.variable;if(!ur)Gt=`with (obj) {
-`+Gt+`
-}
-`;else if(Xr.test(ur))throw new pr(le);Gt=(wt?Gt.replace(Rr,""):Gt).replace($r,"$1").replace(Pr,"$1;"),Gt="function("+(ur||"obj")+`) {
-`+(ur?"":`obj || (obj = {});
-`)+"var __t, __p = ''"+(_t?", __e = _.escape":"")+(wt?`, __j = Array.prototype.join;
-function print() { __p += __j.call(arguments, '') }
-`:`;
-`)+Gt+`return __p
-}`;var yr=tu(function(){return Ir(st,ir+"return "+Gt).apply(ae,mt)});if(yr.source=Gt,r1(yr))throw yr;return yr}function A3(Pe){return Or(Pe).toLowerCase()}function C3(Pe){return Or(Pe).toUpperCase()}function T3(Pe,Le,Fe){if(Pe=Or(Pe),Pe&&(Fe||Le===ae))return Ii(Pe);if(!Pe||!(Le=Ca(Le)))return Pe;var je=Rt(Pe),Qe=Rt(Le),st=Ri(je,Qe),mt=uo(je,Qe)+1;return An(je,st,mt).join("")}function P3(Pe,Le,Fe){if(Pe=Or(Pe),Pe&&(Fe||Le===ae))return Pe.slice(0,tr(Pe)+1);if(!Pe||!(Le=Ca(Le)))return Pe;var je=Rt(Pe),Qe=uo(je,Rt(Le))+1;return An(je,0,Qe).join("")}function M3(Pe,Le,Fe){if(Pe=Or(Pe),Pe&&(Fe||Le===ae))return Pe.replace(kr,"");if(!Pe||!(Le=Ca(Le)))return Pe;var je=Rt(Pe),Qe=Ri(je,Rt(Le));return An(je,Qe).join("")}function D3(Pe,Le){var Fe=De,je=Me;if(Wr(Le)){var Qe="separator"in Le?Le.separator:Qe;Fe="length"in Le?gr(Le.length):Fe,je="omission"in Le?Ca(Le.omission):je}Pe=Or(Pe);var st=Pe.length;if(_n(Pe)){var mt=Rt(Pe);st=mt.length}if(Fe>=st)return Pe;var _t=Fe-Je(je);if(_t<1)return je;var wt=mt?An(mt,0,_t).join(""):Pe.slice(0,_t);if(Qe===ae)return wt+je;if(mt&&(_t+=wt.length-_t),a1(Qe)){if(Pe.slice(_t).search(Qe)){var Nt,Vt=wt;for(Qe.global||(Qe=_s(Qe.source,Or(fn.exec(Qe))+"g")),Qe.lastIndex=0;Nt=Qe.exec(Vt);)var Gt=Nt.index;wt=wt.slice(0,Gt===ae?_t:Gt)}}else if(Pe.indexOf(Ca(Qe),_t)!=_t){var er=wt.lastIndexOf(Qe);er>-1&&(wt=wt.slice(0,er))}return wt+je}function E3(Pe){return Pe=Or(Pe),Pe&&wr.test(Pe)?Pe.replace(Lr,Sr):Pe}var I3=hi(function(Pe,Le,Fe){return Pe+(Fe?" ":"")+Le.toUpperCase()}),o1=rl("toUpperCase");function eu(Pe,Le,Fe){return Pe=Or(Pe),Le=Fe?ae:Le,Le===ae?ys(Pe)?nu(Pe):ps(Pe):Pe.match(Le)||[]}var tu=br(function(Pe,Le){try{return pa(Pe,ae,Le)}catch(Fe){return r1(Fe)?Fe:new pr(Fe)}}),R3=sn(function(Pe,Le){return Sa(Le,function(Fe){Fe=Za(Fe),an(Pe,Fe,e1(Pe[Fe],Pe))}),Pe});function L3(Pe){var Le=Pe==null?0:Pe.length,Fe=sr();return Pe=Le?qr(Pe,function(je){if(typeof je[1]!="function")throw new Ra(se);return[Fe(je[0]),je[1]]}):[],br(function(je){for(var Qe=-1;++Qe<Le;){var st=Pe[Qe];if(pa(st[0],this,je))return pa(st[1],this,je)}})}function k3(Pe){return tc(ka(Pe,he))}function s1(Pe){return function(){return Pe}}function O3(Pe,Le){return Pe==null||Pe!==Pe?Le:Pe}var B3=nl(),N3=nl(!0);function Aa(Pe){return Pe}function l1(Pe){return L1(typeof Pe=="function"?Pe:ka(Pe,he))}function V3(Pe){return O1(ka(Pe,he))}function F3(Pe,Le){return B1(Pe,ka(Le,he))}var z3=br(function(Pe,Le){return function(Fe){return zi(Fe,Pe,Le)}}),q3=br(function(Pe,Le){return function(Fe){return zi(Pe,Fe,Le)}});function u1(Pe,Le,Fe){var je=ia(Le),Qe=Po(Le,je);Fe==null&&!(Wr(Le)&&(Qe.length||!je.length))&&(Fe=Le,Le=Pe,Pe=this,Qe=Po(Le,ia(Le)));var st=!(Wr(Fe)&&"chain"in Fe)||!!Fe.chain,mt=un(Pe);return Sa(Qe,function(_t){var wt=Le[_t];Pe[_t]=wt,mt&&(Pe.prototype[_t]=function(){var Nt=this.__chain__;if(st||Nt){var Vt=Pe(this.__wrapped__),Gt=Vt.__actions__=xa(this.__actions__);return Gt.push({func:wt,args:arguments,thisArg:Pe}),Vt.__chain__=Nt,Vt}return wt.apply(Pe,Wa([this.value()],arguments))})}),Pe}function H3(){return ta._===this&&(ta._=cu),this}function c1(){}function G3(Pe){return Pe=gr(Pe),br(function(Le){return N1(Le,Pe)})}var U3=zs(qr),W3=zs(wi),j3=zs(Ai);function ru(Pe){return Ys(Pe)?Pi(Za(Pe)):bc(Pe)}function Y3(Pe){return function(Le){return Pe==null?ae:Bn(Pe,Le)}}var K3=ol(),Z3=ol(!0);function d1(){return[]}function h1(){return!1}function X3(){return{}}function Q3(){return""}function J3(){return!0}function eh(Pe,Le){if(Pe=gr(Pe),Pe<1||Pe>Ne)return[];var Fe=Oe,je=ha(Pe,Oe);Le=sr(Le),Pe-=Oe;for(var Qe=Ei(je,Le);++Fe<Pe;)Le(Fe);return Qe}function th(Pe){return vr(Pe)?qr(Pe,Za):Ta(Pe)?[Pe]:xa(xl(Or(Pe)))}function rh(Pe){var Le=++lu;return Or(Pe)+Le}var ah=Lo(function(Pe,Le){return Pe+Le},0),nh=qs("ceil"),ih=Lo(function(Pe,Le){return Pe/Le},1),oh=qs("floor");function sh(Pe){return Pe&&Pe.length?To(Pe,Aa,Ts):ae}function lh(Pe,Le){return Pe&&Pe.length?To(Pe,sr(Le,2),Ts):ae}function uh(Pe){return Ti(Pe,Aa)}function ch(Pe,Le){return Ti(Pe,sr(Le,2))}function dh(Pe){return Pe&&Pe.length?To(Pe,Aa,Es):ae}function hh(Pe,Le){return Pe&&Pe.length?To(Pe,sr(Le,2),Es):ae}var fh=Lo(function(Pe,Le){return Pe*Le},1),ph=qs("round"),vh=Lo(function(Pe,Le){return Pe-Le},0);function gh(Pe){return Pe&&Pe.length?Di(Pe,Aa):0}function mh(Pe,Le){return Pe&&Pe.length?Di(Pe,sr(Le,2)):0}return ot.after=B0,ot.ary=Rl,ot.assign=Ad,ot.assignIn=jl,ot.assignInWith=jo,ot.assignWith=Cd,ot.at=Td,ot.before=Ll,ot.bind=e1,ot.bindAll=R3,ot.bindKey=kl,ot.castArray=K0,ot.chain=Dl,ot.chunk=a2,ot.compact=n2,ot.concat=i2,ot.cond=L3,ot.conforms=k3,ot.constant=s1,ot.countBy=p0,ot.create=Pd,ot.curry=Ol,ot.curryRight=Bl,ot.debounce=Nl,ot.defaults=Md,ot.defaultsDeep=Dd,ot.defer=N0,ot.delay=V0,ot.difference=o2,ot.differenceBy=s2,ot.differenceWith=l2,ot.drop=u2,ot.dropRight=c2,ot.dropRightWhile=d2,ot.dropWhile=h2,ot.fill=f2,ot.filter=g0,ot.flatMap=_0,ot.flatMapDeep=b0,ot.flatMapDepth=S0,ot.flatten=Cl,ot.flattenDeep=p2,ot.flattenDepth=g2,ot.flip=F0,ot.flow=B3,ot.flowRight=N3,ot.fromPairs=m2,ot.functions=Bd,ot.functionsIn=Nd,ot.groupBy=x0,ot.initial=_2,ot.intersection=b2,ot.intersectionBy=S2,ot.intersectionWith=x2,ot.invert=Fd,ot.invertBy=zd,ot.invokeMap=w0,ot.iteratee=l1,ot.keyBy=A0,ot.keys=ia,ot.keysIn=wa,ot.map=zo,ot.mapKeys=Hd,ot.mapValues=Gd,ot.matches=V3,ot.matchesProperty=F3,ot.memoize=Ho,ot.merge=Ud,ot.mergeWith=Yl,ot.method=z3,ot.methodOf=q3,ot.mixin=u1,ot.negate=Go,ot.nthArg=G3,ot.omit=Wd,ot.omitBy=jd,ot.once=z0,ot.orderBy=C0,ot.over=U3,ot.overArgs=q0,ot.overEvery=W3,ot.overSome=j3,ot.partial=t1,ot.partialRight=Vl,ot.partition=T0,ot.pick=Yd,ot.pickBy=Kl,ot.property=ru,ot.propertyOf=Y3,ot.pull=C2,ot.pullAll=Pl,ot.pullAllBy=T2,ot.pullAllWith=P2,ot.pullAt=M2,ot.range=K3,ot.rangeRight=Z3,ot.rearg=H0,ot.reject=D0,ot.remove=D2,ot.rest=G0,ot.reverse=Qs,ot.sampleSize=I0,ot.set=Zd,ot.setWith=Xd,ot.shuffle=R0,ot.slice=E2,ot.sortBy=O0,ot.sortedUniq=N2,ot.sortedUniqBy=V2,ot.split=S3,ot.spread=U0,ot.tail=F2,ot.take=z2,ot.takeRight=q2,ot.takeRightWhile=H2,ot.takeWhile=G2,ot.tap=i0,ot.throttle=W0,ot.thru=Fo,ot.toArray=Gl,ot.toPairs=Zl,ot.toPairsIn=Xl,ot.toPath=th,ot.toPlainObject=Wl,ot.transform=Qd,ot.unary=j0,ot.union=U2,ot.unionBy=W2,ot.unionWith=j2,ot.uniq=Y2,ot.uniqBy=K2,ot.uniqWith=Z2,ot.unset=Jd,ot.unzip=Js,ot.unzipWith=Ml,ot.update=e3,ot.updateWith=t3,ot.values=vi,ot.valuesIn=r3,ot.without=X2,ot.words=eu,ot.wrap=Y0,ot.xor=Q2,ot.xorBy=J2,ot.xorWith=e0,ot.zip=t0,ot.zipObject=r0,ot.zipObjectDeep=a0,ot.zipWith=n0,ot.entries=Zl,ot.entriesIn=Xl,ot.extend=jl,ot.extendWith=jo,u1(ot,ot),ot.add=ah,ot.attempt=tu,ot.camelCase=o3,ot.capitalize=Ql,ot.ceil=nh,ot.clamp=a3,ot.clone=Z0,ot.cloneDeep=Q0,ot.cloneDeepWith=J0,ot.cloneWith=X0,ot.conformsTo=ed,ot.deburr=Jl,ot.defaultTo=O3,ot.divide=ih,ot.endsWith=s3,ot.eq=za,ot.escape=l3,ot.escapeRegExp=u3,ot.every=v0,ot.find=m0,ot.findIndex=wl,ot.findKey=Ed,ot.findLast=y0,ot.findLastIndex=Al,ot.findLastKey=Id,ot.floor=oh,ot.forEach=El,ot.forEachRight=Il,ot.forIn=Rd,ot.forInRight=Ld,ot.forOwn=kd,ot.forOwnRight=Od,ot.get=n1,ot.gt=td,ot.gte=rd,ot.has=Vd,ot.hasIn=i1,ot.head=Tl,ot.identity=Aa,ot.includes=$0,ot.indexOf=y2,ot.inRange=n3,ot.invoke=qd,ot.isArguments=Fn,ot.isArray=vr,ot.isArrayBuffer=ad,ot.isArrayLike=$a,ot.isArrayLikeObject=Qr,ot.isBoolean=nd,ot.isBuffer=Cn,ot.isDate=id,ot.isElement=od,ot.isEmpty=sd,ot.isEqual=ld,ot.isEqualWith=ud,ot.isError=r1,ot.isFinite=cd,ot.isFunction=un,ot.isInteger=Fl,ot.isLength=Uo,ot.isMap=zl,ot.isMatch=dd,ot.isMatchWith=hd,ot.isNaN=fd,ot.isNative=pd,ot.isNil=gd,ot.isNull=vd,ot.isNumber=ql,ot.isObject=Wr,ot.isObjectLike=Kr,ot.isPlainObject=ji,ot.isRegExp=a1,ot.isSafeInteger=md,ot.isSet=Hl,ot.isString=Wo,ot.isSymbol=Ta,ot.isTypedArray=pi,ot.isUndefined=yd,ot.isWeakMap=bd,ot.isWeakSet=Sd,ot.join=$2,ot.kebabCase=c3,ot.last=Ba,ot.lastIndexOf=w2,ot.lowerCase=d3,ot.lowerFirst=h3,ot.lt=xd,ot.lte=$d,ot.max=sh,ot.maxBy=lh,ot.mean=uh,ot.meanBy=ch,ot.min=dh,ot.minBy=hh,ot.stubArray=d1,ot.stubFalse=h1,ot.stubObject=X3,ot.stubString=Q3,ot.stubTrue=J3,ot.multiply=fh,ot.nth=A2,ot.noConflict=H3,ot.noop=c1,ot.now=qo,ot.pad=f3,ot.padEnd=p3,ot.padStart=g3,ot.parseInt=m3,ot.random=i3,ot.reduce=P0,ot.reduceRight=M0,ot.repeat=y3,ot.replace=_3,ot.result=Kd,ot.round=ph,ot.runInContext=$t,ot.sample=E0,ot.size=L0,ot.snakeCase=b3,ot.some=k0,ot.sortedIndex=I2,ot.sortedIndexBy=R2,ot.sortedIndexOf=L2,ot.sortedLastIndex=k2,ot.sortedLastIndexBy=O2,ot.sortedLastIndexOf=B2,ot.startCase=x3,ot.startsWith=$3,ot.subtract=vh,ot.sum=gh,ot.sumBy=mh,ot.template=w3,ot.times=eh,ot.toFinite=dn,ot.toInteger=gr,ot.toLength=Ul,ot.toLower=A3,ot.toNumber=Na,ot.toSafeInteger=wd,ot.toString=Or,ot.toUpper=C3,ot.trim=T3,ot.trimEnd=P3,ot.trimStart=M3,ot.truncate=D3,ot.unescape=E3,ot.uniqueId=rh,ot.upperCase=I3,ot.upperFirst=o1,ot.each=El,ot.eachRight=Il,ot.first=Tl,u1(ot,function(){var Pe={};return Ya(ot,function(Le,Fe){Nr.call(ot.prototype,Fe)||(Pe[Fe]=Le)}),Pe}(),{chain:!1}),ot.VERSION=ne,Sa(["bind","bindKey","curry","curryRight","partial","partialRight"],function(Pe){ot[Pe].placeholder=ot}),Sa(["drop","take"],function(Pe,Le){Ar.prototype[Pe]=function(Fe){Fe=Fe===ae?1:aa(gr(Fe),0);var je=this.__filtered__&&!Le?new Ar(this):this.clone();return je.__filtered__?je.__takeCount__=ha(Fe,je.__takeCount__):je.__views__.push({size:ha(Fe,Oe),type:Pe+(je.__dir__<0?"Right":"")}),je},Ar.prototype[Pe+"Right"]=function(Fe){return this.reverse()[Pe](Fe).reverse()}}),Sa(["filter","map","takeWhile"],function(Pe,Le){var Fe=Le+1,je=Fe==Ee||Fe==ke;Ar.prototype[Pe]=function(Qe){var st=this.clone();return st.__iteratees__.push({iteratee:sr(Qe,3),type:Fe}),st.__filtered__=st.__filtered__||je,st}}),Sa(["head","last"],function(Pe,Le){var Fe="take"+(Le?"Right":"");Ar.prototype[Pe]=function(){return this[Fe](1).value()[0]}}),Sa(["initial","tail"],function(Pe,Le){var Fe="drop"+(Le?"":"Right");Ar.prototype[Pe]=function(){return this.__filtered__?new Ar(this):this[Fe](1)}}),Ar.prototype.compact=function(){return this.filter(Aa)},Ar.prototype.find=function(Pe){return this.filter(Pe).head()},Ar.prototype.findLast=function(Pe){return this.reverse().find(Pe)},Ar.prototype.invokeMap=br(function(Pe,Le){return typeof Pe=="function"?new Ar(this):this.map(function(Fe){return zi(Fe,Pe,Le)})}),Ar.prototype.reject=function(Pe){return this.filter(Go(sr(Pe)))},Ar.prototype.slice=function(Pe,Le){Pe=gr(Pe);var Fe=this;return Fe.__filtered__&&(Pe>0||Le<0)?new Ar(Fe):(Pe<0?Fe=Fe.takeRight(-Pe):Pe&&(Fe=Fe.drop(Pe)),Le!==ae&&(Le=gr(Le),Fe=Le<0?Fe.dropRight(-Le):Fe.take(Le-Pe)),Fe)},Ar.prototype.takeRightWhile=function(Pe){return this.reverse().takeWhile(Pe).reverse()},Ar.prototype.toArray=function(){return this.take(Oe)},Ya(Ar.prototype,function(Pe,Le){var Fe=/^(?:filter|find|map|reject)|While$/.test(Le),je=/^(?:head|last)$/.test(Le),Qe=ot[je?"take"+(Le=="last"?"Right":""):Le],st=je||/^find/.test(Le);Qe&&(ot.prototype[Le]=function(){var mt=this.__wrapped__,_t=je?[1]:arguments,wt=mt instanceof Ar,Nt=_t[0],Vt=wt||vr(mt),Gt=function(xr){var Cr=Qe.apply(ot,Wa([xr],_t));return je&&er?Cr[0]:Cr};Vt&&Fe&&typeof Nt=="function"&&Nt.length!=1&&(wt=Vt=!1);var er=this.__chain__,ir=!!this.__actions__.length,ur=st&&!er,yr=wt&&!ir;if(!st&&Vt){mt=yr?mt:new Ar(this);var cr=Pe.apply(mt,_t);return cr.__actions__.push({func:Fo,args:[Gt],thisArg:ae}),new La(cr,er)}return ur&&yr?Pe.apply(this,_t):(cr=this.thru(Gt),ur?je?cr.value()[0]:cr.value():cr)})}),Sa(["pop","push","shift","sort","splice","unshift"],function(Pe){var Le=ho[Pe],Fe=/^(?:push|sort|unshift)$/.test(Pe)?"tap":"thru",je=/^(?:pop|shift)$/.test(Pe);ot.prototype[Pe]=function(){var Qe=arguments;if(je&&!this.__chain__){var st=this.value();return Le.apply(vr(st)?st:[],Qe)}return this[Fe](function(mt){return Le.apply(vr(mt)?mt:[],Qe)})}}),Ya(Ar.prototype,function(Pe,Le){var Fe=ot[Le];if(Fe){var je=Fe.name+"";Nr.call(ui,je)||(ui[je]=[]),ui[je].push({name:Le,func:Fe})}}),ui[Ro(ae,ye).name]=[{name:"wrapper",func:ae}],Ar.prototype.clone=Cu,Ar.prototype.reverse=Tu,Ar.prototype.value=Pu,ot.prototype.at=o0,ot.prototype.chain=s0,ot.prototype.commit=l0,ot.prototype.next=u0,ot.prototype.plant=d0,ot.prototype.reverse=h0,ot.prototype.toJSON=ot.prototype.valueOf=ot.prototype.value=f0,ot.prototype.first=ot.prototype.head,Li&&(ot.prototype[Li]=c0),ot},oi=iu();Qa?((Qa.exports=oi)._=oi,Yn._=oi):ta._=oi}).call(commonjsGlobal)})(lodash,lodash.exports);function getUrlByPathParams(ee,te){if(ee.includes("{")){const ae=lodash.exports.template(ee)(te);if(ae.includes("{"))throw new Error(`调用${ee} 时,传入的路由参数不足!`);return ae}return ee}function reqBuildBySigner(ee,te={},ae,ne){const ie=new Signer(ae,ne),oe=te.headers||{};oe["x-stage"]=ee.run_env_name||"";const se={method:ee.req_method,url:getUrlByPathParams(ee.req_uri,te.pathParams||{}),headers:oe,body:te.body||"",query:te.query};return ie.fetch(se)}function reqBuildByFetch(ee,te={}){te.headers=te.headers||{};const ae={method:ee.req_method,headers:{...te.headers,"x-stage":ee.run_env_name||""}};ee.req_method!=="GET"&&ee.req_method!=="HEAD"&&(ae.body=te.body||"");const ne=getUrlByPathParams(ee.req_uri,te.pathParams||{});return fetch(`${ne}?${queryString.stringify(te.query)}`,ae)}const getFullUri=(ee,te,ae)=>{let ne=ee.toLowerCase();ne=ne==="both"?"https":ne;let ie=ae;return ie.includes("+")&&(ie=ie.replace(/\+/g,"")),`${ne}://${te}${ae}`};class ApigClient{constructor(te){if(__publicField(this,"apigList",null),this.config=te,te.apigList&&te.apigGroupsList){const ae=te.apigGroupsList;this.apigList=te.apigList.map(ne=>{const{group_id:ie,id:oe,name:se,req_protocol:le,req_method:ue,req_uri:ce,auth_type:de,auth_opt:he,match_mode:fe,cors:pe,run_env_name:ve}=ne,ge=ae.find(me=>me.id===ie);return{id:oe,name:se,req_protocol:le,req_method:ue==="ANY"?"POST":ue,req_uri:getFullUri(le,ge==null?void 0:ge.sl_domain,ce),auth_type:de,auth_opt:he,match_mode:fe,cors:pe,run_env_name:ve,group:ge}}).filter(ne=>ne.req_method!=="OPTIONS"&&ne.group)}}exec(te,ae,ne){var ie;const oe=(ie=this.apigList)==null?void 0:ie.find(se=>{var le;return((le=se.group)==null?void 0:le.name)===te&&se.name===ae});return oe?oe.auth_type==="NONE"||oe.auth_type==="AUTHORIZER"?reqBuildByFetch(oe,ne):oe.auth_type==="IAM"?reqBuildBySigner(oe,ne,this.config.accessKey,this.config.secretKey):null:null}}function apigBuilder(ee){return new ApigClient(ee)}class HWCClient{constructor(){__publicField(this,"config"),__publicField(this,"signer"),__publicField(this,"obsClient"),__publicField(this,"apigClient")}configure(te){this.config=te,this.signer=new Signer(te.accessKey,te.secretKey),this.obsClient=obsBuilder(te),this.apigClient=apigBuilder(te)}}const HwcClient=new HWCClient;var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(ee,te,ae)=>te in ee?__defProp(ee,te,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ee[te]=ae,__spreadValues=(ee,te)=>{for(var ae in te||(te={}))__hasOwnProp.call(te,ae)&&__defNormalProp(ee,ae,te[ae]);if(__getOwnPropSymbols)for(var ae of __getOwnPropSymbols(te))__propIsEnum.call(te,ae)&&__defNormalProp(ee,ae,te[ae]);return ee},__spreadProps=(ee,te)=>__defProps(ee,__getOwnPropDescs(te)),__objRest=(ee,te)=>{var ae={};for(var ne in ee)__hasOwnProp.call(ee,ne)&&te.indexOf(ne)<0&&(ae[ne]=ee[ne]);if(ee!=null&&__getOwnPropSymbols)for(var ne of __getOwnPropSymbols(ee))te.indexOf(ne)<0&&__propIsEnum.call(ee,ne)&&(ae[ne]=ee[ne]);return ae};const toString$1=Object.prototype.toString,hasOwn$1=Object.prototype.hasOwnProperty,getProto=Object.getPrototypeOf,fnToString=hasOwn$1.toString,ObjectFunctionString=fnToString.call(Object),class2type={"[object Error]":"error","[object Object]":"object","[object RegExp]":"regExp","[object Date]":"date","[object Array]":"array","[object Function]":"function","[object AsyncFunction]":"asyncFunction","[object String]":"string","[object Number]":"number","[object Boolean]":"boolean"},isNull$2=ee=>ee==null,typeOf=ee=>isNull$2(ee)?String(ee):class2type[toString$1.call(ee)]||"object",isObject$5=ee=>typeOf(ee)==="object",isFunction$2=ee=>["asyncFunction","function"].includes(typeOf(ee)),isPlainObject$1=ee=>{if(!ee||toString$1.call(ee)!=="[object Object]")return!1;const te=getProto(ee);if(!te)return!0;const ae=hasOwn$1.call(te,"constructor")&&te.constructor;return typeof ae=="function"&&fnToString.call(ae)===ObjectFunctionString},isEmptyObject=ee=>{const te=typeOf(ee);if(te==="object"||te==="array"){for(const ae in ee)if(hasOwn$1.call(ee,ae))return!1}return!0},isNumber$2=ee=>typeof ee=="number"&&isFinite(ee),isNumeric$1=ee=>ee-parseFloat(ee)>=0,isDate$2=ee=>typeOf(ee)==="date",isSame=(ee,te)=>ee===te||typeof ee=="number"&&typeof te=="number"&&isNaN(ee)&&isNaN(te),isRegExp$2=ee=>typeOf(ee)==="regExp",each$g=(ee,te)=>{if(typeof te=="function"){for(const ae in ee)if(hasOwn$1.call(ee,ae)&&te(ae,ee[ae])===!1)break}};let extend$4;const getObj=(ee,te,ae)=>{if(!ee||!isPlainObject$1(ee)||!te||typeof te!="string")return;const ne=te.split(".");let ie=ee;const oe=ne.length;if(oe>1){const se=ae?1:0;for(let le=se;le<oe;le++)if(ie=ie[ne[le]],isNull$2(ie))return ie;return ie}else return ie[ne[0]]},setObj=(ee,te,ae,ne)=>{if(!ee||!isPlainObject$1(ee)||!te||typeof te!="string")return ee;const ie=te.split("."),oe=ee;let se=ie.length,le=ie[0];if(se>1){se--;let ue=oe,ce,de;for(let he=0;he<se;he++)ce=ie[he],de=ue[ce],(de===null||!isPlainObject$1(de))&&(ue[ce]={},de=ue[ce]),ue=de;le=ie[se],ne&&isPlainObject$1(ue[le])?extend$4(!0,ue[le],ae):ue[le]=ae}else ne&&isPlainObject$1(oe[le])?extend$4(!0,oe[le],ae):oe[le]=ae;return oe},copyField=(ee,te,ae,ne)=>{const ie=(se,le,ue,ce,de)=>{const he=ce.indexOf(ue)===0,fe=ce.split(ue),pe=fe[1]&&fe[1].indexOf(".")===0;ue===ce||he&&pe?ue!==ce&&each$g(getObj(se,ue),ve=>(ie(se,le,`${ue}.${ve}`,ce),!0)):te&&!te.includes(ue)&&setObj(le,ue,getObj(se,ue),de)},oe=(se,le,ue,ce)=>{const de={};return ce?each$g(se,he=>le.forEach(fe=>ie(se,de,he,fe,ue))):le.forEach(he=>setObj(de,he,getObj(se,he),ue)),de};return isPlainObject$1(ee)?Array.isArray(te)?oe(ee,te,ae,ne):extend$4(ae!==!1,{},ee):ee},copyArray=ee=>Array.isArray(ee)?ee.map(te=>copyField(te)):ee,deepCopy=(ee,te,ae,ne,ie)=>{let oe;if(ae&&ne&&(isPlainObject$1(ne)||(oe=Array.isArray(ne))))if(oe)oe=!1,ee[te]=copyArray(ne);else{const se=ie&&isPlainObject$1(ie)?ie:{};ee[te]=extend$4(ae,se,ne)}else if(ne!==void 0)try{ee[te]=ne}catch{}};extend$4=function(...ee){const te=ee.length;let ae=ee[0]||{},ne=1,ie=!1;for(typeOf(ae)==="boolean"&&(ie=ae,ae=ee[ne]||{},ne++),!isObject$5(ae)&&typeOf(ae)!=="function"&&(ae={});ne<te;ne++){const oe=ee[ne];if(oe!==null&&isObject$5(oe)){const se=Object.keys(oe);for(const le of se){const ue=ae[le],ce=oe[le];ae!==ce&&deepCopy(ae,le,ie,ce,ue)}}}return ae};let isEachEqual;const isEqual=(ee,te,ae,ne)=>{if(typeOf(ee)===typeOf(te)){if(ae=ae!==!1,Array.isArray(ne)){const se=copyField(ee,ne),le=copyField(te,ne);return isEqual(se,le,ae)}const ie=isEachEqual(ee,te,ae),oe=isEachEqual(te,ee,ae);return ie&&oe}return!1};isEachEqual=(ee,te,ae)=>{if(!isPlainObject$1(ee)){if(!Array.isArray(ee))return ee===te;if(ee.length!==te.length)return!1;for(let oe=0,se=ee.length;oe<se;oe++)if(!isEqual(ee[oe],te[oe],ae))return!1;return!0}let ne=!0;const ie=Object.keys(ee);for(const oe of ie){if(hasOwn$1.call(te,oe)){const se=ee[oe],le=te[oe];ae&&isObject$5(se)||Array.isArray(se)?ne=isEachEqual(se,le,ae):ne=se===le}else ne=!1;if(ne===!1)break}return ne};const toJsonStr=ee=>{try{return JSON.stringify(ee)}catch{return}},merge$2=function(ee,...te){for(let ae=0,ne=te.length;ae<ne;ae++){const ie=te[ae]||{};for(const oe in ie)if(hasOwn$1.call(ie,oe)){const se=ie[oe];se!==void 0&&(ee[oe]=se)}}return ee},getIEVersion=()=>{let ee=8;return document.addEventListener&&window.performance&&(ee=9,window.atob&&window.matchMedia&&(ee=10,!window.attachEvent&&!document.all&&(ee=11))),ee},isEdge=ee=>{ee.chrome&&~navigator.userAgent.indexOf("Edg")?(ee.name="edge",ee.edge=!0,delete ee.chrome):!document.documentMode&&window.StyleMedia&&(ee.name="edge",ee.edge=!0)},isBrowser=typeof window<"u"&&typeof document<"u"&&window.document===document;var browser_default=(()=>{const ee={name:void 0,version:void 0,isDoc:typeof document<"u",isMobile:!1,isPC:!0,isNode:typeof window>"u"};if(isBrowser){const te=/(Android|webOS|iPhone|iPad|iPod|SymbianOS|BlackBerry|Windows Phone)/.test(navigator.userAgent);ee.isMobile=te,ee.isPC=!te;let ae;if(window.chrome&&(window.chrome.webstore||/^Google\b/.test(window.navigator.vendor))?(ee.name="chrome",ee.chrome=!0,ae=navigator.userAgent.match(/chrome\/(\d+)/i),ee.version=!!ae&&!!ae[1]&&parseInt(ae[1],10),ae=void 0):document.all||document.documentMode?(ee.name="ie",ee.version=getIEVersion(),ee.ie=!0):typeof window.InstallTrigger<"u"?(ee.name="firefox",ee.firefox=!0):Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0?(ee.name="safari",ee.safari=!0):(window.opr&&window.opr.addons||window.opera)&&(ee.name="opera",ee.opera=!0),isEdge(ee),!~["ie","chrome"].indexOf(ee.name)){const ne=ee.name+"/(\\d+)";ae=navigator.userAgent.match(new RegExp(ne,"i")),ee.version=!!ae&&!!ae[1]&&parseInt(ae[1],10),ae=void 0}if(ee.isDoc){const ne=document.body||document.documentElement;["webkit","khtml","moz","ms","o"].forEach(ie=>{ee["-"+ie]=!!ne[ie+"MatchesSelector"]})}}return ee})();const BigInt=isBrowser?window.BigInt:global.BigInt;function supportBigInt(){return typeof BigInt=="function"}function trimNumber(ee){let te=ee.toString().trim(),ae=te.startsWith("-");ae&&(te=te.slice(1)),te=te.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),te.startsWith(".")&&(te="0".concat(te));let ne=te||"0",ie=ne.split("."),oe=ie[0]||"0",se=ie[1]||"0";oe==="0"&&se==="0"&&(ae=!1);let le=ae?"-":"";return{negative:ae,negativeStr:le,trimStr:ne,integerStr:oe,decimalStr:se,fullStr:"".concat(le).concat(ne)}}function isE(ee){let te=String(ee);return!isNaN(Number(te))&&~te.indexOf("e")}function validateNumber(ee){return typeof ee=="number"?!isNaN(ee):ee?/^\s*-?\d+(\.\d+)?\s*$/.test(ee)||/^\s*-?\d+\.\s*$/.test(ee)||/^\s*-?\.\d+\s*$/.test(ee):!1}function getNumberPrecision(ee){let te=String(ee);if(isE(ee)){let ae=Number(te.slice(te.indexOf("e-")+2)),ne=te.match(/\.(\d+)/);return ne!=null&&ne[1]&&(ae+=ne[1].length),ae}return~te.indexOf(".")&&validateNumber(te)?te.length-te.indexOf(".")-1:0}function num2str(ee){let te=String(ee);if(isE(ee)){if(ee>Number.MAX_SAFE_INTEGER)return String(supportBigInt()?BigInt(ee).toString():Number.MAX_SAFE_INTEGER);if(ee<Number.MIN_SAFE_INTEGER)return String(supportBigInt()?BigInt(ee).toString():Number.MIN_SAFE_INTEGER);te=ee.toFixed(getNumberPrecision(te))}return trimNumber(te).fullStr}function pluginDecimal(ee){return ee.add||Object.assign(ee,{add:ee.plus,lessEquals:ee.isLessThan,equals:ee.isEqualTo}),ee}const DecimalCls={CLS:null};let setDecimalClass;function getMiniDecimal(ee,te){return DecimalCls.CLS||setDecimalClass(te),pluginDecimal(new DecimalCls.CLS(ee))}class BigIntDecimal{constructor(te){if(!te&&te!==0||!String(te).trim()){this.empty=!0;return}if(this.origin=String(te),this.negative=void 0,this.integer=void 0,this.decimal=void 0,this.decimalLen=void 0,this.empty=void 0,this.nan=void 0,te==="-"){this.nan=!0;return}let ae=isE(te)?Number(te):te;typeof ae!="string"&&num2str(ae);const ne=Function,ie=oe=>{const se=oe.replace(/^0+/,"")||"0";return ne(`return BigInt('${se}')`)()};if(validateNumber(ae)){const oe=trimNumber(ae);this.negative=oe.negative;const se=oe.trimStr.split(".");this.integer=se[0].includes("e")?se[0]:BigInt(se[0]);const le=se[1]||"0";this.decimal=le.includes("e")?ie(le):BigInt(le),this.decimalLen=le.length}else this.nan=!0}getDecimalStr(){return this.decimal.toString().padStart(this.decimalLen,"0")}getIntegerStr(){return this.integer.toString()}getMark(){return this.negative?"-":""}alignDecimal(te){const ae=`${this.getMark()}${this.getIntegerStr()}${this.getDecimalStr().padEnd(te,"0")}`;return BigInt(ae)}add(te){if(this.isInvalidate())return new BigIntDecimal(te);const ae=new BigIntDecimal(te);if(ae.isInvalidate())return this;const ne=Math.max(this.getDecimalStr().length,ae.getDecimalStr().length),ie=ae.alignDecimal(ne),se=`${this.alignDecimal(ne)+ie}`,{negativeStr:le,trimStr:ue}=trimNumber(se),ce=`${le}${ue.padStart(ne+1,"0")}`;return getMiniDecimal(`${ce.slice(0,-ne)}.${ce.slice(-ne)}`)}negate(){const te=new BigIntDecimal(this.toString());return te.negative=!te.negative,te}isNaN(){return this.nan}isEmpty(){return this.empty}isInvalidate(){return this.isEmpty()||this.isNaN()}lessEquals(te){return this.add(te.negate().toString()).toNumber()<=0}equals(te){return this.toString()===(te&&te.toString())}toNumber(){return this.isNaN()?NaN:Number(this.toString())}toString(te=!0){return te?this.isInvalidate()?"":trimNumber(`${this.getMark()}${this.getIntegerStr()}.${this.getDecimalStr()}`).fullStr:this.origin}}class NumberDecimal{constructor(te=""){if(!te&&te!==0||!String(te).trim()){this.empty=!0;return}this.origin="",this.number=void 0,this.empty=void 0,this.origin=String(te),this.number=Number(te)}negate(){return new NumberDecimal(-this.toNumber())}add(te){if(this.isInvalidate())return new NumberDecimal(te);const ae=Number(te);if(isNaN(ae))return this;const ne=this.number+ae;if(ne<Number.MIN_SAFE_INTEGER)return new NumberDecimal(Number.MIN_SAFE_INTEGER);if(ne>Number.MAX_SAFE_INTEGER)return new NumberDecimal(Number.MAX_SAFE_INTEGER);const ie=Math.max(getNumberPrecision(ae),getNumberPrecision(this.number));return new NumberDecimal(ne.toFixed(ie))}isNaN(){return isNaN(this.number)}isEmpty(){return this.empty}isInvalidate(){return this.isEmpty()||this.isNaN()}equals(te){return this.toNumber()===(te&&te.toNumber())}lessEquals(te){return this.add(te.negate().toString()).toNumber()<=0}toNumber(){return this.number}toString(te=!0){return te?this.isInvalidate()?"":num2str(this.number):this.origin}}setDecimalClass=function(ee){DecimalCls.CLS=supportBigInt()?BigIntDecimal:typeof ee=="function"?ee:NumberDecimal};function toFixed$1(ee,te,ae=5){if(ee==="")return"";const ne=".",{negativeStr:ie,integerStr:oe,decimalStr:se}=trimNumber(ee),le=`${ne}${se}`,ue=`${ie}${oe}`;if(te>=0){const ce=Number(se[te]);if(ce>=ae&&ae!==0){const de=getMiniDecimal(`${oe}${ne}${se}`).add(`0.${fillChar("",te,!0)}${10-ce}`);return toFixed$1(ie+de.toString(),te,0)}return te===0?ue:`${ue}${ne}${fillChar(se,te,!0).slice(0,te)}`}return le===".0"?ue:`${ue}${le}`}const DECIMAL_SEPARATOR=".",asInteger=ee=>{const te=ee.split(DECIMAL_SEPARATOR),ae=te[0],ne=te[1];let ie,oe;if(ne)ie=parseInt(ee.split(DECIMAL_SEPARATOR).join(""),10),oe=ne.length*-1;else{const se=ae.match(/0+$/);if(se){const le=se[0].length;ie=ae.substr(0,ae.length-le),oe=le}else ie=ae,oe=0}return{value:ie,exp:oe}},zero=ee=>{let te;return ee<=0?te="":String.prototype.repeat?te="0".repeat(ee):te=(ae=>{const ne=[];for(let ie=0;ie<ae;ie++)ne.push(0);return ne.join("")})(ee),te},negExp=(ee,te)=>{te=Math.abs(te);const ae=te-ee.length;let ne=DECIMAL_SEPARATOR;ae>=0&&(ee=zero(ae)+ee,ne="0.");const ie=ee.length,oe=ie-te,se=ee.substr(0,oe),le=ee.substring(oe,ie);return se+ne+le},posExp=(ee,te)=>String(ee+zero(te)),format$5=(ee,te)=>(te>=0?posExp:negExp)(String(ee),te);function Decimal(ee){if(!this||this.constructor!==Decimal)return new Decimal(ee);if(ee instanceof Decimal)return ee;this.internal=String(ee),this.asInt=asInteger(this.internal),this.add=te=>{const ae=[this,new Decimal(te)];ae.sort((le,ue)=>le.asInt.exp-ue.asInt.exp);const ne=ae[0].asInt.exp,ie=ae[1].asInt.exp,oe=Number(format$5(ae[1].asInt.value,ie-ne)),se=Number(ae[0].asInt.value);return new Decimal(format$5(String(oe+se),ne))},this.sub=te=>new Decimal(this.add(te*-1)),this.mul=te=>{te=new Decimal(te);const ae=String(this.asInt.value*te.asInt.value),ne=this.asInt.exp+te.asInt.exp;return new Decimal(format$5(ae,ne))},this.div=te=>{te=new Decimal(te);const ae=Math.min(this.asInt.exp,te.asInt.exp),ne=10**Math.abs(ae),ie=Decimal.mul(ne,this),oe=Decimal.mul(ne,te);return new Decimal(ie/oe)},this.toString=()=>this.internal,this.toNumber=()=>Number(this.internal)}Decimal.add=(ee,te)=>new Decimal(ee).add(te);Decimal.mul=(ee,te)=>new Decimal(ee).mul(te);Decimal.sub=(ee,te)=>new Decimal(ee).sub(te);Decimal.div=(ee,te)=>new Decimal(ee).div(te);const toFixed=(ee,te=0)=>{const ae=ee<0?"-":"";ee=Math.abs(ee);const ne=ee.toString().length<(2**53).toString().length-1?10**te:10**(te-1),ie=new Decimal(Math.round(new Decimal(ee).mul(ne))).div(ne).toString(),oe=Number(ie);return oe?ae+oe.toFixed(te):oe.toFixed(te)},formatInteger=(ee,{secondaryGroupSize:te=3,groupSize:ae=0,groupSeparator:ne=","})=>{const ie=/^-\d+/.test(ee);let oe=ie?ee.slice(1):ee;const se=te||ae;if(ae&&oe.length>ae){let le=oe.slice(0,0-ae);const ue=oe.slice(0-ae);le=le.replace(new RegExp(`\\B(?=(\\d{${se}})+(?!\\d))`,"g"),ne),oe=`${le}${ne}${ue}`}return`${ie?"-":""}${oe}`},reverseString=ee=>{const te=[];for(let ae=0;ae<ee.length;ae++)te.push(ee[ae]);return te.reverse().join("")},formatDecimal=(ee,{fractionGroupSize:te=0,fractionGroupSeparator:ae=" "})=>{const ne=new RegExp(`\\B(?=(\\d{${te}})+(?!\\d))`,"g");return reverseString(reverseString(ee).replace(ne,ae))},formatNumber=(ee,te={})=>{const{fraction:ae,rounding:ne,prefix:ie="",decimalSeparator:oe=".",suffix:se=""}=te;let le=getMiniDecimal(ee);if(le.isNaN()||!le.toString())return ee;le=toFixed$1(le.toString(),ae,ne),te.zeroize===!1&&le.match(/\./)&&(le=le.replace(/\.?0+$/g,""));const ue=le.toString().split(".").slice(0,2).map((ce,de)=>de?formatDecimal(ce,te):formatInteger(ce,te)).join(oe);return`${ie}${ue}${se}`},recoverNumber=(ee,te={})=>{const{prefix:ae="",suffix:ne="",decimalSeparator:ie="."}=te;let oe=ee;return typeof ee=="string"&&(oe=ee.replace(new RegExp(`^${ae}(.+)${ne}$`),(se,le)=>le).split(ie).map(se=>se.replace(/[^\d]/g,"")).join(".")),Number(oe)},formatTypes={text:"text",url:"url",html:"html",tmpl:"tmpl"},escapeChars={"&":"&#38;","<":"&#60;",">":"&#62;",'"':"&#34;","'":"&#x27;","[":"&#91;","]":"&#93;"},isNullOrEmpty=ee=>ee==null||typeof ee=="string"&&ee.trim().length===0;function cached(ee){let te=Object.create(null);return function(ne){return te[ne]||(te[ne]=ee(ne))}}const camelizeRE=/-(\w)/g,camelize=cached(ee=>ee.replace(camelizeRE,(te,ae)=>ae?ae.toUpperCase():"")),capitalize=cached(ee=>ee.charAt(0).toUpperCase()+ee.slice(1)),hyphenateRE=/\B([A-Z])/g,hyphenate=cached(ee=>ee.replace(hyphenateRE,"-$1").toLowerCase());function getLengthInUtf16(ee){const te=ee.length;let ae=0;for(let ne=0;ne<te;ne++)ee.charCodeAt(ne)<=65535?ae+=2:ae+=4;return ae}function getLengthInUtf8(ee){const te=ee.length;let ae=0;for(let ne=0;ne<te;ne++){let ie=ee.charCodeAt(ne);ie<=127?ae+=1:ie<=2047?ae+=2:ie<=65535?ae+=3:ae+=4}return ae}function getLengthDefault(ee){const te=ee.length;let ae=0;for(let ne=0;ne<te;ne++)ae++,ee.charCodeAt(ne)>>8&&ae++;return ae}const getLength=(ee,te)=>{if(!ee||typeof ee!="string")return 0;let ae=0;if(typeof te=="string")te=te.toLowerCase(),te==="utf-16"||te==="utf16"?ae=getLengthInUtf16(ee):te==="utf-8"||te==="utf8"?ae=getLengthInUtf8(ee):ae=ee.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length;else{if(typeof te=="function")return te(ee);ae=getLengthDefault(ee)}return ae},fillChar=(ee,te,ae,ne="0")=>{if(typeof ee=="string"&&typeof ne=="string"&&isNumber$2(te)){let ie=ee.length-te;if(ie>0)return ae?ee.substr(0,te):ee.substr(ie,te);{const oe=[];for(ie=Math.abs(ie)/ne.length;ie>0;ie--)oe.push(ne);const se=oe.join("");return ae?ee+se:se+ee}}},random$1=()=>{let ee=4294967296;return window.crypto.getRandomValues(new window.Uint32Array(1))[0]/ee},guid$1=(ee="",te=8)=>ee+random$1().toString().substr(2,te),escapeHtml$1=(ee,te)=>!ee||typeof ee!="string"?ee:(ee=ee.replace(/[&<>"']/g,ae=>escapeChars[ae]),te?ee.replace(/\s/g,"&#160;"):ee),getFormat=({sign:ee,format:te,hasSign:ae})=>{switch(ee){case"#":te=formatTypes.text;break;case"@":te=formatTypes.url;break;case"$":te=formatTypes.html;break;case"%":te=formatTypes.tmpl;break;default:ae=!1;break}return{format:te,hasSign:ae}},fieldFormat=(ee,te,ae="html")=>{if(typeof ee=="string")return ee.replace(/(\/)?\{\{([\s\S]*?)}}/g,(ne,ie="",oe="")=>{const se=oe.substr(0,1);let le=!0,ue=formatTypes.html,ce=getFormat({sign:se,format:ue,hasSign:le});ue=ce.format,le=ce.hasSign,le?oe=(oe||"").substring(1):ae&&(ue=ae);let de=getObj(te,oe);return isNull$2(de)&&(de=""),ue===formatTypes.tmpl?de=`{{${de}}}`:ue===formatTypes.url?de=encodeURIComponent(de):de=ue===formatTypes.html?escapeHtml$1(de):de,ue===formatTypes.url&&de.length===0?"":ie+de})},getFormatText=()=>(ee,te,ae,ne)=>ee.replace(te,(ie,oe,se,le)=>{if(!isNullOrEmpty(oe)&&!isNullOrEmpty(le))return`{${se}}`;const ue=ae[se],ce=isPlainObject$1(ue)?toJsonStr(ue):ue;return isNullOrEmpty(ue)?"":typeof ue=="string"&&typeof ne=="function"?ne(ce):ce}),getResult=({type:ee,res:te,formatText:ae,string:ne,reg:ie,args:oe})=>(ee===formatTypes.url?te=ae(ne,ie,oe,encodeURIComponent):ee===formatTypes.html?te=ae(ne,ie,oe,escapeHtml$1):te=ae(ne,ie,oe),te),judgForFunc=(ee,te,ae)=>{const ne=ee[ee.length-1];return ne!==te.text&&ne!==te.url&&ne!==te.html?ee=Array.prototype.slice.call(ee,1):(ee=Array.prototype.slice.call(ee,1,ee.length-1),ae=ne),{args:ee,type:ae}},checkParam=({data:ee,args:te,type:ae,_arguments:ne})=>{if(Array.isArray(ee))te=ee;else{const ie=judgForFunc(ne,formatTypes,ae);te=ie.args,ae=ie.type}return{args:te,type:ae}},format$4=function(ee,te,ae="text"){if(typeof ee!="string"||arguments.length<2)return ee;let ne,ie;if(isPlainObject$1(te))return fieldFormat(ee,te,ae);const oe=checkParam({data:te,args:ne,type:ae,_arguments:arguments});ne=oe.args,ae=oe.type;const se=/(\\)?\{(\d+)(\\)?}/g,le=getFormatText();return ie=getResult({type:ae,res:ie,formatText:le,string:ee,reg:se,args:ne}),ie},getTruthyValue=({string:ee,length:te,ellipsis:ae})=>{const ne=typeof ee=="string"&&isNumber$2(te)&&te<ee.length,ie=ne&&format$4(ae,ee.substr(0,te));return{flag:ne,truthyValue:ie}},truncate=(ee,te,ae="{0}...")=>{const{flag:ne,truthyValue:ie}=getTruthyValue({string:ee,length:te,ellipsis:ae});return ne?ie:ee},tryToConvert=(ee,te,...ae)=>{const ne=ee.apply(null,ae);return isNaN(ne)?te:ne},toInt=ee=>isNumber$2(ee)?Number(ee.toFixed(0)):typeof ee=="string"?parseInt(ee,10):NaN,tryToInt=(ee,te)=>tryToConvert(toInt,te,ee),toNumber=ee=>isNumber$2(ee)?ee:typeof ee=="string"?parseFloat(ee):NaN,toDecimal=(ee,te=2,ae=!1)=>{let ne=NaN;if(isNumber$2(ee)&&(ne=ee),typeof ee=="string"){const ie=parseFloat(ee);isNaN(ie)||(ne=ie)}return isNumber$2(ne)&&(ae?ne=toFixed(ee.toString().split(".").slice(0,2).map((ie,oe)=>oe?ie.slice(0,te):ie).join("."),te):ne=toFixed(ne,te)),ne},tryToDecimal=(ee,te,ae,ne)=>tryToConvert(toDecimal,ne,ee,te,ae),toCurrency=(ee,te,ae,ne)=>{if(isNumeric$1(ee)){let ie=toDecimal(Number(ee),te,ne);return ie=String(ie).replace(/(^|[^\w.])(\d{4,})/g,(oe,se,le)=>se+le.replace(/\d(?=(?:\d\d\d)+(?!\d))/g,"$&,")),ae?format$4(ae,ie):ie}return NaN},tryToCurrency=(ee,te,ae,ne)=>isNaN(toNumber(ee))?ne:toCurrency(ee,te,ae),toBoolValue=ee=>isNumber$2(ee)?ee?1:0:isNull$2(ee)||ee==="false"?!1:ee==="true"?!0:typeof ee=="boolean"?ee:!!ee,toRate=(ee,te=1,ae=2)=>isNumber$2(ee)&&isNumber$2(te)?toDecimal(Decimal(ee).mul(100).div(te).toNumber(),ae)+"%":ee,toFileSize=(ee,te,ae)=>{if(isNumeric$1(ee)){if(ee=Number(ee),ee===0)return`0${ae||te||"B"}`;const ne=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];let ie=ne.indexOf(ae);if(ie>-1)for(let se=0;se<ie;se++)ee*=1024;ie=ne.indexOf(te),ie<0&&(ie=ne.length-1);let oe=0;for(let se=0;se<ie&&(ee<=-1024||ee>=1024);se++)ee/=1024,oe++;return toDecimal(ee,2)+ne[oe]}return ee},isKorean$1=ee=>/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(ee),omitText=(ee,te,ae)=>{const ie=document.createElement("canvas").getContext("2d");ie.font=te;let oe=ie.measureText(ee),se;if(oe.width<ae)return{t:ee,o:!1};for(let le=-1;;le--)if(se=ee.slice(0,le)+"...",oe=ie.measureText(se),oe.width<ae)return{t:se,o:!0}},daysInMonths=[31,28,31,30,31,30,31,31,30,31,30,31],yyyymmddReg=new RegExp("^(\\d{4})(/|-)(((0)?[1-9])|(1[0-2]))((/|-)(((0)?[1-9])|([1-2][0-9])|(3[0-1])))?( ((0)?[0-9]|1[0-9]|20|21|22|23):([0-5]?[0-9])((:([0-5]?[0-9]))?(.([0-9]{1,6}))?)?)?$"),mmddyyyyReg=new RegExp("^(((0)?[1-9])|(1[0-2]))(/|-)(((0)?[1-9])|([1-2][0-9])|(3[0-1]))?(/|-)?(\\d{4})( ((0)?[0-9]|1[0-9]|20|21|22|23):([0-5]?[0-9])((:([0-5]?[0-9]))?(.([0-9]{1,6}))?)?)?$"),iso8601Reg=new RegExp("^(\\d{4})-(((0)?[1-9])|(1[0-2]))-(((0)?[1-9])|([1-2][0-9])|(3[0-1]))T(((0)?[0-9]|1[0-9]|20|21|22|23):([0-5]?[0-9])((:([0-5]?[0-9]))?(.([0-9]{1,6}))?)?)?(Z|([+-])((0)?[0-9]|1[0-9]|20|21|22|23):?([0-5]?[0-9]))$"),dateFormatRegs={"y{1,4}":/y{1,4}/,"M{1,2}":/M{1,2}/,"d{1,2}":/d{1,2}/,"h{1,2}":/h{1,2}/,"H{1,2}":/H{1,2}/,"m{1,2}":/m{1,2}/,"s{1,2}":/s{1,2}/,"S{1,3}":/S{1,3}/,"Z{1,1}":/Z{1,1}/},maxDateValues={YEAR:9999,MONTH:11,DATE:31,HOUR:23,MINUTE:59,SECOND:59,MILLISECOND:999},timezone1="-12:00,-11:00,-10:00,-09:30,-08:00,-07:00,-06:00,-05:00,-04:30,-04:00,-03:30,-02:00,-01:00",timezone2="-00:00,+00:00,+01:00,+02:00,+03:00,+03:30,+04:00,+04:30,+05:00,+05:30,+05:45,+06:00",timezone3="+06:30,+07:00,+08:00,+09:00,+10:00,+10:30,+11:00,+11:30,+12:00,+12:45,+13:00,+14:00",timezones=[].concat(timezone1.split(","),timezone2.split(","),timezone3.split(",")),getTimezone=ee=>{const te=0-ee.getTimezoneOffset()/60;let ae;return te===0?ae="Z":te>0?ae="+"+(te>10?te:"0"+te)+"00":ae=(te<-10?te:"-0"+-te)+"00",ae},isLeapYear=ee=>ee%400===0||ee%4===0&&ee%100!==0,getMilliseconds=ee=>ee>maxDateValues.MILLISECOND?Number(String(ee).substring(0,3)):ee,getDateFromData=({year:ee,month:te,date:ae,hours:ne,minutes:ie,seconds:oe,milliseconds:se})=>{let le=daysInMonths[te];if(isLeapYear(ee)&&te===1&&(le+=1),ae<=le)return new Date(ee,te,ae,ne,ie,oe,getMilliseconds(se))},yyyymmddDateParser=ee=>{if(ee.length===23){const te=Number(ee[1]),ae=ee[3]-1,ne=Number(ee[9]||1),ie=ee[15]||0,oe=ee[17]||0,se=ee[20]||0,le=ee[22]||0;return getDateFromData({date:ne,year:te,hours:ie,month:ae,seconds:se,minutes:oe,milliseconds:le})}},mmddyyyyDateParser=ee=>{if(ee.length===22){const te=Number(ee[12]),ae=ee[1]-1,ne=Number(ee[6]||1),ie=ee[14]||0,oe=ee[16]||0,se=ee[19]||0,le=ee[21]||0;return getDateFromData({year:te,month:ae,date:ne,hours:ie,minutes:oe,seconds:se,milliseconds:le})}},iso8601DateParser=ee=>{if(ee.length!==25)return;const te=Number(ee[1]),ae=ee[2]-1,ne=Number(ee[6]),ie=new Date(te,ae,ne).getTimezoneOffset(),oe=ee[12]||0,se=ee[14]||0,le=ee[17]||0,ue=ee[19]||0;let ce=ee[20];const de=ee[21],he=ee[22]||0,fe=ee[24]||0;let pe=daysInMonths[ae],ve,ge;if(isLeapYear(te)&&ae===1&&(pe+=1),ne<=pe){if(ce==="Z")ve=oe-ie/60,ge=se;else{if(ce.includes(":")||(ce=ce.substr(0,3)+":"+ce.substr(3)),!timezones.includes(ce))return;ve=de==="+"?oe-he-ie/60:Number(oe)+Number(he)-ie/60,ge=de==="+"?se-fe:Number(se)+Number(fe)}return new Date(te,ae,ne,ve,ge,le,getMilliseconds(ue))}},dateParsers=[[yyyymmddReg,yyyymmddDateParser],[mmddyyyyReg,mmddyyyyDateParser],[iso8601Reg,iso8601DateParser]],parseDate$2=ee=>{for(let te=0,ae=dateParsers.length;te<ae;te++){const ne=dateParsers[te][0].exec(ee);if(ne&&ne.length>0)return dateParsers[te][1](ne)}},matchDateArray=(ee,te,ae)=>{if(ae)switch(ae){case"yyyy":case"yy":ee[0]=te;break;case"M":case"MM":ee[1]=te-1;break;case"d":case"dd":ee[2]=te;break;case"h":case"hh":ee[3]=te;break;case"m":case"mm":ee[4]=te;break;case"s":case"ss":ee[5]=te;break;case"S":case"SS":case"SSS":ee[6]=te;break}},getDateArray=(ee,te)=>{const ae=[0,-1,0,0,0,0];if(ee.length!==te.length)return ae;let ne=0,ie=0;for(let oe=0,se=ee.length;oe<se;oe++){const le=ee.substr(oe,1),ue=isNaN(Number(le))||le.trim()==="";if(ue&&le===te.substr(oe,1)||oe===se-1){let ce,de;if(ue){ce=ee.substring(ne,oe),ne=oe+1;const he=te.indexOf(le,ie);de=te.substring(ie,he===-1?te.length:he),ie=he+1}else ce=ee.substring(ne,se),de=te.substring(ie,se);(ce.length===de.length||ce)&&matchDateArray(ae,ce,de)}}return ae},invalideTime=(ee,te,ae)=>isNaN(ee)||ee<te||ee>ae,invalideValue=({year:ee,month:te,date:ae,hours:ne,minutes:ie,seconds:oe,milliseconds:se})=>invalideTime(ee,0,maxDateValues.YEAR)||invalideTime(te,0,maxDateValues.MONTH)||invalideTime(ae,0,maxDateValues.DATE)||invalideTime(ne,0,maxDateValues.HOUR)||invalideTime(ie,0,maxDateValues.MINUTE)||invalideTime(oe,0,maxDateValues.SECOND)||invalideTime(se,0,maxDateValues.MILLISECOND),innerParse=(ee,te)=>{if(typeof te=="string"){const ae=getDateArray(ee,te),ne=Number(ae[0]),ie=Number(ae[1]),oe=Number(ae[2]||1),se=Number(ae[3]||0),le=Number(ae[4]||0),ue=Number(ae[5]||0),ce=Number(ae[6]||0);return invalideValue({year:ne,month:ie,date:oe,hours:se,minutes:le,seconds:ue,milliseconds:ce})?void 0:getDateFromData({year:ne,date:oe,month:ie,minutes:le,hours:se,milliseconds:ce,seconds:ue})}else return parseDate$2(ee)},toDate$1=(ee,te,ae)=>{let ne;if(isNumber$2(ee)?ne=new Date(ee):typeof ee=="string"&&(ne=innerParse(ee,te)),ae){const ie=ae&&toDate$1(ae)||new Date(1,1,1,0,0,0);return ne&&ne<ie?ie:ne}return ne},format$3=function(ee,te="yyyy/MM/dd hh:mm:ss"){if(isDate$2(ee)){if(typeof te=="string"){const ae={"y{1,4}":ee.getFullYear(),"M{1,2}":ee.getMonth()+1,"d{1,2}":ee.getDate(),"h{1,2}":ee.getHours(),"H{1,2}":ee.getHours(),"m{1,2}":ee.getMinutes(),"s{1,2}":ee.getSeconds(),"S{1,3}":ee.getMilliseconds(),"Z{1,1}":getTimezone(ee)};return Object.keys(ae).forEach(ne=>{const ie=te.match(dateFormatRegs[ne]);ne&&ie&&ie.length&&(te=te.replace(ie[0],ne==="Z{1,1}"?ae[ne]:fillChar(ae[ne].toString(),ie[0].length)))}),te}}else if(typeof ee=="string"&&arguments.length>=2){let ae=te;arguments.length===2?te=void 0:ae=arguments[2];const ne=toDate$1(ee,te);return ne?format$3(ne,ae):""}},getDateWithNewTimezone=(ee,te,ae,ne=0)=>{if(!isDate$2(ee)||!isNumeric$1(te)||!isNumeric$1(ae)||!isNumeric$1(ne))return;const ie=-te*60,oe=-ae*60,se=ne*60,le=ee.getTime()+ie*6e4;return new Date(le-(oe-se)*6e4)},toDateStr=(ee,te,ae)=>(ee&&isNumeric$1(ae)&&(ae=parseFloat(parseFloat(ae).toFixed(2)),ee=getDateWithNewTimezone(isDate$2(ee)?ee:new Date(toDate$1(ee)),0,ae)),format$3(ee,te)),TZRE$1=/(-|\+)(\d{2}):?(\d{2})$/,getLocalTimezone=()=>0-new Date().getTimezoneOffset()/60,getStrTimezone$1=ee=>{const te=getLocalTimezone(),ae=typeof ee=="string"&&ee.match(TZRE$1);return ae&&(ee=(Number(ae[2])+Number(ae[3])/60)*`${ae[1]}1`),isNumber$2(ee)&&ee>=-12&&ee<=12?ee:te};var lib$1={exports:{}},_default$1={},lib={exports:{}},_default={};function getDefaultWhiteList$1(){var ee={};return ee["align-content"]=!1,ee["align-items"]=!1,ee["align-self"]=!1,ee["alignment-adjust"]=!1,ee["alignment-baseline"]=!1,ee.all=!1,ee["anchor-point"]=!1,ee.animation=!1,ee["animation-delay"]=!1,ee["animation-direction"]=!1,ee["animation-duration"]=!1,ee["animation-fill-mode"]=!1,ee["animation-iteration-count"]=!1,ee["animation-name"]=!1,ee["animation-play-state"]=!1,ee["animation-timing-function"]=!1,ee.azimuth=!1,ee["backface-visibility"]=!1,ee.background=!0,ee["background-attachment"]=!0,ee["background-clip"]=!0,ee["background-color"]=!0,ee["background-image"]=!0,ee["background-origin"]=!0,ee["background-position"]=!0,ee["background-repeat"]=!0,ee["background-size"]=!0,ee["baseline-shift"]=!1,ee.binding=!1,ee.bleed=!1,ee["bookmark-label"]=!1,ee["bookmark-level"]=!1,ee["bookmark-state"]=!1,ee.border=!0,ee["border-bottom"]=!0,ee["border-bottom-color"]=!0,ee["border-bottom-left-radius"]=!0,ee["border-bottom-right-radius"]=!0,ee["border-bottom-style"]=!0,ee["border-bottom-width"]=!0,ee["border-collapse"]=!0,ee["border-color"]=!0,ee["border-image"]=!0,ee["border-image-outset"]=!0,ee["border-image-repeat"]=!0,ee["border-image-slice"]=!0,ee["border-image-source"]=!0,ee["border-image-width"]=!0,ee["border-left"]=!0,ee["border-left-color"]=!0,ee["border-left-style"]=!0,ee["border-left-width"]=!0,ee["border-radius"]=!0,ee["border-right"]=!0,ee["border-right-color"]=!0,ee["border-right-style"]=!0,ee["border-right-width"]=!0,ee["border-spacing"]=!0,ee["border-style"]=!0,ee["border-top"]=!0,ee["border-top-color"]=!0,ee["border-top-left-radius"]=!0,ee["border-top-right-radius"]=!0,ee["border-top-style"]=!0,ee["border-top-width"]=!0,ee["border-width"]=!0,ee.bottom=!1,ee["box-decoration-break"]=!0,ee["box-shadow"]=!0,ee["box-sizing"]=!0,ee["box-snap"]=!0,ee["box-suppress"]=!0,ee["break-after"]=!0,ee["break-before"]=!0,ee["break-inside"]=!0,ee["caption-side"]=!1,ee.chains=!1,ee.clear=!0,ee.clip=!1,ee["clip-path"]=!1,ee["clip-rule"]=!1,ee.color=!0,ee["color-interpolation-filters"]=!0,ee["column-count"]=!1,ee["column-fill"]=!1,ee["column-gap"]=!1,ee["column-rule"]=!1,ee["column-rule-color"]=!1,ee["column-rule-style"]=!1,ee["column-rule-width"]=!1,ee["column-span"]=!1,ee["column-width"]=!1,ee.columns=!1,ee.contain=!1,ee.content=!1,ee["counter-increment"]=!1,ee["counter-reset"]=!1,ee["counter-set"]=!1,ee.crop=!1,ee.cue=!1,ee["cue-after"]=!1,ee["cue-before"]=!1,ee.cursor=!1,ee.direction=!1,ee.display=!0,ee["display-inside"]=!0,ee["display-list"]=!0,ee["display-outside"]=!0,ee["dominant-baseline"]=!1,ee.elevation=!1,ee["empty-cells"]=!1,ee.filter=!1,ee.flex=!1,ee["flex-basis"]=!1,ee["flex-direction"]=!1,ee["flex-flow"]=!1,ee["flex-grow"]=!1,ee["flex-shrink"]=!1,ee["flex-wrap"]=!1,ee.float=!1,ee["float-offset"]=!1,ee["flood-color"]=!1,ee["flood-opacity"]=!1,ee["flow-from"]=!1,ee["flow-into"]=!1,ee.font=!0,ee["font-family"]=!0,ee["font-feature-settings"]=!0,ee["font-kerning"]=!0,ee["font-language-override"]=!0,ee["font-size"]=!0,ee["font-size-adjust"]=!0,ee["font-stretch"]=!0,ee["font-style"]=!0,ee["font-synthesis"]=!0,ee["font-variant"]=!0,ee["font-variant-alternates"]=!0,ee["font-variant-caps"]=!0,ee["font-variant-east-asian"]=!0,ee["font-variant-ligatures"]=!0,ee["font-variant-numeric"]=!0,ee["font-variant-position"]=!0,ee["font-weight"]=!0,ee.grid=!1,ee["grid-area"]=!1,ee["grid-auto-columns"]=!1,ee["grid-auto-flow"]=!1,ee["grid-auto-rows"]=!1,ee["grid-column"]=!1,ee["grid-column-end"]=!1,ee["grid-column-start"]=!1,ee["grid-row"]=!1,ee["grid-row-end"]=!1,ee["grid-row-start"]=!1,ee["grid-template"]=!1,ee["grid-template-areas"]=!1,ee["grid-template-columns"]=!1,ee["grid-template-rows"]=!1,ee["hanging-punctuation"]=!1,ee.height=!0,ee.hyphens=!1,ee.icon=!1,ee["image-orientation"]=!1,ee["image-resolution"]=!1,ee["ime-mode"]=!1,ee["initial-letters"]=!1,ee["inline-box-align"]=!1,ee["justify-content"]=!1,ee["justify-items"]=!1,ee["justify-self"]=!1,ee.left=!1,ee["letter-spacing"]=!0,ee["lighting-color"]=!0,ee["line-box-contain"]=!1,ee["line-break"]=!1,ee["line-grid"]=!1,ee["line-height"]=!1,ee["line-snap"]=!1,ee["line-stacking"]=!1,ee["line-stacking-ruby"]=!1,ee["line-stacking-shift"]=!1,ee["line-stacking-strategy"]=!1,ee["list-style"]=!0,ee["list-style-image"]=!0,ee["list-style-position"]=!0,ee["list-style-type"]=!0,ee.margin=!0,ee["margin-bottom"]=!0,ee["margin-left"]=!0,ee["margin-right"]=!0,ee["margin-top"]=!0,ee["marker-offset"]=!1,ee["marker-side"]=!1,ee.marks=!1,ee.mask=!1,ee["mask-box"]=!1,ee["mask-box-outset"]=!1,ee["mask-box-repeat"]=!1,ee["mask-box-slice"]=!1,ee["mask-box-source"]=!1,ee["mask-box-width"]=!1,ee["mask-clip"]=!1,ee["mask-image"]=!1,ee["mask-origin"]=!1,ee["mask-position"]=!1,ee["mask-repeat"]=!1,ee["mask-size"]=!1,ee["mask-source-type"]=!1,ee["mask-type"]=!1,ee["max-height"]=!0,ee["max-lines"]=!1,ee["max-width"]=!0,ee["min-height"]=!0,ee["min-width"]=!0,ee["move-to"]=!1,ee["nav-down"]=!1,ee["nav-index"]=!1,ee["nav-left"]=!1,ee["nav-right"]=!1,ee["nav-up"]=!1,ee["object-fit"]=!1,ee["object-position"]=!1,ee.opacity=!1,ee.order=!1,ee.orphans=!1,ee.outline=!1,ee["outline-color"]=!1,ee["outline-offset"]=!1,ee["outline-style"]=!1,ee["outline-width"]=!1,ee.overflow=!1,ee["overflow-wrap"]=!1,ee["overflow-x"]=!1,ee["overflow-y"]=!1,ee.padding=!0,ee["padding-bottom"]=!0,ee["padding-left"]=!0,ee["padding-right"]=!0,ee["padding-top"]=!0,ee.page=!1,ee["page-break-after"]=!1,ee["page-break-before"]=!1,ee["page-break-inside"]=!1,ee["page-policy"]=!1,ee.pause=!1,ee["pause-after"]=!1,ee["pause-before"]=!1,ee.perspective=!1,ee["perspective-origin"]=!1,ee.pitch=!1,ee["pitch-range"]=!1,ee["play-during"]=!1,ee.position=!1,ee["presentation-level"]=!1,ee.quotes=!1,ee["region-fragment"]=!1,ee.resize=!1,ee.rest=!1,ee["rest-after"]=!1,ee["rest-before"]=!1,ee.richness=!1,ee.right=!1,ee.rotation=!1,ee["rotation-point"]=!1,ee["ruby-align"]=!1,ee["ruby-merge"]=!1,ee["ruby-position"]=!1,ee["shape-image-threshold"]=!1,ee["shape-outside"]=!1,ee["shape-margin"]=!1,ee.size=!1,ee.speak=!1,ee["speak-as"]=!1,ee["speak-header"]=!1,ee["speak-numeral"]=!1,ee["speak-punctuation"]=!1,ee["speech-rate"]=!1,ee.stress=!1,ee["string-set"]=!1,ee["tab-size"]=!1,ee["table-layout"]=!1,ee["text-align"]=!0,ee["text-align-last"]=!0,ee["text-combine-upright"]=!0,ee["text-decoration"]=!0,ee["text-decoration-color"]=!0,ee["text-decoration-line"]=!0,ee["text-decoration-skip"]=!0,ee["text-decoration-style"]=!0,ee["text-emphasis"]=!0,ee["text-emphasis-color"]=!0,ee["text-emphasis-position"]=!0,ee["text-emphasis-style"]=!0,ee["text-height"]=!0,ee["text-indent"]=!0,ee["text-justify"]=!0,ee["text-orientation"]=!0,ee["text-overflow"]=!0,ee["text-shadow"]=!0,ee["text-space-collapse"]=!0,ee["text-transform"]=!0,ee["text-underline-position"]=!0,ee["text-wrap"]=!0,ee.top=!1,ee.transform=!1,ee["transform-origin"]=!1,ee["transform-style"]=!1,ee.transition=!1,ee["transition-delay"]=!1,ee["transition-duration"]=!1,ee["transition-property"]=!1,ee["transition-timing-function"]=!1,ee["unicode-bidi"]=!1,ee["vertical-align"]=!1,ee.visibility=!1,ee["voice-balance"]=!1,ee["voice-duration"]=!1,ee["voice-family"]=!1,ee["voice-pitch"]=!1,ee["voice-range"]=!1,ee["voice-rate"]=!1,ee["voice-stress"]=!1,ee["voice-volume"]=!1,ee.volume=!1,ee["white-space"]=!1,ee.widows=!1,ee.width=!0,ee["will-change"]=!1,ee["word-break"]=!0,ee["word-spacing"]=!0,ee["word-wrap"]=!0,ee["wrap-flow"]=!1,ee["wrap-through"]=!1,ee["writing-mode"]=!1,ee["z-index"]=!1,ee}function onAttr(ee,te,ae){}function onIgnoreAttr(ee,te,ae){}var REGEXP_URL_JAVASCRIPT=/javascript\s*\:/img;function safeAttrValue$1(ee,te){return REGEXP_URL_JAVASCRIPT.test(te)?"":te}_default.whiteList=getDefaultWhiteList$1();_default.getDefaultWhiteList=getDefaultWhiteList$1;_default.onAttr=onAttr;_default.onIgnoreAttr=onIgnoreAttr;_default.safeAttrValue=safeAttrValue$1;var util$3={indexOf:function(ee,te){var ae,ne;if(Array.prototype.indexOf)return ee.indexOf(te);for(ae=0,ne=ee.length;ae<ne;ae++)if(ee[ae]===te)return ae;return-1},forEach:function(ee,te,ae){var ne,ie;if(Array.prototype.forEach)return ee.forEach(te,ae);for(ne=0,ie=ee.length;ne<ie;ne++)te.call(ae,ee[ne],ne,ee)},trim:function(ee){return String.prototype.trim?ee.trim():ee.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(ee){return String.prototype.trimRight?ee.trimRight():ee.replace(/(\s*$)/g,"")}},_$3=util$3;function parseStyle$1(ee,te){ee=_$3.trimRight(ee),ee[ee.length-1]!==";"&&(ee+=";");var ae=ee.length,ne=!1,ie=0,oe=0,se="";function le(){if(!ne){var de=_$3.trim(ee.slice(ie,oe)),he=de.indexOf(":");if(he!==-1){var fe=_$3.trim(de.slice(0,he)),pe=_$3.trim(de.slice(he+1));if(fe){var ve=te(ie,se.length,fe,pe,de);ve&&(se+=ve+"; ")}}}ie=oe+1}for(;oe<ae;oe++){var ue=ee[oe];if(ue==="/"&&ee[oe+1]==="*"){var ce=ee.indexOf("*/",oe+2);if(ce===-1)break;oe=ce+1,ie=oe+1,ne=!1}else ue==="("?ne=!0:ue===")"?ne=!1:ue===";"?ne||le():ue===`
-`&&le()}return _$3.trim(se)}var parser$2=parseStyle$1,DEFAULT$1=_default,parseStyle=parser$2;function isNull$1(ee){return ee==null}function shallowCopyObject$1(ee){var te={};for(var ae in ee)te[ae]=ee[ae];return te}function FilterCSS$2(ee){ee=shallowCopyObject$1(ee||{}),ee.whiteList=ee.whiteList||DEFAULT$1.whiteList,ee.onAttr=ee.onAttr||DEFAULT$1.onAttr,ee.onIgnoreAttr=ee.onIgnoreAttr||DEFAULT$1.onIgnoreAttr,ee.safeAttrValue=ee.safeAttrValue||DEFAULT$1.safeAttrValue,this.options=ee}FilterCSS$2.prototype.process=function(ee){if(ee=ee||"",ee=ee.toString(),!ee)return"";var te=this,ae=te.options,ne=ae.whiteList,ie=ae.onAttr,oe=ae.onIgnoreAttr,se=ae.safeAttrValue,le=parseStyle(ee,function(ue,ce,de,he,fe){var pe=ne[de],ve=!1;if(pe===!0?ve=pe:typeof pe=="function"?ve=pe(he):pe instanceof RegExp&&(ve=pe.test(he)),ve!==!0&&(ve=!1),he=se(de,he),!!he){var ge={position:ce,sourcePosition:ue,source:fe,isWhite:ve};if(ve){var me=ie(de,he,ge);return isNull$1(me)?de+":"+he:me}else{var me=oe(de,he,ge);if(!isNull$1(me))return me}}});return le};var css=FilterCSS$2;(function(ee,te){var ae=_default,ne=css;function ie(se,le){var ue=new ne(le);return ue.process(se)}te=ee.exports=ie,te.FilterCSS=ne;for(var oe in ae)te[oe]=ae[oe];typeof window<"u"&&(window.filterCSS=ee.exports)})(lib,lib.exports);var libExports$1=lib.exports,util$2={indexOf:function(ee,te){var ae,ne;if(Array.prototype.indexOf)return ee.indexOf(te);for(ae=0,ne=ee.length;ae<ne;ae++)if(ee[ae]===te)return ae;return-1},forEach:function(ee,te,ae){var ne,ie;if(Array.prototype.forEach)return ee.forEach(te,ae);for(ne=0,ie=ee.length;ne<ie;ne++)te.call(ae,ee[ne],ne,ee)},trim:function(ee){return String.prototype.trim?ee.trim():ee.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(ee){var te=/\s|\n|\t/,ae=te.exec(ee);return ae?ae.index:-1}},FilterCSS$1=libExports$1.FilterCSS,getDefaultCSSWhiteList=libExports$1.getDefaultWhiteList,_$2=util$2;function getDefaultWhiteList(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]}}var defaultCSSFilter=new FilterCSS$1;function onTag(ee,te,ae){}function onIgnoreTag(ee,te,ae){}function onTagAttr(ee,te,ae){}function onIgnoreTagAttr(ee,te,ae){}function escapeHtml(ee){return ee.replace(REGEXP_LT,"&lt;").replace(REGEXP_GT,"&gt;")}function safeAttrValue(ee,te,ae,ne){if(ae=friendlyAttrValue(ae),te==="href"||te==="src"){if(ae=_$2.trim(ae),ae==="#")return"#";if(!(ae.substr(0,7)==="http://"||ae.substr(0,8)==="https://"||ae.substr(0,7)==="mailto:"||ae.substr(0,4)==="tel:"||ae.substr(0,11)==="data:image/"||ae.substr(0,6)==="ftp://"||ae.substr(0,2)==="./"||ae.substr(0,3)==="../"||ae[0]==="#"||ae[0]==="/"))return""}else if(te==="background"){if(REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0,REGEXP_DEFAULT_ON_TAG_ATTR_4.test(ae))return""}else if(te==="style"){if(REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex=0,REGEXP_DEFAULT_ON_TAG_ATTR_7.test(ae)||(REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex=0,REGEXP_DEFAULT_ON_TAG_ATTR_8.test(ae)&&(REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex=0,REGEXP_DEFAULT_ON_TAG_ATTR_4.test(ae))))return"";ne!==!1&&(ne=ne||defaultCSSFilter,ae=ne.process(ae))}return ae=escapeAttrValue(ae),ae}var REGEXP_LT=/</g,REGEXP_GT=/>/g,REGEXP_QUOTE=/"/g,REGEXP_QUOTE_2=/&quot;/g,REGEXP_ATTR_VALUE_1=/&#([a-zA-Z0-9]*);?/gim,REGEXP_ATTR_VALUE_COLON=/&colon;?/gim,REGEXP_ATTR_VALUE_NEWLINE=/&newline;?/gim,REGEXP_DEFAULT_ON_TAG_ATTR_4=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,REGEXP_DEFAULT_ON_TAG_ATTR_7=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,REGEXP_DEFAULT_ON_TAG_ATTR_8=/u\s*r\s*l\s*\(.*/gi;function escapeQuote(ee){return ee.replace(REGEXP_QUOTE,"&quot;")}function unescapeQuote(ee){return ee.replace(REGEXP_QUOTE_2,'"')}function escapeHtmlEntities(ee){return ee.replace(REGEXP_ATTR_VALUE_1,function(ae,ne){return ne[0]==="x"||ne[0]==="X"?String.fromCharCode(parseInt(ne.substr(1),16)):String.fromCharCode(parseInt(ne,10))})}function escapeDangerHtml5Entities(ee){return ee.replace(REGEXP_ATTR_VALUE_COLON,":").replace(REGEXP_ATTR_VALUE_NEWLINE," ")}function clearNonPrintableCharacter(ee){for(var te="",ae=0,ne=ee.length;ae<ne;ae++)te+=ee.charCodeAt(ae)<32?" ":ee.charAt(ae);return _$2.trim(te)}function friendlyAttrValue(ee){return ee=unescapeQuote(ee),ee=escapeHtmlEntities(ee),ee=escapeDangerHtml5Entities(ee),ee=clearNonPrintableCharacter(ee),ee}function escapeAttrValue(ee){return ee=escapeQuote(ee),ee=escapeHtml(ee),ee}function onIgnoreTagStripAll(){return""}function StripTagBody(ee,te){typeof te!="function"&&(te=function(){});var ae=!Array.isArray(ee);function ne(se){return ae?!0:_$2.indexOf(ee,se)!==-1}var ie=[],oe=!1;return{onIgnoreTag:function(se,le,ue){if(ne(se))if(ue.isClosing){var ce="[/removed]",de=ue.position+ce.length;return ie.push([oe!==!1?oe:ue.position,de]),oe=!1,ce}else return oe||(oe=ue.position),"[removed]";else return te(se,le,ue)},remove:function(se){var le="",ue=0;return _$2.forEach(ie,function(ce){le+=se.slice(ue,ce[0]),ue=ce[1]}),le+=se.slice(ue),le}}}function stripCommentTag(ee){for(var te="",ae=0;ae<ee.length;){var ne=ee.indexOf("<!--",ae);if(ne===-1){te+=ee.slice(ae);break}te+=ee.slice(ae,ne);var ie=ee.indexOf("-->",ne);if(ie===-1)break;ae=ie+3}return te}function stripBlankChar(ee){var te=ee.split("");return te=te.filter(function(ae){var ne=ae.charCodeAt(0);return ne===127?!1:ne<=31?ne===10||ne===13:!0}),te.join("")}_default$1.whiteList=getDefaultWhiteList();_default$1.getDefaultWhiteList=getDefaultWhiteList;_default$1.onTag=onTag;_default$1.onIgnoreTag=onIgnoreTag;_default$1.onTagAttr=onTagAttr;_default$1.onIgnoreTagAttr=onIgnoreTagAttr;_default$1.safeAttrValue=safeAttrValue;_default$1.escapeHtml=escapeHtml;_default$1.escapeQuote=escapeQuote;_default$1.unescapeQuote=unescapeQuote;_default$1.escapeHtmlEntities=escapeHtmlEntities;_default$1.escapeDangerHtml5Entities=escapeDangerHtml5Entities;_default$1.clearNonPrintableCharacter=clearNonPrintableCharacter;_default$1.friendlyAttrValue=friendlyAttrValue;_default$1.escapeAttrValue=escapeAttrValue;_default$1.onIgnoreTagStripAll=onIgnoreTagStripAll;_default$1.StripTagBody=StripTagBody;_default$1.stripCommentTag=stripCommentTag;_default$1.stripBlankChar=stripBlankChar;_default$1.cssFilter=defaultCSSFilter;_default$1.getDefaultCSSWhiteList=getDefaultCSSWhiteList;var parser$1={},_$1=util$2;function getTagName(ee){var te=_$1.spaceIndex(ee);if(te===-1)var ae=ee.slice(1,-1);else var ae=ee.slice(1,te+1);return ae=_$1.trim(ae).toLowerCase(),ae.slice(0,1)==="/"&&(ae=ae.slice(1)),ae.slice(-1)==="/"&&(ae=ae.slice(0,-1)),ae}function isClosing(ee){return ee.slice(0,2)==="</"}function parseTag$1(ee,te,ae){var ne="",ie=0,oe=!1,se=!1,le=0,ue=ee.length,ce="",de="";e:for(le=0;le<ue;le++){var he=ee.charAt(le);if(oe===!1){if(he==="<"){oe=le;continue}}else if(se===!1){if(he==="<"){ne+=ae(ee.slice(ie,le)),oe=le,ie=le;continue}if(he===">"){ne+=ae(ee.slice(ie,oe)),de=ee.slice(oe,le+1),ce=getTagName(de),ne+=te(oe,ne.length,ce,de,isClosing(de)),ie=le+1,oe=!1;continue}if(he==='"'||he==="'")for(var fe=1,pe=ee.charAt(le-fe);pe.trim()===""||pe==="=";){if(pe==="="){se=he;continue e}pe=ee.charAt(le-++fe)}}else if(he===se){se=!1;continue}}return ie<ee.length&&(ne+=ae(ee.substr(ie))),ne}var REGEXP_ILLEGAL_ATTR_NAME=/[^a-zA-Z0-9_:\.\-]/gim;function parseAttr$1(ee,te){var ae=0,ne=[],ie=!1,oe=ee.length;function se(he,fe){if(he=_$1.trim(he),he=he.replace(REGEXP_ILLEGAL_ATTR_NAME,"").toLowerCase(),!(he.length<1)){var pe=te(he,fe||"");pe&&ne.push(pe)}}for(var le=0;le<oe;le++){var ue=ee.charAt(le),ce,de;if(ie===!1&&ue==="="){ie=ee.slice(ae,le),ae=le+1;continue}if(ie!==!1&&le===ae&&(ue==='"'||ue==="'")&&ee.charAt(le-1)==="="){if(de=ee.indexOf(ue,le+1),de===-1)break;ce=_$1.trim(ee.slice(ae+1,de)),se(ie,ce),ie=!1,le=de,ae=le+1;continue}if(/\s|\n|\t/.test(ue))if(ee=ee.replace(/\s|\n|\t/g," "),ie===!1)if(de=findNextEqual(ee,le),de===-1){ce=_$1.trim(ee.slice(ae,le)),se(ce),ie=!1,ae=le+1;continue}else{le=de-1;continue}else if(de=findBeforeEqual(ee,le-1),de===-1){ce=_$1.trim(ee.slice(ae,le)),ce=stripQuoteWrap(ce),se(ie,ce),ie=!1,ae=le+1;continue}else continue}return ae<ee.length&&(ie===!1?se(ee.slice(ae)):se(ie,stripQuoteWrap(_$1.trim(ee.slice(ae))))),_$1.trim(ne.join(" "))}function findNextEqual(ee,te){for(;te<ee.length;te++){var ae=ee[te];if(ae!==" ")return ae==="="?te:-1}}function findBeforeEqual(ee,te){for(;te>0;te--){var ae=ee[te];if(ae!==" ")return ae==="="?te:-1}}function isQuoteWrapString(ee){return ee[0]==='"'&&ee[ee.length-1]==='"'||ee[0]==="'"&&ee[ee.length-1]==="'"}function stripQuoteWrap(ee){return isQuoteWrapString(ee)?ee.substr(1,ee.length-2):ee}parser$1.parseTag=parseTag$1;parser$1.parseAttr=parseAttr$1;var FilterCSS=libExports$1.FilterCSS,DEFAULT=_default$1,parser=parser$1,parseTag=parser.parseTag,parseAttr=parser.parseAttr,_=util$2;function isNull(ee){return ee==null}function getAttrs(ee){var te=_.spaceIndex(ee);if(te===-1)return{html:"",closing:ee[ee.length-2]==="/"};ee=_.trim(ee.slice(te+1,-1));var ae=ee[ee.length-1]==="/";return ae&&(ee=_.trim(ee.slice(0,-1))),{html:ee,closing:ae}}function shallowCopyObject(ee){var te={};for(var ae in ee)te[ae]=ee[ae];return te}function FilterXSS(ee){ee=shallowCopyObject(ee||{}),ee.stripIgnoreTag&&(ee.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),ee.onIgnoreTag=DEFAULT.onIgnoreTagStripAll),ee.whiteList=ee.whiteList||ee.allowList||DEFAULT.whiteList,ee.onTag=ee.onTag||DEFAULT.onTag,ee.onTagAttr=ee.onTagAttr||DEFAULT.onTagAttr,ee.onIgnoreTag=ee.onIgnoreTag||DEFAULT.onIgnoreTag,ee.onIgnoreTagAttr=ee.onIgnoreTagAttr||DEFAULT.onIgnoreTagAttr,ee.safeAttrValue=ee.safeAttrValue||DEFAULT.safeAttrValue,ee.escapeHtml=ee.escapeHtml||DEFAULT.escapeHtml,this.options=ee,ee.css===!1?this.cssFilter=!1:(ee.css=ee.css||{},this.cssFilter=new FilterCSS(ee.css))}FilterXSS.prototype.process=function(ee){if(ee=ee||"",ee=ee.toString(),!ee)return"";var te=this,ae=te.options,ne=ae.whiteList,ie=ae.onTag,oe=ae.onIgnoreTag,se=ae.onTagAttr,le=ae.onIgnoreTagAttr,ue=ae.safeAttrValue,ce=ae.escapeHtml,de=te.cssFilter;ae.stripBlankChar&&(ee=DEFAULT.stripBlankChar(ee)),ae.allowCommentTag||(ee=DEFAULT.stripCommentTag(ee));var he=!1;if(ae.stripIgnoreTagBody){var he=DEFAULT.StripTagBody(ae.stripIgnoreTagBody,oe);oe=he.onIgnoreTag}var fe=parseTag(ee,function(pe,ve,ge,me,ye){var _e={sourcePosition:pe,position:ve,isClosing:ye,isWhite:ne.hasOwnProperty(ge)},be=ie(ge,me,_e);if(!isNull(be))return be;if(_e.isWhite){if(_e.isClosing)return"</"+ge+">";var xe=getAttrs(me),$e=ne[ge],Se=parseAttr(xe.html,function(Ae,Te){var De=_.indexOf($e,Ae)!==-1,Me=se(ge,Ae,Te,De);if(!isNull(Me))return Me;if(De)return Te=ue(ge,Ae,Te,de),Te?Ae+'="'+Te+'"':Ae;var Me=le(ge,Ae,Te,De);return isNull(Me)?void 0:Me}),me="<"+ge;return Se&&(me+=" "+Se),xe.closing&&(me+=" /"),me+=">",me}else{var be=oe(ge,me,_e);return isNull(be)?ce(me):be}},ce);return he&&(fe=he.remove(fe)),fe};var xss$1=FilterXSS;(function(ee,te){var ae=_default$1,ne=parser$1,ie=xss$1;function oe(ue,ce){var de=new ie(ce);return de.process(ue)}te=ee.exports=oe,te.filterXSS=oe,te.FilterXSS=ie;for(var se in ae)te[se]=ae[se];for(var se in ne)te[se]=ne[se];typeof window<"u"&&(window.filterXSS=ee.exports);function le(){return typeof self<"u"&&typeof DedicatedWorkerGlobalScope<"u"&&self instanceof DedicatedWorkerGlobalScope}le()&&(self.filterXSS=ee.exports)})(lib$1,lib$1.exports);var libExports=lib$1.exports;let getWindow=function(){return typeof window>"u"?global:window},xssOptions={enableAttrs:!0,enableHtml:!0,enableUrl:!0,html:{whiteList:{a:["class","style","contenteditable","data-id","data-title","data-size","data-last-modified"],address:["class","style"],area:["class","style"],article:["class","style"],aside:["class","style"],audio:["class","style"],b:["class","style"],bdi:["class","style"],bdo:["class","style"],big:["class","style"],blockquote:["class","style"],br:["class","style"],caption:["class","style"],center:["class","style"],cite:["class","style"],code:["class","style"],col:["class","style"],colgroup:["class","style"],dd:["class","style"],del:["class","style"],details:["class","style"],div:["class","style","spellcheck","data-gramm","spellcheck","data-mode","data-position","data-row","data-cell","data-rowspan","data-colspan","data-cell-bg","data-parent-bg"],dl:["class","style"],dt:["class","style"],em:["class","style"],figcaption:["class","style"],figure:["class","style"],font:["class","style"],footer:["class","style"],h1:["class","style"],h2:["class","style"],h3:["class","style"],h4:["class","style"],h5:["class","style"],h6:["class","style"],header:["class","style"],hr:["class","style"],i:["class","style","data-image-id","data-image"],img:["class","style","devui-editorx-image","style","data-image-id"],input:["class","style","data-formula","data-link","data-video"],ins:["class","style"],li:["class","style"],mark:["class","style"],nav:["class","style"],ol:["class","style"],p:["class","style"],pre:["class","style"],s:["class","style"],section:["class","style"],small:["class","style"],span:["class","style","contenteditable","color","style"],sub:["class","style"],summary:["class","style"],sup:["class","style"],strong:["class","style"],strike:["class","style"],svg:["class","style","t","viewBox","version","xmlns","p-id","xmlns:xlink"],path:["d","p-id"],table:["class","style"],tbody:["class","style"],td:["class","style","data-row","data-cell","data-cell-bg","data-parent-bg"],tfoot:["class","style"],th:["class","style"],thead:["class","style"],tr:["class","style","data-row"],tt:["class","style"],u:["class","style"],ul:["class","style"],video:["class","style"]}}},defaultWhiteList=libExports.getDefaultWhiteList&&libExports.getDefaultWhiteList()||{};xssOptions.html.whiteList=Object.assign(defaultWhiteList,xssOptions.html.whiteList);let xssFilterHtml=new libExports.FilterXSS(xssOptions.html),getXssOption=function(){return xssOptions},setXssOption=function(ee){let te,ae;!((te=ee==null?void 0:ee.html)===null||te===void 0)&&te.whiteList&&(ae=Object.assign(xssOptions.html.whiteList,ee.html.whiteList)),xssOptions=Object.assign(xssOptions,ee),ae&&(xssOptions.html.whiteList=ae),xssFilterHtml=new libExports.FilterXSS(xssOptions.html)},filterHtml=function(ee){return!xssOptions.enableHtml||typeof ee!="string"?ee:xssFilterHtml.process(ee)},setFilterHtml=function(ee){filterHtml=ee},filterAttrs$1=function(ee){return!xssOptions.enableAttrs||typeof ee!="string"?ee:ee.replace(/<.*?>/gi,"").replace(/on[a-z]+=/gi,"")},setFilterAttrs=function(ee){filterAttrs$1=ee},filterUrl=function(ee){if(!xssOptions.enableUrl||typeof ee!="string")return ee;let te=ee.replace(/&#(\w+)(^\w|;)?/g,(ne,ie)=>String.fromCharCode(ie)).trim();if(!te)return"";if([".","/"].includes(te[0]))return te;let ae=te.match(/^([^:]+):/gm);return ae&&/^([^\w]*)(javascript|data|vbscript)/im.test(ae[0])?"":te},setFilterUrl=function(ee){filterUrl=ee},index$1g={getXssOption,setXssOption,filterHtml,setFilterHtml,filterAttrs:filterAttrs$1,setFilterAttrs,filterUrl,setFilterUrl},xss=Object.freeze({__proto__:null,getXssOption,setXssOption,get filterHtml(){return filterHtml},setFilterHtml,get filterAttrs(){return filterAttrs$1},setFilterAttrs,get filterUrl(){return filterUrl},setFilterUrl,default:index$1g}),log$1={logger:getWindow().console};const KEY_CODE={Backspace:8,Tab:9,Clear:12,Enter:13,Shift:16,Control:17,Alt:18,CapsLock:20,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Insert:45,Delete:46,Colon:58,Semicolon:59,LessThan:60,Equals:61,GreaterThan:62,QuestionMark:63,AtMark:64,KeyA:65,KeyB:66,KeyC:67,KeyD:68,KeyE:69,KeyF:70,KeyG:71,KeyH:72,KeyI:73,KeyJ:74,KeyK:75,KeyL:76,KeyM:77,KeyN:78,KeyO:79,KeyP:80,KeyQ:81,KeyR:82,KeyS:83,KeyT:84,KeyU:85,KeyV:86,KeyW:87,KeyX:88,KeyY:89,KeyZ:90,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NumLock:144,Numpad0:96,Numpad1:97,Numpad2:98,Numpad3:99,Numpad4:100,Numpad5:101,Numpad6:102,Numpad7:103,Numpad8:104,Numpad9:105,NumpadMultiply:106,NumpadAdd:107,NumpadEnter:13,NumpadSubtract:109,NumpadDecimal:110,NumpadDivide:111,NumpadComma:190},POSITION={Left:"left",Right:"right",Top:"top",Bottom:"bottom"},DATE={FullDatetime:"yyyy-MM-dd hh:mm:ss.SSS",LongDatetime:"yyyy-MM-dd hh:mm:ss",Datetime:"yyyy-MM-dd hh:mm",Date:"yyyy-MM-dd",FullTime:"hh:mm:ss.SSS",LongTime:"hh:mm:ss",Time:"hh:mm",YearMonth:"yyyy-MM"},TriggerTypes="date,datetime,time,time-select,week,month,year,years,yearrange,daterange,monthrange,timerange,datetimerange,dates,quarter",DATEPICKER={Day:"day",Date:"date",Dates:"dates",Year:"year",Years:"years",YearRange:"yearrange",PanelYearNum:12,Month:"month",Week:"week",Normal:"normal",Today:"today",PreMonth:"pre-month",NextMonth:"next-month",YearI18n:"ui.datepicker.year",List:[38,40,37,39],YearObj:{38:-4,40:4,37:-1,39:1},WeekObj:{38:-1,40:1,37:-1,39:1},DayObj:{38:-7,40:7,37:-1,39:1},Aviailable:"available",Default:"default",Current:"current",InRange:"in-range",StartDate:"start-date",EndDate:"end-date",Selected:"selected",Disabled:"disabled",Range:"range",fullMonths:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),fullWeeks:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],MonhtList:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],Weeks:["sun","mon","tue","wed","thu","fri","sat"],PlacementMap:{left:"bottom-start",center:"bottom",right:"bottom-end"},QuarterMap:{0:0,1:3,2:6,3:9},MonthQuarterMap:{0:1,3:2,6:3,9:4},TriggerTypes:TriggerTypes.split(","),DateFormats:{year:"yyyy",years:"yyyy",yearrange:"yyyy",month:"yyyy-MM",time:"HH:mm:ss",week:"yyyywWW",date:"yyyy-MM-dd",timerange:"HH:mm:ss",monthrange:"yyyy-MM",daterange:"yyyy-MM-dd",datetime:"yyyy-MM-dd HH:mm:ss",datetimerange:"yyyy-MM-dd HH:mm:ss"},Time:"time",TimeRange:"timerange",Quarter:"quarter",IconTime:"icon-time",IconDate:"icon-Calendar",DateRange:"daterange",DateTimeRange:"datetimerange",MonthRange:"monthrange",TimeSelect:"time-select",TimesTamp:"timestamp",DateTime:"datetime",SelectbaleRange:"selectableRange",Start:"09:00",End:"18:00",Step:"00:30",CompareOne:"-1:-1",CompareHundred:"100:100",selClass:".selected",queryClass:".tiny-picker-panel__content",disableClass:".time-select-item:not(.disabled)",defaultClass:".default",Qurtyli:'[data-tag="li"]',MappingKeyCode:{40:1,38:-1},DatePicker:"DatePicker",TimePicker:"TimePicker"},BROWSER_NAME={IE:"ie",Edge:"edge",Chrome:"chrome",Firefox:"firefox"},VALIDATE_STATE={Validating:"validating",Success:"success",Error:"error"},log=(ee,te="log")=>{log$1.logger[te](ee)},fecha={},digitsReg=["\\d\\d?","\\d{3}","\\d{4}"],twoDigits=digitsReg[0],threeDigits=digitsReg[1],fourDigits=digitsReg[2],word="[^\\s]+",literal=/\[([^]*?)\]/gm,noop$3=()=>{},formats={shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",default:"ddd MMM dd yyyy HH:mm:ss",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},shorten=(ee,te)=>{let ae=[];for(let ne=0,ie=ee.length;ne<ie;ne++)ae.push(ee[ne].substr(0,te));return ae},monthUpdate=ee=>(te,ae,ne)=>{const ie=ne[ee].indexOf(ae.charAt(0).toUpperCase()+ae.substr(1).toLowerCase());~ie&&(te.month=ie)},pad$1=(ee,te)=>{for(ee=String(ee),te=te||2;ee.length<te;)ee="0"+ee;return ee},regexEscape=ee=>ee.replace(/[|\\{()[^$+*?.-]/g,"\\$&"),fullTimeReg=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,dayNames=DATEPICKER.fullWeeks,monthNames=DATEPICKER.fullMonths,monthNamesShort=shorten(monthNames,3),dayNamesShort=shorten(dayNames,3),parts=["th","st","nd","rd"];fecha.i18n={dayNames,monthNames,dayNamesShort,monthNamesShort,amPm:["am","pm"],doFn:ee=>ee+parts[ee%10>3?0:(ee-ee%10!==10)*ee%10]};const formatFlags={D:ee=>ee.getDay(),DD:ee=>pad$1(ee.getDay()),Do:(ee,te)=>te.doFn(ee.getDate()),d:ee=>ee.getDate(),dd:ee=>pad$1(ee.getDate()),ddd:(ee,te)=>te.dayNamesShort[ee.getDay()],dddd:(ee,te)=>te.dayNames[ee.getDay()],M:ee=>ee.getMonth()+1,MM:ee=>pad$1(ee.getMonth()+1),MMM:(ee,te)=>te.monthNamesShort[ee.getMonth()],MMMM:(ee,te)=>te.monthNames[ee.getMonth()],yy:ee=>pad$1(String(ee.getFullYear()),4).substr(2),yyyy:ee=>pad$1(ee.getFullYear(),4),h:ee=>ee.getHours()%12||12,hh:ee=>pad$1(ee.getHours()%12||12),H:ee=>ee.getHours(),HH:ee=>pad$1(ee.getHours()),m:ee=>ee.getMinutes(),mm:ee=>pad$1(ee.getMinutes()),s:ee=>ee.getSeconds(),ss:ee=>pad$1(ee.getSeconds()),S:ee=>Math.round(ee.getMilliseconds()/100),SS:ee=>pad$1(Math.round(ee.getMilliseconds()/10),2),SSS:ee=>pad$1(ee.getMilliseconds(),3),a:(ee,te)=>ee.getHours()<12?te.amPm[0]:te.amPm[1],A:(ee,te)=>ee.getHours()<12?te.amPm[0].toUpperCase():te.amPm[1].toUpperCase(),ZZ:ee=>{const te=ee.getTimezoneOffset();return(te>0?"-":"+")+pad$1(Math.floor(Math.abs(te)/60)*100+Math.abs(te)%60,4)}},parseFlags={d:[twoDigits,(ee,te)=>{ee.day=te}],Do:[twoDigits+word,(ee,te)=>{ee.day=parseInt(te,10)}],M:[twoDigits,(ee,te)=>{ee.month=te-1}],yy:[twoDigits,(ee,te)=>{const ne=Number(String(new Date().getFullYear()).substr(0,2));ee.year=String(te>68?ne-1:ne)+te}],h:[twoDigits,(ee,te)=>{ee.hour=te}],m:[twoDigits,(ee,te)=>{ee.minute=te}],s:[twoDigits,(ee,te)=>{ee.second=te}],yyyy:[fourDigits,(ee,te)=>{ee.year=te}],S:["\\d",(ee,te)=>{ee.millisecond=te*100}],SS:["\\d{2}",(ee,te)=>{ee.millisecond=te*10}],SSS:[threeDigits,(ee,te)=>{ee.millisecond=te}],D:[twoDigits,noop$3],ddd:[word,noop$3],MMM:[word,monthUpdate("monthNamesShort")],MMMM:[word,monthUpdate("monthNames")],a:[word,(ee,te,ae)=>{const ne=te.toLowerCase();ne===ae.amPm[0]?ee.isPm=!1:ne===ae.amPm[1]&&(ee.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",(ee,te)=>{let ae=String(te).match(/([+-]|\d\d)/gi),ne;ae&&(ne=Number(ae[1]*60)+parseInt(ae[2],10),ee.timezoneOffset=ae[0]==="+"?ne:-ne)}]},fmts=["A","DD","dd","mm","hh","MM","ss","hh","H","HH"];fecha.masks=formats;parseFlags.dddd=parseFlags.ddd;fmts.forEach(ee=>{ee==="MM"?parseFlags[ee]=parseFlags[ee.substr(0,1)]:parseFlags[ee]=parseFlags[ee.substr(0,1).toLowerCase()]});fecha.format=(ee,te,ae)=>{const ne=ae||fecha.i18n;if(typeof ee=="number"&&(ee=new Date(ee)),!isDate$2(ee)||isNaN(ee.getTime()))throw new Error("Invalid Date in fecha.format");te=fecha.masks[te]||te||fecha.masks.default;let ie=[];return te=te.replace(literal,(oe,se)=>(ie.push(se),"@@@")),te=te.replace(fullTimeReg,oe=>oe in formatFlags?formatFlags[oe](ee,ne):oe.slice(1,oe.length-1)),te.replace(/@@@/g,()=>ie.shift())};const getNewFormat=(ee,te)=>{let ae=[],ne=regexEscape(ee).replace(fullTimeReg,ie=>{if(parseFlags[ie]){const oe=parseFlags[ie];return te.push(oe[1]),"("+oe[0]+")"}return ie});return ne=ne.replace(/@@@/g,()=>ae.shift()),ne},getDate=ee=>{let te;const ae=new Date;if(isNull$2(ee.timezoneOffset)){const{year:ne,month:ie,day:oe,hour:se,minute:le,second:ue,millisecond:ce}=ee;te=new Date(ne||ae.getFullYear(),ie||0,oe||1,se||0,le||0,ue||0,ce||0)}else{ee.minute=Number(ee.minute||0)-Number(ee.timezoneOffset);const{year:ne,month:ie,day:oe,hour:se,minute:le,second:ue,millisecond:ce}=ee;te=new Date(Date.UTC(ne||ae.getFullYear(),ie||0,oe||1,se||0,le||0,ue||0,ce||0))}return te};fecha.parse=(ee,te,ae)=>{const ne=ae||fecha.i18n;if(typeof te!="string")throw new TypeError("Invalid format in fecha.parse");if(te=fecha.masks[te]||te,ee.length>1e3)return null;let ie={},oe=[];te=te.replace(literal,(ue,ce)=>"@@@");const se=getNewFormat(te,oe),le=ee.match(new RegExp(se,"i"));if(!le)return null;for(let ue=1,ce=le.length;ue<ce;ue++)oe[ue-1](ie,le[ue],ne);return ie.isPm===!0&&!isNull$2(ie.hour)&&Number(ie.hour)!==12?ie.hour=Number(ie.hour)+12:ie.isPm===!1&&Number(ie.hour)===12&&(ie.hour=0),getDate(ie)};var date_default=fecha;const weeks=DATEPICKER.Weeks,months=DATEPICKER.MonhtList,defaultYMD=DATEPICKER.DateFormats.date,defaultHMS=DATEPICKER.DateFormats.time,newArray=(ee,te)=>{let ae=[];for(let ne=ee;ne<=te;ne++)ae.push(ne);return ae},getI18nSettings=ee=>({dayNamesShort:weeks.map(te=>ee(`ui.datepicker.weeks.${te}`)),dayNames:weeks.map(te=>ee(`ui.datepicker.weeks.${te}`)),monthNamesShort:months.map(te=>ee(`ui.datepicker.months.${te}`)),monthNames:months.map((te,ae)=>ee(`ui.datepicker.month${ae+1}`)),amPm:["am","pm"]}),isDate$1=function(ee){return!(isNull$2(ee)||isNaN(new Date(ee).getTime())||Array.isArray(ee))},toDate=ee=>isDate$1(ee)?new Date(ee):null,isDateObject=ee=>ee instanceof Date,formatDate=(ee,te,ae)=>(ee=toDate(ee),ee?date_default.format(ee,te||defaultYMD,getI18nSettings(ae)):""),parseDate$1=(ee,te,ae)=>date_default.parse(ee,te||defaultYMD,getI18nSettings(ae)),getDayCountOfMonth=(ee,te)=>~[3,5,8,10].indexOf(te)?30:te===1?isLeapYear(ee)?29:28:31,getDayCountOfYear=ee=>isLeapYear(ee)?366:365,getFirstDayOfMonth=ee=>{const te=new Date(ee.getTime());return te.setDate(1),te.getDay()},prevDate=(ee,te=1)=>new Date(ee.getFullYear(),ee.getMonth(),ee.getDate()-te),nextDate=(ee,te=1)=>new Date(ee.getFullYear(),ee.getMonth(),ee.getDate()+te),getStartDateOfMonth=(ee,te,ae=0)=>{const ne=new Date(ee,te,1),ie=ne.getDay(),oe=ie===0?7:ie,se=oe+ae<=0?7+oe:oe;return prevDate(ne,se)},getWeekNumber=ee=>{if(!isDate$1(ee))return null;const te=new Date(ee.getTime());te.setHours(0,0,0,0),te.setDate(te.getDate()+3-(te.getDay()+6)%7);const ae=new Date(te.getFullYear(),0,4);return 1+Math.round(((te.getTime()-ae.getTime())/864e5-3+(ae.getDay()+6)%7)/7)},getRangeHours=(ee=[])=>{const te=[];let ae=[];ee.forEach(ie=>{const oe=ie.map(se=>se.getHours());ae=ae.concat(newArray(oe[0],oe[1]))});let ne;ae.length?ne=ie=>!~ae.indexOf(ie):ne=()=>!1;for(let ie=0;ie<24;ie++)te[ie]=ne(ie);return te},setRangeData=(ee,te,ae,ne)=>{for(let ie=te;ie<ae;ie++)ee[ie]=ne},range=ee=>Array.apply(null,{length:ee}).map((te,ae)=>ae),getRangeMinutes=(ee,te)=>{const ne=new Array(60);return ee.length>0?ee.forEach(ie=>{const[oe,se]=ie,le=oe.getHours(),ue=oe.getMinutes(),ce=se.getHours(),de=se.getMinutes(),he=le===te;he&&ce!==te?setRangeData(ne,ue,60,!0):he&&ce===te?setRangeData(ne,ue,de+1,!0):!he&&ce===te?setRangeData(ne,0,de+1,!0):le<te&&ce>te&&setRangeData(ne,0,60,!0)}):setRangeData(ne,0,60,!0),ne},modifyDate=(ee,te,ae,ne)=>(ee=toDate(ee),new Date(te,ae,ne,ee.getHours(),ee.getMinutes(),ee.getSeconds(),ee.getMilliseconds())),modifyTime=(ee,te,ae,ne)=>(ee=toDate(ee),new Date(ee.getFullYear(),ee.getMonth(),ee.getDate(),te,ae,ne,ee.getMilliseconds())),modifyWithTimeString=(ee,te,ae)=>isNull$2(ee)||!te?ee:(te=parseDate$1(te,defaultHMS,ae),modifyTime(ee,te.getHours(),te.getMinutes(),te.getSeconds())),clearTime=ee=>new Date(ee.getFullYear(),ee.getMonth(),ee.getDate()),clearMilliseconds=ee=>new Date(ee.getFullYear(),ee.getMonth(),ee.getDate(),ee.getHours(),ee.getMinutes(),ee.getSeconds(),0),limitTimeRange=(ee,te,ae=defaultHMS)=>{if(te.length===0)return ee;const ne=ce=>date_default.parse(date_default.format(ce,ae),ae),ie=ne(ee),oe=te.map(ce=>ce.map(ne));if(oe.some(ce=>ie>=ce[0]&&ie<=ce[1]))return ee;let se=oe[0][0],le=se;oe.forEach(ce=>{let de=se=new Date(Math.min(ce[0],se));le=new Date(Math.max(ce[1],de))});const ue=ie<se?se:le;return modifyDate(ue,ee.getFullYear(),ee.getMonth(),ee.getDate())},timeWithinRange=(ee,te,ae)=>limitTimeRange(ee,te,ae).getTime()===ee.getTime(),changeYearMonthAndClampDate=(ee,te,ae)=>{const ne=Math.min(ee.getDate(),getDayCountOfMonth(te,ae));return modifyDate(ee,te,ae,ne)},nextMonth=ee=>{const te=ee.getFullYear(),ae=ee.getMonth();return ae===11?changeYearMonthAndClampDate(ee,te+1,0):changeYearMonthAndClampDate(ee,te,ae+1)},prevMonth=ee=>{const te=ee.getFullYear(),ae=ee.getMonth();return ae===0?changeYearMonthAndClampDate(ee,te-1,11):changeYearMonthAndClampDate(ee,te,ae-1)},nextYear=(ee,te=1)=>{const ae=ee.getFullYear(),ne=ee.getMonth();return changeYearMonthAndClampDate(ee,ae+te,ne)},prevYear=(ee,te=1)=>{const ae=ee.getFullYear(),ne=ee.getMonth();return changeYearMonthAndClampDate(ee,ae-te,ne)},extractTimeFormat=ee=>ee.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g,"").trim(),extractDateFormat=ee=>ee.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim();function _extends$s(){return _extends$s=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$s.apply(this,arguments)}var zhCN$1={"en-US":"English","zh-CN":"中文","zh-TW":"中国台湾",hello:"你好 {name}",code:"zh-CN",yes:"是",no:"否",ui:{numeric:{equalTo:"等于",notEqualTo:"不等于",moreThan:"大于",moreThanOrEqualTo:"大于等于",lessThan:"小于",lessThanOrEqualTo:"小于等于",empty:"为空",nonEmpty:"不为空"},queryBuilder:{addItem:"新增条件",addGroup:"新增子条件组",removeGroup:"移除条件组"},wizard:{previousStep:"上一步",nextStep:"下一步",save:"保存",submit:"提交"},linkMenu:{title:"消息",placeholder:"请输入关键字过滤...",sure:"确定",cancel:"取消"},todoList:{add:"提交",placeholder:"请输入内容..."},alert:{error:"错误",info:"消息",success:"成功",title:"消息提示",warning:"警告"},amount:{currency:"币种",amount:"金额",date:"日期",equalTo:"等于",notEqualTo:"不等于",moreThan:"大于",moreThanOrEqualTo:"大于等于",lessThan:"小于",lessThanOrEqualTo:"小于等于",empty:"为空",nonEmpty:"不为空"},actionMenu:{moreText:"更多"},base:{all:"全部",cancel:"取消",confirm:"确定",delete:"删除",edit:"编辑",more:"更多",reset:"重置",clear:"清空",comma:","},button:{cancel:"取消",confirm:"确定"},buttonMessage:{cancel:"取消",confirm:"确定"},cell:{placeholder:"请选择"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},chart:{auxiliary:"辅助",emptyText:"暂无数据",kName:"日K",other:"其他",summation:"总量",total:"总计",value:"数值"},colorSelectPanel:{confirm:"选择",cancel:"取消",predefine:"预定义颜色",history:"历史记录",empty:"暂无"},crop:{cropImage:"图片裁剪",croppedImage:"裁剪后图像"},datepicker:{clear:"清空",cancel:"取消",endDate:"结束日期",confirm:"确定",month:"月",endTime:"结束时间",month2:"2 月",month1:"1 月",month4:"4 月",month3:"3 月",month6:"6 月",month5:"5 月",month8:"8 月",month7:"7 月",month10:"10 月",month9:"9 月",month12:"12 月",month11:"11 月",months:{feb:"二月",jan:"一月",apr:"四月",mar:"三月",jun:"六月",may:"五月",aug:"八月",jul:"七月",oct:"十月",sep:"九月",dec:"十二月",nov:"十一月"},nextYear:"后一年",nextMonth:"下个月",prevMonth:"上个月",now:"此刻",selectDate:"选择日期",prevYear:"前一年",startDate:"开始日期",selectTime:"选择时间",today:"今天",currentMonth:"本月",startTime:"开始时间",week:"周次",weeks:{mon:"一",sun:"日",wed:"三",tue:"二",fri:"五",thu:"四",sat:"六"},timezone:"选择时区",year:"年",to:"至",yearMonth:"{year}年{month}月",yearMonthDay:"{year}年{month}月{day}日"},richTextEditor:{bold:"加粗",italic:"斜体",link:"链接",unlink:"移除链接",highlight:"高亮",underline:"下划线",strike:"中划线",subscript:"下标",superscript:"上标",code:"代码",unorderedlist:"无序列表",orderedlist:"有序列表",taskList:"任务列表",quote:"引用",codeBlock:"代码块",formatClear:"清除标记",nodeDelete:"删除节点",undo:"回退",redo:"前进",left:"左对齐",center:"居中",right:"右对齐",fontSize:"字号",lineHeight:"行高",hBox:"段落标题",img:"图片",color:"颜色",table:"表格",backgroundColor:"文字背景色"},calendar:{showType:{year:"年"}},dept:{code:"编码",company:"公司",dept1:"一级部门",dept2:"二级部门",dept3:"三级部门",dept4:"四级部门",dept5:"五级部门",dept6:"六级部门",dept7:"七级部门",dept8:"八级部门",input:"可输入部门编码或名称",name:"名称",search:"辅助查询",selected:"已选"},dialogBox:{confirm:"确定",cancel:"取消"},load:{dot:"加载中"},exception:{build:"模块正在建设中",busy:"系统繁忙,请稍等一下",noperm:"茫茫大海,找不到页面",weaknet:"网络不给力",pcview:"请到PC上查看文件",nodata:"休息一下",create:"创建",provide:"TINY 开发团队提供",nodatamf:"暂无数据",nopermmf:"无访问权限",weaknetmf:"网络异常",noresult:"无相关搜索结果",nonews:"暂无最新消息",pagenoperm:"403:无访问权限",pageweaknet:"网络异常",pagenothing:"404:你访问的页面不存在",pageservererror:"500:服务器异常"},fileUpload:{largefile:"文件过大,将会分片上传,请耐心等待!",folder:"文件所在文件夹层数已超过 5 层,将不会上传该文件",init:"服务报错,请重试",token:"请先进行 EDM 鉴权,获取 token",exceed:"文件大小超过限制({maxSize})",largeFile:"文件大小超出限制 2G !!",fileSize:"文件大小低于限制({minSize}{sizeUnit})",deleteTip:"按 delete 键可删除",downloadFile:"下载文件",previewFile:"预览文件",updateFile:"更新文件",reUploadFile:"重新上传",cancelFile:"取消上传",deleteFile:"删除文件",empty:"是空文件!",kiaScanTip:"抱歉,从公网接入下载文档,需要通过KIA检测;当前文档正在KIA检测中,请稍后几分钟后再下载!",fileNameExceeds:"超过255个字符,请修改文件名。",fileName:"该文件名",calcHash:"文档正在计算加密中",uploadFile:"文件上传",downloadAll:"全部下载",onlySupport:"仅支持{type}格式文件",fileNotLessThan:"单个文件不能小于",fileNotMoreThan:"单个文件不能超过",notSupport:"格式(.{format})暂不支持",notSupportNoSuffix:"暂不支持无后缀文件",notSupportSpecialCharacters:"文件名包含特殊字符,请重命名后上传",attachment:"附件",uploadList:"上传列表",numberExceed:"批量上传个数超过限制({number})",numberLimit:"最多上传{number}个文件",encryptDialogTitle:"水印及加密设置",addWatermark:"添加水印",encrypted:"加密",docPreview:"文档预览",networkError:"网络出错",pictureNetworkError:"网络出错,上传失败",reUploadTip:"{number}个文件上传失败!"},uploadList:{pictureUploading:"图片上传中",uploadFailed:"上传失败",uploading:"上传中",download:"下载",reUpload:"重新上传",delete:"删除",noAttachments:"暂无附件",cancel:"取消",preview:"预览",releaseAndUpload:"释放鼠标,上传文件",dragOrClickImport:"将文件拖到此处,或点击导入",shoot:"拍摄",selectFromAlbum:"从相册选择",uploadFailedAndReupload:"上传失败,点击重新上传"},upload:{addPicture:"添加图片",addAudio:"添加音频",addVideo:"添加视频"},grid:{dataUnchanged:"数据未改动!",deleteSelectRecord:"您确定要删除所选记录吗?",emptyText:"暂无数据",error:{cellEditRender:"渲染器 cell-render 和 edit-render 不能同时使用",delGetAllRecords:"方法 getAllRecords 已废弃,请使用 getRecordset",delGetRecords:"方法 getRecords 已废弃,请使用 getData",delLabel:"参数 label 已废弃,请使用 title",delProp:"参数 prop 已废弃,请使用 field",delRevert:"方法 revert 已废弃,请使用 revertData",groupFixed:"如果使用分组表头,固定列必须在左右两侧",notDelete:"Delete 方法不存在",notMouse:"虚拟滚动不支持 mouse-config",notQuery:"query 方法不存在",notResizable:"横向虚拟滚动不支持 resizable",notSave:"save 方法不存在",reqModule:"缺少 {{name}} 模块",rowIdEmpty:"参数 row-id 不允许为空",scrollOriginal:"虚拟滚动启用后只能导出源数据,请将设置 original=true",scrollYHeight:"启用虚拟滚动必须要设置 height 或 max-height",toolbarId:"工具栏需要设置唯一 id",treeFixedExpand:"树结构的固定列与展开行功能有冲突",treeInsert:"树结构不支持 insert 操作",treeRemove:"树结构不支持 remove 操作",unableInsert:"无法插入到指定位置",dargSelf:"不允许自己给自己拖动",dargFixed:"固定列不允许拖动",remoteMethod:"个性化模板管理远端存储需要设置 multipleHistory.remoteMethod",remoteSelectedMethod:"个性化模板管理远端存储需要设置 multipleHistory.remoteSelectedMethod",chainCallError:"列的默认插槽中存在语法错误,请检查。",renderParamError:"期望配置一个生成 VNode 的渲染方法。",classComponentError:"类组件渲染出错。",groupColumnFixedError:"同一个分组内不能设置不同的固定类型。",missingValueFormat:"渲染器无法格式化日期字符串,需要提供 valueFormat 源日期格式配置。"},filter:{allFilter:"全部",allSelect:"(全选)",endDate:"结束日期",startDate:"开始日期",dateTips:"请至少输入一个日期",clear:"清除当前列筛选",clearAll:"清除所有列筛选",confirmFilter:"筛选",empty:"为空",emptyText:"暂无数据",equal:"等于",include:"包含",prefix:"开头是",resetFilter:"重置",unempty:"不为空"},individuation:{cancelBtn:"取消",colConfigs:{visible:"显示",invisible:"隐藏",asc:"正序",desc:"倒序",unsorted:"未排序",frozenLeft:"左冻结",frozenRight:"右冻结",unfrozen:"未冻结",unfreeze:"取消冻结",unsort:"取消排序"},toolbar:{set:"设置",selected:"已选",freeze:"冻结",sort:"排序",clear:"清空",search:"搜索",all:"全选"},columnSet:"列设置",overwriteSave:"覆盖保存",saveAs:"另存为",saveTemplate:"存模板",selectTemplate:"选择模板",hideMsg:"至少保留一列显示",maxFreezeNumMsg:"冻结列不可超过6项",defaultTemplateName:"请输入名称,如未填写由系统按时间生成",reserveTemplateName:"如未填写名称将保留之前的名称",resetBtn:"重置",saveBtn:"确定",hideAll:"全部隐藏",showAll:"全部显示",tabs:{base:{title:"基础设置",tips:"点击图标按钮设置个性化"},other:{title:"其他设置",tips:"设置服务器排序或客户端排序、每页条数大小。",sortType:"排序类型",currPageSort:"当前页数据排序",allDataSort:"所有数据排序",pageSize:"每页条数"}},title:"个性化设置",switchtitle:"模板管理",switchsave:"保存配置",switchlabel:"配置列表:",switchapply:"使用",switchedit:"编辑",switchdel:"删除",switchconfirm:"确定",switchonlytemp:"保存模板",switchtempapply:"保存并使用模板",switchtempoverwrite:"覆盖并使用模板",switchdelcon:"确定要删除这个模板?",switchdelyes:"确定",switchdelno:"取消",switchapplycon:"确定要使用这个模板?"},removeSelectRecord:"您确定要移除所选记录吗?",saveSuccess:"保存成功",selectOneRecord:"请至少选择一条记录!",isSaveMsg:"有修改的数据,是否要保存?"},hrapprover:{approver:"权签人",noselected:"没有选择权签人",noapprover:"没有权签人",remark:"备注"},imageViewer:{loadErrorAlt:"加载失败",save:"保存图片",del:"删除图片",thumbnail:"缩略图",menu:"目录",hide:"隐藏侧边栏",show:"显示侧边栏"},navMenu:{moreText:"更多"},logout:{in:"登录",out:"注销"},page:{goto:"前往",item:"条",next:"下一页",page:"条/页",pageClassifier:"页",pagesize:"条/页",prev:"上一页",total:"共",totals:"总条数:",jump:"跳至",hundredThousand:"10万+",million:"100万+",tenMillion:"1千万+",loadingTotals:"加载总条数…"},popeditor:{cancel:"取 消",confirm:"确 认",historyLists:"历史数据列表",reset:"重 置",search:"查 询",selectionLists:"选择数据列表",sourceLists:"所有数据列表",title:"选择",filterNode:"输入内容进行筛选"},popupload:{fileName:"文件名",fileSize:"文件大小",fileStatus:"文件状态",uploadError:"上传失败",dialogTitle:"文件上传",cancelButtonText:"取消",tipsFileText:"上传提示",saveButtonText:"开始上传",uploadSuccess:"上传成功!",uploadButtonText:"选择文件",uploadsButtonText:"选择批量文件",errorTypeTips:"上传文件类型不匹配",errorNumTips:"上传文件数量超出限制,已取消该操作",errorSizeTips:"上传文件大小超出限制",limitUploadFileNumber:"上传文件数限制为",limitUploadFileType:"上传文件类型限制为",limitUploadFileSize:"上传文件大小不超过"},rate:{level:{average:"一般",excellent:"很好",fair:"差",good:"好",poor:"很差"}},select:{loading:"加载中",noMatch:"无匹配数据",noData:"暂无相关数据",placeholder:"请选择",pleaseSearch:"请搜索",search:"搜索",selected:"已选",selectedNum:"已选 {num} 个",noSearchData:"无相关搜索结果,请重新输入",add:"新增",collapse:"收起"},search:{placeholder:"搜索"},signature:{confirm:"确认",rewrite:"重写",cancel:"取消",tips:"请手写签名",resign:"重新签名",placeholder:"请在此签名(必填)"},tabs:{moreItem:"更多"},tag:{add:"添加"},toggleMenu:{placeholder:"请输入内容进行筛选"},treeMenu:{placeholder:"请输入内容进行筛选"},transfer:{filterPlaceholder:"请输入搜索内容",hasCheckedFormat:"已选 {checked}/{total} 项",noCheckedFormat:"共 {total} 项",noData:"无数据",noMatch:"无匹配数据",titles:["列表 1","列表 2"]},tree:{loading:"加载中",emptyText:"暂无数据",switchText:"同时勾选下级",edit:"编辑",delete:"删除",addChild:"新增下级",newNodeTitle:"新增下级",deleteTip1:"删除后数据不可恢复,确定删除吗?",deleteTip2:"该节点存在下级节点,是否保留下级节点数据?",deleteTip3:"保留下级节点数据"},usercard:{address:"地址",collapse:"收起",department:"部门",email:"邮箱",employeeId:"员工 ID",employee_id:"员工 ID",empno:"工号",expand:"展开",fax:"传真",internal:"内线",manager:"主管",mobile:"手机",other:"其他",phone:"固定电话",timezone:"时区",title:"用户信息: {0}",travelcode:"出差联系信息",viop:"VIOP",zipcode:"邮编"},richText:{bold:"加粗",italic:"倾斜",underline:"下划线",header:"段落格式",strike:"删除线",blockquote:"块引用",codeBlock:"插入代码段",size:"字体大小",listOrdered:"编号列表",listBullet:"项目列表",header1:"h1",header2:"h2",align:"对齐方式",color:"字体颜色",background:"背景颜色",image:"图像",video:"视频",link:"添加链接",formula:"插入公式",clean:"清除格式",indent1:"向左缩进",indent2:"向右缩进",pickerLabel:"标题大小",headerPicker1:"标题一",headerPicker2:"标题二",headerPicker3:"标题三",headerPicker4:"标题四",headerPicker5:"标题五",headerPicker6:"标题六",normal:"标准",sizeSmall:"小号",sizeLarge:"大号",sizeHuge:"超大号",alignPicker1:"居左对齐",alignPicker2:"居中对齐",alignPicker3:"居右对齐",alignPicker4:"两端对齐",subScript:"下标",superScript:"上标",directionRTL:"从右到左",font:"字体",file:"文件",betterTable:"表格",fullscreen:"全屏",insertColumnRight:"右插入列",insertColumnLeft:"左插入列",insertRowUp:"上插入行",insertRowDown:"下插入行",mergeCells:"合并单元格",unmergeCells:"拆分单元格",deleteColumn:"删除当前列",deleteRow:"删除当前行",deleteTable:"删除表格",colorPicker:"背景颜色",placeholder:"在此处插入文本...",maxLength:"文本长度超过限制,支持的最大长度是 "},steps:{done:"已完成",doing:"进行中",wait:"等待中"},actionSheet:{cancel:"取消"},image:{loadFail:"加载失败"},miniPicker:{cancel:"取消",confirm:"确定"},pullRefresh:{pullingDown:"下拉即可刷新",pullingUp:"上拉即可刷新",pulling:"下拉即可刷新",loosing:"释放即可刷新",success:"刷新成功",failed:"刷新失败",noMore:"没有更多了"},currency:{defaultCurrency:"默认币种",setDefault:"设为默认",chooseCurrency:"选择币种"},calendarBar:{week:{0:"日",1:"一",2:"二",3:"三",4:"四",5:"五",6:"六"},year:"%s年",yearMonth:"%y年%m月",month:{1:"1月",2:"2月",3:"3月",4:"4月",5:"5月",6:"6月",7:"7月",8:"8月",9:"9月",10:"10月",11:"11月",12:"12月"},monthAbbr:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"}},calendarView:{week:{0:"日",1:"一",2:"二",3:"三",4:"四",5:"五",6:"六"},weekDays:{0:"周日",1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六"},backToday:"回今天",new:"新增",noSchedule:"暂无日程",year:"年",month:"月",dateFormat:"yyyy 年 MM 月"},selectedBox:{select:"已选(%s)",allSelect:"已全选(%s)",clear:"清空"},record:{record:"录音",cancel:"取消",confirm:"确定",clickToStartRecording:"点击开始录音",clickToResumeRecording:"点击继续录音"},dialogSelect:{treeSearch:"请输入关键字并回车"}},validation:{array:{len:"%s 的长度必须为 %s",min:"%s 长度不能小于 %s",max:"%s 的长度不能大于 %s",range:"%s 的长度必须介于 %s 和 %s 之间"},date:{format:"%s 日期 %s 对于格式 %s 无效",invalid:"%s 日期 %s 无效",parse:"无法分析 %s 日期, %s 无效"},default:"%s 字段校验错误",enum:"%s 必须是 %s 中的一个",number:{len:"%s 必须等于 %s",min:"%s 不能小于 %s",max:"%s 不能大于 %s",range:"%s 必须介于 %s 和 %s 之间"},pattern:{mismatch:"%s 值%s 与模式 %s 不匹配"},required:"必填",string:{len:"%s 必须是 %s 个字符",min:"%s 必须至少为 %s 个字符",max:"%s 不能大于 %s 个字符",range:"%s 必须介于 %s 和 %s 个字符之间"},types:{acceptFile:"只接受文件",acceptImg:"只接受图片格式",array:"非法数组",boolean:"非法布尔值",date:"不符合规则的日期格式",dateTime:"不符合规则的日期时间格式",dateYM:"不符合规则的日期格式(yyyy-mm)",dateYMD:"不符合规则的日期格式(yyyy-MM-dd)",digits:"非法纯数字",email:"非法邮件地址",fileSize:"文件大小的格式不正确,应如 3kb",float:"非法浮点数",hex:"非法十六进制",integer:"非法整数",longDateTime:"不符合规则的长日期格式",method:"必须是函数(Function)",number:"非法数字",object:"非法对象",regexp:"非法正则表达式",specialch:"只能包含数字、字母、下划线、横杠、点号",specialch2:"只能包含数字、字母、下划线、横杠",speczh:"只能包含数字、字母、下划线、汉",string:"非法字符串",time:"不符合规则的时间格式",url:"非法 URL 地址",version:"非法版本格式"},whitespace:"%s 不能为空"}},enUS$1={"en-US":"English","zh-CN":"中文","zh-TW":"中国台湾",hello:"Hello {name}",code:"en-US",yes:"Yes",no:"No",ui:{numeric:{equalTo:"Equal to",notEqualTo:"Not equal to",moreThan:"More than",moreThanOrEqualTo:"More than or equal to",lessThan:"Less than",lessThanOrEqualTo:"Less than or equal to",empty:"Empty",nonEmpty:"Non-empty"},queryBuilder:{addItem:"Add Rule",addGroup:"Add Rule Group",removeGroup:"Del Rule Group"},wizard:{previousStep:"LastStep",nextStep:"NextStep",save:"Save",submit:"Submit"},linkMenu:{title:"news",placeholder:"Please enter keywords to filter...",sure:"Determine",cancel:"cancel"},todoList:{add:"Add",placeholder:"please input your todo things"},alert:{error:"Error",info:"Info",success:"Success",title:"Message notification",warning:"Warning"},amount:{currency:"Currency",amount:"Amount",date:"Date",equalTo:"Equal to",notEqualTo:"Not equal to",moreThan:"More than",moreThanOrEqualTo:"More than or equal to",lessThan:"Less than",lessThanOrEqualTo:"Less than or equal to",empty:"Empty",nonEmpty:"Non-empty"},base:{all:"All",cancel:"Cancel",confirm:"OK",delete:"Delete",edit:"Edit",more:"More",reset:"Reset",clear:"Clear",comma:","},button:{cancel:"Cancel",confirm:"Confirm"},buttonMessage:{cancel:"Cancel",confirm:"Confirm"},cell:{placeholder:"Select"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},chart:{auxiliary:"Auxiliary",emptyText:"No Data",kName:"Day K",other:"Other",summation:"Summation",total:"Total",value:"Value"},colorSelectPanel:{confirm:"Ok",cancel:"Cancel",predefine:"Predefine Color",history:"History",empty:"Empty"},crop:{cropImage:"crop image",croppedImage:"Post-Crop Image"},datepicker:{clear:"Clear",cancel:"Cancel",endDate:"End Date",confirm:"OK",month:"month",endTime:"End Time",month2:"February",month1:"January",month4:"April",month3:"March",month6:"June",month5:"May",month8:"August",month7:"July",month10:"October",month9:"September",month12:"December",month11:"November",months:{feb:"Feb",jan:"Jan",apr:"Apr",mar:"Mar",jun:"Jun",may:"May",aug:"Aug",jul:"Jul",oct:"Oct",sep:"Sep",dec:"Dec",nov:"Nov"},nextYear:"Next Year",nextMonth:"Next Month",prevMonth:"Previous Month",now:"Now",selectDate:"Select date",prevYear:"Previous Year",startDate:"Start Date",selectTime:"Select time",today:"Today",currentMonth:"Current Month",startTime:"Start Time",week:"week",weeks:{mon:"Mon",sun:"Sun",wed:"Wed",tue:"Tue",thu:"Thu",sat:"Sat",fri:"Fri"},timezone:"selecting a timezone",year:"",to:"to",yearMonth:"{year} / {month}",yearMonthDay:"{year} / {month} / {day}"},richTextEditor:{bold:"bold",italic:"italic",link:"link",unlink:"unlink",highlight:"high light",underline:"underline",strike:"strike",subscript:"subscript",superscript:"superscript",code:"code",unorderedlist:"unorderedlist",orderedlist:"orderedlist",taskList:"taskList",quote:"quote",codeBlock:"code block",formatClear:"format clear",nodeDelete:"node delete",undo:"undo",redo:"redo",left:"left",center:"center",right:"right",fontSize:"font size",lineHeight:"line height",hBox:"h box",img:"img",color:"color",table:"table",backgroundColor:"backgroundColor"},calendar:{showType:{year:"year"}},dept:{code:"Code",company:"Company",dept1:"First Level Department",dept2:"Second Level Department",dept3:"Third Level Department",dept4:"Fourth Level Department",dept5:"Fifth Level Department",dept6:"Sixth Level Department",dept7:"Seventh Level Department",dept8:"Eighth Level Department",input:"Input Dept Code or Name is available",name:"Name",search:"Quick Search",selected:"Selected"},dialogBox:{confirm:"confirm",cancel:"cancel"},load:{dot:"Loading"},exception:{build:"Building",busy:"The network is busy. Please wait",noperm:"Not find the page",weaknet:"Poor network performance",pcview:"View the file on the PC",nodata:"Get some rest",create:"Create",provide:"Provided by the TINY Team DEV",nodatamf:"No data",nopermmf:"No access",weaknetmf:"Network anomaly",noresult:"No result",nonews:"No latest news",pagenoperm:"403:No access",pageweaknet:"Network anomaly",pagenothing:"404:The page you visited does not exist",pageservererror:"500:Server exception"},fileUpload:{largefile:" is too large and will be uploaded in segments. Please wait.",folder:" has more than five layers of folders. The file will not be uploaded",init:"Service error. Please try again.",token:"Perform EDM authentication first and obtain the token",exceed:"The file size exceeds the limit of {maxSize}.",largeFile:"The file size exceeds the upper limit by 2 GB !!",fileSize:"The file size is lower than the limit of {minSize}{sizeUnit}",deleteTip:"Press delete to remove",downloadFile:"DownLoad file",previewFile:"Preview file",updateFile:"Update file",reUploadFile:"refresh upload file",cancelFile:"Cancel Upload",deleteFile:"Delete file",empty:"is empty!",kiaScanTip:"Sorry, unable to download. Please pass the KIA test first to download a file using public network. Current document is being checked by the KIA, Please wait a while then redownload.",fileNameExceeds:"exceeds 255 characters. Please change the file name.",fileName:"The file name",calcHash:"Document is calculating encryption",uploadFile:"Upload file",downloadAll:"Download all",onlySupport:"Only support {type} file",fileNotLessThan:"The size of single file cannot be less than ",fileNotMoreThan:"The size of single file cannot be more than ",notSupport:"The format (.{format}) is not allowed.",notSupportNoSuffix:"Files without suffixes are not supported currently",notSupportSpecialCharacters:"The file name contains special characters, please rename the file and upload again",attachment:"Attachment",uploadList:"Upload List",numberExceed:"The number of files exceeds the limit of {number}",numberLimit:"Maximum upload of {number} files.",encryptDialogTitle:"Watermark and encryption settings",addWatermark:"Add Watermark",encrypted:"Encrypted",docPreview:"Document Preview",networkError:"Network Error",pictureNetworkError:"Network error, upload failed",reUploadTip:"{number} files failed to upload!"},uploadList:{pictureUploading:"Picture uploading",uploadFailed:"Upload failed",uploading:"Uploading",download:"Download",reUpload:"Re-upload",delete:"Delete",noAttachments:"No attachments",cancel:"Cancel",preview:"Preview",releaseAndUpload:"Release the mouse and upload the file",dragOrClickImport:"Drag the file here, or click Import",shoot:"Shoot",selectFromAlbum:"Select from album",uploadFailedAndReupload:"Upload failed, click to reupload"},upload:{addPicture:"Add picture",addAudio:"Add audio",addVideo:"Add video"},grid:{dataUnchanged:"Data unchanged!",deleteSelectRecord:"Are you sure you want to delete the selected record?",emptyText:"No Data",error:{cellEditRender:"The renderer cell-render and edit-render cannot be used together.",delGetAllRecords:"The function getAllRecords is deprecated, please use getRecordset.",delGetRecords:"The function getRecords is deprecated, please use getData.",delLabel:"The property label is deprecated, please use title.",delProp:"The property prop is deprecated, please use field.",delRevert:"The function revert is deprecated, please use revertData.",groupFixed:"If grouping headers are used, fixed columns must be on the left and right sides.",notDelete:"delete method not exist.",notMouse:"Horizontal virtual scrolling does not support mouse-config.",notQuery:"query method not exist.",notResizable:"Horizontal virtual scrolling does not support resizable.",notSave:"save method not exist.",reqModule:"require {{name}} module.",rowIdEmpty:"The property row-id is not allowed to be empty.",scrollOriginal:"Virtual scrolling can only export source data, please set original=true.",scrollYHeight:"You must set the height or max-height to enable virtual scrolling.",toolbarId:"Toolbar must have a unique id",treeFixedExpand:"The fixed columns of the tree structure conflict with the expanded row.",treeInsert:"The tree structure does not support insert operations.",treeRemove:"The tree structure does not support remove operations.",unableInsert:"Unable to insert to the specified location.",dargSelf:"Self dragging is not allowed.",dargFixed:"Fixed columns cannot be dragged.",remoteMethod:'"remoteMethod" needs to be set for remote storage for personalized template management.',remoteSelectedMethod:'"remoteSelectedMethod" needs to be set for remote storage for personalized template management.',chainCallError:"There is a syntax error in the default slot for the column, please check.",renderParamError:"Expect to configure a rendering method for generating a VNode.",classComponentError:"Class component rendering error.",groupColumnFixedError:"Different fixed types cannot be set in the same group.",missingValueFormat:'The renderer cannot format the date string. You should provide the "valueFormat" source date format configuration.'},filter:{allFilter:"All",allSelect:"(All)",endDate:"End Date",startDate:"Start Date",dateTips:"Please enter at least one date",clear:"Clear Current Filter",clearAll:"Clear All Filters",confirmFilter:"OK",empty:"Is Empty",emptyText:"No Data",equal:"Equal",include:"Include",prefix:"Starts With",resetFilter:"Reset",unempty:"Is not Empty"},individuation:{cancelBtn:"Cancel",colConfigs:{asc:"Ascending",desc:"Descending",frozenLeft:"Frozen on the left",frozenRight:"Frozen on the right",invisible:"Invisible",unsorted:"No sortting",unfrozen:"Unfrozen",visible:"Visible",unfreeze:"Unfrozen",unsort:"Unsort"},toolbar:{set:"Set",selected:"Selected",freeze:"Freeze",sort:"Sort",clear:"Clear",search:"Search",all:"All"},columnSet:"Column Setting",overwriteSave:"Overwrite Save",saveAs:"Save as",saveTemplate:"Save Template",selectTemplate:"Select Template",hideMsg:"Leave one column to show at least.",maxFreezeNumMsg:"Maxium number of frozen columns is 6",defaultTemplateName:"Please enter a name, if not filled in, it will be generated by the system according to time",reserveTemplateName:"If the name is not filled in, the previous name will be retained",resetBtn:"Reset",saveBtn:"OK",hideAll:"Hide All",showAll:"Show All",tabs:{base:{title:"Base Setting",tips:"Click the icon to set personalized."},other:{allDataSort:"Remote Data Sorting",currPageSort:"Current Page Data Sorting",pageSize:"Page Size",title:"Other Setting",tips:"Settings for Sorting and Pagesize.",sortType:"Sorting Type"}},title:"Personalized Settings",switchtitle:"Template Management",switchsave:"Save configuration",switchlabel:"List:",switchapply:"Apply",switchedit:"Edit",switchdel:"Delete",switchconfirm:"Confirm",switchonlytemp:"Save as template only",switchtempapply:"Save as template and use",switchtempoverwrite:"Overwrite template and use",switchdelcon:"Are you sure to delete this template?",switchdelyes:"Yes",switchdelno:"No",switchapplycon:"Are you sure to use this template?"},removeSelectRecord:"Are you sure you want to remove the selected record?",saveSuccess:"Save successfully.",selectOneRecord:"Please choose at least one piece of record!",isSaveMsg:"There are change records, do you want to save them?"},hrapprover:{approver:"Approver",noapprover:"There is no approver",noselected:"Select one record!",remark:"Remarks"},imageViewer:{loadErrorAlt:"Load Error",save:"Save picture",del:"Delete Picture",thumbnail:"Thumbnail",menu:"Menu",hide:"Hide Sidebar",show:"Show Sidebar"},navMenu:{moreText:"more"},logout:{in:"Login",out:"Logout"},page:{goto:"Go to",item:"",next:"Next",page:"Records/Page",pageClassifier:"",pagesize:"Records/Page",prev:"Prev",total:"Total ",totals:"Total: ",jump:"Go to",hundredThousand:"100K+",million:"1M+",tenMillion:"10M+",loadingTotals:"Loading Totals..."},popeditor:{cancel:"Cancel",confirm:"OK",historyLists:"History options",reset:"Reset",search:"Search",selectionLists:"Selected Items",sourceLists:"Available Items",title:"Select",filterNode:"input text to filter node"},popupload:{fileName:"File Name",fileSize:"File Size",fileStatus:"File Status",dialogTitle:"File Upload",cancelButtonText:"Cancel",tipsFileText:"upload hints",uploadError:"Upload failure!",uploadButtonText:"select file",uploadSuccess:"Upload Success!",saveButtonText:"Click To Upload",uploadsButtonText:"select files",errorTypeTips:"Upload file type mismatch",errorSizeTips:"Upload file size exceeds limit",limitUploadFileType:"Upload file type is limited to",limitUploadFileNumber:"Limit the number of uploaded files to",limitUploadFileSize:"The size of the uploaded file does not exceed",errorNumTips:"The number of uploaded files exceeds the limit. The operation has been cancelled"},rate:{level:{average:"Average",excellent:"Excellent",fair:"Fair",good:"Good",poor:"Poor"}},select:{loading:"Loading",noData:"No data",noMatch:"No matching data",placeholder:"Select",pleaseSearch:"Please search",search:"Search",selected:"Selected",selectedNum:"{num} selected",noSearchData:"No search results. Please try again",add:"Add",collapse:"Collapse"},search:{placeholder:"search"},signature:{confirm:"Confirm",rewrite:"Rewrite",cancel:"Cancel",tips:"Please sign by hand",resign:"Resign",placeholder:"Please sign here (required)"},tabs:{moreItem:"more"},tag:{add:"Add"},toggleMenu:{placeholder:"please input filter content"},treeMenu:{placeholder:"please input filter content"},transfer:{filterPlaceholder:"Enter keyword",hasCheckedFormat:"{checked}/{total} checked",noData:"No data",noMatch:"No matching data",noCheckedFormat:"{total} items",titles:["List 1","List 2"]},tree:{loading:"Loading",emptyText:"No data",switchText:"check easily",edit:"Edit",delete:"Delete",addChild:"Add Child",newNodeTitle:"Add Child Nodes",deleteTip1:"The deleted data cannot be restored. Are you sure you want to delete it?",deleteTip2:"This node has lower-level nodes. Do you want to retain the lower-level node data?",deleteTip3:"Retain the lower-level node data"},usercard:{address:"Address",collapse:"Collapse",department:"Department",email:"email",employeeId:"Employee ID",employee_id:"Employee ID",empno:"Employee Number",expand:"Expand",fax:"Fax",internal:"Internal",manager:"Manager",mobile:"Mobile",other:"Other",phone:"Telephone",timezone:"Time zone",title:"User information: {0}",travelcode:"Travel code",viop:"VIOP",zipcode:"Postal Code"},richText:{bold:"Bold",italic:"Tilt",underline:"Underline",header:"Paragraph Format",strike:"Delete Line",blockquote:"Block Reference",codeBlock:"Insert Code Segment",size:"Font Size",listOrdered:"No. List",listBullet:"Project List",header1:"H1",header2:"H2",align:"Alignment Mode",color:"Font Color",background:"Background Color",image:"Image",video:"Video",link:"Add Link",formula:"Insert Function",clean:"Clear Format",indent1:"Indent To The Left",indent2:"Indent To The Right",pickerLabel:"Title Size",headerPicker1:"Title 1",headerPicker2:"Title 2",headerPicker3:"Title 3",headerPicker4:"Title 4",headerPicker5:"Title 5",headerPicker6:"Title 6",normal:"Normal",sizeSmall:"Small",sizeLarge:"Large",sizeHuge:"Super Large Size",alignPicker1:"Align To The Left",alignPicker2:"Align In The Center",alignPicker3:"Align To The Right",alignPicker4:"Align The Two Ends",subScript:"Subscript",superScript:"Superscript",directionRTL:"Right To Left",font:"Font",file:"File",betterTable:"Table",fullscreen:"Fullscreen",insertColumnRight:"Insert Column Right",insertColumnLeft:"Insert Column Left",insertRowUp:"Insert Row Up",insertRowDown:"Insert Row Down",mergeCells:"Merge Cells",unmergeCells:"Split Cells",deleteColumn:"Delete Current Column",deleteRow:"Delete Current Row",deleteTable:"Delete Table",colorPicker:"Background Color",placeholder:"Insert text here...",maxLength:"Text Length exceeds the Limit, max Length config is "},steps:{done:"Completed",doing:"Ongoing",wait:"Waiting"},actionSheet:{cancel:"Cancel"},image:{loadFail:"Loading failed"},miniPicker:{cancel:"Cancel",confirm:"Confirm"},pullRefresh:{pullingDown:"Pull down to refresh",pullingUp:"Pull up to refresh",pulling:"Pull down to refresh",loosing:"Release to refresh",success:"Refresh success",failed:"Refresh failed",noMore:"There is no more"},currency:{defaultCurrency:"Default currency",setDefault:"Set as default",chooseCurrency:"Choose currency"},calendarBar:{week:{0:"SUN",1:"MON",2:"TUE",3:"WED",4:"THU",5:"FRI",6:"SAT"},year:"Year %s",yearMonth:"%m %y",month:{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"},monthAbbr:{1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sept",10:"Oct",11:"Nov",12:"Dec"}},calendarView:{week:{0:"SUN",1:"MON",2:"TUE",3:"WED",4:"THU",5:"FRI",6:"SAT"},weekDays:{0:"SUN",1:"MON",2:"TUE",3:"WED",4:"THU",5:"FRI",6:"SAT"},backToday:"back to today",new:"New",noSchedule:"No Schedule",year:"year",month:"month",dateFormat:"yyyy-MM"},selectedBox:{select:"Selected (%s)",allSelect:"All selected (%s)",clear:"Clear"},record:{record:"Record",cancel:"Cancel",confirm:"Confirm",clickToStartRecording:"Click to start recording",clickToResumeRecording:"Click to resume recording"},dialogSelect:{treeSearch:"Enter a keyword and press Enter"}},validation:{array:{len:"must be exactly %s in length",min:"cannot be less than %s in length",max:"cannot be greater than %s in length",range:"must be between %s and %s in length"},date:{format:"date %s is invalid for format %s",invalid:"date %s is invalid",parse:"date could not be parsed, %s is invalid "},default:"Validation error on field %s",enum:"must be one of %s",number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},pattern:{mismatch:"value %s does not match pattern %s"},required:"required",string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},types:{acceptFile:"not a valid %s",acceptImg:"not a valid %s",array:"not an %s",boolean:"not a %s",date:"not a %s",dateTime:"not a valid %s",dateYM:"not a valid %s",dateYMD:"not a valid %s",digits:"not a valid %s",email:"not a valid %s",fileSize:"not a valid %s",float:"not a %s",hex:"not a valid %s",integer:"not an %s",longDateTime:"not a valid %s",method:"not a %s (function)",number:"not a %s",object:"not an %s",regexp:"not a valid %s",specialch:"not a valid %s",specialch2:"not a valid %s",speczh:"not a valid %s",string:"not a %s",time:"not a valid %s",url:"not a valid %s",version:"not a valid %s"},whitespace:"cannot be empty"}},RE_NARGS=/(%|)\{([0-9a-zA-Z_]+)\}/g;function format$2(ee){for(var te=arguments.length,ae=new Array(te>1?te-1:0),ne=1;ne<te;ne++)ae[ne-1]=arguments[ne];return ae.length===1&&typeof ae[0]=="object"&&(ae=ae[0]),(!ae||!ae.hasOwnProperty)&&(ae={}),ee.replace(RE_NARGS,function(ie,oe,se,le){var ue;return ee[le-1]==="{"&&ee[le+ie.length]==="}"?se:(ue=Object.prototype.hasOwnProperty.call(ae,se)?ae[se]:null,ue??"")})}var lang=zhCN$1,i18nHandler=null,t$1=function(te,ae){if(ae===void 0&&(ae=void 0),i18nHandler)return i18nHandler.apply(this,arguments);for(var ne=te.split("."),ie=null,oe=lang,se=0,le=ne.length;se<le;se++){var ue=ne[se];if(ie=oe[ue]||"",se===le-1)return format$2(ie,ae);if(!ie)return"";oe=ie}return""},use$1=function(te){return lang=te||lang,lang},language$1=function(){return lang.code},i18n$1=function(te){return i18nHandler=te||t$1,i18nHandler},extend$1$1=extend$4,initI18n$1=function(te){var ae=te.app,ne=te.createI18n,ie=te.messages,oe=ie===void 0?{}:ie,se=te.i18n,le=se===void 0?{}:se,ue=te.merge;typeof ue!="function"&&(ue=function(fe){var pe=fe.lang,ve=fe.i18n,ge=fe.messages;return extend$1$1(!0,pe,ve.messages,ge)});var ce={zhCN:zhCN$1,enUS:enUS$1};if(typeof ne=="function"){var de=ne({locale:le.locale||"zhCN",messages:ue({lang:ce,i18n:le,messages:oe})});return i18nHandler=function(fe,pe){return de.global.t(fe,pe)},de}return ae&&ae.config&&ae.config.globalProperties&&(ae.config.globalProperties.$t=t$1),ue({lang:ce,i18n:le,messages:oe})},isVue2$1=!0,isVue3=!1,index$1$1={isVue2:isVue2$1,isVue3,use:use$1,t:t$1,i18n:i18n$1,initI18n:initI18n$1,extend:extend$1$1,zhCN:zhCN$1,enUS:enUS$1},vue=Object.freeze(Object.defineProperty({__proto__:null,default:index$1$1,enUS:enUS$1,extend:extend$1$1,i18n:i18n$1,initI18n:initI18n$1,isVue2:isVue2$1,isVue3,language:language$1,t:t$1,use:use$1,zhCN:zhCN$1},Symbol.toStringTag,{value:"Module"})),getNumberFormat=function(te){var ae=3,ne=",",ie=".";if(isPlainObject$1(te))return te;if(typeof te=="string"){var oe=te.match(/\d{2}([^\d]?)\d{3}([^\d]?)\d{2}/);oe&&oe.length===3&&(ne=oe[1],ie=oe[2])}return{groupSeparator:ne,groupSize:ae,decimalSeparator:ie}},getDateFormat=function(te){var ae=te.DateFormat,ne=ae===void 0?"yyyy-MM-dd":ae,ie=te.TimeFormat,oe=ie===void 0?"HH:mm:ss":ie;return{DateFormat:ne,DateTimeFormat:ne+" "+oe,TimeFormat:oe}},TZRE=/(-|\+)(\d{2}):?(\d{2})$/,getStrTimezone=function(te){var ae=0-new Date().getTimezoneOffset()/60,ne=typeof te=="string"&&te.match(TZRE);if(ne){var ie=ne[2]*1+ne[3]*1/60;te=ie*(ne[1]+"1")}return isNumber$2(te)&&te>=-12&&te<=12?te:ae};function glob(ee){return function(te){var ae=_extends$s({},getDateFormat(te),{NumberFormat:getNumberFormat(te.NumberFormat),DbTimezone:getStrTimezone(te.DbTimezone),Timezone:getStrTimezone(te.Timezone),TimezoneOffset:te.TimezoneOffset}),ne={getFormatConfig:function(){return ae},setFormatConfig:function(oe){Object.assign(ae,oe)},getNumberFormat:function(){return ae.NumberFormat},getDateFormat:function(){return{DateTimeFormat:ae.DateTimeFormat,TimeFormat:ae.TimeFormat,Timezone:ae.Timezone,DateFormat:ae.DateFormat,DbTimezone:ae.DbTimezone,TimezoneOffset:ae.TimezoneOffset}},formatDate:function(oe,se){if(isNull$2(oe))return oe;var le=isDate$2(oe)?oe:toDate$1(oe),ue=ae.DbTimezone,ce=oe.match&&oe.match(TZRE),de=se===!1||arguments[2]===!1;return ce&&(ue=getStrTimezone(oe),le=toDate$1(oe.replace("T"," ").slice(0,-5))),de||(le=this.getDateWithNewTimezone(le,ue,ae.Timezone,ae.TimezoneOffset)),isDate$2(le)?formatDate(le,se||ae.DateFormat,ee):null},formatNumber:function(oe,se){return formatNumber(oe,_extends$s({},ae.NumberFormat,se))},recoverNumber:function(oe,se){return recoverNumber(oe,_extends$s({},ae.NumberFormat,se))},getDateWithNewTimezone:function(oe,se,le,ue){return se=se===0?se:se||ae.DbTimezone,le=le===0?le:le||ae.Timezone,ue=ue===0?ue:ue||ae.TimezoneOffset,getDateWithNewTimezone(oe,se,le,ue)}};return ne}}vue.use;var t$2=vue.t;vue.i18n;vue.initI18n;vue.extend;vue.zhCN;vue.enUS;var language=vue.language,globalization=glob(t$2),index$1f=_extends$s({},index$1$1,{language,globalization});const index$1e="",globalConfig={viewportWindow:null},getViewportWindow=()=>globalConfig.viewportWindow||window;var global_default=globalConfig;const isServer$4=typeof window>"u",SPECIAL_CHARS_REGEXP=/([:\-_]+(.))/g,MOZ_HACK_REGEXP=/^moz([A-Z])/,camelCase=ee=>ee.replace(SPECIAL_CHARS_REGEXP,(te,ae,ne,ie)=>ie?ne.toUpperCase():ne).replace(MOZ_HACK_REGEXP,"Moz$1"),on=(ee,te,ae,ne=!1)=>{ee&&te&&ae&&ee.addEventListener(te,ae,ne)},off=(ee,te,ae,ne=!1)=>{ee&&te&&ee.removeEventListener(te,ae,ne)},once=(ee,te,ae)=>{const ne=function(){ae&&ae.apply(this,arguments),off(ee,te,ne)};on(ee,te,ne)},hasClass=(ee,te)=>{if(!ee||!te)return!1;if(te.includes(" "))throw new Error("className should not contain space.");if(ee.classList)return ee.classList.contains(te)},addClass=(ee,te="")=>{if(!ee)return;te.split(" ").filter(ne=>ne).forEach(ne=>ee.classList.add(ne))},removeClass=(ee,te)=>{if(!ee||!te)return;te.split(" ").filter(ne=>ne).forEach(ne=>ee.classList.remove(ne))},getStyle$1=(ee,te)=>{if(!isServer$4){if(!ee||!te)return null;te=camelCase(te),te==="float"&&(te="cssFloat");try{if(ee.style[te])return ee.style[te];const ae=window.getComputedStyle(ee);return ae?ae[te]:null}catch{return ee.style[te]}}},getDomNode=()=>{const ee=global_default.viewportWindow||window;let te=ee.document.documentElement,ae=ee.document.body;return{scrollTop:te.scrollTop||ae.scrollTop,scrollLeft:te.scrollLeft||ae.scrollLeft,visibleHeight:te.clientHeight||ae.clientHeight,visibleWidth:te.clientWidth||ae.clientWidth}},isDisplayNone=ee=>{if(isServer$4)return!1;if(ee){const te=getComputedStyle(ee);if(te.getPropertyValue("position")==="fixed"){if(te.getPropertyValue("display")==="none")return!0;if(ee.parentNode!==document.body)return isDisplayNone(ee.parentNode)}else return ee.offsetParent===null}return!1};function throttle_default(ee,te,ae,ne){let ie,oe=0;typeof te!="boolean"&&(ne=ae,ae=te,te=void 0);function se(){const le=this,ue=new Date().valueOf()-oe,ce=arguments;function de(){oe=new Date().valueOf(),ae.apply(le,ce)}function he(){ie=void 0}ne&&!ie&&de(),ie&&clearTimeout(ie);const fe=ne===void 0;fe&&ue>ee?de():te!==!0&&(ie=setTimeout(ne?he:de,fe?ee-ue:ee))}return se}function debounce_default(ee,te,ae){return ae===void 0?throttle_default(ee,te,!1):throttle_default(ee,ae,te!==!1)}function _extends2(){return _extends2=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends2.apply(this,arguments)}var emitter$1=function(){var te={},ae=function(oe,se,le){if(le===void 0&&(le=!1),oe&&typeof oe=="string"&&typeof se=="function"){var ue=te[oe]||[];te[oe]=ue,ue.push(se),se.once=le}},ne={emit:function(oe){var se=arguments,le=te[oe];le&&(le.forEach(function(ue){return ue.apply(null,[].slice.call(se,1))}),te[oe]=le.filter(function(ue){return!ue.once}))},on:ae,once:function(oe,se){ae(oe,se,!0)},off:function(oe,se){if(oe&&typeof oe=="string"){var le=te[oe];typeof se=="function"?te[oe]=le.filter(function(ue){return ue!==se}):delete te[oe]}else te={}}};return ne},bindFilter=function(te,ae){ae===void 0&&(ae={});var ne={};for(var ie in te)ie.indexOf("_")!==0&&(ne[ie]=te[ie]);for(var oe in ae)ne[oe]=ae[oe];return ne},getElementCssClass=function(te,ae){if(te===void 0&&(te={}),typeof ae=="object"){var ne=Array.isArray(ae)?ae:Object.keys(ae).filter(function(oe){return ae[oe]}),ie="";return ne.forEach(function(oe){te[oe]&&(ie+=te[oe]+" ")}),ie}else return te[ae]||""},defineAsyncComponent=defineAsyncComponent$1,markRaw=markRaw$1,renderComponent=function(te){var ae=te.view,ne=ae===void 0?void 0:ae,ie=te.component,oe=ie===void 0?void 0:ie,se=te.props,le=te.context,ue=le.attrs,ce=le.slots,de=te.extend,he=de===void 0?{}:de;return function(){return h$2(ne&&ne.value||oe,_extends2({},se,ue,he),ce)}},rootConfig=function(te){var ae=getCurrentInstance();return te&&setInstanceEmitter(ae),ae==null?void 0:ae.appContext.config.globalProperties},getComponentName=function(){var te,ae=getCurrentInstance(),ne=ae==null||(te=ae.type)==null?void 0:te.name;if(!ne){var ie,oe;ne=ae==null||(ie=ae.parent)==null||(oe=ie.type)==null?void 0:oe.name}return ne||""},appContext=function(){var te;return((te=getCurrentInstance())==null?void 0:te.appContext)||{component:function(){}}},appProperties=function(){var te=getCurrentInstance();return(te==null?void 0:te.appContext.config.globalProperties)||{}},useRouter=function(te){var ae;te===void 0&&(te=getCurrentInstance());var ne=(ae=te)==null?void 0:ae.appContext.config.globalProperties.$router,ie=ne&&ne.currentRoute.value;return{route:ie,router:ne}},setInstanceEmitter=function(te){var ae=emitter$1();typeof te.$emitter>"u"&&Object.defineProperty(te,"$emitter",{get:function(){return ae}})},emitEvent=function(te){var ae=function(ie,oe,se,le){var ue=ie.subTree&&ie.subTree.children||ie.children;Array.isArray(ue)&&ue.forEach(function(ce){var de=ce.type&&ce.type.componentName,he=ce.component;de===oe?(he.emit(se,le),he.$emitter&&he.$emitter.emit(se,le)):ae(ce,oe,se,le)})};return{dispatch:function(ie,oe,se){for(var le=te.parent||te.root,ue=le.type&&le.type.componentName;le&&(!ue||ue!==ie);)le=le.parent,le&&(ue=le.type&&le.type.componentName);if(le){var ce,de;(ce=le).emit.apply(ce,[oe].concat(se)),le.$emitter&&(de=le.$emitter).emit.apply(de,[oe].concat(se))}},broadcast:function(ie,oe,se){ae(te,ie,oe,se)}}},getRealParent=function(te){if(te&&te.parent)return te.parent.type.name==="AsyncComponentWrapper"&&te.parent.parent?te.parent.parent:te.parent},parent=function(te){return function(ae){var ne=getRealParent(te),ie=0,oe=function(le){return{level:ie,vm:createVm({},le),el:le.vnode.el,options:le.type}};if(typeof ae!="function")return ne?oe(ne):{};for(ie++;ne&&!ae(oe(ne));)ne=getRealParent(ne),ie++}},children=function(te){return function(ae){if(typeof ae!="function")return generateChildren(te.subTree);var ne=1,ie=function oe(se){if(se){var le=se.children||se.dynamicChildren,ue=ne++;if(Array.isArray(le)){if(le.some(function(ce){return ce.component&&ae({level:ue,vm:createVm({},ce.component),el:ce.el,options:ce.type,isLevel1:!0})}))return;le.forEach(function(ce){return oe(ce)})}}};ie(te.subTree)}},regEventPrefix=/^on[A-Z]/,generateListeners=function(te){var ae={},ne={};for(var ie in te){var oe=te[ie];if(regEventPrefix.test(ie)&&typeof oe=="function"){ne[hyphenate(ie.substr(2))]=oe;continue}ae[ie]=oe}return{$attrs:ae,$listeners:ne}},generateChildren=function(te){var ae=[];if(ae.refs={},te){var ne=te.dynamicChildren||te.children;Array.isArray(ne)?ne.forEach(function(ie){if(ie.component){var oe=createVm({},ie.component);ae.push(oe),ie.props.ref&&(ae.refs[ie.props.ref]=oe)}}):te.component&&ae.push(createVm({},te.component))}return ae},defineProperties=function(te,ae,ne,ie){var oe=function(ue){if(typeof ie=="function"&&ie(ue))return 1;Object.defineProperty(te,ue,{configurable:!0,enumerable:!0,get:function(){return ae[ne][ue]},set:function(de){return ae[ne][ue]=de}})};for(var se in ae[ne])oe(se);return te},filter$2=function(te){return te.indexOf("_")===0},defineInstanceVm=function(te,ae){return defineProperties(te,ae,"setupState",null),defineProperties(te,ae,"props",filter$2),defineProperties(te,ae,"ctx",filter$2),te},createVm=function ee(te,ae,ne){ne===void 0&&(ne=null);var ie=generateListeners(ae.attrs),oe=ie.$attrs,se=ie.$listeners,le=ae.$emitter;le||(setInstanceEmitter(ae),le=ae.$emitter);var ue=function(){for(var he=arguments.length,fe=new Array(he),pe=0;pe<he;pe++)fe[pe]=arguments[pe];ae.emit.apply(ae,fe),le.emit.apply(te,fe)},ce=function(he,fe,pe){return he[fe]=pe};return ne||defineInstanceVm(te,ae),Object.defineProperties(te,{$attrs:{get:function(){return oe}},$children:{get:function(){return generateChildren(ae.subTree)}},$constants:{get:function(){return ae.props._constants}},$emit:{get:function(){return ue}},$el:{get:function(){return ae.vnode.el}},$listeners:{get:function(){return se}},$mode:{get:function(){return ae._tiny_mode}},$nextTick:{get:function(){return nextTick}},$off:{get:function(){return le.off}},$on:{get:function(){return le.on}},$once:{get:function(){return le.once}},$options:{get:function(){return{componentName:ae.type.componentName}}},$parent:{get:function(){return ae.parent&&ee({},getRealParent(ae))}},$refs:{get:function(){return ae.refs}},$renderless:{get:function(){return ae.props.tiny_renderless}},$scopedSlots:{get:function(){return ae.slots}},$set:{get:function(){return ce}},$slots:{get:function(){return ae.slots}},$template:{get:function(){return ae.props.tiny_template}}}),te},onBeforeMount=function(te,ae){for(var ne in te.refs)Object.prototype.hasOwnProperty.call(te.refs,ne)&&(ae[ne]=te.refs[ne])},tools=function(te,ae){var ne,ie,oe=getCurrentInstance(),se=oe==null?void 0:oe.appContext.config.globalProperties,le=useRouter(oe),ue=le.route,ce=le.router,de=oe==null||(ne=oe.proxy)==null||(ie=ne.$root)==null?void 0:ie.$i18n,he=emitEvent(oe),fe=he.dispatch,pe=he.broadcast,ve=parent(oe),ge=children(oe),me=createVm({},oe,te),ye=te.emit,_e={},be=typeof oe.props.tiny_template>"u"&&getRealParent(oe),xe=be?createVm({},be):oe.parent?createVm({},oe.parent):null,$e=function(Te){var De,Me=Te.name,Ie=Te.value,Ce=be?be.ctx:oe==null||(De=oe.parent)==null?void 0:De.ctx;Ce[Me]=Ie,xe[Me]=Ie},Se=function(Te){Object.defineProperties(me,Te),Object.defineProperties(oe==null?void 0:oe.ctx,Te)},we=function(Te){xe&&Object.defineProperties(xe,Te)};return onBeforeMount$1(function(){return defineInstanceVm(me,oe)}),onMounted(function(){return onBeforeMount(oe,_e)}),{framework:"vue3",vm:me,emit:ye,emitter:emitter$1,route:ue,router:ce,dispatch:fe,broadcast:pe,parentHandler:ve,childrenHandler:ge,i18n:de,refs:_e,slots:oe==null?void 0:oe.slots,scopedSlots:oe==null?void 0:oe.slots,attrs:te.attrs,parent:xe,nextTick,constants:oe==null?void 0:oe.props._constants,mode:ae,isPCMode:ae==="pc",isMobileMode:ae==="mobile",service:se==null?void 0:se.$service,getService:function(){return se==null?void 0:se.$getService(me)},setParentAttribute:$e,defineInstanceProperties:Se,defineParentInstanceProperties:we}},mapping=function(te,ae,ne){if(typeof te[ae]<"u"){var ie=te[ae];te[ne]=function(oe,se,le){le.context=se.instance,ie(oe,se,le)},delete te[ae]}},directive$1=function(te){for(var ae in te){var ne=te[ae];mapping(ne,"bind","beforeMount"),mapping(ne,"update","updated"),mapping(ne,"unbind","unmounted")}return te},parseVnode=function(te){return te},Text=Text$4,Comment=Comment$1,isEmptyVnode=function(te){return!te||!te.type||[Text,Comment].includes(te.type)},parseProps=function(te){var ae={};for(var ne in te)if(ne==="class"||ne==="style")ae[ne]=te[ne];else if(ne==="on"||ne==="nativeOn"){var ie=te[ne];for(var oe in ie)ae["on"+capitalize(camelize(oe))]=ie[oe]}else if(ne==="attrs"||ne==="props"||ne==="domProps"){var se=te[ne];for(var le in se)ae[le]=se[le]}else ae[ne]=te[ne];return ae},customResolveComponent=function(te){var ae=te,ne=!1;if(typeof te=="string"&&typeof document<"u"){var ie=document.createElement(te),oe=["SVG","CIRCLE","PATH"];ie instanceof HTMLUnknownElement&&!oe.includes(ie.nodeName)||te.includes("-")?(te=te.toLowerCase(),ne=!0,te==="transition"?ae=Transition$1:te==="transition-group"?ae=TransitionGroup:ae=resolveComponent(te)):ae=te}return{type:ae,component:te,customElement:ne}},h=function(te,ae,ne){var ie={},oe=ne,se=customResolveComponent(te),le=se.customElement,ue=se.type;return te=se.component,ae&&typeof ae=="object"&&!Array.isArray(ae)?(ie=parseProps(ae),ae.scopedSlots&&(oe=ae.scopedSlots)):(typeof ae=="string"||Array.isArray(ae))&&(ne=ae),(typeof ne=="string"||Array.isArray(ne))&&(oe=typeof te!="string"||le?function(){return ne}:ne),h$2(ue,ie,oe)},createComponentFn=function(te){return function(ae){var ne,ie=ae.component,oe=ae.propsData,se=ae.el,le=Object.assign(ie,{provide:(ne={},ne[te.configKey]=te.configInstance,ne)}),ue=createVNode$1(le,oe);return render$J(ue,se),createVm({},ue.component)}},defineComponent=defineComponent$1,isVue2=!1,isVnode=isVNode,KeepAlive=KeepAlive$1,stringifyCssClassObject=function(te){var ae=[];return Object.keys(te).forEach(function(ne){return te[ne]&&ae.push(ne)}),ae.join(" ")},stringifyCssClassArray=function(te){var ae=[];return te.forEach(function(ne){typeof ne=="string"?ae.push(ne):typeof ne=="object"&&ae.push(stringifyCssClassObject(ne))}),ae.join(" ")},stringifyCssClass=function(te){if(!te||Array.isArray(te)&&!te.length)return"";var ae=[];return te.forEach(function(ne){ne&&(typeof ne=="string"?ae.push(ne):Array.isArray(ne)?ae.push(stringifyCssClassArray(ne)):typeof ne=="object"&&ae.push(stringifyCssClassObject(ne)))}),ae.join(" ")};function twJoin(){for(var ee=0,te,ae,ne="";ee<arguments.length;)(te=arguments[ee++])&&(ae=toValue(te))&&(ne&&(ne+=" "),ne+=ae);return ne}function toValue(ee){if(typeof ee=="string")return ee;for(var te,ae="",ne=0;ne<ee.length;ne++)ee[ne]&&(te=toValue(ee[ne]))&&(ae&&(ae+=" "),ae+=te);return ae}function _extends$r(){return _extends$r=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$r.apply(this,arguments)}function createLruCache(ee){if(ee<1)return{get:function(){},set:function(){}};var te=0,ae=new Map,ne=new Map;function ie(oe,se){ae.set(oe,se),te++,te>ee&&(te=0,ne=ae,ae=new Map)}return{get:function(se){var le=ae.get(se);if(le!==void 0)return le;if((le=ne.get(se))!==void 0)return ie(se,le),le},set:function(se,le){ae.has(se)?ae.set(se,le):ie(se,le)}}}var CLASS_PART_SEPARATOR="-";function createClassUtils(ee){var te=createClassMap(ee);function ae(ie){var oe=ie.split(CLASS_PART_SEPARATOR);return oe[0]===""&&oe.length!==1&&oe.shift(),getGroupRecursive(oe,te)||getGroupIdForArbitraryProperty(ie)}function ne(ie){return ee.conflictingClassGroups[ie]||[]}return{getClassGroupId:ae,getConflictingClassGroupIds:ne}}function getGroupRecursive(ee,te){var ae;if(ee.length===0)return te.classGroupId;var ne=ee[0],ie=te.nextPart.get(ne),oe=ie?getGroupRecursive(ee.slice(1),ie):void 0;if(oe)return oe;if(te.validators.length!==0){var se=ee.join(CLASS_PART_SEPARATOR);return(ae=te.validators.find(function(le){var ue=le.validator;return ue(se)}))==null?void 0:ae.classGroupId}}var arbitraryPropertyRegex=/^\[(.+)\]$/;function getGroupIdForArbitraryProperty(ee){if(arbitraryPropertyRegex.test(ee)){var te=arbitraryPropertyRegex.exec(ee)[1],ae=te==null?void 0:te.substring(0,te.indexOf(":"));if(ae)return"arbitrary.."+ae}}function createClassMap(ee){var te=ee.theme,ae=ee.prefix,ne={nextPart:new Map,validators:[]},ie=getPrefixedClassGroupEntries(Object.entries(ee.classGroups),ae);return ie.forEach(function(oe){var se=oe[0],le=oe[1];processClassesRecursively(le,ne,se,te)}),ne}function processClassesRecursively(ee,te,ae,ne){ee.forEach(function(ie){if(typeof ie=="string"){var oe=ie===""?te:getPart(te,ie);oe.classGroupId=ae;return}if(typeof ie=="function"){if(isThemeGetter(ie)){processClassesRecursively(ie(ne),te,ae,ne);return}te.validators.push({validator:ie,classGroupId:ae});return}Object.entries(ie).forEach(function(se){var le=se[0],ue=se[1];processClassesRecursively(ue,getPart(te,le),ae,ne)})})}function getPart(ee,te){var ae=ee;return te.split(CLASS_PART_SEPARATOR).forEach(function(ne){ae.nextPart.has(ne)||ae.nextPart.set(ne,{nextPart:new Map,validators:[]}),ae=ae.nextPart.get(ne)}),ae}function isThemeGetter(ee){return ee.isThemeGetter}function getPrefixedClassGroupEntries(ee,te){return te?ee.map(function(ae){var ne=ae[0],ie=ae[1],oe=ie.map(function(se){return typeof se=="string"?te+se:typeof se=="object"?Object.fromEntries(Object.entries(se).map(function(le){var ue=le[0],ce=le[1];return[te+ue,ce]})):se});return[ne,oe]}):ee}var IMPORTANT_MODIFIER="!";function createSplitModifiers(ee){var te=ee.separator||":";return function(ne){for(var ie=0,oe=[],se=0,le=0;le<ne.length;le++){var ue=ne[le];ie===0&&ue===te[0]&&(te.length===1||ne.slice(le,le+te.length)===te)&&(oe.push(ne.slice(se,le)),se=le+te.length),ue==="["?ie++:ue==="]"&&ie--}var ce=oe.length===0?ne:ne.substring(se),de=ce.startsWith(IMPORTANT_MODIFIER),he=de?ce.substring(1):ce;return{modifiers:oe,hasImportantModifier:de,baseClassName:he}}}function sortModifiers(ee){if(ee.length<=1)return ee;var te=[],ae=[];return ee.forEach(function(ne){var ie=ne[0]==="[";ie?(te.push.apply(te,ae.sort().concat([ne])),ae=[]):ae.push(ne)}),te.push.apply(te,ae.sort()),te}function createConfigUtils(ee){return _extends$r({cache:createLruCache(ee.cacheSize),splitModifiers:createSplitModifiers(ee)},createClassUtils(ee))}var SPLIT_CLASSES_REGEX=/\s+/;function mergeClassList(ee,te){var ae=te.splitModifiers,ne=te.getClassGroupId,ie=te.getConflictingClassGroupIds,oe=new Set;return ee.trim().split(SPLIT_CLASSES_REGEX).map(function(se){var le=ae(se),ue=le.modifiers,ce=le.hasImportantModifier,de=le.baseClassName,he=ne(de);if(!he)return{isTailwindClass:!1,originalClassName:se};var fe=sortModifiers(ue).join(":"),pe=ce?fe+IMPORTANT_MODIFIER:fe;return{isTailwindClass:!0,modifierId:pe,classGroupId:he,originalClassName:se}}).reverse().filter(function(se){if(!se.isTailwindClass)return!0;var le=se.modifierId,ue=se.classGroupId,ce=le+ue;return oe.has(ce)?!1:(oe.add(ce),ie(ue).forEach(function(de){return oe.add(le+de)}),!0)}).reverse().map(function(se){return se.originalClassName}).join(" ")}function createTailwindMerge(){for(var ee=arguments.length,te=new Array(ee),ae=0;ae<ee;ae++)te[ae]=arguments[ae];var ne,ie,oe,se=le;function le(ce){var de=te[0],he=te.slice(1),fe=he.reduce(function(pe,ve){return ve(pe)},de());return ne=createConfigUtils(fe),ie=ne.cache.get,oe=ne.cache.set,se=ue,ue(ce)}function ue(ce){var de=ie(ce);if(de)return de;var he=mergeClassList(ce,ne);return oe(ce,he),he}return function(){return se(twJoin.apply(null,arguments))}}function fromTheme(ee){var te=function(ne){return ne[ee]||[]};return te.isThemeGetter=!0,te}var arbitraryValueRegex=/^\[(.+)\]$/,fractionRegex=/^\d+\/\d+$/,stringLengths=new Set(["px","full","screen"]),tshirtUnitRegex=/^(\d+)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh)/,shadowRegex=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;function isLength(ee){return!Number.isNaN(Number(ee))||stringLengths.has(ee)||fractionRegex.test(ee)||isArbitraryLength(ee)}function isArbitraryLength(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?ae.startsWith("length:")||lengthUnitRegex.test(ae):!1}function isArbitrarySize(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?ae.startsWith("size:"):!1}function isArbitraryPosition(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?ae.startsWith("position:"):!1}function isArbitraryUrl(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?ae.startsWith("url(")||ae.startsWith("url:"):!1}function isArbitraryNumber(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?!Number.isNaN(Number(ae))||ae.startsWith("number:"):!1}function isInteger(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?Number.isInteger(Number(ae)):Number.isInteger(Number(ee))}function isArbitraryValue(ee){return arbitraryValueRegex.test(ee)}function isAny(){return!0}function isTshirtSize(ee){return tshirtUnitRegex.test(ee)}function isArbitraryShadow(ee){var te,ae=(te=arbitraryValueRegex.exec(ee))==null?void 0:te[1];return ae?shadowRegex.test(ae):!1}function getDefaultConfig(){var ee=fromTheme("colors"),te=fromTheme("spacing"),ae=fromTheme("blur"),ne=fromTheme("brightness"),ie=fromTheme("borderColor"),oe=fromTheme("borderRadius"),se=fromTheme("borderSpacing"),le=fromTheme("borderWidth"),ue=fromTheme("contrast"),ce=fromTheme("grayscale"),de=fromTheme("hueRotate"),he=fromTheme("invert"),fe=fromTheme("gap"),pe=fromTheme("gradientColorStops"),ve=fromTheme("inset"),ge=fromTheme("margin"),me=fromTheme("opacity"),ye=fromTheme("padding"),_e=fromTheme("saturate"),be=fromTheme("scale"),xe=fromTheme("sepia"),$e=fromTheme("skew"),Se=fromTheme("space"),we=fromTheme("translate"),Ae=function(){return["auto","contain","none"]},Te=function(){return["auto","hidden","clip","visible","scroll"]},De=function(){return["auto",te]},Me=function(){return["",isLength]},Ie=function(){return["auto",isInteger]},Ce=function(){return["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"]},Ee=function(){return["solid","dashed","dotted","double","none"]},Re=function(){return["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"]},ke=function(){return["start","end","center","between","around","evenly"]},Be=function(){return["","0",isArbitraryValue]},Ne=function(){return["auto","avoid","all","avoid-page","page","left","right","column"]};return{cacheSize:500,theme:{colors:[isAny],spacing:[isLength],blur:["none","",isTshirtSize,isArbitraryLength],brightness:[isInteger],borderColor:[ee],borderRadius:["none","","full",isTshirtSize,isArbitraryLength],borderSpacing:[te],borderWidth:Me(),contrast:[isInteger],grayscale:Be(),hueRotate:[isInteger],invert:Be(),gap:[te],gradientColorStops:[ee],inset:De(),margin:De(),opacity:[isInteger],padding:[te],saturate:[isInteger],scale:[isInteger],sepia:Be(),skew:[isInteger,isArbitraryValue],space:[te],translate:[te]},classGroups:{aspect:[{aspect:["auto","square","video",isArbitraryValue]}],container:["container"],columns:[{columns:[isTshirtSize]}],"break-after":[{"break-after":Ne()}],"break-before":[{"break-before":Ne()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none"]}],clear:[{clear:["left","right","both","none"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[].concat(Ce(),[isArbitraryValue])}],overflow:[{overflow:Te()}],"overflow-x":[{"overflow-x":Te()}],"overflow-y":[{"overflow-y":Te()}],overscroll:[{overscroll:Ae()}],"overscroll-x":[{"overscroll-x":Ae()}],"overscroll-y":[{"overscroll-y":Ae()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[ve]}],"inset-x":[{"inset-x":[ve]}],"inset-y":[{"inset-y":[ve]}],top:[{top:[ve]}],right:[{right:[ve]}],bottom:[{bottom:[ve]}],left:[{left:[ve]}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger]}],basis:[{basis:[te]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",isArbitraryValue]}],grow:[{grow:Be()}],shrink:[{shrink:Be()}],order:[{order:["first","last","none",isInteger]}],"grid-cols":[{"grid-cols":[isAny]}],"col-start-end":[{col:["auto",{span:[isInteger]}]}],"col-start":[{"col-start":Ie()}],"col-end":[{"col-end":Ie()}],"grid-rows":[{"grid-rows":[isAny]}],"row-start-end":[{row:["auto",{span:[isInteger]}]}],"row-start":[{"row-start":Ie()}],"row-end":[{"row-end":Ie()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",isArbitraryValue]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",isArbitraryValue]}],gap:[{gap:[fe]}],"gap-x":[{"gap-x":[fe]}],"gap-y":[{"gap-y":[fe]}],"justify-content":[{justify:ke()}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:[].concat(ke(),["baseline"])}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[].concat(ke(),["baseline","stretch"])}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[ye]}],px:[{px:[ye]}],py:[{py:[ye]}],pt:[{pt:[ye]}],pr:[{pr:[ye]}],pb:[{pb:[ye]}],pl:[{pl:[ye]}],m:[{m:[ge]}],mx:[{mx:[ge]}],my:[{my:[ge]}],mt:[{mt:[ge]}],mr:[{mr:[ge]}],mb:[{mb:[ge]}],ml:[{ml:[ge]}],"space-x":[{"space-x":[Se]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[Se]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit",te]}],"min-w":[{"min-w":["min","max","fit",isLength]}],"max-w":[{"max-w":["0","none","full","min","max","fit","prose",{screen:[isTshirtSize]},isTshirtSize,isArbitraryLength]}],h:[{h:[te,"auto","min","max","fit"]}],"min-h":[{"min-h":["min","max","fit",isLength]}],"max-h":[{"max-h":[te,"min","max","fit"]}],"font-size":[{text:["base",isTshirtSize,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",isArbitraryNumber]}],"font-family":[{font:[isAny]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",isArbitraryLength]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",isLength]}],"list-style-type":[{list:["none","disc","decimal",isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[ee]}],"placeholder-opacity":[{"placeholder-opacity":[me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[ee]}],"text-opacity":[{"text-opacity":[me]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[].concat(Ee(),["wavy"])}],"text-decoration-thickness":[{decoration:["auto","from-font",isLength]}],"underline-offset":[{"underline-offset":["auto",isLength]}],"text-decoration-color":[{decoration:[ee]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],indent:[{indent:[te]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryLength]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap"]}],break:[{break:["normal","words","all","keep"]}],content:[{content:["none",isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[me]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[].concat(Ce(),[isArbitraryPosition])}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",isArbitrarySize]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},isArbitraryUrl]}],"bg-color":[{bg:[ee]}],"gradient-from":[{from:[pe]}],"gradient-via":[{via:[pe]}],"gradient-to":[{to:[pe]}],rounded:[{rounded:[oe]}],"rounded-t":[{"rounded-t":[oe]}],"rounded-r":[{"rounded-r":[oe]}],"rounded-b":[{"rounded-b":[oe]}],"rounded-l":[{"rounded-l":[oe]}],"rounded-tl":[{"rounded-tl":[oe]}],"rounded-tr":[{"rounded-tr":[oe]}],"rounded-br":[{"rounded-br":[oe]}],"rounded-bl":[{"rounded-bl":[oe]}],"border-w":[{border:[le]}],"border-w-x":[{"border-x":[le]}],"border-w-y":[{"border-y":[le]}],"border-w-t":[{"border-t":[le]}],"border-w-r":[{"border-r":[le]}],"border-w-b":[{"border-b":[le]}],"border-w-l":[{"border-l":[le]}],"border-opacity":[{"border-opacity":[me]}],"border-style":[{border:[].concat(Ee(),["hidden"])}],"divide-x":[{"divide-x":[le]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[le]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[me]}],"divide-style":[{divide:Ee()}],"border-color":[{border:[ie]}],"border-color-x":[{"border-x":[ie]}],"border-color-y":[{"border-y":[ie]}],"border-color-t":[{"border-t":[ie]}],"border-color-r":[{"border-r":[ie]}],"border-color-b":[{"border-b":[ie]}],"border-color-l":[{"border-l":[ie]}],"divide-color":[{divide:[ie]}],"outline-style":[{outline:[""].concat(Ee())}],"outline-offset":[{"outline-offset":[isLength]}],"outline-w":[{outline:[isLength]}],"outline-color":[{outline:[ee]}],"ring-w":[{ring:Me()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[ee]}],"ring-opacity":[{"ring-opacity":[me]}],"ring-offset-w":[{"ring-offset":[isLength]}],"ring-offset-color":[{"ring-offset":[ee]}],shadow:[{shadow:["","inner","none",isTshirtSize,isArbitraryShadow]}],"shadow-color":[{shadow:[isAny]}],opacity:[{opacity:[me]}],"mix-blend":[{"mix-blend":Re()}],"bg-blend":[{"bg-blend":Re()}],filter:[{filter:["","none"]}],blur:[{blur:[ae]}],brightness:[{brightness:[ne]}],contrast:[{contrast:[ue]}],"drop-shadow":[{"drop-shadow":["","none",isTshirtSize,isArbitraryValue]}],grayscale:[{grayscale:[ce]}],"hue-rotate":[{"hue-rotate":[de]}],invert:[{invert:[he]}],saturate:[{saturate:[_e]}],sepia:[{sepia:[xe]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[ae]}],"backdrop-brightness":[{"backdrop-brightness":[ne]}],"backdrop-contrast":[{"backdrop-contrast":[ue]}],"backdrop-grayscale":[{"backdrop-grayscale":[ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[de]}],"backdrop-invert":[{"backdrop-invert":[he]}],"backdrop-opacity":[{"backdrop-opacity":[me]}],"backdrop-saturate":[{"backdrop-saturate":[_e]}],"backdrop-sepia":[{"backdrop-sepia":[xe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[se]}],"border-spacing-x":[{"border-spacing-x":[se]}],"border-spacing-y":[{"border-spacing-y":[se]}],"table-layout":[{table:["auto","fixed"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",isArbitraryValue]}],duration:[{duration:[isInteger]}],ease:[{ease:["linear","in","out","in-out",isArbitraryValue]}],delay:[{delay:[isInteger]}],animate:[{animate:["none","spin","ping","pulse","bounce",isArbitraryValue]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[be]}],"scale-x":[{"scale-x":[be]}],"scale-y":[{"scale-y":[be]}],rotate:[{rotate:[isInteger,isArbitraryValue]}],"translate-x":[{"translate-x":[we]}],"translate-y":[{"translate-y":[we]}],"skew-x":[{"skew-x":[$e]}],"skew-y":[{"skew-y":[$e]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",isArbitraryValue]}],accent:[{accent:["auto",ee]}],appearance:["appearance-none"],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryValue]}],"caret-color":[{caret:[ee]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":[te]}],"scroll-mx":[{"scroll-mx":[te]}],"scroll-my":[{"scroll-my":[te]}],"scroll-mt":[{"scroll-mt":[te]}],"scroll-mr":[{"scroll-mr":[te]}],"scroll-mb":[{"scroll-mb":[te]}],"scroll-ml":[{"scroll-ml":[te]}],"scroll-p":[{"scroll-p":[te]}],"scroll-px":[{"scroll-px":[te]}],"scroll-py":[{"scroll-py":[te]}],"scroll-pt":[{"scroll-pt":[te]}],"scroll-pr":[{"scroll-pr":[te]}],"scroll-pb":[{"scroll-pb":[te]}],"scroll-pl":[{"scroll-pl":[te]}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","pinch-zoom","manipulation",{pan:["x","left","right","y","up","down"]}]}],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryValue]}],fill:[{fill:[ee,"none"]}],"stroke-w":[{stroke:[isLength,isArbitraryNumber]}],stroke:[{stroke:[ee,"none"]}],sr:["sr-only","not-sr-only"]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],"col-start-end":["col-start","col-end"],"row-start-end":["row-start","row-end"],gap:["gap-x","gap-y"],p:["px","py","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],rounded:["rounded-t","rounded-r","rounded-b","rounded-l","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"]}}}var twMerge=createTailwindMerge(getDefaultConfig),useBreakpoint=function(){if(!isServer$4){var te=ref(""),ae=["2xl","xl","lg","md","sm"],ne={"2xl":window.matchMedia("(min-width:1536px)"),xl:window.matchMedia("(min-width:1280px)"),lg:window.matchMedia("(min-width:1024px)"),md:window.matchMedia("(min-width:768px)"),sm:window.matchMedia("(min-width:640px)")},ie=function(){for(var le=0;le<ae.length;le++){var ue=ae[le];if(ne[ue].matches){te.value=ue;return}}te.value="default"},oe=debounce_default(0,function(){return ie()});return ie(),ae.forEach(function(se){return ne[se].addEventListener("change",oe)}),onBeforeUnmount(function(){ae.forEach(function(se){return ne[se].removeEventListener("change",oe)})}),{current:te}}};function useDefer(ee){ee===void 0&&(ee=100);var te=ref(0),ae;function ne(){ae=requestAnimationFrame(function(){te.value++,!(te.value>=ee)&&ne()})}function ie(){ae&&(cancelAnimationFrame(ae),ae=0)}return ne(),onBeforeUnmount(function(){return ie()}),{defer:function(se){return te.value>=se},reset:function(){ie(),te.value=0,ne()},cancel:ie}}var $prefix="Tiny",$props={tiny_mode:String,tiny_mode_root:Boolean,tiny_template:[Function,Object],tiny_renderless:Function,tiny_theme:String,tiny_chart_theme:Object},props=["tiny_mode","tiny_mode_root","tiny_template","tiny_renderless","_constants","tiny_theme","tiny_chart_theme"],resolveMode=function(te,ae){var ne=function(he){return~["pc","mobile","mobile-first"].indexOf(he)},ie=rootConfig(ae),oe=typeof te.tiny_mode=="string"?te.tiny_mode:null,se=inject("TinyMode",null),le;typeof ie.tiny_mode=="string"?le=ie.tiny_mode:ie.tiny_mode&&(le=ie.tiny_mode.value),ne(oe)||(oe=null),ne(se)||(se=null),ne(le)||(le=null);var ue=oe||se||le||"pc";te.tiny_mode_root&&provide("TinyMode",ue);var ce=getCurrentInstance();return Object.defineProperty(ce,"_tiny_mode",{value:ue}),ue},resolveTheme=function(te,ae){var ne=function(de){return~["tiny","saas"].indexOf(de)},ie=rootConfig(ae),oe=typeof te.tiny_theme=="string"?te.tiny_theme:null,se=inject("TinyTheme",null),le=ie.tiny_theme&&ie.tiny_theme.value;ne(oe)||(oe=null),ne(se)||(se=null),ne(le)||(le=null);var ue=oe||se||le||"tiny";return ue},resolveChartTheme=function(te,ae){var ne=rootConfig(ae),ie=typeof te.tiny_chart_theme=="object"?te.tiny_chart_theme:null,oe=inject("TinyChartTheme",null),se=ne.tiny_chart_theme&&ne.tiny_chart_theme.value,le=ie||oe||se||null;return le},$setup=function(te){var ae=te.props,ne=te.context,ie=te.template,oe=te.extend,se=oe===void 0?{}:oe,le=resolveMode(ae,ne),ue=computed(function(){if(typeof ae.tiny_template<"u")return ae.tiny_template;var ce=ie(le,ae);return typeof ce=="function"?defineAsyncComponent(ce):ce});return renderComponent({view:ue,props:ae,context:ne,extend:se})},mergeClass=function(){for(var te=arguments.length,ae=new Array(te),ne=0;ne<te;ne++)ae[ne]=arguments[ne];return twMerge(stringifyCssClass(ae))},design={configKey:Symbol("designConfigKey"),configInstance:null},createComponent=createComponentFn(design),setup=function(te){var ae,ne,ie=te.props,oe=te.context,se=te.renderless,le=te.api,ue=te.extendOptions,ce=ue===void 0?{}:ue,de=te.mono,he=de===void 0?!1:de,fe=te.classes,pe=fe===void 0?{}:fe,ve=typeof ie.tiny_renderless=="function"?ie.tiny_renderless:se,ge=inject(design.configKey,{}),me=ge==null||(ae=ge.components)==null?void 0:ae[getComponentName().replace($prefix,"")],ye=typeof process=="object"?(ne={})==null?void 0:ne.TINY_MODE:null,_e=_extends2({$prefix,t:t$2},tools(oe,resolveMode(ie,oe)),{designConfig:me,globalDesignConfig:ge,useBreakpoint});ye!=="pc"&&(_e.mergeClass=mergeClass),_e.vm.theme=resolveTheme(ie,oe),_e.vm.chartTheme=resolveChartTheme(ie,oe);var be=ve(ie,hooks,_e,ce);typeof(me==null?void 0:me.renderless)=="function"&&Object.assign(be,me.renderless(ie,hooks,_e,be));var xe={t:t$2,vm:_e.vm,f:bindFilter,a:filterAttrs,d:_e.defineInstanceProperties,dp:_e.defineParentInstanceProperties,gcls:function(Se){return getElementCssClass(pe,Se)}};return ye!=="pc"&&(xe.m=mergeClass),xe.d({slots:{get:function(){return _e.vm.$slots},configurable:!0},scopedSlots:{get:function(){return _e.vm.$scopedSlots},configurable:!0}}),xe.dp({slots:{get:function(){return _e.parent.$slots},configurable:!0},scopedSlots:{get:function(){return _e.parent.$scopedSlots},configurable:!0}}),initComponent(),Array.isArray(le)&&(Array.isArray(me==null?void 0:me.api)&&(le=le.concat(me.api)),le.forEach(function($e){var Se=be[$e];typeof Se<"u"&&(xe[$e]=Se,he||_e.setParentAttribute({name:$e,value:Se}))})),xe};function svg(ee){var te=ee.name,ae=te===void 0?"Icon":te,ne=ee.component;return function(ie){return markRaw(defineComponent({name:$prefix+ae,setup:function(se,le){var ue,ce=le.attrs||{},de=ce.fill,he=ce.width,fe=ce.height,pe=ce["custom-class"],ve=Object.assign({},se,ie||null),ge=resolveMode(ve,le),me=ge==="mobile-first",ye={"data-tag":me?"tiny-svg":null},_e=ye,be="tiny-svg",xe=typeof process=="object"?(ue={})==null?void 0:ue.TINY_MODE:null;xe!=="pc"&&me&&(be=mergeClass("h-4 w-4 inline-block",pe||"",ve.class||""));var $e=Object.assign({style:{fill:de,width:he,height:fe},class:be,isSvg:!0},_e);return $e.nativeOn=le.listeners,renderComponent({component:ne,props:ve,context:le,extend:$e})}}))}}var filterAttrs=function(te,ae,ne){var ie={},oe=function(ue){var ce=ae.some(function(de){return new RegExp(de).test(ue)});(ne&&ce||!ne&&!ce)&&(ie[ue]=te[ue])};for(var se in te)oe(se);return ie},setupComponent={},initComponent=function(){for(var te in setupComponent){var ae=setupComponent[te];typeof ae.install=="function"&&ae.install(appContext()),typeof ae.init=="function"&&ae.init(appProperties())}setupComponent={}},$install=function(te){te.install=function(ae){ae.component(te.name,te)}},_hoisted_1$1i={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$1c=createBaseVNode("path",{d:"M884.364 535.273c51.2 0 93.09 41.89 93.09 93.09v256c0 51.2-41.89 93.092-93.09 93.092h-256c-51.2 0-93.091-41.891-93.091-93.091v-256c0-51.2 41.89-93.091 93.09-93.091h256zm23.272 349.09v-256c0-12.613-10.659-23.272-23.272-23.272h-256c-12.614 0-23.273 10.659-23.273 23.273v256c0 12.613 10.659 23.272 23.273 23.272h256c12.613 0 23.272-10.659 23.272-23.272zM884.364 46.546c51.2 0 93.09 41.891 93.09 93.091v256c0 51.2-41.89 93.091-93.09 93.091h-256c-51.2 0-93.091-41.89-93.091-93.09v-256c0-51.2 41.89-93.092 93.09-93.092h256zm23.272 349.091v-256c0-12.613-10.659-23.272-23.272-23.272h-256c-12.614 0-23.273 10.659-23.273 23.272v256c0 12.614 10.659 23.273 23.273 23.273h256c12.613 0 23.272-10.659 23.272-23.273zm-768-349.09h256c51.2 0 93.091 41.89 93.091 93.09v256c0 51.2-41.89 93.091-93.09 93.091h-256c-51.2 0-93.092-41.89-93.092-93.09v-256c0-51.2 41.891-93.092 93.091-93.092zm279.273 349.09v-256c0-12.613-10.659-23.272-23.273-23.272h-256c-12.613 0-23.272 10.659-23.272 23.272v256c0 12.614 10.659 23.273 23.272 23.273h256c12.614 0 23.273-10.659 23.273-23.273zm-23.273 139.637c51.2 0 93.091 41.89 93.091 93.09v256c0 51.2-41.89 93.092-93.09 93.092h-256c-51.2 0-93.092-41.891-93.092-93.091v-256c0-51.2 41.891-93.091 93.091-93.091h256zm23.273 349.09v-256c0-12.613-10.659-23.272-23.273-23.272h-256c-12.613 0-23.272 10.659-23.272 23.273v256c0 12.613 10.659 23.272 23.272 23.272h256c12.614 0 23.273-10.659 23.273-23.272z"},null,-1),_hoisted_3$17=[_hoisted_2$1c];function render$I(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1i,[].concat(_hoisted_3$17))}var Application={render:render$I},index$1d=function(){return svg({name:"IconApplication",component:Application})()},_hoisted_1$1h={viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$1b=createBaseVNode("path",{d:"M3.284 4h7.432a1 1 0 0 1 .735 1.678L7.735 9.704a1 1 0 0 1-1.47 0L2.55 5.678A1 1 0 0 1 3.284 4Z"},null,-1),_hoisted_3$16=[_hoisted_2$1b];function render$H(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1h,[].concat(_hoisted_3$16))}var ArrowBottom={render:render$H},index$1c=function(){return svg({name:"IconArrowBottom",component:ArrowBottom})()},_hoisted_1$1g={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$1a=createBaseVNode("path",{class:"check-out_svg__svg-checkout-r1",d:"M6 5h7c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1s.4-1 1-1z"},null,-1),_hoisted_3$15=createBaseVNode("path",{class:"check-out_svg__svg-checkout-r2",d:"M6 9h5c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1s.4-1 1-1z"},null,-1),_hoisted_4$B=createBaseVNode("path",{class:"check-out_svg__svg-checkout-c",d:"m16.1 20 5.7-5.7c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6.4 6.4c-.4.4-1 .4-1.4 0l-3.5-3.5c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l2.8 2.8z"},null,-1),_hoisted_5$m=createBaseVNode("path",{class:"check-out_svg__svg-checkout-w",d:"M18 1H4c-.9 0-2 1.1-2 2v18c0 .9 1.1 2 2 2h6c.5 0 1-.5 1-1s-.5-1-1-1H4V3h14v9c0 .5.5 1 1 1s1-.5 1-1V3c0-.9-1.1-2-2-2z"},null,-1),_hoisted_6$j=[_hoisted_2$1a,_hoisted_3$15,_hoisted_4$B,_hoisted_5$m];function render$G(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1g,[].concat(_hoisted_6$j))}var CheckOut={render:render$G},index$1b=function(){return svg({name:"IconCheckOut",component:CheckOut})()},_hoisted_1$1f={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$19=createBaseVNode("path",{d:"M13 2H3a1 1 0 0 0-.993.883L2 3v10a1 1 0 0 0 .883.993L3 14h10a1 1 0 0 0 .993-.883L14 13V3a1 1 0 0 0-.883-.993L13 2Z",fill:"#FFF"},null,-1),_hoisted_3$14=createBaseVNode("path",{d:"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10Zm0 1H3a1 1 0 0 0-.993.883L2 3v10a1 1 0 0 0 .883.993L3 14h10a1 1 0 0 0 .993-.883L14 13V3a1 1 0 0 0-.883-.993L13 2Z"},null,-1),_hoisted_4$A=[_hoisted_2$19,_hoisted_3$14];function render$F(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1f,[].concat(_hoisted_4$A))}var Check={render:render$F},index$1a=function(){return svg({name:"IconCheck",component:Check})()},_hoisted_1$1e={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$18=createBaseVNode("path",{d:"M12.9 1c1.16 0 2.1.94 2.1 2.1v9.8a2.1 2.1 0 0 1-2.1 2.1H3.1A2.1 2.1 0 0 1 1 12.9V3.1C1 1.94 1.94 1 3.1 1h9.8Zm-.335 4.115a.7.7 0 0 0-.924-.058l-.066.058L7.119 9.57 4.645 7.095a.7.7 0 0 0-1.048.924l.058.066 2.97 2.97a.7.7 0 0 0 .924.058l.066-.058 4.95-4.95a.7.7 0 0 0 0-.99Z"},null,-1),_hoisted_3$13=createBaseVNode("path",{d:"M12.565 5.115a.7.7 0 0 0-.924-.058l-.066.058L7.119 9.57 4.645 7.095a.7.7 0 0 0-1.048.924l.058.066 2.97 2.97a.7.7 0 0 0 .924.058l.066-.058 4.95-4.95a.7.7 0 0 0 0-.99Z",fill:"#FFF"},null,-1),_hoisted_4$z=[_hoisted_2$18,_hoisted_3$13];function render$E(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1e,[].concat(_hoisted_4$z))}var CheckedSur={render:render$E},index$19=function(){return svg({name:"IconCheckedSur",component:CheckedSur})()},_hoisted_1$1d={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$17=createBaseVNode("path",{class:"chevron-right_svg__st0",d:"M7 21c.2 0 .5-.1.6-.2l9.9-8c.2-.2.4-.5.4-.8 0-.3-.1-.6-.4-.8L7.6 3.3c-.4-.4-1.1-.3-1.4.2-.4.4-.3 1.1.2 1.4l8.9 7.2-8.9 7.2c-.4.4-.5 1-.2 1.4.2.2.5.3.8.3z"},null,-1),_hoisted_3$12=[_hoisted_2$17];function render$D(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1d,[].concat(_hoisted_3$12))}var ChevronRight={render:render$D},index$18=function(){return svg({name:"IconChevronRight",component:ChevronRight})()},_hoisted_1$1c={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$16=createBaseVNode("path",{class:"close_svg__st0",d:"m13.4 12 6.3-6.3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L12 10.6 5.7 4.3c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4l6.3 6.3-6.3 6.3c-.4.4-.4 1 0 1.4.2.2.4.3.7.3.3 0 .5-.1.7-.3l6.3-6.3 6.3 6.3c.2.2.4.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4L13.4 12z"},null,-1),_hoisted_3$11=[_hoisted_2$16];function render$C(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1c,[].concat(_hoisted_3$11))}var Close={render:render$C},index$17=function(){return svg({name:"IconClose",component:Close})()},_hoisted_1$1b={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$15=createBaseVNode("path",{class:"cue-l_svg__st0",d:"M12 2c1.4 0 2.7.3 3.9.8 1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2zm0-2C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm0 16c-.5 0-1-.4-1-1V6c0-.5.5-1 1-1s1 .4 1 1v9c0 .6-.5 1-1 1zm-1.1 2c0 .6.5 1 1.1 1s1.1-.4 1.1-1-.5-1-1.1-1-1.1.4-1.1 1z"},null,-1),_hoisted_3$10=[_hoisted_2$15];function render$B(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1b,[].concat(_hoisted_3$10))}var CueL={render:render$B},index$16=function(){return svg({name:"IconCueL",component:CueL})()},_hoisted_1$1a={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$14=createBaseVNode("path",{d:"M509.4 900.5c-11.6 0-21-9.4-21-21v-168c0-11.6 9.4-21 21-21s21 9.4 21 21v168c0 11.6-9.4 21-21 21z"},null,-1),_hoisted_3$$=createBaseVNode("path",{d:"M509.4 933.3c-5.4 0-10.7-2.1-14.8-6.2-8.2-8.2-8.2-21.5 0-29.7l74.2-74.3c8.2-8.2 21.5-8.2 29.7 0s8.2 21.5 0 29.7l-74.2 74.3c-4.2 4.1-9.6 6.2-14.9 6.2z"},null,-1),_hoisted_4$y=createBaseVNode("path",{d:"M509.4 933.3c-5.4 0-10.7-2.1-14.8-6.2l-74.2-74.2c-8.2-8.2-8.2-21.5 0-29.7s21.5-8.2 29.7 0l74.2 74.2c8.2 8.2 8.2 21.5 0 29.7-4.2 4.1-9.6 6.2-14.9 6.2zm233.3-130.2c-56 0-110.1-20.3-152.2-57.2-8.7-7.6-9.6-20.9-1.9-29.6 7.6-8.7 20.9-9.6 29.6-1.9 34.4 30.2 78.6 46.8 124.5 46.8 104.2 0 189-84.8 189-189 0-91.8-65.6-170-156.1-185.9l-16.2-2.8-1.1-16.4c-9.2-131.4-119.5-234.3-251.1-234.3-120.4 0-224.4 85.7-247.3 203.8l-2.7 13.8-13.8 2.8C155.8 371 92.2 448.9 92.2 538.4c0 104.2 84.8 189 189 189 43.1 0 83.6-14.1 117.3-40.9 9.1-7.2 22.3-5.7 29.5 3.4 7.2 9.1 5.7 22.3-3.4 29.5-41.2 32.7-90.7 50-143.4 50-127.4 0-231-103.6-231-231 0-104.8 71.3-196.5 171.4-223.2C253.4 184.3 371.4 90.7 507.2 90.7c148.3 0 273.3 111.8 291.5 257.5 102.3 25.4 175 117.1 175 224 0 127.3-103.6 230.9-231 230.9z"},null,-1),_hoisted_5$l=[_hoisted_2$14,_hoisted_3$$,_hoisted_4$y];function render$A(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$1a,[].concat(_hoisted_5$l))}var DownloadCloud={render:render$A},index$15=function(){return svg({name:"IconDownloadCloud",component:DownloadCloud})()},_hoisted_1$19={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$13=createBaseVNode("path",{d:"M14.8 1.2c-1.1-1.1-2.9-1.1-4 0L3.2 8.8c-.3.3-.5.6-.7 1L0 16l6.2-2.5c.4-.2.7-.4 1-.7l7.7-7.7c1-1 1-2.8-.1-3.9zm-8.3 11c-.2.2-.4.3-.7.4l-4 1.6 1.6-4c.1-.2.3-.5.5-.7l6-6 2.6 2.6-6 6.1zm7.6-7.7-1 1-2.6-2.6 1-1c.3-.3.8-.5 1.3-.5s1 .2 1.3.5c.7.7.7 1.9 0 2.6z"},null,-1),_hoisted_3$_=[_hoisted_2$13];function render$z(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$19,[].concat(_hoisted_3$_))}var Edit={render:render$z},index$14=function(){return svg({name:"IconEdit",component:Edit})()},_hoisted_1$18={class:"error_svg__tiny-icon-error",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",style:{"enable-background":"new 0 0 14 14"},"xml:space":"preserve"},_hoisted_2$12=createBaseVNode("path",{d:"M14 7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7 7 3.13 7 7z",style:{"fill-rule":"evenodd","clip-rule":"evenodd"}},null,-1),_hoisted_3$Z=createBaseVNode("path",{d:"M9.96 9.29c.09.09.14.21.14.34 0 .13-.05.25-.14.33a.47.47 0 0 1-.67 0L7 7.67 4.71 9.96c-.18.18-.49.18-.67 0a.483.483 0 0 1 0-.67L6.33 7 4.04 4.71c-.09-.09-.14-.21-.14-.34s.05-.25.14-.34c.18-.18.49-.18.67 0L7 6.33l2.29-2.29c.19-.18.49-.18.67 0 .09.09.14.21.14.34s-.05.25-.14.34L7.67 7l2.29 2.29z",style:{fill:"#fff"}},null,-1),_hoisted_4$x=[_hoisted_2$12,_hoisted_3$Z];function render$y(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$18,[].concat(_hoisted_4$x))}var Error$1={render:render$y},index$13=function(){return svg({name:"IconError",component:Error$1})()},_hoisted_1$17={viewBox:"0 0 16 12",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$11=createBaseVNode("path",{d:"m3.486 3.207.712.712-.233.187c-.154.127-.307.261-.458.402l-.287.276c-.374.373-.712.762-1.011 1.151l-.047.061-.044.06-.184.251.275.374.232.291c.318.388.675.773 1.066 1.136l.244.22C5.059 9.47 6.489 10.14 8 10.14l.295-.009a5.472 5.472 0 0 0 1.722-.392l.76.762-.295.13c-.792.33-1.62.51-2.482.51l-.298-.007c-1.78-.086-3.414-.937-4.876-2.294l-.312-.3A12.91 12.91 0 0 1 1.416 7.29l-.051-.068-.05-.065-.174-.237-.135-.197-.099-.153-.04-.083a.501.501 0 0 1-.001-.357l.041-.084.099-.153.135-.197.174-.237.101-.133.252-.317c.346-.421.732-.839 1.158-1.234.216-.201.437-.39.66-.568ZM3.757.858l.096.01a.506.506 0 0 1 .258.137l1.112 1.11A6.491 6.491 0 0 1 8 1.474l.298.007c1.78.086 3.414.937 4.876 2.294l.312.3c.406.406.772.829 1.098 1.251l.051.068.05.065.173.237.136.197.098.153.042.083a.497.497 0 0 1 0 .357l-.042.084-.098.153-.136.197-.173.237-.101.133-.252.317c-.346.42-.732.838-1.158 1.234l-.288.26c-.123.106-.247.209-.372.308l.789.788.058.07a.5.5 0 0 1-.058.637l-.07.058a.499.499 0 0 1-.637-.058l-.907-.907v.002l-.727-.728V9.27l-.841-.841-.707-.706v-.002l-6.01-6.009-.058-.07a.5.5 0 0 1 .411-.784Zm1.535 4.157.775.775-.037.169c-.02.114-.03.23-.03.35l.005.15A2 2 0 0 0 8 8.308l.177-.008c.116-.01.23-.03.34-.06l.777.774-.2.087A2.99 2.99 0 0 1 8 9.308l-.176-.005a3 3 0 0 1-2.532-4.288ZM8 2.475l-.28.008a5.465 5.465 0 0 0-1.736.393l.722.724c.392-.187.83-.292 1.294-.292l.176.005A3 3 0 0 1 11 6.31l-.007.205a2.977 2.977 0 0 1-.285 1.087L11.8 8.697c.235-.182.465-.378.692-.589l.287-.276c.374-.373.712-.762 1.011-1.151l.047-.062.044-.059.183-.253-.274-.372-.232-.291a11.566 11.566 0 0 0-1.066-1.136l-.244-.22C10.941 3.146 9.511 2.475 8 2.475Zm0 1.833-.182.008c-.115.01-.227.03-.335.06l2.45 2.45c.043-.165.067-.338.067-.517l-.005-.15A2 2 0 0 0 8 4.309Z","fill-rule":"evenodd"},null,-1),_hoisted_3$Y=[_hoisted_2$11];function render$x(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$17,[].concat(_hoisted_3$Y))}var Eyeclose={render:render$x},index$12=function(){return svg({name:"IconEyeclose",component:Eyeclose})()},_hoisted_1$16={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$10=createStaticVNode('<defs><filter x="-52.5%" y="-80.8%" width="204.9%" height="261.6%" filterUnits="objectBoundingBox" id="eyeopen_svg__a"><feOffset dx="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur><feColorMatrix values="0 0 0 0 0.145098039 0 0 0 0 0.168627451 0 0 0 0 0.22745098 0 0 0 0.08 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix><feMerge><feMergeNode in="shadowMatrixOuter1"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><g fill="none" fill-rule="evenodd"><path d="M0 16h16V0H0z"></path><g filter="url(#eyeopen_svg__a)" transform="translate(1.327 3.667)" stroke="currentColor"><path d="M6.673 8.666c-1.66 0-3.286-.729-4.833-2.166A12.238 12.238 0 0 1 .485 5.01l-.267-.361L0 4.322l.227-.318.261-.353c.414-.537.87-1.038 1.352-1.485C3.387.729 5.013 0 6.673 0c1.66 0 3.286.729 4.833 2.166.482.448.938.949 1.355 1.49l.267.361.218.327-.227.318-.261.353c-.414.537-.87 1.038-1.352 1.485-1.547 1.437-3.173 2.166-4.833 2.166Z" stroke-linejoin="round"></path><path d="M6.673 6.833a2.503 2.503 0 0 1-2.5-2.5c0-1.378 1.122-2.5 2.5-2.5s2.5 1.122 2.5 2.5-1.122 2.5-2.5 2.5Z"></path></g></g>',2),_hoisted_4$w=[_hoisted_2$10];function render$w(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$16,[].concat(_hoisted_4$w))}var Eyeopen={render:render$w},index$11=function(){return svg({name:"IconEyeopen",component:Eyeopen})()},_hoisted_1$15={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$$=createBaseVNode("path",{d:"M13.5 12.833a.5.5 0 0 1 .068.996l-.068.004h-11a.5.5 0 0 1-.068-.995l.068-.005h11ZM4.597 5.362c.21-.21.57-.06.57.236v4.805c0 .296-.36.445-.57.236l-2.26-2.262a.532.532 0 0 1 0-.754ZM13.5 9.278a.5.5 0 0 1 .068.995l-.068.005H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.556a.5.5 0 0 1 .068.996l-.068.004H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.555a.5.5 0 0 1 .068.995l-.068.005h-11a.5.5 0 0 1-.068-.996l.068-.004h11Z"},null,-1),_hoisted_3$X=[_hoisted_2$$];function render$v(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$15,[].concat(_hoisted_3$X))}var EditorMenuLeft={render:render$v},index$10=function(){return svg({name:"EditorMenuLeft",component:EditorMenuLeft})()},_hoisted_1$14={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$_=createBaseVNode("path",{d:"M13.5 12.833a.5.5 0 0 1 .068.996l-.068.004h-11a.5.5 0 0 1-.068-.995l.068-.005h11ZM2.167 5.598c0-.297.358-.446.569-.236l2.26 2.261a.532.532 0 0 1 0 .754l-2.26 2.261a.333.333 0 0 1-.57-.235ZM13.5 9.278a.5.5 0 0 1 .068.995l-.068.005H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.556a.5.5 0 0 1 .068.996l-.068.004H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.555a.5.5 0 0 1 .068.995l-.068.005h-11a.5.5 0 0 1-.068-.996l.068-.004h11Z"},null,-1),_hoisted_3$W=[_hoisted_2$_];function render$u(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$14,[].concat(_hoisted_3$W))}var EditorMenuRight={render:render$u},index$$=function(){return svg({name:"EditorMenuRight",component:EditorMenuRight})()},_hoisted_1$13={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 525.84 484","xml:space":"preserve"},_hoisted_2$Z=createBaseVNode("path",{d:"M390.801 0H134.559C60.238 0 0 60.641 0 134.559v214.882C0 423.762 60.641 484 134.559 484h256.722c74.32 0 134.559-60.641 134.559-134.559V134.559C525.762 60.641 465.121 0 390.801 0zM491.68 349.441h-.078c0 55.359-45.043 100.398-100.402 100.398H134.56c-55.36 0-100.399-45.039-100.399-100.398V134.559C34.161 79.199 79.2 34.16 134.56 34.16h256.32c55.602 0 100.801 45.039 100.801 100.399v214.882z"},null,-1),_hoisted_3$V=createBaseVNode("path",{d:"M410.879 152H332.32c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h78.559c9.441 0 17.121-7.679 17.121-17.117 0-9.441-7.68-17.121-17.121-17.121zM272.078 152H116.16c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h155.918c9.441 0 17.121-7.679 17.121-17.117 0-9.441-7.679-17.121-17.121-17.121zM271.078 288H115.16c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h155.918c9.441 0 17.121-7.68 17.121-17.117 0-9.441-7.679-17.121-17.121-17.121zM409.879 288H331.32c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h78.559c9.441 0 17.121-7.68 17.121-17.117 0-9.441-7.68-17.121-17.121-17.121z"},null,-1),_hoisted_4$v=[_hoisted_2$Z,_hoisted_3$V];function render$t(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$13,[].concat(_hoisted_4$v))}var Files={render:render$t},index$_=function(){return svg({name:"IconFiles",component:Files})()},_hoisted_1$12={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$Y=createBaseVNode("path",{class:"filetext_svg__st0",d:"M20.5 7.1 14 .5l-.3-.3s-.1 0-.1-.1h-.1c-.2 0-.5-.1-.7-.1H4.7C3.8 0 3 .8 3 1.7v20.6c0 .9.8 1.7 1.7 1.7h14.6c.9 0 1.7-.8 1.7-1.7v-14c0-.5-.2-.9-.5-1.2zM18 8h-5V3l5 5zm1 14H5V2h6v5.5c0 .9 1.7 2.5 2.6 2.5H19v12z"},null,-1),_hoisted_3$U=createBaseVNode("path",{class:"filetext_svg__st0",d:"M7 18h7c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.5-1 1-1zM7 12h5c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.5-1 1-1zM7 15h10c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.5-1 1-1z"},null,-1),_hoisted_4$u=[_hoisted_2$Y,_hoisted_3$U];function render$s(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$12,[].concat(_hoisted_4$u))}var Filetext={render:render$s},index$Z=function(){return svg({name:"IconFiletext",component:Filetext})()},_hoisted_1$11={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$X=createBaseVNode("path",{d:"m14.946 13.897.084.073 4.469 4.468.001-3.937a.75.75 0 0 1 .648-.743l.102-.007a.75.75 0 0 1 .743.648l.007.102v5.779l-.004.043.004-.073a.754.754 0 0 1-.301.601l.081-.07a.753.753 0 0 1-.428.212L20.25 21H14.5a.75.75 0 0 1-.102-1.493l.102-.007h3.939l-4.47-4.47a.75.75 0 0 1 .977-1.133ZM9.5 3a.75.75 0 0 1 .102 1.493L9.5 4.5H5.561l4.47 4.47a.75.75 0 0 1-.976 1.134l-.084-.073L4.499 5.56 4.5 9.501a.75.75 0 0 1-.648.743l-.102.007a.75.75 0 0 1-.743-.648L3 9.5V3.734c0-.02.002-.041.004-.061L3 3.75a.754.754 0 0 1 .304-.603l-.084.073a.753.753 0 0 1 .428-.213L3.75 3H9.5Z"},null,-1),_hoisted_3$T=[_hoisted_2$X];function render$r(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$11,[].concat(_hoisted_3$T))}var FullscreenLeft={render:render$r},index$Y=function(){return svg({name:"IconFullscreenLeft",component:FullscreenLeft})()},_hoisted_1$10={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$W=createBaseVNode("path",{d:"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10Zm-2.66 4H5.66a.66.66 0 0 0-.653.562L5 5.66v4.68a.66.66 0 0 0 .562.653L5.66 11h4.68a.66.66 0 0 0 .653-.562L11 10.34V5.66a.66.66 0 0 0-.562-.653L10.34 5Z"},null,-1),_hoisted_3$S=createBaseVNode("path",{d:"M10.34 5H5.66a.66.66 0 0 0-.653.562L5 5.66v4.68a.66.66 0 0 0 .562.653L5.66 11h4.68a.66.66 0 0 0 .653-.562L11 10.34V5.66a.66.66 0 0 0-.562-.653L10.34 5Z",fill:"#FFF"},null,-1),_hoisted_4$t=[_hoisted_2$W,_hoisted_3$S];function render$q(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$10,[].concat(_hoisted_4$t))}var Halfselect={render:render$q},index$X=function(){return svg({name:"IconHalfselect",component:Halfselect})()},_hoisted_1$$={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$V=createBaseVNode("path",{class:"help-circle_svg__st0",d:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.3 19.3c-.9.9-2.1 1.7-3.3 2.2-1.3.5-2.6.8-4 .8s-2.7-.3-4-.8c-1.2-.5-2.3-1.3-3.3-2.2-.9-1-1.7-2.1-2.2-3.3-.5-1.3-.8-2.6-.8-4s.3-2.7.8-4C3 6.8 3.8 5.7 4.7 4.7 5.7 3.8 6.8 3 8 2.5c1.3-.5 2.6-.8 4-.8s2.7.3 4 .8c1.2.5 2.3 1.3 3.3 2.2.9 1 1.7 2.1 2.2 3.3.5 1.3.8 2.6.8 4s-.3 2.7-.8 4c-.5 1.2-1.3 2.3-2.2 3.3zm-7.4-3.7s-.1 0 0 0c-.5 0-.9-.5-.8-.9.1-1.2 1-2.1 1.9-3.1 1.5-1.5 1.5-2 1.6-2.5 0-.6-.2-1.2-.6-1.6-.5-.5-1.2-.8-1.9-.8-1.4 0-2.5 1.1-2.5 2.5 0 .5-.4.8-.8.8-.5 0-.8-.4-.8-.8-.2-1.2.2-2.2 1-3S10.9 5 12 5c1.2 0 2.3.5 3.1 1.3.8.8 1.1 1.8 1.1 2.9-.1 1.1-.4 1.9-2.1 3.6-.8.8-1.4 1.5-1.4 2 0 .4-.4.8-.8.8zM10.8 18c0 .4.2.7.5.9.3.2.7.2 1 0 .3-.2.5-.5.5-.9 0-.6-.5-1-1-1s-1 .5-1 1z"},null,-1),_hoisted_3$R=[_hoisted_2$V];function render$p(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$$,[].concat(_hoisted_3$R))}var HelpCircle={render:render$p},index$W=function(){return svg({name:"IconHelpCircle",component:HelpCircle})()},_hoisted_1$_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$U=createBaseVNode("path",{class:"help-solid_svg__st0",d:"M12 24C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm4-15.6c.1-1.1-.3-2.2-1-3-.8-.9-1.9-1.4-3-1.4s-2.1.5-2.8 1.3C8.4 6.1 8 7.2 8 8.4c0 .5.4.9.8.9s.8-.4.8-.9c0-1.4 1.1-2.6 2.4-2.6.7 0 1.3.3 1.8.8.4.5.6 1.1.6 1.7 0 .5 0 1-1.5 2.6-.9 1-1.7 2-1.8 3.2 0 .5.3.9.7 1h.1c.4 0 .8-.3.8-.8.1-.6.6-1.2 1.4-2.1 1.5-1.8 1.8-2.7 1.9-3.8zM12 19c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"},null,-1),_hoisted_3$Q=[_hoisted_2$U];function render$o(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$_,[].concat(_hoisted_3$Q))}var HelpSolid={render:render$o},index$V=function(){return svg({name:"IconHelpSolid",component:HelpSolid})()},_hoisted_1$Z={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$T=createBaseVNode("path",{class:"info-circle_svg__st0",d:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.1 19.1c-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2s2.7.3 3.9.8c1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2zM15 16h-2V9c0-.5-.5-1-1-1h-2c-.5 0-1 .5-1 1s.5 1 1 1h1v6H9c-.5 0-1 .5-1 1s.5 1 1 1h6c.5 0 1-.5 1-1s-.5-1-1-1zm-3-9c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"},null,-1),_hoisted_3$P=[_hoisted_2$T];function render$n(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$Z,[].concat(_hoisted_3$P))}var InfoCircle={render:render$n},index$U=function(){return svg({name:"IconInfoCircle",component:InfoCircle})()},_hoisted_1$Y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$S=createBaseVNode("path",{class:"info-solid_svg__st0",d:"M12 8h-2c-.6 0-1 .4-1 1s.4 1 1 1h1v6H9c-.6 0-1 .4-1 1s.4 1 1 1h6c.6 0 1-.4 1-1s-.4-1-1-1h-2V9c0-.6-.4-1-1-1zm0 16C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm0-17c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"},null,-1),_hoisted_3$O=[_hoisted_2$S];function render$m(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$Y,[].concat(_hoisted_3$O))}var InfoSolid={render:render$m},index$T=function(){return svg({name:"IconInfoSolid",component:InfoSolid})()},_hoisted_1$X={class:"loading_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$R=createBaseVNode("path",{d:"M511.883 287.998h-.362a31.999 31.999 0 0 1-31.66-31.977v-.361c0-.105.117-11.723.117-63.659v-96a31.999 31.999 0 1 1 64.001 0v96c0 52.586-.112 63.882-.12 64.338a32.003 32.003 0 0 1-31.976 31.66zm.115 672A31.999 31.999 0 0 1 480 928v-96.38c0-51.61-.112-63.174-.115-63.286s0-.242 0-.361a31.999 31.999 0 0 1 63.998-.314c0 .455.119 11.711.119 64.034v96.307a31.999 31.999 0 0 1-32.003 32zM330.9 363.021a31.898 31.898 0 0 1-22.866-9.612c-.076-.076-8.208-8.37-44.932-45.095l-67.903-67.885a31.999 31.999 0 0 1 45.257-45.253l67.881 67.882c37.183 37.183 45.09 45.253 45.412 45.578A31.999 31.999 0 0 1 330.9 363.02zm475.238 475.094a31.901 31.901 0 0 1-22.628-9.375l-67.885-67.88c-36.724-36.725-45.018-44.86-45.098-44.94a31.999 31.999 0 0 1 44.777-45.73c.325.318 8.395 8.23 45.578 45.412l67.881 67.882a31.999 31.999 0 0 1-22.625 54.63zm-582.137 0a31.901 31.901 0 0 0 22.628-9.375l67.882-67.88c36.724-36.725 45.022-44.86 45.097-44.94a31.999 31.999 0 0 0-44.776-45.73c-.325.318-8.395 8.23-45.578 45.412l-67.881 67.885A31.999 31.999 0 0 0 224 838.115zm31.949-294.056h-.362c-.104 0-11.722-.116-63.658-.116H95.943a31.999 31.999 0 1 1 0-64.002h95.997c52.586 0 63.882.112 64.337.12a31.999 31.999 0 0 1 31.66 31.977v.361a32.003 32.003 0 0 1-31.988 31.66zm511.99 0a32.003 32.003 0 0 1-31.995-31.667v-.361a31.999 31.999 0 0 1 31.66-31.97c.455 0 11.754-.12 64.34-.12h96.001a31.999 31.999 0 0 1 0 64.002h-96c-51.936 0-63.554.112-63.666.116h-.336zM693 363.018a31.999 31.999 0 0 1-22.863-54.382c.318-.325 8.23-8.395 45.412-45.578l67.882-67.885a31.999 31.999 0 1 1 45.263 45.256l-67.892 67.882c-31.02 31.023-41.644 41.76-44.241 44.393l-.697.723a31.909 31.909 0 0 1-22.864 9.59z"},null,-1),_hoisted_3$N=[_hoisted_2$R];function render$l(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$X,[].concat(_hoisted_3$N))}var Loading={render:render$l},index$S=function(){return svg({name:"IconLoading",component:Loading})()},_hoisted_1$W={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$Q=createBaseVNode("path",{d:"m520 875.2-29.9-33.6c-3-3.4-74.3-83.8-146.7-185.2-42.9-60.2-77.3-115.2-102-163.6C208.2 427.9 192 375.3 192 332c0-44.3 8.7-87.2 25.8-127.7 16.5-39.1 40.2-74.1 70.3-104.2 30.1-30.1 65.2-53.8 104.2-70.3C432.8 12.7 475.7 4 520 4s87.2 8.7 127.7 25.8c39.1 16.5 74.1 40.2 104.2 70.3 30.1 30.1 53.8 65.2 70.3 104.2C839.3 244.8 848 287.7 848 332c0 43.3-16.2 95.9-49.4 160.8-24.8 48.4-59.1 103.4-102 163.6-72.4 101.4-143.7 181.8-146.7 185.2L520 875.2zM520 84c-136.7 0-248 111.3-248 248 0 32.3 17.7 111.3 136.2 277.3 42 59 84.5 111.5 111.8 144.1 27.3-32.7 69.8-85.2 111.8-144.1C750.3 443.3 768 364.3 768 332c0-136.7-111.3-248-248-248z"},null,-1),_hoisted_3$M=createBaseVNode("path",{d:"M520 476c-80 0-145-65-145-145s65-145 145-145 145 65 145 145-65 145-145 145zm0-210c-35.8 0-65 29.2-65 65s29.2 65 65 65 65-29.2 65-65-29.2-65-65-65zm-.4 758c-125.6 0-244.4-17.7-334.3-49.9-46.2-16.5-83.1-36.3-109.6-58.8C34.6 880.4 26 845 26 821.5c0-28.1 12.1-69.8 69.8-108.9 37.4-25.4 88.5-46.4 151.8-62.5l19.7 77.5c-53.5 13.6-97.3 31.3-126.6 51.2-22.1 15-34.7 30.5-34.7 42.7 0 19.5 32.9 50.9 106.4 77.2C293.9 927.9 403 944 519.7 944c116.7 0 225.8-16.1 307.3-45.3 73.5-26.3 106.4-57.8 106.4-77.2 0-12.2-12.7-27.7-34.7-42.7-29.3-19.9-73.1-37.6-126.6-51.2l19.7-77.5c63.3 16.1 114.3 37.1 151.8 62.5 57.7 39.1 69.8 80.8 69.8 108.9 0 23.5-8.6 58.9-49.8 93.8-26.5 22.5-63.4 42.2-109.6 58.8-90 32.2-208.7 49.9-334.4 49.9z"},null,-1),_hoisted_4$s=[_hoisted_2$Q,_hoisted_3$M];function render$k(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$W,[].concat(_hoisted_4$s))}var MarkOn={render:render$k},index$R=function(){return svg({name:"IconMarkOn",component:MarkOn})()},_hoisted_1$V={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$P=createBaseVNode("path",{d:"M20.25 13.75a.75.75 0 0 1 .102 1.493l-.102.007h-3.94l4.47 4.47a.75.75 0 0 1-.976 1.133l-.084-.073-4.471-4.47.001 3.94a.75.75 0 0 1-.648.742L14.5 21a.75.75 0 0 1-.743-.648l-.007-.102v-5.765c0-.02.002-.041.004-.061l-.004.077a.754.754 0 0 1 .304-.603l-.084.073a.753.753 0 0 1 .428-.213l.102-.007h5.75ZM9.5 3a.75.75 0 0 1 .744.648l.007.102V9.518c0 .02-.002.04-.004.06l.004-.077a.754.754 0 0 1-.301.601l.081-.07a.753.753 0 0 1-.428.212l-.102.007H3.75a.75.75 0 0 1-.102-1.493l.102-.007H7.69l-4.47-4.47a.75.75 0 0 1 .976-1.134l.084.073 4.47 4.469V3.75a.75.75 0 0 1 .65-.743L9.5 3Z"},null,-1),_hoisted_3$L=[_hoisted_2$P];function render$j(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$V,[].concat(_hoisted_3$L))}var MinscreenLeft={render:render$j},index$Q=function(){return svg({name:"IconMinscreenLeft",component:MinscreenLeft})()},_hoisted_1$U={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$O=createBaseVNode("path",{class:"minus-square_svg__st0",d:"M3 1h18c.9 0 2 1.1 2 2v18c0 .9-1 2-2 2H3c-.9 0-2-1.1-2-2V3c0-.9 1.1-2 2-2zm0 2v18h18V3H3zm4 8h10c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.4-1 1-1z"},null,-1),_hoisted_3$K=[_hoisted_2$O];function render$i(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$U,[].concat(_hoisted_3$K))}var MinusSquare={render:render$i},index$P=function(){return svg({name:"IconMinusSquare",component:MinusSquare})()},_hoisted_1$T={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$N=createBaseVNode("path",{class:"operationfaild-l_svg__st0",d:"M16.8 7.2c-.3-.3-.9-.3-1.2 0L12 10.8 8.4 7.2c-.3-.3-.9-.3-1.2 0-.3.3-.3.9 0 1.2l3.6 3.6-3.6 3.6c-.3.3-.3.9 0 1.2.2.1.4.2.6.2s.4-.1.6-.2l3.6-3.6 3.6 3.6c.2.2.4.2.6.2.2 0 .4-.1.6-.2.3-.3.3-.9 0-1.2L13.2 12l3.6-3.6c.3-.3.3-.8 0-1.2zM12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.1 19.1c-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2s2.7.3 3.9.8c1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2z"},null,-1),_hoisted_3$J=[_hoisted_2$N];function render$h(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$T,[].concat(_hoisted_3$J))}var OperationfaildL={render:render$h},index$O=function(){return svg({name:"IconOperationfaildL",component:OperationfaildL})()},_hoisted_1$S={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$M=createBaseVNode("path",{class:"plus-square_svg__st0",d:"M13 11h4c.6 0 1 .4 1 1s-.4 1-1 1h-4v4c0 .6-.4 1-1 1s-1-.4-1-1v-4H7c-.6 0-1-.4-1-1s.4-1 1-1h4V7c0-.6.4-1 1-1s1 .4 1 1v4zM3 1h18c.9 0 2 1.1 2 2v18c0 .9-1 2-2 2H3c-.9 0-2-1.1-2-2V3c0-.9 1.1-2 2-2zm0 2v18h18V3H3z"},null,-1),_hoisted_3$I=[_hoisted_2$M];function render$g(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$S,[].concat(_hoisted_3$I))}var PlusSquare={render:render$g},index$N=function(){return svg({name:"IconPlusSquare",component:PlusSquare})()},_hoisted_1$R={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$L=createBaseVNode("path",{d:"M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1Zm0 1a6 6 0 1 0 0 12A6 6 0 0 0 8 2Z"},null,-1),_hoisted_3$H=createBaseVNode("path",{d:"M3.757 12.243a6 6 0 1 0 8.486-8.486 6 6 0 0 0-8.486 8.486Z",fill:"#FFF"},null,-1),_hoisted_4$r=[_hoisted_2$L,_hoisted_3$H];function render$f(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$R,[].concat(_hoisted_4$r))}var Radio$1={render:render$f},index$M=function(){return svg({name:"IconRadio",component:Radio$1})()},_hoisted_1$Q={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$K=createBaseVNode("path",{d:"M3.05 12.95a7 7 0 1 1 9.9-9.9 7 7 0 0 1-9.9 9.9Z"},null,-1),_hoisted_3$G=createBaseVNode("circle",{fill:"#FFF",cx:"8",cy:"8",r:"3"},null,-1),_hoisted_4$q=[_hoisted_2$K,_hoisted_3$G];function render$e(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$Q,[].concat(_hoisted_4$q))}var Radioselected={render:render$e},index$L=function(){return svg({name:"IconRadioselected",component:Radioselected})()},_hoisted_1$P={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$J=createBaseVNode("path",{class:"replace_svg__st0",d:"m17.6 5-2.4-2.4c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l3.7 3.7c.2 0 .4.1.5.3.2.2.3.5.3.8 0 .3-.1.6-.3.8-.1.1-.3.2-.5.3l-3.7 3.7c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4L17.6 7H8c-2.8 0-5 2.2-5 5 0 .6-.4 1-1 1s-1-.4-1-1c0-3.9 3.1-7 7-7h9.6zM12 19H8h4zM6.5 18.9l2.4 2.4c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L3.8 19c-.2 0-.4-.1-.5-.3-.2-.2-.3-.5-.3-.8 0-.3.1-.6.3-.8.1-.1.3-.2.5-.3l3.7-3.7c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-2.4 2.4h9.6c2.8 0 5-2.2 5-5 0-.6.4-1 1-1s1 .4 1 1c0 3.9-3.1 7-7 7H6.5zm5.6-14h4-4z"},null,-1),_hoisted_3$F=[_hoisted_2$J];function render$d(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$P,[].concat(_hoisted_3$F))}var Replace={render:render$d},index$K=function(){return svg({name:"IconReplace",component:Replace})()},_hoisted_1$O={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$I=createBaseVNode("path",{class:"search_svg__st0",d:"M22.8 21.6 18 16.8c1.3-1.6 2.1-3.6 2.1-5.7 0-5-4-9-9-9s-9 4-9 9 4 9 9 9c2.2 0 4.2-.8 5.7-2.1l4.8 4.8c.2.2.4.2.6.2s.4-.1.6-.2c.3-.4.3-.9 0-1.2zm-9.1-4.1c-.8.3-1.8.5-2.7.5s-1.9-.2-2.7-.5c-.8-.4-1.6-.9-2.2-1.5-.6-.6-1.1-1.4-1.5-2.2-.4-.9-.6-1.9-.6-2.8s.2-1.9.5-2.7c.4-.8.9-1.6 1.5-2.2S7.4 5 8.2 4.6c.9-.4 1.9-.6 2.8-.6s1.9.2 2.7.5c.8.4 1.6.9 2.2 1.5.6.6 1.1 1.4 1.5 2.2.4.9.5 1.8.5 2.7s-.2 1.9-.5 2.7c-.4.8-.9 1.6-1.5 2.2-.6.8-1.3 1.3-2.2 1.7z"},null,-1),_hoisted_3$E=[_hoisted_2$I];function render$c(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$O,[].concat(_hoisted_3$E))}var Search={render:render$c},index$J=function(){return svg({name:"IconSearch",component:Search})()},_hoisted_1$N={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$H=createBaseVNode("path",{class:"setting_svg__st0",d:"m22.9 10.3-.1-.6-1.8-.6c-.2-.5-.3-.9-.6-1.4l.9-1.7-.3-.5c-.7-.9-1.5-1.8-2.5-2.5l-.5-.3-1.7.8c-.4-.2-.9-.4-1.4-.6l-.6-1.8-.6-.1H12c-.5 0-1.1 0-1.7.2l-.6.1L9.1 3c-.5.2-1 .4-1.4.6L6 2.8l-.4.3c-1 .7-1.8 1.5-2.5 2.5l-.4.4.8 1.7c-.1.4-.3.9-.5 1.4l-1.8.6-.1.6C1 10.9 1 11.5 1 12s0 1.1.1 1.7l.1.6 1.8.6c.2.5.3.9.6 1.4L2.8 18l.3.5c.4.5.7.9 1.1 1.3.4.4.8.7 1.3 1.1l.5.3 1.7-.8c.4.2.9.4 1.4.6l.6 1.8.6.1c.6.1 1.2.1 1.7.1s1.1 0 1.7-.1l.6-.1.6-1.8c.5-.2.9-.3 1.4-.6l1.7.8.5-.3c.5-.4 1-.7 1.3-1.1.4-.4.8-.8 1.1-1.3l.3-.5-.8-1.7c.2-.4.4-.9.6-1.4l1.8-.6.1-.6c.1-.6.1-1.2.1-1.7s0-1.1-.1-1.7zM21 12c0 .3 0 .6-.1 1l-.8.3-.7.2-.2.7c-.1.4-.3.8-.5 1.2l-.4.7.7 1.5c-.2.3-.4.5-.7.7-.2.2-.5.4-.7.6l-1.5-.7-.7.4c-.4.2-.8.4-1.3.5l-.7.2-.2.7-.2.9c-.3 0-.7.1-1 .1-.3 0-.6 0-1-.1l-.3-.8-.2-.7-.7-.2c-.4-.1-.9-.3-1.2-.5l-.7-.4-.7.3-.8.4c-.3-.2-.5-.4-.7-.7-.2-.2-.4-.5-.7-.7l.7-1.5-.4-.7c-.2-.4-.4-.8-.5-1.2l-.2-.7-1.5-.5c-.1-.4-.1-.7-.1-1s0-.6.1-1l1.6-.5.2-.7c.1-.5.2-.9.5-1.3l.4-.7-.4-.6-.4-.8c.4-.5.9-1 1.4-1.4l1.5.7.7-.4c.4-.2.8-.4 1.2-.5l.7-.2.2-.7.3-.8c.4-.1.7-.1 1-.1.3 0 .6 0 1 .1l.5 1.6.7.2c.4.1.8.3 1.2.5l.7.4 1.5-.8c.5.4 1 .9 1.4 1.4l-.7 1.5.4.7c.2.4.4.8.5 1.3l.2.7.7.2.8.3c.1.3.1.6.1.9zm-9-4c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm1.4 5.4c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.4-.4-.6-.9-.6-1.4s.2-1 .6-1.4c.4-.4.9-.6 1.4-.6s1 .2 1.4.6c.4.4.6.9.6 1.4s-.2 1-.6 1.4z"},null,-1),_hoisted_3$D=[_hoisted_2$H];function render$b(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$N,[].concat(_hoisted_3$D))}var Setting={render:render$b},index$I=function(){return svg({name:"IconSetting",component:Setting})()},_hoisted_1$M={class:"success_svg__tiny-icon-success",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",style:{"enable-background":"new 0 0 14 14"},"xml:space":"preserve"},_hoisted_2$G=createBaseVNode("path",{d:"M14 7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7 7 3.13 7 7z",style:{"fill-rule":"evenodd","clip-rule":"evenodd"}},null,-1),_hoisted_3$C=createBaseVNode("path",{d:"M10.02 5.61 6.74 8.89c-.17.17-.4.27-.64.27s-.47-.1-.64-.27L3.98 7.41a.463.463 0 0 1-.13-.32c0-.12.05-.23.13-.32.18-.18.46-.18.64 0L6.1 8.26l3.28-3.28c.17-.17.47-.17.64 0 .17.17.17.46 0 .63z",style:{fill:"#fff"}},null,-1),_hoisted_4$p=[_hoisted_2$G,_hoisted_3$C];function render$a(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$M,[].concat(_hoisted_4$p))}var Success={render:render$a},index$H=function(){return svg({name:"IconSuccess",component:Success})()},_hoisted_1$L={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$F=createBaseVNode("path",{class:"successful_svg__st0",d:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.3 19.3c-.9.9-2.1 1.7-3.3 2.2-1.3.5-2.6.8-4 .8s-2.7-.3-4-.8c-1.2-.5-2.3-1.3-3.3-2.2-.9-1-1.7-2.1-2.2-3.3-.5-1.3-.8-2.6-.8-4s.3-2.7.8-4C3 6.8 3.8 5.7 4.7 4.7 5.7 3.8 6.8 3 8 2.5c1.3-.5 2.6-.8 4-.8s2.7.3 4 .8c1.2.5 2.3 1.3 3.3 2.2.9 1 1.7 2.1 2.2 3.3.5 1.3.8 2.6.8 4s-.3 2.7-.8 4c-.5 1.2-1.3 2.3-2.2 3.3z"},null,-1),_hoisted_3$B=createBaseVNode("path",{class:"successful_svg__st0",d:"M10.6 16c-.2 0-.5-.1-.7-.3l-3.7-3.6c-.4-.3-.4-.9 0-1.3.4-.3.9-.3 1.3 0l3 2.9 5.8-5.6c.4-.3.9-.3 1.3 0s.4.9 0 1.3l-6.5 6.2c0 .3-.2.4-.5.4z"},null,-1),_hoisted_4$o=[_hoisted_2$F,_hoisted_3$B];function render$9(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$L,[].concat(_hoisted_4$o))}var Successful={render:render$9},index$G=function(){return svg({name:"IconSuccessful",component:Successful})()},_hoisted_1$K={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$E=createBaseVNode("path",{class:"user_svg__st0",d:"M19.2 18.6c-.4-.9-1-1.8-1.7-2.5S16 14.8 15 14.4c-.3-.1-.6-.2-1-.3.9-.3 1.8-.8 2.5-1.6 1.2-1.2 1.9-2.8 1.9-4.6s-.7-3.3-1.9-4.6c-1.2-1.2-2.8-1.9-4.6-1.9s-3.3.7-4.6 1.9C6.2 4.7 5.5 6.3 5.5 8s.7 3.3 1.9 4.6c.7.7 1.6 1.2 2.5 1.6-.3.1-.7.2-1 .3-.9.4-1.8 1-2.5 1.7s-1.3 1.6-1.7 2.5c-.4 1-.6 2-.6 3 0 .5.4.8.8.8.5 0 .8-.4.8-.8 0-1.6.6-3.2 1.8-4.3s2.7-1.8 4.3-1.8 3.2.6 4.3 1.8c1.2 1.2 1.8 2.7 1.8 4.3 0 .5.4.8.8.8.5 0 .8-.4.8-.8.3-1.1.1-2.1-.3-3.1zM7.2 8c0-2.6 2.1-4.8 4.8-4.8s4.8 2.1 4.8 4.8-2.1 4.8-4.8 4.8S7.2 10.6 7.2 8z"},null,-1),_hoisted_3$A=[_hoisted_2$E];function render$8(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$K,[].concat(_hoisted_3$A))}var User={render:render$8},index$F=function(){return svg({name:"IconUser",component:User})()},_hoisted_1$J={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$D=createBaseVNode("path",{class:"warning_svg__st0",d:"M12 24C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm0-19c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1s1-.4 1-1V6c0-.6-.4-1-1-1zm0 13c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"},null,-1),_hoisted_3$z=[_hoisted_2$D];function render$7(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$J,[].concat(_hoisted_3$z))}var Warning={render:render$7},index$E=function(){return svg({name:"IconWarning",component:Warning})()},_hoisted_1$I={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$C=createBaseVNode("path",{class:"writing_svg__st0",d:"m14.6 6.6-7.5 7.6c-.3.3-.3.7 0 1 .1.1.4.2.5.2.1 0 .4-.1.5-.2l7.5-7.5c.3-.3.3-.7 0-1-.3-.3-.7-.3-1-.1z"},null,-1),_hoisted_3$y=createBaseVNode("path",{class:"writing_svg__st0",d:"M10.7 21 22 9.5c.4-.4.6-.9.6-1.4 0-.6-.2-1.1-.6-1.4l-4.2-4.3c-.8-.8-2.1-.8-2.8 0L2.7 14.8l-.1.1c-.4.4-.6.9-.6 1.5v4.3c0 .6.2 1.1.6 1.4s.9.6 1.4.6h4.2c.6 0 1.1-.2 1.4-.6l.1-.1 1-1c-.1.1-.1.1 0 0 0 .1 0 0 0 0zm7-12.3c-.3-.3-.7-.3-1 0l-8.5 8.5-3-3 9.4-9.5 5 5-9.6 9.4-1-1 8.5-8.5c.5-.2.5-.7.2-.9zm-.9-5.4L21 7.5c.1.1.1.3.1.4s0 .3-.1.5l-.4.4-5-5 .4-.5c.2-.2.5-.2.8 0zM8.6 20.7c-.1.1-.3.2-.4.2H4c-.1 0-.3-.1-.4-.1-.1-.1-.1-.3-.1-.4v-4.2c0-.2.1-.4.2-.4l.1-.1v-.1l.4-.4 5 5-.4.4-.2.1zM21.9 21H12c-.4 0-.7.4-.7 1s.3 1 .7 1h9.9c.4 0 .7-.4.7-1s-.3-1-.7-1z"},null,-1),_hoisted_4$n=[_hoisted_2$C,_hoisted_3$y];function render$6(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$I,[].concat(_hoisted_4$n))}var Writing={render:render$6},index$D=function(){return svg({name:"IconWriting",component:Writing})()},_hoisted_1$H={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},_hoisted_2$B=createBaseVNode("path",{class:"yes_svg__st0",d:"m9.9 15.6 9.4-9.4c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-10 10.1c-.4.4-1 .4-1.4 0-.1 0-.1-.1-.2-.1l-5.8-5.8c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.2 5.2z"},null,-1),_hoisted_3$x=[_hoisted_2$B];function render$5(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$H,[].concat(_hoisted_3$x))}var Yes={render:render$5},index$C=function(){return svg({name:"IconYes",component:Yes})()},_hoisted_1$G={viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$A=createBaseVNode("g",{"fill-rule":"nonzero"},[createBaseVNode("path",{d:"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Z",fill:"#FFF"}),createBaseVNode("path",{d:"M10 1a9 9 0 1 1 0 18 9 9 0 0 1 0-18Zm0 1a8 8 0 1 0 0 16 8 8 0 0 0 0-16Z"})],-1),_hoisted_3$w=[_hoisted_2$A];function render$4(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$G,[].concat(_hoisted_3$w))}var MobileRadio={render:render$4},index$B=function(){return svg({name:"IconMobileRadio",component:MobileRadio})()},_hoisted_1$F={viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},_hoisted_2$z=createBaseVNode("path",{d:"M16.364 3.636A9 9 0 1 1 3.636 16.364 9 9 0 0 1 16.364 3.636ZM10 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z","fill-rule":"evenodd"},null,-1),_hoisted_3$v=[_hoisted_2$z];function render$3(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$F,[].concat(_hoisted_3$v))}var MobileRadioSelected={render:render$3},index$A=function(){return svg({name:"IconMobileRadioSelected",component:MobileRadioSelected})()},_hoisted_1$E={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",style:{"enable-background":"new 0 0 16 16"},"xml:space":"preserve"},_hoisted_2$y=createBaseVNode("path",{d:"m5.84 8.78-.09-.1a1.06 1.06 0 0 1 .09-1.46L9.6 3.65l.07-.06c.21-.13.49-.12.67.06.21.2.21.51 0 .71L6.58 7.93l-.02.03c-.02.04-.01.08.02.11l3.76 3.57.06.07c.14.19.12.46-.06.64-.21.2-.54.2-.74 0L5.84 8.78z"},null,-1),_hoisted_3$u=[_hoisted_2$y];function render$2(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$E,[].concat(_hoisted_3$u))}var LeftWardArrow={render:render$2},index$z=function(){return svg({name:"IconLeftWardArrow",component:LeftWardArrow})()},_hoisted_1$D={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},_hoisted_2$x=createBaseVNode("g",{filter:"url(#finish_svg__filter-1)","fill-rule":"evenodd"},[createBaseVNode("path",{d:"M14.477 2.962a.75.75 0 0 1 1.12.993l-.074.083-9.26 9a.75.75 0 0 1-.954.076l-.092-.076-4.74-4.606a.75.75 0 0 1 .96-1.148l.086.072 4.216 4.098 8.738-8.492Z"})],-1),_hoisted_3$t=[_hoisted_2$x];function render$1(ee,te){return openBlock(),createElementBlock("svg",_hoisted_1$D,[].concat(_hoisted_3$t))}var Finish={render:render$1},index$y=svg({name:"IconFinish",component:Finish});const handleClick$3=({emit:ee,props:te,state:ae})=>ne=>{const ie=xss.filterUrl(te.href);ie?location.href=ie:te.nativeType==="button"&&te.resetTime>0&&(ae.disabled=!0,ae.timer=window.setTimeout(()=>{ae.disabled=!1},te.resetTime)),ee("click",ne)},clearTimer=ee=>()=>clearTimeout(ee.timer),api$l=["state","handleClick"],renderless$l=(ee,{computed:te,onBeforeUnmount:ae,reactive:ne,watch:ie,inject:oe},{emit:se,parent:le})=>{le.tinyForm=le.tinyForm||oe("form",null);const ue=ne({timer:0,disabled:ee.disabled,plain:te(()=>ee.plain||(le.buttonGroup||{}).plain),formDisabled:te(()=>(le.tinyForm||{}).disabled),buttonDisabled:te(()=>ee.disabled||ue.disabled||(le.buttonGroup||{}).disabled||ue.formDisabled)});ie(()=>ee.disabled,de=>{ue.disabled=de},{immediate:!0});const ce={state:ue,clearTimer:clearTimer(ue),handleClick:handleClick$3({emit:se,props:ee,state:ue})};return ae(ce.clearTimer),ce},index$x="";function _createForOfIteratorHelperLoose$C(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$C(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$C(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$C(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$C(ee,te)}}function _arrayLikeToArray$C(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$D=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$C(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$Q=defineComponent({emits:["click","hook-updated"],props:[].concat(props,["type","text","size","icon","resetTime","nativeType","loading","disabled","plain","autofocus","round","circle","tabindex","customClass","ghost"]),components:{IconLoading:index$S()},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$l,api:api$l})}}),_hoisted_1$C=["disabled","autofocus","type","tabindex"];function _sfc_render$E(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-loading");return openBlock(),createElementBlock("button",mergeProps({class:["tiny-button",[ee.type?"tiny-button--"+ee.type:"",ee.size?"tiny-button--"+ee.size:"",{"is-disabled":ee.state.buttonDisabled,"is-loading":ee.loading,"is-plain":ee.state.plain,"is-ghost":ee.ghost,"is-round":ee.round,"is-circle":ee.circle,"is-icon":ee.icon&&!ee.loading&&(ee.text||ee.slots.default),"is-only-icon":ee.icon&&!ee.loading&&!(ee.text||ee.slots.default)}]],onClick:te[0]||(te[0]=function(){return ee.handleClick&&ee.handleClick.apply(ee,arguments)}),disabled:ee.state.buttonDisabled||ee.loading,autofocus:ee.autofocus,type:ee.nativeType,tabindex:ee.tabindex},ee.a(ee.$attrs,["class","style","title","id"],!0)),[ee.loading?(openBlock(),createBlock(se,{key:0,class:"tiny-icon-loading tiny-svg-size"})):createCommentVNode("v-if",!0),ee.icon&&!ee.loading?(openBlock(),createBlock(resolveDynamicComponent(ee.icon),{key:1,class:normalizeClass({"is-text":ee.text||ee.slots.default})},null,8,["class"])):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{},function(){return[createBaseVNode("span",null,toDisplayString(ee.text),1)]})],16,_hoisted_1$C)}var pc$g=_export_sfc$D(_sfc_main$Q,[["render",_sfc_render$E]]);const index$w="";function _createForOfIteratorHelperLoose$B(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$B(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$B(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$B(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$B(ee,te)}}function _arrayLikeToArray$B(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$C=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$B(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$P=defineComponent({emits:["hook-updated","click"],props:[].concat(props,["type","text","size","icon","resetTime","nativeType","loading","disabled","customClass"]),components:{},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$l,api:api$l})}}),_hoisted_1$B=["disabled","type"],_hoisted_2$w=createBaseVNode("div",{class:"tiny-mobile-button-loading-inner"},null,-1),_hoisted_3$s=[_hoisted_2$w];function _sfc_render$D(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("button",mergeProps({class:["tiny-mobile-button",[ee.type?"tiny-mobile-button--"+ee.type:"",ee.size?"tiny-mobile-button--"+ee.size:"",{"is-disabled":ee.state.buttonDisabled,"is-loading":ee.loading}]],onClick:te[0]||(te[0]=function(){return ee.handleClick&&ee.handleClick.apply(ee,arguments)}),disabled:ee.state.buttonDisabled||ee.loading,type:ee.nativeType},ee.a(ee.$attrs,["class","style"],!0)),[ee.loading?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["tiny-mobile-button-loading","tiny-mobile-button-loading-"+(ee.type==="primary"?"white":"black")])},_hoisted_3$s,2)):createCommentVNode("v-if",!0),ee.icon&&!ee.loading?(openBlock(),createBlock(resolveDynamicComponent(ee.icon),{key:1,class:normalizeClass(["tiny-icon","is-icon",ee.text?"small":null])},null,8,["class"])):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{},function(){return[createBaseVNode("span",{style:normalizeStyle$2({marginLeft:ee.text&&(ee.icon||ee.loading)?"4px":0})},toDisplayString(ee.text),5)]})],16,_hoisted_1$B)}var mobile$9=_export_sfc$C(_sfc_main$P,[["render",_sfc_render$D]]);function _createForOfIteratorHelperLoose$A(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$A(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$A(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$A(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$A(ee,te)}}function _arrayLikeToArray$A(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$B=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$A(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},classes$5={button:"inline-block text-center overflow-hidden overflow-ellipsis whitespace-nowrap transition-button duration-300 delay-[0ms] active:transition-all active:scale-[0.95] active:ease-[cubic-bezier(0.33,0,0.67,1)]","button-base-width":"sm:max-w-[theme(spacing.36)]","size-default":"h-10 text-sm sm:h-7","size-medium":"h-10 text-sm sm:h-8","size-small":"h-8 text-sm sm:h-7","size-mini":"h-7 sm:h-6 sm:text-xs","type-default":"text-color-text-primary border-color-border hover:border-color-border-hover active:border-color-border-hover sm:cursor-pointer","type-primary":"text-color-text-inverse border-color-brand bg-color-brand hover:border-color-brand-hover hover:bg-color-brand-hover active:border-color-brand-active active:bg-color-brand-active sm:cursor-pointer","type-success":"text-color-text-inverse border-color-success bg-color-success hover:border-color-success-hover hover:bg-color-success-hover active:border-color-success-active active:bg-color-success-active sm:cursor-pointer","type-info":"text-color-text-inverse border-color-info-secondary bg-color-info-secondary hover:border-color-info-secondary-hover hover:bg-color-info-secondary-hover active:border-color-info-secondary-active active:bg-color-info-secondary-active sm:cursor-pointer","type-warning":"text-color-text-inverse border-color-warning bg-color-warning hover:border-color-warning-hover hover:bg-color-warning-hover active:border-color-warning-active active:bg-color-warning-active sm:cursor-pointer","type-danger":"text-color-text-inverse border-color-error bg-color-error hover:border-color-error-hover hover:bg-color-error-hover active:border-color-error-active active:bg-color-error-active sm:cursor-pointer","type-text":"border-none bg-transparent cursor-pointer text-color-text-placeholder active:text-color-text-primary sm:hover:text-color-text-primary sm:active:!text-color-brand-active","type-default-disabled":"text-color-text-disabled bg-color-bg-3 border-transparent hover:cursor-not-allowed","type-primary-disabled":"text-color-text-inverse bg-color-brand-disabled border-transparent hover:cursor-not-allowed","type-success-disabled":"text-color-text-inverse bg-color-success-disabled border-transparent hover:cursor-not-allowed","type-info-disabled":"text-color-text-inverse bg-color-info-secondary-disabled border-transparent hover:cursor-not-allowed","type-warning-disabled":"text-color-text-inverse bg-color-alert-disabled border-transparent hover:cursor-not-allowed","type-danger-disabled":"text-color-text-inverse bg-color-error-disabled border-transparent hover:cursor-not-allowed","type-text-disabled":"text-color-text-disabled hover:cursor-not-allowed","type-default-plain":"text-color-text-primary border-color-border hover:border-color-border-hover active:border-color-border-hover sm:cursor-pointer","type-primary-plain":"text-color-brand border-color-brand hover:text-color-brand-hover hover:border-color-brand-hover active:text-color-brand-active active:border-color-brand-active bg-color-bg-1 sm:cursor-pointer","type-success-plain":"text-color-success border-color-success hover:text-color-success-hover hover:border-color-success-hover active:text-color-success-active active:border-color-success-active bg-color-bg-1 sm:cursor-pointer","type-info-plain":"text-color-info-secondary border-color-info-secondary hover:text-color-info-secondary-hover hover:border-color-info-secondary-hover active:text-color-info-secondary-active active:border-color-info-secondary-active bg-color-bg-1 sm:cursor-pointer","type-warning-plain":"text-color-warning border-color-warning hover:text-color-warning-hover hover:border-color-warning-hover active:text-color-warning-active active:border-color-warning-active bg-color-bg-1 sm:cursor-pointer","type-danger-plain":"text-color-error border-color-error hover:text-color-error-hover hover:border-color-error-hover active:text-color-error-active active:border-color-error-active bg-color-bg-1 sm:cursor-pointer","type-text-plain":"text-color-brand hover:text-color-brand-hover active:text-color-brand-active","type-default-plain-disabled":"text-color-text-disabled bg-color-bg-1 border-color-text-disabled hover:cursor-not-allowed","type-primary-plain-disabled":"text-color-brand-disabled bg-color-bg-1 border-color-brand-disabled hover:cursor-not-allowed","type-success-plain-disabled":"text-color-success-disabled bg-color-bg-1 border-color-success-disabled hover:cursor-not-allowed","type-info-plain-disabled":"text-color-info-secondary-disabled bg-color-bg-1 border-color-info-secondary-disabled hover:cursor-not-allowed","type-warning-plain-disabled":"text-color-alert-disabled bg-color-bg-1 border-color-alert-disabled hover:cursor-not-allowed","type-danger-plain-disabled":"text-color-error-disabled bg-color-bg-1 border-color-error-disabled hover:cursor-not-allowed","type-text-plain-disabled":"text-color-text-disabled hover:cursor-not-allowed","no-round":"rounded","is-round":"rounded-full","is-border":"border-0.5 sm:border","no-circle":"sm:min-w-[theme(spacing.18)] pl-3 pr-3","is-circle":"sm:min-w-[theme(spacing.18)] sm:rounded-full sm:pl-2 sm:pr-2","button-icon":"-mt-0.5 sm:text-base fill-current","button-icon-default":"text-color-icon-primary hover:text-color-icon-hover active:text-color-icon-active","button-icon-disabled":"text-color-icon-disabled hover:cursor-not-allowed","loading-svg":"animate-spin-2 mr-1 fill-current -left-0.5 -right-0.5 -top-0.5 -bottom-0.5","button-link":"text-color-link hover:text-color-link-hover active:color-link-hover active:hover:text-color-link-hover sm:hover:text-color-link-hover","button-banner":" w-[calc(100%-theme(spacing.8))] mx-4"},_sfc_main$O=defineComponent({emits:["click","hook-updated"],props:[].concat(props,["type","text","size","icon","resetTime","nativeType","loading","disabled","plain","autofocus","round","circle","tabindex","href","customClass","banner"]),components:{IconLoading:index$S()},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$l,api:api$l,classes:classes$5})}}),_hoisted_1$A=["disabled","autofocus","type","tabindex"];function _sfc_render$C(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-loading");return openBlock(),createElementBlock("button",mergeProps({"data-tag":"tiny-button",onClick:te[0]||(te[0]=function(){return ee.handleClick&&ee.handleClick.apply(ee,arguments)}),disabled:ee.state.buttonDisabled||ee.loading,autofocus:ee.autofocus,type:ee.nativeType,class:ee.m(ee.gcls("button"),ee.gcls(ee.banner?"button-banner":"button-base-width"),ee.gcls("size-"+(ee.size||"default")),ee.gcls("type-"+(ee.type||"default")+(ee.icon?"-icon":ee.state.plain?"-plain":"")+(ee.state.buttonDisabled?"-disabled":"")),ee.gcls(ee.round?"is-round":"no-round"),ee.gcls(ee.circle?"is-circle":"no-circle"),ee.gcls({"is-border":ee.circle||!(ee.type==="text"||ee.icon)}),ee.gcls({"button-link":ee.href}),ee.customClass),tabindex:ee.tabindex},ee.a(ee.$attrs,["class","style","id"],!0)),[ee.loading?(openBlock(),createBlock(se,{key:0,class:normalizeClass(ee.gcls("loading-svg"))},null,8,["class"])):createCommentVNode("v-if",!0),ee.icon&&!ee.loading?(openBlock(),createBlock(resolveDynamicComponent(ee.icon),{key:1,class:normalizeClass([ee.gcls("button-icon"),ee.gcls("button-icon-"+(ee.state.buttonDisabled?"disabled":"default"))])},null,8,["class"])):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{},function(){return[createBaseVNode("span",null,toDisplayString(ee.text),1)]})],16,_hoisted_1$A)}var mobileFirst$a=_export_sfc$B(_sfc_main$O,[["render",_sfc_render$C]]);function _extends$q(){return _extends$q=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$q.apply(this,arguments)}var template$j=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$g:(ne||te)==="mobile"?mobile$9:(ne||te)==="mobile-first"?mobileFirst$a:pc$g},buttonProps=_extends$q({},$props,{type:{type:String,default:"default"},tabindex:{type:String,default:"0"},icon:{type:[Object,String],default:""},text:{type:String,default:""},resetTime:{type:Number,default:1e3},nativeType:{type:String,default:"button"},href:{type:String,default:""},size:{type:String,default:"",validator:function(te){return["large","medium","small","mini",""].includes(te)}},round:Boolean,plain:Boolean,circle:Boolean,loading:Boolean,disabled:Boolean,autofocus:Boolean,customClass:{type:String,default:""},banner:{type:Boolean,default:!1},ghost:Boolean}),Button=defineComponent({name:$prefix+"Button",inject:{buttonGroup:{default:""}},props:buttonProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$j})}}),version$m="3.16.0";Button.install=function(ee){ee.component(Button.name,Button)};Button.version=version$m;const processTrigger=({api:ee,state:te,props:ae,nextTick:ne})=>{const{referenceElm:ie,popperElm:oe}=te;ae.trigger==="click"?(on(ie,"click",ee.doToggle),on(document,"click",ee.handleDocumentClick)):ae.trigger==="hover"?(on(ie,"mouseenter",ee.handleMouseEnter),on(oe,"mouseenter",ee.handleMouseEnter),on(ie,"mouseleave",ee.handleMouseLeave),on(oe,"mouseleave",ee.handleMouseLeave)):ae.trigger==="focus"?ie.querySelector("input, textarea")?(on(ie,"focusin",ee.doShow),on(ie,"focusout",ee.doClose)):(on(ie,"mousedown",ee.doShow),on(ie,"mouseup",ee.doClose)):ae.trigger==="manual"&&ae.modelValue&&ne(ee.doShow)},mounted$3=({api:ee,state:te,constants:ae,props:ne,nextTick:ie,mode:oe})=>()=>{te.mounted=!0;const{referenceElm:se,popperElm:le,tooltipId:ue}=te;se&&(oe!=="mobile-first"&&addClass(se,`${ae.IDPREFIX}__reference`),se.setAttribute("aria-describedby",ue),se.setAttribute("tabindex",ne.tabindex.toString()),le.setAttribute("tabindex",0),ne.trigger!=="click"&&(on(se,"focusin",()=>{ee.handleFocus();const ce=se.__vue__;ce&&typeof ce.focus=="function"&&ce.focus()}),on(le,"focusin",ee.handleFocus),on(se,"focusout",ee.handleBlur),on(le,"focusout",ee.handleBlur)),on(se,"keydown",ee.handleKeydown),on(se,"click",ee.handleClick)),processTrigger({api:ee,state:te,props:ne,nextTick:ie})},doToggle=ee=>()=>{ee.showPopper=!ee.showPopper},doShow=ee=>()=>{ee.showPopper=!0},doClose=ee=>()=>{ee.showPopper=!1},handleFocus$2=({props:ee,state:te})=>()=>{addClass(te.referenceElm,"focusing"),(ee.trigger==="click"||ee.trigger==="focus")&&(te.showPopper=!0)},handleClick$2=ee=>te=>{const ae=ee.popperElm;te!=null&&te.target&&ae&&(ee.webCompEventTarget=te.target),removeClass(ee.referenceElm,"focusing")},handleBlur$2=({props:ee,state:te})=>()=>{removeClass(te.referenceElm,"focusing"),(ee.trigger==="click"||ee.trigger==="focus")&&(te.showPopper=!1)},handleMouseEnter=({props:ee,state:te})=>()=>{clearTimeout(te.timer),ee.openDelay?te.timer=window.setTimeout(()=>{te.showPopper=!0},ee.openDelay):te.showPopper=!0},handleKeydown$1=({api:ee,props:te})=>ae=>{ae.keyCode===KEY_CODE.Escape&&te.trigger!=="manual"&&ee.doClose()},handleMouseLeave=({props:ee,state:te})=>()=>{clearTimeout(te.timer),ee.closeDelay?te.timer=window.setTimeout(()=>{te.showPopper=!1},ee.closeDelay):te.showPopper=!1},handleDocumentClick$2=({vm:ee,state:te})=>ae=>{const ne=te.referenceElm,ie=te.popperElm,oe=ee.$refs.root;let se=ae.target;return se!=null&&se.shadowRoot&&ie&&(se=te.webCompEventTarget),!oe||!ne||oe.contains(se)||ne.contains(se)||!ie||ie.contains(se)?!1:(te.showPopper=!1,!0)},handleAfterEnter=ee=>()=>{ee("after-enter")},handleAfterLeave=ee=>()=>{ee("after-leave")},handleItemClick=({emit:ee,state:te})=>ae=>{te.showPopper=!1,ee("item-click",ae)},cleanup=({props:ee,state:te})=>()=>{ee.openDelay&&clearTimeout(te.timer)},destroyed$1=({state:ee,api:te})=>()=>{const{referenceElm:ae,popperElm:ne}=ee;off(ae,"click",te.doToggle),off(ae,"mouseup",te.doClose),off(ae,"mousedown",te.doShow),off(ae,"focusin",te.doShow),off(ae,"focusout",te.doClose),off(ae,"mouseleave",te.handleMouseLeave),off(ae,"mouseenter",te.handleMouseEnter),off(document,"click",te.handleDocumentClick),off(ne,"focusin",te.handleFocus),off(ne,"focusout",te.handleBlur),off(ne,"mouseenter",te.handleMouseEnter),off(ne,"mouseleave",te.handleMouseLeave),off(ae,"click",te.handleClick),off(ae,"focusout",te.handleBlur),off(ae,"keydown",te.handleKeydown)},computedTooltipId=ee=>()=>`${ee.IDPREFIX}-${guid$1("",4)}`,wrapMounted$1=({api:ee,props:te,vm:ae,state:ne})=>()=>{const{reference:ie,popper:oe,wrapper:se}=ae.$refs,le=ne.referenceElm=te.reference||ie;ne.popperElm=ne.popperElm||oe,!le&&se.children&&(ne.referenceElm=se.children[0]||se),ne.referenceElm&&ee.mounted()},observeCallback$1=({state:ee,vm:te})=>ae=>{for(let ne of ae)ne.type==="attributes"&&ne.attributeName==="x-placement"&&(ee.xPlacement=te.$refs.popper.getAttribute("x-placement")||"bottom")},isServer$3=typeof window>"u",instances$2={},classes$4={leave:"v-modal-leave",enter:"v-modal-enter",modal:"v-modal"},removeStack=(ee,te)=>{for(let ae=ee.length-1;ae>=0;ae--)if(ee[ae].id===te){ee.splice(ae,1);break}};let getModal;const PopupManager={step:2,zIndex:2e3,globalScroll:!1,modalFade:!0,modalStack:[],modalDom:null,hasModal:!1,popLockClass:"popup-parent--hidden",oldBodyBorder:"",viewportWindow:null,fixBodyBorder(){const ee=window.innerWidth-document.documentElement.clientWidth;ee&&(this.oldBodyBorder=document.documentElement.style.borderRight,document.body.style.borderRight=`${ee}px solid transparent`)},resetBodyBorder(){document.body.style.borderRight=this.oldBodyBorder,this.oldBodyBorder=""},deregister:ee=>{ee&&(instances$2[ee]=null,delete instances$2[ee])},getInstance:ee=>instances$2[ee],register:(ee,te)=>{ee&&te&&(instances$2[ee]=te)},nextZIndex:()=>{const ee=PopupManager.zIndex;return PopupManager.zIndex+=PopupManager.step,ee},openModal(ee,te,ae,ne,ie){if(isServer$3||!ee||te===void 0)return;this.modalFade=ie;for(let le=0,ue=this.modalStack.length;le<ue;le++)if(this.modalStack[le].id===ee)return;const oe=getModal();addClass(oe,classes$4.modal),this.modalFade&&!PopupManager.hasModal&&addClass(oe,classes$4.enter),ne&&ne.trim().split(/\s+/).forEach(ue=>addClass(oe,ue)),setTimeout(()=>{removeClass(oe,classes$4.enter)},200),te&&(oe.style.zIndex=te.toString()),oe.style.display="",oe.tabIndex=0;let se;ae&&ae.parentNode&&ae.parentNode.nodeType!==11?se=ae.parentNode:se=document.body,se.appendChild(oe),this.modalStack.push({id:ee,zIndex:te,modalClass:ne})},doOnModalClick:()=>{const ee=PopupManager.modalStack,te=ee[ee.length-1];if(!te)return;const ae=PopupManager.getInstance(te.id);ae&&ae.closeOnClickModal&&typeof ae.close=="function"&&ae.close()},closeModal(ee){const te=this.modalStack,ae=getModal();if(te.length>0){const ne=te[te.length-1];if(ne.id===ee){ne.modalClass&&ne.modalClass.trim().split(/\s+/).forEach(se=>removeClass(ae,se)),te.pop();const ie=te.length;ie>0&&(ae.style.zIndex=te[ie-1].zIndex.toString())}else removeStack(te,ee)}te.length===0&&(this.modalFade&&addClass(ae,classes$4.leave),removeClass(document.body,this.popLockClass),this.resetBodyBorder(),setTimeout(()=>{te.length===0&&(ae.parentNode&&ae.parentNode.removeChild(ae),ae.style.display="none",PopupManager.modalDom=null),removeClass(ae,classes$4.leave)},200))}};getModal=()=>{if(isServer$3)return null;let ee=PopupManager.modalDom;return ee?PopupManager.hasModal=!0:(PopupManager.hasModal=!1,ee=document.createElement("div"),PopupManager.modalDom=ee,ee.addEventListener("touchmove",te=>{te.preventDefault(),te.stopPropagation()},{passive:!0}),on(ee,"click",()=>{PopupManager.doOnModalClick()})),ee};isServer$3||on(window,"keydown",ee=>{if(ee.keyCode===KEY_CODE.Escape){const te=PopupManager.modalStack;if(te.length>0){const ae=te[te.length-1];if(!ae)return;const ne=PopupManager.getInstance(ae.id);ne&&ne.closeOnPressEscape&&(ne.handleClose?ne.handleClose("esc"):ne.handleAction?ne.handleAction("cancel"):ne.close())}}});var popup_manager_default=PopupManager;const positions=["left","right","top","bottom"],modifiers=["shift","offset","preventOverflow","keepTogether","arrow","flip","applyStyle"],DEFAULTS={arrowOffset:0,arrowElement:"[x-arrow]",boundariesElement:"viewport",boundariesPadding:5,flipBehavior:"flip",forceAbsolute:!1,gpuAcceleration:!0,offset:0,placement:"bottom",preventOverflowOrder:positions,modifiers,updateHiddenPopperOnScroll:!1},setStyle=(ee,te)=>{const ae=ne=>ne!==""&&!isNaN(parseFloat(ne))&&isFinite(ne);Object.keys(te).forEach(ne=>{let ie="";~["width","height","top","right","bottom","left"].indexOf(ne)&&ae(te[ne])&&(ie="px"),ee.style[ne]=te[ne]+ie})},getOffsetParent=ee=>{let te=ee.offsetParent;return te===window.document.body||!te?window.document.documentElement:te},getStyleComputedProperty=(ee,te)=>!ee||ee.nodeType!==1?void 0:window.getComputedStyle(ee,null)[te],isFixed=ee=>ee===window.document.body?!1:getStyleComputedProperty(ee,"position")==="fixed"?!0:ee.parentNode?isFixed(ee.parentNode):!1,getBoundingClientRect=ee=>{let te=ee.getBoundingClientRect();return{left:te.left,top:te.top,right:te.right,bottom:te.bottom,width:te.right-te.left,height:te.bottom-te.top}},isScrollElement=ee=>{const te=["scroll","auto"];return te.includes(getStyleComputedProperty(ee,"overflow"))||te.includes(getStyleComputedProperty(ee,"overflow-x"))||te.includes(getStyleComputedProperty(ee,"overflow-y"))},getAdjustOffset=ee=>{const te=document.createElement("div");setStyle(te,{opacity:0,position:"fixed",width:1,height:1,top:0,left:0,"z-index":"-99"}),ee.appendChild(te);const ae=getBoundingClientRect(te);return ee.removeChild(te),ae},getScrollParent=ee=>{let te=ee.parentNode;return te?te===window.document?window.document.body.scrollTop||window.document.body.scrollLeft?window.document.body:window.document.documentElement:isScrollElement(te)?te:getScrollParent(te):ee},getOffsetRectRelativeToCustomParent=(ee,te,ae,ne)=>{let{top:ie,left:oe,width:se,height:le}=getBoundingClientRect(ee);if(ae){if(ne.parentElement){const{top:de,left:he}=getAdjustOffset(ne.parentElement);ie-=de,oe-=he}return{top:ie,left:oe,bottom:ie+le,right:oe+se,width:se,height:le}}let ue=getBoundingClientRect(te);return{top:ie-ue.top,left:oe-ue.left,bottom:ie-ue.top+le,right:oe-ue.left+se,width:se,height:le}},getScrollTopValue=ee=>ee===document.body?Math.max(document.documentElement.scrollTop,document.body.scrollTop):ee.scrollTop,getScrollLeftValue=ee=>ee===document.body?Math.max(document.documentElement.scrollLeft,document.body.scrollLeft):ee.scrollLeft,getMaxWH=(ee,te)=>{const ae=Math.max(ee.scrollHeight,ee.offsetHeight,te.clientHeight,te.scrollHeight,te.offsetHeight);return{width:Math.max(ee.scrollWidth,ee.offsetWidth,te.clientWidth,te.scrollWidth,te.offsetWidth),height:ae}},getOuterSizes=ee=>{let te=ee.style.display,ae=ee.style.visibility;ee.style.display="block",ee.style.visibility="hidden";let ne=window.getComputedStyle(ee),ie=parseFloat(ne.marginTop)+parseFloat(ne.marginBottom),oe=parseFloat(ne.marginLeft)+parseFloat(ne.marginRight),se={width:ee.offsetWidth+oe,height:ee.offsetHeight+ie};return ee.style.display=te,ee.style.visibility=ae,se},getOppositePlacement=ee=>{let te={left:"right",right:"left",bottom:"top",top:"bottom"};return ee.replace(/left|right|bottom|top/g,ae=>te[ae])},getPopperClientRect=ee=>{let te=__spreadValues({},ee);return te.right=te.left+te.width,te.bottom=te.top+te.height,te},getAllScrollParents=(ee,te=[])=>{const ae=ee.parentNode;return ae?(isScrollElement(ae)&&te.push(ae),getStyleComputedProperty(ae,"position")==="fixed"?te:getAllScrollParents(ae,te)):te},getOffsetRect=ee=>{const te={width:ee.offsetWidth,height:ee.offsetHeight,left:ee.offsetLeft,top:ee.offsetTop,right:0,bottom:0};return te.right=te.left+te.width,te.bottom=te.top+te.height,te},stopFn=ee=>{ee.stopPropagation()};class Popper{constructor(te,ae,ne){this.modifiers={},this.popperOuterSize=null,this._reference=te,this._popper=ae,this.state={},this._options=__spreadValues(__spreadValues({},DEFAULTS),ne),this._options.modifierFns=modifiers.map(ie=>this[ie]),this._popper.setAttribute("x-placement",this._options.placement),this.state.position=this._getPopperPositionByRefernce(this._reference),setStyle(this._popper,{position:this.state.position,top:0}),this.update(),this._setupEventListeners()}destroy(){return this._popper.removeAttribute("x-placement"),this._popper.style.display="none",this._removeEventListeners(),this._options.removeOnDestroy&&this._popper.remove(),this}onUpdate(te){return this.state.updateCallback=te,this}update(){let te={instance:this,styles:{}};this.stopEventBubble(),this.popperOuterSize=null,te.placement=te._originalPlacement=this._options.placement,te.offsets=this._getRefPopOffsets(this._popper,this._reference,te.placement),te.boundaries=this._getBoundaries(te,this._options.boundariesPadding,this._options.boundariesElement),te=this.runModifiers(te,this._options.modifierFns),typeof this.state.updateCallback=="function"&&this.state.updateCallback(te)}stopEventBubble(){this._popper&&(this._popper.onmousewheel||(this._popper.onmousewheel=stopFn),this._popper.onwheel||(this._popper.onwheel=stopFn))}runModifiers(te,ae,ne){let ie=ae.slice();const oe=this._options;return ne!==void 0&&(ie=this._options.modifierFns.slice(0,oe.modifierFns.findIndex(se=>se===ne))),ie.forEach(se=>{typeOf(se)==="function"&&(te=se.call(this,te))}),te}applyStyle(te){let ae={position:te.offsets.popper.position},ne=Math.round(te.offsets.popper.left),ie=Math.round(te.offsets.popper.top);return this._options.gpuAcceleration?(ae.transform=`translate3d(${ne}px, ${ie}px, 0)`,Object.assign(ae,{top:0,left:0})):Object.assign(ae,{top:ie,left:ne}),Object.assign(ae,te.styles),setStyle(this._popper,ae),this._popper.setAttribute("x-placement",te.placement),te.offsets.arrow&&setStyle(te.arrowElement,te.offsets.arrow),te}shift(te){let ae=te.placement,ne=ae.split("-")[0],ie=ae.split("-")[1];if(ie){let{top:oe,left:se,height:le,width:ue}=te.offsets.reference,ce=getPopperClientRect(te.offsets.popper),de={y:{start:{top:oe},end:{top:oe+le-ce.height}},x:{start:{left:se},end:{left:se+ue-ce.width}}},he=~["bottom","top"].indexOf(ne)?"x":"y";te.offsets.popper=Object.assign(ce,de[he][ie])}return te}preventOverflow(te){let ae=this._options.preventOverflowOrder,ne=getPopperClientRect(te.offsets.popper),ie={top:()=>{let{top:oe}=ne;return oe<te.boundaries.top&&(oe=Math.max(oe,te.boundaries.top)),{top:oe}},right:()=>{let{left:oe}=ne;return ne.right>te.boundaries.right&&(oe=Math.min(oe,te.boundaries.right-ne.width)),{left:oe}},bottom:()=>{let{top:oe}=ne;return ne.bottom>te.boundaries.bottom&&(oe=Math.min(oe,te.boundaries.bottom-ne.height)),{top:oe}},left:()=>{let{left:oe}=ne;return ne.left<te.boundaries.left&&(oe=Math.max(oe,te.boundaries.left)),{left:oe}}};return ae.forEach(oe=>{te.offsets.popper=Object.assign(ne,ie[oe]())}),te}keepTogether(te){let ae=getPopperClientRect(te.offsets.popper),ne=te.offsets.reference;return ae.right<Math.floor(ne.left)&&(te.offsets.popper.left=Math.floor(ne.left)-ae.width),ae.left>Math.floor(ne.right)&&(te.offsets.popper.left=Math.floor(ne.right)),ae.bottom<Math.floor(ne.top)&&(te.offsets.popper.top=Math.floor(ne.top)-ae.height),ae.top>Math.floor(ne.bottom)&&(te.offsets.popper.top=Math.floor(ne.bottom)),te}flip(te){if(te.flipped&&te.placement===te._originalPlacement)return te;const ae=te.placement.split("-");let ne=ae[0],ie=getOppositePlacement(ne),oe=ae[1]||"",se=[ne,ie];return se.forEach((le,ue)=>{if(ne!==le||se.length===ue+1)return;ne=te.placement.split("-")[0],ie=getOppositePlacement(ne);let ce=getPopperClientRect(te.offsets.popper),de=~["right","bottom"].indexOf(ne),he=Math.floor(te.offsets.reference[ne]),fe=Math.floor(ce[ie]);(de&&he>fe||!de&&he<fe)&&(te.flipped=!0,te.placement=se[ue+1],oe&&(te.placement+=`-${oe}`),te.offsets.popper=this._getRefPopOffsets(this._popper,this._reference,te.placement).popper,te=this.runModifiers(te,this._options.modifierFns,this.flip))}),te}offset(te){let ae=this._options.offset,ne=te.offsets.popper;return~te.placement.indexOf("left")?ne.top-=ae:~te.placement.indexOf("right")?ne.top+=ae:~te.placement.indexOf("top")?ne.left-=ae:~te.placement.indexOf("bottom")&&(ne.left+=ae),te}arrow(te){let ae=this._options.arrowElement,ne=this._options.arrowOffset;if(typeof ae=="string"&&(ae=this._popper.querySelector(ae)),!ae||!this._popper.contains(ae))return te;let ie={},oe=te.placement.split("-")[0],se=getPopperClientRect(te.offsets.popper),le=te.offsets.reference,ue=~["left","right"].indexOf(oe),ce=ue?"height":"width",de=ue?"bottom":"right",he=ue?"left":"top",fe=ue?"top":"left",pe=this.popperOuterSize?this.popperOuterSize:this.popperOuterSize=getOuterSizes(this._popper),ve=getOuterSizes(ae),ge=ve[ce];le[de]-ge<se[fe]&&(te.offsets.popper[fe]-=se[fe]-(le[de]-ge)),le[fe]+ge>se[de]&&(te.offsets.popper[fe]+=le[fe]+ge-se[de]);let ye=le[fe]+(ne||le[ce]/2-ge/2)-se[fe];ye=Math.max(Math.min(se[ce]-ge-8,ye),8),ie[fe]=ye,ie[he]="";const _e=this._options.placement.split("-");return this._options.adjustArrow&&~["top","bottom"].indexOf(_e[0])&&fe==="left"&&(_e[1]==="start"?ie.left=8:_e[1]||(ie.left=(pe.width-ve.width)/2)),te.offsets.arrow=ie,te.arrowElement=ae,te}_getPopperPositionByRefernce(te){return this._options.forceAbsolute?"absolute":isFixed(te)?"fixed":"absolute"}_getRefPopOffsets(te,ae,ne){ne=ne.split("-")[0];let ie={position:this.state.position},oe=ie.position==="fixed",se=getOffsetRectRelativeToCustomParent(ae,getOffsetParent(te),oe,te);const{width:le,height:ue}=this.popperOuterSize?this.popperOuterSize:this.popperOuterSize=getOuterSizes(te);return~["right","left"].indexOf(ne)?(ie.top=se.top+se.height/2-ue/2,ne==="left"?ie.left=se.left-le:ie.left=se.right):(ie.left=se.left+se.width/2-le/2,ne==="top"?ie.top=se.top-ue:ie.top=se.bottom),ie.width=le,ie.height=ue,{popper:ie,reference:se}}_setupEventListeners(){var te,ae;if(this.state.updateBoundFn=this.update.bind(this),this.state.scrollUpdate=()=>{if(this._options.updateHiddenPopperOnScroll)this.state.updateBoundFn();else{if(isDisplayNone(this._popper))return;this.state.updateBoundFn()}},on(window,"resize",this.state.updateBoundFn),this._options.boundariesElement!=="window"){let ne=getScrollParent(this._reference);const ie=[];if((ae=(te=ne==null?void 0:ne.dataset)==null?void 0:te.tag)!=null&&ae.includes("-form")){ie.push(ne);let oe=getScrollParent(ne);(oe===window.document.body||oe===window.document.documentElement)&&(oe=window),ie.push(oe)}if((ne===window.document.body||ne===window.document.documentElement)&&(ne=window),this.state.scrollTarget=ne,this._options.bubbling||popup_manager_default.globalScroll){let oe=getAllScrollParents(this._reference);this.state.scrollTargets=oe||[],oe.forEach(se=>{on(se,"scroll",this.state.scrollUpdate)})}else ie.length?(this.state.scrollTargets=ie,ie.forEach(oe=>{on(oe,"scroll",this.state.scrollUpdate)})):on(ne,"scroll",this.state.scrollUpdate)}}_removeEventListeners(){off(window,"resize",this.state.updateBoundFn),this._options.boundariesElement!=="window"&&this.state.scrollTarget&&(off(this.state.scrollTarget,"scroll",this.state.scrollUpdate),this.state.scrollTarget=null,(this._options.bubbling||popup_manager_default.globalScroll)&&((this.state.scrollTargets||[]).forEach(ae=>{off(ae,"scroll",this.state.scrollUpdate)}),this.state.scrollTargets=null)),this.state.updateBoundFn=null,this.state.scrollUpdate=null}_getBoundaries(te,ae,ne){let ie={right:0,left:0,top:0,bottom:0};if(ne==="window"||ne==="body"){let oe=window.document.body,se=window.document.documentElement,{width:le,height:ue}=getMaxWH(oe,se);ie={top:0,right:le,bottom:ue,left:0}}else if(ne==="viewport"){let oe=getOffsetParent(this._popper),se=getScrollParent(this._popper),le=getOffsetRect(oe);const ce=te.offsets.popper.position==="fixed"||!this._options.appendToBody&&["right","left"].includes(this._options.placement);let de=ce?0:getScrollTopValue(se),he=ce?0:getScrollLeftValue(se);const fe=global_default.viewportWindow||popup_manager_default.viewportWindow||window;ie={top:0-(le.top-de),right:fe.document.documentElement.clientWidth-(le.left-he),bottom:fe.document.documentElement.clientHeight-(le.top-de),left:0-(le.left-he)}}else if(getOffsetParent(this._popper)===ne){const{clientWidth:oe,clientHeight:se}=ne;ie={right:oe,bottom:se,top:0,left:0}}else ie=getOffsetRect(ne);return ie.right-=ae,ie.left+=ae,ie.bottom=ie.bottom-ae,ie.top=ie.top+ae,ie}}var popper_default=Popper;const stop$1=ee=>ee.stopPropagation(),isServer$2=typeof window>"u",getReference=({state:ee,props:te,vm:ae,slots:ne})=>{let ie=ee.referenceElm||te.reference||ae.$refs.reference&&ae.$refs.reference.$el||ae.$refs.reference;return!ie&&ne.reference&&ne.reference()[0]&&(ee.referenceElm=ne.reference()[0].elm||ne.reference()[0].el,ie=ee.referenceElm),ie},getReferMaxZIndex=ee=>{if(!ee||!ee.nodeType)return;let te=ie=>parseInt(window.getComputedStyle(ie).zIndex,10)||0,ae=te(ee),ne;do{if(ee=ee.parentNode,ee)ne=te(ee);else break;ae=ne>ae?ne:ae}while(ee!==document.body);return ae+1+""};var vue_popper_default=ee=>{const{parent:te,emit:ae,nextTick:ne,onBeforeUnmount:ie,onDeactivated:oe,props:se,watch:le,reactive:ue,vm:ce,slots:de,toRefs:he,popperVmRef:fe}=ee,pe=ue({popperJS:null,appended:!1,popperElm:null,showPopper:se.manual?!!se.modelValue:!1,referenceElm:null,currentPlacement:""}),ve=$e=>{if(pe.appended)return;pe.appended=!0;const Se=document.createElement("div");Se.setAttribute("x-arrow",""),Se.className="popper__arrow",$e.appendChild(Se)},ge=$e=>{const{followReferenceHide:Se=!0}=(se==null?void 0:se.popperOptions)||{},{_popper:we,_reference:Ae}=$e;Se&&isDisplayNone(Ae)&&(we.style.display="none")},me=$e=>se.zIndex==="relative"?getReferMaxZIndex($e):popup_manager_default.nextZIndex(),ye=$e=>{if(isServer$2||(pe.currentPlacement=pe.currentPlacement||se.placement,!/^(top|bottom|left|right)(-start|-end)?$/g.test(pe.currentPlacement)))return;const Se=se.popperOptions||{gpuAcceleration:!1};pe.popperElm=pe.popperElm||se.popper||ce.$refs.popper||fe.popper||$e;const we=pe.popperElm;let Ae=getReference({state:pe,props:se,vm:ce,slots:de});!we||!Ae||Ae.nodeType!==Node.ELEMENT_NODE||(se.visibleArrow&&ve(we),se.appendToBody||se.popperAppendToBody?document.body.appendChild(pe.popperElm):(te&&te.$el&&te.$el.appendChild(pe.popperElm),Se.forceAbsolute=!0),Se.placement=pe.currentPlacement,Se.offset=se.offset||0,Se.arrowOffset=se.arrowOffset||0,Se.adjustArrow=se.adjustArrow||!1,Se.appendToBody=se.appendToBody||se.popperAppendToBody,pe.popperJS=new popper_default(Ae,we,Se),ae("created",pe),typeof Se.onUpdate=="function"&&pe.popperJS.onUpdate(Se.onUpdate),pe.popperJS._popper.style.zIndex=me(pe.popperJS._reference),ge(pe.popperJS),on(pe.popperElm,"click",stop$1))},_e=$e=>{$e&&$e!==!0&&(pe.popperElm=$e);const Se=pe.popperJS;Se?(Se.update(),Se._popper&&$e!==!0&&(Se._popper.style.zIndex=me(Se._reference),ge(pe.popperJS))):ye($e&&$e!==!0?$e:void 0)},be=$e=>{!pe.popperJS||pe.showPopper&&!$e||(pe.popperJS.destroy(),pe.popperJS=null)},xe=$e=>{$e&&pe.popperElm&&(off(pe.popperElm,"click",stop$1),pe.popperElm.remove())};return le(()=>pe.showPopper,$e=>{se.disabled||($e&&ne(_e),se.trigger==="manual"&&ae("update:modelValue",$e))}),ie(()=>{ne(()=>{be(!0),(se.appendToBody||se.popperAppendToBody)&&xe("remove")})}),oe(()=>{be(!0),(se.appendToBody||se.popperAppendToBody)&&xe("remove")}),__spreadValues({updatePopper:_e,destroyPopper:xe,doDestroy:be},he(pe))};const api$k=["state","handleAfterEnter","handleAfterLeave","doToggle","doShow","doClose","doDestroy","handleItemClick","handleDocumentClick"],initState$6=({reactive:ee,computed:te,api:ae,popperElm:ne,showPopper:ie,referenceElm:oe})=>ee({popperElm:ne,referenceElm:oe,showPopper:ie,timer:0,mounted:!1,xPlacement:"bottom",tooltipId:te(()=>ae.computedTooltipId()),webCompEventTarget:null}),initApi$5=({api:ee,props:te,state:ae,emit:ne,doDestroy:ie,constants:oe,nextTick:se,vm:le,mode:ue})=>{Object.assign(ee,{state:ae,mounted:mounted$3({api:ee,state:ae,constants:oe,props:te,nextTick:se,mode:ue}),cleanup:cleanup({state:ae,props:te}),destroyed:destroyed$1({state:ae,api:ee}),doDestroy:ie,computedTooltipId:computedTooltipId(oe),doShow:doShow(ae),doClose:doClose(ae),doToggle:doToggle(ae),handleClick:handleClick$2(ae),handleAfterEnter:handleAfterEnter(ne),handleBlur:handleBlur$2({props:te,state:ae}),handleFocus:handleFocus$2({props:te,state:ae}),handleKeydown:handleKeydown$1({api:ee,props:te}),handleMouseLeave:handleMouseLeave({props:te,state:ae}),handleAfterLeave:handleAfterLeave(ne),handleMouseEnter:handleMouseEnter({props:te,state:ae}),handleDocumentClick:handleDocumentClick$2({vm:le,state:ae}),wrapMounted:wrapMounted$1({api:ee,props:te,vm:le,state:ae}),handleItemClick:handleItemClick({emit:ne,state:ae}),observeCallback:observeCallback$1({vm:le,state:ae})})},initWatch$1=({watch:ee,props:te,state:ae,emit:ne,api:ie,nextTick:oe,updatePopper:se,mode:le})=>{ee(()=>ae.showPopper,ue=>{te.disabled||(ue&&oe(()=>se()),ne(ue?"show":"hide"))}),ee(()=>te.reference,(ue,ce)=>{ue!==ce&&(ie.destroyed(),oe(()=>{ie.wrapMounted()}))}),ee(()=>te.modelValue,ue=>{te.trigger==="manual"&&(ae.showPopper=ue,ne("update:modelValue",ue))})},renderless$k=(ee,{reactive:te,computed:ae,watch:ne,toRefs:ie,onBeforeUnmount:oe,onMounted:se,onUnmounted:le,onActivated:ue,onDeactivated:ce},{$prefix:de,emit:he,vm:fe,slots:pe,nextTick:ve,mode:ge})=>{const me={},ye={IDPREFIX:`${de.toLowerCase()}-popover`},_e={emit:he,onBeforeUnmount:oe,nextTick:ve,reactive:te,props:ee,watch:ne,onDeactivated:ce,vm:fe,slots:pe,toRefs:ie},{showPopper:be,popperElm:xe,referenceElm:$e,doDestroy:Se,updatePopper:we}=vue_popper_default(_e),Ae=initState$6({reactive:te,computed:ae,api:me,popperElm:xe,showPopper:be,referenceElm:$e});return initApi$5({api:me,constants:ye,props:ee,state:Ae,emit:he,doDestroy:Se,nextTick:ve,vm:fe,mode:ge}),ce(()=>{me.destroyed(),me.cleanup()}),se(()=>{if(me.wrapMounted(),ee.genArrowByHtml){const Te={attributes:!0,childList:!1,subtree:!1};me.observer=new MutationObserver(me.observeCallback),me.observer.observe(fe.$refs.popper,Te)}}),ue(me.mounted),le(()=>{me.destroyed(),me.observer&&me.observer.disconnect()}),oe(me.cleanup),initWatch$1({watch:ne,props:ee,state:Ae,emit:he,api:me,nextTick:ve,updatePopper:we,mode:ge}),me},index$v="";function _createForOfIteratorHelperLoose$z(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$z(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$z(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$z(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$z(ee,te)}}function _arrayLikeToArray$z(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$A=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$z(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$N=defineComponent({emits:["update:modelValue","hide","show","after-enter","after-leave","created"],props:[].concat(props,["appendToBody","arrowOffset","boundariesPadding","closeDelay","content","disabled","modelValue","offset","openDelay","placement","popper","popperClass","popperOptions","reference","tabindex","title","transition","trigger","visibleArrow","width","height"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$k,api:api$k})}}),_hoisted_1$z={ref:"root"},_hoisted_2$v=["id","aria-hidden"],_hoisted_3$r=["textContent"];function _sfc_render$B(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("span",_hoisted_1$z,[createVNode$1(Transition$1,{name:ee.transition,onAfterEnter:ee.handleAfterEnter,onAfterLeave:ee.handleAfterLeave,persisted:""},{default:withCtx(function(){return[withDirectives(createBaseVNode("div",{class:normalizeClass(["tiny-popover tiny-popper",[ee.popperClass,ee.content&&"tiny-popover__plain",{"no-arrow":!ee.visibleArrow}]]),ref:"popper",style:normalizeStyle$2({width:ee.width==="auto"?ee.width:ee.width+"px",height:ee.height==="auto"?ee.height:ee.height+"px"}),role:"tooltip",id:ee.state.tooltipId,"aria-hidden":ee.disabled||!ee.state.showPopper?"true":"false"},[ee.title?(openBlock(),createElementBlock("div",{key:0,class:"tiny-popover__title",textContent:toDisplayString(ee.title)},null,8,_hoisted_3$r)):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.content),1)]})],14,_hoisted_2$v),[[vShow,!ee.disabled&&ee.state.showPopper]])]}),_:3},8,["name","onAfterEnter","onAfterLeave"]),createBaseVNode("span",{ref:"wrapper",class:normalizeClass(["reference-wrapper",{"reference-wrapper-show":!ee.disabled&&ee.state.showPopper}])},[renderSlot(ee.$slots,"reference")],2)],512)}var pc$f=_export_sfc$A(_sfc_main$N,[["render",_sfc_render$B]]);const index$u="";function _createForOfIteratorHelperLoose$y(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$y(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$y(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$y(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$y(ee,te)}}function _arrayLikeToArray$y(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$z=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$y(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$M=defineComponent({emits:["update:modelValue","hide","show","after-enter","after-leave","created","itemClick"],props:[].concat(props,["appendToBody","arrowOffset","boundariesPadding","closeDelay","disabled","modelValue","offset","openDelay","placement","popper","popperClass","popperOptions","reference","tabindex","title","transition","trigger","visibleArrow","width","maxHeight","listData"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$k,api:api$k})}}),_hoisted_1$y={ref:"root"},_hoisted_2$u=["id","aria-hidden"],_hoisted_3$q=["textContent"],_hoisted_4$m=["onClick"],_hoisted_5$k=["src"],_hoisted_6$i={class:"label-view"},_hoisted_7$e={class:"main"},_hoisted_8$b={key:0,class:"sub"},_hoisted_9$a={key:0,class:"line"};function _sfc_render$A(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("span",_hoisted_1$y,[createVNode$1(Transition$1,{name:ee.transition,onAfterEnter:ee.handleAfterEnter,onAfterLeave:ee.handleAfterLeave,persisted:""},{default:withCtx(function(){return[withDirectives(createBaseVNode("div",{class:normalizeClass(["tiny-mobile-popover tiny-mobile-popper",[ee.popperClass,"tiny-mobile-popover__plain",{"no-arrow":!ee.visibleArrow}]]),ref:"popper",style:normalizeStyle$2({width:ee.width==="auto"?ee.width:ee.width+"px",maxHeight:ee.maxHeight==="auto"?ee.maxHeight:ee.maxHeight+"px"}),role:"tooltip",id:ee.state.tooltipId,"aria-hidden":ee.disabled||!ee.state.showPopper?"true":"false"},[ee.title?(openBlock(),createElementBlock("div",{key:0,class:"tiny-mobile-popover__title",textContent:toDisplayString(ee.title)},null,8,_hoisted_3$q)):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{},function(){return[createBaseVNode("div",{class:"list-content",style:normalizeStyle$2({maxHeight:ee.maxHeight==="auto"?ee.maxHeight:ee.maxHeight+"px"})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.listData,function(se,le){return openBlock(),createElementBlock("div",{key:se.id,class:normalizeClass(["list-view",se.subLabel?"list-view-height":""]),onClick:function(ce){return ee.handleItemClick(se)}},[createBaseVNode("img",{src:se.icon,class:"icon"},null,8,_hoisted_5$k),createBaseVNode("div",_hoisted_6$i,[createBaseVNode("div",_hoisted_7$e,toDisplayString(se.label),1),se.subLabel?(openBlock(),createElementBlock("div",_hoisted_8$b,toDisplayString(se.subLabel),1)):createCommentVNode("v-if",!0)]),le!==ee.listData.length-1?(openBlock(),createElementBlock("div",_hoisted_9$a)):createCommentVNode("v-if",!0)],10,_hoisted_4$m)}),128))],4)]})],14,_hoisted_2$u),[[vShow,!ee.disabled&&ee.state.showPopper]])]}),_:3},8,["name","onAfterEnter","onAfterLeave"]),createBaseVNode("span",{ref:"wrapper",class:normalizeClass(["reference-wrapper",{"reference-wrapper-show":!ee.disabled&&ee.state.showPopper}])},[renderSlot(ee.$slots,"reference")],2)],512)}var mobile$8=_export_sfc$z(_sfc_main$M,[["render",_sfc_render$A]]);function _createForOfIteratorHelperLoose$x(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$x(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$x(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$x(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$x(ee,te)}}function _arrayLikeToArray$x(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$y=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$x(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne};function _extends$p(){return _extends$p=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$p.apply(this,arguments)}var classes$3={title:"text-color-icon-primary font-bold text-xs",popper:"sm:leading-5 sm:absolute sm:px-4 sm:py-3 sm:z-[2000] sm:text-justify sm:text-xs break-all sm:max-w-[theme(spacing.96)] sm:shadow-md sm:bg-color-bg-1 sm:rounded sm:[&[x-placement^=top]]:mb-2.5 sm:[&[x-placement^=bottom]]:mt-2.5 sm:[&[x-placement^=right]]:ml-2.5 sm:[&[x-placement^=left]]:mr-2.5",arrow:'absolute ml-0.5 border-b-color-bg-1 border-l-color-bg-1 rounded-bl-sm block w-0 h-0 border-4 border-transparent border-solid after:absolute after:block after:border-transparent after:border-solid after:content-[""]',"placement-top":"-bottom-1 left-1/2 -rotate-45","placement-bottom":"-top-1 left-1/2 rotate-[135deg]","placement-right":"-left-1.5 top-1/2 rotate-45","placement-left":"top-1/2 -right-1 rotate-[225deg]"},_sfc_main$L=defineComponent({inheritAttrs:!1,name:$prefix+"Popover",components:{IconClose:index$17()},emits:["update:modelValue","hide","show","after-enter","after-leave","created"],props:_extends$p({},$props,{appendToBody:{type:Boolean,default:!0},arrowOffset:{type:Number,default:0},boundariesPadding:{type:Number,default:5},closeDelay:{type:Number,default:200},content:String,disabled:Boolean,modelValue:Boolean,offset:{default:0},openDelay:{type:Number,default:0},placement:{type:String,default:"bottom"},popper:{},popperClass:String,popperOptions:{type:Object,default:function(){return{gpuAcceleration:!1}}},reference:{},tabindex:{type:Number,default:0},title:String,transformOrigin:{type:[Boolean,String],default:!0},transition:{type:String,default:"fade-in-linear"},trigger:{type:String,default:"click",validator:function(te){return~["click","focus","hover","manual"].indexOf(te)}},visibleArrow:{default:!0},genArrowByHtml:{type:Boolean,default:function(){return!0}},width:{}}),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$k,api:api$k,classes:classes$3})}}),_hoisted_1$x=["id","aria-hidden"],_hoisted_2$t={class:"hidden sm:block leading-5.5","data-tag":"tiny-popover-arrow"},_hoisted_3$p=["textContent"],_hoisted_4$l={"data-tag":"tiny-popover-body",class:normalizeClass(["sm:hidden block fixed left-0 right-0 top-0 bottom-0 text-sm text-color-text-primary transition-top ease-out duration-300","before:content-[''] before:fixed before:left-0 before:right-0 before:top-0 before:bottom-0 before:w-full before:h-full before:bg-color-bg-7"])},_hoisted_5$j={class:normalizeClass(["absolute bottom-0 top-auto left-1/2 -translate-x-1/2 w-full max-h-full p-3 pointer-events-auto"])},_hoisted_6$h={class:"flex flex-col w-full h-full rounded-lg overflow-hidden shadow-xl bg-color-bg-1"},_hoisted_7$d={"data-tag":"tiny-popover-header",class:"flex items-center leading-6 text-sm px-6 pt-5"},_hoisted_8$a={class:"flex-auto text-base truncate font-semibold"},_hoisted_9$9={"data-tag":"tiny-popover-content",class:"flex flex-auto leading-5 overflow-auto mx-6 mt-4 mb-5"},_hoisted_10$8={key:0,"data-tag":"tiny-popover-footer",class:"w-full py-2.5 px-6 border-t-0.5 border-color-border-separator text-center"},_hoisted_11$8={"data-tag":"tiny-popover-reference",ref:"wrapper"};function _sfc_render$z(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-close");return openBlock(),createElementBlock("span",{ref:"root",class:normalizeClass(ee.$attrs.class)},[createVNode$1(Transition$1,{name:ee.transition,onAfterEnter:ee.handleAfterEnter,onAfterLeave:ee.handleAfterLeave,persisted:""},{default:withCtx(function(){return[withDirectives(createBaseVNode("div",{"data-tag":"tiny-popover tiny-popper",class:normalizeClass([ee.m(ee.gcls("popper"),ee.popperClass)]),ref:"popper",style:normalizeStyle$2({width:ee.width+"px"}),role:"tooltip",id:ee.state.tooltipId,"aria-hidden":ee.disabled||!ee.state.showPopper?"true":"false"},[createBaseVNode("div",_hoisted_2$t,[ee.slots.header?renderSlot(ee.$slots,"header",{key:0}):ee.title?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([ee.gcls("title")]),textContent:toDisplayString(ee.title)},null,10,_hoisted_3$p)):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.content),1)]}),renderSlot(ee.$slots,"footer"),ee.visibleArrow?(openBlock(),createElementBlock("div",{key:2,"data-tag":"tiny-popover-visible","x-arrow":"",class:normalizeClass([ee.gcls("arrow"),ee.gcls("placement-"+ee.state.xPlacement.split("-")[0])])},null,2)):createCommentVNode("v-if",!0)]),createBaseVNode("div",_hoisted_4$l,[createBaseVNode("div",_hoisted_5$j,[createBaseVNode("div",_hoisted_6$h,[createBaseVNode("div",_hoisted_7$d,[createBaseVNode("span",_hoisted_8$a,toDisplayString(ee.title||ee.t("ui.alert.title")),1),createVNode$1(se,{onClick:te[0]||(te[0]=function(le){return ee.state.showPopper=!1})})]),createBaseVNode("div",_hoisted_9$9,[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.content),1)]})]),ee.slots.footer?(openBlock(),createElementBlock("div",_hoisted_10$8,[renderSlot(ee.$slots,"footer")])):createCommentVNode("v-if",!0)])])])],14,_hoisted_1$x),[[vShow,!ee.disabled&&ee.state.showPopper]])]}),_:3},8,["name","onAfterEnter","onAfterLeave"]),createBaseVNode("span",_hoisted_11$8,[renderSlot(ee.$slots,"reference")],512)],2)}var mobileFirst$9=_export_sfc$y(_sfc_main$L,[["render",_sfc_render$z]]);function _extends$o(){return _extends$o=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$o.apply(this,arguments)}var template$i=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$f:(ne||te)==="mobile"?mobile$8:(ne||te)==="mobile-first"?mobileFirst$9:pc$f},popoverProps=_extends$o({},$props,{appendToBody:{type:Boolean,default:!0},arrowOffset:{type:Number,default:0},boundariesPadding:{type:Number,default:5},closeDelay:{type:Number,default:200},content:String,disabled:Boolean,modelValue:Boolean,offset:{default:0},openDelay:{type:Number,default:0},placement:{type:String,default:"bottom"},popper:{},popperClass:String,popperOptions:{type:Object,default:function(){return{gpuAcceleration:!1}}},reference:{},tabindex:{type:Number,default:0},title:String,transition:{type:String,default:"fade-in-linear"},trigger:{type:String,default:"click",validator:function(te){return!!~["click","focus","hover","manual"].indexOf(te)}},visibleArrow:{default:!0},width:{type:[String,Number]},height:{type:[String,Number]},maxHeight:{type:[String,Number]},listData:[Object,Array],genArrowByHtml:{type:Boolean,default:function(){return!0}}}),Popover=defineComponent({inheritAttrs:!0,name:$prefix+"Popover",props:popoverProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$i})}}),version$l="3.16.0";Popover.install=function(ee){ee.component(Popover.name,Popover)};Popover.model={prop:"modelValue",event:"update:modelValue"};Popover.version=version$l;const isServer$1=typeof window>"u",nodeList=[],nameSpace="@@clickoutsideContext";let startClick,seed=0;isServer$1||(on(document,"mousedown",ee=>startClick=ee),on(document,"mouseup",ee=>{nodeList.forEach(te=>te[nameSpace].documentHandler(ee,startClick)),startClick=void 0}));const createDocumentHandler=(ee,te,ae)=>function(ne={},ie={}){let oe=ae.context.popperElm||ae.context.state&&ae.context.state.popperElm;!ne||!ne.target||!ie||!ie.target||ee.contains(ne.target)||ee.contains(ie.target)||ee===ne.target||oe&&(oe.contains(ne.target)||oe.contains(ie.target))||(te.expression&&ee[nameSpace].methodName&&ae.context[ee[nameSpace].methodName]?ae.context[ee[nameSpace].methodName]():ee[nameSpace].bindingFn&&ee[nameSpace].bindingFn())};var clickoutside_default={bind:(ee,te,ae)=>{nodeList.push(ee);const ne=seed++;ee[nameSpace]={id:ne,documentHandler:createDocumentHandler(ee,te,ae),methodName:te.expression,bindingFn:te.value}},update:(ee,te,ae)=>{ee[nameSpace].documentHandler=createDocumentHandler(ee,te,ae),ee[nameSpace].methodName=te.expression,ee[nameSpace].bindingFn=te.value},unbind:ee=>{if(ee.nodeType!==Node.ELEMENT_NODE)return;let te=nodeList.length;for(let ae=0;ae<te;ae++)if(nodeList[ae][nameSpace].id===ee[nameSpace].id){nodeList.splice(ae,1);break}nodeList.length===0&&startClick&&(startClick=null),delete ee[nameSpace]}};const show$1=({api:ee,state:te,props:ae})=>ne=>{const oe=ne&&ne.type==="mouseenter"?200:0;if(ae.visible==="auto"){const{clientWidth:se,scrollWidth:le}=te.referenceElm;if(le<=se)return}ee.setExpectedState(!0),ee.handleShowPopper(oe)},hide$2=ee=>()=>{ee.setExpectedState(!1),ee.debounceClose()},handleFocus$1=({api:ee,state:te})=>()=>{te.focusing=!0,ee.show()},handleBlur$1=({api:ee,state:te})=>()=>{te.focusing=!1,ee.hide()},removeFocusing=({api:ee,state:te})=>()=>{te.focusing=!1,ee.show()},handleShowPopper=({props:ee,state:te})=>ae=>{!te.expectedState||ee.manual||(clearTimeout(te.timeout),te.timeout=window.setTimeout(()=>{te.showPopper=!0},ee.openDelay||ae),ee.hideAfter>0&&(te.timeoutPending=window.setTimeout(()=>{te.showPopper=!1},ee.hideAfter)))},handleClosePopper=({api:ee,props:te,state:ae})=>()=>{te.enterable&&ae.expectedState||te.manual||(clearTimeout(ae.timeout),ae.timeoutPending&&clearTimeout(ae.timeoutPending),ae.showPopper=!1,te.disabled&&ee.doDestroy())},handleDocumentClick$1=({props:ee,api:te,state:ae,popperVmRef:ne})=>ie=>{if(ee.manual)return;const oe=ae.referenceElm,se=ne.popper;!se||!oe||se.contains(ie.target)||oe.contains(ie.target)||ae.showPopper&&(te.setExpectedState(!1),te.debounceClose())},setExpectedState=({state:ee})=>te=>{ee.expectedState===!1&&clearTimeout(ee.timeoutPending),ee.expectedState=te},destroyed=({state:ee,api:te,vm:ae})=>()=>{const ne=ee.referenceElm;ee.showPopper=!1,ne&&ne.nodeType===1&&(off(document,"click",te.handleDocumentClick),off(ne,"mouseenter",te.show),off(ne,"mouseleave",te.hide),off(ne,"focus",te.focusHandler),off(ne,"blur",te.handleBlur),off(ne,"click",te.removeFocusing)),ae.popperVM&&(typeof ae.popperVM.$destroy=="function"&&ae.popperVM.$destroy(),ae.popperVM=null)},debounceClose=({api:ee,props:te})=>debounce_default(te.closeDelay,()=>{ee.handleClosePopper()}),watchFocusing=ee=>te=>{te?addClass(ee.referenceElm,"focusing"):removeClass(ee.referenceElm,"focusing")},focusHandler=({slots:ee,api:te})=>()=>{if(!ee.default||!ee.default().length){te.handleFocus();return}let ae=ee.default()[0];ae=ae.elm||ae.el,ae&&ae.focus?ae.focus():te.handleFocus()},bindEvent=({api:ee,state:te,vm:ae})=>ne=>{let ie=null;ae.$el.nodeType===8?ie=ne:ae.$el.nodeType===1&&(ie=ae.$el),!(!ie||ie.nodeType===8||te.referenceElm)&&(te.referenceElm=ie,ie.setAttribute("aria-describedby",te.tooltipId),ie.setAttribute("tabindex",te.tabindex.toString()),on(document,"click",ee.handleDocumentClick),on(ie,"mouseenter",ee.show),on(ie,"mouseleave",ee.hide),on(ie,"focus",ee.focusHandler),on(ie,"blur",ee.handleBlur),on(ie,"click",ee.removeFocusing))},observeCallback=({state:ee,popperVmRef:te})=>ae=>{for(let ne of ae)ne.type==="attributes"&&ne.attributeName==="x-placement"&&(ee.xPlacement=te.popper.getAttribute("x-placement")||"bottom")},bindPopper=({vm:ee,nextTick:te,popperVmRef:ae})=>ne=>{te(()=>ee.bindEvent(ne));let ie=ee.popperVM;ee.$refs.popper?ae.popper=ee.$refs.popper:ae.popper=ie.$el,te(()=>{ee.modelValue&&ee.updatePopper()})},api$j=["state","bindEvent","hide","show","doDestroy","handleFocus","debounceClose","handleShowPopper","handleClosePopper","setExpectedState","updatePopper","focusHandler"],initState$5=({reactive:ee,showPopper:te,popperElm:ae,referenceElm:ne,props:ie,inject:oe})=>ee({showPopper:te,popperElm:ae,referenceElm:ne,timeout:null,focusing:!1,expectedState:void 0,tooltipId:guid$1("tiny-tooltip-",4),tabindex:ie.tabindex,xPlacement:"bottom",showContent:oe("showContent",null),tipsMaxWidth:oe("tips-max-width",null)}),renderless$j=(ee,{watch:te,toRefs:ae,reactive:ne,onBeforeUnmount:ie,onDeactivated:oe,onMounted:se,onUnmounted:le,inject:ue},{vm:ce,emit:de,slots:he,nextTick:fe,parent:pe})=>{const ve={},ge={},me={emit:de,props:ee,nextTick:fe,toRefs:ae,reactive:ne,parent:pe.$parent,vm:ce,popperVmRef:ge};Object.assign(me,{slots:he,onBeforeUnmount:ie,onDeactivated:oe,watch:te});const{showPopper:ye,updatePopper:_e,popperElm:be,referenceElm:xe,doDestroy:$e}=vue_popper_default(me),Se=initState$5({reactive:ne,showPopper:ye,popperElm:be,referenceElm:xe,props:ee,inject:ue});return Object.assign(ve,{state:Se,doDestroy:$e,updatePopper:_e,show:show$1({api:ve,state:Se,props:ee}),hide:hide$2(ve),destroyed:destroyed({state:Se,api:ve,vm:ce}),bindPopper:bindPopper({vm:ce,nextTick:fe,popperVmRef:ge}),watchFocusing:watchFocusing(Se),removeFocusing:removeFocusing({api:ve,state:Se}),handleBlur:handleBlur$1({api:ve,state:Se}),handleFocus:handleFocus$1({api:ve,state:Se}),debounceClose:debounceClose({api:ve,props:ee}),setExpectedState:setExpectedState({state:Se}),handleShowPopper:handleShowPopper({props:ee,state:Se}),handleClosePopper:handleClosePopper({api:ve,props:ee,state:Se}),bindEvent:bindEvent({api:ve,state:Se,vm:ce}),focusHandler:focusHandler({slots:he,api:ve}),handleDocumentClick:handleDocumentClick$1({props:ee,api:ve,state:Se,popperVmRef:ge}),observeCallback:observeCallback({state:Se,popperVmRef:ge})}),te(()=>Se.focusing,ve.watchFocusing),te(()=>ee.modelValue,we=>fe(()=>ee.manual&&(Se.showPopper=we))),se(()=>{if(ve.bindPopper(),ee.genArrowByHtml){const we={attributes:!0,childList:!1,subtree:!1};ve.observer=new MutationObserver(ve.observeCallback),ve.observer.observe(ge.popper,we)}}),ce.$on("tooltip-update",ve.bindPopper),le(()=>{ve.destroyed(),ve.observer&&ve.observer.disconnect()}),ve},index$t="";function _extends$n(){return _extends$n=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$n.apply(this,arguments)}var _sfc_main$K=defineComponent({name:$prefix+"Tooltip",componentName:"Tooltip",props:_extends$n({},$props,{visible:{type:String,default:function(){return"always"},validator:function(te){return["always","auto"].includes(te)}},adjustArrow:{type:Boolean,default:function(){return!1}},appendToBody:{type:Boolean,default:function(){return!0}},arrowOffset:{type:Number,default:function(){return 0}},boundariesPadding:{type:Number,default:function(){return 5}},closeDelay:{type:Number,default:function(){return 300}},content:{type:[String,Object]},disabled:{type:Boolean},effect:{type:String,default:function(){return"dark"}},enterable:{type:Boolean,default:function(){return!0}},hideAfter:{type:Number,default:function(){return 0}},manual:{type:Boolean},modelValue:{type:Boolean},offset:{default:function(){return 0}},openDelay:{type:Number,default:function(){return 0}},placement:{type:String,default:function(){return"bottom"}},popper:{},popperClass:{type:String},popperOptions:{default:function(){return{gpuAcceleration:!1,boundariesPadding:10}}},pre:{type:Boolean},reference:{},renderContent:{type:Function},tabindex:{type:Number,default:function(){return 0}},transition:{type:String,default:function(){return"tiny-fade-in-linear"}},type:{type:String,validator:function(te){return!!~["normal","warning","error","info","success"].indexOf(te)}},visibleArrow:{type:Boolean,default:function(){return!0}},zIndex:{type:String,default:function(){return"next"}}}),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$j,api:api$j})},render:function(){var te=this,ae=function(he){var fe=he.slots.content&&he.slots.content();if(fe&&(!Comment$1||fe[0].type!==Comment$1))return fe;var pe;return he.renderContent?pe=he.renderContent(h,he.content):he.pre?pe=he.content?h("pre",he.content):null:pe=he.content,pe};if(!Object.prototype.hasOwnProperty.call(this,"popperVM")){var ne=createComponent({el:document.createElement("div"),propsData:null,component:{render:function(){var he=ae(te),fe={attrs:{name:te.transition},on:{"after-leave":te.doDestroy}},pe="is-"+(te.type||te.effect||"dark"),ve=function(){return te.setExpectedState(!0)},ge=function(){te.setExpectedState(!1),te.debounceClose()};return te.$nextTick(function(){!te.disabled&&te.state.showPopper&&he&&te.updatePopper()}),h("transition",fe,[withDirectives(createVNode$1("div",{ref:"popper",id:te.state.tooltipId,class:["tiny-tooltip","tiny-tooltip__popper",pe,te.popperClass,{"tiny-tooltip__show-tips":te.state.showContent}],style:"max-width:"+te.state.tipsMaxWidth+"px",role:"tooltip","aria-hidden":te.disabled||!te.state.showPopper?"true":"false",onMouseenter:function(){return ve()},onMouseleave:function(){return ge()}},[he]),[[vShow,!te.disabled&&te.state.showPopper&&he]])])}}});this.d({popperVM:{get:function(){return ne},set:function(he){return ne=he}}})}var ie=function(he){return Object.keys(he).filter(function(fe){return he[fe]}).join(" ")},oe=function(he){return he.filter(function(fe){return fe}).map(function(fe){return typeof fe=="string"?fe.trim():typeof fe=="object"?ie(fe):""}).join(" ")},se=function(he){var fe="";return he&&(typeof he=="string"?fe=he.trim():Array.isArray(he)?fe=oe(he):typeof he=="object"&&(fe=ie(he))),"tiny-tooltip "+fe.replace(/\btiny-tooltip\b/g,"").trim()},le=function(){var he=te.slots.default&&te.slots.default();if(!Array.isArray(he))return null;for(var fe=null,pe=0;pe<he.length;pe++){var ve=parseVnode(he[pe]);if(!isEmptyVnode(ve)){fe=ve;break}}return fe},ue=le();if(!ue)return null;var ce=ue.data||ue.props||(ue.props={});return ce.class=se(ce.class),ue}});function _extends$m(){return _extends$m=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$m.apply(this,arguments)}var classes$2={tooltip:"absolute bg-color-text-primary text-color-text-inverse shadow-none -left-[9999px] py-2 px-3 sm:py-1.5 sm:px-2 text-sm sm:text-xs leading-tight min-w-[theme(spacing.12)] max-w-[theme(spacing.80)] sm:max-w-[theme(spacing.112)] z-[2000] break-words rounded [&[x-placement^=top]]:mb-2.5 [&[x-placement^=bottom]]:mt-2.5 [&[x-placement^=right]]:ml-2.5 [&[x-placement^=left]]:mr-2.5","tooltip-sm":"sm:bg-color-bg-1 sm:text-color-text-primary sm:shadow-md",arrow:'drop-shadow-none absolute block w-0 h-0 border-[0.375rem] border-transparent border-solid after:absolute after:block after:w-0 after:h-0 after:border-[0.3125rem] after:border-transparent after:border-solid after:content-[""]',"placement-top":"-bottom-3 border-t-color-text-primary border-b-w-0 after:-bottom-1 after:-ml-1.5 after:border-t-color-text-primary after:border-b-w-0","placement-bottom":"-top-3 border-t-w-0 border-b-color-text-primary after:-top-1 after:-ml-1.5 after:border-t-w-0 after:border-b-color-text-primary","placement-right":"-left-3 border-r-color-text-primary border-l-w-0 after:-bottom-1 after:-left-1 after:border-r-color-text-primary after:border-l-w-0","placement-left":"-right-1.5 border-l-color-text-primary border-r-0 after:-bottom-1 after:right-px after:-ml-1.5 after:border-l-color-text-primary after:border-r-0","placement-top-sm":"sm:drop-shadow-[0_2px_2px_rgba(0,0,0,0.08)] sm:border-t-color-bg-1 sm:after:border-t-color-bg-1","placement-bottom-sm":"sm:drop-shadow-[0_-2px_2px_rgba(0,0,0,0.08)] sm:border-b-color-bg-1 sm:after:border-b-color-bg-1","placement-right-sm":"sm:drop-shadow-[-2px_0px_2px_rgba(0,0,0,0.08)] sm:border-r-color-bg-1 sm:after:border-r-color-bg-1","placement-left-sm":"sm:drop-shadow-[2px_0_2px_rgba(0,0,0,0.08)] sm:border-l-color-bg-1 sm:after:border-l-color-bg-1","placement-top-light":"border-t-color-bg-1 drop-shadow-[0_2px_2px_rgba(0,0,0,0.08)] after:border-t-color-bg-1","placement-bottom-light":"border-b-color-bg-1 drop-shadow-[0_-2px_2px_rgba(0,0,0,0.08)] after:border-b-color-bg-1","placement-left-light":"border-l-color-bg-1 drop-shadow-[2px_0_2px_rgba(0,0,0,0.08)] after:border-l-color-bg-1","placement-right-light":"border-r-color-bg-1 drop-shadow-[-2px_0px_2px_rgba(0,0,0,0.08)] after:border-r-color-bg-1","placement-top-dark":"border-t-color-text-primary after:border-t-color-text-primary","placement-bottom-dark":"border-b-color-text-primary after:border-b-color-text-primary","placement-left-dark":"border-l-color-text-primary after:border-l-color-text-primary","placement-right-dark":"border-r-color-text-primary after:border-r-color-text-primary","effect-dark":"bg-color-text-primary text-color-text-inverse shadow-none","effect-light":"bg-color-bg-1 text-color-text-primary shadow-md","is-warning":"text-color-text-inverse bg-color-warning border-color-warning","is-error":"text-color-text-inverse bg-color-error border-color-error","is-info":"text-color-text-inverse bg-color-info-secondary border-color-info-secondary","is-success":"text-color-text-inverse bg-color-success border-color-success","arrow-top-warning":"border-t-color-warning after:border-t-color-warning","arrow-bottom-warning":"border-b-color-warning after:border-b-color-warning","arrow-left-warning":"border-l-color-warning after:border-l-color-warning","arrow-right-warning":"border-r-color-warning after:border-r-color-warning","arrow-top-error":"border-t-color-error after:border-t-color-error","arrow-bottom-error":"border-b-color-error after:border-b-color-error","arrow-left-error":"border-l-color-error after:border-l-color-error","arrow-right-error":"border-r-color-error after:border-r-color-error","arrow-top-info":"border-t-color-info-secondary after:border-t-color-info-secondary","arrow-bottom-info":"border-b-color-info-secondary after:border-b-color-info-secondary","arrow-left-info":"border-l-color-info-secondary after:border-l-color-info-secondary","arrow-right-info":"border-r-color-info-secondary after:border-r-color-info-secondary","arrow-top-success":"border-t-color-success after:border-t-color-success","arrow-bottom-success":"border-b-color-success after:border-b-color-success","arrow-left-success":"border-l-color-success after:border-l-color-success","arrow-right-success":"border-r-color-success after:border-r-color-success"},_sfc_main$J=defineComponent({name:$prefix+"Tooltip",componentName:"Tooltip",props:_extends$m({},$props,{adjustArrow:{type:Boolean,default:function(){return!1}},appendToBody:{type:Boolean,default:function(){return!0}},arrowOffset:{type:Number,default:function(){return 0}},boundariesPadding:{type:Number,default:function(){return 5}},closeDelay:{type:Number,default:function(){return 100}},content:{type:String},disabled:{type:Boolean},effect:{type:String,default:function(){return""}},enterable:{type:Boolean,default:function(){return!0}},hideAfter:{type:Number,default:function(){return 0}},manual:{type:Boolean},modelValue:{type:Boolean},offset:{default:function(){return 0}},openDelay:{type:Number,default:function(){return 0}},placement:{type:String,default:function(){return"bottom"}},popper:{},popperClass:{type:String},popperOptions:{default:function(){return{gpuAcceleration:!1,boundariesPadding:10}}},pre:{type:Boolean},reference:{},renderContent:{type:Function},tabindex:{type:Number,default:function(){return 0}},transformOrigin:{type:[Boolean,String],default:function(){return!0}},type:{type:String,validator:function(te){return~["normal","warning","error","info","success"].indexOf(te)}},visibleArrow:{type:Boolean,default:function(){return!0}},genArrowByHtml:{type:Boolean,default:function(){return!0}},zIndex:{type:String,default:function(){return"next"}}}),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$j,api:api$j})},render:function(){var te=this,ae=function(de){var he=de.slots.content&&de.slots.content();if(he)return he;var fe;return de.renderContent?fe=de.renderContent(h,de.content):de.pre?fe=de.content?h("pre",{class:"whitespace-pre-wrap"},de.content):null:fe=de.content,fe};if(!Object.hasOwnProperty.call(this,"popperVM")){var ne=createComponent({el:document.createElement("div"),component:{render:function(){var de=ae(te),he={on:{"after-leave":te.doDestroy}},fe=function(){return te.setExpectedState(!0)},pe=function(){te.setExpectedState(!1),te.debounceClose()},ve=te.state.xPlacement||"";return h("transition",he,[withDirectives(createVNode$1("div",{"data-tag":"tiny-tooltip",ref:"popper",id:te.state.tooltipId,appendToBody:te.appendToBody,class:mergeClass([classes$2.tooltip,!te.effect&&!te.type&&classes$2["tooltip-sm"],te.effect&&classes$2["effect-"+te.effect],te.type&&classes$2["is-"+te.type],te.disabled||!te.state.showPopper?"hidden":"",te.popperClass]),role:"tooltip","aria-hidden":te.disabled||!te.state.showPopper?"true":"false",onMouseenter:function(){return fe()},onMouseleave:function(){return pe()}},[de,te.visibleArrow?createVNode$1("div",{"x-arrow":!0,class:mergeClass([classes$2.arrow,classes$2["placement-"+ve.split("-")[0]],!te.effect&&!te.type&&classes$2["placement-"+ve.split("-")[0]+"-sm"],te.effect==="light"?classes$2["placement-"+ve.split("-")[0]+"-light"]:"",te.effect==="dark"?classes$2["placement-"+ve.split("-")[0]+"-dark"]:"",te.type?classes$2["arrow-"+ve.split("-")[0]+"-"+te.type]:""])},null):""]),[[vShow,!te.disabled&&te.state.showPopper&&de]])])}}});this.d({popperVM:{get:function(){return ne},set:function(de){return ne=de}}})}var ie=function(de,he){var fe=function(ye){return ye&&ye.trim()},pe=function(ye){var _e=[];return ye.forEach(function(be){be&&typeof be=="string"?_e.push(fe(be)):be&&typeof be=="object"&&_e.push(ve(be))}),_e.join(" ")},ve=function(ye){var _e=[];return Object.keys(ye).forEach(function(be){ye[be]&&_e.push(be)}),_e.join(" ")},ge="";return de&&(typeof de=="string"?ge=ge+fe(de):Array.isArray(de)?ge=ge+pe(de):typeof de=="object"&&(ge=ge+ve(de))),fe(ge.replace(he,""))},oe=function(de){var he=ie(de,/\btiny-tooltip\b/g);return"tiny-tooltip "+he},se=function(){var de=te.slots.default&&te.slots.default();if(!Array.isArray(de))return null;for(var he=null,fe=0;fe<de.length;fe++){var pe=parseVnode(de[fe]);if(!isEmptyVnode(pe)){he=pe;break}}return he},le=se();if(!le)return null;var ue=le.data||le.props||(le.props={});return ue.class=oe(ue.class),le}});function _extends$l(){return _extends$l=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$l.apply(this,arguments)}var template$h=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?_sfc_main$K:(ne||te)==="mobile-first"?_sfc_main$J:_sfc_main$K},tooltipProps=_extends$l({},$props,{visible:{type:String,default:function(){return"always"},validator:function(te){return["always","auto"].includes(te)}},adjustArrow:{type:Boolean,default:function(){return!1}},appendToBody:{type:Boolean,default:function(){return!0}},arrowOffset:{type:Number,default:function(){return 0}},content:{type:[String,Object]},disabled:{type:Boolean},enterable:{type:Boolean,default:function(){return!0}},hideAfter:{type:Number,default:function(){return 0}},manual:{type:Boolean},modelValue:{type:Boolean},offset:{default:function(){return 0}},effect:{type:String,default:function(){return""}},openDelay:{type:Number,default:function(){return 0}},closeDelay:{type:Number,default:function(){return 100}},placement:{type:String,default:function(){return"bottom"}},popper:{},popperClass:{type:String},popperOptions:{default:function(){return{}}},pre:{type:Boolean},reference:{},renderContent:{type:Function},tabindex:{type:Number,default:function(){return 0}},transition:{type:String,default:function(){return"tiny-fade-in-linear"}},type:{type:String,validator:function(te){return!!~["normal","warning","error","info","success"].indexOf(te)}},visibleArrow:{type:Boolean,default:function(){return!0}},genArrowByHtml:{type:Boolean,default:function(){return!0}},zIndex:{type:String,default:function(){return"next"}}}),Tooltip=defineComponent({name:$prefix+"Tooltip",componentName:"Tooltip",props:tooltipProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$h})}}),version$k="3.16.0";Tooltip.model={prop:"modelValue",event:"update:modelValue"};Tooltip.install=function(ee){ee.component(Tooltip.name,Tooltip)};Tooltip.version=version$k;const setSheetStyle=({state:ee,props:te})=>()=>{te.contentPosition?(ee.sheetMaskStyle={position:"absolute"},ee.sheetContentStyle={position:"absolute","max-height":te.height}):(ee.sheetMaskStyle={position:"fixed"},ee.sheetContentStyle={position:"fixed","max-height":te.height}),ee.contentStyle=te.contentStyle?te.contentStyle:""},initScrollMenu=({state:ee,nextTick:te,refs:ae,BScroll:ne})=>()=>{te(()=>{const{scrollMenu:ie}=ae;ie&&(ee.scroll?ee.scroll.refresh():ee.scroll=new ne(ie,{probeType:3,tap:"tap"}))})},visibleHandle=({emit:ee,state:te})=>()=>{te.scroll=null,ee("update:visible",!1),ee("close",!1)},watchVisible$2=({emit:ee,state:te})=>ae=>{setTimeout(()=>{te.toggle=ae},0),ee("update:visible",ae)},menuHandle=({emit:ee,state:te})=>ae=>{te.active=ae.id,te.scroll=null,ee("update:visible",!1),ee("update:modelValue",ae.id),ee("click",ae)},close$2=({api:ee})=>()=>{ee.handleClose("close",!1)},hide$1=({api:ee})=>()=>{ee.handleClose("hide",!1)},selectOption=({emit:ee,props:te})=>ae=>{const{valueField:ne}=te;ee("update:visible",!1),ee("update:modelValue",ae[ne]),ee("click",ae)},confirm$2=({state:ee,api:te})=>()=>{te.handleClose("confirm",ee)},actionSelectOption=({emit:ee})=>(te,ae)=>{ee("update:visible",!1),ee("click",te,ae)},handleClose$1=({vm:ee,emit:te,props:ae})=>(ne,ie)=>{typeof ae.beforeClose=="function"&&ae.beforeClose(ne)===!1||(ne==="close"?ee.$refs.drawer.close(!0):te("update:visible",!1),te(ne,ie))},api$i=["state","setSheetStyle","initScrollMenu","visibleHandle","watchVisible","menuHandle","close","selectOption","confirm","actionSelectOption","hide"],renderless$i=(ee,{reactive:te,watch:ae},{emit:ne,nextTick:ie,refs:oe,vm:se},{BScroll:le})=>{const ue=te({toggle:!1,sheetMaskStyle:{},sheetContentStyle:{},scroll:null}),ce={};return Object.assign(ce,{state:ue,setSheetStyle:setSheetStyle({state:ue,props:ee}),initScrollMenu:initScrollMenu({state:ue,nextTick:ie,refs:oe,BScroll:le}),visibleHandle:visibleHandle({emit:ne,state:ue}),watchVisible:watchVisible$2({emit:ne,state:ue}),menuHandle:menuHandle({state:ue,emit:ne}),confirm:confirm$2({state:ue,api:ce}),selectOption:selectOption({emit:ne,props:ee}),actionSelectOption:actionSelectOption({emit:ne}),hide:hide$1({api:ce}),close:close$2({api:ce}),handleClose:handleClose$1({vm:se,emit:ne,props:ee})}),ae(()=>ee.visible,de=>{de&&(ce.setSheetStyle({state:ue,props:ee}),ce.initScrollMenu({state:ue,nextTick:ie,refs:oe,BScroll:le})),ce.watchVisible(de)}),ae(()=>ee.visible,ce.watchVisible,{immediate:!0}),ce},index$s="";/*!
- * better-scroll / core
- * (c) 2016-2022 ustbhuangyi
- * Released under the MIT License.
- *//*! *****************************************************************************
-Copyright (c) Microsoft Corporation.
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-***************************************************************************** */var extendStatics$1=function(ee,te){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ae,ne){ae.__proto__=ne}||function(ae,ne){for(var ie in ne)Object.prototype.hasOwnProperty.call(ne,ie)&&(ae[ie]=ne[ie])},extendStatics$1(ee,te)};function __extends$1(ee,te){extendStatics$1(ee,te);function ae(){this.constructor=ee}ee.prototype=te===null?Object.create(te):(ae.prototype=te.prototype,new ae)}var __assign=function(){return __assign=Object.assign||function(te){for(var ae,ne=1,ie=arguments.length;ne<ie;ne++){ae=arguments[ne];for(var oe in ae)Object.prototype.hasOwnProperty.call(ae,oe)&&(te[oe]=ae[oe])}return te},__assign.apply(this,arguments)};function __spreadArrays(){for(var ee=0,te=0,ae=arguments.length;te<ae;te++)ee+=arguments[te].length;for(var ne=Array(ee),ie=0,te=0;te<ae;te++)for(var oe=arguments[te],se=0,le=oe.length;se<le;se++,ie++)ne[ie]=oe[se];return ne}var propertiesConfig=[{sourceKey:"scroller.scrollBehaviorX.currentPos",key:"x"},{sourceKey:"scroller.scrollBehaviorY.currentPos",key:"y"},{sourceKey:"scroller.scrollBehaviorX.hasScroll",key:"hasHorizontalScroll"},{sourceKey:"scroller.scrollBehaviorY.hasScroll",key:"hasVerticalScroll"},{sourceKey:"scroller.scrollBehaviorX.contentSize",key:"scrollerWidth"},{sourceKey:"scroller.scrollBehaviorY.contentSize",key:"scrollerHeight"},{sourceKey:"scroller.scrollBehaviorX.maxScrollPos",key:"maxScrollX"},{sourceKey:"scroller.scrollBehaviorY.maxScrollPos",key:"maxScrollY"},{sourceKey:"scroller.scrollBehaviorX.minScrollPos",key:"minScrollX"},{sourceKey:"scroller.scrollBehaviorY.minScrollPos",key:"minScrollY"},{sourceKey:"scroller.scrollBehaviorX.movingDirection",key:"movingDirectionX"},{sourceKey:"scroller.scrollBehaviorY.movingDirection",key:"movingDirectionY"},{sourceKey:"scroller.scrollBehaviorX.direction",key:"directionX"},{sourceKey:"scroller.scrollBehaviorY.direction",key:"directionY"},{sourceKey:"scroller.actions.enabled",key:"enabled"},{sourceKey:"scroller.animater.pending",key:"pending"},{sourceKey:"scroller.animater.stop",key:"stop"},{sourceKey:"scroller.scrollTo",key:"scrollTo"},{sourceKey:"scroller.scrollBy",key:"scrollBy"},{sourceKey:"scroller.scrollToElement",key:"scrollToElement"},{sourceKey:"scroller.resetPosition",key:"resetPosition"}];function warn$1(ee){console.error("[BScroll warn]: "+ee)}var inBrowser=typeof window<"u",ua=inBrowser&&navigator.userAgent.toLowerCase(),isWeChatDevTools=!!(ua&&/wechatdevtools/.test(ua)),isAndroid=ua&&ua.indexOf("android")>0,isIOSBadVersion=function(){if(typeof ua=="string"){var ee=/os (\d\d?_\d(_\d)?)/,te=ee.exec(ua);if(!te)return!1;var ae=te[1].split("_").map(function(ne){return parseInt(ne,10)});return ae[0]===13&&ae[1]>=4}return!1}(),supportsPassive=!1;if(inBrowser){var EventName="test-passive";try{var opts={};Object.defineProperty(opts,"passive",{get:function(){supportsPassive=!0}}),window.addEventListener(EventName,function(){},opts)}catch{}}function getNow(){return window.performance&&window.performance.now&&window.performance.timing?window.performance.now()+window.performance.timing.navigationStart:+new Date}var extend$3=function(ee,te){for(var ae in te)ee[ae]=te[ae];return ee};function isUndef$1(ee){return ee==null}function between(ee,te,ae){return ee<te?te:ee>ae?ae:ee}var elementStyle=inBrowser&&document.createElement("div").style,vendor=function(){if(!inBrowser)return!1;for(var ee=[{key:"standard",value:"transform"},{key:"webkit",value:"webkitTransform"},{key:"Moz",value:"MozTransform"},{key:"O",value:"OTransform"},{key:"ms",value:"msTransform"}],te=0,ae=ee;te<ae.length;te++){var ne=ae[te];if(elementStyle[ne.value]!==void 0)return ne.key}return!1}();function prefixStyle(ee){return vendor===!1?ee:vendor==="standard"?ee==="transitionEnd"?"transitionend":ee:vendor+ee.charAt(0).toUpperCase()+ee.substr(1)}function getElement(ee){return typeof ee=="string"?document.querySelector(ee):ee}function addEvent(ee,te,ae,ne){var ie=supportsPassive?{passive:!1,capture:!!ne}:!!ne;ee.addEventListener(te,ae,ie)}function removeEvent(ee,te,ae,ne){ee.removeEventListener(te,ae,{capture:!!ne})}function maybePrevent(ee){ee.cancelable&&ee.preventDefault()}function offset(ee){for(var te=0,ae=0;ee;)te-=ee.offsetLeft,ae-=ee.offsetTop,ee=ee.offsetParent;return{left:te,top:ae}}vendor&&vendor!=="standard"&&""+vendor.toLowerCase();var transform=prefixStyle("transform"),transition=prefixStyle("transition"),hasPerspective=inBrowser&&prefixStyle("perspective")in elementStyle,hasTouch=inBrowser&&("ontouchstart"in window||isWeChatDevTools),hasTransition=inBrowser&&transition in elementStyle,style={transform,transition,transitionTimingFunction:prefixStyle("transitionTimingFunction"),transitionDuration:prefixStyle("transitionDuration"),transitionDelay:prefixStyle("transitionDelay"),transformOrigin:prefixStyle("transformOrigin"),transitionEnd:prefixStyle("transitionEnd"),transitionProperty:prefixStyle("transitionProperty")},eventTypeMap={touchstart:1,touchmove:1,touchend:1,touchcancel:1,mousedown:2,mousemove:2,mouseup:2};function getRect(ee){if(ee instanceof window.SVGElement){var te=ee.getBoundingClientRect();return{top:te.top,left:te.left,width:te.width,height:te.height}}else return{top:ee.offsetTop,left:ee.offsetLeft,width:ee.offsetWidth,height:ee.offsetHeight}}function preventDefaultExceptionFn(ee,te){for(var ae in te)if(te[ae].test(ee[ae]))return!0;return!1}var tagExceptionFn=preventDefaultExceptionFn;function tap(ee,te){var ae=document.createEvent("Event");ae.initEvent(te,!0,!0),ae.pageX=ee.pageX,ae.pageY=ee.pageY,ee.target.dispatchEvent(ae)}function click(ee,te){te===void 0&&(te="click");var ae;ee.type==="mouseup"?ae=ee:(ee.type==="touchend"||ee.type==="touchcancel")&&(ae=ee.changedTouches[0]);var ne={};ae&&(ne.screenX=ae.screenX||0,ne.screenY=ae.screenY||0,ne.clientX=ae.clientX||0,ne.clientY=ae.clientY||0);var ie,oe=!0,se=!0,le=ee.ctrlKey,ue=ee.shiftKey,ce=ee.altKey,de=ee.metaKey,he={ctrlKey:le,shiftKey:ue,altKey:ce,metaKey:de};if(typeof MouseEvent<"u")try{ie=new MouseEvent(te,extend$3(__assign({bubbles:oe,cancelable:se},he),ne))}catch{fe()}else fe();function fe(){ie=document.createEvent("Event"),ie.initEvent(te,oe,se),extend$3(ie,ne)}ie.forwardedTouchEvent=!0,ie._constructed=!0,ee.target.dispatchEvent(ie)}function dblclick(ee){click(ee,"dblclick")}var ease={swipe:{style:"cubic-bezier(0.23, 1, 0.32, 1)",fn:function(ee){return 1+--ee*ee*ee*ee*ee}},swipeBounce:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(ee){return ee*(2-ee)}},bounce:{style:"cubic-bezier(0.165, 0.84, 0.44, 1)",fn:function(ee){return 1- --ee*ee*ee*ee}}},DEFAULT_INTERVAL=1e3/60,windowCompat=inBrowser&&window;function noop$1$1(){}var requestAnimationFrame$3=function(){return inBrowser?windowCompat.requestAnimationFrame||windowCompat.webkitRequestAnimationFrame||windowCompat.mozRequestAnimationFrame||windowCompat.oRequestAnimationFrame||function(ee){return window.setTimeout(ee,ee.interval||DEFAULT_INTERVAL)}:noop$1$1}(),cancelAnimationFrame$1=function(){return inBrowser?windowCompat.cancelAnimationFrame||windowCompat.webkitCancelAnimationFrame||windowCompat.mozCancelAnimationFrame||windowCompat.oCancelAnimationFrame||function(ee){window.clearTimeout(ee)}:noop$1$1}(),noop$2=function(ee){},sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noop$2,set:noop$2},getProperty=function(ee,te){for(var ae=te.split("."),ne=0;ne<ae.length-1;ne++)if(ee=ee[ae[ne]],typeof ee!="object"||!ee)return;var ie=ae.pop();return typeof ee[ie]=="function"?function(){return ee[ie].apply(ee,arguments)}:ee[ie]},setProperty=function(ee,te,ae){for(var ne=te.split("."),ie,oe=0;oe<ne.length-1;oe++)ie=ne[oe],ee[ie]||(ee[ie]={}),ee=ee[ie];ee[ne.pop()]=ae};function propertiesProxy(ee,te,ae){sharedPropertyDefinition.get=function(){return getProperty(this,te)},sharedPropertyDefinition.set=function(ie){setProperty(this,te,ie)},Object.defineProperty(ee,ae,sharedPropertyDefinition)}var EventEmitter=function(){function ee(te){this.events={},this.eventTypes={},this.registerType(te)}return ee.prototype.on=function(te,ae,ne){return ne===void 0&&(ne=this),this.hasType(te),this.events[te]||(this.events[te]=[]),this.events[te].push([ae,ne]),this},ee.prototype.once=function(te,ae,ne){var ie=this;ne===void 0&&(ne=this),this.hasType(te);var oe=function(){for(var se=[],le=0;le<arguments.length;le++)se[le]=arguments[le];ie.off(te,oe);var ue=ae.apply(ne,se);if(ue===!0)return ue};return oe.fn=ae,this.on(te,oe),this},ee.prototype.off=function(te,ae){if(!te&&!ae)return this.events={},this;if(te){if(this.hasType(te),!ae)return this.events[te]=[],this;var ne=this.events[te];if(!ne)return this;for(var ie=ne.length;ie--;)(ne[ie][0]===ae||ne[ie][0]&&ne[ie][0].fn===ae)&&ne.splice(ie,1);return this}},ee.prototype.trigger=function(te){for(var ae=[],ne=1;ne<arguments.length;ne++)ae[ne-1]=arguments[ne];this.hasType(te);var ie=this.events[te];if(ie)for(var oe=ie.length,se=__spreadArrays(ie),le,ue=0;ue<oe;ue++){var ce=se[ue],de=ce[0],he=ce[1];if(de&&(le=de.apply(he,ae),le===!0))return le}},ee.prototype.registerType=function(te){var ae=this;te.forEach(function(ne){ae.eventTypes[ne]=ne})},ee.prototype.destroy=function(){this.events={},this.eventTypes={}},ee.prototype.hasType=function(te){var ae=this.eventTypes,ne=ae[te]===te;ne||warn$1('EventEmitter has used unknown event type: "'+te+'", should be oneof ['+(""+Object.keys(ae).map(function(ie){return JSON.stringify(ie)}))+"]")},ee}(),EventRegister=function(){function ee(te,ae){this.wrapper=te,this.events=ae,this.addDOMEvents()}return ee.prototype.destroy=function(){this.removeDOMEvents(),this.events=[]},ee.prototype.addDOMEvents=function(){this.handleDOMEvents(addEvent)},ee.prototype.removeDOMEvents=function(){this.handleDOMEvents(removeEvent)},ee.prototype.handleDOMEvents=function(te){var ae=this,ne=this.wrapper;this.events.forEach(function(ie){te(ne,ie.name,ae,!!ie.capture)})},ee.prototype.handleEvent=function(te){var ae=te.type;this.events.some(function(ne){return ne.name===ae?(ne.handler(te),!0):!1})},ee}(),CustomOptions=function(){function ee(){}return ee}(),OptionsConstructor=function(ee){__extends$1(te,ee);function te(){var ae=ee.call(this)||this;return ae.startX=0,ae.startY=0,ae.scrollX=!1,ae.scrollY=!0,ae.freeScroll=!1,ae.directionLockThreshold=0,ae.eventPassthrough="",ae.click=!1,ae.dblclick=!1,ae.tap="",ae.bounce={top:!0,bottom:!0,left:!0,right:!0},ae.bounceTime=800,ae.momentum=!0,ae.momentumLimitTime=300,ae.momentumLimitDistance=15,ae.swipeTime=2500,ae.swipeBounceTime=500,ae.deceleration=.0015,ae.flickLimitTime=200,ae.flickLimitDistance=100,ae.resizePolling=60,ae.probeType=0,ae.stopPropagation=!1,ae.preventDefault=!0,ae.preventDefaultException={tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|AUDIO)$/},ae.tagException={tagName:/^TEXTAREA$/},ae.HWCompositing=!0,ae.useTransition=!0,ae.bindToWrapper=!1,ae.bindToTarget=!1,ae.disableMouse=hasTouch,ae.disableTouch=!hasTouch,ae.autoBlur=!0,ae.autoEndDistance=5,ae.outOfBoundaryDampingFactor=1/3,ae.specifiedIndexAsContent=0,ae.quadrant=1,ae}return te.prototype.merge=function(ae){if(!ae)return this;for(var ne in ae){if(ne==="bounce"){this.bounce=this.resolveBounce(ae[ne]);continue}this[ne]=ae[ne]}return this},te.prototype.process=function(){return this.translateZ=this.HWCompositing&&hasPerspective?" translateZ(1px)":"",this.useTransition=this.useTransition&&hasTransition,this.preventDefault=!this.eventPassthrough&&this.preventDefault,this.scrollX=this.eventPassthrough==="horizontal"?!1:this.scrollX,this.scrollY=this.eventPassthrough==="vertical"?!1:this.scrollY,this.freeScroll=this.freeScroll&&!this.eventPassthrough,this.scrollX=this.freeScroll?!0:this.scrollX,this.scrollY=this.freeScroll?!0:this.scrollY,this.directionLockThreshold=this.eventPassthrough?0:this.directionLockThreshold,this},te.prototype.resolveBounce=function(ae){var ne={top:!0,right:!0,bottom:!0,left:!0},ie={top:!1,right:!1,bottom:!1,left:!1},oe;return typeof ae=="object"?oe=extend$3(ne,ae):oe=ae?ne:ie,oe},te}(CustomOptions),ActionsHandler=function(){function ee(te,ae){this.wrapper=te,this.options=ae,this.hooks=new EventEmitter(["beforeStart","start","move","end","click"]),this.handleDOMEvents()}return ee.prototype.handleDOMEvents=function(){var te=this.options,ae=te.bindToWrapper,ne=te.disableMouse,ie=te.disableTouch,oe=te.click,se=this.wrapper,le=ae?se:window,ue=[],ce=[],de=!ie,he=!ne;oe&&ue.push({name:"click",handler:this.click.bind(this),capture:!0}),de&&(ue.push({name:"touchstart",handler:this.start.bind(this)}),ce.push({name:"touchmove",handler:this.move.bind(this)},{name:"touchend",handler:this.end.bind(this)},{name:"touchcancel",handler:this.end.bind(this)})),he&&(ue.push({name:"mousedown",handler:this.start.bind(this)}),ce.push({name:"mousemove",handler:this.move.bind(this)},{name:"mouseup",handler:this.end.bind(this)})),this.wrapperEventRegister=new EventRegister(se,ue),this.targetEventRegister=new EventRegister(le,ce)},ee.prototype.beforeHandler=function(te,ae){var ne=this.options,ie=ne.preventDefault,oe=ne.stopPropagation,se=ne.preventDefaultException,le={start:function(){return ie&&!preventDefaultExceptionFn(te.target,se)},end:function(){return ie&&!preventDefaultExceptionFn(te.target,se)},move:function(){return ie}};le[ae]()&&te.preventDefault(),oe&&te.stopPropagation()},ee.prototype.setInitiated=function(te){te===void 0&&(te=0),this.initiated=te},ee.prototype.start=function(te){var ae=eventTypeMap[te.type];if(!(this.initiated&&this.initiated!==ae)){if(this.setInitiated(ae),tagExceptionFn(te.target,this.options.tagException)){this.setInitiated();return}if(!(ae===2&&te.button!==0)&&!this.hooks.trigger(this.hooks.eventTypes.beforeStart,te)){this.beforeHandler(te,"start");var ne=te.touches?te.touches[0]:te;this.pointX=ne.pageX,this.pointY=ne.pageY,this.hooks.trigger(this.hooks.eventTypes.start,te)}}},ee.prototype.move=function(te){if(eventTypeMap[te.type]===this.initiated){this.beforeHandler(te,"move");var ae=te.touches?te.touches[0]:te,ne=ae.pageX-this.pointX,ie=ae.pageY-this.pointY;if(this.pointX=ae.pageX,this.pointY=ae.pageY,!this.hooks.trigger(this.hooks.eventTypes.move,{deltaX:ne,deltaY:ie,e:te})){var oe=document.documentElement.scrollLeft||window.pageXOffset||document.body.scrollLeft,se=document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop,le=this.pointX-oe,ue=this.pointY-se,ce=this.options.autoEndDistance;(le>document.documentElement.clientWidth-ce||ue>document.documentElement.clientHeight-ce||le<ce||ue<ce)&&this.end(te)}}},ee.prototype.end=function(te){eventTypeMap[te.type]===this.initiated&&(this.setInitiated(),this.beforeHandler(te,"end"),this.hooks.trigger(this.hooks.eventTypes.end,te))},ee.prototype.click=function(te){this.hooks.trigger(this.hooks.eventTypes.click,te)},ee.prototype.setContent=function(te){te!==this.wrapper&&(this.wrapper=te,this.rebindDOMEvents())},ee.prototype.rebindDOMEvents=function(){this.wrapperEventRegister.destroy(),this.targetEventRegister.destroy(),this.handleDOMEvents()},ee.prototype.destroy=function(){this.wrapperEventRegister.destroy(),this.targetEventRegister.destroy(),this.hooks.destroy()},ee}(),translaterMetaData={x:["translateX","px"],y:["translateY","px"]},Translater=function(){function ee(te){this.setContent(te),this.hooks=new EventEmitter(["beforeTranslate","translate"])}return ee.prototype.getComputedPosition=function(){var te=window.getComputedStyle(this.content,null),ae=te[style.transform].split(")")[0].split(", "),ne=+(ae[12]||ae[4])||0,ie=+(ae[13]||ae[5])||0;return{x:ne,y:ie}},ee.prototype.translate=function(te){var ae=[];Object.keys(te).forEach(function(ne){if(translaterMetaData[ne]){var ie=translaterMetaData[ne][0];if(ie){var oe=translaterMetaData[ne][1],se=te[ne];ae.push(ie+"("+se+oe+")")}}}),this.hooks.trigger(this.hooks.eventTypes.beforeTranslate,ae,te),this.style[style.transform]=ae.join(" "),this.hooks.trigger(this.hooks.eventTypes.translate,te)},ee.prototype.setContent=function(te){this.content!==te&&(this.content=te,this.style=te.style)},ee.prototype.destroy=function(){this.hooks.destroy()},ee}(),Base=function(){function ee(te,ae,ne){this.translater=ae,this.options=ne,this.timer=0,this.hooks=new EventEmitter(["move","end","beforeForceStop","forceStop","callStop","time","timeFunction"]),this.setContent(te)}return ee.prototype.translate=function(te){this.translater.translate(te)},ee.prototype.setPending=function(te){this.pending=te},ee.prototype.setForceStopped=function(te){this.forceStopped=te},ee.prototype.setCallStop=function(te){this.callStopWhenPending=te},ee.prototype.setContent=function(te){this.content!==te&&(this.content=te,this.style=te.style,this.stop())},ee.prototype.clearTimer=function(){this.timer&&(cancelAnimationFrame$1(this.timer),this.timer=0)},ee.prototype.destroy=function(){this.hooks.destroy(),cancelAnimationFrame$1(this.timer)},ee}(),isValidPostion=function(ee,te,ae,ne){var ie=function(ce,de){var he=ce-de,fe=he>0?-1:he<0?1:0;return fe},oe=ie(te.x,ee.x),se=ie(te.y,ee.y),le=ae.x-ne.x,ue=ae.y-ne.y;return oe*le<=0&&se*ue<=0},Transition=function(ee){__extends$1(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.startProbe=function(ae,ne){var ie=this,oe=ae,se=function(){var le=ie.translater.getComputedPosition();isValidPostion(ae,ne,le,oe)&&ie.hooks.trigger(ie.hooks.eventTypes.move,le),ie.pending||(ie.callStopWhenPending?ie.callStopWhenPending=!1:ie.hooks.trigger(ie.hooks.eventTypes.end,le)),oe=le,ie.pending&&(ie.timer=requestAnimationFrame$3(se))};this.callStopWhenPending&&this.setCallStop(!1),cancelAnimationFrame$1(this.timer),se()},te.prototype.transitionTime=function(ae){ae===void 0&&(ae=0),this.style[style.transitionDuration]=ae+"ms",this.hooks.trigger(this.hooks.eventTypes.time,ae)},te.prototype.transitionTimingFunction=function(ae){this.style[style.transitionTimingFunction]=ae,this.hooks.trigger(this.hooks.eventTypes.timeFunction,ae)},te.prototype.transitionProperty=function(){this.style[style.transitionProperty]=style.transform},te.prototype.move=function(ae,ne,ie,oe){this.setPending(ie>0),this.transitionTimingFunction(oe),this.transitionProperty(),this.transitionTime(ie),this.translate(ne);var se=this.options.probeType===3;ie&&se&&this.startProbe(ae,ne),ie||(this._reflow=this.content.offsetHeight,se&&this.hooks.trigger(this.hooks.eventTypes.move,ne),this.hooks.trigger(this.hooks.eventTypes.end,ne))},te.prototype.doStop=function(){var ae=this.pending;if(this.setForceStopped(!1),this.setCallStop(!1),ae){this.setPending(!1),cancelAnimationFrame$1(this.timer);var ne=this.translater.getComputedPosition(),ie=ne.x,oe=ne.y;this.transitionTime(),this.translate({x:ie,y:oe}),this.setForceStopped(!0),this.setCallStop(!0),this.hooks.trigger(this.hooks.eventTypes.forceStop,{x:ie,y:oe})}return ae},te.prototype.stop=function(){var ae=this.doStop();ae&&this.hooks.trigger(this.hooks.eventTypes.callStop)},te}(Base),Animation$2=function(ee){__extends$1(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.move=function(ae,ne,ie,oe){if(!ie){this.translate(ne),this.options.probeType===3&&this.hooks.trigger(this.hooks.eventTypes.move,ne),this.hooks.trigger(this.hooks.eventTypes.end,ne);return}this.animate(ae,ne,ie,oe)},te.prototype.animate=function(ae,ne,ie,oe){var se=this,le=getNow(),ue=le+ie,ce=this.options.probeType===3,de=function(){var he=getNow();if(he>=ue){se.translate(ne),ce&&se.hooks.trigger(se.hooks.eventTypes.move,ne),se.hooks.trigger(se.hooks.eventTypes.end,ne);return}he=(he-le)/ie;var fe=oe(he),pe={};Object.keys(ne).forEach(function(ve){var ge=ae[ve],me=ne[ve];pe[ve]=(me-ge)*fe+ge}),se.translate(pe),ce&&se.hooks.trigger(se.hooks.eventTypes.move,pe),se.pending&&(se.timer=requestAnimationFrame$3(de)),se.pending||(se.callStopWhenPending?se.callStopWhenPending=!1:se.hooks.trigger(se.hooks.eventTypes.end,ne))};this.setPending(!0),this.callStopWhenPending&&this.setCallStop(!1),cancelAnimationFrame$1(this.timer),de()},te.prototype.doStop=function(){var ae=this.pending;if(this.setForceStopped(!1),this.setCallStop(!1),ae){this.setPending(!1),cancelAnimationFrame$1(this.timer);var ne=this.translater.getComputedPosition();this.setForceStopped(!0),this.setCallStop(!0),this.hooks.trigger(this.hooks.eventTypes.forceStop,ne)}return ae},te.prototype.stop=function(){var ae=this.doStop();ae&&this.hooks.trigger(this.hooks.eventTypes.callStop)},te}(Base);function createAnimater(ee,te,ae){var ne=ae.useTransition,ie={};return Object.defineProperty(ie,"probeType",{enumerable:!0,configurable:!1,get:function(){return ae.probeType}}),ne?new Transition(ee,te,ie):new Animation$2(ee,te,ie)}var Behavior=function(){function ee(te,ae,ne){this.wrapper=te,this.options=ne,this.hooks=new EventEmitter(["beforeComputeBoundary","computeBoundary","momentum","end","ignoreHasScroll"]),this.refresh(ae)}return ee.prototype.start=function(){this.dist=0,this.setMovingDirection(0),this.setDirection(0)},ee.prototype.move=function(te){return te=this.hasScroll?te:0,this.setMovingDirection(te),this.performDampingAlgorithm(te,this.options.outOfBoundaryDampingFactor)},ee.prototype.setMovingDirection=function(te){this.movingDirection=te>0?-1:te<0?1:0},ee.prototype.setDirection=function(te){this.direction=te>0?-1:te<0?1:0},ee.prototype.performDampingAlgorithm=function(te,ae){var ne=this.currentPos+te;return(ne>this.minScrollPos||ne<this.maxScrollPos)&&(ne>this.minScrollPos&&this.options.bounces[0]||ne<this.maxScrollPos&&this.options.bounces[1]?ne=this.currentPos+te*ae:ne=ne>this.minScrollPos?this.minScrollPos:this.maxScrollPos),ne},ee.prototype.end=function(te){var ae={duration:0},ne=Math.abs(this.currentPos-this.startPos);if(this.options.momentum&&te<this.options.momentumLimitTime&&ne>this.options.momentumLimitDistance){var ie=this.direction===-1&&this.options.bounces[0]||this.direction===1&&this.options.bounces[1]?this.wrapperSize:0;ae=this.hasScroll?this.momentum(this.currentPos,this.startPos,te,this.maxScrollPos,this.minScrollPos,ie,this.options):{destination:this.currentPos,duration:0}}else this.hooks.trigger(this.hooks.eventTypes.end,ae);return ae},ee.prototype.momentum=function(te,ae,ne,ie,oe,se,le){le===void 0&&(le=this.options);var ue=te-ae,ce=Math.abs(ue)/ne,de=le.deceleration,he=le.swipeBounceTime,fe=le.swipeTime,pe=Math.min(fe,ce*2/de),ve={destination:te+ce*ce/de*(ue<0?-1:1),duration:pe,rate:15};return this.hooks.trigger(this.hooks.eventTypes.momentum,ve,ue),ve.destination<ie?(ve.destination=se?Math.max(ie-se/4,ie-se/ve.rate*ce):ie,ve.duration=he):ve.destination>oe&&(ve.destination=se?Math.min(oe+se/4,oe+se/ve.rate*ce):oe,ve.duration=he),ve.destination=Math.round(ve.destination),ve},ee.prototype.updateDirection=function(){var te=this.currentPos-this.absStartPos;this.setDirection(te)},ee.prototype.refresh=function(te){var ae=this.options.rect,ne=ae.size,ie=ae.position,oe=window.getComputedStyle(this.wrapper,null).position==="static",se=getRect(this.wrapper);this.wrapperSize=this.wrapper[ne==="width"?"clientWidth":"clientHeight"],this.setContent(te);var le=getRect(this.content);this.contentSize=le[ne],this.relativeOffset=le[ie],oe&&(this.relativeOffset-=se[ie]),this.computeBoundary(),this.setDirection(0)},ee.prototype.setContent=function(te){te!==this.content&&(this.content=te,this.resetState())},ee.prototype.resetState=function(){this.currentPos=0,this.startPos=0,this.dist=0,this.setDirection(0),this.setMovingDirection(0),this.resetStartPos()},ee.prototype.computeBoundary=function(){this.hooks.trigger(this.hooks.eventTypes.beforeComputeBoundary);var te={minScrollPos:0,maxScrollPos:this.wrapperSize-this.contentSize};te.maxScrollPos<0&&(te.maxScrollPos-=this.relativeOffset,this.options.specifiedIndexAsContent===0&&(te.minScrollPos=-this.relativeOffset)),this.hooks.trigger(this.hooks.eventTypes.computeBoundary,te),this.minScrollPos=te.minScrollPos,this.maxScrollPos=te.maxScrollPos,this.hasScroll=this.options.scrollable&&this.maxScrollPos<this.minScrollPos,!this.hasScroll&&this.minScrollPos<this.maxScrollPos&&(this.maxScrollPos=this.minScrollPos,this.contentSize=this.wrapperSize)},ee.prototype.updatePosition=function(te){this.currentPos=te},ee.prototype.getCurrentPos=function(){return this.currentPos},ee.prototype.checkInBoundary=function(){var te=this.adjustPosition(this.currentPos),ae=te===this.getCurrentPos();return{position:te,inBoundary:ae}},ee.prototype.adjustPosition=function(te){return!this.hasScroll&&!this.hooks.trigger(this.hooks.eventTypes.ignoreHasScroll)?te=this.minScrollPos:te>this.minScrollPos?te=this.minScrollPos:te<this.maxScrollPos&&(te=this.maxScrollPos),te},ee.prototype.updateStartPos=function(){this.startPos=this.currentPos},ee.prototype.updateAbsStartPos=function(){this.absStartPos=this.currentPos},ee.prototype.resetStartPos=function(){this.updateStartPos(),this.updateAbsStartPos()},ee.prototype.getAbsDist=function(te){return this.dist+=te,Math.abs(this.dist)},ee.prototype.destroy=function(){this.hooks.destroy()},ee}(),_a$1,_b$1,_c$1,_d,PassthroughHandlers=(_a$1={},_a$1.yes=function(ee){return!0},_a$1.no=function(ee){return maybePrevent(ee),!1},_a$1),DirectionMap=(_b$1={},_b$1.horizontal=(_c$1={},_c$1.yes="horizontal",_c$1.no="vertical",_c$1),_b$1.vertical=(_d={},_d.yes="vertical",_d.no="horizontal",_d),_b$1),DirectionLockAction=function(){function ee(te,ae,ne){this.directionLockThreshold=te,this.freeScroll=ae,this.eventPassthrough=ne,this.reset()}return ee.prototype.reset=function(){this.directionLocked=""},ee.prototype.checkMovingDirection=function(te,ae,ne){return this.computeDirectionLock(te,ae),this.handleEventPassthrough(ne)},ee.prototype.adjustDelta=function(te,ae){return this.directionLocked==="horizontal"?ae=0:this.directionLocked==="vertical"&&(te=0),{deltaX:te,deltaY:ae}},ee.prototype.computeDirectionLock=function(te,ae){this.directionLocked===""&&!this.freeScroll&&(te>ae+this.directionLockThreshold?this.directionLocked="horizontal":ae>=te+this.directionLockThreshold?this.directionLocked="vertical":this.directionLocked="none")},ee.prototype.handleEventPassthrough=function(te){var ae=DirectionMap[this.directionLocked];if(ae){if(this.eventPassthrough===ae.yes)return PassthroughHandlers.yes(te);if(this.eventPassthrough===ae.no)return PassthroughHandlers.no(te)}return!1},ee}(),applyQuadrantTransformation=function(ee,te,ae){return ae===2?[te,-ee]:ae===3?[-ee,-te]:ae===4?[-te,ee]:[ee,te]},ScrollerActions=function(){function ee(te,ae,ne,ie,oe){this.hooks=new EventEmitter(["start","beforeMove","scrollStart","scroll","beforeEnd","end","scrollEnd","contentNotMoved","detectMovingDirection","coordinateTransformation"]),this.scrollBehaviorX=te,this.scrollBehaviorY=ae,this.actionsHandler=ne,this.animater=ie,this.options=oe,this.directionLockAction=new DirectionLockAction(oe.directionLockThreshold,oe.freeScroll,oe.eventPassthrough),this.enabled=!0,this.bindActionsHandler()}return ee.prototype.bindActionsHandler=function(){var te=this;this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.start,function(ae){return te.enabled?te.handleStart(ae):!0}),this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.move,function(ae){var ne=ae.deltaX,ie=ae.deltaY,oe=ae.e;if(!te.enabled)return!0;var se=applyQuadrantTransformation(ne,ie,te.options.quadrant),le=se[0],ue=se[1],ce={deltaX:le,deltaY:ue};return te.hooks.trigger(te.hooks.eventTypes.coordinateTransformation,ce),te.handleMove(ce.deltaX,ce.deltaY,oe)}),this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.end,function(ae){return te.enabled?te.handleEnd(ae):!0}),this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.click,function(ae){te.enabled&&!ae._constructed&&te.handleClick(ae)})},ee.prototype.handleStart=function(te){var ae=getNow();this.fingerMoved=!1,this.contentMoved=!1,this.startTime=ae,this.directionLockAction.reset(),this.scrollBehaviorX.start(),this.scrollBehaviorY.start(),this.animater.doStop(),this.scrollBehaviorX.resetStartPos(),this.scrollBehaviorY.resetStartPos(),this.hooks.trigger(this.hooks.eventTypes.start,te)},ee.prototype.handleMove=function(te,ae,ne){if(!this.hooks.trigger(this.hooks.eventTypes.beforeMove,ne)){var ie=this.scrollBehaviorX.getAbsDist(te),oe=this.scrollBehaviorY.getAbsDist(ae),se=getNow();if(this.checkMomentum(ie,oe,se))return!0;if(this.directionLockAction.checkMovingDirection(ie,oe,ne))return this.actionsHandler.setInitiated(),!0;var le=this.directionLockAction.adjustDelta(te,ae),ue=this.scrollBehaviorX.getCurrentPos(),ce=this.scrollBehaviorX.move(le.deltaX),de=this.scrollBehaviorY.getCurrentPos(),he=this.scrollBehaviorY.move(le.deltaY);if(!this.hooks.trigger(this.hooks.eventTypes.detectMovingDirection)){this.fingerMoved||(this.fingerMoved=!0);var fe=ce!==ue||he!==de;!this.contentMoved&&!fe&&this.hooks.trigger(this.hooks.eventTypes.contentNotMoved),!this.contentMoved&&fe&&(this.contentMoved=!0,this.hooks.trigger(this.hooks.eventTypes.scrollStart)),this.contentMoved&&fe&&(this.animater.translate({x:ce,y:he}),this.dispatchScroll(se))}}},ee.prototype.dispatchScroll=function(te){te-this.startTime>this.options.momentumLimitTime&&(this.startTime=te,this.scrollBehaviorX.updateStartPos(),this.scrollBehaviorY.updateStartPos(),this.options.probeType===1&&this.hooks.trigger(this.hooks.eventTypes.scroll,this.getCurrentPos())),this.options.probeType>1&&this.hooks.trigger(this.hooks.eventTypes.scroll,this.getCurrentPos())},ee.prototype.checkMomentum=function(te,ae,ne){return ne-this.endTime>this.options.momentumLimitTime&&ae<this.options.momentumLimitDistance&&te<this.options.momentumLimitDistance},ee.prototype.handleEnd=function(te){if(!this.hooks.trigger(this.hooks.eventTypes.beforeEnd,te)){var ae=this.getCurrentPos();if(this.scrollBehaviorX.updateDirection(),this.scrollBehaviorY.updateDirection(),this.hooks.trigger(this.hooks.eventTypes.end,te,ae))return!0;ae=this.ensureIntegerPos(ae),this.animater.translate(ae),this.endTime=getNow();var ne=this.endTime-this.startTime;this.hooks.trigger(this.hooks.eventTypes.scrollEnd,ae,ne)}},ee.prototype.ensureIntegerPos=function(te){this.ensuringInteger=!0;var ae=te.x,ne=te.y,ie=this.scrollBehaviorX,oe=ie.minScrollPos,se=ie.maxScrollPos,le=this.scrollBehaviorY,ue=le.minScrollPos,ce=le.maxScrollPos;return ae=ae>0?Math.ceil(ae):Math.floor(ae),ne=ne>0?Math.ceil(ne):Math.floor(ne),ae=between(ae,se,oe),ne=between(ne,ce,ue),{x:ae,y:ne}},ee.prototype.handleClick=function(te){preventDefaultExceptionFn(te.target,this.options.preventDefaultException)||(maybePrevent(te),te.stopPropagation())},ee.prototype.getCurrentPos=function(){return{x:this.scrollBehaviorX.getCurrentPos(),y:this.scrollBehaviorY.getCurrentPos()}},ee.prototype.refresh=function(){this.endTime=0},ee.prototype.destroy=function(){this.hooks.destroy()},ee}();function createActionsHandlerOptions(ee){var te=["click","bindToWrapper","disableMouse","disableTouch","preventDefault","stopPropagation","tagException","preventDefaultException","autoEndDistance"].reduce(function(ae,ne){return ae[ne]=ee[ne],ae},{});return te}function createBehaviorOptions(ee,te,ae,ne){var ie=["momentum","momentumLimitTime","momentumLimitDistance","deceleration","swipeBounceTime","swipeTime","outOfBoundaryDampingFactor","specifiedIndexAsContent"].reduce(function(oe,se){return oe[se]=ee[se],oe},{});return ie.scrollable=!!ee[te],ie.bounces=ae,ie.rect=ne,ie}function bubbling(ee,te,ae){ae.forEach(function(ne){var ie,oe;typeof ne=="string"?ie=oe=ne:(ie=ne.source,oe=ne.target),ee.on(ie,function(){for(var se=[],le=0;le<arguments.length;le++)se[le]=arguments[le];return te.trigger.apply(te,__spreadArrays([oe],se))})})}function isSamePoint(ee,te){for(var ae=Object.keys(ee),ne=0,ie=ae;ne<ie.length;ne++){var oe=ie[ne];if(ee[oe]!==te[oe])return!1}return!0}var MIN_SCROLL_DISTANCE=1,Scroller=function(){function ee(te,ae,ne){this.wrapper=te,this.content=ae,this.resizeTimeout=0,this.hooks=new EventEmitter(["beforeStart","beforeMove","beforeScrollStart","scrollStart","scroll","beforeEnd","scrollEnd","resize","touchEnd","end","flick","scrollCancel","momentum","scrollTo","minDistanceScroll","scrollToElement","beforeRefresh"]),this.options=ne;var ie=this.options.bounce,oe=ie.left,se=ie.right,le=ie.top,ue=ie.bottom;this.scrollBehaviorX=new Behavior(te,ae,createBehaviorOptions(ne,"scrollX",[oe,se],{size:"width",position:"left"})),this.scrollBehaviorY=new Behavior(te,ae,createBehaviorOptions(ne,"scrollY",[le,ue],{size:"height",position:"top"})),this.translater=new Translater(this.content),this.animater=createAnimater(this.content,this.translater,this.options),this.actionsHandler=new ActionsHandler(this.options.bindToTarget?this.content:te,createActionsHandlerOptions(this.options)),this.actions=new ScrollerActions(this.scrollBehaviorX,this.scrollBehaviorY,this.actionsHandler,this.animater,this.options);var ce=this.resize.bind(this);this.resizeRegister=new EventRegister(window,[{name:"orientationchange",handler:ce},{name:"resize",handler:ce}]),this.registerTransitionEnd(),this.init()}return ee.prototype.init=function(){var te=this;this.bindTranslater(),this.bindAnimater(),this.bindActions(),this.hooks.on(this.hooks.eventTypes.scrollEnd,function(){te.togglePointerEvents(!0)})},ee.prototype.registerTransitionEnd=function(){this.transitionEndRegister=new EventRegister(this.content,[{name:style.transitionEnd,handler:this.transitionEnd.bind(this)}])},ee.prototype.bindTranslater=function(){var te=this,ae=this.translater.hooks;ae.on(ae.eventTypes.beforeTranslate,function(ne){te.options.translateZ&&ne.push(te.options.translateZ)}),ae.on(ae.eventTypes.translate,function(ne){var ie=te.getCurrentPos();if(te.updatePositions(ne),te.actions.ensuringInteger===!0){te.actions.ensuringInteger=!1;return}(ne.x!==ie.x||ne.y!==ie.y)&&te.togglePointerEvents(!1)})},ee.prototype.bindAnimater=function(){var te=this;this.animater.hooks.on(this.animater.hooks.eventTypes.end,function(ae){te.resetPosition(te.options.bounceTime)||(te.animater.setPending(!1),te.hooks.trigger(te.hooks.eventTypes.scrollEnd,ae))}),bubbling(this.animater.hooks,this.hooks,[{source:this.animater.hooks.eventTypes.move,target:this.hooks.eventTypes.scroll},{source:this.animater.hooks.eventTypes.forceStop,target:this.hooks.eventTypes.scrollEnd}])},ee.prototype.bindActions=function(){var te=this,ae=this.actions;bubbling(ae.hooks,this.hooks,[{source:ae.hooks.eventTypes.start,target:this.hooks.eventTypes.beforeStart},{source:ae.hooks.eventTypes.start,target:this.hooks.eventTypes.beforeScrollStart},{source:ae.hooks.eventTypes.beforeMove,target:this.hooks.eventTypes.beforeMove},{source:ae.hooks.eventTypes.scrollStart,target:this.hooks.eventTypes.scrollStart},{source:ae.hooks.eventTypes.scroll,target:this.hooks.eventTypes.scroll},{source:ae.hooks.eventTypes.beforeEnd,target:this.hooks.eventTypes.beforeEnd}]),ae.hooks.on(ae.hooks.eventTypes.end,function(ne,ie){if(te.hooks.trigger(te.hooks.eventTypes.touchEnd,ie),te.hooks.trigger(te.hooks.eventTypes.end,ie)||!ae.fingerMoved&&(te.hooks.trigger(te.hooks.eventTypes.scrollCancel),te.checkClick(ne)))return!0;if(te.resetPosition(te.options.bounceTime,ease.bounce))return te.animater.setForceStopped(!1),!0}),ae.hooks.on(ae.hooks.eventTypes.scrollEnd,function(ne,ie){var oe=Math.abs(ne.x-te.scrollBehaviorX.startPos),se=Math.abs(ne.y-te.scrollBehaviorY.startPos);if(te.checkFlick(ie,oe,se)){te.animater.setForceStopped(!1),te.hooks.trigger(te.hooks.eventTypes.flick);return}if(te.momentum(ne,ie)){te.animater.setForceStopped(!1);return}ae.contentMoved&&te.hooks.trigger(te.hooks.eventTypes.scrollEnd,ne),te.animater.forceStopped&&te.animater.setForceStopped(!1)})},ee.prototype.checkFlick=function(te,ae,ne){var ie=1;if(this.hooks.events.flick.length>1&&te<this.options.flickLimitTime&&ae<this.options.flickLimitDistance&&ne<this.options.flickLimitDistance&&(ne>ie||ae>ie))return!0},ee.prototype.momentum=function(te,ae){var ne={time:0,easing:ease.swiper,newX:te.x,newY:te.y},ie=this.scrollBehaviorX.end(ae),oe=this.scrollBehaviorY.end(ae);if(ne.newX=isUndef$1(ie.destination)?ne.newX:ie.destination,ne.newY=isUndef$1(oe.destination)?ne.newY:oe.destination,ne.time=Math.max(ie.duration,oe.duration),this.hooks.trigger(this.hooks.eventTypes.momentum,ne,this),ne.newX!==te.x||ne.newY!==te.y)return(ne.newX>this.scrollBehaviorX.minScrollPos||ne.newX<this.scrollBehaviorX.maxScrollPos||ne.newY>this.scrollBehaviorY.minScrollPos||ne.newY<this.scrollBehaviorY.maxScrollPos)&&(ne.easing=ease.swipeBounce),this.scrollTo(ne.newX,ne.newY,ne.time,ne.easing),!0},ee.prototype.checkClick=function(te){var ae={preventClick:this.animater.forceStopped};if(this.hooks.trigger(this.hooks.eventTypes.checkClick))return this.animater.setForceStopped(!1),!0;if(!ae.preventClick){var ne=this.options.dblclick,ie=!1;if(ne&&this.lastClickTime){var oe=ne.delay,se=oe===void 0?300:oe;getNow()-this.lastClickTime<se&&(ie=!0,dblclick(te))}return this.options.tap&&tap(te,this.options.tap),this.options.click&&!preventDefaultExceptionFn(te.target,this.options.preventDefaultException)&&click(te),this.lastClickTime=ie?null:getNow(),!0}return!1},ee.prototype.resize=function(){var te=this;this.actions.enabled&&(isAndroid&&(this.wrapper.scrollTop=0),clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout(function(){te.hooks.trigger(te.hooks.eventTypes.resize)},this.options.resizePolling))},ee.prototype.transitionEnd=function(te){if(!(te.target!==this.content||!this.animater.pending)){var ae=this.animater;ae.transitionTime(),this.resetPosition(this.options.bounceTime,ease.bounce)||(this.animater.setPending(!1),this.options.probeType!==3&&this.hooks.trigger(this.hooks.eventTypes.scrollEnd,this.getCurrentPos()))}},ee.prototype.togglePointerEvents=function(te){te===void 0&&(te=!0);for(var ae=this.content.children.length?this.content.children:[this.content],ne=te?"auto":"none",ie=0;ie<ae.length;ie++){var oe=ae[ie];oe.isBScrollContainer||(oe.style.pointerEvents=ne)}},ee.prototype.refresh=function(te){var ae=this.setContent(te);this.hooks.trigger(this.hooks.eventTypes.beforeRefresh),this.scrollBehaviorX.refresh(te),this.scrollBehaviorY.refresh(te),ae&&(this.translater.setContent(te),this.animater.setContent(te),this.transitionEndRegister.destroy(),this.registerTransitionEnd(),this.options.bindToTarget&&this.actionsHandler.setContent(te)),this.actions.refresh(),this.wrapperOffset=offset(this.wrapper)},ee.prototype.setContent=function(te){var ae=te!==this.content;return ae&&(this.content=te),ae},ee.prototype.scrollBy=function(te,ae,ne,ie){ne===void 0&&(ne=0);var oe=this.getCurrentPos(),se=oe.x,le=oe.y;ie=ie||ease.bounce,te+=se,ae+=le,this.scrollTo(te,ae,ne,ie)},ee.prototype.scrollTo=function(te,ae,ne,ie,oe){ne===void 0&&(ne=0),ie===void 0&&(ie=ease.bounce),oe===void 0&&(oe={start:{},end:{}});var se=this.options.useTransition?ie.style:ie.fn,le=this.getCurrentPos(),ue=__assign({x:le.x,y:le.y},oe.start),ce=__assign({x:te,y:ae},oe.end);if(this.hooks.trigger(this.hooks.eventTypes.scrollTo,ce),!isSamePoint(ue,ce)){var de=Math.abs(ce.x-ue.x),he=Math.abs(ce.y-ue.y);de<MIN_SCROLL_DISTANCE&&he<MIN_SCROLL_DISTANCE&&(ne=0,this.hooks.trigger(this.hooks.eventTypes.minDistanceScroll)),this.animater.move(ue,ce,ne,se)}},ee.prototype.scrollToElement=function(te,ae,ne,ie,oe){var se=getElement(te),le=offset(se),ue=function(de,he,fe){return typeof de=="number"?de:de?Math.round(he/2-fe/2):0};ne=ue(ne,se.offsetWidth,this.wrapper.offsetWidth),ie=ue(ie,se.offsetHeight,this.wrapper.offsetHeight);var ce=function(de,he,fe,pe){return de-=he,de=pe.adjustPosition(de-fe),de};le.left=ce(le.left,this.wrapperOffset.left,ne,this.scrollBehaviorX),le.top=ce(le.top,this.wrapperOffset.top,ie,this.scrollBehaviorY),!this.hooks.trigger(this.hooks.eventTypes.scrollToElement,se,le)&&this.scrollTo(le.left,le.top,ae,oe)},ee.prototype.resetPosition=function(te,ae){te===void 0&&(te=0),ae===void 0&&(ae=ease.bounce);var ne=this.scrollBehaviorX.checkInBoundary(),ie=ne.position,oe=ne.inBoundary,se=this.scrollBehaviorY.checkInBoundary(),le=se.position,ue=se.inBoundary;return oe&&ue?!1:(isIOSBadVersion&&this.reflow(),this.scrollTo(ie,le,te,ae),!0)},ee.prototype.reflow=function(){this._reflow=this.content.offsetHeight},ee.prototype.updatePositions=function(te){this.scrollBehaviorX.updatePosition(te.x),this.scrollBehaviorY.updatePosition(te.y)},ee.prototype.getCurrentPos=function(){return this.actions.getCurrentPos()},ee.prototype.enable=function(){this.actions.enabled=!0},ee.prototype.disable=function(){cancelAnimationFrame$1(this.animater.timer),this.actions.enabled=!1},ee.prototype.destroy=function(){var te=this,ae=["resizeRegister","transitionEndRegister","actionsHandler","actions","hooks","animater","translater","scrollBehaviorX","scrollBehaviorY"];ae.forEach(function(ne){return te[ne].destroy()})},ee}(),BScrollConstructor=function(ee){__extends$1(te,ee);function te(ae,ne){var ie=ee.call(this,["refresh","contentChanged","enable","disable","beforeScrollStart","scrollStart","scroll","scrollEnd","scrollCancel","touchEnd","flick","destroy"])||this,oe=getElement(ae);return oe?(ie.plugins={},ie.options=new OptionsConstructor().merge(ne).process(),ie.setContent(oe).valid&&(ie.hooks=new EventEmitter(["refresh","enable","disable","destroy","beforeInitialScrollTo","contentChanged"]),ie.init(oe)),ie):(warn$1("Can not resolve the wrapper DOM."),ie)}return te.use=function(ae){var ne=ae.pluginName,ie=te.plugins.some(function(oe){return ae===oe.ctor});return ie?te:isUndef$1(ne)?(warn$1("Plugin Class must specify plugin's name in static property by 'pluginName' field."),te):(te.pluginsMap[ne]=!0,te.plugins.push({name:ne,applyOrder:ae.applyOrder,ctor:ae}),te)},te.prototype.setContent=function(ae){var ne=!1,ie=!0,oe=ae.children[this.options.specifiedIndexAsContent];return oe?(ne=this.content!==oe,ne&&(this.content=oe)):(warn$1("The wrapper need at least one child element to be content element to scroll."),ie=!1),{valid:ie,contentChanged:ne}},te.prototype.init=function(ae){var ne=this;this.wrapper=ae,ae.isBScrollContainer=!0,this.scroller=new Scroller(ae,this.content,this.options),this.scroller.hooks.on(this.scroller.hooks.eventTypes.resize,function(){ne.refresh()}),this.eventBubbling(),this.handleAutoBlur(),this.enable(),this.proxy(propertiesConfig),this.applyPlugins(),this.refreshWithoutReset(this.content);var ie=this.options,oe=ie.startX,se=ie.startY,le={x:oe,y:se};this.hooks.trigger(this.hooks.eventTypes.beforeInitialScrollTo,le)||this.scroller.scrollTo(le.x,le.y)},te.prototype.applyPlugins=function(){var ae=this,ne=this.options;te.plugins.sort(function(ie,oe){var se,le=(se={},se.pre=-1,se.post=1,se),ue=ie.applyOrder?le[ie.applyOrder]:0,ce=oe.applyOrder?le[oe.applyOrder]:0;return ue-ce}).forEach(function(ie){var oe=ie.ctor;ne[ie.name]&&typeof oe=="function"&&(ae.plugins[ie.name]=new oe(ae))})},te.prototype.handleAutoBlur=function(){this.options.autoBlur&&this.on(this.eventTypes.beforeScrollStart,function(){var ae=document.activeElement;ae&&(ae.tagName==="INPUT"||ae.tagName==="TEXTAREA")&&ae.blur()})},te.prototype.eventBubbling=function(){bubbling(this.scroller.hooks,this,[this.eventTypes.beforeScrollStart,this.eventTypes.scrollStart,this.eventTypes.scroll,this.eventTypes.scrollEnd,this.eventTypes.scrollCancel,this.eventTypes.touchEnd,this.eventTypes.flick])},te.prototype.refreshWithoutReset=function(ae){this.scroller.refresh(ae),this.hooks.trigger(this.hooks.eventTypes.refresh,ae),this.trigger(this.eventTypes.refresh,ae)},te.prototype.proxy=function(ae){var ne=this;ae.forEach(function(ie){var oe=ie.key,se=ie.sourceKey;propertiesProxy(ne,se,oe)})},te.prototype.refresh=function(){var ae=this.setContent(this.wrapper),ne=ae.contentChanged,ie=ae.valid;if(ie){var oe=this.content;this.refreshWithoutReset(oe),ne&&(this.hooks.trigger(this.hooks.eventTypes.contentChanged,oe),this.trigger(this.eventTypes.contentChanged,oe)),this.scroller.resetPosition()}},te.prototype.enable=function(){this.scroller.enable(),this.hooks.trigger(this.hooks.eventTypes.enable),this.trigger(this.eventTypes.enable)},te.prototype.disable=function(){this.scroller.disable(),this.hooks.trigger(this.hooks.eventTypes.disable),this.trigger(this.eventTypes.disable)},te.prototype.destroy=function(){this.hooks.trigger(this.hooks.eventTypes.destroy),this.trigger(this.eventTypes.destroy),this.scroller.destroy()},te.prototype.eventRegister=function(ae){this.registerType(ae)},te.plugins=[],te.pluginsMap={},te}(EventEmitter);function createBScroll(ee,te){var ae=new BScrollConstructor(ee,te);return ae}createBScroll.use=BScrollConstructor.use;createBScroll.plugins=BScrollConstructor.plugins;createBScroll.pluginsMap=BScrollConstructor.pluginsMap;var BScroll=createBScroll;function _createForOfIteratorHelperLoose$w(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$w(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$w(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$w(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$w(ee,te)}}function _arrayLikeToArray$w(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$x=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$w(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$I=defineComponent({name:$prefix+"ActionSheet",props:[].concat(props,["menus","modelValue","visible","ellipsis","contentPosition","contentStyle","height","valueField","textField","contentClass"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$i,api:api$i,extendOptions:{BScroll}})}}),_hoisted_1$w=["onClick"],_hoisted_2$s={key:1,class:"tiny-mobile-action-sheet__action"};function _sfc_render$y(ee,te,ae,ne,ie,oe){return withDirectives((openBlock(),createElementBlock("div",{class:"tiny-mobile-action-sheet",onClick:te[1]||(te[1]=function(){return ee.hide&&ee.hide.apply(ee,arguments)})},[ee.contentPosition?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:0,class:"tiny-mobile-action-sheet__mask",style:normalizeStyle$2(ee.state.sheetMaskStyle)},null,4)),createBaseVNode("div",{class:normalizeClass(["tiny-mobile-action-sheet__content",ee.state.toggle?"is-toggle":"",ee.contentPosition?"":"is-not-content"]),style:normalizeStyle$2([ee.state.sheetContentStyle]),ref:"scrollMenu"},[createBaseVNode("div",{class:normalizeClass(["tiny-mobile-action-sheet__menu",ee.ellipsis?"is-ellipsis":""])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.menus,function(se,le){return openBlock(),createElementBlock("div",{class:normalizeClass(["tiny-mobile-action-sheet__item",se.warn?"is-warn":"",se[ee.valueField]===ee.modelValue?"is-active":""]),style:normalizeStyle$2(ee.state.contentStyle),key:le,onClick:function(ce){return ee.selectOption(se,le)}},[renderSlot(ee.$slots,"item",{item:se},function(){return[createTextVNode(toDisplayString(se[ee.textField]),1)]})],14,_hoisted_1$w)}),128))],2)],6),ee.contentPosition?(openBlock(),createElementBlock("div",_hoisted_2$s,[renderSlot(ee.$slots,"action",{},function(){return[createBaseVNode("div",{class:"tiny-mobile-action-sheet__cancel",onClick:te[0]||(te[0]=function(){return ee.hide&&ee.hide.apply(ee,arguments)})},toDisplayString(ee.t("ui.actionSheet.cancel")),1)]})])):createCommentVNode("v-if",!0)],512)),[[vShow,ee.visible]])}var mobile$7=_export_sfc$x(_sfc_main$I,[["render",_sfc_render$y]]);const computedWidth=({state:ee,designConfig:te,props:ae,constants:ne})=>()=>{var ie;return ee.width?ee.width+"px":ae.width||((ie=te==null?void 0:te.constants)==null?void 0:ie.DEFAULT_WIDTH)||ne.DEFAULT_WIDTH},close$1=({api:ee})=>(te=!1)=>{ee.handleClose("close",te)},watchVisible$1=({state:ee})=>te=>{setTimeout(()=>{ee.toggle=te},0)},watchToggle=({emit:ee})=>te=>{setTimeout(()=>{ee("update:visible",te)},0)},confirm$1=({api:ee})=>()=>{ee.handleClose("confirm")},handleClose=({emit:ee,props:te,state:ae})=>(ne,ie)=>{const oe=ne==="mask"&&!te.maskClosable,se=!ie&&typeof te.beforeClose=="function"&&te.beforeClose(ne)===!1;oe||se||(ne!=="confirm"&&(ae.toggle=!1),ee(["close","confirm"].includes(ne)?ne:"close"))},mousedown$1=({state:ee,vm:te})=>ae=>{ae.preventDefault();const ne=ae.touches?ae.touches[0]:ae,ie=te.$refs.drawerBox;ee.dragEvent.isDrag=!0,ee.dragEvent.x=ne.clientX,ee.dragEvent.y=ne.clientY,ee.dragEvent.offsetWidth=ie.offsetWidth,ee.dragEvent.offsetHeight=ie.offsetHeight},mousemove=({state:ee,props:te})=>debounce_default(1,ae=>{if(!ee.dragEvent.isDrag)return;ae.preventDefault();const{placement:ne}=te,{dragEvent:{x:ie,y:oe,offsetWidth:se,offsetHeight:le}}=ee,{touches:ue,targetTouches:ce,changedTouches:de}=ae,he=ue&&ue[0]||ce&&ce[0]||de&&de[0],{clientX:fe,clientY:pe}=he||ae,ve=fe-ie,ge=pe-oe;if(ne==="left")ee.width=se+ve;else if(ne==="right")ee.width=se-ve;else if(ne==="top"){const me=le+ge;ee.height=me>10?me:10}else if(ne==="bottom"){const me=le-ge;ee.height=me>10?me:10}}),mouseup=({state:ee})=>()=>{ee.dragEvent.isDrag&&(event.preventDefault(),ee.dragEvent.isDrag=!1)},addDragEvent=({api:ee,vm:te})=>()=>{const ae=te.$refs.dragBar;ae.addEventListener("mousedown",ee.mousedown),document.addEventListener("mousemove",ee.mousemove),document.addEventListener("mouseup",ee.mouseup),ae.addEventListener("touchstart",ee.mousedown),ae.addEventListener("touchmove",ee.mousemove),ae.addEventListener("touchend",ee.mouseup)},removeDragEvent=({api:ee,vm:te})=>()=>{const ae=te.$refs.dragBar;ae.removeEventListener("mousedown",ee.mousedown),document.removeEventListener("mousemove",ee.mousemove),document.removeEventListener("mouseup",ee.mouseup),ae.removeEventListener("touchstart",ee.mousedown),ae.removeEventListener("touchmove",ee.mousemove),ae.removeEventListener("touchend",ee.mouseup)},showScrollbar$1=ee=>()=>{addClass(document.body,ee)},hideScrollbar$1=ee=>()=>{removeClass(document.body,ee)},watchVisibleNotImmediate=({api:ee,props:te})=>ae=>{te.lockScroll&&(ae?ee.showScrollbar():ee.hideScrollbar())},api$h=["state","close","confirm","handleClose"],renderless$h=(ee,{reactive:te,watch:ae,onMounted:ne,onBeforeUnmount:ie,computed:oe},{emit:se,vm:le,mode:ue,constants:ce,designConfig:de})=>{var he;const fe=ce.SCROLL_LOCK_CLASS(ue),pe={},ve=te({toggle:!1,width:0,height:0,dragEvent:{x:0,y:0,isDrag:!1,offsetWidth:0,offsetHeight:0},computedWidth:oe(()=>pe.computedWidth()),btnOrderReversed:le.theme==="saas"||((he=de==null?void 0:de.state)==null?void 0:he.btnOrderReversed)});return Object.assign(pe,{state:ve,confirm:confirm$1({api:pe}),close:close$1({api:pe}),handleClose:handleClose({emit:se,props:ee,state:ve}),mousedown:mousedown$1({state:ve,vm:le}),mousemove:mousemove({state:ve,props:ee}),mouseup:mouseup({state:ve}),addDragEvent:addDragEvent({api:pe,vm:le}),removeDragEvent:removeDragEvent({api:pe,vm:le}),watchVisible:watchVisible$1({state:ve}),watchToggle:watchToggle({emit:se}),showScrollbar:showScrollbar$1(fe),hideScrollbar:hideScrollbar$1(fe),watchVisibleNotImmediate:watchVisibleNotImmediate({api:pe,props:ee}),computedWidth:computedWidth({state:ve,designConfig:de,props:ee,constants:ce})}),ne(()=>{ee.dragable&&pe.addDragEvent(),ee.lockScroll&&ee.visible&&pe.showScrollbar()}),ie(()=>{ee.dragable&&pe.removeDragEvent(),ee.lockScroll&&pe.hideScrollbar()}),ae(()=>ee.visible,pe.watchVisible,{immediate:!0}),ae(()=>ve.toggle,pe.watchToggle),ae(()=>ee.width,()=>ve.width=0),pe},index$r="";function _createForOfIteratorHelperLoose$v(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$v(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$v(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$v(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$v(ee,te)}}function _arrayLikeToArray$v(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$w=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$v(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$H=defineComponent({components:{TinyButton:Button,TinyTooltip:Tooltip,IconClose:index$17(),IconHelpCircle:index$W()},props:[].concat(props,["visible","title","showHeader","showFooter","customClass","placement","width","mask","dragable","maskClosable","lockScroll","flex","showClose","zIndex","beforeClose","tipsProps"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$h,api:api$h})}}),_hoisted_1$v={"data-tag":"tiny-drawer",class:"tiny-drawer"},_hoisted_2$r={class:"tiny-drawer__box"},_hoisted_3$o={key:0,"data-tag":"drawer-header",ref:"header",class:"tiny-drawer__header-wrapper"},_hoisted_4$k={class:"tiny-drawer__header"},_hoisted_5$i={class:"tiny-drawer__header-left"},_hoisted_6$g={key:0,class:"tiny-drawer__title"},_hoisted_7$c={class:"tiny-drawer__header-right"},_hoisted_8$9={key:1,"data-tag":"drawer-footer",ref:"footer",class:"tiny-drawer__footer"};function _sfc_render$x(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-help-circle"),le=resolveComponent("tiny-tooltip"),ue=resolveComponent("icon-close"),ce=resolveComponent("tiny-button");return openBlock(),createElementBlock("div",_hoisted_1$v,[createVNode$1(Transition$1,{name:"drawer-fade"},{default:withCtx(function(){return[ee.mask&&ee.visible?(openBlock(),createElementBlock("div",{key:0,ref:"mask",class:normalizeClass(["tiny-drawer__mask",{"show-bg-color":ee.state.toggle}]),style:normalizeStyle$2({zIndex:ee.zIndex}),onClick:te[0]||(te[0]=function(de){return ee.handleClose("mask")})},null,6)):createCommentVNode("v-if",!0)]}),_:1}),createVNode$1(Transition$1,{name:"drawer-slide-"+ee.placement,persisted:""},{default:withCtx(function(){return[withDirectives(createBaseVNode("div",{"data-tag":"tiny-drawer-main",ref:"drawerBox",class:normalizeClass(["tiny-drawer__main",{"is-left":ee.placement==="left","is-right":ee.placement==="right","is-top":ee.placement==="top","is-bottom":ee.placement==="bottom","drag-effects":!ee.state.dragEvent.isDrag,toggle:ee.state.toggle},"tiny-drawer-main",ee.customClass]),style:normalizeStyle$2({width:["left","right"].includes(ee.placement)?ee.state.computedWidth:null,height:["top","bottom"].includes(ee.placement)&&ee.dragable&&ee.state.height?ee.state.height+"px":null,zIndex:ee.zIndex})},[ee.dragable?(openBlock(),createElementBlock("div",{key:0,"data-tag":"drawer-drag-bar",ref:"dragBar",class:normalizeClass(["tiny-drawer__drag-bar",["left","right"].includes(ee.placement)&&"p-left-Right",["top","bottom"].includes(ee.placement)&&"p-top-Bottom",ee.placement==="left"&&"p-left",ee.placement==="right"&&"p-right",ee.placement==="top"&&"p-top",ee.placement==="bottom"&&"p-bottom"])},null,2)):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_2$r,[ee.showHeader?(openBlock(),createElementBlock("div",_hoisted_3$o,[renderSlot(ee.$slots,"header",{},function(){return[createBaseVNode("div",_hoisted_4$k,[createBaseVNode("div",_hoisted_5$i,[ee.title?(openBlock(),createElementBlock("div",_hoisted_6$g,toDisplayString(ee.title),1)):createCommentVNode("v-if",!0),ee.tipsProps?(openBlock(),createBlock(le,normalizeProps(mergeProps({key:1},ee.tipsProps)),{default:withCtx(function(){return[createVNode$1(se,{class:"tiny-drawer__help-icon"})]}),_:1},16)):createCommentVNode("v-if",!0)]),createBaseVNode("div",_hoisted_7$c,[renderSlot(ee.$slots,"header-right")])])]}),ee.showClose?(openBlock(),createElementBlock("button",{key:0,type:"button",class:"tiny-drawer__headerbtn","aria-label":"Close",onClick:te[1]||(te[1]=function(de){return ee.handleClose("close")})},[createVNode$1(ue,{class:"tiny-svg-size tiny-drawer__close"})])):createCommentVNode("v-if",!0)],512)):createCommentVNode("v-if",!0),createBaseVNode("div",{"data-tag":"drawer-body",ref:"body",class:normalizeClass(["tiny-drawer__body",{"flex flex-col":ee.flex},"drawer-body"])},[renderSlot(ee.$slots,"default")],2),ee.showFooter?(openBlock(),createElementBlock("div",_hoisted_8$9,[renderSlot(ee.$slots,"footer",{},function(){return[createVNode$1(ce,{type:"primary",class:normalizeClass(["tiny-drawer__confirm-btn",{reverse:ee.state.btnOrderReversed}]),onClick:te[2]||(te[2]=function(de){return ee.handleClose("confirm")})},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.confirm")),1)]}),_:1},8,["class"]),createVNode$1(ce,{plain:"",class:normalizeClass(["tiny-drawer__cancel-btn",{reverse:ee.state.btnOrderReversed}]),onClick:te[3]||(te[3]=function(de){return ee.handleClose("cancel")})},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.cancel")),1)]}),_:1},8,["class"])]})],512)):createCommentVNode("v-if",!0)])],6),[[vShow,ee.visible]])]}),_:3},8,["name"])])}var pc$e=_export_sfc$w(_sfc_main$H,[["render",_sfc_render$x]]);function _createForOfIteratorHelperLoose$u(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$u(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$u(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$u(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$u(ee,te)}}function _arrayLikeToArray$u(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$v=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$u(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$G=defineComponent({components:{TinyButton:Button,IconClose:index$17()},props:[].concat(props,["visible","title","showHeader","showFooter","customClass","placement","width","mask","dragable","maskClosable","lockScroll","flex","beforeClose"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$h,api:api$h})}}),_hoisted_1$u={"data-tag":"tiny-drawer",class:"text-sm"},_hoisted_2$q={class:normalizeClass(["flex-auto flex-col flex max-h-full overflow-hidden"])},_hoisted_3$n={key:0,"data-tag":"drawer-header",ref:"header",class:"flex-none flex leading-6 p-4 text-base items-center"},_hoisted_4$j={key:0,class:"max-w-[80%] pr-4 text-left truncate text-color-text-primary"},_hoisted_5$h={class:"flex-1 flex items-center justify-end"},_hoisted_6$f={key:1,"data-tag":"drawer-footer",ref:"footer",class:"px-4 py-3"},_hoisted_7$b={class:"flex-1 text-right"};function _sfc_render$w(ee,te,ae,ne,ie,oe){var se=resolveComponent("IconClose"),le=resolveComponent("tiny-button");return withDirectives((openBlock(),createElementBlock("div",_hoisted_1$u,[ee.mask?(openBlock(),createElementBlock("div",{key:0,ref:"mask",class:normalizeClass(ee.m("fixed z-50 left-0 right-0 top-0 bottom-0 w-full h-full transition-opacity ease-linear duration-200",{"bg-color-bg-7":ee.state.toggle})),onClick:te[0]||(te[0]=function(ue){return ee.handleClose("mask")})},null,2)):createCommentVNode("v-if",!0),createBaseVNode("div",{"data-tag":"tiny-drawer-main",ref:"drawerBox",class:normalizeClass(ee.m("fixed w-full max-w-full flex flex-col bg-color-bg-1 z-50 shadow-sm border-color-border-separator",{"transition-all ease-linear duration-200":!ee.state.dragEvent.isDrag},{"h-full":["left","right"].includes(ee.placement)},{"max-h-full":["top","bottom"].includes(ee.placement)},{"left-0 bottom-0 translate-y-full border-t-0.5 rounded-t-lg":ee.placement==="bottom"},{"left-0 top-0 -translate-y-full border-b-0.5 rounded-b-lg":ee.placement==="top"},{"translate-y-0":["top","bottom"].includes(ee.placement)&&ee.state.toggle},{"left-0 top-0 -translate-x-full border-r-0.5 rounded-r-lg":ee.placement==="left"},{"right-0 top-0 translate-x-full border-l-0.5 rounded-l-lg":ee.placement==="right"},{"translate-x-0":["left","right"].includes(ee.placement)&&ee.state.toggle},ee.customClass)),style:normalizeStyle$2({width:["left","right"].includes(ee.placement)?ee.state.computedWidth:null,height:["top","bottom"].includes(ee.placement)&&ee.dragable&&ee.state.height?ee.state.height+"px":null})},[ee.dragable?(openBlock(),createElementBlock("div",{key:0,"data-tag":"drawer-drag-bar",ref:"dragBar",class:normalizeClass(["absolute",["left","right"].includes(ee.placement)&&"cursor-e-resize h-full top-0 w-2",["top","bottom"].includes(ee.placement)&&"cursor-n-resize w-full h-2 left-0",ee.placement==="left"&&"-right-1",ee.placement==="right"&&"-left-1",ee.placement==="top"&&"-bottom-1",ee.placement==="bottom"&&"-top-1"])},null,2)):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_2$q,[ee.showHeader?(openBlock(),createElementBlock("div",_hoisted_3$n,[renderSlot(ee.$slots,"header",{},function(){return[ee.title?(openBlock(),createElementBlock("div",_hoisted_4$j,toDisplayString(ee.title),1)):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_5$h,[renderSlot(ee.$slots,"header-right",{},function(){return[createVNode$1(se,{"custom-class":"h-5 w-5 cursor-pointer",class:"fill-color-icon-primary",onClick:te[1]||(te[1]=function(ue){return ee.handleClose("close")})})]})])]})],512)):createCommentVNode("v-if",!0),createBaseVNode("div",{"data-tag":"drawer-body",ref:"body",class:normalizeClass(["flex-auto overflow-auto",{"flex flex-col":ee.flex}])},[renderSlot(ee.$slots,"default")],2),ee.showFooter?(openBlock(),createElementBlock("div",_hoisted_6$f,[createBaseVNode("div",_hoisted_7$b,[renderSlot(ee.$slots,"footer",{},function(){return[createVNode$1(le,{tiny_mode:"mobile-first",onClick:te[2]||(te[2]=function(ue){return ee.handleClose("cancel")})},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.cancel")),1)]}),_:1}),createVNode$1(le,{tiny_mode:"mobile-first",class:"ml-2",type:"primary",onClick:te[3]||(te[3]=function(ue){return ee.handleClose("confirm")})},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.confirm")),1)]}),_:1})]})])],512)):createCommentVNode("v-if",!0)])],6)],512)),[[vShow,ee.visible]])}var mobileFirst$8=_export_sfc$v(_sfc_main$G,[["render",_sfc_render$w]]);function _extends$k(){return _extends$k=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$k.apply(this,arguments)}var template$g=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$e:(ne||te)==="mobile-first"?mobileFirst$8:pc$e},$constants$d={SCROLL_LOCK_CLASS:function(te){var ae={"mobile-first":"overflow-hidden",pc:"tiny-popup-parent--hidden tiny-dialog-box__scroll-lock"};return ae[te]||""},DEFAULT_WIDTH:"500px"},drawerProps=_extends$k({},$props,{_constants:{type:Object,default:function(){return $constants$d}},visible:{type:Boolean,default:!1},customClass:[String,Object,Array],placement:{type:String,default:"right"},width:{type:String},title:String,showClose:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},dragable:Boolean,lockScroll:{type:Boolean,default:!0},flex:{type:Boolean,default:!1},zIndex:{type:Number,default:2e3},beforeClose:Function,tipsProps:Object}),Drawer=defineComponent({name:$prefix+"Drawer",props:drawerProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$g})}}),version$j="3.16.0";Drawer.model={prop:"modelValue",event:"update:modelValue"};Drawer.install=function(ee){ee.component(Drawer.name,Drawer)};Drawer.version=version$j;function _createForOfIteratorHelperLoose$t(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$t(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$t(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$t(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$t(ee,te)}}function _arrayLikeToArray$t(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$u=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$t(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$F=defineComponent({components:{TinyButton:Button,TinyDrawer:Drawer,IconClose:index$17()},emits:["update:modelValue","update:visible","hide","close","click"],props:[].concat(props,["modelValue","visible","title","showHeader","showFooter","showClose","fullscreen","customClass","menus","type","mask","maskClosable","lockScroll","flex","beforeClose"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$i,api:api$i,extendOptions:{BScroll}})}}),_hoisted_1$t={"data-tag":"tiny-action-sheet",class:"text-sm"},_hoisted_2$p={key:0,"data-tag":"action-sheet-header",ref:"header",class:"flex flex-none leading-6 pb-4 px-4 text-base items-center"},_hoisted_3$m={class:"flex-1 flex items-center text-left"},_hoisted_4$i={class:"min-w-[50%] max-w-[80%] px-4 text-center truncate font-bold"},_hoisted_5$g={class:"flex-1 flex items-center justify-end"},_hoisted_6$e={key:0,"data-tag":"action-box",class:"flex flex-col h-full text-center"},_hoisted_7$a={key:0,"data-tag":"action-title",class:"flex-none flex items-center justify-center py-2.5 leading-5 text-sm text-color-none-hover border-b-0.5 border-color-bg-2"},_hoisted_8$8={class:"px-4"},_hoisted_9$8={class:"flex-auto min-h-[theme(spacing.12)]"},_hoisted_10$7=["onClick"],_hoisted_11$7={class:"truncate px-4 text-color-text-primary font-medium"},_hoisted_12$7={key:1,"data-tag":"action-sheet-footer",ref:"footer",class:"flex flex-none pt-2 justify-center"};function _sfc_render$v(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-close"),le=resolveComponent("tiny-button"),ue=resolveComponent("tiny-drawer");return openBlock(),createElementBlock("div",_hoisted_1$t,[createVNode$1(ue,{ref:"drawer",title:ee.title,mask:ee.mask,flex:"","before-close":ee.beforeClose,"mask-closable":ee.maskClosable,"lock-scroll":ee.lockScroll,"show-header":!1,"custom-class":ee.m("rounded-t-lg",{"h-full":ee.fullscreen},{"max-h-[90%]":!ee.fullscreen},{"min-h-[theme(spacing.64)]":ee.type!=="action"},{"py-4":ee.showHeader&&ee.type!=="action"},ee.customClass),placement:"bottom",visible:ee.visible,"onUpdate:visible":te[1]||(te[1]=function(ce){return ee.$emit("update:visible",ce)})},{default:withCtx(function(){return[ee.showHeader&&ee.type!=="action"?(openBlock(),createElementBlock("div",_hoisted_2$p,[createBaseVNode("div",_hoisted_3$m,[renderSlot(ee.$slots,"header-left")]),createBaseVNode("div",_hoisted_4$i,toDisplayString(ee.title),1),createBaseVNode("div",_hoisted_5$g,[renderSlot(ee.$slots,"header-right",{},function(){return[ee.showClose?(openBlock(),createBlock(se,{key:0,"custom-class":"h-5 w-5 cursor-pointer",onClick:ee.close},null,8,["onClick"])):createCommentVNode("v-if",!0)]})])],512)):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"body-top"),createBaseVNode("div",{"data-tag":"action-sheet-body",ref:"body",class:normalizeClass(["flex-auto overflow-auto scrollbar-size-0",{"flex flex-col":ee.flex}])},[ee.type==="action"?(openBlock(),createElementBlock("div",_hoisted_6$e,[ee.title?(openBlock(),createElementBlock("div",_hoisted_7$a,[createBaseVNode("span",_hoisted_8$8,toDisplayString(ee.title),1)])):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_9$8,[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.menus,function(ce,de){return openBlock(),createElementBlock("div",{key:de,class:"flex-none flex items-center justify-center h-12 text-base border-b-0.5 border-color-bg-2 cursor-pointer",onClick:withModifiers(function(he){return ee.actionSelectOption(ce,de)},["stop"])},[renderSlot(ee.$slots,"default",{data:ce,index:de},function(){return[createBaseVNode("span",_hoisted_11$7,toDisplayString(ce),1)]})],8,_hoisted_10$7)}),128))]),createBaseVNode("div",{class:"flex-none flex items-center justify-center h-16 text-base border-t-8 border-color-bg-2 px-4 cursor-pointer",onClick:te[0]||(te[0]=withModifiers(function(){return ee.close&&ee.close.apply(ee,arguments)},["stop"]))},toDisplayString(ee.t("ui.base.cancel")),1)])):renderSlot(ee.$slots,"default",{key:1})],2),renderSlot(ee.$slots,"body-bottom"),ee.showFooter?(openBlock(),createElementBlock("div",_hoisted_12$7,[renderSlot(ee.$slots,"footer",{beforeClose:ee.beforeClose},function(){return[createVNode$1(le,{tiny_mode:"mobile-first",class:"flex-1 mx-4 sm:mx-0",type:"primary",onClick:ee.confirm},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.confirm")),1)]}),_:1},8,["onClick"])]})],512)):createCommentVNode("v-if",!0)]}),_:3},8,["title","mask","before-close","mask-closable","lock-scroll","custom-class","visible"])])}var mobileFirst$7=_export_sfc$u(_sfc_main$F,[["render",_sfc_render$v]]);function _extends$j(){return _extends$j=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$j.apply(this,arguments)}var template$f=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="mobile"?mobile$7:(ne||te)==="mobile-first"?mobileFirst$7:mobile$7},actionSheetProps=_extends$j({},$props,{menus:{type:Array,default:function(){return[]}},modelValue:[Number,String,Array],beforeClose:Function,visible:{type:Boolean,default:!1},ellipsis:{type:Boolean,default:!1},height:{type:String,default:"100%"},valueField:{type:String,default:"id"},textField:{type:String,default:"label"},title:String,showHeader:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!1},showClose:{type:Boolean,default:function(){return!0}},fullscreen:{type:Boolean,default:function(){return!1}},customClass:[String,Object,Array],contentClass:String,type:{type:String,default:"normal"},mask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},flex:{type:Boolean,default:!0},contentPosition:{type:Boolean,default:!1},contentStyle:{type:Object,default:function(){return{}}}}),ActionSheet=defineComponent({name:$prefix+"ActionSheet",props:actionSheetProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$f})}}),version$i="3.16.0";ActionSheet.model={prop:"modelValue",event:"update:modelValue"};ActionSheet.install=function(ee){ee.component(ActionSheet.name,ActionSheet)};ActionSheet.version=version$i;const HIDDEN_STYLE=`
-height:0 !important;visibility:hidden !important;overflow:hidden !important;
-position:absolute !important;z-index:-1000 !important;top:0 !important;right:0 !important
-`,CONTEXT_STYLE=["width","line-height","padding-top","padding-bottom","padding-left","padding-right","border-width","box-sizing","letter-spacing","font-family","font-weight","font-size","text-rendering","text-transform","text-indent"],STYLE={BoxSizing:"box-sizing",BorderBox:"border-box",ContentBox:"content-box",PaddingTop:"padding-top",PaddingBottom:"padding-bottom",BorderTopWidth:"border-top-width",BorderBottomWidth:"border-bottom-width"},isServer=typeof window>"u",isKorean=ee=>/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(ee),showBox=ee=>()=>{if(ee.inputDisabled)return!1;ee.boxVisibility=!0},inputStyle=({props:ee})=>()=>({textAlign:ee.textAlign}),calculateNodeStyling=()=>ee=>{const te=window.getComputedStyle(ee),ae=te.getPropertyValue(STYLE.BoxSizing),ne=parseFloat(te.getPropertyValue(STYLE.PaddingBottom))+parseFloat(te.getPropertyValue(STYLE.PaddingTop)),ie=parseFloat(te.getPropertyValue(STYLE.BorderBottomWidth))+parseFloat(te.getPropertyValue(STYLE.BorderTopWidth));return{contextStyle:CONTEXT_STYLE.map(se=>`${se}:${te.getPropertyValue(se)}`).join(";"),paddingSize:ne,borderSize:ie,boxSizing:ae}},calcTextareaHeight=({api:ee,hiddenTextarea:te,props:ae,state:ne,mode:ie,constants:oe})=>(se,le=1,ue=null)=>{if(!se)return{minHeight:"",height:""};te||(te=document.createElement("textarea"),document.body.appendChild(te));const{paddingSize:ce,borderSize:de,boxSizing:he,contextStyle:fe}=ee.calculateNodeStyling(se);te.setAttribute("style",`${fe};${HIDDEN_STYLE}`),te.value=se.value||se.placeholder||"";let pe=te.scrollHeight;const ve={};ie==="mobile"&&(pe=Math.max(te.scrollHeight,oe.TEXTAREA_HEIGHT_MOBILE)),he===STYLE.ContentBox&&(pe=pe-ce),te.value="";const ge=te.scrollHeight-ce;if(le!==null){let me=ge*le;he===STYLE.BorderBox&&(me=me+ce+de),ae.size&&(me=ae.size==="mini"?me*.67:ae.size==="small"?me:me*1.17),ae.height&&(me=ae.height),ne.isDisplayOnly?ve.minHeight="0px":(pe=Math.max(me,pe),ve.minHeight=`${me}px`)}if(ue!==null){let me=ge*ue;he===STYLE.BorderBox&&(me+=de+ce),pe=Math.min(me,pe)}return ve.height=`${pe}px`,te.parentNode&&te.parentNode.removeChild(te),te=null,ve},getInput=ee=>()=>ee.$refs.input||ee.$refs.textarea,blur=ee=>()=>ee.getInput().blur(),focus=ee=>()=>ee.getInput().focus(),select=ee=>()=>ee.getInput().select(),handleBlur=({api:ee,componentName:te,eventName:ae,emit:ne,props:ie,state:oe,vm:se})=>le=>{oe.focused=!1,ne("blur",le),ee.isMemoryStorage.value=!1,ie.validateEvent&&ee.dispatch(te,ae,[ie.modelValue]),ie.hoverExpand&&(se.$refs.textarea.scrollTop=0)},handleFocus=({api:ee,emit:te,state:ae})=>ne=>{ae.focused=!0,te("focus",ne),ee.searchMemory(ne.target.value)},handleInput=({api:ee,emit:te,nextTick:ae,state:ne})=>ie=>{ne.isComposing||ie.target.value!==ne.nativeInputValue&&(te("update:modelValue",ie.target.value),te("input",ie),ee.searchMemory(ie.target.value),ae(ee.setNativeInputValue))},handleChange$3=ee=>te=>ee("change",te.target.value),resizeTextarea=({api:ee,parent:te,vm:ae,state:ne,props:ie})=>()=>{if(isServer)return;const{autosize:oe,type:se}=te;if(se!=="textarea")return;if(ie.hoverExpand&&!ne.enteredTextarea){ne.textareaCalcStyle={minHeight:ne.textareaHeight,height:ne.textareaHeight};return}if(!oe){ne.textareaCalcStyle={minHeight:ee.calcTextareaHeight(ae.$refs.textarea).minHeight};return}const le=oe.minRows,ue=oe.maxRows;ne.textareaCalcStyle=ee.calcTextareaHeight(ae.$refs.textarea,le,ue)},setNativeInputValue=({api:ee,state:te})=>()=>{const ae=ee.getInput();ae&&ae.value!==te.nativeInputValue&&(ae.value=te.nativeInputValue)},handleCompositionStart=ee=>()=>ee.isComposing=!0,handleCompositionUpdate=ee=>te=>{const ae=te.target.value,ne=ae[ae.length-1]||"";ee.isComposing=!isKorean(ne)},handleCompositionEnd=({api:ee,state:te})=>ae=>{te.isComposing&&(te.isComposing=!1,ee.handleInput(ae))},calcIconOffset=({CLASS_PREFIX:ee,parent:te})=>ae=>{const ne=[].slice.call(te.$el.querySelectorAll(`.${ee.Input}${ae}`)||[]);if(!ne.length)return;let ie=null;for(let le=0,ue=ne.length;le<ue;le++)if(ne[le].parentNode===te.$el){ie=ne[le];break}if(!ie)return;const se={suffix:"append",prefix:"prepend"}[ae];if(te.$slots[se]){const le=te.$el.querySelector(`.${ee.InputGroup}${se}`);let ue;ae==="suffix"?ue=`translateX(-${le.offsetWidth}px)`:ae==="prefix"&&(ue=`translate(${le.offsetWidth}px, -50%)`),ie.style.transform=ue}else ie.removeAttribute("style")},updateIconOffset=ee=>()=>{ee.calcIconOffset("prefix"),ee.calcIconOffset("suffix")},clear$2=ee=>()=>{ee("update:modelValue",""),ee("change",""),ee("clear")},handlePasswordVisible=({api:ee,nextTick:te,state:ae})=>()=>{ae.passwordVisible=!ae.passwordVisible,te(ee.focus)},getSuffixVisible=({parent:ee,props:te,state:ae})=>()=>ee.$slots.suffix||te.suffixIcon||ae.showClear||te.showPassword||ae.isWordLimitVisible||ae.validateState&&ae.needStatusIcon||te.mask&&ae.inputDisabled,textLength=ee=>typeof ee=="number"?String(ee).length:(ee||"").length,watchFormSelect=({emit:ee,props:te,state:ae})=>ne=>{if(te.isSelect){ee("update:modelValue",ne),ee("change",ne);const ie=te.selectMenu.length&&te.selectMenu.filter(oe=>oe.id===ne).shift();ae.checkedLabel=ie?ie.label:""}},hasSelection=ee=>()=>{const te=ee.getInput();return te&&te.selectionStart!==te.selectionEnd},handleEnterDisplayOnlyContent=({state:ee,props:te})=>(ae,ne)=>{const ie=ae.target;if(ee.displayOnlyTooltip="",!ie)return;if(ie.scrollWidth>ie.offsetWidth||ne==="textarea"&&ie.scrollHeight>ie.offsetHeight)ee.displayOnlyTooltip=te.displayOnlyContent||ee.nativeInputValue;else{let se=!1;if(te.mask&&ee.maskValueVisible){const le=ie.textContent,ue=window.getComputedStyle(ie).font,ce=ie.getBoundingClientRect(),de=16+15;se=omitText(le,ue,ce.width-de).o}se&&(ee.displayOnlyTooltip=te.displayOnlyContent||ee.nativeInputValue)}},hiddenPassword=({state:ee,props:te})=>()=>{let ae="";const ne=te.displayOnlyContent||ee.nativeInputValue;for(let ie=0;ie<ne.length;ie++)ae+="*";return ae},getDisplayedMaskValue=({state:ee})=>()=>ee.maskValueVisible?ee.nativeInputValue:ee.nativeInputValue&&ee.maskSymbol,setInputDomValue=({state:ee,props:te,nextTick:ae,vm:ne})=>ie=>{ae(()=>{const oe=ne.$refs.input;te.mask&&ee.nativeInputValue&&oe&&(oe.value=ee.maskValueVisible||!ee.inputDisabled?ee.nativeInputValue:ee.maskSymbol),ie==="mask"&&!te.mask&&oe&&(oe.value=ee.nativeInputValue)})},handleEnterTextarea=({api:ee,state:te,props:ae,nextTick:ne})=>()=>{ae.hoverExpand&&!te.isDisplayOnly&&(te.enteredTextarea=!0,ne(ee.resizeTextarea))},handleLeaveTextarea=({api:ee,state:te,props:ae,nextTick:ne,vm:ie})=>()=>{ae.hoverExpand&&!te.isDisplayOnly&&(te.enteredTextarea=!1,ne(()=>{ee.resizeTextarea(),ie.$refs.textarea.scrollTop=0}))},getDisplayOnlyText=({parent:ee,state:te,props:ae})=>()=>{const ne=ae.displayOnlyContent||te.nativeInputValue;return(typeof ae.showEmptyValue=="boolean"?ae.showEmptyValue:(ee.tinyForm||{}).showEmptyValue)?ne:ne||"-"},mousedown=ee=>(ee&&ee.preventDefault?ee.preventDefault():window.event.returnValue=!1,!1),selectItem=({emit:ee,state:te})=>ae=>{te.hoverValue="",ee("selected",ae)},keydown=({emit:ee,props:te,state:ae})=>()=>{const ne=window.event.keyCode,ie=te.localstorageData.indexOf(ae.hoverValue),oe=te.localstorageData.length-1;if(ne===KEY_CODE.ArrowUp&&te.isMemoryStorage)return ie>0&&ie<=oe?ae.hoverValue=te.localstorageData[ie-1]:ae.hoverValue=te.localstorageData[oe],!1;if(ne===KEY_CODE.ArrowDown&&te.isMemoryStorage)return ie>=0&&ie<oe?ae.hoverValue=te.localstorageData[ie+1]:ae.hoverValue=te.localstorageData[0],!1;ne===KEY_CODE.NumpadEnter&&te.isMemoryStorage&&ae.hoverValue&&ae.hoverValue.length>0&&ee("selected",ae.hoverValue)},sortDeduplication=(ee,te=5)=>{const ae=ee.length;let ne=[],ie={};for(let oe=0,se=1;se<=te&&!(oe<0||oe>=ae||(ie[ee[oe]]?se=se-1:(ie[ee[oe]]=!0,ne.push(ee[oe])),se===ae));se++)oe++;return ne},isJSONobject=(ee,te)=>{if(typeof ee=="string")try{const ae=JSON.parse(ee);return!!(typeof ae=="object"&&ae&&(!te||ae.constructor===te))}catch{return!1}},setLocalStorageage=(ee,te,ae=5)=>{if(typeof te=="string"){const ne=localStorage.getItem(ee),ie=isJSONobject(ne,Array);let oe="";if(ne&&ie){let se=JSON.parse(localStorage.getItem(ee));se.unshift(te),se=sortDeduplication(se,ae),oe=JSON.stringify(se)}else ne===null||ne===te?oe=JSON.stringify([te]):oe=JSON.stringify([te,ne]);localStorage.setItem(ee,oe)}},addMemory=ee=>te=>{ee.name&&te&&setLocalStorageage(ee.name,te,ee.memorySpace)},searchMemory=({props:ee,state:te})=>ae=>{if(!ee.name)return;const ne=localStorage.getItem(ee.name);let ie=[],oe=!0;if(isJSONobject(ne)){const se=JSON.parse(ne);if(!ae)ie=JSON.parse(ne);else for(let le=0,ue=se.length;le<ue;le++)se[le].includes(ae)&&ie.push(se[le]);ie.length===0&&(oe=!1)}else ne===null?oe=!1:ie.push(ne);te.storageData=ie,te.isMemoryStorage=oe},selectedMemory=({api:ee,state:te})=>ae=>{ee.getInput().value=ae,ee.handleInput({target:{value:ae}}),ee.handleChange({target:{value:ae}}),te.isMemoryStorage=!1};var vue_storage_box_default=({api:ee,props:te,reactive:ae,toRefs:ne})=>{const ie=ae({storageData:[],isMemoryStorage:!1});return __spreadProps(__spreadValues({},ne(ie)),{addMemory:addMemory(te),searchMemory:searchMemory({props:te,state:ie}),selectedMemory:selectedMemory({api:ee,state:ie})})};const api$g=["blur","showBox","clear","focus","state","select","getInput","handleBlur","handleInput","handleFocus","handleChange","calcIconOffset","resizeTextarea","getSuffixVisible","updateIconOffset","calcTextareaHeight","setNativeInputValue","calculateNodeStyling","handleCompositionEnd","handlePasswordVisible","handleCompositionStart","handleCompositionUpdate","addMemory","searchMemory","selectedMemory","storageData","isMemoryStorage","hasSelection","handleEnterDisplayOnlyContent","hiddenPassword","inputStyle","handleEnterTextarea","handleLeaveTextarea"],initState$4=({reactive:ee,computed:te,mode:ae,props:ne,parent:ie,constants:oe,api:se,vm:le})=>{const ue=ee({mode:ae,maskSymbol:oe.MASKSYMBOL,focused:!1,hovering:!1,isComposing:!1,passwordVisible:!1,maskValueVisible:!1,boxVisibility:!1,textareaCalcStyle:{},checkedLabel:"",enteredTextarea:!1,sheetvalue:ne.modelValue,inputSize:te(()=>ne.size||ue.formItemSize||(ie.tinyForm||{}).size),inputSizeMf:te(()=>ne.size||ue.formItemSize||(ie.tinyForm||{}).size),showClear:te(()=>ne.clearable&&!ue.inputDisabled&&!ne.readonly&&ue.nativeInputValue&&(ue.focused||ue.hovering)),textareaHeight:le.theme==="saas"?"28px":"30px",upperLimit:te(()=>ie.$attrs.maxlength),textLength:te(()=>textLength(ne.modelValue)),inputExceed:te(()=>ue.isWordLimitVisible&&ue.textLength>ue.upperLimit),formItemSize:te(()=>(ie.formItem||{}).formItemSize),validateIcon:te(()=>oe.VALIDATE_ICON[ue.validateState]),showWordLimit:te(()=>ne.showWordLimit&&ie.$attrs.maxlength),inputDisabled:te(()=>ne.disabled||(ie.tinyForm||{}).disabled||ue.isDisplayOnly||(ie.tinyForm||{}).displayOnly),validateState:te(()=>ie.formItem?ie.formItem.validateState:""),inputStyle:te(()=>se.inputStyle()),textareaStyle:te(()=>__spreadProps(__spreadValues({},ue.textareaCalcStyle),{resize:ne.resize,textAlign:ne.textAlign})),needStatusIcon:te(()=>ie.tinyForm?ie.tinyForm.statusIcon:!1),showPwdVisible:te(()=>ne.showPassword&&!ue.inputDisabled&&!ne.readonly&&(!!ue.nativeInputValue||ue.focused)),nativeInputValue:te(()=>ne.modelValue===null||ne.modelValue===void 0?"":String(ne.modelValue)),isWordLimitVisible:te(()=>(ne.showWordLimit&&ie.$attrs.maxlength||ne.counter)&&(ie.type==="text"||ie.type==="textarea")&&!ue.inputDisabled&&!ne.readonly&&!ne.showPassword),isDisplayOnly:te(()=>(ne.displayOnly||(ie.tinyForm||{}).displayOnly)&&["text","textarea","password","number"].includes(ne.type)),displayOnlyTooltip:"",hiddenPassword:te(()=>se.hiddenPassword()),displayedMaskValue:te(()=>se.getDisplayedMaskValue()),displayOnlyText:te(()=>se.getDisplayOnlyText())});return ue},initApi$4=({api:ee,state:te,dispatch:ae,broadcast:ne,emit:ie,vm:oe,props:se,CLASS_PREFIX:le,parent:ue,nextTick:ce})=>{Object.assign(ee,{state:te,dispatch:ae,broadcast:ne,showBox:showBox(te),clear:clear$2(ie),getInput:getInput(oe),handleChange:handleChange$3(ie),watchFormSelect:watchFormSelect({emit:ie,props:se,state:te}),calcIconOffset:calcIconOffset({CLASS_PREFIX:le,parent:ue}),getSuffixVisible:getSuffixVisible({parent:ue,props:se,state:te}),calculateNodeStyling:calculateNodeStyling(),handleCompositionStart:handleCompositionStart(te),handleCompositionUpdate:handleCompositionUpdate(te),setInputDomValue:setInputDomValue({state:te,props:se,nextTick:ce,vm:oe}),getDisplayOnlyText:getDisplayOnlyText({parent:ue,props:se,state:te}),handleEnterTextarea:handleEnterTextarea({api:ee,state:te,props:se,nextTick:ce}),handleLeaveTextarea:handleLeaveTextarea({api:ee,state:te,props:se,nextTick:ce,vm:oe}),inputStyle:inputStyle({props:se})})},mergeApi=({storages:ee,api:te,componentName:ae,props:ne,emit:ie,eventName:oe,nextTick:se,parent:le,state:ue,vm:ce,mode:de,constants:he})=>{const{storageData:fe,isMemoryStorage:pe,addMemory:ve,searchMemory:ge,selectedMemory:me}=ee;return Object.assign(te,{addMemory:ve,storageData:fe,searchMemory:ge,selectedMemory:me,isMemoryStorage:pe,blur:blur(te),focus:focus(te),select:select(te),handleBlur:handleBlur({api:te,componentName:ae,emit:ie,eventName:oe.blur,props:ne,state:ue,vm:ce}),handleFocus:handleFocus({api:te,emit:ie,state:ue}),handleInput:handleInput({api:te,emit:ie,nextTick:se,state:ue}),resizeTextarea:resizeTextarea({api:te,parent:le,vm:ce,state:ue,props:ne}),updateIconOffset:updateIconOffset(te),calcTextareaHeight:calcTextareaHeight({api:te,hiddenTextarea:null,props:ne,state:ue,mode:de,constants:he}),setNativeInputValue:setNativeInputValue({api:te,state:ue}),handleCompositionEnd:handleCompositionEnd({api:te,state:ue}),handlePasswordVisible:handlePasswordVisible({api:te,nextTick:se,state:ue}),hasSelection:hasSelection(te),handleEnterDisplayOnlyContent:handleEnterDisplayOnlyContent({state:ue,props:ne}),hiddenPassword:hiddenPassword({state:ue,props:ne}),getDisplayedMaskValue:getDisplayedMaskValue({state:ue})})},initWatch=({watch:ee,state:te,api:ae,props:ne,nextTick:ie,emit:oe,componentName:se,eventName:le})=>{ee(()=>ne.modelValue,ue=>{te.mode==="mobile"&&(te.sheetvalue=ue,oe("update:modelValue",ue)),ie(ae.resizeTextarea),ne.validateEvent&&ae.dispatch(se,le.change,[ue]),ae.setInputDomValue()}),ee(()=>te.maskValueVisible,ae.setInputDomValue),ee(()=>te.inputDisabled,ae.setInputDomValue),ee(()=>ne.mask,()=>{ae.setInputDomValue("mask")}),ee(()=>ne.size,()=>ie(ae.resizeTextarea),{immediate:!0}),ee(()=>te.nativeInputValue,()=>{ae.setNativeInputValue()}),ee(()=>ne.type,()=>{ie(()=>{ae.setNativeInputValue(),ae.resizeTextarea(),ae.updateIconOffset()})}),ee(()=>te.isDisplayOnly,()=>{ie(()=>{ae.setNativeInputValue(),ae.resizeTextarea(),ae.updateIconOffset()})}),ee(()=>te.sheetvalue,ue=>ae.watchFormSelect(ue),{immediate:!0})},renderless$g=(ee,{computed:te,onMounted:ae,onUpdated:ne,reactive:ie,toRefs:oe,watch:se,inject:le},{vm:ue,refs:ce,parent:de,emit:he,constants:fe,nextTick:pe,broadcast:ve,dispatch:ge,mode:me})=>{const ye={},_e=fe.COMPONENT_NAME.FormItem,be={change:"form.change",blur:"form.blur"},xe={Input:fe.inputMode(me),InputGroup:fe.inputGroupMode(me)},$e=initState$4({reactive:ie,computed:te,mode:me,props:ee,parent:de,constants:fe,api:ye,vm:ue});initApi$4({api:ye,state:$e,dispatch:ge,broadcast:ve,emit:he,refs:ce,props:ee,CLASS_PREFIX:xe,parent:de,vm:ue,nextTick:pe});const Se=vue_storage_box_default({api:ye,props:ee,reactive:ie,toRefs:oe});return de.tinyForm=de.tinyForm||le("form",null),mergeApi({api:ye,storages:Se,componentName:_e,emit:he,eventName:be,props:ee,state:$e,nextTick:pe,parent:de,vm:ue,mode:me,constants:fe}),initWatch({watch:se,state:$e,api:ye,props:ee,nextTick:pe,emit:he,componentName:_e,eventName:be}),ae(()=>{ye.setNativeInputValue(),ye.resizeTextarea(),ye.updateIconOffset(),ye.setInputDomValue(),ge("Select","input-mounted",ue.$el),ge("Tooltip","tooltip-update",ue.$el)}),ne(()=>{pe(ye.updateIconOffset)}),ye},api$f=["state","mousedown","selectItem"],renderless$f=(ee,{onUnmounted:te,reactive:ae,watch:ne},{emit:ie})=>{const oe=ae({hoverValue:""}),se={state:oe,mousedown,selectItem:selectItem({emit:ie,state:oe}),keydown:keydown({emit:ie,props:ee,state:oe})};return ne(()=>ee.isMemoryStorage,le=>!le&&(oe.hoverValue=""),{immediate:!0}),te(()=>{oe.hoverValue="",off(document,"keydown",se.keydown)}),on(document,"keydown",se.keydown),se},index$q="",index$p="",index$o="";function _createForOfIteratorHelperLoose$s(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$s(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$s(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$s(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$s(ee,te)}}function _arrayLikeToArray$s(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$t=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$s(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$1$3=defineComponent({name:$prefix+"TallStorage",inheritAttrs:!1,props:{isMemoryStorage:Boolean,localstorageData:Array},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$f,api:api$f})}}),_hoisted_1$1$3={class:"tiny-storage-list-style"},_hoisted_2$1$3=["onClick"];function _sfc_render$1$3(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",{class:"tiny-tall-storage",onMousedown:te[1]||(te[1]=function(){return ee.mousedown&&ee.mousedown.apply(ee,arguments)})},[createBaseVNode("div",_hoisted_1$1$3,[createBaseVNode("ul",{onKeydown:te[0]||(te[0]=withKeys(function(){return ee.keydownEvent&&ee.keydownEvent.apply(ee,arguments)},["enter"])),class:"tiny-storage-list"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.localstorageData,function(se){return openBlock(),createElementBlock("li",{key:se,class:normalizeClass(["tiny-storage-item",[ee.state.hoverValue===se?"item-hover":""]]),onClick:function(ue){return ee.selectItem(se)}},toDisplayString(se),11,_hoisted_2$1$3)}),128))],32)])],32)}var tallStorage$1=_export_sfc$t(_sfc_main$1$3,[["render",_sfc_render$1$3]]),_sfc_main$E=defineComponent({emits:["update:modelValue","change","clear","focus","blur","keyup","keydown","paste","mouseenter","mouseleave","click","input"],components:{IconClose:index$17(),IconEyeopen:index$11(),IconEyeclose:index$12(),TinyTallStorage:tallStorage$1,TinyTooltip:Tooltip},props:[].concat(props,["name","size","form","type","mask","label","modelValue","height","resize","counter","autosize","disabled","readonly","tabindex","clearable","suffixIcon","prefixIcon","autocomplete","showPassword","memorySpace","validateEvent","showWordLimit","displayOnly","displayOnlyContent","frontClearIcon","showEmptyValue","hoverExpand"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$g,api:api$g})}}),_hoisted_1$s={key:0,class:"tiny-input-group__prepend",ref:"prepend"},_hoisted_2$o={class:"tiny-input-display-only"},_hoisted_3$l={key:0,class:"tiny-input-display-only__content"},_hoisted_4$h={key:1,class:"tiny-input-display-only__mask"},_hoisted_5$f={class:"tiny-input-display-only__mask-text"},_hoisted_6$d={key:2,class:"tiny-input-display-only__content"},_hoisted_7$9=["name","tabindex","type","disabled","readonly","unselectable","autocomplete","aria-label"],_hoisted_8$7={key:2,class:"tiny-input__prefix",ref:"prefix"},_hoisted_9$7={key:0,class:"tiny-input__suffix",ref:"suffix"},_hoisted_10$6={class:"tiny-input__suffix-inner"},_hoisted_11$6={key:5,class:"tiny-input__count"},_hoisted_12$6={class:"tiny-input__count-inner"},_hoisted_13$5={class:"tiny-input__count-text-length"},_hoisted_14$4={class:"tiny-input__count-upper-limit"},_hoisted_15$3={key:3,class:"tiny-input-group__append",ref:"append"},_hoisted_16$3={key:4,class:"tiny-input-group__panel",ref:"panel"},_hoisted_17={class:"tiny-textarea-display-only__content"},_hoisted_18=["tabindex","disabled","readonly","unselectable","autocomplete","aria-label"],_hoisted_19={key:2,class:"tiny-input__count"},_hoisted_20={class:"tiny-input__count-inner"},_hoisted_21={class:"tiny-input__count-text-length"},_hoisted_22={class:"tiny-input__count-upper-limit"};function _sfc_render$u(ee,te,ae,ne,ie,oe){var se=resolveComponent("tiny-tooltip"),le=resolveComponent("tiny-tall-storage"),ue=resolveComponent("icon-close");return openBlock(),createElementBlock("div",{class:normalizeClass([ee.$attrs.class,ee.type==="textarea"?"tiny-textarea":"tiny-input",ee.state.inputSize?"tiny-input-"+ee.state.inputSize:"",{"is-disabled":ee.state.inputDisabled,"is-exceed":ee.state.inputExceed,"tiny-input-group":ee.slots.prepend||ee.slots.append,"tiny-input-group-append":ee.slots.append,"tiny-input-group-prepend":ee.slots.prepend,"tiny-input-prefix":ee.slots.prefix||ee.prefixIcon,"tiny-input-suffix":ee.slots.suffix||ee.suffixIcon||ee.clearable||ee.showPassword||ee.mask&&ee.state.inputDisabled,"tiny-input-word-limit":ee.state.isWordLimitVisible,"is-display-only":ee.state.isDisplayOnly}]),style:normalizeStyle$2(ee.$attrs.style),onMouseenter:te[27]||(te[27]=function(ce){ee.state.hovering=!0,ee.$emit("mouseenter",ce)}),onMouseleave:te[28]||(te[28]=function(ce){ee.state.hovering=!1,ee.$emit("mouseleave",ce)}),onClick:te[29]||(te[29]=function(ce){return ee.$emit("click",ce)})},[ee.type!=="textarea"?(openBlock(),createElementBlock(Fragment,{key:0},[ee.slots.prepend?(openBlock(),createElementBlock("div",_hoisted_1$s,[renderSlot(ee.$slots,"prepend")],512)):createCommentVNode("v-if",!0),createBaseVNode("span",_hoisted_2$o,[ee.state.isDisplayOnly?(openBlock(),createBlock(se,{key:0,effect:"light",content:ee.state.displayOnlyTooltip,display:ee.type==="password",placement:"top",onMouseenter:ee.handleEnterDisplayOnlyContent},{default:withCtx(function(){return[ee.type==="password"?(openBlock(),createElementBlock("span",_hoisted_3$l,toDisplayString(ee.state.hiddenPassword),1)):ee.mask?(openBlock(),createElementBlock("span",_hoisted_4$h,[createBaseVNode("span",_hoisted_5$f,toDisplayString(ee.state.displayedMaskValue),1),(openBlock(),createBlock(resolveDynamicComponent(ee.state.maskValueVisible?"icon-eyeopen":"icon-eyeclose"),{onClick:te[0]||(te[0]=function(ce){return ee.state.maskValueVisible=!ee.state.maskValueVisible})}))])):(openBlock(),createElementBlock("span",_hoisted_6$d,toDisplayString(ee.state.displayOnlyText),1))]}),_:1},8,["content","display","onMouseenter"])):createCommentVNode("v-if",!0),ee.type!=="textarea"?(openBlock(),createElementBlock("input",mergeProps({key:1,ref:"input",name:ee.name,"data-tag":"tiny-input-inner"},ee.a(ee.$attrs,["type","class","style","^on[A-Z]","id"]),{class:["tiny-input__inner",ee.mask&&ee.state.inputDisabled&&!ee.state.maskValueVisible&&"tiny-input__mask"],tabindex:ee.tabindex,type:ee.showPassword?ee.state.passwordVisible?"text":"password":ee.type,disabled:ee.state.inputDisabled,readonly:ee.readonly,unselectable:ee.readonly?"on":"off",autocomplete:ee.autocomplete,onCompositionend:te[1]||(te[1]=function(){return ee.handleCompositionEnd&&ee.handleCompositionEnd.apply(ee,arguments)}),onCompositionupdate:te[2]||(te[2]=function(){return ee.handleCompositionUpdate&&ee.handleCompositionUpdate.apply(ee,arguments)}),onCompositionstart:te[3]||(te[3]=function(){return ee.handleCompositionStart&&ee.handleCompositionStart.apply(ee,arguments)}),onBlur:te[4]||(te[4]=function(){return ee.handleBlur&&ee.handleBlur.apply(ee,arguments)}),onFocus:te[5]||(te[5]=function(){return ee.handleFocus&&ee.handleFocus.apply(ee,arguments)}),onInput:te[6]||(te[6]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),onChange:te[7]||(te[7]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),"aria-label":ee.label,onKeyup:te[8]||(te[8]=function(ce){return ee.$emit("keyup",ce)}),onKeydown:te[9]||(te[9]=function(ce){return ee.$emit("keydown",ce)}),onPaste:te[10]||(te[10]=function(ce){return ee.$emit("paste",ce)})}),null,16,_hoisted_7$9)):createCommentVNode("v-if",!0)]),ee.isMemoryStorage?(openBlock(),createBlock(le,{key:1,name:ee.name,"localstorage-data":ee.storageData,"is-memory-storage":ee.isMemoryStorage,onSelected:ee.selectedMemory},null,8,["name","localstorage-data","is-memory-storage","onSelected"])):createCommentVNode("v-if",!0),!ee.state.isDisplayOnly&&(ee.slots.prefix||ee.prefixIcon)?(openBlock(),createElementBlock("span",_hoisted_8$7,[renderSlot(ee.$slots,"prefix"),ee.prefixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.prefixIcon),{key:0,class:"tiny-svg-size tiny-input__icon"})):createCommentVNode("v-if",!0)],512)):createCommentVNode("v-if",!0),createBaseVNode("div",null,[createVNode$1(Transition$1,{name:"tiny-transition-icon-out-in"},{default:withCtx(function(){return[!ee.state.isDisplayOnly&&ee.getSuffixVisible()?(openBlock(),createElementBlock("span",_hoisted_9$7,[createBaseVNode("span",_hoisted_10$6,[ee.frontClearIcon&&ee.state.showClear?(openBlock(),createBlock(ue,{key:0,class:"tiny-svg-size tiny-input__icon tiny-input__clear",onMousedown:te[11]||(te[11]=withModifiers(function(){},["prevent"])),onClick:ee.clear},null,8,["onClick"])):createCommentVNode("v-if",!0),!ee.state.showClear||!ee.state.showPwdVisible||!ee.state.isWordLimitVisible?(openBlock(),createElementBlock(Fragment,{key:1},[renderSlot(ee.$slots,"suffix"),ee.suffixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.suffixIcon),{key:0,class:"tiny-svg-size tiny-input__icon"})):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),!ee.frontClearIcon&&ee.state.showClear?(openBlock(),createBlock(ue,{key:2,class:"tiny-svg-size tiny-input__icon tiny-input__clear",onMousedown:te[12]||(te[12]=withModifiers(function(){},["prevent"])),onClick:ee.clear},null,8,["onClick"])):createCommentVNode("v-if",!0),ee.showPassword?(openBlock(),createBlock(resolveDynamicComponent(ee.state.passwordVisible?"icon-eyeopen":"icon-eyeclose"),{key:3,class:"tiny-svg-size tiny-input__icon",onClick:ee.handlePasswordVisible},null,8,["onClick"])):createCommentVNode("v-if",!0),ee.mask&&ee.state.inputDisabled?(openBlock(),createBlock(resolveDynamicComponent(ee.state.maskValueVisible?"icon-eyeopen":"icon-eyeclose"),{key:4,class:"tiny-svg-size tiny-input__icon",onClick:te[13]||(te[13]=function(ce){return ee.state.maskValueVisible=!ee.state.maskValueVisible})})):createCommentVNode("v-if",!0),ee.state.isWordLimitVisible?(openBlock(),createElementBlock("span",_hoisted_11$6,[createBaseVNode("span",_hoisted_12$6,[createBaseVNode("span",_hoisted_13$5,toDisplayString(ee.state.showWordLimit?""+ee.state.textLength:""),1),createBaseVNode("span",_hoisted_14$4,toDisplayString(ee.state.showWordLimit?"/"+ee.state.upperLimit:ee.state.textLength),1)])])):createCommentVNode("v-if",!0)]),ee.state.validateState?(openBlock(),createElementBlock("i",{key:0,class:normalizeClass(["tiny-input__icon",["tiny-input__validateIcon",ee.validateIcon]])},null,2)):createCommentVNode("v-if",!0)],512)):createCommentVNode("v-if",!0)]}),_:3})]),ee.slots.append?(openBlock(),createElementBlock("div",_hoisted_15$3,[renderSlot(ee.$slots,"append")],512)):createCommentVNode("v-if",!0),ee.slots.panel?(openBlock(),createElementBlock("div",_hoisted_16$3,[renderSlot(ee.$slots,"panel")],512)):createCommentVNode("v-if",!0)],64)):(openBlock(),createElementBlock("span",{key:1,class:normalizeClass([ee.autosize?"tiny-textarea-autosize-display-only":"tiny-textarea-display-only",ee.hoverExpand&&"tiny-textarea__inner-con"])},[ee.state.isDisplayOnly?(openBlock(),createBlock(se,{key:0,effect:"light",content:ee.state.displayOnlyTooltip,placement:"top",onMouseenter:te[14]||(te[14]=function(ce){return ee.handleEnterDisplayOnlyContent(ce,"textarea")})},{default:withCtx(function(){return[createBaseVNode("span",_hoisted_17,toDisplayString(ee.state.displayOnlyText),1)]}),_:1},8,["content"])):createCommentVNode("v-if",!0),createBaseVNode("textarea",mergeProps({ref:"textarea"},ee.a(ee.$attrs,["type","class","style","id"]),{tabindex:ee.tabindex,class:["tiny-textarea__inner",ee.hoverExpand&&!ee.state.enteredTextarea&&"tiny-textarea__fix-height"],onCompositionstart:te[15]||(te[15]=function(){return ee.handleCompositionStart&&ee.handleCompositionStart.apply(ee,arguments)}),onCompositionupdate:te[16]||(te[16]=function(){return ee.handleCompositionUpdate&&ee.handleCompositionUpdate.apply(ee,arguments)}),onCompositionend:te[17]||(te[17]=function(){return ee.handleCompositionEnd&&ee.handleCompositionEnd.apply(ee,arguments)}),onInput:te[18]||(te[18]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),disabled:ee.state.inputDisabled,readonly:ee.readonly,unselectable:ee.readonly?"on":"off",autocomplete:ee.autocomplete,style:ee.state.textareaStyle,onFocus:te[19]||(te[19]=function(){return ee.handleFocus&&ee.handleFocus.apply(ee,arguments)}),onBlur:te[20]||(te[20]=function(){return ee.handleBlur&&ee.handleBlur.apply(ee,arguments)}),onChange:te[21]||(te[21]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onMouseenter:te[22]||(te[22]=function(ce){return ee.handleEnterTextarea(ce)}),onMouseleave:te[23]||(te[23]=function(ce){return ee.handleLeaveTextarea(ce)}),"aria-label":ee.label,onKeyup:te[24]||(te[24]=function(ce){return ee.$emit("keyup",ce)}),onKeydown:te[25]||(te[25]=function(ce){return ee.$emit("keydown",ce)}),onPaste:te[26]||(te[26]=function(ce){return ee.$emit("paste",ce)})}),`
-      `,16,_hoisted_18)],2)),ee.state.isWordLimitVisible&&ee.type==="textarea"?(openBlock(),createElementBlock("span",_hoisted_19,[createBaseVNode("span",_hoisted_20,[createBaseVNode("span",_hoisted_21,toDisplayString(ee.state.showWordLimit?""+ee.state.textLength:""),1),createBaseVNode("span",_hoisted_22,toDisplayString(ee.state.showWordLimit?"/"+ee.state.upperLimit:ee.state.textLength),1)])])):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default")],38)}var pc$d=_export_sfc$t(_sfc_main$E,[["render",_sfc_render$u]]);const index$n="";function _createForOfIteratorHelperLoose$r(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$r(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$r(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$r(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$r(ee,te)}}function _arrayLikeToArray$r(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$s=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$r(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne};function _extends$i(){return _extends$i=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$i.apply(this,arguments)}var _sfc_main$D=defineComponent({emits:["update:modelValue","change","clear","focus","blur","keyup","keydown","paste","mouseenter","mouseleave","input"],components:{IconClose:index$17(),IconChevronRight:index$18(),IconEyeopen:index$11(),IconEyeclose:index$12(),TinyActionSheet:ActionSheet},props:[].concat(props,["name","selectMenu","ellipsis","contentStyle","labelWidth","tips","isSelect","type","label","modelValue","disabled","readonly","clearable","suffixIcon","prefixIcon","autocomplete","showPassword","validateEvent","showWordLimit","title","counter","autosize","tabindex","width","textAlign","resize"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$g,api:api$g})}}),_hoisted_1$r={key:0,class:"tiny-mobile-input__title"},_hoisted_2$n={key:1,class:"tiny-mobile-input__wrapper"},_hoisted_3$k=["value","disabled","name","aria-label","tabindex"],_hoisted_4$g=["name","tabindex","type","disabled","readonly","autocomplete","aria-label"],_hoisted_5$e={key:1,class:"tiny-mobile-input-group__prepend"},_hoisted_6$c={key:2,class:"tiny-mobile-input__prefix"},_hoisted_7$8={key:3,class:"tiny-mobile-input__suffix"},_hoisted_8$6={key:3,class:"tiny-mobile-input__count"},_hoisted_9$6={class:"tiny-mobile-input__count-inner"},_hoisted_10$5={key:4,class:"tiny-mobile-input-group__append"},_hoisted_11$5={key:2,class:"tiny-mobile-textarea__wrapper"},_hoisted_12$5=["name","tabindex","disabled","readonly","autocomplete","aria-label"],_hoisted_13$4={key:3,class:"tiny-mobile-textarea__count"},_hoisted_14$3={key:4,class:"tiny-mobile-input__tips"};function _sfc_render$t(ee,te,ae,ne,ie,oe){var se=resolveComponent("IconChevronRight"),le=resolveComponent("icon-close"),ue=resolveComponent("tiny-action-sheet");return openBlock(),createElementBlock("div",{class:normalizeClass([ee.type==="textarea"?"tiny-mobile-textarea":"tiny-mobile-input",ee.state.inputSize?"tiny-mobile-input-"+ee.state.inputSize:"",{"is-focus":ee.state.focused,"is-disabled":ee.state.inputDisabled,"is-exceed":ee.state.inputExceed,"is-showlimit":ee.state.isWordLimitVisible&&ee.type==="textarea","tiny-mobile-input-group":ee.slots.prepend||ee.slots.append,"tiny-mobile-input-group-append":ee.slots.append,"tiny-mobile-input-group-prepend":ee.slots.prepend}]),style:normalizeStyle$2(ee.$attrs.style),onMouseenter:te[23]||(te[23]=function(ce){return ee.state.hovering=!0}),onMouseleave:te[24]||(te[24]=function(ce){return ee.state.hovering=!1})},[ee.slots.title||ee.title?(openBlock(),createElementBlock("div",_hoisted_1$r,[renderSlot(ee.$slots,"title",{},function(){return[createTextVNode(toDisplayString(ee.title),1)]})])):createCommentVNode("v-if",!0),ee.type!=="textarea"?(openBlock(),createElementBlock("div",_hoisted_2$n,[ee.isSelect?(openBlock(),createElementBlock("div",{key:0,class:"tiny-mobile-input__select",onClick:te[2]||(te[2]=function(){return ee.showBox&&ee.showBox.apply(ee,arguments)})},[createBaseVNode("input",mergeProps({type:"text",readonly:"",class:"tiny-mobile-input__inner"},ee.a(ee.$attrs,["size","class","style","^on[A-Z]"]),{value:ee.state.checkedLabel,disabled:ee.state.inputDisabled,name:ee.name,"aria-label":ee.label,style:ee.state.inputStyle,tabindex:ee.tabindex,onInput:te[0]||(te[0]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),onChange:te[1]||(te[1]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)})}),null,16,_hoisted_3$k),createBaseVNode("div",{class:"tiny-mobile-input__select-icon",style:normalizeStyle$2({transform:ee.state.boxVisibility?"rotate(90deg)":"none"})},[createVNode$1(se)],4)])):(openBlock(),createElementBlock(Fragment,{key:1},[ee.type!=="textarea"?(openBlock(),createElementBlock("input",mergeProps({key:0,ref:"input",name:ee.name},ee.a(ee.$attrs,["size","class","style","^on[A-Z]"]),{class:"tiny-mobile-input__inner",style:ee.state.inputStyle,tabindex:ee.tabindex,type:ee.showPassword?ee.state.passwordVisible?"text":"password":ee.type,disabled:ee.state.inputDisabled,readonly:ee.readonly,autocomplete:ee.autocomplete,onCompositionstart:te[3]||(te[3]=function(){return ee.handleCompositionStart&&ee.handleCompositionStart.apply(ee,arguments)}),onCompositionupdate:te[4]||(te[4]=function(){return ee.handleCompositionUpdate&&ee.handleCompositionUpdate.apply(ee,arguments)}),onCompositionend:te[5]||(te[5]=function(){return ee.handleCompositionEnd&&ee.handleCompositionEnd.apply(ee,arguments)}),onInput:te[6]||(te[6]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),onFocus:te[7]||(te[7]=function(){return ee.handleFocus&&ee.handleFocus.apply(ee,arguments)}),onBlur:te[8]||(te[8]=function(){return ee.handleBlur&&ee.handleBlur.apply(ee,arguments)}),onChange:te[9]||(te[9]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),"aria-label":ee.label}),null,16,_hoisted_4$g)):createCommentVNode("v-if",!0),ee.slots.prepend?(openBlock(),createElementBlock("div",_hoisted_5$e,[createBaseVNode("span",null,[renderSlot(ee.$slots,"prepend")])])):createCommentVNode("v-if",!0),ee.slots.prefix||ee.prefixIcon?(openBlock(),createElementBlock("div",_hoisted_6$c,[renderSlot(ee.$slots,"prefix"),ee.prefixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.prefixIcon),{key:0,class:"tiny-mobile-input__icon"})):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),ee.getSuffixVisible()?(openBlock(),createElementBlock("span",_hoisted_7$8,[!ee.state.showClear||!ee.state.showPwdVisible||!ee.state.isWordLimitVisible?(openBlock(),createElementBlock(Fragment,{key:0},[renderSlot(ee.$slots,"suffix"),ee.suffixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.suffixIcon),{key:0,class:"tiny-mobile-input__icon"})):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),ee.state.showClear?(openBlock(),createBlock(le,{key:1,class:"tiny-mobile-input__icon tiny-mobile-input__clear",onMousedown:te[10]||(te[10]=withModifiers(function(){},["prevent"])),onClick:ee.clear},null,8,["onClick"])):createCommentVNode("v-if",!0),ee.state.showPwdVisible?(openBlock(),createBlock(resolveDynamicComponent(ee.state.passwordVisible?"icon-eyeopen":"icon-eyeclose"),{key:2,class:"tiny-mobile-input__icon",onClick:ee.handlePasswordVisible},null,8,["onClick"])):createCommentVNode("v-if",!0),ee.state.isWordLimitVisible?(openBlock(),createElementBlock("span",_hoisted_8$6,[createBaseVNode("span",_hoisted_9$6,toDisplayString(ee.state.showWordLimit?ee.state.textLength+"/"+ee.state.upperLimit:ee.state.textLength),1)])):createCommentVNode("v-if",!0),ee.state.validateState?(openBlock(),createElementBlock("i",{key:4,class:normalizeClass(["tiny-mobile-input__icon",["tiny-mobile-input__validateIcon",ee.validateIcon]])},null,2)):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),ee.slots.append?(openBlock(),createElementBlock("div",_hoisted_10$5,[renderSlot(ee.$slots,"append")])):createCommentVNode("v-if",!0)],64))])):(openBlock(),createElementBlock("div",_hoisted_11$5,[createBaseVNode("textarea",mergeProps({ref:"textarea",name:ee.name},ee.a(ee.$attrs,["type","class","style","^on[A-Z]"]),{class:["tiny-mobile-textarea__inner",{"is-focus":ee.state.focused,"is-autosize":ee.autosize}],tabindex:ee.tabindex,disabled:ee.state.inputDisabled,readonly:ee.readonly,autocomplete:ee.autocomplete,style:_extends$i({},ee.state.textareaStyle,{width:ee.$attrs.cols?"auto":"100%",height:ee.$attrs.cols||ee.autosize?"auto":""}),"aria-label":ee.label,onFocus:te[11]||(te[11]=function(){return ee.handleFocus&&ee.handleFocus.apply(ee,arguments)}),onBlur:te[12]||(te[12]=function(){return ee.handleBlur&&ee.handleBlur.apply(ee,arguments)}),onChange:te[13]||(te[13]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onCompositionstart:te[14]||(te[14]=function(){return ee.handleCompositionStart&&ee.handleCompositionStart.apply(ee,arguments)}),onCompositionupdate:te[15]||(te[15]=function(){return ee.handleCompositionUpdate&&ee.handleCompositionUpdate.apply(ee,arguments)}),onCompositionend:te[16]||(te[16]=function(){return ee.handleCompositionEnd&&ee.handleCompositionEnd.apply(ee,arguments)}),onInput:te[17]||(te[17]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),onKeyup:te[18]||(te[18]=function(ce){return ee.$emit("keyup",ce)}),onKeydown:te[19]||(te[19]=function(ce){return ee.$emit("keydown",ce)}),onPaste:te[20]||(te[20]=function(ce){return ee.$emit("paste",ce)})}),`
-      `,16,_hoisted_12$5)])),ee.state.isWordLimitVisible&&ee.type==="textarea"?(openBlock(),createElementBlock("span",_hoisted_13$4,toDisplayString(ee.state.showWordLimit?ee.state.textLength+"/"+ee.state.upperLimit:ee.state.textLength),1)):createCommentVNode("v-if",!0),ee.slots.tips||ee.tips?(openBlock(),createElementBlock("div",_hoisted_14$3,[renderSlot(ee.$slots,"tips",{},function(){return[createTextVNode(toDisplayString(ee.tips),1)]})])):createCommentVNode("v-if",!0),createVNode$1(ue,{modelValue:ee.state.sheetvalue,"onUpdate:modelValue":te[21]||(te[21]=function(ce){return ee.state.sheetvalue=ce}),menus:ee.selectMenu,ellipsis:ee.ellipsis,"content-style":ee.contentStyle,visible:ee.state.boxVisibility,"onUpdate:visible":te[22]||(te[22]=function(ce){return ee.state.boxVisibility=ce})},null,8,["modelValue","menus","ellipsis","content-style","visible"])],38)}var mobile$6=_export_sfc$s(_sfc_main$D,[["render",_sfc_render$t]]);function _createForOfIteratorHelperLoose$q(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$q(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$q(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$q(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$q(ee,te)}}function _arrayLikeToArray$q(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$r=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$q(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$1$2=defineComponent({name:$prefix+"TallStorage",inheritAttrs:!1,props:{isMemoryStorage:Boolean,localstorageData:Array},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$f,api:api$f})}}),_hoisted_1$1$2={class:"tiny-storage-list-style"},_hoisted_2$1$2=["onClick"];function _sfc_render$1$2(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",{class:"tiny-tall-storage",onMousedown:te[1]||(te[1]=function(){return ee.mousedown&&ee.mousedown.apply(ee,arguments)})},[createBaseVNode("div",_hoisted_1$1$2,[createBaseVNode("ul",{onKeydown:te[0]||(te[0]=withKeys(function(){return ee.keydownEvent&&ee.keydownEvent.apply(ee,arguments)},["enter"])),class:"tiny-storage-list"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.localstorageData,function(se){return openBlock(),createElementBlock("li",{key:se,class:normalizeClass(["tiny-storage-item",[ee.state.hoverValue===se?"item-hover":""]]),onClick:function(ue){return ee.selectItem(se)}},toDisplayString(se),11,_hoisted_2$1$2)}),128))],32)])],32)}var tallStorage=_export_sfc$r(_sfc_main$1$2,[["render",_sfc_render$1$2]]),_sfc_main$C=defineComponent({inheritAttrs:!1,emits:["update:modelValue","change","clear","focus","blur","keyup","keydown","paste","mouseenter","mouseleave","click","input"],components:{IconClose:index$17(),IconError:index$13(),IconEyeopen:index$11(),IconEyeclose:index$12(),TinyTallStorage:tallStorage,TinyTooltip:Tooltip},props:[].concat(props,["name","size","form","type","mask","label","modelValue","height","resize","counter","autosize","disabled","readonly","tabindex","clearable","suffixIcon","prefixIcon","autocomplete","showPassword","validateEvent","showWordLimit","customClass","displayOnly","displayOnlyContent","showEmptyValue"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$g,api:api$g})}}),_hoisted_1$q={key:0,"data-tag":"tiny-input-prepend",ref:"prepend",class:"border-r-0 rounded-tr-none rounded-br-none bg-color-bg-2 text-color-text-placeholder border border-solid border-color-border rounded px-3 py-0 w-px align-middle table-cell relative whitespace-nowrap"},_hoisted_2$m={key:0,class:"absolute top-0 left-0 max-w-full overflow-hidden text-ellipsis whitespace-nowrap leading-7 sm:leading-normal text-color-text-primary"},_hoisted_3$j={key:1,class:"absolute top-0 left-0 max-w-full flex items-center leading-7 sm:leading-normal text-color-text-primary"},_hoisted_4$f={class:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap mr-4"},_hoisted_5$d={key:2,class:"absolute top-0 left-0 max-w-full overflow-hidden text-ellipsis whitespace-nowrap leading-7 sm:leading-normal text-color-text-primary"},_hoisted_6$b=["name","tabindex","type","disabled","readonly","unselectable","autocomplete","aria-label"],_hoisted_7$7={key:2,"data-tag":"tiny-input-prefix",ref:"prefix",class:"left-2 transition-all duration-300 ease-in-out text-xs sm:text-sm absolute top-1/2 -translate-y-1/2 text-center text-color-text-placeholder flex items-center"},_hoisted_8$5={key:3,"data-tag":"tiny-input-suffix",ref:"suffix",class:"right-2 transition-all duration-300 ease-in-out pointer-events-none text-xs absolute top-1/2 -translate-y-1/2 text-center text-color-text-placeholder flex items-center z-[1]"},_hoisted_9$5={class:"pointer-events-auto text-xs flex justify-start items-center"},_hoisted_10$4={key:5,class:"h-full inline-flex items-center text-xs sm:text-sm text-color-text-placeholder"},_hoisted_11$4={class:"bg-color-bg-1 leading-none inline-block"},_hoisted_12$4={key:4,ref:"append",class:"border-l-0 rounded-tl-none rounded-bl-none bg-color-bg-2 text-color-text-placeholder border border-solid border-color-border rounded-tr rounded-br px-3 py-0 w-px align-middle table-cell relative whitespace-nowrap"},_hoisted_13$3={key:5,ref:"panel"},_hoisted_14$2={key:1,"data-tag":"tiny-input-textarea"},_hoisted_15$2=["tabindex","disabled","readonly","unselectable","autocomplete","aria-label"],_hoisted_16$2={key:2,"data-tag":"tiny-input-limit",class:"bg-color-bg-1 text-color-text-placeholder text-xs sm:text-sm absolute bottom-1 right-3"};function _sfc_render$s(ee,te,ae,ne,ie,oe){var se=resolveComponent("tiny-tooltip"),le=resolveComponent("tiny-tall-storage"),ue=resolveComponent("icon-error"),ce=resolveComponent("icon-close");return openBlock(),createElementBlock("div",{class:normalizeClass(ee.m("relative text-xs sm:text-sm",ee.type!=="textarea"||ee.slots.prepend||ee.slots.append?"inline-table":"",ee.type!=="textarea"?"w-full":"align-bottom",ee.slots.prepend||ee.slots.append?"leading-normal border-separate border-spacing-0":"",ee.$attrs.class)),"data-tag":"tiny-input",style:normalizeStyle$2(ee.$attrs.style),onMouseenter:te[22]||(te[22]=function(de){ee.state.hovering=!0,ee.$emit("mouseenter",de)}),onMouseleave:te[23]||(te[23]=function(de){ee.state.hovering=!1,ee.$emit("mouseleave",de)}),onClick:te[24]||(te[24]=function(de){return ee.$emit("click",de)})},[ee.type!=="textarea"?(openBlock(),createElementBlock(Fragment,{key:0},[ee.slots.prepend&&!ee.state.isDisplayOnly?(openBlock(),createElementBlock("div",_hoisted_1$q,[renderSlot(ee.$slots,"prepend")],512)):createCommentVNode("v-if",!0),createBaseVNode("span",{class:normalizeClass(["relative text-sm",[ee.state.inputSizeMf!=="mini"?"sm:text-sm":"sm:text-xs"]]),"data-tag":"tiny-input-display-only"},[ee.state.isDisplayOnly?(openBlock(),createBlock(se,{key:0,effect:"light",content:ee.state.displayOnlyTooltip,display:ee.type==="password",placement:"top","popper-options":{bubbling:!0},onMouseenter:ee.handleEnterDisplayOnlyContent},{default:withCtx(function(){return[ee.type==="password"?(openBlock(),createElementBlock("span",_hoisted_2$m,toDisplayString(ee.state.hiddenPassword),1)):ee.mask?(openBlock(),createElementBlock("span",_hoisted_3$j,[createBaseVNode("span",_hoisted_4$f,toDisplayString(ee.state.displayedMaskValue),1),(openBlock(),createBlock(resolveDynamicComponent(ee.state.maskValueVisible?"icon-eyeopen":"icon-eyeclose"),{onClick:te[0]||(te[0]=function(de){return ee.state.maskValueVisible=!ee.state.maskValueVisible})}))])):(openBlock(),createElementBlock("span",_hoisted_5$d,toDisplayString(ee.state.displayOnlyText),1))]}),_:1},8,["content","display","onMouseenter"])):createCommentVNode("v-if",!0),ee.type!=="textarea"?(openBlock(),createElementBlock("input",mergeProps({key:1,ref:"input","data-tag":"tiny-input-inner",name:ee.name},ee.a(ee.$attrs,["type","class","style","^on[A-Z]"]),{class:ee.m("w-full border-0 sm:border px-0 sm:px-3 sm:border-solid sm:border-color-border sm:hover:border-color-border-hover sm:focus:border-color-brand-focus sm:disabled:border-color-border-separator placeholder:text-color-text-placeholder placeholder:text-sm sm:disabled:placeholder:text-color-text-disabled text-sm text-color-text-primary bg-color-bg-1 disabled:cursor-not-allowed disabled:text-color-text-disabled sm:disabled:text-color-text-secondary sm:disabled:bg-color-bg-6 py-0 outline-0 transition-colors duration-200 ease-in-out ",ee.state.inputSizeMf==="medium"?"h-8 leading-8 "+ee.m("sm:text-sm")+" placeholder:text-sm":ee.state.inputSizeMf==="mini"?"h-6 leading-6 text-xs placeholder:text-xs":"h-7 leading-7",ee.slots.prepend||ee.slots.append?"align-middle table-cell":"inline-block",ee.slots.prepend&&ee.slots.append?"rounded-none":ee.slots.prepend?"rounded-tl-none rounded-bl-none rounded-tr rounded-br":ee.slots.append?"rounded-tl rounded-bl rounded-tr-none rounded-br-none":"rounded",ee.readonly?" text-ellipsis overflow-hidden whitespace-nowrap":"sm:border",(ee.slots.prefix||ee.prefixIcon)&&(ee.slots.suffix||ee.suffixIcon||ee.clearable||ee.showPassword)?"px-6 sm:px-6":ee.slots.prefix||ee.prefixIcon?"pl-6 sm:pl-6 pr-0 sm:pr-3":ee.slots.suffix||ee.suffixIcon||ee.clearable||ee.showPassword?"pl-0 sm:pl-3 pr-6 sm:pr-6":"",ee.mask&&ee.state.inputDisabled?ee.state.maskValueVisible?"pr-6 sm:pr-6":"font-[serif] pr-6 sm:pr-6":"",(ee.slots.suffix||ee.suffixIcon||ee.showPassword)&&ee.clearable?"pr-10 sm:pr-10":"",ee.state.isDisplayOnly?"invisible h-auto leading-none border-0":"",ee.state.isWordLimitVisible?ee.clearable?"pr-18 sm:pr-18":"pr-14 sm:pr-14":"",ee.customClass),tabindex:ee.tabindex,type:ee.showPassword?ee.state.passwordVisible?"text":"password":ee.type,disabled:ee.state.inputDisabled,readonly:ee.readonly,unselectable:ee.readonly?"on":"off",autocomplete:ee.autocomplete,onCompositionstart:te[1]||(te[1]=function(){return ee.handleCompositionStart&&ee.handleCompositionStart.apply(ee,arguments)}),onCompositionupdate:te[2]||(te[2]=function(){return ee.handleCompositionUpdate&&ee.handleCompositionUpdate.apply(ee,arguments)}),onCompositionend:te[3]||(te[3]=function(){return ee.handleCompositionEnd&&ee.handleCompositionEnd.apply(ee,arguments)}),onInput:te[4]||(te[4]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),onFocus:te[5]||(te[5]=function(){return ee.handleFocus&&ee.handleFocus.apply(ee,arguments)}),onBlur:te[6]||(te[6]=function(){return ee.handleBlur&&ee.handleBlur.apply(ee,arguments)}),onChange:te[7]||(te[7]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),"aria-label":ee.label,onKeyup:te[8]||(te[8]=function(de){return ee.$emit("keyup",de)}),onKeydown:te[9]||(te[9]=function(de){return ee.$emit("keydown",de)}),onPaste:te[10]||(te[10]=function(de){return ee.$emit("paste",de)})}),null,16,_hoisted_6$b)):createCommentVNode("v-if",!0)],2),ee.isMemoryStorage?(openBlock(),createBlock(le,{key:1,name:ee.name,"localstorage-data":ee.storageData,"is-memory-storage":ee.isMemoryStorage,onSelected:ee.selectedMemory},null,8,["name","localstorage-data","is-memory-storage","onSelected"])):createCommentVNode("v-if",!0),(ee.slots.prefix||ee.prefixIcon)&&!ee.state.isDisplayOnly?(openBlock(),createElementBlock("span",_hoisted_7$7,[renderSlot(ee.$slots,"prefix"),ee.prefixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.prefixIcon),{key:0,class:normalizeClass(ee.m("text-center transition-all duration-300 ease-in-out text-xs sm:text-sm",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7"))},null,8,["class"])):createCommentVNode("v-if",!0)],512)):createCommentVNode("v-if",!0),!ee.state.isDisplayOnly&&ee.getSuffixVisible()?(openBlock(),createElementBlock("span",_hoisted_8$5,[createBaseVNode("span",_hoisted_9$5,[!ee.state.showClear||!ee.state.showPwdVisible||!ee.state.isWordLimitVisible?(openBlock(),createElementBlock(Fragment,{key:0},[renderSlot(ee.$slots,"suffix"),ee.suffixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.suffixIcon),{key:0,class:normalizeClass(ee.m("text-center transition-all duration-300 ease-in-out text-xs",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7"))},null,8,["class"])):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),ee.state.showClear?(openBlock(),createBlock(ue,{key:1,class:normalizeClass(ee.m("text-center transition-all duration-300 ease-in-out text-xs cursor-pointer fill-color-none-hover block sm:hidden",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7")),onMousedown:te[11]||(te[11]=withModifiers(function(){},["prevent"])),onClick:ee.clear},null,8,["class","onClick"])):createCommentVNode("v-if",!0),ee.state.showClear?(openBlock(),createBlock(ce,{key:2,class:normalizeClass(ee.m("hidden sm:block text-center transition-all duration-300 ease-in-out text-xs cursor-pointer",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7")),onMousedown:te[12]||(te[12]=withModifiers(function(){},["prevent"])),onClick:ee.clear},null,8,["class","onClick"])):createCommentVNode("v-if",!0),ee.showPassword?(openBlock(),createBlock(resolveDynamicComponent(ee.state.passwordVisible?"icon-eyeopen":"icon-eyeclose"),{key:3,class:normalizeClass(ee.m("text-center transition-all duration-300 ease-in-out text-xs",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7")),onClick:ee.handlePasswordVisible},null,8,["class","onClick"])):createCommentVNode("v-if",!0),ee.mask&&ee.state.inputDisabled?(openBlock(),createBlock(resolveDynamicComponent(ee.state.maskValueVisible?"icon-eyeopen":"icon-eyeclose"),{key:4,class:normalizeClass(ee.m("text-center transition-all duration-300 ease-in-out text-xs fill-color-text-placeholder",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7")),onClick:te[13]||(te[13]=function(de){return ee.state.maskValueVisible=!ee.state.maskValueVisible})},null,8,["class"])):createCommentVNode("v-if",!0),ee.state.isWordLimitVisible?(openBlock(),createElementBlock("span",_hoisted_10$4,[createBaseVNode("span",_hoisted_11$4,toDisplayString(ee.state.showWordLimit?ee.state.textLength+"/"+ee.state.upperLimit:ee.state.textLength),1)])):createCommentVNode("v-if",!0)]),ee.state.validateState?(openBlock(),createElementBlock("i",{key:0,class:normalizeClass(ee.m("text-center transition-all duration-300 ease-in-out text-xs pointer-events-none",ee.state.inputSizeMf==="medium"?"leading-8":ee.state.inputSizeMf==="mini"?"leading-6":"leading-7",ee.state.validateIcon))},null,2)):createCommentVNode("v-if",!0)],512)):createCommentVNode("v-if",!0),ee.slots.append&&!ee.state.isDisplayOnly?(openBlock(),createElementBlock("div",_hoisted_12$4,[renderSlot(ee.$slots,"append")],512)):createCommentVNode("v-if",!0),ee.slots.panel&&!ee.state.isDisplayOnly?(openBlock(),createElementBlock("div",_hoisted_13$3,[renderSlot(ee.$slots,"panel")],512)):createCommentVNode("v-if",!0)],64)):(openBlock(),createElementBlock("span",_hoisted_14$2,[ee.state.isDisplayOnly?(openBlock(),createBlock(se,{key:0,effect:"light",content:ee.state.displayOnlyTooltip,placement:"top","popper-options":{bubbling:!0},onMouseenter:te[14]||(te[14]=function(de){return ee.handleEnterDisplayOnlyContent(de,"textarea")})},{default:withCtx(function(){return[createBaseVNode("span",{class:normalizeClass(["max-w-full text-ellipsis break-words line-clamp-5 text-sm pt-1.5 text-color-text-primary",[ee.state.inputSizeMf!=="mini"?"sm:text-sm":"sm:text-xs"]])},toDisplayString(ee.state.displayOnlyText),3)]}),_:1},8,["content"])):createCommentVNode("v-if",!0),createBaseVNode("textarea",mergeProps({ref:"textarea"},ee.a(ee.$attrs,["type","class","style","^on[A-Z]"]),{tabindex:ee.tabindex,class:["block w-full border-0 sm:border-solid sm:border-color-border sm:hover:border-color-border-hover sm:focus:border-color-brand-focus sm:disabled:border-color-border-separator outline-0 rounded placeholder:text-color-text-placeholder placeholder:text-sm sm:disabled:placeholder:text-color-text-disabled text-sm text-color-text-primary bg-color-bg-1 disabled:cursor-not-allowed disabled:text-color-text-disabled sm:disabled:text-color-text-secondary sm:disabled:bg-color-bg-6 leading-normal",[ee.readonly?"sm:border-0 px-0 py-0":"sm:border px-3 py-2",ee.state.isDisplayOnly?"hidden":"",ee.state.inputSizeMf!=="mini"?"sm:placeholder:text-sm sm:text-sm":"sm:placeholder:text-xs sm:text-xs"]],onCompositionstart:te[15]||(te[15]=function(){return ee.handleCompositionStart&&ee.handleCompositionStart.apply(ee,arguments)}),onCompositionupdate:te[16]||(te[16]=function(){return ee.handleCompositionUpdate&&ee.handleCompositionUpdate.apply(ee,arguments)}),onCompositionend:te[17]||(te[17]=function(){return ee.handleCompositionEnd&&ee.handleCompositionEnd.apply(ee,arguments)}),onInput:te[18]||(te[18]=function(){return ee.handleInput&&ee.handleInput.apply(ee,arguments)}),disabled:ee.state.inputDisabled,readonly:ee.readonly,unselectable:ee.readonly?"on":"off",autocomplete:ee.autocomplete,style:ee.state.textareaStyle,onFocus:te[19]||(te[19]=function(){return ee.handleFocus&&ee.handleFocus.apply(ee,arguments)}),onBlur:te[20]||(te[20]=function(){return ee.handleBlur&&ee.handleBlur.apply(ee,arguments)}),onChange:te[21]||(te[21]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),"aria-label":ee.label}),`
-      `,16,_hoisted_15$2)])),ee.state.isWordLimitVisible&&ee.type==="textarea"?(openBlock(),createElementBlock("span",_hoisted_16$2,toDisplayString(ee.state.showWordLimit?ee.state.textLength+"/"+ee.state.upperLimit:ee.state.textLength),1)):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default")],38)}var mobileFirst$6=_export_sfc$r(_sfc_main$C,[["render",_sfc_render$s]]);function _extends$h(){return _extends$h=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$h.apply(this,arguments)}var template$e=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$d:(ne||te)==="mobile"?mobile$6:(ne||te)==="mobile-first"?mobileFirst$6:pc$d},$constants$c={INPUT_PC:"tiny-input__",INPUTGROUP_PC:"tiny-input-group__",INPUT_MOBILE:"tiny-mobile-input__",INPUTGROUP_MOBILE:"tiny-mobile-input-group__",Mode:"pc",inputMode:function(te){return te===this.Mode?this.INPUT_PC:this.INPUT_MOBILE},inputGroupMode:function(te){return te===this.Mode?this.INPUTGROUP_PC:this.INPUTGROUP_MOBILE},VALIDATE_ICON:{Validating:"tiny-icon-loading",Success:"tiny-icon-circle-check",Error:"tiny-icon-circle-close"},COMPONENT_NAME:{FormItem:"FormItem"},MASKSYMBOL:"******",TEXTAREA_HEIGHT_MOBILE:108},inputProps=_extends$h({},$props,{_constants:{type:Object,default:function(){return $constants$c}},name:String,size:String,form:String,label:String,height:Number,resize:String,tabindex:{type:String,default:"1"},disabled:Boolean,readonly:Boolean,hoverExpand:Boolean,mask:Boolean,suffixIcon:[Object,String],prefixIcon:[Object,String],modelValue:[String,Number],type:{type:String,default:"text"},memorySpace:{type:Number,default:5},vertical:{type:Boolean,default:!1},selectMenu:{type:Array,default:function(){return[]}},ellipsis:{type:Boolean,default:!1},contentStyle:{type:Object,default:function(){return{}}},isSelect:{type:Boolean,default:!1},tips:String,counter:{type:Boolean,default:!1},autosize:{type:[Boolean,Object],default:!1},clearable:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},showTitle:{type:Boolean,default:!1},validateEvent:{type:Boolean,default:!0},textareaTitle:{type:String,default:""},displayOnly:{type:Boolean,default:!1},displayOnlyContent:{type:String,default:""},customClass:{type:String,default:""},frontClearIcon:{type:Boolean,default:!1},showEmptyValue:{type:Boolean,default:!1},textAlign:{type:String,default:"left"},width:{type:[String,Number]}}),Input=defineComponent({name:$prefix+"Input",inheritAttrs:!1,props:inputProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$e})}}),version$h="3.16.0";Input.model={prop:"modelValue",event:"update:modelValue"};Input.install=function(ee){ee.component(Input.name,Input)};Input.version=version$h;const indexOf$1=(ee,te,ae=isSame)=>{if(Array.isArray(ee)&&typeof ae=="function"){for(let ne=0,ie=ee.length;ne<ie;ne++)if(ae(ee[ne],te))return ne}return-1},find$1=(ee,te)=>{const ae=indexOf$1(ee,void 0,te);return ae!==-1?ee[ae]:void 0},extend$2=(ee,te)=>(Object.keys(te).forEach(ae=>ee[ae]=te[ae]),ee),toObject=ee=>{const te={};for(let ae=0;ae<ee.length;ae++)ee[ae]&&extend$2(te,ee[ae]);return te},transformPidToChildren=(ee,te="pId",ae="children",ne="id")=>{const ie=[];return Array.isArray(ee)&&ee.forEach(oe=>{if(oe[te]=="0")ie.push(oe);else{const se=find$1(ee,le=>le[ne]==oe[te]);if(!se)return;se[ae]||(se[ae]=[]),se[ae].push(oe)}delete oe[te]}),ie},transformTreeData=(ee,te="id",ae="pId")=>(Array.isArray(ee)||(ee=[ee]),ee=ee.map(ie=>__spreadValues({},ie)),transformPidToChildren(ee,ae,"children",te)),getFilterStr=ee=>{const te={};return Object.keys(ee).forEach(ae=>{const{type:ne,value:ie}=ee[ae];if(ne==="enum"&&(te[ae]={type:ie.map(()=>0),value:ie},ie.length>1&&(ee[ae].relation="or")),ne==="input"){const{relation:oe,text:se}=ie;te[ae]={type:[oe==="startwith"?8:oe==="equals"?0:6],value:se}}}),JSON.stringify(te)},getNsObj=(ee,te)=>{const ae=Array.isArray(te)?te:te.split("."),ne=ae.shift(),ie=ee[ne];return isObject$5(ie)&&ae.length?getNsObj(ie,ae):ie},handlerArgs=(ee,te)=>{if(te){const{page:ae,sort:ne,filters:ie}=te,{currentPage:oe,pageSize:se}=ae||{},le=getFilterStr(ie||{}),ue=ne&&ne.property?ne.property+" "+ne.order:"";ee.url=format$4(ee.url,{curPage:oe,pageSize:se,filterStr:le,orderBy:ue})}},transForm=(ee,te)=>{const{result:ae,pageVO:ne}=ee,{key:ie="id",parentKey:oe}=te||{};let se=ae||ee;return oe&&(se=transformTreeData(se,ie,oe)),ne?{result:se,page:{total:ne.totalRows}}:se},getDataset=({dataset:ee,service:te,tree:ae},ne)=>new Promise((ie,oe)=>{const{source:se,value:le,api:ue}=ee||{},ce=te||ee&&ee.service;if(Array.isArray(ee))return ie(transForm(ee,ae));if(Array.isArray(le))return ie(transForm(le,ae));if(!ce)return ie([]);if(isObject$5(se)&&se.url){const de=se,{type:he="GET",data:fe,beforeRequest:pe,afterRequest:ve,success:ge,hideErr:me,url:ye,method:_e}=de,be=__objRest(de,["type","data","beforeRequest","afterRequest","success","hideErr","url","method"]);be.url=ye,be.method=_e||he.toLocaleLowerCase();const xe=be.method==="get"?"params":"data";be[xe]=fe||{};const $e=ve||ge,Se=__spreadValues({},be);handlerArgs(Se,ne),pe&&pe(Se,ne),ce.network.request(Se).then(we=>{$e&&$e(we.data),ie(transForm(we.data,ae))}).catch(we=>{me||oe(we)})}else if(ue){const de=getNsObj(ce,ue.name);de&&de(__spreadValues(__spreadValues({},ue.data),ne)).then(he=>{ie(transForm(he,ae))}).catch(he=>{oe(he)})}}),addToStore=({state:ee,props:te})=>()=>{Array.isArray(ee.model)&&!ee.model.includes(te.label)?ee.model.push(te.label):ee.model=te.trueLabel||!0},removeFromStore=({state:ee,props:te})=>()=>{if(Array.isArray(ee.model)){const ae=ee.model.indexOf(te.label);ae!==-1&&ee.model.splice(ae,1)}else ee.model=te.falseLabel!==void 0&&te.falseLabel},handleChange$2=({state:ee,props:te,emit:ae,nextTick:ne,dispatch:ie,constants:oe})=>se=>{if(ee.isLimitExceeded)return;let le;const{trueLabel:ue,falseLabel:ce}=te;se.target.checked?le=ue===void 0?!0:ue:le=ce===void 0?!1:ce,ae("change",le,se),ne(()=>{ee.isGroup&&ie(oe.CHECKBOX_GROUP,"change",[ee.checkboxGroup.modelValue])})},computedGetModelGet$1=({state:ee,props:te})=>()=>{const ae=ee.isGroup?ee.store:te.modelValue!==void 0?te.modelValue:ee.selfModel;return isNull$2(ae)?ee.isGroup?[]:"":ae},computedGetModelSet$1=({state:ee,dispatch:te,emit:ae,constants:ne})=>ie=>{ee.isGroup?(ee.isLimitExceeded=!1,ee.checkboxGroup.min!==void 0&&ie.length<ee.checkboxGroup.min&&(ee.isLimitExceeded=!0),ee.checkboxGroup.max!==void 0&&ie.length>ee.checkboxGroup.max&&(ee.isLimitExceeded=!0),ee.isLimitExceeded===!1&&te(ne.CHECKBOX_GROUP,"update:modelValue",[ie])):(ae("update:modelValue",ie),ee.selfModel=ie)},computedIsChecked=({state:ee,props:te})=>()=>typeof ee.model=="boolean"?ee.model:Array.isArray(ee.model)?ee.model.includes(te.label):isNull$2(ee.model)?!1:ee.model===te.trueLabel,computedIsGroup=({state:ee,parent:te,constants:ae})=>()=>{let ne=te.$parent;for(;ne;)if(ne.$options.componentName!==ae.CHECKBOX_GROUP)ne=ne.$parent;else return ee.checkboxGroup=ne,!0;return!1},computedStore=({state:ee,props:te})=>()=>ee.checkboxGroup?ee.checkboxGroup.modelValue:te.modelValue,computedIsLimitDisabled=ee=>()=>{const{max:te,min:ae}=ee.checkboxGroup;return!!(te||ae)&&ee.model.length>=te&&!ee.isChecked||ee.model.length<=ae&&ee.isChecked},computedIsDisabled$1=({state:ee,props:te})=>()=>(ee.isGroup?ee.checkboxGroup.disabled||ee.checkboxGroup.displayOnly||te.disabled||te.displayOnly||ee.isLimitDisabled:te.disabled)||ee.formDisabled,computedFormItemSize$2=ee=>()=>(ee.formItem||{}).formItemSize,computedCheckboxSize=({state:ee,props:te,formItemSize:ae})=>()=>{const ne=te.size||ae.value;return ee.isGroup&&ee.checkboxGroup.state.checkboxGroupSize||ne},mounted$2=({props:ee,emit:te,api:ae,parent:ne})=>()=>{ee.checked&&ae.addToStore(),ee.indeterminate&&ne.$el.setAttribute("aria-controls",ee.controls),te("complete",!0)},toggleEvent$2=({parent:ee,props:te,type:ae})=>{const ne=ee.$el;for(let ie in te.events)ne[ae+"EventListener"](ie,te.events[ie])},computedIsDisplayOnly=({state:ee,props:te})=>()=>te.displayOnly||ee.formDisplayOnly,computedIsGroupDisplayOnly=({state:ee})=>()=>ee.isGroup&&(ee.checkboxGroup.displayOnly||ee.formDisplayOnly),computedDisplayLabel=({state:ee,props:te,t:ae})=>()=>(ee.showLabel=!0,te.trueLabel!==void 0&&te.falseLabel!==void 0?te.modelValue?String(te.trueLabel):String(te.falseLabel):te.modelValue?ae("yes"):ae("no")),computedIsShowText=({props:ee})=>()=>!isNull$2(ee.text)||!isNull$2(ee.label),computedShowText=({props:ee})=>()=>ee.text||!isNull$2(ee.text)?ee.text:ee.label,handleLabelMouseenter=({state:ee,vm:te})=>ae=>{const ne=ae.target;if(ne&&ne.scrollWidth>ne.offsetWidth){const ie=te.$refs.tooltip;ie.state.referenceElm=ne,ie.state.popperElm&&(ie.state.popperElm.style.display="none"),ie.doDestroy(),ee.tooltipVisible=!0,ee.displayedValue=ne.textContent,setTimeout(ie.updatePopper,20)}},handleMouseleave=ee=>()=>{ee.tooltipVisible=!1},api$e=["state","handleChange","computedStore","handleLabelMouseenter","handleMouseleave"],initState$3=({reactive:ee,computed:te,parent:ae,api:ne,inject:ie,props:oe})=>{const se=ee({size:te(()=>oe.size||ie("size",null)||(ae.tinyForm||{}).size),vertical:ie("vertical",null),iconPosition:oe.iconPosition||ie("iconPosition","center"),focus:!1,selfModel:!1,showLabel:!1,isLimitExceeded:!1,checkboxGroup:null,store:te(()=>ne.computedStore()),isGroup:te(()=>ne.computedIsGroup()),isChecked:te(()=>ne.computedIsChecked()),isDisabled:te(()=>ne.computedIsDisabled()),checkboxSize:te(()=>ne.computedCheckboxSize()),isLimitDisabled:te(()=>ne.computedIsLimitDisabled()),formDisabled:te(()=>(ae.tinyForm||{}).disabled),formDisplayOnly:te(()=>(ae.tinyForm||{}).displayOnly),isDisplayOnly:te(()=>ne.computedIsDisplayOnly()),isGroupDisplayOnly:te(()=>ne.computedIsGroupDisplayOnly()),displayLabel:te(()=>ne.computedDisplayLabel()),inputDisabled:te(()=>se.isDisabled||se.isDisplayOnly||se.isGroupDisplayOnly),model:te({get:()=>ne.computedGetModelGet(),set:le=>ne.computedGetModelSet(le)}),showText:te(()=>ne.computedShowText()),isShowText:te(()=>ne.computedIsShowText()),shape:ie("shape",null)||oe.shape,tooltipVisible:!1,displayedValue:""});return se},initApi$3=({api:ee,state:te,dispatch:ae,props:ne,parent:ie,constants:oe,formItemSize:se,emit:le,nextTick:ue,t:ce,vm:de})=>{Object.assign(ee,{state:te,addToStore:addToStore({state:te,props:ne}),removeFromStore:removeFromStore({state:te,props:ne}),computedStore:computedStore({state:te,props:ne}),computedFormItemSize:computedFormItemSize$2(ne),computedIsChecked:computedIsChecked({state:te,props:ne}),computedIsLimitDisabled:computedIsLimitDisabled(te),computedIsDisabled:computedIsDisabled$1({state:te,props:ne}),computedIsDisplayOnly:computedIsDisplayOnly({state:te,props:ne}),computedIsGroupDisplayOnly:computedIsGroupDisplayOnly({state:te}),computedGetModelGet:computedGetModelGet$1({state:te,props:ne}),computedIsGroup:computedIsGroup({state:te,parent:ie,constants:oe}),computedCheckboxSize:computedCheckboxSize({state:te,props:ne,formItemSize:se}),computedGetModelSet:computedGetModelSet$1({state:te,dispatch:ae,emit:le,constants:oe}),mounted:mounted$2({emit:le,props:ne,api:ee,parent:ie}),handleChange:handleChange$2({state:te,props:ne,emit:le,nextTick:ue,dispatch:ae,constants:oe}),computedDisplayLabel:computedDisplayLabel({state:te,props:ne,t:ce}),computedIsShowText:computedIsShowText({props:ne}),computedShowText:computedShowText({props:ne}),handleLabelMouseenter:handleLabelMouseenter({state:te,vm:de}),handleMouseleave:handleMouseleave(te)})},renderless$e=(ee,{computed:te,onMounted:ae,onBeforeUnmount:ne,reactive:ie,watch:oe,inject:se},{vm:le,parent:ue,emit:ce,constants:de,nextTick:he,dispatch:fe,t:pe})=>{const ve={dispatch:fe},ge=te(()=>ve.computedFormItemSize()),me=initState$3({reactive:ie,computed:te,parent:ue,api:ve,inject:se,props:ee});return ue.tinyForm=ue.tinyForm||se("form",null),initApi$3({api:ve,state:me,dispatch:fe,props:ee,parent:ue,constants:de,formItemSize:ge,emit:ce,nextTick:he,t:pe,vm:le}),oe(()=>ee.modelValue,ye=>ee.validateEvent&&ve.dispatch(de.FORM_ITEM,de.FORM_CHANGE,ye)),oe(()=>ee.checked,ye=>{ye?ve.addToStore():ve.removeFromStore()}),ne(()=>{toggleEvent$2({parent:ue,props:ee,type:"remove"})}),ae(()=>{fe("Tooltip","tooltip-update"),toggleEvent$2({parent:ue,props:ee,type:"add"}),ve.mounted()}),ve},index$m="";function _createForOfIteratorHelperLoose$p(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$p(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$p(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$p(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$p(ee,te)}}function _arrayLikeToArray$p(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$q=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$p(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$B=defineComponent({emits:["update:modelValue","change","complete"],props:[].concat(props,["modelValue","text","events","label","indeterminate","disabled","checked","name","trueLabel","falseLabel","id","controls","size","border","validateEvent","displayOnly","shape","tabindex"]),components:{IconHalfselect:index$X(),IconCheckedSur:index$19(),IconCheck:index$1a(),TinyTooltip:Tooltip},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$e,api:api$e})}}),_hoisted_1$p=["id"],_hoisted_2$l=["role","aria-checked"],_hoisted_3$i=["tabindex","aria-hidden","name","disabled","true-value","false-value"],_hoisted_4$e=["tabindex","aria-hidden","disabled","value","name"],_hoisted_5$c={class:"tiny-checkbox__inner"};function _sfc_render$r(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-halfselect"),le=resolveComponent("icon-checked-sur"),ue=resolveComponent("icon-check"),ce=resolveComponent("tiny-tooltip");return openBlock(),createElementBlock("label",mergeProps({class:["tiny-checkbox",[ee.border&&ee.state.checkboxSize?"tiny-checkbox--"+ee.state.checkboxSize:"",{"is-disabled":ee.state.isDisabled||ee.state.isDisplayOnly},{"is-bordered":ee.border},{"is-checked":ee.state.isChecked},{"is-group-display-only":ee.state.isGroupDisplayOnly},{"is-display-only":ee.state.isDisplayOnly},{"is-filter":ee.state.shape==="filter"}]],id:ee.id,tabindex:"-1"},ee.a(ee.$attrs,["class","style","onClick"],!0)),[createBaseVNode("span",{class:normalizeClass(["tiny-checkbox__input",{"is-disabled":ee.state.isDisabled||ee.state.isDisplayOnly,"is-checked":ee.state.isChecked,"is-indeterminate":ee.indeterminate,"is-focus":ee.state.focus}]),role:ee.indeterminate?"checkbox":void 0,"aria-checked":ee.indeterminate?"mixed":!1},[ee.trueLabel||ee.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"tiny-checkbox__original",type:"checkbox",tabindex:ee.tabindex,"aria-hidden":ee.indeterminate?"true":"false",name:ee.name,disabled:ee.state.isDisabled||ee.state.isDisplayOnly,"true-value":ee.trueLabel,"false-value":ee.falseLabel,"onUpdate:modelValue":te[0]||(te[0]=function(de){return ee.state.model=de}),onChange:te[1]||(te[1]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[2]||(te[2]=function(de){return ee.state.focus=!0}),onBlur:te[3]||(te[3]=function(de){return ee.state.focus=!1}),onClick:te[4]||(te[4]=withModifiers(function(){},["stop"]))},null,40,_hoisted_3$i)),[[vModelCheckbox,ee.state.model]]):withDirectives((openBlock(),createElementBlock("input",{key:1,class:"tiny-checkbox__original",type:"checkbox",tabindex:ee.tabindex,"aria-hidden":ee.indeterminate?"true":"false",disabled:ee.state.isDisabled||ee.state.isDisplayOnly,value:ee.label,name:ee.name,"onUpdate:modelValue":te[5]||(te[5]=function(de){return ee.state.model=de}),onChange:te[6]||(te[6]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[7]||(te[7]=function(de){return ee.state.focus=!0}),onBlur:te[8]||(te[8]=function(de){return ee.state.focus=!1}),onClick:te[9]||(te[9]=withModifiers(function(){},["stop"]))},null,40,_hoisted_4$e)),[[vModelCheckbox,ee.state.model]]),createBaseVNode("span",_hoisted_5$c,[ee.indeterminate&&ee.state.shape!=="filter"?(openBlock(),createBlock(se,{key:0,class:"tiny-svg-size icon-halfselect"})):ee.state.isChecked?(openBlock(),createBlock(le,{key:1,class:"tiny-svg-size icon-checked-sur"})):(openBlock(),createBlock(ue,{key:2,class:"tiny-svg-size icon-check"}))])],10,_hoisted_2$l),ee.slots.default&&ee.slots.default()||ee.state.isShowText?(openBlock(),createElementBlock("span",{key:0,class:"tiny-checkbox__label tiny-checkbox-display-only",onMouseenter:te[11]||(te[11]=function(){return ee.handleLabelMouseenter&&ee.handleLabelMouseenter.apply(ee,arguments)}),onMouseleave:te[12]||(te[12]=function(){return ee.handleMouseleave&&ee.handleMouseleave.apply(ee,arguments)})},[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.state.showText),1)]}),createVNode$1(ce,{ref:"tooltip",modelValue:ee.state.tooltipVisible,"onUpdate:modelValue":te[10]||(te[10]=function(de){return ee.state.tooltipVisible=de}),manual:!0,effect:"light",content:ee.state.displayedValue,placement:"top"},null,8,["modelValue","content"])],32)):createCommentVNode("v-if",!0)],16,_hoisted_1$p)}var pc$c=_export_sfc$q(_sfc_main$B,[["render",_sfc_render$r]]);const index$l="";function _createForOfIteratorHelperLoose$o(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$o(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$o(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$o(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$o(ee,te)}}function _arrayLikeToArray$o(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$p=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$o(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$A=defineComponent({props:[].concat(props,["modelValue","text","events","label","indeterminate","disabled","checked","name","trueLabel","falseLabel","id","iconPosition"]),emits:["update:modelValue","change","complete","click"],setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$e,api:api$e})}}),_hoisted_1$o=["id"],_hoisted_2$k=["tabindex","role","aria-checked"],_hoisted_3$h=createBaseVNode("span",{class:"tiny-mobile-checkbox__inner"},null,-1),_hoisted_4$d=["aria-hidden","name","disabled","true-value","false-value"],_hoisted_5$b=["aria-hidden","disabled","value","name"],_hoisted_6$a={key:0,class:"tiny-mobile-checkbox__label"};function _sfc_render$q(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("label",{class:normalizeClass(["tiny-mobile-checkbox",{"is-disabled":ee.state.isDisabled,"is-checked":ee.state.isChecked,"is-indeterminate":ee.indeterminate,"is-focus":ee.state.focus,"icon-position-top":ee.state.iconPosition==="top"}]),id:ee.id},[createBaseVNode("span",{class:"tiny-mobile-checkbox__input",tabindex:ee.indeterminate?0:!1,role:ee.indeterminate?"checkbox":!1,"aria-checked":ee.indeterminate?"mixed":!1},[_hoisted_3$h,ee.trueLabel||ee.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"tiny-mobile-checkbox__original",type:"checkbox","aria-hidden":ee.indeterminate?"true":"false",name:ee.name,disabled:ee.state.isDisabled,"true-value":ee.trueLabel,"false-value":ee.falseLabel,"onUpdate:modelValue":te[0]||(te[0]=function(se){return ee.state.model=se}),onChange:te[1]||(te[1]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[2]||(te[2]=function(se){return ee.state.focus=!0}),onBlur:te[3]||(te[3]=function(se){return ee.state.focus=!1})},null,40,_hoisted_4$d)),[[vModelCheckbox,ee.state.model]]):withDirectives((openBlock(),createElementBlock("input",{key:1,class:"tiny-mobile-checkbox__original",type:"checkbox","aria-hidden":ee.indeterminate?"true":"false",disabled:ee.state.isDisabled,value:ee.label,name:ee.name,"onUpdate:modelValue":te[4]||(te[4]=function(se){return ee.state.model=se}),onChange:te[5]||(te[5]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[6]||(te[6]=function(se){return ee.state.focus=!0}),onBlur:te[7]||(te[7]=function(se){return ee.state.focus=!1})},null,40,_hoisted_5$b)),[[vModelCheckbox,ee.state.model]])],8,_hoisted_2$k),ee.slots.default&&ee.slots.default()||ee.state.isShowText?(openBlock(),createElementBlock("span",_hoisted_6$a,[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.state.showText),1)]})])):createCommentVNode("v-if",!0)],10,_hoisted_1$o)}var mobile$5=_export_sfc$p(_sfc_main$A,[["render",_sfc_render$q]]);function _createForOfIteratorHelperLoose$n(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$n(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$n(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$n(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$n(ee,te)}}function _arrayLikeToArray$n(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$o=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$n(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$z=defineComponent({inheritAttrs:!1,emits:["update:modelValue","change","complete"],props:[].concat(props,["modelValue","text","events","label","indeterminate","disabled","checked","name","trueLabel","falseLabel","id","controls","size","border","validateEvent","customClass","displayOnly"]),components:{IconHalfselect:index$X(),IconCheckedSur:index$19(),IconCheck:index$1a()},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$e,api:api$e})}}),_hoisted_1$n=["id"],_hoisted_2$j=["role","aria-checked"],_hoisted_3$g={tabindex:"1"},_hoisted_4$c=["aria-hidden","name","disabled","true-value","false-value"],_hoisted_5$a=["aria-hidden","disabled","value","name"],_hoisted_6$9={key:0,class:"text-color-text-primary cursor-default"};function _sfc_render$p(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-check"),le=resolveComponent("icon-halfselect"),ue=resolveComponent("icon-checked-sur");return openBlock(),createElementBlock("label",mergeProps({"data-tag":"tiny-checkbox",class:ee.m("inline-flex sm:items-center text-sm leading-5 cursor-pointer",ee.state.size!=="mini"?"sm:text-sm":"sm:text-xs",{"sm:py-2":ee.state.vertical},ee.state.isDisplayOnly||ee.state.isGroupDisplayOnly?ee.state.isChecked?"cursor-default after:content-[';'] after:inline-block last:after:content-['']":"hidden":"",ee.state.showLabel?"inline-flex":"",ee.customClass),id:ee.id,tabindex:"-1"},ee.a(ee.$attrs,["class","style","onClick"],!0)),[createBaseVNode("span",{class:normalizeClass(["relative w-7 h-7 mr-2 sm:mr-0 sm:p-0",ee.state.size==="medium"?"sm:w-6 sm:h-6":"sm:h-4 sm:w-4",ee.state.isDisplayOnly||ee.state.isGroupDisplayOnly?"hidden":""]),role:ee.indeterminate?"checkbox":!1,"aria-checked":ee.indeterminate?"mixed":!1},[createBaseVNode("span",_hoisted_3$g,[createVNode$1(se,{"data-tag":"icon-check",class:normalizeClass(ee.m("w-5 h-5 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-0",ee.state.size==="medium"?"sm:w-6 sm:h-6":"sm:w-4 sm:h-4",ee.state.isDisabled?"[&_path:nth-of-type(2)]:fill-color-icon-disabled [&_path:nth-of-type(1)]:fill-color-bg-3 cursor-not-allowed":"[&_path:nth-of-type(1)]:fill-color-icon-inverse [&_path:nth-of-type(2)]:fill-color-none-hover"))},null,8,["class"]),createVNode$1(le,{"data-tag":"icon-halfselect",class:normalizeClass(ee.m("w-5 h-5 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all [&_path:nth-of-type(2)]:fill-color-icon-inverse",ee.indeterminate?"opacity-100 scale-100 z-10":"opacity-0 scale-0 z-0",ee.state.isDisabled?"[&_path:nth-of-type(1)]:fill-color-brand-disabled cursor-not-allowed":"[&_path:nth-of-type(1)]:fill-color-brand [&_path:nth-of-type(1)]:shadow-xsm",ee.state.size==="medium"?"sm:w-6 sm:h-6":"sm:w-4 sm:h-4"))},null,8,["class"]),createVNode$1(ue,{"data-tag":"icon-checked-sur",class:normalizeClass(ee.m("w-5 h-5",ee.state.size==="medium"?"sm:w-6 sm:h-6":"sm:w-4 sm:h-4","absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all [&_path:nth-of-type(2)]:fill-color-icon-inverse",ee.state.isChecked&&!ee.indeterminate?"opacity-100 scale-100 z-10":"opacity-0 scale-0 z-0",ee.state.isDisabled?"[&_path:nth-of-type(1)]:fill-color-brand-disabled cursor-not-allowed":"[&_path:nth-of-type(1)]:fill-color-brand [&_path:nth-of-type(2)]:shadow-xsm"))},null,8,["class"])]),ee.trueLabel||ee.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"absolute left-0 right-0 top-0 bottom-0 w-0 h-0 -z-10 opacity-0",type:"checkbox","aria-hidden":ee.indeterminate?"true":"false",name:ee.name,disabled:ee.state.inputDisabled,"true-value":ee.trueLabel,"false-value":ee.falseLabel,"onUpdate:modelValue":te[0]||(te[0]=function(ce){return ee.state.model=ce}),onChange:te[1]||(te[1]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[2]||(te[2]=function(ce){return ee.state.focus=!0}),onBlur:te[3]||(te[3]=function(ce){return ee.state.focus=!1}),onClick:te[4]||(te[4]=withModifiers(function(){},["stop"]))},null,40,_hoisted_4$c)),[[vModelCheckbox,ee.state.model]]):withDirectives((openBlock(),createElementBlock("input",{key:1,class:"absolute left-0 right-0 top-0 bottom-0 w-0 h-0 -z-10 opacity-0",type:"checkbox","aria-hidden":ee.indeterminate?"true":"false",disabled:ee.state.inputDisabled,value:ee.label,name:ee.name,"onUpdate:modelValue":te[5]||(te[5]=function(ce){return ee.state.model=ce}),onChange:te[6]||(te[6]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[7]||(te[7]=function(ce){return ee.state.focus=!0}),onBlur:te[8]||(te[8]=function(ce){return ee.state.focus=!1}),onClick:te[9]||(te[9]=withModifiers(function(){},["stop"]))},null,40,_hoisted_5$a)),[[vModelCheckbox,ee.state.model]])],10,_hoisted_2$j),ee.slots.default&&ee.slots.default()||ee.text||ee.label?(openBlock(),createElementBlock("span",{key:0,ref:"label",class:normalizeClass(ee.m("py-0 pl-0 sm:pl-2 mr-5 flex-auto leading-7 sm:leading-none",ee.state.isDisabled?"cursor-not-allowed text-color-text-secondary":"text-color-text-primary",ee.state.isDisplayOnly||ee.state.isGroupDisplayOnly?"p-0 sm:p-0 m-0 text-color-text-primary cursor-default":""))},[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.text||ee.label),1)]})],2)):(openBlock(),createElementBlock(Fragment,{key:1},[ee.state.isDisplayOnly?(openBlock(),createElementBlock("span",_hoisted_6$9,toDisplayString(ee.state.displayLabel),1)):createCommentVNode("v-if",!0)],64))],16,_hoisted_1$n)}var mobileFirst$5=_export_sfc$o(_sfc_main$z,[["render",_sfc_render$p]]);function _extends$g(){return _extends$g=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$g.apply(this,arguments)}var template$d=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$c:(ne||te)==="mobile"?mobile$5:(ne||te)==="mobile-first"?mobileFirst$5:pc$c},$constants$b={FORM_ITEM:"FormItem",FORM_CHANGE:"form.change",CHECKBOX:$prefix+"Checkbox",CHECKBOX_GROUP:"CheckboxGroup"},checkboxProps=_extends$g({},$props,{_constants:{type:Object,default:function(){return $constants$b}},modelValue:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean],default:""},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:{type:String,default:""},border:Boolean,size:String,text:String,customClass:[String,Object,Array],validateEvent:{type:Boolean,default:!0},events:{type:Object,default:function(){return{}}},displayOnly:{type:Boolean,default:!1},iconPosition:String,shape:{type:String,default:""},tabindex:{type:String,default:"0"}}),Checkbox=defineComponent({name:$prefix+"Checkbox",props:checkboxProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$d})}}),version$g="3.16.0";Checkbox.model={prop:"modelValue",event:"update:modelValue"};Checkbox.install=function(ee){ee.component(Checkbox.name,Checkbox)};Checkbox.version=version$g;const DragClass="is__drag";let timer;const emitZoom=({params:ee,parent:te,emit:ae,event:ne})=>{let{$listeners:ie,events:oe={}}=te;ie.zoom?ae("zoom",ee,ne):oe.zoom&&oe.zoom.call(te,ee,ne)},MsgQueue=[],computedIsMsg=()=>ee=>ee.type==="message",computedBoxStyle=({props:ee,isMobileFirstMode:te})=>()=>{if(te)return{};let ae="",ne="";return ee.width&&(ae=isNaN(ee.width)?ee.width:`${ee.width}px`),ee.height&&(ne=isNaN(ee.height)?ee.height:`${ee.height}px`),{width:ae,height:ne}},watchValue=ee=>te=>te?ee.open():ee.close("hide"),watchVisible=({api:ee,props:te})=>ae=>{te.lockScroll&&(ae?ee.showScrollbar():ee.hideScrollbar())},created$2=({api:ee,props:te,state:ae})=>()=>{te.modelValue&&ee.open(),ae.modalZindex=te.zIndex||popup_manager_default.nextZIndex()},mounted$1=({api:ee,parent:te,props:ae,isMobileFirstMode:ne,state:ie})=>()=>{if(ne)on(window,"resize",ee.resetDragStyle);else{let oe=ee.getBox();Object.assign(oe.style,{width:ae.width?isNaN(ae.width)?ae.width:`${ae.width}px`:null,height:ae.height?isNaN(ae.height)?ae.height:`${ae.height}px`:null}),ae.lockScroll&&ie.visible&&ee.showScrollbar()}ae.escClosable&&on(document,"keydown",ee.handleGlobalKeydownEvent),on(window,"hashchange",ee.handleHashChange),document.body.appendChild(te.$el)},beforeUnmouted=({api:ee,parent:te,isMobileFirstMode:ae})=>()=>{ae&&off(window,"resize",ee.resetDragStyle),off(document,"keydown",ee.handleGlobalKeydownEvent),off(window,"hashchange",ee.handleHashChange),ee.removeMsgQueue(),ee.hideScrollbar(),te.$el.parentNode&&te.$el.parentNode.removeChild(te.$el)},selfClickEvent=({api:ee,parent:te,props:ae})=>ne=>{ae.maskClosable&&ne.target===te.$el&&ee.close("mask")},mouseEnterEvent=()=>()=>{clearTimeout(timer)},mouseLeaveEvent=({api:ee,props:te})=>()=>{ee.addMsgQueue(),timer=window.setTimeout(()=>{ee.close("close")},parseFloat(te.duration))},updateZindex=({state:ee,props:te})=>()=>{ee.modalZindex=te.zIndex||popup_manager_default.nextZIndex()},handleEvent=({api:ee,emit:te,parent:ae,props:ne,isMobileFirstMode:ie})=>(oe,se,le)=>{if(~["close","confirm","cancel"].indexOf(oe)&&typeof ne.beforeClose=="function"&&ne.beforeClose(oe)===!1)return;const{events:ue={}}=ae,ce={type:oe,$modal:ae};ie&&oe==="confirm"&&(ce.options=le),te(oe,ce,se),ue[oe]&&ue[oe].call(ae,ce),ee.close(oe)},closeEvent=ee=>te=>{ee.handleEvent("close",te)},confirmEvent=({api:ee,state:te})=>ae=>{ee.handleEvent("confirm",ae,te.options)},cancelEvent=ee=>te=>{ee.handleEvent("cancel",te)},open=({api:ee,emit:te,nextTick:ae,parent:ne,props:ie,state:oe,isMobileFirstMode:se})=>()=>{let{$listeners:le,events:ue={}}=ne;if(!oe.visible){let ce={type:"show",$modal:ne};oe.visible=!0,oe.contentVisible=!1,ee.updateZindex(),ue.show||(te("update:modelValue",!0),te("show",ce)),setTimeout(()=>{oe.contentVisible=!0,!le.show&&ue.show&&ae(()=>{ue.show.call(ne,ce)})},10),oe.isMsg?(ee.addMsgQueue(),timer=window.setTimeout(()=>{ee.close(ce.type)},parseFloat(ie.duration))):ae(()=>{if(!se){let de=ee.getBox();const he=getViewportWindow();let fe=he.document.documentElement.clientWidth||he.document.body.clientWidth,pe=he.document.documentElement.clientHeight||he.document.body.clientHeight,ve=isNaN(ie.width)?ie.width:`${ie.width}px`;ve?de.style.left="calc((100vw - "+ve+") / 2)":de.style.left=`${fe/2-de.offsetWidth/2}px`,de.offsetHeight+de.offsetTop+ie.marginSize>pe&&(de.style.top=`${ie.marginSize}px`)}ie.fullscreen&&ae(ee.maximize)})}},addMsgQueue=({api:ee,parent:te})=>()=>{~MsgQueue.indexOf(te)||MsgQueue.push(te),ee.updateStyle()},removeMsgQueue=({api:ee,parent:te})=>()=>{const ae=MsgQueue.indexOf(te);~ae&&MsgQueue.splice(ae,1),ee.updateStyle()},updateStyle$1=({nextTick:ee,props:te})=>()=>{ee(()=>{let ae=0,ne=te.top;MsgQueue.forEach(ie=>{ae+=parseFloat(ne),ie.state.modalTop=ae;const oe=ie.$refs.modalBox;ae+=oe.clientHeight,ne=15})})},close=({emit:ee,parent:te,props:ae,state:ne})=>ie=>{if(!~["close","confirm","cancel"].indexOf(ie)&&typeof ae.beforeClose=="function"&&ae.beforeClose(ie)===!1)return;let{events:oe={}}=te;ne.emitter.emit("boxclose",ae.isFormReset),ne.visible&&(ne.contentVisible=!1,setTimeout(()=>{ne.visible=!1;let se={type:ie,$modal:te};oe.hide?oe.hide.call(te,se):(ee("update:modelValue",!1),ee("hide",se))},200))},handleGlobalKeydownEvent=ee=>te=>{te.keyCode===KEY_CODE.Escape&&ee.close("esc")},handleHashChange=ee=>()=>{ee.close("hide")},getBox=({vm:ee})=>()=>ee.$refs.modalBox,maximize=({api:ee,nextTick:te,props:ae,state:ne,isMobileFirstMode:ie})=>()=>te().then(()=>{if(!ne.zoomLocat){let oe=ae.marginSize,se=ee.getBox(),{visibleHeight:le,visibleWidth:ue}=getDomNode();ne.zoomLocat={top:se.offsetTop,left:se.offsetLeft,width:se.clientWidth,height:se.clientHeight},ie||Object.assign(se.style,{width:`${ue-oe*2}px`,height:`${le-oe*2}px`,top:`${oe}px`,left:`${oe}px`}),ne.emitter.emit("boxdrag")}}),revert=({api:ee,nextTick:te,state:ae,isMobileFirstMode:ne})=>()=>te().then(()=>{let ie=ae.zoomLocat;if(ie){let oe=ee.getBox();ae.zoomLocat=null,ne||Object.assign(oe.style,{width:`${ie.width}px`,height:`${ie.height}px`,top:`${ie.top}px`,left:`${ie.left}px`}),ae.emitter.emit("boxdrag")}}),toggleZoomEvent=({api:ee,emit:te,parent:ae,state:ne,isMobileFirstMode:ie})=>oe=>{let se={type:ne.zoomLocat?"min":"max",$modal:ae};const le=ne.zoomLocat?ee.revert:ee.maximize;return ie&&ee.resetDragStyle(),le().then(()=>{emitZoom({params:se,parent:ae,emit:te,event:oe})})};function getEventTargetNode(ee,te,ae){let ne,ie=ee.target;for(;ie&&ie.nodeType&&ie!==document;){if(ae&&hasClass(ie,ae))ne=ie;else if(ie===te)return{flag:ae?!!ne:!0,container:te,targetElem:ne};ie=ie.parentNode}return{flag:!1}}const mousedownEvent=({api:ee,nextTick:te,props:ae,state:ne,emit:ie,isMobileFirstMode:oe})=>se=>{let le=ee.getBox();if(!ne.zoomLocat&&se.button===0&&!getEventTargetNode(se,le,"trigger__btn").flag){se.preventDefault();let ue=document.onmousemove,ce=document.onmouseup,de=se.clientX-le.offsetLeft,he=se.clientY-le.offsetTop,{visibleHeight:fe,visibleWidth:pe}=getDomNode();document.onmousemove=ve=>{ve.preventDefault(),ne.emitter.emit("boxdrag");let ge=le.offsetWidth,me=le.offsetHeight,ye=ve.clientX-de,_e=ve.clientY-he,be,xe,$e,Se;oe?(be=ge/2+ae.marginSize,xe=pe-ge/2-ae.marginSize,$e=me/2+ae.marginSize,Se=fe-me/2-ae.marginSize):(be=ae.marginSize,xe=pe-ge-ae.marginSize,$e=ae.marginSize,Se=fe-me-ae.marginSize),ye<be&&(ye=be),ye>xe&&(ye=xe),_e<$e&&(_e=$e),_e>Se&&(_e=Se),le.style.left=`${ye}px`,le.style.top=`${_e}px`,addClass(le,DragClass),ie("custom-mousemove",ve)},document.onmouseup=ve=>{document.onmousemove=ue,document.onmouseup=ce,te(()=>{removeClass(le,DragClass)}),ie("custom-mouseup",ve)},ie("custom-mousedown",se)}},computeLeft=({width:ee,offsetWidth:te,x:ae,minWidth:ne,temp:ie,offsetLeft:oe,marginSize:se,left:le})=>(ee=te-ae,ee=ee<ne?ne:ee,ie=oe+te-se,ee=ee>ie?ie:ee,le=oe+te-ee,{width:ee,left:le}),computeTop=({height:ee,offsetHeight:te,y:ae,minHeight:ne,temp:ie,offsetTop:oe,marginSize:se,top:le})=>(ee=te-ae,ee=ee<ne?ne:ee,ie=oe+te-se,ee=ee>ie?ie:ee,le=oe+te-ee,{height:ee,top:le}),computeRight=({width:ee,offsetWidth:te,x:ae,minWidth:ne,temp:ie,visibleWidth:oe,offsetLeft:se,marginSize:le})=>(ee=te+ae,ee=ee<ne?ne:ee,ie=oe-se-le,ee=ee>ie?ie:ee,{width:ee}),computeBottom=({height:ee,offsetHeight:te,y:ae,minHeight:ne,temp:ie,visibleHeight:oe,offsetTop:se,marginSize:le})=>(ee=te+ae,ee=ee<ne?ne:ee,ie=oe-se-le,ee=ee>ie?ie:ee,{height:ee}),updateModalBox=({ret:{width:ee,left:te,height:ae,top:ne},modalBoxElem:ie})=>{ee&&(ie.style.width=`${ee}px`),te&&(ie.style.left=`${te}px`),ae&&(ie.style.height=`${ae}px`),ne&&(ie.style.top=`${ne}px`)},updateWl=({width:ee,offsetWidth:te,x:ae,minWidth:ne,temp:ie,offsetLeft:oe,marginSize:se,left:le,modalBoxElem:ue})=>{updateModalBox({ret:computeLeft({width:ee,offsetWidth:te,x:ae,minWidth:ne,temp:ie,offsetLeft:oe,marginSize:se,left:le}),modalBoxElem:ue})},updateWr=({width:ee,offsetWidth:te,x:ae,minWidth:ne,temp:ie,visibleWidth:oe,offsetLeft:se,marginSize:le,modalBoxElem:ue})=>{updateModalBox({ret:computeRight({width:ee,offsetWidth:te,x:ae,minWidth:ne,temp:ie,visibleWidth:oe,offsetLeft:se,marginSize:le}),modalBoxElem:ue})},updateSt=({height:ee,offsetHeight:te,y:ae,minHeight:ne,temp:ie,offsetTop:oe,marginSize:se,top:le,modalBoxElem:ue})=>{updateModalBox({ret:computeTop({height:ee,offsetHeight:te,y:ae,minHeight:ne,temp:ie,offsetTop:oe,marginSize:se,top:le}),modalBoxElem:ue})},updateSb=({height:ee,offsetHeight:te,y:ae,minHeight:ne,temp:ie,visibleHeight:oe,offsetTop:se,marginSize:le,modalBoxElem:ue})=>{updateModalBox({ret:computeBottom({height:ee,offsetHeight:te,y:ae,minHeight:ne,temp:ie,visibleHeight:oe,offsetTop:se,marginSize:le}),modalBoxElem:ue})},setModalBoxStyle=({params:ee,delta:{x:te,y:ae}})=>{const{visibleHeight:ne,visibleWidth:ie,modalBoxElem:oe,type:se,props:le}=ee,{offsetWidth:ue,offsetHeight:ce,offsetLeft:de,offsetTop:he}=oe,{minWidth:fe,minHeight:pe,marginSize:ve}=le,[ge,me,ye,_e,be]=[0,0,0,0,0];switch(se){case"wl":updateWl({offsetWidth:ue,width:ge,minWidth:fe,x:te,offsetLeft:de,temp:ye,marginSize:ve,left:me,modalBoxElem:oe});break;case"wr":updateWr({width:ge,offsetWidth:ue,x:te,minWidth:fe,temp:ye,visibleWidth:ie,offsetLeft:de,marginSize:ve,modalBoxElem:oe});break;case"st":updateSt({height:_e,offsetHeight:ce,y:ae,minHeight:pe,temp:ye,offsetTop:he,marginSize:ve,top:be,modalBoxElem:oe});break;case"sb":updateSb({height:_e,offsetHeight:ce,y:ae,minHeight:pe,temp:ye,visibleHeight:ne,offsetTop:he,marginSize:ve,modalBoxElem:oe});break;case"swst":updateWl({width:ge,offsetWidth:ue,x:te,minWidth:fe,temp:ye,offsetLeft:de,marginSize:ve,left:me,modalBoxElem:oe}),updateSt({height:_e,offsetHeight:ce,y:ae,minHeight:pe,temp:ye,offsetTop:he,marginSize:ve,top:be,modalBoxElem:oe});break;case"sest":updateWr({offsetWidth:ue,width:ge,x:te,temp:ye,minWidth:fe,marginSize:ve,visibleWidth:ie,offsetLeft:de,modalBoxElem:oe}),updateSt({height:_e,offsetHeight:ce,y:ae,minHeight:pe,temp:ye,offsetTop:he,marginSize:ve,top:be,modalBoxElem:oe});break;case"swlb":updateWl({width:ge,offsetWidth:ue,minWidth:fe,x:te,temp:ye,marginSize:ve,offsetLeft:de,modalBoxElem:oe,left:me}),updateSb({height:_e,offsetHeight:ce,y:ae,minHeight:pe,temp:ye,visibleHeight:ne,offsetTop:he,marginSize:ve,modalBoxElem:oe});break;case"selb":updateWr({width:ge,offsetWidth:ue,minWidth:fe,x:te,visibleWidth:ie,offsetLeft:de,marginSize:ve,temp:ye,modalBoxElem:oe}),updateSb({height:_e,offsetHeight:ce,y:ae,minHeight:pe,temp:ye,visibleHeight:ne,offsetTop:he,marginSize:ve,modalBoxElem:oe});break}},updateDelta=({event:ee,delta:te,state:ae})=>{ae.prevEvent&&(te.x+=ee.screenX-ae.prevEvent.screenX,te.y+=ee.screenY-ae.prevEvent.screenY),ae.prevEvent=ee};function _findFormComponent(ee,te){const ae=ee.$children;ae&&ae.length===0||ae.forEach(ne=>{const ie=ne.$options.componentName;/^Form$/.test(ie)&&te.push(ne),_findFormComponent(ne,te)})}function findFormComponent(ee){const te=[];return _findFormComponent(ee,te),te}const updateFormTip=ee=>{const te=findFormComponent(ee);te.length>0&&te.forEach(ae=>{ae.updateTip()})},dragEvent=({api:ee,emit:te,parent:ae,props:ne,state:ie})=>oe=>{var se;oe.preventDefault();const le={x:0,y:0},{visibleHeight:ue,visibleWidth:ce}=getDomNode(),de=ee.getBox(),he=document.onmousemove,fe=document.onmouseup,pe={props:ne,offsetTop:de.offsetTop,offsetLeft:de.offsetLeft,visibleWidth:ce,modalBoxElem:de,visibleHeight:ue,disX:oe.clientX,disY:oe.clientY,type:(se=oe.target)==null?void 0:se.dataset.type};document.onmousemove=ve=>{updateFormTip(ae),updateDelta({event:ve,delta:le,state:ie}),setModalBoxStyle({params:pe,delta:le}),le.x=le.y=0,addClass(de,DragClass),emitZoom({params:{type:"resize",$modal:ae},parent:ae,emit:te,event:ve})},document.onmouseup=()=>{ie.zoomLocat=null,document.onmousemove=he,document.onmouseup=fe,setTimeout(()=>{removeClass(de,DragClass),ie.prevEvent=null},50)}},resetDragStyle=ee=>()=>{const te=ee.getBox();te.style.left="",te.style.top=""},showScrollbar=ee=>()=>{addClass(document.body,ee)},hideScrollbar=ee=>()=>{removeClass(document.body,ee)},api$d=["state","dragEvent","mousedownEvent","toggleZoomEvent","revert","maximize","getBox","close","updateStyle","selfClickEvent","mouseEnterEvent","mouseLeaveEvent","updateZindex","closeEvent","confirmEvent","cancelEvent","open","beforeUnmouted","resetDragStyle"],renderless$d=(ee,{computed:te,onMounted:ae,onBeforeUnmount:ne,reactive:ie,watch:oe},{vm:se,emit:le,emitter:ue,nextTick:ce,broadcast:de,vm:he,constants:fe,mode:pe},{isMobileFirstMode:ve})=>{const ge={},me=fe.SCROLL_LOCK_CLASS(pe),ye=ie({emitter:ue(),visible:!1,contentVisible:!1,cumsumZindex:0,modalTop:0,modalZindex:0,zoomLocat:null,isMsg:te(()=>ge.computedIsMsg(ee)),prevEvent:null,options:[],theme:ee.tiny_theme,boxStyle:te(()=>ge.computedBoxStyle())});return Object.assign(ge,{state:ye,broadcast:de,computedIsMsg:computedIsMsg(),updateStyle:updateStyle$1({nextTick:ce,props:ee}),getBox:getBox({vm:se}),watchValue:watchValue(ge),created:created$2({api:ge,props:ee,state:ye}),mounted:mounted$1({api:ge,parent:he,props:ee,isMobileFirstMode:ve,state:ye}),beforeUnmouted:beforeUnmouted({api:ge,parent:he,isMobileFirstMode:ve}),selfClickEvent:selfClickEvent({api:ge,parent:he,props:ee}),mouseEnterEvent:mouseEnterEvent(),mouseLeaveEvent:mouseLeaveEvent({api:ge,props:ee}),updateZindex:updateZindex({state:ye,props:ee}),handleEvent:handleEvent({api:ge,emit:le,parent:he,props:ee,isMobileFirstMode:ve}),closeEvent:closeEvent(ge),confirmEvent:confirmEvent({api:ge,state:ye}),cancelEvent:cancelEvent(ge),open:open({api:ge,emit:le,nextTick:ce,parent:he,props:ee,state:ye,isMobileFirstMode:ve}),addMsgQueue:addMsgQueue({api:ge,parent:he}),removeMsgQueue:removeMsgQueue({api:ge,parent:he}),close:close({emit:le,parent:he,props:ee,state:ye}),handleGlobalKeydownEvent:handleGlobalKeydownEvent(ge),handleHashChange:handleHashChange(ge),maximize:maximize({api:ge,nextTick:ce,props:ee,state:ye,isMobileFirstMode:ve}),revert:revert({api:ge,nextTick:ce,state:ye,isMobileFirstMode:ve}),toggleZoomEvent:toggleZoomEvent({api:ge,emit:le,parent:he,state:ye,isMobileFirstMode:ve}),mousedownEvent:mousedownEvent({api:ge,nextTick:ce,props:ee,state:ye,emit:le,isMobileFirstMode:ve}),dragEvent:dragEvent({api:ge,emit:le,parent:he,props:ee,state:ye}),resetDragStyle:resetDragStyle(ge),computedBoxStyle:computedBoxStyle({props:ee,isMobileFirstMode:ve}),watchVisible:watchVisible({api:ge,props:ee}),hideScrollbar:hideScrollbar(me),showScrollbar:showScrollbar(me)}),oe(()=>ee.modelValue,ge.watchValue),oe(()=>ye.visible,ge.watchVisible),ge.created(),ae(ge.mounted),ne(ge.beforeUnmouted),ge},index$k="";function _extends$f(){return _extends$f=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$f.apply(this,arguments)}var _sfc_main$y=defineComponent({props:[].concat(props,["_constants","animat","beforeClose","duration","escClosable","events","fullscreen","height","id","isFormReset","lockScroll","lockView","marginSize","mask","maskClosable","message","minHeight","minWidth","modelValue","resize","showFooter","showHeader","status","title","top","type","vSize","width","zIndex","showClose","messageClosable","confirmContent","cancelContent","confirmBtnProps","cancelBtnProps","footerDragable","tiny_theme","slots"]),emits:["update:modelValue","show","close","confirm","cancel","hide","custom-mousedown","custom-mouseup","custom-mousemove"],provide:function(){return{dialog:this}},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$d,api:api$d})},render:function(){var te,ae,ne,ie=this,oe=this.$props,se=oe===void 0?{}:oe,le=this.state,ue=this.scopedSlots,ce=this.vSize,de=this.type,he=this.resize,fe=this.animat,pe=this.status,ve=this.showHeader,ge=this.messageClosable,me=this.showFooter,ye=this.title,_e=this.message,be=this.lockScroll,xe=this.lockView,$e=this.mask,Se=this._constants,we=this.t,Ae=this.confirmContent,Te=this.cancelContent,De=this.confirmBtnProps,Me=this.cancelBtnProps,Ie=le.zoomLocat,Ce=le.visible,Ee=le.contentVisible,Re=le.modalTop,ke=le.isMsg,Be=se.slots,Ne=Be===void 0?{}:Be,He=ue.default||Ne.default,qe=ue.footer||Ne.footer,Oe={$modal:this,beforeClose:this.beforeClose,confirm:this.confirmEvent,cancel:this.cancelEvent},ze=Object.prototype.toString.call(De)==="[object Object]"?De:{},Ve=Object.prototype.toString.call(Me)==="[object Object]"?Me:{},Ge=(te=Ae??De.text)!=null?te:we("ui.button.confirm"),We=(ae=Te??Ve.text)!=null?ae:we("ui.button.cancel"),Ue={QUESTION:index$V(),INFO:index$T(),SUCCESS:index$H(),WARNING:index$E(),ERROR:index$13(),LOADING:index$S()};return h("div",{class:["tiny-modal","tiny-modal__wrapper","type__"+de,(ne={},ne["size__"+ce]=ce,ne["status__"+pe]=typeof pe=="string",ne.is__animat=fe,ne.lock__scroll=be,ne.lock__view=xe,ne.is__mask=$e,ne.is__maximize=Ie,ne.is__visible=Ee,ne.active=Ce,ne)],style:{zIndex:le.modalZindex,top:Re?Re+"px":null},on:{click:this.selfClickEvent}},[h("div",{class:"tiny-modal__box",style:le.boxStyle,ref:"modalBox",on:_extends$f({},de==="message"?{mouseenter:this.mouseEnterEvent,mouseleave:this.mouseLeaveEvent}:{})},[ve?h("div",{class:["tiny-modal__header",pe&&le.theme==="saas"?"tiny-modal__header-icon":""],on:{mousedown:this.mousedownEvent}},[pe&&le.theme==="saas"?h("div",{class:"tiny-modal__status-wrapper"},[typeof pe=="string"?h(Ue[pe.toUpperCase()],{class:[Se.STATUS_MAPPING_CLASSS[pe.toUpperCase()]]}):h(pe,{class:["tiny-modal__status-icon"]})]):null,h("span",{class:"tiny-modal__title"},[typeof pe=="string"?h(Ue[pe.toUpperCase()],{class:[Se.STATUS_MAPPING_CLASSS[pe.toUpperCase()]],style:"display: inline-block; margin-right: 5px;"}):h(pe,{class:["tiny-modal__status-icon"],style:"display: inline-block; margin-right: 5px;"}),h("span",ye||we("ui.alert.title"))]),he?h(Ie?index$Q():index$Y(),{class:["tiny-modal__zoom-btn","trigger__btn"],on:{click:this.toggleZoomEvent}}):null,h(index$17(),{class:["tiny-modal__close-btn","trigger__btn"],on:{click:this.closeEvent}})]):null,h("div",{class:["tiny-modal__body",de==="message"?"is-message":""]},[pe&&le.theme!=="saas"?h("div",{class:"tiny-modal__status-wrapper"},[typeof pe=="string"&&de==="message"?h(Ue[pe.toUpperCase()],{class:[Se.STATUS_MAPPING_CLASSS[pe.toUpperCase()]]}):h(pe,{class:["tiny-modal__status-icon"]})]):null,h("div",{class:"tiny-modal__content"},He?He.call(this,{$modal:this},h):[h("div",{class:"tiny-modal__text"},typeof _e=="function"?_e.call(this,h):[_e])]),ge?h("div",{class:"tiny-modal__close-wrapper"},h(index$17(),{class:["tiny-modal__close-btn"],on:{click:this.closeEvent}})):null]),me?h("div",{class:["tiny-modal__footer",this.footerDragable?"tiny-modal__footer-move":""],on:{mousedown:this.footerDragable?this.mousedownEvent:function(){}}},qe?qe.call(this,Oe,h):le.theme==="saas"?[de==="confirm"?h(Button,{on:{click:this.cancelEvent}},Te||we("ui.button.cancel")):null,h(Button,{props:{type:"primary"},on:{click:this.confirmEvent}},Ae||we("ui.button.confirm"))]:[h(Button,{props:_extends$f({type:"primary"},ze),on:{click:this.confirmEvent}},Ge),de==="confirm"?h(Button,{on:{click:this.cancelEvent},props:_extends$f({},Ve)},We):null]):null,!ke&&he?h("span",{class:"tiny-modal__resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(function(Ye){return h("span",{class:Ye+"-resize",attrs:{"data-type":Ye},on:{mousedown:ie.dragEvent}})})):null])])}});const index$j="";var _sfc_main$x=defineComponent({props:[].concat(props,["_constants","animat","beforeClose","duration","escClosable","events","fullscreen","height","id","isFormReset","lockScroll","lockView","marginSize","mask","maskClosable","message","minHeight","minWidth","modelValue","resize","showFooter","showHeader","title","top","type","vSize","width","zIndex"]),components:{Button},provide:function(){return{dialog:this}},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$d,api:api$d})},render:function(){var te,ae=this,ne=this.state,ie=this.scopedSlots,oe=this.vSize,se=this.type,le=this.resize,ue=this.animat,ce=this.showHeader,de=this.showFooter,he=this.title,fe=this.message,pe=this.lockScroll,ve=this.lockView,ge=this.mask,me=this.t,ye=ne.zoomLocat,_e=ne.visible,be=ne.contentVisible,xe=ne.modalTop,$e=ne.isMsg,Se=ie.default,we=ie.footer;return h("div",{class:["tiny-mobile-modal","tiny-mobile-modal__wrapper","type__"+se,(te={},te["size__"+oe]=oe,te.is__animat=ue,te.lock__scroll=pe,te.lock__view=ve,te.is__mask=ge,te.is__maximize=ye,te.is__visible=be,te.active=_e,te)],style:{zIndex:this.state.modalZindex,top:xe?xe+"px":null},on:{click:this.selfClickEvent}},[h("div",{class:"tiny-mobile-modal__box",ref:"modalBox"},[ce?h("div",{class:"tiny-mobile-modal__header",on:{mousedown:this.mousedownEvent}},[h("span",{class:"tiny-mobile-modal__title"},he||me("ui.alert.title")),le?h(ye?index$Q():index$Y(),{class:["tiny-mobile-modal__zoom-btn","trigger__btn"],on:{click:this.toggleZoomEvent}}):null]):null,h("div",{class:"tiny-mobile-modal__body"},[$e?h("div",{class:"tiny-mobile-modal__status-wrapper"}):null,h("div",{class:"tiny-mobile-modal__content"},Se?Se.call(this,{$modal:this},h):[h("div",{class:"tiny-mobile-modal__text"},typeof fe=="function"?fe.call(this,h):fe)])]),de?h("div",{class:"tiny-mobile-modal__footer"},we?we.call(this,{$modal:this,beforeClose:this.beforeClose},h):[se==="confirm"?h(Button,{props:{class:["tiny-mobile-button","tiny-mobile-button--default"]},on:{click:this.cancelEvent}},me("ui.button.cancel")):null,h(Button,{props:{type:"primary",class:["tiny-mobile-button",se!=="confirm"?"tiny-mobile-button__single":""]},on:{click:this.confirmEvent}},me("ui.button.confirm"))]):null,!$e&&le?h("span",{class:"tiny-mobile-modal__resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(function(Ae){return h("span",{class:Ae+"-resize",attrs:{"data-type":Ae},on:{mousedown:ae.dragEvent}})})):null])])}});const computedFormItemSize$1=ee=>()=>(ee.formItem||{}).formItemSize,computedCheckboxGroupSize=({props:ee,formItemSize:te})=>()=>ee.size||te.value,api$c=["state"],renderless$c=(ee,{computed:te,reactive:ae,watch:ne,provide:ie},{dispatch:oe,constants:se})=>{const le={computedFormItemSize:computedFormItemSize$1(ee)},ue=te(()=>le.computedFormItemSize()),ce=ae({checkboxGroupSize:te(()=>le.computedCheckboxGroupSize())});return Object.assign(le,{state:ce,computedCheckboxGroupSize:computedCheckboxGroupSize({props:ee,formItemSize:ue})}),ne(()=>ee.modelValue,de=>oe(se.FORM_ITEM,se.FORM_CHANGE,[de])),ie("size",ee.size),ie("vertical",ee.vertical),ie("iconPosition",ee.iconPosition),ie("shape",ee.shape),le},handleChange$1=({state:ee,props:te,emit:ae,nextTick:ne,dispatch:ie,constants:oe})=>se=>{if(ee.isLimitExceeded)return;let le;se.target.checked?le=te.trueLabel===void 0?!0:te.trueLabel:le=te.falseLabel===void 0?!1:te.falseLabel,ae("change",le,se),ne(()=>{ee.checkboxGroup&&ie(oe.CHECKBOX_GROUP,"change",[ee.checkboxGroup.modelValue])})},computedGetModelGet=({state:ee,props:te})=>()=>ee.checkboxGroup?ee.store:te.modelValue!==void 0?te.modelValue:ee.selfModel,computedGetModelSet=({state:ee,props:te,emit:ae,dispatch:ne,constants:ie})=>oe=>{ee.checkboxGroup?(ee.isLimitExceeded=!1,ee.checkboxGroup.min!==void 0&&oe.length<ee.checkboxGroup.min&&(ee.isLimitExceeded=!0),ee.checkboxGroup.max!==void 0&&oe.length>ee.checkboxGroup.max&&(ee.isLimitExceeded=!0),ee.isLimitExceeded===!1&&ne(ie.CHECKBOX_GROUP,"update:modelValue",[oe])):te.modelValue!==void 0?ae("update:modelValue",oe):ee.selfModel=oe},computedCheckboxGroup=({parent:ee,constants:te})=>()=>{let ae=ee.$parent;for(;ae;)if(ae.$options.componentName!==te.CHECKBOX_GROUP)ae=ae.$parent;else return ae;return!1},computedIsDisabled=({state:ee,props:te})=>()=>ee.checkboxGroup?ee.checkboxGroup.disabled||te.disabled||ee.isLimitDisabled:te.disabled,computedActiveStyle=ee=>()=>({backgroundColor:ee.checkboxGroup.fill||"",borderColor:ee.checkboxGroup.fill||"",color:ee.checkboxGroup.textColor||"","box-shadow":"-1px 0 0 0 "+ee.checkboxGroup.fill}),computedFormItemSize=ee=>()=>(ee.formItem||{}).formItemSize,computedSize=({state:ee,formItemSize:te})=>()=>ee.checkboxGroup&&ee.checkboxGroup.state.checkboxGroupSize||te.value,toggleEvent$1=({parent:ee,props:te,type:ae})=>{const ne=ee.$el.querySelector("input");Object.keys(te.events).forEach(ie=>{ne[ae+"EventListener"](ie,te.events[ie])})},api$b=["state","handleChange"],initState$2=({reactive:ee,computed:te,api:ae})=>ee({focus:!1,selfModel:!1,isLimitExceeded:!1,model:te({get:()=>ae.computedGetModelGet(),set:ie=>ae.computedGetModelSet(ie)}),size:te(()=>ae.computedSize()),store:te(()=>ae.computedStore()),isChecked:te(()=>ae.computedIsChecked()),isDisabled:te(()=>ae.computedIsDisabled()),activeStyle:te(()=>ae.computedActiveStyle()),checkboxGroup:te(()=>ae.computedCheckboxGroup()),isLimitDisabled:te(()=>ae.computedIsLimitDisabled()),showText:te(()=>ae.computedShowText()),isShowText:te(()=>ae.computedIsShowText())}),initApi$2=({api:ee,state:te,props:ae,formItemSize:ne,parent:ie,constants:oe,emit:se,nextTick:le,dispatch:ue})=>{Object.assign(ee,{state:te,addToStore:addToStore({state:te,props:ae}),computedStore:computedStore({state:te,props:ae}),computedActiveStyle:computedActiveStyle(te),computedFormItemSize:computedFormItemSize(ae),computedSize:computedSize({state:te,formItemSize:ne}),computedIsChecked:computedIsChecked({state:te,props:ae}),computedIsLimitDisabled:computedIsLimitDisabled(te),computedIsDisabled:computedIsDisabled({state:te,props:ae}),computedGetModelGet:computedGetModelGet({state:te,props:ae}),computedCheckboxGroup:computedCheckboxGroup({parent:ie,constants:oe}),handleChange:handleChange$1({state:te,props:ae,emit:se,nextTick:le,dispatch:ue,constants:oe}),computedGetModelSet:computedGetModelSet({state:te,props:ae,emit:se,dispatch:ue,constants:oe}),computedIsShowText:computedIsShowText({props:ae}),computedShowText:computedShowText({props:ae})})},renderless$b=(ee,{computed:te,onMounted:ae,onBeforeUnmount:ne,reactive:ie},{parent:oe,emit:se,dispatch:le,constants:ue,nextTick:ce})=>{const de={},he=te(()=>de.computedFormItemSize()),fe=initState$2({reactive:ie,computed:te,api:de});return initApi$2({api:de,state:fe,props:ee,formItemSize:he,parent:oe,constants:ue,emit:se,nextTick:ce,dispatch:le}),ne(()=>{toggleEvent$1({parent:oe,props:ee,type:"remove"})}),ae(()=>{toggleEvent$1({parent:oe,props:ee,type:"add"}),ee.checked&&de.addToStore()}),de};function _createForOfIteratorHelperLoose$m(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$m(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$m(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$m(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$m(ee,te)}}function _arrayLikeToArray$m(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$n=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$m(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$w=defineComponent({emits:["change","update:modelValue"],props:[].concat(props,["modelValue","label","text","events","disabled","checked","name","trueLabel","falseLabel","tabindex"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$b,api:api$b})}}),_hoisted_1$m=["aria-checked","aria-disabled"],_hoisted_2$i=["name","tabindex","disabled","true-value","false-value"],_hoisted_3$f=["name","tabindex","disabled","value"];function _sfc_render$o(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("label",{class:normalizeClass(["tiny-checkbox-button",[ee.state.size?"tiny-checkbox-button--"+ee.state.size:"",{"is-disabled":ee.state.isDisabled},{"is-checked":ee.state.isChecked},{"is-focus":ee.state.focus}]]),role:"checkbox","aria-checked":ee.state.isChecked,"aria-disabled":ee.state.isDisabled},[ee.trueLabel||ee.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"tiny-checkbox-button__original",type:"checkbox",name:ee.name,tabindex:ee.tabindex,disabled:ee.state.isDisabled,"true-value":ee.trueLabel,"false-value":ee.falseLabel,"onUpdate:modelValue":te[0]||(te[0]=function(se){return ee.state.model=se}),onChange:te[1]||(te[1]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[2]||(te[2]=function(se){return ee.state.focus=!0}),onBlur:te[3]||(te[3]=function(se){return ee.state.focus=!1})},null,40,_hoisted_2$i)),[[vModelCheckbox,ee.state.model]]):withDirectives((openBlock(),createElementBlock("input",{key:1,class:"tiny-checkbox-button__original",type:"checkbox",name:ee.name,tabindex:ee.tabindex,disabled:ee.state.isDisabled,value:ee.label,"onUpdate:modelValue":te[4]||(te[4]=function(se){return ee.state.model=se}),onChange:te[5]||(te[5]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),onFocus:te[6]||(te[6]=function(se){return ee.state.focus=!0}),onBlur:te[7]||(te[7]=function(se){return ee.state.focus=!1})},null,40,_hoisted_3$f)),[[vModelCheckbox,ee.state.model]]),ee.slots.default||ee.state.isShowText?(openBlock(),createElementBlock("span",{key:2,class:"tiny-checkbox-button__inner",style:normalizeStyle$2(ee.state.isChecked?ee.state.activeStyle:null)},[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.state.showText),1)]})],4)):createCommentVNode("v-if",!0)],10,_hoisted_1$m)}var pc$b=_export_sfc$n(_sfc_main$w,[["render",_sfc_render$o]]);const index$i="";function _extends$e(){return _extends$e=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$e.apply(this,arguments)}var template$c=function(te){var ae;return typeof process=="object"&&((ae={})==null||ae.TINY_MODE),pc$b},$constants$a={CHECKBOX_GROUP:"CheckboxGroup"},CheckboxButton=defineComponent({name:$prefix+"CheckboxButton",props:_extends$e({},$props,{_constants:{type:Object,default:function(){return $constants$a}},modelValue:{},label:{},disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],text:String,events:{type:Object,default:function(){return{}}},tabindex:{type:String,default:"0"}}),setup:function(te,ae){return $setup({props:te,context:ae,template:template$c})}}),version$f="3.16.0";CheckboxButton.model={prop:"modelValue",event:"update:modelValue"};CheckboxButton.install=function(ee){ee.component(CheckboxButton.name,CheckboxButton)};CheckboxButton.version=version$f;const index$h="";function _createForOfIteratorHelperLoose$l(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$l(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$l(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$l(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$l(ee,te)}}function _arrayLikeToArray$l(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$m=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$l(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$v=defineComponent({components:{Checkbox,CheckboxButton},props:[].concat(props,["modelValue","type","options","disabled","min","max","size","fill","textColor","vertical","displayOnly","shape"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$c,api:api$c})}});function _sfc_render$n(ee,te,ae,ne,ie,oe){var se=resolveComponent("checkbox"),le=resolveComponent("checkbox-button");return openBlock(),createElementBlock("div",{class:normalizeClass(["tiny-checkbox-group",ee.vertical?"is-vertical":""]),role:"group","aria-label":"checkbox-group"},[renderSlot(ee.$slots,"default",{},function(){return[ee.type==="checkbox"?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(ee.options,function(ue,ce){return openBlock(),createBlock(se,mergeProps({key:ce},ue),null,16)}),128)):createCommentVNode("v-if",!0),ee.type==="button"?(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(ee.options,function(ue,ce){return openBlock(),createBlock(le,mergeProps({key:ce},ue),null,16)}),128)):createCommentVNode("v-if",!0)]})],2)}var pc$a=_export_sfc$m(_sfc_main$v,[["render",_sfc_render$n]]);const index$g="";function _createForOfIteratorHelperLoose$k(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$k(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$k(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$k(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$k(ee,te)}}function _arrayLikeToArray$k(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$l=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$k(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$u=defineComponent({components:{Checkbox},props:[].concat(props,["modelValue","type","options","disabled","vertical","max","min","iconPosition"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$c,api:api$c})}});function _sfc_render$m(ee,te,ae,ne,ie,oe){var se=resolveComponent("checkbox");return openBlock(),createElementBlock("div",{class:normalizeClass(["tiny-mobile-checkbox-group",ee.vertical?"is-vertical":""]),role:"group","aria-label":"checkbox-group"},[renderSlot(ee.$slots,"default",{},function(){return[ee.type==="checkbox"?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(ee.options,function(le,ue){return openBlock(),createBlock(se,mergeProps({key:ue},le),null,16)}),128)):createCommentVNode("v-if",!0)]})],2)}var mobile$4=_export_sfc$l(_sfc_main$u,[["render",_sfc_render$m]]);function _createForOfIteratorHelperLoose$j(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$j(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$j(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$j(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$j(ee,te)}}function _arrayLikeToArray$j(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$k=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$j(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$t=defineComponent({components:{Checkbox,CheckboxButton},inheritAttrs:!1,props:[].concat(props,["modelValue","type","options","disabled","min","max","size","fill","textColor","vertical","displayOnly"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$c,api:api$c})}});function _sfc_render$l(ee,te,ae,ne,ie,oe){var se=resolveComponent("checkbox"),le=resolveComponent("checkbox-button");return openBlock(),createElementBlock("div",{"data-tag":"tiny-checkbox-group",class:normalizeClass(["inline-flex flex-col",{"sm:flex-row":!ee.vertical}]),role:"group","aria-label":"checkbox-group"},[renderSlot(ee.$slots,"default",{},function(){return[ee.type==="checkbox"?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(ee.options,function(ue,ce){return openBlock(),createBlock(se,mergeProps({key:ce},ue),null,16)}),128)):createCommentVNode("v-if",!0),ee.type==="button"?(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(ee.options,function(ue,ce){return openBlock(),createBlock(le,mergeProps({key:ce},ue),null,16)}),128)):createCommentVNode("v-if",!0)]})],2)}var mobileFirst$4=_export_sfc$k(_sfc_main$t,[["render",_sfc_render$l]]);function _extends$d(){return _extends$d=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$d.apply(this,arguments)}var template$b=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$a:(ne||te)==="mobile"?mobile$4:(ne||te)==="mobile-first"?mobileFirst$4:pc$a},$constants$9={FORM_ITEM:"FormItem",FORM_CHANGE:"form.change"},CheckboxGroup=defineComponent({name:$prefix+"CheckboxGroup",componentName:"CheckboxGroup",emits:["change","update:modelValue"],props:_extends$d({},$props,{_constants:{type:Object,default:function(){return $constants$9}},modelValue:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String,vertical:Boolean,options:{type:Array,default:function(){return[]}},type:{type:String,default:"checkbox"},displayOnly:{type:Boolean,default:!1},iconPosition:String,shape:{type:String,default:""}}),setup:function(te,ae){return $setup({props:te,context:ae,template:template$b})}}),version$e="3.16.0";CheckboxGroup.model={prop:"modelValue",event:"update:modelValue"};CheckboxGroup.install=function(ee){ee.component(CheckboxGroup.name,CheckboxGroup)};CheckboxGroup.version=version$e;function _extends$c(){return _extends$c=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$c.apply(this,arguments)}var STATUS_MAPPING_COMPINENT={QUESTION:index$V(),INFO:index$T(),SUCCESS:index$H(),WARNING:index$E(),ERROR:index$13(),LOADING:index$S()},MOBILE_STATUS_MAPPING_COMPINENT={INFO:index$U(),SUCCESS:index$G(),WARNING:index$16(),ERROR:index$O(),LOADING:index$S()},_sfc_main$s=defineComponent({props:_extends$c({},$props,{_constants:{type:Object,default:function(){return{}}},beforeClose:Function,duration:{type:[Number,String],default:function(){return 3e3}},escClosable:Boolean,events:Object,fullscreen:Boolean,height:[Number,String],id:String,isFormReset:{type:Boolean,default:!0},lockScroll:Boolean,lockView:{type:Boolean,default:function(){return!0}},marginSize:{type:[Number,String],default:10},mask:{type:Boolean,default:function(){return!0}},maskClosable:Boolean,message:[String,Function],minHeight:{type:[Number,String],default:function(){return 200}},minWidth:{type:[Number,String],default:function(){return 340}},modelValue:Boolean,resize:Boolean,showFooter:Boolean,showHeader:{type:Boolean,default:!0},status:{type:[String,Object],default:""},title:String,top:{type:[Number,String],default:80},type:{type:String,default:"alert"},width:[Number,String],zIndex:[Number,String],description:String,options:Array,showClose:{type:Boolean,default:!0},confirmContent:String,cancelContent:String,position:String,customClass:String,slots:Object}),emits:["update:modelValue","show","close","confirm","cancel","hide","custom-mousedown","custom-mouseup","custom-mousemove"],components:{Checkbox,CheckboxGroup},provide:function(){return{dialog:this}},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$d,api:api$d,extendOptions:{isMobileFirstMode:!0}})},render:function(){var te=this,ae=this.$props,ne=ae===void 0?{}:ae,ie=this.state,oe=this.slots,se=this.type,le=this.resize,ue=this.status,ce=this.showHeader,de=this.showFooter,he=this.title,fe=this.message,pe=this.mask,ve=this.t,ge=this.description,me=this.options,ye=this.showClose,_e=this.confirmContent,be=this.cancelContent,xe=this.m,$e=this.position,Se=this.customClass,we=ne.slots,Ae=we===void 0?{}:we,Te=ie.zoomLocat,De=ie.visible,Me=ie.contentVisible,Ie=ie.modalTop,Ce=ie.isMsg,Ee=oe.default||Ae.default,Re=oe.footer||Ae.footer,ke={$modal:this,beforeClose:this.beforeClose,confirm:this.confirmEvent,cancel:this.cancelEvent},Be=$e==="bottom-right",Ne=typeof ue=="string"?STATUS_MAPPING_COMPINENT[ue.toUpperCase()]:ue,He=typeof ue=="string"?MOBILE_STATUS_MAPPING_COMPINENT[ue.toUpperCase()]:ue,qe=typeof fe=="function"?fe.call(this,h):fe,Oe=me?h(CheckboxGroup,{props:{tiny_mode:"mobile-first",modelValue:ie.options,vertical:!0},on:{"update:modelValue":function(Ge){ie.options=Ge}}},[me.map(function(Ve){return h(Checkbox,{props:{tiny_mode:"mobile-first",label:Ve.value,name:Ve.name}},[Ve.label])})]):null,ze=[h("div",{attrs:{"data-tag":"tiny-footer-bottom"},class:"hidden sm:block"},[se==="confirm"?h(Button,{class:"ml-2 min-w-[theme(spacing.18)]",props:{tiny_mode:"mobile-first"},on:{click:this.cancelEvent}},be||ve("ui.button.cancel")):null,h(Button,{class:"ml-2 min-w-[theme(spacing.18)]",props:{tiny_mode:"mobile-first",type:"primary"},on:{click:this.confirmEvent}},_e||ve("ui.button.confirm"))]),h("div",{attrs:{"data-tag":"tiny-footer-bottom"},class:"flex sm:hidden text-base justify-center"},[se==="confirm"?h(Button,{props:{tiny_mode:"mobile-first",type:"text",customClass:"flex-1 text-color-text-secondary active:text-color-text-secondary"},on:{click:this.cancelEvent}},be||ve("ui.button.cancel")):null,se==="confirm"?h("span",{class:"border-r border-r-color-border-separator"}):null,h(Button,{props:{tiny_mode:"mobile-first",type:"text",customClass:"flex-1 text-color-brand active:text-color-brand"},on:{click:this.confirmEvent}},_e||ve("ui.button.confirm"))])];return h("div",{attrs:{"data-tag":"tiny-modal"},class:["fixed left-0 right-0 top-0 bottom-0 w-full h-full text-sm text-color-text-primary transition-top ease-out duration-300",{'before:content-[""] before:fixed before:left-0 before:right-0 before:top-0 before:bottom-0 before:w-full before:h-full before:bg-color-bg-7':pe,"before:pointer-events-none pointer-events-none":!pe,hidden:!Me&&!De},{"flex items-center top-0 sm:flex-none sm:items-start":se==="message"}],style:{zIndex:this.state.modalZindex,top:Ie?Ie+"px":null},on:{click:this.selfClickEvent}},[h("div",{ref:"modalBox",attrs:{"data-tag":"tiny-grid-modal__box"},class:xe("absolute pointer-events-auto box-border p-3 sm:p-0",{"bottom-0 sm:bottom-auto top-auto w-full flex sm:block max-h-full":!Ce},{"h-full":Te},{"sm:max-h-[60%]":!Te},{"sm:w-[theme(spacing.112)]":!Te&&se!=="message"},{"left-1/2 -translate-x-1/2":!Be&&!Te},{"sm:top-1/2 sm:-translate-y-1/2":!Be&&!Ce&&!Te},{"sm:bottom-0 sm:right-0":Be},{"rounded m-0 px-3 py-2 sm:px-4 sm:py-2.5 sm:w-auto min-w-[theme(spacing.20)] max-w-[theme(spacing.64)] sm:min-w-[theme(spacing.32)] sm:max-w-[theme(spacing.144)] box-border sm:shadow-lg":se==="message"},{"bg-color-icon-primary opacity-80 sm:opacity-100 text-color-text-inverse sm:text-color-text-primary sm:bg-color-bg-1 ":se==="message"},Se)},[h("div",{class:["flex flex-col w-full max-h-full rounded-lg sm:rounded  overflow-hidden",{"shadow-xl bg-color-bg-1":se!=="message"},{"h-full":Te}]},[[ce||se==="message"?h("div",{attrs:{"data-tag":"tiny-message"},class:["flex text-sm items-center justify-center sm:justify-start",{"px-6 pt-5 sm:pt-6 leading-6":se!=="message"},{"leading-4 sm:leading-5.5 sm:h-auto bg-color-icon-primary text-color-text-inverse sm:text-color-text-primary sm:bg-color-bg-1":se==="message"}],on:{mousedown:this.mousedownEvent}},[ue?[h(Ne,{props:{tiny_mode:"mobile-first"},attrs:{"data-tag":"tiny-status-icon"},class:xe("hidden sm:inline-block mr-2 fill-current",se==="message"?"h-4.5 w-4.5 self-start shrink-0 mt-0.5":"h-6 w-auto",{"text-color-success":ue==="success"},{"text-color-info-secondary":["info","question"].includes(ue)},{"text-color-warning":ue==="warning"},{"text-color-error":ue==="error"})}),h(He,{props:{tiny_mode:"mobile-first"},class:["inline-block sm:hidden mr-1.5 fill-current",se==="message"?"w-5 h-5 self-center shrink-0":"h-6 w-auto"]})]:null,h("span",{class:["sm:flex-auto text-base sm:text-sm w-full flex-1",{"truncate font-semibold":se!=="message"},{"line-clamp-2 text-center leading-5.5 sm:text-left":se==="message"}],attrs:{title:he||ve("ui.alert.title")}},se==="message"?qe:he||ve("ui.alert.title")),le?h(Te?index$Q():index$Y(),{class:"flex-none h-4 w-4 ml-2 cursor-pointer",on:{click:this.toggleZoomEvent}}):null,ye?h(index$17(),{class:["hidden sm:block flex-none cursor-pointer",{"h-4 w-4 ml-2":se!=="message"},{"w-4 h-4 ml-4 self-start sm:mt-0.5 sm:translate-y-px":se==="message"}],on:{click:this.closeEvent}}):null]):null,se!=="message"?h("div",{class:"flex-auto flex mx-6 mt-4 mb-5 sm:my-6 leading-5 overflow-auto"},[ue?h("div",{class:"hidden sm:block mr-8"}):null,h("div",{class:"w-full"},Ee?Ee.call(this,{$modal:this},h):[h("div",{class:["leading-normal",{"font-medium":ge}]},qe),ge?h("div",{class:"leading-normal pt-2 sm:pt-4 text-color-text-secondary"},[ge]):null,me?h("div",{class:"leading-normal pt-2 sm:pt-4 text-color-text-secondary"},[Oe]):null])]):null,de?h("div",{attrs:{"data-tag":"tiny-modal-footer"},class:"py-2.5 sm:pb-6 sm:pt-0 px-6 border-t-0.5 sm:border-t-0 border-color-border-separator text-center sm:text-right"},Re?Re.call(this,ke,h):ze):null,!Ce&&le?h("span",["wl","wr","swst","sest","st","swlb","selb","sb"].map(function(Ve){return h("span",{attrs:{"data-type":Ve},on:{mousedown:te.dragEvent}})})):null]])])])}});const hide=({state:ee,emit:te})=>()=>{ee.isLock=!0,setTimeout(()=>{ee.isLock=!1},300),ee.showPopover=!1},show=({state:ee,props:te,emit:ae})=>ne=>{(ne?te.trigger!==ne:!te.reference)||ee.isLock||ee.showPopover||(ee.showPopover=!0)},confirm=({state:ee,api:te})=>()=>{ee.showPopover=!1,te.handleEmit("confirm")},handleEmit=({state:ee,emit:te,vm:ae})=>ne=>{let{events:ie={}}=ae;ie[ne]?ie[ne].call(ae,{$modal:ae,type:ne}):te(ne,ee)},handleDocumentClick=({vm:ee,api:te})=>ae=>{ee.$refs.popover.handleDocumentClick(ae)&&te.hide()},api$a=["state","show","hide","confirm","handleEmit"],renderless$a=(ee,{computed:te,reactive:ae,onMounted:ne,onBeforeUnmount:ie},{emit:oe,constants:se,designConfig:le,vm:ue})=>{var ce;const de={},he=(ce=le==null?void 0:le.icons)==null?void 0:ce[ee.type],fe=ae({isLock:!1,showPopover:!1,getIcon:te(()=>typeof ee.type=="object"?ee.type:he||se.ICON_MAP[ee.type])});return Object.assign(de,{state:fe,show:show({state:fe,emit:oe,props:ee}),hide:hide({state:fe,emit:oe}),confirm:confirm({state:fe,api:de}),handleEmit:handleEmit({state:fe,emit:oe,vm:ue}),handleDocumentClick:handleDocumentClick({api:de,vm:ue})}),ne(()=>{ee.closeOnClickOutside&&on(document,"click",de.handleDocumentClick)}),ie(()=>{ee.closeOnClickOutside&&off(document,"click",de.handleDocumentClick)}),de},index$f="";function _createForOfIteratorHelperLoose$i(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$i(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$i(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$i(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$i(ee,te)}}function _arrayLikeToArray$i(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$j=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$i(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$r=defineComponent({name:$prefix+"Popconfirm",components:{TinyPopover:Popover,TinyButton:Button,IconSuccess:index$H(),IconInfoSolid:index$T(),IconWarning:index$E(),IconError:index$13()},props:{_constants:{type:Object,default:function(){return{}}},popperOptions:Object,message:String,customClass:String,trigger:{type:String,default:"hover",validator:function(te){return["click","hover"].includes(te)}},cancelButton:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},title:String,placement:{type:String,default:"top"},width:{type:[String,Number],default:"350"},type:[String,Object],reference:{},events:Object,popperAppendToBody:{type:Boolean,default:!0}},emits:["hide","show","confirm"],setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$a,api:api$a})}}),_hoisted_1$l={class:"tiny-popconfirm"},_hoisted_2$h={class:"tiny-popconfirm-popover__container"},_hoisted_3$e={class:"tiny-popconfirm-popover__header"},_hoisted_4$b={class:"tiny-popconfirm-popover__title"},_hoisted_5$9={class:"tiny-popconfirm-popover__content"},_hoisted_6$8={class:"tiny-popconfirm-popover__footer"};function _sfc_render$k(ee,te,ae,ne,ie,oe){var se=resolveComponent("tiny-button"),le=resolveComponent("tiny-popover");return openBlock(),createElementBlock("div",_hoisted_1$l,[createBaseVNode("div",null,[createVNode$1(le,{ref:"popover",modelValue:ee.state.showPopover,"onUpdate:modelValue":te[2]||(te[2]=function(ue){return ee.state.showPopover=ue}),placement:ee.placement,trigger:"manual",width:ee.width,title:ee.title,"popper-class":ee.m("tiny-popconfirm-popover",ee.customClass),"popper-options":ee.popperOptions,"append-to-body":ee.popperAppendToBody,reference:ee.reference,onShow:te[3]||(te[3]=function(ue){return ee.handleEmit("show")}),onHide:te[4]||(te[4]=function(ue){return ee.handleEmit("hide")})},{reference:withCtx(function(){return[createBaseVNode("div",{class:"tiny-popconfirm__reference",onClick:te[0]||(te[0]=function(ue){return ee.show("click")}),onMouseenter:te[1]||(te[1]=function(ue){return ee.show("hover")})},[renderSlot(ee.$slots,"reference")],32)]}),default:withCtx(function(){return[createBaseVNode("div",_hoisted_2$h,[createBaseVNode("div",_hoisted_3$e,[ee.type?(openBlock(),createBlock(resolveDynamicComponent(ee.state.getIcon),{key:0,class:normalizeClass(["tiny-popconfirm-popover__icon",ee.type?"tiny-popconfirm-popover--"+ee.type:""])},null,8,["class"])):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_4$b,toDisplayString(ee.title),1)]),createBaseVNode("div",_hoisted_5$9,toDisplayString(ee.message),1),createBaseVNode("div",_hoisted_6$8,[renderSlot(ee.$slots,"footer",{},function(){return[ee.cancelButton?(openBlock(),createBlock(se,{key:0,class:"tiny-popconfirm-popover__cancel-button",size:"mini",onClick:ee.hide},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.cancel")),1)]}),_:1},8,["onClick"])):createCommentVNode("v-if",!0),createVNode$1(se,{class:"tiny-popconfirm-popover__confirm-button",size:"mini",type:"primary",onClick:ee.confirm},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.button.confirm")),1)]}),_:1},8,["onClick"])]})])])]}),_:3},8,["modelValue","placement","width","title","popper-class","popper-options","append-to-body","reference"])])])}var pc$9=_export_sfc$j(_sfc_main$r,[["render",_sfc_render$k]]);function _createForOfIteratorHelperLoose$h(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$h(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$h(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$h(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$h(ee,te)}}function _arrayLikeToArray$h(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$i=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$h(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},$constants$8={ICON_MAP:{success:"icon-success",error:"icon-error",info:"icon-info-solid",warning:"icon-warning"}},_sfc_main$q=defineComponent({name:$prefix+"Popconfirm",components:{TinyPopover:Popover,TinyButton:Button,IconSuccess:index$H(),IconInfoSolid:index$T(),IconWarning:index$E(),IconError:index$13()},props:{_constants:{type:Object,default:function(){return $constants$8}},message:String,customClass:String,trigger:{type:String,default:"hover",validator:function(te){return~["click","hover"].indexOf(te)}},cancelButton:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},title:String,placement:{type:String,default:"top"},width:{type:[String,Number],default:""},type:[String,Object],reference:{},events:Object,popperAppendToBody:{type:Boolean,default:!0}},emits:["hide","show","confirm","handleEmit"],setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$a,api:api$a})}}),_hoisted_1$k={"data-tag":"tiny-popconfirm",class:"inline-block"},_hoisted_2$g={"data-tag":"tiny-popconfirm-header",class:"flex items-center leading-6 sm:pt-1"},_hoisted_3$d={class:"flex-auto"},_hoisted_4$a={"data-tag":"tiny-popconfirm-content"},_hoisted_5$8={class:"sm:leading-6 sm:text-xs sm:text-color-text-secondary"},_hoisted_6$7={"data-tag":"tiny-popconfirm-footer",class:"sm:pb-1"},_hoisted_7$6={class:"hidden sm:flex mt-4 justify-end"},_hoisted_8$4={class:"flex sm:hidden text-base justify-center"},_hoisted_9$4={key:1,class:"border-r border-r-color-border-separator"};function _sfc_render$j(ee,te,ae,ne,ie,oe){var se=resolveComponent("tiny-button"),le=resolveComponent("tiny-popover");return openBlock(),createElementBlock("div",_hoisted_1$k,[createVNode$1(le,{ref:"popover",tiny_mode:"mobile-first",modelValue:ee.state.showPopover,"onUpdate:modelValue":te[2]||(te[2]=function(ue){return ee.state.showPopover=ue}),placement:ee.placement,trigger:"manual",width:ee.width,title:ee.title,"popper-class":ee.m("min-w-[theme(spacing.44)] max-w-[theme(spacing.96)]",ee.customClass),"append-to-body":ee.popperAppendToBody,reference:ee.reference,onShow:te[3]||(te[3]=function(ue){return ee.handleEmit("show")}),onHide:te[4]||(te[4]=function(ue){return ee.handleEmit("hide")})},{header:withCtx(function(){return[createBaseVNode("div",_hoisted_2$g,[ee.type?(openBlock(),createBlock(resolveDynamicComponent(ee.state.getIcon),{key:0,class:normalizeClass(ee.m("h-6 w-6 mr-2",{"fill-color-info-secondary":ee.type==="info"},{"fill-color-error":ee.type==="error"},{"fill-color-warning":ee.type==="warning"},{"fill-color-success":ee.type==="success"}))},null,8,["class"])):createCommentVNode("v-if",!0),createBaseVNode("div",_hoisted_3$d,toDisplayString(ee.title),1)])]}),default:withCtx(function(){return[createBaseVNode("div",_hoisted_4$a,[createBaseVNode("div",_hoisted_5$8,toDisplayString(ee.message),1)])]}),footer:withCtx(function(){return[createBaseVNode("div",_hoisted_6$7,[createBaseVNode("div",_hoisted_7$6,[renderSlot(ee.$slots,"footer",{},function(){return[ee.cancelButton?(openBlock(),createBlock(se,{key:0,class:"mr-2 w-16",size:"mini",tiny_mode:"mobile-first",onClick:ee.hide},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.buttonMessage.cancel")),1)]}),_:1},8,["onClick"])):createCommentVNode("v-if",!0),createVNode$1(se,{class:"w-16",size:"mini",tiny_mode:"mobile-first",type:"primary",onClick:ee.confirm},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.buttonMessage.confirm")),1)]}),_:1},8,["onClick"])]})]),createBaseVNode("div",_hoisted_8$4,[renderSlot(ee.$slots,"footer",{},function(){return[ee.cancelButton?(openBlock(),createBlock(se,{key:0,"custom-class":"flex-1 text-color-text-secondary",tiny_mode:"mobile-first",type:"text",onClick:ee.hide},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.buttonMessage.cancel")),1)]}),_:1},8,["onClick"])):createCommentVNode("v-if",!0),ee.cancelButton?(openBlock(),createElementBlock("span",_hoisted_9$4)):createCommentVNode("v-if",!0),createVNode$1(se,{"custom-class":"flex-1 text-color-brand tiny-modal-mf-button",tiny_mode:"mobile-first",type:"text",onClick:ee.confirm},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.buttonMessage.confirm")),1)]}),_:1},8,["onClick"])]})])])]}),reference:withCtx(function(){return[createBaseVNode("div",{class:"inline-block",onClick:te[0]||(te[0]=function(ue){return ee.show("click")}),onMouseover:te[1]||(te[1]=function(ue){return ee.show("hover")})},[renderSlot(ee.$slots,"reference")],32)]}),_:3},8,["modelValue","placement","width","title","popper-class","append-to-body","reference"])])}var mobileFirst$3=_export_sfc$i(_sfc_main$q,[["render",_sfc_render$j]]);function _extends$b(){return _extends$b=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$b.apply(this,arguments)}var template$a=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$9:(ne||te)==="mobile-first"?mobileFirst$3:pc$9},$constants$7={PC_PREFIXCLS:"tiny-popconfim",MOBILE_PREFIXCLS:"tiny-mobile-popconfim",Mode:"pc",prefixcls:function(te){return te===this.Mode?this.PC_PREFIXCLS:this.MOBILE_PREFIXCLS},ICON_MAP:{success:"icon-success",error:"icon-error",info:"icon-info-solid",warning:"icon-warning"}},popConfirmProps=_extends$b({},$props,{_constants:{type:Object,default:function(){return $constants$7}},message:String,customClass:String,popperOptions:Object,trigger:{type:String,default:"hover",validator:function(te){return["click","hover"].includes(te)}},cancelButton:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},title:String,placement:{type:String,default:"top"},width:[String,Number],type:[String,Object],reference:{},events:Object,popperAppendToBody:{type:Boolean,default:!0}}),Popconfirm=defineComponent({name:$prefix+"Popconfim",props:popConfirmProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$a})}}),version$d="3.16.0";Popconfirm.install=function(ee){ee.component(Popconfirm.name,Popconfirm)};Popconfirm.model={prop:"modelValue",event:"update:modelValue"};Popconfirm.version=version$d;function _extends$a(){return _extends$a=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$a.apply(this,arguments)}var template$9=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?_sfc_main$y:(ne||te)==="mobile"?_sfc_main$x:(ne||te)==="mobile-first"?_sfc_main$s:_sfc_main$y},$constants$6={MODAL_STATUS:{INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",LOADING:"loading"},NODAL_TYPE:{ALERT:"alert",CONFIRM:"confirm",MESSAGE:"message"},STATUS_MAPPING_CLASSS:{INFO:"tiny-modal-svg__info",SUCCESS:"tiny-modal-svg__success",WARNING:"tiny-modal-svg__warning",ERROR:"tiny-modal-svg__error",LOADING:"tiny-modal-svg__refresh roll"},PC_SCROLL_LOCK_CLASS:"tiny-dialog-box__scroll-lock",MOBILE_FIRST_SCROLL_LOCK_CLASS:"tiny-modal-lockscroll",Mode:"pc",SCROLL_LOCK_CLASS:function(te){return te===this.Mode?this.PC_SCROLL_LOCK_CLASS:this.MOBILE_FIRST_SCROLL_LOCK_CLASS}},modalProps=_extends$a({},$props,{_constants:{type:Object,default:function(){return $constants$6}},animat:{type:Boolean,default:function(){return!0}},beforeClose:Function,duration:{type:[Number,String],default:function(){return 3e3}},escClosable:Boolean,events:Object,fullscreen:Boolean,height:[Number,String],id:String,isFormReset:{type:Boolean,default:!0},lockScroll:Boolean,lockView:{type:Boolean,default:function(){return!0}},marginSize:{type:[Number,String],default:10},mask:{type:Boolean,default:function(){return!0}},maskClosable:Boolean,message:[String,Function,Object],minHeight:{type:[Number,String],default:function(){return 200}},minWidth:{type:[Number,String],default:function(){return 340}},modelValue:Boolean,resize:Boolean,showFooter:Boolean,showHeader:{type:Boolean,default:!0},status:{type:[String,Object],default:""},title:String,top:{type:[Number,String],default:80},type:{type:String,default:"alert"},vSize:String,width:[Number,String],zIndex:[Number,String],description:String,options:Array,showClose:{type:Boolean,default:!0},confirmContent:String,cancelContent:String,position:{type:String,default:"",validator:function(te){return["","bottom-right"].includes(te)}},customClass:String,confirmBtnProps:{type:Object,default:function(){return{}}},cancelBtnProps:{type:Object,default:function(){return{}}},footerDragable:Boolean,tiny_theme:String,slots:Object}),TINYModal=defineComponent({name:$prefix+"Modal",componentName:"Modal",props:modalProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$9})}}),version$c="3.16.0";TINYModal.version=version$c;TINYModal.model={prop:"modelValue",event:"update:modelValue"};function Modal(ee){var te=new Promise(function(ae){if(ee&&ee.id&&MsgQueue.some(function(se){return se.id===ee.id}))ae("exist");else{var ne=ee.events||{},ie;ee.events=Object.assign({},ne,{hide:function(le){ne.hide&&ne.hide.call(this,le),ie.beforeUnmouted&&ie.beforeUnmouted(),ae(le.type)},confirm:function(le){ne.confirm&&ne.confirm.call(this,le)},show:function(le){ne.show&&ne.show.call(this,le)}}),ie=createComponent({el:document.createElement("div"),propsData:Object.assign({tiny_mode:TINYModal.tiny_mode,tiny_theme:TINYModal.tiny_theme},ee),component:ee.componentType==="popconfirm"?Popconfirm:TINYModal});var oe=ie[ee.componentType==="popconfirm"?"show":"open"];oe&&oe(),setTimeout(function(){return te.vm=ie},0)}});return te}var modal=Modal,types=["alert","confirm","message","popconfirm"],defOpts={alert:{showFooter:!0,type:"alert"},confirm:{showFooter:!0,status:"question",type:"confirm"},message:{mask:!1,lockView:!1,showHeader:!1,showClose:!1,type:"message"},popconfirm:{}};types.forEach(function(ee){TINYModal[ee]=Modal[ee]=function(te,ae,ne){var ie;return typeof te=="object"&&te!==null?ie=te:ae&&(ie={title:ae}),te==null&&(te=""),modal(_extends$a({message:te.toString()},defOpts[ee],ie,ne,{componentType:ee}))}});TINYModal.installed=!1;setupComponent.TINYModal={install:function(te){var ae;if(!TINYModal.installed){var ne=!!te.component,ie=ne?te.prototype.tiny_mode:te.config.globalProperties.tiny_mode,oe=ne?te.prototype.tiny_theme:te.config.globalProperties.tiny_theme,se=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;TINYModal.tiny_mode=se||ie&&ie.value,TINYModal.tiny_theme=oe&&oe.value,TINYModal.installed=!0}},init:function(te){var ae=te.$TinyModalApiPrefix||te.$apiPrefix||"$";te[ae+"alert"]=Modal.alert,te[ae+"message"]=Modal.message,te[ae+"confirm"]=Modal.confirm,te[ae+"popconfirm"]=Modal.popconfirm}};TINYModal.install=function(ee){ee.component(TINYModal.name,TINYModal)};const NODE_KEY="$treeNodeId",getNodeKey$2=function(ee,te){return ee?te[ee]:te[NODE_KEY]},markNodeData=function(ee,te){!te||te[NODE_KEY]||Object.defineProperty(te,NODE_KEY,{value:ee.id,enumerable:!1,configurable:!1,writable:!1})},defaultChildrenKey="children",defaultIsLeafKey="isLeaf",getPropertyFromData=(ee,te)=>{const ae=ee.store.props,ne=ee.data||{},ie=ae[te];if(typeOf(ie)==="string")return ne[ie];if(typeOf(ie)==="function")return ie(ne,ee);if(typeof ie>"u"){const oe=ne[te];return oe===void 0?"":oe}},getChildState=ee=>{let te=!0,ae=!0,ne=!0;for(let oe=0,se=ee.length;oe<se;oe++){const{checked:le,disabled:ue,indeterminate:ce}=ee[oe];(le!==!0||ce)&&(te=!1,ue||(ne=!1)),(le!==!1||ce)&&(ae=!1)}return{all:te,none:ae,allWithoutDisable:ne,half:!te&&!ae}},reInitChecked=ee=>{const te=ee.childNodes;if(te.length===0)return;const{all:ae,none:ne,half:ie}=getChildState(te);ae?Object.assign(ee,{checked:!0,indeterminate:!1}):ie?Object.assign(ee,{checked:!1,indeterminate:!0}):ne&&Object.assign(ee,{checked:!1,indeterminate:!1});const oe=ee.parent;!oe||oe.level===0||!ee.store.checkStrictly&&reInitChecked(oe)};let nodeIdSeed=0,Node$1=class f1{constructor(te){this.init(te);const ae=this.store;if(!ae)throw new Error("[TINY-Tree][Node]store is required!");ae.registerNode(this);const ne=ae.props;if(ne&&typeof ne.isLeaf<"u"){const le=getPropertyFromData(this,defaultIsLeafKey);typeof le=="boolean"&&(this.isLeafByUser=le)}if(this.initExpandState(),Array.isArray(this.data)||markNodeData(this,this.data),!this.data)return;this.expandByDefaultKeys();const{key:ie,lazy:oe,currentNodeKey:se}=ae;ie&&se!==void 0&&this.key===se&&(ae.currentNode=this,ae.currentNode.isCurrent=!0),oe&&ae._initDefaultCheckedNode(this),this.updateLeafState()}initExpandState(){const{store:te,data:ae,level:ne}=this;te.lazy!==!0&&ae?(this.setData(ae),te.defaultExpandAll&&(this.expanded=!0,this.updateMethod(this,"expanded"))):ne>0&&te.lazy&&te.defaultExpandAll&&this.expand()}init(te){var ae,ne;this.id=nodeIdSeed++,this.checked=!1,this.indeterminate=!1,this.expanded=!1,this.visible=!0,this.isCurrent=!1,this.text=null,this.data=null,this.parent=null,this.updateMethod=()=>{},Object.keys(te).forEach(oe=>{hasOwn$1.call(te,oe)&&(this[oe]=te[oe])});const ie=((ne=(ae=this.store)==null?void 0:ae.props)==null?void 0:ne.isLeaf)||defaultIsLeafKey;this.isLeaf=!!(this.data&&this.data[ie]),this.loaded=this.isLeaf,this.loading=!1,this.childNodes=[],this.level=this.parent?this.parent.level+1:0}expandByDefaultKeys(){const{defaultExpandedKeys:te,key:ae,autoExpandParent:ne}=this.store;ae&&te&&~te.indexOf(this.key)&&this.expand(null,ne)}setData(te){Array.isArray(te)||markNodeData(this,te),this.data=te,this.childNodes=[];let ae;this.level===0&&Array.isArray(this.data)?ae=this.data:ae=getPropertyFromData(this,defaultChildrenKey)||[];for(let ne=0,ie=ae.length;ne<ie;ne++){const oe=ae[ne];this.insertChild({data:oe})}}get key(){const{store:te,data:ae}=this,ne=te.key;return ae?ae[ne]:null}get label(){return getPropertyFromData(this,"label")}get disabled(){return getPropertyFromData(this,"disabled")}get nextSibling(){const te=this.parent;if(te){const ae=te.childNodes,ne=ae.indexOf(this);if(~ne)return ae[ne+1]}return null}get previousSibling(){const te=this.parent;if(te){const ae=te.childNodes,ne=ae.indexOf(this);if(~ne)return ne>0?ae[ne-1]:null}return null}remove(){const te=this.parent;te&&te.removeChild(this)}contains(te,ae=!0){const ne=ie=>{const oe=ie.childNodes||[];let se=!1;for(let le=0,ue=oe.length;le<ue;le++){const ce=oe[le];if(ce===te||ae&&ne(ce)){se=!0;break}}return se};return ne(this)}insertChild(te,ae,ne){if(!te)throw new Error("[TINY-Tree] insertChild error: child is required.");const ie=({arr:oe,index:se,item:le})=>{typeof se>"u"||se<0?oe.push(le):oe.splice(se,0,le)};if(!(te instanceof f1)){if(!ne){const oe=this.getChildren(!0)||[];~oe.indexOf(te.data)||ie({arr:oe,index:ae,item:te.data})}merge$2(te,{parent:this,store:this.store}),te=new f1(te)}te.level=this.level+1,ie({arr:this.childNodes,index:ae,item:te}),this.updateLeafState()}insertBefore(te,ae){let ne;ae&&(ne=this.childNodes.indexOf(ae)),this.insertChild(te,ne)}insertAfter(te,ae){let ne;ae&&(ne=this.childNodes.indexOf(ae),~ne&&(ne+=1)),this.insertChild(te,ne)}removeChild(te){const ae=this.getChildren()||[];let ne=ae.indexOf(te.data);~ne&&ae.splice(ne,1),ne=this.childNodes.indexOf(te),~ne&&(this.store&&this.store.deregisterNode(te),te.parent=null,this.childNodes.splice(ne,1)),this.updateLeafState()}removeChildByData(te){let ae=null;for(let ne=0,ie=this.childNodes.length;ne<ie;ne++){const oe=this.childNodes[ne];if(oe.data===te){ae=oe;break}}ae&&this.removeChild(ae)}expand(te,ae){const ne=()=>{if(ae){let ie=this.parent;for(;ie.level>0;)ie.expanded=!0,ie.updateMethod(ie,"expanded"),ie=ie.parent}this.expanded=!0,this.updateMethod(this,"expanded"),te&&te()};this.shouldLoadData()?this.loadData(ie=>{Array.isArray(ie)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||reInitChecked(this),ne())}):ne()}doCreateChildren(te,ae={}){te.forEach(ne=>{this.insertChild(merge$2({data:ne},ae),void 0,!0)})}collapse(){this.expanded=!1,this.updateMethod(this,"expanded")}shouldLoadData(){return this.store.lazy===!0&&this.store.load&&!this.loaded}updateLeafState(){const{store:te,loaded:ae,isLeafByUser:ne}=this,ie=te.lazy;if(ie===!0&&ae!==!0&&typeof ne<"u"){this.isLeaf=ne;return}const oe=this.childNodes;if(!ie||ie===!0&&ae===!0){this.isLeaf=!oe||oe.length===0;return}this.isLeaf=!1}getChildren(te=!1){const{level:ae,data:ne}=this;if(ae===0)return ne;if(!ne)return null;const ie=this.store.props;let oe=defaultChildrenKey;return ie&&(oe=ie.children||defaultChildrenKey),ne[oe]===void 0&&(ne[oe]=null),te&&!ne[oe]&&(ne[oe]=[]),ne[oe]}setChecked(te,ae,ne,ie,oe){this.checked=te===!0,this.indeterminate=te==="half";const{checkStrictly:se,checkDescendants:le}=this.store;if(se&&!oe)return;let ue=this.setCheckedInner({checkDescendants:le,value:te,isDeepChecked:ae,passValue:ie,checkEasily:oe}),ce=ue.returnFlag;if(ie=ue.passValue,te=ue.value,ce||se&&oe)return;const de=this.parent;!de||de.level===0||ne||reInitChecked(de)}setCheckedInner({checkDescendants:te,value:ae,isDeepChecked:ne,passValue:ie,checkEasily:oe}){let se=!1;if(this.shouldLoadData()&&!te)return{value:ae,passValue:ie,returnFlag:se};const{all:le,allWithoutDisable:ue}=getChildState(this.childNodes);!this.isLeaf&&!le&&ue&&!oe&&(this.checked=!1,ae=!1);const ce=()=>{if(ne){const de=this.childNodes;for(let pe=0,ve=de.length;pe<ve;pe++){const ge=de[pe];ie=ie||ae!==!1;const me=ge.disabled?ge.checked:ie;ge.setChecked(me,ne,!0,ie,oe)}const{half:he,all:fe}=getChildState(de);!fe&&!oe&&(this.checked=fe,this.indeterminate=he)}};if(this.shouldLoadData()){const de=()=>{ce(),reInitChecked(this)};this.loadData(de,{checked:ae!==!1}),se=!0}else ce();return{value:ae,passValue:ie,returnFlag:se}}updateChildren(){const te=this.getChildren()||[],ae=this.childNodes.map(oe=>oe.data),ne={},ie=[];te.forEach((oe,se)=>{const le=oe[NODE_KEY];!!le&&indexOf$1(ae,le,(ce,de)=>ce[NODE_KEY]===de)>=0?ne[le]={index:se,data:oe}:ie.push({index:se,data:oe})}),this.store.lazy||ae.forEach(oe=>{ne[oe[NODE_KEY]]||this.removeChildByData(oe)}),ie.forEach(({data:oe,index:se})=>{this.insertChild({data:oe},se)}),this.updateLeafState()}loadData(te,ae={}){const{lazy:ne,load:ie}=this.store;ne===!0&&ie&&!this.loaded&&(!this.loading||Object.keys(ae).length)?(this.loading=!0,this.store.load(this,oe=>{this.loading=!1,this.loaded=!0,this.childNodes=[],this.doCreateChildren(oe,ae),this.updateLeafState(),te&&te.call(this,oe),typeof this.store.afterLoad=="function"&&this.store.afterLoad({data:oe})})):te&&te.call(this)}getPathData(te){const ae=[te?this.data[te]:this.data];let ne=this.parent;for(;ne&&ne.parent;)ae.unshift(te?ne.data[te]:ne.data),ne=ne.parent;return ae}getPathText(te,ae=","){return(this.getPathData(te)||[]).join(ae)}};class TreeStore{constructor(te){this.currentNode=null,this.currentNodeKey=null;for(let ae in te)hasOwn$1.call(te,ae)&&(this[ae]=te[ae]);this.nodesMap={},this.root=new Node$1({data:this.data,store:this}),this.lazy&&this.load?this.load(this.root,ae=>{this.root.doCreateChildren(ae),this._initDefaultCheckedNodes(),typeof this.afterLoad=="function"&&this.afterLoad({data:ae,init:!0})}):this._initDefaultCheckedNodes()}filter(te){const{lazy:ae,filterNodeMethod:ne}=this,ie=oe=>{const se=oe.root?oe.root.childNodes:oe.childNodes;if(se.forEach(le=>{le.visible=ne.call(le,te,le.data,le),ie(le)}),!oe.visible&&se.length){let le=!se.some(({visible:ue})=>ue);oe.root?oe.root.visible=le===!1:oe.visible=le===!1}te&&oe.visible&&!oe.isLeaf&&!ae&&oe.expand()};ie(this)}setData(te){te!==this.root.data?(this.root.setData(te),this._initDefaultCheckedNodes()):this.root.updateChildren()}getNode(te){if(te instanceof Node$1)return te;const ae=typeof te!="object"?te:getNodeKey$2(this.key,te);return this.nodesMap[ae]||null}insertBefore(te,ae){const ne=this.getNode(ae);ne.parent.insertBefore({data:te},ne)}insertAfter(te,ae){const ne=this.getNode(ae);ne.parent.insertAfter({data:te},ne)}remove(te,ae,ne){const ie=ne?te:this.getNode(te);ie&&ie.parent&&(ie===this.currentNode&&(this.currentNode=null),ae&&ie.childNodes&&ie.childNodes.forEach(oe=>{ie.parent.insertChild({data:oe.data})}),ie.parent.removeChild(ie))}append(te,ae,ne){const ie=ae?this.getNode(ae):this.root;ie&&ie.insertChild({data:te},ne)}setDefaultCheckedKey(te){te!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=te,this._initDefaultCheckedNodes())}_initDefaultCheckedNodes(){const te=this.defaultCheckedKeys||[],ae=this.nodesMap;te.forEach(ne=>{const ie=ae[ne];ie&&ie.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(te){~(this.defaultCheckedKeys||[]).indexOf(te.key)&&te.setChecked(!0,!this.checkStrictly)}getCheckedKeys(te=!1){return this.getCheckedNodes(te).map(ae=>(ae||{})[this.key])}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(te=>(te||{})[this.key])}deregisterNode(te){!this.key||!te||!te.data||(te.childNodes.forEach(ne=>{this.deregisterNode(ne)}),delete this.nodesMap[te.key])}registerNode(te){if(!this.key||!te||!te.data)return;const ne=te.key;ne!==void 0&&(this.nodesMap[ne]=te)}getCheckedNodes(te=!1,ae=!1,ne=!1){const ie=[],oe=se=>{(se.root?se.root.childNodes:se.childNodes).forEach(ue=>{const{checked:ce,indeterminate:de,isLeaf:he,data:fe}=ue;(ce||ae&&de)&&(!te||te&&he)&&ie.push(ne?ue:fe),oe(ue)})};return oe(this),ie}getHalfCheckedNodes(){const te=[],ae=ne=>{(ne.root?ne.root.childNodes:ne.childNodes).forEach(oe=>{const{indeterminate:se,data:le}=oe;se&&te.push(le),ae(oe)})};return ae(this),te}_getAllNodes(){const te=[],ae=this.nodesMap;return Object.keys(ae).forEach(ne=>{hasOwn$1.call(ae,ne)&&te.push(ae[ne])}),te}updateChildren(te,ae){const ne=this.nodesMap[te];if(!ne)return;const ie=ne.childNodes;for(let oe=ie.length-1;oe>=0;oe--)this.remove(ie[oe].data);for(let oe=0,se=ae.length;oe<se;oe++){const le=ae[oe];this.append(le,ne.data)}}_setCheckedKeys(te,ae=!1,ne={}){const ie=this._getAllNodes().sort((le,ue)=>ue.level-le.level),oe=Object.create(null),se=Object.keys(ne);ie.forEach(le=>{le.setChecked(!1,!1)});for(let le=0,ue=ie.length;le<ue;le++){const ce=ie[le],de=ce.data[te].toString();if(!~se.indexOf(de))ce.checked&&!oe[de]&&ce.setChecked(!1,!1);else{let fe=ce.parent;for(;fe&&fe.level>0;)oe[fe.data[te]]=!0,fe=fe.parent;if(ce.isLeaf||this.checkStrictly)ce.setChecked(!0,!1);else if(ae){ce.setChecked(!1,!1);const pe=ve=>{ve.childNodes.forEach(me=>{!me.isLeaf&&me.setChecked(!1,!1),pe(me)})};pe(ce)}else ce.setChecked(!0,!0)}}}setDefaultExpandedKeys(te){te=te||[],this.defaultExpandedKeys=te,te.forEach(ae=>{const ne=this.getNode(ae);ne&&ne.expand(null,this.autoExpandParent)})}setCheckedKeys(te,ae=!1){this.defaultCheckedKeys=te;const ne={};te.forEach(ie=>{ne[ie]=!0}),this._setCheckedKeys(this.key,ae,ne)}setCheckedNodes(te,ae=!1){const ne=this.key,ie={};te.forEach(oe=>{ie[(oe||{})[ne]]=!0}),this._setCheckedKeys(ne,ae,ie)}setChecked(te,ae,ne){const ie=this.getNode(te);ie&&ie.setChecked(!!ae,ne)}setCurrentNode(te){const ae=this.currentNode;ae&&(ae.isCurrent=!1),this.currentNode=te,te&&(this.currentNode.isCurrent=!0)}getCurrentNode(){return this.currentNode}setCurrentNodeKey(te){if(isNull$2(te)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const ae=this.getNode(te);ae&&this.setCurrentNode(ae)}setUserCurrentNode(te){const ae=te[this.key],ne=this.nodesMap[ae];this.setCurrentNode(ne)}getData(te){return(this.getNode(te)||{}).data}getAllData(){const te=this.props.children,ae=ne=>ne.map(ie=>__spreadProps(__spreadValues({},ie.data),{[te]:ae(ie.childNodes)}));return ae(this.root.childNodes)}}const setChildren=ee=>te=>ee.data=te,getChildren=()=>ee=>ee.data,computedTreeItemArray=()=>(ee,te)=>Array.prototype.slice.call(te.treeItems),computedShowEmptyText=({constants:ee,t:te})=>ae=>ae.emptyText||te(ee.EMPTY_TEXT_LOCAL),computedIsEmpty=()=>(ee,te)=>{const{childNodes:ae}=te.root;return!ae||ae.length===0||ae.every(({visible:ne})=>!ne)||ee.viewType==="plain"&&te.plainNodeStore.filteredNodes.length===0},watchDefaultCheckedKeys=ee=>te=>{ee.store.setDefaultCheckedKey(te)},watchDefaultExpandedKeys=({state:ee,api:te,nextTick:ae})=>ne=>{te.expandAllNodes(!1),ae(()=>{ee.store.defaultExpandedKeys=ne,ee.store.setDefaultExpandedKeys(ne),te.initIsCurrent()})},watchData=({state:ee})=>te=>{ee.store.setData(te)},watchCheckboxItems=()=>ee=>{Array.prototype.forEach.call(ee,te=>{te.setAttribute("tabindex",-1)})},watchCheckStrictly=ee=>te=>{ee.store.checkStrictly=te},dragStart=({props:ee,state:te,emit:ae})=>(ne,ie)=>{if(typeof ee.allowDrag=="function"&&!ee.allowDrag(ie.node))return ne.preventDefault(),!1;if(!ne.dataTransfer)return!1;ne.dataTransfer.effectAllowed="copy";try{ne.dataTransfer.setData("text/plain","")}catch{}te.dragState.draggingNode=ie,ae("node-drag-start",ie.node,ne)},getDropType=(ee,te,ae,ne)=>{let ie;const oe=ne.$el.getBoundingClientRect(),se=ee?te?.25:ae?.45:1:-1,le=ae?te?.75:ee?.55:0:1,ue=event.clientY-oe.top;return ue<oe.height*se?ie="before":ue>oe.height*le?ie="after":te?ie="inner":ie="none",ie},setDropIndicatorTop=(ee,te,ae)=>{const ne=ee.$el.querySelector(".tiny-tree-node"),ie=te.$refs.dropIndicator;if(ne){const oe=te.$el.getBoundingClientRect(),se=ne.getBoundingClientRect();let le=-9999;ae==="before"?le=se.top-oe.top:ae==="after"&&(le=se.bottom-oe.top),ie.style.top=le+"px"}ae==="inner"?addClass(ee.$el,"is-drop-inner"):removeClass(ee.$el,"is-drop-inner")},getDragDir=({draggingNode:ee,dropNode:te,allowDrop:ae,emit:ne,dragState:ie})=>{let oe=!0,se=!0,le=!0,ue=!0;const ce=ie.dropNode;return typeof ae=="function"&&(oe=ae(ee.node,te.node,"prev"),ue=se=ae(ee.node,te.node,"inner"),le=ae(ee.node,te.node,"next")),event.dataTransfer.dropEffect=se?"copy":"none",(oe||se||le)&&ce!==te&&(ce&&ne("node-drag-leave",ee.node,ce.node,event),ne("node-drag-enter",ee.node,te.node,event)),(oe||se||le)&&(ie.dropNode=te),te.node.previousSibling===ee.node&&(oe=!1),te.node.nextSibling===ee.node&&(le=!1),te.node.contains(ee.node,!1)&&(se=!1),(ee.node===te.node||ee.node.contains(te.node))&&(oe=!1,se=!1,le=!1),{dropPrev:oe,dropInner:se,dropNext:le,userAllowDropInner:ue}},dragOver=({state:ee,emit:te,props:ae,vm:ne})=>(ie,oe)=>{const se=ee.dragState,le=se.dropNode;le&&le!==oe&&removeClass(le.$el,"is-drop-inner");const ue=se.draggingNode;if(!ue||!oe)return;const{dropPrev:ce,dropInner:de,dropNext:he,userAllowDropInner:fe}=getDragDir({draggingNode:ue,dropNode:oe,allowDrop:ae.allowDrop,emit:te,dragState:se}),pe=getDropType(ce,de,he,oe);setDropIndicatorTop(oe,ne,pe),se.showDropIndicator=pe==="before"||pe==="after",se.allowDrop=se.showDropIndicator||fe,se.dropType=pe,te("node-drag-over",ue.node,oe.node,ie)},dragEnd=({state:ee,emit:te})=>ae=>{const ne=ee.dragState,{draggingNode:ie,dropType:oe,dropNode:se}=ne;if(ae.preventDefault(),!!ae.dataTransfer){if(ae.dataTransfer.dropEffect="copy",ie&&se){const le={data:ie.node.data},ue=oe!=="none";ue&&ie.node.remove(),oe==="before"?se.node.parent.insertBefore(le,se.node):oe==="after"?se.node.parent.insertAfter(le,se.node):oe==="inner"&&se.node.insertChild(le),ue&&ee.store.registerNode(le),removeClass(se.$el,"is-drop-inner"),te("node-drag-end",ie.node,se.node,oe,ae),ue&&te("node-drop",ie.node,se.node,oe,ae)}ie&&!se&&te("node-drag-end",ie.node,null,oe,ae),ne.draggingNode=null,ne.dropNode=null,ne.allowDrop=!0,ne.showDropIndicator=!1}},afterLoadHandler=({state:ee,emit:te,props:ae,api:ne})=>ie=>{const{lazy:oe,afterLoad:se,showRadio:le}=ae;ee.loaded=!0,oe&&(ee.root&&(ee.root.childNodes=[...ee.root.childNodes]),le&&ne.setCurrentRadio()),te("load-data",ie),typeof se=="function"&&se(ie)},initTreeStore=({api:ee,props:te,state:ae,emit:ne})=>()=>{const{nodeKey:ie,data:oe,lazy:se,load:le,currentNodeKey:ue,checkStrictly:ce,checkDescendants:de}=te,{defaultCheckedKeys:he,defaultExpandedKeys:fe,autoExpandParent:pe,defaultExpandAll:ve,filterNodeMethod:ge}=te;ae.store=new TreeStore({key:ie,data:oe,lazy:se,props:te.props,load:le,afterLoad:afterLoadHandler({api:ee,emit:ne,props:te,state:ae}),currentNodeKey:ue,checkStrictly:ce,checkDescendants:de,defaultCheckedKeys:he,defaultExpandedKeys:fe,autoExpandParent:pe,defaultExpandAll:ve,filterNodeMethod:ge}),ae.root=ae.store.root,ee.initIsCurrent(),te.willChangeView&&ee.initPlainNodeStore()},created$1=({api:ee,state:te})=>()=>{te.isTree=!0,ee.initTreeStore(),te.emitter.on("tree-node-drag-start",ee.dragStart),te.emitter.on("tree-node-drag-over",ee.dragOver),te.emitter.on("tree-node-drag-end",ee.dragEnd),te.emitter.on("tree-node-save",ee.saveNode),te.emitter.on("tree-node-edit",ee.editNode),te.emitter.on("tree-node-delete",ee.deleteConfirm),te.emitter.on("tree-node-add",ee.addNode)},doClearCurrentStore=ee=>{ee.currentStore.node&&(ee.currentStore.node.isCurrent=!1),ee.currentStore.node=null,ee.currentStore.flag=!1},setIsCurrent=(ee,te,ae,ne,ie="id")=>{if(!(ne.flag||!Array.isArray(ee.childNodes)))for(let oe=0;oe<ee.childNodes.length;oe++){const se=ee.childNodes[oe];if(se.data&&se.data[ie]&&se.data[ie]===ae){se.isCurrent=!0,ne.flag=!0,ne.node=se;break}setIsCurrent(se,te,ae,ne,ie)}},initIsCurrent=({props:ee,state:te})=>()=>{te.currentStore.flag&&doClearCurrentStore(te),te.store.getCurrentNode()&&ee.defaultExpandedKeysHighlight&&te.store.setCurrentNode(null),ee.defaultExpandedKeysHighlight&&Array.isArray(ee.defaultExpandedKeys)&&(~ee.defaultExpandedKeys.indexOf(ee.defaultExpandedKeysHighlight)||ee.lazyCurrent)&&setIsCurrent(te.root,ee.defaultExpandedKeys,ee.defaultExpandedKeysHighlight,te.currentStore,ee.nodeKey)},mounted=({api:ee,vm:te})=>()=>{ee.initTabIndex(),on(te.$el,"keydown",ee.handleKeydown)},beforeUnmount=({api:ee,vm:te,state:ae})=>()=>{ae.action.popoverVisible=!1,off(te.$el,"keydown",ee.handleKeydown)},wrapMounted=({api:ee,props:te,service:ae})=>()=>{const{data:ne,nodeKey:ie,parentKey:oe}=te;if(!ne&&te.dataset){const se={service:ae,dataset:te.dataset,tree:{key:ie,parentKey:oe}};getDataset(se).then(ee.watchData)}ee.mounted()},updated=({vm:ee,state:te})=>()=>{te.treeItems=ee.$el.querySelectorAll("[role=treeitem]"),te.checkboxItems=ee.$el.querySelectorAll("input[type=checkbox]")},filter$1=({props:ee,state:te,api:ae})=>ne=>{if(!ee.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");te.store.filter(ne),ee.willChangeView&&ae.initPlainNodeStore()},getNodeKey$1=ee=>te=>getNodeKey$2(ee.nodekey,te.data),getNodePath=({props:ee,state:te})=>ae=>{if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const ne=te.store.getNode(ae);if(!ne)return[];const ie=[ne.data];let oe=ne.parent;for(;oe&&oe!==te.root;)ie.push(oe.data),oe=oe.parent;return ie.reverse()},getCheckedNodes=ee=>(te,ae)=>ee.store.getCheckedNodes(te,ae),getCheckedKeys=ee=>te=>ee.store.getCheckedKeys(te),getCurrentNode$1=ee=>()=>{const te=ee.store.getCurrentNode();return te?te.data:null},getCurrentKey$1=({api:ee,props:te})=>()=>{if(!te.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const ae=ee.getCurrentNode();return ae?ae[te.nodeKey]:null},setCheckedNodes=({props:ee,state:te})=>(ae,ne)=>{if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");te.store.setCheckedNodes(ae,ne)},setCheckedKeys=({props:ee,state:te,api:ae})=>(ne,ie)=>{if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");ee.showRadio?ae.setCurrentRadio(ne):te.store.setCheckedKeys(ne,ie)},setChecked=ee=>(te,ae,ne)=>{ee.store.setChecked(te,ae,ne)},getHalfCheckedNodes=ee=>()=>ee.store.getHalfCheckedNodes(),getHalfCheckedKeys=ee=>()=>ee.store.getHalfCheckedKeys(),setCurrentNode$1=({props:ee,state:te})=>ae=>{if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");te.store.setUserCurrentNode(ae)},setCurrentKey$1=({props:ee,state:te})=>ae=>{if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");te.store.setCurrentNodeKey(ae)},getNode=ee=>te=>ee.store.getNode(te),remove=ee=>(te,ae,ne)=>{ee.store.remove(te,ae,ne)},append=ee=>(te,ae)=>{ee.store.append(te,ae,0)},insertBefore$1=ee=>(te,ae)=>{ee.store.insertBefore(te,ae)},insertAfter=ee=>(te,ae)=>{ee.store.insertAfter(te,ae)},handleNodeExpand=ee=>(te,ae,ne)=>{ee("node-expand",te,ae,ne)},updateKeyChildren=({props:ee,state:te})=>(ae,ne)=>{if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");te.store.updateChildren(ae,ne)},initTabIndex=({vm:ee,state:te})=>()=>{te.treeItems=ee.$el.querySelectorAll(".is-focusable[role=treeitem]"),te.checkboxItems=ee.$el.querySelectorAll("input[type=checkbox]");const ae=ee.$el.querySelectorAll(".is-checked[role=treeitem]");if(ae.length){ae[0].setAttribute("tabindex",0);return}te.treeItems[0]&&te.treeItems[0].setAttribute("tabindex",0)},handleKeydown=({vm:ee,state:te})=>ae=>{const ne=ae.target;if(!JSON.stringify(ne.className).includes("tiny-tree-node"))return;const ie=ae.keyCode;if(te.treeItems=ee.$el.querySelectorAll(".is-focusable[role=treeitem]"),[KEY_CODE.ArrowUp,KEY_CODE.ArrowDown].includes(ie)){let oe;const se=te.treeItemArray.indexOf(ne);ae.preventDefault(),ie===KEY_CODE.ArrowUp?oe=se!==0?se-1:0:oe=se<te.treeItemArray.length-1?se+1:0,te.treeItemArray[oe].focus()}else if([KEY_CODE.ArrowLeft,KEY_CODE.ArrowRight].includes(ie))ae.preventDefault(),ne.click();else if([KEY_CODE.NumpadEnter,KEY_CODE.Space].includes(ie)){const oe=ne.querySelector('[type="checkbox"]');oe&&(ae.preventDefault(),oe.click())}},initRadio=({node:ee,nodeKey:te,checkedKey:ae,state:ne})=>{let ie=!1;if(ee.data[te]===ae)return ne.currentRadio.value=ee.id,ie=!0,ie;if(ee.childNodes&&ee.childNodes.length){const oe=ee.childNodes;for(let se=0;se<oe.length&&(ie=initRadio({node:oe[se],nodeKey:te,checkedKey:ae,state:ne}),!ie);se++);}return ie},init$3=({state:ee,nodeKey:te,checkedKey:ae})=>{let ne=!1;if(ee.root&&ee.root.childNodes&&ee.root.childNodes.length){const ie=ee.root.childNodes;for(let oe=0;oe<ie.length&&(ne=initRadio({node:ie[oe],nodeKey:te,checkedKey:ae,state:ee}),!ne);oe++);}},setCurrentRadio=({props:ee,state:te})=>ae=>{if(!ee.showRadio)return;if(!ee.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentRadio");const ne=ee.nodeKey,ie=ee.defaultCheckedKeys||ae||[],oe=ie.length?ie[0]:null;oe&&init$3({state:te,nodeKey:ne,checkedKey:oe})},closeMenu$1=ee=>()=>ee.emitter.emit("closeMenu"),clearCurrentStore=ee=>te=>{ee.currentStore.flag&&ee.currentStore.node&&ee.currentStore.node.id!==te.id&&doClearCurrentStore(ee)},innerExpandAllNodes=(ee,te)=>{ee.forEach(ae=>{te?ae.childNodes.length&&ae.level>1&&ae.expand():ae.collapse(),innerExpandAllNodes(ae.childNodes,te)})},expandAllNodes=({state:ee})=>te=>{const ae=ee.root.childNodes;Array.isArray(ae)&&ae.length&&(innerExpandAllNodes(ae,te),ae.forEach(ne=>{te&&ne.childNodes.length&&ne.expand()}))},switchToggle=({state:ee})=>te=>{ee.checkEasily=te},getSameDataIndex=(ee,te,ae="$treeNodeId")=>{let ne=-1;return ee.forEach((ie,oe)=>{ie[ae]===te[ae]&&(ne=oe)}),ne},editNode=({state:ee})=>te=>{ee.action.type="edit",ee.action.label=te&&te.data.label||"",ee.action.node=te,ee.action.popoverVisible=!1},saveNode=({state:ee,emit:te,api:ae})=>()=>{const ne=ee.action.node;if(ne)if(ee.action.label)if(ne.data.label=ee.action.label,ne.data._isNewNode){const ie=ae.getSameDataIndex(ee.treeEdit.addData,ne.data);ie===-1?ee.treeEdit.addData.push(ne.data):ee.treeEdit.addData.splice(ie,1,ne.data),te("add-node",ne)}else{const ie=ae.getSameDataIndex(ee.treeEdit.editData,ne.data);ie===-1?ee.treeEdit.editData.push(ne.data):ee.treeEdit.editData.splice(ie,1,ne.data),te("edit-node",ne)}else ne&&ne.data&&ne.data._isNewNode&&ae.remove(ne,!1,!0);else return;ee.action.node=null},addNode$1=({api:ee})=>te=>{const ae={label:""},ne=te.store&&te.store.props.isLeaf;ne&&(ae[ne]=!0),Object.defineProperty(ae,"_isNewNode",{value:!0,enumerable:!1,configurable:!1,writable:!1}),ee.append(ae,te.data),setTimeout(()=>{const oe=te.childNodes[0];ee.editNode(oe)},100)},cancelDelete=({state:ee})=>()=>{ee.action.referenceElm=null,ee.action.popoverVisible=!1},loopGetTreeData=(ee=[],te=[],ae="childNodes")=>(te.forEach(ne=>{getSameDataIndex(ee,ne.data)===-1&&ee.push(ne.data),ne[ae]&&ne[ae].length&&(ee=loopGetTreeData(ee,ne[ae]))}),ee),deleteAction=({state:ee,api:te,emit:ae})=>()=>{const{node:ne,isSaveChildNode:ie}=ee.action;ee.action.referenceElm=null,ee.action.popoverVisible=!1,ne.data._isNewNode||(ee.treeEdit.deleteData.push(ne.data),ie||(ee.treeEdit.deleteData=loopGetTreeData(ee.treeEdit.deleteData,ne.childNodes))),ae("delete-node",ne),te.remove(ee.action.node,ie,!0)},deleteConfirm=({state:ee,props:te,api:ae})=>(ne,ie)=>{if(ee.action.type="delete",ee.action.node=ie,ee.action.isLeaf=!ie.childNodes||!ie.childNodes.length,ee.action.referenceElm=ne.currentTarget,ee.action.popoverVisible=!1,ee.action.isSaveChildNode=!1,typeof te.deleteNodeMethod=="function"){const oe=te.deleteNodeMethod({event:ne,node:ie});oe&&typeof oe.then=="function"?oe.then(se=>se&&ae.deleteAction()):oe&&ae.deleteAction();return}setTimeout(()=>{ee.action.popoverVisible=!0},300)},openEdit$1=({props:ee,state:te,api:ae,emit:ne})=>()=>{te.action.show=!0,te.action.data=copyArray(ee.data),ae.watchData(te.action.data),ne("open-edit")},closeEdit=({props:ee,state:te,api:ae,emit:ne})=>()=>{te.action.show=!1,te.action.popoverVisible=!1,ae.watchData(ee.data),ne("close-edit"),te.treeEdit={addData:[],deleteData:[],editData:[]}},saveEdit$1=({state:ee,emit:te,props:ae})=>()=>{const ne=copyArray(ee.action.show?ee.action.data:ae.data);return ee.action.show=!1,ee.action.popoverVisible=!1,te("save-edit",ee.treeEdit,ne),ee.treeEdit={addData:[],deleteData:[],editData:[]},ne},setAddDisabledKeys=({state:ee})=>te=>{ee.action.addDisabled=te||[]},setEditDisabledKeys=({state:ee})=>te=>{ee.action.editDisabled=te||[]},setDeleteDisabledKeys=({state:ee})=>te=>{ee.action.deleteDisabled=te||[]},initPlainNodeStore=({props:ee,state:te})=>()=>{const{nodeKey:ae,pathSplit:ne,filterPlainMethod:ie}=ee,oe=new RegExp(`^\\${ne}+`),se={nodes:[],filteredNodes:[]},le=(ce,de,he)=>{if(ce&&ce.data&&(de+=`${ne}${ce.data.label||""}`,he+=`${ne}${ce.data[ae]||""}`,de=de.replace(oe,""),he=he.replace(oe,""),de)){const fe={labelPath:de,nodeKeyPath:he,node:ce},pe=de.split(ne),ve=typeof ce.data[ae],ge=he.split(ne).map(ve==="number"?Number:String);fe.title=pe[pe.length-1],fe.auxi=pe.slice(0,pe.length-1).join(ne),fe.nodeKeyType=ve,fe.nodeKey=ce.data[ae],fe.nodeKeys=ge,fe.parentNodeKeys=ge.slice(0,ge.length-1),se.nodes.push(fe)}ce.childNodes&&ce.childNodes.length&&ce.childNodes.forEach(fe=>le(fe,de,he))};le(te.root,"","");const ue=ce=>!ie||typeof ie=="function"&&ie(ce);se.filteredNodes=se.nodes.filter(ce=>ce.node.visible&&ue(ce.node.data)),te.plainNodeStore=se},handleCheckPlainNode=({props:ee,emit:te})=>(ae,ne)=>{ee.showCheckbox&&ne.node.setChecked(ae,!ee.checkStrictly),te("check-plain",ne,ae)},handleClickPlainNode=ee=>(te,ae)=>{ee("leave-plain-view",ae,te)},setCheckedByNodeKey=({props:ee,state:te})=>(ae,ne)=>{const{nodeKey:ie,checkStrictly:oe}=ee,{nodes:se}=te.plainNodeStore,le=se.find(ue=>ue.node.data[ie]===ae);le&&le.node.setChecked(ne,!oe)},api$9=["state","closeMenu","filter","getNodeKey","getNodePath","getCheckedNodes","getCheckedKeys","getCurrentNode","getCurrentKey","setCheckedNodes","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","setCurrentNode","setCurrentKey","getNode","remove","append","insertBefore","insertAfter","handleNodeExpand","updateKeyChildren","initTabIndex","handleKeydown","setCurrentRadio","expandAllNodes","clearCurrentStore","switchToggle","initTreeStore","getSameDataIndex","loopGetTreeData","cancelDelete","deleteAction","deleteConfirm","openEdit","saveNode","addNode","editNode","closeEdit","saveEdit","setAddDisabledKeys","setEditDisabledKeys","setDeleteDisabledKeys","handleCheckPlainNode","handleClickPlainNode","setCheckedByNodeKey"],initState$1=({reactive:ee,emitter:te,props:ae,computed:ne,api:ie})=>{const oe=ee({loaded:!ae.lazy,checkEasily:!1,root:null,store:null,treeItems:null,currentNode:null,checkboxItems:[],isEmpty:ne(()=>ie.computedIsEmpty(ae,oe)),emitter:te(),expandIcon:ae.expandIcon,shrinkIcon:ae.shrinkIcon,expandIconColor:ae.expandIconColor,shrinkIconColor:ae.shrinkIconColor,dragState:{showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0},currentRadio:{value:null},children:ne({get:()=>ie.getChildren(ae,oe),set:se=>ie.setChildren(se)}),treeItemArray:ne(()=>ie.computedTreeItemArray(ae,oe)),showEmptyText:ne(()=>ie.computedShowEmptyText(ae,oe)),currentStore:{flag:!1,node:null},action:{deleteDisabled:[],editDisabled:[],addDisabled:[],show:!1,node:null,data:[],label:"",type:"",isLeaf:!1,isSaveChildNode:!1,referenceElm:null,popoverVisible:!1},treeEdit:{addData:[],deleteData:[],editData:[]},plainNodeStore:{}});return oe},initApi$1=({state:ee,dispatch:te,broadcast:ae,props:ne,vm:ie,constants:oe,t:se,emit:le,api:ue})=>({state:ee,dispatch:te,broadcast:ae,setChildren:setChildren(ne),getChildren:getChildren(),computedTreeItemArray:computedTreeItemArray(),computedIsEmpty:computedIsEmpty(),watchDefaultCheckedKeys:watchDefaultCheckedKeys(ee),watchData:watchData({state:ee}),watchCheckboxItems:watchCheckboxItems(),watchCheckStrictly:watchCheckStrictly(ee),updated:updated({vm:ie,state:ee}),filter:filter$1({props:ne,state:ee,api:ue}),getNodeKey:getNodeKey$1(ne),getNodePath:getNodePath({props:ne,state:ee}),getCheckedNodes:getCheckedNodes(ee),getCheckedKeys:getCheckedKeys(ee),getCurrentNode:getCurrentNode$1(ee),setCheckedNodes:setCheckedNodes({props:ne,state:ee}),setCheckedKeys:setCheckedKeys({props:ne,state:ee,api:ue}),setChecked:setChecked(ee),getHalfCheckedNodes:getHalfCheckedNodes(ee),getHalfCheckedKeys:getHalfCheckedKeys(ee),setCurrentNode:setCurrentNode$1({props:ne,state:ee}),setCurrentKey:setCurrentKey$1({props:ne,state:ee}),getNode:getNode(ee),remove:remove(ee),append:append(ee),insertBefore:insertBefore$1(ee),insertAfter:insertAfter(ee),updateKeyChildren:updateKeyChildren({props:ne,state:ee}),initTabIndex:initTabIndex({vm:ie,state:ee}),handleKeydown:handleKeydown({vm:ie,state:ee}),computedShowEmptyText:computedShowEmptyText({constants:oe,t:se}),setCurrentRadio:setCurrentRadio({props:ne,state:ee}),expandAllNodes:expandAllNodes({state:ee}),dragStart:dragStart({props:ne,state:ee,emit:le}),dragOver:dragOver({props:ne,state:ee,emit:le,vm:ie}),dragEnd:dragEnd({state:ee,emit:le}),clearCurrentStore:clearCurrentStore(ee),initIsCurrent:debounce_default(20,initIsCurrent({props:ne,state:ee})),setCheckedByNodeKey:setCheckedByNodeKey({props:ne,state:ee})}),initWatcher$1=({watch:ee,props:te,api:ae,state:ne,isVue2:ie})=>{ee(()=>te.defaultCheckedKeys,ae.watchDefaultCheckedKeys),ee(()=>te.defaultExpandedKeys,ae.watchDefaultExpandedKeys),ee(()=>te.defaultExpandedKeysHighlight,ae.initIsCurrent),ee(()=>te.data,ae.watchData,{deep:!ie}),ee(()=>te.checkboxItems,ae.watchCheckboxItems),ee(()=>te.checkStrictly,ae.watchCheckStrictly),ee(()=>te.defaultCheckedKeys,ae.setCurrentRadio,{immediate:!0}),ee(()=>te.deleteDisabledKeys,oe=>ne.action.deleteDisabled=oe||[],{immediate:!0}),ee(()=>te.editDisabledKeys,oe=>ne.action.editDisabled=oe||[],{immediate:!0}),ee(()=>te.addDisabledKeys,oe=>ne.action.addDisabled=oe||[],{immediate:!0})},renderless$9=(ee,{computed:te,onMounted:ae,onUpdated:ne,reactive:ie,watch:oe,provide:se,onBeforeUnmount:le},{vm:ue,t:ce,emit:de,constants:he,broadcast:fe,dispatch:pe,service:ve,emitter:ge,nextTick:me},{isVue2:ye})=>{const _e={},be=initState$1({reactive:ie,emitter:ge,props:ee,computed:te,api:_e});return se("parentEmitter",be.emitter),Object.assign(_e,initApi$1({state:be,dispatch:pe,broadcast:fe,props:ee,vm:ue,constants:he,t:ce,emit:de,api:_e}),{closeMenu:closeMenu$1(be),mounted:mounted({api:_e,vm:ue}),created:created$1({api:_e,props:ee,state:be}),getCurrentKey:getCurrentKey$1({api:_e,props:ee}),handleNodeExpand:handleNodeExpand(de),beforeUnmount:beforeUnmount({api:_e,vm:ue,state:be}),wrapMounted:wrapMounted({api:_e,props:ee,service:ve}),initTreeStore:initTreeStore({api:_e,props:ee,state:be,emit:de}),deleteAction:deleteAction({state:be,api:_e,emit:de}),deleteConfirm:deleteConfirm({state:be,props:ee,api:_e}),getSameDataIndex,loopGetTreeData,cancelDelete:cancelDelete({state:be}),openEdit:openEdit$1({props:ee,state:be,api:_e,emit:de}),saveNode:saveNode({state:be,emit:de,api:_e}),addNode:addNode$1({api:_e}),editNode:editNode({state:be}),closeEdit:closeEdit({props:ee,state:be,api:_e,emit:de}),saveEdit:saveEdit$1({props:ee,state:be,emit:de}),setAddDisabledKeys:setAddDisabledKeys({state:be}),setEditDisabledKeys:setEditDisabledKeys({state:be}),setDeleteDisabledKeys:setDeleteDisabledKeys({state:be}),watchDefaultExpandedKeys:watchDefaultExpandedKeys({state:be,api:_e,nextTick:me}),switchToggle:switchToggle({state:be}),initPlainNodeStore:initPlainNodeStore({props:ee,state:be}),handleCheckPlainNode:handleCheckPlainNode({props:ee,emit:de}),handleClickPlainNode:handleClickPlainNode(de)}),_e.created(),initWatcher$1({watch:oe,props:ee,api:_e,state:be,isVue2:ye}),ae(_e.wrapMounted),ne(_e.updated),le(_e.beforeUnmount),_e},toggle=({emit:ee,props:te,state:ae})=>ne=>{if(ne.preventDefault(),ae.disabled||te.types==="loading")return;const ie=()=>{ae.currentValue=ae.currentValue===te.trueValue?te.falseValue:te.trueValue,ee("update:modelValue",ae.currentValue),ee("change",ae.currentValue)};te.beforeChange?te.beforeChange(ie):ie()},computedWarpClasses=({prefixCls:ee,props:te,state:ae})=>()=>[{[ee]:!0,[`${ee}-checked`]:ae.currentValue===te.trueValue,[`${ee}-disabled`]:ae.disabled,mini:te.mini,disabled:ae.disabled}],computedInnerClasses=({prefixCls:ee})=>()=>`${ee}-inner`,computedStyle$1=({props:ee,state:te})=>()=>({backgroundColor:ee.trueValue===te.currentValue?ee.trueColor:ee.falseColor}),api$8=["toggle","state"],renderless$8=(ee,{computed:te,watch:ae,reactive:ne,inject:ie},{parent:oe,constants:se,mode:le,emit:ue,designConfig:ce})=>{const de=se.prefixcls(le);oe.tinyForm=oe.tinyForm||ie("form",null);const he=ne({currentValue:ee.modelValue,innerClasses:te(()=>fe.computedInnerClasses()),wrapClasses:te(()=>fe.computedWarpClasses()),style:te(()=>fe.computedStyle()),formDisabled:te(()=>(oe.tinyForm||{}).disabled),disabled:te(()=>ee.disabled||he.formDisabled||he.isDisplayOnly||ee.loading),isDisplayOnly:te(()=>ee.displayOnly||(oe.tinyForm||{}).displayOnly),showText:te(()=>ee.showText===void 0?(ce==null?void 0:ce.showText)||!1:ee.showText)}),fe={state:he,computedInnerClasses:computedInnerClasses({prefixCls:de}),computedStyle:computedStyle$1({props:ee,state:he}),computedWarpClasses:computedWarpClasses({prefixCls:de,props:ee,state:he}),toggle:toggle({emit:ue,props:ee,state:he})};return ae(()=>ee.modelValue,pe=>{he.currentValue=typeof ee.falseValue!="boolean"||typeof ee.trueValue!="boolean"?pe:!!pe},{immediate:!0}),fe},index$e="";function _createForOfIteratorHelperLoose$g(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$g(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$g(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$g(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$g(ee,te)}}function _arrayLikeToArray$g(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$h=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$g(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$p=defineComponent({emits:["change","update:modelValue"],props:[].concat(props,["modelValue","trueValue","falseValue","disabled","mini","tabindex","showText","beforeChange","displayOnly"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$8,api:api$8})}}),_hoisted_1$j=["tabindex"],_hoisted_2$f={key:0},_hoisted_3$c={key:1};function _sfc_render$i(ee,te,ae,ne,ie,oe){return ee.state.isDisplayOnly?(openBlock(),createElementBlock("span",_hoisted_3$c,[ee.state.currentValue===ee.trueValue?renderSlot(ee.$slots,"open",{key:0},function(){return[createTextVNode(toDisplayString(ee.t("yes")),1)]}):createCommentVNode("v-if",!0),ee.state.currentValue===ee.falseValue?renderSlot(ee.$slots,"close",{key:1},function(){return[createTextVNode(toDisplayString(ee.t("no")),1)]}):createCommentVNode("v-if",!0)])):(openBlock(),createElementBlock("span",{key:0,class:normalizeClass([ee.state.wrapClasses,ee.state.showText?"tiny-switch__text":""]),tabindex:ee.tabindex,onClick:te[0]||(te[0]=function(){return ee.toggle&&ee.toggle.apply(ee,arguments)}),onKeydown:[te[1]||(te[1]=withKeys(function(){return ee.toggle&&ee.toggle.apply(ee,arguments)},["space"])),te[2]||(te[2]=withKeys(function(){return ee.toggle&&ee.toggle.apply(ee,arguments)},["enter"]))]},[createBaseVNode("span",{class:normalizeClass(ee.state.innerClasses)},[!ee.mini&&ee.state.showText?(openBlock(),createElementBlock("div",_hoisted_2$f,[ee.state.currentValue===ee.trueValue?renderSlot(ee.$slots,"open",{key:0},function(){return[createTextVNode("ON")]}):createCommentVNode("v-if",!0),ee.state.currentValue===ee.falseValue?renderSlot(ee.$slots,"close",{key:1},function(){return[createTextVNode("OFF")]}):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0)],2)],42,_hoisted_1$j))}var pc$8=_export_sfc$h(_sfc_main$p,[["render",_sfc_render$i]]);const index$d="";function _createForOfIteratorHelperLoose$f(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$f(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$f(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$f(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$f(ee,te)}}function _arrayLikeToArray$f(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$g=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$f(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$o=defineComponent({props:[].concat(props,["modelValue","trueValue","falseValue","disabled","loading","mini"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$8,api:api$8})}}),_hoisted_1$i=["disabled"],_hoisted_2$e={key:0,class:"tiny-mobile-switch-loading"},_hoisted_3$b=createBaseVNode("div",{class:"tiny-mobile-switch-loading-inner"},null,-1),_hoisted_4$9=[_hoisted_3$b];function _sfc_render$h(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("span",{class:normalizeClass(ee.state.wrapClasses),disabled:ee.disabled,tabindex:"0",onClick:te[0]||(te[0]=function(){return ee.toggle&&ee.toggle.apply(ee,arguments)}),onKeydown:te[1]||(te[1]=withKeys(function(){return ee.toggle&&ee.toggle.apply(ee,arguments)},["space"]))},[ee.loading?(openBlock(),createElementBlock("div",_hoisted_2$e,_hoisted_4$9)):createCommentVNode("v-if",!0)],42,_hoisted_1$i)}var mobile$3=_export_sfc$g(_sfc_main$o,[["render",_sfc_render$h]]);function _createForOfIteratorHelperLoose$e(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$e(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$e(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$e(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$e(ee,te)}}function _arrayLikeToArray$e(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$f=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$e(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},classes$1={"switch-default":"inline-block align-middle transition-all duration-200 ease-in-out rounded-full relative outline-0","switch-small":"w-10 h-6 sm:w-9 sm:h-5","switch-mini":"w-8 h-5 sm:w-7 sm:h-4","switch-medium":"w-10 h-6","switch-handle-default":'before:content-[""] before:rounded-full before:bg-color-bg-1 before:absolute before:cursor-pointer before:transition-all before:duration-200 before:ease-in-out before:text-center before:top-0.5',"switch-handle-small":"before:w-5 before:h-5 before:sm:w-4 before:sm:h-4","switch-handle-mini":"before:w-4 before:h-4 before:sm:w-3 before:sm:h-3","switch-handle-medium":"before:w-5 before:h-5","switch-true-disabled":"bg-color-brand-disabled cursor-not-allowed","switch-false-disabled":"bg-color-border-separator cursor-not-allowed","switch-true-not-disabled":"before:[&_span:nth-of-type(1)]:shadow-xsm bg-color-brand cursor-pointer","switch-false-not-disabled":"before:[&_span:nth-of-type(1)]:shadow-xsm bg-color-icon-disabled cursor-pointer","switch-handle-false-small":"before:left-0.5","switch-handle-false-medium":"before:left-0.5","switch-handle-false-mini":"before:left-0.5","switch-handle-false-small-disabled":"before:left-0.5","switch-handle-false-medium-disabled":"before:left-0.5","switch-handle-false-mini-disabled":"before:left-0.5","switch-handle-true-small":"before:left-4.5","switch-handle-true-medium":"before:left-4.5","switch-handle-true-mini":"before:left-3.5","switch-handle-true-small-disabled":"before:left-4.5","switch-handle-true-medium-disabled":"before:left-4.5","switch-handle-true-mini-disabled":"before:left-3.5","switch-inner-default":"absolute transition-all duration-200 ease-in-out text-color-bg-1 flex items-center justify-center top-0.5","switch-inner-small":"w-5 h-5 sm:w-4 sm:h-4","switch-inner-mini":"w-4 h-4 sm:w-3 sm:h-3","switch-inner-medium":"w-5 h-5","switch-inner-true-word":"left-px","switch-inner-false-small-word":"left-4.5","switch-inner-false-medium-word":"left-4.5","switch-inner-false-mini-word":"left-3.5","switch-inner-false-icon":"left-0.5","switch-inner-true-small-icon":"left-4.5","switch-inner-true-medium-icon":"left-4.5","switch-inner-true-mini-icon":"left-3.5","switch-icon-small":"w-4 h-4 sm:w-3 sm:h-3","switch-icon-medium":"w-4 h-4","switch-icon-mini":"w-3 h-3 sm:w-2 sm:h-2","switch-icon-false-disabled":"fill-color-border-separator","switch-icon-false-default":"fill-color-icon-disabled","switch-icon-true-disabled":"fill-color-brand-disabled","switch-icon-true-default":"fill-color-brand","switch-loading-small":"w-5 h-5 sm:w-4 sm:h-4","switch-loading-medium":"w-5 h-5","switch-loading-mini":"w-4 h-4 sm:w-3 sm:h-3 "},_sfc_main$n=defineComponent({emits:["change","update:modelValue"],props:[].concat(props,["modelValue","trueValue","falseValue","disabled","size","tabindex","types"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$8,api:api$8,classes:classes$1})}}),_hoisted_1$h=["tabindex"],_hoisted_2$d={key:0,"data-tag":"tiny-switch-word",class:"sm:text-xs text-sm"},_hoisted_3$a={key:1,"data-tag":"tiny-switch-icon"},_hoisted_4$8=createBaseVNode("path",{d:"M9.9 15.6l9.4-9.4c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-10 10.1c-.4.4-1 .4-1.4 0-.1 0-.1-.1-.2-.1l-5.8-5.8c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.2 5.2z"},null,-1),_hoisted_5$7=[_hoisted_4$8],_hoisted_6$6=createBaseVNode("path",{d:"M13.4 12l6.3-6.3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L12 10.6 5.7 4.3c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4l6.3 6.3-6.3 6.3c-.4.4-.4 1 0 1.4.2.2.4.3.7.3.3 0 .5-.1.7-.3l6.3-6.3 6.3 6.3c.2.2.4.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4L13.4 12z"},null,-1),_hoisted_7$5=[_hoisted_6$6],_hoisted_8$3={key:2,"data-tag":"tiny-switch-loading"},_hoisted_9$3=createBaseVNode("path",{d:"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z",transform:"rotate(275.098 75 75)"},[createBaseVNode("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 25 25",to:"360 25 25",dur:"1s",repeatCount:"indefinite"})],-1),_hoisted_10$3=[_hoisted_9$3],_hoisted_11$3=createBaseVNode("path",{d:"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z",transform:"rotate(275.098 75 75)"},[createBaseVNode("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 25 25",to:"360 25 25",dur:"1s",repeatCount:"indefinite"})],-1),_hoisted_12$3=[_hoisted_11$3];function _sfc_render$g(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("span",{class:normalizeClass(ee.m(ee.gcls("switch-default"),ee.gcls("switch-"+(ee.size?ee.size:"small")),ee.gcls((ee.state.currentValue===ee.trueValue?"switch-true":"switch-false")+(ee.disabled||ee.types==="loading"?"-disabled":"-not-disabled")))),"data-tag":"tiny-switch",tabindex:ee.tabindex,onClick:te[0]||(te[0]=function(){return ee.toggle&&ee.toggle.apply(ee,arguments)}),onKeydown:te[1]||(te[1]=withKeys(function(){return ee.toggle&&ee.toggle.apply(ee,arguments)},["space"]))},[createBaseVNode("span",{"data-tag":"tiny-switch-handle",class:normalizeClass(ee.m(ee.gcls("switch-handle-default"),ee.gcls("switch-handle-"+(ee.size?ee.size:"small")),ee.gcls(ee.state.currentValue===ee.trueValue?"switch-handle-true-"+(ee.size?ee.size:"small")+(ee.disabled||ee.types==="loading"?"-disabled":""):"switch-handle-false-"+(ee.size?ee.size:"small")+(ee.disabled||ee.types==="loading"?"-disabled":""))))},null,2),createBaseVNode("span",{"data-tag":"tiny-switch-inner",class:normalizeClass(ee.m(ee.gcls("switch-inner-default"),ee.gcls("switch-inner-"+(ee.size?ee.size:"small")),ee.gcls(ee.state.currentValue===ee.trueValue?ee.types==="word"?"switch-inner-true-word":"switch-inner-true-"+(ee.size?ee.size:"small")+"-icon":ee.types==="word"?"switch-inner-false-"+(ee.size?ee.size:"small")+"-word":"switch-inner-false-icon")))},[ee.types==="word"?(openBlock(),createElementBlock("div",_hoisted_2$d,[ee.state.currentValue===ee.trueValue?renderSlot(ee.$slots,"open",{key:0},function(){return[createTextVNode(toDisplayString(ee.t("yes")),1)]}):createCommentVNode("v-if",!0),ee.state.currentValue===ee.falseValue?renderSlot(ee.$slots,"close",{key:1},function(){return[createTextVNode(toDisplayString(ee.t("no")),1)]}):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),ee.types==="icon"?(openBlock(),createElementBlock("div",_hoisted_3$a,[ee.state.currentValue===ee.trueValue?renderSlot(ee.$slots,"open",{key:0},function(){return[(openBlock(),createElementBlock("svg",{viewBox:"0 0 24 24",class:normalizeClass([ee.gcls("switch-icon-"+(ee.size?ee.size:"small")),ee.gcls("switch-icon-true-"+(ee.disabled?"disabled":"default"))])},_hoisted_5$7,2))]}):createCommentVNode("v-if",!0),ee.state.currentValue===ee.falseValue?renderSlot(ee.$slots,"close",{key:1},function(){return[(openBlock(),createElementBlock("svg",{viewBox:"0 0 24 24",class:normalizeClass([ee.gcls("switch-icon-"+(ee.size?ee.size:"small")),ee.gcls("switch-icon-false-"+(ee.disabled?"disabled":"default"))])},_hoisted_7$5,2))]}):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),ee.types==="loading"?(openBlock(),createElementBlock("div",_hoisted_8$3,[ee.state.currentValue===ee.trueValue?renderSlot(ee.$slots,"open",{key:0},function(){return[(openBlock(),createElementBlock("svg",{viewBox:"0 0 48 48",class:normalizeClass([ee.gcls("switch-loading-"+(ee.size?ee.size:"small")),ee.gcls("switch-icon-true-disabled")])},_hoisted_10$3,2))]}):createCommentVNode("v-if",!0),ee.state.currentValue===ee.falseValue?renderSlot(ee.$slots,"close",{key:1,dataTag:"tiny-switch-close"},function(){return[(openBlock(),createElementBlock("svg",{viewBox:"0 0 48 48",class:normalizeClass([ee.gcls("switch-loading-"+(ee.size?ee.size:"small")),ee.gcls("switch-icon-false-disabled")])},_hoisted_12$3,2))]}):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0)],2)],42,_hoisted_1$h)}var mobileFirst$2=_export_sfc$f(_sfc_main$n,[["render",_sfc_render$g]]);function _extends$9(){return _extends$9=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$9.apply(this,arguments)}var template$8=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$8:(ne||te)==="mobile"?mobile$3:(ne||te)==="mobile-first"?mobileFirst$2:pc$8},$constants$5={PC_PREFIXCLS:"tiny-switch",MOBILE_PREFIXCLS:"tiny-mobile-switch",Mode:"pc",prefixcls:function(te){return te===this.Mode?this.PC_PREFIXCLS:this.MOBILE_PREFIXCLS}},switchProps=_extends$9({},$props,{_constants:{type:Object,default:function(){return $constants$5}},disabled:{type:Boolean,default:!1},showText:{type:Boolean||void 0,default:void 0},types:{type:String},falseColor:String,falseValue:{type:[String,Number,Boolean],default:!1},mini:{type:Boolean,default:!1},modelValue:{type:[String,Number,Boolean],default:!1},size:[Number,String],tabindex:{type:String,default:"1"},trueColor:String,trueValue:{type:[String,Number,Boolean],default:!0},beforeChange:Function,displayOnly:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}}),Switch=defineComponent({name:$prefix+"Switch",props:switchProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$8})}}),version$b="3.16.0";Switch.model={prop:"modelValue",event:"update:modelValue"};Switch.install=function(ee){ee.component(Switch.name,Switch)};Switch.version=version$b;const watchIndeterminate=({api:ee,props:te})=>ae=>ee.handleSelectChange(te.node.checked,ae),watchChecked=({api:ee,props:te})=>ae=>ee.handleSelectChange(ae,te.node.indeterminate),watchExpanded=({state:ee})=>te=>{ee.expanded=te,te&&(ee.childNodeRendered=!0)},getNodeKey=ee=>te=>getNodeKey$2(ee.tree.nodeKey,te.data),getVisibleNodes=(ee,te)=>{if(ee.visible){const ae=ee.childNodes;Object.assign(te,{checked:ee.checked,expanded:ee.expanded,level:ee.level,isLeaf:ee.isLeaf},ee.data,{children:[]}),ae.forEach(ne=>{if(ne.visible){const ie={};getVisibleNodes(ne,ie),te.children.push(ie)}}),te.children.length||delete te.children}},handleSelectChange=({props:ee,state:te})=>(ae,ne)=>{if(te.tree.state.store.setCurrentNode(ee.node),te.oldChecked!==ae&&te.oldIndeterminate!==ne){const ie={};getVisibleNodes(ee.node,ie),te.tree.$emit("check-change",ie,ae,ne)}te.oldChecked=ae,te.indeterminate=ne},handleClick$1=({api:ee,vm:te,props:ae,state:ne})=>ie=>{const oe=ne.tree.state.store;ne.tree.clearCurrentStore(ae.node),ne.tree.onlyCheckChildren?ae.node.isLeaf&&!ae.node.disabled&&(oe.setCurrentNode(ae.node),ne.tree.$emit("current-change",oe.currentNode?oe.currentNode.data:null,oe.currentNode)):(oe.setCurrentNode(ae.node),!ae.node.disabled&&ne.tree.$emit("current-change",oe.currentNode?oe.currentNode.data:null,oe.currentNode)),ne.tree.currentNode=te,ne.tree.checkOnClickNode&&!ae.node.disabled&&(ie.target.checked=!ae.node.checked,ee.handleCheckChange(null,ie));const se=ae.showCheckbox?te.$refs.checkbox&&!te.$refs.checkbox.$el.contains(ie.target):!0;if(ne.tree.onlyCheckChildren){if(ae.node.isLeaf&&!ae.node.disabled){ne.tree.$emit("node-click",ae.node.data,ae.node,te);return}ee.handleExpandClick(!1)}else{if(!ne.tree.collapsible||!ne.tree.expandOnClickNode){!ae.node.disabled&&ne.tree.$emit("node-click",ae.node.data,ae.node,te);return}ne.tree.expandOnClickNode&&se&&ee.handleExpandClick(se)}},closeMenu=ee=>()=>{ee.showMenu=!1},handleContextMenu=({treeRoot:ee,vm:te,props:ae,state:ne,nextTick:ie})=>oe=>{const se=ee.vm.$listeners;(ee.showContextmenu||se["node-contextmenu"])&&(oe.stopPropagation(),oe.preventDefault()),ne.tree.$parent.$emit("node-contextmenu",oe,ae.node.data,ae.node,te),ee.showContextmenu&&(ne.showMenu=!0,ne.tree.$parent.menuInstance=te,ie(()=>{const le=te.$refs.menuContext.offsetWidth,ue=ne.tree.$parent.$el.offsetWidth;oe.clientY>-10&&(ne.menuposition.top=`${te.$refs.node.offsetTop+te.$refs.node.childNodes[0].offsetHeight/2}px`),oe.clientX>-10&&(le>ue?ne.menuposition.left=0:ne.menuposition.left=oe.offsetX+le>ue?`${ue-le}px`:`${oe.offsetX}px`)}))},handleExpandIconClick=({api:ee,state:te})=>(ae,ne)=>{ne.isLeaf||(te.tree.iconTriggerClickNode?ee.handleExpandClick(!0):ee.handleExpandClick(!1),ae.stopPropagation())},handleExpandClick=({emit:ee,vm:te,props:ae,state:ne})=>ie=>{ie&&ne.tree.$parent.$emit("node-click",ae.node.data,ae.node,te),!ae.node.isLeaf&&(ne.expanded?(ne.tree.$parent.$emit("node-collapse",ae.node.data,ae.node,te),ae.node.collapse()):(ae.node.expand(),ee("node-expand",ae.node.data,ae.node,te)))},handleCheckChange=({nextTick:ee,props:te,state:ae})=>(ne,ie={})=>{(ie.type==="click"||ie.type==="mousedown")&&te.node.setChecked(ie.target.checked,!ae.tree.checkStrictly),te.checkEasily&&ae.tree.checkStrictly?!ae.tree.checkOnClickNode&&te.node.setChecked(ie.target.checked,!0,!1,!1,!0):!ae.tree.checkOnClickNode&&te.node.setChecked(ie.target.checked,!ae.tree.checkStrictly),ee(()=>{const oe=ae.tree.state.store;ae.tree.$emit("check",te.node.data,{checkedNodes:oe.getCheckedNodes(),checkedKeys:oe.getCheckedKeys(),halfCheckedNodes:oe.getHalfCheckedNodes(),halfCheckedKeys:oe.getHalfCheckedKeys()})})},handleContentClick=({nextTick:ee,props:te,state:ae,emit:ne})=>(ie,oe)=>{te.showRadio&&!ie.disabled&&oe.value!==ie.id&&(ne("radio-change",ie.id),ee(()=>{const se=__spreadValues({},ie.data);ae.tree.$emit("check-change",se)}))},handleChildNodeExpand=ee=>(te,ae,ne)=>{ee.tree.$emit("node-expand",te,ae,ne)},handleDragStart=({state:ee,vm:te})=>ae=>{ee.tree.draggable&&ee.tree.state.emitter.emit("tree-node-drag-start",ae,te)},handleDragOver=({state:ee,vm:te})=>ae=>{ee.tree.draggable&&(ee.tree.state.emitter.emit("tree-node-drag-over",ae,te),ae.preventDefault())},handleDrop=()=>ee=>ee.preventDefault(),handleDragEnd$1=({state:ee,vm:te})=>ae=>{ee.tree.draggable&&ee.tree.state.emitter.emit("tree-node-drag-end",ae,te)},created=({props:ee,state:te})=>ae=>{const oe=(te.tree.props||{}).children||"children";ae(oe),ee.node.expanded&&(te.expanded=!0,te.childNodeRendered=!0)},onSiblingToggleExpand=({state:ee,props:te})=>({isExpand:ae,sibling:ne})=>{ee.tree.accordion&&ae&&te.node&&ne&&te.node.id!==ne.id&&te.node.collapse()},watchExpandedChange=({state:ee,props:te})=>()=>{ee.tree.accordion&&ee.parentEmitter.emit("sibling-node-toggle-expand",{isExpand:te.node.expanded,sibling:te.node})},openEdit=({state:ee,vm:te})=>ae=>{ee.tree.state.emitter.emit("tree-node-edit",ae),setTimeout(()=>{const ne=te.$refs.editInput||te.$el.querySelector("input");ne&&ne.focus()},300)},saveEdit=({state:ee})=>te=>{te.stopPropagation(),ee.tree.state.emitter.emit("tree-node-save")},deleteNode=({state:ee})=>(te,ae)=>{ee.tree.state.emitter.emit("tree-node-delete",te,ae)},addNode=({state:ee,props:te,api:ae})=>(ne,ie)=>{te.node.expand(),ae.openEdit(),ee.tree.state.emitter.emit("tree-node-add",ne,ie)},computedExpandIcon=({designConfig:ee})=>(te,ae)=>{var ne,ie;if(ae.tree.icon)return ae.tree.icon;if(te.showLine){const oe=((ne=ee==null?void 0:ee.icons)==null?void 0:ne.expanded)||"icon-minus-square",se=((ie=ee==null?void 0:ee.icons)==null?void 0:ie.collapse)||"icon-plus-square";return ae.expanded?oe:se}return"icon-chevron-right"},computedIndent=()=>({node:ee,showLine:te},{tree:ae})=>(ee.level>1?1:0)*(parseInt(ae.indent)+(te?8:0))+parseInt(ae.baseIndent)+"px",api$7=["state","getNodeKey","handleClick","handleContentClick","closeMenu","handleDragEnd","handleDrop","handleDragOver","handleDragStart","handleChildNodeExpand","handleSelectChange","handleContextMenu","handleExpandIconClick","openEdit","addNode","saveEdit","deleteNode","handleCheckChange"],initState=({reactive:ee,treeRoot:te,props:ae,emitter:ne,$parentEmitter:ie,vm:oe,api:se,computed:le})=>{const ue=ee({tree:te,expanded:!1,oldChecked:null,indeterminate:null,oldIndeterminate:null,expandIcon:ae.expandIcon,childNodeRendered:!1,showMenu:!1,menuposition:{position:"absolute",top:0,left:0},shrinkIcon:ae.shrinkIcon,expandIconColor:ae.expandIconColor,shrinkIconColor:ae.shrinkIconColor,emitter:ne(),parentEmitter:ie,isSaaSTheme:(ae.theme||oe.theme)==="saas",computedExpandIcon:le(()=>se.computedExpandIcon(te,ue)),computedIndent:le(()=>se.computedIndent(ae,ue))});return ue},initApi=({api:ee,state:te,dispatch:ae,broadcast:ne,vm:ie,props:oe,treeRoot:se,nextTick:le,emit:ue,designConfig:ce})=>{Object.assign(ee,{state:te,dispatch:ae,broadcast:ne,watchExpanded:debounce_default(20,watchExpanded({state:te})),created:created({props:oe,state:te}),getNodeKey:getNodeKey(te),closeMenu:closeMenu(te),handleSelectChange:handleSelectChange({props:oe,state:te}),handleContextMenu:handleContextMenu({vm:ie,treeRoot:se,props:oe,state:te,nextTick:le}),handleExpandClick:handleExpandClick({emit:ue,vm:ie,props:oe,state:te}),handleCheckChange:handleCheckChange({nextTick:le,props:oe,state:te}),handleDragStart:handleDragStart({state:te,vm:ie}),handleDragOver:handleDragOver({state:te,vm:ie}),handleDrop:handleDrop(),handleDragEnd:handleDragEnd$1({state:te,vm:ie}),handleContentClick:handleContentClick({nextTick:le,props:oe,state:te,emit:ue}),onSiblingToggleExpand:onSiblingToggleExpand({state:te,props:oe}),watchExpandedChange:watchExpandedChange({state:te,props:oe}),handleClick:handleClick$1({api:ee,vm:ie,props:oe,state:te}),watchIndeterminate:watchIndeterminate({api:ee,props:oe}),watchChecked:watchChecked({api:ee,props:oe}),openEdit:openEdit({state:te,vm:ie}),addNode:addNode({state:te,props:oe,api:ee}),saveEdit:saveEdit({state:te}),deleteNode:deleteNode({state:te}),handleChildNodeExpand:handleChildNodeExpand(te),handleExpandIconClick:handleExpandIconClick({api:ee,state:te}),computedExpandIcon:computedExpandIcon({designConfig:ce}),computedIndent:computedIndent()})},initWatcher=({watch:ee,state:te,api:ae,props:ne})=>{ee(()=>te.expanded,ae.watchExpandedChange),ee(()=>ne.node.indeterminate,ae.watchIndeterminate,{deep:!0}),ee(()=>ne.node.checked,ae.watchChecked,{deep:!0}),ee(()=>ne.node.expanded,ae.watchExpanded,{deep:!0})},renderless$7=(ee,{reactive:te,watch:ae,inject:ne,provide:ie,computed:oe},{vm:se,nextTick:le,emit:ue,broadcast:ce,dispatch:de,emitter:he,designConfig:fe},{isVue2:pe})=>{const ve={},ge=ne("TreeRoot"),me=ne("parentEmitter"),ye=initState({reactive:te,treeRoot:ge,props:ee,emitter:he,$parentEmitter:me,vm:se,api:ve,computed:oe});return ye.tree.accordion&&ye.parentEmitter.on("sibling-node-toggle-expand",_e=>ve.onSiblingToggleExpand(_e)),ie("parentEmitter",ye.emitter),initApi({api:ve,state:ye,dispatch:de,broadcast:ce,vm:se,props:ee,treeRoot:ge,nextTick:le,emit:ue,designConfig:fe}),initWatcher({watch:ae,state:ye,api:ve,props:ee}),ve.created(_e=>{ae(()=>ee.node.data[_e],()=>{ee.node.updateChildren()}),pe||(ee.node.updateMethod=(be,xe)=>{xe==="expanded"&&ve.watchExpanded(be[xe])})}),ye.parentEmitter.on("closeMenu",()=>{ve.closeMenu(),ye.emitter.emit("closeMenu")}),ve},index$c="";function _createForOfIteratorHelperLoose$d(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$d(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$d(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$d(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$d(ee,te)}}function _arrayLikeToArray$d(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$e=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$d(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$m=defineComponent({name:$prefix+"CollapseTransition",setup:function(){return{on:{beforeEnter:function(ae){addClass(ae,"collapse-transition"),ae.dataset||(ae.dataset={}),ae.dataset.oldPaddingBottom=ae.style.paddingBottom,ae.dataset.oldPaddingTop=ae.style.paddingTop,ae.style.height="0",ae.style.paddingTop=0,ae.style.paddingBottom=0},enter:function(ae){ae.dataset.oldOverflow=ae.style.overflow,ae.scrollHeight===0?(ae.style.height="",ae.style.paddingBottom=ae.dataset.oldPaddingBottom,ae.style.paddingTop=ae.dataset.oldPaddingTop):(ae.style.height=ae.scrollHeight+"px",ae.style.paddingBottom=ae.dataset.oldPaddingBottom,ae.style.paddingTop=ae.dataset.oldPaddingTop),ae.style.overflow="hidden"},afterEnter:function(ae){removeClass(ae,"collapse-transition"),ae.style.height="",ae.style.overflow=ae.dataset.oldOverflow},beforeLeave:function(ae){ae.dataset||(ae.dataset={}),ae.dataset.oldOverflow=ae.style.overflow,ae.dataset.oldPaddingBottom=ae.style.paddingBottom,ae.dataset.oldPaddingTop=ae.style.paddingTop,ae.style.height=ae.scrollHeight+"px",ae.style.overflow="hidden"},leave:function(ae){ae.scrollHeight!==0&&(addClass(ae,"collapse-transition"),ae.style.transitionProperty="height",ae.style.height=0,ae.style.paddingTop=0,ae.style.paddingBottom=0)},afterLeave:function(ae){removeClass(ae,"collapse-transition"),ae.style.height="",ae.style.overflow=ae.dataset.oldOverflow,ae.style.paddingBottom=ae.dataset.oldPaddingBottom,ae.style.paddingTop=ae.dataset.oldPaddingTop}}}}});function _sfc_render$f(ee,te,ae,ne,ie,oe){return openBlock(),createBlock(Transition$1,toHandlers(ee.on),{default:withCtx(function(){return[renderSlot(ee.$slots,"default")]}),_:3},16)}var CollapseTransition=_export_sfc$e(_sfc_main$m,[["render",_sfc_render$f]]),version$a="3.16.0";CollapseTransition.install=function(ee){ee.component(CollapseTransition.name,CollapseTransition)};CollapseTransition.version=version$a;const handleChange=({constants:ee,dispatch:te,emit:ae,state:ne,nextTick:ie})=>()=>{ie(()=>{ae("change",ne.model),ne.isGroup&&te(ee.RADIO_GROUP,"handleChange",[ne.model])})},isGroup=({constants:ee,parent:te,state:ae})=>()=>{let ne=te.$parent.$parent;for(;ne;)if(ne.$options.componentName!==ee.RADIO_GROUP)ne=ne.$parent;else return ae.radioGroup=ne,!0;return!1},radioSize=({props:ee,state:te})=>()=>{var ae,ne;return te.isGroup&&((ne=(ae=te.radioGroup)==null?void 0:ae.state)!=null&&ne.radioGroupSize)?te.radioGroup.state.radioGroupSize:ee.size},isDisabled=({props:ee,state:te})=>()=>{var ae;return ee.disabled||((ae=te.radioGroup)==null?void 0:ae.disabled)||te.formDisabled},isDisplayOnly=({props:ee})=>()=>ee.displayOnly,tabIndex=({props:ee,state:te})=>()=>te.isDisabled||te.isGroup&&te.model!==ee.label?-1:0,getModel=({props:ee,state:te})=>()=>te.isGroup&&te.radioGroup?te.radioGroup.modelValue:ee.modelValue,setModel=({constants:ee,dispatch:te,emit:ae,props:ne,vm:ie,state:oe})=>se=>{oe.isGroup?te(ee.RADIO_GROUP,"update:modelValue",[se]):ae("update:modelValue",se),ie.$refs.radio&&(ie.$refs.radio.checked=oe.model===ne.label)},toggleEvent=({props:ee,vm:te,type:ae})=>{const ne=te.$refs.radio;ne&&Object.keys(ee.events).forEach(ie=>{ne[ae+"EventListener"](ie,ee.events[ie])})},api$6=["state","handleChange"],renderless$6=(ee,{onMounted:te,onBeforeUnmount:ae,computed:ne,reactive:ie,inject:oe},{vm:se,parent:le,emit:ue,constants:ce,nextTick:de,dispatch:he})=>{le.tinyForm=le.tinyForm||oe("form",null);const fe={},pe=ie({vertical:oe("radioVertical",!1),size:ne(()=>ee.size||oe("size",null)||(le.tinyForm||{}).size),focus:!1,radioGroup:null,isGroup:ne(()=>fe.isGroup()),radioSize:ne(()=>fe.radioSize()),isDisabled:ne(()=>fe.isDisabled()),isDisplayOnly:ne(()=>fe.isDisplayOnly()||(le.tinyForm||{}).displayOnly),tabIndex:ne(()=>fe.tabIndex()),formDisabled:ne(()=>(le.tinyForm||{}).disabled),model:ne({get:()=>fe.getModel(),set:ve=>fe.setModel(ve)})});return Object.assign(fe,{state:pe,radioSize:radioSize({props:ee,state:pe}),getModel:getModel({props:ee,state:pe}),isGroup:isGroup({constants:ce,parent:le,state:pe}),tabIndex:tabIndex({props:ee,state:pe}),isDisabled:isDisabled({props:ee,state:pe}),isDisplayOnly:isDisplayOnly({props:ee}),setModel:setModel({constants:ce,dispatch:he,emit:ue,props:ee,vm:se,state:pe}),handleChange:handleChange({constants:ce,dispatch:he,emit:ue,state:pe,nextTick:de})}),te(()=>{he("Tooltip","tooltip-update"),toggleEvent({props:ee,vm:se,type:"add"})}),ae(()=>{toggleEvent({props:ee,vm:se,type:"remove"})}),fe},index$b="";function _createForOfIteratorHelperLoose$c(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$c(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$c(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$c(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$c(ee,te)}}function _arrayLikeToArray$c(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$d=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$c(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$l=defineComponent({emits:["change","update:modelValue"],props:[].concat(props,["modelValue","events","label","text","disabled","name","border","size","tabindex","displayOnly"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$6,api:api$6})}}),_hoisted_1$g=["aria-checked","aria-disabled"],_hoisted_2$c=["tabindex"],_hoisted_3$9=["value","name","disabled"];function _sfc_render$e(ee,te,ae,ne,ie,oe){return!ee.state.isDisplayOnly||ee.state.model===ee.label?(openBlock(),createElementBlock("label",mergeProps({key:0,class:["tiny-radio",[ee.border&&ee.state.radioSize?"tiny-radio--"+ee.state.radioSize:"",{"is-disabled":ee.state.isDisabled},{"is-focus":ee.state.focus},{"is-bordered":ee.border},{"is-checked":ee.state.model===ee.label},{"is-display-only":ee.state.isDisplayOnly}]],role:"radio","aria-checked":ee.state.model===ee.label,"aria-disabled":ee.state.isDisabled,tabindex:"-1",onKeydown:te[6]||(te[6]=withKeys(withModifiers(function(se){return ee.state.model=ee.state.isDisabled?ee.state.model:ee.label},["stop","prevent"]),["space"]))},ee.a(ee.$attrs,["class","style"],!0)),[createBaseVNode("span",{class:normalizeClass(["tiny-radio__input",{"is-disabled":ee.state.isDisabled,"is-checked":ee.state.model===ee.label}])},[createBaseVNode("span",{class:"tiny-radio__inner",tabindex:ee.tabindex},null,8,_hoisted_2$c),withDirectives(createBaseVNode("input",{ref:"radio",class:"tiny-radio__original",value:ee.label,type:"radio","aria-hidden":"true","onUpdate:modelValue":te[0]||(te[0]=function(se){return ee.state.model=se}),onFocus:te[1]||(te[1]=function(se){return ee.state.focus=!0}),onBlur:te[2]||(te[2]=function(se){return ee.state.focus=!1}),onChange:te[3]||(te[3]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),name:ee.name,disabled:ee.state.isDisabled,onClick:te[4]||(te[4]=withModifiers(function(){},["stop"]))},null,40,_hoisted_3$9),[[vModelRadio,ee.state.model]])],2),createBaseVNode("span",{class:"tiny-radio__label",onKeydown:te[5]||(te[5]=withModifiers(function(){},["stop"]))},[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.text||ee.label),1)]})],32)],16,_hoisted_1$g)):createCommentVNode("v-if",!0)}var pc$7=_export_sfc$d(_sfc_main$l,[["render",_sfc_render$e]]);const index$a="";function _createForOfIteratorHelperLoose$b(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$b(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$b(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$b(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$b(ee,te)}}function _arrayLikeToArray$b(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$c=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$b(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$k=defineComponent({emits:["change","update:modelValue"],props:[].concat(props,["modelValue","events","label","text","disabled","name"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$6,api:api$6})}}),_hoisted_1$f=["aria-checked","aria-disabled","tabindex"],_hoisted_2$b={class:"tiny-mobile-radio__input"},_hoisted_3$8=createBaseVNode("div",{class:"tiny-mobile-radio__outer"},[createBaseVNode("div",{class:"tiny-mobile-radio__inner"})],-1),_hoisted_4$7=["value","name","disabled"];function _sfc_render$d(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("label",{class:normalizeClass(["tiny-mobile-radio",[{"is-disabled":ee.state.isDisabled},{"is-focus":ee.state.focus},{"is-checked":ee.state.model===ee.label}]]),role:"radio","aria-checked":ee.state.model===ee.label,"aria-disabled":ee.state.isDisabled,tabindex:ee.state.tabIndex,onKeydown:te[5]||(te[5]=withKeys(withModifiers(function(se){return ee.state.model=ee.state.isDisabled?ee.state.model:ee.label},["stop","prevent"]),["space"]))},[createBaseVNode("div",_hoisted_2$b,[_hoisted_3$8,withDirectives(createBaseVNode("input",{ref:"radio",class:"tiny-mobile-radio__original",value:ee.label,type:"radio","aria-hidden":"true","onUpdate:modelValue":te[0]||(te[0]=function(se){return ee.state.model=se}),onFocus:te[1]||(te[1]=function(se){return ee.state.focus=!0}),onBlur:te[2]||(te[2]=function(se){return ee.state.focus=!1}),onChange:te[3]||(te[3]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),name:ee.name,disabled:ee.state.isDisabled,tabindex:"-1"},null,40,_hoisted_4$7),[[vModelRadio,ee.state.model]])]),createBaseVNode("span",{class:"tiny-mobile-radio__label",onKeydown:te[4]||(te[4]=withModifiers(function(){},["stop"]))},[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.text||ee.label),1)]})],32)],42,_hoisted_1$f)}var mobile$2=_export_sfc$c(_sfc_main$k,[["render",_sfc_render$d]]);function _createForOfIteratorHelperLoose$a(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$a(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$a(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$a(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$a(ee,te)}}function _arrayLikeToArray$a(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$b=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$a(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},classes={"radio-default":"radio inline-flex items-center align-middle leading-4 cursor-pointer sm:flex-row py-px sm:py-0 h-fit","radio-label-common":"relative text-center w-7 h-7 mr-2 sm:mr-0","radio-label-size-common":"sm:w-4 sm:h-4","radio-label-size-medium":"sm:w-6 sm:h-6","radio-label-circle":"inline-flex p-3 sm:p-0","icon-common":"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-0 transition-all","icon-show":"opacity-100 scale-100 z-10","icon-hidden":"opacity-0 scale-0 z-0","icon-radioselected-common":"w-5 h-5 fill-color-bg-1 flex-1 [&_circle:nth-of-type(1)]:fill-color-bg-1","icon-radioselected-size-common":"sm:w-4 sm:h-4","icon-radioselected-size-medium":"sm:w-6 sm:h-6","icon-radioselected-disabled":"fill-color-brand-disabled cursor-not-allowed [&_circle:nth-of-type(1)]:fill-color-bg-1","icon-radioselected-default":"fill-color-brand [&_circle:nth-of-type(1)]:shadow-xsm","icon-radio-common":"w-5 h-5 flex-1","icon-radio-size-common":"sm:w-4 sm:h-4","icon-radio-size-medium":"sm:w-6 sm:h-6","icon-radio-default":"fill-color-bg-1 [&_path:nth-of-type(1)]:fill-color-icon-secondary","icon-radio-disabled":"[&_path:nth-of-type(1)]:fill-color-icon-disabled [&_path:nth-of-type(2)]:fill-color-bg-3 cursor-not-allowed","mobile-icon-radioselected-disabled":"fill-color-bg-1 [&_path:nth-of-type(1)]:fill-color-brand-disabled cursor-not-allowed","mobile-icon-radioselected-default":"fill-color-bg-1 [&_path:nth-of-type(1)]:fill-color-brand [&_path:nth-of-type(1)]:shadow-xsm","mobile-icon-radio-default":"[&_path:nth-of-type(2)]:fill-color-none-hover [&_path:nth-of-type(1)]:fill-color-bg-1","mobile-icon-radio-disabled":"[&_path:nth-of-type(2)]:fill-color-icon-disabled [&_path:nth-of-type(1)]:fill-color-bg-3 cursor-not-allowed","radio-input":"absolute left-0 right-0 top-0 bottom-0 w-0 h-0 -z-10 opacity-0","radio-text-common":"sm:h-4 text-center text-color-text-primary align-middle text-sm","radio-text-size-common":"sm:text-xs","radio-text-size-medium":"sm:text-sm","radio-hover":"sm:[&_path:nth-of-type(1)]:hover:fill-color-brand-hover","radio-hover-selected":"sm:[&_path:nth-of-type(1)]:hover:fill-color-brand-hover","radio-active":"sm:[&_path:nth-of-type(1)]:active:fill-color-brand-active","radio-active-selected":"sm:[&_path:nth-of-type(1)]:active:fill-color-brand-active","label-disabled":"text-color-text-secondary cursor-not-allowed","pc-show":"hidden sm:block","mobile-show":"block sm:hidden","readonly-is-checked":"sm:m-0","readonly-is-not-checked":"sm:hidden","not-readonly-common":"mr-5 sm:[&:last-child]:mr-0","hidden-radio":"sm:hidden","not-readly-common-label":"sm:py-0 sm:pl-2 -ml-0.5 sm:ml-0","readonly-checked-label":"sm:pl-0 text-color-text-primary",verticalStyle:"sm:mb-2 sm:[&:last-child]:mb-0 sm:mr-0"},_sfc_main$j=defineComponent({emits:["change","update:modelValue"],props:[].concat(props,["modelValue","events","label","text","disabled","name","border","size","tabindex","displayOnly"]),inheritAttrs:!1,components:{IconRadio:index$M(),IconRadioselected:index$L(),IconMobileRadio:index$B(),IconMobileRadioSelected:index$A()},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$6,api:api$6,classes})}}),_hoisted_1$e=["aria-checked","aria-disabled"],_hoisted_2$a=["tabindex"],_hoisted_3$7=["value","name","disabled"];function _sfc_render$c(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-radio"),le=resolveComponent("icon-radioselected"),ue=resolveComponent("icon-mobile-radio"),ce=resolveComponent("icon-mobile-radio-selected");return openBlock(),createElementBlock("label",mergeProps({"data-tag":"tiny-radio",class:ee.m(ee.gcls("radio-default"),ee.gcls(ee.state.isDisplayOnly?ee.state.model===ee.label?"readonly-is-checked":"readonly-is-not-checked":"not-readonly-common"),ee.gcls({verticalStyle:ee.state.vertical})),role:"radio","aria-checked":ee.state.model===ee.label,"aria-disabled":ee.state.isDisabled,tabindex:"-1",onKeydown:te[6]||(te[6]=withKeys(withModifiers(function(de){return ee.state.model=ee.state.isDisabled?ee.state.model:ee.label},["stop","prevent"]),["space"]))},ee.a(ee.$attrs,["class","style","onClick"],!0)),[createBaseVNode("span",{"data-tag":"tiny-radio-content",class:normalizeClass(ee.m(ee.gcls("radio-label-common"),ee.gcls(ee.state.size==="medium"?"radio-label-size-medium":"radio-label-size-common"),ee.gcls(ee.state.isDisplayOnly&&ee.state.model===ee.label&&"hidden-radio")))},[createBaseVNode("span",{"data-tag":"tiny-radio-icon",class:normalizeClass(ee.m(ee.gcls("radio-label-circle"))),tabindex:ee.tabindex},[createVNode$1(se,{class:normalizeClass(ee.m(ee.gcls("icon-common"),ee.gcls("pc-show"),ee.gcls({"radio-active":!ee.state.isDisabled}),ee.gcls({"radio-hover":!ee.state.isDisabled}),ee.gcls({"icon-radio-disabled":ee.state.isDisabled}),ee.gcls({"icon-radio-default":!ee.state.isDisabled}),ee.gcls("icon-radio-common"),ee.gcls(ee.state.size==="medium"?"icon-radio-size-medium":"icon-radio-size-common")))},null,8,["class"]),createVNode$1(le,{class:normalizeClass(ee.m(ee.gcls("icon-common"),ee.gcls("pc-show"),ee.state.model===ee.label?ee.gcls("icon-show"):ee.gcls("icon-hidden"),ee.gcls({"radio-hover-selected":!ee.state.isDisabled}),ee.gcls({"radio-active-selected":!ee.state.isDisabled}),ee.gcls("icon-radioselected-common"),ee.gcls({"icon-radioselected-disabled":ee.state.isDisabled}),ee.gcls({"icon-radioselected-default":!ee.state.isDisabled}),ee.gcls(ee.state.size==="medium"?"icon-radioselected-size-medium":"icon-radioselected-size-common")))},null,8,["class"]),createVNode$1(ue,{class:normalizeClass(ee.m(ee.gcls("icon-common"),ee.gcls("mobile-show"),ee.gcls({"mobile-icon-radio-disabled":ee.state.isDisabled}),ee.gcls({"mobile-icon-radio-default":!ee.state.isDisabled}),ee.gcls("icon-radio-common")))},null,8,["class"]),createVNode$1(ce,{class:normalizeClass(ee.m(ee.gcls("icon-common"),ee.gcls("mobile-show"),ee.state.model===ee.label?ee.gcls("icon-show"):ee.gcls("icon-hidden"),ee.gcls("icon-radioselected-common"),ee.gcls({"mobile-icon-radioselected-disabled":ee.state.isDisabled}),ee.gcls({"mobile-icon-radioselected-default":!ee.state.isDisabled})))},null,8,["class"])],10,_hoisted_2$a),withDirectives(createBaseVNode("input",{ref:"radio",class:normalizeClass(ee.m(ee.gcls("radio-input"))),value:ee.label,type:"radio","aria-hidden":"true","onUpdate:modelValue":te[0]||(te[0]=function(de){return ee.state.model=de}),onFocus:te[1]||(te[1]=function(de){return ee.state.focus=!0}),onBlur:te[2]||(te[2]=function(de){return ee.state.focus=!1}),onChange:te[3]||(te[3]=function(){return ee.handleChange&&ee.handleChange.apply(ee,arguments)}),name:ee.name,disabled:ee.state.isDisabled,onClick:te[4]||(te[4]=withModifiers(function(){},["stop"]))},null,42,_hoisted_3$7),[[vModelRadio,ee.state.model]])],2),createBaseVNode("span",{"data-tag":"tiny-radio-label",ref:"label",class:normalizeClass(ee.m(ee.gcls("radio-text-common"),ee.gcls(ee.state.size!=="mini"?"radio-text-size-medium":"radio-text-size-common"),ee.gcls({"label-disabled":ee.state.isDisabled}),ee.gcls(ee.state.isDisplayOnly?ee.state.model===ee.label?"readonly-checked-label":"":"not-readly-common-label"))),onKeydown:te[5]||(te[5]=withModifiers(function(){},["stop"]))},[renderSlot(ee.$slots,"default",{},function(){return[createTextVNode(toDisplayString(ee.text||ee.label),1)]})],34)],16,_hoisted_1$e)}var mobileFirst$1=_export_sfc$b(_sfc_main$j,[["render",_sfc_render$c]]);function _extends$8(){return _extends$8=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$8.apply(this,arguments)}var template$7=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$7:(ne||te)==="mobile"?mobile$2:(ne||te)==="mobile-first"?mobileFirst$1:pc$7},$constants$4={RADIO_GROUP:"RadioGroup"},radioProps=_extends$8({},$props,{_constants:{type:Object,default:function(){return $constants$4}},modelValue:{},label:{},disabled:Boolean,name:String,border:Boolean,size:{type:String,default:""},text:String,events:{type:Object,default:function(){return{}}},tabindex:{type:String,default:"1"},displayOnly:{type:Boolean,default:!1}}),Radio=defineComponent({name:$prefix+"Radio",props:radioProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$7})}}),version$9="3.16.0";Radio.model={prop:"modelValue",event:"update:modelValue"};Radio.install=function(ee){ee.component(Radio.name,Radio)};Radio.version=version$9;function _createForOfIteratorHelperLoose$9(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$9(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$9(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$9(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$9(ee,te)}}function _arrayLikeToArray$9(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$a=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$9(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$1$1=defineComponent({name:"TreeNode",componentName:"TreeNode",directives:directive$1({Clickoutside:clickoutside_default}),inject:["TreeRoot"],provide:function(){return{parentTree:this}},emits:["update:modelValue","hook-updated","node-expand","radio-change","tree-node-expand","closeMenu"],props:{node:{default:function(){return{}}},props:{},expandIcon:Object,shrinkIcon:Object,expandIconColor:String,shrinkIconColor:String,renderContent:Function,renderAfterExpand:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1},showRadio:{type:Boolean,default:!1},currentRadio:{type:Object,default:function(){return{value:null}}},showNumber:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},nodeHeight:Number,checkEasily:{type:Boolean,default:!1},action:Object,nodeKey:String,theme:String,showCheckedMark:Boolean,showLine:Boolean},components:{CollapseTransition,TinyCheckbox:Checkbox,TinyRadio:Radio,TinyInput:Input,IconChevronRight:index$18(),IconLoading:index$S(),IconArrowBottom:index$1c(),IconEdit:index$14(),IconMinusSquare:index$P(),IconPlusSquare:index$N(),IconFinish:index$y(),MenuContext:{props:{node:{required:!0}},render:function(){var te=this.$parent.state.tree,ae=this.node.data;return te&&te.scopedSlots&&te.scopedSlots.contextmenu&&te.scopedSlots.contextmenu({data:ae,node:this.node})}},NodeContent:{props:{node:{required:!0},renderContent:Function},inject:["TreeRoot","parentTree"],render:function(){var te=this.$parent,ae=te.state.tree,ne=this.node,ie=ne.data,oe=ne.store;return this.renderContent?this.renderContent(h,{_self:this,node:ne,data:ie,store:oe}):ae.scopedSlots.default&&ae.scopedSlots.default({node:ne,data:ie})||h("span",{class:"tiny-tree-node__label"},ne.label)}}},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$7,api:api$7,mono:!0,extendOptions:{isVue2}})}}),_hoisted_1$1$1={class:"tiny-tree-node__wrapper"},_hoisted_2$1$1=["aria-expanded","aria-disabled","aria-checked","draggable"],_hoisted_3$1$1={class:"tiny-tree-node__content-left"},_hoisted_4$1$1={key:0,class:"tree-node-number"},_hoisted_5$1$1={key:4,class:"tiny-tree-node__loading tiny-svg circular",viewBox:"25 25 50 50"},_hoisted_6$1$1=createBaseVNode("circle",{class:"path",cx:"50",cy:"50",r:"24",fill:"none"},null,-1),_hoisted_7$1$1=[_hoisted_6$1$1],_hoisted_8$1$1={key:6,class:"tiny-tree-node__content-box"},_hoisted_9$1$1={key:0,class:"tiny-tree-node__checked-mark"},_hoisted_10$1$1=["title"],_hoisted_11$1=["title"],_hoisted_12$1=["title"],_hoisted_13$1=["aria-expanded"];function _sfc_render$1$1(ee,te,ae,ne,ie,oe){var se=resolveComponent("tiny-checkbox"),le=resolveComponent("tiny-radio"),ue=resolveComponent("tiny-input"),ce=resolveComponent("node-content"),de=resolveComponent("icon-finish"),he=resolveComponent("icon-edit"),fe=resolveComponent("icon-minus-square"),pe=resolveComponent("icon-plus-square"),ve=resolveComponent("tree-node",!0),ge=resolveComponent("collapse-transition"),me=resolveComponent("menu-context"),ye=resolveDirective("clickoutside");return openBlock(),createElementBlock("div",_hoisted_1$1$1,[withDirectives(createBaseVNode("div",{class:normalizeClass(["tiny-tree-node",{"is-indeterminate":!ee.node.disabled&&ee.node.indeterminate,"is-current":ee.node.isCurrent,"is-hidden":!ee.node.visible,"is-checked":!ee.node.disabled&&ee.node.checked,"is-focusable":!ee.node.disabled,"is-expanded":ee.state.expanded,"is-loading":ee.node.loading,"is-disabled":ee.node.disabled,"is-leaf":ee.node.isLeaf,"is-root":ee.node.level===1,"show-line":ee.showLine,"show-checkbox":ee.showCheckbox}]),role:"treeitem",tabindex:"-1","aria-expanded":ee.state.expanded,"aria-disabled":ee.node.disabled,"aria-checked":ee.node.checked,draggable:ee.state.tree.draggable,onClick:te[11]||(te[11]=withModifiers(function(){return ee.handleClick&&ee.handleClick.apply(ee,arguments)},["stop"])),onContextmenu:te[12]||(te[12]=withModifiers(function(_e){return ee.handleContextMenu(_e)},["stop"])),onDragstart:te[13]||(te[13]=withModifiers(function(){return ee.handleDragStart&&ee.handleDragStart.apply(ee,arguments)},["stop"])),onDragover:te[14]||(te[14]=withModifiers(function(){return ee.handleDragOver&&ee.handleDragOver.apply(ee,arguments)},["stop"])),onDragend:te[15]||(te[15]=withModifiers(function(){return ee.handleDragEnd&&ee.handleDragEnd.apply(ee,arguments)},["stop"])),onDrop:te[16]||(te[16]=withModifiers(function(){return ee.handleDrop&&ee.handleDrop.apply(ee,arguments)},["stop"])),ref:"node"},[createBaseVNode("div",{class:normalizeClass({"tiny-tree-node__content":!0,"tiny-tree-node__content-number":ee.showNumber}),style:normalizeStyle$2({height:ee.nodeHeight?ee.nodeHeight+"px":void 0,"line-height":ee.nodeHeight?ee.nodeHeight+"px":void 0}),onClick:te[9]||(te[9]=function(_e){return ee.handleContentClick(ee.node,ee.currentRadio)})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.showLine?1:ee.node.level-1,function(_e){return openBlock(),createElementBlock("span",{class:"tiny-tree-node__content-indent",key:_e,style:normalizeStyle$2({width:ee.state.computedIndent,flexShrink:0})},null,4)}),128)),createBaseVNode("div",_hoisted_3$1$1,[ee.showNumber?(openBlock(),createElementBlock("span",_hoisted_4$1$1,toDisplayString(ee.node.data.number),1)):(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(["tree-node-icon",{"is-disabled":ee.node.disabled}]),onClick:te[0]||(te[0]=function(_e){return ee.handleExpandIconClick(_e,ee.node)})},[ee.state.expandIcon!==void 0&&ee.state.shrinkIcon!==void 0?(openBlock(),createBlock(resolveDynamicComponent(ee.state.expanded?ee.state.shrinkIcon:ee.state.expandIcon),{key:0,fill:ee.state.expanded?ee.state.shrinkIconColor:ee.state.expandIconColor,class:normalizeClass(["tiny-tree-node__expand-icon",{"is-leaf":ee.node.isLeaf}])},null,8,["fill","class"])):(openBlock(),createBlock(resolveDynamicComponent(ee.state.computedExpandIcon),{key:1,class:normalizeClass(["tiny-tree-node__expand-icon",{"is-leaf":ee.node.isLeaf,expanded:!ee.node.isLeaf&&ee.state.expanded,"is-saas-theme":ee.state.isSaaSTheme}])},null,8,["class"]))],2)),ee.showCheckbox?(openBlock(),createBlock(se,{key:2,"model-value":ee.node.checked,ref:"checkbox",indeterminate:ee.node.indeterminate,disabled:!!ee.node.disabled,"validate-event":!1,onChange:ee.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):createCommentVNode("v-if",!0),ee.showRadio?(openBlock(),createBlock(le,{key:3,"model-value":ee.currentRadio.value,"onUpdate:modelValue":te[1]||(te[1]=function(_e){return ee.$emit("radio-change",_e)}),"validate-event":!1,label:ee.node.id,disabled:!!ee.node.disabled},null,8,["model-value","label","disabled"])):createCommentVNode("v-if",!0),ee.node.loading?(openBlock(),createElementBlock("svg",_hoisted_5$1$1,_hoisted_7$1$1)):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"prefix",{node:ee.node}),ee.action.type==="edit"&&ee.action.node&&ee.action.node===ee.node?(openBlock(),createBlock(ue,{key:5,modelValue:ee.action.label,"onUpdate:modelValue":te[2]||(te[2]=function(_e){return ee.action.label=_e}),ref:"editInput",autofocus:"",clearable:"",onKeyup:te[3]||(te[3]=withKeys(function(_e){return ee.saveEdit(_e)},["enter"])),onBlur:te[4]||(te[4]=function(_e){return ee.saveEdit(_e)}),onClick:te[5]||(te[5]=withModifiers(function(_e){return _e.stopPropagation()},["stop"]))},null,8,["modelValue"])):(openBlock(),createElementBlock("div",_hoisted_8$1$1,[createVNode$1(ce,{node:ee.node,"render-content":ee.renderContent},null,8,["node","render-content"])])),renderSlot(ee.$slots,"suffix",{node:ee.node})]),createBaseVNode("div",{class:normalizeClass(["tiny-tree-node__content-right",{"is-disabled":ee.node.disabled}])},[ee.showCheckedMark&&!ee.showCheckbox&&!ee.node.disabled&&ee.node.isCurrent?(openBlock(),createElementBlock("span",_hoisted_9$1$1,[createVNode$1(de)])):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"operation",{node:ee.node}),ee.action.show?(openBlock(),createElementBlock(Fragment,{key:1},[createBaseVNode("span",{title:ee.t("ui.tree.edit")},[ee.action.editDisabled.includes(ee.node.data[ee.nodeKey])?createCommentVNode("v-if",!0):(openBlock(),createBlock(he,{key:0,onClick:te[6]||(te[6]=withModifiers(function(_e){return ee.openEdit(ee.node)},["stop"]))}))],8,_hoisted_10$1$1),createBaseVNode("span",{title:ee.t("ui.tree.delete")},[ee.action.deleteDisabled.includes(ee.node.data[ee.nodeKey])?createCommentVNode("v-if",!0):(openBlock(),createBlock(fe,{key:0,onClick:te[7]||(te[7]=withModifiers(function(_e){return ee.deleteNode(_e,ee.node)},["stop"]))}))],8,_hoisted_11$1),createBaseVNode("span",{title:ee.t("ui.tree.newNodeTitle")},[!ee.node.data._isNewNode&&!ee.action.addDisabled.includes(ee.node.data[ee.nodeKey])?(openBlock(),createBlock(pe,{key:0,onClick:te[8]||(te[8]=withModifiers(function(_e){return ee.addNode(ee.node)},["stop"]))})):createCommentVNode("v-if",!0)],8,_hoisted_12$1)],64)):createCommentVNode("v-if",!0)],2)],6),ee.node.childNodes.length?(openBlock(),createBlock(ge,{key:0},{default:withCtx(function(){return[!ee.renderAfterExpand||ee.state.childNodeRendered?withDirectives((openBlock(),createElementBlock("div",{key:0,class:"tiny-tree-node__children",role:"group","aria-expanded":ee.state.expanded,style:normalizeStyle$2({"margin-left":ee.showLine?ee.state.computedIndent:0})},[ee.showLine?(openBlock(),createElementBlock("span",{key:0,class:"tiny-tree-node__children-indent",style:normalizeStyle$2({width:ee.state.computedIndent,left:"-"+ee.state.computedIndent})},null,4)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.node.childNodes,function(_e){return openBlock(),createBlock(ve,{action:ee.action,"show-radio":ee.showRadio,theme:ee.theme,"current-radio":ee.currentRadio,"render-content":ee.renderContent,"expand-icon":ee.state.expandIcon,"shrink-icon":ee.state.shrinkIcon,"expand-icon-color":ee.state.expandIconColor,"shrink-icon-color":ee.state.shrinkIconColor,"render-after-expand":ee.renderAfterExpand,"show-checkbox":ee.showCheckbox,"show-number":ee.showNumber,"node-height":ee.nodeHeight,"show-checked-mark":ee.showCheckedMark,key:ee.getNodeKey(_e),"node-key":ee.nodeKey,"check-easily":ee.checkEasily,node:_e,"show-line":ee.showLine,onNodeExpand:ee.handleChildNodeExpand,onRadioChange:te[10]||(te[10]=function(be){return ee.$emit("radio-change",be)})},{prefix:withCtx(function(be){return[renderSlot(ee.$slots,"prefix",{node:be.node})]}),suffix:withCtx(function(be){return[renderSlot(ee.$slots,"suffix",{node:be.node})]}),operation:withCtx(function(be){return[renderSlot(ee.$slots,"operation",{node:be.node})]}),_:2},1032,["action","show-radio","theme","current-radio","render-content","expand-icon","shrink-icon","expand-icon-color","shrink-icon-color","render-after-expand","show-checkbox","show-number","node-height","show-checked-mark","node-key","check-easily","node","show-line","onNodeExpand"])}),128))],12,_hoisted_13$1)),[[vShow,ee.state.expanded]]):createCommentVNode("v-if",!0)]}),_:3})):createCommentVNode("v-if",!0)],42,_hoisted_2$1$1),[[vShow,ee.node.visible]]),ee.state.showMenu&&ee.TreeRoot.showContextmenu?withDirectives((openBlock(),createElementBlock("div",{key:0,ref:"menuContext",class:"tiny-tree-node__menu",style:normalizeStyle$2(ee.state.menuposition),onContextmenu:te[17]||(te[17]=withModifiers(function(){},["stop"])),onClick:te[18]||(te[18]=withModifiers(function(){},["stop"]))},[createVNode$1(me,{node:ee.node},null,8,["node"])],36)),[[ye,ee.closeMenu]]):createCommentVNode("v-if",!0)])}var TreeNode$1=_export_sfc$a(_sfc_main$1$1,[["render",_sfc_render$1$1]]),_sfc_main$i=defineComponent({directives:directive$1({Clickoutside:clickoutside_default}),props:[].concat(props,["data","dataset","parentKey","expandIcon","shrinkIcon","expandIconColor","shrinkIconColor","emptyText","renderAfterExpand","nodeKey","checkStrictly","defaultExpandAll","expandOnClickNode","checkOnClickNode","checkDescendants","autoExpandParent","defaultCheckedKeys","defaultExpandedKeys","defaultExpandedKeysHighlight","currentNodeKey","renderContent","showCheckbox","draggable","allowDrag","allowDrop","props","lazy","highlightCurrent","load","filterNodeMethod","accordion","indent","icon","iconTriggerClickNode","showRadio","showContextmenu","showNumber","collapsible","nodeHeight","showCheckEasily","size","deleteDisabledKeys","editDisabledKeys","addDisabledKeys","theme","viewType","showAuxi","pathSplit","filterPlainMethod","afterLoad","lazyCurrent","baseIndent","showLine","onlyCheckChildren","deleteNodeMethod","showCheckedMark","willChangeView"]),components:{TreeNode:TreeNode$1,IconWarning:index$E(),IconMarkOn:index$R(),TinyPopover:Popover,TinyCheckbox:Checkbox,TinyButton:Button,TinySwitch:Switch,TinyRadio:Radio},emits:["node-expand","check-change","check","node-drag-over","node-drag-enter","node-drag-leave","node-drag-start","node-drag-end","node-drop","current-change","node-click","leave-plain-view","check-plain","load-data","open-edit","close-edit","save-edit","add-node","edit-node","delete-node","closeMenu"],provide:function(){return{parentTree:this,TreeRoot:this}},setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$9,api:api$9,extendOptions:{isVue2}})}}),_hoisted_1$d={class:"tiny-tree__plain-node-title"},_hoisted_2$9={class:"tiny-tree__plain-node-title-txt"},_hoisted_3$6={class:"tiny-tree__plain-node-title-loc"},_hoisted_4$6={key:0,class:"tiny-tree__plain-node-auxi"},_hoisted_5$6={key:2,class:"tiny-tree__empty-block"},_hoisted_6$5={class:"tiny-tree__empty-text"},_hoisted_7$4={class:"tiny-tree__drop-indicator",ref:"dropIndicator"},_hoisted_8$2={key:3,class:"tiny-tree__strict-bottom"},_hoisted_9$2={class:"tiny-tree__strict-bottom-content"},_hoisted_10$2={class:"tiny-tree__bottom-text"},_hoisted_11$2={class:"tiny-tree__del-body"},_hoisted_12$2={class:"tiny-tree__del-icon"},_hoisted_13$2={class:"tiny-tree__del-content"},_hoisted_14$1={key:0},_hoisted_15$1={class:"tiny-tree__del-checkbox"},_hoisted_16$1={class:"tiny-tree__del-footer"};function _sfc_render$b(ee,te,ae,ne,ie,oe){var se=resolveComponent("tree-node"),le=resolveComponent("tiny-checkbox"),ue=resolveComponent("tiny-radio"),ce=resolveComponent("icon-mark-on"),de=resolveComponent("tiny-switch"),he=resolveComponent("icon-warning"),fe=resolveComponent("tiny-button"),pe=resolveComponent("tiny-popover"),ve=resolveDirective("clickoutside");return openBlock(),createElementBlock("div",{class:normalizeClass(["tiny-tree",{"tiny-tree--highlight-current":ee.highlightCurrent,"is-dragging":!!ee.state.dragState.draggingNode,"is-drop-not-allow":!ee.state.dragState.allowDrop,"is-drop-inner":ee.state.dragState.dropType==="inner","tiny-tree--small":ee.size==="small"}]),role:"tree"},[ee.viewType==="tree"?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(ee.state.root.childNodes,function(ge){return openBlock(),createBlock(se,{action:ee.state.action,"show-radio":ee.showRadio,theme:ee.theme,"show-number":ee.showNumber,collapsible:ee.collapsible,"node-height":ee.nodeHeight,"current-radio":ee.state.currentRadio,onRadioChange:te[0]||(te[0]=function(me){return ee.state.currentRadio.value=me}),"expand-icon":ee.expandIcon,"shrink-icon":ee.shrinkIcon,"expand-icon-color":ee.expandIconColor,"shrink-icon-color":ee.shrinkIconColor,node:ge,props:ee.props,"render-after-expand":ee.renderAfterExpand,"show-checkbox":ee.showCheckbox,key:ee.getNodeKey(ge),"node-key":ee.nodeKey,"render-content":ee.renderContent,onNodeExpand:ee.handleNodeExpand,"check-easily":ee.state.checkEasily,"show-line":ee.showLine,"show-checked-mark":ee.showCheckedMark},{prefix:withCtx(function(me){return[renderSlot(ee.$slots,"prefix",{node:me.node})]}),suffix:withCtx(function(me){return[renderSlot(ee.$slots,"suffix",{node:me.node})]}),operation:withCtx(function(me){return[renderSlot(ee.$slots,"operation",{node:me.node})]}),_:2},1032,["action","show-radio","theme","show-number","collapsible","node-height","current-radio","expand-icon","shrink-icon","expand-icon-color","shrink-icon-color","node","props","render-after-expand","show-checkbox","node-key","render-content","onNodeExpand","check-easily","show-line","show-checked-mark"])}),128)):ee.viewType==="plain"?(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(ee.state.plainNodeStore.filteredNodes,function(ge,me){return openBlock(),createElementBlock("div",{key:ge.nodeKeyPath+"-"+me,class:"tiny-tree__plain-node"},[createBaseVNode("div",_hoisted_1$d,[ee.showCheckbox?(openBlock(),createBlock(le,{key:0,"model-value":ge.node.checked,indeterminate:ge.node.indeterminate,disabled:!!ge.node.disabled,onChange:function(_e){return ee.handleCheckPlainNode(_e,ge)}},null,8,["model-value","indeterminate","disabled","onChange"])):createCommentVNode("v-if",!0),ee.showRadio?(openBlock(),createBlock(ue,{key:1,modelValue:ee.state.currentRadio.value,"onUpdate:modelValue":te[1]||(te[1]=function(ye){return ee.state.currentRadio.value=ye}),"validate-event":!1,label:ge.node.id,disabled:!!ge.node.disabled,onChange:function(_e){return ee.handleCheckPlainNode(_e===ge.node.id,ge)}},null,8,["modelValue","label","disabled","onChange"])):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"prefix",{node:ge.node}),renderSlot(ee.$slots,"default",{node:ge.node},function(){return[createBaseVNode("span",_hoisted_2$9,toDisplayString(ge.title),1)]}),renderSlot(ee.$slots,"suffix",{node:ge.node},function(){return[createBaseVNode("span",_hoisted_3$6,[createVNode$1(ce,{onClick:function(_e){return ee.handleClickPlainNode(_e,ge)}},null,8,["onClick"])])]})]),ee.showAuxi&&ge.auxi?(openBlock(),createElementBlock("div",_hoisted_4$6,[createBaseVNode("div",null,toDisplayString(ge.auxi),1)])):createCommentVNode("v-if",!0)])}),128)):createCommentVNode("v-if",!0),ee.state.isEmpty?(openBlock(),createElementBlock("div",_hoisted_5$6,[renderSlot(ee.$slots,"empty",{},function(){return[createBaseVNode("span",_hoisted_6$5,toDisplayString(ee.state.loaded?ee.state.showEmptyText:ee.t("ui.tree.loading")),1)]})])):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("div",_hoisted_7$4,null,512),[[vShow,ee.state.dragState.showDropIndicator]]),ee.state.store.checkStrictly&&ee.showCheckEasily?(openBlock(),createElementBlock("div",_hoisted_8$2,[createBaseVNode("div",_hoisted_9$2,[createVNode$1(de,{mini:"",onChange:ee.switchToggle,modelValue:ee.state.checkEasily,"onUpdate:modelValue":te[2]||(te[2]=function(ge){return ee.state.checkEasily=ge})},null,8,["onChange","modelValue"]),createBaseVNode("div",_hoisted_10$2,[renderSlot(ee.$slots,"switchText",{},function(){return[createBaseVNode("span",null,toDisplayString(ee.t("ui.tree.switchText")),1)]})])])])):createCommentVNode("v-if",!0),ee.state.action.show?withDirectives((openBlock(),createBlock(pe,{key:4,ref:"deletePopover",modelValue:ee.state.action.popoverVisible,"onUpdate:modelValue":te[4]||(te[4]=function(ge){return ee.state.action.popoverVisible=ge}),"popper-class":"tiny-tree__del-popover",placement:"top",width:ee.state.action.isLeaf?200:270,trigger:"manual",reference:ee.state.action.referenceElm},{default:withCtx(function(){return[withDirectives((openBlock(),createElementBlock("div",_hoisted_11$2,[createBaseVNode("div",_hoisted_12$2,[createVNode$1(he)]),createBaseVNode("div",_hoisted_13$2,[ee.state.action.isLeaf?(openBlock(),createElementBlock("div",_hoisted_14$1,toDisplayString(ee.t("ui.tree.deleteTip1")),1)):(openBlock(),createElementBlock(Fragment,{key:1},[createBaseVNode("div",null,toDisplayString(ee.t("ui.tree.deleteTip2")),1),createBaseVNode("div",_hoisted_15$1,[createVNode$1(le,{modelValue:ee.state.action.isSaveChildNode,"onUpdate:modelValue":te[3]||(te[3]=function(ge){return ee.state.action.isSaveChildNode=ge}),ref:"deleteCheckbox"},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.tree.deleteTip3")),1)]}),_:1},8,["modelValue"])])],64))])])),[[ve,ee.cancelDelete]]),createBaseVNode("div",_hoisted_16$1,[createVNode$1(fe,{onClick:ee.cancelDelete},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.base.cancel")),1)]}),_:1},8,["onClick"]),createVNode$1(fe,{type:"primary",onClick:ee.deleteAction},{default:withCtx(function(){return[createTextVNode(toDisplayString(ee.t("ui.base.confirm")),1)]}),_:1},8,["onClick"])])]}),_:1},8,["modelValue","width","reference"])),[[vShow,ee.state.action.popoverVisible]]):createCommentVNode("v-if",!0)],2)}var pc$6=_export_sfc$a(_sfc_main$i,[["render",_sfc_render$b]]);const index$9="";function _extends$7(){return _extends$7=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$7.apply(this,arguments)}var template$6=function(te){var ae;return typeof process=="object"&&((ae={})==null||ae.TINY_MODE),pc$6},$constants$3={EMPTY_TEXT_LOCAL:"ui.tree.emptyText"},Tree$2=defineComponent({name:$prefix+"Tree",props:_extends$7({},$props,{_constants:{type:Object,default:function(){return $constants$3}},accordion:Boolean,allowDrag:Function,allowDrop:Function,autoExpandParent:{type:Boolean,default:!0},checkDescendants:{type:Boolean,default:!1},checkOnClickNode:Boolean,checkStrictly:Boolean,currentNodeKey:[String,Number],data:{type:Array},dataset:Object,defaultCheckedKeys:Array,defaultExpandAll:Boolean,defaultExpandedKeys:Array,defaultExpandedKeysHighlight:[Number,String],draggable:{type:Boolean,default:!1},emptyText:String,expandIcon:Object,expandOnClickNode:{type:Boolean,default:!0},filterNodeMethod:Function,highlightCurrent:Boolean,icon:Object,iconTriggerClickNode:{type:Boolean,default:!0},indent:{type:Number,default:16},lazy:{type:Boolean,default:!1},load:Function,nodeKey:String,parentKey:String,props:{default:function(){return{children:"children",label:"label",disabled:"disabled",isLeaf:"isLeaf"}}},renderAfterExpand:{type:Boolean,default:!0},renderContent:Function,showCheckbox:{type:Boolean,default:!1},showContextmenu:{type:Boolean,default:!1},showRadio:{type:Boolean,default:!1},showNumber:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},showCheckEasily:{type:Boolean,default:!1},nodeHeight:Number,shrinkIcon:Object,expandIconColor:String,shrinkIconColor:String,size:{type:String,default:"medium"},deleteDisabledKeys:Array,editDisabledKeys:Array,addDisabledKeys:Array,theme:String,viewType:{type:String,default:"tree",validator:function(te){return~["tree","plain"].indexOf(te)}},showAuxi:{type:Boolean,default:!0},pathSplit:{type:String,default:"/"},filterPlainMethod:Function,afterLoad:Function,lazyCurrent:Boolean,baseIndent:{type:Number,default:0},deleteNodeMethod:Function,showCheckedMark:Boolean,willChangeView:{type:Boolean,default:!0},onlyCheckChildren:Boolean,showLine:Boolean}),setup:function(te,ae){return $setup({props:te,context:ae,template:template$6})}}),version$8="3.16.0";Tree$2.install=function(ee){ee.component(Tree$2.name,Tree$2)};Tree$2.version=version$8;/*! *****************************************************************************
-Copyright (c) Microsoft Corporation.
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-***************************************************************************** */var extendStatics=function(ee,te){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ae,ne){ae.__proto__=ne}||function(ae,ne){for(var ie in ne)Object.prototype.hasOwnProperty.call(ne,ie)&&(ae[ie]=ne[ie])},extendStatics(ee,te)};function __extends(ee,te){if(typeof te!="function"&&te!==null)throw new TypeError("Class extends value "+String(te)+" is not a constructor or null");extendStatics(ee,te);function ae(){this.constructor=ee}ee.prototype=te===null?Object.create(te):(ae.prototype=te.prototype,new ae)}var Browser=function(){function ee(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return ee}(),Env=function(){function ee(){this.browser=new Browser,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return ee}(),env=new Env;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(env.wxa=!0,env.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?env.worker=!0:typeof navigator>"u"?(env.node=!0,env.svgSupported=!0):detect(navigator.userAgent,env);function detect(ee,te){var ae=te.browser,ne=ee.match(/Firefox\/([\d.]+)/),ie=ee.match(/MSIE\s([\d.]+)/)||ee.match(/Trident\/.+?rv:(([\d.]+))/),oe=ee.match(/Edge?\/([\d.]+)/),se=/micromessenger/i.test(ee);ne&&(ae.firefox=!0,ae.version=ne[1]),ie&&(ae.ie=!0,ae.version=ie[1]),oe&&(ae.edge=!0,ae.version=oe[1],ae.newEdge=+oe[1].split(".")[0]>18),se&&(ae.weChat=!0),te.svgSupported=typeof SVGRect<"u",te.touchEventsSupported="ontouchstart"in window&&!ae.ie&&!ae.edge,te.pointerEventsSupported="onpointerdown"in window&&(ae.edge||ae.ie&&+ae.version>=11),te.domSupported=typeof document<"u";var le=document.documentElement.style;te.transform3dSupported=(ae.ie&&"transition"in le||ae.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in le)&&!("OTransition"in le),te.transformSupported=te.transform3dSupported||ae.ie&&+ae.version>=9}const env$1=env;var DEFAULT_FONT_SIZE=12,DEFAULT_FONT_FAMILY="sans-serif",DEFAULT_FONT=DEFAULT_FONT_SIZE+"px "+DEFAULT_FONT_FAMILY,OFFSET=20,SCALE=100,defaultWidthMapStr="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function getTextWidthMap(ee){var te={};if(typeof JSON>"u")return te;for(var ae=0;ae<ee.length;ae++){var ne=String.fromCharCode(ae+32),ie=(ee.charCodeAt(ae)-OFFSET)/SCALE;te[ne]=ie}return te}var DEFAULT_TEXT_WIDTH_MAP=getTextWidthMap(defaultWidthMapStr),platformApi={createCanvas:function(){return typeof document<"u"&&document.createElement("canvas")},measureText:function(){var ee,te;return function(ae,ne){if(!ee){var ie=platformApi.createCanvas();ee=ie&&ie.getContext("2d")}if(ee)return te!==ne&&(te=ee.font=ne||DEFAULT_FONT),ee.measureText(ae);ae=ae||"",ne=ne||DEFAULT_FONT;var oe=/(\d+)px/.exec(ne),se=oe&&+oe[1]||DEFAULT_FONT_SIZE,le=0;if(ne.indexOf("mono")>=0)le=se*ae.length;else for(var ue=0;ue<ae.length;ue++){var ce=DEFAULT_TEXT_WIDTH_MAP[ae[ue]];le+=ce==null?se:ce*se}return{width:le}}}(),loadImage:function(ee,te,ae){var ne=new Image;return ne.onload=te,ne.onerror=ae,ne.src=ee,ne}};function setPlatformAPI(ee){for(var te in platformApi)ee[te]&&(platformApi[te]=ee[te])}var BUILTIN_OBJECT=reduce(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(ee,te){return ee["[object "+te+"]"]=!0,ee},{}),TYPED_ARRAY=reduce(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(ee,te){return ee["[object "+te+"Array]"]=!0,ee},{}),objToString=Object.prototype.toString,arrayProto=Array.prototype,nativeForEach=arrayProto.forEach,nativeFilter=arrayProto.filter,nativeSlice=arrayProto.slice,nativeMap=arrayProto.map,ctorFunction=(function(){}).constructor,protoFunction=ctorFunction?ctorFunction.prototype:null,protoKey="__proto__",idStart=2311;function guid(){return idStart++}function logError(){for(var ee=[],te=0;te<arguments.length;te++)ee[te]=arguments[te];typeof console<"u"&&console.error.apply(console,ee)}function clone$4(ee){if(ee==null||typeof ee!="object")return ee;var te=ee,ae=objToString.call(ee);if(ae==="[object Array]"){if(!isPrimitive(ee)){te=[];for(var ne=0,ie=ee.length;ne<ie;ne++)te[ne]=clone$4(ee[ne])}}else if(TYPED_ARRAY[ae]){if(!isPrimitive(ee)){var oe=ee.constructor;if(oe.from)te=oe.from(ee);else{te=new oe(ee.length);for(var ne=0,ie=ee.length;ne<ie;ne++)te[ne]=ee[ne]}}}else if(!BUILTIN_OBJECT[ae]&&!isPrimitive(ee)&&!isDom(ee)){te={};for(var se in ee)ee.hasOwnProperty(se)&&se!==protoKey&&(te[se]=clone$4(ee[se]))}return te}function merge$1(ee,te,ae){if(!isObject$4(te)||!isObject$4(ee))return ae?clone$4(te):ee;for(var ne in te)if(te.hasOwnProperty(ne)&&ne!==protoKey){var ie=ee[ne],oe=te[ne];isObject$4(oe)&&isObject$4(ie)&&!isArray$2(oe)&&!isArray$2(ie)&&!isDom(oe)&&!isDom(ie)&&!isBuiltInObject(oe)&&!isBuiltInObject(ie)&&!isPrimitive(oe)&&!isPrimitive(ie)?merge$1(ie,oe,ae):(ae||!(ne in ee))&&(ee[ne]=clone$4(te[ne]))}return ee}function mergeAll(ee,te){for(var ae=ee[0],ne=1,ie=ee.length;ne<ie;ne++)ae=merge$1(ae,ee[ne],te);return ae}function extend$1(ee,te){if(Object.assign)Object.assign(ee,te);else for(var ae in te)te.hasOwnProperty(ae)&&ae!==protoKey&&(ee[ae]=te[ae]);return ee}function defaults$2(ee,te,ae){for(var ne=keys(te),ie=0;ie<ne.length;ie++){var oe=ne[ie];(ae?te[oe]!=null:ee[oe]==null)&&(ee[oe]=te[oe])}return ee}var createCanvas=platformApi.createCanvas;function indexOf(ee,te){if(ee){if(ee.indexOf)return ee.indexOf(te);for(var ae=0,ne=ee.length;ae<ne;ae++)if(ee[ae]===te)return ae}return-1}function inherits$1(ee,te){var ae=ee.prototype;function ne(){}ne.prototype=te.prototype,ee.prototype=new ne;for(var ie in ae)ae.hasOwnProperty(ie)&&(ee.prototype[ie]=ae[ie]);ee.prototype.constructor=ee,ee.superClass=te}function mixin(ee,te,ae){if(ee="prototype"in ee?ee.prototype:ee,te="prototype"in te?te.prototype:te,Object.getOwnPropertyNames)for(var ne=Object.getOwnPropertyNames(te),ie=0;ie<ne.length;ie++){var oe=ne[ie];oe!=="constructor"&&(ae?te[oe]!=null:ee[oe]==null)&&(ee[oe]=te[oe])}else defaults$2(ee,te,ae)}function isArrayLike(ee){return!ee||typeof ee=="string"?!1:typeof ee.length=="number"}function each$f(ee,te,ae){if(ee&&te)if(ee.forEach&&ee.forEach===nativeForEach)ee.forEach(te,ae);else if(ee.length===+ee.length)for(var ne=0,ie=ee.length;ne<ie;ne++)te.call(ae,ee[ne],ne,ee);else for(var oe in ee)ee.hasOwnProperty(oe)&&te.call(ae,ee[oe],oe,ee)}function map$1(ee,te,ae){if(!ee)return[];if(!te)return slice(ee);if(ee.map&&ee.map===nativeMap)return ee.map(te,ae);for(var ne=[],ie=0,oe=ee.length;ie<oe;ie++)ne.push(te.call(ae,ee[ie],ie,ee));return ne}function reduce(ee,te,ae,ne){if(ee&&te){for(var ie=0,oe=ee.length;ie<oe;ie++)ae=te.call(ne,ae,ee[ie],ie,ee);return ae}}function filter(ee,te,ae){if(!ee)return[];if(!te)return slice(ee);if(ee.filter&&ee.filter===nativeFilter)return ee.filter(te,ae);for(var ne=[],ie=0,oe=ee.length;ie<oe;ie++)te.call(ae,ee[ie],ie,ee)&&ne.push(ee[ie]);return ne}function find(ee,te,ae){if(ee&&te){for(var ne=0,ie=ee.length;ne<ie;ne++)if(te.call(ae,ee[ne],ne,ee))return ee[ne]}}function keys(ee){if(!ee)return[];if(Object.keys)return Object.keys(ee);var te=[];for(var ae in ee)ee.hasOwnProperty(ae)&&te.push(ae);return te}function bindPolyfill(ee,te){for(var ae=[],ne=2;ne<arguments.length;ne++)ae[ne-2]=arguments[ne];return function(){return ee.apply(te,ae.concat(nativeSlice.call(arguments)))}}var bind$2=protoFunction&&isFunction$1(protoFunction.bind)?protoFunction.call.bind(protoFunction.bind):bindPolyfill;function curry$1(ee){for(var te=[],ae=1;ae<arguments.length;ae++)te[ae-1]=arguments[ae];return function(){return ee.apply(this,te.concat(nativeSlice.call(arguments)))}}function isArray$2(ee){return Array.isArray?Array.isArray(ee):objToString.call(ee)==="[object Array]"}function isFunction$1(ee){return typeof ee=="function"}function isString$1(ee){return typeof ee=="string"}function isStringSafe(ee){return objToString.call(ee)==="[object String]"}function isNumber$1(ee){return typeof ee=="number"}function isObject$4(ee){var te=typeof ee;return te==="function"||!!ee&&te==="object"}function isBuiltInObject(ee){return!!BUILTIN_OBJECT[objToString.call(ee)]}function isTypedArray$1(ee){return!!TYPED_ARRAY[objToString.call(ee)]}function isDom(ee){return typeof ee=="object"&&typeof ee.nodeType=="number"&&typeof ee.ownerDocument=="object"}function isGradientObject(ee){return ee.colorStops!=null}function isImagePatternObject(ee){return ee.image!=null}function isRegExp$1(ee){return objToString.call(ee)==="[object RegExp]"}function eqNaN(ee){return ee!==ee}function retrieve(){for(var ee=[],te=0;te<arguments.length;te++)ee[te]=arguments[te];for(var ae=0,ne=ee.length;ae<ne;ae++)if(ee[ae]!=null)return ee[ae]}function retrieve2(ee,te){return ee??te}function retrieve3(ee,te,ae){return ee??te??ae}function slice(ee){for(var te=[],ae=1;ae<arguments.length;ae++)te[ae-1]=arguments[ae];return nativeSlice.apply(ee,te)}function normalizeCssArray$1(ee){if(typeof ee=="number")return[ee,ee,ee,ee];var te=ee.length;return te===2?[ee[0],ee[1],ee[0],ee[1]]:te===3?[ee[0],ee[1],ee[2],ee[1]]:ee}function assert(ee,te){if(!ee)throw new Error(te)}function trim$2(ee){return ee==null?null:typeof ee.trim=="function"?ee.trim():ee.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var primitiveKey="__ec_primitive__";function setAsPrimitive(ee){ee[primitiveKey]=!0}function isPrimitive(ee){return ee[primitiveKey]}var MapPolyfill=function(){function ee(){this.data={}}return ee.prototype.delete=function(te){var ae=this.has(te);return ae&&delete this.data[te],ae},ee.prototype.has=function(te){return this.data.hasOwnProperty(te)},ee.prototype.get=function(te){return this.data[te]},ee.prototype.set=function(te,ae){return this.data[te]=ae,this},ee.prototype.keys=function(){return keys(this.data)},ee.prototype.forEach=function(te){var ae=this.data;for(var ne in ae)ae.hasOwnProperty(ne)&&te(ae[ne],ne)},ee}(),isNativeMapSupported=typeof Map=="function";function maybeNativeMap(){return isNativeMapSupported?new Map:new MapPolyfill}var HashMap=function(){function ee(te){var ae=isArray$2(te);this.data=maybeNativeMap();var ne=this;te instanceof ee?te.each(ie):te&&each$f(te,ie);function ie(oe,se){ae?ne.set(oe,se):ne.set(se,oe)}}return ee.prototype.hasKey=function(te){return this.data.has(te)},ee.prototype.get=function(te){return this.data.get(te)},ee.prototype.set=function(te,ae){return this.data.set(te,ae),ae},ee.prototype.each=function(te,ae){this.data.forEach(function(ne,ie){te.call(ae,ne,ie)})},ee.prototype.keys=function(){var te=this.data.keys();return isNativeMapSupported?Array.from(te):te},ee.prototype.removeKey=function(te){this.data.delete(te)},ee}();function createHashMap(ee){return new HashMap(ee)}function concatArray(ee,te){for(var ae=new ee.constructor(ee.length+te.length),ne=0;ne<ee.length;ne++)ae[ne]=ee[ne];for(var ie=ee.length,ne=0;ne<te.length;ne++)ae[ne+ie]=te[ne];return ae}function createObject(ee,te){var ae;if(Object.create)ae=Object.create(ee);else{var ne=function(){};ne.prototype=ee,ae=new ne}return te&&extend$1(ae,te),ae}function disableUserSelect(ee){var te=ee.style;te.webkitUserSelect="none",te.userSelect="none",te.webkitTapHighlightColor="rgba(0,0,0,0)",te["-webkit-touch-callout"]="none"}function hasOwn(ee,te){return ee.hasOwnProperty(te)}function noop$1(){}var RADIAN_TO_DEGREE=180/Math.PI;const util$1=Object.freeze(Object.defineProperty({__proto__:null,HashMap,RADIAN_TO_DEGREE,assert,bind:bind$2,clone:clone$4,concatArray,createCanvas,createHashMap,createObject,curry:curry$1,defaults:defaults$2,disableUserSelect,each:each$f,eqNaN,extend:extend$1,filter,find,guid,hasOwn,indexOf,inherits:inherits$1,isArray:isArray$2,isArrayLike,isBuiltInObject,isDom,isFunction:isFunction$1,isGradientObject,isImagePatternObject,isNumber:isNumber$1,isObject:isObject$4,isPrimitive,isRegExp:isRegExp$1,isString:isString$1,isStringSafe,isTypedArray:isTypedArray$1,keys,logError,map:map$1,merge:merge$1,mergeAll,mixin,noop:noop$1,normalizeCssArray:normalizeCssArray$1,reduce,retrieve,retrieve2,retrieve3,setAsPrimitive,slice,trim:trim$2},Symbol.toStringTag,{value:"Module"}));function create$2(ee,te){return ee==null&&(ee=0),te==null&&(te=0),[ee,te]}function copy$1(ee,te){return ee[0]=te[0],ee[1]=te[1],ee}function clone$3(ee){return[ee[0],ee[1]]}function set$1(ee,te,ae){return ee[0]=te,ee[1]=ae,ee}function add(ee,te,ae){return ee[0]=te[0]+ae[0],ee[1]=te[1]+ae[1],ee}function scaleAndAdd$1(ee,te,ae,ne){return ee[0]=te[0]+ae[0]*ne,ee[1]=te[1]+ae[1]*ne,ee}function sub(ee,te,ae){return ee[0]=te[0]-ae[0],ee[1]=te[1]-ae[1],ee}function len(ee){return Math.sqrt(lenSquare(ee))}var length=len;function lenSquare(ee){return ee[0]*ee[0]+ee[1]*ee[1]}var lengthSquare=lenSquare;function mul$1(ee,te,ae){return ee[0]=te[0]*ae[0],ee[1]=te[1]*ae[1],ee}function div(ee,te,ae){return ee[0]=te[0]/ae[0],ee[1]=te[1]/ae[1],ee}function dot(ee,te){return ee[0]*te[0]+ee[1]*te[1]}function scale$2(ee,te,ae){return ee[0]=te[0]*ae,ee[1]=te[1]*ae,ee}function normalize$3(ee,te){var ae=len(te);return ae===0?(ee[0]=0,ee[1]=0):(ee[0]=te[0]/ae,ee[1]=te[1]/ae),ee}function distance(ee,te){return Math.sqrt((ee[0]-te[0])*(ee[0]-te[0])+(ee[1]-te[1])*(ee[1]-te[1]))}var dist$1=distance;function distanceSquare(ee,te){return(ee[0]-te[0])*(ee[0]-te[0])+(ee[1]-te[1])*(ee[1]-te[1])}var distSquare=distanceSquare;function negate(ee,te){return ee[0]=-te[0],ee[1]=-te[1],ee}function lerp$1(ee,te,ae,ne){return ee[0]=te[0]+ne*(ae[0]-te[0]),ee[1]=te[1]+ne*(ae[1]-te[1]),ee}function applyTransform$1(ee,te,ae){var ne=te[0],ie=te[1];return ee[0]=ae[0]*ne+ae[2]*ie+ae[4],ee[1]=ae[1]*ne+ae[3]*ie+ae[5],ee}function min$1(ee,te,ae){return ee[0]=Math.min(te[0],ae[0]),ee[1]=Math.min(te[1],ae[1]),ee}function max$1(ee,te,ae){return ee[0]=Math.max(te[0],ae[0]),ee[1]=Math.max(te[1],ae[1]),ee}const vector=Object.freeze(Object.defineProperty({__proto__:null,add,applyTransform:applyTransform$1,clone:clone$3,copy:copy$1,create:create$2,dist:dist$1,distSquare,distance,distanceSquare,div,dot,len,lenSquare,length,lengthSquare,lerp:lerp$1,max:max$1,min:min$1,mul:mul$1,negate,normalize:normalize$3,scale:scale$2,scaleAndAdd:scaleAndAdd$1,set:set$1,sub},Symbol.toStringTag,{value:"Module"}));var Param=function(){function ee(te,ae){this.target=te,this.topTarget=ae&&ae.topTarget}return ee}(),Draggable=function(){function ee(te){this.handler=te,te.on("mousedown",this._dragStart,this),te.on("mousemove",this._drag,this),te.on("mouseup",this._dragEnd,this)}return ee.prototype._dragStart=function(te){for(var ae=te.target;ae&&!ae.draggable;)ae=ae.parent||ae.__hostTarget;ae&&(this._draggingTarget=ae,ae.dragging=!0,this._x=te.offsetX,this._y=te.offsetY,this.handler.dispatchToElement(new Param(ae,te),"dragstart",te.event))},ee.prototype._drag=function(te){var ae=this._draggingTarget;if(ae){var ne=te.offsetX,ie=te.offsetY,oe=ne-this._x,se=ie-this._y;this._x=ne,this._y=ie,ae.drift(oe,se,te),this.handler.dispatchToElement(new Param(ae,te),"drag",te.event);var le=this.handler.findHover(ne,ie,ae).target,ue=this._dropTarget;this._dropTarget=le,ae!==le&&(ue&&le!==ue&&this.handler.dispatchToElement(new Param(ue,te),"dragleave",te.event),le&&le!==ue&&this.handler.dispatchToElement(new Param(le,te),"dragenter",te.event))}},ee.prototype._dragEnd=function(te){var ae=this._draggingTarget;ae&&(ae.dragging=!1),this.handler.dispatchToElement(new Param(ae,te),"dragend",te.event),this._dropTarget&&this.handler.dispatchToElement(new Param(this._dropTarget,te),"drop",te.event),this._draggingTarget=null,this._dropTarget=null},ee}();const Draggable$1=Draggable;var Eventful=function(){function ee(te){te&&(this._$eventProcessor=te)}return ee.prototype.on=function(te,ae,ne,ie){this._$handlers||(this._$handlers={});var oe=this._$handlers;if(typeof ae=="function"&&(ie=ne,ne=ae,ae=null),!ne||!te)return this;var se=this._$eventProcessor;ae!=null&&se&&se.normalizeQuery&&(ae=se.normalizeQuery(ae)),oe[te]||(oe[te]=[]);for(var le=0;le<oe[te].length;le++)if(oe[te][le].h===ne)return this;var ue={h:ne,query:ae,ctx:ie||this,callAtLast:ne.zrEventfulCallAtLast},ce=oe[te].length-1,de=oe[te][ce];return de&&de.callAtLast?oe[te].splice(ce,0,ue):oe[te].push(ue),this},ee.prototype.isSilent=function(te){var ae=this._$handlers;return!ae||!ae[te]||!ae[te].length},ee.prototype.off=function(te,ae){var ne=this._$handlers;if(!ne)return this;if(!te)return this._$handlers={},this;if(ae){if(ne[te]){for(var ie=[],oe=0,se=ne[te].length;oe<se;oe++)ne[te][oe].h!==ae&&ie.push(ne[te][oe]);ne[te]=ie}ne[te]&&ne[te].length===0&&delete ne[te]}else delete ne[te];return this},ee.prototype.trigger=function(te){for(var ae=[],ne=1;ne<arguments.length;ne++)ae[ne-1]=arguments[ne];if(!this._$handlers)return this;var ie=this._$handlers[te],oe=this._$eventProcessor;if(ie)for(var se=ae.length,le=ie.length,ue=0;ue<le;ue++){var ce=ie[ue];if(!(oe&&oe.filter&&ce.query!=null&&!oe.filter(te,ce.query)))switch(se){case 0:ce.h.call(ce.ctx);break;case 1:ce.h.call(ce.ctx,ae[0]);break;case 2:ce.h.call(ce.ctx,ae[0],ae[1]);break;default:ce.h.apply(ce.ctx,ae);break}}return oe&&oe.afterTrigger&&oe.afterTrigger(te),this},ee.prototype.triggerWithContext=function(te){for(var ae=[],ne=1;ne<arguments.length;ne++)ae[ne-1]=arguments[ne];if(!this._$handlers)return this;var ie=this._$handlers[te],oe=this._$eventProcessor;if(ie)for(var se=ae.length,le=ae[se-1],ue=ie.length,ce=0;ce<ue;ce++){var de=ie[ce];if(!(oe&&oe.filter&&de.query!=null&&!oe.filter(te,de.query)))switch(se){case 0:de.h.call(le);break;case 1:de.h.call(le,ae[0]);break;case 2:de.h.call(le,ae[0],ae[1]);break;default:de.h.apply(le,ae.slice(1,se-1));break}}return oe&&oe.afterTrigger&&oe.afterTrigger(te),this},ee}();const Eventful$1=Eventful;var LN2=Math.log(2);function determinant(ee,te,ae,ne,ie,oe){var se=ne+"-"+ie,le=ee.length;if(oe.hasOwnProperty(se))return oe[se];if(te===1){var ue=Math.round(Math.log((1<<le)-1&~ie)/LN2);return ee[ae][ue]}for(var ce=ne|1<<ae,de=ae+1;ne&1<<de;)de++;for(var he=0,fe=0,pe=0;fe<le;fe++){var ve=1<<fe;ve&ie||(he+=(pe%2?-1:1)*ee[ae][fe]*determinant(ee,te-1,de,ce,ie|ve,oe),pe++)}return oe[se]=he,he}function buildTransformer(ee,te){var ae=[[ee[0],ee[1],1,0,0,0,-te[0]*ee[0],-te[0]*ee[1]],[0,0,0,ee[0],ee[1],1,-te[1]*ee[0],-te[1]*ee[1]],[ee[2],ee[3],1,0,0,0,-te[2]*ee[2],-te[2]*ee[3]],[0,0,0,ee[2],ee[3],1,-te[3]*ee[2],-te[3]*ee[3]],[ee[4],ee[5],1,0,0,0,-te[4]*ee[4],-te[4]*ee[5]],[0,0,0,ee[4],ee[5],1,-te[5]*ee[4],-te[5]*ee[5]],[ee[6],ee[7],1,0,0,0,-te[6]*ee[6],-te[6]*ee[7]],[0,0,0,ee[6],ee[7],1,-te[7]*ee[6],-te[7]*ee[7]]],ne={},ie=determinant(ae,8,0,0,0,ne);if(ie!==0){for(var oe=[],se=0;se<8;se++)for(var le=0;le<8;le++)oe[le]==null&&(oe[le]=0),oe[le]+=((se+le)%2?-1:1)*determinant(ae,7,se===0?1:0,1<<se,1<<le,ne)/ie*te[se];return function(ue,ce,de){var he=ce*oe[6]+de*oe[7]+1;ue[0]=(ce*oe[0]+de*oe[1]+oe[2])/he,ue[1]=(ce*oe[3]+de*oe[4]+oe[5])/he}}}var EVENT_SAVED_PROP="___zrEVENTSAVED",_calcOut$1=[];function transformLocalCoord(ee,te,ae,ne,ie){return transformCoordWithViewport(_calcOut$1,te,ne,ie,!0)&&transformCoordWithViewport(ee,ae,_calcOut$1[0],_calcOut$1[1])}function transformCoordWithViewport(ee,te,ae,ne,ie){if(te.getBoundingClientRect&&env$1.domSupported&&!isCanvasEl(te)){var oe=te[EVENT_SAVED_PROP]||(te[EVENT_SAVED_PROP]={}),se=prepareCoordMarkers(te,oe),le=preparePointerTransformer(se,oe,ie);if(le)return le(ee,ae,ne),!0}return!1}function prepareCoordMarkers(ee,te){var ae=te.markers;if(ae)return ae;ae=te.markers=[];for(var ne=["left","right"],ie=["top","bottom"],oe=0;oe<4;oe++){var se=document.createElement("div"),le=se.style,ue=oe%2,ce=(oe>>1)%2;le.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",ne[ue]+":0",ie[ce]+":0",ne[1-ue]+":auto",ie[1-ce]+":auto",""].join("!important;"),ee.appendChild(se),ae.push(se)}return ae}function preparePointerTransformer(ee,te,ae){for(var ne=ae?"invTrans":"trans",ie=te[ne],oe=te.srcCoords,se=[],le=[],ue=!0,ce=0;ce<4;ce++){var de=ee[ce].getBoundingClientRect(),he=2*ce,fe=de.left,pe=de.top;se.push(fe,pe),ue=ue&&oe&&fe===oe[he]&&pe===oe[he+1],le.push(ee[ce].offsetLeft,ee[ce].offsetTop)}return ue&&ie?ie:(te.srcCoords=se,te[ne]=ae?buildTransformer(le,se):buildTransformer(se,le))}function isCanvasEl(ee){return ee.nodeName.toUpperCase()==="CANVAS"}var replaceReg=/([&<>"'])/g,replaceMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function encodeHTML(ee){return ee==null?"":(ee+"").replace(replaceReg,function(te,ae){return replaceMap[ae]})}var MOUSE_EVENT_REG=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,_calcOut=[],firefoxNotSupportOffsetXY=env$1.browser.firefox&&+env$1.browser.version.split(".")[0]<39;function clientToLocal(ee,te,ae,ne){return ae=ae||{},ne?calculateZrXY(ee,te,ae):firefoxNotSupportOffsetXY&&te.layerX!=null&&te.layerX!==te.offsetX?(ae.zrX=te.layerX,ae.zrY=te.layerY):te.offsetX!=null?(ae.zrX=te.offsetX,ae.zrY=te.offsetY):calculateZrXY(ee,te,ae),ae}function calculateZrXY(ee,te,ae){if(env$1.domSupported&&ee.getBoundingClientRect){var ne=te.clientX,ie=te.clientY;if(isCanvasEl(ee)){var oe=ee.getBoundingClientRect();ae.zrX=ne-oe.left,ae.zrY=ie-oe.top;return}else if(transformCoordWithViewport(_calcOut,ee,ne,ie)){ae.zrX=_calcOut[0],ae.zrY=_calcOut[1];return}}ae.zrX=ae.zrY=0}function getNativeEvent(ee){return ee||window.event}function normalizeEvent(ee,te,ae){if(te=getNativeEvent(te),te.zrX!=null)return te;var ne=te.type,ie=ne&&ne.indexOf("touch")>=0;if(ie){var se=ne!=="touchend"?te.targetTouches[0]:te.changedTouches[0];se&&clientToLocal(ee,se,te,ae)}else{clientToLocal(ee,te,te,ae);var oe=getWheelDeltaMayPolyfill(te);te.zrDelta=oe?oe/120:-(te.detail||0)/3}var le=te.button;return te.which==null&&le!==void 0&&MOUSE_EVENT_REG.test(te.type)&&(te.which=le&1?1:le&2?3:le&4?2:0),te}function getWheelDeltaMayPolyfill(ee){var te=ee.wheelDelta;if(te)return te;var ae=ee.deltaX,ne=ee.deltaY;if(ae==null||ne==null)return te;var ie=Math.abs(ne!==0?ne:ae),oe=ne>0?-1:ne<0?1:ae>0?-1:1;return 3*ie*oe}function addEventListener(ee,te,ae,ne){ee.addEventListener(te,ae,ne)}function removeEventListener(ee,te,ae,ne){ee.removeEventListener(te,ae,ne)}var stop=function(ee){ee.preventDefault(),ee.stopPropagation(),ee.cancelBubble=!0};function isMiddleOrRightButtonOnMouseUpDown(ee){return ee.which===2||ee.which===3}var GestureMgr=function(){function ee(){this._track=[]}return ee.prototype.recognize=function(te,ae,ne){return this._doTrack(te,ae,ne),this._recognize(te)},ee.prototype.clear=function(){return this._track.length=0,this},ee.prototype._doTrack=function(te,ae,ne){var ie=te.touches;if(ie){for(var oe={points:[],touches:[],target:ae,event:te},se=0,le=ie.length;se<le;se++){var ue=ie[se],ce=clientToLocal(ne,ue,{});oe.points.push([ce.zrX,ce.zrY]),oe.touches.push(ue)}this._track.push(oe)}},ee.prototype._recognize=function(te){for(var ae in recognizers)if(recognizers.hasOwnProperty(ae)){var ne=recognizers[ae](this._track,te);if(ne)return ne}},ee}();function dist(ee){var te=ee[1][0]-ee[0][0],ae=ee[1][1]-ee[0][1];return Math.sqrt(te*te+ae*ae)}function center$1(ee){return[(ee[0][0]+ee[1][0])/2,(ee[0][1]+ee[1][1])/2]}var recognizers={pinch:function(ee,te){var ae=ee.length;if(ae){var ne=(ee[ae-1]||{}).points,ie=(ee[ae-2]||{}).points||ne;if(ie&&ie.length>1&&ne&&ne.length>1){var oe=dist(ne)/dist(ie);!isFinite(oe)&&(oe=1),te.pinchScale=oe;var se=center$1(ne);return te.pinchX=se[0],te.pinchY=se[1],{type:"pinch",target:ee[0].target,event:te}}}}};function create$1(){return[1,0,0,1,0,0]}function identity(ee){return ee[0]=1,ee[1]=0,ee[2]=0,ee[3]=1,ee[4]=0,ee[5]=0,ee}function copy(ee,te){return ee[0]=te[0],ee[1]=te[1],ee[2]=te[2],ee[3]=te[3],ee[4]=te[4],ee[5]=te[5],ee}function mul(ee,te,ae){var ne=te[0]*ae[0]+te[2]*ae[1],ie=te[1]*ae[0]+te[3]*ae[1],oe=te[0]*ae[2]+te[2]*ae[3],se=te[1]*ae[2]+te[3]*ae[3],le=te[0]*ae[4]+te[2]*ae[5]+te[4],ue=te[1]*ae[4]+te[3]*ae[5]+te[5];return ee[0]=ne,ee[1]=ie,ee[2]=oe,ee[3]=se,ee[4]=le,ee[5]=ue,ee}function translate(ee,te,ae){return ee[0]=te[0],ee[1]=te[1],ee[2]=te[2],ee[3]=te[3],ee[4]=te[4]+ae[0],ee[5]=te[5]+ae[1],ee}function rotate(ee,te,ae){var ne=te[0],ie=te[2],oe=te[4],se=te[1],le=te[3],ue=te[5],ce=Math.sin(ae),de=Math.cos(ae);return ee[0]=ne*de+se*ce,ee[1]=-ne*ce+se*de,ee[2]=ie*de+le*ce,ee[3]=-ie*ce+de*le,ee[4]=de*oe+ce*ue,ee[5]=de*ue-ce*oe,ee}function scale$1(ee,te,ae){var ne=ae[0],ie=ae[1];return ee[0]=te[0]*ne,ee[1]=te[1]*ie,ee[2]=te[2]*ne,ee[3]=te[3]*ie,ee[4]=te[4]*ne,ee[5]=te[5]*ie,ee}function invert(ee,te){var ae=te[0],ne=te[2],ie=te[4],oe=te[1],se=te[3],le=te[5],ue=ae*se-oe*ne;return ue?(ue=1/ue,ee[0]=se*ue,ee[1]=-oe*ue,ee[2]=-ne*ue,ee[3]=ae*ue,ee[4]=(ne*le-se*ie)*ue,ee[5]=(oe*ie-ae*le)*ue,ee):null}function clone$2(ee){var te=create$1();return copy(te,ee),te}const matrix=Object.freeze(Object.defineProperty({__proto__:null,clone:clone$2,copy,create:create$1,identity,invert,mul,rotate,scale:scale$1,translate},Symbol.toStringTag,{value:"Module"}));var Point=function(){function ee(te,ae){this.x=te||0,this.y=ae||0}return ee.prototype.copy=function(te){return this.x=te.x,this.y=te.y,this},ee.prototype.clone=function(){return new ee(this.x,this.y)},ee.prototype.set=function(te,ae){return this.x=te,this.y=ae,this},ee.prototype.equal=function(te){return te.x===this.x&&te.y===this.y},ee.prototype.add=function(te){return this.x+=te.x,this.y+=te.y,this},ee.prototype.scale=function(te){this.x*=te,this.y*=te},ee.prototype.scaleAndAdd=function(te,ae){this.x+=te.x*ae,this.y+=te.y*ae},ee.prototype.sub=function(te){return this.x-=te.x,this.y-=te.y,this},ee.prototype.dot=function(te){return this.x*te.x+this.y*te.y},ee.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},ee.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},ee.prototype.normalize=function(){var te=this.len();return this.x/=te,this.y/=te,this},ee.prototype.distance=function(te){var ae=this.x-te.x,ne=this.y-te.y;return Math.sqrt(ae*ae+ne*ne)},ee.prototype.distanceSquare=function(te){var ae=this.x-te.x,ne=this.y-te.y;return ae*ae+ne*ne},ee.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},ee.prototype.transform=function(te){if(te){var ae=this.x,ne=this.y;return this.x=te[0]*ae+te[2]*ne+te[4],this.y=te[1]*ae+te[3]*ne+te[5],this}},ee.prototype.toArray=function(te){return te[0]=this.x,te[1]=this.y,te},ee.prototype.fromArray=function(te){this.x=te[0],this.y=te[1]},ee.set=function(te,ae,ne){te.x=ae,te.y=ne},ee.copy=function(te,ae){te.x=ae.x,te.y=ae.y},ee.len=function(te){return Math.sqrt(te.x*te.x+te.y*te.y)},ee.lenSquare=function(te){return te.x*te.x+te.y*te.y},ee.dot=function(te,ae){return te.x*ae.x+te.y*ae.y},ee.add=function(te,ae,ne){te.x=ae.x+ne.x,te.y=ae.y+ne.y},ee.sub=function(te,ae,ne){te.x=ae.x-ne.x,te.y=ae.y-ne.y},ee.scale=function(te,ae,ne){te.x=ae.x*ne,te.y=ae.y*ne},ee.scaleAndAdd=function(te,ae,ne,ie){te.x=ae.x+ne.x*ie,te.y=ae.y+ne.y*ie},ee.lerp=function(te,ae,ne,ie){var oe=1-ie;te.x=oe*ae.x+ie*ne.x,te.y=oe*ae.y+ie*ne.y},ee}();const Point$1=Point;var mathMin$a=Math.min,mathMax$a=Math.max,lt=new Point$1,rb=new Point$1,lb=new Point$1,rt=new Point$1,minTv$1=new Point$1,maxTv$1=new Point$1,BoundingRect=function(){function ee(te,ae,ne,ie){ne<0&&(te=te+ne,ne=-ne),ie<0&&(ae=ae+ie,ie=-ie),this.x=te,this.y=ae,this.width=ne,this.height=ie}return ee.prototype.union=function(te){var ae=mathMin$a(te.x,this.x),ne=mathMin$a(te.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=mathMax$a(te.x+te.width,this.x+this.width)-ae:this.width=te.width,isFinite(this.y)&&isFinite(this.height)?this.height=mathMax$a(te.y+te.height,this.y+this.height)-ne:this.height=te.height,this.x=ae,this.y=ne},ee.prototype.applyTransform=function(te){ee.applyTransform(this,this,te)},ee.prototype.calculateTransform=function(te){var ae=this,ne=te.width/ae.width,ie=te.height/ae.height,oe=create$1();return translate(oe,oe,[-ae.x,-ae.y]),scale$1(oe,oe,[ne,ie]),translate(oe,oe,[te.x,te.y]),oe},ee.prototype.intersect=function(te,ae){if(!te)return!1;te instanceof ee||(te=ee.create(te));var ne=this,ie=ne.x,oe=ne.x+ne.width,se=ne.y,le=ne.y+ne.height,ue=te.x,ce=te.x+te.width,de=te.y,he=te.y+te.height,fe=!(oe<ue||ce<ie||le<de||he<se);if(ae){var pe=1/0,ve=0,ge=Math.abs(oe-ue),me=Math.abs(ce-ie),ye=Math.abs(le-de),_e=Math.abs(he-se),be=Math.min(ge,me),xe=Math.min(ye,_e);oe<ue||ce<ie?be>ve&&(ve=be,ge<me?Point$1.set(maxTv$1,-ge,0):Point$1.set(maxTv$1,me,0)):be<pe&&(pe=be,ge<me?Point$1.set(minTv$1,ge,0):Point$1.set(minTv$1,-me,0)),le<de||he<se?xe>ve&&(ve=xe,ye<_e?Point$1.set(maxTv$1,0,-ye):Point$1.set(maxTv$1,0,_e)):be<pe&&(pe=be,ye<_e?Point$1.set(minTv$1,0,ye):Point$1.set(minTv$1,0,-_e))}return ae&&Point$1.copy(ae,fe?minTv$1:maxTv$1),fe},ee.prototype.contain=function(te,ae){var ne=this;return te>=ne.x&&te<=ne.x+ne.width&&ae>=ne.y&&ae<=ne.y+ne.height},ee.prototype.clone=function(){return new ee(this.x,this.y,this.width,this.height)},ee.prototype.copy=function(te){ee.copy(this,te)},ee.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},ee.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},ee.prototype.isZero=function(){return this.width===0||this.height===0},ee.create=function(te){return new ee(te.x,te.y,te.width,te.height)},ee.copy=function(te,ae){te.x=ae.x,te.y=ae.y,te.width=ae.width,te.height=ae.height},ee.applyTransform=function(te,ae,ne){if(!ne){te!==ae&&ee.copy(te,ae);return}if(ne[1]<1e-5&&ne[1]>-1e-5&&ne[2]<1e-5&&ne[2]>-1e-5){var ie=ne[0],oe=ne[3],se=ne[4],le=ne[5];te.x=ae.x*ie+se,te.y=ae.y*oe+le,te.width=ae.width*ie,te.height=ae.height*oe,te.width<0&&(te.x+=te.width,te.width=-te.width),te.height<0&&(te.y+=te.height,te.height=-te.height);return}lt.x=lb.x=ae.x,lt.y=rt.y=ae.y,rb.x=rt.x=ae.x+ae.width,rb.y=lb.y=ae.y+ae.height,lt.transform(ne),rt.transform(ne),rb.transform(ne),lb.transform(ne),te.x=mathMin$a(lt.x,rb.x,lb.x,rt.x),te.y=mathMin$a(lt.y,rb.y,lb.y,rt.y);var ue=mathMax$a(lt.x,rb.x,lb.x,rt.x),ce=mathMax$a(lt.y,rb.y,lb.y,rt.y);te.width=ue-te.x,te.height=ce-te.y},ee}();const BoundingRect$1=BoundingRect;var SILENT="silent";function makeEventPacket(ee,te,ae){return{type:ee,event:ae,target:te.target,topTarget:te.topTarget,cancelBubble:!1,offsetX:ae.zrX,offsetY:ae.zrY,gestureEvent:ae.gestureEvent,pinchX:ae.pinchX,pinchY:ae.pinchY,pinchScale:ae.pinchScale,wheelDelta:ae.zrDelta,zrByTouch:ae.zrByTouch,which:ae.which,stop:stopEvent}}function stopEvent(){stop(this.event)}var EmptyProxy=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.handler=null,ae}return te.prototype.dispose=function(){},te.prototype.setCursor=function(){},te}(Eventful$1),HoveredResult=function(){function ee(te,ae){this.x=te,this.y=ae}return ee}(),handlerNames=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],tmpRect$1=new BoundingRect$1(0,0,0,0),Handler=function(ee){__extends(te,ee);function te(ae,ne,ie,oe,se){var le=ee.call(this)||this;return le._hovered=new HoveredResult(0,0),le.storage=ae,le.painter=ne,le.painterRoot=oe,le._pointerSize=se,ie=ie||new EmptyProxy,le.proxy=null,le.setHandlerProxy(ie),le._draggingMgr=new Draggable$1(le),le}return te.prototype.setHandlerProxy=function(ae){this.proxy&&this.proxy.dispose(),ae&&(each$f(handlerNames,function(ne){ae.on&&ae.on(ne,this[ne],this)},this),ae.handler=this),this.proxy=ae},te.prototype.mousemove=function(ae){var ne=ae.zrX,ie=ae.zrY,oe=isOutsideBoundary(this,ne,ie),se=this._hovered,le=se.target;le&&!le.__zr&&(se=this.findHover(se.x,se.y),le=se.target);var ue=this._hovered=oe?new HoveredResult(ne,ie):this.findHover(ne,ie),ce=ue.target,de=this.proxy;de.setCursor&&de.setCursor(ce?ce.cursor:"default"),le&&ce!==le&&this.dispatchToElement(se,"mouseout",ae),this.dispatchToElement(ue,"mousemove",ae),ce&&ce!==le&&this.dispatchToElement(ue,"mouseover",ae)},te.prototype.mouseout=function(ae){var ne=ae.zrEventControl;ne!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",ae),ne!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:ae})},te.prototype.resize=function(){this._hovered=new HoveredResult(0,0)},te.prototype.dispatch=function(ae,ne){var ie=this[ae];ie&&ie.call(this,ne)},te.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},te.prototype.setCursorStyle=function(ae){var ne=this.proxy;ne.setCursor&&ne.setCursor(ae)},te.prototype.dispatchToElement=function(ae,ne,ie){ae=ae||{};var oe=ae.target;if(!(oe&&oe.silent)){for(var se="on"+ne,le=makeEventPacket(ne,ae,ie);oe&&(oe[se]&&(le.cancelBubble=!!oe[se].call(oe,le)),oe.trigger(ne,le),oe=oe.__hostTarget?oe.__hostTarget:oe.parent,!le.cancelBubble););le.cancelBubble||(this.trigger(ne,le),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(ue){typeof ue[se]=="function"&&ue[se].call(ue,le),ue.trigger&&ue.trigger(ne,le)}))}},te.prototype.findHover=function(ae,ne,ie){var oe=this.storage.getDisplayList(),se=new HoveredResult(ae,ne);if(setHoverTarget(oe,se,ae,ne,ie),this._pointerSize&&!se.target){for(var le=[],ue=this._pointerSize,ce=ue/2,de=new BoundingRect$1(ae-ce,ne-ce,ue,ue),he=oe.length-1;he>=0;he--){var fe=oe[he];fe!==ie&&!fe.ignore&&!fe.ignoreCoarsePointer&&(!fe.parent||!fe.parent.ignoreCoarsePointer)&&(tmpRect$1.copy(fe.getBoundingRect()),fe.transform&&tmpRect$1.applyTransform(fe.transform),tmpRect$1.intersect(de)&&le.push(fe))}if(le.length)for(var pe=4,ve=Math.PI/12,ge=Math.PI*2,me=0;me<ce;me+=pe)for(var ye=0;ye<ge;ye+=ve){var _e=ae+me*Math.cos(ye),be=ne+me*Math.sin(ye);if(setHoverTarget(le,se,_e,be,ie),se.target)return se}}return se},te.prototype.processGesture=function(ae,ne){this._gestureMgr||(this._gestureMgr=new GestureMgr);var ie=this._gestureMgr;ne==="start"&&ie.clear();var oe=ie.recognize(ae,this.findHover(ae.zrX,ae.zrY,null).target,this.proxy.dom);if(ne==="end"&&ie.clear(),oe){var se=oe.type;ae.gestureEvent=se;var le=new HoveredResult;le.target=oe.target,this.dispatchToElement(le,se,oe.event)}},te}(Eventful$1);each$f(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(ee){Handler.prototype[ee]=function(te){var ae=te.zrX,ne=te.zrY,ie=isOutsideBoundary(this,ae,ne),oe,se;if((ee!=="mouseup"||!ie)&&(oe=this.findHover(ae,ne),se=oe.target),ee==="mousedown")this._downEl=se,this._downPoint=[te.zrX,te.zrY],this._upEl=se;else if(ee==="mouseup")this._upEl=se;else if(ee==="click"){if(this._downEl!==this._upEl||!this._downPoint||dist$1(this._downPoint,[te.zrX,te.zrY])>4)return;this._downPoint=null}this.dispatchToElement(oe,ee,te)}});function isHover(ee,te,ae){if(ee[ee.rectHover?"rectContain":"contain"](te,ae)){for(var ne=ee,ie=void 0,oe=!1;ne;){if(ne.ignoreClip&&(oe=!0),!oe){var se=ne.getClipPath();if(se&&!se.contain(te,ae))return!1;ne.silent&&(ie=!0)}var le=ne.__hostTarget;ne=le||ne.parent}return ie?SILENT:!0}return!1}function setHoverTarget(ee,te,ae,ne,ie){for(var oe=ee.length-1;oe>=0;oe--){var se=ee[oe],le=void 0;if(se!==ie&&!se.ignore&&(le=isHover(se,ae,ne))&&(!te.topTarget&&(te.topTarget=se),le!==SILENT)){te.target=se;break}}}function isOutsideBoundary(ee,te,ae){var ne=ee.painter;return te<0||te>ne.getWidth()||ae<0||ae>ne.getHeight()}const Handler$1=Handler;var DEFAULT_MIN_MERGE=32,DEFAULT_MIN_GALLOPING=7;function minRunLength(ee){for(var te=0;ee>=DEFAULT_MIN_MERGE;)te|=ee&1,ee>>=1;return ee+te}function makeAscendingRun(ee,te,ae,ne){var ie=te+1;if(ie===ae)return 1;if(ne(ee[ie++],ee[te])<0){for(;ie<ae&&ne(ee[ie],ee[ie-1])<0;)ie++;reverseRun(ee,te,ie)}else for(;ie<ae&&ne(ee[ie],ee[ie-1])>=0;)ie++;return ie-te}function reverseRun(ee,te,ae){for(ae--;te<ae;){var ne=ee[te];ee[te++]=ee[ae],ee[ae--]=ne}}function binaryInsertionSort(ee,te,ae,ne,ie){for(ne===te&&ne++;ne<ae;ne++){for(var oe=ee[ne],se=te,le=ne,ue;se<le;)ue=se+le>>>1,ie(oe,ee[ue])<0?le=ue:se=ue+1;var ce=ne-se;switch(ce){case 3:ee[se+3]=ee[se+2];case 2:ee[se+2]=ee[se+1];case 1:ee[se+1]=ee[se];break;default:for(;ce>0;)ee[se+ce]=ee[se+ce-1],ce--}ee[se]=oe}}function gallopLeft(ee,te,ae,ne,ie,oe){var se=0,le=0,ue=1;if(oe(ee,te[ae+ie])>0){for(le=ne-ie;ue<le&&oe(ee,te[ae+ie+ue])>0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le),se+=ie,ue+=ie}else{for(le=ie+1;ue<le&&oe(ee,te[ae+ie-ue])<=0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le);var ce=se;se=ie-ue,ue=ie-ce}for(se++;se<ue;){var de=se+(ue-se>>>1);oe(ee,te[ae+de])>0?se=de+1:ue=de}return ue}function gallopRight(ee,te,ae,ne,ie,oe){var se=0,le=0,ue=1;if(oe(ee,te[ae+ie])<0){for(le=ie+1;ue<le&&oe(ee,te[ae+ie-ue])<0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le);var ce=se;se=ie-ue,ue=ie-ce}else{for(le=ne-ie;ue<le&&oe(ee,te[ae+ie+ue])>=0;)se=ue,ue=(ue<<1)+1,ue<=0&&(ue=le);ue>le&&(ue=le),se+=ie,ue+=ie}for(se++;se<ue;){var de=se+(ue-se>>>1);oe(ee,te[ae+de])<0?ue=de:se=de+1}return ue}function TimSort(ee,te){var ae=DEFAULT_MIN_GALLOPING,ne,ie,oe=0;ee.length;var se=[];ne=[],ie=[];function le(pe,ve){ne[oe]=pe,ie[oe]=ve,oe+=1}function ue(){for(;oe>1;){var pe=oe-2;if(pe>=1&&ie[pe-1]<=ie[pe]+ie[pe+1]||pe>=2&&ie[pe-2]<=ie[pe]+ie[pe-1])ie[pe-1]<ie[pe+1]&&pe--;else if(ie[pe]>ie[pe+1])break;de(pe)}}function ce(){for(;oe>1;){var pe=oe-2;pe>0&&ie[pe-1]<ie[pe+1]&&pe--,de(pe)}}function de(pe){var ve=ne[pe],ge=ie[pe],me=ne[pe+1],ye=ie[pe+1];ie[pe]=ge+ye,pe===oe-3&&(ne[pe+1]=ne[pe+2],ie[pe+1]=ie[pe+2]),oe--;var _e=gallopRight(ee[me],ee,ve,ge,0,te);ve+=_e,ge-=_e,ge!==0&&(ye=gallopLeft(ee[ve+ge-1],ee,me,ye,ye-1,te),ye!==0&&(ge<=ye?he(ve,ge,me,ye):fe(ve,ge,me,ye)))}function he(pe,ve,ge,me){var ye=0;for(ye=0;ye<ve;ye++)se[ye]=ee[pe+ye];var _e=0,be=ge,xe=pe;if(ee[xe++]=ee[be++],--me===0){for(ye=0;ye<ve;ye++)ee[xe+ye]=se[_e+ye];return}if(ve===1){for(ye=0;ye<me;ye++)ee[xe+ye]=ee[be+ye];ee[xe+me]=se[_e];return}for(var $e=ae,Se,we,Ae;;){Se=0,we=0,Ae=!1;do if(te(ee[be],se[_e])<0){if(ee[xe++]=ee[be++],we++,Se=0,--me===0){Ae=!0;break}}else if(ee[xe++]=se[_e++],Se++,we=0,--ve===1){Ae=!0;break}while((Se|we)<$e);if(Ae)break;do{if(Se=gallopRight(ee[be],se,_e,ve,0,te),Se!==0){for(ye=0;ye<Se;ye++)ee[xe+ye]=se[_e+ye];if(xe+=Se,_e+=Se,ve-=Se,ve<=1){Ae=!0;break}}if(ee[xe++]=ee[be++],--me===0){Ae=!0;break}if(we=gallopLeft(se[_e],ee,be,me,0,te),we!==0){for(ye=0;ye<we;ye++)ee[xe+ye]=ee[be+ye];if(xe+=we,be+=we,me-=we,me===0){Ae=!0;break}}if(ee[xe++]=se[_e++],--ve===1){Ae=!0;break}$e--}while(Se>=DEFAULT_MIN_GALLOPING||we>=DEFAULT_MIN_GALLOPING);if(Ae)break;$e<0&&($e=0),$e+=2}if(ae=$e,ae<1&&(ae=1),ve===1){for(ye=0;ye<me;ye++)ee[xe+ye]=ee[be+ye];ee[xe+me]=se[_e]}else{if(ve===0)throw new Error;for(ye=0;ye<ve;ye++)ee[xe+ye]=se[_e+ye]}}function fe(pe,ve,ge,me){var ye=0;for(ye=0;ye<me;ye++)se[ye]=ee[ge+ye];var _e=pe+ve-1,be=me-1,xe=ge+me-1,$e=0,Se=0;if(ee[xe--]=ee[_e--],--ve===0){for($e=xe-(me-1),ye=0;ye<me;ye++)ee[$e+ye]=se[ye];return}if(me===1){for(xe-=ve,_e-=ve,Se=xe+1,$e=_e+1,ye=ve-1;ye>=0;ye--)ee[Se+ye]=ee[$e+ye];ee[xe]=se[be];return}for(var we=ae;;){var Ae=0,Te=0,De=!1;do if(te(se[be],ee[_e])<0){if(ee[xe--]=ee[_e--],Ae++,Te=0,--ve===0){De=!0;break}}else if(ee[xe--]=se[be--],Te++,Ae=0,--me===1){De=!0;break}while((Ae|Te)<we);if(De)break;do{if(Ae=ve-gallopRight(se[be],ee,pe,ve,ve-1,te),Ae!==0){for(xe-=Ae,_e-=Ae,ve-=Ae,Se=xe+1,$e=_e+1,ye=Ae-1;ye>=0;ye--)ee[Se+ye]=ee[$e+ye];if(ve===0){De=!0;break}}if(ee[xe--]=se[be--],--me===1){De=!0;break}if(Te=me-gallopLeft(ee[_e],se,0,me,me-1,te),Te!==0){for(xe-=Te,be-=Te,me-=Te,Se=xe+1,$e=be+1,ye=0;ye<Te;ye++)ee[Se+ye]=se[$e+ye];if(me<=1){De=!0;break}}if(ee[xe--]=ee[_e--],--ve===0){De=!0;break}we--}while(Ae>=DEFAULT_MIN_GALLOPING||Te>=DEFAULT_MIN_GALLOPING);if(De)break;we<0&&(we=0),we+=2}if(ae=we,ae<1&&(ae=1),me===1){for(xe-=ve,_e-=ve,Se=xe+1,$e=_e+1,ye=ve-1;ye>=0;ye--)ee[Se+ye]=ee[$e+ye];ee[xe]=se[be]}else{if(me===0)throw new Error;for($e=xe-(me-1),ye=0;ye<me;ye++)ee[$e+ye]=se[ye]}}return{mergeRuns:ue,forceMergeRuns:ce,pushRun:le}}function sort$2(ee,te,ae,ne){ae||(ae=0),ne||(ne=ee.length);var ie=ne-ae;if(!(ie<2)){var oe=0;if(ie<DEFAULT_MIN_MERGE){oe=makeAscendingRun(ee,ae,ne,te),binaryInsertionSort(ee,ae,ne,ae+oe,te);return}var se=TimSort(ee,te),le=minRunLength(ie);do{if(oe=makeAscendingRun(ee,ae,ne,te),oe<le){var ue=ie;ue>le&&(ue=le),binaryInsertionSort(ee,ae,ae+ue,ae+oe,te),oe=ue}se.pushRun(ae,oe),se.mergeRuns(),ie-=oe,ae+=oe}while(ie!==0);se.forceMergeRuns()}}var REDRAW_BIT=1,STYLE_CHANGED_BIT=2,SHAPE_CHANGED_BIT=4,invalidZErrorLogged=!1;function logInvalidZError(){invalidZErrorLogged||(invalidZErrorLogged=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function shapeCompareFunc(ee,te){return ee.zlevel===te.zlevel?ee.z===te.z?ee.z2-te.z2:ee.z-te.z:ee.zlevel-te.zlevel}var Storage=function(){function ee(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=shapeCompareFunc}return ee.prototype.traverse=function(te,ae){for(var ne=0;ne<this._roots.length;ne++)this._roots[ne].traverse(te,ae)},ee.prototype.getDisplayList=function(te,ae){ae=ae||!1;var ne=this._displayList;return(te||!ne.length)&&this.updateDisplayList(ae),ne},ee.prototype.updateDisplayList=function(te){this._displayListLen=0;for(var ae=this._roots,ne=this._displayList,ie=0,oe=ae.length;ie<oe;ie++)this._updateAndAddDisplayable(ae[ie],null,te);ne.length=this._displayListLen,sort$2(ne,shapeCompareFunc)},ee.prototype._updateAndAddDisplayable=function(te,ae,ne){if(!(te.ignore&&!ne)){te.beforeUpdate(),te.update(),te.afterUpdate();var ie=te.getClipPath();if(te.ignoreClip)ae=null;else if(ie){ae?ae=ae.slice():ae=[];for(var oe=ie,se=te;oe;)oe.parent=se,oe.updateTransform(),ae.push(oe),se=oe,oe=oe.getClipPath()}if(te.childrenRef){for(var le=te.childrenRef(),ue=0;ue<le.length;ue++){var ce=le[ue];te.__dirty&&(ce.__dirty|=REDRAW_BIT),this._updateAndAddDisplayable(ce,ae,ne)}te.__dirty=0}else{var de=te;ae&&ae.length?de.__clipPaths=ae:de.__clipPaths&&de.__clipPaths.length>0&&(de.__clipPaths=[]),isNaN(de.z)&&(logInvalidZError(),de.z=0),isNaN(de.z2)&&(logInvalidZError(),de.z2=0),isNaN(de.zlevel)&&(logInvalidZError(),de.zlevel=0),this._displayList[this._displayListLen++]=de}var he=te.getDecalElement&&te.getDecalElement();he&&this._updateAndAddDisplayable(he,ae,ne);var fe=te.getTextGuideLine();fe&&this._updateAndAddDisplayable(fe,ae,ne);var pe=te.getTextContent();pe&&this._updateAndAddDisplayable(pe,ae,ne)}},ee.prototype.addRoot=function(te){te.__zr&&te.__zr.storage===this||this._roots.push(te)},ee.prototype.delRoot=function(te){if(te instanceof Array){for(var ae=0,ne=te.length;ae<ne;ae++)this.delRoot(te[ae]);return}var ie=indexOf(this._roots,te);ie>=0&&this._roots.splice(ie,1)},ee.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},ee.prototype.getRoots=function(){return this._roots},ee.prototype.dispose=function(){this._displayList=null,this._roots=null},ee}();const Storage$1=Storage;var requestAnimationFrame$1;requestAnimationFrame$1=env$1.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(ee){return setTimeout(ee,16)};const requestAnimationFrame$2=requestAnimationFrame$1;var easingFuncs={linear:function(ee){return ee},quadraticIn:function(ee){return ee*ee},quadraticOut:function(ee){return ee*(2-ee)},quadraticInOut:function(ee){return(ee*=2)<1?.5*ee*ee:-.5*(--ee*(ee-2)-1)},cubicIn:function(ee){return ee*ee*ee},cubicOut:function(ee){return--ee*ee*ee+1},cubicInOut:function(ee){return(ee*=2)<1?.5*ee*ee*ee:.5*((ee-=2)*ee*ee+2)},quarticIn:function(ee){return ee*ee*ee*ee},quarticOut:function(ee){return 1- --ee*ee*ee*ee},quarticInOut:function(ee){return(ee*=2)<1?.5*ee*ee*ee*ee:-.5*((ee-=2)*ee*ee*ee-2)},quinticIn:function(ee){return ee*ee*ee*ee*ee},quinticOut:function(ee){return--ee*ee*ee*ee*ee+1},quinticInOut:function(ee){return(ee*=2)<1?.5*ee*ee*ee*ee*ee:.5*((ee-=2)*ee*ee*ee*ee+2)},sinusoidalIn:function(ee){return 1-Math.cos(ee*Math.PI/2)},sinusoidalOut:function(ee){return Math.sin(ee*Math.PI/2)},sinusoidalInOut:function(ee){return .5*(1-Math.cos(Math.PI*ee))},exponentialIn:function(ee){return ee===0?0:Math.pow(1024,ee-1)},exponentialOut:function(ee){return ee===1?1:1-Math.pow(2,-10*ee)},exponentialInOut:function(ee){return ee===0?0:ee===1?1:(ee*=2)<1?.5*Math.pow(1024,ee-1):.5*(-Math.pow(2,-10*(ee-1))+2)},circularIn:function(ee){return 1-Math.sqrt(1-ee*ee)},circularOut:function(ee){return Math.sqrt(1- --ee*ee)},circularInOut:function(ee){return(ee*=2)<1?-.5*(Math.sqrt(1-ee*ee)-1):.5*(Math.sqrt(1-(ee-=2)*ee)+1)},elasticIn:function(ee){var te,ae=.1,ne=.4;return ee===0?0:ee===1?1:(!ae||ae<1?(ae=1,te=ne/4):te=ne*Math.asin(1/ae)/(2*Math.PI),-(ae*Math.pow(2,10*(ee-=1))*Math.sin((ee-te)*(2*Math.PI)/ne)))},elasticOut:function(ee){var te,ae=.1,ne=.4;return ee===0?0:ee===1?1:(!ae||ae<1?(ae=1,te=ne/4):te=ne*Math.asin(1/ae)/(2*Math.PI),ae*Math.pow(2,-10*ee)*Math.sin((ee-te)*(2*Math.PI)/ne)+1)},elasticInOut:function(ee){var te,ae=.1,ne=.4;return ee===0?0:ee===1?1:(!ae||ae<1?(ae=1,te=ne/4):te=ne*Math.asin(1/ae)/(2*Math.PI),(ee*=2)<1?-.5*(ae*Math.pow(2,10*(ee-=1))*Math.sin((ee-te)*(2*Math.PI)/ne)):ae*Math.pow(2,-10*(ee-=1))*Math.sin((ee-te)*(2*Math.PI)/ne)*.5+1)},backIn:function(ee){var te=1.70158;return ee*ee*((te+1)*ee-te)},backOut:function(ee){var te=1.70158;return--ee*ee*((te+1)*ee+te)+1},backInOut:function(ee){var te=2.5949095;return(ee*=2)<1?.5*(ee*ee*((te+1)*ee-te)):.5*((ee-=2)*ee*((te+1)*ee+te)+2)},bounceIn:function(ee){return 1-easingFuncs.bounceOut(1-ee)},bounceOut:function(ee){return ee<1/2.75?7.5625*ee*ee:ee<2/2.75?7.5625*(ee-=1.5/2.75)*ee+.75:ee<2.5/2.75?7.5625*(ee-=2.25/2.75)*ee+.9375:7.5625*(ee-=2.625/2.75)*ee+.984375},bounceInOut:function(ee){return ee<.5?easingFuncs.bounceIn(ee*2)*.5:easingFuncs.bounceOut(ee*2-1)*.5+.5}};const easingFuncs$1=easingFuncs;var mathPow$2=Math.pow,mathSqrt$3=Math.sqrt,EPSILON$4=1e-8,EPSILON_NUMERIC=1e-4,THREE_SQRT=mathSqrt$3(3),ONE_THIRD=1/3,_v0=create$2(),_v1=create$2(),_v2=create$2();function isAroundZero$1(ee){return ee>-EPSILON$4&&ee<EPSILON$4}function isNotAroundZero$1(ee){return ee>EPSILON$4||ee<-EPSILON$4}function cubicAt(ee,te,ae,ne,ie){var oe=1-ie;return oe*oe*(oe*ee+3*ie*te)+ie*ie*(ie*ne+3*oe*ae)}function cubicDerivativeAt(ee,te,ae,ne,ie){var oe=1-ie;return 3*(((te-ee)*oe+2*(ae-te)*ie)*oe+(ne-ae)*ie*ie)}function cubicRootAt(ee,te,ae,ne,ie,oe){var se=ne+3*(te-ae)-ee,le=3*(ae-te*2+ee),ue=3*(te-ee),ce=ee-ie,de=le*le-3*se*ue,he=le*ue-9*se*ce,fe=ue*ue-3*le*ce,pe=0;if(isAroundZero$1(de)&&isAroundZero$1(he))if(isAroundZero$1(le))oe[0]=0;else{var ve=-ue/le;ve>=0&&ve<=1&&(oe[pe++]=ve)}else{var ge=he*he-4*de*fe;if(isAroundZero$1(ge)){var me=he/de,ve=-le/se+me,ye=-me/2;ve>=0&&ve<=1&&(oe[pe++]=ve),ye>=0&&ye<=1&&(oe[pe++]=ye)}else if(ge>0){var _e=mathSqrt$3(ge),be=de*le+1.5*se*(-he+_e),xe=de*le+1.5*se*(-he-_e);be<0?be=-mathPow$2(-be,ONE_THIRD):be=mathPow$2(be,ONE_THIRD),xe<0?xe=-mathPow$2(-xe,ONE_THIRD):xe=mathPow$2(xe,ONE_THIRD);var ve=(-le-(be+xe))/(3*se);ve>=0&&ve<=1&&(oe[pe++]=ve)}else{var $e=(2*de*le-3*se*he)/(2*mathSqrt$3(de*de*de)),Se=Math.acos($e)/3,we=mathSqrt$3(de),Ae=Math.cos(Se),ve=(-le-2*we*Ae)/(3*se),ye=(-le+we*(Ae+THREE_SQRT*Math.sin(Se)))/(3*se),Te=(-le+we*(Ae-THREE_SQRT*Math.sin(Se)))/(3*se);ve>=0&&ve<=1&&(oe[pe++]=ve),ye>=0&&ye<=1&&(oe[pe++]=ye),Te>=0&&Te<=1&&(oe[pe++]=Te)}}return pe}function cubicExtrema(ee,te,ae,ne,ie){var oe=6*ae-12*te+6*ee,se=9*te+3*ne-3*ee-9*ae,le=3*te-3*ee,ue=0;if(isAroundZero$1(se)){if(isNotAroundZero$1(oe)){var ce=-le/oe;ce>=0&&ce<=1&&(ie[ue++]=ce)}}else{var de=oe*oe-4*se*le;if(isAroundZero$1(de))ie[0]=-oe/(2*se);else if(de>0){var he=mathSqrt$3(de),ce=(-oe+he)/(2*se),fe=(-oe-he)/(2*se);ce>=0&&ce<=1&&(ie[ue++]=ce),fe>=0&&fe<=1&&(ie[ue++]=fe)}}return ue}function cubicSubdivide(ee,te,ae,ne,ie,oe){var se=(te-ee)*ie+ee,le=(ae-te)*ie+te,ue=(ne-ae)*ie+ae,ce=(le-se)*ie+se,de=(ue-le)*ie+le,he=(de-ce)*ie+ce;oe[0]=ee,oe[1]=se,oe[2]=ce,oe[3]=he,oe[4]=he,oe[5]=de,oe[6]=ue,oe[7]=ne}function cubicProjectPoint(ee,te,ae,ne,ie,oe,se,le,ue,ce,de){var he,fe=.005,pe=1/0,ve,ge,me,ye;_v0[0]=ue,_v0[1]=ce;for(var _e=0;_e<1;_e+=.05)_v1[0]=cubicAt(ee,ae,ie,se,_e),_v1[1]=cubicAt(te,ne,oe,le,_e),me=distSquare(_v0,_v1),me<pe&&(he=_e,pe=me);pe=1/0;for(var be=0;be<32&&!(fe<EPSILON_NUMERIC);be++)ve=he-fe,ge=he+fe,_v1[0]=cubicAt(ee,ae,ie,se,ve),_v1[1]=cubicAt(te,ne,oe,le,ve),me=distSquare(_v1,_v0),ve>=0&&me<pe?(he=ve,pe=me):(_v2[0]=cubicAt(ee,ae,ie,se,ge),_v2[1]=cubicAt(te,ne,oe,le,ge),ye=distSquare(_v2,_v0),ge<=1&&ye<pe?(he=ge,pe=ye):fe*=.5);return de&&(de[0]=cubicAt(ee,ae,ie,se,he),de[1]=cubicAt(te,ne,oe,le,he)),mathSqrt$3(pe)}function cubicLength(ee,te,ae,ne,ie,oe,se,le,ue){for(var ce=ee,de=te,he=0,fe=1/ue,pe=1;pe<=ue;pe++){var ve=pe*fe,ge=cubicAt(ee,ae,ie,se,ve),me=cubicAt(te,ne,oe,le,ve),ye=ge-ce,_e=me-de;he+=Math.sqrt(ye*ye+_e*_e),ce=ge,de=me}return he}function quadraticAt$1(ee,te,ae,ne){var ie=1-ne;return ie*(ie*ee+2*ne*te)+ne*ne*ae}function quadraticDerivativeAt(ee,te,ae,ne){return 2*((1-ne)*(te-ee)+ne*(ae-te))}function quadraticRootAt(ee,te,ae,ne,ie){var oe=ee-2*te+ae,se=2*(te-ee),le=ee-ne,ue=0;if(isAroundZero$1(oe)){if(isNotAroundZero$1(se)){var ce=-le/se;ce>=0&&ce<=1&&(ie[ue++]=ce)}}else{var de=se*se-4*oe*le;if(isAroundZero$1(de)){var ce=-se/(2*oe);ce>=0&&ce<=1&&(ie[ue++]=ce)}else if(de>0){var he=mathSqrt$3(de),ce=(-se+he)/(2*oe),fe=(-se-he)/(2*oe);ce>=0&&ce<=1&&(ie[ue++]=ce),fe>=0&&fe<=1&&(ie[ue++]=fe)}}return ue}function quadraticExtremum(ee,te,ae){var ne=ee+ae-2*te;return ne===0?.5:(ee-te)/ne}function quadraticSubdivide(ee,te,ae,ne,ie){var oe=(te-ee)*ne+ee,se=(ae-te)*ne+te,le=(se-oe)*ne+oe;ie[0]=ee,ie[1]=oe,ie[2]=le,ie[3]=le,ie[4]=se,ie[5]=ae}function quadraticProjectPoint(ee,te,ae,ne,ie,oe,se,le,ue){var ce,de=.005,he=1/0;_v0[0]=se,_v0[1]=le;for(var fe=0;fe<1;fe+=.05){_v1[0]=quadraticAt$1(ee,ae,ie,fe),_v1[1]=quadraticAt$1(te,ne,oe,fe);var pe=distSquare(_v0,_v1);pe<he&&(ce=fe,he=pe)}he=1/0;for(var ve=0;ve<32&&!(de<EPSILON_NUMERIC);ve++){var ge=ce-de,me=ce+de;_v1[0]=quadraticAt$1(ee,ae,ie,ge),_v1[1]=quadraticAt$1(te,ne,oe,ge);var pe=distSquare(_v1,_v0);if(ge>=0&&pe<he)ce=ge,he=pe;else{_v2[0]=quadraticAt$1(ee,ae,ie,me),_v2[1]=quadraticAt$1(te,ne,oe,me);var ye=distSquare(_v2,_v0);me<=1&&ye<he?(ce=me,he=ye):de*=.5}}return ue&&(ue[0]=quadraticAt$1(ee,ae,ie,ce),ue[1]=quadraticAt$1(te,ne,oe,ce)),mathSqrt$3(he)}function quadraticLength(ee,te,ae,ne,ie,oe,se){for(var le=ee,ue=te,ce=0,de=1/se,he=1;he<=se;he++){var fe=he*de,pe=quadraticAt$1(ee,ae,ie,fe),ve=quadraticAt$1(te,ne,oe,fe),ge=pe-le,me=ve-ue;ce+=Math.sqrt(ge*ge+me*me),le=pe,ue=ve}return ce}var regexp=/cubic-bezier\(([0-9,\.e ]+)\)/;function createCubicEasingFunc(ee){var te=ee&&regexp.exec(ee);if(te){var ae=te[1].split(","),ne=+trim$2(ae[0]),ie=+trim$2(ae[1]),oe=+trim$2(ae[2]),se=+trim$2(ae[3]);if(isNaN(ne+ie+oe+se))return;var le=[];return function(ue){return ue<=0?0:ue>=1?1:cubicRootAt(0,ne,oe,1,ue,le)&&cubicAt(0,ie,se,1,le[0])}}}var Clip=function(){function ee(te){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=te.life||1e3,this._delay=te.delay||0,this.loop=te.loop||!1,this.onframe=te.onframe||noop$1,this.ondestroy=te.ondestroy||noop$1,this.onrestart=te.onrestart||noop$1,te.easing&&this.setEasing(te.easing)}return ee.prototype.step=function(te,ae){if(this._inited||(this._startTime=te+this._delay,this._inited=!0),this._paused){this._pausedTime+=ae;return}var ne=this._life,ie=te-this._startTime-this._pausedTime,oe=ie/ne;oe<0&&(oe=0),oe=Math.min(oe,1);var se=this.easingFunc,le=se?se(oe):oe;if(this.onframe(le),oe===1)if(this.loop){var ue=ie%ne;this._startTime=te-ue,this._pausedTime=0,this.onrestart()}else return!0;return!1},ee.prototype.pause=function(){this._paused=!0},ee.prototype.resume=function(){this._paused=!1},ee.prototype.setEasing=function(te){this.easing=te,this.easingFunc=isFunction$1(te)?te:easingFuncs$1[te]||createCubicEasingFunc(te)},ee}();const Clip$1=Clip;var Entry=function(){function ee(te){this.value=te}return ee}(),LinkedList=function(){function ee(){this._len=0}return ee.prototype.insert=function(te){var ae=new Entry(te);return this.insertEntry(ae),ae},ee.prototype.insertEntry=function(te){this.head?(this.tail.next=te,te.prev=this.tail,te.next=null,this.tail=te):this.head=this.tail=te,this._len++},ee.prototype.remove=function(te){var ae=te.prev,ne=te.next;ae?ae.next=ne:this.head=ne,ne?ne.prev=ae:this.tail=ae,te.next=te.prev=null,this._len--},ee.prototype.len=function(){return this._len},ee.prototype.clear=function(){this.head=this.tail=null,this._len=0},ee}(),LRU=function(){function ee(te){this._list=new LinkedList,this._maxSize=10,this._map={},this._maxSize=te}return ee.prototype.put=function(te,ae){var ne=this._list,ie=this._map,oe=null;if(ie[te]==null){var se=ne.len(),le=this._lastRemovedEntry;if(se>=this._maxSize&&se>0){var ue=ne.head;ne.remove(ue),delete ie[ue.key],oe=ue.value,this._lastRemovedEntry=ue}le?le.value=ae:le=new Entry(ae),le.key=te,ne.insertEntry(le),ie[te]=le}return oe},ee.prototype.get=function(te){var ae=this._map[te],ne=this._list;if(ae!=null)return ae!==ne.tail&&(ne.remove(ae),ne.insertEntry(ae)),ae.value},ee.prototype.clear=function(){this._list.clear(),this._map={}},ee.prototype.len=function(){return this._list.len()},ee}();const LRU$1=LRU;var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function clampCssByte(ee){return ee=Math.round(ee),ee<0?0:ee>255?255:ee}function clampCssAngle(ee){return ee=Math.round(ee),ee<0?0:ee>360?360:ee}function clampCssFloat(ee){return ee<0?0:ee>1?1:ee}function parseCssInt(ee){var te=ee;return te.length&&te.charAt(te.length-1)==="%"?clampCssByte(parseFloat(te)/100*255):clampCssByte(parseInt(te,10))}function parseCssFloat(ee){var te=ee;return te.length&&te.charAt(te.length-1)==="%"?clampCssFloat(parseFloat(te)/100):clampCssFloat(parseFloat(te))}function cssHueToRgb(ee,te,ae){return ae<0?ae+=1:ae>1&&(ae-=1),ae*6<1?ee+(te-ee)*ae*6:ae*2<1?te:ae*3<2?ee+(te-ee)*(2/3-ae)*6:ee}function lerpNumber(ee,te,ae){return ee+(te-ee)*ae}function setRgba(ee,te,ae,ne,ie){return ee[0]=te,ee[1]=ae,ee[2]=ne,ee[3]=ie,ee}function copyRgba(ee,te){return ee[0]=te[0],ee[1]=te[1],ee[2]=te[2],ee[3]=te[3],ee}var colorCache=new LRU$1(20),lastRemovedArr=null;function putToCache(ee,te){lastRemovedArr&&copyRgba(lastRemovedArr,te),lastRemovedArr=colorCache.put(ee,lastRemovedArr||te.slice())}function parse$1(ee,te){if(ee){te=te||[];var ae=colorCache.get(ee);if(ae)return copyRgba(te,ae);ee=ee+"";var ne=ee.replace(/ /g,"").toLowerCase();if(ne in kCSSColorTable)return copyRgba(te,kCSSColorTable[ne]),putToCache(ee,te),te;var ie=ne.length;if(ne.charAt(0)==="#"){if(ie===4||ie===5){var oe=parseInt(ne.slice(1,4),16);if(!(oe>=0&&oe<=4095)){setRgba(te,0,0,0,1);return}return setRgba(te,(oe&3840)>>4|(oe&3840)>>8,oe&240|(oe&240)>>4,oe&15|(oe&15)<<4,ie===5?parseInt(ne.slice(4),16)/15:1),putToCache(ee,te),te}else if(ie===7||ie===9){var oe=parseInt(ne.slice(1,7),16);if(!(oe>=0&&oe<=16777215)){setRgba(te,0,0,0,1);return}return setRgba(te,(oe&16711680)>>16,(oe&65280)>>8,oe&255,ie===9?parseInt(ne.slice(7),16)/255:1),putToCache(ee,te),te}return}var se=ne.indexOf("("),le=ne.indexOf(")");if(se!==-1&&le+1===ie){var ue=ne.substr(0,se),ce=ne.substr(se+1,le-(se+1)).split(","),de=1;switch(ue){case"rgba":if(ce.length!==4)return ce.length===3?setRgba(te,+ce[0],+ce[1],+ce[2],1):setRgba(te,0,0,0,1);de=parseCssFloat(ce.pop());case"rgb":if(ce.length>=3)return setRgba(te,parseCssInt(ce[0]),parseCssInt(ce[1]),parseCssInt(ce[2]),ce.length===3?de:parseCssFloat(ce[3])),putToCache(ee,te),te;setRgba(te,0,0,0,1);return;case"hsla":if(ce.length!==4){setRgba(te,0,0,0,1);return}return ce[3]=parseCssFloat(ce[3]),hsla2rgba(ce,te),putToCache(ee,te),te;case"hsl":if(ce.length!==3){setRgba(te,0,0,0,1);return}return hsla2rgba(ce,te),putToCache(ee,te),te;default:return}}setRgba(te,0,0,0,1)}}function hsla2rgba(ee,te){var ae=(parseFloat(ee[0])%360+360)%360/360,ne=parseCssFloat(ee[1]),ie=parseCssFloat(ee[2]),oe=ie<=.5?ie*(ne+1):ie+ne-ie*ne,se=ie*2-oe;return te=te||[],setRgba(te,clampCssByte(cssHueToRgb(se,oe,ae+1/3)*255),clampCssByte(cssHueToRgb(se,oe,ae)*255),clampCssByte(cssHueToRgb(se,oe,ae-1/3)*255),1),ee.length===4&&(te[3]=ee[3]),te}function rgba2hsla(ee){if(ee){var te=ee[0]/255,ae=ee[1]/255,ne=ee[2]/255,ie=Math.min(te,ae,ne),oe=Math.max(te,ae,ne),se=oe-ie,le=(oe+ie)/2,ue,ce;if(se===0)ue=0,ce=0;else{le<.5?ce=se/(oe+ie):ce=se/(2-oe-ie);var de=((oe-te)/6+se/2)/se,he=((oe-ae)/6+se/2)/se,fe=((oe-ne)/6+se/2)/se;te===oe?ue=fe-he:ae===oe?ue=1/3+de-fe:ne===oe&&(ue=2/3+he-de),ue<0&&(ue+=1),ue>1&&(ue-=1)}var pe=[ue*360,ce,le];return ee[3]!=null&&pe.push(ee[3]),pe}}function lift(ee,te){var ae=parse$1(ee);if(ae){for(var ne=0;ne<3;ne++)te<0?ae[ne]=ae[ne]*(1-te)|0:ae[ne]=(255-ae[ne])*te+ae[ne]|0,ae[ne]>255?ae[ne]=255:ae[ne]<0&&(ae[ne]=0);return stringify(ae,ae.length===4?"rgba":"rgb")}}function toHex(ee){var te=parse$1(ee);if(te)return((1<<24)+(te[0]<<16)+(te[1]<<8)+ +te[2]).toString(16).slice(1)}function fastLerp(ee,te,ae){if(!(!(te&&te.length)||!(ee>=0&&ee<=1))){ae=ae||[];var ne=ee*(te.length-1),ie=Math.floor(ne),oe=Math.ceil(ne),se=te[ie],le=te[oe],ue=ne-ie;return ae[0]=clampCssByte(lerpNumber(se[0],le[0],ue)),ae[1]=clampCssByte(lerpNumber(se[1],le[1],ue)),ae[2]=clampCssByte(lerpNumber(se[2],le[2],ue)),ae[3]=clampCssFloat(lerpNumber(se[3],le[3],ue)),ae}}var fastMapToColor=fastLerp;function lerp(ee,te,ae){if(!(!(te&&te.length)||!(ee>=0&&ee<=1))){var ne=ee*(te.length-1),ie=Math.floor(ne),oe=Math.ceil(ne),se=parse$1(te[ie]),le=parse$1(te[oe]),ue=ne-ie,ce=stringify([clampCssByte(lerpNumber(se[0],le[0],ue)),clampCssByte(lerpNumber(se[1],le[1],ue)),clampCssByte(lerpNumber(se[2],le[2],ue)),clampCssFloat(lerpNumber(se[3],le[3],ue))],"rgba");return ae?{color:ce,leftIndex:ie,rightIndex:oe,value:ne}:ce}}var mapToColor=lerp;function modifyHSL(ee,te,ae,ne){var ie=parse$1(ee);if(ee)return ie=rgba2hsla(ie),te!=null&&(ie[0]=clampCssAngle(te)),ae!=null&&(ie[1]=parseCssFloat(ae)),ne!=null&&(ie[2]=parseCssFloat(ne)),stringify(hsla2rgba(ie),"rgba")}function modifyAlpha(ee,te){var ae=parse$1(ee);if(ae&&te!=null)return ae[3]=clampCssFloat(te),stringify(ae,"rgba")}function stringify(ee,te){if(!(!ee||!ee.length)){var ae=ee[0]+","+ee[1]+","+ee[2];return(te==="rgba"||te==="hsva"||te==="hsla")&&(ae+=","+ee[3]),te+"("+ae+")"}}function lum(ee,te){var ae=parse$1(ee);return ae?(.299*ae[0]+.587*ae[1]+.114*ae[2])*ae[3]/255+(1-ae[3])*te:0}function random(){return stringify([Math.round(Math.random()*255),Math.round(Math.random()*255),Math.round(Math.random()*255)],"rgb")}const color=Object.freeze(Object.defineProperty({__proto__:null,fastLerp,fastMapToColor,lerp,lift,lum,mapToColor,modifyAlpha,modifyHSL,parse:parse$1,random,stringify,toHex},Symbol.toStringTag,{value:"Module"}));var mathRound$1=Math.round;function normalizeColor(ee){var te;if(!ee||ee==="transparent")ee="none";else if(typeof ee=="string"&&ee.indexOf("rgba")>-1){var ae=parse$1(ee);ae&&(ee="rgb("+ae[0]+","+ae[1]+","+ae[2]+")",te=ae[3])}return{color:ee,opacity:te??1}}var EPSILON$3=1e-4;function isAroundZero(ee){return ee<EPSILON$3&&ee>-EPSILON$3}function round3(ee){return mathRound$1(ee*1e3)/1e3}function round4(ee){return mathRound$1(ee*1e4)/1e4}function getMatrixStr(ee){return"matrix("+round3(ee[0])+","+round3(ee[1])+","+round3(ee[2])+","+round3(ee[3])+","+round4(ee[4])+","+round4(ee[5])+")"}var TEXT_ALIGN_TO_ANCHOR={left:"start",right:"end",center:"middle",middle:"middle"};function adjustTextY$1(ee,te,ae){return ae==="top"?ee+=te/2:ae==="bottom"&&(ee-=te/2),ee}function hasShadow(ee){return ee&&(ee.shadowBlur||ee.shadowOffsetX||ee.shadowOffsetY)}function getShadowKey(ee){var te=ee.style,ae=ee.getGlobalScale();return[te.shadowColor,(te.shadowBlur||0).toFixed(2),(te.shadowOffsetX||0).toFixed(2),(te.shadowOffsetY||0).toFixed(2),ae[0],ae[1]].join(",")}function isImagePattern(ee){return ee&&!!ee.image}function isSVGPattern(ee){return ee&&!!ee.svgElement}function isPattern(ee){return isImagePattern(ee)||isSVGPattern(ee)}function isLinearGradient(ee){return ee.type==="linear"}function isRadialGradient(ee){return ee.type==="radial"}function isGradient(ee){return ee&&(ee.type==="linear"||ee.type==="radial")}function getIdURL(ee){return"url(#"+ee+")"}function getPathPrecision(ee){var te=ee.getGlobalScale(),ae=Math.max(te[0],te[1]);return Math.max(Math.ceil(Math.log(ae)/Math.log(10)),1)}function getSRTTransformString(ee){var te=ee.x||0,ae=ee.y||0,ne=(ee.rotation||0)*RADIAN_TO_DEGREE,ie=retrieve2(ee.scaleX,1),oe=retrieve2(ee.scaleY,1),se=ee.skewX||0,le=ee.skewY||0,ue=[];return(te||ae)&&ue.push("translate("+te+"px,"+ae+"px)"),ne&&ue.push("rotate("+ne+")"),(ie!==1||oe!==1)&&ue.push("scale("+ie+","+oe+")"),(se||le)&&ue.push("skew("+mathRound$1(se*RADIAN_TO_DEGREE)+"deg, "+mathRound$1(le*RADIAN_TO_DEGREE)+"deg)"),ue.join(" ")}var encodeBase64=function(){return env$1.hasGlobalWindow&&isFunction$1(window.btoa)?function(ee){return window.btoa(unescape(encodeURIComponent(ee)))}:typeof Buffer<"u"?function(ee){return Buffer.from(ee).toString("base64")}:function(ee){return null}}(),arraySlice=Array.prototype.slice;function interpolateNumber$1(ee,te,ae){return(te-ee)*ae+ee}function interpolate1DArray(ee,te,ae,ne){for(var ie=te.length,oe=0;oe<ie;oe++)ee[oe]=interpolateNumber$1(te[oe],ae[oe],ne);return ee}function interpolate2DArray(ee,te,ae,ne){for(var ie=te.length,oe=ie&&te[0].length,se=0;se<ie;se++){ee[se]||(ee[se]=[]);for(var le=0;le<oe;le++)ee[se][le]=interpolateNumber$1(te[se][le],ae[se][le],ne)}return ee}function add1DArray(ee,te,ae,ne){for(var ie=te.length,oe=0;oe<ie;oe++)ee[oe]=te[oe]+ae[oe]*ne;return ee}function add2DArray(ee,te,ae,ne){for(var ie=te.length,oe=ie&&te[0].length,se=0;se<ie;se++){ee[se]||(ee[se]=[]);for(var le=0;le<oe;le++)ee[se][le]=te[se][le]+ae[se][le]*ne}return ee}function fillColorStops(ee,te){for(var ae=ee.length,ne=te.length,ie=ae>ne?te:ee,oe=Math.min(ae,ne),se=ie[oe-1]||{color:[0,0,0,0],offset:0},le=oe;le<Math.max(ae,ne);le++)ie.push({offset:se.offset,color:se.color.slice()})}function fillArray(ee,te,ae){var ne=ee,ie=te;if(!(!ne.push||!ie.push)){var oe=ne.length,se=ie.length;if(oe!==se){var le=oe>se;if(le)ne.length=se;else for(var ue=oe;ue<se;ue++)ne.push(ae===1?ie[ue]:arraySlice.call(ie[ue]))}for(var ce=ne[0]&&ne[0].length,ue=0;ue<ne.length;ue++)if(ae===1)isNaN(ne[ue])&&(ne[ue]=ie[ue]);else for(var de=0;de<ce;de++)isNaN(ne[ue][de])&&(ne[ue][de]=ie[ue][de])}}function cloneValue(ee){if(isArrayLike(ee)){var te=ee.length;if(isArrayLike(ee[0])){for(var ae=[],ne=0;ne<te;ne++)ae.push(arraySlice.call(ee[ne]));return ae}return arraySlice.call(ee)}return ee}function rgba2String(ee){return ee[0]=Math.floor(ee[0])||0,ee[1]=Math.floor(ee[1])||0,ee[2]=Math.floor(ee[2])||0,ee[3]=ee[3]==null?1:ee[3],"rgba("+ee.join(",")+")"}function guessArrayDim(ee){return isArrayLike(ee&&ee[0])?2:1}var VALUE_TYPE_NUMBER=0,VALUE_TYPE_1D_ARRAY=1,VALUE_TYPE_2D_ARRAY=2,VALUE_TYPE_COLOR=3,VALUE_TYPE_LINEAR_GRADIENT=4,VALUE_TYPE_RADIAL_GRADIENT=5,VALUE_TYPE_UNKOWN=6;function isGradientValueType(ee){return ee===VALUE_TYPE_LINEAR_GRADIENT||ee===VALUE_TYPE_RADIAL_GRADIENT}function isArrayValueType(ee){return ee===VALUE_TYPE_1D_ARRAY||ee===VALUE_TYPE_2D_ARRAY}var tmpRgba=[0,0,0,0],Track=function(){function ee(te){this.keyframes=[],this.discrete=!1,this._invalid=!1,this._needsSort=!1,this._lastFr=0,this._lastFrP=0,this.propName=te}return ee.prototype.isFinished=function(){return this._finished},ee.prototype.setFinished=function(){this._finished=!0,this._additiveTrack&&this._additiveTrack.setFinished()},ee.prototype.needsAnimate=function(){return this.keyframes.length>=1},ee.prototype.getAdditiveTrack=function(){return this._additiveTrack},ee.prototype.addKeyframe=function(te,ae,ne){this._needsSort=!0;var ie=this.keyframes,oe=ie.length,se=!1,le=VALUE_TYPE_UNKOWN,ue=ae;if(isArrayLike(ae)){var ce=guessArrayDim(ae);le=ce,(ce===1&&!isNumber$1(ae[0])||ce===2&&!isNumber$1(ae[0][0]))&&(se=!0)}else if(isNumber$1(ae)&&!eqNaN(ae))le=VALUE_TYPE_NUMBER;else if(isString$1(ae))if(!isNaN(+ae))le=VALUE_TYPE_NUMBER;else{var de=parse$1(ae);de&&(ue=de,le=VALUE_TYPE_COLOR)}else if(isGradientObject(ae)){var he=extend$1({},ue);he.colorStops=map$1(ae.colorStops,function(pe){return{offset:pe.offset,color:parse$1(pe.color)}}),isLinearGradient(ae)?le=VALUE_TYPE_LINEAR_GRADIENT:isRadialGradient(ae)&&(le=VALUE_TYPE_RADIAL_GRADIENT),ue=he}oe===0?this.valType=le:(le!==this.valType||le===VALUE_TYPE_UNKOWN)&&(se=!0),this.discrete=this.discrete||se;var fe={time:te,value:ue,rawValue:ae,percent:0};return ne&&(fe.easing=ne,fe.easingFunc=isFunction$1(ne)?ne:easingFuncs$1[ne]||createCubicEasingFunc(ne)),ie.push(fe),fe},ee.prototype.prepare=function(te,ae){var ne=this.keyframes;this._needsSort&&ne.sort(function(ge,me){return ge.time-me.time});for(var ie=this.valType,oe=ne.length,se=ne[oe-1],le=this.discrete,ue=isArrayValueType(ie),ce=isGradientValueType(ie),de=0;de<oe;de++){var he=ne[de],fe=he.value,pe=se.value;he.percent=he.time/te,le||(ue&&de!==oe-1?fillArray(fe,pe,ie):ce&&fillColorStops(fe.colorStops,pe.colorStops))}if(!le&&ie!==VALUE_TYPE_RADIAL_GRADIENT&&ae&&this.needsAnimate()&&ae.needsAnimate()&&ie===ae.valType&&!ae._finished){this._additiveTrack=ae;for(var ve=ne[0].value,de=0;de<oe;de++)ie===VALUE_TYPE_NUMBER?ne[de].additiveValue=ne[de].value-ve:ie===VALUE_TYPE_COLOR?ne[de].additiveValue=add1DArray([],ne[de].value,ve,-1):isArrayValueType(ie)&&(ne[de].additiveValue=ie===VALUE_TYPE_1D_ARRAY?add1DArray([],ne[de].value,ve,-1):add2DArray([],ne[de].value,ve,-1))}},ee.prototype.step=function(te,ae){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var ne=this._additiveTrack!=null,ie=ne?"additiveValue":"value",oe=this.valType,se=this.keyframes,le=se.length,ue=this.propName,ce=oe===VALUE_TYPE_COLOR,de,he=this._lastFr,fe=Math.min,pe,ve;if(le===1)pe=ve=se[0];else{if(ae<0)de=0;else if(ae<this._lastFrP){var ge=fe(he+1,le-1);for(de=ge;de>=0&&!(se[de].percent<=ae);de--);de=fe(de,le-2)}else{for(de=he;de<le&&!(se[de].percent>ae);de++);de=fe(de-1,le-2)}ve=se[de+1],pe=se[de]}if(pe&&ve){this._lastFr=de,this._lastFrP=ae;var me=ve.percent-pe.percent,ye=me===0?1:fe((ae-pe.percent)/me,1);ve.easingFunc&&(ye=ve.easingFunc(ye));var _e=ne?this._additiveValue:ce?tmpRgba:te[ue];if((isArrayValueType(oe)||ce)&&!_e&&(_e=this._additiveValue=[]),this.discrete)te[ue]=ye<1?pe.rawValue:ve.rawValue;else if(isArrayValueType(oe))oe===VALUE_TYPE_1D_ARRAY?interpolate1DArray(_e,pe[ie],ve[ie],ye):interpolate2DArray(_e,pe[ie],ve[ie],ye);else if(isGradientValueType(oe)){var be=pe[ie],xe=ve[ie],$e=oe===VALUE_TYPE_LINEAR_GRADIENT;te[ue]={type:$e?"linear":"radial",x:interpolateNumber$1(be.x,xe.x,ye),y:interpolateNumber$1(be.y,xe.y,ye),colorStops:map$1(be.colorStops,function(we,Ae){var Te=xe.colorStops[Ae];return{offset:interpolateNumber$1(we.offset,Te.offset,ye),color:rgba2String(interpolate1DArray([],we.color,Te.color,ye))}}),global:xe.global},$e?(te[ue].x2=interpolateNumber$1(be.x2,xe.x2,ye),te[ue].y2=interpolateNumber$1(be.y2,xe.y2,ye)):te[ue].r=interpolateNumber$1(be.r,xe.r,ye)}else if(ce)interpolate1DArray(_e,pe[ie],ve[ie],ye),ne||(te[ue]=rgba2String(_e));else{var Se=interpolateNumber$1(pe[ie],ve[ie],ye);ne?this._additiveValue=Se:te[ue]=Se}ne&&this._addToTarget(te)}}},ee.prototype._addToTarget=function(te){var ae=this.valType,ne=this.propName,ie=this._additiveValue;ae===VALUE_TYPE_NUMBER?te[ne]=te[ne]+ie:ae===VALUE_TYPE_COLOR?(parse$1(te[ne],tmpRgba),add1DArray(tmpRgba,tmpRgba,ie,1),te[ne]=rgba2String(tmpRgba)):ae===VALUE_TYPE_1D_ARRAY?add1DArray(te[ne],te[ne],ie,1):ae===VALUE_TYPE_2D_ARRAY&&add2DArray(te[ne],te[ne],ie,1)},ee}(),Animator=function(){function ee(te,ae,ne,ie){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=te,this._loop=ae,ae&&ie){logError("Can' use additive animation on looped animation.");return}this._additiveAnimators=ie,this._allowDiscrete=ne}return ee.prototype.getMaxTime=function(){return this._maxTime},ee.prototype.getDelay=function(){return this._delay},ee.prototype.getLoop=function(){return this._loop},ee.prototype.getTarget=function(){return this._target},ee.prototype.changeTarget=function(te){this._target=te},ee.prototype.when=function(te,ae,ne){return this.whenWithKeys(te,ae,keys(ae),ne)},ee.prototype.whenWithKeys=function(te,ae,ne,ie){for(var oe=this._tracks,se=0;se<ne.length;se++){var le=ne[se],ue=oe[le];if(!ue){ue=oe[le]=new Track(le);var ce=void 0,de=this._getAdditiveTrack(le);if(de){var he=de.keyframes,fe=he[he.length-1];ce=fe&&fe.value,de.valType===VALUE_TYPE_COLOR&&ce&&(ce=rgba2String(ce))}else ce=this._target[le];if(ce==null)continue;te>0&&ue.addKeyframe(0,cloneValue(ce),ie),this._trackKeys.push(le)}ue.addKeyframe(te,cloneValue(ae[le]),ie)}return this._maxTime=Math.max(this._maxTime,te),this},ee.prototype.pause=function(){this._clip.pause(),this._paused=!0},ee.prototype.resume=function(){this._clip.resume(),this._paused=!1},ee.prototype.isPaused=function(){return!!this._paused},ee.prototype.duration=function(te){return this._maxTime=te,this._force=!0,this},ee.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var te=this._doneCbs;if(te)for(var ae=te.length,ne=0;ne<ae;ne++)te[ne].call(this)},ee.prototype._abortedCallback=function(){this._setTracksFinished();var te=this.animation,ae=this._abortedCbs;if(te&&te.removeClip(this._clip),this._clip=null,ae)for(var ne=0;ne<ae.length;ne++)ae[ne].call(this)},ee.prototype._setTracksFinished=function(){for(var te=this._tracks,ae=this._trackKeys,ne=0;ne<ae.length;ne++)te[ae[ne]].setFinished()},ee.prototype._getAdditiveTrack=function(te){var ae,ne=this._additiveAnimators;if(ne)for(var ie=0;ie<ne.length;ie++){var oe=ne[ie].getTrack(te);oe&&(ae=oe)}return ae},ee.prototype.start=function(te){if(!(this._started>0)){this._started=1;for(var ae=this,ne=[],ie=this._maxTime||0,oe=0;oe<this._trackKeys.length;oe++){var se=this._trackKeys[oe],le=this._tracks[se],ue=this._getAdditiveTrack(se),ce=le.keyframes,de=ce.length;if(le.prepare(ie,ue),le.needsAnimate())if(!this._allowDiscrete&&le.discrete){var he=ce[de-1];he&&(ae._target[le.propName]=he.rawValue),le.setFinished()}else ne.push(le)}if(ne.length||this._force){var fe=new Clip$1({life:ie,loop:this._loop,delay:this._delay||0,onframe:function(pe){ae._started=2;var ve=ae._additiveAnimators;if(ve){for(var ge=!1,me=0;me<ve.length;me++)if(ve[me]._clip){ge=!0;break}ge||(ae._additiveAnimators=null)}for(var me=0;me<ne.length;me++)ne[me].step(ae._target,pe);var ye=ae._onframeCbs;if(ye)for(var me=0;me<ye.length;me++)ye[me](ae._target,pe)},ondestroy:function(){ae._doneCallback()}});this._clip=fe,this.animation&&this.animation.addClip(fe),te&&fe.setEasing(te)}else this._doneCallback();return this}},ee.prototype.stop=function(te){if(this._clip){var ae=this._clip;te&&ae.onframe(1),this._abortedCallback()}},ee.prototype.delay=function(te){return this._delay=te,this},ee.prototype.during=function(te){return te&&(this._onframeCbs||(this._onframeCbs=[]),this._onframeCbs.push(te)),this},ee.prototype.done=function(te){return te&&(this._doneCbs||(this._doneCbs=[]),this._doneCbs.push(te)),this},ee.prototype.aborted=function(te){return te&&(this._abortedCbs||(this._abortedCbs=[]),this._abortedCbs.push(te)),this},ee.prototype.getClip=function(){return this._clip},ee.prototype.getTrack=function(te){return this._tracks[te]},ee.prototype.getTracks=function(){var te=this;return map$1(this._trackKeys,function(ae){return te._tracks[ae]})},ee.prototype.stopTracks=function(te,ae){if(!te.length||!this._clip)return!0;for(var ne=this._tracks,ie=this._trackKeys,oe=0;oe<te.length;oe++){var se=ne[te[oe]];se&&!se.isFinished()&&(ae?se.step(this._target,1):this._started===1&&se.step(this._target,0),se.setFinished())}for(var le=!0,oe=0;oe<ie.length;oe++)if(!ne[ie[oe]].isFinished()){le=!1;break}return le&&this._abortedCallback(),le},ee.prototype.saveTo=function(te,ae,ne){if(te){ae=ae||this._trackKeys;for(var ie=0;ie<ae.length;ie++){var oe=ae[ie],se=this._tracks[oe];if(!(!se||se.isFinished())){var le=se.keyframes,ue=le[ne?0:le.length-1];ue&&(te[oe]=cloneValue(ue.rawValue))}}}},ee.prototype.__changeFinalValue=function(te,ae){ae=ae||keys(te);for(var ne=0;ne<ae.length;ne++){var ie=ae[ne],oe=this._tracks[ie];if(oe){var se=oe.keyframes;if(se.length>1){var le=se.pop();oe.addKeyframe(le.time,te[ie]),oe.prepare(this._maxTime,oe.getAdditiveTrack())}}}},ee}();const Animator$1=Animator;function getTime(){return new Date().getTime()}var Animation=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this)||this;return ne._running=!1,ne._time=0,ne._pausedTime=0,ne._pauseStart=0,ne._paused=!1,ae=ae||{},ne.stage=ae.stage||{},ne}return te.prototype.addClip=function(ae){ae.animation&&this.removeClip(ae),this._head?(this._tail.next=ae,ae.prev=this._tail,ae.next=null,this._tail=ae):this._head=this._tail=ae,ae.animation=this},te.prototype.addAnimator=function(ae){ae.animation=this;var ne=ae.getClip();ne&&this.addClip(ne)},te.prototype.removeClip=function(ae){if(ae.animation){var ne=ae.prev,ie=ae.next;ne?ne.next=ie:this._head=ie,ie?ie.prev=ne:this._tail=ne,ae.next=ae.prev=ae.animation=null}},te.prototype.removeAnimator=function(ae){var ne=ae.getClip();ne&&this.removeClip(ne),ae.animation=null},te.prototype.update=function(ae){for(var ne=getTime()-this._pausedTime,ie=ne-this._time,oe=this._head;oe;){var se=oe.next,le=oe.step(ne,ie);le&&(oe.ondestroy(),this.removeClip(oe)),oe=se}this._time=ne,ae||(this.trigger("frame",ie),this.stage.update&&this.stage.update())},te.prototype._startLoop=function(){var ae=this;this._running=!0;function ne(){ae._running&&(requestAnimationFrame$2(ne),!ae._paused&&ae.update())}requestAnimationFrame$2(ne)},te.prototype.start=function(){this._running||(this._time=getTime(),this._pausedTime=0,this._startLoop())},te.prototype.stop=function(){this._running=!1},te.prototype.pause=function(){this._paused||(this._pauseStart=getTime(),this._paused=!0)},te.prototype.resume=function(){this._paused&&(this._pausedTime+=getTime()-this._pauseStart,this._paused=!1)},te.prototype.clear=function(){for(var ae=this._head;ae;){var ne=ae.next;ae.prev=ae.next=ae.animation=null,ae=ne}this._head=this._tail=null},te.prototype.isFinished=function(){return this._head==null},te.prototype.animate=function(ae,ne){ne=ne||{},this.start();var ie=new Animator$1(ae,ne.loop);return this.addAnimator(ie),ie},te}(Eventful$1);const Animation$1=Animation;var TOUCH_CLICK_DELAY=300,globalEventSupported=env$1.domSupported,localNativeListenerNames=function(){var ee=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],te=["touchstart","touchend","touchmove"],ae={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},ne=map$1(ee,function(ie){var oe=ie.replace("mouse","pointer");return ae.hasOwnProperty(oe)?oe:ie});return{mouse:ee,touch:te,pointer:ne}}(),globalNativeListenerNames={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},wheelEventSupported=!1;function isPointerFromTouch(ee){var te=ee.pointerType;return te==="pen"||te==="touch"}function setTouchTimer(ee){ee.touching=!0,ee.touchTimer!=null&&(clearTimeout(ee.touchTimer),ee.touchTimer=null),ee.touchTimer=setTimeout(function(){ee.touching=!1,ee.touchTimer=null},700)}function markTouch(ee){ee&&(ee.zrByTouch=!0)}function normalizeGlobalEvent(ee,te){return normalizeEvent(ee.dom,new FakeGlobalEvent(ee,te),!0)}function isLocalEl(ee,te){for(var ae=te,ne=!1;ae&&ae.nodeType!==9&&!(ne=ae.domBelongToZr||ae!==te&&ae===ee.painterRoot);)ae=ae.parentNode;return ne}var FakeGlobalEvent=function(){function ee(te,ae){this.stopPropagation=noop$1,this.stopImmediatePropagation=noop$1,this.preventDefault=noop$1,this.type=ae.type,this.target=this.currentTarget=te.dom,this.pointerType=ae.pointerType,this.clientX=ae.clientX,this.clientY=ae.clientY}return ee}(),localDOMHandlers={mousedown:function(ee){ee=normalizeEvent(this.dom,ee),this.__mayPointerCapture=[ee.zrX,ee.zrY],this.trigger("mousedown",ee)},mousemove:function(ee){ee=normalizeEvent(this.dom,ee);var te=this.__mayPointerCapture;te&&(ee.zrX!==te[0]||ee.zrY!==te[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",ee)},mouseup:function(ee){ee=normalizeEvent(this.dom,ee),this.__togglePointerCapture(!1),this.trigger("mouseup",ee)},mouseout:function(ee){ee=normalizeEvent(this.dom,ee);var te=ee.toElement||ee.relatedTarget;isLocalEl(this,te)||(this.__pointerCapturing&&(ee.zrEventControl="no_globalout"),this.trigger("mouseout",ee))},wheel:function(ee){wheelEventSupported=!0,ee=normalizeEvent(this.dom,ee),this.trigger("mousewheel",ee)},mousewheel:function(ee){wheelEventSupported||(ee=normalizeEvent(this.dom,ee),this.trigger("mousewheel",ee))},touchstart:function(ee){ee=normalizeEvent(this.dom,ee),markTouch(ee),this.__lastTouchMoment=new Date,this.handler.processGesture(ee,"start"),localDOMHandlers.mousemove.call(this,ee),localDOMHandlers.mousedown.call(this,ee)},touchmove:function(ee){ee=normalizeEvent(this.dom,ee),markTouch(ee),this.handler.processGesture(ee,"change"),localDOMHandlers.mousemove.call(this,ee)},touchend:function(ee){ee=normalizeEvent(this.dom,ee),markTouch(ee),this.handler.processGesture(ee,"end"),localDOMHandlers.mouseup.call(this,ee),+new Date-+this.__lastTouchMoment<TOUCH_CLICK_DELAY&&localDOMHandlers.click.call(this,ee)},pointerdown:function(ee){localDOMHandlers.mousedown.call(this,ee)},pointermove:function(ee){isPointerFromTouch(ee)||localDOMHandlers.mousemove.call(this,ee)},pointerup:function(ee){localDOMHandlers.mouseup.call(this,ee)},pointerout:function(ee){isPointerFromTouch(ee)||localDOMHandlers.mouseout.call(this,ee)}};each$f(["click","dblclick","contextmenu"],function(ee){localDOMHandlers[ee]=function(te){te=normalizeEvent(this.dom,te),this.trigger(ee,te)}});var globalDOMHandlers={pointermove:function(ee){isPointerFromTouch(ee)||globalDOMHandlers.mousemove.call(this,ee)},pointerup:function(ee){globalDOMHandlers.mouseup.call(this,ee)},mousemove:function(ee){this.trigger("mousemove",ee)},mouseup:function(ee){var te=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",ee),te&&(ee.zrEventControl="only_globalout",this.trigger("mouseout",ee))}};function mountLocalDOMEventListeners(ee,te){var ae=te.domHandlers;env$1.pointerEventsSupported?each$f(localNativeListenerNames.pointer,function(ne){mountSingleDOMEventListener(te,ne,function(ie){ae[ne].call(ee,ie)})}):(env$1.touchEventsSupported&&each$f(localNativeListenerNames.touch,function(ne){mountSingleDOMEventListener(te,ne,function(ie){ae[ne].call(ee,ie),setTouchTimer(te)})}),each$f(localNativeListenerNames.mouse,function(ne){mountSingleDOMEventListener(te,ne,function(ie){ie=getNativeEvent(ie),te.touching||ae[ne].call(ee,ie)})}))}function mountGlobalDOMEventListeners(ee,te){env$1.pointerEventsSupported?each$f(globalNativeListenerNames.pointer,ae):env$1.touchEventsSupported||each$f(globalNativeListenerNames.mouse,ae);function ae(ne){function ie(oe){oe=getNativeEvent(oe),isLocalEl(ee,oe.target)||(oe=normalizeGlobalEvent(ee,oe),te.domHandlers[ne].call(ee,oe))}mountSingleDOMEventListener(te,ne,ie,{capture:!0})}}function mountSingleDOMEventListener(ee,te,ae,ne){ee.mounted[te]=ae,ee.listenerOpts[te]=ne,addEventListener(ee.domTarget,te,ae,ne)}function unmountDOMEventListeners(ee){var te=ee.mounted;for(var ae in te)te.hasOwnProperty(ae)&&removeEventListener(ee.domTarget,ae,te[ae],ee.listenerOpts[ae]);ee.mounted={}}var DOMHandlerScope=function(){function ee(te,ae){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=te,this.domHandlers=ae}return ee}(),HandlerDomProxy=function(ee){__extends(te,ee);function te(ae,ne){var ie=ee.call(this)||this;return ie.__pointerCapturing=!1,ie.dom=ae,ie.painterRoot=ne,ie._localHandlerScope=new DOMHandlerScope(ae,localDOMHandlers),globalEventSupported&&(ie._globalHandlerScope=new DOMHandlerScope(document,globalDOMHandlers)),mountLocalDOMEventListeners(ie,ie._localHandlerScope),ie}return te.prototype.dispose=function(){unmountDOMEventListeners(this._localHandlerScope),globalEventSupported&&unmountDOMEventListeners(this._globalHandlerScope)},te.prototype.setCursor=function(ae){this.dom.style&&(this.dom.style.cursor=ae||"default")},te.prototype.__togglePointerCapture=function(ae){if(this.__mayPointerCapture=null,globalEventSupported&&+this.__pointerCapturing^+ae){this.__pointerCapturing=ae;var ne=this._globalHandlerScope;ae?mountGlobalDOMEventListeners(this,ne):unmountDOMEventListeners(ne)}},te}(Eventful$1);const HandlerProxy=HandlerDomProxy;var dpr=1;env$1.hasGlobalWindow&&(dpr=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var devicePixelRatio=dpr,DARK_MODE_THRESHOLD=.4,DARK_LABEL_COLOR="#333",LIGHT_LABEL_COLOR="#ccc",LIGHTER_LABEL_COLOR="#eee",mIdentity=identity,EPSILON$2=5e-5;function isNotAroundZero(ee){return ee>EPSILON$2||ee<-EPSILON$2}var scaleTmp=[],tmpTransform=[],originTransform=create$1(),abs=Math.abs,Transformable=function(){function ee(){}return ee.prototype.getLocalTransform=function(te){return ee.getLocalTransform(this,te)},ee.prototype.setPosition=function(te){this.x=te[0],this.y=te[1]},ee.prototype.setScale=function(te){this.scaleX=te[0],this.scaleY=te[1]},ee.prototype.setSkew=function(te){this.skewX=te[0],this.skewY=te[1]},ee.prototype.setOrigin=function(te){this.originX=te[0],this.originY=te[1]},ee.prototype.needLocalTransform=function(){return isNotAroundZero(this.rotation)||isNotAroundZero(this.x)||isNotAroundZero(this.y)||isNotAroundZero(this.scaleX-1)||isNotAroundZero(this.scaleY-1)||isNotAroundZero(this.skewX)||isNotAroundZero(this.skewY)},ee.prototype.updateTransform=function(){var te=this.parent&&this.parent.transform,ae=this.needLocalTransform(),ne=this.transform;if(!(ae||te)){ne&&(mIdentity(ne),this.invTransform=null);return}ne=ne||create$1(),ae?this.getLocalTransform(ne):mIdentity(ne),te&&(ae?mul(ne,te,ne):copy(ne,te)),this.transform=ne,this._resolveGlobalScaleRatio(ne)},ee.prototype._resolveGlobalScaleRatio=function(te){var ae=this.globalScaleRatio;if(ae!=null&&ae!==1){this.getGlobalScale(scaleTmp);var ne=scaleTmp[0]<0?-1:1,ie=scaleTmp[1]<0?-1:1,oe=((scaleTmp[0]-ne)*ae+ne)/scaleTmp[0]||0,se=((scaleTmp[1]-ie)*ae+ie)/scaleTmp[1]||0;te[0]*=oe,te[1]*=oe,te[2]*=se,te[3]*=se}this.invTransform=this.invTransform||create$1(),invert(this.invTransform,te)},ee.prototype.getComputedTransform=function(){for(var te=this,ae=[];te;)ae.push(te),te=te.parent;for(;te=ae.pop();)te.updateTransform();return this.transform},ee.prototype.setLocalTransform=function(te){if(te){var ae=te[0]*te[0]+te[1]*te[1],ne=te[2]*te[2]+te[3]*te[3],ie=Math.atan2(te[1],te[0]),oe=Math.PI/2+ie-Math.atan2(te[3],te[2]);ne=Math.sqrt(ne)*Math.cos(oe),ae=Math.sqrt(ae),this.skewX=oe,this.skewY=0,this.rotation=-ie,this.x=+te[4],this.y=+te[5],this.scaleX=ae,this.scaleY=ne,this.originX=0,this.originY=0}},ee.prototype.decomposeTransform=function(){if(this.transform){var te=this.parent,ae=this.transform;te&&te.transform&&(mul(tmpTransform,te.invTransform,ae),ae=tmpTransform);var ne=this.originX,ie=this.originY;(ne||ie)&&(originTransform[4]=ne,originTransform[5]=ie,mul(tmpTransform,ae,originTransform),tmpTransform[4]-=ne,tmpTransform[5]-=ie,ae=tmpTransform),this.setLocalTransform(ae)}},ee.prototype.getGlobalScale=function(te){var ae=this.transform;return te=te||[],ae?(te[0]=Math.sqrt(ae[0]*ae[0]+ae[1]*ae[1]),te[1]=Math.sqrt(ae[2]*ae[2]+ae[3]*ae[3]),ae[0]<0&&(te[0]=-te[0]),ae[3]<0&&(te[1]=-te[1]),te):(te[0]=1,te[1]=1,te)},ee.prototype.transformCoordToLocal=function(te,ae){var ne=[te,ae],ie=this.invTransform;return ie&&applyTransform$1(ne,ne,ie),ne},ee.prototype.transformCoordToGlobal=function(te,ae){var ne=[te,ae],ie=this.transform;return ie&&applyTransform$1(ne,ne,ie),ne},ee.prototype.getLineScale=function(){var te=this.transform;return te&&abs(te[0]-1)>1e-10&&abs(te[3]-1)>1e-10?Math.sqrt(abs(te[0]*te[3]-te[2]*te[1])):1},ee.prototype.copyTransform=function(te){copyTransform(this,te)},ee.getLocalTransform=function(te,ae){ae=ae||[];var ne=te.originX||0,ie=te.originY||0,oe=te.scaleX,se=te.scaleY,le=te.anchorX,ue=te.anchorY,ce=te.rotation||0,de=te.x,he=te.y,fe=te.skewX?Math.tan(te.skewX):0,pe=te.skewY?Math.tan(-te.skewY):0;if(ne||ie||le||ue){var ve=ne+le,ge=ie+ue;ae[4]=-ve*oe-fe*ge*se,ae[5]=-ge*se-pe*ve*oe}else ae[4]=ae[5]=0;return ae[0]=oe,ae[3]=se,ae[1]=pe*oe,ae[2]=fe*se,ce&&rotate(ae,ae,ce),ae[4]+=ne+de,ae[5]+=ie+he,ae},ee.initDefaultProps=function(){var te=ee.prototype;te.scaleX=te.scaleY=te.globalScaleRatio=1,te.x=te.y=te.originX=te.originY=te.skewX=te.skewY=te.rotation=te.anchorX=te.anchorY=0}(),ee}(),TRANSFORMABLE_PROPS=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function copyTransform(ee,te){for(var ae=0;ae<TRANSFORMABLE_PROPS.length;ae++){var ne=TRANSFORMABLE_PROPS[ae];ee[ne]=te[ne]}}const Transformable$1=Transformable;var textWidthCache={};function getWidth(ee,te){te=te||DEFAULT_FONT;var ae=textWidthCache[te];ae||(ae=textWidthCache[te]=new LRU$1(500));var ne=ae.get(ee);return ne==null&&(ne=platformApi.measureText(ee,te).width,ae.put(ee,ne)),ne}function innerGetBoundingRect(ee,te,ae,ne){var ie=getWidth(ee,te),oe=getLineHeight(te),se=adjustTextX(0,ie,ae),le=adjustTextY(0,oe,ne),ue=new BoundingRect$1(se,le,ie,oe);return ue}function getBoundingRect(ee,te,ae,ne){var ie=((ee||"")+"").split(`
-`),oe=ie.length;if(oe===1)return innerGetBoundingRect(ie[0],te,ae,ne);for(var se=new BoundingRect$1(0,0,0,0),le=0;le<ie.length;le++){var ue=innerGetBoundingRect(ie[le],te,ae,ne);le===0?se.copy(ue):se.union(ue)}return se}function adjustTextX(ee,te,ae){return ae==="right"?ee-=te:ae==="center"&&(ee-=te/2),ee}function adjustTextY(ee,te,ae){return ae==="middle"?ee-=te/2:ae==="bottom"&&(ee-=te),ee}function getLineHeight(ee){return getWidth("国",ee)}function parsePercent$1(ee,te){return typeof ee=="string"?ee.lastIndexOf("%")>=0?parseFloat(ee)/100*te:parseFloat(ee):ee}function calculateTextPosition(ee,te,ae){var ne=te.position||"inside",ie=te.distance!=null?te.distance:5,oe=ae.height,se=ae.width,le=oe/2,ue=ae.x,ce=ae.y,de="left",he="top";if(ne instanceof Array)ue+=parsePercent$1(ne[0],ae.width),ce+=parsePercent$1(ne[1],ae.height),de=null,he=null;else switch(ne){case"left":ue-=ie,ce+=le,de="right",he="middle";break;case"right":ue+=ie+se,ce+=le,he="middle";break;case"top":ue+=se/2,ce-=ie,de="center",he="bottom";break;case"bottom":ue+=se/2,ce+=oe+ie,de="center";break;case"inside":ue+=se/2,ce+=le,de="center",he="middle";break;case"insideLeft":ue+=ie,ce+=le,he="middle";break;case"insideRight":ue+=se-ie,ce+=le,de="right",he="middle";break;case"insideTop":ue+=se/2,ce+=ie,de="center";break;case"insideBottom":ue+=se/2,ce+=oe-ie,de="center",he="bottom";break;case"insideTopLeft":ue+=ie,ce+=ie;break;case"insideTopRight":ue+=se-ie,ce+=ie,de="right";break;case"insideBottomLeft":ue+=ie,ce+=oe-ie,he="bottom";break;case"insideBottomRight":ue+=se-ie,ce+=oe-ie,de="right",he="bottom";break}return ee=ee||{},ee.x=ue,ee.y=ce,ee.align=de,ee.verticalAlign=he,ee}var PRESERVED_NORMAL_STATE="__zr_normal__",PRIMARY_STATES_KEYS$1=TRANSFORMABLE_PROPS.concat(["ignore"]),DEFAULT_ANIMATABLE_MAP=reduce(TRANSFORMABLE_PROPS,function(ee,te){return ee[te]=!0,ee},{ignore:!1}),tmpTextPosCalcRes={},tmpBoundingRect=new BoundingRect$1(0,0,0,0),Element=function(){function ee(te){this.id=guid(),this.animators=[],this.currentStates=[],this.states={},this._init(te)}return ee.prototype._init=function(te){this.attr(te)},ee.prototype.drift=function(te,ae,ne){switch(this.draggable){case"horizontal":ae=0;break;case"vertical":te=0;break}var ie=this.transform;ie||(ie=this.transform=[1,0,0,1,0,0]),ie[4]+=te,ie[5]+=ae,this.decomposeTransform(),this.markRedraw()},ee.prototype.beforeUpdate=function(){},ee.prototype.afterUpdate=function(){},ee.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},ee.prototype.updateInnerText=function(te){var ae=this._textContent;if(ae&&(!ae.ignore||te)){this.textConfig||(this.textConfig={});var ne=this.textConfig,ie=ne.local,oe=ae.innerTransformable,se=void 0,le=void 0,ue=!1;oe.parent=ie?this:null;var ce=!1;if(oe.copyTransform(ae),ne.position!=null){var de=tmpBoundingRect;ne.layoutRect?de.copy(ne.layoutRect):de.copy(this.getBoundingRect()),ie||de.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(tmpTextPosCalcRes,ne,de):calculateTextPosition(tmpTextPosCalcRes,ne,de),oe.x=tmpTextPosCalcRes.x,oe.y=tmpTextPosCalcRes.y,se=tmpTextPosCalcRes.align,le=tmpTextPosCalcRes.verticalAlign;var he=ne.origin;if(he&&ne.rotation!=null){var fe=void 0,pe=void 0;he==="center"?(fe=de.width*.5,pe=de.height*.5):(fe=parsePercent$1(he[0],de.width),pe=parsePercent$1(he[1],de.height)),ce=!0,oe.originX=-oe.x+fe+(ie?0:de.x),oe.originY=-oe.y+pe+(ie?0:de.y)}}ne.rotation!=null&&(oe.rotation=ne.rotation);var ve=ne.offset;ve&&(oe.x+=ve[0],oe.y+=ve[1],ce||(oe.originX=-ve[0],oe.originY=-ve[1]));var ge=ne.inside==null?typeof ne.position=="string"&&ne.position.indexOf("inside")>=0:ne.inside,me=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),ye=void 0,_e=void 0,be=void 0;ge&&this.canBeInsideText()?(ye=ne.insideFill,_e=ne.insideStroke,(ye==null||ye==="auto")&&(ye=this.getInsideTextFill()),(_e==null||_e==="auto")&&(_e=this.getInsideTextStroke(ye),be=!0)):(ye=ne.outsideFill,_e=ne.outsideStroke,(ye==null||ye==="auto")&&(ye=this.getOutsideFill()),(_e==null||_e==="auto")&&(_e=this.getOutsideStroke(ye),be=!0)),ye=ye||"#000",(ye!==me.fill||_e!==me.stroke||be!==me.autoStroke||se!==me.align||le!==me.verticalAlign)&&(ue=!0,me.fill=ye,me.stroke=_e,me.autoStroke=be,me.align=se,me.verticalAlign=le,ae.setDefaultTextStyle(me)),ae.__dirty|=REDRAW_BIT,ue&&ae.dirtyStyle(!0)}},ee.prototype.canBeInsideText=function(){return!0},ee.prototype.getInsideTextFill=function(){return"#fff"},ee.prototype.getInsideTextStroke=function(te){return"#000"},ee.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?LIGHT_LABEL_COLOR:DARK_LABEL_COLOR},ee.prototype.getOutsideStroke=function(te){var ae=this.__zr&&this.__zr.getBackgroundColor(),ne=typeof ae=="string"&&parse$1(ae);ne||(ne=[255,255,255,1]);for(var ie=ne[3],oe=this.__zr.isDarkMode(),se=0;se<3;se++)ne[se]=ne[se]*ie+(oe?0:255)*(1-ie);return ne[3]=1,stringify(ne,"rgba")},ee.prototype.traverse=function(te,ae){},ee.prototype.attrKV=function(te,ae){te==="textConfig"?this.setTextConfig(ae):te==="textContent"?this.setTextContent(ae):te==="clipPath"?this.setClipPath(ae):te==="extra"?(this.extra=this.extra||{},extend$1(this.extra,ae)):this[te]=ae},ee.prototype.hide=function(){this.ignore=!0,this.markRedraw()},ee.prototype.show=function(){this.ignore=!1,this.markRedraw()},ee.prototype.attr=function(te,ae){if(typeof te=="string")this.attrKV(te,ae);else if(isObject$4(te))for(var ne=te,ie=keys(ne),oe=0;oe<ie.length;oe++){var se=ie[oe];this.attrKV(se,te[se])}return this.markRedraw(),this},ee.prototype.saveCurrentToNormalState=function(te){this._innerSaveToNormal(te);for(var ae=this._normalState,ne=0;ne<this.animators.length;ne++){var ie=this.animators[ne],oe=ie.__fromStateTransition;if(!(ie.getLoop()||oe&&oe!==PRESERVED_NORMAL_STATE)){var se=ie.targetName,le=se?ae[se]:ae;ie.saveTo(le)}}},ee.prototype._innerSaveToNormal=function(te){var ae=this._normalState;ae||(ae=this._normalState={}),te.textConfig&&!ae.textConfig&&(ae.textConfig=this.textConfig),this._savePrimaryToNormal(te,ae,PRIMARY_STATES_KEYS$1)},ee.prototype._savePrimaryToNormal=function(te,ae,ne){for(var ie=0;ie<ne.length;ie++){var oe=ne[ie];te[oe]!=null&&!(oe in ae)&&(ae[oe]=this[oe])}},ee.prototype.hasState=function(){return this.currentStates.length>0},ee.prototype.getState=function(te){return this.states[te]},ee.prototype.ensureState=function(te){var ae=this.states;return ae[te]||(ae[te]={}),ae[te]},ee.prototype.clearStates=function(te){this.useState(PRESERVED_NORMAL_STATE,!1,te)},ee.prototype.useState=function(te,ae,ne,ie){var oe=te===PRESERVED_NORMAL_STATE,se=this.hasState();if(!(!se&&oe)){var le=this.currentStates,ue=this.stateTransition;if(!(indexOf(le,te)>=0&&(ae||le.length===1))){var ce;if(this.stateProxy&&!oe&&(ce=this.stateProxy(te)),ce||(ce=this.states&&this.states[te]),!ce&&!oe){logError("State "+te+" not exists.");return}oe||this.saveCurrentToNormalState(ce);var de=!!(ce&&ce.hoverLayer||ie);de&&this._toggleHoverLayerFlag(!0),this._applyStateObj(te,ce,this._normalState,ae,!ne&&!this.__inHover&&ue&&ue.duration>0,ue);var he=this._textContent,fe=this._textGuide;return he&&he.useState(te,ae,ne,de),fe&&fe.useState(te,ae,ne,de),oe?(this.currentStates=[],this._normalState={}):ae?this.currentStates.push(te):this.currentStates=[te],this._updateAnimationTargets(),this.markRedraw(),!de&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~REDRAW_BIT),ce}}},ee.prototype.useStates=function(te,ae,ne){if(!te.length)this.clearStates();else{var ie=[],oe=this.currentStates,se=te.length,le=se===oe.length;if(le){for(var ue=0;ue<se;ue++)if(te[ue]!==oe[ue]){le=!1;break}}if(le)return;for(var ue=0;ue<se;ue++){var ce=te[ue],de=void 0;this.stateProxy&&(de=this.stateProxy(ce,te)),de||(de=this.states[ce]),de&&ie.push(de)}var he=ie[se-1],fe=!!(he&&he.hoverLayer||ne);fe&&this._toggleHoverLayerFlag(!0);var pe=this._mergeStates(ie),ve=this.stateTransition;this.saveCurrentToNormalState(pe),this._applyStateObj(te.join(","),pe,this._normalState,!1,!ae&&!this.__inHover&&ve&&ve.duration>0,ve);var ge=this._textContent,me=this._textGuide;ge&&ge.useStates(te,ae,fe),me&&me.useStates(te,ae,fe),this._updateAnimationTargets(),this.currentStates=te.slice(),this.markRedraw(),!fe&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~REDRAW_BIT)}},ee.prototype._updateAnimationTargets=function(){for(var te=0;te<this.animators.length;te++){var ae=this.animators[te];ae.targetName&&ae.changeTarget(this[ae.targetName])}},ee.prototype.removeState=function(te){var ae=indexOf(this.currentStates,te);if(ae>=0){var ne=this.currentStates.slice();ne.splice(ae,1),this.useStates(ne)}},ee.prototype.replaceState=function(te,ae,ne){var ie=this.currentStates.slice(),oe=indexOf(ie,te),se=indexOf(ie,ae)>=0;oe>=0?se?ie.splice(oe,1):ie[oe]=ae:ne&&!se&&ie.push(ae),this.useStates(ie)},ee.prototype.toggleState=function(te,ae){ae?this.useState(te,!0):this.removeState(te)},ee.prototype._mergeStates=function(te){for(var ae={},ne,ie=0;ie<te.length;ie++){var oe=te[ie];extend$1(ae,oe),oe.textConfig&&(ne=ne||{},extend$1(ne,oe.textConfig))}return ne&&(ae.textConfig=ne),ae},ee.prototype._applyStateObj=function(te,ae,ne,ie,oe,se){var le=!(ae&&ie);ae&&ae.textConfig?(this.textConfig=extend$1({},ie?this.textConfig:ne.textConfig),extend$1(this.textConfig,ae.textConfig)):le&&ne.textConfig&&(this.textConfig=ne.textConfig);for(var ue={},ce=!1,de=0;de<PRIMARY_STATES_KEYS$1.length;de++){var he=PRIMARY_STATES_KEYS$1[de],fe=oe&&DEFAULT_ANIMATABLE_MAP[he];ae&&ae[he]!=null?fe?(ce=!0,ue[he]=ae[he]):this[he]=ae[he]:le&&ne[he]!=null&&(fe?(ce=!0,ue[he]=ne[he]):this[he]=ne[he])}if(!oe)for(var de=0;de<this.animators.length;de++){var pe=this.animators[de],ve=pe.targetName;pe.getLoop()||pe.__changeFinalValue(ve?(ae||ne)[ve]:ae||ne)}ce&&this._transitionState(te,ue,se)},ee.prototype._attachComponent=function(te){if(!(te.__zr&&!te.__hostTarget)&&te!==this){var ae=this.__zr;ae&&te.addSelfToZr(ae),te.__zr=ae,te.__hostTarget=this}},ee.prototype._detachComponent=function(te){te.__zr&&te.removeSelfFromZr(te.__zr),te.__zr=null,te.__hostTarget=null},ee.prototype.getClipPath=function(){return this._clipPath},ee.prototype.setClipPath=function(te){this._clipPath&&this._clipPath!==te&&this.removeClipPath(),this._attachComponent(te),this._clipPath=te,this.markRedraw()},ee.prototype.removeClipPath=function(){var te=this._clipPath;te&&(this._detachComponent(te),this._clipPath=null,this.markRedraw())},ee.prototype.getTextContent=function(){return this._textContent},ee.prototype.setTextContent=function(te){var ae=this._textContent;ae!==te&&(ae&&ae!==te&&this.removeTextContent(),te.innerTransformable=new Transformable$1,this._attachComponent(te),this._textContent=te,this.markRedraw())},ee.prototype.setTextConfig=function(te){this.textConfig||(this.textConfig={}),extend$1(this.textConfig,te),this.markRedraw()},ee.prototype.removeTextConfig=function(){this.textConfig=null,this.markRedraw()},ee.prototype.removeTextContent=function(){var te=this._textContent;te&&(te.innerTransformable=null,this._detachComponent(te),this._textContent=null,this._innerTextDefaultStyle=null,this.markRedraw())},ee.prototype.getTextGuideLine=function(){return this._textGuide},ee.prototype.setTextGuideLine=function(te){this._textGuide&&this._textGuide!==te&&this.removeTextGuideLine(),this._attachComponent(te),this._textGuide=te,this.markRedraw()},ee.prototype.removeTextGuideLine=function(){var te=this._textGuide;te&&(this._detachComponent(te),this._textGuide=null,this.markRedraw())},ee.prototype.markRedraw=function(){this.__dirty|=REDRAW_BIT;var te=this.__zr;te&&(this.__inHover?te.refreshHover():te.refresh()),this.__hostTarget&&this.__hostTarget.markRedraw()},ee.prototype.dirty=function(){this.markRedraw()},ee.prototype._toggleHoverLayerFlag=function(te){this.__inHover=te;var ae=this._textContent,ne=this._textGuide;ae&&(ae.__inHover=te),ne&&(ne.__inHover=te)},ee.prototype.addSelfToZr=function(te){if(this.__zr!==te){this.__zr=te;var ae=this.animators;if(ae)for(var ne=0;ne<ae.length;ne++)te.animation.addAnimator(ae[ne]);this._clipPath&&this._clipPath.addSelfToZr(te),this._textContent&&this._textContent.addSelfToZr(te),this._textGuide&&this._textGuide.addSelfToZr(te)}},ee.prototype.removeSelfFromZr=function(te){if(this.__zr){this.__zr=null;var ae=this.animators;if(ae)for(var ne=0;ne<ae.length;ne++)te.animation.removeAnimator(ae[ne]);this._clipPath&&this._clipPath.removeSelfFromZr(te),this._textContent&&this._textContent.removeSelfFromZr(te),this._textGuide&&this._textGuide.removeSelfFromZr(te)}},ee.prototype.animate=function(te,ae,ne){var ie=te?this[te]:this,oe=new Animator$1(ie,ae,ne);return te&&(oe.targetName=te),this.addAnimator(oe,te),oe},ee.prototype.addAnimator=function(te,ae){var ne=this.__zr,ie=this;te.during(function(){ie.updateDuringAnimation(ae)}).done(function(){var oe=ie.animators,se=indexOf(oe,te);se>=0&&oe.splice(se,1)}),this.animators.push(te),ne&&ne.animation.addAnimator(te),ne&&ne.wakeUp()},ee.prototype.updateDuringAnimation=function(te){this.markRedraw()},ee.prototype.stopAnimation=function(te,ae){for(var ne=this.animators,ie=ne.length,oe=[],se=0;se<ie;se++){var le=ne[se];!te||te===le.scope?le.stop(ae):oe.push(le)}return this.animators=oe,this},ee.prototype.animateTo=function(te,ae,ne){animateTo(this,te,ae,ne)},ee.prototype.animateFrom=function(te,ae,ne){animateTo(this,te,ae,ne,!0)},ee.prototype._transitionState=function(te,ae,ne,ie){for(var oe=animateTo(this,ae,ne,ie),se=0;se<oe.length;se++)oe[se].__fromStateTransition=te},ee.prototype.getBoundingRect=function(){return null},ee.prototype.getPaintRect=function(){return null},ee.initDefaultProps=function(){var te=ee.prototype;te.type="element",te.name="",te.ignore=te.silent=te.isGroup=te.draggable=te.dragging=te.ignoreClip=te.__inHover=!1,te.__dirty=REDRAW_BIT;function ae(ne,ie,oe,se){Object.defineProperty(te,ne,{get:function(){if(!this[ie]){var ue=this[ie]=[];le(this,ue)}return this[ie]},set:function(ue){this[oe]=ue[0],this[se]=ue[1],this[ie]=ue,le(this,ue)}});function le(ue,ce){Object.defineProperty(ce,0,{get:function(){return ue[oe]},set:function(de){ue[oe]=de}}),Object.defineProperty(ce,1,{get:function(){return ue[se]},set:function(de){ue[se]=de}})}}Object.defineProperty&&(ae("position","_legacyPos","x","y"),ae("scale","_legacyScale","scaleX","scaleY"),ae("origin","_legacyOrigin","originX","originY"))}(),ee}();mixin(Element,Eventful$1);mixin(Element,Transformable$1);function animateTo(ee,te,ae,ne,ie){ae=ae||{};var oe=[];animateToShallow(ee,"",ee,te,ae,ne,oe,ie);var se=oe.length,le=!1,ue=ae.done,ce=ae.aborted,de=function(){le=!0,se--,se<=0&&(le?ue&&ue():ce&&ce())},he=function(){se--,se<=0&&(le?ue&&ue():ce&&ce())};se||ue&&ue(),oe.length>0&&ae.during&&oe[0].during(function(ve,ge){ae.during(ge)});for(var fe=0;fe<oe.length;fe++){var pe=oe[fe];de&&pe.done(de),he&&pe.aborted(he),ae.force&&pe.duration(ae.duration),pe.start(ae.easing)}return oe}function copyArrShallow(ee,te,ae){for(var ne=0;ne<ae;ne++)ee[ne]=te[ne]}function is2DArray(ee){return isArrayLike(ee[0])}function copyValue(ee,te,ae){if(isArrayLike(te[ae]))if(isArrayLike(ee[ae])||(ee[ae]=[]),isTypedArray$1(te[ae])){var ne=te[ae].length;ee[ae].length!==ne&&(ee[ae]=new te[ae].constructor(ne),copyArrShallow(ee[ae],te[ae],ne))}else{var ie=te[ae],oe=ee[ae],se=ie.length;if(is2DArray(ie))for(var le=ie[0].length,ue=0;ue<se;ue++)oe[ue]?copyArrShallow(oe[ue],ie[ue],le):oe[ue]=Array.prototype.slice.call(ie[ue]);else copyArrShallow(oe,ie,se);oe.length=ie.length}else ee[ae]=te[ae]}function isValueSame(ee,te){return ee===te||isArrayLike(ee)&&isArrayLike(te)&&is1DArraySame(ee,te)}function is1DArraySame(ee,te){var ae=ee.length;if(ae!==te.length)return!1;for(var ne=0;ne<ae;ne++)if(ee[ne]!==te[ne])return!1;return!0}function animateToShallow(ee,te,ae,ne,ie,oe,se,le){for(var ue=keys(ne),ce=ie.duration,de=ie.delay,he=ie.additive,fe=ie.setToFinal,pe=!isObject$4(oe),ve=ee.animators,ge=[],me=0;me<ue.length;me++){var ye=ue[me],_e=ne[ye];if(_e!=null&&ae[ye]!=null&&(pe||oe[ye]))if(isObject$4(_e)&&!isArrayLike(_e)&&!isGradientObject(_e)){if(te){le||(ae[ye]=_e,ee.updateDuringAnimation(te));continue}animateToShallow(ee,ye,ae[ye],_e,ie,oe&&oe[ye],se,le)}else ge.push(ye);else le||(ae[ye]=_e,ee.updateDuringAnimation(te),ge.push(ye))}var be=ge.length;if(!he&&be)for(var xe=0;xe<ve.length;xe++){var $e=ve[xe];if($e.targetName===te){var Se=$e.stopTracks(ge);if(Se){var we=indexOf(ve,$e);ve.splice(we,1)}}}if(ie.force||(ge=filter(ge,function(Me){return!isValueSame(ne[Me],ae[Me])}),be=ge.length),be>0||ie.force&&!se.length){var Ae=void 0,Te=void 0,De=void 0;if(le){Te={},fe&&(Ae={});for(var xe=0;xe<be;xe++){var ye=ge[xe];Te[ye]=ae[ye],fe?Ae[ye]=ne[ye]:ae[ye]=ne[ye]}}else if(fe){De={};for(var xe=0;xe<be;xe++){var ye=ge[xe];De[ye]=cloneValue(ae[ye]),copyValue(ae,ne,ye)}}var $e=new Animator$1(ae,!1,!1,he?filter(ve,function(Ie){return Ie.targetName===te}):null);$e.targetName=te,ie.scope&&($e.scope=ie.scope),fe&&Ae&&$e.whenWithKeys(0,Ae,ge),De&&$e.whenWithKeys(0,De,ge),$e.whenWithKeys(ce??500,le?Te:ne,ge).delay(de||0),ee.addAnimator($e,te),se.push($e)}}const Element$1=Element;var Group$3=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this)||this;return ne.isGroup=!0,ne._children=[],ne.attr(ae),ne}return te.prototype.childrenRef=function(){return this._children},te.prototype.children=function(){return this._children.slice()},te.prototype.childAt=function(ae){return this._children[ae]},te.prototype.childOfName=function(ae){for(var ne=this._children,ie=0;ie<ne.length;ie++)if(ne[ie].name===ae)return ne[ie]},te.prototype.childCount=function(){return this._children.length},te.prototype.add=function(ae){return ae&&ae!==this&&ae.parent!==this&&(this._children.push(ae),this._doAdd(ae)),this},te.prototype.addBefore=function(ae,ne){if(ae&&ae!==this&&ae.parent!==this&&ne&&ne.parent===this){var ie=this._children,oe=ie.indexOf(ne);oe>=0&&(ie.splice(oe,0,ae),this._doAdd(ae))}return this},te.prototype.replace=function(ae,ne){var ie=indexOf(this._children,ae);return ie>=0&&this.replaceAt(ne,ie),this},te.prototype.replaceAt=function(ae,ne){var ie=this._children,oe=ie[ne];if(ae&&ae!==this&&ae.parent!==this&&ae!==oe){ie[ne]=ae,oe.parent=null;var se=this.__zr;se&&oe.removeSelfFromZr(se),this._doAdd(ae)}return this},te.prototype._doAdd=function(ae){ae.parent&&ae.parent.remove(ae),ae.parent=this;var ne=this.__zr;ne&&ne!==ae.__zr&&ae.addSelfToZr(ne),ne&&ne.refresh()},te.prototype.remove=function(ae){var ne=this.__zr,ie=this._children,oe=indexOf(ie,ae);return oe<0?this:(ie.splice(oe,1),ae.parent=null,ne&&ae.removeSelfFromZr(ne),ne&&ne.refresh(),this)},te.prototype.removeAll=function(){for(var ae=this._children,ne=this.__zr,ie=0;ie<ae.length;ie++){var oe=ae[ie];ne&&oe.removeSelfFromZr(ne),oe.parent=null}return ae.length=0,this},te.prototype.eachChild=function(ae,ne){for(var ie=this._children,oe=0;oe<ie.length;oe++){var se=ie[oe];ae.call(ne,se,oe)}return this},te.prototype.traverse=function(ae,ne){for(var ie=0;ie<this._children.length;ie++){var oe=this._children[ie],se=ae.call(ne,oe);oe.isGroup&&!se&&oe.traverse(ae,ne)}return this},te.prototype.addSelfToZr=function(ae){ee.prototype.addSelfToZr.call(this,ae);for(var ne=0;ne<this._children.length;ne++){var ie=this._children[ne];ie.addSelfToZr(ae)}},te.prototype.removeSelfFromZr=function(ae){ee.prototype.removeSelfFromZr.call(this,ae);for(var ne=0;ne<this._children.length;ne++){var ie=this._children[ne];ie.removeSelfFromZr(ae)}},te.prototype.getBoundingRect=function(ae){for(var ne=new BoundingRect$1(0,0,0,0),ie=ae||this._children,oe=[],se=null,le=0;le<ie.length;le++){var ue=ie[le];if(!(ue.ignore||ue.invisible)){var ce=ue.getBoundingRect(),de=ue.getLocalTransform(oe);de?(BoundingRect$1.applyTransform(ne,ce,de),se=se||ne.clone(),se.union(ne)):(se=se||ce.clone(),se.union(ce))}}return se||ne},te}(Element$1);Group$3.prototype.type="group";const Group$4=Group$3;/*!
-* ZRender, a high performance 2d drawing library.
-*
-* Copyright (c) 2013, Baidu Inc.
-* All rights reserved.
-*
-* LICENSE
-* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
-*/var painterCtors={},instances$1={};function delInstance(ee){delete instances$1[ee]}function isDarkMode(ee){if(!ee)return!1;if(typeof ee=="string")return lum(ee,1)<DARK_MODE_THRESHOLD;if(ee.colorStops){for(var te=ee.colorStops,ae=0,ne=te.length,ie=0;ie<ne;ie++)ae+=lum(te[ie].color,1);return ae/=ne,ae<DARK_MODE_THRESHOLD}return!1}var ZRender=function(){function ee(te,ae,ne){var ie=this;this._sleepAfterStill=10,this._stillFrameAccum=0,this._needsRefresh=!0,this._needsRefreshHover=!0,this._darkMode=!1,ne=ne||{},this.dom=ae,this.id=te;var oe=new Storage$1,se=ne.renderer||"canvas";painterCtors[se]||(se=keys(painterCtors)[0]),ne.useDirtyRect=ne.useDirtyRect==null?!1:ne.useDirtyRect;var le=new painterCtors[se](ae,oe,ne,te),ue=ne.ssr||le.ssrOnly;this.storage=oe,this.painter=le;var ce=!env$1.node&&!env$1.worker&&!ue?new HandlerProxy(le.getViewportRoot(),le.root):null,de=ne.useCoarsePointer,he=de==null||de==="auto"?env$1.touchEventsSupported:!!de,fe=44,pe;he&&(pe=retrieve2(ne.pointerSize,fe)),this.handler=new Handler$1(oe,le,ce,le.root,pe),this.animation=new Animation$1({stage:{update:ue?null:function(){return ie._flush(!0)}}}),ue||this.animation.start()}return ee.prototype.add=function(te){te&&(this.storage.addRoot(te),te.addSelfToZr(this),this.refresh())},ee.prototype.remove=function(te){te&&(this.storage.delRoot(te),te.removeSelfFromZr(this),this.refresh())},ee.prototype.configLayer=function(te,ae){this.painter.configLayer&&this.painter.configLayer(te,ae),this.refresh()},ee.prototype.setBackgroundColor=function(te){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(te),this.refresh(),this._backgroundColor=te,this._darkMode=isDarkMode(te)},ee.prototype.getBackgroundColor=function(){return this._backgroundColor},ee.prototype.setDarkMode=function(te){this._darkMode=te},ee.prototype.isDarkMode=function(){return this._darkMode},ee.prototype.refreshImmediately=function(te){te||this.animation.update(!0),this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1},ee.prototype.refresh=function(){this._needsRefresh=!0,this.animation.start()},ee.prototype.flush=function(){this._flush(!1)},ee.prototype._flush=function(te){var ae,ne=getTime();this._needsRefresh&&(ae=!0,this.refreshImmediately(te)),this._needsRefreshHover&&(ae=!0,this.refreshHoverImmediately());var ie=getTime();ae?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:ie-ne})):this._sleepAfterStill>0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},ee.prototype.setSleepAfterStill=function(te){this._sleepAfterStill=te},ee.prototype.wakeUp=function(){this.animation.start(),this._stillFrameAccum=0},ee.prototype.refreshHover=function(){this._needsRefreshHover=!0},ee.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover()},ee.prototype.resize=function(te){te=te||{},this.painter.resize(te.width,te.height),this.handler.resize()},ee.prototype.clearAnimation=function(){this.animation.clear()},ee.prototype.getWidth=function(){return this.painter.getWidth()},ee.prototype.getHeight=function(){return this.painter.getHeight()},ee.prototype.setCursorStyle=function(te){this.handler.setCursorStyle(te)},ee.prototype.findHover=function(te,ae){return this.handler.findHover(te,ae)},ee.prototype.on=function(te,ae,ne){return this.handler.on(te,ae,ne),this},ee.prototype.off=function(te,ae){this.handler.off(te,ae)},ee.prototype.trigger=function(te,ae){this.handler.trigger(te,ae)},ee.prototype.clear=function(){for(var te=this.storage.getRoots(),ae=0;ae<te.length;ae++)te[ae]instanceof Group$4&&te[ae].removeSelfFromZr(this);this.storage.delAllRoots(),this.painter.clear()},ee.prototype.dispose=function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,delInstance(this.id)},ee}();function init$2(ee,te){var ae=new ZRender(guid(),ee,te);return instances$1[ae.id]=ae,ae}function dispose$1(ee){ee.dispose()}function disposeAll(){for(var ee in instances$1)instances$1.hasOwnProperty(ee)&&instances$1[ee].dispose();instances$1={}}function getInstance(ee){return instances$1[ee]}function registerPainter(ee,te){painterCtors[ee]=te}var version$7="5.4.4";const zrender=Object.freeze(Object.defineProperty({__proto__:null,dispose:dispose$1,disposeAll,getInstance,init:init$2,registerPainter,version:version$7},Symbol.toStringTag,{value:"Module"}));var RADIAN_EPSILON=1e-4,ROUND_SUPPORTED_PRECISION_MAX=20;function _trim(ee){return ee.replace(/^\s+|\s+$/g,"")}function linearMap$2(ee,te,ae,ne){var ie=te[0],oe=te[1],se=ae[0],le=ae[1],ue=oe-ie,ce=le-se;if(ue===0)return ce===0?se:(se+le)/2;if(ne)if(ue>0){if(ee<=ie)return se;if(ee>=oe)return le}else{if(ee>=ie)return se;if(ee<=oe)return le}else{if(ee===ie)return se;if(ee===oe)return le}return(ee-ie)/ue*ce+se}function parsePercent(ee,te){switch(ee){case"center":case"middle":ee="50%";break;case"left":case"top":ee="0%";break;case"right":case"bottom":ee="100%";break}return isString$1(ee)?_trim(ee).match(/%$/)?parseFloat(ee)/100*te:parseFloat(ee):ee==null?NaN:+ee}function round$3(ee,te,ae){return te==null&&(te=10),te=Math.min(Math.max(0,te),ROUND_SUPPORTED_PRECISION_MAX),ee=(+ee).toFixed(te),ae?ee:+ee}function asc$2(ee){return ee.sort(function(te,ae){return te-ae}),ee}function getPrecision(ee){if(ee=+ee,isNaN(ee))return 0;if(ee>1e-14){for(var te=1,ae=0;ae<15;ae++,te*=10)if(Math.round(ee*te)/te===ee)return ae}return getPrecisionSafe(ee)}function getPrecisionSafe(ee){var te=ee.toString().toLowerCase(),ae=te.indexOf("e"),ne=ae>0?+te.slice(ae+1):0,ie=ae>0?ae:te.length,oe=te.indexOf("."),se=oe<0?0:ie-1-oe;return Math.max(0,se-ne)}function getPixelPrecision(ee,te){var ae=Math.log,ne=Math.LN10,ie=Math.floor(ae(ee[1]-ee[0])/ne),oe=Math.round(ae(Math.abs(te[1]-te[0]))/ne),se=Math.min(Math.max(-ie+oe,0),20);return isFinite(se)?se:20}function getPercentWithPrecision(ee,te,ae){if(!ee[te])return 0;var ne=getPercentSeats(ee,ae);return ne[te]||0}function getPercentSeats(ee,te){var ae=reduce(ee,function(pe,ve){return pe+(isNaN(ve)?0:ve)},0);if(ae===0)return[];for(var ne=Math.pow(10,te),ie=map$1(ee,function(pe){return(isNaN(pe)?0:pe)/ae*ne*100}),oe=ne*100,se=map$1(ie,function(pe){return Math.floor(pe)}),le=reduce(se,function(pe,ve){return pe+ve},0),ue=map$1(ie,function(pe,ve){return pe-se[ve]});le<oe;){for(var ce=Number.NEGATIVE_INFINITY,de=null,he=0,fe=ue.length;he<fe;++he)ue[he]>ce&&(ce=ue[he],de=he);++se[de],ue[de]=0,++le}return map$1(se,function(pe){return pe/ne})}function addSafe(ee,te){var ae=Math.max(getPrecision(ee),getPrecision(te)),ne=ee+te;return ae>ROUND_SUPPORTED_PRECISION_MAX?ne:round$3(ne,ae)}var MAX_SAFE_INTEGER=9007199254740991;function remRadian(ee){var te=Math.PI*2;return(ee%te+te)%te}function isRadianAroundZero(ee){return ee>-RADIAN_EPSILON&&ee<RADIAN_EPSILON}var TIME_REG=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function parseDate(ee){if(ee instanceof Date)return ee;if(isString$1(ee)){var te=TIME_REG.exec(ee);if(!te)return new Date(NaN);if(te[8]){var ae=+te[4]||0;return te[8].toUpperCase()!=="Z"&&(ae-=+te[8].slice(0,3)),new Date(Date.UTC(+te[1],+(te[2]||1)-1,+te[3]||1,ae,+(te[5]||0),+te[6]||0,te[7]?+te[7].substring(0,3):0))}else return new Date(+te[1],+(te[2]||1)-1,+te[3]||1,+te[4]||0,+(te[5]||0),+te[6]||0,te[7]?+te[7].substring(0,3):0)}else if(ee==null)return new Date(NaN);return new Date(Math.round(ee))}function quantity(ee){return Math.pow(10,quantityExponent(ee))}function quantityExponent(ee){if(ee===0)return 0;var te=Math.floor(Math.log(ee)/Math.LN10);return ee/Math.pow(10,te)>=10&&te++,te}function nice(ee,te){var ae=quantityExponent(ee),ne=Math.pow(10,ae),ie=ee/ne,oe;return te?ie<1.5?oe=1:ie<2.5?oe=2:ie<4?oe=3:ie<7?oe=5:oe=10:ie<1?oe=1:ie<2?oe=2:ie<3?oe=3:ie<5?oe=5:oe=10,ee=oe*ne,ae>=-20?+ee.toFixed(ae<0?-ae:0):ee}function quantile(ee,te){var ae=(ee.length-1)*te+1,ne=Math.floor(ae),ie=+ee[ne-1],oe=ae-ne;return oe?ie+oe*(ee[ne]-ie):ie}function reformIntervals(ee){ee.sort(function(ue,ce){return le(ue,ce,0)?-1:1});for(var te=-1/0,ae=1,ne=0;ne<ee.length;){for(var ie=ee[ne].interval,oe=ee[ne].close,se=0;se<2;se++)ie[se]<=te&&(ie[se]=te,oe[se]=se?1:1-ae),te=ie[se],ae=oe[se];ie[0]===ie[1]&&oe[0]*oe[1]!==1?ee.splice(ne,1):ne++}return ee;function le(ue,ce,de){return ue.interval[de]<ce.interval[de]||ue.interval[de]===ce.interval[de]&&(ue.close[de]-ce.close[de]===(de?-1:1)||!de&&le(ue,ce,1))}}function numericToNumber(ee){var te=parseFloat(ee);return te==ee&&(te!==0||!isString$1(ee)||ee.indexOf("x")<=0)?te:NaN}function isNumeric(ee){return!isNaN(numericToNumber(ee))}function getRandomIdBase(){return Math.round(Math.random()*9)}function getGreatestCommonDividor(ee,te){return te===0?ee:getGreatestCommonDividor(te,ee%te)}function getLeastCommonMultiple(ee,te){return ee==null?te:te==null?ee:ee*te/getGreatestCommonDividor(ee,te)}var ECHARTS_PREFIX="[ECharts] ",storedLogs={},hasConsole=typeof console<"u"&&console.warn&&console.log;function outputLog(ee,te,ae){if(hasConsole){if(ae){if(storedLogs[te])return;storedLogs[te]=!0}console[ee](ECHARTS_PREFIX+te)}}function warn(ee,te){outputLog("warn",ee,te)}function throwError(ee){throw new Error(ee)}function interpolateNumber(ee,te,ae){return(te-ee)*ae+ee}var DUMMY_COMPONENT_NAME_PREFIX="series\0",INTERNAL_COMPONENT_ID_PREFIX="\0_ec_\0";function normalizeToArray(ee){return ee instanceof Array?ee:ee==null?[]:[ee]}function defaultEmphasis(ee,te,ae){if(ee){ee[te]=ee[te]||{},ee.emphasis=ee.emphasis||{},ee.emphasis[te]=ee.emphasis[te]||{};for(var ne=0,ie=ae.length;ne<ie;ne++){var oe=ae[ne];!ee.emphasis[te].hasOwnProperty(oe)&&ee[te].hasOwnProperty(oe)&&(ee.emphasis[te][oe]=ee[te][oe])}}}var TEXT_STYLE_OPTIONS=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"];function getDataItemValue(ee){return isObject$4(ee)&&!isArray$2(ee)&&!(ee instanceof Date)?ee.value:ee}function isDataItemOption(ee){return isObject$4(ee)&&!(ee instanceof Array)}function mappingToExists(ee,te,ae){var ne=ae==="normalMerge",ie=ae==="replaceMerge",oe=ae==="replaceAll";ee=ee||[],te=(te||[]).slice();var se=createHashMap();each$f(te,function(ue,ce){if(!isObject$4(ue)){te[ce]=null;return}});var le=prepareResult(ee,se,ae);return(ne||ie)&&mappingById(le,ee,se,te),ne&&mappingByName(le,te),ne||ie?mappingByIndex(le,te,ie):oe&&mappingInReplaceAllMode(le,te),makeIdAndName(le),le}function prepareResult(ee,te,ae){var ne=[];if(ae==="replaceAll")return ne;for(var ie=0;ie<ee.length;ie++){var oe=ee[ie];oe&&oe.id!=null&&te.set(oe.id,ie),ne.push({existing:ae==="replaceMerge"||isComponentIdInternal(oe)?null:oe,newOption:null,keyInfo:null,brandNew:null})}return ne}function mappingById(ee,te,ae,ne){each$f(ne,function(ie,oe){if(!(!ie||ie.id==null)){var se=makeComparableKey(ie.id),le=ae.get(se);if(le!=null){var ue=ee[le];assert(!ue.newOption,'Duplicated option on id "'+se+'".'),ue.newOption=ie,ue.existing=te[le],ne[oe]=null}}})}function mappingByName(ee,te){each$f(te,function(ae,ne){if(!(!ae||ae.name==null))for(var ie=0;ie<ee.length;ie++){var oe=ee[ie].existing;if(!ee[ie].newOption&&oe&&(oe.id==null||ae.id==null)&&!isComponentIdInternal(ae)&&!isComponentIdInternal(oe)&&keyExistAndEqual("name",oe,ae)){ee[ie].newOption=ae,te[ne]=null;return}}})}function mappingByIndex(ee,te,ae){each$f(te,function(ne){if(ne){for(var ie,oe=0;(ie=ee[oe])&&(ie.newOption||isComponentIdInternal(ie.existing)||ie.existing&&ne.id!=null&&!keyExistAndEqual("id",ne,ie.existing));)oe++;ie?(ie.newOption=ne,ie.brandNew=ae):ee.push({newOption:ne,brandNew:ae,existing:null,keyInfo:null}),oe++}})}function mappingInReplaceAllMode(ee,te){each$f(te,function(ae){ee.push({newOption:ae,brandNew:!0,existing:null,keyInfo:null})})}function makeIdAndName(ee){var te=createHashMap();each$f(ee,function(ae){var ne=ae.existing;ne&&te.set(ne.id,ae)}),each$f(ee,function(ae){var ne=ae.newOption;assert(!ne||ne.id==null||!te.get(ne.id)||te.get(ne.id)===ae,"id duplicates: "+(ne&&ne.id)),ne&&ne.id!=null&&te.set(ne.id,ae),!ae.keyInfo&&(ae.keyInfo={})}),each$f(ee,function(ae,ne){var ie=ae.existing,oe=ae.newOption,se=ae.keyInfo;if(isObject$4(oe)){if(se.name=oe.name!=null?makeComparableKey(oe.name):ie?ie.name:DUMMY_COMPONENT_NAME_PREFIX+ne,ie)se.id=makeComparableKey(ie.id);else if(oe.id!=null)se.id=makeComparableKey(oe.id);else{var le=0;do se.id="\0"+se.name+"\0"+le++;while(te.get(se.id))}te.set(se.id,ae)}})}function keyExistAndEqual(ee,te,ae){var ne=convertOptionIdName(te[ee],null),ie=convertOptionIdName(ae[ee],null);return ne!=null&&ie!=null&&ne===ie}function makeComparableKey(ee){return convertOptionIdName(ee,"")}function convertOptionIdName(ee,te){return ee==null?te:isString$1(ee)?ee:isNumber$1(ee)||isStringSafe(ee)?ee+"":te}function isNameSpecified(ee){var te=ee.name;return!!(te&&te.indexOf(DUMMY_COMPONENT_NAME_PREFIX))}function isComponentIdInternal(ee){return ee&&ee.id!=null&&makeComparableKey(ee.id).indexOf(INTERNAL_COMPONENT_ID_PREFIX)===0}function makeInternalComponentId(ee){return INTERNAL_COMPONENT_ID_PREFIX+ee}function setComponentTypeToKeyInfo(ee,te,ae){each$f(ee,function(ne){var ie=ne.newOption;isObject$4(ie)&&(ne.keyInfo.mainType=te,ne.keyInfo.subType=determineSubType(te,ie,ne.existing,ae))})}function determineSubType(ee,te,ae,ne){var ie=te.type?te.type:ae?ae.subType:ne.determineSubType(ee,te);return ie}function compressBatches(ee,te){var ae={},ne={};return ie(ee||[],ae),ie(te||[],ne,ae),[oe(ae),oe(ne)];function ie(se,le,ue){for(var ce=0,de=se.length;ce<de;ce++){var he=convertOptionIdName(se[ce].seriesId,null);if(he==null)return;for(var fe=normalizeToArray(se[ce].dataIndex),pe=ue&&ue[he],ve=0,ge=fe.length;ve<ge;ve++){var me=fe[ve];pe&&pe[me]?pe[me]=null:(le[he]||(le[he]={}))[me]=1}}}function oe(se,le){var ue=[];for(var ce in se)if(se.hasOwnProperty(ce)&&se[ce]!=null)if(le)ue.push(+ce);else{var de=oe(se[ce],!0);de.length&&ue.push({seriesId:ce,dataIndex:de})}return ue}}function queryDataIndex(ee,te){if(te.dataIndexInside!=null)return te.dataIndexInside;if(te.dataIndex!=null)return isArray$2(te.dataIndex)?map$1(te.dataIndex,function(ae){return ee.indexOfRawIndex(ae)}):ee.indexOfRawIndex(te.dataIndex);if(te.name!=null)return isArray$2(te.name)?map$1(te.name,function(ae){return ee.indexOfName(ae)}):ee.indexOfName(te.name)}function makeInner(){var ee="__ec_inner_"+innerUniqueIndex++;return function(te){return te[ee]||(te[ee]={})}}var innerUniqueIndex=getRandomIdBase();function parseFinder$1(ee,te,ae){var ne=preParseFinder(te,ae),ie=ne.mainTypeSpecified,oe=ne.queryOptionMap,se=ne.others,le=se,ue=ae?ae.defaultMainType:null;return!ie&&ue&&oe.set(ue,{}),oe.each(function(ce,de){var he=queryReferringComponents(ee,de,ce,{useDefault:ue===de,enableAll:ae&&ae.enableAll!=null?ae.enableAll:!0,enableNone:ae&&ae.enableNone!=null?ae.enableNone:!0});le[de+"Models"]=he.models,le[de+"Model"]=he.models[0]}),le}function preParseFinder(ee,te){var ae;if(isString$1(ee)){var ne={};ne[ee+"Index"]=0,ae=ne}else ae=ee;var ie=createHashMap(),oe={},se=!1;return each$f(ae,function(le,ue){if(ue==="dataIndex"||ue==="dataIndexInside"){oe[ue]=le;return}var ce=ue.match(/^(\w+)(Index|Id|Name)$/)||[],de=ce[1],he=(ce[2]||"").toLowerCase();if(!(!de||!he||te&&te.includeMainTypes&&indexOf(te.includeMainTypes,de)<0)){se=se||!!de;var fe=ie.get(de)||ie.set(de,{});fe[he]=le}}),{mainTypeSpecified:se,queryOptionMap:ie,others:oe}}var SINGLE_REFERRING={useDefault:!0,enableAll:!1,enableNone:!1},MULTIPLE_REFERRING={useDefault:!1,enableAll:!0,enableNone:!0};function queryReferringComponents(ee,te,ae,ne){ne=ne||SINGLE_REFERRING;var ie=ae.index,oe=ae.id,se=ae.name,le={models:null,specified:ie!=null||oe!=null||se!=null};if(!le.specified){var ue=void 0;return le.models=ne.useDefault&&(ue=ee.getComponent(te))?[ue]:[],le}return ie==="none"||ie===!1?(assert(ne.enableNone,'`"none"` or `false` is not a valid value on index option.'),le.models=[],le):(ie==="all"&&(assert(ne.enableAll,'`"all"` is not a valid value on index option.'),ie=oe=se=null),le.models=ee.queryComponents({mainType:te,index:ie,id:oe,name:se}),le)}function setAttribute(ee,te,ae){ee.setAttribute?ee.setAttribute(te,ae):ee[te]=ae}function getAttribute(ee,te){return ee.getAttribute?ee.getAttribute(te):ee[te]}function getTooltipRenderMode(ee){return ee==="auto"?env$1.domSupported?"html":"richText":ee||"html"}function groupData(ee,te){var ae=createHashMap(),ne=[];return each$f(ee,function(ie){var oe=te(ie);(ae.get(oe)||(ne.push(oe),ae.set(oe,[]))).push(ie)}),{keys:ne,buckets:ae}}function interpolateRawValues(ee,te,ae,ne,ie){var oe=te==null||te==="auto";if(ne==null)return ne;if(isNumber$1(ne)){var se=interpolateNumber(ae||0,ne,ie);return round$3(se,oe?Math.max(getPrecision(ae||0),getPrecision(ne)):te)}else{if(isString$1(ne))return ie<1?ae:ne;for(var le=[],ue=ae,ce=ne,de=Math.max(ue?ue.length:0,ce.length),he=0;he<de;++he){var fe=ee.getDimensionInfo(he);if(fe&&fe.type==="ordinal")le[he]=(ie<1&&ue?ue:ce)[he];else{var pe=ue&&ue[he]?ue[he]:0,ve=ce[he],se=interpolateNumber(pe,ve,ie);le[he]=round$3(se,oe?Math.max(getPrecision(pe),getPrecision(ve)):te)}}return le}}var TYPE_DELIMITER=".",IS_CONTAINER="___EC__COMPONENT__CONTAINER___",IS_EXTENDED_CLASS="___EC__EXTENDED_CLASS___";function parseClassType(ee){var te={main:"",sub:""};if(ee){var ae=ee.split(TYPE_DELIMITER);te.main=ae[0]||"",te.sub=ae[1]||""}return te}function checkClassType(ee){assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(ee),'componentType "'+ee+'" illegal')}function isExtendedClass(ee){return!!(ee&&ee[IS_EXTENDED_CLASS])}function enableClassExtend(ee,te){ee.$constructor=ee,ee.extend=function(ae){var ne=this,ie;return isESClass(ne)?ie=function(oe){__extends(se,oe);function se(){return oe.apply(this,arguments)||this}return se}(ne):(ie=function(){(ae.$constructor||ne).apply(this,arguments)},inherits$1(ie,this)),extend$1(ie.prototype,ae),ie[IS_EXTENDED_CLASS]=!0,ie.extend=this.extend,ie.superCall=superCall,ie.superApply=superApply,ie.superClass=ne,ie}}function isESClass(ee){return isFunction$1(ee)&&/^class\s/.test(Function.prototype.toString.call(ee))}function mountExtend(ee,te){ee.extend=te.extend}var classBase=Math.round(Math.random()*10);function enableClassCheck(ee){var te=["__\0is_clz",classBase++].join("_");ee.prototype[te]=!0,ee.isInstance=function(ae){return!!(ae&&ae[te])}}function superCall(ee,te){for(var ae=[],ne=2;ne<arguments.length;ne++)ae[ne-2]=arguments[ne];return this.superClass.prototype[te].apply(ee,ae)}function superApply(ee,te,ae){return this.superClass.prototype[te].apply(ee,ae)}function enableClassManagement(ee){var te={};ee.registerClass=function(ne){var ie=ne.type||ne.prototype.type;if(ie){checkClassType(ie),ne.prototype.type=ie;var oe=parseClassType(ie);if(!oe.sub)te[oe.main]=ne;else if(oe.sub!==IS_CONTAINER){var se=ae(oe);se[oe.sub]=ne}}return ne},ee.getClass=function(ne,ie,oe){var se=te[ne];if(se&&se[IS_CONTAINER]&&(se=ie?se[ie]:null),oe&&!se)throw new Error(ie?"Component "+ne+"."+(ie||"")+" is used but not imported.":ne+".type should be specified.");return se},ee.getClassesByMainType=function(ne){var ie=parseClassType(ne),oe=[],se=te[ie.main];return se&&se[IS_CONTAINER]?each$f(se,function(le,ue){ue!==IS_CONTAINER&&oe.push(le)}):oe.push(se),oe},ee.hasClass=function(ne){var ie=parseClassType(ne);return!!te[ie.main]},ee.getAllClassMainTypes=function(){var ne=[];return each$f(te,function(ie,oe){ne.push(oe)}),ne},ee.hasSubTypes=function(ne){var ie=parseClassType(ne),oe=te[ie.main];return oe&&oe[IS_CONTAINER]};function ae(ne){var ie=te[ne.main];return(!ie||!ie[IS_CONTAINER])&&(ie=te[ne.main]={},ie[IS_CONTAINER]=!0),ie}}function makeStyleMapper(ee,te){for(var ae=0;ae<ee.length;ae++)ee[ae][1]||(ee[ae][1]=ee[ae][0]);return te=te||!1,function(ne,ie,oe){for(var se={},le=0;le<ee.length;le++){var ue=ee[le][1];if(!(ie&&indexOf(ie,ue)>=0||oe&&indexOf(oe,ue)<0)){var ce=ne.getShallow(ue,te);ce!=null&&(se[ee[le][0]]=ce)}}return se}}var AREA_STYLE_KEY_MAP=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],getAreaStyle=makeStyleMapper(AREA_STYLE_KEY_MAP),AreaStyleMixin=function(){function ee(){}return ee.prototype.getAreaStyle=function(te,ae){return getAreaStyle(this,te,ae)},ee}(),globalImageCache=new LRU$1(50);function findExistImage(ee){if(typeof ee=="string"){var te=globalImageCache.get(ee);return te&&te.image}else return ee}function createOrUpdateImage(ee,te,ae,ne,ie){if(ee)if(typeof ee=="string"){if(te&&te.__zrImageSrc===ee||!ae)return te;var oe=globalImageCache.get(ee),se={hostEl:ae,cb:ne,cbPayload:ie};return oe?(te=oe.image,!isImageReady(te)&&oe.pending.push(se)):(te=platformApi.loadImage(ee,imageOnLoad,imageOnLoad),te.__zrImageSrc=ee,globalImageCache.put(ee,te.__cachedImgObj={image:te,pending:[se]})),te}else return ee;else return te}function imageOnLoad(){var ee=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var te=0;te<ee.pending.length;te++){var ae=ee.pending[te],ne=ae.cb;ne&&ne(this,ae.cbPayload),ae.hostEl.dirty()}ee.pending.length=0}function isImageReady(ee){return ee&&ee.width&&ee.height}var STYLE_REG=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;function truncateText(ee,te,ae,ne,ie){if(!te)return"";var oe=(ee+"").split(`
-`);ie=prepareTruncateOptions(te,ae,ne,ie);for(var se=0,le=oe.length;se<le;se++)oe[se]=truncateSingleLine(oe[se],ie);return oe.join(`
-`)}function prepareTruncateOptions(ee,te,ae,ne){ne=ne||{};var ie=extend$1({},ne);ie.font=te,ae=retrieve2(ae,"..."),ie.maxIterations=retrieve2(ne.maxIterations,2);var oe=ie.minChar=retrieve2(ne.minChar,0);ie.cnCharWidth=getWidth("国",te);var se=ie.ascCharWidth=getWidth("a",te);ie.placeholder=retrieve2(ne.placeholder,"");for(var le=ee=Math.max(0,ee-1),ue=0;ue<oe&&le>=se;ue++)le-=se;var ce=getWidth(ae,te);return ce>le&&(ae="",ce=0),le=ee-ce,ie.ellipsis=ae,ie.ellipsisWidth=ce,ie.contentWidth=le,ie.containerWidth=ee,ie}function truncateSingleLine(ee,te){var ae=te.containerWidth,ne=te.font,ie=te.contentWidth;if(!ae)return"";var oe=getWidth(ee,ne);if(oe<=ae)return ee;for(var se=0;;se++){if(oe<=ie||se>=te.maxIterations){ee+=te.ellipsis;break}var le=se===0?estimateLength(ee,ie,te.ascCharWidth,te.cnCharWidth):oe>0?Math.floor(ee.length*ie/oe):0;ee=ee.substr(0,le),oe=getWidth(ee,ne)}return ee===""&&(ee=te.placeholder),ee}function estimateLength(ee,te,ae,ne){for(var ie=0,oe=0,se=ee.length;oe<se&&ie<te;oe++){var le=ee.charCodeAt(oe);ie+=0<=le&&le<=127?ae:ne}return oe}function parsePlainText(ee,te){ee!=null&&(ee+="");var ae=te.overflow,ne=te.padding,ie=te.font,oe=ae==="truncate",se=getLineHeight(ie),le=retrieve2(te.lineHeight,se),ue=!!te.backgroundColor,ce=te.lineOverflow==="truncate",de=te.width,he;de!=null&&(ae==="break"||ae==="breakAll")?he=ee?wrapText(ee,te.font,de,ae==="breakAll",0).lines:[]:he=ee?ee.split(`
-`):[];var fe=he.length*le,pe=retrieve2(te.height,fe);if(fe>pe&&ce){var ve=Math.floor(pe/le);he=he.slice(0,ve)}if(ee&&oe&&de!=null)for(var ge=prepareTruncateOptions(de,ie,te.ellipsis,{minChar:te.truncateMinChar,placeholder:te.placeholder}),me=0;me<he.length;me++)he[me]=truncateSingleLine(he[me],ge);for(var ye=pe,_e=0,me=0;me<he.length;me++)_e=Math.max(getWidth(he[me],ie),_e);de==null&&(de=_e);var be=_e;return ne&&(ye+=ne[0]+ne[2],be+=ne[1]+ne[3],de+=ne[1]+ne[3]),ue&&(be=de),{lines:he,height:pe,outerWidth:be,outerHeight:ye,lineHeight:le,calculatedLineHeight:se,contentWidth:_e,contentHeight:fe,width:de}}var RichTextToken=function(){function ee(){}return ee}(),RichTextLine=function(){function ee(te){this.tokens=[],te&&(this.tokens=te)}return ee}(),RichTextContentBlock=function(){function ee(){this.width=0,this.height=0,this.contentWidth=0,this.contentHeight=0,this.outerWidth=0,this.outerHeight=0,this.lines=[]}return ee}();function parseRichText(ee,te){var ae=new RichTextContentBlock;if(ee!=null&&(ee+=""),!ee)return ae;for(var ne=te.width,ie=te.height,oe=te.overflow,se=(oe==="break"||oe==="breakAll")&&ne!=null?{width:ne,accumWidth:0,breakAll:oe==="breakAll"}:null,le=STYLE_REG.lastIndex=0,ue;(ue=STYLE_REG.exec(ee))!=null;){var ce=ue.index;ce>le&&pushTokens(ae,ee.substring(le,ce),te,se),pushTokens(ae,ue[2],te,se,ue[1]),le=STYLE_REG.lastIndex}le<ee.length&&pushTokens(ae,ee.substring(le,ee.length),te,se);var de=[],he=0,fe=0,pe=te.padding,ve=oe==="truncate",ge=te.lineOverflow==="truncate";function me(Ne,He,qe){Ne.width=He,Ne.lineHeight=qe,he+=qe,fe=Math.max(fe,He)}e:for(var ye=0;ye<ae.lines.length;ye++){for(var _e=ae.lines[ye],be=0,xe=0,$e=0;$e<_e.tokens.length;$e++){var Se=_e.tokens[$e],we=Se.styleName&&te.rich[Se.styleName]||{},Ae=Se.textPadding=we.padding,Te=Ae?Ae[1]+Ae[3]:0,De=Se.font=we.font||te.font;Se.contentHeight=getLineHeight(De);var Me=retrieve2(we.height,Se.contentHeight);if(Se.innerHeight=Me,Ae&&(Me+=Ae[0]+Ae[2]),Se.height=Me,Se.lineHeight=retrieve3(we.lineHeight,te.lineHeight,Me),Se.align=we&&we.align||te.align,Se.verticalAlign=we&&we.verticalAlign||"middle",ge&&ie!=null&&he+Se.lineHeight>ie){$e>0?(_e.tokens=_e.tokens.slice(0,$e),me(_e,xe,be),ae.lines=ae.lines.slice(0,ye+1)):ae.lines=ae.lines.slice(0,ye);break e}var Ie=we.width,Ce=Ie==null||Ie==="auto";if(typeof Ie=="string"&&Ie.charAt(Ie.length-1)==="%")Se.percentWidth=Ie,de.push(Se),Se.contentWidth=getWidth(Se.text,De);else{if(Ce){var Ee=we.backgroundColor,Re=Ee&&Ee.image;Re&&(Re=findExistImage(Re),isImageReady(Re)&&(Se.width=Math.max(Se.width,Re.width*Me/Re.height)))}var ke=ve&&ne!=null?ne-xe:null;ke!=null&&ke<Se.width?!Ce||ke<Te?(Se.text="",Se.width=Se.contentWidth=0):(Se.text=truncateText(Se.text,ke-Te,De,te.ellipsis,{minChar:te.truncateMinChar}),Se.width=Se.contentWidth=getWidth(Se.text,De)):Se.contentWidth=getWidth(Se.text,De)}Se.width+=Te,xe+=Se.width,we&&(be=Math.max(be,Se.lineHeight))}me(_e,xe,be)}ae.outerWidth=ae.width=retrieve2(ne,fe),ae.outerHeight=ae.height=retrieve2(ie,he),ae.contentHeight=he,ae.contentWidth=fe,pe&&(ae.outerWidth+=pe[1]+pe[3],ae.outerHeight+=pe[0]+pe[2]);for(var ye=0;ye<de.length;ye++){var Se=de[ye],Be=Se.percentWidth;Se.width=parseInt(Be,10)/100*ae.width}return ae}function pushTokens(ee,te,ae,ne,ie){var oe=te==="",se=ie&&ae.rich[ie]||{},le=ee.lines,ue=se.font||ae.font,ce=!1,de,he;if(ne){var fe=se.padding,pe=fe?fe[1]+fe[3]:0;if(se.width!=null&&se.width!=="auto"){var ve=parsePercent$1(se.width,ne.width)+pe;le.length>0&&ve+ne.accumWidth>ne.width&&(de=te.split(`
-`),ce=!0),ne.accumWidth=ve}else{var ge=wrapText(te,ue,ne.width,ne.breakAll,ne.accumWidth);ne.accumWidth=ge.accumWidth+pe,he=ge.linesWidths,de=ge.lines}}else de=te.split(`
-`);for(var me=0;me<de.length;me++){var ye=de[me],_e=new RichTextToken;if(_e.styleName=ie,_e.text=ye,_e.isLineHolder=!ye&&!oe,typeof se.width=="number"?_e.width=se.width:_e.width=he?he[me]:getWidth(ye,ue),!me&&!ce){var be=(le[le.length-1]||(le[0]=new RichTextLine)).tokens,xe=be.length;xe===1&&be[0].isLineHolder?be[0]=_e:(ye||!xe||oe)&&be.push(_e)}else le.push(new RichTextLine([_e]))}}function isAlphabeticLetter(ee){var te=ee.charCodeAt(0);return te>=32&&te<=591||te>=880&&te<=4351||te>=4608&&te<=5119||te>=7680&&te<=8303}var breakCharMap=reduce(",&?/;] ".split(""),function(ee,te){return ee[te]=!0,ee},{});function isWordBreakChar(ee){return isAlphabeticLetter(ee)?!!breakCharMap[ee]:!0}function wrapText(ee,te,ae,ne,ie){for(var oe=[],se=[],le="",ue="",ce=0,de=0,he=0;he<ee.length;he++){var fe=ee.charAt(he);if(fe===`
-`){ue&&(le+=ue,de+=ce),oe.push(le),se.push(de),le="",ue="",ce=0,de=0;continue}var pe=getWidth(fe,te),ve=ne?!1:!isWordBreakChar(fe);if(oe.length?de+pe>ae:ie+de+pe>ae){de?(le||ue)&&(ve?(le||(le=ue,ue="",ce=0,de=ce),oe.push(le),se.push(de-ce),ue+=fe,ce+=pe,le="",de=ce):(ue&&(le+=ue,ue="",ce=0),oe.push(le),se.push(de),le=fe,de=pe)):ve?(oe.push(ue),se.push(ce),ue=fe,ce=pe):(oe.push(fe),se.push(pe));continue}de+=pe,ve?(ue+=fe,ce+=pe):(ue&&(le+=ue,ue="",ce=0),le+=fe)}return!oe.length&&!le&&(le=ee,ue="",ce=0),ue&&(le+=ue),le&&(oe.push(le),se.push(de)),oe.length===1&&(de+=ie),{accumWidth:de,lines:oe,linesWidths:se}}var STYLE_MAGIC_KEY="__zr_style_"+Math.round(Math.random()*10),DEFAULT_COMMON_STYLE={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},DEFAULT_COMMON_ANIMATION_PROPS={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};DEFAULT_COMMON_STYLE[STYLE_MAGIC_KEY]=!0;var PRIMARY_STATES_KEYS=["z","z2","invisible"],PRIMARY_STATES_KEYS_IN_HOVER_LAYER=["invisible"],Displayable=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype._init=function(ae){for(var ne=keys(ae),ie=0;ie<ne.length;ie++){var oe=ne[ie];oe==="style"?this.useStyle(ae[oe]):ee.prototype.attrKV.call(this,oe,ae[oe])}this.style||this.useStyle({})},te.prototype.beforeBrush=function(){},te.prototype.afterBrush=function(){},te.prototype.innerBeforeBrush=function(){},te.prototype.innerAfterBrush=function(){},te.prototype.shouldBePainted=function(ae,ne,ie,oe){var se=this.transform;if(this.ignore||this.invisible||this.style.opacity===0||this.culling&&isDisplayableCulled(this,ae,ne)||se&&!se[0]&&!se[3])return!1;if(ie&&this.__clipPaths){for(var le=0;le<this.__clipPaths.length;++le)if(this.__clipPaths[le].isZeroArea())return!1}if(oe&&this.parent)for(var ue=this.parent;ue;){if(ue.ignore)return!1;ue=ue.parent}return!0},te.prototype.contain=function(ae,ne){return this.rectContain(ae,ne)},te.prototype.traverse=function(ae,ne){ae.call(ne,this)},te.prototype.rectContain=function(ae,ne){var ie=this.transformCoordToLocal(ae,ne),oe=this.getBoundingRect();return oe.contain(ie[0],ie[1])},te.prototype.getPaintRect=function(){var ae=this._paintRect;if(!this._paintRect||this.__dirty){var ne=this.transform,ie=this.getBoundingRect(),oe=this.style,se=oe.shadowBlur||0,le=oe.shadowOffsetX||0,ue=oe.shadowOffsetY||0;ae=this._paintRect||(this._paintRect=new BoundingRect$1(0,0,0,0)),ne?BoundingRect$1.applyTransform(ae,ie,ne):ae.copy(ie),(se||le||ue)&&(ae.width+=se*2+Math.abs(le),ae.height+=se*2+Math.abs(ue),ae.x=Math.min(ae.x,ae.x+le-se),ae.y=Math.min(ae.y,ae.y+ue-se));var ce=this.dirtyRectTolerance;ae.isZero()||(ae.x=Math.floor(ae.x-ce),ae.y=Math.floor(ae.y-ce),ae.width=Math.ceil(ae.width+1+ce*2),ae.height=Math.ceil(ae.height+1+ce*2))}return ae},te.prototype.setPrevPaintRect=function(ae){ae?(this._prevPaintRect=this._prevPaintRect||new BoundingRect$1(0,0,0,0),this._prevPaintRect.copy(ae)):this._prevPaintRect=null},te.prototype.getPrevPaintRect=function(){return this._prevPaintRect},te.prototype.animateStyle=function(ae){return this.animate("style",ae)},te.prototype.updateDuringAnimation=function(ae){ae==="style"?this.dirtyStyle():this.markRedraw()},te.prototype.attrKV=function(ae,ne){ae!=="style"?ee.prototype.attrKV.call(this,ae,ne):this.style?this.setStyle(ne):this.useStyle(ne)},te.prototype.setStyle=function(ae,ne){return typeof ae=="string"?this.style[ae]=ne:extend$1(this.style,ae),this.dirtyStyle(),this},te.prototype.dirtyStyle=function(ae){ae||this.markRedraw(),this.__dirty|=STYLE_CHANGED_BIT,this._rect&&(this._rect=null)},te.prototype.dirty=function(){this.dirtyStyle()},te.prototype.styleChanged=function(){return!!(this.__dirty&STYLE_CHANGED_BIT)},te.prototype.styleUpdated=function(){this.__dirty&=~STYLE_CHANGED_BIT},te.prototype.createStyle=function(ae){return createObject(DEFAULT_COMMON_STYLE,ae)},te.prototype.useStyle=function(ae){ae[STYLE_MAGIC_KEY]||(ae=this.createStyle(ae)),this.__inHover?this.__hoverStyle=ae:this.style=ae,this.dirtyStyle()},te.prototype.isStyleObject=function(ae){return ae[STYLE_MAGIC_KEY]},te.prototype._innerSaveToNormal=function(ae){ee.prototype._innerSaveToNormal.call(this,ae);var ne=this._normalState;ae.style&&!ne.style&&(ne.style=this._mergeStyle(this.createStyle(),this.style)),this._savePrimaryToNormal(ae,ne,PRIMARY_STATES_KEYS)},te.prototype._applyStateObj=function(ae,ne,ie,oe,se,le){ee.prototype._applyStateObj.call(this,ae,ne,ie,oe,se,le);var ue=!(ne&&oe),ce;if(ne&&ne.style?se?oe?ce=ne.style:(ce=this._mergeStyle(this.createStyle(),ie.style),this._mergeStyle(ce,ne.style)):(ce=this._mergeStyle(this.createStyle(),oe?this.style:ie.style),this._mergeStyle(ce,ne.style)):ue&&(ce=ie.style),ce)if(se){var de=this.style;if(this.style=this.createStyle(ue?{}:de),ue)for(var he=keys(de),fe=0;fe<he.length;fe++){var pe=he[fe];pe in ce&&(ce[pe]=ce[pe],this.style[pe]=de[pe])}for(var ve=keys(ce),fe=0;fe<ve.length;fe++){var pe=ve[fe];this.style[pe]=this.style[pe]}this._transitionState(ae,{style:ce},le,this.getAnimationStyleProps())}else this.useStyle(ce);for(var ge=this.__inHover?PRIMARY_STATES_KEYS_IN_HOVER_LAYER:PRIMARY_STATES_KEYS,fe=0;fe<ge.length;fe++){var pe=ge[fe];ne&&ne[pe]!=null?this[pe]=ne[pe]:ue&&ie[pe]!=null&&(this[pe]=ie[pe])}},te.prototype._mergeStates=function(ae){for(var ne=ee.prototype._mergeStates.call(this,ae),ie,oe=0;oe<ae.length;oe++){var se=ae[oe];se.style&&(ie=ie||{},this._mergeStyle(ie,se.style))}return ie&&(ne.style=ie),ne},te.prototype._mergeStyle=function(ae,ne){return extend$1(ae,ne),ae},te.prototype.getAnimationStyleProps=function(){return DEFAULT_COMMON_ANIMATION_PROPS},te.initDefaultProps=function(){var ae=te.prototype;ae.type="displayable",ae.invisible=!1,ae.z=0,ae.z2=0,ae.zlevel=0,ae.culling=!1,ae.cursor="pointer",ae.rectHover=!1,ae.incremental=!1,ae._rect=null,ae.dirtyRectTolerance=0,ae.__dirty=REDRAW_BIT|STYLE_CHANGED_BIT}(),te}(Element$1),tmpRect=new BoundingRect$1(0,0,0,0),viewRect=new BoundingRect$1(0,0,0,0);function isDisplayableCulled(ee,te,ae){return tmpRect.copy(ee.getBoundingRect()),ee.transform&&tmpRect.applyTransform(ee.transform),viewRect.width=te,viewRect.height=ae,!tmpRect.intersect(viewRect)}const Displayable$1=Displayable;var mathMin$9=Math.min,mathMax$9=Math.max,mathSin$4=Math.sin,mathCos$4=Math.cos,PI2$8=Math.PI*2,start=create$2(),end=create$2(),extremity=create$2();function fromPoints(ee,te,ae){if(ee.length!==0){for(var ne=ee[0],ie=ne[0],oe=ne[0],se=ne[1],le=ne[1],ue=1;ue<ee.length;ue++)ne=ee[ue],ie=mathMin$9(ie,ne[0]),oe=mathMax$9(oe,ne[0]),se=mathMin$9(se,ne[1]),le=mathMax$9(le,ne[1]);te[0]=ie,te[1]=se,ae[0]=oe,ae[1]=le}}function fromLine(ee,te,ae,ne,ie,oe){ie[0]=mathMin$9(ee,ae),ie[1]=mathMin$9(te,ne),oe[0]=mathMax$9(ee,ae),oe[1]=mathMax$9(te,ne)}var xDim=[],yDim=[];function fromCubic(ee,te,ae,ne,ie,oe,se,le,ue,ce){var de=cubicExtrema,he=cubicAt,fe=de(ee,ae,ie,se,xDim);ue[0]=1/0,ue[1]=1/0,ce[0]=-1/0,ce[1]=-1/0;for(var pe=0;pe<fe;pe++){var ve=he(ee,ae,ie,se,xDim[pe]);ue[0]=mathMin$9(ve,ue[0]),ce[0]=mathMax$9(ve,ce[0])}fe=de(te,ne,oe,le,yDim);for(var pe=0;pe<fe;pe++){var ge=he(te,ne,oe,le,yDim[pe]);ue[1]=mathMin$9(ge,ue[1]),ce[1]=mathMax$9(ge,ce[1])}ue[0]=mathMin$9(ee,ue[0]),ce[0]=mathMax$9(ee,ce[0]),ue[0]=mathMin$9(se,ue[0]),ce[0]=mathMax$9(se,ce[0]),ue[1]=mathMin$9(te,ue[1]),ce[1]=mathMax$9(te,ce[1]),ue[1]=mathMin$9(le,ue[1]),ce[1]=mathMax$9(le,ce[1])}function fromQuadratic(ee,te,ae,ne,ie,oe,se,le){var ue=quadraticExtremum,ce=quadraticAt$1,de=mathMax$9(mathMin$9(ue(ee,ae,ie),1),0),he=mathMax$9(mathMin$9(ue(te,ne,oe),1),0),fe=ce(ee,ae,ie,de),pe=ce(te,ne,oe,he);se[0]=mathMin$9(ee,ie,fe),se[1]=mathMin$9(te,oe,pe),le[0]=mathMax$9(ee,ie,fe),le[1]=mathMax$9(te,oe,pe)}function fromArc(ee,te,ae,ne,ie,oe,se,le,ue){var ce=min$1,de=max$1,he=Math.abs(ie-oe);if(he%PI2$8<1e-4&&he>1e-4){le[0]=ee-ae,le[1]=te-ne,ue[0]=ee+ae,ue[1]=te+ne;return}if(start[0]=mathCos$4(ie)*ae+ee,start[1]=mathSin$4(ie)*ne+te,end[0]=mathCos$4(oe)*ae+ee,end[1]=mathSin$4(oe)*ne+te,ce(le,start,end),de(ue,start,end),ie=ie%PI2$8,ie<0&&(ie=ie+PI2$8),oe=oe%PI2$8,oe<0&&(oe=oe+PI2$8),ie>oe&&!se?oe+=PI2$8:ie<oe&&se&&(ie+=PI2$8),se){var fe=oe;oe=ie,ie=fe}for(var pe=0;pe<oe;pe+=Math.PI/2)pe>ie&&(extremity[0]=mathCos$4(pe)*ae+ee,extremity[1]=mathSin$4(pe)*ne+te,ce(le,extremity,le),de(ue,extremity,ue))}var CMD$4={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},tmpOutX=[],tmpOutY=[],min=[],max=[],min2=[],max2=[],mathMin$8=Math.min,mathMax$8=Math.max,mathCos$3=Math.cos,mathSin$3=Math.sin,mathAbs$2=Math.abs,PI$8=Math.PI,PI2$7=PI$8*2,hasTypedArray=typeof Float32Array<"u",tmpAngles=[];function modPI2(ee){var te=Math.round(ee/PI$8*1e8)/1e8;return te%2*PI$8}function normalizeArcAngles(ee,te){var ae=modPI2(ee[0]);ae<0&&(ae+=PI2$7);var ne=ae-ee[0],ie=ee[1];ie+=ne,!te&&ie-ae>=PI2$7?ie=ae+PI2$7:te&&ae-ie>=PI2$7?ie=ae-PI2$7:!te&&ae>ie?ie=ae+(PI2$7-modPI2(ae-ie)):te&&ae<ie&&(ie=ae-(PI2$7-modPI2(ie-ae))),ee[0]=ae,ee[1]=ie}var PathProxy=function(){function ee(te){this.dpr=1,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._len=0,te&&(this._saveData=!1),this._saveData&&(this.data=[])}return ee.prototype.increaseVersion=function(){this._version++},ee.prototype.getVersion=function(){return this._version},ee.prototype.setScale=function(te,ae,ne){ne=ne||0,ne>0&&(this._ux=mathAbs$2(ne/devicePixelRatio/te)||0,this._uy=mathAbs$2(ne/devicePixelRatio/ae)||0)},ee.prototype.setDPR=function(te){this.dpr=te},ee.prototype.setContext=function(te){this._ctx=te},ee.prototype.getContext=function(){return this._ctx},ee.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},ee.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},ee.prototype.moveTo=function(te,ae){return this._drawPendingPt(),this.addData(CMD$4.M,te,ae),this._ctx&&this._ctx.moveTo(te,ae),this._x0=te,this._y0=ae,this._xi=te,this._yi=ae,this},ee.prototype.lineTo=function(te,ae){var ne=mathAbs$2(te-this._xi),ie=mathAbs$2(ae-this._yi),oe=ne>this._ux||ie>this._uy;if(this.addData(CMD$4.L,te,ae),this._ctx&&oe&&this._ctx.lineTo(te,ae),oe)this._xi=te,this._yi=ae,this._pendingPtDist=0;else{var se=ne*ne+ie*ie;se>this._pendingPtDist&&(this._pendingPtX=te,this._pendingPtY=ae,this._pendingPtDist=se)}return this},ee.prototype.bezierCurveTo=function(te,ae,ne,ie,oe,se){return this._drawPendingPt(),this.addData(CMD$4.C,te,ae,ne,ie,oe,se),this._ctx&&this._ctx.bezierCurveTo(te,ae,ne,ie,oe,se),this._xi=oe,this._yi=se,this},ee.prototype.quadraticCurveTo=function(te,ae,ne,ie){return this._drawPendingPt(),this.addData(CMD$4.Q,te,ae,ne,ie),this._ctx&&this._ctx.quadraticCurveTo(te,ae,ne,ie),this._xi=ne,this._yi=ie,this},ee.prototype.arc=function(te,ae,ne,ie,oe,se){this._drawPendingPt(),tmpAngles[0]=ie,tmpAngles[1]=oe,normalizeArcAngles(tmpAngles,se),ie=tmpAngles[0],oe=tmpAngles[1];var le=oe-ie;return this.addData(CMD$4.A,te,ae,ne,ne,ie,le,0,se?0:1),this._ctx&&this._ctx.arc(te,ae,ne,ie,oe,se),this._xi=mathCos$3(oe)*ne+te,this._yi=mathSin$3(oe)*ne+ae,this},ee.prototype.arcTo=function(te,ae,ne,ie,oe){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(te,ae,ne,ie,oe),this},ee.prototype.rect=function(te,ae,ne,ie){return this._drawPendingPt(),this._ctx&&this._ctx.rect(te,ae,ne,ie),this.addData(CMD$4.R,te,ae,ne,ie),this},ee.prototype.closePath=function(){this._drawPendingPt(),this.addData(CMD$4.Z);var te=this._ctx,ae=this._x0,ne=this._y0;return te&&te.closePath(),this._xi=ae,this._yi=ne,this},ee.prototype.fill=function(te){te&&te.fill(),this.toStatic()},ee.prototype.stroke=function(te){te&&te.stroke(),this.toStatic()},ee.prototype.len=function(){return this._len},ee.prototype.setData=function(te){var ae=te.length;!(this.data&&this.data.length===ae)&&hasTypedArray&&(this.data=new Float32Array(ae));for(var ne=0;ne<ae;ne++)this.data[ne]=te[ne];this._len=ae},ee.prototype.appendPath=function(te){te instanceof Array||(te=[te]);for(var ae=te.length,ne=0,ie=this._len,oe=0;oe<ae;oe++)ne+=te[oe].len();hasTypedArray&&this.data instanceof Float32Array&&(this.data=new Float32Array(ie+ne));for(var oe=0;oe<ae;oe++)for(var se=te[oe].data,le=0;le<se.length;le++)this.data[ie++]=se[le];this._len=ie},ee.prototype.addData=function(te,ae,ne,ie,oe,se,le,ue,ce){if(this._saveData){var de=this.data;this._len+arguments.length>de.length&&(this._expandData(),de=this.data);for(var he=0;he<arguments.length;he++)de[this._len++]=arguments[he]}},ee.prototype._drawPendingPt=function(){this._pendingPtDist>0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},ee.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var te=[],ae=0;ae<this._len;ae++)te[ae]=this.data[ae];this.data=te}},ee.prototype.toStatic=function(){if(this._saveData){this._drawPendingPt();var te=this.data;te instanceof Array&&(te.length=this._len,hasTypedArray&&this._len>11&&(this.data=new Float32Array(te)))}},ee.prototype.getBoundingRect=function(){min[0]=min[1]=min2[0]=min2[1]=Number.MAX_VALUE,max[0]=max[1]=max2[0]=max2[1]=-Number.MAX_VALUE;var te=this.data,ae=0,ne=0,ie=0,oe=0,se;for(se=0;se<this._len;){var le=te[se++],ue=se===1;switch(ue&&(ae=te[se],ne=te[se+1],ie=ae,oe=ne),le){case CMD$4.M:ae=ie=te[se++],ne=oe=te[se++],min2[0]=ie,min2[1]=oe,max2[0]=ie,max2[1]=oe;break;case CMD$4.L:fromLine(ae,ne,te[se],te[se+1],min2,max2),ae=te[se++],ne=te[se++];break;case CMD$4.C:fromCubic(ae,ne,te[se++],te[se++],te[se++],te[se++],te[se],te[se+1],min2,max2),ae=te[se++],ne=te[se++];break;case CMD$4.Q:fromQuadratic(ae,ne,te[se++],te[se++],te[se],te[se+1],min2,max2),ae=te[se++],ne=te[se++];break;case CMD$4.A:var ce=te[se++],de=te[se++],he=te[se++],fe=te[se++],pe=te[se++],ve=te[se++]+pe;se+=1;var ge=!te[se++];ue&&(ie=mathCos$3(pe)*he+ce,oe=mathSin$3(pe)*fe+de),fromArc(ce,de,he,fe,pe,ve,ge,min2,max2),ae=mathCos$3(ve)*he+ce,ne=mathSin$3(ve)*fe+de;break;case CMD$4.R:ie=ae=te[se++],oe=ne=te[se++];var me=te[se++],ye=te[se++];fromLine(ie,oe,ie+me,oe+ye,min2,max2);break;case CMD$4.Z:ae=ie,ne=oe;break}min$1(min,min,min2),max$1(max,max,max2)}return se===0&&(min[0]=min[1]=max[0]=max[1]=0),new BoundingRect$1(min[0],min[1],max[0]-min[0],max[1]-min[1])},ee.prototype._calculateLength=function(){var te=this.data,ae=this._len,ne=this._ux,ie=this._uy,oe=0,se=0,le=0,ue=0;this._pathSegLen||(this._pathSegLen=[]);for(var ce=this._pathSegLen,de=0,he=0,fe=0;fe<ae;){var pe=te[fe++],ve=fe===1;ve&&(oe=te[fe],se=te[fe+1],le=oe,ue=se);var ge=-1;switch(pe){case CMD$4.M:oe=le=te[fe++],se=ue=te[fe++];break;case CMD$4.L:{var me=te[fe++],ye=te[fe++],_e=me-oe,be=ye-se;(mathAbs$2(_e)>ne||mathAbs$2(be)>ie||fe===ae-1)&&(ge=Math.sqrt(_e*_e+be*be),oe=me,se=ye);break}case CMD$4.C:{var xe=te[fe++],$e=te[fe++],me=te[fe++],ye=te[fe++],Se=te[fe++],we=te[fe++];ge=cubicLength(oe,se,xe,$e,me,ye,Se,we,10),oe=Se,se=we;break}case CMD$4.Q:{var xe=te[fe++],$e=te[fe++],me=te[fe++],ye=te[fe++];ge=quadraticLength(oe,se,xe,$e,me,ye,10),oe=me,se=ye;break}case CMD$4.A:var Ae=te[fe++],Te=te[fe++],De=te[fe++],Me=te[fe++],Ie=te[fe++],Ce=te[fe++],Ee=Ce+Ie;fe+=1,te[fe++],ve&&(le=mathCos$3(Ie)*De+Ae,ue=mathSin$3(Ie)*Me+Te),ge=mathMax$8(De,Me)*mathMin$8(PI2$7,Math.abs(Ce)),oe=mathCos$3(Ee)*De+Ae,se=mathSin$3(Ee)*Me+Te;break;case CMD$4.R:{le=oe=te[fe++],ue=se=te[fe++];var Re=te[fe++],ke=te[fe++];ge=Re*2+ke*2;break}case CMD$4.Z:{var _e=le-oe,be=ue-se;ge=Math.sqrt(_e*_e+be*be),oe=le,se=ue;break}}ge>=0&&(ce[he++]=ge,de+=ge)}return this._pathLen=de,de},ee.prototype.rebuildPath=function(te,ae){var ne=this.data,ie=this._ux,oe=this._uy,se=this._len,le,ue,ce,de,he,fe,pe=ae<1,ve,ge,me=0,ye=0,_e,be=0,xe,$e;if(!(pe&&(this._pathSegLen||this._calculateLength(),ve=this._pathSegLen,ge=this._pathLen,_e=ae*ge,!_e)))e:for(var Se=0;Se<se;){var we=ne[Se++],Ae=Se===1;switch(Ae&&(ce=ne[Se],de=ne[Se+1],le=ce,ue=de),we!==CMD$4.L&&be>0&&(te.lineTo(xe,$e),be=0),we){case CMD$4.M:le=ce=ne[Se++],ue=de=ne[Se++],te.moveTo(ce,de);break;case CMD$4.L:{he=ne[Se++],fe=ne[Se++];var Te=mathAbs$2(he-ce),De=mathAbs$2(fe-de);if(Te>ie||De>oe){if(pe){var Me=ve[ye++];if(me+Me>_e){var Ie=(_e-me)/Me;te.lineTo(ce*(1-Ie)+he*Ie,de*(1-Ie)+fe*Ie);break e}me+=Me}te.lineTo(he,fe),ce=he,de=fe,be=0}else{var Ce=Te*Te+De*De;Ce>be&&(xe=he,$e=fe,be=Ce)}break}case CMD$4.C:{var Ee=ne[Se++],Re=ne[Se++],ke=ne[Se++],Be=ne[Se++],Ne=ne[Se++],He=ne[Se++];if(pe){var Me=ve[ye++];if(me+Me>_e){var Ie=(_e-me)/Me;cubicSubdivide(ce,Ee,ke,Ne,Ie,tmpOutX),cubicSubdivide(de,Re,Be,He,Ie,tmpOutY),te.bezierCurveTo(tmpOutX[1],tmpOutY[1],tmpOutX[2],tmpOutY[2],tmpOutX[3],tmpOutY[3]);break e}me+=Me}te.bezierCurveTo(Ee,Re,ke,Be,Ne,He),ce=Ne,de=He;break}case CMD$4.Q:{var Ee=ne[Se++],Re=ne[Se++],ke=ne[Se++],Be=ne[Se++];if(pe){var Me=ve[ye++];if(me+Me>_e){var Ie=(_e-me)/Me;quadraticSubdivide(ce,Ee,ke,Ie,tmpOutX),quadraticSubdivide(de,Re,Be,Ie,tmpOutY),te.quadraticCurveTo(tmpOutX[1],tmpOutY[1],tmpOutX[2],tmpOutY[2]);break e}me+=Me}te.quadraticCurveTo(Ee,Re,ke,Be),ce=ke,de=Be;break}case CMD$4.A:var qe=ne[Se++],Oe=ne[Se++],ze=ne[Se++],Ve=ne[Se++],Ge=ne[Se++],We=ne[Se++],Ue=ne[Se++],Ye=!ne[Se++],Ze=ze>Ve?ze:Ve,Xe=mathAbs$2(ze-Ve)>.001,it=Ge+We,at=!1;if(pe){var Me=ve[ye++];me+Me>_e&&(it=Ge+We*(_e-me)/Me,at=!0),me+=Me}if(Xe&&te.ellipse?te.ellipse(qe,Oe,ze,Ve,Ue,Ge,it,Ye):te.arc(qe,Oe,Ze,Ge,it,Ye),at)break e;Ae&&(le=mathCos$3(Ge)*ze+qe,ue=mathSin$3(Ge)*Ve+Oe),ce=mathCos$3(it)*ze+qe,de=mathSin$3(it)*Ve+Oe;break;case CMD$4.R:le=ce=ne[Se],ue=de=ne[Se+1],he=ne[Se++],fe=ne[Se++];var ut=ne[Se++],dt=ne[Se++];if(pe){var Me=ve[ye++];if(me+Me>_e){var pt=_e-me;te.moveTo(he,fe),te.lineTo(he+mathMin$8(pt,ut),fe),pt-=ut,pt>0&&te.lineTo(he+ut,fe+mathMin$8(pt,dt)),pt-=dt,pt>0&&te.lineTo(he+mathMax$8(ut-pt,0),fe+dt),pt-=ut,pt>0&&te.lineTo(he,fe+mathMax$8(dt-pt,0));break e}me+=Me}te.rect(he,fe,ut,dt);break;case CMD$4.Z:if(pe){var Me=ve[ye++];if(me+Me>_e){var Ie=(_e-me)/Me;te.lineTo(ce*(1-Ie)+le*Ie,de*(1-Ie)+ue*Ie);break e}me+=Me}te.closePath(),ce=le,de=ue}}},ee.prototype.clone=function(){var te=new ee,ae=this.data;return te.data=ae.slice?ae.slice():Array.prototype.slice.call(ae),te._len=this._len,te},ee.CMD=CMD$4,ee.initDefaultProps=function(){var te=ee.prototype;te._saveData=!0,te._ux=0,te._uy=0,te._pendingPtDist=0,te._version=0}(),ee}();const PathProxy$1=PathProxy;function containStroke$4(ee,te,ae,ne,ie,oe,se){if(ie===0)return!1;var le=ie,ue=0,ce=ee;if(se>te+le&&se>ne+le||se<te-le&&se<ne-le||oe>ee+le&&oe>ae+le||oe<ee-le&&oe<ae-le)return!1;if(ee!==ae)ue=(te-ne)/(ee-ae),ce=(ee*ne-ae*te)/(ee-ae);else return Math.abs(oe-ee)<=le/2;var de=ue*oe-se+ce,he=de*de/(ue*ue+1);return he<=le/2*le/2}function containStroke$3(ee,te,ae,ne,ie,oe,se,le,ue,ce,de){if(ue===0)return!1;var he=ue;if(de>te+he&&de>ne+he&&de>oe+he&&de>le+he||de<te-he&&de<ne-he&&de<oe-he&&de<le-he||ce>ee+he&&ce>ae+he&&ce>ie+he&&ce>se+he||ce<ee-he&&ce<ae-he&&ce<ie-he&&ce<se-he)return!1;var fe=cubicProjectPoint(ee,te,ae,ne,ie,oe,se,le,ce,de,null);return fe<=he/2}function containStroke$2(ee,te,ae,ne,ie,oe,se,le,ue){if(se===0)return!1;var ce=se;if(ue>te+ce&&ue>ne+ce&&ue>oe+ce||ue<te-ce&&ue<ne-ce&&ue<oe-ce||le>ee+ce&&le>ae+ce&&le>ie+ce||le<ee-ce&&le<ae-ce&&le<ie-ce)return!1;var de=quadraticProjectPoint(ee,te,ae,ne,ie,oe,le,ue,null);return de<=ce/2}var PI2$6=Math.PI*2;function normalizeRadian(ee){return ee%=PI2$6,ee<0&&(ee+=PI2$6),ee}var PI2$5=Math.PI*2;function containStroke$1(ee,te,ae,ne,ie,oe,se,le,ue){if(se===0)return!1;var ce=se;le-=ee,ue-=te;var de=Math.sqrt(le*le+ue*ue);if(de-ce>ae||de+ce<ae)return!1;if(Math.abs(ne-ie)%PI2$5<1e-4)return!0;if(oe){var he=ne;ne=normalizeRadian(ie),ie=normalizeRadian(he)}else ne=normalizeRadian(ne),ie=normalizeRadian(ie);ne>ie&&(ie+=PI2$5);var fe=Math.atan2(ue,le);return fe<0&&(fe+=PI2$5),fe>=ne&&fe<=ie||fe+PI2$5>=ne&&fe+PI2$5<=ie}function windingLine(ee,te,ae,ne,ie,oe){if(oe>te&&oe>ne||oe<te&&oe<ne||ne===te)return 0;var se=(oe-te)/(ne-te),le=ne<te?1:-1;(se===1||se===0)&&(le=ne<te?.5:-.5);var ue=se*(ae-ee)+ee;return ue===ie?1/0:ue>ie?le:0}var CMD$3=PathProxy$1.CMD,PI2$4=Math.PI*2,EPSILON$1=1e-4;function isAroundEqual$1(ee,te){return Math.abs(ee-te)<EPSILON$1}var roots=[-1,-1,-1],extrema=[-1,-1];function swapExtrema(){var ee=extrema[0];extrema[0]=extrema[1],extrema[1]=ee}function windingCubic(ee,te,ae,ne,ie,oe,se,le,ue,ce){if(ce>te&&ce>ne&&ce>oe&&ce>le||ce<te&&ce<ne&&ce<oe&&ce<le)return 0;var de=cubicRootAt(te,ne,oe,le,ce,roots);if(de===0)return 0;for(var he=0,fe=-1,pe=void 0,ve=void 0,ge=0;ge<de;ge++){var me=roots[ge],ye=me===0||me===1?.5:1,_e=cubicAt(ee,ae,ie,se,me);_e<ue||(fe<0&&(fe=cubicExtrema(te,ne,oe,le,extrema),extrema[1]<extrema[0]&&fe>1&&swapExtrema(),pe=cubicAt(te,ne,oe,le,extrema[0]),fe>1&&(ve=cubicAt(te,ne,oe,le,extrema[1]))),fe===2?me<extrema[0]?he+=pe<te?ye:-ye:me<extrema[1]?he+=ve<pe?ye:-ye:he+=le<ve?ye:-ye:me<extrema[0]?he+=pe<te?ye:-ye:he+=le<pe?ye:-ye)}return he}function windingQuadratic(ee,te,ae,ne,ie,oe,se,le){if(le>te&&le>ne&&le>oe||le<te&&le<ne&&le<oe)return 0;var ue=quadraticRootAt(te,ne,oe,le,roots);if(ue===0)return 0;var ce=quadraticExtremum(te,ne,oe);if(ce>=0&&ce<=1){for(var de=0,he=quadraticAt$1(te,ne,oe,ce),fe=0;fe<ue;fe++){var pe=roots[fe]===0||roots[fe]===1?.5:1,ve=quadraticAt$1(ee,ae,ie,roots[fe]);ve<se||(roots[fe]<ce?de+=he<te?pe:-pe:de+=oe<he?pe:-pe)}return de}else{var pe=roots[0]===0||roots[0]===1?.5:1,ve=quadraticAt$1(ee,ae,ie,roots[0]);return ve<se?0:oe<te?pe:-pe}}function windingArc(ee,te,ae,ne,ie,oe,se,le){if(le-=te,le>ae||le<-ae)return 0;var ue=Math.sqrt(ae*ae-le*le);roots[0]=-ue,roots[1]=ue;var ce=Math.abs(ne-ie);if(ce<1e-4)return 0;if(ce>=PI2$4-1e-4){ne=0,ie=PI2$4;var de=oe?1:-1;return se>=roots[0]+ee&&se<=roots[1]+ee?de:0}if(ne>ie){var he=ne;ne=ie,ie=he}ne<0&&(ne+=PI2$4,ie+=PI2$4);for(var fe=0,pe=0;pe<2;pe++){var ve=roots[pe];if(ve+ee>se){var ge=Math.atan2(le,ve),de=oe?1:-1;ge<0&&(ge=PI2$4+ge),(ge>=ne&&ge<=ie||ge+PI2$4>=ne&&ge+PI2$4<=ie)&&(ge>Math.PI/2&&ge<Math.PI*1.5&&(de=-de),fe+=de)}}return fe}function containPath(ee,te,ae,ne,ie){for(var oe=ee.data,se=ee.len(),le=0,ue=0,ce=0,de=0,he=0,fe,pe,ve=0;ve<se;){var ge=oe[ve++],me=ve===1;switch(ge===CMD$3.M&&ve>1&&(ae||(le+=windingLine(ue,ce,de,he,ne,ie))),me&&(ue=oe[ve],ce=oe[ve+1],de=ue,he=ce),ge){case CMD$3.M:de=oe[ve++],he=oe[ve++],ue=de,ce=he;break;case CMD$3.L:if(ae){if(containStroke$4(ue,ce,oe[ve],oe[ve+1],te,ne,ie))return!0}else le+=windingLine(ue,ce,oe[ve],oe[ve+1],ne,ie)||0;ue=oe[ve++],ce=oe[ve++];break;case CMD$3.C:if(ae){if(containStroke$3(ue,ce,oe[ve++],oe[ve++],oe[ve++],oe[ve++],oe[ve],oe[ve+1],te,ne,ie))return!0}else le+=windingCubic(ue,ce,oe[ve++],oe[ve++],oe[ve++],oe[ve++],oe[ve],oe[ve+1],ne,ie)||0;ue=oe[ve++],ce=oe[ve++];break;case CMD$3.Q:if(ae){if(containStroke$2(ue,ce,oe[ve++],oe[ve++],oe[ve],oe[ve+1],te,ne,ie))return!0}else le+=windingQuadratic(ue,ce,oe[ve++],oe[ve++],oe[ve],oe[ve+1],ne,ie)||0;ue=oe[ve++],ce=oe[ve++];break;case CMD$3.A:var ye=oe[ve++],_e=oe[ve++],be=oe[ve++],xe=oe[ve++],$e=oe[ve++],Se=oe[ve++];ve+=1;var we=!!(1-oe[ve++]);fe=Math.cos($e)*be+ye,pe=Math.sin($e)*xe+_e,me?(de=fe,he=pe):le+=windingLine(ue,ce,fe,pe,ne,ie);var Ae=(ne-ye)*xe/be+ye;if(ae){if(containStroke$1(ye,_e,xe,$e,$e+Se,we,te,Ae,ie))return!0}else le+=windingArc(ye,_e,xe,$e,$e+Se,we,Ae,ie);ue=Math.cos($e+Se)*be+ye,ce=Math.sin($e+Se)*xe+_e;break;case CMD$3.R:de=ue=oe[ve++],he=ce=oe[ve++];var Te=oe[ve++],De=oe[ve++];if(fe=de+Te,pe=he+De,ae){if(containStroke$4(de,he,fe,he,te,ne,ie)||containStroke$4(fe,he,fe,pe,te,ne,ie)||containStroke$4(fe,pe,de,pe,te,ne,ie)||containStroke$4(de,pe,de,he,te,ne,ie))return!0}else le+=windingLine(fe,he,fe,pe,ne,ie),le+=windingLine(de,pe,de,he,ne,ie);break;case CMD$3.Z:if(ae){if(containStroke$4(ue,ce,de,he,te,ne,ie))return!0}else le+=windingLine(ue,ce,de,he,ne,ie);ue=de,ce=he;break}}return!ae&&!isAroundEqual$1(ce,he)&&(le+=windingLine(ue,ce,de,he,ne,ie)||0),le!==0}function contain$2(ee,te,ae){return containPath(ee,0,!1,te,ae)}function containStroke(ee,te,ae,ne){return containPath(ee,te,!0,ae,ne)}var DEFAULT_PATH_STYLE=defaults$2({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},DEFAULT_COMMON_STYLE),DEFAULT_PATH_ANIMATION_PROPS={style:defaults$2({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},DEFAULT_COMMON_ANIMATION_PROPS.style)},pathCopyParams=TRANSFORMABLE_PROPS.concat(["invisible","culling","z","z2","zlevel","parent"]),Path=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.update=function(){var ae=this;ee.prototype.update.call(this);var ne=this.style;if(ne.decal){var ie=this._decalEl=this._decalEl||new te;ie.buildPath===te.prototype.buildPath&&(ie.buildPath=function(ue){ae.buildPath(ue,ae.shape)}),ie.silent=!0;var oe=ie.style;for(var se in ne)oe[se]!==ne[se]&&(oe[se]=ne[se]);oe.fill=ne.fill?ne.decal:null,oe.decal=null,oe.shadowColor=null,ne.strokeFirst&&(oe.stroke=null);for(var le=0;le<pathCopyParams.length;++le)ie[pathCopyParams[le]]=this[pathCopyParams[le]];ie.__dirty|=REDRAW_BIT}else this._decalEl&&(this._decalEl=null)},te.prototype.getDecalElement=function(){return this._decalEl},te.prototype._init=function(ae){var ne=keys(ae);this.shape=this.getDefaultShape();var ie=this.getDefaultStyle();ie&&this.useStyle(ie);for(var oe=0;oe<ne.length;oe++){var se=ne[oe],le=ae[se];se==="style"?this.style?extend$1(this.style,le):this.useStyle(le):se==="shape"?extend$1(this.shape,le):ee.prototype.attrKV.call(this,se,le)}this.style||this.useStyle({})},te.prototype.getDefaultStyle=function(){return null},te.prototype.getDefaultShape=function(){return{}},te.prototype.canBeInsideText=function(){return this.hasFill()},te.prototype.getInsideTextFill=function(){var ae=this.style.fill;if(ae!=="none"){if(isString$1(ae)){var ne=lum(ae,0);return ne>.5?DARK_LABEL_COLOR:ne>.2?LIGHTER_LABEL_COLOR:LIGHT_LABEL_COLOR}else if(ae)return LIGHT_LABEL_COLOR}return DARK_LABEL_COLOR},te.prototype.getInsideTextStroke=function(ae){var ne=this.style.fill;if(isString$1(ne)){var ie=this.__zr,oe=!!(ie&&ie.isDarkMode()),se=lum(ae,0)<DARK_MODE_THRESHOLD;if(oe===se)return ne}},te.prototype.buildPath=function(ae,ne,ie){},te.prototype.pathUpdated=function(){this.__dirty&=~SHAPE_CHANGED_BIT},te.prototype.getUpdatedPathProxy=function(ae){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,ae),this.path},te.prototype.createPathProxy=function(){this.path=new PathProxy$1(!1)},te.prototype.hasStroke=function(){var ae=this.style,ne=ae.stroke;return!(ne==null||ne==="none"||!(ae.lineWidth>0))},te.prototype.hasFill=function(){var ae=this.style,ne=ae.fill;return ne!=null&&ne!=="none"},te.prototype.getBoundingRect=function(){var ae=this._rect,ne=this.style,ie=!ae;if(ie){var oe=!1;this.path||(oe=!0,this.createPathProxy());var se=this.path;(oe||this.__dirty&SHAPE_CHANGED_BIT)&&(se.beginPath(),this.buildPath(se,this.shape,!1),this.pathUpdated()),ae=se.getBoundingRect()}if(this._rect=ae,this.hasStroke()&&this.path&&this.path.len()>0){var le=this._rectStroke||(this._rectStroke=ae.clone());if(this.__dirty||ie){le.copy(ae);var ue=ne.strokeNoScale?this.getLineScale():1,ce=ne.lineWidth;if(!this.hasFill()){var de=this.strokeContainThreshold;ce=Math.max(ce,de??4)}ue>1e-10&&(le.width+=ce/ue,le.height+=ce/ue,le.x-=ce/ue/2,le.y-=ce/ue/2)}return le}return ae},te.prototype.contain=function(ae,ne){var ie=this.transformCoordToLocal(ae,ne),oe=this.getBoundingRect(),se=this.style;if(ae=ie[0],ne=ie[1],oe.contain(ae,ne)){var le=this.path;if(this.hasStroke()){var ue=se.lineWidth,ce=se.strokeNoScale?this.getLineScale():1;if(ce>1e-10&&(this.hasFill()||(ue=Math.max(ue,this.strokeContainThreshold)),containStroke(le,ue/ce,ae,ne)))return!0}if(this.hasFill())return contain$2(le,ae,ne)}return!1},te.prototype.dirtyShape=function(){this.__dirty|=SHAPE_CHANGED_BIT,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},te.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},te.prototype.animateShape=function(ae){return this.animate("shape",ae)},te.prototype.updateDuringAnimation=function(ae){ae==="style"?this.dirtyStyle():ae==="shape"?this.dirtyShape():this.markRedraw()},te.prototype.attrKV=function(ae,ne){ae==="shape"?this.setShape(ne):ee.prototype.attrKV.call(this,ae,ne)},te.prototype.setShape=function(ae,ne){var ie=this.shape;return ie||(ie=this.shape={}),typeof ae=="string"?ie[ae]=ne:extend$1(ie,ae),this.dirtyShape(),this},te.prototype.shapeChanged=function(){return!!(this.__dirty&SHAPE_CHANGED_BIT)},te.prototype.createStyle=function(ae){return createObject(DEFAULT_PATH_STYLE,ae)},te.prototype._innerSaveToNormal=function(ae){ee.prototype._innerSaveToNormal.call(this,ae);var ne=this._normalState;ae.shape&&!ne.shape&&(ne.shape=extend$1({},this.shape))},te.prototype._applyStateObj=function(ae,ne,ie,oe,se,le){ee.prototype._applyStateObj.call(this,ae,ne,ie,oe,se,le);var ue=!(ne&&oe),ce;if(ne&&ne.shape?se?oe?ce=ne.shape:(ce=extend$1({},ie.shape),extend$1(ce,ne.shape)):(ce=extend$1({},oe?this.shape:ie.shape),extend$1(ce,ne.shape)):ue&&(ce=ie.shape),ce)if(se){this.shape=extend$1({},this.shape);for(var de={},he=keys(ce),fe=0;fe<he.length;fe++){var pe=he[fe];typeof ce[pe]=="object"?this.shape[pe]=ce[pe]:de[pe]=ce[pe]}this._transitionState(ae,{shape:de},le)}else this.shape=ce,this.dirtyShape()},te.prototype._mergeStates=function(ae){for(var ne=ee.prototype._mergeStates.call(this,ae),ie,oe=0;oe<ae.length;oe++){var se=ae[oe];se.shape&&(ie=ie||{},this._mergeStyle(ie,se.shape))}return ie&&(ne.shape=ie),ne},te.prototype.getAnimationStyleProps=function(){return DEFAULT_PATH_ANIMATION_PROPS},te.prototype.isZeroArea=function(){return!1},te.extend=function(ae){var ne=function(oe){__extends(se,oe);function se(le){var ue=oe.call(this,le)||this;return ae.init&&ae.init.call(ue,le),ue}return se.prototype.getDefaultStyle=function(){return clone$4(ae.style)},se.prototype.getDefaultShape=function(){return clone$4(ae.shape)},se}(te);for(var ie in ae)typeof ae[ie]=="function"&&(ne.prototype[ie]=ae[ie]);return ne},te.initDefaultProps=function(){var ae=te.prototype;ae.type="path",ae.strokeContainThreshold=5,ae.segmentIgnoreThreshold=0,ae.subPixelOptimize=!1,ae.autoBatch=!1,ae.__dirty=REDRAW_BIT|STYLE_CHANGED_BIT|SHAPE_CHANGED_BIT}(),te}(Displayable$1);const Path$1=Path;var DEFAULT_TSPAN_STYLE=defaults$2({strokeFirst:!0,font:DEFAULT_FONT,x:0,y:0,textAlign:"left",textBaseline:"top",miterLimit:2},DEFAULT_PATH_STYLE),TSpan=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.hasStroke=function(){var ae=this.style,ne=ae.stroke;return ne!=null&&ne!=="none"&&ae.lineWidth>0},te.prototype.hasFill=function(){var ae=this.style,ne=ae.fill;return ne!=null&&ne!=="none"},te.prototype.createStyle=function(ae){return createObject(DEFAULT_TSPAN_STYLE,ae)},te.prototype.setBoundingRect=function(ae){this._rect=ae},te.prototype.getBoundingRect=function(){var ae=this.style;if(!this._rect){var ne=ae.text;ne!=null?ne+="":ne="";var ie=getBoundingRect(ne,ae.font,ae.textAlign,ae.textBaseline);if(ie.x+=ae.x||0,ie.y+=ae.y||0,this.hasStroke()){var oe=ae.lineWidth;ie.x-=oe/2,ie.y-=oe/2,ie.width+=oe,ie.height+=oe}this._rect=ie}return this._rect},te.initDefaultProps=function(){var ae=te.prototype;ae.dirtyRectTolerance=10}(),te}(Displayable$1);TSpan.prototype.type="tspan";const TSpan$1=TSpan;var DEFAULT_IMAGE_STYLE=defaults$2({x:0,y:0},DEFAULT_COMMON_STYLE),DEFAULT_IMAGE_ANIMATION_PROPS={style:defaults$2({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},DEFAULT_COMMON_ANIMATION_PROPS.style)};function isImageLike$1(ee){return!!(ee&&typeof ee!="string"&&ee.width&&ee.height)}var ZRImage=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.createStyle=function(ae){return createObject(DEFAULT_IMAGE_STYLE,ae)},te.prototype._getSize=function(ae){var ne=this.style,ie=ne[ae];if(ie!=null)return ie;var oe=isImageLike$1(ne.image)?ne.image:this.__image;if(!oe)return 0;var se=ae==="width"?"height":"width",le=ne[se];return le==null?oe[ae]:oe[ae]/oe[se]*le},te.prototype.getWidth=function(){return this._getSize("width")},te.prototype.getHeight=function(){return this._getSize("height")},te.prototype.getAnimationStyleProps=function(){return DEFAULT_IMAGE_ANIMATION_PROPS},te.prototype.getBoundingRect=function(){var ae=this.style;return this._rect||(this._rect=new BoundingRect$1(ae.x||0,ae.y||0,this.getWidth(),this.getHeight())),this._rect},te}(Displayable$1);ZRImage.prototype.type="image";const ZRImage$1=ZRImage;function buildPath$2(ee,te){var ae=te.x,ne=te.y,ie=te.width,oe=te.height,se=te.r,le,ue,ce,de;ie<0&&(ae=ae+ie,ie=-ie),oe<0&&(ne=ne+oe,oe=-oe),typeof se=="number"?le=ue=ce=de=se:se instanceof Array?se.length===1?le=ue=ce=de=se[0]:se.length===2?(le=ce=se[0],ue=de=se[1]):se.length===3?(le=se[0],ue=de=se[1],ce=se[2]):(le=se[0],ue=se[1],ce=se[2],de=se[3]):le=ue=ce=de=0;var he;le+ue>ie&&(he=le+ue,le*=ie/he,ue*=ie/he),ce+de>ie&&(he=ce+de,ce*=ie/he,de*=ie/he),ue+ce>oe&&(he=ue+ce,ue*=oe/he,ce*=oe/he),le+de>oe&&(he=le+de,le*=oe/he,de*=oe/he),ee.moveTo(ae+le,ne),ee.lineTo(ae+ie-ue,ne),ue!==0&&ee.arc(ae+ie-ue,ne+ue,ue,-Math.PI/2,0),ee.lineTo(ae+ie,ne+oe-ce),ce!==0&&ee.arc(ae+ie-ce,ne+oe-ce,ce,0,Math.PI/2),ee.lineTo(ae+de,ne+oe),de!==0&&ee.arc(ae+de,ne+oe-de,de,Math.PI/2,Math.PI),ee.lineTo(ae,ne+le),le!==0&&ee.arc(ae+le,ne+le,le,Math.PI,Math.PI*1.5)}var round$2=Math.round;function subPixelOptimizeLine$1(ee,te,ae){if(te){var ne=te.x1,ie=te.x2,oe=te.y1,se=te.y2;ee.x1=ne,ee.x2=ie,ee.y1=oe,ee.y2=se;var le=ae&&ae.lineWidth;return le&&(round$2(ne*2)===round$2(ie*2)&&(ee.x1=ee.x2=subPixelOptimize$1(ne,le,!0)),round$2(oe*2)===round$2(se*2)&&(ee.y1=ee.y2=subPixelOptimize$1(oe,le,!0))),ee}}function subPixelOptimizeRect$1(ee,te,ae){if(te){var ne=te.x,ie=te.y,oe=te.width,se=te.height;ee.x=ne,ee.y=ie,ee.width=oe,ee.height=se;var le=ae&&ae.lineWidth;return le&&(ee.x=subPixelOptimize$1(ne,le,!0),ee.y=subPixelOptimize$1(ie,le,!0),ee.width=Math.max(subPixelOptimize$1(ne+oe,le,!1)-ee.x,oe===0?0:1),ee.height=Math.max(subPixelOptimize$1(ie+se,le,!1)-ee.y,se===0?0:1)),ee}}function subPixelOptimize$1(ee,te,ae){if(!te)return ee;var ne=round$2(ee*2);return(ne+round$2(te))%2===0?ne/2:(ne+(ae?1:-1))/2}var RectShape=function(){function ee(){this.x=0,this.y=0,this.width=0,this.height=0}return ee}(),subPixelOptimizeOutputShape$1={},Rect$2=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new RectShape},te.prototype.buildPath=function(ae,ne){var ie,oe,se,le;if(this.subPixelOptimize){var ue=subPixelOptimizeRect$1(subPixelOptimizeOutputShape$1,ne,this.style);ie=ue.x,oe=ue.y,se=ue.width,le=ue.height,ue.r=ne.r,ne=ue}else ie=ne.x,oe=ne.y,se=ne.width,le=ne.height;ne.r?buildPath$2(ae,ne):ae.rect(ie,oe,se,le)},te.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},te}(Path$1);Rect$2.prototype.type="rect";const Rect$3=Rect$2;var DEFAULT_RICH_TEXT_COLOR={fill:"#000"},DEFAULT_STROKE_LINE_WIDTH=2,DEFAULT_TEXT_ANIMATION_PROPS={style:defaults$2({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},DEFAULT_COMMON_ANIMATION_PROPS.style)},ZRText=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this)||this;return ne.type="text",ne._children=[],ne._defaultStyle=DEFAULT_RICH_TEXT_COLOR,ne.attr(ae),ne}return te.prototype.childrenRef=function(){return this._children},te.prototype.update=function(){ee.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var ae=0;ae<this._children.length;ae++){var ne=this._children[ae];ne.zlevel=this.zlevel,ne.z=this.z,ne.z2=this.z2,ne.culling=this.culling,ne.cursor=this.cursor,ne.invisible=this.invisible}},te.prototype.updateTransform=function(){var ae=this.innerTransformable;ae?(ae.updateTransform(),ae.transform&&(this.transform=ae.transform)):ee.prototype.updateTransform.call(this)},te.prototype.getLocalTransform=function(ae){var ne=this.innerTransformable;return ne?ne.getLocalTransform(ae):ee.prototype.getLocalTransform.call(this,ae)},te.prototype.getComputedTransform=function(){return this.__hostTarget&&(this.__hostTarget.getComputedTransform(),this.__hostTarget.updateInnerText(!0)),ee.prototype.getComputedTransform.call(this)},te.prototype._updateSubTexts=function(){this._childCursor=0,normalizeTextStyle(this.style),this.style.rich?this._updateRichTexts():this._updatePlainTexts(),this._children.length=this._childCursor,this.styleUpdated()},te.prototype.addSelfToZr=function(ae){ee.prototype.addSelfToZr.call(this,ae);for(var ne=0;ne<this._children.length;ne++)this._children[ne].__zr=ae},te.prototype.removeSelfFromZr=function(ae){ee.prototype.removeSelfFromZr.call(this,ae);for(var ne=0;ne<this._children.length;ne++)this._children[ne].__zr=null},te.prototype.getBoundingRect=function(){if(this.styleChanged()&&this._updateSubTexts(),!this._rect){for(var ae=new BoundingRect$1(0,0,0,0),ne=this._children,ie=[],oe=null,se=0;se<ne.length;se++){var le=ne[se],ue=le.getBoundingRect(),ce=le.getLocalTransform(ie);ce?(ae.copy(ue),ae.applyTransform(ce),oe=oe||ae.clone(),oe.union(ae)):(oe=oe||ue.clone(),oe.union(ue))}this._rect=oe||ae}return this._rect},te.prototype.setDefaultTextStyle=function(ae){this._defaultStyle=ae||DEFAULT_RICH_TEXT_COLOR},te.prototype.setTextContent=function(ae){},te.prototype._mergeStyle=function(ae,ne){if(!ne)return ae;var ie=ne.rich,oe=ae.rich||ie&&{};return extend$1(ae,ne),ie&&oe?(this._mergeRich(oe,ie),ae.rich=oe):oe&&(ae.rich=oe),ae},te.prototype._mergeRich=function(ae,ne){for(var ie=keys(ne),oe=0;oe<ie.length;oe++){var se=ie[oe];ae[se]=ae[se]||{},extend$1(ae[se],ne[se])}},te.prototype.getAnimationStyleProps=function(){return DEFAULT_TEXT_ANIMATION_PROPS},te.prototype._getOrCreateChild=function(ae){var ne=this._children[this._childCursor];return(!ne||!(ne instanceof ae))&&(ne=new ae),this._children[this._childCursor++]=ne,ne.__zr=this.__zr,ne.parent=this,ne},te.prototype._updatePlainTexts=function(){var ae=this.style,ne=ae.font||DEFAULT_FONT,ie=ae.padding,oe=getStyleText(ae),se=parsePlainText(oe,ae),le=needDrawBackground(ae),ue=!!ae.backgroundColor,ce=se.outerHeight,de=se.outerWidth,he=se.contentWidth,fe=se.lines,pe=se.lineHeight,ve=this._defaultStyle,ge=ae.x||0,me=ae.y||0,ye=ae.align||ve.align||"left",_e=ae.verticalAlign||ve.verticalAlign||"top",be=ge,xe=adjustTextY(me,se.contentHeight,_e);if(le||ie){var $e=adjustTextX(ge,de,ye),Se=adjustTextY(me,ce,_e);le&&this._renderBackground(ae,ae,$e,Se,de,ce)}xe+=pe/2,ie&&(be=getTextXForPadding(ge,ye,ie),_e==="top"?xe+=ie[0]:_e==="bottom"&&(xe-=ie[2]));for(var we=0,Ae=!1,Te=getFill("fill"in ae?ae.fill:(Ae=!0,ve.fill)),De=getStroke("stroke"in ae?ae.stroke:!ue&&(!ve.autoStroke||Ae)?(we=DEFAULT_STROKE_LINE_WIDTH,ve.stroke):null),Me=ae.textShadowBlur>0,Ie=ae.width!=null&&(ae.overflow==="truncate"||ae.overflow==="break"||ae.overflow==="breakAll"),Ce=se.calculatedLineHeight,Ee=0;Ee<fe.length;Ee++){var Re=this._getOrCreateChild(TSpan$1),ke=Re.createStyle();Re.useStyle(ke),ke.text=fe[Ee],ke.x=be,ke.y=xe,ye&&(ke.textAlign=ye),ke.textBaseline="middle",ke.opacity=ae.opacity,ke.strokeFirst=!0,Me&&(ke.shadowBlur=ae.textShadowBlur||0,ke.shadowColor=ae.textShadowColor||"transparent",ke.shadowOffsetX=ae.textShadowOffsetX||0,ke.shadowOffsetY=ae.textShadowOffsetY||0),ke.stroke=De,ke.fill=Te,De&&(ke.lineWidth=ae.lineWidth||we,ke.lineDash=ae.lineDash,ke.lineDashOffset=ae.lineDashOffset||0),ke.font=ne,setSeparateFont(ke,ae),xe+=pe,Ie&&Re.setBoundingRect(new BoundingRect$1(adjustTextX(ke.x,ae.width,ke.textAlign),adjustTextY(ke.y,Ce,ke.textBaseline),he,Ce))}},te.prototype._updateRichTexts=function(){var ae=this.style,ne=getStyleText(ae),ie=parseRichText(ne,ae),oe=ie.width,se=ie.outerWidth,le=ie.outerHeight,ue=ae.padding,ce=ae.x||0,de=ae.y||0,he=this._defaultStyle,fe=ae.align||he.align,pe=ae.verticalAlign||he.verticalAlign,ve=adjustTextX(ce,se,fe),ge=adjustTextY(de,le,pe),me=ve,ye=ge;ue&&(me+=ue[3],ye+=ue[0]);var _e=me+oe;needDrawBackground(ae)&&this._renderBackground(ae,ae,ve,ge,se,le);for(var be=!!ae.backgroundColor,xe=0;xe<ie.lines.length;xe++){for(var $e=ie.lines[xe],Se=$e.tokens,we=Se.length,Ae=$e.lineHeight,Te=$e.width,De=0,Me=me,Ie=_e,Ce=we-1,Ee=void 0;De<we&&(Ee=Se[De],!Ee.align||Ee.align==="left");)this._placeToken(Ee,ae,Ae,ye,Me,"left",be),Te-=Ee.width,Me+=Ee.width,De++;for(;Ce>=0&&(Ee=Se[Ce],Ee.align==="right");)this._placeToken(Ee,ae,Ae,ye,Ie,"right",be),Te-=Ee.width,Ie-=Ee.width,Ce--;for(Me+=(oe-(Me-me)-(_e-Ie)-Te)/2;De<=Ce;)Ee=Se[De],this._placeToken(Ee,ae,Ae,ye,Me+Ee.width/2,"center",be),Me+=Ee.width,De++;ye+=Ae}},te.prototype._placeToken=function(ae,ne,ie,oe,se,le,ue){var ce=ne.rich[ae.styleName]||{};ce.text=ae.text;var de=ae.verticalAlign,he=oe+ie/2;de==="top"?he=oe+ae.height/2:de==="bottom"&&(he=oe+ie-ae.height/2);var fe=!ae.isLineHolder&&needDrawBackground(ce);fe&&this._renderBackground(ce,ne,le==="right"?se-ae.width:le==="center"?se-ae.width/2:se,he-ae.height/2,ae.width,ae.height);var pe=!!ce.backgroundColor,ve=ae.textPadding;ve&&(se=getTextXForPadding(se,le,ve),he-=ae.height/2-ve[0]-ae.innerHeight/2);var ge=this._getOrCreateChild(TSpan$1),me=ge.createStyle();ge.useStyle(me);var ye=this._defaultStyle,_e=!1,be=0,xe=getFill("fill"in ce?ce.fill:"fill"in ne?ne.fill:(_e=!0,ye.fill)),$e=getStroke("stroke"in ce?ce.stroke:"stroke"in ne?ne.stroke:!pe&&!ue&&(!ye.autoStroke||_e)?(be=DEFAULT_STROKE_LINE_WIDTH,ye.stroke):null),Se=ce.textShadowBlur>0||ne.textShadowBlur>0;me.text=ae.text,me.x=se,me.y=he,Se&&(me.shadowBlur=ce.textShadowBlur||ne.textShadowBlur||0,me.shadowColor=ce.textShadowColor||ne.textShadowColor||"transparent",me.shadowOffsetX=ce.textShadowOffsetX||ne.textShadowOffsetX||0,me.shadowOffsetY=ce.textShadowOffsetY||ne.textShadowOffsetY||0),me.textAlign=le,me.textBaseline="middle",me.font=ae.font||DEFAULT_FONT,me.opacity=retrieve3(ce.opacity,ne.opacity,1),setSeparateFont(me,ce),$e&&(me.lineWidth=retrieve3(ce.lineWidth,ne.lineWidth,be),me.lineDash=retrieve2(ce.lineDash,ne.lineDash),me.lineDashOffset=ne.lineDashOffset||0,me.stroke=$e),xe&&(me.fill=xe);var we=ae.contentWidth,Ae=ae.contentHeight;ge.setBoundingRect(new BoundingRect$1(adjustTextX(me.x,we,me.textAlign),adjustTextY(me.y,Ae,me.textBaseline),we,Ae))},te.prototype._renderBackground=function(ae,ne,ie,oe,se,le){var ue=ae.backgroundColor,ce=ae.borderWidth,de=ae.borderColor,he=ue&&ue.image,fe=ue&&!he,pe=ae.borderRadius,ve=this,ge,me;if(fe||ae.lineHeight||ce&&de){ge=this._getOrCreateChild(Rect$3),ge.useStyle(ge.createStyle()),ge.style.fill=null;var ye=ge.shape;ye.x=ie,ye.y=oe,ye.width=se,ye.height=le,ye.r=pe,ge.dirtyShape()}if(fe){var _e=ge.style;_e.fill=ue||null,_e.fillOpacity=retrieve2(ae.fillOpacity,1)}else if(he){me=this._getOrCreateChild(ZRImage$1),me.onload=function(){ve.dirtyStyle()};var be=me.style;be.image=ue.image,be.x=ie,be.y=oe,be.width=se,be.height=le}if(ce&&de){var _e=ge.style;_e.lineWidth=ce,_e.stroke=de,_e.strokeOpacity=retrieve2(ae.strokeOpacity,1),_e.lineDash=ae.borderDash,_e.lineDashOffset=ae.borderDashOffset||0,ge.strokeContainThreshold=0,ge.hasFill()&&ge.hasStroke()&&(_e.strokeFirst=!0,_e.lineWidth*=2)}var xe=(ge||me).style;xe.shadowBlur=ae.shadowBlur||0,xe.shadowColor=ae.shadowColor||"transparent",xe.shadowOffsetX=ae.shadowOffsetX||0,xe.shadowOffsetY=ae.shadowOffsetY||0,xe.opacity=retrieve3(ae.opacity,ne.opacity,1)},te.makeFont=function(ae){var ne="";return hasSeparateFont(ae)&&(ne=[ae.fontStyle,ae.fontWeight,parseFontSize(ae.fontSize),ae.fontFamily||"sans-serif"].join(" ")),ne&&trim$2(ne)||ae.textFont||ae.font},te}(Displayable$1),VALID_TEXT_ALIGN={left:!0,right:1,center:1},VALID_TEXT_VERTICAL_ALIGN={top:1,bottom:1,middle:1},FONT_PARTS=["fontStyle","fontWeight","fontSize","fontFamily"];function parseFontSize(ee){return typeof ee=="string"&&(ee.indexOf("px")!==-1||ee.indexOf("rem")!==-1||ee.indexOf("em")!==-1)?ee:isNaN(+ee)?DEFAULT_FONT_SIZE+"px":ee+"px"}function setSeparateFont(ee,te){for(var ae=0;ae<FONT_PARTS.length;ae++){var ne=FONT_PARTS[ae],ie=te[ne];ie!=null&&(ee[ne]=ie)}}function hasSeparateFont(ee){return ee.fontSize!=null||ee.fontFamily||ee.fontWeight}function normalizeTextStyle(ee){return normalizeStyle(ee),each$f(ee.rich,normalizeStyle),ee}function normalizeStyle(ee){if(ee){ee.font=ZRText.makeFont(ee);var te=ee.align;te==="middle"&&(te="center"),ee.align=te==null||VALID_TEXT_ALIGN[te]?te:"left";var ae=ee.verticalAlign;ae==="center"&&(ae="middle"),ee.verticalAlign=ae==null||VALID_TEXT_VERTICAL_ALIGN[ae]?ae:"top";var ne=ee.padding;ne&&(ee.padding=normalizeCssArray$1(ee.padding))}}function getStroke(ee,te){return ee==null||te<=0||ee==="transparent"||ee==="none"?null:ee.image||ee.colorStops?"#000":ee}function getFill(ee){return ee==null||ee==="none"?null:ee.image||ee.colorStops?"#000":ee}function getTextXForPadding(ee,te,ae){return te==="right"?ee-ae[1]:te==="center"?ee+ae[3]/2-ae[1]/2:ee+ae[3]}function getStyleText(ee){var te=ee.text;return te!=null&&(te+=""),te}function needDrawBackground(ee){return!!(ee.backgroundColor||ee.lineHeight||ee.borderWidth&&ee.borderColor)}const ZRText$1=ZRText;var getECData=makeInner(),setCommonECData=function(ee,te,ae,ne){if(ne){var ie=getECData(ne);ie.dataIndex=ae,ie.dataType=te,ie.seriesIndex=ee,ne.type==="group"&&ne.traverse(function(oe){var se=getECData(oe);se.seriesIndex=ee,se.dataIndex=ae,se.dataType=te})}},_highlightNextDigit=1,_highlightKeyMap={},getSavedStates=makeInner(),getComponentStates=makeInner(),HOVER_STATE_NORMAL=0,HOVER_STATE_BLUR=1,HOVER_STATE_EMPHASIS=2,SPECIAL_STATES=["emphasis","blur","select"],DISPLAY_STATES=["normal","emphasis","blur","select"],Z2_EMPHASIS_LIFT=10,Z2_SELECT_LIFT=9,HIGHLIGHT_ACTION_TYPE="highlight",DOWNPLAY_ACTION_TYPE="downplay",SELECT_ACTION_TYPE="select",UNSELECT_ACTION_TYPE="unselect",TOGGLE_SELECT_ACTION_TYPE="toggleSelect";function hasFillOrStroke(ee){return ee!=null&&ee!=="none"}var liftedColorCache=new LRU$1(100);function liftColor(ee){if(isString$1(ee)){var te=liftedColorCache.get(ee);return te||(te=lift(ee,-.1),liftedColorCache.put(ee,te)),te}else if(isGradientObject(ee)){var ae=extend$1({},ee);return ae.colorStops=map$1(ee.colorStops,function(ne){return{offset:ne.offset,color:lift(ne.color,-.1)}}),ae}return ee}function doChangeHoverState(ee,te,ae){ee.onHoverStateChange&&(ee.hoverState||0)!==ae&&ee.onHoverStateChange(te),ee.hoverState=ae}function singleEnterEmphasis(ee){doChangeHoverState(ee,"emphasis",HOVER_STATE_EMPHASIS)}function singleLeaveEmphasis(ee){ee.hoverState===HOVER_STATE_EMPHASIS&&doChangeHoverState(ee,"normal",HOVER_STATE_NORMAL)}function singleEnterBlur(ee){doChangeHoverState(ee,"blur",HOVER_STATE_BLUR)}function singleLeaveBlur(ee){ee.hoverState===HOVER_STATE_BLUR&&doChangeHoverState(ee,"normal",HOVER_STATE_NORMAL)}function singleEnterSelect(ee){ee.selected=!0}function singleLeaveSelect(ee){ee.selected=!1}function updateElementState(ee,te,ae){te(ee,ae)}function traverseUpdateState(ee,te,ae){updateElementState(ee,te,ae),ee.isGroup&&ee.traverse(function(ne){updateElementState(ne,te,ae)})}function setStatesFlag(ee,te){switch(te){case"emphasis":ee.hoverState=HOVER_STATE_EMPHASIS;break;case"normal":ee.hoverState=HOVER_STATE_NORMAL;break;case"blur":ee.hoverState=HOVER_STATE_BLUR;break;case"select":ee.selected=!0}}function getFromStateStyle(ee,te,ae,ne){for(var ie=ee.style,oe={},se=0;se<te.length;se++){var le=te[se],ue=ie[le];oe[le]=ue??(ne&&ne[le])}for(var se=0;se<ee.animators.length;se++){var ce=ee.animators[se];ce.__fromStateTransition&&ce.__fromStateTransition.indexOf(ae)<0&&ce.targetName==="style"&&ce.saveTo(oe,te)}return oe}function createEmphasisDefaultState(ee,te,ae,ne){var ie=ae&&indexOf(ae,"select")>=0,oe=!1;if(ee instanceof Path$1){var se=getSavedStates(ee),le=ie&&se.selectFill||se.normalFill,ue=ie&&se.selectStroke||se.normalStroke;if(hasFillOrStroke(le)||hasFillOrStroke(ue)){ne=ne||{};var ce=ne.style||{};ce.fill==="inherit"?(oe=!0,ne=extend$1({},ne),ce=extend$1({},ce),ce.fill=le):!hasFillOrStroke(ce.fill)&&hasFillOrStroke(le)?(oe=!0,ne=extend$1({},ne),ce=extend$1({},ce),ce.fill=liftColor(le)):!hasFillOrStroke(ce.stroke)&&hasFillOrStroke(ue)&&(oe||(ne=extend$1({},ne),ce=extend$1({},ce)),ce.stroke=liftColor(ue)),ne.style=ce}}if(ne&&ne.z2==null){oe||(ne=extend$1({},ne));var de=ee.z2EmphasisLift;ne.z2=ee.z2+(de??Z2_EMPHASIS_LIFT)}return ne}function createSelectDefaultState(ee,te,ae){if(ae&&ae.z2==null){ae=extend$1({},ae);var ne=ee.z2SelectLift;ae.z2=ee.z2+(ne??Z2_SELECT_LIFT)}return ae}function createBlurDefaultState(ee,te,ae){var ne=indexOf(ee.currentStates,te)>=0,ie=ee.style.opacity,oe=ne?null:getFromStateStyle(ee,["opacity"],te,{opacity:1});ae=ae||{};var se=ae.style||{};return se.opacity==null&&(ae=extend$1({},ae),se=extend$1({opacity:ne?ie:oe.opacity*.1},se),ae.style=se),ae}function elementStateProxy(ee,te){var ae=this.states[ee];if(this.style){if(ee==="emphasis")return createEmphasisDefaultState(this,ee,te,ae);if(ee==="blur")return createBlurDefaultState(this,ee,ae);if(ee==="select")return createSelectDefaultState(this,ee,ae)}return ae}function setDefaultStateProxy(ee){ee.stateProxy=elementStateProxy;var te=ee.getTextContent(),ae=ee.getTextGuideLine();te&&(te.stateProxy=elementStateProxy),ae&&(ae.stateProxy=elementStateProxy)}function enterEmphasisWhenMouseOver(ee,te){!shouldSilent(ee,te)&&!ee.__highByOuter&&traverseUpdateState(ee,singleEnterEmphasis)}function leaveEmphasisWhenMouseOut(ee,te){!shouldSilent(ee,te)&&!ee.__highByOuter&&traverseUpdateState(ee,singleLeaveEmphasis)}function enterEmphasis(ee,te){ee.__highByOuter|=1<<(te||0),traverseUpdateState(ee,singleEnterEmphasis)}function leaveEmphasis(ee,te){!(ee.__highByOuter&=~(1<<(te||0)))&&traverseUpdateState(ee,singleLeaveEmphasis)}function enterBlur(ee){traverseUpdateState(ee,singleEnterBlur)}function leaveBlur(ee){traverseUpdateState(ee,singleLeaveBlur)}function enterSelect(ee){traverseUpdateState(ee,singleEnterSelect)}function leaveSelect(ee){traverseUpdateState(ee,singleLeaveSelect)}function shouldSilent(ee,te){return ee.__highDownSilentOnTouch&&te.zrByTouch}function allLeaveBlur(ee){var te=ee.getModel(),ae=[],ne=[];te.eachComponent(function(ie,oe){var se=getComponentStates(oe),le=ie==="series",ue=le?ee.getViewOfSeriesModel(oe):ee.getViewOfComponentModel(oe);!le&&ne.push(ue),se.isBlured&&(ue.group.traverse(function(ce){singleLeaveBlur(ce)}),le&&ae.push(oe)),se.isBlured=!1}),each$f(ne,function(ie){ie&&ie.toggleBlurSeries&&ie.toggleBlurSeries(ae,!1,te)})}function blurSeries(ee,te,ae,ne){var ie=ne.getModel();ae=ae||"coordinateSystem";function oe(ce,de){for(var he=0;he<de.length;he++){var fe=ce.getItemGraphicEl(de[he]);fe&&leaveBlur(fe)}}if(ee!=null&&!(!te||te==="none")){var se=ie.getSeriesByIndex(ee),le=se.coordinateSystem;le&&le.master&&(le=le.master);var ue=[];ie.eachSeries(function(ce){var de=se===ce,he=ce.coordinateSystem;he&&he.master&&(he=he.master);var fe=he&&le?he===le:de;if(!(ae==="series"&&!de||ae==="coordinateSystem"&&!fe||te==="series"&&de)){var pe=ne.getViewOfSeriesModel(ce);if(pe.group.traverse(function(me){me.__highByOuter&&de&&te==="self"||singleEnterBlur(me)}),isArrayLike(te))oe(ce.getData(),te);else if(isObject$4(te))for(var ve=keys(te),ge=0;ge<ve.length;ge++)oe(ce.getData(ve[ge]),te[ve[ge]]);ue.push(ce),getComponentStates(ce).isBlured=!0}}),ie.eachComponent(function(ce,de){if(ce!=="series"){var he=ne.getViewOfComponentModel(de);he&&he.toggleBlurSeries&&he.toggleBlurSeries(ue,!0,ie)}})}}function blurComponent(ee,te,ae){if(!(ee==null||te==null)){var ne=ae.getModel().getComponent(ee,te);if(ne){getComponentStates(ne).isBlured=!0;var ie=ae.getViewOfComponentModel(ne);!ie||!ie.focusBlurEnabled||ie.group.traverse(function(oe){singleEnterBlur(oe)})}}}function blurSeriesFromHighlightPayload(ee,te,ae){var ne=ee.seriesIndex,ie=ee.getData(te.dataType);if(ie){var oe=queryDataIndex(ie,te);oe=(isArray$2(oe)?oe[0]:oe)||0;var se=ie.getItemGraphicEl(oe);if(!se)for(var le=ie.count(),ue=0;!se&&ue<le;)se=ie.getItemGraphicEl(ue++);if(se){var ce=getECData(se);blurSeries(ne,ce.focus,ce.blurScope,ae)}else{var de=ee.get(["emphasis","focus"]),he=ee.get(["emphasis","blurScope"]);de!=null&&blurSeries(ne,de,he,ae)}}}function findComponentHighDownDispatchers(ee,te,ae,ne){var ie={focusSelf:!1,dispatchers:null};if(ee==null||ee==="series"||te==null||ae==null)return ie;var oe=ne.getModel().getComponent(ee,te);if(!oe)return ie;var se=ne.getViewOfComponentModel(oe);if(!se||!se.findHighDownDispatchers)return ie;for(var le=se.findHighDownDispatchers(ae),ue,ce=0;ce<le.length;ce++)if(getECData(le[ce]).focus==="self"){ue=!0;break}return{focusSelf:ue,dispatchers:le}}function handleGlobalMouseOverForHighDown(ee,te,ae){var ne=getECData(ee),ie=findComponentHighDownDispatchers(ne.componentMainType,ne.componentIndex,ne.componentHighDownName,ae),oe=ie.dispatchers,se=ie.focusSelf;oe?(se&&blurComponent(ne.componentMainType,ne.componentIndex,ae),each$f(oe,function(le){return enterEmphasisWhenMouseOver(le,te)})):(blurSeries(ne.seriesIndex,ne.focus,ne.blurScope,ae),ne.focus==="self"&&blurComponent(ne.componentMainType,ne.componentIndex,ae),enterEmphasisWhenMouseOver(ee,te))}function handleGlobalMouseOutForHighDown(ee,te,ae){allLeaveBlur(ae);var ne=getECData(ee),ie=findComponentHighDownDispatchers(ne.componentMainType,ne.componentIndex,ne.componentHighDownName,ae).dispatchers;ie?each$f(ie,function(oe){return leaveEmphasisWhenMouseOut(oe,te)}):leaveEmphasisWhenMouseOut(ee,te)}function toggleSelectionFromPayload(ee,te,ae){if(isSelectChangePayload(te)){var ne=te.dataType,ie=ee.getData(ne),oe=queryDataIndex(ie,te);isArray$2(oe)||(oe=[oe]),ee[te.type===TOGGLE_SELECT_ACTION_TYPE?"toggleSelect":te.type===SELECT_ACTION_TYPE?"select":"unselect"](oe,ne)}}function updateSeriesElementSelection(ee){var te=ee.getAllData();each$f(te,function(ae){var ne=ae.data,ie=ae.type;ne.eachItemGraphicEl(function(oe,se){ee.isSelected(se,ie)?enterSelect(oe):leaveSelect(oe)})})}function getAllSelectedIndices(ee){var te=[];return ee.eachSeries(function(ae){var ne=ae.getAllData();each$f(ne,function(ie){ie.data;var oe=ie.type,se=ae.getSelectedDataIndices();if(se.length>0){var le={dataIndex:se,seriesIndex:ae.seriesIndex};oe!=null&&(le.dataType=oe),te.push(le)}})}),te}function enableHoverEmphasis(ee,te,ae){setAsHighDownDispatcher(ee,!0),traverseUpdateState(ee,setDefaultStateProxy),enableHoverFocus(ee,te,ae)}function disableHoverEmphasis(ee){setAsHighDownDispatcher(ee,!1)}function toggleHoverEmphasis(ee,te,ae,ne){ne?disableHoverEmphasis(ee):enableHoverEmphasis(ee,te,ae)}function enableHoverFocus(ee,te,ae){var ne=getECData(ee);te!=null?(ne.focus=te,ne.blurScope=ae):ne.focus&&(ne.focus=null)}var OTHER_STATES=["emphasis","blur","select"],defaultStyleGetterMap={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function setStatesStylesFromModel(ee,te,ae,ne){ae=ae||"itemStyle";for(var ie=0;ie<OTHER_STATES.length;ie++){var oe=OTHER_STATES[ie],se=te.getModel([oe,ae]),le=ee.ensureState(oe);le.style=ne?ne(se):se[defaultStyleGetterMap[ae]]()}}function setAsHighDownDispatcher(ee,te){var ae=te===!1,ne=ee;ee.highDownSilentOnTouch&&(ne.__highDownSilentOnTouch=ee.highDownSilentOnTouch),(!ae||ne.__highDownDispatcher)&&(ne.__highByOuter=ne.__highByOuter||0,ne.__highDownDispatcher=!ae)}function isHighDownDispatcher(ee){return!!(ee&&ee.__highDownDispatcher)}function enableComponentHighDownFeatures(ee,te,ae){var ne=getECData(ee);ne.componentMainType=te.mainType,ne.componentIndex=te.componentIndex,ne.componentHighDownName=ae}function getHighlightDigit(ee){var te=_highlightKeyMap[ee];return te==null&&_highlightNextDigit<=32&&(te=_highlightKeyMap[ee]=_highlightNextDigit++),te}function isSelectChangePayload(ee){var te=ee.type;return te===SELECT_ACTION_TYPE||te===UNSELECT_ACTION_TYPE||te===TOGGLE_SELECT_ACTION_TYPE}function isHighDownPayload(ee){var te=ee.type;return te===HIGHLIGHT_ACTION_TYPE||te===DOWNPLAY_ACTION_TYPE}function savePathStates(ee){var te=getSavedStates(ee);te.normalFill=ee.style.fill,te.normalStroke=ee.style.stroke;var ae=ee.states.select||{};te.selectFill=ae.style&&ae.style.fill||null,te.selectStroke=ae.style&&ae.style.stroke||null}var CMD$2=PathProxy$1.CMD,points$2=[[],[],[]],mathSqrt$2=Math.sqrt,mathAtan2=Math.atan2;function transformPath(ee,te){if(te){var ae=ee.data,ne=ee.len(),ie,oe,se,le,ue,ce,de=CMD$2.M,he=CMD$2.C,fe=CMD$2.L,pe=CMD$2.R,ve=CMD$2.A,ge=CMD$2.Q;for(se=0,le=0;se<ne;){switch(ie=ae[se++],le=se,oe=0,ie){case de:oe=1;break;case fe:oe=1;break;case he:oe=3;break;case ge:oe=2;break;case ve:var me=te[4],ye=te[5],_e=mathSqrt$2(te[0]*te[0]+te[1]*te[1]),be=mathSqrt$2(te[2]*te[2]+te[3]*te[3]),xe=mathAtan2(-te[1]/be,te[0]/_e);ae[se]*=_e,ae[se++]+=me,ae[se]*=be,ae[se++]+=ye,ae[se++]*=_e,ae[se++]*=be,ae[se++]+=xe,ae[se++]+=xe,se+=2,le=se;break;case pe:ce[0]=ae[se++],ce[1]=ae[se++],applyTransform$1(ce,ce,te),ae[le++]=ce[0],ae[le++]=ce[1],ce[0]+=ae[se++],ce[1]+=ae[se++],applyTransform$1(ce,ce,te),ae[le++]=ce[0],ae[le++]=ce[1]}for(ue=0;ue<oe;ue++){var $e=points$2[ue];$e[0]=ae[se++],$e[1]=ae[se++],applyTransform$1($e,$e,te),ae[le++]=$e[0],ae[le++]=$e[1]}}ee.increaseVersion()}}var mathSqrt$1=Math.sqrt,mathSin$2=Math.sin,mathCos$2=Math.cos,PI$7=Math.PI;function vMag(ee){return Math.sqrt(ee[0]*ee[0]+ee[1]*ee[1])}function vRatio(ee,te){return(ee[0]*te[0]+ee[1]*te[1])/(vMag(ee)*vMag(te))}function vAngle(ee,te){return(ee[0]*te[1]<ee[1]*te[0]?-1:1)*Math.acos(vRatio(ee,te))}function processArc(ee,te,ae,ne,ie,oe,se,le,ue,ce,de){var he=ue*(PI$7/180),fe=mathCos$2(he)*(ee-ae)/2+mathSin$2(he)*(te-ne)/2,pe=-1*mathSin$2(he)*(ee-ae)/2+mathCos$2(he)*(te-ne)/2,ve=fe*fe/(se*se)+pe*pe/(le*le);ve>1&&(se*=mathSqrt$1(ve),le*=mathSqrt$1(ve));var ge=(ie===oe?-1:1)*mathSqrt$1((se*se*(le*le)-se*se*(pe*pe)-le*le*(fe*fe))/(se*se*(pe*pe)+le*le*(fe*fe)))||0,me=ge*se*pe/le,ye=ge*-le*fe/se,_e=(ee+ae)/2+mathCos$2(he)*me-mathSin$2(he)*ye,be=(te+ne)/2+mathSin$2(he)*me+mathCos$2(he)*ye,xe=vAngle([1,0],[(fe-me)/se,(pe-ye)/le]),$e=[(fe-me)/se,(pe-ye)/le],Se=[(-1*fe-me)/se,(-1*pe-ye)/le],we=vAngle($e,Se);if(vRatio($e,Se)<=-1&&(we=PI$7),vRatio($e,Se)>=1&&(we=0),we<0){var Ae=Math.round(we/PI$7*1e6)/1e6;we=PI$7*2+Ae%2*PI$7}de.addData(ce,_e,be,se,le,xe,we,he,oe)}var commandReg=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,numberReg$1=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function createPathProxyFromString(ee){var te=new PathProxy$1;if(!ee)return te;var ae=0,ne=0,ie=ae,oe=ne,se,le=PathProxy$1.CMD,ue=ee.match(commandReg);if(!ue)return te;for(var ce=0;ce<ue.length;ce++){for(var de=ue[ce],he=de.charAt(0),fe=void 0,pe=de.match(numberReg$1)||[],ve=pe.length,ge=0;ge<ve;ge++)pe[ge]=parseFloat(pe[ge]);for(var me=0;me<ve;){var ye=void 0,_e=void 0,be=void 0,xe=void 0,$e=void 0,Se=void 0,we=void 0,Ae=ae,Te=ne,De=void 0,Me=void 0;switch(he){case"l":ae+=pe[me++],ne+=pe[me++],fe=le.L,te.addData(fe,ae,ne);break;case"L":ae=pe[me++],ne=pe[me++],fe=le.L,te.addData(fe,ae,ne);break;case"m":ae+=pe[me++],ne+=pe[me++],fe=le.M,te.addData(fe,ae,ne),ie=ae,oe=ne,he="l";break;case"M":ae=pe[me++],ne=pe[me++],fe=le.M,te.addData(fe,ae,ne),ie=ae,oe=ne,he="L";break;case"h":ae+=pe[me++],fe=le.L,te.addData(fe,ae,ne);break;case"H":ae=pe[me++],fe=le.L,te.addData(fe,ae,ne);break;case"v":ne+=pe[me++],fe=le.L,te.addData(fe,ae,ne);break;case"V":ne=pe[me++],fe=le.L,te.addData(fe,ae,ne);break;case"C":fe=le.C,te.addData(fe,pe[me++],pe[me++],pe[me++],pe[me++],pe[me++],pe[me++]),ae=pe[me-2],ne=pe[me-1];break;case"c":fe=le.C,te.addData(fe,pe[me++]+ae,pe[me++]+ne,pe[me++]+ae,pe[me++]+ne,pe[me++]+ae,pe[me++]+ne),ae+=pe[me-2],ne+=pe[me-1];break;case"S":ye=ae,_e=ne,De=te.len(),Me=te.data,se===le.C&&(ye+=ae-Me[De-4],_e+=ne-Me[De-3]),fe=le.C,Ae=pe[me++],Te=pe[me++],ae=pe[me++],ne=pe[me++],te.addData(fe,ye,_e,Ae,Te,ae,ne);break;case"s":ye=ae,_e=ne,De=te.len(),Me=te.data,se===le.C&&(ye+=ae-Me[De-4],_e+=ne-Me[De-3]),fe=le.C,Ae=ae+pe[me++],Te=ne+pe[me++],ae+=pe[me++],ne+=pe[me++],te.addData(fe,ye,_e,Ae,Te,ae,ne);break;case"Q":Ae=pe[me++],Te=pe[me++],ae=pe[me++],ne=pe[me++],fe=le.Q,te.addData(fe,Ae,Te,ae,ne);break;case"q":Ae=pe[me++]+ae,Te=pe[me++]+ne,ae+=pe[me++],ne+=pe[me++],fe=le.Q,te.addData(fe,Ae,Te,ae,ne);break;case"T":ye=ae,_e=ne,De=te.len(),Me=te.data,se===le.Q&&(ye+=ae-Me[De-4],_e+=ne-Me[De-3]),ae=pe[me++],ne=pe[me++],fe=le.Q,te.addData(fe,ye,_e,ae,ne);break;case"t":ye=ae,_e=ne,De=te.len(),Me=te.data,se===le.Q&&(ye+=ae-Me[De-4],_e+=ne-Me[De-3]),ae+=pe[me++],ne+=pe[me++],fe=le.Q,te.addData(fe,ye,_e,ae,ne);break;case"A":be=pe[me++],xe=pe[me++],$e=pe[me++],Se=pe[me++],we=pe[me++],Ae=ae,Te=ne,ae=pe[me++],ne=pe[me++],fe=le.A,processArc(Ae,Te,ae,ne,Se,we,be,xe,$e,fe,te);break;case"a":be=pe[me++],xe=pe[me++],$e=pe[me++],Se=pe[me++],we=pe[me++],Ae=ae,Te=ne,ae+=pe[me++],ne+=pe[me++],fe=le.A,processArc(Ae,Te,ae,ne,Se,we,be,xe,$e,fe,te);break}}(he==="z"||he==="Z")&&(fe=le.Z,te.addData(fe),ae=ie,ne=oe),se=fe}return te.toStatic(),te}var SVGPath=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.applyTransform=function(ae){},te}(Path$1);function isPathProxy(ee){return ee.setData!=null}function createPathOptions(ee,te){var ae=createPathProxyFromString(ee),ne=extend$1({},te);return ne.buildPath=function(ie){if(isPathProxy(ie)){ie.setData(ae.data);var oe=ie.getContext();oe&&ie.rebuildPath(oe,1)}else{var oe=ie;ae.rebuildPath(oe,1)}},ne.applyTransform=function(ie){transformPath(ae,ie),this.dirtyShape()},ne}function createFromString(ee,te){return new SVGPath(createPathOptions(ee,te))}function extendFromString(ee,te){var ae=createPathOptions(ee,te),ne=function(ie){__extends(oe,ie);function oe(se){var le=ie.call(this,se)||this;return le.applyTransform=ae.applyTransform,le.buildPath=ae.buildPath,le}return oe}(SVGPath);return ne}function mergePath$1(ee,te){for(var ae=[],ne=ee.length,ie=0;ie<ne;ie++){var oe=ee[ie];ae.push(oe.getUpdatedPathProxy(!0))}var se=new Path$1(te);return se.createPathProxy(),se.buildPath=function(le){if(isPathProxy(le)){le.appendPath(ae);var ue=le.getContext();ue&&le.rebuildPath(ue,1)}},se}function clonePath(ee,te){te=te||{};var ae=new Path$1;return ee.shape&&ae.setShape(ee.shape),ae.setStyle(ee.style),te.bakeTransform?transformPath(ae.path,ee.getComputedTransform()):te.toLocal?ae.setLocalTransform(ee.getComputedTransform()):ae.copyTransform(ee),ae.buildPath=ee.buildPath,ae.applyTransform=ae.applyTransform,ae.z=ee.z,ae.z2=ee.z2,ae.zlevel=ee.zlevel,ae}var CircleShape=function(){function ee(){this.cx=0,this.cy=0,this.r=0}return ee}(),Circle=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new CircleShape},te.prototype.buildPath=function(ae,ne){ae.moveTo(ne.cx+ne.r,ne.cy),ae.arc(ne.cx,ne.cy,ne.r,0,Math.PI*2)},te}(Path$1);Circle.prototype.type="circle";const Circle$1=Circle;var EllipseShape=function(){function ee(){this.cx=0,this.cy=0,this.rx=0,this.ry=0}return ee}(),Ellipse=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new EllipseShape},te.prototype.buildPath=function(ae,ne){var ie=.5522848,oe=ne.cx,se=ne.cy,le=ne.rx,ue=ne.ry,ce=le*ie,de=ue*ie;ae.moveTo(oe-le,se),ae.bezierCurveTo(oe-le,se-de,oe-ce,se-ue,oe,se-ue),ae.bezierCurveTo(oe+ce,se-ue,oe+le,se-de,oe+le,se),ae.bezierCurveTo(oe+le,se+de,oe+ce,se+ue,oe,se+ue),ae.bezierCurveTo(oe-ce,se+ue,oe-le,se+de,oe-le,se),ae.closePath()},te}(Path$1);Ellipse.prototype.type="ellipse";const Ellipse$1=Ellipse;var PI$6=Math.PI,PI2$3=PI$6*2,mathSin$1=Math.sin,mathCos$1=Math.cos,mathACos=Math.acos,mathATan2=Math.atan2,mathAbs$1=Math.abs,mathSqrt=Math.sqrt,mathMax$7=Math.max,mathMin$7=Math.min,e$1=1e-4;function intersect(ee,te,ae,ne,ie,oe,se,le){var ue=ae-ee,ce=ne-te,de=se-ie,he=le-oe,fe=he*ue-de*ce;if(!(fe*fe<e$1))return fe=(de*(te-oe)-he*(ee-ie))/fe,[ee+fe*ue,te+fe*ce]}function computeCornerTangents(ee,te,ae,ne,ie,oe,se){var le=ee-ae,ue=te-ne,ce=(se?oe:-oe)/mathSqrt(le*le+ue*ue),de=ce*ue,he=-ce*le,fe=ee+de,pe=te+he,ve=ae+de,ge=ne+he,me=(fe+ve)/2,ye=(pe+ge)/2,_e=ve-fe,be=ge-pe,xe=_e*_e+be*be,$e=ie-oe,Se=fe*ge-ve*pe,we=(be<0?-1:1)*mathSqrt(mathMax$7(0,$e*$e*xe-Se*Se)),Ae=(Se*be-_e*we)/xe,Te=(-Se*_e-be*we)/xe,De=(Se*be+_e*we)/xe,Me=(-Se*_e+be*we)/xe,Ie=Ae-me,Ce=Te-ye,Ee=De-me,Re=Me-ye;return Ie*Ie+Ce*Ce>Ee*Ee+Re*Re&&(Ae=De,Te=Me),{cx:Ae,cy:Te,x0:-de,y0:-he,x1:Ae*(ie/$e-1),y1:Te*(ie/$e-1)}}function normalizeCornerRadius(ee){var te;if(isArray$2(ee)){var ae=ee.length;if(!ae)return ee;ae===1?te=[ee[0],ee[0],0,0]:ae===2?te=[ee[0],ee[0],ee[1],ee[1]]:ae===3?te=ee.concat(ee[2]):te=ee}else te=[ee,ee,ee,ee];return te}function buildPath$1(ee,te){var ae,ne=mathMax$7(te.r,0),ie=mathMax$7(te.r0||0,0),oe=ne>0,se=ie>0;if(!(!oe&&!se)){if(oe||(ne=ie,ie=0),ie>ne){var le=ne;ne=ie,ie=le}var ue=te.startAngle,ce=te.endAngle;if(!(isNaN(ue)||isNaN(ce))){var de=te.cx,he=te.cy,fe=!!te.clockwise,pe=mathAbs$1(ce-ue),ve=pe>PI2$3&&pe%PI2$3;if(ve>e$1&&(pe=ve),!(ne>e$1))ee.moveTo(de,he);else if(pe>PI2$3-e$1)ee.moveTo(de+ne*mathCos$1(ue),he+ne*mathSin$1(ue)),ee.arc(de,he,ne,ue,ce,!fe),ie>e$1&&(ee.moveTo(de+ie*mathCos$1(ce),he+ie*mathSin$1(ce)),ee.arc(de,he,ie,ce,ue,fe));else{var ge=void 0,me=void 0,ye=void 0,_e=void 0,be=void 0,xe=void 0,$e=void 0,Se=void 0,we=void 0,Ae=void 0,Te=void 0,De=void 0,Me=void 0,Ie=void 0,Ce=void 0,Ee=void 0,Re=ne*mathCos$1(ue),ke=ne*mathSin$1(ue),Be=ie*mathCos$1(ce),Ne=ie*mathSin$1(ce),He=pe>e$1;if(He){var qe=te.cornerRadius;qe&&(ae=normalizeCornerRadius(qe),ge=ae[0],me=ae[1],ye=ae[2],_e=ae[3]);var Oe=mathAbs$1(ne-ie)/2;if(be=mathMin$7(Oe,ye),xe=mathMin$7(Oe,_e),$e=mathMin$7(Oe,ge),Se=mathMin$7(Oe,me),Te=we=mathMax$7(be,xe),De=Ae=mathMax$7($e,Se),(we>e$1||Ae>e$1)&&(Me=ne*mathCos$1(ce),Ie=ne*mathSin$1(ce),Ce=ie*mathCos$1(ue),Ee=ie*mathSin$1(ue),pe<PI$6)){var ze=intersect(Re,ke,Ce,Ee,Me,Ie,Be,Ne);if(ze){var Ve=Re-ze[0],Ge=ke-ze[1],We=Me-ze[0],Ue=Ie-ze[1],Ye=1/mathSin$1(mathACos((Ve*We+Ge*Ue)/(mathSqrt(Ve*Ve+Ge*Ge)*mathSqrt(We*We+Ue*Ue)))/2),Ze=mathSqrt(ze[0]*ze[0]+ze[1]*ze[1]);Te=mathMin$7(we,(ne-Ze)/(Ye+1)),De=mathMin$7(Ae,(ie-Ze)/(Ye-1))}}}if(!He)ee.moveTo(de+Re,he+ke);else if(Te>e$1){var Xe=mathMin$7(ye,Te),it=mathMin$7(_e,Te),at=computeCornerTangents(Ce,Ee,Re,ke,ne,Xe,fe),ut=computeCornerTangents(Me,Ie,Be,Ne,ne,it,fe);ee.moveTo(de+at.cx+at.x0,he+at.cy+at.y0),Te<we&&Xe===it?ee.arc(de+at.cx,he+at.cy,Te,mathATan2(at.y0,at.x0),mathATan2(ut.y0,ut.x0),!fe):(Xe>0&&ee.arc(de+at.cx,he+at.cy,Xe,mathATan2(at.y0,at.x0),mathATan2(at.y1,at.x1),!fe),ee.arc(de,he,ne,mathATan2(at.cy+at.y1,at.cx+at.x1),mathATan2(ut.cy+ut.y1,ut.cx+ut.x1),!fe),it>0&&ee.arc(de+ut.cx,he+ut.cy,it,mathATan2(ut.y1,ut.x1),mathATan2(ut.y0,ut.x0),!fe))}else ee.moveTo(de+Re,he+ke),ee.arc(de,he,ne,ue,ce,!fe);if(!(ie>e$1)||!He)ee.lineTo(de+Be,he+Ne);else if(De>e$1){var Xe=mathMin$7(ge,De),it=mathMin$7(me,De),at=computeCornerTangents(Be,Ne,Me,Ie,ie,-it,fe),ut=computeCornerTangents(Re,ke,Ce,Ee,ie,-Xe,fe);ee.lineTo(de+at.cx+at.x0,he+at.cy+at.y0),De<Ae&&Xe===it?ee.arc(de+at.cx,he+at.cy,De,mathATan2(at.y0,at.x0),mathATan2(ut.y0,ut.x0),!fe):(it>0&&ee.arc(de+at.cx,he+at.cy,it,mathATan2(at.y0,at.x0),mathATan2(at.y1,at.x1),!fe),ee.arc(de,he,ie,mathATan2(at.cy+at.y1,at.cx+at.x1),mathATan2(ut.cy+ut.y1,ut.cx+ut.x1),fe),Xe>0&&ee.arc(de+ut.cx,he+ut.cy,Xe,mathATan2(ut.y1,ut.x1),mathATan2(ut.y0,ut.x0),!fe))}else ee.lineTo(de+Be,he+Ne),ee.arc(de,he,ie,ce,ue,fe)}ee.closePath()}}}var SectorShape=function(){function ee(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return ee}(),Sector=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new SectorShape},te.prototype.buildPath=function(ae,ne){buildPath$1(ae,ne)},te.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},te}(Path$1);Sector.prototype.type="sector";const Sector$1=Sector;var RingShape=function(){function ee(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return ee}(),Ring=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new RingShape},te.prototype.buildPath=function(ae,ne){var ie=ne.cx,oe=ne.cy,se=Math.PI*2;ae.moveTo(ie+ne.r,oe),ae.arc(ie,oe,ne.r,0,se,!1),ae.moveTo(ie+ne.r0,oe),ae.arc(ie,oe,ne.r0,0,se,!0)},te}(Path$1);Ring.prototype.type="ring";const Ring$1=Ring;function smoothBezier(ee,te,ae,ne){var ie=[],oe=[],se=[],le=[],ue,ce,de,he;if(ne){de=[1/0,1/0],he=[-1/0,-1/0];for(var fe=0,pe=ee.length;fe<pe;fe++)min$1(de,de,ee[fe]),max$1(he,he,ee[fe]);min$1(de,de,ne[0]),max$1(he,he,ne[1])}for(var fe=0,pe=ee.length;fe<pe;fe++){var ve=ee[fe];if(ae)ue=ee[fe?fe-1:pe-1],ce=ee[(fe+1)%pe];else if(fe===0||fe===pe-1){ie.push(clone$3(ee[fe]));continue}else ue=ee[fe-1],ce=ee[fe+1];sub(oe,ce,ue),scale$2(oe,oe,te);var ge=distance(ve,ue),me=distance(ve,ce),ye=ge+me;ye!==0&&(ge/=ye,me/=ye),scale$2(se,oe,-ge),scale$2(le,oe,me);var _e=add([],ve,se),be=add([],ve,le);ne&&(max$1(_e,_e,de),min$1(_e,_e,he),max$1(be,be,de),min$1(be,be,he)),ie.push(_e),ie.push(be)}return ae&&ie.push(ie.shift()),ie}function buildPath(ee,te,ae){var ne=te.smooth,ie=te.points;if(ie&&ie.length>=2){if(ne){var oe=smoothBezier(ie,ne,ae,te.smoothConstraint);ee.moveTo(ie[0][0],ie[0][1]);for(var se=ie.length,le=0;le<(ae?se:se-1);le++){var ue=oe[le*2],ce=oe[le*2+1],de=ie[(le+1)%se];ee.bezierCurveTo(ue[0],ue[1],ce[0],ce[1],de[0],de[1])}}else{ee.moveTo(ie[0][0],ie[0][1]);for(var le=1,he=ie.length;le<he;le++)ee.lineTo(ie[le][0],ie[le][1])}ae&&ee.closePath()}}var PolygonShape=function(){function ee(){this.points=null,this.smooth=0,this.smoothConstraint=null}return ee}(),Polygon=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new PolygonShape},te.prototype.buildPath=function(ae,ne){buildPath(ae,ne,!0)},te}(Path$1);Polygon.prototype.type="polygon";const Polygon$1=Polygon;var PolylineShape=function(){function ee(){this.points=null,this.percent=1,this.smooth=0,this.smoothConstraint=null}return ee}(),Polyline$2=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new PolylineShape},te.prototype.buildPath=function(ae,ne){buildPath(ae,ne,!1)},te}(Path$1);Polyline$2.prototype.type="polyline";const Polyline$3=Polyline$2;var subPixelOptimizeOutputShape={},LineShape=function(){function ee(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return ee}(),Line$2=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new LineShape},te.prototype.buildPath=function(ae,ne){var ie,oe,se,le;if(this.subPixelOptimize){var ue=subPixelOptimizeLine$1(subPixelOptimizeOutputShape,ne,this.style);ie=ue.x1,oe=ue.y1,se=ue.x2,le=ue.y2}else ie=ne.x1,oe=ne.y1,se=ne.x2,le=ne.y2;var ce=ne.percent;ce!==0&&(ae.moveTo(ie,oe),ce<1&&(se=ie*(1-ce)+se*ce,le=oe*(1-ce)+le*ce),ae.lineTo(se,le))},te.prototype.pointAt=function(ae){var ne=this.shape;return[ne.x1*(1-ae)+ne.x2*ae,ne.y1*(1-ae)+ne.y2*ae]},te}(Path$1);Line$2.prototype.type="line";const Line$3=Line$2;var out=[],BezierCurveShape=function(){function ee(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.percent=1}return ee}();function someVectorAt(ee,te,ae){var ne=ee.cpx2,ie=ee.cpy2;return ne!=null||ie!=null?[(ae?cubicDerivativeAt:cubicAt)(ee.x1,ee.cpx1,ee.cpx2,ee.x2,te),(ae?cubicDerivativeAt:cubicAt)(ee.y1,ee.cpy1,ee.cpy2,ee.y2,te)]:[(ae?quadraticDerivativeAt:quadraticAt$1)(ee.x1,ee.cpx1,ee.x2,te),(ae?quadraticDerivativeAt:quadraticAt$1)(ee.y1,ee.cpy1,ee.y2,te)]}var BezierCurve=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new BezierCurveShape},te.prototype.buildPath=function(ae,ne){var ie=ne.x1,oe=ne.y1,se=ne.x2,le=ne.y2,ue=ne.cpx1,ce=ne.cpy1,de=ne.cpx2,he=ne.cpy2,fe=ne.percent;fe!==0&&(ae.moveTo(ie,oe),de==null||he==null?(fe<1&&(quadraticSubdivide(ie,ue,se,fe,out),ue=out[1],se=out[2],quadraticSubdivide(oe,ce,le,fe,out),ce=out[1],le=out[2]),ae.quadraticCurveTo(ue,ce,se,le)):(fe<1&&(cubicSubdivide(ie,ue,de,se,fe,out),ue=out[1],de=out[2],se=out[3],cubicSubdivide(oe,ce,he,le,fe,out),ce=out[1],he=out[2],le=out[3]),ae.bezierCurveTo(ue,ce,de,he,se,le)))},te.prototype.pointAt=function(ae){return someVectorAt(this.shape,ae,!1)},te.prototype.tangentAt=function(ae){var ne=someVectorAt(this.shape,ae,!0);return normalize$3(ne,ne)},te}(Path$1);BezierCurve.prototype.type="bezier-curve";const BezierCurve$1=BezierCurve;var ArcShape=function(){function ee(){this.cx=0,this.cy=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return ee}(),Arc=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new ArcShape},te.prototype.buildPath=function(ae,ne){var ie=ne.cx,oe=ne.cy,se=Math.max(ne.r,0),le=ne.startAngle,ue=ne.endAngle,ce=ne.clockwise,de=Math.cos(le),he=Math.sin(le);ae.moveTo(de*se+ie,he*se+oe),ae.arc(ie,oe,se,le,ue,!ce)},te}(Path$1);Arc.prototype.type="arc";const Arc$1=Arc;var CompoundPath=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="compound",ae}return te.prototype._updatePathDirty=function(){for(var ae=this.shape.paths,ne=this.shapeChanged(),ie=0;ie<ae.length;ie++)ne=ne||ae[ie].shapeChanged();ne&&this.dirtyShape()},te.prototype.beforeBrush=function(){this._updatePathDirty();for(var ae=this.shape.paths||[],ne=this.getGlobalScale(),ie=0;ie<ae.length;ie++)ae[ie].path||ae[ie].createPathProxy(),ae[ie].path.setScale(ne[0],ne[1],ae[ie].segmentIgnoreThreshold)},te.prototype.buildPath=function(ae,ne){for(var ie=ne.paths||[],oe=0;oe<ie.length;oe++)ie[oe].buildPath(ae,ie[oe].shape,!0)},te.prototype.afterBrush=function(){for(var ae=this.shape.paths||[],ne=0;ne<ae.length;ne++)ae[ne].pathUpdated()},te.prototype.getBoundingRect=function(){return this._updatePathDirty.call(this),Path$1.prototype.getBoundingRect.call(this)},te}(Path$1);const CompoundPath$1=CompoundPath;var Gradient=function(){function ee(te){this.colorStops=te||[]}return ee.prototype.addColorStop=function(te,ae){this.colorStops.push({offset:te,color:ae})},ee}();const Gradient$1=Gradient;var LinearGradient=function(ee){__extends(te,ee);function te(ae,ne,ie,oe,se,le){var ue=ee.call(this,se)||this;return ue.x=ae??0,ue.y=ne??0,ue.x2=ie??1,ue.y2=oe??0,ue.type="linear",ue.global=le||!1,ue}return te}(Gradient$1);const LinearGradient$1=LinearGradient;var RadialGradient=function(ee){__extends(te,ee);function te(ae,ne,ie,oe,se){var le=ee.call(this,oe)||this;return le.x=ae??.5,le.y=ne??.5,le.r=ie??.5,le.type="radial",le.global=se||!1,le}return te}(Gradient$1);const RadialGradient$1=RadialGradient;var extent=[0,0],extent2=[0,0],minTv=new Point$1,maxTv=new Point$1,OrientedBoundingRect=function(){function ee(te,ae){this._corners=[],this._axes=[],this._origin=[0,0];for(var ne=0;ne<4;ne++)this._corners[ne]=new Point$1;for(var ne=0;ne<2;ne++)this._axes[ne]=new Point$1;te&&this.fromBoundingRect(te,ae)}return ee.prototype.fromBoundingRect=function(te,ae){var ne=this._corners,ie=this._axes,oe=te.x,se=te.y,le=oe+te.width,ue=se+te.height;if(ne[0].set(oe,se),ne[1].set(le,se),ne[2].set(le,ue),ne[3].set(oe,ue),ae)for(var ce=0;ce<4;ce++)ne[ce].transform(ae);Point$1.sub(ie[0],ne[1],ne[0]),Point$1.sub(ie[1],ne[3],ne[0]),ie[0].normalize(),ie[1].normalize();for(var ce=0;ce<2;ce++)this._origin[ce]=ie[ce].dot(ne[0])},ee.prototype.intersect=function(te,ae){var ne=!0,ie=!ae;return minTv.set(1/0,1/0),maxTv.set(0,0),!this._intersectCheckOneSide(this,te,minTv,maxTv,ie,1)&&(ne=!1,ie)||!this._intersectCheckOneSide(te,this,minTv,maxTv,ie,-1)&&(ne=!1,ie)||ie||Point$1.copy(ae,ne?minTv:maxTv),ne},ee.prototype._intersectCheckOneSide=function(te,ae,ne,ie,oe,se){for(var le=!0,ue=0;ue<2;ue++){var ce=this._axes[ue];if(this._getProjMinMaxOnAxis(ue,te._corners,extent),this._getProjMinMaxOnAxis(ue,ae._corners,extent2),extent[1]<extent2[0]||extent[0]>extent2[1]){if(le=!1,oe)return le;var de=Math.abs(extent2[0]-extent[1]),he=Math.abs(extent[0]-extent2[1]);Math.min(de,he)>ie.len()&&(de<he?Point$1.scale(ie,ce,-de*se):Point$1.scale(ie,ce,he*se))}else if(ne){var de=Math.abs(extent2[0]-extent[1]),he=Math.abs(extent[0]-extent2[1]);Math.min(de,he)<ne.len()&&(de<he?Point$1.scale(ne,ce,de*se):Point$1.scale(ne,ce,-he*se))}}return le},ee.prototype._getProjMinMaxOnAxis=function(te,ae,ne){for(var ie=this._axes[te],oe=this._origin,se=ae[0].dot(ie)+oe[te],le=se,ue=se,ce=1;ce<ae.length;ce++){var de=ae[ce].dot(ie)+oe[te];le=Math.min(de,le),ue=Math.max(de,ue)}ne[0]=le,ne[1]=ue},ee}();const OrientedBoundingRect$1=OrientedBoundingRect;var m$1=[],IncrementalDisplayable=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.notClear=!0,ae.incremental=!0,ae._displayables=[],ae._temporaryDisplayables=[],ae._cursor=0,ae}return te.prototype.traverse=function(ae,ne){ae.call(ne,this)},te.prototype.useStyle=function(){this.style={}},te.prototype.getCursor=function(){return this._cursor},te.prototype.innerAfterBrush=function(){this._cursor=this._displayables.length},te.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.markRedraw(),this.notClear=!1},te.prototype.clearTemporalDisplayables=function(){this._temporaryDisplayables=[]},te.prototype.addDisplayable=function(ae,ne){ne?this._temporaryDisplayables.push(ae):this._displayables.push(ae),this.markRedraw()},te.prototype.addDisplayables=function(ae,ne){ne=ne||!1;for(var ie=0;ie<ae.length;ie++)this.addDisplayable(ae[ie],ne)},te.prototype.getDisplayables=function(){return this._displayables},te.prototype.getTemporalDisplayables=function(){return this._temporaryDisplayables},te.prototype.eachPendingDisplayable=function(ae){for(var ne=this._cursor;ne<this._displayables.length;ne++)ae&&ae(this._displayables[ne]);for(var ne=0;ne<this._temporaryDisplayables.length;ne++)ae&&ae(this._temporaryDisplayables[ne])},te.prototype.update=function(){this.updateTransform();for(var ae=this._cursor;ae<this._displayables.length;ae++){var ne=this._displayables[ae];ne.parent=this,ne.update(),ne.parent=null}for(var ae=0;ae<this._temporaryDisplayables.length;ae++){var ne=this._temporaryDisplayables[ae];ne.parent=this,ne.update(),ne.parent=null}},te.prototype.getBoundingRect=function(){if(!this._rect){for(var ae=new BoundingRect$1(1/0,1/0,-1/0,-1/0),ne=0;ne<this._displayables.length;ne++){var ie=this._displayables[ne],oe=ie.getBoundingRect().clone();ie.needLocalTransform()&&oe.applyTransform(ie.getLocalTransform(m$1)),ae.union(oe)}this._rect=ae}return this._rect},te.prototype.contain=function(ae,ne){var ie=this.transformCoordToLocal(ae,ne),oe=this.getBoundingRect();if(oe.contain(ie[0],ie[1]))for(var se=0;se<this._displayables.length;se++){var le=this._displayables[se];if(le.contain(ae,ne))return!0}return!1},te}(Displayable$1);const IncrementalDisplayable$1=IncrementalDisplayable;var transitionStore=makeInner();function getAnimationConfig(ee,te,ae,ne,ie){var oe;if(te&&te.ecModel){var se=te.ecModel.getUpdatePayload();oe=se&&se.animation}var le=te&&te.isAnimationEnabled(),ue=ee==="update";if(le){var ce=void 0,de=void 0,he=void 0;ne?(ce=retrieve2(ne.duration,200),de=retrieve2(ne.easing,"cubicOut"),he=0):(ce=te.getShallow(ue?"animationDurationUpdate":"animationDuration"),de=te.getShallow(ue?"animationEasingUpdate":"animationEasing"),he=te.getShallow(ue?"animationDelayUpdate":"animationDelay")),oe&&(oe.duration!=null&&(ce=oe.duration),oe.easing!=null&&(de=oe.easing),oe.delay!=null&&(he=oe.delay)),isFunction$1(he)&&(he=he(ae,ie)),isFunction$1(ce)&&(ce=ce(ae));var fe={duration:ce||0,delay:he,easing:de};return fe}else return null}function animateOrSetProps(ee,te,ae,ne,ie,oe,se){var le=!1,ue;isFunction$1(ie)?(se=oe,oe=ie,ie=null):isObject$4(ie)&&(oe=ie.cb,se=ie.during,le=ie.isFrom,ue=ie.removeOpt,ie=ie.dataIndex);var ce=ee==="leave";ce||te.stopAnimation("leave");var de=getAnimationConfig(ee,ne,ie,ce?ue||{}:null,ne&&ne.getAnimationDelayParams?ne.getAnimationDelayParams(te,ie):null);if(de&&de.duration>0){var he=de.duration,fe=de.delay,pe=de.easing,ve={duration:he,delay:fe||0,easing:pe,done:oe,force:!!oe||!!se,setToFinal:!ce,scope:ee,during:se};le?te.animateFrom(ae,ve):te.animateTo(ae,ve)}else te.stopAnimation(),!le&&te.attr(ae),se&&se(1),oe&&oe()}function updateProps$1(ee,te,ae,ne,ie,oe){animateOrSetProps("update",ee,te,ae,ne,ie,oe)}function initProps(ee,te,ae,ne,ie,oe){animateOrSetProps("enter",ee,te,ae,ne,ie,oe)}function isElementRemoved(ee){if(!ee.__zr)return!0;for(var te=0;te<ee.animators.length;te++){var ae=ee.animators[te];if(ae.scope==="leave")return!0}return!1}function removeElement(ee,te,ae,ne,ie,oe){isElementRemoved(ee)||animateOrSetProps("leave",ee,te,ae,ne,ie,oe)}function fadeOutDisplayable(ee,te,ae,ne){ee.removeTextContent(),ee.removeTextGuideLine(),removeElement(ee,{style:{opacity:0}},te,ae,ne)}function removeElementWithFadeOut(ee,te,ae){function ne(){ee.parent&&ee.parent.remove(ee)}ee.isGroup?ee.traverse(function(ie){ie.isGroup||fadeOutDisplayable(ie,te,ae,ne)}):fadeOutDisplayable(ee,te,ae,ne)}function saveOldStyle(ee){transitionStore(ee).oldStyle=ee.style}function getOldStyle(ee){return transitionStore(ee).oldStyle}var mathMax$6=Math.max,mathMin$6=Math.min,_customShapeMap={};function extendShape(ee){return Path$1.extend(ee)}var extendPathFromString=extendFromString;function extendPath(ee,te){return extendPathFromString(ee,te)}function registerShape(ee,te){_customShapeMap[ee]=te}function getShapeClass(ee){if(_customShapeMap.hasOwnProperty(ee))return _customShapeMap[ee]}function makePath(ee,te,ae,ne){var ie=createFromString(ee,te);return ae&&(ne==="center"&&(ae=centerGraphic(ae,ie.getBoundingRect())),resizePath(ie,ae)),ie}function makeImage(ee,te,ae){var ne=new ZRImage$1({style:{image:ee,x:te.x,y:te.y,width:te.width,height:te.height},onload:function(ie){if(ae==="center"){var oe={width:ie.width,height:ie.height};ne.setStyle(centerGraphic(te,oe))}}});return ne}function centerGraphic(ee,te){var ae=te.width/te.height,ne=ee.height*ae,ie;ne<=ee.width?ie=ee.height:(ne=ee.width,ie=ne/ae);var oe=ee.x+ee.width/2,se=ee.y+ee.height/2;return{x:oe-ne/2,y:se-ie/2,width:ne,height:ie}}var mergePath=mergePath$1;function resizePath(ee,te){if(ee.applyTransform){var ae=ee.getBoundingRect(),ne=ae.calculateTransform(te);ee.applyTransform(ne)}}function subPixelOptimizeLine(ee,te){return subPixelOptimizeLine$1(ee,ee,{lineWidth:te}),ee}function subPixelOptimizeRect(ee){return subPixelOptimizeRect$1(ee.shape,ee.shape,ee.style),ee}var subPixelOptimize=subPixelOptimize$1;function getTransform$1(ee,te){for(var ae=identity([]);ee&&ee!==te;)mul(ae,ee.getLocalTransform(),ae),ee=ee.parent;return ae}function applyTransform(ee,te,ae){return te&&!isArrayLike(te)&&(te=Transformable$1.getLocalTransform(te)),ae&&(te=invert([],te)),applyTransform$1([],ee,te)}function transformDirection(ee,te,ae){var ne=te[4]===0||te[5]===0||te[0]===0?1:Math.abs(2*te[4]/te[0]),ie=te[4]===0||te[5]===0||te[2]===0?1:Math.abs(2*te[4]/te[2]),oe=[ee==="left"?-ne:ee==="right"?ne:0,ee==="top"?-ie:ee==="bottom"?ie:0];return oe=applyTransform(oe,te,ae),Math.abs(oe[0])>Math.abs(oe[1])?oe[0]>0?"right":"left":oe[1]>0?"bottom":"top"}function isNotGroup(ee){return!ee.isGroup}function isPath$1(ee){return ee.shape!=null}function groupTransition(ee,te,ae){if(!ee||!te)return;function ne(se){var le={};return se.traverse(function(ue){isNotGroup(ue)&&ue.anid&&(le[ue.anid]=ue)}),le}function ie(se){var le={x:se.x,y:se.y,rotation:se.rotation};return isPath$1(se)&&(le.shape=extend$1({},se.shape)),le}var oe=ne(ee);te.traverse(function(se){if(isNotGroup(se)&&se.anid){var le=oe[se.anid];if(le){var ue=ie(se);se.attr(ie(le)),updateProps$1(se,ue,ae,getECData(se).dataIndex)}}})}function clipPointsByRect(ee,te){return map$1(ee,function(ae){var ne=ae[0];ne=mathMax$6(ne,te.x),ne=mathMin$6(ne,te.x+te.width);var ie=ae[1];return ie=mathMax$6(ie,te.y),ie=mathMin$6(ie,te.y+te.height),[ne,ie]})}function clipRectByRect(ee,te){var ae=mathMax$6(ee.x,te.x),ne=mathMin$6(ee.x+ee.width,te.x+te.width),ie=mathMax$6(ee.y,te.y),oe=mathMin$6(ee.y+ee.height,te.y+te.height);if(ne>=ae&&oe>=ie)return{x:ae,y:ie,width:ne-ae,height:oe-ie}}function createIcon(ee,te,ae){var ne=extend$1({rectHover:!0},te),ie=ne.style={strokeNoScale:!0};if(ae=ae||{x:-1,y:-1,width:2,height:2},ee)return ee.indexOf("image://")===0?(ie.image=ee.slice(8),defaults$2(ie,ae),new ZRImage$1(ne)):makePath(ee.replace("path://",""),ne,ae,"center")}function linePolygonIntersect(ee,te,ae,ne,ie){for(var oe=0,se=ie[ie.length-1];oe<ie.length;oe++){var le=ie[oe];if(lineLineIntersect$1(ee,te,ae,ne,le[0],le[1],se[0],se[1]))return!0;se=le}}function lineLineIntersect$1(ee,te,ae,ne,ie,oe,se,le){var ue=ae-ee,ce=ne-te,de=se-ie,he=le-oe,fe=crossProduct2d$1(de,he,ue,ce);if(nearZero(fe))return!1;var pe=ee-ie,ve=te-oe,ge=crossProduct2d$1(pe,ve,ue,ce)/fe;if(ge<0||ge>1)return!1;var me=crossProduct2d$1(pe,ve,de,he)/fe;return!(me<0||me>1)}function crossProduct2d$1(ee,te,ae,ne){return ee*ne-ae*te}function nearZero(ee){return ee<=1e-6&&ee>=-1e-6}function setTooltipConfig(ee){var te=ee.itemTooltipOption,ae=ee.componentModel,ne=ee.itemName,ie=isString$1(te)?{formatter:te}:te,oe=ae.mainType,se=ae.componentIndex,le={componentType:oe,name:ne,$vars:["name"]};le[oe+"Index"]=se;var ue=ee.formatterParamsExtra;ue&&each$f(keys(ue),function(de){hasOwn(le,de)||(le[de]=ue[de],le.$vars.push(de))});var ce=getECData(ee.el);ce.componentMainType=oe,ce.componentIndex=se,ce.tooltipConfig={name:ne,option:defaults$2({content:ne,formatterParams:le},ie)}}function traverseElement(ee,te){var ae;ee.isGroup&&(ae=te(ee)),ae||ee.traverse(te)}function traverseElements(ee,te){if(ee)if(isArray$2(ee))for(var ae=0;ae<ee.length;ae++)traverseElement(ee[ae],te);else traverseElement(ee,te)}registerShape("circle",Circle$1);registerShape("ellipse",Ellipse$1);registerShape("sector",Sector$1);registerShape("ring",Ring$1);registerShape("polygon",Polygon$1);registerShape("polyline",Polyline$3);registerShape("rect",Rect$3);registerShape("line",Line$3);registerShape("bezierCurve",BezierCurve$1);registerShape("arc",Arc$1);const graphic$1=Object.freeze(Object.defineProperty({__proto__:null,Arc:Arc$1,BezierCurve:BezierCurve$1,BoundingRect:BoundingRect$1,Circle:Circle$1,CompoundPath:CompoundPath$1,Ellipse:Ellipse$1,Group:Group$4,Image:ZRImage$1,IncrementalDisplayable:IncrementalDisplayable$1,Line:Line$3,LinearGradient:LinearGradient$1,OrientedBoundingRect:OrientedBoundingRect$1,Path:Path$1,Point:Point$1,Polygon:Polygon$1,Polyline:Polyline$3,RadialGradient:RadialGradient$1,Rect:Rect$3,Ring:Ring$1,Sector:Sector$1,Text:ZRText$1,applyTransform,clipPointsByRect,clipRectByRect,createIcon,extendPath,extendShape,getShapeClass,getTransform:getTransform$1,groupTransition,initProps,isElementRemoved,lineLineIntersect:lineLineIntersect$1,linePolygonIntersect,makeImage,makePath,mergePath,registerShape,removeElement,removeElementWithFadeOut,resizePath,setTooltipConfig,subPixelOptimize,subPixelOptimizeLine,subPixelOptimizeRect,transformDirection,traverseElements,updateProps:updateProps$1},Symbol.toStringTag,{value:"Module"}));var EMPTY_OBJ={};function setLabelText(ee,te){for(var ae=0;ae<SPECIAL_STATES.length;ae++){var ne=SPECIAL_STATES[ae],ie=te[ne],oe=ee.ensureState(ne);oe.style=oe.style||{},oe.style.text=ie}var se=ee.currentStates.slice();ee.clearStates(!0),ee.setStyle({text:te.normal}),ee.useStates(se,!0)}function getLabelText(ee,te,ae){var ne=ee.labelFetcher,ie=ee.labelDataIndex,oe=ee.labelDimIndex,se=te.normal,le;ne&&(le=ne.getFormattedLabel(ie,"normal",null,oe,se&&se.get("formatter"),ae!=null?{interpolatedValue:ae}:null)),le==null&&(le=isFunction$1(ee.defaultText)?ee.defaultText(ie,ee,ae):ee.defaultText);for(var ue={normal:le},ce=0;ce<SPECIAL_STATES.length;ce++){var de=SPECIAL_STATES[ce],he=te[de];ue[de]=retrieve2(ne?ne.getFormattedLabel(ie,de,null,oe,he&&he.get("formatter")):null,le)}return ue}function setLabelStyle(ee,te,ae,ne){ae=ae||EMPTY_OBJ;for(var ie=ee instanceof ZRText$1,oe=!1,se=0;se<DISPLAY_STATES.length;se++){var le=te[DISPLAY_STATES[se]];if(le&&le.getShallow("show")){oe=!0;break}}var ue=ie?ee:ee.getTextContent();if(oe){ie||(ue||(ue=new ZRText$1,ee.setTextContent(ue)),ee.stateProxy&&(ue.stateProxy=ee.stateProxy));var ce=getLabelText(ae,te),de=te.normal,he=!!de.getShallow("show"),fe=createTextStyle$1(de,ne&&ne.normal,ae,!1,!ie);fe.text=ce.normal,ie||ee.setTextConfig(createTextConfig(de,ae,!1));for(var se=0;se<SPECIAL_STATES.length;se++){var pe=SPECIAL_STATES[se],le=te[pe];if(le){var ve=ue.ensureState(pe),ge=!!retrieve2(le.getShallow("show"),he);if(ge!==he&&(ve.ignore=!ge),ve.style=createTextStyle$1(le,ne&&ne[pe],ae,!0,!ie),ve.style.text=ce[pe],!ie){var me=ee.ensureState(pe);me.textConfig=createTextConfig(le,ae,!0)}}}ue.silent=!!de.getShallow("silent"),ue.style.x!=null&&(fe.x=ue.style.x),ue.style.y!=null&&(fe.y=ue.style.y),ue.ignore=!he,ue.useStyle(fe),ue.dirty(),ae.enableTextSetter&&(labelInner(ue).setLabelText=function(ye){var _e=getLabelText(ae,te,ye);setLabelText(ue,_e)})}else ue&&(ue.ignore=!0);ee.dirty()}function getLabelStatesModels(ee,te){te=te||"label";for(var ae={normal:ee.getModel(te)},ne=0;ne<SPECIAL_STATES.length;ne++){var ie=SPECIAL_STATES[ne];ae[ie]=ee.getModel([ie,te])}return ae}function createTextStyle$1(ee,te,ae,ne,ie){var oe={};return setTextStyleCommon(oe,ee,ae,ne,ie),te&&extend$1(oe,te),oe}function createTextConfig(ee,te,ae){te=te||{};var ne={},ie,oe=ee.getShallow("rotate"),se=retrieve2(ee.getShallow("distance"),ae?null:5),le=ee.getShallow("offset");return ie=ee.getShallow("position")||(ae?null:"inside"),ie==="outside"&&(ie=te.defaultOutsidePosition||"top"),ie!=null&&(ne.position=ie),le!=null&&(ne.offset=le),oe!=null&&(oe*=Math.PI/180,ne.rotation=oe),se!=null&&(ne.distance=se),ne.outsideFill=ee.get("color")==="inherit"?te.inheritColor||null:"auto",ne}function setTextStyleCommon(ee,te,ae,ne,ie){ae=ae||EMPTY_OBJ;var oe=te.ecModel,se=oe&&oe.option.textStyle,le=getRichItemNames(te),ue;if(le){ue={};for(var ce in le)if(le.hasOwnProperty(ce)){var de=te.getModel(["rich",ce]);setTokenTextStyle(ue[ce]={},de,se,ae,ne,ie,!1,!0)}}ue&&(ee.rich=ue);var he=te.get("overflow");he&&(ee.overflow=he);var fe=te.get("minMargin");fe!=null&&(ee.margin=fe),setTokenTextStyle(ee,te,se,ae,ne,ie,!0,!1)}function getRichItemNames(ee){for(var te;ee&&ee!==ee.ecModel;){var ae=(ee.option||EMPTY_OBJ).rich;if(ae){te=te||{};for(var ne=keys(ae),ie=0;ie<ne.length;ie++){var oe=ne[ie];te[oe]=1}}ee=ee.parentModel}return te}var TEXT_PROPS_WITH_GLOBAL=["fontStyle","fontWeight","fontSize","fontFamily","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY"],TEXT_PROPS_SELF=["align","lineHeight","width","height","tag","verticalAlign","ellipsis"],TEXT_PROPS_BOX=["padding","borderWidth","borderRadius","borderDashOffset","backgroundColor","borderColor","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];function setTokenTextStyle(ee,te,ae,ne,ie,oe,se,le){ae=!ie&&ae||EMPTY_OBJ;var ue=ne&&ne.inheritColor,ce=te.getShallow("color"),de=te.getShallow("textBorderColor"),he=retrieve2(te.getShallow("opacity"),ae.opacity);(ce==="inherit"||ce==="auto")&&(ue?ce=ue:ce=null),(de==="inherit"||de==="auto")&&(ue?de=ue:de=null),oe||(ce=ce||ae.color,de=de||ae.textBorderColor),ce!=null&&(ee.fill=ce),de!=null&&(ee.stroke=de);var fe=retrieve2(te.getShallow("textBorderWidth"),ae.textBorderWidth);fe!=null&&(ee.lineWidth=fe);var pe=retrieve2(te.getShallow("textBorderType"),ae.textBorderType);pe!=null&&(ee.lineDash=pe);var ve=retrieve2(te.getShallow("textBorderDashOffset"),ae.textBorderDashOffset);ve!=null&&(ee.lineDashOffset=ve),!ie&&he==null&&!le&&(he=ne&&ne.defaultOpacity),he!=null&&(ee.opacity=he),!ie&&!oe&&ee.fill==null&&ne.inheritColor&&(ee.fill=ne.inheritColor);for(var ge=0;ge<TEXT_PROPS_WITH_GLOBAL.length;ge++){var me=TEXT_PROPS_WITH_GLOBAL[ge],ye=retrieve2(te.getShallow(me),ae[me]);ye!=null&&(ee[me]=ye)}for(var ge=0;ge<TEXT_PROPS_SELF.length;ge++){var me=TEXT_PROPS_SELF[ge],ye=te.getShallow(me);ye!=null&&(ee[me]=ye)}if(ee.verticalAlign==null){var _e=te.getShallow("baseline");_e!=null&&(ee.verticalAlign=_e)}if(!se||!ne.disableBox){for(var ge=0;ge<TEXT_PROPS_BOX.length;ge++){var me=TEXT_PROPS_BOX[ge],ye=te.getShallow(me);ye!=null&&(ee[me]=ye)}var be=te.getShallow("borderType");be!=null&&(ee.borderDash=be),(ee.backgroundColor==="auto"||ee.backgroundColor==="inherit")&&ue&&(ee.backgroundColor=ue),(ee.borderColor==="auto"||ee.borderColor==="inherit")&&ue&&(ee.borderColor=ue)}}function getFont(ee,te){var ae=te&&te.getModel("textStyle");return trim$2([ee.fontStyle||ae&&ae.getShallow("fontStyle")||"",ee.fontWeight||ae&&ae.getShallow("fontWeight")||"",(ee.fontSize||ae&&ae.getShallow("fontSize")||12)+"px",ee.fontFamily||ae&&ae.getShallow("fontFamily")||"sans-serif"].join(" "))}var labelInner=makeInner();function setLabelValueAnimation(ee,te,ae,ne){if(ee){var ie=labelInner(ee);ie.prevValue=ie.value,ie.value=ae;var oe=te.normal;ie.valueAnimation=oe.get("valueAnimation"),ie.valueAnimation&&(ie.precision=oe.get("precision"),ie.defaultInterpolatedText=ne,ie.statesModels=te)}}function animateLabelValue(ee,te,ae,ne,ie){var oe=labelInner(ee);if(!oe.valueAnimation||oe.prevValue===oe.value)return;var se=oe.defaultInterpolatedText,le=retrieve2(oe.interpolatedValue,oe.prevValue),ue=oe.value;function ce(de){var he=interpolateRawValues(ae,oe.precision,le,ue,de);oe.interpolatedValue=de===1?null:he;var fe=getLabelText({labelDataIndex:te,labelFetcher:ie,defaultText:se?se(he):he+""},oe.statesModels,he);setLabelText(ee,fe)}ee.percent=0,(oe.prevValue==null?initProps:updateProps$1)(ee,{percent:1},ne,te,null,ce)}var PATH_COLOR=["textStyle","color"],textStyleParams=["fontStyle","fontWeight","fontSize","fontFamily","padding","lineHeight","rich","width","height","overflow"],tmpText=new ZRText$1,TextStyleMixin=function(){function ee(){}return ee.prototype.getTextColor=function(te){var ae=this.ecModel;return this.getShallow("color")||(!te&&ae?ae.get(PATH_COLOR):null)},ee.prototype.getFont=function(){return getFont({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},ee.prototype.getTextRect=function(te){for(var ae={text:te,verticalAlign:this.getShallow("verticalAlign")||this.getShallow("baseline")},ne=0;ne<textStyleParams.length;ne++)ae[textStyleParams[ne]]=this.getShallow(textStyleParams[ne]);return tmpText.useStyle(ae),tmpText.update(),tmpText.getBoundingRect()},ee}();const TextStyleMixin$1=TextStyleMixin;var LINE_STYLE_KEY_MAP=[["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","type"],["lineDashOffset","dashOffset"],["lineCap","cap"],["lineJoin","join"],["miterLimit"]],getLineStyle=makeStyleMapper(LINE_STYLE_KEY_MAP),LineStyleMixin=function(){function ee(){}return ee.prototype.getLineStyle=function(te){return getLineStyle(this,te)},ee}(),ITEM_STYLE_KEY_MAP=[["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","borderType"],["lineDashOffset","borderDashOffset"],["lineCap","borderCap"],["lineJoin","borderJoin"],["miterLimit","borderMiterLimit"]],getItemStyle=makeStyleMapper(ITEM_STYLE_KEY_MAP),ItemStyleMixin=function(){function ee(){}return ee.prototype.getItemStyle=function(te,ae){return getItemStyle(this,te,ae)},ee}(),Model=function(){function ee(te,ae,ne){this.parentModel=ae,this.ecModel=ne,this.option=te}return ee.prototype.init=function(te,ae,ne){},ee.prototype.mergeOption=function(te,ae){merge$1(this.option,te,!0)},ee.prototype.get=function(te,ae){return te==null?this.option:this._doGet(this.parsePath(te),!ae&&this.parentModel)},ee.prototype.getShallow=function(te,ae){var ne=this.option,ie=ne==null?ne:ne[te];if(ie==null&&!ae){var oe=this.parentModel;oe&&(ie=oe.getShallow(te))}return ie},ee.prototype.getModel=function(te,ae){var ne=te!=null,ie=ne?this.parsePath(te):null,oe=ne?this._doGet(ie):this.option;return ae=ae||this.parentModel&&this.parentModel.getModel(this.resolveParentPath(ie)),new ee(oe,ae,this.ecModel)},ee.prototype.isEmpty=function(){return this.option==null},ee.prototype.restoreData=function(){},ee.prototype.clone=function(){var te=this.constructor;return new te(clone$4(this.option))},ee.prototype.parsePath=function(te){return typeof te=="string"?te.split("."):te},ee.prototype.resolveParentPath=function(te){return te},ee.prototype.isAnimationEnabled=function(){if(!env$1.node&&this.option){if(this.option.animation!=null)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}},ee.prototype._doGet=function(te,ae){var ne=this.option;if(!te)return ne;for(var ie=0;ie<te.length&&!(te[ie]&&(ne=ne&&typeof ne=="object"?ne[te[ie]]:null,ne==null));ie++);return ne==null&&ae&&(ne=ae._doGet(this.resolveParentPath(te),ae.parentModel)),ne},ee}();enableClassExtend(Model);enableClassCheck(Model);mixin(Model,LineStyleMixin);mixin(Model,ItemStyleMixin);mixin(Model,AreaStyleMixin);mixin(Model,TextStyleMixin$1);const Model$1=Model;var base=Math.round(Math.random()*10);function getUID(ee){return[ee||"",base++].join("_")}function enableSubTypeDefaulter(ee){var te={};ee.registerSubTypeDefaulter=function(ae,ne){var ie=parseClassType(ae);te[ie.main]=ne},ee.determineSubType=function(ae,ne){var ie=ne.type;if(!ie){var oe=parseClassType(ae).main;ee.hasSubTypes(ae)&&te[oe]&&(ie=te[oe](ne))}return ie}}function enableTopologicalTravel(ee,te){ee.topologicalTravel=function(oe,se,le,ue){if(!oe.length)return;var ce=ae(se),de=ce.graph,he=ce.noEntryList,fe={};for(each$f(oe,function(_e){fe[_e]=!0});he.length;){var pe=he.pop(),ve=de[pe],ge=!!fe[pe];ge&&(le.call(ue,pe,ve.originalDeps.slice()),delete fe[pe]),each$f(ve.successor,ge?ye:me)}each$f(fe,function(){var _e="";throw new Error(_e)});function me(_e){de[_e].entryCount--,de[_e].entryCount===0&&he.push(_e)}function ye(_e){fe[_e]=!0,me(_e)}};function ae(oe){var se={},le=[];return each$f(oe,function(ue){var ce=ne(se,ue),de=ce.originalDeps=te(ue),he=ie(de,oe);ce.entryCount=he.length,ce.entryCount===0&&le.push(ue),each$f(he,function(fe){indexOf(ce.predecessor,fe)<0&&ce.predecessor.push(fe);var pe=ne(se,fe);indexOf(pe.successor,fe)<0&&pe.successor.push(ue)})}),{graph:se,noEntryList:le}}function ne(oe,se){return oe[se]||(oe[se]={predecessor:[],successor:[]}),oe[se]}function ie(oe,se){var le=[];return each$f(oe,function(ue){indexOf(se,ue)>=0&&le.push(ue)}),le}}function inheritDefaultOption(ee,te){return merge$1(merge$1({},ee,!0),te,!0)}const langEN={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},langZH={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var LOCALE_ZH="ZH",LOCALE_EN="EN",DEFAULT_LOCALE=LOCALE_EN,localeStorage={},localeModels={},SYSTEM_LANG=env$1.domSupported?function(){var ee=(document.documentElement.lang||navigator.language||navigator.browserLanguage).toUpperCase();return ee.indexOf(LOCALE_ZH)>-1?LOCALE_ZH:DEFAULT_LOCALE}():DEFAULT_LOCALE;function registerLocale(ee,te){ee=ee.toUpperCase(),localeModels[ee]=new Model$1(te),localeStorage[ee]=te}function createLocaleObject(ee){if(isString$1(ee)){var te=localeStorage[ee.toUpperCase()]||{};return ee===LOCALE_ZH||ee===LOCALE_EN?clone$4(te):merge$1(clone$4(te),clone$4(localeStorage[DEFAULT_LOCALE]),!1)}else return merge$1(clone$4(ee),clone$4(localeStorage[DEFAULT_LOCALE]),!1)}function getLocaleModel(ee){return localeModels[ee]}function getDefaultLocaleModel(){return localeModels[DEFAULT_LOCALE]}registerLocale(LOCALE_EN,langEN);registerLocale(LOCALE_ZH,langZH);var ONE_SECOND=1e3,ONE_MINUTE=ONE_SECOND*60,ONE_HOUR=ONE_MINUTE*60,ONE_DAY=ONE_HOUR*24,ONE_YEAR=ONE_DAY*365,defaultLeveledFormatter={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},fullDayFormatter="{yyyy}-{MM}-{dd}",fullLeveledFormatter={year:"{yyyy}",month:"{yyyy}-{MM}",day:fullDayFormatter,hour:fullDayFormatter+" "+defaultLeveledFormatter.hour,minute:fullDayFormatter+" "+defaultLeveledFormatter.minute,second:fullDayFormatter+" "+defaultLeveledFormatter.second,millisecond:defaultLeveledFormatter.none},primaryTimeUnits=["year","month","day","hour","minute","second","millisecond"],timeUnits=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function pad(ee,te){return ee+="","0000".substr(0,te-ee.length)+ee}function getPrimaryTimeUnit(ee){switch(ee){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return ee}}function isPrimaryTimeUnit(ee){return ee===getPrimaryTimeUnit(ee)}function getDefaultFormatPrecisionOfInterval(ee){switch(ee){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function format$1(ee,te,ae,ne){var ie=parseDate(ee),oe=ie[fullYearGetterName(ae)](),se=ie[monthGetterName(ae)]()+1,le=Math.floor((se-1)/3)+1,ue=ie[dateGetterName(ae)](),ce=ie["get"+(ae?"UTC":"")+"Day"](),de=ie[hoursGetterName(ae)](),he=(de-1)%12+1,fe=ie[minutesGetterName(ae)](),pe=ie[secondsGetterName(ae)](),ve=ie[millisecondsGetterName(ae)](),ge=ne instanceof Model$1?ne:getLocaleModel(ne||SYSTEM_LANG)||getDefaultLocaleModel(),me=ge.getModel("time"),ye=me.get("month"),_e=me.get("monthAbbr"),be=me.get("dayOfWeek"),xe=me.get("dayOfWeekAbbr");return(te||"").replace(/{yyyy}/g,oe+"").replace(/{yy}/g,pad(oe%100+"",2)).replace(/{Q}/g,le+"").replace(/{MMMM}/g,ye[se-1]).replace(/{MMM}/g,_e[se-1]).replace(/{MM}/g,pad(se,2)).replace(/{M}/g,se+"").replace(/{dd}/g,pad(ue,2)).replace(/{d}/g,ue+"").replace(/{eeee}/g,be[ce]).replace(/{ee}/g,xe[ce]).replace(/{e}/g,ce+"").replace(/{HH}/g,pad(de,2)).replace(/{H}/g,de+"").replace(/{hh}/g,pad(he+"",2)).replace(/{h}/g,he+"").replace(/{mm}/g,pad(fe,2)).replace(/{m}/g,fe+"").replace(/{ss}/g,pad(pe,2)).replace(/{s}/g,pe+"").replace(/{SSS}/g,pad(ve,3)).replace(/{S}/g,ve+"")}function leveledFormat(ee,te,ae,ne,ie){var oe=null;if(isString$1(ae))oe=ae;else if(isFunction$1(ae))oe=ae(ee.value,te,{level:ee.level});else{var se=extend$1({},defaultLeveledFormatter);if(ee.level>0)for(var le=0;le<primaryTimeUnits.length;++le)se[primaryTimeUnits[le]]="{primary|"+se[primaryTimeUnits[le]]+"}";var ue=ae?ae.inherit===!1?ae:defaults$2(ae,se):se,ce=getUnitFromValue(ee.value,ie);if(ue[ce])oe=ue[ce];else if(ue.inherit){for(var de=timeUnits.indexOf(ce),le=de-1;le>=0;--le)if(ue[ce]){oe=ue[ce];break}oe=oe||se.none}if(isArray$2(oe)){var he=ee.level==null?0:ee.level>=0?ee.level:oe.length+ee.level;he=Math.min(he,oe.length-1),oe=oe[he]}}return format$1(new Date(ee.value),oe,ie,ne)}function getUnitFromValue(ee,te){var ae=parseDate(ee),ne=ae[monthGetterName(te)]()+1,ie=ae[dateGetterName(te)](),oe=ae[hoursGetterName(te)](),se=ae[minutesGetterName(te)](),le=ae[secondsGetterName(te)](),ue=ae[millisecondsGetterName(te)](),ce=ue===0,de=ce&&le===0,he=de&&se===0,fe=he&&oe===0,pe=fe&&ie===1,ve=pe&&ne===1;return ve?"year":pe?"month":fe?"day":he?"hour":de?"minute":ce?"second":"millisecond"}function getUnitValue(ee,te,ae){var ne=isNumber$1(ee)?parseDate(ee):ee;switch(te=te||getUnitFromValue(ee,ae),te){case"year":return ne[fullYearGetterName(ae)]();case"half-year":return ne[monthGetterName(ae)]()>=6?1:0;case"quarter":return Math.floor((ne[monthGetterName(ae)]()+1)/4);case"month":return ne[monthGetterName(ae)]();case"day":return ne[dateGetterName(ae)]();case"half-day":return ne[hoursGetterName(ae)]()/24;case"hour":return ne[hoursGetterName(ae)]();case"minute":return ne[minutesGetterName(ae)]();case"second":return ne[secondsGetterName(ae)]();case"millisecond":return ne[millisecondsGetterName(ae)]()}}function fullYearGetterName(ee){return ee?"getUTCFullYear":"getFullYear"}function monthGetterName(ee){return ee?"getUTCMonth":"getMonth"}function dateGetterName(ee){return ee?"getUTCDate":"getDate"}function hoursGetterName(ee){return ee?"getUTCHours":"getHours"}function minutesGetterName(ee){return ee?"getUTCMinutes":"getMinutes"}function secondsGetterName(ee){return ee?"getUTCSeconds":"getSeconds"}function millisecondsGetterName(ee){return ee?"getUTCMilliseconds":"getMilliseconds"}function fullYearSetterName(ee){return ee?"setUTCFullYear":"setFullYear"}function monthSetterName(ee){return ee?"setUTCMonth":"setMonth"}function dateSetterName(ee){return ee?"setUTCDate":"setDate"}function hoursSetterName(ee){return ee?"setUTCHours":"setHours"}function minutesSetterName(ee){return ee?"setUTCMinutes":"setMinutes"}function secondsSetterName(ee){return ee?"setUTCSeconds":"setSeconds"}function millisecondsSetterName(ee){return ee?"setUTCMilliseconds":"setMilliseconds"}function getTextRect(ee,te,ae,ne,ie,oe,se,le){var ue=new ZRText$1({style:{text:ee,font:te,align:ae,verticalAlign:ne,padding:ie,rich:oe,overflow:se?"truncate":null,lineHeight:le}});return ue.getBoundingRect()}function addCommas(ee){if(!isNumeric(ee))return isString$1(ee)?ee:"-";var te=(ee+"").split(".");return te[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(te.length>1?"."+te[1]:"")}function toCamelCase$1(ee,te){return ee=(ee||"").toLowerCase().replace(/-(.)/g,function(ae,ne){return ne.toUpperCase()}),te&&ee&&(ee=ee.charAt(0).toUpperCase()+ee.slice(1)),ee}var normalizeCssArray=normalizeCssArray$1;function makeValueReadable(ee,te,ae){var ne="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function ie(de){return de&&trim$2(de)?de:"-"}function oe(de){return!!(de!=null&&!isNaN(de)&&isFinite(de))}var se=te==="time",le=ee instanceof Date;if(se||le){var ue=se?parseDate(ee):ee;if(isNaN(+ue)){if(le)return"-"}else return format$1(ue,ne,ae)}if(te==="ordinal")return isStringSafe(ee)?ie(ee):isNumber$1(ee)&&oe(ee)?ee+"":"-";var ce=numericToNumber(ee);return oe(ce)?addCommas(ce):isStringSafe(ee)?ie(ee):typeof ee=="boolean"?ee+"":"-"}var TPL_VAR_ALIAS=["a","b","c","d","e","f","g"],wrapVar=function(ee,te){return"{"+ee+(te??"")+"}"};function formatTpl(ee,te,ae){isArray$2(te)||(te=[te]);var ne=te.length;if(!ne)return"";for(var ie=te[0].$vars||[],oe=0;oe<ie.length;oe++){var se=TPL_VAR_ALIAS[oe];ee=ee.replace(wrapVar(se),wrapVar(se,0))}for(var le=0;le<ne;le++)for(var ue=0;ue<ie.length;ue++){var ce=te[le][ie[ue]];ee=ee.replace(wrapVar(TPL_VAR_ALIAS[ue],le),ae?encodeHTML(ce):ce)}return ee}function formatTplSimple(ee,te,ae){return each$f(te,function(ne,ie){ee=ee.replace("{"+ie+"}",ae?encodeHTML(ne):ne)}),ee}function getTooltipMarker(ee,te){var ae=isString$1(ee)?{color:ee,extraCssText:te}:ee||{},ne=ae.color,ie=ae.type;te=ae.extraCssText;var oe=ae.renderMode||"html";if(!ne)return"";if(oe==="html")return ie==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+encodeHTML(ne)+";"+(te||"")+'"></span>':'<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:'+encodeHTML(ne)+";"+(te||"")+'"></span>';var se=ae.markerId||"markerX";return{renderMode:oe,content:"{"+se+"|}  ",style:ie==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:ne}:{width:10,height:10,borderRadius:5,backgroundColor:ne}}}function formatTime(ee,te,ae){(ee==="week"||ee==="month"||ee==="quarter"||ee==="half-year"||ee==="year")&&(ee=`MM-dd
-yyyy`);var ne=parseDate(te),ie=ae?"getUTC":"get",oe=ne[ie+"FullYear"](),se=ne[ie+"Month"]()+1,le=ne[ie+"Date"](),ue=ne[ie+"Hours"](),ce=ne[ie+"Minutes"](),de=ne[ie+"Seconds"](),he=ne[ie+"Milliseconds"]();return ee=ee.replace("MM",pad(se,2)).replace("M",se).replace("yyyy",oe).replace("yy",pad(oe%100+"",2)).replace("dd",pad(le,2)).replace("d",le).replace("hh",pad(ue,2)).replace("h",ue).replace("mm",pad(ce,2)).replace("m",ce).replace("ss",pad(de,2)).replace("s",de).replace("SSS",pad(he,3)),ee}function capitalFirst(ee){return ee&&ee.charAt(0).toUpperCase()+ee.substr(1)}function convertToColorString(ee,te){return te=te||"transparent",isString$1(ee)?ee:isObject$4(ee)&&ee.colorStops&&(ee.colorStops[0]||{}).color||te}function windowOpen(ee,te){if(te==="_blank"||te==="blank"){var ae=window.open();ae.opener=null,ae.location.href=ee}else window.open(ee,te)}var each$e=each$f,LOCATION_PARAMS=["left","right","top","bottom","width","height"],HV_NAMES=[["width","left","right"],["height","top","bottom"]];function boxLayout(ee,te,ae,ne,ie){var oe=0,se=0;ne==null&&(ne=1/0),ie==null&&(ie=1/0);var le=0;te.eachChild(function(ue,ce){var de=ue.getBoundingRect(),he=te.childAt(ce+1),fe=he&&he.getBoundingRect(),pe,ve;if(ee==="horizontal"){var ge=de.width+(fe?-fe.x+de.x:0);pe=oe+ge,pe>ne||ue.newline?(oe=0,pe=ge,se+=le+ae,le=de.height):le=Math.max(le,de.height)}else{var me=de.height+(fe?-fe.y+de.y:0);ve=se+me,ve>ie||ue.newline?(oe+=le+ae,se=0,ve=me,le=de.width):le=Math.max(le,de.width)}ue.newline||(ue.x=oe,ue.y=se,ue.markRedraw(),ee==="horizontal"?oe=pe+ae:se=ve+ae)})}var box=boxLayout;curry$1(boxLayout,"vertical");curry$1(boxLayout,"horizontal");function getAvailableSize(ee,te,ae){var ne=te.width,ie=te.height,oe=parsePercent(ee.left,ne),se=parsePercent(ee.top,ie),le=parsePercent(ee.right,ne),ue=parsePercent(ee.bottom,ie);return(isNaN(oe)||isNaN(parseFloat(ee.left)))&&(oe=0),(isNaN(le)||isNaN(parseFloat(ee.right)))&&(le=ne),(isNaN(se)||isNaN(parseFloat(ee.top)))&&(se=0),(isNaN(ue)||isNaN(parseFloat(ee.bottom)))&&(ue=ie),ae=normalizeCssArray(ae||0),{width:Math.max(le-oe-ae[1]-ae[3],0),height:Math.max(ue-se-ae[0]-ae[2],0)}}function getLayoutRect(ee,te,ae){ae=normalizeCssArray(ae||0);var ne=te.width,ie=te.height,oe=parsePercent(ee.left,ne),se=parsePercent(ee.top,ie),le=parsePercent(ee.right,ne),ue=parsePercent(ee.bottom,ie),ce=parsePercent(ee.width,ne),de=parsePercent(ee.height,ie),he=ae[2]+ae[0],fe=ae[1]+ae[3],pe=ee.aspect;switch(isNaN(ce)&&(ce=ne-le-fe-oe),isNaN(de)&&(de=ie-ue-he-se),pe!=null&&(isNaN(ce)&&isNaN(de)&&(pe>ne/ie?ce=ne*.8:de=ie*.8),isNaN(ce)&&(ce=pe*de),isNaN(de)&&(de=ce/pe)),isNaN(oe)&&(oe=ne-le-ce-fe),isNaN(se)&&(se=ie-ue-de-he),ee.left||ee.right){case"center":oe=ne/2-ce/2-ae[3];break;case"right":oe=ne-ce-fe;break}switch(ee.top||ee.bottom){case"middle":case"center":se=ie/2-de/2-ae[0];break;case"bottom":se=ie-de-he;break}oe=oe||0,se=se||0,isNaN(ce)&&(ce=ne-fe-oe-(le||0)),isNaN(de)&&(de=ie-he-se-(ue||0));var ve=new BoundingRect$1(oe+ae[3],se+ae[0],ce,de);return ve.margin=ae,ve}function positionElement(ee,te,ae,ne,ie,oe){var se=!ie||!ie.hv||ie.hv[0],le=!ie||!ie.hv||ie.hv[1],ue=ie&&ie.boundingMode||"all";if(oe=oe||ee,oe.x=ee.x,oe.y=ee.y,!se&&!le)return!1;var ce;if(ue==="raw")ce=ee.type==="group"?new BoundingRect$1(0,0,+te.width||0,+te.height||0):ee.getBoundingRect();else if(ce=ee.getBoundingRect(),ee.needLocalTransform()){var de=ee.getLocalTransform();ce=ce.clone(),ce.applyTransform(de)}var he=getLayoutRect(defaults$2({width:ce.width,height:ce.height},te),ae,ne),fe=se?he.x-ce.x:0,pe=le?he.y-ce.y:0;return ue==="raw"?(oe.x=fe,oe.y=pe):(oe.x+=fe,oe.y+=pe),oe===ee&&ee.markRedraw(),!0}function sizeCalculable(ee,te){return ee[HV_NAMES[te][0]]!=null||ee[HV_NAMES[te][1]]!=null&&ee[HV_NAMES[te][2]]!=null}function fetchLayoutMode(ee){var te=ee.layoutMode||ee.constructor.layoutMode;return isObject$4(te)?te:te?{type:te}:null}function mergeLayoutParam(ee,te,ae){var ne=ae&&ae.ignoreSize;!isArray$2(ne)&&(ne=[ne,ne]);var ie=se(HV_NAMES[0],0),oe=se(HV_NAMES[1],1);ce(HV_NAMES[0],ee,ie),ce(HV_NAMES[1],ee,oe);function se(de,he){var fe={},pe=0,ve={},ge=0,me=2;if(each$e(de,function(be){ve[be]=ee[be]}),each$e(de,function(be){le(te,be)&&(fe[be]=ve[be]=te[be]),ue(fe,be)&&pe++,ue(ve,be)&&ge++}),ne[he])return ue(te,de[1])?ve[de[2]]=null:ue(te,de[2])&&(ve[de[1]]=null),ve;if(ge===me||!pe)return ve;if(pe>=me)return fe;for(var ye=0;ye<de.length;ye++){var _e=de[ye];if(!le(fe,_e)&&le(ee,_e)){fe[_e]=ee[_e];break}}return fe}function le(de,he){return de.hasOwnProperty(he)}function ue(de,he){return de[he]!=null&&de[he]!=="auto"}function ce(de,he,fe){each$e(de,function(pe){he[pe]=fe[pe]})}}function getLayoutParams(ee){return copyLayoutParams({},ee)}function copyLayoutParams(ee,te){return te&&ee&&each$e(LOCATION_PARAMS,function(ae){te.hasOwnProperty(ae)&&(ee[ae]=te[ae])}),ee}var inner$l=makeInner(),ComponentModel=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this,ae,ne,ie)||this;return oe.uid=getUID("ec_cpt_model"),oe}return te.prototype.init=function(ae,ne,ie){this.mergeDefaultAndTheme(ae,ie)},te.prototype.mergeDefaultAndTheme=function(ae,ne){var ie=fetchLayoutMode(this),oe=ie?getLayoutParams(ae):{},se=ne.getTheme();merge$1(ae,se.get(this.mainType)),merge$1(ae,this.getDefaultOption()),ie&&mergeLayoutParam(ae,oe,ie)},te.prototype.mergeOption=function(ae,ne){merge$1(this.option,ae,!0);var ie=fetchLayoutMode(this);ie&&mergeLayoutParam(this.option,ae,ie)},te.prototype.optionUpdated=function(ae,ne){},te.prototype.getDefaultOption=function(){var ae=this.constructor;if(!isExtendedClass(ae))return ae.defaultOption;var ne=inner$l(this);if(!ne.defaultOption){for(var ie=[],oe=ae;oe;){var se=oe.prototype.defaultOption;se&&ie.push(se),oe=oe.superClass}for(var le={},ue=ie.length-1;ue>=0;ue--)le=merge$1(le,ie[ue],!0);ne.defaultOption=le}return ne.defaultOption},te.prototype.getReferringComponents=function(ae,ne){var ie=ae+"Index",oe=ae+"Id";return queryReferringComponents(this.ecModel,ae,{index:this.get(ie,!0),id:this.get(oe,!0)},ne)},te.prototype.getBoxLayoutParams=function(){var ae=this;return{left:ae.get("left"),top:ae.get("top"),right:ae.get("right"),bottom:ae.get("bottom"),width:ae.get("width"),height:ae.get("height")}},te.prototype.getZLevelKey=function(){return""},te.prototype.setZLevel=function(ae){this.option.zlevel=ae},te.protoInitialize=function(){var ae=te.prototype;ae.type="component",ae.id="",ae.name="",ae.mainType="",ae.subType="",ae.componentIndex=0}(),te}(Model$1);mountExtend(ComponentModel,Model$1);enableClassManagement(ComponentModel);enableSubTypeDefaulter(ComponentModel);enableTopologicalTravel(ComponentModel,getDependencies);function getDependencies(ee){var te=[];return each$f(ComponentModel.getClassesByMainType(ee),function(ae){te=te.concat(ae.dependencies||ae.prototype.dependencies||[])}),te=map$1(te,function(ae){return parseClassType(ae).main}),ee!=="dataset"&&indexOf(te,"dataset")<=0&&te.unshift("dataset"),te}const ComponentModel$1=ComponentModel;var platform$2="";typeof navigator<"u"&&(platform$2=navigator.platform||"");var decalColor="rgba(0, 0, 0, 0.2)";const globalDefault={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:decalColor,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:decalColor,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:decalColor,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:decalColor,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:decalColor,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:decalColor,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:platform$2.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var VISUAL_DIMENSIONS=createHashMap(["tooltip","label","itemName","itemId","itemGroupId","seriesName"]),SOURCE_FORMAT_ORIGINAL="original",SOURCE_FORMAT_ARRAY_ROWS="arrayRows",SOURCE_FORMAT_OBJECT_ROWS="objectRows",SOURCE_FORMAT_KEYED_COLUMNS="keyedColumns",SOURCE_FORMAT_TYPED_ARRAY="typedArray",SOURCE_FORMAT_UNKNOWN="unknown",SERIES_LAYOUT_BY_COLUMN="column",SERIES_LAYOUT_BY_ROW="row",BE_ORDINAL={Must:1,Might:2,Not:3},innerGlobalModel=makeInner();function resetSourceDefaulter(ee){innerGlobalModel(ee).datasetMap=createHashMap()}function makeSeriesEncodeForAxisCoordSys(ee,te,ae){var ne={},ie=querySeriesUpstreamDatasetModel(te);if(!ie||!ee)return ne;var oe=[],se=[],le=te.ecModel,ue=innerGlobalModel(le).datasetMap,ce=ie.uid+"_"+ae.seriesLayoutBy,de,he;ee=ee.slice(),each$f(ee,function(ge,me){var ye=isObject$4(ge)?ge:ee[me]={name:ge};ye.type==="ordinal"&&de==null&&(de=me,he=ve(ye)),ne[ye.name]=[]});var fe=ue.get(ce)||ue.set(ce,{categoryWayDim:he,valueWayDim:0});each$f(ee,function(ge,me){var ye=ge.name,_e=ve(ge);if(de==null){var be=fe.valueWayDim;pe(ne[ye],be,_e),pe(se,be,_e),fe.valueWayDim+=_e}else if(de===me)pe(ne[ye],0,_e),pe(oe,0,_e);else{var be=fe.categoryWayDim;pe(ne[ye],be,_e),pe(se,be,_e),fe.categoryWayDim+=_e}});function pe(ge,me,ye){for(var _e=0;_e<ye;_e++)ge.push(me+_e)}function ve(ge){var me=ge.dimsDef;return me?me.length:1}return oe.length&&(ne.itemName=oe),se.length&&(ne.seriesName=se),ne}function makeSeriesEncodeForNameBased(ee,te,ae){var ne={},ie=querySeriesUpstreamDatasetModel(ee);if(!ie)return ne;var oe=te.sourceFormat,se=te.dimensionsDefine,le;(oe===SOURCE_FORMAT_OBJECT_ROWS||oe===SOURCE_FORMAT_KEYED_COLUMNS)&&each$f(se,function(de,he){(isObject$4(de)?de.name:de)==="name"&&(le=he)});var ue=function(){for(var de={},he={},fe=[],pe=0,ve=Math.min(5,ae);pe<ve;pe++){var ge=doGuessOrdinal(te.data,oe,te.seriesLayoutBy,se,te.startIndex,pe);fe.push(ge);var me=ge===BE_ORDINAL.Not;if(me&&de.v==null&&pe!==le&&(de.v=pe),(de.n==null||de.n===de.v||!me&&fe[de.n]===BE_ORDINAL.Not)&&(de.n=pe),ye(de)&&fe[de.n]!==BE_ORDINAL.Not)return de;me||(ge===BE_ORDINAL.Might&&he.v==null&&pe!==le&&(he.v=pe),(he.n==null||he.n===he.v)&&(he.n=pe))}function ye(_e){return _e.v!=null&&_e.n!=null}return ye(de)?de:ye(he)?he:null}();if(ue){ne.value=[ue.v];var ce=le??ue.n;ne.itemName=[ce],ne.seriesName=[ce]}return ne}function querySeriesUpstreamDatasetModel(ee){var te=ee.get("data",!0);if(!te)return queryReferringComponents(ee.ecModel,"dataset",{index:ee.get("datasetIndex",!0),id:ee.get("datasetId",!0)},SINGLE_REFERRING).models[0]}function queryDatasetUpstreamDatasetModels(ee){return!ee.get("transform",!0)&&!ee.get("fromTransformResult",!0)?[]:queryReferringComponents(ee.ecModel,"dataset",{index:ee.get("fromDatasetIndex",!0),id:ee.get("fromDatasetId",!0)},SINGLE_REFERRING).models}function guessOrdinal(ee,te){return doGuessOrdinal(ee.data,ee.sourceFormat,ee.seriesLayoutBy,ee.dimensionsDefine,ee.startIndex,te)}function doGuessOrdinal(ee,te,ae,ne,ie,oe){var se,le=5;if(isTypedArray$1(ee))return BE_ORDINAL.Not;var ue,ce;if(ne){var de=ne[oe];isObject$4(de)?(ue=de.name,ce=de.type):isString$1(de)&&(ue=de)}if(ce!=null)return ce==="ordinal"?BE_ORDINAL.Must:BE_ORDINAL.Not;if(te===SOURCE_FORMAT_ARRAY_ROWS){var he=ee;if(ae===SERIES_LAYOUT_BY_ROW){for(var fe=he[oe],pe=0;pe<(fe||[]).length&&pe<le;pe++)if((se=xe(fe[ie+pe]))!=null)return se}else for(var pe=0;pe<he.length&&pe<le;pe++){var ve=he[ie+pe];if(ve&&(se=xe(ve[oe]))!=null)return se}}else if(te===SOURCE_FORMAT_OBJECT_ROWS){var ge=ee;if(!ue)return BE_ORDINAL.Not;for(var pe=0;pe<ge.length&&pe<le;pe++){var me=ge[pe];if(me&&(se=xe(me[ue]))!=null)return se}}else if(te===SOURCE_FORMAT_KEYED_COLUMNS){var ye=ee;if(!ue)return BE_ORDINAL.Not;var fe=ye[ue];if(!fe||isTypedArray$1(fe))return BE_ORDINAL.Not;for(var pe=0;pe<fe.length&&pe<le;pe++)if((se=xe(fe[pe]))!=null)return se}else if(te===SOURCE_FORMAT_ORIGINAL)for(var _e=ee,pe=0;pe<_e.length&&pe<le;pe++){var me=_e[pe],be=getDataItemValue(me);if(!isArray$2(be))return BE_ORDINAL.Not;if((se=xe(be[oe]))!=null)return se}function xe($e){var Se=isString$1($e);if($e!=null&&isFinite($e)&&$e!=="")return Se?BE_ORDINAL.Might:BE_ORDINAL.Not;if(Se&&$e!=="-")return BE_ORDINAL.Must}return BE_ORDINAL.Not}var internalOptionCreatorMap=createHashMap();function registerInternalOptionCreator(ee,te){assert(internalOptionCreatorMap.get(ee)==null&&te),internalOptionCreatorMap.set(ee,te)}function concatInternalOptions(ee,te,ae){var ne=internalOptionCreatorMap.get(te);if(!ne)return ae;var ie=ne(ee);return ie?ae.concat(ie):ae}var innerColor=makeInner(),innerDecal=makeInner(),PaletteMixin=function(){function ee(){}return ee.prototype.getColorFromPalette=function(te,ae,ne){var ie=normalizeToArray(this.get("color",!0)),oe=this.get("colorLayer",!0);return getFromPalette(this,innerColor,ie,oe,te,ae,ne)},ee.prototype.clearColorPalette=function(){clearPalette(this,innerColor)},ee}();function getDecalFromPalette(ee,te,ae,ne){var ie=normalizeToArray(ee.get(["aria","decal","decals"]));return getFromPalette(ee,innerDecal,ie,null,te,ae,ne)}function getNearestPalette(ee,te){for(var ae=ee.length,ne=0;ne<ae;ne++)if(ee[ne].length>te)return ee[ne];return ee[ae-1]}function getFromPalette(ee,te,ae,ne,ie,oe,se){oe=oe||ee;var le=te(oe),ue=le.paletteIdx||0,ce=le.paletteNameMap=le.paletteNameMap||{};if(ce.hasOwnProperty(ie))return ce[ie];var de=se==null||!ne?ae:getNearestPalette(ne,se);if(de=de||ae,!(!de||!de.length)){var he=de[ue];return ie&&(ce[ie]=he),le.paletteIdx=(ue+1)%de.length,he}}function clearPalette(ee,te){te(ee).paletteIdx=0,te(ee).paletteNameMap={}}var reCreateSeriesIndices,assertSeriesInitialized,initBase$1,OPTION_INNER_KEY="\0_ec_inner",OPTION_INNER_VALUE=1,GlobalModel=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.init=function(ae,ne,ie,oe,se,le){oe=oe||{},this.option=null,this._theme=new Model$1(oe),this._locale=new Model$1(se),this._optionManager=le},te.prototype.setOption=function(ae,ne,ie){var oe=normalizeSetOptionInput(ne);this._optionManager.setOption(ae,ie,oe),this._resetOption(null,oe)},te.prototype.resetOption=function(ae,ne){return this._resetOption(ae,normalizeSetOptionInput(ne))},te.prototype._resetOption=function(ae,ne){var ie=!1,oe=this._optionManager;if(!ae||ae==="recreate"){var se=oe.mountOption(ae==="recreate");!this.option||ae==="recreate"?initBase$1(this,se):(this.restoreData(),this._mergeOption(se,ne)),ie=!0}if((ae==="timeline"||ae==="media")&&this.restoreData(),!ae||ae==="recreate"||ae==="timeline"){var le=oe.getTimelineOption(this);le&&(ie=!0,this._mergeOption(le,ne))}if(!ae||ae==="recreate"||ae==="media"){var ue=oe.getMediaOption(this);ue.length&&each$f(ue,function(ce){ie=!0,this._mergeOption(ce,ne)},this)}return ie},te.prototype.mergeOption=function(ae){this._mergeOption(ae,null)},te.prototype._mergeOption=function(ae,ne){var ie=this.option,oe=this._componentsMap,se=this._componentsCount,le=[],ue=createHashMap(),ce=ne&&ne.replaceMergeMainTypeMap;resetSourceDefaulter(this),each$f(ae,function(he,fe){he!=null&&(ComponentModel$1.hasClass(fe)?fe&&(le.push(fe),ue.set(fe,!0)):ie[fe]=ie[fe]==null?clone$4(he):merge$1(ie[fe],he,!0))}),ce&&ce.each(function(he,fe){ComponentModel$1.hasClass(fe)&&!ue.get(fe)&&(le.push(fe),ue.set(fe,!0))}),ComponentModel$1.topologicalTravel(le,ComponentModel$1.getAllClassMainTypes(),de,this);function de(he){var fe=concatInternalOptions(this,he,normalizeToArray(ae[he])),pe=oe.get(he),ve=pe?ce&&ce.get(he)?"replaceMerge":"normalMerge":"replaceAll",ge=mappingToExists(pe,fe,ve);setComponentTypeToKeyInfo(ge,he,ComponentModel$1),ie[he]=null,oe.set(he,null),se.set(he,0);var me=[],ye=[],_e=0,be;each$f(ge,function(xe,$e){var Se=xe.existing,we=xe.newOption;if(!we)Se&&(Se.mergeOption({},this),Se.optionUpdated({},!1));else{var Ae=he==="series",Te=ComponentModel$1.getClass(he,xe.keyInfo.subType,!Ae);if(!Te)return;if(he==="tooltip"){if(be)return;be=!0}if(Se&&Se.constructor===Te)Se.name=xe.keyInfo.name,Se.mergeOption(we,this),Se.optionUpdated(we,!1);else{var De=extend$1({componentIndex:$e},xe.keyInfo);Se=new Te(we,this,this,De),extend$1(Se,De),xe.brandNew&&(Se.__requireNewView=!0),Se.init(we,this,this),Se.optionUpdated(null,!0)}}Se?(me.push(Se.option),ye.push(Se),_e++):(me.push(void 0),ye.push(void 0))},this),ie[he]=me,oe.set(he,ye),se.set(he,_e),he==="series"&&reCreateSeriesIndices(this)}this._seriesIndices||reCreateSeriesIndices(this)},te.prototype.getOption=function(){var ae=clone$4(this.option);return each$f(ae,function(ne,ie){if(ComponentModel$1.hasClass(ie)){for(var oe=normalizeToArray(ne),se=oe.length,le=!1,ue=se-1;ue>=0;ue--)oe[ue]&&!isComponentIdInternal(oe[ue])?le=!0:(oe[ue]=null,!le&&se--);oe.length=se,ae[ie]=oe}}),delete ae[OPTION_INNER_KEY],ae},te.prototype.getTheme=function(){return this._theme},te.prototype.getLocaleModel=function(){return this._locale},te.prototype.setUpdatePayload=function(ae){this._payload=ae},te.prototype.getUpdatePayload=function(){return this._payload},te.prototype.getComponent=function(ae,ne){var ie=this._componentsMap.get(ae);if(ie){var oe=ie[ne||0];if(oe)return oe;if(ne==null){for(var se=0;se<ie.length;se++)if(ie[se])return ie[se]}}},te.prototype.queryComponents=function(ae){var ne=ae.mainType;if(!ne)return[];var ie=ae.index,oe=ae.id,se=ae.name,le=this._componentsMap.get(ne);if(!le||!le.length)return[];var ue;return ie!=null?(ue=[],each$f(normalizeToArray(ie),function(ce){le[ce]&&ue.push(le[ce])})):oe!=null?ue=queryByIdOrName("id",oe,le):se!=null?ue=queryByIdOrName("name",se,le):ue=filter(le,function(ce){return!!ce}),filterBySubType(ue,ae)},te.prototype.findComponents=function(ae){var ne=ae.query,ie=ae.mainType,oe=le(ne),se=oe?this.queryComponents(oe):filter(this._componentsMap.get(ie),function(ce){return!!ce});return ue(filterBySubType(se,ae));function le(ce){var de=ie+"Index",he=ie+"Id",fe=ie+"Name";return ce&&(ce[de]!=null||ce[he]!=null||ce[fe]!=null)?{mainType:ie,index:ce[de],id:ce[he],name:ce[fe]}:null}function ue(ce){return ae.filter?filter(ce,ae.filter):ce}},te.prototype.eachComponent=function(ae,ne,ie){var oe=this._componentsMap;if(isFunction$1(ae)){var se=ne,le=ae;oe.each(function(he,fe){for(var pe=0;he&&pe<he.length;pe++){var ve=he[pe];ve&&le.call(se,fe,ve,ve.componentIndex)}})}else for(var ue=isString$1(ae)?oe.get(ae):isObject$4(ae)?this.findComponents(ae):null,ce=0;ue&&ce<ue.length;ce++){var de=ue[ce];de&&ne.call(ie,de,de.componentIndex)}},te.prototype.getSeriesByName=function(ae){var ne=convertOptionIdName(ae,null);return filter(this._componentsMap.get("series"),function(ie){return!!ie&&ne!=null&&ie.name===ne})},te.prototype.getSeriesByIndex=function(ae){return this._componentsMap.get("series")[ae]},te.prototype.getSeriesByType=function(ae){return filter(this._componentsMap.get("series"),function(ne){return!!ne&&ne.subType===ae})},te.prototype.getSeries=function(){return filter(this._componentsMap.get("series"),function(ae){return!!ae})},te.prototype.getSeriesCount=function(){return this._componentsCount.get("series")},te.prototype.eachSeries=function(ae,ne){assertSeriesInitialized(this),each$f(this._seriesIndices,function(ie){var oe=this._componentsMap.get("series")[ie];ae.call(ne,oe,ie)},this)},te.prototype.eachRawSeries=function(ae,ne){each$f(this._componentsMap.get("series"),function(ie){ie&&ae.call(ne,ie,ie.componentIndex)})},te.prototype.eachSeriesByType=function(ae,ne,ie){assertSeriesInitialized(this),each$f(this._seriesIndices,function(oe){var se=this._componentsMap.get("series")[oe];se.subType===ae&&ne.call(ie,se,oe)},this)},te.prototype.eachRawSeriesByType=function(ae,ne,ie){return each$f(this.getSeriesByType(ae),ne,ie)},te.prototype.isSeriesFiltered=function(ae){return assertSeriesInitialized(this),this._seriesIndicesMap.get(ae.componentIndex)==null},te.prototype.getCurrentSeriesIndices=function(){return(this._seriesIndices||[]).slice()},te.prototype.filterSeries=function(ae,ne){assertSeriesInitialized(this);var ie=[];each$f(this._seriesIndices,function(oe){var se=this._componentsMap.get("series")[oe];ae.call(ne,se,oe)&&ie.push(oe)},this),this._seriesIndices=ie,this._seriesIndicesMap=createHashMap(ie)},te.prototype.restoreData=function(ae){reCreateSeriesIndices(this);var ne=this._componentsMap,ie=[];ne.each(function(oe,se){ComponentModel$1.hasClass(se)&&ie.push(se)}),ComponentModel$1.topologicalTravel(ie,ComponentModel$1.getAllClassMainTypes(),function(oe){each$f(ne.get(oe),function(se){se&&(oe!=="series"||!isNotTargetSeries(se,ae))&&se.restoreData()})})},te.internalField=function(){reCreateSeriesIndices=function(ae){var ne=ae._seriesIndices=[];each$f(ae._componentsMap.get("series"),function(ie){ie&&ne.push(ie.componentIndex)}),ae._seriesIndicesMap=createHashMap(ne)},assertSeriesInitialized=function(ae){},initBase$1=function(ae,ne){ae.option={},ae.option[OPTION_INNER_KEY]=OPTION_INNER_VALUE,ae._componentsMap=createHashMap({series:[]}),ae._componentsCount=createHashMap();var ie=ne.aria;isObject$4(ie)&&ie.enabled==null&&(ie.enabled=!0),mergeTheme(ne,ae._theme.option),merge$1(ne,globalDefault,!1),ae._mergeOption(ne,null)}}(),te}(Model$1);function isNotTargetSeries(ee,te){if(te){var ae=te.seriesIndex,ne=te.seriesId,ie=te.seriesName;return ae!=null&&ee.componentIndex!==ae||ne!=null&&ee.id!==ne||ie!=null&&ee.name!==ie}}function mergeTheme(ee,te){var ae=ee.color&&!ee.colorLayer;each$f(te,function(ne,ie){ie==="colorLayer"&&ae||ComponentModel$1.hasClass(ie)||(typeof ne=="object"?ee[ie]=ee[ie]?merge$1(ee[ie],ne,!1):clone$4(ne):ee[ie]==null&&(ee[ie]=ne))})}function queryByIdOrName(ee,te,ae){if(isArray$2(te)){var ne=createHashMap();return each$f(te,function(oe){if(oe!=null){var se=convertOptionIdName(oe,null);se!=null&&ne.set(oe,!0)}}),filter(ae,function(oe){return oe&&ne.get(oe[ee])})}else{var ie=convertOptionIdName(te,null);return filter(ae,function(oe){return oe&&ie!=null&&oe[ee]===ie})}}function filterBySubType(ee,te){return te.hasOwnProperty("subType")?filter(ee,function(ae){return ae&&ae.subType===te.subType}):ee}function normalizeSetOptionInput(ee){var te=createHashMap();return ee&&each$f(normalizeToArray(ee.replaceMerge),function(ae){te.set(ae,!0)}),{replaceMergeMainTypeMap:te}}mixin(GlobalModel,PaletteMixin);const GlobalModel$1=GlobalModel;var availableMethods=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isSSR","isDisposed","on","off","getDataURL","getConnectedDataURL","getOption","getId","updateLabelLayout"],ExtensionAPI=function(){function ee(te){each$f(availableMethods,function(ae){this[ae]=bind$2(te[ae],te)},this)}return ee}();const ExtensionAPI$1=ExtensionAPI;var coordinateSystemCreators={},CoordinateSystemManager=function(){function ee(){this._coordinateSystems=[]}return ee.prototype.create=function(te,ae){var ne=[];each$f(coordinateSystemCreators,function(ie,oe){var se=ie.create(te,ae);ne=ne.concat(se||[])}),this._coordinateSystems=ne},ee.prototype.update=function(te,ae){each$f(this._coordinateSystems,function(ne){ne.update&&ne.update(te,ae)})},ee.prototype.getCoordinateSystems=function(){return this._coordinateSystems.slice()},ee.register=function(te,ae){coordinateSystemCreators[te]=ae},ee.get=function(te){return coordinateSystemCreators[te]},ee}();const CoordinateSystem=CoordinateSystemManager;var QUERY_REG=/^(min|max)?(.+)$/,OptionManager=function(){function ee(te){this._timelineOptions=[],this._mediaList=[],this._currentMediaIndices=[],this._api=te}return ee.prototype.setOption=function(te,ae,ne){te&&(each$f(normalizeToArray(te.series),function(se){se&&se.data&&isTypedArray$1(se.data)&&setAsPrimitive(se.data)}),each$f(normalizeToArray(te.dataset),function(se){se&&se.source&&isTypedArray$1(se.source)&&setAsPrimitive(se.source)})),te=clone$4(te);var ie=this._optionBackup,oe=parseRawOption(te,ae,!ie);this._newBaseOption=oe.baseOption,ie?(oe.timelineOptions.length&&(ie.timelineOptions=oe.timelineOptions),oe.mediaList.length&&(ie.mediaList=oe.mediaList),oe.mediaDefault&&(ie.mediaDefault=oe.mediaDefault)):this._optionBackup=oe},ee.prototype.mountOption=function(te){var ae=this._optionBackup;return this._timelineOptions=ae.timelineOptions,this._mediaList=ae.mediaList,this._mediaDefault=ae.mediaDefault,this._currentMediaIndices=[],clone$4(te?ae.baseOption:this._newBaseOption)},ee.prototype.getTimelineOption=function(te){var ae,ne=this._timelineOptions;if(ne.length){var ie=te.getComponent("timeline");ie&&(ae=clone$4(ne[ie.getCurrentIndex()]))}return ae},ee.prototype.getMediaOption=function(te){var ae=this._api.getWidth(),ne=this._api.getHeight(),ie=this._mediaList,oe=this._mediaDefault,se=[],le=[];if(!ie.length&&!oe)return le;for(var ue=0,ce=ie.length;ue<ce;ue++)applyMediaQuery(ie[ue].query,ae,ne)&&se.push(ue);return!se.length&&oe&&(se=[-1]),se.length&&!indicesEquals(se,this._currentMediaIndices)&&(le=map$1(se,function(de){return clone$4(de===-1?oe.option:ie[de].option)})),this._currentMediaIndices=se,le},ee}();function parseRawOption(ee,te,ae){var ne=[],ie,oe,se=ee.baseOption,le=ee.timeline,ue=ee.options,ce=ee.media,de=!!ee.media,he=!!(ue||le||se&&se.timeline);se?(oe=se,oe.timeline||(oe.timeline=le)):((he||de)&&(ee.options=ee.media=null),oe=ee),de&&isArray$2(ce)&&each$f(ce,function(pe){pe&&pe.option&&(pe.query?ne.push(pe):ie||(ie=pe))}),fe(oe),each$f(ue,function(pe){return fe(pe)}),each$f(ne,function(pe){return fe(pe.option)});function fe(pe){each$f(te,function(ve){ve(pe,ae)})}return{baseOption:oe,timelineOptions:ue||[],mediaDefault:ie,mediaList:ne}}function applyMediaQuery(ee,te,ae){var ne={width:te,height:ae,aspectratio:te/ae},ie=!0;return each$f(ee,function(oe,se){var le=se.match(QUERY_REG);if(!(!le||!le[1]||!le[2])){var ue=le[1],ce=le[2].toLowerCase();compare(ne[ce],oe,ue)||(ie=!1)}}),ie}function compare(ee,te,ae){return ae==="min"?ee>=te:ae==="max"?ee<=te:ee===te}function indicesEquals(ee,te){return ee.join(",")===te.join(",")}const OptionManager$1=OptionManager;var each$d=each$f,isObject$3=isObject$4,POSSIBLE_STYLES=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function compatEC2ItemStyle(ee){var te=ee&&ee.itemStyle;if(te)for(var ae=0,ne=POSSIBLE_STYLES.length;ae<ne;ae++){var ie=POSSIBLE_STYLES[ae],oe=te.normal,se=te.emphasis;oe&&oe[ie]&&(ee[ie]=ee[ie]||{},ee[ie].normal?merge$1(ee[ie].normal,oe[ie]):ee[ie].normal=oe[ie],oe[ie]=null),se&&se[ie]&&(ee[ie]=ee[ie]||{},ee[ie].emphasis?merge$1(ee[ie].emphasis,se[ie]):ee[ie].emphasis=se[ie],se[ie]=null)}}function convertNormalEmphasis(ee,te,ae){if(ee&&ee[te]&&(ee[te].normal||ee[te].emphasis)){var ne=ee[te].normal,ie=ee[te].emphasis;ne&&(ae?(ee[te].normal=ee[te].emphasis=null,defaults$2(ee[te],ne)):ee[te]=ne),ie&&(ee.emphasis=ee.emphasis||{},ee.emphasis[te]=ie,ie.focus&&(ee.emphasis.focus=ie.focus),ie.blurScope&&(ee.emphasis.blurScope=ie.blurScope))}}function removeEC3NormalStatus(ee){convertNormalEmphasis(ee,"itemStyle"),convertNormalEmphasis(ee,"lineStyle"),convertNormalEmphasis(ee,"areaStyle"),convertNormalEmphasis(ee,"label"),convertNormalEmphasis(ee,"labelLine"),convertNormalEmphasis(ee,"upperLabel"),convertNormalEmphasis(ee,"edgeLabel")}function compatTextStyle(ee,te){var ae=isObject$3(ee)&&ee[te],ne=isObject$3(ae)&&ae.textStyle;if(ne)for(var ie=0,oe=TEXT_STYLE_OPTIONS.length;ie<oe;ie++){var se=TEXT_STYLE_OPTIONS[ie];ne.hasOwnProperty(se)&&(ae[se]=ne[se])}}function compatEC3CommonStyles(ee){ee&&(removeEC3NormalStatus(ee),compatTextStyle(ee,"label"),ee.emphasis&&compatTextStyle(ee.emphasis,"label"))}function processSeries(ee){if(isObject$3(ee)){compatEC2ItemStyle(ee),removeEC3NormalStatus(ee),compatTextStyle(ee,"label"),compatTextStyle(ee,"upperLabel"),compatTextStyle(ee,"edgeLabel"),ee.emphasis&&(compatTextStyle(ee.emphasis,"label"),compatTextStyle(ee.emphasis,"upperLabel"),compatTextStyle(ee.emphasis,"edgeLabel"));var te=ee.markPoint;te&&(compatEC2ItemStyle(te),compatEC3CommonStyles(te));var ae=ee.markLine;ae&&(compatEC2ItemStyle(ae),compatEC3CommonStyles(ae));var ne=ee.markArea;ne&&compatEC3CommonStyles(ne);var ie=ee.data;if(ee.type==="graph"){ie=ie||ee.nodes;var oe=ee.links||ee.edges;if(oe&&!isTypedArray$1(oe))for(var se=0;se<oe.length;se++)compatEC3CommonStyles(oe[se]);each$f(ee.categories,function(ce){removeEC3NormalStatus(ce)})}if(ie&&!isTypedArray$1(ie))for(var se=0;se<ie.length;se++)compatEC3CommonStyles(ie[se]);if(te=ee.markPoint,te&&te.data)for(var le=te.data,se=0;se<le.length;se++)compatEC3CommonStyles(le[se]);if(ae=ee.markLine,ae&&ae.data)for(var ue=ae.data,se=0;se<ue.length;se++)isArray$2(ue[se])?(compatEC3CommonStyles(ue[se][0]),compatEC3CommonStyles(ue[se][1])):compatEC3CommonStyles(ue[se]);ee.type==="gauge"?(compatTextStyle(ee,"axisLabel"),compatTextStyle(ee,"title"),compatTextStyle(ee,"detail")):ee.type==="treemap"?(convertNormalEmphasis(ee.breadcrumb,"itemStyle"),each$f(ee.levels,function(ce){removeEC3NormalStatus(ce)})):ee.type==="tree"&&removeEC3NormalStatus(ee.leaves)}}function toArr(ee){return isArray$2(ee)?ee:ee?[ee]:[]}function toObj(ee){return(isArray$2(ee)?ee[0]:ee)||{}}function globalCompatStyle(ee,te){each$d(toArr(ee.series),function(ne){isObject$3(ne)&&processSeries(ne)});var ae=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];te&&ae.push("valueAxis","categoryAxis","logAxis","timeAxis"),each$d(ae,function(ne){each$d(toArr(ee[ne]),function(ie){ie&&(compatTextStyle(ie,"axisLabel"),compatTextStyle(ie.axisPointer,"label"))})}),each$d(toArr(ee.parallel),function(ne){var ie=ne&&ne.parallelAxisDefault;compatTextStyle(ie,"axisLabel"),compatTextStyle(ie&&ie.axisPointer,"label")}),each$d(toArr(ee.calendar),function(ne){convertNormalEmphasis(ne,"itemStyle"),compatTextStyle(ne,"dayLabel"),compatTextStyle(ne,"monthLabel"),compatTextStyle(ne,"yearLabel")}),each$d(toArr(ee.radar),function(ne){compatTextStyle(ne,"name"),ne.name&&ne.axisName==null&&(ne.axisName=ne.name,delete ne.name),ne.nameGap!=null&&ne.axisNameGap==null&&(ne.axisNameGap=ne.nameGap,delete ne.nameGap)}),each$d(toArr(ee.geo),function(ne){isObject$3(ne)&&(compatEC3CommonStyles(ne),each$d(toArr(ne.regions),function(ie){compatEC3CommonStyles(ie)}))}),each$d(toArr(ee.timeline),function(ne){compatEC3CommonStyles(ne),convertNormalEmphasis(ne,"label"),convertNormalEmphasis(ne,"itemStyle"),convertNormalEmphasis(ne,"controlStyle",!0);var ie=ne.data;isArray$2(ie)&&each$f(ie,function(oe){isObject$4(oe)&&(convertNormalEmphasis(oe,"label"),convertNormalEmphasis(oe,"itemStyle"))})}),each$d(toArr(ee.toolbox),function(ne){convertNormalEmphasis(ne,"iconStyle"),each$d(ne.feature,function(ie){convertNormalEmphasis(ie,"iconStyle")})}),compatTextStyle(toObj(ee.axisPointer),"label"),compatTextStyle(toObj(ee.tooltip).axisPointer,"label")}function get(ee,te){for(var ae=te.split(","),ne=ee,ie=0;ie<ae.length&&(ne=ne&&ne[ae[ie]],ne!=null);ie++);return ne}function set(ee,te,ae,ne){for(var ie=te.split(","),oe=ee,se,le=0;le<ie.length-1;le++)se=ie[le],oe[se]==null&&(oe[se]={}),oe=oe[se];(ne||oe[ie[le]]==null)&&(oe[ie[le]]=ae)}function compatLayoutProperties(ee){ee&&each$f(LAYOUT_PROPERTIES,function(te){te[0]in ee&&!(te[1]in ee)&&(ee[te[1]]=ee[te[0]])})}var LAYOUT_PROPERTIES=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],COMPATITABLE_COMPONENTS=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],BAR_ITEM_STYLE_MAP=[["borderRadius","barBorderRadius"],["borderColor","barBorderColor"],["borderWidth","barBorderWidth"]];function compatBarItemStyle(ee){var te=ee&&ee.itemStyle;if(te)for(var ae=0;ae<BAR_ITEM_STYLE_MAP.length;ae++){var ne=BAR_ITEM_STYLE_MAP[ae][1],ie=BAR_ITEM_STYLE_MAP[ae][0];te[ne]!=null&&(te[ie]=te[ne])}}function compatPieLabel(ee){ee&&ee.alignTo==="edge"&&ee.margin!=null&&ee.edgeDistance==null&&(ee.edgeDistance=ee.margin)}function compatSunburstState(ee){ee&&ee.downplay&&!ee.blur&&(ee.blur=ee.downplay)}function compatGraphFocus(ee){ee&&ee.focusNodeAdjacency!=null&&(ee.emphasis=ee.emphasis||{},ee.emphasis.focus==null&&(ee.emphasis.focus="adjacency"))}function traverseTree(ee,te){if(ee)for(var ae=0;ae<ee.length;ae++)te(ee[ae]),ee[ae]&&traverseTree(ee[ae].children,te)}function globalBackwardCompat(ee,te){globalCompatStyle(ee,te),ee.series=normalizeToArray(ee.series),each$f(ee.series,function(ae){if(isObject$4(ae)){var ne=ae.type;if(ne==="line")ae.clipOverflow!=null&&(ae.clip=ae.clipOverflow);else if(ne==="pie"||ne==="gauge"){ae.clockWise!=null&&(ae.clockwise=ae.clockWise),compatPieLabel(ae.label);var ie=ae.data;if(ie&&!isTypedArray$1(ie))for(var oe=0;oe<ie.length;oe++)compatPieLabel(ie[oe]);ae.hoverOffset!=null&&(ae.emphasis=ae.emphasis||{},(ae.emphasis.scaleSize=null)&&(ae.emphasis.scaleSize=ae.hoverOffset))}else if(ne==="gauge"){var se=get(ae,"pointer.color");se!=null&&set(ae,"itemStyle.color",se)}else if(ne==="bar"){compatBarItemStyle(ae),compatBarItemStyle(ae.backgroundStyle),compatBarItemStyle(ae.emphasis);var ie=ae.data;if(ie&&!isTypedArray$1(ie))for(var oe=0;oe<ie.length;oe++)typeof ie[oe]=="object"&&(compatBarItemStyle(ie[oe]),compatBarItemStyle(ie[oe]&&ie[oe].emphasis))}else if(ne==="sunburst"){var le=ae.highlightPolicy;le&&(ae.emphasis=ae.emphasis||{},ae.emphasis.focus||(ae.emphasis.focus=le)),compatSunburstState(ae),traverseTree(ae.data,compatSunburstState)}else ne==="graph"||ne==="sankey"?compatGraphFocus(ae):ne==="map"&&(ae.mapType&&!ae.map&&(ae.map=ae.mapType),ae.mapLocation&&defaults$2(ae,ae.mapLocation));ae.hoverAnimation!=null&&(ae.emphasis=ae.emphasis||{},ae.emphasis&&ae.emphasis.scale==null&&(ae.emphasis.scale=ae.hoverAnimation)),compatLayoutProperties(ae)}}),ee.dataRange&&(ee.visualMap=ee.dataRange),each$f(COMPATITABLE_COMPONENTS,function(ae){var ne=ee[ae];ne&&(isArray$2(ne)||(ne=[ne]),each$f(ne,function(ie){compatLayoutProperties(ie)}))})}function dataStack$1(ee){var te=createHashMap();ee.eachSeries(function(ae){var ne=ae.get("stack");if(ne){var ie=te.get(ne)||te.set(ne,[]),oe=ae.getData(),se={stackResultDimension:oe.getCalculationInfo("stackResultDimension"),stackedOverDimension:oe.getCalculationInfo("stackedOverDimension"),stackedDimension:oe.getCalculationInfo("stackedDimension"),stackedByDimension:oe.getCalculationInfo("stackedByDimension"),isStackedByIndex:oe.getCalculationInfo("isStackedByIndex"),data:oe,seriesModel:ae};if(!se.stackedDimension||!(se.isStackedByIndex||se.stackedByDimension))return;ie.length&&oe.setCalculationInfo("stackedOnSeries",ie[ie.length-1].seriesModel),ie.push(se)}}),te.each(calculateStack)}function calculateStack(ee){each$f(ee,function(te,ae){var ne=[],ie=[NaN,NaN],oe=[te.stackResultDimension,te.stackedOverDimension],se=te.data,le=te.isStackedByIndex,ue=te.seriesModel.get("stackStrategy")||"samesign";se.modify(oe,function(ce,de,he){var fe=se.get(te.stackedDimension,he);if(isNaN(fe))return ie;var pe,ve;le?ve=se.getRawIndex(he):pe=se.get(te.stackedByDimension,he);for(var ge=NaN,me=ae-1;me>=0;me--){var ye=ee[me];if(le||(ve=ye.data.rawIndexOf(ye.stackedByDimension,pe)),ve>=0){var _e=ye.data.getByRawIndex(ye.stackResultDimension,ve);if(ue==="all"||ue==="positive"&&_e>0||ue==="negative"&&_e<0||ue==="samesign"&&fe>=0&&_e>0||ue==="samesign"&&fe<=0&&_e<0){fe=addSafe(fe,_e),ge=_e;break}}}return ne[0]=fe,ne[1]=ge,ne})})}var SourceImpl=function(){function ee(te){this.data=te.data||(te.sourceFormat===SOURCE_FORMAT_KEYED_COLUMNS?{}:[]),this.sourceFormat=te.sourceFormat||SOURCE_FORMAT_UNKNOWN,this.seriesLayoutBy=te.seriesLayoutBy||SERIES_LAYOUT_BY_COLUMN,this.startIndex=te.startIndex||0,this.dimensionsDetectedCount=te.dimensionsDetectedCount,this.metaRawOption=te.metaRawOption;var ae=this.dimensionsDefine=te.dimensionsDefine;if(ae)for(var ne=0;ne<ae.length;ne++){var ie=ae[ne];ie.type==null&&guessOrdinal(this,ne)===BE_ORDINAL.Must&&(ie.type="ordinal")}}return ee}();function isSourceInstance(ee){return ee instanceof SourceImpl}function createSource(ee,te,ae){ae=ae||detectSourceFormat(ee);var ne=te.seriesLayoutBy,ie=determineSourceDimensions(ee,ae,ne,te.sourceHeader,te.dimensions),oe=new SourceImpl({data:ee,sourceFormat:ae,seriesLayoutBy:ne,dimensionsDefine:ie.dimensionsDefine,startIndex:ie.startIndex,dimensionsDetectedCount:ie.dimensionsDetectedCount,metaRawOption:clone$4(te)});return oe}function createSourceFromSeriesDataOption(ee){return new SourceImpl({data:ee,sourceFormat:isTypedArray$1(ee)?SOURCE_FORMAT_TYPED_ARRAY:SOURCE_FORMAT_ORIGINAL})}function cloneSourceShallow(ee){return new SourceImpl({data:ee.data,sourceFormat:ee.sourceFormat,seriesLayoutBy:ee.seriesLayoutBy,dimensionsDefine:clone$4(ee.dimensionsDefine),startIndex:ee.startIndex,dimensionsDetectedCount:ee.dimensionsDetectedCount})}function detectSourceFormat(ee){var te=SOURCE_FORMAT_UNKNOWN;if(isTypedArray$1(ee))te=SOURCE_FORMAT_TYPED_ARRAY;else if(isArray$2(ee)){ee.length===0&&(te=SOURCE_FORMAT_ARRAY_ROWS);for(var ae=0,ne=ee.length;ae<ne;ae++){var ie=ee[ae];if(ie!=null){if(isArray$2(ie)){te=SOURCE_FORMAT_ARRAY_ROWS;break}else if(isObject$4(ie)){te=SOURCE_FORMAT_OBJECT_ROWS;break}}}}else if(isObject$4(ee)){for(var oe in ee)if(hasOwn(ee,oe)&&isArrayLike(ee[oe])){te=SOURCE_FORMAT_KEYED_COLUMNS;break}}return te}function determineSourceDimensions(ee,te,ae,ne,ie){var oe,se;if(!ee)return{dimensionsDefine:normalizeDimensionsOption(ie),startIndex:se,dimensionsDetectedCount:oe};if(te===SOURCE_FORMAT_ARRAY_ROWS){var le=ee;ne==="auto"||ne==null?arrayRowsTravelFirst(function(ce){ce!=null&&ce!=="-"&&(isString$1(ce)?se==null&&(se=1):se=0)},ae,le,10):se=isNumber$1(ne)?ne:ne?1:0,!ie&&se===1&&(ie=[],arrayRowsTravelFirst(function(ce,de){ie[de]=ce!=null?ce+"":""},ae,le,1/0)),oe=ie?ie.length:ae===SERIES_LAYOUT_BY_ROW?le.length:le[0]?le[0].length:null}else if(te===SOURCE_FORMAT_OBJECT_ROWS)ie||(ie=objectRowsCollectDimensions(ee));else if(te===SOURCE_FORMAT_KEYED_COLUMNS)ie||(ie=[],each$f(ee,function(ce,de){ie.push(de)}));else if(te===SOURCE_FORMAT_ORIGINAL){var ue=getDataItemValue(ee[0]);oe=isArray$2(ue)&&ue.length||1}return{startIndex:se,dimensionsDefine:normalizeDimensionsOption(ie),dimensionsDetectedCount:oe}}function objectRowsCollectDimensions(ee){for(var te=0,ae;te<ee.length&&!(ae=ee[te++]););if(ae)return keys(ae)}function normalizeDimensionsOption(ee){if(ee){var te=createHashMap();return map$1(ee,function(ae,ne){ae=isObject$4(ae)?ae:{name:ae};var ie={name:ae.name,displayName:ae.displayName,type:ae.type};if(ie.name==null)return ie;ie.name+="",ie.displayName==null&&(ie.displayName=ie.name);var oe=te.get(ie.name);return oe?ie.name+="-"+oe.count++:te.set(ie.name,{count:1}),ie})}}function arrayRowsTravelFirst(ee,te,ae,ne){if(te===SERIES_LAYOUT_BY_ROW)for(var ie=0;ie<ae.length&&ie<ne;ie++)ee(ae[ie]?ae[ie][0]:null,ie);else for(var oe=ae[0]||[],ie=0;ie<oe.length&&ie<ne;ie++)ee(oe[ie],ie)}function shouldRetrieveDataByName(ee){var te=ee.sourceFormat;return te===SOURCE_FORMAT_OBJECT_ROWS||te===SOURCE_FORMAT_KEYED_COLUMNS}var _a,_b,_c,providerMethods,mountMethods,DefaultDataProvider=function(){function ee(te,ae){var ne=isSourceInstance(te)?te:createSourceFromSeriesDataOption(te);this._source=ne;var ie=this._data=ne.data;ne.sourceFormat===SOURCE_FORMAT_TYPED_ARRAY&&(this._offset=0,this._dimSize=ae,this._data=ie),mountMethods(this,ie,ne)}return ee.prototype.getSource=function(){return this._source},ee.prototype.count=function(){return 0},ee.prototype.getItem=function(te,ae){},ee.prototype.appendData=function(te){},ee.prototype.clean=function(){},ee.protoInitialize=function(){var te=ee.prototype;te.pure=!1,te.persistent=!0}(),ee.internalField=function(){var te;mountMethods=function(se,le,ue){var ce=ue.sourceFormat,de=ue.seriesLayoutBy,he=ue.startIndex,fe=ue.dimensionsDefine,pe=providerMethods[getMethodMapKey(ce,de)];if(extend$1(se,pe),ce===SOURCE_FORMAT_TYPED_ARRAY)se.getItem=ae,se.count=ie,se.fillStorage=ne;else{var ve=getRawSourceItemGetter(ce,de);se.getItem=bind$2(ve,null,le,he,fe);var ge=getRawSourceDataCounter(ce,de);se.count=bind$2(ge,null,le,he,fe)}};var ae=function(se,le){se=se-this._offset,le=le||[];for(var ue=this._data,ce=this._dimSize,de=ce*se,he=0;he<ce;he++)le[he]=ue[de+he];return le},ne=function(se,le,ue,ce){for(var de=this._data,he=this._dimSize,fe=0;fe<he;fe++){for(var pe=ce[fe],ve=pe[0]==null?1/0:pe[0],ge=pe[1]==null?-1/0:pe[1],me=le-se,ye=ue[fe],_e=0;_e<me;_e++){var be=de[_e*he+fe];ye[se+_e]=be,be<ve&&(ve=be),be>ge&&(ge=be)}pe[0]=ve,pe[1]=ge}},ie=function(){return this._data?this._data.length/this._dimSize:0};providerMethods=(te={},te[SOURCE_FORMAT_ARRAY_ROWS+"_"+SERIES_LAYOUT_BY_COLUMN]={pure:!0,appendData:oe},te[SOURCE_FORMAT_ARRAY_ROWS+"_"+SERIES_LAYOUT_BY_ROW]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},te[SOURCE_FORMAT_OBJECT_ROWS]={pure:!0,appendData:oe},te[SOURCE_FORMAT_KEYED_COLUMNS]={pure:!0,appendData:function(se){var le=this._data;each$f(se,function(ue,ce){for(var de=le[ce]||(le[ce]=[]),he=0;he<(ue||[]).length;he++)de.push(ue[he])})}},te[SOURCE_FORMAT_ORIGINAL]={appendData:oe},te[SOURCE_FORMAT_TYPED_ARRAY]={persistent:!1,pure:!0,appendData:function(se){this._data=se},clean:function(){this._offset+=this.count(),this._data=null}},te);function oe(se){for(var le=0;le<se.length;le++)this._data.push(se[le])}}(),ee}(),getItemSimply=function(ee,te,ae,ne){return ee[ne]},rawSourceItemGetterMap=(_a={},_a[SOURCE_FORMAT_ARRAY_ROWS+"_"+SERIES_LAYOUT_BY_COLUMN]=function(ee,te,ae,ne){return ee[ne+te]},_a[SOURCE_FORMAT_ARRAY_ROWS+"_"+SERIES_LAYOUT_BY_ROW]=function(ee,te,ae,ne,ie){ne+=te;for(var oe=ie||[],se=ee,le=0;le<se.length;le++){var ue=se[le];oe[le]=ue?ue[ne]:null}return oe},_a[SOURCE_FORMAT_OBJECT_ROWS]=getItemSimply,_a[SOURCE_FORMAT_KEYED_COLUMNS]=function(ee,te,ae,ne,ie){for(var oe=ie||[],se=0;se<ae.length;se++){var le=ae[se].name,ue=ee[le];oe[se]=ue?ue[ne]:null}return oe},_a[SOURCE_FORMAT_ORIGINAL]=getItemSimply,_a);function getRawSourceItemGetter(ee,te){var ae=rawSourceItemGetterMap[getMethodMapKey(ee,te)];return ae}var countSimply=function(ee,te,ae){return ee.length},rawSourceDataCounterMap=(_b={},_b[SOURCE_FORMAT_ARRAY_ROWS+"_"+SERIES_LAYOUT_BY_COLUMN]=function(ee,te,ae){return Math.max(0,ee.length-te)},_b[SOURCE_FORMAT_ARRAY_ROWS+"_"+SERIES_LAYOUT_BY_ROW]=function(ee,te,ae){var ne=ee[0];return ne?Math.max(0,ne.length-te):0},_b[SOURCE_FORMAT_OBJECT_ROWS]=countSimply,_b[SOURCE_FORMAT_KEYED_COLUMNS]=function(ee,te,ae){var ne=ae[0].name,ie=ee[ne];return ie?ie.length:0},_b[SOURCE_FORMAT_ORIGINAL]=countSimply,_b);function getRawSourceDataCounter(ee,te){var ae=rawSourceDataCounterMap[getMethodMapKey(ee,te)];return ae}var getRawValueSimply=function(ee,te,ae){return ee[te]},rawSourceValueGetterMap=(_c={},_c[SOURCE_FORMAT_ARRAY_ROWS]=getRawValueSimply,_c[SOURCE_FORMAT_OBJECT_ROWS]=function(ee,te,ae){return ee[ae]},_c[SOURCE_FORMAT_KEYED_COLUMNS]=getRawValueSimply,_c[SOURCE_FORMAT_ORIGINAL]=function(ee,te,ae){var ne=getDataItemValue(ee);return ne instanceof Array?ne[te]:ne},_c[SOURCE_FORMAT_TYPED_ARRAY]=getRawValueSimply,_c);function getRawSourceValueGetter(ee){var te=rawSourceValueGetterMap[ee];return te}function getMethodMapKey(ee,te){return ee===SOURCE_FORMAT_ARRAY_ROWS?ee+"_"+te:ee}function retrieveRawValue(ee,te,ae){if(ee){var ne=ee.getRawDataItem(te);if(ne!=null){var ie=ee.getStore(),oe=ie.getSource().sourceFormat;if(ae!=null){var se=ee.getDimensionIndex(ae),le=ie.getDimensionProperty(se);return getRawSourceValueGetter(oe)(ne,se,le)}else{var ue=ne;return oe===SOURCE_FORMAT_ORIGINAL&&(ue=getDataItemValue(ne)),ue}}}}var DIMENSION_LABEL_REG=/\{@(.+?)\}/g,DataFormatMixin=function(){function ee(){}return ee.prototype.getDataParams=function(te,ae){var ne=this.getData(ae),ie=this.getRawValue(te,ae),oe=ne.getRawIndex(te),se=ne.getName(te),le=ne.getRawDataItem(te),ue=ne.getItemVisual(te,"style"),ce=ue&&ue[ne.getItemVisual(te,"drawType")||"fill"],de=ue&&ue.stroke,he=this.mainType,fe=he==="series",pe=ne.userOutput&&ne.userOutput.get();return{componentType:he,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:fe?this.subType:null,seriesIndex:this.seriesIndex,seriesId:fe?this.id:null,seriesName:fe?this.name:null,name:se,dataIndex:oe,data:le,dataType:ae,value:ie,color:ce,borderColor:de,dimensionNames:pe?pe.fullDimensions:null,encode:pe?pe.encode:null,$vars:["seriesName","name","value"]}},ee.prototype.getFormattedLabel=function(te,ae,ne,ie,oe,se){ae=ae||"normal";var le=this.getData(ne),ue=this.getDataParams(te,ne);if(se&&(ue.value=se.interpolatedValue),ie!=null&&isArray$2(ue.value)&&(ue.value=ue.value[ie]),!oe){var ce=le.getItemModel(te);oe=ce.get(ae==="normal"?["label","formatter"]:[ae,"label","formatter"])}if(isFunction$1(oe))return ue.status=ae,ue.dimensionIndex=ie,oe(ue);if(isString$1(oe)){var de=formatTpl(oe,ue);return de.replace(DIMENSION_LABEL_REG,function(he,fe){var pe=fe.length,ve=fe;ve.charAt(0)==="["&&ve.charAt(pe-1)==="]"&&(ve=+ve.slice(1,pe-1));var ge=retrieveRawValue(le,te,ve);if(se&&isArray$2(se.interpolatedValue)){var me=le.getDimensionIndex(ve);me>=0&&(ge=se.interpolatedValue[me])}return ge!=null?ge+"":""})}},ee.prototype.getRawValue=function(te,ae){return retrieveRawValue(this.getData(ae),te)},ee.prototype.formatTooltip=function(te,ae,ne){},ee}();function normalizeTooltipFormatResult(ee){var te,ae;return isObject$4(ee)?ee.type&&(ae=ee):te=ee,{text:te,frag:ae}}function createTask(ee){return new Task(ee)}var Task=function(){function ee(te){te=te||{},this._reset=te.reset,this._plan=te.plan,this._count=te.count,this._onDirty=te.onDirty,this._dirty=!0}return ee.prototype.perform=function(te){var ae=this._upstream,ne=te&&te.skip;if(this._dirty&&ae){var ie=this.context;ie.data=ie.outputData=ae.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var oe;this._plan&&!ne&&(oe=this._plan(this.context));var se=de(this._modBy),le=this._modDataCount||0,ue=de(te&&te.modBy),ce=te&&te.modDataCount||0;(se!==ue||le!==ce)&&(oe="reset");function de(_e){return!(_e>=1)&&(_e=1),_e}var he;(this._dirty||oe==="reset")&&(this._dirty=!1,he=this._doReset(ne)),this._modBy=ue,this._modDataCount=ce;var fe=te&&te.step;if(ae?this._dueEnd=ae._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var pe=this._dueIndex,ve=Math.min(fe!=null?this._dueIndex+fe:1/0,this._dueEnd);if(!ne&&(he||pe<ve)){var ge=this._progress;if(isArray$2(ge))for(var me=0;me<ge.length;me++)this._doProgress(ge[me],pe,ve,ue,ce);else this._doProgress(ge,pe,ve,ue,ce)}this._dueIndex=ve;var ye=this._settedOutputEnd!=null?this._settedOutputEnd:ve;this._outputDueEnd=ye}else this._dueIndex=this._outputDueEnd=this._settedOutputEnd!=null?this._settedOutputEnd:this._dueEnd;return this.unfinished()},ee.prototype.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},ee.prototype._doProgress=function(te,ae,ne,ie,oe){iterator.reset(ae,ne,ie,oe),this._callingProgress=te,this._callingProgress({start:ae,end:ne,count:ne-ae,next:iterator.next},this.context)},ee.prototype._doReset=function(te){this._dueIndex=this._outputDueEnd=this._dueEnd=0,this._settedOutputEnd=null;var ae,ne;!te&&this._reset&&(ae=this._reset(this.context),ae&&ae.progress&&(ne=ae.forceFirstProgress,ae=ae.progress),isArray$2(ae)&&!ae.length&&(ae=null)),this._progress=ae,this._modBy=this._modDataCount=null;var ie=this._downstream;return ie&&ie.dirty(),ne},ee.prototype.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},ee.prototype.pipe=function(te){(this._downstream!==te||this._dirty)&&(this._downstream=te,te._upstream=this,te.dirty())},ee.prototype.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},ee.prototype.getUpstream=function(){return this._upstream},ee.prototype.getDownstream=function(){return this._downstream},ee.prototype.setOutputEnd=function(te){this._outputDueEnd=this._settedOutputEnd=te},ee}(),iterator=function(){var ee,te,ae,ne,ie,oe={reset:function(ue,ce,de,he){te=ue,ee=ce,ae=de,ne=he,ie=Math.ceil(ne/ae),oe.next=ae>1&&ne>0?le:se}};return oe;function se(){return te<ee?te++:null}function le(){var ue=te%ie*ae+Math.ceil(te/ie),ce=te>=ee?null:ue<ne?ue:te;return te++,ce}}();function parseDataValue(ee,te){var ae=te&&te.type;return ae==="ordinal"?ee:(ae==="time"&&!isNumber$1(ee)&&ee!=null&&ee!=="-"&&(ee=+parseDate(ee)),ee==null||ee===""?NaN:+ee)}var valueParserMap=createHashMap({number:function(ee){return parseFloat(ee)},time:function(ee){return+parseDate(ee)},trim:function(ee){return isString$1(ee)?trim$2(ee):ee}});function getRawValueParser(ee){return valueParserMap.get(ee)}var ORDER_COMPARISON_OP_MAP={lt:function(ee,te){return ee<te},lte:function(ee,te){return ee<=te},gt:function(ee,te){return ee>te},gte:function(ee,te){return ee>=te}},FilterOrderComparator=function(){function ee(te,ae){if(!isNumber$1(ae)){var ne="";throwError(ne)}this._opFn=ORDER_COMPARISON_OP_MAP[te],this._rvalFloat=numericToNumber(ae)}return ee.prototype.evaluate=function(te){return isNumber$1(te)?this._opFn(te,this._rvalFloat):this._opFn(numericToNumber(te),this._rvalFloat)},ee}(),SortOrderComparator=function(){function ee(te,ae){var ne=te==="desc";this._resultLT=ne?1:-1,ae==null&&(ae=ne?"min":"max"),this._incomparable=ae==="min"?-1/0:1/0}return ee.prototype.evaluate=function(te,ae){var ne=isNumber$1(te)?te:numericToNumber(te),ie=isNumber$1(ae)?ae:numericToNumber(ae),oe=isNaN(ne),se=isNaN(ie);if(oe&&(ne=this._incomparable),se&&(ie=this._incomparable),oe&&se){var le=isString$1(te),ue=isString$1(ae);le&&(ne=ue?te:0),ue&&(ie=le?ae:0)}return ne<ie?this._resultLT:ne>ie?-this._resultLT:0},ee}(),FilterEqualityComparator=function(){function ee(te,ae){this._rval=ae,this._isEQ=te,this._rvalTypeof=typeof ae,this._rvalFloat=numericToNumber(ae)}return ee.prototype.evaluate=function(te){var ae=te===this._rval;if(!ae){var ne=typeof te;ne!==this._rvalTypeof&&(ne==="number"||this._rvalTypeof==="number")&&(ae=numericToNumber(te)===this._rvalFloat)}return this._isEQ?ae:!ae},ee}();function createFilterComparator(ee,te){return ee==="eq"||ee==="ne"?new FilterEqualityComparator(ee==="eq",te):hasOwn(ORDER_COMPARISON_OP_MAP,ee)?new FilterOrderComparator(ee,te):null}var ExternalSource=function(){function ee(){}return ee.prototype.getRawData=function(){throw new Error("not supported")},ee.prototype.getRawDataItem=function(te){throw new Error("not supported")},ee.prototype.cloneRawData=function(){},ee.prototype.getDimensionInfo=function(te){},ee.prototype.cloneAllDimensionInfo=function(){},ee.prototype.count=function(){},ee.prototype.retrieveValue=function(te,ae){},ee.prototype.retrieveValueFromItem=function(te,ae){},ee.prototype.convertValue=function(te,ae){return parseDataValue(te,ae)},ee}();function createExternalSource(ee,te){var ae=new ExternalSource,ne=ee.data,ie=ae.sourceFormat=ee.sourceFormat,oe=ee.startIndex,se="";ee.seriesLayoutBy!==SERIES_LAYOUT_BY_COLUMN&&throwError(se);var le=[],ue={},ce=ee.dimensionsDefine;if(ce)each$f(ce,function(ge,me){var ye=ge.name,_e={index:me,name:ye,displayName:ge.displayName};if(le.push(_e),ye!=null){var be="";hasOwn(ue,ye)&&throwError(be),ue[ye]=_e}});else for(var de=0;de<ee.dimensionsDetectedCount;de++)le.push({index:de});var he=getRawSourceItemGetter(ie,SERIES_LAYOUT_BY_COLUMN);te.__isBuiltIn&&(ae.getRawDataItem=function(ge){return he(ne,oe,le,ge)},ae.getRawData=bind$2(getRawData,null,ee)),ae.cloneRawData=bind$2(cloneRawData,null,ee);var fe=getRawSourceDataCounter(ie,SERIES_LAYOUT_BY_COLUMN);ae.count=bind$2(fe,null,ne,oe,le);var pe=getRawSourceValueGetter(ie);ae.retrieveValue=function(ge,me){var ye=he(ne,oe,le,ge);return ve(ye,me)};var ve=ae.retrieveValueFromItem=function(ge,me){if(ge!=null){var ye=le[me];if(ye)return pe(ge,me,ye.name)}};return ae.getDimensionInfo=bind$2(getDimensionInfo,null,le,ue),ae.cloneAllDimensionInfo=bind$2(cloneAllDimensionInfo,null,le),ae}function getRawData(ee){var te=ee.sourceFormat;if(!isSupportedSourceFormat(te)){var ae="";throwError(ae)}return ee.data}function cloneRawData(ee){var te=ee.sourceFormat,ae=ee.data;if(!isSupportedSourceFormat(te)){var ne="";throwError(ne)}if(te===SOURCE_FORMAT_ARRAY_ROWS){for(var ie=[],oe=0,se=ae.length;oe<se;oe++)ie.push(ae[oe].slice());return ie}else if(te===SOURCE_FORMAT_OBJECT_ROWS){for(var ie=[],oe=0,se=ae.length;oe<se;oe++)ie.push(extend$1({},ae[oe]));return ie}}function getDimensionInfo(ee,te,ae){if(ae!=null){if(isNumber$1(ae)||!isNaN(ae)&&!hasOwn(te,ae))return ee[ae];if(hasOwn(te,ae))return te[ae]}}function cloneAllDimensionInfo(ee){return clone$4(ee)}var externalTransformMap=createHashMap();function registerExternalTransform(ee){ee=clone$4(ee);var te=ee.type,ae="";te||throwError(ae);var ne=te.split(":");ne.length!==2&&throwError(ae);var ie=!1;ne[0]==="echarts"&&(te=ne[1],ie=!0),ee.__isBuiltIn=ie,externalTransformMap.set(te,ee)}function applyDataTransform(ee,te,ae){var ne=normalizeToArray(ee),ie=ne.length,oe="";ie||throwError(oe);for(var se=0,le=ie;se<le;se++){var ue=ne[se];te=applySingleDataTransform(ue,te),se!==le-1&&(te.length=Math.max(te.length,1))}return te}function applySingleDataTransform(ee,te,ae,ne){var ie="";te.length||throwError(ie),isObject$4(ee)||throwError(ie);var oe=ee.type,se=externalTransformMap.get(oe);se||throwError(ie);var le=map$1(te,function(ce){return createExternalSource(ce,se)}),ue=normalizeToArray(se.transform({upstream:le[0],upstreamList:le,config:clone$4(ee.config)}));return map$1(ue,function(ce,de){var he="";isObject$4(ce)||throwError(he),ce.data||throwError(he);var fe=detectSourceFormat(ce.data);isSupportedSourceFormat(fe)||throwError(he);var pe,ve=te[0];if(ve&&de===0&&!ce.dimensions){var ge=ve.startIndex;ge&&(ce.data=ve.data.slice(0,ge).concat(ce.data)),pe={seriesLayoutBy:SERIES_LAYOUT_BY_COLUMN,sourceHeader:ge,dimensions:ve.metaRawOption.dimensions}}else pe={seriesLayoutBy:SERIES_LAYOUT_BY_COLUMN,sourceHeader:0,dimensions:ce.dimensions};return createSource(ce.data,pe,null)})}function isSupportedSourceFormat(ee){return ee===SOURCE_FORMAT_ARRAY_ROWS||ee===SOURCE_FORMAT_OBJECT_ROWS}var UNDEFINED="undefined",CtorUint32Array=typeof Uint32Array===UNDEFINED?Array:Uint32Array,CtorUint16Array=typeof Uint16Array===UNDEFINED?Array:Uint16Array,CtorInt32Array$1=typeof Int32Array===UNDEFINED?Array:Int32Array,CtorFloat64Array=typeof Float64Array===UNDEFINED?Array:Float64Array,dataCtors={float:CtorFloat64Array,int:CtorInt32Array$1,ordinal:Array,number:Array,time:CtorFloat64Array},defaultDimValueGetters;function getIndicesCtor(ee){return ee>65535?CtorUint32Array:CtorUint16Array}function getInitialExtent(){return[1/0,-1/0]}function cloneChunk(ee){var te=ee.constructor;return te===Array?ee.slice():new te(ee)}function prepareStore(ee,te,ae,ne,ie){var oe=dataCtors[ae||"float"];if(ie){var se=ee[te],le=se&&se.length;if(le!==ne){for(var ue=new oe(ne),ce=0;ce<le;ce++)ue[ce]=se[ce];ee[te]=ue}}else ee[te]=new oe(ne)}var DataStore=function(){function ee(){this._chunks=[],this._rawExtent=[],this._extent=[],this._count=0,this._rawCount=0,this._calcDimNameToIdx=createHashMap()}return ee.prototype.initData=function(te,ae,ne){this._provider=te,this._chunks=[],this._indices=null,this.getRawIndex=this._getRawIdxIdentity;var ie=te.getSource(),oe=this.defaultDimValueGetter=defaultDimValueGetters[ie.sourceFormat];this._dimValueGetter=ne||oe,this._rawExtent=[],shouldRetrieveDataByName(ie),this._dimensions=map$1(ae,function(se){return{type:se.type,property:se.property}}),this._initDataFromProvider(0,te.count())},ee.prototype.getProvider=function(){return this._provider},ee.prototype.getSource=function(){return this._provider.getSource()},ee.prototype.ensureCalculationDimension=function(te,ae){var ne=this._calcDimNameToIdx,ie=this._dimensions,oe=ne.get(te);if(oe!=null){if(ie[oe].type===ae)return oe}else oe=ie.length;return ie[oe]={type:ae},ne.set(te,oe),this._chunks[oe]=new dataCtors[ae||"float"](this._rawCount),this._rawExtent[oe]=getInitialExtent(),oe},ee.prototype.collectOrdinalMeta=function(te,ae){var ne=this._chunks[te],ie=this._dimensions[te],oe=this._rawExtent,se=ie.ordinalOffset||0,le=ne.length;se===0&&(oe[te]=getInitialExtent());for(var ue=oe[te],ce=se;ce<le;ce++){var de=ne[ce]=ae.parseAndCollect(ne[ce]);isNaN(de)||(ue[0]=Math.min(de,ue[0]),ue[1]=Math.max(de,ue[1]))}ie.ordinalMeta=ae,ie.ordinalOffset=le,ie.type="ordinal"},ee.prototype.getOrdinalMeta=function(te){var ae=this._dimensions[te],ne=ae.ordinalMeta;return ne},ee.prototype.getDimensionProperty=function(te){var ae=this._dimensions[te];return ae&&ae.property},ee.prototype.appendData=function(te){var ae=this._provider,ne=this.count();ae.appendData(te);var ie=ae.count();return ae.persistent||(ie+=ne),ne<ie&&this._initDataFromProvider(ne,ie,!0),[ne,ie]},ee.prototype.appendValues=function(te,ae){for(var ne=this._chunks,ie=this._dimensions,oe=ie.length,se=this._rawExtent,le=this.count(),ue=le+Math.max(te.length,ae||0),ce=0;ce<oe;ce++){var de=ie[ce];prepareStore(ne,ce,de.type,ue,!0)}for(var he=[],fe=le;fe<ue;fe++)for(var pe=fe-le,ve=0;ve<oe;ve++){var de=ie[ve],ge=defaultDimValueGetters.arrayRows.call(this,te[pe]||he,de.property,pe,ve);ne[ve][fe]=ge;var me=se[ve];ge<me[0]&&(me[0]=ge),ge>me[1]&&(me[1]=ge)}return this._rawCount=this._count=ue,{start:le,end:ue}},ee.prototype._initDataFromProvider=function(te,ae,ne){for(var ie=this._provider,oe=this._chunks,se=this._dimensions,le=se.length,ue=this._rawExtent,ce=map$1(se,function(_e){return _e.property}),de=0;de<le;de++){var he=se[de];ue[de]||(ue[de]=getInitialExtent()),prepareStore(oe,de,he.type,ae,ne)}if(ie.fillStorage)ie.fillStorage(te,ae,oe,ue);else for(var fe=[],pe=te;pe<ae;pe++){fe=ie.getItem(pe,fe);for(var ve=0;ve<le;ve++){var ge=oe[ve],me=this._dimValueGetter(fe,ce[ve],pe,ve);ge[pe]=me;var ye=ue[ve];me<ye[0]&&(ye[0]=me),me>ye[1]&&(ye[1]=me)}}!ie.persistent&&ie.clean&&ie.clean(),this._rawCount=this._count=ae,this._extent=[]},ee.prototype.count=function(){return this._count},ee.prototype.get=function(te,ae){if(!(ae>=0&&ae<this._count))return NaN;var ne=this._chunks[te];return ne?ne[this.getRawIndex(ae)]:NaN},ee.prototype.getValues=function(te,ae){var ne=[],ie=[];if(ae==null){ae=te,te=[];for(var oe=0;oe<this._dimensions.length;oe++)ie.push(oe)}else ie=te;for(var oe=0,se=ie.length;oe<se;oe++)ne.push(this.get(ie[oe],ae));return ne},ee.prototype.getByRawIndex=function(te,ae){if(!(ae>=0&&ae<this._rawCount))return NaN;var ne=this._chunks[te];return ne?ne[ae]:NaN},ee.prototype.getSum=function(te){var ae=this._chunks[te],ne=0;if(ae)for(var ie=0,oe=this.count();ie<oe;ie++){var se=this.get(te,ie);isNaN(se)||(ne+=se)}return ne},ee.prototype.getMedian=function(te){var ae=[];this.each([te],function(oe){isNaN(oe)||ae.push(oe)});var ne=ae.sort(function(oe,se){return oe-se}),ie=this.count();return ie===0?0:ie%2===1?ne[(ie-1)/2]:(ne[ie/2]+ne[ie/2-1])/2},ee.prototype.indexOfRawIndex=function(te){if(te>=this._rawCount||te<0)return-1;if(!this._indices)return te;var ae=this._indices,ne=ae[te];if(ne!=null&&ne<this._count&&ne===te)return te;for(var ie=0,oe=this._count-1;ie<=oe;){var se=(ie+oe)/2|0;if(ae[se]<te)ie=se+1;else if(ae[se]>te)oe=se-1;else return se}return-1},ee.prototype.indicesOfNearest=function(te,ae,ne){var ie=this._chunks,oe=ie[te],se=[];if(!oe)return se;ne==null&&(ne=1/0);for(var le=1/0,ue=-1,ce=0,de=0,he=this.count();de<he;de++){var fe=this.getRawIndex(de),pe=ae-oe[fe],ve=Math.abs(pe);ve<=ne&&((ve<le||ve===le&&pe>=0&&ue<0)&&(le=ve,ue=pe,ce=0),pe===ue&&(se[ce++]=de))}return se.length=ce,se},ee.prototype.getIndices=function(){var te,ae=this._indices;if(ae){var ne=ae.constructor,ie=this._count;if(ne===Array){te=new ne(ie);for(var oe=0;oe<ie;oe++)te[oe]=ae[oe]}else te=new ne(ae.buffer,0,ie)}else{var ne=getIndicesCtor(this._rawCount);te=new ne(this.count());for(var oe=0;oe<te.length;oe++)te[oe]=oe}return te},ee.prototype.filter=function(te,ae){if(!this._count)return this;for(var ne=this.clone(),ie=ne.count(),oe=getIndicesCtor(ne._rawCount),se=new oe(ie),le=[],ue=te.length,ce=0,de=te[0],he=ne._chunks,fe=0;fe<ie;fe++){var pe=void 0,ve=ne.getRawIndex(fe);if(ue===0)pe=ae(fe);else if(ue===1){var ge=he[de][ve];pe=ae(ge,fe)}else{for(var me=0;me<ue;me++)le[me]=he[te[me]][ve];le[me]=fe,pe=ae.apply(null,le)}pe&&(se[ce++]=ve)}return ce<ie&&(ne._indices=se),ne._count=ce,ne._extent=[],ne._updateGetRawIdx(),ne},ee.prototype.selectRange=function(te){var ae=this.clone(),ne=ae._count;if(!ne)return this;var ie=keys(te),oe=ie.length;if(!oe)return this;var se=ae.count(),le=getIndicesCtor(ae._rawCount),ue=new le(se),ce=0,de=ie[0],he=te[de][0],fe=te[de][1],pe=ae._chunks,ve=!1;if(!ae._indices){var ge=0;if(oe===1){for(var me=pe[ie[0]],ye=0;ye<ne;ye++){var _e=me[ye];(_e>=he&&_e<=fe||isNaN(_e))&&(ue[ce++]=ge),ge++}ve=!0}else if(oe===2){for(var me=pe[ie[0]],be=pe[ie[1]],xe=te[ie[1]][0],$e=te[ie[1]][1],ye=0;ye<ne;ye++){var _e=me[ye],Se=be[ye];(_e>=he&&_e<=fe||isNaN(_e))&&(Se>=xe&&Se<=$e||isNaN(Se))&&(ue[ce++]=ge),ge++}ve=!0}}if(!ve)if(oe===1)for(var ye=0;ye<se;ye++){var we=ae.getRawIndex(ye),_e=pe[ie[0]][we];(_e>=he&&_e<=fe||isNaN(_e))&&(ue[ce++]=we)}else for(var ye=0;ye<se;ye++){for(var Ae=!0,we=ae.getRawIndex(ye),Te=0;Te<oe;Te++){var De=ie[Te],_e=pe[De][we];(_e<te[De][0]||_e>te[De][1])&&(Ae=!1)}Ae&&(ue[ce++]=ae.getRawIndex(ye))}return ce<se&&(ae._indices=ue),ae._count=ce,ae._extent=[],ae._updateGetRawIdx(),ae},ee.prototype.map=function(te,ae){var ne=this.clone(te);return this._updateDims(ne,te,ae),ne},ee.prototype.modify=function(te,ae){this._updateDims(this,te,ae)},ee.prototype._updateDims=function(te,ae,ne){for(var ie=te._chunks,oe=[],se=ae.length,le=te.count(),ue=[],ce=te._rawExtent,de=0;de<ae.length;de++)ce[ae[de]]=getInitialExtent();for(var he=0;he<le;he++){for(var fe=te.getRawIndex(he),pe=0;pe<se;pe++)ue[pe]=ie[ae[pe]][fe];ue[se]=he;var ve=ne&&ne.apply(null,ue);if(ve!=null){typeof ve!="object"&&(oe[0]=ve,ve=oe);for(var de=0;de<ve.length;de++){var ge=ae[de],me=ve[de],ye=ce[ge],_e=ie[ge];_e&&(_e[fe]=me),me<ye[0]&&(ye[0]=me),me>ye[1]&&(ye[1]=me)}}}},ee.prototype.lttbDownSample=function(te,ae){var ne=this.clone([te],!0),ie=ne._chunks,oe=ie[te],se=this.count(),le=0,ue=Math.floor(1/ae),ce=this.getRawIndex(0),de,he,fe,pe=new(getIndicesCtor(this._rawCount))(Math.min((Math.ceil(se/ue)+2)*2,se));pe[le++]=ce;for(var ve=1;ve<se-1;ve+=ue){for(var ge=Math.min(ve+ue,se-1),me=Math.min(ve+ue*2,se),ye=(me+ge)/2,_e=0,be=ge;be<me;be++){var xe=this.getRawIndex(be),$e=oe[xe];isNaN($e)||(_e+=$e)}_e/=me-ge;var Se=ve,we=Math.min(ve+ue,se),Ae=ve-1,Te=oe[ce];de=-1,fe=Se;for(var De=-1,Me=0,be=Se;be<we;be++){var xe=this.getRawIndex(be),$e=oe[xe];if(isNaN($e)){Me++,De<0&&(De=xe);continue}he=Math.abs((Ae-ye)*($e-Te)-(Ae-be)*(_e-Te)),he>de&&(de=he,fe=xe)}Me>0&&Me<we-Se&&(pe[le++]=Math.min(De,fe),fe=Math.max(De,fe)),pe[le++]=fe,ce=fe}return pe[le++]=this.getRawIndex(se-1),ne._count=le,ne._indices=pe,ne.getRawIndex=this._getRawIdx,ne},ee.prototype.downSample=function(te,ae,ne,ie){for(var oe=this.clone([te],!0),se=oe._chunks,le=[],ue=Math.floor(1/ae),ce=se[te],de=this.count(),he=oe._rawExtent[te]=getInitialExtent(),fe=new(getIndicesCtor(this._rawCount))(Math.ceil(de/ue)),pe=0,ve=0;ve<de;ve+=ue){ue>de-ve&&(ue=de-ve,le.length=ue);for(var ge=0;ge<ue;ge++){var me=this.getRawIndex(ve+ge);le[ge]=ce[me]}var ye=ne(le),_e=this.getRawIndex(Math.min(ve+ie(le,ye)||0,de-1));ce[_e]=ye,ye<he[0]&&(he[0]=ye),ye>he[1]&&(he[1]=ye),fe[pe++]=_e}return oe._count=pe,oe._indices=fe,oe._updateGetRawIdx(),oe},ee.prototype.each=function(te,ae){if(this._count)for(var ne=te.length,ie=this._chunks,oe=0,se=this.count();oe<se;oe++){var le=this.getRawIndex(oe);switch(ne){case 0:ae(oe);break;case 1:ae(ie[te[0]][le],oe);break;case 2:ae(ie[te[0]][le],ie[te[1]][le],oe);break;default:for(var ue=0,ce=[];ue<ne;ue++)ce[ue]=ie[te[ue]][le];ce[ue]=oe,ae.apply(null,ce)}}},ee.prototype.getDataExtent=function(te){var ae=this._chunks[te],ne=getInitialExtent();if(!ae)return ne;var ie=this.count(),oe=!this._indices,se;if(oe)return this._rawExtent[te].slice();if(se=this._extent[te],se)return se.slice();se=ne;for(var le=se[0],ue=se[1],ce=0;ce<ie;ce++){var de=this.getRawIndex(ce),he=ae[de];he<le&&(le=he),he>ue&&(ue=he)}return se=[le,ue],this._extent[te]=se,se},ee.prototype.getRawDataItem=function(te){var ae=this.getRawIndex(te);if(this._provider.persistent)return this._provider.getItem(ae);for(var ne=[],ie=this._chunks,oe=0;oe<ie.length;oe++)ne.push(ie[oe][ae]);return ne},ee.prototype.clone=function(te,ae){var ne=new ee,ie=this._chunks,oe=te&&reduce(te,function(le,ue){return le[ue]=!0,le},{});if(oe)for(var se=0;se<ie.length;se++)ne._chunks[se]=oe[se]?cloneChunk(ie[se]):ie[se];else ne._chunks=ie;return this._copyCommonProps(ne),ae||(ne._indices=this._cloneIndices()),ne._updateGetRawIdx(),ne},ee.prototype._copyCommonProps=function(te){te._count=this._count,te._rawCount=this._rawCount,te._provider=this._provider,te._dimensions=this._dimensions,te._extent=clone$4(this._extent),te._rawExtent=clone$4(this._rawExtent)},ee.prototype._cloneIndices=function(){if(this._indices){var te=this._indices.constructor,ae=void 0;if(te===Array){var ne=this._indices.length;ae=new te(ne);for(var ie=0;ie<ne;ie++)ae[ie]=this._indices[ie]}else ae=new te(this._indices);return ae}return null},ee.prototype._getRawIdxIdentity=function(te){return te},ee.prototype._getRawIdx=function(te){return te<this._count&&te>=0?this._indices[te]:-1},ee.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},ee.internalField=function(){function te(ae,ne,ie,oe){return parseDataValue(ae[oe],this._dimensions[oe])}defaultDimValueGetters={arrayRows:te,objectRows:function(ae,ne,ie,oe){return parseDataValue(ae[ne],this._dimensions[oe])},keyedColumns:te,original:function(ae,ne,ie,oe){var se=ae&&(ae.value==null?ae:ae.value);return parseDataValue(se instanceof Array?se[oe]:se,this._dimensions[oe])},typedArray:function(ae,ne,ie,oe){return ae[oe]}}}(),ee}();const DataStore$1=DataStore;var SourceManager=function(){function ee(te){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=te}return ee.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},ee.prototype._setLocalSource=function(te,ae){this._sourceList=te,this._upstreamSignList=ae,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},ee.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},ee.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},ee.prototype._createSource=function(){this._setLocalSource([],[]);var te=this._sourceHost,ae=this._getUpstreamSourceManagers(),ne=!!ae.length,ie,oe;if(isSeries(te)){var se=te,le=void 0,ue=void 0,ce=void 0;if(ne){var de=ae[0];de.prepareSource(),ce=de.getSource(),le=ce.data,ue=ce.sourceFormat,oe=[de._getVersionSign()]}else le=se.get("data",!0),ue=isTypedArray$1(le)?SOURCE_FORMAT_TYPED_ARRAY:SOURCE_FORMAT_ORIGINAL,oe=[];var he=this._getSourceMetaRawOption()||{},fe=ce&&ce.metaRawOption||{},pe=retrieve2(he.seriesLayoutBy,fe.seriesLayoutBy)||null,ve=retrieve2(he.sourceHeader,fe.sourceHeader),ge=retrieve2(he.dimensions,fe.dimensions),me=pe!==fe.seriesLayoutBy||!!ve!=!!fe.sourceHeader||ge;ie=me?[createSource(le,{seriesLayoutBy:pe,sourceHeader:ve,dimensions:ge},ue)]:[]}else{var ye=te;if(ne){var _e=this._applyTransform(ae);ie=_e.sourceList,oe=_e.upstreamSignList}else{var be=ye.get("source",!0);ie=[createSource(be,this._getSourceMetaRawOption(),null)],oe=[]}}this._setLocalSource(ie,oe)},ee.prototype._applyTransform=function(te){var ae=this._sourceHost,ne=ae.get("transform",!0),ie=ae.get("fromTransformResult",!0);if(ie!=null){var oe="";te.length!==1&&doThrow(oe)}var se,le=[],ue=[];return each$f(te,function(ce){ce.prepareSource();var de=ce.getSource(ie||0),he="";ie!=null&&!de&&doThrow(he),le.push(de),ue.push(ce._getVersionSign())}),ne?se=applyDataTransform(ne,le,{datasetIndex:ae.componentIndex}):ie!=null&&(se=[cloneSourceShallow(le[0])]),{sourceList:se,upstreamSignList:ue}},ee.prototype._isDirty=function(){if(this._dirty)return!0;for(var te=this._getUpstreamSourceManagers(),ae=0;ae<te.length;ae++){var ne=te[ae];if(ne._isDirty()||this._upstreamSignList[ae]!==ne._getVersionSign())return!0}},ee.prototype.getSource=function(te){te=te||0;var ae=this._sourceList[te];if(!ae){var ne=this._getUpstreamSourceManagers();return ne[0]&&ne[0].getSource(te)}return ae},ee.prototype.getSharedDataStore=function(te){var ae=te.makeStoreSchema();return this._innerGetDataStore(ae.dimensions,te.source,ae.hash)},ee.prototype._innerGetDataStore=function(te,ae,ne){var ie=0,oe=this._storeList,se=oe[ie];se||(se=oe[ie]={});var le=se[ne];if(!le){var ue=this._getUpstreamSourceManagers()[0];isSeries(this._sourceHost)&&ue?le=ue._innerGetDataStore(te,ae,ne):(le=new DataStore$1,le.initData(new DefaultDataProvider(ae,te.length),te)),se[ne]=le}return le},ee.prototype._getUpstreamSourceManagers=function(){var te=this._sourceHost;if(isSeries(te)){var ae=querySeriesUpstreamDatasetModel(te);return ae?[ae.getSourceManager()]:[]}else return map$1(queryDatasetUpstreamDatasetModels(te),function(ne){return ne.getSourceManager()})},ee.prototype._getSourceMetaRawOption=function(){var te=this._sourceHost,ae,ne,ie;if(isSeries(te))ae=te.get("seriesLayoutBy",!0),ne=te.get("sourceHeader",!0),ie=te.get("dimensions",!0);else if(!this._getUpstreamSourceManagers().length){var oe=te;ae=oe.get("seriesLayoutBy",!0),ne=oe.get("sourceHeader",!0),ie=oe.get("dimensions",!0)}return{seriesLayoutBy:ae,sourceHeader:ne,dimensions:ie}},ee}();function disableTransformOptionMerge(ee){var te=ee.option.transform;te&&setAsPrimitive(ee.option.transform)}function isSeries(ee){return ee.mainType==="series"}function doThrow(ee){throw new Error(ee)}var TOOLTIP_LINE_HEIGHT_CSS="line-height:1";function getTooltipTextStyle(ee,te){var ae=ee.color||"#6e7079",ne=ee.fontSize||12,ie=ee.fontWeight||"400",oe=ee.color||"#464646",se=ee.fontSize||14,le=ee.fontWeight||"900";return te==="html"?{nameStyle:"font-size:"+encodeHTML(ne+"")+"px;color:"+encodeHTML(ae)+";font-weight:"+encodeHTML(ie+""),valueStyle:"font-size:"+encodeHTML(se+"")+"px;color:"+encodeHTML(oe)+";font-weight:"+encodeHTML(le+"")}:{nameStyle:{fontSize:ne,fill:ae,fontWeight:ie},valueStyle:{fontSize:se,fill:oe,fontWeight:le}}}var HTML_GAPS=[0,10,20,30],RICH_TEXT_GAPS=["",`
-`,`
-
-`,`
-
-
-`];function createTooltipMarkup(ee,te){return te.type=ee,te}function isSectionFragment(ee){return ee.type==="section"}function getBuilder(ee){return isSectionFragment(ee)?buildSection:buildNameValue}function getBlockGapLevel(ee){if(isSectionFragment(ee)){var te=0,ae=ee.blocks.length,ne=ae>1||ae>0&&!ee.noHeader;return each$f(ee.blocks,function(ie){var oe=getBlockGapLevel(ie);oe>=te&&(te=oe+ +(ne&&(!oe||isSectionFragment(ie)&&!ie.noHeader)))}),te}return 0}function buildSection(ee,te,ae,ne){var ie=te.noHeader,oe=getGap(getBlockGapLevel(te)),se=[],le=te.blocks||[];assert(!le||isArray$2(le)),le=le||[];var ue=ee.orderMode;if(te.sortBlocks&&ue){le=le.slice();var ce={valueAsc:"asc",valueDesc:"desc"};if(hasOwn(ce,ue)){var de=new SortOrderComparator(ce[ue],null);le.sort(function(ve,ge){return de.evaluate(ve.sortParam,ge.sortParam)})}else ue==="seriesDesc"&&le.reverse()}each$f(le,function(ve,ge){var me=te.valueFormatter,ye=getBuilder(ve)(me?extend$1(extend$1({},ee),{valueFormatter:me}):ee,ve,ge>0?oe.html:0,ne);ye!=null&&se.push(ye)});var he=ee.renderMode==="richText"?se.join(oe.richText):wrapBlockHTML(se.join(""),ie?ae:oe.html);if(ie)return he;var fe=makeValueReadable(te.header,"ordinal",ee.useUTC),pe=getTooltipTextStyle(ne,ee.renderMode).nameStyle;return ee.renderMode==="richText"?wrapInlineNameRichText(ee,fe,pe)+oe.richText+he:wrapBlockHTML('<div style="'+pe+";"+TOOLTIP_LINE_HEIGHT_CSS+';">'+encodeHTML(fe)+"</div>"+he,ae)}function buildNameValue(ee,te,ae,ne){var ie=ee.renderMode,oe=te.noName,se=te.noValue,le=!te.markerType,ue=te.name,ce=ee.useUTC,de=te.valueFormatter||ee.valueFormatter||function(xe){return xe=isArray$2(xe)?xe:[xe],map$1(xe,function($e,Se){return makeValueReadable($e,isArray$2(pe)?pe[Se]:pe,ce)})};if(!(oe&&se)){var he=le?"":ee.markupStyleCreator.makeTooltipMarker(te.markerType,te.markerColor||"#333",ie),fe=oe?"":makeValueReadable(ue,"ordinal",ce),pe=te.valueType,ve=se?[]:de(te.value),ge=!le||!oe,me=!le&&oe,ye=getTooltipTextStyle(ne,ie),_e=ye.nameStyle,be=ye.valueStyle;return ie==="richText"?(le?"":he)+(oe?"":wrapInlineNameRichText(ee,fe,_e))+(se?"":wrapInlineValueRichText(ee,ve,ge,me,be)):wrapBlockHTML((le?"":he)+(oe?"":wrapInlineNameHTML(fe,!le,_e))+(se?"":wrapInlineValueHTML(ve,ge,me,be)),ae)}}function buildTooltipMarkup(ee,te,ae,ne,ie,oe){if(ee){var se=getBuilder(ee),le={useUTC:ie,renderMode:ae,orderMode:ne,markupStyleCreator:te,valueFormatter:ee.valueFormatter};return se(le,ee,0,oe)}}function getGap(ee){return{html:HTML_GAPS[ee],richText:RICH_TEXT_GAPS[ee]}}function wrapBlockHTML(ee,te){var ae='<div style="clear:both"></div>',ne="margin: "+te+"px 0 0";return'<div style="'+ne+";"+TOOLTIP_LINE_HEIGHT_CSS+';">'+ee+ae+"</div>"}function wrapInlineNameHTML(ee,te,ae){var ne=te?"margin-left:2px":"";return'<span style="'+ae+";"+ne+'">'+encodeHTML(ee)+"</span>"}function wrapInlineValueHTML(ee,te,ae,ne){var ie=ae?"10px":"20px",oe=te?"float:right;margin-left:"+ie:"";return ee=isArray$2(ee)?ee:[ee],'<span style="'+oe+";"+ne+'">'+map$1(ee,function(se){return encodeHTML(se)}).join("&nbsp;&nbsp;")+"</span>"}function wrapInlineNameRichText(ee,te,ae){return ee.markupStyleCreator.wrapRichTextStyle(te,ae)}function wrapInlineValueRichText(ee,te,ae,ne,ie){var oe=[ie],se=ne?10:20;return ae&&oe.push({padding:[0,0,0,se],align:"right"}),ee.markupStyleCreator.wrapRichTextStyle(isArray$2(te)?te.join("  "):te,oe)}function retrieveVisualColorForTooltipMarker(ee,te){var ae=ee.getData().getItemVisual(te,"style"),ne=ae[ee.visualDrawType];return convertToColorString(ne)}function getPaddingFromTooltipModel(ee,te){var ae=ee.get("padding");return ae??(te==="richText"?[8,10]:10)}var TooltipMarkupStyleCreator=function(){function ee(){this.richTextStyles={},this._nextStyleNameId=getRandomIdBase()}return ee.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},ee.prototype.makeTooltipMarker=function(te,ae,ne){var ie=ne==="richText"?this._generateStyleName():null,oe=getTooltipMarker({color:ae,type:te,renderMode:ne,markerId:ie});return isString$1(oe)?oe:(this.richTextStyles[ie]=oe.style,oe.content)},ee.prototype.wrapRichTextStyle=function(te,ae){var ne={};isArray$2(ae)?each$f(ae,function(oe){return extend$1(ne,oe)}):extend$1(ne,ae);var ie=this._generateStyleName();return this.richTextStyles[ie]=ne,"{"+ie+"|"+te+"}"},ee}();function defaultSeriesFormatTooltip(ee){var te=ee.series,ae=ee.dataIndex,ne=ee.multipleSeries,ie=te.getData(),oe=ie.mapDimensionsAll("defaultedTooltip"),se=oe.length,le=te.getRawValue(ae),ue=isArray$2(le),ce=retrieveVisualColorForTooltipMarker(te,ae),de,he,fe,pe;if(se>1||ue&&!se){var ve=formatTooltipArrayValue(le,te,ae,oe,ce);de=ve.inlineValues,he=ve.inlineValueTypes,fe=ve.blocks,pe=ve.inlineValues[0]}else if(se){var ge=ie.getDimensionInfo(oe[0]);pe=de=retrieveRawValue(ie,ae,oe[0]),he=ge.type}else pe=de=ue?le[0]:le;var me=isNameSpecified(te),ye=me&&te.name||"",_e=ie.getName(ae),be=ne?ye:_e;return createTooltipMarkup("section",{header:ye,noHeader:ne||!me,sortParam:pe,blocks:[createTooltipMarkup("nameValue",{markerType:"item",markerColor:ce,name:be,noName:!trim$2(be),value:de,valueType:he})].concat(fe||[])})}function formatTooltipArrayValue(ee,te,ae,ne,ie){var oe=te.getData(),se=reduce(ee,function(he,fe,pe){var ve=oe.getDimensionInfo(pe);return he=he||ve&&ve.tooltip!==!1&&ve.displayName!=null},!1),le=[],ue=[],ce=[];ne.length?each$f(ne,function(he){de(retrieveRawValue(oe,ae,he),he)}):each$f(ee,de);function de(he,fe){var pe=oe.getDimensionInfo(fe);!pe||pe.otherDims.tooltip===!1||(se?ce.push(createTooltipMarkup("nameValue",{markerType:"subItem",markerColor:ie,name:pe.displayName,value:he,valueType:pe.type})):(le.push(he),ue.push(pe.type)))}return{inlineValues:le,inlineValueTypes:ue,blocks:ce}}var inner$k=makeInner();function getSelectionKey(ee,te){return ee.getName(te)||ee.getId(te)}var SERIES_UNIVERSAL_TRANSITION_PROP="__universalTransitionEnabled",SeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae._selectedDataIndicesMap={},ae}return te.prototype.init=function(ae,ne,ie){this.seriesIndex=this.componentIndex,this.dataTask=createTask({count:dataTaskCount,reset:dataTaskReset}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(ae,ie);var oe=inner$k(this).sourceManager=new SourceManager(this);oe.prepareSource();var se=this.getInitialData(ae,ie);wrapData(se,this),this.dataTask.context.data=se,inner$k(this).dataBeforeProcessed=se,autoSeriesName(this),this._initSelectedMapFromData(se)},te.prototype.mergeDefaultAndTheme=function(ae,ne){var ie=fetchLayoutMode(this),oe=ie?getLayoutParams(ae):{},se=this.subType;ComponentModel$1.hasClass(se)&&(se+="Series"),merge$1(ae,ne.getTheme().get(this.subType)),merge$1(ae,this.getDefaultOption()),defaultEmphasis(ae,"label",["show"]),this.fillDataTextStyle(ae.data),ie&&mergeLayoutParam(ae,oe,ie)},te.prototype.mergeOption=function(ae,ne){ae=merge$1(this.option,ae,!0),this.fillDataTextStyle(ae.data);var ie=fetchLayoutMode(this);ie&&mergeLayoutParam(this.option,ae,ie);var oe=inner$k(this).sourceManager;oe.dirty(),oe.prepareSource();var se=this.getInitialData(ae,ne);wrapData(se,this),this.dataTask.dirty(),this.dataTask.context.data=se,inner$k(this).dataBeforeProcessed=se,autoSeriesName(this),this._initSelectedMapFromData(se)},te.prototype.fillDataTextStyle=function(ae){if(ae&&!isTypedArray$1(ae))for(var ne=["show"],ie=0;ie<ae.length;ie++)ae[ie]&&ae[ie].label&&defaultEmphasis(ae[ie],"label",ne)},te.prototype.getInitialData=function(ae,ne){},te.prototype.appendData=function(ae){var ne=this.getRawData();ne.appendData(ae.data)},te.prototype.getData=function(ae){var ne=getCurrentTask(this);if(ne){var ie=ne.context.data;return ae==null?ie:ie.getLinkedData(ae)}else return inner$k(this).data},te.prototype.getAllData=function(){var ae=this.getData();return ae&&ae.getLinkedDataAll?ae.getLinkedDataAll():[{data:ae}]},te.prototype.setData=function(ae){var ne=getCurrentTask(this);if(ne){var ie=ne.context;ie.outputData=ae,ne!==this.dataTask&&(ie.data=ae)}inner$k(this).data=ae},te.prototype.getEncode=function(){var ae=this.get("encode",!0);if(ae)return createHashMap(ae)},te.prototype.getSourceManager=function(){return inner$k(this).sourceManager},te.prototype.getSource=function(){return this.getSourceManager().getSource()},te.prototype.getRawData=function(){return inner$k(this).dataBeforeProcessed},te.prototype.getColorBy=function(){var ae=this.get("colorBy");return ae||"series"},te.prototype.isColorBySeries=function(){return this.getColorBy()==="series"},te.prototype.getBaseAxis=function(){var ae=this.coordinateSystem;return ae&&ae.getBaseAxis&&ae.getBaseAxis()},te.prototype.formatTooltip=function(ae,ne,ie){return defaultSeriesFormatTooltip({series:this,dataIndex:ae,multipleSeries:ne})},te.prototype.isAnimationEnabled=function(){var ae=this.ecModel;if(env$1.node&&!(ae&&ae.ssr))return!1;var ne=this.getShallow("animation");return ne&&this.getData().count()>this.getShallow("animationThreshold")&&(ne=!1),!!ne},te.prototype.restoreData=function(){this.dataTask.dirty()},te.prototype.getColorFromPalette=function(ae,ne,ie){var oe=this.ecModel,se=PaletteMixin.prototype.getColorFromPalette.call(this,ae,ne,ie);return se||(se=oe.getColorFromPalette(ae,ne,ie)),se},te.prototype.coordDimToDataDim=function(ae){return this.getRawData().mapDimensionsAll(ae)},te.prototype.getProgressive=function(){return this.get("progressive")},te.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},te.prototype.select=function(ae,ne){this._innerSelect(this.getData(ne),ae)},te.prototype.unselect=function(ae,ne){var ie=this.option.selectedMap;if(ie){var oe=this.option.selectedMode,se=this.getData(ne);if(oe==="series"||ie==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var le=0;le<ae.length;le++){var ue=ae[le],ce=getSelectionKey(se,ue);ie[ce]=!1,this._selectedDataIndicesMap[ce]=-1}}},te.prototype.toggleSelect=function(ae,ne){for(var ie=[],oe=0;oe<ae.length;oe++)ie[0]=ae[oe],this.isSelected(ae[oe],ne)?this.unselect(ie,ne):this.select(ie,ne)},te.prototype.getSelectedDataIndices=function(){if(this.option.selectedMap==="all")return[].slice.call(this.getData().getIndices());for(var ae=this._selectedDataIndicesMap,ne=keys(ae),ie=[],oe=0;oe<ne.length;oe++){var se=ae[ne[oe]];se>=0&&ie.push(se)}return ie},te.prototype.isSelected=function(ae,ne){var ie=this.option.selectedMap;if(!ie)return!1;var oe=this.getData(ne);return(ie==="all"||ie[getSelectionKey(oe,ae)])&&!oe.getItemModel(ae).get(["select","disabled"])},te.prototype.isUniversalTransitionEnabled=function(){if(this[SERIES_UNIVERSAL_TRANSITION_PROP])return!0;var ae=this.option.universalTransition;return ae?ae===!0?!0:ae&&ae.enabled:!1},te.prototype._innerSelect=function(ae,ne){var ie,oe,se=this.option,le=se.selectedMode,ue=ne.length;if(!(!le||!ue)){if(le==="series")se.selectedMap="all";else if(le==="multiple"){isObject$4(se.selectedMap)||(se.selectedMap={});for(var ce=se.selectedMap,de=0;de<ue;de++){var he=ne[de],fe=getSelectionKey(ae,he);ce[fe]=!0,this._selectedDataIndicesMap[fe]=ae.getRawIndex(he)}}else if(le==="single"||le===!0){var pe=ne[ue-1],fe=getSelectionKey(ae,pe);se.selectedMap=(ie={},ie[fe]=!0,ie),this._selectedDataIndicesMap=(oe={},oe[fe]=ae.getRawIndex(pe),oe)}}},te.prototype._initSelectedMapFromData=function(ae){if(!this.option.selectedMap){var ne=[];ae.hasItemOption&&ae.each(function(ie){var oe=ae.getRawDataItem(ie);oe&&oe.selected&&ne.push(ie)}),ne.length>0&&this._innerSelect(ae,ne)}},te.registerClass=function(ae){return ComponentModel$1.registerClass(ae)},te.protoInitialize=function(){var ae=te.prototype;ae.type="series.__base__",ae.seriesIndex=0,ae.ignoreStyleOnData=!1,ae.hasSymbolVisual=!1,ae.defaultSymbol="circle",ae.visualStyleAccessPath="itemStyle",ae.visualDrawType="fill"}(),te}(ComponentModel$1);mixin(SeriesModel,DataFormatMixin);mixin(SeriesModel,PaletteMixin);mountExtend(SeriesModel,ComponentModel$1);function autoSeriesName(ee){var te=ee.name;isNameSpecified(ee)||(ee.name=getSeriesAutoName(ee)||te)}function getSeriesAutoName(ee){var te=ee.getRawData(),ae=te.mapDimensionsAll("seriesName"),ne=[];return each$f(ae,function(ie){var oe=te.getDimensionInfo(ie);oe.displayName&&ne.push(oe.displayName)}),ne.join(" ")}function dataTaskCount(ee){return ee.model.getRawData().count()}function dataTaskReset(ee){var te=ee.model;return te.setData(te.getRawData().cloneShallow()),dataTaskProgress}function dataTaskProgress(ee,te){te.outputData&&ee.end>te.outputData.count()&&te.model.getRawData().cloneShallow(te.outputData)}function wrapData(ee,te){each$f(concatArray(ee.CHANGABLE_METHODS,ee.DOWNSAMPLE_METHODS),function(ae){ee.wrapMethod(ae,curry$1(onDataChange,te))})}function onDataChange(ee,te){var ae=getCurrentTask(ee);return ae&&ae.setOutputEnd((te||this).count()),te}function getCurrentTask(ee){var te=(ee.ecModel||{}).scheduler,ae=te&&te.getPipeline(ee.uid);if(ae){var ne=ae.currentTask;if(ne){var ie=ne.agentStubMap;ie&&(ne=ie.get(ee.uid))}return ne}}const SeriesModel$1=SeriesModel;var ComponentView=function(){function ee(){this.group=new Group$4,this.uid=getUID("viewComponent")}return ee.prototype.init=function(te,ae){},ee.prototype.render=function(te,ae,ne,ie){},ee.prototype.dispose=function(te,ae){},ee.prototype.updateView=function(te,ae,ne,ie){},ee.prototype.updateLayout=function(te,ae,ne,ie){},ee.prototype.updateVisual=function(te,ae,ne,ie){},ee.prototype.toggleBlurSeries=function(te,ae,ne){},ee.prototype.eachRendered=function(te){var ae=this.group;ae&&ae.traverse(te)},ee}();enableClassExtend(ComponentView);enableClassManagement(ComponentView);const ComponentView$1=ComponentView;function createRenderPlanner(){var ee=makeInner();return function(te){var ae=ee(te),ne=te.pipelineContext,ie=!!ae.large,oe=!!ae.progressiveRender,se=ae.large=!!(ne&&ne.large),le=ae.progressiveRender=!!(ne&&ne.progressiveRender);return(ie!==se||oe!==le)&&"reset"}}var inner$j=makeInner(),renderPlanner=createRenderPlanner(),ChartView=function(){function ee(){this.group=new Group$4,this.uid=getUID("viewChart"),this.renderTask=createTask({plan:renderTaskPlan,reset:renderTaskReset}),this.renderTask.context={view:this}}return ee.prototype.init=function(te,ae){},ee.prototype.render=function(te,ae,ne,ie){},ee.prototype.highlight=function(te,ae,ne,ie){var oe=te.getData(ie&&ie.dataType);oe&&toggleHighlight(oe,ie,"emphasis")},ee.prototype.downplay=function(te,ae,ne,ie){var oe=te.getData(ie&&ie.dataType);oe&&toggleHighlight(oe,ie,"normal")},ee.prototype.remove=function(te,ae){this.group.removeAll()},ee.prototype.dispose=function(te,ae){},ee.prototype.updateView=function(te,ae,ne,ie){this.render(te,ae,ne,ie)},ee.prototype.updateLayout=function(te,ae,ne,ie){this.render(te,ae,ne,ie)},ee.prototype.updateVisual=function(te,ae,ne,ie){this.render(te,ae,ne,ie)},ee.prototype.eachRendered=function(te){traverseElements(this.group,te)},ee.markUpdateMethod=function(te,ae){inner$j(te).updateMethod=ae},ee.protoInitialize=function(){var te=ee.prototype;te.type="chart"}(),ee}();function elSetState(ee,te,ae){ee&&isHighDownDispatcher(ee)&&(te==="emphasis"?enterEmphasis:leaveEmphasis)(ee,ae)}function toggleHighlight(ee,te,ae){var ne=queryDataIndex(ee,te),ie=te&&te.highlightKey!=null?getHighlightDigit(te.highlightKey):null;ne!=null?each$f(normalizeToArray(ne),function(oe){elSetState(ee.getItemGraphicEl(oe),ae,ie)}):ee.eachItemGraphicEl(function(oe){elSetState(oe,ae,ie)})}enableClassExtend(ChartView);enableClassManagement(ChartView);function renderTaskPlan(ee){return renderPlanner(ee.model)}function renderTaskReset(ee){var te=ee.model,ae=ee.ecModel,ne=ee.api,ie=ee.payload,oe=te.pipelineContext.progressiveRender,se=ee.view,le=ie&&inner$j(ie).updateMethod,ue=oe?"incrementalPrepareRender":le&&se[le]?le:"render";return ue!=="render"&&se[ue](te,ae,ne,ie),progressMethodMap[ue]}var progressMethodMap={incrementalPrepareRender:{progress:function(ee,te){te.view.incrementalRender(ee,te.model,te.ecModel,te.api,te.payload)}},render:{forceFirstProgress:!0,progress:function(ee,te){te.view.render(te.model,te.ecModel,te.api,te.payload)}}};const ChartView$1=ChartView;var ORIGIN_METHOD="\0__throttleOriginMethod",RATE="\0__throttleRate",THROTTLE_TYPE="\0__throttleType";function throttle$1(ee,te,ae){var ne,ie=0,oe=0,se=null,le,ue,ce,de;te=te||0;function he(){oe=new Date().getTime(),se=null,ee.apply(ue,ce||[])}var fe=function(){for(var pe=[],ve=0;ve<arguments.length;ve++)pe[ve]=arguments[ve];ne=new Date().getTime(),ue=this,ce=pe;var ge=de||te,me=de||ae;de=null,le=ne-(me?ie:oe)-ge,clearTimeout(se),me?se=setTimeout(he,ge):le>=0?he():se=setTimeout(he,-le),ie=ne};return fe.clear=function(){se&&(clearTimeout(se),se=null)},fe.debounceNextCall=function(pe){de=pe},fe}function createOrUpdate(ee,te,ae,ne){var ie=ee[te];if(ie){var oe=ie[ORIGIN_METHOD]||ie,se=ie[THROTTLE_TYPE],le=ie[RATE];if(le!==ae||se!==ne){if(ae==null||!ne)return ee[te]=oe;ie=ee[te]=throttle$1(oe,ae,ne==="debounce"),ie[ORIGIN_METHOD]=oe,ie[THROTTLE_TYPE]=ne,ie[RATE]=ae}return ie}}function clear$1(ee,te){var ae=ee[te];ae&&ae[ORIGIN_METHOD]&&(ae.clear&&ae.clear(),ee[te]=ae[ORIGIN_METHOD])}var inner$i=makeInner(),defaultStyleMappers={itemStyle:makeStyleMapper(ITEM_STYLE_KEY_MAP,!0),lineStyle:makeStyleMapper(LINE_STYLE_KEY_MAP,!0)},defaultColorKey={lineStyle:"stroke",itemStyle:"fill"};function getStyleMapper(ee,te){var ae=ee.visualStyleMapper||defaultStyleMappers[te];return ae||(console.warn("Unknown style type '"+te+"'."),defaultStyleMappers.itemStyle)}function getDefaultColorKey(ee,te){var ae=ee.visualDrawType||defaultColorKey[te];return ae||(console.warn("Unknown style type '"+te+"'."),"fill")}var seriesStyleTask={createOnAllSeries:!0,performRawSeries:!0,reset:function(ee,te){var ae=ee.getData(),ne=ee.visualStyleAccessPath||"itemStyle",ie=ee.getModel(ne),oe=getStyleMapper(ee,ne),se=oe(ie),le=ie.getShallow("decal");le&&(ae.setVisual("decal",le),le.dirty=!0);var ue=getDefaultColorKey(ee,ne),ce=se[ue],de=isFunction$1(ce)?ce:null,he=se.fill==="auto"||se.stroke==="auto";if(!se[ue]||de||he){var fe=ee.getColorFromPalette(ee.name,null,te.getSeriesCount());se[ue]||(se[ue]=fe,ae.setVisual("colorFromPalette",!0)),se.fill=se.fill==="auto"||isFunction$1(se.fill)?fe:se.fill,se.stroke=se.stroke==="auto"||isFunction$1(se.stroke)?fe:se.stroke}if(ae.setVisual("style",se),ae.setVisual("drawType",ue),!te.isSeriesFiltered(ee)&&de)return ae.setVisual("colorFromPalette",!1),{dataEach:function(pe,ve){var ge=ee.getDataParams(ve),me=extend$1({},se);me[ue]=de(ge),pe.setItemVisual(ve,"style",me)}}}},sharedModel=new Model$1,dataStyleTask={createOnAllSeries:!0,performRawSeries:!0,reset:function(ee,te){if(!(ee.ignoreStyleOnData||te.isSeriesFiltered(ee))){var ae=ee.getData(),ne=ee.visualStyleAccessPath||"itemStyle",ie=getStyleMapper(ee,ne),oe=ae.getVisual("drawType");return{dataEach:ae.hasItemOption?function(se,le){var ue=se.getRawDataItem(le);if(ue&&ue[ne]){sharedModel.option=ue[ne];var ce=ie(sharedModel),de=se.ensureUniqueItemVisual(le,"style");extend$1(de,ce),sharedModel.option.decal&&(se.setItemVisual(le,"decal",sharedModel.option.decal),sharedModel.option.decal.dirty=!0),oe in ce&&se.setItemVisual(le,"colorFromPalette",!1)}}:null}}}},dataColorPaletteTask={performRawSeries:!0,overallReset:function(ee){var te=createHashMap();ee.eachSeries(function(ae){var ne=ae.getColorBy();if(!ae.isColorBySeries()){var ie=ae.type+"-"+ne,oe=te.get(ie);oe||(oe={},te.set(ie,oe)),inner$i(ae).scope=oe}}),ee.eachSeries(function(ae){if(!(ae.isColorBySeries()||ee.isSeriesFiltered(ae))){var ne=ae.getRawData(),ie={},oe=ae.getData(),se=inner$i(ae).scope,le=ae.visualStyleAccessPath||"itemStyle",ue=getDefaultColorKey(ae,le);oe.each(function(ce){var de=oe.getRawIndex(ce);ie[de]=ce}),ne.each(function(ce){var de=ie[ce],he=oe.getItemVisual(de,"colorFromPalette");if(he){var fe=oe.ensureUniqueItemVisual(de,"style"),pe=ne.getName(ce)||ce+"",ve=ne.count();fe[ue]=ae.getColorFromPalette(pe,se,ve)}})}})}},PI$5=Math.PI;function defaultLoading(ee,te){te=te||{},defaults$2(te,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var ae=new Group$4,ne=new Rect$3({style:{fill:te.maskColor},zlevel:te.zlevel,z:1e4});ae.add(ne);var ie=new ZRText$1({style:{text:te.text,fill:te.textColor,fontSize:te.fontSize,fontWeight:te.fontWeight,fontStyle:te.fontStyle,fontFamily:te.fontFamily},zlevel:te.zlevel,z:10001}),oe=new Rect$3({style:{fill:"none"},textContent:ie,textConfig:{position:"right",distance:10},zlevel:te.zlevel,z:10001});ae.add(oe);var se;return te.showSpinner&&(se=new Arc$1({shape:{startAngle:-PI$5/2,endAngle:-PI$5/2+.1,r:te.spinnerRadius},style:{stroke:te.color,lineCap:"round",lineWidth:te.lineWidth},zlevel:te.zlevel,z:10001}),se.animateShape(!0).when(1e3,{endAngle:PI$5*3/2}).start("circularInOut"),se.animateShape(!0).when(1e3,{startAngle:PI$5*3/2}).delay(300).start("circularInOut"),ae.add(se)),ae.resize=function(){var le=ie.getBoundingRect().width,ue=te.showSpinner?te.spinnerRadius:0,ce=(ee.getWidth()-ue*2-(te.showSpinner&&le?10:0)-le)/2-(te.showSpinner&&le?0:5+le/2)+(te.showSpinner?0:le/2)+(le?0:ue),de=ee.getHeight()/2;te.showSpinner&&se.setShape({cx:ce,cy:de}),oe.setShape({x:ce-ue,y:de-ue,width:ue*2,height:ue*2}),ne.setShape({x:0,y:0,width:ee.getWidth(),height:ee.getHeight()})},ae.resize(),ae}var Scheduler=function(){function ee(te,ae,ne,ie){this._stageTaskMap=createHashMap(),this.ecInstance=te,this.api=ae,ne=this._dataProcessorHandlers=ne.slice(),ie=this._visualHandlers=ie.slice(),this._allHandlers=ne.concat(ie)}return ee.prototype.restoreData=function(te,ae){te.restoreData(ae),this._stageTaskMap.each(function(ne){var ie=ne.overallTask;ie&&ie.dirty()})},ee.prototype.getPerformArgs=function(te,ae){if(te.__pipeline){var ne=this._pipelineMap.get(te.__pipeline.id),ie=ne.context,oe=!ae&&ne.progressiveEnabled&&(!ie||ie.progressiveRender)&&te.__idxInPipeline>ne.blockIndex,se=oe?ne.step:null,le=ie&&ie.modDataCount,ue=le!=null?Math.ceil(le/se):null;return{step:se,modBy:ue,modDataCount:le}}},ee.prototype.getPipeline=function(te){return this._pipelineMap.get(te)},ee.prototype.updateStreamModes=function(te,ae){var ne=this._pipelineMap.get(te.uid),ie=te.getData(),oe=ie.count(),se=ne.progressiveEnabled&&ae.incrementalPrepareRender&&oe>=ne.threshold,le=te.get("large")&&oe>=te.get("largeThreshold"),ue=te.get("progressiveChunkMode")==="mod"?oe:null;te.pipelineContext=ne.context={progressiveRender:se,modDataCount:ue,large:le}},ee.prototype.restorePipelines=function(te){var ae=this,ne=ae._pipelineMap=createHashMap();te.eachSeries(function(ie){var oe=ie.getProgressive(),se=ie.uid;ne.set(se,{id:se,head:null,tail:null,threshold:ie.getProgressiveThreshold(),progressiveEnabled:oe&&!(ie.preventIncremental&&ie.preventIncremental()),blockIndex:-1,step:Math.round(oe||700),count:0}),ae._pipe(ie,ie.dataTask)})},ee.prototype.prepareStageTasks=function(){var te=this._stageTaskMap,ae=this.api.getModel(),ne=this.api;each$f(this._allHandlers,function(ie){var oe=te.get(ie.uid)||te.set(ie.uid,{}),se="";assert(!(ie.reset&&ie.overallReset),se),ie.reset&&this._createSeriesStageTask(ie,oe,ae,ne),ie.overallReset&&this._createOverallStageTask(ie,oe,ae,ne)},this)},ee.prototype.prepareView=function(te,ae,ne,ie){var oe=te.renderTask,se=oe.context;se.model=ae,se.ecModel=ne,se.api=ie,oe.__block=!te.incrementalPrepareRender,this._pipe(ae,oe)},ee.prototype.performDataProcessorTasks=function(te,ae){this._performStageTasks(this._dataProcessorHandlers,te,ae,{block:!0})},ee.prototype.performVisualTasks=function(te,ae,ne){this._performStageTasks(this._visualHandlers,te,ae,ne)},ee.prototype._performStageTasks=function(te,ae,ne,ie){ie=ie||{};var oe=!1,se=this;each$f(te,function(ue,ce){if(!(ie.visualType&&ie.visualType!==ue.visualType)){var de=se._stageTaskMap.get(ue.uid),he=de.seriesTaskMap,fe=de.overallTask;if(fe){var pe,ve=fe.agentStubMap;ve.each(function(me){le(ie,me)&&(me.dirty(),pe=!0)}),pe&&fe.dirty(),se.updatePayload(fe,ne);var ge=se.getPerformArgs(fe,ie.block);ve.each(function(me){me.perform(ge)}),fe.perform(ge)&&(oe=!0)}else he&&he.each(function(me,ye){le(ie,me)&&me.dirty();var _e=se.getPerformArgs(me,ie.block);_e.skip=!ue.performRawSeries&&ae.isSeriesFiltered(me.context.model),se.updatePayload(me,ne),me.perform(_e)&&(oe=!0)})}});function le(ue,ce){return ue.setDirty&&(!ue.dirtyMap||ue.dirtyMap.get(ce.__pipeline.id))}this.unfinished=oe||this.unfinished},ee.prototype.performSeriesTasks=function(te){var ae;te.eachSeries(function(ne){ae=ne.dataTask.perform()||ae}),this.unfinished=ae||this.unfinished},ee.prototype.plan=function(){this._pipelineMap.each(function(te){var ae=te.tail;do{if(ae.__block){te.blockIndex=ae.__idxInPipeline;break}ae=ae.getUpstream()}while(ae)})},ee.prototype.updatePayload=function(te,ae){ae!=="remain"&&(te.context.payload=ae)},ee.prototype._createSeriesStageTask=function(te,ae,ne,ie){var oe=this,se=ae.seriesTaskMap,le=ae.seriesTaskMap=createHashMap(),ue=te.seriesType,ce=te.getTargetSeries;te.createOnAllSeries?ne.eachRawSeries(de):ue?ne.eachRawSeriesByType(ue,de):ce&&ce(ne,ie).each(de);function de(he){var fe=he.uid,pe=le.set(fe,se&&se.get(fe)||createTask({plan:seriesTaskPlan,reset:seriesTaskReset,count:seriesTaskCount}));pe.context={model:he,ecModel:ne,api:ie,useClearVisual:te.isVisual&&!te.isLayout,plan:te.plan,reset:te.reset,scheduler:oe},oe._pipe(he,pe)}},ee.prototype._createOverallStageTask=function(te,ae,ne,ie){var oe=this,se=ae.overallTask=ae.overallTask||createTask({reset:overallTaskReset});se.context={ecModel:ne,api:ie,overallReset:te.overallReset,scheduler:oe};var le=se.agentStubMap,ue=se.agentStubMap=createHashMap(),ce=te.seriesType,de=te.getTargetSeries,he=!0,fe=!1,pe="";assert(!te.createOnAllSeries,pe),ce?ne.eachRawSeriesByType(ce,ve):de?de(ne,ie).each(ve):(he=!1,each$f(ne.getSeries(),ve));function ve(ge){var me=ge.uid,ye=ue.set(me,le&&le.get(me)||(fe=!0,createTask({reset:stubReset,onDirty:stubOnDirty})));ye.context={model:ge,overallProgress:he},ye.agent=se,ye.__block=he,oe._pipe(ge,ye)}fe&&se.dirty()},ee.prototype._pipe=function(te,ae){var ne=te.uid,ie=this._pipelineMap.get(ne);!ie.head&&(ie.head=ae),ie.tail&&ie.tail.pipe(ae),ie.tail=ae,ae.__idxInPipeline=ie.count++,ae.__pipeline=ie},ee.wrapStageHandler=function(te,ae){return isFunction$1(te)&&(te={overallReset:te,seriesType:detectSeriseType(te)}),te.uid=getUID("stageHandler"),ae&&(te.visualType=ae),te},ee}();function overallTaskReset(ee){ee.overallReset(ee.ecModel,ee.api,ee.payload)}function stubReset(ee){return ee.overallProgress&&stubProgress}function stubProgress(){this.agent.dirty(),this.getDownstream().dirty()}function stubOnDirty(){this.agent&&this.agent.dirty()}function seriesTaskPlan(ee){return ee.plan?ee.plan(ee.model,ee.ecModel,ee.api,ee.payload):null}function seriesTaskReset(ee){ee.useClearVisual&&ee.data.clearAllVisual();var te=ee.resetDefines=normalizeToArray(ee.reset(ee.model,ee.ecModel,ee.api,ee.payload));return te.length>1?map$1(te,function(ae,ne){return makeSeriesTaskProgress(ne)}):singleSeriesTaskProgress}var singleSeriesTaskProgress=makeSeriesTaskProgress(0);function makeSeriesTaskProgress(ee){return function(te,ae){var ne=ae.data,ie=ae.resetDefines[ee];if(ie&&ie.dataEach)for(var oe=te.start;oe<te.end;oe++)ie.dataEach(ne,oe);else ie&&ie.progress&&ie.progress(te,ne)}}function seriesTaskCount(ee){return ee.data.count()}function detectSeriseType(ee){seriesType=null;try{ee(ecModelMock,apiMock)}catch{}return seriesType}var ecModelMock={},apiMock={},seriesType;mockMethods(ecModelMock,GlobalModel$1);mockMethods(apiMock,ExtensionAPI$1);ecModelMock.eachSeriesByType=ecModelMock.eachRawSeriesByType=function(ee){seriesType=ee};ecModelMock.eachComponent=function(ee){ee.mainType==="series"&&ee.subType&&(seriesType=ee.subType)};function mockMethods(ee,te){for(var ae in te.prototype)ee[ae]=noop$1}const Scheduler$1=Scheduler;var colorAll=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"];const lightTheme={color:colorAll,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],colorAll]};var contrastColor="#B9B8CE",backgroundColor="#100C2A",axisCommon=function(){return{axisLine:{lineStyle:{color:contrastColor}},splitLine:{lineStyle:{color:"#484753"}},splitArea:{areaStyle:{color:["rgba(255,255,255,0.02)","rgba(255,255,255,0.05)"]}},minorSplitLine:{lineStyle:{color:"#20203B"}}}},colorPalette=["#4992ff","#7cffb2","#fddd60","#ff6e76","#58d9f9","#05c091","#ff8a45","#8d48e3","#dd79ff"],theme$1={darkMode:!0,color:colorPalette,backgroundColor,axisPointer:{lineStyle:{color:"#817f91"},crossStyle:{color:"#817f91"},label:{color:"#fff"}},legend:{textStyle:{color:contrastColor}},textStyle:{color:contrastColor},title:{textStyle:{color:"#EEF1FA"},subtextStyle:{color:"#B9B8CE"}},toolbox:{iconStyle:{borderColor:contrastColor}},dataZoom:{borderColor:"#71708A",textStyle:{color:contrastColor},brushStyle:{color:"rgba(135,163,206,0.3)"},handleStyle:{color:"#353450",borderColor:"#C5CBE3"},moveHandleStyle:{color:"#B0B6C3",opacity:.3},fillerColor:"rgba(135,163,206,0.2)",emphasis:{handleStyle:{borderColor:"#91B7F2",color:"#4D587D"},moveHandleStyle:{color:"#636D9A",opacity:.7}},dataBackground:{lineStyle:{color:"#71708A",width:1},areaStyle:{color:"#71708A"}},selectedDataBackground:{lineStyle:{color:"#87A3CE"},areaStyle:{color:"#87A3CE"}}},visualMap:{textStyle:{color:contrastColor}},timeline:{lineStyle:{color:contrastColor},label:{color:contrastColor},controlStyle:{color:contrastColor,borderColor:contrastColor}},calendar:{itemStyle:{color:backgroundColor},dayLabel:{color:contrastColor},monthLabel:{color:contrastColor},yearLabel:{color:contrastColor}},timeAxis:axisCommon(),logAxis:axisCommon(),valueAxis:axisCommon(),categoryAxis:axisCommon(),line:{symbol:"circle"},graph:{color:colorPalette},gauge:{title:{color:contrastColor},axisLine:{lineStyle:{color:[[1,"rgba(207,212,219,0.2)"]]}},axisLabel:{color:contrastColor},detail:{color:"#EEF1FA"}},candlestick:{itemStyle:{color:"#f64e56",color0:"#54ea92",borderColor:"#f64e56",borderColor0:"#54ea92"}}};theme$1.categoryAxis.splitLine.show=!1;const darkTheme=theme$1;var ECEventProcessor=function(){function ee(){}return ee.prototype.normalizeQuery=function(te){var ae={},ne={},ie={};if(isString$1(te)){var oe=parseClassType(te);ae.mainType=oe.main||null,ae.subType=oe.sub||null}else{var se=["Index","Name","Id"],le={name:1,dataIndex:1,dataType:1};each$f(te,function(ue,ce){for(var de=!1,he=0;he<se.length;he++){var fe=se[he],pe=ce.lastIndexOf(fe);if(pe>0&&pe===ce.length-fe.length){var ve=ce.slice(0,pe);ve!=="data"&&(ae.mainType=ve,ae[fe.toLowerCase()]=ue,de=!0)}}le.hasOwnProperty(ce)&&(ne[ce]=ue,de=!0),de||(ie[ce]=ue)})}return{cptQuery:ae,dataQuery:ne,otherQuery:ie}},ee.prototype.filter=function(te,ae){var ne=this.eventInfo;if(!ne)return!0;var ie=ne.targetEl,oe=ne.packedEvent,se=ne.model,le=ne.view;if(!se||!le)return!0;var ue=ae.cptQuery,ce=ae.dataQuery;return de(ue,se,"mainType")&&de(ue,se,"subType")&&de(ue,se,"index","componentIndex")&&de(ue,se,"name")&&de(ue,se,"id")&&de(ce,oe,"name")&&de(ce,oe,"dataIndex")&&de(ce,oe,"dataType")&&(!le.filterForExposedEvent||le.filterForExposedEvent(te,ae.otherQuery,ie,oe));function de(he,fe,pe,ve){return he[pe]==null||fe[ve||pe]===he[pe]}},ee.prototype.afterTrigger=function(){this.eventInfo=null},ee}(),SYMBOL_PROPS_WITH_CB=["symbol","symbolSize","symbolRotate","symbolOffset"],SYMBOL_PROPS=SYMBOL_PROPS_WITH_CB.concat(["symbolKeepAspect"]),seriesSymbolTask={createOnAllSeries:!0,performRawSeries:!0,reset:function(ee,te){var ae=ee.getData();if(ee.legendIcon&&ae.setVisual("legendIcon",ee.legendIcon),!ee.hasSymbolVisual)return;for(var ne={},ie={},oe=!1,se=0;se<SYMBOL_PROPS_WITH_CB.length;se++){var le=SYMBOL_PROPS_WITH_CB[se],ue=ee.get(le);isFunction$1(ue)?(oe=!0,ie[le]=ue):ne[le]=ue}if(ne.symbol=ne.symbol||ee.defaultSymbol,ae.setVisual(extend$1({legendIcon:ee.legendIcon||ne.symbol,symbolKeepAspect:ee.get("symbolKeepAspect")},ne)),te.isSeriesFiltered(ee))return;var ce=keys(ie);function de(he,fe){for(var pe=ee.getRawValue(fe),ve=ee.getDataParams(fe),ge=0;ge<ce.length;ge++){var me=ce[ge];he.setItemVisual(fe,me,ie[me](pe,ve))}}return{dataEach:oe?de:null}}},dataSymbolTask={createOnAllSeries:!0,performRawSeries:!0,reset:function(ee,te){if(!ee.hasSymbolVisual||te.isSeriesFiltered(ee))return;var ae=ee.getData();function ne(ie,oe){for(var se=ie.getItemModel(oe),le=0;le<SYMBOL_PROPS.length;le++){var ue=SYMBOL_PROPS[le],ce=se.getShallow(ue,!0);ce!=null&&ie.setItemVisual(oe,ue,ce)}}return{dataEach:ae.hasItemOption?ne:null}}};function getItemVisualFromData(ee,te,ae){switch(ae){case"color":var ne=ee.getItemVisual(te,"style");return ne[ee.getVisual("drawType")];case"opacity":return ee.getItemVisual(te,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return ee.getItemVisual(te,ae)}}function getVisualFromData(ee,te){switch(te){case"color":var ae=ee.getVisual("style");return ae[ee.getVisual("drawType")];case"opacity":return ee.getVisual("style").opacity;case"symbol":case"symbolSize":case"liftZ":return ee.getVisual(te)}}function setItemVisualFromData(ee,te,ae,ne){switch(ae){case"color":var ie=ee.ensureUniqueItemVisual(te,"style");ie[ee.getVisual("drawType")]=ne,ee.setItemVisual(te,"colorFromPalette",!1);break;case"opacity":ee.ensureUniqueItemVisual(te,"style").opacity=ne;break;case"symbol":case"symbolSize":case"liftZ":ee.setItemVisual(te,ae,ne);break}}function createLegacyDataSelectAction(ee,te){function ae(ne,ie){var oe=[];return ne.eachComponent({mainType:"series",subType:ee,query:ie},function(se){oe.push(se.seriesIndex)}),oe}each$f([[ee+"ToggleSelect","toggleSelect"],[ee+"Select","select"],[ee+"UnSelect","unselect"]],function(ne){te(ne[0],function(ie,oe,se){ie=extend$1({},ie),se.dispatchAction(extend$1(ie,{type:ne[1],seriesIndex:ae(oe,ie)}))})})}function handleSeriesLegacySelectEvents(ee,te,ae,ne,ie){var oe=ee+te;ae.isSilent(oe)||ne.eachComponent({mainType:"series",subType:"pie"},function(se){for(var le=se.seriesIndex,ue=se.option.selectedMap,ce=ie.selected,de=0;de<ce.length;de++)if(ce[de].seriesIndex===le){var he=se.getData(),fe=queryDataIndex(he,ie.fromActionPayload);ae.trigger(oe,{type:oe,seriesId:se.id,name:isArray$2(fe)?he.getName(fe[0]):he.getName(fe),selected:isString$1(ue)?ue:extend$1({},ue)})}})}function handleLegacySelectEvents(ee,te,ae){ee.on("selectchanged",function(ne){var ie=ae.getModel();ne.isFromClick?(handleSeriesLegacySelectEvents("map","selectchanged",te,ie,ne),handleSeriesLegacySelectEvents("pie","selectchanged",te,ie,ne)):ne.fromAction==="select"?(handleSeriesLegacySelectEvents("map","selected",te,ie,ne),handleSeriesLegacySelectEvents("pie","selected",te,ie,ne)):ne.fromAction==="unselect"&&(handleSeriesLegacySelectEvents("map","unselected",te,ie,ne),handleSeriesLegacySelectEvents("pie","unselected",te,ie,ne))})}function findEventDispatcher(ee,te,ae){for(var ne;ee&&!(te(ee)&&(ne=ee,ae));)ee=ee.__hostTarget||ee.parent;return ne}var wmUniqueIndex=Math.round(Math.random()*9),supportDefineProperty=typeof Object.defineProperty=="function",WeakMap=function(){function ee(){this._id="__ec_inner_"+wmUniqueIndex++}return ee.prototype.get=function(te){return this._guard(te)[this._id]},ee.prototype.set=function(te,ae){var ne=this._guard(te);return supportDefineProperty?Object.defineProperty(ne,this._id,{value:ae,enumerable:!1,configurable:!0}):ne[this._id]=ae,this},ee.prototype.delete=function(te){return this.has(te)?(delete this._guard(te)[this._id],!0):!1},ee.prototype.has=function(te){return!!this._guard(te)[this._id]},ee.prototype._guard=function(te){if(te!==Object(te))throw TypeError("Value of WeakMap is not a non-null object.");return te},ee}();const WeakMap$1=WeakMap;var Triangle=Path$1.extend({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(ee,te){var ae=te.cx,ne=te.cy,ie=te.width/2,oe=te.height/2;ee.moveTo(ae,ne-oe),ee.lineTo(ae+ie,ne+oe),ee.lineTo(ae-ie,ne+oe),ee.closePath()}}),Diamond=Path$1.extend({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(ee,te){var ae=te.cx,ne=te.cy,ie=te.width/2,oe=te.height/2;ee.moveTo(ae,ne-oe),ee.lineTo(ae+ie,ne),ee.lineTo(ae,ne+oe),ee.lineTo(ae-ie,ne),ee.closePath()}}),Pin=Path$1.extend({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(ee,te){var ae=te.x,ne=te.y,ie=te.width/5*3,oe=Math.max(ie,te.height),se=ie/2,le=se*se/(oe-se),ue=ne-oe+se+le,ce=Math.asin(le/se),de=Math.cos(ce)*se,he=Math.sin(ce),fe=Math.cos(ce),pe=se*.6,ve=se*.7;ee.moveTo(ae-de,ue+le),ee.arc(ae,ue,se,Math.PI-ce,Math.PI*2+ce),ee.bezierCurveTo(ae+de-he*pe,ue+le+fe*pe,ae,ne-ve,ae,ne),ee.bezierCurveTo(ae,ne-ve,ae-de+he*pe,ue+le+fe*pe,ae-de,ue+le),ee.closePath()}}),Arrow=Path$1.extend({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(ee,te){var ae=te.height,ne=te.width,ie=te.x,oe=te.y,se=ne/3*2;ee.moveTo(ie,oe),ee.lineTo(ie+se,oe+ae),ee.lineTo(ie,oe+ae/4*3),ee.lineTo(ie-se,oe+ae),ee.lineTo(ie,oe),ee.closePath()}}),symbolCtors={line:Line$3,rect:Rect$3,roundRect:Rect$3,square:Rect$3,circle:Circle$1,diamond:Diamond,pin:Pin,arrow:Arrow,triangle:Triangle},symbolShapeMakers={line:function(ee,te,ae,ne,ie){ie.x1=ee,ie.y1=te+ne/2,ie.x2=ee+ae,ie.y2=te+ne/2},rect:function(ee,te,ae,ne,ie){ie.x=ee,ie.y=te,ie.width=ae,ie.height=ne},roundRect:function(ee,te,ae,ne,ie){ie.x=ee,ie.y=te,ie.width=ae,ie.height=ne,ie.r=Math.min(ae,ne)/4},square:function(ee,te,ae,ne,ie){var oe=Math.min(ae,ne);ie.x=ee,ie.y=te,ie.width=oe,ie.height=oe},circle:function(ee,te,ae,ne,ie){ie.cx=ee+ae/2,ie.cy=te+ne/2,ie.r=Math.min(ae,ne)/2},diamond:function(ee,te,ae,ne,ie){ie.cx=ee+ae/2,ie.cy=te+ne/2,ie.width=ae,ie.height=ne},pin:function(ee,te,ae,ne,ie){ie.x=ee+ae/2,ie.y=te+ne/2,ie.width=ae,ie.height=ne},arrow:function(ee,te,ae,ne,ie){ie.x=ee+ae/2,ie.y=te+ne/2,ie.width=ae,ie.height=ne},triangle:function(ee,te,ae,ne,ie){ie.cx=ee+ae/2,ie.cy=te+ne/2,ie.width=ae,ie.height=ne}},symbolBuildProxies={};each$f(symbolCtors,function(ee,te){symbolBuildProxies[te]=new ee});var SymbolClz$1=Path$1.extend({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(ee,te,ae){var ne=calculateTextPosition(ee,te,ae),ie=this.shape;return ie&&ie.symbolType==="pin"&&te.position==="inside"&&(ne.y=ae.y+ae.height*.4),ne},buildPath:function(ee,te,ae){var ne=te.symbolType;if(ne!=="none"){var ie=symbolBuildProxies[ne];ie||(ne="rect",ie=symbolBuildProxies[ne]),symbolShapeMakers[ne](te.x,te.y,te.width,te.height,ie.shape),ie.buildPath(ee,ie.shape,ae)}}});function symbolPathSetColor(ee,te){if(this.type!=="image"){var ae=this.style;this.__isEmptyBrush?(ae.stroke=ee,ae.fill=te||"#fff",ae.lineWidth=2):this.shape.symbolType==="line"?ae.stroke=ee:ae.fill=ee,this.markRedraw()}}function createSymbol$1(ee,te,ae,ne,ie,oe,se){var le=ee.indexOf("empty")===0;le&&(ee=ee.substr(5,1).toLowerCase()+ee.substr(6));var ue;return ee.indexOf("image://")===0?ue=makeImage(ee.slice(8),new BoundingRect$1(te,ae,ne,ie),se?"center":"cover"):ee.indexOf("path://")===0?ue=makePath(ee.slice(7),{},new BoundingRect$1(te,ae,ne,ie),se?"center":"cover"):ue=new SymbolClz$1({shape:{symbolType:ee,x:te,y:ae,width:ne,height:ie}}),ue.__isEmptyBrush=le,ue.setColor=symbolPathSetColor,oe&&ue.setColor(oe),ue}function normalizeSymbolSize(ee){return isArray$2(ee)||(ee=[+ee,+ee]),[ee[0]||0,ee[1]||0]}function normalizeSymbolOffset(ee,te){if(ee!=null)return isArray$2(ee)||(ee=[ee,ee]),[parsePercent(ee[0],te[0])||0,parsePercent(retrieve2(ee[1],ee[0]),te[1])||0]}function isSafeNum(ee){return isFinite(ee)}function createLinearGradient(ee,te,ae){var ne=te.x==null?0:te.x,ie=te.x2==null?1:te.x2,oe=te.y==null?0:te.y,se=te.y2==null?0:te.y2;te.global||(ne=ne*ae.width+ae.x,ie=ie*ae.width+ae.x,oe=oe*ae.height+ae.y,se=se*ae.height+ae.y),ne=isSafeNum(ne)?ne:0,ie=isSafeNum(ie)?ie:1,oe=isSafeNum(oe)?oe:0,se=isSafeNum(se)?se:0;var le=ee.createLinearGradient(ne,oe,ie,se);return le}function createRadialGradient(ee,te,ae){var ne=ae.width,ie=ae.height,oe=Math.min(ne,ie),se=te.x==null?.5:te.x,le=te.y==null?.5:te.y,ue=te.r==null?.5:te.r;te.global||(se=se*ne+ae.x,le=le*ie+ae.y,ue=ue*oe),se=isSafeNum(se)?se:.5,le=isSafeNum(le)?le:.5,ue=ue>=0&&isSafeNum(ue)?ue:.5;var ce=ee.createRadialGradient(se,le,0,se,le,ue);return ce}function getCanvasGradient(ee,te,ae){for(var ne=te.type==="radial"?createRadialGradient(ee,te,ae):createLinearGradient(ee,te,ae),ie=te.colorStops,oe=0;oe<ie.length;oe++)ne.addColorStop(ie[oe].offset,ie[oe].color);return ne}function isClipPathChanged(ee,te){if(ee===te||!ee&&!te)return!1;if(!ee||!te||ee.length!==te.length)return!0;for(var ae=0;ae<ee.length;ae++)if(ee[ae]!==te[ae])return!0;return!1}function parseInt10(ee){return parseInt(ee,10)}function getSize$1(ee,te,ae){var ne=["width","height"][te],ie=["clientWidth","clientHeight"][te],oe=["paddingLeft","paddingTop"][te],se=["paddingRight","paddingBottom"][te];if(ae[ne]!=null&&ae[ne]!=="auto")return parseFloat(ae[ne]);var le=document.defaultView.getComputedStyle(ee);return(ee[ie]||parseInt10(le[ne])||parseInt10(ee.style[ne]))-(parseInt10(le[oe])||0)-(parseInt10(le[se])||0)|0}function normalizeLineDash(ee,te){return!ee||ee==="solid"||!(te>0)?null:ee==="dashed"?[4*te,2*te]:ee==="dotted"?[te]:isNumber$1(ee)?[ee]:isArray$2(ee)?ee:null}function getLineDash(ee){var te=ee.style,ae=te.lineDash&&te.lineWidth>0&&normalizeLineDash(te.lineDash,te.lineWidth),ne=te.lineDashOffset;if(ae){var ie=te.strokeNoScale&&ee.getLineScale?ee.getLineScale():1;ie&&ie!==1&&(ae=map$1(ae,function(oe){return oe/ie}),ne/=ie)}return[ae,ne]}var pathProxyForDraw=new PathProxy$1(!0);function styleHasStroke(ee){var te=ee.stroke;return!(te==null||te==="none"||!(ee.lineWidth>0))}function isValidStrokeFillStyle(ee){return typeof ee=="string"&&ee!=="none"}function styleHasFill(ee){var te=ee.fill;return te!=null&&te!=="none"}function doFillPath(ee,te){if(te.fillOpacity!=null&&te.fillOpacity!==1){var ae=ee.globalAlpha;ee.globalAlpha=te.fillOpacity*te.opacity,ee.fill(),ee.globalAlpha=ae}else ee.fill()}function doStrokePath(ee,te){if(te.strokeOpacity!=null&&te.strokeOpacity!==1){var ae=ee.globalAlpha;ee.globalAlpha=te.strokeOpacity*te.opacity,ee.stroke(),ee.globalAlpha=ae}else ee.stroke()}function createCanvasPattern(ee,te,ae){var ne=createOrUpdateImage(te.image,te.__image,ae);if(isImageReady(ne)){var ie=ee.createPattern(ne,te.repeat||"repeat");if(typeof DOMMatrix=="function"&&ie&&ie.setTransform){var oe=new DOMMatrix;oe.translateSelf(te.x||0,te.y||0),oe.rotateSelf(0,0,(te.rotation||0)*RADIAN_TO_DEGREE),oe.scaleSelf(te.scaleX||1,te.scaleY||1),ie.setTransform(oe)}return ie}}function brushPath(ee,te,ae,ne){var ie,oe=styleHasStroke(ae),se=styleHasFill(ae),le=ae.strokePercent,ue=le<1,ce=!te.path;(!te.silent||ue)&&ce&&te.createPathProxy();var de=te.path||pathProxyForDraw,he=te.__dirty;if(!ne){var fe=ae.fill,pe=ae.stroke,ve=se&&!!fe.colorStops,ge=oe&&!!pe.colorStops,me=se&&!!fe.image,ye=oe&&!!pe.image,_e=void 0,be=void 0,xe=void 0,$e=void 0,Se=void 0;(ve||ge)&&(Se=te.getBoundingRect()),ve&&(_e=he?getCanvasGradient(ee,fe,Se):te.__canvasFillGradient,te.__canvasFillGradient=_e),ge&&(be=he?getCanvasGradient(ee,pe,Se):te.__canvasStrokeGradient,te.__canvasStrokeGradient=be),me&&(xe=he||!te.__canvasFillPattern?createCanvasPattern(ee,fe,te):te.__canvasFillPattern,te.__canvasFillPattern=xe),ye&&($e=he||!te.__canvasStrokePattern?createCanvasPattern(ee,pe,te):te.__canvasStrokePattern,te.__canvasStrokePattern=xe),ve?ee.fillStyle=_e:me&&(xe?ee.fillStyle=xe:se=!1),ge?ee.strokeStyle=be:ye&&($e?ee.strokeStyle=$e:oe=!1)}var we=te.getGlobalScale();de.setScale(we[0],we[1],te.segmentIgnoreThreshold);var Ae,Te;ee.setLineDash&&ae.lineDash&&(ie=getLineDash(te),Ae=ie[0],Te=ie[1]);var De=!0;(ce||he&SHAPE_CHANGED_BIT)&&(de.setDPR(ee.dpr),ue?de.setContext(null):(de.setContext(ee),De=!1),de.reset(),te.buildPath(de,te.shape,ne),de.toStatic(),te.pathUpdated()),De&&de.rebuildPath(ee,ue?le:1),Ae&&(ee.setLineDash(Ae),ee.lineDashOffset=Te),ne||(ae.strokeFirst?(oe&&doStrokePath(ee,ae),se&&doFillPath(ee,ae)):(se&&doFillPath(ee,ae),oe&&doStrokePath(ee,ae))),Ae&&ee.setLineDash([])}function brushImage(ee,te,ae){var ne=te.__image=createOrUpdateImage(ae.image,te.__image,te,te.onload);if(!(!ne||!isImageReady(ne))){var ie=ae.x||0,oe=ae.y||0,se=te.getWidth(),le=te.getHeight(),ue=ne.width/ne.height;if(se==null&&le!=null?se=le*ue:le==null&&se!=null?le=se/ue:se==null&&le==null&&(se=ne.width,le=ne.height),ae.sWidth&&ae.sHeight){var ce=ae.sx||0,de=ae.sy||0;ee.drawImage(ne,ce,de,ae.sWidth,ae.sHeight,ie,oe,se,le)}else if(ae.sx&&ae.sy){var ce=ae.sx,de=ae.sy,he=se-ce,fe=le-de;ee.drawImage(ne,ce,de,he,fe,ie,oe,se,le)}else ee.drawImage(ne,ie,oe,se,le)}}function brushText(ee,te,ae){var ne,ie=ae.text;if(ie!=null&&(ie+=""),ie){ee.font=ae.font||DEFAULT_FONT,ee.textAlign=ae.textAlign,ee.textBaseline=ae.textBaseline;var oe=void 0,se=void 0;ee.setLineDash&&ae.lineDash&&(ne=getLineDash(te),oe=ne[0],se=ne[1]),oe&&(ee.setLineDash(oe),ee.lineDashOffset=se),ae.strokeFirst?(styleHasStroke(ae)&&ee.strokeText(ie,ae.x,ae.y),styleHasFill(ae)&&ee.fillText(ie,ae.x,ae.y)):(styleHasFill(ae)&&ee.fillText(ie,ae.x,ae.y),styleHasStroke(ae)&&ee.strokeText(ie,ae.x,ae.y)),oe&&ee.setLineDash([])}}var SHADOW_NUMBER_PROPS=["shadowBlur","shadowOffsetX","shadowOffsetY"],STROKE_PROPS=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function bindCommonProps(ee,te,ae,ne,ie){var oe=!1;if(!ne&&(ae=ae||{},te===ae))return!1;if(ne||te.opacity!==ae.opacity){flushPathDrawn(ee,ie),oe=!0;var se=Math.max(Math.min(te.opacity,1),0);ee.globalAlpha=isNaN(se)?DEFAULT_COMMON_STYLE.opacity:se}(ne||te.blend!==ae.blend)&&(oe||(flushPathDrawn(ee,ie),oe=!0),ee.globalCompositeOperation=te.blend||DEFAULT_COMMON_STYLE.blend);for(var le=0;le<SHADOW_NUMBER_PROPS.length;le++){var ue=SHADOW_NUMBER_PROPS[le];(ne||te[ue]!==ae[ue])&&(oe||(flushPathDrawn(ee,ie),oe=!0),ee[ue]=ee.dpr*(te[ue]||0))}return(ne||te.shadowColor!==ae.shadowColor)&&(oe||(flushPathDrawn(ee,ie),oe=!0),ee.shadowColor=te.shadowColor||DEFAULT_COMMON_STYLE.shadowColor),oe}function bindPathAndTextCommonStyle(ee,te,ae,ne,ie){var oe=getStyle(te,ie.inHover),se=ne?null:ae&&getStyle(ae,ie.inHover)||{};if(oe===se)return!1;var le=bindCommonProps(ee,oe,se,ne,ie);if((ne||oe.fill!==se.fill)&&(le||(flushPathDrawn(ee,ie),le=!0),isValidStrokeFillStyle(oe.fill)&&(ee.fillStyle=oe.fill)),(ne||oe.stroke!==se.stroke)&&(le||(flushPathDrawn(ee,ie),le=!0),isValidStrokeFillStyle(oe.stroke)&&(ee.strokeStyle=oe.stroke)),(ne||oe.opacity!==se.opacity)&&(le||(flushPathDrawn(ee,ie),le=!0),ee.globalAlpha=oe.opacity==null?1:oe.opacity),te.hasStroke()){var ue=oe.lineWidth,ce=ue/(oe.strokeNoScale&&te.getLineScale?te.getLineScale():1);ee.lineWidth!==ce&&(le||(flushPathDrawn(ee,ie),le=!0),ee.lineWidth=ce)}for(var de=0;de<STROKE_PROPS.length;de++){var he=STROKE_PROPS[de],fe=he[0];(ne||oe[fe]!==se[fe])&&(le||(flushPathDrawn(ee,ie),le=!0),ee[fe]=oe[fe]||he[1])}return le}function bindImageStyle(ee,te,ae,ne,ie){return bindCommonProps(ee,getStyle(te,ie.inHover),ae&&getStyle(ae,ie.inHover),ne,ie)}function setContextTransform(ee,te){var ae=te.transform,ne=ee.dpr||1;ae?ee.setTransform(ne*ae[0],ne*ae[1],ne*ae[2],ne*ae[3],ne*ae[4],ne*ae[5]):ee.setTransform(ne,0,0,ne,0,0)}function updateClipStatus(ee,te,ae){for(var ne=!1,ie=0;ie<ee.length;ie++){var oe=ee[ie];ne=ne||oe.isZeroArea(),setContextTransform(te,oe),te.beginPath(),oe.buildPath(te,oe.shape),te.clip()}ae.allClipped=ne}function isTransformChanged(ee,te){return ee&&te?ee[0]!==te[0]||ee[1]!==te[1]||ee[2]!==te[2]||ee[3]!==te[3]||ee[4]!==te[4]||ee[5]!==te[5]:!(!ee&&!te)}var DRAW_TYPE_PATH=1,DRAW_TYPE_IMAGE=2,DRAW_TYPE_TEXT=3,DRAW_TYPE_INCREMENTAL=4;function canPathBatch(ee){var te=styleHasFill(ee),ae=styleHasStroke(ee);return!(ee.lineDash||!(+te^+ae)||te&&typeof ee.fill!="string"||ae&&typeof ee.stroke!="string"||ee.strokePercent<1||ee.strokeOpacity<1||ee.fillOpacity<1)}function flushPathDrawn(ee,te){te.batchFill&&ee.fill(),te.batchStroke&&ee.stroke(),te.batchFill="",te.batchStroke=""}function getStyle(ee,te){return te&&ee.__hoverStyle||ee.style}function brushSingle(ee,te){brush$1(ee,te,{inHover:!1,viewWidth:0,viewHeight:0},!0)}function brush$1(ee,te,ae,ne){var ie=te.transform;if(!te.shouldBePainted(ae.viewWidth,ae.viewHeight,!1,!1)){te.__dirty&=~REDRAW_BIT,te.__isRendered=!1;return}var oe=te.__clipPaths,se=ae.prevElClipPaths,le=!1,ue=!1;if((!se||isClipPathChanged(oe,se))&&(se&&se.length&&(flushPathDrawn(ee,ae),ee.restore(),ue=le=!0,ae.prevElClipPaths=null,ae.allClipped=!1,ae.prevEl=null),oe&&oe.length&&(flushPathDrawn(ee,ae),ee.save(),updateClipStatus(oe,ee,ae),le=!0),ae.prevElClipPaths=oe),ae.allClipped){te.__isRendered=!1;return}te.beforeBrush&&te.beforeBrush(),te.innerBeforeBrush();var ce=ae.prevEl;ce||(ue=le=!0);var de=te instanceof Path$1&&te.autoBatch&&canPathBatch(te.style);le||isTransformChanged(ie,ce.transform)?(flushPathDrawn(ee,ae),setContextTransform(ee,te)):de||flushPathDrawn(ee,ae);var he=getStyle(te,ae.inHover);te instanceof Path$1?(ae.lastDrawType!==DRAW_TYPE_PATH&&(ue=!0,ae.lastDrawType=DRAW_TYPE_PATH),bindPathAndTextCommonStyle(ee,te,ce,ue,ae),(!de||!ae.batchFill&&!ae.batchStroke)&&ee.beginPath(),brushPath(ee,te,he,de),de&&(ae.batchFill=he.fill||"",ae.batchStroke=he.stroke||"")):te instanceof TSpan$1?(ae.lastDrawType!==DRAW_TYPE_TEXT&&(ue=!0,ae.lastDrawType=DRAW_TYPE_TEXT),bindPathAndTextCommonStyle(ee,te,ce,ue,ae),brushText(ee,te,he)):te instanceof ZRImage$1?(ae.lastDrawType!==DRAW_TYPE_IMAGE&&(ue=!0,ae.lastDrawType=DRAW_TYPE_IMAGE),bindImageStyle(ee,te,ce,ue,ae),brushImage(ee,te,he)):te.getTemporalDisplayables&&(ae.lastDrawType!==DRAW_TYPE_INCREMENTAL&&(ue=!0,ae.lastDrawType=DRAW_TYPE_INCREMENTAL),brushIncremental(ee,te,ae)),de&&ne&&flushPathDrawn(ee,ae),te.innerAfterBrush(),te.afterBrush&&te.afterBrush(),ae.prevEl=te,te.__dirty=0,te.__isRendered=!0}function brushIncremental(ee,te,ae){var ne=te.getDisplayables(),ie=te.getTemporalDisplayables();ee.save();var oe={prevElClipPaths:null,prevEl:null,allClipped:!1,viewWidth:ae.viewWidth,viewHeight:ae.viewHeight,inHover:ae.inHover},se,le;for(se=te.getCursor(),le=ne.length;se<le;se++){var ue=ne[se];ue.beforeBrush&&ue.beforeBrush(),ue.innerBeforeBrush(),brush$1(ee,ue,oe,se===le-1),ue.innerAfterBrush(),ue.afterBrush&&ue.afterBrush(),oe.prevEl=ue}for(var ce=0,de=ie.length;ce<de;ce++){var ue=ie[ce];ue.beforeBrush&&ue.beforeBrush(),ue.innerBeforeBrush(),brush$1(ee,ue,oe,ce===de-1),ue.innerAfterBrush(),ue.afterBrush&&ue.afterBrush(),oe.prevEl=ue}te.clearTemporalDisplayables(),te.notClear=!0,ee.restore()}var decalMap=new WeakMap$1,decalCache=new LRU$1(100),decalKeys=["symbol","symbolSize","symbolKeepAspect","color","backgroundColor","dashArrayX","dashArrayY","maxTileWidth","maxTileHeight"];function createOrUpdatePatternFromDecal(ee,te){if(ee==="none")return null;var ae=te.getDevicePixelRatio(),ne=te.getZr(),ie=ne.painter.type==="svg";ee.dirty&&decalMap.delete(ee);var oe=decalMap.get(ee);if(oe)return oe;var se=defaults$2(ee,{symbol:"rect",symbolSize:1,symbolKeepAspect:!0,color:"rgba(0, 0, 0, 0.2)",backgroundColor:null,dashArrayX:5,dashArrayY:5,rotation:0,maxTileWidth:512,maxTileHeight:512});se.backgroundColor==="none"&&(se.backgroundColor=null);var le={repeat:"repeat"};return ue(le),le.rotation=se.rotation,le.scaleX=le.scaleY=ie?1:1/ae,decalMap.set(ee,le),ee.dirty=!1,le;function ue(ce){for(var de=[ae],he=!0,fe=0;fe<decalKeys.length;++fe){var pe=se[decalKeys[fe]];if(pe!=null&&!isArray$2(pe)&&!isString$1(pe)&&!isNumber$1(pe)&&typeof pe!="boolean"){he=!1;break}de.push(pe)}var ve;if(he){ve=de.join(",")+(ie?"-svg":"");var ge=decalCache.get(ve);ge&&(ie?ce.svgElement=ge:ce.image=ge)}var me=normalizeDashArrayX(se.dashArrayX),ye=normalizeDashArrayY(se.dashArrayY),_e=normalizeSymbolArray(se.symbol),be=getLineBlockLengthX(me),xe=getLineBlockLengthY(ye),$e=!ie&&platformApi.createCanvas(),Se=ie&&{tag:"g",attrs:{},key:"dcl",children:[]},we=Te(),Ae;$e&&($e.width=we.width*ae,$e.height=we.height*ae,Ae=$e.getContext("2d")),De(),he&&decalCache.put(ve,$e||Se),ce.image=$e,ce.svgElement=Se,ce.svgWidth=we.width,ce.svgHeight=we.height;function Te(){for(var Me=1,Ie=0,Ce=be.length;Ie<Ce;++Ie)Me=getLeastCommonMultiple(Me,be[Ie]);for(var Ee=1,Ie=0,Ce=_e.length;Ie<Ce;++Ie)Ee=getLeastCommonMultiple(Ee,_e[Ie].length);Me*=Ee;var Re=xe*be.length*_e.length;return{width:Math.max(1,Math.min(Me,se.maxTileWidth)),height:Math.max(1,Math.min(Re,se.maxTileHeight))}}function De(){Ae&&(Ae.clearRect(0,0,$e.width,$e.height),se.backgroundColor&&(Ae.fillStyle=se.backgroundColor,Ae.fillRect(0,0,$e.width,$e.height)));for(var Me=0,Ie=0;Ie<ye.length;++Ie)Me+=ye[Ie];if(Me<=0)return;for(var Ce=-xe,Ee=0,Re=0,ke=0;Ce<we.height;){if(Ee%2===0){for(var Be=Re/2%_e.length,Ne=0,He=0,qe=0;Ne<we.width*2;){for(var Oe=0,Ie=0;Ie<me[ke].length;++Ie)Oe+=me[ke][Ie];if(Oe<=0)break;if(He%2===0){var ze=(1-se.symbolSize)*.5,Ve=Ne+me[ke][He]*ze,Ge=Ce+ye[Ee]*ze,We=me[ke][He]*se.symbolSize,Ue=ye[Ee]*se.symbolSize,Ye=qe/2%_e[Be].length;Ze(Ve,Ge,We,Ue,_e[Be][Ye])}Ne+=me[ke][He],++qe,++He,He===me[ke].length&&(He=0)}++ke,ke===me.length&&(ke=0)}Ce+=ye[Ee],++Re,++Ee,Ee===ye.length&&(Ee=0)}function Ze(Xe,it,at,ut,dt){var pt=ie?1:ae,gt=createSymbol$1(dt,Xe*pt,it*pt,at*pt,ut*pt,se.color,se.symbolKeepAspect);if(ie){var bt=ne.painter.renderOneToVNode(gt);bt&&Se.children.push(bt)}else brushSingle(Ae,gt)}}}}function normalizeSymbolArray(ee){if(!ee||ee.length===0)return[["rect"]];if(isString$1(ee))return[[ee]];for(var te=!0,ae=0;ae<ee.length;++ae)if(!isString$1(ee[ae])){te=!1;break}if(te)return normalizeSymbolArray([ee]);for(var ne=[],ae=0;ae<ee.length;++ae)isString$1(ee[ae])?ne.push([ee[ae]]):ne.push(ee[ae]);return ne}function normalizeDashArrayX(ee){if(!ee||ee.length===0)return[[0,0]];if(isNumber$1(ee)){var te=Math.ceil(ee);return[[te,te]]}for(var ae=!0,ne=0;ne<ee.length;++ne)if(!isNumber$1(ee[ne])){ae=!1;break}if(ae)return normalizeDashArrayX([ee]);for(var ie=[],ne=0;ne<ee.length;++ne)if(isNumber$1(ee[ne])){var te=Math.ceil(ee[ne]);ie.push([te,te])}else{var te=map$1(ee[ne],function(le){return Math.ceil(le)});te.length%2===1?ie.push(te.concat(te)):ie.push(te)}return ie}function normalizeDashArrayY(ee){if(!ee||typeof ee=="object"&&ee.length===0)return[0,0];if(isNumber$1(ee)){var te=Math.ceil(ee);return[te,te]}var ae=map$1(ee,function(ne){return Math.ceil(ne)});return ee.length%2?ae.concat(ae):ae}function getLineBlockLengthX(ee){return map$1(ee,function(te){return getLineBlockLengthY(te)})}function getLineBlockLengthY(ee){for(var te=0,ae=0;ae<ee.length;++ae)te+=ee[ae];return ee.length%2===1?te*2:te}function decalVisual(ee,te){ee.eachRawSeries(function(ae){if(!ee.isSeriesFiltered(ae)){var ne=ae.getData();ne.hasItemVisual()&&ne.each(function(se){var le=ne.getItemVisual(se,"decal");if(le){var ue=ne.ensureUniqueItemVisual(se,"style");ue.decal=createOrUpdatePatternFromDecal(le,te)}});var ie=ne.getVisual("decal");if(ie){var oe=ne.getVisual("style");oe.decal=createOrUpdatePatternFromDecal(ie,te)}}})}var lifecycle=new Eventful$1;const lifecycle$1=lifecycle;var implsStore={};function registerImpl(ee,te){implsStore[ee]=te}function getImpl(ee){return implsStore[ee]}var version$6="5.4.3",dependencies={zrender:"5.4.4"},TEST_FRAME_REMAIN_TIME=1,PRIORITY_PROCESSOR_SERIES_FILTER=800,PRIORITY_PROCESSOR_DATASTACK=900,PRIORITY_PROCESSOR_FILTER=1e3,PRIORITY_PROCESSOR_DEFAULT=2e3,PRIORITY_PROCESSOR_STATISTIC=5e3,PRIORITY_VISUAL_LAYOUT=1e3,PRIORITY_VISUAL_PROGRESSIVE_LAYOUT=1100,PRIORITY_VISUAL_GLOBAL=2e3,PRIORITY_VISUAL_CHART=3e3,PRIORITY_VISUAL_COMPONENT=4e3,PRIORITY_VISUAL_CHART_DATA_CUSTOM=4500,PRIORITY_VISUAL_POST_CHART_LAYOUT=4600,PRIORITY_VISUAL_BRUSH=5e3,PRIORITY_VISUAL_ARIA=6e3,PRIORITY_VISUAL_DECAL=7e3,PRIORITY={PROCESSOR:{FILTER:PRIORITY_PROCESSOR_FILTER,SERIES_FILTER:PRIORITY_PROCESSOR_SERIES_FILTER,STATISTIC:PRIORITY_PROCESSOR_STATISTIC},VISUAL:{LAYOUT:PRIORITY_VISUAL_LAYOUT,PROGRESSIVE_LAYOUT:PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,GLOBAL:PRIORITY_VISUAL_GLOBAL,CHART:PRIORITY_VISUAL_CHART,POST_CHART_LAYOUT:PRIORITY_VISUAL_POST_CHART_LAYOUT,COMPONENT:PRIORITY_VISUAL_COMPONENT,BRUSH:PRIORITY_VISUAL_BRUSH,CHART_ITEM:PRIORITY_VISUAL_CHART_DATA_CUSTOM,ARIA:PRIORITY_VISUAL_ARIA,DECAL:PRIORITY_VISUAL_DECAL}},IN_MAIN_PROCESS_KEY="__flagInMainProcess",PENDING_UPDATE="__pendingUpdate",STATUS_NEEDS_UPDATE_KEY="__needsUpdateStatus",ACTION_REG=/^[a-zA-Z0-9_]+$/,CONNECT_STATUS_KEY="__connectUpdateStatus",CONNECT_STATUS_PENDING=0,CONNECT_STATUS_UPDATING=1,CONNECT_STATUS_UPDATED=2;function createRegisterEventWithLowercaseECharts(ee){return function(){for(var te=[],ae=0;ae<arguments.length;ae++)te[ae]=arguments[ae];if(this.isDisposed()){this.id;return}return toLowercaseNameAndCallEventful(this,ee,te)}}function createRegisterEventWithLowercaseMessageCenter(ee){return function(){for(var te=[],ae=0;ae<arguments.length;ae++)te[ae]=arguments[ae];return toLowercaseNameAndCallEventful(this,ee,te)}}function toLowercaseNameAndCallEventful(ee,te,ae){return ae[0]=ae[0]&&ae[0].toLowerCase(),Eventful$1.prototype[te].apply(ee,ae)}var MessageCenter=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te}(Eventful$1),messageCenterProto=MessageCenter.prototype;messageCenterProto.on=createRegisterEventWithLowercaseMessageCenter("on");messageCenterProto.off=createRegisterEventWithLowercaseMessageCenter("off");var prepare,prepareView,updateDirectly,updateMethods,doConvertPixel,updateStreamModes,doDispatchAction,flushPendingActions,triggerUpdatedEvent,bindRenderedEvent,bindMouseEvent,render,renderComponents,renderSeries,createExtensionAPI,enableConnect,markStatusToUpdate,applyChangedStates,ECharts=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this,new ECEventProcessor)||this;oe._chartsViews=[],oe._chartsMap={},oe._componentsViews=[],oe._componentsMap={},oe._pendingActions=[],ie=ie||{},isString$1(ne)&&(ne=themeStorage[ne]),oe._dom=ae;var se="canvas",le="auto",ue=!1,ce=oe._zr=init$2(ae,{renderer:ie.renderer||se,devicePixelRatio:ie.devicePixelRatio,width:ie.width,height:ie.height,ssr:ie.ssr,useDirtyRect:retrieve2(ie.useDirtyRect,ue),useCoarsePointer:retrieve2(ie.useCoarsePointer,le),pointerSize:ie.pointerSize});oe._ssr=ie.ssr,oe._throttledZrFlush=throttle$1(bind$2(ce.flush,ce),17),ne=clone$4(ne),ne&&globalBackwardCompat(ne,!0),oe._theme=ne,oe._locale=createLocaleObject(ie.locale||SYSTEM_LANG),oe._coordSysMgr=new CoordinateSystem;var de=oe._api=createExtensionAPI(oe);function he(fe,pe){return fe.__prio-pe.__prio}return sort$2(visualFuncs,he),sort$2(dataProcessorFuncs,he),oe._scheduler=new Scheduler$1(oe,de,dataProcessorFuncs,visualFuncs),oe._messageCenter=new MessageCenter,oe._initEvents(),oe.resize=bind$2(oe.resize,oe),ce.animation.on("frame",oe._onframe,oe),bindRenderedEvent(ce,oe),bindMouseEvent(ce,oe),setAsPrimitive(oe),oe}return te.prototype._onframe=function(){if(!this._disposed){applyChangedStates(this);var ae=this._scheduler;if(this[PENDING_UPDATE]){var ne=this[PENDING_UPDATE].silent;this[IN_MAIN_PROCESS_KEY]=!0;try{prepare(this),updateMethods.update.call(this,null,this[PENDING_UPDATE].updateParams)}catch(ue){throw this[IN_MAIN_PROCESS_KEY]=!1,this[PENDING_UPDATE]=null,ue}this._zr.flush(),this[IN_MAIN_PROCESS_KEY]=!1,this[PENDING_UPDATE]=null,flushPendingActions.call(this,ne),triggerUpdatedEvent.call(this,ne)}else if(ae.unfinished){var ie=TEST_FRAME_REMAIN_TIME,oe=this._model,se=this._api;ae.unfinished=!1;do{var le=+new Date;ae.performSeriesTasks(oe),ae.performDataProcessorTasks(oe),updateStreamModes(this,oe),ae.performVisualTasks(oe),renderSeries(this,this._model,se,"remain",{}),ie-=+new Date-le}while(ie>0&&ae.unfinished);ae.unfinished||this._zr.flush()}}},te.prototype.getDom=function(){return this._dom},te.prototype.getId=function(){return this.id},te.prototype.getZr=function(){return this._zr},te.prototype.isSSR=function(){return this._ssr},te.prototype.setOption=function(ae,ne,ie){if(!this[IN_MAIN_PROCESS_KEY]){if(this._disposed){this.id;return}var oe,se,le;if(isObject$4(ne)&&(ie=ne.lazyUpdate,oe=ne.silent,se=ne.replaceMerge,le=ne.transition,ne=ne.notMerge),this[IN_MAIN_PROCESS_KEY]=!0,!this._model||ne){var ue=new OptionManager$1(this._api),ce=this._theme,de=this._model=new GlobalModel$1;de.scheduler=this._scheduler,de.ssr=this._ssr,de.init(null,null,null,ce,this._locale,ue)}this._model.setOption(ae,{replaceMerge:se},optionPreprocessorFuncs);var he={seriesTransition:le,optionChanged:!0};if(ie)this[PENDING_UPDATE]={silent:oe,updateParams:he},this[IN_MAIN_PROCESS_KEY]=!1,this.getZr().wakeUp();else{try{prepare(this),updateMethods.update.call(this,null,he)}catch(fe){throw this[PENDING_UPDATE]=null,this[IN_MAIN_PROCESS_KEY]=!1,fe}this._ssr||this._zr.flush(),this[PENDING_UPDATE]=null,this[IN_MAIN_PROCESS_KEY]=!1,flushPendingActions.call(this,oe),triggerUpdatedEvent.call(this,oe)}}},te.prototype.setTheme=function(){},te.prototype.getModel=function(){return this._model},te.prototype.getOption=function(){return this._model&&this._model.getOption()},te.prototype.getWidth=function(){return this._zr.getWidth()},te.prototype.getHeight=function(){return this._zr.getHeight()},te.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||env$1.hasGlobalWindow&&window.devicePixelRatio||1},te.prototype.getRenderedCanvas=function(ae){return this.renderToCanvas(ae)},te.prototype.renderToCanvas=function(ae){ae=ae||{};var ne=this._zr.painter;return ne.getRenderedCanvas({backgroundColor:ae.backgroundColor||this._model.get("backgroundColor"),pixelRatio:ae.pixelRatio||this.getDevicePixelRatio()})},te.prototype.renderToSVGString=function(ae){ae=ae||{};var ne=this._zr.painter;return ne.renderToString({useViewBox:ae.useViewBox})},te.prototype.getSvgDataURL=function(){if(env$1.svgSupported){var ae=this._zr,ne=ae.storage.getDisplayList();return each$f(ne,function(ie){ie.stopAnimation(null,!0)}),ae.painter.toDataURL()}},te.prototype.getDataURL=function(ae){if(this._disposed){this.id;return}ae=ae||{};var ne=ae.excludeComponents,ie=this._model,oe=[],se=this;each$f(ne,function(ue){ie.eachComponent({mainType:ue},function(ce){var de=se._componentsMap[ce.__viewId];de.group.ignore||(oe.push(de),de.group.ignore=!0)})});var le=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(ae).toDataURL("image/"+(ae&&ae.type||"png"));return each$f(oe,function(ue){ue.group.ignore=!1}),le},te.prototype.getConnectedDataURL=function(ae){if(this._disposed){this.id;return}var ne=ae.type==="svg",ie=this.group,oe=Math.min,se=Math.max,le=1/0;if(connectedGroups[ie]){var ue=le,ce=le,de=-le,he=-le,fe=[],pe=ae&&ae.pixelRatio||this.getDevicePixelRatio();each$f(instances,function(be,xe){if(be.group===ie){var $e=ne?be.getZr().painter.getSvgDom().innerHTML:be.renderToCanvas(clone$4(ae)),Se=be.getDom().getBoundingClientRect();ue=oe(Se.left,ue),ce=oe(Se.top,ce),de=se(Se.right,de),he=se(Se.bottom,he),fe.push({dom:$e,left:Se.left,top:Se.top})}}),ue*=pe,ce*=pe,de*=pe,he*=pe;var ve=de-ue,ge=he-ce,me=platformApi.createCanvas(),ye=init$2(me,{renderer:ne?"svg":"canvas"});if(ye.resize({width:ve,height:ge}),ne){var _e="";return each$f(fe,function(be){var xe=be.left-ue,$e=be.top-ce;_e+='<g transform="translate('+xe+","+$e+')">'+be.dom+"</g>"}),ye.painter.getSvgRoot().innerHTML=_e,ae.connectedBackgroundColor&&ye.painter.setBackgroundColor(ae.connectedBackgroundColor),ye.refreshImmediately(),ye.painter.toDataURL()}else return ae.connectedBackgroundColor&&ye.add(new Rect$3({shape:{x:0,y:0,width:ve,height:ge},style:{fill:ae.connectedBackgroundColor}})),each$f(fe,function(be){var xe=new ZRImage$1({style:{x:be.left*pe-ue,y:be.top*pe-ce,image:be.dom}});ye.add(xe)}),ye.refreshImmediately(),me.toDataURL("image/"+(ae&&ae.type||"png"))}else return this.getDataURL(ae)},te.prototype.convertToPixel=function(ae,ne){return doConvertPixel(this,"convertToPixel",ae,ne)},te.prototype.convertFromPixel=function(ae,ne){return doConvertPixel(this,"convertFromPixel",ae,ne)},te.prototype.containPixel=function(ae,ne){if(this._disposed){this.id;return}var ie=this._model,oe,se=parseFinder$1(ie,ae);return each$f(se,function(le,ue){ue.indexOf("Models")>=0&&each$f(le,function(ce){var de=ce.coordinateSystem;if(de&&de.containPoint)oe=oe||!!de.containPoint(ne);else if(ue==="seriesModels"){var he=this._chartsMap[ce.__viewId];he&&he.containPoint&&(oe=oe||he.containPoint(ne,ce))}},this)},this),!!oe},te.prototype.getVisual=function(ae,ne){var ie=this._model,oe=parseFinder$1(ie,ae,{defaultMainType:"series"}),se=oe.seriesModel,le=se.getData(),ue=oe.hasOwnProperty("dataIndexInside")?oe.dataIndexInside:oe.hasOwnProperty("dataIndex")?le.indexOfRawIndex(oe.dataIndex):null;return ue!=null?getItemVisualFromData(le,ue,ne):getVisualFromData(le,ne)},te.prototype.getViewOfComponentModel=function(ae){return this._componentsMap[ae.__viewId]},te.prototype.getViewOfSeriesModel=function(ae){return this._chartsMap[ae.__viewId]},te.prototype._initEvents=function(){var ae=this;each$f(MOUSE_EVENT_NAMES,function(ne){var ie=function(oe){var se=ae.getModel(),le=oe.target,ue,ce=ne==="globalout";if(ce?ue={}:le&&findEventDispatcher(le,function(ve){var ge=getECData(ve);if(ge&&ge.dataIndex!=null){var me=ge.dataModel||se.getSeriesByIndex(ge.seriesIndex);return ue=me&&me.getDataParams(ge.dataIndex,ge.dataType,le)||{},!0}else if(ge.eventData)return ue=extend$1({},ge.eventData),!0},!0),ue){var de=ue.componentType,he=ue.componentIndex;(de==="markLine"||de==="markPoint"||de==="markArea")&&(de="series",he=ue.seriesIndex);var fe=de&&he!=null&&se.getComponent(de,he),pe=fe&&ae[fe.mainType==="series"?"_chartsMap":"_componentsMap"][fe.__viewId];ue.event=oe,ue.type=ne,ae._$eventProcessor.eventInfo={targetEl:le,packedEvent:ue,model:fe,view:pe},ae.trigger(ne,ue)}};ie.zrEventfulCallAtLast=!0,ae._zr.on(ne,ie,ae)}),each$f(eventActionMap,function(ne,ie){ae._messageCenter.on(ie,function(oe){this.trigger(ie,oe)},ae)}),each$f(["selectchanged"],function(ne){ae._messageCenter.on(ne,function(ie){this.trigger(ne,ie)},ae)}),handleLegacySelectEvents(this._messageCenter,this,this._api)},te.prototype.isDisposed=function(){return this._disposed},te.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},te.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var ae=this.getDom();ae&&setAttribute(this.getDom(),DOM_ATTRIBUTE_KEY,"");var ne=this,ie=ne._api,oe=ne._model;each$f(ne._componentsViews,function(se){se.dispose(oe,ie)}),each$f(ne._chartsViews,function(se){se.dispose(oe,ie)}),ne._zr.dispose(),ne._dom=ne._model=ne._chartsMap=ne._componentsMap=ne._chartsViews=ne._componentsViews=ne._scheduler=ne._api=ne._zr=ne._throttledZrFlush=ne._theme=ne._coordSysMgr=ne._messageCenter=null,delete instances[ne.id]},te.prototype.resize=function(ae){if(!this[IN_MAIN_PROCESS_KEY]){if(this._disposed){this.id;return}this._zr.resize(ae);var ne=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!ne){var ie=ne.resetOption("media"),oe=ae&&ae.silent;this[PENDING_UPDATE]&&(oe==null&&(oe=this[PENDING_UPDATE].silent),ie=!0,this[PENDING_UPDATE]=null),this[IN_MAIN_PROCESS_KEY]=!0;try{ie&&prepare(this),updateMethods.update.call(this,{type:"resize",animation:extend$1({duration:0},ae&&ae.animation)})}catch(se){throw this[IN_MAIN_PROCESS_KEY]=!1,se}this[IN_MAIN_PROCESS_KEY]=!1,flushPendingActions.call(this,oe),triggerUpdatedEvent.call(this,oe)}}},te.prototype.showLoading=function(ae,ne){if(this._disposed){this.id;return}if(isObject$4(ae)&&(ne=ae,ae=""),ae=ae||"default",this.hideLoading(),!!loadingEffects[ae]){var ie=loadingEffects[ae](this._api,ne),oe=this._zr;this._loadingFX=ie,oe.add(ie)}},te.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},te.prototype.makeActionFromEvent=function(ae){var ne=extend$1({},ae);return ne.type=eventActionMap[ae.type],ne},te.prototype.dispatchAction=function(ae,ne){if(this._disposed){this.id;return}if(isObject$4(ne)||(ne={silent:!!ne}),!!actions[ae.type]&&this._model){if(this[IN_MAIN_PROCESS_KEY]){this._pendingActions.push(ae);return}var ie=ne.silent;doDispatchAction.call(this,ae,ie);var oe=ne.flush;oe?this._zr.flush():oe!==!1&&env$1.browser.weChat&&this._throttledZrFlush(),flushPendingActions.call(this,ie),triggerUpdatedEvent.call(this,ie)}},te.prototype.updateLabelLayout=function(){lifecycle$1.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},te.prototype.appendData=function(ae){if(this._disposed){this.id;return}var ne=ae.seriesIndex,ie=this.getModel(),oe=ie.getSeriesByIndex(ne);oe.appendData(ae),this._scheduler.unfinished=!0,this.getZr().wakeUp()},te.internalField=function(){prepare=function(he){var fe=he._scheduler;fe.restorePipelines(he._model),fe.prepareStageTasks(),prepareView(he,!0),prepareView(he,!1),fe.plan()},prepareView=function(he,fe){for(var pe=he._model,ve=he._scheduler,ge=fe?he._componentsViews:he._chartsViews,me=fe?he._componentsMap:he._chartsMap,ye=he._zr,_e=he._api,be=0;be<ge.length;be++)ge[be].__alive=!1;fe?pe.eachComponent(function(Se,we){Se!=="series"&&xe(we)}):pe.eachSeries(xe);function xe(Se){var we=Se.__requireNewView;Se.__requireNewView=!1;var Ae="_ec_"+Se.id+"_"+Se.type,Te=!we&&me[Ae];if(!Te){var De=parseClassType(Se.type),Me=fe?ComponentView$1.getClass(De.main,De.sub):ChartView$1.getClass(De.sub);Te=new Me,Te.init(pe,_e),me[Ae]=Te,ge.push(Te),ye.add(Te.group)}Se.__viewId=Te.__id=Ae,Te.__alive=!0,Te.__model=Se,Te.group.__ecComponentInfo={mainType:Se.mainType,index:Se.componentIndex},!fe&&ve.prepareView(Te,Se,pe,_e)}for(var be=0;be<ge.length;){var $e=ge[be];$e.__alive?be++:(!fe&&$e.renderTask.dispose(),ye.remove($e.group),$e.dispose(pe,_e),ge.splice(be,1),me[$e.__id]===$e&&delete me[$e.__id],$e.__id=$e.group.__ecComponentInfo=null)}},updateDirectly=function(he,fe,pe,ve,ge){var me=he._model;if(me.setUpdatePayload(pe),!ve){each$f([].concat(he._componentsViews).concat(he._chartsViews),$e);return}var ye={};ye[ve+"Id"]=pe[ve+"Id"],ye[ve+"Index"]=pe[ve+"Index"],ye[ve+"Name"]=pe[ve+"Name"];var _e={mainType:ve,query:ye};ge&&(_e.subType=ge);var be=pe.excludeSeriesId,xe;be!=null&&(xe=createHashMap(),each$f(normalizeToArray(be),function(Se){var we=convertOptionIdName(Se,null);we!=null&&xe.set(we,!0)})),me&&me.eachComponent(_e,function(Se){var we=xe&&xe.get(Se.id)!=null;if(!we)if(isHighDownPayload(pe))if(Se instanceof SeriesModel$1)pe.type===HIGHLIGHT_ACTION_TYPE&&!pe.notBlur&&!Se.get(["emphasis","disabled"])&&blurSeriesFromHighlightPayload(Se,pe,he._api);else{var Ae=findComponentHighDownDispatchers(Se.mainType,Se.componentIndex,pe.name,he._api),Te=Ae.focusSelf,De=Ae.dispatchers;pe.type===HIGHLIGHT_ACTION_TYPE&&Te&&!pe.notBlur&&blurComponent(Se.mainType,Se.componentIndex,he._api),De&&each$f(De,function(Me){pe.type===HIGHLIGHT_ACTION_TYPE?enterEmphasis(Me):leaveEmphasis(Me)})}else isSelectChangePayload(pe)&&Se instanceof SeriesModel$1&&(toggleSelectionFromPayload(Se,pe,he._api),updateSeriesElementSelection(Se),markStatusToUpdate(he))},he),me&&me.eachComponent(_e,function(Se){var we=xe&&xe.get(Se.id)!=null;we||$e(he[ve==="series"?"_chartsMap":"_componentsMap"][Se.__viewId])},he);function $e(Se){Se&&Se.__alive&&Se[fe]&&Se[fe](Se.__model,me,he._api,pe)}},updateMethods={prepareAndUpdate:function(he){prepare(this),updateMethods.update.call(this,he,{optionChanged:he.newOption!=null})},update:function(he,fe){var pe=this._model,ve=this._api,ge=this._zr,me=this._coordSysMgr,ye=this._scheduler;if(pe){pe.setUpdatePayload(he),ye.restoreData(pe,he),ye.performSeriesTasks(pe),me.create(pe,ve),ye.performDataProcessorTasks(pe,he),updateStreamModes(this,pe),me.update(pe,ve),ae(pe),ye.performVisualTasks(pe,he),render(this,pe,ve,he,fe);var _e=pe.get("backgroundColor")||"transparent",be=pe.get("darkMode");ge.setBackgroundColor(_e),be!=null&&be!=="auto"&&ge.setDarkMode(be),lifecycle$1.trigger("afterupdate",pe,ve)}},updateTransform:function(he){var fe=this,pe=this._model,ve=this._api;if(pe){pe.setUpdatePayload(he);var ge=[];pe.eachComponent(function(ye,_e){if(ye!=="series"){var be=fe.getViewOfComponentModel(_e);if(be&&be.__alive)if(be.updateTransform){var xe=be.updateTransform(_e,pe,ve,he);xe&&xe.update&&ge.push(be)}else ge.push(be)}});var me=createHashMap();pe.eachSeries(function(ye){var _e=fe._chartsMap[ye.__viewId];if(_e.updateTransform){var be=_e.updateTransform(ye,pe,ve,he);be&&be.update&&me.set(ye.uid,1)}else me.set(ye.uid,1)}),ae(pe),this._scheduler.performVisualTasks(pe,he,{setDirty:!0,dirtyMap:me}),renderSeries(this,pe,ve,he,{},me),lifecycle$1.trigger("afterupdate",pe,ve)}},updateView:function(he){var fe=this._model;fe&&(fe.setUpdatePayload(he),ChartView$1.markUpdateMethod(he,"updateView"),ae(fe),this._scheduler.performVisualTasks(fe,he,{setDirty:!0}),render(this,fe,this._api,he,{}),lifecycle$1.trigger("afterupdate",fe,this._api))},updateVisual:function(he){var fe=this,pe=this._model;pe&&(pe.setUpdatePayload(he),pe.eachSeries(function(ve){ve.getData().clearAllVisual()}),ChartView$1.markUpdateMethod(he,"updateVisual"),ae(pe),this._scheduler.performVisualTasks(pe,he,{visualType:"visual",setDirty:!0}),pe.eachComponent(function(ve,ge){if(ve!=="series"){var me=fe.getViewOfComponentModel(ge);me&&me.__alive&&me.updateVisual(ge,pe,fe._api,he)}}),pe.eachSeries(function(ve){var ge=fe._chartsMap[ve.__viewId];ge.updateVisual(ve,pe,fe._api,he)}),lifecycle$1.trigger("afterupdate",pe,this._api))},updateLayout:function(he){updateMethods.update.call(this,he)}},doConvertPixel=function(he,fe,pe,ve){if(he._disposed){he.id;return}for(var ge=he._model,me=he._coordSysMgr.getCoordinateSystems(),ye,_e=parseFinder$1(ge,pe),be=0;be<me.length;be++){var xe=me[be];if(xe[fe]&&(ye=xe[fe](ge,_e,ve))!=null)return ye}},updateStreamModes=function(he,fe){var pe=he._chartsMap,ve=he._scheduler;fe.eachSeries(function(ge){ve.updateStreamModes(ge,pe[ge.__viewId])})},doDispatchAction=function(he,fe){var pe=this,ve=this.getModel(),ge=he.type,me=he.escapeConnect,ye=actions[ge],_e=ye.actionInfo,be=(_e.update||"update").split(":"),xe=be.pop(),$e=be[0]!=null&&parseClassType(be[0]);this[IN_MAIN_PROCESS_KEY]=!0;var Se=[he],we=!1;he.batch&&(we=!0,Se=map$1(he.batch,function(Ee){return Ee=defaults$2(extend$1({},Ee),he),Ee.batch=null,Ee}));var Ae=[],Te,De=isSelectChangePayload(he),Me=isHighDownPayload(he);if(Me&&allLeaveBlur(this._api),each$f(Se,function(Ee){if(Te=ye.action(Ee,pe._model,pe._api),Te=Te||extend$1({},Ee),Te.type=_e.event||Te.type,Ae.push(Te),Me){var Re=preParseFinder(he),ke=Re.queryOptionMap,Be=Re.mainTypeSpecified,Ne=Be?ke.keys()[0]:"series";updateDirectly(pe,xe,Ee,Ne),markStatusToUpdate(pe)}else De?(updateDirectly(pe,xe,Ee,"series"),markStatusToUpdate(pe)):$e&&updateDirectly(pe,xe,Ee,$e.main,$e.sub)}),xe!=="none"&&!Me&&!De&&!$e)try{this[PENDING_UPDATE]?(prepare(this),updateMethods.update.call(this,he),this[PENDING_UPDATE]=null):updateMethods[xe].call(this,he)}catch(Ee){throw this[IN_MAIN_PROCESS_KEY]=!1,Ee}if(we?Te={type:_e.event||ge,escapeConnect:me,batch:Ae}:Te=Ae[0],this[IN_MAIN_PROCESS_KEY]=!1,!fe){var Ie=this._messageCenter;if(Ie.trigger(Te.type,Te),De){var Ce={type:"selectchanged",escapeConnect:me,selected:getAllSelectedIndices(ve),isFromClick:he.isFromClick||!1,fromAction:he.type,fromActionPayload:he};Ie.trigger(Ce.type,Ce)}}},flushPendingActions=function(he){for(var fe=this._pendingActions;fe.length;){var pe=fe.shift();doDispatchAction.call(this,pe,he)}},triggerUpdatedEvent=function(he){!he&&this.trigger("updated")},bindRenderedEvent=function(he,fe){he.on("rendered",function(pe){fe.trigger("rendered",pe),he.animation.isFinished()&&!fe[PENDING_UPDATE]&&!fe._scheduler.unfinished&&!fe._pendingActions.length&&fe.trigger("finished")})},bindMouseEvent=function(he,fe){he.on("mouseover",function(pe){var ve=pe.target,ge=findEventDispatcher(ve,isHighDownDispatcher);ge&&(handleGlobalMouseOverForHighDown(ge,pe,fe._api),markStatusToUpdate(fe))}).on("mouseout",function(pe){var ve=pe.target,ge=findEventDispatcher(ve,isHighDownDispatcher);ge&&(handleGlobalMouseOutForHighDown(ge,pe,fe._api),markStatusToUpdate(fe))}).on("click",function(pe){var ve=pe.target,ge=findEventDispatcher(ve,function(_e){return getECData(_e).dataIndex!=null},!0);if(ge){var me=ge.selected?"unselect":"select",ye=getECData(ge);fe._api.dispatchAction({type:me,dataType:ye.dataType,dataIndexInside:ye.dataIndex,seriesIndex:ye.seriesIndex,isFromClick:!0})}})};function ae(he){he.clearColorPalette(),he.eachSeries(function(fe){fe.clearColorPalette()})}function ne(he){var fe=[],pe=[],ve=!1;if(he.eachComponent(function(_e,be){var xe=be.get("zlevel")||0,$e=be.get("z")||0,Se=be.getZLevelKey();ve=ve||!!Se,(_e==="series"?pe:fe).push({zlevel:xe,z:$e,idx:be.componentIndex,type:_e,key:Se})}),ve){var ge=fe.concat(pe),me,ye;sort$2(ge,function(_e,be){return _e.zlevel===be.zlevel?_e.z-be.z:_e.zlevel-be.zlevel}),each$f(ge,function(_e){var be=he.getComponent(_e.type,_e.idx),xe=_e.zlevel,$e=_e.key;me!=null&&(xe=Math.max(me,xe)),$e?(xe===me&&$e!==ye&&xe++,ye=$e):ye&&(xe===me&&xe++,ye=""),me=xe,be.setZLevel(xe)})}}render=function(he,fe,pe,ve,ge){ne(fe),renderComponents(he,fe,pe,ve,ge),each$f(he._chartsViews,function(me){me.__alive=!1}),renderSeries(he,fe,pe,ve,ge),each$f(he._chartsViews,function(me){me.__alive||me.remove(fe,pe)})},renderComponents=function(he,fe,pe,ve,ge,me){each$f(me||he._componentsViews,function(ye){var _e=ye.__model;ce(_e,ye),ye.render(_e,fe,pe,ve),le(_e,ye),de(_e,ye)})},renderSeries=function(he,fe,pe,ve,ge,me){var ye=he._scheduler;ge=extend$1(ge||{},{updatedSeries:fe.getSeries()}),lifecycle$1.trigger("series:beforeupdate",fe,pe,ge);var _e=!1;fe.eachSeries(function(be){var xe=he._chartsMap[be.__viewId];xe.__alive=!0;var $e=xe.renderTask;ye.updatePayload($e,ve),ce(be,xe),me&&me.get(be.uid)&&$e.dirty(),$e.perform(ye.getPerformArgs($e))&&(_e=!0),xe.group.silent=!!be.get("silent"),se(be,xe),updateSeriesElementSelection(be)}),ye.unfinished=_e||ye.unfinished,lifecycle$1.trigger("series:layoutlabels",fe,pe,ge),lifecycle$1.trigger("series:transition",fe,pe,ge),fe.eachSeries(function(be){var xe=he._chartsMap[be.__viewId];le(be,xe),de(be,xe)}),oe(he,fe),lifecycle$1.trigger("series:afterupdate",fe,pe,ge)},markStatusToUpdate=function(he){he[STATUS_NEEDS_UPDATE_KEY]=!0,he.getZr().wakeUp()},applyChangedStates=function(he){he[STATUS_NEEDS_UPDATE_KEY]&&(he.getZr().storage.traverse(function(fe){isElementRemoved(fe)||ie(fe)}),he[STATUS_NEEDS_UPDATE_KEY]=!1)};function ie(he){for(var fe=[],pe=he.currentStates,ve=0;ve<pe.length;ve++){var ge=pe[ve];ge==="emphasis"||ge==="blur"||ge==="select"||fe.push(ge)}he.selected&&he.states.select&&fe.push("select"),he.hoverState===HOVER_STATE_EMPHASIS&&he.states.emphasis?fe.push("emphasis"):he.hoverState===HOVER_STATE_BLUR&&he.states.blur&&fe.push("blur"),he.useStates(fe)}function oe(he,fe){var pe=he._zr,ve=pe.storage,ge=0;ve.traverse(function(me){me.isGroup||ge++}),ge>fe.get("hoverLayerThreshold")&&!env$1.node&&!env$1.worker&&fe.eachSeries(function(me){if(!me.preventUsingHoverLayer){var ye=he._chartsMap[me.__viewId];ye.__alive&&ye.eachRendered(function(_e){_e.states.emphasis&&(_e.states.emphasis.hoverLayer=!0)})}})}function se(he,fe){var pe=he.get("blendMode")||null;fe.eachRendered(function(ve){ve.isGroup||(ve.style.blend=pe)})}function le(he,fe){if(!he.preventAutoZ){var pe=he.get("z")||0,ve=he.get("zlevel")||0;fe.eachRendered(function(ge){return ue(ge,pe,ve,-1/0),!0})}}function ue(he,fe,pe,ve){var ge=he.getTextContent(),me=he.getTextGuideLine(),ye=he.isGroup;if(ye)for(var _e=he.childrenRef(),be=0;be<_e.length;be++)ve=Math.max(ue(_e[be],fe,pe,ve),ve);else he.z=fe,he.zlevel=pe,ve=Math.max(he.z2,ve);if(ge&&(ge.z=fe,ge.zlevel=pe,isFinite(ve)&&(ge.z2=ve+2)),me){var xe=he.textGuideLineConfig;me.z=fe,me.zlevel=pe,isFinite(ve)&&(me.z2=ve+(xe&&xe.showAbove?1:-1))}return ve}function ce(he,fe){fe.eachRendered(function(pe){if(!isElementRemoved(pe)){var ve=pe.getTextContent(),ge=pe.getTextGuideLine();pe.stateTransition&&(pe.stateTransition=null),ve&&ve.stateTransition&&(ve.stateTransition=null),ge&&ge.stateTransition&&(ge.stateTransition=null),pe.hasState()?(pe.prevStates=pe.currentStates,pe.clearStates()):pe.prevStates&&(pe.prevStates=null)}})}function de(he,fe){var pe=he.getModel("stateAnimation"),ve=he.isAnimationEnabled(),ge=pe.get("duration"),me=ge>0?{duration:ge,delay:pe.get("delay"),easing:pe.get("easing")}:null;fe.eachRendered(function(ye){if(ye.states&&ye.states.emphasis){if(isElementRemoved(ye))return;if(ye instanceof Path$1&&savePathStates(ye),ye.__dirty){var _e=ye.prevStates;_e&&ye.useStates(_e)}if(ve){ye.stateTransition=me;var be=ye.getTextContent(),xe=ye.getTextGuideLine();be&&(be.stateTransition=me),xe&&(xe.stateTransition=me)}ye.__dirty&&ie(ye)}})}createExtensionAPI=function(he){return new(function(fe){__extends(pe,fe);function pe(){return fe!==null&&fe.apply(this,arguments)||this}return pe.prototype.getCoordinateSystems=function(){return he._coordSysMgr.getCoordinateSystems()},pe.prototype.getComponentByElement=function(ve){for(;ve;){var ge=ve.__ecComponentInfo;if(ge!=null)return he._model.getComponent(ge.mainType,ge.index);ve=ve.parent}},pe.prototype.enterEmphasis=function(ve,ge){enterEmphasis(ve,ge),markStatusToUpdate(he)},pe.prototype.leaveEmphasis=function(ve,ge){leaveEmphasis(ve,ge),markStatusToUpdate(he)},pe.prototype.enterBlur=function(ve){enterBlur(ve),markStatusToUpdate(he)},pe.prototype.leaveBlur=function(ve){leaveBlur(ve),markStatusToUpdate(he)},pe.prototype.enterSelect=function(ve){enterSelect(ve),markStatusToUpdate(he)},pe.prototype.leaveSelect=function(ve){leaveSelect(ve),markStatusToUpdate(he)},pe.prototype.getModel=function(){return he.getModel()},pe.prototype.getViewOfComponentModel=function(ve){return he.getViewOfComponentModel(ve)},pe.prototype.getViewOfSeriesModel=function(ve){return he.getViewOfSeriesModel(ve)},pe}(ExtensionAPI$1))(he)},enableConnect=function(he){function fe(pe,ve){for(var ge=0;ge<pe.length;ge++){var me=pe[ge];me[CONNECT_STATUS_KEY]=ve}}each$f(eventActionMap,function(pe,ve){he._messageCenter.on(ve,function(ge){if(connectedGroups[he.group]&&he[CONNECT_STATUS_KEY]!==CONNECT_STATUS_PENDING){if(ge&&ge.escapeConnect)return;var me=he.makeActionFromEvent(ge),ye=[];each$f(instances,function(_e){_e!==he&&_e.group===he.group&&ye.push(_e)}),fe(ye,CONNECT_STATUS_PENDING),each$f(ye,function(_e){_e[CONNECT_STATUS_KEY]!==CONNECT_STATUS_UPDATING&&_e.dispatchAction(me)}),fe(ye,CONNECT_STATUS_UPDATED)}})})}}(),te}(Eventful$1),echartsProto=ECharts.prototype;echartsProto.on=createRegisterEventWithLowercaseECharts("on");echartsProto.off=createRegisterEventWithLowercaseECharts("off");echartsProto.one=function(ee,te,ae){var ne=this;function ie(){for(var oe=[],se=0;se<arguments.length;se++)oe[se]=arguments[se];te&&te.apply&&te.apply(this,oe),ne.off(ee,ie)}this.on.call(this,ee,ie,ae)};var MOUSE_EVENT_NAMES=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];function disposedWarning(ee){}var actions={},eventActionMap={},dataProcessorFuncs=[],optionPreprocessorFuncs=[],visualFuncs=[],themeStorage={},loadingEffects={},instances={},connectedGroups={},idBase=+new Date-0,groupIdBase=+new Date-0,DOM_ATTRIBUTE_KEY="_echarts_instance_";function init$1(ee,te,ae){var ne=!(ae&&ae.ssr);if(ne){var ie=getInstanceByDom(ee);if(ie)return ie}var oe=new ECharts(ee,te,ae);return oe.id="ec_"+idBase++,instances[oe.id]=oe,ne&&setAttribute(ee,DOM_ATTRIBUTE_KEY,oe.id),enableConnect(oe),lifecycle$1.trigger("afterinit",oe),oe}function connect(ee){if(isArray$2(ee)){var te=ee;ee=null,each$f(te,function(ae){ae.group!=null&&(ee=ae.group)}),ee=ee||"g_"+groupIdBase++,each$f(te,function(ae){ae.group=ee})}return connectedGroups[ee]=!0,ee}function disconnect(ee){connectedGroups[ee]=!1}var disConnect=disconnect;function dispose(ee){isString$1(ee)?ee=instances[ee]:ee instanceof ECharts||(ee=getInstanceByDom(ee)),ee instanceof ECharts&&!ee.isDisposed()&&ee.dispose()}function getInstanceByDom(ee){return instances[getAttribute(ee,DOM_ATTRIBUTE_KEY)]}function getInstanceById(ee){return instances[ee]}function registerTheme(ee,te){themeStorage[ee]=te}function registerPreprocessor(ee){indexOf(optionPreprocessorFuncs,ee)<0&&optionPreprocessorFuncs.push(ee)}function registerProcessor(ee,te){normalizeRegister(dataProcessorFuncs,ee,te,PRIORITY_PROCESSOR_DEFAULT)}function registerPostInit(ee){registerUpdateLifecycle("afterinit",ee)}function registerPostUpdate(ee){registerUpdateLifecycle("afterupdate",ee)}function registerUpdateLifecycle(ee,te){lifecycle$1.on(ee,te)}function registerAction(ee,te,ae){isFunction$1(te)&&(ae=te,te="");var ne=isObject$4(ee)?ee.type:[ee,ee={event:te}][0];ee.event=(ee.event||ne).toLowerCase(),te=ee.event,!eventActionMap[te]&&(assert(ACTION_REG.test(ne)&&ACTION_REG.test(te)),actions[ne]||(actions[ne]={action:ae,actionInfo:ee}),eventActionMap[te]=ne)}function registerCoordinateSystem(ee,te){CoordinateSystem.register(ee,te)}function getCoordinateSystemDimensions(ee){var te=CoordinateSystem.get(ee);if(te)return te.getDimensionsInfo?te.getDimensionsInfo():te.dimensions.slice()}function registerLayout(ee,te){normalizeRegister(visualFuncs,ee,te,PRIORITY_VISUAL_LAYOUT,"layout")}function registerVisual(ee,te){normalizeRegister(visualFuncs,ee,te,PRIORITY_VISUAL_CHART,"visual")}var registeredTasks=[];function normalizeRegister(ee,te,ae,ne,ie){if((isFunction$1(te)||isObject$4(te))&&(ae=te,te=ne),!(indexOf(registeredTasks,ae)>=0)){registeredTasks.push(ae);var oe=Scheduler$1.wrapStageHandler(ae,ie);oe.__prio=te,oe.__raw=ae,ee.push(oe)}}function registerLoading(ee,te){loadingEffects[ee]=te}function setCanvasCreator(ee){setPlatformAPI({createCanvas:ee})}function registerMap$1(ee,te,ae){var ne=getImpl("registerMap");ne&&ne(ee,te,ae)}function getMap(ee){var te=getImpl("getMap");return te&&te(ee)}var registerTransform=registerExternalTransform;registerVisual(PRIORITY_VISUAL_GLOBAL,seriesStyleTask);registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM,dataStyleTask);registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM,dataColorPaletteTask);registerVisual(PRIORITY_VISUAL_GLOBAL,seriesSymbolTask);registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM,dataSymbolTask);registerVisual(PRIORITY_VISUAL_DECAL,decalVisual);registerPreprocessor(globalBackwardCompat);registerProcessor(PRIORITY_PROCESSOR_DATASTACK,dataStack$1);registerLoading("default",defaultLoading);registerAction({type:HIGHLIGHT_ACTION_TYPE,event:HIGHLIGHT_ACTION_TYPE,update:HIGHLIGHT_ACTION_TYPE},noop$1);registerAction({type:DOWNPLAY_ACTION_TYPE,event:DOWNPLAY_ACTION_TYPE,update:DOWNPLAY_ACTION_TYPE},noop$1);registerAction({type:SELECT_ACTION_TYPE,event:SELECT_ACTION_TYPE,update:SELECT_ACTION_TYPE},noop$1);registerAction({type:UNSELECT_ACTION_TYPE,event:UNSELECT_ACTION_TYPE,update:UNSELECT_ACTION_TYPE},noop$1);registerAction({type:TOGGLE_SELECT_ACTION_TYPE,event:TOGGLE_SELECT_ACTION_TYPE,update:TOGGLE_SELECT_ACTION_TYPE},noop$1);registerTheme("light",lightTheme);registerTheme("dark",darkTheme);var dataTool={},extensions=[],extensionRegisters={registerPreprocessor,registerProcessor,registerPostInit,registerPostUpdate,registerUpdateLifecycle,registerAction,registerCoordinateSystem,registerLayout,registerVisual,registerTransform,registerLoading,registerMap:registerMap$1,registerImpl,PRIORITY,ComponentModel:ComponentModel$1,ComponentView:ComponentView$1,SeriesModel:SeriesModel$1,ChartView:ChartView$1,registerComponentModel:function(ee){ComponentModel$1.registerClass(ee)},registerComponentView:function(ee){ComponentView$1.registerClass(ee)},registerSeriesModel:function(ee){SeriesModel$1.registerClass(ee)},registerChartView:function(ee){ChartView$1.registerClass(ee)},registerSubTypeDefaulter:function(ee,te){ComponentModel$1.registerSubTypeDefaulter(ee,te)},registerPainter:function(ee,te){registerPainter(ee,te)}};function use(ee){if(isArray$2(ee)){each$f(ee,function(te){use(te)});return}indexOf(extensions,ee)>=0||(extensions.push(ee),isFunction$1(ee)&&(ee={install:ee}),ee.install(extensionRegisters))}function dataIndexMapValueLength(ee){return ee==null?0:ee.length||1}function defaultKeyGetter(ee){return ee}var DataDiffer=function(){function ee(te,ae,ne,ie,oe,se){this._old=te,this._new=ae,this._oldKeyGetter=ne||defaultKeyGetter,this._newKeyGetter=ie||defaultKeyGetter,this.context=oe,this._diffModeMultiple=se==="multiple"}return ee.prototype.add=function(te){return this._add=te,this},ee.prototype.update=function(te){return this._update=te,this},ee.prototype.updateManyToOne=function(te){return this._updateManyToOne=te,this},ee.prototype.updateOneToMany=function(te){return this._updateOneToMany=te,this},ee.prototype.updateManyToMany=function(te){return this._updateManyToMany=te,this},ee.prototype.remove=function(te){return this._remove=te,this},ee.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},ee.prototype._executeOneToOne=function(){var te=this._old,ae=this._new,ne={},ie=new Array(te.length),oe=new Array(ae.length);this._initIndexMap(te,null,ie,"_oldKeyGetter"),this._initIndexMap(ae,ne,oe,"_newKeyGetter");for(var se=0;se<te.length;se++){var le=ie[se],ue=ne[le],ce=dataIndexMapValueLength(ue);if(ce>1){var de=ue.shift();ue.length===1&&(ne[le]=ue[0]),this._update&&this._update(de,se)}else ce===1?(ne[le]=null,this._update&&this._update(ue,se)):this._remove&&this._remove(se)}this._performRestAdd(oe,ne)},ee.prototype._executeMultiple=function(){var te=this._old,ae=this._new,ne={},ie={},oe=[],se=[];this._initIndexMap(te,ne,oe,"_oldKeyGetter"),this._initIndexMap(ae,ie,se,"_newKeyGetter");for(var le=0;le<oe.length;le++){var ue=oe[le],ce=ne[ue],de=ie[ue],he=dataIndexMapValueLength(ce),fe=dataIndexMapValueLength(de);if(he>1&&fe===1)this._updateManyToOne&&this._updateManyToOne(de,ce),ie[ue]=null;else if(he===1&&fe>1)this._updateOneToMany&&this._updateOneToMany(de,ce),ie[ue]=null;else if(he===1&&fe===1)this._update&&this._update(de,ce),ie[ue]=null;else if(he>1&&fe>1)this._updateManyToMany&&this._updateManyToMany(de,ce),ie[ue]=null;else if(he>1)for(var pe=0;pe<he;pe++)this._remove&&this._remove(ce[pe]);else this._remove&&this._remove(ce)}this._performRestAdd(se,ie)},ee.prototype._performRestAdd=function(te,ae){for(var ne=0;ne<te.length;ne++){var ie=te[ne],oe=ae[ie],se=dataIndexMapValueLength(oe);if(se>1)for(var le=0;le<se;le++)this._add&&this._add(oe[le]);else se===1&&this._add&&this._add(oe);ae[ie]=null}},ee.prototype._initIndexMap=function(te,ae,ne,ie){for(var oe=this._diffModeMultiple,se=0;se<te.length;se++){var le="_ec_"+this[ie](te[se],se);if(oe||(ne[se]=le),!!ae){var ue=ae[le],ce=dataIndexMapValueLength(ue);ce===0?(ae[le]=se,oe&&ne.push(le)):ce===1?ae[le]=[ue,se]:ue.push(se)}}},ee}();const DataDiffer$1=DataDiffer;var DimensionUserOuput=function(){function ee(te,ae){this._encode=te,this._schema=ae}return ee.prototype.get=function(){return{fullDimensions:this._getFullDimensionNames(),encode:this._encode}},ee.prototype._getFullDimensionNames=function(){return this._cachedDimNames||(this._cachedDimNames=this._schema?this._schema.makeOutputDimensionNames():[]),this._cachedDimNames},ee}();function summarizeDimensions(ee,te){var ae={},ne=ae.encode={},ie=createHashMap(),oe=[],se=[],le={};each$f(ee.dimensions,function(fe){var pe=ee.getDimensionInfo(fe),ve=pe.coordDim;if(ve){var ge=pe.coordDimIndex;getOrCreateEncodeArr(ne,ve)[ge]=fe,pe.isExtraCoord||(ie.set(ve,1),mayLabelDimType(pe.type)&&(oe[0]=fe),getOrCreateEncodeArr(le,ve)[ge]=ee.getDimensionIndex(pe.name)),pe.defaultTooltip&&se.push(fe)}VISUAL_DIMENSIONS.each(function(me,ye){var _e=getOrCreateEncodeArr(ne,ye),be=pe.otherDims[ye];be!=null&&be!==!1&&(_e[be]=pe.name)})});var ue=[],ce={};ie.each(function(fe,pe){var ve=ne[pe];ce[pe]=ve[0],ue=ue.concat(ve)}),ae.dataDimsOnCoord=ue,ae.dataDimIndicesOnCoord=map$1(ue,function(fe){return ee.getDimensionInfo(fe).storeDimIndex}),ae.encodeFirstDimNotExtra=ce;var de=ne.label;de&&de.length&&(oe=de.slice());var he=ne.tooltip;return he&&he.length?se=he.slice():se.length||(se=oe.slice()),ne.defaultedLabel=oe,ne.defaultedTooltip=se,ae.userOutput=new DimensionUserOuput(le,te),ae}function getOrCreateEncodeArr(ee,te){return ee.hasOwnProperty(te)||(ee[te]=[]),ee[te]}function getDimensionTypeByAxis(ee){return ee==="category"?"ordinal":ee==="time"?"time":"float"}function mayLabelDimType(ee){return!(ee==="ordinal"||ee==="time")}var SeriesDimensionDefine=function(){function ee(te){this.otherDims={},te!=null&&extend$1(this,te)}return ee}();const SeriesDimensionDefine$1=SeriesDimensionDefine;var inner$h=makeInner(),dimTypeShort={float:"f",int:"i",ordinal:"o",number:"n",time:"t"},SeriesDataSchema=function(){function ee(te){this.dimensions=te.dimensions,this._dimOmitted=te.dimensionOmitted,this.source=te.source,this._fullDimCount=te.fullDimensionCount,this._updateDimOmitted(te.dimensionOmitted)}return ee.prototype.isDimensionOmitted=function(){return this._dimOmitted},ee.prototype._updateDimOmitted=function(te){this._dimOmitted=te,te&&(this._dimNameMap||(this._dimNameMap=ensureSourceDimNameMap(this.source)))},ee.prototype.getSourceDimensionIndex=function(te){return retrieve2(this._dimNameMap.get(te),-1)},ee.prototype.getSourceDimension=function(te){var ae=this.source.dimensionsDefine;if(ae)return ae[te]},ee.prototype.makeStoreSchema=function(){for(var te=this._fullDimCount,ae=shouldRetrieveDataByName(this.source),ne=!shouldOmitUnusedDimensions(te),ie="",oe=[],se=0,le=0;se<te;se++){var ue=void 0,ce=void 0,de=void 0,he=this.dimensions[le];if(he&&he.storeDimIndex===se)ue=ae?he.name:null,ce=he.type,de=he.ordinalMeta,le++;else{var fe=this.getSourceDimension(se);fe&&(ue=ae?fe.name:null,ce=fe.type)}oe.push({property:ue,type:ce,ordinalMeta:de}),ae&&ue!=null&&(!he||!he.isCalculationCoord)&&(ie+=ne?ue.replace(/\`/g,"`1").replace(/\$/g,"`2"):ue),ie+="$",ie+=dimTypeShort[ce]||"f",de&&(ie+=de.uid),ie+="$"}var pe=this.source,ve=[pe.seriesLayoutBy,pe.startIndex,ie].join("$$");return{dimensions:oe,hash:ve}},ee.prototype.makeOutputDimensionNames=function(){for(var te=[],ae=0,ne=0;ae<this._fullDimCount;ae++){var ie=void 0,oe=this.dimensions[ne];if(oe&&oe.storeDimIndex===ae)oe.isCalculationCoord||(ie=oe.name),ne++;else{var se=this.getSourceDimension(ae);se&&(ie=se.name)}te.push(ie)}return te},ee.prototype.appendCalculationDimension=function(te){this.dimensions.push(te),te.isCalculationCoord=!0,this._fullDimCount++,this._updateDimOmitted(!0)},ee}();function isSeriesDataSchema(ee){return ee instanceof SeriesDataSchema}function createDimNameMap(ee){for(var te=createHashMap(),ae=0;ae<(ee||[]).length;ae++){var ne=ee[ae],ie=isObject$4(ne)?ne.name:ne;ie!=null&&te.get(ie)==null&&te.set(ie,ae)}return te}function ensureSourceDimNameMap(ee){var te=inner$h(ee);return te.dimNameMap||(te.dimNameMap=createDimNameMap(ee.dimensionsDefine))}function shouldOmitUnusedDimensions(ee){return ee>30}var isObject$2=isObject$4,map=map$1,CtorInt32Array=typeof Int32Array>"u"?Array:Int32Array,ID_PREFIX="e\0\0",INDEX_NOT_FOUND=-1,TRANSFERABLE_PROPERTIES=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],CLONE_PROPERTIES=["_approximateExtent"],prepareInvertedIndex,getId,getIdNameFromStore,normalizeDimensions,transferProperties,cloneListForMapAndSample,makeIdFromName,SeriesData=function(){function ee(te,ae){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var ne,ie=!1;isSeriesDataSchema(te)?(ne=te.dimensions,this._dimOmitted=te.isDimensionOmitted(),this._schema=te):(ie=!0,ne=te),ne=ne||["x","y"];for(var oe={},se=[],le={},ue=!1,ce={},de=0;de<ne.length;de++){var he=ne[de],fe=isString$1(he)?new SeriesDimensionDefine$1({name:he}):he instanceof SeriesDimensionDefine$1?he:new SeriesDimensionDefine$1(he),pe=fe.name;fe.type=fe.type||"float",fe.coordDim||(fe.coordDim=pe,fe.coordDimIndex=0);var ve=fe.otherDims=fe.otherDims||{};se.push(pe),oe[pe]=fe,ce[pe]!=null&&(ue=!0),fe.createInvertedIndices&&(le[pe]=[]),ve.itemName===0&&(this._nameDimIdx=de),ve.itemId===0&&(this._idDimIdx=de),ie&&(fe.storeDimIndex=de)}if(this.dimensions=se,this._dimInfos=oe,this._initGetDimensionInfo(ue),this.hostModel=ae,this._invertedIndicesMap=le,this._dimOmitted){var ge=this._dimIdxToName=createHashMap();each$f(se,function(me){ge.set(oe[me].storeDimIndex,me)})}}return ee.prototype.getDimension=function(te){var ae=this._recognizeDimIndex(te);if(ae==null)return te;if(ae=te,!this._dimOmitted)return this.dimensions[ae];var ne=this._dimIdxToName.get(ae);if(ne!=null)return ne;var ie=this._schema.getSourceDimension(ae);if(ie)return ie.name},ee.prototype.getDimensionIndex=function(te){var ae=this._recognizeDimIndex(te);if(ae!=null)return ae;if(te==null)return-1;var ne=this._getDimInfo(te);return ne?ne.storeDimIndex:this._dimOmitted?this._schema.getSourceDimensionIndex(te):-1},ee.prototype._recognizeDimIndex=function(te){if(isNumber$1(te)||te!=null&&!isNaN(te)&&!this._getDimInfo(te)&&(!this._dimOmitted||this._schema.getSourceDimensionIndex(te)<0))return+te},ee.prototype._getStoreDimIndex=function(te){var ae=this.getDimensionIndex(te);return ae},ee.prototype.getDimensionInfo=function(te){return this._getDimInfo(this.getDimension(te))},ee.prototype._initGetDimensionInfo=function(te){var ae=this._dimInfos;this._getDimInfo=te?function(ne){return ae.hasOwnProperty(ne)?ae[ne]:void 0}:function(ne){return ae[ne]}},ee.prototype.getDimensionsOnCoord=function(){return this._dimSummary.dataDimsOnCoord.slice()},ee.prototype.mapDimension=function(te,ae){var ne=this._dimSummary;if(ae==null)return ne.encodeFirstDimNotExtra[te];var ie=ne.encode[te];return ie?ie[ae]:null},ee.prototype.mapDimensionsAll=function(te){var ae=this._dimSummary,ne=ae.encode[te];return(ne||[]).slice()},ee.prototype.getStore=function(){return this._store},ee.prototype.initData=function(te,ae,ne){var ie=this,oe;if(te instanceof DataStore$1&&(oe=te),!oe){var se=this.dimensions,le=isSourceInstance(te)||isArrayLike(te)?new DefaultDataProvider(te,se.length):te;oe=new DataStore$1;var ue=map(se,function(ce){return{type:ie._dimInfos[ce].type,property:ce}});oe.initData(le,ue,ne)}this._store=oe,this._nameList=(ae||[]).slice(),this._idList=[],this._nameRepeatCount={},this._doInit(0,oe.count()),this._dimSummary=summarizeDimensions(this,this._schema),this.userOutput=this._dimSummary.userOutput},ee.prototype.appendData=function(te){var ae=this._store.appendData(te);this._doInit(ae[0],ae[1])},ee.prototype.appendValues=function(te,ae){var ne=this._store.appendValues(te,ae.length),ie=ne.start,oe=ne.end,se=this._shouldMakeIdFromName();if(this._updateOrdinalMeta(),ae)for(var le=ie;le<oe;le++){var ue=le-ie;this._nameList[le]=ae[ue],se&&makeIdFromName(this,le)}},ee.prototype._updateOrdinalMeta=function(){for(var te=this._store,ae=this.dimensions,ne=0;ne<ae.length;ne++){var ie=this._dimInfos[ae[ne]];ie.ordinalMeta&&te.collectOrdinalMeta(ie.storeDimIndex,ie.ordinalMeta)}},ee.prototype._shouldMakeIdFromName=function(){var te=this._store.getProvider();return this._idDimIdx==null&&te.getSource().sourceFormat!==SOURCE_FORMAT_TYPED_ARRAY&&!te.fillStorage},ee.prototype._doInit=function(te,ae){if(!(te>=ae)){var ne=this._store,ie=ne.getProvider();this._updateOrdinalMeta();var oe=this._nameList,se=this._idList,le=ie.getSource().sourceFormat,ue=le===SOURCE_FORMAT_ORIGINAL;if(ue&&!ie.pure)for(var ce=[],de=te;de<ae;de++){var he=ie.getItem(de,ce);if(!this.hasItemOption&&isDataItemOption(he)&&(this.hasItemOption=!0),he){var fe=he.name;oe[de]==null&&fe!=null&&(oe[de]=convertOptionIdName(fe,null));var pe=he.id;se[de]==null&&pe!=null&&(se[de]=convertOptionIdName(pe,null))}}if(this._shouldMakeIdFromName())for(var de=te;de<ae;de++)makeIdFromName(this,de);prepareInvertedIndex(this)}},ee.prototype.getApproximateExtent=function(te){return this._approximateExtent[te]||this._store.getDataExtent(this._getStoreDimIndex(te))},ee.prototype.setApproximateExtent=function(te,ae){ae=this.getDimension(ae),this._approximateExtent[ae]=te.slice()},ee.prototype.getCalculationInfo=function(te){return this._calculationInfo[te]},ee.prototype.setCalculationInfo=function(te,ae){isObject$2(te)?extend$1(this._calculationInfo,te):this._calculationInfo[te]=ae},ee.prototype.getName=function(te){var ae=this.getRawIndex(te),ne=this._nameList[ae];return ne==null&&this._nameDimIdx!=null&&(ne=getIdNameFromStore(this,this._nameDimIdx,ae)),ne==null&&(ne=""),ne},ee.prototype._getCategory=function(te,ae){var ne=this._store.get(te,ae),ie=this._store.getOrdinalMeta(te);return ie?ie.categories[ne]:ne},ee.prototype.getId=function(te){return getId(this,this.getRawIndex(te))},ee.prototype.count=function(){return this._store.count()},ee.prototype.get=function(te,ae){var ne=this._store,ie=this._dimInfos[te];if(ie)return ne.get(ie.storeDimIndex,ae)},ee.prototype.getByRawIndex=function(te,ae){var ne=this._store,ie=this._dimInfos[te];if(ie)return ne.getByRawIndex(ie.storeDimIndex,ae)},ee.prototype.getIndices=function(){return this._store.getIndices()},ee.prototype.getDataExtent=function(te){return this._store.getDataExtent(this._getStoreDimIndex(te))},ee.prototype.getSum=function(te){return this._store.getSum(this._getStoreDimIndex(te))},ee.prototype.getMedian=function(te){return this._store.getMedian(this._getStoreDimIndex(te))},ee.prototype.getValues=function(te,ae){var ne=this,ie=this._store;return isArray$2(te)?ie.getValues(map(te,function(oe){return ne._getStoreDimIndex(oe)}),ae):ie.getValues(te)},ee.prototype.hasValue=function(te){for(var ae=this._dimSummary.dataDimIndicesOnCoord,ne=0,ie=ae.length;ne<ie;ne++)if(isNaN(this._store.get(ae[ne],te)))return!1;return!0},ee.prototype.indexOfName=function(te){for(var ae=0,ne=this._store.count();ae<ne;ae++)if(this.getName(ae)===te)return ae;return-1},ee.prototype.getRawIndex=function(te){return this._store.getRawIndex(te)},ee.prototype.indexOfRawIndex=function(te){return this._store.indexOfRawIndex(te)},ee.prototype.rawIndexOf=function(te,ae){var ne=te&&this._invertedIndicesMap[te],ie=ne[ae];return ie==null||isNaN(ie)?INDEX_NOT_FOUND:ie},ee.prototype.indicesOfNearest=function(te,ae,ne){return this._store.indicesOfNearest(this._getStoreDimIndex(te),ae,ne)},ee.prototype.each=function(te,ae,ne){isFunction$1(te)&&(ne=ae,ae=te,te=[]);var ie=ne||this,oe=map(normalizeDimensions(te),this._getStoreDimIndex,this);this._store.each(oe,ie?bind$2(ae,ie):ae)},ee.prototype.filterSelf=function(te,ae,ne){isFunction$1(te)&&(ne=ae,ae=te,te=[]);var ie=ne||this,oe=map(normalizeDimensions(te),this._getStoreDimIndex,this);return this._store=this._store.filter(oe,ie?bind$2(ae,ie):ae),this},ee.prototype.selectRange=function(te){var ae=this,ne={},ie=keys(te);return each$f(ie,function(oe){var se=ae._getStoreDimIndex(oe);ne[se]=te[oe]}),this._store=this._store.selectRange(ne),this},ee.prototype.mapArray=function(te,ae,ne){isFunction$1(te)&&(ne=ae,ae=te,te=[]),ne=ne||this;var ie=[];return this.each(te,function(){ie.push(ae&&ae.apply(this,arguments))},ne),ie},ee.prototype.map=function(te,ae,ne,ie){var oe=ne||ie||this,se=map(normalizeDimensions(te),this._getStoreDimIndex,this),le=cloneListForMapAndSample(this);return le._store=this._store.map(se,oe?bind$2(ae,oe):ae),le},ee.prototype.modify=function(te,ae,ne,ie){var oe=ne||ie||this,se=map(normalizeDimensions(te),this._getStoreDimIndex,this);this._store.modify(se,oe?bind$2(ae,oe):ae)},ee.prototype.downSample=function(te,ae,ne,ie){var oe=cloneListForMapAndSample(this);return oe._store=this._store.downSample(this._getStoreDimIndex(te),ae,ne,ie),oe},ee.prototype.lttbDownSample=function(te,ae){var ne=cloneListForMapAndSample(this);return ne._store=this._store.lttbDownSample(this._getStoreDimIndex(te),ae),ne},ee.prototype.getRawDataItem=function(te){return this._store.getRawDataItem(te)},ee.prototype.getItemModel=function(te){var ae=this.hostModel,ne=this.getRawDataItem(te);return new Model$1(ne,ae,ae&&ae.ecModel)},ee.prototype.diff=function(te){var ae=this;return new DataDiffer$1(te?te.getStore().getIndices():[],this.getStore().getIndices(),function(ne){return getId(te,ne)},function(ne){return getId(ae,ne)})},ee.prototype.getVisual=function(te){var ae=this._visual;return ae&&ae[te]},ee.prototype.setVisual=function(te,ae){this._visual=this._visual||{},isObject$2(te)?extend$1(this._visual,te):this._visual[te]=ae},ee.prototype.getItemVisual=function(te,ae){var ne=this._itemVisuals[te],ie=ne&&ne[ae];return ie??this.getVisual(ae)},ee.prototype.hasItemVisual=function(){return this._itemVisuals.length>0},ee.prototype.ensureUniqueItemVisual=function(te,ae){var ne=this._itemVisuals,ie=ne[te];ie||(ie=ne[te]={});var oe=ie[ae];return oe==null&&(oe=this.getVisual(ae),isArray$2(oe)?oe=oe.slice():isObject$2(oe)&&(oe=extend$1({},oe)),ie[ae]=oe),oe},ee.prototype.setItemVisual=function(te,ae,ne){var ie=this._itemVisuals[te]||{};this._itemVisuals[te]=ie,isObject$2(ae)?extend$1(ie,ae):ie[ae]=ne},ee.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},ee.prototype.setLayout=function(te,ae){isObject$2(te)?extend$1(this._layout,te):this._layout[te]=ae},ee.prototype.getLayout=function(te){return this._layout[te]},ee.prototype.getItemLayout=function(te){return this._itemLayouts[te]},ee.prototype.setItemLayout=function(te,ae,ne){this._itemLayouts[te]=ne?extend$1(this._itemLayouts[te]||{},ae):ae},ee.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},ee.prototype.setItemGraphicEl=function(te,ae){var ne=this.hostModel&&this.hostModel.seriesIndex;setCommonECData(ne,this.dataType,te,ae),this._graphicEls[te]=ae},ee.prototype.getItemGraphicEl=function(te){return this._graphicEls[te]},ee.prototype.eachItemGraphicEl=function(te,ae){each$f(this._graphicEls,function(ne,ie){ne&&te&&te.call(ae,ne,ie)})},ee.prototype.cloneShallow=function(te){return te||(te=new ee(this._schema?this._schema:map(this.dimensions,this._getDimInfo,this),this.hostModel)),transferProperties(te,this),te._store=this._store,te},ee.prototype.wrapMethod=function(te,ae){var ne=this[te];isFunction$1(ne)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(te),this[te]=function(){var ie=ne.apply(this,arguments);return ae.apply(this,[ie].concat(slice(arguments)))})},ee.internalField=function(){prepareInvertedIndex=function(te){var ae=te._invertedIndicesMap;each$f(ae,function(ne,ie){var oe=te._dimInfos[ie],se=oe.ordinalMeta,le=te._store;if(se){ne=ae[ie]=new CtorInt32Array(se.categories.length);for(var ue=0;ue<ne.length;ue++)ne[ue]=INDEX_NOT_FOUND;for(var ue=0;ue<le.count();ue++)ne[le.get(oe.storeDimIndex,ue)]=ue}})},getIdNameFromStore=function(te,ae,ne){return convertOptionIdName(te._getCategory(ae,ne),null)},getId=function(te,ae){var ne=te._idList[ae];return ne==null&&te._idDimIdx!=null&&(ne=getIdNameFromStore(te,te._idDimIdx,ae)),ne==null&&(ne=ID_PREFIX+ae),ne},normalizeDimensions=function(te){return isArray$2(te)||(te=te!=null?[te]:[]),te},cloneListForMapAndSample=function(te){var ae=new ee(te._schema?te._schema:map(te.dimensions,te._getDimInfo,te),te.hostModel);return transferProperties(ae,te),ae},transferProperties=function(te,ae){each$f(TRANSFERABLE_PROPERTIES.concat(ae.__wrappedMethods||[]),function(ne){ae.hasOwnProperty(ne)&&(te[ne]=ae[ne])}),te.__wrappedMethods=ae.__wrappedMethods,each$f(CLONE_PROPERTIES,function(ne){te[ne]=clone$4(ae[ne])}),te._calculationInfo=extend$1({},ae._calculationInfo)},makeIdFromName=function(te,ae){var ne=te._nameList,ie=te._idList,oe=te._nameDimIdx,se=te._idDimIdx,le=ne[ae],ue=ie[ae];if(le==null&&oe!=null&&(ne[ae]=le=getIdNameFromStore(te,oe,ae)),ue==null&&se!=null&&(ie[ae]=ue=getIdNameFromStore(te,se,ae)),ue==null&&le!=null){var ce=te._nameRepeatCount,de=ce[le]=(ce[le]||0)+1;ue=le,de>1&&(ue+="__ec__"+de),ie[ae]=ue}}}(),ee}();const SeriesData$1=SeriesData;function createDimensions(ee,te){return prepareSeriesDataSchema(ee,te).dimensions}function prepareSeriesDataSchema(ee,te){isSourceInstance(ee)||(ee=createSourceFromSeriesDataOption(ee)),te=te||{};var ae=te.coordDimensions||[],ne=te.dimensionsDefine||ee.dimensionsDefine||[],ie=createHashMap(),oe=[],se=getDimCount(ee,ae,ne,te.dimensionsCount),le=te.canOmitUnusedDimensions&&shouldOmitUnusedDimensions(se),ue=ne===ee.dimensionsDefine,ce=ue?ensureSourceDimNameMap(ee):createDimNameMap(ne),de=te.encodeDefine;!de&&te.encodeDefaulter&&(de=te.encodeDefaulter(ee,se));for(var he=createHashMap(de),fe=new CtorInt32Array$1(se),pe=0;pe<fe.length;pe++)fe[pe]=-1;function ve(Te){var De=fe[Te];if(De<0){var Me=ne[Te],Ie=isObject$4(Me)?Me:{name:Me},Ce=new SeriesDimensionDefine$1,Ee=Ie.name;Ee!=null&&ce.get(Ee)!=null&&(Ce.name=Ce.displayName=Ee),Ie.type!=null&&(Ce.type=Ie.type),Ie.displayName!=null&&(Ce.displayName=Ie.displayName);var Re=oe.length;return fe[Te]=Re,Ce.storeDimIndex=Te,oe.push(Ce),Ce}return oe[De]}if(!le)for(var pe=0;pe<se;pe++)ve(pe);he.each(function(Te,De){var Me=normalizeToArray(Te).slice();if(Me.length===1&&!isString$1(Me[0])&&Me[0]<0){he.set(De,!1);return}var Ie=he.set(De,[]);each$f(Me,function(Ce,Ee){var Re=isString$1(Ce)?ce.get(Ce):Ce;Re!=null&&Re<se&&(Ie[Ee]=Re,me(ve(Re),De,Ee))})});var ge=0;each$f(ae,function(Te){var De,Me,Ie,Ce;if(isString$1(Te))De=Te,Ce={};else{Ce=Te,De=Ce.name;var Ee=Ce.ordinalMeta;Ce.ordinalMeta=null,Ce=extend$1({},Ce),Ce.ordinalMeta=Ee,Me=Ce.dimsDef,Ie=Ce.otherDims,Ce.name=Ce.coordDim=Ce.coordDimIndex=Ce.dimsDef=Ce.otherDims=null}var Re=he.get(De);if(Re!==!1){if(Re=normalizeToArray(Re),!Re.length)for(var ke=0;ke<(Me&&Me.length||1);ke++){for(;ge<se&&ve(ge).coordDim!=null;)ge++;ge<se&&Re.push(ge++)}each$f(Re,function(Be,Ne){var He=ve(Be);if(ue&&Ce.type!=null&&(He.type=Ce.type),me(defaults$2(He,Ce),De,Ne),He.name==null&&Me){var qe=Me[Ne];!isObject$4(qe)&&(qe={name:qe}),He.name=He.displayName=qe.name,He.defaultTooltip=qe.defaultTooltip}Ie&&defaults$2(He.otherDims,Ie)})}});function me(Te,De,Me){VISUAL_DIMENSIONS.get(De)!=null?Te.otherDims[De]=Me:(Te.coordDim=De,Te.coordDimIndex=Me,ie.set(De,!0))}var ye=te.generateCoord,_e=te.generateCoordCount,be=_e!=null;_e=ye?_e||1:0;var xe=ye||"value";function $e(Te){Te.name==null&&(Te.name=Te.coordDim)}if(le)each$f(oe,function(Te){$e(Te)}),oe.sort(function(Te,De){return Te.storeDimIndex-De.storeDimIndex});else for(var Se=0;Se<se;Se++){var we=ve(Se),Ae=we.coordDim;Ae==null&&(we.coordDim=genCoordDimName(xe,ie,be),we.coordDimIndex=0,(!ye||_e<=0)&&(we.isExtraCoord=!0),_e--),$e(we),we.type==null&&(guessOrdinal(ee,Se)===BE_ORDINAL.Must||we.isExtraCoord&&(we.otherDims.itemName!=null||we.otherDims.seriesName!=null))&&(we.type="ordinal")}return removeDuplication(oe),new SeriesDataSchema({source:ee,dimensions:oe,fullDimensionCount:se,dimensionOmitted:le})}function removeDuplication(ee){for(var te=createHashMap(),ae=0;ae<ee.length;ae++){var ne=ee[ae],ie=ne.name,oe=te.get(ie)||0;oe>0&&(ne.name=ie+(oe-1)),oe++,te.set(ie,oe)}}function getDimCount(ee,te,ae,ne){var ie=Math.max(ee.dimensionsDetectedCount||1,te.length,ae.length,ne||0);return each$f(te,function(oe){var se;isObject$4(oe)&&(se=oe.dimsDef)&&(ie=Math.max(ie,se.length))}),ie}function genCoordDimName(ee,te,ae){if(ae||te.hasKey(ee)){for(var ne=0;te.hasKey(ee+ne);)ne++;ee+=ne}return te.set(ee,!0),ee}var CoordSysInfo=function(){function ee(te){this.coordSysDims=[],this.axisMap=createHashMap(),this.categoryAxisMap=createHashMap(),this.coordSysName=te}return ee}();function getCoordSysInfoBySeries(ee){var te=ee.get("coordinateSystem"),ae=new CoordSysInfo(te),ne=fetchers[te];if(ne)return ne(ee,ae,ae.axisMap,ae.categoryAxisMap),ae}var fetchers={cartesian2d:function(ee,te,ae,ne){var ie=ee.getReferringComponents("xAxis",SINGLE_REFERRING).models[0],oe=ee.getReferringComponents("yAxis",SINGLE_REFERRING).models[0];te.coordSysDims=["x","y"],ae.set("x",ie),ae.set("y",oe),isCategory(ie)&&(ne.set("x",ie),te.firstCategoryDimIndex=0),isCategory(oe)&&(ne.set("y",oe),te.firstCategoryDimIndex==null&&(te.firstCategoryDimIndex=1))},singleAxis:function(ee,te,ae,ne){var ie=ee.getReferringComponents("singleAxis",SINGLE_REFERRING).models[0];te.coordSysDims=["single"],ae.set("single",ie),isCategory(ie)&&(ne.set("single",ie),te.firstCategoryDimIndex=0)},polar:function(ee,te,ae,ne){var ie=ee.getReferringComponents("polar",SINGLE_REFERRING).models[0],oe=ie.findAxisModel("radiusAxis"),se=ie.findAxisModel("angleAxis");te.coordSysDims=["radius","angle"],ae.set("radius",oe),ae.set("angle",se),isCategory(oe)&&(ne.set("radius",oe),te.firstCategoryDimIndex=0),isCategory(se)&&(ne.set("angle",se),te.firstCategoryDimIndex==null&&(te.firstCategoryDimIndex=1))},geo:function(ee,te,ae,ne){te.coordSysDims=["lng","lat"]},parallel:function(ee,te,ae,ne){var ie=ee.ecModel,oe=ie.getComponent("parallel",ee.get("parallelIndex")),se=te.coordSysDims=oe.dimensions.slice();each$f(oe.parallelAxisIndex,function(le,ue){var ce=ie.getComponent("parallelAxis",le),de=se[ue];ae.set(de,ce),isCategory(ce)&&(ne.set(de,ce),te.firstCategoryDimIndex==null&&(te.firstCategoryDimIndex=ue))})}};function isCategory(ee){return ee.get("type")==="category"}function enableDataStack(ee,te,ae){ae=ae||{};var ne=ae.byIndex,ie=ae.stackedCoordDimension,oe,se,le;isLegacyDimensionsInput(te)?oe=te:(se=te.schema,oe=se.dimensions,le=te.store);var ue=!!(ee&&ee.get("stack")),ce,de,he,fe;if(each$f(oe,function(_e,be){isString$1(_e)&&(oe[be]=_e={name:_e}),ue&&!_e.isExtraCoord&&(!ne&&!ce&&_e.ordinalMeta&&(ce=_e),!de&&_e.type!=="ordinal"&&_e.type!=="time"&&(!ie||ie===_e.coordDim)&&(de=_e))}),de&&!ne&&!ce&&(ne=!0),de){he="__\0ecstackresult_"+ee.id,fe="__\0ecstackedover_"+ee.id,ce&&(ce.createInvertedIndices=!0);var pe=de.coordDim,ve=de.type,ge=0;each$f(oe,function(_e){_e.coordDim===pe&&ge++});var me={name:he,coordDim:pe,coordDimIndex:ge,type:ve,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:oe.length},ye={name:fe,coordDim:fe,coordDimIndex:ge+1,type:ve,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:oe.length+1};se?(le&&(me.storeDimIndex=le.ensureCalculationDimension(fe,ve),ye.storeDimIndex=le.ensureCalculationDimension(he,ve)),se.appendCalculationDimension(me),se.appendCalculationDimension(ye)):(oe.push(me),oe.push(ye))}return{stackedDimension:de&&de.name,stackedByDimension:ce&&ce.name,isStackedByIndex:ne,stackedOverDimension:fe,stackResultDimension:he}}function isLegacyDimensionsInput(ee){return!isSeriesDataSchema(ee.schema)}function isDimensionStacked(ee,te){return!!te&&te===ee.getCalculationInfo("stackedDimension")}function getStackedDimension(ee,te){return isDimensionStacked(ee,te)?ee.getCalculationInfo("stackResultDimension"):te}function getCoordSysDimDefs(ee,te){var ae=ee.get("coordinateSystem"),ne=CoordinateSystem.get(ae),ie;return te&&te.coordSysDims&&(ie=map$1(te.coordSysDims,function(oe){var se={name:oe},le=te.axisMap.get(oe);if(le){var ue=le.get("type");se.type=getDimensionTypeByAxis(ue)}return se})),ie||(ie=ne&&(ne.getDimensionsInfo?ne.getDimensionsInfo():ne.dimensions.slice())||["x","y"]),ie}function injectOrdinalMeta(ee,te,ae){var ne,ie;return ae&&each$f(ee,function(oe,se){var le=oe.coordDim,ue=ae.categoryAxisMap.get(le);ue&&(ne==null&&(ne=se),oe.ordinalMeta=ue.getOrdinalMeta(),te&&(oe.createInvertedIndices=!0)),oe.otherDims.itemName!=null&&(ie=!0)}),!ie&&ne!=null&&(ee[ne].otherDims.itemName=0),ne}function createSeriesData(ee,te,ae){ae=ae||{};var ne=te.getSourceManager(),ie,oe=!1;ee?(oe=!0,ie=createSourceFromSeriesDataOption(ee)):(ie=ne.getSource(),oe=ie.sourceFormat===SOURCE_FORMAT_ORIGINAL);var se=getCoordSysInfoBySeries(te),le=getCoordSysDimDefs(te,se),ue=ae.useEncodeDefaulter,ce=isFunction$1(ue)?ue:ue?curry$1(makeSeriesEncodeForAxisCoordSys,le,te):null,de={coordDimensions:le,generateCoord:ae.generateCoord,encodeDefine:te.getEncode(),encodeDefaulter:ce,canOmitUnusedDimensions:!oe},he=prepareSeriesDataSchema(ie,de),fe=injectOrdinalMeta(he.dimensions,ae.createInvertedIndices,se),pe=oe?null:ne.getSharedDataStore(he),ve=enableDataStack(te,{schema:he,store:pe}),ge=new SeriesData$1(he,te);ge.setCalculationInfo(ve);var me=fe!=null&&isNeedCompleteOrdinalData(ie)?function(ye,_e,be,xe){return xe===fe?be:this.defaultDimValueGetter(ye,_e,be,xe)}:null;return ge.hasItemOption=!1,ge.initData(oe?ie:pe,null,me),ge}function isNeedCompleteOrdinalData(ee){if(ee.sourceFormat===SOURCE_FORMAT_ORIGINAL){var te=firstDataNotNull(ee.data||[]);return!isArray$2(getDataItemValue(te))}}function firstDataNotNull(ee){for(var te=0;te<ee.length&&ee[te]==null;)te++;return ee[te]}var Scale=function(){function ee(te){this._setting=te||{},this._extent=[1/0,-1/0]}return ee.prototype.getSetting=function(te){return this._setting[te]},ee.prototype.unionExtent=function(te){var ae=this._extent;te[0]<ae[0]&&(ae[0]=te[0]),te[1]>ae[1]&&(ae[1]=te[1])},ee.prototype.unionExtentFromData=function(te,ae){this.unionExtent(te.getApproximateExtent(ae))},ee.prototype.getExtent=function(){return this._extent.slice()},ee.prototype.setExtent=function(te,ae){var ne=this._extent;isNaN(te)||(ne[0]=te),isNaN(ae)||(ne[1]=ae)},ee.prototype.isInExtentRange=function(te){return this._extent[0]<=te&&this._extent[1]>=te},ee.prototype.isBlank=function(){return this._isBlank},ee.prototype.setBlank=function(te){this._isBlank=te},ee}();enableClassManagement(Scale);const Scale$1=Scale;var uidBase=0,OrdinalMeta=function(){function ee(te){this.categories=te.categories||[],this._needCollect=te.needCollect,this._deduplication=te.deduplication,this.uid=++uidBase}return ee.createByAxisModel=function(te){var ae=te.option,ne=ae.data,ie=ne&&map$1(ne,getName);return new ee({categories:ie,needCollect:!ie,deduplication:ae.dedplication!==!1})},ee.prototype.getOrdinal=function(te){return this._getOrCreateMap().get(te)},ee.prototype.parseAndCollect=function(te){var ae,ne=this._needCollect;if(!isString$1(te)&&!ne)return te;if(ne&&!this._deduplication)return ae=this.categories.length,this.categories[ae]=te,ae;var ie=this._getOrCreateMap();return ae=ie.get(te),ae==null&&(ne?(ae=this.categories.length,this.categories[ae]=te,ie.set(te,ae)):ae=NaN),ae},ee.prototype._getOrCreateMap=function(){return this._map||(this._map=createHashMap(this.categories))},ee}();function getName(ee){return isObject$4(ee)&&ee.value!=null?ee.value:ee+""}const OrdinalMeta$1=OrdinalMeta;function isIntervalOrLogScale(ee){return ee.type==="interval"||ee.type==="log"}function intervalScaleNiceTicks(ee,te,ae,ne){var ie={},oe=ee[1]-ee[0],se=ie.interval=nice(oe/te,!0);ae!=null&&se<ae&&(se=ie.interval=ae),ne!=null&&se>ne&&(se=ie.interval=ne);var le=ie.intervalPrecision=getIntervalPrecision(se),ue=ie.niceTickExtent=[round$3(Math.ceil(ee[0]/se)*se,le),round$3(Math.floor(ee[1]/se)*se,le)];return fixExtent(ue,ee),ie}function increaseInterval(ee){var te=Math.pow(10,quantityExponent(ee)),ae=ee/te;return ae?ae===2?ae=3:ae===3?ae=5:ae*=2:ae=1,round$3(ae*te)}function getIntervalPrecision(ee){return getPrecision(ee)+2}function clamp(ee,te,ae){ee[te]=Math.max(Math.min(ee[te],ae[1]),ae[0])}function fixExtent(ee,te){!isFinite(ee[0])&&(ee[0]=te[0]),!isFinite(ee[1])&&(ee[1]=te[1]),clamp(ee,0,te),clamp(ee,1,te),ee[0]>ee[1]&&(ee[0]=ee[1])}function contain$1(ee,te){return ee>=te[0]&&ee<=te[1]}function normalize$2(ee,te){return te[1]===te[0]?.5:(ee-te[0])/(te[1]-te[0])}function scale(ee,te){return ee*(te[1]-te[0])+te[0]}var OrdinalScale=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;ne.type="ordinal";var ie=ne.getSetting("ordinalMeta");return ie||(ie=new OrdinalMeta$1({})),isArray$2(ie)&&(ie=new OrdinalMeta$1({categories:map$1(ie,function(oe){return isObject$4(oe)?oe.value:oe})})),ne._ordinalMeta=ie,ne._extent=ne.getSetting("extent")||[0,ie.categories.length-1],ne}return te.prototype.parse=function(ae){return ae==null?NaN:isString$1(ae)?this._ordinalMeta.getOrdinal(ae):Math.round(ae)},te.prototype.contain=function(ae){return ae=this.parse(ae),contain$1(ae,this._extent)&&this._ordinalMeta.categories[ae]!=null},te.prototype.normalize=function(ae){return ae=this._getTickNumber(this.parse(ae)),normalize$2(ae,this._extent)},te.prototype.scale=function(ae){return ae=Math.round(scale(ae,this._extent)),this.getRawOrdinalNumber(ae)},te.prototype.getTicks=function(){for(var ae=[],ne=this._extent,ie=ne[0];ie<=ne[1];)ae.push({value:ie}),ie++;return ae},te.prototype.getMinorTicks=function(ae){},te.prototype.setSortInfo=function(ae){if(ae==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var ne=ae.ordinalNumbers,ie=this._ordinalNumbersByTick=[],oe=this._ticksByOrdinalNumber=[],se=0,le=this._ordinalMeta.categories.length,ue=Math.min(le,ne.length);se<ue;++se){var ce=ne[se];ie[se]=ce,oe[ce]=se}for(var de=0;se<le;++se){for(;oe[de]!=null;)de++;ie.push(de),oe[de]=se}},te.prototype._getTickNumber=function(ae){var ne=this._ticksByOrdinalNumber;return ne&&ae>=0&&ae<ne.length?ne[ae]:ae},te.prototype.getRawOrdinalNumber=function(ae){var ne=this._ordinalNumbersByTick;return ne&&ae>=0&&ae<ne.length?ne[ae]:ae},te.prototype.getLabel=function(ae){if(!this.isBlank()){var ne=this.getRawOrdinalNumber(ae.value),ie=this._ordinalMeta.categories[ne];return ie==null?"":ie+""}},te.prototype.count=function(){return this._extent[1]-this._extent[0]+1},te.prototype.unionExtentFromData=function(ae,ne){this.unionExtent(ae.getApproximateExtent(ne))},te.prototype.isInExtentRange=function(ae){return ae=this._getTickNumber(ae),this._extent[0]<=ae&&this._extent[1]>=ae},te.prototype.getOrdinalMeta=function(){return this._ordinalMeta},te.prototype.calcNiceTicks=function(){},te.prototype.calcNiceExtent=function(){},te.type="ordinal",te}(Scale$1);Scale$1.registerClass(OrdinalScale);const OrdinalScale$1=OrdinalScale;var roundNumber=round$3,IntervalScale=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="interval",ae._interval=0,ae._intervalPrecision=2,ae}return te.prototype.parse=function(ae){return ae},te.prototype.contain=function(ae){return contain$1(ae,this._extent)},te.prototype.normalize=function(ae){return normalize$2(ae,this._extent)},te.prototype.scale=function(ae){return scale(ae,this._extent)},te.prototype.setExtent=function(ae,ne){var ie=this._extent;isNaN(ae)||(ie[0]=parseFloat(ae)),isNaN(ne)||(ie[1]=parseFloat(ne))},te.prototype.unionExtent=function(ae){var ne=this._extent;ae[0]<ne[0]&&(ne[0]=ae[0]),ae[1]>ne[1]&&(ne[1]=ae[1]),this.setExtent(ne[0],ne[1])},te.prototype.getInterval=function(){return this._interval},te.prototype.setInterval=function(ae){this._interval=ae,this._niceExtent=this._extent.slice(),this._intervalPrecision=getIntervalPrecision(ae)},te.prototype.getTicks=function(ae){var ne=this._interval,ie=this._extent,oe=this._niceExtent,se=this._intervalPrecision,le=[];if(!ne)return le;var ue=1e4;ie[0]<oe[0]&&(ae?le.push({value:roundNumber(oe[0]-ne,se)}):le.push({value:ie[0]}));for(var ce=oe[0];ce<=oe[1]&&(le.push({value:ce}),ce=roundNumber(ce+ne,se),ce!==le[le.length-1].value);)if(le.length>ue)return[];var de=le.length?le[le.length-1].value:oe[1];return ie[1]>de&&(ae?le.push({value:roundNumber(de+ne,se)}):le.push({value:ie[1]})),le},te.prototype.getMinorTicks=function(ae){for(var ne=this.getTicks(!0),ie=[],oe=this.getExtent(),se=1;se<ne.length;se++){for(var le=ne[se],ue=ne[se-1],ce=0,de=[],he=le.value-ue.value,fe=he/ae;ce<ae-1;){var pe=roundNumber(ue.value+(ce+1)*fe);pe>oe[0]&&pe<oe[1]&&de.push(pe),ce++}ie.push(de)}return ie},te.prototype.getLabel=function(ae,ne){if(ae==null)return"";var ie=ne&&ne.precision;ie==null?ie=getPrecision(ae.value)||0:ie==="auto"&&(ie=this._intervalPrecision);var oe=roundNumber(ae.value,ie,!0);return addCommas(oe)},te.prototype.calcNiceTicks=function(ae,ne,ie){ae=ae||5;var oe=this._extent,se=oe[1]-oe[0];if(isFinite(se)){se<0&&(se=-se,oe.reverse());var le=intervalScaleNiceTicks(oe,ae,ne,ie);this._intervalPrecision=le.intervalPrecision,this._interval=le.interval,this._niceExtent=le.niceTickExtent}},te.prototype.calcNiceExtent=function(ae){var ne=this._extent;if(ne[0]===ne[1])if(ne[0]!==0){var ie=Math.abs(ne[0]);ae.fixMax||(ne[1]+=ie/2),ne[0]-=ie/2}else ne[1]=1;var oe=ne[1]-ne[0];isFinite(oe)||(ne[0]=0,ne[1]=1),this.calcNiceTicks(ae.splitNumber,ae.minInterval,ae.maxInterval);var se=this._interval;ae.fixMin||(ne[0]=roundNumber(Math.floor(ne[0]/se)*se)),ae.fixMax||(ne[1]=roundNumber(Math.ceil(ne[1]/se)*se))},te.prototype.setNiceExtent=function(ae,ne){this._niceExtent=[ae,ne]},te.type="interval",te}(Scale$1);Scale$1.registerClass(IntervalScale);const IntervalScale$1=IntervalScale;var supportFloat32Array=typeof Float32Array<"u",Float32ArrayCtor=supportFloat32Array?Float32Array:Array;function createFloat32Array(ee){return isArray$2(ee)?supportFloat32Array?new Float32Array(ee):ee:new Float32ArrayCtor(ee)}var STACK_PREFIX="__ec_stack_";function getSeriesStackId$1(ee){return ee.get("stack")||STACK_PREFIX+ee.seriesIndex}function getAxisKey$1(ee){return ee.dim+ee.index}function getLayoutOnAxis(ee){var te=[],ae=ee.axis,ne="axis0";if(ae.type==="category"){for(var ie=ae.getBandWidth(),oe=0;oe<ee.count;oe++)te.push(defaults$2({bandWidth:ie,axisKey:ne,stackId:STACK_PREFIX+oe},ee));for(var se=doCalBarWidthAndOffset(te),le=[],oe=0;oe<ee.count;oe++){var ue=se[ne][STACK_PREFIX+oe];ue.offsetCenter=ue.offset+ue.width/2,le.push(ue)}return le}}function prepareLayoutBarSeries(ee,te){var ae=[];return te.eachSeriesByType(ee,function(ne){isOnCartesian(ne)&&ae.push(ne)}),ae}function getValueAxesMinGaps(ee){var te={};each$f(ee,function(ue){var ce=ue.coordinateSystem,de=ce.getBaseAxis();if(!(de.type!=="time"&&de.type!=="value"))for(var he=ue.getData(),fe=de.dim+"_"+de.index,pe=he.getDimensionIndex(he.mapDimension(de.dim)),ve=he.getStore(),ge=0,me=ve.count();ge<me;++ge){var ye=ve.get(pe,ge);te[fe]?te[fe].push(ye):te[fe]=[ye]}});var ae={};for(var ne in te)if(te.hasOwnProperty(ne)){var ie=te[ne];if(ie){ie.sort(function(ue,ce){return ue-ce});for(var oe=null,se=1;se<ie.length;++se){var le=ie[se]-ie[se-1];le>0&&(oe=oe===null?le:Math.min(oe,le))}ae[ne]=oe}}return ae}function makeColumnLayout(ee){var te=getValueAxesMinGaps(ee),ae=[];return each$f(ee,function(ne){var ie=ne.coordinateSystem,oe=ie.getBaseAxis(),se=oe.getExtent(),le;if(oe.type==="category")le=oe.getBandWidth();else if(oe.type==="value"||oe.type==="time"){var ue=oe.dim+"_"+oe.index,ce=te[ue],de=Math.abs(se[1]-se[0]),he=oe.scale.getExtent(),fe=Math.abs(he[1]-he[0]);le=ce?de/fe*ce:de}else{var pe=ne.getData();le=Math.abs(se[1]-se[0])/pe.count()}var ve=parsePercent(ne.get("barWidth"),le),ge=parsePercent(ne.get("barMaxWidth"),le),me=parsePercent(ne.get("barMinWidth")||(isInLargeMode(ne)?.5:1),le),ye=ne.get("barGap"),_e=ne.get("barCategoryGap");ae.push({bandWidth:le,barWidth:ve,barMaxWidth:ge,barMinWidth:me,barGap:ye,barCategoryGap:_e,axisKey:getAxisKey$1(oe),stackId:getSeriesStackId$1(ne)})}),doCalBarWidthAndOffset(ae)}function doCalBarWidthAndOffset(ee){var te={};each$f(ee,function(ne,ie){var oe=ne.axisKey,se=ne.bandWidth,le=te[oe]||{bandWidth:se,remainedWidth:se,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},ue=le.stacks;te[oe]=le;var ce=ne.stackId;ue[ce]||le.autoWidthCount++,ue[ce]=ue[ce]||{width:0,maxWidth:0};var de=ne.barWidth;de&&!ue[ce].width&&(ue[ce].width=de,de=Math.min(le.remainedWidth,de),le.remainedWidth-=de);var he=ne.barMaxWidth;he&&(ue[ce].maxWidth=he);var fe=ne.barMinWidth;fe&&(ue[ce].minWidth=fe);var pe=ne.barGap;pe!=null&&(le.gap=pe);var ve=ne.barCategoryGap;ve!=null&&(le.categoryGap=ve)});var ae={};return each$f(te,function(ne,ie){ae[ie]={};var oe=ne.stacks,se=ne.bandWidth,le=ne.categoryGap;if(le==null){var ue=keys(oe).length;le=Math.max(35-ue*4,15)+"%"}var ce=parsePercent(le,se),de=parsePercent(ne.gap,1),he=ne.remainedWidth,fe=ne.autoWidthCount,pe=(he-ce)/(fe+(fe-1)*de);pe=Math.max(pe,0),each$f(oe,function(ye){var _e=ye.maxWidth,be=ye.minWidth;if(ye.width){var xe=ye.width;_e&&(xe=Math.min(xe,_e)),be&&(xe=Math.max(xe,be)),ye.width=xe,he-=xe+de*xe,fe--}else{var xe=pe;_e&&_e<xe&&(xe=Math.min(_e,he)),be&&be>xe&&(xe=be),xe!==pe&&(ye.width=xe,he-=xe+de*xe,fe--)}}),pe=(he-ce)/(fe+(fe-1)*de),pe=Math.max(pe,0);var ve=0,ge;each$f(oe,function(ye,_e){ye.width||(ye.width=pe),ge=ye,ve+=ye.width*(1+de)}),ge&&(ve-=ge.width*de);var me=-ve/2;each$f(oe,function(ye,_e){ae[ie][_e]=ae[ie][_e]||{bandWidth:se,offset:me,width:ye.width},me+=ye.width*(1+de)})}),ae}function retrieveColumnLayout(ee,te,ae){if(ee&&te){var ne=ee[getAxisKey$1(te)];return ne!=null&&ae!=null?ne[getSeriesStackId$1(ae)]:ne}}function layout$3(ee,te){var ae=prepareLayoutBarSeries(ee,te),ne=makeColumnLayout(ae);each$f(ae,function(ie){var oe=ie.getData(),se=ie.coordinateSystem,le=se.getBaseAxis(),ue=getSeriesStackId$1(ie),ce=ne[getAxisKey$1(le)][ue],de=ce.offset,he=ce.width;oe.setLayout({bandWidth:ce.bandWidth,offset:de,size:he})})}function createProgressiveLayout(ee){return{seriesType:ee,plan:createRenderPlanner(),reset:function(te){if(isOnCartesian(te)){var ae=te.getData(),ne=te.coordinateSystem,ie=ne.getBaseAxis(),oe=ne.getOtherAxis(ie),se=ae.getDimensionIndex(ae.mapDimension(oe.dim)),le=ae.getDimensionIndex(ae.mapDimension(ie.dim)),ue=te.get("showBackground",!0),ce=ae.mapDimension(oe.dim),de=ae.getCalculationInfo("stackResultDimension"),he=isDimensionStacked(ae,ce)&&!!ae.getCalculationInfo("stackedOnSeries"),fe=oe.isHorizontal(),pe=getValueAxisStart(ie,oe),ve=isInLargeMode(te),ge=te.get("barMinHeight")||0,me=de&&ae.getDimensionIndex(de),ye=ae.getLayout("size"),_e=ae.getLayout("offset");return{progress:function(be,xe){for(var $e=be.count,Se=ve&&createFloat32Array($e*3),we=ve&&ue&&createFloat32Array($e*3),Ae=ve&&createFloat32Array($e),Te=ne.master.getRect(),De=fe?Te.width:Te.height,Me,Ie=xe.getStore(),Ce=0;(Me=be.next())!=null;){var Ee=Ie.get(he?me:se,Me),Re=Ie.get(le,Me),ke=pe,Be=void 0;he&&(Be=+Ee-Ie.get(se,Me));var Ne=void 0,He=void 0,qe=void 0,Oe=void 0;if(fe){var ze=ne.dataToPoint([Ee,Re]);if(he){var Ve=ne.dataToPoint([Be,Re]);ke=Ve[0]}Ne=ke,He=ze[1]+_e,qe=ze[0]-ke,Oe=ye,Math.abs(qe)<ge&&(qe=(qe<0?-1:1)*ge)}else{var ze=ne.dataToPoint([Re,Ee]);if(he){var Ve=ne.dataToPoint([Re,Be]);ke=Ve[1]}Ne=ze[0]+_e,He=ke,qe=ye,Oe=ze[1]-ke,Math.abs(Oe)<ge&&(Oe=(Oe<=0?-1:1)*ge)}ve?(Se[Ce]=Ne,Se[Ce+1]=He,Se[Ce+2]=fe?qe:Oe,we&&(we[Ce]=fe?Te.x:Ne,we[Ce+1]=fe?He:Te.y,we[Ce+2]=De),Ae[Me]=Me):xe.setItemLayout(Me,{x:Ne,y:He,width:qe,height:Oe}),Ce+=3}ve&&xe.setLayout({largePoints:Se,largeDataIndices:Ae,largeBackgroundPoints:we,valueAxisHorizontal:fe})}}}}}}function isOnCartesian(ee){return ee.coordinateSystem&&ee.coordinateSystem.type==="cartesian2d"}function isInLargeMode(ee){return ee.pipelineContext&&ee.pipelineContext.large}function getValueAxisStart(ee,te){return te.toGlobalCoord(te.dataToCoord(te.type==="log"?1:0))}var bisect=function(ee,te,ae,ne){for(;ae<ne;){var ie=ae+ne>>>1;ee[ie][1]<te?ae=ie+1:ne=ie}return ae},TimeScale=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="time",ne}return te.prototype.getLabel=function(ae){var ne=this.getSetting("useUTC");return format$1(ae.value,fullLeveledFormatter[getDefaultFormatPrecisionOfInterval(getPrimaryTimeUnit(this._minLevelUnit))]||fullLeveledFormatter.second,ne,this.getSetting("locale"))},te.prototype.getFormattedLabel=function(ae,ne,ie){var oe=this.getSetting("useUTC"),se=this.getSetting("locale");return leveledFormat(ae,ne,ie,se,oe)},te.prototype.getTicks=function(){var ae=this._interval,ne=this._extent,ie=[];if(!ae)return ie;ie.push({value:ne[0],level:0});var oe=this.getSetting("useUTC"),se=getIntervalTicks(this._minLevelUnit,this._approxInterval,oe,ne);return ie=ie.concat(se),ie.push({value:ne[1],level:0}),ie},te.prototype.calcNiceExtent=function(ae){var ne=this._extent;if(ne[0]===ne[1]&&(ne[0]-=ONE_DAY,ne[1]+=ONE_DAY),ne[1]===-1/0&&ne[0]===1/0){var ie=new Date;ne[1]=+new Date(ie.getFullYear(),ie.getMonth(),ie.getDate()),ne[0]=ne[1]-ONE_DAY}this.calcNiceTicks(ae.splitNumber,ae.minInterval,ae.maxInterval)},te.prototype.calcNiceTicks=function(ae,ne,ie){ae=ae||10;var oe=this._extent,se=oe[1]-oe[0];this._approxInterval=se/ae,ne!=null&&this._approxInterval<ne&&(this._approxInterval=ne),ie!=null&&this._approxInterval>ie&&(this._approxInterval=ie);var le=scaleIntervals.length,ue=Math.min(bisect(scaleIntervals,this._approxInterval,0,le),le-1);this._interval=scaleIntervals[ue][1],this._minLevelUnit=scaleIntervals[Math.max(ue-1,0)][0]},te.prototype.parse=function(ae){return isNumber$1(ae)?ae:+parseDate(ae)},te.prototype.contain=function(ae){return contain$1(this.parse(ae),this._extent)},te.prototype.normalize=function(ae){return normalize$2(this.parse(ae),this._extent)},te.prototype.scale=function(ae){return scale(ae,this._extent)},te.type="time",te}(IntervalScale$1),scaleIntervals=[["second",ONE_SECOND],["minute",ONE_MINUTE],["hour",ONE_HOUR],["quarter-day",ONE_HOUR*6],["half-day",ONE_HOUR*12],["day",ONE_DAY*1.2],["half-week",ONE_DAY*3.5],["week",ONE_DAY*7],["month",ONE_DAY*31],["quarter",ONE_DAY*95],["half-year",ONE_YEAR/2],["year",ONE_YEAR]];function isUnitValueSame(ee,te,ae,ne){var ie=parseDate(te),oe=parseDate(ae),se=function(ve){return getUnitValue(ie,ve,ne)===getUnitValue(oe,ve,ne)},le=function(){return se("year")},ue=function(){return le()&&se("month")},ce=function(){return ue()&&se("day")},de=function(){return ce()&&se("hour")},he=function(){return de()&&se("minute")},fe=function(){return he()&&se("second")},pe=function(){return fe()&&se("millisecond")};switch(ee){case"year":return le();case"month":return ue();case"day":return ce();case"hour":return de();case"minute":return he();case"second":return fe();case"millisecond":return pe()}}function getDateInterval(ee,te){return ee/=ONE_DAY,ee>16?16:ee>7.5?7:ee>3.5?4:ee>1.5?2:1}function getMonthInterval(ee){var te=30*ONE_DAY;return ee/=te,ee>6?6:ee>3?3:ee>2?2:1}function getHourInterval(ee){return ee/=ONE_HOUR,ee>12?12:ee>6?6:ee>3.5?4:ee>2?2:1}function getMinutesAndSecondsInterval(ee,te){return ee/=te?ONE_MINUTE:ONE_SECOND,ee>30?30:ee>20?20:ee>15?15:ee>10?10:ee>5?5:ee>2?2:1}function getMillisecondsInterval(ee){return nice(ee,!0)}function getFirstTimestampOfUnit(ee,te,ae){var ne=new Date(ee);switch(getPrimaryTimeUnit(te)){case"year":case"month":ne[monthSetterName(ae)](0);case"day":ne[dateSetterName(ae)](1);case"hour":ne[hoursSetterName(ae)](0);case"minute":ne[minutesSetterName(ae)](0);case"second":ne[secondsSetterName(ae)](0),ne[millisecondsSetterName(ae)](0)}return ne.getTime()}function getIntervalTicks(ee,te,ae,ne){var ie=1e4,oe=timeUnits,se=0;function le(De,Me,Ie,Ce,Ee,Re,ke){for(var Be=new Date(Me),Ne=Me,He=Be[Ce]();Ne<Ie&&Ne<=ne[1];)ke.push({value:Ne}),He+=De,Be[Ee](He),Ne=Be.getTime();ke.push({value:Ne,notAdd:!0})}function ue(De,Me,Ie){var Ce=[],Ee=!Me.length;if(!isUnitValueSame(getPrimaryTimeUnit(De),ne[0],ne[1],ae)){Ee&&(Me=[{value:getFirstTimestampOfUnit(new Date(ne[0]),De,ae)},{value:ne[1]}]);for(var Re=0;Re<Me.length-1;Re++){var ke=Me[Re].value,Be=Me[Re+1].value;if(ke!==Be){var Ne=void 0,He=void 0,qe=void 0,Oe=!1;switch(De){case"year":Ne=Math.max(1,Math.round(te/ONE_DAY/365)),He=fullYearGetterName(ae),qe=fullYearSetterName(ae);break;case"half-year":case"quarter":case"month":Ne=getMonthInterval(te),He=monthGetterName(ae),qe=monthSetterName(ae);break;case"week":case"half-week":case"day":Ne=getDateInterval(te),He=dateGetterName(ae),qe=dateSetterName(ae),Oe=!0;break;case"half-day":case"quarter-day":case"hour":Ne=getHourInterval(te),He=hoursGetterName(ae),qe=hoursSetterName(ae);break;case"minute":Ne=getMinutesAndSecondsInterval(te,!0),He=minutesGetterName(ae),qe=minutesSetterName(ae);break;case"second":Ne=getMinutesAndSecondsInterval(te,!1),He=secondsGetterName(ae),qe=secondsSetterName(ae);break;case"millisecond":Ne=getMillisecondsInterval(te),He=millisecondsGetterName(ae),qe=millisecondsSetterName(ae);break}le(Ne,ke,Be,He,qe,Oe,Ce),De==="year"&&Ie.length>1&&Re===0&&Ie.unshift({value:Ie[0].value-Ne})}}for(var Re=0;Re<Ce.length;Re++)Ie.push(Ce[Re]);return Ce}}for(var ce=[],de=[],he=0,fe=0,pe=0;pe<oe.length&&se++<ie;++pe){var ve=getPrimaryTimeUnit(oe[pe]);if(isPrimaryTimeUnit(oe[pe])){ue(oe[pe],ce[ce.length-1]||[],de);var ge=oe[pe+1]?getPrimaryTimeUnit(oe[pe+1]):null;if(ve!==ge){if(de.length){fe=he,de.sort(function(De,Me){return De.value-Me.value});for(var me=[],ye=0;ye<de.length;++ye){var _e=de[ye].value;(ye===0||de[ye-1].value!==_e)&&(me.push(de[ye]),_e>=ne[0]&&_e<=ne[1]&&he++)}var be=(ne[1]-ne[0])/te;if(he>be*1.5&&fe>be/1.5||(ce.push(me),he>be||ee===oe[pe]))break}de=[]}}}for(var xe=filter(map$1(ce,function(De){return filter(De,function(Me){return Me.value>=ne[0]&&Me.value<=ne[1]&&!Me.notAdd})}),function(De){return De.length>0}),$e=[],Se=xe.length-1,pe=0;pe<xe.length;++pe)for(var we=xe[pe],Ae=0;Ae<we.length;++Ae)$e.push({value:we[Ae].value,level:Se-pe});$e.sort(function(De,Me){return De.value-Me.value});for(var Te=[],pe=0;pe<$e.length;++pe)(pe===0||$e[pe].value!==$e[pe-1].value)&&Te.push($e[pe]);return Te}Scale$1.registerClass(TimeScale);const TimeScale$1=TimeScale;var scaleProto=Scale$1.prototype,intervalScaleProto=IntervalScale$1.prototype,roundingErrorFix=round$3,mathFloor$1=Math.floor,mathCeil$1=Math.ceil,mathPow$1=Math.pow,mathLog$1=Math.log,LogScale=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="log",ae.base=10,ae._originalScale=new IntervalScale$1,ae._interval=0,ae}return te.prototype.getTicks=function(ae){var ne=this._originalScale,ie=this._extent,oe=ne.getExtent(),se=intervalScaleProto.getTicks.call(this,ae);return map$1(se,function(le){var ue=le.value,ce=round$3(mathPow$1(this.base,ue));return ce=ue===ie[0]&&this._fixMin?fixRoundingError(ce,oe[0]):ce,ce=ue===ie[1]&&this._fixMax?fixRoundingError(ce,oe[1]):ce,{value:ce}},this)},te.prototype.setExtent=function(ae,ne){var ie=mathLog$1(this.base);ae=mathLog$1(Math.max(0,ae))/ie,ne=mathLog$1(Math.max(0,ne))/ie,intervalScaleProto.setExtent.call(this,ae,ne)},te.prototype.getExtent=function(){var ae=this.base,ne=scaleProto.getExtent.call(this);ne[0]=mathPow$1(ae,ne[0]),ne[1]=mathPow$1(ae,ne[1]);var ie=this._originalScale,oe=ie.getExtent();return this._fixMin&&(ne[0]=fixRoundingError(ne[0],oe[0])),this._fixMax&&(ne[1]=fixRoundingError(ne[1],oe[1])),ne},te.prototype.unionExtent=function(ae){this._originalScale.unionExtent(ae);var ne=this.base;ae[0]=mathLog$1(ae[0])/mathLog$1(ne),ae[1]=mathLog$1(ae[1])/mathLog$1(ne),scaleProto.unionExtent.call(this,ae)},te.prototype.unionExtentFromData=function(ae,ne){this.unionExtent(ae.getApproximateExtent(ne))},te.prototype.calcNiceTicks=function(ae){ae=ae||10;var ne=this._extent,ie=ne[1]-ne[0];if(!(ie===1/0||ie<=0)){var oe=quantity(ie),se=ae/ie*oe;for(se<=.5&&(oe*=10);!isNaN(oe)&&Math.abs(oe)<1&&Math.abs(oe)>0;)oe*=10;var le=[round$3(mathCeil$1(ne[0]/oe)*oe),round$3(mathFloor$1(ne[1]/oe)*oe)];this._interval=oe,this._niceExtent=le}},te.prototype.calcNiceExtent=function(ae){intervalScaleProto.calcNiceExtent.call(this,ae),this._fixMin=ae.fixMin,this._fixMax=ae.fixMax},te.prototype.parse=function(ae){return ae},te.prototype.contain=function(ae){return ae=mathLog$1(ae)/mathLog$1(this.base),contain$1(ae,this._extent)},te.prototype.normalize=function(ae){return ae=mathLog$1(ae)/mathLog$1(this.base),normalize$2(ae,this._extent)},te.prototype.scale=function(ae){return ae=scale(ae,this._extent),mathPow$1(this.base,ae)},te.type="log",te}(Scale$1),proto=LogScale.prototype;proto.getMinorTicks=intervalScaleProto.getMinorTicks;proto.getLabel=intervalScaleProto.getLabel;function fixRoundingError(ee,te){return roundingErrorFix(ee,getPrecision(te))}Scale$1.registerClass(LogScale);const LogScale$1=LogScale;var ScaleRawExtentInfo=function(){function ee(te,ae,ne){this._prepareParams(te,ae,ne)}return ee.prototype._prepareParams=function(te,ae,ne){ne[1]<ne[0]&&(ne=[NaN,NaN]),this._dataMin=ne[0],this._dataMax=ne[1];var ie=this._isOrdinal=te.type==="ordinal";this._needCrossZero=te.type==="interval"&&ae.getNeedCrossZero&&ae.getNeedCrossZero();var oe=this._modelMinRaw=ae.get("min",!0);isFunction$1(oe)?this._modelMinNum=parseAxisModelMinMax(te,oe({min:ne[0],max:ne[1]})):oe!=="dataMin"&&(this._modelMinNum=parseAxisModelMinMax(te,oe));var se=this._modelMaxRaw=ae.get("max",!0);if(isFunction$1(se)?this._modelMaxNum=parseAxisModelMinMax(te,se({min:ne[0],max:ne[1]})):se!=="dataMax"&&(this._modelMaxNum=parseAxisModelMinMax(te,se)),ie)this._axisDataLen=ae.getCategories().length;else{var le=ae.get("boundaryGap"),ue=isArray$2(le)?le:[le||0,le||0];typeof ue[0]=="boolean"||typeof ue[1]=="boolean"?this._boundaryGapInner=[0,0]:this._boundaryGapInner=[parsePercent$1(ue[0],1),parsePercent$1(ue[1],1)]}},ee.prototype.calculate=function(){var te=this._isOrdinal,ae=this._dataMin,ne=this._dataMax,ie=this._axisDataLen,oe=this._boundaryGapInner,se=te?null:ne-ae||Math.abs(ae),le=this._modelMinRaw==="dataMin"?ae:this._modelMinNum,ue=this._modelMaxRaw==="dataMax"?ne:this._modelMaxNum,ce=le!=null,de=ue!=null;le==null&&(le=te?ie?0:NaN:ae-oe[0]*se),ue==null&&(ue=te?ie?ie-1:NaN:ne+oe[1]*se),(le==null||!isFinite(le))&&(le=NaN),(ue==null||!isFinite(ue))&&(ue=NaN);var he=eqNaN(le)||eqNaN(ue)||te&&!ie;this._needCrossZero&&(le>0&&ue>0&&!ce&&(le=0),le<0&&ue<0&&!de&&(ue=0));var fe=this._determinedMin,pe=this._determinedMax;return fe!=null&&(le=fe,ce=!0),pe!=null&&(ue=pe,de=!0),{min:le,max:ue,minFixed:ce,maxFixed:de,isBlank:he}},ee.prototype.modifyDataMinMax=function(te,ae){this[DATA_MIN_MAX_ATTR[te]]=ae},ee.prototype.setDeterminedMinMax=function(te,ae){var ne=DETERMINED_MIN_MAX_ATTR[te];this[ne]=ae},ee.prototype.freeze=function(){this.frozen=!0},ee}(),DETERMINED_MIN_MAX_ATTR={min:"_determinedMin",max:"_determinedMax"},DATA_MIN_MAX_ATTR={min:"_dataMin",max:"_dataMax"};function ensureScaleRawExtentInfo(ee,te,ae){var ne=ee.rawExtentInfo;return ne||(ne=new ScaleRawExtentInfo(ee,te,ae),ee.rawExtentInfo=ne,ne)}function parseAxisModelMinMax(ee,te){return te==null?null:eqNaN(te)?NaN:ee.parse(te)}function getScaleExtent(ee,te){var ae=ee.type,ne=ensureScaleRawExtentInfo(ee,te,ee.getExtent()).calculate();ee.setBlank(ne.isBlank);var ie=ne.min,oe=ne.max,se=te.ecModel;if(se&&ae==="time"){var le=prepareLayoutBarSeries("bar",se),ue=!1;if(each$f(le,function(he){ue=ue||he.getBaseAxis()===te.axis}),ue){var ce=makeColumnLayout(le),de=adjustScaleForOverflow(ie,oe,te,ce);ie=de.min,oe=de.max}}return{extent:[ie,oe],fixMin:ne.minFixed,fixMax:ne.maxFixed}}function adjustScaleForOverflow(ee,te,ae,ne){var ie=ae.axis.getExtent(),oe=ie[1]-ie[0],se=retrieveColumnLayout(ne,ae.axis);if(se===void 0)return{min:ee,max:te};var le=1/0;each$f(se,function(pe){le=Math.min(pe.offset,le)});var ue=-1/0;each$f(se,function(pe){ue=Math.max(pe.offset+pe.width,ue)}),le=Math.abs(le),ue=Math.abs(ue);var ce=le+ue,de=te-ee,he=1-(le+ue)/oe,fe=de/he-de;return te+=fe*(ue/ce),ee-=fe*(le/ce),{min:ee,max:te}}function niceScaleExtent(ee,te){var ae=te,ne=getScaleExtent(ee,ae),ie=ne.extent,oe=ae.get("splitNumber");ee instanceof LogScale$1&&(ee.base=ae.get("logBase"));var se=ee.type,le=ae.get("interval"),ue=se==="interval"||se==="time";ee.setExtent(ie[0],ie[1]),ee.calcNiceExtent({splitNumber:oe,fixMin:ne.fixMin,fixMax:ne.fixMax,minInterval:ue?ae.get("minInterval"):null,maxInterval:ue?ae.get("maxInterval"):null}),le!=null&&ee.setInterval&&ee.setInterval(le)}function createScaleByModel$1(ee,te){if(te=te||ee.get("type"),te)switch(te){case"category":return new OrdinalScale$1({ordinalMeta:ee.getOrdinalMeta?ee.getOrdinalMeta():ee.getCategories(),extent:[1/0,-1/0]});case"time":return new TimeScale$1({locale:ee.ecModel.getLocaleModel(),useUTC:ee.ecModel.get("useUTC")});default:return new(Scale$1.getClass(te)||IntervalScale$1)}}function ifAxisCrossZero(ee){var te=ee.scale.getExtent(),ae=te[0],ne=te[1];return!(ae>0&&ne>0||ae<0&&ne<0)}function makeLabelFormatter(ee){var te=ee.getLabelModel().get("formatter"),ae=ee.type==="category"?ee.scale.getExtent()[0]:null;return ee.scale.type==="time"?function(ne){return function(ie,oe){return ee.scale.getFormattedLabel(ie,oe,ne)}}(te):isString$1(te)?function(ne){return function(ie){var oe=ee.scale.getLabel(ie),se=ne.replace("{value}",oe??"");return se}}(te):isFunction$1(te)?function(ne){return function(ie,oe){return ae!=null&&(oe=ie.value-ae),ne(getAxisRawValue(ee,ie),oe,ie.level!=null?{level:ie.level}:null)}}(te):function(ne){return ee.scale.getLabel(ne)}}function getAxisRawValue(ee,te){return ee.type==="category"?ee.scale.getLabel(te):te.value}function estimateLabelUnionRect(ee){var te=ee.model,ae=ee.scale;if(!(!te.get(["axisLabel","show"])||ae.isBlank())){var ne,ie,oe=ae.getExtent();ae instanceof OrdinalScale$1?ie=ae.count():(ne=ae.getTicks(),ie=ne.length);var se=ee.getLabelModel(),le=makeLabelFormatter(ee),ue,ce=1;ie>40&&(ce=Math.ceil(ie/40));for(var de=0;de<ie;de+=ce){var he=ne?ne[de]:{value:oe[0]+de},fe=le(he,de),pe=se.getTextRect(fe),ve=rotateTextRect(pe,se.get("rotate")||0);ue?ue.union(ve):ue=ve}return ue}}function rotateTextRect(ee,te){var ae=te*Math.PI/180,ne=ee.width,ie=ee.height,oe=ne*Math.abs(Math.cos(ae))+Math.abs(ie*Math.sin(ae)),se=ne*Math.abs(Math.sin(ae))+Math.abs(ie*Math.cos(ae)),le=new BoundingRect$1(ee.x,ee.y,oe,se);return le}function getOptionCategoryInterval(ee){var te=ee.get("interval");return te??"auto"}function shouldShowAllLabels(ee){return ee.type==="category"&&getOptionCategoryInterval(ee.getLabelModel())===0}function getDataDimensionsOnAxis(ee,te){var ae={};return each$f(ee.mapDimensionsAll(te),function(ne){ae[getStackedDimension(ee,ne)]=!0}),keys(ae)}function unionAxisExtentFromData(ee,te,ae){te&&each$f(getDataDimensionsOnAxis(te,ae),function(ne){var ie=te.getApproximateExtent(ne);ie[0]<ee[0]&&(ee[0]=ie[0]),ie[1]>ee[1]&&(ee[1]=ie[1])})}var AxisModelCommonMixin=function(){function ee(){}return ee.prototype.getNeedCrossZero=function(){var te=this.option;return!te.scale},ee.prototype.getCoordSysModel=function(){},ee}();function createList$2(ee){return createSeriesData(null,ee)}var dataStack={isDimensionStacked,enableDataStack,getStackedDimension};function createScale(ee,te){var ae=te;te instanceof Model$1||(ae=new Model$1(te));var ne=createScaleByModel$1(ae);return ne.setExtent(ee[0],ee[1]),niceScaleExtent(ne,ae),ne}function mixinAxisModelCommonMethods(ee){mixin(ee,AxisModelCommonMixin)}function createTextStyle(ee,te){return te=te||{},createTextStyle$1(ee,null,null,te.state!=="normal")}const helper=Object.freeze(Object.defineProperty({__proto__:null,createDimensions,createList:createList$2,createScale,createSymbol:createSymbol$1,createTextStyle,dataStack,enableHoverEmphasis,getECData,getLayoutRect,mixinAxisModelCommonMethods},Symbol.toStringTag,{value:"Module"}));var EPSILON=1e-8;function isAroundEqual(ee,te){return Math.abs(ee-te)<EPSILON}function contain(ee,te,ae){var ne=0,ie=ee[0];if(!ie)return!1;for(var oe=1;oe<ee.length;oe++){var se=ee[oe];ne+=windingLine(ie[0],ie[1],se[0],se[1],te,ae),ie=se}var le=ee[0];return(!isAroundEqual(ie[0],le[0])||!isAroundEqual(ie[1],le[1]))&&(ne+=windingLine(ie[0],ie[1],le[0],le[1],te,ae)),ne!==0}var TMP_TRANSFORM=[];function transformPoints(ee,te){for(var ae=0;ae<ee.length;ae++)applyTransform$1(ee[ae],ee[ae],te)}function updateBBoxFromPoints(ee,te,ae,ne){for(var ie=0;ie<ee.length;ie++){var oe=ee[ie];ne&&(oe=ne.project(oe)),oe&&isFinite(oe[0])&&isFinite(oe[1])&&(min$1(te,te,oe),max$1(ae,ae,oe))}}function centroid$1(ee){for(var te=0,ae=0,ne=0,ie=ee.length,oe=ee[ie-1][0],se=ee[ie-1][1],le=0;le<ie;le++){var ue=ee[le][0],ce=ee[le][1],de=oe*ce-ue*se;te+=de,ae+=(oe+ue)*de,ne+=(se+ce)*de,oe=ue,se=ce}return te?[ae/te/3,ne/te/3,te]:[ee[0][0]||0,ee[0][1]||0]}var Region=function(){function ee(te){this.name=te}return ee.prototype.setCenter=function(te){this._center=te},ee.prototype.getCenter=function(){var te=this._center;return te||(te=this._center=this.calcCenter()),te},ee}(),GeoJSONPolygonGeometry=function(){function ee(te,ae){this.type="polygon",this.exterior=te,this.interiors=ae}return ee}(),GeoJSONLineStringGeometry=function(){function ee(te){this.type="linestring",this.points=te}return ee}(),GeoJSONRegion=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this,ae)||this;return oe.type="geoJSON",oe.geometries=ne,oe._center=ie&&[ie[0],ie[1]],oe}return te.prototype.calcCenter=function(){for(var ae=this.geometries,ne,ie=0,oe=0;oe<ae.length;oe++){var se=ae[oe],le=se.exterior,ue=le&&le.length;ue>ie&&(ne=se,ie=ue)}if(ne)return centroid$1(ne.exterior);var ce=this.getBoundingRect();return[ce.x+ce.width/2,ce.y+ce.height/2]},te.prototype.getBoundingRect=function(ae){var ne=this._rect;if(ne&&!ae)return ne;var ie=[1/0,1/0],oe=[-1/0,-1/0],se=this.geometries;return each$f(se,function(le){le.type==="polygon"?updateBBoxFromPoints(le.exterior,ie,oe,ae):each$f(le.points,function(ue){updateBBoxFromPoints(ue,ie,oe,ae)})}),isFinite(ie[0])&&isFinite(ie[1])&&isFinite(oe[0])&&isFinite(oe[1])||(ie[0]=ie[1]=oe[0]=oe[1]=0),ne=new BoundingRect$1(ie[0],ie[1],oe[0]-ie[0],oe[1]-ie[1]),ae||(this._rect=ne),ne},te.prototype.contain=function(ae){var ne=this.getBoundingRect(),ie=this.geometries;if(!ne.contain(ae[0],ae[1]))return!1;e:for(var oe=0,se=ie.length;oe<se;oe++){var le=ie[oe];if(le.type==="polygon"){var ue=le.exterior,ce=le.interiors;if(contain(ue,ae[0],ae[1])){for(var de=0;de<(ce?ce.length:0);de++)if(contain(ce[de],ae[0],ae[1]))continue e;return!0}}}return!1},te.prototype.transformTo=function(ae,ne,ie,oe){var se=this.getBoundingRect(),le=se.width/se.height;ie?oe||(oe=ie/le):ie=le*oe;for(var ue=new BoundingRect$1(ae,ne,ie,oe),ce=se.calculateTransform(ue),de=this.geometries,he=0;he<de.length;he++){var fe=de[he];fe.type==="polygon"?(transformPoints(fe.exterior,ce),each$f(fe.interiors,function(pe){transformPoints(pe,ce)})):each$f(fe.points,function(pe){transformPoints(pe,ce)})}se=this._rect,se.copy(ue),this._center=[se.x+se.width/2,se.y+se.height/2]},te.prototype.cloneShallow=function(ae){ae==null&&(ae=this.name);var ne=new te(ae,this.geometries,this._center);return ne._rect=this._rect,ne.transformTo=null,ne},te}(Region),GeoSVGRegion=function(ee){__extends(te,ee);function te(ae,ne){var ie=ee.call(this,ae)||this;return ie.type="geoSVG",ie._elOnlyForCalculate=ne,ie}return te.prototype.calcCenter=function(){for(var ae=this._elOnlyForCalculate,ne=ae.getBoundingRect(),ie=[ne.x+ne.width/2,ne.y+ne.height/2],oe=identity(TMP_TRANSFORM),se=ae;se&&!se.isGeoSVGGraphicRoot;)mul(oe,se.getLocalTransform(),oe),se=se.parent;return invert(oe,oe),applyTransform$1(ie,ie,oe),ie},te}(Region);function decode(ee){if(!ee.UTF8Encoding)return ee;var te=ee,ae=te.UTF8Scale;ae==null&&(ae=1024);var ne=te.features;return each$f(ne,function(ie){var oe=ie.geometry,se=oe.encodeOffsets,le=oe.coordinates;if(se)switch(oe.type){case"LineString":oe.coordinates=decodeRing(le,se,ae);break;case"Polygon":decodeRings(le,se,ae);break;case"MultiLineString":decodeRings(le,se,ae);break;case"MultiPolygon":each$f(le,function(ue,ce){return decodeRings(ue,se[ce],ae)})}}),te.UTF8Encoding=!1,te}function decodeRings(ee,te,ae){for(var ne=0;ne<ee.length;ne++)ee[ne]=decodeRing(ee[ne],te[ne],ae)}function decodeRing(ee,te,ae){for(var ne=[],ie=te[0],oe=te[1],se=0;se<ee.length;se+=2){var le=ee.charCodeAt(se)-64,ue=ee.charCodeAt(se+1)-64;le=le>>1^-(le&1),ue=ue>>1^-(ue&1),le+=ie,ue+=oe,ie=le,oe=ue,ne.push([le/ae,ue/ae])}return ne}function parseGeoJSON(ee,te){return ee=decode(ee),map$1(filter(ee.features,function(ae){return ae.geometry&&ae.properties&&ae.geometry.coordinates.length>0}),function(ae){var ne=ae.properties,ie=ae.geometry,oe=[];switch(ie.type){case"Polygon":var se=ie.coordinates;oe.push(new GeoJSONPolygonGeometry(se[0],se.slice(1)));break;case"MultiPolygon":each$f(ie.coordinates,function(ue){ue[0]&&oe.push(new GeoJSONPolygonGeometry(ue[0],ue.slice(1)))});break;case"LineString":oe.push(new GeoJSONLineStringGeometry([ie.coordinates]));break;case"MultiLineString":oe.push(new GeoJSONLineStringGeometry(ie.coordinates))}var le=new GeoJSONRegion(ne[te||"name"],oe,ne.cp);return le.properties=ne,le})}const number=Object.freeze(Object.defineProperty({__proto__:null,MAX_SAFE_INTEGER,asc:asc$2,getPercentWithPrecision,getPixelPrecision,getPrecision,getPrecisionSafe,isNumeric,isRadianAroundZero,linearMap:linearMap$2,nice,numericToNumber,parseDate,quantile,quantity,quantityExponent,reformIntervals,remRadian,round:round$3},Symbol.toStringTag,{value:"Module"})),time=Object.freeze(Object.defineProperty({__proto__:null,format:format$1,parse:parseDate},Symbol.toStringTag,{value:"Module"})),graphic=Object.freeze(Object.defineProperty({__proto__:null,Arc:Arc$1,BezierCurve:BezierCurve$1,BoundingRect:BoundingRect$1,Circle:Circle$1,CompoundPath:CompoundPath$1,Ellipse:Ellipse$1,Group:Group$4,Image:ZRImage$1,IncrementalDisplayable:IncrementalDisplayable$1,Line:Line$3,LinearGradient:LinearGradient$1,Polygon:Polygon$1,Polyline:Polyline$3,RadialGradient:RadialGradient$1,Rect:Rect$3,Ring:Ring$1,Sector:Sector$1,Text:ZRText$1,clipPointsByRect,clipRectByRect,createIcon,extendPath,extendShape,getShapeClass,getTransform:getTransform$1,initProps,makeImage,makePath,mergePath,registerShape,resizePath,updateProps:updateProps$1},Symbol.toStringTag,{value:"Module"})),format=Object.freeze(Object.defineProperty({__proto__:null,addCommas,capitalFirst,encodeHTML,formatTime,formatTpl,getTextRect,getTooltipMarker,normalizeCssArray,toCamelCase:toCamelCase$1,truncateText},Symbol.toStringTag,{value:"Module"})),util=Object.freeze(Object.defineProperty({__proto__:null,bind:bind$2,clone:clone$4,curry:curry$1,defaults:defaults$2,each:each$f,extend:extend$1,filter,indexOf,inherits:inherits$1,isArray:isArray$2,isFunction:isFunction$1,isObject:isObject$4,isString:isString$1,map:map$1,merge:merge$1,reduce},Symbol.toStringTag,{value:"Module"}));var inner$g=makeInner();function createAxisLabels(ee){return ee.type==="category"?makeCategoryLabels(ee):makeRealNumberLabels(ee)}function createAxisTicks(ee,te){return ee.type==="category"?makeCategoryTicks(ee,te):{ticks:map$1(ee.scale.getTicks(),function(ae){return ae.value})}}function makeCategoryLabels(ee){var te=ee.getLabelModel(),ae=makeCategoryLabelsActually(ee,te);return!te.get("show")||ee.scale.isBlank()?{labels:[],labelCategoryInterval:ae.labelCategoryInterval}:ae}function makeCategoryLabelsActually(ee,te){var ae=getListCache(ee,"labels"),ne=getOptionCategoryInterval(te),ie=listCacheGet(ae,ne);if(ie)return ie;var oe,se;return isFunction$1(ne)?oe=makeLabelsByCustomizedCategoryInterval(ee,ne):(se=ne==="auto"?makeAutoCategoryInterval(ee):ne,oe=makeLabelsByNumericCategoryInterval(ee,se)),listCacheSet(ae,ne,{labels:oe,labelCategoryInterval:se})}function makeCategoryTicks(ee,te){var ae=getListCache(ee,"ticks"),ne=getOptionCategoryInterval(te),ie=listCacheGet(ae,ne);if(ie)return ie;var oe,se;if((!te.get("show")||ee.scale.isBlank())&&(oe=[]),isFunction$1(ne))oe=makeLabelsByCustomizedCategoryInterval(ee,ne,!0);else if(ne==="auto"){var le=makeCategoryLabelsActually(ee,ee.getLabelModel());se=le.labelCategoryInterval,oe=map$1(le.labels,function(ue){return ue.tickValue})}else se=ne,oe=makeLabelsByNumericCategoryInterval(ee,se,!0);return listCacheSet(ae,ne,{ticks:oe,tickCategoryInterval:se})}function makeRealNumberLabels(ee){var te=ee.scale.getTicks(),ae=makeLabelFormatter(ee);return{labels:map$1(te,function(ne,ie){return{level:ne.level,formattedLabel:ae(ne,ie),rawLabel:ee.scale.getLabel(ne),tickValue:ne.value}})}}function getListCache(ee,te){return inner$g(ee)[te]||(inner$g(ee)[te]=[])}function listCacheGet(ee,te){for(var ae=0;ae<ee.length;ae++)if(ee[ae].key===te)return ee[ae].value}function listCacheSet(ee,te,ae){return ee.push({key:te,value:ae}),ae}function makeAutoCategoryInterval(ee){var te=inner$g(ee).autoInterval;return te??(inner$g(ee).autoInterval=ee.calculateCategoryInterval())}function calculateCategoryInterval(ee){var te=fetchAutoCategoryIntervalCalculationParams(ee),ae=makeLabelFormatter(ee),ne=(te.axisRotate-te.labelRotate)/180*Math.PI,ie=ee.scale,oe=ie.getExtent(),se=ie.count();if(oe[1]-oe[0]<1)return 0;var le=1;se>40&&(le=Math.max(1,Math.floor(se/40)));for(var ue=oe[0],ce=ee.dataToCoord(ue+1)-ee.dataToCoord(ue),de=Math.abs(ce*Math.cos(ne)),he=Math.abs(ce*Math.sin(ne)),fe=0,pe=0;ue<=oe[1];ue+=le){var ve=0,ge=0,me=getBoundingRect(ae({value:ue}),te.font,"center","top");ve=me.width*1.3,ge=me.height*1.3,fe=Math.max(fe,ve,7),pe=Math.max(pe,ge,7)}var ye=fe/de,_e=pe/he;isNaN(ye)&&(ye=1/0),isNaN(_e)&&(_e=1/0);var be=Math.max(0,Math.floor(Math.min(ye,_e))),xe=inner$g(ee.model),$e=ee.getExtent(),Se=xe.lastAutoInterval,we=xe.lastTickCount;return Se!=null&&we!=null&&Math.abs(Se-be)<=1&&Math.abs(we-se)<=1&&Se>be&&xe.axisExtent0===$e[0]&&xe.axisExtent1===$e[1]?be=Se:(xe.lastTickCount=se,xe.lastAutoInterval=be,xe.axisExtent0=$e[0],xe.axisExtent1=$e[1]),be}function fetchAutoCategoryIntervalCalculationParams(ee){var te=ee.getLabelModel();return{axisRotate:ee.getRotate?ee.getRotate():ee.isHorizontal&&!ee.isHorizontal()?90:0,labelRotate:te.get("rotate")||0,font:te.getFont()}}function makeLabelsByNumericCategoryInterval(ee,te,ae){var ne=makeLabelFormatter(ee),ie=ee.scale,oe=ie.getExtent(),se=ee.getLabelModel(),le=[],ue=Math.max((te||0)+1,1),ce=oe[0],de=ie.count();ce!==0&&ue>1&&de/ue>2&&(ce=Math.round(Math.ceil(ce/ue)*ue));var he=shouldShowAllLabels(ee),fe=se.get("showMinLabel")||he,pe=se.get("showMaxLabel")||he;fe&&ce!==oe[0]&&ge(oe[0]);for(var ve=ce;ve<=oe[1];ve+=ue)ge(ve);pe&&ve-ue!==oe[1]&&ge(oe[1]);function ge(me){var ye={value:me};le.push(ae?me:{formattedLabel:ne(ye),rawLabel:ie.getLabel(ye),tickValue:me})}return le}function makeLabelsByCustomizedCategoryInterval(ee,te,ae){var ne=ee.scale,ie=makeLabelFormatter(ee),oe=[];return each$f(ne.getTicks(),function(se){var le=ne.getLabel(se),ue=se.value;te(se.value,le)&&oe.push(ae?ue:{formattedLabel:ie(se),rawLabel:le,tickValue:ue})}),oe}var NORMALIZED_EXTENT=[0,1],Axis=function(){function ee(te,ae,ne){this.onBand=!1,this.inverse=!1,this.dim=te,this.scale=ae,this._extent=ne||[0,0]}return ee.prototype.contain=function(te){var ae=this._extent,ne=Math.min(ae[0],ae[1]),ie=Math.max(ae[0],ae[1]);return te>=ne&&te<=ie},ee.prototype.containData=function(te){return this.scale.contain(te)},ee.prototype.getExtent=function(){return this._extent.slice()},ee.prototype.getPixelPrecision=function(te){return getPixelPrecision(te||this.scale.getExtent(),this._extent)},ee.prototype.setExtent=function(te,ae){var ne=this._extent;ne[0]=te,ne[1]=ae},ee.prototype.dataToCoord=function(te,ae){var ne=this._extent,ie=this.scale;return te=ie.normalize(te),this.onBand&&ie.type==="ordinal"&&(ne=ne.slice(),fixExtentWithBands(ne,ie.count())),linearMap$2(te,NORMALIZED_EXTENT,ne,ae)},ee.prototype.coordToData=function(te,ae){var ne=this._extent,ie=this.scale;this.onBand&&ie.type==="ordinal"&&(ne=ne.slice(),fixExtentWithBands(ne,ie.count()));var oe=linearMap$2(te,ne,NORMALIZED_EXTENT,ae);return this.scale.scale(oe)},ee.prototype.pointToData=function(te,ae){},ee.prototype.getTicksCoords=function(te){te=te||{};var ae=te.tickModel||this.getTickModel(),ne=createAxisTicks(this,ae),ie=ne.ticks,oe=map$1(ie,function(le){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(le):le),tickValue:le}},this),se=ae.get("alignWithLabel");return fixOnBandTicksCoords(this,oe,se,te.clamp),oe},ee.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var te=this.model.getModel("minorTick"),ae=te.get("splitNumber");ae>0&&ae<100||(ae=5);var ne=this.scale.getMinorTicks(ae),ie=map$1(ne,function(oe){return map$1(oe,function(se){return{coord:this.dataToCoord(se),tickValue:se}},this)},this);return ie},ee.prototype.getViewLabels=function(){return createAxisLabels(this).labels},ee.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},ee.prototype.getTickModel=function(){return this.model.getModel("axisTick")},ee.prototype.getBandWidth=function(){var te=this._extent,ae=this.scale.getExtent(),ne=ae[1]-ae[0]+(this.onBand?1:0);ne===0&&(ne=1);var ie=Math.abs(te[1]-te[0]);return Math.abs(ie)/ne},ee.prototype.calculateCategoryInterval=function(){return calculateCategoryInterval(this)},ee}();function fixExtentWithBands(ee,te){var ae=ee[1]-ee[0],ne=te,ie=ae/ne/2;ee[0]+=ie,ee[1]-=ie}function fixOnBandTicksCoords(ee,te,ae,ne){var ie=te.length;if(!ee.onBand||ae||!ie)return;var oe=ee.getExtent(),se,le;if(ie===1)te[0].coord=oe[0],se=te[1]={coord:oe[1]};else{var ue=te[ie-1].tickValue-te[0].tickValue,ce=(te[ie-1].coord-te[0].coord)/ue;each$f(te,function(pe){pe.coord-=ce/2});var de=ee.scale.getExtent();le=1+de[1]-te[ie-1].tickValue,se={coord:te[ie-1].coord+ce*le},te.push(se)}var he=oe[0]>oe[1];fe(te[0].coord,oe[0])&&(ne?te[0].coord=oe[0]:te.shift()),ne&&fe(oe[0],te[0].coord)&&te.unshift({coord:oe[0]}),fe(oe[1],se.coord)&&(ne?se.coord=oe[1]:te.pop()),ne&&fe(se.coord,oe[1])&&te.push({coord:oe[1]});function fe(pe,ve){return pe=round$3(pe),ve=round$3(ve),he?pe>ve:pe<ve}}const Axis$1=Axis;function extendComponentModel(ee){var te=ComponentModel$1.extend(ee);return ComponentModel$1.registerClass(te),te}function extendComponentView(ee){var te=ComponentView$1.extend(ee);return ComponentView$1.registerClass(te),te}function extendSeriesModel(ee){var te=SeriesModel$1.extend(ee);return SeriesModel$1.registerClass(te),te}function extendChartView(ee){var te=ChartView$1.extend(ee);return ChartView$1.registerClass(te),te}var PI2$2=Math.PI*2,CMD$1=PathProxy$1.CMD,DEFAULT_SEARCH_SPACE=["top","right","bottom","left"];function getCandidateAnchor(ee,te,ae,ne,ie){var oe=ae.width,se=ae.height;switch(ee){case"top":ne.set(ae.x+oe/2,ae.y-te),ie.set(0,-1);break;case"bottom":ne.set(ae.x+oe/2,ae.y+se+te),ie.set(0,1);break;case"left":ne.set(ae.x-te,ae.y+se/2),ie.set(-1,0);break;case"right":ne.set(ae.x+oe+te,ae.y+se/2),ie.set(1,0);break}}function projectPointToArc(ee,te,ae,ne,ie,oe,se,le,ue){se-=ee,le-=te;var ce=Math.sqrt(se*se+le*le);se/=ce,le/=ce;var de=se*ae+ee,he=le*ae+te;if(Math.abs(ne-ie)%PI2$2<1e-4)return ue[0]=de,ue[1]=he,ce-ae;if(oe){var fe=ne;ne=normalizeRadian(ie),ie=normalizeRadian(fe)}else ne=normalizeRadian(ne),ie=normalizeRadian(ie);ne>ie&&(ie+=PI2$2);var pe=Math.atan2(le,se);if(pe<0&&(pe+=PI2$2),pe>=ne&&pe<=ie||pe+PI2$2>=ne&&pe+PI2$2<=ie)return ue[0]=de,ue[1]=he,ce-ae;var ve=ae*Math.cos(ne)+ee,ge=ae*Math.sin(ne)+te,me=ae*Math.cos(ie)+ee,ye=ae*Math.sin(ie)+te,_e=(ve-se)*(ve-se)+(ge-le)*(ge-le),be=(me-se)*(me-se)+(ye-le)*(ye-le);return _e<be?(ue[0]=ve,ue[1]=ge,Math.sqrt(_e)):(ue[0]=me,ue[1]=ye,Math.sqrt(be))}function projectPointToLine(ee,te,ae,ne,ie,oe,se,le){var ue=ie-ee,ce=oe-te,de=ae-ee,he=ne-te,fe=Math.sqrt(de*de+he*he);de/=fe,he/=fe;var pe=ue*de+ce*he,ve=pe/fe;le&&(ve=Math.min(Math.max(ve,0),1)),ve*=fe;var ge=se[0]=ee+ve*de,me=se[1]=te+ve*he;return Math.sqrt((ge-ie)*(ge-ie)+(me-oe)*(me-oe))}function projectPointToRect(ee,te,ae,ne,ie,oe,se){ae<0&&(ee=ee+ae,ae=-ae),ne<0&&(te=te+ne,ne=-ne);var le=ee+ae,ue=te+ne,ce=se[0]=Math.min(Math.max(ie,ee),le),de=se[1]=Math.min(Math.max(oe,te),ue);return Math.sqrt((ce-ie)*(ce-ie)+(de-oe)*(de-oe))}var tmpPt=[];function nearestPointOnRect(ee,te,ae){var ne=projectPointToRect(te.x,te.y,te.width,te.height,ee.x,ee.y,tmpPt);return ae.set(tmpPt[0],tmpPt[1]),ne}function nearestPointOnPath(ee,te,ae){for(var ne=0,ie=0,oe=0,se=0,le,ue,ce=1/0,de=te.data,he=ee.x,fe=ee.y,pe=0;pe<de.length;){var ve=de[pe++];pe===1&&(ne=de[pe],ie=de[pe+1],oe=ne,se=ie);var ge=ce;switch(ve){case CMD$1.M:oe=de[pe++],se=de[pe++],ne=oe,ie=se;break;case CMD$1.L:ge=projectPointToLine(ne,ie,de[pe],de[pe+1],he,fe,tmpPt,!0),ne=de[pe++],ie=de[pe++];break;case CMD$1.C:ge=cubicProjectPoint(ne,ie,de[pe++],de[pe++],de[pe++],de[pe++],de[pe],de[pe+1],he,fe,tmpPt),ne=de[pe++],ie=de[pe++];break;case CMD$1.Q:ge=quadraticProjectPoint(ne,ie,de[pe++],de[pe++],de[pe],de[pe+1],he,fe,tmpPt),ne=de[pe++],ie=de[pe++];break;case CMD$1.A:var me=de[pe++],ye=de[pe++],_e=de[pe++],be=de[pe++],xe=de[pe++],$e=de[pe++];pe+=1;var Se=!!(1-de[pe++]);le=Math.cos(xe)*_e+me,ue=Math.sin(xe)*be+ye,pe<=1&&(oe=le,se=ue);var we=(he-me)*be/_e+me;ge=projectPointToArc(me,ye,be,xe,xe+$e,Se,we,fe,tmpPt),ne=Math.cos(xe+$e)*_e+me,ie=Math.sin(xe+$e)*be+ye;break;case CMD$1.R:oe=ne=de[pe++],se=ie=de[pe++];var Ae=de[pe++],Te=de[pe++];ge=projectPointToRect(oe,se,Ae,Te,he,fe,tmpPt);break;case CMD$1.Z:ge=projectPointToLine(ne,ie,oe,se,he,fe,tmpPt,!0),ne=oe,ie=se;break}ge<ce&&(ce=ge,ae.set(tmpPt[0],tmpPt[1]))}return ce}var pt0=new Point$1,pt1=new Point$1,pt2=new Point$1,dir=new Point$1,dir2=new Point$1;function updateLabelLinePoints(ee,te){if(ee){var ae=ee.getTextGuideLine(),ne=ee.getTextContent();if(ne&&ae){var ie=ee.textGuideLineConfig||{},oe=[[0,0],[0,0],[0,0]],se=ie.candidates||DEFAULT_SEARCH_SPACE,le=ne.getBoundingRect().clone();le.applyTransform(ne.getComputedTransform());var ue=1/0,ce=ie.anchor,de=ee.getComputedTransform(),he=de&&invert([],de),fe=te.get("length2")||0;ce&&pt2.copy(ce);for(var pe=0;pe<se.length;pe++){var ve=se[pe];getCandidateAnchor(ve,0,le,pt0,dir),Point$1.scaleAndAdd(pt1,pt0,dir,fe),pt1.transform(he);var ge=ee.getBoundingRect(),me=ce?ce.distance(pt1):ee instanceof Path$1?nearestPointOnPath(pt1,ee.path,pt2):nearestPointOnRect(pt1,ge,pt2);me<ue&&(ue=me,pt1.transform(de),pt2.transform(de),pt2.toArray(oe[0]),pt1.toArray(oe[1]),pt0.toArray(oe[2]))}limitTurnAngle(oe,te.get("minTurnAngle")),ae.setShape({points:oe})}}}var tmpArr=[],tmpProjPoint=new Point$1;function limitTurnAngle(ee,te){if(te<=180&&te>0){te=te/180*Math.PI,pt0.fromArray(ee[0]),pt1.fromArray(ee[1]),pt2.fromArray(ee[2]),Point$1.sub(dir,pt0,pt1),Point$1.sub(dir2,pt2,pt1);var ae=dir.len(),ne=dir2.len();if(!(ae<.001||ne<.001)){dir.scale(1/ae),dir2.scale(1/ne);var ie=dir.dot(dir2),oe=Math.cos(te);if(oe<ie){var se=projectPointToLine(pt1.x,pt1.y,pt2.x,pt2.y,pt0.x,pt0.y,tmpArr,!1);tmpProjPoint.fromArray(tmpArr),tmpProjPoint.scaleAndAdd(dir2,se/Math.tan(Math.PI-te));var le=pt2.x!==pt1.x?(tmpProjPoint.x-pt1.x)/(pt2.x-pt1.x):(tmpProjPoint.y-pt1.y)/(pt2.y-pt1.y);if(isNaN(le))return;le<0?Point$1.copy(tmpProjPoint,pt1):le>1&&Point$1.copy(tmpProjPoint,pt2),tmpProjPoint.toArray(ee[1])}}}}function limitSurfaceAngle(ee,te,ae){if(ae<=180&&ae>0){ae=ae/180*Math.PI,pt0.fromArray(ee[0]),pt1.fromArray(ee[1]),pt2.fromArray(ee[2]),Point$1.sub(dir,pt1,pt0),Point$1.sub(dir2,pt2,pt1);var ne=dir.len(),ie=dir2.len();if(!(ne<.001||ie<.001)){dir.scale(1/ne),dir2.scale(1/ie);var oe=dir.dot(te),se=Math.cos(ae);if(oe<se){var le=projectPointToLine(pt1.x,pt1.y,pt2.x,pt2.y,pt0.x,pt0.y,tmpArr,!1);tmpProjPoint.fromArray(tmpArr);var ue=Math.PI/2,ce=Math.acos(dir2.dot(te)),de=ue+ce-ae;if(de>=ue)Point$1.copy(tmpProjPoint,pt2);else{tmpProjPoint.scaleAndAdd(dir2,le/Math.tan(Math.PI/2-de));var he=pt2.x!==pt1.x?(tmpProjPoint.x-pt1.x)/(pt2.x-pt1.x):(tmpProjPoint.y-pt1.y)/(pt2.y-pt1.y);if(isNaN(he))return;he<0?Point$1.copy(tmpProjPoint,pt1):he>1&&Point$1.copy(tmpProjPoint,pt2)}tmpProjPoint.toArray(ee[1])}}}}function setLabelLineState(ee,te,ae,ne){var ie=ae==="normal",oe=ie?ee:ee.ensureState(ae);oe.ignore=te;var se=ne.get("smooth");se&&se===!0&&(se=.3),oe.shape=oe.shape||{},se>0&&(oe.shape.smooth=se);var le=ne.getModel("lineStyle").getLineStyle();ie?ee.useStyle(le):oe.style=le}function buildLabelLinePath(ee,te){var ae=te.smooth,ne=te.points;if(ne)if(ee.moveTo(ne[0][0],ne[0][1]),ae>0&&ne.length>=3){var ie=dist$1(ne[0],ne[1]),oe=dist$1(ne[1],ne[2]);if(!ie||!oe){ee.lineTo(ne[1][0],ne[1][1]),ee.lineTo(ne[2][0],ne[2][1]);return}var se=Math.min(ie,oe)*ae,le=lerp$1([],ne[1],ne[0],se/ie),ue=lerp$1([],ne[1],ne[2],se/oe),ce=lerp$1([],le,ue,.5);ee.bezierCurveTo(le[0],le[1],le[0],le[1],ce[0],ce[1]),ee.bezierCurveTo(ue[0],ue[1],ue[0],ue[1],ne[2][0],ne[2][1])}else for(var de=1;de<ne.length;de++)ee.lineTo(ne[de][0],ne[de][1])}function setLabelLineStyle(ee,te,ae){var ne=ee.getTextGuideLine(),ie=ee.getTextContent();if(!ie){ne&&ee.removeTextGuideLine();return}for(var oe=te.normal,se=oe.get("show"),le=ie.ignore,ue=0;ue<DISPLAY_STATES.length;ue++){var ce=DISPLAY_STATES[ue],de=te[ce],he=ce==="normal";if(de){var fe=de.get("show"),pe=he?le:retrieve2(ie.states[ce]&&ie.states[ce].ignore,le);if(pe||!retrieve2(fe,se)){var ve=he?ne:ne&&ne.states[ce];ve&&(ve.ignore=!0);continue}ne||(ne=new Polyline$3,ee.setTextGuideLine(ne),!he&&(le||!se)&&setLabelLineState(ne,!0,"normal",te.normal),ee.stateProxy&&(ne.stateProxy=ee.stateProxy)),setLabelLineState(ne,!1,ce,de)}}if(ne){defaults$2(ne.style,ae),ne.style.fill=null;var ge=oe.get("showAbove"),me=ee.textGuideLineConfig=ee.textGuideLineConfig||{};me.showAbove=ge||!1,ne.buildPath=buildLabelLinePath}}function getLabelLineStatesModels(ee,te){te=te||"labelLine";for(var ae={normal:ee.getModel(te)},ne=0;ne<SPECIAL_STATES.length;ne++){var ie=SPECIAL_STATES[ne];ae[ie]=ee.getModel([ie,te])}return ae}function prepareLayoutList(ee){for(var te=[],ae=0;ae<ee.length;ae++){var ne=ee[ae];if(!ne.defaultAttr.ignore){var ie=ne.label,oe=ie.getComputedTransform(),se=ie.getBoundingRect(),le=!oe||oe[1]<1e-5&&oe[2]<1e-5,ue=ie.style.margin||0,ce=se.clone();ce.applyTransform(oe),ce.x-=ue/2,ce.y-=ue/2,ce.width+=ue,ce.height+=ue;var de=le?new OrientedBoundingRect$1(se,oe):null;te.push({label:ie,labelLine:ne.labelLine,rect:ce,localRect:se,obb:de,priority:ne.priority,defaultAttr:ne.defaultAttr,layoutOption:ne.computedLayoutOption,axisAligned:le,transform:oe})}}return te}function shiftLayout(ee,te,ae,ne,ie,oe){var se=ee.length;if(se<2)return;ee.sort(function(Ae,Te){return Ae.rect[te]-Te.rect[te]});for(var le=0,ue,ce=!1,de=0,he=0;he<se;he++){var fe=ee[he],pe=fe.rect;ue=pe[te]-le,ue<0&&(pe[te]-=ue,fe.label[te]-=ue,ce=!0);var ve=Math.max(-ue,0);de+=ve,le=pe[te]+pe[ae]}de>0&&oe&&$e(-de/se,0,se);var ge=ee[0],me=ee[se-1],ye,_e;be(),ye<0&&Se(-ye,.8),_e<0&&Se(_e,.8),be(),xe(ye,_e,1),xe(_e,ye,-1),be(),ye<0&&we(-ye),_e<0&&we(_e);function be(){ye=ge.rect[te]-ne,_e=ie-me.rect[te]-me.rect[ae]}function xe(Ae,Te,De){if(Ae<0){var Me=Math.min(Te,-Ae);if(Me>0){$e(Me*De,0,se);var Ie=Me+Ae;Ie<0&&Se(-Ie*De,1)}else Se(-Ae*De,1)}}function $e(Ae,Te,De){Ae!==0&&(ce=!0);for(var Me=Te;Me<De;Me++){var Ie=ee[Me],Ce=Ie.rect;Ce[te]+=Ae,Ie.label[te]+=Ae}}function Se(Ae,Te){for(var De=[],Me=0,Ie=1;Ie<se;Ie++){var Ce=ee[Ie-1].rect,Ee=Math.max(ee[Ie].rect[te]-Ce[te]-Ce[ae],0);De.push(Ee),Me+=Ee}if(Me){var Re=Math.min(Math.abs(Ae)/Me,Te);if(Ae>0)for(var Ie=0;Ie<se-1;Ie++){var ke=De[Ie]*Re;$e(ke,0,Ie+1)}else for(var Ie=se-1;Ie>0;Ie--){var ke=De[Ie-1]*Re;$e(-ke,Ie,se)}}}function we(Ae){var Te=Ae<0?-1:1;Ae=Math.abs(Ae);for(var De=Math.ceil(Ae/(se-1)),Me=0;Me<se-1;Me++)if(Te>0?$e(De,0,Me+1):$e(-De,se-Me-1,se),Ae-=De,Ae<=0)return}return ce}function shiftLayoutOnX(ee,te,ae,ne){return shiftLayout(ee,"x","width",te,ae,ne)}function shiftLayoutOnY(ee,te,ae,ne){return shiftLayout(ee,"y","height",te,ae,ne)}function hideOverlap(ee){var te=[];ee.sort(function(ge,me){return me.priority-ge.priority});var ae=new BoundingRect$1(0,0,0,0);function ne(ge){if(!ge.ignore){var me=ge.ensureState("emphasis");me.ignore==null&&(me.ignore=!1)}ge.ignore=!0}for(var ie=0;ie<ee.length;ie++){var oe=ee[ie],se=oe.axisAligned,le=oe.localRect,ue=oe.transform,ce=oe.label,de=oe.labelLine;ae.copy(oe.rect),ae.width-=.1,ae.height-=.1,ae.x+=.05,ae.y+=.05;for(var he=oe.obb,fe=!1,pe=0;pe<te.length;pe++){var ve=te[pe];if(ae.intersect(ve.rect)){if(se&&ve.axisAligned){fe=!0;break}if(ve.obb||(ve.obb=new OrientedBoundingRect$1(ve.localRect,ve.transform)),he||(he=new OrientedBoundingRect$1(le,ue)),he.intersect(ve.obb)){fe=!0;break}}}fe?(ne(ce),de&&ne(de)):(ce.attr("ignore",oe.defaultAttr.ignore),de&&de.attr("ignore",oe.defaultAttr.labelGuideIgnore),te.push(oe))}}function cloneArr(ee){if(ee){for(var te=[],ae=0;ae<ee.length;ae++)te.push(ee[ae].slice());return te}}function prepareLayoutCallbackParams(ee,te){var ae=ee.label,ne=te&&te.getTextGuideLine();return{dataIndex:ee.dataIndex,dataType:ee.dataType,seriesIndex:ee.seriesModel.seriesIndex,text:ee.label.style.text,rect:ee.hostRect,labelRect:ee.rect,align:ae.style.align,verticalAlign:ae.style.verticalAlign,labelLinePoints:cloneArr(ne&&ne.shape.points)}}var LABEL_OPTION_TO_STYLE_KEYS=["align","verticalAlign","width","height","fontSize"],dummyTransformable=new Transformable$1,labelLayoutInnerStore=makeInner(),labelLineAnimationStore=makeInner();function extendWithKeys(ee,te,ae){for(var ne=0;ne<ae.length;ne++){var ie=ae[ne];te[ie]!=null&&(ee[ie]=te[ie])}}var LABEL_LAYOUT_PROPS=["x","y","rotation"],LabelManager=function(){function ee(){this._labelList=[],this._chartViewList=[]}return ee.prototype.clearLabels=function(){this._labelList=[],this._chartViewList=[]},ee.prototype._addLabel=function(te,ae,ne,ie,oe){var se=ie.style,le=ie.__hostTarget,ue=le.textConfig||{},ce=ie.getComputedTransform(),de=ie.getBoundingRect().plain();BoundingRect$1.applyTransform(de,de,ce),ce?dummyTransformable.setLocalTransform(ce):(dummyTransformable.x=dummyTransformable.y=dummyTransformable.rotation=dummyTransformable.originX=dummyTransformable.originY=0,dummyTransformable.scaleX=dummyTransformable.scaleY=1),dummyTransformable.rotation=normalizeRadian(dummyTransformable.rotation);var he=ie.__hostTarget,fe;if(he){fe=he.getBoundingRect().plain();var pe=he.getComputedTransform();BoundingRect$1.applyTransform(fe,fe,pe)}var ve=fe&&he.getTextGuideLine();this._labelList.push({label:ie,labelLine:ve,seriesModel:ne,dataIndex:te,dataType:ae,layoutOption:oe,computedLayoutOption:null,rect:de,hostRect:fe,priority:fe?fe.width*fe.height:0,defaultAttr:{ignore:ie.ignore,labelGuideIgnore:ve&&ve.ignore,x:dummyTransformable.x,y:dummyTransformable.y,scaleX:dummyTransformable.scaleX,scaleY:dummyTransformable.scaleY,rotation:dummyTransformable.rotation,style:{x:se.x,y:se.y,align:se.align,verticalAlign:se.verticalAlign,width:se.width,height:se.height,fontSize:se.fontSize},cursor:ie.cursor,attachedPos:ue.position,attachedRot:ue.rotation}})},ee.prototype.addLabelsOfSeries=function(te){var ae=this;this._chartViewList.push(te);var ne=te.__model,ie=ne.get("labelLayout");(isFunction$1(ie)||keys(ie).length)&&te.group.traverse(function(oe){if(oe.ignore)return!0;var se=oe.getTextContent(),le=getECData(oe);se&&!se.disableLabelLayout&&ae._addLabel(le.dataIndex,le.dataType,ne,se,ie)})},ee.prototype.updateLayoutConfig=function(te){var ae=te.getWidth(),ne=te.getHeight();function ie(be,xe){return function(){updateLabelLinePoints(be,xe)}}for(var oe=0;oe<this._labelList.length;oe++){var se=this._labelList[oe],le=se.label,ue=le.__hostTarget,ce=se.defaultAttr,de=void 0;isFunction$1(se.layoutOption)?de=se.layoutOption(prepareLayoutCallbackParams(se,ue)):de=se.layoutOption,de=de||{},se.computedLayoutOption=de;var he=Math.PI/180;ue&&ue.setTextConfig({local:!1,position:de.x!=null||de.y!=null?null:ce.attachedPos,rotation:de.rotate!=null?de.rotate*he:ce.attachedRot,offset:[de.dx||0,de.dy||0]});var fe=!1;if(de.x!=null?(le.x=parsePercent(de.x,ae),le.setStyle("x",0),fe=!0):(le.x=ce.x,le.setStyle("x",ce.style.x)),de.y!=null?(le.y=parsePercent(de.y,ne),le.setStyle("y",0),fe=!0):(le.y=ce.y,le.setStyle("y",ce.style.y)),de.labelLinePoints){var pe=ue.getTextGuideLine();pe&&(pe.setShape({points:de.labelLinePoints}),fe=!1)}var ve=labelLayoutInnerStore(le);ve.needsUpdateLabelLine=fe,le.rotation=de.rotate!=null?de.rotate*he:ce.rotation,le.scaleX=ce.scaleX,le.scaleY=ce.scaleY;for(var ge=0;ge<LABEL_OPTION_TO_STYLE_KEYS.length;ge++){var me=LABEL_OPTION_TO_STYLE_KEYS[ge];le.setStyle(me,de[me]!=null?de[me]:ce.style[me])}if(de.draggable){if(le.draggable=!0,le.cursor="move",ue){var ye=se.seriesModel;if(se.dataIndex!=null){var _e=se.seriesModel.getData(se.dataType);ye=_e.getItemModel(se.dataIndex)}le.on("drag",ie(ue,ye.getModel("labelLine")))}}else le.off("drag"),le.cursor=ce.cursor}},ee.prototype.layout=function(te){var ae=te.getWidth(),ne=te.getHeight(),ie=prepareLayoutList(this._labelList),oe=filter(ie,function(ue){return ue.layoutOption.moveOverlap==="shiftX"}),se=filter(ie,function(ue){return ue.layoutOption.moveOverlap==="shiftY"});shiftLayoutOnX(oe,0,ae),shiftLayoutOnY(se,0,ne);var le=filter(ie,function(ue){return ue.layoutOption.hideOverlap});hideOverlap(le)},ee.prototype.processLabelsOverall=function(){var te=this;each$f(this._chartViewList,function(ae){var ne=ae.__model,ie=ae.ignoreLabelLineUpdate,oe=ne.isAnimationEnabled();ae.group.traverse(function(se){if(se.ignore&&!se.forceLabelAnimation)return!0;var le=!ie,ue=se.getTextContent();!le&&ue&&(le=labelLayoutInnerStore(ue).needsUpdateLabelLine),le&&te._updateLabelLine(se,ne),oe&&te._animateLabels(se,ne)})})},ee.prototype._updateLabelLine=function(te,ae){var ne=te.getTextContent(),ie=getECData(te),oe=ie.dataIndex;if(ne&&oe!=null){var se=ae.getData(ie.dataType),le=se.getItemModel(oe),ue={},ce=se.getItemVisual(oe,"style");if(ce){var de=se.getVisual("drawType");ue.stroke=ce[de]}var he=le.getModel("labelLine");setLabelLineStyle(te,getLabelLineStatesModels(le),ue),updateLabelLinePoints(te,he)}},ee.prototype._animateLabels=function(te,ae){var ne=te.getTextContent(),ie=te.getTextGuideLine();if(ne&&(te.forceLabelAnimation||!ne.ignore&&!ne.invisible&&!te.disableLabelAnimation&&!isElementRemoved(te))){var oe=labelLayoutInnerStore(ne),se=oe.oldLayout,le=getECData(te),ue=le.dataIndex,ce={x:ne.x,y:ne.y,rotation:ne.rotation},de=ae.getData(le.dataType);if(se){ne.attr(se);var fe=te.prevStates;fe&&(indexOf(fe,"select")>=0&&ne.attr(oe.oldLayoutSelect),indexOf(fe,"emphasis")>=0&&ne.attr(oe.oldLayoutEmphasis)),updateProps$1(ne,ce,ae,ue)}else if(ne.attr(ce),!labelInner(ne).valueAnimation){var he=retrieve2(ne.style.opacity,1);ne.style.opacity=0,initProps(ne,{style:{opacity:he}},ae,ue)}if(oe.oldLayout=ce,ne.states.select){var pe=oe.oldLayoutSelect={};extendWithKeys(pe,ce,LABEL_LAYOUT_PROPS),extendWithKeys(pe,ne.states.select,LABEL_LAYOUT_PROPS)}if(ne.states.emphasis){var ve=oe.oldLayoutEmphasis={};extendWithKeys(ve,ce,LABEL_LAYOUT_PROPS),extendWithKeys(ve,ne.states.emphasis,LABEL_LAYOUT_PROPS)}animateLabelValue(ne,ue,de,ae,ae)}if(ie&&!ie.ignore&&!ie.invisible){var oe=labelLineAnimationStore(ie),se=oe.oldLayout,ge={points:ie.shape.points};se?(ie.attr({shape:se}),updateProps$1(ie,{shape:ge},ae)):(ie.setShape(ge),ie.style.strokePercent=0,initProps(ie,{style:{strokePercent:1}},ae)),oe.oldLayout=ge}},ee}();const LabelManager$1=LabelManager;var getLabelManager=makeInner();function installLabelLayout(ee){ee.registerUpdateLifecycle("series:beforeupdate",function(te,ae,ne){var ie=getLabelManager(ae).labelManager;ie||(ie=getLabelManager(ae).labelManager=new LabelManager$1),ie.clearLabels()}),ee.registerUpdateLifecycle("series:layoutlabels",function(te,ae,ne){var ie=getLabelManager(ae).labelManager;ne.updatedSeries.forEach(function(oe){ie.addLabelsOfSeries(ae.getViewOfSeriesModel(oe))}),ie.updateLayoutConfig(ae),ie.layout(ae),ie.processLabelsOverall()})}var mathSin=Math.sin,mathCos=Math.cos,PI$4=Math.PI,PI2$1=Math.PI*2,degree=180/PI$4,SVGPathRebuilder=function(){function ee(){}return ee.prototype.reset=function(te){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,te||4)},ee.prototype.moveTo=function(te,ae){this._add("M",te,ae)},ee.prototype.lineTo=function(te,ae){this._add("L",te,ae)},ee.prototype.bezierCurveTo=function(te,ae,ne,ie,oe,se){this._add("C",te,ae,ne,ie,oe,se)},ee.prototype.quadraticCurveTo=function(te,ae,ne,ie){this._add("Q",te,ae,ne,ie)},ee.prototype.arc=function(te,ae,ne,ie,oe,se){this.ellipse(te,ae,ne,ne,0,ie,oe,se)},ee.prototype.ellipse=function(te,ae,ne,ie,oe,se,le,ue){var ce=le-se,de=!ue,he=Math.abs(ce),fe=isAroundZero(he-PI2$1)||(de?ce>=PI2$1:-ce>=PI2$1),pe=ce>0?ce%PI2$1:ce%PI2$1+PI2$1,ve=!1;fe?ve=!0:isAroundZero(he)?ve=!1:ve=pe>=PI$4==!!de;var ge=te+ne*mathCos(se),me=ae+ie*mathSin(se);this._start&&this._add("M",ge,me);var ye=Math.round(oe*degree);if(fe){var _e=1/this._p,be=(de?1:-1)*(PI2$1-_e);this._add("A",ne,ie,ye,1,+de,te+ne*mathCos(se+be),ae+ie*mathSin(se+be)),_e>.01&&this._add("A",ne,ie,ye,0,+de,ge,me)}else{var xe=te+ne*mathCos(le),$e=ae+ie*mathSin(le);this._add("A",ne,ie,ye,+ve,+de,xe,$e)}},ee.prototype.rect=function(te,ae,ne,ie){this._add("M",te,ae),this._add("l",ne,0),this._add("l",0,ie),this._add("l",-ne,0),this._add("Z")},ee.prototype.closePath=function(){this._d.length>0&&this._add("Z")},ee.prototype._add=function(te,ae,ne,ie,oe,se,le,ue,ce){for(var de=[],he=this._p,fe=1;fe<arguments.length;fe++){var pe=arguments[fe];if(isNaN(pe)){this._invalid=!0;return}de.push(Math.round(pe*he)/he)}this._d.push(te+de.join(" ")),this._start=te==="Z"},ee.prototype.generateStr=function(){this._str=this._invalid?"":this._d.join(""),this._d=[]},ee.prototype.getStr=function(){return this._str},ee}();const SVGPathRebuilder$1=SVGPathRebuilder;var NONE="none",mathRound=Math.round;function pathHasFill(ee){var te=ee.fill;return te!=null&&te!==NONE}function pathHasStroke(ee){var te=ee.stroke;return te!=null&&te!==NONE}var strokeProps=["lineCap","miterLimit","lineJoin"],svgStrokeProps=map$1(strokeProps,function(ee){return"stroke-"+ee.toLowerCase()});function mapStyleToAttrs(ee,te,ae,ne){var ie=te.opacity==null?1:te.opacity;if(ae instanceof ZRImage$1){ee("opacity",ie);return}if(pathHasFill(te)){var oe=normalizeColor(te.fill);ee("fill",oe.color);var se=te.fillOpacity!=null?te.fillOpacity*oe.opacity*ie:oe.opacity*ie;(ne||se<1)&&ee("fill-opacity",se)}else ee("fill",NONE);if(pathHasStroke(te)){var le=normalizeColor(te.stroke);ee("stroke",le.color);var ue=te.strokeNoScale?ae.getLineScale():1,ce=ue?(te.lineWidth||0)/ue:0,de=te.strokeOpacity!=null?te.strokeOpacity*le.opacity*ie:le.opacity*ie,he=te.strokeFirst;if((ne||ce!==1)&&ee("stroke-width",ce),(ne||he)&&ee("paint-order",he?"stroke":"fill"),(ne||de<1)&&ee("stroke-opacity",de),te.lineDash){var fe=getLineDash(ae),pe=fe[0],ve=fe[1];pe&&(ve=mathRound(ve||0),ee("stroke-dasharray",pe.join(",")),(ve||ne)&&ee("stroke-dashoffset",ve))}else ne&&ee("stroke-dasharray",NONE);for(var ge=0;ge<strokeProps.length;ge++){var me=strokeProps[ge];if(ne||te[me]!==DEFAULT_PATH_STYLE[me]){var ye=te[me]||DEFAULT_PATH_STYLE[me];ye&&ee(svgStrokeProps[ge],ye)}}}else ne&&ee("stroke",NONE)}var SVGNS="http://www.w3.org/2000/svg",XLINKNS="http://www.w3.org/1999/xlink",XMLNS="http://www.w3.org/2000/xmlns/",XML_NAMESPACE="http://www.w3.org/XML/1998/namespace";function createElement(ee){return document.createElementNS(SVGNS,ee)}function createVNode(ee,te,ae,ne,ie){return{tag:ee,attrs:ae||{},children:ne,text:ie,key:te}}function createElementOpen(ee,te){var ae=[];if(te)for(var ne in te){var ie=te[ne],oe=ne;ie!==!1&&(ie!==!0&&ie!=null&&(oe+='="'+ie+'"'),ae.push(oe))}return"<"+ee+" "+ae.join(" ")+">"}function createElementClose(ee){return"</"+ee+">"}function vNodeToString(ee,te){te=te||{};var ae=te.newline?`
-`:"";function ne(ie){var oe=ie.children,se=ie.tag,le=ie.attrs,ue=ie.text;return createElementOpen(se,le)+(se!=="style"?encodeHTML(ue):ue||"")+(oe?""+ae+map$1(oe,function(ce){return ne(ce)}).join(ae)+ae:"")+createElementClose(se)}return ne(ee)}function getCssString(ee,te,ae){ae=ae||{};var ne=ae.newline?`
-`:"",ie=" {"+ne,oe=ne+"}",se=map$1(keys(ee),function(ue){return ue+ie+map$1(keys(ee[ue]),function(ce){return ce+":"+ee[ue][ce]+";"}).join(ne)+oe}).join(ne),le=map$1(keys(te),function(ue){return"@keyframes "+ue+ie+map$1(keys(te[ue]),function(ce){return ce+ie+map$1(keys(te[ue][ce]),function(de){var he=te[ue][ce][de];return de==="d"&&(he='path("'+he+'")'),de+":"+he+";"}).join(ne)+oe}).join(ne)+oe}).join(ne);return!se&&!le?"":["<![CDATA[",se,le,"]]>"].join(ne)}function createBrushScope(ee){return{zrId:ee,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssClassIdx:0,cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function createSVGVNode(ee,te,ae,ne){return createVNode("svg","root",{width:ee,height:te,xmlns:SVGNS,"xmlns:xlink":XLINKNS,version:"1.1",baseProfile:"full",viewBox:ne?"0 0 "+ee+" "+te:!1},ae)}var EASING_MAP={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},transformOriginKey="transform-origin";function buildPathString(ee,te,ae){var ne=extend$1({},ee.shape);extend$1(ne,te),ee.buildPath(ae,ne);var ie=new SVGPathRebuilder$1;return ie.reset(getPathPrecision(ee)),ae.rebuildPath(ie,1),ie.generateStr(),ie.getStr()}function setTransformOrigin(ee,te){var ae=te.originX,ne=te.originY;(ae||ne)&&(ee[transformOriginKey]=ae+"px "+ne+"px")}var ANIMATE_STYLE_MAP={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function addAnimation(ee,te){var ae=te.zrId+"-ani-"+te.cssAnimIdx++;return te.cssAnims[ae]=ee,ae}function createCompoundPathCSSAnimation(ee,te,ae){var ne=ee.shape.paths,ie={},oe,se;if(each$f(ne,function(ue){var ce=createBrushScope(ae.zrId);ce.animation=!0,createCSSAnimation(ue,{},ce,!0);var de=ce.cssAnims,he=ce.cssNodes,fe=keys(de),pe=fe.length;if(pe){se=fe[pe-1];var ve=de[se];for(var ge in ve){var me=ve[ge];ie[ge]=ie[ge]||{d:""},ie[ge].d+=me.d||""}for(var ye in he){var _e=he[ye].animation;_e.indexOf(se)>=0&&(oe=_e)}}}),!!oe){te.d=!1;var le=addAnimation(ie,ae);return oe.replace(se,le)}}function getEasingFunc(ee){return isString$1(ee)?EASING_MAP[ee]?"cubic-bezier("+EASING_MAP[ee]+")":createCubicEasingFunc(ee)?ee:"":""}function createCSSAnimation(ee,te,ae,ne){var ie=ee.animators,oe=ie.length,se=[];if(ee instanceof CompoundPath$1){var le=createCompoundPathCSSAnimation(ee,te,ae);if(le)se.push(le);else if(!oe)return}else if(!oe)return;for(var ue={},ce=0;ce<oe;ce++){var de=ie[ce],he=[de.getMaxTime()/1e3+"s"],fe=getEasingFunc(de.getClip().easing),pe=de.getDelay();fe?he.push(fe):he.push("linear"),pe&&he.push(pe/1e3+"s"),de.getLoop()&&he.push("infinite");var ve=he.join(" ");ue[ve]=ue[ve]||[ve,[]],ue[ve][1].push(de)}function ge(_e){var be=_e[1],xe=be.length,$e={},Se={},we={},Ae="animation-timing-function";function Te(Ze,Xe,it){for(var at=Ze.getTracks(),ut=Ze.getMaxTime(),dt=0;dt<at.length;dt++){var pt=at[dt];if(pt.needsAnimate()){var gt=pt.keyframes,bt=pt.propName;if(it&&(bt=it(bt)),bt)for(var Tt=0;Tt<gt.length;Tt++){var At=gt[Tt],Mt=Math.round(At.time/ut*100)+"%",qt=getEasingFunc(At.easing),St=At.rawValue;(isString$1(St)||isNumber$1(St))&&(Xe[Mt]=Xe[Mt]||{},Xe[Mt][bt]=At.rawValue,qt&&(Xe[Mt][Ae]=qt))}}}}for(var De=0;De<xe;De++){var Me=be[De],Ie=Me.targetName;Ie?Ie==="shape"&&Te(Me,Se):!ne&&Te(Me,$e)}for(var Ce in $e){var Ee={};copyTransform(Ee,ee),extend$1(Ee,$e[Ce]);var Re=getSRTTransformString(Ee),ke=$e[Ce][Ae];we[Ce]=Re?{transform:Re}:{},setTransformOrigin(we[Ce],Ee),ke&&(we[Ce][Ae]=ke)}var Be,Ne=!0;for(var Ce in Se){we[Ce]=we[Ce]||{};var He=!Be,ke=Se[Ce][Ae];He&&(Be=new PathProxy$1);var qe=Be.len();Be.reset(),we[Ce].d=buildPathString(ee,Se[Ce],Be);var Oe=Be.len();if(!He&&qe!==Oe){Ne=!1;break}ke&&(we[Ce][Ae]=ke)}if(!Ne)for(var Ce in we)delete we[Ce].d;if(!ne)for(var De=0;De<xe;De++){var Me=be[De],Ie=Me.targetName;Ie==="style"&&Te(Me,we,function(at){return ANIMATE_STYLE_MAP[at]})}for(var ze=keys(we),Ve=!0,Ge,De=1;De<ze.length;De++){var We=ze[De-1],Ue=ze[De];if(we[We][transformOriginKey]!==we[Ue][transformOriginKey]){Ve=!1;break}Ge=we[We][transformOriginKey]}if(Ve&&Ge){for(var Ce in we)we[Ce][transformOriginKey]&&delete we[Ce][transformOriginKey];te[transformOriginKey]=Ge}if(filter(ze,function(Ze){return keys(we[Ze]).length>0}).length){var Ye=addAnimation(we,ae);return Ye+" "+_e[0]+" both"}}for(var me in ue){var le=ge(ue[me]);le&&se.push(le)}if(se.length){var ye=ae.zrId+"-cls-"+ae.cssClassIdx++;ae.cssNodes["."+ye]={animation:se.join(",")},te.class=ye}}var round$1=Math.round;function isImageLike(ee){return ee&&isString$1(ee.src)}function isCanvasLike(ee){return ee&&isFunction$1(ee.toDataURL)}function setStyleAttrs(ee,te,ae,ne){mapStyleToAttrs(function(ie,oe){var se=ie==="fill"||ie==="stroke";se&&isGradient(oe)?setGradient(te,ee,ie,ne):se&&isPattern(oe)?setPattern(ae,ee,ie,ne):ee[ie]=oe},te,ae,!1),setShadow(ae,ee,ne)}function noRotateScale(ee){return isAroundZero(ee[0]-1)&&isAroundZero(ee[1])&&isAroundZero(ee[2])&&isAroundZero(ee[3]-1)}function noTranslate(ee){return isAroundZero(ee[4])&&isAroundZero(ee[5])}function setTransform(ee,te,ae){if(te&&!(noTranslate(te)&&noRotateScale(te))){var ne=ae?10:1e4;ee.transform=noRotateScale(te)?"translate("+round$1(te[4]*ne)/ne+" "+round$1(te[5]*ne)/ne+")":getMatrixStr(te)}}function convertPolyShape(ee,te,ae){for(var ne=ee.points,ie=[],oe=0;oe<ne.length;oe++)ie.push(round$1(ne[oe][0]*ae)/ae),ie.push(round$1(ne[oe][1]*ae)/ae);te.points=ie.join(" ")}function validatePolyShape(ee){return!ee.smooth}function createAttrsConvert(ee){var te=map$1(ee,function(ae){return typeof ae=="string"?[ae,ae]:ae});return function(ae,ne,ie){for(var oe=0;oe<te.length;oe++){var se=te[oe],le=ae[se[0]];le!=null&&(ne[se[1]]=round$1(le*ie)/ie)}}}var builtinShapesDef={circle:[createAttrsConvert(["cx","cy","r"])],polyline:[convertPolyShape,validatePolyShape],polygon:[convertPolyShape,validatePolyShape]};function hasShapeAnimation(ee){for(var te=ee.animators,ae=0;ae<te.length;ae++)if(te[ae].targetName==="shape")return!0;return!1}function brushSVGPath(ee,te){var ae=ee.style,ne=ee.shape,ie=builtinShapesDef[ee.type],oe={},se=te.animation,le="path",ue=ee.style.strokePercent,ce=te.compress&&getPathPrecision(ee)||4;if(ie&&!te.willUpdate&&!(ie[1]&&!ie[1](ne))&&!(se&&hasShapeAnimation(ee))&&!(ue<1)){le=ee.type;var de=Math.pow(10,ce);ie[0](ne,oe,de)}else{var he=!ee.path||ee.shapeChanged();ee.path||ee.createPathProxy();var fe=ee.path;he&&(fe.beginPath(),ee.buildPath(fe,ee.shape),ee.pathUpdated());var pe=fe.getVersion(),ve=ee,ge=ve.__svgPathBuilder;(ve.__svgPathVersion!==pe||!ge||ue!==ve.__svgPathStrokePercent)&&(ge||(ge=ve.__svgPathBuilder=new SVGPathRebuilder$1),ge.reset(ce),fe.rebuildPath(ge,ue),ge.generateStr(),ve.__svgPathVersion=pe,ve.__svgPathStrokePercent=ue),oe.d=ge.getStr()}return setTransform(oe,ee.transform),setStyleAttrs(oe,ae,ee,te),te.animation&&createCSSAnimation(ee,oe,te),createVNode(le,ee.id+"",oe)}function brushSVGImage(ee,te){var ae=ee.style,ne=ae.image;if(ne&&!isString$1(ne)&&(isImageLike(ne)?ne=ne.src:isCanvasLike(ne)&&(ne=ne.toDataURL())),!!ne){var ie=ae.x||0,oe=ae.y||0,se=ae.width,le=ae.height,ue={href:ne,width:se,height:le};return ie&&(ue.x=ie),oe&&(ue.y=oe),setTransform(ue,ee.transform),setStyleAttrs(ue,ae,ee,te),te.animation&&createCSSAnimation(ee,ue,te),createVNode("image",ee.id+"",ue)}}function brushSVGTSpan(ee,te){var ae=ee.style,ne=ae.text;if(ne!=null&&(ne+=""),!(!ne||isNaN(ae.x)||isNaN(ae.y))){var ie=ae.font||DEFAULT_FONT,oe=ae.x||0,se=adjustTextY$1(ae.y||0,getLineHeight(ie),ae.textBaseline),le=TEXT_ALIGN_TO_ANCHOR[ae.textAlign]||ae.textAlign,ue={"dominant-baseline":"central","text-anchor":le};if(hasSeparateFont(ae)){var ce="",de=ae.fontStyle,he=parseFontSize(ae.fontSize);if(!parseFloat(he))return;var fe=ae.fontFamily||DEFAULT_FONT_FAMILY,pe=ae.fontWeight;ce+="font-size:"+he+";font-family:"+fe+";",de&&de!=="normal"&&(ce+="font-style:"+de+";"),pe&&pe!=="normal"&&(ce+="font-weight:"+pe+";"),ue.style=ce}else ue.style="font: "+ie;return ne.match(/\s/)&&(ue["xml:space"]="preserve"),oe&&(ue.x=oe),se&&(ue.y=se),setTransform(ue,ee.transform),setStyleAttrs(ue,ae,ee,te),te.animation&&createCSSAnimation(ee,ue,te),createVNode("text",ee.id+"",ue,void 0,ne)}}function brush(ee,te){if(ee instanceof Path$1)return brushSVGPath(ee,te);if(ee instanceof ZRImage$1)return brushSVGImage(ee,te);if(ee instanceof TSpan$1)return brushSVGTSpan(ee,te)}function setShadow(ee,te,ae){var ne=ee.style;if(hasShadow(ne)){var ie=getShadowKey(ee),oe=ae.shadowCache,se=oe[ie];if(!se){var le=ee.getGlobalScale(),ue=le[0],ce=le[1];if(!ue||!ce)return;var de=ne.shadowOffsetX||0,he=ne.shadowOffsetY||0,fe=ne.shadowBlur,pe=normalizeColor(ne.shadowColor),ve=pe.opacity,ge=pe.color,me=fe/2/ue,ye=fe/2/ce,_e=me+" "+ye;se=ae.zrId+"-s"+ae.shadowIdx++,ae.defs[se]=createVNode("filter",se,{id:se,x:"-100%",y:"-100%",width:"300%",height:"300%"},[createVNode("feDropShadow","",{dx:de/ue,dy:he/ce,stdDeviation:_e,"flood-color":ge,"flood-opacity":ve})]),oe[ie]=se}te.filter=getIdURL(se)}}function setGradient(ee,te,ae,ne){var ie=ee[ae],oe,se={gradientUnits:ie.global?"userSpaceOnUse":"objectBoundingBox"};if(isLinearGradient(ie))oe="linearGradient",se.x1=ie.x,se.y1=ie.y,se.x2=ie.x2,se.y2=ie.y2;else if(isRadialGradient(ie))oe="radialGradient",se.cx=retrieve2(ie.x,.5),se.cy=retrieve2(ie.y,.5),se.r=retrieve2(ie.r,.5);else return;for(var le=ie.colorStops,ue=[],ce=0,de=le.length;ce<de;++ce){var he=round4(le[ce].offset)*100+"%",fe=le[ce].color,pe=normalizeColor(fe),ve=pe.color,ge=pe.opacity,me={offset:he};me["stop-color"]=ve,ge<1&&(me["stop-opacity"]=ge),ue.push(createVNode("stop",ce+"",me))}var ye=createVNode(oe,"",se,ue),_e=vNodeToString(ye),be=ne.gradientCache,xe=be[_e];xe||(xe=ne.zrId+"-g"+ne.gradientIdx++,be[_e]=xe,se.id=xe,ne.defs[xe]=createVNode(oe,xe,se,ue)),te[ae]=getIdURL(xe)}function setPattern(ee,te,ae,ne){var ie=ee.style[ae],oe=ee.getBoundingRect(),se={},le=ie.repeat,ue=le==="no-repeat",ce=le==="repeat-x",de=le==="repeat-y",he;if(isImagePattern(ie)){var fe=ie.imageWidth,pe=ie.imageHeight,ve=void 0,ge=ie.image;if(isString$1(ge)?ve=ge:isImageLike(ge)?ve=ge.src:isCanvasLike(ge)&&(ve=ge.toDataURL()),typeof Image>"u"){var me="Image width/height must been given explictly in svg-ssr renderer.";assert(fe,me),assert(pe,me)}else if(fe==null||pe==null){var ye=function(De,Me){if(De){var Ie=De.elm,Ce=fe||Me.width,Ee=pe||Me.height;De.tag==="pattern"&&(ce?(Ee=1,Ce/=oe.width):de&&(Ce=1,Ee/=oe.height)),De.attrs.width=Ce,De.attrs.height=Ee,Ie&&(Ie.setAttribute("width",Ce),Ie.setAttribute("height",Ee))}},_e=createOrUpdateImage(ve,null,ee,function(De){ue||ye(Se,De),ye(he,De)});_e&&_e.width&&_e.height&&(fe=fe||_e.width,pe=pe||_e.height)}he=createVNode("image","img",{href:ve,width:fe,height:pe}),se.width=fe,se.height=pe}else ie.svgElement&&(he=clone$4(ie.svgElement),se.width=ie.svgWidth,se.height=ie.svgHeight);if(he){var be,xe;ue?be=xe=1:ce?(xe=1,be=se.width/oe.width):de?(be=1,xe=se.height/oe.height):se.patternUnits="userSpaceOnUse",be!=null&&!isNaN(be)&&(se.width=be),xe!=null&&!isNaN(xe)&&(se.height=xe);var $e=getSRTTransformString(ie);$e&&(se.patternTransform=$e);var Se=createVNode("pattern","",se,[he]),we=vNodeToString(Se),Ae=ne.patternCache,Te=Ae[we];Te||(Te=ne.zrId+"-p"+ne.patternIdx++,Ae[we]=Te,se.id=Te,Se=ne.defs[Te]=createVNode("pattern",Te,se,[he])),te[ae]=getIdURL(Te)}}function setClipPath(ee,te,ae){var ne=ae.clipPathCache,ie=ae.defs,oe=ne[ee.id];if(!oe){oe=ae.zrId+"-c"+ae.clipPathIdx++;var se={id:oe};ne[ee.id]=oe,ie[oe]=createVNode("clipPath",oe,se,[brushSVGPath(ee,ae)])}te["clip-path"]=getIdURL(oe)}function createTextNode(ee){return document.createTextNode(ee)}function insertBefore(ee,te,ae){ee.insertBefore(te,ae)}function removeChild(ee,te){ee.removeChild(te)}function appendChild(ee,te){ee.appendChild(te)}function parentNode(ee){return ee.parentNode}function nextSibling(ee){return ee.nextSibling}function setTextContent(ee,te){ee.textContent=te}var colonChar=58,xChar=120,emptyNode=createVNode("","");function isUndef(ee){return ee===void 0}function isDef(ee){return ee!==void 0}function createKeyToOldIdx(ee,te,ae){for(var ne={},ie=te;ie<=ae;++ie){var oe=ee[ie].key;oe!==void 0&&(ne[oe]=ie)}return ne}function sameVnode(ee,te){var ae=ee.key===te.key,ne=ee.tag===te.tag;return ne&&ae}function createElm(ee){var te,ae=ee.children,ne=ee.tag;if(isDef(ne)){var ie=ee.elm=createElement(ne);if(updateAttrs(emptyNode,ee),isArray$2(ae))for(te=0;te<ae.length;++te){var oe=ae[te];oe!=null&&appendChild(ie,createElm(oe))}else isDef(ee.text)&&!isObject$4(ee.text)&&appendChild(ie,createTextNode(ee.text))}else ee.elm=createTextNode(ee.text);return ee.elm}function addVnodes(ee,te,ae,ne,ie){for(;ne<=ie;++ne){var oe=ae[ne];oe!=null&&insertBefore(ee,createElm(oe),te)}}function removeVnodes(ee,te,ae,ne){for(;ae<=ne;++ae){var ie=te[ae];if(ie!=null)if(isDef(ie.tag)){var oe=parentNode(ie.elm);removeChild(oe,ie.elm)}else removeChild(ee,ie.elm)}}function updateAttrs(ee,te){var ae,ne=te.elm,ie=ee&&ee.attrs||{},oe=te.attrs||{};if(ie!==oe){for(ae in oe){var se=oe[ae],le=ie[ae];le!==se&&(se===!0?ne.setAttribute(ae,""):se===!1?ne.removeAttribute(ae):ae.charCodeAt(0)!==xChar?ne.setAttribute(ae,se):ae==="xmlns:xlink"||ae==="xmlns"?ne.setAttributeNS(XMLNS,ae,se):ae.charCodeAt(3)===colonChar?ne.setAttributeNS(XML_NAMESPACE,ae,se):ae.charCodeAt(5)===colonChar?ne.setAttributeNS(XLINKNS,ae,se):ne.setAttribute(ae,se))}for(ae in ie)ae in oe||ne.removeAttribute(ae)}}function updateChildren(ee,te,ae){for(var ne=0,ie=0,oe=te.length-1,se=te[0],le=te[oe],ue=ae.length-1,ce=ae[0],de=ae[ue],he,fe,pe,ve;ne<=oe&&ie<=ue;)se==null?se=te[++ne]:le==null?le=te[--oe]:ce==null?ce=ae[++ie]:de==null?de=ae[--ue]:sameVnode(se,ce)?(patchVnode(se,ce),se=te[++ne],ce=ae[++ie]):sameVnode(le,de)?(patchVnode(le,de),le=te[--oe],de=ae[--ue]):sameVnode(se,de)?(patchVnode(se,de),insertBefore(ee,se.elm,nextSibling(le.elm)),se=te[++ne],de=ae[--ue]):sameVnode(le,ce)?(patchVnode(le,ce),insertBefore(ee,le.elm,se.elm),le=te[--oe],ce=ae[++ie]):(isUndef(he)&&(he=createKeyToOldIdx(te,ne,oe)),fe=he[ce.key],isUndef(fe)?insertBefore(ee,createElm(ce),se.elm):(pe=te[fe],pe.tag!==ce.tag?insertBefore(ee,createElm(ce),se.elm):(patchVnode(pe,ce),te[fe]=void 0,insertBefore(ee,pe.elm,se.elm))),ce=ae[++ie]);(ne<=oe||ie<=ue)&&(ne>oe?(ve=ae[ue+1]==null?null:ae[ue+1].elm,addVnodes(ee,ve,ae,ie,ue)):removeVnodes(ee,te,ne,oe))}function patchVnode(ee,te){var ae=te.elm=ee.elm,ne=ee.children,ie=te.children;ee!==te&&(updateAttrs(ee,te),isUndef(te.text)?isDef(ne)&&isDef(ie)?ne!==ie&&updateChildren(ae,ne,ie):isDef(ie)?(isDef(ee.text)&&setTextContent(ae,""),addVnodes(ae,null,ie,0,ie.length-1)):isDef(ne)?removeVnodes(ae,ne,0,ne.length-1):isDef(ee.text)&&setTextContent(ae,""):ee.text!==te.text&&(isDef(ne)&&removeVnodes(ae,ne,0,ne.length-1),setTextContent(ae,te.text)))}function patch(ee,te){if(sameVnode(ee,te))patchVnode(ee,te);else{var ae=ee.elm,ne=parentNode(ae);createElm(te),ne!==null&&(insertBefore(ne,te.elm,nextSibling(ae)),removeVnodes(ne,[ee],0,0))}return te}var svgId=0,SVGPainter=function(){function ee(te,ae,ne){if(this.type="svg",this.refreshHover=createMethodNotSupport(),this.configLayer=createMethodNotSupport(),this.storage=ae,this._opts=ne=extend$1({},ne),this.root=te,this._id="zr"+svgId++,this._oldVNode=createSVGVNode(ne.width,ne.height),te&&!ne.ssr){var ie=this._viewport=document.createElement("div");ie.style.cssText="position:relative;overflow:hidden";var oe=this._svgDom=this._oldVNode.elm=createElement("svg");updateAttrs(null,this._oldVNode),ie.appendChild(oe),te.appendChild(ie)}this.resize(ne.width,ne.height)}return ee.prototype.getType=function(){return this.type},ee.prototype.getViewportRoot=function(){return this._viewport},ee.prototype.getViewportRootOffset=function(){var te=this.getViewportRoot();if(te)return{offsetLeft:te.offsetLeft||0,offsetTop:te.offsetTop||0}},ee.prototype.getSvgDom=function(){return this._svgDom},ee.prototype.refresh=function(){if(this.root){var te=this.renderToVNode({willUpdate:!0});te.attrs.style="position:absolute;left:0;top:0;user-select:none",patch(this._oldVNode,te),this._oldVNode=te}},ee.prototype.renderOneToVNode=function(te){return brush(te,createBrushScope(this._id))},ee.prototype.renderToVNode=function(te){te=te||{};var ae=this.storage.getDisplayList(!0),ne=this._width,ie=this._height,oe=createBrushScope(this._id);oe.animation=te.animation,oe.willUpdate=te.willUpdate,oe.compress=te.compress;var se=[],le=this._bgVNode=createBackgroundVNode(ne,ie,this._backgroundColor,oe);le&&se.push(le);var ue=te.compress?null:this._mainVNode=createVNode("g","main",{},[]);this._paintList(ae,oe,ue?ue.children:se),ue&&se.push(ue);var ce=map$1(keys(oe.defs),function(fe){return oe.defs[fe]});if(ce.length&&se.push(createVNode("defs","defs",{},ce)),te.animation){var de=getCssString(oe.cssNodes,oe.cssAnims,{newline:!0});if(de){var he=createVNode("style","stl",{},[],de);se.push(he)}}return createSVGVNode(ne,ie,se,te.useViewBox)},ee.prototype.renderToString=function(te){return te=te||{},vNodeToString(this.renderToVNode({animation:retrieve2(te.cssAnimation,!0),willUpdate:!1,compress:!0,useViewBox:retrieve2(te.useViewBox,!0)}),{newline:!0})},ee.prototype.setBackgroundColor=function(te){this._backgroundColor=te},ee.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},ee.prototype._paintList=function(te,ae,ne){for(var ie=te.length,oe=[],se=0,le,ue,ce=0,de=0;de<ie;de++){var he=te[de];if(!he.invisible){var fe=he.__clipPaths,pe=fe&&fe.length||0,ve=ue&&ue.length||0,ge=void 0;for(ge=Math.max(pe-1,ve-1);ge>=0&&!(fe&&ue&&fe[ge]===ue[ge]);ge--);for(var me=ve-1;me>ge;me--)se--,le=oe[se-1];for(var ye=ge+1;ye<pe;ye++){var _e={};setClipPath(fe[ye],_e,ae);var be=createVNode("g","clip-g-"+ce++,_e,[]);(le?le.children:ne).push(be),oe[se++]=be,le=be}ue=fe;var xe=brush(he,ae);xe&&(le?le.children:ne).push(xe)}}},ee.prototype.resize=function(te,ae){var ne=this._opts,ie=this.root,oe=this._viewport;if(te!=null&&(ne.width=te),ae!=null&&(ne.height=ae),ie&&oe&&(oe.style.display="none",te=getSize$1(ie,0,ne),ae=getSize$1(ie,1,ne),oe.style.display=""),this._width!==te||this._height!==ae){if(this._width=te,this._height=ae,oe){var se=oe.style;se.width=te+"px",se.height=ae+"px"}if(isPattern(this._backgroundColor))this.refresh();else{var le=this._svgDom;le&&(le.setAttribute("width",te),le.setAttribute("height",ae));var ue=this._bgVNode&&this._bgVNode.elm;ue&&(ue.setAttribute("width",te),ue.setAttribute("height",ae))}}},ee.prototype.getWidth=function(){return this._width},ee.prototype.getHeight=function(){return this._height},ee.prototype.dispose=function(){this.root&&(this.root.innerHTML=""),this._svgDom=this._viewport=this.storage=this._oldVNode=this._bgVNode=this._mainVNode=null},ee.prototype.clear=function(){this._svgDom&&(this._svgDom.innerHTML=null),this._oldVNode=null},ee.prototype.toDataURL=function(te){var ae=this.renderToString(),ne="data:image/svg+xml;";return te?(ae=encodeBase64(ae),ae&&ne+"base64,"+ae):ne+"charset=UTF-8,"+encodeURIComponent(ae)},ee}();function createMethodNotSupport(ee){return function(){}}function createBackgroundVNode(ee,te,ae,ne){var ie;if(ae&&ae!=="none")if(ie=createVNode("rect","bg",{width:ee,height:te,x:"0",y:"0",id:"0"}),isGradient(ae))setGradient({fill:ae},ie.attrs,"fill",ne);else if(isPattern(ae))setPattern({style:{fill:ae},dirty:noop$1,getBoundingRect:function(){return{width:ee,height:te}}},ie.attrs,"fill",ne);else{var oe=normalizeColor(ae),se=oe.color,le=oe.opacity;ie.attrs.fill=se,le<1&&(ie.attrs["fill-opacity"]=le)}return ie}const SVGPainter$1=SVGPainter;function install$S(ee){ee.registerPainter("svg",SVGPainter$1)}function createDom(ee,te,ae){var ne=platformApi.createCanvas(),ie=te.getWidth(),oe=te.getHeight(),se=ne.style;return se&&(se.position="absolute",se.left="0",se.top="0",se.width=ie+"px",se.height=oe+"px",ne.setAttribute("data-zr-dom-id",ee)),ne.width=ie*ae,ne.height=oe*ae,ne}var Layer=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this)||this;oe.motionBlur=!1,oe.lastFrameAlpha=.7,oe.dpr=1,oe.virtual=!1,oe.config={},oe.incremental=!1,oe.zlevel=0,oe.maxRepaintRectCount=5,oe.__dirty=!0,oe.__firstTimePaint=!0,oe.__used=!1,oe.__drawIndex=0,oe.__startIndex=0,oe.__endIndex=0,oe.__prevStartIndex=null,oe.__prevEndIndex=null;var se;ie=ie||devicePixelRatio,typeof ae=="string"?se=createDom(ae,ne,ie):isObject$4(ae)&&(se=ae,ae=se.id),oe.id=ae,oe.dom=se;var le=se.style;return le&&(disableUserSelect(se),se.onselectstart=function(){return!1},le.padding="0",le.margin="0",le.borderWidth="0"),oe.painter=ne,oe.dpr=ie,oe}return te.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex},te.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex,this.__prevEndIndex=this.__endIndex},te.prototype.initContext=function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},te.prototype.setUnpainted=function(){this.__firstTimePaint=!0},te.prototype.createBackBuffer=function(){var ae=this.dpr;this.domBack=createDom("back-"+this.id,this.painter,ae),this.ctxBack=this.domBack.getContext("2d"),ae!==1&&this.ctxBack.scale(ae,ae)},te.prototype.createRepaintRects=function(ae,ne,ie,oe){if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;var se=[],le=this.maxRepaintRectCount,ue=!1,ce=new BoundingRect$1(0,0,0,0);function de(_e){if(!(!_e.isFinite()||_e.isZero()))if(se.length===0){var be=new BoundingRect$1(0,0,0,0);be.copy(_e),se.push(be)}else{for(var xe=!1,$e=1/0,Se=0,we=0;we<se.length;++we){var Ae=se[we];if(Ae.intersect(_e)){var Te=new BoundingRect$1(0,0,0,0);Te.copy(Ae),Te.union(_e),se[we]=Te,xe=!0;break}else if(ue){ce.copy(_e),ce.union(Ae);var De=_e.width*_e.height,Me=Ae.width*Ae.height,Ie=ce.width*ce.height,Ce=Ie-De-Me;Ce<$e&&($e=Ce,Se=we)}}if(ue&&(se[Se].union(_e),xe=!0),!xe){var be=new BoundingRect$1(0,0,0,0);be.copy(_e),se.push(be)}ue||(ue=se.length>=le)}}for(var he=this.__startIndex;he<this.__endIndex;++he){var fe=ae[he];if(fe){var pe=fe.shouldBePainted(ie,oe,!0,!0),ve=fe.__isRendered&&(fe.__dirty&REDRAW_BIT||!pe)?fe.getPrevPaintRect():null;ve&&de(ve);var ge=pe&&(fe.__dirty&REDRAW_BIT||!fe.__isRendered)?fe.getPaintRect():null;ge&&de(ge)}}for(var he=this.__prevStartIndex;he<this.__prevEndIndex;++he){var fe=ne[he],pe=fe.shouldBePainted(ie,oe,!0,!0);if(fe&&(!pe||!fe.__zr)&&fe.__isRendered){var ve=fe.getPrevPaintRect();ve&&de(ve)}}var me;do{me=!1;for(var he=0;he<se.length;){if(se[he].isZero()){se.splice(he,1);continue}for(var ye=he+1;ye<se.length;)se[he].intersect(se[ye])?(me=!0,se[he].union(se[ye]),se.splice(ye,1)):ye++;he++}}while(me);return this._paintRects=se,se},te.prototype.debugGetPaintRects=function(){return(this._paintRects||[]).slice()},te.prototype.resize=function(ae,ne){var ie=this.dpr,oe=this.dom,se=oe.style,le=this.domBack;se&&(se.width=ae+"px",se.height=ne+"px"),oe.width=ae*ie,oe.height=ne*ie,le&&(le.width=ae*ie,le.height=ne*ie,ie!==1&&this.ctxBack.scale(ie,ie))},te.prototype.clear=function(ae,ne,ie){var oe=this.dom,se=this.ctx,le=oe.width,ue=oe.height;ne=ne||this.clearColor;var ce=this.motionBlur&&!ae,de=this.lastFrameAlpha,he=this.dpr,fe=this;ce&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(oe,0,0,le/he,ue/he));var pe=this.domBack;function ve(ge,me,ye,_e){if(se.clearRect(ge,me,ye,_e),ne&&ne!=="transparent"){var be=void 0;if(isGradientObject(ne)){var xe=ne.global||ne.__width===ye&&ne.__height===_e;be=xe&&ne.__canvasGradient||getCanvasGradient(se,ne,{x:0,y:0,width:ye,height:_e}),ne.__canvasGradient=be,ne.__width=ye,ne.__height=_e}else isImagePatternObject(ne)&&(ne.scaleX=ne.scaleX||he,ne.scaleY=ne.scaleY||he,be=createCanvasPattern(se,ne,{dirty:function(){fe.setUnpainted(),fe.__painter.refresh()}}));se.save(),se.fillStyle=be||ne,se.fillRect(ge,me,ye,_e),se.restore()}ce&&(se.save(),se.globalAlpha=de,se.drawImage(pe,ge,me,ye,_e),se.restore())}!ie||ce?ve(0,0,le,ue):ie.length&&each$f(ie,function(ge){ve(ge.x*he,ge.y*he,ge.width*he,ge.height*he)})},te}(Eventful$1);const Layer$1=Layer;var HOVER_LAYER_ZLEVEL=1e5,CANVAS_ZLEVEL=314159,EL_AFTER_INCREMENTAL_INC=.01,INCREMENTAL_INC=.001;function isLayerValid(ee){return ee?ee.__builtin__?!0:!(typeof ee.resize!="function"||typeof ee.refresh!="function"):!1}function createRoot(ee,te){var ae=document.createElement("div");return ae.style.cssText=["position:relative","width:"+ee+"px","height:"+te+"px","padding:0","margin:0","border-width:0"].join(";")+";",ae}var CanvasPainter=function(){function ee(te,ae,ne,ie){this.type="canvas",this._zlevelList=[],this._prevDisplayList=[],this._layers={},this._layerConfig={},this._needsManuallyCompositing=!1,this.type="canvas";var oe=!te.nodeName||te.nodeName.toUpperCase()==="CANVAS";this._opts=ne=extend$1({},ne||{}),this.dpr=ne.devicePixelRatio||devicePixelRatio,this._singleCanvas=oe,this.root=te;var se=te.style;se&&(disableUserSelect(te),te.innerHTML=""),this.storage=ae;var le=this._zlevelList;this._prevDisplayList=[];var ue=this._layers;if(oe){var de=te,he=de.width,fe=de.height;ne.width!=null&&(he=ne.width),ne.height!=null&&(fe=ne.height),this.dpr=ne.devicePixelRatio||1,de.width=he*this.dpr,de.height=fe*this.dpr,this._width=he,this._height=fe;var pe=new Layer$1(de,this,this.dpr);pe.__builtin__=!0,pe.initContext(),ue[CANVAS_ZLEVEL]=pe,pe.zlevel=CANVAS_ZLEVEL,le.push(CANVAS_ZLEVEL),this._domRoot=te}else{this._width=getSize$1(te,0,ne),this._height=getSize$1(te,1,ne);var ce=this._domRoot=createRoot(this._width,this._height);te.appendChild(ce)}}return ee.prototype.getType=function(){return"canvas"},ee.prototype.isSingleCanvas=function(){return this._singleCanvas},ee.prototype.getViewportRoot=function(){return this._domRoot},ee.prototype.getViewportRootOffset=function(){var te=this.getViewportRoot();if(te)return{offsetLeft:te.offsetLeft||0,offsetTop:te.offsetTop||0}},ee.prototype.refresh=function(te){var ae=this.storage.getDisplayList(!0),ne=this._prevDisplayList,ie=this._zlevelList;this._redrawId=Math.random(),this._paintList(ae,ne,te,this._redrawId);for(var oe=0;oe<ie.length;oe++){var se=ie[oe],le=this._layers[se];if(!le.__builtin__&&le.refresh){var ue=oe===0?this._backgroundColor:null;le.refresh(ue)}}return this._opts.useDirtyRect&&(this._prevDisplayList=ae.slice()),this},ee.prototype.refreshHover=function(){this._paintHoverList(this.storage.getDisplayList(!1))},ee.prototype._paintHoverList=function(te){var ae=te.length,ne=this._hoverlayer;if(ne&&ne.clear(),!!ae){for(var ie={inHover:!0,viewWidth:this._width,viewHeight:this._height},oe,se=0;se<ae;se++){var le=te[se];le.__inHover&&(ne||(ne=this._hoverlayer=this.getLayer(HOVER_LAYER_ZLEVEL)),oe||(oe=ne.ctx,oe.save()),brush$1(oe,le,ie,se===ae-1))}oe&&oe.restore()}},ee.prototype.getHoverLayer=function(){return this.getLayer(HOVER_LAYER_ZLEVEL)},ee.prototype.paintOne=function(te,ae){brushSingle(te,ae)},ee.prototype._paintList=function(te,ae,ne,ie){if(this._redrawId===ie){ne=ne||!1,this._updateLayerStatus(te);var oe=this._doPaintList(te,ae,ne),se=oe.finished,le=oe.needsRefreshHover;if(this._needsManuallyCompositing&&this._compositeManually(),le&&this._paintHoverList(te),se)this.eachLayer(function(ce){ce.afterBrush&&ce.afterBrush()});else{var ue=this;requestAnimationFrame$2(function(){ue._paintList(te,ae,ne,ie)})}}},ee.prototype._compositeManually=function(){var te=this.getLayer(CANVAS_ZLEVEL).ctx,ae=this._domRoot.width,ne=this._domRoot.height;te.clearRect(0,0,ae,ne),this.eachBuiltinLayer(function(ie){ie.virtual&&te.drawImage(ie.dom,0,0,ae,ne)})},ee.prototype._doPaintList=function(te,ae,ne){for(var ie=this,oe=[],se=this._opts.useDirtyRect,le=0;le<this._zlevelList.length;le++){var ue=this._zlevelList[le],ce=this._layers[ue];ce.__builtin__&&ce!==this._hoverlayer&&(ce.__dirty||ne)&&oe.push(ce)}for(var de=!0,he=!1,fe=function(ge){var me=oe[ge],ye=me.ctx,_e=se&&me.createRepaintRects(te,ae,pe._width,pe._height),be=ne?me.__startIndex:me.__drawIndex,xe=!ne&&me.incremental&&Date.now,$e=xe&&Date.now(),Se=me.zlevel===pe._zlevelList[0]?pe._backgroundColor:null;if(me.__startIndex===me.__endIndex)me.clear(!1,Se,_e);else if(be===me.__startIndex){var we=te[be];(!we.incremental||!we.notClear||ne)&&me.clear(!1,Se,_e)}be===-1&&(console.error("For some unknown reason. drawIndex is -1"),be=me.__startIndex);var Ae,Te=function(Ce){var Ee={inHover:!1,allClipped:!1,prevEl:null,viewWidth:ie._width,viewHeight:ie._height};for(Ae=be;Ae<me.__endIndex;Ae++){var Re=te[Ae];if(Re.__inHover&&(he=!0),ie._doPaintEl(Re,me,se,Ce,Ee,Ae===me.__endIndex-1),xe){var ke=Date.now()-$e;if(ke>15)break}}Ee.prevElClipPaths&&ye.restore()};if(_e)if(_e.length===0)Ae=me.__endIndex;else for(var De=pe.dpr,Me=0;Me<_e.length;++Me){var Ie=_e[Me];ye.save(),ye.beginPath(),ye.rect(Ie.x*De,Ie.y*De,Ie.width*De,Ie.height*De),ye.clip(),Te(Ie),ye.restore()}else ye.save(),Te(),ye.restore();me.__drawIndex=Ae,me.__drawIndex<me.__endIndex&&(de=!1)},pe=this,ve=0;ve<oe.length;ve++)fe(ve);return env$1.wxa&&each$f(this._layers,function(ge){ge&&ge.ctx&&ge.ctx.draw&&ge.ctx.draw()}),{finished:de,needsRefreshHover:he}},ee.prototype._doPaintEl=function(te,ae,ne,ie,oe,se){var le=ae.ctx;if(ne){var ue=te.getPaintRect();(!ie||ue&&ue.intersect(ie))&&(brush$1(le,te,oe,se),te.setPrevPaintRect(ue))}else brush$1(le,te,oe,se)},ee.prototype.getLayer=function(te,ae){this._singleCanvas&&!this._needsManuallyCompositing&&(te=CANVAS_ZLEVEL);var ne=this._layers[te];return ne||(ne=new Layer$1("zr_"+te,this,this.dpr),ne.zlevel=te,ne.__builtin__=!0,this._layerConfig[te]?merge$1(ne,this._layerConfig[te],!0):this._layerConfig[te-EL_AFTER_INCREMENTAL_INC]&&merge$1(ne,this._layerConfig[te-EL_AFTER_INCREMENTAL_INC],!0),ae&&(ne.virtual=ae),this.insertLayer(te,ne),ne.initContext()),ne},ee.prototype.insertLayer=function(te,ae){var ne=this._layers,ie=this._zlevelList,oe=ie.length,se=this._domRoot,le=null,ue=-1;if(!ne[te]&&isLayerValid(ae)){if(oe>0&&te>ie[0]){for(ue=0;ue<oe-1&&!(ie[ue]<te&&ie[ue+1]>te);ue++);le=ne[ie[ue]]}if(ie.splice(ue+1,0,te),ne[te]=ae,!ae.virtual)if(le){var ce=le.dom;ce.nextSibling?se.insertBefore(ae.dom,ce.nextSibling):se.appendChild(ae.dom)}else se.firstChild?se.insertBefore(ae.dom,se.firstChild):se.appendChild(ae.dom);ae.__painter=this}},ee.prototype.eachLayer=function(te,ae){for(var ne=this._zlevelList,ie=0;ie<ne.length;ie++){var oe=ne[ie];te.call(ae,this._layers[oe],oe)}},ee.prototype.eachBuiltinLayer=function(te,ae){for(var ne=this._zlevelList,ie=0;ie<ne.length;ie++){var oe=ne[ie],se=this._layers[oe];se.__builtin__&&te.call(ae,se,oe)}},ee.prototype.eachOtherLayer=function(te,ae){for(var ne=this._zlevelList,ie=0;ie<ne.length;ie++){var oe=ne[ie],se=this._layers[oe];se.__builtin__||te.call(ae,se,oe)}},ee.prototype.getLayers=function(){return this._layers},ee.prototype._updateLayerStatus=function(te){this.eachBuiltinLayer(function(he,fe){he.__dirty=he.__used=!1});function ae(he){oe&&(oe.__endIndex!==he&&(oe.__dirty=!0),oe.__endIndex=he)}if(this._singleCanvas)for(var ne=1;ne<te.length;ne++){var ie=te[ne];if(ie.zlevel!==te[ne-1].zlevel||ie.incremental){this._needsManuallyCompositing=!0;break}}var oe=null,se=0,le,ue;for(ue=0;ue<te.length;ue++){var ie=te[ue],ce=ie.zlevel,de=void 0;le!==ce&&(le=ce,se=0),ie.incremental?(de=this.getLayer(ce+INCREMENTAL_INC,this._needsManuallyCompositing),de.incremental=!0,se=1):de=this.getLayer(ce+(se>0?EL_AFTER_INCREMENTAL_INC:0),this._needsManuallyCompositing),de.__builtin__||logError("ZLevel "+ce+" has been used by unkown layer "+de.id),de!==oe&&(de.__used=!0,de.__startIndex!==ue&&(de.__dirty=!0),de.__startIndex=ue,de.incremental?de.__drawIndex=-1:de.__drawIndex=ue,ae(ue),oe=de),ie.__dirty&REDRAW_BIT&&!ie.__inHover&&(de.__dirty=!0,de.incremental&&de.__drawIndex<0&&(de.__drawIndex=ue))}ae(ue),this.eachBuiltinLayer(function(he,fe){!he.__used&&he.getElementCount()>0&&(he.__dirty=!0,he.__startIndex=he.__endIndex=he.__drawIndex=0),he.__dirty&&he.__drawIndex<0&&(he.__drawIndex=he.__startIndex)})},ee.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},ee.prototype._clearLayer=function(te){te.clear()},ee.prototype.setBackgroundColor=function(te){this._backgroundColor=te,each$f(this._layers,function(ae){ae.setUnpainted()})},ee.prototype.configLayer=function(te,ae){if(ae){var ne=this._layerConfig;ne[te]?merge$1(ne[te],ae,!0):ne[te]=ae;for(var ie=0;ie<this._zlevelList.length;ie++){var oe=this._zlevelList[ie];if(oe===te||oe===te+EL_AFTER_INCREMENTAL_INC){var se=this._layers[oe];merge$1(se,ne[te],!0)}}}},ee.prototype.delLayer=function(te){var ae=this._layers,ne=this._zlevelList,ie=ae[te];ie&&(ie.dom.parentNode.removeChild(ie.dom),delete ae[te],ne.splice(indexOf(ne,te),1))},ee.prototype.resize=function(te,ae){if(this._domRoot.style){var ne=this._domRoot;ne.style.display="none";var ie=this._opts,oe=this.root;if(te!=null&&(ie.width=te),ae!=null&&(ie.height=ae),te=getSize$1(oe,0,ie),ae=getSize$1(oe,1,ie),ne.style.display="",this._width!==te||ae!==this._height){ne.style.width=te+"px",ne.style.height=ae+"px";for(var se in this._layers)this._layers.hasOwnProperty(se)&&this._layers[se].resize(te,ae);this.refresh(!0)}this._width=te,this._height=ae}else{if(te==null||ae==null)return;this._width=te,this._height=ae,this.getLayer(CANVAS_ZLEVEL).resize(te,ae)}return this},ee.prototype.clearLayer=function(te){var ae=this._layers[te];ae&&ae.clear()},ee.prototype.dispose=function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},ee.prototype.getRenderedCanvas=function(te){if(te=te||{},this._singleCanvas&&!this._compositeManually)return this._layers[CANVAS_ZLEVEL].dom;var ae=new Layer$1("image",this,te.pixelRatio||this.dpr);ae.initContext(),ae.clear(!1,te.backgroundColor||this._backgroundColor);var ne=ae.ctx;if(te.pixelRatio<=this.dpr){this.refresh();var ie=ae.dom.width,oe=ae.dom.height;this.eachLayer(function(he){he.__builtin__?ne.drawImage(he.dom,0,0,ie,oe):he.renderToCanvas&&(ne.save(),he.renderToCanvas(ne),ne.restore())})}else for(var se={inHover:!1,viewWidth:this._width,viewHeight:this._height},le=this.storage.getDisplayList(!0),ue=0,ce=le.length;ue<ce;ue++){var de=le[ue];brush$1(ne,de,se,ue===ce-1)}return ae.dom},ee.prototype.getWidth=function(){return this._width},ee.prototype.getHeight=function(){return this._height},ee}();const CanvasPainter$1=CanvasPainter;function install$R(ee){ee.registerPainter("canvas",CanvasPainter$1)}var LineSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.hasSymbolVisual=!0,ae}return te.prototype.getInitialData=function(ae){return createSeriesData(null,this,{useEncodeDefaulter:!0})},te.prototype.getLegendIcon=function(ae){var ne=new Group$4,ie=createSymbol$1("line",0,ae.itemHeight/2,ae.itemWidth,0,ae.lineStyle.stroke,!1);ne.add(ie),ie.setStyle(ae.lineStyle);var oe=this.getData().getVisual("symbol"),se=this.getData().getVisual("symbolRotate"),le=oe==="none"?"circle":oe,ue=ae.itemHeight*.8,ce=createSymbol$1(le,(ae.itemWidth-ue)/2,(ae.itemHeight-ue)/2,ue,ue,ae.itemStyle.fill);ne.add(ce),ce.setStyle(ae.itemStyle);var de=ae.iconRotate==="inherit"?se:ae.iconRotate||0;return ce.rotation=de*Math.PI/180,ce.setOrigin([ae.itemWidth/2,ae.itemHeight/2]),le.indexOf("empty")>-1&&(ce.style.stroke=ce.style.fill,ce.style.fill="#fff",ce.style.lineWidth=2),ne},te.type="series.line",te.dependencies=["grid","polar"],te.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},te}(SeriesModel$1);const LineSeries=LineSeriesModel;function getDefaultLabel(ee,te){var ae=ee.mapDimensionsAll("defaultedLabel"),ne=ae.length;if(ne===1){var ie=retrieveRawValue(ee,te,ae[0]);return ie!=null?ie+"":null}else if(ne){for(var oe=[],se=0;se<ae.length;se++)oe.push(retrieveRawValue(ee,te,ae[se]));return oe.join(" ")}}function getDefaultInterpolatedLabel(ee,te){var ae=ee.mapDimensionsAll("defaultedLabel");if(!isArray$2(te))return te+"";for(var ne=[],ie=0;ie<ae.length;ie++){var oe=ee.getDimensionIndex(ae[ie]);oe>=0&&ne.push(te[oe])}return ne.join(" ")}var Symbol$1=function(ee){__extends(te,ee);function te(ae,ne,ie,oe){var se=ee.call(this)||this;return se.updateData(ae,ne,ie,oe),se}return te.prototype._createSymbol=function(ae,ne,ie,oe,se){this.removeAll();var le=createSymbol$1(ae,-1,-1,2,2,null,se);le.attr({z2:100,culling:!0,scaleX:oe[0]/2,scaleY:oe[1]/2}),le.drift=driftSymbol,this._symbolType=ae,this.add(le)},te.prototype.stopSymbolAnimation=function(ae){this.childAt(0).stopAnimation(null,ae)},te.prototype.getSymbolType=function(){return this._symbolType},te.prototype.getSymbolPath=function(){return this.childAt(0)},te.prototype.highlight=function(){enterEmphasis(this.childAt(0))},te.prototype.downplay=function(){leaveEmphasis(this.childAt(0))},te.prototype.setZ=function(ae,ne){var ie=this.childAt(0);ie.zlevel=ae,ie.z=ne},te.prototype.setDraggable=function(ae,ne){var ie=this.childAt(0);ie.draggable=ae,ie.cursor=!ne&&ae?"move":ie.cursor},te.prototype.updateData=function(ae,ne,ie,oe){this.silent=!1;var se=ae.getItemVisual(ne,"symbol")||"circle",le=ae.hostModel,ue=te.getSymbolSize(ae,ne),ce=se!==this._symbolType,de=oe&&oe.disableAnimation;if(ce){var he=ae.getItemVisual(ne,"symbolKeepAspect");this._createSymbol(se,ae,ne,ue,he)}else{var fe=this.childAt(0);fe.silent=!1;var pe={scaleX:ue[0]/2,scaleY:ue[1]/2};de?fe.attr(pe):updateProps$1(fe,pe,le,ne),saveOldStyle(fe)}if(this._updateCommon(ae,ne,ue,ie,oe),ce){var fe=this.childAt(0);if(!de){var pe={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:fe.style.opacity}};fe.scaleX=fe.scaleY=0,fe.style.opacity=0,initProps(fe,pe,le,ne)}}de&&this.childAt(0).stopAnimation("leave")},te.prototype._updateCommon=function(ae,ne,ie,oe,se){var le=this.childAt(0),ue=ae.hostModel,ce,de,he,fe,pe,ve,ge,me,ye;if(oe&&(ce=oe.emphasisItemStyle,de=oe.blurItemStyle,he=oe.selectItemStyle,fe=oe.focus,pe=oe.blurScope,ge=oe.labelStatesModels,me=oe.hoverScale,ye=oe.cursorStyle,ve=oe.emphasisDisabled),!oe||ae.hasItemOption){var _e=oe&&oe.itemModel?oe.itemModel:ae.getItemModel(ne),be=_e.getModel("emphasis");ce=be.getModel("itemStyle").getItemStyle(),he=_e.getModel(["select","itemStyle"]).getItemStyle(),de=_e.getModel(["blur","itemStyle"]).getItemStyle(),fe=be.get("focus"),pe=be.get("blurScope"),ve=be.get("disabled"),ge=getLabelStatesModels(_e),me=be.getShallow("scale"),ye=_e.getShallow("cursor")}var xe=ae.getItemVisual(ne,"symbolRotate");le.attr("rotation",(xe||0)*Math.PI/180||0);var $e=normalizeSymbolOffset(ae.getItemVisual(ne,"symbolOffset"),ie);$e&&(le.x=$e[0],le.y=$e[1]),ye&&le.attr("cursor",ye);var Se=ae.getItemVisual(ne,"style"),we=Se.fill;if(le instanceof ZRImage$1){var Ae=le.style;le.useStyle(extend$1({image:Ae.image,x:Ae.x,y:Ae.y,width:Ae.width,height:Ae.height},Se))}else le.__isEmptyBrush?le.useStyle(extend$1({},Se)):le.useStyle(Se),le.style.decal=null,le.setColor(we,se&&se.symbolInnerColor),le.style.strokeNoScale=!0;var Te=ae.getItemVisual(ne,"liftZ"),De=this._z2;Te!=null?De==null&&(this._z2=le.z2,le.z2+=Te):De!=null&&(le.z2=De,this._z2=null);var Me=se&&se.useNameLabel;setLabelStyle(le,ge,{labelFetcher:ue,labelDataIndex:ne,defaultText:Ie,inheritColor:we,defaultOpacity:Se.opacity});function Ie(Re){return Me?ae.getName(Re):getDefaultLabel(ae,Re)}this._sizeX=ie[0]/2,this._sizeY=ie[1]/2;var Ce=le.ensureState("emphasis");Ce.style=ce,le.ensureState("select").style=he,le.ensureState("blur").style=de;var Ee=me==null||me===!0?Math.max(1.1,3/this._sizeY):isFinite(me)&&me>0?+me:1;Ce.scaleX=this._sizeX*Ee,Ce.scaleY=this._sizeY*Ee,this.setSymbolScale(1),toggleHoverEmphasis(this,fe,pe,ve)},te.prototype.setSymbolScale=function(ae){this.scaleX=this.scaleY=ae},te.prototype.fadeOut=function(ae,ne,ie){var oe=this.childAt(0),se=getECData(this).dataIndex,le=ie&&ie.animation;if(this.silent=oe.silent=!0,ie&&ie.fadeLabel){var ue=oe.getTextContent();ue&&removeElement(ue,{style:{opacity:0}},ne,{dataIndex:se,removeOpt:le,cb:function(){oe.removeTextContent()}})}else oe.removeTextContent();removeElement(oe,{style:{opacity:0},scaleX:0,scaleY:0},ne,{dataIndex:se,cb:ae,removeOpt:le})},te.getSymbolSize=function(ae,ne){return normalizeSymbolSize(ae.getItemVisual(ne,"symbolSize"))},te}(Group$4);function driftSymbol(ee,te){this.parent.drift(ee,te)}const SymbolClz=Symbol$1;function symbolNeedsDraw$1(ee,te,ae,ne){return te&&!isNaN(te[0])&&!isNaN(te[1])&&!(ne.isIgnore&&ne.isIgnore(ae))&&!(ne.clipShape&&!ne.clipShape.contain(te[0],te[1]))&&ee.getItemVisual(ae,"symbol")!=="none"}function normalizeUpdateOpt(ee){return ee!=null&&!isObject$4(ee)&&(ee={isIgnore:ee}),ee||{}}function makeSeriesScope$2(ee){var te=ee.hostModel,ae=te.getModel("emphasis");return{emphasisItemStyle:ae.getModel("itemStyle").getItemStyle(),blurItemStyle:te.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:te.getModel(["select","itemStyle"]).getItemStyle(),focus:ae.get("focus"),blurScope:ae.get("blurScope"),emphasisDisabled:ae.get("disabled"),hoverScale:ae.get("scale"),labelStatesModels:getLabelStatesModels(te),cursorStyle:te.get("cursor")}}var SymbolDraw=function(){function ee(te){this.group=new Group$4,this._SymbolCtor=te||SymbolClz}return ee.prototype.updateData=function(te,ae){this._progressiveEls=null,ae=normalizeUpdateOpt(ae);var ne=this.group,ie=te.hostModel,oe=this._data,se=this._SymbolCtor,le=ae.disableAnimation,ue=makeSeriesScope$2(te),ce={disableAnimation:le},de=ae.getSymbolPoint||function(he){return te.getItemLayout(he)};oe||ne.removeAll(),te.diff(oe).add(function(he){var fe=de(he);if(symbolNeedsDraw$1(te,fe,he,ae)){var pe=new se(te,he,ue,ce);pe.setPosition(fe),te.setItemGraphicEl(he,pe),ne.add(pe)}}).update(function(he,fe){var pe=oe.getItemGraphicEl(fe),ve=de(he);if(!symbolNeedsDraw$1(te,ve,he,ae)){ne.remove(pe);return}var ge=te.getItemVisual(he,"symbol")||"circle",me=pe&&pe.getSymbolType&&pe.getSymbolType();if(!pe||me&&me!==ge)ne.remove(pe),pe=new se(te,he,ue,ce),pe.setPosition(ve);else{pe.updateData(te,he,ue,ce);var ye={x:ve[0],y:ve[1]};le?pe.attr(ye):updateProps$1(pe,ye,ie)}ne.add(pe),te.setItemGraphicEl(he,pe)}).remove(function(he){var fe=oe.getItemGraphicEl(he);fe&&fe.fadeOut(function(){ne.remove(fe)},ie)}).execute(),this._getSymbolPoint=de,this._data=te},ee.prototype.updateLayout=function(){var te=this,ae=this._data;ae&&ae.eachItemGraphicEl(function(ne,ie){var oe=te._getSymbolPoint(ie);ne.setPosition(oe),ne.markRedraw()})},ee.prototype.incrementalPrepareUpdate=function(te){this._seriesScope=makeSeriesScope$2(te),this._data=null,this.group.removeAll()},ee.prototype.incrementalUpdate=function(te,ae,ne){this._progressiveEls=[],ne=normalizeUpdateOpt(ne);function ie(ue){ue.isGroup||(ue.incremental=!0,ue.ensureState("emphasis").hoverLayer=!0)}for(var oe=te.start;oe<te.end;oe++){var se=ae.getItemLayout(oe);if(symbolNeedsDraw$1(ae,se,oe,ne)){var le=new this._SymbolCtor(ae,oe,this._seriesScope);le.traverse(ie),le.setPosition(se),this.group.add(le),ae.setItemGraphicEl(oe,le),this._progressiveEls.push(le)}}},ee.prototype.eachRendered=function(te){traverseElements(this._progressiveEls||this.group,te)},ee.prototype.remove=function(te){var ae=this.group,ne=this._data;ne&&te?ne.eachItemGraphicEl(function(ie){ie.fadeOut(function(){ae.remove(ie)},ne.hostModel)}):ae.removeAll()},ee}();const SymbolDraw$1=SymbolDraw;function prepareDataCoordInfo(ee,te,ae){var ne=ee.getBaseAxis(),ie=ee.getOtherAxis(ne),oe=getValueStart(ie,ae),se=ne.dim,le=ie.dim,ue=te.mapDimension(le),ce=te.mapDimension(se),de=le==="x"||le==="radius"?1:0,he=map$1(ee.dimensions,function(ve){return te.mapDimension(ve)}),fe=!1,pe=te.getCalculationInfo("stackResultDimension");return isDimensionStacked(te,he[0])&&(fe=!0,he[0]=pe),isDimensionStacked(te,he[1])&&(fe=!0,he[1]=pe),{dataDimsForPoint:he,valueStart:oe,valueAxisDim:le,baseAxisDim:se,stacked:!!fe,valueDim:ue,baseDim:ce,baseDataOffset:de,stackedOverDimension:te.getCalculationInfo("stackedOverDimension")}}function getValueStart(ee,te){var ae=0,ne=ee.scale.getExtent();return te==="start"?ae=ne[0]:te==="end"?ae=ne[1]:isNumber$1(te)&&!isNaN(te)?ae=te:ne[0]>0?ae=ne[0]:ne[1]<0&&(ae=ne[1]),ae}function getStackedOnPoint(ee,te,ae,ne){var ie=NaN;ee.stacked&&(ie=ae.get(ae.getCalculationInfo("stackedOverDimension"),ne)),isNaN(ie)&&(ie=ee.valueStart);var oe=ee.baseDataOffset,se=[];return se[oe]=ae.get(ee.baseDim,ne),se[1-oe]=ie,te.dataToPoint(se)}function diffData(ee,te){var ae=[];return te.diff(ee).add(function(ne){ae.push({cmd:"+",idx:ne})}).update(function(ne,ie){ae.push({cmd:"=",idx:ie,idx1:ne})}).remove(function(ne){ae.push({cmd:"-",idx:ne})}).execute(),ae}function lineAnimationDiff(ee,te,ae,ne,ie,oe,se,le){for(var ue=diffData(ee,te),ce=[],de=[],he=[],fe=[],pe=[],ve=[],ge=[],me=prepareDataCoordInfo(ie,te,se),ye=ee.getLayout("points")||[],_e=te.getLayout("points")||[],be=0;be<ue.length;be++){var xe=ue[be],$e=!0,Se=void 0,we=void 0;switch(xe.cmd){case"=":Se=xe.idx*2,we=xe.idx1*2;var Ae=ye[Se],Te=ye[Se+1],De=_e[we],Me=_e[we+1];(isNaN(Ae)||isNaN(Te))&&(Ae=De,Te=Me),ce.push(Ae,Te),de.push(De,Me),he.push(ae[Se],ae[Se+1]),fe.push(ne[we],ne[we+1]),ge.push(te.getRawIndex(xe.idx1));break;case"+":var Ie=xe.idx,Ce=me.dataDimsForPoint,Ee=ie.dataToPoint([te.get(Ce[0],Ie),te.get(Ce[1],Ie)]);we=Ie*2,ce.push(Ee[0],Ee[1]),de.push(_e[we],_e[we+1]);var Re=getStackedOnPoint(me,ie,te,Ie);he.push(Re[0],Re[1]),fe.push(ne[we],ne[we+1]),ge.push(te.getRawIndex(Ie));break;case"-":$e=!1}$e&&(pe.push(xe),ve.push(ve.length))}ve.sort(function(We,Ue){return ge[We]-ge[Ue]});for(var ke=ce.length,Be=createFloat32Array(ke),Ne=createFloat32Array(ke),He=createFloat32Array(ke),qe=createFloat32Array(ke),Oe=[],be=0;be<ve.length;be++){var ze=ve[be],Ve=be*2,Ge=ze*2;Be[Ve]=ce[Ge],Be[Ve+1]=ce[Ge+1],Ne[Ve]=de[Ge],Ne[Ve+1]=de[Ge+1],He[Ve]=he[Ge],He[Ve+1]=he[Ge+1],qe[Ve]=fe[Ge],qe[Ve+1]=fe[Ge+1],Oe[be]=pe[ze]}return{current:Be,next:Ne,stackedOnCurrent:He,stackedOnNext:qe,status:Oe}}var mathMin$5=Math.min,mathMax$5=Math.max;function isPointNull$1(ee,te){return isNaN(ee)||isNaN(te)}function drawSegment(ee,te,ae,ne,ie,oe,se,le,ue){for(var ce,de,he,fe,pe,ve,ge=ae,me=0;me<ne;me++){var ye=te[ge*2],_e=te[ge*2+1];if(ge>=ie||ge<0)break;if(isPointNull$1(ye,_e)){if(ue){ge+=oe;continue}break}if(ge===ae)ee[oe>0?"moveTo":"lineTo"](ye,_e),he=ye,fe=_e;else{var be=ye-ce,xe=_e-de;if(be*be+xe*xe<.5){ge+=oe;continue}if(se>0){for(var $e=ge+oe,Se=te[$e*2],we=te[$e*2+1];Se===ye&&we===_e&&me<ne;)me++,$e+=oe,ge+=oe,Se=te[$e*2],we=te[$e*2+1],ye=te[ge*2],_e=te[ge*2+1],be=ye-ce,xe=_e-de;var Ae=me+1;if(ue)for(;isPointNull$1(Se,we)&&Ae<ne;)Ae++,$e+=oe,Se=te[$e*2],we=te[$e*2+1];var Te=.5,De=0,Me=0,Ie=void 0,Ce=void 0;if(Ae>=ne||isPointNull$1(Se,we))pe=ye,ve=_e;else{De=Se-ce,Me=we-de;var Ee=ye-ce,Re=Se-ye,ke=_e-de,Be=we-_e,Ne=void 0,He=void 0;if(le==="x"){Ne=Math.abs(Ee),He=Math.abs(Re);var qe=De>0?1:-1;pe=ye-qe*Ne*se,ve=_e,Ie=ye+qe*He*se,Ce=_e}else if(le==="y"){Ne=Math.abs(ke),He=Math.abs(Be);var Oe=Me>0?1:-1;pe=ye,ve=_e-Oe*Ne*se,Ie=ye,Ce=_e+Oe*He*se}else Ne=Math.sqrt(Ee*Ee+ke*ke),He=Math.sqrt(Re*Re+Be*Be),Te=He/(He+Ne),pe=ye-De*se*(1-Te),ve=_e-Me*se*(1-Te),Ie=ye+De*se*Te,Ce=_e+Me*se*Te,Ie=mathMin$5(Ie,mathMax$5(Se,ye)),Ce=mathMin$5(Ce,mathMax$5(we,_e)),Ie=mathMax$5(Ie,mathMin$5(Se,ye)),Ce=mathMax$5(Ce,mathMin$5(we,_e)),De=Ie-ye,Me=Ce-_e,pe=ye-De*Ne/He,ve=_e-Me*Ne/He,pe=mathMin$5(pe,mathMax$5(ce,ye)),ve=mathMin$5(ve,mathMax$5(de,_e)),pe=mathMax$5(pe,mathMin$5(ce,ye)),ve=mathMax$5(ve,mathMin$5(de,_e)),De=ye-pe,Me=_e-ve,Ie=ye+De*He/Ne,Ce=_e+Me*He/Ne}ee.bezierCurveTo(he,fe,pe,ve,ye,_e),he=Ie,fe=Ce}else ee.lineTo(ye,_e)}ce=ye,de=_e,ge+=oe}return me}var ECPolylineShape=function(){function ee(){this.smooth=0,this.smoothConstraint=!0}return ee}(),ECPolyline=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="ec-polyline",ne}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new ECPolylineShape},te.prototype.buildPath=function(ae,ne){var ie=ne.points,oe=0,se=ie.length/2;if(ne.connectNulls){for(;se>0&&isPointNull$1(ie[se*2-2],ie[se*2-1]);se--);for(;oe<se&&isPointNull$1(ie[oe*2],ie[oe*2+1]);oe++);}for(;oe<se;)oe+=drawSegment(ae,ie,oe,se,se,1,ne.smooth,ne.smoothMonotone,ne.connectNulls)+1},te.prototype.getPointOn=function(ae,ne){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var ie=this.path,oe=ie.data,se=PathProxy$1.CMD,le,ue,ce=ne==="x",de=[],he=0;he<oe.length;){var fe=oe[he++],pe=void 0,ve=void 0,ge=void 0,me=void 0,ye=void 0,_e=void 0,be=void 0;switch(fe){case se.M:le=oe[he++],ue=oe[he++];break;case se.L:if(pe=oe[he++],ve=oe[he++],be=ce?(ae-le)/(pe-le):(ae-ue)/(ve-ue),be<=1&&be>=0){var xe=ce?(ve-ue)*be+ue:(pe-le)*be+le;return ce?[ae,xe]:[xe,ae]}le=pe,ue=ve;break;case se.C:pe=oe[he++],ve=oe[he++],ge=oe[he++],me=oe[he++],ye=oe[he++],_e=oe[he++];var $e=ce?cubicRootAt(le,pe,ge,ye,ae,de):cubicRootAt(ue,ve,me,_e,ae,de);if($e>0)for(var Se=0;Se<$e;Se++){var we=de[Se];if(we<=1&&we>=0){var xe=ce?cubicAt(ue,ve,me,_e,we):cubicAt(le,pe,ge,ye,we);return ce?[ae,xe]:[xe,ae]}}le=ye,ue=_e;break}}},te}(Path$1),ECPolygonShape=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te}(ECPolylineShape),ECPolygon=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="ec-polygon",ne}return te.prototype.getDefaultShape=function(){return new ECPolygonShape},te.prototype.buildPath=function(ae,ne){var ie=ne.points,oe=ne.stackedOnPoints,se=0,le=ie.length/2,ue=ne.smoothMonotone;if(ne.connectNulls){for(;le>0&&isPointNull$1(ie[le*2-2],ie[le*2-1]);le--);for(;se<le&&isPointNull$1(ie[se*2],ie[se*2+1]);se++);}for(;se<le;){var ce=drawSegment(ae,ie,se,le,le,1,ne.smooth,ue,ne.connectNulls);drawSegment(ae,oe,se+ce-1,ce,le,-1,ne.stackedOnSmooth,ue,ne.connectNulls),se+=ce+1,ae.closePath()}},te}(Path$1);function createGridClipPath(ee,te,ae,ne,ie){var oe=ee.getArea(),se=oe.x,le=oe.y,ue=oe.width,ce=oe.height,de=ae.get(["lineStyle","width"])||2;se-=de/2,le-=de/2,ue+=de,ce+=de,se=Math.floor(se),ue=Math.round(ue);var he=new Rect$3({shape:{x:se,y:le,width:ue,height:ce}});if(te){var fe=ee.getBaseAxis(),pe=fe.isHorizontal(),ve=fe.inverse;pe?(ve&&(he.shape.x+=ue),he.shape.width=0):(ve||(he.shape.y+=ce),he.shape.height=0);var ge=isFunction$1(ie)?function(me){ie(me,he)}:null;initProps(he,{shape:{width:ue,height:ce,x:se,y:le}},ae,null,ne,ge)}return he}function createPolarClipPath(ee,te,ae){var ne=ee.getArea(),ie=round$3(ne.r0,1),oe=round$3(ne.r,1),se=new Sector$1({shape:{cx:round$3(ee.cx,1),cy:round$3(ee.cy,1),r0:ie,r:oe,startAngle:ne.startAngle,endAngle:ne.endAngle,clockwise:ne.clockwise}});if(te){var le=ee.getBaseAxis().dim==="angle";le?se.shape.endAngle=ne.startAngle:se.shape.r=ie,initProps(se,{shape:{endAngle:ne.endAngle,r:oe}},ae)}return se}function createClipPath(ee,te,ae,ne,ie){if(ee){if(ee.type==="polar")return createPolarClipPath(ee,te,ae);if(ee.type==="cartesian2d")return createGridClipPath(ee,te,ae,ne,ie)}else return null;return null}function isCoordinateSystemType(ee,te){return ee.type===te}function isPointsSame(ee,te){if(ee.length===te.length){for(var ae=0;ae<ee.length;ae++)if(ee[ae]!==te[ae])return;return!0}}function bboxFromPoints(ee){for(var te=1/0,ae=1/0,ne=-1/0,ie=-1/0,oe=0;oe<ee.length;){var se=ee[oe++],le=ee[oe++];isNaN(se)||(te=Math.min(se,te),ne=Math.max(se,ne)),isNaN(le)||(ae=Math.min(le,ae),ie=Math.max(le,ie))}return[[te,ae],[ne,ie]]}function getBoundingDiff(ee,te){var ae=bboxFromPoints(ee),ne=ae[0],ie=ae[1],oe=bboxFromPoints(te),se=oe[0],le=oe[1];return Math.max(Math.abs(ne[0]-se[0]),Math.abs(ne[1]-se[1]),Math.abs(ie[0]-le[0]),Math.abs(ie[1]-le[1]))}function getSmooth(ee){return isNumber$1(ee)?ee:ee?.5:0}function getStackedOnPoints(ee,te,ae){if(!ae.valueDim)return[];for(var ne=te.count(),ie=createFloat32Array(ne*2),oe=0;oe<ne;oe++){var se=getStackedOnPoint(ae,ee,te,oe);ie[oe*2]=se[0],ie[oe*2+1]=se[1]}return ie}function turnPointsIntoStep(ee,te,ae,ne){var ie=te.getBaseAxis(),oe=ie.dim==="x"||ie.dim==="radius"?0:1,se=[],le=0,ue=[],ce=[],de=[],he=[];if(ne){for(le=0;le<ee.length;le+=2)!isNaN(ee[le])&&!isNaN(ee[le+1])&&he.push(ee[le],ee[le+1]);ee=he}for(le=0;le<ee.length-2;le+=2)switch(de[0]=ee[le+2],de[1]=ee[le+3],ce[0]=ee[le],ce[1]=ee[le+1],se.push(ce[0],ce[1]),ae){case"end":ue[oe]=de[oe],ue[1-oe]=ce[1-oe],se.push(ue[0],ue[1]);break;case"middle":var fe=(ce[oe]+de[oe])/2,pe=[];ue[oe]=pe[oe]=fe,ue[1-oe]=ce[1-oe],pe[1-oe]=de[1-oe],se.push(ue[0],ue[1]),se.push(pe[0],pe[1]);break;default:ue[oe]=ce[oe],ue[1-oe]=de[1-oe],se.push(ue[0],ue[1])}return se.push(ee[le++],ee[le++]),se}function clipColorStops(ee,te){var ae=[],ne=ee.length,ie,oe;function se(de,he,fe){var pe=de.coord,ve=(fe-pe)/(he.coord-pe),ge=lerp(ve,[de.color,he.color]);return{coord:fe,color:ge}}for(var le=0;le<ne;le++){var ue=ee[le],ce=ue.coord;if(ce<0)ie=ue;else if(ce>te){oe?ae.push(se(oe,ue,te)):ie&&ae.push(se(ie,ue,0),se(ie,ue,te));break}else ie&&(ae.push(se(ie,ue,0)),ie=null),ae.push(ue),oe=ue}return ae}function getVisualGradient(ee,te,ae){var ne=ee.getVisual("visualMeta");if(!(!ne||!ne.length||!ee.count())&&te.type==="cartesian2d"){for(var ie,oe,se=ne.length-1;se>=0;se--){var le=ee.getDimensionInfo(ne[se].dimension);if(ie=le&&le.coordDim,ie==="x"||ie==="y"){oe=ne[se];break}}if(oe){var ue=te.getAxis(ie),ce=map$1(oe.stops,function(be){return{coord:ue.toGlobalCoord(ue.dataToCoord(be.value)),color:be.color}}),de=ce.length,he=oe.outerColors.slice();de&&ce[0].coord>ce[de-1].coord&&(ce.reverse(),he.reverse());var fe=clipColorStops(ce,ie==="x"?ae.getWidth():ae.getHeight()),pe=fe.length;if(!pe&&de)return ce[0].coord<0?he[1]?he[1]:ce[de-1].color:he[0]?he[0]:ce[0].color;var ve=10,ge=fe[0].coord-ve,me=fe[pe-1].coord+ve,ye=me-ge;if(ye<.001)return"transparent";each$f(fe,function(be){be.offset=(be.coord-ge)/ye}),fe.push({offset:pe?fe[pe-1].offset:.5,color:he[1]||"transparent"}),fe.unshift({offset:pe?fe[0].offset:.5,color:he[0]||"transparent"});var _e=new LinearGradient$1(0,0,0,0,fe,!0);return _e[ie]=ge,_e[ie+"2"]=me,_e}}}function getIsIgnoreFunc(ee,te,ae){var ne=ee.get("showAllSymbol"),ie=ne==="auto";if(!(ne&&!ie)){var oe=ae.getAxesByScale("ordinal")[0];if(oe&&!(ie&&canShowAllSymbolForCategory(oe,te))){var se=te.mapDimension(oe.dim),le={};return each$f(oe.getViewLabels(),function(ue){var ce=oe.scale.getRawOrdinalNumber(ue.tickValue);le[ce]=1}),function(ue){return!le.hasOwnProperty(te.get(se,ue))}}}}function canShowAllSymbolForCategory(ee,te){var ae=ee.getExtent(),ne=Math.abs(ae[1]-ae[0])/ee.scale.count();isNaN(ne)&&(ne=0);for(var ie=te.count(),oe=Math.max(1,Math.round(ie/5)),se=0;se<ie;se+=oe)if(SymbolClz.getSymbolSize(te,se)[ee.isHorizontal()?1:0]*1.5>ne)return!1;return!0}function isPointNull(ee,te){return isNaN(ee)||isNaN(te)}function getLastIndexNotNull(ee){for(var te=ee.length/2;te>0&&isPointNull(ee[te*2-2],ee[te*2-1]);te--);return te-1}function getPointAtIndex(ee,te){return[ee[te*2],ee[te*2+1]]}function getIndexRange(ee,te,ae){for(var ne=ee.length/2,ie=ae==="x"?0:1,oe,se,le=0,ue=-1,ce=0;ce<ne;ce++)if(se=ee[ce*2+ie],!(isNaN(se)||isNaN(ee[ce*2+1-ie]))){if(ce===0){oe=se;continue}if(oe<=te&&se>=te||oe>=te&&se<=te){ue=ce;break}le=ce,oe=se}return{range:[le,ue],t:(te-oe)/(se-oe)}}function anyStateShowEndLabel(ee){if(ee.get(["endLabel","show"]))return!0;for(var te=0;te<SPECIAL_STATES.length;te++)if(ee.get([SPECIAL_STATES[te],"endLabel","show"]))return!0;return!1}function createLineClipPath(ee,te,ae,ne){if(isCoordinateSystemType(te,"cartesian2d")){var ie=ne.getModel("endLabel"),oe=ie.get("valueAnimation"),se=ne.getData(),le={lastFrameIndex:0},ue=anyStateShowEndLabel(ne)?function(pe,ve){ee._endLabelOnDuring(pe,ve,se,le,oe,ie,te)}:null,ce=te.getBaseAxis().isHorizontal(),de=createGridClipPath(te,ae,ne,function(){var pe=ee._endLabel;pe&&ae&&le.originalX!=null&&pe.attr({x:le.originalX,y:le.originalY})},ue);if(!ne.get("clip",!0)){var he=de.shape,fe=Math.max(he.width,he.height);ce?(he.y-=fe,he.height+=fe*2):(he.x-=fe,he.width+=fe*2)}return ue&&ue(1,de),de}else return createPolarClipPath(te,ae,ne)}function getEndLabelStateSpecified(ee,te){var ae=te.getBaseAxis(),ne=ae.isHorizontal(),ie=ae.inverse,oe=ne?ie?"right":"left":"center",se=ne?"middle":ie?"top":"bottom";return{normal:{align:ee.get("align")||oe,verticalAlign:ee.get("verticalAlign")||se}}}var LineView=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.init=function(){var ae=new Group$4,ne=new SymbolDraw$1;this.group.add(ne.group),this._symbolDraw=ne,this._lineGroup=ae},te.prototype.render=function(ae,ne,ie){var oe=this,se=ae.coordinateSystem,le=this.group,ue=ae.getData(),ce=ae.getModel("lineStyle"),de=ae.getModel("areaStyle"),he=ue.getLayout("points")||[],fe=se.type==="polar",pe=this._coordSys,ve=this._symbolDraw,ge=this._polyline,me=this._polygon,ye=this._lineGroup,_e=!ne.ssr&&ae.isAnimationEnabled(),be=!de.isEmpty(),xe=de.get("origin"),$e=prepareDataCoordInfo(se,ue,xe),Se=be&&getStackedOnPoints(se,ue,$e),we=ae.get("showSymbol"),Ae=ae.get("connectNulls"),Te=we&&!fe&&getIsIgnoreFunc(ae,ue,se),De=this._data;De&&De.eachItemGraphicEl(function(Ue,Ye){Ue.__temp&&(le.remove(Ue),De.setItemGraphicEl(Ye,null))}),we||ve.remove(),le.add(ye);var Me=fe?!1:ae.get("step"),Ie;se&&se.getArea&&ae.get("clip",!0)&&(Ie=se.getArea(),Ie.width!=null?(Ie.x-=.1,Ie.y-=.1,Ie.width+=.2,Ie.height+=.2):Ie.r0&&(Ie.r0-=.5,Ie.r+=.5)),this._clipShapeForSymbol=Ie;var Ce=getVisualGradient(ue,se,ie)||ue.getVisual("style")[ue.getVisual("drawType")];if(!(ge&&pe.type===se.type&&Me===this._step))we&&ve.updateData(ue,{isIgnore:Te,clipShape:Ie,disableAnimation:!0,getSymbolPoint:function(Ue){return[he[Ue*2],he[Ue*2+1]]}}),_e&&this._initSymbolLabelAnimation(ue,se,Ie),Me&&(he=turnPointsIntoStep(he,se,Me,Ae),Se&&(Se=turnPointsIntoStep(Se,se,Me,Ae))),ge=this._newPolyline(he),be?me=this._newPolygon(he,Se):me&&(ye.remove(me),me=this._polygon=null),fe||this._initOrUpdateEndLabel(ae,se,convertToColorString(Ce)),ye.setClipPath(createLineClipPath(this,se,!0,ae));else{be&&!me?me=this._newPolygon(he,Se):me&&!be&&(ye.remove(me),me=this._polygon=null),fe||this._initOrUpdateEndLabel(ae,se,convertToColorString(Ce));var Ee=ye.getClipPath();if(Ee){var Re=createLineClipPath(this,se,!1,ae);initProps(Ee,{shape:Re.shape},ae)}else ye.setClipPath(createLineClipPath(this,se,!0,ae));we&&ve.updateData(ue,{isIgnore:Te,clipShape:Ie,disableAnimation:!0,getSymbolPoint:function(Ue){return[he[Ue*2],he[Ue*2+1]]}}),(!isPointsSame(this._stackedOnPoints,Se)||!isPointsSame(this._points,he))&&(_e?this._doUpdateAnimation(ue,Se,se,ie,Me,xe,Ae):(Me&&(he=turnPointsIntoStep(he,se,Me,Ae),Se&&(Se=turnPointsIntoStep(Se,se,Me,Ae))),ge.setShape({points:he}),me&&me.setShape({points:he,stackedOnPoints:Se})))}var ke=ae.getModel("emphasis"),Be=ke.get("focus"),Ne=ke.get("blurScope"),He=ke.get("disabled");if(ge.useStyle(defaults$2(ce.getLineStyle(),{fill:"none",stroke:Ce,lineJoin:"bevel"})),setStatesStylesFromModel(ge,ae,"lineStyle"),ge.style.lineWidth>0&&ae.get(["emphasis","lineStyle","width"])==="bolder"){var qe=ge.getState("emphasis").style;qe.lineWidth=+ge.style.lineWidth+1}getECData(ge).seriesIndex=ae.seriesIndex,toggleHoverEmphasis(ge,Be,Ne,He);var Oe=getSmooth(ae.get("smooth")),ze=ae.get("smoothMonotone");if(ge.setShape({smooth:Oe,smoothMonotone:ze,connectNulls:Ae}),me){var Ve=ue.getCalculationInfo("stackedOnSeries"),Ge=0;me.useStyle(defaults$2(de.getAreaStyle(),{fill:Ce,opacity:.7,lineJoin:"bevel",decal:ue.getVisual("style").decal})),Ve&&(Ge=getSmooth(Ve.get("smooth"))),me.setShape({smooth:Oe,stackedOnSmooth:Ge,smoothMonotone:ze,connectNulls:Ae}),setStatesStylesFromModel(me,ae,"areaStyle"),getECData(me).seriesIndex=ae.seriesIndex,toggleHoverEmphasis(me,Be,Ne,He)}var We=function(Ue){oe._changePolyState(Ue)};ue.eachItemGraphicEl(function(Ue){Ue&&(Ue.onHoverStateChange=We)}),this._polyline.onHoverStateChange=We,this._data=ue,this._coordSys=se,this._stackedOnPoints=Se,this._points=he,this._step=Me,this._valueOrigin=xe,ae.get("triggerLineEvent")&&(this.packEventData(ae,ge),me&&this.packEventData(ae,me))},te.prototype.packEventData=function(ae,ne){getECData(ne).eventData={componentType:"series",componentSubType:"line",componentIndex:ae.componentIndex,seriesIndex:ae.seriesIndex,seriesName:ae.name,seriesType:"line"}},te.prototype.highlight=function(ae,ne,ie,oe){var se=ae.getData(),le=queryDataIndex(se,oe);if(this._changePolyState("emphasis"),!(le instanceof Array)&&le!=null&&le>=0){var ue=se.getLayout("points"),ce=se.getItemGraphicEl(le);if(!ce){var de=ue[le*2],he=ue[le*2+1];if(isNaN(de)||isNaN(he)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(de,he))return;var fe=ae.get("zlevel")||0,pe=ae.get("z")||0;ce=new SymbolClz(se,le),ce.x=de,ce.y=he,ce.setZ(fe,pe);var ve=ce.getSymbolPath().getTextContent();ve&&(ve.zlevel=fe,ve.z=pe,ve.z2=this._polyline.z2+1),ce.__temp=!0,se.setItemGraphicEl(le,ce),ce.stopSymbolAnimation(!0),this.group.add(ce)}ce.highlight()}else ChartView$1.prototype.highlight.call(this,ae,ne,ie,oe)},te.prototype.downplay=function(ae,ne,ie,oe){var se=ae.getData(),le=queryDataIndex(se,oe);if(this._changePolyState("normal"),le!=null&&le>=0){var ue=se.getItemGraphicEl(le);ue&&(ue.__temp?(se.setItemGraphicEl(le,null),this.group.remove(ue)):ue.downplay())}else ChartView$1.prototype.downplay.call(this,ae,ne,ie,oe)},te.prototype._changePolyState=function(ae){var ne=this._polygon;setStatesFlag(this._polyline,ae),ne&&setStatesFlag(ne,ae)},te.prototype._newPolyline=function(ae){var ne=this._polyline;return ne&&this._lineGroup.remove(ne),ne=new ECPolyline({shape:{points:ae},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(ne),this._polyline=ne,ne},te.prototype._newPolygon=function(ae,ne){var ie=this._polygon;return ie&&this._lineGroup.remove(ie),ie=new ECPolygon({shape:{points:ae,stackedOnPoints:ne},segmentIgnoreThreshold:2}),this._lineGroup.add(ie),this._polygon=ie,ie},te.prototype._initSymbolLabelAnimation=function(ae,ne,ie){var oe,se,le=ne.getBaseAxis(),ue=le.inverse;ne.type==="cartesian2d"?(oe=le.isHorizontal(),se=!1):ne.type==="polar"&&(oe=le.dim==="angle",se=!0);var ce=ae.hostModel,de=ce.get("animationDuration");isFunction$1(de)&&(de=de(null));var he=ce.get("animationDelay")||0,fe=isFunction$1(he)?he(null):he;ae.eachItemGraphicEl(function(pe,ve){var ge=pe;if(ge){var me=[pe.x,pe.y],ye=void 0,_e=void 0,be=void 0;if(ie)if(se){var xe=ie,$e=ne.pointToCoord(me);oe?(ye=xe.startAngle,_e=xe.endAngle,be=-$e[1]/180*Math.PI):(ye=xe.r0,_e=xe.r,be=$e[0])}else{var Se=ie;oe?(ye=Se.x,_e=Se.x+Se.width,be=pe.x):(ye=Se.y+Se.height,_e=Se.y,be=pe.y)}var we=_e===ye?0:(be-ye)/(_e-ye);ue&&(we=1-we);var Ae=isFunction$1(he)?he(ve):de*we+fe,Te=ge.getSymbolPath(),De=Te.getTextContent();ge.attr({scaleX:0,scaleY:0}),ge.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:Ae}),De&&De.animateFrom({style:{opacity:0}},{duration:300,delay:Ae}),Te.disableLabelAnimation=!0}})},te.prototype._initOrUpdateEndLabel=function(ae,ne,ie){var oe=ae.getModel("endLabel");if(anyStateShowEndLabel(ae)){var se=ae.getData(),le=this._polyline,ue=se.getLayout("points");if(!ue){le.removeTextContent(),this._endLabel=null;return}var ce=this._endLabel;ce||(ce=this._endLabel=new ZRText$1({z2:200}),ce.ignoreClip=!0,le.setTextContent(this._endLabel),le.disableLabelAnimation=!0);var de=getLastIndexNotNull(ue);de>=0&&(setLabelStyle(le,getLabelStatesModels(ae,"endLabel"),{inheritColor:ie,labelFetcher:ae,labelDataIndex:de,defaultText:function(he,fe,pe){return pe!=null?getDefaultInterpolatedLabel(se,pe):getDefaultLabel(se,he)},enableTextSetter:!0},getEndLabelStateSpecified(oe,ne)),le.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},te.prototype._endLabelOnDuring=function(ae,ne,ie,oe,se,le,ue){var ce=this._endLabel,de=this._polyline;if(ce){ae<1&&oe.originalX==null&&(oe.originalX=ce.x,oe.originalY=ce.y);var he=ie.getLayout("points"),fe=ie.hostModel,pe=fe.get("connectNulls"),ve=le.get("precision"),ge=le.get("distance")||0,me=ue.getBaseAxis(),ye=me.isHorizontal(),_e=me.inverse,be=ne.shape,xe=_e?ye?be.x:be.y+be.height:ye?be.x+be.width:be.y,$e=(ye?ge:0)*(_e?-1:1),Se=(ye?0:-ge)*(_e?-1:1),we=ye?"x":"y",Ae=getIndexRange(he,xe,we),Te=Ae.range,De=Te[1]-Te[0],Me=void 0;if(De>=1){if(De>1&&!pe){var Ie=getPointAtIndex(he,Te[0]);ce.attr({x:Ie[0]+$e,y:Ie[1]+Se}),se&&(Me=fe.getRawValue(Te[0]))}else{var Ie=de.getPointOn(xe,we);Ie&&ce.attr({x:Ie[0]+$e,y:Ie[1]+Se});var Ce=fe.getRawValue(Te[0]),Ee=fe.getRawValue(Te[1]);se&&(Me=interpolateRawValues(ie,ve,Ce,Ee,Ae.t))}oe.lastFrameIndex=Te[0]}else{var Re=ae===1||oe.lastFrameIndex>0?Te[0]:0,Ie=getPointAtIndex(he,Re);se&&(Me=fe.getRawValue(Re)),ce.attr({x:Ie[0]+$e,y:Ie[1]+Se})}if(se){var ke=labelInner(ce);typeof ke.setLabelText=="function"&&ke.setLabelText(Me)}}},te.prototype._doUpdateAnimation=function(ae,ne,ie,oe,se,le,ue){var ce=this._polyline,de=this._polygon,he=ae.hostModel,fe=lineAnimationDiff(this._data,ae,this._stackedOnPoints,ne,this._coordSys,ie,this._valueOrigin),pe=fe.current,ve=fe.stackedOnCurrent,ge=fe.next,me=fe.stackedOnNext;if(se&&(pe=turnPointsIntoStep(fe.current,ie,se,ue),ve=turnPointsIntoStep(fe.stackedOnCurrent,ie,se,ue),ge=turnPointsIntoStep(fe.next,ie,se,ue),me=turnPointsIntoStep(fe.stackedOnNext,ie,se,ue)),getBoundingDiff(pe,ge)>3e3||de&&getBoundingDiff(ve,me)>3e3){ce.stopAnimation(),ce.setShape({points:ge}),de&&(de.stopAnimation(),de.setShape({points:ge,stackedOnPoints:me}));return}ce.shape.__points=fe.current,ce.shape.points=pe;var ye={shape:{points:ge}};fe.current!==pe&&(ye.shape.__points=fe.next),ce.stopAnimation(),updateProps$1(ce,ye,he),de&&(de.setShape({points:pe,stackedOnPoints:ve}),de.stopAnimation(),updateProps$1(de,{shape:{stackedOnPoints:me}},he),ce.shape.points!==de.shape.points&&(de.shape.points=ce.shape.points));for(var _e=[],be=fe.status,xe=0;xe<be.length;xe++){var $e=be[xe].cmd;if($e==="="){var Se=ae.getItemGraphicEl(be[xe].idx1);Se&&_e.push({el:Se,ptIdx:xe})}}ce.animators&&ce.animators.length&&ce.animators[0].during(function(){de&&de.dirtyShape();for(var we=ce.shape.__points,Ae=0;Ae<_e.length;Ae++){var Te=_e[Ae].el,De=_e[Ae].ptIdx*2;Te.x=we[De],Te.y=we[De+1],Te.markRedraw()}})},te.prototype.remove=function(ae){var ne=this.group,ie=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),ie&&ie.eachItemGraphicEl(function(oe,se){oe.__temp&&(ne.remove(oe),ie.setItemGraphicEl(se,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null},te.type="line",te}(ChartView$1);const LineView$1=LineView;function pointsLayout(ee,te){return{seriesType:ee,plan:createRenderPlanner(),reset:function(ae){var ne=ae.getData(),ie=ae.coordinateSystem,oe=ae.pipelineContext,se=te||oe.large;if(ie){var le=map$1(ie.dimensions,function(pe){return ne.mapDimension(pe)}).slice(0,2),ue=le.length,ce=ne.getCalculationInfo("stackResultDimension");isDimensionStacked(ne,le[0])&&(le[0]=ce),isDimensionStacked(ne,le[1])&&(le[1]=ce);var de=ne.getStore(),he=ne.getDimensionIndex(le[0]),fe=ne.getDimensionIndex(le[1]);return ue&&{progress:function(pe,ve){for(var ge=pe.end-pe.start,me=se&&createFloat32Array(ge*ue),ye=[],_e=[],be=pe.start,xe=0;be<pe.end;be++){var $e=void 0;if(ue===1){var Se=de.get(he,be);$e=ie.dataToPoint(Se,null,_e)}else ye[0]=de.get(he,be),ye[1]=de.get(fe,be),$e=ie.dataToPoint(ye,null,_e);se?(me[xe++]=$e[0],me[xe++]=$e[1]):ve.setItemLayout(be,$e.slice())}se&&ve.setLayout("points",me)}}}}}}var samplers={average:function(ee){for(var te=0,ae=0,ne=0;ne<ee.length;ne++)isNaN(ee[ne])||(te+=ee[ne],ae++);return ae===0?NaN:te/ae},sum:function(ee){for(var te=0,ae=0;ae<ee.length;ae++)te+=ee[ae]||0;return te},max:function(ee){for(var te=-1/0,ae=0;ae<ee.length;ae++)ee[ae]>te&&(te=ee[ae]);return isFinite(te)?te:NaN},min:function(ee){for(var te=1/0,ae=0;ae<ee.length;ae++)ee[ae]<te&&(te=ee[ae]);return isFinite(te)?te:NaN},nearest:function(ee){return ee[0]}},indexSampler=function(ee){return Math.round(ee.length/2)};function dataSample(ee){return{seriesType:ee,reset:function(te,ae,ne){var ie=te.getData(),oe=te.get("sampling"),se=te.coordinateSystem,le=ie.count();if(le>10&&se.type==="cartesian2d"&&oe){var ue=se.getBaseAxis(),ce=se.getOtherAxis(ue),de=ue.getExtent(),he=ne.getDevicePixelRatio(),fe=Math.abs(de[1]-de[0])*(he||1),pe=Math.round(le/fe);if(isFinite(pe)&&pe>1){oe==="lttb"&&te.setData(ie.lttbDownSample(ie.mapDimension(ce.dim),1/pe));var ve=void 0;isString$1(oe)?ve=samplers[oe]:isFunction$1(oe)&&(ve=oe),ve&&te.setData(ie.downSample(ie.mapDimension(ce.dim),1/pe,ve,indexSampler))}}}}}function install$Q(ee){ee.registerChartView(LineView$1),ee.registerSeriesModel(LineSeries),ee.registerLayout(pointsLayout("line",!0)),ee.registerVisual({seriesType:"line",reset:function(te){var ae=te.getData(),ne=te.getModel("lineStyle").getLineStyle();ne&&!ne.stroke&&(ne.stroke=ae.getVisual("style").fill),ae.setVisual("legendLineStyle",ne)}}),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,dataSample("line"))}var BaseBarSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.getInitialData=function(ae,ne){return createSeriesData(null,this,{useEncodeDefaulter:!0})},te.prototype.getMarkerPosition=function(ae,ne,ie){var oe=this.coordinateSystem;if(oe&&oe.clampData){var se=oe.clampData(ae),le=oe.dataToPoint(se);if(ie)each$f(oe.getAxes(),function(fe,pe){if(fe.type==="category"&&ne!=null){var ve=fe.getTicksCoords(),ge=se[pe],me=ne[pe]==="x1"||ne[pe]==="y1";if(me&&(ge+=1),ve.length<2)return;if(ve.length===2){le[pe]=fe.toGlobalCoord(fe.getExtent()[me?1:0]);return}for(var ye=void 0,_e=void 0,be=1,xe=0;xe<ve.length;xe++){var $e=ve[xe].coord,Se=xe===ve.length-1?ve[xe-1].tickValue+be:ve[xe].tickValue;if(Se===ge){_e=$e;break}else if(Se<ge)ye=$e;else if(ye!=null&&Se>ge){_e=($e+ye)/2;break}xe===1&&(be=Se-ve[0].tickValue)}_e==null&&(ye?ye&&(_e=ve[ve.length-1].coord):_e=ve[0].coord),le[pe]=fe.toGlobalCoord(_e)}});else{var ue=this.getData(),ce=ue.getLayout("offset"),de=ue.getLayout("size"),he=oe.getBaseAxis().isHorizontal()?0:1;le[he]+=ce+de/2}return le}return[NaN,NaN]},te.type="series.__base_bar__",te.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},te}(SeriesModel$1);SeriesModel$1.registerClass(BaseBarSeriesModel);const BaseBarSeriesModel$1=BaseBarSeriesModel;var BarSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.getInitialData=function(){return createSeriesData(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},te.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},te.prototype.getProgressiveThreshold=function(){var ae=this.get("progressiveThreshold"),ne=this.get("largeThreshold");return ne>ae&&(ae=ne),ae},te.prototype.brushSelector=function(ae,ne,ie){return ie.rect(ne.getItemLayout(ae))},te.type="series.bar",te.dependencies=["grid","polar"],te.defaultOption=inheritDefaultOption(BaseBarSeriesModel$1.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),te}(BaseBarSeriesModel$1);const BarSeries=BarSeriesModel;var SausageShape=function(){function ee(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return ee}(),SausagePath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="sausage",ne}return te.prototype.getDefaultShape=function(){return new SausageShape},te.prototype.buildPath=function(ae,ne){var ie=ne.cx,oe=ne.cy,se=Math.max(ne.r0||0,0),le=Math.max(ne.r,0),ue=(le-se)*.5,ce=se+ue,de=ne.startAngle,he=ne.endAngle,fe=ne.clockwise,pe=Math.PI*2,ve=fe?he-de<pe:de-he<pe;ve||(de=he-(fe?pe:-pe));var ge=Math.cos(de),me=Math.sin(de),ye=Math.cos(he),_e=Math.sin(he);ve?(ae.moveTo(ge*se+ie,me*se+oe),ae.arc(ge*ce+ie,me*ce+oe,ue,-Math.PI+de,de,!fe)):ae.moveTo(ge*le+ie,me*le+oe),ae.arc(ie,oe,le,de,he,!fe),ae.arc(ye*ce+ie,_e*ce+oe,ue,he-Math.PI*2,he-Math.PI,!fe),se!==0&&ae.arc(ie,oe,se,he,de,fe)},te}(Path$1);const Sausage=SausagePath;function createSectorCalculateTextPosition(ee,te){te=te||{};var ae=te.isRoundCap;return function(ne,ie,oe){var se=ie.position;if(!se||se instanceof Array)return calculateTextPosition(ne,ie,oe);var le=ee(se),ue=ie.distance!=null?ie.distance:5,ce=this.shape,de=ce.cx,he=ce.cy,fe=ce.r,pe=ce.r0,ve=(fe+pe)/2,ge=ce.startAngle,me=ce.endAngle,ye=(ge+me)/2,_e=ae?Math.abs(fe-pe)/2:0,be=Math.cos,xe=Math.sin,$e=de+fe*be(ge),Se=he+fe*xe(ge),we="left",Ae="top";switch(le){case"startArc":$e=de+(pe-ue)*be(ye),Se=he+(pe-ue)*xe(ye),we="center",Ae="top";break;case"insideStartArc":$e=de+(pe+ue)*be(ye),Se=he+(pe+ue)*xe(ye),we="center",Ae="bottom";break;case"startAngle":$e=de+ve*be(ge)+adjustAngleDistanceX(ge,ue+_e,!1),Se=he+ve*xe(ge)+adjustAngleDistanceY(ge,ue+_e,!1),we="right",Ae="middle";break;case"insideStartAngle":$e=de+ve*be(ge)+adjustAngleDistanceX(ge,-ue+_e,!1),Se=he+ve*xe(ge)+adjustAngleDistanceY(ge,-ue+_e,!1),we="left",Ae="middle";break;case"middle":$e=de+ve*be(ye),Se=he+ve*xe(ye),we="center",Ae="middle";break;case"endArc":$e=de+(fe+ue)*be(ye),Se=he+(fe+ue)*xe(ye),we="center",Ae="bottom";break;case"insideEndArc":$e=de+(fe-ue)*be(ye),Se=he+(fe-ue)*xe(ye),we="center",Ae="top";break;case"endAngle":$e=de+ve*be(me)+adjustAngleDistanceX(me,ue+_e,!0),Se=he+ve*xe(me)+adjustAngleDistanceY(me,ue+_e,!0),we="left",Ae="middle";break;case"insideEndAngle":$e=de+ve*be(me)+adjustAngleDistanceX(me,-ue+_e,!0),Se=he+ve*xe(me)+adjustAngleDistanceY(me,-ue+_e,!0),we="right",Ae="middle";break;default:return calculateTextPosition(ne,ie,oe)}return ne=ne||{},ne.x=$e,ne.y=Se,ne.align=we,ne.verticalAlign=Ae,ne}}function setSectorTextRotation(ee,te,ae,ne){if(isNumber$1(ne)){ee.setTextConfig({rotation:ne});return}else if(isArray$2(te)){ee.setTextConfig({rotation:0});return}var ie=ee.shape,oe=ie.clockwise?ie.startAngle:ie.endAngle,se=ie.clockwise?ie.endAngle:ie.startAngle,le=(oe+se)/2,ue,ce=ae(te);switch(ce){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":ue=le;break;case"startAngle":case"insideStartAngle":ue=oe;break;case"endAngle":case"insideEndAngle":ue=se;break;default:ee.setTextConfig({rotation:0});return}var de=Math.PI*1.5-ue;ce==="middle"&&de>Math.PI/2&&de<Math.PI*1.5&&(de-=Math.PI),ee.setTextConfig({rotation:de})}function adjustAngleDistanceX(ee,te,ae){return te*Math.sin(ee)*(ae?-1:1)}function adjustAngleDistanceY(ee,te,ae){return te*Math.cos(ee)*(ae?1:-1)}function getSectorCornerRadius(ee,te,ae){var ne=ee.get("borderRadius");if(ne==null)return ae?{cornerRadius:0}:null;isArray$2(ne)||(ne=[ne,ne,ne,ne]);var ie=Math.abs(te.r||0-te.r0||0);return{cornerRadius:map$1(ne,function(oe){return parsePercent$1(oe,ie)})}}var mathMax$4=Math.max,mathMin$4=Math.min;function getClipArea(ee,te){var ae=ee.getArea&&ee.getArea();if(isCoordinateSystemType(ee,"cartesian2d")){var ne=ee.getBaseAxis();if(ne.type!=="category"||!ne.onBand){var ie=te.getLayout("bandWidth");ne.isHorizontal()?(ae.x-=ie,ae.width+=ie*2):(ae.y-=ie,ae.height+=ie*2)}}return ae}var BarView=function(ee){__extends(te,ee);function te(){var ae=ee.call(this)||this;return ae.type=te.type,ae._isFirstFrame=!0,ae}return te.prototype.render=function(ae,ne,ie,oe){this._model=ae,this._removeOnRenderedListener(ie),this._updateDrawMode(ae);var se=ae.get("coordinateSystem");(se==="cartesian2d"||se==="polar")&&(this._progressiveEls=null,this._isLargeDraw?this._renderLarge(ae,ne,ie):this._renderNormal(ae,ne,ie,oe))},te.prototype.incrementalPrepareRender=function(ae){this._clear(),this._updateDrawMode(ae),this._updateLargeClip(ae)},te.prototype.incrementalRender=function(ae,ne){this._progressiveEls=[],this._incrementalRenderLarge(ae,ne)},te.prototype.eachRendered=function(ae){traverseElements(this._progressiveEls||this.group,ae)},te.prototype._updateDrawMode=function(ae){var ne=ae.pipelineContext.large;(this._isLargeDraw==null||ne!==this._isLargeDraw)&&(this._isLargeDraw=ne,this._clear())},te.prototype._renderNormal=function(ae,ne,ie,oe){var se=this.group,le=ae.getData(),ue=this._data,ce=ae.coordinateSystem,de=ce.getBaseAxis(),he;ce.type==="cartesian2d"?he=de.isHorizontal():ce.type==="polar"&&(he=de.dim==="angle");var fe=ae.isAnimationEnabled()?ae:null,pe=shouldRealtimeSort(ae,ce);pe&&this._enableRealtimeSort(pe,le,ie);var ve=ae.get("clip",!0)||pe,ge=getClipArea(ce,le);se.removeClipPath();var me=ae.get("roundCap",!0),ye=ae.get("showBackground",!0),_e=ae.getModel("backgroundStyle"),be=_e.get("borderRadius")||0,xe=[],$e=this._backgroundEls,Se=oe&&oe.isInitSort,we=oe&&oe.type==="changeAxisOrder";function Ae(Me){var Ie=getLayout[ce.type](le,Me),Ce=createBackgroundEl(ce,he,Ie);return Ce.useStyle(_e.getItemStyle()),ce.type==="cartesian2d"?Ce.setShape("r",be):Ce.setShape("cornerRadius",be),xe[Me]=Ce,Ce}le.diff(ue).add(function(Me){var Ie=le.getItemModel(Me),Ce=getLayout[ce.type](le,Me,Ie);if(ye&&Ae(Me),!(!le.hasValue(Me)||!isValidLayout[ce.type](Ce))){var Ee=!1;ve&&(Ee=clip[ce.type](ge,Ce));var Re=elementCreator[ce.type](ae,le,Me,Ce,he,fe,de.model,!1,me);pe&&(Re.forceLabelAnimation=!0),updateStyle(Re,le,Me,Ie,Ce,ae,he,ce.type==="polar"),Se?Re.attr({shape:Ce}):pe?updateRealtimeAnimation(pe,fe,Re,Ce,Me,he,!1,!1):initProps(Re,{shape:Ce},ae,Me),le.setItemGraphicEl(Me,Re),se.add(Re),Re.ignore=Ee}}).update(function(Me,Ie){var Ce=le.getItemModel(Me),Ee=getLayout[ce.type](le,Me,Ce);if(ye){var Re=void 0;$e.length===0?Re=Ae(Ie):(Re=$e[Ie],Re.useStyle(_e.getItemStyle()),ce.type==="cartesian2d"?Re.setShape("r",be):Re.setShape("cornerRadius",be),xe[Me]=Re);var ke=getLayout[ce.type](le,Me),Be=createBackgroundShape(he,ke,ce);updateProps$1(Re,{shape:Be},fe,Me)}var Ne=ue.getItemGraphicEl(Ie);if(!le.hasValue(Me)||!isValidLayout[ce.type](Ee)){se.remove(Ne);return}var He=!1;if(ve&&(He=clip[ce.type](ge,Ee),He&&se.remove(Ne)),Ne?saveOldStyle(Ne):Ne=elementCreator[ce.type](ae,le,Me,Ee,he,fe,de.model,!!Ne,me),pe&&(Ne.forceLabelAnimation=!0),we){var qe=Ne.getTextContent();if(qe){var Oe=labelInner(qe);Oe.prevValue!=null&&(Oe.prevValue=Oe.value)}}else updateStyle(Ne,le,Me,Ce,Ee,ae,he,ce.type==="polar");Se?Ne.attr({shape:Ee}):pe?updateRealtimeAnimation(pe,fe,Ne,Ee,Me,he,!0,we):updateProps$1(Ne,{shape:Ee},ae,Me,null),le.setItemGraphicEl(Me,Ne),Ne.ignore=He,se.add(Ne)}).remove(function(Me){var Ie=ue.getItemGraphicEl(Me);Ie&&removeElementWithFadeOut(Ie,ae,Me)}).execute();var Te=this._backgroundGroup||(this._backgroundGroup=new Group$4);Te.removeAll();for(var De=0;De<xe.length;++De)Te.add(xe[De]);se.add(Te),this._backgroundEls=xe,this._data=le},te.prototype._renderLarge=function(ae,ne,ie){this._clear(),createLarge$1(ae,this.group),this._updateLargeClip(ae)},te.prototype._incrementalRenderLarge=function(ae,ne){this._removeBackground(),createLarge$1(ne,this.group,this._progressiveEls,!0)},te.prototype._updateLargeClip=function(ae){var ne=ae.get("clip",!0)&&createClipPath(ae.coordinateSystem,!1,ae),ie=this.group;ne?ie.setClipPath(ne):ie.removeClipPath()},te.prototype._enableRealtimeSort=function(ae,ne,ie){var oe=this;if(ne.count()){var se=ae.baseAxis;if(this._isFirstFrame)this._dispatchInitSort(ne,ae,ie),this._isFirstFrame=!1;else{var le=function(ue){var ce=ne.getItemGraphicEl(ue),de=ce&&ce.shape;return de&&Math.abs(se.isHorizontal()?de.height:de.width)||0};this._onRendered=function(){oe._updateSortWithinSameData(ne,le,se,ie)},ie.getZr().on("rendered",this._onRendered)}}},te.prototype._dataSort=function(ae,ne,ie){var oe=[];return ae.each(ae.mapDimension(ne.dim),function(se,le){var ue=ie(le);ue=ue??NaN,oe.push({dataIndex:le,mappedValue:ue,ordinalNumber:se})}),oe.sort(function(se,le){return le.mappedValue-se.mappedValue}),{ordinalNumbers:map$1(oe,function(se){return se.ordinalNumber})}},te.prototype._isOrderChangedWithinSameData=function(ae,ne,ie){for(var oe=ie.scale,se=ae.mapDimension(ie.dim),le=Number.MAX_VALUE,ue=0,ce=oe.getOrdinalMeta().categories.length;ue<ce;++ue){var de=ae.rawIndexOf(se,oe.getRawOrdinalNumber(ue)),he=de<0?Number.MIN_VALUE:ne(ae.indexOfRawIndex(de));if(he>le)return!0;le=he}return!1},te.prototype._isOrderDifferentInView=function(ae,ne){for(var ie=ne.scale,oe=ie.getExtent(),se=Math.max(0,oe[0]),le=Math.min(oe[1],ie.getOrdinalMeta().categories.length-1);se<=le;++se)if(ae.ordinalNumbers[se]!==ie.getRawOrdinalNumber(se))return!0},te.prototype._updateSortWithinSameData=function(ae,ne,ie,oe){if(this._isOrderChangedWithinSameData(ae,ne,ie)){var se=this._dataSort(ae,ie,ne);this._isOrderDifferentInView(se,ie)&&(this._removeOnRenderedListener(oe),oe.dispatchAction({type:"changeAxisOrder",componentType:ie.dim+"Axis",axisId:ie.index,sortInfo:se}))}},te.prototype._dispatchInitSort=function(ae,ne,ie){var oe=ne.baseAxis,se=this._dataSort(ae,oe,function(le){return ae.get(ae.mapDimension(ne.otherAxis.dim),le)});ie.dispatchAction({type:"changeAxisOrder",componentType:oe.dim+"Axis",isInitSort:!0,axisId:oe.index,sortInfo:se})},te.prototype.remove=function(ae,ne){this._clear(this._model),this._removeOnRenderedListener(ne)},te.prototype.dispose=function(ae,ne){this._removeOnRenderedListener(ne)},te.prototype._removeOnRenderedListener=function(ae){this._onRendered&&(ae.getZr().off("rendered",this._onRendered),this._onRendered=null)},te.prototype._clear=function(ae){var ne=this.group,ie=this._data;ae&&ae.isAnimationEnabled()&&ie&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],ie.eachItemGraphicEl(function(oe){removeElementWithFadeOut(oe,ae,getECData(oe).dataIndex)})):ne.removeAll(),this._data=null,this._isFirstFrame=!0},te.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},te.type="bar",te}(ChartView$1),clip={cartesian2d:function(ee,te){var ae=te.width<0?-1:1,ne=te.height<0?-1:1;ae<0&&(te.x+=te.width,te.width=-te.width),ne<0&&(te.y+=te.height,te.height=-te.height);var ie=ee.x+ee.width,oe=ee.y+ee.height,se=mathMax$4(te.x,ee.x),le=mathMin$4(te.x+te.width,ie),ue=mathMax$4(te.y,ee.y),ce=mathMin$4(te.y+te.height,oe),de=le<se,he=ce<ue;return te.x=de&&se>ie?le:se,te.y=he&&ue>oe?ce:ue,te.width=de?0:le-se,te.height=he?0:ce-ue,ae<0&&(te.x+=te.width,te.width=-te.width),ne<0&&(te.y+=te.height,te.height=-te.height),de||he},polar:function(ee,te){var ae=te.r0<=te.r?1:-1;if(ae<0){var ne=te.r;te.r=te.r0,te.r0=ne}var ie=mathMin$4(te.r,ee.r),oe=mathMax$4(te.r0,ee.r0);te.r=ie,te.r0=oe;var se=ie-oe<0;if(ae<0){var ne=te.r;te.r=te.r0,te.r0=ne}return se}},elementCreator={cartesian2d:function(ee,te,ae,ne,ie,oe,se,le,ue){var ce=new Rect$3({shape:extend$1({},ne),z2:1});if(ce.__dataIndex=ae,ce.name="item",oe){var de=ce.shape,he=ie?"height":"width";de[he]=0}return ce},polar:function(ee,te,ae,ne,ie,oe,se,le,ue){var ce=!ie&&ue?Sausage:Sector$1,de=new ce({shape:ne,z2:1});de.name="item";var he=createPolarPositionMapping(ie);if(de.calculateTextPosition=createSectorCalculateTextPosition(he,{isRoundCap:ce===Sausage}),oe){var fe=de.shape,pe=ie?"r":"endAngle",ve={};fe[pe]=ie?ne.r0:ne.startAngle,ve[pe]=ne[pe],(le?updateProps$1:initProps)(de,{shape:ve},oe)}return de}};function shouldRealtimeSort(ee,te){var ae=ee.get("realtimeSort",!0),ne=te.getBaseAxis();if(ae&&ne.type==="category"&&te.type==="cartesian2d")return{baseAxis:ne,otherAxis:te.getOtherAxis(ne)}}function updateRealtimeAnimation(ee,te,ae,ne,ie,oe,se,le){var ue,ce;oe?(ce={x:ne.x,width:ne.width},ue={y:ne.y,height:ne.height}):(ce={y:ne.y,height:ne.height},ue={x:ne.x,width:ne.width}),le||(se?updateProps$1:initProps)(ae,{shape:ue},te,ie,null);var de=te?ee.baseAxis.model:null;(se?updateProps$1:initProps)(ae,{shape:ce},de,ie)}function checkPropertiesNotValid(ee,te){for(var ae=0;ae<te.length;ae++)if(!isFinite(ee[te[ae]]))return!0;return!1}var rectPropties=["x","y","width","height"],polarPropties=["cx","cy","r","startAngle","endAngle"],isValidLayout={cartesian2d:function(ee){return!checkPropertiesNotValid(ee,rectPropties)},polar:function(ee){return!checkPropertiesNotValid(ee,polarPropties)}},getLayout={cartesian2d:function(ee,te,ae){var ne=ee.getItemLayout(te),ie=ae?getLineWidth(ae,ne):0,oe=ne.width>0?1:-1,se=ne.height>0?1:-1;return{x:ne.x+oe*ie/2,y:ne.y+se*ie/2,width:ne.width-oe*ie,height:ne.height-se*ie}},polar:function(ee,te,ae){var ne=ee.getItemLayout(te);return{cx:ne.cx,cy:ne.cy,r0:ne.r0,r:ne.r,startAngle:ne.startAngle,endAngle:ne.endAngle,clockwise:ne.clockwise}}};function isZeroOnPolar(ee){return ee.startAngle!=null&&ee.endAngle!=null&&ee.startAngle===ee.endAngle}function createPolarPositionMapping(ee){return function(te){var ae=te?"Arc":"Angle";return function(ne){switch(ne){case"start":case"insideStart":case"end":case"insideEnd":return ne+ae;default:return ne}}}(ee)}function updateStyle(ee,te,ae,ne,ie,oe,se,le){var ue=te.getItemVisual(ae,"style");if(le){if(!oe.get("roundCap")){var de=ee.shape,he=getSectorCornerRadius(ne.getModel("itemStyle"),de,!0);extend$1(de,he),ee.setShape(de)}}else{var ce=ne.get(["itemStyle","borderRadius"])||0;ee.setShape("r",ce)}ee.useStyle(ue);var fe=ne.getShallow("cursor");fe&&ee.attr("cursor",fe);var pe=le?se?ie.r>=ie.r0?"endArc":"startArc":ie.endAngle>=ie.startAngle?"endAngle":"startAngle":se?ie.height>=0?"bottom":"top":ie.width>=0?"right":"left",ve=getLabelStatesModels(ne);setLabelStyle(ee,ve,{labelFetcher:oe,labelDataIndex:ae,defaultText:getDefaultLabel(oe.getData(),ae),inheritColor:ue.fill,defaultOpacity:ue.opacity,defaultOutsidePosition:pe});var ge=ee.getTextContent();if(le&&ge){var me=ne.get(["label","position"]);ee.textConfig.inside=me==="middle"?!0:null,setSectorTextRotation(ee,me==="outside"?pe:me,createPolarPositionMapping(se),ne.get(["label","rotate"]))}setLabelValueAnimation(ge,ve,oe.getRawValue(ae),function(_e){return getDefaultInterpolatedLabel(te,_e)});var ye=ne.getModel(["emphasis"]);toggleHoverEmphasis(ee,ye.get("focus"),ye.get("blurScope"),ye.get("disabled")),setStatesStylesFromModel(ee,ne),isZeroOnPolar(ie)&&(ee.style.fill="none",ee.style.stroke="none",each$f(ee.states,function(_e){_e.style&&(_e.style.fill=_e.style.stroke="none")}))}function getLineWidth(ee,te){var ae=ee.get(["itemStyle","borderColor"]);if(!ae||ae==="none")return 0;var ne=ee.get(["itemStyle","borderWidth"])||0,ie=isNaN(te.width)?Number.MAX_VALUE:Math.abs(te.width),oe=isNaN(te.height)?Number.MAX_VALUE:Math.abs(te.height);return Math.min(ne,ie,oe)}var LagePathShape=function(){function ee(){}return ee}(),LargePath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="largeBar",ne}return te.prototype.getDefaultShape=function(){return new LagePathShape},te.prototype.buildPath=function(ae,ne){for(var ie=ne.points,oe=this.baseDimIdx,se=1-this.baseDimIdx,le=[],ue=[],ce=this.barWidth,de=0;de<ie.length;de+=3)ue[oe]=ce,ue[se]=ie[de+2],le[oe]=ie[de+oe],le[se]=ie[de+se],ae.rect(le[0],le[1],ue[0],ue[1])},te}(Path$1);function createLarge$1(ee,te,ae,ne){var ie=ee.getData(),oe=ie.getLayout("valueAxisHorizontal")?1:0,se=ie.getLayout("largeDataIndices"),le=ie.getLayout("size"),ue=ee.getModel("backgroundStyle"),ce=ie.getLayout("largeBackgroundPoints");if(ce){var de=new LargePath({shape:{points:ce},incremental:!!ne,silent:!0,z2:0});de.baseDimIdx=oe,de.largeDataIndices=se,de.barWidth=le,de.useStyle(ue.getItemStyle()),te.add(de),ae&&ae.push(de)}var he=new LargePath({shape:{points:ie.getLayout("largePoints")},incremental:!!ne,ignoreCoarsePointer:!0,z2:1});he.baseDimIdx=oe,he.largeDataIndices=se,he.barWidth=le,te.add(he),he.useStyle(ie.getVisual("style")),getECData(he).seriesIndex=ee.seriesIndex,ee.get("silent")||(he.on("mousedown",largePathUpdateDataIndex),he.on("mousemove",largePathUpdateDataIndex)),ae&&ae.push(he)}var largePathUpdateDataIndex=throttle$1(function(ee){var te=this,ae=largePathFindDataIndex(te,ee.offsetX,ee.offsetY);getECData(te).dataIndex=ae>=0?ae:null},30,!1);function largePathFindDataIndex(ee,te,ae){for(var ne=ee.baseDimIdx,ie=1-ne,oe=ee.shape.points,se=ee.largeDataIndices,le=[],ue=[],ce=ee.barWidth,de=0,he=oe.length/3;de<he;de++){var fe=de*3;if(ue[ne]=ce,ue[ie]=oe[fe+2],le[ne]=oe[fe+ne],le[ie]=oe[fe+ie],ue[ie]<0&&(le[ie]+=ue[ie],ue[ie]=-ue[ie]),te>=le[0]&&te<=le[0]+ue[0]&&ae>=le[1]&&ae<=le[1]+ue[1])return se[de]}return-1}function createBackgroundShape(ee,te,ae){if(isCoordinateSystemType(ae,"cartesian2d")){var ne=te,ie=ae.getArea();return{x:ee?ne.x:ie.x,y:ee?ie.y:ne.y,width:ee?ne.width:ie.width,height:ee?ie.height:ne.height}}else{var ie=ae.getArea(),oe=te;return{cx:ie.cx,cy:ie.cy,r0:ee?ie.r0:oe.r0,r:ee?ie.r:oe.r,startAngle:ee?oe.startAngle:0,endAngle:ee?oe.endAngle:Math.PI*2}}}function createBackgroundEl(ee,te,ae){var ne=ee.type==="polar"?Sector$1:Rect$3;return new ne({shape:createBackgroundShape(te,ae,ee),silent:!0,z2:0})}const BarView$1=BarView;function install$P(ee){ee.registerChartView(BarView$1),ee.registerSeriesModel(BarSeries),ee.registerLayout(ee.PRIORITY.VISUAL.LAYOUT,curry$1(layout$3,"bar")),ee.registerLayout(ee.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,createProgressiveLayout("bar")),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,dataSample("bar")),ee.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(te,ae){var ne=te.componentType||"series";ae.eachComponent({mainType:ne,query:te},function(ie){te.sortInfo&&ie.axis.setCategorySortInfo(te.sortInfo)})})}var PI2=Math.PI*2,RADIAN$2=Math.PI/180;function getViewRect$5(ee,te){return getLayoutRect(ee.getBoxLayoutParams(),{width:te.getWidth(),height:te.getHeight()})}function getBasicPieLayout(ee,te){var ae=getViewRect$5(ee,te),ne=ee.get("center"),ie=ee.get("radius");isArray$2(ie)||(ie=[0,ie]);var oe=parsePercent(ae.width,te.getWidth()),se=parsePercent(ae.height,te.getHeight()),le=Math.min(oe,se),ue=parsePercent(ie[0],le/2),ce=parsePercent(ie[1],le/2),de,he,fe=ee.coordinateSystem;if(fe){var pe=fe.dataToPoint(ne);de=pe[0]||0,he=pe[1]||0}else isArray$2(ne)||(ne=[ne,ne]),de=parsePercent(ne[0],oe)+ae.x,he=parsePercent(ne[1],se)+ae.y;return{cx:de,cy:he,r0:ue,r:ce}}function pieLayout(ee,te,ae){te.eachSeriesByType(ee,function(ne){var ie=ne.getData(),oe=ie.mapDimension("value"),se=getViewRect$5(ne,ae),le=getBasicPieLayout(ne,ae),ue=le.cx,ce=le.cy,de=le.r,he=le.r0,fe=-ne.get("startAngle")*RADIAN$2,pe=ne.get("minAngle")*RADIAN$2,ve=0;ie.each(oe,function(De){!isNaN(De)&&ve++});var ge=ie.getSum(oe),me=Math.PI/(ge||ve)*2,ye=ne.get("clockwise"),_e=ne.get("roseType"),be=ne.get("stillShowZeroSum"),xe=ie.getDataExtent(oe);xe[0]=0;var $e=PI2,Se=0,we=fe,Ae=ye?1:-1;if(ie.setLayout({viewRect:se,r:de}),ie.each(oe,function(De,Me){var Ie;if(isNaN(De)){ie.setItemLayout(Me,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:ye,cx:ue,cy:ce,r0:he,r:_e?NaN:de});return}_e!=="area"?Ie=ge===0&&be?me:De*me:Ie=PI2/ve,Ie<pe?(Ie=pe,$e-=pe):Se+=De;var Ce=we+Ae*Ie;ie.setItemLayout(Me,{angle:Ie,startAngle:we,endAngle:Ce,clockwise:ye,cx:ue,cy:ce,r0:he,r:_e?linearMap$2(De,xe,[he,de]):de}),we=Ce}),$e<PI2&&ve)if($e<=.001){var Te=PI2/ve;ie.each(oe,function(De,Me){if(!isNaN(De)){var Ie=ie.getItemLayout(Me);Ie.angle=Te,Ie.startAngle=fe+Ae*Me*Te,Ie.endAngle=fe+Ae*(Me+1)*Te}})}else me=$e/Se,we=fe,ie.each(oe,function(De,Me){if(!isNaN(De)){var Ie=ie.getItemLayout(Me),Ce=Ie.angle===pe?pe:De*me;Ie.startAngle=we,Ie.endAngle=we+Ae*Ce,we+=Ae*Ce}})})}function dataFilter$1(ee){return{seriesType:ee,reset:function(te,ae){var ne=ae.findComponents({mainType:"legend"});if(!(!ne||!ne.length)){var ie=te.getData();ie.filterSelf(function(oe){for(var se=ie.getName(oe),le=0;le<ne.length;le++)if(!ne[le].isSelected(se))return!1;return!0})}}}}var RADIAN$1=Math.PI/180;function adjustSingleSide(ee,te,ae,ne,ie,oe,se,le,ue,ce){if(ee.length<2)return;function de(ge){for(var me=ge.rB,ye=me*me,_e=0;_e<ge.list.length;_e++){var be=ge.list[_e],xe=Math.abs(be.label.y-ae),$e=ne+be.len,Se=$e*$e,we=Math.sqrt((1-Math.abs(xe*xe/ye))*Se),Ae=te+(we+be.len2)*ie,Te=Ae-be.label.x,De=be.targetTextWidth-Te*ie;constrainTextWidth(be,De,!0),be.label.x=Ae}}function he(ge){for(var me={list:[],maxY:0},ye={list:[],maxY:0},_e=0;_e<ge.length;_e++)if(ge[_e].labelAlignTo==="none"){var be=ge[_e],xe=be.label.y>ae?ye:me,$e=Math.abs(be.label.y-ae);if($e>=xe.maxY){var Se=be.label.x-te-be.len2*ie,we=ne+be.len,Ae=Math.abs(Se)<we?Math.sqrt($e*$e/(1-Se*Se/we/we)):we;xe.rB=Ae,xe.maxY=$e}xe.list.push(be)}de(me),de(ye)}for(var fe=ee.length,pe=0;pe<fe;pe++)if(ee[pe].position==="outer"&&ee[pe].labelAlignTo==="labelLine"){var ve=ee[pe].label.x-ce;ee[pe].linePoints[1][0]+=ve,ee[pe].label.x=ce}shiftLayoutOnY(ee,ue,ue+se)&&he(ee)}function avoidOverlap(ee,te,ae,ne,ie,oe,se,le){for(var ue=[],ce=[],de=Number.MAX_VALUE,he=-Number.MAX_VALUE,fe=0;fe<ee.length;fe++){var pe=ee[fe].label;isPositionCenter(ee[fe])||(pe.x<te?(de=Math.min(de,pe.x),ue.push(ee[fe])):(he=Math.max(he,pe.x),ce.push(ee[fe])))}for(var fe=0;fe<ee.length;fe++){var ve=ee[fe];if(!isPositionCenter(ve)&&ve.linePoints){if(ve.labelStyleWidth!=null)continue;var pe=ve.label,ge=ve.linePoints,me=void 0;ve.labelAlignTo==="edge"?pe.x<te?me=ge[2][0]-ve.labelDistance-se-ve.edgeDistance:me=se+ie-ve.edgeDistance-ge[2][0]-ve.labelDistance:ve.labelAlignTo==="labelLine"?pe.x<te?me=de-se-ve.bleedMargin:me=se+ie-he-ve.bleedMargin:pe.x<te?me=pe.x-se-ve.bleedMargin:me=se+ie-pe.x-ve.bleedMargin,ve.targetTextWidth=me,constrainTextWidth(ve,me)}}adjustSingleSide(ce,te,ae,ne,1,ie,oe,se,le,he),adjustSingleSide(ue,te,ae,ne,-1,ie,oe,se,le,de);for(var fe=0;fe<ee.length;fe++){var ve=ee[fe];if(!isPositionCenter(ve)&&ve.linePoints){var pe=ve.label,ge=ve.linePoints,ye=ve.labelAlignTo==="edge",_e=pe.style.padding,be=_e?_e[1]+_e[3]:0,xe=pe.style.backgroundColor?0:be,$e=ve.rect.width+xe,Se=ge[1][0]-ge[2][0];ye?pe.x<te?ge[2][0]=se+ve.edgeDistance+$e+ve.labelDistance:ge[2][0]=se+ie-ve.edgeDistance-$e-ve.labelDistance:(pe.x<te?ge[2][0]=pe.x+ve.labelDistance:ge[2][0]=pe.x-ve.labelDistance,ge[1][0]=ge[2][0]+Se),ge[1][1]=ge[2][1]=pe.y}}}function constrainTextWidth(ee,te,ae){if(ae===void 0&&(ae=!1),ee.labelStyleWidth==null){var ne=ee.label,ie=ne.style,oe=ee.rect,se=ie.backgroundColor,le=ie.padding,ue=le?le[1]+le[3]:0,ce=ie.overflow,de=oe.width+(se?0:ue);if(te<de||ae){var he=oe.height;if(ce&&ce.match("break")){ne.setStyle("backgroundColor",null),ne.setStyle("width",te-ue);var fe=ne.getBoundingRect();ne.setStyle("width",Math.ceil(fe.width)),ne.setStyle("backgroundColor",se)}else{var pe=te-ue,ve=te<de?pe:ae?pe>ee.unconstrainedWidth?null:pe:null;ne.setStyle("width",ve)}var ge=ne.getBoundingRect();oe.width=ge.width;var me=(ne.style.margin||0)+2.1;oe.height=ge.height+me,oe.y-=(oe.height-he)/2}}}function isPositionCenter(ee){return ee.position==="center"}function pieLabelLayout(ee){var te=ee.getData(),ae=[],ne,ie,oe=!1,se=(ee.get("minShowLabelAngle")||0)*RADIAN$1,le=te.getLayout("viewRect"),ue=te.getLayout("r"),ce=le.width,de=le.x,he=le.y,fe=le.height;function pe(Se){Se.ignore=!0}function ve(Se){if(!Se.ignore)return!0;for(var we in Se.states)if(Se.states[we].ignore===!1)return!0;return!1}te.each(function(Se){var we=te.getItemGraphicEl(Se),Ae=we.shape,Te=we.getTextContent(),De=we.getTextGuideLine(),Me=te.getItemModel(Se),Ie=Me.getModel("label"),Ce=Ie.get("position")||Me.get(["emphasis","label","position"]),Ee=Ie.get("distanceToLabelLine"),Re=Ie.get("alignTo"),ke=parsePercent(Ie.get("edgeDistance"),ce),Be=Ie.get("bleedMargin"),Ne=Me.getModel("labelLine"),He=Ne.get("length");He=parsePercent(He,ce);var qe=Ne.get("length2");if(qe=parsePercent(qe,ce),Math.abs(Ae.endAngle-Ae.startAngle)<se){each$f(Te.states,pe),Te.ignore=!0,De&&(each$f(De.states,pe),De.ignore=!0);return}if(ve(Te)){var Oe=(Ae.startAngle+Ae.endAngle)/2,ze=Math.cos(Oe),Ve=Math.sin(Oe),Ge,We,Ue,Ye;ne=Ae.cx,ie=Ae.cy;var Ze=Ce==="inside"||Ce==="inner";if(Ce==="center")Ge=Ae.cx,We=Ae.cy,Ye="center";else{var Xe=(Ze?(Ae.r+Ae.r0)/2*ze:Ae.r*ze)+ne,it=(Ze?(Ae.r+Ae.r0)/2*Ve:Ae.r*Ve)+ie;if(Ge=Xe+ze*3,We=it+Ve*3,!Ze){var at=Xe+ze*(He+ue-Ae.r),ut=it+Ve*(He+ue-Ae.r),dt=at+(ze<0?-1:1)*qe,pt=ut;Re==="edge"?Ge=ze<0?de+ke:de+ce-ke:Ge=dt+(ze<0?-Ee:Ee),We=pt,Ue=[[Xe,it],[at,ut],[dt,pt]]}Ye=Ze?"center":Re==="edge"?ze>0?"right":"left":ze>0?"left":"right"}var gt=Math.PI,bt=0,Tt=Ie.get("rotate");if(isNumber$1(Tt))bt=Tt*(gt/180);else if(Ce==="center")bt=0;else if(Tt==="radial"||Tt===!0){var At=ze<0?-Oe+gt:-Oe;bt=At}else if(Tt==="tangential"&&Ce!=="outside"&&Ce!=="outer"){var Mt=Math.atan2(ze,Ve);Mt<0&&(Mt=gt*2+Mt);var qt=Ve>0;qt&&(Mt=gt+Mt),bt=Mt-gt}if(oe=!!bt,Te.x=Ge,Te.y=We,Te.rotation=bt,Te.setStyle({verticalAlign:"middle"}),Ze){Te.setStyle({align:Ye});var Ot=Te.states.select;Ot&&(Ot.x+=Te.x,Ot.y+=Te.y)}else{var St=Te.getBoundingRect().clone();St.applyTransform(Te.getComputedTransform());var Ct=(Te.style.margin||0)+2.1;St.y-=Ct/2,St.height+=Ct,ae.push({label:Te,labelLine:De,position:Ce,len:He,len2:qe,minTurnAngle:Ne.get("minTurnAngle"),maxSurfaceAngle:Ne.get("maxSurfaceAngle"),surfaceNormal:new Point$1(ze,Ve),linePoints:Ue,textAlign:Ye,labelDistance:Ee,labelAlignTo:Re,edgeDistance:ke,bleedMargin:Be,rect:St,unconstrainedWidth:St.width,labelStyleWidth:Te.style.width})}we.setTextConfig({inside:Ze})}}),!oe&&ee.get("avoidLabelOverlap")&&avoidOverlap(ae,ne,ie,ue,ce,fe,de,he);for(var ge=0;ge<ae.length;ge++){var me=ae[ge],ye=me.label,_e=me.labelLine,be=isNaN(ye.x)||isNaN(ye.y);if(ye){ye.setStyle({align:me.textAlign}),be&&(each$f(ye.states,pe),ye.ignore=!0);var xe=ye.states.select;xe&&(xe.x+=ye.x,xe.y+=ye.y)}if(_e){var $e=me.linePoints;be||!$e?(each$f(_e.states,pe),_e.ignore=!0):(limitTurnAngle($e,me.minTurnAngle),limitSurfaceAngle($e,me.surfaceNormal,me.maxSurfaceAngle),_e.setShape({points:$e}),ye.__hostTarget.textGuideLineConfig={anchor:new Point$1($e[0][0],$e[0][1])})}}}var PiePiece=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this)||this;oe.z2=2;var se=new ZRText$1;return oe.setTextContent(se),oe.updateData(ae,ne,ie,!0),oe}return te.prototype.updateData=function(ae,ne,ie,oe){var se=this,le=ae.hostModel,ue=ae.getItemModel(ne),ce=ue.getModel("emphasis"),de=ae.getItemLayout(ne),he=extend$1(getSectorCornerRadius(ue.getModel("itemStyle"),de,!0),de);if(isNaN(he.startAngle)){se.setShape(he);return}if(oe){se.setShape(he);var fe=le.getShallow("animationType");le.ecModel.ssr?(initProps(se,{scaleX:0,scaleY:0},le,{dataIndex:ne,isFrom:!0}),se.originX=he.cx,se.originY=he.cy):fe==="scale"?(se.shape.r=de.r0,initProps(se,{shape:{r:de.r}},le,ne)):ie!=null?(se.setShape({startAngle:ie,endAngle:ie}),initProps(se,{shape:{startAngle:de.startAngle,endAngle:de.endAngle}},le,ne)):(se.shape.endAngle=de.startAngle,updateProps$1(se,{shape:{endAngle:de.endAngle}},le,ne))}else saveOldStyle(se),updateProps$1(se,{shape:he},le,ne);se.useStyle(ae.getItemVisual(ne,"style")),setStatesStylesFromModel(se,ue);var pe=(de.startAngle+de.endAngle)/2,ve=le.get("selectedOffset"),ge=Math.cos(pe)*ve,me=Math.sin(pe)*ve,ye=ue.getShallow("cursor");ye&&se.attr("cursor",ye),this._updateLabel(le,ae,ne),se.ensureState("emphasis").shape=extend$1({r:de.r+(ce.get("scale")&&ce.get("scaleSize")||0)},getSectorCornerRadius(ce.getModel("itemStyle"),de)),extend$1(se.ensureState("select"),{x:ge,y:me,shape:getSectorCornerRadius(ue.getModel(["select","itemStyle"]),de)}),extend$1(se.ensureState("blur"),{shape:getSectorCornerRadius(ue.getModel(["blur","itemStyle"]),de)});var _e=se.getTextGuideLine(),be=se.getTextContent();_e&&extend$1(_e.ensureState("select"),{x:ge,y:me}),extend$1(be.ensureState("select"),{x:ge,y:me}),toggleHoverEmphasis(this,ce.get("focus"),ce.get("blurScope"),ce.get("disabled"))},te.prototype._updateLabel=function(ae,ne,ie){var oe=this,se=ne.getItemModel(ie),le=se.getModel("labelLine"),ue=ne.getItemVisual(ie,"style"),ce=ue&&ue.fill,de=ue&&ue.opacity;setLabelStyle(oe,getLabelStatesModels(se),{labelFetcher:ne.hostModel,labelDataIndex:ie,inheritColor:ce,defaultOpacity:de,defaultText:ae.getFormattedLabel(ie,"normal")||ne.getName(ie)});var he=oe.getTextContent();oe.setTextConfig({position:null,rotation:null}),he.attr({z2:10});var fe=ae.get(["label","position"]);if(fe!=="outside"&&fe!=="outer")oe.removeTextGuideLine();else{var pe=this.getTextGuideLine();pe||(pe=new Polyline$3,this.setTextGuideLine(pe)),setLabelLineStyle(this,getLabelLineStatesModels(se),{stroke:ce,opacity:retrieve3(le.get(["lineStyle","opacity"]),de,1)})}},te}(Sector$1),PieView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.ignoreLabelLineUpdate=!0,ae}return te.prototype.render=function(ae,ne,ie,oe){var se=ae.getData(),le=this._data,ue=this.group,ce;if(!le&&se.count()>0){for(var de=se.getItemLayout(0),he=1;isNaN(de&&de.startAngle)&&he<se.count();++he)de=se.getItemLayout(he);de&&(ce=de.startAngle)}if(this._emptyCircleSector&&ue.remove(this._emptyCircleSector),se.count()===0&&ae.get("showEmptyCircle")){var fe=new Sector$1({shape:getBasicPieLayout(ae,ie)});fe.useStyle(ae.getModel("emptyCircleStyle").getItemStyle()),this._emptyCircleSector=fe,ue.add(fe)}se.diff(le).add(function(pe){var ve=new PiePiece(se,pe,ce);se.setItemGraphicEl(pe,ve),ue.add(ve)}).update(function(pe,ve){var ge=le.getItemGraphicEl(ve);ge.updateData(se,pe,ce),ge.off("click"),ue.add(ge),se.setItemGraphicEl(pe,ge)}).remove(function(pe){var ve=le.getItemGraphicEl(pe);removeElementWithFadeOut(ve,ae,pe)}).execute(),pieLabelLayout(ae),ae.get("animationTypeUpdate")!=="expansion"&&(this._data=se)},te.prototype.dispose=function(){},te.prototype.containPoint=function(ae,ne){var ie=ne.getData(),oe=ie.getItemLayout(0);if(oe){var se=ae[0]-oe.cx,le=ae[1]-oe.cy,ue=Math.sqrt(se*se+le*le);return ue<=oe.r&&ue>=oe.r0}},te.type="pie",te}(ChartView$1);const PieView$1=PieView;function createSeriesDataSimply(ee,te,ae){te=isArray$2(te)&&{coordDimensions:te}||extend$1({encodeDefine:ee.getEncode()},te);var ne=ee.getSource(),ie=prepareSeriesDataSchema(ne,te).dimensions,oe=new SeriesData$1(ie,ee);return oe.initData(ne,ae),oe}var LegendVisualProvider=function(){function ee(te,ae){this._getDataWithEncodedVisual=te,this._getRawData=ae}return ee.prototype.getAllNames=function(){var te=this._getRawData();return te.mapArray(te.getName)},ee.prototype.containName=function(te){var ae=this._getRawData();return ae.indexOfName(te)>=0},ee.prototype.indexOfName=function(te){var ae=this._getDataWithEncodedVisual();return ae.indexOfName(te)},ee.prototype.getItemVisual=function(te,ae){var ne=this._getDataWithEncodedVisual();return ne.getItemVisual(te,ae)},ee}();const LegendVisualProvider$1=LegendVisualProvider;var innerData=makeInner(),PieSeriesModel=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.init=function(ae){ee.prototype.init.apply(this,arguments),this.legendVisualProvider=new LegendVisualProvider$1(bind$2(this.getData,this),bind$2(this.getRawData,this)),this._defaultLabelLine(ae)},te.prototype.mergeOption=function(){ee.prototype.mergeOption.apply(this,arguments)},te.prototype.getInitialData=function(){return createSeriesDataSimply(this,{coordDimensions:["value"],encodeDefaulter:curry$1(makeSeriesEncodeForNameBased,this)})},te.prototype.getDataParams=function(ae){var ne=this.getData(),ie=innerData(ne),oe=ie.seats;if(!oe){var se=[];ne.each(ne.mapDimension("value"),function(ue){se.push(ue)}),oe=ie.seats=getPercentSeats(se,ne.hostModel.get("percentPrecision"))}var le=ee.prototype.getDataParams.call(this,ae);return le.percent=oe[ae]||0,le.$vars.push("percent"),le},te.prototype._defaultLabelLine=function(ae){defaultEmphasis(ae,"labelLine",["show"]);var ne=ae.labelLine,ie=ae.emphasis.labelLine;ne.show=ne.show&&ae.label.show,ie.show=ie.show&&ae.emphasis.label.show},te.type="series.pie",te.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},te}(SeriesModel$1);const PieSeriesModel$1=PieSeriesModel;function negativeDataFilter(ee){return{seriesType:ee,reset:function(te,ae){var ne=te.getData();ne.filterSelf(function(ie){var oe=ne.mapDimension("value"),se=ne.get(oe,ie);return!(isNumber$1(se)&&!isNaN(se)&&se<0)})}}}function install$O(ee){ee.registerChartView(PieView$1),ee.registerSeriesModel(PieSeriesModel$1),createLegacyDataSelectAction("pie",ee.registerAction),ee.registerLayout(curry$1(pieLayout,"pie")),ee.registerProcessor(dataFilter$1("pie")),ee.registerProcessor(negativeDataFilter("pie"))}var ScatterSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.hasSymbolVisual=!0,ae}return te.prototype.getInitialData=function(ae,ne){return createSeriesData(null,this,{useEncodeDefaulter:!0})},te.prototype.getProgressive=function(){var ae=this.option.progressive;return ae??(this.option.large?5e3:this.get("progressive"))},te.prototype.getProgressiveThreshold=function(){var ae=this.option.progressiveThreshold;return ae??(this.option.large?1e4:this.get("progressiveThreshold"))},te.prototype.brushSelector=function(ae,ne,ie){return ie.point(ne.getItemLayout(ae))},te.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},te.type="series.scatter",te.dependencies=["grid","polar","geo","singleAxis","calendar"],te.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},te}(SeriesModel$1);const ScatterSeriesModel$1=ScatterSeriesModel;var BOOST_SIZE_THRESHOLD=4,LargeSymbolPathShape=function(){function ee(){}return ee}(),LargeSymbolPath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne._off=0,ne.hoverDataIdx=-1,ne}return te.prototype.getDefaultShape=function(){return new LargeSymbolPathShape},te.prototype.reset=function(){this.notClear=!1,this._off=0},te.prototype.buildPath=function(ae,ne){var ie=ne.points,oe=ne.size,se=this.symbolProxy,le=se.shape,ue=ae.getContext?ae.getContext():ae,ce=ue&&oe[0]<BOOST_SIZE_THRESHOLD,de=this.softClipShape,he;if(ce){this._ctx=ue;return}for(this._ctx=null,he=this._off;he<ie.length;){var fe=ie[he++],pe=ie[he++];isNaN(fe)||isNaN(pe)||de&&!de.contain(fe,pe)||(le.x=fe-oe[0]/2,le.y=pe-oe[1]/2,le.width=oe[0],le.height=oe[1],se.buildPath(ae,le,!0))}this.incremental&&(this._off=he,this.notClear=!0)},te.prototype.afterBrush=function(){var ae=this.shape,ne=ae.points,ie=ae.size,oe=this._ctx,se=this.softClipShape,le;if(oe){for(le=this._off;le<ne.length;){var ue=ne[le++],ce=ne[le++];isNaN(ue)||isNaN(ce)||se&&!se.contain(ue,ce)||oe.fillRect(ue-ie[0]/2,ce-ie[1]/2,ie[0],ie[1])}this.incremental&&(this._off=le,this.notClear=!0)}},te.prototype.findDataIndex=function(ae,ne){for(var ie=this.shape,oe=ie.points,se=ie.size,le=Math.max(se[0],4),ue=Math.max(se[1],4),ce=oe.length/2-1;ce>=0;ce--){var de=ce*2,he=oe[de]-le/2,fe=oe[de+1]-ue/2;if(ae>=he&&ne>=fe&&ae<=he+le&&ne<=fe+ue)return ce}return-1},te.prototype.contain=function(ae,ne){var ie=this.transformCoordToLocal(ae,ne),oe=this.getBoundingRect();if(ae=ie[0],ne=ie[1],oe.contain(ae,ne)){var se=this.hoverDataIdx=this.findDataIndex(ae,ne);return se>=0}return this.hoverDataIdx=-1,!1},te.prototype.getBoundingRect=function(){var ae=this._rect;if(!ae){for(var ne=this.shape,ie=ne.points,oe=ne.size,se=oe[0],le=oe[1],ue=1/0,ce=1/0,de=-1/0,he=-1/0,fe=0;fe<ie.length;){var pe=ie[fe++],ve=ie[fe++];ue=Math.min(pe,ue),de=Math.max(pe,de),ce=Math.min(ve,ce),he=Math.max(ve,he)}ae=this._rect=new BoundingRect$1(ue-se/2,ce-le/2,de-ue+se,he-ce+le)}return ae},te}(Path$1),LargeSymbolDraw=function(){function ee(){this.group=new Group$4}return ee.prototype.updateData=function(te,ae){this._clear();var ne=this._create();ne.setShape({points:te.getLayout("points")}),this._setCommon(ne,te,ae)},ee.prototype.updateLayout=function(te){var ae=te.getLayout("points");this.group.eachChild(function(ne){if(ne.startIndex!=null){var ie=(ne.endIndex-ne.startIndex)*2,oe=ne.startIndex*4*2;ae=new Float32Array(ae.buffer,oe,ie)}ne.setShape("points",ae),ne.reset()})},ee.prototype.incrementalPrepareUpdate=function(te){this._clear()},ee.prototype.incrementalUpdate=function(te,ae,ne){var ie=this._newAdded[0],oe=ae.getLayout("points"),se=ie&&ie.shape.points;if(se&&se.length<2e4){var le=se.length,ue=new Float32Array(le+oe.length);ue.set(se),ue.set(oe,le),ie.endIndex=te.end,ie.setShape({points:ue})}else{this._newAdded=[];var ce=this._create();ce.startIndex=te.start,ce.endIndex=te.end,ce.incremental=!0,ce.setShape({points:oe}),this._setCommon(ce,ae,ne)}},ee.prototype.eachRendered=function(te){this._newAdded[0]&&te(this._newAdded[0])},ee.prototype._create=function(){var te=new LargeSymbolPath({cursor:"default"});return te.ignoreCoarsePointer=!0,this.group.add(te),this._newAdded.push(te),te},ee.prototype._setCommon=function(te,ae,ne){var ie=ae.hostModel;ne=ne||{};var oe=ae.getVisual("symbolSize");te.setShape("size",oe instanceof Array?oe:[oe,oe]),te.softClipShape=ne.clipShape||null,te.symbolProxy=createSymbol$1(ae.getVisual("symbol"),0,0,0,0),te.setColor=te.symbolProxy.setColor;var se=te.shape.size[0]<BOOST_SIZE_THRESHOLD;te.useStyle(ie.getModel("itemStyle").getItemStyle(se?["color","shadowBlur","shadowColor"]:["color"]));var le=ae.getVisual("style"),ue=le&&le.fill;ue&&te.setColor(ue);var ce=getECData(te);ce.seriesIndex=ie.seriesIndex,te.on("mousemove",function(de){ce.dataIndex=null;var he=te.hoverDataIdx;he>=0&&(ce.dataIndex=he+(te.startIndex||0))})},ee.prototype.remove=function(){this._clear()},ee.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},ee}();const LargeSymbolDraw$1=LargeSymbolDraw;var ScatterView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=this._updateSymbolDraw(oe,ae);se.updateData(oe,{clipShape:this._getClipShape(ae)}),this._finished=!0},te.prototype.incrementalPrepareRender=function(ae,ne,ie){var oe=ae.getData(),se=this._updateSymbolDraw(oe,ae);se.incrementalPrepareUpdate(oe),this._finished=!1},te.prototype.incrementalRender=function(ae,ne,ie){this._symbolDraw.incrementalUpdate(ae,ne.getData(),{clipShape:this._getClipShape(ne)}),this._finished=ae.end===ne.getData().count()},te.prototype.updateTransform=function(ae,ne,ie){var oe=ae.getData();if(this.group.dirty(),!this._finished||oe.count()>1e4)return{update:!0};var se=pointsLayout("").reset(ae,ne,ie);se.progress&&se.progress({start:0,end:oe.count(),count:oe.count()},oe),this._symbolDraw.updateLayout(oe)},te.prototype.eachRendered=function(ae){this._symbolDraw&&this._symbolDraw.eachRendered(ae)},te.prototype._getClipShape=function(ae){var ne=ae.coordinateSystem,ie=ne&&ne.getArea&&ne.getArea();return ae.get("clip",!0)?ie:null},te.prototype._updateSymbolDraw=function(ae,ne){var ie=this._symbolDraw,oe=ne.pipelineContext,se=oe.large;return(!ie||se!==this._isLargeDraw)&&(ie&&ie.remove(),ie=this._symbolDraw=se?new LargeSymbolDraw$1:new SymbolDraw$1,this._isLargeDraw=se,this.group.removeAll()),this.group.add(ie.group),ie},te.prototype.remove=function(ae,ne){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},te.prototype.dispose=function(){},te.type="scatter",te}(ChartView$1);const ScatterView$1=ScatterView;var GridModel=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.type="grid",te.dependencies=["xAxis","yAxis"],te.layoutMode="box",te.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},te}(ComponentModel$1);const GridModel$1=GridModel;var CartesianAxisModel=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",SINGLE_REFERRING).models[0]},te.type="cartesian2dAxis",te}(ComponentModel$1);mixin(CartesianAxisModel,AxisModelCommonMixin);var defaultOption$1={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},categoryAxis=merge$1({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},defaultOption$1),valueAxis=merge$1({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},defaultOption$1),timeAxis=merge$1({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},valueAxis),logAxis=defaults$2({logBase:10},valueAxis);const axisDefault={category:categoryAxis,value:valueAxis,time:timeAxis,log:logAxis};var AXIS_TYPES={value:1,category:1,time:1,log:1};function axisModelCreator(ee,te,ae,ne){each$f(AXIS_TYPES,function(ie,oe){var se=merge$1(merge$1({},axisDefault[oe],!0),ne,!0),le=function(ue){__extends(ce,ue);function ce(){var de=ue!==null&&ue.apply(this,arguments)||this;return de.type=te+"Axis."+oe,de}return ce.prototype.mergeDefaultAndTheme=function(de,he){var fe=fetchLayoutMode(this),pe=fe?getLayoutParams(de):{},ve=he.getTheme();merge$1(de,ve.get(oe+"Axis")),merge$1(de,this.getDefaultOption()),de.type=getAxisType(de),fe&&mergeLayoutParam(de,pe,fe)},ce.prototype.optionUpdated=function(){var de=this.option;de.type==="category"&&(this.__ordinalMeta=OrdinalMeta$1.createByAxisModel(this))},ce.prototype.getCategories=function(de){var he=this.option;if(he.type==="category")return de?he.data:this.__ordinalMeta.categories},ce.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},ce.type=te+"Axis."+oe,ce.defaultOption=se,ce}(ae);ee.registerComponentModel(le)}),ee.registerSubTypeDefaulter(te+"Axis",getAxisType)}function getAxisType(ee){return ee.type||(ee.data?"category":"value")}var Cartesian=function(){function ee(te){this.type="cartesian",this._dimList=[],this._axes={},this.name=te||""}return ee.prototype.getAxis=function(te){return this._axes[te]},ee.prototype.getAxes=function(){return map$1(this._dimList,function(te){return this._axes[te]},this)},ee.prototype.getAxesByScale=function(te){return te=te.toLowerCase(),filter(this.getAxes(),function(ae){return ae.scale.type===te})},ee.prototype.addAxis=function(te){var ae=te.dim;this._axes[ae]=te,this._dimList.push(ae)},ee}();const Cartesian$1=Cartesian;var cartesian2DDimensions=["x","y"];function canCalculateAffineTransform(ee){return ee.type==="interval"||ee.type==="time"}var Cartesian2D=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="cartesian2d",ae.dimensions=cartesian2DDimensions,ae}return te.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var ae=this.getAxis("x").scale,ne=this.getAxis("y").scale;if(!(!canCalculateAffineTransform(ae)||!canCalculateAffineTransform(ne))){var ie=ae.getExtent(),oe=ne.getExtent(),se=this.dataToPoint([ie[0],oe[0]]),le=this.dataToPoint([ie[1],oe[1]]),ue=ie[1]-ie[0],ce=oe[1]-oe[0];if(!(!ue||!ce)){var de=(le[0]-se[0])/ue,he=(le[1]-se[1])/ce,fe=se[0]-ie[0]*de,pe=se[1]-oe[0]*he,ve=this._transform=[de,0,0,he,fe,pe];this._invTransform=invert([],ve)}}},te.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},te.prototype.containPoint=function(ae){var ne=this.getAxis("x"),ie=this.getAxis("y");return ne.contain(ne.toLocalCoord(ae[0]))&&ie.contain(ie.toLocalCoord(ae[1]))},te.prototype.containData=function(ae){return this.getAxis("x").containData(ae[0])&&this.getAxis("y").containData(ae[1])},te.prototype.containZone=function(ae,ne){var ie=this.dataToPoint(ae),oe=this.dataToPoint(ne),se=this.getArea(),le=new BoundingRect$1(ie[0],ie[1],oe[0]-ie[0],oe[1]-ie[1]);return se.intersect(le)},te.prototype.dataToPoint=function(ae,ne,ie){ie=ie||[];var oe=ae[0],se=ae[1];if(this._transform&&oe!=null&&isFinite(oe)&&se!=null&&isFinite(se))return applyTransform$1(ie,ae,this._transform);var le=this.getAxis("x"),ue=this.getAxis("y");return ie[0]=le.toGlobalCoord(le.dataToCoord(oe,ne)),ie[1]=ue.toGlobalCoord(ue.dataToCoord(se,ne)),ie},te.prototype.clampData=function(ae,ne){var ie=this.getAxis("x").scale,oe=this.getAxis("y").scale,se=ie.getExtent(),le=oe.getExtent(),ue=ie.parse(ae[0]),ce=oe.parse(ae[1]);return ne=ne||[],ne[0]=Math.min(Math.max(Math.min(se[0],se[1]),ue),Math.max(se[0],se[1])),ne[1]=Math.min(Math.max(Math.min(le[0],le[1]),ce),Math.max(le[0],le[1])),ne},te.prototype.pointToData=function(ae,ne){var ie=[];if(this._invTransform)return applyTransform$1(ie,ae,this._invTransform);var oe=this.getAxis("x"),se=this.getAxis("y");return ie[0]=oe.coordToData(oe.toLocalCoord(ae[0]),ne),ie[1]=se.coordToData(se.toLocalCoord(ae[1]),ne),ie},te.prototype.getOtherAxis=function(ae){return this.getAxis(ae.dim==="x"?"y":"x")},te.prototype.getArea=function(){var ae=this.getAxis("x").getGlobalExtent(),ne=this.getAxis("y").getGlobalExtent(),ie=Math.min(ae[0],ae[1]),oe=Math.min(ne[0],ne[1]),se=Math.max(ae[0],ae[1])-ie,le=Math.max(ne[0],ne[1])-oe;return new BoundingRect$1(ie,oe,se,le)},te}(Cartesian$1),Axis2D=function(ee){__extends(te,ee);function te(ae,ne,ie,oe,se){var le=ee.call(this,ae,ne,ie)||this;return le.index=0,le.type=oe||"value",le.position=se||"bottom",le}return te.prototype.isHorizontal=function(){var ae=this.position;return ae==="top"||ae==="bottom"},te.prototype.getGlobalExtent=function(ae){var ne=this.getExtent();return ne[0]=this.toGlobalCoord(ne[0]),ne[1]=this.toGlobalCoord(ne[1]),ae&&ne[0]>ne[1]&&ne.reverse(),ne},te.prototype.pointToData=function(ae,ne){return this.coordToData(this.toLocalCoord(ae[this.dim==="x"?0:1]),ne)},te.prototype.setCategorySortInfo=function(ae){if(this.type!=="category")return!1;this.model.option.categorySortInfo=ae,this.scale.setSortInfo(ae)},te}(Axis$1);const Axis2D$1=Axis2D;function layout$2(ee,te,ae){ae=ae||{};var ne=ee.coordinateSystem,ie=te.axis,oe={},se=ie.getAxesOnZeroOf()[0],le=ie.position,ue=se?"onZero":le,ce=ie.dim,de=ne.getRect(),he=[de.x,de.x+de.width,de.y,de.y+de.height],fe={left:0,right:1,top:0,bottom:1,onZero:2},pe=te.get("offset")||0,ve=ce==="x"?[he[2]-pe,he[3]+pe]:[he[0]-pe,he[1]+pe];if(se){var ge=se.toGlobalCoord(se.dataToCoord(0));ve[fe.onZero]=Math.max(Math.min(ge,ve[1]),ve[0])}oe.position=[ce==="y"?ve[fe[ue]]:he[0],ce==="x"?ve[fe[ue]]:he[3]],oe.rotation=Math.PI/2*(ce==="x"?0:1);var me={top:-1,bottom:1,left:-1,right:1};oe.labelDirection=oe.tickDirection=oe.nameDirection=me[le],oe.labelOffset=se?ve[fe[le]]-ve[fe.onZero]:0,te.get(["axisTick","inside"])&&(oe.tickDirection=-oe.tickDirection),retrieve(ae.labelInside,te.get(["axisLabel","inside"]))&&(oe.labelDirection=-oe.labelDirection);var ye=te.get(["axisLabel","rotate"]);return oe.labelRotate=ue==="top"?-ye:ye,oe.z2=1,oe}function isCartesian2DSeries(ee){return ee.get("coordinateSystem")==="cartesian2d"}function findAxisModels(ee){var te={xAxisModel:null,yAxisModel:null};return each$f(te,function(ae,ne){var ie=ne.replace(/Model$/,""),oe=ee.getReferringComponents(ie,SINGLE_REFERRING).models[0];te[ne]=oe}),te}var mathLog=Math.log;function alignScaleTicks(ee,te,ae){var ne=IntervalScale$1.prototype,ie=ne.getTicks.call(ae),oe=ne.getTicks.call(ae,!0),se=ie.length-1,le=ne.getInterval.call(ae),ue=getScaleExtent(ee,te),ce=ue.extent,de=ue.fixMin,he=ue.fixMax;if(ee.type==="log"){var fe=mathLog(ee.base);ce=[mathLog(ce[0])/fe,mathLog(ce[1])/fe]}ee.setExtent(ce[0],ce[1]),ee.calcNiceExtent({splitNumber:se,fixMin:de,fixMax:he});var pe=ne.getExtent.call(ee);de&&(ce[0]=pe[0]),he&&(ce[1]=pe[1]);var ve=ne.getInterval.call(ee),ge=ce[0],me=ce[1];if(de&&he)ve=(me-ge)/se;else if(de)for(me=ce[0]+ve*se;me<ce[1]&&isFinite(me)&&isFinite(ce[1]);)ve=increaseInterval(ve),me=ce[0]+ve*se;else if(he)for(ge=ce[1]-ve*se;ge>ce[0]&&isFinite(ge)&&isFinite(ce[0]);)ve=increaseInterval(ve),ge=ce[1]-ve*se;else{var ye=ee.getTicks().length-1;ye>se&&(ve=increaseInterval(ve));var _e=ve*se;me=Math.ceil(ce[1]/ve)*ve,ge=round$3(me-_e),ge<0&&ce[0]>=0?(ge=0,me=round$3(_e)):me>0&&ce[1]<=0&&(me=0,ge=-round$3(_e))}var be=(ie[0].value-oe[0].value)/le,xe=(ie[se].value-oe[se].value)/le;ne.setExtent.call(ee,ge+ve*be,me+ve*xe),ne.setInterval.call(ee,ve),(be||xe)&&ne.setNiceExtent.call(ee,ge+ve,me-ve)}var Grid=function(){function ee(te,ae,ne){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=cartesian2DDimensions,this._initCartesian(te,ae,ne),this.model=te}return ee.prototype.getRect=function(){return this._rect},ee.prototype.update=function(te,ae){var ne=this._axesMap;this._updateScale(te,this.model);function ie(se){var le,ue=keys(se),ce=ue.length;if(ce){for(var de=[],he=ce-1;he>=0;he--){var fe=+ue[he],pe=se[fe],ve=pe.model,ge=pe.scale;isIntervalOrLogScale(ge)&&ve.get("alignTicks")&&ve.get("interval")==null?de.push(pe):(niceScaleExtent(ge,ve),isIntervalOrLogScale(ge)&&(le=pe))}de.length&&(le||(le=de.pop(),niceScaleExtent(le.scale,le.model)),each$f(de,function(me){alignScaleTicks(me.scale,me.model,le.scale)}))}}ie(ne.x),ie(ne.y);var oe={};each$f(ne.x,function(se){fixAxisOnZero(ne,"y",se,oe)}),each$f(ne.y,function(se){fixAxisOnZero(ne,"x",se,oe)}),this.resize(this.model,ae)},ee.prototype.resize=function(te,ae,ne){var ie=te.getBoxLayoutParams(),oe=!ne&&te.get("containLabel"),se=getLayoutRect(ie,{width:ae.getWidth(),height:ae.getHeight()});this._rect=se;var le=this._axesList;ue(),oe&&(each$f(le,function(ce){if(!ce.model.get(["axisLabel","inside"])){var de=estimateLabelUnionRect(ce);if(de){var he=ce.isHorizontal()?"height":"width",fe=ce.model.get(["axisLabel","margin"]);se[he]-=de[he]+fe,ce.position==="top"?se.y+=de.height+fe:ce.position==="left"&&(se.x+=de.width+fe)}}}),ue()),each$f(this._coordsList,function(ce){ce.calcAffineTransform()});function ue(){each$f(le,function(ce){var de=ce.isHorizontal(),he=de?[0,se.width]:[0,se.height],fe=ce.inverse?1:0;ce.setExtent(he[fe],he[1-fe]),updateAxisTransform(ce,de?se.x:se.y)})}},ee.prototype.getAxis=function(te,ae){var ne=this._axesMap[te];if(ne!=null)return ne[ae||0]},ee.prototype.getAxes=function(){return this._axesList.slice()},ee.prototype.getCartesian=function(te,ae){if(te!=null&&ae!=null){var ne="x"+te+"y"+ae;return this._coordsMap[ne]}isObject$4(te)&&(ae=te.yAxisIndex,te=te.xAxisIndex);for(var ie=0,oe=this._coordsList;ie<oe.length;ie++)if(oe[ie].getAxis("x").index===te||oe[ie].getAxis("y").index===ae)return oe[ie]},ee.prototype.getCartesians=function(){return this._coordsList.slice()},ee.prototype.convertToPixel=function(te,ae,ne){var ie=this._findConvertTarget(ae);return ie.cartesian?ie.cartesian.dataToPoint(ne):ie.axis?ie.axis.toGlobalCoord(ie.axis.dataToCoord(ne)):null},ee.prototype.convertFromPixel=function(te,ae,ne){var ie=this._findConvertTarget(ae);return ie.cartesian?ie.cartesian.pointToData(ne):ie.axis?ie.axis.coordToData(ie.axis.toLocalCoord(ne)):null},ee.prototype._findConvertTarget=function(te){var ae=te.seriesModel,ne=te.xAxisModel||ae&&ae.getReferringComponents("xAxis",SINGLE_REFERRING).models[0],ie=te.yAxisModel||ae&&ae.getReferringComponents("yAxis",SINGLE_REFERRING).models[0],oe=te.gridModel,se=this._coordsList,le,ue;if(ae)le=ae.coordinateSystem,indexOf(se,le)<0&&(le=null);else if(ne&&ie)le=this.getCartesian(ne.componentIndex,ie.componentIndex);else if(ne)ue=this.getAxis("x",ne.componentIndex);else if(ie)ue=this.getAxis("y",ie.componentIndex);else if(oe){var ce=oe.coordinateSystem;ce===this&&(le=this._coordsList[0])}return{cartesian:le,axis:ue}},ee.prototype.containPoint=function(te){var ae=this._coordsList[0];if(ae)return ae.containPoint(te)},ee.prototype._initCartesian=function(te,ae,ne){var ie=this,oe=this,se={left:!1,right:!1,top:!1,bottom:!1},le={x:{},y:{}},ue={x:0,y:0};if(ae.eachComponent("xAxis",ce("x"),this),ae.eachComponent("yAxis",ce("y"),this),!ue.x||!ue.y){this._axesMap={},this._axesList=[];return}this._axesMap=le,each$f(le.x,function(de,he){each$f(le.y,function(fe,pe){var ve="x"+he+"y"+pe,ge=new Cartesian2D(ve);ge.master=ie,ge.model=te,ie._coordsMap[ve]=ge,ie._coordsList.push(ge),ge.addAxis(de),ge.addAxis(fe)})});function ce(de){return function(he,fe){if(isAxisUsedInTheGrid(he,te)){var pe=he.get("position");de==="x"?pe!=="top"&&pe!=="bottom"&&(pe=se.bottom?"top":"bottom"):pe!=="left"&&pe!=="right"&&(pe=se.left?"right":"left"),se[pe]=!0;var ve=new Axis2D$1(de,createScaleByModel$1(he),[0,0],he.get("type"),pe),ge=ve.type==="category";ve.onBand=ge&&he.get("boundaryGap"),ve.inverse=he.get("inverse"),he.axis=ve,ve.model=he,ve.grid=oe,ve.index=fe,oe._axesList.push(ve),le[de][fe]=ve,ue[de]++}}}},ee.prototype._updateScale=function(te,ae){each$f(this._axesList,function(ie){if(ie.scale.setExtent(1/0,-1/0),ie.type==="category"){var oe=ie.model.get("categorySortInfo");ie.scale.setSortInfo(oe)}}),te.eachSeries(function(ie){if(isCartesian2DSeries(ie)){var oe=findAxisModels(ie),se=oe.xAxisModel,le=oe.yAxisModel;if(!isAxisUsedInTheGrid(se,ae)||!isAxisUsedInTheGrid(le,ae))return;var ue=this.getCartesian(se.componentIndex,le.componentIndex),ce=ie.getData(),de=ue.getAxis("x"),he=ue.getAxis("y");ne(ce,de),ne(ce,he)}},this);function ne(ie,oe){each$f(getDataDimensionsOnAxis(ie,oe.dim),function(se){oe.scale.unionExtentFromData(ie,se)})}},ee.prototype.getTooltipAxes=function(te){var ae=[],ne=[];return each$f(this.getCartesians(),function(ie){var oe=te!=null&&te!=="auto"?ie.getAxis(te):ie.getBaseAxis(),se=ie.getOtherAxis(oe);indexOf(ae,oe)<0&&ae.push(oe),indexOf(ne,se)<0&&ne.push(se)}),{baseAxes:ae,otherAxes:ne}},ee.create=function(te,ae){var ne=[];return te.eachComponent("grid",function(ie,oe){var se=new ee(ie,te,ae);se.name="grid_"+oe,se.resize(ie,ae,!0),ie.coordinateSystem=se,ne.push(se)}),te.eachSeries(function(ie){if(isCartesian2DSeries(ie)){var oe=findAxisModels(ie),se=oe.xAxisModel,le=oe.yAxisModel,ue=se.getCoordSysModel(),ce=ue.coordinateSystem;ie.coordinateSystem=ce.getCartesian(se.componentIndex,le.componentIndex)}}),ne},ee.dimensions=cartesian2DDimensions,ee}();function isAxisUsedInTheGrid(ee,te){return ee.getCoordSysModel()===te}function fixAxisOnZero(ee,te,ae,ne){ae.getAxesOnZeroOf=function(){return oe?[oe]:[]};var ie=ee[te],oe,se=ae.model,le=se.get(["axisLine","onZero"]),ue=se.get(["axisLine","onZeroAxisIndex"]);if(!le)return;if(ue!=null)canOnZeroToAxis(ie[ue])&&(oe=ie[ue]);else for(var ce in ie)if(ie.hasOwnProperty(ce)&&canOnZeroToAxis(ie[ce])&&!ne[de(ie[ce])]){oe=ie[ce];break}oe&&(ne[de(oe)]=!0);function de(he){return he.dim+"_"+he.index}}function canOnZeroToAxis(ee){return ee&&ee.type!=="category"&&ee.type!=="time"&&ifAxisCrossZero(ee)}function updateAxisTransform(ee,te){var ae=ee.getExtent(),ne=ae[0]+ae[1];ee.toGlobalCoord=ee.dim==="x"?function(ie){return ie+te}:function(ie){return ne-ie+te},ee.toLocalCoord=ee.dim==="x"?function(ie){return ie-te}:function(ie){return ne-ie+te}}const Grid$1=Grid;var PI$3=Math.PI,AxisBuilder=function(){function ee(te,ae){this.group=new Group$4,this.opt=ae,this.axisModel=te,defaults$2(ae,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var ne=new Group$4({x:ae.position[0],y:ae.position[1],rotation:ae.rotation});ne.updateTransform(),this._transformGroup=ne}return ee.prototype.hasBuilder=function(te){return!!builders[te]},ee.prototype.add=function(te){builders[te](this.opt,this.axisModel,this.group,this._transformGroup)},ee.prototype.getGroup=function(){return this.group},ee.innerTextLayout=function(te,ae,ne){var ie=remRadian(ae-te),oe,se;return isRadianAroundZero(ie)?(se=ne>0?"top":"bottom",oe="center"):isRadianAroundZero(ie-PI$3)?(se=ne>0?"bottom":"top",oe="center"):(se="middle",ie>0&&ie<PI$3?oe=ne>0?"right":"left":oe=ne>0?"left":"right"),{rotation:ie,textAlign:oe,textVerticalAlign:se}},ee.makeAxisEventDataBase=function(te){var ae={componentType:te.mainType,componentIndex:te.componentIndex};return ae[te.mainType+"Index"]=te.componentIndex,ae},ee.isLabelSilent=function(te){var ae=te.get("tooltip");return te.get("silent")||!(te.get("triggerEvent")||ae&&ae.show)},ee}(),builders={axisLine:function(ee,te,ae,ne){var ie=te.get(["axisLine","show"]);if(ie==="auto"&&ee.handleAutoShown&&(ie=ee.handleAutoShown("axisLine")),!!ie){var oe=te.axis.getExtent(),se=ne.transform,le=[oe[0],0],ue=[oe[1],0],ce=le[0]>ue[0];se&&(applyTransform$1(le,le,se),applyTransform$1(ue,ue,se));var de=extend$1({lineCap:"round"},te.getModel(["axisLine","lineStyle"]).getLineStyle()),he=new Line$3({shape:{x1:le[0],y1:le[1],x2:ue[0],y2:ue[1]},style:de,strokeContainThreshold:ee.strokeContainThreshold||5,silent:!0,z2:1});subPixelOptimizeLine(he.shape,he.style.lineWidth),he.anid="line",ae.add(he);var fe=te.get(["axisLine","symbol"]);if(fe!=null){var pe=te.get(["axisLine","symbolSize"]);isString$1(fe)&&(fe=[fe,fe]),(isString$1(pe)||isNumber$1(pe))&&(pe=[pe,pe]);var ve=normalizeSymbolOffset(te.get(["axisLine","symbolOffset"])||0,pe),ge=pe[0],me=pe[1];each$f([{rotate:ee.rotation+Math.PI/2,offset:ve[0],r:0},{rotate:ee.rotation-Math.PI/2,offset:ve[1],r:Math.sqrt((le[0]-ue[0])*(le[0]-ue[0])+(le[1]-ue[1])*(le[1]-ue[1]))}],function(ye,_e){if(fe[_e]!=="none"&&fe[_e]!=null){var be=createSymbol$1(fe[_e],-ge/2,-me/2,ge,me,de.stroke,!0),xe=ye.r+ye.offset,$e=ce?ue:le;be.attr({rotation:ye.rotate,x:$e[0]+xe*Math.cos(ee.rotation),y:$e[1]-xe*Math.sin(ee.rotation),silent:!0,z2:11}),ae.add(be)}})}}},axisTickLabel:function(ee,te,ae,ne){var ie=buildAxisMajorTicks(ae,ne,te,ee),oe=buildAxisLabel(ae,ne,te,ee);if(fixMinMaxLabelShow(te,oe,ie),buildAxisMinorTicks(ae,ne,te,ee.tickDirection),te.get(["axisLabel","hideOverlap"])){var se=prepareLayoutList(map$1(oe,function(le){return{label:le,priority:le.z2,defaultAttr:{ignore:le.ignore}}}));hideOverlap(se)}},axisName:function(ee,te,ae,ne){var ie=retrieve(ee.axisName,te.get("name"));if(ie){var oe=te.get("nameLocation"),se=ee.nameDirection,le=te.getModel("nameTextStyle"),ue=te.get("nameGap")||0,ce=te.axis.getExtent(),de=ce[0]>ce[1]?-1:1,he=[oe==="start"?ce[0]-de*ue:oe==="end"?ce[1]+de*ue:(ce[0]+ce[1])/2,isNameLocationCenter(oe)?ee.labelOffset+se*ue:0],fe,pe=te.get("nameRotate");pe!=null&&(pe=pe*PI$3/180);var ve;isNameLocationCenter(oe)?fe=AxisBuilder.innerTextLayout(ee.rotation,pe??ee.rotation,se):(fe=endTextLayout(ee.rotation,oe,pe||0,ce),ve=ee.axisNameAvailableWidth,ve!=null&&(ve=Math.abs(ve/Math.sin(fe.rotation)),!isFinite(ve)&&(ve=null)));var ge=le.getFont(),me=te.get("nameTruncate",!0)||{},ye=me.ellipsis,_e=retrieve(ee.nameTruncateMaxWidth,me.maxWidth,ve),be=new ZRText$1({x:he[0],y:he[1],rotation:fe.rotation,silent:AxisBuilder.isLabelSilent(te),style:createTextStyle$1(le,{text:ie,font:ge,overflow:"truncate",width:_e,ellipsis:ye,fill:le.getTextColor()||te.get(["axisLine","lineStyle","color"]),align:le.get("align")||fe.textAlign,verticalAlign:le.get("verticalAlign")||fe.textVerticalAlign}),z2:1});if(setTooltipConfig({el:be,componentModel:te,itemName:ie}),be.__fullText=ie,be.anid="name",te.get("triggerEvent")){var xe=AxisBuilder.makeAxisEventDataBase(te);xe.targetType="axisName",xe.name=ie,getECData(be).eventData=xe}ne.add(be),be.updateTransform(),ae.add(be),be.decomposeTransform()}}};function endTextLayout(ee,te,ae,ne){var ie=remRadian(ae-ee),oe,se,le=ne[0]>ne[1],ue=te==="start"&&!le||te!=="start"&&le;return isRadianAroundZero(ie-PI$3/2)?(se=ue?"bottom":"top",oe="center"):isRadianAroundZero(ie-PI$3*1.5)?(se=ue?"top":"bottom",oe="center"):(se="middle",ie<PI$3*1.5&&ie>PI$3/2?oe=ue?"left":"right":oe=ue?"right":"left"),{rotation:ie,textAlign:oe,textVerticalAlign:se}}function fixMinMaxLabelShow(ee,te,ae){if(!shouldShowAllLabels(ee.axis)){var ne=ee.get(["axisLabel","showMinLabel"]),ie=ee.get(["axisLabel","showMaxLabel"]);te=te||[],ae=ae||[];var oe=te[0],se=te[1],le=te[te.length-1],ue=te[te.length-2],ce=ae[0],de=ae[1],he=ae[ae.length-1],fe=ae[ae.length-2];ne===!1?(ignoreEl(oe),ignoreEl(ce)):isTwoLabelOverlapped(oe,se)&&(ne?(ignoreEl(se),ignoreEl(de)):(ignoreEl(oe),ignoreEl(ce))),ie===!1?(ignoreEl(le),ignoreEl(he)):isTwoLabelOverlapped(ue,le)&&(ie?(ignoreEl(ue),ignoreEl(fe)):(ignoreEl(le),ignoreEl(he)))}}function ignoreEl(ee){ee&&(ee.ignore=!0)}function isTwoLabelOverlapped(ee,te){var ae=ee&&ee.getBoundingRect().clone(),ne=te&&te.getBoundingRect().clone();if(!(!ae||!ne)){var ie=identity([]);return rotate(ie,ie,-ee.rotation),ae.applyTransform(mul([],ie,ee.getLocalTransform())),ne.applyTransform(mul([],ie,te.getLocalTransform())),ae.intersect(ne)}}function isNameLocationCenter(ee){return ee==="middle"||ee==="center"}function createTicks(ee,te,ae,ne,ie){for(var oe=[],se=[],le=[],ue=0;ue<ee.length;ue++){var ce=ee[ue].coord;se[0]=ce,se[1]=0,le[0]=ce,le[1]=ae,te&&(applyTransform$1(se,se,te),applyTransform$1(le,le,te));var de=new Line$3({shape:{x1:se[0],y1:se[1],x2:le[0],y2:le[1]},style:ne,z2:2,autoBatch:!0,silent:!0});subPixelOptimizeLine(de.shape,de.style.lineWidth),de.anid=ie+"_"+ee[ue].tickValue,oe.push(de)}return oe}function buildAxisMajorTicks(ee,te,ae,ne){var ie=ae.axis,oe=ae.getModel("axisTick"),se=oe.get("show");if(se==="auto"&&ne.handleAutoShown&&(se=ne.handleAutoShown("axisTick")),!(!se||ie.scale.isBlank())){for(var le=oe.getModel("lineStyle"),ue=ne.tickDirection*oe.get("length"),ce=ie.getTicksCoords(),de=createTicks(ce,te.transform,ue,defaults$2(le.getLineStyle(),{stroke:ae.get(["axisLine","lineStyle","color"])}),"ticks"),he=0;he<de.length;he++)ee.add(de[he]);return de}}function buildAxisMinorTicks(ee,te,ae,ne){var ie=ae.axis,oe=ae.getModel("minorTick");if(!(!oe.get("show")||ie.scale.isBlank())){var se=ie.getMinorTicksCoords();if(se.length)for(var le=oe.getModel("lineStyle"),ue=ne*oe.get("length"),ce=defaults$2(le.getLineStyle(),defaults$2(ae.getModel("axisTick").getLineStyle(),{stroke:ae.get(["axisLine","lineStyle","color"])})),de=0;de<se.length;de++)for(var he=createTicks(se[de],te.transform,ue,ce,"minorticks_"+de),fe=0;fe<he.length;fe++)ee.add(he[fe])}}function buildAxisLabel(ee,te,ae,ne){var ie=ae.axis,oe=retrieve(ne.axisLabelShow,ae.get(["axisLabel","show"]));if(!(!oe||ie.scale.isBlank())){var se=ae.getModel("axisLabel"),le=se.get("margin"),ue=ie.getViewLabels(),ce=(retrieve(ne.labelRotate,se.get("rotate"))||0)*PI$3/180,de=AxisBuilder.innerTextLayout(ne.rotation,ce,ne.labelDirection),he=ae.getCategories&&ae.getCategories(!0),fe=[],pe=AxisBuilder.isLabelSilent(ae),ve=ae.get("triggerEvent");return each$f(ue,function(ge,me){var ye=ie.scale.type==="ordinal"?ie.scale.getRawOrdinalNumber(ge.tickValue):ge.tickValue,_e=ge.formattedLabel,be=ge.rawLabel,xe=se;if(he&&he[ye]){var $e=he[ye];isObject$4($e)&&$e.textStyle&&(xe=new Model$1($e.textStyle,se,ae.ecModel))}var Se=xe.getTextColor()||ae.get(["axisLine","lineStyle","color"]),we=ie.dataToCoord(ye),Ae=new ZRText$1({x:we,y:ne.labelOffset+ne.labelDirection*le,rotation:de.rotation,silent:pe,z2:10+(ge.level||0),style:createTextStyle$1(xe,{text:_e,align:xe.getShallow("align",!0)||de.textAlign,verticalAlign:xe.getShallow("verticalAlign",!0)||xe.getShallow("baseline",!0)||de.textVerticalAlign,fill:isFunction$1(Se)?Se(ie.type==="category"?be:ie.type==="value"?ye+"":ye,me):Se})});if(Ae.anid="label_"+ye,ve){var Te=AxisBuilder.makeAxisEventDataBase(ae);Te.targetType="axisLabel",Te.value=be,Te.tickIndex=me,ie.type==="category"&&(Te.dataIndex=ye),getECData(Ae).eventData=Te}te.add(Ae),Ae.updateTransform(),fe.push(Ae),ee.add(Ae),Ae.decomposeTransform()}),fe}}const AxisBuilder$1=AxisBuilder;function collect(ee,te){var ae={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return collectAxesInfo(ae,ee,te),ae.seriesInvolved&&collectSeriesInfo(ae,ee),ae}function collectAxesInfo(ee,te,ae){var ne=te.getComponent("tooltip"),ie=te.getComponent("axisPointer"),oe=ie.get("link",!0)||[],se=[];each$f(ae.getCoordinateSystems(),function(le){if(!le.axisPointerEnabled)return;var ue=makeKey(le.model),ce=ee.coordSysAxesInfo[ue]={};ee.coordSysMap[ue]=le;var de=le.model,he=de.getModel("tooltip",ne);if(each$f(le.getAxes(),curry$1(ge,!1,null)),le.getTooltipAxes&&ne&&he.get("show")){var fe=he.get("trigger")==="axis",pe=he.get(["axisPointer","type"])==="cross",ve=le.getTooltipAxes(he.get(["axisPointer","axis"]));(fe||pe)&&each$f(ve.baseAxes,curry$1(ge,pe?"cross":!0,fe)),pe&&each$f(ve.otherAxes,curry$1(ge,"cross",!1))}function ge(me,ye,_e){var be=_e.model.getModel("axisPointer",ie),xe=be.get("show");if(!(!xe||xe==="auto"&&!me&&!isHandleTrigger(be))){ye==null&&(ye=be.get("triggerTooltip")),be=me?makeAxisPointerModel(_e,he,ie,te,me,ye):be;var $e=be.get("snap"),Se=be.get("triggerEmphasis"),we=makeKey(_e.model),Ae=ye||$e||_e.type==="category",Te=ee.axesInfo[we]={key:we,axis:_e,coordSys:le,axisPointerModel:be,triggerTooltip:ye,triggerEmphasis:Se,involveSeries:Ae,snap:$e,useHandle:isHandleTrigger(be),seriesModels:[],linkGroup:null};ce[we]=Te,ee.seriesInvolved=ee.seriesInvolved||Ae;var De=getLinkGroupIndex(oe,_e);if(De!=null){var Me=se[De]||(se[De]={axesInfo:{}});Me.axesInfo[we]=Te,Me.mapper=oe[De].mapper,Te.linkGroup=Me}}}})}function makeAxisPointerModel(ee,te,ae,ne,ie,oe){var se=te.getModel("axisPointer"),le=["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],ue={};each$f(le,function(fe){ue[fe]=clone$4(se.get(fe))}),ue.snap=ee.type!=="category"&&!!oe,se.get("type")==="cross"&&(ue.type="line");var ce=ue.label||(ue.label={});if(ce.show==null&&(ce.show=!1),ie==="cross"){var de=se.get(["label","show"]);if(ce.show=de??!0,!oe){var he=ue.lineStyle=se.get("crossStyle");he&&defaults$2(ce,he.textStyle)}}return ee.model.getModel("axisPointer",new Model$1(ue,ae,ne))}function collectSeriesInfo(ee,te){te.eachSeries(function(ae){var ne=ae.coordinateSystem,ie=ae.get(["tooltip","trigger"],!0),oe=ae.get(["tooltip","show"],!0);!ne||ie==="none"||ie===!1||ie==="item"||oe===!1||ae.get(["axisPointer","show"],!0)===!1||each$f(ee.coordSysAxesInfo[makeKey(ne.model)],function(se){var le=se.axis;ne.getAxis(le.dim)===le&&(se.seriesModels.push(ae),se.seriesDataCount==null&&(se.seriesDataCount=0),se.seriesDataCount+=ae.getData().count())})})}function getLinkGroupIndex(ee,te){for(var ae=te.model,ne=te.dim,ie=0;ie<ee.length;ie++){var oe=ee[ie]||{};if(checkPropInLink(oe[ne+"AxisId"],ae.id)||checkPropInLink(oe[ne+"AxisIndex"],ae.componentIndex)||checkPropInLink(oe[ne+"AxisName"],ae.name))return ie}}function checkPropInLink(ee,te){return ee==="all"||isArray$2(ee)&&indexOf(ee,te)>=0||ee===te}function fixValue(ee){var te=getAxisInfo$1(ee);if(te){var ae=te.axisPointerModel,ne=te.axis.scale,ie=ae.option,oe=ae.get("status"),se=ae.get("value");se!=null&&(se=ne.parse(se));var le=isHandleTrigger(ae);oe==null&&(ie.status=le?"show":"hide");var ue=ne.getExtent().slice();ue[0]>ue[1]&&ue.reverse(),(se==null||se>ue[1])&&(se=ue[1]),se<ue[0]&&(se=ue[0]),ie.value=se,le&&(ie.status=te.axis.scale.isBlank()?"hide":"show")}}function getAxisInfo$1(ee){var te=(ee.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return te&&te.axesInfo[makeKey(ee)]}function getAxisPointerModel(ee){var te=getAxisInfo$1(ee);return te&&te.axisPointerModel}function isHandleTrigger(ee){return!!ee.get(["handle","show"])}function makeKey(ee){return ee.type+"||"+ee.id}var axisPointerClazz={},AxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie,oe){this.axisPointerClass&&fixValue(ae),ee.prototype.render.apply(this,arguments),this._doUpdateAxisPointerClass(ae,ie,!0)},te.prototype.updateAxisPointer=function(ae,ne,ie,oe){this._doUpdateAxisPointerClass(ae,ie,!1)},te.prototype.remove=function(ae,ne){var ie=this._axisPointer;ie&&ie.remove(ne)},te.prototype.dispose=function(ae,ne){this._disposeAxisPointer(ne),ee.prototype.dispose.apply(this,arguments)},te.prototype._doUpdateAxisPointerClass=function(ae,ne,ie){var oe=te.getAxisPointerClass(this.axisPointerClass);if(oe){var se=getAxisPointerModel(ae);se?(this._axisPointer||(this._axisPointer=new oe)).render(ae,se,ne,ie):this._disposeAxisPointer(ne)}},te.prototype._disposeAxisPointer=function(ae){this._axisPointer&&this._axisPointer.dispose(ae),this._axisPointer=null},te.registerAxisPointerClass=function(ae,ne){axisPointerClazz[ae]=ne},te.getAxisPointerClass=function(ae){return ae&&axisPointerClazz[ae]},te.type="axis",te}(ComponentView$1);const AxisView$1=AxisView;var inner$f=makeInner();function rectCoordAxisBuildSplitArea(ee,te,ae,ne){var ie=ae.axis;if(!ie.scale.isBlank()){var oe=ae.getModel("splitArea"),se=oe.getModel("areaStyle"),le=se.get("color"),ue=ne.coordinateSystem.getRect(),ce=ie.getTicksCoords({tickModel:oe,clamp:!0});if(ce.length){var de=le.length,he=inner$f(ee).splitAreaColors,fe=createHashMap(),pe=0;if(he)for(var ve=0;ve<ce.length;ve++){var ge=he.get(ce[ve].tickValue);if(ge!=null){pe=(ge+(de-1)*ve)%de;break}}var me=ie.toGlobalCoord(ce[0].coord),ye=se.getAreaStyle();le=isArray$2(le)?le:[le];for(var ve=1;ve<ce.length;ve++){var _e=ie.toGlobalCoord(ce[ve].coord),be=void 0,xe=void 0,$e=void 0,Se=void 0;ie.isHorizontal()?(be=me,xe=ue.y,$e=_e-be,Se=ue.height,me=be+$e):(be=ue.x,xe=me,$e=ue.width,Se=_e-xe,me=xe+Se);var we=ce[ve-1].tickValue;we!=null&&fe.set(we,pe),te.add(new Rect$3({anid:we!=null?"area_"+we:null,shape:{x:be,y:xe,width:$e,height:Se},style:defaults$2({fill:le[pe]},ye),autoBatch:!0,silent:!0})),pe=(pe+1)%de}inner$f(ee).splitAreaColors=fe}}}function rectCoordAxisHandleRemove(ee){inner$f(ee).splitAreaColors=null}var axisBuilderAttrs$3=["axisLine","axisTickLabel","axisName"],selfBuilderAttrs$2=["splitArea","splitLine","minorSplitLine"],CartesianAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.axisPointerClass="CartesianAxisPointer",ae}return te.prototype.render=function(ae,ne,ie,oe){this.group.removeAll();var se=this._axisGroup;if(this._axisGroup=new Group$4,this.group.add(this._axisGroup),!!ae.get("show")){var le=ae.getCoordSysModel(),ue=layout$2(le,ae),ce=new AxisBuilder$1(ae,extend$1({handleAutoShown:function(he){for(var fe=le.coordinateSystem.getCartesians(),pe=0;pe<fe.length;pe++)if(isIntervalOrLogScale(fe[pe].getOtherAxis(ae.axis).scale))return!0;return!1}},ue));each$f(axisBuilderAttrs$3,ce.add,ce),this._axisGroup.add(ce.getGroup()),each$f(selfBuilderAttrs$2,function(he){ae.get([he,"show"])&&axisElementBuilders$2[he](this,this._axisGroup,ae,le)},this);var de=oe&&oe.type==="changeAxisOrder"&&oe.isInitSort;de||groupTransition(se,this._axisGroup,ae),ee.prototype.render.call(this,ae,ne,ie,oe)}},te.prototype.remove=function(){rectCoordAxisHandleRemove(this)},te.type="cartesianAxis",te}(AxisView$1),axisElementBuilders$2={splitLine:function(ee,te,ae,ne){var ie=ae.axis;if(!ie.scale.isBlank()){var oe=ae.getModel("splitLine"),se=oe.getModel("lineStyle"),le=se.get("color");le=isArray$2(le)?le:[le];for(var ue=ne.coordinateSystem.getRect(),ce=ie.isHorizontal(),de=0,he=ie.getTicksCoords({tickModel:oe}),fe=[],pe=[],ve=se.getLineStyle(),ge=0;ge<he.length;ge++){var me=ie.toGlobalCoord(he[ge].coord);ce?(fe[0]=me,fe[1]=ue.y,pe[0]=me,pe[1]=ue.y+ue.height):(fe[0]=ue.x,fe[1]=me,pe[0]=ue.x+ue.width,pe[1]=me);var ye=de++%le.length,_e=he[ge].tickValue,be=new Line$3({anid:_e!=null?"line_"+he[ge].tickValue:null,autoBatch:!0,shape:{x1:fe[0],y1:fe[1],x2:pe[0],y2:pe[1]},style:defaults$2({stroke:le[ye]},ve),silent:!0});subPixelOptimizeLine(be.shape,ve.lineWidth),te.add(be)}}},minorSplitLine:function(ee,te,ae,ne){var ie=ae.axis,oe=ae.getModel("minorSplitLine"),se=oe.getModel("lineStyle"),le=ne.coordinateSystem.getRect(),ue=ie.isHorizontal(),ce=ie.getMinorTicksCoords();if(ce.length)for(var de=[],he=[],fe=se.getLineStyle(),pe=0;pe<ce.length;pe++)for(var ve=0;ve<ce[pe].length;ve++){var ge=ie.toGlobalCoord(ce[pe][ve].coord);ue?(de[0]=ge,de[1]=le.y,he[0]=ge,he[1]=le.y+le.height):(de[0]=le.x,de[1]=ge,he[0]=le.x+le.width,he[1]=ge);var me=new Line$3({anid:"minor_line_"+ce[pe][ve].tickValue,autoBatch:!0,shape:{x1:de[0],y1:de[1],x2:he[0],y2:he[1]},style:fe,silent:!0});subPixelOptimizeLine(me.shape,fe.lineWidth),te.add(me)}},splitArea:function(ee,te,ae,ne){rectCoordAxisBuildSplitArea(ee,te,ae,ne)}},CartesianXAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="xAxis",te}(CartesianAxisView),CartesianYAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=CartesianXAxisView.type,ae}return te.type="yAxis",te}(CartesianAxisView),GridView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="grid",ae}return te.prototype.render=function(ae,ne){this.group.removeAll(),ae.get("show")&&this.group.add(new Rect$3({shape:ae.coordinateSystem.getRect(),style:defaults$2({fill:ae.get("backgroundColor")},ae.getItemStyle()),silent:!0,z2:-1}))},te.type="grid",te}(ComponentView$1),extraOption={offset:0};function install$N(ee){ee.registerComponentView(GridView),ee.registerComponentModel(GridModel$1),ee.registerCoordinateSystem("cartesian2d",Grid$1),axisModelCreator(ee,"x",CartesianAxisModel,extraOption),axisModelCreator(ee,"y",CartesianAxisModel,extraOption),ee.registerComponentView(CartesianXAxisView),ee.registerComponentView(CartesianYAxisView),ee.registerPreprocessor(function(te){te.xAxis&&te.yAxis&&!te.grid&&(te.grid={})})}function install$M(ee){use(install$N),ee.registerSeriesModel(ScatterSeriesModel$1),ee.registerChartView(ScatterView$1),ee.registerLayout(pointsLayout("scatter"))}function radarLayout(ee){ee.eachSeriesByType("radar",function(te){var ae=te.getData(),ne=[],ie=te.coordinateSystem;if(ie){var oe=ie.getIndicatorAxes();each$f(oe,function(se,le){ae.each(ae.mapDimension(oe[le].dim),function(ue,ce){ne[ce]=ne[ce]||[];var de=ie.dataToPoint(ue,le);ne[ce][le]=isValidPoint(de)?de:getValueMissingPoint(ie)})}),ae.each(function(se){var le=find(ne[se],function(ue){return isValidPoint(ue)})||getValueMissingPoint(ie);ne[se].push(le.slice()),ae.setItemLayout(se,ne[se])})}})}function isValidPoint(ee){return!isNaN(ee[0])&&!isNaN(ee[1])}function getValueMissingPoint(ee){return[ee.cx,ee.cy]}function radarBackwardCompat(ee){var te=ee.polar;if(te){isArray$2(te)||(te=[te]);var ae=[];each$f(te,function(ne,ie){ne.indicator?(ne.type&&!ne.shape&&(ne.shape=ne.type),ee.radar=ee.radar||[],isArray$2(ee.radar)||(ee.radar=[ee.radar]),ee.radar.push(ne)):ae.push(ne)}),ee.polar=ae}each$f(ee.series,function(ne){ne&&ne.type==="radar"&&ne.polarIndex&&(ne.radarIndex=ne.polarIndex)})}var RadarView$2=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=ae.coordinateSystem,se=this.group,le=ae.getData(),ue=this._data;function ce(fe,pe){var ve=fe.getItemVisual(pe,"symbol")||"circle";if(ve!=="none"){var ge=normalizeSymbolSize(fe.getItemVisual(pe,"symbolSize")),me=createSymbol$1(ve,-1,-1,2,2),ye=fe.getItemVisual(pe,"symbolRotate")||0;return me.attr({style:{strokeNoScale:!0},z2:100,scaleX:ge[0]/2,scaleY:ge[1]/2,rotation:ye*Math.PI/180||0}),me}}function de(fe,pe,ve,ge,me,ye){ve.removeAll();for(var _e=0;_e<pe.length-1;_e++){var be=ce(ge,me);be&&(be.__dimIdx=_e,fe[_e]?(be.setPosition(fe[_e]),graphic$1[ye?"initProps":"updateProps"](be,{x:pe[_e][0],y:pe[_e][1]},ae,me)):be.setPosition(pe[_e]),ve.add(be))}}function he(fe){return map$1(fe,function(pe){return[oe.cx,oe.cy]})}le.diff(ue).add(function(fe){var pe=le.getItemLayout(fe);if(pe){var ve=new Polygon$1,ge=new Polyline$3,me={shape:{points:pe}};ve.shape.points=he(pe),ge.shape.points=he(pe),initProps(ve,me,ae,fe),initProps(ge,me,ae,fe);var ye=new Group$4,_e=new Group$4;ye.add(ge),ye.add(ve),ye.add(_e),de(ge.shape.points,pe,_e,le,fe,!0),le.setItemGraphicEl(fe,ye)}}).update(function(fe,pe){var ve=ue.getItemGraphicEl(pe),ge=ve.childAt(0),me=ve.childAt(1),ye=ve.childAt(2),_e={shape:{points:le.getItemLayout(fe)}};_e.shape.points&&(de(ge.shape.points,_e.shape.points,ye,le,fe,!1),saveOldStyle(me),saveOldStyle(ge),updateProps$1(ge,_e,ae),updateProps$1(me,_e,ae),le.setItemGraphicEl(fe,ve))}).remove(function(fe){se.remove(ue.getItemGraphicEl(fe))}).execute(),le.eachItemGraphicEl(function(fe,pe){var ve=le.getItemModel(pe),ge=fe.childAt(0),me=fe.childAt(1),ye=fe.childAt(2),_e=le.getItemVisual(pe,"style"),be=_e.fill;se.add(fe),ge.useStyle(defaults$2(ve.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:be})),setStatesStylesFromModel(ge,ve,"lineStyle"),setStatesStylesFromModel(me,ve,"areaStyle");var xe=ve.getModel("areaStyle"),$e=xe.isEmpty()&&xe.parentModel.isEmpty();me.ignore=$e,each$f(["emphasis","select","blur"],function(Ae){var Te=ve.getModel([Ae,"areaStyle"]),De=Te.isEmpty()&&Te.parentModel.isEmpty();me.ensureState(Ae).ignore=De&&$e}),me.useStyle(defaults$2(xe.getAreaStyle(),{fill:be,opacity:.7,decal:_e.decal}));var Se=ve.getModel("emphasis"),we=Se.getModel("itemStyle").getItemStyle();ye.eachChild(function(Ae){if(Ae instanceof ZRImage$1){var Te=Ae.style;Ae.useStyle(extend$1({image:Te.image,x:Te.x,y:Te.y,width:Te.width,height:Te.height},_e))}else Ae.useStyle(_e),Ae.setColor(be),Ae.style.strokeNoScale=!0;var De=Ae.ensureState("emphasis");De.style=clone$4(we);var Me=le.getStore().get(le.getDimensionIndex(Ae.__dimIdx),pe);(Me==null||isNaN(Me))&&(Me=""),setLabelStyle(Ae,getLabelStatesModels(ve),{labelFetcher:le.hostModel,labelDataIndex:pe,labelDimIndex:Ae.__dimIdx,defaultText:Me,inheritColor:be,defaultOpacity:_e.opacity})}),toggleHoverEmphasis(fe,Se.get("focus"),Se.get("blurScope"),Se.get("disabled"))}),this._data=le},te.prototype.remove=function(){this.group.removeAll(),this._data=null},te.type="radar",te}(ChartView$1);const RadarView$3=RadarView$2;var RadarSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.hasSymbolVisual=!0,ae}return te.prototype.init=function(ae){ee.prototype.init.apply(this,arguments),this.legendVisualProvider=new LegendVisualProvider$1(bind$2(this.getData,this),bind$2(this.getRawData,this))},te.prototype.getInitialData=function(ae,ne){return createSeriesDataSimply(this,{generateCoord:"indicator_",generateCoordCount:1/0})},te.prototype.formatTooltip=function(ae,ne,ie){var oe=this.getData(),se=this.coordinateSystem,le=se.getIndicatorAxes(),ue=this.getData().getName(ae),ce=ue===""?this.name:ue,de=retrieveVisualColorForTooltipMarker(this,ae);return createTooltipMarkup("section",{header:ce,sortBlocks:!0,blocks:map$1(le,function(he){var fe=oe.get(oe.mapDimension(he.dim),ae);return createTooltipMarkup("nameValue",{markerType:"subItem",markerColor:de,name:he.name,value:fe,sortParam:fe})})})},te.prototype.getTooltipPosition=function(ae){if(ae!=null){for(var ne=this.getData(),ie=this.coordinateSystem,oe=ne.getValues(map$1(ie.dimensions,function(ce){return ne.mapDimension(ce)}),ae),se=0,le=oe.length;se<le;se++)if(!isNaN(oe[se])){var ue=ie.getIndicatorAxes();return ie.coordToPoint(ue[se].dataToCoord(oe[se]),se)}}},te.type="series.radar",te.dependencies=["radar"],te.defaultOption={z:2,colorBy:"data",coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid",join:"round"},label:{position:"top"},symbolSize:8},te}(SeriesModel$1);const RadarSeriesModel$1=RadarSeriesModel;var valueAxisDefault=axisDefault.value;function defaultsShow(ee,te){return defaults$2({show:te},ee)}var RadarModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.optionUpdated=function(){var ae=this.get("boundaryGap"),ne=this.get("splitNumber"),ie=this.get("scale"),oe=this.get("axisLine"),se=this.get("axisTick"),le=this.get("axisLabel"),ue=this.get("axisName"),ce=this.get(["axisName","show"]),de=this.get(["axisName","formatter"]),he=this.get("axisNameGap"),fe=this.get("triggerEvent"),pe=map$1(this.get("indicator")||[],function(ve){ve.max!=null&&ve.max>0&&!ve.min?ve.min=0:ve.min!=null&&ve.min<0&&!ve.max&&(ve.max=0);var ge=ue;ve.color!=null&&(ge=defaults$2({color:ve.color},ue));var me=merge$1(clone$4(ve),{boundaryGap:ae,splitNumber:ne,scale:ie,axisLine:oe,axisTick:se,axisLabel:le,name:ve.text,showName:ce,nameLocation:"end",nameGap:he,nameTextStyle:ge,triggerEvent:fe},!1);if(isString$1(de)){var ye=me.name;me.name=de.replace("{value}",ye??"")}else isFunction$1(de)&&(me.name=de(me.name,me));var _e=new Model$1(me,null,this.ecModel);return mixin(_e,AxisModelCommonMixin.prototype),_e.mainType="radar",_e.componentIndex=this.componentIndex,_e},this);this._indicatorModels=pe},te.prototype.getIndicatorModels=function(){return this._indicatorModels},te.type="radar",te.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:merge$1({lineStyle:{color:"#bbb"}},valueAxisDefault.axisLine),axisLabel:defaultsShow(valueAxisDefault.axisLabel,!1),axisTick:defaultsShow(valueAxisDefault.axisTick,!1),splitLine:defaultsShow(valueAxisDefault.splitLine,!0),splitArea:defaultsShow(valueAxisDefault.splitArea,!0),indicator:[]},te}(ComponentModel$1);const RadarModel$1=RadarModel;var axisBuilderAttrs$2=["axisLine","axisTickLabel","axisName"],RadarView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=this.group;oe.removeAll(),this._buildAxes(ae),this._buildSplitLineAndArea(ae)},te.prototype._buildAxes=function(ae){var ne=ae.coordinateSystem,ie=ne.getIndicatorAxes(),oe=map$1(ie,function(se){var le=se.model.get("showName")?se.name:"",ue=new AxisBuilder$1(se.model,{axisName:le,position:[ne.cx,ne.cy],rotation:se.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return ue});each$f(oe,function(se){each$f(axisBuilderAttrs$2,se.add,se),this.group.add(se.getGroup())},this)},te.prototype._buildSplitLineAndArea=function(ae){var ne=ae.coordinateSystem,ie=ne.getIndicatorAxes();if(!ie.length)return;var oe=ae.get("shape"),se=ae.getModel("splitLine"),le=ae.getModel("splitArea"),ue=se.getModel("lineStyle"),ce=le.getModel("areaStyle"),de=se.get("show"),he=le.get("show"),fe=ue.get("color"),pe=ce.get("color"),ve=isArray$2(fe)?fe:[fe],ge=isArray$2(pe)?pe:[pe],me=[],ye=[];function _e(Re,ke,Be){var Ne=Be%ke.length;return Re[Ne]=Re[Ne]||[],Ne}if(oe==="circle")for(var be=ie[0].getTicksCoords(),xe=ne.cx,$e=ne.cy,Se=0;Se<be.length;Se++){if(de){var we=_e(me,ve,Se);me[we].push(new Circle$1({shape:{cx:xe,cy:$e,r:be[Se].coord}}))}if(he&&Se<be.length-1){var we=_e(ye,ge,Se);ye[we].push(new Ring$1({shape:{cx:xe,cy:$e,r0:be[Se].coord,r:be[Se+1].coord}}))}}else for(var Ae,Te=map$1(ie,function(Re,ke){var Be=Re.getTicksCoords();return Ae=Ae==null?Be.length-1:Math.min(Be.length-1,Ae),map$1(Be,function(Ne){return ne.coordToPoint(Ne.coord,ke)})}),De=[],Se=0;Se<=Ae;Se++){for(var Me=[],Ie=0;Ie<ie.length;Ie++)Me.push(Te[Ie][Se]);if(Me[0]&&Me.push(Me[0].slice()),de){var we=_e(me,ve,Se);me[we].push(new Polyline$3({shape:{points:Me}}))}if(he&&De){var we=_e(ye,ge,Se-1);ye[we].push(new Polygon$1({shape:{points:Me.concat(De)}}))}De=Me.slice().reverse()}var Ce=ue.getLineStyle(),Ee=ce.getAreaStyle();each$f(ye,function(Re,ke){this.group.add(mergePath(Re,{style:defaults$2({stroke:"none",fill:ge[ke%ge.length]},Ee),silent:!0}))},this),each$f(me,function(Re,ke){this.group.add(mergePath(Re,{style:defaults$2({fill:"none",stroke:ve[ke%ve.length]},Ce),silent:!0}))},this)},te.type="radar",te}(ComponentView$1);const RadarView$1=RadarView;var IndicatorAxis=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this,ae,ne,ie)||this;return oe.type="value",oe.angle=0,oe.name="",oe}return te}(Axis$1);const IndicatorAxis$1=IndicatorAxis;var Radar=function(){function ee(te,ae,ne){this.dimensions=[],this._model=te,this._indicatorAxes=map$1(te.getIndicatorModels(),function(ie,oe){var se="indicator_"+oe,le=new IndicatorAxis$1(se,new IntervalScale$1);return le.name=ie.get("name"),le.model=ie,ie.axis=le,this.dimensions.push(se),le},this),this.resize(te,ne)}return ee.prototype.getIndicatorAxes=function(){return this._indicatorAxes},ee.prototype.dataToPoint=function(te,ae){var ne=this._indicatorAxes[ae];return this.coordToPoint(ne.dataToCoord(te),ae)},ee.prototype.coordToPoint=function(te,ae){var ne=this._indicatorAxes[ae],ie=ne.angle,oe=this.cx+te*Math.cos(ie),se=this.cy-te*Math.sin(ie);return[oe,se]},ee.prototype.pointToData=function(te){var ae=te[0]-this.cx,ne=te[1]-this.cy,ie=Math.sqrt(ae*ae+ne*ne);ae/=ie,ne/=ie;for(var oe=Math.atan2(-ne,ae),se=1/0,le,ue=-1,ce=0;ce<this._indicatorAxes.length;ce++){var de=this._indicatorAxes[ce],he=Math.abs(oe-de.angle);he<se&&(le=de,ue=ce,se=he)}return[ue,+(le&&le.coordToData(ie))]},ee.prototype.resize=function(te,ae){var ne=te.get("center"),ie=ae.getWidth(),oe=ae.getHeight(),se=Math.min(ie,oe)/2;this.cx=parsePercent(ne[0],ie),this.cy=parsePercent(ne[1],oe),this.startAngle=te.get("startAngle")*Math.PI/180;var le=te.get("radius");(isString$1(le)||isNumber$1(le))&&(le=[0,le]),this.r0=parsePercent(le[0],se),this.r=parsePercent(le[1],se),each$f(this._indicatorAxes,function(ue,ce){ue.setExtent(this.r0,this.r);var de=this.startAngle+ce*Math.PI*2/this._indicatorAxes.length;de=Math.atan2(Math.sin(de),Math.cos(de)),ue.angle=de},this)},ee.prototype.update=function(te,ae){var ne=this._indicatorAxes,ie=this._model;each$f(ne,function(le){le.scale.setExtent(1/0,-1/0)}),te.eachSeriesByType("radar",function(le,ue){if(!(le.get("coordinateSystem")!=="radar"||te.getComponent("radar",le.get("radarIndex"))!==ie)){var ce=le.getData();each$f(ne,function(de){de.scale.unionExtentFromData(ce,ce.mapDimension(de.dim))})}},this);var oe=ie.get("splitNumber"),se=new IntervalScale$1;se.setExtent(0,oe),se.setInterval(1),each$f(ne,function(le,ue){alignScaleTicks(le.scale,le.model,se)})},ee.prototype.convertToPixel=function(te,ae,ne){return console.warn("Not implemented."),null},ee.prototype.convertFromPixel=function(te,ae,ne){return console.warn("Not implemented."),null},ee.prototype.containPoint=function(te){return console.warn("Not implemented."),!1},ee.create=function(te,ae){var ne=[];return te.eachComponent("radar",function(ie){var oe=new ee(ie,te,ae);ne.push(oe),ie.coordinateSystem=oe}),te.eachSeriesByType("radar",function(ie){ie.get("coordinateSystem")==="radar"&&(ie.coordinateSystem=ne[ie.get("radarIndex")||0])}),ne},ee.dimensions=[],ee}();const Radar$1=Radar;function install$L(ee){ee.registerCoordinateSystem("radar",Radar$1),ee.registerComponentModel(RadarModel$1),ee.registerComponentView(RadarView$1),ee.registerVisual({seriesType:"radar",reset:function(te){var ae=te.getData();ae.each(function(ne){ae.setItemVisual(ne,"legendIcon","roundRect")}),ae.setVisual("legendIcon","roundRect")}})}function install$K(ee){use(install$L),ee.registerChartView(RadarView$3),ee.registerSeriesModel(RadarSeriesModel$1),ee.registerLayout(radarLayout),ee.registerProcessor(dataFilter$1("radar")),ee.registerPreprocessor(radarBackwardCompat)}var ATTR="\0_ec_interaction_mutex";function take(ee,te,ae){var ne=getStore(ee);ne[te]=ae}function release(ee,te,ae){var ne=getStore(ee),ie=ne[te];ie===ae&&(ne[te]=null)}function isTaken(ee,te){return!!getStore(ee)[te]}function getStore(ee){return ee[ATTR]||(ee[ATTR]={})}registerAction({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},noop$1);var RoamController=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this)||this;ne._zr=ae;var ie=bind$2(ne._mousedownHandler,ne),oe=bind$2(ne._mousemoveHandler,ne),se=bind$2(ne._mouseupHandler,ne),le=bind$2(ne._mousewheelHandler,ne),ue=bind$2(ne._pinchHandler,ne);return ne.enable=function(ce,de){this.disable(),this._opt=defaults$2(clone$4(de)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),ce==null&&(ce=!0),(ce===!0||ce==="move"||ce==="pan")&&(ae.on("mousedown",ie),ae.on("mousemove",oe),ae.on("mouseup",se)),(ce===!0||ce==="scale"||ce==="zoom")&&(ae.on("mousewheel",le),ae.on("pinch",ue))},ne.disable=function(){ae.off("mousedown",ie),ae.off("mousemove",oe),ae.off("mouseup",se),ae.off("mousewheel",le),ae.off("pinch",ue)},ne}return te.prototype.isDragging=function(){return this._dragging},te.prototype.isPinching=function(){return this._pinching},te.prototype.setPointerChecker=function(ae){this.pointerChecker=ae},te.prototype.dispose=function(){this.disable()},te.prototype._mousedownHandler=function(ae){if(!isMiddleOrRightButtonOnMouseUpDown(ae)){for(var ne=ae.target;ne;){if(ne.draggable)return;ne=ne.__hostTarget||ne.parent}var ie=ae.offsetX,oe=ae.offsetY;this.pointerChecker&&this.pointerChecker(ae,ie,oe)&&(this._x=ie,this._y=oe,this._dragging=!0)}},te.prototype._mousemoveHandler=function(ae){if(!(!this._dragging||!isAvailableBehavior("moveOnMouseMove",ae,this._opt)||ae.gestureEvent==="pinch"||isTaken(this._zr,"globalPan"))){var ne=ae.offsetX,ie=ae.offsetY,oe=this._x,se=this._y,le=ne-oe,ue=ie-se;this._x=ne,this._y=ie,this._opt.preventDefaultMouseMove&&stop(ae.event),trigger$1(this,"pan","moveOnMouseMove",ae,{dx:le,dy:ue,oldX:oe,oldY:se,newX:ne,newY:ie,isAvailableBehavior:null})}},te.prototype._mouseupHandler=function(ae){isMiddleOrRightButtonOnMouseUpDown(ae)||(this._dragging=!1)},te.prototype._mousewheelHandler=function(ae){var ne=isAvailableBehavior("zoomOnMouseWheel",ae,this._opt),ie=isAvailableBehavior("moveOnMouseWheel",ae,this._opt),oe=ae.wheelDelta,se=Math.abs(oe),le=ae.offsetX,ue=ae.offsetY;if(!(oe===0||!ne&&!ie)){if(ne){var ce=se>3?1.4:se>1?1.2:1.1,de=oe>0?ce:1/ce;checkPointerAndTrigger(this,"zoom","zoomOnMouseWheel",ae,{scale:de,originX:le,originY:ue,isAvailableBehavior:null})}if(ie){var he=Math.abs(oe),fe=(oe>0?1:-1)*(he>3?.4:he>1?.15:.05);checkPointerAndTrigger(this,"scrollMove","moveOnMouseWheel",ae,{scrollDelta:fe,originX:le,originY:ue,isAvailableBehavior:null})}}},te.prototype._pinchHandler=function(ae){if(!isTaken(this._zr,"globalPan")){var ne=ae.pinchScale>1?1.1:1/1.1;checkPointerAndTrigger(this,"zoom",null,ae,{scale:ne,originX:ae.pinchX,originY:ae.pinchY,isAvailableBehavior:null})}},te}(Eventful$1);function checkPointerAndTrigger(ee,te,ae,ne,ie){ee.pointerChecker&&ee.pointerChecker(ne,ie.originX,ie.originY)&&(stop(ne.event),trigger$1(ee,te,ae,ne,ie))}function trigger$1(ee,te,ae,ne,ie){ie.isAvailableBehavior=bind$2(isAvailableBehavior,null,ae,ne),ee.trigger(te,ie)}function isAvailableBehavior(ee,te,ae){var ne=ae[ee];return!ee||ne&&(!isString$1(ne)||te.event[ne+"Key"])}const RoamController$1=RoamController;function updateViewOnPan(ee,te,ae){var ne=ee.target;ne.x+=te,ne.y+=ae,ne.dirty()}function updateViewOnZoom(ee,te,ae,ne){var ie=ee.target,oe=ee.zoomLimit,se=ee.zoom=ee.zoom||1;if(se*=te,oe){var le=oe.min||0,ue=oe.max||1/0;se=Math.max(Math.min(ue,se),le)}var ce=se/ee.zoom;ee.zoom=se,ie.x-=(ae-ie.x)*(ce-1),ie.y-=(ne-ie.y)*(ce-1),ie.scaleX*=ce,ie.scaleY*=ce,ie.dirty()}var IRRELEVANT_EXCLUDES={axisPointer:1,tooltip:1,brush:1};function onIrrelevantElement(ee,te,ae){var ne=te.getComponentByElement(ee.topTarget),ie=ne&&ne.coordinateSystem;return ne&&ne!==ae&&!IRRELEVANT_EXCLUDES.hasOwnProperty(ne.mainType)&&ie&&ie.model!==ae}function parseXML(ee){if(isString$1(ee)){var te=new DOMParser;ee=te.parseFromString(ee,"text/xml")}var ae=ee;for(ae.nodeType===9&&(ae=ae.firstChild);ae.nodeName.toLowerCase()!=="svg"||ae.nodeType!==1;)ae=ae.nextSibling;return ae}var nodeParsers,INHERITABLE_STYLE_ATTRIBUTES_MAP={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS=keys(INHERITABLE_STYLE_ATTRIBUTES_MAP),SELF_STYLE_ATTRIBUTES_MAP={"alignment-baseline":"textBaseline","stop-color":"stopColor"},SELF_STYLE_ATTRIBUTES_MAP_KEYS=keys(SELF_STYLE_ATTRIBUTES_MAP),SVGParser=function(){function ee(){this._defs={},this._root=null}return ee.prototype.parse=function(te,ae){ae=ae||{};var ne=parseXML(te);this._defsUsePending=[];var ie=new Group$4;this._root=ie;var oe=[],se=ne.getAttribute("viewBox")||"",le=parseFloat(ne.getAttribute("width")||ae.width),ue=parseFloat(ne.getAttribute("height")||ae.height);isNaN(le)&&(le=null),isNaN(ue)&&(ue=null),parseAttributes(ne,ie,null,!0,!1);for(var ce=ne.firstChild;ce;)this._parseNode(ce,ie,oe,null,!1,!1),ce=ce.nextSibling;applyDefs(this._defs,this._defsUsePending),this._defsUsePending=[];var de,he;if(se){var fe=splitNumberSequence(se);fe.length>=4&&(de={x:parseFloat(fe[0]||0),y:parseFloat(fe[1]||0),width:parseFloat(fe[2]),height:parseFloat(fe[3])})}if(de&&le!=null&&ue!=null&&(he=makeViewBoxTransform(de,{x:0,y:0,width:le,height:ue}),!ae.ignoreViewBox)){var pe=ie;ie=new Group$4,ie.add(pe),pe.scaleX=pe.scaleY=he.scale,pe.x=he.x,pe.y=he.y}return!ae.ignoreRootClip&&le!=null&&ue!=null&&ie.setClipPath(new Rect$3({shape:{x:0,y:0,width:le,height:ue}})),{root:ie,width:le,height:ue,viewBoxRect:de,viewBoxTransform:he,named:oe}},ee.prototype._parseNode=function(te,ae,ne,ie,oe,se){var le=te.nodeName.toLowerCase(),ue,ce=ie;if(le==="defs"&&(oe=!0),le==="text"&&(se=!0),le==="defs"||le==="switch")ue=ae;else{if(!oe){var de=nodeParsers[le];if(de&&hasOwn(nodeParsers,le)){ue=de.call(this,te,ae);var he=te.getAttribute("name");if(he){var fe={name:he,namedFrom:null,svgNodeTagLower:le,el:ue};ne.push(fe),le==="g"&&(ce=fe)}else ie&&ne.push({name:ie.name,namedFrom:ie,svgNodeTagLower:le,el:ue});ae.add(ue)}}var pe=paintServerParsers[le];if(pe&&hasOwn(paintServerParsers,le)){var ve=pe.call(this,te),ge=te.getAttribute("id");ge&&(this._defs[ge]=ve)}}if(ue&&ue.isGroup)for(var me=te.firstChild;me;)me.nodeType===1?this._parseNode(me,ue,ne,ce,oe,se):me.nodeType===3&&se&&this._parseText(me,ue),me=me.nextSibling},ee.prototype._parseText=function(te,ae){var ne=new TSpan$1({style:{text:te.textContent},silent:!0,x:this._textX||0,y:this._textY||0});inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),applyTextAlignment(ne,ae);var ie=ne.style,oe=ie.fontSize;oe&&oe<9&&(ie.fontSize=9,ne.scaleX*=oe/9,ne.scaleY*=oe/9);var se=(ie.fontSize||ie.fontFamily)&&[ie.fontStyle,ie.fontWeight,(ie.fontSize||12)+"px",ie.fontFamily||"sans-serif"].join(" ");ie.font=se;var le=ne.getBoundingRect();return this._textX+=le.width,ae.add(ne),ne},ee.internalField=function(){nodeParsers={g:function(te,ae){var ne=new Group$4;return inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),ne},rect:function(te,ae){var ne=new Rect$3;return inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),ne.setShape({x:parseFloat(te.getAttribute("x")||"0"),y:parseFloat(te.getAttribute("y")||"0"),width:parseFloat(te.getAttribute("width")||"0"),height:parseFloat(te.getAttribute("height")||"0")}),ne.silent=!0,ne},circle:function(te,ae){var ne=new Circle$1;return inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),ne.setShape({cx:parseFloat(te.getAttribute("cx")||"0"),cy:parseFloat(te.getAttribute("cy")||"0"),r:parseFloat(te.getAttribute("r")||"0")}),ne.silent=!0,ne},line:function(te,ae){var ne=new Line$3;return inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),ne.setShape({x1:parseFloat(te.getAttribute("x1")||"0"),y1:parseFloat(te.getAttribute("y1")||"0"),x2:parseFloat(te.getAttribute("x2")||"0"),y2:parseFloat(te.getAttribute("y2")||"0")}),ne.silent=!0,ne},ellipse:function(te,ae){var ne=new Ellipse$1;return inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),ne.setShape({cx:parseFloat(te.getAttribute("cx")||"0"),cy:parseFloat(te.getAttribute("cy")||"0"),rx:parseFloat(te.getAttribute("rx")||"0"),ry:parseFloat(te.getAttribute("ry")||"0")}),ne.silent=!0,ne},polygon:function(te,ae){var ne=te.getAttribute("points"),ie;ne&&(ie=parsePoints(ne));var oe=new Polygon$1({shape:{points:ie||[]},silent:!0});return inheritStyle(ae,oe),parseAttributes(te,oe,this._defsUsePending,!1,!1),oe},polyline:function(te,ae){var ne=te.getAttribute("points"),ie;ne&&(ie=parsePoints(ne));var oe=new Polyline$3({shape:{points:ie||[]},silent:!0});return inheritStyle(ae,oe),parseAttributes(te,oe,this._defsUsePending,!1,!1),oe},image:function(te,ae){var ne=new ZRImage$1;return inheritStyle(ae,ne),parseAttributes(te,ne,this._defsUsePending,!1,!1),ne.setStyle({image:te.getAttribute("xlink:href")||te.getAttribute("href"),x:+te.getAttribute("x"),y:+te.getAttribute("y"),width:+te.getAttribute("width"),height:+te.getAttribute("height")}),ne.silent=!0,ne},text:function(te,ae){var ne=te.getAttribute("x")||"0",ie=te.getAttribute("y")||"0",oe=te.getAttribute("dx")||"0",se=te.getAttribute("dy")||"0";this._textX=parseFloat(ne)+parseFloat(oe),this._textY=parseFloat(ie)+parseFloat(se);var le=new Group$4;return inheritStyle(ae,le),parseAttributes(te,le,this._defsUsePending,!1,!0),le},tspan:function(te,ae){var ne=te.getAttribute("x"),ie=te.getAttribute("y");ne!=null&&(this._textX=parseFloat(ne)),ie!=null&&(this._textY=parseFloat(ie));var oe=te.getAttribute("dx")||"0",se=te.getAttribute("dy")||"0",le=new Group$4;return inheritStyle(ae,le),parseAttributes(te,le,this._defsUsePending,!1,!0),this._textX+=parseFloat(oe),this._textY+=parseFloat(se),le},path:function(te,ae){var ne=te.getAttribute("d")||"",ie=createFromString(ne);return inheritStyle(ae,ie),parseAttributes(te,ie,this._defsUsePending,!1,!1),ie.silent=!0,ie}}}(),ee}(),paintServerParsers={lineargradient:function(ee){var te=parseInt(ee.getAttribute("x1")||"0",10),ae=parseInt(ee.getAttribute("y1")||"0",10),ne=parseInt(ee.getAttribute("x2")||"10",10),ie=parseInt(ee.getAttribute("y2")||"0",10),oe=new LinearGradient$1(te,ae,ne,ie);return parsePaintServerUnit(ee,oe),parseGradientColorStops(ee,oe),oe},radialgradient:function(ee){var te=parseInt(ee.getAttribute("cx")||"0",10),ae=parseInt(ee.getAttribute("cy")||"0",10),ne=parseInt(ee.getAttribute("r")||"0",10),ie=new RadialGradient$1(te,ae,ne);return parsePaintServerUnit(ee,ie),parseGradientColorStops(ee,ie),ie}};function parsePaintServerUnit(ee,te){var ae=ee.getAttribute("gradientUnits");ae==="userSpaceOnUse"&&(te.global=!0)}function parseGradientColorStops(ee,te){for(var ae=ee.firstChild;ae;){if(ae.nodeType===1&&ae.nodeName.toLocaleLowerCase()==="stop"){var ne=ae.getAttribute("offset"),ie=void 0;ne&&ne.indexOf("%")>0?ie=parseInt(ne,10)/100:ne?ie=parseFloat(ne):ie=0;var oe={};parseInlineStyle(ae,oe,oe);var se=oe.stopColor||ae.getAttribute("stop-color")||"#000000";te.colorStops.push({offset:ie,color:se})}ae=ae.nextSibling}}function inheritStyle(ee,te){ee&&ee.__inheritedStyle&&(te.__inheritedStyle||(te.__inheritedStyle={}),defaults$2(te.__inheritedStyle,ee.__inheritedStyle))}function parsePoints(ee){for(var te=splitNumberSequence(ee),ae=[],ne=0;ne<te.length;ne+=2){var ie=parseFloat(te[ne]),oe=parseFloat(te[ne+1]);ae.push([ie,oe])}return ae}function parseAttributes(ee,te,ae,ne,ie){var oe=te,se=oe.__inheritedStyle=oe.__inheritedStyle||{},le={};ee.nodeType===1&&(parseTransformAttribute(ee,te),parseInlineStyle(ee,se,le),ne||parseAttributeStyle(ee,se,le)),oe.style=oe.style||{},se.fill!=null&&(oe.style.fill=getFillStrokeStyle(oe,"fill",se.fill,ae)),se.stroke!=null&&(oe.style.stroke=getFillStrokeStyle(oe,"stroke",se.stroke,ae)),each$f(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(ue){se[ue]!=null&&(oe.style[ue]=parseFloat(se[ue]))}),each$f(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign"],function(ue){se[ue]!=null&&(oe.style[ue]=se[ue])}),ie&&(oe.__selfStyle=le),se.lineDash&&(oe.style.lineDash=map$1(splitNumberSequence(se.lineDash),function(ue){return parseFloat(ue)})),(se.visibility==="hidden"||se.visibility==="collapse")&&(oe.invisible=!0),se.display==="none"&&(oe.ignore=!0)}function applyTextAlignment(ee,te){var ae=te.__selfStyle;if(ae){var ne=ae.textBaseline,ie=ne;!ne||ne==="auto"||ne==="baseline"?ie="alphabetic":ne==="before-edge"||ne==="text-before-edge"?ie="top":ne==="after-edge"||ne==="text-after-edge"?ie="bottom":(ne==="central"||ne==="mathematical")&&(ie="middle"),ee.style.textBaseline=ie}var oe=te.__inheritedStyle;if(oe){var se=oe.textAlign,le=se;se&&(se==="middle"&&(le="center"),ee.style.textAlign=le)}}var urlRegex=/^url\(\s*#(.*?)\)/;function getFillStrokeStyle(ee,te,ae,ne){var ie=ae&&ae.match(urlRegex);if(ie){var oe=trim$2(ie[1]);ne.push([ee,te,oe]);return}return ae==="none"&&(ae=null),ae}function applyDefs(ee,te){for(var ae=0;ae<te.length;ae++){var ne=te[ae];ne[0].style[ne[1]]=ee[ne[2]]}}var numberReg=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function splitNumberSequence(ee){return ee.match(numberReg)||[]}var transformRegex=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g,DEGREE_TO_ANGLE=Math.PI/180;function parseTransformAttribute(ee,te){var ae=ee.getAttribute("transform");if(ae){ae=ae.replace(/,/g," ");var ne=[],ie=null;ae.replace(transformRegex,function(he,fe,pe){return ne.push(fe,pe),""});for(var oe=ne.length-1;oe>0;oe-=2){var se=ne[oe],le=ne[oe-1],ue=splitNumberSequence(se);switch(ie=ie||create$1(),le){case"translate":translate(ie,ie,[parseFloat(ue[0]),parseFloat(ue[1]||"0")]);break;case"scale":scale$1(ie,ie,[parseFloat(ue[0]),parseFloat(ue[1]||ue[0])]);break;case"rotate":rotate(ie,ie,-parseFloat(ue[0])*DEGREE_TO_ANGLE);break;case"skewX":var ce=Math.tan(parseFloat(ue[0])*DEGREE_TO_ANGLE);mul(ie,[1,0,ce,1,0,0],ie);break;case"skewY":var de=Math.tan(parseFloat(ue[0])*DEGREE_TO_ANGLE);mul(ie,[1,de,0,1,0,0],ie);break;case"matrix":ie[0]=parseFloat(ue[0]),ie[1]=parseFloat(ue[1]),ie[2]=parseFloat(ue[2]),ie[3]=parseFloat(ue[3]),ie[4]=parseFloat(ue[4]),ie[5]=parseFloat(ue[5]);break}}te.setLocalTransform(ie)}}var styleRegex=/([^\s:;]+)\s*:\s*([^:;]+)/g;function parseInlineStyle(ee,te,ae){var ne=ee.getAttribute("style");if(ne){styleRegex.lastIndex=0;for(var ie;(ie=styleRegex.exec(ne))!=null;){var oe=ie[1],se=hasOwn(INHERITABLE_STYLE_ATTRIBUTES_MAP,oe)?INHERITABLE_STYLE_ATTRIBUTES_MAP[oe]:null;se&&(te[se]=ie[2]);var le=hasOwn(SELF_STYLE_ATTRIBUTES_MAP,oe)?SELF_STYLE_ATTRIBUTES_MAP[oe]:null;le&&(ae[le]=ie[2])}}}function parseAttributeStyle(ee,te,ae){for(var ne=0;ne<INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS.length;ne++){var ie=INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS[ne],oe=ee.getAttribute(ie);oe!=null&&(te[INHERITABLE_STYLE_ATTRIBUTES_MAP[ie]]=oe)}for(var ne=0;ne<SELF_STYLE_ATTRIBUTES_MAP_KEYS.length;ne++){var ie=SELF_STYLE_ATTRIBUTES_MAP_KEYS[ne],oe=ee.getAttribute(ie);oe!=null&&(ae[SELF_STYLE_ATTRIBUTES_MAP[ie]]=oe)}}function makeViewBoxTransform(ee,te){var ae=te.width/ee.width,ne=te.height/ee.height,ie=Math.min(ae,ne);return{scale:ie,x:-(ee.x+ee.width/2)*ie+(te.x+te.width/2),y:-(ee.y+ee.height/2)*ie+(te.y+te.height/2)}}function parseSVG(ee,te){var ae=new SVGParser;return ae.parse(ee,te)}var REGION_AVAILABLE_SVG_TAG_MAP=createHashMap(["rect","circle","line","ellipse","polygon","polyline","path","text","tspan","g"]),GeoSVGResource=function(){function ee(te,ae){this.type="geoSVG",this._usedGraphicMap=createHashMap(),this._freedGraphics=[],this._mapName=te,this._parsedXML=parseXML(ae)}return ee.prototype.load=function(){var te=this._firstGraphic;if(!te){te=this._firstGraphic=this._buildGraphic(this._parsedXML),this._freedGraphics.push(te),this._boundingRect=this._firstGraphic.boundingRect.clone();var ae=createRegions(te.named),ne=ae.regions,ie=ae.regionsMap;this._regions=ne,this._regionsMap=ie}return{boundingRect:this._boundingRect,regions:this._regions,regionsMap:this._regionsMap}},ee.prototype._buildGraphic=function(te){var ae,ne;try{ae=te&&parseSVG(te,{ignoreViewBox:!0,ignoreRootClip:!0})||{},ne=ae.root,assert(ne!=null)}catch(me){throw new Error(`Invalid svg format
-`+me.message)}var ie=new Group$4;ie.add(ne),ie.isGeoSVGGraphicRoot=!0;var oe=ae.width,se=ae.height,le=ae.viewBoxRect,ue=this._boundingRect;if(!ue){var ce=void 0,de=void 0,he=void 0,fe=void 0;if(oe!=null?(ce=0,he=oe):le&&(ce=le.x,he=le.width),se!=null?(de=0,fe=se):le&&(de=le.y,fe=le.height),ce==null||de==null){var pe=ne.getBoundingRect();ce==null&&(ce=pe.x,he=pe.width),de==null&&(de=pe.y,fe=pe.height)}ue=this._boundingRect=new BoundingRect$1(ce,de,he,fe)}if(le){var ve=makeViewBoxTransform(le,ue);ne.scaleX=ne.scaleY=ve.scale,ne.x=ve.x,ne.y=ve.y}ie.setClipPath(new Rect$3({shape:ue.plain()}));var ge=[];return each$f(ae.named,function(me){REGION_AVAILABLE_SVG_TAG_MAP.get(me.svgNodeTagLower)!=null&&(ge.push(me),setSilent(me.el))}),{root:ie,boundingRect:ue,named:ge}},ee.prototype.useGraphic=function(te){var ae=this._usedGraphicMap,ne=ae.get(te);return ne||(ne=this._freedGraphics.pop()||this._buildGraphic(this._parsedXML),ae.set(te,ne),ne)},ee.prototype.freeGraphic=function(te){var ae=this._usedGraphicMap,ne=ae.get(te);ne&&(ae.removeKey(te),this._freedGraphics.push(ne))},ee}();function setSilent(ee){ee.silent=!1,ee.isGroup&&ee.traverse(function(te){te.silent=!1})}function createRegions(ee){var te=[],ae=createHashMap();return each$f(ee,function(ne){if(ne.namedFrom==null){var ie=new GeoSVGRegion(ne.name,ne.el);te.push(ie),ae.set(ne.name,ie)}}),{regions:te,regionsMap:ae}}var geoCoord=[126,25],nanhaiName="南海诸岛",points$1=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]];for(var i$1=0;i$1<points$1.length;i$1++)for(var k=0;k<points$1[i$1].length;k++)points$1[i$1][k][0]/=10.5,points$1[i$1][k][1]/=-10.5/.75,points$1[i$1][k][0]+=geoCoord[0],points$1[i$1][k][1]+=geoCoord[1];function fixNanhai(ee,te){if(ee==="china"){for(var ae=0;ae<te.length;ae++)if(te[ae].name===nanhaiName)return;te.push(new GeoJSONRegion(nanhaiName,map$1(points$1,function(ne){return{type:"polygon",exterior:ne}}),geoCoord))}}var coordsOffsetMap={南海诸岛:[32,80],广东:[0,-10],香港:[10,5],澳门:[-10,10],天津:[5,5]};function fixTextCoords(ee,te){if(ee==="china"){var ae=coordsOffsetMap[te.name];if(ae){var ne=te.getCenter();ne[0]+=ae[0]/10.5,ne[1]+=-ae[1]/(10.5/.75),te.setCenter(ne)}}}var points=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]];function fixDiaoyuIsland(ee,te){ee==="china"&&te.name==="台湾"&&te.geometries.push({type:"polygon",exterior:points[0]})}var DEFAULT_NAME_PROPERTY="name",GeoJSONResource=function(){function ee(te,ae,ne){this.type="geoJSON",this._parsedMap=createHashMap(),this._mapName=te,this._specialAreas=ne,this._geoJSON=parseInput(ae)}return ee.prototype.load=function(te,ae){ae=ae||DEFAULT_NAME_PROPERTY;var ne=this._parsedMap.get(ae);if(!ne){var ie=this._parseToRegions(ae);ne=this._parsedMap.set(ae,{regions:ie,boundingRect:calculateBoundingRect(ie)})}var oe=createHashMap(),se=[];return each$f(ne.regions,function(le){var ue=le.name;te&&hasOwn(te,ue)&&(le=le.cloneShallow(ue=te[ue])),se.push(le),oe.set(ue,le)}),{regions:se,boundingRect:ne.boundingRect||new BoundingRect$1(0,0,0,0),regionsMap:oe}},ee.prototype._parseToRegions=function(te){var ae=this._mapName,ne=this._geoJSON,ie;try{ie=ne?parseGeoJSON(ne,te):[]}catch(oe){throw new Error(`Invalid geoJson format
-`+oe.message)}return fixNanhai(ae,ie),each$f(ie,function(oe){var se=oe.name;fixTextCoords(ae,oe),fixDiaoyuIsland(ae,oe);var le=this._specialAreas&&this._specialAreas[se];le&&oe.transformTo(le.left,le.top,le.width,le.height)},this),ie},ee.prototype.getMapForUser=function(){return{geoJson:this._geoJSON,geoJSON:this._geoJSON,specialAreas:this._specialAreas}},ee}();function calculateBoundingRect(ee){for(var te,ae=0;ae<ee.length;ae++){var ne=ee[ae].getBoundingRect();te=te||ne.clone(),te.union(ne)}return te}function parseInput(ee){return isString$1(ee)?typeof JSON<"u"&&JSON.parse?JSON.parse(ee):new Function("return ("+ee+");")():ee}var storage=createHashMap();const geoSourceManager={registerMap:function(ee,te,ae){if(te.svg){var ne=new GeoSVGResource(ee,te.svg);storage.set(ee,ne)}else{var ie=te.geoJson||te.geoJSON;ie&&!te.features?ae=te.specialAreas:ie=te;var ne=new GeoJSONResource(ee,ie,ae);storage.set(ee,ne)}},getGeoResource:function(ee){return storage.get(ee)},getMapForUser:function(ee){var te=storage.get(ee);return te&&te.type==="geoJSON"&&te.getMapForUser()},load:function(ee,te,ae){var ne=storage.get(ee);if(ne)return ne.load(te,ae)}};var OPTION_STYLE_ENABLED_TAGS=["rect","circle","line","ellipse","polygon","polyline","path"],OPTION_STYLE_ENABLED_TAG_MAP=createHashMap(OPTION_STYLE_ENABLED_TAGS),STATE_TRIGGER_TAG_MAP=createHashMap(OPTION_STYLE_ENABLED_TAGS.concat(["g"])),LABEL_HOST_MAP=createHashMap(OPTION_STYLE_ENABLED_TAGS.concat(["g"])),mapLabelRaw=makeInner();function getFixedItemStyle(ee){var te=ee.getItemStyle(),ae=ee.get("areaColor");return ae!=null&&(te.fill=ae),te}function fixLineStyle(ee){var te=ee.style;te&&(te.stroke=te.stroke||te.fill,te.fill=null)}var MapDraw=function(){function ee(te){var ae=new Group$4;this.uid=getUID("ec_map_draw"),this._controller=new RoamController$1(te.getZr()),this._controllerHost={target:ae},this.group=ae,ae.add(this._regionsGroup=new Group$4),ae.add(this._svgGroup=new Group$4)}return ee.prototype.draw=function(te,ae,ne,ie,oe){var se=te.mainType==="geo",le=te.getData&&te.getData();se&&ae.eachComponent({mainType:"series",subType:"map"},function(ye){!le&&ye.getHostGeoModel()===te&&(le=ye.getData())});var ue=te.coordinateSystem,ce=this._regionsGroup,de=this.group,he=ue.getTransformInfo(),fe=he.raw,pe=he.roam,ve=!ce.childAt(0)||oe;ve?(de.x=pe.x,de.y=pe.y,de.scaleX=pe.scaleX,de.scaleY=pe.scaleY,de.dirty()):updateProps$1(de,pe,te);var ge=le&&le.getVisual("visualMeta")&&le.getVisual("visualMeta").length>0,me={api:ne,geo:ue,mapOrGeoModel:te,data:le,isVisualEncodedByVisualMap:ge,isGeo:se,transformInfoRaw:fe};ue.resourceType==="geoJSON"?this._buildGeoJSON(me):ue.resourceType==="geoSVG"&&this._buildSVG(me),this._updateController(te,ae,ne),this._updateMapSelectHandler(te,ce,ne,ie)},ee.prototype._buildGeoJSON=function(te){var ae=this._regionsGroupByName=createHashMap(),ne=createHashMap(),ie=this._regionsGroup,oe=te.transformInfoRaw,se=te.mapOrGeoModel,le=te.data,ue=te.geo.projection,ce=ue&&ue.stream;function de(pe,ve){return ve&&(pe=ve(pe)),pe&&[pe[0]*oe.scaleX+oe.x,pe[1]*oe.scaleY+oe.y]}function he(pe){for(var ve=[],ge=!ce&&ue&&ue.project,me=0;me<pe.length;++me){var ye=de(pe[me],ge);ye&&ve.push(ye)}return ve}function fe(pe){return{shape:{points:he(pe)}}}ie.removeAll(),each$f(te.geo.regions,function(pe){var ve=pe.name,ge=ae.get(ve),me=ne.get(ve)||{},ye=me.dataIdx,_e=me.regionModel;ge||(ge=ae.set(ve,new Group$4),ie.add(ge),ye=le?le.indexOfName(ve):null,_e=te.isGeo?se.getRegionModel(ve):le?le.getItemModel(ye):null,ne.set(ve,{dataIdx:ye,regionModel:_e}));var be=[],xe=[];each$f(pe.geometries,function(we){if(we.type==="polygon"){var Ae=[we.exterior].concat(we.interiors||[]);ce&&(Ae=projectPolys(Ae,ce)),each$f(Ae,function(De){be.push(new Polygon$1(fe(De)))})}else{var Te=we.points;ce&&(Te=projectPolys(Te,ce,!0)),each$f(Te,function(De){xe.push(new Polyline$3(fe(De)))})}});var $e=de(pe.getCenter(),ue&&ue.project);function Se(we,Ae){if(we.length){var Te=new CompoundPath$1({culling:!0,segmentIgnoreThreshold:1,shape:{paths:we}});ge.add(Te),applyOptionStyleForRegion(te,Te,ye,_e),resetLabelForRegion(te,Te,ve,_e,se,ye,$e),Ae&&(fixLineStyle(Te),each$f(Te.states,fixLineStyle))}}Se(be),Se(xe,!0)}),ae.each(function(pe,ve){var ge=ne.get(ve),me=ge.dataIdx,ye=ge.regionModel;resetEventTriggerForRegion(te,pe,ve,ye,se,me),resetTooltipForRegion(te,pe,ve,ye,se),resetStateTriggerForRegion(te,pe,ve,ye,se)},this)},ee.prototype._buildSVG=function(te){var ae=te.geo.map,ne=te.transformInfoRaw;this._svgGroup.x=ne.x,this._svgGroup.y=ne.y,this._svgGroup.scaleX=ne.scaleX,this._svgGroup.scaleY=ne.scaleY,this._svgResourceChanged(ae)&&(this._freeSVG(),this._useSVG(ae));var ie=this._svgDispatcherMap=createHashMap(),oe=!1;each$f(this._svgGraphicRecord.named,function(se){var le=se.name,ue=te.mapOrGeoModel,ce=te.data,de=se.svgNodeTagLower,he=se.el,fe=ce?ce.indexOfName(le):null,pe=ue.getRegionModel(le);if(OPTION_STYLE_ENABLED_TAG_MAP.get(de)!=null&&he instanceof Displayable$1&&applyOptionStyleForRegion(te,he,fe,pe),he instanceof Displayable$1&&(he.culling=!0),he.z2EmphasisLift=0,!se.namedFrom&&(LABEL_HOST_MAP.get(de)!=null&&resetLabelForRegion(te,he,le,pe,ue,fe,null),resetEventTriggerForRegion(te,he,le,pe,ue,fe),resetTooltipForRegion(te,he,le,pe,ue),STATE_TRIGGER_TAG_MAP.get(de)!=null)){var ve=resetStateTriggerForRegion(te,he,le,pe,ue);ve==="self"&&(oe=!0);var ge=ie.get(le)||ie.set(le,[]);ge.push(he)}},this),this._enableBlurEntireSVG(oe,te)},ee.prototype._enableBlurEntireSVG=function(te,ae){if(te&&ae.isGeo){var ne=ae.mapOrGeoModel.getModel(["blur","itemStyle"]).getItemStyle(),ie=ne.opacity;this._svgGraphicRecord.root.traverse(function(oe){if(!oe.isGroup){setDefaultStateProxy(oe);var se=oe.ensureState("blur").style||{};se.opacity==null&&ie!=null&&(se.opacity=ie),oe.ensureState("emphasis")}})}},ee.prototype.remove=function(){this._regionsGroup.removeAll(),this._regionsGroupByName=null,this._svgGroup.removeAll(),this._freeSVG(),this._controller.dispose(),this._controllerHost=null},ee.prototype.findHighDownDispatchers=function(te,ae){if(te==null)return[];var ne=ae.coordinateSystem;if(ne.resourceType==="geoJSON"){var ie=this._regionsGroupByName;if(ie){var oe=ie.get(te);return oe?[oe]:[]}}else if(ne.resourceType==="geoSVG")return this._svgDispatcherMap&&this._svgDispatcherMap.get(te)||[]},ee.prototype._svgResourceChanged=function(te){return this._svgMapName!==te},ee.prototype._useSVG=function(te){var ae=geoSourceManager.getGeoResource(te);if(ae&&ae.type==="geoSVG"){var ne=ae.useGraphic(this.uid);this._svgGroup.add(ne.root),this._svgGraphicRecord=ne,this._svgMapName=te}},ee.prototype._freeSVG=function(){var te=this._svgMapName;if(te!=null){var ae=geoSourceManager.getGeoResource(te);ae&&ae.type==="geoSVG"&&ae.freeGraphic(this.uid),this._svgGraphicRecord=null,this._svgDispatcherMap=null,this._svgGroup.removeAll(),this._svgMapName=null}},ee.prototype._updateController=function(te,ae,ne){var ie=te.coordinateSystem,oe=this._controller,se=this._controllerHost;se.zoomLimit=te.get("scaleLimit"),se.zoom=ie.getZoom(),oe.enable(te.get("roam")||!1);var le=te.mainType;function ue(){var ce={type:"geoRoam",componentType:le};return ce[le+"Id"]=te.id,ce}oe.off("pan").on("pan",function(ce){this._mouseDownFlag=!1,updateViewOnPan(se,ce.dx,ce.dy),ne.dispatchAction(extend$1(ue(),{dx:ce.dx,dy:ce.dy,animation:{duration:0}}))},this),oe.off("zoom").on("zoom",function(ce){this._mouseDownFlag=!1,updateViewOnZoom(se,ce.scale,ce.originX,ce.originY),ne.dispatchAction(extend$1(ue(),{zoom:ce.scale,originX:ce.originX,originY:ce.originY,animation:{duration:0}}))},this),oe.setPointerChecker(function(ce,de,he){return ie.containPoint([de,he])&&!onIrrelevantElement(ce,ne,te)})},ee.prototype.resetForLabelLayout=function(){this.group.traverse(function(te){var ae=te.getTextContent();ae&&(ae.ignore=mapLabelRaw(ae).ignore)})},ee.prototype._updateMapSelectHandler=function(te,ae,ne,ie){var oe=this;ae.off("mousedown"),ae.off("click"),te.get("selectedMode")&&(ae.on("mousedown",function(){oe._mouseDownFlag=!0}),ae.on("click",function(se){oe._mouseDownFlag&&(oe._mouseDownFlag=!1)}))},ee}();function applyOptionStyleForRegion(ee,te,ae,ne){var ie=ne.getModel("itemStyle"),oe=ne.getModel(["emphasis","itemStyle"]),se=ne.getModel(["blur","itemStyle"]),le=ne.getModel(["select","itemStyle"]),ue=getFixedItemStyle(ie),ce=getFixedItemStyle(oe),de=getFixedItemStyle(le),he=getFixedItemStyle(se),fe=ee.data;if(fe){var pe=fe.getItemVisual(ae,"style"),ve=fe.getItemVisual(ae,"decal");ee.isVisualEncodedByVisualMap&&pe.fill&&(ue.fill=pe.fill),ve&&(ue.decal=createOrUpdatePatternFromDecal(ve,ee.api))}te.setStyle(ue),te.style.strokeNoScale=!0,te.ensureState("emphasis").style=ce,te.ensureState("select").style=de,te.ensureState("blur").style=he,setDefaultStateProxy(te)}function resetLabelForRegion(ee,te,ae,ne,ie,oe,se){var le=ee.data,ue=ee.isGeo,ce=le&&isNaN(le.get(le.mapDimension("value"),oe)),de=le&&le.getItemLayout(oe);if(ue||ce||de&&de.showLabel){var he=ue?ae:oe,fe=void 0;(!le||oe>=0)&&(fe=ie);var pe=se?{normal:{align:"center",verticalAlign:"middle"}}:null;setLabelStyle(te,getLabelStatesModels(ne),{labelFetcher:fe,labelDataIndex:he,defaultText:ae},pe);var ve=te.getTextContent();if(ve&&(mapLabelRaw(ve).ignore=ve.ignore,te.textConfig&&se)){var ge=te.getBoundingRect().clone();te.textConfig.layoutRect=ge,te.textConfig.position=[(se[0]-ge.x)/ge.width*100+"%",(se[1]-ge.y)/ge.height*100+"%"]}te.disableLabelAnimation=!0}else te.removeTextContent(),te.removeTextConfig(),te.disableLabelAnimation=null}function resetEventTriggerForRegion(ee,te,ae,ne,ie,oe){ee.data?ee.data.setItemGraphicEl(oe,te):getECData(te).eventData={componentType:"geo",componentIndex:ie.componentIndex,geoIndex:ie.componentIndex,name:ae,region:ne&&ne.option||{}}}function resetTooltipForRegion(ee,te,ae,ne,ie){ee.data||setTooltipConfig({el:te,componentModel:ie,itemName:ae,itemTooltipOption:ne.get("tooltip")})}function resetStateTriggerForRegion(ee,te,ae,ne,ie){te.highDownSilentOnTouch=!!ie.get("selectedMode");var oe=ne.getModel("emphasis"),se=oe.get("focus");return toggleHoverEmphasis(te,se,oe.get("blurScope"),oe.get("disabled")),ee.isGeo&&enableComponentHighDownFeatures(te,ie,ae),se}function projectPolys(ee,te,ae){var ne=[],ie;function oe(){ie=[]}function se(){ie.length&&(ne.push(ie),ie=[])}var le=te({polygonStart:oe,polygonEnd:se,lineStart:oe,lineEnd:se,point:function(ue,ce){isFinite(ue)&&isFinite(ce)&&ie.push([ue,ce])},sphere:function(){}});return!ae&&le.polygonStart(),each$f(ee,function(ue){le.lineStart();for(var ce=0;ce<ue.length;ce++)le.point(ue[ce][0],ue[ce][1]);le.lineEnd()}),!ae&&le.polygonEnd(),ne}const MapDraw$1=MapDraw;var MapView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie,oe){if(!(oe&&oe.type==="mapToggleSelect"&&oe.from===this.uid)){var se=this.group;if(se.removeAll(),!ae.getHostGeoModel()){if(this._mapDraw&&oe&&oe.type==="geoRoam"&&this._mapDraw.resetForLabelLayout(),oe&&oe.type==="geoRoam"&&oe.componentType==="series"&&oe.seriesId===ae.id){var le=this._mapDraw;le&&se.add(le.group)}else if(ae.needsDrawMap){var le=this._mapDraw||new MapDraw$1(ie);se.add(le.group),le.draw(ae,ne,ie,this,oe),this._mapDraw=le}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;ae.get("showLegendSymbol")&&ne.getComponent("legend")&&this._renderSymbols(ae,ne,ie)}}},te.prototype.remove=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},te.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},te.prototype._renderSymbols=function(ae,ne,ie){var oe=ae.originalData,se=this.group;oe.each(oe.mapDimension("value"),function(le,ue){if(!isNaN(le)){var ce=oe.getItemLayout(ue);if(!(!ce||!ce.point)){var de=ce.point,he=ce.offset,fe=new Circle$1({style:{fill:ae.getData().getVisual("style").fill},shape:{cx:de[0]+he*9,cy:de[1],r:3},silent:!0,z2:8+(he?0:Z2_EMPHASIS_LIFT+1)});if(!he){var pe=ae.mainSeries.getData(),ve=oe.getName(ue),ge=pe.indexOfName(ve),me=oe.getItemModel(ue),ye=me.getModel("label"),_e=pe.getItemGraphicEl(ge);setLabelStyle(fe,getLabelStatesModels(me),{labelFetcher:{getFormattedLabel:function(be,xe){return ae.getFormattedLabel(ge,xe)}},defaultText:ve}),fe.disableLabelAnimation=!0,ye.get("position")||fe.setTextConfig({position:"bottom"}),_e.onHoverStateChange=function(be){setStatesFlag(fe,be)}}se.add(fe)}}})},te.type="map",te}(ChartView$1);const MapView$1=MapView;var MapSeries=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.needsDrawMap=!1,ae.seriesGroup=[],ae.getTooltipPosition=function(ne){if(ne!=null){var ie=this.getData().getName(ne),oe=this.coordinateSystem,se=oe.getRegion(ie);return se&&oe.dataToPoint(se.getCenter())}},ae}return te.prototype.getInitialData=function(ae){for(var ne=createSeriesDataSimply(this,{coordDimensions:["value"],encodeDefaulter:curry$1(makeSeriesEncodeForNameBased,this)}),ie=createHashMap(),oe=[],se=0,le=ne.count();se<le;se++){var ue=ne.getName(se);ie.set(ue,!0)}var ce=geoSourceManager.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);return each$f(ce.regions,function(de){var he=de.name;ie.get(he)||oe.push(he)}),ne.appendValues([],oe),ne},te.prototype.getHostGeoModel=function(){var ae=this.option.geoIndex;return ae!=null?this.ecModel.getComponent("geo",ae):null},te.prototype.getMapType=function(){return(this.getHostGeoModel()||this).option.map},te.prototype.getRawValue=function(ae){var ne=this.getData();return ne.get(ne.mapDimension("value"),ae)},te.prototype.getRegionModel=function(ae){var ne=this.getData();return ne.getItemModel(ne.indexOfName(ae))},te.prototype.formatTooltip=function(ae,ne,ie){for(var oe=this.getData(),se=this.getRawValue(ae),le=oe.getName(ae),ue=this.seriesGroup,ce=[],de=0;de<ue.length;de++){var he=ue[de].originalData.indexOfName(le),fe=oe.mapDimension("value");isNaN(ue[de].originalData.get(fe,he))||ce.push(ue[de].name)}return createTooltipMarkup("section",{header:ce.join(", "),noHeader:!ce.length,blocks:[createTooltipMarkup("nameValue",{name:le,value:se})]})},te.prototype.setZoom=function(ae){this.option.zoom=ae},te.prototype.setCenter=function(ae){this.option.center=ae},te.prototype.getLegendIcon=function(ae){var ne=ae.icon||"roundRect",ie=createSymbol$1(ne,0,0,ae.itemWidth,ae.itemHeight,ae.itemStyle.fill);return ie.setStyle(ae.itemStyle),ie.style.stroke="none",ne.indexOf("empty")>-1&&(ie.style.stroke=ie.style.fill,ie.style.fill="#fff",ie.style.lineWidth=2),ie},te.type="series.map",te.dependencies=["geo"],te.layoutMode="box",te.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},te}(SeriesModel$1);const MapSeries$1=MapSeries;function dataStatistics(ee,te){var ae={};return each$f(ee,function(ne){ne.each(ne.mapDimension("value"),function(ie,oe){var se="ec-"+ne.getName(oe);ae[se]=ae[se]||[],isNaN(ie)||ae[se].push(ie)})}),ee[0].map(ee[0].mapDimension("value"),function(ne,ie){for(var oe="ec-"+ee[0].getName(ie),se=0,le=1/0,ue=-1/0,ce=ae[oe].length,de=0;de<ce;de++)le=Math.min(le,ae[oe][de]),ue=Math.max(ue,ae[oe][de]),se+=ae[oe][de];var he;return te==="min"?he=le:te==="max"?he=ue:te==="average"?he=se/ce:he=se,ce===0?NaN:he})}function mapDataStatistic(ee){var te={};ee.eachSeriesByType("map",function(ae){var ne=ae.getHostGeoModel(),ie=ne?"o"+ne.id:"i"+ae.getMapType();(te[ie]=te[ie]||[]).push(ae)}),each$f(te,function(ae,ne){for(var ie=dataStatistics(map$1(ae,function(se){return se.getData()}),ae[0].get("mapValueCalculation")),oe=0;oe<ae.length;oe++)ae[oe].originalData=ae[oe].getData();for(var oe=0;oe<ae.length;oe++)ae[oe].seriesGroup=ae,ae[oe].needsDrawMap=oe===0&&!ae[oe].getHostGeoModel(),ae[oe].setData(ie.cloneShallow()),ae[oe].mainSeries=ae[0]})}function mapSymbolLayout(ee){var te={};ee.eachSeriesByType("map",function(ae){var ne=ae.getMapType();if(!(ae.getHostGeoModel()||te[ne])){var ie={};each$f(ae.seriesGroup,function(se){var le=se.coordinateSystem,ue=se.originalData;se.get("showLegendSymbol")&&ee.getComponent("legend")&&ue.each(ue.mapDimension("value"),function(ce,de){var he=ue.getName(de),fe=le.getRegion(he);if(!(!fe||isNaN(ce))){var pe=ie[he]||0,ve=le.dataToPoint(fe.getCenter());ie[he]=pe+1,ue.setItemLayout(de,{point:ve,offset:pe})}})});var oe=ae.getData();oe.each(function(se){var le=oe.getName(se),ue=oe.getItemLayout(se)||{};ue.showLabel=!ie[le],oe.setItemLayout(se,ue)}),te[ne]=!0}})}var v2ApplyTransform=applyTransform$1,View=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this)||this;return ne.type="view",ne.dimensions=["x","y"],ne._roamTransformable=new Transformable$1,ne._rawTransformable=new Transformable$1,ne.name=ae,ne}return te.prototype.setBoundingRect=function(ae,ne,ie,oe){return this._rect=new BoundingRect$1(ae,ne,ie,oe),this._rect},te.prototype.getBoundingRect=function(){return this._rect},te.prototype.setViewRect=function(ae,ne,ie,oe){this._transformTo(ae,ne,ie,oe),this._viewRect=new BoundingRect$1(ae,ne,ie,oe)},te.prototype._transformTo=function(ae,ne,ie,oe){var se=this.getBoundingRect(),le=this._rawTransformable;le.transform=se.calculateTransform(new BoundingRect$1(ae,ne,ie,oe));var ue=le.parent;le.parent=null,le.decomposeTransform(),le.parent=ue,this._updateTransform()},te.prototype.setCenter=function(ae,ne){ae&&(this._center=[parsePercent(ae[0],ne.getWidth()),parsePercent(ae[1],ne.getHeight())],this._updateCenterAndZoom())},te.prototype.setZoom=function(ae){ae=ae||1;var ne=this.zoomLimit;ne&&(ne.max!=null&&(ae=Math.min(ne.max,ae)),ne.min!=null&&(ae=Math.max(ne.min,ae))),this._zoom=ae,this._updateCenterAndZoom()},te.prototype.getDefaultCenter=function(){var ae=this.getBoundingRect(),ne=ae.x+ae.width/2,ie=ae.y+ae.height/2;return[ne,ie]},te.prototype.getCenter=function(){return this._center||this.getDefaultCenter()},te.prototype.getZoom=function(){return this._zoom||1},te.prototype.getRoamTransform=function(){return this._roamTransformable.getLocalTransform()},te.prototype._updateCenterAndZoom=function(){var ae=this._rawTransformable.getLocalTransform(),ne=this._roamTransformable,ie=this.getDefaultCenter(),oe=this.getCenter(),se=this.getZoom();oe=applyTransform$1([],oe,ae),ie=applyTransform$1([],ie,ae),ne.originX=oe[0],ne.originY=oe[1],ne.x=ie[0]-oe[0],ne.y=ie[1]-oe[1],ne.scaleX=ne.scaleY=se,this._updateTransform()},te.prototype._updateTransform=function(){var ae=this._roamTransformable,ne=this._rawTransformable;ne.parent=ae,ae.updateTransform(),ne.updateTransform(),copy(this.transform||(this.transform=[]),ne.transform||create$1()),this._rawTransform=ne.getLocalTransform(),this.invTransform=this.invTransform||[],invert(this.invTransform,this.transform),this.decomposeTransform()},te.prototype.getTransformInfo=function(){var ae=this._rawTransformable,ne=this._roamTransformable,ie=new Transformable$1;return ie.transform=ne.transform,ie.decomposeTransform(),{roam:{x:ie.x,y:ie.y,scaleX:ie.scaleX,scaleY:ie.scaleY},raw:{x:ae.x,y:ae.y,scaleX:ae.scaleX,scaleY:ae.scaleY}}},te.prototype.getViewRect=function(){return this._viewRect},te.prototype.getViewRectAfterRoam=function(){var ae=this.getBoundingRect().clone();return ae.applyTransform(this.transform),ae},te.prototype.dataToPoint=function(ae,ne,ie){var oe=ne?this._rawTransform:this.transform;return ie=ie||[],oe?v2ApplyTransform(ie,ae,oe):copy$1(ie,ae)},te.prototype.pointToData=function(ae){var ne=this.invTransform;return ne?v2ApplyTransform([],ae,ne):[ae[0],ae[1]]},te.prototype.convertToPixel=function(ae,ne,ie){var oe=getCoordSys$4(ne);return oe===this?oe.dataToPoint(ie):null},te.prototype.convertFromPixel=function(ae,ne,ie){var oe=getCoordSys$4(ne);return oe===this?oe.pointToData(ie):null},te.prototype.containPoint=function(ae){return this.getViewRectAfterRoam().contain(ae[0],ae[1])},te.dimensions=["x","y"],te}(Transformable$1);function getCoordSys$4(ee){var te=ee.seriesModel;return te?te.coordinateSystem:null}const View$1=View;var GEO_DEFAULT_PARAMS={geoJSON:{aspectScale:.75,invertLongitute:!0},geoSVG:{aspectScale:1,invertLongitute:!1}},geo2DDimensions=["lng","lat"],Geo=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this,ae)||this;oe.dimensions=geo2DDimensions,oe.type="geo",oe._nameCoordMap=createHashMap(),oe.map=ne;var se=ie.projection,le=geoSourceManager.load(ne,ie.nameMap,ie.nameProperty),ue=geoSourceManager.getGeoResource(ne);oe.resourceType=ue?ue.type:null;var ce=oe.regions=le.regions,de=GEO_DEFAULT_PARAMS[ue.type];oe._regionsMap=le.regionsMap,oe.regions=le.regions,oe.projection=se;var he;if(se)for(var fe=0;fe<ce.length;fe++){var pe=ce[fe].getBoundingRect(se);he=he||pe.clone(),he.union(pe)}else he=le.boundingRect;return oe.setBoundingRect(he.x,he.y,he.width,he.height),oe.aspectScale=se?1:retrieve2(ie.aspectScale,de.aspectScale),oe._invertLongitute=se?!1:de.invertLongitute,oe}return te.prototype._transformTo=function(ae,ne,ie,oe){var se=this.getBoundingRect(),le=this._invertLongitute;se=se.clone(),le&&(se.y=-se.y-se.height);var ue=this._rawTransformable;ue.transform=se.calculateTransform(new BoundingRect$1(ae,ne,ie,oe));var ce=ue.parent;ue.parent=null,ue.decomposeTransform(),ue.parent=ce,le&&(ue.scaleY=-ue.scaleY),this._updateTransform()},te.prototype.getRegion=function(ae){return this._regionsMap.get(ae)},te.prototype.getRegionByCoord=function(ae){for(var ne=this.regions,ie=0;ie<ne.length;ie++){var oe=ne[ie];if(oe.type==="geoJSON"&&oe.contain(ae))return ne[ie]}},te.prototype.addGeoCoord=function(ae,ne){this._nameCoordMap.set(ae,ne)},te.prototype.getGeoCoord=function(ae){var ne=this._regionsMap.get(ae);return this._nameCoordMap.get(ae)||ne&&ne.getCenter()},te.prototype.dataToPoint=function(ae,ne,ie){if(isString$1(ae)&&(ae=this.getGeoCoord(ae)),ae){var oe=this.projection;return oe&&(ae=oe.project(ae)),ae&&this.projectedToPoint(ae,ne,ie)}},te.prototype.pointToData=function(ae){var ne=this.projection;return ne&&(ae=ne.unproject(ae)),ae&&this.pointToProjected(ae)},te.prototype.pointToProjected=function(ae){return ee.prototype.pointToData.call(this,ae)},te.prototype.projectedToPoint=function(ae,ne,ie){return ee.prototype.dataToPoint.call(this,ae,ne,ie)},te.prototype.convertToPixel=function(ae,ne,ie){var oe=getCoordSys$3(ne);return oe===this?oe.dataToPoint(ie):null},te.prototype.convertFromPixel=function(ae,ne,ie){var oe=getCoordSys$3(ne);return oe===this?oe.pointToData(ie):null},te}(View$1);mixin(Geo,View$1);function getCoordSys$3(ee){var te=ee.geoModel,ae=ee.seriesModel;return te?te.coordinateSystem:ae?ae.coordinateSystem||(ae.getReferringComponents("geo",SINGLE_REFERRING).models[0]||{}).coordinateSystem:null}const Geo$1=Geo;function resizeGeo(ee,te){var ae=ee.get("boundingCoords");if(ae!=null){var ne=ae[0],ie=ae[1];if(isFinite(ne[0])&&isFinite(ne[1])&&isFinite(ie[0])&&isFinite(ie[1])){var oe=this.projection;if(oe){var se=ne[0],le=ne[1],ue=ie[0],ce=ie[1];ne=[1/0,1/0],ie=[-1/0,-1/0];var de=function(Se,we,Ae,Te){for(var De=Ae-Se,Me=Te-we,Ie=0;Ie<=100;Ie++){var Ce=Ie/100,Ee=oe.project([Se+De*Ce,we+Me*Ce]);min$1(ne,ne,Ee),max$1(ie,ie,Ee)}};de(se,le,ue,le),de(ue,le,ue,ce),de(ue,ce,se,ce),de(se,ce,ue,le)}this.setBoundingRect(ne[0],ne[1],ie[0]-ne[0],ie[1]-ne[1])}}var he=this.getBoundingRect(),fe=ee.get("layoutCenter"),pe=ee.get("layoutSize"),ve=te.getWidth(),ge=te.getHeight(),me=he.width/he.height*this.aspectScale,ye=!1,_e,be;fe&&pe&&(_e=[parsePercent(fe[0],ve),parsePercent(fe[1],ge)],be=parsePercent(pe,Math.min(ve,ge)),!isNaN(_e[0])&&!isNaN(_e[1])&&!isNaN(be)&&(ye=!0));var xe;if(ye)xe={},me>1?(xe.width=be,xe.height=be/me):(xe.height=be,xe.width=be*me),xe.y=_e[1]-xe.height/2,xe.x=_e[0]-xe.width/2;else{var $e=ee.getBoxLayoutParams();$e.aspect=me,xe=getLayoutRect($e,{width:ve,height:ge})}this.setViewRect(xe.x,xe.y,xe.width,xe.height),this.setCenter(ee.get("center"),te),this.setZoom(ee.get("zoom"))}function setGeoCoords(ee,te){each$f(te.get("geoCoord"),function(ae,ne){ee.addGeoCoord(ne,ae)})}var GeoCreator=function(){function ee(){this.dimensions=geo2DDimensions}return ee.prototype.create=function(te,ae){var ne=[];function ie(se){return{nameProperty:se.get("nameProperty"),aspectScale:se.get("aspectScale"),projection:se.get("projection")}}te.eachComponent("geo",function(se,le){var ue=se.get("map"),ce=new Geo$1(ue+le,ue,extend$1({nameMap:se.get("nameMap")},ie(se)));ce.zoomLimit=se.get("scaleLimit"),ne.push(ce),se.coordinateSystem=ce,ce.model=se,ce.resize=resizeGeo,ce.resize(se,ae)}),te.eachSeries(function(se){var le=se.get("coordinateSystem");if(le==="geo"){var ue=se.get("geoIndex")||0;se.coordinateSystem=ne[ue]}});var oe={};return te.eachSeriesByType("map",function(se){if(!se.getHostGeoModel()){var le=se.getMapType();oe[le]=oe[le]||[],oe[le].push(se)}}),each$f(oe,function(se,le){var ue=map$1(se,function(de){return de.get("nameMap")}),ce=new Geo$1(le,le,extend$1({nameMap:mergeAll(ue)},ie(se[0])));ce.zoomLimit=retrieve.apply(null,map$1(se,function(de){return de.get("scaleLimit")})),ne.push(ce),ce.resize=resizeGeo,ce.resize(se[0],ae),each$f(se,function(de){de.coordinateSystem=ce,setGeoCoords(ce,de)})}),ne},ee.prototype.getFilledRegions=function(te,ae,ne,ie){for(var oe=(te||[]).slice(),se=createHashMap(),le=0;le<oe.length;le++)se.set(oe[le].name,oe[le]);var ue=geoSourceManager.load(ae,ne,ie);return each$f(ue.regions,function(ce){var de=ce.name;!se.get(de)&&oe.push({name:de})}),oe},ee}(),geoCreator=new GeoCreator;const geoCreator$1=geoCreator;var GeoModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne,ie){var oe=geoSourceManager.getGeoResource(ae.map);if(oe&&oe.type==="geoJSON"){var se=ae.itemStyle=ae.itemStyle||{};"color"in se||(se.color="#eee")}this.mergeDefaultAndTheme(ae,ie),defaultEmphasis(ae,"label",["show"])},te.prototype.optionUpdated=function(){var ae=this,ne=this.option;ne.regions=geoCreator$1.getFilledRegions(ne.regions,ne.map,ne.nameMap,ne.nameProperty);var ie={};this._optionModelMap=reduce(ne.regions||[],function(oe,se){var le=se.name;return le&&(oe.set(le,new Model$1(se,ae,ae.ecModel)),se.selected&&(ie[le]=!0)),oe},createHashMap()),ne.selectedMap||(ne.selectedMap=ie)},te.prototype.getRegionModel=function(ae){return this._optionModelMap.get(ae)||new Model$1(null,this,this.ecModel)},te.prototype.getFormattedLabel=function(ae,ne){var ie=this.getRegionModel(ae),oe=ne==="normal"?ie.get(["label","formatter"]):ie.get(["emphasis","label","formatter"]),se={name:ae};if(isFunction$1(oe))return se.status=ne,oe(se);if(isString$1(oe))return oe.replace("{a}",ae??"")},te.prototype.setZoom=function(ae){this.option.zoom=ae},te.prototype.setCenter=function(ae){this.option.center=ae},te.prototype.select=function(ae){var ne=this.option,ie=ne.selectedMode;if(ie){ie!=="multiple"&&(ne.selectedMap=null);var oe=ne.selectedMap||(ne.selectedMap={});oe[ae]=!0}},te.prototype.unSelect=function(ae){var ne=this.option.selectedMap;ne&&(ne[ae]=!1)},te.prototype.toggleSelected=function(ae){this[this.isSelected(ae)?"unSelect":"select"](ae)},te.prototype.isSelected=function(ae){var ne=this.option.selectedMap;return!!(ne&&ne[ae])},te.type="geo",te.layoutMode="box",te.defaultOption={z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},te}(ComponentModel$1);const GeoModel$1=GeoModel;function getCenterCoord(ee,te){return ee.pointToProjected?ee.pointToProjected(te):ee.pointToData(te)}function updateCenterAndZoom(ee,te,ae,ne){var ie=ee.getZoom(),oe=ee.getCenter(),se=te.zoom,le=ee.projectedToPoint?ee.projectedToPoint(oe):ee.dataToPoint(oe);if(te.dx!=null&&te.dy!=null&&(le[0]-=te.dx,le[1]-=te.dy,ee.setCenter(getCenterCoord(ee,le),ne)),se!=null){if(ae){var ue=ae.min||0,ce=ae.max||1/0;se=Math.max(Math.min(ie*se,ce),ue)/ie}ee.scaleX*=se,ee.scaleY*=se;var de=(te.originX-ee.x)*(se-1),he=(te.originY-ee.y)*(se-1);ee.x-=de,ee.y-=he,ee.updateTransform(),ee.setCenter(getCenterCoord(ee,le),ne),ee.setZoom(se*ie)}return{center:ee.getCenter(),zoom:ee.getZoom()}}var GeoView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.focusBlurEnabled=!0,ae}return te.prototype.init=function(ae,ne){this._api=ne},te.prototype.render=function(ae,ne,ie,oe){if(this._model=ae,!ae.get("show")){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;return}this._mapDraw||(this._mapDraw=new MapDraw$1(ie));var se=this._mapDraw;se.draw(ae,ne,ie,this,oe),se.group.on("click",this._handleRegionClick,this),se.group.silent=ae.get("silent"),this.group.add(se.group),this.updateSelectStatus(ae,ne,ie)},te.prototype._handleRegionClick=function(ae){var ne;findEventDispatcher(ae.target,function(ie){return(ne=getECData(ie).eventData)!=null},!0),ne&&this._api.dispatchAction({type:"geoToggleSelect",geoId:this._model.id,name:ne.name})},te.prototype.updateSelectStatus=function(ae,ne,ie){var oe=this;this._mapDraw.group.traverse(function(se){var le=getECData(se).eventData;if(le)return oe._model.isSelected(le.name)?ie.enterSelect(se):ie.leaveSelect(se),!0})},te.prototype.findHighDownDispatchers=function(ae){return this._mapDraw&&this._mapDraw.findHighDownDispatchers(ae,this._model)},te.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove()},te.type="geo",te}(ComponentView$1);const GeoView$1=GeoView;function registerMap(ee,te,ae){geoSourceManager.registerMap(ee,te,ae)}function install$J(ee){ee.registerCoordinateSystem("geo",geoCreator$1),ee.registerComponentModel(GeoModel$1),ee.registerComponentView(GeoView$1),ee.registerImpl("registerMap",registerMap),ee.registerImpl("getMap",function(ae){return geoSourceManager.getMapForUser(ae)});function te(ae,ne){ne.update="geo:updateSelectStatus",ee.registerAction(ne,function(ie,oe){var se={},le=[];return oe.eachComponent({mainType:"geo",query:ie},function(ue){ue[ae](ie.name);var ce=ue.coordinateSystem;each$f(ce.regions,function(he){se[he.name]=ue.isSelected(he.name)||!1});var de=[];each$f(se,function(he,fe){se[fe]&&de.push(fe)}),le.push({geoIndex:ue.componentIndex,name:de})}),{selected:se,allSelected:le,name:ie.name}})}te("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),te("select",{type:"geoSelect",event:"geoselected"}),te("unSelect",{type:"geoUnSelect",event:"geounselected"}),ee.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(ae,ne,ie){var oe=ae.componentType||"series";ne.eachComponent({mainType:oe,query:ae},function(se){var le=se.coordinateSystem;if(le.type==="geo"){var ue=updateCenterAndZoom(le,ae,se.get("scaleLimit"),ie);se.setCenter&&se.setCenter(ue.center),se.setZoom&&se.setZoom(ue.zoom),oe==="series"&&each$f(se.seriesGroup,function(ce){ce.setCenter(ue.center),ce.setZoom(ue.zoom)})}})})}function install$I(ee){use(install$J),ee.registerChartView(MapView$1),ee.registerSeriesModel(MapSeries$1),ee.registerLayout(mapSymbolLayout),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,mapDataStatistic),createLegacyDataSelectAction("map",ee.registerAction)}function init(ee){var te=ee;te.hierNode={defaultAncestor:null,ancestor:te,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var ae=[te],ne,ie;ne=ae.pop();)if(ie=ne.children,ne.isExpand&&ie.length)for(var oe=ie.length,se=oe-1;se>=0;se--){var le=ie[se];le.hierNode={defaultAncestor:null,ancestor:le,prelim:0,modifier:0,change:0,shift:0,i:se,thread:null},ae.push(le)}}function firstWalk(ee,te){var ae=ee.isExpand?ee.children:[],ne=ee.parentNode.children,ie=ee.hierNode.i?ne[ee.hierNode.i-1]:null;if(ae.length){executeShifts(ee);var oe=(ae[0].hierNode.prelim+ae[ae.length-1].hierNode.prelim)/2;ie?(ee.hierNode.prelim=ie.hierNode.prelim+te(ee,ie),ee.hierNode.modifier=ee.hierNode.prelim-oe):ee.hierNode.prelim=oe}else ie&&(ee.hierNode.prelim=ie.hierNode.prelim+te(ee,ie));ee.parentNode.hierNode.defaultAncestor=apportion(ee,ie,ee.parentNode.hierNode.defaultAncestor||ne[0],te)}function secondWalk(ee){var te=ee.hierNode.prelim+ee.parentNode.hierNode.modifier;ee.setLayout({x:te},!0),ee.hierNode.modifier+=ee.parentNode.hierNode.modifier}function separation(ee){return arguments.length?ee:defaultSeparation}function radialCoordinate(ee,te){return ee-=Math.PI/2,{x:te*Math.cos(ee),y:te*Math.sin(ee)}}function getViewRect$4(ee,te){return getLayoutRect(ee.getBoxLayoutParams(),{width:te.getWidth(),height:te.getHeight()})}function executeShifts(ee){for(var te=ee.children,ae=te.length,ne=0,ie=0;--ae>=0;){var oe=te[ae];oe.hierNode.prelim+=ne,oe.hierNode.modifier+=ne,ie+=oe.hierNode.change,ne+=oe.hierNode.shift+ie}}function apportion(ee,te,ae,ne){if(te){for(var ie=ee,oe=ee,se=oe.parentNode.children[0],le=te,ue=ie.hierNode.modifier,ce=oe.hierNode.modifier,de=se.hierNode.modifier,he=le.hierNode.modifier;le=nextRight(le),oe=nextLeft(oe),le&&oe;){ie=nextRight(ie),se=nextLeft(se),ie.hierNode.ancestor=ee;var fe=le.hierNode.prelim+he-oe.hierNode.prelim-ce+ne(le,oe);fe>0&&(moveSubtree(nextAncestor(le,ee,ae),ee,fe),ce+=fe,ue+=fe),he+=le.hierNode.modifier,ce+=oe.hierNode.modifier,ue+=ie.hierNode.modifier,de+=se.hierNode.modifier}le&&!nextRight(ie)&&(ie.hierNode.thread=le,ie.hierNode.modifier+=he-ue),oe&&!nextLeft(se)&&(se.hierNode.thread=oe,se.hierNode.modifier+=ce-de,ae=ee)}return ae}function nextRight(ee){var te=ee.children;return te.length&&ee.isExpand?te[te.length-1]:ee.hierNode.thread}function nextLeft(ee){var te=ee.children;return te.length&&ee.isExpand?te[0]:ee.hierNode.thread}function nextAncestor(ee,te,ae){return ee.hierNode.ancestor.parentNode===te.parentNode?ee.hierNode.ancestor:ae}function moveSubtree(ee,te,ae){var ne=ae/(te.hierNode.i-ee.hierNode.i);te.hierNode.change-=ne,te.hierNode.shift+=ae,te.hierNode.modifier+=ae,te.hierNode.prelim+=ae,ee.hierNode.change+=ne}function defaultSeparation(ee,te){return ee.parentNode===te.parentNode?1:2}var TreeEdgeShape=function(){function ee(){this.parentPoint=[],this.childPoints=[]}return ee}(),TreePath=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new TreeEdgeShape},te.prototype.buildPath=function(ae,ne){var ie=ne.childPoints,oe=ie.length,se=ne.parentPoint,le=ie[0],ue=ie[oe-1];if(oe===1){ae.moveTo(se[0],se[1]),ae.lineTo(le[0],le[1]);return}var ce=ne.orient,de=ce==="TB"||ce==="BT"?0:1,he=1-de,fe=parsePercent(ne.forkPosition,1),pe=[];pe[de]=se[de],pe[he]=se[he]+(ue[he]-se[he])*fe,ae.moveTo(se[0],se[1]),ae.lineTo(pe[0],pe[1]),ae.moveTo(le[0],le[1]),pe[de]=le[de],ae.lineTo(pe[0],pe[1]),pe[de]=ue[de],ae.lineTo(pe[0],pe[1]),ae.lineTo(ue[0],ue[1]);for(var ve=1;ve<oe-1;ve++){var ge=ie[ve];ae.moveTo(ge[0],ge[1]),pe[de]=ge[de],ae.lineTo(pe[0],pe[1])}},te}(Path$1),TreeView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._mainGroup=new Group$4,ae}return te.prototype.init=function(ae,ne){this._controller=new RoamController$1(ne.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=ae.layoutInfo,le=this._mainGroup,ue=ae.get("layout");ue==="radial"?(le.x=se.x+se.width/2,le.y=se.y+se.height/2):(le.x=se.x,le.y=se.y),this._updateViewCoordSys(ae,ie),this._updateController(ae,ne,ie);var ce=this._data;oe.diff(ce).add(function(de){symbolNeedsDraw(oe,de)&&updateNode(oe,de,null,le,ae)}).update(function(de,he){var fe=ce.getItemGraphicEl(he);if(!symbolNeedsDraw(oe,de)){fe&&removeNode(ce,he,fe,le,ae);return}updateNode(oe,de,fe,le,ae)}).remove(function(de){var he=ce.getItemGraphicEl(de);he&&removeNode(ce,de,he,le,ae)}).execute(),this._nodeScaleRatio=ae.get("nodeScaleRatio"),this._updateNodeAndLinkScale(ae),ae.get("expandAndCollapse")===!0&&oe.eachItemGraphicEl(function(de,he){de.off("click").on("click",function(){ie.dispatchAction({type:"treeExpandAndCollapse",seriesId:ae.id,dataIndex:he})})}),this._data=oe},te.prototype._updateViewCoordSys=function(ae,ne){var ie=ae.getData(),oe=[];ie.each(function(he){var fe=ie.getItemLayout(he);fe&&!isNaN(fe.x)&&!isNaN(fe.y)&&oe.push([+fe.x,+fe.y])});var se=[],le=[];fromPoints(oe,se,le);var ue=this._min,ce=this._max;le[0]-se[0]===0&&(se[0]=ue?ue[0]:se[0]-1,le[0]=ce?ce[0]:le[0]+1),le[1]-se[1]===0&&(se[1]=ue?ue[1]:se[1]-1,le[1]=ce?ce[1]:le[1]+1);var de=ae.coordinateSystem=new View$1;de.zoomLimit=ae.get("scaleLimit"),de.setBoundingRect(se[0],se[1],le[0]-se[0],le[1]-se[1]),de.setCenter(ae.get("center"),ne),de.setZoom(ae.get("zoom")),this.group.attr({x:de.x,y:de.y,scaleX:de.scaleX,scaleY:de.scaleY}),this._min=se,this._max=le},te.prototype._updateController=function(ae,ne,ie){var oe=this,se=this._controller,le=this._controllerHost,ue=this.group;se.setPointerChecker(function(ce,de,he){var fe=ue.getBoundingRect();return fe.applyTransform(ue.transform),fe.contain(de,he)&&!onIrrelevantElement(ce,ie,ae)}),se.enable(ae.get("roam")),le.zoomLimit=ae.get("scaleLimit"),le.zoom=ae.coordinateSystem.getZoom(),se.off("pan").off("zoom").on("pan",function(ce){updateViewOnPan(le,ce.dx,ce.dy),ie.dispatchAction({seriesId:ae.id,type:"treeRoam",dx:ce.dx,dy:ce.dy})}).on("zoom",function(ce){updateViewOnZoom(le,ce.scale,ce.originX,ce.originY),ie.dispatchAction({seriesId:ae.id,type:"treeRoam",zoom:ce.scale,originX:ce.originX,originY:ce.originY}),oe._updateNodeAndLinkScale(ae),ie.updateLabelLayout()})},te.prototype._updateNodeAndLinkScale=function(ae){var ne=ae.getData(),ie=this._getNodeGlobalScale(ae);ne.eachItemGraphicEl(function(oe,se){oe.setSymbolScale(ie)})},te.prototype._getNodeGlobalScale=function(ae){var ne=ae.coordinateSystem;if(ne.type!=="view")return 1;var ie=this._nodeScaleRatio,oe=ne.scaleX||1,se=ne.getZoom(),le=(se-1)*ie+1;return le/oe},te.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},te.prototype.remove=function(){this._mainGroup.removeAll(),this._data=null},te.type="tree",te}(ChartView$1);function symbolNeedsDraw(ee,te){var ae=ee.getItemLayout(te);return ae&&!isNaN(ae.x)&&!isNaN(ae.y)}function updateNode(ee,te,ae,ne,ie){var oe=!ae,se=ee.tree.getNodeByDataIndex(te),le=se.getModel(),ue=se.getVisual("style").fill,ce=se.isExpand===!1&&se.children.length!==0?ue:"#fff",de=ee.tree.root,he=se.parentNode===de?se:se.parentNode||se,fe=ee.getItemGraphicEl(he.dataIndex),pe=he.getLayout(),ve=fe?{x:fe.__oldX,y:fe.__oldY,rawX:fe.__radialOldRawX,rawY:fe.__radialOldRawY}:pe,ge=se.getLayout();oe?(ae=new SymbolClz(ee,te,null,{symbolInnerColor:ce,useNameLabel:!0}),ae.x=ve.x,ae.y=ve.y):ae.updateData(ee,te,null,{symbolInnerColor:ce,useNameLabel:!0}),ae.__radialOldRawX=ae.__radialRawX,ae.__radialOldRawY=ae.__radialRawY,ae.__radialRawX=ge.rawX,ae.__radialRawY=ge.rawY,ne.add(ae),ee.setItemGraphicEl(te,ae),ae.__oldX=ae.x,ae.__oldY=ae.y,updateProps$1(ae,{x:ge.x,y:ge.y},ie);var me=ae.getSymbolPath();if(ie.get("layout")==="radial"){var ye=de.children[0],_e=ye.getLayout(),be=ye.children.length,xe=void 0,$e=void 0;if(ge.x===_e.x&&se.isExpand===!0&&ye.children.length){var Se={x:(ye.children[0].getLayout().x+ye.children[be-1].getLayout().x)/2,y:(ye.children[0].getLayout().y+ye.children[be-1].getLayout().y)/2};xe=Math.atan2(Se.y-_e.y,Se.x-_e.x),xe<0&&(xe=Math.PI*2+xe),$e=Se.x<_e.x,$e&&(xe=xe-Math.PI)}else xe=Math.atan2(ge.y-_e.y,ge.x-_e.x),xe<0&&(xe=Math.PI*2+xe),se.children.length===0||se.children.length!==0&&se.isExpand===!1?($e=ge.x<_e.x,$e&&(xe=xe-Math.PI)):($e=ge.x>_e.x,$e||(xe=xe-Math.PI));var we=$e?"left":"right",Ae=le.getModel("label"),Te=Ae.get("rotate"),De=Te*(Math.PI/180),Me=me.getTextContent();Me&&(me.setTextConfig({position:Ae.get("position")||we,rotation:Te==null?-xe:De,origin:"center"}),Me.setStyle("verticalAlign","middle"))}var Ie=le.get(["emphasis","focus"]),Ce=Ie==="relative"?concatArray(se.getAncestorsIndices(),se.getDescendantIndices()):Ie==="ancestor"?se.getAncestorsIndices():Ie==="descendant"?se.getDescendantIndices():null;Ce&&(getECData(ae).focus=Ce),drawEdge(ie,se,de,ae,ve,pe,ge,ne),ae.__edge&&(ae.onHoverStateChange=function(Ee){if(Ee!=="blur"){var Re=se.parentNode&&ee.getItemGraphicEl(se.parentNode.dataIndex);Re&&Re.hoverState===HOVER_STATE_BLUR||setStatesFlag(ae.__edge,Ee)}})}function drawEdge(ee,te,ae,ne,ie,oe,se,le){var ue=te.getModel(),ce=ee.get("edgeShape"),de=ee.get("layout"),he=ee.getOrient(),fe=ee.get(["lineStyle","curveness"]),pe=ee.get("edgeForkPosition"),ve=ue.getModel("lineStyle").getLineStyle(),ge=ne.__edge;if(ce==="curve")te.parentNode&&te.parentNode!==ae&&(ge||(ge=ne.__edge=new BezierCurve$1({shape:getEdgeShape(de,he,fe,ie,ie)})),updateProps$1(ge,{shape:getEdgeShape(de,he,fe,oe,se)},ee));else if(ce==="polyline"&&de==="orthogonal"&&te!==ae&&te.children&&te.children.length!==0&&te.isExpand===!0){for(var me=te.children,ye=[],_e=0;_e<me.length;_e++){var be=me[_e].getLayout();ye.push([be.x,be.y])}ge||(ge=ne.__edge=new TreePath({shape:{parentPoint:[se.x,se.y],childPoints:[[se.x,se.y]],orient:he,forkPosition:pe}})),updateProps$1(ge,{shape:{parentPoint:[se.x,se.y],childPoints:ye}},ee)}ge&&!(ce==="polyline"&&!te.isExpand)&&(ge.useStyle(defaults$2({strokeNoScale:!0,fill:null},ve)),setStatesStylesFromModel(ge,ue,"lineStyle"),setDefaultStateProxy(ge),le.add(ge))}function removeNodeEdge(ee,te,ae,ne,ie){var oe=te.tree.root,se=getSourceNode(oe,ee),le=se.source,ue=se.sourceLayout,ce=te.getItemGraphicEl(ee.dataIndex);if(ce){var de=te.getItemGraphicEl(le.dataIndex),he=de.__edge,fe=ce.__edge||(le.isExpand===!1||le.children.length===1?he:void 0),pe=ne.get("edgeShape"),ve=ne.get("layout"),ge=ne.get("orient"),me=ne.get(["lineStyle","curveness"]);fe&&(pe==="curve"?removeElement(fe,{shape:getEdgeShape(ve,ge,me,ue,ue),style:{opacity:0}},ne,{cb:function(){ae.remove(fe)},removeOpt:ie}):pe==="polyline"&&ne.get("layout")==="orthogonal"&&removeElement(fe,{shape:{parentPoint:[ue.x,ue.y],childPoints:[[ue.x,ue.y]]},style:{opacity:0}},ne,{cb:function(){ae.remove(fe)},removeOpt:ie}))}}function getSourceNode(ee,te){for(var ae=te.parentNode===ee?te:te.parentNode||te,ne;ne=ae.getLayout(),ne==null;)ae=ae.parentNode===ee?ae:ae.parentNode||ae;return{source:ae,sourceLayout:ne}}function removeNode(ee,te,ae,ne,ie){var oe=ee.tree.getNodeByDataIndex(te),se=ee.tree.root,le=getSourceNode(se,oe).sourceLayout,ue={duration:ie.get("animationDurationUpdate"),easing:ie.get("animationEasingUpdate")};removeElement(ae,{x:le.x+1,y:le.y+1},ie,{cb:function(){ne.remove(ae),ee.setItemGraphicEl(te,null)},removeOpt:ue}),ae.fadeOut(null,ee.hostModel,{fadeLabel:!0,animation:ue}),oe.children.forEach(function(ce){removeNodeEdge(ce,ee,ne,ie,ue)}),removeNodeEdge(oe,ee,ne,ie,ue)}function getEdgeShape(ee,te,ae,ne,ie){var oe,se,le,ue,ce,de,he,fe;if(ee==="radial"){ce=ne.rawX,he=ne.rawY,de=ie.rawX,fe=ie.rawY;var pe=radialCoordinate(ce,he),ve=radialCoordinate(ce,he+(fe-he)*ae),ge=radialCoordinate(de,fe+(he-fe)*ae),me=radialCoordinate(de,fe);return{x1:pe.x||0,y1:pe.y||0,x2:me.x||0,y2:me.y||0,cpx1:ve.x||0,cpy1:ve.y||0,cpx2:ge.x||0,cpy2:ge.y||0}}else ce=ne.x,he=ne.y,de=ie.x,fe=ie.y,(te==="LR"||te==="RL")&&(oe=ce+(de-ce)*ae,se=he,le=de+(ce-de)*ae,ue=fe),(te==="TB"||te==="BT")&&(oe=ce,se=he+(fe-he)*ae,le=de,ue=fe+(he-fe)*ae);return{x1:ce,y1:he,x2:de,y2:fe,cpx1:oe,cpy1:se,cpx2:le,cpy2:ue}}const TreeView$1=TreeView;var inner$e=makeInner();function linkSeriesData(ee){var te=ee.mainData,ae=ee.datas;ae||(ae={main:te},ee.datasAttr={main:"data"}),ee.datas=ee.mainData=null,linkAll(te,ae,ee),each$f(ae,function(ne){each$f(te.TRANSFERABLE_METHODS,function(ie){ne.wrapMethod(ie,curry$1(transferInjection,ee))})}),te.wrapMethod("cloneShallow",curry$1(cloneShallowInjection,ee)),each$f(te.CHANGABLE_METHODS,function(ne){te.wrapMethod(ne,curry$1(changeInjection,ee))}),assert(ae[te.dataType]===te)}function transferInjection(ee,te){if(isMainData(this)){var ae=extend$1({},inner$e(this).datas);ae[this.dataType]=te,linkAll(te,ae,ee)}else linkSingle(te,this.dataType,inner$e(this).mainData,ee);return te}function changeInjection(ee,te){return ee.struct&&ee.struct.update(),te}function cloneShallowInjection(ee,te){return each$f(inner$e(te).datas,function(ae,ne){ae!==te&&linkSingle(ae.cloneShallow(),ne,te,ee)}),te}function getLinkedData(ee){var te=inner$e(this).mainData;return ee==null||te==null?te:inner$e(te).datas[ee]}function getLinkedDataAll(){var ee=inner$e(this).mainData;return ee==null?[{data:ee}]:map$1(keys(inner$e(ee).datas),function(te){return{type:te,data:inner$e(ee).datas[te]}})}function isMainData(ee){return inner$e(ee).mainData===ee}function linkAll(ee,te,ae){inner$e(ee).datas={},each$f(te,function(ne,ie){linkSingle(ne,ie,ee,ae)})}function linkSingle(ee,te,ae,ne){inner$e(ae).datas[te]=ee,inner$e(ee).mainData=ae,ee.dataType=te,ne.struct&&(ee[ne.structAttr]=ne.struct,ne.struct[ne.datasAttr[te]]=ee),ee.getLinkedData=getLinkedData,ee.getLinkedDataAll=getLinkedDataAll}var TreeNode=function(){function ee(te,ae){this.depth=0,this.height=0,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.isExpand=!1,this.name=te||"",this.hostTree=ae}return ee.prototype.isRemoved=function(){return this.dataIndex<0},ee.prototype.eachNode=function(te,ae,ne){isFunction$1(te)&&(ne=ae,ae=te,te=null),te=te||{},isString$1(te)&&(te={order:te});var ie=te.order||"preorder",oe=this[te.attr||"children"],se;ie==="preorder"&&(se=ae.call(ne,this));for(var le=0;!se&&le<oe.length;le++)oe[le].eachNode(te,ae,ne);ie==="postorder"&&ae.call(ne,this)},ee.prototype.updateDepthAndHeight=function(te){var ae=0;this.depth=te;for(var ne=0;ne<this.children.length;ne++){var ie=this.children[ne];ie.updateDepthAndHeight(te+1),ie.height>ae&&(ae=ie.height)}this.height=ae+1},ee.prototype.getNodeById=function(te){if(this.getId()===te)return this;for(var ae=0,ne=this.children,ie=ne.length;ae<ie;ae++){var oe=ne[ae].getNodeById(te);if(oe)return oe}},ee.prototype.contains=function(te){if(te===this)return!0;for(var ae=0,ne=this.children,ie=ne.length;ae<ie;ae++){var oe=ne[ae].contains(te);if(oe)return oe}},ee.prototype.getAncestors=function(te){for(var ae=[],ne=te?this:this.parentNode;ne;)ae.push(ne),ne=ne.parentNode;return ae.reverse(),ae},ee.prototype.getAncestorsIndices=function(){for(var te=[],ae=this;ae;)te.push(ae.dataIndex),ae=ae.parentNode;return te.reverse(),te},ee.prototype.getDescendantIndices=function(){var te=[];return this.eachNode(function(ae){te.push(ae.dataIndex)}),te},ee.prototype.getValue=function(te){var ae=this.hostTree.data;return ae.getStore().get(ae.getDimensionIndex(te||"value"),this.dataIndex)},ee.prototype.setLayout=function(te,ae){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,te,ae)},ee.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},ee.prototype.getModel=function(te){if(!(this.dataIndex<0)){var ae=this.hostTree,ne=ae.data.getItemModel(this.dataIndex);return ne.getModel(te)}},ee.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},ee.prototype.setVisual=function(te,ae){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,te,ae)},ee.prototype.getVisual=function(te){return this.hostTree.data.getItemVisual(this.dataIndex,te)},ee.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},ee.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},ee.prototype.getChildIndex=function(){if(this.parentNode){for(var te=this.parentNode.children,ae=0;ae<te.length;++ae)if(te[ae]===this)return ae;return-1}return-1},ee.prototype.isAncestorOf=function(te){for(var ae=te.parentNode;ae;){if(ae===this)return!0;ae=ae.parentNode}return!1},ee.prototype.isDescendantOf=function(te){return te!==this&&te.isAncestorOf(this)},ee}(),Tree=function(){function ee(te){this.type="tree",this._nodes=[],this.hostModel=te}return ee.prototype.eachNode=function(te,ae,ne){this.root.eachNode(te,ae,ne)},ee.prototype.getNodeByDataIndex=function(te){var ae=this.data.getRawIndex(te);return this._nodes[ae]},ee.prototype.getNodeById=function(te){return this.root.getNodeById(te)},ee.prototype.update=function(){for(var te=this.data,ae=this._nodes,ne=0,ie=ae.length;ne<ie;ne++)ae[ne].dataIndex=-1;for(var ne=0,ie=te.count();ne<ie;ne++)ae[te.getRawIndex(ne)].dataIndex=ne},ee.prototype.clearLayouts=function(){this.data.clearItemLayouts()},ee.createTree=function(te,ae,ne){var ie=new ee(ae),oe=[],se=1;le(te);function le(de,he){var fe=de.value;se=Math.max(se,isArray$2(fe)?fe.length:1),oe.push(de);var pe=new TreeNode(convertOptionIdName(de.name,""),ie);he?addChild(pe,he):ie.root=pe,ie._nodes.push(pe);var ve=de.children;if(ve)for(var ge=0;ge<ve.length;ge++)le(ve[ge],pe)}ie.root.updateDepthAndHeight(0);var ue=prepareSeriesDataSchema(oe,{coordDimensions:["value"],dimensionsCount:se}).dimensions,ce=new SeriesData$1(ue,ae);return ce.initData(oe),ne&&ne(ce),linkSeriesData({mainData:ce,struct:ie,structAttr:"tree"}),ie.update(),ie},ee}();function addChild(ee,te){var ae=te.children;ee.parentNode!==te&&(ae.push(ee),ee.parentNode=te)}const Tree$1=Tree;function retrieveTargetInfo(ee,te,ae){if(ee&&indexOf(te,ee.type)>=0){var ne=ae.getData().tree.root,ie=ee.targetNode;if(isString$1(ie)&&(ie=ne.getNodeById(ie)),ie&&ne.contains(ie))return{node:ie};var oe=ee.targetNodeId;if(oe!=null&&(ie=ne.getNodeById(oe)))return{node:ie}}}function getPathToRoot(ee){for(var te=[];ee;)ee=ee.parentNode,ee&&te.push(ee);return te.reverse()}function aboveViewRoot(ee,te){var ae=getPathToRoot(ee);return indexOf(ae,te)>=0}function wrapTreePathInfo(ee,te){for(var ae=[];ee;){var ne=ee.dataIndex;ae.push({name:ee.name,dataIndex:ne,value:te.getRawValue(ne)}),ee=ee.parentNode}return ae.reverse(),ae}var TreeSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.hasSymbolVisual=!0,ae.ignoreStyleOnData=!0,ae}return te.prototype.getInitialData=function(ae){var ne={name:ae.name,children:ae.data},ie=ae.leaves||{},oe=new Model$1(ie,this,this.ecModel),se=Tree$1.createTree(ne,this,le);function le(he){he.wrapMethod("getItemModel",function(fe,pe){var ve=se.getNodeByDataIndex(pe);return ve&&ve.children.length&&ve.isExpand||(fe.parentModel=oe),fe})}var ue=0;se.eachNode("preorder",function(he){he.depth>ue&&(ue=he.depth)});var ce=ae.expandAndCollapse,de=ce&&ae.initialTreeDepth>=0?ae.initialTreeDepth:ue;return se.root.eachNode("preorder",function(he){var fe=he.hostTree.data.getRawDataItem(he.dataIndex);he.isExpand=fe&&fe.collapsed!=null?!fe.collapsed:he.depth<=de}),se.data},te.prototype.getOrient=function(){var ae=this.get("orient");return ae==="horizontal"?ae="LR":ae==="vertical"&&(ae="TB"),ae},te.prototype.setZoom=function(ae){this.option.zoom=ae},te.prototype.setCenter=function(ae){this.option.center=ae},te.prototype.formatTooltip=function(ae,ne,ie){for(var oe=this.getData().tree,se=oe.root.children[0],le=oe.getNodeByDataIndex(ae),ue=le.getValue(),ce=le.name;le&&le!==se;)ce=le.parentNode.name+"."+ce,le=le.parentNode;return createTooltipMarkup("nameValue",{name:ce,value:ue,noValue:isNaN(ue)||ue==null})},te.prototype.getDataParams=function(ae){var ne=ee.prototype.getDataParams.apply(this,arguments),ie=this.getData().tree.getNodeByDataIndex(ae);return ne.treeAncestors=wrapTreePathInfo(ie,this),ne.collapsed=!ie.isExpand,ne},te.type="series.tree",te.layoutMode="box",te.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},te}(SeriesModel$1);const TreeSeriesModel$1=TreeSeriesModel;function eachAfter(ee,te,ae){for(var ne=[ee],ie=[],oe;oe=ne.pop();)if(ie.push(oe),oe.isExpand){var se=oe.children;if(se.length)for(var le=0;le<se.length;le++)ne.push(se[le])}for(;oe=ie.pop();)te(oe,ae)}function eachBefore(ee,te){for(var ae=[ee],ne;ne=ae.pop();)if(te(ne),ne.isExpand){var ie=ne.children;if(ie.length)for(var oe=ie.length-1;oe>=0;oe--)ae.push(ie[oe])}}function treeLayout(ee,te){ee.eachSeriesByType("tree",function(ae){commonLayout(ae,te)})}function commonLayout(ee,te){var ae=getViewRect$4(ee,te);ee.layoutInfo=ae;var ne=ee.get("layout"),ie=0,oe=0,se=null;ne==="radial"?(ie=2*Math.PI,oe=Math.min(ae.height,ae.width)/2,se=separation(function(be,xe){return(be.parentNode===xe.parentNode?1:2)/be.depth})):(ie=ae.width,oe=ae.height,se=separation());var le=ee.getData().tree.root,ue=le.children[0];if(ue){init(le),eachAfter(ue,firstWalk,se),le.hierNode.modifier=-ue.hierNode.prelim,eachBefore(ue,secondWalk);var ce=ue,de=ue,he=ue;eachBefore(ue,function(be){var xe=be.getLayout().x;xe<ce.getLayout().x&&(ce=be),xe>de.getLayout().x&&(de=be),be.depth>he.depth&&(he=be)});var fe=ce===de?1:se(ce,de)/2,pe=fe-ce.getLayout().x,ve=0,ge=0,me=0,ye=0;if(ne==="radial")ve=ie/(de.getLayout().x+fe+pe),ge=oe/(he.depth-1||1),eachBefore(ue,function(be){me=(be.getLayout().x+pe)*ve,ye=(be.depth-1)*ge;var xe=radialCoordinate(me,ye);be.setLayout({x:xe.x,y:xe.y,rawX:me,rawY:ye},!0)});else{var _e=ee.getOrient();_e==="RL"||_e==="LR"?(ge=oe/(de.getLayout().x+fe+pe),ve=ie/(he.depth-1||1),eachBefore(ue,function(be){ye=(be.getLayout().x+pe)*ge,me=_e==="LR"?(be.depth-1)*ve:ie-(be.depth-1)*ve,be.setLayout({x:me,y:ye},!0)})):(_e==="TB"||_e==="BT")&&(ve=ie/(de.getLayout().x+fe+pe),ge=oe/(he.depth-1||1),eachBefore(ue,function(be){me=(be.getLayout().x+pe)*ve,ye=_e==="TB"?(be.depth-1)*ge:oe-(be.depth-1)*ge,be.setLayout({x:me,y:ye},!0)}))}}}function treeVisual(ee){ee.eachSeriesByType("tree",function(te){var ae=te.getData(),ne=ae.tree;ne.eachNode(function(ie){var oe=ie.getModel(),se=oe.getModel("itemStyle").getItemStyle(),le=ae.ensureUniqueItemVisual(ie.dataIndex,"style");extend$1(le,se)})})}function installTreeAction(ee){ee.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(te,ae){ae.eachComponent({mainType:"series",subType:"tree",query:te},function(ne){var ie=te.dataIndex,oe=ne.getData().tree,se=oe.getNodeByDataIndex(ie);se.isExpand=!se.isExpand})}),ee.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(te,ae,ne){ae.eachComponent({mainType:"series",subType:"tree",query:te},function(ie){var oe=ie.coordinateSystem,se=updateCenterAndZoom(oe,te,void 0,ne);ie.setCenter&&ie.setCenter(se.center),ie.setZoom&&ie.setZoom(se.zoom)})})}function install$H(ee){ee.registerChartView(TreeView$1),ee.registerSeriesModel(TreeSeriesModel$1),ee.registerLayout(treeLayout),ee.registerVisual(treeVisual),installTreeAction(ee)}var actionTypes=["treemapZoomToNode","treemapRender","treemapMove"];function installTreemapAction(ee){for(var te=0;te<actionTypes.length;te++)ee.registerAction({type:actionTypes[te],update:"updateView"},noop$1);ee.registerAction({type:"treemapRootToNode",update:"updateView"},function(ae,ne){ne.eachComponent({mainType:"series",subType:"treemap",query:ae},ie);function ie(oe,se){var le=["treemapZoomToNode","treemapRootToNode"],ue=retrieveTargetInfo(ae,le,oe);if(ue){var ce=oe.getViewRoot();ce&&(ae.direction=aboveViewRoot(ce,ue.node)?"rollUp":"drillDown"),oe.resetViewRoot(ue.node)}}})}function enableAriaDecalForTree(ee){var te=ee.getData(),ae=te.tree,ne={};ae.eachNode(function(ie){for(var oe=ie;oe&&oe.depth>1;)oe=oe.parentNode;var se=getDecalFromPalette(ee.ecModel,oe.name||oe.dataIndex+"",ne);ie.setVisual("decal",se)})}var TreemapSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.preventUsingHoverLayer=!0,ae}return te.prototype.getInitialData=function(ae,ne){var ie={name:ae.name,children:ae.data};completeTreeValue$1(ie);var oe=ae.levels||[],se=this.designatedVisualItemStyle={},le=new Model$1({itemStyle:se},this,ne);oe=ae.levels=setDefault(oe,ne);var ue=map$1(oe||[],function(he){return new Model$1(he,le,ne)},this),ce=Tree$1.createTree(ie,this,de);function de(he){he.wrapMethod("getItemModel",function(fe,pe){var ve=ce.getNodeByDataIndex(pe),ge=ve?ue[ve.depth]:null;return fe.parentModel=ge||le,fe})}return ce.data},te.prototype.optionUpdated=function(){this.resetViewRoot()},te.prototype.formatTooltip=function(ae,ne,ie){var oe=this.getData(),se=this.getRawValue(ae),le=oe.getName(ae);return createTooltipMarkup("nameValue",{name:le,value:se})},te.prototype.getDataParams=function(ae){var ne=ee.prototype.getDataParams.apply(this,arguments),ie=this.getData().tree.getNodeByDataIndex(ae);return ne.treeAncestors=wrapTreePathInfo(ie,this),ne.treePathInfo=ne.treeAncestors,ne},te.prototype.setLayoutInfo=function(ae){this.layoutInfo=this.layoutInfo||{},extend$1(this.layoutInfo,ae)},te.prototype.mapIdToIndex=function(ae){var ne=this._idIndexMap;ne||(ne=this._idIndexMap=createHashMap(),this._idIndexMapCount=0);var ie=ne.get(ae);return ie==null&&ne.set(ae,ie=this._idIndexMapCount++),ie},te.prototype.getViewRoot=function(){return this._viewRoot},te.prototype.resetViewRoot=function(ae){ae?this._viewRoot=ae:ae=this._viewRoot;var ne=this.getRawData().tree.root;(!ae||ae!==ne&&!ne.contains(ae))&&(this._viewRoot=ne)},te.prototype.enableAriaDecal=function(){enableAriaDecalForTree(this)},te.type="series.treemap",te.layoutMode="box",te.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},te}(SeriesModel$1);function completeTreeValue$1(ee){var te=0;each$f(ee.children,function(ne){completeTreeValue$1(ne);var ie=ne.value;isArray$2(ie)&&(ie=ie[0]),te+=ie});var ae=ee.value;isArray$2(ae)&&(ae=ae[0]),(ae==null||isNaN(ae))&&(ae=te),ae<0&&(ae=0),isArray$2(ee.value)?ee.value[0]=ae:ee.value=ae}function setDefault(ee,te){var ae=normalizeToArray(te.get("color")),ne=normalizeToArray(te.get(["aria","decal","decals"]));if(ae){ee=ee||[];var ie,oe;each$f(ee,function(le){var ue=new Model$1(le),ce=ue.get("color"),de=ue.get("decal");(ue.get(["itemStyle","color"])||ce&&ce!=="none")&&(ie=!0),(ue.get(["itemStyle","decal"])||de&&de!=="none")&&(oe=!0)});var se=ee[0]||(ee[0]={});return ie||(se.color=ae.slice()),!oe&&ne&&(se.decal=ne.slice()),ee}}const TreemapSeriesModel$1=TreemapSeriesModel;var TEXT_PADDING=8,ITEM_GAP=8,ARRAY_LENGTH=5,Breadcrumb$2=function(){function ee(te){this.group=new Group$4,te.add(this.group)}return ee.prototype.render=function(te,ae,ne,ie){var oe=te.getModel("breadcrumb"),se=this.group;if(se.removeAll(),!(!oe.get("show")||!ne)){var le=oe.getModel("itemStyle"),ue=oe.getModel("emphasis"),ce=le.getModel("textStyle"),de=ue.getModel(["itemStyle","textStyle"]),he={pos:{left:oe.get("left"),right:oe.get("right"),top:oe.get("top"),bottom:oe.get("bottom")},box:{width:ae.getWidth(),height:ae.getHeight()},emptyItemWidth:oe.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(ne,he,ce),this._renderContent(te,he,le,ue,ce,de,ie),positionElement(se,he.pos,he.box)}},ee.prototype._prepare=function(te,ae,ne){for(var ie=te;ie;ie=ie.parentNode){var oe=convertOptionIdName(ie.getModel().get("name"),""),se=ne.getTextRect(oe),le=Math.max(se.width+TEXT_PADDING*2,ae.emptyItemWidth);ae.totalWidth+=le+ITEM_GAP,ae.renderList.push({node:ie,text:oe,width:le})}},ee.prototype._renderContent=function(te,ae,ne,ie,oe,se,le){for(var ue=0,ce=ae.emptyItemWidth,de=te.get(["breadcrumb","height"]),he=getAvailableSize(ae.pos,ae.box),fe=ae.totalWidth,pe=ae.renderList,ve=ie.getModel("itemStyle").getItemStyle(),ge=pe.length-1;ge>=0;ge--){var me=pe[ge],ye=me.node,_e=me.width,be=me.text;fe>he.width&&(fe-=_e-ce,_e=ce,be=null);var xe=new Polygon$1({shape:{points:makeItemPoints(ue,0,_e,de,ge===pe.length-1,ge===0)},style:defaults$2(ne.getItemStyle(),{lineJoin:"bevel"}),textContent:new ZRText$1({style:createTextStyle$1(oe,{text:be})}),textConfig:{position:"inside"},z2:Z2_EMPHASIS_LIFT*1e4,onclick:curry$1(le,ye)});xe.disableLabelAnimation=!0,xe.getTextContent().ensureState("emphasis").style=createTextStyle$1(se,{text:be}),xe.ensureState("emphasis").style=ve,toggleHoverEmphasis(xe,ie.get("focus"),ie.get("blurScope"),ie.get("disabled")),this.group.add(xe),packEventData(xe,te,ye),ue+=_e+ITEM_GAP}},ee.prototype.remove=function(){this.group.removeAll()},ee}();function makeItemPoints(ee,te,ae,ne,ie,oe){var se=[[ie?ee:ee-ARRAY_LENGTH,te],[ee+ae,te],[ee+ae,te+ne],[ie?ee:ee-ARRAY_LENGTH,te+ne]];return!oe&&se.splice(2,0,[ee+ae+ARRAY_LENGTH,te+ne/2]),!ie&&se.push([ee,te+ne/2]),se}function packEventData(ee,te,ae){getECData(ee).eventData={componentType:"series",componentSubType:"treemap",componentIndex:te.componentIndex,seriesIndex:te.seriesIndex,seriesName:te.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:ae&&ae.dataIndex,name:ae&&ae.name},treePathInfo:ae&&wrapTreePathInfo(ae,te)}}const Breadcrumb$3=Breadcrumb$2;var AnimationWrap=function(){function ee(){this._storage=[],this._elExistsMap={}}return ee.prototype.add=function(te,ae,ne,ie,oe){return this._elExistsMap[te.id]?!1:(this._elExistsMap[te.id]=!0,this._storage.push({el:te,target:ae,duration:ne,delay:ie,easing:oe}),!0)},ee.prototype.finished=function(te){return this._finishedCallback=te,this},ee.prototype.start=function(){for(var te=this,ae=this._storage.length,ne=function(){ae--,ae<=0&&(te._storage.length=0,te._elExistsMap={},te._finishedCallback&&te._finishedCallback())},ie=0,oe=this._storage.length;ie<oe;ie++){var se=this._storage[ie];se.el.animateTo(se.target,{duration:se.duration,delay:se.delay,easing:se.easing,setToFinal:!0,done:ne,aborted:ne})}return this},ee}();function createWrap(){return new AnimationWrap}var Group$2=Group$4,Rect$1=Rect$3,DRAG_THRESHOLD=3,PATH_LABEL_NOAMAL="label",PATH_UPPERLABEL_NORMAL="upperLabel",Z2_BASE=Z2_EMPHASIS_LIFT*10,Z2_BG=Z2_EMPHASIS_LIFT*2,Z2_CONTENT=Z2_EMPHASIS_LIFT*3,getStateItemStyle=makeStyleMapper([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),getItemStyleNormal=function(ee){var te=getStateItemStyle(ee);return te.stroke=te.fill=te.lineWidth=null,te},inner$d=makeInner(),TreemapView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._state="ready",ae._storage=createStorage(),ae}return te.prototype.render=function(ae,ne,ie,oe){var se=ne.findComponents({mainType:"series",subType:"treemap",query:oe});if(!(indexOf(se,ae)<0)){this.seriesModel=ae,this.api=ie,this.ecModel=ne;var le=["treemapZoomToNode","treemapRootToNode"],ue=retrieveTargetInfo(oe,le,ae),ce=oe&&oe.type,de=ae.layoutInfo,he=!this._oldTree,fe=this._storage,pe=ce==="treemapRootToNode"&&ue&&fe?{rootNodeGroup:fe.nodeGroup[ue.node.getRawIndex()],direction:oe.direction}:null,ve=this._giveContainerGroup(de),ge=ae.get("animation"),me=this._doRender(ve,ae,pe);ge&&!he&&(!ce||ce==="treemapZoomToNode"||ce==="treemapRootToNode")?this._doAnimation(ve,me,ae,pe):me.renderFinally(),this._resetController(ie),this._renderBreadcrumb(ae,ie,ue)}},te.prototype._giveContainerGroup=function(ae){var ne=this._containerGroup;return ne||(ne=this._containerGroup=new Group$2,this._initEvents(ne),this.group.add(ne)),ne.x=ae.x,ne.y=ae.y,ne},te.prototype._doRender=function(ae,ne,ie){var oe=ne.getData().tree,se=this._oldTree,le=createStorage(),ue=createStorage(),ce=this._storage,de=[];function he(me,ye,_e,be){return renderNode(ne,ue,ce,ie,le,de,me,ye,_e,be)}pe(oe.root?[oe.root]:[],se&&se.root?[se.root]:[],ae,oe===se||!se,0);var fe=ve(ce);return this._oldTree=oe,this._storage=ue,{lastsForAnimation:le,willDeleteEls:fe,renderFinally:ge};function pe(me,ye,_e,be,xe){be?(ye=me,each$f(me,function(we,Ae){!we.isRemoved()&&Se(Ae,Ae)})):new DataDiffer$1(ye,me,$e,$e).add(Se).update(Se).remove(curry$1(Se,null)).execute();function $e(we){return we.getId()}function Se(we,Ae){var Te=we!=null?me[we]:null,De=Ae!=null?ye[Ae]:null,Me=he(Te,De,_e,xe);Me&&pe(Te&&Te.viewChildren||[],De&&De.viewChildren||[],Me,be,xe+1)}}function ve(me){var ye=createStorage();return me&&each$f(me,function(_e,be){var xe=ye[be];each$f(_e,function($e){$e&&(xe.push($e),inner$d($e).willDelete=!0)})}),ye}function ge(){each$f(fe,function(me){each$f(me,function(ye){ye.parent&&ye.parent.remove(ye)})}),each$f(de,function(me){me.invisible=!0,me.dirty()})}},te.prototype._doAnimation=function(ae,ne,ie,oe){var se=ie.get("animationDurationUpdate"),le=ie.get("animationEasing"),ue=(isFunction$1(se)?0:se)||0,ce=(isFunction$1(le)?null:le)||"cubicOut",de=createWrap();each$f(ne.willDeleteEls,function(he,fe){each$f(he,function(pe,ve){if(!pe.invisible){var ge=pe.parent,me,ye=inner$d(ge);if(oe&&oe.direction==="drillDown")me=ge===oe.rootNodeGroup?{shape:{x:0,y:0,width:ye.nodeWidth,height:ye.nodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var _e=0,be=0;ye.willDelete||(_e=ye.nodeWidth/2,be=ye.nodeHeight/2),me=fe==="nodeGroup"?{x:_e,y:be,style:{opacity:0}}:{shape:{x:_e,y:be,width:0,height:0},style:{opacity:0}}}me&&de.add(pe,me,ue,0,ce)}})}),each$f(this._storage,function(he,fe){each$f(he,function(pe,ve){var ge=ne.lastsForAnimation[fe][ve],me={};ge&&(pe instanceof Group$4?ge.oldX!=null&&(me.x=pe.x,me.y=pe.y,pe.x=ge.oldX,pe.y=ge.oldY):(ge.oldShape&&(me.shape=extend$1({},pe.shape),pe.setShape(ge.oldShape)),ge.fadein?(pe.setStyle("opacity",0),me.style={opacity:1}):pe.style.opacity!==1&&(me.style={opacity:1})),de.add(pe,me,ue,0,ce))})},this),this._state="animating",de.finished(bind$2(function(){this._state="ready",ne.renderFinally()},this)).start()},te.prototype._resetController=function(ae){var ne=this._controller;ne||(ne=this._controller=new RoamController$1(ae.getZr()),ne.enable(this.seriesModel.get("roam")),ne.on("pan",bind$2(this._onPan,this)),ne.on("zoom",bind$2(this._onZoom,this)));var ie=new BoundingRect$1(0,0,ae.getWidth(),ae.getHeight());ne.setPointerChecker(function(oe,se,le){return ie.contain(se,le)})},te.prototype._clearController=function(){var ae=this._controller;ae&&(ae.dispose(),ae=null)},te.prototype._onPan=function(ae){if(this._state!=="animating"&&(Math.abs(ae.dx)>DRAG_THRESHOLD||Math.abs(ae.dy)>DRAG_THRESHOLD)){var ne=this.seriesModel.getData().tree.root;if(!ne)return;var ie=ne.getLayout();if(!ie)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:ie.x+ae.dx,y:ie.y+ae.dy,width:ie.width,height:ie.height}})}},te.prototype._onZoom=function(ae){var ne=ae.originX,ie=ae.originY;if(this._state!=="animating"){var oe=this.seriesModel.getData().tree.root;if(!oe)return;var se=oe.getLayout();if(!se)return;var le=new BoundingRect$1(se.x,se.y,se.width,se.height),ue=this.seriesModel.layoutInfo;ne-=ue.x,ie-=ue.y;var ce=create$1();translate(ce,ce,[-ne,-ie]),scale$1(ce,ce,[ae.scale,ae.scale]),translate(ce,ce,[ne,ie]),le.applyTransform(ce),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:le.x,y:le.y,width:le.width,height:le.height}})}},te.prototype._initEvents=function(ae){var ne=this;ae.on("click",function(ie){if(ne._state==="ready"){var oe=ne.seriesModel.get("nodeClick",!0);if(oe){var se=ne.findTarget(ie.offsetX,ie.offsetY);if(se){var le=se.node;if(le.getLayout().isLeafRoot)ne._rootToNode(se);else if(oe==="zoomToNode")ne._zoomToNode(se);else if(oe==="link"){var ue=le.hostTree.data.getItemModel(le.dataIndex),ce=ue.get("link",!0),de=ue.get("target",!0)||"blank";ce&&windowOpen(ce,de)}}}}},this)},te.prototype._renderBreadcrumb=function(ae,ne,ie){var oe=this;ie||(ie=ae.get("leafDepth",!0)!=null?{node:ae.getViewRoot()}:this.findTarget(ne.getWidth()/2,ne.getHeight()/2),ie||(ie={node:ae.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new Breadcrumb$3(this.group))).render(ae,ne,ie.node,function(se){oe._state!=="animating"&&(aboveViewRoot(ae.getViewRoot(),se)?oe._rootToNode({node:se}):oe._zoomToNode({node:se}))})},te.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=createStorage(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},te.prototype.dispose=function(){this._clearController()},te.prototype._zoomToNode=function(ae){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:ae.node})},te.prototype._rootToNode=function(ae){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:ae.node})},te.prototype.findTarget=function(ae,ne){var ie,oe=this.seriesModel.getViewRoot();return oe.eachNode({attr:"viewChildren",order:"preorder"},function(se){var le=this._storage.background[se.getRawIndex()];if(le){var ue=le.transformCoordToLocal(ae,ne),ce=le.shape;if(ce.x<=ue[0]&&ue[0]<=ce.x+ce.width&&ce.y<=ue[1]&&ue[1]<=ce.y+ce.height)ie={node:se,offsetX:ue[0],offsetY:ue[1]};else return!1}},this),ie},te.type="treemap",te}(ChartView$1);function createStorage(){return{nodeGroup:[],background:[],content:[]}}function renderNode(ee,te,ae,ne,ie,oe,se,le,ue,ce){if(!se)return;var de=se.getLayout(),he=ee.getData(),fe=se.getModel();if(he.setItemGraphicEl(se.dataIndex,null),!de||!de.isInView)return;var pe=de.width,ve=de.height,ge=de.borderWidth,me=de.invisible,ye=se.getRawIndex(),_e=le&&le.getRawIndex(),be=se.viewChildren,xe=de.upperHeight,$e=be&&be.length,Se=fe.getModel("itemStyle"),we=fe.getModel(["emphasis","itemStyle"]),Ae=fe.getModel(["blur","itemStyle"]),Te=fe.getModel(["select","itemStyle"]),De=Se.get("borderRadius")||0,Me=Ge("nodeGroup",Group$2);if(!Me)return;if(ue.add(Me),Me.x=de.x||0,Me.y=de.y||0,Me.markRedraw(),inner$d(Me).nodeWidth=pe,inner$d(Me).nodeHeight=ve,de.isAboveViewRoot)return Me;var Ie=Ge("background",Rect$1,ce,Z2_BG);Ie&&He(Me,Ie,$e&&de.upperLabelHeight);var Ce=fe.getModel("emphasis"),Ee=Ce.get("focus"),Re=Ce.get("blurScope"),ke=Ce.get("disabled"),Be=Ee==="ancestor"?se.getAncestorsIndices():Ee==="descendant"?se.getDescendantIndices():Ee;if($e)isHighDownDispatcher(Me)&&setAsHighDownDispatcher(Me,!1),Ie&&(setAsHighDownDispatcher(Ie,!ke),he.setItemGraphicEl(se.dataIndex,Ie),enableHoverFocus(Ie,Be,Re));else{var Ne=Ge("content",Rect$1,ce,Z2_CONTENT);Ne&&qe(Me,Ne),Ie.disableMorphing=!0,Ie&&isHighDownDispatcher(Ie)&&setAsHighDownDispatcher(Ie,!1),setAsHighDownDispatcher(Me,!ke),he.setItemGraphicEl(se.dataIndex,Me),enableHoverFocus(Me,Be,Re)}return Me;function He(Ye,Ze,Xe){var it=getECData(Ze);if(it.dataIndex=se.dataIndex,it.seriesIndex=ee.seriesIndex,Ze.setShape({x:0,y:0,width:pe,height:ve,r:De}),me)Oe(Ze);else{Ze.invisible=!1;var at=se.getVisual("style"),ut=at.stroke,dt=getItemStyleNormal(Se);dt.fill=ut;var pt=getStateItemStyle(we);pt.fill=we.get("borderColor");var gt=getStateItemStyle(Ae);gt.fill=Ae.get("borderColor");var bt=getStateItemStyle(Te);if(bt.fill=Te.get("borderColor"),Xe){var Tt=pe-2*ge;ze(Ze,ut,at.opacity,{x:ge,y:0,width:Tt,height:xe})}else Ze.removeTextContent();Ze.setStyle(dt),Ze.ensureState("emphasis").style=pt,Ze.ensureState("blur").style=gt,Ze.ensureState("select").style=bt,setDefaultStateProxy(Ze)}Ye.add(Ze)}function qe(Ye,Ze){var Xe=getECData(Ze);Xe.dataIndex=se.dataIndex,Xe.seriesIndex=ee.seriesIndex;var it=Math.max(pe-2*ge,0),at=Math.max(ve-2*ge,0);if(Ze.culling=!0,Ze.setShape({x:ge,y:ge,width:it,height:at,r:De}),me)Oe(Ze);else{Ze.invisible=!1;var ut=se.getVisual("style"),dt=ut.fill,pt=getItemStyleNormal(Se);pt.fill=dt,pt.decal=ut.decal;var gt=getStateItemStyle(we),bt=getStateItemStyle(Ae),Tt=getStateItemStyle(Te);ze(Ze,dt,ut.opacity,null),Ze.setStyle(pt),Ze.ensureState("emphasis").style=gt,Ze.ensureState("blur").style=bt,Ze.ensureState("select").style=Tt,setDefaultStateProxy(Ze)}Ye.add(Ze)}function Oe(Ye){!Ye.invisible&&oe.push(Ye)}function ze(Ye,Ze,Xe,it){var at=fe.getModel(it?PATH_UPPERLABEL_NORMAL:PATH_LABEL_NOAMAL),ut=convertOptionIdName(fe.get("name"),null),dt=at.getShallow("show");setLabelStyle(Ye,getLabelStatesModels(fe,it?PATH_UPPERLABEL_NORMAL:PATH_LABEL_NOAMAL),{defaultText:dt?ut:null,inheritColor:Ze,defaultOpacity:Xe,labelFetcher:ee,labelDataIndex:se.dataIndex});var pt=Ye.getTextContent();if(pt){var gt=pt.style,bt=normalizeCssArray$1(gt.padding||0);it&&(Ye.setTextConfig({layoutRect:it}),pt.disableLabelLayout=!0),pt.beforeUpdate=function(){var At=Math.max((it?it.width:Ye.shape.width)-bt[1]-bt[3],0),Mt=Math.max((it?it.height:Ye.shape.height)-bt[0]-bt[2],0);(gt.width!==At||gt.height!==Mt)&&pt.setStyle({width:At,height:Mt})},gt.truncateMinChar=2,gt.lineOverflow="truncate",Ve(gt,it,de);var Tt=pt.getState("emphasis");Ve(Tt?Tt.style:null,it,de)}}function Ve(Ye,Ze,Xe){var it=Ye?Ye.text:null;if(!Ze&&Xe.isLeafRoot&&it!=null){var at=ee.get("drillDownIcon",!0);Ye.text=at?at+" "+it:it}}function Ge(Ye,Ze,Xe,it){var at=_e!=null&&ae[Ye][_e],ut=ie[Ye];return at?(ae[Ye][_e]=null,We(ut,at)):me||(at=new Ze,at instanceof Displayable$1&&(at.z2=calculateZ2(Xe,it)),Ue(ut,at)),te[Ye][ye]=at}function We(Ye,Ze){var Xe=Ye[ye]={};Ze instanceof Group$2?(Xe.oldX=Ze.x,Xe.oldY=Ze.y):Xe.oldShape=extend$1({},Ze.shape)}function Ue(Ye,Ze){var Xe=Ye[ye]={},it=se.parentNode,at=Ze instanceof Group$4;if(it&&(!ne||ne.direction==="drillDown")){var ut=0,dt=0,pt=ie.background[it.getRawIndex()];!ne&&pt&&pt.oldShape&&(ut=pt.oldShape.width,dt=pt.oldShape.height),at?(Xe.oldX=0,Xe.oldY=dt):Xe.oldShape={x:ut,y:dt,width:0,height:0}}Xe.fadein=!at}}function calculateZ2(ee,te){return ee*Z2_BASE+te}const TreemapView$1=TreemapView;var each$c=each$f,isObject$1=isObject$4,CATEGORY_DEFAULT_VISUAL_INDEX=-1,VisualMapping=function(){function ee(te){var ae=te.mappingMethod,ne=te.type,ie=this.option=clone$4(te);this.type=ne,this.mappingMethod=ae,this._normalizeData=normalizers[ae];var oe=ee.visualHandlers[ne];this.applyVisual=oe.applyVisual,this.getColorMapper=oe.getColorMapper,this._normalizedToVisual=oe._normalizedToVisual[ae],ae==="piecewise"?(normalizeVisualRange(ie),preprocessForPiecewise(ie)):ae==="category"?ie.categories?preprocessForSpecifiedCategory(ie):normalizeVisualRange(ie,!0):(assert(ae!=="linear"||ie.dataExtent),normalizeVisualRange(ie))}return ee.prototype.mapValueToVisual=function(te){var ae=this._normalizeData(te);return this._normalizedToVisual(ae,te)},ee.prototype.getNormalizer=function(){return bind$2(this._normalizeData,this)},ee.listVisualTypes=function(){return keys(ee.visualHandlers)},ee.isValidType=function(te){return ee.visualHandlers.hasOwnProperty(te)},ee.eachVisual=function(te,ae,ne){isObject$4(te)?each$f(te,ae,ne):ae.call(ne,te)},ee.mapVisual=function(te,ae,ne){var ie,oe=isArray$2(te)?[]:isObject$4(te)?{}:(ie=!0,null);return ee.eachVisual(te,function(se,le){var ue=ae.call(ne,se,le);ie?oe=ue:oe[le]=ue}),oe},ee.retrieveVisuals=function(te){var ae={},ne;return te&&each$c(ee.visualHandlers,function(ie,oe){te.hasOwnProperty(oe)&&(ae[oe]=te[oe],ne=!0)}),ne?ae:null},ee.prepareVisualTypes=function(te){if(isArray$2(te))te=te.slice();else if(isObject$1(te)){var ae=[];each$c(te,function(ne,ie){ae.push(ie)}),te=ae}else return[];return te.sort(function(ne,ie){return ie==="color"&&ne!=="color"&&ne.indexOf("color")===0?1:-1}),te},ee.dependsOn=function(te,ae){return ae==="color"?!!(te&&te.indexOf(ae)===0):te===ae},ee.findPieceIndex=function(te,ae,ne){for(var ie,oe=1/0,se=0,le=ae.length;se<le;se++){var ue=ae[se].value;if(ue!=null){if(ue===te||isString$1(ue)&&ue===te+"")return se;ne&&fe(ue,se)}}for(var se=0,le=ae.length;se<le;se++){var ce=ae[se],de=ce.interval,he=ce.close;if(de){if(de[0]===-1/0){if(littleThan(he[1],te,de[1]))return se}else if(de[1]===1/0){if(littleThan(he[0],de[0],te))return se}else if(littleThan(he[0],de[0],te)&&littleThan(he[1],te,de[1]))return se;ne&&fe(de[0],se),ne&&fe(de[1],se)}}if(ne)return te===1/0?ae.length-1:te===-1/0?0:ie;function fe(pe,ve){var ge=Math.abs(pe-te);ge<oe&&(oe=ge,ie=ve)}},ee.visualHandlers={color:{applyVisual:makeApplyVisual("color"),getColorMapper:function(){var te=this.option;return bind$2(te.mappingMethod==="category"?function(ae,ne){return!ne&&(ae=this._normalizeData(ae)),doMapCategory.call(this,ae)}:function(ae,ne,ie){var oe=!!ie;return!ne&&(ae=this._normalizeData(ae)),ie=fastLerp(ae,te.parsedVisual,ie),oe?ie:stringify(ie,"rgba")},this)},_normalizedToVisual:{linear:function(te){return stringify(fastLerp(te,this.option.parsedVisual),"rgba")},category:doMapCategory,piecewise:function(te,ae){var ne=getSpecifiedVisual.call(this,ae);return ne==null&&(ne=stringify(fastLerp(te,this.option.parsedVisual),"rgba")),ne},fixed:doMapFixed}},colorHue:makePartialColorVisualHandler(function(te,ae){return modifyHSL(te,ae)}),colorSaturation:makePartialColorVisualHandler(function(te,ae){return modifyHSL(te,null,ae)}),colorLightness:makePartialColorVisualHandler(function(te,ae){return modifyHSL(te,null,null,ae)}),colorAlpha:makePartialColorVisualHandler(function(te,ae){return modifyAlpha(te,ae)}),decal:{applyVisual:makeApplyVisual("decal"),_normalizedToVisual:{linear:null,category:doMapCategory,piecewise:null,fixed:null}},opacity:{applyVisual:makeApplyVisual("opacity"),_normalizedToVisual:createNormalizedToNumericVisual([0,1])},liftZ:{applyVisual:makeApplyVisual("liftZ"),_normalizedToVisual:{linear:doMapFixed,category:doMapFixed,piecewise:doMapFixed,fixed:doMapFixed}},symbol:{applyVisual:function(te,ae,ne){var ie=this.mapValueToVisual(te);ne("symbol",ie)},_normalizedToVisual:{linear:doMapToArray,category:doMapCategory,piecewise:function(te,ae){var ne=getSpecifiedVisual.call(this,ae);return ne==null&&(ne=doMapToArray.call(this,te)),ne},fixed:doMapFixed}},symbolSize:{applyVisual:makeApplyVisual("symbolSize"),_normalizedToVisual:createNormalizedToNumericVisual([0,1])}},ee}();function preprocessForPiecewise(ee){var te=ee.pieceList;ee.hasSpecialVisual=!1,each$f(te,function(ae,ne){ae.originIndex=ne,ae.visual!=null&&(ee.hasSpecialVisual=!0)})}function preprocessForSpecifiedCategory(ee){var te=ee.categories,ae=ee.categoryMap={},ne=ee.visual;if(each$c(te,function(se,le){ae[se]=le}),!isArray$2(ne)){var ie=[];isObject$4(ne)?each$c(ne,function(se,le){var ue=ae[le];ie[ue??CATEGORY_DEFAULT_VISUAL_INDEX]=se}):ie[CATEGORY_DEFAULT_VISUAL_INDEX]=ne,ne=setVisualToOption(ee,ie)}for(var oe=te.length-1;oe>=0;oe--)ne[oe]==null&&(delete ae[te[oe]],te.pop())}function normalizeVisualRange(ee,te){var ae=ee.visual,ne=[];isObject$4(ae)?each$c(ae,function(oe){ne.push(oe)}):ae!=null&&ne.push(ae);var ie={color:1,symbol:1};!te&&ne.length===1&&!ie.hasOwnProperty(ee.type)&&(ne[1]=ne[0]),setVisualToOption(ee,ne)}function makePartialColorVisualHandler(ee){return{applyVisual:function(te,ae,ne){var ie=this.mapValueToVisual(te);ne("color",ee(ae("color"),ie))},_normalizedToVisual:createNormalizedToNumericVisual([0,1])}}function doMapToArray(ee){var te=this.option.visual;return te[Math.round(linearMap$2(ee,[0,1],[0,te.length-1],!0))]||{}}function makeApplyVisual(ee){return function(te,ae,ne){ne(ee,this.mapValueToVisual(te))}}function doMapCategory(ee){var te=this.option.visual;return te[this.option.loop&&ee!==CATEGORY_DEFAULT_VISUAL_INDEX?ee%te.length:ee]}function doMapFixed(){return this.option.visual[0]}function createNormalizedToNumericVisual(ee){return{linear:function(te){return linearMap$2(te,ee,this.option.visual,!0)},category:doMapCategory,piecewise:function(te,ae){var ne=getSpecifiedVisual.call(this,ae);return ne==null&&(ne=linearMap$2(te,ee,this.option.visual,!0)),ne},fixed:doMapFixed}}function getSpecifiedVisual(ee){var te=this.option,ae=te.pieceList;if(te.hasSpecialVisual){var ne=VisualMapping.findPieceIndex(ee,ae),ie=ae[ne];if(ie&&ie.visual)return ie.visual[this.type]}}function setVisualToOption(ee,te){return ee.visual=te,ee.type==="color"&&(ee.parsedVisual=map$1(te,function(ae){var ne=parse$1(ae);return ne||[0,0,0,1]})),te}var normalizers={linear:function(ee){return linearMap$2(ee,this.option.dataExtent,[0,1],!0)},piecewise:function(ee){var te=this.option.pieceList,ae=VisualMapping.findPieceIndex(ee,te,!0);if(ae!=null)return linearMap$2(ae,[0,te.length-1],[0,1],!0)},category:function(ee){var te=this.option.categories?this.option.categoryMap[ee]:ee;return te??CATEGORY_DEFAULT_VISUAL_INDEX},fixed:noop$1};function littleThan(ee,te,ae){return ee?te<=ae:te<ae}const VisualMapping$1=VisualMapping;var ITEM_STYLE_NORMAL="itemStyle",inner$c=makeInner();const treemapVisual={seriesType:"treemap",reset:function(ee){var te=ee.getData().tree,ae=te.root;ae.isRemoved()||travelTree(ae,{},ee.getViewRoot().getAncestors(),ee)}};function travelTree(ee,te,ae,ne){var ie=ee.getModel(),oe=ee.getLayout(),se=ee.hostTree.data;if(!(!oe||oe.invisible||!oe.isInView)){var le=ie.getModel(ITEM_STYLE_NORMAL),ue=buildVisuals(le,te,ne),ce=se.ensureUniqueItemVisual(ee.dataIndex,"style"),de=le.get("borderColor"),he=le.get("borderColorSaturation"),fe;he!=null&&(fe=calculateColor(ue),de=calculateBorderColor(he,fe)),ce.stroke=de;var pe=ee.viewChildren;if(!pe||!pe.length)fe=calculateColor(ue),ce.fill=fe;else{var ve=buildVisualMapping(ee,ie,oe,le,ue,pe);each$f(pe,function(ge,me){if(ge.depth>=ae.length||ge===ae[ge.depth]){var ye=mapVisual$1(ie,ue,ge,me,ve,ne);travelTree(ge,ye,ae,ne)}})}}}function buildVisuals(ee,te,ae){var ne=extend$1({},te),ie=ae.designatedVisualItemStyle;return each$f(["color","colorAlpha","colorSaturation"],function(oe){ie[oe]=te[oe];var se=ee.get(oe);ie[oe]=null,se!=null&&(ne[oe]=se)}),ne}function calculateColor(ee){var te=getValueVisualDefine(ee,"color");if(te){var ae=getValueVisualDefine(ee,"colorAlpha"),ne=getValueVisualDefine(ee,"colorSaturation");return ne&&(te=modifyHSL(te,null,null,ne)),ae&&(te=modifyAlpha(te,ae)),te}}function calculateBorderColor(ee,te){return te!=null?modifyHSL(te,null,null,ee):null}function getValueVisualDefine(ee,te){var ae=ee[te];if(ae!=null&&ae!=="none")return ae}function buildVisualMapping(ee,te,ae,ne,ie,oe){if(!(!oe||!oe.length)){var se=getRangeVisual(te,"color")||ie.color!=null&&ie.color!=="none"&&(getRangeVisual(te,"colorAlpha")||getRangeVisual(te,"colorSaturation"));if(se){var le=te.get("visualMin"),ue=te.get("visualMax"),ce=ae.dataExtent.slice();le!=null&&le<ce[0]&&(ce[0]=le),ue!=null&&ue>ce[1]&&(ce[1]=ue);var de=te.get("colorMappingBy"),he={type:se.name,dataExtent:ce,visual:se.range};he.type==="color"&&(de==="index"||de==="id")?(he.mappingMethod="category",he.loop=!0):he.mappingMethod="linear";var fe=new VisualMapping$1(he);return inner$c(fe).drColorMappingBy=de,fe}}}function getRangeVisual(ee,te){var ae=ee.get(te);return isArray$2(ae)&&ae.length?{name:te,range:ae}:null}function mapVisual$1(ee,te,ae,ne,ie,oe){var se=extend$1({},te);if(ie){var le=ie.type,ue=le==="color"&&inner$c(ie).drColorMappingBy,ce=ue==="index"?ne:ue==="id"?oe.mapIdToIndex(ae.getId()):ae.getValue(ee.get("visualDimension"));se[le]=ie.mapValueToVisual(ce)}return se}var mathMax$3=Math.max,mathMin$3=Math.min,retrieveValue=retrieve,each$b=each$f,PATH_BORDER_WIDTH=["itemStyle","borderWidth"],PATH_GAP_WIDTH=["itemStyle","gapWidth"],PATH_UPPER_LABEL_SHOW=["upperLabel","show"],PATH_UPPER_LABEL_HEIGHT=["upperLabel","height"];const treemapLayout={seriesType:"treemap",reset:function(ee,te,ae,ne){var ie=ae.getWidth(),oe=ae.getHeight(),se=ee.option,le=getLayoutRect(ee.getBoxLayoutParams(),{width:ae.getWidth(),height:ae.getHeight()}),ue=se.size||[],ce=parsePercent(retrieveValue(le.width,ue[0]),ie),de=parsePercent(retrieveValue(le.height,ue[1]),oe),he=ne&&ne.type,fe=["treemapZoomToNode","treemapRootToNode"],pe=retrieveTargetInfo(ne,fe,ee),ve=he==="treemapRender"||he==="treemapMove"?ne.rootRect:null,ge=ee.getViewRoot(),me=getPathToRoot(ge);if(he!=="treemapMove"){var ye=he==="treemapZoomToNode"?estimateRootSize(ee,pe,ge,ce,de):ve?[ve.width,ve.height]:[ce,de],_e=se.sort;_e&&_e!=="asc"&&_e!=="desc"&&(_e="desc");var be={squareRatio:se.squareRatio,sort:_e,leafDepth:se.leafDepth};ge.hostTree.clearLayouts();var xe={x:0,y:0,width:ye[0],height:ye[1],area:ye[0]*ye[1]};ge.setLayout(xe),squarify(ge,be,!1,0),xe=ge.getLayout(),each$b(me,function(Se,we){var Ae=(me[we+1]||ge).getValue();Se.setLayout(extend$1({dataExtent:[Ae,Ae],borderWidth:0,upperHeight:0},xe))})}var $e=ee.getData().tree.root;$e.setLayout(calculateRootPosition(le,ve,pe),!0),ee.setLayoutInfo(le),prunning($e,new BoundingRect$1(-le.x,-le.y,ie,oe),me,ge,0)}};function squarify(ee,te,ae,ne){var ie,oe;if(!ee.isRemoved()){var se=ee.getLayout();ie=se.width,oe=se.height;var le=ee.getModel(),ue=le.get(PATH_BORDER_WIDTH),ce=le.get(PATH_GAP_WIDTH)/2,de=getUpperLabelHeight(le),he=Math.max(ue,de),fe=ue-ce,pe=he-ce;ee.setLayout({borderWidth:ue,upperHeight:he,upperLabelHeight:de},!0),ie=mathMax$3(ie-2*fe,0),oe=mathMax$3(oe-fe-pe,0);var ve=ie*oe,ge=initChildren$1(ee,le,ve,te,ae,ne);if(ge.length){var me={x:fe,y:pe,width:ie,height:oe},ye=mathMin$3(ie,oe),_e=1/0,be=[];be.area=0;for(var xe=0,$e=ge.length;xe<$e;){var Se=ge[xe];be.push(Se),be.area+=Se.getLayout().area;var we=worst(be,ye,te.squareRatio);we<=_e?(xe++,_e=we):(be.area-=be.pop().getLayout().area,position(be,ye,me,ce,!1),ye=mathMin$3(me.width,me.height),be.length=be.area=0,_e=1/0)}if(be.length&&position(be,ye,me,ce,!0),!ae){var Ae=le.get("childrenVisibleMin");Ae!=null&&ve<Ae&&(ae=!0)}for(var xe=0,$e=ge.length;xe<$e;xe++)squarify(ge[xe],te,ae,ne+1)}}}function initChildren$1(ee,te,ae,ne,ie,oe){var se=ee.children||[],le=ne.sort;le!=="asc"&&le!=="desc"&&(le=null);var ue=ne.leafDepth!=null&&ne.leafDepth<=oe;if(ie&&!ue)return ee.viewChildren=[];se=filter(se,function(pe){return!pe.isRemoved()}),sort$1(se,le);var ce=statistic(te,se,le);if(ce.sum===0)return ee.viewChildren=[];if(ce.sum=filterByThreshold(te,ae,ce.sum,le,se),ce.sum===0)return ee.viewChildren=[];for(var de=0,he=se.length;de<he;de++){var fe=se[de].getValue()/ce.sum*ae;se[de].setLayout({area:fe})}return ue&&(se.length&&ee.setLayout({isLeafRoot:!0},!0),se.length=0),ee.viewChildren=se,ee.setLayout({dataExtent:ce.dataExtent},!0),se}function filterByThreshold(ee,te,ae,ne,ie){if(!ne)return ae;for(var oe=ee.get("visibleMin"),se=ie.length,le=se,ue=se-1;ue>=0;ue--){var ce=ie[ne==="asc"?se-ue-1:ue].getValue();ce/ae*te<oe&&(le=ue,ae-=ce)}return ne==="asc"?ie.splice(0,se-le):ie.splice(le,se-le),ae}function sort$1(ee,te){return te&&ee.sort(function(ae,ne){var ie=te==="asc"?ae.getValue()-ne.getValue():ne.getValue()-ae.getValue();return ie===0?te==="asc"?ae.dataIndex-ne.dataIndex:ne.dataIndex-ae.dataIndex:ie}),ee}function statistic(ee,te,ae){for(var ne=0,ie=0,oe=te.length;ie<oe;ie++)ne+=te[ie].getValue();var se=ee.get("visualDimension"),le;return!te||!te.length?le=[NaN,NaN]:se==="value"&&ae?(le=[te[te.length-1].getValue(),te[0].getValue()],ae==="asc"&&le.reverse()):(le=[1/0,-1/0],each$b(te,function(ue){var ce=ue.getValue(se);ce<le[0]&&(le[0]=ce),ce>le[1]&&(le[1]=ce)})),{sum:ne,dataExtent:le}}function worst(ee,te,ae){for(var ne=0,ie=1/0,oe=0,se=void 0,le=ee.length;oe<le;oe++)se=ee[oe].getLayout().area,se&&(se<ie&&(ie=se),se>ne&&(ne=se));var ue=ee.area*ee.area,ce=te*te*ae;return ue?mathMax$3(ce*ne/ue,ue/(ce*ie)):1/0}function position(ee,te,ae,ne,ie){var oe=te===ae.width?0:1,se=1-oe,le=["x","y"],ue=["width","height"],ce=ae[le[oe]],de=te?ee.area/te:0;(ie||de>ae[ue[se]])&&(de=ae[ue[se]]);for(var he=0,fe=ee.length;he<fe;he++){var pe=ee[he],ve={},ge=de?pe.getLayout().area/de:0,me=ve[ue[se]]=mathMax$3(de-2*ne,0),ye=ae[le[oe]]+ae[ue[oe]]-ce,_e=he===fe-1||ye<ge?ye:ge,be=ve[ue[oe]]=mathMax$3(_e-2*ne,0);ve[le[se]]=ae[le[se]]+mathMin$3(ne,me/2),ve[le[oe]]=ce+mathMin$3(ne,be/2),ce+=_e,pe.setLayout(ve,!0)}ae[le[se]]+=de,ae[ue[se]]-=de}function estimateRootSize(ee,te,ae,ne,ie){var oe=(te||{}).node,se=[ne,ie];if(!oe||oe===ae)return se;for(var le,ue=ne*ie,ce=ue*ee.option.zoomToNodeRatio;le=oe.parentNode;){for(var de=0,he=le.children,fe=0,pe=he.length;fe<pe;fe++)de+=he[fe].getValue();var ve=oe.getValue();if(ve===0)return se;ce*=de/ve;var ge=le.getModel(),me=ge.get(PATH_BORDER_WIDTH),ye=Math.max(me,getUpperLabelHeight(ge));ce+=4*me*me+(3*me+ye)*Math.pow(ce,.5),ce>MAX_SAFE_INTEGER&&(ce=MAX_SAFE_INTEGER),oe=le}ce<ue&&(ce=ue);var _e=Math.pow(ce/ue,.5);return[ne*_e,ie*_e]}function calculateRootPosition(ee,te,ae){if(te)return{x:te.x,y:te.y};var ne={x:0,y:0};if(!ae)return ne;var ie=ae.node,oe=ie.getLayout();if(!oe)return ne;for(var se=[oe.width/2,oe.height/2],le=ie;le;){var ue=le.getLayout();se[0]+=ue.x,se[1]+=ue.y,le=le.parentNode}return{x:ee.width/2-se[0],y:ee.height/2-se[1]}}function prunning(ee,te,ae,ne,ie){var oe=ee.getLayout(),se=ae[ie],le=se&&se===ee;if(!(se&&!le||ie===ae.length&&ee!==ne)){ee.setLayout({isInView:!0,invisible:!le&&!te.intersect(oe),isAboveViewRoot:le},!0);var ue=new BoundingRect$1(te.x-oe.x,te.y-oe.y,te.width,te.height);each$b(ee.viewChildren||[],function(ce){prunning(ce,ue,ae,ne,ie+1)})}}function getUpperLabelHeight(ee){return ee.get(PATH_UPPER_LABEL_SHOW)?ee.get(PATH_UPPER_LABEL_HEIGHT):0}function install$G(ee){ee.registerSeriesModel(TreemapSeriesModel$1),ee.registerChartView(TreemapView$1),ee.registerVisual(treemapVisual),ee.registerLayout(treemapLayout),installTreemapAction(ee)}function categoryFilter(ee){var te=ee.findComponents({mainType:"legend"});!te||!te.length||ee.eachSeriesByType("graph",function(ae){var ne=ae.getCategoriesData(),ie=ae.getGraph(),oe=ie.data,se=ne.mapArray(ne.getName);oe.filterSelf(function(le){var ue=oe.getItemModel(le),ce=ue.getShallow("category");if(ce!=null){isNumber$1(ce)&&(ce=se[ce]);for(var de=0;de<te.length;de++)if(!te[de].isSelected(ce))return!1}return!0})})}function categoryVisual(ee){var te={};ee.eachSeriesByType("graph",function(ae){var ne=ae.getCategoriesData(),ie=ae.getData(),oe={};ne.each(function(se){var le=ne.getName(se);oe["ec-"+le]=se;var ue=ne.getItemModel(se),ce=ue.getModel("itemStyle").getItemStyle();ce.fill||(ce.fill=ae.getColorFromPalette(le,te)),ne.setItemVisual(se,"style",ce);for(var de=["symbol","symbolSize","symbolKeepAspect"],he=0;he<de.length;he++){var fe=ue.getShallow(de[he],!0);fe!=null&&ne.setItemVisual(se,de[he],fe)}}),ne.count()&&ie.each(function(se){var le=ie.getItemModel(se),ue=le.getShallow("category");if(ue!=null){isString$1(ue)&&(ue=oe["ec-"+ue]);var ce=ne.getItemVisual(ue,"style"),de=ie.ensureUniqueItemVisual(se,"style");extend$1(de,ce);for(var he=["symbol","symbolSize","symbolKeepAspect"],fe=0;fe<he.length;fe++)ie.setItemVisual(se,he[fe],ne.getItemVisual(ue,he[fe]))}})})}function normalize$1(ee){return ee instanceof Array||(ee=[ee,ee]),ee}function graphEdgeVisual(ee){ee.eachSeriesByType("graph",function(te){var ae=te.getGraph(),ne=te.getEdgeData(),ie=normalize$1(te.get("edgeSymbol")),oe=normalize$1(te.get("edgeSymbolSize"));ne.setVisual("fromSymbol",ie&&ie[0]),ne.setVisual("toSymbol",ie&&ie[1]),ne.setVisual("fromSymbolSize",oe&&oe[0]),ne.setVisual("toSymbolSize",oe&&oe[1]),ne.setVisual("style",te.getModel("lineStyle").getLineStyle()),ne.each(function(se){var le=ne.getItemModel(se),ue=ae.getEdgeByIndex(se),ce=normalize$1(le.getShallow("symbol",!0)),de=normalize$1(le.getShallow("symbolSize",!0)),he=le.getModel("lineStyle").getLineStyle(),fe=ne.ensureUniqueItemVisual(se,"style");switch(extend$1(fe,he),fe.stroke){case"source":{var pe=ue.node1.getVisual("style");fe.stroke=pe&&pe.fill;break}case"target":{var pe=ue.node2.getVisual("style");fe.stroke=pe&&pe.fill;break}}ce[0]&&ue.setVisual("fromSymbol",ce[0]),ce[1]&&ue.setVisual("toSymbol",ce[1]),de[0]&&ue.setVisual("fromSymbolSize",de[0]),de[1]&&ue.setVisual("toSymbolSize",de[1])})})}var KEY_DELIMITER="-->",getAutoCurvenessParams=function(ee){return ee.get("autoCurveness")||null},createCurveness=function(ee,te){var ae=getAutoCurvenessParams(ee),ne=20,ie=[];if(isNumber$1(ae))ne=ae;else if(isArray$2(ae)){ee.__curvenessList=ae;return}te>ne&&(ne=te);var oe=ne%2?ne+2:ne+3;ie=[];for(var se=0;se<oe;se++)ie.push((se%2?se+1:se)/10*(se%2?-1:1));ee.__curvenessList=ie},getKeyOfEdges=function(ee,te,ae){var ne=[ee.id,ee.dataIndex].join("."),ie=[te.id,te.dataIndex].join(".");return[ae.uid,ne,ie].join(KEY_DELIMITER)},getOppositeKey=function(ee){var te=ee.split(KEY_DELIMITER);return[te[0],te[2],te[1]].join(KEY_DELIMITER)},getEdgeFromMap=function(ee,te){var ae=getKeyOfEdges(ee.node1,ee.node2,te);return te.__edgeMap[ae]},getTotalLengthBetweenNodes=function(ee,te){var ae=getEdgeMapLengthWithKey(getKeyOfEdges(ee.node1,ee.node2,te),te),ne=getEdgeMapLengthWithKey(getKeyOfEdges(ee.node2,ee.node1,te),te);return ae+ne},getEdgeMapLengthWithKey=function(ee,te){var ae=te.__edgeMap;return ae[ee]?ae[ee].length:0};function initCurvenessList(ee){getAutoCurvenessParams(ee)&&(ee.__curvenessList=[],ee.__edgeMap={},createCurveness(ee))}function createEdgeMapForCurveness(ee,te,ae,ne){if(getAutoCurvenessParams(ae)){var ie=getKeyOfEdges(ee,te,ae),oe=ae.__edgeMap,se=oe[getOppositeKey(ie)];oe[ie]&&!se?oe[ie].isForward=!0:se&&oe[ie]&&(se.isForward=!0,oe[ie].isForward=!1),oe[ie]=oe[ie]||[],oe[ie].push(ne)}}function getCurvenessForEdge(ee,te,ae,ne){var ie=getAutoCurvenessParams(te),oe=isArray$2(ie);if(!ie)return null;var se=getEdgeFromMap(ee,te);if(!se)return null;for(var le=-1,ue=0;ue<se.length;ue++)if(se[ue]===ae){le=ue;break}var ce=getTotalLengthBetweenNodes(ee,te);createCurveness(te,ce),ee.lineStyle=ee.lineStyle||{};var de=getKeyOfEdges(ee.node1,ee.node2,te),he=te.__curvenessList,fe=oe||ce%2?0:1;if(se.isForward)return he[fe+le];var pe=getOppositeKey(de),ve=getEdgeMapLengthWithKey(pe,te),ge=he[le+ve+fe];return ne?oe?ie&&ie[0]===0?(ve+fe)%2?ge:-ge:((ve%2?0:1)+fe)%2?ge:-ge:(ve+fe)%2?ge:-ge:he[le+ve+fe]}function simpleLayout(ee){var te=ee.coordinateSystem;if(!(te&&te.type!=="view")){var ae=ee.getGraph();ae.eachNode(function(ne){var ie=ne.getModel();ne.setLayout([+ie.get("x"),+ie.get("y")])}),simpleLayoutEdge(ae,ee)}}function simpleLayoutEdge(ee,te){ee.eachEdge(function(ae,ne){var ie=retrieve3(ae.getModel().get(["lineStyle","curveness"]),-getCurvenessForEdge(ae,te,ne,!0),0),oe=clone$3(ae.node1.getLayout()),se=clone$3(ae.node2.getLayout()),le=[oe,se];+ie&&le.push([(oe[0]+se[0])/2-(oe[1]-se[1])*ie,(oe[1]+se[1])/2-(se[0]-oe[0])*ie]),ae.setLayout(le)})}function graphSimpleLayout(ee,te){ee.eachSeriesByType("graph",function(ae){var ne=ae.get("layout"),ie=ae.coordinateSystem;if(ie&&ie.type!=="view"){var oe=ae.getData(),se=[];each$f(ie.dimensions,function(fe){se=se.concat(oe.mapDimensionsAll(fe))});for(var le=0;le<oe.count();le++){for(var ue=[],ce=!1,de=0;de<se.length;de++){var he=oe.get(se[de],le);isNaN(he)||(ce=!0),ue.push(he)}ce?oe.setItemLayout(le,ie.dataToPoint(ue)):oe.setItemLayout(le,[NaN,NaN])}simpleLayoutEdge(oe.graph,ae)}else(!ne||ne==="none")&&simpleLayout(ae)})}function getNodeGlobalScale(ee){var te=ee.coordinateSystem;if(te.type!=="view")return 1;var ae=ee.option.nodeScaleRatio,ne=te.scaleX,ie=te.getZoom(),oe=(ie-1)*ae+1;return oe/ne}function getSymbolSize(ee){var te=ee.getVisual("symbolSize");return te instanceof Array&&(te=(te[0]+te[1])/2),+te}var PI$2=Math.PI,_symbolRadiansHalf=[];function circularLayout(ee,te,ae,ne){var ie=ee.coordinateSystem;if(!(ie&&ie.type!=="view")){var oe=ie.getBoundingRect(),se=ee.getData(),le=se.graph,ue=oe.width/2+oe.x,ce=oe.height/2+oe.y,de=Math.min(oe.width,oe.height)/2,he=se.count();if(se.setLayout({cx:ue,cy:ce}),!!he){if(ae){var fe=ie.pointToData(ne),pe=fe[0],ve=fe[1],ge=[pe-ue,ve-ce];normalize$3(ge,ge),scale$2(ge,ge,de),ae.setLayout([ue+ge[0],ce+ge[1]],!0);var me=ee.get(["circular","rotateLabel"]);rotateNodeLabel(ae,me,ue,ce)}_layoutNodesBasedOn[te](ee,le,se,de,ue,ce,he),le.eachEdge(function(ye,_e){var be=retrieve3(ye.getModel().get(["lineStyle","curveness"]),getCurvenessForEdge(ye,ee,_e),0),xe=clone$3(ye.node1.getLayout()),$e=clone$3(ye.node2.getLayout()),Se,we=(xe[0]+$e[0])/2,Ae=(xe[1]+$e[1])/2;+be&&(be*=3,Se=[ue*be+we*(1-be),ce*be+Ae*(1-be)]),ye.setLayout([xe,$e,Se])})}}}var _layoutNodesBasedOn={value:function(ee,te,ae,ne,ie,oe,se){var le=0,ue=ae.getSum("value"),ce=Math.PI*2/(ue||se);te.eachNode(function(de){var he=de.getValue("value"),fe=ce*(ue?he:1)/2;le+=fe,de.setLayout([ne*Math.cos(le)+ie,ne*Math.sin(le)+oe]),le+=fe})},symbolSize:function(ee,te,ae,ne,ie,oe,se){var le=0;_symbolRadiansHalf.length=se;var ue=getNodeGlobalScale(ee);te.eachNode(function(he){var fe=getSymbolSize(he);isNaN(fe)&&(fe=2),fe<0&&(fe=0),fe*=ue;var pe=Math.asin(fe/2/ne);isNaN(pe)&&(pe=PI$2/2),_symbolRadiansHalf[he.dataIndex]=pe,le+=pe*2});var ce=(2*PI$2-le)/se/2,de=0;te.eachNode(function(he){var fe=ce+_symbolRadiansHalf[he.dataIndex];de+=fe,(!he.getLayout()||!he.getLayout().fixed)&&he.setLayout([ne*Math.cos(de)+ie,ne*Math.sin(de)+oe]),de+=fe})}};function rotateNodeLabel(ee,te,ae,ne){var ie=ee.getGraphicEl();if(ie){var oe=ee.getModel(),se=oe.get(["label","rotate"])||0,le=ie.getSymbolPath();if(te){var ue=ee.getLayout(),ce=Math.atan2(ue[1]-ne,ue[0]-ae);ce<0&&(ce=Math.PI*2+ce);var de=ue[0]<ae;de&&(ce=ce-Math.PI);var he=de?"left":"right";le.setTextConfig({rotation:-ce,position:he,origin:"center"});var fe=le.ensureState("emphasis");extend$1(fe.textConfig||(fe.textConfig={}),{position:he})}else le.setTextConfig({rotation:se*=Math.PI/180})}}function graphCircularLayout(ee){ee.eachSeriesByType("graph",function(te){te.get("layout")==="circular"&&circularLayout(te,"symbolSize")})}var scaleAndAdd=scaleAndAdd$1;function forceLayout(ee,te,ae){for(var ne=ee,ie=te,oe=ae.rect,se=oe.width,le=oe.height,ue=[oe.x+se/2,oe.y+le/2],ce=ae.gravity==null?.1:ae.gravity,de=0;de<ne.length;de++){var he=ne[de];he.p||(he.p=create$2(se*(Math.random()-.5)+ue[0],le*(Math.random()-.5)+ue[1])),he.pp=clone$3(he.p),he.edges=null}var fe=ae.friction==null?.6:ae.friction,pe=fe,ve,ge;return{warmUp:function(){pe=fe*.8},setFixed:function(me){ne[me].fixed=!0},setUnfixed:function(me){ne[me].fixed=!1},beforeStep:function(me){ve=me},afterStep:function(me){ge=me},step:function(me){ve&&ve(ne,ie);for(var ye=[],_e=ne.length,be=0;be<ie.length;be++){var xe=ie[be];if(!xe.ignoreForceLayout){var $e=xe.n1,Se=xe.n2;sub(ye,Se.p,$e.p);var we=len(ye)-xe.d,Ae=Se.w/($e.w+Se.w);isNaN(Ae)&&(Ae=0),normalize$3(ye,ye),!$e.fixed&&scaleAndAdd($e.p,$e.p,ye,Ae*we*pe),!Se.fixed&&scaleAndAdd(Se.p,Se.p,ye,-(1-Ae)*we*pe)}}for(var be=0;be<_e;be++){var Te=ne[be];Te.fixed||(sub(ye,ue,Te.p),scaleAndAdd(Te.p,Te.p,ye,ce*pe))}for(var be=0;be<_e;be++)for(var $e=ne[be],De=be+1;De<_e;De++){var Se=ne[De];sub(ye,Se.p,$e.p);var we=len(ye);we===0&&(set$1(ye,Math.random()-.5,Math.random()-.5),we=1);var Me=($e.rep+Se.rep)/we/we;!$e.fixed&&scaleAndAdd($e.pp,$e.pp,ye,Me),!Se.fixed&&scaleAndAdd(Se.pp,Se.pp,ye,-Me)}for(var Ie=[],be=0;be<_e;be++){var Te=ne[be];Te.fixed||(sub(Ie,Te.p,Te.pp),scaleAndAdd(Te.p,Te.p,Ie,pe),copy$1(Te.pp,Te.p))}pe=pe*.992;var Ce=pe<.01;ge&&ge(ne,ie,Ce),me&&me(Ce)}}}function graphForceLayout(ee){ee.eachSeriesByType("graph",function(te){var ae=te.coordinateSystem;if(!(ae&&ae.type!=="view"))if(te.get("layout")==="force"){var ne=te.preservedPoints||{},ie=te.getGraph(),oe=ie.data,se=ie.edgeData,le=te.getModel("force"),ue=le.get("initLayout");te.preservedPoints?oe.each(function(be){var xe=oe.getId(be);oe.setItemLayout(be,ne[xe]||[NaN,NaN])}):!ue||ue==="none"?simpleLayout(te):ue==="circular"&&circularLayout(te,"value");var ce=oe.getDataExtent("value"),de=se.getDataExtent("value"),he=le.get("repulsion"),fe=le.get("edgeLength"),pe=isArray$2(he)?he:[he,he],ve=isArray$2(fe)?fe:[fe,fe];ve=[ve[1],ve[0]];var ge=oe.mapArray("value",function(be,xe){var $e=oe.getItemLayout(xe),Se=linearMap$2(be,ce,pe);return isNaN(Se)&&(Se=(pe[0]+pe[1])/2),{w:Se,rep:Se,fixed:oe.getItemModel(xe).get("fixed"),p:!$e||isNaN($e[0])||isNaN($e[1])?null:$e}}),me=se.mapArray("value",function(be,xe){var $e=ie.getEdgeByIndex(xe),Se=linearMap$2(be,de,ve);isNaN(Se)&&(Se=(ve[0]+ve[1])/2);var we=$e.getModel(),Ae=retrieve3($e.getModel().get(["lineStyle","curveness"]),-getCurvenessForEdge($e,te,xe,!0),0);return{n1:ge[$e.node1.dataIndex],n2:ge[$e.node2.dataIndex],d:Se,curveness:Ae,ignoreForceLayout:we.get("ignoreForceLayout")}}),ye=ae.getBoundingRect(),_e=forceLayout(ge,me,{rect:ye,gravity:le.get("gravity"),friction:le.get("friction")});_e.beforeStep(function(be,xe){for(var $e=0,Se=be.length;$e<Se;$e++)be[$e].fixed&&copy$1(be[$e].p,ie.getNodeByIndex($e).getLayout())}),_e.afterStep(function(be,xe,$e){for(var Se=0,we=be.length;Se<we;Se++)be[Se].fixed||ie.getNodeByIndex(Se).setLayout(be[Se].p),ne[oe.getId(Se)]=be[Se].p;for(var Se=0,we=xe.length;Se<we;Se++){var Ae=xe[Se],Te=ie.getEdgeByIndex(Se),De=Ae.n1.p,Me=Ae.n2.p,Ie=Te.getLayout();Ie=Ie?Ie.slice():[],Ie[0]=Ie[0]||[],Ie[1]=Ie[1]||[],copy$1(Ie[0],De),copy$1(Ie[1],Me),+Ae.curveness&&(Ie[2]=[(De[0]+Me[0])/2-(De[1]-Me[1])*Ae.curveness,(De[1]+Me[1])/2-(Me[0]-De[0])*Ae.curveness]),Te.setLayout(Ie)}}),te.forceLayout=_e,te.preservedPoints=ne,_e.step()}else te.forceLayout=null})}function getViewRect$3(ee,te,ae){var ne=extend$1(ee.getBoxLayoutParams(),{aspect:ae});return getLayoutRect(ne,{width:te.getWidth(),height:te.getHeight()})}function createViewCoordSys(ee,te){var ae=[];return ee.eachSeriesByType("graph",function(ne){var ie=ne.get("coordinateSystem");if(!ie||ie==="view"){var oe=ne.getData(),se=oe.mapArray(function(me){var ye=oe.getItemModel(me);return[+ye.get("x"),+ye.get("y")]}),le=[],ue=[];fromPoints(se,le,ue),ue[0]-le[0]===0&&(ue[0]+=1,le[0]-=1),ue[1]-le[1]===0&&(ue[1]+=1,le[1]-=1);var ce=(ue[0]-le[0])/(ue[1]-le[1]),de=getViewRect$3(ne,te,ce);isNaN(ce)&&(le=[de.x,de.y],ue=[de.x+de.width,de.y+de.height]);var he=ue[0]-le[0],fe=ue[1]-le[1],pe=de.width,ve=de.height,ge=ne.coordinateSystem=new View$1;ge.zoomLimit=ne.get("scaleLimit"),ge.setBoundingRect(le[0],le[1],he,fe),ge.setViewRect(de.x,de.y,pe,ve),ge.setCenter(ne.get("center"),te),ge.setZoom(ne.get("zoom")),ae.push(ge)}}),ae}var straightLineProto=Line$3.prototype,bezierCurveProto=BezierCurve$1.prototype,StraightLineShape=function(){function ee(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1}return ee}();(function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te})(StraightLineShape);function isStraightLine(ee){return isNaN(+ee.cpx1)||isNaN(+ee.cpy1)}var ECLinePath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="ec-line",ne}return te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new StraightLineShape},te.prototype.buildPath=function(ae,ne){isStraightLine(ne)?straightLineProto.buildPath.call(this,ae,ne):bezierCurveProto.buildPath.call(this,ae,ne)},te.prototype.pointAt=function(ae){return isStraightLine(this.shape)?straightLineProto.pointAt.call(this,ae):bezierCurveProto.pointAt.call(this,ae)},te.prototype.tangentAt=function(ae){var ne=this.shape,ie=isStraightLine(ne)?[ne.x2-ne.x1,ne.y2-ne.y1]:bezierCurveProto.tangentAt.call(this,ae);return normalize$3(ie,ie)},te}(Path$1);const ECLinePath$1=ECLinePath;var SYMBOL_CATEGORIES=["fromSymbol","toSymbol"];function makeSymbolTypeKey(ee){return"_"+ee+"Type"}function makeSymbolTypeValue(ee,te,ae){var ne=te.getItemVisual(ae,ee);if(!ne||ne==="none")return ne;var ie=te.getItemVisual(ae,ee+"Size"),oe=te.getItemVisual(ae,ee+"Rotate"),se=te.getItemVisual(ae,ee+"Offset"),le=te.getItemVisual(ae,ee+"KeepAspect"),ue=normalizeSymbolSize(ie),ce=normalizeSymbolOffset(se||0,ue);return ne+ue+ce+(oe||"")+(le||"")}function createSymbol(ee,te,ae){var ne=te.getItemVisual(ae,ee);if(!(!ne||ne==="none")){var ie=te.getItemVisual(ae,ee+"Size"),oe=te.getItemVisual(ae,ee+"Rotate"),se=te.getItemVisual(ae,ee+"Offset"),le=te.getItemVisual(ae,ee+"KeepAspect"),ue=normalizeSymbolSize(ie),ce=normalizeSymbolOffset(se||0,ue),de=createSymbol$1(ne,-ue[0]/2+ce[0],-ue[1]/2+ce[1],ue[0],ue[1],null,le);return de.__specifiedRotation=oe==null||isNaN(oe)?void 0:+oe*Math.PI/180||0,de.name=ee,de}}function createLine(ee){var te=new ECLinePath$1({name:"line",subPixelOptimize:!0});return setLinePoints(te.shape,ee),te}function setLinePoints(ee,te){ee.x1=te[0][0],ee.y1=te[0][1],ee.x2=te[1][0],ee.y2=te[1][1],ee.percent=1;var ae=te[2];ae?(ee.cpx1=ae[0],ee.cpy1=ae[1]):(ee.cpx1=NaN,ee.cpy1=NaN)}var Line=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this)||this;return oe._createLine(ae,ne,ie),oe}return te.prototype._createLine=function(ae,ne,ie){var oe=ae.hostModel,se=ae.getItemLayout(ne),le=createLine(se);le.shape.percent=0,initProps(le,{shape:{percent:1}},oe,ne),this.add(le),each$f(SYMBOL_CATEGORIES,function(ue){var ce=createSymbol(ue,ae,ne);this.add(ce),this[makeSymbolTypeKey(ue)]=makeSymbolTypeValue(ue,ae,ne)},this),this._updateCommonStl(ae,ne,ie)},te.prototype.updateData=function(ae,ne,ie){var oe=ae.hostModel,se=this.childOfName("line"),le=ae.getItemLayout(ne),ue={shape:{}};setLinePoints(ue.shape,le),updateProps$1(se,ue,oe,ne),each$f(SYMBOL_CATEGORIES,function(ce){var de=makeSymbolTypeValue(ce,ae,ne),he=makeSymbolTypeKey(ce);if(this[he]!==de){this.remove(this.childOfName(ce));var fe=createSymbol(ce,ae,ne);this.add(fe)}this[he]=de},this),this._updateCommonStl(ae,ne,ie)},te.prototype.getLinePath=function(){return this.childAt(0)},te.prototype._updateCommonStl=function(ae,ne,ie){var oe=ae.hostModel,se=this.childOfName("line"),le=ie&&ie.emphasisLineStyle,ue=ie&&ie.blurLineStyle,ce=ie&&ie.selectLineStyle,de=ie&&ie.labelStatesModels,he=ie&&ie.emphasisDisabled,fe=ie&&ie.focus,pe=ie&&ie.blurScope;if(!ie||ae.hasItemOption){var ve=ae.getItemModel(ne),ge=ve.getModel("emphasis");le=ge.getModel("lineStyle").getLineStyle(),ue=ve.getModel(["blur","lineStyle"]).getLineStyle(),ce=ve.getModel(["select","lineStyle"]).getLineStyle(),he=ge.get("disabled"),fe=ge.get("focus"),pe=ge.get("blurScope"),de=getLabelStatesModels(ve)}var me=ae.getItemVisual(ne,"style"),ye=me.stroke;se.useStyle(me),se.style.fill=null,se.style.strokeNoScale=!0,se.ensureState("emphasis").style=le,se.ensureState("blur").style=ue,se.ensureState("select").style=ce,each$f(SYMBOL_CATEGORIES,function(Se){var we=this.childOfName(Se);if(we){we.setColor(ye),we.style.opacity=me.opacity;for(var Ae=0;Ae<SPECIAL_STATES.length;Ae++){var Te=SPECIAL_STATES[Ae],De=se.getState(Te);if(De){var Me=De.style||{},Ie=we.ensureState(Te),Ce=Ie.style||(Ie.style={});Me.stroke!=null&&(Ce[we.__isEmptyBrush?"stroke":"fill"]=Me.stroke),Me.opacity!=null&&(Ce.opacity=Me.opacity)}}we.markRedraw()}},this);var _e=oe.getRawValue(ne);setLabelStyle(this,de,{labelDataIndex:ne,labelFetcher:{getFormattedLabel:function(Se,we){return oe.getFormattedLabel(Se,we,ae.dataType)}},inheritColor:ye||"#000",defaultOpacity:me.opacity,defaultText:(_e==null?ae.getName(ne):isFinite(_e)?round$3(_e):_e)+""});var be=this.getTextContent();if(be){var xe=de.normal;be.__align=be.style.align,be.__verticalAlign=be.style.verticalAlign,be.__position=xe.get("position")||"middle";var $e=xe.get("distance");isArray$2($e)||($e=[$e,$e]),be.__labelDistance=$e}this.setTextConfig({position:null,local:!0,inside:!1}),toggleHoverEmphasis(this,fe,pe,he)},te.prototype.highlight=function(){enterEmphasis(this)},te.prototype.downplay=function(){leaveEmphasis(this)},te.prototype.updateLayout=function(ae,ne){this.setLinePoints(ae.getItemLayout(ne))},te.prototype.setLinePoints=function(ae){var ne=this.childOfName("line");setLinePoints(ne.shape,ae),ne.dirty()},te.prototype.beforeUpdate=function(){var ae=this,ne=ae.childOfName("fromSymbol"),ie=ae.childOfName("toSymbol"),oe=ae.getTextContent();if(!ne&&!ie&&(!oe||oe.ignore))return;for(var se=1,le=this.parent;le;)le.scaleX&&(se/=le.scaleX),le=le.parent;var ue=ae.childOfName("line");if(!this.__dirty&&!ue.__dirty)return;var ce=ue.shape.percent,de=ue.pointAt(0),he=ue.pointAt(ce),fe=sub([],he,de);normalize$3(fe,fe);function pe(De,Me){var Ie=De.__specifiedRotation;if(Ie==null){var Ce=ue.tangentAt(Me);De.attr("rotation",(Me===1?-1:1)*Math.PI/2-Math.atan2(Ce[1],Ce[0]))}else De.attr("rotation",Ie)}if(ne&&(ne.setPosition(de),pe(ne,0),ne.scaleX=ne.scaleY=se*ce,ne.markRedraw()),ie&&(ie.setPosition(he),pe(ie,1),ie.scaleX=ie.scaleY=se*ce,ie.markRedraw()),oe&&!oe.ignore){oe.x=oe.y=0,oe.originX=oe.originY=0;var ve=void 0,ge=void 0,me=oe.__labelDistance,ye=me[0]*se,_e=me[1]*se,be=ce/2,xe=ue.tangentAt(be),$e=[xe[1],-xe[0]],Se=ue.pointAt(be);$e[1]>0&&($e[0]=-$e[0],$e[1]=-$e[1]);var we=xe[0]<0?-1:1;if(oe.__position!=="start"&&oe.__position!=="end"){var Ae=-Math.atan2(xe[1],xe[0]);he[0]<de[0]&&(Ae=Math.PI+Ae),oe.rotation=Ae}var Te=void 0;switch(oe.__position){case"insideStartTop":case"insideMiddleTop":case"insideEndTop":case"middle":Te=-_e,ge="bottom";break;case"insideStartBottom":case"insideMiddleBottom":case"insideEndBottom":Te=_e,ge="top";break;default:Te=0,ge="middle"}switch(oe.__position){case"end":oe.x=fe[0]*ye+he[0],oe.y=fe[1]*_e+he[1],ve=fe[0]>.8?"left":fe[0]<-.8?"right":"center",ge=fe[1]>.8?"top":fe[1]<-.8?"bottom":"middle";break;case"start":oe.x=-fe[0]*ye+de[0],oe.y=-fe[1]*_e+de[1],ve=fe[0]>.8?"right":fe[0]<-.8?"left":"center",ge=fe[1]>.8?"bottom":fe[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":oe.x=ye*we+de[0],oe.y=de[1]+Te,ve=xe[0]<0?"right":"left",oe.originX=-ye*we,oe.originY=-Te;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":oe.x=Se[0],oe.y=Se[1]+Te,ve="center",oe.originY=-Te;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":oe.x=-ye*we+he[0],oe.y=he[1]+Te,ve=xe[0]>=0?"right":"left",oe.originX=ye*we,oe.originY=-Te;break}oe.scaleX=oe.scaleY=se,oe.setStyle({verticalAlign:oe.__verticalAlign||ge,align:oe.__align||ve})}},te}(Group$4);const Line$1=Line;var LineDraw=function(){function ee(te){this.group=new Group$4,this._LineCtor=te||Line$1}return ee.prototype.updateData=function(te){var ae=this;this._progressiveEls=null;var ne=this,ie=ne.group,oe=ne._lineData;ne._lineData=te,oe||ie.removeAll();var se=makeSeriesScope$1(te);te.diff(oe).add(function(le){ae._doAdd(te,le,se)}).update(function(le,ue){ae._doUpdate(oe,te,ue,le,se)}).remove(function(le){ie.remove(oe.getItemGraphicEl(le))}).execute()},ee.prototype.updateLayout=function(){var te=this._lineData;te&&te.eachItemGraphicEl(function(ae,ne){ae.updateLayout(te,ne)},this)},ee.prototype.incrementalPrepareUpdate=function(te){this._seriesScope=makeSeriesScope$1(te),this._lineData=null,this.group.removeAll()},ee.prototype.incrementalUpdate=function(te,ae){this._progressiveEls=[];function ne(le){!le.isGroup&&!isEffectObject(le)&&(le.incremental=!0,le.ensureState("emphasis").hoverLayer=!0)}for(var ie=te.start;ie<te.end;ie++){var oe=ae.getItemLayout(ie);if(lineNeedsDraw(oe)){var se=new this._LineCtor(ae,ie,this._seriesScope);se.traverse(ne),this.group.add(se),ae.setItemGraphicEl(ie,se),this._progressiveEls.push(se)}}},ee.prototype.remove=function(){this.group.removeAll()},ee.prototype.eachRendered=function(te){traverseElements(this._progressiveEls||this.group,te)},ee.prototype._doAdd=function(te,ae,ne){var ie=te.getItemLayout(ae);if(lineNeedsDraw(ie)){var oe=new this._LineCtor(te,ae,ne);te.setItemGraphicEl(ae,oe),this.group.add(oe)}},ee.prototype._doUpdate=function(te,ae,ne,ie,oe){var se=te.getItemGraphicEl(ne);if(!lineNeedsDraw(ae.getItemLayout(ie))){this.group.remove(se);return}se?se.updateData(ae,ie,oe):se=new this._LineCtor(ae,ie,oe),ae.setItemGraphicEl(ie,se),this.group.add(se)},ee}();function isEffectObject(ee){return ee.animators&&ee.animators.length>0}function makeSeriesScope$1(ee){var te=ee.hostModel,ae=te.getModel("emphasis");return{lineStyle:te.getModel("lineStyle").getLineStyle(),emphasisLineStyle:ae.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:te.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:te.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:ae.get("disabled"),blurScope:ae.get("blurScope"),focus:ae.get("focus"),labelStatesModels:getLabelStatesModels(te)}}function isPointNaN(ee){return isNaN(ee[0])||isNaN(ee[1])}function lineNeedsDraw(ee){return ee&&!isPointNaN(ee[0])&&!isPointNaN(ee[1])}const LineDraw$1=LineDraw;var v1=[],v2=[],v3=[],quadraticAt=quadraticAt$1,v2DistSquare=distSquare,mathAbs=Math.abs;function intersectCurveCircle(ee,te,ae){for(var ne=ee[0],ie=ee[1],oe=ee[2],se=1/0,le,ue=ae*ae,ce=.1,de=.1;de<=.9;de+=.1){v1[0]=quadraticAt(ne[0],ie[0],oe[0],de),v1[1]=quadraticAt(ne[1],ie[1],oe[1],de);var he=mathAbs(v2DistSquare(v1,te)-ue);he<se&&(se=he,le=de)}for(var fe=0;fe<32;fe++){var pe=le+ce;v2[0]=quadraticAt(ne[0],ie[0],oe[0],le),v2[1]=quadraticAt(ne[1],ie[1],oe[1],le),v3[0]=quadraticAt(ne[0],ie[0],oe[0],pe),v3[1]=quadraticAt(ne[1],ie[1],oe[1],pe);var he=v2DistSquare(v2,te)-ue;if(mathAbs(he)<.01)break;var ve=v2DistSquare(v3,te)-ue;ce/=2,he<0?ve>=0?le=le+ce:le=le-ce:ve>=0?le=le-ce:le=le+ce}return le}function adjustEdge(ee,te){var ae=[],ne=quadraticSubdivide,ie=[[],[],[]],oe=[[],[]],se=[];te/=2,ee.eachEdge(function(le,ue){var ce=le.getLayout(),de=le.getVisual("fromSymbol"),he=le.getVisual("toSymbol");ce.__original||(ce.__original=[clone$3(ce[0]),clone$3(ce[1])],ce[2]&&ce.__original.push(clone$3(ce[2])));var fe=ce.__original;if(ce[2]!=null){if(copy$1(ie[0],fe[0]),copy$1(ie[1],fe[2]),copy$1(ie[2],fe[1]),de&&de!=="none"){var pe=getSymbolSize(le.node1),ve=intersectCurveCircle(ie,fe[0],pe*te);ne(ie[0][0],ie[1][0],ie[2][0],ve,ae),ie[0][0]=ae[3],ie[1][0]=ae[4],ne(ie[0][1],ie[1][1],ie[2][1],ve,ae),ie[0][1]=ae[3],ie[1][1]=ae[4]}if(he&&he!=="none"){var pe=getSymbolSize(le.node2),ve=intersectCurveCircle(ie,fe[1],pe*te);ne(ie[0][0],ie[1][0],ie[2][0],ve,ae),ie[1][0]=ae[1],ie[2][0]=ae[2],ne(ie[0][1],ie[1][1],ie[2][1],ve,ae),ie[1][1]=ae[1],ie[2][1]=ae[2]}copy$1(ce[0],ie[0]),copy$1(ce[1],ie[2]),copy$1(ce[2],ie[1])}else{if(copy$1(oe[0],fe[0]),copy$1(oe[1],fe[1]),sub(se,oe[1],oe[0]),normalize$3(se,se),de&&de!=="none"){var pe=getSymbolSize(le.node1);scaleAndAdd$1(oe[0],oe[0],se,pe*te)}if(he&&he!=="none"){var pe=getSymbolSize(le.node2);scaleAndAdd$1(oe[1],oe[1],se,-pe*te)}copy$1(ce[0],oe[0]),copy$1(ce[1],oe[1])}})}function isViewCoordSys(ee){return ee.type==="view"}var GraphView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne){var ie=new SymbolDraw$1,oe=new LineDraw$1,se=this.group;this._controller=new RoamController$1(ne.getZr()),this._controllerHost={target:se},se.add(ie.group),se.add(oe.group),this._symbolDraw=ie,this._lineDraw=oe,this._firstRender=!0},te.prototype.render=function(ae,ne,ie){var oe=this,se=ae.coordinateSystem;this._model=ae;var le=this._symbolDraw,ue=this._lineDraw,ce=this.group;if(isViewCoordSys(se)){var de={x:se.x,y:se.y,scaleX:se.scaleX,scaleY:se.scaleY};this._firstRender?ce.attr(de):updateProps$1(ce,de,ae)}adjustEdge(ae.getGraph(),getNodeGlobalScale(ae));var he=ae.getData();le.updateData(he);var fe=ae.getEdgeData();ue.updateData(fe),this._updateNodeAndLinkScale(),this._updateController(ae,ne,ie),clearTimeout(this._layoutTimeout);var pe=ae.forceLayout,ve=ae.get(["force","layoutAnimation"]);pe&&this._startForceLayoutIteration(pe,ve);var ge=ae.get("layout");he.graph.eachNode(function(be){var xe=be.dataIndex,$e=be.getGraphicEl(),Se=be.getModel();if($e){$e.off("drag").off("dragend");var we=Se.get("draggable");we&&$e.on("drag",function(Te){switch(ge){case"force":pe.warmUp(),!oe._layouting&&oe._startForceLayoutIteration(pe,ve),pe.setFixed(xe),he.setItemLayout(xe,[$e.x,$e.y]);break;case"circular":he.setItemLayout(xe,[$e.x,$e.y]),be.setLayout({fixed:!0},!0),circularLayout(ae,"symbolSize",be,[Te.offsetX,Te.offsetY]),oe.updateLayout(ae);break;case"none":default:he.setItemLayout(xe,[$e.x,$e.y]),simpleLayoutEdge(ae.getGraph(),ae),oe.updateLayout(ae);break}}).on("dragend",function(){pe&&pe.setUnfixed(xe)}),$e.setDraggable(we,!!Se.get("cursor"));var Ae=Se.get(["emphasis","focus"]);Ae==="adjacency"&&(getECData($e).focus=be.getAdjacentDataIndices())}}),he.graph.eachEdge(function(be){var xe=be.getGraphicEl(),$e=be.getModel().get(["emphasis","focus"]);xe&&$e==="adjacency"&&(getECData(xe).focus={edge:[be.dataIndex],node:[be.node1.dataIndex,be.node2.dataIndex]})});var me=ae.get("layout")==="circular"&&ae.get(["circular","rotateLabel"]),ye=he.getLayout("cx"),_e=he.getLayout("cy");he.graph.eachNode(function(be){rotateNodeLabel(be,me,ye,_e)}),this._firstRender=!1},te.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},te.prototype._startForceLayoutIteration=function(ae,ne){var ie=this;(function oe(){ae.step(function(se){ie.updateLayout(ie._model),(ie._layouting=!se)&&(ne?ie._layoutTimeout=setTimeout(oe,16):oe())})})()},te.prototype._updateController=function(ae,ne,ie){var oe=this,se=this._controller,le=this._controllerHost,ue=this.group;if(se.setPointerChecker(function(ce,de,he){var fe=ue.getBoundingRect();return fe.applyTransform(ue.transform),fe.contain(de,he)&&!onIrrelevantElement(ce,ie,ae)}),!isViewCoordSys(ae.coordinateSystem)){se.disable();return}se.enable(ae.get("roam")),le.zoomLimit=ae.get("scaleLimit"),le.zoom=ae.coordinateSystem.getZoom(),se.off("pan").off("zoom").on("pan",function(ce){updateViewOnPan(le,ce.dx,ce.dy),ie.dispatchAction({seriesId:ae.id,type:"graphRoam",dx:ce.dx,dy:ce.dy})}).on("zoom",function(ce){updateViewOnZoom(le,ce.scale,ce.originX,ce.originY),ie.dispatchAction({seriesId:ae.id,type:"graphRoam",zoom:ce.scale,originX:ce.originX,originY:ce.originY}),oe._updateNodeAndLinkScale(),adjustEdge(ae.getGraph(),getNodeGlobalScale(ae)),oe._lineDraw.updateLayout(),ie.updateLabelLayout()})},te.prototype._updateNodeAndLinkScale=function(){var ae=this._model,ne=ae.getData(),ie=getNodeGlobalScale(ae);ne.eachItemGraphicEl(function(oe,se){oe&&oe.setSymbolScale(ie)})},te.prototype.updateLayout=function(ae){adjustEdge(ae.getGraph(),getNodeGlobalScale(ae)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},te.prototype.remove=function(ae,ne){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},te.type="graph",te}(ChartView$1);const GraphView$1=GraphView;function generateNodeKey(ee){return"_EC_"+ee}var Graph=function(){function ee(te){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=te||!1}return ee.prototype.isDirected=function(){return this._directed},ee.prototype.addNode=function(te,ae){te=te==null?""+ae:""+te;var ne=this._nodesMap;if(!ne[generateNodeKey(te)]){var ie=new GraphNode(te,ae);return ie.hostGraph=this,this.nodes.push(ie),ne[generateNodeKey(te)]=ie,ie}},ee.prototype.getNodeByIndex=function(te){var ae=this.data.getRawIndex(te);return this.nodes[ae]},ee.prototype.getNodeById=function(te){return this._nodesMap[generateNodeKey(te)]},ee.prototype.addEdge=function(te,ae,ne){var ie=this._nodesMap,oe=this._edgesMap;if(isNumber$1(te)&&(te=this.nodes[te]),isNumber$1(ae)&&(ae=this.nodes[ae]),te instanceof GraphNode||(te=ie[generateNodeKey(te)]),ae instanceof GraphNode||(ae=ie[generateNodeKey(ae)]),!(!te||!ae)){var se=te.id+"-"+ae.id,le=new GraphEdge(te,ae,ne);return le.hostGraph=this,this._directed&&(te.outEdges.push(le),ae.inEdges.push(le)),te.edges.push(le),te!==ae&&ae.edges.push(le),this.edges.push(le),oe[se]=le,le}},ee.prototype.getEdgeByIndex=function(te){var ae=this.edgeData.getRawIndex(te);return this.edges[ae]},ee.prototype.getEdge=function(te,ae){te instanceof GraphNode&&(te=te.id),ae instanceof GraphNode&&(ae=ae.id);var ne=this._edgesMap;return this._directed?ne[te+"-"+ae]:ne[te+"-"+ae]||ne[ae+"-"+te]},ee.prototype.eachNode=function(te,ae){for(var ne=this.nodes,ie=ne.length,oe=0;oe<ie;oe++)ne[oe].dataIndex>=0&&te.call(ae,ne[oe],oe)},ee.prototype.eachEdge=function(te,ae){for(var ne=this.edges,ie=ne.length,oe=0;oe<ie;oe++)ne[oe].dataIndex>=0&&ne[oe].node1.dataIndex>=0&&ne[oe].node2.dataIndex>=0&&te.call(ae,ne[oe],oe)},ee.prototype.breadthFirstTraverse=function(te,ae,ne,ie){if(ae instanceof GraphNode||(ae=this._nodesMap[generateNodeKey(ae)]),!!ae){for(var oe=ne==="out"?"outEdges":ne==="in"?"inEdges":"edges",se=0;se<this.nodes.length;se++)this.nodes[se].__visited=!1;if(!te.call(ie,ae,null))for(var le=[ae];le.length;)for(var ue=le.shift(),ce=ue[oe],se=0;se<ce.length;se++){var de=ce[se],he=de.node1===ue?de.node2:de.node1;if(!he.__visited){if(te.call(ie,he,ue))return;le.push(he),he.__visited=!0}}}},ee.prototype.update=function(){for(var te=this.data,ae=this.edgeData,ne=this.nodes,ie=this.edges,oe=0,se=ne.length;oe<se;oe++)ne[oe].dataIndex=-1;for(var oe=0,se=te.count();oe<se;oe++)ne[te.getRawIndex(oe)].dataIndex=oe;ae.filterSelf(function(le){var ue=ie[ae.getRawIndex(le)];return ue.node1.dataIndex>=0&&ue.node2.dataIndex>=0});for(var oe=0,se=ie.length;oe<se;oe++)ie[oe].dataIndex=-1;for(var oe=0,se=ae.count();oe<se;oe++)ie[ae.getRawIndex(oe)].dataIndex=oe},ee.prototype.clone=function(){for(var te=new ee(this._directed),ae=this.nodes,ne=this.edges,ie=0;ie<ae.length;ie++)te.addNode(ae[ie].id,ae[ie].dataIndex);for(var ie=0;ie<ne.length;ie++){var oe=ne[ie];te.addEdge(oe.node1.id,oe.node2.id,oe.dataIndex)}return te},ee}(),GraphNode=function(){function ee(te,ae){this.inEdges=[],this.outEdges=[],this.edges=[],this.dataIndex=-1,this.id=te??"",this.dataIndex=ae??-1}return ee.prototype.degree=function(){return this.edges.length},ee.prototype.inDegree=function(){return this.inEdges.length},ee.prototype.outDegree=function(){return this.outEdges.length},ee.prototype.getModel=function(te){if(!(this.dataIndex<0)){var ae=this.hostGraph,ne=ae.data.getItemModel(this.dataIndex);return ne.getModel(te)}},ee.prototype.getAdjacentDataIndices=function(){for(var te={edge:[],node:[]},ae=0;ae<this.edges.length;ae++){var ne=this.edges[ae];ne.dataIndex<0||(te.edge.push(ne.dataIndex),te.node.push(ne.node1.dataIndex,ne.node2.dataIndex))}return te},ee.prototype.getTrajectoryDataIndices=function(){for(var te=createHashMap(),ae=createHashMap(),ne=0;ne<this.edges.length;ne++){var ie=this.edges[ne];if(!(ie.dataIndex<0)){te.set(ie.dataIndex,!0);for(var oe=[ie.node1],se=[ie.node2],le=0;le<oe.length;){var ue=oe[le];le++,ae.set(ue.dataIndex,!0);for(var ce=0;ce<ue.inEdges.length;ce++)te.set(ue.inEdges[ce].dataIndex,!0),oe.push(ue.inEdges[ce].node1)}for(le=0;le<se.length;){var de=se[le];le++,ae.set(de.dataIndex,!0);for(var ce=0;ce<de.outEdges.length;ce++)te.set(de.outEdges[ce].dataIndex,!0),se.push(de.outEdges[ce].node2)}}}return{edge:te.keys(),node:ae.keys()}},ee}(),GraphEdge=function(){function ee(te,ae,ne){this.dataIndex=-1,this.node1=te,this.node2=ae,this.dataIndex=ne??-1}return ee.prototype.getModel=function(te){if(!(this.dataIndex<0)){var ae=this.hostGraph,ne=ae.edgeData.getItemModel(this.dataIndex);return ne.getModel(te)}},ee.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}},ee.prototype.getTrajectoryDataIndices=function(){var te=createHashMap(),ae=createHashMap();te.set(this.dataIndex,!0);for(var ne=[this.node1],ie=[this.node2],oe=0;oe<ne.length;){var se=ne[oe];oe++,ae.set(se.dataIndex,!0);for(var le=0;le<se.inEdges.length;le++)te.set(se.inEdges[le].dataIndex,!0),ne.push(se.inEdges[le].node1)}for(oe=0;oe<ie.length;){var ue=ie[oe];oe++,ae.set(ue.dataIndex,!0);for(var le=0;le<ue.outEdges.length;le++)te.set(ue.outEdges[le].dataIndex,!0),ie.push(ue.outEdges[le].node2)}return{edge:te.keys(),node:ae.keys()}},ee}();function createGraphDataProxyMixin(ee,te){return{getValue:function(ae){var ne=this[ee][te];return ne.getStore().get(ne.getDimensionIndex(ae||"value"),this.dataIndex)},setVisual:function(ae,ne){this.dataIndex>=0&&this[ee][te].setItemVisual(this.dataIndex,ae,ne)},getVisual:function(ae){return this[ee][te].getItemVisual(this.dataIndex,ae)},setLayout:function(ae,ne){this.dataIndex>=0&&this[ee][te].setItemLayout(this.dataIndex,ae,ne)},getLayout:function(){return this[ee][te].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[ee][te].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[ee][te].getRawIndex(this.dataIndex)}}}mixin(GraphNode,createGraphDataProxyMixin("hostGraph","data"));mixin(GraphEdge,createGraphDataProxyMixin("hostGraph","edgeData"));const Graph$1=Graph;function createGraphFromNodeEdge(ee,te,ae,ne,ie){for(var oe=new Graph$1(ne),se=0;se<ee.length;se++)oe.addNode(retrieve(ee[se].id,ee[se].name,se),se);for(var le=[],ue=[],ce=0,se=0;se<te.length;se++){var de=te[se],he=de.source,fe=de.target;oe.addEdge(he,fe,ce)&&(ue.push(de),le.push(retrieve(convertOptionIdName(de.id,null),he+" > "+fe)),ce++)}var pe=ae.get("coordinateSystem"),ve;if(pe==="cartesian2d"||pe==="polar")ve=createSeriesData(ee,ae);else{var ge=CoordinateSystem.get(pe),me=ge?ge.dimensions||[]:[];indexOf(me,"value")<0&&me.concat(["value"]);var ye=prepareSeriesDataSchema(ee,{coordDimensions:me,encodeDefine:ae.getEncode()}).dimensions;ve=new SeriesData$1(ye,ae),ve.initData(ee)}var _e=new SeriesData$1(["value"],ae);return _e.initData(ue,le),ie&&ie(ve,_e),linkSeriesData({mainData:ve,struct:oe,structAttr:"graph",datas:{node:ve,edge:_e},datasAttr:{node:"data",edge:"edgeData"}}),oe.update(),oe}var GraphSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.hasSymbolVisual=!0,ae}return te.prototype.init=function(ae){ee.prototype.init.apply(this,arguments);var ne=this;function ie(){return ne._categoriesData}this.legendVisualProvider=new LegendVisualProvider$1(ie,ie),this.fillDataTextStyle(ae.edges||ae.links),this._updateCategoriesData()},te.prototype.mergeOption=function(ae){ee.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(ae.edges||ae.links),this._updateCategoriesData()},te.prototype.mergeDefaultAndTheme=function(ae){ee.prototype.mergeDefaultAndTheme.apply(this,arguments),defaultEmphasis(ae,"edgeLabel",["show"])},te.prototype.getInitialData=function(ae,ne){var ie=ae.edges||ae.links||[],oe=ae.data||ae.nodes||[],se=this;if(oe&&ie){initCurvenessList(this);var le=createGraphFromNodeEdge(oe,ie,this,!0,ue);return each$f(le.edges,function(ce){createEdgeMapForCurveness(ce.node1,ce.node2,this,ce.dataIndex)},this),le.data}function ue(ce,de){ce.wrapMethod("getItemModel",function(ve){var ge=se._categoriesModels,me=ve.getShallow("category"),ye=ge[me];return ye&&(ye.parentModel=ve.parentModel,ve.parentModel=ye),ve});var he=Model$1.prototype.getModel;function fe(ve,ge){var me=he.call(this,ve,ge);return me.resolveParentPath=pe,me}de.wrapMethod("getItemModel",function(ve){return ve.resolveParentPath=pe,ve.getModel=fe,ve});function pe(ve){if(ve&&(ve[0]==="label"||ve[1]==="label")){var ge=ve.slice();return ve[0]==="label"?ge[0]="edgeLabel":ve[1]==="label"&&(ge[1]="edgeLabel"),ge}return ve}}},te.prototype.getGraph=function(){return this.getData().graph},te.prototype.getEdgeData=function(){return this.getGraph().edgeData},te.prototype.getCategoriesData=function(){return this._categoriesData},te.prototype.formatTooltip=function(ae,ne,ie){if(ie==="edge"){var oe=this.getData(),se=this.getDataParams(ae,ie),le=oe.graph.getEdgeByIndex(ae),ue=oe.getName(le.node1.dataIndex),ce=oe.getName(le.node2.dataIndex),de=[];return ue!=null&&de.push(ue),ce!=null&&de.push(ce),createTooltipMarkup("nameValue",{name:de.join(" > "),value:se.value,noValue:se.value==null})}var he=defaultSeriesFormatTooltip({series:this,dataIndex:ae,multipleSeries:ne});return he},te.prototype._updateCategoriesData=function(){var ae=map$1(this.option.categories||[],function(ie){return ie.value!=null?ie:extend$1({value:0},ie)}),ne=new SeriesData$1(["value"],this);ne.initData(ae),this._categoriesData=ne,this._categoriesModels=ne.mapArray(function(ie){return ne.getItemModel(ie)})},te.prototype.setZoom=function(ae){this.option.zoom=ae},te.prototype.setCenter=function(ae){this.option.center=ae},te.prototype.isAnimationEnabled=function(){return ee.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},te.type="series.graph",te.dependencies=["grid","polar","geo","singleAxis","calendar"],te.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},te}(SeriesModel$1);const GraphSeriesModel$1=GraphSeriesModel;var actionInfo$1={type:"graphRoam",event:"graphRoam",update:"none"};function install$F(ee){ee.registerChartView(GraphView$1),ee.registerSeriesModel(GraphSeriesModel$1),ee.registerProcessor(categoryFilter),ee.registerVisual(categoryVisual),ee.registerVisual(graphEdgeVisual),ee.registerLayout(graphSimpleLayout),ee.registerLayout(ee.PRIORITY.VISUAL.POST_CHART_LAYOUT,graphCircularLayout),ee.registerLayout(graphForceLayout),ee.registerCoordinateSystem("graphView",{dimensions:View$1.dimensions,create:createViewCoordSys}),ee.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},noop$1),ee.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},noop$1),ee.registerAction(actionInfo$1,function(te,ae,ne){ae.eachComponent({mainType:"series",query:te},function(ie){var oe=ie.coordinateSystem,se=updateCenterAndZoom(oe,te,void 0,ne);ie.setCenter&&ie.setCenter(se.center),ie.setZoom&&ie.setZoom(se.zoom)})})}var PointerShape=function(){function ee(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return ee}(),PointerPath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="pointer",ne}return te.prototype.getDefaultShape=function(){return new PointerShape},te.prototype.buildPath=function(ae,ne){var ie=Math.cos,oe=Math.sin,se=ne.r,le=ne.width,ue=ne.angle,ce=ne.x-ie(ue)*le*(le>=se/3?1:2),de=ne.y-oe(ue)*le*(le>=se/3?1:2);ue=ne.angle-Math.PI/2,ae.moveTo(ce,de),ae.lineTo(ne.x+ie(ue)*le,ne.y+oe(ue)*le),ae.lineTo(ne.x+ie(ne.angle)*se,ne.y+oe(ne.angle)*se),ae.lineTo(ne.x-ie(ue)*le,ne.y-oe(ue)*le),ae.lineTo(ce,de)},te}(Path$1);const PointerPath$1=PointerPath;function parsePosition(ee,te){var ae=ee.get("center"),ne=te.getWidth(),ie=te.getHeight(),oe=Math.min(ne,ie),se=parsePercent(ae[0],te.getWidth()),le=parsePercent(ae[1],te.getHeight()),ue=parsePercent(ee.get("radius"),oe/2);return{cx:se,cy:le,r:ue}}function formatLabel(ee,te){var ae=ee==null?"":ee+"";return te&&(isString$1(te)?ae=te.replace("{value}",ae):isFunction$1(te)&&(ae=te(ee))),ae}var GaugeView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){this.group.removeAll();var oe=ae.get(["axisLine","lineStyle","color"]),se=parsePosition(ae,ie);this._renderMain(ae,ne,ie,oe,se),this._data=ae.getData()},te.prototype.dispose=function(){},te.prototype._renderMain=function(ae,ne,ie,oe,se){var le=this.group,ue=ae.get("clockwise"),ce=-ae.get("startAngle")/180*Math.PI,de=-ae.get("endAngle")/180*Math.PI,he=ae.getModel("axisLine"),fe=he.get("roundCap"),pe=fe?Sausage:Sector$1,ve=he.get("show"),ge=he.getModel("lineStyle"),me=ge.get("width"),ye=[ce,de];normalizeArcAngles(ye,!ue),ce=ye[0],de=ye[1];for(var _e=de-ce,be=ce,xe=[],$e=0;ve&&$e<oe.length;$e++){var Se=Math.min(Math.max(oe[$e][0],0),1);de=ce+_e*Se;var we=new pe({shape:{startAngle:be,endAngle:de,cx:se.cx,cy:se.cy,clockwise:ue,r0:se.r-me,r:se.r},silent:!0});we.setStyle({fill:oe[$e][1]}),we.setStyle(ge.getLineStyle(["color","width"])),xe.push(we),be=de}xe.reverse(),each$f(xe,function(Te){return le.add(Te)});var Ae=function(Te){if(Te<=0)return oe[0][1];var De;for(De=0;De<oe.length;De++)if(oe[De][0]>=Te&&(De===0?0:oe[De-1][0])<Te)return oe[De][1];return oe[De-1][1]};this._renderTicks(ae,ne,ie,Ae,se,ce,de,ue,me),this._renderTitleAndDetail(ae,ne,ie,Ae,se),this._renderAnchor(ae,se),this._renderPointer(ae,ne,ie,Ae,se,ce,de,ue,me)},te.prototype._renderTicks=function(ae,ne,ie,oe,se,le,ue,ce,de){for(var he=this.group,fe=se.cx,pe=se.cy,ve=se.r,ge=+ae.get("min"),me=+ae.get("max"),ye=ae.getModel("splitLine"),_e=ae.getModel("axisTick"),be=ae.getModel("axisLabel"),xe=ae.get("splitNumber"),$e=_e.get("splitNumber"),Se=parsePercent(ye.get("length"),ve),we=parsePercent(_e.get("length"),ve),Ae=le,Te=(ue-le)/xe,De=Te/$e,Me=ye.getModel("lineStyle").getLineStyle(),Ie=_e.getModel("lineStyle").getLineStyle(),Ce=ye.get("distance"),Ee,Re,ke=0;ke<=xe;ke++){if(Ee=Math.cos(Ae),Re=Math.sin(Ae),ye.get("show")){var Be=Ce?Ce+de:de,Ne=new Line$3({shape:{x1:Ee*(ve-Be)+fe,y1:Re*(ve-Be)+pe,x2:Ee*(ve-Se-Be)+fe,y2:Re*(ve-Se-Be)+pe},style:Me,silent:!0});Me.stroke==="auto"&&Ne.setStyle({stroke:oe(ke/xe)}),he.add(Ne)}if(be.get("show")){var Be=be.get("distance")+Ce,He=formatLabel(round$3(ke/xe*(me-ge)+ge),be.get("formatter")),qe=oe(ke/xe),Oe=Ee*(ve-Se-Be)+fe,ze=Re*(ve-Se-Be)+pe,Ve=be.get("rotate"),Ge=0;Ve==="radial"?(Ge=-Ae+2*Math.PI,Ge>Math.PI/2&&(Ge+=Math.PI)):Ve==="tangential"?Ge=-Ae-Math.PI/2:isNumber$1(Ve)&&(Ge=Ve*Math.PI/180),Ge===0?he.add(new ZRText$1({style:createTextStyle$1(be,{text:He,x:Oe,y:ze,verticalAlign:Re<-.8?"top":Re>.8?"bottom":"middle",align:Ee<-.4?"left":Ee>.4?"right":"center"},{inheritColor:qe}),silent:!0})):he.add(new ZRText$1({style:createTextStyle$1(be,{text:He,x:Oe,y:ze,verticalAlign:"middle",align:"center"},{inheritColor:qe}),silent:!0,originX:Oe,originY:ze,rotation:Ge}))}if(_e.get("show")&&ke!==xe){var Be=_e.get("distance");Be=Be?Be+de:de;for(var We=0;We<=$e;We++){Ee=Math.cos(Ae),Re=Math.sin(Ae);var Ue=new Line$3({shape:{x1:Ee*(ve-Be)+fe,y1:Re*(ve-Be)+pe,x2:Ee*(ve-we-Be)+fe,y2:Re*(ve-we-Be)+pe},silent:!0,style:Ie});Ie.stroke==="auto"&&Ue.setStyle({stroke:oe((ke+We/$e)/xe)}),he.add(Ue),Ae+=De}Ae-=De}else Ae+=Te}},te.prototype._renderPointer=function(ae,ne,ie,oe,se,le,ue,ce,de){var he=this.group,fe=this._data,pe=this._progressEls,ve=[],ge=ae.get(["pointer","show"]),me=ae.getModel("progress"),ye=me.get("show"),_e=ae.getData(),be=_e.mapDimension("value"),xe=+ae.get("min"),$e=+ae.get("max"),Se=[xe,$e],we=[le,ue];function Ae(De,Me){var Ie=_e.getItemModel(De),Ce=Ie.getModel("pointer"),Ee=parsePercent(Ce.get("width"),se.r),Re=parsePercent(Ce.get("length"),se.r),ke=ae.get(["pointer","icon"]),Be=Ce.get("offsetCenter"),Ne=parsePercent(Be[0],se.r),He=parsePercent(Be[1],se.r),qe=Ce.get("keepAspect"),Oe;return ke?Oe=createSymbol$1(ke,Ne-Ee/2,He-Re,Ee,Re,null,qe):Oe=new PointerPath$1({shape:{angle:-Math.PI/2,width:Ee,r:Re,x:Ne,y:He}}),Oe.rotation=-(Me+Math.PI/2),Oe.x=se.cx,Oe.y=se.cy,Oe}function Te(De,Me){var Ie=me.get("roundCap"),Ce=Ie?Sausage:Sector$1,Ee=me.get("overlap"),Re=Ee?me.get("width"):de/_e.count(),ke=Ee?se.r-Re:se.r-(De+1)*Re,Be=Ee?se.r:se.r-De*Re,Ne=new Ce({shape:{startAngle:le,endAngle:Me,cx:se.cx,cy:se.cy,clockwise:ce,r0:ke,r:Be}});return Ee&&(Ne.z2=$e-_e.get(be,De)%$e),Ne}(ye||ge)&&(_e.diff(fe).add(function(De){var Me=_e.get(be,De);if(ge){var Ie=Ae(De,le);initProps(Ie,{rotation:-((isNaN(+Me)?we[0]:linearMap$2(Me,Se,we,!0))+Math.PI/2)},ae),he.add(Ie),_e.setItemGraphicEl(De,Ie)}if(ye){var Ce=Te(De,le),Ee=me.get("clip");initProps(Ce,{shape:{endAngle:linearMap$2(Me,Se,we,Ee)}},ae),he.add(Ce),setCommonECData(ae.seriesIndex,_e.dataType,De,Ce),ve[De]=Ce}}).update(function(De,Me){var Ie=_e.get(be,De);if(ge){var Ce=fe.getItemGraphicEl(Me),Ee=Ce?Ce.rotation:le,Re=Ae(De,Ee);Re.rotation=Ee,updateProps$1(Re,{rotation:-((isNaN(+Ie)?we[0]:linearMap$2(Ie,Se,we,!0))+Math.PI/2)},ae),he.add(Re),_e.setItemGraphicEl(De,Re)}if(ye){var ke=pe[Me],Be=ke?ke.shape.endAngle:le,Ne=Te(De,Be),He=me.get("clip");updateProps$1(Ne,{shape:{endAngle:linearMap$2(Ie,Se,we,He)}},ae),he.add(Ne),setCommonECData(ae.seriesIndex,_e.dataType,De,Ne),ve[De]=Ne}}).execute(),_e.each(function(De){var Me=_e.getItemModel(De),Ie=Me.getModel("emphasis"),Ce=Ie.get("focus"),Ee=Ie.get("blurScope"),Re=Ie.get("disabled");if(ge){var ke=_e.getItemGraphicEl(De),Be=_e.getItemVisual(De,"style"),Ne=Be.fill;if(ke instanceof ZRImage$1){var He=ke.style;ke.useStyle(extend$1({image:He.image,x:He.x,y:He.y,width:He.width,height:He.height},Be))}else ke.useStyle(Be),ke.type!=="pointer"&&ke.setColor(Ne);ke.setStyle(Me.getModel(["pointer","itemStyle"]).getItemStyle()),ke.style.fill==="auto"&&ke.setStyle("fill",oe(linearMap$2(_e.get(be,De),Se,[0,1],!0))),ke.z2EmphasisLift=0,setStatesStylesFromModel(ke,Me),toggleHoverEmphasis(ke,Ce,Ee,Re)}if(ye){var qe=ve[De];qe.useStyle(_e.getItemVisual(De,"style")),qe.setStyle(Me.getModel(["progress","itemStyle"]).getItemStyle()),qe.z2EmphasisLift=0,setStatesStylesFromModel(qe,Me),toggleHoverEmphasis(qe,Ce,Ee,Re)}}),this._progressEls=ve)},te.prototype._renderAnchor=function(ae,ne){var ie=ae.getModel("anchor"),oe=ie.get("show");if(oe){var se=ie.get("size"),le=ie.get("icon"),ue=ie.get("offsetCenter"),ce=ie.get("keepAspect"),de=createSymbol$1(le,ne.cx-se/2+parsePercent(ue[0],ne.r),ne.cy-se/2+parsePercent(ue[1],ne.r),se,se,null,ce);de.z2=ie.get("showAbove")?1:0,de.setStyle(ie.getModel("itemStyle").getItemStyle()),this.group.add(de)}},te.prototype._renderTitleAndDetail=function(ae,ne,ie,oe,se){var le=this,ue=ae.getData(),ce=ue.mapDimension("value"),de=+ae.get("min"),he=+ae.get("max"),fe=new Group$4,pe=[],ve=[],ge=ae.isAnimationEnabled(),me=ae.get(["pointer","showAbove"]);ue.diff(this._data).add(function(ye){pe[ye]=new ZRText$1({silent:!0}),ve[ye]=new ZRText$1({silent:!0})}).update(function(ye,_e){pe[ye]=le._titleEls[_e],ve[ye]=le._detailEls[_e]}).execute(),ue.each(function(ye){var _e=ue.getItemModel(ye),be=ue.get(ce,ye),xe=new Group$4,$e=oe(linearMap$2(be,[de,he],[0,1],!0)),Se=_e.getModel("title");if(Se.get("show")){var we=Se.get("offsetCenter"),Ae=se.cx+parsePercent(we[0],se.r),Te=se.cy+parsePercent(we[1],se.r),De=pe[ye];De.attr({z2:me?0:2,style:createTextStyle$1(Se,{x:Ae,y:Te,text:ue.getName(ye),align:"center",verticalAlign:"middle"},{inheritColor:$e})}),xe.add(De)}var Me=_e.getModel("detail");if(Me.get("show")){var Ie=Me.get("offsetCenter"),Ce=se.cx+parsePercent(Ie[0],se.r),Ee=se.cy+parsePercent(Ie[1],se.r),Re=parsePercent(Me.get("width"),se.r),ke=parsePercent(Me.get("height"),se.r),Be=ae.get(["progress","show"])?ue.getItemVisual(ye,"style").fill:$e,De=ve[ye],Ne=Me.get("formatter");De.attr({z2:me?0:2,style:createTextStyle$1(Me,{x:Ce,y:Ee,text:formatLabel(be,Ne),width:isNaN(Re)?null:Re,height:isNaN(ke)?null:ke,align:"center",verticalAlign:"middle"},{inheritColor:Be})}),setLabelValueAnimation(De,{normal:Me},be,function(qe){return formatLabel(qe,Ne)}),ge&&animateLabelValue(De,ye,ue,ae,{getFormattedLabel:function(qe,Oe,ze,Ve,Ge,We){return formatLabel(We?We.interpolatedValue:be,Ne)}}),xe.add(De)}fe.add(xe)}),this.group.add(fe),this._titleEls=pe,this._detailEls=ve},te.type="gauge",te}(ChartView$1);const GaugeView$1=GaugeView;var GaugeSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.visualStyleAccessPath="itemStyle",ae}return te.prototype.getInitialData=function(ae,ne){return createSeriesDataSimply(this,["value"])},te.type="series.gauge",te.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},te}(SeriesModel$1);const GaugeSeriesModel$1=GaugeSeriesModel;function install$E(ee){ee.registerChartView(GaugeView$1),ee.registerSeriesModel(GaugeSeriesModel$1)}var opacityAccessPath$1=["itemStyle","opacity"],FunnelPiece=function(ee){__extends(te,ee);function te(ae,ne){var ie=ee.call(this)||this,oe=ie,se=new Polyline$3,le=new ZRText$1;return oe.setTextContent(le),ie.setTextGuideLine(se),ie.updateData(ae,ne,!0),ie}return te.prototype.updateData=function(ae,ne,ie){var oe=this,se=ae.hostModel,le=ae.getItemModel(ne),ue=ae.getItemLayout(ne),ce=le.getModel("emphasis"),de=le.get(opacityAccessPath$1);de=de??1,ie||saveOldStyle(oe),oe.useStyle(ae.getItemVisual(ne,"style")),oe.style.lineJoin="round",ie?(oe.setShape({points:ue.points}),oe.style.opacity=0,initProps(oe,{style:{opacity:de}},se,ne)):updateProps$1(oe,{style:{opacity:de},shape:{points:ue.points}},se,ne),setStatesStylesFromModel(oe,le),this._updateLabel(ae,ne),toggleHoverEmphasis(this,ce.get("focus"),ce.get("blurScope"),ce.get("disabled"))},te.prototype._updateLabel=function(ae,ne){var ie=this,oe=this.getTextGuideLine(),se=ie.getTextContent(),le=ae.hostModel,ue=ae.getItemModel(ne),ce=ae.getItemLayout(ne),de=ce.label,he=ae.getItemVisual(ne,"style"),fe=he.fill;setLabelStyle(se,getLabelStatesModels(ue),{labelFetcher:ae.hostModel,labelDataIndex:ne,defaultOpacity:he.opacity,defaultText:ae.getName(ne)},{normal:{align:de.textAlign,verticalAlign:de.verticalAlign}}),ie.setTextConfig({local:!0,inside:!!de.inside,insideStroke:fe,outsideFill:fe});var pe=de.linePoints;oe.setShape({points:pe}),ie.textGuideLineConfig={anchor:pe?new Point$1(pe[0][0],pe[0][1]):null},updateProps$1(se,{style:{x:de.x,y:de.y}},le,ne),se.attr({rotation:de.rotation,originX:de.x,originY:de.y,z2:10}),setLabelLineStyle(ie,getLabelLineStatesModels(ue),{stroke:fe})},te}(Polygon$1),FunnelView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.ignoreLabelLineUpdate=!0,ae}return te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=this._data,le=this.group;oe.diff(se).add(function(ue){var ce=new FunnelPiece(oe,ue);oe.setItemGraphicEl(ue,ce),le.add(ce)}).update(function(ue,ce){var de=se.getItemGraphicEl(ce);de.updateData(oe,ue),le.add(de),oe.setItemGraphicEl(ue,de)}).remove(function(ue){var ce=se.getItemGraphicEl(ue);removeElementWithFadeOut(ce,ae,ue)}).execute(),this._data=oe},te.prototype.remove=function(){this.group.removeAll(),this._data=null},te.prototype.dispose=function(){},te.type="funnel",te}(ChartView$1);const FunnelView$1=FunnelView;var FunnelSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae){ee.prototype.init.apply(this,arguments),this.legendVisualProvider=new LegendVisualProvider$1(bind$2(this.getData,this),bind$2(this.getRawData,this)),this._defaultLabelLine(ae)},te.prototype.getInitialData=function(ae,ne){return createSeriesDataSimply(this,{coordDimensions:["value"],encodeDefaulter:curry$1(makeSeriesEncodeForNameBased,this)})},te.prototype._defaultLabelLine=function(ae){defaultEmphasis(ae,"labelLine",["show"]);var ne=ae.labelLine,ie=ae.emphasis.labelLine;ne.show=ne.show&&ae.label.show,ie.show=ie.show&&ae.emphasis.label.show},te.prototype.getDataParams=function(ae){var ne=this.getData(),ie=ee.prototype.getDataParams.call(this,ae),oe=ne.mapDimension("value"),se=ne.getSum(oe);return ie.percent=se?+(ne.get(oe,ae)/se*100).toFixed(2):0,ie.$vars.push("percent"),ie},te.type="series.funnel",te.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},te}(SeriesModel$1);const FunnelSeriesModel$1=FunnelSeriesModel;function getViewRect$2(ee,te){return getLayoutRect(ee.getBoxLayoutParams(),{width:te.getWidth(),height:te.getHeight()})}function getSortedIndices(ee,te){for(var ae=ee.mapDimension("value"),ne=ee.mapArray(ae,function(ue){return ue}),ie=[],oe=te==="ascending",se=0,le=ee.count();se<le;se++)ie[se]=se;return isFunction$1(te)?ie.sort(te):te!=="none"&&ie.sort(function(ue,ce){return oe?ne[ue]-ne[ce]:ne[ce]-ne[ue]}),ie}function labelLayout(ee){var te=ee.hostModel,ae=te.get("orient");ee.each(function(ne){var ie=ee.getItemModel(ne),oe=ie.getModel("label"),se=oe.get("position"),le=ie.getModel("labelLine"),ue=ee.getItemLayout(ne),ce=ue.points,de=se==="inner"||se==="inside"||se==="center"||se==="insideLeft"||se==="insideRight",he,fe,pe,ve;if(de)se==="insideLeft"?(fe=(ce[0][0]+ce[3][0])/2+5,pe=(ce[0][1]+ce[3][1])/2,he="left"):se==="insideRight"?(fe=(ce[1][0]+ce[2][0])/2-5,pe=(ce[1][1]+ce[2][1])/2,he="right"):(fe=(ce[0][0]+ce[1][0]+ce[2][0]+ce[3][0])/4,pe=(ce[0][1]+ce[1][1]+ce[2][1]+ce[3][1])/4,he="center"),ve=[[fe,pe],[fe,pe]];else{var ge=void 0,me=void 0,ye=void 0,_e=void 0,be=le.get("length");se==="left"?(ge=(ce[3][0]+ce[0][0])/2,me=(ce[3][1]+ce[0][1])/2,ye=ge-be,fe=ye-5,he="right"):se==="right"?(ge=(ce[1][0]+ce[2][0])/2,me=(ce[1][1]+ce[2][1])/2,ye=ge+be,fe=ye+5,he="left"):se==="top"?(ge=(ce[3][0]+ce[0][0])/2,me=(ce[3][1]+ce[0][1])/2,_e=me-be,pe=_e-5,he="center"):se==="bottom"?(ge=(ce[1][0]+ce[2][0])/2,me=(ce[1][1]+ce[2][1])/2,_e=me+be,pe=_e+5,he="center"):se==="rightTop"?(ge=ae==="horizontal"?ce[3][0]:ce[1][0],me=ae==="horizontal"?ce[3][1]:ce[1][1],ae==="horizontal"?(_e=me-be,pe=_e-5,he="center"):(ye=ge+be,fe=ye+5,he="top")):se==="rightBottom"?(ge=ce[2][0],me=ce[2][1],ae==="horizontal"?(_e=me+be,pe=_e+5,he="center"):(ye=ge+be,fe=ye+5,he="bottom")):se==="leftTop"?(ge=ce[0][0],me=ae==="horizontal"?ce[0][1]:ce[1][1],ae==="horizontal"?(_e=me-be,pe=_e-5,he="center"):(ye=ge-be,fe=ye-5,he="right")):se==="leftBottom"?(ge=ae==="horizontal"?ce[1][0]:ce[3][0],me=ae==="horizontal"?ce[1][1]:ce[2][1],ae==="horizontal"?(_e=me+be,pe=_e+5,he="center"):(ye=ge-be,fe=ye-5,he="right")):(ge=(ce[1][0]+ce[2][0])/2,me=(ce[1][1]+ce[2][1])/2,ae==="horizontal"?(_e=me+be,pe=_e+5,he="center"):(ye=ge+be,fe=ye+5,he="left")),ae==="horizontal"?(ye=ge,fe=ye):(_e=me,pe=_e),ve=[[ge,me],[ye,_e]]}ue.label={linePoints:ve,x:fe,y:pe,verticalAlign:"middle",textAlign:he,inside:de}})}function funnelLayout(ee,te){ee.eachSeriesByType("funnel",function(ae){var ne=ae.getData(),ie=ne.mapDimension("value"),oe=ae.get("sort"),se=getViewRect$2(ae,te),le=ae.get("orient"),ue=se.width,ce=se.height,de=getSortedIndices(ne,oe),he=se.x,fe=se.y,pe=le==="horizontal"?[parsePercent(ae.get("minSize"),ce),parsePercent(ae.get("maxSize"),ce)]:[parsePercent(ae.get("minSize"),ue),parsePercent(ae.get("maxSize"),ue)],ve=ne.getDataExtent(ie),ge=ae.get("min"),me=ae.get("max");ge==null&&(ge=Math.min(ve[0],0)),me==null&&(me=ve[1]);var ye=ae.get("funnelAlign"),_e=ae.get("gap"),be=le==="horizontal"?ue:ce,xe=(be-_e*(ne.count()-1))/ne.count(),$e=function(Ee,Re){if(le==="horizontal"){var ke=ne.get(ie,Ee)||0,Be=linearMap$2(ke,[ge,me],pe,!0),Ne=void 0;switch(ye){case"top":Ne=fe;break;case"center":Ne=fe+(ce-Be)/2;break;case"bottom":Ne=fe+(ce-Be);break}return[[Re,Ne],[Re,Ne+Be]]}var He=ne.get(ie,Ee)||0,qe=linearMap$2(He,[ge,me],pe,!0),Oe;switch(ye){case"left":Oe=he;break;case"center":Oe=he+(ue-qe)/2;break;case"right":Oe=he+ue-qe;break}return[[Oe,Re],[Oe+qe,Re]]};oe==="ascending"&&(xe=-xe,_e=-_e,le==="horizontal"?he+=ue:fe+=ce,de=de.reverse());for(var Se=0;Se<de.length;Se++){var we=de[Se],Ae=de[Se+1],Te=ne.getItemModel(we);if(le==="horizontal"){var De=Te.get(["itemStyle","width"]);De==null?De=xe:(De=parsePercent(De,ue),oe==="ascending"&&(De=-De));var Me=$e(we,he),Ie=$e(Ae,he+De);he+=De+_e,ne.setItemLayout(we,{points:Me.concat(Ie.slice().reverse())})}else{var Ce=Te.get(["itemStyle","height"]);Ce==null?Ce=xe:(Ce=parsePercent(Ce,ce),oe==="ascending"&&(Ce=-Ce));var Me=$e(we,fe),Ie=$e(Ae,fe+Ce);fe+=Ce+_e,ne.setItemLayout(we,{points:Me.concat(Ie.slice().reverse())})}}labelLayout(ne)})}function install$D(ee){ee.registerChartView(FunnelView$1),ee.registerSeriesModel(FunnelSeriesModel$1),ee.registerLayout(funnelLayout),ee.registerProcessor(dataFilter$1("funnel"))}var DEFAULT_SMOOTH=.3,ParallelView$2=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._dataGroup=new Group$4,ae._initialized=!1,ae}return te.prototype.init=function(){this.group.add(this._dataGroup)},te.prototype.render=function(ae,ne,ie,oe){this._progressiveEls=null;var se=this._dataGroup,le=ae.getData(),ue=this._data,ce=ae.coordinateSystem,de=ce.dimensions,he=makeSeriesScope(ae);le.diff(ue).add(fe).update(pe).remove(ve).execute();function fe(me){var ye=addEl(le,se,me,de,ce);updateElCommon(ye,le,me,he)}function pe(me,ye){var _e=ue.getItemGraphicEl(ye),be=createLinePoints(le,me,de,ce);le.setItemGraphicEl(me,_e),updateProps$1(_e,{shape:{points:be}},ae,me),saveOldStyle(_e),updateElCommon(_e,le,me,he)}function ve(me){var ye=ue.getItemGraphicEl(me);se.remove(ye)}if(!this._initialized){this._initialized=!0;var ge=createGridClipShape$2(ce,ae,function(){setTimeout(function(){se.removeClipPath()})});se.setClipPath(ge)}this._data=le},te.prototype.incrementalPrepareRender=function(ae,ne,ie){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},te.prototype.incrementalRender=function(ae,ne,ie){for(var oe=ne.getData(),se=ne.coordinateSystem,le=se.dimensions,ue=makeSeriesScope(ne),ce=this._progressiveEls=[],de=ae.start;de<ae.end;de++){var he=addEl(oe,this._dataGroup,de,le,se);he.incremental=!0,updateElCommon(he,oe,de,ue),ce.push(he)}},te.prototype.remove=function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null},te.type="parallel",te}(ChartView$1);function createGridClipShape$2(ee,te,ae){var ne=ee.model,ie=ee.getRect(),oe=new Rect$3({shape:{x:ie.x,y:ie.y,width:ie.width,height:ie.height}}),se=ne.get("layout")==="horizontal"?"width":"height";return oe.setShape(se,0),initProps(oe,{shape:{width:ie.width,height:ie.height}},te,ae),oe}function createLinePoints(ee,te,ae,ne){for(var ie=[],oe=0;oe<ae.length;oe++){var se=ae[oe],le=ee.get(ee.mapDimension(se),te);isEmptyValue(le,ne.getAxis(se).type)||ie.push(ne.dataToPoint(le,se))}return ie}function addEl(ee,te,ae,ne,ie){var oe=createLinePoints(ee,ae,ne,ie),se=new Polyline$3({shape:{points:oe},z2:10});return te.add(se),ee.setItemGraphicEl(ae,se),se}function makeSeriesScope(ee){var te=ee.get("smooth",!0);return te===!0&&(te=DEFAULT_SMOOTH),te=numericToNumber(te),eqNaN(te)&&(te=0),{smooth:te}}function updateElCommon(ee,te,ae,ne){ee.useStyle(te.getItemVisual(ae,"style")),ee.style.fill=null,ee.setShape("smooth",ne.smooth);var ie=te.getItemModel(ae),oe=ie.getModel("emphasis");setStatesStylesFromModel(ee,ie,"lineStyle"),toggleHoverEmphasis(ee,oe.get("focus"),oe.get("blurScope"),oe.get("disabled"))}function isEmptyValue(ee,te){return te==="category"?ee==null:ee==null||isNaN(ee)}const ParallelView$3=ParallelView$2;var ParallelSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.visualStyleAccessPath="lineStyle",ae.visualDrawType="stroke",ae}return te.prototype.getInitialData=function(ae,ne){return createSeriesData(null,this,{useEncodeDefaulter:bind$2(makeDefaultEncode,null,this)})},te.prototype.getRawIndicesByActiveState=function(ae){var ne=this.coordinateSystem,ie=this.getData(),oe=[];return ne.eachActiveState(ie,function(se,le){ae===se&&oe.push(ie.getRawIndex(le))}),oe},te.type="series.parallel",te.dependencies=["parallel"],te.defaultOption={z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"},te}(SeriesModel$1);function makeDefaultEncode(ee){var te=ee.ecModel.getComponent("parallel",ee.get("parallelIndex"));if(te){var ae={};return each$f(te.dimensions,function(ne){var ie=convertDimNameToNumber(ne);ae[ne]=ie}),ae}}function convertDimNameToNumber(ee){return+ee.replace("dim","")}const ParallelSeriesModel$1=ParallelSeriesModel;var opacityAccessPath=["lineStyle","opacity"],parallelVisual={seriesType:"parallel",reset:function(ee,te){var ae=ee.coordinateSystem,ne={normal:ee.get(["lineStyle","opacity"]),active:ee.get("activeOpacity"),inactive:ee.get("inactiveOpacity")};return{progress:function(ie,oe){ae.eachActiveState(oe,function(se,le){var ue=ne[se];if(se==="normal"&&oe.hasItemOption){var ce=oe.getItemModel(le).get(opacityAccessPath,!0);ce!=null&&(ue=ce)}var de=oe.ensureUniqueItemVisual(le,"style");de.opacity=ue},ie.start,ie.end)}}}};const parallelVisual$1=parallelVisual;function parallelPreprocessor(ee){createParallelIfNeeded(ee),mergeAxisOptionFromParallel(ee)}function createParallelIfNeeded(ee){if(!ee.parallel){var te=!1;each$f(ee.series,function(ae){ae&&ae.type==="parallel"&&(te=!0)}),te&&(ee.parallel=[{}])}}function mergeAxisOptionFromParallel(ee){var te=normalizeToArray(ee.parallelAxis);each$f(te,function(ae){if(isObject$4(ae)){var ne=ae.parallelIndex||0,ie=normalizeToArray(ee.parallel)[ne];ie&&ie.parallelAxisDefault&&merge$1(ae,ie.parallelAxisDefault,!1)}})}var CLICK_THRESHOLD=5,ParallelView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){this._model=ae,this._api=ie,this._handlers||(this._handlers={},each$f(handlers$1,function(oe,se){ie.getZr().on(se,this._handlers[se]=bind$2(oe,this))},this)),createOrUpdate(this,"_throttledDispatchExpand",ae.get("axisExpandRate"),"fixRate")},te.prototype.dispose=function(ae,ne){clear$1(this,"_throttledDispatchExpand"),each$f(this._handlers,function(ie,oe){ne.getZr().off(oe,ie)}),this._handlers=null},te.prototype._throttledDispatchExpand=function(ae){this._dispatchExpand(ae)},te.prototype._dispatchExpand=function(ae){ae&&this._api.dispatchAction(extend$1({type:"parallelAxisExpand"},ae))},te.type="parallel",te}(ComponentView$1),handlers$1={mousedown:function(ee){checkTrigger(this,"click")&&(this._mouseDownPoint=[ee.offsetX,ee.offsetY])},mouseup:function(ee){var te=this._mouseDownPoint;if(checkTrigger(this,"click")&&te){var ae=[ee.offsetX,ee.offsetY],ne=Math.pow(te[0]-ae[0],2)+Math.pow(te[1]-ae[1],2);if(ne>CLICK_THRESHOLD)return;var ie=this._model.coordinateSystem.getSlidedAxisExpandWindow([ee.offsetX,ee.offsetY]);ie.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:ie.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(ee){if(!(this._mouseDownPoint||!checkTrigger(this,"mousemove"))){var te=this._model,ae=te.coordinateSystem.getSlidedAxisExpandWindow([ee.offsetX,ee.offsetY]),ne=ae.behavior;ne==="jump"&&this._throttledDispatchExpand.debounceNextCall(te.get("axisExpandDebounce")),this._throttledDispatchExpand(ne==="none"?null:{axisExpandWindow:ae.axisExpandWindow,animation:ne==="jump"?null:{duration:0}})}}};function checkTrigger(ee,te){var ae=ee._model;return ae.get("axisExpandable")&&ae.get("axisExpandTriggerOn")===te}const ParallelView$1=ParallelView;var ParallelModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(){ee.prototype.init.apply(this,arguments),this.mergeOption({})},te.prototype.mergeOption=function(ae){var ne=this.option;ae&&merge$1(ne,ae,!0),this._initDimensions()},te.prototype.contains=function(ae,ne){var ie=ae.get("parallelIndex");return ie!=null&&ne.getComponent("parallel",ie)===this},te.prototype.setAxisExpand=function(ae){each$f(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(ne){ae.hasOwnProperty(ne)&&(this.option[ne]=ae[ne])},this)},te.prototype._initDimensions=function(){var ae=this.dimensions=[],ne=this.parallelAxisIndex=[],ie=filter(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(oe){return(oe.get("parallelIndex")||0)===this.componentIndex},this);each$f(ie,function(oe){ae.push("dim"+oe.get("dim")),ne.push(oe.componentIndex)})},te.type="parallel",te.dependencies=["parallelAxis"],te.layoutMode="box",te.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},te}(ComponentModel$1);const ParallelModel$1=ParallelModel;var ParallelAxis=function(ee){__extends(te,ee);function te(ae,ne,ie,oe,se){var le=ee.call(this,ae,ne,ie)||this;return le.type=oe||"value",le.axisIndex=se,le}return te.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},te}(Axis$1);const ParallelAxis$1=ParallelAxis;function sliderMove(ee,te,ae,ne,ie,oe){ee=ee||0;var se=ae[1]-ae[0];if(ie!=null&&(ie=restrict$1(ie,[0,se])),oe!=null&&(oe=Math.max(oe,ie??0)),ne==="all"){var le=Math.abs(te[1]-te[0]);le=restrict$1(le,[0,se]),ie=oe=restrict$1(le,[ie,oe]),ne=0}te[0]=restrict$1(te[0],ae),te[1]=restrict$1(te[1],ae);var ue=getSpanSign(te,ne);te[ne]+=ee;var ce=ie||0,de=ae.slice();ue.sign<0?de[0]+=ce:de[1]-=ce,te[ne]=restrict$1(te[ne],de);var he;return he=getSpanSign(te,ne),ie!=null&&(he.sign!==ue.sign||he.span<ie)&&(te[1-ne]=te[ne]+ue.sign*ie),he=getSpanSign(te,ne),oe!=null&&he.span>oe&&(te[1-ne]=te[ne]+he.sign*oe),te}function getSpanSign(ee,te){var ae=ee[te]-ee[1-te];return{span:Math.abs(ae),sign:ae>0?-1:ae<0?1:te?-1:1}}function restrict$1(ee,te){return Math.min(te[1]!=null?te[1]:1/0,Math.max(te[0]!=null?te[0]:-1/0,ee))}var each$a=each$f,mathMin$2=Math.min,mathMax$2=Math.max,mathFloor=Math.floor,mathCeil=Math.ceil,round=round$3,PI$1=Math.PI,Parallel=function(){function ee(te,ae,ne){this.type="parallel",this._axesMap=createHashMap(),this._axesLayout={},this.dimensions=te.dimensions,this._model=te,this._init(te,ae,ne)}return ee.prototype._init=function(te,ae,ne){var ie=te.dimensions,oe=te.parallelAxisIndex;each$a(ie,function(se,le){var ue=oe[le],ce=ae.getComponent("parallelAxis",ue),de=this._axesMap.set(se,new ParallelAxis$1(se,createScaleByModel$1(ce),[0,0],ce.get("type"),ue)),he=de.type==="category";de.onBand=he&&ce.get("boundaryGap"),de.inverse=ce.get("inverse"),ce.axis=de,de.model=ce,de.coordinateSystem=ce.coordinateSystem=this},this)},ee.prototype.update=function(te,ae){this._updateAxesFromSeries(this._model,te)},ee.prototype.containPoint=function(te){var ae=this._makeLayoutInfo(),ne=ae.axisBase,ie=ae.layoutBase,oe=ae.pixelDimIndex,se=te[1-oe],le=te[oe];return se>=ne&&se<=ne+ae.axisLength&&le>=ie&&le<=ie+ae.layoutLength},ee.prototype.getModel=function(){return this._model},ee.prototype._updateAxesFromSeries=function(te,ae){ae.eachSeries(function(ne){if(te.contains(ne,ae)){var ie=ne.getData();each$a(this.dimensions,function(oe){var se=this._axesMap.get(oe);se.scale.unionExtentFromData(ie,ie.mapDimension(oe)),niceScaleExtent(se.scale,se.model)},this)}},this)},ee.prototype.resize=function(te,ae){this._rect=getLayoutRect(te.getBoxLayoutParams(),{width:ae.getWidth(),height:ae.getHeight()}),this._layoutAxes()},ee.prototype.getRect=function(){return this._rect},ee.prototype._makeLayoutInfo=function(){var te=this._model,ae=this._rect,ne=["x","y"],ie=["width","height"],oe=te.get("layout"),se=oe==="horizontal"?0:1,le=ae[ie[se]],ue=[0,le],ce=this.dimensions.length,de=restrict(te.get("axisExpandWidth"),ue),he=restrict(te.get("axisExpandCount")||0,[0,ce]),fe=te.get("axisExpandable")&&ce>3&&ce>he&&he>1&&de>0&&le>0,pe=te.get("axisExpandWindow"),ve;if(pe)ve=restrict(pe[1]-pe[0],ue),pe[1]=pe[0]+ve;else{ve=restrict(de*(he-1),ue);var ge=te.get("axisExpandCenter")||mathFloor(ce/2);pe=[de*ge-ve/2],pe[1]=pe[0]+ve}var me=(le-ve)/(ce-he);me<3&&(me=0);var ye=[mathFloor(round(pe[0]/de,1))+1,mathCeil(round(pe[1]/de,1))-1],_e=me/de*pe[0];return{layout:oe,pixelDimIndex:se,layoutBase:ae[ne[se]],layoutLength:le,axisBase:ae[ne[1-se]],axisLength:ae[ie[1-se]],axisExpandable:fe,axisExpandWidth:de,axisCollapseWidth:me,axisExpandWindow:pe,axisCount:ce,winInnerIndices:ye,axisExpandWindow0Pos:_e}},ee.prototype._layoutAxes=function(){var te=this._rect,ae=this._axesMap,ne=this.dimensions,ie=this._makeLayoutInfo(),oe=ie.layout;ae.each(function(se){var le=[0,ie.axisLength],ue=se.inverse?1:0;se.setExtent(le[ue],le[1-ue])}),each$a(ne,function(se,le){var ue=(ie.axisExpandable?layoutAxisWithExpand:layoutAxisWithoutExpand)(le,ie),ce={horizontal:{x:ue.position,y:ie.axisLength},vertical:{x:0,y:ue.position}},de={horizontal:PI$1/2,vertical:0},he=[ce[oe].x+te.x,ce[oe].y+te.y],fe=de[oe],pe=create$1();rotate(pe,pe,fe),translate(pe,pe,he),this._axesLayout[se]={position:he,rotation:fe,transform:pe,axisNameAvailableWidth:ue.axisNameAvailableWidth,axisLabelShow:ue.axisLabelShow,nameTruncateMaxWidth:ue.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},ee.prototype.getAxis=function(te){return this._axesMap.get(te)},ee.prototype.dataToPoint=function(te,ae){return this.axisCoordToPoint(this._axesMap.get(ae).dataToCoord(te),ae)},ee.prototype.eachActiveState=function(te,ae,ne,ie){ne==null&&(ne=0),ie==null&&(ie=te.count());var oe=this._axesMap,se=this.dimensions,le=[],ue=[];each$f(se,function(me){le.push(te.mapDimension(me)),ue.push(oe.get(me).model)});for(var ce=this.hasAxisBrushed(),de=ne;de<ie;de++){var he=void 0;if(!ce)he="normal";else{he="active";for(var fe=te.getValues(le,de),pe=0,ve=se.length;pe<ve;pe++){var ge=ue[pe].getActiveState(fe[pe]);if(ge==="inactive"){he="inactive";break}}}ae(he,de)}},ee.prototype.hasAxisBrushed=function(){for(var te=this.dimensions,ae=this._axesMap,ne=!1,ie=0,oe=te.length;ie<oe;ie++)ae.get(te[ie]).model.getActiveState()!=="normal"&&(ne=!0);return ne},ee.prototype.axisCoordToPoint=function(te,ae){var ne=this._axesLayout[ae];return applyTransform([te,0],ne.transform)},ee.prototype.getAxisLayout=function(te){return clone$4(this._axesLayout[te])},ee.prototype.getSlidedAxisExpandWindow=function(te){var ae=this._makeLayoutInfo(),ne=ae.pixelDimIndex,ie=ae.axisExpandWindow.slice(),oe=ie[1]-ie[0],se=[0,ae.axisExpandWidth*(ae.axisCount-1)];if(!this.containPoint(te))return{behavior:"none",axisExpandWindow:ie};var le=te[ne]-ae.layoutBase-ae.axisExpandWindow0Pos,ue,ce="slide",de=ae.axisCollapseWidth,he=this._model.get("axisExpandSlideTriggerArea"),fe=he[0]!=null;if(de)fe&&de&&le<oe*he[0]?(ce="jump",ue=le-oe*he[2]):fe&&de&&le>oe*(1-he[0])?(ce="jump",ue=le-oe*(1-he[2])):(ue=le-oe*he[1])>=0&&(ue=le-oe*(1-he[1]))<=0&&(ue=0),ue*=ae.axisExpandWidth/de,ue?sliderMove(ue,ie,se,"all"):ce="none";else{var pe=ie[1]-ie[0],ve=se[1]*le/pe;ie=[mathMax$2(0,ve-pe/2)],ie[1]=mathMin$2(se[1],ie[0]+pe),ie[0]=ie[1]-pe}return{axisExpandWindow:ie,behavior:ce}},ee}();function restrict(ee,te){return mathMin$2(mathMax$2(ee,te[0]),te[1])}function layoutAxisWithoutExpand(ee,te){var ae=te.layoutLength/(te.axisCount-1);return{position:ae*ee,axisNameAvailableWidth:ae,axisLabelShow:!0}}function layoutAxisWithExpand(ee,te){var ae=te.layoutLength,ne=te.axisExpandWidth,ie=te.axisCount,oe=te.axisCollapseWidth,se=te.winInnerIndices,le,ue=oe,ce=!1,de;return ee<se[0]?(le=ee*oe,de=oe):ee<=se[1]?(le=te.axisExpandWindow0Pos+ee*ne-te.axisExpandWindow[0],ue=ne,ce=!0):(le=ae-(ie-1-ee)*oe,de=oe),{position:le,axisNameAvailableWidth:ue,axisLabelShow:ce,nameTruncateMaxWidth:de}}const Parallel$1=Parallel;function createParallelCoordSys(ee,te){var ae=[];return ee.eachComponent("parallel",function(ne,ie){var oe=new Parallel$1(ne,ee,te);oe.name="parallel_"+ie,oe.resize(ne,te),ne.coordinateSystem=oe,oe.model=ne,ae.push(oe)}),ee.eachSeries(function(ne){if(ne.get("coordinateSystem")==="parallel"){var ie=ne.getReferringComponents("parallel",SINGLE_REFERRING).models[0];ne.coordinateSystem=ie.coordinateSystem}}),ae}var parallelCoordSysCreator={create:createParallelCoordSys};const parallelCoordSysCreator$1=parallelCoordSysCreator;var ParallelAxisModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.activeIntervals=[],ae}return te.prototype.getAreaSelectStyle=function(){return makeStyleMapper([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},te.prototype.setActiveIntervals=function(ae){var ne=this.activeIntervals=clone$4(ae);if(ne)for(var ie=ne.length-1;ie>=0;ie--)asc$2(ne[ie])},te.prototype.getActiveState=function(ae){var ne=this.activeIntervals;if(!ne.length)return"normal";if(ae==null||isNaN(+ae))return"inactive";if(ne.length===1){var ie=ne[0];if(ie[0]<=ae&&ae<=ie[1])return"active"}else for(var oe=0,se=ne.length;oe<se;oe++)if(ne[oe][0]<=ae&&ae<=ne[oe][1])return"active";return"inactive"},te}(ComponentModel$1);mixin(ParallelAxisModel,AxisModelCommonMixin);const ParallelAxisModel$1=ParallelAxisModel;var BRUSH_PANEL_GLOBAL=!0,mathMin$1=Math.min,mathMax$1=Math.max,mathPow=Math.pow,COVER_Z=1e4,UNSELECT_THRESHOLD=6,MIN_RESIZE_LINE_WIDTH=6,MUTEX_RESOURCE_KEY="globalPan",DIRECTION_MAP={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},CURSOR_MAP={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},DEFAULT_BRUSH_OPT={brushStyle:{lineWidth:2,stroke:"rgba(210,219,238,0.3)",fill:"#D2DBEE"},transformable:!0,brushMode:"single",removeOnClick:!1},baseUID=0,BrushController=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this)||this;return ne._track=[],ne._covers=[],ne._handlers={},ne._zr=ae,ne.group=new Group$4,ne._uid="brushController_"+baseUID++,each$f(pointerHandlers,function(ie,oe){this._handlers[oe]=bind$2(ie,this)},ne),ne}return te.prototype.enableBrush=function(ae){return this._brushType&&this._doDisableBrush(),ae.brushType&&this._doEnableBrush(ae),this},te.prototype._doEnableBrush=function(ae){var ne=this._zr;this._enableGlobalPan||take(ne,MUTEX_RESOURCE_KEY,this._uid),each$f(this._handlers,function(ie,oe){ne.on(oe,ie)}),this._brushType=ae.brushType,this._brushOption=merge$1(clone$4(DEFAULT_BRUSH_OPT),ae,!0)},te.prototype._doDisableBrush=function(){var ae=this._zr;release(ae,MUTEX_RESOURCE_KEY,this._uid),each$f(this._handlers,function(ne,ie){ae.off(ie,ne)}),this._brushType=this._brushOption=null},te.prototype.setPanels=function(ae){if(ae&&ae.length){var ne=this._panels={};each$f(ae,function(ie){ne[ie.panelId]=clone$4(ie)})}else this._panels=null;return this},te.prototype.mount=function(ae){ae=ae||{},this._enableGlobalPan=ae.enableGlobalPan;var ne=this.group;return this._zr.add(ne),ne.attr({x:ae.x||0,y:ae.y||0,rotation:ae.rotation||0,scaleX:ae.scaleX||1,scaleY:ae.scaleY||1}),this._transform=ne.getLocalTransform(),this},te.prototype.updateCovers=function(ae){ae=map$1(ae,function(fe){return merge$1(clone$4(DEFAULT_BRUSH_OPT),fe,!0)});var ne="\0-brush-index-",ie=this._covers,oe=this._covers=[],se=this,le=this._creatingCover;return new DataDiffer$1(ie,ae,ce,ue).add(de).update(de).remove(he).execute(),this;function ue(fe,pe){return(fe.id!=null?fe.id:ne+pe)+"-"+fe.brushType}function ce(fe,pe){return ue(fe.__brushOption,pe)}function de(fe,pe){var ve=ae[fe];if(pe!=null&&ie[pe]===le)oe[fe]=ie[pe];else{var ge=oe[fe]=pe!=null?(ie[pe].__brushOption=ve,ie[pe]):endCreating(se,createCover(se,ve));updateCoverAfterCreation(se,ge)}}function he(fe){ie[fe]!==le&&se.group.remove(ie[fe])}},te.prototype.unmount=function(){return this.enableBrush(!1),clearCovers(this),this._zr.remove(this.group),this},te.prototype.dispose=function(){this.unmount(),this.off()},te}(Eventful$1);function createCover(ee,te){var ae=coverRenderers[te.brushType].createCover(ee,te);return ae.__brushOption=te,updateZ$1(ae,te),ee.group.add(ae),ae}function endCreating(ee,te){var ae=getCoverRenderer(te);return ae.endCreating&&(ae.endCreating(ee,te),updateZ$1(te,te.__brushOption)),te}function updateCoverShape(ee,te){var ae=te.__brushOption;getCoverRenderer(te).updateCoverShape(ee,te,ae.range,ae)}function updateZ$1(ee,te){var ae=te.z;ae==null&&(ae=COVER_Z),ee.traverse(function(ne){ne.z=ae,ne.z2=ae})}function updateCoverAfterCreation(ee,te){getCoverRenderer(te).updateCommon(ee,te),updateCoverShape(ee,te)}function getCoverRenderer(ee){return coverRenderers[ee.__brushOption.brushType]}function getPanelByPoint(ee,te,ae){var ne=ee._panels;if(!ne)return BRUSH_PANEL_GLOBAL;var ie,oe=ee._transform;return each$f(ne,function(se){se.isTargetByCursor(te,ae,oe)&&(ie=se)}),ie}function getPanelByCover(ee,te){var ae=ee._panels;if(!ae)return BRUSH_PANEL_GLOBAL;var ne=te.__brushOption.panelId;return ne!=null?ae[ne]:BRUSH_PANEL_GLOBAL}function clearCovers(ee){var te=ee._covers,ae=te.length;return each$f(te,function(ne){ee.group.remove(ne)},ee),te.length=0,!!ae}function trigger(ee,te){var ae=map$1(ee._covers,function(ne){var ie=ne.__brushOption,oe=clone$4(ie.range);return{brushType:ie.brushType,panelId:ie.panelId,range:oe}});ee.trigger("brush",{areas:ae,isEnd:!!te.isEnd,removeOnClick:!!te.removeOnClick})}function shouldShowCover(ee){var te=ee._track;if(!te.length)return!1;var ae=te[te.length-1],ne=te[0],ie=ae[0]-ne[0],oe=ae[1]-ne[1],se=mathPow(ie*ie+oe*oe,.5);return se>UNSELECT_THRESHOLD}function getTrackEnds(ee){var te=ee.length-1;return te<0&&(te=0),[ee[0],ee[te]]}function createBaseRectCover(ee,te,ae,ne){var ie=new Group$4;return ie.add(new Rect$3({name:"main",style:makeStyle(ae),silent:!0,draggable:!0,cursor:"move",drift:curry$1(driftRect,ee,te,ie,["n","s","w","e"]),ondragend:curry$1(trigger,te,{isEnd:!0})})),each$f(ne,function(oe){ie.add(new Rect$3({name:oe.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:curry$1(driftRect,ee,te,ie,oe),ondragend:curry$1(trigger,te,{isEnd:!0})}))}),ie}function updateBaseRect(ee,te,ae,ne){var ie=ne.brushStyle.lineWidth||0,oe=mathMax$1(ie,MIN_RESIZE_LINE_WIDTH),se=ae[0][0],le=ae[1][0],ue=se-ie/2,ce=le-ie/2,de=ae[0][1],he=ae[1][1],fe=de-oe+ie/2,pe=he-oe+ie/2,ve=de-se,ge=he-le,me=ve+ie,ye=ge+ie;updateRectShape(ee,te,"main",se,le,ve,ge),ne.transformable&&(updateRectShape(ee,te,"w",ue,ce,oe,ye),updateRectShape(ee,te,"e",fe,ce,oe,ye),updateRectShape(ee,te,"n",ue,ce,me,oe),updateRectShape(ee,te,"s",ue,pe,me,oe),updateRectShape(ee,te,"nw",ue,ce,oe,oe),updateRectShape(ee,te,"ne",fe,ce,oe,oe),updateRectShape(ee,te,"sw",ue,pe,oe,oe),updateRectShape(ee,te,"se",fe,pe,oe,oe))}function updateCommon$1(ee,te){var ae=te.__brushOption,ne=ae.transformable,ie=te.childAt(0);ie.useStyle(makeStyle(ae)),ie.attr({silent:!ne,cursor:ne?"move":"default"}),each$f([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(oe){var se=te.childOfName(oe.join("")),le=oe.length===1?getGlobalDirection1(ee,oe[0]):getGlobalDirection2(ee,oe);se&&se.attr({silent:!ne,invisible:!ne,cursor:ne?CURSOR_MAP[le]+"-resize":null})})}function updateRectShape(ee,te,ae,ne,ie,oe,se){var le=te.childOfName(ae);le&&le.setShape(pointsToRect(clipByPanel(ee,te,[[ne,ie],[ne+oe,ie+se]])))}function makeStyle(ee){return defaults$2({strokeNoScale:!0},ee.brushStyle)}function formatRectRange(ee,te,ae,ne){var ie=[mathMin$1(ee,ae),mathMin$1(te,ne)],oe=[mathMax$1(ee,ae),mathMax$1(te,ne)];return[[ie[0],oe[0]],[ie[1],oe[1]]]}function getTransform(ee){return getTransform$1(ee.group)}function getGlobalDirection1(ee,te){var ae={w:"left",e:"right",n:"top",s:"bottom"},ne={left:"w",right:"e",top:"n",bottom:"s"},ie=transformDirection(ae[te],getTransform(ee));return ne[ie]}function getGlobalDirection2(ee,te){var ae=[getGlobalDirection1(ee,te[0]),getGlobalDirection1(ee,te[1])];return(ae[0]==="e"||ae[0]==="w")&&ae.reverse(),ae.join("")}function driftRect(ee,te,ae,ne,ie,oe){var se=ae.__brushOption,le=ee.toRectRange(se.range),ue=toLocalDelta(te,ie,oe);each$f(ne,function(ce){var de=DIRECTION_MAP[ce];le[de[0]][de[1]]+=ue[de[0]]}),se.range=ee.fromRectRange(formatRectRange(le[0][0],le[1][0],le[0][1],le[1][1])),updateCoverAfterCreation(te,ae),trigger(te,{isEnd:!1})}function driftPolygon(ee,te,ae,ne){var ie=te.__brushOption.range,oe=toLocalDelta(ee,ae,ne);each$f(ie,function(se){se[0]+=oe[0],se[1]+=oe[1]}),updateCoverAfterCreation(ee,te),trigger(ee,{isEnd:!1})}function toLocalDelta(ee,te,ae){var ne=ee.group,ie=ne.transformCoordToLocal(te,ae),oe=ne.transformCoordToLocal(0,0);return[ie[0]-oe[0],ie[1]-oe[1]]}function clipByPanel(ee,te,ae){var ne=getPanelByCover(ee,te);return ne&&ne!==BRUSH_PANEL_GLOBAL?ne.clipPath(ae,ee._transform):clone$4(ae)}function pointsToRect(ee){var te=mathMin$1(ee[0][0],ee[1][0]),ae=mathMin$1(ee[0][1],ee[1][1]),ne=mathMax$1(ee[0][0],ee[1][0]),ie=mathMax$1(ee[0][1],ee[1][1]);return{x:te,y:ae,width:ne-te,height:ie-ae}}function resetCursor(ee,te,ae){if(!(!ee._brushType||isOutsideZrArea(ee,te.offsetX,te.offsetY))){var ne=ee._zr,ie=ee._covers,oe=getPanelByPoint(ee,te,ae);if(!ee._dragging)for(var se=0;se<ie.length;se++){var le=ie[se].__brushOption;if(oe&&(oe===BRUSH_PANEL_GLOBAL||le.panelId===oe.panelId)&&coverRenderers[le.brushType].contain(ie[se],ae[0],ae[1]))return}oe&&ne.setCursorStyle("crosshair")}}function preventDefault(ee){var te=ee.event;te.preventDefault&&te.preventDefault()}function mainShapeContain(ee,te,ae){return ee.childOfName("main").contain(te,ae)}function updateCoverByMouse(ee,te,ae,ne){var ie=ee._creatingCover,oe=ee._creatingPanel,se=ee._brushOption,le;if(ee._track.push(ae.slice()),shouldShowCover(ee)||ie){if(oe&&!ie){se.brushMode==="single"&&clearCovers(ee);var ue=clone$4(se);ue.brushType=determineBrushType(ue.brushType,oe),ue.panelId=oe===BRUSH_PANEL_GLOBAL?null:oe.panelId,ie=ee._creatingCover=createCover(ee,ue),ee._covers.push(ie)}if(ie){var ce=coverRenderers[determineBrushType(ee._brushType,oe)],de=ie.__brushOption;de.range=ce.getCreatingRange(clipByPanel(ee,ie,ee._track)),ne&&(endCreating(ee,ie),ce.updateCommon(ee,ie)),updateCoverShape(ee,ie),le={isEnd:ne}}}else ne&&se.brushMode==="single"&&se.removeOnClick&&getPanelByPoint(ee,te,ae)&&clearCovers(ee)&&(le={isEnd:ne,removeOnClick:!0});return le}function determineBrushType(ee,te){return ee==="auto"?te.defaultBrushType:ee}var pointerHandlers={mousedown:function(ee){if(this._dragging)handleDragEnd(this,ee);else if(!ee.target||!ee.target.draggable){preventDefault(ee);var te=this.group.transformCoordToLocal(ee.offsetX,ee.offsetY);this._creatingCover=null;var ae=this._creatingPanel=getPanelByPoint(this,ee,te);ae&&(this._dragging=!0,this._track=[te.slice()])}},mousemove:function(ee){var te=ee.offsetX,ae=ee.offsetY,ne=this.group.transformCoordToLocal(te,ae);if(resetCursor(this,ee,ne),this._dragging){preventDefault(ee);var ie=updateCoverByMouse(this,ee,ne,!1);ie&&trigger(this,ie)}},mouseup:function(ee){handleDragEnd(this,ee)}};function handleDragEnd(ee,te){if(ee._dragging){preventDefault(te);var ae=te.offsetX,ne=te.offsetY,ie=ee.group.transformCoordToLocal(ae,ne),oe=updateCoverByMouse(ee,te,ie,!0);ee._dragging=!1,ee._track=[],ee._creatingCover=null,oe&&trigger(ee,oe)}}function isOutsideZrArea(ee,te,ae){var ne=ee._zr;return te<0||te>ne.getWidth()||ae<0||ae>ne.getHeight()}var coverRenderers={lineX:getLineRenderer(0),lineY:getLineRenderer(1),rect:{createCover:function(ee,te){function ae(ne){return ne}return createBaseRectCover({toRectRange:ae,fromRectRange:ae},ee,te,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(ee){var te=getTrackEnds(ee);return formatRectRange(te[1][0],te[1][1],te[0][0],te[0][1])},updateCoverShape:function(ee,te,ae,ne){updateBaseRect(ee,te,ae,ne)},updateCommon:updateCommon$1,contain:mainShapeContain},polygon:{createCover:function(ee,te){var ae=new Group$4;return ae.add(new Polyline$3({name:"main",style:makeStyle(te),silent:!0})),ae},getCreatingRange:function(ee){return ee},endCreating:function(ee,te){te.remove(te.childAt(0)),te.add(new Polygon$1({name:"main",draggable:!0,drift:curry$1(driftPolygon,ee,te),ondragend:curry$1(trigger,ee,{isEnd:!0})}))},updateCoverShape:function(ee,te,ae,ne){te.childAt(0).setShape({points:clipByPanel(ee,te,ae)})},updateCommon:updateCommon$1,contain:mainShapeContain}};function getLineRenderer(ee){return{createCover:function(te,ae){return createBaseRectCover({toRectRange:function(ne){var ie=[ne,[0,100]];return ee&&ie.reverse(),ie},fromRectRange:function(ne){return ne[ee]}},te,ae,[[["w"],["e"]],[["n"],["s"]]][ee])},getCreatingRange:function(te){var ae=getTrackEnds(te),ne=mathMin$1(ae[0][ee],ae[1][ee]),ie=mathMax$1(ae[0][ee],ae[1][ee]);return[ne,ie]},updateCoverShape:function(te,ae,ne,ie){var oe,se=getPanelByCover(te,ae);if(se!==BRUSH_PANEL_GLOBAL&&se.getLinearBrushOtherExtent)oe=se.getLinearBrushOtherExtent(ee);else{var le=te._zr;oe=[0,[le.getWidth(),le.getHeight()][1-ee]]}var ue=[ne,oe];ee&&ue.reverse(),updateBaseRect(te,ae,ue,ie)},updateCommon:updateCommon$1,contain:mainShapeContain}}const BrushController$1=BrushController;function makeRectPanelClipPath(ee){return ee=normalizeRect(ee),function(te){return clipPointsByRect(te,ee)}}function makeLinearBrushOtherExtent(ee,te){return ee=normalizeRect(ee),function(ae){var ne=te??ae,ie=ne?ee.width:ee.height,oe=ne?ee.x:ee.y;return[oe,oe+(ie||0)]}}function makeRectIsTargetByCursor(ee,te,ae){var ne=normalizeRect(ee);return function(ie,oe){return ne.contain(oe[0],oe[1])&&!onIrrelevantElement(ie,te,ae)}}function normalizeRect(ee){return BoundingRect$1.create(ee)}var elementList$1=["axisLine","axisTickLabel","axisName"],ParallelAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne){ee.prototype.init.apply(this,arguments),(this._brushController=new BrushController$1(ne.getZr())).on("brush",bind$2(this._onBrush,this))},te.prototype.render=function(ae,ne,ie,oe){if(!fromAxisAreaSelect(ae,ne,oe)){this.axisModel=ae,this.api=ie,this.group.removeAll();var se=this._axisGroup;if(this._axisGroup=new Group$4,this.group.add(this._axisGroup),!!ae.get("show")){var le=getCoordSysModel(ae,ne),ue=le.coordinateSystem,ce=ae.getAreaSelectStyle(),de=ce.width,he=ae.axis.dim,fe=ue.getAxisLayout(he),pe=extend$1({strokeContainThreshold:de},fe),ve=new AxisBuilder$1(ae,pe);each$f(elementList$1,ve.add,ve),this._axisGroup.add(ve.getGroup()),this._refreshBrushController(pe,ce,ae,le,de,ie),groupTransition(se,this._axisGroup,ae)}}},te.prototype._refreshBrushController=function(ae,ne,ie,oe,se,le){var ue=ie.axis.getExtent(),ce=ue[1]-ue[0],de=Math.min(30,Math.abs(ce)*.1),he=BoundingRect$1.create({x:ue[0],y:-se/2,width:ce,height:se});he.x-=de,he.width+=2*de,this._brushController.mount({enableGlobalPan:!0,rotation:ae.rotation,x:ae.position[0],y:ae.position[1]}).setPanels([{panelId:"pl",clipPath:makeRectPanelClipPath(he),isTargetByCursor:makeRectIsTargetByCursor(he,le,oe),getLinearBrushOtherExtent:makeLinearBrushOtherExtent(he,0)}]).enableBrush({brushType:"lineX",brushStyle:ne,removeOnClick:!0}).updateCovers(getCoverInfoList(ie))},te.prototype._onBrush=function(ae){var ne=ae.areas,ie=this.axisModel,oe=ie.axis,se=map$1(ne,function(le){return[oe.coordToData(le.range[0],!0),oe.coordToData(le.range[1],!0)]});(!ie.option.realtime===ae.isEnd||ae.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:ie.id,intervals:se})},te.prototype.dispose=function(){this._brushController.dispose()},te.type="parallelAxis",te}(ComponentView$1);function fromAxisAreaSelect(ee,te,ae){return ae&&ae.type==="axisAreaSelect"&&te.findComponents({mainType:"parallelAxis",query:ae})[0]===ee}function getCoverInfoList(ee){var te=ee.axis;return map$1(ee.activeIntervals,function(ae){return{brushType:"lineX",panelId:"pl",range:[te.dataToCoord(ae[0],!0),te.dataToCoord(ae[1],!0)]}})}function getCoordSysModel(ee,te){return te.getComponent("parallel",ee.get("parallelIndex"))}const ParallelAxisView$1=ParallelAxisView;var actionInfo={type:"axisAreaSelect",event:"axisAreaSelected"};function installParallelActions(ee){ee.registerAction(actionInfo,function(te,ae){ae.eachComponent({mainType:"parallelAxis",query:te},function(ne){ne.axis.model.setActiveIntervals(te.intervals)})}),ee.registerAction("parallelAxisExpand",function(te,ae){ae.eachComponent({mainType:"parallel",query:te},function(ne){ne.setAxisExpand(te)})})}var defaultAxisOption={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function install$C(ee){ee.registerComponentView(ParallelView$1),ee.registerComponentModel(ParallelModel$1),ee.registerCoordinateSystem("parallel",parallelCoordSysCreator$1),ee.registerPreprocessor(parallelPreprocessor),ee.registerComponentModel(ParallelAxisModel$1),ee.registerComponentView(ParallelAxisView$1),axisModelCreator(ee,"parallel",ParallelAxisModel$1,defaultAxisOption),installParallelActions(ee)}function install$B(ee){use(install$C),ee.registerChartView(ParallelView$3),ee.registerSeriesModel(ParallelSeriesModel$1),ee.registerVisual(ee.PRIORITY.VISUAL.BRUSH,parallelVisual$1)}var SankeyPathShape=function(){function ee(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return ee}(),SankeyPath=function(ee){__extends(te,ee);function te(ae){return ee.call(this,ae)||this}return te.prototype.getDefaultShape=function(){return new SankeyPathShape},te.prototype.buildPath=function(ae,ne){var ie=ne.extent;ae.moveTo(ne.x1,ne.y1),ae.bezierCurveTo(ne.cpx1,ne.cpy1,ne.cpx2,ne.cpy2,ne.x2,ne.y2),ne.orient==="vertical"?(ae.lineTo(ne.x2+ie,ne.y2),ae.bezierCurveTo(ne.cpx2+ie,ne.cpy2,ne.cpx1+ie,ne.cpy1,ne.x1+ie,ne.y1)):(ae.lineTo(ne.x2,ne.y2+ie),ae.bezierCurveTo(ne.cpx2,ne.cpy2+ie,ne.cpx1,ne.cpy1+ie,ne.x1,ne.y1+ie)),ae.closePath()},te.prototype.highlight=function(){enterEmphasis(this)},te.prototype.downplay=function(){leaveEmphasis(this)},te}(Path$1),SankeyView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._focusAdjacencyDisabled=!1,ae}return te.prototype.render=function(ae,ne,ie){var oe=this,se=ae.getGraph(),le=this.group,ue=ae.layoutInfo,ce=ue.width,de=ue.height,he=ae.getData(),fe=ae.getData("edge"),pe=ae.get("orient");this._model=ae,le.removeAll(),le.x=ue.x,le.y=ue.y,se.eachEdge(function(ve){var ge=new SankeyPath,me=getECData(ge);me.dataIndex=ve.dataIndex,me.seriesIndex=ae.seriesIndex,me.dataType="edge";var ye=ve.getModel(),_e=ye.getModel("lineStyle"),be=_e.get("curveness"),xe=ve.node1.getLayout(),$e=ve.node1.getModel(),Se=$e.get("localX"),we=$e.get("localY"),Ae=ve.node2.getLayout(),Te=ve.node2.getModel(),De=Te.get("localX"),Me=Te.get("localY"),Ie=ve.getLayout(),Ce,Ee,Re,ke,Be,Ne,He,qe;ge.shape.extent=Math.max(1,Ie.dy),ge.shape.orient=pe,pe==="vertical"?(Ce=(Se!=null?Se*ce:xe.x)+Ie.sy,Ee=(we!=null?we*de:xe.y)+xe.dy,Re=(De!=null?De*ce:Ae.x)+Ie.ty,ke=Me!=null?Me*de:Ae.y,Be=Ce,Ne=Ee*(1-be)+ke*be,He=Re,qe=Ee*be+ke*(1-be)):(Ce=(Se!=null?Se*ce:xe.x)+xe.dx,Ee=(we!=null?we*de:xe.y)+Ie.sy,Re=De!=null?De*ce:Ae.x,ke=(Me!=null?Me*de:Ae.y)+Ie.ty,Be=Ce*(1-be)+Re*be,Ne=Ee,He=Ce*be+Re*(1-be),qe=ke),ge.setShape({x1:Ce,y1:Ee,x2:Re,y2:ke,cpx1:Be,cpy1:Ne,cpx2:He,cpy2:qe}),ge.useStyle(_e.getItemStyle()),applyCurveStyle(ge.style,pe,ve);var Oe=""+ye.get("value"),ze=getLabelStatesModels(ye,"edgeLabel");setLabelStyle(ge,ze,{labelFetcher:{getFormattedLabel:function(We,Ue,Ye,Ze,Xe,it){return ae.getFormattedLabel(We,Ue,"edge",Ze,retrieve3(Xe,ze.normal&&ze.normal.get("formatter"),Oe),it)}},labelDataIndex:ve.dataIndex,defaultText:Oe}),ge.setTextConfig({position:"inside"});var Ve=ye.getModel("emphasis");setStatesStylesFromModel(ge,ye,"lineStyle",function(We){var Ue=We.getItemStyle();return applyCurveStyle(Ue,pe,ve),Ue}),le.add(ge),fe.setItemGraphicEl(ve.dataIndex,ge);var Ge=Ve.get("focus");toggleHoverEmphasis(ge,Ge==="adjacency"?ve.getAdjacentDataIndices():Ge==="trajectory"?ve.getTrajectoryDataIndices():Ge,Ve.get("blurScope"),Ve.get("disabled"))}),se.eachNode(function(ve){var ge=ve.getLayout(),me=ve.getModel(),ye=me.get("localX"),_e=me.get("localY"),be=me.getModel("emphasis"),xe=new Rect$3({shape:{x:ye!=null?ye*ce:ge.x,y:_e!=null?_e*de:ge.y,width:ge.dx,height:ge.dy},style:me.getModel("itemStyle").getItemStyle(),z2:10});setLabelStyle(xe,getLabelStatesModels(me),{labelFetcher:{getFormattedLabel:function(Se,we){return ae.getFormattedLabel(Se,we,"node")}},labelDataIndex:ve.dataIndex,defaultText:ve.id}),xe.disableLabelAnimation=!0,xe.setStyle("fill",ve.getVisual("color")),xe.setStyle("decal",ve.getVisual("style").decal),setStatesStylesFromModel(xe,me),le.add(xe),he.setItemGraphicEl(ve.dataIndex,xe),getECData(xe).dataType="node";var $e=be.get("focus");toggleHoverEmphasis(xe,$e==="adjacency"?ve.getAdjacentDataIndices():$e==="trajectory"?ve.getTrajectoryDataIndices():$e,be.get("blurScope"),be.get("disabled"))}),he.eachItemGraphicEl(function(ve,ge){var me=he.getItemModel(ge);me.get("draggable")&&(ve.drift=function(ye,_e){oe._focusAdjacencyDisabled=!0,this.shape.x+=ye,this.shape.y+=_e,this.dirty(),ie.dispatchAction({type:"dragNode",seriesId:ae.id,dataIndex:he.getRawIndex(ge),localX:this.shape.x/ce,localY:this.shape.y/de})},ve.ondragend=function(){oe._focusAdjacencyDisabled=!1},ve.draggable=!0,ve.cursor="move")}),!this._data&&ae.isAnimationEnabled()&&le.setClipPath(createGridClipShape$1(le.getBoundingRect(),ae,function(){le.removeClipPath()})),this._data=ae.getData()},te.prototype.dispose=function(){},te.type="sankey",te}(ChartView$1);function applyCurveStyle(ee,te,ae){switch(ee.fill){case"source":ee.fill=ae.node1.getVisual("color"),ee.decal=ae.node1.getVisual("style").decal;break;case"target":ee.fill=ae.node2.getVisual("color"),ee.decal=ae.node2.getVisual("style").decal;break;case"gradient":var ne=ae.node1.getVisual("color"),ie=ae.node2.getVisual("color");isString$1(ne)&&isString$1(ie)&&(ee.fill=new LinearGradient$1(0,0,+(te==="horizontal"),+(te==="vertical"),[{color:ne,offset:0},{color:ie,offset:1}]))}}function createGridClipShape$1(ee,te,ae){var ne=new Rect$3({shape:{x:ee.x-10,y:ee.y-10,width:0,height:ee.height+20}});return initProps(ne,{shape:{width:ee.width+20}},te,ae),ne}const SankeyView$1=SankeyView;var SankeySeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.getInitialData=function(ae,ne){var ie=ae.edges||ae.links,oe=ae.data||ae.nodes,se=ae.levels;this.levelModels=[];for(var le=this.levelModels,ue=0;ue<se.length;ue++)se[ue].depth!=null&&se[ue].depth>=0&&(le[se[ue].depth]=new Model$1(se[ue],this,ne));if(oe&&ie){var ce=createGraphFromNodeEdge(oe,ie,this,!0,de);return ce.data}function de(he,fe){he.wrapMethod("getItemModel",function(pe,ve){var ge=pe.parentModel,me=ge.getData().getItemLayout(ve);if(me){var ye=me.depth,_e=ge.levelModels[ye];_e&&(pe.parentModel=_e)}return pe}),fe.wrapMethod("getItemModel",function(pe,ve){var ge=pe.parentModel,me=ge.getGraph().getEdgeByIndex(ve),ye=me.node1.getLayout();if(ye){var _e=ye.depth,be=ge.levelModels[_e];be&&(pe.parentModel=be)}return pe})}},te.prototype.setNodePosition=function(ae,ne){var ie=this.option.data||this.option.nodes,oe=ie[ae];oe.localX=ne[0],oe.localY=ne[1]},te.prototype.getGraph=function(){return this.getData().graph},te.prototype.getEdgeData=function(){return this.getGraph().edgeData},te.prototype.formatTooltip=function(ae,ne,ie){function oe(pe){return isNaN(pe)||pe==null}if(ie==="edge"){var se=this.getDataParams(ae,ie),le=se.data,ue=se.value,ce=le.source+" -- "+le.target;return createTooltipMarkup("nameValue",{name:ce,value:ue,noValue:oe(ue)})}else{var de=this.getGraph().getNodeByIndex(ae),he=de.getLayout().value,fe=this.getDataParams(ae,ie).data.name;return createTooltipMarkup("nameValue",{name:fe!=null?fe+"":null,value:he,noValue:oe(he)})}},te.prototype.optionUpdated=function(){},te.prototype.getDataParams=function(ae,ne){var ie=ee.prototype.getDataParams.call(this,ae,ne);if(ie.value==null&&ne==="node"){var oe=this.getGraph().getNodeByIndex(ae),se=oe.getLayout().value;ie.value=se}return ie},te.type="series.sankey",te.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},te}(SeriesModel$1);const SankeySeriesModel$1=SankeySeriesModel;function sankeyLayout(ee,te){ee.eachSeriesByType("sankey",function(ae){var ne=ae.get("nodeWidth"),ie=ae.get("nodeGap"),oe=getViewRect$1(ae,te);ae.layoutInfo=oe;var se=oe.width,le=oe.height,ue=ae.getGraph(),ce=ue.nodes,de=ue.edges;computeNodeValues(ce);var he=filter(ce,function(ge){return ge.getLayout().value===0}),fe=he.length!==0?0:ae.get("layoutIterations"),pe=ae.get("orient"),ve=ae.get("nodeAlign");layoutSankey(ce,de,ne,ie,se,le,fe,pe,ve)})}function getViewRect$1(ee,te){return getLayoutRect(ee.getBoxLayoutParams(),{width:te.getWidth(),height:te.getHeight()})}function layoutSankey(ee,te,ae,ne,ie,oe,se,le,ue){computeNodeBreadths(ee,te,ae,ie,oe,le,ue),computeNodeDepths(ee,te,oe,ie,ne,se,le),computeEdgeDepths(ee,le)}function computeNodeValues(ee){each$f(ee,function(te){var ae=sum(te.outEdges,getEdgeValue),ne=sum(te.inEdges,getEdgeValue),ie=te.getValue()||0,oe=Math.max(ae,ne,ie);te.setLayout({value:oe},!0)})}function computeNodeBreadths(ee,te,ae,ne,ie,oe,se){for(var le=[],ue=[],ce=[],de=[],he=0,fe=0;fe<te.length;fe++)le[fe]=1;for(var fe=0;fe<ee.length;fe++)ue[fe]=ee[fe].inEdges.length,ue[fe]===0&&ce.push(ee[fe]);for(var pe=-1;ce.length;){for(var ve=0;ve<ce.length;ve++){var ge=ce[ve],me=ge.hostGraph.data.getRawDataItem(ge.dataIndex),ye=me.depth!=null&&me.depth>=0;ye&&me.depth>pe&&(pe=me.depth),ge.setLayout({depth:ye?me.depth:he},!0),oe==="vertical"?ge.setLayout({dy:ae},!0):ge.setLayout({dx:ae},!0);for(var _e=0;_e<ge.outEdges.length;_e++){var be=ge.outEdges[_e],xe=te.indexOf(be);le[xe]=0;var $e=be.node2,Se=ee.indexOf($e);--ue[Se]===0&&de.indexOf($e)<0&&de.push($e)}}++he,ce=de,de=[]}for(var fe=0;fe<le.length;fe++)if(le[fe]===1)throw new Error("Sankey is a DAG, the original data has cycle!");var we=pe>he-1?pe:he-1;se&&se!=="left"&&adjustNodeWithNodeAlign(ee,se,oe,we);var Ae=oe==="vertical"?(ie-ae)/we:(ne-ae)/we;scaleNodeBreadths(ee,Ae,oe)}function isNodeDepth(ee){var te=ee.hostGraph.data.getRawDataItem(ee.dataIndex);return te.depth!=null&&te.depth>=0}function adjustNodeWithNodeAlign(ee,te,ae,ne){if(te==="right"){for(var ie=[],oe=ee,se=0;oe.length;){for(var le=0;le<oe.length;le++){var ue=oe[le];ue.setLayout({skNodeHeight:se},!0);for(var ce=0;ce<ue.inEdges.length;ce++){var de=ue.inEdges[ce];ie.indexOf(de.node1)<0&&ie.push(de.node1)}}oe=ie,ie=[],++se}each$f(ee,function(he){isNodeDepth(he)||he.setLayout({depth:Math.max(0,ne-he.getLayout().skNodeHeight)},!0)})}else te==="justify"&&moveSinksRight(ee,ne)}function moveSinksRight(ee,te){each$f(ee,function(ae){!isNodeDepth(ae)&&!ae.outEdges.length&&ae.setLayout({depth:te},!0)})}function scaleNodeBreadths(ee,te,ae){each$f(ee,function(ne){var ie=ne.getLayout().depth*te;ae==="vertical"?ne.setLayout({y:ie},!0):ne.setLayout({x:ie},!0)})}function computeNodeDepths(ee,te,ae,ne,ie,oe,se){var le=prepareNodesByBreadth(ee,se);initializeNodeDepth(le,te,ae,ne,ie,se),resolveCollisions(le,ie,ae,ne,se);for(var ue=1;oe>0;oe--)ue*=.99,relaxRightToLeft(le,ue,se),resolveCollisions(le,ie,ae,ne,se),relaxLeftToRight(le,ue,se),resolveCollisions(le,ie,ae,ne,se)}function prepareNodesByBreadth(ee,te){var ae=[],ne=te==="vertical"?"y":"x",ie=groupData(ee,function(oe){return oe.getLayout()[ne]});return ie.keys.sort(function(oe,se){return oe-se}),each$f(ie.keys,function(oe){ae.push(ie.buckets.get(oe))}),ae}function initializeNodeDepth(ee,te,ae,ne,ie,oe){var se=1/0;each$f(ee,function(le){var ue=le.length,ce=0;each$f(le,function(he){ce+=he.getLayout().value});var de=oe==="vertical"?(ne-(ue-1)*ie)/ce:(ae-(ue-1)*ie)/ce;de<se&&(se=de)}),each$f(ee,function(le){each$f(le,function(ue,ce){var de=ue.getLayout().value*se;oe==="vertical"?(ue.setLayout({x:ce},!0),ue.setLayout({dx:de},!0)):(ue.setLayout({y:ce},!0),ue.setLayout({dy:de},!0))})}),each$f(te,function(le){var ue=+le.getValue()*se;le.setLayout({dy:ue},!0)})}function resolveCollisions(ee,te,ae,ne,ie){var oe=ie==="vertical"?"x":"y";each$f(ee,function(se){se.sort(function(ge,me){return ge.getLayout()[oe]-me.getLayout()[oe]});for(var le,ue,ce,de=0,he=se.length,fe=ie==="vertical"?"dx":"dy",pe=0;pe<he;pe++)ue=se[pe],ce=de-ue.getLayout()[oe],ce>0&&(le=ue.getLayout()[oe]+ce,ie==="vertical"?ue.setLayout({x:le},!0):ue.setLayout({y:le},!0)),de=ue.getLayout()[oe]+ue.getLayout()[fe]+te;var ve=ie==="vertical"?ne:ae;if(ce=de-te-ve,ce>0){le=ue.getLayout()[oe]-ce,ie==="vertical"?ue.setLayout({x:le},!0):ue.setLayout({y:le},!0),de=le;for(var pe=he-2;pe>=0;--pe)ue=se[pe],ce=ue.getLayout()[oe]+ue.getLayout()[fe]+te-de,ce>0&&(le=ue.getLayout()[oe]-ce,ie==="vertical"?ue.setLayout({x:le},!0):ue.setLayout({y:le},!0)),de=ue.getLayout()[oe]}})}function relaxRightToLeft(ee,te,ae){each$f(ee.slice().reverse(),function(ne){each$f(ne,function(ie){if(ie.outEdges.length){var oe=sum(ie.outEdges,weightedTarget,ae)/sum(ie.outEdges,getEdgeValue);if(isNaN(oe)){var se=ie.outEdges.length;oe=se?sum(ie.outEdges,centerTarget,ae)/se:0}if(ae==="vertical"){var le=ie.getLayout().x+(oe-center(ie,ae))*te;ie.setLayout({x:le},!0)}else{var ue=ie.getLayout().y+(oe-center(ie,ae))*te;ie.setLayout({y:ue},!0)}}})})}function weightedTarget(ee,te){return center(ee.node2,te)*ee.getValue()}function centerTarget(ee,te){return center(ee.node2,te)}function weightedSource(ee,te){return center(ee.node1,te)*ee.getValue()}function centerSource(ee,te){return center(ee.node1,te)}function center(ee,te){return te==="vertical"?ee.getLayout().x+ee.getLayout().dx/2:ee.getLayout().y+ee.getLayout().dy/2}function getEdgeValue(ee){return ee.getValue()}function sum(ee,te,ae){for(var ne=0,ie=ee.length,oe=-1;++oe<ie;){var se=+te(ee[oe],ae);isNaN(se)||(ne+=se)}return ne}function relaxLeftToRight(ee,te,ae){each$f(ee,function(ne){each$f(ne,function(ie){if(ie.inEdges.length){var oe=sum(ie.inEdges,weightedSource,ae)/sum(ie.inEdges,getEdgeValue);if(isNaN(oe)){var se=ie.inEdges.length;oe=se?sum(ie.inEdges,centerSource,ae)/se:0}if(ae==="vertical"){var le=ie.getLayout().x+(oe-center(ie,ae))*te;ie.setLayout({x:le},!0)}else{var ue=ie.getLayout().y+(oe-center(ie,ae))*te;ie.setLayout({y:ue},!0)}}})})}function computeEdgeDepths(ee,te){var ae=te==="vertical"?"x":"y";each$f(ee,function(ne){ne.outEdges.sort(function(ie,oe){return ie.node2.getLayout()[ae]-oe.node2.getLayout()[ae]}),ne.inEdges.sort(function(ie,oe){return ie.node1.getLayout()[ae]-oe.node1.getLayout()[ae]})}),each$f(ee,function(ne){var ie=0,oe=0;each$f(ne.outEdges,function(se){se.setLayout({sy:ie},!0),ie+=se.getLayout().dy}),each$f(ne.inEdges,function(se){se.setLayout({ty:oe},!0),oe+=se.getLayout().dy})})}function sankeyVisual(ee){ee.eachSeriesByType("sankey",function(te){var ae=te.getGraph(),ne=ae.nodes,ie=ae.edges;if(ne.length){var oe=1/0,se=-1/0;each$f(ne,function(le){var ue=le.getLayout().value;ue<oe&&(oe=ue),ue>se&&(se=ue)}),each$f(ne,function(le){var ue=new VisualMapping$1({type:"color",mappingMethod:"linear",dataExtent:[oe,se],visual:te.get("color")}),ce=ue.mapValueToVisual(le.getLayout().value),de=le.getModel().get(["itemStyle","color"]);de!=null?(le.setVisual("color",de),le.setVisual("style",{fill:de})):(le.setVisual("color",ce),le.setVisual("style",{fill:ce}))})}ie.length&&each$f(ie,function(le){var ue=le.getModel().get("lineStyle");le.setVisual("style",ue)})})}function install$A(ee){ee.registerChartView(SankeyView$1),ee.registerSeriesModel(SankeySeriesModel$1),ee.registerLayout(sankeyLayout),ee.registerVisual(sankeyVisual),ee.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(te,ae){ae.eachComponent({mainType:"series",subType:"sankey",query:te},function(ne){ne.setNodePosition(te.dataIndex,[te.localX,te.localY])})})}var WhiskerBoxCommonMixin=function(){function ee(){}return ee.prototype.getInitialData=function(te,ae){var ne,ie=ae.getComponent("xAxis",this.get("xAxisIndex")),oe=ae.getComponent("yAxis",this.get("yAxisIndex")),se=ie.get("type"),le=oe.get("type"),ue;se==="category"?(te.layout="horizontal",ne=ie.getOrdinalMeta(),ue=!0):le==="category"?(te.layout="vertical",ne=oe.getOrdinalMeta(),ue=!0):te.layout=te.layout||"horizontal";var ce=["x","y"],de=te.layout==="horizontal"?0:1,he=this._baseAxisDim=ce[de],fe=ce[1-de],pe=[ie,oe],ve=pe[de].get("type"),ge=pe[1-de].get("type"),me=te.data;if(me&&ue){var ye=[];each$f(me,function(xe,$e){var Se;isArray$2(xe)?(Se=xe.slice(),xe.unshift($e)):isArray$2(xe.value)?(Se=extend$1({},xe),Se.value=Se.value.slice(),xe.value.unshift($e)):Se=xe,ye.push(Se)}),te.data=ye}var _e=this.defaultValueDimensions,be=[{name:he,type:getDimensionTypeByAxis(ve),ordinalMeta:ne,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:fe,type:getDimensionTypeByAxis(ge),dimsDef:_e.slice()}];return createSeriesDataSimply(this,{coordDimensions:be,dimensionsCount:_e.length+1,encodeDefaulter:curry$1(makeSeriesEncodeForAxisCoordSys,be,this)})},ee.prototype.getBaseAxis=function(){var te=this._baseAxisDim;return this.ecModel.getComponent(te+"Axis",this.get(te+"AxisIndex")).axis},ee}(),BoxplotSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],ae.visualDrawType="stroke",ae}return te.type="series.boxplot",te.dependencies=["xAxis","yAxis","grid"],te.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},te}(SeriesModel$1);mixin(BoxplotSeriesModel,WhiskerBoxCommonMixin,!0);const BoxplotSeriesModel$1=BoxplotSeriesModel;var BoxplotView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=this.group,le=this._data;this._data||se.removeAll();var ue=ae.get("layout")==="horizontal"?1:0;oe.diff(le).add(function(ce){if(oe.hasValue(ce)){var de=oe.getItemLayout(ce),he=createNormalBox$1(de,oe,ce,ue,!0);oe.setItemGraphicEl(ce,he),se.add(he)}}).update(function(ce,de){var he=le.getItemGraphicEl(de);if(!oe.hasValue(ce)){se.remove(he);return}var fe=oe.getItemLayout(ce);he?(saveOldStyle(he),updateNormalBoxData(fe,he,oe,ce)):he=createNormalBox$1(fe,oe,ce,ue),se.add(he),oe.setItemGraphicEl(ce,he)}).remove(function(ce){var de=le.getItemGraphicEl(ce);de&&se.remove(de)}).execute(),this._data=oe},te.prototype.remove=function(ae){var ne=this.group,ie=this._data;this._data=null,ie&&ie.eachItemGraphicEl(function(oe){oe&&ne.remove(oe)})},te.type="boxplot",te}(ChartView$1),BoxPathShape=function(){function ee(){}return ee}(),BoxPath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="boxplotBoxPath",ne}return te.prototype.getDefaultShape=function(){return new BoxPathShape},te.prototype.buildPath=function(ae,ne){var ie=ne.points,oe=0;for(ae.moveTo(ie[oe][0],ie[oe][1]),oe++;oe<4;oe++)ae.lineTo(ie[oe][0],ie[oe][1]);for(ae.closePath();oe<ie.length;oe++)ae.moveTo(ie[oe][0],ie[oe][1]),oe++,ae.lineTo(ie[oe][0],ie[oe][1])},te}(Path$1);function createNormalBox$1(ee,te,ae,ne,ie){var oe=ee.ends,se=new BoxPath({shape:{points:ie?transInit$1(oe,ne,ee):oe}});return updateNormalBoxData(ee,se,te,ae,ie),se}function updateNormalBoxData(ee,te,ae,ne,ie){var oe=ae.hostModel,se=graphic$1[ie?"initProps":"updateProps"];se(te,{shape:{points:ee.ends}},oe,ne),te.useStyle(ae.getItemVisual(ne,"style")),te.style.strokeNoScale=!0,te.z2=100;var le=ae.getItemModel(ne),ue=le.getModel("emphasis");setStatesStylesFromModel(te,le),toggleHoverEmphasis(te,ue.get("focus"),ue.get("blurScope"),ue.get("disabled"))}function transInit$1(ee,te,ae){return map$1(ee,function(ne){return ne=ne.slice(),ne[te]=ae.initBaseline,ne})}const BoxplotView$1=BoxplotView;var each$9=each$f;function boxplotLayout(ee){var te=groupSeriesByAxis(ee);each$9(te,function(ae){var ne=ae.seriesModels;ne.length&&(calculateBase(ae),each$9(ne,function(ie,oe){layoutSingleSeries(ie,ae.boxOffsetList[oe],ae.boxWidthList[oe])}))})}function groupSeriesByAxis(ee){var te=[],ae=[];return ee.eachSeriesByType("boxplot",function(ne){var ie=ne.getBaseAxis(),oe=indexOf(ae,ie);oe<0&&(oe=ae.length,ae[oe]=ie,te[oe]={axis:ie,seriesModels:[]}),te[oe].seriesModels.push(ne)}),te}function calculateBase(ee){var te=ee.axis,ae=ee.seriesModels,ne=ae.length,ie=ee.boxWidthList=[],oe=ee.boxOffsetList=[],se=[],le;if(te.type==="category")le=te.getBandWidth();else{var ue=0;each$9(ae,function(ve){ue=Math.max(ue,ve.getData().count())});var ce=te.getExtent();le=Math.abs(ce[1]-ce[0])/ue}each$9(ae,function(ve){var ge=ve.get("boxWidth");isArray$2(ge)||(ge=[ge,ge]),se.push([parsePercent(ge[0],le)||0,parsePercent(ge[1],le)||0])});var de=le*.8-2,he=de/ne*.3,fe=(de-he*(ne-1))/ne,pe=fe/2-de/2;each$9(ae,function(ve,ge){oe.push(pe),pe+=he+fe,ie.push(Math.min(Math.max(fe,se[ge][0]),se[ge][1]))})}function layoutSingleSeries(ee,te,ae){var ne=ee.coordinateSystem,ie=ee.getData(),oe=ae/2,se=ee.get("layout")==="horizontal"?0:1,le=1-se,ue=["x","y"],ce=ie.mapDimension(ue[se]),de=ie.mapDimensionsAll(ue[le]);if(ce==null||de.length<5)return;for(var he=0;he<ie.count();he++){var fe=ie.get(ce,he),pe=be(fe,de[2],he),ve=be(fe,de[0],he),ge=be(fe,de[1],he),me=be(fe,de[3],he),ye=be(fe,de[4],he),_e=[];xe(_e,ge,!1),xe(_e,me,!0),_e.push(ve,ge,ye,me),$e(_e,ve),$e(_e,ye),$e(_e,pe),ie.setItemLayout(he,{initBaseline:pe[le],ends:_e})}function be(Se,we,Ae){var Te=ie.get(we,Ae),De=[];De[se]=Se,De[le]=Te;var Me;return isNaN(Se)||isNaN(Te)?Me=[NaN,NaN]:(Me=ne.dataToPoint(De),Me[se]+=te),Me}function xe(Se,we,Ae){var Te=we.slice(),De=we.slice();Te[se]+=oe,De[se]-=oe,Ae?Se.push(Te,De):Se.push(De,Te)}function $e(Se,we){var Ae=we.slice(),Te=we.slice();Ae[se]-=oe,Te[se]+=oe,Se.push(Ae,Te)}}function prepareBoxplotData(ee,te){te=te||{};for(var ae=[],ne=[],ie=te.boundIQR,oe=ie==="none"||ie===0,se=0;se<ee.length;se++){var le=asc$2(ee[se].slice()),ue=quantile(le,.25),ce=quantile(le,.5),de=quantile(le,.75),he=le[0],fe=le[le.length-1],pe=(ie??1.5)*(de-ue),ve=oe?he:Math.max(he,ue-pe),ge=oe?fe:Math.min(fe,de+pe),me=te.itemNameFormatter,ye=isFunction$1(me)?me({value:se}):isString$1(me)?me.replace("{value}",se+""):se+"";ae.push([ye,ve,ue,ce,de,ge]);for(var _e=0;_e<le.length;_e++){var be=le[_e];if(be<ve||be>ge){var xe=[ye,be];ne.push(xe)}}}return{boxData:ae,outliers:ne}}var boxplotTransform={type:"echarts:boxplot",transform:function(te){var ae=te.upstream;if(ae.sourceFormat!==SOURCE_FORMAT_ARRAY_ROWS){var ne="";throwError(ne)}var ie=prepareBoxplotData(ae.getRawData(),te.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:ie.boxData},{data:ie.outliers}]}};function install$z(ee){ee.registerSeriesModel(BoxplotSeriesModel$1),ee.registerChartView(BoxplotView$1),ee.registerLayout(boxplotLayout),ee.registerTransform(boxplotTransform)}var SKIP_PROPS=["color","borderColor"],CandlestickView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(ae),this._isLargeDraw?this._renderLarge(ae):this._renderNormal(ae)},te.prototype.incrementalPrepareRender=function(ae,ne,ie){this._clear(),this._updateDrawMode(ae)},te.prototype.incrementalRender=function(ae,ne,ie,oe){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(ae,ne):this._incrementalRenderNormal(ae,ne)},te.prototype.eachRendered=function(ae){traverseElements(this._progressiveEls||this.group,ae)},te.prototype._updateDrawMode=function(ae){var ne=ae.pipelineContext.large;(this._isLargeDraw==null||ne!==this._isLargeDraw)&&(this._isLargeDraw=ne,this._clear())},te.prototype._renderNormal=function(ae){var ne=ae.getData(),ie=this._data,oe=this.group,se=ne.getLayout("isSimpleBox"),le=ae.get("clip",!0),ue=ae.coordinateSystem,ce=ue.getArea&&ue.getArea();this._data||oe.removeAll(),ne.diff(ie).add(function(de){if(ne.hasValue(de)){var he=ne.getItemLayout(de);if(le&&isNormalBoxClipped(ce,he))return;var fe=createNormalBox(he,de,!0);initProps(fe,{shape:{points:he.ends}},ae,de),setBoxCommon(fe,ne,de,se),oe.add(fe),ne.setItemGraphicEl(de,fe)}}).update(function(de,he){var fe=ie.getItemGraphicEl(he);if(!ne.hasValue(de)){oe.remove(fe);return}var pe=ne.getItemLayout(de);if(le&&isNormalBoxClipped(ce,pe)){oe.remove(fe);return}fe?(updateProps$1(fe,{shape:{points:pe.ends}},ae,de),saveOldStyle(fe)):fe=createNormalBox(pe),setBoxCommon(fe,ne,de,se),oe.add(fe),ne.setItemGraphicEl(de,fe)}).remove(function(de){var he=ie.getItemGraphicEl(de);he&&oe.remove(he)}).execute(),this._data=ne},te.prototype._renderLarge=function(ae){this._clear(),createLarge(ae,this.group);var ne=ae.get("clip",!0)?createClipPath(ae.coordinateSystem,!1,ae):null;ne?this.group.setClipPath(ne):this.group.removeClipPath()},te.prototype._incrementalRenderNormal=function(ae,ne){for(var ie=ne.getData(),oe=ie.getLayout("isSimpleBox"),se;(se=ae.next())!=null;){var le=ie.getItemLayout(se),ue=createNormalBox(le);setBoxCommon(ue,ie,se,oe),ue.incremental=!0,this.group.add(ue),this._progressiveEls.push(ue)}},te.prototype._incrementalRenderLarge=function(ae,ne){createLarge(ne,this.group,this._progressiveEls,!0)},te.prototype.remove=function(ae){this._clear()},te.prototype._clear=function(){this.group.removeAll(),this._data=null},te.type="candlestick",te}(ChartView$1),NormalBoxPathShape=function(){function ee(){}return ee}(),NormalBoxPath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="normalCandlestickBox",ne}return te.prototype.getDefaultShape=function(){return new NormalBoxPathShape},te.prototype.buildPath=function(ae,ne){var ie=ne.points;this.__simpleBox?(ae.moveTo(ie[4][0],ie[4][1]),ae.lineTo(ie[6][0],ie[6][1])):(ae.moveTo(ie[0][0],ie[0][1]),ae.lineTo(ie[1][0],ie[1][1]),ae.lineTo(ie[2][0],ie[2][1]),ae.lineTo(ie[3][0],ie[3][1]),ae.closePath(),ae.moveTo(ie[4][0],ie[4][1]),ae.lineTo(ie[5][0],ie[5][1]),ae.moveTo(ie[6][0],ie[6][1]),ae.lineTo(ie[7][0],ie[7][1]))},te}(Path$1);function createNormalBox(ee,te,ae){var ne=ee.ends;return new NormalBoxPath({shape:{points:ae?transInit(ne,ee):ne},z2:100})}function isNormalBoxClipped(ee,te){for(var ae=!0,ne=0;ne<te.ends.length;ne++)if(ee.contain(te.ends[ne][0],te.ends[ne][1])){ae=!1;break}return ae}function setBoxCommon(ee,te,ae,ne){var ie=te.getItemModel(ae);ee.useStyle(te.getItemVisual(ae,"style")),ee.style.strokeNoScale=!0,ee.__simpleBox=ne,setStatesStylesFromModel(ee,ie)}function transInit(ee,te){return map$1(ee,function(ae){return ae=ae.slice(),ae[1]=te.initBaseline,ae})}var LargeBoxPathShape=function(){function ee(){}return ee}(),LargeBoxPath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne.type="largeCandlestickBox",ne}return te.prototype.getDefaultShape=function(){return new LargeBoxPathShape},te.prototype.buildPath=function(ae,ne){for(var ie=ne.points,oe=0;oe<ie.length;)if(this.__sign===ie[oe++]){var se=ie[oe++];ae.moveTo(se,ie[oe++]),ae.lineTo(se,ie[oe++])}else oe+=3},te}(Path$1);function createLarge(ee,te,ae,ne){var ie=ee.getData(),oe=ie.getLayout("largePoints"),se=new LargeBoxPath({shape:{points:oe},__sign:1,ignoreCoarsePointer:!0});te.add(se);var le=new LargeBoxPath({shape:{points:oe},__sign:-1,ignoreCoarsePointer:!0});te.add(le);var ue=new LargeBoxPath({shape:{points:oe},__sign:0,ignoreCoarsePointer:!0});te.add(ue),setLargeStyle(1,se,ee),setLargeStyle(-1,le,ee),setLargeStyle(0,ue,ee),ne&&(se.incremental=!0,le.incremental=!0),ae&&ae.push(se,le)}function setLargeStyle(ee,te,ae,ne){var ie=ae.get(["itemStyle",ee>0?"borderColor":"borderColor0"])||ae.get(["itemStyle",ee>0?"color":"color0"]);ee===0&&(ie=ae.get(["itemStyle","borderColorDoji"]));var oe=ae.getModel("itemStyle").getItemStyle(SKIP_PROPS);te.useStyle(oe),te.style.fill=null,te.style.stroke=ie}const CandlestickView$1=CandlestickView;var CandlestickSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],ae}return te.prototype.getShadowDim=function(){return"open"},te.prototype.brushSelector=function(ae,ne,ie){var oe=ne.getItemLayout(ae);return oe&&ie.rect(oe.brushRect)},te.type="series.candlestick",te.dependencies=["xAxis","yAxis","grid"],te.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderColorDoji:null,borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},te}(SeriesModel$1);mixin(CandlestickSeriesModel,WhiskerBoxCommonMixin,!0);const CandlestickSeriesModel$1=CandlestickSeriesModel;function candlestickPreprocessor(ee){!ee||!isArray$2(ee.series)||each$f(ee.series,function(te){isObject$4(te)&&te.type==="k"&&(te.type="candlestick")})}var positiveBorderColorQuery=["itemStyle","borderColor"],negativeBorderColorQuery=["itemStyle","borderColor0"],dojiBorderColorQuery=["itemStyle","borderColorDoji"],positiveColorQuery=["itemStyle","color"],negativeColorQuery=["itemStyle","color0"],candlestickVisual={seriesType:"candlestick",plan:createRenderPlanner(),performRawSeries:!0,reset:function(ee,te){function ae(oe,se){return se.get(oe>0?positiveColorQuery:negativeColorQuery)}function ne(oe,se){return se.get(oe===0?dojiBorderColorQuery:oe>0?positiveBorderColorQuery:negativeBorderColorQuery)}if(!te.isSeriesFiltered(ee)){var ie=ee.pipelineContext.large;return!ie&&{progress:function(oe,se){for(var le;(le=oe.next())!=null;){var ue=se.getItemModel(le),ce=se.getItemLayout(le).sign,de=ue.getItemStyle();de.fill=ae(ce,ue),de.stroke=ne(ce,ue)||de.fill;var he=se.ensureUniqueItemVisual(le,"style");extend$1(he,de)}}}}}};const candlestickVisual$1=candlestickVisual;var candlestickLayout={seriesType:"candlestick",plan:createRenderPlanner(),reset:function(ee){var te=ee.coordinateSystem,ae=ee.getData(),ne=calculateCandleWidth(ee,ae),ie=0,oe=1,se=["x","y"],le=ae.getDimensionIndex(ae.mapDimension(se[ie])),ue=map$1(ae.mapDimensionsAll(se[oe]),ae.getDimensionIndex,ae),ce=ue[0],de=ue[1],he=ue[2],fe=ue[3];if(ae.setLayout({candleWidth:ne,isSimpleBox:ne<=1.3}),le<0||ue.length<4)return;return{progress:ee.pipelineContext.large?ve:pe};function pe(ge,me){for(var ye,_e=me.getStore();(ye=ge.next())!=null;){var be=_e.get(le,ye),xe=_e.get(ce,ye),$e=_e.get(de,ye),Se=_e.get(he,ye),we=_e.get(fe,ye),Ae=Math.min(xe,$e),Te=Math.max(xe,$e),De=Be(Ae,be),Me=Be(Te,be),Ie=Be(Se,be),Ce=Be(we,be),Ee=[];Ne(Ee,Me,0),Ne(Ee,De,1),Ee.push(qe(Ce),qe(Me),qe(Ie),qe(De));var Re=me.getItemModel(ye),ke=!!Re.get(["itemStyle","borderColorDoji"]);me.setItemLayout(ye,{sign:getSign(_e,ye,xe,$e,de,ke),initBaseline:xe>$e?Me[oe]:De[oe],ends:Ee,brushRect:He(Se,we,be)})}function Be(Oe,ze){var Ve=[];return Ve[ie]=ze,Ve[oe]=Oe,isNaN(ze)||isNaN(Oe)?[NaN,NaN]:te.dataToPoint(Ve)}function Ne(Oe,ze,Ve){var Ge=ze.slice(),We=ze.slice();Ge[ie]=subPixelOptimize(Ge[ie]+ne/2,1,!1),We[ie]=subPixelOptimize(We[ie]-ne/2,1,!0),Ve?Oe.push(Ge,We):Oe.push(We,Ge)}function He(Oe,ze,Ve){var Ge=Be(Oe,Ve),We=Be(ze,Ve);return Ge[ie]-=ne/2,We[ie]-=ne/2,{x:Ge[0],y:Ge[1],width:ne,height:We[1]-Ge[1]}}function qe(Oe){return Oe[ie]=subPixelOptimize(Oe[ie],1),Oe}}function ve(ge,me){for(var ye=createFloat32Array(ge.count*4),_e=0,be,xe=[],$e=[],Se,we=me.getStore(),Ae=!!ee.get(["itemStyle","borderColorDoji"]);(Se=ge.next())!=null;){var Te=we.get(le,Se),De=we.get(ce,Se),Me=we.get(de,Se),Ie=we.get(he,Se),Ce=we.get(fe,Se);if(isNaN(Te)||isNaN(Ie)||isNaN(Ce)){ye[_e++]=NaN,_e+=3;continue}ye[_e++]=getSign(we,Se,De,Me,de,Ae),xe[ie]=Te,xe[oe]=Ie,be=te.dataToPoint(xe,null,$e),ye[_e++]=be?be[0]:NaN,ye[_e++]=be?be[1]:NaN,xe[oe]=Ce,be=te.dataToPoint(xe,null,$e),ye[_e++]=be?be[1]:NaN}me.setLayout("largePoints",ye)}}};function getSign(ee,te,ae,ne,ie,oe){var se;return ae>ne?se=-1:ae<ne?se=1:se=oe?0:te>0?ee.get(ie,te-1)<=ne?1:-1:1,se}function calculateCandleWidth(ee,te){var ae=ee.getBaseAxis(),ne,ie=ae.type==="category"?ae.getBandWidth():(ne=ae.getExtent(),Math.abs(ne[1]-ne[0])/te.count()),oe=parsePercent(retrieve2(ee.get("barMaxWidth"),ie),ie),se=parsePercent(retrieve2(ee.get("barMinWidth"),1),ie),le=ee.get("barWidth");return le!=null?parsePercent(le,ie):Math.max(Math.min(ie/2,oe),se)}const candlestickLayout$1=candlestickLayout;function install$y(ee){ee.registerChartView(CandlestickView$1),ee.registerSeriesModel(CandlestickSeriesModel$1),ee.registerPreprocessor(candlestickPreprocessor),ee.registerVisual(candlestickVisual$1),ee.registerLayout(candlestickLayout$1)}function updateRipplePath(ee,te){var ae=te.rippleEffectColor||te.color;ee.eachChild(function(ne){ne.attr({z:te.z,zlevel:te.zlevel,style:{stroke:te.brushType==="stroke"?ae:null,fill:te.brushType==="fill"?ae:null}})})}var EffectSymbol=function(ee){__extends(te,ee);function te(ae,ne){var ie=ee.call(this)||this,oe=new SymbolClz(ae,ne),se=new Group$4;return ie.add(oe),ie.add(se),ie.updateData(ae,ne),ie}return te.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},te.prototype.startEffectAnimation=function(ae){for(var ne=ae.symbolType,ie=ae.color,oe=ae.rippleNumber,se=this.childAt(1),le=0;le<oe;le++){var ue=createSymbol$1(ne,-1,-1,2,2,ie);ue.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scaleX:.5,scaleY:.5});var ce=-le/oe*ae.period+ae.effectOffset;ue.animate("",!0).when(ae.period,{scaleX:ae.rippleScale/2,scaleY:ae.rippleScale/2}).delay(ce).start(),ue.animateStyle(!0).when(ae.period,{opacity:0}).delay(ce).start(),se.add(ue)}updateRipplePath(se,ae)},te.prototype.updateEffectAnimation=function(ae){for(var ne=this._effectCfg,ie=this.childAt(1),oe=["symbolType","period","rippleScale","rippleNumber"],se=0;se<oe.length;se++){var le=oe[se];if(ne[le]!==ae[le]){this.stopEffectAnimation(),this.startEffectAnimation(ae);return}}updateRipplePath(ie,ae)},te.prototype.highlight=function(){enterEmphasis(this)},te.prototype.downplay=function(){leaveEmphasis(this)},te.prototype.getSymbolType=function(){var ae=this.childAt(0);return ae&&ae.getSymbolType()},te.prototype.updateData=function(ae,ne){var ie=this,oe=ae.hostModel;this.childAt(0).updateData(ae,ne);var se=this.childAt(1),le=ae.getItemModel(ne),ue=ae.getItemVisual(ne,"symbol"),ce=normalizeSymbolSize(ae.getItemVisual(ne,"symbolSize")),de=ae.getItemVisual(ne,"style"),he=de&&de.fill,fe=le.getModel("emphasis");se.setScale(ce),se.traverse(function(me){me.setStyle("fill",he)});var pe=normalizeSymbolOffset(ae.getItemVisual(ne,"symbolOffset"),ce);pe&&(se.x=pe[0],se.y=pe[1]);var ve=ae.getItemVisual(ne,"symbolRotate");se.rotation=(ve||0)*Math.PI/180||0;var ge={};ge.showEffectOn=oe.get("showEffectOn"),ge.rippleScale=le.get(["rippleEffect","scale"]),ge.brushType=le.get(["rippleEffect","brushType"]),ge.period=le.get(["rippleEffect","period"])*1e3,ge.effectOffset=ne/ae.count(),ge.z=oe.getShallow("z")||0,ge.zlevel=oe.getShallow("zlevel")||0,ge.symbolType=ue,ge.color=he,ge.rippleEffectColor=le.get(["rippleEffect","color"]),ge.rippleNumber=le.get(["rippleEffect","number"]),ge.showEffectOn==="render"?(this._effectCfg?this.updateEffectAnimation(ge):this.startEffectAnimation(ge),this._effectCfg=ge):(this._effectCfg=null,this.stopEffectAnimation(),this.onHoverStateChange=function(me){me==="emphasis"?ge.showEffectOn!=="render"&&ie.startEffectAnimation(ge):me==="normal"&&ge.showEffectOn!=="render"&&ie.stopEffectAnimation()}),this._effectCfg=ge,toggleHoverEmphasis(this,fe.get("focus"),fe.get("blurScope"),fe.get("disabled"))},te.prototype.fadeOut=function(ae){ae&&ae()},te}(Group$4);const EffectSymbol$1=EffectSymbol;var EffectScatterView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(){this._symbolDraw=new SymbolDraw$1(EffectSymbol$1)},te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=this._symbolDraw;se.updateData(oe,{clipShape:this._getClipShape(ae)}),this.group.add(se.group)},te.prototype._getClipShape=function(ae){var ne=ae.coordinateSystem,ie=ne&&ne.getArea&&ne.getArea();return ae.get("clip",!0)?ie:null},te.prototype.updateTransform=function(ae,ne,ie){var oe=ae.getData();this.group.dirty();var se=pointsLayout("").reset(ae,ne,ie);se.progress&&se.progress({start:0,end:oe.count(),count:oe.count()},oe),this._symbolDraw.updateLayout()},te.prototype._updateGroupTransform=function(ae){var ne=ae.coordinateSystem;ne&&ne.getRoamTransform&&(this.group.transform=clone$2(ne.getRoamTransform()),this.group.decomposeTransform())},te.prototype.remove=function(ae,ne){this._symbolDraw&&this._symbolDraw.remove(!0)},te.type="effectScatter",te}(ChartView$1);const EffectScatterView$1=EffectScatterView;var EffectScatterSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.hasSymbolVisual=!0,ae}return te.prototype.getInitialData=function(ae,ne){return createSeriesData(null,this,{useEncodeDefaulter:!0})},te.prototype.brushSelector=function(ae,ne,ie){return ie.point(ne.getItemLayout(ae))},te.type="series.effectScatter",te.dependencies=["grid","polar"],te.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",clip:!0,rippleEffect:{period:4,scale:2.5,brushType:"fill",number:3},universalTransition:{divideShape:"clone"},symbolSize:10},te}(SeriesModel$1);const EffectScatterSeriesModel$1=EffectScatterSeriesModel;function install$x(ee){ee.registerChartView(EffectScatterView$1),ee.registerSeriesModel(EffectScatterSeriesModel$1),ee.registerLayout(pointsLayout("effectScatter"))}var EffectLine=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this)||this;return oe.add(oe.createLine(ae,ne,ie)),oe._updateEffectSymbol(ae,ne),oe}return te.prototype.createLine=function(ae,ne,ie){return new Line$1(ae,ne,ie)},te.prototype._updateEffectSymbol=function(ae,ne){var ie=ae.getItemModel(ne),oe=ie.getModel("effect"),se=oe.get("symbolSize"),le=oe.get("symbol");isArray$2(se)||(se=[se,se]);var ue=ae.getItemVisual(ne,"style"),ce=oe.get("color")||ue&&ue.stroke,de=this.childAt(1);this._symbolType!==le&&(this.remove(de),de=createSymbol$1(le,-.5,-.5,1,1,ce),de.z2=100,de.culling=!0,this.add(de)),de&&(de.setStyle("shadowColor",ce),de.setStyle(oe.getItemStyle(["color"])),de.scaleX=se[0],de.scaleY=se[1],de.setColor(ce),this._symbolType=le,this._symbolScale=se,this._updateEffectAnimation(ae,oe,ne))},te.prototype._updateEffectAnimation=function(ae,ne,ie){var oe=this.childAt(1);if(oe){var se=ae.getItemLayout(ie),le=ne.get("period")*1e3,ue=ne.get("loop"),ce=ne.get("roundTrip"),de=ne.get("constantSpeed"),he=retrieve(ne.get("delay"),function(pe){return pe/ae.count()*le/3});if(oe.ignore=!0,this._updateAnimationPoints(oe,se),de>0&&(le=this._getLineLength(oe)/de*1e3),le!==this._period||ue!==this._loop||ce!==this._roundTrip){oe.stopAnimation();var fe=void 0;isFunction$1(he)?fe=he(ie):fe=he,oe.__t>0&&(fe=-le*oe.__t),this._animateSymbol(oe,le,fe,ue,ce)}this._period=le,this._loop=ue,this._roundTrip=ce}},te.prototype._animateSymbol=function(ae,ne,ie,oe,se){if(ne>0){ae.__t=0;var le=this,ue=ae.animate("",oe).when(se?ne*2:ne,{__t:se?2:1}).delay(ie).during(function(){le._updateSymbolPosition(ae)});oe||ue.done(function(){le.remove(ae)}),ue.start()}},te.prototype._getLineLength=function(ae){return dist$1(ae.__p1,ae.__cp1)+dist$1(ae.__cp1,ae.__p2)},te.prototype._updateAnimationPoints=function(ae,ne){ae.__p1=ne[0],ae.__p2=ne[1],ae.__cp1=ne[2]||[(ne[0][0]+ne[1][0])/2,(ne[0][1]+ne[1][1])/2]},te.prototype.updateData=function(ae,ne,ie){this.childAt(0).updateData(ae,ne,ie),this._updateEffectSymbol(ae,ne)},te.prototype._updateSymbolPosition=function(ae){var ne=ae.__p1,ie=ae.__p2,oe=ae.__cp1,se=ae.__t<1?ae.__t:2-ae.__t,le=[ae.x,ae.y],ue=le.slice(),ce=quadraticAt$1,de=quadraticDerivativeAt;le[0]=ce(ne[0],oe[0],ie[0],se),le[1]=ce(ne[1],oe[1],ie[1],se);var he=ae.__t<1?de(ne[0],oe[0],ie[0],se):de(ie[0],oe[0],ne[0],1-se),fe=ae.__t<1?de(ne[1],oe[1],ie[1],se):de(ie[1],oe[1],ne[1],1-se);ae.rotation=-Math.atan2(fe,he)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(ae.__lastT!==void 0&&ae.__lastT<ae.__t?(ae.scaleY=dist$1(ue,le)*1.05,se===1&&(le[0]=ue[0]+(le[0]-ue[0])/2,le[1]=ue[1]+(le[1]-ue[1])/2)):ae.__lastT===1?ae.scaleY=2*dist$1(ne,le):ae.scaleY=this._symbolScale[1]),ae.__lastT=ae.__t,ae.ignore=!1,ae.x=le[0],ae.y=le[1]},te.prototype.updateLayout=function(ae,ne){this.childAt(0).updateLayout(ae,ne);var ie=ae.getItemModel(ne).getModel("effect");this._updateEffectAnimation(ae,ie,ne)},te}(Group$4);const EffectLine$1=EffectLine;var Polyline=function(ee){__extends(te,ee);function te(ae,ne,ie){var oe=ee.call(this)||this;return oe._createPolyline(ae,ne,ie),oe}return te.prototype._createPolyline=function(ae,ne,ie){var oe=ae.getItemLayout(ne),se=new Polyline$3({shape:{points:oe}});this.add(se),this._updateCommonStl(ae,ne,ie)},te.prototype.updateData=function(ae,ne,ie){var oe=ae.hostModel,se=this.childAt(0),le={shape:{points:ae.getItemLayout(ne)}};updateProps$1(se,le,oe,ne),this._updateCommonStl(ae,ne,ie)},te.prototype._updateCommonStl=function(ae,ne,ie){var oe=this.childAt(0),se=ae.getItemModel(ne),le=ie&&ie.emphasisLineStyle,ue=ie&&ie.focus,ce=ie&&ie.blurScope,de=ie&&ie.emphasisDisabled;if(!ie||ae.hasItemOption){var he=se.getModel("emphasis");le=he.getModel("lineStyle").getLineStyle(),de=he.get("disabled"),ue=he.get("focus"),ce=he.get("blurScope")}oe.useStyle(ae.getItemVisual(ne,"style")),oe.style.fill=null,oe.style.strokeNoScale=!0;var fe=oe.ensureState("emphasis");fe.style=le,toggleHoverEmphasis(this,ue,ce,de)},te.prototype.updateLayout=function(ae,ne){var ie=this.childAt(0);ie.setShape("points",ae.getItemLayout(ne))},te}(Group$4);const Polyline$1=Polyline;var EffectPolyline=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae._lastFrame=0,ae._lastFramePercent=0,ae}return te.prototype.createLine=function(ae,ne,ie){return new Polyline$1(ae,ne,ie)},te.prototype._updateAnimationPoints=function(ae,ne){this._points=ne;for(var ie=[0],oe=0,se=1;se<ne.length;se++){var le=ne[se-1],ue=ne[se];oe+=dist$1(le,ue),ie.push(oe)}if(oe===0){this._length=0;return}for(var se=0;se<ie.length;se++)ie[se]/=oe;this._offsets=ie,this._length=oe},te.prototype._getLineLength=function(){return this._length},te.prototype._updateSymbolPosition=function(ae){var ne=ae.__t<1?ae.__t:2-ae.__t,ie=this._points,oe=this._offsets,se=ie.length;if(oe){var le=this._lastFrame,ue;if(ne<this._lastFramePercent){var ce=Math.min(le+1,se-1);for(ue=ce;ue>=0&&!(oe[ue]<=ne);ue--);ue=Math.min(ue,se-2)}else{for(ue=le;ue<se&&!(oe[ue]>ne);ue++);ue=Math.min(ue-1,se-2)}var de=(ne-oe[ue])/(oe[ue+1]-oe[ue]),he=ie[ue],fe=ie[ue+1];ae.x=he[0]*(1-de)+de*fe[0],ae.y=he[1]*(1-de)+de*fe[1];var pe=ae.__t<1?fe[0]-he[0]:he[0]-fe[0],ve=ae.__t<1?fe[1]-he[1]:he[1]-fe[1];ae.rotation=-Math.atan2(ve,pe)-Math.PI/2,this._lastFrame=ue,this._lastFramePercent=ne,ae.ignore=!1}},te}(EffectLine$1);const EffectPolyline$1=EffectPolyline;var LargeLinesPathShape=function(){function ee(){this.polyline=!1,this.curveness=0,this.segs=[]}return ee}(),LargeLinesPath=function(ee){__extends(te,ee);function te(ae){var ne=ee.call(this,ae)||this;return ne._off=0,ne.hoverDataIdx=-1,ne}return te.prototype.reset=function(){this.notClear=!1,this._off=0},te.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},te.prototype.getDefaultShape=function(){return new LargeLinesPathShape},te.prototype.buildPath=function(ae,ne){var ie=ne.segs,oe=ne.curveness,se;if(ne.polyline)for(se=this._off;se<ie.length;){var le=ie[se++];if(le>0){ae.moveTo(ie[se++],ie[se++]);for(var ue=1;ue<le;ue++)ae.lineTo(ie[se++],ie[se++])}}else for(se=this._off;se<ie.length;){var ce=ie[se++],de=ie[se++],he=ie[se++],fe=ie[se++];if(ae.moveTo(ce,de),oe>0){var pe=(ce+he)/2-(de-fe)*oe,ve=(de+fe)/2-(he-ce)*oe;ae.quadraticCurveTo(pe,ve,he,fe)}else ae.lineTo(he,fe)}this.incremental&&(this._off=se,this.notClear=!0)},te.prototype.findDataIndex=function(ae,ne){var ie=this.shape,oe=ie.segs,se=ie.curveness,le=this.style.lineWidth;if(ie.polyline)for(var ue=0,ce=0;ce<oe.length;){var de=oe[ce++];if(de>0)for(var he=oe[ce++],fe=oe[ce++],pe=1;pe<de;pe++){var ve=oe[ce++],ge=oe[ce++];if(containStroke$4(he,fe,ve,ge,le,ae,ne))return ue}ue++}else for(var ue=0,ce=0;ce<oe.length;){var he=oe[ce++],fe=oe[ce++],ve=oe[ce++],ge=oe[ce++];if(se>0){var me=(he+ve)/2-(fe-ge)*se,ye=(fe+ge)/2-(ve-he)*se;if(containStroke$2(he,fe,me,ye,ve,ge,le,ae,ne))return ue}else if(containStroke$4(he,fe,ve,ge,le,ae,ne))return ue;ue++}return-1},te.prototype.contain=function(ae,ne){var ie=this.transformCoordToLocal(ae,ne),oe=this.getBoundingRect();if(ae=ie[0],ne=ie[1],oe.contain(ae,ne)){var se=this.hoverDataIdx=this.findDataIndex(ae,ne);return se>=0}return this.hoverDataIdx=-1,!1},te.prototype.getBoundingRect=function(){var ae=this._rect;if(!ae){for(var ne=this.shape,ie=ne.segs,oe=1/0,se=1/0,le=-1/0,ue=-1/0,ce=0;ce<ie.length;){var de=ie[ce++],he=ie[ce++];oe=Math.min(de,oe),le=Math.max(de,le),se=Math.min(he,se),ue=Math.max(he,ue)}ae=this._rect=new BoundingRect$1(oe,se,le,ue)}return ae},te}(Path$1),LargeLineDraw=function(){function ee(){this.group=new Group$4}return ee.prototype.updateData=function(te){this._clear();var ae=this._create();ae.setShape({segs:te.getLayout("linesPoints")}),this._setCommon(ae,te)},ee.prototype.incrementalPrepareUpdate=function(te){this.group.removeAll(),this._clear()},ee.prototype.incrementalUpdate=function(te,ae){var ne=this._newAdded[0],ie=ae.getLayout("linesPoints"),oe=ne&&ne.shape.segs;if(oe&&oe.length<2e4){var se=oe.length,le=new Float32Array(se+ie.length);le.set(oe),le.set(ie,se),ne.setShape({segs:le})}else{this._newAdded=[];var ue=this._create();ue.incremental=!0,ue.setShape({segs:ie}),this._setCommon(ue,ae),ue.__startIndex=te.start}},ee.prototype.remove=function(){this._clear()},ee.prototype.eachRendered=function(te){this._newAdded[0]&&te(this._newAdded[0])},ee.prototype._create=function(){var te=new LargeLinesPath({cursor:"default",ignoreCoarsePointer:!0});return this._newAdded.push(te),this.group.add(te),te},ee.prototype._setCommon=function(te,ae,ne){var ie=ae.hostModel;te.setShape({polyline:ie.get("polyline"),curveness:ie.get(["lineStyle","curveness"])}),te.useStyle(ie.getModel("lineStyle").getLineStyle()),te.style.strokeNoScale=!0;var oe=ae.getVisual("style");oe&&oe.stroke&&te.setStyle("stroke",oe.stroke),te.setStyle("fill",null);var se=getECData(te);se.seriesIndex=ie.seriesIndex,te.on("mousemove",function(le){se.dataIndex=null;var ue=te.hoverDataIdx;ue>0&&(se.dataIndex=ue+te.__startIndex)})},ee.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},ee}();const LargeLineDraw$1=LargeLineDraw;var linesLayout={seriesType:"lines",plan:createRenderPlanner(),reset:function(ee){var te=ee.coordinateSystem;if(te){var ae=ee.get("polyline"),ne=ee.pipelineContext.large;return{progress:function(ie,oe){var se=[];if(ne){var le=void 0,ue=ie.end-ie.start;if(ae){for(var ce=0,de=ie.start;de<ie.end;de++)ce+=ee.getLineCoordsCount(de);le=new Float32Array(ue+ce*2)}else le=new Float32Array(ue*4);for(var he=0,fe=[],de=ie.start;de<ie.end;de++){var pe=ee.getLineCoords(de,se);ae&&(le[he++]=pe);for(var ve=0;ve<pe;ve++)fe=te.dataToPoint(se[ve],!1,fe),le[he++]=fe[0],le[he++]=fe[1]}oe.setLayout("linesPoints",le)}else for(var de=ie.start;de<ie.end;de++){var ge=oe.getItemModel(de),pe=ee.getLineCoords(de,se),me=[];if(ae)for(var ye=0;ye<pe;ye++)me.push(te.dataToPoint(se[ye]));else{me[0]=te.dataToPoint(se[0]),me[1]=te.dataToPoint(se[1]);var _e=ge.get(["lineStyle","curveness"]);+_e&&(me[2]=[(me[0][0]+me[1][0])/2-(me[0][1]-me[1][1])*_e,(me[0][1]+me[1][1])/2-(me[1][0]-me[0][0])*_e])}oe.setItemLayout(de,me)}}}}}};const linesLayout$1=linesLayout;var LinesView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=this._updateLineDraw(oe,ae),le=ae.get("zlevel"),ue=ae.get(["effect","trailLength"]),ce=ie.getZr(),de=ce.painter.getType()==="svg";de||ce.painter.getLayer(le).clear(!0),this._lastZlevel!=null&&!de&&ce.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(ae)&&ue>0&&(de||ce.configLayer(le,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(ue/10+.9,1),0)})),se.updateData(oe);var he=ae.get("clip",!0)&&createClipPath(ae.coordinateSystem,!1,ae);he?this.group.setClipPath(he):this.group.removeClipPath(),this._lastZlevel=le,this._finished=!0},te.prototype.incrementalPrepareRender=function(ae,ne,ie){var oe=ae.getData(),se=this._updateLineDraw(oe,ae);se.incrementalPrepareUpdate(oe),this._clearLayer(ie),this._finished=!1},te.prototype.incrementalRender=function(ae,ne,ie){this._lineDraw.incrementalUpdate(ae,ne.getData()),this._finished=ae.end===ne.getData().count()},te.prototype.eachRendered=function(ae){this._lineDraw&&this._lineDraw.eachRendered(ae)},te.prototype.updateTransform=function(ae,ne,ie){var oe=ae.getData(),se=ae.pipelineContext;if(!this._finished||se.large||se.progressiveRender)return{update:!0};var le=linesLayout$1.reset(ae,ne,ie);le.progress&&le.progress({start:0,end:oe.count(),count:oe.count()},oe),this._lineDraw.updateLayout(),this._clearLayer(ie)},te.prototype._updateLineDraw=function(ae,ne){var ie=this._lineDraw,oe=this._showEffect(ne),se=!!ne.get("polyline"),le=ne.pipelineContext,ue=le.large;return(!ie||oe!==this._hasEffet||se!==this._isPolyline||ue!==this._isLargeDraw)&&(ie&&ie.remove(),ie=this._lineDraw=ue?new LargeLineDraw$1:new LineDraw$1(se?oe?EffectPolyline$1:Polyline$1:oe?EffectLine$1:Line$1),this._hasEffet=oe,this._isPolyline=se,this._isLargeDraw=ue),this.group.add(ie.group),ie},te.prototype._showEffect=function(ae){return!!ae.get(["effect","show"])},te.prototype._clearLayer=function(ae){var ne=ae.getZr(),ie=ne.painter.getType()==="svg";!ie&&this._lastZlevel!=null&&ne.painter.getLayer(this._lastZlevel).clear(!0)},te.prototype.remove=function(ae,ne){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(ne)},te.prototype.dispose=function(ae,ne){this.remove(ae,ne)},te.type="lines",te}(ChartView$1);const LinesView$1=LinesView;var Uint32Arr=typeof Uint32Array>"u"?Array:Uint32Array,Float64Arr=typeof Float64Array>"u"?Array:Float64Array;function compatEc2(ee){var te=ee.data;te&&te[0]&&te[0][0]&&te[0][0].coord&&(ee.data=map$1(te,function(ae){var ne=[ae[0].coord,ae[1].coord],ie={coords:ne};return ae[0].name&&(ie.fromName=ae[0].name),ae[1].name&&(ie.toName=ae[1].name),mergeAll([ie,ae[0],ae[1]])}))}var LinesSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.visualStyleAccessPath="lineStyle",ae.visualDrawType="stroke",ae}return te.prototype.init=function(ae){ae.data=ae.data||[],compatEc2(ae);var ne=this._processFlatCoordsArray(ae.data);this._flatCoords=ne.flatCoords,this._flatCoordsOffset=ne.flatCoordsOffset,ne.flatCoords&&(ae.data=new Float32Array(ne.count)),ee.prototype.init.apply(this,arguments)},te.prototype.mergeOption=function(ae){if(compatEc2(ae),ae.data){var ne=this._processFlatCoordsArray(ae.data);this._flatCoords=ne.flatCoords,this._flatCoordsOffset=ne.flatCoordsOffset,ne.flatCoords&&(ae.data=new Float32Array(ne.count))}ee.prototype.mergeOption.apply(this,arguments)},te.prototype.appendData=function(ae){var ne=this._processFlatCoordsArray(ae.data);ne.flatCoords&&(this._flatCoords?(this._flatCoords=concatArray(this._flatCoords,ne.flatCoords),this._flatCoordsOffset=concatArray(this._flatCoordsOffset,ne.flatCoordsOffset)):(this._flatCoords=ne.flatCoords,this._flatCoordsOffset=ne.flatCoordsOffset),ae.data=new Float32Array(ne.count)),this.getRawData().appendData(ae.data)},te.prototype._getCoordsFromItemModel=function(ae){var ne=this.getData().getItemModel(ae),ie=ne.option instanceof Array?ne.option:ne.getShallow("coords");return ie},te.prototype.getLineCoordsCount=function(ae){return this._flatCoordsOffset?this._flatCoordsOffset[ae*2+1]:this._getCoordsFromItemModel(ae).length},te.prototype.getLineCoords=function(ae,ne){if(this._flatCoordsOffset){for(var ie=this._flatCoordsOffset[ae*2],oe=this._flatCoordsOffset[ae*2+1],se=0;se<oe;se++)ne[se]=ne[se]||[],ne[se][0]=this._flatCoords[ie+se*2],ne[se][1]=this._flatCoords[ie+se*2+1];return oe}else{for(var le=this._getCoordsFromItemModel(ae),se=0;se<le.length;se++)ne[se]=ne[se]||[],ne[se][0]=le[se][0],ne[se][1]=le[se][1];return le.length}},te.prototype._processFlatCoordsArray=function(ae){var ne=0;if(this._flatCoords&&(ne=this._flatCoords.length),isNumber$1(ae[0])){for(var ie=ae.length,oe=new Uint32Arr(ie),se=new Float64Arr(ie),le=0,ue=0,ce=0,de=0;de<ie;){ce++;var he=ae[de++];oe[ue++]=le+ne,oe[ue++]=he;for(var fe=0;fe<he;fe++){var pe=ae[de++],ve=ae[de++];se[le++]=pe,se[le++]=ve}}return{flatCoordsOffset:new Uint32Array(oe.buffer,0,ue),flatCoords:se,count:ce}}return{flatCoordsOffset:null,flatCoords:null,count:ae.length}},te.prototype.getInitialData=function(ae,ne){var ie=new SeriesData$1(["value"],this);return ie.hasItemOption=!1,ie.initData(ae.data,[],function(oe,se,le,ue){if(oe instanceof Array)return NaN;ie.hasItemOption=!0;var ce=oe.value;if(ce!=null)return ce instanceof Array?ce[ue]:ce}),ie},te.prototype.formatTooltip=function(ae,ne,ie){var oe=this.getData(),se=oe.getItemModel(ae),le=se.get("name");if(le)return le;var ue=se.get("fromName"),ce=se.get("toName"),de=[];return ue!=null&&de.push(ue),ce!=null&&de.push(ce),createTooltipMarkup("nameValue",{name:de.join(" > ")})},te.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},te.prototype.getProgressive=function(){var ae=this.option.progressive;return ae??(this.option.large?1e4:this.get("progressive"))},te.prototype.getProgressiveThreshold=function(){var ae=this.option.progressiveThreshold;return ae??(this.option.large?2e4:this.get("progressiveThreshold"))},te.prototype.getZLevelKey=function(){var ae=this.getModel("effect"),ne=ae.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:ae.get("show")&&ne>0?ne+"":""},te.type="series.lines",te.dependencies=["grid","polar","geo","calendar"],te.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},te}(SeriesModel$1);const LinesSeriesModel$1=LinesSeriesModel;function normalize(ee){return ee instanceof Array||(ee=[ee,ee]),ee}var linesVisual={seriesType:"lines",reset:function(ee){var te=normalize(ee.get("symbol")),ae=normalize(ee.get("symbolSize")),ne=ee.getData();ne.setVisual("fromSymbol",te&&te[0]),ne.setVisual("toSymbol",te&&te[1]),ne.setVisual("fromSymbolSize",ae&&ae[0]),ne.setVisual("toSymbolSize",ae&&ae[1]);function ie(oe,se){var le=oe.getItemModel(se),ue=normalize(le.getShallow("symbol",!0)),ce=normalize(le.getShallow("symbolSize",!0));ue[0]&&oe.setItemVisual(se,"fromSymbol",ue[0]),ue[1]&&oe.setItemVisual(se,"toSymbol",ue[1]),ce[0]&&oe.setItemVisual(se,"fromSymbolSize",ce[0]),ce[1]&&oe.setItemVisual(se,"toSymbolSize",ce[1])}return{dataEach:ne.hasItemOption?ie:null}}};const linesVisual$1=linesVisual;function install$w(ee){ee.registerChartView(LinesView$1),ee.registerSeriesModel(LinesSeriesModel$1),ee.registerLayout(linesLayout$1),ee.registerVisual(linesVisual$1)}var GRADIENT_LEVELS=256,HeatmapLayer=function(){function ee(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var te=platformApi.createCanvas();this.canvas=te}return ee.prototype.update=function(te,ae,ne,ie,oe,se){var le=this._getBrush(),ue=this._getGradient(oe,"inRange"),ce=this._getGradient(oe,"outOfRange"),de=this.pointSize+this.blurSize,he=this.canvas,fe=he.getContext("2d"),pe=te.length;he.width=ae,he.height=ne;for(var ve=0;ve<pe;++ve){var ge=te[ve],me=ge[0],ye=ge[1],_e=ge[2],be=ie(_e);fe.globalAlpha=be,fe.drawImage(le,me-de,ye-de)}if(!he.width||!he.height)return he;for(var xe=fe.getImageData(0,0,he.width,he.height),$e=xe.data,Se=0,we=$e.length,Ae=this.minOpacity,Te=this.maxOpacity,De=Te-Ae;Se<we;){var be=$e[Se+3]/256,Me=Math.floor(be*(GRADIENT_LEVELS-1))*4;if(be>0){var Ie=se(be)?ue:ce;be>0&&(be=be*De+Ae),$e[Se++]=Ie[Me],$e[Se++]=Ie[Me+1],$e[Se++]=Ie[Me+2],$e[Se++]=Ie[Me+3]*be*256}else Se+=4}return fe.putImageData(xe,0,0),he},ee.prototype._getBrush=function(){var te=this._brushCanvas||(this._brushCanvas=platformApi.createCanvas()),ae=this.pointSize+this.blurSize,ne=ae*2;te.width=ne,te.height=ne;var ie=te.getContext("2d");return ie.clearRect(0,0,ne,ne),ie.shadowOffsetX=ne,ie.shadowBlur=this.blurSize,ie.shadowColor="#000",ie.beginPath(),ie.arc(-ae,ae,this.pointSize,0,Math.PI*2,!0),ie.closePath(),ie.fill(),te},ee.prototype._getGradient=function(te,ae){for(var ne=this._gradientPixels,ie=ne[ae]||(ne[ae]=new Uint8ClampedArray(256*4)),oe=[0,0,0,0],se=0,le=0;le<256;le++)te[ae](le/255,!0,oe),ie[se++]=oe[0],ie[se++]=oe[1],ie[se++]=oe[2],ie[se++]=oe[3];return ie},ee}();const HeatmapLayer$1=HeatmapLayer;function getIsInPiecewiseRange(ee,te,ae){var ne=ee[1]-ee[0];te=map$1(te,function(se){return{interval:[(se.interval[0]-ee[0])/ne,(se.interval[1]-ee[0])/ne]}});var ie=te.length,oe=0;return function(se){var le;for(le=oe;le<ie;le++){var ue=te[le].interval;if(ue[0]<=se&&se<=ue[1]){oe=le;break}}if(le===ie)for(le=oe-1;le>=0;le--){var ue=te[le].interval;if(ue[0]<=se&&se<=ue[1]){oe=le;break}}return le>=0&&le<ie&&ae[le]}}function getIsInContinuousRange(ee,te){var ae=ee[1]-ee[0];return te=[(te[0]-ee[0])/ae,(te[1]-ee[0])/ae],function(ne){return ne>=te[0]&&ne<=te[1]}}function isGeoCoordSys(ee){var te=ee.dimensions;return te[0]==="lng"&&te[1]==="lat"}var HeatmapView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe;ne.eachComponent("visualMap",function(le){le.eachTargetSeries(function(ue){ue===ae&&(oe=le)})}),this._progressiveEls=null,this.group.removeAll();var se=ae.coordinateSystem;se.type==="cartesian2d"||se.type==="calendar"?this._renderOnCartesianAndCalendar(ae,ie,0,ae.getData().count()):isGeoCoordSys(se)&&this._renderOnGeo(se,ae,oe,ie)},te.prototype.incrementalPrepareRender=function(ae,ne,ie){this.group.removeAll()},te.prototype.incrementalRender=function(ae,ne,ie,oe){var se=ne.coordinateSystem;se&&(isGeoCoordSys(se)?this.render(ne,ie,oe):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(ne,oe,ae.start,ae.end,!0)))},te.prototype.eachRendered=function(ae){traverseElements(this._progressiveEls||this.group,ae)},te.prototype._renderOnCartesianAndCalendar=function(ae,ne,ie,oe,se){var le=ae.coordinateSystem,ue=isCoordinateSystemType(le,"cartesian2d"),ce,de,he,fe;if(ue){var pe=le.getAxis("x"),ve=le.getAxis("y");ce=pe.getBandWidth()+.5,de=ve.getBandWidth()+.5,he=pe.scale.getExtent(),fe=ve.scale.getExtent()}for(var ge=this.group,me=ae.getData(),ye=ae.getModel(["emphasis","itemStyle"]).getItemStyle(),_e=ae.getModel(["blur","itemStyle"]).getItemStyle(),be=ae.getModel(["select","itemStyle"]).getItemStyle(),xe=ae.get(["itemStyle","borderRadius"]),$e=getLabelStatesModels(ae),Se=ae.getModel("emphasis"),we=Se.get("focus"),Ae=Se.get("blurScope"),Te=Se.get("disabled"),De=ue?[me.mapDimension("x"),me.mapDimension("y"),me.mapDimension("value")]:[me.mapDimension("time"),me.mapDimension("value")],Me=ie;Me<oe;Me++){var Ie=void 0,Ce=me.getItemVisual(Me,"style");if(ue){var Ee=me.get(De[0],Me),Re=me.get(De[1],Me);if(isNaN(me.get(De[2],Me))||isNaN(Ee)||isNaN(Re)||Ee<he[0]||Ee>he[1]||Re<fe[0]||Re>fe[1])continue;var ke=le.dataToPoint([Ee,Re]);Ie=new Rect$3({shape:{x:ke[0]-ce/2,y:ke[1]-de/2,width:ce,height:de},style:Ce})}else{if(isNaN(me.get(De[1],Me)))continue;Ie=new Rect$3({z2:1,shape:le.dataToRect([me.get(De[0],Me)]).contentShape,style:Ce})}if(me.hasItemOption){var Be=me.getItemModel(Me),Ne=Be.getModel("emphasis");ye=Ne.getModel("itemStyle").getItemStyle(),_e=Be.getModel(["blur","itemStyle"]).getItemStyle(),be=Be.getModel(["select","itemStyle"]).getItemStyle(),xe=Be.get(["itemStyle","borderRadius"]),we=Ne.get("focus"),Ae=Ne.get("blurScope"),Te=Ne.get("disabled"),$e=getLabelStatesModels(Be)}Ie.shape.r=xe;var He=ae.getRawValue(Me),qe="-";He&&He[2]!=null&&(qe=He[2]+""),setLabelStyle(Ie,$e,{labelFetcher:ae,labelDataIndex:Me,defaultOpacity:Ce.opacity,defaultText:qe}),Ie.ensureState("emphasis").style=ye,Ie.ensureState("blur").style=_e,Ie.ensureState("select").style=be,toggleHoverEmphasis(Ie,we,Ae,Te),Ie.incremental=se,se&&(Ie.states.emphasis.hoverLayer=!0),ge.add(Ie),me.setItemGraphicEl(Me,Ie),this._progressiveEls&&this._progressiveEls.push(Ie)}},te.prototype._renderOnGeo=function(ae,ne,ie,oe){var se=ie.targetVisuals.inRange,le=ie.targetVisuals.outOfRange,ue=ne.getData(),ce=this._hmLayer||this._hmLayer||new HeatmapLayer$1;ce.blurSize=ne.get("blurSize"),ce.pointSize=ne.get("pointSize"),ce.minOpacity=ne.get("minOpacity"),ce.maxOpacity=ne.get("maxOpacity");var de=ae.getViewRect().clone(),he=ae.getRoamTransform();de.applyTransform(he);var fe=Math.max(de.x,0),pe=Math.max(de.y,0),ve=Math.min(de.width+de.x,oe.getWidth()),ge=Math.min(de.height+de.y,oe.getHeight()),me=ve-fe,ye=ge-pe,_e=[ue.mapDimension("lng"),ue.mapDimension("lat"),ue.mapDimension("value")],be=ue.mapArray(_e,function(we,Ae,Te){var De=ae.dataToPoint([we,Ae]);return De[0]-=fe,De[1]-=pe,De.push(Te),De}),xe=ie.getExtent(),$e=ie.type==="visualMap.continuous"?getIsInContinuousRange(xe,ie.option.range):getIsInPiecewiseRange(xe,ie.getPieceList(),ie.option.selected);ce.update(be,me,ye,se.color.getNormalizer(),{inRange:se.color.getColorMapper(),outOfRange:le.color.getColorMapper()},$e);var Se=new ZRImage$1({style:{width:me,height:ye,x:fe,y:pe,image:ce.canvas},silent:!0});this.group.add(Se)},te.type="heatmap",te}(ChartView$1);const HeatmapView$1=HeatmapView;var HeatmapSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.getInitialData=function(ae,ne){return createSeriesData(null,this,{generateCoord:"value"})},te.prototype.preventIncremental=function(){var ae=CoordinateSystem.get(this.get("coordinateSystem"));if(ae&&ae.dimensions)return ae.dimensions[0]==="lng"&&ae.dimensions[1]==="lat"},te.type="series.heatmap",te.dependencies=["grid","geo","calendar"],te.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},te}(SeriesModel$1);const HeatmapSeriesModel$1=HeatmapSeriesModel;function install$v(ee){ee.registerChartView(HeatmapView$1),ee.registerSeriesModel(HeatmapSeriesModel$1)}var BAR_BORDER_WIDTH_QUERY=["itemStyle","borderWidth"],LAYOUT_ATTRS=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],pathForLineWidth=new Circle$1,PictorialBarView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=this.group,se=ae.getData(),le=this._data,ue=ae.coordinateSystem,ce=ue.getBaseAxis(),de=ce.isHorizontal(),he=ue.master.getRect(),fe={ecSize:{width:ie.getWidth(),height:ie.getHeight()},seriesModel:ae,coordSys:ue,coordSysExtent:[[he.x,he.x+he.width],[he.y,he.y+he.height]],isHorizontal:de,valueDim:LAYOUT_ATTRS[+de],categoryDim:LAYOUT_ATTRS[1-+de]};return se.diff(le).add(function(pe){if(se.hasValue(pe)){var ve=getItemModel(se,pe),ge=getSymbolMeta(se,pe,ve,fe),me=createBar(se,fe,ge);se.setItemGraphicEl(pe,me),oe.add(me),updateCommon(me,fe,ge)}}).update(function(pe,ve){var ge=le.getItemGraphicEl(ve);if(!se.hasValue(pe)){oe.remove(ge);return}var me=getItemModel(se,pe),ye=getSymbolMeta(se,pe,me,fe),_e=getShapeStr(se,ye);ge&&_e!==ge.__pictorialShapeStr&&(oe.remove(ge),se.setItemGraphicEl(pe,null),ge=null),ge?updateBar(ge,fe,ye):ge=createBar(se,fe,ye,!0),se.setItemGraphicEl(pe,ge),ge.__pictorialSymbolMeta=ye,oe.add(ge),updateCommon(ge,fe,ye)}).remove(function(pe){var ve=le.getItemGraphicEl(pe);ve&&removeBar(le,pe,ve.__pictorialSymbolMeta.animationModel,ve)}).execute(),this._data=se,this.group},te.prototype.remove=function(ae,ne){var ie=this.group,oe=this._data;ae.get("animation")?oe&&oe.eachItemGraphicEl(function(se){removeBar(oe,getECData(se).dataIndex,ae,se)}):ie.removeAll()},te.type="pictorialBar",te}(ChartView$1);function getSymbolMeta(ee,te,ae,ne){var ie=ee.getItemLayout(te),oe=ae.get("symbolRepeat"),se=ae.get("symbolClip"),le=ae.get("symbolPosition")||"start",ue=ae.get("symbolRotate"),ce=(ue||0)*Math.PI/180||0,de=ae.get("symbolPatternSize")||2,he=ae.isAnimationEnabled(),fe={dataIndex:te,layout:ie,itemModel:ae,symbolType:ee.getItemVisual(te,"symbol")||"circle",style:ee.getItemVisual(te,"style"),symbolClip:se,symbolRepeat:oe,symbolRepeatDirection:ae.get("symbolRepeatDirection"),symbolPatternSize:de,rotation:ce,animationModel:he?ae:null,hoverScale:he&&ae.get(["emphasis","scale"]),z2:ae.getShallow("z",!0)||0};prepareBarLength(ae,oe,ie,ne,fe),prepareSymbolSize(ee,te,ie,oe,se,fe.boundingLength,fe.pxSign,de,ne,fe),prepareLineWidth(ae,fe.symbolScale,ce,ne,fe);var pe=fe.symbolSize,ve=normalizeSymbolOffset(ae.get("symbolOffset"),pe);return prepareLayoutInfo(ae,pe,ie,oe,se,ve,le,fe.valueLineWidth,fe.boundingLength,fe.repeatCutLength,ne,fe),fe}function prepareBarLength(ee,te,ae,ne,ie){var oe=ne.valueDim,se=ee.get("symbolBoundingData"),le=ne.coordSys.getOtherAxis(ne.coordSys.getBaseAxis()),ue=le.toGlobalCoord(le.dataToCoord(0)),ce=1-+(ae[oe.wh]<=0),de;if(isArray$2(se)){var he=[convertToCoordOnAxis(le,se[0])-ue,convertToCoordOnAxis(le,se[1])-ue];he[1]<he[0]&&he.reverse(),de=he[ce]}else se!=null?de=convertToCoordOnAxis(le,se)-ue:te?de=ne.coordSysExtent[oe.index][ce]-ue:de=ae[oe.wh];ie.boundingLength=de,te&&(ie.repeatCutLength=ae[oe.wh]),ie.pxSign=de>0?1:-1}function convertToCoordOnAxis(ee,te){return ee.toGlobalCoord(ee.dataToCoord(ee.scale.parse(te)))}function prepareSymbolSize(ee,te,ae,ne,ie,oe,se,le,ue,ce){var de=ue.valueDim,he=ue.categoryDim,fe=Math.abs(ae[he.wh]),pe=ee.getItemVisual(te,"symbolSize"),ve;isArray$2(pe)?ve=pe.slice():pe==null?ve=["100%","100%"]:ve=[pe,pe],ve[he.index]=parsePercent(ve[he.index],fe),ve[de.index]=parsePercent(ve[de.index],ne?fe:Math.abs(oe)),ce.symbolSize=ve;var ge=ce.symbolScale=[ve[0]/le,ve[1]/le];ge[de.index]*=(ue.isHorizontal?-1:1)*se}function prepareLineWidth(ee,te,ae,ne,ie){var oe=ee.get(BAR_BORDER_WIDTH_QUERY)||0;oe&&(pathForLineWidth.attr({scaleX:te[0],scaleY:te[1],rotation:ae}),pathForLineWidth.updateTransform(),oe/=pathForLineWidth.getLineScale(),oe*=te[ne.valueDim.index]),ie.valueLineWidth=oe||0}function prepareLayoutInfo(ee,te,ae,ne,ie,oe,se,le,ue,ce,de,he){var fe=de.categoryDim,pe=de.valueDim,ve=he.pxSign,ge=Math.max(te[pe.index]+le,0),me=ge;if(ne){var ye=Math.abs(ue),_e=retrieve(ee.get("symbolMargin"),"15%")+"",be=!1;_e.lastIndexOf("!")===_e.length-1&&(be=!0,_e=_e.slice(0,_e.length-1));var xe=parsePercent(_e,te[pe.index]),$e=Math.max(ge+xe*2,0),Se=be?0:xe*2,we=isNumeric(ne),Ae=we?ne:toIntTimes((ye+Se)/$e),Te=ye-Ae*ge;xe=Te/2/(be?Ae:Math.max(Ae-1,1)),$e=ge+xe*2,Se=be?0:xe*2,!we&&ne!=="fixed"&&(Ae=ce?toIntTimes((Math.abs(ce)+Se)/$e):0),me=Ae*$e-Se,he.repeatTimes=Ae,he.symbolMargin=xe}var De=ve*(me/2),Me=he.pathPosition=[];Me[fe.index]=ae[fe.wh]/2,Me[pe.index]=se==="start"?De:se==="end"?ue-De:ue/2,oe&&(Me[0]+=oe[0],Me[1]+=oe[1]);var Ie=he.bundlePosition=[];Ie[fe.index]=ae[fe.xy],Ie[pe.index]=ae[pe.xy];var Ce=he.barRectShape=extend$1({},ae);Ce[pe.wh]=ve*Math.max(Math.abs(ae[pe.wh]),Math.abs(Me[pe.index]+De)),Ce[fe.wh]=ae[fe.wh];var Ee=he.clipShape={};Ee[fe.xy]=-ae[fe.xy],Ee[fe.wh]=de.ecSize[fe.wh],Ee[pe.xy]=0,Ee[pe.wh]=ae[pe.wh]}function createPath(ee){var te=ee.symbolPatternSize,ae=createSymbol$1(ee.symbolType,-te/2,-te/2,te,te);return ae.attr({culling:!0}),ae.type!=="image"&&ae.setStyle({strokeNoScale:!0}),ae}function createOrUpdateRepeatSymbols(ee,te,ae,ne){var ie=ee.__pictorialBundle,oe=ae.symbolSize,se=ae.valueLineWidth,le=ae.pathPosition,ue=te.valueDim,ce=ae.repeatTimes||0,de=0,he=oe[te.valueDim.index]+se+ae.symbolMargin*2;for(eachPath(ee,function(ge){ge.__pictorialAnimationIndex=de,ge.__pictorialRepeatTimes=ce,de<ce?updateAttr(ge,null,ve(de),ae,ne):updateAttr(ge,null,{scaleX:0,scaleY:0},ae,ne,function(){ie.remove(ge)}),de++});de<ce;de++){var fe=createPath(ae);fe.__pictorialAnimationIndex=de,fe.__pictorialRepeatTimes=ce,ie.add(fe);var pe=ve(de);updateAttr(fe,{x:pe.x,y:pe.y,scaleX:0,scaleY:0},{scaleX:pe.scaleX,scaleY:pe.scaleY,rotation:pe.rotation},ae,ne)}function ve(ge){var me=le.slice(),ye=ae.pxSign,_e=ge;return(ae.symbolRepeatDirection==="start"?ye>0:ye<0)&&(_e=ce-1-ge),me[ue.index]=he*(_e-ce/2+.5)+le[ue.index],{x:me[0],y:me[1],scaleX:ae.symbolScale[0],scaleY:ae.symbolScale[1],rotation:ae.rotation}}}function createOrUpdateSingleSymbol(ee,te,ae,ne){var ie=ee.__pictorialBundle,oe=ee.__pictorialMainPath;oe?updateAttr(oe,null,{x:ae.pathPosition[0],y:ae.pathPosition[1],scaleX:ae.symbolScale[0],scaleY:ae.symbolScale[1],rotation:ae.rotation},ae,ne):(oe=ee.__pictorialMainPath=createPath(ae),ie.add(oe),updateAttr(oe,{x:ae.pathPosition[0],y:ae.pathPosition[1],scaleX:0,scaleY:0,rotation:ae.rotation},{scaleX:ae.symbolScale[0],scaleY:ae.symbolScale[1]},ae,ne))}function createOrUpdateBarRect(ee,te,ae){var ne=extend$1({},te.barRectShape),ie=ee.__pictorialBarRect;ie?updateAttr(ie,null,{shape:ne},te,ae):(ie=ee.__pictorialBarRect=new Rect$3({z2:2,shape:ne,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),ie.disableMorphing=!0,ee.add(ie))}function createOrUpdateClip(ee,te,ae,ne){if(ae.symbolClip){var ie=ee.__pictorialClipPath,oe=extend$1({},ae.clipShape),se=te.valueDim,le=ae.animationModel,ue=ae.dataIndex;if(ie)updateProps$1(ie,{shape:oe},le,ue);else{oe[se.wh]=0,ie=new Rect$3({shape:oe}),ee.__pictorialBundle.setClipPath(ie),ee.__pictorialClipPath=ie;var ce={};ce[se.wh]=ae.clipShape[se.wh],graphic$1[ne?"updateProps":"initProps"](ie,{shape:ce},le,ue)}}}function getItemModel(ee,te){var ae=ee.getItemModel(te);return ae.getAnimationDelayParams=getAnimationDelayParams,ae.isAnimationEnabled=isAnimationEnabled,ae}function getAnimationDelayParams(ee){return{index:ee.__pictorialAnimationIndex,count:ee.__pictorialRepeatTimes}}function isAnimationEnabled(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function createBar(ee,te,ae,ne){var ie=new Group$4,oe=new Group$4;return ie.add(oe),ie.__pictorialBundle=oe,oe.x=ae.bundlePosition[0],oe.y=ae.bundlePosition[1],ae.symbolRepeat?createOrUpdateRepeatSymbols(ie,te,ae):createOrUpdateSingleSymbol(ie,te,ae),createOrUpdateBarRect(ie,ae,ne),createOrUpdateClip(ie,te,ae,ne),ie.__pictorialShapeStr=getShapeStr(ee,ae),ie.__pictorialSymbolMeta=ae,ie}function updateBar(ee,te,ae){var ne=ae.animationModel,ie=ae.dataIndex,oe=ee.__pictorialBundle;updateProps$1(oe,{x:ae.bundlePosition[0],y:ae.bundlePosition[1]},ne,ie),ae.symbolRepeat?createOrUpdateRepeatSymbols(ee,te,ae,!0):createOrUpdateSingleSymbol(ee,te,ae,!0),createOrUpdateBarRect(ee,ae,!0),createOrUpdateClip(ee,te,ae,!0)}function removeBar(ee,te,ae,ne){var ie=ne.__pictorialBarRect;ie&&ie.removeTextContent();var oe=[];eachPath(ne,function(se){oe.push(se)}),ne.__pictorialMainPath&&oe.push(ne.__pictorialMainPath),ne.__pictorialClipPath&&(ae=null),each$f(oe,function(se){removeElement(se,{scaleX:0,scaleY:0},ae,te,function(){ne.parent&&ne.parent.remove(ne)})}),ee.setItemGraphicEl(te,null)}function getShapeStr(ee,te){return[ee.getItemVisual(te.dataIndex,"symbol")||"none",!!te.symbolRepeat,!!te.symbolClip].join(":")}function eachPath(ee,te,ae){each$f(ee.__pictorialBundle.children(),function(ne){ne!==ee.__pictorialBarRect&&te.call(ae,ne)})}function updateAttr(ee,te,ae,ne,ie,oe){te&&ee.attr(te),ne.symbolClip&&!ie?ae&&ee.attr(ae):ae&&graphic$1[ie?"updateProps":"initProps"](ee,ae,ne.animationModel,ne.dataIndex,oe)}function updateCommon(ee,te,ae){var ne=ae.dataIndex,ie=ae.itemModel,oe=ie.getModel("emphasis"),se=oe.getModel("itemStyle").getItemStyle(),le=ie.getModel(["blur","itemStyle"]).getItemStyle(),ue=ie.getModel(["select","itemStyle"]).getItemStyle(),ce=ie.getShallow("cursor"),de=oe.get("focus"),he=oe.get("blurScope"),fe=oe.get("scale");eachPath(ee,function(ge){if(ge instanceof ZRImage$1){var me=ge.style;ge.useStyle(extend$1({image:me.image,x:me.x,y:me.y,width:me.width,height:me.height},ae.style))}else ge.useStyle(ae.style);var ye=ge.ensureState("emphasis");ye.style=se,fe&&(ye.scaleX=ge.scaleX*1.1,ye.scaleY=ge.scaleY*1.1),ge.ensureState("blur").style=le,ge.ensureState("select").style=ue,ce&&(ge.cursor=ce),ge.z2=ae.z2});var pe=te.valueDim.posDesc[+(ae.boundingLength>0)],ve=ee.__pictorialBarRect;setLabelStyle(ve,getLabelStatesModels(ie),{labelFetcher:te.seriesModel,labelDataIndex:ne,defaultText:getDefaultLabel(te.seriesModel.getData(),ne),inheritColor:ae.style.fill,defaultOpacity:ae.style.opacity,defaultOutsidePosition:pe}),toggleHoverEmphasis(ee,de,he,oe.get("disabled"))}function toIntTimes(ee){var te=Math.round(ee);return Math.abs(ee-te)<1e-4?te:Math.ceil(ee)}const PictorialBarView$1=PictorialBarView;var PictorialBarSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.hasSymbolVisual=!0,ae.defaultSymbol="roundRect",ae}return te.prototype.getInitialData=function(ae){return ae.stack=null,ee.prototype.getInitialData.apply(this,arguments)},te.type="series.pictorialBar",te.dependencies=["grid"],te.defaultOption=inheritDefaultOption(BaseBarSeriesModel$1.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),te}(BaseBarSeriesModel$1);const PictorialBarSeriesModel$1=PictorialBarSeriesModel;function install$u(ee){ee.registerChartView(PictorialBarView$1),ee.registerSeriesModel(PictorialBarSeriesModel$1),ee.registerLayout(ee.PRIORITY.VISUAL.LAYOUT,curry$1(layout$3,"pictorialBar")),ee.registerLayout(ee.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,createProgressiveLayout("pictorialBar"))}var ThemeRiverView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._layers=[],ae}return te.prototype.render=function(ae,ne,ie){var oe=ae.getData(),se=this,le=this.group,ue=ae.getLayerSeries(),ce=oe.getLayout("layoutInfo"),de=ce.rect,he=ce.boundaryGap;le.x=0,le.y=de.y+he[0];function fe(me){return me.name}var pe=new DataDiffer$1(this._layersSeries||[],ue,fe,fe),ve=[];pe.add(bind$2(ge,this,"add")).update(bind$2(ge,this,"update")).remove(bind$2(ge,this,"remove")).execute();function ge(me,ye,_e){var be=se._layers;if(me==="remove"){le.remove(be[ye]);return}for(var xe=[],$e=[],Se,we=ue[ye].indices,Ae=0;Ae<we.length;Ae++){var Te=oe.getItemLayout(we[Ae]),De=Te.x,Me=Te.y0,Ie=Te.y;xe.push(De,Me),$e.push(De,Me+Ie),Se=oe.getItemVisual(we[Ae],"style")}var Ce,Ee=oe.getItemLayout(we[0]),Re=ae.getModel("label"),ke=Re.get("margin"),Be=ae.getModel("emphasis");if(me==="add"){var Ne=ve[ye]=new Group$4;Ce=new ECPolygon({shape:{points:xe,stackedOnPoints:$e,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),Ne.add(Ce),le.add(Ne),ae.isAnimationEnabled()&&Ce.setClipPath(createGridClipShape(Ce.getBoundingRect(),ae,function(){Ce.removeClipPath()}))}else{var Ne=be[_e];Ce=Ne.childAt(0),le.add(Ne),ve[ye]=Ne,updateProps$1(Ce,{shape:{points:xe,stackedOnPoints:$e}},ae),saveOldStyle(Ce)}setLabelStyle(Ce,getLabelStatesModels(ae),{labelDataIndex:we[Ae-1],defaultText:oe.getName(we[Ae-1]),inheritColor:Se.fill},{normal:{verticalAlign:"middle"}}),Ce.setTextConfig({position:null,local:!0});var He=Ce.getTextContent();He&&(He.x=Ee.x-ke,He.y=Ee.y0+Ee.y/2),Ce.useStyle(Se),oe.setItemGraphicEl(ye,Ce),setStatesStylesFromModel(Ce,ae),toggleHoverEmphasis(Ce,Be.get("focus"),Be.get("blurScope"),Be.get("disabled"))}this._layersSeries=ue,this._layers=ve},te.type="themeRiver",te}(ChartView$1);function createGridClipShape(ee,te,ae){var ne=new Rect$3({shape:{x:ee.x-10,y:ee.y-10,width:0,height:ee.height+20}});return initProps(ne,{shape:{x:ee.x-50,width:ee.width+100,height:ee.height+20}},te,ae),ne}const ThemeRiverView$1=ThemeRiverView;var DATA_NAME_INDEX=2,ThemeRiverSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae){ee.prototype.init.apply(this,arguments),this.legendVisualProvider=new LegendVisualProvider$1(bind$2(this.getData,this),bind$2(this.getRawData,this))},te.prototype.fixData=function(ae){var ne=ae.length,ie={},oe=groupData(ae,function(fe){return ie.hasOwnProperty(fe[0]+"")||(ie[fe[0]+""]=-1),fe[2]}),se=[];oe.buckets.each(function(fe,pe){se.push({name:pe,dataList:fe})});for(var le=se.length,ue=0;ue<le;++ue){for(var ce=se[ue].name,de=0;de<se[ue].dataList.length;++de){var he=se[ue].dataList[de][0]+"";ie[he]=ue}for(var he in ie)ie.hasOwnProperty(he)&&ie[he]!==ue&&(ie[he]=ue,ae[ne]=[he,0,ce],ne++)}return ae},te.prototype.getInitialData=function(ae,ne){for(var ie=this.getReferringComponents("singleAxis",SINGLE_REFERRING).models[0],oe=ie.get("type"),se=filter(ae.data,function(ve){return ve[2]!==void 0}),le=this.fixData(se||[]),ue=[],ce=this.nameMap=createHashMap(),de=0,he=0;he<le.length;++he)ue.push(le[he][DATA_NAME_INDEX]),ce.get(le[he][DATA_NAME_INDEX])||(ce.set(le[he][DATA_NAME_INDEX],de),de++);var fe=prepareSeriesDataSchema(le,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:getDimensionTypeByAxis(oe)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}).dimensions,pe=new SeriesData$1(fe,this);return pe.initData(le),pe},te.prototype.getLayerSeries=function(){for(var ae=this.getData(),ne=ae.count(),ie=[],oe=0;oe<ne;++oe)ie[oe]=oe;var se=ae.mapDimension("single"),le=groupData(ie,function(ce){return ae.get("name",ce)}),ue=[];return le.buckets.each(function(ce,de){ce.sort(function(he,fe){return ae.get(se,he)-ae.get(se,fe)}),ue.push({name:de,indices:ce})}),ue},te.prototype.getAxisTooltipData=function(ae,ne,ie){isArray$2(ae)||(ae=ae?[ae]:[]);for(var oe=this.getData(),se=this.getLayerSeries(),le=[],ue=se.length,ce,de=0;de<ue;++de){for(var he=Number.MAX_VALUE,fe=-1,pe=se[de].indices.length,ve=0;ve<pe;++ve){var ge=oe.get(ae[0],se[de].indices[ve]),me=Math.abs(ge-ne);me<=he&&(ce=ge,he=me,fe=se[de].indices[ve])}le.push(fe)}return{dataIndices:le,nestestValue:ce}},te.prototype.formatTooltip=function(ae,ne,ie){var oe=this.getData(),se=oe.getName(ae),le=oe.get(oe.mapDimension("value"),ae);return createTooltipMarkup("nameValue",{name:se,value:le})},te.type="series.themeRiver",te.dependencies=["singleAxis"],te.defaultOption={z:2,colorBy:"data",coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",fontSize:11},emphasis:{label:{show:!0}}},te}(SeriesModel$1);const ThemeRiverSeriesModel$1=ThemeRiverSeriesModel;function themeRiverLayout(ee,te){ee.eachSeriesByType("themeRiver",function(ae){var ne=ae.getData(),ie=ae.coordinateSystem,oe={},se=ie.getRect();oe.rect=se;var le=ae.get("boundaryGap"),ue=ie.getAxis();if(oe.boundaryGap=le,ue.orient==="horizontal"){le[0]=parsePercent(le[0],se.height),le[1]=parsePercent(le[1],se.height);var ce=se.height-le[0]-le[1];doThemeRiverLayout(ne,ae,ce)}else{le[0]=parsePercent(le[0],se.width),le[1]=parsePercent(le[1],se.width);var de=se.width-le[0]-le[1];doThemeRiverLayout(ne,ae,de)}ne.setLayout("layoutInfo",oe)})}function doThemeRiverLayout(ee,te,ae){if(ee.count())for(var ne=te.coordinateSystem,ie=te.getLayerSeries(),oe=ee.mapDimension("single"),se=ee.mapDimension("value"),le=map$1(ie,function(me){return map$1(me.indices,function(ye){var _e=ne.dataToPoint(ee.get(oe,ye));return _e[1]=ee.get(se,ye),_e})}),ue=computeBaseline(le),ce=ue.y0,de=ae/ue.max,he=ie.length,fe=ie[0].indices.length,pe,ve=0;ve<fe;++ve){pe=ce[ve]*de,ee.setItemLayout(ie[0].indices[ve],{layerIndex:0,x:le[0][ve][0],y0:pe,y:le[0][ve][1]*de});for(var ge=1;ge<he;++ge)pe+=le[ge-1][ve][1]*de,ee.setItemLayout(ie[ge].indices[ve],{layerIndex:ge,x:le[ge][ve][0],y0:pe,y:le[ge][ve][1]*de})}}function computeBaseline(ee){for(var te=ee.length,ae=ee[0].length,ne=[],ie=[],oe=0,se=0;se<ae;++se){for(var le=0,ue=0;ue<te;++ue)le+=ee[ue][se][1];le>oe&&(oe=le),ne.push(le)}for(var ce=0;ce<ae;++ce)ie[ce]=(oe-ne[ce])/2;oe=0;for(var de=0;de<ae;++de){var he=ne[de]+ie[de];he>oe&&(oe=he)}return{y0:ie,max:oe}}function install$t(ee){ee.registerChartView(ThemeRiverView$1),ee.registerSeriesModel(ThemeRiverSeriesModel$1),ee.registerLayout(themeRiverLayout),ee.registerProcessor(dataFilter$1("themeRiver"))}var DEFAULT_SECTOR_Z=2,DEFAULT_TEXT_Z=4,SunburstPiece=function(ee){__extends(te,ee);function te(ae,ne,ie,oe){var se=ee.call(this)||this;se.z2=DEFAULT_SECTOR_Z,se.textConfig={inside:!0},getECData(se).seriesIndex=ne.seriesIndex;var le=new ZRText$1({z2:DEFAULT_TEXT_Z,silent:ae.getModel().get(["label","silent"])});return se.setTextContent(le),se.updateData(!0,ae,ne,ie,oe),se}return te.prototype.updateData=function(ae,ne,ie,oe,se){this.node=ne,ne.piece=this,ie=ie||this._seriesModel,oe=oe||this._ecModel;var le=this;getECData(le).dataIndex=ne.dataIndex;var ue=ne.getModel(),ce=ue.getModel("emphasis"),de=ne.getLayout(),he=extend$1({},de);he.label=null;var fe=ne.getVisual("style");fe.lineJoin="bevel";var pe=ne.getVisual("decal");pe&&(fe.decal=createOrUpdatePatternFromDecal(pe,se));var ve=getSectorCornerRadius(ue.getModel("itemStyle"),he,!0);extend$1(he,ve),each$f(SPECIAL_STATES,function(_e){var be=le.ensureState(_e),xe=ue.getModel([_e,"itemStyle"]);be.style=xe.getItemStyle();var $e=getSectorCornerRadius(xe,he);$e&&(be.shape=$e)}),ae?(le.setShape(he),le.shape.r=de.r0,initProps(le,{shape:{r:de.r}},ie,ne.dataIndex)):(updateProps$1(le,{shape:he},ie),saveOldStyle(le)),le.useStyle(fe),this._updateLabel(ie);var ge=ue.getShallow("cursor");ge&&le.attr("cursor",ge),this._seriesModel=ie||this._seriesModel,this._ecModel=oe||this._ecModel;var me=ce.get("focus"),ye=me==="ancestor"?ne.getAncestorsIndices():me==="descendant"?ne.getDescendantIndices():me;toggleHoverEmphasis(this,ye,ce.get("blurScope"),ce.get("disabled"))},te.prototype._updateLabel=function(ae){var ne=this,ie=this.node.getModel(),oe=ie.getModel("label"),se=this.node.getLayout(),le=se.endAngle-se.startAngle,ue=(se.startAngle+se.endAngle)/2,ce=Math.cos(ue),de=Math.sin(ue),he=this,fe=he.getTextContent(),pe=this.node.dataIndex,ve=oe.get("minAngle")/180*Math.PI,ge=oe.get("show")&&!(ve!=null&&Math.abs(le)<ve);fe.ignore=!ge,each$f(DISPLAY_STATES,function(ye){var _e=ye==="normal"?ie.getModel("label"):ie.getModel([ye,"label"]),be=ye==="normal",xe=be?fe:fe.ensureState(ye),$e=ae.getFormattedLabel(pe,ye);be&&($e=$e||ne.node.name),xe.style=createTextStyle$1(_e,{},null,ye!=="normal",!0),$e&&(xe.style.text=$e);var Se=_e.get("show");Se!=null&&!be&&(xe.ignore=!Se);var we=me(_e,"position"),Ae=be?he:he.states[ye],Te=Ae.style.fill;Ae.textConfig={outsideFill:_e.get("color")==="inherit"?Te:null,inside:we!=="outside"};var De,Me=me(_e,"distance")||0,Ie=me(_e,"align");we==="outside"?(De=se.r+Me,Ie=ue>Math.PI/2?"right":"left"):!Ie||Ie==="center"?(le===2*Math.PI&&se.r0===0?De=0:De=(se.r+se.r0)/2,Ie="center"):Ie==="left"?(De=se.r0+Me,ue>Math.PI/2&&(Ie="right")):Ie==="right"&&(De=se.r-Me,ue>Math.PI/2&&(Ie="left")),xe.style.align=Ie,xe.style.verticalAlign=me(_e,"verticalAlign")||"middle",xe.x=De*ce+se.cx,xe.y=De*de+se.cy;var Ce=me(_e,"rotate"),Ee=0;Ce==="radial"?(Ee=normalizeRadian(-ue),Ee>Math.PI/2&&Ee<Math.PI*1.5&&(Ee+=Math.PI)):Ce==="tangential"?(Ee=Math.PI/2-ue,Ee>Math.PI/2?Ee-=Math.PI:Ee<-Math.PI/2&&(Ee+=Math.PI)):isNumber$1(Ce)&&(Ee=Ce*Math.PI/180),xe.rotation=normalizeRadian(Ee)});function me(ye,_e){var be=ye.get(_e);return be??oe.get(_e)}fe.dirtyStyle()},te}(Sector$1);const SunburstPiece$1=SunburstPiece;var ROOT_TO_NODE_ACTION="sunburstRootToNode",HIGHLIGHT_ACTION="sunburstHighlight",UNHIGHLIGHT_ACTION="sunburstUnhighlight";function installSunburstAction(ee){ee.registerAction({type:ROOT_TO_NODE_ACTION,update:"updateView"},function(te,ae){ae.eachComponent({mainType:"series",subType:"sunburst",query:te},ne);function ne(ie,oe){var se=retrieveTargetInfo(te,[ROOT_TO_NODE_ACTION],ie);if(se){var le=ie.getViewRoot();le&&(te.direction=aboveViewRoot(le,se.node)?"rollUp":"drillDown"),ie.resetViewRoot(se.node)}}}),ee.registerAction({type:HIGHLIGHT_ACTION,update:"none"},function(te,ae,ne){te=extend$1({},te),ae.eachComponent({mainType:"series",subType:"sunburst",query:te},ie);function ie(oe){var se=retrieveTargetInfo(te,[HIGHLIGHT_ACTION],oe);se&&(te.dataIndex=se.node.dataIndex)}ne.dispatchAction(extend$1(te,{type:"highlight"}))}),ee.registerAction({type:UNHIGHLIGHT_ACTION,update:"updateView"},function(te,ae,ne){te=extend$1({},te),ne.dispatchAction(extend$1(te,{type:"downplay"}))})}var SunburstView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie,oe){var se=this;this.seriesModel=ae,this.api=ie,this.ecModel=ne;var le=ae.getData(),ue=le.tree.root,ce=ae.getViewRoot(),de=this.group,he=ae.get("renderLabelForZeroData"),fe=[];ce.eachNode(function(_e){fe.push(_e)});var pe=this._oldChildren||[];ve(fe,pe),ye(ue,ce),this._initEvents(),this._oldChildren=fe;function ve(_e,be){if(_e.length===0&&be.length===0)return;new DataDiffer$1(be,_e,xe,xe).add($e).update($e).remove(curry$1($e,null)).execute();function xe(Se){return Se.getId()}function $e(Se,we){var Ae=Se==null?null:_e[Se],Te=we==null?null:be[we];ge(Ae,Te)}}function ge(_e,be){if(!he&&_e&&!_e.getValue()&&(_e=null),_e!==ue&&be!==ue){if(be&&be.piece)_e?(be.piece.updateData(!1,_e,ae,ne,ie),le.setItemGraphicEl(_e.dataIndex,be.piece)):me(be);else if(_e){var xe=new SunburstPiece$1(_e,ae,ne,ie);de.add(xe),le.setItemGraphicEl(_e.dataIndex,xe)}}}function me(_e){_e&&_e.piece&&(de.remove(_e.piece),_e.piece=null)}function ye(_e,be){be.depth>0?(se.virtualPiece?se.virtualPiece.updateData(!1,_e,ae,ne,ie):(se.virtualPiece=new SunburstPiece$1(_e,ae,ne,ie),de.add(se.virtualPiece)),be.piece.off("click"),se.virtualPiece.on("click",function(xe){se._rootToNode(be.parentNode)})):se.virtualPiece&&(de.remove(se.virtualPiece),se.virtualPiece=null)}},te.prototype._initEvents=function(){var ae=this;this.group.off("click"),this.group.on("click",function(ne){var ie=!1,oe=ae.seriesModel.getViewRoot();oe.eachNode(function(se){if(!ie&&se.piece&&se.piece===ne.target){var le=se.getModel().get("nodeClick");if(le==="rootToNode")ae._rootToNode(se);else if(le==="link"){var ue=se.getModel(),ce=ue.get("link");if(ce){var de=ue.get("target",!0)||"_blank";windowOpen(ce,de)}}ie=!0}})})},te.prototype._rootToNode=function(ae){ae!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:ROOT_TO_NODE_ACTION,from:this.uid,seriesId:this.seriesModel.id,targetNode:ae})},te.prototype.containPoint=function(ae,ne){var ie=ne.getData(),oe=ie.getItemLayout(0);if(oe){var se=ae[0]-oe.cx,le=ae[1]-oe.cy,ue=Math.sqrt(se*se+le*le);return ue<=oe.r&&ue>=oe.r0}},te.type="sunburst",te}(ChartView$1);const SunburstView$1=SunburstView;var SunburstSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.ignoreStyleOnData=!0,ae}return te.prototype.getInitialData=function(ae,ne){var ie={name:ae.name,children:ae.data};completeTreeValue(ie);var oe=this._levelModels=map$1(ae.levels||[],function(ue){return new Model$1(ue,this,ne)},this),se=Tree$1.createTree(ie,this,le);function le(ue){ue.wrapMethod("getItemModel",function(ce,de){var he=se.getNodeByDataIndex(de),fe=oe[he.depth];return fe&&(ce.parentModel=fe),ce})}return se.data},te.prototype.optionUpdated=function(){this.resetViewRoot()},te.prototype.getDataParams=function(ae){var ne=ee.prototype.getDataParams.apply(this,arguments),ie=this.getData().tree.getNodeByDataIndex(ae);return ne.treePathInfo=wrapTreePathInfo(ie,this),ne},te.prototype.getLevelModel=function(ae){return this._levelModels&&this._levelModels[ae.depth]},te.prototype.getViewRoot=function(){return this._viewRoot},te.prototype.resetViewRoot=function(ae){ae?this._viewRoot=ae:ae=this._viewRoot;var ne=this.getRawData().tree.root;(!ae||ae!==ne&&!ne.contains(ae))&&(this._viewRoot=ne)},te.prototype.enableAriaDecal=function(){enableAriaDecalForTree(this)},te.type="series.sunburst",te.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},te}(SeriesModel$1);function completeTreeValue(ee){var te=0;each$f(ee.children,function(ne){completeTreeValue(ne);var ie=ne.value;isArray$2(ie)&&(ie=ie[0]),te+=ie});var ae=ee.value;isArray$2(ae)&&(ae=ae[0]),(ae==null||isNaN(ae))&&(ae=te),ae<0&&(ae=0),isArray$2(ee.value)?ee.value[0]=ae:ee.value=ae}const SunburstSeriesModel$1=SunburstSeriesModel;var RADIAN=Math.PI/180;function sunburstLayout(ee,te,ae){te.eachSeriesByType(ee,function(ne){var ie=ne.get("center"),oe=ne.get("radius");isArray$2(oe)||(oe=[0,oe]),isArray$2(ie)||(ie=[ie,ie]);var se=ae.getWidth(),le=ae.getHeight(),ue=Math.min(se,le),ce=parsePercent(ie[0],se),de=parsePercent(ie[1],le),he=parsePercent(oe[0],ue/2),fe=parsePercent(oe[1],ue/2),pe=-ne.get("startAngle")*RADIAN,ve=ne.get("minAngle")*RADIAN,ge=ne.getData().tree.root,me=ne.getViewRoot(),ye=me.depth,_e=ne.get("sort");_e!=null&&initChildren(me,_e);var be=0;each$f(me.children,function(ke){!isNaN(ke.getValue())&&be++});var xe=me.getValue(),$e=Math.PI/(xe||be)*2,Se=me.depth>0,we=me.height-(Se?-1:1),Ae=(fe-he)/(we||1),Te=ne.get("clockwise"),De=ne.get("stillShowZeroSum"),Me=Te?1:-1,Ie=function(ke,Be){if(ke){var Ne=Be;if(ke!==ge){var He=ke.getValue(),qe=xe===0&&De?$e:He*$e;qe<ve&&(qe=ve),Ne=Be+Me*qe;var Oe=ke.depth-ye-(Se?-1:1),ze=he+Ae*Oe,Ve=he+Ae*(Oe+1),Ge=ne.getLevelModel(ke);if(Ge){var We=Ge.get("r0",!0),Ue=Ge.get("r",!0),Ye=Ge.get("radius",!0);Ye!=null&&(We=Ye[0],Ue=Ye[1]),We!=null&&(ze=parsePercent(We,ue/2)),Ue!=null&&(Ve=parsePercent(Ue,ue/2))}ke.setLayout({angle:qe,startAngle:Be,endAngle:Ne,clockwise:Te,cx:ce,cy:de,r0:ze,r:Ve})}if(ke.children&&ke.children.length){var Ze=0;each$f(ke.children,function(Xe){Ze+=Ie(Xe,Be+Ze)})}return Ne-Be}};if(Se){var Ce=he,Ee=he+Ae,Re=Math.PI*2;ge.setLayout({angle:Re,startAngle:pe,endAngle:pe+Re,clockwise:Te,cx:ce,cy:de,r0:Ce,r:Ee})}Ie(me,pe)})}function initChildren(ee,te){var ae=ee.children||[];ee.children=sort(ae,te),ae.length&&each$f(ee.children,function(ne){initChildren(ne,te)})}function sort(ee,te){if(isFunction$1(te)){var ae=map$1(ee,function(ie,oe){var se=ie.getValue();return{params:{depth:ie.depth,height:ie.height,dataIndex:ie.dataIndex,getValue:function(){return se}},index:oe}});return ae.sort(function(ie,oe){return te(ie.params,oe.params)}),map$1(ae,function(ie){return ee[ie.index]})}else{var ne=te==="asc";return ee.sort(function(ie,oe){var se=(ie.getValue()-oe.getValue())*(ne?1:-1);return se===0?(ie.dataIndex-oe.dataIndex)*(ne?-1:1):se})}}function sunburstVisual(ee){var te={};function ae(ne,ie,oe){for(var se=ne;se&&se.depth>1;)se=se.parentNode;var le=ie.getColorFromPalette(se.name||se.dataIndex+"",te);return ne.depth>1&&isString$1(le)&&(le=lift(le,(ne.depth-1)/(oe-1)*.5)),le}ee.eachSeriesByType("sunburst",function(ne){var ie=ne.getData(),oe=ie.tree;oe.eachNode(function(se){var le=se.getModel(),ue=le.getModel("itemStyle").getItemStyle();ue.fill||(ue.fill=ae(se,ne,oe.root.height));var ce=ie.ensureUniqueItemVisual(se.dataIndex,"style");extend$1(ce,ue)})})}function install$s(ee){ee.registerChartView(SunburstView$1),ee.registerSeriesModel(SunburstSeriesModel$1),ee.registerLayout(curry$1(sunburstLayout,"sunburst")),ee.registerProcessor(curry$1(dataFilter$1,"sunburst")),ee.registerVisual(sunburstVisual),installSunburstAction(ee)}var STYLE_VISUAL_TYPE={color:"fill",borderColor:"stroke"},NON_STYLE_VISUAL_PROPS={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},customInnerStore=makeInner(),CustomSeriesModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},te.prototype.getInitialData=function(ae,ne){return createSeriesData(null,this)},te.prototype.getDataParams=function(ae,ne,ie){var oe=ee.prototype.getDataParams.call(this,ae,ne);return ie&&(oe.info=customInnerStore(ie).info),oe},te.type="series.custom",te.dependencies=["grid","polar","geo","singleAxis","calendar"],te.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},te}(SeriesModel$1);const CustomSeriesModel$1=CustomSeriesModel;function dataToCoordSize$3(ee,te){return te=te||[0,0],map$1(["x","y"],function(ae,ne){var ie=this.getAxis(ae),oe=te[ne],se=ee[ne]/2;return ie.type==="category"?ie.getBandWidth():Math.abs(ie.dataToCoord(oe-se)-ie.dataToCoord(oe+se))},this)}function cartesianPrepareCustom(ee){var te=ee.master.getRect();return{coordSys:{type:"cartesian2d",x:te.x,y:te.y,width:te.width,height:te.height},api:{coord:function(ae){return ee.dataToPoint(ae)},size:bind$2(dataToCoordSize$3,ee)}}}function dataToCoordSize$2(ee,te){return te=te||[0,0],map$1([0,1],function(ae){var ne=te[ae],ie=ee[ae]/2,oe=[],se=[];return oe[ae]=ne-ie,se[ae]=ne+ie,oe[1-ae]=se[1-ae]=te[1-ae],Math.abs(this.dataToPoint(oe)[ae]-this.dataToPoint(se)[ae])},this)}function geoPrepareCustom(ee){var te=ee.getBoundingRect();return{coordSys:{type:"geo",x:te.x,y:te.y,width:te.width,height:te.height,zoom:ee.getZoom()},api:{coord:function(ae){return ee.dataToPoint(ae)},size:bind$2(dataToCoordSize$2,ee)}}}function dataToCoordSize$1(ee,te){var ae=this.getAxis(),ne=te instanceof Array?te[0]:te,ie=(ee instanceof Array?ee[0]:ee)/2;return ae.type==="category"?ae.getBandWidth():Math.abs(ae.dataToCoord(ne-ie)-ae.dataToCoord(ne+ie))}function singlePrepareCustom(ee){var te=ee.getRect();return{coordSys:{type:"singleAxis",x:te.x,y:te.y,width:te.width,height:te.height},api:{coord:function(ae){return ee.dataToPoint(ae)},size:bind$2(dataToCoordSize$1,ee)}}}function dataToCoordSize(ee,te){return te=te||[0,0],map$1(["Radius","Angle"],function(ae,ne){var ie="get"+ae+"Axis",oe=this[ie](),se=te[ne],le=ee[ne]/2,ue=oe.type==="category"?oe.getBandWidth():Math.abs(oe.dataToCoord(se-le)-oe.dataToCoord(se+le));return ae==="Angle"&&(ue=ue*Math.PI/180),ue},this)}function polarPrepareCustom(ee){var te=ee.getRadiusAxis(),ae=ee.getAngleAxis(),ne=te.getExtent();return ne[0]>ne[1]&&ne.reverse(),{coordSys:{type:"polar",cx:ee.cx,cy:ee.cy,r:ne[1],r0:ne[0]},api:{coord:function(ie){var oe=te.dataToRadius(ie[0]),se=ae.dataToAngle(ie[1]),le=ee.coordToPoint([oe,se]);return le.push(oe,se*Math.PI/180),le},size:bind$2(dataToCoordSize,ee)}}}function calendarPrepareCustom(ee){var te=ee.getRect(),ae=ee.getRangeInfo();return{coordSys:{type:"calendar",x:te.x,y:te.y,width:te.width,height:te.height,cellWidth:ee.getCellWidth(),cellHeight:ee.getCellHeight(),rangeInfo:{start:ae.start,end:ae.end,weeks:ae.weeks,dayCount:ae.allDay}},api:{coord:function(ne,ie){return ee.dataToPoint(ne,ie)}}}}function isEC4CompatibleStyle(ee,te,ae,ne){return ee&&(ee.legacy||ee.legacy!==!1&&!ae&&!ne&&te!=="tspan"&&(te==="text"||hasOwn(ee,"text")))}function convertFromEC4CompatibleStyle(ee,te,ae){var ne=ee,ie,oe,se;if(te==="text")se=ne;else{se={},hasOwn(ne,"text")&&(se.text=ne.text),hasOwn(ne,"rich")&&(se.rich=ne.rich),hasOwn(ne,"textFill")&&(se.fill=ne.textFill),hasOwn(ne,"textStroke")&&(se.stroke=ne.textStroke),hasOwn(ne,"fontFamily")&&(se.fontFamily=ne.fontFamily),hasOwn(ne,"fontSize")&&(se.fontSize=ne.fontSize),hasOwn(ne,"fontStyle")&&(se.fontStyle=ne.fontStyle),hasOwn(ne,"fontWeight")&&(se.fontWeight=ne.fontWeight),oe={type:"text",style:se,silent:!0},ie={};var le=hasOwn(ne,"textPosition");ae?ie.position=le?ne.textPosition:"inside":le&&(ie.position=ne.textPosition),hasOwn(ne,"textPosition")&&(ie.position=ne.textPosition),hasOwn(ne,"textOffset")&&(ie.offset=ne.textOffset),hasOwn(ne,"textRotation")&&(ie.rotation=ne.textRotation),hasOwn(ne,"textDistance")&&(ie.distance=ne.textDistance)}return convertEC4CompatibleRichItem(se,ee),each$f(se.rich,function(ue){convertEC4CompatibleRichItem(ue,ue)}),{textConfig:ie,textContent:oe}}function convertEC4CompatibleRichItem(ee,te){te&&(te.font=te.textFont||te.font,hasOwn(te,"textStrokeWidth")&&(ee.lineWidth=te.textStrokeWidth),hasOwn(te,"textAlign")&&(ee.align=te.textAlign),hasOwn(te,"textVerticalAlign")&&(ee.verticalAlign=te.textVerticalAlign),hasOwn(te,"textLineHeight")&&(ee.lineHeight=te.textLineHeight),hasOwn(te,"textWidth")&&(ee.width=te.textWidth),hasOwn(te,"textHeight")&&(ee.height=te.textHeight),hasOwn(te,"textBackgroundColor")&&(ee.backgroundColor=te.textBackgroundColor),hasOwn(te,"textPadding")&&(ee.padding=te.textPadding),hasOwn(te,"textBorderColor")&&(ee.borderColor=te.textBorderColor),hasOwn(te,"textBorderWidth")&&(ee.borderWidth=te.textBorderWidth),hasOwn(te,"textBorderRadius")&&(ee.borderRadius=te.textBorderRadius),hasOwn(te,"textBoxShadowColor")&&(ee.shadowColor=te.textBoxShadowColor),hasOwn(te,"textBoxShadowBlur")&&(ee.shadowBlur=te.textBoxShadowBlur),hasOwn(te,"textBoxShadowOffsetX")&&(ee.shadowOffsetX=te.textBoxShadowOffsetX),hasOwn(te,"textBoxShadowOffsetY")&&(ee.shadowOffsetY=te.textBoxShadowOffsetY))}function convertToEC4StyleForCustomSerise(ee,te,ae){var ne=ee;ne.textPosition=ne.textPosition||ae.position||"inside",ae.offset!=null&&(ne.textOffset=ae.offset),ae.rotation!=null&&(ne.textRotation=ae.rotation),ae.distance!=null&&(ne.textDistance=ae.distance);var ie=ne.textPosition.indexOf("inside")>=0,oe=ee.fill||"#000";convertToEC4RichItem(ne,te);var se=ne.textFill==null;return ie?se&&(ne.textFill=ae.insideFill||"#fff",!ne.textStroke&&ae.insideStroke&&(ne.textStroke=ae.insideStroke),!ne.textStroke&&(ne.textStroke=oe),ne.textStrokeWidth==null&&(ne.textStrokeWidth=2)):(se&&(ne.textFill=ee.fill||ae.outsideFill||"#000"),!ne.textStroke&&ae.outsideStroke&&(ne.textStroke=ae.outsideStroke)),ne.text=te.text,ne.rich=te.rich,each$f(te.rich,function(le){convertToEC4RichItem(le,le)}),ne}function convertToEC4RichItem(ee,te){te&&(hasOwn(te,"fill")&&(ee.textFill=te.fill),hasOwn(te,"stroke")&&(ee.textStroke=te.fill),hasOwn(te,"lineWidth")&&(ee.textStrokeWidth=te.lineWidth),hasOwn(te,"font")&&(ee.font=te.font),hasOwn(te,"fontStyle")&&(ee.fontStyle=te.fontStyle),hasOwn(te,"fontWeight")&&(ee.fontWeight=te.fontWeight),hasOwn(te,"fontSize")&&(ee.fontSize=te.fontSize),hasOwn(te,"fontFamily")&&(ee.fontFamily=te.fontFamily),hasOwn(te,"align")&&(ee.textAlign=te.align),hasOwn(te,"verticalAlign")&&(ee.textVerticalAlign=te.verticalAlign),hasOwn(te,"lineHeight")&&(ee.textLineHeight=te.lineHeight),hasOwn(te,"width")&&(ee.textWidth=te.width),hasOwn(te,"height")&&(ee.textHeight=te.height),hasOwn(te,"backgroundColor")&&(ee.textBackgroundColor=te.backgroundColor),hasOwn(te,"padding")&&(ee.textPadding=te.padding),hasOwn(te,"borderColor")&&(ee.textBorderColor=te.borderColor),hasOwn(te,"borderWidth")&&(ee.textBorderWidth=te.borderWidth),hasOwn(te,"borderRadius")&&(ee.textBorderRadius=te.borderRadius),hasOwn(te,"shadowColor")&&(ee.textBoxShadowColor=te.shadowColor),hasOwn(te,"shadowBlur")&&(ee.textBoxShadowBlur=te.shadowBlur),hasOwn(te,"shadowOffsetX")&&(ee.textBoxShadowOffsetX=te.shadowOffsetX),hasOwn(te,"shadowOffsetY")&&(ee.textBoxShadowOffsetY=te.shadowOffsetY),hasOwn(te,"textShadowColor")&&(ee.textShadowColor=te.textShadowColor),hasOwn(te,"textShadowBlur")&&(ee.textShadowBlur=te.textShadowBlur),hasOwn(te,"textShadowOffsetX")&&(ee.textShadowOffsetX=te.textShadowOffsetX),hasOwn(te,"textShadowOffsetY")&&(ee.textShadowOffsetY=te.textShadowOffsetY))}var LEGACY_TRANSFORM_PROPS_MAP={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},LEGACY_TRANSFORM_PROPS=keys(LEGACY_TRANSFORM_PROPS_MAP);reduce(TRANSFORMABLE_PROPS,function(ee,te){return ee[te]=1,ee},{});TRANSFORMABLE_PROPS.join(", ");var ELEMENT_ANIMATABLE_PROPS=["","style","shape","extra"],transitionInnerStore=makeInner();function getElementAnimationConfig(ee,te,ae,ne,ie){var oe=ee+"Animation",se=getAnimationConfig(ee,ne,ie)||{},le=transitionInnerStore(te).userDuring;return se.duration>0&&(se.during=le?bind$2(duringCall,{el:te,userDuring:le}):null,se.setToFinal=!0,se.scope=ee),extend$1(se,ae[oe]),se}function applyUpdateTransition(ee,te,ae,ne){ne=ne||{};var ie=ne.dataIndex,oe=ne.isInit,se=ne.clearStyle,le=ae.isAnimationEnabled(),ue=transitionInnerStore(ee),ce=te.style;ue.userDuring=te.during;var de={},he={};if(prepareTransformAllPropsFinal(ee,te,he),prepareShapeOrExtraAllPropsFinal("shape",te,he),prepareShapeOrExtraAllPropsFinal("extra",te,he),!oe&&le&&(prepareTransformTransitionFrom(ee,te,de),prepareShapeOrExtraTransitionFrom("shape",ee,te,de),prepareShapeOrExtraTransitionFrom("extra",ee,te,de),prepareStyleTransitionFrom(ee,te,ce,de)),he.style=ce,applyPropsDirectly(ee,he,se),applyMiscProps(ee,te),le)if(oe){var fe={};each$f(ELEMENT_ANIMATABLE_PROPS,function(ve){var ge=ve?te[ve]:te;ge&&ge.enterFrom&&(ve&&(fe[ve]=fe[ve]||{}),extend$1(ve?fe[ve]:fe,ge.enterFrom))});var pe=getElementAnimationConfig("enter",ee,te,ae,ie);pe.duration>0&&ee.animateFrom(fe,pe)}else applyPropsTransition(ee,te,ie||0,ae,de);updateLeaveTo(ee,te),ce?ee.dirty():ee.markRedraw()}function updateLeaveTo(ee,te){for(var ae=transitionInnerStore(ee).leaveToProps,ne=0;ne<ELEMENT_ANIMATABLE_PROPS.length;ne++){var ie=ELEMENT_ANIMATABLE_PROPS[ne],oe=ie?te[ie]:te;oe&&oe.leaveTo&&(ae||(ae=transitionInnerStore(ee).leaveToProps={}),ie&&(ae[ie]=ae[ie]||{}),extend$1(ie?ae[ie]:ae,oe.leaveTo))}}function applyLeaveTransition(ee,te,ae,ne){if(ee){var ie=ee.parent,oe=transitionInnerStore(ee).leaveToProps;if(oe){var se=getElementAnimationConfig("update",ee,te,ae,0);se.done=function(){ie.remove(ee),ne&&ne()},ee.animateTo(oe,se)}else ie.remove(ee),ne&&ne()}}function isTransitionAll(ee){return ee==="all"}function applyPropsDirectly(ee,te,ae){var ne=te.style;if(!ee.isGroup&&ne){if(ae){ee.useStyle({});for(var ie=ee.animators,oe=0;oe<ie.length;oe++){var se=ie[oe];se.targetName==="style"&&se.changeTarget(ee.style)}}ee.setStyle(ne)}te&&(te.style=null,te&&ee.attr(te),te.style=ne)}function applyPropsTransition(ee,te,ae,ne,ie){if(ie){var oe=getElementAnimationConfig("update",ee,te,ne,ae);oe.duration>0&&ee.animateFrom(ie,oe)}}function applyMiscProps(ee,te){hasOwn(te,"silent")&&(ee.silent=te.silent),hasOwn(te,"ignore")&&(ee.ignore=te.ignore),ee instanceof Displayable$1&&hasOwn(te,"invisible")&&(ee.invisible=te.invisible),ee instanceof Path$1&&hasOwn(te,"autoBatch")&&(ee.autoBatch=te.autoBatch)}var tmpDuringScope={},transitionDuringAPI={setTransform:function(ee,te){return tmpDuringScope.el[ee]=te,this},getTransform:function(ee){return tmpDuringScope.el[ee]},setShape:function(ee,te){var ae=tmpDuringScope.el,ne=ae.shape||(ae.shape={});return ne[ee]=te,ae.dirtyShape&&ae.dirtyShape(),this},getShape:function(ee){var te=tmpDuringScope.el.shape;if(te)return te[ee]},setStyle:function(ee,te){var ae=tmpDuringScope.el,ne=ae.style;return ne&&(ne[ee]=te,ae.dirtyStyle&&ae.dirtyStyle()),this},getStyle:function(ee){var te=tmpDuringScope.el.style;if(te)return te[ee]},setExtra:function(ee,te){var ae=tmpDuringScope.el.extra||(tmpDuringScope.el.extra={});return ae[ee]=te,this},getExtra:function(ee){var te=tmpDuringScope.el.extra;if(te)return te[ee]}};function duringCall(){var ee=this,te=ee.el;if(te){var ae=transitionInnerStore(te).userDuring,ne=ee.userDuring;if(ae!==ne){ee.el=ee.userDuring=null;return}tmpDuringScope.el=te,ne(transitionDuringAPI)}}function prepareShapeOrExtraTransitionFrom(ee,te,ae,ne){var ie=ae[ee];if(ie){var oe=te[ee],se;if(oe){var le=ae.transition,ue=ie.transition;if(ue)if(!se&&(se=ne[ee]={}),isTransitionAll(ue))extend$1(se,oe);else for(var ce=normalizeToArray(ue),de=0;de<ce.length;de++){var he=ce[de],fe=oe[he];se[he]=fe}else if(isTransitionAll(le)||indexOf(le,ee)>=0){!se&&(se=ne[ee]={});for(var pe=keys(oe),de=0;de<pe.length;de++){var he=pe[de],fe=oe[he];isNonStyleTransitionEnabled(ie[he],fe)&&(se[he]=fe)}}}}}function prepareShapeOrExtraAllPropsFinal(ee,te,ae){var ne=te[ee];if(ne)for(var ie=ae[ee]={},oe=keys(ne),se=0;se<oe.length;se++){var le=oe[se];ie[le]=cloneValue(ne[le])}}function prepareTransformTransitionFrom(ee,te,ae){for(var ne=te.transition,ie=isTransitionAll(ne)?TRANSFORMABLE_PROPS:normalizeToArray(ne||[]),oe=0;oe<ie.length;oe++){var se=ie[oe];if(!(se==="style"||se==="shape"||se==="extra")){var le=ee[se];ae[se]=le}}}function prepareTransformAllPropsFinal(ee,te,ae){for(var ne=0;ne<LEGACY_TRANSFORM_PROPS.length;ne++){var ie=LEGACY_TRANSFORM_PROPS[ne],oe=LEGACY_TRANSFORM_PROPS_MAP[ie],se=te[ie];se&&(ae[oe[0]]=se[0],ae[oe[1]]=se[1])}for(var ne=0;ne<TRANSFORMABLE_PROPS.length;ne++){var le=TRANSFORMABLE_PROPS[ne];te[le]!=null&&(ae[le]=te[le])}}function prepareStyleTransitionFrom(ee,te,ae,ne){if(ae){var ie=ee.style,oe;if(ie){var se=ae.transition,le=te.transition;if(se&&!isTransitionAll(se)){var ue=normalizeToArray(se);!oe&&(oe=ne.style={});for(var ce=0;ce<ue.length;ce++){var de=ue[ce],he=ie[de];oe[de]=he}}else if(ee.getAnimationStyleProps&&(isTransitionAll(le)||isTransitionAll(se)||indexOf(le,"style")>=0)){var fe=ee.getAnimationStyleProps(),pe=fe?fe.style:null;if(pe){!oe&&(oe=ne.style={});for(var ve=keys(ae),ce=0;ce<ve.length;ce++){var de=ve[ce];if(pe[de]){var he=ie[de];oe[de]=he}}}}}}}function isNonStyleTransitionEnabled(ee,te){return isArrayLike(ee)?ee!==te:ee!=null&&isFinite(ee)}var getStateToRestore=makeInner(),KEYFRAME_EXCLUDE_KEYS=["percent","easing","shape","style","extra"];function stopPreviousKeyframeAnimationAndRestore(ee){ee.stopAnimation("keyframe"),ee.attr(getStateToRestore(ee))}function applyKeyframeAnimation(ee,te,ae){if(!(!ae.isAnimationEnabled()||!te)){if(isArray$2(te)){each$f(te,function(le){applyKeyframeAnimation(ee,le,ae)});return}var ne=te.keyframes,ie=te.duration;if(ae&&ie==null){var oe=getAnimationConfig("enter",ae,0);ie=oe&&oe.duration}if(!(!ne||!ie)){var se=getStateToRestore(ee);each$f(ELEMENT_ANIMATABLE_PROPS,function(le){if(!(le&&!ee[le])){var ue;ne.sort(function(ce,de){return ce.percent-de.percent}),each$f(ne,function(ce){var de=ee.animators,he=le?ce[le]:ce;if(he){var fe=keys(he);if(le||(fe=filter(fe,function(ge){return indexOf(KEYFRAME_EXCLUDE_KEYS,ge)<0})),!!fe.length){ue||(ue=ee.animate(le,te.loop,!0),ue.scope="keyframe");for(var pe=0;pe<de.length;pe++)de[pe]!==ue&&de[pe].targetName===ue.targetName&&de[pe].stopTracks(fe);le&&(se[le]=se[le]||{});var ve=le?se[le]:se;each$f(fe,function(ge){ve[ge]=((le?ee[le]:ee)||{})[ge]}),ue.whenWithKeys(ie*ce.percent,he,fe,ce.easing)}}}),ue&&ue.delay(te.delay||0).duration(ie).start(te.easing)}})}}}var EMPHASIS="emphasis",NORMAL="normal",BLUR="blur",SELECT="select",STATES=[NORMAL,EMPHASIS,BLUR,SELECT],PATH_ITEM_STYLE={normal:["itemStyle"],emphasis:[EMPHASIS,"itemStyle"],blur:[BLUR,"itemStyle"],select:[SELECT,"itemStyle"]},PATH_LABEL={normal:["label"],emphasis:[EMPHASIS,"label"],blur:[BLUR,"label"],select:[SELECT,"label"]},DEFAULT_TRANSITION=["x","y"],GROUP_DIFF_PREFIX="e\0\0",attachedTxInfoTmp={normal:{},emphasis:{},blur:{},select:{}},prepareCustoms={cartesian2d:cartesianPrepareCustom,geo:geoPrepareCustom,single:singlePrepareCustom,polar:polarPrepareCustom,calendar:calendarPrepareCustom};function isPath(ee){return ee instanceof Path$1}function isDisplayable(ee){return ee instanceof Displayable$1}function copyElement(ee,te){te.copyTransform(ee),isDisplayable(te)&&isDisplayable(ee)&&(te.setStyle(ee.style),te.z=ee.z,te.z2=ee.z2,te.zlevel=ee.zlevel,te.invisible=ee.invisible,te.ignore=ee.ignore,isPath(te)&&isPath(ee)&&te.setShape(ee.shape))}var CustomChartView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie,oe){this._progressiveEls=null;var se=this._data,le=ae.getData(),ue=this.group,ce=makeRenderItem(ae,le,ne,ie);se||ue.removeAll(),le.diff(se).add(function(he){createOrUpdateItem(ie,null,he,ce(he,oe),ae,ue,le)}).remove(function(he){var fe=se.getItemGraphicEl(he);fe&&applyLeaveTransition(fe,customInnerStore(fe).option,ae)}).update(function(he,fe){var pe=se.getItemGraphicEl(fe);createOrUpdateItem(ie,pe,he,ce(he,oe),ae,ue,le)}).execute();var de=ae.get("clip",!0)?createClipPath(ae.coordinateSystem,!1,ae):null;de?ue.setClipPath(de):ue.removeClipPath(),this._data=le},te.prototype.incrementalPrepareRender=function(ae,ne,ie){this.group.removeAll(),this._data=null},te.prototype.incrementalRender=function(ae,ne,ie,oe,se){var le=ne.getData(),ue=makeRenderItem(ne,le,ie,oe),ce=this._progressiveEls=[];function de(pe){pe.isGroup||(pe.incremental=!0,pe.ensureState("emphasis").hoverLayer=!0)}for(var he=ae.start;he<ae.end;he++){var fe=createOrUpdateItem(null,null,he,ue(he,se),ne,this.group,le);fe&&(fe.traverse(de),ce.push(fe))}},te.prototype.eachRendered=function(ae){traverseElements(this._progressiveEls||this.group,ae)},te.prototype.filterForExposedEvent=function(ae,ne,ie,oe){var se=ne.element;if(se==null||ie.name===se)return!0;for(;(ie=ie.__hostTarget||ie.parent)&&ie!==this.group;)if(ie.name===se)return!0;return!1},te.type="custom",te}(ChartView$1);const CustomChartView$1=CustomChartView;function createEl$1(ee){var te=ee.type,ae;if(te==="path"){var ne=ee.shape,ie=ne.width!=null&&ne.height!=null?{x:ne.x||0,y:ne.y||0,width:ne.width,height:ne.height}:null,oe=getPathData(ne);ae=makePath(oe,null,ie,ne.layout||"center"),customInnerStore(ae).customPathData=oe}else if(te==="image")ae=new ZRImage$1({}),customInnerStore(ae).customImagePath=ee.style.image;else if(te==="text")ae=new ZRText$1({});else if(te==="group")ae=new Group$4;else{if(te==="compoundPath")throw new Error('"compoundPath" is not supported yet.');var se=getShapeClass(te);if(!se){var le="";throwError(le)}ae=new se}return customInnerStore(ae).customGraphicType=te,ae.name=ee.name,ae.z2EmphasisLift=1,ae.z2SelectLift=1,ae}function updateElNormal(ee,te,ae,ne,ie,oe,se){stopPreviousKeyframeAnimationAndRestore(te);var le=ie&&ie.normal.cfg;le&&te.setTextConfig(le),ne&&ne.transition==null&&(ne.transition=DEFAULT_TRANSITION);var ue=ne&&ne.style;if(ue){if(te.type==="text"){var ce=ue;hasOwn(ce,"textFill")&&(ce.fill=ce.textFill),hasOwn(ce,"textStroke")&&(ce.stroke=ce.textStroke)}var de=void 0,he=isPath(te)?ue.decal:null;ee&&he&&(he.dirty=!0,de=createOrUpdatePatternFromDecal(he,ee)),ue.__decalPattern=de}if(isDisplayable(te)&&ue){var de=ue.__decalPattern;de&&(ue.decal=de)}applyUpdateTransition(te,ne,oe,{dataIndex:ae,isInit:se,clearStyle:!0}),applyKeyframeAnimation(te,ne.keyframeAnimation,oe)}function updateElOnState(ee,te,ae,ne,ie){var oe=te.isGroup?null:te,se=ie&&ie[ee].cfg;if(oe){var le=oe.ensureState(ee);if(ne===!1){var ue=oe.getState(ee);ue&&(ue.style=null)}else le.style=ne||null;se&&(le.textConfig=se),setDefaultStateProxy(oe)}}function updateZ(ee,te,ae){if(!ee.isGroup){var ne=ee,ie=ae.currentZ,oe=ae.currentZLevel;ne.z=ie,ne.zlevel=oe;var se=te.z2;se!=null&&(ne.z2=se||0);for(var le=0;le<STATES.length;le++)updateZForEachState(ne,te,STATES[le])}}function updateZForEachState(ee,te,ae){var ne=ae===NORMAL,ie=ne?te:retrieveStateOption(te,ae),oe=ie?ie.z2:null,se;oe!=null&&(se=ne?ee:ee.ensureState(ae),se.z2=oe||0)}function makeRenderItem(ee,te,ae,ne){var ie=ee.get("renderItem"),oe=ee.coordinateSystem,se={};oe&&(se=oe.prepareCustoms?oe.prepareCustoms(oe):prepareCustoms[oe.type](oe));for(var le=defaults$2({getWidth:ne.getWidth,getHeight:ne.getHeight,getZr:ne.getZr,getDevicePixelRatio:ne.getDevicePixelRatio,value:xe,style:Se,ordinalRawValue:$e,styleEmphasis:we,visual:De,barLayout:Me,currentSeriesIndices:Ie,font:Ce},se.api||{}),ue={context:{},seriesId:ee.id,seriesName:ee.name,seriesIndex:ee.seriesIndex,coordSys:se.coordSys,dataInsideLength:te.count(),encode:wrapEncodeDef(ee.getData())},ce,de,he={},fe={},pe={},ve={},ge=0;ge<STATES.length;ge++){var me=STATES[ge];pe[me]=ee.getModel(PATH_ITEM_STYLE[me]),ve[me]=ee.getModel(PATH_LABEL[me])}function ye(Ee){return Ee===ce?de||(de=te.getItemModel(Ee)):te.getItemModel(Ee)}function _e(Ee,Re){return te.hasItemOption?Ee===ce?he[Re]||(he[Re]=ye(Ee).getModel(PATH_ITEM_STYLE[Re])):ye(Ee).getModel(PATH_ITEM_STYLE[Re]):pe[Re]}function be(Ee,Re){return te.hasItemOption?Ee===ce?fe[Re]||(fe[Re]=ye(Ee).getModel(PATH_LABEL[Re])):ye(Ee).getModel(PATH_LABEL[Re]):ve[Re]}return function(Ee,Re){return ce=Ee,de=null,he={},fe={},ie&&ie(defaults$2({dataIndexInside:Ee,dataIndex:te.getRawIndex(Ee),actionType:Re?Re.type:null},ue),le)};function xe(Ee,Re){return Re==null&&(Re=ce),te.getStore().get(te.getDimensionIndex(Ee||0),Re)}function $e(Ee,Re){Re==null&&(Re=ce),Ee=Ee||0;var ke=te.getDimensionInfo(Ee);if(!ke){var Be=te.getDimensionIndex(Ee);return Be>=0?te.getStore().get(Be,Re):void 0}var Ne=te.get(ke.name,Re),He=ke&&ke.ordinalMeta;return He?He.categories[Ne]:Ne}function Se(Ee,Re){Re==null&&(Re=ce);var ke=te.getItemVisual(Re,"style"),Be=ke&&ke.fill,Ne=ke&&ke.opacity,He=_e(Re,NORMAL).getItemStyle();Be!=null&&(He.fill=Be),Ne!=null&&(He.opacity=Ne);var qe={inheritColor:isString$1(Be)?Be:"#000"},Oe=be(Re,NORMAL),ze=createTextStyle$1(Oe,null,qe,!1,!0);ze.text=Oe.getShallow("show")?retrieve2(ee.getFormattedLabel(Re,NORMAL),getDefaultLabel(te,Re)):null;var Ve=createTextConfig(Oe,qe,!1);return Te(Ee,He),He=convertToEC4StyleForCustomSerise(He,ze,Ve),Ee&&Ae(He,Ee),He.legacy=!0,He}function we(Ee,Re){Re==null&&(Re=ce);var ke=_e(Re,EMPHASIS).getItemStyle(),Be=be(Re,EMPHASIS),Ne=createTextStyle$1(Be,null,null,!0,!0);Ne.text=Be.getShallow("show")?retrieve3(ee.getFormattedLabel(Re,EMPHASIS),ee.getFormattedLabel(Re,NORMAL),getDefaultLabel(te,Re)):null;var He=createTextConfig(Be,null,!0);return Te(Ee,ke),ke=convertToEC4StyleForCustomSerise(ke,Ne,He),Ee&&Ae(ke,Ee),ke.legacy=!0,ke}function Ae(Ee,Re){for(var ke in Re)hasOwn(Re,ke)&&(Ee[ke]=Re[ke])}function Te(Ee,Re){Ee&&(Ee.textFill&&(Re.textFill=Ee.textFill),Ee.textPosition&&(Re.textPosition=Ee.textPosition))}function De(Ee,Re){if(Re==null&&(Re=ce),hasOwn(STYLE_VISUAL_TYPE,Ee)){var ke=te.getItemVisual(Re,"style");return ke?ke[STYLE_VISUAL_TYPE[Ee]]:null}if(hasOwn(NON_STYLE_VISUAL_PROPS,Ee))return te.getItemVisual(Re,Ee)}function Me(Ee){if(oe.type==="cartesian2d"){var Re=oe.getBaseAxis();return getLayoutOnAxis(defaults$2({axis:Re},Ee))}}function Ie(){return ae.getCurrentSeriesIndices()}function Ce(Ee){return getFont(Ee,ae)}}function wrapEncodeDef(ee){var te={};return each$f(ee.dimensions,function(ae){var ne=ee.getDimensionInfo(ae);if(!ne.isExtraCoord){var ie=ne.coordDim,oe=te[ie]=te[ie]||[];oe[ne.coordDimIndex]=ee.getDimensionIndex(ae)}}),te}function createOrUpdateItem(ee,te,ae,ne,ie,oe,se){if(!ne){oe.remove(te);return}var le=doCreateOrUpdateEl(ee,te,ae,ne,ie,oe);return le&&se.setItemGraphicEl(ae,le),le&&toggleHoverEmphasis(le,ne.focus,ne.blurScope,ne.emphasisDisabled),le}function doCreateOrUpdateEl(ee,te,ae,ne,ie,oe){var se=-1,le=te;te&&doesElNeedRecreate(te,ne,ie)&&(se=indexOf(oe.childrenRef(),te),te=null);var ue=!te,ce=te;ce?ce.clearStates():(ce=createEl$1(ne),le&&copyElement(le,ce)),ne.morph===!1?ce.disableMorphing=!0:ce.disableMorphing&&(ce.disableMorphing=!1),attachedTxInfoTmp.normal.cfg=attachedTxInfoTmp.normal.conOpt=attachedTxInfoTmp.emphasis.cfg=attachedTxInfoTmp.emphasis.conOpt=attachedTxInfoTmp.blur.cfg=attachedTxInfoTmp.blur.conOpt=attachedTxInfoTmp.select.cfg=attachedTxInfoTmp.select.conOpt=null,attachedTxInfoTmp.isLegacy=!1,doCreateOrUpdateAttachedTx(ce,ae,ne,ie,ue,attachedTxInfoTmp),doCreateOrUpdateClipPath(ce,ae,ne,ie,ue),updateElNormal(ee,ce,ae,ne,attachedTxInfoTmp,ie,ue),hasOwn(ne,"info")&&(customInnerStore(ce).info=ne.info);for(var de=0;de<STATES.length;de++){var he=STATES[de];if(he!==NORMAL){var fe=retrieveStateOption(ne,he),pe=retrieveStyleOptionOnState(ne,fe,he);updateElOnState(he,ce,fe,pe,attachedTxInfoTmp)}}return updateZ(ce,ne,ie),ne.type==="group"&&mergeChildren(ee,ce,ae,ne,ie),se>=0?oe.replaceAt(ce,se):oe.add(ce),ce}function doesElNeedRecreate(ee,te,ae){var ne=customInnerStore(ee),ie=te.type,oe=te.shape,se=te.style;return ae.isUniversalTransitionEnabled()||ie!=null&&ie!==ne.customGraphicType||ie==="path"&&hasOwnPathData(oe)&&getPathData(oe)!==ne.customPathData||ie==="image"&&hasOwn(se,"image")&&se.image!==ne.customImagePath}function doCreateOrUpdateClipPath(ee,te,ae,ne,ie){var oe=ae.clipPath;if(oe===!1)ee&&ee.getClipPath()&&ee.removeClipPath();else if(oe){var se=ee.getClipPath();se&&doesElNeedRecreate(se,oe,ne)&&(se=null),se||(se=createEl$1(oe),ee.setClipPath(se)),updateElNormal(null,se,te,oe,null,ne,ie)}}function doCreateOrUpdateAttachedTx(ee,te,ae,ne,ie,oe){if(!ee.isGroup){processTxInfo(ae,null,oe),processTxInfo(ae,EMPHASIS,oe);var se=oe.normal.conOpt,le=oe.emphasis.conOpt,ue=oe.blur.conOpt,ce=oe.select.conOpt;if(se!=null||le!=null||ce!=null||ue!=null){var de=ee.getTextContent();if(se===!1)de&&ee.removeTextContent();else{se=oe.normal.conOpt=se||{type:"text"},de?de.clearStates():(de=createEl$1(se),ee.setTextContent(de)),updateElNormal(null,de,te,se,null,ne,ie);for(var he=se&&se.style,fe=0;fe<STATES.length;fe++){var pe=STATES[fe];if(pe!==NORMAL){var ve=oe[pe].conOpt;updateElOnState(pe,de,ve,retrieveStyleOptionOnState(se,ve,pe),null)}}he?de.dirty():de.markRedraw()}}}}function processTxInfo(ee,te,ae){var ne=te?retrieveStateOption(ee,te):ee,ie=te?retrieveStyleOptionOnState(ee,ne,EMPHASIS):ee.style,oe=ee.type,se=ne?ne.textConfig:null,le=ee.textContent,ue=le?te?retrieveStateOption(le,te):le:null;if(ie&&(ae.isLegacy||isEC4CompatibleStyle(ie,oe,!!se,!!ue))){ae.isLegacy=!0;var ce=convertFromEC4CompatibleStyle(ie,oe,!te);!se&&ce.textConfig&&(se=ce.textConfig),!ue&&ce.textContent&&(ue=ce.textContent)}if(!te&&ue){var de=ue;!de.type&&(de.type="text")}var he=te?ae[te]:ae.normal;he.cfg=se,he.conOpt=ue}function retrieveStateOption(ee,te){return te?ee?ee[te]:null:ee}function retrieveStyleOptionOnState(ee,te,ae){var ne=te&&te.style;return ne==null&&ae===EMPHASIS&&ee&&(ne=ee.styleEmphasis),ne}function mergeChildren(ee,te,ae,ne,ie){var oe=ne.children,se=oe?oe.length:0,le=ne.$mergeChildren,ue=le==="byName"||ne.diffChildrenByName,ce=le===!1;if(!(!se&&!ue&&!ce)){if(ue){diffGroupChildren({api:ee,oldChildren:te.children()||[],newChildren:oe||[],dataIndex:ae,seriesModel:ie,group:te});return}ce&&te.removeAll();for(var de=0;de<se;de++){var he=oe[de],fe=te.childAt(de);he?(he.ignore==null&&(he.ignore=!1),doCreateOrUpdateEl(ee,fe,ae,he,ie,te)):fe.ignore=!0}for(var pe=te.childCount()-1;pe>=de;pe--){var ve=te.childAt(pe);removeChildFromGroup(te,ve,ie)}}}function removeChildFromGroup(ee,te,ae){te&&applyLeaveTransition(te,customInnerStore(ee).option,ae)}function diffGroupChildren(ee){new DataDiffer$1(ee.oldChildren,ee.newChildren,getKey,getKey,ee).add(processAddUpdate).update(processAddUpdate).remove(processRemove).execute()}function getKey(ee,te){var ae=ee&&ee.name;return ae??GROUP_DIFF_PREFIX+te}function processAddUpdate(ee,te){var ae=this.context,ne=ee!=null?ae.newChildren[ee]:null,ie=te!=null?ae.oldChildren[te]:null;doCreateOrUpdateEl(ae.api,ie,ae.dataIndex,ne,ae.seriesModel,ae.group)}function processRemove(ee){var te=this.context,ae=te.oldChildren[ee];ae&&applyLeaveTransition(ae,customInnerStore(ae).option,te.seriesModel)}function getPathData(ee){return ee&&(ee.pathData||ee.d)}function hasOwnPathData(ee){return ee&&(hasOwn(ee,"pathData")||hasOwn(ee,"d"))}function install$r(ee){ee.registerChartView(CustomChartView$1),ee.registerSeriesModel(CustomSeriesModel$1)}var inner$b=makeInner(),clone$1=clone$4,bind$1=bind$2,BaseAxisPointer=function(){function ee(){this._dragging=!1,this.animationThreshold=15}return ee.prototype.render=function(te,ae,ne,ie){var oe=ae.get("value"),se=ae.get("status");if(this._axisModel=te,this._axisPointerModel=ae,this._api=ne,!(!ie&&this._lastValue===oe&&this._lastStatus===se)){this._lastValue=oe,this._lastStatus=se;var le=this._group,ue=this._handle;if(!se||se==="hide"){le&&le.hide(),ue&&ue.hide();return}le&&le.show(),ue&&ue.show();var ce={};this.makeElOption(ce,oe,te,ae,ne);var de=ce.graphicKey;de!==this._lastGraphicKey&&this.clear(ne),this._lastGraphicKey=de;var he=this._moveAnimation=this.determineAnimation(te,ae);if(!le)le=this._group=new Group$4,this.createPointerEl(le,ce,te,ae),this.createLabelEl(le,ce,te,ae),ne.getZr().add(le);else{var fe=curry$1(updateProps,ae,he);this.updatePointerEl(le,ce,fe),this.updateLabelEl(le,ce,fe,ae)}updateMandatoryProps(le,ae,!0),this._renderHandle(oe)}},ee.prototype.remove=function(te){this.clear(te)},ee.prototype.dispose=function(te){this.clear(te)},ee.prototype.determineAnimation=function(te,ae){var ne=ae.get("animation"),ie=te.axis,oe=ie.type==="category",se=ae.get("snap");if(!se&&!oe)return!1;if(ne==="auto"||ne==null){var le=this.animationThreshold;if(oe&&ie.getBandWidth()>le)return!0;if(se){var ue=getAxisInfo$1(te).seriesDataCount,ce=ie.getExtent();return Math.abs(ce[0]-ce[1])/ue>le}return!1}return ne===!0},ee.prototype.makeElOption=function(te,ae,ne,ie,oe){},ee.prototype.createPointerEl=function(te,ae,ne,ie){var oe=ae.pointer;if(oe){var se=inner$b(te).pointerEl=new graphic$1[oe.type](clone$1(ae.pointer));te.add(se)}},ee.prototype.createLabelEl=function(te,ae,ne,ie){if(ae.label){var oe=inner$b(te).labelEl=new ZRText$1(clone$1(ae.label));te.add(oe),updateLabelShowHide(oe,ie)}},ee.prototype.updatePointerEl=function(te,ae,ne){var ie=inner$b(te).pointerEl;ie&&ae.pointer&&(ie.setStyle(ae.pointer.style),ne(ie,{shape:ae.pointer.shape}))},ee.prototype.updateLabelEl=function(te,ae,ne,ie){var oe=inner$b(te).labelEl;oe&&(oe.setStyle(ae.label.style),ne(oe,{x:ae.label.x,y:ae.label.y}),updateLabelShowHide(oe,ie))},ee.prototype._renderHandle=function(te){if(!(this._dragging||!this.updateHandleTransform)){var ae=this._axisPointerModel,ne=this._api.getZr(),ie=this._handle,oe=ae.getModel("handle"),se=ae.get("status");if(!oe.get("show")||!se||se==="hide"){ie&&ne.remove(ie),this._handle=null;return}var le;this._handle||(le=!0,ie=this._handle=createIcon(oe.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(ce){stop(ce.event)},onmousedown:bind$1(this._onHandleDragMove,this,0,0),drift:bind$1(this._onHandleDragMove,this),ondragend:bind$1(this._onHandleDragEnd,this)}),ne.add(ie)),updateMandatoryProps(ie,ae,!1),ie.setStyle(oe.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var ue=oe.get("size");isArray$2(ue)||(ue=[ue,ue]),ie.scaleX=ue[0]/2,ie.scaleY=ue[1]/2,createOrUpdate(this,"_doDispatchAxisPointer",oe.get("throttle")||0,"fixRate"),this._moveHandleToValue(te,le)}},ee.prototype._moveHandleToValue=function(te,ae){updateProps(this._axisPointerModel,!ae&&this._moveAnimation,this._handle,getHandleTransProps(this.getHandleTransform(te,this._axisModel,this._axisPointerModel)))},ee.prototype._onHandleDragMove=function(te,ae){var ne=this._handle;if(ne){this._dragging=!0;var ie=this.updateHandleTransform(getHandleTransProps(ne),[te,ae],this._axisModel,this._axisPointerModel);this._payloadInfo=ie,ne.stopAnimation(),ne.attr(getHandleTransProps(ie)),inner$b(ne).lastProp=null,this._doDispatchAxisPointer()}},ee.prototype._doDispatchAxisPointer=function(){var te=this._handle;if(te){var ae=this._payloadInfo,ne=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:ae.cursorPoint[0],y:ae.cursorPoint[1],tooltipOption:ae.tooltipOption,axesInfo:[{axisDim:ne.axis.dim,axisIndex:ne.componentIndex}]})}},ee.prototype._onHandleDragEnd=function(){this._dragging=!1;var te=this._handle;if(te){var ae=this._axisPointerModel.get("value");this._moveHandleToValue(ae),this._api.dispatchAction({type:"hideTip"})}},ee.prototype.clear=function(te){this._lastValue=null,this._lastStatus=null;var ae=te.getZr(),ne=this._group,ie=this._handle;ae&&ne&&(this._lastGraphicKey=null,ne&&ae.remove(ne),ie&&ae.remove(ie),this._group=null,this._handle=null,this._payloadInfo=null),clear$1(this,"_doDispatchAxisPointer")},ee.prototype.doClear=function(){},ee.prototype.buildLabel=function(te,ae,ne){return ne=ne||0,{x:te[ne],y:te[1-ne],width:ae[ne],height:ae[1-ne]}},ee}();function updateProps(ee,te,ae,ne){propsEqual(inner$b(ae).lastProp,ne)||(inner$b(ae).lastProp=ne,te?updateProps$1(ae,ne,ee):(ae.stopAnimation(),ae.attr(ne)))}function propsEqual(ee,te){if(isObject$4(ee)&&isObject$4(te)){var ae=!0;return each$f(te,function(ne,ie){ae=ae&&propsEqual(ee[ie],ne)}),!!ae}else return ee===te}function updateLabelShowHide(ee,te){ee[te.get(["label","show"])?"show":"hide"]()}function getHandleTransProps(ee){return{x:ee.x||0,y:ee.y||0,rotation:ee.rotation||0}}function updateMandatoryProps(ee,te,ae){var ne=te.get("z"),ie=te.get("zlevel");ee&&ee.traverse(function(oe){oe.type!=="group"&&(ne!=null&&(oe.z=ne),ie!=null&&(oe.zlevel=ie),oe.silent=ae)})}const BaseAxisPointer$1=BaseAxisPointer;function buildElStyle(ee){var te=ee.get("type"),ae=ee.getModel(te+"Style"),ne;return te==="line"?(ne=ae.getLineStyle(),ne.fill=null):te==="shadow"&&(ne=ae.getAreaStyle(),ne.stroke=null),ne}function buildLabelElOption(ee,te,ae,ne,ie){var oe=ae.get("value"),se=getValueLabel(oe,te.axis,te.ecModel,ae.get("seriesDataIndices"),{precision:ae.get(["label","precision"]),formatter:ae.get(["label","formatter"])}),le=ae.getModel("label"),ue=normalizeCssArray(le.get("padding")||0),ce=le.getFont(),de=getBoundingRect(se,ce),he=ie.position,fe=de.width+ue[1]+ue[3],pe=de.height+ue[0]+ue[2],ve=ie.align;ve==="right"&&(he[0]-=fe),ve==="center"&&(he[0]-=fe/2);var ge=ie.verticalAlign;ge==="bottom"&&(he[1]-=pe),ge==="middle"&&(he[1]-=pe/2),confineInContainer(he,fe,pe,ne);var me=le.get("backgroundColor");(!me||me==="auto")&&(me=te.get(["axisLine","lineStyle","color"])),ee.label={x:he[0],y:he[1],style:createTextStyle$1(le,{text:se,font:ce,fill:le.getTextColor(),padding:ue,backgroundColor:me}),z2:10}}function confineInContainer(ee,te,ae,ne){var ie=ne.getWidth(),oe=ne.getHeight();ee[0]=Math.min(ee[0]+te,ie)-te,ee[1]=Math.min(ee[1]+ae,oe)-ae,ee[0]=Math.max(ee[0],0),ee[1]=Math.max(ee[1],0)}function getValueLabel(ee,te,ae,ne,ie){ee=te.scale.parse(ee);var oe=te.scale.getLabel({value:ee},{precision:ie.precision}),se=ie.formatter;if(se){var le={value:getAxisRawValue(te,{value:ee}),axisDimension:te.dim,axisIndex:te.index,seriesData:[]};each$f(ne,function(ue){var ce=ae.getSeriesByIndex(ue.seriesIndex),de=ue.dataIndexInside,he=ce&&ce.getDataParams(de);he&&le.seriesData.push(he)}),isString$1(se)?oe=se.replace("{value}",oe):isFunction$1(se)&&(oe=se(le))}return oe}function getTransformedPosition(ee,te,ae){var ne=create$1();return rotate(ne,ne,ae.rotation),translate(ne,ne,ae.position),applyTransform([ee.dataToCoord(te),(ae.labelOffset||0)+(ae.labelDirection||1)*(ae.labelMargin||0)],ne)}function buildCartesianSingleLabelElOption(ee,te,ae,ne,ie,oe){var se=AxisBuilder$1.innerTextLayout(ae.rotation,0,ae.labelDirection);ae.labelMargin=ie.get(["label","margin"]),buildLabelElOption(te,ne,ie,oe,{position:getTransformedPosition(ne.axis,ee,ae),align:se.textAlign,verticalAlign:se.textVerticalAlign})}function makeLineShape(ee,te,ae){return ae=ae||0,{x1:ee[ae],y1:ee[1-ae],x2:te[ae],y2:te[1-ae]}}function makeRectShape(ee,te,ae){return ae=ae||0,{x:ee[ae],y:ee[1-ae],width:te[ae],height:te[1-ae]}}function makeSectorShape(ee,te,ae,ne,ie,oe){return{cx:ee,cy:te,r0:ae,r:ne,startAngle:ie,endAngle:oe,clockwise:!0}}var CartesianAxisPointer=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.makeElOption=function(ae,ne,ie,oe,se){var le=ie.axis,ue=le.grid,ce=oe.get("type"),de=getCartesian(ue,le).getOtherAxis(le).getGlobalExtent(),he=le.toGlobalCoord(le.dataToCoord(ne,!0));if(ce&&ce!=="none"){var fe=buildElStyle(oe),pe=pointerShapeBuilder$2[ce](le,he,de);pe.style=fe,ae.graphicKey=pe.type,ae.pointer=pe}var ve=layout$2(ue.model,ie);buildCartesianSingleLabelElOption(ne,ae,ve,ie,oe,se)},te.prototype.getHandleTransform=function(ae,ne,ie){var oe=layout$2(ne.axis.grid.model,ne,{labelInside:!1});oe.labelMargin=ie.get(["handle","margin"]);var se=getTransformedPosition(ne.axis,ae,oe);return{x:se[0],y:se[1],rotation:oe.rotation+(oe.labelDirection<0?Math.PI:0)}},te.prototype.updateHandleTransform=function(ae,ne,ie,oe){var se=ie.axis,le=se.grid,ue=se.getGlobalExtent(!0),ce=getCartesian(le,se).getOtherAxis(se).getGlobalExtent(),de=se.dim==="x"?0:1,he=[ae.x,ae.y];he[de]+=ne[de],he[de]=Math.min(ue[1],he[de]),he[de]=Math.max(ue[0],he[de]);var fe=(ce[1]+ce[0])/2,pe=[fe,fe];pe[de]=he[de];var ve=[{verticalAlign:"middle"},{align:"center"}];return{x:he[0],y:he[1],rotation:ae.rotation,cursorPoint:pe,tooltipOption:ve[de]}},te}(BaseAxisPointer$1);function getCartesian(ee,te){var ae={};return ae[te.dim+"AxisIndex"]=te.index,ee.getCartesian(ae)}var pointerShapeBuilder$2={line:function(ee,te,ae){var ne=makeLineShape([te,ae[0]],[te,ae[1]],getAxisDimIndex(ee));return{type:"Line",subPixelOptimize:!0,shape:ne}},shadow:function(ee,te,ae){var ne=Math.max(1,ee.getBandWidth()),ie=ae[1]-ae[0];return{type:"Rect",shape:makeRectShape([te-ne/2,ae[0]],[ne,ie],getAxisDimIndex(ee))}}};function getAxisDimIndex(ee){return ee.dim==="x"?0:1}const CartesianAxisPointer$1=CartesianAxisPointer;var AxisPointerModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="axisPointer",te.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},te}(ComponentModel$1);const AxisPointerModel$1=AxisPointerModel;var inner$a=makeInner(),each$8=each$f;function register(ee,te,ae){if(!env$1.node){var ne=te.getZr();inner$a(ne).records||(inner$a(ne).records={}),initGlobalListeners(ne,te);var ie=inner$a(ne).records[ee]||(inner$a(ne).records[ee]={});ie.handler=ae}}function initGlobalListeners(ee,te){if(inner$a(ee).initialized)return;inner$a(ee).initialized=!0,ae("click",curry$1(doEnter,"click")),ae("mousemove",curry$1(doEnter,"mousemove")),ae("globalout",onLeave);function ae(ne,ie){ee.on(ne,function(oe){var se=makeDispatchAction$1(te);each$8(inner$a(ee).records,function(le){le&&ie(le,oe,se.dispatchAction)}),dispatchTooltipFinally(se.pendings,te)})}}function dispatchTooltipFinally(ee,te){var ae=ee.showTip.length,ne=ee.hideTip.length,ie;ae?ie=ee.showTip[ae-1]:ne&&(ie=ee.hideTip[ne-1]),ie&&(ie.dispatchAction=null,te.dispatchAction(ie))}function onLeave(ee,te,ae){ee.handler("leave",null,ae)}function doEnter(ee,te,ae,ne){te.handler(ee,ae,ne)}function makeDispatchAction$1(ee){var te={showTip:[],hideTip:[]},ae=function(ne){var ie=te[ne.type];ie?ie.push(ne):(ne.dispatchAction=ae,ee.dispatchAction(ne))};return{dispatchAction:ae,pendings:te}}function unregister(ee,te){if(!env$1.node){var ae=te.getZr(),ne=(inner$a(ae).records||{})[ee];ne&&(inner$a(ae).records[ee]=null)}}var AxisPointerView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=ne.getComponent("tooltip"),se=ae.get("triggerOn")||oe&&oe.get("triggerOn")||"mousemove|click";register("axisPointer",ie,function(le,ue,ce){se!=="none"&&(le==="leave"||se.indexOf(le)>=0)&&ce({type:"updateAxisPointer",currTrigger:le,x:ue&&ue.offsetX,y:ue&&ue.offsetY})})},te.prototype.remove=function(ae,ne){unregister("axisPointer",ne)},te.prototype.dispose=function(ae,ne){unregister("axisPointer",ne)},te.type="axisPointer",te}(ComponentView$1);const AxisPointerView$1=AxisPointerView;function findPointFromSeries(ee,te){var ae=[],ne=ee.seriesIndex,ie;if(ne==null||!(ie=te.getSeriesByIndex(ne)))return{point:[]};var oe=ie.getData(),se=queryDataIndex(oe,ee);if(se==null||se<0||isArray$2(se))return{point:[]};var le=oe.getItemGraphicEl(se),ue=ie.coordinateSystem;if(ie.getTooltipPosition)ae=ie.getTooltipPosition(se)||[];else if(ue&&ue.dataToPoint)if(ee.isStacked){var ce=ue.getBaseAxis(),de=ue.getOtherAxis(ce),he=de.dim,fe=ce.dim,pe=he==="x"||he==="radius"?1:0,ve=oe.mapDimension(fe),ge=[];ge[pe]=oe.get(ve,se),ge[1-pe]=oe.get(oe.getCalculationInfo("stackResultDimension"),se),ae=ue.dataToPoint(ge)||[]}else ae=ue.dataToPoint(oe.getValues(map$1(ue.dimensions,function(ye){return oe.mapDimension(ye)}),se))||[];else if(le){var me=le.getBoundingRect().clone();me.applyTransform(le.transform),ae=[me.x+me.width/2,me.y+me.height/2]}return{point:ae,el:le}}var inner$9=makeInner();function axisTrigger(ee,te,ae){var ne=ee.currTrigger,ie=[ee.x,ee.y],oe=ee,se=ee.dispatchAction||bind$2(ae.dispatchAction,ae),le=te.getComponent("axisPointer").coordSysAxesInfo;if(le){illegalPoint(ie)&&(ie=findPointFromSeries({seriesIndex:oe.seriesIndex,dataIndex:oe.dataIndex},te).point);var ue=illegalPoint(ie),ce=oe.axesInfo,de=le.axesInfo,he=ne==="leave"||illegalPoint(ie),fe={},pe={},ve={list:[],map:{}},ge={showPointer:curry$1(showPointer,pe),showTooltip:curry$1(showTooltip,ve)};each$f(le.coordSysMap,function(ye,_e){var be=ue||ye.containPoint(ie);each$f(le.coordSysAxesInfo[_e],function(xe,$e){var Se=xe.axis,we=findInputAxisInfo(ce,xe);if(!he&&be&&(!ce||we)){var Ae=we&&we.value;Ae==null&&!ue&&(Ae=Se.pointToData(ie)),Ae!=null&&processOnAxis(xe,Ae,ge,!1,fe)}})});var me={};return each$f(de,function(ye,_e){var be=ye.linkGroup;be&&!pe[_e]&&each$f(be.axesInfo,function(xe,$e){var Se=pe[$e];if(xe!==ye&&Se){var we=Se.value;be.mapper&&(we=ye.axis.scale.parse(be.mapper(we,makeMapperParam(xe),makeMapperParam(ye)))),me[ye.key]=we}})}),each$f(me,function(ye,_e){processOnAxis(de[_e],ye,ge,!0,fe)}),updateModelActually(pe,de,fe),dispatchTooltipActually(ve,ie,ee,se),dispatchHighDownActually(de,se,ae),fe}}function processOnAxis(ee,te,ae,ne,ie){var oe=ee.axis;if(!(oe.scale.isBlank()||!oe.containData(te))){if(!ee.involveSeries){ae.showPointer(ee,te);return}var se=buildPayloadsBySeries(te,ee),le=se.payloadBatch,ue=se.snapToValue;le[0]&&ie.seriesIndex==null&&extend$1(ie,le[0]),!ne&&ee.snap&&oe.containData(ue)&&ue!=null&&(te=ue),ae.showPointer(ee,te,le),ae.showTooltip(ee,se,ue)}}function buildPayloadsBySeries(ee,te){var ae=te.axis,ne=ae.dim,ie=ee,oe=[],se=Number.MAX_VALUE,le=-1;return each$f(te.seriesModels,function(ue,ce){var de=ue.getData().mapDimensionsAll(ne),he,fe;if(ue.getAxisTooltipData){var pe=ue.getAxisTooltipData(de,ee,ae);fe=pe.dataIndices,he=pe.nestestValue}else{if(fe=ue.getData().indicesOfNearest(de[0],ee,ae.type==="category"?.5:null),!fe.length)return;he=ue.getData().get(de[0],fe[0])}if(!(he==null||!isFinite(he))){var ve=ee-he,ge=Math.abs(ve);ge<=se&&((ge<se||ve>=0&&le<0)&&(se=ge,le=ve,ie=he,oe.length=0),each$f(fe,function(me){oe.push({seriesIndex:ue.seriesIndex,dataIndexInside:me,dataIndex:ue.getData().getRawIndex(me)})}))}}),{payloadBatch:oe,snapToValue:ie}}function showPointer(ee,te,ae,ne){ee[te.key]={value:ae,payloadBatch:ne}}function showTooltip(ee,te,ae,ne){var ie=ae.payloadBatch,oe=te.axis,se=oe.model,le=te.axisPointerModel;if(!(!te.triggerTooltip||!ie.length)){var ue=te.coordSys.model,ce=makeKey(ue),de=ee.map[ce];de||(de=ee.map[ce]={coordSysId:ue.id,coordSysIndex:ue.componentIndex,coordSysType:ue.type,coordSysMainType:ue.mainType,dataByAxis:[]},ee.list.push(de)),de.dataByAxis.push({axisDim:oe.dim,axisIndex:se.componentIndex,axisType:se.type,axisId:se.id,value:ne,valueLabelOpt:{precision:le.get(["label","precision"]),formatter:le.get(["label","formatter"])},seriesDataIndices:ie.slice()})}}function updateModelActually(ee,te,ae){var ne=ae.axesInfo=[];each$f(te,function(ie,oe){var se=ie.axisPointerModel.option,le=ee[oe];le?(!ie.useHandle&&(se.status="show"),se.value=le.value,se.seriesDataIndices=(le.payloadBatch||[]).slice()):!ie.useHandle&&(se.status="hide"),se.status==="show"&&ne.push({axisDim:ie.axis.dim,axisIndex:ie.axis.model.componentIndex,value:se.value})})}function dispatchTooltipActually(ee,te,ae,ne){if(illegalPoint(te)||!ee.list.length){ne({type:"hideTip"});return}var ie=((ee.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};ne({type:"showTip",escapeConnect:!0,x:te[0],y:te[1],tooltipOption:ae.tooltipOption,position:ae.position,dataIndexInside:ie.dataIndexInside,dataIndex:ie.dataIndex,seriesIndex:ie.seriesIndex,dataByCoordSys:ee.list})}function dispatchHighDownActually(ee,te,ae){var ne=ae.getZr(),ie="axisPointerLastHighlights",oe=inner$9(ne)[ie]||{},se=inner$9(ne)[ie]={};each$f(ee,function(ce,de){var he=ce.axisPointerModel.option;he.status==="show"&&ce.triggerEmphasis&&each$f(he.seriesDataIndices,function(fe){var pe=fe.seriesIndex+" | "+fe.dataIndex;se[pe]=fe})});var le=[],ue=[];each$f(oe,function(ce,de){!se[de]&&ue.push(ce)}),each$f(se,function(ce,de){!oe[de]&&le.push(ce)}),ue.length&&ae.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:ue}),le.length&&ae.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:le})}function findInputAxisInfo(ee,te){for(var ae=0;ae<(ee||[]).length;ae++){var ne=ee[ae];if(te.axis.dim===ne.axisDim&&te.axis.model.componentIndex===ne.axisIndex)return ne}}function makeMapperParam(ee){var te=ee.axis.model,ae={},ne=ae.axisDim=ee.axis.dim;return ae.axisIndex=ae[ne+"AxisIndex"]=te.componentIndex,ae.axisName=ae[ne+"AxisName"]=te.name,ae.axisId=ae[ne+"AxisId"]=te.id,ae}function illegalPoint(ee){return!ee||ee[0]==null||isNaN(ee[0])||ee[1]==null||isNaN(ee[1])}function install$q(ee){AxisView$1.registerAxisPointerClass("CartesianAxisPointer",CartesianAxisPointer$1),ee.registerComponentModel(AxisPointerModel$1),ee.registerComponentView(AxisPointerView$1),ee.registerPreprocessor(function(te){if(te){(!te.axisPointer||te.axisPointer.length===0)&&(te.axisPointer={});var ae=te.axisPointer.link;ae&&!isArray$2(ae)&&(te.axisPointer.link=[ae])}}),ee.registerProcessor(ee.PRIORITY.PROCESSOR.STATISTIC,function(te,ae){te.getComponent("axisPointer").coordSysAxesInfo=collect(te,ae)}),ee.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},axisTrigger)}function install$p(ee){use(install$N),use(install$q)}var PolarAxisPointer=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.makeElOption=function(ae,ne,ie,oe,se){var le=ie.axis;le.dim==="angle"&&(this.animationThreshold=Math.PI/18);var ue=le.polar,ce=ue.getOtherAxis(le),de=ce.getExtent(),he=le.dataToCoord(ne),fe=oe.get("type");if(fe&&fe!=="none"){var pe=buildElStyle(oe),ve=pointerShapeBuilder$1[fe](le,ue,he,de);ve.style=pe,ae.graphicKey=ve.type,ae.pointer=ve}var ge=oe.get(["label","margin"]),me=getLabelPosition(ne,ie,oe,ue,ge);buildLabelElOption(ae,ie,oe,se,me)},te}(BaseAxisPointer$1);function getLabelPosition(ee,te,ae,ne,ie){var oe=te.axis,se=oe.dataToCoord(ee),le=ne.getAngleAxis().getExtent()[0];le=le/180*Math.PI;var ue=ne.getRadiusAxis().getExtent(),ce,de,he;if(oe.dim==="radius"){var fe=create$1();rotate(fe,fe,le),translate(fe,fe,[ne.cx,ne.cy]),ce=applyTransform([se,-ie],fe);var pe=te.getModel("axisLabel").get("rotate")||0,ve=AxisBuilder$1.innerTextLayout(le,pe*Math.PI/180,-1);de=ve.textAlign,he=ve.textVerticalAlign}else{var ge=ue[1];ce=ne.coordToPoint([ge+ie,se]);var me=ne.cx,ye=ne.cy;de=Math.abs(ce[0]-me)/ge<.3?"center":ce[0]>me?"left":"right",he=Math.abs(ce[1]-ye)/ge<.3?"middle":ce[1]>ye?"top":"bottom"}return{position:ce,align:de,verticalAlign:he}}var pointerShapeBuilder$1={line:function(ee,te,ae,ne){return ee.dim==="angle"?{type:"Line",shape:makeLineShape(te.coordToPoint([ne[0],ae]),te.coordToPoint([ne[1],ae]))}:{type:"Circle",shape:{cx:te.cx,cy:te.cy,r:ae}}},shadow:function(ee,te,ae,ne){var ie=Math.max(1,ee.getBandWidth()),oe=Math.PI/180;return ee.dim==="angle"?{type:"Sector",shape:makeSectorShape(te.cx,te.cy,ne[0],ne[1],(-ae-ie/2)*oe,(-ae+ie/2)*oe)}:{type:"Sector",shape:makeSectorShape(te.cx,te.cy,ae-ie/2,ae+ie/2,0,Math.PI*2)}}};const PolarAxisPointer$1=PolarAxisPointer;var PolarModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.findAxisModel=function(ae){var ne,ie=this.ecModel;return ie.eachComponent(ae,function(oe){oe.getCoordSysModel()===this&&(ne=oe)},this),ne},te.type="polar",te.dependencies=["radiusAxis","angleAxis"],te.defaultOption={z:0,center:["50%","50%"],radius:"80%"},te}(ComponentModel$1);const PolarModel$1=PolarModel;var PolarAxisModel=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",SINGLE_REFERRING).models[0]},te.type="polarAxis",te}(ComponentModel$1);mixin(PolarAxisModel,AxisModelCommonMixin);var AngleAxisModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="angleAxis",te}(PolarAxisModel),RadiusAxisModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="radiusAxis",te}(PolarAxisModel),RadiusAxis=function(ee){__extends(te,ee);function te(ae,ne){return ee.call(this,"radius",ae,ne)||this}return te.prototype.pointToData=function(ae,ne){return this.polar.pointToData(ae,ne)[this.dim==="radius"?0:1]},te}(Axis$1);RadiusAxis.prototype.dataToRadius=Axis$1.prototype.dataToCoord;RadiusAxis.prototype.radiusToData=Axis$1.prototype.coordToData;const RadiusAxis$1=RadiusAxis;var inner$8=makeInner(),AngleAxis=function(ee){__extends(te,ee);function te(ae,ne){return ee.call(this,"angle",ae,ne||[0,360])||this}return te.prototype.pointToData=function(ae,ne){return this.polar.pointToData(ae,ne)[this.dim==="radius"?0:1]},te.prototype.calculateCategoryInterval=function(){var ae=this,ne=ae.getLabelModel(),ie=ae.scale,oe=ie.getExtent(),se=ie.count();if(oe[1]-oe[0]<1)return 0;var le=oe[0],ue=ae.dataToCoord(le+1)-ae.dataToCoord(le),ce=Math.abs(ue),de=getBoundingRect(le==null?"":le+"",ne.getFont(),"center","top"),he=Math.max(de.height,7),fe=he/ce;isNaN(fe)&&(fe=1/0);var pe=Math.max(0,Math.floor(fe)),ve=inner$8(ae.model),ge=ve.lastAutoInterval,me=ve.lastTickCount;return ge!=null&&me!=null&&Math.abs(ge-pe)<=1&&Math.abs(me-se)<=1&&ge>pe?pe=ge:(ve.lastTickCount=se,ve.lastAutoInterval=pe),pe},te}(Axis$1);AngleAxis.prototype.dataToAngle=Axis$1.prototype.dataToCoord;AngleAxis.prototype.angleToData=Axis$1.prototype.coordToData;const AngleAxis$1=AngleAxis;var polarDimensions=["radius","angle"],Polar=function(){function ee(te){this.dimensions=polarDimensions,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new RadiusAxis$1,this._angleAxis=new AngleAxis$1,this.axisPointerEnabled=!0,this.name=te||"",this._radiusAxis.polar=this._angleAxis.polar=this}return ee.prototype.containPoint=function(te){var ae=this.pointToCoord(te);return this._radiusAxis.contain(ae[0])&&this._angleAxis.contain(ae[1])},ee.prototype.containData=function(te){return this._radiusAxis.containData(te[0])&&this._angleAxis.containData(te[1])},ee.prototype.getAxis=function(te){var ae="_"+te+"Axis";return this[ae]},ee.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},ee.prototype.getAxesByScale=function(te){var ae=[],ne=this._angleAxis,ie=this._radiusAxis;return ne.scale.type===te&&ae.push(ne),ie.scale.type===te&&ae.push(ie),ae},ee.prototype.getAngleAxis=function(){return this._angleAxis},ee.prototype.getRadiusAxis=function(){return this._radiusAxis},ee.prototype.getOtherAxis=function(te){var ae=this._angleAxis;return te===ae?this._radiusAxis:ae},ee.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},ee.prototype.getTooltipAxes=function(te){var ae=te!=null&&te!=="auto"?this.getAxis(te):this.getBaseAxis();return{baseAxes:[ae],otherAxes:[this.getOtherAxis(ae)]}},ee.prototype.dataToPoint=function(te,ae){return this.coordToPoint([this._radiusAxis.dataToRadius(te[0],ae),this._angleAxis.dataToAngle(te[1],ae)])},ee.prototype.pointToData=function(te,ae){var ne=this.pointToCoord(te);return[this._radiusAxis.radiusToData(ne[0],ae),this._angleAxis.angleToData(ne[1],ae)]},ee.prototype.pointToCoord=function(te){var ae=te[0]-this.cx,ne=te[1]-this.cy,ie=this.getAngleAxis(),oe=ie.getExtent(),se=Math.min(oe[0],oe[1]),le=Math.max(oe[0],oe[1]);ie.inverse?se=le-360:le=se+360;var ue=Math.sqrt(ae*ae+ne*ne);ae/=ue,ne/=ue;for(var ce=Math.atan2(-ne,ae)/Math.PI*180,de=ce<se?1:-1;ce<se||ce>le;)ce+=de*360;return[ue,ce]},ee.prototype.coordToPoint=function(te){var ae=te[0],ne=te[1]/180*Math.PI,ie=Math.cos(ne)*ae+this.cx,oe=-Math.sin(ne)*ae+this.cy;return[ie,oe]},ee.prototype.getArea=function(){var te=this.getAngleAxis(),ae=this.getRadiusAxis(),ne=ae.getExtent().slice();ne[0]>ne[1]&&ne.reverse();var ie=te.getExtent(),oe=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:ne[0],r:ne[1],startAngle:-ie[0]*oe,endAngle:-ie[1]*oe,clockwise:te.inverse,contain:function(se,le){var ue=se-this.cx,ce=le-this.cy,de=ue*ue+ce*ce-1e-4,he=this.r,fe=this.r0;return de<=he*he&&de>=fe*fe}}},ee.prototype.convertToPixel=function(te,ae,ne){var ie=getCoordSys$2(ae);return ie===this?this.dataToPoint(ne):null},ee.prototype.convertFromPixel=function(te,ae,ne){var ie=getCoordSys$2(ae);return ie===this?this.pointToData(ne):null},ee}();function getCoordSys$2(ee){var te=ee.seriesModel,ae=ee.polarModel;return ae&&ae.coordinateSystem||te&&te.coordinateSystem}const Polar$1=Polar;function resizePolar(ee,te,ae){var ne=te.get("center"),ie=ae.getWidth(),oe=ae.getHeight();ee.cx=parsePercent(ne[0],ie),ee.cy=parsePercent(ne[1],oe);var se=ee.getRadiusAxis(),le=Math.min(ie,oe)/2,ue=te.get("radius");ue==null?ue=[0,"100%"]:isArray$2(ue)||(ue=[0,ue]);var ce=[parsePercent(ue[0],le),parsePercent(ue[1],le)];se.inverse?se.setExtent(ce[1],ce[0]):se.setExtent(ce[0],ce[1])}function updatePolarScale(ee,te){var ae=this,ne=ae.getAngleAxis(),ie=ae.getRadiusAxis();if(ne.scale.setExtent(1/0,-1/0),ie.scale.setExtent(1/0,-1/0),ee.eachSeries(function(le){if(le.coordinateSystem===ae){var ue=le.getData();each$f(getDataDimensionsOnAxis(ue,"radius"),function(ce){ie.scale.unionExtentFromData(ue,ce)}),each$f(getDataDimensionsOnAxis(ue,"angle"),function(ce){ne.scale.unionExtentFromData(ue,ce)})}}),niceScaleExtent(ne.scale,ne.model),niceScaleExtent(ie.scale,ie.model),ne.type==="category"&&!ne.onBand){var oe=ne.getExtent(),se=360/ne.scale.count();ne.inverse?oe[1]+=se:oe[1]-=se,ne.setExtent(oe[0],oe[1])}}function isAngleAxisModel(ee){return ee.mainType==="angleAxis"}function setAxis(ee,te){if(ee.type=te.get("type"),ee.scale=createScaleByModel$1(te),ee.onBand=te.get("boundaryGap")&&ee.type==="category",ee.inverse=te.get("inverse"),isAngleAxisModel(te)){ee.inverse=ee.inverse!==te.get("clockwise");var ae=te.get("startAngle");ee.setExtent(ae,ae+(ee.inverse?-360:360))}te.axis=ee,ee.model=te}var polarCreator={dimensions:polarDimensions,create:function(ee,te){var ae=[];return ee.eachComponent("polar",function(ne,ie){var oe=new Polar$1(ie+"");oe.update=updatePolarScale;var se=oe.getRadiusAxis(),le=oe.getAngleAxis(),ue=ne.findAxisModel("radiusAxis"),ce=ne.findAxisModel("angleAxis");setAxis(se,ue),setAxis(le,ce),resizePolar(oe,ne,te),ae.push(oe),ne.coordinateSystem=oe,oe.model=ne}),ee.eachSeries(function(ne){if(ne.get("coordinateSystem")==="polar"){var ie=ne.getReferringComponents("polar",SINGLE_REFERRING).models[0];ne.coordinateSystem=ie.coordinateSystem}}),ae}};const polarCreator$1=polarCreator;var elementList=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function getAxisLineShape(ee,te,ae){te[1]>te[0]&&(te=te.slice().reverse());var ne=ee.coordToPoint([te[0],ae]),ie=ee.coordToPoint([te[1],ae]);return{x1:ne[0],y1:ne[1],x2:ie[0],y2:ie[1]}}function getRadiusIdx(ee){var te=ee.getRadiusAxis();return te.inverse?0:1}function fixAngleOverlap(ee){var te=ee[0],ae=ee[ee.length-1];te&&ae&&Math.abs(Math.abs(te.coord-ae.coord)-360)<1e-4&&ee.pop()}var AngleAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.axisPointerClass="PolarAxisPointer",ae}return te.prototype.render=function(ae,ne){if(this.group.removeAll(),!!ae.get("show")){var ie=ae.axis,oe=ie.polar,se=oe.getRadiusAxis().getExtent(),le=ie.getTicksCoords(),ue=ie.getMinorTicksCoords(),ce=map$1(ie.getViewLabels(),function(de){de=clone$4(de);var he=ie.scale,fe=he.type==="ordinal"?he.getRawOrdinalNumber(de.tickValue):de.tickValue;return de.coord=ie.dataToCoord(fe),de});fixAngleOverlap(ce),fixAngleOverlap(le),each$f(elementList,function(de){ae.get([de,"show"])&&(!ie.scale.isBlank()||de==="axisLine")&&angelAxisElementsBuilders[de](this.group,ae,oe,le,ue,se,ce)},this)}},te.type="angleAxis",te}(AxisView$1),angelAxisElementsBuilders={axisLine:function(ee,te,ae,ne,ie,oe){var se=te.getModel(["axisLine","lineStyle"]),le=getRadiusIdx(ae),ue=le?0:1,ce;oe[ue]===0?ce=new Circle$1({shape:{cx:ae.cx,cy:ae.cy,r:oe[le]},style:se.getLineStyle(),z2:1,silent:!0}):ce=new Ring$1({shape:{cx:ae.cx,cy:ae.cy,r:oe[le],r0:oe[ue]},style:se.getLineStyle(),z2:1,silent:!0}),ce.style.fill=null,ee.add(ce)},axisTick:function(ee,te,ae,ne,ie,oe){var se=te.getModel("axisTick"),le=(se.get("inside")?-1:1)*se.get("length"),ue=oe[getRadiusIdx(ae)],ce=map$1(ne,function(de){return new Line$3({shape:getAxisLineShape(ae,[ue,ue+le],de.coord)})});ee.add(mergePath(ce,{style:defaults$2(se.getModel("lineStyle").getLineStyle(),{stroke:te.get(["axisLine","lineStyle","color"])})}))},minorTick:function(ee,te,ae,ne,ie,oe){if(ie.length){for(var se=te.getModel("axisTick"),le=te.getModel("minorTick"),ue=(se.get("inside")?-1:1)*le.get("length"),ce=oe[getRadiusIdx(ae)],de=[],he=0;he<ie.length;he++)for(var fe=0;fe<ie[he].length;fe++)de.push(new Line$3({shape:getAxisLineShape(ae,[ce,ce+ue],ie[he][fe].coord)}));ee.add(mergePath(de,{style:defaults$2(le.getModel("lineStyle").getLineStyle(),defaults$2(se.getLineStyle(),{stroke:te.get(["axisLine","lineStyle","color"])}))}))}},axisLabel:function(ee,te,ae,ne,ie,oe,se){var le=te.getCategories(!0),ue=te.getModel("axisLabel"),ce=ue.get("margin"),de=te.get("triggerEvent");each$f(se,function(he,fe){var pe=ue,ve=he.tickValue,ge=oe[getRadiusIdx(ae)],me=ae.coordToPoint([ge+ce,he.coord]),ye=ae.cx,_e=ae.cy,be=Math.abs(me[0]-ye)/ge<.3?"center":me[0]>ye?"left":"right",xe=Math.abs(me[1]-_e)/ge<.3?"middle":me[1]>_e?"top":"bottom";if(le&&le[ve]){var $e=le[ve];isObject$4($e)&&$e.textStyle&&(pe=new Model$1($e.textStyle,ue,ue.ecModel))}var Se=new ZRText$1({silent:AxisBuilder$1.isLabelSilent(te),style:createTextStyle$1(pe,{x:me[0],y:me[1],fill:pe.getTextColor()||te.get(["axisLine","lineStyle","color"]),text:he.formattedLabel,align:be,verticalAlign:xe})});if(ee.add(Se),de){var we=AxisBuilder$1.makeAxisEventDataBase(te);we.targetType="axisLabel",we.value=he.rawLabel,getECData(Se).eventData=we}},this)},splitLine:function(ee,te,ae,ne,ie,oe){var se=te.getModel("splitLine"),le=se.getModel("lineStyle"),ue=le.get("color"),ce=0;ue=ue instanceof Array?ue:[ue];for(var de=[],he=0;he<ne.length;he++){var fe=ce++%ue.length;de[fe]=de[fe]||[],de[fe].push(new Line$3({shape:getAxisLineShape(ae,oe,ne[he].coord)}))}for(var he=0;he<de.length;he++)ee.add(mergePath(de[he],{style:defaults$2({stroke:ue[he%ue.length]},le.getLineStyle()),silent:!0,z:te.get("z")}))},minorSplitLine:function(ee,te,ae,ne,ie,oe){if(ie.length){for(var se=te.getModel("minorSplitLine"),le=se.getModel("lineStyle"),ue=[],ce=0;ce<ie.length;ce++)for(var de=0;de<ie[ce].length;de++)ue.push(new Line$3({shape:getAxisLineShape(ae,oe,ie[ce][de].coord)}));ee.add(mergePath(ue,{style:le.getLineStyle(),silent:!0,z:te.get("z")}))}},splitArea:function(ee,te,ae,ne,ie,oe){if(ne.length){var se=te.getModel("splitArea"),le=se.getModel("areaStyle"),ue=le.get("color"),ce=0;ue=ue instanceof Array?ue:[ue];for(var de=[],he=Math.PI/180,fe=-ne[0].coord*he,pe=Math.min(oe[0],oe[1]),ve=Math.max(oe[0],oe[1]),ge=te.get("clockwise"),me=1,ye=ne.length;me<=ye;me++){var _e=me===ye?ne[0].coord:ne[me].coord,be=ce++%ue.length;de[be]=de[be]||[],de[be].push(new Sector$1({shape:{cx:ae.cx,cy:ae.cy,r0:pe,r:ve,startAngle:fe,endAngle:-_e*he,clockwise:ge},silent:!0})),fe=-_e*he}for(var me=0;me<de.length;me++)ee.add(mergePath(de[me],{style:defaults$2({fill:ue[me%ue.length]},le.getAreaStyle()),silent:!0}))}}};const AngleAxisView$1=AngleAxisView;var axisBuilderAttrs$1=["axisLine","axisTickLabel","axisName"],selfBuilderAttrs$1=["splitLine","splitArea","minorSplitLine"],RadiusAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.axisPointerClass="PolarAxisPointer",ae}return te.prototype.render=function(ae,ne){if(this.group.removeAll(),!!ae.get("show")){var ie=this._axisGroup,oe=this._axisGroup=new Group$4;this.group.add(oe);var se=ae.axis,le=se.polar,ue=le.getAngleAxis(),ce=se.getTicksCoords(),de=se.getMinorTicksCoords(),he=ue.getExtent()[0],fe=se.getExtent(),pe=layoutAxis(le,ae,he),ve=new AxisBuilder$1(ae,pe);each$f(axisBuilderAttrs$1,ve.add,ve),oe.add(ve.getGroup()),groupTransition(ie,oe,ae),each$f(selfBuilderAttrs$1,function(ge){ae.get([ge,"show"])&&!se.scale.isBlank()&&axisElementBuilders$1[ge](this.group,ae,le,he,fe,ce,de)},this)}},te.type="radiusAxis",te}(AxisView$1),axisElementBuilders$1={splitLine:function(ee,te,ae,ne,ie,oe){var se=te.getModel("splitLine"),le=se.getModel("lineStyle"),ue=le.get("color"),ce=0;ue=ue instanceof Array?ue:[ue];for(var de=[],he=0;he<oe.length;he++){var fe=ce++%ue.length;de[fe]=de[fe]||[],de[fe].push(new Circle$1({shape:{cx:ae.cx,cy:ae.cy,r:Math.max(oe[he].coord,0)}}))}for(var he=0;he<de.length;he++)ee.add(mergePath(de[he],{style:defaults$2({stroke:ue[he%ue.length],fill:null},le.getLineStyle()),silent:!0}))},minorSplitLine:function(ee,te,ae,ne,ie,oe,se){if(se.length){for(var le=te.getModel("minorSplitLine"),ue=le.getModel("lineStyle"),ce=[],de=0;de<se.length;de++)for(var he=0;he<se[de].length;he++)ce.push(new Circle$1({shape:{cx:ae.cx,cy:ae.cy,r:se[de][he].coord}}));ee.add(mergePath(ce,{style:defaults$2({fill:null},ue.getLineStyle()),silent:!0}))}},splitArea:function(ee,te,ae,ne,ie,oe){if(oe.length){var se=te.getModel("splitArea"),le=se.getModel("areaStyle"),ue=le.get("color"),ce=0;ue=ue instanceof Array?ue:[ue];for(var de=[],he=oe[0].coord,fe=1;fe<oe.length;fe++){var pe=ce++%ue.length;de[pe]=de[pe]||[],de[pe].push(new Sector$1({shape:{cx:ae.cx,cy:ae.cy,r0:he,r:oe[fe].coord,startAngle:0,endAngle:Math.PI*2},silent:!0})),he=oe[fe].coord}for(var fe=0;fe<de.length;fe++)ee.add(mergePath(de[fe],{style:defaults$2({fill:ue[fe%ue.length]},le.getAreaStyle()),silent:!0}))}}};function layoutAxis(ee,te,ae){return{position:[ee.cx,ee.cy],rotation:ae/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:te.getModel("axisLabel").get("rotate"),z2:1}}const RadiusAxisView$1=RadiusAxisView;function getSeriesStackId(ee){return ee.get("stack")||"__ec_stack_"+ee.seriesIndex}function getAxisKey(ee,te){return te.dim+ee.model.componentIndex}function barLayoutPolar(ee,te,ae){var ne={},ie=calRadialBar(filter(te.getSeriesByType(ee),function(oe){return!te.isSeriesFiltered(oe)&&oe.coordinateSystem&&oe.coordinateSystem.type==="polar"}));te.eachSeriesByType(ee,function(oe){if(oe.coordinateSystem.type==="polar"){var se=oe.getData(),le=oe.coordinateSystem,ue=le.getBaseAxis(),ce=getAxisKey(le,ue),de=getSeriesStackId(oe),he=ie[ce][de],fe=he.offset,pe=he.width,ve=le.getOtherAxis(ue),ge=oe.coordinateSystem.cx,me=oe.coordinateSystem.cy,ye=oe.get("barMinHeight")||0,_e=oe.get("barMinAngle")||0;ne[de]=ne[de]||[];for(var be=se.mapDimension(ve.dim),xe=se.mapDimension(ue.dim),$e=isDimensionStacked(se,be),Se=ue.dim!=="radius"||!oe.get("roundCap",!0),we=ve.dataToCoord(0),Ae=0,Te=se.count();Ae<Te;Ae++){var De=se.get(be,Ae),Me=se.get(xe,Ae),Ie=De>=0?"p":"n",Ce=we;$e&&(ne[de][Me]||(ne[de][Me]={p:we,n:we}),Ce=ne[de][Me][Ie]);var Ee=void 0,Re=void 0,ke=void 0,Be=void 0;if(ve.dim==="radius"){var Ne=ve.dataToCoord(De)-we,He=ue.dataToCoord(Me);Math.abs(Ne)<ye&&(Ne=(Ne<0?-1:1)*ye),Ee=Ce,Re=Ce+Ne,ke=He-fe,Be=ke-pe,$e&&(ne[de][Me][Ie]=Re)}else{var qe=ve.dataToCoord(De,Se)-we,Oe=ue.dataToCoord(Me);Math.abs(qe)<_e&&(qe=(qe<0?-1:1)*_e),Ee=Oe+fe,Re=Ee+pe,ke=Ce,Be=Ce+qe,$e&&(ne[de][Me][Ie]=Be)}se.setItemLayout(Ae,{cx:ge,cy:me,r0:Ee,r:Re,startAngle:-ke*Math.PI/180,endAngle:-Be*Math.PI/180,clockwise:ke>=Be})}}})}function calRadialBar(ee){var te={};each$f(ee,function(ne,ie){var oe=ne.getData(),se=ne.coordinateSystem,le=se.getBaseAxis(),ue=getAxisKey(se,le),ce=le.getExtent(),de=le.type==="category"?le.getBandWidth():Math.abs(ce[1]-ce[0])/oe.count(),he=te[ue]||{bandWidth:de,remainedWidth:de,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},fe=he.stacks;te[ue]=he;var pe=getSeriesStackId(ne);fe[pe]||he.autoWidthCount++,fe[pe]=fe[pe]||{width:0,maxWidth:0};var ve=parsePercent(ne.get("barWidth"),de),ge=parsePercent(ne.get("barMaxWidth"),de),me=ne.get("barGap"),ye=ne.get("barCategoryGap");ve&&!fe[pe].width&&(ve=Math.min(he.remainedWidth,ve),fe[pe].width=ve,he.remainedWidth-=ve),ge&&(fe[pe].maxWidth=ge),me!=null&&(he.gap=me),ye!=null&&(he.categoryGap=ye)});var ae={};return each$f(te,function(ne,ie){ae[ie]={};var oe=ne.stacks,se=ne.bandWidth,le=parsePercent(ne.categoryGap,se),ue=parsePercent(ne.gap,1),ce=ne.remainedWidth,de=ne.autoWidthCount,he=(ce-le)/(de+(de-1)*ue);he=Math.max(he,0),each$f(oe,function(ge,me){var ye=ge.maxWidth;ye&&ye<he&&(ye=Math.min(ye,ce),ge.width&&(ye=Math.min(ye,ge.width)),ce-=ye,ge.width=ye,de--)}),he=(ce-le)/(de+(de-1)*ue),he=Math.max(he,0);var fe=0,pe;each$f(oe,function(ge,me){ge.width||(ge.width=he),pe=ge,fe+=ge.width*(1+ue)}),pe&&(fe-=pe.width*ue);var ve=-fe/2;each$f(oe,function(ge,me){ae[ie][me]=ae[ie][me]||{offset:ve,width:ge.width},ve+=ge.width*(1+ue)})}),ae}var angleAxisExtraOption={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},radiusAxisExtraOption={splitNumber:5},PolarView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="polar",te}(ComponentView$1);function install$o(ee){use(install$q),AxisView$1.registerAxisPointerClass("PolarAxisPointer",PolarAxisPointer$1),ee.registerCoordinateSystem("polar",polarCreator$1),ee.registerComponentModel(PolarModel$1),ee.registerComponentView(PolarView),axisModelCreator(ee,"angle",AngleAxisModel,angleAxisExtraOption),axisModelCreator(ee,"radius",RadiusAxisModel,radiusAxisExtraOption),ee.registerComponentView(AngleAxisView$1),ee.registerComponentView(RadiusAxisView$1),ee.registerLayout(curry$1(barLayoutPolar,"bar"))}function layout$1(ee,te){te=te||{};var ae=ee.coordinateSystem,ne=ee.axis,ie={},oe=ne.position,se=ne.orient,le=ae.getRect(),ue=[le.x,le.x+le.width,le.y,le.y+le.height],ce={horizontal:{top:ue[2],bottom:ue[3]},vertical:{left:ue[0],right:ue[1]}};ie.position=[se==="vertical"?ce.vertical[oe]:ue[0],se==="horizontal"?ce.horizontal[oe]:ue[3]];var de={horizontal:0,vertical:1};ie.rotation=Math.PI/2*de[se];var he={top:-1,bottom:1,right:1,left:-1};ie.labelDirection=ie.tickDirection=ie.nameDirection=he[oe],ee.get(["axisTick","inside"])&&(ie.tickDirection=-ie.tickDirection),retrieve(te.labelInside,ee.get(["axisLabel","inside"]))&&(ie.labelDirection=-ie.labelDirection);var fe=te.rotate;return fe==null&&(fe=ee.get(["axisLabel","rotate"])),ie.labelRotation=oe==="top"?-fe:fe,ie.z2=1,ie}var axisBuilderAttrs=["axisLine","axisTickLabel","axisName"],selfBuilderAttrs=["splitArea","splitLine"],SingleAxisView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.axisPointerClass="SingleAxisPointer",ae}return te.prototype.render=function(ae,ne,ie,oe){var se=this.group;se.removeAll();var le=this._axisGroup;this._axisGroup=new Group$4;var ue=layout$1(ae),ce=new AxisBuilder$1(ae,ue);each$f(axisBuilderAttrs,ce.add,ce),se.add(this._axisGroup),se.add(ce.getGroup()),each$f(selfBuilderAttrs,function(de){ae.get([de,"show"])&&axisElementBuilders[de](this,this.group,this._axisGroup,ae)},this),groupTransition(le,this._axisGroup,ae),ee.prototype.render.call(this,ae,ne,ie,oe)},te.prototype.remove=function(){rectCoordAxisHandleRemove(this)},te.type="singleAxis",te}(AxisView$1),axisElementBuilders={splitLine:function(ee,te,ae,ne){var ie=ne.axis;if(!ie.scale.isBlank()){var oe=ne.getModel("splitLine"),se=oe.getModel("lineStyle"),le=se.get("color");le=le instanceof Array?le:[le];for(var ue=se.get("width"),ce=ne.coordinateSystem.getRect(),de=ie.isHorizontal(),he=[],fe=0,pe=ie.getTicksCoords({tickModel:oe}),ve=[],ge=[],me=0;me<pe.length;++me){var ye=ie.toGlobalCoord(pe[me].coord);de?(ve[0]=ye,ve[1]=ce.y,ge[0]=ye,ge[1]=ce.y+ce.height):(ve[0]=ce.x,ve[1]=ye,ge[0]=ce.x+ce.width,ge[1]=ye);var _e=new Line$3({shape:{x1:ve[0],y1:ve[1],x2:ge[0],y2:ge[1]},silent:!0});subPixelOptimizeLine(_e.shape,ue);var be=fe++%le.length;he[be]=he[be]||[],he[be].push(_e)}for(var xe=se.getLineStyle(["color"]),me=0;me<he.length;++me)te.add(mergePath(he[me],{style:defaults$2({stroke:le[me%le.length]},xe),silent:!0}))}},splitArea:function(ee,te,ae,ne){rectCoordAxisBuildSplitArea(ee,ae,ne,ne)}};const SingleAxisView$1=SingleAxisView;var SingleAxisModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.getCoordSysModel=function(){return this},te.type="singleAxis",te.layoutMode="box",te.defaultOption={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}},te}(ComponentModel$1);mixin(SingleAxisModel,AxisModelCommonMixin.prototype);const SingleAxisModel$1=SingleAxisModel;var SingleAxis=function(ee){__extends(te,ee);function te(ae,ne,ie,oe,se){var le=ee.call(this,ae,ne,ie)||this;return le.type=oe||"value",le.position=se||"bottom",le}return te.prototype.isHorizontal=function(){var ae=this.position;return ae==="top"||ae==="bottom"},te.prototype.pointToData=function(ae,ne){return this.coordinateSystem.pointToData(ae)[0]},te}(Axis$1);const SingleAxis$1=SingleAxis;var singleDimensions=["single"],Single=function(){function ee(te,ae,ne){this.type="single",this.dimension="single",this.dimensions=singleDimensions,this.axisPointerEnabled=!0,this.model=te,this._init(te,ae,ne)}return ee.prototype._init=function(te,ae,ne){var ie=this.dimension,oe=new SingleAxis$1(ie,createScaleByModel$1(te),[0,0],te.get("type"),te.get("position")),se=oe.type==="category";oe.onBand=se&&te.get("boundaryGap"),oe.inverse=te.get("inverse"),oe.orient=te.get("orient"),te.axis=oe,oe.model=te,oe.coordinateSystem=this,this._axis=oe},ee.prototype.update=function(te,ae){te.eachSeries(function(ne){if(ne.coordinateSystem===this){var ie=ne.getData();each$f(ie.mapDimensionsAll(this.dimension),function(oe){this._axis.scale.unionExtentFromData(ie,oe)},this),niceScaleExtent(this._axis.scale,this._axis.model)}},this)},ee.prototype.resize=function(te,ae){this._rect=getLayoutRect({left:te.get("left"),top:te.get("top"),right:te.get("right"),bottom:te.get("bottom"),width:te.get("width"),height:te.get("height")},{width:ae.getWidth(),height:ae.getHeight()}),this._adjustAxis()},ee.prototype.getRect=function(){return this._rect},ee.prototype._adjustAxis=function(){var te=this._rect,ae=this._axis,ne=ae.isHorizontal(),ie=ne?[0,te.width]:[0,te.height],oe=ae.inverse?1:0;ae.setExtent(ie[oe],ie[1-oe]),this._updateAxisTransform(ae,ne?te.x:te.y)},ee.prototype._updateAxisTransform=function(te,ae){var ne=te.getExtent(),ie=ne[0]+ne[1],oe=te.isHorizontal();te.toGlobalCoord=oe?function(se){return se+ae}:function(se){return ie-se+ae},te.toLocalCoord=oe?function(se){return se-ae}:function(se){return ie-se+ae}},ee.prototype.getAxis=function(){return this._axis},ee.prototype.getBaseAxis=function(){return this._axis},ee.prototype.getAxes=function(){return[this._axis]},ee.prototype.getTooltipAxes=function(){return{baseAxes:[this.getAxis()],otherAxes:[]}},ee.prototype.containPoint=function(te){var ae=this.getRect(),ne=this.getAxis(),ie=ne.orient;return ie==="horizontal"?ne.contain(ne.toLocalCoord(te[0]))&&te[1]>=ae.y&&te[1]<=ae.y+ae.height:ne.contain(ne.toLocalCoord(te[1]))&&te[0]>=ae.y&&te[0]<=ae.y+ae.height},ee.prototype.pointToData=function(te){var ae=this.getAxis();return[ae.coordToData(ae.toLocalCoord(te[ae.orient==="horizontal"?0:1]))]},ee.prototype.dataToPoint=function(te){var ae=this.getAxis(),ne=this.getRect(),ie=[],oe=ae.orient==="horizontal"?0:1;return te instanceof Array&&(te=te[0]),ie[oe]=ae.toGlobalCoord(ae.dataToCoord(+te)),ie[1-oe]=oe===0?ne.y+ne.height/2:ne.x+ne.width/2,ie},ee.prototype.convertToPixel=function(te,ae,ne){var ie=getCoordSys$1(ae);return ie===this?this.dataToPoint(ne):null},ee.prototype.convertFromPixel=function(te,ae,ne){var ie=getCoordSys$1(ae);return ie===this?this.pointToData(ne):null},ee}();function getCoordSys$1(ee){var te=ee.seriesModel,ae=ee.singleAxisModel;return ae&&ae.coordinateSystem||te&&te.coordinateSystem}function create(ee,te){var ae=[];return ee.eachComponent("singleAxis",function(ne,ie){var oe=new Single(ne,ee,te);oe.name="single_"+ie,oe.resize(ne,te),ne.coordinateSystem=oe,ae.push(oe)}),ee.eachSeries(function(ne){if(ne.get("coordinateSystem")==="singleAxis"){var ie=ne.getReferringComponents("singleAxis",SINGLE_REFERRING).models[0];ne.coordinateSystem=ie&&ie.coordinateSystem}}),ae}var singleCreator={create,dimensions:singleDimensions};const singleCreator$1=singleCreator;var XY$1=["x","y"],WH$1=["width","height"],SingleAxisPointer=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.makeElOption=function(ae,ne,ie,oe,se){var le=ie.axis,ue=le.coordinateSystem,ce=getGlobalExtent(ue,1-getPointDimIndex(le)),de=ue.dataToPoint(ne)[0],he=oe.get("type");if(he&&he!=="none"){var fe=buildElStyle(oe),pe=pointerShapeBuilder[he](le,de,ce);pe.style=fe,ae.graphicKey=pe.type,ae.pointer=pe}var ve=layout$1(ie);buildCartesianSingleLabelElOption(ne,ae,ve,ie,oe,se)},te.prototype.getHandleTransform=function(ae,ne,ie){var oe=layout$1(ne,{labelInside:!1});oe.labelMargin=ie.get(["handle","margin"]);var se=getTransformedPosition(ne.axis,ae,oe);return{x:se[0],y:se[1],rotation:oe.rotation+(oe.labelDirection<0?Math.PI:0)}},te.prototype.updateHandleTransform=function(ae,ne,ie,oe){var se=ie.axis,le=se.coordinateSystem,ue=getPointDimIndex(se),ce=getGlobalExtent(le,ue),de=[ae.x,ae.y];de[ue]+=ne[ue],de[ue]=Math.min(ce[1],de[ue]),de[ue]=Math.max(ce[0],de[ue]);var he=getGlobalExtent(le,1-ue),fe=(he[1]+he[0])/2,pe=[fe,fe];return pe[ue]=de[ue],{x:de[0],y:de[1],rotation:ae.rotation,cursorPoint:pe,tooltipOption:{verticalAlign:"middle"}}},te}(BaseAxisPointer$1),pointerShapeBuilder={line:function(ee,te,ae){var ne=makeLineShape([te,ae[0]],[te,ae[1]],getPointDimIndex(ee));return{type:"Line",subPixelOptimize:!0,shape:ne}},shadow:function(ee,te,ae){var ne=ee.getBandWidth(),ie=ae[1]-ae[0];return{type:"Rect",shape:makeRectShape([te-ne/2,ae[0]],[ne,ie],getPointDimIndex(ee))}}};function getPointDimIndex(ee){return ee.isHorizontal()?0:1}function getGlobalExtent(ee,te){var ae=ee.getRect();return[ae[XY$1[te]],ae[XY$1[te]]+ae[WH$1[te]]]}const SingleAxisPointer$1=SingleAxisPointer;var SingleView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="single",te}(ComponentView$1);function install$n(ee){use(install$q),AxisView$1.registerAxisPointerClass("SingleAxisPointer",SingleAxisPointer$1),ee.registerComponentView(SingleView),ee.registerComponentView(SingleAxisView$1),ee.registerComponentModel(SingleAxisModel$1),axisModelCreator(ee,"single",SingleAxisModel$1,SingleAxisModel$1.defaultOption),ee.registerCoordinateSystem("single",singleCreator$1)}var CalendarModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne,ie){var oe=getLayoutParams(ae);ee.prototype.init.apply(this,arguments),mergeAndNormalizeLayoutParams$1(ae,oe)},te.prototype.mergeOption=function(ae){ee.prototype.mergeOption.apply(this,arguments),mergeAndNormalizeLayoutParams$1(this.option,ae)},te.prototype.getCellSize=function(){return this.option.cellSize},te.type="calendar",te.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},te}(ComponentModel$1);function mergeAndNormalizeLayoutParams$1(ee,te){var ae=ee.cellSize,ne;isArray$2(ae)?ne=ae:ne=ee.cellSize=[ae,ae],ne.length===1&&(ne[1]=ne[0]);var ie=map$1([0,1],function(oe){return sizeCalculable(te,oe)&&(ne[oe]="auto"),ne[oe]!=null&&ne[oe]!=="auto"});mergeLayoutParam(ee,te,{type:"box",ignoreSize:ie})}const CalendarModel$1=CalendarModel;var CalendarView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){var oe=this.group;oe.removeAll();var se=ae.coordinateSystem,le=se.getRangeInfo(),ue=se.getOrient(),ce=ne.getLocaleModel();this._renderDayRect(ae,le,oe),this._renderLines(ae,le,ue,oe),this._renderYearText(ae,le,ue,oe),this._renderMonthText(ae,ce,ue,oe),this._renderWeekText(ae,ce,le,ue,oe)},te.prototype._renderDayRect=function(ae,ne,ie){for(var oe=ae.coordinateSystem,se=ae.getModel("itemStyle").getItemStyle(),le=oe.getCellWidth(),ue=oe.getCellHeight(),ce=ne.start.time;ce<=ne.end.time;ce=oe.getNextNDay(ce,1).time){var de=oe.dataToRect([ce],!1).tl,he=new Rect$3({shape:{x:de[0],y:de[1],width:le,height:ue},cursor:"default",style:se});ie.add(he)}},te.prototype._renderLines=function(ae,ne,ie,oe){var se=this,le=ae.coordinateSystem,ue=ae.getModel(["splitLine","lineStyle"]).getLineStyle(),ce=ae.get(["splitLine","show"]),de=ue.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var he=ne.start,fe=0;he.time<=ne.end.time;fe++){ve(he.formatedDate),fe===0&&(he=le.getDateInfo(ne.start.y+"-"+ne.start.m));var pe=he.date;pe.setMonth(pe.getMonth()+1),he=le.getDateInfo(pe)}ve(le.getNextNDay(ne.end.time,1).formatedDate);function ve(ge){se._firstDayOfMonth.push(le.getDateInfo(ge)),se._firstDayPoints.push(le.dataToRect([ge],!1).tl);var me=se._getLinePointsOfOneWeek(ae,ge,ie);se._tlpoints.push(me[0]),se._blpoints.push(me[me.length-1]),ce&&se._drawSplitline(me,ue,oe)}ce&&this._drawSplitline(se._getEdgesPoints(se._tlpoints,de,ie),ue,oe),ce&&this._drawSplitline(se._getEdgesPoints(se._blpoints,de,ie),ue,oe)},te.prototype._getEdgesPoints=function(ae,ne,ie){var oe=[ae[0].slice(),ae[ae.length-1].slice()],se=ie==="horizontal"?0:1;return oe[0][se]=oe[0][se]-ne/2,oe[1][se]=oe[1][se]+ne/2,oe},te.prototype._drawSplitline=function(ae,ne,ie){var oe=new Polyline$3({z2:20,shape:{points:ae},style:ne});ie.add(oe)},te.prototype._getLinePointsOfOneWeek=function(ae,ne,ie){for(var oe=ae.coordinateSystem,se=oe.getDateInfo(ne),le=[],ue=0;ue<7;ue++){var ce=oe.getNextNDay(se.time,ue),de=oe.dataToRect([ce.time],!1);le[2*ce.day]=de.tl,le[2*ce.day+1]=de[ie==="horizontal"?"bl":"tr"]}return le},te.prototype._formatterLabel=function(ae,ne){return isString$1(ae)&&ae?formatTplSimple(ae,ne):isFunction$1(ae)?ae(ne):ne.nameMap},te.prototype._yearTextPositionControl=function(ae,ne,ie,oe,se){var le=ne[0],ue=ne[1],ce=["center","bottom"];oe==="bottom"?(ue+=se,ce=["center","top"]):oe==="left"?le-=se:oe==="right"?(le+=se,ce=["center","top"]):ue-=se;var de=0;return(oe==="left"||oe==="right")&&(de=Math.PI/2),{rotation:de,x:le,y:ue,style:{align:ce[0],verticalAlign:ce[1]}}},te.prototype._renderYearText=function(ae,ne,ie,oe){var se=ae.getModel("yearLabel");if(se.get("show")){var le=se.get("margin"),ue=se.get("position");ue||(ue=ie!=="horizontal"?"top":"left");var ce=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],de=(ce[0][0]+ce[1][0])/2,he=(ce[0][1]+ce[1][1])/2,fe=ie==="horizontal"?0:1,pe={top:[de,ce[fe][1]],bottom:[de,ce[1-fe][1]],left:[ce[1-fe][0],he],right:[ce[fe][0],he]},ve=ne.start.y;+ne.end.y>+ne.start.y&&(ve=ve+"-"+ne.end.y);var ge=se.get("formatter"),me={start:ne.start.y,end:ne.end.y,nameMap:ve},ye=this._formatterLabel(ge,me),_e=new ZRText$1({z2:30,style:createTextStyle$1(se,{text:ye})});_e.attr(this._yearTextPositionControl(_e,pe[ue],ie,ue,le)),oe.add(_e)}},te.prototype._monthTextPositionControl=function(ae,ne,ie,oe,se){var le="left",ue="top",ce=ae[0],de=ae[1];return ie==="horizontal"?(de=de+se,ne&&(le="center"),oe==="start"&&(ue="bottom")):(ce=ce+se,ne&&(ue="middle"),oe==="start"&&(le="right")),{x:ce,y:de,align:le,verticalAlign:ue}},te.prototype._renderMonthText=function(ae,ne,ie,oe){var se=ae.getModel("monthLabel");if(se.get("show")){var le=se.get("nameMap"),ue=se.get("margin"),ce=se.get("position"),de=se.get("align"),he=[this._tlpoints,this._blpoints];(!le||isString$1(le))&&(le&&(ne=getLocaleModel(le)||ne),le=ne.get(["time","monthAbbr"])||[]);var fe=ce==="start"?0:1,pe=ie==="horizontal"?0:1;ue=ce==="start"?-ue:ue;for(var ve=de==="center",ge=0;ge<he[fe].length-1;ge++){var me=he[fe][ge].slice(),ye=this._firstDayOfMonth[ge];if(ve){var _e=this._firstDayPoints[ge];me[pe]=(_e[pe]+he[0][ge+1][pe])/2}var be=se.get("formatter"),xe=le[+ye.m-1],$e={yyyy:ye.y,yy:(ye.y+"").slice(2),MM:ye.m,M:+ye.m,nameMap:xe},Se=this._formatterLabel(be,$e),we=new ZRText$1({z2:30,style:extend$1(createTextStyle$1(se,{text:Se}),this._monthTextPositionControl(me,ve,ie,ce,ue))});oe.add(we)}}},te.prototype._weekTextPositionControl=function(ae,ne,ie,oe,se){var le="center",ue="middle",ce=ae[0],de=ae[1],he=ie==="start";return ne==="horizontal"?(ce=ce+oe+(he?1:-1)*se[0]/2,le=he?"right":"left"):(de=de+oe+(he?1:-1)*se[1]/2,ue=he?"bottom":"top"),{x:ce,y:de,align:le,verticalAlign:ue}},te.prototype._renderWeekText=function(ae,ne,ie,oe,se){var le=ae.getModel("dayLabel");if(le.get("show")){var ue=ae.coordinateSystem,ce=le.get("position"),de=le.get("nameMap"),he=le.get("margin"),fe=ue.getFirstDayOfWeek();if(!de||isString$1(de)){de&&(ne=getLocaleModel(de)||ne);var pe=ne.get(["time","dayOfWeekShort"]);de=pe||map$1(ne.get(["time","dayOfWeekAbbr"]),function($e){return $e[0]})}var ve=ue.getNextNDay(ie.end.time,7-ie.lweek).time,ge=[ue.getCellWidth(),ue.getCellHeight()];he=parsePercent(he,Math.min(ge[1],ge[0])),ce==="start"&&(ve=ue.getNextNDay(ie.start.time,-(7+ie.fweek)).time,he=-he);for(var me=0;me<7;me++){var ye=ue.getNextNDay(ve,me),_e=ue.dataToRect([ye.time],!1).center,be=me;be=Math.abs((me+fe)%7);var xe=new ZRText$1({z2:30,style:extend$1(createTextStyle$1(le,{text:de[be]}),this._weekTextPositionControl(_e,oe,ce,he,ge))});se.add(xe)}}},te.type="calendar",te}(ComponentView$1);const CalendarView$1=CalendarView;var PROXIMATE_ONE_DAY=864e5,Calendar=function(){function ee(te,ae,ne){this.type="calendar",this.dimensions=ee.dimensions,this.getDimensionsInfo=ee.getDimensionsInfo,this._model=te}return ee.getDimensionsInfo=function(){return[{name:"time",type:"time"},"value"]},ee.prototype.getRangeInfo=function(){return this._rangeInfo},ee.prototype.getModel=function(){return this._model},ee.prototype.getRect=function(){return this._rect},ee.prototype.getCellWidth=function(){return this._sw},ee.prototype.getCellHeight=function(){return this._sh},ee.prototype.getOrient=function(){return this._orient},ee.prototype.getFirstDayOfWeek=function(){return this._firstDayOfWeek},ee.prototype.getDateInfo=function(te){te=parseDate(te);var ae=te.getFullYear(),ne=te.getMonth()+1,ie=ne<10?"0"+ne:""+ne,oe=te.getDate(),se=oe<10?"0"+oe:""+oe,le=te.getDay();return le=Math.abs((le+7-this.getFirstDayOfWeek())%7),{y:ae+"",m:ie,d:se,day:le,time:te.getTime(),formatedDate:ae+"-"+ie+"-"+se,date:te}},ee.prototype.getNextNDay=function(te,ae){return ae=ae||0,ae===0?this.getDateInfo(te):(te=new Date(this.getDateInfo(te).time),te.setDate(te.getDate()+ae),this.getDateInfo(te))},ee.prototype.update=function(te,ae){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var ne=this._rangeInfo.weeks||1,ie=["width","height"],oe=this._model.getCellSize().slice(),se=this._model.getBoxLayoutParams(),le=this._orient==="horizontal"?[ne,7]:[7,ne];each$f([0,1],function(he){de(oe,he)&&(se[ie[he]]=oe[he]*le[he])});var ue={width:ae.getWidth(),height:ae.getHeight()},ce=this._rect=getLayoutRect(se,ue);each$f([0,1],function(he){de(oe,he)||(oe[he]=ce[ie[he]]/le[he])});function de(he,fe){return he[fe]!=null&&he[fe]!=="auto"}this._sw=oe[0],this._sh=oe[1]},ee.prototype.dataToPoint=function(te,ae){isArray$2(te)&&(te=te[0]),ae==null&&(ae=!0);var ne=this.getDateInfo(te),ie=this._rangeInfo,oe=ne.formatedDate;if(ae&&!(ne.time>=ie.start.time&&ne.time<ie.end.time+PROXIMATE_ONE_DAY))return[NaN,NaN];var se=ne.day,le=this._getRangeInfo([ie.start.time,oe]).nthWeek;return this._orient==="vertical"?[this._rect.x+se*this._sw+this._sw/2,this._rect.y+le*this._sh+this._sh/2]:[this._rect.x+le*this._sw+this._sw/2,this._rect.y+se*this._sh+this._sh/2]},ee.prototype.pointToData=function(te){var ae=this.pointToDate(te);return ae&&ae.time},ee.prototype.dataToRect=function(te,ae){var ne=this.dataToPoint(te,ae);return{contentShape:{x:ne[0]-(this._sw-this._lineWidth)/2,y:ne[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:ne,tl:[ne[0]-this._sw/2,ne[1]-this._sh/2],tr:[ne[0]+this._sw/2,ne[1]-this._sh/2],br:[ne[0]+this._sw/2,ne[1]+this._sh/2],bl:[ne[0]-this._sw/2,ne[1]+this._sh/2]}},ee.prototype.pointToDate=function(te){var ae=Math.floor((te[0]-this._rect.x)/this._sw)+1,ne=Math.floor((te[1]-this._rect.y)/this._sh)+1,ie=this._rangeInfo.range;return this._orient==="vertical"?this._getDateByWeeksAndDay(ne,ae-1,ie):this._getDateByWeeksAndDay(ae,ne-1,ie)},ee.prototype.convertToPixel=function(te,ae,ne){var ie=getCoordSys(ae);return ie===this?ie.dataToPoint(ne):null},ee.prototype.convertFromPixel=function(te,ae,ne){var ie=getCoordSys(ae);return ie===this?ie.pointToData(ne):null},ee.prototype.containPoint=function(te){return console.warn("Not implemented."),!1},ee.prototype._initRangeOption=function(){var te=this._model.get("range"),ae;if(isArray$2(te)&&te.length===1&&(te=te[0]),isArray$2(te))ae=te;else{var ne=te.toString();if(/^\d{4}$/.test(ne)&&(ae=[ne+"-01-01",ne+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(ne)){var ie=this.getDateInfo(ne),oe=ie.date;oe.setMonth(oe.getMonth()+1);var se=this.getNextNDay(oe,-1);ae=[ie.formatedDate,se.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(ne)&&(ae=[ne,ne])}if(!ae)return te;var le=this._getRangeInfo(ae);return le.start.time>le.end.time&&ae.reverse(),ae},ee.prototype._getRangeInfo=function(te){var ae=[this.getDateInfo(te[0]),this.getDateInfo(te[1])],ne;ae[0].time>ae[1].time&&(ne=!0,ae.reverse());var ie=Math.floor(ae[1].time/PROXIMATE_ONE_DAY)-Math.floor(ae[0].time/PROXIMATE_ONE_DAY)+1,oe=new Date(ae[0].time),se=oe.getDate(),le=ae[1].date.getDate();oe.setDate(se+ie-1);var ue=oe.getDate();if(ue!==le)for(var ce=oe.getTime()-ae[1].time>0?1:-1;(ue=oe.getDate())!==le&&(oe.getTime()-ae[1].time)*ce>0;)ie-=ce,oe.setDate(ue-ce);var de=Math.floor((ie+ae[0].day+6)/7),he=ne?-de+1:de-1;return ne&&ae.reverse(),{range:[ae[0].formatedDate,ae[1].formatedDate],start:ae[0],end:ae[1],allDay:ie,weeks:de,nthWeek:he,fweek:ae[0].day,lweek:ae[1].day}},ee.prototype._getDateByWeeksAndDay=function(te,ae,ne){var ie=this._getRangeInfo(ne);if(te>ie.weeks||te===0&&ae<ie.fweek||te===ie.weeks&&ae>ie.lweek)return null;var oe=(te-1)*7-ie.fweek+ae,se=new Date(ie.start.time);return se.setDate(+ie.start.d+oe),this.getDateInfo(se)},ee.create=function(te,ae){var ne=[];return te.eachComponent("calendar",function(ie){var oe=new ee(ie);ne.push(oe),ie.coordinateSystem=oe}),te.eachSeries(function(ie){ie.get("coordinateSystem")==="calendar"&&(ie.coordinateSystem=ne[ie.get("calendarIndex")||0])}),ne},ee.dimensions=["time","value"],ee}();function getCoordSys(ee){var te=ee.calendarModel,ae=ee.seriesModel,ne=te?te.coordinateSystem:ae?ae.coordinateSystem:null;return ne}const Calendar$1=Calendar;function install$m(ee){ee.registerComponentModel(CalendarModel$1),ee.registerComponentView(CalendarView$1),ee.registerCoordinateSystem("calendar",Calendar$1)}function setKeyInfoToNewElOption(ee,te){var ae=ee.existing;if(te.id=ee.keyInfo.id,!te.type&&ae&&(te.type=ae.type),te.parentId==null){var ne=te.parentOption;ne?te.parentId=ne.id:ae&&(te.parentId=ae.parentId)}te.parentOption=null}function isSetLoc(ee,te){var ae;return each$f(te,function(ne){ee[ne]!=null&&ee[ne]!=="auto"&&(ae=!0)}),ae}function mergeNewElOptionToExist(ee,te,ae){var ne=extend$1({},ae),ie=ee[te],oe=ae.$action||"merge";oe==="merge"?ie?(merge$1(ie,ne,!0),mergeLayoutParam(ie,ne,{ignoreSize:!0}),copyLayoutParams(ae,ie),copyTransitionInfo(ae,ie),copyTransitionInfo(ae,ie,"shape"),copyTransitionInfo(ae,ie,"style"),copyTransitionInfo(ae,ie,"extra"),ae.clipPath=ie.clipPath):ee[te]=ne:oe==="replace"?ee[te]=ne:oe==="remove"&&ie&&(ee[te]=null)}var TRANSITION_PROPS_TO_COPY=["transition","enterFrom","leaveTo"],ROOT_TRANSITION_PROPS_TO_COPY=TRANSITION_PROPS_TO_COPY.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function copyTransitionInfo(ee,te,ae){if(ae&&(!ee[ae]&&te[ae]&&(ee[ae]={}),ee=ee[ae],te=te[ae]),!(!ee||!te))for(var ne=ae?TRANSITION_PROPS_TO_COPY:ROOT_TRANSITION_PROPS_TO_COPY,ie=0;ie<ne.length;ie++){var oe=ne[ie];ee[oe]==null&&te[oe]!=null&&(ee[oe]=te[oe])}}function setLayoutInfoToExist(ee,te){if(ee&&(ee.hv=te.hv=[isSetLoc(te,["left","right"]),isSetLoc(te,["top","bottom"])],ee.type==="group")){var ae=ee,ne=te;ae.width==null&&(ae.width=ne.width=0),ae.height==null&&(ae.height=ne.height=0)}}var GraphicComponentModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.preventAutoZ=!0,ae}return te.prototype.mergeOption=function(ae,ne){var ie=this.option.elements;this.option.elements=null,ee.prototype.mergeOption.call(this,ae,ne),this.option.elements=ie},te.prototype.optionUpdated=function(ae,ne){var ie=this.option,oe=(ne?ie:ae).elements,se=ie.elements=ne?[]:ie.elements,le=[];this._flatten(oe,le,null);var ue=mappingToExists(se,le,"normalMerge"),ce=this._elOptionsToUpdate=[];each$f(ue,function(de,he){var fe=de.newOption;fe&&(ce.push(fe),setKeyInfoToNewElOption(de,fe),mergeNewElOptionToExist(se,he,fe),setLayoutInfoToExist(se[he],fe))},this),ie.elements=filter(se,function(de){return de&&delete de.$action,de!=null})},te.prototype._flatten=function(ae,ne,ie){each$f(ae,function(oe){if(oe){ie&&(oe.parentOption=ie),ne.push(oe);var se=oe.children;se&&se.length&&this._flatten(se,ne,oe),delete oe.children}},this)},te.prototype.useElOptionsToUpdate=function(){var ae=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,ae},te.type="graphic",te.defaultOption={elements:[]},te}(ComponentModel$1),nonShapeGraphicElements={path:null,compoundPath:null,group:Group$4,image:ZRImage$1,text:ZRText$1},inner$7=makeInner(),GraphicComponentView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(){this._elMap=createHashMap()},te.prototype.render=function(ae,ne,ie){ae!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=ae,this._updateElements(ae),this._relocate(ae,ie)},te.prototype._updateElements=function(ae){var ne=ae.useElOptionsToUpdate();if(ne){var ie=this._elMap,oe=this.group,se=ae.get("z"),le=ae.get("zlevel");each$f(ne,function(ue){var ce=convertOptionIdName(ue.id,null),de=ce!=null?ie.get(ce):null,he=convertOptionIdName(ue.parentId,null),fe=he!=null?ie.get(he):oe,pe=ue.type,ve=ue.style;pe==="text"&&ve&&ue.hv&&ue.hv[1]&&(ve.textVerticalAlign=ve.textBaseline=ve.verticalAlign=ve.align=null);var ge=ue.textContent,me=ue.textConfig;if(ve&&isEC4CompatibleStyle(ve,pe,!!me,!!ge)){var ye=convertFromEC4CompatibleStyle(ve,pe,!0);!me&&ye.textConfig&&(me=ue.textConfig=ye.textConfig),!ge&&ye.textContent&&(ge=ye.textContent)}var _e=getCleanedElOption(ue),be=ue.$action||"merge",xe=be==="merge",$e=be==="replace";if(xe){var Se=!de,we=de;Se?we=createEl(ce,fe,ue.type,ie):(we&&(inner$7(we).isNew=!1),stopPreviousKeyframeAnimationAndRestore(we)),we&&(applyUpdateTransition(we,_e,ae,{isInit:Se}),updateCommonAttrs(we,ue,se,le))}else if($e){removeEl$1(de,ue,ie,ae);var Ae=createEl(ce,fe,ue.type,ie);Ae&&(applyUpdateTransition(Ae,_e,ae,{isInit:!0}),updateCommonAttrs(Ae,ue,se,le))}else be==="remove"&&(updateLeaveTo(de,ue),removeEl$1(de,ue,ie,ae));var Te=ie.get(ce);if(Te&&ge)if(xe){var De=Te.getTextContent();De?De.attr(ge):Te.setTextContent(new ZRText$1(ge))}else $e&&Te.setTextContent(new ZRText$1(ge));if(Te){var Me=ue.clipPath;if(Me){var Ie=Me.type,Ce=void 0,Se=!1;if(xe){var Ee=Te.getClipPath();Se=!Ee||inner$7(Ee).type!==Ie,Ce=Se?newEl(Ie):Ee}else $e&&(Se=!0,Ce=newEl(Ie));Te.setClipPath(Ce),applyUpdateTransition(Ce,Me,ae,{isInit:Se}),applyKeyframeAnimation(Ce,Me.keyframeAnimation,ae)}var Re=inner$7(Te);Te.setTextConfig(me),Re.option=ue,setEventData(Te,ae,ue),setTooltipConfig({el:Te,componentModel:ae,itemName:Te.name,itemTooltipOption:ue.tooltip}),applyKeyframeAnimation(Te,ue.keyframeAnimation,ae)}})}},te.prototype._relocate=function(ae,ne){for(var ie=ae.option.elements,oe=this.group,se=this._elMap,le=ne.getWidth(),ue=ne.getHeight(),ce=["x","y"],de=0;de<ie.length;de++){var he=ie[de],fe=convertOptionIdName(he.id,null),pe=fe!=null?se.get(fe):null;if(!(!pe||!pe.isGroup)){var ve=pe.parent,ge=ve===oe,me=inner$7(pe),ye=inner$7(ve);me.width=parsePercent(me.option.width,ge?le:ye.width)||0,me.height=parsePercent(me.option.height,ge?ue:ye.height)||0}}for(var de=ie.length-1;de>=0;de--){var he=ie[de],fe=convertOptionIdName(he.id,null),pe=fe!=null?se.get(fe):null;if(pe){var ve=pe.parent,ye=inner$7(ve),_e=ve===oe?{width:le,height:ue}:{width:ye.width,height:ye.height},be={},xe=positionElement(pe,he,_e,null,{hv:he.hv,boundingMode:he.bounding},be);if(!inner$7(pe).isNew&&xe){for(var $e=he.transition,Se={},we=0;we<ce.length;we++){var Ae=ce[we],Te=be[Ae];$e&&(isTransitionAll($e)||indexOf($e,Ae)>=0)?Se[Ae]=Te:pe[Ae]=Te}updateProps$1(pe,Se,ae,0)}else pe.attr(be)}}},te.prototype._clear=function(){var ae=this,ne=this._elMap;ne.each(function(ie){removeEl$1(ie,inner$7(ie).option,ne,ae._lastGraphicModel)}),this._elMap=createHashMap()},te.prototype.dispose=function(){this._clear()},te.type="graphic",te}(ComponentView$1);function newEl(ee){var te=hasOwn(nonShapeGraphicElements,ee)?nonShapeGraphicElements[ee]:getShapeClass(ee),ae=new te({});return inner$7(ae).type=ee,ae}function createEl(ee,te,ae,ne){var ie=newEl(ae);return te.add(ie),ne.set(ee,ie),inner$7(ie).id=ee,inner$7(ie).isNew=!0,ie}function removeEl$1(ee,te,ae,ne){var ie=ee&&ee.parent;ie&&(ee.type==="group"&&ee.traverse(function(oe){removeEl$1(oe,te,ae,ne)}),applyLeaveTransition(ee,te,ne),ae.removeKey(inner$7(ee).id))}function updateCommonAttrs(ee,te,ae,ne){ee.isGroup||each$f([["cursor",Displayable$1.prototype.cursor],["zlevel",ne||0],["z",ae||0],["z2",0]],function(ie){var oe=ie[0];hasOwn(te,oe)?ee[oe]=retrieve2(te[oe],ie[1]):ee[oe]==null&&(ee[oe]=ie[1])}),each$f(keys(te),function(ie){if(ie.indexOf("on")===0){var oe=te[ie];ee[ie]=isFunction$1(oe)?oe:null}}),hasOwn(te,"draggable")&&(ee.draggable=te.draggable),te.name!=null&&(ee.name=te.name),te.id!=null&&(ee.id=te.id)}function getCleanedElOption(ee){return ee=extend$1({},ee),each$f(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(LOCATION_PARAMS),function(te){delete ee[te]}),ee}function setEventData(ee,te,ae){var ne=getECData(ee).eventData;!ee.silent&&!ee.ignore&&!ne&&(ne=getECData(ee).eventData={componentType:"graphic",componentIndex:te.componentIndex,name:ee.name}),ne&&(ne.info=ae.info)}function install$l(ee){ee.registerComponentModel(GraphicComponentModel),ee.registerComponentView(GraphicComponentView),ee.registerPreprocessor(function(te){var ae=te.graphic;isArray$2(ae)?!ae[0]||!ae[0].elements?te.graphic=[{elements:ae}]:te.graphic=[te.graphic[0]]:ae&&!ae.elements&&(te.graphic=[{elements:[ae]}])})}var DATA_ZOOM_AXIS_DIMENSIONS=["x","y","radius","angle","single"],SERIES_COORDS=["cartesian2d","polar","singleAxis"];function isCoordSupported(ee){var te=ee.get("coordinateSystem");return indexOf(SERIES_COORDS,te)>=0}function getAxisMainType(ee){return ee+"Axis"}function findEffectedDataZooms(ee,te){var ae=createHashMap(),ne=[],ie=createHashMap();ee.eachComponent({mainType:"dataZoom",query:te},function(de){ie.get(de.uid)||le(de)});var oe;do oe=!1,ee.eachComponent("dataZoom",se);while(oe);function se(de){!ie.get(de.uid)&&ue(de)&&(le(de),oe=!0)}function le(de){ie.set(de.uid,!0),ne.push(de),ce(de)}function ue(de){var he=!1;return de.eachTargetAxis(function(fe,pe){var ve=ae.get(fe);ve&&ve[pe]&&(he=!0)}),he}function ce(de){de.eachTargetAxis(function(he,fe){(ae.get(he)||ae.set(he,[]))[fe]=!0})}return ne}function collectReferCoordSysModelInfo(ee){var te=ee.ecModel,ae={infoList:[],infoMap:createHashMap()};return ee.eachTargetAxis(function(ne,ie){var oe=te.getComponent(getAxisMainType(ne),ie);if(oe){var se=oe.getCoordSysModel();if(se){var le=se.uid,ue=ae.infoMap.get(le);ue||(ue={model:se,axisModels:[]},ae.infoList.push(ue),ae.infoMap.set(le,ue)),ue.axisModels.push(oe)}}}),ae}var DataZoomAxisInfo=function(){function ee(){this.indexList=[],this.indexMap=[]}return ee.prototype.add=function(te){this.indexMap[te]||(this.indexList.push(te),this.indexMap[te]=!0)},ee}(),DataZoomModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._autoThrottle=!0,ae._noTarget=!0,ae._rangePropMode=["percent","percent"],ae}return te.prototype.init=function(ae,ne,ie){var oe=retrieveRawOption(ae);this.settledOption=oe,this.mergeDefaultAndTheme(ae,ie),this._doInit(oe)},te.prototype.mergeOption=function(ae){var ne=retrieveRawOption(ae);merge$1(this.option,ae,!0),merge$1(this.settledOption,ne,!0),this._doInit(ne)},te.prototype._doInit=function(ae){var ne=this.option;this._setDefaultThrottle(ae),this._updateRangeUse(ae);var ie=this.settledOption;each$f([["start","startValue"],["end","endValue"]],function(oe,se){this._rangePropMode[se]==="value"&&(ne[oe[0]]=ie[oe[0]]=null)},this),this._resetTarget()},te.prototype._resetTarget=function(){var ae=this.get("orient",!0),ne=this._targetAxisInfoMap=createHashMap(),ie=this._fillSpecifiedTargetAxis(ne);ie?this._orient=ae||this._makeAutoOrientByTargetAxis():(this._orient=ae||"horizontal",this._fillAutoTargetAxisByOrient(ne,this._orient)),this._noTarget=!0,ne.each(function(oe){oe.indexList.length&&(this._noTarget=!1)},this)},te.prototype._fillSpecifiedTargetAxis=function(ae){var ne=!1;return each$f(DATA_ZOOM_AXIS_DIMENSIONS,function(ie){var oe=this.getReferringComponents(getAxisMainType(ie),MULTIPLE_REFERRING);if(oe.specified){ne=!0;var se=new DataZoomAxisInfo;each$f(oe.models,function(le){se.add(le.componentIndex)}),ae.set(ie,se)}},this),ne},te.prototype._fillAutoTargetAxisByOrient=function(ae,ne){var ie=this.ecModel,oe=!0;if(oe){var se=ne==="vertical"?"y":"x",le=ie.findComponents({mainType:se+"Axis"});ue(le,se)}if(oe){var le=ie.findComponents({mainType:"singleAxis",filter:function(de){return de.get("orient",!0)===ne}});ue(le,"single")}function ue(ce,de){var he=ce[0];if(he){var fe=new DataZoomAxisInfo;if(fe.add(he.componentIndex),ae.set(de,fe),oe=!1,de==="x"||de==="y"){var pe=he.getReferringComponents("grid",SINGLE_REFERRING).models[0];pe&&each$f(ce,function(ve){he.componentIndex!==ve.componentIndex&&pe===ve.getReferringComponents("grid",SINGLE_REFERRING).models[0]&&fe.add(ve.componentIndex)})}}}oe&&each$f(DATA_ZOOM_AXIS_DIMENSIONS,function(ce){if(oe){var de=ie.findComponents({mainType:getAxisMainType(ce),filter:function(fe){return fe.get("type",!0)==="category"}});if(de[0]){var he=new DataZoomAxisInfo;he.add(de[0].componentIndex),ae.set(ce,he),oe=!1}}},this)},te.prototype._makeAutoOrientByTargetAxis=function(){var ae;return this.eachTargetAxis(function(ne){!ae&&(ae=ne)},this),ae==="y"?"vertical":"horizontal"},te.prototype._setDefaultThrottle=function(ae){if(ae.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var ne=this.ecModel.option;this.option.throttle=ne.animation&&ne.animationDurationUpdate>0?100:20}},te.prototype._updateRangeUse=function(ae){var ne=this._rangePropMode,ie=this.get("rangeMode");each$f([["start","startValue"],["end","endValue"]],function(oe,se){var le=ae[oe[0]]!=null,ue=ae[oe[1]]!=null;le&&!ue?ne[se]="percent":!le&&ue?ne[se]="value":ie?ne[se]=ie[se]:le&&(ne[se]="percent")})},te.prototype.noTarget=function(){return this._noTarget},te.prototype.getFirstTargetAxisModel=function(){var ae;return this.eachTargetAxis(function(ne,ie){ae==null&&(ae=this.ecModel.getComponent(getAxisMainType(ne),ie))},this),ae},te.prototype.eachTargetAxis=function(ae,ne){this._targetAxisInfoMap.each(function(ie,oe){each$f(ie.indexList,function(se){ae.call(ne,oe,se)})})},te.prototype.getAxisProxy=function(ae,ne){var ie=this.getAxisModel(ae,ne);if(ie)return ie.__dzAxisProxy},te.prototype.getAxisModel=function(ae,ne){var ie=this._targetAxisInfoMap.get(ae);if(ie&&ie.indexMap[ne])return this.ecModel.getComponent(getAxisMainType(ae),ne)},te.prototype.setRawRange=function(ae){var ne=this.option,ie=this.settledOption;each$f([["start","startValue"],["end","endValue"]],function(oe){(ae[oe[0]]!=null||ae[oe[1]]!=null)&&(ne[oe[0]]=ie[oe[0]]=ae[oe[0]],ne[oe[1]]=ie[oe[1]]=ae[oe[1]])},this),this._updateRangeUse(ae)},te.prototype.setCalculatedRange=function(ae){var ne=this.option;each$f(["start","startValue","end","endValue"],function(ie){ne[ie]=ae[ie]})},te.prototype.getPercentRange=function(){var ae=this.findRepresentativeAxisProxy();if(ae)return ae.getDataPercentWindow()},te.prototype.getValueRange=function(ae,ne){if(ae==null&&ne==null){var ie=this.findRepresentativeAxisProxy();if(ie)return ie.getDataValueWindow()}else return this.getAxisProxy(ae,ne).getDataValueWindow()},te.prototype.findRepresentativeAxisProxy=function(ae){if(ae)return ae.__dzAxisProxy;for(var ne,ie=this._targetAxisInfoMap.keys(),oe=0;oe<ie.length;oe++)for(var se=ie[oe],le=this._targetAxisInfoMap.get(se),ue=0;ue<le.indexList.length;ue++){var ce=this.getAxisProxy(se,le.indexList[ue]);if(ce.hostedBy(this))return ce;ne||(ne=ce)}return ne},te.prototype.getRangePropMode=function(){return this._rangePropMode.slice()},te.prototype.getOrient=function(){return this._orient},te.type="dataZoom",te.dependencies=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","series","toolbox"],te.defaultOption={z:4,filterMode:"filter",start:0,end:100},te}(ComponentModel$1);function retrieveRawOption(ee){var te={};return each$f(["start","end","startValue","endValue","throttle"],function(ae){ee.hasOwnProperty(ae)&&(te[ae]=ee[ae])}),te}const DataZoomModel$1=DataZoomModel;var SelectDataZoomModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="dataZoom.select",te}(DataZoomModel$1);const SelectZoomModel=SelectDataZoomModel;var DataZoomView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie,oe){this.dataZoomModel=ae,this.ecModel=ne,this.api=ie},te.type="dataZoom",te}(ComponentView$1);const DataZoomView$1=DataZoomView;var SelectDataZoomView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="dataZoom.select",te}(DataZoomView$1);const SelectZoomView=SelectDataZoomView;var each$7=each$f,asc$1=asc$2,AxisProxy=function(){function ee(te,ae,ne,ie){this._dimName=te,this._axisIndex=ae,this.ecModel=ie,this._dataZoomModel=ne}return ee.prototype.hostedBy=function(te){return this._dataZoomModel===te},ee.prototype.getDataValueWindow=function(){return this._valueWindow.slice()},ee.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()},ee.prototype.getTargetSeriesModels=function(){var te=[];return this.ecModel.eachSeries(function(ae){if(isCoordSupported(ae)){var ne=getAxisMainType(this._dimName),ie=ae.getReferringComponents(ne,SINGLE_REFERRING).models[0];ie&&this._axisIndex===ie.componentIndex&&te.push(ae)}},this),te},ee.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},ee.prototype.getMinMaxSpan=function(){return clone$4(this._minMaxSpan)},ee.prototype.calculateDataWindow=function(te){var ae=this._dataExtent,ne=this.getAxisModel(),ie=ne.axis.scale,oe=this._dataZoomModel.getRangePropMode(),se=[0,100],le=[],ue=[],ce;each$7(["start","end"],function(fe,pe){var ve=te[fe],ge=te[fe+"Value"];oe[pe]==="percent"?(ve==null&&(ve=se[pe]),ge=ie.parse(linearMap$2(ve,se,ae))):(ce=!0,ge=ge==null?ae[pe]:ie.parse(ge),ve=linearMap$2(ge,ae,se)),ue[pe]=ge==null||isNaN(ge)?ae[pe]:ge,le[pe]=ve==null||isNaN(ve)?se[pe]:ve}),asc$1(ue),asc$1(le);var de=this._minMaxSpan;ce?he(ue,le,ae,se,!1):he(le,ue,se,ae,!0);function he(fe,pe,ve,ge,me){var ye=me?"Span":"ValueSpan";sliderMove(0,fe,ve,"all",de["min"+ye],de["max"+ye]);for(var _e=0;_e<2;_e++)pe[_e]=linearMap$2(fe[_e],ve,ge,!0),me&&(pe[_e]=ie.parse(pe[_e]))}return{valueWindow:ue,percentWindow:le}},ee.prototype.reset=function(te){if(te===this._dataZoomModel){var ae=this.getTargetSeriesModels();this._dataExtent=calculateDataExtent(this,this._dimName,ae),this._updateMinMaxSpan();var ne=this.calculateDataWindow(te.settledOption);this._valueWindow=ne.valueWindow,this._percentWindow=ne.percentWindow,this._setAxisModel()}},ee.prototype.filterData=function(te,ae){if(te!==this._dataZoomModel)return;var ne=this._dimName,ie=this.getTargetSeriesModels(),oe=te.get("filterMode"),se=this._valueWindow;if(oe==="none")return;each$7(ie,function(ue){var ce=ue.getData(),de=ce.mapDimensionsAll(ne);if(de.length){if(oe==="weakFilter"){var he=ce.getStore(),fe=map$1(de,function(pe){return ce.getDimensionIndex(pe)},ce);ce.filterSelf(function(pe){for(var ve,ge,me,ye=0;ye<de.length;ye++){var _e=he.get(fe[ye],pe),be=!isNaN(_e),xe=_e<se[0],$e=_e>se[1];if(be&&!xe&&!$e)return!0;be&&(me=!0),xe&&(ve=!0),$e&&(ge=!0)}return me&&ve&&ge})}else each$7(de,function(pe){if(oe==="empty")ue.setData(ce=ce.map(pe,function(ge){return le(ge)?ge:NaN}));else{var ve={};ve[pe]=se,ce.selectRange(ve)}});each$7(de,function(pe){ce.setApproximateExtent(se,pe)})}});function le(ue){return ue>=se[0]&&ue<=se[1]}},ee.prototype._updateMinMaxSpan=function(){var te=this._minMaxSpan={},ae=this._dataZoomModel,ne=this._dataExtent;each$7(["min","max"],function(ie){var oe=ae.get(ie+"Span"),se=ae.get(ie+"ValueSpan");se!=null&&(se=this.getAxisModel().axis.scale.parse(se)),se!=null?oe=linearMap$2(ne[0]+se,ne,[0,100],!0):oe!=null&&(se=linearMap$2(oe,[0,100],ne,!0)-ne[0]),te[ie+"Span"]=oe,te[ie+"ValueSpan"]=se},this)},ee.prototype._setAxisModel=function(){var te=this.getAxisModel(),ae=this._percentWindow,ne=this._valueWindow;if(ae){var ie=getPixelPrecision(ne,[0,500]);ie=Math.min(ie,20);var oe=te.axis.scale.rawExtentInfo;ae[0]!==0&&oe.setDeterminedMinMax("min",+ne[0].toFixed(ie)),ae[1]!==100&&oe.setDeterminedMinMax("max",+ne[1].toFixed(ie)),oe.freeze()}},ee}();function calculateDataExtent(ee,te,ae){var ne=[1/0,-1/0];each$7(ae,function(se){unionAxisExtentFromData(ne,se.getData(),te)});var ie=ee.getAxisModel(),oe=ensureScaleRawExtentInfo(ie.axis.scale,ie,ne).calculate();return[oe.min,oe.max]}const AxisProxy$1=AxisProxy;var dataZoomProcessor={getTargetSeries:function(ee){function te(ie){ee.eachComponent("dataZoom",function(oe){oe.eachTargetAxis(function(se,le){var ue=ee.getComponent(getAxisMainType(se),le);ie(se,le,ue,oe)})})}te(function(ie,oe,se,le){se.__dzAxisProxy=null});var ae=[];te(function(ie,oe,se,le){se.__dzAxisProxy||(se.__dzAxisProxy=new AxisProxy$1(ie,oe,le,ee),ae.push(se.__dzAxisProxy))});var ne=createHashMap();return each$f(ae,function(ie){each$f(ie.getTargetSeriesModels(),function(oe){ne.set(oe.uid,oe)})}),ne},overallReset:function(ee,te){ee.eachComponent("dataZoom",function(ae){ae.eachTargetAxis(function(ne,ie){ae.getAxisProxy(ne,ie).reset(ae)}),ae.eachTargetAxis(function(ne,ie){ae.getAxisProxy(ne,ie).filterData(ae,te)})}),ee.eachComponent("dataZoom",function(ae){var ne=ae.findRepresentativeAxisProxy();if(ne){var ie=ne.getDataPercentWindow(),oe=ne.getDataValueWindow();ae.setCalculatedRange({start:ie[0],end:ie[1],startValue:oe[0],endValue:oe[1]})}})}};const dataZoomProcessor$1=dataZoomProcessor;function installDataZoomAction(ee){ee.registerAction("dataZoom",function(te,ae){var ne=findEffectedDataZooms(ae,te);each$f(ne,function(ie){ie.setRawRange({start:te.start,end:te.end,startValue:te.startValue,endValue:te.endValue})})})}var installed$1=!1;function installCommon$1(ee){installed$1||(installed$1=!0,ee.registerProcessor(ee.PRIORITY.PROCESSOR.FILTER,dataZoomProcessor$1),installDataZoomAction(ee),ee.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function install$k(ee){ee.registerComponentModel(SelectZoomModel),ee.registerComponentView(SelectZoomView),installCommon$1(ee)}var ToolboxFeature=function(){function ee(){}return ee}(),features$1={};function registerFeature(ee,te){features$1[ee]=te}function getFeature(ee){return features$1[ee]}var ToolboxModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.optionUpdated=function(){ee.prototype.optionUpdated.apply(this,arguments);var ae=this.ecModel;each$f(this.option.feature,function(ne,ie){var oe=getFeature(ie);oe&&(oe.getDefaultOption&&(oe.defaultOption=oe.getDefaultOption(ae)),merge$1(ne,oe.defaultOption))})},te.type="toolbox",te.layoutMode={type:"box",ignoreSize:!0},te.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},te}(ComponentModel$1);const ToolboxModel$1=ToolboxModel;function layout(ee,te,ae){var ne=te.getBoxLayoutParams(),ie=te.get("padding"),oe={width:ae.getWidth(),height:ae.getHeight()},se=getLayoutRect(ne,oe,ie);box(te.get("orient"),ee,te.get("itemGap"),se.width,se.height),positionElement(ee,ne,oe,ie)}function makeBackground(ee,te){var ae=normalizeCssArray(te.get("padding")),ne=te.getItemStyle(["color","opacity"]);return ne.fill=te.get("backgroundColor"),ee=new Rect$3({shape:{x:ee.x-ae[3],y:ee.y-ae[0],width:ee.width+ae[1]+ae[3],height:ee.height+ae[0]+ae[2],r:te.get("borderRadius")},style:ne,silent:!0,z2:-1}),ee}var ToolboxView=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.render=function(ae,ne,ie,oe){var se=this.group;if(se.removeAll(),!ae.get("show"))return;var le=+ae.get("itemSize"),ue=ae.get("orient")==="vertical",ce=ae.get("feature")||{},de=this._features||(this._features={}),he=[];each$f(ce,function(ve,ge){he.push(ge)}),new DataDiffer$1(this._featureNames||[],he).add(fe).update(fe).remove(curry$1(fe,null)).execute(),this._featureNames=he;function fe(ve,ge){var me=he[ve],ye=he[ge],_e=ce[me],be=new Model$1(_e,ae,ae.ecModel),xe;if(oe&&oe.newTitle!=null&&oe.featureName===me&&(_e.title=oe.newTitle),me&&!ye){if(isUserFeatureName(me))xe={onclick:be.option.onclick,featureName:me};else{var $e=getFeature(me);if(!$e)return;xe=new $e}de[me]=xe}else if(xe=de[ye],!xe)return;xe.uid=getUID("toolbox-feature"),xe.model=be,xe.ecModel=ne,xe.api=ie;var Se=xe instanceof ToolboxFeature;if(!me&&ye){Se&&xe.dispose&&xe.dispose(ne,ie);return}if(!be.get("show")||Se&&xe.unusable){Se&&xe.remove&&xe.remove(ne,ie);return}pe(be,xe,me),be.setIconStatus=function(we,Ae){var Te=this.option,De=this.iconPaths;Te.iconStatus=Te.iconStatus||{},Te.iconStatus[we]=Ae,De[we]&&(Ae==="emphasis"?enterEmphasis:leaveEmphasis)(De[we])},xe instanceof ToolboxFeature&&xe.render&&xe.render(be,ne,ie,oe)}function pe(ve,ge,me){var ye=ve.getModel("iconStyle"),_e=ve.getModel(["emphasis","iconStyle"]),be=ge instanceof ToolboxFeature&&ge.getIcons?ge.getIcons():ve.get("icon"),xe=ve.get("title")||{},$e,Se;isString$1(be)?($e={},$e[me]=be):$e=be,isString$1(xe)?(Se={},Se[me]=xe):Se=xe;var we=ve.iconPaths={};each$f($e,function(Ae,Te){var De=createIcon(Ae,{},{x:-le/2,y:-le/2,width:le,height:le});De.setStyle(ye.getItemStyle());var Me=De.ensureState("emphasis");Me.style=_e.getItemStyle();var Ie=new ZRText$1({style:{text:Se[Te],align:_e.get("textAlign"),borderRadius:_e.get("textBorderRadius"),padding:_e.get("textPadding"),fill:null},ignore:!0});De.setTextContent(Ie),setTooltipConfig({el:De,componentModel:ae,itemName:Te,formatterParamsExtra:{title:Se[Te]}}),De.__title=Se[Te],De.on("mouseover",function(){var Ce=_e.getItemStyle(),Ee=ue?ae.get("right")==null&&ae.get("left")!=="right"?"right":"left":ae.get("bottom")==null&&ae.get("top")!=="bottom"?"bottom":"top";Ie.setStyle({fill:_e.get("textFill")||Ce.fill||Ce.stroke||"#000",backgroundColor:_e.get("textBackgroundColor")}),De.setTextConfig({position:_e.get("textPosition")||Ee}),Ie.ignore=!ae.get("showTitle"),ie.enterEmphasis(this)}).on("mouseout",function(){ve.get(["iconStatus",Te])!=="emphasis"&&ie.leaveEmphasis(this),Ie.hide()}),(ve.get(["iconStatus",Te])==="emphasis"?enterEmphasis:leaveEmphasis)(De),se.add(De),De.on("click",bind$2(ge.onclick,ge,ne,ie,Te)),we[Te]=De})}layout(se,ae,ie),se.add(makeBackground(se.getBoundingRect(),ae)),ue||se.eachChild(function(ve){var ge=ve.__title,me=ve.ensureState("emphasis"),ye=me.textConfig||(me.textConfig={}),_e=ve.getTextContent(),be=_e&&_e.ensureState("emphasis");if(be&&!isFunction$1(be)&&ge){var xe=be.style||(be.style={}),$e=getBoundingRect(ge,ZRText$1.makeFont(xe)),Se=ve.x+se.x,we=ve.y+se.y+le,Ae=!1;we+$e.height>ie.getHeight()&&(ye.position="top",Ae=!0);var Te=Ae?-5-$e.height:le+10;Se+$e.width/2>ie.getWidth()?(ye.position=["100%",Te],xe.align="right"):Se-$e.width/2<0&&(ye.position=[0,Te],xe.align="left")}})},te.prototype.updateView=function(ae,ne,ie,oe){each$f(this._features,function(se){se instanceof ToolboxFeature&&se.updateView&&se.updateView(se.model,ne,ie,oe)})},te.prototype.remove=function(ae,ne){each$f(this._features,function(ie){ie instanceof ToolboxFeature&&ie.remove&&ie.remove(ae,ne)}),this.group.removeAll()},te.prototype.dispose=function(ae,ne){each$f(this._features,function(ie){ie instanceof ToolboxFeature&&ie.dispose&&ie.dispose(ae,ne)})},te.type="toolbox",te}(ComponentView$1);function isUserFeatureName(ee){return ee.indexOf("my")===0}const ToolboxView$1=ToolboxView;var SaveAsImage=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.onclick=function(ae,ne){var ie=this.model,oe=ie.get("name")||ae.get("title.0.text")||"echarts",se=ne.getZr().painter.getType()==="svg",le=se?"svg":ie.get("type",!0)||"png",ue=ne.getConnectedDataURL({type:le,backgroundColor:ie.get("backgroundColor",!0)||ae.get("backgroundColor")||"#fff",connectedBackgroundColor:ie.get("connectedBackgroundColor"),excludeComponents:ie.get("excludeComponents"),pixelRatio:ie.get("pixelRatio")}),ce=env$1.browser;if(isFunction$1(MouseEvent)&&(ce.newEdge||!ce.ie&&!ce.edge)){var de=document.createElement("a");de.download=oe+"."+le,de.target="_blank",de.href=ue;var he=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});de.dispatchEvent(he)}else if(window.navigator.msSaveOrOpenBlob||se){var fe=ue.split(","),pe=fe[0].indexOf("base64")>-1,ve=se?decodeURIComponent(fe[1]):fe[1];pe&&(ve=window.atob(ve));var ge=oe+"."+le;if(window.navigator.msSaveOrOpenBlob){for(var me=ve.length,ye=new Uint8Array(me);me--;)ye[me]=ve.charCodeAt(me);var _e=new Blob([ye]);window.navigator.msSaveOrOpenBlob(_e,ge)}else{var be=document.createElement("iframe");document.body.appendChild(be);var xe=be.contentWindow,$e=xe.document;$e.open("image/svg+xml","replace"),$e.write(ve),$e.close(),xe.focus(),$e.execCommand("SaveAs",!0,ge),document.body.removeChild(be)}}else{var Se=ie.get("lang"),we='<body style="margin:0;"><img src="'+ue+'" style="max-width:100%;" title="'+(Se&&Se[0]||"")+'" /></body>',Ae=window.open();Ae.document.write(we),Ae.document.title=oe}},te.getDefaultOption=function(ae){var ne={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:ae.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:ae.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return ne},te}(ToolboxFeature);const SaveAsImage$1=SaveAsImage;var INNER_STACK_KEYWORD="__ec_magicType_stack__",radioTypes=[["line","bar"],["stack"]],MagicType=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.getIcons=function(){var ae=this.model,ne=ae.get("icon"),ie={};return each$f(ae.get("type"),function(oe){ne[oe]&&(ie[oe]=ne[oe])}),ie},te.getDefaultOption=function(ae){var ne={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:ae.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return ne},te.prototype.onclick=function(ae,ne,ie){var oe=this.model,se=oe.get(["seriesIndex",ie]);if(seriesOptGenreator[ie]){var le={series:[]},ue=function(he){var fe=he.subType,pe=he.id,ve=seriesOptGenreator[ie](fe,pe,he,oe);ve&&(defaults$2(ve,he.option),le.series.push(ve));var ge=he.coordinateSystem;if(ge&&ge.type==="cartesian2d"&&(ie==="line"||ie==="bar")){var me=ge.getAxesByScale("ordinal")[0];if(me){var ye=me.dim,_e=ye+"Axis",be=he.getReferringComponents(_e,SINGLE_REFERRING).models[0],xe=be.componentIndex;le[_e]=le[_e]||[];for(var $e=0;$e<=xe;$e++)le[_e][xe]=le[_e][xe]||{};le[_e][xe].boundaryGap=ie==="bar"}}};each$f(radioTypes,function(he){indexOf(he,ie)>=0&&each$f(he,function(fe){oe.setIconStatus(fe,"normal")})}),oe.setIconStatus(ie,"emphasis"),ae.eachComponent({mainType:"series",query:se==null?null:{seriesIndex:se}},ue);var ce,de=ie;ie==="stack"&&(ce=merge$1({stack:oe.option.title.tiled,tiled:oe.option.title.stack},oe.option.title),oe.get(["iconStatus",ie])!=="emphasis"&&(de="tiled")),ne.dispatchAction({type:"changeMagicType",currentType:de,newOption:le,newTitle:ce,featureName:"magicType"})}},te}(ToolboxFeature),seriesOptGenreator={line:function(ee,te,ae,ne){if(ee==="bar")return merge$1({id:te,type:"line",data:ae.get("data"),stack:ae.get("stack"),markPoint:ae.get("markPoint"),markLine:ae.get("markLine")},ne.get(["option","line"])||{},!0)},bar:function(ee,te,ae,ne){if(ee==="line")return merge$1({id:te,type:"bar",data:ae.get("data"),stack:ae.get("stack"),markPoint:ae.get("markPoint"),markLine:ae.get("markLine")},ne.get(["option","bar"])||{},!0)},stack:function(ee,te,ae,ne){var ie=ae.get("stack")===INNER_STACK_KEYWORD;if(ee==="line"||ee==="bar")return ne.setIconStatus("stack",ie?"normal":"emphasis"),merge$1({id:te,stack:ie?"":INNER_STACK_KEYWORD},ne.get(["option","stack"])||{},!0)}};registerAction({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(ee,te){te.mergeOption(ee.newOption)});const MagicType$1=MagicType;var BLOCK_SPLITER=new Array(60).join("-"),ITEM_SPLITER="	";function groupSeries(ee){var te={},ae=[],ne=[];return ee.eachRawSeries(function(ie){var oe=ie.coordinateSystem;if(oe&&(oe.type==="cartesian2d"||oe.type==="polar")){var se=oe.getBaseAxis();if(se.type==="category"){var le=se.dim+"_"+se.index;te[le]||(te[le]={categoryAxis:se,valueAxis:oe.getOtherAxis(se),series:[]},ne.push({axisDim:se.dim,axisIndex:se.index})),te[le].series.push(ie)}else ae.push(ie)}else ae.push(ie)}),{seriesGroupByCategoryAxis:te,other:ae,meta:ne}}function assembleSeriesWithCategoryAxis(ee){var te=[];return each$f(ee,function(ae,ne){var ie=ae.categoryAxis,oe=ae.valueAxis,se=oe.dim,le=[" "].concat(map$1(ae.series,function(pe){return pe.name})),ue=[ie.model.getCategories()];each$f(ae.series,function(pe){var ve=pe.getRawData();ue.push(pe.getRawData().mapArray(ve.mapDimension(se),function(ge){return ge}))});for(var ce=[le.join(ITEM_SPLITER)],de=0;de<ue[0].length;de++){for(var he=[],fe=0;fe<ue.length;fe++)he.push(ue[fe][de]);ce.push(he.join(ITEM_SPLITER))}te.push(ce.join(`
-`))}),te.join(`
-
-`+BLOCK_SPLITER+`
-
-`)}function assembleOtherSeries(ee){return map$1(ee,function(te){var ae=te.getRawData(),ne=[te.name],ie=[];return ae.each(ae.dimensions,function(){for(var oe=arguments.length,se=arguments[oe-1],le=ae.getName(se),ue=0;ue<oe-1;ue++)ie[ue]=arguments[ue];ne.push((le?le+ITEM_SPLITER:"")+ie.join(ITEM_SPLITER))}),ne.join(`
-`)}).join(`
-
-`+BLOCK_SPLITER+`
-
-`)}function getContentFromModel(ee){var te=groupSeries(ee);return{value:filter([assembleSeriesWithCategoryAxis(te.seriesGroupByCategoryAxis),assembleOtherSeries(te.other)],function(ae){return!!ae.replace(/[\n\t\s]/g,"")}).join(`
-
-`+BLOCK_SPLITER+`
-
-`),meta:te.meta}}function trim$1(ee){return ee.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function isTSVFormat(ee){var te=ee.slice(0,ee.indexOf(`
-`));if(te.indexOf(ITEM_SPLITER)>=0)return!0}var itemSplitRegex=new RegExp("["+ITEM_SPLITER+"]+","g");function parseTSVContents(ee){for(var te=ee.split(/\n+/g),ae=trim$1(te.shift()).split(itemSplitRegex),ne=[],ie=map$1(ae,function(ue){return{name:ue,data:[]}}),oe=0;oe<te.length;oe++){var se=trim$1(te[oe]).split(itemSplitRegex);ne.push(se.shift());for(var le=0;le<se.length;le++)ie[le]&&(ie[le].data[oe]=se[le])}return{series:ie,categories:ne}}function parseListContents(ee){for(var te=ee.split(/\n+/g),ae=trim$1(te.shift()),ne=[],ie=0;ie<te.length;ie++){var oe=trim$1(te[ie]);if(oe){var se=oe.split(itemSplitRegex),le="",ue=void 0,ce=!1;isNaN(se[0])?(ce=!0,le=se[0],se=se.slice(1),ne[ie]={name:le,value:[]},ue=ne[ie].value):ue=ne[ie]=[];for(var de=0;de<se.length;de++)ue.push(+se[de]);ue.length===1&&(ce?ne[ie].value=ue[0]:ne[ie]=ue[0])}}return{name:ae,data:ne}}function parseContents(ee,te){var ae=ee.split(new RegExp(`
-*`+BLOCK_SPLITER+`
-*`,"g")),ne={series:[]};return each$f(ae,function(ie,oe){if(isTSVFormat(ie)){var se=parseTSVContents(ie),le=te[oe],ue=le.axisDim+"Axis";le&&(ne[ue]=ne[ue]||[],ne[ue][le.axisIndex]={data:se.categories},ne.series=ne.series.concat(se.series))}else{var se=parseListContents(ie);ne.series.push(se)}}),ne}var DataView=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.onclick=function(ae,ne){setTimeout(function(){ne.dispatchAction({type:"hideTip"})});var ie=ne.getDom(),oe=this.model;this._dom&&ie.removeChild(this._dom);var se=document.createElement("div");se.style.cssText="position:absolute;top:0;bottom:0;left:0;right:0;padding:5px",se.style.backgroundColor=oe.get("backgroundColor")||"#fff";var le=document.createElement("h4"),ue=oe.get("lang")||[];le.innerHTML=ue[0]||oe.get("title"),le.style.cssText="margin:10px 20px",le.style.color=oe.get("textColor");var ce=document.createElement("div"),de=document.createElement("textarea");ce.style.cssText="overflow:auto";var he=oe.get("optionToContent"),fe=oe.get("contentToOption"),pe=getContentFromModel(ae);if(isFunction$1(he)){var ve=he(ne.getOption());isString$1(ve)?ce.innerHTML=ve:isDom(ve)&&ce.appendChild(ve)}else{de.readOnly=oe.get("readOnly");var ge=de.style;ge.cssText="display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none",ge.color=oe.get("textColor"),ge.borderColor=oe.get("textareaBorderColor"),ge.backgroundColor=oe.get("textareaColor"),de.value=pe.value,ce.appendChild(de)}var me=pe.meta,ye=document.createElement("div");ye.style.cssText="position:absolute;bottom:5px;left:0;right:0";var _e="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",be=document.createElement("div"),xe=document.createElement("div");_e+=";background-color:"+oe.get("buttonColor"),_e+=";color:"+oe.get("buttonTextColor");var $e=this;function Se(){ie.removeChild(se),$e._dom=null}addEventListener(be,"click",Se),addEventListener(xe,"click",function(){if(fe==null&&he!=null||fe!=null&&he==null){Se();return}var we;try{isFunction$1(fe)?we=fe(ce,ne.getOption()):we=parseContents(de.value,me)}catch(Ae){throw Se(),new Error("Data view format error "+Ae)}we&&ne.dispatchAction({type:"changeDataView",newOption:we}),Se()}),be.innerHTML=ue[1],xe.innerHTML=ue[2],xe.style.cssText=be.style.cssText=_e,!oe.get("readOnly")&&ye.appendChild(xe),ye.appendChild(be),se.appendChild(le),se.appendChild(ce),se.appendChild(ye),ce.style.height=ie.clientHeight-80+"px",ie.appendChild(se),this._dom=se},te.prototype.remove=function(ae,ne){this._dom&&ne.getDom().removeChild(this._dom)},te.prototype.dispose=function(ae,ne){this.remove(ae,ne)},te.getDefaultOption=function(ae){var ne={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:ae.getLocaleModel().get(["toolbox","dataView","title"]),lang:ae.getLocaleModel().get(["toolbox","dataView","lang"]),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"};return ne},te}(ToolboxFeature);function tryMergeDataOption(ee,te){return map$1(ee,function(ae,ne){var ie=te&&te[ne];if(isObject$4(ie)&&!isArray$2(ie)){var oe=isObject$4(ae)&&!isArray$2(ae);oe||(ae={value:ae});var se=ie.name!=null&&ae.name==null;return ae=defaults$2(ae,ie),se&&delete ae.name,ae}else return ae})}registerAction({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(ee,te){var ae=[];each$f(ee.newOption.series,function(ne){var ie=te.getSeriesByName(ne.name)[0];if(!ie)ae.push(extend$1({type:"scatter"},ne));else{var oe=ie.get("data");ae.push({name:ne.name,data:tryMergeDataOption(ne.data,oe)})}}),te.mergeOption(defaults$2({series:ae},ee.newOption))});const DataView$1=DataView;var each$6=each$f,inner$6=makeInner();function push(ee,te){var ae=getStoreSnapshots(ee);each$6(te,function(ne,ie){for(var oe=ae.length-1;oe>=0;oe--){var se=ae[oe];if(se[ie])break}if(oe<0){var le=ee.queryComponents({mainType:"dataZoom",subType:"select",id:ie})[0];if(le){var ue=le.getPercentRange();ae[0][ie]={dataZoomId:ie,start:ue[0],end:ue[1]}}}}),ae.push(te)}function pop(ee){var te=getStoreSnapshots(ee),ae=te[te.length-1];te.length>1&&te.pop();var ne={};return each$6(ae,function(ie,oe){for(var se=te.length-1;se>=0;se--)if(ie=te[se][oe],ie){ne[oe]=ie;break}}),ne}function clear(ee){inner$6(ee).snapshots=null}function count(ee){return getStoreSnapshots(ee).length}function getStoreSnapshots(ee){var te=inner$6(ee);return te.snapshots||(te.snapshots=[{}]),te.snapshots}var RestoreOption=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.onclick=function(ae,ne){clear(ae),ne.dispatchAction({type:"restore",from:this.uid})},te.getDefaultOption=function(ae){var ne={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:ae.getLocaleModel().get(["toolbox","restore","title"])};return ne},te}(ToolboxFeature);registerAction({type:"restore",event:"restore",update:"prepareAndUpdate"},function(ee,te){te.resetOption("recreate")});const Restore=RestoreOption;var INCLUDE_FINDER_MAIN_TYPES=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],BrushTargetManager=function(){function ee(te,ae,ne){var ie=this;this._targetInfoList=[];var oe=parseFinder(ae,te);each$f(targetInfoBuilders,function(se,le){(!ne||!ne.include||indexOf(ne.include,le)>=0)&&se(oe,ie._targetInfoList)})}return ee.prototype.setOutputRanges=function(te,ae){return this.matchOutputRanges(te,ae,function(ne,ie,oe){if((ne.coordRanges||(ne.coordRanges=[])).push(ie),!ne.coordRange){ne.coordRange=ie;var se=coordConvert[ne.brushType](0,oe,ie);ne.__rangeOffset={offset:diffProcessor[ne.brushType](se.values,ne.range,[1,1]),xyMinMax:se.xyMinMax}}}),te},ee.prototype.matchOutputRanges=function(te,ae,ne){each$f(te,function(ie){var oe=this.findTargetInfo(ie,ae);oe&&oe!==!0&&each$f(oe.coordSyses,function(se){var le=coordConvert[ie.brushType](1,se,ie.range,!0);ne(ie,le.values,se,ae)})},this)},ee.prototype.setInputRanges=function(te,ae){each$f(te,function(ne){var ie=this.findTargetInfo(ne,ae);if(ne.range=ne.range||[],ie&&ie!==!0){ne.panelId=ie.panelId;var oe=coordConvert[ne.brushType](0,ie.coordSys,ne.coordRange),se=ne.__rangeOffset;ne.range=se?diffProcessor[ne.brushType](oe.values,se.offset,getScales(oe.xyMinMax,se.xyMinMax)):oe.values}},this)},ee.prototype.makePanelOpts=function(te,ae){return map$1(this._targetInfoList,function(ne){var ie=ne.getPanelRect();return{panelId:ne.panelId,defaultBrushType:ae?ae(ne):null,clipPath:makeRectPanelClipPath(ie),isTargetByCursor:makeRectIsTargetByCursor(ie,te,ne.coordSysModel),getLinearBrushOtherExtent:makeLinearBrushOtherExtent(ie)}})},ee.prototype.controlSeries=function(te,ae,ne){var ie=this.findTargetInfo(te,ne);return ie===!0||ie&&indexOf(ie.coordSyses,ae.coordinateSystem)>=0},ee.prototype.findTargetInfo=function(te,ae){for(var ne=this._targetInfoList,ie=parseFinder(ae,te),oe=0;oe<ne.length;oe++){var se=ne[oe],le=te.panelId;if(le){if(se.panelId===le)return se}else for(var ue=0;ue<targetInfoMatchers.length;ue++)if(targetInfoMatchers[ue](ie,se))return se}return!0},ee}();function formatMinMax(ee){return ee[0]>ee[1]&&ee.reverse(),ee}function parseFinder(ee,te){return parseFinder$1(ee,te,{includeMainTypes:INCLUDE_FINDER_MAIN_TYPES})}var targetInfoBuilders={grid:function(ee,te){var ae=ee.xAxisModels,ne=ee.yAxisModels,ie=ee.gridModels,oe=createHashMap(),se={},le={};!ae&&!ne&&!ie||(each$f(ae,function(ue){var ce=ue.axis.grid.model;oe.set(ce.id,ce),se[ce.id]=!0}),each$f(ne,function(ue){var ce=ue.axis.grid.model;oe.set(ce.id,ce),le[ce.id]=!0}),each$f(ie,function(ue){oe.set(ue.id,ue),se[ue.id]=!0,le[ue.id]=!0}),oe.each(function(ue){var ce=ue.coordinateSystem,de=[];each$f(ce.getCartesians(),function(he,fe){(indexOf(ae,he.getAxis("x").model)>=0||indexOf(ne,he.getAxis("y").model)>=0)&&de.push(he)}),te.push({panelId:"grid--"+ue.id,gridModel:ue,coordSysModel:ue,coordSys:de[0],coordSyses:de,getPanelRect:panelRectBuilders.grid,xAxisDeclared:se[ue.id],yAxisDeclared:le[ue.id]})}))},geo:function(ee,te){each$f(ee.geoModels,function(ae){var ne=ae.coordinateSystem;te.push({panelId:"geo--"+ae.id,geoModel:ae,coordSysModel:ae,coordSys:ne,coordSyses:[ne],getPanelRect:panelRectBuilders.geo})})}},targetInfoMatchers=[function(ee,te){var ae=ee.xAxisModel,ne=ee.yAxisModel,ie=ee.gridModel;return!ie&&ae&&(ie=ae.axis.grid.model),!ie&&ne&&(ie=ne.axis.grid.model),ie&&ie===te.gridModel},function(ee,te){var ae=ee.geoModel;return ae&&ae===te.geoModel}],panelRectBuilders={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var ee=this.coordSys,te=ee.getBoundingRect().clone();return te.applyTransform(getTransform$1(ee)),te}},coordConvert={lineX:curry$1(axisConvert,0),lineY:curry$1(axisConvert,1),rect:function(ee,te,ae,ne){var ie=ee?te.pointToData([ae[0][0],ae[1][0]],ne):te.dataToPoint([ae[0][0],ae[1][0]],ne),oe=ee?te.pointToData([ae[0][1],ae[1][1]],ne):te.dataToPoint([ae[0][1],ae[1][1]],ne),se=[formatMinMax([ie[0],oe[0]]),formatMinMax([ie[1],oe[1]])];return{values:se,xyMinMax:se}},polygon:function(ee,te,ae,ne){var ie=[[1/0,-1/0],[1/0,-1/0]],oe=map$1(ae,function(se){var le=ee?te.pointToData(se,ne):te.dataToPoint(se,ne);return ie[0][0]=Math.min(ie[0][0],le[0]),ie[1][0]=Math.min(ie[1][0],le[1]),ie[0][1]=Math.max(ie[0][1],le[0]),ie[1][1]=Math.max(ie[1][1],le[1]),le});return{values:oe,xyMinMax:ie}}};function axisConvert(ee,te,ae,ne){var ie=ae.getAxis(["x","y"][ee]),oe=formatMinMax(map$1([0,1],function(le){return te?ie.coordToData(ie.toLocalCoord(ne[le]),!0):ie.toGlobalCoord(ie.dataToCoord(ne[le]))})),se=[];return se[ee]=oe,se[1-ee]=[NaN,NaN],{values:oe,xyMinMax:se}}var diffProcessor={lineX:curry$1(axisDiffProcessor,0),lineY:curry$1(axisDiffProcessor,1),rect:function(ee,te,ae){return[[ee[0][0]-ae[0]*te[0][0],ee[0][1]-ae[0]*te[0][1]],[ee[1][0]-ae[1]*te[1][0],ee[1][1]-ae[1]*te[1][1]]]},polygon:function(ee,te,ae){return map$1(ee,function(ne,ie){return[ne[0]-ae[0]*te[ie][0],ne[1]-ae[1]*te[ie][1]]})}};function axisDiffProcessor(ee,te,ae,ne){return[te[0]-ne[ee]*ae[0],te[1]-ne[ee]*ae[1]]}function getScales(ee,te){var ae=getSize(ee),ne=getSize(te),ie=[ae[0]/ne[0],ae[1]/ne[1]];return isNaN(ie[0])&&(ie[0]=1),isNaN(ie[1])&&(ie[1]=1),ie}function getSize(ee){return ee?[ee[0][1]-ee[0][0],ee[1][1]-ee[1][0]]:[NaN,NaN]}const BrushTargetManager$1=BrushTargetManager;var each$5=each$f,DATA_ZOOM_ID_BASE=makeInternalComponentId("toolbox-dataZoom_"),DataZoomFeature=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.render=function(ae,ne,ie,oe){this._brushController||(this._brushController=new BrushController$1(ie.getZr()),this._brushController.on("brush",bind$2(this._onBrush,this)).mount()),updateZoomBtnStatus(ae,ne,this,oe,ie),updateBackBtnStatus(ae,ne)},te.prototype.onclick=function(ae,ne,ie){handlers[ie].call(this)},te.prototype.remove=function(ae,ne){this._brushController&&this._brushController.unmount()},te.prototype.dispose=function(ae,ne){this._brushController&&this._brushController.dispose()},te.prototype._onBrush=function(ae){var ne=ae.areas;if(!ae.isEnd||!ne.length)return;var ie={},oe=this.ecModel;this._brushController.updateCovers([]);var se=new BrushTargetManager$1(makeAxisFinder(this.model),oe,{include:["grid"]});se.matchOutputRanges(ne,oe,function(ce,de,he){if(he.type==="cartesian2d"){var fe=ce.brushType;fe==="rect"?(le("x",he,de[0]),le("y",he,de[1])):le({lineX:"x",lineY:"y"}[fe],he,de)}}),push(oe,ie),this._dispatchZoomAction(ie);function le(ce,de,he){var fe=de.getAxis(ce),pe=fe.model,ve=ue(ce,pe,oe),ge=ve.findRepresentativeAxisProxy(pe).getMinMaxSpan();(ge.minValueSpan!=null||ge.maxValueSpan!=null)&&(he=sliderMove(0,he.slice(),fe.scale.getExtent(),0,ge.minValueSpan,ge.maxValueSpan)),ve&&(ie[ve.id]={dataZoomId:ve.id,startValue:he[0],endValue:he[1]})}function ue(ce,de,he){var fe;return he.eachComponent({mainType:"dataZoom",subType:"select"},function(pe){var ve=pe.getAxisModel(ce,de.componentIndex);ve&&(fe=pe)}),fe}},te.prototype._dispatchZoomAction=function(ae){var ne=[];each$5(ae,function(ie,oe){ne.push(clone$4(ie))}),ne.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:ne})},te.getDefaultOption=function(ae){var ne={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:ae.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return ne},te}(ToolboxFeature),handlers={zoom:function(){var ee=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:ee})},back:function(){this._dispatchZoomAction(pop(this.ecModel))}};function makeAxisFinder(ee){var te={xAxisIndex:ee.get("xAxisIndex",!0),yAxisIndex:ee.get("yAxisIndex",!0),xAxisId:ee.get("xAxisId",!0),yAxisId:ee.get("yAxisId",!0)};return te.xAxisIndex==null&&te.xAxisId==null&&(te.xAxisIndex="all"),te.yAxisIndex==null&&te.yAxisId==null&&(te.yAxisIndex="all"),te}function updateBackBtnStatus(ee,te){ee.setIconStatus("back",count(te)>1?"emphasis":"normal")}function updateZoomBtnStatus(ee,te,ae,ne,ie){var oe=ae._isZoomActive;ne&&ne.type==="takeGlobalCursor"&&(oe=ne.key==="dataZoomSelect"?ne.dataZoomSelectActive:!1),ae._isZoomActive=oe,ee.setIconStatus("zoom",oe?"emphasis":"normal");var se=new BrushTargetManager$1(makeAxisFinder(ee),te,{include:["grid"]}),le=se.makePanelOpts(ie,function(ue){return ue.xAxisDeclared&&!ue.yAxisDeclared?"lineX":!ue.xAxisDeclared&&ue.yAxisDeclared?"lineY":"rect"});ae._brushController.setPanels(le).enableBrush(oe&&le.length?{brushType:"auto",brushStyle:ee.getModel("brushStyle").getItemStyle()}:!1)}registerInternalOptionCreator("dataZoom",function(ee){var te=ee.getComponent("toolbox",0),ae=["feature","dataZoom"];if(!te||te.get(ae)==null)return;var ne=te.getModel(ae),ie=[],oe=makeAxisFinder(ne),se=parseFinder$1(ee,oe);each$5(se.xAxisModels,function(ue){return le(ue,"xAxis","xAxisIndex")}),each$5(se.yAxisModels,function(ue){return le(ue,"yAxis","yAxisIndex")});function le(ue,ce,de){var he=ue.componentIndex,fe={type:"select",$fromToolbox:!0,filterMode:ne.get("filterMode",!0)||"filter",id:DATA_ZOOM_ID_BASE+ce+he};fe[de]=he,ie.push(fe)}return ie});const DataZoom=DataZoomFeature;function install$j(ee){ee.registerComponentModel(ToolboxModel$1),ee.registerComponentView(ToolboxView$1),registerFeature("saveAsImage",SaveAsImage$1),registerFeature("magicType",MagicType$1),registerFeature("dataView",DataView$1),registerFeature("dataZoom",DataZoom),registerFeature("restore",Restore),use(install$k)}var TooltipModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="tooltip",te.dependencies=["axisPointer"],te.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},te}(ComponentModel$1);const TooltipModel$1=TooltipModel;function shouldTooltipConfine(ee){var te=ee.get("confine");return te!=null?!!te:ee.get("renderMode")==="richText"}function testStyle(ee){if(env$1.domSupported){for(var te=document.documentElement.style,ae=0,ne=ee.length;ae<ne;ae++)if(ee[ae]in te)return ee[ae]}}var TRANSFORM_VENDOR=testStyle(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),TRANSITION_VENDOR=testStyle(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);function toCSSVendorPrefix(ee,te){if(!ee)return te;te=toCamelCase$1(te,!0);var ae=ee.indexOf(te);return ee=ae===-1?te:"-"+ee.slice(0,ae)+"-"+te,ee.toLowerCase()}function getComputedStyle$1(ee,te){var ae=ee.currentStyle||document.defaultView&&document.defaultView.getComputedStyle(ee);return ae?te?ae[te]:ae:null}var CSS_TRANSITION_VENDOR=toCSSVendorPrefix(TRANSITION_VENDOR,"transition"),CSS_TRANSFORM_VENDOR=toCSSVendorPrefix(TRANSFORM_VENDOR,"transform"),gCssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+(env$1.transform3dSupported?"will-change:transform;":"");function mirrorPos(ee){return ee=ee==="left"?"right":ee==="right"?"left":ee==="top"?"bottom":"top",ee}function assembleArrow(ee,te,ae){if(!isString$1(ae)||ae==="inside")return"";var ne=ee.get("backgroundColor"),ie=ee.get("borderWidth");te=convertToColorString(te);var oe=mirrorPos(ae),se=Math.max(Math.round(ie)*1.5,6),le="",ue=CSS_TRANSFORM_VENDOR+":",ce;indexOf(["left","right"],oe)>-1?(le+="top:50%",ue+="translateY(-50%) rotate("+(ce=oe==="left"?-225:-45)+"deg)"):(le+="left:50%",ue+="translateX(-50%) rotate("+(ce=oe==="top"?225:45)+"deg)");var de=ce*Math.PI/180,he=se+ie,fe=he*Math.abs(Math.cos(de))+he*Math.abs(Math.sin(de)),pe=Math.round(((fe-Math.SQRT2*ie)/2+Math.SQRT2*ie-(fe-he)/2)*100)/100;le+=";"+oe+":-"+pe+"px";var ve=te+" solid "+ie+"px;",ge=["position:absolute;width:"+se+"px;height:"+se+"px;z-index:-1;",le+";"+ue+";","border-bottom:"+ve,"border-right:"+ve,"background-color:"+ne+";"];return'<div style="'+ge.join("")+'"></div>'}function assembleTransition(ee,te){var ae="cubic-bezier(0.23,1,0.32,1)",ne=" "+ee/2+"s "+ae,ie="opacity"+ne+",visibility"+ne;return te||(ne=" "+ee+"s "+ae,ie+=env$1.transformSupported?","+CSS_TRANSFORM_VENDOR+ne:",left"+ne+",top"+ne),CSS_TRANSITION_VENDOR+":"+ie}function assembleTransform(ee,te,ae){var ne=ee.toFixed(0)+"px",ie=te.toFixed(0)+"px";if(!env$1.transformSupported)return ae?"top:"+ie+";left:"+ne+";":[["top",ie],["left",ne]];var oe=env$1.transform3dSupported,se="translate"+(oe?"3d":"")+"("+ne+","+ie+(oe?",0":"")+")";return ae?"top:0;left:0;"+CSS_TRANSFORM_VENDOR+":"+se+";":[["top",0],["left",0],[TRANSFORM_VENDOR,se]]}function assembleFont(ee){var te=[],ae=ee.get("fontSize"),ne=ee.getTextColor();ne&&te.push("color:"+ne),te.push("font:"+ee.getFont()),ae&&te.push("line-height:"+Math.round(ae*3/2)+"px");var ie=ee.get("textShadowColor"),oe=ee.get("textShadowBlur")||0,se=ee.get("textShadowOffsetX")||0,le=ee.get("textShadowOffsetY")||0;return ie&&oe&&te.push("text-shadow:"+se+"px "+le+"px "+oe+"px "+ie),each$f(["decoration","align"],function(ue){var ce=ee.get(ue);ce&&te.push("text-"+ue+":"+ce)}),te.join(";")}function assembleCssText(ee,te,ae){var ne=[],ie=ee.get("transitionDuration"),oe=ee.get("backgroundColor"),se=ee.get("shadowBlur"),le=ee.get("shadowColor"),ue=ee.get("shadowOffsetX"),ce=ee.get("shadowOffsetY"),de=ee.getModel("textStyle"),he=getPaddingFromTooltipModel(ee,"html"),fe=ue+"px "+ce+"px "+se+"px "+le;return ne.push("box-shadow:"+fe),te&&ie&&ne.push(assembleTransition(ie,ae)),oe&&ne.push("background-color:"+oe),each$f(["width","color","radius"],function(pe){var ve="border-"+pe,ge=toCamelCase$1(ve),me=ee.get(ge);me!=null&&ne.push(ve+":"+me+(pe==="color"?"":"px"))}),ne.push(assembleFont(de)),he!=null&&ne.push("padding:"+normalizeCssArray(he).join("px ")+"px"),ne.join(";")+";"}function makeStyleCoord$1(ee,te,ae,ne,ie){var oe=te&&te.painter;if(ae){var se=oe&&oe.getViewportRoot();se&&transformLocalCoord(ee,se,document.body,ne,ie)}else{ee[0]=ne,ee[1]=ie;var le=oe&&oe.getViewportRootOffset();le&&(ee[0]+=le.offsetLeft,ee[1]+=le.offsetTop)}ee[2]=ee[0]/te.getWidth(),ee[3]=ee[1]/te.getHeight()}var TooltipHTMLContent=function(){function ee(te,ae,ne){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,env$1.wxa)return null;var ie=document.createElement("div");ie.domBelongToZr=!0,this.el=ie;var oe=this._zr=ae.getZr(),se=this._appendToBody=ne&&ne.appendToBody;makeStyleCoord$1(this._styleCoord,oe,se,ae.getWidth()/2,ae.getHeight()/2),se?document.body.appendChild(ie):te.appendChild(ie),this._container=te;var le=this;ie.onmouseenter=function(){le._enterable&&(clearTimeout(le._hideTimeout),le._show=!0),le._inContent=!0},ie.onmousemove=function(ue){if(ue=ue||window.event,!le._enterable){var ce=oe.handler,de=oe.painter.getViewportRoot();normalizeEvent(de,ue,!0),ce.dispatch("mousemove",ue)}},ie.onmouseleave=function(){le._inContent=!1,le._enterable&&le._show&&le.hideLater(le._hideDelay)}}return ee.prototype.update=function(te){var ae=this._container,ne=getComputedStyle$1(ae,"position"),ie=ae.style;ie.position!=="absolute"&&ne!=="absolute"&&(ie.position="relative");var oe=te.get("alwaysShowContent");oe&&this._moveIfResized(),this._alwaysShowContent=oe,this.el.className=te.get("className")||""},ee.prototype.show=function(te,ae){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var ne=this.el,ie=ne.style,oe=this._styleCoord;ne.innerHTML?ie.cssText=gCssText+assembleCssText(te,!this._firstShow,this._longHide)+assembleTransform(oe[0],oe[1],!0)+("border-color:"+convertToColorString(ae)+";")+(te.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):ie.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},ee.prototype.setContent=function(te,ae,ne,ie,oe){var se=this.el;if(te==null){se.innerHTML="";return}var le="";if(isString$1(oe)&&ne.get("trigger")==="item"&&!shouldTooltipConfine(ne)&&(le=assembleArrow(ne,ie,oe)),isString$1(te))se.innerHTML=te+le;else if(te){se.innerHTML="",isArray$2(te)||(te=[te]);for(var ue=0;ue<te.length;ue++)isDom(te[ue])&&te[ue].parentNode!==se&&se.appendChild(te[ue]);if(le&&se.childNodes.length){var ce=document.createElement("div");ce.innerHTML=le,se.appendChild(ce)}}},ee.prototype.setEnterable=function(te){this._enterable=te},ee.prototype.getSize=function(){var te=this.el;return[te.offsetWidth,te.offsetHeight]},ee.prototype.moveTo=function(te,ae){var ne=this._styleCoord;if(makeStyleCoord$1(ne,this._zr,this._appendToBody,te,ae),ne[0]!=null&&ne[1]!=null){var ie=this.el.style,oe=assembleTransform(ne[0],ne[1]);each$f(oe,function(se){ie[se[0]]=se[1]})}},ee.prototype._moveIfResized=function(){var te=this._styleCoord[2],ae=this._styleCoord[3];this.moveTo(te*this._zr.getWidth(),ae*this._zr.getHeight())},ee.prototype.hide=function(){var te=this,ae=this.el.style;ae.visibility="hidden",ae.opacity="0",env$1.transform3dSupported&&(ae.willChange=""),this._show=!1,this._longHideTimeout=setTimeout(function(){return te._longHide=!0},500)},ee.prototype.hideLater=function(te){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(te?(this._hideDelay=te,this._show=!1,this._hideTimeout=setTimeout(bind$2(this.hide,this),te)):this.hide())},ee.prototype.isShow=function(){return this._show},ee.prototype.dispose=function(){this.el.parentNode.removeChild(this.el)},ee}();const TooltipHTMLContent$1=TooltipHTMLContent;var TooltipRichContent=function(){function ee(te){this._show=!1,this._styleCoord=[0,0,0,0],this._alwaysShowContent=!1,this._enterable=!0,this._zr=te.getZr(),makeStyleCoord(this._styleCoord,this._zr,te.getWidth()/2,te.getHeight()/2)}return ee.prototype.update=function(te){var ae=te.get("alwaysShowContent");ae&&this._moveIfResized(),this._alwaysShowContent=ae},ee.prototype.show=function(){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.show(),this._show=!0},ee.prototype.setContent=function(te,ae,ne,ie,oe){var se=this;isObject$4(te)&&throwError(""),this.el&&this._zr.remove(this.el);var le=ne.getModel("textStyle");this.el=new ZRText$1({style:{rich:ae.richTextStyles,text:te,lineHeight:22,borderWidth:1,borderColor:ie,textShadowColor:le.get("textShadowColor"),fill:ne.get(["textStyle","color"]),padding:getPaddingFromTooltipModel(ne,"richText"),verticalAlign:"top",align:"left"},z:ne.get("z")}),each$f(["backgroundColor","borderRadius","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"],function(ce){se.el.style[ce]=ne.get(ce)}),each$f(["textShadowBlur","textShadowOffsetX","textShadowOffsetY"],function(ce){se.el.style[ce]=le.get(ce)||0}),this._zr.add(this.el);var ue=this;this.el.on("mouseover",function(){ue._enterable&&(clearTimeout(ue._hideTimeout),ue._show=!0),ue._inContent=!0}),this.el.on("mouseout",function(){ue._enterable&&ue._show&&ue.hideLater(ue._hideDelay),ue._inContent=!1})},ee.prototype.setEnterable=function(te){this._enterable=te},ee.prototype.getSize=function(){var te=this.el,ae=this.el.getBoundingRect(),ne=calcShadowOuterSize(te.style);return[ae.width+ne.left+ne.right,ae.height+ne.top+ne.bottom]},ee.prototype.moveTo=function(te,ae){var ne=this.el;if(ne){var ie=this._styleCoord;makeStyleCoord(ie,this._zr,te,ae),te=ie[0],ae=ie[1];var oe=ne.style,se=mathMaxWith0(oe.borderWidth||0),le=calcShadowOuterSize(oe);ne.x=te+se+le.left,ne.y=ae+se+le.top,ne.markRedraw()}},ee.prototype._moveIfResized=function(){var te=this._styleCoord[2],ae=this._styleCoord[3];this.moveTo(te*this._zr.getWidth(),ae*this._zr.getHeight())},ee.prototype.hide=function(){this.el&&this.el.hide(),this._show=!1},ee.prototype.hideLater=function(te){this._show&&!(this._inContent&&this._enterable)&&!this._alwaysShowContent&&(te?(this._hideDelay=te,this._show=!1,this._hideTimeout=setTimeout(bind$2(this.hide,this),te)):this.hide())},ee.prototype.isShow=function(){return this._show},ee.prototype.dispose=function(){this._zr.remove(this.el)},ee}();function mathMaxWith0(ee){return Math.max(0,ee)}function calcShadowOuterSize(ee){var te=mathMaxWith0(ee.shadowBlur||0),ae=mathMaxWith0(ee.shadowOffsetX||0),ne=mathMaxWith0(ee.shadowOffsetY||0);return{left:mathMaxWith0(te-ae),right:mathMaxWith0(te+ae),top:mathMaxWith0(te-ne),bottom:mathMaxWith0(te+ne)}}function makeStyleCoord(ee,te,ae,ne){ee[0]=ae,ee[1]=ne,ee[2]=ee[0]/te.getWidth(),ee[3]=ee[1]/te.getHeight()}const TooltipRichContent$1=TooltipRichContent;var proxyRect=new Rect$3({shape:{x:-1,y:-1,width:2,height:2}}),TooltipView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne){if(!(env$1.node||!ne.getDom())){var ie=ae.getComponent("tooltip"),oe=this._renderMode=getTooltipRenderMode(ie.get("renderMode"));this._tooltipContent=oe==="richText"?new TooltipRichContent$1(ne):new TooltipHTMLContent$1(ne.getDom(),ne,{appendToBody:ie.get("appendToBody",!0)})}},te.prototype.render=function(ae,ne,ie){if(!(env$1.node||!ie.getDom())){this.group.removeAll(),this._tooltipModel=ae,this._ecModel=ne,this._api=ie;var oe=this._tooltipContent;oe.update(ae),oe.setEnterable(ae.get("enterable")),this._initGlobalListener(),this._keepShow(),this._renderMode!=="richText"&&ae.get("transitionDuration")?createOrUpdate(this,"_updatePosition",50,"fixRate"):clear$1(this,"_updatePosition")}},te.prototype._initGlobalListener=function(){var ae=this._tooltipModel,ne=ae.get("triggerOn");register("itemTooltip",this._api,bind$2(function(ie,oe,se){ne!=="none"&&(ne.indexOf(ie)>=0?this._tryShow(oe,se):ie==="leave"&&this._hide(se))},this))},te.prototype._keepShow=function(){var ae=this._tooltipModel,ne=this._ecModel,ie=this._api,oe=ae.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&oe!=="none"&&oe!=="click"){var se=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!ie.isDisposed()&&se.manuallyShowTip(ae,ne,ie,{x:se._lastX,y:se._lastY,dataByCoordSys:se._lastDataByCoordSys})})}},te.prototype.manuallyShowTip=function(ae,ne,ie,oe){if(!(oe.from===this.uid||env$1.node||!ie.getDom())){var se=makeDispatchAction(oe,ie);this._ticket="";var le=oe.dataByCoordSys,ue=findComponentReference(oe,ne,ie);if(ue){var ce=ue.el.getBoundingRect().clone();ce.applyTransform(ue.el.transform),this._tryShow({offsetX:ce.x+ce.width/2,offsetY:ce.y+ce.height/2,target:ue.el,position:oe.position,positionDefault:"bottom"},se)}else if(oe.tooltip&&oe.x!=null&&oe.y!=null){var de=proxyRect;de.x=oe.x,de.y=oe.y,de.update(),getECData(de).tooltipConfig={name:null,option:oe.tooltip},this._tryShow({offsetX:oe.x,offsetY:oe.y,target:de},se)}else if(le)this._tryShow({offsetX:oe.x,offsetY:oe.y,position:oe.position,dataByCoordSys:le,tooltipOption:oe.tooltipOption},se);else if(oe.seriesIndex!=null){if(this._manuallyAxisShowTip(ae,ne,ie,oe))return;var he=findPointFromSeries(oe,ne),fe=he.point[0],pe=he.point[1];fe!=null&&pe!=null&&this._tryShow({offsetX:fe,offsetY:pe,target:he.el,position:oe.position,positionDefault:"bottom"},se)}else oe.x!=null&&oe.y!=null&&(ie.dispatchAction({type:"updateAxisPointer",x:oe.x,y:oe.y}),this._tryShow({offsetX:oe.x,offsetY:oe.y,position:oe.position,target:ie.getZr().findHover(oe.x,oe.y).target},se))}},te.prototype.manuallyHideTip=function(ae,ne,ie,oe){var se=this._tooltipContent;this._tooltipModel&&se.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,oe.from!==this.uid&&this._hide(makeDispatchAction(oe,ie))},te.prototype._manuallyAxisShowTip=function(ae,ne,ie,oe){var se=oe.seriesIndex,le=oe.dataIndex,ue=ne.getComponent("axisPointer").coordSysAxesInfo;if(!(se==null||le==null||ue==null)){var ce=ne.getSeriesByIndex(se);if(ce){var de=ce.getData(),he=buildTooltipModel([de.getItemModel(le),ce,(ce.coordinateSystem||{}).model],this._tooltipModel);if(he.get("trigger")==="axis")return ie.dispatchAction({type:"updateAxisPointer",seriesIndex:se,dataIndex:le,position:oe.position}),!0}}},te.prototype._tryShow=function(ae,ne){var ie=ae.target,oe=this._tooltipModel;if(oe){this._lastX=ae.offsetX,this._lastY=ae.offsetY;var se=ae.dataByCoordSys;if(se&&se.length)this._showAxisTooltip(se,ae);else if(ie){this._lastDataByCoordSys=null;var le,ue;findEventDispatcher(ie,function(ce){if(getECData(ce).dataIndex!=null)return le=ce,!0;if(getECData(ce).tooltipConfig!=null)return ue=ce,!0},!0),le?this._showSeriesItemTooltip(ae,le,ne):ue?this._showComponentItemTooltip(ae,ue,ne):this._hide(ne)}else this._lastDataByCoordSys=null,this._hide(ne)}},te.prototype._showOrMove=function(ae,ne){var ie=ae.get("showDelay");ne=bind$2(ne,this),clearTimeout(this._showTimout),ie>0?this._showTimout=setTimeout(ne,ie):ne()},te.prototype._showAxisTooltip=function(ae,ne){var ie=this._ecModel,oe=this._tooltipModel,se=[ne.offsetX,ne.offsetY],le=buildTooltipModel([ne.tooltipOption],oe),ue=this._renderMode,ce=[],de=createTooltipMarkup("section",{blocks:[],noHeader:!0}),he=[],fe=new TooltipMarkupStyleCreator;each$f(ae,function(_e){each$f(_e.dataByAxis,function(be){var xe=ie.getComponent(be.axisDim+"Axis",be.axisIndex),$e=be.value;if(!(!xe||$e==null)){var Se=getValueLabel($e,xe.axis,ie,be.seriesDataIndices,be.valueLabelOpt),we=createTooltipMarkup("section",{header:Se,noHeader:!trim$2(Se),sortBlocks:!0,blocks:[]});de.blocks.push(we),each$f(be.seriesDataIndices,function(Ae){var Te=ie.getSeriesByIndex(Ae.seriesIndex),De=Ae.dataIndexInside,Me=Te.getDataParams(De);if(!(Me.dataIndex<0)){Me.axisDim=be.axisDim,Me.axisIndex=be.axisIndex,Me.axisType=be.axisType,Me.axisId=be.axisId,Me.axisValue=getAxisRawValue(xe.axis,{value:$e}),Me.axisValueLabel=Se,Me.marker=fe.makeTooltipMarker("item",convertToColorString(Me.color),ue);var Ie=normalizeTooltipFormatResult(Te.formatTooltip(De,!0,null)),Ce=Ie.frag;if(Ce){var Ee=buildTooltipModel([Te],oe).get("valueFormatter");we.blocks.push(Ee?extend$1({valueFormatter:Ee},Ce):Ce)}Ie.text&&he.push(Ie.text),ce.push(Me)}})}})}),de.blocks.reverse(),he.reverse();var pe=ne.position,ve=le.get("order"),ge=buildTooltipMarkup(de,fe,ue,ve,ie.get("useUTC"),le.get("textStyle"));ge&&he.unshift(ge);var me=ue==="richText"?`
-
-`:"<br/>",ye=he.join(me);this._showOrMove(le,function(){this._updateContentNotChangedOnAxis(ae,ce)?this._updatePosition(le,pe,se[0],se[1],this._tooltipContent,ce):this._showTooltipContent(le,ye,ce,Math.random()+"",se[0],se[1],pe,null,fe)})},te.prototype._showSeriesItemTooltip=function(ae,ne,ie){var oe=this._ecModel,se=getECData(ne),le=se.seriesIndex,ue=oe.getSeriesByIndex(le),ce=se.dataModel||ue,de=se.dataIndex,he=se.dataType,fe=ce.getData(he),pe=this._renderMode,ve=ae.positionDefault,ge=buildTooltipModel([fe.getItemModel(de),ce,ue&&(ue.coordinateSystem||{}).model],this._tooltipModel,ve?{position:ve}:null),me=ge.get("trigger");if(!(me!=null&&me!=="item")){var ye=ce.getDataParams(de,he),_e=new TooltipMarkupStyleCreator;ye.marker=_e.makeTooltipMarker("item",convertToColorString(ye.color),pe);var be=normalizeTooltipFormatResult(ce.formatTooltip(de,!1,he)),xe=ge.get("order"),$e=ge.get("valueFormatter"),Se=be.frag,we=Se?buildTooltipMarkup($e?extend$1({valueFormatter:$e},Se):Se,_e,pe,xe,oe.get("useUTC"),ge.get("textStyle")):be.text,Ae="item_"+ce.name+"_"+de;this._showOrMove(ge,function(){this._showTooltipContent(ge,we,ye,Ae,ae.offsetX,ae.offsetY,ae.position,ae.target,_e)}),ie({type:"showTip",dataIndexInside:de,dataIndex:fe.getRawIndex(de),seriesIndex:le,from:this.uid})}},te.prototype._showComponentItemTooltip=function(ae,ne,ie){var oe=getECData(ne),se=oe.tooltipConfig,le=se.option||{};if(isString$1(le)){var ue=le;le={content:ue,formatter:ue}}var ce=[le],de=this._ecModel.getComponent(oe.componentMainType,oe.componentIndex);de&&ce.push(de),ce.push({formatter:le.content});var he=ae.positionDefault,fe=buildTooltipModel(ce,this._tooltipModel,he?{position:he}:null),pe=fe.get("content"),ve=Math.random()+"",ge=new TooltipMarkupStyleCreator;this._showOrMove(fe,function(){var me=clone$4(fe.get("formatterParams")||{});this._showTooltipContent(fe,pe,me,ve,ae.offsetX,ae.offsetY,ae.position,ne,ge)}),ie({type:"showTip",from:this.uid})},te.prototype._showTooltipContent=function(ae,ne,ie,oe,se,le,ue,ce,de){if(this._ticket="",!(!ae.get("showContent")||!ae.get("show"))){var he=this._tooltipContent;he.setEnterable(ae.get("enterable"));var fe=ae.get("formatter");ue=ue||ae.get("position");var pe=ne,ve=this._getNearestPoint([se,le],ie,ae.get("trigger"),ae.get("borderColor")),ge=ve.color;if(fe)if(isString$1(fe)){var me=ae.ecModel.get("useUTC"),ye=isArray$2(ie)?ie[0]:ie,_e=ye&&ye.axisType&&ye.axisType.indexOf("time")>=0;pe=fe,_e&&(pe=format$1(ye.axisValue,pe,me)),pe=formatTpl(pe,ie,!0)}else if(isFunction$1(fe)){var be=bind$2(function(xe,$e){xe===this._ticket&&(he.setContent($e,de,ae,ge,ue),this._updatePosition(ae,ue,se,le,he,ie,ce))},this);this._ticket=oe,pe=fe(ie,oe,be)}else pe=fe;he.setContent(pe,de,ae,ge,ue),he.show(ae,ge),this._updatePosition(ae,ue,se,le,he,ie,ce)}},te.prototype._getNearestPoint=function(ae,ne,ie,oe){if(ie==="axis"||isArray$2(ne))return{color:oe||(this._renderMode==="html"?"#fff":"none")};if(!isArray$2(ne))return{color:oe||ne.color||ne.borderColor}},te.prototype._updatePosition=function(ae,ne,ie,oe,se,le,ue){var ce=this._api.getWidth(),de=this._api.getHeight();ne=ne||ae.get("position");var he=se.getSize(),fe=ae.get("align"),pe=ae.get("verticalAlign"),ve=ue&&ue.getBoundingRect().clone();if(ue&&ve.applyTransform(ue.transform),isFunction$1(ne)&&(ne=ne([ie,oe],le,se.el,ve,{viewSize:[ce,de],contentSize:he.slice()})),isArray$2(ne))ie=parsePercent(ne[0],ce),oe=parsePercent(ne[1],de);else if(isObject$4(ne)){var ge=ne;ge.width=he[0],ge.height=he[1];var me=getLayoutRect(ge,{width:ce,height:de});ie=me.x,oe=me.y,fe=null,pe=null}else if(isString$1(ne)&&ue){var ye=calcTooltipPosition(ne,ve,he,ae.get("borderWidth"));ie=ye[0],oe=ye[1]}else{var ye=refixTooltipPosition(ie,oe,se,ce,de,fe?null:20,pe?null:20);ie=ye[0],oe=ye[1]}if(fe&&(ie-=isCenterAlign(fe)?he[0]/2:fe==="right"?he[0]:0),pe&&(oe-=isCenterAlign(pe)?he[1]/2:pe==="bottom"?he[1]:0),shouldTooltipConfine(ae)){var ye=confineTooltipPosition(ie,oe,se,ce,de);ie=ye[0],oe=ye[1]}se.moveTo(ie,oe)},te.prototype._updateContentNotChangedOnAxis=function(ae,ne){var ie=this._lastDataByCoordSys,oe=this._cbParamsList,se=!!ie&&ie.length===ae.length;return se&&each$f(ie,function(le,ue){var ce=le.dataByAxis||[],de=ae[ue]||{},he=de.dataByAxis||[];se=se&&ce.length===he.length,se&&each$f(ce,function(fe,pe){var ve=he[pe]||{},ge=fe.seriesDataIndices||[],me=ve.seriesDataIndices||[];se=se&&fe.value===ve.value&&fe.axisType===ve.axisType&&fe.axisId===ve.axisId&&ge.length===me.length,se&&each$f(ge,function(ye,_e){var be=me[_e];se=se&&ye.seriesIndex===be.seriesIndex&&ye.dataIndex===be.dataIndex}),oe&&each$f(fe.seriesDataIndices,function(ye){var _e=ye.seriesIndex,be=ne[_e],xe=oe[_e];be&&xe&&xe.data!==be.data&&(se=!1)})})}),this._lastDataByCoordSys=ae,this._cbParamsList=ne,!!se},te.prototype._hide=function(ae){this._lastDataByCoordSys=null,ae({type:"hideTip",from:this.uid})},te.prototype.dispose=function(ae,ne){env$1.node||!ne.getDom()||(clear$1(this,"_updatePosition"),this._tooltipContent.dispose(),unregister("itemTooltip",ne))},te.type="tooltip",te}(ComponentView$1);function buildTooltipModel(ee,te,ae){var ne=te.ecModel,ie;ae?(ie=new Model$1(ae,ne,ne),ie=new Model$1(te.option,ie,ne)):ie=te;for(var oe=ee.length-1;oe>=0;oe--){var se=ee[oe];se&&(se instanceof Model$1&&(se=se.get("tooltip",!0)),isString$1(se)&&(se={formatter:se}),se&&(ie=new Model$1(se,ie,ne)))}return ie}function makeDispatchAction(ee,te){return ee.dispatchAction||bind$2(te.dispatchAction,te)}function refixTooltipPosition(ee,te,ae,ne,ie,oe,se){var le=ae.getSize(),ue=le[0],ce=le[1];return oe!=null&&(ee+ue+oe+2>ne?ee-=ue+oe:ee+=oe),se!=null&&(te+ce+se>ie?te-=ce+se:te+=se),[ee,te]}function confineTooltipPosition(ee,te,ae,ne,ie){var oe=ae.getSize(),se=oe[0],le=oe[1];return ee=Math.min(ee+se,ne)-se,te=Math.min(te+le,ie)-le,ee=Math.max(ee,0),te=Math.max(te,0),[ee,te]}function calcTooltipPosition(ee,te,ae,ne){var ie=ae[0],oe=ae[1],se=Math.ceil(Math.SQRT2*ne)+8,le=0,ue=0,ce=te.width,de=te.height;switch(ee){case"inside":le=te.x+ce/2-ie/2,ue=te.y+de/2-oe/2;break;case"top":le=te.x+ce/2-ie/2,ue=te.y-oe-se;break;case"bottom":le=te.x+ce/2-ie/2,ue=te.y+de+se;break;case"left":le=te.x-ie-se,ue=te.y+de/2-oe/2;break;case"right":le=te.x+ce+se,ue=te.y+de/2-oe/2}return[le,ue]}function isCenterAlign(ee){return ee==="center"||ee==="middle"}function findComponentReference(ee,te,ae){var ne=preParseFinder(ee).queryOptionMap,ie=ne.keys()[0];if(!(!ie||ie==="series")){var oe=queryReferringComponents(te,ie,ne.get(ie),{useDefault:!1,enableAll:!1,enableNone:!1}),se=oe.models[0];if(se){var le=ae.getViewOfComponentModel(se),ue;if(le.group.traverse(function(ce){var de=getECData(ce).tooltipConfig;if(de&&de.name===ee.name)return ue=ce,!0}),ue)return{componentMainType:ie,componentIndex:se.componentIndex,el:ue}}}}const TooltipView$1=TooltipView;function install$i(ee){use(install$q),ee.registerComponentModel(TooltipModel$1),ee.registerComponentView(TooltipView$1),ee.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},noop$1),ee.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},noop$1)}var DEFAULT_TOOLBOX_BTNS=["rect","polygon","keep","clear"];function brushPreprocessor(ee,te){var ae=normalizeToArray(ee?ee.brush:[]);if(ae.length){var ne=[];each$f(ae,function(ue){var ce=ue.hasOwnProperty("toolbox")?ue.toolbox:[];ce instanceof Array&&(ne=ne.concat(ce))});var ie=ee&&ee.toolbox;isArray$2(ie)&&(ie=ie[0]),ie||(ie={feature:{}},ee.toolbox=[ie]);var oe=ie.feature||(ie.feature={}),se=oe.brush||(oe.brush={}),le=se.type||(se.type=[]);le.push.apply(le,ne),removeDuplicate(le),te&&!le.length&&le.push.apply(le,DEFAULT_TOOLBOX_BTNS)}}function removeDuplicate(ee){var te={};each$f(ee,function(ae){te[ae]=1}),ee.length=0,each$f(te,function(ae,ne){ee.push(ne)})}var each$4=each$f;function hasKeys(ee){if(ee){for(var te in ee)if(ee.hasOwnProperty(te))return!0}}function createVisualMappings(ee,te,ae){var ne={};return each$4(te,function(oe){var se=ne[oe]=ie();each$4(ee[oe],function(le,ue){if(VisualMapping$1.isValidType(ue)){var ce={type:ue,visual:le};ae&&ae(ce,oe),se[ue]=new VisualMapping$1(ce),ue==="opacity"&&(ce=clone$4(ce),ce.type="colorAlpha",se.__hidden.__alphaForOpacity=new VisualMapping$1(ce))}})}),ne;function ie(){var oe=function(){};oe.prototype.__hidden=oe.prototype;var se=new oe;return se}}function replaceVisualOption(ee,te,ae){var ne;each$f(ae,function(ie){te.hasOwnProperty(ie)&&hasKeys(te[ie])&&(ne=!0)}),ne&&each$f(ae,function(ie){te.hasOwnProperty(ie)&&hasKeys(te[ie])?ee[ie]=clone$4(te[ie]):delete ee[ie]})}function applyVisual(ee,te,ae,ne,ie,oe){var se={};each$f(ee,function(he){var fe=VisualMapping$1.prepareVisualTypes(te[he]);se[he]=fe});var le;function ue(he){return getItemVisualFromData(ae,le,he)}function ce(he,fe){setItemVisualFromData(ae,le,he,fe)}oe==null?ae.each(de):ae.each([oe],de);function de(he,fe){le=oe==null?he:fe;var pe=ae.getRawDataItem(le);if(!(pe&&pe.visualMap===!1))for(var ve=ne.call(ie,he),ge=te[ve],me=se[ve],ye=0,_e=me.length;ye<_e;ye++){var be=me[ye];ge[be]&&ge[be].applyVisual(he,ue,ce)}}}function incrementalApplyVisual(ee,te,ae,ne){var ie={};return each$f(ee,function(oe){var se=VisualMapping$1.prepareVisualTypes(te[oe]);ie[oe]=se}),{progress:function(se,le){var ue;ne!=null&&(ue=le.getDimensionIndex(ne));function ce($e){return getItemVisualFromData(le,he,$e)}function de($e,Se){setItemVisualFromData(le,he,$e,Se)}for(var he,fe=le.getStore();(he=se.next())!=null;){var pe=le.getRawDataItem(he);if(!(pe&&pe.visualMap===!1))for(var ve=ne!=null?fe.get(ue,he):he,ge=ae(ve),me=te[ge],ye=ie[ge],_e=0,be=ye.length;_e<be;_e++){var xe=ye[_e];me[xe]&&me[xe].applyVisual(ve,ce,de)}}}}}function makeBrushCommonSelectorForSeries(ee){var te=ee.brushType,ae={point:function(ne){return selector[te].point(ne,ae,ee)},rect:function(ne){return selector[te].rect(ne,ae,ee)}};return ae}var selector={lineX:getLineSelectors(0),lineY:getLineSelectors(1),rect:{point:function(ee,te,ae){return ee&&ae.boundingRect.contain(ee[0],ee[1])},rect:function(ee,te,ae){return ee&&ae.boundingRect.intersect(ee)}},polygon:{point:function(ee,te,ae){return ee&&ae.boundingRect.contain(ee[0],ee[1])&&contain(ae.range,ee[0],ee[1])},rect:function(ee,te,ae){var ne=ae.range;if(!ee||ne.length<=1)return!1;var ie=ee.x,oe=ee.y,se=ee.width,le=ee.height,ue=ne[0];if(contain(ne,ie,oe)||contain(ne,ie+se,oe)||contain(ne,ie,oe+le)||contain(ne,ie+se,oe+le)||BoundingRect$1.create(ee).contain(ue[0],ue[1])||linePolygonIntersect(ie,oe,ie+se,oe,ne)||linePolygonIntersect(ie,oe,ie,oe+le,ne)||linePolygonIntersect(ie+se,oe,ie+se,oe+le,ne)||linePolygonIntersect(ie,oe+le,ie+se,oe+le,ne))return!0}}};function getLineSelectors(ee){var te=["x","y"],ae=["width","height"];return{point:function(ne,ie,oe){if(ne){var se=oe.range,le=ne[ee];return inLineRange(le,se)}},rect:function(ne,ie,oe){if(ne){var se=oe.range,le=[ne[te[ee]],ne[te[ee]]+ne[ae[ee]]];return le[1]<le[0]&&le.reverse(),inLineRange(le[0],se)||inLineRange(le[1],se)||inLineRange(se[0],le)||inLineRange(se[1],le)}}}}function inLineRange(ee,te){return te[0]<=ee&&ee<=te[1]}var STATE_LIST=["inBrush","outOfBrush"],DISPATCH_METHOD="__ecBrushSelect",DISPATCH_FLAG="__ecInBrushSelectEvent";function layoutCovers(ee){ee.eachComponent({mainType:"brush"},function(te){var ae=te.brushTargetManager=new BrushTargetManager$1(te.option,ee);ae.setInputRanges(te.areas,ee)})}function brushVisual(ee,te,ae){var ne=[],ie,oe;ee.eachComponent({mainType:"brush"},function(se){ae&&ae.type==="takeGlobalCursor"&&se.setBrushOption(ae.key==="brush"?ae.brushOption:{brushType:!1})}),layoutCovers(ee),ee.eachComponent({mainType:"brush"},function(se,le){var ue={brushId:se.id,brushIndex:le,brushName:se.name,areas:clone$4(se.areas),selected:[]};ne.push(ue);var ce=se.option,de=ce.brushLink,he=[],fe=[],pe=[],ve=!1;le||(ie=ce.throttleType,oe=ce.throttleDelay);var ge=map$1(se.areas,function($e){var Se=boundingRectBuilders[$e.brushType],we=defaults$2({boundingRect:Se?Se($e):void 0},$e);return we.selectors=makeBrushCommonSelectorForSeries(we),we}),me=createVisualMappings(se.option,STATE_LIST,function($e){$e.mappingMethod="fixed"});isArray$2(de)&&each$f(de,function($e){he[$e]=1});function ye($e){return de==="all"||!!he[$e]}function _e($e){return!!$e.length}ee.eachSeries(function($e,Se){var we=pe[Se]=[];$e.subType==="parallel"?be($e,Se):xe($e,Se,we)});function be($e,Se){var we=$e.coordinateSystem;ve=ve||we.hasAxisBrushed(),ye(Se)&&we.eachActiveState($e.getData(),function(Ae,Te){Ae==="active"&&(fe[Te]=1)})}function xe($e,Se,we){if(!(!$e.brushSelector||brushModelNotControll(se,Se))&&(each$f(ge,function(Te){se.brushTargetManager.controlSeries(Te,$e,ee)&&we.push(Te),ve=ve||_e(we)}),ye(Se)&&_e(we))){var Ae=$e.getData();Ae.each(function(Te){checkInRange($e,we,Ae,Te)&&(fe[Te]=1)})}}ee.eachSeries(function($e,Se){var we={seriesId:$e.id,seriesIndex:Se,seriesName:$e.name,dataIndex:[]};ue.selected.push(we);var Ae=pe[Se],Te=$e.getData(),De=ye(Se)?function(Me){return fe[Me]?(we.dataIndex.push(Te.getRawIndex(Me)),"inBrush"):"outOfBrush"}:function(Me){return checkInRange($e,Ae,Te,Me)?(we.dataIndex.push(Te.getRawIndex(Me)),"inBrush"):"outOfBrush"};(ye(Se)?ve:_e(Ae))&&applyVisual(STATE_LIST,me,Te,De)})}),dispatchAction$1(te,ie,oe,ne,ae)}function dispatchAction$1(ee,te,ae,ne,ie){if(ie){var oe=ee.getZr();if(!oe[DISPATCH_FLAG]){oe[DISPATCH_METHOD]||(oe[DISPATCH_METHOD]=doDispatch);var se=createOrUpdate(oe,DISPATCH_METHOD,ae,te);se(ee,ne)}}}function doDispatch(ee,te){if(!ee.isDisposed()){var ae=ee.getZr();ae[DISPATCH_FLAG]=!0,ee.dispatchAction({type:"brushSelect",batch:te}),ae[DISPATCH_FLAG]=!1}}function checkInRange(ee,te,ae,ne){for(var ie=0,oe=te.length;ie<oe;ie++){var se=te[ie];if(ee.brushSelector(ne,ae,se.selectors,se))return!0}}function brushModelNotControll(ee,te){var ae=ee.option.seriesIndex;return ae!=null&&ae!=="all"&&(isArray$2(ae)?indexOf(ae,te)<0:te!==ae)}var boundingRectBuilders={rect:function(ee){return getBoundingRectFromMinMax(ee.range)},polygon:function(ee){for(var te,ae=ee.range,ne=0,ie=ae.length;ne<ie;ne++){te=te||[[1/0,-1/0],[1/0,-1/0]];var oe=ae[ne];oe[0]<te[0][0]&&(te[0][0]=oe[0]),oe[0]>te[0][1]&&(te[0][1]=oe[0]),oe[1]<te[1][0]&&(te[1][0]=oe[1]),oe[1]>te[1][1]&&(te[1][1]=oe[1])}return te&&getBoundingRectFromMinMax(te)}};function getBoundingRectFromMinMax(ee){return new BoundingRect$1(ee[0][0],ee[1][0],ee[0][1]-ee[0][0],ee[1][1]-ee[1][0])}var BrushView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne){this.ecModel=ae,this.api=ne,this.model,(this._brushController=new BrushController$1(ne.getZr())).on("brush",bind$2(this._onBrush,this)).mount()},te.prototype.render=function(ae,ne,ie,oe){this.model=ae,this._updateController(ae,ne,ie,oe)},te.prototype.updateTransform=function(ae,ne,ie,oe){layoutCovers(ne),this._updateController(ae,ne,ie,oe)},te.prototype.updateVisual=function(ae,ne,ie,oe){this.updateTransform(ae,ne,ie,oe)},te.prototype.updateView=function(ae,ne,ie,oe){this._updateController(ae,ne,ie,oe)},te.prototype._updateController=function(ae,ne,ie,oe){(!oe||oe.$from!==ae.id)&&this._brushController.setPanels(ae.brushTargetManager.makePanelOpts(ie)).enableBrush(ae.brushOption).updateCovers(ae.areas.slice())},te.prototype.dispose=function(){this._brushController.dispose()},te.prototype._onBrush=function(ae){var ne=this.model.id,ie=this.model.brushTargetManager.setOutputRanges(ae.areas,this.ecModel);(!ae.isEnd||ae.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:ne,areas:clone$4(ie),$from:ne}),ae.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:ne,areas:clone$4(ie),$from:ne})},te.type="brush",te}(ComponentView$1);const BrushView$1=BrushView;var DEFAULT_OUT_OF_BRUSH_COLOR="#ddd",BrushModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.areas=[],ae.brushOption={},ae}return te.prototype.optionUpdated=function(ae,ne){var ie=this.option;!ne&&replaceVisualOption(ie,ae,["inBrush","outOfBrush"]);var oe=ie.inBrush=ie.inBrush||{};ie.outOfBrush=ie.outOfBrush||{color:DEFAULT_OUT_OF_BRUSH_COLOR},oe.hasOwnProperty("liftZ")||(oe.liftZ=5)},te.prototype.setAreas=function(ae){ae&&(this.areas=map$1(ae,function(ne){return generateBrushOption(this.option,ne)},this))},te.prototype.setBrushOption=function(ae){this.brushOption=generateBrushOption(this.option,ae),this.brushType=this.brushOption.brushType},te.type="brush",te.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],te.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},te}(ComponentModel$1);function generateBrushOption(ee,te){return merge$1({brushType:ee.brushType,brushMode:ee.brushMode,transformable:ee.transformable,brushStyle:new Model$1(ee.brushStyle).getItemStyle(),removeOnClick:ee.removeOnClick,z:ee.z},te,!0)}const BrushModel$1=BrushModel;var ICON_TYPES=["rect","polygon","lineX","lineY","keep","clear"],BrushFeature=function(ee){__extends(te,ee);function te(){return ee!==null&&ee.apply(this,arguments)||this}return te.prototype.render=function(ae,ne,ie){var oe,se,le;ne.eachComponent({mainType:"brush"},function(ue){oe=ue.brushType,se=ue.brushOption.brushMode||"single",le=le||!!ue.areas.length}),this._brushType=oe,this._brushMode=se,each$f(ae.get("type",!0),function(ue){ae.setIconStatus(ue,(ue==="keep"?se==="multiple":ue==="clear"?le:ue===oe)?"emphasis":"normal")})},te.prototype.updateView=function(ae,ne,ie){this.render(ae,ne,ie)},te.prototype.getIcons=function(){var ae=this.model,ne=ae.get("icon",!0),ie={};return each$f(ae.get("type",!0),function(oe){ne[oe]&&(ie[oe]=ne[oe])}),ie},te.prototype.onclick=function(ae,ne,ie){var oe=this._brushType,se=this._brushMode;ie==="clear"?(ne.dispatchAction({type:"axisAreaSelect",intervals:[]}),ne.dispatchAction({type:"brush",command:"clear",areas:[]})):ne.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:ie==="keep"?oe:oe===ie?!1:ie,brushMode:ie==="keep"?se==="multiple"?"single":"multiple":se}})},te.getDefaultOption=function(ae){var ne={show:!0,type:ICON_TYPES.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:ae.getLocaleModel().get(["toolbox","brush","title"])};return ne},te}(ToolboxFeature);const BrushFeature$1=BrushFeature;function install$h(ee){ee.registerComponentView(BrushView$1),ee.registerComponentModel(BrushModel$1),ee.registerPreprocessor(brushPreprocessor),ee.registerVisual(ee.PRIORITY.VISUAL.BRUSH,brushVisual),ee.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(te,ae){ae.eachComponent({mainType:"brush",query:te},function(ne){ne.setAreas(te.areas)})}),ee.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},noop$1),ee.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},noop$1),registerFeature("brush",BrushFeature$1)}var TitleModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.layoutMode={type:"box",ignoreSize:!0},ae}return te.type="title",te.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},te}(ComponentModel$1),TitleView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.render=function(ae,ne,ie){if(this.group.removeAll(),!!ae.get("show")){var oe=this.group,se=ae.getModel("textStyle"),le=ae.getModel("subtextStyle"),ue=ae.get("textAlign"),ce=retrieve2(ae.get("textBaseline"),ae.get("textVerticalAlign")),de=new ZRText$1({style:createTextStyle$1(se,{text:ae.get("text"),fill:se.getTextColor()},{disableBox:!0}),z2:10}),he=de.getBoundingRect(),fe=ae.get("subtext"),pe=new ZRText$1({style:createTextStyle$1(le,{text:fe,fill:le.getTextColor(),y:he.height+ae.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),ve=ae.get("link"),ge=ae.get("sublink"),me=ae.get("triggerEvent",!0);de.silent=!ve&&!me,pe.silent=!ge&&!me,ve&&de.on("click",function(){windowOpen(ve,"_"+ae.get("target"))}),ge&&pe.on("click",function(){windowOpen(ge,"_"+ae.get("subtarget"))}),getECData(de).eventData=getECData(pe).eventData=me?{componentType:"title",componentIndex:ae.componentIndex}:null,oe.add(de),fe&&oe.add(pe);var ye=oe.getBoundingRect(),_e=ae.getBoxLayoutParams();_e.width=ye.width,_e.height=ye.height;var be=getLayoutRect(_e,{width:ie.getWidth(),height:ie.getHeight()},ae.get("padding"));ue||(ue=ae.get("left")||ae.get("right"),ue==="middle"&&(ue="center"),ue==="right"?be.x+=be.width:ue==="center"&&(be.x+=be.width/2)),ce||(ce=ae.get("top")||ae.get("bottom"),ce==="center"&&(ce="middle"),ce==="bottom"?be.y+=be.height:ce==="middle"&&(be.y+=be.height/2),ce=ce||"top"),oe.x=be.x,oe.y=be.y,oe.markRedraw();var xe={align:ue,verticalAlign:ce};de.setStyle(xe),pe.setStyle(xe),ye=oe.getBoundingRect();var $e=be.margin,Se=ae.getItemStyle(["color","opacity"]);Se.fill=ae.get("backgroundColor");var we=new Rect$3({shape:{x:ye.x-$e[3],y:ye.y-$e[0],width:ye.width+$e[1]+$e[3],height:ye.height+$e[0]+$e[2],r:ae.get("borderRadius")},style:Se,subPixelOptimize:!0,silent:!0});oe.add(we)}},te.type="title",te}(ComponentView$1);function install$g(ee){ee.registerComponentModel(TitleModel),ee.registerComponentView(TitleView)}var TimelineModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.layoutMode="box",ae}return te.prototype.init=function(ae,ne,ie){this.mergeDefaultAndTheme(ae,ie),this._initData()},te.prototype.mergeOption=function(ae){ee.prototype.mergeOption.apply(this,arguments),this._initData()},te.prototype.setCurrentIndex=function(ae){ae==null&&(ae=this.option.currentIndex);var ne=this._data.count();this.option.loop?ae=(ae%ne+ne)%ne:(ae>=ne&&(ae=ne-1),ae<0&&(ae=0)),this.option.currentIndex=ae},te.prototype.getCurrentIndex=function(){return this.option.currentIndex},te.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},te.prototype.setPlayState=function(ae){this.option.autoPlay=!!ae},te.prototype.getPlayState=function(){return!!this.option.autoPlay},te.prototype._initData=function(){var ae=this.option,ne=ae.data||[],ie=ae.axisType,oe=this._names=[],se;ie==="category"?(se=[],each$f(ne,function(ce,de){var he=convertOptionIdName(getDataItemValue(ce),""),fe;isObject$4(ce)?(fe=clone$4(ce),fe.value=de):fe=de,se.push(fe),oe.push(he)})):se=ne;var le={category:"ordinal",time:"time",value:"number"}[ie]||"number",ue=this._data=new SeriesData$1([{name:"value",type:le}],this);ue.initData(se,oe)},te.prototype.getData=function(){return this._data},te.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},te.type="timeline",te.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},te}(ComponentModel$1);const TimelineModel$1=TimelineModel;var SliderTimelineModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="timeline.slider",te.defaultOption=inheritDefaultOption(TimelineModel$1.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),te}(TimelineModel$1);mixin(SliderTimelineModel,DataFormatMixin.prototype);const SliderTimelineModel$1=SliderTimelineModel;var TimelineView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="timeline",te}(ComponentView$1);const TimelineView$1=TimelineView;var TimelineAxis=function(ee){__extends(te,ee);function te(ae,ne,ie,oe){var se=ee.call(this,ae,ne,ie)||this;return se.type=oe||"value",se}return te.prototype.getLabelModel=function(){return this.model.getModel("label")},te.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},te}(Axis$1);const TimelineAxis$1=TimelineAxis;var PI=Math.PI,labelDataIndexStore=makeInner(),SliderTimelineView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(ae,ne){this.api=ne},te.prototype.render=function(ae,ne,ie){if(this.model=ae,this.api=ie,this.ecModel=ne,this.group.removeAll(),ae.get("show",!0)){var oe=this._layout(ae,ie),se=this._createGroup("_mainGroup"),le=this._createGroup("_labelGroup"),ue=this._axis=this._createAxis(oe,ae);ae.formatTooltip=function(ce){var de=ue.scale.getLabel({value:ce});return createTooltipMarkup("nameValue",{noName:!0,value:de})},each$f(["AxisLine","AxisTick","Control","CurrentPointer"],function(ce){this["_render"+ce](oe,se,ue,ae)},this),this._renderAxisLabel(oe,le,ue,ae),this._position(oe,ae)}this._doPlayStop(),this._updateTicksStatus()},te.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},te.prototype.dispose=function(){this._clearTimer()},te.prototype._layout=function(ae,ne){var ie=ae.get(["label","position"]),oe=ae.get("orient"),se=getViewRect(ae,ne),le;ie==null||ie==="auto"?le=oe==="horizontal"?se.y+se.height/2<ne.getHeight()/2?"-":"+":se.x+se.width/2<ne.getWidth()/2?"+":"-":isString$1(ie)?le={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[oe][ie]:le=ie;var ue={horizontal:"center",vertical:le>=0||le==="+"?"left":"right"},ce={horizontal:le>=0||le==="+"?"top":"bottom",vertical:"middle"},de={horizontal:0,vertical:PI/2},he=oe==="vertical"?se.height:se.width,fe=ae.getModel("controlStyle"),pe=fe.get("show",!0),ve=pe?fe.get("itemSize"):0,ge=pe?fe.get("itemGap"):0,me=ve+ge,ye=ae.get(["label","rotate"])||0;ye=ye*PI/180;var _e,be,xe,$e=fe.get("position",!0),Se=pe&&fe.get("showPlayBtn",!0),we=pe&&fe.get("showPrevBtn",!0),Ae=pe&&fe.get("showNextBtn",!0),Te=0,De=he;$e==="left"||$e==="bottom"?(Se&&(_e=[0,0],Te+=me),we&&(be=[Te,0],Te+=me),Ae&&(xe=[De-ve,0],De-=me)):(Se&&(_e=[De-ve,0],De-=me),we&&(be=[0,0],Te+=me),Ae&&(xe=[De-ve,0],De-=me));var Me=[Te,De];return ae.get("inverse")&&Me.reverse(),{viewRect:se,mainLength:he,orient:oe,rotation:de[oe],labelRotation:ye,labelPosOpt:le,labelAlign:ae.get(["label","align"])||ue[oe],labelBaseline:ae.get(["label","verticalAlign"])||ae.get(["label","baseline"])||ce[oe],playPosition:_e,prevBtnPosition:be,nextBtnPosition:xe,axisExtent:Me,controlSize:ve,controlGap:ge}},te.prototype._position=function(ae,ne){var ie=this._mainGroup,oe=this._labelGroup,se=ae.viewRect;if(ae.orient==="vertical"){var le=create$1(),ue=se.x,ce=se.y+se.height;translate(le,le,[-ue,-ce]),rotate(le,le,-PI/2),translate(le,le,[ue,ce]),se=se.clone(),se.applyTransform(le)}var de=_e(se),he=_e(ie.getBoundingRect()),fe=_e(oe.getBoundingRect()),pe=[ie.x,ie.y],ve=[oe.x,oe.y];ve[0]=pe[0]=de[0][0];var ge=ae.labelPosOpt;if(ge==null||isString$1(ge)){var me=ge==="+"?0:1;be(pe,he,de,1,me),be(ve,fe,de,1,1-me)}else{var me=ge>=0?0:1;be(pe,he,de,1,me),ve[1]=pe[1]+ge}ie.setPosition(pe),oe.setPosition(ve),ie.rotation=oe.rotation=ae.rotation,ye(ie),ye(oe);function ye(xe){xe.originX=de[0][0]-xe.x,xe.originY=de[1][0]-xe.y}function _e(xe){return[[xe.x,xe.x+xe.width],[xe.y,xe.y+xe.height]]}function be(xe,$e,Se,we,Ae){xe[we]+=Se[we][Ae]-$e[we][Ae]}},te.prototype._createAxis=function(ae,ne){var ie=ne.getData(),oe=ne.get("axisType"),se=createScaleByModel(ne,oe);se.getTicks=function(){return ie.mapArray(["value"],function(ce){return{value:ce}})};var le=ie.getDataExtent("value");se.setExtent(le[0],le[1]),se.calcNiceTicks();var ue=new TimelineAxis$1("value",se,ae.axisExtent,oe);return ue.model=ne,ue},te.prototype._createGroup=function(ae){var ne=this[ae]=new Group$4;return this.group.add(ne),ne},te.prototype._renderAxisLine=function(ae,ne,ie,oe){var se=ie.getExtent();if(oe.get(["lineStyle","show"])){var le=new Line$3({shape:{x1:se[0],y1:0,x2:se[1],y2:0},style:extend$1({lineCap:"round"},oe.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});ne.add(le);var ue=this._progressLine=new Line$3({shape:{x1:se[0],x2:this._currentPointer?this._currentPointer.x:se[0],y1:0,y2:0},style:defaults$2({lineCap:"round",lineWidth:le.style.lineWidth},oe.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});ne.add(ue)}},te.prototype._renderAxisTick=function(ae,ne,ie,oe){var se=this,le=oe.getData(),ue=ie.scale.getTicks();this._tickSymbols=[],each$f(ue,function(ce){var de=ie.dataToCoord(ce.value),he=le.getItemModel(ce.value),fe=he.getModel("itemStyle"),pe=he.getModel(["emphasis","itemStyle"]),ve=he.getModel(["progress","itemStyle"]),ge={x:de,y:0,onclick:bind$2(se._changeTimeline,se,ce.value)},me=giveSymbol(he,fe,ne,ge);me.ensureState("emphasis").style=pe.getItemStyle(),me.ensureState("progress").style=ve.getItemStyle(),enableHoverEmphasis(me);var ye=getECData(me);he.get("tooltip")?(ye.dataIndex=ce.value,ye.dataModel=oe):ye.dataIndex=ye.dataModel=null,se._tickSymbols.push(me)})},te.prototype._renderAxisLabel=function(ae,ne,ie,oe){var se=this,le=ie.getLabelModel();if(le.get("show")){var ue=oe.getData(),ce=ie.getViewLabels();this._tickLabels=[],each$f(ce,function(de){var he=de.tickValue,fe=ue.getItemModel(he),pe=fe.getModel("label"),ve=fe.getModel(["emphasis","label"]),ge=fe.getModel(["progress","label"]),me=ie.dataToCoord(de.tickValue),ye=new ZRText$1({x:me,y:0,rotation:ae.labelRotation-ae.rotation,onclick:bind$2(se._changeTimeline,se,he),silent:!1,style:createTextStyle$1(pe,{text:de.formattedLabel,align:ae.labelAlign,verticalAlign:ae.labelBaseline})});ye.ensureState("emphasis").style=createTextStyle$1(ve),ye.ensureState("progress").style=createTextStyle$1(ge),ne.add(ye),enableHoverEmphasis(ye),labelDataIndexStore(ye).dataIndex=he,se._tickLabels.push(ye)})}},te.prototype._renderControl=function(ae,ne,ie,oe){var se=ae.controlSize,le=ae.rotation,ue=oe.getModel("controlStyle").getItemStyle(),ce=oe.getModel(["emphasis","controlStyle"]).getItemStyle(),de=oe.getPlayState(),he=oe.get("inverse",!0);fe(ae.nextBtnPosition,"next",bind$2(this._changeTimeline,this,he?"-":"+")),fe(ae.prevBtnPosition,"prev",bind$2(this._changeTimeline,this,he?"+":"-")),fe(ae.playPosition,de?"stop":"play",bind$2(this._handlePlayClick,this,!de),!0);function fe(pe,ve,ge,me){if(pe){var ye=parsePercent$1(retrieve2(oe.get(["controlStyle",ve+"BtnSize"]),se),se),_e=[0,-ye/2,ye,ye],be=makeControlIcon(oe,ve+"Icon",_e,{x:pe[0],y:pe[1],originX:se/2,originY:0,rotation:me?-le:0,rectHover:!0,style:ue,onclick:ge});be.ensureState("emphasis").style=ce,ne.add(be),enableHoverEmphasis(be)}}},te.prototype._renderCurrentPointer=function(ae,ne,ie,oe){var se=oe.getData(),le=oe.getCurrentIndex(),ue=se.getItemModel(le).getModel("checkpointStyle"),ce=this,de={onCreate:function(he){he.draggable=!0,he.drift=bind$2(ce._handlePointerDrag,ce),he.ondragend=bind$2(ce._handlePointerDragend,ce),pointerMoveTo(he,ce._progressLine,le,ie,oe,!0)},onUpdate:function(he){pointerMoveTo(he,ce._progressLine,le,ie,oe)}};this._currentPointer=giveSymbol(ue,ue,this._mainGroup,{},this._currentPointer,de)},te.prototype._handlePlayClick=function(ae){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:ae,from:this.uid})},te.prototype._handlePointerDrag=function(ae,ne,ie){this._clearTimer(),this._pointerChangeTimeline([ie.offsetX,ie.offsetY])},te.prototype._handlePointerDragend=function(ae){this._pointerChangeTimeline([ae.offsetX,ae.offsetY],!0)},te.prototype._pointerChangeTimeline=function(ae,ne){var ie=this._toAxisCoord(ae)[0],oe=this._axis,se=asc$2(oe.getExtent().slice());ie>se[1]&&(ie=se[1]),ie<se[0]&&(ie=se[0]),this._currentPointer.x=ie,this._currentPointer.markRedraw();var le=this._progressLine;le&&(le.shape.x2=ie,le.dirty());var ue=this._findNearestTick(ie),ce=this.model;(ne||ue!==ce.getCurrentIndex()&&ce.get("realtime"))&&this._changeTimeline(ue)},te.prototype._doPlayStop=function(){var ae=this;this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(function(){var ne=ae.model;ae._changeTimeline(ne.getCurrentIndex()+(ne.get("rewind",!0)?-1:1))},this.model.get("playInterval")))},te.prototype._toAxisCoord=function(ae){var ne=this._mainGroup.getLocalTransform();return applyTransform(ae,ne,!0)},te.prototype._findNearestTick=function(ae){var ne=this.model.getData(),ie=1/0,oe,se=this._axis;return ne.each(["value"],function(le,ue){var ce=se.dataToCoord(le),de=Math.abs(ce-ae);de<ie&&(ie=de,oe=ue)}),oe},te.prototype._clearTimer=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},te.prototype._changeTimeline=function(ae){var ne=this.model.getCurrentIndex();ae==="+"?ae=ne+1:ae==="-"&&(ae=ne-1),this.api.dispatchAction({type:"timelineChange",currentIndex:ae,from:this.uid})},te.prototype._updateTicksStatus=function(){var ae=this.model.getCurrentIndex(),ne=this._tickSymbols,ie=this._tickLabels;if(ne)for(var oe=0;oe<ne.length;oe++)ne&&ne[oe]&&ne[oe].toggleState("progress",oe<ae);if(ie)for(var oe=0;oe<ie.length;oe++)ie&&ie[oe]&&ie[oe].toggleState("progress",labelDataIndexStore(ie[oe]).dataIndex<=ae)},te.type="timeline.slider",te}(TimelineView$1);function createScaleByModel(ee,te){if(te=te||ee.get("type"),te)switch(te){case"category":return new OrdinalScale$1({ordinalMeta:ee.getCategories(),extent:[1/0,-1/0]});case"time":return new TimeScale$1({locale:ee.ecModel.getLocaleModel(),useUTC:ee.ecModel.get("useUTC")});default:return new IntervalScale$1}}function getViewRect(ee,te){return getLayoutRect(ee.getBoxLayoutParams(),{width:te.getWidth(),height:te.getHeight()},ee.get("padding"))}function makeControlIcon(ee,te,ae,ne){var ie=ne.style,oe=createIcon(ee.get(["controlStyle",te]),ne||{},new BoundingRect$1(ae[0],ae[1],ae[2],ae[3]));return ie&&oe.setStyle(ie),oe}function giveSymbol(ee,te,ae,ne,ie,oe){var se=te.get("color");if(ie)ie.setColor(se),ae.add(ie),oe&&oe.onUpdate(ie);else{var le=ee.get("symbol");ie=createSymbol$1(le,-1,-1,2,2,se),ie.setStyle("strokeNoScale",!0),ae.add(ie),oe&&oe.onCreate(ie)}var ue=te.getItemStyle(["color"]);ie.setStyle(ue),ne=merge$1({rectHover:!0,z2:100},ne,!0);var ce=normalizeSymbolSize(ee.get("symbolSize"));ne.scaleX=ce[0]/2,ne.scaleY=ce[1]/2;var de=normalizeSymbolOffset(ee.get("symbolOffset"),ce);de&&(ne.x=(ne.x||0)+de[0],ne.y=(ne.y||0)+de[1]);var he=ee.get("symbolRotate");return ne.rotation=(he||0)*Math.PI/180||0,ie.attr(ne),ie.updateTransform(),ie}function pointerMoveTo(ee,te,ae,ne,ie,oe){if(!ee.dragging){var se=ie.getModel("checkpointStyle"),le=ne.dataToCoord(ie.getData().get("value",ae));if(oe||!se.get("animation",!0))ee.attr({x:le,y:0}),te&&te.attr({shape:{x2:le}});else{var ue={duration:se.get("animationDuration",!0),easing:se.get("animationEasing",!0)};ee.stopAnimation(null,!0),ee.animateTo({x:le,y:0},ue),te&&te.animateTo({shape:{x2:le}},ue)}}}const SliderTimelineView$1=SliderTimelineView;function installTimelineAction(ee){ee.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(te,ae,ne){var ie=ae.getComponent("timeline");return ie&&te.currentIndex!=null&&(ie.setCurrentIndex(te.currentIndex),!ie.get("loop",!0)&&ie.isIndexMax()&&ie.getPlayState()&&(ie.setPlayState(!1),ne.dispatchAction({type:"timelinePlayChange",playState:!1,from:te.from}))),ae.resetOption("timeline",{replaceMerge:ie.get("replaceMerge",!0)}),defaults$2({currentIndex:ie.option.currentIndex},te)}),ee.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(te,ae){var ne=ae.getComponent("timeline");ne&&te.playState!=null&&ne.setPlayState(te.playState)})}function timelinePreprocessor(ee){var te=ee&&ee.timeline;isArray$2(te)||(te=te?[te]:[]),each$f(te,function(ae){ae&&compatibleEC2(ae)})}function compatibleEC2(ee){var te=ee.type,ae={number:"value",time:"time"};if(ae[te]&&(ee.axisType=ae[te],delete ee.type),transferItem(ee),has$1(ee,"controlPosition")){var ne=ee.controlStyle||(ee.controlStyle={});has$1(ne,"position")||(ne.position=ee.controlPosition),ne.position==="none"&&!has$1(ne,"show")&&(ne.show=!1,delete ne.position),delete ee.controlPosition}each$f(ee.data||[],function(ie){isObject$4(ie)&&!isArray$2(ie)&&(!has$1(ie,"value")&&has$1(ie,"name")&&(ie.value=ie.name),transferItem(ie))})}function transferItem(ee){var te=ee.itemStyle||(ee.itemStyle={}),ae=te.emphasis||(te.emphasis={}),ne=ee.label||ee.label||{},ie=ne.normal||(ne.normal={}),oe={normal:1,emphasis:1};each$f(ne,function(se,le){!oe[le]&&!has$1(ie,le)&&(ie[le]=se)}),ae.label&&!has$1(ne,"emphasis")&&(ne.emphasis=ae.label,delete ae.label)}function has$1(ee,te){return ee.hasOwnProperty(te)}function install$f(ee){ee.registerComponentModel(SliderTimelineModel$1),ee.registerComponentView(SliderTimelineView$1),ee.registerSubTypeDefaulter("timeline",function(){return"slider"}),installTimelineAction(ee),ee.registerPreprocessor(timelinePreprocessor)}function checkMarkerInSeries(ee,te){if(!ee)return!1;for(var ae=isArray$2(ee)?ee:[ee],ne=0;ne<ae.length;ne++)if(ae[ne]&&ae[ne][te])return!0;return!1}function fillLabel(ee){defaultEmphasis(ee,"label",["show"])}var inner$5=makeInner(),MarkerModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.createdBySelf=!1,ae}return te.prototype.init=function(ae,ne,ie){this.mergeDefaultAndTheme(ae,ie),this._mergeOption(ae,ie,!1,!0)},te.prototype.isAnimationEnabled=function(){if(env$1.node)return!1;var ae=this.__hostSeries;return this.getShallow("animation")&&ae&&ae.isAnimationEnabled()},te.prototype.mergeOption=function(ae,ne){this._mergeOption(ae,ne,!1,!1)},te.prototype._mergeOption=function(ae,ne,ie,oe){var se=this.mainType;ie||ne.eachSeries(function(le){var ue=le.get(this.mainType,!0),ce=inner$5(le)[se];if(!ue||!ue.data){inner$5(le)[se]=null;return}ce?ce._mergeOption(ue,ne,!0):(oe&&fillLabel(ue),each$f(ue.data,function(de){de instanceof Array?(fillLabel(de[0]),fillLabel(de[1])):fillLabel(de)}),ce=this.createMarkerModelFromSeries(ue,this,ne),extend$1(ce,{mainType:this.mainType,seriesIndex:le.seriesIndex,name:le.name,createdBySelf:!0}),ce.__hostSeries=le),inner$5(le)[se]=ce},this)},te.prototype.formatTooltip=function(ae,ne,ie){var oe=this.getData(),se=this.getRawValue(ae),le=oe.getName(ae);return createTooltipMarkup("section",{header:this.name,blocks:[createTooltipMarkup("nameValue",{name:le,value:se,noName:!le,noValue:se==null})]})},te.prototype.getData=function(){return this._data},te.prototype.setData=function(ae){this._data=ae},te.getMarkerModelFromSeries=function(ae,ne){return inner$5(ae)[ne]},te.type="marker",te.dependencies=["series","grid","polar","geo"],te}(ComponentModel$1);mixin(MarkerModel,DataFormatMixin.prototype);const MarkerModel$1=MarkerModel;var MarkPointModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.createMarkerModelFromSeries=function(ae,ne,ie){return new te(ae,ne,ie)},te.type="markPoint",te.defaultOption={z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}},te}(MarkerModel$1);const MarkPointModel$1=MarkPointModel;function hasXOrY(ee){return!(isNaN(parseFloat(ee.x))&&isNaN(parseFloat(ee.y)))}function hasXAndY(ee){return!isNaN(parseFloat(ee.x))&&!isNaN(parseFloat(ee.y))}function markerTypeCalculatorWithExtent(ee,te,ae,ne,ie,oe){var se=[],le=isDimensionStacked(te,ne),ue=le?te.getCalculationInfo("stackResultDimension"):ne,ce=numCalculate(te,ue,ee),de=te.indicesOfNearest(ue,ce)[0];se[ie]=te.get(ae,de),se[oe]=te.get(ue,de);var he=te.get(ne,de),fe=getPrecision(te.get(ne,de));return fe=Math.min(fe,20),fe>=0&&(se[oe]=+se[oe].toFixed(fe)),[se,he]}var markerTypeCalculator={min:curry$1(markerTypeCalculatorWithExtent,"min"),max:curry$1(markerTypeCalculatorWithExtent,"max"),average:curry$1(markerTypeCalculatorWithExtent,"average"),median:curry$1(markerTypeCalculatorWithExtent,"median")};function dataTransform(ee,te){if(te){var ae=ee.getData(),ne=ee.coordinateSystem,ie=ne&&ne.dimensions;if(!hasXAndY(te)&&!isArray$2(te.coord)&&isArray$2(ie)){var oe=getAxisInfo(te,ae,ne,ee);if(te=clone$4(te),te.type&&markerTypeCalculator[te.type]&&oe.baseAxis&&oe.valueAxis){var se=indexOf(ie,oe.baseAxis.dim),le=indexOf(ie,oe.valueAxis.dim),ue=markerTypeCalculator[te.type](ae,oe.baseDataDim,oe.valueDataDim,se,le);te.coord=ue[0],te.value=ue[1]}else te.coord=[te.xAxis!=null?te.xAxis:te.radiusAxis,te.yAxis!=null?te.yAxis:te.angleAxis]}if(te.coord==null||!isArray$2(ie))te.coord=[];else for(var ce=te.coord,de=0;de<2;de++)markerTypeCalculator[ce[de]]&&(ce[de]=numCalculate(ae,ae.mapDimension(ie[de]),ce[de]));return te}}function getAxisInfo(ee,te,ae,ne){var ie={};return ee.valueIndex!=null||ee.valueDim!=null?(ie.valueDataDim=ee.valueIndex!=null?te.getDimension(ee.valueIndex):ee.valueDim,ie.valueAxis=ae.getAxis(dataDimToCoordDim(ne,ie.valueDataDim)),ie.baseAxis=ae.getOtherAxis(ie.valueAxis),ie.baseDataDim=te.mapDimension(ie.baseAxis.dim)):(ie.baseAxis=ne.getBaseAxis(),ie.valueAxis=ae.getOtherAxis(ie.baseAxis),ie.baseDataDim=te.mapDimension(ie.baseAxis.dim),ie.valueDataDim=te.mapDimension(ie.valueAxis.dim)),ie}function dataDimToCoordDim(ee,te){var ae=ee.getData().getDimensionInfo(te);return ae&&ae.coordDim}function dataFilter(ee,te){return ee&&ee.containData&&te.coord&&!hasXOrY(te)?ee.containData(te.coord):!0}function zoneFilter(ee,te,ae){return ee&&ee.containZone&&te.coord&&ae.coord&&!hasXOrY(te)&&!hasXOrY(ae)?ee.containZone(te.coord,ae.coord):!0}function createMarkerDimValueGetter(ee,te){return ee?function(ae,ne,ie,oe){var se=oe<2?ae.coord&&ae.coord[oe]:ae.value;return parseDataValue(se,te[oe])}:function(ae,ne,ie,oe){return parseDataValue(ae.value,te[oe])}}function numCalculate(ee,te,ae){if(ae==="average"){var ne=0,ie=0;return ee.each(te,function(oe,se){isNaN(oe)||(ne+=oe,ie++)}),ne/ie}else return ae==="median"?ee.getMedian(te):ee.getDataExtent(te)[ae==="max"?1:0]}var inner$4=makeInner(),MarkerView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.init=function(){this.markerGroupMap=createHashMap()},te.prototype.render=function(ae,ne,ie){var oe=this,se=this.markerGroupMap;se.each(function(le){inner$4(le).keep=!1}),ne.eachSeries(function(le){var ue=MarkerModel$1.getMarkerModelFromSeries(le,oe.type);ue&&oe.renderSeries(le,ue,ne,ie)}),se.each(function(le){!inner$4(le).keep&&oe.group.remove(le.group)})},te.prototype.markKeep=function(ae){inner$4(ae).keep=!0},te.prototype.toggleBlurSeries=function(ae,ne){var ie=this;each$f(ae,function(oe){var se=MarkerModel$1.getMarkerModelFromSeries(oe,ie.type);if(se){var le=se.getData();le.eachItemGraphicEl(function(ue){ue&&(ne?enterBlur(ue):leaveBlur(ue))})}})},te.type="marker",te}(ComponentView$1);const MarkerView$1=MarkerView;function updateMarkerLayout(ee,te,ae){var ne=te.coordinateSystem;ee.each(function(ie){var oe=ee.getItemModel(ie),se,le=parsePercent(oe.get("x"),ae.getWidth()),ue=parsePercent(oe.get("y"),ae.getHeight());if(!isNaN(le)&&!isNaN(ue))se=[le,ue];else if(te.getMarkerPosition)se=te.getMarkerPosition(ee.getValues(ee.dimensions,ie));else if(ne){var ce=ee.get(ne.dimensions[0],ie),de=ee.get(ne.dimensions[1],ie);se=ne.dataToPoint([ce,de])}isNaN(le)||(se[0]=le),isNaN(ue)||(se[1]=ue),ee.setItemLayout(ie,se)})}var MarkPointView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.updateTransform=function(ae,ne,ie){ne.eachSeries(function(oe){var se=MarkerModel$1.getMarkerModelFromSeries(oe,"markPoint");se&&(updateMarkerLayout(se.getData(),oe,ie),this.markerGroupMap.get(oe.id).updateLayout())},this)},te.prototype.renderSeries=function(ae,ne,ie,oe){var se=ae.coordinateSystem,le=ae.id,ue=ae.getData(),ce=this.markerGroupMap,de=ce.get(le)||ce.set(le,new SymbolDraw$1),he=createData(se,ae,ne);ne.setData(he),updateMarkerLayout(ne.getData(),ae,oe),he.each(function(fe){var pe=he.getItemModel(fe),ve=pe.getShallow("symbol"),ge=pe.getShallow("symbolSize"),me=pe.getShallow("symbolRotate"),ye=pe.getShallow("symbolOffset"),_e=pe.getShallow("symbolKeepAspect");if(isFunction$1(ve)||isFunction$1(ge)||isFunction$1(me)||isFunction$1(ye)){var be=ne.getRawValue(fe),xe=ne.getDataParams(fe);isFunction$1(ve)&&(ve=ve(be,xe)),isFunction$1(ge)&&(ge=ge(be,xe)),isFunction$1(me)&&(me=me(be,xe)),isFunction$1(ye)&&(ye=ye(be,xe))}var $e=pe.getModel("itemStyle").getItemStyle(),Se=getVisualFromData(ue,"color");$e.fill||($e.fill=Se),he.setItemVisual(fe,{symbol:ve,symbolSize:ge,symbolRotate:me,symbolOffset:ye,symbolKeepAspect:_e,style:$e})}),de.updateData(he),this.group.add(de.group),he.eachItemGraphicEl(function(fe){fe.traverse(function(pe){getECData(pe).dataModel=ne})}),this.markKeep(de),de.group.silent=ne.get("silent")||ae.get("silent")},te.type="markPoint",te}(MarkerView$1);function createData(ee,te,ae){var ne;ee?ne=map$1(ee&&ee.dimensions,function(le){var ue=te.getData().getDimensionInfo(te.getData().mapDimension(le))||{};return extend$1(extend$1({},ue),{name:le,ordinalMeta:null})}):ne=[{name:"value",type:"float"}];var ie=new SeriesData$1(ne,ae),oe=map$1(ae.get("data"),curry$1(dataTransform,te));ee&&(oe=filter(oe,curry$1(dataFilter,ee)));var se=createMarkerDimValueGetter(!!ee,ne);return ie.initData(oe,null,se),ie}const MarkPointView$1=MarkPointView;function install$e(ee){ee.registerComponentModel(MarkPointModel$1),ee.registerComponentView(MarkPointView$1),ee.registerPreprocessor(function(te){checkMarkerInSeries(te.series,"markPoint")&&(te.markPoint=te.markPoint||{})})}var MarkLineModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.createMarkerModelFromSeries=function(ae,ne,ie){return new te(ae,ne,ie)},te.type="markLine",te.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},te}(MarkerModel$1);const MarkLineModel$1=MarkLineModel;var inner$3=makeInner(),markLineTransform=function(ee,te,ae,ne){var ie=ee.getData(),oe;if(isArray$2(ne))oe=ne;else{var se=ne.type;if(se==="min"||se==="max"||se==="average"||se==="median"||ne.xAxis!=null||ne.yAxis!=null){var le=void 0,ue=void 0;if(ne.yAxis!=null||ne.xAxis!=null)le=te.getAxis(ne.yAxis!=null?"y":"x"),ue=retrieve(ne.yAxis,ne.xAxis);else{var ce=getAxisInfo(ne,ie,te,ee);le=ce.valueAxis;var de=getStackedDimension(ie,ce.valueDataDim);ue=numCalculate(ie,de,se)}var he=le.dim==="x"?0:1,fe=1-he,pe=clone$4(ne),ve={coord:[]};pe.type=null,pe.coord=[],pe.coord[fe]=-1/0,ve.coord[fe]=1/0;var ge=ae.get("precision");ge>=0&&isNumber$1(ue)&&(ue=+ue.toFixed(Math.min(ge,20))),pe.coord[he]=ve.coord[he]=ue,oe=[pe,ve,{type:se,valueIndex:ne.valueIndex,value:ue}]}else oe=[]}var me=[dataTransform(ee,oe[0]),dataTransform(ee,oe[1]),extend$1({},oe[2])];return me[2].type=me[2].type||null,merge$1(me[2],me[0]),merge$1(me[2],me[1]),me};function isInfinity$1(ee){return!isNaN(ee)&&!isFinite(ee)}function ifMarkLineHasOnlyDim(ee,te,ae,ne){var ie=1-ee,oe=ne.dimensions[ee];return isInfinity$1(te[ie])&&isInfinity$1(ae[ie])&&te[ee]===ae[ee]&&ne.getAxis(oe).containData(te[ee])}function markLineFilter(ee,te){if(ee.type==="cartesian2d"){var ae=te[0].coord,ne=te[1].coord;if(ae&&ne&&(ifMarkLineHasOnlyDim(1,ae,ne,ee)||ifMarkLineHasOnlyDim(0,ae,ne,ee)))return!0}return dataFilter(ee,te[0])&&dataFilter(ee,te[1])}function updateSingleMarkerEndLayout(ee,te,ae,ne,ie){var oe=ne.coordinateSystem,se=ee.getItemModel(te),le,ue=parsePercent(se.get("x"),ie.getWidth()),ce=parsePercent(se.get("y"),ie.getHeight());if(!isNaN(ue)&&!isNaN(ce))le=[ue,ce];else{if(ne.getMarkerPosition)le=ne.getMarkerPosition(ee.getValues(ee.dimensions,te));else{var de=oe.dimensions,he=ee.get(de[0],te),fe=ee.get(de[1],te);le=oe.dataToPoint([he,fe])}if(isCoordinateSystemType(oe,"cartesian2d")){var pe=oe.getAxis("x"),ve=oe.getAxis("y"),de=oe.dimensions;isInfinity$1(ee.get(de[0],te))?le[0]=pe.toGlobalCoord(pe.getExtent()[ae?0:1]):isInfinity$1(ee.get(de[1],te))&&(le[1]=ve.toGlobalCoord(ve.getExtent()[ae?0:1]))}isNaN(ue)||(le[0]=ue),isNaN(ce)||(le[1]=ce)}ee.setItemLayout(te,le)}var MarkLineView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.updateTransform=function(ae,ne,ie){ne.eachSeries(function(oe){var se=MarkerModel$1.getMarkerModelFromSeries(oe,"markLine");if(se){var le=se.getData(),ue=inner$3(se).from,ce=inner$3(se).to;ue.each(function(de){updateSingleMarkerEndLayout(ue,de,!0,oe,ie),updateSingleMarkerEndLayout(ce,de,!1,oe,ie)}),le.each(function(de){le.setItemLayout(de,[ue.getItemLayout(de),ce.getItemLayout(de)])}),this.markerGroupMap.get(oe.id).updateLayout()}},this)},te.prototype.renderSeries=function(ae,ne,ie,oe){var se=ae.coordinateSystem,le=ae.id,ue=ae.getData(),ce=this.markerGroupMap,de=ce.get(le)||ce.set(le,new LineDraw$1);this.group.add(de.group);var he=createList$1(se,ae,ne),fe=he.from,pe=he.to,ve=he.line;inner$3(ne).from=fe,inner$3(ne).to=pe,ne.setData(ve);var ge=ne.get("symbol"),me=ne.get("symbolSize"),ye=ne.get("symbolRotate"),_e=ne.get("symbolOffset");isArray$2(ge)||(ge=[ge,ge]),isArray$2(me)||(me=[me,me]),isArray$2(ye)||(ye=[ye,ye]),isArray$2(_e)||(_e=[_e,_e]),he.from.each(function(xe){be(fe,xe,!0),be(pe,xe,!1)}),ve.each(function(xe){var $e=ve.getItemModel(xe).getModel("lineStyle").getLineStyle();ve.setItemLayout(xe,[fe.getItemLayout(xe),pe.getItemLayout(xe)]),$e.stroke==null&&($e.stroke=fe.getItemVisual(xe,"style").fill),ve.setItemVisual(xe,{fromSymbolKeepAspect:fe.getItemVisual(xe,"symbolKeepAspect"),fromSymbolOffset:fe.getItemVisual(xe,"symbolOffset"),fromSymbolRotate:fe.getItemVisual(xe,"symbolRotate"),fromSymbolSize:fe.getItemVisual(xe,"symbolSize"),fromSymbol:fe.getItemVisual(xe,"symbol"),toSymbolKeepAspect:pe.getItemVisual(xe,"symbolKeepAspect"),toSymbolOffset:pe.getItemVisual(xe,"symbolOffset"),toSymbolRotate:pe.getItemVisual(xe,"symbolRotate"),toSymbolSize:pe.getItemVisual(xe,"symbolSize"),toSymbol:pe.getItemVisual(xe,"symbol"),style:$e})}),de.updateData(ve),he.line.eachItemGraphicEl(function(xe){getECData(xe).dataModel=ne,xe.traverse(function($e){getECData($e).dataModel=ne})});function be(xe,$e,Se){var we=xe.getItemModel($e);updateSingleMarkerEndLayout(xe,$e,Se,ae,oe);var Ae=we.getModel("itemStyle").getItemStyle();Ae.fill==null&&(Ae.fill=getVisualFromData(ue,"color")),xe.setItemVisual($e,{symbolKeepAspect:we.get("symbolKeepAspect"),symbolOffset:retrieve2(we.get("symbolOffset",!0),_e[Se?0:1]),symbolRotate:retrieve2(we.get("symbolRotate",!0),ye[Se?0:1]),symbolSize:retrieve2(we.get("symbolSize"),me[Se?0:1]),symbol:retrieve2(we.get("symbol",!0),ge[Se?0:1]),style:Ae})}this.markKeep(de),de.group.silent=ne.get("silent")||ae.get("silent")},te.type="markLine",te}(MarkerView$1);function createList$1(ee,te,ae){var ne;ee?ne=map$1(ee&&ee.dimensions,function(ce){var de=te.getData().getDimensionInfo(te.getData().mapDimension(ce))||{};return extend$1(extend$1({},de),{name:ce,ordinalMeta:null})}):ne=[{name:"value",type:"float"}];var ie=new SeriesData$1(ne,ae),oe=new SeriesData$1(ne,ae),se=new SeriesData$1([],ae),le=map$1(ae.get("data"),curry$1(markLineTransform,te,ee,ae));ee&&(le=filter(le,curry$1(markLineFilter,ee)));var ue=createMarkerDimValueGetter(!!ee,ne);return ie.initData(map$1(le,function(ce){return ce[0]}),null,ue),oe.initData(map$1(le,function(ce){return ce[1]}),null,ue),se.initData(map$1(le,function(ce){return ce[2]})),se.hasItemOption=!0,{from:ie,to:oe,line:se}}const MarkLineView$1=MarkLineView;function install$d(ee){ee.registerComponentModel(MarkLineModel$1),ee.registerComponentView(MarkLineView$1),ee.registerPreprocessor(function(te){checkMarkerInSeries(te.series,"markLine")&&(te.markLine=te.markLine||{})})}var MarkAreaModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.createMarkerModelFromSeries=function(ae,ne,ie){return new te(ae,ne,ie)},te.type="markArea",te.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},te}(MarkerModel$1);const MarkAreaModel$1=MarkAreaModel;var inner$2=makeInner(),markAreaTransform=function(ee,te,ae,ne){var ie=ne[0],oe=ne[1];if(!(!ie||!oe)){var se=dataTransform(ee,ie),le=dataTransform(ee,oe),ue=se.coord,ce=le.coord;ue[0]=retrieve(ue[0],-1/0),ue[1]=retrieve(ue[1],-1/0),ce[0]=retrieve(ce[0],1/0),ce[1]=retrieve(ce[1],1/0);var de=mergeAll([{},se,le]);return de.coord=[se.coord,le.coord],de.x0=se.x,de.y0=se.y,de.x1=le.x,de.y1=le.y,de}};function isInfinity(ee){return!isNaN(ee)&&!isFinite(ee)}function ifMarkAreaHasOnlyDim(ee,te,ae,ne){var ie=1-ee;return isInfinity(te[ie])&&isInfinity(ae[ie])}function markAreaFilter(ee,te){var ae=te.coord[0],ne=te.coord[1],ie={coord:ae,x:te.x0,y:te.y0},oe={coord:ne,x:te.x1,y:te.y1};return isCoordinateSystemType(ee,"cartesian2d")?ae&&ne&&(ifMarkAreaHasOnlyDim(1,ae,ne)||ifMarkAreaHasOnlyDim(0,ae,ne))?!0:zoneFilter(ee,ie,oe):dataFilter(ee,ie)||dataFilter(ee,oe)}function getSingleMarkerEndPoint(ee,te,ae,ne,ie){var oe=ne.coordinateSystem,se=ee.getItemModel(te),le,ue=parsePercent(se.get(ae[0]),ie.getWidth()),ce=parsePercent(se.get(ae[1]),ie.getHeight());if(!isNaN(ue)&&!isNaN(ce))le=[ue,ce];else{if(ne.getMarkerPosition){var de=ee.getValues(["x0","y0"],te),he=ee.getValues(["x1","y1"],te),fe=oe.clampData(de),pe=oe.clampData(he),ve=[];ae[0]==="x0"?ve[0]=fe[0]>pe[0]?he[0]:de[0]:ve[0]=fe[0]>pe[0]?de[0]:he[0],ae[1]==="y0"?ve[1]=fe[1]>pe[1]?he[1]:de[1]:ve[1]=fe[1]>pe[1]?de[1]:he[1],le=ne.getMarkerPosition(ve,ae,!0)}else{var ge=ee.get(ae[0],te),me=ee.get(ae[1],te),ye=[ge,me];oe.clampData&&oe.clampData(ye,ye),le=oe.dataToPoint(ye,!0)}if(isCoordinateSystemType(oe,"cartesian2d")){var _e=oe.getAxis("x"),be=oe.getAxis("y"),ge=ee.get(ae[0],te),me=ee.get(ae[1],te);isInfinity(ge)?le[0]=_e.toGlobalCoord(_e.getExtent()[ae[0]==="x0"?0:1]):isInfinity(me)&&(le[1]=be.toGlobalCoord(be.getExtent()[ae[1]==="y0"?0:1]))}isNaN(ue)||(le[0]=ue),isNaN(ce)||(le[1]=ce)}return le}var dimPermutations=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],MarkAreaView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.updateTransform=function(ae,ne,ie){ne.eachSeries(function(oe){var se=MarkerModel$1.getMarkerModelFromSeries(oe,"markArea");if(se){var le=se.getData();le.each(function(ue){var ce=map$1(dimPermutations,function(he){return getSingleMarkerEndPoint(le,ue,he,oe,ie)});le.setItemLayout(ue,ce);var de=le.getItemGraphicEl(ue);de.setShape("points",ce)})}},this)},te.prototype.renderSeries=function(ae,ne,ie,oe){var se=ae.coordinateSystem,le=ae.id,ue=ae.getData(),ce=this.markerGroupMap,de=ce.get(le)||ce.set(le,{group:new Group$4});this.group.add(de.group),this.markKeep(de);var he=createList(se,ae,ne);ne.setData(he),he.each(function(fe){var pe=map$1(dimPermutations,function(Ae){return getSingleMarkerEndPoint(he,fe,Ae,ae,oe)}),ve=se.getAxis("x").scale,ge=se.getAxis("y").scale,me=ve.getExtent(),ye=ge.getExtent(),_e=[ve.parse(he.get("x0",fe)),ve.parse(he.get("x1",fe))],be=[ge.parse(he.get("y0",fe)),ge.parse(he.get("y1",fe))];asc$2(_e),asc$2(be);var xe=!(me[0]>_e[1]||me[1]<_e[0]||ye[0]>be[1]||ye[1]<be[0]),$e=!xe;he.setItemLayout(fe,{points:pe,allClipped:$e});var Se=he.getItemModel(fe).getModel("itemStyle").getItemStyle(),we=getVisualFromData(ue,"color");Se.fill||(Se.fill=we,isString$1(Se.fill)&&(Se.fill=modifyAlpha(Se.fill,.4))),Se.stroke||(Se.stroke=we),he.setItemVisual(fe,"style",Se)}),he.diff(inner$2(de).data).add(function(fe){var pe=he.getItemLayout(fe);if(!pe.allClipped){var ve=new Polygon$1({shape:{points:pe.points}});he.setItemGraphicEl(fe,ve),de.group.add(ve)}}).update(function(fe,pe){var ve=inner$2(de).data.getItemGraphicEl(pe),ge=he.getItemLayout(fe);ge.allClipped?ve&&de.group.remove(ve):(ve?updateProps$1(ve,{shape:{points:ge.points}},ne,fe):ve=new Polygon$1({shape:{points:ge.points}}),he.setItemGraphicEl(fe,ve),de.group.add(ve))}).remove(function(fe){var pe=inner$2(de).data.getItemGraphicEl(fe);de.group.remove(pe)}).execute(),he.eachItemGraphicEl(function(fe,pe){var ve=he.getItemModel(pe),ge=he.getItemVisual(pe,"style");fe.useStyle(he.getItemVisual(pe,"style")),setLabelStyle(fe,getLabelStatesModels(ve),{labelFetcher:ne,labelDataIndex:pe,defaultText:he.getName(pe)||"",inheritColor:isString$1(ge.fill)?modifyAlpha(ge.fill,1):"#000"}),setStatesStylesFromModel(fe,ve),toggleHoverEmphasis(fe,null,null,ve.get(["emphasis","disabled"])),getECData(fe).dataModel=ne}),inner$2(de).data=he,de.group.silent=ne.get("silent")||ae.get("silent")},te.type="markArea",te}(MarkerView$1);function createList(ee,te,ae){var ne,ie,oe=["x0","y0","x1","y1"];if(ee){var se=map$1(ee&&ee.dimensions,function(ce){var de=te.getData(),he=de.getDimensionInfo(de.mapDimension(ce))||{};return extend$1(extend$1({},he),{name:ce,ordinalMeta:null})});ie=map$1(oe,function(ce,de){return{name:ce,type:se[de%2].type}}),ne=new SeriesData$1(ie,ae)}else ie=[{name:"value",type:"float"}],ne=new SeriesData$1(ie,ae);var le=map$1(ae.get("data"),curry$1(markAreaTransform,te,ee,ae));ee&&(le=filter(le,curry$1(markAreaFilter,ee)));var ue=ee?function(ce,de,he,fe){var pe=ce.coord[Math.floor(fe/2)][fe%2];return parseDataValue(pe,ie[fe])}:function(ce,de,he,fe){return parseDataValue(ce.value,ie[fe])};return ne.initData(le,null,ue),ne.hasItemOption=!0,ne}const MarkAreaView$1=MarkAreaView;function install$c(ee){ee.registerComponentModel(MarkAreaModel$1),ee.registerComponentView(MarkAreaView$1),ee.registerPreprocessor(function(te){checkMarkerInSeries(te.series,"markArea")&&(te.markArea=te.markArea||{})})}var getDefaultSelectorOptions=function(ee,te){if(te==="all")return{type:"all",title:ee.getLocaleModel().get(["legend","selector","all"])};if(te==="inverse")return{type:"inverse",title:ee.getLocaleModel().get(["legend","selector","inverse"])}},LegendModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.layoutMode={type:"box",ignoreSize:!0},ae}return te.prototype.init=function(ae,ne,ie){this.mergeDefaultAndTheme(ae,ie),ae.selected=ae.selected||{},this._updateSelector(ae)},te.prototype.mergeOption=function(ae,ne){ee.prototype.mergeOption.call(this,ae,ne),this._updateSelector(ae)},te.prototype._updateSelector=function(ae){var ne=ae.selector,ie=this.ecModel;ne===!0&&(ne=ae.selector=["all","inverse"]),isArray$2(ne)&&each$f(ne,function(oe,se){isString$1(oe)&&(oe={type:oe}),ne[se]=merge$1(oe,getDefaultSelectorOptions(ie,oe.type))})},te.prototype.optionUpdated=function(){this._updateData(this.ecModel);var ae=this._data;if(ae[0]&&this.get("selectedMode")==="single"){for(var ne=!1,ie=0;ie<ae.length;ie++){var oe=ae[ie].get("name");if(this.isSelected(oe)){this.select(oe),ne=!0;break}}!ne&&this.select(ae[0].get("name"))}},te.prototype._updateData=function(ae){var ne=[],ie=[];ae.eachRawSeries(function(ue){var ce=ue.name;ie.push(ce);var de;if(ue.legendVisualProvider){var he=ue.legendVisualProvider,fe=he.getAllNames();ae.isSeriesFiltered(ue)||(ie=ie.concat(fe)),fe.length?ne=ne.concat(fe):de=!0}else de=!0;de&&isNameSpecified(ue)&&ne.push(ue.name)}),this._availableNames=ie;var oe=this.get("data")||ne,se=createHashMap(),le=map$1(oe,function(ue){return(isString$1(ue)||isNumber$1(ue))&&(ue={name:ue}),se.get(ue.name)?null:(se.set(ue.name,!0),new Model$1(ue,this,this.ecModel))},this);this._data=filter(le,function(ue){return!!ue})},te.prototype.getData=function(){return this._data},te.prototype.select=function(ae){var ne=this.option.selected,ie=this.get("selectedMode");if(ie==="single"){var oe=this._data;each$f(oe,function(se){ne[se.get("name")]=!1})}ne[ae]=!0},te.prototype.unSelect=function(ae){this.get("selectedMode")!=="single"&&(this.option.selected[ae]=!1)},te.prototype.toggleSelected=function(ae){var ne=this.option.selected;ne.hasOwnProperty(ae)||(ne[ae]=!0),this[ne[ae]?"unSelect":"select"](ae)},te.prototype.allSelect=function(){var ae=this._data,ne=this.option.selected;each$f(ae,function(ie){ne[ie.get("name",!0)]=!0})},te.prototype.inverseSelect=function(){var ae=this._data,ne=this.option.selected;each$f(ae,function(ie){var oe=ie.get("name",!0);ne.hasOwnProperty(oe)||(ne[oe]=!0),ne[oe]=!ne[oe]})},te.prototype.isSelected=function(ae){var ne=this.option.selected;return!(ne.hasOwnProperty(ae)&&!ne[ae])&&indexOf(this._availableNames,ae)>=0},te.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},te.type="legend.plain",te.dependencies=["series"],te.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},te}(ComponentModel$1);const LegendModel$1=LegendModel;var curry=curry$1,each$3=each$f,Group$1=Group$4,LegendView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.newlineDisabled=!1,ae}return te.prototype.init=function(){this.group.add(this._contentGroup=new Group$1),this.group.add(this._selectorGroup=new Group$1),this._isFirstRender=!0},te.prototype.getContentGroup=function(){return this._contentGroup},te.prototype.getSelectorGroup=function(){return this._selectorGroup},te.prototype.render=function(ae,ne,ie){var oe=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!ae.get("show",!0)){var se=ae.get("align"),le=ae.get("orient");(!se||se==="auto")&&(se=ae.get("left")==="right"&&le==="vertical"?"right":"left");var ue=ae.get("selector",!0),ce=ae.get("selectorPosition",!0);ue&&(!ce||ce==="auto")&&(ce=le==="horizontal"?"end":"start"),this.renderInner(se,ae,ne,ie,ue,le,ce);var de=ae.getBoxLayoutParams(),he={width:ie.getWidth(),height:ie.getHeight()},fe=ae.get("padding"),pe=getLayoutRect(de,he,fe),ve=this.layoutInner(ae,se,pe,oe,ue,ce),ge=getLayoutRect(defaults$2({width:ve.width,height:ve.height},de),he,fe);this.group.x=ge.x-ve.x,this.group.y=ge.y-ve.y,this.group.markRedraw(),this.group.add(this._backgroundEl=makeBackground(ve,ae))}},te.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},te.prototype.renderInner=function(ae,ne,ie,oe,se,le,ue){var ce=this.getContentGroup(),de=createHashMap(),he=ne.get("selectedMode"),fe=[];ie.eachRawSeries(function(pe){!pe.get("legendHoverLink")&&fe.push(pe.id)}),each$3(ne.getData(),function(pe,ve){var ge=pe.get("name");if(!this.newlineDisabled&&(ge===""||ge===`
-`)){var me=new Group$1;me.newline=!0,ce.add(me);return}var ye=ie.getSeriesByName(ge)[0];if(!de.get(ge))if(ye){var _e=ye.getData(),be=_e.getVisual("legendLineStyle")||{},xe=_e.getVisual("legendIcon"),$e=_e.getVisual("style"),Se=this._createItem(ye,ge,ve,pe,ne,ae,be,$e,xe,he,oe);Se.on("click",curry(dispatchSelectAction,ge,null,oe,fe)).on("mouseover",curry(dispatchHighlightAction,ye.name,null,oe,fe)).on("mouseout",curry(dispatchDownplayAction,ye.name,null,oe,fe)),de.set(ge,!0)}else ie.eachRawSeries(function(we){if(!de.get(ge)&&we.legendVisualProvider){var Ae=we.legendVisualProvider;if(!Ae.containName(ge))return;var Te=Ae.indexOfName(ge),De=Ae.getItemVisual(Te,"style"),Me=Ae.getItemVisual(Te,"legendIcon"),Ie=parse$1(De.fill);Ie&&Ie[3]===0&&(Ie[3]=.2,De=extend$1(extend$1({},De),{fill:stringify(Ie,"rgba")}));var Ce=this._createItem(we,ge,ve,pe,ne,ae,{},De,Me,he,oe);Ce.on("click",curry(dispatchSelectAction,null,ge,oe,fe)).on("mouseover",curry(dispatchHighlightAction,null,ge,oe,fe)).on("mouseout",curry(dispatchDownplayAction,null,ge,oe,fe)),de.set(ge,!0)}},this)},this),se&&this._createSelector(se,ne,oe,le,ue)},te.prototype._createSelector=function(ae,ne,ie,oe,se){var le=this.getSelectorGroup();each$3(ae,function(ce){var de=ce.type,he=new ZRText$1({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){ie.dispatchAction({type:de==="all"?"legendAllSelect":"legendInverseSelect"})}});le.add(he);var fe=ne.getModel("selectorLabel"),pe=ne.getModel(["emphasis","selectorLabel"]);setLabelStyle(he,{normal:fe,emphasis:pe},{defaultText:ce.title}),enableHoverEmphasis(he)})},te.prototype._createItem=function(ae,ne,ie,oe,se,le,ue,ce,de,he,fe){var pe=ae.visualDrawType,ve=se.get("itemWidth"),ge=se.get("itemHeight"),me=se.isSelected(ne),ye=oe.get("symbolRotate"),_e=oe.get("symbolKeepAspect"),be=oe.get("icon");de=be||de||"roundRect";var xe=getLegendStyle(de,oe,ue,ce,pe,me,fe),$e=new Group$1,Se=oe.getModel("textStyle");if(isFunction$1(ae.getLegendIcon)&&(!be||be==="inherit"))$e.add(ae.getLegendIcon({itemWidth:ve,itemHeight:ge,icon:de,iconRotate:ye,itemStyle:xe.itemStyle,lineStyle:xe.lineStyle,symbolKeepAspect:_e}));else{var we=be==="inherit"&&ae.getData().getVisual("symbol")?ye==="inherit"?ae.getData().getVisual("symbolRotate"):ye:0;$e.add(getDefaultLegendIcon({itemWidth:ve,itemHeight:ge,icon:de,iconRotate:we,itemStyle:xe.itemStyle,lineStyle:xe.lineStyle,symbolKeepAspect:_e}))}var Ae=le==="left"?ve+5:-5,Te=le,De=se.get("formatter"),Me=ne;isString$1(De)&&De?Me=De.replace("{name}",ne??""):isFunction$1(De)&&(Me=De(ne));var Ie=me?Se.getTextColor():oe.get("inactiveColor");$e.add(new ZRText$1({style:createTextStyle$1(Se,{text:Me,x:Ae,y:ge/2,fill:Ie,align:Te,verticalAlign:"middle"},{inheritColor:Ie})}));var Ce=new Rect$3({shape:$e.getBoundingRect(),invisible:!0}),Ee=oe.getModel("tooltip");return Ee.get("show")&&setTooltipConfig({el:Ce,componentModel:se,itemName:ne,itemTooltipOption:Ee.option}),$e.add(Ce),$e.eachChild(function(Re){Re.silent=!0}),Ce.silent=!he,this.getContentGroup().add($e),enableHoverEmphasis($e),$e.__legendDataIndex=ie,$e},te.prototype.layoutInner=function(ae,ne,ie,oe,se,le){var ue=this.getContentGroup(),ce=this.getSelectorGroup();box(ae.get("orient"),ue,ae.get("itemGap"),ie.width,ie.height);var de=ue.getBoundingRect(),he=[-de.x,-de.y];if(ce.markRedraw(),ue.markRedraw(),se){box("horizontal",ce,ae.get("selectorItemGap",!0));var fe=ce.getBoundingRect(),pe=[-fe.x,-fe.y],ve=ae.get("selectorButtonGap",!0),ge=ae.getOrient().index,me=ge===0?"width":"height",ye=ge===0?"height":"width",_e=ge===0?"y":"x";le==="end"?pe[ge]+=de[me]+ve:he[ge]+=fe[me]+ve,pe[1-ge]+=de[ye]/2-fe[ye]/2,ce.x=pe[0],ce.y=pe[1],ue.x=he[0],ue.y=he[1];var be={x:0,y:0};return be[me]=de[me]+ve+fe[me],be[ye]=Math.max(de[ye],fe[ye]),be[_e]=Math.min(0,fe[_e]+pe[1-ge]),be}else return ue.x=he[0],ue.y=he[1],this.group.getBoundingRect()},te.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},te.type="legend.plain",te}(ComponentView$1);function getLegendStyle(ee,te,ae,ne,ie,oe,se){function le(me,ye){me.lineWidth==="auto"&&(me.lineWidth=ye.lineWidth>0?2:0),each$3(me,function(_e,be){me[be]==="inherit"&&(me[be]=ye[be])})}var ue=te.getModel("itemStyle"),ce=ue.getItemStyle(),de=ee.lastIndexOf("empty",0)===0?"fill":"stroke",he=ue.getShallow("decal");ce.decal=!he||he==="inherit"?ne.decal:createOrUpdatePatternFromDecal(he,se),ce.fill==="inherit"&&(ce.fill=ne[ie]),ce.stroke==="inherit"&&(ce.stroke=ne[de]),ce.opacity==="inherit"&&(ce.opacity=(ie==="fill"?ne:ae).opacity),le(ce,ne);var fe=te.getModel("lineStyle"),pe=fe.getLineStyle();if(le(pe,ae),ce.fill==="auto"&&(ce.fill=ne.fill),ce.stroke==="auto"&&(ce.stroke=ne.fill),pe.stroke==="auto"&&(pe.stroke=ne.fill),!oe){var ve=te.get("inactiveBorderWidth"),ge=ce[de];ce.lineWidth=ve==="auto"?ne.lineWidth>0&&ge?2:0:ce.lineWidth,ce.fill=te.get("inactiveColor"),ce.stroke=te.get("inactiveBorderColor"),pe.stroke=fe.get("inactiveColor"),pe.lineWidth=fe.get("inactiveWidth")}return{itemStyle:ce,lineStyle:pe}}function getDefaultLegendIcon(ee){var te=ee.icon||"roundRect",ae=createSymbol$1(te,0,0,ee.itemWidth,ee.itemHeight,ee.itemStyle.fill,ee.symbolKeepAspect);return ae.setStyle(ee.itemStyle),ae.rotation=(ee.iconRotate||0)*Math.PI/180,ae.setOrigin([ee.itemWidth/2,ee.itemHeight/2]),te.indexOf("empty")>-1&&(ae.style.stroke=ae.style.fill,ae.style.fill="#fff",ae.style.lineWidth=2),ae}function dispatchSelectAction(ee,te,ae,ne){dispatchDownplayAction(ee,te,ae,ne),ae.dispatchAction({type:"legendToggleSelect",name:ee??te}),dispatchHighlightAction(ee,te,ae,ne)}function isUseHoverLayer(ee){for(var te=ee.getZr().storage.getDisplayList(),ae,ne=0,ie=te.length;ne<ie&&!(ae=te[ne].states.emphasis);)ne++;return ae&&ae.hoverLayer}function dispatchHighlightAction(ee,te,ae,ne){isUseHoverLayer(ae)||ae.dispatchAction({type:"highlight",seriesName:ee,name:te,excludeSeriesId:ne})}function dispatchDownplayAction(ee,te,ae,ne){isUseHoverLayer(ae)||ae.dispatchAction({type:"downplay",seriesName:ee,name:te,excludeSeriesId:ne})}const LegendView$1=LegendView;function legendFilter(ee){var te=ee.findComponents({mainType:"legend"});te&&te.length&&ee.filterSeries(function(ae){for(var ne=0;ne<te.length;ne++)if(!te[ne].isSelected(ae.name))return!1;return!0})}function legendSelectActionHandler(ee,te,ae){var ne={},ie=ee==="toggleSelected",oe;return ae.eachComponent("legend",function(se){ie&&oe!=null?se[oe?"select":"unSelect"](te.name):ee==="allSelect"||ee==="inverseSelect"?se[ee]():(se[ee](te.name),oe=se.isSelected(te.name));var le=se.getData();each$f(le,function(ue){var ce=ue.get("name");if(!(ce===`
-`||ce==="")){var de=se.isSelected(ce);ne.hasOwnProperty(ce)?ne[ce]=ne[ce]&&de:ne[ce]=de}})}),ee==="allSelect"||ee==="inverseSelect"?{selected:ne}:{name:te.name,selected:ne}}function installLegendAction(ee){ee.registerAction("legendToggleSelect","legendselectchanged",curry$1(legendSelectActionHandler,"toggleSelected")),ee.registerAction("legendAllSelect","legendselectall",curry$1(legendSelectActionHandler,"allSelect")),ee.registerAction("legendInverseSelect","legendinverseselect",curry$1(legendSelectActionHandler,"inverseSelect")),ee.registerAction("legendSelect","legendselected",curry$1(legendSelectActionHandler,"select")),ee.registerAction("legendUnSelect","legendunselected",curry$1(legendSelectActionHandler,"unSelect"))}function install$b(ee){ee.registerComponentModel(LegendModel$1),ee.registerComponentView(LegendView$1),ee.registerProcessor(ee.PRIORITY.PROCESSOR.SERIES_FILTER,legendFilter),ee.registerSubTypeDefaulter("legend",function(){return"plain"}),installLegendAction(ee)}var ScrollableLegendModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.setScrollDataIndex=function(ae){this.option.scrollDataIndex=ae},te.prototype.init=function(ae,ne,ie){var oe=getLayoutParams(ae);ee.prototype.init.call(this,ae,ne,ie),mergeAndNormalizeLayoutParams(this,ae,oe)},te.prototype.mergeOption=function(ae,ne){ee.prototype.mergeOption.call(this,ae,ne),mergeAndNormalizeLayoutParams(this,this.option,ae)},te.type="legend.scroll",te.defaultOption=inheritDefaultOption(LegendModel$1.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800}),te}(LegendModel$1);function mergeAndNormalizeLayoutParams(ee,te,ae){var ne=ee.getOrient(),ie=[1,1];ie[ne.index]=0,mergeLayoutParam(te,ae,{type:"box",ignoreSize:!!ie})}const ScrollableLegendModel$1=ScrollableLegendModel;var Group=Group$4,WH=["width","height"],XY=["x","y"],ScrollableLegendView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.newlineDisabled=!0,ae._currentIndex=0,ae}return te.prototype.init=function(){ee.prototype.init.call(this),this.group.add(this._containerGroup=new Group),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new Group)},te.prototype.resetInner=function(){ee.prototype.resetInner.call(this),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},te.prototype.renderInner=function(ae,ne,ie,oe,se,le,ue){var ce=this;ee.prototype.renderInner.call(this,ae,ne,ie,oe,se,le,ue);var de=this._controllerGroup,he=ne.get("pageIconSize",!0),fe=isArray$2(he)?he:[he,he];ve("pagePrev",0);var pe=ne.getModel("pageTextStyle");de.add(new ZRText$1({name:"pageText",style:{text:"xx/xx",fill:pe.getTextColor(),font:pe.getFont(),verticalAlign:"middle",align:"center"},silent:!0})),ve("pageNext",1);function ve(ge,me){var ye=ge+"DataIndex",_e=createIcon(ne.get("pageIcons",!0)[ne.getOrient().name][me],{onclick:bind$2(ce._pageGo,ce,ye,ne,oe)},{x:-fe[0]/2,y:-fe[1]/2,width:fe[0],height:fe[1]});_e.name=ge,de.add(_e)}},te.prototype.layoutInner=function(ae,ne,ie,oe,se,le){var ue=this.getSelectorGroup(),ce=ae.getOrient().index,de=WH[ce],he=XY[ce],fe=WH[1-ce],pe=XY[1-ce];se&&box("horizontal",ue,ae.get("selectorItemGap",!0));var ve=ae.get("selectorButtonGap",!0),ge=ue.getBoundingRect(),me=[-ge.x,-ge.y],ye=clone$4(ie);se&&(ye[de]=ie[de]-ge[de]-ve);var _e=this._layoutContentAndController(ae,oe,ye,ce,de,fe,pe,he);if(se){if(le==="end")me[ce]+=_e[de]+ve;else{var be=ge[de]+ve;me[ce]-=be,_e[he]-=be}_e[de]+=ge[de]+ve,me[1-ce]+=_e[pe]+_e[fe]/2-ge[fe]/2,_e[fe]=Math.max(_e[fe],ge[fe]),_e[pe]=Math.min(_e[pe],ge[pe]+me[1-ce]),ue.x=me[0],ue.y=me[1],ue.markRedraw()}return _e},te.prototype._layoutContentAndController=function(ae,ne,ie,oe,se,le,ue,ce){var de=this.getContentGroup(),he=this._containerGroup,fe=this._controllerGroup;box(ae.get("orient"),de,ae.get("itemGap"),oe?ie.width:null,oe?null:ie.height),box("horizontal",fe,ae.get("pageButtonItemGap",!0));var pe=de.getBoundingRect(),ve=fe.getBoundingRect(),ge=this._showController=pe[se]>ie[se],me=[-pe.x,-pe.y];ne||(me[oe]=de[ce]);var ye=[0,0],_e=[-ve.x,-ve.y],be=retrieve2(ae.get("pageButtonGap",!0),ae.get("itemGap",!0));if(ge){var xe=ae.get("pageButtonPosition",!0);xe==="end"?_e[oe]+=ie[se]-ve[se]:ye[oe]+=ve[se]+be}_e[1-oe]+=pe[le]/2-ve[le]/2,de.setPosition(me),he.setPosition(ye),fe.setPosition(_e);var $e={x:0,y:0};if($e[se]=ge?ie[se]:pe[se],$e[le]=Math.max(pe[le],ve[le]),$e[ue]=Math.min(0,ve[ue]+_e[1-oe]),he.__rectSize=ie[se],ge){var Se={x:0,y:0};Se[se]=Math.max(ie[se]-ve[se]-be,0),Se[le]=$e[le],he.setClipPath(new Rect$3({shape:Se})),he.__rectSize=Se[se]}else fe.eachChild(function(Ae){Ae.attr({invisible:!0,silent:!0})});var we=this._getPageInfo(ae);return we.pageIndex!=null&&updateProps$1(de,{x:we.contentPosition[0],y:we.contentPosition[1]},ge?ae:null),this._updatePageInfoView(ae,we),$e},te.prototype._pageGo=function(ae,ne,ie){var oe=this._getPageInfo(ne)[ae];oe!=null&&ie.dispatchAction({type:"legendScroll",scrollDataIndex:oe,legendId:ne.id})},te.prototype._updatePageInfoView=function(ae,ne){var ie=this._controllerGroup;each$f(["pagePrev","pageNext"],function(de){var he=de+"DataIndex",fe=ne[he]!=null,pe=ie.childOfName(de);pe&&(pe.setStyle("fill",fe?ae.get("pageIconColor",!0):ae.get("pageIconInactiveColor",!0)),pe.cursor=fe?"pointer":"default")});var oe=ie.childOfName("pageText"),se=ae.get("pageFormatter"),le=ne.pageIndex,ue=le!=null?le+1:0,ce=ne.pageCount;oe&&se&&oe.setStyle("text",isString$1(se)?se.replace("{current}",ue==null?"":ue+"").replace("{total}",ce==null?"":ce+""):se({current:ue,total:ce}))},te.prototype._getPageInfo=function(ae){var ne=ae.get("scrollDataIndex",!0),ie=this.getContentGroup(),oe=this._containerGroup.__rectSize,se=ae.getOrient().index,le=WH[se],ue=XY[se],ce=this._findTargetItemIndex(ne),de=ie.children(),he=de[ce],fe=de.length,pe=fe?1:0,ve={contentPosition:[ie.x,ie.y],pageCount:pe,pageIndex:pe-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!he)return ve;var ge=xe(he);ve.contentPosition[se]=-ge.s;for(var me=ce+1,ye=ge,_e=ge,be=null;me<=fe;++me)be=xe(de[me]),(!be&&_e.e>ye.s+oe||be&&!$e(be,ye.s))&&(_e.i>ye.i?ye=_e:ye=be,ye&&(ve.pageNextDataIndex==null&&(ve.pageNextDataIndex=ye.i),++ve.pageCount)),_e=be;for(var me=ce-1,ye=ge,_e=ge,be=null;me>=-1;--me)be=xe(de[me]),(!be||!$e(_e,be.s))&&ye.i<_e.i&&(_e=ye,ve.pagePrevDataIndex==null&&(ve.pagePrevDataIndex=ye.i),++ve.pageCount,++ve.pageIndex),ye=be;return ve;function xe(Se){if(Se){var we=Se.getBoundingRect(),Ae=we[ue]+Se[ue];return{s:Ae,e:Ae+we[le],i:Se.__legendDataIndex}}}function $e(Se,we){return Se.e>=we&&Se.s<=we+oe}},te.prototype._findTargetItemIndex=function(ae){if(!this._showController)return 0;var ne,ie=this.getContentGroup(),oe;return ie.eachChild(function(se,le){var ue=se.__legendDataIndex;oe==null&&ue!=null&&(oe=le),ue===ae&&(ne=le)}),ne??oe},te.type="legend.scroll",te}(LegendView$1);const ScrollableLegendView$1=ScrollableLegendView;function installScrollableLegendAction(ee){ee.registerAction("legendScroll","legendscroll",function(te,ae){var ne=te.scrollDataIndex;ne!=null&&ae.eachComponent({mainType:"legend",subType:"scroll",query:te},function(ie){ie.setScrollDataIndex(ne)})})}function install$a(ee){use(install$b),ee.registerComponentModel(ScrollableLegendModel$1),ee.registerComponentView(ScrollableLegendView$1),installScrollableLegendAction(ee)}function install$9(ee){use(install$b),use(install$a)}var InsideZoomModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="dataZoom.inside",te.defaultOption=inheritDefaultOption(DataZoomModel$1.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),te}(DataZoomModel$1);const InsideZoomModel$1=InsideZoomModel;var inner$1=makeInner();function setViewInfoToCoordSysRecord(ee,te,ae){inner$1(ee).coordSysRecordMap.each(function(ne){var ie=ne.dataZoomInfoMap.get(te.uid);ie&&(ie.getRange=ae)})}function disposeCoordSysRecordIfNeeded(ee,te){for(var ae=inner$1(ee).coordSysRecordMap,ne=ae.keys(),ie=0;ie<ne.length;ie++){var oe=ne[ie],se=ae.get(oe),le=se.dataZoomInfoMap;if(le){var ue=te.uid,ce=le.get(ue);ce&&(le.removeKey(ue),le.keys().length||disposeCoordSysRecord(ae,se))}}}function disposeCoordSysRecord(ee,te){if(te){ee.removeKey(te.model.uid);var ae=te.controller;ae&&ae.dispose()}}function createCoordSysRecord(ee,te){var ae={model:te,containsPoint:curry$1(containsPoint,te),dispatchAction:curry$1(dispatchAction,ee),dataZoomInfoMap:null,controller:null},ne=ae.controller=new RoamController$1(ee.getZr());return each$f(["pan","zoom","scrollMove"],function(ie){ne.on(ie,function(oe){var se=[];ae.dataZoomInfoMap.each(function(le){if(oe.isAvailableBehavior(le.model.option)){var ue=(le.getRange||{})[ie],ce=ue&&ue(le.dzReferCoordSysInfo,ae.model.mainType,ae.controller,oe);!le.model.get("disabled",!0)&&ce&&se.push({dataZoomId:le.model.id,start:ce[0],end:ce[1]})}}),se.length&&ae.dispatchAction(se)})}),ae}function dispatchAction(ee,te){ee.isDisposed()||ee.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:te})}function containsPoint(ee,te,ae,ne){return ee.coordinateSystem.containPoint([ae,ne])}function mergeControllerParams(ee){var te,ae="type_",ne={type_true:2,type_move:1,type_false:0,type_undefined:-1},ie=!0;return ee.each(function(oe){var se=oe.model,le=se.get("disabled",!0)?!1:se.get("zoomLock",!0)?"move":!0;ne[ae+le]>ne[ae+te]&&(te=le),ie=ie&&se.get("preventDefaultMouseMove",!0)}),{controlType:te,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!ie}}}function installDataZoomRoamProcessor(ee){ee.registerProcessor(ee.PRIORITY.PROCESSOR.FILTER,function(te,ae){var ne=inner$1(ae),ie=ne.coordSysRecordMap||(ne.coordSysRecordMap=createHashMap());ie.each(function(oe){oe.dataZoomInfoMap=null}),te.eachComponent({mainType:"dataZoom",subType:"inside"},function(oe){var se=collectReferCoordSysModelInfo(oe);each$f(se.infoList,function(le){var ue=le.model.uid,ce=ie.get(ue)||ie.set(ue,createCoordSysRecord(ae,le.model)),de=ce.dataZoomInfoMap||(ce.dataZoomInfoMap=createHashMap());de.set(oe.uid,{dzReferCoordSysInfo:le,model:oe,getRange:null})})}),ie.each(function(oe){var se=oe.controller,le,ue=oe.dataZoomInfoMap;if(ue){var ce=ue.keys()[0];ce!=null&&(le=ue.get(ce))}if(!le){disposeCoordSysRecord(ie,oe);return}var de=mergeControllerParams(ue);se.enable(de.controlType,de.opt),se.setPointerChecker(oe.containsPoint),createOrUpdate(oe,"dispatchAction",le.model.get("throttle",!0),"fixRate")})})}var InsideZoomView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="dataZoom.inside",ae}return te.prototype.render=function(ae,ne,ie){if(ee.prototype.render.apply(this,arguments),ae.noTarget()){this._clear();return}this.range=ae.getPercentRange(),setViewInfoToCoordSysRecord(ie,ae,{pan:bind$2(getRangeHandlers.pan,this),zoom:bind$2(getRangeHandlers.zoom,this),scrollMove:bind$2(getRangeHandlers.scrollMove,this)})},te.prototype.dispose=function(){this._clear(),ee.prototype.dispose.apply(this,arguments)},te.prototype._clear=function(){disposeCoordSysRecordIfNeeded(this.api,this.dataZoomModel),this.range=null},te.type="dataZoom.inside",te}(DataZoomView$1),getRangeHandlers={zoom:function(ee,te,ae,ne){var ie=this.range,oe=ie.slice(),se=ee.axisModels[0];if(se){var le=getDirectionInfo[te](null,[ne.originX,ne.originY],se,ae,ee),ue=(le.signal>0?le.pixelStart+le.pixelLength-le.pixel:le.pixel-le.pixelStart)/le.pixelLength*(oe[1]-oe[0])+oe[0],ce=Math.max(1/ne.scale,0);oe[0]=(oe[0]-ue)*ce+ue,oe[1]=(oe[1]-ue)*ce+ue;var de=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(sliderMove(0,oe,[0,100],0,de.minSpan,de.maxSpan),this.range=oe,ie[0]!==oe[0]||ie[1]!==oe[1])return oe}},pan:makeMover(function(ee,te,ae,ne,ie,oe){var se=getDirectionInfo[ne]([oe.oldX,oe.oldY],[oe.newX,oe.newY],te,ie,ae);return se.signal*(ee[1]-ee[0])*se.pixel/se.pixelLength}),scrollMove:makeMover(function(ee,te,ae,ne,ie,oe){var se=getDirectionInfo[ne]([0,0],[oe.scrollDelta,oe.scrollDelta],te,ie,ae);return se.signal*(ee[1]-ee[0])*oe.scrollDelta})};function makeMover(ee){return function(te,ae,ne,ie){var oe=this.range,se=oe.slice(),le=te.axisModels[0];if(le){var ue=ee(se,le,te,ae,ne,ie);if(sliderMove(ue,se,[0,100],"all"),this.range=se,oe[0]!==se[0]||oe[1]!==se[1])return se}}}var getDirectionInfo={grid:function(ee,te,ae,ne,ie){var oe=ae.axis,se={},le=ie.model.coordinateSystem.getRect();return ee=ee||[0,0],oe.dim==="x"?(se.pixel=te[0]-ee[0],se.pixelLength=le.width,se.pixelStart=le.x,se.signal=oe.inverse?1:-1):(se.pixel=te[1]-ee[1],se.pixelLength=le.height,se.pixelStart=le.y,se.signal=oe.inverse?-1:1),se},polar:function(ee,te,ae,ne,ie){var oe=ae.axis,se={},le=ie.model.coordinateSystem,ue=le.getRadiusAxis().getExtent(),ce=le.getAngleAxis().getExtent();return ee=ee?le.pointToCoord(ee):[0,0],te=le.pointToCoord(te),ae.mainType==="radiusAxis"?(se.pixel=te[0]-ee[0],se.pixelLength=ue[1]-ue[0],se.pixelStart=ue[0],se.signal=oe.inverse?1:-1):(se.pixel=te[1]-ee[1],se.pixelLength=ce[1]-ce[0],se.pixelStart=ce[0],se.signal=oe.inverse?-1:1),se},singleAxis:function(ee,te,ae,ne,ie){var oe=ae.axis,se=ie.model.coordinateSystem.getRect(),le={};return ee=ee||[0,0],oe.orient==="horizontal"?(le.pixel=te[0]-ee[0],le.pixelLength=se.width,le.pixelStart=se.x,le.signal=oe.inverse?1:-1):(le.pixel=te[1]-ee[1],le.pixelLength=se.height,le.pixelStart=se.y,le.signal=oe.inverse?-1:1),le}};const InsideZoomView$1=InsideZoomView;function install$8(ee){installCommon$1(ee),ee.registerComponentModel(InsideZoomModel$1),ee.registerComponentView(InsideZoomView$1),installDataZoomRoamProcessor(ee)}var SliderZoomModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.type="dataZoom.slider",te.layoutMode="box",te.defaultOption=inheritDefaultOption(DataZoomModel$1.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),te}(DataZoomModel$1);const SliderZoomModel$1=SliderZoomModel;var Rect=Rect$3,DEFAULT_LOCATION_EDGE_GAP=7,DEFAULT_FRAME_BORDER_WIDTH=1,DEFAULT_FILLER_SIZE=30,DEFAULT_MOVE_HANDLE_SIZE=7,HORIZONTAL="horizontal",VERTICAL="vertical",LABEL_GAP=5,SHOW_DATA_SHADOW_SERIES_TYPE=["line","bar","candlestick","scatter"],REALTIME_ANIMATION_CONFIG={easing:"cubicOut",duration:100,delay:0},SliderZoomView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._displayables={},ae}return te.prototype.init=function(ae,ne){this.api=ne,this._onBrush=bind$2(this._onBrush,this),this._onBrushEnd=bind$2(this._onBrushEnd,this)},te.prototype.render=function(ae,ne,ie,oe){if(ee.prototype.render.apply(this,arguments),createOrUpdate(this,"_dispatchZoomAction",ae.get("throttle"),"fixRate"),this._orient=ae.getOrient(),ae.get("show")===!1){this.group.removeAll();return}if(ae.noTarget()){this._clear(),this.group.removeAll();return}(!oe||oe.type!=="dataZoom"||oe.from!==this.uid)&&this._buildView(),this._updateView()},te.prototype.dispose=function(){this._clear(),ee.prototype.dispose.apply(this,arguments)},te.prototype._clear=function(){clear$1(this,"_dispatchZoomAction");var ae=this.api.getZr();ae.off("mousemove",this._onBrush),ae.off("mouseup",this._onBrushEnd)},te.prototype._buildView=function(){var ae=this.group;ae.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var ne=this._displayables.sliderGroup=new Group$4;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),ae.add(ne),this._positionGroup()},te.prototype._resetLocation=function(){var ae=this.dataZoomModel,ne=this.api,ie=ae.get("brushSelect"),oe=ie?DEFAULT_MOVE_HANDLE_SIZE:0,se=this._findCoordRect(),le={width:ne.getWidth(),height:ne.getHeight()},ue=this._orient===HORIZONTAL?{right:le.width-se.x-se.width,top:le.height-DEFAULT_FILLER_SIZE-DEFAULT_LOCATION_EDGE_GAP-oe,width:se.width,height:DEFAULT_FILLER_SIZE}:{right:DEFAULT_LOCATION_EDGE_GAP,top:se.y,width:DEFAULT_FILLER_SIZE,height:se.height},ce=getLayoutParams(ae.option);each$f(["right","top","width","height"],function(he){ce[he]==="ph"&&(ce[he]=ue[he])});var de=getLayoutRect(ce,le);this._location={x:de.x,y:de.y},this._size=[de.width,de.height],this._orient===VERTICAL&&this._size.reverse()},te.prototype._positionGroup=function(){var ae=this.group,ne=this._location,ie=this._orient,oe=this.dataZoomModel.getFirstTargetAxisModel(),se=oe&&oe.get("inverse"),le=this._displayables.sliderGroup,ue=(this._dataShadowInfo||{}).otherAxisInverse;le.attr(ie===HORIZONTAL&&!se?{scaleY:ue?1:-1,scaleX:1}:ie===HORIZONTAL&&se?{scaleY:ue?1:-1,scaleX:-1}:ie===VERTICAL&&!se?{scaleY:ue?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:ue?-1:1,scaleX:-1,rotation:Math.PI/2});var ce=ae.getBoundingRect([le]);ae.x=ne.x-ce.x,ae.y=ne.y-ce.y,ae.markRedraw()},te.prototype._getViewExtent=function(){return[0,this._size[0]]},te.prototype._renderBackground=function(){var ae=this.dataZoomModel,ne=this._size,ie=this._displayables.sliderGroup,oe=ae.get("brushSelect");ie.add(new Rect({silent:!0,shape:{x:0,y:0,width:ne[0],height:ne[1]},style:{fill:ae.get("backgroundColor")},z2:-40}));var se=new Rect({shape:{x:0,y:0,width:ne[0],height:ne[1]},style:{fill:"transparent"},z2:0,onclick:bind$2(this._onClickPanel,this)}),le=this.api.getZr();oe?(se.on("mousedown",this._onBrushStart,this),se.cursor="crosshair",le.on("mousemove",this._onBrush),le.on("mouseup",this._onBrushEnd)):(le.off("mousemove",this._onBrush),le.off("mouseup",this._onBrushEnd)),ie.add(se)},te.prototype._renderDataShadow=function(){var ae=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!ae)return;var ne=this._size,ie=this._shadowSize||[],oe=ae.series,se=oe.getRawData(),le=oe.getShadowDim&&oe.getShadowDim(),ue=le&&se.getDimensionInfo(le)?oe.getShadowDim():ae.otherDim;if(ue==null)return;var ce=this._shadowPolygonPts,de=this._shadowPolylinePts;if(se!==this._shadowData||ue!==this._shadowDim||ne[0]!==ie[0]||ne[1]!==ie[1]){var he=se.getDataExtent(ue),fe=(he[1]-he[0])*.3;he=[he[0]-fe,he[1]+fe];var pe=[0,ne[1]],ve=[0,ne[0]],ge=[[ne[0],0],[0,0]],me=[],ye=ve[1]/(se.count()-1),_e=0,be=Math.round(se.count()/ne[0]),xe;se.each([ue],function(Te,De){if(be>0&&De%be){_e+=ye;return}var Me=Te==null||isNaN(Te)||Te==="",Ie=Me?0:linearMap$2(Te,he,pe,!0);Me&&!xe&&De?(ge.push([ge[ge.length-1][0],0]),me.push([me[me.length-1][0],0])):!Me&&xe&&(ge.push([_e,0]),me.push([_e,0])),ge.push([_e,Ie]),me.push([_e,Ie]),_e+=ye,xe=Me}),ce=this._shadowPolygonPts=ge,de=this._shadowPolylinePts=me}this._shadowData=se,this._shadowDim=ue,this._shadowSize=[ne[0],ne[1]];var $e=this.dataZoomModel;function Se(Te){var De=$e.getModel(Te?"selectedDataBackground":"dataBackground"),Me=new Group$4,Ie=new Polygon$1({shape:{points:ce},segmentIgnoreThreshold:1,style:De.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),Ce=new Polyline$3({shape:{points:de},segmentIgnoreThreshold:1,style:De.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return Me.add(Ie),Me.add(Ce),Me}for(var we=0;we<3;we++){var Ae=Se(we===1);this._displayables.sliderGroup.add(Ae),this._displayables.dataShadowSegs.push(Ae)}},te.prototype._prepareDataShadowInfo=function(){var ae=this.dataZoomModel,ne=ae.get("showDataShadow");if(ne!==!1){var ie,oe=this.ecModel;return ae.eachTargetAxis(function(se,le){var ue=ae.getAxisProxy(se,le).getTargetSeriesModels();each$f(ue,function(ce){if(!ie&&!(ne!==!0&&indexOf(SHOW_DATA_SHADOW_SERIES_TYPE,ce.get("type"))<0)){var de=oe.getComponent(getAxisMainType(se),le).axis,he=getOtherDim(se),fe,pe=ce.coordinateSystem;he!=null&&pe.getOtherAxis&&(fe=pe.getOtherAxis(de).inverse),he=ce.getData().mapDimension(he),ie={thisAxis:de,series:ce,thisDim:se,otherDim:he,otherAxisInverse:fe}}},this)},this),ie}},te.prototype._renderHandle=function(){var ae=this.group,ne=this._displayables,ie=ne.handles=[null,null],oe=ne.handleLabels=[null,null],se=this._displayables.sliderGroup,le=this._size,ue=this.dataZoomModel,ce=this.api,de=ue.get("borderRadius")||0,he=ue.get("brushSelect"),fe=ne.filler=new Rect({silent:he,style:{fill:ue.get("fillerColor")},textConfig:{position:"inside"}});se.add(fe),se.add(new Rect({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:le[0],height:le[1],r:de},style:{stroke:ue.get("dataBackgroundColor")||ue.get("borderColor"),lineWidth:DEFAULT_FRAME_BORDER_WIDTH,fill:"rgba(0,0,0,0)"}})),each$f([0,1],function(be){var xe=ue.get("handleIcon");!symbolBuildProxies[xe]&&xe.indexOf("path://")<0&&xe.indexOf("image://")<0&&(xe="path://"+xe);var $e=createSymbol$1(xe,-1,0,2,2,null,!0);$e.attr({cursor:getCursor$1(this._orient),draggable:!0,drift:bind$2(this._onDragMove,this,be),ondragend:bind$2(this._onDragEnd,this),onmouseover:bind$2(this._showDataInfo,this,!0),onmouseout:bind$2(this._showDataInfo,this,!1),z2:5});var Se=$e.getBoundingRect(),we=ue.get("handleSize");this._handleHeight=parsePercent(we,this._size[1]),this._handleWidth=Se.width/Se.height*this._handleHeight,$e.setStyle(ue.getModel("handleStyle").getItemStyle()),$e.style.strokeNoScale=!0,$e.rectHover=!0,$e.ensureState("emphasis").style=ue.getModel(["emphasis","handleStyle"]).getItemStyle(),enableHoverEmphasis($e);var Ae=ue.get("handleColor");Ae!=null&&($e.style.fill=Ae),se.add(ie[be]=$e);var Te=ue.getModel("textStyle");ae.add(oe[be]=new ZRText$1({silent:!0,invisible:!0,style:createTextStyle$1(Te,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:Te.getTextColor(),font:Te.getFont()}),z2:10}))},this);var pe=fe;if(he){var ve=parsePercent(ue.get("moveHandleSize"),le[1]),ge=ne.moveHandle=new Rect$3({style:ue.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:le[1]-.5,height:ve}}),me=ve*.8,ye=ne.moveHandleIcon=createSymbol$1(ue.get("moveHandleIcon"),-me/2,-me/2,me,me,"#fff",!0);ye.silent=!0,ye.y=le[1]+ve/2-.5,ge.ensureState("emphasis").style=ue.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var _e=Math.min(le[1]/2,Math.max(ve,10));pe=ne.moveZone=new Rect$3({invisible:!0,shape:{y:le[1]-_e,height:ve+_e}}),pe.on("mouseover",function(){ce.enterEmphasis(ge)}).on("mouseout",function(){ce.leaveEmphasis(ge)}),se.add(ge),se.add(ye),se.add(pe)}pe.attr({draggable:!0,cursor:getCursor$1(this._orient),drift:bind$2(this._onDragMove,this,"all"),ondragstart:bind$2(this._showDataInfo,this,!0),ondragend:bind$2(this._onDragEnd,this),onmouseover:bind$2(this._showDataInfo,this,!0),onmouseout:bind$2(this._showDataInfo,this,!1)})},te.prototype._resetInterval=function(){var ae=this._range=this.dataZoomModel.getPercentRange(),ne=this._getViewExtent();this._handleEnds=[linearMap$2(ae[0],[0,100],ne,!0),linearMap$2(ae[1],[0,100],ne,!0)]},te.prototype._updateInterval=function(ae,ne){var ie=this.dataZoomModel,oe=this._handleEnds,se=this._getViewExtent(),le=ie.findRepresentativeAxisProxy().getMinMaxSpan(),ue=[0,100];sliderMove(ne,oe,se,ie.get("zoomLock")?"all":ae,le.minSpan!=null?linearMap$2(le.minSpan,ue,se,!0):null,le.maxSpan!=null?linearMap$2(le.maxSpan,ue,se,!0):null);var ce=this._range,de=this._range=asc$2([linearMap$2(oe[0],se,ue,!0),linearMap$2(oe[1],se,ue,!0)]);return!ce||ce[0]!==de[0]||ce[1]!==de[1]},te.prototype._updateView=function(ae){var ne=this._displayables,ie=this._handleEnds,oe=asc$2(ie.slice()),se=this._size;each$f([0,1],function(pe){var ve=ne.handles[pe],ge=this._handleHeight;ve.attr({scaleX:ge/2,scaleY:ge/2,x:ie[pe]+(pe?-1:1),y:se[1]/2-ge/2})},this),ne.filler.setShape({x:oe[0],y:0,width:oe[1]-oe[0],height:se[1]});var le={x:oe[0],width:oe[1]-oe[0]};ne.moveHandle&&(ne.moveHandle.setShape(le),ne.moveZone.setShape(le),ne.moveZone.getBoundingRect(),ne.moveHandleIcon&&ne.moveHandleIcon.attr("x",le.x+le.width/2));for(var ue=ne.dataShadowSegs,ce=[0,oe[0],oe[1],se[0]],de=0;de<ue.length;de++){var he=ue[de],fe=he.getClipPath();fe||(fe=new Rect$3,he.setClipPath(fe)),fe.setShape({x:ce[de],y:0,width:ce[de+1]-ce[de],height:se[1]})}this._updateDataInfo(ae)},te.prototype._updateDataInfo=function(ae){var ne=this.dataZoomModel,ie=this._displayables,oe=ie.handleLabels,se=this._orient,le=["",""];if(ne.get("showDetail")){var ue=ne.findRepresentativeAxisProxy();if(ue){var ce=ue.getAxisModel().axis,de=this._range,he=ae?ue.calculateDataWindow({start:de[0],end:de[1]}).valueWindow:ue.getDataValueWindow();le=[this._formatLabel(he[0],ce),this._formatLabel(he[1],ce)]}}var fe=asc$2(this._handleEnds.slice());pe.call(this,0),pe.call(this,1);function pe(ve){var ge=getTransform$1(ie.handles[ve].parent,this.group),me=transformDirection(ve===0?"right":"left",ge),ye=this._handleWidth/2+LABEL_GAP,_e=applyTransform([fe[ve]+(ve===0?-ye:ye),this._size[1]/2],ge);oe[ve].setStyle({x:_e[0],y:_e[1],verticalAlign:se===HORIZONTAL?"middle":me,align:se===HORIZONTAL?me:"center",text:le[ve]})}},te.prototype._formatLabel=function(ae,ne){var ie=this.dataZoomModel,oe=ie.get("labelFormatter"),se=ie.get("labelPrecision");(se==null||se==="auto")&&(se=ne.getPixelPrecision());var le=ae==null||isNaN(ae)?"":ne.type==="category"||ne.type==="time"?ne.scale.getLabel({value:Math.round(ae)}):ae.toFixed(Math.min(se,20));return isFunction$1(oe)?oe(ae,le):isString$1(oe)?oe.replace("{value}",le):le},te.prototype._showDataInfo=function(ae){ae=this._dragging||ae;var ne=this._displayables,ie=ne.handleLabels;ie[0].attr("invisible",!ae),ie[1].attr("invisible",!ae),ne.moveHandle&&this.api[ae?"enterEmphasis":"leaveEmphasis"](ne.moveHandle,1)},te.prototype._onDragMove=function(ae,ne,ie,oe){this._dragging=!0,stop(oe.event);var se=this._displayables.sliderGroup.getLocalTransform(),le=applyTransform([ne,ie],se,!0),ue=this._updateInterval(ae,le[0]),ce=this.dataZoomModel.get("realtime");this._updateView(!ce),ue&&ce&&this._dispatchZoomAction(!0)},te.prototype._onDragEnd=function(){this._dragging=!1,this._showDataInfo(!1);var ae=this.dataZoomModel.get("realtime");!ae&&this._dispatchZoomAction(!1)},te.prototype._onClickPanel=function(ae){var ne=this._size,ie=this._displayables.sliderGroup.transformCoordToLocal(ae.offsetX,ae.offsetY);if(!(ie[0]<0||ie[0]>ne[0]||ie[1]<0||ie[1]>ne[1])){var oe=this._handleEnds,se=(oe[0]+oe[1])/2,le=this._updateInterval("all",ie[0]-se);this._updateView(),le&&this._dispatchZoomAction(!1)}},te.prototype._onBrushStart=function(ae){var ne=ae.offsetX,ie=ae.offsetY;this._brushStart=new Point$1(ne,ie),this._brushing=!0,this._brushStartTime=+new Date},te.prototype._onBrushEnd=function(ae){if(this._brushing){var ne=this._displayables.brushRect;if(this._brushing=!1,!!ne){ne.attr("ignore",!0);var ie=ne.shape,oe=+new Date;if(!(oe-this._brushStartTime<200&&Math.abs(ie.width)<5)){var se=this._getViewExtent(),le=[0,100];this._range=asc$2([linearMap$2(ie.x,se,le,!0),linearMap$2(ie.x+ie.width,se,le,!0)]),this._handleEnds=[ie.x,ie.x+ie.width],this._updateView(),this._dispatchZoomAction(!1)}}}},te.prototype._onBrush=function(ae){this._brushing&&(stop(ae.event),this._updateBrushRect(ae.offsetX,ae.offsetY))},te.prototype._updateBrushRect=function(ae,ne){var ie=this._displayables,oe=this.dataZoomModel,se=ie.brushRect;se||(se=ie.brushRect=new Rect({silent:!0,style:oe.getModel("brushStyle").getItemStyle()}),ie.sliderGroup.add(se)),se.attr("ignore",!1);var le=this._brushStart,ue=this._displayables.sliderGroup,ce=ue.transformCoordToLocal(ae,ne),de=ue.transformCoordToLocal(le.x,le.y),he=this._size;ce[0]=Math.max(Math.min(he[0],ce[0]),0),se.setShape({x:de[0],y:0,width:ce[0]-de[0],height:he[1]})},te.prototype._dispatchZoomAction=function(ae){var ne=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:ae?REALTIME_ANIMATION_CONFIG:null,start:ne[0],end:ne[1]})},te.prototype._findCoordRect=function(){var ae,ne=collectReferCoordSysModelInfo(this.dataZoomModel).infoList;if(!ae&&ne.length){var ie=ne[0].model.coordinateSystem;ae=ie.getRect&&ie.getRect()}if(!ae){var oe=this.api.getWidth(),se=this.api.getHeight();ae={x:oe*.2,y:se*.2,width:oe*.6,height:se*.6}}return ae},te.type="dataZoom.slider",te}(DataZoomView$1);function getOtherDim(ee){var te={x:"y",y:"x",radius:"angle",angle:"radius"};return te[ee]}function getCursor$1(ee){return ee==="vertical"?"ns-resize":"ew-resize"}const SliderZoomView$1=SliderZoomView;function install$7(ee){ee.registerComponentModel(SliderZoomModel$1),ee.registerComponentView(SliderZoomView$1),installCommon$1(ee)}function install$6(ee){use(install$8),use(install$7)}var visualDefault={get:function(ee,te,ae){var ne=clone$4((defaultOption[ee]||{})[te]);return ae&&isArray$2(ne)?ne[ne.length-1]:ne}},defaultOption={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};const visualDefault$1=visualDefault;var mapVisual=VisualMapping$1.mapVisual,eachVisual=VisualMapping$1.eachVisual,isArray$1=isArray$2,each$2=each$f,asc=asc$2,linearMap$1=linearMap$2,VisualMapModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.stateList=["inRange","outOfRange"],ae.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],ae.layoutMode={type:"box",ignoreSize:!0},ae.dataBound=[-1/0,1/0],ae.targetVisuals={},ae.controllerVisuals={},ae}return te.prototype.init=function(ae,ne,ie){this.mergeDefaultAndTheme(ae,ie)},te.prototype.optionUpdated=function(ae,ne){var ie=this.option;!ne&&replaceVisualOption(ie,ae,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},te.prototype.resetVisual=function(ae){var ne=this.stateList;ae=bind$2(ae,this),this.controllerVisuals=createVisualMappings(this.option.controller,ne,ae),this.targetVisuals=createVisualMappings(this.option.target,ne,ae)},te.prototype.getItemSymbol=function(){return null},te.prototype.getTargetSeriesIndices=function(){var ae=this.option.seriesIndex,ne=[];return ae==null||ae==="all"?this.ecModel.eachSeries(function(ie,oe){ne.push(oe)}):ne=normalizeToArray(ae),ne},te.prototype.eachTargetSeries=function(ae,ne){each$f(this.getTargetSeriesIndices(),function(ie){var oe=this.ecModel.getSeriesByIndex(ie);oe&&ae.call(ne,oe)},this)},te.prototype.isTargetSeries=function(ae){var ne=!1;return this.eachTargetSeries(function(ie){ie===ae&&(ne=!0)}),ne},te.prototype.formatValueText=function(ae,ne,ie){var oe=this.option,se=oe.precision,le=this.dataBound,ue=oe.formatter,ce;ie=ie||["<",">"],isArray$2(ae)&&(ae=ae.slice(),ce=!0);var de=ne?ae:ce?[he(ae[0]),he(ae[1])]:he(ae);if(isString$1(ue))return ue.replace("{value}",ce?de[0]:de).replace("{value2}",ce?de[1]:de);if(isFunction$1(ue))return ce?ue(ae[0],ae[1]):ue(ae);if(ce)return ae[0]===le[0]?ie[0]+" "+de[1]:ae[1]===le[1]?ie[1]+" "+de[0]:de[0]+" - "+de[1];return de;function he(fe){return fe===le[0]?"min":fe===le[1]?"max":(+fe).toFixed(Math.min(se,20))}},te.prototype.resetExtent=function(){var ae=this.option,ne=asc([ae.min,ae.max]);this._dataExtent=ne},te.prototype.getDataDimensionIndex=function(ae){var ne=this.option.dimension;if(ne!=null)return ae.getDimensionIndex(ne);for(var ie=ae.dimensions,oe=ie.length-1;oe>=0;oe--){var se=ie[oe],le=ae.getDimensionInfo(se);if(!le.isCalculationCoord)return le.storeDimIndex}},te.prototype.getExtent=function(){return this._dataExtent.slice()},te.prototype.completeVisualOption=function(){var ae=this.ecModel,ne=this.option,ie={inRange:ne.inRange,outOfRange:ne.outOfRange},oe=ne.target||(ne.target={}),se=ne.controller||(ne.controller={});merge$1(oe,ie),merge$1(se,ie);var le=this.isCategory();ue.call(this,oe),ue.call(this,se),ce.call(this,oe,"inRange","outOfRange"),de.call(this,se);function ue(he){isArray$1(ne.color)&&!he.inRange&&(he.inRange={color:ne.color.slice().reverse()}),he.inRange=he.inRange||{color:ae.get("gradientColor")}}function ce(he,fe,pe){var ve=he[fe],ge=he[pe];ve&&!ge&&(ge=he[pe]={},each$2(ve,function(me,ye){if(VisualMapping$1.isValidType(ye)){var _e=visualDefault$1.get(ye,"inactive",le);_e!=null&&(ge[ye]=_e,ye==="color"&&!ge.hasOwnProperty("opacity")&&!ge.hasOwnProperty("colorAlpha")&&(ge.opacity=[0,0]))}}))}function de(he){var fe=(he.inRange||{}).symbol||(he.outOfRange||{}).symbol,pe=(he.inRange||{}).symbolSize||(he.outOfRange||{}).symbolSize,ve=this.get("inactiveColor"),ge=this.getItemSymbol(),me=ge||"roundRect";each$2(this.stateList,function(ye){var _e=this.itemSize,be=he[ye];be||(be=he[ye]={color:le?ve:[ve]}),be.symbol==null&&(be.symbol=fe&&clone$4(fe)||(le?me:[me])),be.symbolSize==null&&(be.symbolSize=pe&&clone$4(pe)||(le?_e[0]:[_e[0],_e[0]])),be.symbol=mapVisual(be.symbol,function(Se){return Se==="none"?me:Se});var xe=be.symbolSize;if(xe!=null){var $e=-1/0;eachVisual(xe,function(Se){Se>$e&&($e=Se)}),be.symbolSize=mapVisual(xe,function(Se){return linearMap$1(Se,[0,$e],[0,_e[0]],!0)})}},this)}},te.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},te.prototype.isCategory=function(){return!!this.option.categories},te.prototype.setSelected=function(ae){},te.prototype.getSelected=function(){return null},te.prototype.getValueState=function(ae){return null},te.prototype.getVisualMeta=function(ae){return null},te.type="visualMap",te.dependencies=["series"],te.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},te}(ComponentModel$1);const VisualMapModel$1=VisualMapModel;var DEFAULT_BAR_BOUND=[20,140],ContinuousModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.optionUpdated=function(ae,ne){ee.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(ie){ie.mappingMethod="linear",ie.dataExtent=this.getExtent()}),this._resetRange()},te.prototype.resetItemSize=function(){ee.prototype.resetItemSize.apply(this,arguments);var ae=this.itemSize;(ae[0]==null||isNaN(ae[0]))&&(ae[0]=DEFAULT_BAR_BOUND[0]),(ae[1]==null||isNaN(ae[1]))&&(ae[1]=DEFAULT_BAR_BOUND[1])},te.prototype._resetRange=function(){var ae=this.getExtent(),ne=this.option.range;!ne||ne.auto?(ae.auto=1,this.option.range=ae):isArray$2(ne)&&(ne[0]>ne[1]&&ne.reverse(),ne[0]=Math.max(ne[0],ae[0]),ne[1]=Math.min(ne[1],ae[1]))},te.prototype.completeVisualOption=function(){ee.prototype.completeVisualOption.apply(this,arguments),each$f(this.stateList,function(ae){var ne=this.option.controller[ae].symbolSize;ne&&ne[0]!==ne[1]&&(ne[0]=ne[1]/3)},this)},te.prototype.setSelected=function(ae){this.option.range=ae.slice(),this._resetRange()},te.prototype.getSelected=function(){var ae=this.getExtent(),ne=asc$2((this.get("range")||[]).slice());return ne[0]>ae[1]&&(ne[0]=ae[1]),ne[1]>ae[1]&&(ne[1]=ae[1]),ne[0]<ae[0]&&(ne[0]=ae[0]),ne[1]<ae[0]&&(ne[1]=ae[0]),ne},te.prototype.getValueState=function(ae){var ne=this.option.range,ie=this.getExtent();return(ne[0]<=ie[0]||ne[0]<=ae)&&(ne[1]>=ie[1]||ae<=ne[1])?"inRange":"outOfRange"},te.prototype.findTargetDataIndices=function(ae){var ne=[];return this.eachTargetSeries(function(ie){var oe=[],se=ie.getData();se.each(this.getDataDimensionIndex(se),function(le,ue){ae[0]<=le&&le<=ae[1]&&oe.push(ue)},this),ne.push({seriesId:ie.id,dataIndex:oe})},this),ne},te.prototype.getVisualMeta=function(ae){var ne=getColorStopValues(this,"outOfRange",this.getExtent()),ie=getColorStopValues(this,"inRange",this.option.range.slice()),oe=[];function se(pe,ve){oe.push({value:pe,color:ae(pe,ve)})}for(var le=0,ue=0,ce=ie.length,de=ne.length;ue<de&&(!ie.length||ne[ue]<=ie[0]);ue++)ne[ue]<ie[le]&&se(ne[ue],"outOfRange");for(var he=1;le<ce;le++,he=0)he&&oe.length&&se(ie[le],"outOfRange"),se(ie[le],"inRange");for(var he=1;ue<de;ue++)(!ie.length||ie[ie.length-1]<ne[ue])&&(he&&(oe.length&&se(oe[oe.length-1].value,"outOfRange"),he=0),se(ne[ue],"outOfRange"));var fe=oe.length;return{stops:oe,outerColors:[fe?oe[0].color:"transparent",fe?oe[fe-1].color:"transparent"]}},te.type="visualMap.continuous",te.defaultOption=inheritDefaultOption(VisualMapModel$1.defaultOption,{align:"auto",calculable:!1,hoverLink:!0,realtime:!0,handleIcon:"path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z",handleSize:"120%",handleStyle:{borderColor:"#fff",borderWidth:1},indicatorIcon:"circle",indicatorSize:"50%",indicatorStyle:{borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}}),te}(VisualMapModel$1);function getColorStopValues(ee,te,ae){if(ae[0]===ae[1])return ae.slice();for(var ne=200,ie=(ae[1]-ae[0])/ne,oe=ae[0],se=[],le=0;le<=ne&&oe<ae[1];le++)se.push(oe),oe+=ie;return se.push(ae[1]),se}const ContinuousModel$1=ContinuousModel;var VisualMapView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae.autoPositionValues={left:1,right:1,top:1,bottom:1},ae}return te.prototype.init=function(ae,ne){this.ecModel=ae,this.api=ne},te.prototype.render=function(ae,ne,ie,oe){if(this.visualMapModel=ae,ae.get("show")===!1){this.group.removeAll();return}this.doRender(ae,ne,ie,oe)},te.prototype.renderBackground=function(ae){var ne=this.visualMapModel,ie=normalizeCssArray(ne.get("padding")||0),oe=ae.getBoundingRect();ae.add(new Rect$3({z2:-1,silent:!0,shape:{x:oe.x-ie[3],y:oe.y-ie[0],width:oe.width+ie[3]+ie[1],height:oe.height+ie[0]+ie[2]},style:{fill:ne.get("backgroundColor"),stroke:ne.get("borderColor"),lineWidth:ne.get("borderWidth")}}))},te.prototype.getControllerVisual=function(ae,ne,ie){ie=ie||{};var oe=ie.forceState,se=this.visualMapModel,le={};if(ne==="color"){var ue=se.get("contentColor");le.color=ue}function ce(pe){return le[pe]}function de(pe,ve){le[pe]=ve}var he=se.controllerVisuals[oe||se.getValueState(ae)],fe=VisualMapping$1.prepareVisualTypes(he);return each$f(fe,function(pe){var ve=he[pe];ie.convertOpacityToAlpha&&pe==="opacity"&&(pe="colorAlpha",ve=he.__alphaForOpacity),VisualMapping$1.dependsOn(pe,ne)&&ve&&ve.applyVisual(ae,ce,de)}),le[ne]},te.prototype.positionGroup=function(ae){var ne=this.visualMapModel,ie=this.api;positionElement(ae,ne.getBoxLayoutParams(),{width:ie.getWidth(),height:ie.getHeight()})},te.prototype.doRender=function(ae,ne,ie,oe){},te.type="visualMap",te}(ComponentView$1);const VisualMapView$1=VisualMapView;var paramsSet=[["left","right","width"],["top","bottom","height"]];function getItemAlign(ee,te,ae){var ne=ee.option,ie=ne.align;if(ie!=null&&ie!=="auto")return ie;for(var oe={width:te.getWidth(),height:te.getHeight()},se=ne.orient==="horizontal"?1:0,le=paramsSet[se],ue=[0,null,10],ce={},de=0;de<3;de++)ce[paramsSet[1-se][de]]=ue[de],ce[le[de]]=de===2?ae[0]:ne[le[de]];var he=[["x","width",3],["y","height",0]][se],fe=getLayoutRect(ce,oe,ne.padding);return le[(fe.margin[he[2]]||0)+fe[he[0]]+fe[he[1]]*.5<oe[he[1]]*.5?0:1]}function makeHighDownBatch(ee,te){return each$f(ee||[],function(ae){ae.dataIndex!=null&&(ae.dataIndexInside=ae.dataIndex,ae.dataIndex=null),ae.highlightKey="visualMap"+(te?te.componentIndex:"")}),ee}var linearMap=linearMap$2,each$1=each$f,mathMin=Math.min,mathMax=Math.max,HOVER_LINK_SIZE=12,HOVER_LINK_OUT=6,ContinuousView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._shapes={},ae._dataInterval=[],ae._handleEnds=[],ae._hoverLinkDataIndices=[],ae}return te.prototype.doRender=function(ae,ne,ie,oe){this._api=ie,(!oe||oe.type!=="selectDataRange"||oe.from!==this.uid)&&this._buildView()},te.prototype._buildView=function(){this.group.removeAll();var ae=this.visualMapModel,ne=this.group;this._orient=ae.get("orient"),this._useHandle=ae.get("calculable"),this._resetInterval(),this._renderBar(ne);var ie=ae.get("text");this._renderEndsText(ne,ie,0),this._renderEndsText(ne,ie,1),this._updateView(!0),this.renderBackground(ne),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(ne)},te.prototype._renderEndsText=function(ae,ne,ie){if(ne){var oe=ne[1-ie];oe=oe!=null?oe+"":"";var se=this.visualMapModel,le=se.get("textGap"),ue=se.itemSize,ce=this._shapes.mainGroup,de=this._applyTransform([ue[0]/2,ie===0?-le:ue[1]+le],ce),he=this._applyTransform(ie===0?"bottom":"top",ce),fe=this._orient,pe=this.visualMapModel.textStyleModel;this.group.add(new ZRText$1({style:createTextStyle$1(pe,{x:de[0],y:de[1],verticalAlign:fe==="horizontal"?"middle":he,align:fe==="horizontal"?he:"center",text:oe})}))}},te.prototype._renderBar=function(ae){var ne=this.visualMapModel,ie=this._shapes,oe=ne.itemSize,se=this._orient,le=this._useHandle,ue=getItemAlign(ne,this.api,oe),ce=ie.mainGroup=this._createBarGroup(ue),de=new Group$4;ce.add(de),de.add(ie.outOfRange=createPolygon()),de.add(ie.inRange=createPolygon(null,le?getCursor(this._orient):null,bind$2(this._dragHandle,this,"all",!1),bind$2(this._dragHandle,this,"all",!0))),de.setClipPath(new Rect$3({shape:{x:0,y:0,width:oe[0],height:oe[1],r:3}}));var he=ne.textStyleModel.getTextRect("国"),fe=mathMax(he.width,he.height);le&&(ie.handleThumbs=[],ie.handleLabels=[],ie.handleLabelPoints=[],this._createHandle(ne,ce,0,oe,fe,se),this._createHandle(ne,ce,1,oe,fe,se)),this._createIndicator(ne,ce,oe,fe,se),ae.add(ce)},te.prototype._createHandle=function(ae,ne,ie,oe,se,le){var ue=bind$2(this._dragHandle,this,ie,!1),ce=bind$2(this._dragHandle,this,ie,!0),de=parsePercent$1(ae.get("handleSize"),oe[0]),he=createSymbol$1(ae.get("handleIcon"),-de/2,-de/2,de,de,null,!0),fe=getCursor(this._orient);he.attr({cursor:fe,draggable:!0,drift:ue,ondragend:ce,onmousemove:function(ye){stop(ye.event)}}),he.x=oe[0]/2,he.useStyle(ae.getModel("handleStyle").getItemStyle()),he.setStyle({strokeNoScale:!0,strokeFirst:!0}),he.style.lineWidth*=2,he.ensureState("emphasis").style=ae.getModel(["emphasis","handleStyle"]).getItemStyle(),setAsHighDownDispatcher(he,!0),ne.add(he);var pe=this.visualMapModel.textStyleModel,ve=new ZRText$1({cursor:fe,draggable:!0,drift:ue,onmousemove:function(ye){stop(ye.event)},ondragend:ce,style:createTextStyle$1(pe,{x:0,y:0,text:""})});ve.ensureState("blur").style={opacity:.1},ve.stateTransition={duration:200},this.group.add(ve);var ge=[de,0],me=this._shapes;me.handleThumbs[ie]=he,me.handleLabelPoints[ie]=ge,me.handleLabels[ie]=ve},te.prototype._createIndicator=function(ae,ne,ie,oe,se){var le=parsePercent$1(ae.get("indicatorSize"),ie[0]),ue=createSymbol$1(ae.get("indicatorIcon"),-le/2,-le/2,le,le,null,!0);ue.attr({cursor:"move",invisible:!0,silent:!0,x:ie[0]/2});var ce=ae.getModel("indicatorStyle").getItemStyle();if(ue instanceof ZRImage$1){var de=ue.style;ue.useStyle(extend$1({image:de.image,x:de.x,y:de.y,width:de.width,height:de.height},ce))}else ue.useStyle(ce);ne.add(ue);var he=this.visualMapModel.textStyleModel,fe=new ZRText$1({silent:!0,invisible:!0,style:createTextStyle$1(he,{x:0,y:0,text:""})});this.group.add(fe);var pe=[(se==="horizontal"?oe/2:HOVER_LINK_OUT)+ie[0]/2,0],ve=this._shapes;ve.indicator=ue,ve.indicatorLabel=fe,ve.indicatorLabelPoint=pe,this._firstShowIndicator=!0},te.prototype._dragHandle=function(ae,ne,ie,oe){if(this._useHandle){if(this._dragging=!ne,!ne){var se=this._applyTransform([ie,oe],this._shapes.mainGroup,!0);this._updateInterval(ae,se[1]),this._hideIndicator(),this._updateView()}ne===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),ne?!this._hovering&&this._clearHoverLinkToSeries():useHoverLinkOnHandle(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[ae],!1)}},te.prototype._resetInterval=function(){var ae=this.visualMapModel,ne=this._dataInterval=ae.getSelected(),ie=ae.getExtent(),oe=[0,ae.itemSize[1]];this._handleEnds=[linearMap(ne[0],ie,oe,!0),linearMap(ne[1],ie,oe,!0)]},te.prototype._updateInterval=function(ae,ne){ne=ne||0;var ie=this.visualMapModel,oe=this._handleEnds,se=[0,ie.itemSize[1]];sliderMove(ne,oe,se,ae,0);var le=ie.getExtent();this._dataInterval=[linearMap(oe[0],se,le,!0),linearMap(oe[1],se,le,!0)]},te.prototype._updateView=function(ae){var ne=this.visualMapModel,ie=ne.getExtent(),oe=this._shapes,se=[0,ne.itemSize[1]],le=ae?se:this._handleEnds,ue=this._createBarVisual(this._dataInterval,ie,le,"inRange"),ce=this._createBarVisual(ie,ie,se,"outOfRange");oe.inRange.setStyle({fill:ue.barColor}).setShape("points",ue.barPoints),oe.outOfRange.setStyle({fill:ce.barColor}).setShape("points",ce.barPoints),this._updateHandle(le,ue)},te.prototype._createBarVisual=function(ae,ne,ie,oe){var se={forceState:oe,convertOpacityToAlpha:!0},le=this._makeColorGradient(ae,se),ue=[this.getControllerVisual(ae[0],"symbolSize",se),this.getControllerVisual(ae[1],"symbolSize",se)],ce=this._createBarPoints(ie,ue);return{barColor:new LinearGradient$1(0,0,0,1,le),barPoints:ce,handlesColor:[le[0].color,le[le.length-1].color]}},te.prototype._makeColorGradient=function(ae,ne){var ie=100,oe=[],se=(ae[1]-ae[0])/ie;oe.push({color:this.getControllerVisual(ae[0],"color",ne),offset:0});for(var le=1;le<ie;le++){var ue=ae[0]+se*le;if(ue>ae[1])break;oe.push({color:this.getControllerVisual(ue,"color",ne),offset:le/ie})}return oe.push({color:this.getControllerVisual(ae[1],"color",ne),offset:1}),oe},te.prototype._createBarPoints=function(ae,ne){var ie=this.visualMapModel.itemSize;return[[ie[0]-ne[0],ae[0]],[ie[0],ae[0]],[ie[0],ae[1]],[ie[0]-ne[1],ae[1]]]},te.prototype._createBarGroup=function(ae){var ne=this._orient,ie=this.visualMapModel.get("inverse");return new Group$4(ne==="horizontal"&&!ie?{scaleX:ae==="bottom"?1:-1,rotation:Math.PI/2}:ne==="horizontal"&&ie?{scaleX:ae==="bottom"?-1:1,rotation:-Math.PI/2}:ne==="vertical"&&!ie?{scaleX:ae==="left"?1:-1,scaleY:-1}:{scaleX:ae==="left"?1:-1})},te.prototype._updateHandle=function(ae,ne){if(this._useHandle){var ie=this._shapes,oe=this.visualMapModel,se=ie.handleThumbs,le=ie.handleLabels,ue=oe.itemSize,ce=oe.getExtent();each$1([0,1],function(de){var he=se[de];he.setStyle("fill",ne.handlesColor[de]),he.y=ae[de];var fe=linearMap(ae[de],[0,ue[1]],ce,!0),pe=this.getControllerVisual(fe,"symbolSize");he.scaleX=he.scaleY=pe/ue[0],he.x=ue[0]-pe/2;var ve=applyTransform(ie.handleLabelPoints[de],getTransform$1(he,this.group));le[de].setStyle({x:ve[0],y:ve[1],text:oe.formatValueText(this._dataInterval[de]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",ie.mainGroup):"center"})},this)}},te.prototype._showIndicator=function(ae,ne,ie,oe){var se=this.visualMapModel,le=se.getExtent(),ue=se.itemSize,ce=[0,ue[1]],de=this._shapes,he=de.indicator;if(he){he.attr("invisible",!1);var fe={convertOpacityToAlpha:!0},pe=this.getControllerVisual(ae,"color",fe),ve=this.getControllerVisual(ae,"symbolSize"),ge=linearMap(ae,le,ce,!0),me=ue[0]-ve/2,ye={x:he.x,y:he.y};he.y=ge,he.x=me;var _e=applyTransform(de.indicatorLabelPoint,getTransform$1(he,this.group)),be=de.indicatorLabel;be.attr("invisible",!1);var xe=this._applyTransform("left",de.mainGroup),$e=this._orient,Se=$e==="horizontal";be.setStyle({text:(ie||"")+se.formatValueText(ne),verticalAlign:Se?xe:"middle",align:Se?"center":xe});var we={x:me,y:ge,style:{fill:pe}},Ae={style:{x:_e[0],y:_e[1]}};if(se.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var Te={duration:100,easing:"cubicInOut",additive:!0};he.x=ye.x,he.y=ye.y,he.animateTo(we,Te),be.animateTo(Ae,Te)}else he.attr(we),be.attr(Ae);this._firstShowIndicator=!1;var De=this._shapes.handleLabels;if(De)for(var Me=0;Me<De.length;Me++)this._api.enterBlur(De[Me])}},te.prototype._enableHoverLinkToSeries=function(){var ae=this;this._shapes.mainGroup.on("mousemove",function(ne){if(ae._hovering=!0,!ae._dragging){var ie=ae.visualMapModel.itemSize,oe=ae._applyTransform([ne.offsetX,ne.offsetY],ae._shapes.mainGroup,!0,!0);oe[1]=mathMin(mathMax(0,oe[1]),ie[1]),ae._doHoverLinkToSeries(oe[1],0<=oe[0]&&oe[0]<=ie[0])}}).on("mouseout",function(){ae._hovering=!1,!ae._dragging&&ae._clearHoverLinkToSeries()})},te.prototype._enableHoverLinkFromSeries=function(){var ae=this.api.getZr();this.visualMapModel.option.hoverLink?(ae.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),ae.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},te.prototype._doHoverLinkToSeries=function(ae,ne){var ie=this.visualMapModel,oe=ie.itemSize;if(ie.option.hoverLink){var se=[0,oe[1]],le=ie.getExtent();ae=mathMin(mathMax(se[0],ae),se[1]);var ue=getHalfHoverLinkSize(ie,le,se),ce=[ae-ue,ae+ue],de=linearMap(ae,se,le,!0),he=[linearMap(ce[0],se,le,!0),linearMap(ce[1],se,le,!0)];ce[0]<se[0]&&(he[0]=-1/0),ce[1]>se[1]&&(he[1]=1/0),ne&&(he[0]===-1/0?this._showIndicator(de,he[1],"< ",ue):he[1]===1/0?this._showIndicator(de,he[0],"> ",ue):this._showIndicator(de,de,"≈ ",ue));var fe=this._hoverLinkDataIndices,pe=[];(ne||useHoverLinkOnHandle(ie))&&(pe=this._hoverLinkDataIndices=ie.findTargetDataIndices(he));var ve=compressBatches(fe,pe);this._dispatchHighDown("downplay",makeHighDownBatch(ve[0],ie)),this._dispatchHighDown("highlight",makeHighDownBatch(ve[1],ie))}},te.prototype._hoverLinkFromSeriesMouseOver=function(ae){var ne;if(findEventDispatcher(ae.target,function(ue){var ce=getECData(ue);if(ce.dataIndex!=null)return ne=ce,!0},!0),!!ne){var ie=this.ecModel.getSeriesByIndex(ne.seriesIndex),oe=this.visualMapModel;if(oe.isTargetSeries(ie)){var se=ie.getData(ne.dataType),le=se.getStore().get(oe.getDataDimensionIndex(se),ne.dataIndex);isNaN(le)||this._showIndicator(le,le)}}},te.prototype._hideIndicator=function(){var ae=this._shapes;ae.indicator&&ae.indicator.attr("invisible",!0),ae.indicatorLabel&&ae.indicatorLabel.attr("invisible",!0);var ne=this._shapes.handleLabels;if(ne)for(var ie=0;ie<ne.length;ie++)this._api.leaveBlur(ne[ie])},te.prototype._clearHoverLinkToSeries=function(){this._hideIndicator();var ae=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",makeHighDownBatch(ae,this.visualMapModel)),ae.length=0},te.prototype._clearHoverLinkFromSeries=function(){this._hideIndicator();var ae=this.api.getZr();ae.off("mouseover",this._hoverLinkFromSeriesMouseOver),ae.off("mouseout",this._hideIndicator)},te.prototype._applyTransform=function(ae,ne,ie,oe){var se=getTransform$1(ne,oe?null:this.group);return isArray$2(ae)?applyTransform(ae,se,ie):transformDirection(ae,se,ie)},te.prototype._dispatchHighDown=function(ae,ne){ne&&ne.length&&this.api.dispatchAction({type:ae,batch:ne})},te.prototype.dispose=function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},te.prototype.remove=function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},te.type="visualMap.continuous",te}(VisualMapView$1);function createPolygon(ee,te,ae,ne){return new Polygon$1({shape:{points:ee},draggable:!!ae,cursor:te,drift:ae,onmousemove:function(ie){stop(ie.event)},ondragend:ne})}function getHalfHoverLinkSize(ee,te,ae){var ne=HOVER_LINK_SIZE/2,ie=ee.get("hoverLinkDataSize");return ie&&(ne=linearMap(ie,te,ae,!0)/2),ne}function useHoverLinkOnHandle(ee){var te=ee.get("hoverLinkOnHandle");return!!(te??ee.get("realtime"))}function getCursor(ee){return ee==="vertical"?"ns-resize":"ew-resize"}const ContinuousView$1=ContinuousView;var visualMapActionInfo={type:"selectDataRange",event:"dataRangeSelected",update:"update"},visualMapActionHander=function(ee,te){te.eachComponent({mainType:"visualMap",query:ee},function(ae){ae.setSelected(ee.selected)})},visualMapEncodingHandlers=[{createOnAllSeries:!0,reset:function(ee,te){var ae=[];return te.eachComponent("visualMap",function(ne){var ie=ee.pipelineContext;!ne.isTargetSeries(ee)||ie&&ie.large||ae.push(incrementalApplyVisual(ne.stateList,ne.targetVisuals,bind$2(ne.getValueState,ne),ne.getDataDimensionIndex(ee.getData())))}),ae}},{createOnAllSeries:!0,reset:function(ee,te){var ae=ee.getData(),ne=[];te.eachComponent("visualMap",function(ie){if(ie.isTargetSeries(ee)){var oe=ie.getVisualMeta(bind$2(getColorVisual,null,ee,ie))||{stops:[],outerColors:[]},se=ie.getDataDimensionIndex(ae);se>=0&&(oe.dimension=se,ne.push(oe))}}),ee.getData().setVisual("visualMeta",ne)}}];function getColorVisual(ee,te,ae,ne){for(var ie=te.targetVisuals[ne],oe=VisualMapping$1.prepareVisualTypes(ie),se={color:getVisualFromData(ee.getData(),"color")},le=0,ue=oe.length;le<ue;le++){var ce=oe[le],de=ie[ce==="opacity"?"__alphaForOpacity":ce];de&&de.applyVisual(ae,he,fe)}return se.color;function he(pe){return se[pe]}function fe(pe,ve){se[pe]=ve}}var each=each$f;function visualMapPreprocessor(ee){var te=ee&&ee.visualMap;isArray$2(te)||(te=te?[te]:[]),each(te,function(ae){if(ae){has(ae,"splitList")&&!has(ae,"pieces")&&(ae.pieces=ae.splitList,delete ae.splitList);var ne=ae.pieces;ne&&isArray$2(ne)&&each(ne,function(ie){isObject$4(ie)&&(has(ie,"start")&&!has(ie,"min")&&(ie.min=ie.start),has(ie,"end")&&!has(ie,"max")&&(ie.max=ie.end))})}})}function has(ee,te){return ee&&ee.hasOwnProperty&&ee.hasOwnProperty(te)}var installed=!1;function installCommon(ee){installed||(installed=!0,ee.registerSubTypeDefaulter("visualMap",function(te){return!te.categories&&(!(te.pieces?te.pieces.length>0:te.splitNumber>0)||te.calculable)?"continuous":"piecewise"}),ee.registerAction(visualMapActionInfo,visualMapActionHander),each$f(visualMapEncodingHandlers,function(te){ee.registerVisual(ee.PRIORITY.VISUAL.COMPONENT,te)}),ee.registerPreprocessor(visualMapPreprocessor))}function install$5(ee){ee.registerComponentModel(ContinuousModel$1),ee.registerComponentView(ContinuousView$1),installCommon(ee)}var PiecewiseModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae._pieceList=[],ae}return te.prototype.optionUpdated=function(ae,ne){ee.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var ie=this._mode=this._determineMode();this._pieceList=[],resetMethods[this._mode].call(this,this._pieceList),this._resetSelected(ae,ne);var oe=this.option.categories;this.resetVisual(function(se,le){ie==="categories"?(se.mappingMethod="category",se.categories=clone$4(oe)):(se.dataExtent=this.getExtent(),se.mappingMethod="piecewise",se.pieceList=map$1(this._pieceList,function(ue){return ue=clone$4(ue),le!=="inRange"&&(ue.visual=null),ue}))})},te.prototype.completeVisualOption=function(){var ae=this.option,ne={},ie=VisualMapping$1.listVisualTypes(),oe=this.isCategory();each$f(ae.pieces,function(le){each$f(ie,function(ue){le.hasOwnProperty(ue)&&(ne[ue]=1)})}),each$f(ne,function(le,ue){var ce=!1;each$f(this.stateList,function(de){ce=ce||se(ae,de,ue)||se(ae.target,de,ue)},this),!ce&&each$f(this.stateList,function(de){(ae[de]||(ae[de]={}))[ue]=visualDefault$1.get(ue,de==="inRange"?"active":"inactive",oe)})},this);function se(le,ue,ce){return le&&le[ue]&&le[ue].hasOwnProperty(ce)}ee.prototype.completeVisualOption.apply(this,arguments)},te.prototype._resetSelected=function(ae,ne){var ie=this.option,oe=this._pieceList,se=(ne?ie:ae).selected||{};if(ie.selected=se,each$f(oe,function(ue,ce){var de=this.getSelectedMapKey(ue);se.hasOwnProperty(de)||(se[de]=!0)},this),ie.selectedMode==="single"){var le=!1;each$f(oe,function(ue,ce){var de=this.getSelectedMapKey(ue);se[de]&&(le?se[de]=!1:le=!0)},this)}},te.prototype.getItemSymbol=function(){return this.get("itemSymbol")},te.prototype.getSelectedMapKey=function(ae){return this._mode==="categories"?ae.value+"":ae.index+""},te.prototype.getPieceList=function(){return this._pieceList},te.prototype._determineMode=function(){var ae=this.option;return ae.pieces&&ae.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},te.prototype.setSelected=function(ae){this.option.selected=clone$4(ae)},te.prototype.getValueState=function(ae){var ne=VisualMapping$1.findPieceIndex(ae,this._pieceList);return ne!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[ne])]?"inRange":"outOfRange"},te.prototype.findTargetDataIndices=function(ae){var ne=[],ie=this._pieceList;return this.eachTargetSeries(function(oe){var se=[],le=oe.getData();le.each(this.getDataDimensionIndex(le),function(ue,ce){var de=VisualMapping$1.findPieceIndex(ue,ie);de===ae&&se.push(ce)},this),ne.push({seriesId:oe.id,dataIndex:se})},this),ne},te.prototype.getRepresentValue=function(ae){var ne;if(this.isCategory())ne=ae.value;else if(ae.value!=null)ne=ae.value;else{var ie=ae.interval||[];ne=ie[0]===-1/0&&ie[1]===1/0?0:(ie[0]+ie[1])/2}return ne},te.prototype.getVisualMeta=function(ae){if(this.isCategory())return;var ne=[],ie=["",""],oe=this;function se(de,he){var fe=oe.getRepresentValue({interval:de});he||(he=oe.getValueState(fe));var pe=ae(fe,he);de[0]===-1/0?ie[0]=pe:de[1]===1/0?ie[1]=pe:ne.push({value:de[0],color:pe},{value:de[1],color:pe})}var le=this._pieceList.slice();if(!le.length)le.push({interval:[-1/0,1/0]});else{var ue=le[0].interval[0];ue!==-1/0&&le.unshift({interval:[-1/0,ue]}),ue=le[le.length-1].interval[1],ue!==1/0&&le.push({interval:[ue,1/0]})}var ce=-1/0;return each$f(le,function(de){var he=de.interval;he&&(he[0]>ce&&se([ce,he[0]],"outOfRange"),se(he.slice()),ce=he[1])},this),{stops:ne,outerColors:ie}},te.type="visualMap.piecewise",te.defaultOption=inheritDefaultOption(VisualMapModel$1.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),te}(VisualMapModel$1),resetMethods={splitNumber:function(ee){var te=this.option,ae=Math.min(te.precision,20),ne=this.getExtent(),ie=te.splitNumber;ie=Math.max(parseInt(ie,10),1),te.splitNumber=ie;for(var oe=(ne[1]-ne[0])/ie;+oe.toFixed(ae)!==oe&&ae<5;)ae++;te.precision=ae,oe=+oe.toFixed(ae),te.minOpen&&ee.push({interval:[-1/0,ne[0]],close:[0,0]});for(var se=0,le=ne[0];se<ie;le+=oe,se++){var ue=se===ie-1?ne[1]:le+oe;ee.push({interval:[le,ue],close:[1,1]})}te.maxOpen&&ee.push({interval:[ne[1],1/0],close:[0,0]}),reformIntervals(ee),each$f(ee,function(ce,de){ce.index=de,ce.text=this.formatValueText(ce.interval)},this)},categories:function(ee){var te=this.option;each$f(te.categories,function(ae){ee.push({text:this.formatValueText(ae,!0),value:ae})},this),normalizeReverse(te,ee)},pieces:function(ee){var te=this.option;each$f(te.pieces,function(ae,ne){isObject$4(ae)||(ae={value:ae});var ie={text:"",index:ne};if(ae.label!=null&&(ie.text=ae.label),ae.hasOwnProperty("value")){var oe=ie.value=ae.value;ie.interval=[oe,oe],ie.close=[1,1]}else{for(var se=ie.interval=[],le=ie.close=[0,0],ue=[1,0,1],ce=[-1/0,1/0],de=[],he=0;he<2;he++){for(var fe=[["gte","gt","min"],["lte","lt","max"]][he],pe=0;pe<3&&se[he]==null;pe++)se[he]=ae[fe[pe]],le[he]=ue[pe],de[he]=pe===2;se[he]==null&&(se[he]=ce[he])}de[0]&&se[1]===1/0&&(le[0]=0),de[1]&&se[0]===-1/0&&(le[1]=0),se[0]===se[1]&&le[0]&&le[1]&&(ie.value=se[0])}ie.visual=VisualMapping$1.retrieveVisuals(ae),ee.push(ie)},this),normalizeReverse(te,ee),reformIntervals(ee),each$f(ee,function(ae){var ne=ae.close,ie=[["<","≤"][ne[1]],[">","≥"][ne[0]]];ae.text=ae.text||this.formatValueText(ae.value!=null?ae.value:ae.interval,!1,ie)},this)}};function normalizeReverse(ee,te){var ae=ee.inverse;(ee.orient==="vertical"?!ae:ae)&&te.reverse()}const PiecewiseModel$1=PiecewiseModel;var PiecewiseVisualMapView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type=te.type,ae}return te.prototype.doRender=function(){var ae=this.group;ae.removeAll();var ne=this.visualMapModel,ie=ne.get("textGap"),oe=ne.textStyleModel,se=oe.getFont(),le=oe.getTextColor(),ue=this._getItemAlign(),ce=ne.itemSize,de=this._getViewData(),he=de.endsText,fe=retrieve(ne.get("showLabel",!0),!he);he&&this._renderEndsText(ae,he[0],ce,fe,ue),each$f(de.viewPieceList,function(pe){var ve=pe.piece,ge=new Group$4;ge.onclick=bind$2(this._onItemClick,this,ve),this._enableHoverLink(ge,pe.indexInModelPieceList);var me=ne.getRepresentValue(ve);if(this._createItemSymbol(ge,me,[0,0,ce[0],ce[1]]),fe){var ye=this.visualMapModel.getValueState(me);ge.add(new ZRText$1({style:{x:ue==="right"?-ie:ce[0]+ie,y:ce[1]/2,text:ve.text,verticalAlign:"middle",align:ue,font:se,fill:le,opacity:ye==="outOfRange"?.5:1}}))}ae.add(ge)},this),he&&this._renderEndsText(ae,he[1],ce,fe,ue),box(ne.get("orient"),ae,ne.get("itemGap")),this.renderBackground(ae),this.positionGroup(ae)},te.prototype._enableHoverLink=function(ae,ne){var ie=this;ae.on("mouseover",function(){return oe("highlight")}).on("mouseout",function(){return oe("downplay")});var oe=function(se){var le=ie.visualMapModel;le.option.hoverLink&&ie.api.dispatchAction({type:se,batch:makeHighDownBatch(le.findTargetDataIndices(ne),le)})}},te.prototype._getItemAlign=function(){var ae=this.visualMapModel,ne=ae.option;if(ne.orient==="vertical")return getItemAlign(ae,this.api,ae.itemSize);var ie=ne.align;return(!ie||ie==="auto")&&(ie="left"),ie},te.prototype._renderEndsText=function(ae,ne,ie,oe,se){if(ne){var le=new Group$4,ue=this.visualMapModel.textStyleModel;le.add(new ZRText$1({style:createTextStyle$1(ue,{x:oe?se==="right"?ie[0]:0:ie[0]/2,y:ie[1]/2,verticalAlign:"middle",align:oe?se:"center",text:ne})})),ae.add(le)}},te.prototype._getViewData=function(){var ae=this.visualMapModel,ne=map$1(ae.getPieceList(),function(le,ue){return{piece:le,indexInModelPieceList:ue}}),ie=ae.get("text"),oe=ae.get("orient"),se=ae.get("inverse");return(oe==="horizontal"?se:!se)?ne.reverse():ie&&(ie=ie.slice().reverse()),{viewPieceList:ne,endsText:ie}},te.prototype._createItemSymbol=function(ae,ne,ie){ae.add(createSymbol$1(this.getControllerVisual(ne,"symbol"),ie[0],ie[1],ie[2],ie[3],this.getControllerVisual(ne,"color")))},te.prototype._onItemClick=function(ae){var ne=this.visualMapModel,ie=ne.option,oe=ie.selectedMode;if(oe){var se=clone$4(ie.selected),le=ne.getSelectedMapKey(ae);oe==="single"||oe===!0?(se[le]=!0,each$f(se,function(ue,ce){se[ce]=ce===le})):se[le]=!se[le],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:se})}},te.type="visualMap.piecewise",te}(VisualMapView$1);const PiecewiseView=PiecewiseVisualMapView;function install$4(ee){ee.registerComponentModel(PiecewiseModel$1),ee.registerComponentView(PiecewiseView),installCommon(ee)}function install$3(ee){use(install$5),use(install$4)}var DEFAULT_OPTION={label:{enabled:!0},decal:{show:!1}},inner=makeInner(),decalPaletteScope={};function ariaVisual(ee,te){var ae=ee.getModel("aria");if(!ae.get("enabled"))return;var ne=clone$4(DEFAULT_OPTION);merge$1(ne.label,ee.getLocaleModel().get("aria"),!1),merge$1(ae.option,ne,!1),ie(),oe();function ie(){var ce=ae.getModel("decal"),de=ce.get("show");if(de){var he=createHashMap();ee.eachSeries(function(fe){if(!fe.isColorBySeries()){var pe=he.get(fe.type);pe||(pe={},he.set(fe.type,pe)),inner(fe).scope=pe}}),ee.eachRawSeries(function(fe){if(ee.isSeriesFiltered(fe))return;if(isFunction$1(fe.enableAriaDecal)){fe.enableAriaDecal();return}var pe=fe.getData();if(fe.isColorBySeries()){var _e=getDecalFromPalette(fe.ecModel,fe.name,decalPaletteScope,ee.getSeriesCount()),be=pe.getVisual("decal");pe.setVisual("decal",xe(be,_e))}else{var ve=fe.getRawData(),ge={},me=inner(fe).scope;pe.each(function($e){var Se=pe.getRawIndex($e);ge[Se]=$e});var ye=ve.count();ve.each(function($e){var Se=ge[$e],we=ve.getName($e)||$e+"",Ae=getDecalFromPalette(fe.ecModel,we,me,ye),Te=pe.getItemVisual(Se,"decal");pe.setItemVisual(Se,"decal",xe(Te,Ae))})}function xe($e,Se){var we=$e?extend$1(extend$1({},Se),$e):Se;return we.dirty=!0,we}})}}function oe(){var ce=ee.getLocaleModel().get("aria"),de=ae.getModel("label");if(de.option=defaults$2(de.option,ce),!!de.get("enabled")){var he=te.getZr().dom;if(de.get("description")){he.setAttribute("aria-label",de.get("description"));return}var fe=ee.getSeriesCount(),pe=de.get(["data","maxCount"])||10,ve=de.get(["series","maxCount"])||10,ge=Math.min(fe,ve),me;if(!(fe<1)){var ye=le();if(ye){var _e=de.get(["general","withTitle"]);me=se(_e,{title:ye})}else me=de.get(["general","withoutTitle"]);var be=[],xe=fe>1?de.get(["series","multiple","prefix"]):de.get(["series","single","prefix"]);me+=se(xe,{seriesCount:fe}),ee.eachSeries(function(Ae,Te){if(Te<ge){var De=void 0,Me=Ae.get("name"),Ie=Me?"withName":"withoutName";De=fe>1?de.get(["series","multiple",Ie]):de.get(["series","single",Ie]),De=se(De,{seriesId:Ae.seriesIndex,seriesName:Ae.get("name"),seriesType:ue(Ae.subType)});var Ce=Ae.getData();if(Ce.count()>pe){var Ee=de.get(["data","partialData"]);De+=se(Ee,{displayCnt:pe})}else De+=de.get(["data","allData"]);for(var Re=de.get(["data","separator","middle"]),ke=de.get(["data","separator","end"]),Be=[],Ne=0;Ne<Ce.count();Ne++)if(Ne<pe){var He=Ce.getName(Ne),qe=Ce.getValues(Ne),Oe=de.get(["data",He?"withName":"withoutName"]);Be.push(se(Oe,{name:He,value:qe.join(Re)}))}De+=Be.join(Re)+ke,be.push(De)}});var $e=de.getModel(["series","multiple","separator"]),Se=$e.get("middle"),we=$e.get("end");me+=be.join(Se)+we,he.setAttribute("aria-label",me)}}}function se(ce,de){if(!isString$1(ce))return ce;var he=ce;return each$f(de,function(fe,pe){he=he.replace(new RegExp("\\{\\s*"+pe+"\\s*\\}","g"),fe)}),he}function le(){var ce=ee.get("title");return ce&&ce.length&&(ce=ce[0]),ce&&ce.text}function ue(ce){return ee.getLocaleModel().get(["series","typeNames"])[ce]||"自定义图"}}function ariaPreprocessor(ee){if(!(!ee||!ee.aria)){var te=ee.aria;te.show!=null&&(te.enabled=te.show),te.label=te.label||{},each$f(["description","general","series","data"],function(ae){te[ae]!=null&&(te.label[ae]=te[ae])})}}function install$2(ee){ee.registerPreprocessor(ariaPreprocessor),ee.registerVisual(ee.PRIORITY.VISUAL.ARIA,ariaVisual)}var RELATIONAL_EXPRESSION_OP_ALIAS_MAP={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},RegExpEvaluator=function(){function ee(te){var ae=this._condVal=isString$1(te)?new RegExp(te):isRegExp$1(te)?te:null;if(ae==null){var ne="";throwError(ne)}}return ee.prototype.evaluate=function(te){var ae=typeof te;return isString$1(ae)?this._condVal.test(te):isNumber$1(ae)?this._condVal.test(te+""):!1},ee}(),ConstConditionInternal=function(){function ee(){}return ee.prototype.evaluate=function(){return this.value},ee}(),AndConditionInternal=function(){function ee(){}return ee.prototype.evaluate=function(){for(var te=this.children,ae=0;ae<te.length;ae++)if(!te[ae].evaluate())return!1;return!0},ee}(),OrConditionInternal=function(){function ee(){}return ee.prototype.evaluate=function(){for(var te=this.children,ae=0;ae<te.length;ae++)if(te[ae].evaluate())return!0;return!1},ee}(),NotConditionInternal=function(){function ee(){}return ee.prototype.evaluate=function(){return!this.child.evaluate()},ee}(),RelationalConditionInternal=function(){function ee(){}return ee.prototype.evaluate=function(){for(var te=!!this.valueParser,ae=this.getValue,ne=ae(this.valueGetterParam),ie=te?this.valueParser(ne):null,oe=0;oe<this.subCondList.length;oe++)if(!this.subCondList[oe].evaluate(te?ie:ne))return!1;return!0},ee}();function parseOption(ee,te){if(ee===!0||ee===!1){var ae=new ConstConditionInternal;return ae.value=ee,ae}var ne="";return isObjectNotArray(ee)||throwError(ne),ee.and?parseAndOrOption("and",ee,te):ee.or?parseAndOrOption("or",ee,te):ee.not?parseNotOption(ee,te):parseRelationalOption(ee,te)}function parseAndOrOption(ee,te,ae){var ne=te[ee],ie="";isArray$2(ne)||throwError(ie),ne.length||throwError(ie);var oe=ee==="and"?new AndConditionInternal:new OrConditionInternal;return oe.children=map$1(ne,function(se){return parseOption(se,ae)}),oe.children.length||throwError(ie),oe}function parseNotOption(ee,te){var ae=ee.not,ne="";isObjectNotArray(ae)||throwError(ne);var ie=new NotConditionInternal;return ie.child=parseOption(ae,te),ie.child||throwError(ne),ie}function parseRelationalOption(ee,te){for(var ae="",ne=te.prepareGetValue(ee),ie=[],oe=keys(ee),se=ee.parser,le=se?getRawValueParser(se):null,ue=0;ue<oe.length;ue++){var ce=oe[ue];if(!(ce==="parser"||te.valueGetterAttrMap.get(ce))){var de=hasOwn(RELATIONAL_EXPRESSION_OP_ALIAS_MAP,ce)?RELATIONAL_EXPRESSION_OP_ALIAS_MAP[ce]:ce,he=ee[ce],fe=le?le(he):he,pe=createFilterComparator(de,fe)||de==="reg"&&new RegExpEvaluator(fe);pe||throwError(ae),ie.push(pe)}}ie.length||throwError(ae);var ve=new RelationalConditionInternal;return ve.valueGetterParam=ne,ve.valueParser=le,ve.getValue=te.getValue,ve.subCondList=ie,ve}function isObjectNotArray(ee){return isObject$4(ee)&&!isArrayLike(ee)}var ConditionalExpressionParsed=function(){function ee(te,ae){this._cond=parseOption(te,ae)}return ee.prototype.evaluate=function(){return this._cond.evaluate()},ee}();function parseConditionalExpression(ee,te){return new ConditionalExpressionParsed(ee,te)}var filterTransform={type:"echarts:filter",transform:function(ee){for(var te=ee.upstream,ae,ne=parseConditionalExpression(ee.config,{valueGetterAttrMap:createHashMap({dimension:!0}),prepareGetValue:function(le){var ue="",ce=le.dimension;hasOwn(le,"dimension")||throwError(ue);var de=te.getDimensionInfo(ce);return de||throwError(ue),{dimIdx:de.index}},getValue:function(le){return te.retrieveValueFromItem(ae,le.dimIdx)}}),ie=[],oe=0,se=te.count();oe<se;oe++)ae=te.getRawDataItem(oe),ne.evaluate()&&ie.push(ae);return{data:ie}}},sortTransform={type:"echarts:sort",transform:function(ee){var te=ee.upstream,ae=ee.config,ne="",ie=normalizeToArray(ae);ie.length||throwError(ne);var oe=[];each$f(ie,function(de){var he=de.dimension,fe=de.order,pe=de.parser,ve=de.incomparable;if(he==null&&throwError(ne),fe!=="asc"&&fe!=="desc"&&throwError(ne),ve&&ve!=="min"&&ve!=="max"){var ge="";throwError(ge)}if(fe!=="asc"&&fe!=="desc"){var me="";throwError(me)}var ye=te.getDimensionInfo(he);ye||throwError(ne);var _e=pe?getRawValueParser(pe):null;pe&&!_e&&throwError(ne),oe.push({dimIdx:ye.index,parser:_e,comparator:new SortOrderComparator(fe,ve)})});var se=te.sourceFormat;se!==SOURCE_FORMAT_ARRAY_ROWS&&se!==SOURCE_FORMAT_OBJECT_ROWS&&throwError(ne);for(var le=[],ue=0,ce=te.count();ue<ce;ue++)le.push(te.getRawDataItem(ue));return le.sort(function(de,he){for(var fe=0;fe<oe.length;fe++){var pe=oe[fe],ve=te.retrieveValueFromItem(de,pe.dimIdx),ge=te.retrieveValueFromItem(he,pe.dimIdx);pe.parser&&(ve=pe.parser(ve),ge=pe.parser(ge));var me=pe.comparator.evaluate(ve,ge);if(me!==0)return me}return 0}),{data:le}}};function install$1(ee){ee.registerTransform(filterTransform),ee.registerTransform(sortTransform)}var DatasetModel=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="dataset",ae}return te.prototype.init=function(ae,ne,ie){ee.prototype.init.call(this,ae,ne,ie),this._sourceManager=new SourceManager(this),disableTransformOptionMerge(this)},te.prototype.mergeOption=function(ae,ne){ee.prototype.mergeOption.call(this,ae,ne),disableTransformOptionMerge(this)},te.prototype.optionUpdated=function(){this._sourceManager.dirty()},te.prototype.getSourceManager=function(){return this._sourceManager},te.type="dataset",te.defaultOption={seriesLayoutBy:SERIES_LAYOUT_BY_COLUMN},te}(ComponentModel$1),DatasetView=function(ee){__extends(te,ee);function te(){var ae=ee!==null&&ee.apply(this,arguments)||this;return ae.type="dataset",ae}return te.type="dataset",te}(ComponentView$1);function install(ee){ee.registerComponentModel(DatasetModel),ee.registerComponentView(DatasetView)}var CMD=PathProxy$1.CMD;function aroundEqual(ee,te){return Math.abs(ee-te)<1e-5}function pathToBezierCurves(ee){var te=ee.data,ae=ee.len(),ne=[],ie,oe=0,se=0,le=0,ue=0;function ce(Ce,Ee){ie&&ie.length>2&&ne.push(ie),ie=[Ce,Ee]}function de(Ce,Ee,Re,ke){aroundEqual(Ce,Re)&&aroundEqual(Ee,ke)||ie.push(Ce,Ee,Re,ke,Re,ke)}function he(Ce,Ee,Re,ke,Be,Ne){var He=Math.abs(Ee-Ce),qe=Math.tan(He/4)*4/3,Oe=Ee<Ce?-1:1,ze=Math.cos(Ce),Ve=Math.sin(Ce),Ge=Math.cos(Ee),We=Math.sin(Ee),Ue=ze*Be+Re,Ye=Ve*Ne+ke,Ze=Ge*Be+Re,Xe=We*Ne+ke,it=Be*qe*Oe,at=Ne*qe*Oe;ie.push(Ue-it*Ve,Ye+at*ze,Ze+it*We,Xe-at*Ge,Ze,Xe)}for(var fe,pe,ve,ge,me=0;me<ae;){var ye=te[me++],_e=me===1;switch(_e&&(oe=te[me],se=te[me+1],le=oe,ue=se,(ye===CMD.L||ye===CMD.C||ye===CMD.Q)&&(ie=[le,ue])),ye){case CMD.M:oe=le=te[me++],se=ue=te[me++],ce(le,ue);break;case CMD.L:fe=te[me++],pe=te[me++],de(oe,se,fe,pe),oe=fe,se=pe;break;case CMD.C:ie.push(te[me++],te[me++],te[me++],te[me++],oe=te[me++],se=te[me++]);break;case CMD.Q:fe=te[me++],pe=te[me++],ve=te[me++],ge=te[me++],ie.push(oe+2/3*(fe-oe),se+2/3*(pe-se),ve+2/3*(fe-ve),ge+2/3*(pe-ge),ve,ge),oe=ve,se=ge;break;case CMD.A:var be=te[me++],xe=te[me++],$e=te[me++],Se=te[me++],we=te[me++],Ae=te[me++]+we;me+=1;var Te=!te[me++];fe=Math.cos(we)*$e+be,pe=Math.sin(we)*Se+xe,_e?(le=fe,ue=pe,ce(le,ue)):de(oe,se,fe,pe),oe=Math.cos(Ae)*$e+be,se=Math.sin(Ae)*Se+xe;for(var De=(Te?-1:1)*Math.PI/2,Me=we;Te?Me>Ae:Me<Ae;Me+=De){var Ie=Te?Math.max(Me+De,Ae):Math.min(Me+De,Ae);he(Me,Ie,be,xe,$e,Se)}break;case CMD.R:le=oe=te[me++],ue=se=te[me++],fe=le+te[me++],pe=ue+te[me++],ce(fe,ue),de(fe,ue,fe,pe),de(fe,pe,le,pe),de(le,pe,le,ue),de(le,ue,fe,ue);break;case CMD.Z:ie&&de(oe,se,le,ue),oe=le,se=ue;break}}return ie&&ie.length>2&&ne.push(ie),ne}function adpativeBezier(ee,te,ae,ne,ie,oe,se,le,ue,ce){if(aroundEqual(ee,ae)&&aroundEqual(te,ne)&&aroundEqual(ie,se)&&aroundEqual(oe,le)){ue.push(se,le);return}var de=2/ce,he=de*de,fe=se-ee,pe=le-te,ve=Math.sqrt(fe*fe+pe*pe);fe/=ve,pe/=ve;var ge=ae-ee,me=ne-te,ye=ie-se,_e=oe-le,be=ge*ge+me*me,xe=ye*ye+_e*_e;if(be<he&&xe<he){ue.push(se,le);return}var $e=fe*ge+pe*me,Se=-fe*ye-pe*_e,we=be-$e*$e,Ae=xe-Se*Se;if(we<he&&$e>=0&&Ae<he&&Se>=0){ue.push(se,le);return}var Te=[],De=[];cubicSubdivide(ee,ae,ie,se,.5,Te),cubicSubdivide(te,ne,oe,le,.5,De),adpativeBezier(Te[0],De[0],Te[1],De[1],Te[2],De[2],Te[3],De[3],ue,ce),adpativeBezier(Te[4],De[4],Te[5],De[5],Te[6],De[6],Te[7],De[7],ue,ce)}function pathToPolygons(ee,te){var ae=pathToBezierCurves(ee),ne=[];te=te||1;for(var ie=0;ie<ae.length;ie++){var oe=ae[ie],se=[],le=oe[0],ue=oe[1];se.push(le,ue);for(var ce=2;ce<oe.length;){var de=oe[ce++],he=oe[ce++],fe=oe[ce++],pe=oe[ce++],ve=oe[ce++],ge=oe[ce++];adpativeBezier(le,ue,de,he,fe,pe,ve,ge,se,te),le=ve,ue=ge}ne.push(se)}return ne}function getDividingGrids(ee,te,ae){var ne=ee[te],ie=ee[1-te],oe=Math.abs(ne/ie),se=Math.ceil(Math.sqrt(oe*ae)),le=Math.floor(ae/se);le===0&&(le=1,se=ae);for(var ue=[],ce=0;ce<se;ce++)ue.push(le);var de=se*le,he=ae-de;if(he>0)for(var ce=0;ce<he;ce++)ue[ce%se]+=1;return ue}function divideSector(ee,te,ae){for(var ne=ee.r0,ie=ee.r,oe=ee.startAngle,se=ee.endAngle,le=Math.abs(se-oe),ue=le*ie,ce=ie-ne,de=ue>Math.abs(ce),he=getDividingGrids([ue,ce],de?0:1,te),fe=(de?le:ce)/he.length,pe=0;pe<he.length;pe++)for(var ve=(de?ce:le)/he[pe],ge=0;ge<he[pe];ge++){var me={};de?(me.startAngle=oe+fe*pe,me.endAngle=oe+fe*(pe+1),me.r0=ne+ve*ge,me.r=ne+ve*(ge+1)):(me.startAngle=oe+ve*ge,me.endAngle=oe+ve*(ge+1),me.r0=ne+fe*pe,me.r=ne+fe*(pe+1)),me.clockwise=ee.clockwise,me.cx=ee.cx,me.cy=ee.cy,ae.push(me)}}function divideRect(ee,te,ae){for(var ne=ee.width,ie=ee.height,oe=ne>ie,se=getDividingGrids([ne,ie],oe?0:1,te),le=oe?"width":"height",ue=oe?"height":"width",ce=oe?"x":"y",de=oe?"y":"x",he=ee[le]/se.length,fe=0;fe<se.length;fe++)for(var pe=ee[ue]/se[fe],ve=0;ve<se[fe];ve++){var ge={};ge[ce]=fe*he,ge[de]=ve*pe,ge[le]=he,ge[ue]=pe,ge.x+=ee.x,ge.y+=ee.y,ae.push(ge)}}function crossProduct2d(ee,te,ae,ne){return ee*ne-ae*te}function lineLineIntersect(ee,te,ae,ne,ie,oe,se,le){var ue=ae-ee,ce=ne-te,de=se-ie,he=le-oe,fe=crossProduct2d(de,he,ue,ce);if(Math.abs(fe)<1e-6)return null;var pe=ee-ie,ve=te-oe,ge=crossProduct2d(pe,ve,de,he)/fe;return ge<0||ge>1?null:new Point$1(ge*ue+ee,ge*ce+te)}function projPtOnLine(ee,te,ae){var ne=new Point$1;Point$1.sub(ne,ae,te),ne.normalize();var ie=new Point$1;Point$1.sub(ie,ee,te);var oe=ie.dot(ne);return oe}function addToPoly(ee,te){var ae=ee[ee.length-1];ae&&ae[0]===te[0]&&ae[1]===te[1]||ee.push(te)}function splitPolygonByLine(ee,te,ae){for(var ne=ee.length,ie=[],oe=0;oe<ne;oe++){var se=ee[oe],le=ee[(oe+1)%ne],ue=lineLineIntersect(se[0],se[1],le[0],le[1],te.x,te.y,ae.x,ae.y);ue&&ie.push({projPt:projPtOnLine(ue,te,ae),pt:ue,idx:oe})}if(ie.length<2)return[{points:ee},{points:ee}];ie.sort(function(me,ye){return me.projPt-ye.projPt});var ce=ie[0],de=ie[ie.length-1];if(de.idx<ce.idx){var he=ce;ce=de,de=he}for(var fe=[ce.pt.x,ce.pt.y],pe=[de.pt.x,de.pt.y],ve=[fe],ge=[pe],oe=ce.idx+1;oe<=de.idx;oe++)addToPoly(ve,ee[oe].slice());addToPoly(ve,pe),addToPoly(ve,fe);for(var oe=de.idx+1;oe<=ce.idx+ne;oe++)addToPoly(ge,ee[oe%ne].slice());return addToPoly(ge,fe),addToPoly(ge,pe),[{points:ve},{points:ge}]}function binaryDividePolygon(ee){var te=ee.points,ae=[],ne=[];fromPoints(te,ae,ne);var ie=new BoundingRect$1(ae[0],ae[1],ne[0]-ae[0],ne[1]-ae[1]),oe=ie.width,se=ie.height,le=ie.x,ue=ie.y,ce=new Point$1,de=new Point$1;return oe>se?(ce.x=de.x=le+oe/2,ce.y=ue,de.y=ue+se):(ce.y=de.y=ue+se/2,ce.x=le,de.x=le+oe),splitPolygonByLine(te,ce,de)}function binaryDivideRecursive(ee,te,ae,ne){if(ae===1)ne.push(te);else{var ie=Math.floor(ae/2),oe=ee(te);binaryDivideRecursive(ee,oe[0],ie,ne),binaryDivideRecursive(ee,oe[1],ae-ie,ne)}return ne}function clone(ee,te){for(var ae=[],ne=0;ne<te;ne++)ae.push(clonePath(ee));return ae}function copyPathProps(ee,te){te.setStyle(ee.style),te.z=ee.z,te.z2=ee.z2,te.zlevel=ee.zlevel}function polygonConvert(ee){for(var te=[],ae=0;ae<ee.length;)te.push([ee[ae++],ee[ae++]]);return te}function split(ee,te){var ae=[],ne=ee.shape,ie;switch(ee.type){case"rect":divideRect(ne,te,ae),ie=Rect$3;break;case"sector":divideSector(ne,te,ae),ie=Sector$1;break;case"circle":divideSector({r0:0,r:ne.r,startAngle:0,endAngle:Math.PI*2,cx:ne.cx,cy:ne.cy},te,ae),ie=Sector$1;break;default:var oe=ee.getComputedTransform(),se=oe?Math.sqrt(Math.max(oe[0]*oe[0]+oe[1]*oe[1],oe[2]*oe[2]+oe[3]*oe[3])):1,le=map$1(pathToPolygons(ee.getUpdatedPathProxy(),se),function(ye){return polygonConvert(ye)}),ue=le.length;if(ue===0)binaryDivideRecursive(binaryDividePolygon,{points:le[0]},te,ae);else if(ue===te)for(var ce=0;ce<ue;ce++)ae.push({points:le[ce]});else{var de=0,he=map$1(le,function(ye){var _e=[],be=[];fromPoints(ye,_e,be);var xe=(be[1]-_e[1])*(be[0]-_e[0]);return de+=xe,{poly:ye,area:xe}});he.sort(function(ye,_e){return _e.area-ye.area});for(var fe=te,ce=0;ce<ue;ce++){var pe=he[ce];if(fe<=0)break;var ve=ce===ue-1?fe:Math.ceil(pe.area/de*te);ve<0||(binaryDivideRecursive(binaryDividePolygon,{points:pe.poly},ve,ae),fe-=ve)}}ie=Polygon$1;break}if(!ie)return clone(ee,te);for(var ge=[],ce=0;ce<ae.length;ce++){var me=new ie;me.setShape(ae[ce]),copyPathProps(ee,me),ge.push(me)}return ge}function alignSubpath(ee,te){var ae=ee.length,ne=te.length;if(ae===ne)return[ee,te];for(var ie=[],oe=[],se=ae<ne?ee:te,le=Math.min(ae,ne),ue=Math.abs(ne-ae)/6,ce=(le-2)/6,de=Math.ceil(ue/ce)+1,he=[se[0],se[1]],fe=ue,pe=2;pe<le;){var ve=se[pe-2],ge=se[pe-1],me=se[pe++],ye=se[pe++],_e=se[pe++],be=se[pe++],xe=se[pe++],$e=se[pe++];if(fe<=0){he.push(me,ye,_e,be,xe,$e);continue}for(var Se=Math.min(fe,de-1)+1,we=1;we<=Se;we++){var Ae=we/Se;cubicSubdivide(ve,me,_e,xe,Ae,ie),cubicSubdivide(ge,ye,be,$e,Ae,oe),ve=ie[3],ge=oe[3],he.push(ie[1],oe[1],ie[2],oe[2],ve,ge),me=ie[5],ye=oe[5],_e=ie[6],be=oe[6]}fe-=Se-1}return se===ee?[he,te]:[ee,he]}function createSubpath(ee,te){for(var ae=ee.length,ne=ee[ae-2],ie=ee[ae-1],oe=[],se=0;se<te.length;)oe[se++]=ne,oe[se++]=ie;return oe}function alignBezierCurves(ee,te){for(var ae,ne,ie,oe=[],se=[],le=0;le<Math.max(ee.length,te.length);le++){var ue=ee[le],ce=te[le],de=void 0,he=void 0;ue?ce?(ae=alignSubpath(ue,ce),de=ae[0],he=ae[1],ne=de,ie=he):(he=createSubpath(ie||ue,ue),de=ue):(de=createSubpath(ne||ce,ce),he=ce),oe.push(de),se.push(he)}return[oe,se]}function centroid(ee){for(var te=0,ae=0,ne=0,ie=ee.length,oe=0,se=ie-2;oe<ie;se=oe,oe+=2){var le=ee[se],ue=ee[se+1],ce=ee[oe],de=ee[oe+1],he=le*de-ce*ue;te+=he,ae+=(le+ce)*he,ne+=(ue+de)*he}return te===0?[ee[0]||0,ee[1]||0]:[ae/te/3,ne/te/3,te]}function findBestRingOffset(ee,te,ae,ne){for(var ie=(ee.length-2)/6,oe=1/0,se=0,le=ee.length,ue=le-2,ce=0;ce<ie;ce++){for(var de=ce*6,he=0,fe=0;fe<le;fe+=2){var pe=fe===0?de:(de+fe-2)%ue+2,ve=ee[pe]-ae[0],ge=ee[pe+1]-ae[1],me=te[fe]-ne[0],ye=te[fe+1]-ne[1],_e=me-ve,be=ye-ge;he+=_e*_e+be*be}he<oe&&(oe=he,se=ce)}return se}function reverse(ee){for(var te=[],ae=ee.length,ne=0;ne<ae;ne+=2)te[ne]=ee[ae-ne-2],te[ne+1]=ee[ae-ne-1];return te}function findBestMorphingRotation(ee,te,ae,ne){for(var ie=[],oe,se=0;se<ee.length;se++){var le=ee[se],ue=te[se],ce=centroid(le),de=centroid(ue);oe==null&&(oe=ce[2]<0!=de[2]<0);var he=[],fe=[],pe=0,ve=1/0,ge=[],me=le.length;oe&&(le=reverse(le));for(var ye=findBestRingOffset(le,ue,ce,de)*6,_e=me-2,be=0;be<_e;be+=2){var xe=(ye+be)%_e+2;he[be+2]=le[xe]-ce[0],he[be+3]=le[xe+1]-ce[1]}if(he[0]=le[ye]-ce[0],he[1]=le[ye+1]-ce[1],ae>0)for(var $e=ne/ae,Se=-ne/2;Se<=ne/2;Se+=$e){for(var we=Math.sin(Se),Ae=Math.cos(Se),Te=0,be=0;be<le.length;be+=2){var De=he[be],Me=he[be+1],Ie=ue[be]-de[0],Ce=ue[be+1]-de[1],Ee=Ie*Ae-Ce*we,Re=Ie*we+Ce*Ae;ge[be]=Ee,ge[be+1]=Re;var ke=Ee-De,Be=Re-Me;Te+=ke*ke+Be*Be}if(Te<ve){ve=Te,pe=Se;for(var Ne=0;Ne<ge.length;Ne++)fe[Ne]=ge[Ne]}}else for(var He=0;He<me;He+=2)fe[He]=ue[He]-de[0],fe[He+1]=ue[He+1]-de[1];ie.push({from:he,to:fe,fromCp:ce,toCp:de,rotation:-pe})}return ie}function isCombineMorphing(ee){return ee.__isCombineMorphing}var SAVED_METHOD_PREFIX="__mOriginal_";function saveAndModifyMethod(ee,te,ae){var ne=SAVED_METHOD_PREFIX+te,ie=ee[ne]||ee[te];ee[ne]||(ee[ne]=ee[te]);var oe=ae.replace,se=ae.after,le=ae.before;ee[te]=function(){var ue=arguments,ce;return le&&le.apply(this,ue),oe?ce=oe.apply(this,ue):ce=ie.apply(this,ue),se&&se.apply(this,ue),ce}}function restoreMethod(ee,te){var ae=SAVED_METHOD_PREFIX+te;ee[ae]&&(ee[te]=ee[ae],ee[ae]=null)}function applyTransformOnBeziers(ee,te){for(var ae=0;ae<ee.length;ae++)for(var ne=ee[ae],ie=0;ie<ne.length;){var oe=ne[ie],se=ne[ie+1];ne[ie++]=te[0]*oe+te[2]*se+te[4],ne[ie++]=te[1]*oe+te[3]*se+te[5]}}function prepareMorphPath(ee,te){var ae=ee.getUpdatedPathProxy(),ne=te.getUpdatedPathProxy(),ie=alignBezierCurves(pathToBezierCurves(ae),pathToBezierCurves(ne)),oe=ie[0],se=ie[1],le=ee.getComputedTransform(),ue=te.getComputedTransform();function ce(){this.transform=null}le&&applyTransformOnBeziers(oe,le),ue&&applyTransformOnBeziers(se,ue),saveAndModifyMethod(te,"updateTransform",{replace:ce}),te.transform=null;var de=findBestMorphingRotation(oe,se,10,Math.PI),he=[];saveAndModifyMethod(te,"buildPath",{replace:function(fe){for(var pe=te.__morphT,ve=1-pe,ge=[],me=0;me<de.length;me++){var ye=de[me],_e=ye.from,be=ye.to,xe=ye.rotation*pe,$e=ye.fromCp,Se=ye.toCp,we=Math.sin(xe),Ae=Math.cos(xe);lerp$1(ge,$e,Se,pe);for(var Te=0;Te<_e.length;Te+=2){var De=_e[Te],Me=_e[Te+1],Ie=be[Te],Ce=be[Te+1],Ee=De*ve+Ie*pe,Re=Me*ve+Ce*pe;he[Te]=Ee*Ae-Re*we+ge[0],he[Te+1]=Ee*we+Re*Ae+ge[1]}var ke=he[0],Be=he[1];fe.moveTo(ke,Be);for(var Te=2;Te<_e.length;){var Ie=he[Te++],Ce=he[Te++],Ne=he[Te++],He=he[Te++],qe=he[Te++],Oe=he[Te++];ke===Ie&&Be===Ce&&Ne===qe&&He===Oe?fe.lineTo(qe,Oe):fe.bezierCurveTo(Ie,Ce,Ne,He,qe,Oe),ke=qe,Be=Oe}}}})}function morphPath(ee,te,ae){if(!ee||!te)return te;var ne=ae.done,ie=ae.during;prepareMorphPath(ee,te),te.__morphT=0;function oe(){restoreMethod(te,"buildPath"),restoreMethod(te,"updateTransform"),te.__morphT=-1,te.createPathProxy(),te.dirtyShape()}return te.animateTo({__morphT:1},defaults$2({during:function(se){te.dirtyShape(),ie&&ie(se)},done:function(){oe(),ne&&ne()}},ae)),te}function hilbert(ee,te,ae,ne,ie,oe){var se=16;ee=ie===ae?0:Math.round(32767*(ee-ae)/(ie-ae)),te=oe===ne?0:Math.round(32767*(te-ne)/(oe-ne));for(var le=0,ue,ce=(1<<se)/2;ce>0;ce/=2){var de=0,he=0;(ee&ce)>0&&(de=1),(te&ce)>0&&(he=1),le+=ce*ce*(3*de^he),he===0&&(de===1&&(ee=ce-1-ee,te=ce-1-te),ue=ee,ee=te,te=ue)}return le}function sortPaths(ee){var te=1/0,ae=1/0,ne=-1/0,ie=-1/0,oe=map$1(ee,function(le){var ue=le.getBoundingRect(),ce=le.getComputedTransform(),de=ue.x+ue.width/2+(ce?ce[4]:0),he=ue.y+ue.height/2+(ce?ce[5]:0);return te=Math.min(de,te),ae=Math.min(he,ae),ne=Math.max(de,ne),ie=Math.max(he,ie),[de,he]}),se=map$1(oe,function(le,ue){return{cp:le,z:hilbert(le[0],le[1],te,ae,ne,ie),path:ee[ue]}});return se.sort(function(le,ue){return le.z-ue.z}).map(function(le){return le.path})}function defaultDividePath(ee){return split(ee.path,ee.count)}function createEmptyReturn(){return{fromIndividuals:[],toIndividuals:[],count:0}}function combineMorph(ee,te,ae){var ne=[];function ie($e){for(var Se=0;Se<$e.length;Se++){var we=$e[Se];isCombineMorphing(we)?ie(we.childrenRef()):we instanceof Path$1&&ne.push(we)}}ie(ee);var oe=ne.length;if(!oe)return createEmptyReturn();var se=ae.dividePath||defaultDividePath,le=se({path:te,count:oe});if(le.length!==oe)return console.error("Invalid morphing: unmatched splitted path"),createEmptyReturn();ne=sortPaths(ne),le=sortPaths(le);for(var ue=ae.done,ce=ae.during,de=ae.individualDelay,he=new Transformable$1,fe=0;fe<oe;fe++){var pe=ne[fe],ve=le[fe];ve.parent=te,ve.copyTransform(he),de||prepareMorphPath(pe,ve)}te.__isCombineMorphing=!0,te.childrenRef=function(){return le};function ge($e){for(var Se=0;Se<le.length;Se++)le[Se].addSelfToZr($e)}saveAndModifyMethod(te,"addSelfToZr",{after:function($e){ge($e)}}),saveAndModifyMethod(te,"removeSelfFromZr",{after:function($e){for(var Se=0;Se<le.length;Se++)le[Se].removeSelfFromZr($e)}});function me(){te.__isCombineMorphing=!1,te.__morphT=-1,te.childrenRef=null,restoreMethod(te,"addSelfToZr"),restoreMethod(te,"removeSelfFromZr")}var ye=le.length;if(de)for(var _e=ye,be=function(){_e--,_e===0&&(me(),ue&&ue())},fe=0;fe<ye;fe++){var xe=de?defaults$2({delay:(ae.delay||0)+de(fe,ye,ne[fe],le[fe]),done:be},ae):ae;morphPath(ne[fe],le[fe],xe)}else te.__morphT=0,te.animateTo({__morphT:1},defaults$2({during:function($e){for(var Se=0;Se<ye;Se++){var we=le[Se];we.__morphT=te.__morphT,we.dirtyShape()}ce&&ce($e)},done:function(){me();for(var $e=0;$e<ee.length;$e++)restoreMethod(ee[$e],"updateTransform");ue&&ue()}},ae));return te.__zr&&ge(te.__zr),{fromIndividuals:ne,toIndividuals:le,count:ye}}function separateMorph(ee,te,ae){var ne=te.length,ie=[],oe=ae.dividePath||defaultDividePath;function se(pe){for(var ve=0;ve<pe.length;ve++){var ge=pe[ve];isCombineMorphing(ge)?se(ge.childrenRef()):ge instanceof Path$1&&ie.push(ge)}}if(isCombineMorphing(ee)){se(ee.childrenRef());var le=ie.length;if(le<ne)for(var ue=0,ce=le;ce<ne;ce++)ie.push(clonePath(ie[ue++%le]));ie.length=ne}else{ie=oe({path:ee,count:ne});for(var de=ee.getComputedTransform(),ce=0;ce<ie.length;ce++)ie[ce].setLocalTransform(de);if(ie.length!==ne)return console.error("Invalid morphing: unmatched splitted path"),createEmptyReturn()}ie=sortPaths(ie),te=sortPaths(te);for(var he=ae.individualDelay,ce=0;ce<ne;ce++){var fe=he?defaults$2({delay:(ae.delay||0)+he(ce,ne,ie[ce],te[ce])},ae):ae;morphPath(ie[ce],te[ce],fe)}return{fromIndividuals:ie,toIndividuals:te,count:te.length}}function isMultiple(ee){return isArray$2(ee[0])}function prepareMorphBatches(ee,te){for(var ae=[],ne=ee.length,ie=0;ie<ne;ie++)ae.push({one:ee[ie],many:[]});for(var ie=0;ie<te.length;ie++){var oe=te[ie].length,se=void 0;for(se=0;se<oe;se++)ae[se%ne].many.push(te[ie][se])}for(var le=0,ie=ne-1;ie>=0;ie--)if(!ae[ie].many.length){var ue=ae[le].many;if(ue.length<=1)if(le)le=0;else return ae;var oe=ue.length,ce=Math.ceil(oe/2);ae[ie].many=ue.slice(ce,oe),ae[le].many=ue.slice(0,ce),le++}return ae}var pathDividers={clone:function(ee){for(var te=[],ae=1-Math.pow(1-ee.path.style.opacity,1/ee.count),ne=0;ne<ee.count;ne++){var ie=clonePath(ee.path);ie.setStyle("opacity",ae),te.push(ie)}return te},split:null};function applyMorphAnimation(ee,te,ae,ne,ie,oe){if(!ee.length||!te.length)return;var se=getAnimationConfig("update",ne,ie);if(!(se&&se.duration>0))return;var le=ne.getModel("universalTransition").get("delay"),ue=Object.assign({setToFinal:!0},se),ce,de;isMultiple(ee)&&(ce=ee,de=te),isMultiple(te)&&(ce=te,de=ee);function he(ye,_e,be,xe,$e){var Se=ye.many,we=ye.one;if(Se.length===1&&!$e){var Ae=_e?Se[0]:we,Te=_e?we:Se[0];if(isCombineMorphing(Ae))he({many:[Ae],one:Te},!0,be,xe,!0);else{var De=le?defaults$2({delay:le(be,xe)},ue):ue;morphPath(Ae,Te,De),oe(Ae,Te,Ae,Te,De)}}else for(var Me=defaults$2({dividePath:pathDividers[ae],individualDelay:le&&function(Be,Ne,He,qe){return le(Be+be,xe)}},ue),Ie=_e?combineMorph(Se,we,Me):separateMorph(we,Se,Me),Ce=Ie.fromIndividuals,Ee=Ie.toIndividuals,Re=Ce.length,ke=0;ke<Re;ke++){var De=le?defaults$2({delay:le(ke,Re)},ue):ue;oe(Ce[ke],Ee[ke],_e?Se[ke]:ye.one,_e?ye.one:Se[ke],De)}}for(var fe=ce?ce===ee:ee.length>te.length,pe=ce?prepareMorphBatches(de,ce):prepareMorphBatches(fe?te:ee,[fe?ee:te]),ve=0,ge=0;ge<pe.length;ge++)ve+=pe[ge].many.length;for(var me=0,ge=0;ge<pe.length;ge++)he(pe[ge],fe,me,ve),me+=pe[ge].many.length}function getPathList(ee){if(!ee)return[];if(isArray$2(ee)){for(var te=[],ae=0;ae<ee.length;ae++)te.push(getPathList(ee[ae]));return te}var ne=[];return ee.traverse(function(ie){ie instanceof Path$1&&!ie.disableMorphing&&!ie.invisible&&!ie.ignore&&ne.push(ie)}),ne}var DATA_COUNT_THRESHOLD=1e4,getUniversalTransitionGlobalStore=makeInner();function getGroupIdDimension(ee){for(var te=ee.dimensions,ae=0;ae<te.length;ae++){var ne=ee.getDimensionInfo(te[ae]);if(ne&&ne.otherDims.itemGroupId===0)return te[ae]}}function flattenDataDiffItems(ee){var te=[];return each$f(ee,function(ae){var ne=ae.data;if(!(ne.count()>DATA_COUNT_THRESHOLD))for(var ie=ne.getIndices(),oe=getGroupIdDimension(ne),se=0;se<ie.length;se++)te.push({dataGroupId:ae.dataGroupId,data:ne,dim:ae.dim||oe,divide:ae.divide,dataIndex:se})}),te}function fadeInElement(ee,te,ae){ee.traverse(function(ne){ne instanceof Path$1&&initProps(ne,{style:{opacity:0}},te,{dataIndex:ae,isFrom:!0})})}function removeEl(ee){if(ee.parent){var te=ee.getComputedTransform();ee.setLocalTransform(te),ee.parent.remove(ee)}}function stopAnimation(ee){ee.stopAnimation(),ee.isGroup&&ee.traverse(function(te){te.stopAnimation()})}function animateElementStyles(ee,te,ae){var ne=getAnimationConfig("update",ae,te);ne&&ee.traverse(function(ie){if(ie instanceof Displayable$1){var oe=getOldStyle(ie);oe&&ie.animateFrom({style:oe},ne)}})}function isAllIdSame(ee,te){var ae=ee.length;if(ae!==te.length)return!1;for(var ne=0;ne<ae;ne++){var ie=ee[ne],oe=te[ne];if(ie.data.getId(ie.dataIndex)!==oe.data.getId(oe.dataIndex))return!1}return!0}function transitionBetween(ee,te,ae){var ne=flattenDataDiffItems(ee),ie=flattenDataDiffItems(te);function oe(ye,_e,be,xe,$e){(be||ye)&&_e.animateFrom({style:be&&be!==ye?extend$1(extend$1({},be.style),ye.style):ye.style},$e)}function se(ye){for(var _e=0;_e<ye.length;_e++)if(ye[_e].dim)return ye[_e].dim}var le=se(ne),ue=se(ie),ce=!1;function de(ye,_e){return function(be){var xe=be.data,$e=be.dataIndex;if(_e)return xe.getId($e);var Se=be.dataGroupId,we=ye?le||ue:ue||le,Ae=we&&xe.getDimensionInfo(we),Te=Ae&&Ae.ordinalMeta;if(Ae){var De=xe.get(Ae.name,$e);return Te&&Te.categories[De]||De+""}var Me=xe.getRawDataItem($e);return Me&&Me.groupId?Me.groupId+"":Se||xe.getId($e)}}var he=isAllIdSame(ne,ie),fe={};if(!he)for(var pe=0;pe<ie.length;pe++){var ve=ie[pe],ge=ve.data.getItemGraphicEl(ve.dataIndex);ge&&(fe[ge.id]=!0)}function me(ye,_e){var be=ne[_e],xe=ie[ye],$e=xe.data.hostModel,Se=be.data.getItemGraphicEl(be.dataIndex),we=xe.data.getItemGraphicEl(xe.dataIndex);if(Se===we){we&&animateElementStyles(we,xe.dataIndex,$e);return}Se&&fe[Se.id]||we&&(stopAnimation(we),Se?(stopAnimation(Se),removeEl(Se),ce=!0,applyMorphAnimation(getPathList(Se),getPathList(we),xe.divide,$e,ye,oe)):fadeInElement(we,$e,ye))}new DataDiffer$1(ne,ie,de(!0,he),de(!1,he),null,"multiple").update(me).updateManyToOne(function(ye,_e){var be=ie[ye],xe=be.data,$e=xe.hostModel,Se=xe.getItemGraphicEl(be.dataIndex),we=filter(map$1(_e,function(Ae){return ne[Ae].data.getItemGraphicEl(ne[Ae].dataIndex)}),function(Ae){return Ae&&Ae!==Se&&!fe[Ae.id]});Se&&(stopAnimation(Se),we.length?(each$f(we,function(Ae){stopAnimation(Ae),removeEl(Ae)}),ce=!0,applyMorphAnimation(getPathList(we),getPathList(Se),be.divide,$e,ye,oe)):fadeInElement(Se,$e,be.dataIndex))}).updateOneToMany(function(ye,_e){var be=ne[_e],xe=be.data.getItemGraphicEl(be.dataIndex);if(!(xe&&fe[xe.id])){var $e=filter(map$1(ye,function(we){return ie[we].data.getItemGraphicEl(ie[we].dataIndex)}),function(we){return we&&we!==xe}),Se=ie[ye[0]].data.hostModel;$e.length&&(each$f($e,function(we){return stopAnimation(we)}),xe?(stopAnimation(xe),removeEl(xe),ce=!0,applyMorphAnimation(getPathList(xe),getPathList($e),be.divide,Se,ye[0],oe)):each$f($e,function(we){return fadeInElement(we,Se,ye[0])}))}}).updateManyToMany(function(ye,_e){new DataDiffer$1(_e,ye,function(be){return ne[be].data.getId(ne[be].dataIndex)},function(be){return ie[be].data.getId(ie[be].dataIndex)}).update(function(be,xe){me(ye[be],_e[xe])}).execute()}).execute(),ce&&each$f(te,function(ye){var _e=ye.data,be=_e.hostModel,xe=be&&ae.getViewOfSeriesModel(be),$e=getAnimationConfig("update",be,0);xe&&be.isAnimationEnabled()&&$e&&$e.duration>0&&xe.group.traverse(function(Se){Se instanceof Path$1&&!Se.animators.length&&Se.animateFrom({style:{opacity:0}},$e)})})}function getSeriesTransitionKey(ee){var te=ee.getModel("universalTransition").get("seriesKey");return te||ee.id}function convertArraySeriesKeyToString(ee){return isArray$2(ee)?ee.sort().join(","):ee}function getDivideShapeFromData(ee){if(ee.hostModel)return ee.hostModel.getModel("universalTransition").get("divideShape")}function findTransitionSeriesBatches(ee,te){var ae=createHashMap(),ne=createHashMap(),ie=createHashMap();return each$f(ee.oldSeries,function(oe,se){var le=ee.oldDataGroupIds[se],ue=ee.oldData[se],ce=getSeriesTransitionKey(oe),de=convertArraySeriesKeyToString(ce);ne.set(de,{dataGroupId:le,data:ue}),isArray$2(ce)&&each$f(ce,function(he){ie.set(he,{key:de,dataGroupId:le,data:ue})})}),each$f(te.updatedSeries,function(oe){if(oe.isUniversalTransitionEnabled()&&oe.isAnimationEnabled()){var se=oe.get("dataGroupId"),le=oe.getData(),ue=getSeriesTransitionKey(oe),ce=convertArraySeriesKeyToString(ue),de=ne.get(ce);if(de)ae.set(ce,{oldSeries:[{dataGroupId:de.dataGroupId,divide:getDivideShapeFromData(de.data),data:de.data}],newSeries:[{dataGroupId:se,divide:getDivideShapeFromData(le),data:le}]});else if(isArray$2(ue)){var he=[];each$f(ue,function(ve){var ge=ne.get(ve);ge.data&&he.push({dataGroupId:ge.dataGroupId,divide:getDivideShapeFromData(ge.data),data:ge.data})}),he.length&&ae.set(ce,{oldSeries:he,newSeries:[{dataGroupId:se,data:le,divide:getDivideShapeFromData(le)}]})}else{var fe=ie.get(ue);if(fe){var pe=ae.get(fe.key);pe||(pe={oldSeries:[{dataGroupId:fe.dataGroupId,data:fe.data,divide:getDivideShapeFromData(fe.data)}],newSeries:[]},ae.set(fe.key,pe)),pe.newSeries.push({dataGroupId:se,data:le,divide:getDivideShapeFromData(le)})}}}}),ae}function querySeries(ee,te){for(var ae=0;ae<ee.length;ae++){var ne=te.seriesIndex!=null&&te.seriesIndex===ee[ae].seriesIndex||te.seriesId!=null&&te.seriesId===ee[ae].id;if(ne)return ae}}function transitionSeriesFromOpt(ee,te,ae,ne){var ie=[],oe=[];each$f(normalizeToArray(ee.from),function(se){var le=querySeries(te.oldSeries,se);le>=0&&ie.push({dataGroupId:te.oldDataGroupIds[le],data:te.oldData[le],divide:getDivideShapeFromData(te.oldData[le]),dim:se.dimension})}),each$f(normalizeToArray(ee.to),function(se){var le=querySeries(ae.updatedSeries,se);if(le>=0){var ue=ae.updatedSeries[le].getData();oe.push({dataGroupId:te.oldDataGroupIds[le],data:ue,divide:getDivideShapeFromData(ue),dim:se.dimension})}}),ie.length>0&&oe.length>0&&transitionBetween(ie,oe,ne)}function installUniversalTransition(ee){ee.registerUpdateLifecycle("series:beforeupdate",function(te,ae,ne){each$f(normalizeToArray(ne.seriesTransition),function(ie){each$f(normalizeToArray(ie.to),function(oe){for(var se=ne.updatedSeries,le=0;le<se.length;le++)(oe.seriesIndex!=null&&oe.seriesIndex===se[le].seriesIndex||oe.seriesId!=null&&oe.seriesId===se[le].id)&&(se[le][SERIES_UNIVERSAL_TRANSITION_PROP]=!0)})})}),ee.registerUpdateLifecycle("series:transition",function(te,ae,ne){var ie=getUniversalTransitionGlobalStore(ae);if(ie.oldSeries&&ne.updatedSeries&&ne.optionChanged){var oe=ne.seriesTransition;if(oe)each$f(normalizeToArray(oe),function(pe){transitionSeriesFromOpt(pe,ie,ne,ae)});else{var se=findTransitionSeriesBatches(ie,ne);each$f(se.keys(),function(pe){var ve=se.get(pe);transitionBetween(ve.oldSeries,ve.newSeries,ae)})}each$f(ne.updatedSeries,function(pe){pe[SERIES_UNIVERSAL_TRANSITION_PROP]&&(pe[SERIES_UNIVERSAL_TRANSITION_PROP]=!1)})}for(var le=te.getSeries(),ue=ie.oldSeries=[],ce=ie.oldDataGroupIds=[],de=ie.oldData=[],he=0;he<le.length;he++){var fe=le[he].getData();fe.count()<DATA_COUNT_THRESHOLD&&(ue.push(le[he]),ce.push(le[he].get("dataGroupId")),de.push(fe))}})}use([install$R]);use([install$S]);use([install$Q,install$P,install$O,install$M,install$K,install$I,install$H,install$G,install$F,install$E,install$D,install$B,install$A,install$z,install$y,install$x,install$w,install$v,install$u,install$t,install$s,install$r]);use(install$p);use(install$o);use(install$J);use(install$n);use(install$C);use(install$m);use(install$l);use(install$j);use(install$i);use(install$q);use(install$h);use(install$g);use(install$f);use(install$e);use(install$d);use(install$c);use(install$9);use(install$6);use(install$8);use(install$7);use(install$3);use(install$5);use(install$4);use(install$2);use(install$1);use(install);use(installUniversalTransition);use(installLabelLayout);const echarts=Object.freeze(Object.defineProperty({__proto__:null,Axis:Axis$1,ChartView:ChartView$1,ComponentModel:ComponentModel$1,ComponentView:ComponentView$1,List:SeriesData$1,Model:Model$1,PRIORITY,SeriesModel:SeriesModel$1,color,connect,dataTool,dependencies,disConnect,disconnect,dispose,env:env$1,extendChartView,extendComponentModel,extendComponentView,extendSeriesModel,format,getCoordinateSystemDimensions,getInstanceByDom,getInstanceById,getMap,graphic,helper,init:init$1,innerDrawElementOnCanvas:brushSingle,matrix,number,parseGeoJSON,parseGeoJson:parseGeoJSON,registerAction,registerCoordinateSystem,registerLayout,registerLoading,registerLocale,registerMap:registerMap$1,registerPostInit,registerPostUpdate,registerPreprocessor,registerProcessor,registerTheme,registerTransform,registerUpdateLifecycle,registerVisual,setCanvasCreator,setPlatformAPI,throttle:throttle$1,time,use,util,vector,version:version$6,zrUtil:util$1,zrender},Symbol.toStringTag,{value:"Module"})),breadcrumbItemSelect=({api:ee,emit:te,state:ae,constants:ne})=>{ae.breadcrumbEmitter.on(ne.EVENT_NAME.breadcrumbItemSelect,ie=>{ae.currentBreadcrumbItem=ie,te("select",ie)})},api$5=["breadcrumbItemSelect","state"],renderless$5=(ee,{reactive:te,provide:ae},{emit:ne,constants:ie,emitter:oe})=>{const se=te({breadcrumbEmitter:oe(),size:ee.size,currentBreadcrumbItem:{}}),le={state:se,breadcrumbItemSelect:()=>breadcrumbItemSelect({api:le,emit:ne,state:se,constants:ie})};return ae("size",se.size),ae("breadcrumbEmitter",se.breadcrumbEmitter),le.breadcrumbItemSelect(),le},linkClick=({props:ee,refs:te,router:ae,emit:ne,breadcrumbEmitter:ie,constants:oe})=>se=>{const{replace:le,to:ue,option:ce}=ee,de={link:te.link,replace:le,to:ue,event:se,option:ce};ie.emit(oe.EVENT_NAME.breadcrumbItemSelect,de),ne("select",de),!(!ue||!ae)&&(le?ae.replace(ue):ae.push(ue))},api$4=["linkClick","state"],renderless$4=(ee,{reactive:te,inject:ae},{refs:ne,router:ie,emit:oe})=>{const se=ae("breadcrumbEmitter"),ue=ae("breadcrumb")._constants;return{state:te({size:ae("size",null)}),linkClick:linkClick({props:ee,refs:ne,router:ie,emit:oe,breadcrumbEmitter:se,constants:ue})}};function _createForOfIteratorHelperLoose$8(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$8(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$8(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$8(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$8(ee,te)}}function _arrayLikeToArray$8(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$9=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$8(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$h=defineComponent({props:[].concat(props,["to","replace","label","option","size"]),inject:["breadcrumb"],emits:["select"],setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$4,api:api$4})}}),_hoisted_1$c={key:1,class:"tiny-breadcrumb__separator"};function _sfc_render$a(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("span",{class:normalizeClass(["tiny-breadcrumb__item",ee.state.size?"tiny-breadcrumb__item--"+ee.state.size:""])},[createBaseVNode("span",{class:normalizeClass(["tiny-breadcrumb__inner",ee.to?"is-link":""]),ref:"link",role:"link",onClick:te[0]||(te[0]=function(){return ee.linkClick&&ee.linkClick.apply(ee,arguments)})},[renderSlot(ee.$slots,"default",{},function(){return[createBaseVNode("span",null,toDisplayString(ee.label),1)]})],2),ee.breadcrumb.separatorIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.breadcrumb.separatorIcon),{key:0,class:"tiny-svg-size tiny-breadcrumb__separator-cls"})):(openBlock(),createElementBlock("span",_hoisted_1$c,toDisplayString(ee.breadcrumb.separator),1))],2)}var pc$5=_export_sfc$9(_sfc_main$h,[["render",_sfc_render$a]]);const index$8="";function _extends$6(){return _extends$6=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$6.apply(this,arguments)}var template$5=function(te){var ae;return typeof process=="object"&&((ae={})==null||ae.TINY_MODE),pc$5},breadcrumbItemProps=_extends$6({},$props,{to:Object,replace:{type:Boolean,default:!1},size:String,option:{type:Object,default:function(){return{}}}}),BreadcrumbItem=defineComponent({name:$prefix+"BreadcrumbItem",props:breadcrumbItemProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$5})}}),version$5="3.16.0";BreadcrumbItem.install=function(ee){ee.component(BreadcrumbItem.name,BreadcrumbItem)};BreadcrumbItem.version=version$5;function _createForOfIteratorHelperLoose$7(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$7(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$7(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$7(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$7(ee,te)}}function _arrayLikeToArray$7(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$8=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$7(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$g=defineComponent({components:{TinyBreadcrumbItem:BreadcrumbItem},props:[].concat(props,["separator","separatorIcon","textField","options","size"]),provide:function(){return{breadcrumb:this}},emits:["select"],setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$5,api:api$5})}}),_hoisted_1$b={class:"tiny-breadcrumb","aria-label":"Breadcrumb",role:"navigation"};function _sfc_render$9(ee,te,ae,ne,ie,oe){var se=resolveComponent("tiny-breadcrumb-item");return openBlock(),createElementBlock("div",_hoisted_1$b,[renderSlot(ee.$slots,"default",{},function(){return[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.options,function(le,ue){return openBlock(),createBlock(se,{option:le,label:le[ee.textField],key:ue,to:le.to,replace:le.replace},null,8,["option","label","to","replace"])}),128))]})])}var pc$4=_export_sfc$8(_sfc_main$g,[["render",_sfc_render$9]]);const index$7="";function _extends$5(){return _extends$5=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$5.apply(this,arguments)}var template$4=function(te){var ae;return typeof process=="object"&&((ae={})==null||ae.TINY_MODE),pc$4},$constants$2={EVENT_NAME:{breadcrumbItemSelect:"breadcrumbItemSelect"}},breadcrumbProps=_extends$5({},$props,{_constants:{type:Object,default:function(){return $constants$2}},separator:{type:String,default:">"},separatorIcon:{type:Object},textField:{type:String,default:"label"},size:String,options:{type:Array,default:function(){return[]}}}),Breadcrumb$1=defineComponent({name:$prefix+"Breadcrumb",props:breadcrumbProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$4})}}),version$4="3.16.0";Breadcrumb$1.install=function(ee){ee.component(Breadcrumb$1.name,Breadcrumb$1)};Breadcrumb$1.version=version$4;const computedShowHeader=({constants:ee,props:te})=>()=>te.pattern!==ee.SIMPLE,computedShowFooter=({constants:ee,props:te})=>()=>te.pattern===ee.LEGEND||te.pattern===ee.CLASSIC,computedShowAside=({constants:ee,props:te})=>()=>te.pattern!==ee.CLASSIC,transferWidthOrHeight=ee=>isNumber$2(ee)?ee+"px":ee,computedHeaderStyle=({constants:ee,props:te})=>()=>te.pattern===ee.FASHION?{height:transferWidthOrHeight(te.headerHeight),left:transferWidthOrHeight(te.asideWidth)}:{height:transferWidthOrHeight(te.headerHeight)},computedAsideStyle=({constants:ee,props:te})=>()=>te.pattern===ee.SIMPLE||te.pattern===ee.FASHION?{top:transferWidthOrHeight(0),width:transferWidthOrHeight(te.asideWidth)}:{width:transferWidthOrHeight(te.asideWidth),top:transferWidthOrHeight(te.headerHeight)},computedMainStyle=({constants:ee,props:te})=>()=>{if(te.pattern===ee.DEFAULT||te.pattern===ee.FASHION)return{top:transferWidthOrHeight(te.headerHeight),left:transferWidthOrHeight(te.asideWidth),bottom:transferWidthOrHeight(0)};if(te.pattern===ee.LEGEND)return{top:transferWidthOrHeight(te.headerHeight),left:transferWidthOrHeight(te.asideWidth),bottom:transferWidthOrHeight(te.footerHeight)};if(te.pattern===ee.SIMPLE)return{top:transferWidthOrHeight(0),left:transferWidthOrHeight(te.asideWidth),bottom:transferWidthOrHeight(0)};if(te.pattern===ee.CLASSIC)return{top:transferWidthOrHeight(te.headerHeight),left:transferWidthOrHeight(0),bottom:transferWidthOrHeight(te.footerHeight)}},computedFooterStyle=({constants:ee,props:te})=>()=>te.pattern===ee.CLASSIC?{height:transferWidthOrHeight(te.footerHeight),left:transferWidthOrHeight(0)}:te.pattern===ee.LEGEND?{height:transferWidthOrHeight(te.footerHeight),left:transferWidthOrHeight(te.asideWidth)}:{height:transferWidthOrHeight(te.footerHeight)},computedLeftStyle=({constants:ee,props:te})=>()=>({width:transferWidthOrHeight(te.leftWidth)}),computedShowRight=({constants:ee,props:te})=>()=>te.pattern!==ee.DEFAULT,computedRightStyle=({constants:ee,props:te})=>()=>({width:transferWidthOrHeight(te.rightWidth)}),api$3=["state"],renderless$3=(ee,{computed:te,reactive:ae},{constants:ne})=>{const ie={},oe=ae({showAside:te(()=>ie.computedShowAside()),showHeader:te(()=>ie.computedShowHeader()),showFooter:te(()=>ie.computedShowFooter()),mainStyle:te(()=>ie.computedMainStyle()),asideStyle:te(()=>ie.computedAsideStyle()),headerStyle:te(()=>ie.computedHeaderStyle()),footerStyle:te(()=>ie.computedFooterStyle()),showRight:te(()=>ie.computedShowRight()),leftStyle:te(()=>ie.computedLeftStyle()),rightStyle:te(()=>ie.computedRightStyle())});return Object.assign(ie,{state:oe,computedShowAside:computedShowAside({constants:ne,props:ee}),computedShowHeader:computedShowHeader({constants:ne,props:ee}),computedShowFooter:computedShowFooter({constants:ne,props:ee}),computedMainStyle:computedMainStyle({constants:ne,props:ee}),computedAsideStyle:computedAsideStyle({constants:ne,props:ee}),computedHeaderStyle:computedHeaderStyle({constants:ne,props:ee}),computedFooterStyle:computedFooterStyle({constants:ne,props:ee}),computedLeftStyle:computedLeftStyle({constants:ne,props:ee}),computedShowRight:computedShowRight({constants:ne,props:ee}),computedRightStyle:computedRightStyle({constants:ne,props:ee})}),ie};function _createForOfIteratorHelperLoose$6(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$6(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$6(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$6(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$6(ee,te)}}function _arrayLikeToArray$6(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$7=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$6(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$f=defineComponent({props:[].concat(props,["pattern","headerHeight","asideWidth","footerHeight"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$3,api:api$3})}});function _sfc_render$8(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",{class:normalizeClass([[ee.pattern],"tiny-container"])},[ee.state.showHeader?(openBlock(),createElementBlock("div",{key:0,style:normalizeStyle$2(ee.state.headerStyle),class:"tiny-container__header"},[renderSlot(ee.$slots,"header")],4)):createCommentVNode("v-if",!0),ee.state.showAside?(openBlock(),createElementBlock("div",{key:1,style:normalizeStyle$2(ee.state.asideStyle),class:"tiny-container__aside"},[renderSlot(ee.$slots,"aside")],4)):createCommentVNode("v-if",!0),createBaseVNode("div",{style:normalizeStyle$2(ee.state.mainStyle),class:"tiny-container__main"},[renderSlot(ee.$slots,"default")],4),ee.state.showFooter?(openBlock(),createElementBlock("div",{key:2,style:normalizeStyle$2(ee.state.footerStyle),class:"tiny-container__footer"},[renderSlot(ee.$slots,"footer")],4)):createCommentVNode("v-if",!0)],2)}var pc$3=_export_sfc$7(_sfc_main$f,[["render",_sfc_render$8]]);const index$6="";function _createForOfIteratorHelperLoose$5(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$5(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$5(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$5(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$5(ee,te)}}function _arrayLikeToArray$5(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$6=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$5(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$e=defineComponent({props:[].concat(props,["pattern","leftWidth","rightWidth"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$3,api:api$3})}}),_hoisted_1$a={class:"tiny-mobile-container__center"};function _sfc_render$7(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",{class:normalizeClass([[ee.pattern],"tiny-mobile-container"])},[createBaseVNode("div",{style:normalizeStyle$2(ee.state.leftStyle),class:"tiny-mobile-container__left"},[renderSlot(ee.$slots,"left")],4),createBaseVNode("div",_hoisted_1$a,[renderSlot(ee.$slots,"center")]),ee.state.showRight?(openBlock(),createElementBlock("div",{key:0,style:normalizeStyle$2(ee.state.rightStyle),class:"tiny-mobile-container__right"},[renderSlot(ee.$slots,"right")],4)):createCommentVNode("v-if",!0)],2)}var mobile$1=_export_sfc$6(_sfc_main$e,[["render",_sfc_render$7]]);const index$5="";function _extends$4(){return _extends$4=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$4.apply(this,arguments)}var template$3=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$3:(ne||te)==="mobile"?mobile$1:pc$3},$constants$1={DEFAULT:"default",SIMPLE:"simple",LEGEND:"legend",CLASSIC:"classic",FASHION:"fashion"},Container=defineComponent({name:$prefix+"Container",props:_extends$4({},$props,{_constants:{type:Object,default:function(){return $constants$1}},pattern:{type:String,default:"default",validator:function(te){return!!$constants$1[te.toUpperCase()]}},headerHeight:{type:[Number,String],default:60},asideWidth:{type:[Number,String],default:200},footerHeight:{type:[Number,String],default:60},leftWidth:{type:[Number,String],default:60},rightWidth:{type:[Number,String],default:44}}),setup:function(te,ae){return $setup({props:te,context:ae,template:template$3})}}),version$3="3.16.0";Container.install=function(ee){ee.component(Container.name,Container)};Container.version=version$3;const api$2=[],renderless$2=()=>({});function _createForOfIteratorHelperLoose$4(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$4(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$4(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$4(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$4(ee,te)}}function _arrayLikeToArray$4(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$5=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$4(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$d=defineComponent({props:[].concat(props,["tag"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$2,api:api$2})}});function _sfc_render$6(ee,te,ae,ne,ie,oe){return openBlock(),createBlock(resolveDynamicComponent(ee.tag),{class:"tiny-layout"},{default:withCtx(function(){return[renderSlot(ee.$slots,"default")]}),_:3})}var pc$2=_export_sfc$5(_sfc_main$d,[["render",_sfc_render$6]]);const index$4="";function _extends$3(){return _extends$3=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$3.apply(this,arguments)}var template$2=function(te){var ae;return typeof process=="object"&&((ae={})==null||ae.TINY_MODE),pc$2},Layout=defineComponent({name:$prefix+"Layout",provide:function(){return{layout:this}},props:_extends$3({},$props,{tag:{type:String,default:"div"},cols:{type:Number,default:12,validator:function(te){return!!~[12,24].indexOf(te)}}}),setup:function(te,ae){return $setup({props:te,context:ae,template:template$2})}}),version$2="3.16.0";Layout.install=function(ee){ee.component(Layout.name,Layout)};Layout.version=version$2;const initData$3=({state:ee,props:te,service:ae,api:ne})=>async()=>{if(te.data){ee.data=te.data;return}if(typeof ae.getMenuDataSync=="function"){const ie=await ae.getMenuDataSync();ee.data=ne.setMenuKey({newData:[],menuData:ie})}},setMenuKey=ee=>({newData:te,menuData:ae})=>(Array.isArray(ae)&&ae.forEach(ne=>{const ie={};Object.keys(ne).forEach(oe=>{oe==="name"?ie.label=ne[oe]:oe==="siteNodeId"?ie.id=ne[oe]:oe==="url"&&ne[oe]?ne[oe].includes("#")?ie[oe]=ne[oe]:ie[oe]="#/"+ne[oe]:oe==="children"&&ne[oe]?ie.children=ee.setMenuKey({newData:[],menuData:ne.children}):ie[oe]=ne[oe]}),te.push(__spreadValues(__spreadValues({},ne),ie))}),te),filterNode=ee=>(te,ae)=>{var ne;if(!te)return!0;const ie=((ne=ee.props)==null?void 0:ne.label)||"label";return ae[ie].includes(te)},watchFilterText=({vm:ee})=>te=>{ee.$refs.tree.filter(te)},nodeDragStart=ee=>(te,ae)=>{ee("node-drag-start",te,ae)},nodeDragEnter=ee=>(te,ae,ne)=>{ee("node-drag-enter",te,ae,ne)},nodeDragOver=ee=>(te,ae,ne)=>{ee("node-drag-over",te,ae,ne)},nodeDragEnd=ee=>(te,ae,ne,ie)=>{ee("node-drag-end",te,ae,ne,ie)},nodeDrop=ee=>(te,ae,ne,ie)=>{ee("node-drop",te,ae,ne,ie)},nodeExpand=ee=>(te,ae)=>{ee("node-expand",te,ae)},nodeCollapse=ee=>(te,ae)=>{ee("node-collapse",te,ae)},nodeClick=({emit:ee,props:te,state:ae})=>(ne,ie)=>{ee("node-click",ne,ie),te.showExpand&&ae.isExpand&&(ae.isExpand=!1)},checkChange=ee=>(te,ae,ne)=>{ee("check-change",te,ae,ne)},check=ee=>(te,ae)=>{ee("check",te,ae)},currentChange=ee=>(te,ae)=>{ee("current-change",te,ae)},getTitle=ee=>te=>ee.showTitle?te:"",collapseChange=({state:ee,props:te,emit:ae})=>()=>{te.menuCollapsible&&(ee.isCollapsed=!ee.isCollapsed,ae("collapse-change",ee.isCollapsed))},collapseMenu=({state:ee,props:te,api:ae})=>()=>{te.menuCollapsible&&!ee.isCollapsed&&ae.collapseChange()},expandMenu=({state:ee,props:te,api:ae})=>()=>{te.menuCollapsible&&ee.isCollapsed&&ae.collapseChange()},setCurrentKey=({vm:ee})=>te=>{ee.$refs.tree.setCurrentKey(te)},getCurrentKey=({vm:ee})=>()=>ee.$refs.tree.getCurrentKey(),setCurrentNode=({vm:ee})=>te=>{ee.$refs.tree.setCurrentKey(te)},getCurrentNode=({vm:ee})=>()=>ee.$refs.tree.getCurrentNode(),handleToggleMenu=({state:ee,vm:te})=>ae=>{ee.isExpand=!ee.isExpand,ae==="expand"?ee.currentKey=ee.nodeKey!==null?[ee.nodeKey]:[]:(ee.nodeKey=te.$refs.tree.getCurrentKey(),te.$refs.tree.expandAllNodes(!1))},computedTreeStyle=({props:ee})=>()=>{let te=0;return ee.showExpand&&(te+=64),ee.showFilter&&(te+=42),{height:`calc(100% - ${te}px)`}},computedStyle=({state:ee,props:te})=>()=>({fill:ee.color,color:ee.color,backgroundColor:ee.backgroundColor,backgroundImage:/^(image)$/.test(te.type)&&ee.internalValue?`url(${ee.internalValue})`:"none"}),computedMessage=({props:ee})=>()=>{let te="";const ae=Math.floor(ee.messageTotal||NaN);return ee.messageType==="details"&&!isNaN(ae)&&ae>0&&(te=String(ae),ee.messageUpperLimit&&ae>ee.messageUpperLimit&&(te=`${ee.messageUpperLimit}+`)),te},computedFontSize=({props:ee,state:te,mode:ae})=>()=>{let ne="";if(ee.type==="label"&&te.label&&!ee.min){const ie=te.label.length,oe={1:"40px",2:"30px",3:"22px",4:"20px",5:"18px",6:"16px"},se={1:`${te.size/1.5}px`,2:`${te.size/3}px`,3:`${te.size/4.5}px`,4:`${te.size/6}px`,5:`${te.size/7.5}px`,6:`${te.size/9}px`};ae==="mobile-first"?ne=se[ie]:ne=oe[ie]}return{fontSize:ne}},computedLabel=({state:ee,props:te})=>()=>te.min?ee.internalValue.substr(0,2):ee.internalValue.substr(0,6),getInternalValue=({props:ee})=>()=>{if(ee.modelValue===null){let te="";return ee.type==="icon"?te="icon-user":ee.type==="label"&&(te="U"),te||ee.value}else return ee.modelValue},handleClick=ee=>te=>ee("click",te),mouseEnter=ee=>te=>ee("mouseenter",te),api$1=["state","handleClick","mouseEnter"],renderless$1=(ee,{reactive:te,computed:ae,inject:ne},{mode:ie,emit:oe})=>{const se=ne("groupSize",null),le=te({internalValue:ae(()=>ue.getInternalValue()),label:ae(()=>ue.computedLabel()),style:ae(()=>ue.computedStyle()),message:ae(()=>ue.computedMessage()),fontSize:ae(()=>ue.computedFontSize()),size:se||ee.size,color:ne("color",null)||ee.color,backgroundColor:ne("backgroundColor",null)||ee.backgroundColor}),ue={state:le,computedLabel:computedLabel({state:le,props:ee}),computedStyle:computedStyle({state:le,props:ee}),computedMessage:computedMessage({props:ee}),computedFontSize:computedFontSize({props:ee,state:le,mode:ie}),getInternalValue:getInternalValue({props:ee}),handleClick:handleClick(oe),mouseEnter:mouseEnter(oe)};return ue},index$3="";function _createForOfIteratorHelperLoose$3(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$3(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$3(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$3(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$3(ee,te)}}function _arrayLikeToArray$3(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$4=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$3(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$c=defineComponent({components:{IconUser:index$F()},props:[].concat(props,["min","round","color","backgroundColor","type","value","modelValue","messageTotal","messageType","messageUpperLimit"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$1,api:api$1})}}),_hoisted_1$9={class:"tiny-user-head"},_hoisted_2$8=["title"];function _sfc_render$5(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",_hoisted_1$9,[createBaseVNode("div",{style:normalizeStyle$2(ee.state.style),class:normalizeClass(["tiny-user-head__portrait",{min:ee.min,round:ee.round},ee.type])},[renderSlot(ee.$slots,"default",{},function(){return[ee.type==="icon"?(openBlock(),createBlock(resolveDynamicComponent(ee.state.internalValue),{key:0,class:"tiny-svg-size"})):createCommentVNode("v-if",!0),ee.type==="label"?(openBlock(),createElementBlock("span",{key:1,style:normalizeStyle$2(ee.state.fontSize),title:ee.state.internalValue},toDisplayString(ee.state.label),13,_hoisted_2$8)):createCommentVNode("v-if",!0)]})],6),ee.messageTotal?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["tiny-user-head__message",{min:ee.min,round:ee.round,basic:ee.messageType==="basic"||ee.messageType==="icon"}])},toDisplayString(ee.state.message),3)):createCommentVNode("v-if",!0)])}var pc$1=_export_sfc$4(_sfc_main$c,[["render",_sfc_render$5]]);const index$2="";function _createForOfIteratorHelperLoose$2(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$2(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$2(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$2(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$2(ee,te)}}function _arrayLikeToArray$2(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$3=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$2(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne};function _extends$2(){return _extends$2=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$2.apply(this,arguments)}var _sfc_main$b=defineComponent({components:{IconUser:index$F()},props:[].concat(props,["min","round","color","backgroundColor","type","modelValue","messageTotal","messageType","messageUpperLimit","size"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$1,api:api$1})}}),_hoisted_1$8={class:"tiny-mobile-user-head"},_hoisted_2$7=["title"];function _sfc_render$4(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",_hoisted_1$8,[createBaseVNode("div",{style:normalizeStyle$2(_extends$2({},ee.state.style,{width:ee.state.size+"px",height:ee.state.size+"px"})),class:normalizeClass(["tiny-mobile-user-head__portrait",{min:ee.min,round:ee.round},ee.type])},[renderSlot(ee.$slots,"default",{},function(){return[ee.type==="icon"?(openBlock(),createBlock(resolveDynamicComponent(ee.state.internalValue),{key:0,class:"tiny-mobile-svg-size"})):createCommentVNode("v-if",!0),ee.type==="label"?(openBlock(),createElementBlock("span",{key:1,style:normalizeStyle$2({fontSize:ee.state.size*.3+"px"}),title:ee.state.internalValue},toDisplayString(ee.state.label),13,_hoisted_2$7)):createCommentVNode("v-if",!0)]})],6),ee.messageTotal?(openBlock(),createElementBlock("div",{key:0,style:normalizeStyle$2({left:ee.state.size*.9+"px"}),class:normalizeClass(["tiny-mobile-user-head__message",{min:ee.min,round:ee.round,basic:ee.messageType==="basic"||ee.messageType==="icon"}])},toDisplayString(ee.state.message),7)):createCommentVNode("v-if",!0)])}var mobile=_export_sfc$3(_sfc_main$b,[["render",_sfc_render$4]]);function _createForOfIteratorHelperLoose$1(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray$1(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$1(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray$1(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray$1(ee,te)}}function _arrayLikeToArray$1(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$2=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose$1(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$a=defineComponent({components:{IconUser:index$F()},emits:["click","mouseenter"],props:[].concat(props,["min","round","color","backgroundColor","type","value","modelValue","messageTotal","messageType","messageUpperLimit","size"]),setup:function(te,ae){return setup({props:te,context:ae,renderless:renderless$1,api:api$1})}}),_hoisted_1$7=["title"];function _sfc_render$3(ee,te,ae,ne,ie,oe){return openBlock(),createElementBlock("div",{class:"inline-block relative","data-tag":"tiny-user-head",onClick:te[0]||(te[0]=function(){return ee.handleClick&&ee.handleClick.apply(ee,arguments)}),onMouseenter:te[1]||(te[1]=function(){return ee.mouseEnter&&ee.mouseEnter.apply(ee,arguments)})},[createBaseVNode("div",{"data-tag":"tiny-user-head-body",style:normalizeStyle$2([ee.state.style,{height:ee.state.size+"px",width:ee.state.size+"px",lineHeight:ee.state.size+"px"}]),class:normalizeClass(["overflow-hidden w-10 h-10  text-center  bg-center bg-no-repeat bg-cover",ee.round?"rounded-full":"rounded",{"h-8 w-8 leading-8":ee.min},{"[&_span]:overflow-hidden [&_span]:flex [&_span]:justify-center [&_span]:h-full px-0.5":ee.type==="label"},{"[&_svg]:top-1/2  [&_svg]:absolute [&_svg]:left-1/2  [&_svg]:-translate-y-1/2 [&_svg]:-translate-x-1/2":ee.type==="icon"},{"text-sm":ee.type==="icon"&&ee.min}])},[renderSlot(ee.$slots,"default",{},function(){return[ee.type==="icon"?(openBlock(),createBlock(resolveDynamicComponent(ee.state.internalValue),{key:0,class:"inline-block w-6 h-6",style:normalizeStyle$2([{height:ee.state.size/1.5+"px",width:ee.state.size/1.5+"px",lineHeight:ee.state.size/1.5+"px",top:""+ee.state.size/2}])},null,8,["style"])):createCommentVNode("v-if",!0),ee.type==="label"?(openBlock(),createElementBlock("span",{key:1,style:normalizeStyle$2(ee.state.fontSize),title:ee.state.internalValue},toDisplayString(ee.state.label),13,_hoisted_1$7)):createCommentVNode("v-if",!0)]})],6),ee.messageTotal?(openBlock(),createElementBlock("div",{key:0,"data-tag":"tiny-user-head-message",class:normalizeClass(["absolute rounded-lg text-color-text-primary text-center box-content bg-color-error",ee.messageType==="basic"?"w-0 h-1 px-0.5 border-2 -right-1.5 border-color-bg-1 border-solid -top-1 left-9":"min-w-[0.625rem] w-auto left-7 flex items-center -top-2.5 px-0.5 text-xs h-3.5 border-2 border-color-bg-1 border-solid",{"-top-1 h-2 min-w-2 leading-none rounded":ee.messageType==="icon"},{"top-0 -right-1.5":(ee.messageType==="basic"||ee.messageType==="icon")&&ee.round},{"-top-1.5 left-8 -right-1.5 w-3 h-3":(ee.messageType==="basic"||ee.messageType==="icon")&&ee.min},{"top-0":(ee.messageType==="basic"||ee.messageType==="icon")&&ee.round&&ee.min}])},toDisplayString(ee.state.message),3)):createCommentVNode("v-if",!0)],32)}var mobileFirst=_export_sfc$2(_sfc_main$a,[["render",_sfc_render$3]]);function _extends$1(){return _extends$1=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends$1.apply(this,arguments)}var template$1=function(te){var ae,ne=typeof process=="object"?(ae={})==null?void 0:ae.TINY_MODE:null;return(ne||te)==="pc"?pc$1:(ne||te)==="mobile"?mobile:(ne||te)==="mobile-first"?mobileFirst:pc$1},$constants={ITEM_NAME:".user-head-item"},userHeadProps=_extends$1({},$props,{_constants:{type:Object,default:function(){return $constants}},min:Boolean,round:Boolean,color:{type:String,default:"#ffffff"},backgroundColor:{type:String,default:"#B5BBC1"},type:{type:String,default:"label",validator:function(te){return!!~["icon","image","label"].indexOf(te)}},value:{type:[Object,String],default:null},modelValue:{type:[Object,String],default:null},messageTotal:Number,messageType:{type:String,default:"details",validator:function(te){return!!~["details","basic"].indexOf(te)}},messageUpperLimit:{type:Number,default:0},size:{type:Number,default:40}}),UserHead=defineComponent({name:$prefix+"UserHead",props:userHeadProps,setup:function(te,ae){return $setup({props:te,context:ae,template:template$1})}}),version$1="3.16.0";UserHead.model={prop:"modelValue",event:"update:modelValue"};UserHead.install=function(ee){ee.component(UserHead.name,UserHead)};UserHead.version=version$1;const api=["state","t","initData","setMenuKey","filterNode","nodeDragStart","nodeDragEnter","nodeDragOver","nodeDragEnd","nodeDrop","nodeExpand","nodeCollapse","nodeClick","checkChange","check","currentChange","getTitle","collapseChange","collapseMenu","expandMenu","setCurrentKey","getCurrentKey","setCurrentNode","getCurrentNode","handleToggleMenu"],renderless=(ee,{computed:te,watch:ae,reactive:ne,onMounted:ie},{t:oe,service:se,emit:le,vm:ue})=>{se=se||{base:{}},se={getMenuDataSync:ee.getMenuDataSync||se.base.getMenuDataSync};const ce={},de=ne({data:[],filterText:"",isExpand:!1,isCollapsed:!1,nodeKey:null,currentKey:[],treeStyle:te(()=>ce.computedTreeStyle()),defaultExpandedKeys:te(()=>ee.defaultExpandedKeys&&ee.defaultExpandedKeys.length?ee.defaultExpandedKeys:de.currentKey)});return Object.assign(ce,{t:oe,state:de,check:check(le),filterNode:filterNode(ee),nodeDrop:nodeDrop(le),nodeClick:nodeClick({emit:le,props:ee,state:de}),nodeExpand:nodeExpand(le),nodeDragEnd:nodeDragEnd(le),checkChange:checkChange(le),nodeCollapse:nodeCollapse(le),nodeDragOver:nodeDragOver(le),nodeDragStart:nodeDragStart(le),nodeDragEnter:nodeDragEnter(le),currentChange:currentChange(le),watchFilterText:watchFilterText({vm:ue}),getTitle:getTitle(ee),setMenuKey:setMenuKey(ce),initData:initData$3({state:de,props:ee,service:se,api:ce}),collapseChange:collapseChange({state:de,props:ee,emit:le}),collapseMenu:collapseMenu({state:de,props:ee,api:ce}),expandMenu:expandMenu({state:de,props:ee,api:ce}),setCurrentKey:setCurrentKey({vm:ue}),getCurrentKey:getCurrentKey({vm:ue}),setCurrentNode:setCurrentNode({vm:ue}),getCurrentNode:getCurrentNode({vm:ue}),handleToggleMenu:handleToggleMenu({state:de,vm:ue}),computedTreeStyle:computedTreeStyle({props:ee})}),ae(()=>ee.data,he=>de.data=he,{immediate:!0}),ae(()=>de.filterText,ce.watchFilterText,{deep:!0}),ie(ce.initData),ce};function _createForOfIteratorHelperLoose(ee,te){var ae=typeof Symbol<"u"&&ee[Symbol.iterator]||ee["@@iterator"];if(ae)return(ae=ae.call(ee)).next.bind(ae);if(Array.isArray(ee)||(ae=_unsupportedIterableToArray(ee))||te&&ee&&typeof ee.length=="number"){ae&&(ee=ae);var ne=0;return function(){return ne>=ee.length?{done:!0}:{done:!1,value:ee[ne++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray(ee,te){if(ee){if(typeof ee=="string")return _arrayLikeToArray(ee,te);var ae=Object.prototype.toString.call(ee).slice(8,-1);if(ae==="Object"&&ee.constructor&&(ae=ee.constructor.name),ae==="Map"||ae==="Set")return Array.from(ee);if(ae==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ae))return _arrayLikeToArray(ee,te)}}function _arrayLikeToArray(ee,te){(te==null||te>ee.length)&&(te=ee.length);for(var ae=0,ne=new Array(te);ae<te;ae++)ne[ae]=ee[ae];return ne}var _export_sfc$1=function(te,ae){for(var ne=te.__vccOpts||te,ie=_createForOfIteratorHelperLoose(ae),oe;!(oe=ie()).done;){var se=oe.value,le=se[0],ue=se[1];ne[le]=ue}return ne},_sfc_main$9=defineComponent({name:$prefix+"TreeMenu",emits:["change","current-change","node-drag-start","node-drag-enter","node-drag-over","node-drag-end","node-drop","node-expand","node-click","check-change","check","collapse-change","node-collapse"],components:{TinyTree:Tree$2,TinyInput:Input,IconArrow:index$z(),IconEditorMenuLeft:index$10(),IconEditorMenuRight:index$$()},props:{placeholder:{default:"",type:String},data:Array,nodeKey:String,defaultExpandAll:Boolean,suffixIcon:Object,prefixIcon:Object,searchIcon:{type:Object,default:function(){return index$J()}},props:Object,draggable:{type:Boolean,default:!1},emptyText:{type:String,default:""},checkStrictly:Boolean,lazy:{type:Boolean,default:!1},load:Function,showCheckbox:Boolean,filterNodeMethod:Function,defaultCheckedKeys:Array,defaultExpandedKeys:Array,defaultExpandedKeysHighlight:[Number,String],indent:{type:Number,default:16},allowDrag:Function,allowDrop:Function,expandOnClickNode:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!1},wrap:{type:Boolean,default:!1},getMenuDataSync:Function,accordion:Boolean,showTitle:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0},showExpand:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},showNumber:{type:Boolean,default:!1},nodeHeight:Number,onlyCheckChildren:{type:Boolean,default:!1},menuCollapsible:{type:Boolean,default:!1}},setup:function(te,ae){return setup({props:te,context:ae,renderless,api})}}),_hoisted_1$6={class:"tree-node"},_hoisted_2$6={class:"tree-menus-link tiny-tree-node__label"},_hoisted_3$5=["title","href"],_hoisted_4$5={class:"tree-node-name"},_hoisted_5$5={key:2,class:"tiny-tree-menu__expand"};function _sfc_render$2(ee,te,ae,ne,ie,oe){var se=resolveComponent("icon-arrow"),le=resolveComponent("tiny-input"),ue=resolveComponent("tiny-tree"),ce=resolveComponent("icon-editor-menu-left"),de=resolveComponent("icon-editor-menu-right");return openBlock(),createElementBlock("div",{class:normalizeClass(["tiny-tree-menu",{"is-collapsed":ee.state.isCollapsed,"is-expand":ee.state.isExpand,"tiny-tree-menu__show-filter":ee.showFilter,"tiny-tree-menu__show-expand":ee.showExpand}])},[ee.menuCollapsible?(openBlock(),createElementBlock("div",{key:0,class:"tiny-tree-menu__toggle-button",onClick:te[0]||(te[0]=withModifiers(function(){return ee.collapseChange&&ee.collapseChange.apply(ee,arguments)},["stop"]))},[createVNode$1(se)])):createCommentVNode("v-if",!0),ee.showFilter?(openBlock(),createBlock(le,{key:1,modelValue:ee.state.filterText,"onUpdate:modelValue":te[1]||(te[1]=function(he){return ee.state.filterText=he}),placeholder:ee.placeholder||ee.t("ui.treeMenu.placeholder"),"prefix-icon":ee.searchIcon},null,8,["modelValue","placeholder","prefix-icon"])):createCommentVNode("v-if",!0),createVNode$1(ue,{ref:"tree",class:normalizeClass({"tiny-tree-menu__wrap":ee.ellipsis?!1:ee.wrap,"tiny-tree-menu__overflow":ee.ellipsis,"only-check-children":ee.onlyCheckChildren}),tiny_mode:"pc",theme:"tiny",accordion:ee.accordion,data:ee.state.data,"node-key":ee.nodeKey||"id","empty-text":ee.emptyText,"filter-node-method":ee.filterNodeMethod||ee.filterNode,draggable:ee.draggable,"default-expand-all":ee.defaultExpandAll,"check-strictly":ee.checkStrictly,lazy:ee.lazy,load:ee.load,"show-checkbox":ee.showCheckbox,"show-number":ee.showNumber,collapsible:ee.collapsible,"node-height":ee.nodeHeight,indent:ee.indent,"default-checked-keys":ee.defaultCheckedKeys,"default-expanded-keys":ee.state.defaultExpandedKeys,"default-expanded-keys-highlight":ee.defaultExpandedKeysHighlight,"allow-drag":ee.allowDrag,props:ee.props,"allow-drop":ee.allowDrop,"expand-on-click-node":ee.expandOnClickNode,"only-check-children":ee.onlyCheckChildren,onNodeDragStart:ee.nodeDragStart,onNodeDragEnter:ee.nodeDragEnter,onNodeDragOver:ee.nodeDragOver,onNodeDragEnd:ee.nodeDragEnd,onNodeDrop:ee.nodeDrop,onNodeExpand:ee.nodeExpand,onNodeCollapse:ee.nodeCollapse,onNodeClick:ee.nodeClick,onCheckChange:ee.checkChange,onCheck:ee.check,onCurrentChange:ee.currentChange},{default:withCtx(function(he){var fe=he.node,pe=he.data;return[createBaseVNode("div",_hoisted_1$6,[createBaseVNode("div",_hoisted_2$6,[createBaseVNode("a",{class:"tree-node-body",title:ee.getTitle(pe.label),href:pe.url||void 0},[createBaseVNode("span",_hoisted_4$5,[!pe.customIcon&&ee.suffixIcon?(openBlock(),createBlock(resolveDynamicComponent(ee.suffixIcon),{key:0})):createCommentVNode("v-if",!0),pe.customIcon?(openBlock(),createBlock(resolveDynamicComponent(pe.customIcon),{key:1})):createCommentVNode("v-if",!0),renderSlot(ee.$slots,"default",{node:fe,data:pe,label:pe.label},function(){return[createTextVNode(toDisplayString(pe.label||fe.label),1)]})])],8,_hoisted_3$5)])])]}),_:3},8,["class","accordion","data","node-key","empty-text","filter-node-method","draggable","default-expand-all","check-strictly","lazy","load","show-checkbox","show-number","collapsible","node-height","indent","default-checked-keys","default-expanded-keys","default-expanded-keys-highlight","allow-drag","props","allow-drop","expand-on-click-node","only-check-children","onNodeDragStart","onNodeDragEnter","onNodeDragOver","onNodeDragEnd","onNodeDrop","onNodeExpand","onNodeCollapse","onNodeClick","onCheckChange","onCheck","onCurrentChange"]),ee.showExpand?(openBlock(),createElementBlock("div",_hoisted_5$5,[createBaseVNode("span",null,[ee.state.isExpand?(openBlock(),createBlock(de,{key:1,onClick:te[3]||(te[3]=function(he){return ee.handleToggleMenu("expand")})})):(openBlock(),createBlock(ce,{key:0,onClick:te[2]||(te[2]=function(he){return ee.handleToggleMenu("collapse")})}))])])):createCommentVNode("v-if",!0)],2)}var pc=_export_sfc$1(_sfc_main$9,[["render",_sfc_render$2]]);const index$1="";function _extends(){return _extends=Object.assign?Object.assign.bind():function(ee){for(var te=1;te<arguments.length;te++){var ae=arguments[te];for(var ne in ae)Object.prototype.hasOwnProperty.call(ae,ne)&&(ee[ne]=ae[ne])}return ee},_extends.apply(this,arguments)}var template=function(te){var ae;return typeof process=="object"&&((ae={})==null||ae.TINY_MODE),pc},treeMenuProps=_extends({},$props,{placeholder:{default:"",type:String},data:Array,nodeKey:String,defaultExpandAll:Boolean,suffixIcon:Object,prefixIcon:Object,searchIcon:{type:Object,default:function(){return index$J()}},props:Object,draggable:{type:Boolean,default:!1},emptyText:{type:String,default:""},checkStrictly:Boolean,lazy:{type:Boolean,default:!1},load:Function,showCheckbox:Boolean,filterNodeMethod:Function,defaultCheckedKeys:Array,defaultExpandedKeys:Array,defaultExpandedKeysHighlight:[Number,String],indent:{type:Number,default:16},allowDrag:Function,allowDrop:Function,expandOnClickNode:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!1},wrap:{type:Boolean,default:!1},getMenuDataSync:Function,accordion:Boolean,showTitle:{type:Boolean,default:!0},showFilter:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},showNumber:{type:Boolean,default:!1},nodeHeight:Number,onlyCheckChildren:{type:Boolean,default:!1},menuCollapsible:{type:Boolean,default:!1}}),TreeMenu=defineComponent({name:$prefix+"TreeMenu",props:treeMenuProps,setup:function(te,ae){return $setup({props:te,context:ae,template})}}),version="3.16.0";TreeMenu.install=function(ee){ee.component(TreeMenu.name,TreeMenu)};TreeMenu.version=version;const _sfc_main$8=defineComponent$1({__name:"index",props:{items:{type:Array,default(){return[]}}},setup(ee){return(te,ae)=>(openBlock(),createBlock(unref(Breadcrumb$1),{class:"container-breadcrumb"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(ee.items,ne=>(openBlock(),createBlock(unref(BreadcrumbItem),{key:ne},{default:withCtx(()=>[createTextVNode(toDisplayString(te.$t(ne)),1)]),_:2},1024))),128))]),_:1}))}}),index_vue_vue_type_style_index_0_scoped_aa17f3ca_lang="",_export_sfc=(ee,te)=>{const ae=ee.__vccOpts||ee;for(const[ne,ie]of te)ae[ne]=ie;return ae},Breadcrumb=_export_sfc(_sfc_main$8,[["__scopeId","data-v-aa17f3ca"]]),globalComponents={install(ee){ee.component("Breadcrumb",Breadcrumb)}},scriptRel="modulepreload",assetsURL=function(ee){return"/ui/admin/"+ee},seen={},__vitePreload=function(te,ae,ne){if(!ae||ae.length===0)return te();const ie=document.getElementsByTagName("link");return Promise.all(ae.map(oe=>{if(oe=assetsURL(oe),oe in seen)return;seen[oe]=!0;const se=oe.endsWith(".css"),le=se?'[rel="stylesheet"]':"";if(!!ne)for(let de=ie.length-1;de>=0;de--){const he=ie[de];if(he.href===oe&&(!se||he.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${oe}"]${le}`))return;const ce=document.createElement("link");if(ce.rel=se?"stylesheet":scriptRel,se||(ce.as="script",ce.crossOrigin=""),ce.href=oe,document.head.appendChild(ce),se)return new Promise((de,he)=>{ce.addEventListener("load",de),ce.addEventListener("error",()=>he(new Error(`Unable to preload CSS for ${oe}`)))})})).then(()=>te()).catch(oe=>{const se=new Event("vite:preloadError",{cancelable:!0});if(se.payload=oe,window.dispatchEvent(se),!se.defaultPrevented)throw oe})};var n,e,t={version:"0.2.0"},r=t.settings={minimum:.08,easing:"linear",positionUsing:"",speed:200,trickle:!0,trickleSpeed:200,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function i(ee,te,ae){return ee<te?te:ee>ae?ae:ee}function s(ee){return 100*(-1+ee)}t.configure=function(ee){var te,ae;for(te in ee)(ae=ee[te])!==void 0&&ee.hasOwnProperty(te)&&(r[te]=ae);return this},t.status=null,t.set=function(ee){var te=t.isStarted();ee=i(ee,r.minimum,1),t.status=ee===1?null:ee;var ae=t.render(!te),ne=ae.querySelector(r.barSelector),ie=r.speed,oe=r.easing;return o(function(se){r.positionUsing===""&&(r.positionUsing=t.getPositioningCSS()),a(ne,function(le,ue,ce){var de;return(de=r.positionUsing==="translate3d"?{transform:"translate3d("+s(le)+"%,0,0)"}:r.positionUsing==="translate"?{transform:"translate("+s(le)+"%,0)"}:{"margin-left":s(le)+"%"}).transition="all "+ue+"ms "+ce,de}(ee,ie,oe)),ee===1?(a(ae,{transition:"none",opacity:1}),setTimeout(function(){a(ae,{transition:"all "+ie+"ms linear",opacity:0}),setTimeout(function(){t.remove(),se()},ie)},ie)):setTimeout(se,ie)}),this},t.isStarted=function(){return typeof t.status=="number"},t.start=function(){t.status||t.set(0);var ee=function(){setTimeout(function(){t.status&&(t.trickle(),ee())},r.trickleSpeed)};return r.trickle&&ee(),this},t.done=function(ee){return ee||t.status?t.inc(.3+.5*Math.random()).set(1):this},t.inc=function(ee){var te=t.status;return te?te>1?void 0:(typeof ee!="number"&&(ee=te>=0&&te<.2?.1:te>=.2&&te<.5?.04:te>=.5&&te<.8?.02:te>=.8&&te<.99?.005:0),te=i(te+ee,0,.994),t.set(te)):t.start()},t.trickle=function(){return t.inc()},n=0,e=0,t.promise=function(ee){return ee&&ee.state()!=="resolved"?(e===0&&t.start(),n++,e++,ee.always(function(){--e==0?(n=0,t.done()):t.set((n-e)/n)}),this):this},t.render=function(ee){if(t.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var te=document.createElement("div");te.id="nprogress",te.innerHTML=r.template;var ae,ne=te.querySelector(r.barSelector),ie=ee?"-100":s(t.status||0),oe=document.querySelector(r.parent);return a(ne,{transition:"all 0 linear",transform:"translate3d("+ie+"%,0,0)"}),r.showSpinner||(ae=te.querySelector(r.spinnerSelector))&&m(ae),oe!=document.body&&c(oe,"nprogress-custom-parent"),oe.appendChild(te),te},t.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(r.parent),"nprogress-custom-parent");var ee=document.getElementById("nprogress");ee&&m(ee)},t.isRendered=function(){return!!document.getElementById("nprogress")},t.getPositioningCSS=function(){var ee=document.body.style,te="WebkitTransform"in ee?"Webkit":"MozTransform"in ee?"Moz":"msTransform"in ee?"ms":"OTransform"in ee?"O":"";return te+"Perspective"in ee?"translate3d":te+"Transform"in ee?"translate":"margin"};var o=function(){var ee=[];function te(){var ae=ee.shift();ae&&ae(te)}return function(ae){ee.push(ae),ee.length==1&&te()}}(),a=function(){var ee=["Webkit","O","Moz","ms"],te={};function ae(ne,ie,oe){var se;se=(se=ie).replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(le,ue){return ue.toUpperCase()}),ie=te[se]||(te[se]=function(le){var ue=document.body.style;if(le in ue)return le;for(var ce,de=ee.length,he=le.charAt(0).toUpperCase()+le.slice(1);de--;)if((ce=ee[de]+he)in ue)return ce;return le}(se)),ne.style[ie]=oe}return function(ne,ie){var oe,se,le=arguments;if(le.length==2)for(oe in ie)(se=ie[oe])!==void 0&&ie.hasOwnProperty(oe)&&ae(ne,oe,se);else ae(ne,le[1],le[2])}}();function u(ee,te){return(typeof ee=="string"?ee:d(ee)).indexOf(" "+te+" ")>=0}function c(ee,te){var ae=d(ee),ne=ae+te;u(ae,te)||(ee.className=ne.substring(1))}function l(ee,te){var ae,ne=d(ee);u(ee,te)&&(ae=ne.replace(" "+te+" "," "),ee.className=ae.substring(1,ae.length-1))}function d(ee){return(" "+(ee&&ee.className||"")+" ").replace(/\s+/gi," ")}function m(ee){ee&&ee.parentNode&&ee.parentNode.removeChild(ee)}const _imports_0$4="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAO4ElEQVR4Xu1dCWxcxRn+/3lv7fXajm2I94odO8EOJZCaK9AchDScAVKOVCAoBAqtWlqJ3hKVaFW1SK3UC5CKgBZKEYVCIRBCCoSEIwnlSGgwEI7YJPGRfbvrOHZ82/ve/NVsWGfXfut9u+9Yk+xK1kremX/++b/3Zv7555t/EKbpJxwOlxJRnSRBnfgmTvUAzMsQPJx4KSLzEPFSoT4iGyTiQwzZICcYAuBRZLgPEds0DdrEt9/vH5yOXcXpolQ0Gi0DUE8jgoVEcCYQzLNUN4TdiLADEbYDyDu9Xu+ApfJzFJZXAITRieh8Iu1SIGgCAJZjP7KtxgGhGVHagIib8gmG4wAQESqKsoQhXYbIlhFRUbbWs7I8Io4R8S2c8PlAIPAGIpKV8jPJcgwAIpK6upQLSIObCWBuJsXy8TsC7EEJHqquDryMiJoTOtgOgDB8VFFWEcBNgFDjRKdMt0HQiQAPewOB9XYDYSsAkUhnE3HpdgBqNG2UvAjAFmTa73y+mma7mrcFgJ6ensqxkZHbCOhrdinupFwEfK7I7b6nqqqq1+p2LQdAUZTlCPBLAJphtbL5lIeIhzjBbwKBwGtW6mEZAEQkR6PKbcThOisVnG6ykMFjXm/gHkRUrdDNEgC6urqCXFV/S0AnW6HUdJeBgLuYLP+8uro6ZFZX0wAoinIyQ7ibiCrNKvNFqo+IvZzgB4FAYJcZvU0B0B0Of0Ul/nsCKDGjxBe1LgIMy8h+drzf/1aufcgZgFAodLHE8Fdi7M+18aOhnpgLNE6/CgaDL+bSn5wAEMZnCHfm0uDRWocT3JELCFkDEB92gO461p/8iQ+SeBNkwB9mOxxlBUB8wgW671gd8zO9vWJO4IDfzWZiNgxA3NXU1EeONW8nk9F13oReJslrjLqohgCIL7LC4QePFT8/W6NPAgFwl9fvv8XIYs0QABFF+QkBXWtWsWOpPgI+7gsE/pipzxkBOBzboT9kElT4fbIFCPCnmWJHUwIgopqjIyNrj7bAmlMPiwjgFRW7V08VRZ0SgIii/PJoCSk7ZXSd+eA5XyDw63TtpwXg8GYKezBfih9N7SLjt6Tb1NEFQGwjRsLhR7+4O1nTDT5s8fn91+ttb+oCEAmFriCEO6ZbN77I+iDBnb5g8NnJQ9SE/8SffkV5erptoBMh7FXIszeklfUNcdfgMMrDoyQPjUA8GFjiBrW0GFWPG9UZpRCbG2QD9QE25DDLJP0zQtDpCwRWT3wLJr0B0WjoYq5Nj0CbMPqHn/EZLfvV8s4olMbU7IhbLgl4sBqGTqyV+k45gfVhRqfb3neMSXCH15saNU1RSZCmomHliXzzdogAmlu0inc+5jP7h8BlhVnKPBg7ez470NTADuULCME78voD1ySTv1IACIVCSxnCXVZ0OFcZu9t52bZmzdszALYw5spLMfbV01iksZblhRvKCX4YDAa3JeyTAkBY2f87ADw/V+OZqccJ4JUdmre5lR9nRo7Ruqc24MEVZ8pR598G2uQPzLp9EgBxoizXNuaDqzk0AtK6LeqsUDd5kg0ojNPUIHWfPBf6ykuYGu3hxTs+1Y5rD0PZVIaeOwv6G2pYv9uFPHwA3M2faVWjMZAm1vEdj8NfWyztn1FmDcPBCPiCi4pMujBBCB5/AyKRyBXENcddz4N93PXvV7S6geHD3kzy5/JzpI6GGjaJ179pe/o3ZeUiaf/8etafLGd4hKQnNmmzu/upeGIbHjeo110k76vwOAgCk+70+Xxxl3QcgHA49FcgOM0IilaVGR4l9thGtb5XZ7yfV4uHVi2VFb22NA74wLrYCQkXNFFmwVzWc+HZUkSvTlcvFT3ygqpLCq4shbFrL5TbPG5nCLmAsNPvD357HAAx/HBNfcVBfj4IIz65WasNHeApw07CeHpPcrJhn9+mBj7toIrk/11znryvxosj6R6Qf7yg1h/oJbfe79VVOHLNCqm9uAi5VQ/YFHI4k+QVYhiKvwHRaOgcrsGfHWh4vIn129TA7gkGTG5/1RLWOW+2lNZT+c9/Nf/HbTyFi3TLZdJnleUslq4f/9ocq90fhfixJr3PSfWs95JFUtgJOzAJfuT1BrfGAYhEQj92klK4JwSeZ16PzZ6qo6fPY91fPUPqSlfmoQ3qnJ6+1DF91RKpc97s9O7lvWtjDcOjk+ea5DZWL5faxQrabhAExdHnC/4pDkBYUR53KvAm3M2HN2hzevr5pAkxudNiFXvjJa49FWUwiYO5c7dW8cq7PDDRSP7jcPgbF8ltesZ7bzev2PyuNqnOxLIVpTj2zUulvZJk80kZhN1+f/A6FKcRgfjrdiOekL/9I61qSzP3GWmvrATU886UlIQnpGqAb3/Ij3vnI7VaHPLS+zTUYN9Fi+SwW4bxsfyDVj7j1f9p/phmLJRx9nypa2kT6zaio6kyyM4V57XmI9AjpgQZrKxqhPc/ozaM6PjkU4lwF4Em/g4NQJGRA1wuGXhwJgy5ZORi0tXzsqZqT7im37nC1cpsjh0R4BqMRpWVXKPfGLShqWIf7ePlL7ypzdITIoYcTSOW7sk21bBOZQYEkoQ83Vtx6WKp80t19oYrmIS/wEgk9F3i8C2rO6gnb+3r6qy9ISpP/u2kOta76BTWXTUDY+IN+bSNyrY0a76JPr5V+olh7dzT5fCJtWxAhKp7+si17X0+c3cHT3Fpa70wePV5rg6r2tWTgwz+hk7Ff0bHiN33rNooxvGEMmfMY93LdTyd3n5yPfqSWq8XPjBjkJJi0m64WN5b7mGTJvaN2zXvBxPiULde6WrxuMHG05K0CSPK/r8T4AIzHTNSd9ceXv7i20eGn2IXaN9f7WpJFwx74331+Ld2UbUR2UbLLGtikYXzpR698uLBuHdtrDF5z+HypXJHQy3amOIA3xfx/39xogajnci13Gs7tZnvfsJnJurPCWD/Vcvl/enkdUTJ/eRmtT7X9vTqrVkp76muxLF0Mp/cpNV2dB3OPyE+dntDDLFVDEHrATCjf2zWEOu2qsHWziMH9+qD2L/63PQAtIWp5KlX1Tqz7SbXzwTAYxvV2UpSRDaTjuZ1IwUjYWUzUWpMxbzgyRIefUGti/TS+EkaMQTdeqXcmm7Bs/U9babYEbNSl3OapMhZ85nuEDSiAntgbawh2SsqKQb1e1e5Wq3UIVmWIG6JN+AtALT9lMu9a8cah0cxJSbfdAI7eP5ZUnRiB4VnIiKXqsU+qQB9zcXyXr34/3/e1Pwf70uNLbkkoNuudn1qFwAApDoGwF+ejjUKr0bs9yZ/5tWyQ185BburK9mY2JgRW5JbP1B9Y2NoS+YUschaukCKnjRH6pcYUaSbF2/9QKvW2+Sp9eHA1SvkTlsBcGoI+stTscapVsCMIXFONq89U00pFmNTvWSLF7DoolOkg3YBkBiCHJmE73821qC362VX56yQ+61VcmuFrduVpDjmhj74XGxu76A9TAcrjD1RhhMr4c/dUOUhAPqyHZ1IlvnvzVpte/SIj213e2blZ9pdMyv/cH1837FQxMSFmDUdsEfKiXV46LLF+vvR1rYoQhEOBeM+aaeyDW+o0z5hU1UZjK25xLVXlsBI5NsUHvFgnFPh6P4hLj+wTrM95GHGIoId8fUVcru9E+8RDePhaCc3ZP75kloXPnhkNWzGWFbXDR7Phq44l3WWFDvCioirH9+QcXJL8r0WXrF5R+Z9WauNO5W8cg/EliyQoyfPxRQylyM6iC1J0VA4HHrM8kSpOj2Ih3yfjjUa3Zu1ywhiU2a2DwfmzJIGGmtwUBIrMqc/iU150a6TtBS9jQ8r+15dCSO1PjZY7sGYmEiZBFQkAS9xM81TTFqpGzTHGHBTdCyFluIkMWt0DNjf1sdOGBmbTJY1C4TY3rxksTPEKrO6phCznKYmGuXoZNNJwWC49SrXbnfRETpKNvUdLptKTfx8HnCUnPv4y9rsdLzQXIzhq8Th61fqk7JykWdrnYnk3MPzgLP09KERkv65Ua3vG7TmCNLMShy5caW8z1bDWSQc9ejp+TigceAQL3riZa0uW6KWnh2EO3dDhj1fi+xnSkzaAxrxYSgPR5Q6I1SybptaY8WkLNzL6y9y7S0tsZNKYsr+Yvmlf0RJiM3XIT3BA1q7Ra3p6YMpCbtGur7wJOnAslPZASNl81FmykN6+TymKhZp67dpwT0hnsKcy9ZImegu2cqzsnzGY6qisXwf1G7p4GVb3tO82RJqE4ZqmMX6Ll8mmc5oa6XhE7IyHtQWBadDqgKxcb/jY61q+yfazIlMikyGWX46C59xomR5lvNM7Wb83WiqgrhLOk2SdQggWjq0so/aYEa7wstjSbxSvQ6LiOY1F0jtdtPKMxpbp4DhZB3jb8E0S1cjyL2tnVDa2cU9XQfJ3TfMi0ZHQRJsiooZOLpgLvae2sAO2X6yJRfrQ5bpag4vzAoJm3Kytd7Tn23CpoSMQsoy8xCI2zdySlkmmo5fRTI68rQT3FHzXZ1+Ekwn7RNdKqStzB1Y02krk4aiQuLWLHFIbLhkqmaIi1lIXZzJjKm/iytOLE1dLMQXkncbA0FcbWJ58u5E04X09VODYGv6+kTThQsc9EFw5AKHRNOFK0wmg+DYFSbJIBQu8RG3eefhEp+U4ahwjVV+rrFKmZgLF7kZc5H04kQ510yqWLjKMHcrGlqIGRH/+WLtB0f7VSfiahKv33+3kfthjNjNMgCShqTCdbZGLP95GcsBGI+iFi50NgSDLQCMB/EKV5pnBMFWAETrYpM/qiirCOCm6XYnQVrrEHQiwMPeQGC93q0XGa2aRQHbAUjoIoDo6lIuIA1uznd6/HT2EbwdlOCh6urAy3YbPqGDYwAkASHOpS1hSJchsmX5SBaeDIDgahLxLZzw+UAg8EZybv8sHuScizoOQLKmcUIw0flE2qVA0ORg6mSRIqIZUdqAiJsSmcxztqKJinkFYCIYAOppRLCQOC60PpEstiCj7YiwHUDemU+jp7yBJsCztao4vUlEdZIEdeKbONUDMC9D8HDipYjMQ3Q49QEiGyTiQwzZICcYAuBRZLgPEds0DdrEt9/vtzH3W+6m+D/dn7fZgEU5BQAAAABJRU5ErkJggg==",_imports_1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAIMklEQVR4XuVbbWxT1xl+33PsYOcLBxL72qQkBNgCLRBKKGpQRyGjgnYtQlolSku1Seu6/dlHp2qapu3HPjRN1dZtv4aYpm3QDm3SKgItaSkrtFkLFMJHq0HbiECT2Nd2SZwv48T3nne6Zg5Ocm1f28csk/0vuec85z3P+Xjf9znnIBT5F4lEamKxsXsBWBMD1kAgGojIhcjKiUSF0TwiGycSUUSMILDrAsR1AHHV4ajsdrlcQ8U0EYsB/pnfv0JjsI0BbhBEywppgyH2CKDTNgGdtT7f5UKwzOpKI0BV1QpEsRME7CCAJbINTcwUgF5gcIiIvaIoyriMNgomIBwOV4l4fDch7AKAKhlGWcAYRYKDzG5/ua6ubtRC+bRF8iaAiDAY9D8KBN8CQFchRuRflyKA8DuPx3cYESkfnLwICIVCihD6z4FoTT6NSq+DeJEx/kO3263mip0zAaH+/hZhYy8AQU2ujRW1PMIQ08Tz7vr6C7m0kxMBqjqwAwh+AIC2XBq5c2VJA4RfKMqiQ1bbtEQAEfFQKPBtErDbKvD/shwyeNnt9v4WEfVsdmQlINH5YOAFIvhCNrC59B0R3nZ7vM9nIyErAcGg/7n/l5GfOQDGTPB4fL/ONDAZCbi15vFHc2lkc7YF6aeZ9oS0BCR2e46/n7sbnlUqSGM6fSOddzAl4Jaf1/bPOVdntc+z1gIMMWbbYxYnzCLgVoSn/mHOBDn5dnoWCXjR41G+NjNinEWAqg48BoQ/ltXunMJB+omiLOpItWkaAUZio2uTr8iM7aMx4ie6RV1fWFTUL2TRLa0s5HSY++doDPhr72ne4A1yNips7MF1PFThhKy+3DrJFOG2sp2pCdQ0AoJ+/7OE8Ix1wMwlu6/orq5LujuuI0uWrCyH+EPreWCJj0VTa/cGqPzYGc07GgV78v92DqJtFQu3ruDSRBEk2Ofx+fYm25giwMjngcQRGSmtIIB/nIjXX1ehMh1FnoV4012NMeN7eJgc6iA505X11WL08S28z8bzy/hm4I4Csi8l9YQpAoJB/1Mk4DsyRt8Y+bfOC0UGVhKjbRUL3X8PH5SBiQx+4/H4DhhYtwkI+P8uS8l565xe1/2xWCjD2CRGyzI+2L6ehWRgGsqSx+t7fIqAhIaHsF8GuIFx9opwnTyvS50BD6xmwfvulrcX2Aj2GBpjYgaoqv+7QPCkLAIuXRXVx07rPll4Bk77Oh5o+RwbloaJ8JKi+F5MEBBSAwcLVW9TDTv3ke460S13D9i0lqutzSwiiwBDbXYr3l2Y0O1vRo/JAjZw/vZPUd8X1NN6gHzaWuSG8V3t9r586qar43CWb0VV7W8HYr+UBRyOUNmBo/EmcXt/nQU9zw76XQqOVzsxHheAnw0l3GA5ZZA1GQLsfoj3ehawCVm2Aorvo6r6nwGCZ2WAxjRgLx2NN0bGoMwMDxFgw0oMt62y35gp4g6NkP34Oc2TKXaoroD4nm32XkcZCBn2AsJeDKnqzwSJbYUAGoHPBz36/Hc/FHXRGJjqhQ476I9s5AON3ukR4Mx2Xz+lez7sFWkFV+c80Nru4eE1y/lwnkr4VJMMWScGVf9+IliRLwG9flHeeVr3pet4Ere9lQdalmffxXWd8M+deuPQCM3LZFNZGYmtrTZ/cwMby9d2RLiMamDgMAB68wXZe0hbOhalqfjdDKfOBbGnt9uvWW0jOAjzDrwez3q8Vu4A7Zs77T1WcWeXowAG1cBxIpqfL8iLB+PNxhLI9Nu6gftXN7GRXNr446vakmyzwPDhzz1hv5ILbmpZRBw2ZsCpQmSvX/013pzNgKe386t1LjaZrVzq9yNdmvejvuwD870CCAAg7Y4Q8PUdtp6qctRyIeDN93X3xR6xIFudggm4E0vgya28V6nNzX8f7tK9H/eJjEtT1hIoaBPc1xFfOjJ+W8QwG7FNLSyYq6hhBVfSJligGwxQ+RtndG8mT1BTDRNffbis16rf/qRPVHZ06fWZpr+zDPQtrTxQsBuUEQgZhv77mqjquiTco+PmLrFlOb/R3srC2da0piPu65hcmi6uMKLBjat5aGUjK+hihGFHIhCSGQobxv+lc7JxaARMg5htG9jA3U08reE3Y8QPv0vedInUwiqceGq7/ZqNZ8oaslGc8t0IhWUnQ0ZM/6ejepMQZHrosqKBRdpWsRuuKownTTG609MvKt88qyvpRp4zpK88zK+m1suhq+ZFjWSoOOmwVt8XpIzpsKsSJiucLK7pxIbHqCw2CTxThxoUGPvyZnt/wZ1OAUikw8bfsgWRYkhim9dy9d5iCCIGAbIlsQufiPnHz+p55xdmo2w1mbI8Q1IlMemi6GW95uQF4bFsjIWCD6zhwftWMmkHJNNEUaP9oERZ/J3zovbMFb3WQr8sF1mzjA1+cT0vjiyeIEDiwUgxVOEH1zJ1XTOXIoqaHozIPBoz3FrHvzRfTx9Vmw0xA4LFPjaq1EAMgIE6JByfBqgqXVq97C4ceXSjzW/oghJ+5kdjiVkg+XD0gx6qPnlB80zEb7s4Iyx+5H6737MApomb/jA4XjsV9w2n6IlGrL95nU1tXox5qz4zCUt7OGoULMbx+M0JYu+cF3WfhkWFr5ZFt6znIYfNXNQ0IsEj72ne8BA5P7+YD29ay8M2DnldgTWfKVmOx2+5xBK+IGEQUPJXZBKRYSlfkkqunZK+JpckoaQvSiZJKOmrsv/dFEv7svQUCaV6XT41oCjZBxOpJJT0k5kpF1nKj6aSJJT0s7nUJVGyDydnZlsl+3TWLO0sycfT6ZSauf58/j8ZMTJDiGYIhAAAAABJRU5ErkJggg==",definedComponents={"action-menu":"action-menu","bulletin-board":"bulletin-board","button-group":"button-group","card-container":"card-container","card-item":"card-item","card-layout":"card-layout","card-template":"card-template","carousel-item":"carousel-item","cascader-menu":"cascader-menu","cascader-panel":"cascader-panel","cascader-node":"cascader-node","checkbox-button":"checkbox-button","checkbox-group":"checkbox-group","context-menu":"context-menu","collapse-item":"collapse-item","detail-page":"detail-page","dialog-box":"dialog-box__wrapper","dropdown-item":"dropdown-item","dropdown-menu":"dropdown-menu","drop-roles":"drop-roles","drop-times":"drop-times","date-panel":"date-panel","date-picker":"date-picker","data-range":"data-range","date-table":"date-table","date-editor":"date-editor","fall-menu":"fall-menu","form-valid":"form__valid","form-item":"form-item","img-preview":"img-preview","img-preview-item":"img-preview-item","ip-address":"ip-address","link-menu":"link-menu","month-range":"month-range","month-table":"month-table,year-table,quarter-panel__table","nav-menu":"nav-menu","option-group":"option-group","popup-horiz-menu":"popup-horiz-menu","popup-menu":"popup-menu","popconfirm-popover":"popconfirm-popover","picker-panel":"picker-panel","quick-link-menu":"quick-link-menu","time-picker":"time-picker","time-spinner":"time-spinner","time-panel":"time-panel","time-range":"time-range","time-select":"time-select","scroll-text":"scroll-text","slider-input":"slider__input","slide-bar":"slide-bar","slide-img":"slide-img","select-dropdown":"select-dropdown","suggest-popup":"suggest-popup","tab-item":"tab-item","tabs-dropdown":"tabs-dropdown","text-parse":"text-parse","text-popup":"text-popup","toggle-menu":"toggle-menu","tree-menu":"tree-menu","upload-list":"upload-list","upload-tip":"upload__tip","upload-dragger":"upload-dragger","user-account":"user-account","user-card":"user-card","user-contact":"user-contact","user-head":"user-head","user-link":"user-link","year-table":"year-table",skeleton:"skeleton","skeleton-item":"skeleton-item"};class TinyThemeTool{constructor(te,ae="tinyThemeVariables"){this.currentTheme=null,this.contentElement=null,this.styleSheetId=null,this.defaultTheme={id:"tiny-default-theme",name:"Default",cnName:"默认",data:{}};let ne=te;te||(ne=this.defaultTheme),this.styleSheetId=ae,this.changeTheme(ne)}changeTheme(te){let ae=te;if(typeof window>"u"||typeof document>"u")throw new TypeError("当前主题工具只支持浏览器环境");if(te||(ae=this.defaultTheme),this.currentTheme=ae,!this.contentElement){const ne=document.getElementById(this.styleSheetId);ne?this.contentElement=ne:(this.contentElement=document.createElement("style"),this.contentElement.id=this.styleSheetId,document.head.appendChild(this.contentElement))}this.contentElement.textContent=this.formatCSSVariables(ae.data),this.contentElement.setAttribute("tiny-theme",this.currentTheme.id)}getSelectorByKey(te){if(!definedComponents[te])return;let ae="";const ne=definedComponents[te].split(",");return ne.forEach((ie,oe)=>{ae+=".tiny-"+ie+"[class*=tiny]"+(oe<ne.length-1?",":"")}),ae}findClassName(te){const ae=te.split("-");if(ae.length<2)return!1;const ne=`${ae[1]}-${ae[2]}-${ae[3]}`,ie=`${ae[1]}-${ae[2]}`;return this.getSelectorByKey(ne)||this.getSelectorByKey(ie)||".tiny-"+ae[1]+"[class*=tiny]"}formatCSSVariables(te){const ae={};let ne="html:root {",ie="";return Object.keys(te).forEach(oe=>{if(oe.startsWith("ti-base")||oe.startsWith("ti-common"))ne+=`--${oe}:${te[oe]};`;else{const le=this.findClassName(oe);le&&(ae[le]?ae[le].push(`--${oe}:${te[oe]};`):ae[le]=[`--${oe}:${te[oe]};`])}}),Object.keys(ae).forEach(oe=>{ie+=`${oe}{${ae[oe].join("")}}`}),`${ne}}${ie}`}}const theme="light",colorWeek=!1,navbar=!0,menu=!0,hideMenu=!1,menuCollapse=!1,footer=!0,themelist="default",themeColor="1",themeValue=0,themeContent={},menuWidth=220,Settings=!1,device="desktop",tabBar=!1,step=0,themeLightColors=null,defaultSettings={theme,colorWeek,navbar,menu,hideMenu,menuCollapse,footer,themelist,themeColor,themeValue,themeContent,menuWidth,Settings,device,tabBar,step,themeLightColors},useAppStore=defineStore("app",{state:()=>({...defaultSettings}),getters:{appCurrentSetting(ee){return ee},appDevice(ee){return ee.device}},actions:{updateSettings(ee){this.$patch(ee)},updateStep(ee){this.step=ee},toggleDevice(ee){this.device=ee},toggleMenu(ee){this.hideMenu=ee},setthemeLightColors(ee){this.themeLightColors=ee}}});function bind(ee,te){return function(){return ee.apply(te,arguments)}}const{toString}=Object.prototype,{getPrototypeOf}=Object,kindOf=(ee=>te=>{const ae=toString.call(te);return ee[ae]||(ee[ae]=ae.slice(8,-1).toLowerCase())})(Object.create(null)),kindOfTest=ee=>(ee=ee.toLowerCase(),te=>kindOf(te)===ee),typeOfTest=ee=>te=>typeof te===ee,{isArray}=Array,isUndefined=typeOfTest("undefined");function isBuffer(ee){return ee!==null&&!isUndefined(ee)&&ee.constructor!==null&&!isUndefined(ee.constructor)&&isFunction(ee.constructor.isBuffer)&&ee.constructor.isBuffer(ee)}const isArrayBuffer=kindOfTest("ArrayBuffer");function isArrayBufferView(ee){let te;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?te=ArrayBuffer.isView(ee):te=ee&&ee.buffer&&isArrayBuffer(ee.buffer),te}const isString=typeOfTest("string"),isFunction=typeOfTest("function"),isNumber=typeOfTest("number"),isObject=ee=>ee!==null&&typeof ee=="object",isBoolean=ee=>ee===!0||ee===!1,isPlainObject=ee=>{if(kindOf(ee)!=="object")return!1;const te=getPrototypeOf(ee);return(te===null||te===Object.prototype||Object.getPrototypeOf(te)===null)&&!(Symbol.toStringTag in ee)&&!(Symbol.iterator in ee)},isDate=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isStream=ee=>isObject(ee)&&isFunction(ee.pipe),isFormData=ee=>{let te;return ee&&(typeof FormData=="function"&&ee instanceof FormData||isFunction(ee.append)&&((te=kindOf(ee))==="formdata"||te==="object"&&isFunction(ee.toString)&&ee.toString()==="[object FormData]"))},isURLSearchParams=kindOfTest("URLSearchParams"),[isReadableStream,isRequest,isResponse,isHeaders]=["ReadableStream","Request","Response","Headers"].map(kindOfTest),trim=ee=>ee.trim?ee.trim():ee.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(ee,te,{allOwnKeys:ae=!1}={}){if(ee===null||typeof ee>"u")return;let ne,ie;if(typeof ee!="object"&&(ee=[ee]),isArray(ee))for(ne=0,ie=ee.length;ne<ie;ne++)te.call(null,ee[ne],ne,ee);else{const oe=ae?Object.getOwnPropertyNames(ee):Object.keys(ee),se=oe.length;let le;for(ne=0;ne<se;ne++)le=oe[ne],te.call(null,ee[le],le,ee)}}function findKey(ee,te){te=te.toLowerCase();const ae=Object.keys(ee);let ne=ae.length,ie;for(;ne-- >0;)if(ie=ae[ne],te===ie.toLowerCase())return ie;return null}const _global=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),isContextDefined=ee=>!isUndefined(ee)&&ee!==_global;function merge(){const{caseless:ee}=isContextDefined(this)&&this||{},te={},ae=(ne,ie)=>{const oe=ee&&findKey(te,ie)||ie;isPlainObject(te[oe])&&isPlainObject(ne)?te[oe]=merge(te[oe],ne):isPlainObject(ne)?te[oe]=merge({},ne):isArray(ne)?te[oe]=ne.slice():te[oe]=ne};for(let ne=0,ie=arguments.length;ne<ie;ne++)arguments[ne]&&forEach(arguments[ne],ae);return te}const extend=(ee,te,ae,{allOwnKeys:ne}={})=>(forEach(te,(ie,oe)=>{ae&&isFunction(ie)?ee[oe]=bind(ie,ae):ee[oe]=ie},{allOwnKeys:ne}),ee),stripBOM=ee=>(ee.charCodeAt(0)===65279&&(ee=ee.slice(1)),ee),inherits=(ee,te,ae,ne)=>{ee.prototype=Object.create(te.prototype,ne),ee.prototype.constructor=ee,Object.defineProperty(ee,"super",{value:te.prototype}),ae&&Object.assign(ee.prototype,ae)},toFlatObject=(ee,te,ae,ne)=>{let ie,oe,se;const le={};if(te=te||{},ee==null)return te;do{for(ie=Object.getOwnPropertyNames(ee),oe=ie.length;oe-- >0;)se=ie[oe],(!ne||ne(se,ee,te))&&!le[se]&&(te[se]=ee[se],le[se]=!0);ee=ae!==!1&&getPrototypeOf(ee)}while(ee&&(!ae||ae(ee,te))&&ee!==Object.prototype);return te},endsWith=(ee,te,ae)=>{ee=String(ee),(ae===void 0||ae>ee.length)&&(ae=ee.length),ae-=te.length;const ne=ee.indexOf(te,ae);return ne!==-1&&ne===ae},toArray=ee=>{if(!ee)return null;if(isArray(ee))return ee;let te=ee.length;if(!isNumber(te))return null;const ae=new Array(te);for(;te-- >0;)ae[te]=ee[te];return ae},isTypedArray=(ee=>te=>ee&&te instanceof ee)(typeof Uint8Array<"u"&&getPrototypeOf(Uint8Array)),forEachEntry=(ee,te)=>{const ne=(ee&&ee[Symbol.iterator]).call(ee);let ie;for(;(ie=ne.next())&&!ie.done;){const oe=ie.value;te.call(ee,oe[0],oe[1])}},matchAll=(ee,te)=>{let ae;const ne=[];for(;(ae=ee.exec(te))!==null;)ne.push(ae);return ne},isHTMLForm=kindOfTest("HTMLFormElement"),toCamelCase=ee=>ee.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(ae,ne,ie){return ne.toUpperCase()+ie}),hasOwnProperty=(({hasOwnProperty:ee})=>(te,ae)=>ee.call(te,ae))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(ee,te)=>{const ae=Object.getOwnPropertyDescriptors(ee),ne={};forEach(ae,(ie,oe)=>{let se;(se=te(ie,oe,ee))!==!1&&(ne[oe]=se||ie)}),Object.defineProperties(ee,ne)},freezeMethods=ee=>{reduceDescriptors(ee,(te,ae)=>{if(isFunction(ee)&&["arguments","caller","callee"].indexOf(ae)!==-1)return!1;const ne=ee[ae];if(isFunction(ne)){if(te.enumerable=!1,"writable"in te){te.writable=!1;return}te.set||(te.set=()=>{throw Error("Can not rewrite read-only method '"+ae+"'")})}})},toObjectSet=(ee,te)=>{const ae={},ne=ie=>{ie.forEach(oe=>{ae[oe]=!0})};return isArray(ee)?ne(ee):ne(String(ee).split(te)),ae},noop=()=>{},toFiniteNumber=(ee,te)=>ee!=null&&Number.isFinite(ee=+ee)?ee:te,ALPHA="abcdefghijklmnopqrstuvwxyz",DIGIT="0123456789",ALPHABET={DIGIT,ALPHA,ALPHA_DIGIT:ALPHA+ALPHA.toUpperCase()+DIGIT},generateString=(ee=16,te=ALPHABET.ALPHA_DIGIT)=>{let ae="";const{length:ne}=te;for(;ee--;)ae+=te[Math.random()*ne|0];return ae};function isSpecCompliantForm(ee){return!!(ee&&isFunction(ee.append)&&ee[Symbol.toStringTag]==="FormData"&&ee[Symbol.iterator])}const toJSONObject=ee=>{const te=new Array(10),ae=(ne,ie)=>{if(isObject(ne)){if(te.indexOf(ne)>=0)return;if(!("toJSON"in ne)){te[ie]=ne;const oe=isArray(ne)?[]:{};return forEach(ne,(se,le)=>{const ue=ae(se,ie+1);!isUndefined(ue)&&(oe[le]=ue)}),te[ie]=void 0,oe}}return ne};return ae(ee,0)},isAsyncFn=kindOfTest("AsyncFunction"),isThenable=ee=>ee&&(isObject(ee)||isFunction(ee))&&isFunction(ee.then)&&isFunction(ee.catch),utils$1={isArray,isArrayBuffer,isBuffer,isFormData,isArrayBufferView,isString,isNumber,isBoolean,isObject,isPlainObject,isReadableStream,isRequest,isResponse,isHeaders,isUndefined,isDate,isFile,isBlob,isRegExp,isFunction,isStream,isURLSearchParams,isTypedArray,isFileList,forEach,merge,extend,trim,stripBOM,inherits,toFlatObject,kindOf,kindOfTest,endsWith,toArray,forEachEntry,matchAll,isHTMLForm,hasOwnProperty,hasOwnProp:hasOwnProperty,reduceDescriptors,freezeMethods,toObjectSet,toCamelCase,noop,toFiniteNumber,findKey,global:_global,isContextDefined,ALPHABET,generateString,isSpecCompliantForm,toJSONObject,isAsyncFn,isThenable};function AxiosError(ee,te,ae,ne,ie){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=ee,this.name="AxiosError",te&&(this.code=te),ae&&(this.config=ae),ne&&(this.request=ne),ie&&(this.response=ie)}utils$1.inherits(AxiosError,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils$1.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const prototype$1=AxiosError.prototype,descriptors={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(ee=>{descriptors[ee]={value:ee}});Object.defineProperties(AxiosError,descriptors);Object.defineProperty(prototype$1,"isAxiosError",{value:!0});AxiosError.from=(ee,te,ae,ne,ie,oe)=>{const se=Object.create(prototype$1);return utils$1.toFlatObject(ee,se,function(ue){return ue!==Error.prototype},le=>le!=="isAxiosError"),AxiosError.call(se,ee.message,te,ae,ne,ie),se.cause=ee,se.name=ee.name,oe&&Object.assign(se,oe),se};const httpAdapter=null;function isVisitable(ee){return utils$1.isPlainObject(ee)||utils$1.isArray(ee)}function removeBrackets(ee){return utils$1.endsWith(ee,"[]")?ee.slice(0,-2):ee}function renderKey(ee,te,ae){return ee?ee.concat(te).map(function(ie,oe){return ie=removeBrackets(ie),!ae&&oe?"["+ie+"]":ie}).join(ae?".":""):te}function isFlatArray(ee){return utils$1.isArray(ee)&&!ee.some(isVisitable)}const predicates=utils$1.toFlatObject(utils$1,{},null,function(te){return/^is[A-Z]/.test(te)});function toFormData(ee,te,ae){if(!utils$1.isObject(ee))throw new TypeError("target must be an object");te=te||new FormData,ae=utils$1.toFlatObject(ae,{metaTokens:!0,dots:!1,indexes:!1},!1,function(ge,me){return!utils$1.isUndefined(me[ge])});const ne=ae.metaTokens,ie=ae.visitor||de,oe=ae.dots,se=ae.indexes,ue=(ae.Blob||typeof Blob<"u"&&Blob)&&utils$1.isSpecCompliantForm(te);if(!utils$1.isFunction(ie))throw new TypeError("visitor must be a function");function ce(ve){if(ve===null)return"";if(utils$1.isDate(ve))return ve.toISOString();if(!ue&&utils$1.isBlob(ve))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return utils$1.isArrayBuffer(ve)||utils$1.isTypedArray(ve)?ue&&typeof Blob=="function"?new Blob([ve]):Buffer.from(ve):ve}function de(ve,ge,me){let ye=ve;if(ve&&!me&&typeof ve=="object"){if(utils$1.endsWith(ge,"{}"))ge=ne?ge:ge.slice(0,-2),ve=JSON.stringify(ve);else if(utils$1.isArray(ve)&&isFlatArray(ve)||(utils$1.isFileList(ve)||utils$1.endsWith(ge,"[]"))&&(ye=utils$1.toArray(ve)))return ge=removeBrackets(ge),ye.forEach(function(be,xe){!(utils$1.isUndefined(be)||be===null)&&te.append(se===!0?renderKey([ge],xe,oe):se===null?ge:ge+"[]",ce(be))}),!1}return isVisitable(ve)?!0:(te.append(renderKey(me,ge,oe),ce(ve)),!1)}const he=[],fe=Object.assign(predicates,{defaultVisitor:de,convertValue:ce,isVisitable});function pe(ve,ge){if(!utils$1.isUndefined(ve)){if(he.indexOf(ve)!==-1)throw Error("Circular reference detected in "+ge.join("."));he.push(ve),utils$1.forEach(ve,function(ye,_e){(!(utils$1.isUndefined(ye)||ye===null)&&ie.call(te,ye,utils$1.isString(_e)?_e.trim():_e,ge,fe))===!0&&pe(ye,ge?ge.concat(_e):[_e])}),he.pop()}}if(!utils$1.isObject(ee))throw new TypeError("data must be an object");return pe(ee),te}function encode$1(ee){const te={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(ee).replace(/[!'()~]|%20|%00/g,function(ne){return te[ne]})}function AxiosURLSearchParams(ee,te){this._pairs=[],ee&&toFormData(ee,this,te)}const prototype=AxiosURLSearchParams.prototype;prototype.append=function(te,ae){this._pairs.push([te,ae])};prototype.toString=function(te){const ae=te?function(ne){return te.call(this,ne,encode$1)}:encode$1;return this._pairs.map(function(ie){return ae(ie[0])+"="+ae(ie[1])},"").join("&")};function encode(ee){return encodeURIComponent(ee).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(ee,te,ae){if(!te)return ee;const ne=ae&&ae.encode||encode,ie=ae&&ae.serialize;let oe;if(ie?oe=ie(te,ae):oe=utils$1.isURLSearchParams(te)?te.toString():new AxiosURLSearchParams(te,ae).toString(ne),oe){const se=ee.indexOf("#");se!==-1&&(ee=ee.slice(0,se)),ee+=(ee.indexOf("?")===-1?"?":"&")+oe}return ee}class InterceptorManager{constructor(){this.handlers=[]}use(te,ae,ne){return this.handlers.push({fulfilled:te,rejected:ae,synchronous:ne?ne.synchronous:!1,runWhen:ne?ne.runWhen:null}),this.handlers.length-1}eject(te){this.handlers[te]&&(this.handlers[te]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(te){utils$1.forEach(this.handlers,function(ne){ne!==null&&te(ne)})}}const InterceptorManager$1=InterceptorManager,transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},URLSearchParams$1=typeof URLSearchParams<"u"?URLSearchParams:AxiosURLSearchParams,FormData$1=typeof FormData<"u"?FormData:null,Blob$1=typeof Blob<"u"?Blob:null,platform$1={isBrowser:!0,classes:{URLSearchParams:URLSearchParams$1,FormData:FormData$1,Blob:Blob$1},protocols:["http","https","file","blob","url","data"]},hasBrowserEnv=typeof window<"u"&&typeof document<"u",hasStandardBrowserEnv=(ee=>hasBrowserEnv&&["ReactNative","NativeScript","NS"].indexOf(ee)<0)(typeof navigator<"u"&&navigator.product),hasStandardBrowserWebWorkerEnv=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),origin=hasBrowserEnv&&window.location.href||"http://localhost",utils=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv,hasStandardBrowserEnv,hasStandardBrowserWebWorkerEnv,origin},Symbol.toStringTag,{value:"Module"})),platform={...utils,...platform$1};function toURLEncodedForm(ee,te){return toFormData(ee,new platform.classes.URLSearchParams,Object.assign({visitor:function(ae,ne,ie,oe){return platform.isNode&&utils$1.isBuffer(ae)?(this.append(ne,ae.toString("base64")),!1):oe.defaultVisitor.apply(this,arguments)}},te))}function parsePropPath(ee){return utils$1.matchAll(/\w+|\[(\w*)]/g,ee).map(te=>te[0]==="[]"?"":te[1]||te[0])}function arrayToObject(ee){const te={},ae=Object.keys(ee);let ne;const ie=ae.length;let oe;for(ne=0;ne<ie;ne++)oe=ae[ne],te[oe]=ee[oe];return te}function formDataToJSON(ee){function te(ae,ne,ie,oe){let se=ae[oe++];if(se==="__proto__")return!0;const le=Number.isFinite(+se),ue=oe>=ae.length;return se=!se&&utils$1.isArray(ie)?ie.length:se,ue?(utils$1.hasOwnProp(ie,se)?ie[se]=[ie[se],ne]:ie[se]=ne,!le):((!ie[se]||!utils$1.isObject(ie[se]))&&(ie[se]=[]),te(ae,ne,ie[se],oe)&&utils$1.isArray(ie[se])&&(ie[se]=arrayToObject(ie[se])),!le)}if(utils$1.isFormData(ee)&&utils$1.isFunction(ee.entries)){const ae={};return utils$1.forEachEntry(ee,(ne,ie)=>{te(parsePropPath(ne),ie,ae,0)}),ae}return null}function stringifySafely(ee,te,ae){if(utils$1.isString(ee))try{return(te||JSON.parse)(ee),utils$1.trim(ee)}catch(ne){if(ne.name!=="SyntaxError")throw ne}return(ae||JSON.stringify)(ee)}const defaults={transitional:transitionalDefaults,adapter:["xhr","http","fetch"],transformRequest:[function(te,ae){const ne=ae.getContentType()||"",ie=ne.indexOf("application/json")>-1,oe=utils$1.isObject(te);if(oe&&utils$1.isHTMLForm(te)&&(te=new FormData(te)),utils$1.isFormData(te))return ie?JSON.stringify(formDataToJSON(te)):te;if(utils$1.isArrayBuffer(te)||utils$1.isBuffer(te)||utils$1.isStream(te)||utils$1.isFile(te)||utils$1.isBlob(te)||utils$1.isReadableStream(te))return te;if(utils$1.isArrayBufferView(te))return te.buffer;if(utils$1.isURLSearchParams(te))return ae.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),te.toString();let le;if(oe){if(ne.indexOf("application/x-www-form-urlencoded")>-1)return toURLEncodedForm(te,this.formSerializer).toString();if((le=utils$1.isFileList(te))||ne.indexOf("multipart/form-data")>-1){const ue=this.env&&this.env.FormData;return toFormData(le?{"files[]":te}:te,ue&&new ue,this.formSerializer)}}return oe||ie?(ae.setContentType("application/json",!1),stringifySafely(te)):te}],transformResponse:[function(te){const ae=this.transitional||defaults.transitional,ne=ae&&ae.forcedJSONParsing,ie=this.responseType==="json";if(utils$1.isResponse(te)||utils$1.isReadableStream(te))return te;if(te&&utils$1.isString(te)&&(ne&&!this.responseType||ie)){const se=!(ae&&ae.silentJSONParsing)&&ie;try{return JSON.parse(te)}catch(le){if(se)throw le.name==="SyntaxError"?AxiosError.from(le,AxiosError.ERR_BAD_RESPONSE,this,null,this.response):le}}return te}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function(te){return te>=200&&te<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils$1.forEach(["delete","get","head","post","put","patch"],ee=>{defaults.headers[ee]={}});const defaults$1=defaults,ignoreDuplicateOf=utils$1.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),parseHeaders=ee=>{const te={};let ae,ne,ie;return ee&&ee.split(`
-`).forEach(function(se){ie=se.indexOf(":"),ae=se.substring(0,ie).trim().toLowerCase(),ne=se.substring(ie+1).trim(),!(!ae||te[ae]&&ignoreDuplicateOf[ae])&&(ae==="set-cookie"?te[ae]?te[ae].push(ne):te[ae]=[ne]:te[ae]=te[ae]?te[ae]+", "+ne:ne)}),te},$internals=Symbol("internals");function normalizeHeader(ee){return ee&&String(ee).trim().toLowerCase()}function normalizeValue(ee){return ee===!1||ee==null?ee:utils$1.isArray(ee)?ee.map(normalizeValue):String(ee)}function parseTokens(ee){const te=Object.create(null),ae=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let ne;for(;ne=ae.exec(ee);)te[ne[1]]=ne[2];return te}const isValidHeaderName=ee=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(ee.trim());function matchHeaderValue(ee,te,ae,ne,ie){if(utils$1.isFunction(ne))return ne.call(this,te,ae);if(ie&&(te=ae),!!utils$1.isString(te)){if(utils$1.isString(ne))return te.indexOf(ne)!==-1;if(utils$1.isRegExp(ne))return ne.test(te)}}function formatHeader(ee){return ee.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(te,ae,ne)=>ae.toUpperCase()+ne)}function buildAccessors(ee,te){const ae=utils$1.toCamelCase(" "+te);["get","set","has"].forEach(ne=>{Object.defineProperty(ee,ne+ae,{value:function(ie,oe,se){return this[ne].call(this,te,ie,oe,se)},configurable:!0})})}class AxiosHeaders{constructor(te){te&&this.set(te)}set(te,ae,ne){const ie=this;function oe(le,ue,ce){const de=normalizeHeader(ue);if(!de)throw new Error("header name must be a non-empty string");const he=utils$1.findKey(ie,de);(!he||ie[he]===void 0||ce===!0||ce===void 0&&ie[he]!==!1)&&(ie[he||ue]=normalizeValue(le))}const se=(le,ue)=>utils$1.forEach(le,(ce,de)=>oe(ce,de,ue));if(utils$1.isPlainObject(te)||te instanceof this.constructor)se(te,ae);else if(utils$1.isString(te)&&(te=te.trim())&&!isValidHeaderName(te))se(parseHeaders(te),ae);else if(utils$1.isHeaders(te))for(const[le,ue]of te.entries())oe(ue,le,ne);else te!=null&&oe(ae,te,ne);return this}get(te,ae){if(te=normalizeHeader(te),te){const ne=utils$1.findKey(this,te);if(ne){const ie=this[ne];if(!ae)return ie;if(ae===!0)return parseTokens(ie);if(utils$1.isFunction(ae))return ae.call(this,ie,ne);if(utils$1.isRegExp(ae))return ae.exec(ie);throw new TypeError("parser must be boolean|regexp|function")}}}has(te,ae){if(te=normalizeHeader(te),te){const ne=utils$1.findKey(this,te);return!!(ne&&this[ne]!==void 0&&(!ae||matchHeaderValue(this,this[ne],ne,ae)))}return!1}delete(te,ae){const ne=this;let ie=!1;function oe(se){if(se=normalizeHeader(se),se){const le=utils$1.findKey(ne,se);le&&(!ae||matchHeaderValue(ne,ne[le],le,ae))&&(delete ne[le],ie=!0)}}return utils$1.isArray(te)?te.forEach(oe):oe(te),ie}clear(te){const ae=Object.keys(this);let ne=ae.length,ie=!1;for(;ne--;){const oe=ae[ne];(!te||matchHeaderValue(this,this[oe],oe,te,!0))&&(delete this[oe],ie=!0)}return ie}normalize(te){const ae=this,ne={};return utils$1.forEach(this,(ie,oe)=>{const se=utils$1.findKey(ne,oe);if(se){ae[se]=normalizeValue(ie),delete ae[oe];return}const le=te?formatHeader(oe):String(oe).trim();le!==oe&&delete ae[oe],ae[le]=normalizeValue(ie),ne[le]=!0}),this}concat(...te){return this.constructor.concat(this,...te)}toJSON(te){const ae=Object.create(null);return utils$1.forEach(this,(ne,ie)=>{ne!=null&&ne!==!1&&(ae[ie]=te&&utils$1.isArray(ne)?ne.join(", "):ne)}),ae}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([te,ae])=>te+": "+ae).join(`
-`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(te){return te instanceof this?te:new this(te)}static concat(te,...ae){const ne=new this(te);return ae.forEach(ie=>ne.set(ie)),ne}static accessor(te){const ne=(this[$internals]=this[$internals]={accessors:{}}).accessors,ie=this.prototype;function oe(se){const le=normalizeHeader(se);ne[le]||(buildAccessors(ie,se),ne[le]=!0)}return utils$1.isArray(te)?te.forEach(oe):oe(te),this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);utils$1.reduceDescriptors(AxiosHeaders.prototype,({value:ee},te)=>{let ae=te[0].toUpperCase()+te.slice(1);return{get:()=>ee,set(ne){this[ae]=ne}}});utils$1.freezeMethods(AxiosHeaders);const AxiosHeaders$1=AxiosHeaders;function transformData(ee,te){const ae=this||defaults$1,ne=te||ae,ie=AxiosHeaders$1.from(ne.headers);let oe=ne.data;return utils$1.forEach(ee,function(le){oe=le.call(ae,oe,ie.normalize(),te?te.status:void 0)}),ie.normalize(),oe}function isCancel(ee){return!!(ee&&ee.__CANCEL__)}function CanceledError(ee,te,ae){AxiosError.call(this,ee??"canceled",AxiosError.ERR_CANCELED,te,ae),this.name="CanceledError"}utils$1.inherits(CanceledError,AxiosError,{__CANCEL__:!0});function settle(ee,te,ae){const ne=ae.config.validateStatus;!ae.status||!ne||ne(ae.status)?ee(ae):te(new AxiosError("Request failed with status code "+ae.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(ae.status/100)-4],ae.config,ae.request,ae))}function parseProtocol(ee){const te=/^([-+\w]{1,25})(:?\/\/|:)/.exec(ee);return te&&te[1]||""}function speedometer(ee,te){ee=ee||10;const ae=new Array(ee),ne=new Array(ee);let ie=0,oe=0,se;return te=te!==void 0?te:1e3,function(ue){const ce=Date.now(),de=ne[oe];se||(se=ce),ae[ie]=ue,ne[ie]=ce;let he=oe,fe=0;for(;he!==ie;)fe+=ae[he++],he=he%ee;if(ie=(ie+1)%ee,ie===oe&&(oe=(oe+1)%ee),ce-se<te)return;const pe=de&&ce-de;return pe?Math.round(fe*1e3/pe):void 0}}function throttle(ee,te){let ae=0;const ne=1e3/te;let ie=null;return function(){const se=this===!0,le=Date.now();if(se||le-ae>ne)return ie&&(clearTimeout(ie),ie=null),ae=le,ee.apply(null,arguments);ie||(ie=setTimeout(()=>(ie=null,ae=Date.now(),ee.apply(null,arguments)),ne-(le-ae)))}}const progressEventReducer=(ee,te,ae=3)=>{let ne=0;const ie=speedometer(50,250);return throttle(oe=>{const se=oe.loaded,le=oe.lengthComputable?oe.total:void 0,ue=se-ne,ce=ie(ue),de=se<=le;ne=se;const he={loaded:se,total:le,progress:le?se/le:void 0,bytes:ue,rate:ce||void 0,estimated:ce&&le&&de?(le-se)/ce:void 0,event:oe,lengthComputable:le!=null};he[te?"download":"upload"]=!0,ee(he)},ae)},isURLSameOrigin=platform.hasStandardBrowserEnv?function(){const te=/(msie|trident)/i.test(navigator.userAgent),ae=document.createElement("a");let ne;function ie(oe){let se=oe;return te&&(ae.setAttribute("href",se),se=ae.href),ae.setAttribute("href",se),{href:ae.href,protocol:ae.protocol?ae.protocol.replace(/:$/,""):"",host:ae.host,search:ae.search?ae.search.replace(/^\?/,""):"",hash:ae.hash?ae.hash.replace(/^#/,""):"",hostname:ae.hostname,port:ae.port,pathname:ae.pathname.charAt(0)==="/"?ae.pathname:"/"+ae.pathname}}return ne=ie(window.location.href),function(se){const le=utils$1.isString(se)?ie(se):se;return le.protocol===ne.protocol&&le.host===ne.host}}():function(){return function(){return!0}}(),cookies=platform.hasStandardBrowserEnv?{write(ee,te,ae,ne,ie,oe){const se=[ee+"="+encodeURIComponent(te)];utils$1.isNumber(ae)&&se.push("expires="+new Date(ae).toGMTString()),utils$1.isString(ne)&&se.push("path="+ne),utils$1.isString(ie)&&se.push("domain="+ie),oe===!0&&se.push("secure"),document.cookie=se.join("; ")},read(ee){const te=document.cookie.match(new RegExp("(^|;\\s*)("+ee+")=([^;]*)"));return te?decodeURIComponent(te[3]):null},remove(ee){this.write(ee,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(ee){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(ee)}function combineURLs(ee,te){return te?ee.replace(/\/?\/$/,"")+"/"+te.replace(/^\/+/,""):ee}function buildFullPath(ee,te){return ee&&!isAbsoluteURL(te)?combineURLs(ee,te):te}const headersToObject=ee=>ee instanceof AxiosHeaders$1?{...ee}:ee;function mergeConfig(ee,te){te=te||{};const ae={};function ne(ce,de,he){return utils$1.isPlainObject(ce)&&utils$1.isPlainObject(de)?utils$1.merge.call({caseless:he},ce,de):utils$1.isPlainObject(de)?utils$1.merge({},de):utils$1.isArray(de)?de.slice():de}function ie(ce,de,he){if(utils$1.isUndefined(de)){if(!utils$1.isUndefined(ce))return ne(void 0,ce,he)}else return ne(ce,de,he)}function oe(ce,de){if(!utils$1.isUndefined(de))return ne(void 0,de)}function se(ce,de){if(utils$1.isUndefined(de)){if(!utils$1.isUndefined(ce))return ne(void 0,ce)}else return ne(void 0,de)}function le(ce,de,he){if(he in te)return ne(ce,de);if(he in ee)return ne(void 0,ce)}const ue={url:oe,method:oe,data:oe,baseURL:se,transformRequest:se,transformResponse:se,paramsSerializer:se,timeout:se,timeoutMessage:se,withCredentials:se,withXSRFToken:se,adapter:se,responseType:se,xsrfCookieName:se,xsrfHeaderName:se,onUploadProgress:se,onDownloadProgress:se,decompress:se,maxContentLength:se,maxBodyLength:se,beforeRedirect:se,transport:se,httpAgent:se,httpsAgent:se,cancelToken:se,socketPath:se,responseEncoding:se,validateStatus:le,headers:(ce,de)=>ie(headersToObject(ce),headersToObject(de),!0)};return utils$1.forEach(Object.keys(Object.assign({},ee,te)),function(de){const he=ue[de]||ie,fe=he(ee[de],te[de],de);utils$1.isUndefined(fe)&&he!==le||(ae[de]=fe)}),ae}const resolveConfig=ee=>{const te=mergeConfig({},ee);let{data:ae,withXSRFToken:ne,xsrfHeaderName:ie,xsrfCookieName:oe,headers:se,auth:le}=te;te.headers=se=AxiosHeaders$1.from(se),te.url=buildURL(buildFullPath(te.baseURL,te.url),ee.params,ee.paramsSerializer),le&&se.set("Authorization","Basic "+btoa((le.username||"")+":"+(le.password?unescape(encodeURIComponent(le.password)):"")));let ue;if(utils$1.isFormData(ae)){if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)se.setContentType(void 0);else if((ue=se.getContentType())!==!1){const[ce,...de]=ue?ue.split(";").map(he=>he.trim()).filter(Boolean):[];se.setContentType([ce||"multipart/form-data",...de].join("; "))}}if(platform.hasStandardBrowserEnv&&(ne&&utils$1.isFunction(ne)&&(ne=ne(te)),ne||ne!==!1&&isURLSameOrigin(te.url))){const ce=ie&&oe&&cookies.read(oe);ce&&se.set(ie,ce)}return te},isXHRAdapterSupported=typeof XMLHttpRequest<"u",xhrAdapter=isXHRAdapterSupported&&function(ee){return new Promise(function(ae,ne){const ie=resolveConfig(ee);let oe=ie.data;const se=AxiosHeaders$1.from(ie.headers).normalize();let{responseType:le}=ie,ue;function ce(){ie.cancelToken&&ie.cancelToken.unsubscribe(ue),ie.signal&&ie.signal.removeEventListener("abort",ue)}let de=new XMLHttpRequest;de.open(ie.method.toUpperCase(),ie.url,!0),de.timeout=ie.timeout;function he(){if(!de)return;const pe=AxiosHeaders$1.from("getAllResponseHeaders"in de&&de.getAllResponseHeaders()),ge={data:!le||le==="text"||le==="json"?de.responseText:de.response,status:de.status,statusText:de.statusText,headers:pe,config:ee,request:de};settle(function(ye){ae(ye),ce()},function(ye){ne(ye),ce()},ge),de=null}"onloadend"in de?de.onloadend=he:de.onreadystatechange=function(){!de||de.readyState!==4||de.status===0&&!(de.responseURL&&de.responseURL.indexOf("file:")===0)||setTimeout(he)},de.onabort=function(){de&&(ne(new AxiosError("Request aborted",AxiosError.ECONNABORTED,ie,de)),de=null)},de.onerror=function(){ne(new AxiosError("Network Error",AxiosError.ERR_NETWORK,ie,de)),de=null},de.ontimeout=function(){let ve=ie.timeout?"timeout of "+ie.timeout+"ms exceeded":"timeout exceeded";const ge=ie.transitional||transitionalDefaults;ie.timeoutErrorMessage&&(ve=ie.timeoutErrorMessage),ne(new AxiosError(ve,ge.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,ie,de)),de=null},oe===void 0&&se.setContentType(null),"setRequestHeader"in de&&utils$1.forEach(se.toJSON(),function(ve,ge){de.setRequestHeader(ge,ve)}),utils$1.isUndefined(ie.withCredentials)||(de.withCredentials=!!ie.withCredentials),le&&le!=="json"&&(de.responseType=ie.responseType),typeof ie.onDownloadProgress=="function"&&de.addEventListener("progress",progressEventReducer(ie.onDownloadProgress,!0)),typeof ie.onUploadProgress=="function"&&de.upload&&de.upload.addEventListener("progress",progressEventReducer(ie.onUploadProgress)),(ie.cancelToken||ie.signal)&&(ue=pe=>{de&&(ne(!pe||pe.type?new CanceledError(null,ee,de):pe),de.abort(),de=null)},ie.cancelToken&&ie.cancelToken.subscribe(ue),ie.signal&&(ie.signal.aborted?ue():ie.signal.addEventListener("abort",ue)));const fe=parseProtocol(ie.url);if(fe&&platform.protocols.indexOf(fe)===-1){ne(new AxiosError("Unsupported protocol "+fe+":",AxiosError.ERR_BAD_REQUEST,ee));return}de.send(oe||null)})},composeSignals=(ee,te)=>{let ae=new AbortController,ne;const ie=function(ue){if(!ne){ne=!0,se();const ce=ue instanceof Error?ue:this.reason;ae.abort(ce instanceof AxiosError?ce:new CanceledError(ce instanceof Error?ce.message:ce))}};let oe=te&&setTimeout(()=>{ie(new AxiosError(`timeout ${te} of ms exceeded`,AxiosError.ETIMEDOUT))},te);const se=()=>{ee&&(oe&&clearTimeout(oe),oe=null,ee.forEach(ue=>{ue&&(ue.removeEventListener?ue.removeEventListener("abort",ie):ue.unsubscribe(ie))}),ee=null)};ee.forEach(ue=>ue&&ue.addEventListener&&ue.addEventListener("abort",ie));const{signal:le}=ae;return le.unsubscribe=se,[le,()=>{oe&&clearTimeout(oe),oe=null}]},composeSignals$1=composeSignals,streamChunk=function*(ee,te){let ae=ee.byteLength;if(!te||ae<te){yield ee;return}let ne=0,ie;for(;ne<ae;)ie=ne+te,yield ee.slice(ne,ie),ne=ie},readBytes=async function*(ee,te,ae){for await(const ne of ee)yield*streamChunk(ArrayBuffer.isView(ne)?ne:await ae(String(ne)),te)},trackStream=(ee,te,ae,ne,ie)=>{const oe=readBytes(ee,te,ie);let se=0;return new ReadableStream({type:"bytes",async pull(le){const{done:ue,value:ce}=await oe.next();if(ue){le.close(),ne();return}let de=ce.byteLength;ae&&ae(se+=de),le.enqueue(new Uint8Array(ce))},cancel(le){return ne(le),oe.return()}},{highWaterMark:2})},fetchProgressDecorator=(ee,te)=>{const ae=ee!=null;return ne=>setTimeout(()=>te({lengthComputable:ae,total:ee,loaded:ne}))},isFetchSupported=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",isReadableStreamSupported=isFetchSupported&&typeof ReadableStream=="function",encodeText=isFetchSupported&&(typeof TextEncoder=="function"?(ee=>te=>ee.encode(te))(new TextEncoder):async ee=>new Uint8Array(await new Response(ee).arrayBuffer())),supportsRequestStream=isReadableStreamSupported&&(()=>{let ee=!1;const te=new Request(platform.origin,{body:new ReadableStream,method:"POST",get duplex(){return ee=!0,"half"}}).headers.has("Content-Type");return ee&&!te})(),DEFAULT_CHUNK_SIZE=64*1024,supportsResponseStream=isReadableStreamSupported&&!!(()=>{try{return utils$1.isReadableStream(new Response("").body)}catch{}})(),resolvers={stream:supportsResponseStream&&(ee=>ee.body)};isFetchSupported&&(ee=>{["text","arrayBuffer","blob","formData","stream"].forEach(te=>{!resolvers[te]&&(resolvers[te]=utils$1.isFunction(ee[te])?ae=>ae[te]():(ae,ne)=>{throw new AxiosError(`Response type '${te}' is not supported`,AxiosError.ERR_NOT_SUPPORT,ne)})})})(new Response);const getBodyLength=async ee=>{if(ee==null)return 0;if(utils$1.isBlob(ee))return ee.size;if(utils$1.isSpecCompliantForm(ee))return(await new Request(ee).arrayBuffer()).byteLength;if(utils$1.isArrayBufferView(ee))return ee.byteLength;if(utils$1.isURLSearchParams(ee)&&(ee=ee+""),utils$1.isString(ee))return(await encodeText(ee)).byteLength},resolveBodyLength=async(ee,te)=>{const ae=utils$1.toFiniteNumber(ee.getContentLength());return ae??getBodyLength(te)},fetchAdapter=isFetchSupported&&(async ee=>{let{url:te,method:ae,data:ne,signal:ie,cancelToken:oe,timeout:se,onDownloadProgress:le,onUploadProgress:ue,responseType:ce,headers:de,withCredentials:he="same-origin",fetchOptions:fe}=resolveConfig(ee);ce=ce?(ce+"").toLowerCase():"text";let[pe,ve]=ie||oe||se?composeSignals$1([ie,oe],se):[],ge,me;const ye=()=>{!ge&&setTimeout(()=>{pe&&pe.unsubscribe()}),ge=!0};let _e;try{if(ue&&supportsRequestStream&&ae!=="get"&&ae!=="head"&&(_e=await resolveBodyLength(de,ne))!==0){let Se=new Request(te,{method:"POST",body:ne,duplex:"half"}),we;utils$1.isFormData(ne)&&(we=Se.headers.get("content-type"))&&de.setContentType(we),Se.body&&(ne=trackStream(Se.body,DEFAULT_CHUNK_SIZE,fetchProgressDecorator(_e,progressEventReducer(ue)),null,encodeText))}utils$1.isString(he)||(he=he?"cors":"omit"),me=new Request(te,{...fe,signal:pe,method:ae.toUpperCase(),headers:de.normalize().toJSON(),body:ne,duplex:"half",withCredentials:he});let be=await fetch(me);const xe=supportsResponseStream&&(ce==="stream"||ce==="response");if(supportsResponseStream&&(le||xe)){const Se={};["status","statusText","headers"].forEach(Ae=>{Se[Ae]=be[Ae]});const we=utils$1.toFiniteNumber(be.headers.get("content-length"));be=new Response(trackStream(be.body,DEFAULT_CHUNK_SIZE,le&&fetchProgressDecorator(we,progressEventReducer(le,!0)),xe&&ye,encodeText),Se)}ce=ce||"text";let $e=await resolvers[utils$1.findKey(resolvers,ce)||"text"](be,ee);return!xe&&ye(),ve&&ve(),await new Promise((Se,we)=>{settle(Se,we,{data:$e,headers:AxiosHeaders$1.from(be.headers),status:be.status,statusText:be.statusText,config:ee,request:me})})}catch(be){throw ye(),be&&be.name==="TypeError"&&/fetch/i.test(be.message)?Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,ee,me),{cause:be.cause||be}):AxiosError.from(be,be&&be.code,ee,me)}}),knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:fetchAdapter};utils$1.forEach(knownAdapters,(ee,te)=>{if(ee){try{Object.defineProperty(ee,"name",{value:te})}catch{}Object.defineProperty(ee,"adapterName",{value:te})}});const renderReason=ee=>`- ${ee}`,isResolvedHandle=ee=>utils$1.isFunction(ee)||ee===null||ee===!1,adapters={getAdapter:ee=>{ee=utils$1.isArray(ee)?ee:[ee];const{length:te}=ee;let ae,ne;const ie={};for(let oe=0;oe<te;oe++){ae=ee[oe];let se;if(ne=ae,!isResolvedHandle(ae)&&(ne=knownAdapters[(se=String(ae)).toLowerCase()],ne===void 0))throw new AxiosError(`Unknown adapter '${se}'`);if(ne)break;ie[se||"#"+oe]=ne}if(!ne){const oe=Object.entries(ie).map(([le,ue])=>`adapter ${le} `+(ue===!1?"is not supported by the environment":"is not available in the build"));let se=te?oe.length>1?`since :
-`+oe.map(renderReason).join(`
-`):" "+renderReason(oe[0]):"as no adapter specified";throw new AxiosError("There is no suitable adapter to dispatch the request "+se,"ERR_NOT_SUPPORT")}return ne},adapters:knownAdapters};function throwIfCancellationRequested(ee){if(ee.cancelToken&&ee.cancelToken.throwIfRequested(),ee.signal&&ee.signal.aborted)throw new CanceledError(null,ee)}function dispatchRequest(ee){return throwIfCancellationRequested(ee),ee.headers=AxiosHeaders$1.from(ee.headers),ee.data=transformData.call(ee,ee.transformRequest),["post","put","patch"].indexOf(ee.method)!==-1&&ee.headers.setContentType("application/x-www-form-urlencoded",!1),adapters.getAdapter(ee.adapter||defaults$1.adapter)(ee).then(function(ne){return throwIfCancellationRequested(ee),ne.data=transformData.call(ee,ee.transformResponse,ne),ne.headers=AxiosHeaders$1.from(ne.headers),ne},function(ne){return isCancel(ne)||(throwIfCancellationRequested(ee),ne&&ne.response&&(ne.response.data=transformData.call(ee,ee.transformResponse,ne.response),ne.response.headers=AxiosHeaders$1.from(ne.response.headers))),Promise.reject(ne)})}const VERSION="1.7.2",validators$1={};["object","boolean","number","function","string","symbol"].forEach((ee,te)=>{validators$1[ee]=function(ne){return typeof ne===ee||"a"+(te<1?"n ":" ")+ee}});const deprecatedWarnings={};validators$1.transitional=function(te,ae,ne){function ie(oe,se){return"[Axios v"+VERSION+"] Transitional option '"+oe+"'"+se+(ne?". "+ne:"")}return(oe,se,le)=>{if(te===!1)throw new AxiosError(ie(se," has been removed"+(ae?" in "+ae:"")),AxiosError.ERR_DEPRECATED);return ae&&!deprecatedWarnings[se]&&(deprecatedWarnings[se]=!0,console.warn(ie(se," has been deprecated since v"+ae+" and will be removed in the near future"))),te?te(oe,se,le):!0}};function assertOptions(ee,te,ae){if(typeof ee!="object")throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE);const ne=Object.keys(ee);let ie=ne.length;for(;ie-- >0;){const oe=ne[ie],se=te[oe];if(se){const le=ee[oe],ue=le===void 0||se(le,oe,ee);if(ue!==!0)throw new AxiosError("option "+oe+" must be "+ue,AxiosError.ERR_BAD_OPTION_VALUE);continue}if(ae!==!0)throw new AxiosError("Unknown option "+oe,AxiosError.ERR_BAD_OPTION)}}const validator={assertOptions,validators:validators$1},validators=validator.validators;class Axios{constructor(te){this.defaults=te,this.interceptors={request:new InterceptorManager$1,response:new InterceptorManager$1}}async request(te,ae){try{return await this._request(te,ae)}catch(ne){if(ne instanceof Error){let ie;Error.captureStackTrace?Error.captureStackTrace(ie={}):ie=new Error;const oe=ie.stack?ie.stack.replace(/^.+\n/,""):"";try{ne.stack?oe&&!String(ne.stack).endsWith(oe.replace(/^.+\n.+\n/,""))&&(ne.stack+=`
-`+oe):ne.stack=oe}catch{}}throw ne}}_request(te,ae){typeof te=="string"?(ae=ae||{},ae.url=te):ae=te||{},ae=mergeConfig(this.defaults,ae);const{transitional:ne,paramsSerializer:ie,headers:oe}=ae;ne!==void 0&&validator.assertOptions(ne,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),ie!=null&&(utils$1.isFunction(ie)?ae.paramsSerializer={serialize:ie}:validator.assertOptions(ie,{encode:validators.function,serialize:validators.function},!0)),ae.method=(ae.method||this.defaults.method||"get").toLowerCase();let se=oe&&utils$1.merge(oe.common,oe[ae.method]);oe&&utils$1.forEach(["delete","get","head","post","put","patch","common"],ve=>{delete oe[ve]}),ae.headers=AxiosHeaders$1.concat(se,oe);const le=[];let ue=!0;this.interceptors.request.forEach(function(ge){typeof ge.runWhen=="function"&&ge.runWhen(ae)===!1||(ue=ue&&ge.synchronous,le.unshift(ge.fulfilled,ge.rejected))});const ce=[];this.interceptors.response.forEach(function(ge){ce.push(ge.fulfilled,ge.rejected)});let de,he=0,fe;if(!ue){const ve=[dispatchRequest.bind(this),void 0];for(ve.unshift.apply(ve,le),ve.push.apply(ve,ce),fe=ve.length,de=Promise.resolve(ae);he<fe;)de=de.then(ve[he++],ve[he++]);return de}fe=le.length;let pe=ae;for(he=0;he<fe;){const ve=le[he++],ge=le[he++];try{pe=ve(pe)}catch(me){ge.call(this,me);break}}try{de=dispatchRequest.call(this,pe)}catch(ve){return Promise.reject(ve)}for(he=0,fe=ce.length;he<fe;)de=de.then(ce[he++],ce[he++]);return de}getUri(te){te=mergeConfig(this.defaults,te);const ae=buildFullPath(te.baseURL,te.url);return buildURL(ae,te.params,te.paramsSerializer)}}utils$1.forEach(["delete","get","head","options"],function(te){Axios.prototype[te]=function(ae,ne){return this.request(mergeConfig(ne||{},{method:te,url:ae,data:(ne||{}).data}))}});utils$1.forEach(["post","put","patch"],function(te){function ae(ne){return function(oe,se,le){return this.request(mergeConfig(le||{},{method:te,headers:ne?{"Content-Type":"multipart/form-data"}:{},url:oe,data:se}))}}Axios.prototype[te]=ae(),Axios.prototype[te+"Form"]=ae(!0)});const Axios$1=Axios;class CancelToken{constructor(te){if(typeof te!="function")throw new TypeError("executor must be a function.");let ae;this.promise=new Promise(function(oe){ae=oe});const ne=this;this.promise.then(ie=>{if(!ne._listeners)return;let oe=ne._listeners.length;for(;oe-- >0;)ne._listeners[oe](ie);ne._listeners=null}),this.promise.then=ie=>{let oe;const se=new Promise(le=>{ne.subscribe(le),oe=le}).then(ie);return se.cancel=function(){ne.unsubscribe(oe)},se},te(function(oe,se,le){ne.reason||(ne.reason=new CanceledError(oe,se,le),ae(ne.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(te){if(this.reason){te(this.reason);return}this._listeners?this._listeners.push(te):this._listeners=[te]}unsubscribe(te){if(!this._listeners)return;const ae=this._listeners.indexOf(te);ae!==-1&&this._listeners.splice(ae,1)}static source(){let te;return{token:new CancelToken(function(ie){te=ie}),cancel:te}}}const CancelToken$1=CancelToken;function spread(ee){return function(ae){return ee.apply(null,ae)}}function isAxiosError(ee){return utils$1.isObject(ee)&&ee.isAxiosError===!0}const HttpStatusCode={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode).forEach(([ee,te])=>{HttpStatusCode[te]=ee});const HttpStatusCode$1=HttpStatusCode;function createInstance(ee){const te=new Axios$1(ee),ae=bind(Axios$1.prototype.request,te);return utils$1.extend(ae,Axios$1.prototype,te,{allOwnKeys:!0}),utils$1.extend(ae,te,null,{allOwnKeys:!0}),ae.create=function(ie){return createInstance(mergeConfig(ee,ie))},ae}const axios=createInstance(defaults$1);axios.Axios=Axios$1;axios.CanceledError=CanceledError;axios.CancelToken=CancelToken$1;axios.isCancel=isCancel;axios.VERSION=VERSION;axios.toFormData=toFormData;axios.AxiosError=AxiosError;axios.Cancel=axios.CanceledError;axios.all=function(te){return Promise.all(te)};axios.spread=spread;axios.isAxiosError=isAxiosError;axios.mergeConfig=mergeConfig;axios.AxiosHeaders=AxiosHeaders$1;axios.formToJSON=ee=>formDataToJSON(utils$1.isHTMLForm(ee)?new FormData(ee):ee);axios.getAdapter=adapters.getAdapter;axios.HttpStatusCode=HttpStatusCode$1;axios.default=axios;const axios$1=axios;function login(ee){return axios$1.post("/v1/token",ee)}function loginMail(ee){return axios$1.post("/v1/token",ee)}function getUserInfo(){return axios$1.get("/api/user/userInfo")}function updateUserInfo(ee){return axios$1.put("/api/user/userInfo",ee)}function getUserData(ee){return axios$1.post("/api/user/data",ee)}function registerUser(ee){return axios$1.post("/api/user/register",ee)}const TOKEN_KEY="token",isLogin=()=>!!localStorage.getItem(TOKEN_KEY),getToken=()=>localStorage.getItem(TOKEN_KEY),setToken=ee=>{localStorage.setItem(TOKEN_KEY,ee)},clearToken=()=>{localStorage.removeItem(TOKEN_KEY)};function mitt(ee){return{all:ee=ee||new Map,on:function(te,ae){var ne=ee.get(te);ne?ne.push(ae):ee.set(te,[ae])},off:function(te,ae){var ne=ee.get(te);ne&&(ae?ne.splice(ne.indexOf(ae)>>>0,1):ee.set(te,[]))},emit:function(te,ae){var ne=ee.get(te);ne&&ne.slice().map(function(ie){ie(ae)}),(ne=ee.get("*"))&&ne.slice().map(function(ie){ie(te,ae)})}}}const emitter=mitt(),key=Symbol("ROUTE_CHANGE");function setRouteEmitter(ee){emitter.emit(key,ee)}function removeRouteListener(){emitter.off(key)}const useUserStore=defineStore("user",{state:()=>({userId:"10000",username:"admin",department:"Tiny-Vue-Pro",employeeType:"social recruitment",job:"Front end",probationStart:"2021-04-19",probationEnd:"2021-10-15",probationDuration:"180",protocolStart:"2021-04-19",protocolEnd:"2024-04-19",address:"",status:"",role:"",sort:1,startTime:"",endTime:"",filterStatus:[],filterType:[],submit:!1,reset:!1}),getters:{userInfo(ee){return ee}},actions:{switchRoles(){return new Promise(ee=>{this.role=this.role==="user"?"admin":"user",ee(this.role)})},setInfo(ee){this.$patch(ee)},resetInfo(){this.$reset()},resetFilterInfo(){this.startTime="",this.endTime="",this.filterStatus=[],this.filterType=[]},async info(){const ee=await getUserInfo();this.setInfo(ee.data)},async updateInfo(ee){const te=await updateUserInfo(ee);this.setInfo(te.data)},async login(ee){try{const te=await login(ee);setToken(JSON.stringify(te))}catch(te){throw clearToken(),te}},async loginMail(ee){try{const te=await loginMail(ee);setToken(JSON.stringify(te))}catch(te){throw clearToken(),te}},async logout(){this.resetInfo(),clearToken(),removeRouteListener()}}}),formatTag=ee=>{const{name:te,meta:ae,fullPath:ne,query:ie}=ee;return{title:ae.locale||"",name:String(te),fullPath:ne,query:ie}};defineStore("tabBar",{state:()=>({cacheTabList:new Set,tagList:[{title:"menu.dashboard.workplace",name:"Workplace",fullPath:"/dashboard/workplace"}]}),getters:{getTabList(){return this.tagList},getCacheList(){return Array.from(this.cacheTabList)}},actions:{updateTabList(ee){this.tagList.push(formatTag(ee)),ee.meta.ignoreCache||this.cacheTabList.add(ee.name)},deleteTag(ee,te){this.tagList.splice(ee,1),this.cacheTabList.delete(te.name)}}});const pinia=createPinia(),_imports_0$3="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAZCAYAAAArK+5dAAAAAXNSR0IArs4c6QAAApNJREFUSEudlc9r1FAQx7+TZKEtS1VQihX0oGibKG6TNVEogp49iOLNmx4qohShtxY8eBJFtKA3DwoePOjBP2BRcCG7TUoXX/YgeLWsIJaibSndkew2NT/XTXMK82bmM+87894j9PgqFVaKe5rzbeapFLdPCgpThnG82SsHpS1WhCgOraMFYLBXcLBGkK6axvi7NN8EwHbEQwAz/SSO+BBalq6NxOMiANsVH8E4nzv5dgARsamrUjh+B7DrymPVENGGqasD/+QDsK356o5RxkmzpImqI47JwFffTqAVgL+BaISZRzs2CTPmhPbI/7cdwUG8RNL8GX38bjeuu/gn3FDL0FKb30u6MMD3C3KQP4pDw95mRLcBHDQ1bTlPL+IAAj01DXWa6q73Ij7nu9lBzRWLzCiFi/LzUIJMNGfq6oM81Qe+aTIlAJtr8vDk5NhOw/OA4gBTV+UEYDfyZO2gQPKhBACklCz9xFKeyrMAvhpJAPDeMrQreQGNRmPf2qb8M6XJXhXgc/GFvADbFctgRO6izhRVF5qnZGo3oglpyzJUpV+I7Xz5ANClmP+SZWil4CR3jrmpq0p9sXmfmWc7x5yoKsl8r3xas+Owz653pMCYYfDttEJkHthbLh9d6QIWxDUQ3vr/fmMKg1tz4Ss7bbJqjtdi8IGMXbYso3t1h2/THwD2A7RuGeqgvejdBOMOgV6Z+vjjeKK64023wU/SAOGCou+BI9o+lAk3zuray149qDniOgOv4z4y02i5rH4P7MkXzRWrYBS3HdYBKqQ1PA0QTx6RKFxJzfWeM/Otri19oiKAjOcyExDA6q541gYOW7p2OS5FdaExppDy5re0cfHCxMSvLDlzPyz9no3MHuRN8D//v1L1ByOH+EWhAAAAAElFTkSuQmCC",index_vue_vue_type_style_index_0_scoped_6f6f43b7_lang="",_sfc_main$7={},_withScopeId$3=ee=>(pushScopeId("data-v-6f6f43b7"),ee=ee(),popScopeId(),ee),_hoisted_1$5={class:"footer"},_hoisted_2$5=_withScopeId$3(()=>createBaseVNode("a",{href:"/pro/home",class:"foot-link"},"TinyPro",-1)),_hoisted_3$4=_withScopeId$3(()=>createBaseVNode("div",{class:"divider"},null,-1)),_hoisted_4$4={href:"/"},_hoisted_5$4=_withScopeId$3(()=>createBaseVNode("div",{class:"divider"},null,-1)),_hoisted_6$4=_withScopeId$3(()=>createBaseVNode("a",{href:"https://gitee.com/organizations/opentiny/projects"},[createBaseVNode("img",{src:_imports_0$3,alt:"github"})],-1));function _sfc_render$1(ee,te){return openBlock(),createElementBlock("div",_hoisted_1$5,[_hoisted_2$5,_hoisted_3$4,createBaseVNode("a",_hoisted_4$4,toDisplayString(ee.$t("setting.foot.title")),1),_hoisted_5$4,_hoisted_6$4])}const Footer=_export_sfc(_sfc_main$7,[["render",_sfc_render$1],["__scopeId","data-v-6f6f43b7"]]),_imports_0$2="/ui/admin/assets/opentiny-logo-47b57626.png",_imports_0$1="/ui/admin/assets/pro-498ddfb9.png",_imports_2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSElEQVQ4T62TvUoDURCFz9wEdv0pgkR32URY1hS+gq8gdnbBKmBjYWGjhHT+YiNY2Eg6sbMTn8GHSMKFbJbEiKTwJwvJjKygJLIRTHLbmfNxuOcMiYCIIBjz0Zi6H9n0ASnXTXW07sQ5i5sNOVjI5NaUoKAS4dlTvV4dhCwt51a4jwMmlF8alcfv2RBgMeOdAGpHhO+TzKVmU+to0bZX3Z7qHRFhA+CrdqNWjAfY3joSdAohT0huGd1DiEmKUCKhPAhV9LnYbtYeYgFAzkg7vAmoEgEZIS4DikhQEMAH+Pg5UHdAJRwBAFzXNV/D5BYp7AskHS0SqC2M83mjd6O17g7+TWyM2Wx2JmRjW4A9wlfJLgwVXvu+//E7nZE9cBxnNoS5GwkMdC+DIHiPi/bPIlmWNReJWq3W26jGTr+J/72NiRyIQE0KoE/wWXQQBjn75QAAAABJRU5ErkJggg==",_imports_3="/ui/admin/assets/avatar-dd4da9e1.png",localeLogin$1={"login.form.mode":"Account and password login","login.form.mail":"Email login","login.form.title":"Login to Tiny Pro","login.form.userName.errMsg":"Username cannot be empty","login.form.password.errMsg":"Password cannot be empty","login.form.mailName.errMsg":"The mailbox name cannot be empty","login.form.mailpassword.errMsg":"The email password cannot be empty","login.form.mailpassword2.errMsg":"Confirm password cannot be empty","login.form.login.errMsg":"Login error, refresh and try again","login.form.login.success":"welcome to use","login.form.userName.placeholder":"Username: admin","login.form.password.placeholder":"Password: admin","login.form.mailName.placeholder":"EmailName:123{'@'}example.com","login.form.mailpassword.placeholder":"Password:admin","login.form.registerMail.placeholder":"Register Email:","login.form.registerPassword.placeholder":"Registration password:","login.form.registerConfirmPassword.placeholder":"Confirm Password:","login.form.rememberPassword":"Remember password","login.form.forgetPassword":"Forgot password","login.form.registration":"Sign up","login.form.login":"login","login.form.register":"register","login.form.registerPass":"The verification is successful and the registration is successful","login.form.registerError":"Verification failed!","login.form.change":"Sign in with","login.form.mailInput":"Email:","login.form.passwordInput":"Password:","login.form.passwordConfirm":"Confirm Password:","login.form.checkUsername":"Letters, numbers, underscores, dashes, dots{'@'}Letters, numbers, dashes","login.form.checkPassword":"At least eight characters, including at least one uppercase letter, one lowercase letter, and one digit","login.form.confirmPassword":"Inconsistent passwords","login.banner.slogan1":"Out-of-the-box high-quality template","login.banner.subSlogan1":"Rich page templates, covering most typical business scenarios","login.banner.slogan2":"Built-in solutions to common problems","login.banner.subSlogan2":"Internationalization, routing configuration, state management everything","login.banner.slogan3":"Access visualization enhancement tool AUX","login.banner.subSlogan3":"Realize flexible block development","login.icon.language":"language","login.tip.info":"User name: admin; password: admin","login.tip.mail":"User name: admin{'@'}example.com; password: admin","login.tip.right":"Enter the correct user name and password","login.main.text":"TinyPro Mid-Back-End Front-End Solution"},localeTheme$1={"theme.title.main":"Personalized configuration","theme.title.first":"theme","theme.title.default":"Default Theme","theme.title.honey":"Honey Theme","theme.title.violet":"Violet Theme","theme.title.deepness":"Deep Night Sky Theme","theme.title.deep":"Dark Theme","theme.title.light":"Light Theme","theme.title.customization":"Custom Themes","theme-title-recommend":"Recommended Topics","theme-text-default":"Science and technology, exploration, research, precision, tolerance","theme-text-honey":"Bright, sensual, warm, positive, energetic","theme-text-violet":"Elegant, romantic, gentle, mysterious, noble","theme-text-deepness":"Smooth, Neutral, Space, Strength, Hard","theme-text-dark":"Deep, decisive, brave, tenacious, yearning"},localeSearchTable$1={"menu.list.searchTable":"Search Table","searchTable.form.number":"Set Number","searchTable.form.number.placeholder":"Please enter Set Number","searchTable.form.name":"Set Name","searchTable.form.name.placeholder":"Please enter Set Name","searchTable.form.contentType":"Content Type","searchTable.form.contentType.img":"image-text","searchTable.form.contentType.horizontalVideo":"Horizontal short video","searchTable.form.contentType.verticalVideo":"Vertical short video","searchTable.form.filterType":"Filter Type","searchTable.form.filterType.artificial":"artificial","searchTable.form.filterType.rules":"Rules","searchTable.form.createdTime":"Create Date","searchTable.form.status":"Status","searchTable.form.status.online":"Online","searchTable.form.status.offline":"Offline","searchTable.form.status.doing":"Ongoing","searchTable.form.search":"Search","searchTable.form.reset":"Reset","searchTable.form.selectDefault":"All","searchTable.operation.create":"Create","searchTable.operation.import":"Export","searchTable.operation.download":"Download","searchTable.form.collapse":"Collapse","searchTable.form.extend":"Extend","searchTable.form.input":"Please enter","searchTable.form.create":"Creating a Topic","searchTable.columns.number":"ID","searchTable.columns.name":"Set Name","searchTable.columns.department":"Department","searchTable.columns.filterType":"Department Level","searchTable.columns.count":"Count","searchTable.columns.workname":"Workbench","searchTable.columns.enablement":"Enablement","searchTable.columns.type":"Person Type","searchTable.columns.study":"Institute","searchTable.columns.role":"Role","searchTable.columns.updatesperson":"Updates Person","searchTable.columns.createdTime":"CreatedTime","searchTable.columns.status":"Status","searchTable.columns.operations":"Operations","searchTable.columns.operations.view":"View","searchTable.columns.operations.delete":"Delete","searchTable.collapse.restores":"restores","searchTable.collapse.full":"Full"},localeStepForm$1={"menu.form.step":"Step Form","stepForm.button.submit":"Create","stepForm.button.cancel":"Cancel","stepForm.button.restore":"Restores","stepForm.probation.day":"Day","stepForm.coaching.process":"Coaching Process","stepForm.start.date":"Labor Contract Start Date","stepForm.end.date":"Labor Contract End Date","stepForm.probation.period":"Probation Period","stepForm.probation.start":"Trial Start and End Date","stepForm.recruitment.type":"Recruitment Type","stepForm.recruitment.position":"Position","stepForm.recruitment.department":"Department","stepForm.start.coaching":"Start coaching","stepForm.immediate.supervisor":"Enter the mentor immediate supervisor","stepForm.overall.goals":"Set overall goals","stepForm.overall.summary":"Submit the overall summary","stepForm.overall.end":"End","stepForm.collapse.base":"Coaching Basic Information","stepForm.collapse.supervisor":"Entry Supervisor","stepForm.collapse.goals":"Set overall goals","stepForm.collapse.summary":"Submit the overall summary","stepForm.coach.position":"Cultivating Positions","stepForm.coach.culture":"Training Department","stepForm.coach.mentor":"Mentor","stepForm.coach.startTime":"Actual Coaching Start Date","stepForm.coach.endTime":"Actual Coaching End Date","stepForm.dire.supervisor":"Mentor Supervisor","stepForm.dire.remarks":"Mentor Information Remarks","stepForm.dire.startTime":"Start Coaching Date","stepForm.dire.endTime":"Coaching End Date","stepForm.target.list":"Target List","stepForm.target.sure":"Set goals","stepForm.sum.self":"Self-summarization","stepForm.error.target":"At least one item exists on the right","stepForm.head.admin":"User name"},localeBaseForm$1={"menu.form.base":"Base Form","baseForm.form.label.no":"no","baseForm.form.label.yes":"yes","baseForm.form.label.placeholder":"Please select","baseForm.form.label.frequencyone":"By Month","baseForm.form.label.frequencytwo":"By Week","baseForm.form.label.frequencythree":"By biweekly","baseForm.form.label.frequencyfour":"By Quarter","baseForm.form.label.personone":"Local employees","baseForm.form.label.persontwo":"Non-Employee","baseForm.form.label.personthree":"Chinese employees","baseForm.form.label.projectone":"Training for new employees of the manufacturing department","baseForm.form.label.projecttwo":"On-boarding coaching for new employees","baseForm.form.label.projectthree":"UI Automation Test Coaching Project","baseForm.form.label.people":"Applicable Populations","baseForm.form.label.rank":"Job Level","baseForm.form.label.type":"Person Type","baseForm.form.label.business":"Service attribute","baseForm.form.label.Objectives":"Overall objective","baseForm.form.label.culture":"Training Department","baseForm.form.label.develop":"develop","baseForm.form.label.developone":"Trainees","baseForm.form.label.developtwo":"Mentor","baseForm.form.label.effective":"Effective Condition","baseForm.form.label.effectiveone":"Effective without approval","baseForm.form.label.effectivetwo":"Mentor Approval","baseForm.form.label.effectivethree":"Immediate supervisor approval","baseForm.form.label.effectivefour":"Mentors and immediate supervisors approve the application","baseForm.form.label.plan":"Phase Plan","baseForm.form.label.confirm":"Whether to develop","baseForm.form.label.frequency":"Formulation frequency","baseForm.form.label.role":"Goal Setting Role","baseForm.form.label.roleone":"Trainees","baseForm.form.label.roletwo":"Mentor","baseForm.form.label.condition":"Target Effective Condition","baseForm.form.label.conditionone":"Effective without approval","baseForm.form.label.conditiontwo":"Mentor Approval","baseForm.form.label.conditionthree":"Immediate supervisor approval","baseForm.form.label.conditionfour":"Mentors and immediate supervisors approve the application","baseForm.form.label.staged":"Phase Evaluation","baseForm.form.label.stagedone":"Only mentor evaluation is required","baseForm.form.label.stagedtwo":"Only immediate supervisor evaluation is required","baseForm.form.label.stagedthree":"Need to be evaluated by the mentor and immediate supervisor","baseForm.form.label.wholeconfirm":"Whether to develop","baseForm.form.label.evaluation":"Overall evaluation","baseForm.form.label.evaluationyes":"Mentors and immediate supervisors are required for evaluation","baseForm.form.label.evaluationno":"No mentor is required, and the immediate supervisor evaluates it","baseForm.form.label.mentortitle":"Mentor Selection","baseForm.form.label.mentortip":"Only mentors with valid qualifications can be selected from the mentor resource pool. If you do not select a mentor from the mentor resource pool, the basic qualifications of the mentor will not be verified","baseForm.form.label.mentor":"Select Mentor Only from Mentor Resource Pool","baseForm.form.label.remindertitle":"Reminder of coaching communication records","baseForm.form.label.reminder":"Require Reminder","baseForm.form.submit":"Submit","baseForm.form.submit.success":"Form submitted successfully","baseForm.form.cancel":"Cancel","baseForm.form.submit.error":"Please complete the required items first","baseForm.form.record":"Version Record","baseForm.form.project":"Project Type","baseForm.form.get.error":"Failed to obtain data"},localeDetailForm$1={"menu.plan.department":"Training Department","menu.plan.resource":"Human Resource Mgmt Dept","menu.plan.job":"Job Level","menu.plan.person":"Person Type","menu.plan.attribute":"Service attribute","menu.plan.develop":"Whether to develop","menu.plan.yes":"yes","menu.plan.no":"no","menu.plan.role":"Develop Roles","menu.plan.mentor":"Mentor","menu.plan.condition":"Effective Condition","menu.plan.approval":"Immediate supervisor approval","menu.plan.frequency":"Formulation frequency","menu.plan.month":"By Month","menu.plan.goal":"Goal Setting Role","menu.plan.trainees":"Trainees","menu.plan.teacher":"Mentor Approval","menu.plan.phase":"Phase Evaluation","menu.plan.evaluation":"Need to be evaluated by mentors and immediate supervisors","menu.plan.whole":"Overall evaluation","menu.plan.pool":"Select Mentor Only from Mentor Resource Pool","menu.plan.time":"Update Time","menu.plan.version":"Version number","menu.plan.operation":"Operation","menu.plan.updated":"Updated by","baseForm.form.label.type":"Project Type"},localeSuccess$1={"menu.result.success":"Success","success.result.title":"The submission result page displays the processing results of a series of operation tasks.","menu.result.messageSuccess":"The coaching process is submitted successfully","menu.btn.submit":"Start","menu.btn.cancel":"Cancel","menu.line.process":"Current progress","menu.result.messageEnd":"The coaching process has been submitted"},localeError$1={"menu.result.error":"Error","error.result.title":"The submission result page displays the processing results of a series of operation tasks","menu.result.messageError":"Failed to submit the coaching process","error.result.home":"Back"},locale403$1={"menu.exception.403":"403","exception.result.403.description":"Access to this resource on the server is denied.","exception.result.403.back":"Back","exception.result.permissions.403":"Contact the administrator to apply for the permission.。"},locale404$1={"menu.exception.404":"404","exception.result.404.description":"Whoops, this page is gone.","exception.result.404.retry":"Retry","exception.result.404.back":"Back","exception.result.permissions.404":"Check the network connection and try to refresh the page."},locale500$1={"menu.exception.500":"500","exception.result.500.description":"Internal server error","exception.result.500.back":"Back","exception.result.permissions.500":"Check the network connection and try to refresh the page."},localeUserInfo$1={"menu.user.info":"User Center","userInfo.tab.one":"My plan","userInfo.tab.two":"My mission","userInfo.filter.sort":"Sort by Time","userInfo.filter.startTime":"Start Date","userInfo.filter.endTime":"End Date","userInfo.end.positiveOrder":"By end time in positive order","userInfo.end.reverseOrder":"In reverse order by end time","userInfo.start.positiveOrder":"Start time in positive order","userInfo.start.reverseOrder":"Start time in reverse order","userInfo.btn.search":"Search","userInfo.btn.reset":"Reset","userInfo.status.status":"Status","userInfo.status.optionA":"Completed","userInfo.status.optionB":"Overdue","userInfo.status.optionC":"About to expire","userInfo.status.optionD":"Unfinished","userInfo.type.type":"Type","userInfo.type.optionA":"Organizational arrangements","userInfo.type.optionB":"Phase Plan","userInfo.type.optionC":"autonomous learning","userInfo.table.columnA":"Program Name","userInfo.table.columnB":"Completion Time","userInfo.table.columnC":"Status","userInfo.table.columnD":"Type","userInfo.week.1":"2 weeks onboarding","userInfo.month.1":"1 month onboarding","userInfo.month.2":"2 month onboarding","userInfo.month.3":"3 month onboarding","userInfo.month.4":"4 month onboarding","userInfo.month.5":"5 month onboarding","userInfo.month.6":"6 month onboarding","userInfo.month.7":"7 month onboarding","userInfo.month.8":"8 month onboarding","userInfo.month.9":"9 month onboarding","userInfo.month.10":"10 month onboarding","userInfo.month.11":"11 month onboarding","userInfo.month.12":"12 month onboarding","userInfo.month.13":"13 month onboarding","userInfo.month.14":"14 month onboarding","userInfo.month.15":"15 month onboarding","userInfo.month.16":"16 month onboarding","userInfo.month.17":"17 month onboarding","userInfo.time.message":"The end time is earlier than the start time","userInfo.filter.all":"Please complete all current filters"},localeUserSetting$1={"menu.user.setting":"User Setting","userSetting.cancel":"Cancel","userSetting.reset":"Reset","userSetting.department":"Department:","userSetting.position":"Position:","userSetting.type":"Recruitment Type:","userSetting.date":"Trial Start and End Date:","userSetting.during":"Probation Period:","userSetting.startTime":"Labor Contract Start Date:","userSetting.endTime":"Labor Contract End Date:","userSetting.first":"Start Time","userSetting.last":"End Time"},localekanban$1={"menu.user.info":"User Center","work.mock.employees":"Transferred employees","work.mock.onboard":"New employee onboarding","work.mock.Test":"Test coaching","work.mock.week1":"Zero promotion practice (1 weeks)","work.mock.week2":"Zero promotion practice (2 weeks)","work.mock.week3":"Zero promotion practice (3 weeks)","work.mock.network":"Network Reality","work.mock.centralized":"Centralized training for new employees","work.mock.hardware":"Hardware Installation Practice","work.index.learn":"Learning Planning","work.index.coach":"Learning coaching","work.index.formalization":"Learning Formalization","work.index.practiced":"Learning practiced","work.index.train":"Centralized training","work.index.Inquiry":"Life little helper","work.index.Home":"New Employee Home","work.index.Guide":"Operation Guide","work.index.plans":"Number of plans","work.index.Unfinished":"Unfinished","work.index.beOverdue":"To Be Overdue","work.index.Overdue":"Overdue","work.index.trainees":"Number of trainees to start coaching","work.index.coachNum":"Number of trainees in coaching","work.index.allocated":"Number of trainees to be allocated","work.index.start":"Number of trainees to start practice","work.index.practice":"Number of trainees in practice","work.index.unpark":"Waiting for Start-up to Form","work.index.entered":"Evaluation result to be entered","work.index.approved":"Evaluation result to be approved","work.index.put":"Number of trainees in practice","work.index.assign":"Number of trainees to be allocated","work.index.prepare":"Prepare for class opening","work.index.open":"Open a middle class","work.index.classes":"Number of classes to be accepted","work.index.policy":"policy","work.index.Period":"Probation Period and Development Policy Process for New Employees","work.index.Hotline":"Hotline","work.index.service":"All kinds of practical hotline service","work.index.Attendance":"Attendance","work.index.FAQs":"Attendance System and FAQs","work.index.Payroll":"Payroll","work.index.Tax":"Payroll Tax Q&A","work.index.Brave":"Brave New World Landing Program","work.index.Growth":"100-day Growth Guide for New Employees","work.index.Termbase":"Termbase","work.index.lingo":"The latest and hottest terms to help you understand the lingo","work.index.Library":"Document Library and Community","work.index.domain":"Knowledge document library of the business domain","work.index.platform":"Online learning platform","work.index.learning":"Online learning","work.index.Operation":"New Employee Home Operation Guide","work.index.Numbers":"Number","work.index.Person":"Person","work.index.net":"Net","work.index.netonline":"Online consultation","home.main.one":"first screen","home.main.up":"Page Onload","home.main.down":"Sampling PV","home.main.day":"yesterday","home.curve.trend":"Performance Trends","home.curve.play":"Visible on the first screen","home.curve.page":"Page Onload","home.falls.line":"Load Waterfall Flow","home.falls.tcp":"TCP Link","home.falls.ssl":"SSL Link","home.round.title":"Network speed distribution","home.round.unknow":"Unknown","home.roundtable.index":"index","home.roundtable.space":"Network speed","home.roundtable.pv":"Sampling PV (percentage)","home.roundtable.play":"Visible on the first screen","home.roundtable.page":"Page Onload","home.region.title":"Geographical distribution"},localeHello$1={"menu.cloud.hello":"Hello World"},localeContracts$1={"menu.cloud.locate.problems":"Problem Locating","menu.cloud.contracts":"Contract Management","menu.cloud.create":"Create Contract","menu.cloud.edit":"Edit Contract","menu.cloud.del":"Delete Contract","menu.cloud.name":"Project Name","menu.cloud.id":"Contract No","menu.cloud.customer":"Customer Name","menu.cloud.description":"Description","menu.cloud.updatedAt":"Creation Time","menu.cloud.editOpa":"Edits","menu.cloud.editDel":"Delete","menu.cloud.registerErro":"The project name does not meet the verification rules","menu.cloud.sure":"OK","menu.cloud.cancel":"Cancel","menu.cloud.tip":"The value can contain 3 to 255 characters, including Chinese characters, digits, hyphens (-), underscores (_), dots (.), slashes (/), parentheses (:) and colons (:) in Chinese and English formats, and periods (). The value can start with only English, Chinese characters, and digits.","menu.cloud.askDel":"Are you sure you want to delete the following","menu.cloud.askContracts":"Contract","menu.cloud.askInput":"Input","menu.cloud.askSure":"confirm","menu.cloud.verification":"Verification failed","menu.cloud.editpass":"If the verification is successful, the modification is successful","menu.cloud.delpass":"Deleted successfully","menu.contracts.name":"The contract name is:"},localeSettings$1={"settings.title":"Settings","settings.themeColor":"Theme Color","settings.content":"Content Setting","settings.search":"Search","settings.language":"Language","settings.navbar":"simple mode","settings.menuWidth":"Menu Width (px)","settings.navbar.alerts":"alerts","settings.navbar.help":"Help Center","settings.menu":"classic mode","settings.tabBar":"Tab Bar","settings.footer":"fashion mode","settings.colorWeek":"Theme Configuration","settings.alertContent":'After the configuration is only temporarily effective, if you want to really affect the project, click the "Copy Settings" button below and replace the configuration in settings.json.',"settings.copySettings":"Copy Settings","settings.copySettings.message":"Copy succeeded, please paste to file src/settings.json.","settings.close":"Close","settings.color.tooltip":"10 gradient colors generated according to the theme color","setting.user.set":"User Settings","setting.loginout":"Logout succeeded","setting.copy":"Copying succeeded","setting.input.search":"Enter a keyword","setting.foot.title":"Produced by OpenTiny","setting.mode.navbar":"Collapse Header, Footer","setting.mode.menu":"Collapse menu","setting.mode.footer":"Collapse Footer"},localeHttpError$1={"http.error.TokenExpire":"Login expired, please log in again","http.error.UserNotFound":"user does not exist","http.error.UserAlreadyExist":"User already exists","http.error.InvalidParameter":"Invalid request parameter","http.error.InternalError":"Internal error","http.error.ErrorPassword":"Account or password error"},en={"menu.board":"Dashboard Page","menu.home":"Monitoring page","menu.work":"workbench","menu.list":"List","menu.result":"Result","menu.exception":"Exception","menu.form":"Form","menu.profile":"Profile","menu.profile.detail":"Basic details page","menu.visualization":"Data Visualization","menu.user":"User Center","navbar.docs":"Docs","navbar.action.locale":"Switch to English","messageBox.switchRoles":"Switch Roles","messageBox.userCenter":"User Center","messageBox.userSettings":"User Settings","messageBox.logout":"Logout","menu.cloud":"Cloud service capability",...localeTheme$1,...localeSettings$1,...localeLogin$1,...localeSearchTable$1,...localeStepForm$1,...localeBaseForm$1,...localeSuccess$1,...localeError$1,...locale403$1,...locale404$1,...locale500$1,...localeUserInfo$1,...localeUserSetting$1,...localeDetailForm$1,...localekanban$1,...localeHello$1,...localeContracts$1,...localeHttpError$1},localeLogin={"login.form.mode":"账号密码登录","login.form.mail":"邮箱登录","login.form.title":"登录 Tiny Pro","login.form.userName.errMsg":"用户名不能为空","login.form.password.errMsg":"密码不能为空","login.form.mailName.errMsg":"邮箱名不能为空","login.form.mailpassword.errMsg":"邮箱密码不能为空","login.form.mailpassword2.errMsg":"确认密码不能为空","login.form.login.errMsg":"登录出错,轻刷新重试","login.form.login.success":"欢迎使用","login.form.userName.placeholder":"用户名:admin","login.form.password.placeholder":"密码:admin","login.form.mailName.placeholder":"邮箱名:123{'@'}example.com","login.form.mailpassword.placeholder":"密码:admin","login.form.registerMail.placeholder":"注册邮箱:","login.form.registerPassword.placeholder":"注册密码:","login.form.registerConfirmPassword.placeholder":"确认密码:","login.form.rememberPassword":"记住密码","login.form.forgetPassword":"忘记密码","login.form.registration":"注册账户","login.form.login":"登录","login.form.register":"注册","login.form.registerPass":"校验通过,注册成功","login.form.registerError":"校验不通过!","login.form.change":"使用已有账户登录","login.form.mailInput":"邮箱:","login.form.passwordInput":"密码:","login.form.passwordConfirm":"确认密码:","login.form.checkUsername":"字母、数字、下划线、短线、点号{'@'}字母、数字、短线","login.form.checkPassword":"最少八个字符,至少包含一个大写字母,一个小写字母和一个数字","login.form.confirmPassword":"密码输入不一致","login.banner.slogan1":"开箱即用的高质量模板","login.banner.subSlogan1":"丰富的的页面模板,覆盖大多数典型业务场景","login.banner.slogan2":"内置了常见问题的解决方案","login.banner.subSlogan2":"国际化,路由配置,状态管理应有尽有","login.banner.slogan3":"接入可视化增强工具AUX","login.banner.subSlogan3":"实现灵活的区块式开发","login.icon.language":"语言","login.tip.info":"用户名:admin,密码 admin","login.tip.mail":"用户名:admin{'@'}example.com,密码 admin","login.tip.right":"请输入正确的用户名密码","login.main.text":"TinyPro 中后台前端解决方案"},localeTheme={"theme.title.main":"个性化配置","theme.title.first":"主题","theme.title.default":"默认主题","theme.title.honey":"蜜糖主题","theme.title.violet":"紫罗兰主题","theme.title.deepness":"深邃夜空主题","theme.title.deep":"深色主题","theme.title.light":"浅色主题","theme.title.customization":"自定义主题","theme-title-recommend":"推荐主题","theme-text-default":"科技、探索、钻研、精尖、包容","theme-text-honey":"明快、感性、温暖、积极、活力","theme-text-violet":"优雅、浪漫、温柔、神秘、高贵","theme-text-deepness":"平稳、中性、空间、力量、坚硬","theme-text-dark":"深沉、果断、勇敢、坚韧、向往"},localeSearchTable={"menu.list.searchTable":"查询表格","searchTable.form.number":"集合编号","searchTable.form.number.placeholder":"请输入集合编号","searchTable.form.name":"集合名称","searchTable.form.name.placeholder":"请输入集合名称","searchTable.form.contentType":"内容体裁","searchTable.form.contentType.img":"图文","searchTable.form.contentType.horizontalVideo":"横版短视频","searchTable.form.contentType.verticalVideo":"竖版小视频","searchTable.form.filterType":"筛选方式","searchTable.form.filterType.artificial":"人工筛选","searchTable.form.filterType.rules":"规则筛选","searchTable.form.createdTime":"创建时间","searchTable.form.status":"状态","searchTable.form.status.online":"已上线","searchTable.form.status.offline":"已下线","searchTable.form.status.doing":"进行中","searchTable.form.search":"查询","searchTable.form.reset":"重置","searchTable.form.selectDefault":"全部","searchTable.operation.create":"新建","searchTable.operation.import":"批量导出","searchTable.operation.download":"下载","searchTable.form.collapse":"收起","searchTable.form.extend":"展开","searchTable.form.input":"请输入","searchTable.form.create":"创建主题","searchTable.columns.number":"工号","searchTable.columns.name":"姓名","searchTable.columns.department":"部门","searchTable.columns.filterType":"部门层级","searchTable.columns.count":"内容量","searchTable.columns.workname":"工作台名称","searchTable.columns.enablement":"赋能项目","searchTable.columns.type":"人员类型","searchTable.columns.study":"研究所","searchTable.columns.role":"角色","searchTable.columns.updatesperson":"最后更新人","searchTable.columns.createdTime":"创建时间","searchTable.columns.status":"状态","searchTable.columns.operations":"操作","searchTable.columns.operations.view":"查看","searchTable.columns.operations.delete":"删除","searchTable.collapse.restores":"还原","searchTable.collapse.full":"全屏"},localeStepForm={"menu.form.step":"分步表单","stepForm.button.submit":"创建","stepForm.button.cancel":"取消","stepForm.button.restore":"重置","stepForm.probation.day":"天","stepForm.coaching.process":"辅导流程","stepForm.start.date":"劳动合同开始日期","stepForm.end.date":"劳动合同结束日期","stepForm.probation.period":"试用期时长","stepForm.probation.start":"试用起止日期","stepForm.recruitment.type":"招聘类型","stepForm.recruitment.position":"职位","stepForm.recruitment.department":"所属部门","stepForm.start.coaching":"启动辅导","stepForm.immediate.supervisor":"录入主管","stepForm.overall.goals":"制定整体目标","stepForm.overall.summary":"提交整体总结","stepForm.overall.end":"结束","stepForm.collapse.base":"辅导基本信息","stepForm.collapse.supervisor":"录入主管","stepForm.collapse.goals":"制定整体目标","stepForm.collapse.summary":"提交整体总结","stepForm.coach.position":"培养职位","stepForm.coach.culture":"培养部门","stepForm.coach.mentor":"导师","stepForm.coach.startTime":"实际辅导开始日期","stepForm.coach.endTime":"实际辅导结束日期","stepForm.dire.supervisor":"导师主管","stepForm.dire.remarks":"导师信息备注","stepForm.dire.startTime":"开始辅导日期","stepForm.dire.endTime":"结束辅导日期","stepForm.target.list":"目标列表","stepForm.target.sure":"确立目标","stepForm.sum.self":"自我总结","stepForm.error.target":"右侧至少存在一项","stepForm.head.admin":"用户名"},localeBaseForm={"menu.form.base":"基础表单","baseForm.form.label.no":"否","baseForm.form.label.yes":"是","baseForm.form.label.placeholder":"请选择","baseForm.form.label.frequencyone":"按月","baseForm.form.label.frequencytwo":"按周","baseForm.form.label.frequencythree":"按双周","baseForm.form.label.frequencyfour":"按季度","baseForm.form.label.personone":"本地员工","baseForm.form.label.persontwo":"非雇员","baseForm.form.label.personthree":"中方员工","baseForm.form.label.projectone":"制造部新员工培训","baseForm.form.label.projecttwo":"公司新员工上岗辅导","baseForm.form.label.projectthree":"UI自动化测试辅导项目","baseForm.form.label.people":"适用人群","baseForm.form.label.rank":"职级","baseForm.form.label.type":"人员类型","baseForm.form.label.business":"业务属性","baseForm.form.label.Objectives":"整体目标","baseForm.form.label.culture":"培养部门","baseForm.form.label.develop":"制定","baseForm.form.label.developone":"学员","baseForm.form.label.developtwo":"导师","baseForm.form.label.effective":"生效条件","baseForm.form.label.effectiveone":"无需审批直接生效","baseForm.form.label.effectivetwo":"导师审批","baseForm.form.label.effectivethree":"直接主管审批","baseForm.form.label.effectivefour":"导师,直接主管审批","baseForm.form.label.plan":"阶段计划","baseForm.form.label.confirm":"是否需制定","baseForm.form.label.frequency":"制定频次","baseForm.form.label.role":"目标制定角色","baseForm.form.label.roleone":"学员","baseForm.form.label.roletwo":"导师","baseForm.form.label.condition":"目标生效条件","baseForm.form.label.conditionone":"无需审批直接生效","baseForm.form.label.conditiontwo":"导师审批","baseForm.form.label.conditionthree":"直接主管审批","baseForm.form.label.conditionfour":"导师,直接主管审批","baseForm.form.label.staged":"阶段评价","baseForm.form.label.stagedone":"仅需导师评价","baseForm.form.label.stagedtwo":"仅需直接主管评价","baseForm.form.label.stagedthree":"需导师,直接主管评价","baseForm.form.label.wholeconfirm":"是否需制定","baseForm.form.label.evaluation":"整体评价","baseForm.form.label.evaluationyes":"需要导师,直接主管评价","baseForm.form.label.evaluationno":"不需要导师,直接主管评价","baseForm.form.label.mentortitle":"导师选择","baseForm.form.label.mentortip":"从导师资源池只能选择导师资格有效的导师,如不从导师资源池选择则不对导师做导师基础资质校验。","baseForm.form.label.mentor":"是否仅从导师资源池选择导师","baseForm.form.label.remindertitle":"辅导沟通记录提醒","baseForm.form.label.reminder":"是否需要提醒","baseForm.form.submit":"提交","baseForm.form.submit.success":"表单提交成功","baseForm.form.cancel":"取消","baseForm.form.submit.error":"请先完成必填项","baseForm.form.record":"版本记录","baseForm.form.project":"项目类型","baseForm.form.get.error":"获取数据失败"},localeDetailForm={"menu.plan.department":"培养部门","menu.plan.resource":"人力资源管理部","menu.plan.job":"职级","menu.plan.person":"人员类型","menu.plan.attribute":"业务属性","menu.plan.develop":"是否需制定","menu.plan.yes":"是","menu.plan.no":"否","menu.plan.role":"制定角色","menu.plan.mentor":"导师","menu.plan.condition":"生效条件","menu.plan.approval":"直接主管审批","menu.plan.frequency":"制定频次","menu.plan.month":"按月","menu.plan.goal":"目标制定角色","menu.plan.trainees":"学员","menu.plan.teacher":"导师审批","menu.plan.phase":"阶段评价","menu.plan.evaluation":"需导师、直接主管评价","menu.plan.whole":"整体评价","menu.plan.pool":"是否仅从导师资源池选择导师","menu.plan.time":"更新时间","menu.plan.version":"版本号","menu.plan.operation":"操作","menu.plan.updated":"更新人","baseForm.form.label.type":"项目类型"},localeSuccess={"menu.result.success":"成功页","success.result.title":"提交结果页用于反馈一系列操作任务的处理结果。","menu.result.messageSuccess":"辅导流程提交成功!","menu.result.messageEnd":"辅导流程已提交结束!","menu.btn.submit":"启动新的辅导","menu.btn.cancel":"取消","menu.line.process":"当前进度"},localeError={"menu.result.error":"失败页","error.result.title":"提交结果页用于反馈一系列操作任务的处理结果。","menu.result.messageError":"辅导流程提交失败","error.result.home":"回到首页"},locale403={"menu.exception.403":"403","exception.result.403.description":"对不起,您没有访问该资源的权限","exception.result.403.back":"返回","exception.result.permissions.403":"请联系管理员,申请权限。"},locale404={"menu.exception.404":"404","exception.result.404.description":"抱歉,页面不见了~","exception.result.404.retry":"重试","exception.result.404.back":"返回","exception.result.permissions.404":"请查看网络连接情况,尝试刷新页面"},locale500={"menu.exception.500":"500","exception.result.500.description":"抱歉,服务器出了点问题~","exception.result.500.back":"返回","exception.result.permissions.500":"请查看网络连接情况,尝试刷新页面"},localeUserInfo={"menu.user.info":"用户中心","userInfo.tab.one":"我的计划","userInfo.tab.two":"我的任务","userInfo.filter.sort":"按时间排序","userInfo.filter.startTime":"开始日期","userInfo.filter.endTime":"结束日期","userInfo.end.positiveOrder":"按截止时间正序","userInfo.end.reverseOrder":"按截止时间逆序","userInfo.start.positiveOrder":"按开始时间正序","userInfo.start.reverseOrder":"按开始时间逆序","userInfo.btn.search":"查询","userInfo.btn.reset":"重置","userInfo.status.status":"状态","userInfo.status.optionA":"已完成","userInfo.status.optionB":"已逾期","userInfo.status.optionC":"即将逾期","userInfo.status.optionD":"未完成","userInfo.type.type":"类型","userInfo.type.optionA":"组织安排","userInfo.type.optionB":"阶段计划","userInfo.type.optionC":"自主学习","userInfo.table.columnA":"计划名称","userInfo.table.columnB":"完成时间","userInfo.table.columnC":"状态","userInfo.table.columnD":"类型","userInfo.week.1":"入职2周","userInfo.month.1":"入职1个月","userInfo.month.2":"入职2个月","userInfo.month.3":"入职3个月","userInfo.month.4":"入职4个月","userInfo.month.5":"入职5个月","userInfo.month.6":"入职6个月","userInfo.month.7":"入职7个月","userInfo.month.8":"入职8个月","userInfo.month.9":"入职9个月","userInfo.month.10":"入职10个月","userInfo.month.11":"入职11个月","userInfo.month.12":"入职12个月","userInfo.month.13":"入职13个月","userInfo.month.14":"入职14个月","userInfo.month.15":"入职15个月","userInfo.month.16":"入职16个月","userInfo.month.17":"入职17个月","userInfo.time.message":"结束时间小于开始时间","userInfo.filter.all":"请完善当前所有筛选条件"},localeUserSetting={"menu.user.setting":"用户设置","userSetting.save":"保存","userSetting.cancel":"取消","userSetting.department":"所属部门:","userSetting.position":"职位:","userSetting.type":"招聘类型:","userSetting.date":"试用起止日期:","userSetting.during":"试用期时长:","userSetting.startTime":"劳动合同开始日期:","userSetting.endTime":"劳动合同结束日期:","userSetting.first":"开始时间","userSetting.last":"结束时间"},localekanban={"menu.user.info":"用户中心","work.mock.employees":"转岗员工","work.mock.onboard":"新员工上岗","work.mock.Test":"测试辅导","work.mock.week1":"零促实践(1周)","work.mock.week2":"零促实践(2周)","work.mock.week3":"零促实践(3周)","work.mock.network":"网络实践","work.mock.centralized":"新员工集中培训","work.mock.hardware":"硬装实践","work.index.learn":"学习规划","work.index.coach":"学习辅导","work.index.formalization":"学习转正","work.index.practiced":"学习实践","work.index.train":"学习集训","work.index.Inquiry":"生活小助手","work.index.Home":"新员工之家","work.index.Guide":"操作指导","work.index.plans":"待制定/确认计划数","work.index.Unfinished":"未完成","work.index.beOverdue":"即将逾期数","work.index.Overdue":"已逾期","work.index.trainees":"待启动辅导学员数","work.index.coachNum":"辅导中学员数","work.index.allocated":"待分配学员数","work.index.start":"待启动实践学员数","work.index.practice":"实践中学员数","work.index.unpark":"待启动转正","work.index.entered":"待录入评价结果","work.index.approved":"待审批评价结果","work.index.put":"实践中学员数","work.index.assign":"待分配学员数","work.index.prepare":"准备开班班级","work.index.open":"开班中班班级","work.index.classes":"待验收班级数","work.index.policy":"政策","work.index.Period":"新员工试用期及培养政策流程","work.index.Hotline":"热线","work.index.service":"各类实用热线服","work.index.Attendance":"考勤","work.index.FAQs":"考勤制度及常见问题答疑","work.index.Payroll":"发薪","work.index.Tax":"发薪纳税问答","work.index.Brave":"勇敢新世界登陆计划","work.index.Growth":"新员工100天成长指南","work.index.Termbase":"术语库","work.index.lingo":"最新最热术语,助您懂行话","work.index.Library":"文档库与社区","work.index.domain":"业务领域知识文档库","work.index.platform":"在线学习平台","work.index.learning":"在线学习","work.index.Operation":"新员工之家操作指导","work.index.Numbers":"个","work.index.Person":"人","work.index.net":"网络","work.index.netonline":"在线咨询","home.main.one":"首屏可见","home.main.up":"页面Onload","home.main.down":"采样PV","home.main.day":"较昨日","home.curve.trend":"性能趋势","home.curve.play":"首屏可见","home.curve.page":"页面Onload","home.falls.line":"加载瀑布流","home.falls.tcp":"TCP链接","home.falls.ssl":"SSL链接","home.round.title":"网络速度分布","home.round.unknow":"未知","home.roundtable.index":"序号","home.roundtable.space":"网络速度","home.roundtable.pv":"采样PV(占比)","home.roundtable.play":"首屏可见","home.roundtable.page":"页面Onload","home.region.title":"地域分布"},localeHello={"menu.cloud.hello":"Hello World"},localeContracts={"menu.cloud.locate.problems":"问题定位","menu.cloud.contracts":"合同管理","menu.cloud.create":"创建合同","menu.cloud.edit":"编辑合同","menu.cloud.del":"删除合同","menu.cloud.name":"项目名称:","menu.cloud.id":"合同编号","menu.cloud.customer":"客户名称:","menu.cloud.description":"项目描述:","menu.cloud.updatedAt":"创建时间","menu.cloud.editOpa":"编辑","menu.cloud.editDel":"删除","menu.cloud.registerErro":"项目名称不满足校验规则","menu.cloud.sure":"确认","menu.cloud.cancel":"取消","menu.cloud.tip":"支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。","menu.cloud.askDel":"您确定要删除以下","menu.cloud.askContracts":"合同","menu.cloud.askInput":"输入","menu.cloud.askSure":"确认","menu.cloud.verification":"校验不通过","menu.cloud.editpass":"校验通过, 修改成功","menu.cloud.delpass":"删除成功","menu.contracts.name":"合同名称为:"},localeSettings={"settings.title":"页面配置","settings.themeColor":"主题色","settings.content":"内容区域","settings.search":"搜索","settings.language":"语言","settings.navbar":"简约模式","settings.menuWidth":"菜单宽度 (px)","settings.navbar.alerts":"消息通知","settings.navbar.help":"帮助中心","settings.menu":"经典模式","settings.tabBar":"多页签","settings.footer":"时尚模式","settings.colorWeek":"主题配置","settings.alertContent":'配置之后仅是临时生效,要想真正作用于项目,点击下方的 "复制配置" 按钮,将配置替换到 settings.json 中即可。',"settings.copySettings":"复制配置","settings.copySettings.message":"复制成功,请粘贴到 src/settings.json 文件中","settings.close":"关闭","settings.color.tooltip":"根据主题颜色生成的 10 个梯度色(将配置复制到项目中,主题色才能对亮色 / 暗黑模式同时生效)","setting.user.set":"用户设置","setting.loginout":"登出成功","setting.copy":"复制成功","setting.input.search":"请输入关键词","setting.foot.title":"OpenTiny 出品","setting.mode.navbar":"收起页头,页尾","setting.mode.menu":"收起菜单","setting.mode.footer":"收起页脚"},localeHttpError={"http.error.TokenExpire":"登录过期,请重新登录","http.error.UserNotFound":"用户不存在","http.error.UserAlreadyExist":"用户已存在","http.error.InvalidParameter":"无效的请求参数","http.error.InternalError":"服务器错误","http.error.ErrorPassword":"账号或密码错误"},cn={"menu.board":"看板","menu.home":"监控页","menu.work":"工作台","menu.list":"列表页","menu.result":"结果页","menu.exception":"异常页","menu.form":"表单页","menu.profile":"详情页","menu.profile.detail":"基础详情页","menu.visualization":"数据可视化","menu.user":"个人中心","navbar.docs":"文档中心","navbar.action.locale":"切换为中文","messageBox.switchRoles":"切换角色","messageBox.userCenter":"用户中心","messageBox.userSettings":"用户设置","messageBox.logout":"退出登录","menu.cloud":"云服务能力展示",...localeTheme,...localeSettings,...localeLogin,...localeSearchTable,...localeStepForm,...localeBaseForm,...localeSuccess,...localeError,...locale403,...locale404,...locale500,...localeUserInfo,...localeUserSetting,...localeDetailForm,...localekanban,...localeHello,...localeContracts,...localeHttpError},LOCALE_OPTIONS=[{label:"中文",value:"zhCN"},{label:"English",value:"enUS"}],i18nmode=ee=>(ee.legacy=!1,createI18n(ee)),i18n=ee=>index$1f.initI18n({globalInjection:!0,i18n:ee,createI18n:i18nmode,messages:{enUS:en,zhCN:cn}});function useLocale(){const ee=useI18n();return{currentLocale:computed(()=>ee.locale.value),changeLocale:ne=>{ee.locale.value=ne,localStorage.setItem("tiny-locale",ne)}}}function useUser(){const{t:ee}=useI18n(),te=useRouter$1(),ae=useUserStore();return{logout:async ie=>{await ae.logout();const oe=te.currentRoute.value;TINYModal.message({message:ee("setting.loginout"),status:"success"}),te.push({name:ie&&typeof ie=="string"?ie:"login",query:{...te.currentRoute.value.query,redirect:oe.name}})}}}const _withScopeId$2=ee=>(pushScopeId("data-v-a3b2c611"),ee=ee(),popScopeId(),ee),_hoisted_1$4={class:"navbar"},_hoisted_2$4=_withScopeId$2(()=>createBaseVNode("div",{class:"divider"},null,-1)),_hoisted_3$3=_withScopeId$2(()=>createBaseVNode("img",{class:"vue-icon",alt:"logo",src:_imports_0$1},null,-1)),_hoisted_4$3=_withScopeId$2(()=>createBaseVNode("h4",null,"TinyPro of Vue",-1)),_hoisted_5$3={class:"right-side"},_hoisted_6$3=["placeholder"],_hoisted_7$3=_withScopeId$2(()=>createBaseVNode("li",null,[createBaseVNode("div",{class:"divider"})],-1)),_hoisted_8$1={key:0},_hoisted_9$1={key:1},_hoisted_10$1=_withScopeId$2(()=>createBaseVNode("img",{src:_imports_2,alt:"lan",class:"navbar-lan"},null,-1)),_hoisted_11={key:2,class:"trigger-lan"},_hoisted_12=["value","onClick"],_hoisted_13={class:"navbar-user"},_hoisted_14=_withScopeId$2(()=>createBaseVNode("div",{class:"user-image"},[createBaseVNode("img",{src:_imports_3,alt:"user"})],-1)),_hoisted_15={class:"trigger-user"},_hoisted_16=["value","onClick"],_sfc_main$6=defineComponent$1({__name:"index",setup(ee){const te=useI18n(),ae=index$K(),ne=index$F(),ie=index$1b(),oe=index$D(),se=ref(!1),le=useAppStore(),ue=useUserStore(),{logout:ce}=useUser(),{changeLocale:de}=useLocale(),he=[...LOCALE_OPTIONS],fe=()=>{se.value=!se.value},pe=()=>{window.location.href=`${window.location.protocol}//${window.location.host}/vue-pro/docs/start`},ve=()=>{le.updateSettings({Settings:!0})},ge=[{label:"messageBox.switchRoles",value:1},{label:"messageBox.userCenter",value:2},{label:"messageBox.userSettings",value:3},{label:"messageBox.logout",value:4}],me=async()=>{const be=await ue.switchRoles();TINYModal.message({message:be,status:"success"})},ye=be=>{switch(be){case 1:me();break;case 2:router.push({name:"Info"});break;case 3:router.push({name:"Setting"});break;case 4:ce();break}},_e=()=>{window.location.href=`${window.location.protocol}//${window.location.host}`};return(be,xe)=>(openBlock(),createElementBlock("div",_hoisted_1$4,[createBaseVNode("div",{class:"left-side"},[createBaseVNode("div",{style:{display:"flex","align-items":"center"}},[createBaseVNode("img",{src:_imports_0$2,alt:"logo",onClick:_e}),createBaseVNode("h5",{onClick:_e},"OpenTiny"),_hoisted_2$4,_hoisted_3$3,_hoisted_4$3])]),createBaseVNode("ul",_hoisted_5$3,[createBaseVNode("li",null,[createBaseVNode("input",{id:"navbar-search",class:"input-icon",placeholder:be.$t("setting.input.search")},null,8,_hoisted_6$3)]),_hoisted_7$3,createBaseVNode("li",{onClick:fe},[unref(te).locale.value==="zhCN"?(openBlock(),createElementBlock("span",_hoisted_8$1,"中文")):(openBlock(),createElementBlock("span",_hoisted_9$1,"English")),_hoisted_10$1,se.value?(openBlock(),createElementBlock("div",_hoisted_11,[(openBlock(),createElementBlock(Fragment,null,renderList(he,($e,Se)=>createBaseVNode("li",{key:Se,value:$e.value,onClick:we=>unref(de)(he[Se].value)},toDisplayString($e.label),9,_hoisted_12)),64))])):createCommentVNode("",!0)]),createBaseVNode("li",null,[createBaseVNode("span",{onClick:pe},toDisplayString(be.$t("settings.navbar.help")),1)]),createBaseVNode("li",null,[createBaseVNode("span",{onClick:ve},toDisplayString(be.$t("settings.title")),1)]),createBaseVNode("li",_hoisted_13,[createVNode$1(unref(UserHead),{type:"icon",round:"",min:""},{default:withCtx(()=>[_hoisted_14]),_:1}),createBaseVNode("div",_hoisted_15,[(openBlock(),createElementBlock(Fragment,null,renderList(ge,($e,Se)=>createBaseVNode("li",{key:Se,value:$e.label,onClick:we=>ye($e.value)},[$e.value===1?(openBlock(),createBlock(unref(ae),{key:0})):createCommentVNode("",!0),$e.value===2?(openBlock(),createBlock(unref(ne),{key:1})):createCommentVNode("",!0),$e.value===3?(openBlock(),createBlock(unref(oe),{key:2})):createCommentVNode("",!0),$e.value===4?(openBlock(),createBlock(unref(ie),{key:3})):createCommentVNode("",!0),createTextVNode(" "+toDisplayString(be.$t($e.label)),1)],8,_hoisted_16)),64))])])])]))}}),index_vue_vue_type_style_index_0_scoped_a3b2c611_lang="",index_vue_vue_type_style_index_1_scoped_a3b2c611_lang="",NavBar=_export_sfc(_sfc_main$6,[["__scopeId","data-v-a3b2c611"]]),DefaultTheme={id:"tiny-default-theme",name:"DefaultTheme",data:{"ti-base-color-brand-6":"#5e7ce0","ti-base-color-brand-8":"#344899","ti-base-color-brand-7":"#526ecc","ti-base-color-brand-5":"#7693f5","ti-base-color-brand-4":"#96adfa","ti-base-color-brand-3":"#5e7ce0","ti-base-color-brand-2":"#e9edfa","ti-base-color-brand-1":"#f2f5fc","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#526ecc","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},DarkTheme={id:"tiny-dark-theme",name:"DarkTheme",data:{"ti-base-color-brand-6":"#5e7ce0","ti-base-color-brand-8":"#344899","ti-base-color-brand-7":"#000","ti-base-color-brand-5":"#7693f5","ti-base-color-brand-4":"#96adfa","ti-base-color-brand-3":"#5e7ce0","ti-base-color-brand-2":"#edf2f6","ti-base-color-brand-1":"#f2f5fc","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#edf2f6","ti-button-primary-normal-bg-color":"#5e7ce0","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},PeachesTheme={id:"tiny-peaches-theme",name:"PeachesTheme",data:{"ti-base-color-brand-1":"#f3dfe9","ti-base-color-brand-2":"#f3dfe9;","ti-base-color-brand-3":"#ec66ab;","ti-base-color-brand-4":"#ec66ab;","ti-base-color-brand-5":"#ec66ab;","ti-base-color-brand-6":"#ec66ab;","ti-base-color-brand-7":"#ec66ab;","ti-base-color-brand-8":"#ec66ab;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#ec66ab","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},VioletTheme={id:"tiny-violet-theme",name:"VioletTheme",data:{"ti-base-color-brand-1":"#F3F1FD;","ti-base-color-brand-2":"#F3F1FD;","ti-base-color-brand-3":"#7b69ee;","ti-base-color-brand-4":"#7b69ee;","ti-base-color-brand-5":"#7b69ee;","ti-base-color-brand-6":"#7b69ee;","ti-base-color-brand-7":"#7b69ee;","ti-base-color-brand-8":"#7b69ee;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#7b69ee","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},DeepnessTheme={id:"tiny-deepness-theme",name:"DeepnessTheme",data:{"ti-base-color-brand-1":"#e9ebf1;","ti-base-color-brand-2":"#e9ebf1;","ti-base-color-brand-3":"#252b3a;","ti-base-color-brand-4":"#252b3a;","ti-base-color-brand-5":"#252b3a;","ti-base-color-brand-6":"#252b3a;","ti-base-color-brand-7":"#252b3a;","ti-base-color-brand-8":"#252b3a;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#252b3a","ti-base-common-title-color":"#272727"}},Theme6={id:"tiny-theme-6",name:"Theme6",data:{"ti-base-color-brand-1":"#edf2f6;","ti-base-color-brand-2":"#edf2f6;","ti-base-color-brand-3":"#343a40;","ti-base-color-brand-4":"#343a40;","ti-base-color-brand-5":"#343a40;","ti-base-color-brand-6":"#343A40;","ti-base-color-brand-7":"#343a40;","ti-base-color-brand-8":"#343a40;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#343a40","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme7={id:"tiny-theme-7",name:"Theme7",data:{"ti-base-color-brand-1":"#e5e8f5;","ti-base-color-brand-2":"#e5e8f5;","ti-base-color-brand-3":"#25316c;","ti-base-color-brand-4":"#25316c;","ti-base-color-brand-5":"#25316c;","ti-base-color-brand-6":"#25316c;","ti-base-color-brand-7":"#25316c;","ti-base-color-brand-8":"#25316c;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#25316c","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme8={id:"tiny-theme-8",name:"Theme8",data:{"ti-base-color-brand-1":"#f7f4fc;","ti-base-color-brand-2":"#f7f4fc;","ti-base-color-brand-3":"#673ab7;","ti-base-color-brand-4":"#673ab7;","ti-base-color-brand-5":"#673ab7;","ti-base-color-brand-6":"#673ab7;","ti-base-color-brand-7":"#673ab7;","ti-base-color-brand-8":"#673ab7;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#673ab7","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme9={id:"tiny-theme-9",name:"Theme9",data:{"ti-base-color-brand-1":"#f0f4ff;","ti-base-color-brand-2":"#f0f4ff;","ti-base-color-brand-3":"#4f7dff;","ti-base-color-brand-4":"#4f7dff;","ti-base-color-brand-5":"#4f7dff;","ti-base-color-brand-6":"#4f7dff;","ti-base-color-brand-7":"#4f7dff;","ti-base-color-brand-8":"#4f7dff;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#4f7dff","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme10={id:"tiny-theme-10",name:"Theme10",data:{"ti-base-color-brand-1":"#f4fcf7;","ti-base-color-brand-2":"#f4fcf7;","ti-base-color-brand-3":"#4daf77;","ti-base-color-brand-4":"#4daf77;","ti-base-color-brand-5":"#4daf77;","ti-base-color-brand-6":"#4daf77;","ti-base-color-brand-7":"#4daf77;","ti-base-color-brand-8":"#4daf77;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#4daf77","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme11={id:"tiny-theme-11",name:"Theme11",data:{"ti-base-color-brand-1":"#f5faf0;","ti-base-color-brand-2":"#f5faf0;","ti-base-color-brand-3":"#5faa15;","ti-base-color-brand-4":"#5faa15;","ti-base-color-brand-5":"#5faa15;","ti-base-color-brand-6":"#5faa15;","ti-base-color-brand-7":"#5faa15;","ti-base-color-brand-8":"#5faa15;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#5faa15","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme12={id:"tiny-theme-12",name:"Theme12",data:{"ti-base-color-brand-1":"#fff9f5;","ti-base-color-brand-2":"#fff9f5;","ti-base-color-brand-3":"#ff6a0b;","ti-base-color-brand-4":"#ff6a0b;","ti-base-color-brand-5":"#ff6a0b;","ti-base-color-brand-6":"#ff6a0b;","ti-base-color-brand-7":"#ff6a0b;","ti-base-color-brand-8":"#ff6a0b;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#ff6a0b","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme13={id:"tiny-theme-13",name:"Theme13",data:{"ti-base-color-brand-1":"#fff7f8;","ti-base-color-brand-2":"#fff7f8;","ti-base-color-brand-3":"#f36b7f;","ti-base-color-brand-4":"#f36b7f;","ti-base-color-brand-5":"#f36b7f;","ti-base-color-brand-6":"#f36b7f;","ti-base-color-brand-7":"#f36b7f;","ti-base-color-brand-8":"#f36b7f;","ti-tree-menu-node-current-text-color":"#fff","ti-tree-menu-square-left-border-color":"#fff","ti-tree-menu-node-hover-bg-color":"#f36b7f","ti-base-common-title-color":"#272727","ti-base-icon-color":"#fff"}},Theme14={id:"tiny-theme-14",name:"Theme14",data:{"ti-base-color-brand-1":"#edf2f6;","ti-base-color-brand-2":"#edf2f6;","ti-base-color-brand-3":"#343a40;","ti-base-color-brand-4":"#343a40;","ti-base-color-brand-5":"#343a40;","ti-base-color-brand-6":"#343a40;","ti-base-color-brand-7":"#343a40;","ti-base-color-brand-8":"#343a40;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#edf2f6","ti-button-primary-normal-bg-color":"#edf2f6","ti-button-primary-text-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme15={id:"tiny-theme-15",name:"Theme15",data:{"ti-base-color-brand-1":"#e5e8f5;","ti-base-color-brand-2":"#e5e8f5;","ti-base-color-brand-3":"#25316c;","ti-base-color-brand-4":"#25316c;","ti-base-color-brand-5":"#25316c;","ti-base-color-brand-6":"#25316c;","ti-base-color-brand-7":"#25316c;","ti-base-color-brand-8":"#25316c;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#e5e8f5","ti-button-primary-normal-bg-color":"#e5e8f5","ti-button-primary-text-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme16={id:"tiny-theme-16",name:"Theme16",data:{"ti-base-color-brand-1":"#f7f4fc;","ti-base-color-brand-2":"#f7f4fc;","ti-base-color-brand-3":"#673ab7;","ti-base-color-brand-4":"#673ab7;","ti-base-color-brand-5":"#673ab7;","ti-base-color-brand-6":"#673ab7;","ti-base-color-brand-7":"#673ab7;","ti-base-color-brand-8":"#673ab7;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#673ab7","ti-button-primary-normal-bg-color":"#673ab7","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme17={id:"tiny-theme-17",name:"Theme17",data:{"ti-base-color-brand-1":"#f0f4ff;","ti-base-color-brand-2":"#f0f4ff;","ti-base-color-brand-3":"#4f7dff;","ti-base-color-brand-4":"#4f7dff;","ti-base-color-brand-5":"#4f7dff;","ti-base-color-brand-6":"#4f7dff;","ti-base-color-brand-7":"#4f7dff;","ti-base-color-brand-8":"#4f7dff;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#4f7dff","ti-button-primary-normal-bg-color":"#4f7dff","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme18={id:"tiny-theme-18",name:"Theme18",data:{"ti-base-color-brand-1":"#f4fcf7;","ti-base-color-brand-2":"#f4fcf7;","ti-base-color-brand-3":"#4daf77;","ti-base-color-brand-4":"#4daf77;","ti-base-color-brand-5":"#4daf77;","ti-base-color-brand-6":"#4daf77;","ti-base-color-brand-7":"#4daf77;","ti-base-color-brand-8":"#4daf77;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#4daf77","ti-button-primary-normal-bg-color":"#4daf77","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme19={id:"tiny-theme-19",name:"Theme19",data:{"ti-base-color-brand-1":"#f5faf0;","ti-base-color-brand-2":"#f5faf0;","ti-base-color-brand-3":"#5faa15;","ti-base-color-brand-4":"#5faa15;","ti-base-color-brand-5":"#5faa15;","ti-base-color-brand-6":"#5faa15;","ti-base-color-brand-7":"#5faa15;","ti-base-color-brand-8":"#5faa15;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#5faa15","ti-button-primary-normal-bg-color":"#5faa15","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme20={id:"tiny-theme-20",name:"Theme20",data:{"ti-base-color-brand-1":"#fff9F5;","ti-base-color-brand-2":"#fff9F5;","ti-base-color-brand-3":"#ff6a0b;","ti-base-color-brand-4":"#ff6a0b;","ti-base-color-brand-5":"#ff6a0b;","ti-base-color-brand-6":"#ff6a0b;","ti-base-color-brand-7":"#ff6a0b;","ti-base-color-brand-8":"#ff6a0b;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#ff6a0b","ti-button-primary-normal-bg-color":"#ff6a0b","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},Theme21={id:"tiny-theme-21",name:"Theme21",data:{"ti-base-color-brand-1":"#fff7F8;","ti-base-color-brand-2":"#fff7F8;","ti-base-color-brand-3":"#f36b7f;","ti-base-color-brand-4":"#f36b7f;","ti-base-color-brand-5":"#f36b7f;","ti-base-color-brand-6":"#f36b7f;","ti-base-color-brand-7":"#f36b7f;","ti-base-color-brand-8":"#f36b7f;","ti-tree-menu-node-current-text-color":"#000","ti-tree-menu-node-hover-bg-color":"#f36b7f","ti-button-primary-normal-bg-color":"#f36b7f","ti-button-primary-text-color":"#000","ti-tree-menu-square-left-border-color":"#000","ti-base-common-title-color":"#000","ti-base-icon-color":"#252b3a"}},SwitchlightColor=[{value:1,color:"#343a40",dark:"light",theme:Theme6},{value:2,color:"#25316c",dark:"light",theme:Theme7},{value:3,color:"#673ab7",dark:"light",theme:Theme8},{value:4,color:"#4f7dff",dark:"light",theme:Theme9},{value:5,color:"#4daf77",dark:"light",theme:Theme10},{value:6,color:"#5faa15",dark:"light",theme:Theme11},{value:7,color:"#ff6a0d",dark:"light",theme:Theme12},{value:8,color:"#f36b7f",dark:"light",theme:Theme13}],SwitchdarkColor=[{value:9,color:"#343a40",dark:"dark",theme:Theme14},{value:10,color:"#25316c",dark:"dark",theme:Theme15},{value:11,color:"#673ab7",dark:"dark",theme:Theme16},{value:12,color:"#4f7dff",dark:"dark",theme:Theme17},{value:13,color:"#4daf77",dark:"dark",theme:Theme18},{value:14,color:"#5faa15",dark:"dark",theme:Theme19},{value:15,color:"#ff6a0d",dark:"dark",theme:Theme20},{value:16,color:"#f36b7f",dark:"dark",theme:Theme21}],_hoisted_1$3={class:"theme-content"},_hoisted_2$3={class:"theme-container"},_hoisted_3$2={class:"theme-recommend"},_hoisted_4$2=["onClick"],_hoisted_5$2={class:"theme-tip"},_hoisted_6$2={class:"theme-person"},_hoisted_7$2={class:"theme-line"},_hoisted_8=["onClick"],_hoisted_9={class:"theme-line"},_hoisted_10=["onClick"],_sfc_main$5=defineComponent$1({__name:"index",setup(ee){const te=[{val:"1",title:"theme.title.default",content:"theme-text-default",color:"default"},{val:"2",title:"theme.title.honey",content:"theme-text-honey",color:"peaches"},{val:"3",title:"theme.title.violet",content:"theme-text-violet",color:"violet"},{val:"4",title:"theme.title.deepness",content:"theme-text-deepness",color:"deepness"},{val:"5",title:"theme.title.deep",content:"theme-text-dark",color:"dark"}],ae=index$C(),ne=useAppStore();let ie=document.documentElement,oe=new TinyThemeTool;onMounted(()=>{ne.themelist==="none"&&(oe.changeTheme(ne.themeLightColors.theme),ne.theme=ne.themeLightColors.dark)});const se=ue=>{switch(ne.updateSettings({themeValue:0}),ue.val){case"2":ne.updateSettings({theme:"light"}),oe.changeTheme(PeachesTheme),ne.updateSettings({themelist:"peaches"});break;case"3":ne.updateSettings({theme:"light"}),oe.changeTheme(VioletTheme),ne.updateSettings({themelist:"violet"});break;case"4":ne.updateSettings({theme:"light"}),oe.changeTheme(DeepnessTheme),ne.updateSettings({themelist:"deepness"});break;case"5":ne.updateSettings({theme:"dark"}),oe.changeTheme(DarkTheme),ne.updateSettings({themelist:"dark"});break;default:ne.updateSettings({theme:"light"}),oe.changeTheme(DefaultTheme),ne.updateSettings({themelist:"default"})}};watch(ne.$state,(ue,ce)=>{ue.theme==="dark"?ie.style.filter="invert(0.9) hue-rotate(180deg)":ie.style.filter="invert(0) hue-rotate(0deg)"});const le=ue=>{ne.themelist="none",ne.updateSettings({themeValue:ue.value}),oe.changeTheme(ue.theme),ne.theme=ue.dark,ne.setthemeLightColors(ue)};return watch(ne.$state,(ue,ce)=>{switch(ue.themelist){case"default":ne.updateSettings({theme:"light"}),oe.changeTheme(DefaultTheme);break;case"peaches":ne.updateSettings({theme:"light"}),oe.changeTheme(PeachesTheme);break;case"violet":ne.updateSettings({theme:"light"}),oe.changeTheme(VioletTheme);break;case"deepness":ne.updateSettings({theme:"light"}),oe.changeTheme(DeepnessTheme);break;case"dark":ne.updateSettings({theme:"dark"});break}},{immediate:!0}),(ue,ce)=>(openBlock(),createElementBlock("div",_hoisted_1$3,[createBaseVNode("div",_hoisted_2$3,[createBaseVNode("div",_hoisted_3$2,[createBaseVNode("h1",null,toDisplayString(ue.$t("theme-title-recommend")),1),(openBlock(),createElementBlock(Fragment,null,renderList(te,(de,he)=>createBaseVNode("div",{key:he,class:"theme-contain"},[createBaseVNode("div",{class:normalizeClass(de.color),onClick:fe=>se(de)},[createBaseVNode("h4",null,toDisplayString(ue.$t(de.title)),1),createBaseVNode("span",null,toDisplayString(ue.$t(de.content)),1),createBaseVNode("div",_hoisted_5$2,[createVNode$1(unref(ae),{class:normalizeClass(de.color===unref(ne).themelist?"theme-list-yes":"theme-list-no")},null,8,["class"])])],10,_hoisted_4$2)])),64))]),createBaseVNode("div",_hoisted_6$2,[createBaseVNode("h1",null,toDisplayString(ue.$t("theme.title.customization")),1),createBaseVNode("div",null,[createBaseVNode("span",null,toDisplayString(ue.$t("theme.title.light")),1),createBaseVNode("div",_hoisted_7$2,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(SwitchlightColor),de=>(openBlock(),createElementBlock("div",{key:de.value,class:"light"},[createBaseVNode("div",{class:"theme-block",style:normalizeStyle$2({"background-color":de.color}),onClick:he=>le(de)},[de.value===unref(ne).themeValue?(openBlock(),createBlock(unref(ae),{key:0,class:"theme-yes"})):createCommentVNode("",!0)],12,_hoisted_8)]))),128))])]),createBaseVNode("div",null,[createBaseVNode("span",null,toDisplayString(ue.$t("theme.title.deep")),1),createBaseVNode("div",_hoisted_9,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(SwitchdarkColor),de=>(openBlock(),createElementBlock("div",{key:de.value,class:"black"},[createBaseVNode("div",{class:"theme-block",style:normalizeStyle$2({"background-color":de.color}),onClick:he=>le(de)},[de.value===unref(ne).themeValue?(openBlock(),createBlock(unref(ae),{key:0,class:"theme-yes"})):createCommentVNode("",!0)],12,_hoisted_10)]))),128))])])])])]))}}),index_vue_vue_type_style_index_0_scoped_7eb3044e_lang="",Theme=_export_sfc(_sfc_main$5,[["__scopeId","data-v-7eb3044e"]]),_hoisted_1$2={class:"menu-router"},_hoisted_2$2={key:0,class:"menu-title"},_sfc_main$4=defineComponent$1({__name:"index",setup(ee){const te=index$15(),ae=index$_(),ne=index$I(),ie=index$G(),oe=index$16(),se=index$F(),le=index$Z(),ue=index$1d(),ce=ref(),de=ref(),he=[{value:"Board",name:"menu.board",icon:ue,bold:"main-title"},{value:"Home",name:"menu.home",icon:null,bold:"title"},{value:"Work",name:"menu.work",icon:null,bold:"title"},{value:"List",name:"menu.list",icon:ae,bold:"main-title"},{value:"Table",name:"menu.list.searchTable",icon:null,bold:"title"},{value:"Form",name:"menu.form",icon:ne,bold:"main-title"},{value:"Base",name:"menu.form.base",icon:null,bold:"title"},{value:"Step",name:"menu.form.step",icon:null,bold:"title"},{value:"Profile",name:"menu.profile",icon:le,bold:"main-title"},{value:"Detail",name:"menu.profile.detail",icon:null,bold:"title"},{value:"Result",name:"menu.result",icon:ie,bold:"main-title"},{value:"Success",name:"menu.result.success",icon:null,bold:"title"},{value:"Error",name:"menu.result.error",icon:null,bold:"title"},{value:"Cloud",name:"menu.cloud",icon:te,bold:"main-title"},{value:"Hello",name:"menu.cloud.hello",icon:null,bold:"title"},{value:"Contracts",name:"menu.cloud.contracts",icon:null,bold:"title"},{value:"Problems",name:"menu.cloud.locate.problems",icon:null,bold:"title"},{value:"Exception",name:"menu.exception",icon:oe,bold:"main-title"},{value:"403",name:"menu.exception.403",icon:null,bold:"title"},{value:"404",name:"menu.exception.404",icon:null,bold:"title"},{value:"500",name:"menu.exception.500",icon:null,bold:"title"},{value:"User",name:"menu.user",icon:se,bold:"main-title"},{value:"Info",name:"menu.user.info",icon:null,bold:"title"},{value:"Setting",name:"menu.user.setting",icon:null,bold:"title"}],fe=computed(()=>router.getRoutes().find(xe=>xe.name==="root")),pe=JSON.parse(JSON.stringify(fe.value.children));pe.sort((xe,$e)=>(xe.meta.order||0)-($e.meta.order||0));const ve=useUserStore(),ge=computed(()=>ve.role);let me=ref(pe);const ye=xe=>xe.filter($e=>($e.children&&($e.children=$e.children.filter(Se=>!Se.meta.hideInMenu),ye($e.children)),!$e.meta.hideInMenu)),_e=ye(me.value);watch(ge,xe=>{xe==="admin"?me.value=pe:me.value=pe.filter($e=>$e.name!=="User")},{immediate:!0}),onMounted(()=>{watch(()=>router.currentRoute.value.path,xe=>{const $e=xe.replace(/^.*\//,"").replace(/^[a-z]/,Se=>Se.toUpperCase());de.value=[$e],ce.value.setCurrentKey($e)},{immediate:!0})});const be=xe=>{["Exception","Form","Board","List","Profile","Result","User","Cloud"].indexOf(xe.id)===-1&&router.push({name:xe.id})};return(xe,$e)=>(openBlock(),createElementBlock("div",_hoisted_1$2,[createVNode$1(unref(TreeMenu),{ref_key:"tree",ref:ce,data:unref(_e),"show-filter":!1,"node-key":"id",wrap:"","default-expanded-keys":de.value,onCurrentChange:be},{default:withCtx(Se=>[(openBlock(),createElementBlock(Fragment,null,renderList(he,(we,Ae)=>(openBlock(),createElementBlock(Fragment,{key:Ae},[Se.label===we.value?(openBlock(),createElementBlock("span",_hoisted_2$2,[(openBlock(),createBlock(resolveDynamicComponent(we.icon))),createBaseVNode("span",{class:normalizeClass(we.bold)},toDisplayString(xe.$t(we.name)),3)])):createCommentVNode("",!0)],64))),64))]),_:1},8,["data","default-expanded-keys"])]))}}),index_vue_vue_type_style_index_0_scoped_64e0b812_lang="",Menu=_export_sfc(_sfc_main$4,[["__scopeId","data-v-64e0b812"]]),_sfc_main$3={};function _sfc_render(ee,te){const ae=resolveComponent("router-view");return openBlock(),createBlock(ae,null,{default:withCtx(({Component:ne,route:ie})=>[(openBlock(),createBlock(resolveDynamicComponent(ne),{key:ie.fullPath}))]),_:1})}const PageLayout=_export_sfc(_sfc_main$3,[["render",_sfc_render]]),_withScopeId$1=ee=>(pushScopeId("data-v-6254482e"),ee=ee(),popScopeId(),ee),_hoisted_1$1={class:"layout"},_hoisted_2$1={class:"layout-navbar"},_hoisted_3$1={class:"menu-wrapper"},_hoisted_4$1={class:"layout-footer"},_hoisted_5$1=_withScopeId$1(()=>createBaseVNode("img",{src:_imports_0$4},null,-1)),_hoisted_6$1=[_hoisted_5$1],_hoisted_7$1={key:0},_sfc_main$2=defineComponent$1({__name:"default-layout",setup(ee){useCssVars(ce=>({f449dce6:ne.value}));const te=useAppStore(),ae=ref("#fff"),ne=ref("10px"),ie=()=>{te.updateSettings({Settings:!0})},oe=ref("legend"),se=ref(!1),le=new TinyThemeTool,ue=()=>{se.value=!se.value};return watch(te.$state,(ce,de)=>{ce.navbar?ce.footer?ce.menu?oe.value="legend":oe.value="classic":oe.value="fashion":oe.value="simple",te.footer?ne.value="10px":ne.value="60px"}),watch(te.$state,(ce,de)=>{ce.theme==="dark"?ae.value="#262323;":ae.value="#fff;"}),onMounted(()=>{te.updateSettings({theme:"light"}),le.changeTheme(DefaultTheme),te.updateSettings({themelist:"default"})}),(ce,de)=>(openBlock(),createElementBlock("div",_hoisted_1$1,[createVNode$1(unref(Container),{"aside-width":250,pattern:oe.value},{header:withCtx(()=>[createVNode$1(unref(Layout),null,{default:withCtx(()=>[createBaseVNode("div",_hoisted_2$1,[createVNode$1(NavBar)])]),_:1})]),aside:withCtx(()=>[createVNode$1(unref(Layout),{class:"layout-sider"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_3$1,[createVNode$1(Menu)])]),_:1})]),footer:withCtx(()=>[createVNode$1(unref(Layout),null,{default:withCtx(()=>[createBaseVNode("div",_hoisted_4$1,[createVNode$1(Footer)])]),_:1})]),default:withCtx(()=>[createVNode$1(unref(Layout),{class:"layout-content"},{default:withCtx(()=>[createVNode$1(PageLayout)]),_:1})]),_:1},8,["pattern"]),createBaseVNode("div",{class:"theme-box",onClick:ue},_hoisted_6$1),se.value?(openBlock(),createElementBlock("div",_hoisted_7$1,[createVNode$1(unref(TINYModal),{modelValue:se.value,"onUpdate:modelValue":de[0]||(de[0]=he=>se.value=he),"lock-scroll":!0,"show-header":"","show-footer":"",title:ce.$t("theme.title.main"),"mask-closable":"true",height:"922",width:"748"},{default:withCtx(()=>[createVNode$1(Theme)]),footer:withCtx(()=>[]),_:1},8,["modelValue","title"])])):createCommentVNode("",!0),unref(te).navbar?createCommentVNode("",!0):(openBlock(),createElementBlock("img",{key:1,src:_imports_1,class:"global-setting",onClick:ie}))]))}}),defaultLayout_vue_vue_type_style_index_0_scoped_6254482e_lang="",DefaultLayout=_export_sfc(_sfc_main$2,[["__scopeId","data-v-6254482e"]]);var RoleType=(ee=>(ee.admin="admin",ee.user="user",ee))(RoleType||{}),ListType=(ee=>(ee.TYPE_LIST="List",ee.TYPE_LOGS="logs",ee))(ListType||{});const cloud={path:"cloud",name:"Cloud",id:"Cloud",label:"Cloud",component:()=>__vitePreload(()=>import("./index-c89d89f6.js"),["assets/index-c89d89f6.js","assets/vue-fdfdc7c1.js"]),meta:{locale:"menu.cloud",requiresAuth:!0,order:8,roles:[RoleType.admin,RoleType.user]},children:[{path:"hello",name:"Hello",id:"Hello",label:"Hello",component:()=>__vitePreload(()=>import("./index-071ac1b0.js"),["assets/index-071ac1b0.js","assets/vue-fdfdc7c1.js","assets/hwcClient.service-353ee9fe.js","assets/index-e55671bd.css"]),meta:{locale:"menu.cloud.hello",requiresAuth:!0,roles:[RoleType.admin]}},{path:"contracts",name:"Contracts",id:"Contracts",label:"Contracts",component:()=>__vitePreload(()=>import("./index-136c7623.js"),["assets/index-136c7623.js","assets/vue-fdfdc7c1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-cd31dfea.js","assets/index-3d632649.js","assets/index-51ecf215.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-c491dbf8.css","assets/warning-triangle-0392a7a8.js","assets/index-8accb5fa.css","assets/time-ae4bc627.js","assets/hwcClient.service-353ee9fe.js","assets/index-71dedec5.js","assets/index-6efc23fe.css","assets/index-5c60c43e.css"]),meta:{locale:"menu.cloud.contracts",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}},{path:"Problems",name:"Problems",id:"Problems",label:"Problems",component:()=>__vitePreload(()=>import("./index-b3eaa8bc.js"),["assets/index-b3eaa8bc.js","assets/vue-fdfdc7c1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-ebd49e8e.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-12c9c4e0.css","assets/index-71dedec5.js","assets/index-6efc23fe.css","assets/time-ae4bc627.js","assets/index-cd31dfea.js","assets/index-3d632649.js","assets/index-51ecf215.js","assets/index-c491dbf8.css","assets/warning-triangle-0392a7a8.js","assets/index-8accb5fa.css","assets/index-9288ff1b.css"]),meta:{locale:"menu.cloud.locate.problems",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}}]},__vite_glob_0_0=Object.freeze(Object.defineProperty({__proto__:null,default:cloud},Symbol.toStringTag,{value:"Module"})),exception={path:"exception",name:"Exception",id:"Exception",label:"Exception",component:()=>__vitePreload(()=>import("./index-e91edbd2.js"),["assets/index-e91edbd2.js","assets/vue-fdfdc7c1.js"]),meta:{locale:"menu.exception",requiresAuth:!0,order:6,roles:[RoleType.admin,RoleType.user]},children:[{path:"403",name:"403",id:"403",label:"403",component:()=>__vitePreload(()=>import("./index-ebc0c6f3.js"),["assets/index-ebc0c6f3.js","assets/vue-fdfdc7c1.js","assets/index-104cb32f.css"]),meta:{locale:"menu.exception.403",requiresAuth:!0,roles:[RoleType.admin]}},{path:"404",name:"404",id:"404",label:"404",component:()=>__vitePreload(()=>import("./index-c95fc632.js"),["assets/index-c95fc632.js","assets/vue-fdfdc7c1.js","assets/index-86d4e57b.css"]),meta:{locale:"menu.exception.404",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}},{path:"500",name:"500",id:"500",label:"500",component:()=>__vitePreload(()=>import("./index-8a87e29f.js"),["assets/index-8a87e29f.js","assets/vue-fdfdc7c1.js","assets/index-16fba89c.css"]),meta:{locale:"menu.exception.500",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}}]},__vite_glob_0_1=Object.freeze(Object.defineProperty({__proto__:null,default:exception},Symbol.toStringTag,{value:"Module"})),form={path:"form",name:"Form",id:"Form",label:"Form",component:()=>__vitePreload(()=>import("./index-4278f52e.js"),["assets/index-4278f52e.js","assets/vue-fdfdc7c1.js","assets/index-e7094ccc.css"]),meta:{locale:"menu.form",requiresAuth:!0,order:3,roles:[RoleType.admin]},children:[{path:"base",name:"Base",id:"Base",label:"Base",component:()=>__vitePreload(()=>import("./index-56b062af.js"),["assets/index-56b062af.js","assets/vue-fdfdc7c1.js","assets/index-cfcaf865.js","assets/index-0cc49d5e.css","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/form-d42ce413.js","assets/index-71dedec5.js","assets/index-6efc23fe.css","assets/index-51ecf215.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-c491dbf8.css","assets/index-bef6c761.css"]),meta:{locale:"menu.form.base",requiresAuth:!0,roles:[RoleType.admin]}},{path:"step",name:"Step",id:"Step",label:"Step",component:()=>__vitePreload(()=>import("./index-e0d614fd.js"),["assets/index-e0d614fd.js","assets/vue-fdfdc7c1.js","assets/index-694a71ab.js","assets/chevron-up-775d40e5.js","assets/index-adce738e.css","assets/index-c544811c.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/form-d42ce413.js","assets/index-ebd49e8e.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-12c9c4e0.css","assets/index-71dedec5.js","assets/index-6efc23fe.css","assets/index-51ecf215.js","assets/index-c491dbf8.css","assets/head-3486dd8f.js","assets/head-681d9bb4.css","assets/index-c51c020e.css"]),meta:{locale:"menu.form.step",requiresAuth:!0,roles:[RoleType.admin]}}]},__vite_glob_0_2=Object.freeze(Object.defineProperty({__proto__:null,default:form},Symbol.toStringTag,{value:"Module"})),kanban={path:"board",name:"Board",id:"Board",label:"Board",component:()=>__vitePreload(()=>import("./index-827f4a85.js"),["assets/index-827f4a85.js","assets/vue-fdfdc7c1.js"]),meta:{locale:"menu.board",requiresAuth:!0,order:1,roles:[RoleType.admin]},children:[{path:"home",name:"Home",id:"Home",label:"Home",component:()=>__vitePreload(()=>import("./index-639d8402.js"),["assets/index-639d8402.js","assets/vue-fdfdc7c1.js","assets/home-down-1ba808d1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-cd31dfea.js","assets/index-dbecc0bf.css"]),meta:{locale:"menu.board.home",requiresAuth:!0,roles:[RoleType.admin]}},{path:"work",name:"Work",id:"Work",label:"Work",component:()=>__vitePreload(()=>import("./index-068746c6.js"),["assets/index-068746c6.js","assets/vue-fdfdc7c1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-51ecf215.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-c491dbf8.css","assets/index-ae32e3e8.css"]),meta:{locale:"menu.board.work",requiresAuth:!0,roles:[RoleType.admin]}}]},__vite_glob_0_3=Object.freeze(Object.defineProperty({__proto__:null,default:kanban},Symbol.toStringTag,{value:"Module"})),list$1={path:"list",name:"List",id:"List",label:"List",component:()=>__vitePreload(()=>import("./index-2a2191fb.js"),["assets/index-2a2191fb.js","assets/vue-fdfdc7c1.js","assets/index-a677ee63.css"]),meta:{locale:"menu.list",requiresAuth:!0,order:2,roles:[RoleType.admin,RoleType.user]},children:[{path:"table",name:"Table",id:"Table",label:"Table",component:()=>__vitePreload(()=>import("./index-d03ed532.js"),["assets/index-d03ed532.js","assets/vue-fdfdc7c1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-71dedec5.js","assets/index-6efc23fe.css","assets/index-cd31dfea.js","assets/index-3d632649.js","assets/index-51ecf215.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-c491dbf8.css","assets/warning-triangle-0392a7a8.js","assets/index-8accb5fa.css","assets/index-9218ed04.css"]),meta:{locale:"menu.list.searchTable",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}}]},__vite_glob_0_4=Object.freeze(Object.defineProperty({__proto__:null,default:list$1},Symbol.toStringTag,{value:"Module"})),profile$1={path:"profile",name:"Profile",id:"Profile",label:"Profile",component:()=>__vitePreload(()=>import("./index-85c3afe5.js"),["assets/index-85c3afe5.js","assets/vue-fdfdc7c1.js"]),meta:{locale:"menu.profile",requiresAuth:!0,order:4,roles:[RoleType.admin]},children:[{path:"detail",name:"Detail",id:"Detail",label:"Detail",component:()=>__vitePreload(()=>import("./index-1d8b45f3.js"),["assets/index-1d8b45f3.js","assets/vue-fdfdc7c1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-cfcaf865.js","assets/index-0cc49d5e.css","assets/index-51ecf215.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-c491dbf8.css","assets/index-cd31dfea.js","assets/index-30a94818.css"]),meta:{locale:"menu.profile.detail",requiresAuth:!0,roles:[RoleType.admin]}}]},__vite_glob_0_5=Object.freeze(Object.defineProperty({__proto__:null,default:profile$1},Symbol.toStringTag,{value:"Module"})),result={path:"result",name:"Result",id:"Result",label:"Result",component:()=>__vitePreload(()=>import("./index-7f0a6044.js"),["assets/index-7f0a6044.js","assets/vue-fdfdc7c1.js"]),meta:{locale:"menu.result",requiresAuth:!0,order:5,roles:[RoleType.admin,RoleType.user]},children:[{path:"success",name:"Success",id:"Success",label:"Success",component:()=>__vitePreload(()=>import("./index-acf739c4.js"),["assets/index-acf739c4.js","assets/vue-fdfdc7c1.js","assets/index-694a71ab.js","assets/chevron-up-775d40e5.js","assets/index-adce738e.css","assets/index-7c361b9e.css"]),meta:{locale:"menu.result.success",requiresAuth:!0,roles:[RoleType.admin]}},{path:"error",name:"Error",id:"Error",label:"Error",component:()=>__vitePreload(()=>import("./index-0533ebac.js"),["assets/index-0533ebac.js","assets/vue-fdfdc7c1.js","assets/index-694a71ab.js","assets/chevron-up-775d40e5.js","assets/index-adce738e.css","assets/index-7f1e277a.css"]),meta:{locale:"menu.result.error",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}}]},__vite_glob_0_6=Object.freeze(Object.defineProperty({__proto__:null,default:result},Symbol.toStringTag,{value:"Module"})),user$1={path:"user",name:"User",id:"User",label:"User",component:()=>__vitePreload(()=>import("./index-409bc9f3.js"),["assets/index-409bc9f3.js","assets/vue-fdfdc7c1.js"]),meta:{locale:"menu.user",requiresAuth:!0,order:7,roles:[RoleType.admin,RoleType.user]},children:[{path:"info",name:"Info",id:"Info",label:"Info",component:()=>__vitePreload(()=>import("./index-c743e9f1.js"),["assets/index-c743e9f1.js","assets/vue-fdfdc7c1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-10398010.js","assets/index-ed221282.css","assets/index-ebd49e8e.js","assets/index-12c9c4e0.css","assets/index-cd31dfea.js","assets/head-3486dd8f.js","assets/head-681d9bb4.css","assets/index-a2546044.css"]),meta:{locale:"menu.user.info",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}},{path:"setting",name:"Setting",id:"Setting",label:"Setting",component:()=>__vitePreload(()=>import("./index-02868dd0.js"),["assets/index-02868dd0.js","assets/vue-fdfdc7c1.js","assets/time-ae4bc627.js","assets/head-3486dd8f.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/head-681d9bb4.css","assets/index-ebd49e8e.js","assets/index-10398010.js","assets/index-ed221282.css","assets/index-12c9c4e0.css","assets/index-71dedec5.js","assets/index-6efc23fe.css","assets/index-51ecf215.js","assets/index-c491dbf8.css","assets/index-7f7d7ed1.css"]),meta:{locale:"menu.user.setting",requiresAuth:!0,roles:[RoleType.admin,RoleType.user]}}]},__vite_glob_0_7=Object.freeze(Object.defineProperty({__proto__:null,default:user$1},Symbol.toStringTag,{value:"Module"})),modules=Object.assign({"./modules/cloud.ts":__vite_glob_0_0,"./modules/exception.ts":__vite_glob_0_1,"./modules/form.ts":__vite_glob_0_2,"./modules/kanban.ts":__vite_glob_0_3,"./modules/list.ts":__vite_glob_0_4,"./modules/profile.ts":__vite_glob_0_5,"./modules/result.ts":__vite_glob_0_6,"./modules/user.ts":__vite_glob_0_7}),appRoutes=[];Object.keys(modules).forEach(ee=>{const te=modules[ee].default;if(!te)return;const ae=Array.isArray(te)?[...te]:[te];appRoutes.push(...ae)});function usePermission(){const ee=useUserStore();return{accessRouter(te){var ae,ne,ie,oe,se,le;return!((ae=te.meta)!=null&&ae.requiresAuth)||!((ne=te.meta)!=null&&ne.roles)||((oe=(ie=te.meta)==null?void 0:ie.roles)==null?void 0:oe.includes("*"))||((le=(se=te.meta)==null?void 0:se.roles)==null?void 0:le.includes(ee.role))},findFirstPermissionRoute(te,ae="admin"){var ie,oe;const ne=[...te];for(;ne.length;){const se=ne.shift();if((oe=(ie=se==null?void 0:se.meta)==null?void 0:ie.roles)!=null&&oe.find(le=>le.includes("*")||le.includes(ae)))return{name:se.name};se!=null&&se.children&&ne.push(...se.children)}return null}}}function setupPermissionGuard(ee){ee.beforeEach(async(te,ae,ne)=>{t.start();const ie=useUserStore();async function oe(){const se=usePermission();if(se.accessRouter(te))ne();else{const le=se.findFirstPermissionRoute(appRoutes,ie.role)||{name:"notFound"};ne(le)}t.done()}if(isLogin())if(ie.role)oe();else try{await ie.info(),oe()}catch{ne({name:"login",query:{redirect:te.name,...te.query}}),t.done()}else{if(te.name==="login"||te.name==="preview"){ne(),t.done();return}ne({name:"login",query:{redirect:te.name,...te.query}}),t.done()}})}function setupPageGuard(ee){ee.beforeEach(async te=>{setRouteEmitter(te)})}function createRouteGuard(ee){setupPageGuard(ee),setupPermissionGuard(ee)}t.configure({showSpinner:!1});const router=createRouter({history:createWebHistory(),routes:[{path:"/",redirect:"/ui/admin/web/login"},{path:"//ui/admin/web/",redirect:"/ui/admin/web/board/home"},{path:"/ui/admin/web/",redirect:{path:"/ui/admin/web/login"}},{path:"/ui/admin/web/login",name:"login",component:()=>__vitePreload(()=>import("./index-26abde33.js"),["assets/index-26abde33.js","assets/vue-fdfdc7c1.js","assets/index-71dedec5.js","assets/index-9e0a2cd3.js","assets/index-6efc23fe.css","assets/warning-triangle-0392a7a8.js","assets/index-3e48e55b.css"]),meta:{requiresAuth:!1}},{name:"root",path:"/ui/admin/web/",component:DefaultLayout,children:appRoutes},{path:"/ui/admin/web/:pathMatch(.*)*",name:"notFound",component:()=>__vitePreload(()=>import("./index-4be14645.js"),["assets/index-4be14645.js","assets/vue-fdfdc7c1.js"])},{path:"/ui/admin/web/preview",name:"preview",component:()=>__vitePreload(()=>import("./index-6106af56.js"),["assets/index-6106af56.js","assets/vue-fdfdc7c1.js","assets/home-down-1ba808d1.js","assets/index-c544811c.js","assets/chevron-up-775d40e5.js","assets/index-9e0a2cd3.js","assets/index-f66d2b1c.css","assets/index-cd31dfea.js","assets/index-ef5500f2.css"])}],scrollBehavior(){return{top:0}}});createRouteGuard(router);function checkPermission(ee,te){const{value:ae}=te,ne=useUserStore(),{role:ie}=ne;if(Array.isArray(ae))ae.length>0&&!ae.includes(ie)&&ee.parentNode&&ee.parentNode.removeChild(ee);else throw new Error(`need roles! Like v-permission="['admin','user']"`)}const permission={mounted(ee,te){checkPermission(ee,te)},updated(ee,te){checkPermission(ee,te)}},directive={install(ee){ee.directive("permission",permission)}};var mock={exports:{}};(function(module,exports){(function(te,ae){module.exports=ae()})(commonjsGlobal$1,function(){return function(ee){var te={};function ae(ne){if(te[ne])return te[ne].exports;var ie=te[ne]={exports:{},id:ne,loaded:!1};return ee[ne].call(ie.exports,ie,ie.exports,ae),ie.loaded=!0,ie.exports}return ae.m=ee,ae.c=te,ae.p="",ae(0)}([function(ee,te,ae){var ne=ae(1),ie=ae(3),oe=ae(5),se=ae(20),le=ae(23),ue=ae(25),ce;typeof window<"u"&&(ce=ae(27));/*!
-    Mock - 模拟请求 & 模拟数据
-    https://github.com/nuysoft/Mock
-    墨智 mozhi.gyy@taobao.com nuysoft@gmail.com
-*/var de={Handler:ne,Random:oe,Util:ie,XHR:ce,RE:se,toJSONSchema:le,valid:ue,heredoc:ie.heredoc,setup:function(he){return ce.setup(he)},_mocked:{}};de.version="1.0.1-beta3",ce&&(ce.Mock=de),de.mock=function(he,fe,pe){return arguments.length===1?ne.gen(he):(arguments.length===2&&(pe=fe,fe=void 0),ce&&(window.XMLHttpRequest=ce),de._mocked[he+(fe||"")]={rurl:he,rtype:fe,template:pe},de)},ee.exports=de},function(module,exports,__webpack_require__){var Constant=__webpack_require__(2),Util=__webpack_require__(3),Parser=__webpack_require__(4),Random=__webpack_require__(5),RE=__webpack_require__(20),Handler={extend:Util.extend};Handler.gen=function(ee,te,ae){te=te==null?"":te+"",ae=ae||{},ae={path:ae.path||[Constant.GUID],templatePath:ae.templatePath||[Constant.GUID++],currentContext:ae.currentContext,templateCurrentContext:ae.templateCurrentContext||ee,root:ae.root||ae.currentContext,templateRoot:ae.templateRoot||ae.templateCurrentContext||ee};var ne=Parser.parse(te),ie=Util.type(ee),oe;return Handler[ie]?(oe=Handler[ie]({type:ie,template:ee,name:te,parsedName:te&&te.replace(Constant.RE_KEY,"$1"),rule:ne,context:ae}),ae.root||(ae.root=oe),oe):ee},Handler.extend({array:function(ee){var te=[],ae,ne;if(ee.template.length===0)return te;if(ee.rule.parameters)if(ee.rule.min===1&&ee.rule.max===void 0)ee.context.path.push(ee.name),ee.context.templatePath.push(ee.name),te=Random.pick(Handler.gen(ee.template,void 0,{path:ee.context.path,templatePath:ee.context.templatePath,currentContext:te,templateCurrentContext:ee.template,root:ee.context.root||te,templateRoot:ee.context.templateRoot||ee.template})),ee.context.path.pop(),ee.context.templatePath.pop();else if(ee.rule.parameters[2])ee.template.__order_index=ee.template.__order_index||0,ee.context.path.push(ee.name),ee.context.templatePath.push(ee.name),te=Handler.gen(ee.template,void 0,{path:ee.context.path,templatePath:ee.context.templatePath,currentContext:te,templateCurrentContext:ee.template,root:ee.context.root||te,templateRoot:ee.context.templateRoot||ee.template})[ee.template.__order_index%ee.template.length],ee.template.__order_index+=+ee.rule.parameters[2],ee.context.path.pop(),ee.context.templatePath.pop();else for(ae=0;ae<ee.rule.count;ae++)for(ne=0;ne<ee.template.length;ne++)ee.context.path.push(te.length),ee.context.templatePath.push(ne),te.push(Handler.gen(ee.template[ne],te.length,{path:ee.context.path,templatePath:ee.context.templatePath,currentContext:te,templateCurrentContext:ee.template,root:ee.context.root||te,templateRoot:ee.context.templateRoot||ee.template})),ee.context.path.pop(),ee.context.templatePath.pop();else for(ae=0;ae<ee.template.length;ae++)ee.context.path.push(ae),ee.context.templatePath.push(ae),te.push(Handler.gen(ee.template[ae],ae,{path:ee.context.path,templatePath:ee.context.templatePath,currentContext:te,templateCurrentContext:ee.template,root:ee.context.root||te,templateRoot:ee.context.templateRoot||ee.template})),ee.context.path.pop(),ee.context.templatePath.pop();return te},object:function(ee){var te={},ae,ne,ie,oe,se,le;if(ee.rule.min!=null)for(ae=Util.keys(ee.template),ae=Random.shuffle(ae),ae=ae.slice(0,ee.rule.count),le=0;le<ae.length;le++)ie=ae[le],oe=ie.replace(Constant.RE_KEY,"$1"),ee.context.path.push(oe),ee.context.templatePath.push(ie),te[oe]=Handler.gen(ee.template[ie],ie,{path:ee.context.path,templatePath:ee.context.templatePath,currentContext:te,templateCurrentContext:ee.template,root:ee.context.root||te,templateRoot:ee.context.templateRoot||ee.template}),ee.context.path.pop(),ee.context.templatePath.pop();else{ae=[],ne=[];for(ie in ee.template)(typeof ee.template[ie]=="function"?ne:ae).push(ie);for(ae=ae.concat(ne),le=0;le<ae.length;le++)ie=ae[le],oe=ie.replace(Constant.RE_KEY,"$1"),ee.context.path.push(oe),ee.context.templatePath.push(ie),te[oe]=Handler.gen(ee.template[ie],ie,{path:ee.context.path,templatePath:ee.context.templatePath,currentContext:te,templateCurrentContext:ee.template,root:ee.context.root||te,templateRoot:ee.context.templateRoot||ee.template}),ee.context.path.pop(),ee.context.templatePath.pop(),se=ie.match(Constant.RE_KEY),se&&se[2]&&Util.type(ee.template[ie])==="number"&&(ee.template[ie]+=parseInt(se[2],10))}return te},number:function(ee){var te,ae;if(ee.rule.decimal){for(ee.template+="",ae=ee.template.split("."),ae[0]=ee.rule.range?ee.rule.count:ae[0],ae[1]=(ae[1]||"").slice(0,ee.rule.dcount);ae[1].length<ee.rule.dcount;)ae[1]+=ae[1].length<ee.rule.dcount-1?Random.character("number"):Random.character("123456789");te=parseFloat(ae.join("."),10)}else te=ee.rule.range&&!ee.rule.parameters[2]?ee.rule.count:ee.template;return te},boolean:function(ee){var te;return te=ee.rule.parameters?Random.bool(ee.rule.min,ee.rule.max,ee.template):ee.template,te},string:function(ee){var te="",ae,ne,ie,oe;if(ee.template.length){for(ee.rule.count==null&&(te+=ee.template),ae=0;ae<ee.rule.count;ae++)te+=ee.template;for(ne=te.match(Constant.RE_PLACEHOLDER)||[],ae=0;ae<ne.length;ae++){if(ie=ne[ae],/^\\/.test(ie)){ne.splice(ae--,1);continue}if(oe=Handler.placeholder(ie,ee.context.currentContext,ee.context.templateCurrentContext,ee),ne.length===1&&ie===te&&typeof oe!=typeof te){te=oe;break}te=te.replace(ie,oe)}}else te=ee.rule.range?Random.string(ee.rule.count):ee.template;return te},function:function(ee){return ee.template.call(ee.context.currentContext,ee)},regexp:function(ee){var te="";ee.rule.count==null&&(te+=ee.template.source);for(var ae=0;ae<ee.rule.count;ae++)te+=ee.template.source;return RE.Handler.gen(RE.Parser.parse(te))}}),Handler.extend({_all:function(){var ee={};for(var te in Random)ee[te.toLowerCase()]=te;return ee},placeholder:function(placeholder,obj,templateContext,options){Constant.RE_PLACEHOLDER.exec("");var parts=Constant.RE_PLACEHOLDER.exec(placeholder),key=parts&&parts[1],lkey=key&&key.toLowerCase(),okey=this._all()[lkey],params=parts&&parts[2]||"",pathParts=this.splitPathToArray(key);try{params=eval("(function(){ return [].splice.call(arguments, 0 ) })("+params+")")}catch(ee){params=parts[2].split(/,\s*/)}if(obj&&key in obj)return obj[key];if(key.charAt(0)==="/"||pathParts.length>1)return this.getValueByKeyPath(key,options);if(templateContext&&typeof templateContext=="object"&&key in templateContext&&placeholder!==templateContext[key])return templateContext[key]=Handler.gen(templateContext[key],key,{currentContext:obj,templateCurrentContext:templateContext}),templateContext[key];if(!(key in Random)&&!(lkey in Random)&&!(okey in Random))return placeholder;for(var i=0;i<params.length;i++)Constant.RE_PLACEHOLDER.exec(""),Constant.RE_PLACEHOLDER.test(params[i])&&(params[i]=Handler.placeholder(params[i],obj,templateContext,options));var handle=Random[key]||Random[lkey]||Random[okey];switch(Util.type(handle)){case"array":return Random.pick(handle);case"function":handle.options=options;var re=handle.apply(Random,params);return re===void 0&&(re=""),delete handle.options,re}},getValueByKeyPath:function(ee,te){var ae=ee,ne=this.splitPathToArray(ee),ie=[];ee.charAt(0)==="/"?ie=[te.context.path[0]].concat(this.normalizePath(ne)):ne.length>1&&(ie=te.context.path.slice(0),ie.pop(),ie=this.normalizePath(ie.concat(ne)));try{ee=ne[ne.length-1];for(var oe=te.context.root,se=te.context.templateRoot,le=1;le<ie.length-1;le++)oe=oe[ie[le]],se=se[ie[le]];if(oe&&ee in oe)return oe[ee];if(se&&typeof se=="object"&&ee in se&&ae!==se[ee])return se[ee]=Handler.gen(se[ee],ee,{currentContext:oe,templateCurrentContext:se}),se[ee]}catch{}return"@"+ne.join("/")},normalizePath:function(ee){for(var te=[],ae=0;ae<ee.length;ae++)switch(ee[ae]){case"..":te.pop();break;case".":break;default:te.push(ee[ae])}return te},splitPathToArray:function(ee){var te=ee.split(/\/+/);return te[te.length-1]||(te=te.slice(0,-1)),te[0]||(te=te.slice(1)),te}}),module.exports=Handler},function(ee,te){ee.exports={GUID:1,RE_KEY:/(.+)\|(?:\+(\d+)|([\+\-]?\d+-?[\+\-]?\d*)?(?:\.(\d+-?\d*))?)/,RE_RANGE:/([\+\-]?\d+)-?([\+\-]?\d+)?/,RE_PLACEHOLDER:/\\*@([^@#%&()\?\s]+)(?:\((.*?)\))?/g}},function(ee,te){var ae={};ae.extend=function(){var ie=arguments[0]||{},oe=1,se=arguments.length,le,ue,ce,de,he;for(se===1&&(ie=this,oe=0);oe<se;oe++)if(le=arguments[oe],!!le)for(ue in le)ce=ie[ue],de=le[ue],ie!==de&&de!==void 0&&(ae.isArray(de)||ae.isObject(de)?(ae.isArray(de)&&(he=ce&&ae.isArray(ce)?ce:[]),ae.isObject(de)&&(he=ce&&ae.isObject(ce)?ce:{}),ie[ue]=ae.extend(he,de)):ie[ue]=de);return ie},ae.each=function(ie,oe,se){var le,ue;if(this.type(ie)==="number")for(le=0;le<ie;le++)oe(le,le);else if(ie.length===+ie.length)for(le=0;le<ie.length&&oe.call(se,ie[le],le,ie)!==!1;le++);else for(ue in ie)if(oe.call(se,ie[ue],ue,ie)===!1)break},ae.type=function(ie){return ie==null?String(ie):Object.prototype.toString.call(ie).match(/\[object (\w+)\]/)[1].toLowerCase()},ae.each("String Object Array RegExp Function".split(" "),function(ne){ae["is"+ne]=function(ie){return ae.type(ie)===ne.toLowerCase()}}),ae.isObjectOrArray=function(ne){return ae.isObject(ne)||ae.isArray(ne)},ae.isNumeric=function(ne){return!isNaN(parseFloat(ne))&&isFinite(ne)},ae.keys=function(ne){var ie=[];for(var oe in ne)ne.hasOwnProperty(oe)&&ie.push(oe);return ie},ae.values=function(ne){var ie=[];for(var oe in ne)ne.hasOwnProperty(oe)&&ie.push(ne[oe]);return ie},ae.heredoc=function(ie){return ie.toString().replace(/^[^\/]+\/\*!?/,"").replace(/\*\/[^\/]+$/,"").replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,"")},ae.noop=function(){},ee.exports=ae},function(ee,te,ae){var ne=ae(2),ie=ae(5);ee.exports={parse:function(oe){oe=oe==null?"":oe+"";var se=(oe||"").match(ne.RE_KEY),le=se&&se[3]&&se[3].match(ne.RE_RANGE),ue=le&&le[1]&&parseInt(le[1],10),ce=le&&le[2]&&parseInt(le[2],10),de=le?le[2]?ie.integer(ue,ce):parseInt(le[1],10):void 0,he=se&&se[4]&&se[4].match(ne.RE_RANGE),fe=he&&he[1]&&parseInt(he[1],10),pe=he&&he[2]&&parseInt(he[2],10),ve=he?!he[2]&&parseInt(he[1],10)||ie.integer(fe,pe):void 0,ge={parameters:se,range:le,min:ue,max:ce,count:de,decimal:he,dmin:fe,dmax:pe,dcount:ve};for(var me in ge)if(ge[me]!=null)return ge;return{}}}},function(ee,te,ae){var ne=ae(3),ie={extend:ne.extend};ie.extend(ae(6)),ie.extend(ae(7)),ie.extend(ae(8)),ie.extend(ae(10)),ie.extend(ae(13)),ie.extend(ae(15)),ie.extend(ae(16)),ie.extend(ae(17)),ie.extend(ae(14)),ie.extend(ae(19)),ee.exports=ie},function(ee,te){ee.exports={boolean:function(ae,ne,ie){return ie!==void 0?(ae=typeof ae<"u"&&!isNaN(ae)?parseInt(ae,10):1,ne=typeof ne<"u"&&!isNaN(ne)?parseInt(ne,10):1,Math.random()>1/(ae+ne)*ae?!ie:ie):Math.random()>=.5},bool:function(ae,ne,ie){return this.boolean(ae,ne,ie)},natural:function(ae,ne){return ae=typeof ae<"u"?parseInt(ae,10):0,ne=typeof ne<"u"?parseInt(ne,10):9007199254740992,Math.round(Math.random()*(ne-ae))+ae},integer:function(ae,ne){return ae=typeof ae<"u"?parseInt(ae,10):-9007199254740992,ne=typeof ne<"u"?parseInt(ne,10):9007199254740992,Math.round(Math.random()*(ne-ae))+ae},int:function(ae,ne){return this.integer(ae,ne)},float:function(ae,ne,ie,oe){ie=ie===void 0?0:ie,ie=Math.max(Math.min(ie,17),0),oe=oe===void 0?17:oe,oe=Math.max(Math.min(oe,17),0);for(var se=this.integer(ae,ne)+".",le=0,ue=this.natural(ie,oe);le<ue;le++)se+=le<ue-1?this.character("number"):this.character("123456789");return parseFloat(se,10)},character:function(ae){var ne={lower:"abcdefghijklmnopqrstuvwxyz",upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",number:"0123456789",symbol:"!@#$%^&*()[]"};return ne.alpha=ne.lower+ne.upper,ne.undefined=ne.lower+ne.upper+ne.number+ne.symbol,ae=ne[(""+ae).toLowerCase()]||ae,ae.charAt(this.natural(0,ae.length-1))},char:function(ae){return this.character(ae)},string:function(ae,ne,ie){var oe;switch(arguments.length){case 0:oe=this.natural(3,7);break;case 1:oe=ae,ae=void 0;break;case 2:typeof arguments[0]=="string"?oe=ne:(oe=this.natural(ae,ne),ae=void 0);break;case 3:oe=this.natural(ne,ie);break}for(var se="",le=0;le<oe;le++)se+=this.character(ae);return se},str:function(){return this.string.apply(this,arguments)},range:function(ae,ne,ie){arguments.length<=1&&(ne=ae||0,ae=0),ie=arguments[2]||1,ae=+ae,ne=+ne,ie=+ie;for(var oe=Math.max(Math.ceil((ne-ae)/ie),0),se=0,le=new Array(oe);se<oe;)le[se++]=ae,ae+=ie;return le}}},function(ee,te){var ae={yyyy:"getFullYear",yy:function(ne){return(""+ne.getFullYear()).slice(2)},y:"yy",MM:function(ne){var ie=ne.getMonth()+1;return ie<10?"0"+ie:ie},M:function(ne){return ne.getMonth()+1},dd:function(ne){var ie=ne.getDate();return ie<10?"0"+ie:ie},d:"getDate",HH:function(ne){var ie=ne.getHours();return ie<10?"0"+ie:ie},H:"getHours",hh:function(ne){var ie=ne.getHours()%12;return ie<10?"0"+ie:ie},h:function(ne){return ne.getHours()%12},mm:function(ne){var ie=ne.getMinutes();return ie<10?"0"+ie:ie},m:"getMinutes",ss:function(ne){var ie=ne.getSeconds();return ie<10?"0"+ie:ie},s:"getSeconds",SS:function(ne){var ie=ne.getMilliseconds();return ie<10&&"00"+ie||ie<100&&"0"+ie||ie},S:"getMilliseconds",A:function(ne){return ne.getHours()<12?"AM":"PM"},a:function(ne){return ne.getHours()<12?"am":"pm"},T:"getTime"};ee.exports={_patternLetters:ae,_rformat:new RegExp(function(){var ne=[];for(var ie in ae)ne.push(ie);return"("+ne.join("|")+")"}(),"g"),_formatDate:function(ne,ie){return ie.replace(this._rformat,function oe(se,le){return typeof ae[le]=="function"?ae[le](ne):ae[le]in ae?oe(se,ae[le]):ne[ae[le]]()})},_randomDate:function(ne,ie){return ne=ne===void 0?new Date(0):ne,ie=ie===void 0?new Date:ie,new Date(Math.random()*(ie.getTime()-ne.getTime()))},date:function(ne){return ne=ne||"yyyy-MM-dd",this._formatDate(this._randomDate(),ne)},time:function(ne){return ne=ne||"HH:mm:ss",this._formatDate(this._randomDate(),ne)},datetime:function(ne){return ne=ne||"yyyy-MM-dd HH:mm:ss",this._formatDate(this._randomDate(),ne)},now:function(ne,ie){arguments.length===1&&(/year|month|day|hour|minute|second|week/.test(ne)||(ie=ne,ne="")),ne=(ne||"").toLowerCase(),ie=ie||"yyyy-MM-dd HH:mm:ss";var oe=new Date;switch(ne){case"year":oe.setMonth(0);case"month":oe.setDate(1);case"week":case"day":oe.setHours(0);case"hour":oe.setMinutes(0);case"minute":oe.setSeconds(0);case"second":oe.setMilliseconds(0)}switch(ne){case"week":oe.setDate(oe.getDate()-oe.getDay())}return this._formatDate(oe,ie)}}},function(ee,te,ae){(function(ne){ne.exports={_adSize:["300x250","250x250","240x400","336x280","180x150","720x300","468x60","234x60","88x31","120x90","120x60","120x240","125x125","728x90","160x600","120x600","300x600"],_screenSize:["320x200","320x240","640x480","800x480","800x480","1024x600","1024x768","1280x800","1440x900","1920x1200","2560x1600"],_videoSize:["720x480","768x576","1280x720","1920x1080"],image:function(ie,oe,se,le,ue){return arguments.length===4&&(ue=le,le=void 0),arguments.length===3&&(ue=se,se=void 0),ie||(ie=this.pick(this._adSize)),oe&&~oe.indexOf("#")&&(oe=oe.slice(1)),se&&~se.indexOf("#")&&(se=se.slice(1)),"http://dummyimage.com/"+ie+(oe?"/"+oe:"")+(se?"/"+se:"")+(le?"."+le:"")+(ue?"&text="+ue:"")},img:function(){return this.image.apply(this,arguments)},_brandColors:{"4ormat":"#fb0a2a","500px":"#02adea","About.me (blue)":"#00405d","About.me (yellow)":"#ffcc33",Addvocate:"#ff6138",Adobe:"#ff0000",Aim:"#fcd20b",Amazon:"#e47911",Android:"#a4c639","Angie's List":"#7fbb00",AOL:"#0060a3",Atlassian:"#003366",Behance:"#053eff","Big Cartel":"#97b538",bitly:"#ee6123",Blogger:"#fc4f08",Boeing:"#0039a6","Booking.com":"#003580",Carbonmade:"#613854",Cheddar:"#ff7243","Code School":"#3d4944",Delicious:"#205cc0",Dell:"#3287c1",Designmoo:"#e54a4f",Deviantart:"#4e6252","Designer News":"#2d72da",Devour:"#fd0001",DEWALT:"#febd17","Disqus (blue)":"#59a3fc","Disqus (orange)":"#db7132",Dribbble:"#ea4c89",Dropbox:"#3d9ae8",Drupal:"#0c76ab",Dunked:"#2a323a",eBay:"#89c507",Ember:"#f05e1b",Engadget:"#00bdf6",Envato:"#528036",Etsy:"#eb6d20",Evernote:"#5ba525","Fab.com":"#dd0017",Facebook:"#3b5998",Firefox:"#e66000","Flickr (blue)":"#0063dc","Flickr (pink)":"#ff0084",Forrst:"#5b9a68",Foursquare:"#25a0ca",Garmin:"#007cc3",GetGlue:"#2d75a2",Gimmebar:"#f70078",GitHub:"#171515","Google Blue":"#0140ca","Google Green":"#16a61e","Google Red":"#dd1812","Google Yellow":"#fcca03","Google+":"#dd4b39",Grooveshark:"#f77f00",Groupon:"#82b548","Hacker News":"#ff6600",HelloWallet:"#0085ca","Heroku (light)":"#c7c5e6","Heroku (dark)":"#6567a5",HootSuite:"#003366",Houzz:"#73ba37",HTML5:"#ec6231",IKEA:"#ffcc33",IMDb:"#f3ce13",Instagram:"#3f729b",Intel:"#0071c5",Intuit:"#365ebf",Kickstarter:"#76cc1e",kippt:"#e03500",Kodery:"#00af81",LastFM:"#c3000d",LinkedIn:"#0e76a8",Livestream:"#cf0005",Lumo:"#576396",Mixpanel:"#a086d3",Meetup:"#e51937",Nokia:"#183693",NVIDIA:"#76b900",Opera:"#cc0f16",Path:"#e41f11","PayPal (dark)":"#1e477a","PayPal (light)":"#3b7bbf",Pinboard:"#0000e6",Pinterest:"#c8232c",PlayStation:"#665cbe",Pocket:"#ee4056",Prezi:"#318bff",Pusha:"#0f71b4",Quora:"#a82400","QUOTE.fm":"#66ceff",Rdio:"#008fd5",Readability:"#9c0000","Red Hat":"#cc0000",Resource:"#7eb400",Rockpack:"#0ba6ab",Roon:"#62b0d9",RSS:"#ee802f",Salesforce:"#1798c1",Samsung:"#0c4da2",Shopify:"#96bf48",Skype:"#00aff0",Snagajob:"#f47a20",Softonic:"#008ace",SoundCloud:"#ff7700","Space Box":"#f86960",Spotify:"#81b71a",Sprint:"#fee100",Squarespace:"#121212",StackOverflow:"#ef8236",Staples:"#cc0000","Status Chart":"#d7584f",Stripe:"#008cdd",StudyBlue:"#00afe1",StumbleUpon:"#f74425","T-Mobile":"#ea0a8e",Technorati:"#40a800","The Next Web":"#ef4423",Treehouse:"#5cb868",Trulia:"#5eab1f",Tumblr:"#34526f","Twitch.tv":"#6441a5",Twitter:"#00acee",TYPO3:"#ff8700",Ubuntu:"#dd4814",Ustream:"#3388ff",Verizon:"#ef1d1d",Vimeo:"#86c9ef",Vine:"#00a478",Virb:"#06afd8","Virgin Media":"#cc0000",Wooga:"#5b009c","WordPress (blue)":"#21759b","WordPress (orange)":"#d54e21","WordPress (grey)":"#464646",Wunderlist:"#2b88d9",XBOX:"#9bc848",XING:"#126567","Yahoo!":"#720e9e",Yandex:"#ffcc00",Yelp:"#c41200",YouTube:"#c4302b",Zalongo:"#5498dc",Zendesk:"#78a300",Zerply:"#9dcc7a",Zootool:"#5e8b1d"},_brandNames:function(){var ie=[];for(var oe in this._brandColors)ie.push(oe);return ie},dataImage:function(ie,oe){var se;if(typeof document<"u")se=document.createElement("canvas");else{var le=ne.require("canvas");se=new le}var ue=se&&se.getContext&&se.getContext("2d");if(!se||!ue)return"";ie||(ie=this.pick(this._adSize)),oe=oe!==void 0?oe:ie,ie=ie.split("x");var ce=parseInt(ie[0],10),de=parseInt(ie[1],10),he=this._brandColors[this.pick(this._brandNames())],fe="#FFF",pe=14,ve="sans-serif";return se.width=ce,se.height=de,ue.textAlign="center",ue.textBaseline="middle",ue.fillStyle=he,ue.fillRect(0,0,ce,de),ue.fillStyle=fe,ue.font="bold "+pe+"px "+ve,ue.fillText(oe,ce/2,de/2,ce),se.toDataURL("image/png")}}}).call(te,ae(9)(ee))},function(ee,te){ee.exports=function(ae){return ae.webpackPolyfill||(ae.deprecate=function(){},ae.paths=[],ae.children=[],ae.webpackPolyfill=1),ae}},function(ee,te,ae){var ne=ae(11),ie=ae(12);ee.exports={color:function(oe){return oe||ie[oe]?ie[oe].nicer:this.hex()},hex:function(){var oe=this._goldenRatioColor(),se=ne.hsv2rgb(oe),le=ne.rgb2hex(se[0],se[1],se[2]);return le},rgb:function(){var oe=this._goldenRatioColor(),se=ne.hsv2rgb(oe);return"rgb("+parseInt(se[0],10)+", "+parseInt(se[1],10)+", "+parseInt(se[2],10)+")"},rgba:function(){var oe=this._goldenRatioColor(),se=ne.hsv2rgb(oe);return"rgba("+parseInt(se[0],10)+", "+parseInt(se[1],10)+", "+parseInt(se[2],10)+", "+Math.random().toFixed(2)+")"},hsl:function(){var oe=this._goldenRatioColor(),se=ne.hsv2hsl(oe);return"hsl("+parseInt(se[0],10)+", "+parseInt(se[1],10)+", "+parseInt(se[2],10)+")"},_goldenRatioColor:function(oe,se){return this._goldenRatio=.618033988749895,this._hue=this._hue||Math.random(),this._hue+=this._goldenRatio,this._hue%=1,typeof oe!="number"&&(oe=.5),typeof se!="number"&&(se=.95),[this._hue*360,oe*100,se*100]}}},function(ee,te){ee.exports={rgb2hsl:function(ne){var ie=ne[0]/255,oe=ne[1]/255,se=ne[2]/255,le=Math.min(ie,oe,se),ue=Math.max(ie,oe,se),ce=ue-le,de,he,fe;return ue==le?de=0:ie==ue?de=(oe-se)/ce:oe==ue?de=2+(se-ie)/ce:se==ue&&(de=4+(ie-oe)/ce),de=Math.min(de*60,360),de<0&&(de+=360),fe=(le+ue)/2,ue==le?he=0:fe<=.5?he=ce/(ue+le):he=ce/(2-ue-le),[de,he*100,fe*100]},rgb2hsv:function(ne){var ie=ne[0],oe=ne[1],se=ne[2],le=Math.min(ie,oe,se),ue=Math.max(ie,oe,se),ce=ue-le,de,he,fe;return ue===0?he=0:he=ce/ue*1e3/10,ue==le?de=0:ie==ue?de=(oe-se)/ce:oe==ue?de=2+(se-ie)/ce:se==ue&&(de=4+(ie-oe)/ce),de=Math.min(de*60,360),de<0&&(de+=360),fe=ue/255*1e3/10,[de,he,fe]},hsl2rgb:function(ne){var ie=ne[0]/360,oe=ne[1]/100,se=ne[2]/100,le,ue,ce,de,he;if(oe===0)return he=se*255,[he,he,he];se<.5?ue=se*(1+oe):ue=se+oe-se*oe,le=2*se-ue,de=[0,0,0];for(var fe=0;fe<3;fe++)ce=ie+1/3*-(fe-1),ce<0&&ce++,ce>1&&ce--,6*ce<1?he=le+(ue-le)*6*ce:2*ce<1?he=ue:3*ce<2?he=le+(ue-le)*(2/3-ce)*6:he=le,de[fe]=he*255;return de},hsl2hsv:function(ne){var ie=ne[0],oe=ne[1]/100,se=ne[2]/100,le,ue;return se*=2,oe*=se<=1?se:2-se,ue=(se+oe)/2,le=2*oe/(se+oe),[ie,le*100,ue*100]},hsv2rgb:function(ne){var ie=ne[0]/60,oe=ne[1]/100,se=ne[2]/100,le=Math.floor(ie)%6,ue=ie-Math.floor(ie),ce=255*se*(1-oe),de=255*se*(1-oe*ue),he=255*se*(1-oe*(1-ue));switch(se=255*se,le){case 0:return[se,he,ce];case 1:return[de,se,ce];case 2:return[ce,se,he];case 3:return[ce,de,se];case 4:return[he,ce,se];case 5:return[se,ce,de]}},hsv2hsl:function(ne){var ie=ne[0],oe=ne[1]/100,se=ne[2]/100,le,ue;return ue=(2-oe)*se,le=oe*se,le/=ue<=1?ue:2-ue,ue/=2,[ie,le*100,ue*100]},rgb2hex:function(ae,ne,ie){return"#"+((256+ae<<8|ne)<<8|ie).toString(16).slice(1)},hex2rgb:function(ae){return ae="0x"+ae.slice(1).replace(ae.length>4?ae:/./g,"$&$&")|0,[ae>>16,ae>>8&255,ae&255]}}},function(ee,te){ee.exports={navy:{value:"#000080",nicer:"#001F3F"},blue:{value:"#0000ff",nicer:"#0074D9"},aqua:{value:"#00ffff",nicer:"#7FDBFF"},teal:{value:"#008080",nicer:"#39CCCC"},olive:{value:"#008000",nicer:"#3D9970"},green:{value:"#008000",nicer:"#2ECC40"},lime:{value:"#00ff00",nicer:"#01FF70"},yellow:{value:"#ffff00",nicer:"#FFDC00"},orange:{value:"#ffa500",nicer:"#FF851B"},red:{value:"#ff0000",nicer:"#FF4136"},maroon:{value:"#800000",nicer:"#85144B"},fuchsia:{value:"#ff00ff",nicer:"#F012BE"},purple:{value:"#800080",nicer:"#B10DC9"},silver:{value:"#c0c0c0",nicer:"#DDDDDD"},gray:{value:"#808080",nicer:"#AAAAAA"},black:{value:"#000000",nicer:"#111111"},white:{value:"#FFFFFF",nicer:"#FFFFFF"}}},function(ee,te,ae){var ne=ae(6),ie=ae(14);function oe(se,le,ue,ce){return ue===void 0?ne.natural(se,le):ce===void 0?ue:ne.natural(parseInt(ue,10),parseInt(ce,10))}ee.exports={paragraph:function(se,le){for(var ue=oe(3,7,se,le),ce=[],de=0;de<ue;de++)ce.push(this.sentence());return ce.join(" ")},cparagraph:function(se,le){for(var ue=oe(3,7,se,le),ce=[],de=0;de<ue;de++)ce.push(this.csentence());return ce.join("")},sentence:function(se,le){for(var ue=oe(12,18,se,le),ce=[],de=0;de<ue;de++)ce.push(this.word());return ie.capitalize(ce.join(" "))+"."},csentence:function(se,le){for(var ue=oe(12,18,se,le),ce=[],de=0;de<ue;de++)ce.push(this.cword());return ce.join("")+"。"},word:function(se,le){for(var ue=oe(3,10,se,le),ce="",de=0;de<ue;de++)ce+=ne.character("lower");return ce},cword:function(se,le,ue){var ce="的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞",de;switch(arguments.length){case 0:se=ce,de=1;break;case 1:typeof arguments[0]=="string"?de=1:(de=se,se=ce);break;case 2:typeof arguments[0]=="string"?de=le:(de=this.natural(se,le),se=ce);break;case 3:de=this.natural(le,ue);break}for(var he="",fe=0;fe<de;fe++)he+=se.charAt(this.natural(0,se.length-1));return he},title:function(se,le){for(var ue=oe(3,7,se,le),ce=[],de=0;de<ue;de++)ce.push(this.capitalize(this.word()));return ce.join(" ")},ctitle:function(se,le){for(var ue=oe(3,7,se,le),ce=[],de=0;de<ue;de++)ce.push(this.cword());return ce.join("")}}},function(ee,te,ae){var ne=ae(3);ee.exports={capitalize:function(ie){return(ie+"").charAt(0).toUpperCase()+(ie+"").substr(1)},upper:function(ie){return(ie+"").toUpperCase()},lower:function(ie){return(ie+"").toLowerCase()},pick:function(oe,se,le){return ne.isArray(oe)?(se===void 0&&(se=1),le===void 0&&(le=se)):(oe=[].slice.call(arguments),se=1,le=1),se===1&&le===1?oe[this.natural(0,oe.length-1)]:this.shuffle(oe,se,le)},shuffle:function(oe,se,le){oe=oe||[];for(var ue=oe.slice(0),ce=[],de=0,he=ue.length,fe=0;fe<he;fe++)de=this.natural(0,ue.length-1),ce.push(ue[de]),ue.splice(de,1);switch(arguments.length){case 0:case 1:return ce;case 2:le=se;case 3:return se=parseInt(se,10),le=parseInt(le,10),ce.slice(0,this.natural(se,le))}},order:function ie(oe){ie.cache=ie.cache||{},arguments.length>1&&(oe=[].slice.call(arguments,0));var se=ie.options,le=se.context.templatePath.join("."),ue=ie.cache[le]=ie.cache[le]||{index:0,array:oe};return ue.array[ue.index++%ue.array.length]}}},function(ee,te){ee.exports={first:function(){var ae=["James","John","Robert","Michael","William","David","Richard","Charles","Joseph","Thomas","Christopher","Daniel","Paul","Mark","Donald","George","Kenneth","Steven","Edward","Brian","Ronald","Anthony","Kevin","Jason","Matthew","Gary","Timothy","Jose","Larry","Jeffrey","Frank","Scott","Eric"].concat(["Mary","Patricia","Linda","Barbara","Elizabeth","Jennifer","Maria","Susan","Margaret","Dorothy","Lisa","Nancy","Karen","Betty","Helen","Sandra","Donna","Carol","Ruth","Sharon","Michelle","Laura","Sarah","Kimberly","Deborah","Jessica","Shirley","Cynthia","Angela","Melissa","Brenda","Amy","Anna"]);return this.pick(ae)},last:function(){var ae=["Smith","Johnson","Williams","Brown","Jones","Miller","Davis","Garcia","Rodriguez","Wilson","Martinez","Anderson","Taylor","Thomas","Hernandez","Moore","Martin","Jackson","Thompson","White","Lopez","Lee","Gonzalez","Harris","Clark","Lewis","Robinson","Walker","Perez","Hall","Young","Allen"];return this.pick(ae)},name:function(ae){return this.first()+" "+(ae?this.first()+" ":"")+this.last()},cfirst:function(){var ae="王 李 张 刘 陈 杨 赵 黄 周 吴 徐 孙 胡 朱 高 林 何 郭 马 罗 梁 宋 郑 谢 韩 唐 冯 于 董 萧 程 曹 袁 邓 许 傅 沈 曾 彭 吕 苏 卢 蒋 蔡 贾 丁 魏 薛 叶 阎 余 潘 杜 戴 夏 锺 汪 田 任 姜 范 方 石 姚 谭 廖 邹 熊 金 陆 郝 孔 白 崔 康 毛 邱 秦 江 史 顾 侯 邵 孟 龙 万 段 雷 钱 汤 尹 黎 易 常 武 乔 贺 赖 龚 文".split(" ");return this.pick(ae)},clast:function(){var ae="伟 芳 娜 秀英 敏 静 丽 强 磊 军 洋 勇 艳 杰 娟 涛 明 超 秀兰 霞 平 刚 桂英".split(" ");return this.pick(ae)},cname:function(){return this.cfirst()+this.clast()}}},function(ee,te){ee.exports={url:function(ae,ne){return(ae||this.protocol())+"://"+(ne||this.domain())+"/"+this.word()},protocol:function(){return this.pick("http ftp gopher mailto mid cid news nntp prospero telnet rlogin tn3270 wais".split(" "))},domain:function(ae){return this.word()+"."+(ae||this.tld())},tld:function(){return this.pick("com net org edu gov int mil cn com.cn net.cn gov.cn org.cn 中国 中国互联.公司 中国互联.网络 tel biz cc tv info name hk mobi asia cd travel pro museum coop aero ad ae af ag ai al am an ao aq ar as at au aw az ba bb bd be bf bg bh bi bj bm bn bo br bs bt bv bw by bz ca cc cf cg ch ci ck cl cm cn co cq cr cu cv cx cy cz de dj dk dm do dz ec ee eg eh es et ev fi fj fk fm fo fr ga gb gd ge gf gh gi gl gm gn gp gr gt gu gw gy hk hm hn hr ht hu id ie il in io iq ir is it jm jo jp ke kg kh ki km kn kp kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md mg mh ml mm mn mo mp mq mr ms mt mv mw mx my mz na nc ne nf ng ni nl no np nr nt nu nz om qa pa pe pf pg ph pk pl pm pn pr pt pw py re ro ru rw sa sb sc sd se sg sh si sj sk sl sm sn so sr st su sy sz tc td tf tg th tj tk tm tn to tp tr tt tv tw tz ua ug uk us uy va vc ve vg vn vu wf ws ye yu za zm zr zw".split(" "))},email:function(ae){return this.character("lower")+"."+this.word()+"@"+(ae||this.word()+"."+this.tld())},ip:function(){return this.natural(0,255)+"."+this.natural(0,255)+"."+this.natural(0,255)+"."+this.natural(0,255)}}},function(ee,te,ae){var ne=ae(18),ie=["东北","华北","华东","华中","华南","西南","西北"];ee.exports={region:function(){return this.pick(ie)},province:function(){return this.pick(ne).name},city:function(oe){var se=this.pick(ne),le=this.pick(se.children);return oe?[se.name,le.name].join(" "):le.name},county:function(oe){var se=this.pick(ne),le=this.pick(se.children),ue=this.pick(le.children)||{name:"-"};return oe?[se.name,le.name,ue.name].join(" "):ue.name},zip:function(oe){for(var se="",le=0;le<(oe||6);le++)se+=this.natural(0,9);return se}}},function(ee,te){var ae={11e4:"北京",110100:"北京市",110101:"东城区",110102:"西城区",110105:"朝阳区",110106:"丰台区",110107:"石景山区",110108:"海淀区",110109:"门头沟区",110111:"房山区",110112:"通州区",110113:"顺义区",110114:"昌平区",110115:"大兴区",110116:"怀柔区",110117:"平谷区",110228:"密云县",110229:"延庆县",110230:"其它区",12e4:"天津",120100:"天津市",120101:"和平区",120102:"河东区",120103:"河西区",120104:"南开区",120105:"河北区",120106:"红桥区",120110:"东丽区",120111:"西青区",120112:"津南区",120113:"北辰区",120114:"武清区",120115:"宝坻区",120116:"滨海新区",120221:"宁河县",120223:"静海县",120225:"蓟县",120226:"其它区",13e4:"河北省",130100:"石家庄市",130102:"长安区",130103:"桥东区",130104:"桥西区",130105:"新华区",130107:"井陉矿区",130108:"裕华区",130121:"井陉县",130123:"正定县",130124:"栾城县",130125:"行唐县",130126:"灵寿县",130127:"高邑县",130128:"深泽县",130129:"赞皇县",130130:"无极县",130131:"平山县",130132:"元氏县",130133:"赵县",130181:"辛集市",130182:"藁城市",130183:"晋州市",130184:"新乐市",130185:"鹿泉市",130186:"其它区",130200:"唐山市",130202:"路南区",130203:"路北区",130204:"古冶区",130205:"开平区",130207:"丰南区",130208:"丰润区",130223:"滦县",130224:"滦南县",130225:"乐亭县",130227:"迁西县",130229:"玉田县",130230:"曹妃甸区",130281:"遵化市",130283:"迁安市",130284:"其它区",130300:"秦皇岛市",130302:"海港区",130303:"山海关区",130304:"北戴河区",130321:"青龙满族自治县",130322:"昌黎县",130323:"抚宁县",130324:"卢龙县",130398:"其它区",130400:"邯郸市",130402:"邯山区",130403:"丛台区",130404:"复兴区",130406:"峰峰矿区",130421:"邯郸县",130423:"临漳县",130424:"成安县",130425:"大名县",130426:"涉县",130427:"磁县",130428:"肥乡县",130429:"永年县",130430:"邱县",130431:"鸡泽县",130432:"广平县",130433:"馆陶县",130434:"魏县",130435:"曲周县",130481:"武安市",130482:"其它区",130500:"邢台市",130502:"桥东区",130503:"桥西区",130521:"邢台县",130522:"临城县",130523:"内丘县",130524:"柏乡县",130525:"隆尧县",130526:"任县",130527:"南和县",130528:"宁晋县",130529:"巨鹿县",130530:"新河县",130531:"广宗县",130532:"平乡县",130533:"威县",130534:"清河县",130535:"临西县",130581:"南宫市",130582:"沙河市",130583:"其它区",130600:"保定市",130602:"新市区",130603:"北市区",130604:"南市区",130621:"满城县",130622:"清苑县",130623:"涞水县",130624:"阜平县",130625:"徐水县",130626:"定兴县",130627:"唐县",130628:"高阳县",130629:"容城县",130630:"涞源县",130631:"望都县",130632:"安新县",130633:"易县",130634:"曲阳县",130635:"蠡县",130636:"顺平县",130637:"博野县",130638:"雄县",130681:"涿州市",130682:"定州市",130683:"安国市",130684:"高碑店市",130699:"其它区",130700:"张家口市",130702:"桥东区",130703:"桥西区",130705:"宣化区",130706:"下花园区",130721:"宣化县",130722:"张北县",130723:"康保县",130724:"沽源县",130725:"尚义县",130726:"蔚县",130727:"阳原县",130728:"怀安县",130729:"万全县",130730:"怀来县",130731:"涿鹿县",130732:"赤城县",130733:"崇礼县",130734:"其它区",130800:"承德市",130802:"双桥区",130803:"双滦区",130804:"鹰手营子矿区",130821:"承德县",130822:"兴隆县",130823:"平泉县",130824:"滦平县",130825:"隆化县",130826:"丰宁满族自治县",130827:"宽城满族自治县",130828:"围场满族蒙古族自治县",130829:"其它区",130900:"沧州市",130902:"新华区",130903:"运河区",130921:"沧县",130922:"青县",130923:"东光县",130924:"海兴县",130925:"盐山县",130926:"肃宁县",130927:"南皮县",130928:"吴桥县",130929:"献县",130930:"孟村回族自治县",130981:"泊头市",130982:"任丘市",130983:"黄骅市",130984:"河间市",130985:"其它区",131e3:"廊坊市",131002:"安次区",131003:"广阳区",131022:"固安县",131023:"永清县",131024:"香河县",131025:"大城县",131026:"文安县",131028:"大厂回族自治县",131081:"霸州市",131082:"三河市",131083:"其它区",131100:"衡水市",131102:"桃城区",131121:"枣强县",131122:"武邑县",131123:"武强县",131124:"饶阳县",131125:"安平县",131126:"故城县",131127:"景县",131128:"阜城县",131181:"冀州市",131182:"深州市",131183:"其它区",14e4:"山西省",140100:"太原市",140105:"小店区",140106:"迎泽区",140107:"杏花岭区",140108:"尖草坪区",140109:"万柏林区",140110:"晋源区",140121:"清徐县",140122:"阳曲县",140123:"娄烦县",140181:"古交市",140182:"其它区",140200:"大同市",140202:"城区",140203:"矿区",140211:"南郊区",140212:"新荣区",140221:"阳高县",140222:"天镇县",140223:"广灵县",140224:"灵丘县",140225:"浑源县",140226:"左云县",140227:"大同县",140228:"其它区",140300:"阳泉市",140302:"城区",140303:"矿区",140311:"郊区",140321:"平定县",140322:"盂县",140323:"其它区",140400:"长治市",140421:"长治县",140423:"襄垣县",140424:"屯留县",140425:"平顺县",140426:"黎城县",140427:"壶关县",140428:"长子县",140429:"武乡县",140430:"沁县",140431:"沁源县",140481:"潞城市",140482:"城区",140483:"郊区",140485:"其它区",140500:"晋城市",140502:"城区",140521:"沁水县",140522:"阳城县",140524:"陵川县",140525:"泽州县",140581:"高平市",140582:"其它区",140600:"朔州市",140602:"朔城区",140603:"平鲁区",140621:"山阴县",140622:"应县",140623:"右玉县",140624:"怀仁县",140625:"其它区",140700:"晋中市",140702:"榆次区",140721:"榆社县",140722:"左权县",140723:"和顺县",140724:"昔阳县",140725:"寿阳县",140726:"太谷县",140727:"祁县",140728:"平遥县",140729:"灵石县",140781:"介休市",140782:"其它区",140800:"运城市",140802:"盐湖区",140821:"临猗县",140822:"万荣县",140823:"闻喜县",140824:"稷山县",140825:"新绛县",140826:"绛县",140827:"垣曲县",140828:"夏县",140829:"平陆县",140830:"芮城县",140881:"永济市",140882:"河津市",140883:"其它区",140900:"忻州市",140902:"忻府区",140921:"定襄县",140922:"五台县",140923:"代县",140924:"繁峙县",140925:"宁武县",140926:"静乐县",140927:"神池县",140928:"五寨县",140929:"岢岚县",140930:"河曲县",140931:"保德县",140932:"偏关县",140981:"原平市",140982:"其它区",141e3:"临汾市",141002:"尧都区",141021:"曲沃县",141022:"翼城县",141023:"襄汾县",141024:"洪洞县",141025:"古县",141026:"安泽县",141027:"浮山县",141028:"吉县",141029:"乡宁县",141030:"大宁县",141031:"隰县",141032:"永和县",141033:"蒲县",141034:"汾西县",141081:"侯马市",141082:"霍州市",141083:"其它区",141100:"吕梁市",141102:"离石区",141121:"文水县",141122:"交城县",141123:"兴县",141124:"临县",141125:"柳林县",141126:"石楼县",141127:"岚县",141128:"方山县",141129:"中阳县",141130:"交口县",141181:"孝义市",141182:"汾阳市",141183:"其它区",15e4:"内蒙古自治区",150100:"呼和浩特市",150102:"新城区",150103:"回民区",150104:"玉泉区",150105:"赛罕区",150121:"土默特左旗",150122:"托克托县",150123:"和林格尔县",150124:"清水河县",150125:"武川县",150126:"其它区",150200:"包头市",150202:"东河区",150203:"昆都仑区",150204:"青山区",150205:"石拐区",150206:"白云鄂博矿区",150207:"九原区",150221:"土默特右旗",150222:"固阳县",150223:"达尔罕茂明安联合旗",150224:"其它区",150300:"乌海市",150302:"海勃湾区",150303:"海南区",150304:"乌达区",150305:"其它区",150400:"赤峰市",150402:"红山区",150403:"元宝山区",150404:"松山区",150421:"阿鲁科尔沁旗",150422:"巴林左旗",150423:"巴林右旗",150424:"林西县",150425:"克什克腾旗",150426:"翁牛特旗",150428:"喀喇沁旗",150429:"宁城县",150430:"敖汉旗",150431:"其它区",150500:"通辽市",150502:"科尔沁区",150521:"科尔沁左翼中旗",150522:"科尔沁左翼后旗",150523:"开鲁县",150524:"库伦旗",150525:"奈曼旗",150526:"扎鲁特旗",150581:"霍林郭勒市",150582:"其它区",150600:"鄂尔多斯市",150602:"东胜区",150621:"达拉特旗",150622:"准格尔旗",150623:"鄂托克前旗",150624:"鄂托克旗",150625:"杭锦旗",150626:"乌审旗",150627:"伊金霍洛旗",150628:"其它区",150700:"呼伦贝尔市",150702:"海拉尔区",150703:"扎赉诺尔区",150721:"阿荣旗",150722:"莫力达瓦达斡尔族自治旗",150723:"鄂伦春自治旗",150724:"鄂温克族自治旗",150725:"陈巴尔虎旗",150726:"新巴尔虎左旗",150727:"新巴尔虎右旗",150781:"满洲里市",150782:"牙克石市",150783:"扎兰屯市",150784:"额尔古纳市",150785:"根河市",150786:"其它区",150800:"巴彦淖尔市",150802:"临河区",150821:"五原县",150822:"磴口县",150823:"乌拉特前旗",150824:"乌拉特中旗",150825:"乌拉特后旗",150826:"杭锦后旗",150827:"其它区",150900:"乌兰察布市",150902:"集宁区",150921:"卓资县",150922:"化德县",150923:"商都县",150924:"兴和县",150925:"凉城县",150926:"察哈尔右翼前旗",150927:"察哈尔右翼中旗",150928:"察哈尔右翼后旗",150929:"四子王旗",150981:"丰镇市",150982:"其它区",152200:"兴安盟",152201:"乌兰浩特市",152202:"阿尔山市",152221:"科尔沁右翼前旗",152222:"科尔沁右翼中旗",152223:"扎赉特旗",152224:"突泉县",152225:"其它区",152500:"锡林郭勒盟",152501:"二连浩特市",152502:"锡林浩特市",152522:"阿巴嘎旗",152523:"苏尼特左旗",152524:"苏尼特右旗",152525:"东乌珠穆沁旗",152526:"西乌珠穆沁旗",152527:"太仆寺旗",152528:"镶黄旗",152529:"正镶白旗",152530:"正蓝旗",152531:"多伦县",152532:"其它区",152900:"阿拉善盟",152921:"阿拉善左旗",152922:"阿拉善右旗",152923:"额济纳旗",152924:"其它区",21e4:"辽宁省",210100:"沈阳市",210102:"和平区",210103:"沈河区",210104:"大东区",210105:"皇姑区",210106:"铁西区",210111:"苏家屯区",210112:"东陵区",210113:"新城子区",210114:"于洪区",210122:"辽中县",210123:"康平县",210124:"法库县",210181:"新民市",210184:"沈北新区",210185:"其它区",210200:"大连市",210202:"中山区",210203:"西岗区",210204:"沙河口区",210211:"甘井子区",210212:"旅顺口区",210213:"金州区",210224:"长海县",210281:"瓦房店市",210282:"普兰店市",210283:"庄河市",210298:"其它区",210300:"鞍山市",210302:"铁东区",210303:"铁西区",210304:"立山区",210311:"千山区",210321:"台安县",210323:"岫岩满族自治县",210381:"海城市",210382:"其它区",210400:"抚顺市",210402:"新抚区",210403:"东洲区",210404:"望花区",210411:"顺城区",210421:"抚顺县",210422:"新宾满族自治县",210423:"清原满族自治县",210424:"其它区",210500:"本溪市",210502:"平山区",210503:"溪湖区",210504:"明山区",210505:"南芬区",210521:"本溪满族自治县",210522:"桓仁满族自治县",210523:"其它区",210600:"丹东市",210602:"元宝区",210603:"振兴区",210604:"振安区",210624:"宽甸满族自治县",210681:"东港市",210682:"凤城市",210683:"其它区",210700:"锦州市",210702:"古塔区",210703:"凌河区",210711:"太和区",210726:"黑山县",210727:"义县",210781:"凌海市",210782:"北镇市",210783:"其它区",210800:"营口市",210802:"站前区",210803:"西市区",210804:"鲅鱼圈区",210811:"老边区",210881:"盖州市",210882:"大石桥市",210883:"其它区",210900:"阜新市",210902:"海州区",210903:"新邱区",210904:"太平区",210905:"清河门区",210911:"细河区",210921:"阜新蒙古族自治县",210922:"彰武县",210923:"其它区",211e3:"辽阳市",211002:"白塔区",211003:"文圣区",211004:"宏伟区",211005:"弓长岭区",211011:"太子河区",211021:"辽阳县",211081:"灯塔市",211082:"其它区",211100:"盘锦市",211102:"双台子区",211103:"兴隆台区",211121:"大洼县",211122:"盘山县",211123:"其它区",211200:"铁岭市",211202:"银州区",211204:"清河区",211221:"铁岭县",211223:"西丰县",211224:"昌图县",211281:"调兵山市",211282:"开原市",211283:"其它区",211300:"朝阳市",211302:"双塔区",211303:"龙城区",211321:"朝阳县",211322:"建平县",211324:"喀喇沁左翼蒙古族自治县",211381:"北票市",211382:"凌源市",211383:"其它区",211400:"葫芦岛市",211402:"连山区",211403:"龙港区",211404:"南票区",211421:"绥中县",211422:"建昌县",211481:"兴城市",211482:"其它区",22e4:"吉林省",220100:"长春市",220102:"南关区",220103:"宽城区",220104:"朝阳区",220105:"二道区",220106:"绿园区",220112:"双阳区",220122:"农安县",220181:"九台市",220182:"榆树市",220183:"德惠市",220188:"其它区",220200:"吉林市",220202:"昌邑区",220203:"龙潭区",220204:"船营区",220211:"丰满区",220221:"永吉县",220281:"蛟河市",220282:"桦甸市",220283:"舒兰市",220284:"磐石市",220285:"其它区",220300:"四平市",220302:"铁西区",220303:"铁东区",220322:"梨树县",220323:"伊通满族自治县",220381:"公主岭市",220382:"双辽市",220383:"其它区",220400:"辽源市",220402:"龙山区",220403:"西安区",220421:"东丰县",220422:"东辽县",220423:"其它区",220500:"通化市",220502:"东昌区",220503:"二道江区",220521:"通化县",220523:"辉南县",220524:"柳河县",220581:"梅河口市",220582:"集安市",220583:"其它区",220600:"白山市",220602:"浑江区",220621:"抚松县",220622:"靖宇县",220623:"长白朝鲜族自治县",220625:"江源区",220681:"临江市",220682:"其它区",220700:"松原市",220702:"宁江区",220721:"前郭尔罗斯蒙古族自治县",220722:"长岭县",220723:"乾安县",220724:"扶余市",220725:"其它区",220800:"白城市",220802:"洮北区",220821:"镇赉县",220822:"通榆县",220881:"洮南市",220882:"大安市",220883:"其它区",222400:"延边朝鲜族自治州",222401:"延吉市",222402:"图们市",222403:"敦化市",222404:"珲春市",222405:"龙井市",222406:"和龙市",222424:"汪清县",222426:"安图县",222427:"其它区",23e4:"黑龙江省",230100:"哈尔滨市",230102:"道里区",230103:"南岗区",230104:"道外区",230106:"香坊区",230108:"平房区",230109:"松北区",230111:"呼兰区",230123:"依兰县",230124:"方正县",230125:"宾县",230126:"巴彦县",230127:"木兰县",230128:"通河县",230129:"延寿县",230181:"阿城区",230182:"双城市",230183:"尚志市",230184:"五常市",230186:"其它区",230200:"齐齐哈尔市",230202:"龙沙区",230203:"建华区",230204:"铁锋区",230205:"昂昂溪区",230206:"富拉尔基区",230207:"碾子山区",230208:"梅里斯达斡尔族区",230221:"龙江县",230223:"依安县",230224:"泰来县",230225:"甘南县",230227:"富裕县",230229:"克山县",230230:"克东县",230231:"拜泉县",230281:"讷河市",230282:"其它区",230300:"鸡西市",230302:"鸡冠区",230303:"恒山区",230304:"滴道区",230305:"梨树区",230306:"城子河区",230307:"麻山区",230321:"鸡东县",230381:"虎林市",230382:"密山市",230383:"其它区",230400:"鹤岗市",230402:"向阳区",230403:"工农区",230404:"南山区",230405:"兴安区",230406:"东山区",230407:"兴山区",230421:"萝北县",230422:"绥滨县",230423:"其它区",230500:"双鸭山市",230502:"尖山区",230503:"岭东区",230505:"四方台区",230506:"宝山区",230521:"集贤县",230522:"友谊县",230523:"宝清县",230524:"饶河县",230525:"其它区",230600:"大庆市",230602:"萨尔图区",230603:"龙凤区",230604:"让胡路区",230605:"红岗区",230606:"大同区",230621:"肇州县",230622:"肇源县",230623:"林甸县",230624:"杜尔伯特蒙古族自治县",230625:"其它区",230700:"伊春市",230702:"伊春区",230703:"南岔区",230704:"友好区",230705:"西林区",230706:"翠峦区",230707:"新青区",230708:"美溪区",230709:"金山屯区",230710:"五营区",230711:"乌马河区",230712:"汤旺河区",230713:"带岭区",230714:"乌伊岭区",230715:"红星区",230716:"上甘岭区",230722:"嘉荫县",230781:"铁力市",230782:"其它区",230800:"佳木斯市",230803:"向阳区",230804:"前进区",230805:"东风区",230811:"郊区",230822:"桦南县",230826:"桦川县",230828:"汤原县",230833:"抚远县",230881:"同江市",230882:"富锦市",230883:"其它区",230900:"七台河市",230902:"新兴区",230903:"桃山区",230904:"茄子河区",230921:"勃利县",230922:"其它区",231e3:"牡丹江市",231002:"东安区",231003:"阳明区",231004:"爱民区",231005:"西安区",231024:"东宁县",231025:"林口县",231081:"绥芬河市",231083:"海林市",231084:"宁安市",231085:"穆棱市",231086:"其它区",231100:"黑河市",231102:"爱辉区",231121:"嫩江县",231123:"逊克县",231124:"孙吴县",231181:"北安市",231182:"五大连池市",231183:"其它区",231200:"绥化市",231202:"北林区",231221:"望奎县",231222:"兰西县",231223:"青冈县",231224:"庆安县",231225:"明水县",231226:"绥棱县",231281:"安达市",231282:"肇东市",231283:"海伦市",231284:"其它区",232700:"大兴安岭地区",232702:"松岭区",232703:"新林区",232704:"呼中区",232721:"呼玛县",232722:"塔河县",232723:"漠河县",232724:"加格达奇区",232725:"其它区",31e4:"上海",310100:"上海市",310101:"黄浦区",310104:"徐汇区",310105:"长宁区",310106:"静安区",310107:"普陀区",310108:"闸北区",310109:"虹口区",310110:"杨浦区",310112:"闵行区",310113:"宝山区",310114:"嘉定区",310115:"浦东新区",310116:"金山区",310117:"松江区",310118:"青浦区",310120:"奉贤区",310230:"崇明县",310231:"其它区",32e4:"江苏省",320100:"南京市",320102:"玄武区",320104:"秦淮区",320105:"建邺区",320106:"鼓楼区",320111:"浦口区",320113:"栖霞区",320114:"雨花台区",320115:"江宁区",320116:"六合区",320124:"溧水区",320125:"高淳区",320126:"其它区",320200:"无锡市",320202:"崇安区",320203:"南长区",320204:"北塘区",320205:"锡山区",320206:"惠山区",320211:"滨湖区",320281:"江阴市",320282:"宜兴市",320297:"其它区",320300:"徐州市",320302:"鼓楼区",320303:"云龙区",320305:"贾汪区",320311:"泉山区",320321:"丰县",320322:"沛县",320323:"铜山区",320324:"睢宁县",320381:"新沂市",320382:"邳州市",320383:"其它区",320400:"常州市",320402:"天宁区",320404:"钟楼区",320405:"戚墅堰区",320411:"新北区",320412:"武进区",320481:"溧阳市",320482:"金坛市",320483:"其它区",320500:"苏州市",320505:"虎丘区",320506:"吴中区",320507:"相城区",320508:"姑苏区",320581:"常熟市",320582:"张家港市",320583:"昆山市",320584:"吴江区",320585:"太仓市",320596:"其它区",320600:"南通市",320602:"崇川区",320611:"港闸区",320612:"通州区",320621:"海安县",320623:"如东县",320681:"启东市",320682:"如皋市",320684:"海门市",320694:"其它区",320700:"连云港市",320703:"连云区",320705:"新浦区",320706:"海州区",320721:"赣榆县",320722:"东海县",320723:"灌云县",320724:"灌南县",320725:"其它区",320800:"淮安市",320802:"清河区",320803:"淮安区",320804:"淮阴区",320811:"清浦区",320826:"涟水县",320829:"洪泽县",320830:"盱眙县",320831:"金湖县",320832:"其它区",320900:"盐城市",320902:"亭湖区",320903:"盐都区",320921:"响水县",320922:"滨海县",320923:"阜宁县",320924:"射阳县",320925:"建湖县",320981:"东台市",320982:"大丰市",320983:"其它区",321e3:"扬州市",321002:"广陵区",321003:"邗江区",321023:"宝应县",321081:"仪征市",321084:"高邮市",321088:"江都区",321093:"其它区",321100:"镇江市",321102:"京口区",321111:"润州区",321112:"丹徒区",321181:"丹阳市",321182:"扬中市",321183:"句容市",321184:"其它区",321200:"泰州市",321202:"海陵区",321203:"高港区",321281:"兴化市",321282:"靖江市",321283:"泰兴市",321284:"姜堰区",321285:"其它区",321300:"宿迁市",321302:"宿城区",321311:"宿豫区",321322:"沭阳县",321323:"泗阳县",321324:"泗洪县",321325:"其它区",33e4:"浙江省",330100:"杭州市",330102:"上城区",330103:"下城区",330104:"江干区",330105:"拱墅区",330106:"西湖区",330108:"滨江区",330109:"萧山区",330110:"余杭区",330122:"桐庐县",330127:"淳安县",330182:"建德市",330183:"富阳市",330185:"临安市",330186:"其它区",330200:"宁波市",330203:"海曙区",330204:"江东区",330205:"江北区",330206:"北仑区",330211:"镇海区",330212:"鄞州区",330225:"象山县",330226:"宁海县",330281:"余姚市",330282:"慈溪市",330283:"奉化市",330284:"其它区",330300:"温州市",330302:"鹿城区",330303:"龙湾区",330304:"瓯海区",330322:"洞头县",330324:"永嘉县",330326:"平阳县",330327:"苍南县",330328:"文成县",330329:"泰顺县",330381:"瑞安市",330382:"乐清市",330383:"其它区",330400:"嘉兴市",330402:"南湖区",330411:"秀洲区",330421:"嘉善县",330424:"海盐县",330481:"海宁市",330482:"平湖市",330483:"桐乡市",330484:"其它区",330500:"湖州市",330502:"吴兴区",330503:"南浔区",330521:"德清县",330522:"长兴县",330523:"安吉县",330524:"其它区",330600:"绍兴市",330602:"越城区",330621:"绍兴县",330624:"新昌县",330681:"诸暨市",330682:"上虞市",330683:"嵊州市",330684:"其它区",330700:"金华市",330702:"婺城区",330703:"金东区",330723:"武义县",330726:"浦江县",330727:"磐安县",330781:"兰溪市",330782:"义乌市",330783:"东阳市",330784:"永康市",330785:"其它区",330800:"衢州市",330802:"柯城区",330803:"衢江区",330822:"常山县",330824:"开化县",330825:"龙游县",330881:"江山市",330882:"其它区",330900:"舟山市",330902:"定海区",330903:"普陀区",330921:"岱山县",330922:"嵊泗县",330923:"其它区",331e3:"台州市",331002:"椒江区",331003:"黄岩区",331004:"路桥区",331021:"玉环县",331022:"三门县",331023:"天台县",331024:"仙居县",331081:"温岭市",331082:"临海市",331083:"其它区",331100:"丽水市",331102:"莲都区",331121:"青田县",331122:"缙云县",331123:"遂昌县",331124:"松阳县",331125:"云和县",331126:"庆元县",331127:"景宁畲族自治县",331181:"龙泉市",331182:"其它区",34e4:"安徽省",340100:"合肥市",340102:"瑶海区",340103:"庐阳区",340104:"蜀山区",340111:"包河区",340121:"长丰县",340122:"肥东县",340123:"肥西县",340192:"其它区",340200:"芜湖市",340202:"镜湖区",340203:"弋江区",340207:"鸠江区",340208:"三山区",340221:"芜湖县",340222:"繁昌县",340223:"南陵县",340224:"其它区",340300:"蚌埠市",340302:"龙子湖区",340303:"蚌山区",340304:"禹会区",340311:"淮上区",340321:"怀远县",340322:"五河县",340323:"固镇县",340324:"其它区",340400:"淮南市",340402:"大通区",340403:"田家庵区",340404:"谢家集区",340405:"八公山区",340406:"潘集区",340421:"凤台县",340422:"其它区",340500:"马鞍山市",340503:"花山区",340504:"雨山区",340506:"博望区",340521:"当涂县",340522:"其它区",340600:"淮北市",340602:"杜集区",340603:"相山区",340604:"烈山区",340621:"濉溪县",340622:"其它区",340700:"铜陵市",340702:"铜官山区",340703:"狮子山区",340711:"郊区",340721:"铜陵县",340722:"其它区",340800:"安庆市",340802:"迎江区",340803:"大观区",340811:"宜秀区",340822:"怀宁县",340823:"枞阳县",340824:"潜山县",340825:"太湖县",340826:"宿松县",340827:"望江县",340828:"岳西县",340881:"桐城市",340882:"其它区",341e3:"黄山市",341002:"屯溪区",341003:"黄山区",341004:"徽州区",341021:"歙县",341022:"休宁县",341023:"黟县",341024:"祁门县",341025:"其它区",341100:"滁州市",341102:"琅琊区",341103:"南谯区",341122:"来安县",341124:"全椒县",341125:"定远县",341126:"凤阳县",341181:"天长市",341182:"明光市",341183:"其它区",341200:"阜阳市",341202:"颍州区",341203:"颍东区",341204:"颍泉区",341221:"临泉县",341222:"太和县",341225:"阜南县",341226:"颍上县",341282:"界首市",341283:"其它区",341300:"宿州市",341302:"埇桥区",341321:"砀山县",341322:"萧县",341323:"灵璧县",341324:"泗县",341325:"其它区",341400:"巢湖市",341421:"庐江县",341422:"无为县",341423:"含山县",341424:"和县",341500:"六安市",341502:"金安区",341503:"裕安区",341521:"寿县",341522:"霍邱县",341523:"舒城县",341524:"金寨县",341525:"霍山县",341526:"其它区",341600:"亳州市",341602:"谯城区",341621:"涡阳县",341622:"蒙城县",341623:"利辛县",341624:"其它区",341700:"池州市",341702:"贵池区",341721:"东至县",341722:"石台县",341723:"青阳县",341724:"其它区",341800:"宣城市",341802:"宣州区",341821:"郎溪县",341822:"广德县",341823:"泾县",341824:"绩溪县",341825:"旌德县",341881:"宁国市",341882:"其它区",35e4:"福建省",350100:"福州市",350102:"鼓楼区",350103:"台江区",350104:"仓山区",350105:"马尾区",350111:"晋安区",350121:"闽侯县",350122:"连江县",350123:"罗源县",350124:"闽清县",350125:"永泰县",350128:"平潭县",350181:"福清市",350182:"长乐市",350183:"其它区",350200:"厦门市",350203:"思明区",350205:"海沧区",350206:"湖里区",350211:"集美区",350212:"同安区",350213:"翔安区",350214:"其它区",350300:"莆田市",350302:"城厢区",350303:"涵江区",350304:"荔城区",350305:"秀屿区",350322:"仙游县",350323:"其它区",350400:"三明市",350402:"梅列区",350403:"三元区",350421:"明溪县",350423:"清流县",350424:"宁化县",350425:"大田县",350426:"尤溪县",350427:"沙县",350428:"将乐县",350429:"泰宁县",350430:"建宁县",350481:"永安市",350482:"其它区",350500:"泉州市",350502:"鲤城区",350503:"丰泽区",350504:"洛江区",350505:"泉港区",350521:"惠安县",350524:"安溪县",350525:"永春县",350526:"德化县",350527:"金门县",350581:"石狮市",350582:"晋江市",350583:"南安市",350584:"其它区",350600:"漳州市",350602:"芗城区",350603:"龙文区",350622:"云霄县",350623:"漳浦县",350624:"诏安县",350625:"长泰县",350626:"东山县",350627:"南靖县",350628:"平和县",350629:"华安县",350681:"龙海市",350682:"其它区",350700:"南平市",350702:"延平区",350721:"顺昌县",350722:"浦城县",350723:"光泽县",350724:"松溪县",350725:"政和县",350781:"邵武市",350782:"武夷山市",350783:"建瓯市",350784:"建阳市",350785:"其它区",350800:"龙岩市",350802:"新罗区",350821:"长汀县",350822:"永定县",350823:"上杭县",350824:"武平县",350825:"连城县",350881:"漳平市",350882:"其它区",350900:"宁德市",350902:"蕉城区",350921:"霞浦县",350922:"古田县",350923:"屏南县",350924:"寿宁县",350925:"周宁县",350926:"柘荣县",350981:"福安市",350982:"福鼎市",350983:"其它区",36e4:"江西省",360100:"南昌市",360102:"东湖区",360103:"西湖区",360104:"青云谱区",360105:"湾里区",360111:"青山湖区",360121:"南昌县",360122:"新建县",360123:"安义县",360124:"进贤县",360128:"其它区",360200:"景德镇市",360202:"昌江区",360203:"珠山区",360222:"浮梁县",360281:"乐平市",360282:"其它区",360300:"萍乡市",360302:"安源区",360313:"湘东区",360321:"莲花县",360322:"上栗县",360323:"芦溪县",360324:"其它区",360400:"九江市",360402:"庐山区",360403:"浔阳区",360421:"九江县",360423:"武宁县",360424:"修水县",360425:"永修县",360426:"德安县",360427:"星子县",360428:"都昌县",360429:"湖口县",360430:"彭泽县",360481:"瑞昌市",360482:"其它区",360483:"共青城市",360500:"新余市",360502:"渝水区",360521:"分宜县",360522:"其它区",360600:"鹰潭市",360602:"月湖区",360622:"余江县",360681:"贵溪市",360682:"其它区",360700:"赣州市",360702:"章贡区",360721:"赣县",360722:"信丰县",360723:"大余县",360724:"上犹县",360725:"崇义县",360726:"安远县",360727:"龙南县",360728:"定南县",360729:"全南县",360730:"宁都县",360731:"于都县",360732:"兴国县",360733:"会昌县",360734:"寻乌县",360735:"石城县",360781:"瑞金市",360782:"南康市",360783:"其它区",360800:"吉安市",360802:"吉州区",360803:"青原区",360821:"吉安县",360822:"吉水县",360823:"峡江县",360824:"新干县",360825:"永丰县",360826:"泰和县",360827:"遂川县",360828:"万安县",360829:"安福县",360830:"永新县",360881:"井冈山市",360882:"其它区",360900:"宜春市",360902:"袁州区",360921:"奉新县",360922:"万载县",360923:"上高县",360924:"宜丰县",360925:"靖安县",360926:"铜鼓县",360981:"丰城市",360982:"樟树市",360983:"高安市",360984:"其它区",361e3:"抚州市",361002:"临川区",361021:"南城县",361022:"黎川县",361023:"南丰县",361024:"崇仁县",361025:"乐安县",361026:"宜黄县",361027:"金溪县",361028:"资溪县",361029:"东乡县",361030:"广昌县",361031:"其它区",361100:"上饶市",361102:"信州区",361121:"上饶县",361122:"广丰县",361123:"玉山县",361124:"铅山县",361125:"横峰县",361126:"弋阳县",361127:"余干县",361128:"鄱阳县",361129:"万年县",361130:"婺源县",361181:"德兴市",361182:"其它区",37e4:"山东省",370100:"济南市",370102:"历下区",370103:"市中区",370104:"槐荫区",370105:"天桥区",370112:"历城区",370113:"长清区",370124:"平阴县",370125:"济阳县",370126:"商河县",370181:"章丘市",370182:"其它区",370200:"青岛市",370202:"市南区",370203:"市北区",370211:"黄岛区",370212:"崂山区",370213:"李沧区",370214:"城阳区",370281:"胶州市",370282:"即墨市",370283:"平度市",370285:"莱西市",370286:"其它区",370300:"淄博市",370302:"淄川区",370303:"张店区",370304:"博山区",370305:"临淄区",370306:"周村区",370321:"桓台县",370322:"高青县",370323:"沂源县",370324:"其它区",370400:"枣庄市",370402:"市中区",370403:"薛城区",370404:"峄城区",370405:"台儿庄区",370406:"山亭区",370481:"滕州市",370482:"其它区",370500:"东营市",370502:"东营区",370503:"河口区",370521:"垦利县",370522:"利津县",370523:"广饶县",370591:"其它区",370600:"烟台市",370602:"芝罘区",370611:"福山区",370612:"牟平区",370613:"莱山区",370634:"长岛县",370681:"龙口市",370682:"莱阳市",370683:"莱州市",370684:"蓬莱市",370685:"招远市",370686:"栖霞市",370687:"海阳市",370688:"其它区",370700:"潍坊市",370702:"潍城区",370703:"寒亭区",370704:"坊子区",370705:"奎文区",370724:"临朐县",370725:"昌乐县",370781:"青州市",370782:"诸城市",370783:"寿光市",370784:"安丘市",370785:"高密市",370786:"昌邑市",370787:"其它区",370800:"济宁市",370802:"市中区",370811:"任城区",370826:"微山县",370827:"鱼台县",370828:"金乡县",370829:"嘉祥县",370830:"汶上县",370831:"泗水县",370832:"梁山县",370881:"曲阜市",370882:"兖州市",370883:"邹城市",370884:"其它区",370900:"泰安市",370902:"泰山区",370903:"岱岳区",370921:"宁阳县",370923:"东平县",370982:"新泰市",370983:"肥城市",370984:"其它区",371e3:"威海市",371002:"环翠区",371081:"文登市",371082:"荣成市",371083:"乳山市",371084:"其它区",371100:"日照市",371102:"东港区",371103:"岚山区",371121:"五莲县",371122:"莒县",371123:"其它区",371200:"莱芜市",371202:"莱城区",371203:"钢城区",371204:"其它区",371300:"临沂市",371302:"兰山区",371311:"罗庄区",371312:"河东区",371321:"沂南县",371322:"郯城县",371323:"沂水县",371324:"苍山县",371325:"费县",371326:"平邑县",371327:"莒南县",371328:"蒙阴县",371329:"临沭县",371330:"其它区",371400:"德州市",371402:"德城区",371421:"陵县",371422:"宁津县",371423:"庆云县",371424:"临邑县",371425:"齐河县",371426:"平原县",371427:"夏津县",371428:"武城县",371481:"乐陵市",371482:"禹城市",371483:"其它区",371500:"聊城市",371502:"东昌府区",371521:"阳谷县",371522:"莘县",371523:"茌平县",371524:"东阿县",371525:"冠县",371526:"高唐县",371581:"临清市",371582:"其它区",371600:"滨州市",371602:"滨城区",371621:"惠民县",371622:"阳信县",371623:"无棣县",371624:"沾化县",371625:"博兴县",371626:"邹平县",371627:"其它区",371700:"菏泽市",371702:"牡丹区",371721:"曹县",371722:"单县",371723:"成武县",371724:"巨野县",371725:"郓城县",371726:"鄄城县",371727:"定陶县",371728:"东明县",371729:"其它区",41e4:"河南省",410100:"郑州市",410102:"中原区",410103:"二七区",410104:"管城回族区",410105:"金水区",410106:"上街区",410108:"惠济区",410122:"中牟县",410181:"巩义市",410182:"荥阳市",410183:"新密市",410184:"新郑市",410185:"登封市",410188:"其它区",410200:"开封市",410202:"龙亭区",410203:"顺河回族区",410204:"鼓楼区",410205:"禹王台区",410211:"金明区",410221:"杞县",410222:"通许县",410223:"尉氏县",410224:"开封县",410225:"兰考县",410226:"其它区",410300:"洛阳市",410302:"老城区",410303:"西工区",410304:"瀍河回族区",410305:"涧西区",410306:"吉利区",410307:"洛龙区",410322:"孟津县",410323:"新安县",410324:"栾川县",410325:"嵩县",410326:"汝阳县",410327:"宜阳县",410328:"洛宁县",410329:"伊川县",410381:"偃师市",410400:"平顶山市",410402:"新华区",410403:"卫东区",410404:"石龙区",410411:"湛河区",410421:"宝丰县",410422:"叶县",410423:"鲁山县",410425:"郏县",410481:"舞钢市",410482:"汝州市",410483:"其它区",410500:"安阳市",410502:"文峰区",410503:"北关区",410505:"殷都区",410506:"龙安区",410522:"安阳县",410523:"汤阴县",410526:"滑县",410527:"内黄县",410581:"林州市",410582:"其它区",410600:"鹤壁市",410602:"鹤山区",410603:"山城区",410611:"淇滨区",410621:"浚县",410622:"淇县",410623:"其它区",410700:"新乡市",410702:"红旗区",410703:"卫滨区",410704:"凤泉区",410711:"牧野区",410721:"新乡县",410724:"获嘉县",410725:"原阳县",410726:"延津县",410727:"封丘县",410728:"长垣县",410781:"卫辉市",410782:"辉县市",410783:"其它区",410800:"焦作市",410802:"解放区",410803:"中站区",410804:"马村区",410811:"山阳区",410821:"修武县",410822:"博爱县",410823:"武陟县",410825:"温县",410881:"济源市",410882:"沁阳市",410883:"孟州市",410884:"其它区",410900:"濮阳市",410902:"华龙区",410922:"清丰县",410923:"南乐县",410926:"范县",410927:"台前县",410928:"濮阳县",410929:"其它区",411e3:"许昌市",411002:"魏都区",411023:"许昌县",411024:"鄢陵县",411025:"襄城县",411081:"禹州市",411082:"长葛市",411083:"其它区",411100:"漯河市",411102:"源汇区",411103:"郾城区",411104:"召陵区",411121:"舞阳县",411122:"临颍县",411123:"其它区",411200:"三门峡市",411202:"湖滨区",411221:"渑池县",411222:"陕县",411224:"卢氏县",411281:"义马市",411282:"灵宝市",411283:"其它区",411300:"南阳市",411302:"宛城区",411303:"卧龙区",411321:"南召县",411322:"方城县",411323:"西峡县",411324:"镇平县",411325:"内乡县",411326:"淅川县",411327:"社旗县",411328:"唐河县",411329:"新野县",411330:"桐柏县",411381:"邓州市",411382:"其它区",411400:"商丘市",411402:"梁园区",411403:"睢阳区",411421:"民权县",411422:"睢县",411423:"宁陵县",411424:"柘城县",411425:"虞城县",411426:"夏邑县",411481:"永城市",411482:"其它区",411500:"信阳市",411502:"浉河区",411503:"平桥区",411521:"罗山县",411522:"光山县",411523:"新县",411524:"商城县",411525:"固始县",411526:"潢川县",411527:"淮滨县",411528:"息县",411529:"其它区",411600:"周口市",411602:"川汇区",411621:"扶沟县",411622:"西华县",411623:"商水县",411624:"沈丘县",411625:"郸城县",411626:"淮阳县",411627:"太康县",411628:"鹿邑县",411681:"项城市",411682:"其它区",411700:"驻马店市",411702:"驿城区",411721:"西平县",411722:"上蔡县",411723:"平舆县",411724:"正阳县",411725:"确山县",411726:"泌阳县",411727:"汝南县",411728:"遂平县",411729:"新蔡县",411730:"其它区",42e4:"湖北省",420100:"武汉市",420102:"江岸区",420103:"江汉区",420104:"硚口区",420105:"汉阳区",420106:"武昌区",420107:"青山区",420111:"洪山区",420112:"东西湖区",420113:"汉南区",420114:"蔡甸区",420115:"江夏区",420116:"黄陂区",420117:"新洲区",420118:"其它区",420200:"黄石市",420202:"黄石港区",420203:"西塞山区",420204:"下陆区",420205:"铁山区",420222:"阳新县",420281:"大冶市",420282:"其它区",420300:"十堰市",420302:"茅箭区",420303:"张湾区",420321:"郧县",420322:"郧西县",420323:"竹山县",420324:"竹溪县",420325:"房县",420381:"丹江口市",420383:"其它区",420500:"宜昌市",420502:"西陵区",420503:"伍家岗区",420504:"点军区",420505:"猇亭区",420506:"夷陵区",420525:"远安县",420526:"兴山县",420527:"秭归县",420528:"长阳土家族自治县",420529:"五峰土家族自治县",420581:"宜都市",420582:"当阳市",420583:"枝江市",420584:"其它区",420600:"襄阳市",420602:"襄城区",420606:"樊城区",420607:"襄州区",420624:"南漳县",420625:"谷城县",420626:"保康县",420682:"老河口市",420683:"枣阳市",420684:"宜城市",420685:"其它区",420700:"鄂州市",420702:"梁子湖区",420703:"华容区",420704:"鄂城区",420705:"其它区",420800:"荆门市",420802:"东宝区",420804:"掇刀区",420821:"京山县",420822:"沙洋县",420881:"钟祥市",420882:"其它区",420900:"孝感市",420902:"孝南区",420921:"孝昌县",420922:"大悟县",420923:"云梦县",420981:"应城市",420982:"安陆市",420984:"汉川市",420985:"其它区",421e3:"荆州市",421002:"沙市区",421003:"荆州区",421022:"公安县",421023:"监利县",421024:"江陵县",421081:"石首市",421083:"洪湖市",421087:"松滋市",421088:"其它区",421100:"黄冈市",421102:"黄州区",421121:"团风县",421122:"红安县",421123:"罗田县",421124:"英山县",421125:"浠水县",421126:"蕲春县",421127:"黄梅县",421181:"麻城市",421182:"武穴市",421183:"其它区",421200:"咸宁市",421202:"咸安区",421221:"嘉鱼县",421222:"通城县",421223:"崇阳县",421224:"通山县",421281:"赤壁市",421283:"其它区",421300:"随州市",421302:"曾都区",421321:"随县",421381:"广水市",421382:"其它区",422800:"恩施土家族苗族自治州",422801:"恩施市",422802:"利川市",422822:"建始县",422823:"巴东县",422825:"宣恩县",422826:"咸丰县",422827:"来凤县",422828:"鹤峰县",422829:"其它区",429004:"仙桃市",429005:"潜江市",429006:"天门市",429021:"神农架林区",43e4:"湖南省",430100:"长沙市",430102:"芙蓉区",430103:"天心区",430104:"岳麓区",430105:"开福区",430111:"雨花区",430121:"长沙县",430122:"望城区",430124:"宁乡县",430181:"浏阳市",430182:"其它区",430200:"株洲市",430202:"荷塘区",430203:"芦淞区",430204:"石峰区",430211:"天元区",430221:"株洲县",430223:"攸县",430224:"茶陵县",430225:"炎陵县",430281:"醴陵市",430282:"其它区",430300:"湘潭市",430302:"雨湖区",430304:"岳塘区",430321:"湘潭县",430381:"湘乡市",430382:"韶山市",430383:"其它区",430400:"衡阳市",430405:"珠晖区",430406:"雁峰区",430407:"石鼓区",430408:"蒸湘区",430412:"南岳区",430421:"衡阳县",430422:"衡南县",430423:"衡山县",430424:"衡东县",430426:"祁东县",430481:"耒阳市",430482:"常宁市",430483:"其它区",430500:"邵阳市",430502:"双清区",430503:"大祥区",430511:"北塔区",430521:"邵东县",430522:"新邵县",430523:"邵阳县",430524:"隆回县",430525:"洞口县",430527:"绥宁县",430528:"新宁县",430529:"城步苗族自治县",430581:"武冈市",430582:"其它区",430600:"岳阳市",430602:"岳阳楼区",430603:"云溪区",430611:"君山区",430621:"岳阳县",430623:"华容县",430624:"湘阴县",430626:"平江县",430681:"汨罗市",430682:"临湘市",430683:"其它区",430700:"常德市",430702:"武陵区",430703:"鼎城区",430721:"安乡县",430722:"汉寿县",430723:"澧县",430724:"临澧县",430725:"桃源县",430726:"石门县",430781:"津市市",430782:"其它区",430800:"张家界市",430802:"永定区",430811:"武陵源区",430821:"慈利县",430822:"桑植县",430823:"其它区",430900:"益阳市",430902:"资阳区",430903:"赫山区",430921:"南县",430922:"桃江县",430923:"安化县",430981:"沅江市",430982:"其它区",431e3:"郴州市",431002:"北湖区",431003:"苏仙区",431021:"桂阳县",431022:"宜章县",431023:"永兴县",431024:"嘉禾县",431025:"临武县",431026:"汝城县",431027:"桂东县",431028:"安仁县",431081:"资兴市",431082:"其它区",431100:"永州市",431102:"零陵区",431103:"冷水滩区",431121:"祁阳县",431122:"东安县",431123:"双牌县",431124:"道县",431125:"江永县",431126:"宁远县",431127:"蓝山县",431128:"新田县",431129:"江华瑶族自治县",431130:"其它区",431200:"怀化市",431202:"鹤城区",431221:"中方县",431222:"沅陵县",431223:"辰溪县",431224:"溆浦县",431225:"会同县",431226:"麻阳苗族自治县",431227:"新晃侗族自治县",431228:"芷江侗族自治县",431229:"靖州苗族侗族自治县",431230:"通道侗族自治县",431281:"洪江市",431282:"其它区",431300:"娄底市",431302:"娄星区",431321:"双峰县",431322:"新化县",431381:"冷水江市",431382:"涟源市",431383:"其它区",433100:"湘西土家族苗族自治州",433101:"吉首市",433122:"泸溪县",433123:"凤凰县",433124:"花垣县",433125:"保靖县",433126:"古丈县",433127:"永顺县",433130:"龙山县",433131:"其它区",44e4:"广东省",440100:"广州市",440103:"荔湾区",440104:"越秀区",440105:"海珠区",440106:"天河区",440111:"白云区",440112:"黄埔区",440113:"番禺区",440114:"花都区",440115:"南沙区",440116:"萝岗区",440183:"增城市",440184:"从化市",440189:"其它区",440200:"韶关市",440203:"武江区",440204:"浈江区",440205:"曲江区",440222:"始兴县",440224:"仁化县",440229:"翁源县",440232:"乳源瑶族自治县",440233:"新丰县",440281:"乐昌市",440282:"南雄市",440283:"其它区",440300:"深圳市",440303:"罗湖区",440304:"福田区",440305:"南山区",440306:"宝安区",440307:"龙岗区",440308:"盐田区",440309:"其它区",440320:"光明新区",440321:"坪山新区",440322:"大鹏新区",440323:"龙华新区",440400:"珠海市",440402:"香洲区",440403:"斗门区",440404:"金湾区",440488:"其它区",440500:"汕头市",440507:"龙湖区",440511:"金平区",440512:"濠江区",440513:"潮阳区",440514:"潮南区",440515:"澄海区",440523:"南澳县",440524:"其它区",440600:"佛山市",440604:"禅城区",440605:"南海区",440606:"顺德区",440607:"三水区",440608:"高明区",440609:"其它区",440700:"江门市",440703:"蓬江区",440704:"江海区",440705:"新会区",440781:"台山市",440783:"开平市",440784:"鹤山市",440785:"恩平市",440786:"其它区",440800:"湛江市",440802:"赤坎区",440803:"霞山区",440804:"坡头区",440811:"麻章区",440823:"遂溪县",440825:"徐闻县",440881:"廉江市",440882:"雷州市",440883:"吴川市",440884:"其它区",440900:"茂名市",440902:"茂南区",440903:"茂港区",440923:"电白县",440981:"高州市",440982:"化州市",440983:"信宜市",440984:"其它区",441200:"肇庆市",441202:"端州区",441203:"鼎湖区",441223:"广宁县",441224:"怀集县",441225:"封开县",441226:"德庆县",441283:"高要市",441284:"四会市",441285:"其它区",441300:"惠州市",441302:"惠城区",441303:"惠阳区",441322:"博罗县",441323:"惠东县",441324:"龙门县",441325:"其它区",441400:"梅州市",441402:"梅江区",441421:"梅县",441422:"大埔县",441423:"丰顺县",441424:"五华县",441426:"平远县",441427:"蕉岭县",441481:"兴宁市",441482:"其它区",441500:"汕尾市",441502:"城区",441521:"海丰县",441523:"陆河县",441581:"陆丰市",441582:"其它区",441600:"河源市",441602:"源城区",441621:"紫金县",441622:"龙川县",441623:"连平县",441624:"和平县",441625:"东源县",441626:"其它区",441700:"阳江市",441702:"江城区",441721:"阳西县",441723:"阳东县",441781:"阳春市",441782:"其它区",441800:"清远市",441802:"清城区",441821:"佛冈县",441823:"阳山县",441825:"连山壮族瑶族自治县",441826:"连南瑶族自治县",441827:"清新区",441881:"英德市",441882:"连州市",441883:"其它区",441900:"东莞市",442e3:"中山市",442101:"东沙群岛",445100:"潮州市",445102:"湘桥区",445121:"潮安区",445122:"饶平县",445186:"其它区",445200:"揭阳市",445202:"榕城区",445221:"揭东区",445222:"揭西县",445224:"惠来县",445281:"普宁市",445285:"其它区",445300:"云浮市",445302:"云城区",445321:"新兴县",445322:"郁南县",445323:"云安县",445381:"罗定市",445382:"其它区",45e4:"广西壮族自治区",450100:"南宁市",450102:"兴宁区",450103:"青秀区",450105:"江南区",450107:"西乡塘区",450108:"良庆区",450109:"邕宁区",450122:"武鸣县",450123:"隆安县",450124:"马山县",450125:"上林县",450126:"宾阳县",450127:"横县",450128:"其它区",450200:"柳州市",450202:"城中区",450203:"鱼峰区",450204:"柳南区",450205:"柳北区",450221:"柳江县",450222:"柳城县",450223:"鹿寨县",450224:"融安县",450225:"融水苗族自治县",450226:"三江侗族自治县",450227:"其它区",450300:"桂林市",450302:"秀峰区",450303:"叠彩区",450304:"象山区",450305:"七星区",450311:"雁山区",450321:"阳朔县",450322:"临桂区",450323:"灵川县",450324:"全州县",450325:"兴安县",450326:"永福县",450327:"灌阳县",450328:"龙胜各族自治县",450329:"资源县",450330:"平乐县",450331:"荔浦县",450332:"恭城瑶族自治县",450333:"其它区",450400:"梧州市",450403:"万秀区",450405:"长洲区",450406:"龙圩区",450421:"苍梧县",450422:"藤县",450423:"蒙山县",450481:"岑溪市",450482:"其它区",450500:"北海市",450502:"海城区",450503:"银海区",450512:"铁山港区",450521:"合浦县",450522:"其它区",450600:"防城港市",450602:"港口区",450603:"防城区",450621:"上思县",450681:"东兴市",450682:"其它区",450700:"钦州市",450702:"钦南区",450703:"钦北区",450721:"灵山县",450722:"浦北县",450723:"其它区",450800:"贵港市",450802:"港北区",450803:"港南区",450804:"覃塘区",450821:"平南县",450881:"桂平市",450882:"其它区",450900:"玉林市",450902:"玉州区",450903:"福绵区",450921:"容县",450922:"陆川县",450923:"博白县",450924:"兴业县",450981:"北流市",450982:"其它区",451e3:"百色市",451002:"右江区",451021:"田阳县",451022:"田东县",451023:"平果县",451024:"德保县",451025:"靖西县",451026:"那坡县",451027:"凌云县",451028:"乐业县",451029:"田林县",451030:"西林县",451031:"隆林各族自治县",451032:"其它区",451100:"贺州市",451102:"八步区",451119:"平桂管理区",451121:"昭平县",451122:"钟山县",451123:"富川瑶族自治县",451124:"其它区",451200:"河池市",451202:"金城江区",451221:"南丹县",451222:"天峨县",451223:"凤山县",451224:"东兰县",451225:"罗城仫佬族自治县",451226:"环江毛南族自治县",451227:"巴马瑶族自治县",451228:"都安瑶族自治县",451229:"大化瑶族自治县",451281:"宜州市",451282:"其它区",451300:"来宾市",451302:"兴宾区",451321:"忻城县",451322:"象州县",451323:"武宣县",451324:"金秀瑶族自治县",451381:"合山市",451382:"其它区",451400:"崇左市",451402:"江州区",451421:"扶绥县",451422:"宁明县",451423:"龙州县",451424:"大新县",451425:"天等县",451481:"凭祥市",451482:"其它区",46e4:"海南省",460100:"海口市",460105:"秀英区",460106:"龙华区",460107:"琼山区",460108:"美兰区",460109:"其它区",460200:"三亚市",460300:"三沙市",460321:"西沙群岛",460322:"南沙群岛",460323:"中沙群岛的岛礁及其海域",469001:"五指山市",469002:"琼海市",469003:"儋州市",469005:"文昌市",469006:"万宁市",469007:"东方市",469025:"定安县",469026:"屯昌县",469027:"澄迈县",469028:"临高县",469030:"白沙黎族自治县",469031:"昌江黎族自治县",469033:"乐东黎族自治县",469034:"陵水黎族自治县",469035:"保亭黎族苗族自治县",469036:"琼中黎族苗族自治县",471005:"其它区",5e5:"重庆",500100:"重庆市",500101:"万州区",500102:"涪陵区",500103:"渝中区",500104:"大渡口区",500105:"江北区",500106:"沙坪坝区",500107:"九龙坡区",500108:"南岸区",500109:"北碚区",500110:"万盛区",500111:"双桥区",500112:"渝北区",500113:"巴南区",500114:"黔江区",500115:"长寿区",500222:"綦江区",500223:"潼南县",500224:"铜梁县",500225:"大足区",500226:"荣昌县",500227:"璧山县",500228:"梁平县",500229:"城口县",500230:"丰都县",500231:"垫江县",500232:"武隆县",500233:"忠县",500234:"开县",500235:"云阳县",500236:"奉节县",500237:"巫山县",500238:"巫溪县",500240:"石柱土家族自治县",500241:"秀山土家族苗族自治县",500242:"酉阳土家族苗族自治县",500243:"彭水苗族土家族自治县",500381:"江津区",500382:"合川区",500383:"永川区",500384:"南川区",500385:"其它区",51e4:"四川省",510100:"成都市",510104:"锦江区",510105:"青羊区",510106:"金牛区",510107:"武侯区",510108:"成华区",510112:"龙泉驿区",510113:"青白江区",510114:"新都区",510115:"温江区",510121:"金堂县",510122:"双流县",510124:"郫县",510129:"大邑县",510131:"蒲江县",510132:"新津县",510181:"都江堰市",510182:"彭州市",510183:"邛崃市",510184:"崇州市",510185:"其它区",510300:"自贡市",510302:"自流井区",510303:"贡井区",510304:"大安区",510311:"沿滩区",510321:"荣县",510322:"富顺县",510323:"其它区",510400:"攀枝花市",510402:"东区",510403:"西区",510411:"仁和区",510421:"米易县",510422:"盐边县",510423:"其它区",510500:"泸州市",510502:"江阳区",510503:"纳溪区",510504:"龙马潭区",510521:"泸县",510522:"合江县",510524:"叙永县",510525:"古蔺县",510526:"其它区",510600:"德阳市",510603:"旌阳区",510623:"中江县",510626:"罗江县",510681:"广汉市",510682:"什邡市",510683:"绵竹市",510684:"其它区",510700:"绵阳市",510703:"涪城区",510704:"游仙区",510722:"三台县",510723:"盐亭县",510724:"安县",510725:"梓潼县",510726:"北川羌族自治县",510727:"平武县",510781:"江油市",510782:"其它区",510800:"广元市",510802:"利州区",510811:"昭化区",510812:"朝天区",510821:"旺苍县",510822:"青川县",510823:"剑阁县",510824:"苍溪县",510825:"其它区",510900:"遂宁市",510903:"船山区",510904:"安居区",510921:"蓬溪县",510922:"射洪县",510923:"大英县",510924:"其它区",511e3:"内江市",511002:"市中区",511011:"东兴区",511024:"威远县",511025:"资中县",511028:"隆昌县",511029:"其它区",511100:"乐山市",511102:"市中区",511111:"沙湾区",511112:"五通桥区",511113:"金口河区",511123:"犍为县",511124:"井研县",511126:"夹江县",511129:"沐川县",511132:"峨边彝族自治县",511133:"马边彝族自治县",511181:"峨眉山市",511182:"其它区",511300:"南充市",511302:"顺庆区",511303:"高坪区",511304:"嘉陵区",511321:"南部县",511322:"营山县",511323:"蓬安县",511324:"仪陇县",511325:"西充县",511381:"阆中市",511382:"其它区",511400:"眉山市",511402:"东坡区",511421:"仁寿县",511422:"彭山县",511423:"洪雅县",511424:"丹棱县",511425:"青神县",511426:"其它区",511500:"宜宾市",511502:"翠屏区",511521:"宜宾县",511522:"南溪区",511523:"江安县",511524:"长宁县",511525:"高县",511526:"珙县",511527:"筠连县",511528:"兴文县",511529:"屏山县",511530:"其它区",511600:"广安市",511602:"广安区",511603:"前锋区",511621:"岳池县",511622:"武胜县",511623:"邻水县",511681:"华蓥市",511683:"其它区",511700:"达州市",511702:"通川区",511721:"达川区",511722:"宣汉县",511723:"开江县",511724:"大竹县",511725:"渠县",511781:"万源市",511782:"其它区",511800:"雅安市",511802:"雨城区",511821:"名山区",511822:"荥经县",511823:"汉源县",511824:"石棉县",511825:"天全县",511826:"芦山县",511827:"宝兴县",511828:"其它区",511900:"巴中市",511902:"巴州区",511903:"恩阳区",511921:"通江县",511922:"南江县",511923:"平昌县",511924:"其它区",512e3:"资阳市",512002:"雁江区",512021:"安岳县",512022:"乐至县",512081:"简阳市",512082:"其它区",513200:"阿坝藏族羌族自治州",513221:"汶川县",513222:"理县",513223:"茂县",513224:"松潘县",513225:"九寨沟县",513226:"金川县",513227:"小金县",513228:"黑水县",513229:"马尔康县",513230:"壤塘县",513231:"阿坝县",513232:"若尔盖县",513233:"红原县",513234:"其它区",513300:"甘孜藏族自治州",513321:"康定县",513322:"泸定县",513323:"丹巴县",513324:"九龙县",513325:"雅江县",513326:"道孚县",513327:"炉霍县",513328:"甘孜县",513329:"新龙县",513330:"德格县",513331:"白玉县",513332:"石渠县",513333:"色达县",513334:"理塘县",513335:"巴塘县",513336:"乡城县",513337:"稻城县",513338:"得荣县",513339:"其它区",513400:"凉山彝族自治州",513401:"西昌市",513422:"木里藏族自治县",513423:"盐源县",513424:"德昌县",513425:"会理县",513426:"会东县",513427:"宁南县",513428:"普格县",513429:"布拖县",513430:"金阳县",513431:"昭觉县",513432:"喜德县",513433:"冕宁县",513434:"越西县",513435:"甘洛县",513436:"美姑县",513437:"雷波县",513438:"其它区",52e4:"贵州省",520100:"贵阳市",520102:"南明区",520103:"云岩区",520111:"花溪区",520112:"乌当区",520113:"白云区",520121:"开阳县",520122:"息烽县",520123:"修文县",520151:"观山湖区",520181:"清镇市",520182:"其它区",520200:"六盘水市",520201:"钟山区",520203:"六枝特区",520221:"水城县",520222:"盘县",520223:"其它区",520300:"遵义市",520302:"红花岗区",520303:"汇川区",520321:"遵义县",520322:"桐梓县",520323:"绥阳县",520324:"正安县",520325:"道真仡佬族苗族自治县",520326:"务川仡佬族苗族自治县",520327:"凤冈县",520328:"湄潭县",520329:"余庆县",520330:"习水县",520381:"赤水市",520382:"仁怀市",520383:"其它区",520400:"安顺市",520402:"西秀区",520421:"平坝县",520422:"普定县",520423:"镇宁布依族苗族自治县",520424:"关岭布依族苗族自治县",520425:"紫云苗族布依族自治县",520426:"其它区",522200:"铜仁市",522201:"碧江区",522222:"江口县",522223:"玉屏侗族自治县",522224:"石阡县",522225:"思南县",522226:"印江土家族苗族自治县",522227:"德江县",522228:"沿河土家族自治县",522229:"松桃苗族自治县",522230:"万山区",522231:"其它区",522300:"黔西南布依族苗族自治州",522301:"兴义市",522322:"兴仁县",522323:"普安县",522324:"晴隆县",522325:"贞丰县",522326:"望谟县",522327:"册亨县",522328:"安龙县",522329:"其它区",522400:"毕节市",522401:"七星关区",522422:"大方县",522423:"黔西县",522424:"金沙县",522425:"织金县",522426:"纳雍县",522427:"威宁彝族回族苗族自治县",522428:"赫章县",522429:"其它区",522600:"黔东南苗族侗族自治州",522601:"凯里市",522622:"黄平县",522623:"施秉县",522624:"三穗县",522625:"镇远县",522626:"岑巩县",522627:"天柱县",522628:"锦屏县",522629:"剑河县",522630:"台江县",522631:"黎平县",522632:"榕江县",522633:"从江县",522634:"雷山县",522635:"麻江县",522636:"丹寨县",522637:"其它区",522700:"黔南布依族苗族自治州",522701:"都匀市",522702:"福泉市",522722:"荔波县",522723:"贵定县",522725:"瓮安县",522726:"独山县",522727:"平塘县",522728:"罗甸县",522729:"长顺县",522730:"龙里县",522731:"惠水县",522732:"三都水族自治县",522733:"其它区",53e4:"云南省",530100:"昆明市",530102:"五华区",530103:"盘龙区",530111:"官渡区",530112:"西山区",530113:"东川区",530121:"呈贡区",530122:"晋宁县",530124:"富民县",530125:"宜良县",530126:"石林彝族自治县",530127:"嵩明县",530128:"禄劝彝族苗族自治县",530129:"寻甸回族彝族自治县",530181:"安宁市",530182:"其它区",530300:"曲靖市",530302:"麒麟区",530321:"马龙县",530322:"陆良县",530323:"师宗县",530324:"罗平县",530325:"富源县",530326:"会泽县",530328:"沾益县",530381:"宣威市",530382:"其它区",530400:"玉溪市",530402:"红塔区",530421:"江川县",530422:"澄江县",530423:"通海县",530424:"华宁县",530425:"易门县",530426:"峨山彝族自治县",530427:"新平彝族傣族自治县",530428:"元江哈尼族彝族傣族自治县",530429:"其它区",530500:"保山市",530502:"隆阳区",530521:"施甸县",530522:"腾冲县",530523:"龙陵县",530524:"昌宁县",530525:"其它区",530600:"昭通市",530602:"昭阳区",530621:"鲁甸县",530622:"巧家县",530623:"盐津县",530624:"大关县",530625:"永善县",530626:"绥江县",530627:"镇雄县",530628:"彝良县",530629:"威信县",530630:"水富县",530631:"其它区",530700:"丽江市",530702:"古城区",530721:"玉龙纳西族自治县",530722:"永胜县",530723:"华坪县",530724:"宁蒗彝族自治县",530725:"其它区",530800:"普洱市",530802:"思茅区",530821:"宁洱哈尼族彝族自治县",530822:"墨江哈尼族自治县",530823:"景东彝族自治县",530824:"景谷傣族彝族自治县",530825:"镇沅彝族哈尼族拉祜族自治县",530826:"江城哈尼族彝族自治县",530827:"孟连傣族拉祜族佤族自治县",530828:"澜沧拉祜族自治县",530829:"西盟佤族自治县",530830:"其它区",530900:"临沧市",530902:"临翔区",530921:"凤庆县",530922:"云县",530923:"永德县",530924:"镇康县",530925:"双江拉祜族佤族布朗族傣族自治县",530926:"耿马傣族佤族自治县",530927:"沧源佤族自治县",530928:"其它区",532300:"楚雄彝族自治州",532301:"楚雄市",532322:"双柏县",532323:"牟定县",532324:"南华县",532325:"姚安县",532326:"大姚县",532327:"永仁县",532328:"元谋县",532329:"武定县",532331:"禄丰县",532332:"其它区",532500:"红河哈尼族彝族自治州",532501:"个旧市",532502:"开远市",532522:"蒙自市",532523:"屏边苗族自治县",532524:"建水县",532525:"石屏县",532526:"弥勒市",532527:"泸西县",532528:"元阳县",532529:"红河县",532530:"金平苗族瑶族傣族自治县",532531:"绿春县",532532:"河口瑶族自治县",532533:"其它区",532600:"文山壮族苗族自治州",532621:"文山市",532622:"砚山县",532623:"西畴县",532624:"麻栗坡县",532625:"马关县",532626:"丘北县",532627:"广南县",532628:"富宁县",532629:"其它区",532800:"西双版纳傣族自治州",532801:"景洪市",532822:"勐海县",532823:"勐腊县",532824:"其它区",532900:"大理白族自治州",532901:"大理市",532922:"漾濞彝族自治县",532923:"祥云县",532924:"宾川县",532925:"弥渡县",532926:"南涧彝族自治县",532927:"巍山彝族回族自治县",532928:"永平县",532929:"云龙县",532930:"洱源县",532931:"剑川县",532932:"鹤庆县",532933:"其它区",533100:"德宏傣族景颇族自治州",533102:"瑞丽市",533103:"芒市",533122:"梁河县",533123:"盈江县",533124:"陇川县",533125:"其它区",533300:"怒江傈僳族自治州",533321:"泸水县",533323:"福贡县",533324:"贡山独龙族怒族自治县",533325:"兰坪白族普米族自治县",533326:"其它区",533400:"迪庆藏族自治州",533421:"香格里拉县",533422:"德钦县",533423:"维西傈僳族自治县",533424:"其它区",54e4:"西藏自治区",540100:"拉萨市",540102:"城关区",540121:"林周县",540122:"当雄县",540123:"尼木县",540124:"曲水县",540125:"堆龙德庆县",540126:"达孜县",540127:"墨竹工卡县",540128:"其它区",542100:"昌都地区",542121:"昌都县",542122:"江达县",542123:"贡觉县",542124:"类乌齐县",542125:"丁青县",542126:"察雅县",542127:"八宿县",542128:"左贡县",542129:"芒康县",542132:"洛隆县",542133:"边坝县",542134:"其它区",542200:"山南地区",542221:"乃东县",542222:"扎囊县",542223:"贡嘎县",542224:"桑日县",542225:"琼结县",542226:"曲松县",542227:"措美县",542228:"洛扎县",542229:"加查县",542231:"隆子县",542232:"错那县",542233:"浪卡子县",542234:"其它区",542300:"日喀则地区",542301:"日喀则市",542322:"南木林县",542323:"江孜县",542324:"定日县",542325:"萨迦县",542326:"拉孜县",542327:"昂仁县",542328:"谢通门县",542329:"白朗县",542330:"仁布县",542331:"康马县",542332:"定结县",542333:"仲巴县",542334:"亚东县",542335:"吉隆县",542336:"聂拉木县",542337:"萨嘎县",542338:"岗巴县",542339:"其它区",542400:"那曲地区",542421:"那曲县",542422:"嘉黎县",542423:"比如县",542424:"聂荣县",542425:"安多县",542426:"申扎县",542427:"索县",542428:"班戈县",542429:"巴青县",542430:"尼玛县",542431:"其它区",542432:"双湖县",542500:"阿里地区",542521:"普兰县",542522:"札达县",542523:"噶尔县",542524:"日土县",542525:"革吉县",542526:"改则县",542527:"措勤县",542528:"其它区",542600:"林芝地区",542621:"林芝县",542622:"工布江达县",542623:"米林县",542624:"墨脱县",542625:"波密县",542626:"察隅县",542627:"朗县",542628:"其它区",61e4:"陕西省",610100:"西安市",610102:"新城区",610103:"碑林区",610104:"莲湖区",610111:"灞桥区",610112:"未央区",610113:"雁塔区",610114:"阎良区",610115:"临潼区",610116:"长安区",610122:"蓝田县",610124:"周至县",610125:"户县",610126:"高陵县",610127:"其它区",610200:"铜川市",610202:"王益区",610203:"印台区",610204:"耀州区",610222:"宜君县",610223:"其它区",610300:"宝鸡市",610302:"渭滨区",610303:"金台区",610304:"陈仓区",610322:"凤翔县",610323:"岐山县",610324:"扶风县",610326:"眉县",610327:"陇县",610328:"千阳县",610329:"麟游县",610330:"凤县",610331:"太白县",610332:"其它区",610400:"咸阳市",610402:"秦都区",610403:"杨陵区",610404:"渭城区",610422:"三原县",610423:"泾阳县",610424:"乾县",610425:"礼泉县",610426:"永寿县",610427:"彬县",610428:"长武县",610429:"旬邑县",610430:"淳化县",610431:"武功县",610481:"兴平市",610482:"其它区",610500:"渭南市",610502:"临渭区",610521:"华县",610522:"潼关县",610523:"大荔县",610524:"合阳县",610525:"澄城县",610526:"蒲城县",610527:"白水县",610528:"富平县",610581:"韩城市",610582:"华阴市",610583:"其它区",610600:"延安市",610602:"宝塔区",610621:"延长县",610622:"延川县",610623:"子长县",610624:"安塞县",610625:"志丹县",610626:"吴起县",610627:"甘泉县",610628:"富县",610629:"洛川县",610630:"宜川县",610631:"黄龙县",610632:"黄陵县",610633:"其它区",610700:"汉中市",610702:"汉台区",610721:"南郑县",610722:"城固县",610723:"洋县",610724:"西乡县",610725:"勉县",610726:"宁强县",610727:"略阳县",610728:"镇巴县",610729:"留坝县",610730:"佛坪县",610731:"其它区",610800:"榆林市",610802:"榆阳区",610821:"神木县",610822:"府谷县",610823:"横山县",610824:"靖边县",610825:"定边县",610826:"绥德县",610827:"米脂县",610828:"佳县",610829:"吴堡县",610830:"清涧县",610831:"子洲县",610832:"其它区",610900:"安康市",610902:"汉滨区",610921:"汉阴县",610922:"石泉县",610923:"宁陕县",610924:"紫阳县",610925:"岚皋县",610926:"平利县",610927:"镇坪县",610928:"旬阳县",610929:"白河县",610930:"其它区",611e3:"商洛市",611002:"商州区",611021:"洛南县",611022:"丹凤县",611023:"商南县",611024:"山阳县",611025:"镇安县",611026:"柞水县",611027:"其它区",62e4:"甘肃省",620100:"兰州市",620102:"城关区",620103:"七里河区",620104:"西固区",620105:"安宁区",620111:"红古区",620121:"永登县",620122:"皋兰县",620123:"榆中县",620124:"其它区",620200:"嘉峪关市",620300:"金昌市",620302:"金川区",620321:"永昌县",620322:"其它区",620400:"白银市",620402:"白银区",620403:"平川区",620421:"靖远县",620422:"会宁县",620423:"景泰县",620424:"其它区",620500:"天水市",620502:"秦州区",620503:"麦积区",620521:"清水县",620522:"秦安县",620523:"甘谷县",620524:"武山县",620525:"张家川回族自治县",620526:"其它区",620600:"武威市",620602:"凉州区",620621:"民勤县",620622:"古浪县",620623:"天祝藏族自治县",620624:"其它区",620700:"张掖市",620702:"甘州区",620721:"肃南裕固族自治县",620722:"民乐县",620723:"临泽县",620724:"高台县",620725:"山丹县",620726:"其它区",620800:"平凉市",620802:"崆峒区",620821:"泾川县",620822:"灵台县",620823:"崇信县",620824:"华亭县",620825:"庄浪县",620826:"静宁县",620827:"其它区",620900:"酒泉市",620902:"肃州区",620921:"金塔县",620922:"瓜州县",620923:"肃北蒙古族自治县",620924:"阿克塞哈萨克族自治县",620981:"玉门市",620982:"敦煌市",620983:"其它区",621e3:"庆阳市",621002:"西峰区",621021:"庆城县",621022:"环县",621023:"华池县",621024:"合水县",621025:"正宁县",621026:"宁县",621027:"镇原县",621028:"其它区",621100:"定西市",621102:"安定区",621121:"通渭县",621122:"陇西县",621123:"渭源县",621124:"临洮县",621125:"漳县",621126:"岷县",621127:"其它区",621200:"陇南市",621202:"武都区",621221:"成县",621222:"文县",621223:"宕昌县",621224:"康县",621225:"西和县",621226:"礼县",621227:"徽县",621228:"两当县",621229:"其它区",622900:"临夏回族自治州",622901:"临夏市",622921:"临夏县",622922:"康乐县",622923:"永靖县",622924:"广河县",622925:"和政县",622926:"东乡族自治县",622927:"积石山保安族东乡族撒拉族自治县",622928:"其它区",623e3:"甘南藏族自治州",623001:"合作市",623021:"临潭县",623022:"卓尼县",623023:"舟曲县",623024:"迭部县",623025:"玛曲县",623026:"碌曲县",623027:"夏河县",623028:"其它区",63e4:"青海省",630100:"西宁市",630102:"城东区",630103:"城中区",630104:"城西区",630105:"城北区",630121:"大通回族土族自治县",630122:"湟中县",630123:"湟源县",630124:"其它区",632100:"海东市",632121:"平安县",632122:"民和回族土族自治县",632123:"乐都区",632126:"互助土族自治县",632127:"化隆回族自治县",632128:"循化撒拉族自治县",632129:"其它区",632200:"海北藏族自治州",632221:"门源回族自治县",632222:"祁连县",632223:"海晏县",632224:"刚察县",632225:"其它区",632300:"黄南藏族自治州",632321:"同仁县",632322:"尖扎县",632323:"泽库县",632324:"河南蒙古族自治县",632325:"其它区",632500:"海南藏族自治州",632521:"共和县",632522:"同德县",632523:"贵德县",632524:"兴海县",632525:"贵南县",632526:"其它区",632600:"果洛藏族自治州",632621:"玛沁县",632622:"班玛县",632623:"甘德县",632624:"达日县",632625:"久治县",632626:"玛多县",632627:"其它区",632700:"玉树藏族自治州",632721:"玉树市",632722:"杂多县",632723:"称多县",632724:"治多县",632725:"囊谦县",632726:"曲麻莱县",632727:"其它区",632800:"海西蒙古族藏族自治州",632801:"格尔木市",632802:"德令哈市",632821:"乌兰县",632822:"都兰县",632823:"天峻县",632824:"其它区",64e4:"宁夏回族自治区",640100:"银川市",640104:"兴庆区",640105:"西夏区",640106:"金凤区",640121:"永宁县",640122:"贺兰县",640181:"灵武市",640182:"其它区",640200:"石嘴山市",640202:"大武口区",640205:"惠农区",640221:"平罗县",640222:"其它区",640300:"吴忠市",640302:"利通区",640303:"红寺堡区",640323:"盐池县",640324:"同心县",640381:"青铜峡市",640382:"其它区",640400:"固原市",640402:"原州区",640422:"西吉县",640423:"隆德县",640424:"泾源县",640425:"彭阳县",640426:"其它区",640500:"中卫市",640502:"沙坡头区",640521:"中宁县",640522:"海原县",640523:"其它区",65e4:"新疆维吾尔自治区",650100:"乌鲁木齐市",650102:"天山区",650103:"沙依巴克区",650104:"新市区",650105:"水磨沟区",650106:"头屯河区",650107:"达坂城区",650109:"米东区",650121:"乌鲁木齐县",650122:"其它区",650200:"克拉玛依市",650202:"独山子区",650203:"克拉玛依区",650204:"白碱滩区",650205:"乌尔禾区",650206:"其它区",652100:"吐鲁番地区",652101:"吐鲁番市",652122:"鄯善县",652123:"托克逊县",652124:"其它区",652200:"哈密地区",652201:"哈密市",652222:"巴里坤哈萨克自治县",652223:"伊吾县",652224:"其它区",652300:"昌吉回族自治州",652301:"昌吉市",652302:"阜康市",652323:"呼图壁县",652324:"玛纳斯县",652325:"奇台县",652327:"吉木萨尔县",652328:"木垒哈萨克自治县",652329:"其它区",652700:"博尔塔拉蒙古自治州",652701:"博乐市",652702:"阿拉山口市",652722:"精河县",652723:"温泉县",652724:"其它区",652800:"巴音郭楞蒙古自治州",652801:"库尔勒市",652822:"轮台县",652823:"尉犁县",652824:"若羌县",652825:"且末县",652826:"焉耆回族自治县",652827:"和静县",652828:"和硕县",652829:"博湖县",652830:"其它区",652900:"阿克苏地区",652901:"阿克苏市",652922:"温宿县",652923:"库车县",652924:"沙雅县",652925:"新和县",652926:"拜城县",652927:"乌什县",652928:"阿瓦提县",652929:"柯坪县",652930:"其它区",653e3:"克孜勒苏柯尔克孜自治州",653001:"阿图什市",653022:"阿克陶县",653023:"阿合奇县",653024:"乌恰县",653025:"其它区",653100:"喀什地区",653101:"喀什市",653121:"疏附县",653122:"疏勒县",653123:"英吉沙县",653124:"泽普县",653125:"莎车县",653126:"叶城县",653127:"麦盖提县",653128:"岳普湖县",653129:"伽师县",653130:"巴楚县",653131:"塔什库尔干塔吉克自治县",653132:"其它区",653200:"和田地区",653201:"和田市",653221:"和田县",653222:"墨玉县",653223:"皮山县",653224:"洛浦县",653225:"策勒县",653226:"于田县",653227:"民丰县",653228:"其它区",654e3:"伊犁哈萨克自治州",654002:"伊宁市",654003:"奎屯市",654021:"伊宁县",654022:"察布查尔锡伯自治县",654023:"霍城县",654024:"巩留县",654025:"新源县",654026:"昭苏县",654027:"特克斯县",654028:"尼勒克县",654029:"其它区",654200:"塔城地区",654201:"塔城市",654202:"乌苏市",654221:"额敏县",654223:"沙湾县",654224:"托里县",654225:"裕民县",654226:"和布克赛尔蒙古自治县",654227:"其它区",654300:"阿勒泰地区",654301:"阿勒泰市",654321:"布尔津县",654322:"富蕴县",654323:"福海县",654324:"哈巴河县",654325:"青河县",654326:"吉木乃县",654327:"其它区",659001:"石河子市",659002:"阿拉尔市",659003:"图木舒克市",659004:"五家渠市",71e4:"台湾",710100:"台北市",710101:"中正区",710102:"大同区",710103:"中山区",710104:"松山区",710105:"大安区",710106:"万华区",710107:"信义区",710108:"士林区",710109:"北投区",710110:"内湖区",710111:"南港区",710112:"文山区",710113:"其它区",710200:"高雄市",710201:"新兴区",710202:"前金区",710203:"芩雅区",710204:"盐埕区",710205:"鼓山区",710206:"旗津区",710207:"前镇区",710208:"三民区",710209:"左营区",710210:"楠梓区",710211:"小港区",710212:"其它区",710241:"苓雅区",710242:"仁武区",710243:"大社区",710244:"冈山区",710245:"路竹区",710246:"阿莲区",710247:"田寮区",710248:"燕巢区",710249:"桥头区",710250:"梓官区",710251:"弥陀区",710252:"永安区",710253:"湖内区",710254:"凤山区",710255:"大寮区",710256:"林园区",710257:"鸟松区",710258:"大树区",710259:"旗山区",710260:"美浓区",710261:"六龟区",710262:"内门区",710263:"杉林区",710264:"甲仙区",710265:"桃源区",710266:"那玛夏区",710267:"茂林区",710268:"茄萣区",710300:"台南市",710301:"中西区",710302:"东区",710303:"南区",710304:"北区",710305:"安平区",710306:"安南区",710307:"其它区",710339:"永康区",710340:"归仁区",710341:"新化区",710342:"左镇区",710343:"玉井区",710344:"楠西区",710345:"南化区",710346:"仁德区",710347:"关庙区",710348:"龙崎区",710349:"官田区",710350:"麻豆区",710351:"佳里区",710352:"西港区",710353:"七股区",710354:"将军区",710355:"学甲区",710356:"北门区",710357:"新营区",710358:"后壁区",710359:"白河区",710360:"东山区",710361:"六甲区",710362:"下营区",710363:"柳营区",710364:"盐水区",710365:"善化区",710366:"大内区",710367:"山上区",710368:"新市区",710369:"安定区",710400:"台中市",710401:"中区",710402:"东区",710403:"南区",710404:"西区",710405:"北区",710406:"北屯区",710407:"西屯区",710408:"南屯区",710409:"其它区",710431:"太平区",710432:"大里区",710433:"雾峰区",710434:"乌日区",710435:"丰原区",710436:"后里区",710437:"石冈区",710438:"东势区",710439:"和平区",710440:"新社区",710441:"潭子区",710442:"大雅区",710443:"神冈区",710444:"大肚区",710445:"沙鹿区",710446:"龙井区",710447:"梧栖区",710448:"清水区",710449:"大甲区",710450:"外埔区",710451:"大安区",710500:"金门县",710507:"金沙镇",710508:"金湖镇",710509:"金宁乡",710510:"金城镇",710511:"烈屿乡",710512:"乌坵乡",710600:"南投县",710614:"南投市",710615:"中寮乡",710616:"草屯镇",710617:"国姓乡",710618:"埔里镇",710619:"仁爱乡",710620:"名间乡",710621:"集集镇",710622:"水里乡",710623:"鱼池乡",710624:"信义乡",710625:"竹山镇",710626:"鹿谷乡",710700:"基隆市",710701:"仁爱区",710702:"信义区",710703:"中正区",710704:"中山区",710705:"安乐区",710706:"暖暖区",710707:"七堵区",710708:"其它区",710800:"新竹市",710801:"东区",710802:"北区",710803:"香山区",710804:"其它区",710900:"嘉义市",710901:"东区",710902:"西区",710903:"其它区",711100:"新北市",711130:"万里区",711131:"金山区",711132:"板桥区",711133:"汐止区",711134:"深坑区",711135:"石碇区",711136:"瑞芳区",711137:"平溪区",711138:"双溪区",711139:"贡寮区",711140:"新店区",711141:"坪林区",711142:"乌来区",711143:"永和区",711144:"中和区",711145:"土城区",711146:"三峡区",711147:"树林区",711148:"莺歌区",711149:"三重区",711150:"新庄区",711151:"泰山区",711152:"林口区",711153:"芦洲区",711154:"五股区",711155:"八里区",711156:"淡水区",711157:"三芝区",711158:"石门区",711200:"宜兰县",711214:"宜兰市",711215:"头城镇",711216:"礁溪乡",711217:"壮围乡",711218:"员山乡",711219:"罗东镇",711220:"三星乡",711221:"大同乡",711222:"五结乡",711223:"冬山乡",711224:"苏澳镇",711225:"南澳乡",711226:"钓鱼台",711300:"新竹县",711314:"竹北市",711315:"湖口乡",711316:"新丰乡",711317:"新埔镇",711318:"关西镇",711319:"芎林乡",711320:"宝山乡",711321:"竹东镇",711322:"五峰乡",711323:"横山乡",711324:"尖石乡",711325:"北埔乡",711326:"峨眉乡",711400:"桃园县",711414:"中坜市",711415:"平镇市",711416:"龙潭乡",711417:"杨梅市",711418:"新屋乡",711419:"观音乡",711420:"桃园市",711421:"龟山乡",711422:"八德市",711423:"大溪镇",711424:"复兴乡",711425:"大园乡",711426:"芦竹乡",711500:"苗栗县",711519:"竹南镇",711520:"头份镇",711521:"三湾乡",711522:"南庄乡",711523:"狮潭乡",711524:"后龙镇",711525:"通霄镇",711526:"苑里镇",711527:"苗栗市",711528:"造桥乡",711529:"头屋乡",711530:"公馆乡",711531:"大湖乡",711532:"泰安乡",711533:"铜锣乡",711534:"三义乡",711535:"西湖乡",711536:"卓兰镇",711700:"彰化县",711727:"彰化市",711728:"芬园乡",711729:"花坛乡",711730:"秀水乡",711731:"鹿港镇",711732:"福兴乡",711733:"线西乡",711734:"和美镇",711735:"伸港乡",711736:"员林镇",711737:"社头乡",711738:"永靖乡",711739:"埔心乡",711740:"溪湖镇",711741:"大村乡",711742:"埔盐乡",711743:"田中镇",711744:"北斗镇",711745:"田尾乡",711746:"埤头乡",711747:"溪州乡",711748:"竹塘乡",711749:"二林镇",711750:"大城乡",711751:"芳苑乡",711752:"二水乡",711900:"嘉义县",711919:"番路乡",711920:"梅山乡",711921:"竹崎乡",711922:"阿里山乡",711923:"中埔乡",711924:"大埔乡",711925:"水上乡",711926:"鹿草乡",711927:"太保市",711928:"朴子市",711929:"东石乡",711930:"六脚乡",711931:"新港乡",711932:"民雄乡",711933:"大林镇",711934:"溪口乡",711935:"义竹乡",711936:"布袋镇",712100:"云林县",712121:"斗南镇",712122:"大埤乡",712123:"虎尾镇",712124:"土库镇",712125:"褒忠乡",712126:"东势乡",712127:"台西乡",712128:"仑背乡",712129:"麦寮乡",712130:"斗六市",712131:"林内乡",712132:"古坑乡",712133:"莿桐乡",712134:"西螺镇",712135:"二仑乡",712136:"北港镇",712137:"水林乡",712138:"口湖乡",712139:"四湖乡",712140:"元长乡",712400:"屏东县",712434:"屏东市",712435:"三地门乡",712436:"雾台乡",712437:"玛家乡",712438:"九如乡",712439:"里港乡",712440:"高树乡",712441:"盐埔乡",712442:"长治乡",712443:"麟洛乡",712444:"竹田乡",712445:"内埔乡",712446:"万丹乡",712447:"潮州镇",712448:"泰武乡",712449:"来义乡",712450:"万峦乡",712451:"崁顶乡",712452:"新埤乡",712453:"南州乡",712454:"林边乡",712455:"东港镇",712456:"琉球乡",712457:"佳冬乡",712458:"新园乡",712459:"枋寮乡",712460:"枋山乡",712461:"春日乡",712462:"狮子乡",712463:"车城乡",712464:"牡丹乡",712465:"恒春镇",712466:"满州乡",712500:"台东县",712517:"台东市",712518:"绿岛乡",712519:"兰屿乡",712520:"延平乡",712521:"卑南乡",712522:"鹿野乡",712523:"关山镇",712524:"海端乡",712525:"池上乡",712526:"东河乡",712527:"成功镇",712528:"长滨乡",712529:"金峰乡",712530:"大武乡",712531:"达仁乡",712532:"太麻里乡",712600:"花莲县",712615:"花莲市",712616:"新城乡",712617:"太鲁阁",712618:"秀林乡",712619:"吉安乡",712620:"寿丰乡",712621:"凤林镇",712622:"光复乡",712623:"丰滨乡",712624:"瑞穗乡",712625:"万荣乡",712626:"玉里镇",712627:"卓溪乡",712628:"富里乡",712700:"澎湖县",712707:"马公市",712708:"西屿乡",712709:"望安乡",712710:"七美乡",712711:"白沙乡",712712:"湖西乡",712800:"连江县",712805:"南竿乡",712806:"北竿乡",712807:"莒光乡",712808:"东引乡",81e4:"香港特别行政区",810100:"香港岛",810101:"中西区",810102:"湾仔",810103:"东区",810104:"南区",810200:"九龙",810201:"九龙城区",810202:"油尖旺区",810203:"深水埗区",810204:"黄大仙区",810205:"观塘区",810300:"新界",810301:"北区",810302:"大埔区",810303:"沙田区",810304:"西贡区",810305:"元朗区",810306:"屯门区",810307:"荃湾区",810308:"葵青区",810309:"离岛区",82e4:"澳门特别行政区",820100:"澳门半岛",820200:"离岛",99e4:"海外",990100:"海外"};function ne(oe){for(var se={},le=0,ue;le<oe.length;le++)ue=oe[le],!(!ue||!ue.id)&&(se[ue.id]=ue);for(var ce=[],de=0;de<oe.length;de++)if(ue=oe[de],!!ue){if(ue.pid==null&&ue.parentId==null){ce.push(ue);continue}var he=se[ue.pid]||se[ue.parentId];he&&(he.children||(he.children=[]),he.children.push(ue))}return ce}var ie=function(){var oe=[];for(var se in ae){var le=se.slice(2,6)==="0000"?void 0:se.slice(4,6)=="00"?se.slice(0,2)+"0000":se.slice(0,4)+"00";oe.push({id:se,pid:le,name:ae[se]})}return ne(oe)}();ee.exports=ie},function(ee,te,ae){var ne=ae(18);ee.exports={d4:function(){return this.natural(1,4)},d6:function(){return this.natural(1,6)},d8:function(){return this.natural(1,8)},d12:function(){return this.natural(1,12)},d20:function(){return this.natural(1,20)},d100:function(){return this.natural(1,100)},guid:function(){var ie="abcdefABCDEF1234567890",oe=this.string(ie,8)+"-"+this.string(ie,4)+"-"+this.string(ie,4)+"-"+this.string(ie,4)+"-"+this.string(ie,12);return oe},uuid:function(){return this.guid()},id:function(){var ie,oe=0,se=["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],le=["1","0","X","9","8","7","6","5","4","3","2"];ie=this.pick(ne).id+this.date("yyyyMMdd")+this.string("number",3);for(var ue=0;ue<ie.length;ue++)oe+=ie[ue]*se[ue];return ie+=le[oe%11],ie},increment:function(){var ie=0;return function(oe){return ie+=+oe||1}}(),inc:function(ie){return this.increment(ie)}}},function(ee,te,ae){var ne=ae(21),ie=ae(22);ee.exports={Parser:ne,Handler:ie}},function(ee,te){function ae(xe){this.type=xe,this.offset=ae.offset(),this.text=ae.text()}function ne(xe,$e){ae.call(this,"alternate"),this.left=xe,this.right=$e}function ie(xe){ae.call(this,"match"),this.body=xe.filter(Boolean)}function oe(xe,$e){ae.call(this,xe),this.body=$e}function se(xe){oe.call(this,"capture-group"),this.index=be[this.offset]||(be[this.offset]=_e++),this.body=xe}function le(xe,$e){ae.call(this,"quantified"),this.body=xe,this.quantifier=$e}function ue(xe,$e){ae.call(this,"quantifier"),this.min=xe,this.max=$e,this.greedy=!0}function ce(xe,$e){ae.call(this,"charset"),this.invert=xe,this.body=$e}function de(xe,$e){ae.call(this,"range"),this.start=xe,this.end=$e}function he(xe){ae.call(this,"literal"),this.body=xe,this.escaped=this.body!=this.text}function fe(xe){ae.call(this,"unicode"),this.code=xe.toUpperCase()}function pe(xe){ae.call(this,"hex"),this.code=xe.toUpperCase()}function ve(xe){ae.call(this,"octal"),this.code=xe.toUpperCase()}function ge(xe){ae.call(this,"back-reference"),this.code=xe.toUpperCase()}function me(xe){ae.call(this,"control-character"),this.code=xe.toUpperCase()}var ye=function(){function xe(we,Ae){function Te(){this.constructor=we}Te.prototype=Ae.prototype,we.prototype=new Te}function $e(we,Ae,Te,De,Me){function Ie(Ce,Ee){function Re(Ne){function He(qe){return qe.charCodeAt(0).toString(16).toUpperCase()}return Ne.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(qe){return"\\x0"+He(qe)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(qe){return"\\x"+He(qe)}).replace(/[\u0180-\u0FFF]/g,function(qe){return"\\u0"+He(qe)}).replace(/[\u1080-\uFFFF]/g,function(qe){return"\\u"+He(qe)})}var ke,Be;switch(Ce.length){case 0:ke="end of input";break;case 1:ke=Ce[0];break;default:ke=Ce.slice(0,-1).join(", ")+" or "+Ce[Ce.length-1]}return Be=Ee?'"'+Re(Ee)+'"':"end of input","Expected "+ke+" but "+Be+" found."}this.expected=we,this.found=Ae,this.offset=Te,this.line=De,this.column=Me,this.name="SyntaxError",this.message=Ie(we,Ae)}function Se(we){function Ae(){return we.substring(or,ht)}function Te(){return or}function De(Ke){function Je(Rt,tr,Sr){var ja,In;for(ja=tr;Sr>ja;ja++)In=we.charAt(ja),In===`
-`?(Rt.seenCR||Rt.line++,Rt.column=1,Rt.seenCR=!1):In==="\r"||In==="\u2028"||In==="\u2029"?(Rt.line++,Rt.column=1,Rt.seenCR=!0):(Rt.column++,Rt.seenCR=!1)}return bn!==Ke&&(bn>Ke&&(bn=0,Ia={line:1,column:1,seenCR:!1}),Je(Ia,bn,Ke),bn=Ke),Ia}function Me(Ke){Ja>ht||(ht>Ja&&(Ja=ht,ii=[]),ii.push(Ke))}function Ie(Ke){var Je=0;for(Ke.sort();Je<Ke.length;)Ke[Je-1]===Ke[Je]?Ke.splice(Je,1):Je++}function Ce(){var Ke,Je,Rt,tr,Sr;return Ke=ht,Je=Ee(),Je!==null?(Rt=ht,we.charCodeAt(ht)===124?(tr=oa,ht++):(tr=null,Xt===0&&Me(ca)),tr!==null?(Sr=Ce(),Sr!==null?(tr=[tr,Sr],Rt=tr):(ht=Rt,Rt=Qt)):(ht=Rt,Rt=Qt),Rt===null&&(Rt=Hr),Rt!==null?(or=Ke,Je=jr(Je,Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function Ee(){var Ke,Je,Rt,tr,Sr;if(Ke=ht,Je=ke(),Je===null&&(Je=Hr),Je!==null)if(Rt=ht,Xt++,tr=He(),Xt--,tr===null?Rt=Hr:(ht=Rt,Rt=Qt),Rt!==null){for(tr=[],Sr=Ne(),Sr===null&&(Sr=Re());Sr!==null;)tr.push(Sr),Sr=Ne(),Sr===null&&(Sr=Re());tr!==null?(Sr=Be(),Sr===null&&(Sr=Hr),Sr!==null?(or=Ke,Je=kr(Je,tr,Sr),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)}else ht=Ke,Ke=Qt;else ht=Ke,Ke=Qt;return Ke}function Re(){var Ke;return Ke=Xe(),Ke===null&&(Ke=pt(),Ke===null&&(Ke=Mt())),Ke}function ke(){var Ke,Je;return Ke=ht,we.charCodeAt(ht)===94?(Je=Zr,ht++):(Je=null,Xt===0&&Me(Ur)),Je!==null&&(or=Ke,Je=ea()),Je===null&&(ht=Ke),Ke=Je,Ke}function Be(){var Ke,Je;return Ke=ht,we.charCodeAt(ht)===36?(Je=Da,ht++):(Je=null,Xt===0&&Me(Gr)),Je!==null&&(or=Ke,Je=Xr()),Je===null&&(ht=Ke),Ke=Je,Ke}function Ne(){var Ke,Je,Rt;return Ke=ht,Je=Re(),Je!==null?(Rt=He(),Rt!==null?(or=Ke,Je=Ea(Je,Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function He(){var Ke,Je,Rt;return Xt++,Ke=ht,Je=qe(),Je!==null?(Rt=Ye(),Rt===null&&(Rt=Hr),Rt!==null?(or=Ke,Je=fn(Je,Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Xt--,Ke===null&&(Je=null,Xt===0&&Me(Ha)),Ke}function qe(){var Ke;return Ke=Oe(),Ke===null&&(Ke=ze(),Ke===null&&(Ke=Ve(),Ke===null&&(Ke=Ge(),Ke===null&&(Ke=We(),Ke===null&&(Ke=Ue()))))),Ke}function Oe(){var Ke,Je,Rt,tr,Sr,ja;return Ke=ht,we.charCodeAt(ht)===123?(Je=pn,ht++):(Je=null,Xt===0&&Me(vn)),Je!==null?(Rt=Ze(),Rt!==null?(we.charCodeAt(ht)===44?(tr=gi,ht++):(tr=null,Xt===0&&Me(Tn)),tr!==null?(Sr=Ze(),Sr!==null?(we.charCodeAt(ht)===125?(ja=zn,ht++):(ja=null,Xt===0&&Me(qn)),ja!==null?(or=Ke,Je=gn(Rt,Sr),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function ze(){var Ke,Je,Rt,tr;return Ke=ht,we.charCodeAt(ht)===123?(Je=pn,ht++):(Je=null,Xt===0&&Me(vn)),Je!==null?(Rt=Ze(),Rt!==null?(we.substr(ht,2)===Pn?(tr=Pn,ht+=2):(tr=null,Xt===0&&Me(Ga)),tr!==null?(or=Ke,Je=Hn(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function Ve(){var Ke,Je,Rt,tr;return Ke=ht,we.charCodeAt(ht)===123?(Je=pn,ht++):(Je=null,Xt===0&&Me(vn)),Je!==null?(Rt=Ze(),Rt!==null?(we.charCodeAt(ht)===125?(tr=zn,ht++):(tr=null,Xt===0&&Me(qn)),tr!==null?(or=Ke,Je=mi(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function Ge(){var Ke,Je;return Ke=ht,we.charCodeAt(ht)===43?(Je=yi,ht++):(Je=null,Xt===0&&Me(Gn)),Je!==null&&(or=Ke,Je=Un()),Je===null&&(ht=Ke),Ke=Je,Ke}function We(){var Ke,Je;return Ke=ht,we.charCodeAt(ht)===42?(Je=Wn,ht++):(Je=null,Xt===0&&Me(_i)),Je!==null&&(or=Ke,Je=bi()),Je===null&&(ht=Ke),Ke=Je,Ke}function Ue(){var Ke,Je;return Ke=ht,we.charCodeAt(ht)===63?(Je=jn,ht++):(Je=null,Xt===0&&Me(mn)),Je!==null&&(or=Ke,Je=ft()),Je===null&&(ht=Ke),Ke=Je,Ke}function Ye(){var Ke;return we.charCodeAt(ht)===63?(Ke=jn,ht++):(Ke=null,Xt===0&&Me(mn)),Ke}function Ze(){var Ke,Je,Rt;if(Ke=ht,Je=[],xt.test(we.charAt(ht))?(Rt=we.charAt(ht),ht++):(Rt=null,Xt===0&&Me(kt)),Rt!==null)for(;Rt!==null;)Je.push(Rt),xt.test(we.charAt(ht))?(Rt=we.charAt(ht),ht++):(Rt=null,Xt===0&&Me(kt));else Je=Qt;return Je!==null&&(or=Ke,Je=zt(Je)),Je===null&&(ht=Ke),Ke=Je,Ke}function Xe(){var Ke,Je,Rt,tr;return Ke=ht,we.charCodeAt(ht)===40?(Je=Ut,ht++):(Je=null,Xt===0&&Me(Wt)),Je!==null?(Rt=ut(),Rt===null&&(Rt=dt(),Rt===null&&(Rt=at(),Rt===null&&(Rt=it()))),Rt!==null?(we.charCodeAt(ht)===41?(tr=Yt,ht++):(tr=null,Xt===0&&Me(ar)),tr!==null?(or=Ke,Je=Jt(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function it(){var Ke,Je;return Ke=ht,Je=Ce(),Je!==null&&(or=Ke,Je=lr(Je)),Je===null&&(ht=Ke),Ke=Je,Ke}function at(){var Ke,Je,Rt;return Ke=ht,we.substr(ht,2)===dr?(Je=dr,ht+=2):(Je=null,Xt===0&&Me(hr)),Je!==null?(Rt=Ce(),Rt!==null?(or=Ke,Je=zr(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function ut(){var Ke,Je,Rt;return Ke=ht,we.substr(ht,2)===Dr?(Je=Dr,ht+=2):(Je=null,Xt===0&&Me(Yr)),Je!==null?(Rt=Ce(),Rt!==null?(or=Ke,Je=na(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function dt(){var Ke,Je,Rt;return Ke=ht,we.substr(ht,2)===ya?(Je=ya,ht+=2):(Je=null,Xt===0&&Me(sa)),Je!==null?(Rt=Ce(),Rt!==null?(or=Ke,Je=Xa(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function pt(){var Ke,Je,Rt,tr,Sr;if(Xt++,Ke=ht,we.charCodeAt(ht)===91?(Je=Va,ht++):(Je=null,Xt===0&&Me(Yi)),Je!==null)if(we.charCodeAt(ht)===94?(Rt=Zr,ht++):(Rt=null,Xt===0&&Me(Ur)),Rt===null&&(Rt=Hr),Rt!==null){for(tr=[],Sr=gt(),Sr===null&&(Sr=bt());Sr!==null;)tr.push(Sr),Sr=gt(),Sr===null&&(Sr=bt());tr!==null?(we.charCodeAt(ht)===93?(Sr=Ki,ht++):(Sr=null,Xt===0&&Me(Zi)),Sr!==null?(or=Ke,Je=Yo(Rt,tr),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)}else ht=Ke,Ke=Qt;else ht=Ke,Ke=Qt;return Xt--,Ke===null&&(Je=null,Xt===0&&Me(Mn)),Ke}function gt(){var Ke,Je,Rt,tr;return Xt++,Ke=ht,Je=bt(),Je!==null?(we.charCodeAt(ht)===45?(Rt=Zo,ht++):(Rt=null,Xt===0&&Me(Xi)),Rt!==null?(tr=bt(),tr!==null?(or=Ke,Je=Xo(Je,tr),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Xt--,Ke===null&&(Je=null,Xt===0&&Me(Ko)),Ke}function bt(){var Ke;return Xt++,Ke=At(),Ke===null&&(Ke=Tt()),Xt--,Ke===null&&Xt===0&&Me(Qo),Ke}function Tt(){var Ke,Je;return Ke=ht,Jo.test(we.charAt(ht))?(Je=we.charAt(ht),ht++):(Je=null,Xt===0&&Me(es)),Je!==null&&(or=Ke,Je=Dn(Je)),Je===null&&(ht=Ke),Ke=Je,Ke}function At(){var Ke;return Ke=Ot(),Ke===null&&(Ke=_r(),Ke===null&&(Ke=yt(),Ke===null&&(Ke=Dt(),Ke===null&&(Ke=Pt(),Ke===null&&(Ke=It(),Ke===null&&(Ke=Lt(),Ke===null&&(Ke=Ft(),Ke===null&&(Ke=Ht(),Ke===null&&(Ke=Kt(),Ke===null&&(Ke=Zt(),Ke===null&&(Ke=jt(),Ke===null&&(Ke=fr(),Ke===null&&(Ke=$r(),Ke===null&&(Ke=Pr(),Ke===null&&(Ke=Lr(),Ke===null&&(Ke=nr(),Ke===null&&(Ke=wr()))))))))))))))))),Ke}function Mt(){var Ke;return Ke=qt(),Ke===null&&(Ke=Ct(),Ke===null&&(Ke=St())),Ke}function qt(){var Ke,Je;return Ke=ht,we.charCodeAt(ht)===46?(Je=ts,ht++):(Je=null,Xt===0&&Me(rs)),Je!==null&&(or=Ke,Je=as()),Je===null&&(ht=Ke),Ke=Je,Ke}function St(){var Ke,Je;return Xt++,Ke=ht,is.test(we.charAt(ht))?(Je=we.charAt(ht),ht++):(Je=null,Xt===0&&Me(Vr)),Je!==null&&(or=Ke,Je=Dn(Je)),Je===null&&(ht=Ke),Ke=Je,Xt--,Ke===null&&(Je=null,Xt===0&&Me(ns)),Ke}function Ct(){var Ke;return Ke=ct(),Ke===null&&(Ke=vt(),Ke===null&&(Ke=_r(),Ke===null&&(Ke=yt(),Ke===null&&(Ke=Dt(),Ke===null&&(Ke=Pt(),Ke===null&&(Ke=It(),Ke===null&&(Ke=Lt(),Ke===null&&(Ke=Ft(),Ke===null&&(Ke=Ht(),Ke===null&&(Ke=Kt(),Ke===null&&(Ke=Zt(),Ke===null&&(Ke=jt(),Ke===null&&(Ke=fr(),Ke===null&&(Ke=Rr(),Ke===null&&(Ke=$r(),Ke===null&&(Ke=Pr(),Ke===null&&(Ke=Lr(),Ke===null&&(Ke=nr(),Ke===null&&(Ke=wr()))))))))))))))))))),Ke}function Ot(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Er?(Je=Er,ht+=2):(Je=null,Xt===0&&Me(Qi)),Je!==null&&(or=Ke,Je=os()),Je===null&&(ht=Ke),Ke=Je,Ke}function ct(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Er?(Je=Er,ht+=2):(Je=null,Xt===0&&Me(Qi)),Je!==null&&(or=Ke,Je=ss()),Je===null&&(ht=Ke),Ke=Je,Ke}function vt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Ji?(Je=Ji,ht+=2):(Je=null,Xt===0&&Me(ls)),Je!==null&&(or=Ke,Je=us()),Je===null&&(ht=Ke),Ke=Je,Ke}function yt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Si?(Je=Si,ht+=2):(Je=null,Xt===0&&Me(cs)),Je!==null&&(or=Ke,Je=ta()),Je===null&&(ht=Ke),Ke=Je,Ke}function Dt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Yn?(Je=Yn,ht+=2):(Je=null,Xt===0&&Me(Qa)),Je!==null&&(or=Ke,Je=eo()),Je===null&&(ht=Ke),Ke=Je,Ke}function Pt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Kn?(Je=Kn,ht+=2):(Je=null,Xt===0&&Me(ba)),Je!==null&&(or=Ke,Je=to()),Je===null&&(ht=Ke),Ke=Je,Ke}function It(){var Ke,Je;return Ke=ht,we.substr(ht,2)===xi?(Je=xi,ht+=2):(Je=null,Xt===0&&Me(ro)),Je!==null&&(or=Ke,Je=ao()),Je===null&&(ht=Ke),Ke=Je,Ke}function Lt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===$i?(Je=$i,ht+=2):(Je=null,Xt===0&&Me(no)),Je!==null&&(or=Ke,Je=pa()),Je===null&&(ht=Ke),Ke=Je,Ke}function Ft(){var Ke,Je;return Ke=ht,we.substr(ht,2)===io?(Je=io,ht+=2):(Je=null,Xt===0&&Me(Sa)),Je!==null&&(or=Ke,Je=ds()),Je===null&&(ht=Ke),Ke=Je,Ke}function Ht(){var Ke,Je;return Ke=ht,we.substr(ht,2)===wi?(Je=wi,ht+=2):(Je=null,Xt===0&&Me(Ua)),Je!==null&&(or=Ke,Je=Zn()),Je===null&&(ht=Ke),Ke=Je,Ke}function Kt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Xn?(Je=Xn,ht+=2):(Je=null,Xt===0&&Me(qr)),Je!==null&&(or=Ke,Je=Wa()),Je===null&&(ht=Ke),Ke=Je,Ke}function Zt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Qn?(Je=Qn,ht+=2):(Je=null,Xt===0&&Me(hs)),Je!==null&&(or=Ke,Je=Ai()),Je===null&&(ht=Ke),Ke=Je,Ke}function jt(){var Ke,Je;return Ke=ht,we.substr(ht,2)===oo?(Je=oo,ht+=2):(Je=null,Xt===0&&Me(fs)),Je!==null&&(or=Ke,Je=ps()),Je===null&&(ht=Ke),Ke=Je,Ke}function fr(){var Ke,Je;return Ke=ht,we.substr(ht,2)===Ci?(Je=Ci,ht+=2):(Je=null,Xt===0&&Me(Jn)),Je!==null&&(or=Ke,Je=yn()),Je===null&&(ht=Ke),Ke=Je,Ke}function _r(){var Ke,Je,Rt;return Ke=ht,we.substr(ht,2)===so?(Je=so,ht+=2):(Je=null,Xt===0&&Me(lo)),Je!==null?(we.length>ht?(Rt=we.charAt(ht),ht++):(Rt=null,Xt===0&&Me(Ti)),Rt!==null?(or=Ke,Je=Pi(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function Rr(){var Ke,Je,Rt;return Ke=ht,we.charCodeAt(ht)===92?(Je=ei,ht++):(Je=null,Xt===0&&Me(Mi)),Je!==null?(vs.test(we.charAt(ht))?(Rt=we.charAt(ht),ht++):(Rt=null,Xt===0&&Me(Di)),Rt!==null?(or=Ke,Je=Ei(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}function $r(){var Ke,Je,Rt,tr;if(Ke=ht,we.substr(ht,2)===ti?(Je=ti,ht+=2):(Je=null,Xt===0&&Me(Ii)),Je!==null){if(Rt=[],da.test(we.charAt(ht))?(tr=we.charAt(ht),ht++):(tr=null,Xt===0&&Me(ri)),tr!==null)for(;tr!==null;)Rt.push(tr),da.test(we.charAt(ht))?(tr=we.charAt(ht),ht++):(tr=null,Xt===0&&Me(ri));else Rt=Qt;Rt!==null?(or=Ke,Je=En(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)}else ht=Ke,Ke=Qt;return Ke}function Pr(){var Ke,Je,Rt,tr;if(Ke=ht,we.substr(ht,2)===Ri?(Je=Ri,ht+=2):(Je=null,Xt===0&&Me(uo)),Je!==null){if(Rt=[],ai.test(we.charAt(ht))?(tr=we.charAt(ht),ht++):(tr=null,Xt===0&&Me(ni)),tr!==null)for(;tr!==null;)Rt.push(tr),ai.test(we.charAt(ht))?(tr=we.charAt(ht),ht++):(tr=null,Xt===0&&Me(ni));else Rt=Qt;Rt!==null?(or=Ke,Je=gs(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)}else ht=Ke,Ke=Qt;return Ke}function Lr(){var Ke,Je,Rt,tr;if(Ke=ht,we.substr(ht,2)===co?(Je=co,ht+=2):(Je=null,Xt===0&&Me(ms)),Je!==null){if(Rt=[],ai.test(we.charAt(ht))?(tr=we.charAt(ht),ht++):(tr=null,Xt===0&&Me(ni)),tr!==null)for(;tr!==null;)Rt.push(tr),ai.test(we.charAt(ht))?(tr=we.charAt(ht),ht++):(tr=null,Xt===0&&Me(ni));else Rt=Qt;Rt!==null?(or=Ke,Je=_n(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)}else ht=Ke,Ke=Qt;return Ke}function nr(){var Ke,Je;return Ke=ht,we.substr(ht,2)===ti?(Je=ti,ht+=2):(Je=null,Xt===0&&Me(Ii)),Je!==null&&(or=Ke,Je=ys()),Je===null&&(ht=Ke),Ke=Je,Ke}function wr(){var Ke,Je,Rt;return Ke=ht,we.charCodeAt(ht)===92?(Je=ei,ht++):(Je=null,Xt===0&&Me(Mi)),Je!==null?(we.length>ht?(Rt=we.charAt(ht),ht++):(Rt=null,Xt===0&&Me(Ti)),Rt!==null?(or=Ke,Je=Dn(Rt),Je===null&&(ht=Ke),Ke=Je):(ht=Ke,Ke=Qt)):(ht=Ke,Ke=Qt),Ke}var mr,Mr=arguments.length>1?arguments[1]:{},Tr={regexp:Ce},Br=Ce,Qt=null,Hr="",oa="|",ca='"|"',jr=function(Ke,Je){return Je?new ne(Ke,Je[1]):Ke},kr=function(Ke,Je,Rt){return new ie([Ke].concat(Je).concat([Rt]))},Zr="^",Ur='"^"',ea=function(){return new ae("start")},Da="$",Gr='"$"',Xr=function(){return new ae("end")},Ea=function(Ke,Je){return new le(Ke,Je)},Ha="Quantifier",fn=function(Ke,Je){return Je&&(Ke.greedy=!1),Ke},pn="{",vn='"{"',gi=",",Tn='","',zn="}",qn='"}"',gn=function(Ke,Je){return new ue(Ke,Je)},Pn=",}",Ga='",}"',Hn=function(Ke){return new ue(Ke,1/0)},mi=function(Ke){return new ue(Ke,Ke)},yi="+",Gn='"+"',Un=function(){return new ue(1,1/0)},Wn="*",_i='"*"',bi=function(){return new ue(0,1/0)},jn="?",mn='"?"',ft=function(){return new ue(0,1)},xt=/^[0-9]/,kt="[0-9]",zt=function(Ke){return+Ke.join("")},Ut="(",Wt='"("',Yt=")",ar='")"',Jt=function(Ke){return Ke},lr=function(Ke){return new se(Ke)},dr="?:",hr='"?:"',zr=function(Ke){return new oe("non-capture-group",Ke)},Dr="?=",Yr='"?="',na=function(Ke){return new oe("positive-lookahead",Ke)},ya="?!",sa='"?!"',Xa=function(Ke){return new oe("negative-lookahead",Ke)},Mn="CharacterSet",Va="[",Yi='"["',Ki="]",Zi='"]"',Yo=function(Ke,Je){return new ce(!!Ke,Je)},Ko="CharacterRange",Zo="-",Xi='"-"',Xo=function(Ke,Je){return new de(Ke,Je)},Qo="Character",Jo=/^[^\\\]]/,es="[^\\\\\\]]",Dn=function(Ke){return new he(Ke)},ts=".",rs='"."',as=function(){return new ae("any-character")},ns="Literal",is=/^[^|\\\/.[()?+*$\^]/,Vr="[^|\\\\\\/.[()?+*$\\^]",Er="\\b",Qi='"\\\\b"',os=function(){return new ae("backspace")},ss=function(){return new ae("word-boundary")},Ji="\\B",ls='"\\\\B"',us=function(){return new ae("non-word-boundary")},Si="\\d",cs='"\\\\d"',ta=function(){return new ae("digit")},Yn="\\D",Qa='"\\\\D"',eo=function(){return new ae("non-digit")},Kn="\\f",ba='"\\\\f"',to=function(){return new ae("form-feed")},xi="\\n",ro='"\\\\n"',ao=function(){return new ae("line-feed")},$i="\\r",no='"\\\\r"',pa=function(){return new ae("carriage-return")},io="\\s",Sa='"\\\\s"',ds=function(){return new ae("white-space")},wi="\\S",Ua='"\\\\S"',Zn=function(){return new ae("non-white-space")},Xn="\\t",qr='"\\\\t"',Wa=function(){return new ae("tab")},Qn="\\v",hs='"\\\\v"',Ai=function(){return new ae("vertical-tab")},oo="\\w",fs='"\\\\w"',ps=function(){return new ae("word")},Ci="\\W",Jn='"\\\\W"',yn=function(){return new ae("non-word")},so="\\c",lo='"\\\\c"',Ti="any character",Pi=function(Ke){return new me(Ke)},ei="\\",Mi='"\\\\"',vs=/^[1-9]/,Di="[1-9]",Ei=function(Ke){return new ge(Ke)},ti="\\0",Ii='"\\\\0"',da=/^[0-7]/,ri="[0-7]",En=function(Ke){return new ve(Ke.join(""))},Ri="\\x",uo='"\\\\x"',ai=/^[0-9a-fA-F]/,ni="[0-9a-fA-F]",gs=function(Ke){return new pe(Ke.join(""))},co="\\u",ms='"\\\\u"',_n=function(Ke){return new fe(Ke.join(""))},ys=function(){return new ae("null-character")},ht=0,or=0,bn=0,Ia={line:1,column:1,seenCR:!1},Ja=0,ii=[],Xt=0;if("startRule"in Mr){if(!(Mr.startRule in Tr))throw new Error(`Can't start parsing from rule "`+Mr.startRule+'".');Br=Tr[Mr.startRule]}if(ae.offset=Te,ae.text=Ae,mr=Br(),mr!==null&&ht===we.length)return mr;throw Ie(ii),or=Math.max(ht,Ja),new $e(ii,or<we.length?we.charAt(or):null,or,De(or).line,De(or).column)}return xe($e,Error),{SyntaxError:$e,parse:Se}}(),_e=1,be={};ee.exports=ye},function(ee,te,ae){var ne=ae(3),ie=ae(5),oe={extend:ne.extend},se=pe(97,122),le=pe(65,90),ue=pe(48,57),ce=pe(32,47)+pe(58,64)+pe(91,96)+pe(123,126),de=pe(32,126),he=` \f
-\r	\v \u2028\u2029`,fe={"\\w":se+le+ue+"_","\\W":ce.replace("_",""),"\\s":he,"\\S":function(){for(var ve=de,ge=0;ge<he.length;ge++)ve=ve.replace(he[ge],"");return ve}(),"\\d":ue,"\\D":se+le+ce};function pe(ve,ge){for(var me="",ye=ve;ye<=ge;ye++)me+=String.fromCharCode(ye);return me}oe.gen=function(ve,ge,me){return me=me||{guid:1},oe[ve.type]?oe[ve.type](ve,ge,me):oe.token(ve,ge,me)},oe.extend({token:function(ve,ge,me){switch(ve.type){case"start":case"end":return"";case"any-character":return ie.character();case"backspace":return"";case"word-boundary":return"";case"non-word-boundary":break;case"digit":return ie.pick(ue.split(""));case"non-digit":return ie.pick((se+le+ce).split(""));case"form-feed":break;case"line-feed":return ve.body||ve.text;case"carriage-return":break;case"white-space":return ie.pick(he.split(""));case"non-white-space":return ie.pick((se+le+ue).split(""));case"tab":break;case"vertical-tab":break;case"word":return ie.pick((se+le+ue).split(""));case"non-word":return ie.pick(ce.replace("_","").split(""))}return ve.body||ve.text},alternate:function(ve,ge,me){return this.gen(ie.boolean()?ve.left:ve.right,ge,me)},match:function(ve,ge,me){ge="";for(var ye=0;ye<ve.body.length;ye++)ge+=this.gen(ve.body[ye],ge,me);return ge},"capture-group":function(ve,ge,me){return ge=this.gen(ve.body,ge,me),me[me.guid++]=ge,ge},"non-capture-group":function(ve,ge,me){return this.gen(ve.body,ge,me)},"positive-lookahead":function(ve,ge,me){return this.gen(ve.body,ge,me)},"negative-lookahead":function(ve,ge,me){return""},quantified:function(ve,ge,me){ge="";for(var ye=this.quantifier(ve.quantifier),_e=0;_e<ye;_e++)ge+=this.gen(ve.body,ge,me);return ge},quantifier:function(ve,ge,me){var ye=Math.max(ve.min,0),_e=isFinite(ve.max)?ve.max:ye+ie.integer(3,7);return ie.integer(ye,_e)},charset:function(ve,ge,me){if(ve.invert)return this["invert-charset"](ve,ge,me);var ye=ie.pick(ve.body);return this.gen(ye,ge,me)},"invert-charset":function(ve,ge,me){for(var ye=de,_e=0,be;_e<ve.body.length;_e++)switch(be=ve.body[_e],be.type){case"literal":ye=ye.replace(be.body,"");break;case"range":for(var xe=this.gen(be.start,ge,me).charCodeAt(),$e=this.gen(be.end,ge,me).charCodeAt(),Se=xe;Se<=$e;Se++)ye=ye.replace(String.fromCharCode(Se),"");default:var we=fe[be.text];if(we)for(var Ae=0;Ae<=we.length;Ae++)ye=ye.replace(we[Ae],"")}return ie.pick(ye.split(""))},range:function(ve,ge,me){var ye=this.gen(ve.start,ge,me).charCodeAt(),_e=this.gen(ve.end,ge,me).charCodeAt();return String.fromCharCode(ie.integer(ye,_e))},literal:function(ve,ge,me){return ve.escaped?ve.body:ve.text},unicode:function(ve,ge,me){return String.fromCharCode(parseInt(ve.code,16))},hex:function(ve,ge,me){return String.fromCharCode(parseInt(ve.code,16))},octal:function(ve,ge,me){return String.fromCharCode(parseInt(ve.code,8))},"back-reference":function(ve,ge,me){return me[ve.code]||""},CONTROL_CHARACTER_MAP:function(){for(var ve="@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \\ ] ^ _".split(" "),ge=`\0       \x07 \b 	 
- \v \f \r              \x1B    `.split(" "),me={},ye=0;ye<ve.length;ye++)me[ve[ye]]=ge[ye];return me}(),"control-character":function(ve,ge,me){return this.CONTROL_CHARACTER_MAP[ve.code]}}),ee.exports=oe},function(ee,te,ae){ee.exports=ae(24)},function(ee,te,ae){var ne=ae(2),ie=ae(3),oe=ae(4);function se(le,ue,ce){ce=ce||[];var de={name:typeof ue=="string"?ue.replace(ne.RE_KEY,"$1"):ue,template:le,type:ie.type(le),rule:oe.parse(ue)};switch(de.path=ce.slice(0),de.path.push(ue===void 0?"ROOT":de.name),de.type){case"array":de.items=[],ie.each(le,function(he,fe){de.items.push(se(he,fe,de.path))});break;case"object":de.properties=[],ie.each(le,function(he,fe){de.properties.push(se(he,fe,de.path))});break}return de}ee.exports=se},function(ee,te,ae){ee.exports=ae(26)},function(ee,te,ae){var ne=ae(2),ie=ae(3),oe=ae(23);function se(ce,de){for(var he=oe(ce),fe=le.diff(he,de),pe=0;pe<fe.length;pe++);return fe}var le={diff:function(de,he,fe){var pe=[];return this.name(de,he,fe,pe)&&this.type(de,he,fe,pe)&&(this.value(de,he,fe,pe),this.properties(de,he,fe,pe),this.items(de,he,fe,pe)),pe},name:function(ce,de,he,fe){var pe=fe.length;return ue.equal("name",ce.path,he+"",ce.name+"",fe),fe.length===pe},type:function(ce,de,he,fe){var pe=fe.length;switch(ce.type){case"string":if(ce.template.match(ne.RE_PLACEHOLDER))return!0;break;case"array":if(ce.rule.parameters&&(ce.rule.min!==void 0&&ce.rule.max===void 0&&ce.rule.count===1||ce.rule.parameters[2]))return!0;break;case"function":return!0}return ue.equal("type",ce.path,ie.type(de),ce.type,fe),fe.length===pe},value:function(ce,de,he,fe){var pe=fe.length,ve=ce.rule,ge=ce.type;if(ge==="object"||ge==="array"||ge==="function")return!0;if(!ve.parameters){switch(ge){case"regexp":return ue.match("value",ce.path,de,ce.template,fe),fe.length===pe;case"string":if(ce.template.match(ne.RE_PLACEHOLDER))return fe.length===pe;break}return ue.equal("value",ce.path,de,ce.template,fe),fe.length===pe}var me;switch(ge){case"number":var ye=(de+"").split(".");ye[0]=+ye[0],ve.min!==void 0&&ve.max!==void 0&&(ue.greaterThanOrEqualTo("value",ce.path,ye[0],Math.min(ve.min,ve.max),fe),ue.lessThanOrEqualTo("value",ce.path,ye[0],Math.max(ve.min,ve.max),fe)),ve.min!==void 0&&ve.max===void 0&&ue.equal("value",ce.path,ye[0],ve.min,fe,"[value] "+he),ve.decimal&&(ve.dmin!==void 0&&ve.dmax!==void 0&&(ue.greaterThanOrEqualTo("value",ce.path,ye[1].length,ve.dmin,fe),ue.lessThanOrEqualTo("value",ce.path,ye[1].length,ve.dmax,fe)),ve.dmin!==void 0&&ve.dmax===void 0&&ue.equal("value",ce.path,ye[1].length,ve.dmin,fe));break;case"boolean":break;case"string":me=de.match(new RegExp(ce.template,"g")),me=me?me.length:0,ve.min!==void 0&&ve.max!==void 0&&(ue.greaterThanOrEqualTo("repeat count",ce.path,me,ve.min,fe),ue.lessThanOrEqualTo("repeat count",ce.path,me,ve.max,fe)),ve.min!==void 0&&ve.max===void 0&&ue.equal("repeat count",ce.path,me,ve.min,fe);break;case"regexp":me=de.match(new RegExp(ce.template.source.replace(/^\^|\$$/g,""),"g")),me=me?me.length:0,ve.min!==void 0&&ve.max!==void 0&&(ue.greaterThanOrEqualTo("repeat count",ce.path,me,ve.min,fe),ue.lessThanOrEqualTo("repeat count",ce.path,me,ve.max,fe)),ve.min!==void 0&&ve.max===void 0&&ue.equal("repeat count",ce.path,me,ve.min,fe);break}return fe.length===pe},properties:function(ce,de,he,fe){var pe=fe.length,ve=ce.rule,ge=ie.keys(de);if(ce.properties){if(ce.rule.parameters?(ve.min!==void 0&&ve.max!==void 0&&(ue.greaterThanOrEqualTo("properties length",ce.path,ge.length,Math.min(ve.min,ve.max),fe),ue.lessThanOrEqualTo("properties length",ce.path,ge.length,Math.max(ve.min,ve.max),fe)),ve.min!==void 0&&ve.max===void 0&&ve.count!==1&&ue.equal("properties length",ce.path,ge.length,ve.min,fe)):ue.equal("properties length",ce.path,ge.length,ce.properties.length,fe),fe.length!==pe)return!1;for(var me=0;me<ge.length;me++)fe.push.apply(fe,this.diff(function(){var ye;return ie.each(ce.properties,function(_e){_e.name===ge[me]&&(ye=_e)}),ye||ce.properties[me]}(),de[ge[me]],ge[me]));return fe.length===pe}},items:function(ce,de,he,fe){var pe=fe.length;if(ce.items){var ve=ce.rule;if(!ce.rule.parameters)ue.equal("items length",ce.path,de.length,ce.items.length,fe);else{if(ve.min!==void 0&&ve.max!==void 0&&(ue.greaterThanOrEqualTo("items",ce.path,de.length,Math.min(ve.min,ve.max)*ce.items.length,fe,"[{utype}] array is too short: {path} must have at least {expected} elements but instance has {actual} elements"),ue.lessThanOrEqualTo("items",ce.path,de.length,Math.max(ve.min,ve.max)*ce.items.length,fe,"[{utype}] array is too long: {path} must have at most {expected} elements but instance has {actual} elements")),ve.min!==void 0&&ve.max===void 0){if(ve.count===1)return fe.length===pe;ue.equal("items length",ce.path,de.length,ve.min*ce.items.length,fe)}if(ve.parameters[2])return fe.length===pe}if(fe.length!==pe)return!1;for(var ge=0;ge<de.length;ge++)fe.push.apply(fe,this.diff(ce.items[ge%ce.items.length],de[ge],ge%ce.items.length));return fe.length===pe}}},ue={message:function(ce){return(ce.message||"[{utype}] Expect {path}'{ltype} {action} {expected}, but is {actual}").replace("{utype}",ce.type.toUpperCase()).replace("{ltype}",ce.type.toLowerCase()).replace("{path}",ie.isArray(ce.path)&&ce.path.join(".")||ce.path).replace("{action}",ce.action).replace("{expected}",ce.expected).replace("{actual}",ce.actual)},equal:function(ce,de,he,fe,pe,ve){if(he===fe)return!0;switch(ce){case"type":if(fe==="regexp"&&he==="string")return!0;break}var ge={path:de,type:ce,actual:he,expected:fe,action:"is equal to",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1},match:function(ce,de,he,fe,pe,ve){if(fe.test(he))return!0;var ge={path:de,type:ce,actual:he,expected:fe,action:"matches",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1},notEqual:function(ce,de,he,fe,pe,ve){if(he!==fe)return!0;var ge={path:de,type:ce,actual:he,expected:fe,action:"is not equal to",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1},greaterThan:function(ce,de,he,fe,pe,ve){if(he>fe)return!0;var ge={path:de,type:ce,actual:he,expected:fe,action:"is greater than",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1},lessThan:function(ce,de,he,fe,pe,ve){if(he<fe)return!0;var ge={path:de,type:ce,actual:he,expected:fe,action:"is less to",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1},greaterThanOrEqualTo:function(ce,de,he,fe,pe,ve){if(he>=fe)return!0;var ge={path:de,type:ce,actual:he,expected:fe,action:"is greater than or equal to",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1},lessThanOrEqualTo:function(ce,de,he,fe,pe,ve){if(he<=fe)return!0;var ge={path:de,type:ce,actual:he,expected:fe,action:"is less than or equal to",message:ve};return ge.message=ue.message(ge),pe.push(ge),!1}};se.Diff=le,se.Assert=ue,ee.exports=se},function(ee,te,ae){ee.exports=ae(28)},function(ee,te,ae){var ne=ae(3);window._XMLHttpRequest=window.XMLHttpRequest,window._ActiveXObject=window.ActiveXObject;try{new window.Event("custom")}catch{window.Event=function(ve,ge,me,ye){var _e=document.createEvent("CustomEvent");return _e.initCustomEvent(ve,ge,me,ye),_e}}var ie={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},oe="readystatechange loadstart progress abort error load timeout loadend".split(" "),se="timeout withCredentials".split(" "),le="readyState responseURL status statusText responseType response responseText responseXML".split(" "),ue={100:"Continue",101:"Switching Protocols",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",300:"Multiple Choice",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",422:"Unprocessable Entity",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported"};function ce(){this.custom={events:{},requestHeaders:{},responseHeaders:{}}}ce._settings={timeout:"10-100"},ce.setup=function(pe){return ne.extend(ce._settings,pe),ce._settings},ne.extend(ce,ie),ne.extend(ce.prototype,ie),ce.prototype.mock=!0,ce.prototype.match=!1,ne.extend(ce.prototype,{open:function(pe,ve,ge,me,ye){var _e=this;ne.extend(this.custom,{method:pe,url:ve,async:typeof ge=="boolean"?ge:!0,username:me,password:ye,options:{url:ve,type:pe}}),this.custom.timeout=function(Ae){if(typeof Ae=="number")return Ae;if(typeof Ae=="string"&&!~Ae.indexOf("-"))return parseInt(Ae,10);if(typeof Ae=="string"&&~Ae.indexOf("-")){var Te=Ae.split("-"),De=parseInt(Te[0],10),Me=parseInt(Te[1],10);return Math.round(Math.random()*(Me-De))+De}}(ce._settings.timeout);var be=he(this.custom.options);function xe(Ae){for(var Te=0;Te<le.length;Te++)try{_e[le[Te]]=$e[le[Te]]}catch{}_e.dispatchEvent(new Event(Ae.type))}if(!be){var $e=de();this.custom.xhr=$e;for(var Se=0;Se<oe.length;Se++)$e.addEventListener(oe[Se],xe);me?$e.open(pe,ve,ge,me,ye):$e.open(pe,ve,ge);for(var we=0;we<se.length;we++)try{$e[se[we]]=_e[se[we]]}catch{}return}this.match=!0,this.custom.template=be,this.readyState=ce.OPENED,this.dispatchEvent(new Event("readystatechange"))},setRequestHeader:function(pe,ve){if(!this.match){this.custom.xhr.setRequestHeader(pe,ve);return}var ge=this.custom.requestHeaders;ge[pe]?ge[pe]+=","+ve:ge[pe]=ve},timeout:0,withCredentials:!1,upload:{},send:function(ve){var ge=this;if(this.custom.options.body=ve,!this.match){this.custom.xhr.send(ve);return}this.setRequestHeader("X-Requested-With","MockXMLHttpRequest"),this.dispatchEvent(new Event("loadstart")),this.custom.async?setTimeout(me,this.custom.timeout):me();function me(){ge.readyState=ce.HEADERS_RECEIVED,ge.dispatchEvent(new Event("readystatechange")),ge.readyState=ce.LOADING,ge.dispatchEvent(new Event("readystatechange")),ge.status=200,ge.statusText=ue[200],ge.response=ge.responseText=JSON.stringify(fe(ge.custom.template,ge.custom.options),null,4),ge.readyState=ce.DONE,ge.dispatchEvent(new Event("readystatechange")),ge.dispatchEvent(new Event("load")),ge.dispatchEvent(new Event("loadend"))}},abort:function(){if(!this.match){this.custom.xhr.abort();return}this.readyState=ce.UNSENT,this.dispatchEvent(new Event("abort",!1,!1,this)),this.dispatchEvent(new Event("error",!1,!1,this))}}),ne.extend(ce.prototype,{responseURL:"",status:ce.UNSENT,statusText:"",getResponseHeader:function(pe){return this.match?this.custom.responseHeaders[pe.toLowerCase()]:this.custom.xhr.getResponseHeader(pe)},getAllResponseHeaders:function(){if(!this.match)return this.custom.xhr.getAllResponseHeaders();var pe=this.custom.responseHeaders,ve="";for(var ge in pe)pe.hasOwnProperty(ge)&&(ve+=ge+": "+pe[ge]+`\r
-`);return ve},overrideMimeType:function(){},responseType:"",response:null,responseText:"",responseXML:null}),ne.extend(ce.prototype,{addEventListener:function(ve,ge){var me=this.custom.events;me[ve]||(me[ve]=[]),me[ve].push(ge)},removeEventListener:function(ve,ge){for(var me=this.custom.events[ve]||[],ye=0;ye<me.length;ye++)me[ye]===ge&&me.splice(ye--,1)},dispatchEvent:function(ve){for(var ge=this.custom.events[ve.type]||[],me=0;me<ge.length;me++)ge[me].call(this,ve);var ye="on"+ve.type;this[ye]&&this[ye](ve)}});function de(){var pe=function(){var me=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ye=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,_e=location.href,be=ye.exec(_e.toLowerCase())||[];return me.test(be[1])}();return window.ActiveXObject?!pe&&ve()||ge():ve();function ve(){try{return new window._XMLHttpRequest}catch{}}function ge(){try{return new window._ActiveXObject("Microsoft.XMLHTTP")}catch{}}}function he(pe){for(var ve in ce.Mock._mocked){var ge=ce.Mock._mocked[ve];if((!ge.rurl||me(ge.rurl,pe.url))&&(!ge.rtype||me(ge.rtype,pe.type.toLowerCase())))return ge}function me(ye,_e){if(ne.type(ye)==="string")return ye===_e;if(ne.type(ye)==="regexp")return ye.test(_e)}}function fe(pe,ve){return ne.isFunction(pe.template)?pe.template(ve):ce.Mock.mock(pe.template)}ee.exports=ce}])})})(mock);var mockExports=mock.exports;const Mock$1=getDefaultExportFromCjs(mockExports);function lexer(ee){for(var te=[],ae=0;ae<ee.length;){var ne=ee[ae];if(ne==="*"||ne==="+"||ne==="?"){te.push({type:"MODIFIER",index:ae,value:ee[ae++]});continue}if(ne==="\\"){te.push({type:"ESCAPED_CHAR",index:ae++,value:ee[ae++]});continue}if(ne==="{"){te.push({type:"OPEN",index:ae,value:ee[ae++]});continue}if(ne==="}"){te.push({type:"CLOSE",index:ae,value:ee[ae++]});continue}if(ne===":"){for(var ie="",oe=ae+1;oe<ee.length;){var se=ee.charCodeAt(oe);if(se>=48&&se<=57||se>=65&&se<=90||se>=97&&se<=122||se===95){ie+=ee[oe++];continue}break}if(!ie)throw new TypeError("Missing parameter name at ".concat(ae));te.push({type:"NAME",index:ae,value:ie}),ae=oe;continue}if(ne==="("){var le=1,ue="",oe=ae+1;if(ee[oe]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(oe));for(;oe<ee.length;){if(ee[oe]==="\\"){ue+=ee[oe++]+ee[oe++];continue}if(ee[oe]===")"){if(le--,le===0){oe++;break}}else if(ee[oe]==="("&&(le++,ee[oe+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(oe));ue+=ee[oe++]}if(le)throw new TypeError("Unbalanced pattern at ".concat(ae));if(!ue)throw new TypeError("Missing pattern at ".concat(ae));te.push({type:"PATTERN",index:ae,value:ue}),ae=oe;continue}te.push({type:"CHAR",index:ae,value:ee[ae++]})}return te.push({type:"END",index:ae,value:""}),te}function parse(ee,te){te===void 0&&(te={});for(var ae=lexer(ee),ne=te.prefixes,ie=ne===void 0?"./":ne,oe="[^".concat(escapeString(te.delimiter||"/#?"),"]+?"),se=[],le=0,ue=0,ce="",de=function(Se){if(ue<ae.length&&ae[ue].type===Se)return ae[ue++].value},he=function(Se){var we=de(Se);if(we!==void 0)return we;var Ae=ae[ue],Te=Ae.type,De=Ae.index;throw new TypeError("Unexpected ".concat(Te," at ").concat(De,", expected ").concat(Se))},fe=function(){for(var Se="",we;we=de("CHAR")||de("ESCAPED_CHAR");)Se+=we;return Se};ue<ae.length;){var pe=de("CHAR"),ve=de("NAME"),ge=de("PATTERN");if(ve||ge){var me=pe||"";ie.indexOf(me)===-1&&(ce+=me,me=""),ce&&(se.push(ce),ce=""),se.push({name:ve||le++,prefix:me,suffix:"",pattern:ge||oe,modifier:de("MODIFIER")||""});continue}var ye=pe||de("ESCAPED_CHAR");if(ye){ce+=ye;continue}ce&&(se.push(ce),ce="");var _e=de("OPEN");if(_e){var me=fe(),be=de("NAME")||"",xe=de("PATTERN")||"",$e=fe();he("CLOSE"),se.push({name:be||(xe?le++:""),pattern:be&&!xe?oe:xe,prefix:me,suffix:$e,modifier:de("MODIFIER")||""});continue}he("END")}return se}function escapeString(ee){return ee.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function flags(ee){return ee&&ee.sensitive?"":"i"}function regexpToRegexp(ee,te){if(!te)return ee;for(var ae=/\((?:\?<(.*?)>)?(?!\?)/g,ne=0,ie=ae.exec(ee.source);ie;)te.push({name:ie[1]||ne++,prefix:"",suffix:"",modifier:"",pattern:""}),ie=ae.exec(ee.source);return ee}function arrayToRegexp(ee,te,ae){var ne=ee.map(function(ie){return pathToRegexp(ie,te,ae).source});return new RegExp("(?:".concat(ne.join("|"),")"),flags(ae))}function stringToRegexp(ee,te,ae){return tokensToRegexp(parse(ee,ae),te,ae)}function tokensToRegexp(ee,te,ae){ae===void 0&&(ae={});for(var ne=ae.strict,ie=ne===void 0?!1:ne,oe=ae.start,se=oe===void 0?!0:oe,le=ae.end,ue=le===void 0?!0:le,ce=ae.encode,de=ce===void 0?function(De){return De}:ce,he=ae.delimiter,fe=he===void 0?"/#?":he,pe=ae.endsWith,ve=pe===void 0?"":pe,ge="[".concat(escapeString(ve),"]|$"),me="[".concat(escapeString(fe),"]"),ye=se?"^":"",_e=0,be=ee;_e<be.length;_e++){var xe=be[_e];if(typeof xe=="string")ye+=escapeString(de(xe));else{var $e=escapeString(de(xe.prefix)),Se=escapeString(de(xe.suffix));if(xe.pattern)if(te&&te.push(xe),$e||Se)if(xe.modifier==="+"||xe.modifier==="*"){var we=xe.modifier==="*"?"?":"";ye+="(?:".concat($e,"((?:").concat(xe.pattern,")(?:").concat(Se).concat($e,"(?:").concat(xe.pattern,"))*)").concat(Se,")").concat(we)}else ye+="(?:".concat($e,"(").concat(xe.pattern,")").concat(Se,")").concat(xe.modifier);else xe.modifier==="+"||xe.modifier==="*"?ye+="((?:".concat(xe.pattern,")").concat(xe.modifier,")"):ye+="(".concat(xe.pattern,")").concat(xe.modifier);else ye+="(?:".concat($e).concat(Se,")").concat(xe.modifier)}}if(ue)ie||(ye+="".concat(me,"?")),ye+=ae.endsWith?"(?=".concat(ge,")"):"$";else{var Ae=ee[ee.length-1],Te=typeof Ae=="string"?me.indexOf(Ae[Ae.length-1])>-1:Ae===void 0;ie||(ye+="(?:".concat(me,"(?=").concat(ge,"))?")),Te||(ye+="(?=".concat(me,"|").concat(ge,")"))}return new RegExp(ye,flags(ae))}function pathToRegexp(ee,te,ae){return ee instanceof RegExp?regexpToRegexp(ee,te):Array.isArray(ee)?arrayToRegexp(ee,te,ae):stringToRegexp(ee,te,ae)}const Mock=Mock$1;function createProdMockServer(ee){Mock.XHR.prototype.__send=Mock.XHR.prototype.send,Mock.XHR.prototype.send=function(){if(this.custom.xhr&&(this.custom.xhr.withCredentials=this.withCredentials||!1,this.responseType&&(this.custom.xhr.responseType=this.responseType)),this.custom.requestHeaders){const te={};for(let ae in this.custom.requestHeaders)te[ae.toString().toLowerCase()]=this.custom.requestHeaders[ae];this.custom.options=Object.assign({},this.custom.options,{headers:te})}this.__send.apply(this,arguments)},Mock.XHR.prototype.proxy_open=Mock.XHR.prototype.open,Mock.XHR.prototype.open=function(){let te=this.responseType;this.proxy_open(...arguments),this.custom.xhr&&te&&(this.custom.xhr.responseType=te)};for(const{url:te,method:ae,response:ne,timeout:ie}of ee)__setupMock__(ie),Mock.mock(pathToRegexp(te,void 0,{end:!1}),ae||"get",__XHR2ExpressReqWrapper__(ne))}function __param2Obj__(ee){const te=ee.split("?")[1];return te?JSON.parse('{"'+decodeURIComponent(te).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"').replace(/\+/g," ")+'"}'):{}}function __XHR2ExpressReqWrapper__(ee){return function(te){let ae=null;if(typeof ee=="function"){const{body:ne,type:ie,url:oe,headers:se}=te;let le=ne;try{le=JSON.parse(ne)}catch{}ae=ee({method:ie,body:le,query:__param2Obj__(oe),headers:se})}else ae=ee;return Mock.mock(ae)}}function __setupMock__(ee=0){ee&&Mock.setup({timeout:ee})}const successResponseWrap=ee=>({data:ee,errMsg:"",code:"0"}),failResponseWrap=(ee,te,ae="500")=>({data:ee,errMsg:te,code:ae}),initData$2=Mock$1.mock({chartData:[{title:"userInfo.week.1",value:1,list:[{type:"userInfo.type.optionA",status:"userInfo.status.optionA",len:1,bid:"A",pid:"A"},{type:"userInfo.type.optionC",status:"userInfo.status.optionB",len:5,bid:"c",pid:"B"},{type:"userInfo.type.optionA",status:"userInfo.status.optionC",len:3,bid:"A",pid:"C"},{type:"userInfo.type.optionA",status:"userInfo.status.optionA",len:1,bid:"A",pid:"A"},{type:"userInfo.type.optionB",status:"userInfo.status.optionA",len:6,bid:"B",pid:"A"},{type:"userInfo.type.optionA",status:"userInfo.status.optionC",len:1,bid:"A",pid:"C"},{type:"userInfo.type.optionA",status:"userInfo.status.optionA",len:1,bid:"A",pid:"A"},{type:"userInfo.type.optionA",status:"userInfo.status.optionB",len:1,bid:"A",pid:"B"},{type:"userInfo.type.optionB",status:"userInfo.status.optionA",len:1,bid:"B",pid:"A"},{type:"userInfo.type.optionA",status:"userInfo.status.optionC",len:1,bid:"A",pid:"C"},{type:"userInfo.type.optionA",status:"userInfo.status.optionD",len:1,bid:"A",pid:"D"},{type:"userInfo.type.optionC",status:"userInfo.status.optionD",len:1,bid:"C",pid:"D"},{type:"userInfo.type.optionA",status:"userInfo.status.optionD",len:1,bid:"A",pid:"D"}]},{title:"userInfo.month.1",value:0},{title:"userInfo.month.2",value:0},{title:"userInfo.month.3",value:0},{title:"userInfo.month.4",value:0},{title:"userInfo.month.5",value:0},{title:"userInfo.month.6",value:0},{title:"userInfo.month.7",value:0},{title:"userInfo.month.8",value:0},{title:"userInfo.month.9",value:0},{title:"userInfo.month.10",value:0},{title:"userInfo.month.11",value:0},{title:"userInfo.month.12",value:0},{title:"userInfo.month.13",value:0},{title:"userInfo.month.14",value:0},{title:"userInfo.month.15",value:0},{title:"userInfo.month.16",value:0},{title:"userInfo.month.17",value:0}],tableData:[{id:"1",bid:"A",pid:"D",name:"GFD Company",time:"2021-12-18",type:"userInfo.type.optionA",status:"userInfo.status.optionD"},{id:"2",bid:"B",pid:"A",name:"WWWW Company",time:"2021-11-18",type:"userInfo.type.optionB",status:"userInfo.status.optionA"},{id:"3",bid:"C",pid:"B",name:"TGBYX Company",time:"2021-10-18",type:"userInfo.type.optionC",status:"userInfo.status.optionB"},{id:"4",bid:"B",pid:"D",name:"GF Company",time:"2021-09-18",type:"userInfo.type.optionB",status:"userInfo.status.optionC"},{id:"5",bid:"C",pid:"C",name:"Property management company",time:"2021-07-18",type:"userInfo.type.optionA",status:"userInfo.status.optionD"},{id:"6",bid:"A",pid:"C",name:"Property management company",time:"2020-12-23",type:"userInfo.type.optionA",status:"userInfo.status.optionC"},{id:"7",bid:"B",pid:"C",name:"GF Company",time:"2020-11-08",type:"userInfo.type.optionB",status:"userInfo.status.optionC"},{id:"8",bid:"B",pid:"C",name:"WWWW Company",time:"2020-10-18",type:"userInfo.type.optionB",status:"userInfo.status.optionC"},{id:"9",bid:"C",pid:"D",name:"WWWW Company",time:"2020-10-11",type:"userInfo.type.optionC",status:"userInfo.status.optionD"},{id:"10",bid:"C",pid:"D",name:"TGBYX Company",time:"2020-06-18",type:"userInfo.type.optionC",status:"userInfo.status.optionD"}],userInfo:{userId:"10000",username:"admin",department:"Tiny-Vue-Pro",employeeType:"social recruitment",role:"admin",job:"Front end",probationStart:"2021-04-19",probationEnd:"2021-10-15",probationDuration:"180",protocolStart:"2021-04-19",protocolEnd:"2024-04-19",address:"xian",status:"normal"}}),positive=JSON.parse(JSON.stringify(initData$2.tableData)),negative=JSON.parse(JSON.stringify(initData$2.tableData.reverse())),initlist=JSON.parse(JSON.stringify(initData$2.chartData[0].list)),userInfo=JSON.parse(JSON.stringify(initData$2.userInfo)),user=[{url:"/api/user/register",method:"post",response:ee=>(localStorage.setItem("registerUser",JSON.stringify(ee.body)),successResponseWrap({...userInfo,role:"admin"}))},{url:"/api/user/userInfo",method:"get",response:()=>{if(isLogin()){const ee=window.localStorage.getItem("userRole")||"admin";return successResponseWrap({...userInfo,role:ee})}return successResponseWrap(null)}},{url:"/api/user/userInfo",method:"put",response:()=>{if(isLogin()){const ee=window.localStorage.getItem("userRole")||"admin";return successResponseWrap({...userInfo,role:ee})}return successResponseWrap(null)}},{url:"/api/user/login",method:"post",response:ee=>{const te=JSON.parse(localStorage.getItem("registerUser")||"{}"),{username:ae,password:ne}=JSON.parse(JSON.stringify(ee.body));return ae?ne?ae==="admin@example.com"&&ne==="admin"||ae===te.username&&ne===te.password?(window.localStorage.setItem("userRole","admin"),successResponseWrap({token:"12345",userInfo:{...userInfo}})):failResponseWrap(null,"账号或者密码错误","InvalidParameter"):failResponseWrap(null,"密码不能为空","InvalidParameter"):failResponseWrap(null,"邮箱名不能为空","InvalidParameter")}},{url:"/api/user/logout",method:"post",response:()=>successResponseWrap(null)},{url:"/api/user/data",method:"post",response:ee=>{const{sort:te,startTime:ae,endTime:ne,filterStatus:ie,filterType:oe}=JSON.parse(JSON.stringify(ee.body));if(initData$2.tableData=positive,initData$2.chartData[0].list=initlist,te===1||te===3)return initData$2.chartData[0].list.reverse(),initData$2.tableData=positive,successResponseWrap(initData$2);if(te===2||te===4)return initData$2.chartData[0].list.reverse(),initData$2.tableData=negative,successResponseWrap(initData$2);if(ae!==""||ne!==""||ie.length!==0||oe.length!==0&&te===void 0){const se=new Date(JSON.parse(JSON.stringify(ae))).getTime(),le=new Date(JSON.parse(JSON.stringify(ne))).getTime(),ue=initData$2.tableData.filter(function(de){return oe.includes(de.bid)&&ie.includes(de.pid)&&new Date(JSON.parse(JSON.stringify(de.time))).getTime()-se>0&&new Date(JSON.parse(JSON.stringify(de.time))).getTime()-le<0}),ce=initData$2.chartData[0].list.filter(function(de){return oe.includes(de.bid)&&ie.includes(de.pid)});return initData$2.tableData=ue,initData$2.chartData[0].list=ce,successResponseWrap(initData$2)}return successResponseWrap(initData$2)}}],taskList=Mock$1.mock({"list|60":[{id:"@id",name:"xiaoming",rank:"初级",description:"一段描述文字",createTime:"@datetime","status|1":["0","1","2"],type:"Tiny Design",roles:"前端",employeeNo:"00022456",department:"公共服务",departmentLevel:"中级",workbenchName:"work",project:"TinyDesign",address:"西安研究所",lastUpdateUser:"张三"}]});let treeData=[];const list=[{url:"/api/employee/getEmployee",method:"post",response:ee=>{const{pageIndex:te=1,pageSize:ae=10}=JSON.parse(JSON.stringify(ee.body)),ne=te,ie=ae,oe=(ne-1)*ie,se=ne*ie;treeData=taskList.list.slice(oe,se);const le=Mock$1.mock({total:60,data:treeData});return successResponseWrap(le)}}],initBase=Mock$1.mock({Project:["baseForm.form.label.projectone","baseForm.form.label.projecttwo","baseForm.form.label.projectthree"],rank:[{value:"1",label:"01"},{value:"2",label:"02"},{value:"3",label:"03"},{value:"4",label:"04"},{value:"5",label:"05"}],person:[{value:"local",label:"baseForm.form.label.personone"},{value:"noemployees",label:"baseForm.form.label.persontwo"},{value:"chineseemployees",label:"baseForm.form.label.personthree"}],frequency:["baseForm.form.label.frequencyone","baseForm.form.label.frequencytwo","baseForm.form.label.frequencythree","baseForm.form.label.frequencyfour"]}),initStep=Mock$1.mock({position:[{value:"1",label:"position1"},{value:"2",label:"position2"},{value:"3",label:"position3"},{value:"4",label:"position4"}],HR:[{value:"1",label:"test01"},{value:"2",label:"test01"},{value:"3",label:"test03"}],mentor:["Teacher1","Teacher2","Teacher3","Teacher4"],director:["Director1","Director2","Director3","Director4"]}),froms=[{url:"/api/base/getdata",method:"get",response:()=>successResponseWrap(initBase)},{url:"/api/step/getdata",method:"get",response:()=>successResponseWrap(initStep)},{url:"/api/channel-form/submit",method:"post",response:()=>successResponseWrap("ok")}],initData$1=Mock$1.mock({Project:["baseForm.form.label.projectone","baseForm.form.label.projecttwo","baseForm.form.label.projectthree"],tableData:[{id:"1",version:"version1",operation:"offline",updated:"person1",time:"2022-10-11"},{id:"2",version:"version2",operation:"offline",updated:"person2",time:"2022-10-12"},{id:"3",version:"version3",operation:"online",updated:"person3",time:"2022-10-13"},{id:"4",version:"version4",operation:"online",updated:"person4",time:"2022-10-14"},{id:"5",version:"version5",operation:"online",updated:"person5",time:"2022-10-15"},{id:"6",version:"version6",operation:"online",updated:"person6",time:"2022-10-16"}]}),profile=[{url:"/api/detail/getdata",method:"get",response:()=>successResponseWrap(initData$1)}],initData=Mock$1.mock({options:[{value:"1",label:"work.mock.employees"},{value:"2",label:"work.mock.onboard"},{value:"3",label:"work.mock.Test"}]}),initData1=Mock$1.mock({options:[{value:"1",label:"work.mock.week1"},{value:"2",label:"work.mock.week2"},{value:"3",label:"work.mock.week3"}]}),initData2=Mock$1.mock({options:[{value:"1",label:"work.mock.network"},{value:"2",label:"work.mock.centralized"},{value:"3",label:"work.mock.hardware"}]}),changeDate=Mock$1.mock({options1:[101,212,122,232],options2:[323,555,425,2221],options3:[23234,234,989,122]}),board=[{url:"/api/user/getdata",method:"get",response:()=>successResponseWrap(initData)},{url:"/api/user/getrpractic",method:"get",response:()=>successResponseWrap(initData1)},{url:"/api/user/getrtrain",method:"get",response:()=>successResponseWrap(initData2)},{url:"/api/user/getselect",method:"post",response:ee=>{let te=null;return ee.body===1?te=successResponseWrap(changeDate.options1):ee.body===2?te=successResponseWrap(changeDate.options2):te=successResponseWrap(changeDate.options3),te}}],index=[...user,...list,...froms,...profile,...board];function setupProdMockServer(){createProdMockServer([...index])}const _imports_0="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADZ0lEQVRYR8WXTUhUURTH/+e9+RTFEXJSM4ooI4MMwlUFQhRRi6B9iwIzHSclJ6xFIbWo0MgYs29auIogiKhFEErlylz0oaWEFpXRCFlOOOObmXfivnHEZ368Owrzlu/d/zm/d+45555LsPjwzZv2ycG3FXoCB4i5FIQiMK0CMQMYAWOEifoVFY+cJVu6qKoqZsU0LbaIAwFvJBY9A9IPgZG72HrjO+EPWOlw213nqaUltJBmXgBuanJEf4caAZxkRo4lx7MWESEMoNnl8V6ipiZtLhtzAvBpf350Qn/I4B3pOJ6tIdArV5ZykC4ER///NuvNZIO/VE/oT5l5zXI4T9kgoi+KquxzXg72z7RrioDx5xG9Z7mdz4RwuZXymZGYBjD2fGz0uZWwq9vKYdu7H4AoAACqiviTx0j09iwaNGM78vJ3pXJiGiBSX3OGGecWtQBAKdsK5+FK09LJu7egv3tjRQ4inHW3tp9PFoz4j0DAG41PfLKa7bShBC5fnclZtPUy+POQVYCwy5a1XpSoATBRVxsE9FpLakG9qhjOhkaQohgS1jRMXmkG/xixakLEsS3rapufRIeLfHgzarnJCICCQjjrToDcWYZDPTwOLXgFHFqw55jhCH/cm8ryKdrg263H+ZkEOmhFPhz+eii5niTAaAhaexA89kvGDBQb7aGJel8bmH0ySvJ44Kg5DsW70pAlvn+DduMaEB6XMQMQXaNIva+TmSuklNk5cByrhVpcnAQYHoJ2qx2IRKTMEFGXABhg5hIppdsNZ1UNlLXrkgADH6HduQHELB2A066IaJAidb4wg7OlAOx2OCqroZZsNGTxvveI3b4uZSLZA+hvegBEsFdWw1a6OQnQ+xqxjnvyAIRwelsAwHHkKNQtZUmA7heIPbifDsBAekkowrd+A5SCQpHJ0IeHwN++ygMAnWmVobSn+QSiDNNpREYCefJMZvn3mDSX0YjSasXelXBU+4H4VNnZ7NCuB8Ghn9YhUq1YKKQPo+LVcAVOmZxFWy5K5sHUYSSsSB/HSwQQw6rpOBYQMgMJLR3APJAYUZAYyWC3Q92+E4jHk9tgsyHR/dJSK553JDMgMjmUpjIqo2N5CiKjF5NpiExezWYWeMYup7Nbmul6DohzuAiMImMdQYzDIwz0yV7P/wGfH7KWBekOEQAAAABJRU5ErkJggg==",_withScopeId=ee=>(pushScopeId("data-v-0390b860"),ee=ee(),popScopeId(),ee),_hoisted_1={key:0,class:"global-set-contain"},_hoisted_2={class:"global-set-from"},_hoisted_3={class:"global-set-head"},_hoisted_4={class:"global-set-tip"},_hoisted_5=_withScopeId(()=>createBaseVNode("img",{src:_imports_0,class:"image"},null,-1)),_hoisted_6={class:"global-set-content"},_hoisted_7={class:"global-set-foot"},_sfc_main$1=defineComponent$1({__name:"index",setup(ee){const te=index$17(),{copy:ae}=useClipboard(),ne=useAppStore(),ie=computed(()=>ne.Settings),{t:oe}=useI18n(),se=()=>{ne.updateSettings({Settings:!1})},le=()=>{const he=JSON.stringify(`const tinyTestTheme = {
-  id: 'tiny-test-theme', // 主题的唯一id,每个主题必须唯一
-  name: 'testTheme', // 主题的英文名称
-  cnName: '测试主题', // 主题的中文名称
-  data: { 'ti-base-color': '#f2f2f3' } //  主题数据
-}`);ae(he),TINYModal.message({message:oe("setting.copy"),status:"success"})},ue=he=>{he||ne.updateSettings({menu:!0,footer:!0})},ce=he=>{he||ne.updateSettings({navbar:!0,footer:!0})},de=he=>{he||ne.updateSettings({navbar:!0,menu:!0})};return(he,fe)=>ie.value?(openBlock(),createElementBlock("div",_hoisted_1,[createBaseVNode("div",{class:"global-hide-from",onClick:se}),createBaseVNode("div",_hoisted_2,[createBaseVNode("div",_hoisted_3,[createBaseVNode("h3",null,toDisplayString(he.$t("settings.title")),1),createVNode$1(unref(te),{onClick:se})]),createBaseVNode("div",_hoisted_4,[_hoisted_5,createBaseVNode("div",null,toDisplayString(he.$t("settings.alertContent")),1)]),createBaseVNode("div",_hoisted_6,[createBaseVNode("h4",null,toDisplayString(he.$t("settings.content")),1),createBaseVNode("div",null,[createBaseVNode("span",null,[createBaseVNode("div",null,toDisplayString(he.$t("settings.navbar")),1),createBaseVNode("div",null,toDisplayString(he.$t("setting.mode.navbar")),1)]),createVNode$1(unref(Switch),{modelValue:unref(ne).navbar,"onUpdate:modelValue":fe[0]||(fe[0]=pe=>unref(ne).navbar=pe),onChange:ue},null,8,["modelValue"])]),createBaseVNode("div",null,[createBaseVNode("span",null,[createBaseVNode("div",null,toDisplayString(he.$t("settings.menu")),1),createBaseVNode("div",null,toDisplayString(he.$t("setting.mode.menu")),1)]),createVNode$1(unref(Switch),{modelValue:unref(ne).menu,"onUpdate:modelValue":fe[1]||(fe[1]=pe=>unref(ne).menu=pe),onChange:ce},null,8,["modelValue"])]),createBaseVNode("div",null,[createBaseVNode("span",null,[createBaseVNode("div",null,toDisplayString(he.$t("settings.footer")),1),createBaseVNode("div",null,toDisplayString(he.$t("setting.mode.footer")),1)]),createVNode$1(unref(Switch),{modelValue:unref(ne).footer,"onUpdate:modelValue":fe[2]||(fe[2]=pe=>unref(ne).footer=pe),onChange:de},null,8,["modelValue"])])]),createBaseVNode("div",_hoisted_7,[createBaseVNode("div",null,[createVNode$1(unref(Button),{type:"primary",onClick:le},{default:withCtx(()=>[createTextVNode(toDisplayString(he.$t("settings.copySettings")),1)]),_:1}),createVNode$1(unref(Button),{onClick:se},{default:withCtx(()=>[createTextVNode(toDisplayString(he.$t("settings.close")),1)]),_:1})])])])])):createCommentVNode("",!0)}}),index_vue_vue_type_style_index_0_scoped_0390b860_lang="",GlobalSetting=_export_sfc(_sfc_main$1,[["__scopeId","data-v-0390b860"]]),_sfc_main=defineComponent$1({__name:"App",setup(ee){return provide("echarts",echarts),(te,ae)=>{const ne=resolveComponent("router-view");return openBlock(),createElementBlock("div",null,[createVNode$1(ne),createVNode$1(GlobalSetting)])}}}),App_vue_vue_type_style_index_0_scoped_84f2642f_lang="",App=_export_sfc(_sfc_main,[["__scopeId","data-v-84f2642f"]]),{VITE_API_BASE_URL,VITE_BASE_API,VITE_MOCK_IGNORE}={VITE_CONTEXT:"/ui/admin/web/",VITE_BASE_API:"/api",VITE_SERVER_HOST:"http://127.0.0.1:7001",VITE_USE_MOCK:"true",BASE_URL:"/ui/admin/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};VITE_API_BASE_URL&&(axios$1.defaults.baseURL=VITE_API_BASE_URL);const ignoreMockApiList=(VITE_MOCK_IGNORE==null?void 0:VITE_MOCK_IGNORE.split(","))||[];axios$1.interceptors.request.use(ee=>{var ne;ignoreMockApiList.includes(ee.url)&&(ee.url=(ne=ee.url)==null?void 0:ne.replace(VITE_BASE_API,"/api/v1"));const ae=getToken();return ae&&(ee.headers||(ee.headers={}),ee.headers.Authorization=`Bearer ${JSON.parse(ae).id_token}`,ee.headers["Authorization-TYPE"]="ID_TOKEN"),ee.headers={...ee.headers},ee},ee=>Promise.reject(ee));axios$1.interceptors.response.use(ee=>{const te=ee.data;return ee.status!==200?(te.errMsg&&TINYModal.message({message:te.errMsg,status:"error"}),Promise.reject(new Error(te.errMsg||"Error"))):te},ee=>{const{status:te,data:ae}=ee.response;return te===401?(clearToken(),router.replace({name:"login"}),TINYModal.message({message:index$1f.t("http.error.TokenExpire"),status:"error"})):ae.errMsg&&TINYModal.message({message:index$1f.t(`http.error.${ae.errMsg}`),status:"error"}),Promise.reject(ee)});const global$1="",hwcConfig={regionId:"cn-south-1",projectId:"0c0ede263980f29d2fc4c00731e904b1",obs:{bucketsList:[{bucketName:"tiny-pro-cli-obs",StorageClass:"标准存储",ObsVersion:"3.0",Location:"cn-south-1"},{bucketName:"tiny-pro-cli-obs-test",StorageClass:"低频访问存储",ObsVersion:"3.0",Location:"cn-south-1"}]},apigList:[{name:"apig_contract",type:1,version:"V0.0.1",req_protocol:"HTTPS",req_method:"POST",req_uri:"/contract",auth_type:"NONE",auth_opt:{app_code_auth_type:"DISABLE"},cors:!0,match_mode:"NORMAL",backend_type:"FUNCTION",remark:"",group_id:"d26d313c50044f7199252ba260129f3c",body_remark:"",result_normal_sample:"",result_failure_sample:"",authorizer_id:"",tags:[],tag:"",roma_app_id:"",domain_name:"",id:"6d20d5b995144c73bc1d370840afca4f",status:1,arrange_necessary:2,register_time:"2023-02-08T03:09:47Z",update_time:"2023-02-08T03:09:47Z",group_name:"group_contract",group_version:"V1",run_env_name:"RELEASE",run_env_id:"DEFAULT_ENVIRONMENT_RELEASE_ID",publish_id:"3d6035abaf0a4178a4f5e2ba3501bc78",publish_time:"2023-02-08 03:09:48",roma_app_name:"",ld_api_id:"",backend_api:null,api_group_info:null,req_params:null},{name:"group_cors_gate",type:1,version:"V0.0.1",req_protocol:"BOTH",req_method:"OPTIONS",req_uri:"/",auth_type:"NONE",auth_opt:{app_code_auth_type:"DISABLE"},cors:!0,match_mode:"SWA",backend_type:"MOCK",remark:"",group_id:"d26d313c50044f7199252ba260129f3c",body_remark:"",result_normal_sample:"",result_failure_sample:"",authorizer_id:"",tags:[],tag:"",roma_app_id:"",domain_name:"",id:"d0e0d74e7d7f4605ad22200c67c77fb6",status:1,arrange_necessary:2,register_time:"2023-02-08T03:08:12Z",update_time:"2023-02-08T03:08:12Z",group_name:"group_contract",group_version:"V1",run_env_name:"RELEASE",run_env_id:"DEFAULT_ENVIRONMENT_RELEASE_ID",publish_id:"8f4b04fe8bf54fefb75e1f2abeaf1a2e",publish_time:"2023-02-08 03:08:12",roma_app_name:"",ld_api_id:"",backend_api:null,api_group_info:null,req_params:null},{name:"apig_hello_world",type:1,version:"V0.0.1",req_protocol:"HTTPS",req_method:"GET",req_uri:"/",auth_type:"NONE",auth_opt:{app_code_auth_type:"DISABLE"},cors:!0,match_mode:"SWA",backend_type:"FUNCTION",remark:"",group_id:"2248fa0791564fb5af9fe3323d61a843",body_remark:"",result_normal_sample:"",result_failure_sample:"",authorizer_id:"",tags:[],tag:"",roma_app_id:"",domain_name:"",id:"4b2bc97e461a488291afb9906178933e",status:1,arrange_necessary:2,register_time:"2023-02-08T02:56:31Z",update_time:"2023-02-08T02:56:31Z",group_name:"group_hello_world",group_version:"V1",run_env_name:"RELEASE",run_env_id:"DEFAULT_ENVIRONMENT_RELEASE_ID",publish_id:"97733374206d4283b98c1f10c6e1ad5d",publish_time:"2023-02-08 02:56:32",roma_app_name:"",ld_api_id:"",backend_api:null,api_group_info:null,req_params:null},{name:"group_cors_gate",type:1,version:"V0.0.1",req_protocol:"BOTH",req_method:"OPTIONS",req_uri:"/",auth_type:"NONE",auth_opt:{app_code_auth_type:"DISABLE"},cors:!0,match_mode:"SWA",backend_type:"MOCK",remark:"",group_id:"2248fa0791564fb5af9fe3323d61a843",body_remark:"",result_normal_sample:"",result_failure_sample:"",authorizer_id:"",tags:[],tag:"",roma_app_id:"",domain_name:"",id:"89a4ea7361ed4acda065d1187ec9a596",status:1,arrange_necessary:2,register_time:"2023-02-08T02:53:32Z",update_time:"2023-02-08T02:53:32Z",group_name:"group_hello_world",group_version:"V1",run_env_name:"RELEASE",run_env_id:"DEFAULT_ENVIRONMENT_RELEASE_ID",publish_id:"1e9de22aa06c42338f084e93f563b771",publish_time:"2023-02-08 02:53:34",roma_app_name:"",ld_api_id:"",backend_api:null,api_group_info:null,req_params:null}],apigGroupsList:[{id:"d26d313c50044f7199252ba260129f3c",name:"group_contract",status:1,sl_domain:"d26d313c50044f7199252ba260129f3c.apic.cn-south-1.huaweicloudapis.com",register_time:"2023-02-08T03:08:11Z",update_time:"2023-02-08T03:08:11Z",on_sell_status:2,url_domains:[],sl_domains:["d26d313c50044f7199252ba260129f3c.apic.cn-south-1.huaweicloudapis.com"],remark:"",call_limits:0,time_interval:0,time_unit:"",is_default:2,version:"",roma_app_id:"",roma_app_name:""},{id:"2248fa0791564fb5af9fe3323d61a843",name:"group_hello_world",status:1,sl_domain:"2248fa0791564fb5af9fe3323d61a843.apic.cn-south-1.huaweicloudapis.com",register_time:"2023-02-08T02:53:31Z",update_time:"2023-02-08T02:53:31Z",on_sell_status:2,url_domains:[],sl_domains:["2248fa0791564fb5af9fe3323d61a843.apic.cn-south-1.huaweicloudapis.com"],remark:"",call_limits:0,time_interval:0,time_unit:"",is_default:2,version:"",roma_app_id:"",roma_app_name:""},{id:"c0a90139d0b54a328d8dce451880be42",name:"DEFAULT",status:1,sl_domain:"c0a90139d0b54a328d8dce451880be42.apic.cn-south-1.huaweicloudapis.com",register_time:"2023-02-08T02:43:51Z",update_time:"2023-02-08T02:43:51Z",on_sell_status:2,url_domains:[],sl_domains:["c0a90139d0b54a328d8dce451880be42.apic.cn-south-1.huaweicloudapis.com"],remark:"This is an automatically generated group. APIs in this group can be accessed with an EIP or a private IP address.",call_limits:0,time_interval:0,time_unit:"",is_default:1,version:"",roma_app_id:"",roma_app_name:""}],functiongraph:{functions:[{func_urn:"urn:fss:cn-south-1:0c0ede263980f29d2fc4c00731e904b1:function:default:fg_hello_world",func_name:"fg_hello_world",domain_id:"0b9a1ca1f080f5e20f19c007dadb6240",namespace:"0c0ede263980f29d2fc4c00731e904b1",project_name:"cn-south-1",package:"default",runtime:"Node.js14.18",timeout:300,handler:"index.handler",memory_size:256,cpu:400,code_type:"zip",code_filename:"index.zip",code_size:356,digest:"56f4337fdbed445f17d54b6b7c56a24001440181c4a5dfdf7ed767e9cbf8af1788c8930d9162ac397545df5d77458fcd3d696bb370300e2f5fd1d5e4a31929b1",version:"latest",image_name:"latest-230208110626@8bkma",description:"auto generated",last_modified:"2023-02-08T11:06:26+08:00",func_code:{},FuncCode:{},concurrency:400,concurrent_num:1,strategy_config:{concurrency:400,concurrent_num:1},enterprise_project_id:"0",long_time:!1,log_config:{group_name:"",group_id:"",stream_name:"",stream_id:"",switch_time:0},type:"v2",enable_cloud_debug:"DISABLED",enable_dynamic_memory:!1,custom_image:{},is_stateful_function:!1,is_return_stream:!1,enable_auth_in_header:!1,reserved_instance_idle_mode:!1},{func_urn:"urn:fss:cn-south-1:0c0ede263980f29d2fc4c00731e904b1:function:default:fg_contract",func_name:"fg_contract",domain_id:"0b9a1ca1f080f5e20f19c007dadb6240",namespace:"0c0ede263980f29d2fc4c00731e904b1",project_name:"cn-south-1",package:"default",runtime:"Node.js14.18",timeout:3,handler:"index.handler",memory_size:128,cpu:300,code_type:"inline",code_filename:"index.zip",code_size:5786,digest:"baaacb37e4f768efa657d6907d0b941bedc8ce57fd50af41262f6e9d697cb0b84385533fb118e07fb119df55f2686d11801f608627db6aa7accd825047fe7f12",version:"latest",image_name:"latest-221107152923@67h66",xrole:"proxyRdsServices",app_xrole:"proxyRdsServices",last_modified:"2022-11-07T15:29:23+08:00",func_code:{},FuncCode:{},concurrency:400,concurrent_num:1,strategy_config:{concurrency:400,concurrent_num:1},enterprise_project_id:"0",func_vpc_id:"bde80194-607d-483e-938e-aed310b19ebb",long_time:!1,log_config:{group_name:"",group_id:"",stream_name:"",stream_id:"",switch_time:0},type:"v2",enable_cloud_debug:"DISABLED",enable_dynamic_memory:!1,custom_image:{},is_stateful_function:!1,is_return_stream:!1,enable_auth_in_header:!1,reserved_instance_idle_mode:!1}]}},config={hwcConfig};var china={};const require$$0=getAugmentedNamespace(echarts);(function(ee){(function(te,ae){typeof ee.nodeName!="string"?ae(ee,require$$0):ae({},te.echarts)})(commonjsGlobal$1,function(te,ae){var ne=function(ie){typeof console<"u"&&console&&console.error&&console.error(ie)};if(!ae){ne("ECharts is not Loaded");return}if(!ae.registerMap){ne("ECharts Map is not loaded");return}ae.registerMap("china",{type:"FeatureCollection",features:[{type:"Feature",id:"710000",properties:{id:"710000",cp:[121.509062,24.044332],name:"台湾",childNum:6},geometry:{type:"MultiPolygon",coordinates:[["@@°Ü¯Û"],["@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚäœnÜƤɊĂǀĆĴžĤNJŨxĚĮǂƺòƌ‚–âÔ®ĮXŦţƸZûЋƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ™¿@ăƑŽ¥ĘWǬÏĶŁâ"],["@@\\p|WoYG¿¥I†j@¢"],["@@…¡‰@ˆV^RqˆBbAŒnTXeRz¤Lž«³I"],["@@ÆEE—„kWqë @œ"],["@@fced"],["@@„¯ɜÄèaì¯ØǓIġĽ"],["@@çûĖ롖hòř "]],encodeOffsets:[[[122886,24033]],[[123335,22980]],[[122375,24193]],[[122518,24117]],[[124427,22618]],[[124862,26043]],[[126259,26318]],[[127671,26683]]]}},{type:"Feature",id:"130000",properties:{id:"130000",cp:[114.502461,38.045474],name:"河北",childNum:3},geometry:{type:"MultiPolygon",coordinates:[["@@o~†Z]‚ªr‰ºc_ħ²G¼s`jΟnüsœłNX_“M`ǽÓnUK…Ĝēs¤­©yrý§uģŒc†JŠ›e"],["@@U`Ts¿m‚"],["@@oºƋÄd–eVŽDJj£€J|Ådz•Ft~žKŨ¸IÆv|”‡¢r}膎onb˜}`RÎÄn°ÒdÞ²„^®’lnÐèĄlðӜ×]ªÆ}LiĂ±Ö`^°Ç¶p®đDcœŋ`–ZÔ’¶êqvFƚ†N®ĆTH®¦O’¾ŠIbÐã´BĐɢŴÆíȦp–ĐÞXR€·nndOž¤’OÀĈƒ­Qg˜µFo|gȒęSWb©osx|hYh•gŃfmÖĩnº€T̒Sp›¢dYĤ¶UĈjl’ǐpäìë|³kÛfw²Xjz~ÂqbTŠÑ„ěŨ@|oM‡’zv¢ZrÃVw¬ŧĖ¸fŒ°ÐT€ªqŽs{Sž¯r æÝlNd®²Ğ džiGʂJ™¼lr}~K¨ŸƐÌWö€™ÆŠzRš¤lêmĞL΄’@¡|q]SvK€ÑcwpÏρ†ĿćènĪWlĄkT}ˆJ”¤~ƒÈT„d„™pddʾĬŠ”ŽBVt„EÀ¢ôPĎƗè@~‚k–ü\\rÊĔÖæW_§¼F˜†´©òDòj’ˆYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkv‚GpuARhÞÆǶgʊTǼƹS£¨¡ù³ŘÍ]¿Ây™ôEP xX¶¹܇O¡“gÚ¡IwÃ鑦ÅB‡Ï|Ç°…N«úmH¯‹âŸDùŽyŜžŲIÄuШDž•¸dɂ‡‚FŸƒ•›Oh‡đ©OŸ›iÃ`ww^ƒÌkŸ‘ÑH«ƇǤŗĺtFu…{Z}Ö@U‡´…ʚLg®¯Oı°ÃwŸ ^˜—€VbÉs‡ˆmA…ê]]w„§›RRl£‡ȭµu¯b{ÍDěïÿȧŽuT£ġƒěŗƃĝ“Q¨fV†Ƌ•ƅn­a@‘³@šď„yýIĹÊKšŭfċŰóŒxV@tˆƯŒJ”]eƒR¾fe|rHA˜|h~Ėƍl§ÏŠlTíb ØoˆÅbbx³^zÃĶš¶Sj®A”yÂhðk`š«P€”ˈµEF†Û¬Y¨Ļrõqi¼‰Wi°§’б´°^[ˆÀ|ĠO@ÆxO\\tŽa\\tĕtû{ġŒȧXýĪÓjùÎRb›š^ΛfK[ݏděYfíÙTyŽuUSyŌŏů@Oi½’éŅ­aVcř§ax¹XŻác‡žWU£ôãºQ¨÷Ñws¥qEH‰Ù|‰›šYQoŕÇyáĂ£MðoťÊ‰P¡mšWO¡€v†{ôvîēÜISpÌhp¨ ‘j†deŔQÖj˜X³à™Ĉ[n`Yp@Už–cM`’RKhŒEbœ”pŞlNut®Etq‚nsÁŠgA‹iú‹oH‡qCX‡”hfgu“~ϋWP½¢G^}¯ÅīGCŸÑ^ãziMáļMTÃƘrMc|O_ž¯Ŏ´|‡morDkO\\mĆJfl@cĢ¬¢aĦtRıҙ¾ùƀ^juųœK­ƒUFy™—Ɲ…›īÛ÷ąV×qƥV¿aȉd³B›qPBm›aËđŻģm“Å®VŠ¹d^K‡KoŸnYg“¯Xhqa”Ldu¥•ÍpDž¡KąÅƒkĝęěhq‡}HyÓ]¹ǧ£…Í÷¿qᵧš™g‘¤o^á¾ZE‡¤i`ij{n•ƒOl»ŸWÝĔįhg›F[¿¡—ßkOüš_‰€ū‹i„DZàUtėGylƒ}ŒÓM}€jpEC~¡FtoQi‘šHkk{Ãmï‚"]],encodeOffsets:[[[119712,40641]],[[121616,39981]],[[116462,37237]]]}},{type:"Feature",id:"140000",properties:{id:"140000",cp:[111.849248,36.857014],name:"山西",childNum:1},geometry:{type:"Polygon",coordinates:["@@Þĩ҃S‰ra}Á€yWix±Üe´lè“ßÓǏok‘ćiµVZģ¡coœ‘TS˹ĪmnÕńe–hZg{gtwªpXaĚThȑp{¶Eh—®RćƑP¿£‘Pmc¸mQÝW•ďȥoÅîɡųAďä³aωJ‘½¥PG­ąSM­™…EÅruµé€‘Yӎ•Ō_d›ĒCo­Èµ]¯_²ÕjāŽK~©ÅØ^ԛkïçămϑk]­±ƒcݯÑÃmQÍ~_a—pm…~ç¡q“ˆu{JÅŧ·Ls}–EyÁÆcI{¤IiCfUc•ƌÃp§]웫vD@¡SÀ‘µM‚ÅwuŽYY‡¡DbÑc¡hƒ×]nkoQdaMç~eD•ÛtT‰©±@¥ù@É¡‰ZcW|WqOJmĩl«ħşvOÓ«IqăV—¥ŸD[mI~Ó¢cehiÍ]Ɠ~ĥqXŠ·eƷœn±“}v•[ěďŽŕ]_‘œ•`‰¹ƒ§ÕōI™o©b­s^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs׌¥ŅxŸÊdÒ{ºvĴÎêÌɊ²¶€ü¨|ÞƸµȲ‘LLúÉƎ¤ϊęĔV`„_bª‹S^|ŸdŠzY|dz¥p†ZbÆ£¶ÒK}tĦÔņƠ‚PYzn€ÍvX¶Ěn ĠÔ„zý¦ª˜÷žÑĸَUȌ¸‚dòÜJð´’ìúNM¬ŒXZ´‘¤ŊǸ_tldIš{¦ƀðĠȤ¥NehXnYG‚‡R° ƬDj¬¸|CĞ„Kq‚ºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBŒÊ”TœŸ˜ʂōĖ’šĴŞ–ȀœÆÿȄlŤĒö„t”νî¼ĨXhŒ‘˜|ªM¤Ðz"],encodeOffsets:[[116874,41716]]}},{type:"Feature",id:"150000",properties:{id:"150000",cp:[111.670801,41.818311],name:"内蒙古",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@¯PqƒFB…‰|S•³C|kñ•H‹d‘iÄ¥sˆʼnő…PóÑÑE^‘ÅPpy_YtS™hQ·aHwsOnʼnÚs©iqj›‰€USiº]ïWš‰«gW¡A–Rë¥_ŽsgÁnUI«m‰…„‹]j‡vV¼euhwqA„aW˜ƒ_µj…»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáG“›OUۗOB±•XŸkŇ¹£k|e]ol™ŸkVͼÕqtaÏõjgÁ£§U^Œ”RLˆËnX°Ç’Bz†^~wfvˆypV ¯„ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyx‹þp]Évïè‘vƀnÂĴÖ@‚‰†V~Ĉv¦wĖt—ējyÄDXÄxGQuv_›i¦aBçw‘˛wD™©{ŸtāmQ€{EJ§KPśƘƿ¥@‰sCT•É}ɃwˆƇy±ŸgÑ“}T[÷kÐ禫…SÒ¥¸ëBX½‰HáŵÀğtSÝÂa[ƣ°¯¦P]£ġ“–“Òk®G²„èQ°óMq}EŠóƐÇ\\ƒ‡@áügQ͋u¥Fƒ“T՛¿Jû‡]|mvāÎYua^WoÀa·­ząÒot׶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶—ˆ¿A•†‹[¡Œ{d×uQAƒ›M•xV‹vMOmăl«ct[wº_šÇʊŽŸjb£ĦS_é“QZ“_lwgOiýe`YYLq§IÁˆdz£ÙË[ÕªuƏ³ÍT—s·bÁĽäė[›b[ˆŗfãcn¥îC¿÷µ[ŏÀQ­ōšĉm¿Á^£mJVm‡—L[{Ï_£›F¥Ö{ŹA}…×Wu©ÅaųijƳhB{·TQqÙIķˑZđ©Yc|M¡…L•eVUóK_QWk’_ĥ‘¿ãZ•»X\\ĴuUƒè‡lG®ěłTĠğDєOrÍd‚ÆÍz]‹±…ŭ©ŸÅ’]ŒÅÐ}UË¥©Tċ™ïxgckfWgi\\ÏĒ¥HkµE˜ë{»ÏetcG±ahUiñiWsɁˆ·c–C‚Õk]wȑ|ća}w…VaĚ᠞ŒG°ùnM¬¯†{ȈÐÆA’¥ÄêJxÙ¢”hP¢Ûˆº€µwWOŸóFŽšÁz^ÀŗÎú´§¢T¤ǻƺSė‰ǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇq‡Z‘ñiñC³ª—…»E`¨åXēÕqÉû[l•}ç@čƘóO¿¡ƒFUsA‰“ʽīccšocƒ‚ƒÇS}„“£‡IS~ălkĩXçmĈ…ŀЂoÐdxÒuL^T{r@¢‘žÍƒĝKén£kQ™‰yšÅõËXŷƏL§~}kqš»IHėDžjĝŸ»ÑÞoŸå°qTt|r©ÏS‹¯·eŨĕx«È[eMˆ¿yuˆ‘pN~¹ÏyN£{©’—g‹ħWí»Í¾s“əšDž_ÃĀɗ±ą™ijĉʍŌŷ—S›É“A‹±åǥɋ@럣R©ąP©}ĹªƏj¹erƒLDĝ·{i«ƫC£µsKCš…GS|úþX”gp›{ÁX¿Ÿć{ƱȏñZáĔyoÁhA™}ŅĆfdʼn„_¹„Y°ėǩÑ¡H¯¶oMQqð¡Ë™|‘Ñ`ƭŁX½·óۓxğįÅcQ‡ˆ“ƒs«tȋDžF“Ÿù^i‘t«Č¯[›hAi©á¥ÇĚ×l|¹y¯YȵƓ‹ñǙµï‚ċ™Ļ|Dœ™üȭ¶¡˜›oŽäÕG\\ďT¿Òõr¯œŸLguÏYęRƩšɷŌO\\İТæ^Ŋ IJȶȆbÜGŽĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľƒ]ėl¥Ë‡ĭûÁ„ƒėéV©±ćn©­ȇžÍq¯½•YÃÔʼn“ÉNѝÅÝy¹NqáʅDǡËñ­ƁYÅy̱os§ȋµʽǘǏƬɱà‘ưN¢ƔÊuľýľώȪƺɂļžxœZĈ}ÌʼnŪ˜ĺœŽĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~Ǎ›¼ȳÐUf†dIxÿ\\G ˆzâɏÙOº·pqy£†@ŒŠqþ@Ǟ˽IBäƣzsÂZ†ÁàĻdñ°ŕzéØűzșCìDȐĴĺf®ŽÀľưø@ɜÖÞKĊŇƄ§‚͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФԂ¤ƌžĞ̪Qʤ´¼mȠJˀŸƲÀɠmǐnǔĎȆÞǠN~€ʢĜ‚¶ƌĆĘźʆȬ˪ĚĒ¸ĞGȖƴƀj`ĢçĶāàŃºēĢƒĖćšYŒÀŎüôQÐÂŎŞdžŞêƖš˜oˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^žªƂ`ªt¾äƚêĦĀ¼Ð€Ĕǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDĝŒ|ø˂˜ƮÐ¬ɚwɲFjĔ²Äw°dždÀɞ_ĸdîàŎjʜêTЪŌ‡ŜWÈ|tqĢUB~´°ÎFC•ŽU¼pĀēƄN¦¾O¶ŠłKĊOj“Ě”j´ĜYp˜{¦„ˆSĚÍ\\Tš×ªV–÷Ší¨ÅDK°ßtŇĔKš¨ǵÂcḷ̌ĚǣȄĽF‡lġUĵœŇ‹ȣFʉɁƒMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFŽxúQ„Er´W„rh¤Ɛ \\talĈDJ˜Ü|[Pll̚¸ƎGú´Pž¬W¦†^¦–H]prR“n|or¾wLVnÇIujkmon£cX^Bh`¥V”„¦U¤¸}€xRj–[^xN[~ªŠxQ„‚[`ªHÆÂExx^wšN¶Ê˜|¨ì†˜€MrœdYp‚oRzNy˜ÀDs~€bcfÌ`L–¾n‹|¾T‚°c¨È¢a‚r¤–`[|òDŞĔöxElÖdH„ÀI`„Ď\\Àì~ƎR¼tf•¦^¢ķ¶e”ÐÚMŒptgj–„ɡČÅyġLû™ŇV®ŠÄÈƀ†Ď°P|ªVV†ªj–¬ĚÒêp¬–E|ŬÂc|ÀtƐK fˆ{ĘFĒœƌXƲąo½Ę‘\\¥–o}›Ûu£ç­kX‘{uĩ«āíÓUŅßŢq€Ť¥lyň[€oi{¦‹L‡ń‡ðFȪȖ”ĒL„¿Ì‹ˆfŒ£K£ʺ™oqNŸƒwğc`ue—tOj×°KJ±qƒÆġm‰Ěŗos¬…qehqsuœƒH{¸kH¡Š…ÊRǪÇƌbȆ¢´ä܍¢NìÉʖ¦â©Ġu¦öČ^â£Ăh–šĖMÈÄw‚\\fŦ°W ¢¾luŸD„wŠ\\̀ʉÌÛM…Ā[bӞEn}¶Vc…ê“sƒ"]],encodeOffsets:[[[129102,52189]]]}},{type:"Feature",id:"210000",properties:{id:"210000",cp:[123.429096,41.796767],name:"辽宁",childNum:16},geometry:{type:"MultiPolygon",coordinates:[["@@L–Ž@@s™a"],["@@MnNm"],["@@d‚c"],["@@eÀ‚C@b‚“‰"],["@@f‡…Xwkbr–Ä`qg"],["@@^jtW‘Q"],["@@~ Y]c"],["@@G`ĔN^_¿Z‚ÃM"],["@@iX¶B‹Y"],["@@„YƒZ"],["@@L_{Epf"],["@@^WqCT\\"],["@@\\[“‹§t|”¤_"],["@@m`n_"],["@@Ïxnj{q_×^Giip"],["@@@œé^B†‡ntˆaÊU—˜Ÿ]x ¯ÄPIJ­°h€ʙK³†VˆÕ@Y~†|EvĹsDŽ¦­L^p²ŸÒG ’Ël]„xxÄ_˜fT¤Ď¤cŽœP„–C¨¸TVjbgH²sdÎdHt`Bˆ—²¬GJję¶[ÐhjeXdlwhšðSȦªVÊπ‹Æ‘Z˜ÆŶ®²†^ŒÎyÅÎcPqń“ĚDMħĜŁH­ˆk„çvV[ij¼W–‚YÀäĦ’‘`XlžR`žôLUVžfK–¢†{NZdĒª’YĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~†źBŽ|¦ÕœEž¤Ð`\\|Kˆ˜UnnI]¤ÀÂĊnŎ™R®Ő¿¶\\ÀøíDm¦ÎbŨab‰œaĘ\\ľã‚¸a˜tÎSƐ´©v\\ÖÚÌǴ¤Â‡¨JKr€Z_Z€fjþhPkx€`Y”’RIŒjJcVf~sCN¤ ˆE‚œhæm‰–sHy¨SðÑÌ\\\\ŸĐRZk°IS§fqŒßýáЍÙÉÖ[^¯ǤŲ„ê´\\¦¬ĆPM¯£Ÿˆ»uïpùzEx€žanµyoluqe¦W^£ÊL}ñrkqWňûP™‰UP¡ôJŠoo·ŒU}£Œ„[·¨@XŒĸŸ“‹‹DXm­Ûݏº‡›GU‹CÁª½{íĂ^cj‡k“¶Ã[q¤“LÉö³cux«zZfƒ²BWÇ®Yß½ve±ÃC•ý£W{Ú^’q^sÑ·¨‹ÍOt“¹·C¥‡GD›rí@wÕKţ݋˜Ÿ«V·i}xËÍ÷‘i©ĝ‡ɝǡ]ƒˆ{c™±OW‹³Ya±Ÿ‰_穂Hžĕoƫ€Ňqƒr³‰Lys[„ñ³¯OS–ďOMisZ†±ÅFC¥Pq{‚Ã[Pg}\\—¿ghćO…•k^ģÁFıĉĥM­oEqqZûěʼn³F‘¦oĵ—hŸÕP{¯~TÍlª‰N‰ßY“Ð{Ps{ÃVU™™eĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀff‘dF~ˆ€ĀeĖ€d`sx² šƒ®EżĀdQ‹Âd^~ăÔHˆ¦\\›LKpĄVez¤NP ǹӗR™ÆąJSh­a[¦´Âghwm€BÐ¨źhI|žVVŽ—Ž|p] Â¼èNä¶ÜBÖ¼“L`‚¼bØæŒKV”ŸpoœúNZÞÒKxpw|ÊEMnzEQšŽIZ”ŽZ‡NBˆčÚFÜçmĩ‚WĪñt‘ÞĵÇñZ«uD‚±|Əlij¥ãn·±PmÍa‰–da‡ CL‡Ǒkùó¡³Ï«QaċϑOÃ¥ÕđQȥċƭy‹³ÃA"]],encodeOffsets:[[[123686,41445]],[[126019,40435]],[[124393,40128]],[[126117,39963]],[[125322,40140]],[[126686,40700]],[[126041,40374]],[[125584,40168]],[[125453,40165]],[[125362,40214]],[[125280,40291]],[[125774,39997]],[[125976,40496]],[[125822,39993]],[[125509,40217]],[[122731,40949]]]}},{type:"Feature",id:"220000",properties:{id:"220000",cp:[125.3245,43.886841],name:"吉林",childNum:1},geometry:{type:"Polygon",coordinates:["@@‘p䔳PClƒFbbÍzš€wBG’ĭ€Z„Åi“»ƒlY­ċ²SgŽkÇ£—^S‰“qd¯•‹R…©éŽ£¯S†\\cZ¹iűƏCuƍÓX‡oR}“M^o•£…R}oªU­F…uuXHlEŕ‡€Ï©¤ÛmTŽþ¤D–²ÄufàÀ­XXȱAe„yYw¬dvõ´KÊ£”\\rµÄl”iˆdā]|DÂVŒœH¹ˆÞ®ÜWnŒC”Œķ W‹§@\\¸‹ƒ~¤‹Vp¸‰póIO¢ŠVOšŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúvð‡¼¤ N°ąO¥«³[ƒéǡű_°Õ\\ÚÊĝŽþâőàerR¨­JYlďQ[ ÏYëЧTGz•tnŠß¡gFkMŸāGÁ¤ia É‰™È¹`\\xs€¬dĆkNnuNUŠ–užP@‚vRY¾•–\\¢…ŒGªóĄ~RãÖÎĢù‚đŴÕhQŽxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp‚]vbÍZuĂ{nˆ^IüœÀSք”¦EŒvRÎûh@℈[‚Əȉô~FNr¯ôçR±ƒ­HÑl•’Ģ–^¤¢‚OðŸŒævxsŒ]ÞÁTĠs¶¿âƊGW¾ìA¦·TѬ†è¥€ÏÐJ¨¼ÒÖ¼ƒƦɄxÊ~S–tD@ŠĂ¼Ŵ¡jlºWžvЉˆzƦZЎ²CH— „Axiukd‹ŒGgetqmcžÛ£Ozy¥cE}|…¾cZ…k‚‰¿uŐã[oxGikfeäT@…šSUwpiÚFM©’£è^ڟ‚`@v¶eň†f h˜eP¶žt“äOlÔUgƒÞzŸU`lœ}ÔÆUvØ_Ō¬Öi^ĉi§²ÃŠB~¡Ĉ™ÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYx‘ƘDVÇĺĿg¿cwÅ\\¹˜¥Yĭlœ¤žOv†šLjM_a W`zļMž·\\swqÝSA‡š—q‰Śij¯Š‘°kŠRē°wx^Đkǂғ„œž“œŽ„‹\\]˜nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°“G³¼XÀ““™¤¹i´o¤ŃšŸÈ`̃DzÄUĞd\\i֚ŒˆmÈBĤÜɲDEh LG¾ƀľ{WaŒYÍȏĢĘÔRîĐj‹}Ǟ“ccj‡oUb½š{“h§Ǿ{K‹ƖµÎ÷žGĀÖŠåưÎs­l›•yiē«‹`姝H¥Ae^§„GK}iã\\c]v©ģZ“mÃ|“[M}ģTɟĵ‘Â`À–çm‰‘FK¥ÚíÁbXš³ÌQґHof{‰]e€pt·GŋĜYünĎųVY^’˜ydõkÅZW„«WUa~U·Sb•wGçǑ‚“iW^q‹F‚“›uNĝ—·Ew„‹UtW·Ýďæ©PuqEzwAV•—XR‰ãQ`­©GŒM‡ehc›c”ďϝd‡©ÑW_ϗYƅŒ»…é\\ƒɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ý‘L¡‘ýŸqT^rme™\\Pp•ZZbƒyŸ’uybQ—efµ]UhĿDCmûvašÙNSkCwn‰cćfv~…Y‹„ÇG"],encodeOffsets:[[130196,42528]]}},{type:"Feature",id:"230000",properties:{id:"230000",cp:[128.642464,46.756967],name:"黑龙江",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@UƒµNÿ¥īè灋•HÍøƕ¶LŒǽ|g¨|”™Ža¾pViˆdd”~ÈiŒíďÓQġėǐZ΋ŽXb½|ſÃH½ŸKFgɱCģÛÇA‡n™‹jÕc[VĝDZÃ˄Ç_™ £ń³pŽj£º”š¿”»WH´¯”U¸đĢmžtĜyzzNN|g¸÷äűѱĉā~mq^—Œ[ƒ”››”ƒǁÑďlw]¯xQĔ‰¯l‰’€°řĴrŠ™˜BˆÞTxr[tŽ¸ĻN_yŸX`biN™Ku…P›£k‚ZĮ—¦[ºxÆÀdhŽĹŀUÈƗCw’áZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFćš}¢‰A±Äj¨]ĊÕjŋ«×`VuÓś~_kŷVÝyh„“VkÄãPs”Oµ—fŸge‚Ň…µf@u_Ù ÙcŸªNªÙEojVx™T@†ãSefjlwH\\pŏäÀvŠŽlY†½d{†F~¦dyz¤PÜndsrhf‹HcŒvlwjFœ£G˜±DύƥY‡yϊu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|Cš˜zxAè¥bœfudTrFWÁ¹Am|˜ĔĕsķÆF‡´Nš‰}ć…UŠÕ@Áijſmužç’uð^ÊýowŒFzØÎĕNőžǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°ƒUŸzou‡xe]}Ž…AyȑW¯ÌmK‡“Q]‹Īºif¸ÄX|sZt|½ÚUΠlkš^p{f¤lˆºlÆW –€A²˜PVܜPH”Êâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi†`¶—„bXƒrBgxfv»ŽuUiˆŒ^v~”J¬mVp´£Œ´VWrnP½ì¢BX‚¬h™ŠðX¹^TjVœŠriªj™tŊÄm€tPGx¸bgRšŽsT`ZozÆO]’ÒFô҆Oƒ‡ŊŒvŞ”p’cGŒêŠsx´DR–Œ{A†„EOr°Œ•žx|íœbˆ³Wm~DVjºéNN†Ëܲɶ­GƒxŷCStŸ}]ûō•SmtuÇÃĕN•™āg»šíT«u}ç½BĵÞʣ¥ëÊ¡Mێ³ãȅ¡ƋaǩÈÉQ‰†G¢·lG|›„tvgrrf«†ptęŘnŠÅĢr„I²¯LiØsPf˜_vĠd„xM prʹšL¤‹¤‡eˌƒÀđK“žïÙVY§]I‡óáĥ]ķ†Kˆ¥Œj|pŇ\\kzţ¦šnņäÔVĂîĪ¬|vW’®l¤èØr‚˜•xm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄ–Ą»ƢjȦOǺ¨ìSŖÆƬy”Qœv`–cwƒZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨS’Œfm Ċ‚ƀP̎ēz©Ċ‚ÄÕÊmgŸÇsJ¥ƔˆŊśæ’΁Ñqv¿íUOµª‰ÂnĦÁ_½ä@ê텣P}Ġ[@gġ}g“ɊדûÏWXá¢užƻÌsNͽƎÁ§č՛AēeL³àydl›¦ĘVçŁpśdžĽĺſʃQíÜçÛġԏsĕ¬—Ǹ¯YßċġHµ ¡eå`ļƒrĉŘóƢFì“ĎWøxÊk†”ƈdƬv|–I|·©NqńRŀƒ¤é”eŊœŀ›ˆàŀU²ŕƀB‚Q£Ď}L¹Îk@©ĈuǰųǨ”Ú§ƈnTËÇéƟÊcfčŤ^Xm‡—HĊĕË«W·ċëx³ǔķÐċJā‚wİ_ĸ˜Ȁ^ôWr­°oú¬Ħ…ŨK~”ȰCĐ´Ƕ£’fNÎèâw¢XnŮeÂÆĶŽ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®‚ØCÔ ŬGƠ”ƦYĜ‡ĘÜƬDJ—g_ͥœ@čŅĻA“¶¯@wÎqC½Ĉ»NŸăëK™ďÍQ“Ùƫ[«Ãí•gßÔÇOÝáW‘ñuZ“¯ĥ€Ÿŕā¡ÑķJu¤E Ÿå¯°WKɱ_d_}}vyŸõu¬ï¹ÓU±½@gÏ¿rýD‰†g…Cd‰µ—°MFYxw¿CG£‹Rƛ½Õ{]L§{qqąš¿BÇƻğëšܭNJË|c²}Fµ}›ÙRsÓpg±ŠQNqǫŋRwŕnéÑÉKŸ†«SeYR…ŋ‹@{¤SJ}šD Ûǖ֍Ÿ]gr¡µŷjqWÛham³~S«“„›Þ]"]],encodeOffsets:[[[134456,44547]]]}},{type:"Feature",id:"320000",properties:{id:"320000",cp:[119.767413,33.041544],name:"江苏",childNum:1},geometry:{type:"Polygon",coordinates:["@@cþÅPiŠ`ZŸRu¥É\\]~°ŽY`µ†Óƒ^phÁbnÀşúŽòa–ĬºTÖŒb‚˜e¦¦€{¸ZâćNpŒ©žHr|^ˆmjhŠSEb\\afv`sz^lkŽlj‹Ätg‹¤D˜­¾Xš¿À’|ДiZ„ȀåB·î}GL¢õcßjaŸyBFµÏC^ĭ•cÙt¿sğH]j{s©HM¢ƒQnDÀ©DaÜތ·jgàiDbPufjDk`dPOîƒhw¡ĥ‡¥šG˜ŸP²ĐobºrY†„î¶aHŢ´ ]´‚rılw³r_{£DB_Ûdåuk|ˆŨ¯F Cºyr{XFy™e³Þċ‡¿Â™kĭB¿„MvÛpm`rÚã”@Ę¹hågËÖƿxnlč¶Åì½Ot¾dJlŠVJʜǀœŞqvnOŠ^ŸJ”Z‘ż·Q}ê͎ÅmµÒ]Žƍ¦Dq}¬R^èĂ´ŀĻĊIԒtžIJyQŐĠMNtœR®òLh‰›Ěs©»œ}OӌGZz¶A\\jĨFˆäOĤ˜HYš†JvÞHNiÜaϚɖnFQlšNM¤ˆB´ĄNöɂtp–Ŭdf先‹qm¿QûŠùއÚb¤uŃJŴu»¹Ą•lȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Y™xci‡tğ®jű¢KOķ•Coy`å®VTa­_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋĝÄ͎ī‰çÛɈǥ£­ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ—¡RLčiXy‡ÅNïă¡¸iĔϑNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCt‹OPrƒE^ÒoŠg™ĉIµžÛÅʹK…¤½phMŠü`o怆ŀ"],encodeOffsets:[[121740,32276]]}},{type:"Feature",id:"330000",properties:{id:"330000",cp:[120.153576,29.287459],name:"浙江",childNum:45},geometry:{type:"MultiPolygon",coordinates:[["@@E^dQ]K"],["@@jX^j‡"],["@@sfŠbU‡"],["@@qP\\xz[ck"],["@@‘Rƒ¢‚FX}°[s_"],["@@Cbœ\\—}"],["@@e|v\\la{u"],["@@v~u}"],["@@QxÂF¯}"],["@@¹nŒvÞs¯o"],["@@rSkUEj"],["@@bi­ZŒP"],["@@p[}INf"],["@@À¿€"],["@@¹dnbŒ…"],["@@rSŸBnR"],["@@g~h}"],["@@FlEk"],["@@OdPc"],["@@v[u\\"],["@@FjâL~wyoo~›sµL–\\"],["@@¬e¹aNˆ"],["@@\\nÔ¡q]L³ë\\ÿ®ŒQ֎"],["@@ÊA­©[¬"],["@@KxŒv­"],["@@@hlIk]"],["@@pW{o||j"],["@@Md|_mC"],["@@¢…X£ÏylD¼XˆtH"],["@@hlÜ[LykAvyfw^Ež›¤"],["@@fp¤Mus“R"],["@@®_ma~•LÁ¬šZ"],["@@iM„xZ"],["@@ZcYd"],["@@Z~dOSo|A¿qZv"],["@@@`”EN¡v"],["@@|–TY{"],["@@@n@m"],["@@XWkCT\\"],["@@ºwšZRkĕWO¢"],["@@™X®±Grƪ\\ÔáXq{‹"],["@@ůTG°ĄLHm°UC‹"],["@@¤Ž€aÜx~}dtüGæţŎíĔcŖpMËВjē¢·ðĄÆMzˆjWKĎ¢Q¶˜À_꒔_Bı€i«pZ€gf€¤Nrq]§ĂN®«H±‡yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªˆŠÁŖHŗʼnåqûõi¨hÜ·ƒñt»¹ýv_[«¸m‰YL¯‰Qª…mĉÅdMˆ•gÇjcº«•ęœ¬­K­´ƒB«Âącoċ\\xKd¡gěŧ«®á’[~ıxu·Å”KsËɏc¢Ù\\ĭƛëbf¹­ģSƒĜkáƉÔ­ĈZB{ŠaM‘µ‰fzʼnfåÂŧįƋǝÊĕġć£g³ne­ą»@­¦S®‚\\ßðCšh™iqªĭiAu‡A­µ”_W¥ƣO\\lċĢttC¨£t`ˆ™PZäuXßBs‡Ļyek€OđġĵHuXBšµ]׌‡­­\\›°®¬F¢¾pµ¼kŘó¬Wät’¸|@ž•L¨¸µr“ºù³Ù~§WI‹ŸZWŽ®’±Ð¨ÒÉx€`‰²pĜ•rOògtÁZ}þÙ]„’¡ŒŸFK‚wsPlU[}¦Rvn`hq¬\\”nQ´ĘRWb”‚_ rtČFI֊kŠŠĦPJ¶ÖÀÖJĈĄTĚòžC ²@Pú…Øzœ©PœCÈڜĒ±„hŖ‡l¬â~nm¨f©–iļ«m‡nt–u†ÖZÜÄj“ŠLŽ®E̜Fª²iÊxبžIÈhhst"],["@@o\\V’zRZ}y"],["@@†@°¡mۛGĕ¨§Ianá[ýƤjfæ‡ØL–•äGr™"]],encodeOffsets:[[[125592,31553]],[[125785,31436]],[[125729,31431]],[[125513,31380]],[[125223,30438]],[[125115,30114]],[[124815,29155]],[[124419,28746]],[[124095,28635]],[[124005,28609]],[[125e3,30713]],[[125111,30698]],[[125078,30682]],[[125150,30684]],[[124014,28103]],[[125008,31331]],[[125411,31468]],[[125329,31479]],[[125626,30916]],[[125417,30956]],[[125254,30976]],[[125199,30997]],[[125095,31058]],[[125083,30915]],[[124885,31015]],[[125218,30798]],[[124867,30838]],[[124755,30788]],[[124802,30809]],[[125267,30657]],[[125218,30578]],[[125200,30562]],[[124968,30474]],[[125167,30396]],[[124955,29879]],[[124714,29781]],[[124762,29462]],[[124325,28754]],[[123990,28459]],[[125366,31477]],[[125115,30363]],[[125369,31139]],[[122495,31878]],[[125329,30690]],[[125192,30787]]]}},{type:"Feature",id:"340000",properties:{id:"340000",cp:[117.283042,31.26119],name:"安徽",childNum:3},geometry:{type:"MultiPolygon",coordinates:[["@@^iuLX^"],["@@‚e©Ehl"],["@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊz›ÖgņtÀÁÊÆá’hEz|WzqD¹€Ÿ°E‡ŧl{ævÜcA`¤C`|´qžxIJkq^³³ŸGšµbƒíZ…¹qpa±ď OH—¦™Ħˆx¢„gPícOl_iCveaOjCh߸i݋bÛªCC¿€m„RV§¢A|t^iĠGÀtÚs–d]ĮÐDE¶zAb àiödK¡~H¸íæAžǿYƒ“j{ď¿‘™À½W—®£ChŒÃsiŒkkly]_teu[bFa‰Tig‡n{]Gqªo‹ĈMYá|·¥f¥—őaSÕė™NµñĞ«ImŒ_m¿Âa]uĜp …Z_§{Cƒäg¤°r[_Yj‰ÆOdý“[ŽI[á·¥“Q_n‡ùgL¾mv™ˊBÜƶĊJhšp“c¹˜O]iŠ]œ¥ jtsggJǧw×jÉ©±›EFˍ­‰Ki”ÛÃÕYv…s•ˆm¬njĻª•§emná}k«ŕˆƒgđ²Ù›DǤ›í¡ªOy›†×Où±@DŸñSęćăÕIÕ¿IµĥO‰‰jNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆߎF¶žX®¿‰mŒ™w…RIޓfßoG‘³¾©uyH‘į{Ɓħ¯AFnuP…ÍÔzšŒV—dàôº^Ðæd´€‡oG¤{S‰¬ćxã}›ŧ×Kǥĩ«žÕOEзÖdÖsƘѨ[’Û^Xr¢¼˜§xvěƵ`K”§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē…ßúLÃϖ_ÈÏ|]ÂÏFl”g`bšežž€n¾¢pU‚h~ƴĖ¶_‚r sĄ~cž”ƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³…]’u}›f…ïQl{skl“oNdŸjŸäËzDvčoQŠďHI¦rb“tHĔ~BmlRš—V_„ħTLnñH±’DžœL‘¼L˜ªl§Ťa¸ŒĚlK²€\\RòvDcÎJbt[¤€D@®hh~kt°ǾzÖ@¾ªdb„YhüóZ ň¶vHrľ\\ʗJuxAT|dmÀO„‹[ÃԋG·ĚąĐlŪÚpSJ¨ĸˆLvÞcPæķŨŽ®mАˆálŸwKhïgA¢ųƩޖ¤OȜm’°ŒK´"]],encodeOffsets:[[[121722,32278]],[[119475,30423]],[[119168,35472]]]}},{type:"Feature",id:"350000",properties:{id:"350000",cp:[118.306239,26.075302],name:"福建",childNum:18},geometry:{type:"MultiPolygon",coordinates:[["@@“zht´‡]"],["@@aj^~ĆG—©O"],["@@ed¨„C}}i"],["@@@vˆPGsQ"],["@@‰sBz‚ddW]Q"],["@@SŽ¨Q“{"],["@@NŽVucW"],["@@qptBAq"],["@@‰’¸[mu"],["@@Q\\pD]_"],["@@jSwUadpF"],["@@eXª~ƒ•"],["@@AjvFso"],["@@fT–›_Çí\\Ÿ™—v|ba¦jZÆy€°"],["@@IjJi"],["@@wJI€ˆxš«¼AoNe{M­"],["@@K‰±¡Óˆ”ČäeZ"],["@@k¡¹Eh~c®wBk‹UplÀ¡I•~Māe£bN¨gZý¡a±Öcp©PhžI”Ÿ¢Qq…ÇGj‹|¥U™ g[Ky¬ŏ–v@OpˆtÉEŸF„\\@ åA¬ˆV{Xģ‰ĐBy…cpě…¼³Ăp·¤ƒ¥o“hqqÚ¡ŅLsƒ^ᗞ§qlŸÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ß–ėu›ĕeûҍiÁŧSW¥˜QŠûŗ½ùěcݧSùĩąSWó«íęACµ›eR—åǃRCÒÇZÍ¢‹ź±^dlsŒtjD¸•‚ZpužÔâÒH¾oLUêÃÔjjēò´ĄW‚ƛ…^Ñ¥‹ĦŸ@Çò–ŠmŒƒOw¡õyJ†yD}¢ďÑÈġfŠZd–a©º²z£šN–ƒjD°Ötj¶¬ZSÎ~¾c°¶Ðm˜x‚O¸¢Pl´žSL|¥žA†ȪĖM’ņIJg®áIJČĒü` ŽQF‡¬h|ÓJ@zµ |ê³È ¸UÖŬŬÀEttĸr‚]€˜ðŽM¤ĶIJHtÏ A’†žĬkvsq‡^aÎbvŒd–™fÊòSD€´Z^’xPsÞrv‹ƞŀ˜jJd×ŘÉ ®A–ΦĤd€xĆqAŒ†ZR”ÀMźŒnĊ»ŒİÐZ— YX–æJŠyĊ²ˆ·¶q§·–K@·{s‘Xãô«lŗ¶»o½E¡­«¢±¨Yˆ®Ø‹¶^A™vWĶGĒĢžPlzfˆļŽtàAvWYãšO_‡¤sD§ssČġ[kƤPX¦Ž`¶“ž®ˆBBvĪjv©šjx[L¥àï[F…¼ÍË»ğV`«•Ip™}ccÅĥZE‹ãoP…´B@ŠD—¸m±“z«Ƴ—¿å³BRضˆœWlâþäą`“]Z£Tc— ĹGµ¶H™m@_©—kŒ‰¾xĨ‡ôȉðX«½đCIbćqK³Á‹Äš¬OAwã»aLʼn‡ËĥW[“ÂGI—ÂNxij¤D¢ŽîĎÎB§°_JœGsƒ¥E@…¤uć…P‘å†cuMuw¢BI¿‡]zG¹guĮck\\_"]],encodeOffsets:[[[123250,27563]],[[122541,27268]],[[123020,27189]],[[122916,27125]],[[122887,26845]],[[122808,26762]],[[122568,25912]],[[122778,26197]],[[122515,26757]],[[122816,26587]],[[123388,27005]],[[122450,26243]],[[122578,25962]],[[121255,25103]],[[120987,24903]],[[122339,25802]],[[121042,25093]],[[122439,26024]]]}},{type:"Feature",id:"360000",properties:{id:"360000",cp:[115.592151,27.676493],name:"江西",childNum:1},geometry:{type:"Polygon",coordinates:["@@ĢĨƐgļˆ¼ÂMD~ņªe^\\^§„ý©j׍cZ†Ø¨zdÒa¶ˆlҍJŒìõ`oz÷@¤u޸´†ôęöY¼‰HČƶajlÞƩ¥éZ[”|h}^U Œ ¥p„ĄžƦO lt¸Æ €Q\\€ŠaÆ|CnÂOjt­ĚĤd’ÈŒF`’¶„@Ð딠¦ōҞ¨Sêv†HĢûXD®…QgėWiØPÞìºr¤dž€NĠ¢l–•ĄtZoœCƞÔºCxrpĠV®Ê{f_Y`_ƒeq’’®Aot`@o‚DXfkp¨|Šs¬\\D‘ÄSfè©Hn¬…^DhÆyøJh“ØxĢĀLʈ„ƠPżċĄwȠ̦G®ǒĤäTŠÆ~ĦwŠ«|TF¡Šn€c³Ïå¹]ĉđxe{ÎӐ†vOEm°BƂĨİ|G’vz½ª´€H’àp”eJ݆Qšxn‹ÀŠW­žEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[“r«_gŽmQu~¥V\\OkxtL E¢‹ƒ‘Ú^~ýê‹Pó–qo슱_Êw§ÑªåƗā¼‹mĉŹ‹¿NQ“…YB‹ąrwģcÍ¥B•Ÿ­ŗÊcØiI—žƝĿuŒqtāwO]‘³YCñTeɕš‹caub͈]trlu€ī…B‘ПGsĵıN£ï—^ķqss¿FūūV՟·´Ç{éĈý‰ÿ›OEˆR_ŸđûIċâJh­ŅıN‘ȩĕB…¦K{Tk³¡OP·wn—µÏd¯}½TÍ«YiµÕsC¯„iM•¤™­•¦¯P|ÿUHv“he¥oFTu‰õ\\ŽOSs‹MòđƇiaºćXŸĊĵà·çhƃ÷ǜ{‘ígu^›đg’m[×zkKN‘¶Õ»lčÓ{XSƉv©_ÈëJbVk„ĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B„±’ÌŒK˜y’áV‡¼Ã~­…`g›ŸsÙfI›Ƌlę¹e|–~udjˆuTlXµf`¿JdŠ[\\˜„L‚‘²"],encodeOffsets:[[116689,26234]]}},{type:"Feature",id:"370000",properties:{id:"370000",cp:[118.000923,36.275807],name:"山东",childNum:13},geometry:{type:"MultiPolygon",coordinates:[["@@Xjd]{K"],["@@itbFHy"],["@@HlGk"],["@@T‚ŒGŸy"],["@@K¬˜•‹U"],["@@WdXc"],["@@PtOs"],["@@•LnXhc"],["@@ppVƒu]Or"],["@@cdzAUa"],["@@udRhnCI‡"],["@@ˆoIƒpR„"],["@@Ľč{fzƤî’Kš–ÎMĮ]†—ZFˆ½Y]â£ph’™š¶¨râøÀ†ÎǨ¤^ºÄ”Gzˆ~grĚĜlĞƄLĆdž¢Îo¦–cv“Kb€gr°Wh”mZp ˆL]LºcU‰Æ­n”żĤÌĒœbAnrOAœ´žȊcÀbƦUØrĆUÜøœĬƞ†š˜Ez„VL®öØBkŖÝĐĖ¹ŧ̄±ÀbÎɜnb²ĦhņBĖ›žįĦåXćì@L¯´ywƕCéõė ƿ¸‘lµ¾Z|†ZWyFYŸ¨Mf~C¿`€à_RÇzwƌfQnny´INoƬˆèôº|sT„JUš›‚L„îVj„ǎ¾Ē؍‚Dz²XPn±ŴPè¸ŔLƔÜƺ_T‘üÃĤBBċȉöA´fa„˜M¨{«M`‡¶d¡ô‰Ö°šmȰBÔjjŒ´PM|”c^d¤u•ƒ¤Û´Œä«ƢfPk¶Môlˆ]Lb„}su^ke{lC‘…M•rDŠÇ­]NÑFsmoõľH‰yGă{{çrnÓE‰‹ƕZGª¹Fj¢ïW…uøCǷ돡ąuhÛ¡^Kx•C`C\\bÅxì²ĝÝ¿_N‰īCȽĿåB¥¢·IŖÕy\\‡¹kx‡Ã£Č×GDyÕ¤ÁçFQ¡„KtŵƋ]CgÏAùSed‡cÚź—ŠuYfƒyMmhUWpSyGwMPqŀ—›Á¼zK›¶†G•­Y§Ëƒ@–´śÇµƕBmœ@Io‚g——Z¯u‹TMx}C‘‰VK‚ï{éƵP—™_K«™pÛÙqċtkkù]gŽ‹Tğwo•ɁsMõ³ă‡AN£™MRkmEʕč™ÛbMjÝGu…IZ™—GPģ‡ãħE[iµBEuŸDPԛ~ª¼ętŠœ]ŒûG§€¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~Ż¸Y’I“] P‰umŝrƿ›‰›Iā‹[x‰edz‹L‘¯v¯s¬ÁY…~}…ťuŁŒg›ƋpÝĄ_ņī¶ÏSR´ÁP~ž¿Cyžċßdwk´Ss•X|t‰`Ä Èð€AªìÎT°¦Dd–€a^lĎDĶÚY°Ž`ĪŴǒˆ”àŠv\\ebŒZH„ŖR¬ŢƱùęO•ÑM­³FۃWp[ƒ"]],encodeOffsets:[[[123806,39303]],[[123821,39266]],[[123742,39256]],[[123702,39203]],[[123649,39066]],[[123847,38933]],[[123580,38839]],[[123894,37288]],[[123043,36624]],[[123344,38676]],[[123522,38857]],[[123628,38858]],[[118260,36742]]]}},{type:"Feature",id:"410000",properties:{id:"410000",cp:[113.665412,33.757975],name:"河南",childNum:1},geometry:{type:"Polygon",coordinates:["@@•ýL™ùµP³swIÓxcŢĞð†´E®žÚPt†ĴXØx¶˜@«ŕŕQGƒ‹Yfa[şu“ßǩ™đš_X³ijÕčC]kbc•¥CS¯ëÍB©÷‹–³­Siˆ_}m˜YTtž³xlàcȂzÀD}ÂOQ³ÐTĨ¯†ƗòËŖ[hœł‹Ŧv~††}ÂZž«¤lPǕ£ªÝŴÅR§ØnhcŒtâk‡nύ­ľŹUÓÝdKuķ‡I§oTũÙďkęĆH¸ÓŒ\\ăŒ¿PcnS{wBIvɘĽ[GqµuŸŇôYgûƒZcaŽ©@½Õǽys¯}lgg@­C\\£as€IdÍuCQñ[L±ęk·‹ţb¨©kK—’»›KC²‘òGKmĨS`ƒ˜UQ™nk}AGē”sqaJ¥ĐGR‰ĎpCuÌy ã iMc”plk|tRk†ðœev~^‘´†¦ÜŽSí¿_iyjI|ȑ|¿_»d}qŸ^{“Ƈdă}Ÿtqµ`Ƴĕg}V¡om½fa™Ço³TTj¥„tĠ—Ry”K{ùÓjuµ{t}uËR‘iŸvGŠçJFjµŠÍyqΘàQÂFewixGw½Yŷpµú³XU›½ġy™łå‰kÚwZXˆ·l„¢Á¢K”zO„Λ΀jc¼htoDHr…|­J“½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ…Ťƒ]MÛfaQpě±ǽ¾]u­Fu‹÷nƒ™čįADp}AjmcEǒaª³o³ÆÍSƇĈÙDIzˑ赟^ˆKLœ—i—Þñ€[œƒaA²zz‰Ì÷Dœ|[šíijgf‚ÕÞd®|`ƒĆ~„oĠƑô³Ŋ‘D×°¯CsŠøÀ«ì‰UMhTº¨¸ǡîS–Ô„DruÂÇZ•ÖEŽ’vPZ„žW”~؋ÐtĄE¢¦Ðy¸bŠô´oŬ¬Ž²Ês~€€]®tªašpŎJ¨Öº„_ŠŔ–`’Ŗ^Ѝ\\Ĝu–”~m²Ƹ›¸fW‰ĦrƔ}Î^gjdfÔ¡J}\\n C˜¦þWxªJRÔŠu¬ĨĨmF†dM{\\d\\ŠYÊ¢ú@@¦ª²SŠÜsC–}fNècbpRmlØ^g„d¢aÒ¢CZˆZxvÆ¶N¿’¢T@€uCœ¬^ĊðÄn|žlGl’™Rjsp¢ED}€Fio~ÔNŽ‹„~zkĘHVsDzßjƒŬŒŠŢ`Pûàl¢˜\\ÀœEhŽİgÞē X¼Pk–„|m"],encodeOffsets:[[118256,37017]]}},{type:"Feature",id:"420000",properties:{id:"420000",cp:[113.298572,30.684355],name:"湖北",childNum:3},geometry:{type:"MultiPolygon",coordinates:[["@@AB‚"],["@@lskt"],["@@¾«}{ra®pîÃ\\™›{øCŠËyyB±„b\\›ò˜Ý˜jK›‡L ]ĎĽÌ’JyÚCƈćÎT´Å´pb©È‘dFin~BCo°BĎĚømvŒ®E^vǾ½Ĝ²Ro‚bÜeNŽ„^ĺ£R†¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I”¾®I†{GqpCgyl{‡£œÍƒÍyPL“¡ƒ¡¸kW‡xYlÙ抚ŁĢzœ¾žV´W¶ùŸo¾ZHxjwfx„GNÁ•³Xéæl¶‰EièIH‰ u’jÌQ~v|sv¶Ôi|ú¢Fh˜Qsğ¦ƒSiŠBg™ÐE^ÁÐ{–čnOÂȞUÎóĔ†ÊēIJ}Z³½Mŧïeyp·uk³DsѨŸL“¶_œÅuèw»—€¡WqÜ]\\‘Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟO‡ƒKÉġÿ×wg”÷IÅzCg†]m«ªGeçÃTC’«[‰t§{loWeC@ps_Bp‘­r‘„f_``Z|ei¡—oċMqow€¹DƝӛDYpûs•–‹Ykıǃ}s¥ç³[§ŸcYŠ§HK„«Qy‰]¢“wwö€¸ïx¼ņ¾Xv®ÇÀµRĠЋžHMž±cÏd„ƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy…¿³x¯N‰o‰|¹H™ÏÛm‹júË~Tš•u˜ęjCöAwě¬R’đl¯ Ñb­‰ŇT†Ŀ_[Œ‘IčĄʿnM¦ğ\\É[T·™k¹œ©oĕ@A¾w•ya¥Y\\¥Âaz¯ãÁ¡k¥ne£Ûw†E©Êō¶˓uoj_Uƒ¡cF¹­[Wv“P©w—huÕyBF“ƒ`R‹qJUw\\i¡{jŸŸEPïÿ½fć…QÑÀQ{ž‚°‡fLԁ~wXg—ītêݾ–ĺ‘Hdˆ³fJd]‹HJ²…E€ƒoU¥†HhwQsƐ»Xmg±çve›]Dm͂PˆoCc¾‹_h”–høYrŊU¶eD°Č_N~øĹĚ·`z’]Äþp¼…äÌQŒv\\rCŒé¾TnkžŐڀÜa‡“¼ÝƆĢ¶Ûo…d…ĔňТJq’Pb ¾|JŒ¾fXŠƐîĨ_Z¯À}úƲ‹N_ĒĊ^„‘ĈaŐyp»CÇĕKŠšñL³ŠġMŒ²wrIÒŭxjb[œžn«øœ˜—æˆàƒ ^²­h¯Ú€ŐªÞ¸€Y²ĒVø}Ā^İ™´‚LŠÚm„¥ÀJÞ{JVŒųÞŃx×sxxƈē ģMř–ÚðòIf–Ċ“Œ\\Ʈ±ŒdʧĘD†vČ_Àæ~DŒċ´A®µ†¨ØLV¦êHÒ¤"]],encodeOffsets:[[[113712,34e3]],[[115612,30507]],[[113649,34054]]]}},{type:"Feature",id:"430000",properties:{id:"430000",cp:[111.782279,28.09409],name:"湖南",childNum:3},geometry:{type:"MultiPolygon",coordinates:[["@@—n„FTs"],["@@ßÅÆችÔXr—†CO™“…ËR‘ïÿĩ­TooQyšÓ[‹ŅBE¬–ÎÓXa„į§Ã¸G °ITxp‰úxÚij¥Ïš–Ģ¾ŠedžÄ©ĸG…œàGh‚€M¤–Â_U}Ċ}¢pczfŠþg¤€”ÇòAV‘‹M"],["@@©K—ƒA·³CQ±Á«³BUŠƑ¹AŠtćOw™D]ŒJiØSm¯b£‘ylƒ›X…HËѱH•«–‘C^õľA–Å§¤É¥„ïyuǙuA¢^{ÌC´­¦ŷJ£^[†“ª¿‡ĕ~•Ƈ…•N… skóā‡¹¿€ï]ă~÷O§­@—Vm¡‹Qđ¦¢Ĥ{ºjԏŽŒª¥nf´•~ÕoŸž×Ûą‹MąıuZœmZcÒ IJĪ²SÊDŽŶ¨ƚƒ’CÖŎªQؼrŭŽ­«}NÏürʬŒmjr€@ĘrTW ­SsdHzƓ^ÇÂyUi¯DÅYlŹu{hTœ}mĉ–¹¥ě‰Dÿë©ıÓ[Oº£ž“¥ót€ł¹MՄžƪƒ`Pš…Di–ÛUŠ¾Å‌ìˆU’ñB“È£ýhe‰dy¡oċ€`pfmjP~‚kZa…ZsÐd°wj§ƒ@€Ĵ®w~^‚kÀÅKvNmX\\¨a“”сqvíó¿F„¤¡@ũÑVw}S@j}¾«pĂr–ªg àÀ²NJ¶¶Dô…K‚|^ª†Ž°LX¾ŴäPĪ±œ£EXd›”^¶›IJÞܓ~‘u¸ǔ˜Ž›MRhsR…e†`ÄofIÔ\\Ø  i”ćymnú¨cj ¢»–GČìƊÿШXeĈĀ¾Oð Fi ¢|[jVxrIQŒ„_E”zAN¦zLU`œcªx”OTu RLÄ¢dV„i`p˔vŎµªÉžF~ƒØ€d¢ºgİàw¸Áb[¦Zb¦–z½xBĖ@ªpº›šlS¸Ö\\Ĕ[N¥ˀmĎă’J\\‹ŀ`€…ňSڊĖÁĐiO“Ĝ«BxDõĚiv—ž–S™Ì}iùŒžÜnšÐºGŠ{Šp°M´w†ÀÒzJ²ò¨ oTçüöoÛÿñŽőФ‚ùTz²CȆȸǎŪƒƑÐc°dPÎŸğ˶[Ƚu¯½WM¡­Éž“’B·rížnZŸÒ `‡¨GA¾\\pē˜XhÆRC­üWGġu…T靧Ŏѝ©ò³I±³}_‘‹EÃħg®ęisÁPDmÅ{‰b[Rşs·€kPŸŽƥƒóRo”O‹ŸVŸ~]{g\\“êYƪ¦kÝbiċƵŠGZ»Ěõ…ó·³vŝž£ø@pyö_‹ëŽIkѵ‡bcѧy…×dY؎ªiþž¨ƒ[]f]Ņ©C}ÁN‡»hĻħƏ’ĩ"]],encodeOffsets:[[[115640,30489]],[[112543,27312]],[[116690,26230]]]}},{type:"Feature",id:"440000",properties:{id:"440000",cp:[113.280637,23.125178],name:"广东",childNum:24},geometry:{type:"MultiPolygon",coordinates:[["@@QdˆAua"],["@@ƒlxDLo"],["@@sbhNLo"],["@@Ă āŸ"],["@@WltO[["],["@@Krœ]S"],["@@e„„I]y"],["@@I|„Mym"],["@@ƒÛ³LSŒž¼Y"],["@@nvºB–ëui©`¾"],["@@zdšÛ›Jw®"],["@@†°…¯"],["@@a yAª¸ËJIx،@€ĀHAmßV¡o•fu•o"],["@@šs‰ŗÃÔėAƁ›ZšÄ ~°ČP‚‹äh"],["@@‹¶Ý’Ì‚vmĞh­ı‡Q"],["@@HœŠdSjĒ¢D}war…“u«ZqadYM"],["@@elŒ\\LqqU"],["@@~rMo\\"],["@@f„^ƒC"],["@@øPªoj÷ÍÝħXČx”°Q¨ıXNv"],["@@gÇƳˆŽˆ”oˆŠˆ[~tly"],["@@E–ÆC¿‘"],["@@OŽP"],["@@w‹†đóg‰™ĝ—[³‹¡VÙæÅöM̳¹pÁaËýý©D©Ü“JŹƕģGą¤{Ùū…ǘO²«BƱéA—Ò‰ĥ‡¡«BhlmtÃPµyU¯uc“d·w_bŝcīímGOŽ|KP’ȏ‡ŹãŝIŕŭŕ@Óoo¿ē‹±ß}Ž…ŭ‚ŸIJWÈCőâUâǙI›ğʼn©I›ijEׅÁ”³Aó›wXJþ±ÌŒÜӔĨ£L]ĈÙƺZǾĆĖMĸĤfŒÎĵl•ŨnȈ‘ĐtF”Š–FĤ–‚êk¶œ^k°f¶gŠŽœ}®Fa˜f`vXŲxl˜„¦–ÔÁ²¬ÐŸ¦pqÊ̲ˆi€XŸØRDÎ}†Ä@ZĠ’s„x®AR~®ETtĄZ†–ƈfŠŠHâÒÐA†µ\\S¸„^wĖkRzŠalŽŜ|E¨ÈNĀňZTŒ’pBh£\\ŒĎƀuXĖtKL–¶G|Ž»ĺEļĞ~ÜĢÛĊrˆO˜Ùîvd]nˆ¬VœÊĜ°R֟pM††–‚ƂªFbwžEÀˆ˜©Œž\\…¤]ŸI®¥D³|ˎ]CöAŤ¦…æ’´¥¸Lv¼€•¢ĽBaô–F~—š®²GÌҐEY„„œzk¤’°ahlV՞I^‹šCxĈPŽsB‰ƒºV‰¸@¾ªR²ĨN]´_eavSi‡vc•}p}Đ¼ƌkJœÚe thœ†_¸ ºx±ò_xN›Ë‹²‘@ƒă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIžÇª`ŠuTÅxYĒÖ¼k֞’µ‚MžjJÚwn\\h‘œĒv]îh|’È›Ƅøègž¸Ķß ĉĈWb¹ƀdéʌNTtP[ŠöSvrCZžžaGuœbo´ŖÒÇА~¡zCI…özx¢„Pn‹•‰Èñ @ŒĥÒ¦†]ƞŠV}³ăĔñiiÄÓVépKG½Ä‘ÓávYo–C·sit‹iaÀy„ŧΡÈYDÑům}‰ý|m[węõĉZÅxUO}÷N¹³ĉo_qtă“qwµŁYلǝŕ¹tïÛUïmRCº…ˆĭ|µ›ÕÊK™½R‘ē ó]‘–GªęAx–»HO£|ām‡¡diď×YïYWªʼnOeÚtĐ«zđ¹T…ā‡úE™á²\\‹ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃˆOj YÇ÷Qě‹i"]],encodeOffsets:[[[117381,22988]],[[116552,22934]],[[116790,22617]],[[116973,22545]],[[116444,22536]],[[116931,22515]],[[116496,22490]],[[116453,22449]],[[113301,21439]],[[118726,21604]],[[118709,21486]],[[113210,20816]],[[115482,22082]],[[113171,21585]],[[113199,21590]],[[115232,22102]],[[115739,22373]],[[115134,22184]],[[113056,21175]],[[119573,21271]],[[119957,24020]],[[115859,22356]],[[116561,22649]],[[116285,22746]]]}},{type:"Feature",id:"450000",properties:{id:"450000",cp:[108.320004,22.82402],name:"广西",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@H– TQ§•A"],["@@ĨʪƒLƒƊDÎĹĐCǦė¸zÚGn£¾›rªŀÜt¬@֛ڈSx~øOŒ˜ŶÐÂæȠ\\„ÈÜObĖw^oބLf¬°bI lTØB̈F£Ć¹gñĤaY“t¿¤VSñœK¸¤nM†¼‚JE±„½¸šŠño‹ÜCƆæĪ^ŠĚQÖ¦^‡ˆˆf´Q†üÜʝz¯šlzUĺš@쇀p¶n]sxtx¶@„~ÒĂJb©gk‚{°‚~c°`ԙ¬rV\\“la¼¤ôá`¯¹LC†ÆbŒxEræO‚v[H­˜„[~|aB£ÖsºdAĐzNÂðsŽÞƔ…Ĥªbƒ–ab`ho¡³F«èVloŽ¤™ÔRzpp®SŽĪº¨ÖƒºN…ij„d`’a”¦¤F³ºDÎńĀìŠCžĜº¦Ċ•~nS›|gźvZkCÆj°zVÈÁƔ]LÊFZg…čP­kini«‹qǀcz͔Y®¬Ů»qR×ō©DՄ‘§ƙǃŵTÉĩ±ŸıdÑnYY›IJvNĆƌØÜ Öp–}e³¦m‹©iÓ|¹Ÿħņ›|ª¦QF¢Â¬ʖovg¿em‡^ucà÷gՎuŒíÙćĝ}FĻ¼Ĺ{µHK•sLSđƃr‹č¤[Ag‘oS‹ŇYMÿ§Ç{Fśbky‰lQxĕƒ]T·¶[B…ÑÏGáşşƇe€…•ăYSs­FQ}­Bƒw‘tYğÃ@~…C̀Q ×W‡j˱rÉ¥oÏ ±«ÓÂ¥•ƒ€k—ŽwWűŒmcih³K›~‰µh¯e]lµ›él•Eģ‰•E“ďs‡’mǖŧē`ãògK_ÛsUʝ“ćğ¶hŒöŒO¤Ǜn³Žc‘`¡y‹¦C‘ez€YŠwa™–‘[ďĵűMę§]X˜Î_‚훘Û]é’ÛUćİÕBƣ±…dƒy¹T^džûÅÑŦ·‡PĻþÙ`K€¦˜…¢ÍeœĥR¿Œ³£[~Œäu¼dl‰t‚†W¸oRM¢ď\\zœ}Æzdvň–{ÎXF¶°Â_„ÒÂÏL©Ö•TmuŸ¼ãl‰›īkiqéfA„·Êµ\\őDc¥ÝF“y›Ôć˜c€űH_hL܋êĺШc}rn`½„Ì@¸¶ªVLŒŠhŒ‹\\•Ţĺk~ŽĠið°|gŒtTĭĸ^x‘vK˜VGréAé‘bUu›MJ‰VÃO¡…qĂXËS‰ģãlýàŸ_ju‡YÛÒB†œG^˜é֊¶§ŽƒEG”ÅzěƒƯ¤Ek‡N[kdåucé¬dnYpAyČ{`]þ¯T’bÜÈk‚¡Ġ•vŒàh„ÂƄ¢J"]],encodeOffsets:[[[111707,21520]],[[107619,25527]]]}},{type:"Feature",id:"460000",properties:{id:"460000",cp:[109.83119,19.031971],name:"海南",childNum:1},geometry:{type:"Polygon",coordinates:["@@š¦Ŝil¢”XƦ‘ƞò–ïè§ŞCêɕrŧůÇąĻõ™·ĉ³œ̅kÇm@ċȧƒŧĥ‰Ľʉ­ƅſ“ȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀœÐ¾jNðĀÒRŒšZdž™zÐŘΰH¨Ƣb²_Ġ "],encodeOffsets:[[112750,20508]]}},{type:"Feature",id:"510000",properties:{id:"510000",cp:[104.065735,30.659462],name:"四川",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@LqKr"],["@@Š[ĻéV£ž_ţġñpG •réÏ·~ąSfy×͂·ºſƽiÍıƣıĻmHH}siaX@iÇ°ÁÃ×t«ƒ­Tƒ¤J–JJŒyJ•ÈŠ`Ohߦ¡uËhIyCjmÿw…ZG……Ti‹SˆsO‰žB²ŸfNmsPaˆ{M{ŠõE‘^Hj}gYpaeuž¯‘oáwHjÁ½M¡pM“–uå‡mni{fk”\\oƒÎqCw†EZ¼K›ĝŠƒAy{m÷L‡wO×SimRI¯rK™õBS«sFe‡]fµ¢óY_ÆPRcue°Cbo׌bd£ŌIHgtrnyPt¦foaXďx›lBowz‹_{ÊéWiêE„GhܸºuFĈIxf®Ž•Y½ĀǙ]¤EyŸF²ċ’w¸¿@g¢§RGv»–áŸW`ÃĵJwi]t¥wO­½a[׈]`Ãi­üL€¦LabbTÀå’c}Íh™Æhˆ‹®BH€î|Ék­¤S†y£„ia©taį·Ɖ`ō¥Uh“O…ƒĝLk}©Fos‰´›Jm„µlŁu—…ø–nÑJWΪ–YÀïAetTžŅ‚ӍG™Ë«bo‰{ıwodƟ½ƒžOġܑµxàNÖ¾P²§HKv¾–]|•B‡ÆåoZ`¡Ø`ÀmºĠ~ÌЧnDž¿¤]wğ@sƒ‰rğu‰~‘Io”[é±¹ ¿žſđӉ@q‹gˆ¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@ỗs›Zϕ‹œÅĭ€Ƌ•ěpwDóÖሯneQˌq·•GCœýS]xŸ·ý‹q³•O՜Œ¶Qzßti{ř‰áÍÇWŝŭñzÇW‹pç¿JŒ™‚Xœĩè½cŒF–ÂLiVjx}\\N†ŇĖ¥Ge–“JA¼ÄHfÈu~¸Æ«dE³ÉMA|b˜Ò…˜ćhG¬CM‚õŠ„ƤąAvƒüV€éŀ‰_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»Ÿ“˜ÕZ³ġqDo‰y`L¬gdp°şŠp¦ėìÅĮZŽ°Iä”h‚‘ˆzŠĵœf²å ›ĚрKp‹IN|‹„Ñz]ń……·FU×é»R³™MƒÉ»GM«€ki€™ér™}Ã`¹ăÞmȝnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ…þTº·àUȞÏʦ¶†I’«dĽĢdĬ¿–»Ĕ׊h\\c¬†ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvw–ˆxBèĻĒ©Ĉ“tCĢɽŠȣ¦āæ·HĽî“ôNԓ~^¤Ɗœu„œ^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ‘®Z´ğ~Sn|ªWÚ©òzPOȸ‚bð¢|‹øĞŠŒœŒQìÛÐ@Ğ™ǎRS¤Á§d…i“´ezÝúØã]Hq„kIŸþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwn‘ÆƄmÀêErĒtD®ċæcQƒ”E®³^ĭ¥©l}äQto˜ŖÜqƎkµ–„ªÔĻĴ¡@Ċ°B²Èw^^RsºTĀ£ŚæœQP‘JvÄz„^Đ¹Æ¯fLà´GC²‘dt˜­ĀRt¼¤ĦOðğfÔðDŨŁĞƘïžPȆ®âbMüÀXZ ¸£@Ś›»»QÉ­™]d“sÖ×_͖_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|Y‹Ô‚ZśÎs´xº±UŒ’ñˆt|O’ĩĠºNbgþŠJy^dÂY Į„]Řz¦gC‚³€R`ĀŠz’¢AjŒ¸CL„¤RÆ»@­Ŏk\\Ç´£YW}z@Z}‰Ã¶“oû¶]´^N‡Ò}èN‚ª–P˜Íy¹`S°´†ATe€VamdUĐwʄvĮÕ\\ƒu‹Æŗ¨Yp¹àZÂm™Wh{á„}WØǍ•Éüw™ga§áCNęÎ[ĀÕĪgÖɪX˜øx¬½Ů¦¦[€—„NΆL€ÜUÖ´òrÙŠxR^–†J˜k„ijnDX{Uƒ~ET{ļº¦PZc”jF²Ė@Žp˜g€ˆ¨“B{ƒu¨ŦyhoÚD®¯¢˜ WòàFΤ¨GDäz¦kŮPœġq˚¥À]€Ÿ˜eŽâÚ´ªKxī„Pˆ—Ö|æ[xäJÞĥ‚s’NÖ½ž€I†¬nĨY´®Ð—ƐŠ€mD™ŝuäđđEb…e’e_™v¡}ìęNJē}q”É埁T¯µRs¡M@}ůa†a­¯wvƉåZwž\\Z{åû^›"]],encodeOffsets:[[[108815,30935]],[[110617,31811]]]}},{type:"Feature",id:"520000",properties:{id:"520000",cp:[106.713478,26.578343],name:"贵州",childNum:3},geometry:{type:"MultiPolygon",coordinates:[["@@†G\\†lY£‘in"],["@@q‚|ˆ‚mc¯tχVSÎ"],["@@hÑ£Is‡NgßH†›HªķÃh_¹ƒ¡ĝħń¦uيùŽgS¯JHŸ|sÝÅtÁïyMDč»eÕtA¤{b\\}—ƒG®u\\åPFq‹wÅaD…žK°ºâ_£ùbµ”mÁ‹ÛœĹM[q|hlaªāI}тƒµ@swtwm^oµˆD鼊yV™ky°ÉžûÛR…³‚‡eˆ‡¥]RՋěħ[ƅåÛDpŒ”J„iV™™‰ÂF²I…»mN·£›LbÒYb—WsÀbŽ™pki™TZĄă¶HŒq`……ĥ_JŸ¯ae«ƒKpÝx]aĕÛPƒÇȟ[ÁåŵÏő—÷Pw}‡TœÙ@Õs«ĿÛq©½œm¤ÙH·yǥĘĉBµĨÕnđ]K„©„œá‹ŸG纍§Õßg‡ǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊžw¶øV¤w”²Ĉ]ʚKx|`ź¦ÂÈdr„cȁbe¸›`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pН`oÒhŽ¶pa‚^ÓĔ}D»^Xyœ`d˜[Kv…JPhèhCrĂĚÂ^Êƌ wˆZL­Ġ£šÁbrzOIl’MM”ĪŐžËr×ÎeŦŽtw|Œ¢mKjSǘňĂStÎŦEtqFT†¾†E쬬ôxÌO¢Ÿ KŠ³ŀºäY†„”PVgŎ¦Ŋm޼VZwVlŒ„z¤…ž£Tl®ctĽÚó{G­A‡ŒÇgeš~Αd¿æaSba¥KKûj®_ć^\\ؾbP®¦x^sxjĶI_Ä X‚⼕Hu¨Qh¡À@Ëô}Ž±žGNìĎlT¸ˆ…`V~R°tbÕĊ`¸úÛtπFDu€[ƒMfqGH·¥yA‰ztMFe|R‚_Gk†ChZeÚ°to˜v`x‹b„ŒDnÐ{E}šZ˜è€x—†NEފREn˜[Pv@{~rĆAB§‚EO¿|UZ~ì„Uf¨J²ĂÝƀ‚sª–B`„s¶œfvö¦ŠÕ~dÔq¨¸º»uù[[§´sb¤¢zþFœ¢Æ…Àhˆ™ÂˆW\\ıŽËI݊o±ĭŠ£þˆÊs}¡R]ŒěƒD‚g´VG¢‚j±®è†ºÃmpU[Á›‘Œëº°r›ÜbNu¸}Žº¼‡`ni”ºÔXĄ¤¼Ôdaµ€Á_À…†ftQQgœR—‘·Ǔ’v”}Ýלĵ]µœ“Wc¤F²›OĩųãW½¯K‚©…]€{†LóµCIµ±Mß¿hŸ•©āq¬o‚½ž~@i~TUxŪÒ¢@ƒ£ÀEîôruń‚”“‚b[§nWuMÆLl¿]x}ij­€½"]],encodeOffsets:[[[112158,27383]],[[112105,27474]],[[112095,27476]]]}},{type:"Feature",id:"530000",properties:{id:"530000",cp:[101.512251,24.740609],name:"云南",childNum:1},geometry:{type:"Polygon",coordinates:["@@[„ùx½}ÑRH‘YīĺûsÍn‘iEoã½Ya²ė{c¬ĝg•ĂsA•ØÅwď‚õzFjw}—«Dx¿}UũlŸê™@•HÅ­F‰¨ÇoJ´Ónũuą¡Ã¢pÒŌ“Ø TF²‚xa²ËX€‚cʋlHîAßËŁkŻƑŷÉ©h™W­æßU‡“Ës¡¦}•teèƶStǀÇ}Fd£j‹ĈZĆÆ‹¤T‚č\\Dƒ}O÷š£Uˆ§~ŃG™‚åŃDĝ¸œTsd¶¶Bªš¤u¢ŌĎo~t¾ÍŶÒtD¦Ú„iôö‰€z›ØX²ghįh½Û±¯€ÿm·zR¦Ɵ`ªŊÃh¢rOԍ´£Ym¼èêf¯ŪĽn„†cÚbŒw\\zlvWžªâˆ ¦g–mĿBş£¢ƹřbĥkǫßeeZkÙIKueT»sVesb‘aĕ  ¶®dNœĄÄpªyŽ¼—„³BE˜®l‡ŽGœŭCœǶwêżĔÂe„pÍÀQƞpC„–¼ŲÈ­AÎô¶R„ä’Q^Øu¬°š_Èôc´¹ò¨P΢hlϦ´Ħ“Æ´sâDŽŲPnÊD^¯°’Upv†}®BP̪–jǬx–Söwlfòªv€qĸ|`H€­viļ€ndĜ­Ćhň•‚em·FyށqóžSį¯‘³X_ĞçêtryvL¤§z„¦c¦¥jnŞk˜ˆlD¤øz½ĜàžĂŧMÅ|áƆàÊcðÂF܎‚áŢ¥\\\\º™İøÒÐJĴ‡„îD¦zK²ǏÎEh~’CD­hMn^ÌöÄ©ČZÀžaü„fɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~Äqššê€ljN¬¼H„ÊšNQ´ê¼VظE††^ŃÒyŒƒM{ŒJLoÒœęæŸe±Ķ›y‰’‡gã“¯JYÆĭĘëo¥Š‰o¯hcK«z_pŠrC´ĢÖY”—¼ v¸¢RŽÅW³Â§fǸYi³xR´ďUˊ`êĿU„û€uĆBƒƣö‰N€DH«Ĉg†——Ñ‚aB{ÊNF´¬c·Åv}eÇÃGB»”If•¦HňĕM…~[iwjUÁKE•Ž‹¾dĪçW›šI‹èÀŒoÈXòyŞŮÈXâÎŚŠj|àsRy‹µÖ›–Pr´þŒ ¸^wþTDŔ–Hr¸‹žRÌmf‡żÕâCôox–ĜƌÆĮŒ›Ð–œY˜tâŦÔ@]ÈǮƒ\\Ī¼Ä£UsȯLbîƲŚºyh‡rŒŠ@ĒԝƀŸÀ²º\\êp“’JŠ}ĠvŠqt„Ġ@^xÀ£È†¨mËÏğ}n¹_¿¢×Y_æpˆÅ–A^{½•Lu¨GO±Õ½ßM¶w’ÁĢۂP‚›Ƣ¼pcIJxŠ|ap̬HšÐŒŊSfsðBZ¿©“XÏÒK•k†÷Eû¿‰S…rEFsÕūk”óVǥʼniTL‚¡n{‹uxţÏh™ôŝ¬ğōN“‘NJkyPaq™Âğ¤K®‡YŸxÉƋÁ]āęDqçgOg†ILu—\\_gz—]W¼ž~CÔē]bµogpў_oď`´³Țkl`IªºÎȄqÔþž»E³ĎSJ»œ_f·‚adÇqƒÇc¥Á_Źw{™L^ɱćx“U£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣG˛÷Ÿk°_^ý|_zċBZocmø¯hhcæ\\lˆMFlư£Ĝ„ÆyH“„F¨‰µêÕ]—›HA…àӄ^it `þßäkŠĤÎT~Wlÿ¨„ÔPzUC–NVv [jâôDôď[}ž‰z¿–msSh‹¯{jïğl}šĹ[–őŒ‰gK‹©U·µË@¾ƒm_~q¡f¹…ÅË^»‘f³ø}Q•„¡Ö˳gͱ^ǁ…\\ëÃA_—¿bW›Ï[¶ƛ鏝£F{īZgm@|kHǭƁć¦UĔťƒ×ë}ǝƒeďºȡȘÏíBə£āĘPªij¶“ʼnÿ‡y©n‰ď£G¹¡I›Š±LÉĺÑdĉ܇W¥˜‰}g˜Á†{aqÃ¥aŠıęÏZ—ï`"],encodeOffsets:[[104636,22969]]}},{type:"Feature",id:"540000",properties:{id:"540000",cp:[89.132212,30.860361],name:"西藏",childNum:1},geometry:{type:"Polygon",coordinates:["@@hžľxŽŖ‰xƒÒVŽ†ºÅâAĪÝȆµę¯Ňa±r_w~uSÕň‘qOj]ɄQ…£Z……UDûoY’»©M[‹L¼qãË{V͕çWViŽ]ë©Ä÷àyƛh›ÚU°ŒŒa”d„cQƒ~Mx¥™cc¡ÙaSyF—ցk­ŒuRýq¿Ôµ•QĽ³aG{¿FµëªéĜÿª@¬·–K‰·àariĕĀ«V»Ŷ™Ĵū˜gèLǴŇƶaf‹tŒèBŚ£^Šâ†ǐÝ®–šM¦ÁǞÿ¬LhŸŽJ¾óƾƺcxw‹f]Y…´ƒ¦|œQLn°aœdĊ…œ\\¨o’œǀÍŎœ´ĩĀd`tÊQŞŕ|‚¨C^©œĈ¦„¦ÎJĊ{ŽëĎjª²rЉšl`¼Ą[t|¦St辉PŒÜK¸€d˜Ƅı]s¤—î_v¹ÎVòŦj˜£Əsc—¬_Ğ´|Ł˜¦AvŽ¦w`ăaÝaa­¢e¤ı²©ªSªšÈMĄwžÉØŔì@T‘¤—Ę™\\õª@”þo´­xA s”ÂtŎKzó´ÇĊµ¢rž^nĊ­Æ¬×üGž¢‚³ {âĊ]š™G‚~bÀgVjzlhǶf€žOšfdŠ‰ªB]pj„•TO–tĊ‚n¤}®¦ƒČ¥d¢¼»ddš”Y¼Žt—¢eȤJ¤}Ǿ¡°§¤AГlc@ĝ”sªćļđAç‡wx•UuzEÖġ~AN¹ÄÅȀŻ¦¿ģŁéì±H…ãd«g[؉¼ēÀ•cīľġ¬cJ‘µ…ÐʥVȝ¸ßS¹†ý±ğkƁ¼ą^ɛ¤Ûÿ‰b[}¬ōõÃ]ËNm®g@•Bg}ÍF±ǐyL¥íCˆƒIij€Ï÷њį[¹¦[⚍EÛïÁÉdƅß{âNÆāŨߝ¾ě÷yC£‡k­´ÓH@¹†TZ¥¢įƒ·ÌAЧ®—Zc…v½ŸZ­¹|ŕWZqgW“|ieZÅYVӁqdq•bc²R@†c‡¥Rã»Ge†ŸeƃīQ•}J[ғK…¬Ə|o’ėjġĠÑN¡ð¯EBčnwôɍėªƒ²•CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛ†ęgſ¶ҍć`ĘąŌJޚä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷‡f±iMݑ›‰@ĥ°G¬ÃM¥n£Øą‚ğ¯ß”§aëbéüÑOčœk£{\\‘eµª×M‘šÉfm«Ƒ{Å׃Gŏǩãy³©WÑăû‚··‘Q—òı}¯ã‰I•éÕÂZ¨īès¶ZÈsŽæĔTŘvŽgÌsN@îá¾ó@‰˜ÙwU±ÉT廣TđŸWxq¹Zo‘b‹s[׌¯cĩv‡Œėŧ³BM|¹k‰ªħ—¥TzNYnݍßpęrñĠĉRS~½ŠěVVŠµ‚õ‡«ŒM££µB•ĉ¥áºae~³AuĐh`Ü³ç@BۘïĿa©|z²Ý¼D”£àč²‹ŸƒIƒû›I ā€óK¥}rÝ_Á´éMaň¨€~ªSĈ½Ž½KÙóĿeƃÆBŽ·¬ën×W|Uº}LJrƳ˜lŒµ`bÔ`QˆˆÐÓ@s¬ñIŒÍ@ûws¡åQÑßÁ`ŋĴ{Ī“T•ÚÅTSij‚‹Yo|Ç[ǾµMW¢ĭiÕØ¿@˜šMh…pÕ]j†éò¿OƇĆƇp€êĉâlØw–ěsˆǩ‚ĵ¸c…bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB™Š\\”qTGªÇĜçPoŠÿfñòą¦óQīÈáP•œābß{ƒZŗĸIæńhnszÁCËìñšÏ·ąĚÝUm®ó­L·ăU›Èíoù´Êj°ŁŤ_uµ^‘°Œìǖ@tĶĒ¡Æ‡M³Ģ«˜İĨÅ®ğ†RŽāð“ggheÆ¢z‚Ê©Ô\\°ÝĎz~ź¤Pn–MĪÖB£Ÿk™n鄧żćŠ˜ĆK„Ē°¼L¶è‰âz¨u¦¥LDĘz¬ýÎmĘd¾ß”Fz“hg²™Fy¦ĝ¤ċņbΛ@y‚Ąæm°NĮZRÖíŽJ²öLĸÒ¨Y®ƌÐV‰à˜tt_ڀÂyĠzž]Ţh€zĎ{†ĢX”ˆc|šÐqŽšfO¢¤ög‚ÌHNŽ„PKŖœŽ˜Uú´xx[xˆvĐCûĀŠìÖT¬¸^}Ìsòd´_Ž‡KgžLĴ…ÀBon|H@–Êx˜—¦BpŰˆŌ¿fµƌA¾zLjRxŠ¶F”œkĄźRzŀˆ~¶[”´Hnª–VƞuĒ­È¨ƎcƽÌm¸ÁÈM¦x͊ëÀxdžB’šú^´W†£–d„kɾĬpœw‚˂ØɦļĬIŚœÊ•n›Ŕa¸™~J°î”lɌxĤÊÈðhÌ®‚g˜T´øŽàCˆŽÀ^ªerrƘdž¢İP|Ė ŸWœªĦ^¶´ÂL„aT±üWƜ˜ǀRšŶUńšĖ[QhlLüA†‹Ü\\†qR›Ą©"],encodeOffsets:[[90849,37210]]}},{type:"Feature",id:"610000",properties:{id:"610000",cp:[108.948024,34.263161],name:"陕西",childNum:1},geometry:{type:"Polygon",coordinates:["@@˜p¢—ȮµšûG™Ħ}Ħšðǚ¶òƄ€jɂz°{ºØkÈęâ¦jª‚Bg‚\\œċ°s¬Ž’]jžú ‚E”Ȍdž¬s„t‡”RˆÆdĠݎwܔ¸ôW¾ƮłÒ_{’Ìšû¼„jº¹¢GǪÒ¯ĘƒZ`ºŊƒecņąš~BÂgzpâēòYǠȰÌTΨÂWœ|fcŸă§uF—Œ@NŸ¢XLƒŠRMº[ğȣſï|¥J™kc`sʼnǷ’Y¹‹W@µ÷K…ãï³ÛIcñ·VȋڍÒķø©—þ¥ƒy‚ÓŸğęmWµÎumZyOŅƟĥÓ~sÑL¤µaŅY¦ocyZ{‰y c]{ŒTa©ƒ`U_Ěē£ωÊƍKù’K¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑd‘ŠìUYƒŽO‘uF–ÕÈYvÁCqӃT•Ǣí§·S¹NgŠV¬ë÷Át‡°Dد’C´ʼnƒópģ}„ċcE˅FŸŸéGU¥×K…§­¶³B‹Č}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO…ÿEËߌ•ĤNĔŸwƇˆÄŠńwĪ­Šo[„_KÓª³“ÙnK‰Çƒěœÿ]ď€ă_d©·©Ýŏ°Ù®g]±„Ÿ‡ß˜å›—¬÷m\\›iaǑkěX{¢|ZKlçhLt€Ňîŵ€œè[€É@ƉĄEœ‡tƇÏ˜³­ħZ«mJ…›×¾‘MtÝĦ£IwÄå\\Õ{‡˜ƒOwĬ©LÙ³ÙgBƕŀr̛ĢŭO¥lãyC§HÍ£ßEñŸX¡—­°ÙCgpťz‘ˆb`wI„vA|§”‡—hoĕ@E±“iYd¥OĻ¹S|}F@¾oAO²{tfžÜ—¢Fǂ҈W²°BĤh^Wx{@„¬‚­F¸¡„ķn£P|ŸªĴ@^ĠĈæb–Ôc¶l˜Yi…–^Mi˜cĎ°Â[ä€vï¶gv@À“Ĭ·lJ¸sn|¼u~a]’ÆÈtŌºJp’ƒþ£KKf~Š¦UbyäIšĺãn‡Ô¿^­žŵMT–hĠܤko¼Ŏìąǜh`[tŒRd²IJ_œXPrɲ‰l‘‚XžiL§àƒ–¹ŽH˜°Ȧqº®QC—bA†„ŌJ¸ĕÚ³ĺ§ `d¨YjžiZvRĺ±öVKkjGȊĐePОZmļKÀ€‚[ŠŽ`ösìh†ïÎoĬdtKÞ{¬èÒÒBŒÔpIJÇĬJŊ¦±J«ˆY§‹@·pH€µàåVKe›pW†ftsAÅqC·¬ko«pHÆuK@oŸHĆۄķhx“e‘n›S³àǍrqƶRbzy€¸ËАl›¼EºpĤ¼Œx¼½~Ğ’”à@†ÚüdK^ˆmÌSj"],encodeOffsets:[[110234,38774]]}},{type:"Feature",id:"620000",properties:{id:"620000",cp:[103.823557,36.058039],name:"甘肃",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@VuUv"],["@@ũ‹EĠtt~nkh`Q‰¦ÅÄÜdw˜Ab×ĠąJˆ¤DüègĺqBqœj°lI¡ĨÒ¤úSHbš‡ŠjΑBŠ°aZˆ¢KJŽ’O[|A£žDx}Nì•HUnrk„ kp€¼Y kMJn[aG‚áÚÏ[½rc†}aQxOgsPMnUs‡nc‹Z…ž–sKúvA›t„Þġ’£®ĀYKdnFwš¢JE°”Latf`¼h¬we|€Æ‡šbj}GA€·~WŽ”—`†¢MC¤tL©IJ°qdf”O‚“bÞĬ¹ttu`^ZúE`Œ[@„Æsîz®¡’C„ƳƜG²“R‘¢R’m”fŽwĸg܃‚ą G@pzJM½mŠhVy¸uÈÔO±¨{LfæU¶ßGĂq\\ª¬‡²I‚¥IʼnÈīoı‹ÓÑAçÑ|«LÝcspīðÍg…të_õ‰\\ĉñLYnĝg’ŸRǡÁiHLlõUĹ²uQjYi§Z_c¨Ÿ´ĹĖÙ·ŋI…ƒaBD˜­R¹ȥr—¯G•ºß„K¨jWk’ɱŠOq›Wij\\a­‹Q\\sg_ĆǛōëp»£lğۀgS•ŶN®À]ˆÓäm™ĹãJaz¥V}‰Le¤L„ýo‘¹IsŋÅÇ^‘Žbz…³tmEÁ´aŠ¹cčecÇN•ĊãÁ\\č¯—dNj•]j†—ZµkÓda•ćå]ğij@ ©O{¤ĸm¢ƒE·®ƒ«|@Xwg]Aģ±¯‡XǁÑdzªc›wQÚŝñsÕ³ÛV_ýƒ˜¥\\ů¥©¾÷w—Ž©WÕÊĩhÿÖÁRo¸V¬âDb¨šhûx–Ê×nj~Zâƒg|šXÁnßYoº§ZÅŘvŒ[„ĭÖʃuďxcVbnUSf…B¯³_Tzº—ΕO©çMÑ~Mˆ³]µ^püµ”ŠÄY~y@X~¤Z³€[Èōl@®Å¼£QKƒ·Di‹¡By‘ÿ‰Q_´D¥hŗyƒ^ŸĭÁZ]cIzý‰ah¹MĪğP‘s{ò‡‹‘²Vw¹t³Ŝˁ[ŽÑ}X\\gsFŸ£sPAgěp×ëfYHāďÖqēŭOÏë“dLü•\\iŒ”t^c®šRʺ¶—¢H°mˆ‘rYŸ£BŸ¹čIoľu¶uI]vģSQ{ƒUŻ”Å}QÂ|̋°ƅ¤ĩŪU ęĄžÌZҞ\\v˜²PĔ»ƢNHƒĂyAmƂwVmž`”]ȏb•”H`‰Ì¢²ILvĜ—H®¤Dlt_„¢JJÄämèÔDëþgºƫ™”aʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b…ð÷’Žˆ‡®‚”üs”zMzÖĖQdȨý†v§Tè|ªH’þa¸|šÐ ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v†·À|\\ƁĚN´Ĝ€çèÁz]ġ¤²¨QÒŨTIl‡ªťØ}¼˗ƦvÄùØE‹’«Fï˛Iq”ōŒTvāÜŏ‚íÛߜÛV—j³âwGăÂíNOŠˆŠPìyV³ʼnĖýZso§HіiYw[߆\\X¦¥c]ÔƩÜ·«j‡ÐqvÁ¦m^ċ±R™¦΋ƈťĚgÀ»IïĨʗƮŽ°Ɲ˜ĻþÍAƉſ±tÍEÕÞāNU͗¡\\ſčåÒʻĘm ƭÌŹöʥ’ëQ¤µ­ÇcƕªoIýˆ‰Iɐ_mkl³ă‰Ɠ¦j—¡Yz•Ňi–}Msßõ–īʋ —}ƒÁVmŸ_[n}eı­Uĥ¼‘ª•I{ΧDӜƻėoj‘qYhĹT©oūĶ£]ďxĩ‹ǑMĝ‰q`B´ƃ˺Ч—ç~™²ņj@”¥@đ´ί}ĥtPńǾV¬ufӃÉC‹tÓ̻‰…¹£G³€]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼ‚ĤŊɲĖ­Kq´ï¦—ºĒDzņɾªǀÞĈĂD†½ĄĎÌŗĞrôñnŽœN¼â¾ʄľԆ|DŽŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿Ľ­ĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY…tÁƤyAã˾J@ǝrý‹‰@¤…rz¸oP¹ɐÚyᐇHŸĀ[Jw…cVeȴϜ»ÈŽĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔ—ĹŊũ~ËUă{ŸĻƹɁύȩþĽvĽƓÉ@ē„ĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶Ž¨c~c¼īŒeXǚ‹\\đ¾JŽwÀďksãA‹fÕ¦L}wa‚o”Z’‹D½†Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LF‹LzĈ„ôe]gx}•|KK}xklL]c¦£fRtív¦†PĤoH{tK"]],encodeOffsets:[[[108619,36299]],[[108589,36341]]]}},{type:"Feature",id:"630000",properties:{id:"630000",cp:[96.778916,35.623178],name:"青海",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@InJm"],["@@CƒÆ½OŃĦsΰ~Ē³¦@@“Ņiš±è}ؘƄ˹A³r_ĞŠǒNĪŒĐw¤^ŬĵªpĺSZg’rpiƼĘԛ¨C|͖J’©Ħ»®VIJ~f\\m `Un„˜~ʌŸ•ĬàöNt•~ňjy–¢Zi˜Ɣ¥ĄŠk´nl`JʇŠJþ©pdƖ®È£¶ìRʦ‘źõƮËnŸʼėæÑƀĎ[‚˜¢VÎĂMÖÝÎF²sƊƀÎBļýƞ—¯ʘƭðħ¼Jh¿ŦęΌƇš¥²Q]Č¥nuÂÏriˆ¸¬ƪÛ^Ó¦d€¥[Wà…x\\ZŽjҕ¨GtpþYŊĕ´€zUO뇉P‰îMĄÁxH´á˜iÜUà›îÜՁĂÛSuŎ‹r“œJð̬EŒ‘FÁú×uÃÎkr“Ē{V}İ«O_ÌËĬ©ŽÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u…ºµ[gt£¸OƤĿéYŸõ·kĀŸq]juw¥Dĩƍ€õÇPéĽG‘ž©ã‡¤G…uȧþRcÕĕNy“yût“ˆ­‡ø‘†ï»a½ē¿BMoį£ŸÍj}éZËqbʍš“Ƭh¹ìÿÓAçãnIáI`ƒks£CG­ě˜Uy×Cy•…’Ÿ@¶ʡÊBnāzG„ơMē¼±O÷õJËĚăVŸĪũƆ£Œ¯{ËL½Ìzż“„VR|ĠTbuvJvµhĻĖH”Aëáa…­OÇðñęNw‡…œľ·L›mI±íĠĩPÉ×®ÿs—’cB³±JKßĊ«`…ađ»·QAmO’‘Vţéÿ¤¹SQt]]Çx€±¯A@ĉij¢Óļ©•ƒl¶ÅÛr—ŕspãRk~¦ª]Į­´“FR„åd­ČsCqđéFn¿Åƃm’Éx{W©ºƝºįkÕƂƑ¸wWūЩÈFž£\\tÈ¥ÄRÈýÌJ ƒlGr^×äùyÞ³fj”c†€¨£ÂZ|ǓMĝšÏ@ëÜőR‹›ĝ‰Œ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³’­ÞIňµç½©C¡į÷¯B»|St»›]vƒųƒs»”}MÓ ÿʪƟǭA¡fs˜»PY¼c¡»¦c„ċ­¥£~msĉP•–Siƒ^o©A‰Šec‚™PeǵŽkg‚yUi¿h}aH™šĉ^|ᴟ¡HØûÅ«ĉ®]m€¡qĉ¶³ÈyôōLÁst“BŸ®wn±ă¥HSòėš£˜S’ë@לÊăxÇN©™©T±ª£IJ¡fb®ÞbŽb_Ą¥xu¥B—ž{łĝ³«`d˜Ɛt—¤ťiñžÍUuºí`£˜^tƃIJc—·ÛLO‹½Šsç¥Ts{ă\\_»™kϊ±q©čiìĉ|ÍIƒ¥ć¥›€]ª§D{ŝŖÉR_sÿc³Īō›ƿΑ›§p›[ĉ†›c¯bKm›R¥{³„Z†e^ŽŒwx¹dƽŽôIg §Mĕ ƹĴ¿—ǣÜ̓]‹Ý–]snåA{‹eŒƭ`ǻŊĿ\\ijŬű”YÂÿ¬jĖqŽßbŠ¸•L«¸©@ěĀ©ê¶ìÀEH|´bRľž–Ó¶rÀQþ‹vl®Õ‚E˜TzÜdb ˜hw¤{LR„ƒd“c‹b¯‹ÙVgœ‚ƜßzÃô쮍^jUèXΖ|UäÌ»rKŽ\\ŒªN‘¼pZCü†VY††¤ɃRi^rPҒTÖ}|br°qňbĚ°ªiƶGQ¾²„x¦PœmlŜ‘[Ĥ¡ΞsĦŸÔÏâ\\ªÚŒU\\f…¢N²§x|¤§„xĔsZPòʛ²SÐqF`ª„VƒÞŜĶƨVZŒÌL`ˆ¢dŐIqr\\oäõ–F礻Ŷ×h¹]Clـ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ”´ÃbEÄlbʔC”|CˆŮˆk„Ʈ[ʼ¬ňœ´KŮÈΰÌĪ¶ƶlð”ļA†TUvdTŠG†º̼ŠÔ€ŒsÊDԄveOg"]],encodeOffsets:[[[105308,37219]],[[95370,40081]]]}},{type:"Feature",id:"640000",properties:{id:"640000",cp:[106.278179,37.26637],name:"宁夏",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@KëÀęĞ«OęȿȕŸı]ʼn¡åįÕÔ«Ǵõƪ™ĚQÐZhv K°›öqÀѐS[ÃÖHƖčË‡nL]ûc…Ùß@‚“ĝ‘¾}w»»‹oģF¹œ»kÌÏ·{zPƒ§B­¢íyÅt@ƒ@áš]Yv_ssģ¼i߁”ĻL¾ġsKD£¡N_…“˜X¸}B~Haiˆ™Åf{«x»ge_bs“KF¯¡Ix™mELcÿZ¤­Ģ‘ƒÝœsuBLù•t†ŒYdˆmVtNmtOPhRw~bd…¾qÐ\\âÙH\\bImlNZŸ»loƒŸqlVm–Gā§~QCw¤™{A\\‘PKŸNY‡¯bF‡kC¥’sk‹Šs_Ã\\ă«¢ħkJi¯r›rAhĹûç£CU‡ĕĊ_ԗBixÅُĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~–hw^‚ófćƒKyEŒ­K­zuÔ¡qQ¤xZÑ¢^ļöܾEpž±âbÊÑÆ^fk¬…NC¾‘Œ“YpxbK~¥Že֎ŒäBlt¿Đx½I[ĒǙŒWž‹f»Ĭ}d§dµùEuj¨‚IÆ¢¥dXªƅx¿]mtÏwßRĶŒX¢͎vÆzƂZò®ǢÌʆCrâºMÞzžÆMҔÊÓŊZľ–r°Î®Ȉmª²ĈUªĚøºˆĮ¦ÌĘk„^FłĬhĚiĀĖ¾iİbjÕ"],["@@mfwěwMrŢªv@G‰"]],encodeOffsets:[[[109366,40242]],[[108600,36303]]]}},{type:"Feature",id:"650000",properties:{id:"650000",cp:[85.617733,40.792818],name:"新疆",childNum:1},geometry:{type:"Polygon",coordinates:["@@QØĔ²X¨”~ǘBºjʐßØvK”ƔX¨vĊOžÃƒ·¢i@~c—‡ĝe_«”Eš“}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX…ê•Îf`œC‚¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥Oéȇ¿ÖğǤǷÂF҇zÉx[]­Ĥĝ‰œ¦EP}ûƥé¿İƷTėƫœŕƅ™ƱB»Đ±’ēO…¦E–•}‘`cȺrĦáŖuҞª«IJ‡πdƺÏØZƴwʄ¤ĖGЙǂZĶƒèH¶}ÚZצʥĪï|ÇĦMŔ»İĝLj‹ì¥Βœba­¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»›òmqóŘĝč˾ăC…ćāƿÝɽ©DZŅ¹đ¥˜³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕŠUv£ƁQï“Ƶkŏ½ΉÃŭdzLқʻ«ƭ\\lƒ‡ŭD‡“{ʓDkaFÃÄa“³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍö•€ůʼnT¡c_‡ËKY‹ƧUśĵ„݃U_©rETÏʜ±OñtYwē¨ƒ{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\‚ś’nkO›w¥±ƒT»ƷFɯàĩÞáB¹Æ…ÑUw„੍žĽw[“mG½Èå~‡Æ÷QyŠěCFmĭZī—ŵVÁ™ƿQƛ—ûXS²‰b½KϽĉS›©ŷXĕŸ{ŽĕK·¥Ɨcqq©f¿]‡ßDõU³h—­gËÇïģÉɋw“k¯í}I·šœbmœÉ–ř›īJɥĻˁ×xo›ɹī‡l•c…¤³Xù]‘™DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®Ɲv•Um©³G\\“}µĿ‡QyŹl㓛µEw‰LJQ½yƋBe¶ŋÀů‡ož¥A—˜Éw@•{Gpm¿Aij†ŽKLhˆ³`ñcËtW‚±»ÕS‰ëüÿďD‡u\\wwwù³—V›LŕƒOMËGh£õP¡™er™Ïd{“‡ġWÁ…č|yšg^ğyÁzÙs`—s|ÉåªÇ}m¢Ń¨`x¥’ù^•}ƒÌ¥H«‰Yªƅ”Aйn~ź¯šf¤áÀz„gŠÇDIԝ´AňĀ҄¶ûEYospõD[{ù°]u›Jq•U•|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw €ÞkrťË¿XGÉbřaDü·Ē÷Aê[Ää€I®BÕИÞ_¢āĠpŠÛÄȉĖġDKwbm‡ÄNô‡ŠfœƫVÉvi†dz—H‘‹QµâFšù­Âœ³¦{YGžƒd¢ĚÜO „€{Ö¦ÞÍÀPŒ^b–ƾŠlŽ[„vt×ĈÍE˨¡Đ~´î¸ùÎh€uè`¸ŸHÕŔVºwĠââWò‡@{œÙNÝ´ə²ȕn{¿¥{l—÷eé^e’ďˆXj©î\\ªÑò˜Üìc\\üqˆÕ[Č¡xoÂċªbØ­Œø|€¶ȴZdÆšońéŒGš\\”¼C°ÌƁn´nxšÊOĨ’Ūƴĸ¢¸òTxÊǪMīИÖŲÃɎOvˆʦƢ~FŽ‡Rěò—¿ġ~åŊœú‰Nšžš¸qŽ’Ę[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾œĄYÒ©ÊfºmԈĘcDoĬMŬ’˜S¤„s²‚”ʘچžȂVŦ –ŽèW°ªB|IJXŔþÈJĦÆæFĚêŠYĂªĂ]øªŖNÞüA€’fɨJ€˜¯ÎrDDšĤ€`€mz\\„§~D¬{vJÂ˜«lµĂb–¤p€ŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMT”‡òP˜÷fØĶK¢ȝ˔Sô¹òEð­”`Ɩ½ǒÂň×äı–§ĤƝ§C~¡‚hlå‚ǺŦŞkâ’~}ŽFøàIJaĞ‚fƠ¥Ž„Ŕdž˜®U¸ˆźXœv¢aƆúŪtŠųƠjd•ƺŠƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬŠ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹œ\\ĜÑŚŸ¶ZƄ³àjĨoâŠȴLʉȮŒĐ­ĚăŽÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§΢{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTŠiƢ¾ªì°`öøu®Ê¾ãØ"],encodeOffsets:[[88824,50096]]}},{type:"Feature",id:"110000",properties:{id:"110000",cp:[116.405285,39.904989],name:"北京",childNum:1},geometry:{type:"Polygon",coordinates:["@@ĽOÁ›ûtŷmiÍt_H»Ĩ±d`Š¹­{bw…Yr“³S]§§o¹€qGtm_Sŧ€“oa›‹FLg‘QN_•dV€@Zom_ć\\ߚc±x¯oœRcfe…£’o§ËgToÛJíĔóu…|wP¤™XnO¢ÉˆŦ¯rNÄā¤zâŖÈRpŢZŠœÚ{GŠrFt¦Òx§ø¹RóäV¤XdˆżâºWbwŚ¨Ud®bêņ¾‘jnŎGŃŶŠnzÚSeîĜZczî¾i]͜™QaúÍÔiþĩȨWĢ‹ü|Ėu[qb[swP@ÅğP¿{\\‡¥A¨Ï‘Ѩj¯ŠX\\¯œMK‘pA³[H…īu}}"],encodeOffsets:[[120023,41045]]}},{type:"Feature",id:"120000",properties:{id:"120000",cp:[117.190182,39.125596],name:"天津",childNum:1},geometry:{type:"Polygon",coordinates:["@@ŬgX§Ü«E…¶Ḟ“¬O_™ïlÁg“z±AXe™µÄĵ{¶]gitgšIj·›¥îakS€‰¨ÐƎk}ĕ{gB—qGf{¿a†U^fI“ư‹³õ{YƒıëNĿžk©ïËZŏ‘R§òoY×Ógc…ĥs¡bġ«@dekąI[nlPqCnp{ˆō³°`{PNdƗqSÄĻNNâyj]äžÒD ĬH°Æ]~¡HO¾ŒX}ÐxŒgp“gWˆrDGˆŒpù‚Š^L‚ˆrzWxˆZ^¨´T\\|~@I‰zƒ–bĤ‹œjeĊªz£®Ĕvě€L†mV¾Ô_ȔNW~zbĬvG†²ZmDM~”~"],encodeOffsets:[[120237,41215]]}},{type:"Feature",id:"310000",properties:{id:"310000",cp:[121.472644,31.231706],name:"上海",childNum:6},geometry:{type:"MultiPolygon",coordinates:[["@@ɧư¬EpƸÁxc‡"],["@@©„ªƒ"],["@@”MA‹‘š"],["@@Qp݁E§ÉC¾"],["@@bŝՕÕEȣÚƥêImɇǦèÜĠŒÚžÃƌÃ͎ó"],["@@ǜûȬɋŠŭ™×^‰sYŒɍDŋ‘ŽąñCG²«ªč@h–_p¯A{‡oloY€¬j@IJ`•gQڛhr|ǀ^MIJvtbe´R¯Ô¬¨YŽô¤r]ì†Ƭį"]],encodeOffsets:[[[124702,32062]],[[124547,32200]],[[124808,31991]],[[124726,32110]],[[124903,32376]],[[124438,32149]]]}},{type:"Feature",id:"500000",properties:{id:"500000",cp:[107.304962,29.533155],name:"重庆",childNum:2},geometry:{type:"MultiPolygon",coordinates:[["@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êЖqHŸðqĖ䒊¥^CƒIj–²p…\\_ æüY|[YxƊæuž°xb®…Űb@~¢NQt°¶‚S栓Ê~rljĔëĚ¢~šuf`‘‚†fa‚ĔJåĊ„nÖ]„jƎćÊ@Š£¾a®£Ű{ŶĕF‹ègLk{Y|¡ĜWƔtƬJÑxq‹±ĢN´‰òK‰™–LÈüD|s`ŋ’ć]ƒÃ‰`đŒMûƱ½~Y°ħ`ƏíW‰½eI‹½{aŸ‘OIrÏ¡ĕŇa†p†µÜƅġ‘œ^ÖÛbÙŽŏml½S‹êqDu[R‹ãË»†ÿw`»y‘¸_ĺę}÷`M¯ċfCVµqʼn÷Z•gg“Œ`d½pDO‡ÎCnœ^uf²ènh¼WtƏxRGg¦…pV„†FI±ŽG^ŒIc´ec‡’G•ĹÞ½sëĬ„h˜xW‚}Kӈe­Xsbk”F¦›L‘ØgTkïƵNï¶}Gy“w\\oñ¡nmĈzjŸ•@™Óc£»Wă¹Ój“_m»ˆ¹·~MvÛaqœ»­‰êœ’\\ÂoVnŽÓØ͙²«‹bq¿efE „€‹Ĝ^Qž~ Évý‡ş¤²Į‰pEİ}zcĺƒL‹½‡š¿gņ›¡ýE¡ya£³t\\¨\\vú»¼§·Ñr_oÒý¥u‚•_n»_ƒ•At©Þűā§IVeëƒY}{VPÀFA¨ąB}q@|Ou—\\Fm‰QF݅Mw˜å}]•€|FmϋCaƒwŒu_p—¯sfÙgY…DHl`{QEfNysBŠ¦zG¸rHe‚„N\\CvEsÐùÜ_·ÖĉsaQ¯€}_U‡†xÃđŠq›NH¬•Äd^ÝŰR¬ã°wećJEž·vÝ·Hgƒ‚éFXjÉê`|yŒpxkAwœWĐpb¥eOsmzwqChóUQl¥F^laf‹anòsr›EvfQdÁUVf—ÎvÜ^efˆtET¬ôA\\œ¢sJŽnQTjP؈xøK|nBz‰„œĞ»LY‚…FDxӄvr“[ehľš•vN”¢o¾NiÂxGp⬐z›bfZo~hGi’]öF|‰|Nb‡tOMn eA±ŠtPT‡LjpYQ|†SH††YĀxinzDJ€Ìg¢và¥Pg‰_–ÇzII‹€II•„£®S¬„Øs쐣ŒN"],["@@ifjN@s"]],encodeOffsets:[[[109628,30765]],[[111725,31320]]]}},{type:"Feature",id:"810000",properties:{id:"810000",cp:[114.173355,22.320048],name:"香港",childNum:5},geometry:{type:"MultiPolygon",coordinates:[["@@AlBk"],["@@mŽn"],["@@EpFo"],["@@ea¢pl¸Eõ¹‡hj[ƒ]ÔCΖ@lj˜¡uBXŸ…•´‹AI¹…[‹yDUˆ]W`çwZkmc–…M›žp€Åv›}I‹oJlcaƒfёKŽ°ä¬XJmРđhI®æÔtSHn€Eˆ„ÒrÈc"],["@@rMUw‡AS®€e"]],encodeOffsets:[[[117111,23002]],[[117072,22876]],[[117045,22887]],[[116975,23082]],[[116882,22747]]]}},{type:"Feature",id:"820000",properties:{id:"820000",cp:[113.54909,22.198951],name:"澳门",childNum:1},geometry:{type:"Polygon",coordinates:["@@kÊd°å§s"],encodeOffsets:[[116279,22639]]}}],UTF8Encoding:!0})})})(china);const type="FeatureCollection",features=[{type:"Feature",properties:{adcode:11e4,name:"北京市",center:[116.405285,39.904989],centroid:[116.41995,40.18994],childrenNum:16,level:"province",parent:{adcode:1e5},subFeatureIndex:0,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[117.348611,40.581141],[117.389879,40.561593],[117.429915,40.576141],[117.412669,40.605226],[117.467487,40.649738],[117.467487,40.649738],[117.501364,40.636569],[117.514914,40.660181],[117.493973,40.675161],[117.408973,40.686961],[117.342451,40.673799],[117.319662,40.657911],[117.278394,40.664267],[117.208177,40.694675],[117.117018,40.70012],[117.11209,40.707379],[117.012308,40.693767],[116.964881,40.709647],[116.926692,40.745022],[116.924229,40.773581],[116.848468,40.839264],[116.81336,40.848319],[116.759773,40.889954],[116.713577,40.909858],[116.722201,40.927495],[116.677853,40.970888],[116.698795,41.021477],[116.688324,41.044501],[116.647672,41.059394],[116.615643,41.053076],[116.623034,41.021026],[116.598397,40.974503],[116.5676,40.992574],[116.519557,40.98128],[116.519557,40.98128],[116.455499,40.980828],[116.447492,40.953715],[116.477057,40.899907],[116.398216,40.90624],[116.370499,40.94377],[116.339702,40.929303],[116.334159,40.90443],[116.438253,40.81934],[116.46597,40.774487],[116.453651,40.765876],[116.316912,40.772221],[116.311369,40.754996],[116.273181,40.762703],[116.247311,40.791707],[116.22021,40.744115],[116.204812,40.740035],[116.171551,40.695582],[116.162928,40.662451],[116.133979,40.666536],[116.09887,40.630665],[116.005247,40.583868],[115.982457,40.578868],[115.971986,40.6025],[115.907929,40.617493],[115.885139,40.595229],[115.827857,40.587504],[115.819849,40.55932],[115.784741,40.55841],[115.755176,40.540221],[115.736082,40.503372],[115.781045,40.49336],[115.771806,40.443734],[115.864197,40.359422],[115.917784,40.354405],[115.95166,40.281852],[115.968907,40.264045],[115.89869,40.234354],[115.870356,40.185909],[115.855574,40.188652],[115.847567,40.147036],[115.806299,40.15344],[115.773654,40.176307],[115.75456,40.145663],[115.75456,40.145663],[115.599959,40.119583],[115.59072,40.096239],[115.527278,40.076092],[115.485394,40.040364],[115.454597,40.029825],[115.450286,39.992697],[115.428728,39.984443],[115.426264,39.950502],[115.481083,39.935819],[115.522967,39.899099],[115.515575,39.892212],[115.515575,39.892212],[115.526046,39.87568],[115.514344,39.837549],[115.567314,39.816407],[115.552532,39.794799],[115.50572,39.784222],[115.483547,39.798477],[115.483547,39.798477],[115.443511,39.785601],[115.439815,39.752022],[115.486626,39.741899],[115.491554,39.670074],[115.478619,39.650723],[115.478619,39.650723],[115.522351,39.640124],[115.518039,39.597252],[115.545756,39.618922],[115.587024,39.589873],[115.633836,39.599557],[115.633836,39.599557],[115.667712,39.615234],[115.698509,39.577881],[115.698509,39.577881],[115.699125,39.570039],[115.699125,39.570039],[115.716988,39.56035],[115.716988,39.56035],[115.718835,39.553891],[115.718835,39.553891],[115.720683,39.551122],[115.720683,39.551122],[115.722531,39.5442],[115.721299,39.543738],[115.722531,39.5442],[115.722531,39.543738],[115.721299,39.543738],[115.722531,39.543738],[115.724995,39.5442],[115.724995,39.5442],[115.738545,39.540046],[115.738545,39.539585],[115.738545,39.540046],[115.738545,39.539585],[115.752712,39.515581],[115.806299,39.510041],[115.806299,39.510041],[115.821081,39.522968],[115.821081,39.522968],[115.828473,39.541431],[115.867893,39.546507],[115.867893,39.546507],[115.91532,39.582955],[115.91532,39.582955],[115.910393,39.600479],[115.910393,39.600479],[115.957204,39.560812],[115.978146,39.595868],[115.995392,39.576958],[116.026189,39.587567],[116.036044,39.571884],[116.09887,39.575113],[116.130283,39.567732],[116.151841,39.583416],[116.198652,39.589412],[116.240536,39.564041],[116.257782,39.500344],[116.307057,39.488337],[116.337854,39.455536],[116.361876,39.455074],[116.361876,39.455074],[116.434557,39.442597],[116.454883,39.453226],[116.444412,39.482332],[116.411767,39.482794],[116.401912,39.528046],[116.443796,39.510041],[116.437637,39.526661],[116.478289,39.535431],[116.473361,39.552968],[116.50847,39.551122],[116.524484,39.596329],[116.592237,39.621227],[116.592237,39.621227],[116.620571,39.601863],[116.664918,39.605552],[116.723432,39.59264],[116.724048,39.59264],[116.723432,39.59264],[116.724048,39.59264],[116.726512,39.595407],[116.726512,39.595407],[116.709266,39.618],[116.748686,39.619844],[116.79057,39.595868],[116.812128,39.615695],[116.8497,39.66777],[116.906366,39.677444],[116.90575,39.688037],[116.889736,39.687576],[116.887272,39.72533],[116.916837,39.731314],[116.902055,39.763523],[116.949482,39.778703],[116.918069,39.84628],[116.907598,39.832494],[116.865714,39.843982],[116.812128,39.889916],[116.78441,39.891294],[116.782563,39.947749],[116.757925,39.967934],[116.781331,40.034866],[116.820135,40.02845],[116.831222,40.051359],[116.867562,40.041739],[116.927924,40.055024],[116.945171,40.04128],[117.025243,40.030283],[117.051728,40.059605],[117.105315,40.074261],[117.105315,40.074261],[117.140423,40.064185],[117.159517,40.077008],[117.204481,40.069681],[117.210024,40.082045],[117.224191,40.094865],[117.224191,40.094865],[117.254988,40.114548],[117.254988,40.114548],[117.254988,40.114548],[117.274082,40.105852],[117.307343,40.136971],[117.349227,40.136513],[117.367089,40.172649],[117.367089,40.173106],[117.367089,40.173106],[117.367089,40.172649],[117.383719,40.188195],[117.389879,40.227958],[117.351075,40.229786],[117.331365,40.289613],[117.295024,40.2782],[117.271618,40.325211],[117.271618,40.325211],[117.243285,40.369453],[117.226039,40.368997],[117.234046,40.417312],[117.263611,40.442367],[117.208793,40.501552],[117.262995,40.512927],[117.247597,40.539766],[117.269771,40.560684],[117.348611,40.581141],[117.348611,40.581141]]]]}},{type:"Feature",properties:{adcode:12e4,name:"天津市",center:[117.190182,39.125596],centroid:[117.347043,39.288036],childrenNum:16,level:"province",parent:{adcode:1e5},subFeatureIndex:1,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[117.765602,39.400527],[117.846906,39.407926],[117.871543,39.411625],[117.870311,39.455074],[117.899877,39.474479],[117.912195,39.517428],[117.912195,39.517428],[117.904804,39.533585],[117.933753,39.574191],[117.868464,39.59679],[117.829659,39.589873],[117.766834,39.598635],[117.753899,39.579726],[117.753899,39.579726],[117.745276,39.547892],[117.715711,39.529892],[117.707088,39.576036],[117.684914,39.58895],[117.654117,39.575113],[117.637486,39.603246],[117.66274,39.636437],[117.668899,39.666849],[117.627015,39.703693],[117.57774,39.726711],[117.595603,39.74604],[117.56111,39.754782],[117.546327,39.775943],[117.561726,39.799856],[117.529081,39.859144],[117.529081,39.859144],[117.508139,39.901854],[117.508139,39.901854],[117.512451,39.90874],[117.512451,39.90874],[117.513067,39.910576],[117.513067,39.910576],[117.514914,39.946832],[117.534625,39.954631],[117.546327,39.999116],[117.594987,39.994531],[117.594987,39.994531],[117.614697,39.97252],[117.671363,39.973896],[117.691073,39.984902],[117.756363,39.965181],[117.781616,39.966558],[117.781616,39.966558],[117.795167,39.996823],[117.795167,39.996823],[117.793319,40.005534],[117.793319,40.005534],[117.768681,40.022034],[117.768681,40.022034],[117.744044,40.018368],[117.74774,40.047236],[117.776073,40.059605],[117.752667,40.081588],[117.71879,40.082045],[117.71879,40.082045],[117.675059,40.082045],[117.655965,40.109514],[117.655965,40.109514],[117.654117,40.114548],[117.654117,40.114548],[117.651653,40.122786],[117.651653,40.122786],[117.613465,40.158014],[117.613465,40.158014],[117.609769,40.160301],[117.609769,40.160301],[117.576508,40.178593],[117.571581,40.219276],[117.548791,40.232527],[117.505059,40.227044],[117.450241,40.252627],[117.415748,40.248973],[117.389879,40.227958],[117.383719,40.188195],[117.367089,40.172649],[117.367089,40.173106],[117.367089,40.173106],[117.367089,40.172649],[117.349227,40.136513],[117.307343,40.136971],[117.274082,40.105852],[117.254988,40.114548],[117.254988,40.114548],[117.254988,40.114548],[117.224191,40.094865],[117.224191,40.094865],[117.210024,40.082045],[117.192162,40.066475],[117.198322,39.992697],[117.150894,39.944996],[117.162597,39.876598],[117.162597,39.876598],[117.227887,39.852712],[117.247597,39.860981],[117.251908,39.834332],[117.192162,39.832953],[117.156438,39.817326],[117.15767,39.796638],[117.205713,39.763984],[117.161981,39.748801],[117.165061,39.718886],[117.165061,39.718886],[117.177996,39.645194],[117.152742,39.623532],[117.10901,39.625375],[117.10901,39.625375],[117.016004,39.653949],[116.983359,39.638742],[116.983359,39.638742],[116.964265,39.64335],[116.948866,39.680668],[116.948866,39.680668],[116.944555,39.695405],[116.944555,39.695405],[116.932236,39.706456],[116.932236,39.706456],[116.90575,39.688037],[116.906366,39.677444],[116.8497,39.66777],[116.812128,39.615695],[116.808432,39.576497],[116.78749,39.554352],[116.819519,39.528507],[116.820751,39.482332],[116.785026,39.465702],[116.832454,39.435664],[116.876185,39.43474],[116.839845,39.413474],[116.840461,39.378326],[116.818287,39.3737],[116.829374,39.338994],[116.870642,39.357506],[116.889736,39.338068],[116.87249,39.291304],[116.881729,39.225966],[116.881729,39.225966],[116.855859,39.215766],[116.870026,39.153607],[116.909446,39.150822],[116.912526,39.110898],[116.91191,39.111362],[116.91191,39.111362],[116.912526,39.110898],[116.871874,39.054688],[116.812744,39.05097],[116.812744,39.05097],[116.783179,39.05097],[116.783179,39.05097],[116.754229,39.034701],[116.754229,39.034701],[116.754845,39.003084],[116.72836,38.975174],[116.708034,38.931892],[116.722201,38.896968],[116.723432,38.852706],[116.75115,38.831264],[116.737599,38.784629],[116.746222,38.754299],[116.794265,38.744498],[116.794265,38.744498],[116.858939,38.741231],[116.877417,38.680522],[116.948866,38.689398],[116.950714,38.689398],[116.95133,38.689398],[116.950714,38.689398],[116.948866,38.689398],[116.95133,38.689398],[117.038793,38.688464],[117.068358,38.680522],[117.055424,38.639398],[117.070822,38.608072],[117.109626,38.584685],[117.150894,38.617892],[117.183539,38.61836],[117.183539,38.61836],[117.213104,38.639866],[117.213104,38.639866],[117.258684,38.608072],[117.258684,38.608072],[117.238358,38.580943],[117.25314,38.556143],[117.368937,38.564566],[117.432379,38.601524],[117.47919,38.616489],[117.55803,38.613683],[117.639334,38.626776],[117.65658,38.66043],[117.729261,38.680055],[117.740964,38.700141],[117.740964,38.753833],[117.671363,38.772032],[117.646725,38.788827],[117.64611,38.828933],[117.752051,38.847579],[117.778536,38.869016],[117.847522,38.855502],[117.875855,38.920252],[117.898029,38.948649],[117.855529,38.957492],[117.837667,39.057011],[117.871543,39.122506],[117.96455,39.172631],[117.977485,39.206028],[118.032919,39.219939],[118.034767,39.218548],[118.064948,39.231065],[118.064948,39.256094],[118.036615,39.264898],[118.024296,39.289451],[118.024296,39.289451],[117.982412,39.298714],[117.982412,39.298714],[117.979333,39.300566],[117.979333,39.300566],[117.973173,39.312143],[117.973173,39.312143],[117.965782,39.314921],[117.965782,39.314921],[117.919587,39.318162],[117.919587,39.318162],[117.88879,39.332051],[117.854913,39.328348],[117.854297,39.328348],[117.854913,39.328348],[117.854297,39.328348],[117.850601,39.363984],[117.850601,39.363984],[117.810565,39.354729],[117.805022,39.373237],[117.784696,39.376938],[117.74466,39.354729],[117.670747,39.357969],[117.669515,39.322792],[117.594987,39.349176],[117.536472,39.338068],[117.521074,39.357043],[117.570965,39.404689],[117.601146,39.419485],[117.614081,39.407001],[117.668899,39.412087],[117.673211,39.386652],[117.699696,39.407463],[117.765602,39.400527]]],[[[117.805022,39.373237],[117.852449,39.380639],[117.846906,39.407926],[117.765602,39.400527],[117.784696,39.376938],[117.805022,39.373237]]]]}},{type:"Feature",properties:{adcode:13e4,name:"河北省",center:[114.502461,38.045474],childrenNum:11,level:"province",parent:{adcode:1e5},subFeatureIndex:2,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[117.467487,40.649738],[117.412669,40.605226],[117.429915,40.576141],[117.389879,40.561593],[117.348611,40.581141],[117.348611,40.581141],[117.269771,40.560684],[117.247597,40.539766],[117.262995,40.512927],[117.208793,40.501552],[117.263611,40.442367],[117.234046,40.417312],[117.226039,40.368997],[117.243285,40.369453],[117.271618,40.325211],[117.271618,40.325211],[117.295024,40.2782],[117.331365,40.289613],[117.351075,40.229786],[117.389879,40.227958],[117.415748,40.248973],[117.450241,40.252627],[117.505059,40.227044],[117.548791,40.232527],[117.571581,40.219276],[117.576508,40.178593],[117.609769,40.160301],[117.609769,40.160301],[117.613465,40.158014],[117.613465,40.158014],[117.651653,40.122786],[117.651653,40.122786],[117.654117,40.114548],[117.654117,40.114548],[117.655965,40.109514],[117.655965,40.109514],[117.675059,40.082045],[117.71879,40.082045],[117.71879,40.082045],[117.752667,40.081588],[117.776073,40.059605],[117.74774,40.047236],[117.744044,40.018368],[117.768681,40.022034],[117.768681,40.022034],[117.793319,40.005534],[117.793319,40.005534],[117.795167,39.996823],[117.795167,39.996823],[117.781616,39.966558],[117.781616,39.966558],[117.756363,39.965181],[117.691073,39.984902],[117.671363,39.973896],[117.614697,39.97252],[117.594987,39.994531],[117.594987,39.994531],[117.546327,39.999116],[117.534625,39.954631],[117.514914,39.946832],[117.513067,39.910576],[117.513067,39.910576],[117.512451,39.90874],[117.512451,39.90874],[117.508139,39.901854],[117.508139,39.901854],[117.529081,39.859144],[117.529081,39.859144],[117.561726,39.799856],[117.546327,39.775943],[117.56111,39.754782],[117.595603,39.74604],[117.57774,39.726711],[117.627015,39.703693],[117.668899,39.666849],[117.66274,39.636437],[117.637486,39.603246],[117.654117,39.575113],[117.684914,39.58895],[117.707088,39.576036],[117.715711,39.529892],[117.745276,39.547892],[117.753899,39.579726],[117.753899,39.579726],[117.766834,39.598635],[117.829659,39.589873],[117.868464,39.59679],[117.933753,39.574191],[117.904804,39.533585],[117.912195,39.517428],[117.912195,39.517428],[117.899877,39.474479],[117.870311,39.455074],[117.871543,39.411625],[117.846906,39.407926],[117.852449,39.380639],[117.805022,39.373237],[117.810565,39.354729],[117.850601,39.363984],[117.850601,39.363984],[117.854297,39.328348],[117.854913,39.328348],[117.854297,39.328348],[117.854913,39.328348],[117.88879,39.332051],[117.919587,39.318162],[117.919587,39.318162],[117.965782,39.314921],[117.965782,39.314921],[117.973173,39.312143],[117.973173,39.312143],[117.979333,39.300566],[117.979333,39.300566],[117.982412,39.298714],[117.982412,39.298714],[118.024296,39.289451],[118.024296,39.289451],[118.036615,39.264898],[118.064948,39.256094],[118.064948,39.231065],[118.034767,39.218548],[118.026144,39.201854],[118.070492,39.213911],[118.077883,39.201854],[118.12531,39.182838],[118.162883,39.136433],[118.1906,39.080708],[118.225092,39.034701],[118.319331,39.009594],[118.366143,39.016104],[118.377845,38.971917],[118.491178,38.909077],[118.539837,38.910008],[118.604511,38.971452],[118.570634,38.999363],[118.533062,39.090928],[118.588497,39.107648],[118.578642,39.130863],[118.637156,39.157319],[118.76096,39.133648],[118.814546,39.138754],[118.857662,39.162888],[118.897082,39.151286],[118.920488,39.171703],[118.951285,39.178662],[118.896466,39.139683],[118.890307,39.118792],[118.926031,39.123435],[118.97777,39.163352],[119.023966,39.187012],[119.038132,39.211593],[119.096031,39.24219],[119.121284,39.281576],[119.185342,39.342234],[119.272805,39.363521],[119.317153,39.4107],[119.316537,39.437051],[119.269726,39.498497],[119.366428,39.734996],[119.474217,39.813189],[119.536427,39.809052],[119.520413,39.840306],[119.540739,39.888079],[119.588166,39.910576],[119.620195,39.904609],[119.642369,39.925264],[119.681789,39.922511],[119.726137,39.940867],[119.787115,39.950502],[119.820375,39.979399],[119.842549,39.956007],[119.872114,39.960594],[119.854252,39.98857],[119.845629,40.000949],[119.845629,40.000949],[119.854252,40.033033],[119.81668,40.050443],[119.81668,40.050443],[119.787115,40.041739],[119.787115,40.041739],[119.783419,40.046778],[119.783419,40.046778],[119.772332,40.08113],[119.736608,40.104936],[119.760629,40.136056],[119.745847,40.207851],[119.716898,40.195966],[119.671934,40.23938],[119.639289,40.231613],[119.639289,40.231613],[119.651608,40.271808],[119.598021,40.334335],[119.586934,40.375381],[119.604797,40.455119],[119.553674,40.502007],[119.572152,40.523846],[119.559217,40.547952],[119.503783,40.553864],[119.477913,40.533399],[119.429254,40.540221],[119.30237,40.530215],[119.256175,40.543404],[119.22045,40.569322],[119.230921,40.603863],[119.177951,40.609315],[119.162552,40.600228],[119.14469,40.632482],[119.184726,40.680153],[119.165632,40.69286],[119.115125,40.666536],[119.054763,40.664721],[119.028277,40.692406],[119.011031,40.687414],[118.96114,40.72008],[118.950053,40.747743],[118.895234,40.75409],[118.907553,40.775394],[118.878604,40.783098],[118.845959,40.822057],[118.873061,40.847866],[118.90201,40.960946],[118.916792,40.969984],[118.977154,40.959138],[118.977154,40.959138],[119.00056,40.967273],[119.013495,41.007479],[118.951901,41.018317],[118.937118,41.052625],[118.964836,41.079246],[119.037516,41.067516],[119.080632,41.095936],[119.081248,41.131555],[119.126212,41.138767],[119.189038,41.198234],[119.169943,41.222996],[119.204436,41.222546],[119.209364,41.244599],[119.2494,41.279689],[119.239545,41.31431],[119.211827,41.308016],[119.197661,41.282837],[119.168712,41.294978],[119.092951,41.293629],[118.980234,41.305769],[118.949437,41.317906],[118.890923,41.300823],[118.844727,41.342622],[118.843496,41.374516],[118.770199,41.352956],[118.741866,41.324198],[118.677192,41.35026],[118.629765,41.346666],[118.528135,41.355202],[118.412338,41.331838],[118.380309,41.312062],[118.348896,41.342622],[118.361215,41.384844],[118.348896,41.428384],[118.327338,41.450816],[118.271904,41.471446],[118.315636,41.512688],[118.302701,41.55256],[118.215237,41.59554],[118.206614,41.650566],[118.159187,41.67605],[118.155491,41.712694],[118.132702,41.733241],[118.140093,41.784134],[118.178281,41.814917],[118.236179,41.80778],[118.247266,41.773869],[118.29223,41.772976],[118.335346,41.845241],[118.340273,41.87243],[118.268824,41.930336],[118.306396,41.940131],[118.313788,41.98819],[118.291614,42.007759],[118.239875,42.024655],[118.286686,42.033991],[118.296541,42.057545],[118.27252,42.083312],[118.239259,42.092639],[118.212774,42.081091],[118.220165,42.058434],[118.194296,42.031324],[118.116687,42.037102],[118.155491,42.081091],[118.097593,42.105072],[118.089586,42.12283],[118.106216,42.172082],[118.033535,42.199132],[117.977485,42.229716],[117.974405,42.25054],[118.047702,42.280656],[118.060021,42.298364],[118.008898,42.346595],[118.024296,42.385064],[117.997811,42.416884],[117.874007,42.510038],[117.856761,42.539148],[117.797631,42.585431],[117.801326,42.612744],[117.779768,42.61847],[117.708935,42.588515],[117.667051,42.582347],[117.60053,42.603054],[117.537088,42.603054],[117.530313,42.590278],[117.475494,42.602613],[117.435458,42.585431],[117.434226,42.557224],[117.387415,42.517537],[117.387415,42.517537],[117.410205,42.519743],[117.413284,42.471645],[117.390495,42.461933],[117.332596,42.46105],[117.332596,42.46105],[117.275314,42.481797],[117.275314,42.481797],[117.188467,42.468114],[117.188467,42.468114],[117.135496,42.468996],[117.09546,42.484004],[117.080061,42.463699],[117.080061,42.463699],[117.01662,42.456193],[117.01662,42.456193],[117.009228,42.44957],[117.009228,42.44957],[117.005533,42.43367],[117.005533,42.43367],[116.99075,42.425719],[116.99075,42.425719],[116.974736,42.426603],[116.974736,42.426603],[116.97104,42.427486],[116.97104,42.427486],[116.944555,42.415116],[116.944555,42.415116],[116.936547,42.410256],[116.936547,42.410256],[116.921765,42.403628],[116.921765,42.403628],[116.910062,42.395231],[116.910062,42.395231],[116.910678,42.394789],[116.910678,42.394789],[116.886656,42.366496],[116.897743,42.297479],[116.918685,42.229716],[116.903287,42.190708],[116.789338,42.200462],[116.825062,42.155669],[116.850316,42.156556],[116.890352,42.092639],[116.879881,42.018431],[116.796113,41.977958],[116.748686,41.984186],[116.727744,41.951259],[116.66923,41.947698],[116.639049,41.929891],[116.597165,41.935679],[116.553433,41.928555],[116.510933,41.974399],[116.4826,41.975734],[116.453651,41.945917],[116.393289,41.942802],[116.414231,41.982407],[116.373579,42.009983],[116.310137,41.997086],[116.298434,41.96817],[116.223906,41.932562],[116.212819,41.885352],[116.194341,41.861734],[116.122892,41.861734],[116.106877,41.831419],[116.129051,41.805996],[116.09887,41.776547],[116.034196,41.782795],[116.007095,41.79752],[116.007095,41.797966],[116.007095,41.79752],[116.007095,41.797966],[115.994776,41.828743],[115.954124,41.874213],[115.916552,41.945027],[115.85311,41.927665],[115.834632,41.93835],[115.811226,41.912525],[115.726227,41.870202],[115.688038,41.867528],[115.654162,41.829189],[115.57409,41.80555],[115.519887,41.76762],[115.488474,41.760924],[115.42996,41.728775],[115.346808,41.712247],[115.319091,41.691693],[115.360975,41.661297],[115.345576,41.635807],[115.377605,41.603148],[115.310468,41.592854],[115.290142,41.622835],[115.26612,41.616124],[115.256881,41.580768],[115.20391,41.571367],[115.195287,41.602253],[115.0992,41.62373],[115.056085,41.602253],[115.016049,41.615229],[114.860832,41.60091],[114.895325,41.636255],[114.902716,41.695715],[114.89594,41.76762],[114.868839,41.813579],[114.922426,41.825175],[114.939056,41.846132],[114.923658,41.871093],[114.915035,41.960605],[114.9021,42.015763],[114.860832,42.054879],[114.86268,42.097967],[114.825723,42.139695],[114.79431,42.149457],[114.789383,42.130819],[114.75489,42.115727],[114.675434,42.12061],[114.647717,42.109512],[114.560254,42.132595],[114.510978,42.110844],[114.502355,42.06732],[114.480181,42.064654],[114.467863,42.025989],[114.511594,41.981962],[114.478334,41.951704],[114.419203,41.942356],[114.352066,41.953484],[114.343443,41.926774],[114.282465,41.863517],[114.200545,41.789934],[114.215328,41.75646],[114.206704,41.7386],[114.237501,41.698843],[114.215328,41.68499],[114.259059,41.623282],[114.226414,41.616572],[114.221487,41.582111],[114.230726,41.513584],[114.101379,41.537779],[114.032394,41.529715],[113.976959,41.505966],[113.953553,41.483553],[113.933227,41.487139],[113.919677,41.454404],[113.877793,41.431076],[113.871017,41.413126],[113.94493,41.392477],[113.92522,41.325546],[113.899351,41.316108],[113.914749,41.294529],[113.95109,41.282837],[113.971416,41.239649],[113.992357,41.269794],[114.016379,41.231999],[113.996669,41.19238],[113.960945,41.171211],[113.920293,41.172112],[113.877793,41.115777],[113.819279,41.09774],[113.868554,41.06887],[113.973263,40.983087],[113.994821,40.938798],[114.057647,40.925234],[114.041633,40.917546],[114.055183,40.867782],[114.073661,40.857372],[114.044712,40.830661],[114.080437,40.790348],[114.104458,40.797597],[114.103227,40.770861],[114.134639,40.737314],[114.162357,40.71373],[114.183299,40.67153],[114.236269,40.607043],[114.283081,40.590685],[114.273842,40.552954],[114.293552,40.55159],[114.282465,40.494725],[114.267066,40.474242],[114.299711,40.44009],[114.286161,40.425057],[114.31203,40.372645],[114.381015,40.36307],[114.390254,40.351213],[114.438914,40.371733],[114.481413,40.34802],[114.530688,40.345283],[114.510978,40.302851],[114.46971,40.268155],[114.406269,40.246232],[114.362537,40.249886],[114.292936,40.230242],[114.255364,40.236182],[114.235654,40.198252],[114.180219,40.191395],[114.135871,40.175392],[114.097683,40.193681],[114.073046,40.168533],[114.073046,40.168533],[114.101995,40.099901],[114.086596,40.071513],[114.045944,40.056856],[114.018227,40.103563],[113.989278,40.11226],[113.959097,40.033491],[113.910438,40.015618],[114.029314,39.985819],[114.028082,39.959218],[114.047176,39.916085],[114.067502,39.922511],[114.17406,39.897722],[114.212248,39.918839],[114.229494,39.899558],[114.204241,39.885324],[114.215943,39.8619],[114.286776,39.871087],[114.285545,39.858225],[114.395182,39.867412],[114.406885,39.833413],[114.390254,39.819165],[114.41674,39.775943],[114.409964,39.761683],[114.408117,39.652106],[114.431522,39.613851],[114.49558,39.608318],[114.51529,39.564964],[114.568877,39.573729],[114.532536,39.486027],[114.501739,39.476789],[114.496812,39.438437],[114.469095,39.400989],[114.466631,39.329736],[114.430906,39.307513],[114.437066,39.259337],[114.416124,39.242654],[114.47587,39.21623],[114.443841,39.174023],[114.388406,39.176807],[114.360689,39.134112],[114.369928,39.107648],[114.345907,39.075133],[114.252284,39.073739],[114.180835,39.049111],[114.157429,39.061194],[114.10877,39.052364],[114.082901,39.09325],[114.082901,39.09325],[114.064422,39.094179],[114.050872,39.135969],[114.006524,39.122971],[113.994821,39.095572],[113.961561,39.100681],[113.930148,39.063517],[113.898119,39.067699],[113.80696,38.989595],[113.776779,38.986804],[113.76754,38.959819],[113.776163,38.885788],[113.795257,38.860628],[113.855619,38.828933],[113.836525,38.795824],[113.839605,38.7585],[113.802648,38.763166],[113.775547,38.709949],[113.720728,38.713218],[113.70225,38.651551],[113.612939,38.645942],[113.603084,38.587024],[113.561816,38.558483],[113.546417,38.492936],[113.583374,38.459671],[113.537794,38.417952],[113.525475,38.383245],[113.557504,38.343359],[113.54457,38.270569],[113.570439,38.237202],[113.598772,38.22733],[113.64312,38.232031],[113.678844,38.20523],[113.711489,38.213695],[113.720728,38.174656],[113.797105,38.162894],[113.831597,38.16854],[113.811271,38.117707],[113.876561,38.055059],[113.872249,37.990471],[113.901198,37.984811],[113.936307,37.922993],[113.959097,37.906468],[113.976959,37.816696],[114.006524,37.813386],[114.044712,37.761834],[113.996669,37.730128],[113.993589,37.706932],[114.068118,37.721608],[114.12848,37.698409],[114.139567,37.675676],[114.115545,37.619761],[114.118625,37.59084],[114.036705,37.494037],[114.014531,37.42468],[113.973879,37.40329],[113.962792,37.355734],[113.90243,37.310052],[113.886416,37.239095],[113.853155,37.215269],[113.832213,37.167594],[113.773083,37.151855],[113.773699,37.107004],[113.758301,37.075497],[113.788482,37.059739],[113.771851,37.016745],[113.791561,36.98759],[113.76138,36.956034],[113.792793,36.894796],[113.773083,36.85506],[113.731815,36.858891],[113.731815,36.878521],[113.696707,36.882351],[113.676381,36.855539],[113.680692,36.789907],[113.600004,36.752995],[113.549497,36.752515],[113.535946,36.732373],[113.499606,36.740527],[113.465113,36.707908],[113.506997,36.705029],[113.476816,36.655114],[113.486671,36.635427],[113.54457,36.62342],[113.539642,36.594116],[113.569823,36.585947],[113.588917,36.547974],[113.559968,36.528741],[113.554425,36.494589],[113.587069,36.460904],[113.635729,36.451277],[113.670221,36.425278],[113.708409,36.423352],[113.731199,36.363135],[113.755221,36.366026],[113.813119,36.332285],[113.856851,36.329392],[113.84946,36.347711],[113.882104,36.353977],[113.911054,36.314927],[113.962792,36.353977],[113.981887,36.31782],[114.002828,36.334214],[114.056415,36.329392],[114.04348,36.303353],[114.080437,36.269585],[114.129096,36.280199],[114.175907,36.264759],[114.170364,36.245938],[114.170364,36.245938],[114.203009,36.245456],[114.2104,36.272962],[114.241197,36.251247],[114.257827,36.263794],[114.299095,36.245938],[114.345291,36.255591],[114.356378,36.230492],[114.408117,36.224699],[114.417356,36.205868],[114.466015,36.197658],[114.480181,36.177855],[114.533152,36.171575],[114.586739,36.141133],[114.588587,36.118414],[114.640326,36.137266],[114.720398,36.140166],[114.734564,36.15563],[114.771521,36.124699],[114.857752,36.127599],[114.858368,36.144516],[114.912571,36.140649],[114.926737,36.089403],[114.914419,36.052155],[114.998186,36.069572],[115.04623,36.112613],[115.048693,36.161912],[115.06286,36.178338],[115.104744,36.172058],[115.12507,36.209731],[115.1842,36.193312],[115.201446,36.210214],[115.201446,36.210214],[115.202678,36.209248],[115.202678,36.209248],[115.202678,36.208765],[115.202678,36.208765],[115.242098,36.19138],[115.279055,36.13775],[115.30246,36.127599],[115.312931,36.088436],[115.365902,36.099074],[115.376989,36.128083],[115.450902,36.152248],[115.465068,36.170125],[115.483547,36.148865],[115.474923,36.248352],[115.466916,36.258969],[115.466916,36.258969],[115.462605,36.276339],[115.417025,36.292742],[115.423185,36.32216],[115.366518,36.30914],[115.368982,36.342409],[115.340033,36.398307],[115.297533,36.413239],[115.317243,36.454166],[115.291374,36.460423],[115.272895,36.497476],[115.33141,36.550378],[115.355431,36.627262],[115.365902,36.621979],[115.420105,36.686795],[115.451518,36.702151],[115.479851,36.760187],[115.524815,36.763543],[115.683727,36.808117],[115.71206,36.883308],[115.75764,36.902453],[115.79706,36.968945],[115.776734,36.992848],[115.85619,37.060694],[115.888219,37.112254],[115.879596,37.150901],[115.91224,37.177132],[115.909777,37.20669],[115.969523,37.239572],[115.975682,37.337179],[116.024341,37.360015],[116.085935,37.373809],[116.106261,37.368577],[116.169087,37.384271],[116.193109,37.365723],[116.236224,37.361442],[116.2855,37.404241],[116.226369,37.428007],[116.243,37.447965],[116.224522,37.479791],[116.240536,37.489764],[116.240536,37.489764],[116.27626,37.466967],[116.290427,37.484065],[116.278724,37.524895],[116.295355,37.554316],[116.336007,37.581355],[116.36742,37.566177],[116.379738,37.522047],[116.38097,37.522522],[116.379738,37.522047],[116.38097,37.522522],[116.433941,37.473142],[116.448108,37.503059],[116.4826,37.521573],[116.575607,37.610754],[116.604556,37.624975],[116.66307,37.686096],[116.679085,37.728708],[116.724664,37.744327],[116.753613,37.77035],[116.753613,37.793054],[116.804736,37.848837],[116.837997,37.835132],[116.919301,37.846002],[117.027091,37.832296],[117.074518,37.848837],[117.150278,37.839385],[117.185387,37.849783],[117.271618,37.839858],[117.320278,37.861596],[117.400966,37.844584],[117.438538,37.854035],[117.481038,37.914967],[117.513067,37.94329],[117.524154,37.989527],[117.557414,38.046105],[117.557414,38.046105],[117.586979,38.071551],[117.704624,38.076262],[117.746508,38.12524],[117.771145,38.134655],[117.766834,38.158658],[117.789007,38.180772],[117.808718,38.22827],[117.848754,38.255062],[117.895565,38.301572],[117.948536,38.346644],[117.957775,38.376208],[117.937449,38.387936],[117.84629,38.368232],[117.781,38.373862],[117.730493,38.424985],[117.72495,38.457328],[117.678754,38.477008],[117.644878,38.52759],[117.68553,38.539293],[117.638102,38.54491],[117.639334,38.626776],[117.55803,38.613683],[117.47919,38.616489],[117.432379,38.601524],[117.368937,38.564566],[117.25314,38.556143],[117.238358,38.580943],[117.258684,38.608072],[117.258684,38.608072],[117.213104,38.639866],[117.213104,38.639866],[117.183539,38.61836],[117.183539,38.61836],[117.150894,38.617892],[117.109626,38.584685],[117.070822,38.608072],[117.055424,38.639398],[117.068358,38.680522],[117.038793,38.688464],[116.95133,38.689398],[116.948866,38.689398],[116.950714,38.689398],[116.95133,38.689398],[116.950714,38.689398],[116.948866,38.689398],[116.877417,38.680522],[116.858939,38.741231],[116.794265,38.744498],[116.794265,38.744498],[116.746222,38.754299],[116.737599,38.784629],[116.75115,38.831264],[116.723432,38.852706],[116.722201,38.896968],[116.708034,38.931892],[116.72836,38.975174],[116.754845,39.003084],[116.754229,39.034701],[116.754229,39.034701],[116.783179,39.05097],[116.783179,39.05097],[116.812744,39.05097],[116.812744,39.05097],[116.871874,39.054688],[116.912526,39.110898],[116.91191,39.111362],[116.91191,39.111362],[116.912526,39.110898],[116.909446,39.150822],[116.870026,39.153607],[116.855859,39.215766],[116.881729,39.225966],[116.881729,39.225966],[116.87249,39.291304],[116.889736,39.338068],[116.870642,39.357506],[116.829374,39.338994],[116.818287,39.3737],[116.840461,39.378326],[116.839845,39.413474],[116.876185,39.43474],[116.832454,39.435664],[116.785026,39.465702],[116.820751,39.482332],[116.819519,39.528507],[116.78749,39.554352],[116.808432,39.576497],[116.812128,39.615695],[116.79057,39.595868],[116.748686,39.619844],[116.709266,39.618],[116.726512,39.595407],[116.726512,39.595407],[116.724048,39.59264],[116.723432,39.59264],[116.724048,39.59264],[116.723432,39.59264],[116.664918,39.605552],[116.620571,39.601863],[116.592237,39.621227],[116.592237,39.621227],[116.524484,39.596329],[116.50847,39.551122],[116.473361,39.552968],[116.478289,39.535431],[116.437637,39.526661],[116.443796,39.510041],[116.401912,39.528046],[116.411767,39.482794],[116.444412,39.482332],[116.454883,39.453226],[116.434557,39.442597],[116.361876,39.455074],[116.361876,39.455074],[116.337854,39.455536],[116.307057,39.488337],[116.257782,39.500344],[116.240536,39.564041],[116.198652,39.589412],[116.151841,39.583416],[116.130283,39.567732],[116.09887,39.575113],[116.036044,39.571884],[116.026189,39.587567],[115.995392,39.576958],[115.978146,39.595868],[115.957204,39.560812],[115.910393,39.600479],[115.910393,39.600479],[115.91532,39.582955],[115.91532,39.582955],[115.867893,39.546507],[115.867893,39.546507],[115.828473,39.541431],[115.821081,39.522968],[115.821081,39.522968],[115.806299,39.510041],[115.806299,39.510041],[115.752712,39.515581],[115.738545,39.539585],[115.738545,39.540046],[115.738545,39.539585],[115.738545,39.540046],[115.724995,39.5442],[115.724995,39.5442],[115.722531,39.543738],[115.721299,39.543738],[115.722531,39.543738],[115.722531,39.5442],[115.721299,39.543738],[115.722531,39.5442],[115.720683,39.551122],[115.720683,39.551122],[115.718835,39.553891],[115.718835,39.553891],[115.716988,39.56035],[115.716988,39.56035],[115.699125,39.570039],[115.699125,39.570039],[115.698509,39.577881],[115.698509,39.577881],[115.667712,39.615234],[115.633836,39.599557],[115.633836,39.599557],[115.587024,39.589873],[115.545756,39.618922],[115.518039,39.597252],[115.522351,39.640124],[115.478619,39.650723],[115.478619,39.650723],[115.491554,39.670074],[115.486626,39.741899],[115.439815,39.752022],[115.443511,39.785601],[115.483547,39.798477],[115.483547,39.798477],[115.50572,39.784222],[115.552532,39.794799],[115.567314,39.816407],[115.514344,39.837549],[115.526046,39.87568],[115.515575,39.892212],[115.515575,39.892212],[115.522967,39.899099],[115.481083,39.935819],[115.426264,39.950502],[115.428728,39.984443],[115.450286,39.992697],[115.454597,40.029825],[115.485394,40.040364],[115.527278,40.076092],[115.59072,40.096239],[115.599959,40.119583],[115.75456,40.145663],[115.75456,40.145663],[115.773654,40.176307],[115.806299,40.15344],[115.847567,40.147036],[115.855574,40.188652],[115.870356,40.185909],[115.89869,40.234354],[115.968907,40.264045],[115.95166,40.281852],[115.917784,40.354405],[115.864197,40.359422],[115.771806,40.443734],[115.781045,40.49336],[115.736082,40.503372],[115.755176,40.540221],[115.784741,40.55841],[115.819849,40.55932],[115.827857,40.587504],[115.885139,40.595229],[115.907929,40.617493],[115.971986,40.6025],[115.982457,40.578868],[116.005247,40.583868],[116.09887,40.630665],[116.133979,40.666536],[116.162928,40.662451],[116.171551,40.695582],[116.204812,40.740035],[116.22021,40.744115],[116.247311,40.791707],[116.273181,40.762703],[116.311369,40.754996],[116.316912,40.772221],[116.453651,40.765876],[116.46597,40.774487],[116.438253,40.81934],[116.334159,40.90443],[116.339702,40.929303],[116.370499,40.94377],[116.398216,40.90624],[116.477057,40.899907],[116.447492,40.953715],[116.455499,40.980828],[116.519557,40.98128],[116.519557,40.98128],[116.5676,40.992574],[116.598397,40.974503],[116.623034,41.021026],[116.615643,41.053076],[116.647672,41.059394],[116.688324,41.044501],[116.698795,41.021477],[116.677853,40.970888],[116.722201,40.927495],[116.713577,40.909858],[116.759773,40.889954],[116.81336,40.848319],[116.848468,40.839264],[116.924229,40.773581],[116.926692,40.745022],[116.964881,40.709647],[117.012308,40.693767],[117.11209,40.707379],[117.117018,40.70012],[117.208177,40.694675],[117.278394,40.664267],[117.319662,40.657911],[117.342451,40.673799],[117.408973,40.686961],[117.493973,40.675161],[117.514914,40.660181],[117.501364,40.636569],[117.467487,40.649738],[117.467487,40.649738]]],[[[117.210024,40.082045],[117.204481,40.069681],[117.159517,40.077008],[117.140423,40.064185],[117.105315,40.074261],[117.105315,40.074261],[117.051728,40.059605],[117.025243,40.030283],[116.945171,40.04128],[116.927924,40.055024],[116.867562,40.041739],[116.831222,40.051359],[116.820135,40.02845],[116.781331,40.034866],[116.757925,39.967934],[116.782563,39.947749],[116.78441,39.891294],[116.812128,39.889916],[116.865714,39.843982],[116.907598,39.832494],[116.918069,39.84628],[116.949482,39.778703],[116.902055,39.763523],[116.916837,39.731314],[116.887272,39.72533],[116.889736,39.687576],[116.90575,39.688037],[116.932236,39.706456],[116.932236,39.706456],[116.944555,39.695405],[116.944555,39.695405],[116.948866,39.680668],[116.948866,39.680668],[116.964265,39.64335],[116.983359,39.638742],[116.983359,39.638742],[117.016004,39.653949],[117.10901,39.625375],[117.10901,39.625375],[117.152742,39.623532],[117.177996,39.645194],[117.165061,39.718886],[117.165061,39.718886],[117.161981,39.748801],[117.205713,39.763984],[117.15767,39.796638],[117.156438,39.817326],[117.192162,39.832953],[117.251908,39.834332],[117.247597,39.860981],[117.227887,39.852712],[117.162597,39.876598],[117.162597,39.876598],[117.150894,39.944996],[117.198322,39.992697],[117.192162,40.066475],[117.210024,40.082045]]],[[[117.784696,39.376938],[117.765602,39.400527],[117.699696,39.407463],[117.673211,39.386652],[117.668899,39.412087],[117.614081,39.407001],[117.601146,39.419485],[117.570965,39.404689],[117.521074,39.357043],[117.536472,39.338068],[117.594987,39.349176],[117.669515,39.322792],[117.670747,39.357969],[117.74466,39.354729],[117.784696,39.376938]]],[[[118.869365,39.142932],[118.82009,39.108576],[118.857662,39.098824],[118.869365,39.142932]]]]}},{type:"Feature",properties:{adcode:14e4,name:"山西省",center:[112.549248,37.857014],centroid:[112.304436,37.618179],childrenNum:11,level:"province",parent:{adcode:1e5},subFeatureIndex:3,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[110.379257,34.600612],[110.424837,34.588295],[110.488279,34.610956],[110.533242,34.583368],[110.610851,34.607508],[110.710017,34.605045],[110.749437,34.65232],[110.791937,34.649858],[110.824582,34.615881],[110.883712,34.64395],[110.903422,34.669056],[110.920052,34.730068],[110.976103,34.706456],[111.035233,34.740887],[111.118385,34.756623],[111.148566,34.807742],[111.232949,34.789559],[111.255123,34.819535],[111.29208,34.806759],[111.345666,34.831816],[111.389398,34.815113],[111.439289,34.838202],[111.502731,34.829851],[111.543999,34.853428],[111.570484,34.843114],[111.592042,34.881416],[111.617911,34.894671],[111.646861,34.938836],[111.681969,34.9511],[111.664107,34.984449],[111.740483,35.00455],[111.807005,35.032977],[111.810084,35.062374],[111.933272,35.083435],[111.97762,35.067272],[112.018888,35.068742],[112.039214,35.045717],[112.062004,35.056005],[112.05646,35.098615],[112.066315,35.153437],[112.03983,35.194039],[112.078634,35.219467],[112.058924,35.280069],[112.13838,35.271275],[112.21722,35.253195],[112.242474,35.234622],[112.304684,35.251728],[112.288053,35.219956],[112.36751,35.219956],[112.390915,35.239021],[112.513487,35.218489],[112.637291,35.225822],[112.628052,35.263457],[112.720443,35.206265],[112.772798,35.207732],[112.822073,35.258082],[112.884283,35.243909],[112.934174,35.262968],[112.936022,35.284466],[112.992072,35.29619],[112.985913,35.33965],[112.996384,35.362104],[113.067217,35.353806],[113.126347,35.332327],[113.149137,35.350878],[113.165151,35.412845],[113.185477,35.409431],[113.189789,35.44893],[113.243375,35.449418],[113.304353,35.426989],[113.31236,35.481101],[113.348085,35.468429],[113.391817,35.506925],[113.439244,35.507412],[113.49899,35.532254],[113.513773,35.57364],[113.55812,35.621816],[113.547649,35.656835],[113.578446,35.633491],[113.625258,35.632518],[113.622794,35.674825],[113.592613,35.691838],[113.587685,35.736542],[113.604932,35.797727],[113.582758,35.818111],[113.660982,35.837035],[113.637576,35.870019],[113.654207,35.931586],[113.648663,35.994073],[113.678844,35.985841],[113.694859,36.026991],[113.660366,36.034735],[113.68562,36.056026],[113.671453,36.115514],[113.655439,36.125182],[113.712721,36.129533],[113.705946,36.148865],[113.651127,36.174473],[113.697939,36.181719],[113.681924,36.216491],[113.716417,36.262347],[113.712105,36.303353],[113.736127,36.324571],[113.731199,36.363135],[113.708409,36.423352],[113.670221,36.425278],[113.635729,36.451277],[113.587069,36.460904],[113.554425,36.494589],[113.559968,36.528741],[113.588917,36.547974],[113.569823,36.585947],[113.539642,36.594116],[113.54457,36.62342],[113.486671,36.635427],[113.476816,36.655114],[113.506997,36.705029],[113.465113,36.707908],[113.499606,36.740527],[113.535946,36.732373],[113.549497,36.752515],[113.600004,36.752995],[113.680692,36.789907],[113.676381,36.855539],[113.696707,36.882351],[113.731815,36.878521],[113.731815,36.858891],[113.773083,36.85506],[113.792793,36.894796],[113.76138,36.956034],[113.791561,36.98759],[113.771851,37.016745],[113.788482,37.059739],[113.758301,37.075497],[113.773699,37.107004],[113.773083,37.151855],[113.832213,37.167594],[113.853155,37.215269],[113.886416,37.239095],[113.90243,37.310052],[113.962792,37.355734],[113.973879,37.40329],[114.014531,37.42468],[114.036705,37.494037],[114.118625,37.59084],[114.115545,37.619761],[114.139567,37.675676],[114.12848,37.698409],[114.068118,37.721608],[113.993589,37.706932],[113.996669,37.730128],[114.044712,37.761834],[114.006524,37.813386],[113.976959,37.816696],[113.959097,37.906468],[113.936307,37.922993],[113.901198,37.984811],[113.872249,37.990471],[113.876561,38.055059],[113.811271,38.117707],[113.831597,38.16854],[113.797105,38.162894],[113.720728,38.174656],[113.711489,38.213695],[113.678844,38.20523],[113.64312,38.232031],[113.598772,38.22733],[113.570439,38.237202],[113.54457,38.270569],[113.557504,38.343359],[113.525475,38.383245],[113.537794,38.417952],[113.583374,38.459671],[113.546417,38.492936],[113.561816,38.558483],[113.603084,38.587024],[113.612939,38.645942],[113.70225,38.651551],[113.720728,38.713218],[113.775547,38.709949],[113.802648,38.763166],[113.839605,38.7585],[113.836525,38.795824],[113.855619,38.828933],[113.795257,38.860628],[113.776163,38.885788],[113.76754,38.959819],[113.776779,38.986804],[113.80696,38.989595],[113.898119,39.067699],[113.930148,39.063517],[113.961561,39.100681],[113.994821,39.095572],[114.006524,39.122971],[114.050872,39.135969],[114.064422,39.094179],[114.082901,39.09325],[114.082901,39.09325],[114.10877,39.052364],[114.157429,39.061194],[114.180835,39.049111],[114.252284,39.073739],[114.345907,39.075133],[114.369928,39.107648],[114.360689,39.134112],[114.388406,39.176807],[114.443841,39.174023],[114.47587,39.21623],[114.416124,39.242654],[114.437066,39.259337],[114.430906,39.307513],[114.466631,39.329736],[114.469095,39.400989],[114.496812,39.438437],[114.501739,39.476789],[114.532536,39.486027],[114.568877,39.573729],[114.51529,39.564964],[114.49558,39.608318],[114.431522,39.613851],[114.408117,39.652106],[114.409964,39.761683],[114.41674,39.775943],[114.390254,39.819165],[114.406885,39.833413],[114.395182,39.867412],[114.285545,39.858225],[114.286776,39.871087],[114.215943,39.8619],[114.204241,39.885324],[114.229494,39.899558],[114.212248,39.918839],[114.17406,39.897722],[114.067502,39.922511],[114.047176,39.916085],[114.028082,39.959218],[114.029314,39.985819],[113.910438,40.015618],[113.959097,40.033491],[113.989278,40.11226],[114.018227,40.103563],[114.045944,40.056856],[114.086596,40.071513],[114.101995,40.099901],[114.073046,40.168533],[114.073046,40.168533],[114.097683,40.193681],[114.135871,40.175392],[114.180219,40.191395],[114.235654,40.198252],[114.255364,40.236182],[114.292936,40.230242],[114.362537,40.249886],[114.406269,40.246232],[114.46971,40.268155],[114.510978,40.302851],[114.530688,40.345283],[114.481413,40.34802],[114.438914,40.371733],[114.390254,40.351213],[114.381015,40.36307],[114.31203,40.372645],[114.286161,40.425057],[114.299711,40.44009],[114.267066,40.474242],[114.282465,40.494725],[114.293552,40.55159],[114.273842,40.552954],[114.283081,40.590685],[114.236269,40.607043],[114.183299,40.67153],[114.162357,40.71373],[114.134639,40.737314],[114.084748,40.729605],[114.063806,40.706925],[114.07243,40.679246],[114.041633,40.608861],[114.076741,40.575686],[114.080437,40.547952],[114.061959,40.52885],[114.011452,40.515657],[113.948626,40.514747],[113.890112,40.466503],[113.850691,40.460583],[113.794641,40.517932],[113.763228,40.473787],[113.688699,40.448288],[113.559968,40.348476],[113.500222,40.334335],[113.387505,40.319279],[113.316672,40.319736],[113.27602,40.388601],[113.251382,40.413211],[113.083231,40.374925],[113.03334,40.368997],[112.898449,40.329317],[112.848558,40.206937],[112.744464,40.167161],[112.712436,40.178593],[112.6299,40.235725],[112.511639,40.269068],[112.456205,40.300112],[112.418017,40.295091],[112.349031,40.257194],[112.310227,40.256281],[112.299756,40.21105],[112.232619,40.169905],[112.232003,40.133311],[112.183344,40.083877],[112.182112,40.061437],[112.142076,40.027076],[112.133453,40.001866],[112.07617,39.919298],[112.042294,39.886243],[112.012729,39.827438],[111.970229,39.796638],[111.959758,39.692642],[111.925265,39.66731],[111.9382,39.623071],[111.87907,39.606013],[111.842729,39.620305],[111.783599,39.58895],[111.722621,39.606013],[111.659179,39.641507],[111.625303,39.633672],[111.525521,39.662242],[111.497187,39.661781],[111.445448,39.640124],[111.460847,39.606935],[111.441137,39.59679],[111.422043,39.539123],[111.431282,39.508656],[111.372152,39.479099],[111.358601,39.432428],[111.337043,39.420872],[111.171971,39.423183],[111.143022,39.407926],[111.125776,39.366297],[111.159037,39.362596],[111.155341,39.338531],[111.186138,39.35149],[111.179363,39.326959],[111.202152,39.305197],[111.247732,39.302419],[111.213239,39.257021],[111.219399,39.244044],[111.163348,39.152678],[111.173819,39.135041],[111.147334,39.100681],[111.138095,39.064447],[111.094363,39.030053],[111.038313,39.020289],[110.998276,38.998433],[110.980414,38.970056],[111.009979,38.932823],[111.016755,38.889981],[110.995813,38.868084],[111.009363,38.847579],[110.965016,38.755699],[110.915125,38.704345],[110.916357,38.673981],[110.880632,38.626776],[110.898494,38.587024],[110.920052,38.581878],[110.907733,38.521035],[110.870777,38.510265],[110.874473,38.453579],[110.840596,38.439986],[110.796864,38.453579],[110.77777,38.440924],[110.746973,38.366355],[110.701394,38.353215],[110.661358,38.308617],[110.601612,38.308147],[110.57759,38.297345],[110.565887,38.215105],[110.528315,38.211814],[110.509221,38.192061],[110.519692,38.130889],[110.501829,38.097929],[110.507989,38.013107],[110.528315,37.990471],[110.522771,37.955088],[110.59422,37.922049],[110.680452,37.790216],[110.735886,37.77035],[110.750669,37.736281],[110.716792,37.728708],[110.706321,37.705511],[110.775306,37.680886],[110.793169,37.650567],[110.763604,37.639668],[110.771611,37.594634],[110.795017,37.558586],[110.770995,37.538184],[110.759292,37.474567],[110.740198,37.44939],[110.644111,37.435135],[110.630561,37.372858],[110.641648,37.360015],[110.695234,37.34955],[110.678604,37.317668],[110.690307,37.287201],[110.661974,37.281963],[110.651503,37.256722],[110.590525,37.187145],[110.53509,37.138021],[110.535706,37.115118],[110.49567,37.086956],[110.460561,37.044932],[110.417446,37.027257],[110.426685,37.008621],[110.382953,37.022001],[110.381721,37.002408],[110.424221,36.963685],[110.408823,36.892403],[110.376178,36.882351],[110.424221,36.855539],[110.406975,36.824886],[110.423605,36.818179],[110.407591,36.776007],[110.447011,36.737649],[110.438388,36.685835],[110.402663,36.697352],[110.394656,36.676716],[110.426685,36.657514],[110.447627,36.621018],[110.496902,36.582102],[110.488895,36.556628],[110.503677,36.488335],[110.47288,36.453203],[110.489511,36.430094],[110.487047,36.393972],[110.459946,36.327946],[110.474112,36.306729],[110.474112,36.248352],[110.45625,36.22663],[110.447011,36.164328],[110.467953,36.074893],[110.491974,36.034735],[110.49259,35.994073],[110.516612,35.971796],[110.502445,35.947575],[110.516612,35.918501],[110.511684,35.879718],[110.549257,35.877778],[110.550489,35.838005],[110.571431,35.800639],[110.57759,35.701559],[110.609619,35.632031],[110.589293,35.602355],[110.567735,35.539559],[110.531394,35.511309],[110.477808,35.413821],[110.45009,35.327933],[110.374946,35.251728],[110.378642,35.210666],[110.364475,35.197952],[110.373714,35.134351],[110.320743,35.00504],[110.262229,34.944233],[110.230816,34.880925],[110.246831,34.789068],[110.243135,34.725641],[110.229584,34.692679],[110.269004,34.629671],[110.29549,34.610956],[110.379257,34.600612]]]]}},{type:"Feature",properties:{adcode:15e4,name:"内蒙古自治区",center:[111.670801,40.818311],centroid:[114.077429,44.331087],childrenNum:12,level:"province",parent:{adcode:1e5},subFeatureIndex:4,acroutes:[1e5]},geometry:{type:"Polygon",coordinates:[[[97.172903,42.795257],[97.371235,42.457076],[97.500582,42.243894],[97.653335,41.986856],[97.84674,41.656379],[97.613915,41.477276],[97.629314,41.440498],[97.903407,41.168057],[97.971776,41.09774],[98.142391,41.001607],[98.184891,40.988056],[98.25018,40.93925],[98.333332,40.918903],[98.344419,40.568413],[98.627751,40.677884],[98.569853,40.746836],[98.668403,40.773128],[98.689345,40.691952],[98.72199,40.657911],[98.762642,40.639748],[98.802678,40.607043],[98.80699,40.660181],[98.790975,40.705564],[98.984996,40.782644],[99.041662,40.693767],[99.102025,40.676522],[99.12543,40.715091],[99.172858,40.747289],[99.174705,40.858278],[99.565827,40.846961],[99.673,40.93292],[99.985897,40.909858],[100.057346,40.908049],[100.107853,40.875475],[100.224882,40.727337],[100.237201,40.716905],[100.242744,40.618855],[100.169447,40.541131],[100.169447,40.277743],[100.007455,40.20008],[99.955716,40.150695],[99.927383,40.063727],[99.841152,40.013326],[99.751225,40.006909],[99.714268,39.972061],[99.533182,39.891753],[99.491298,39.884406],[99.459885,39.898181],[99.440791,39.885783],[99.469124,39.875221],[99.672384,39.888079],[99.822058,39.860063],[99.904593,39.785601],[99.958796,39.769504],[100.040716,39.757083],[100.128179,39.702312],[100.250135,39.685274],[100.314193,39.606935],[100.301258,39.572345],[100.326512,39.509118],[100.44354,39.485565],[100.500823,39.481408],[100.498975,39.400527],[100.606764,39.387577],[100.707778,39.404689],[100.842053,39.405614],[100.842669,39.199999],[100.864227,39.106719],[100.829118,39.075133],[100.835278,39.025869],[100.875314,39.002619],[100.901799,39.030053],[100.961545,39.005874],[100.969553,38.946788],[101.117378,38.975174],[101.228863,39.020754],[101.198682,38.943064],[101.237486,38.907214],[101.24303,38.860628],[101.33542,38.847113],[101.34158,38.822406],[101.307087,38.80282],[101.331109,38.777164],[101.412413,38.764099],[101.562702,38.713218],[101.601506,38.65529],[101.672955,38.6908],[101.777049,38.66043],[101.873751,38.733761],[101.941505,38.808883],[102.075164,38.891378],[102.045599,38.904885],[101.955055,38.985874],[101.926106,39.000758],[101.833715,39.08907],[101.902701,39.111827],[102.012338,39.127149],[102.050526,39.141075],[102.276576,39.188868],[102.3548,39.231993],[102.45335,39.255167],[102.579002,39.183301],[102.616574,39.171703],[102.883892,39.120649],[103.007696,39.099753],[103.133347,39.192579],[103.188166,39.215302],[103.259615,39.263971],[103.344615,39.331588],[103.428998,39.353341],[103.595302,39.386652],[103.728961,39.430117],[103.85338,39.461543],[103.955626,39.456923],[104.089901,39.419947],[104.073271,39.351953],[104.047401,39.297788],[104.171205,39.160567],[104.207546,39.083495],[104.190915,39.042139],[104.196459,38.9882],[104.173053,38.94446],[104.044322,38.895105],[104.011677,38.85923],[103.85954,38.64454],[103.416063,38.404821],[103.465339,38.353215],[103.507838,38.280905],[103.53494,38.156776],[103.368636,38.08898],[103.362477,38.037621],[103.40744,37.860651],[103.627947,37.797783],[103.683381,37.777919],[103.841062,37.64725],[103.874938,37.604117],[103.935916,37.572818],[104.089285,37.465067],[104.183524,37.406618],[104.237727,37.411847],[104.287002,37.428007],[104.322726,37.44844],[104.407726,37.464592],[104.419429,37.511604],[104.433595,37.515402],[104.623305,37.522522],[104.805007,37.539133],[104.866601,37.566651],[105.027977,37.580881],[105.111128,37.633981],[105.187505,37.657674],[105.221998,37.677097],[105.315004,37.702197],[105.4037,37.710246],[105.467141,37.695094],[105.598952,37.699356],[105.616199,37.722555],[105.622358,37.777919],[105.677177,37.771769],[105.760944,37.799674],[105.80406,37.862068],[105.799749,37.939986],[105.840401,38.004147],[105.780655,38.084741],[105.76772,38.121474],[105.775111,38.186887],[105.802828,38.220277],[105.842248,38.240962],[105.86627,38.296406],[105.821307,38.366824],[105.835473,38.387467],[105.827466,38.432486],[105.850872,38.443736],[105.836705,38.476071],[105.863806,38.53508],[105.856415,38.569714],[105.874277,38.593105],[105.852719,38.641735],[105.894603,38.696405],[105.88598,38.716953],[105.908154,38.737496],[105.909386,38.791159],[105.992538,38.857366],[105.97098,38.909077],[106.021487,38.953769],[106.060907,38.96866],[106.087392,39.006339],[106.078153,39.026333],[106.096631,39.084889],[106.145907,39.153142],[106.170544,39.163352],[106.192718,39.142932],[106.251232,39.131327],[106.285109,39.146181],[106.29558,39.167992],[106.280181,39.262118],[106.402753,39.291767],[106.511774,39.272311],[106.525325,39.308439],[106.556122,39.322329],[106.602318,39.37555],[106.643586,39.357969],[106.683622,39.357506],[106.751375,39.381564],[106.781556,39.371849],[106.806809,39.318625],[106.806193,39.277407],[106.790795,39.241263],[106.795723,39.214375],[106.825288,39.19397],[106.859164,39.107648],[106.878874,39.091392],[106.933693,39.076527],[106.96757,39.054688],[106.971881,39.026333],[106.954019,38.941202],[106.837606,38.847579],[106.756302,38.748699],[106.709491,38.718821],[106.66268,38.601524],[106.647897,38.470917],[106.599854,38.389812],[106.482209,38.319417],[106.555506,38.263521],[106.627571,38.232501],[106.654672,38.22921],[106.737824,38.197706],[106.779092,38.171833],[106.858548,38.156306],[106.942316,38.132302],[107.010069,38.120532],[107.051337,38.122886],[107.071047,38.138892],[107.119091,38.134185],[107.138801,38.161011],[107.19054,38.153953],[107.240431,38.111586],[107.33159,38.086625],[107.3938,38.014993],[107.440611,37.995659],[107.411662,37.948009],[107.448618,37.933378],[107.49235,37.944706],[107.560719,37.893717],[107.65003,37.86443],[107.684523,37.888522],[107.732566,37.84931],[107.842819,37.828987],[107.884703,37.808186],[107.982022,37.787378],[107.993109,37.735335],[108.025753,37.696041],[108.012819,37.66857],[108.025137,37.649619],[108.055318,37.652462],[108.134159,37.622131],[108.193905,37.638246],[108.205608,37.655779],[108.24626,37.665728],[108.293071,37.656726],[108.301078,37.640616],[108.422418,37.648672],[108.485244,37.678044],[108.532671,37.690832],[108.628142,37.651988],[108.699591,37.669518],[108.720533,37.683728],[108.777815,37.683728],[108.791982,37.700303],[108.784591,37.764673],[108.799989,37.784068],[108.791982,37.872934],[108.798141,37.93385],[108.82709,37.989056],[108.797525,38.04799],[108.830786,38.049875],[108.883141,38.01405],[108.893612,37.978207],[108.93488,37.922521],[108.9743,37.931962],[108.982923,37.964053],[109.018648,37.971602],[109.037742,38.021593],[109.06977,38.023008],[109.050676,38.055059],[109.069155,38.091336],[108.964445,38.154894],[108.938575,38.207582],[108.976148,38.245192],[108.961981,38.26493],[109.007561,38.359316],[109.051292,38.385122],[109.054372,38.433892],[109.128901,38.480288],[109.175712,38.518694],[109.196654,38.552867],[109.276726,38.623035],[109.331545,38.597783],[109.367269,38.627711],[109.329081,38.66043],[109.338936,38.701542],[109.404226,38.720689],[109.444262,38.782763],[109.511399,38.833595],[109.549587,38.805618],[109.624116,38.85457],[109.672159,38.928167],[109.685094,38.968195],[109.665384,38.981687],[109.72513,39.018429],[109.762086,39.057476],[109.793499,39.074204],[109.851397,39.122971],[109.890818,39.103932],[109.92223,39.107183],[109.893897,39.141075],[109.961035,39.191651],[109.871723,39.243581],[109.90252,39.271848],[109.962267,39.212056],[110.041107,39.21623],[110.109476,39.249606],[110.217881,39.281113],[110.184005,39.355192],[110.161831,39.387115],[110.136577,39.39174],[110.12549,39.432891],[110.152592,39.45415],[110.243751,39.423645],[110.257917,39.407001],[110.385417,39.310291],[110.429764,39.341308],[110.434692,39.381101],[110.482735,39.360745],[110.524003,39.382952],[110.559728,39.351027],[110.566503,39.320014],[110.596684,39.282966],[110.626249,39.266751],[110.702626,39.273701],[110.731575,39.30705],[110.73835,39.348713],[110.782698,39.38804],[110.869545,39.494341],[110.891103,39.509118],[110.958856,39.519275],[111.017371,39.552045],[111.101138,39.559428],[111.136863,39.587106],[111.154725,39.569116],[111.148566,39.531277],[111.10545,39.497573],[111.10545,39.472631],[111.058639,39.447681],[111.064182,39.400989],[111.098059,39.401914],[111.087588,39.376013],[111.125776,39.366297],[111.143022,39.407926],[111.171971,39.423183],[111.337043,39.420872],[111.358601,39.432428],[111.372152,39.479099],[111.431282,39.508656],[111.422043,39.539123],[111.441137,39.59679],[111.460847,39.606935],[111.445448,39.640124],[111.497187,39.661781],[111.525521,39.662242],[111.625303,39.633672],[111.659179,39.641507],[111.722621,39.606013],[111.783599,39.58895],[111.842729,39.620305],[111.87907,39.606013],[111.9382,39.623071],[111.925265,39.66731],[111.959758,39.692642],[111.970229,39.796638],[112.012729,39.827438],[112.042294,39.886243],[112.07617,39.919298],[112.133453,40.001866],[112.142076,40.027076],[112.182112,40.061437],[112.183344,40.083877],[112.232003,40.133311],[112.232619,40.169905],[112.299756,40.21105],[112.310227,40.256281],[112.349031,40.257194],[112.418017,40.295091],[112.456205,40.300112],[112.511639,40.269068],[112.6299,40.235725],[112.712436,40.178593],[112.744464,40.167161],[112.848558,40.206937],[112.898449,40.329317],[113.03334,40.368997],[113.083231,40.374925],[113.251382,40.413211],[113.27602,40.388601],[113.316672,40.319736],[113.387505,40.319279],[113.500222,40.334335],[113.559968,40.348476],[113.688699,40.448288],[113.763228,40.473787],[113.794641,40.517932],[113.850691,40.460583],[113.890112,40.466503],[113.948626,40.514747],[114.011452,40.515657],[114.061959,40.52885],[114.080437,40.547952],[114.076741,40.575686],[114.041633,40.608861],[114.07243,40.679246],[114.063806,40.706925],[114.084748,40.729605],[114.134639,40.737314],[114.103227,40.770861],[114.104458,40.797597],[114.080437,40.790348],[114.044712,40.830661],[114.073661,40.857372],[114.055183,40.867782],[114.041633,40.917546],[114.057647,40.925234],[113.994821,40.938798],[113.973263,40.983087],[113.868554,41.06887],[113.819279,41.09774],[113.877793,41.115777],[113.920293,41.172112],[113.960945,41.171211],[113.996669,41.19238],[114.016379,41.231999],[113.992357,41.269794],[113.971416,41.239649],[113.95109,41.282837],[113.914749,41.294529],[113.899351,41.316108],[113.92522,41.325546],[113.94493,41.392477],[113.871017,41.413126],[113.877793,41.431076],[113.919677,41.454404],[113.933227,41.487139],[113.953553,41.483553],[113.976959,41.505966],[114.032394,41.529715],[114.101379,41.537779],[114.230726,41.513584],[114.221487,41.582111],[114.226414,41.616572],[114.259059,41.623282],[114.215328,41.68499],[114.237501,41.698843],[114.206704,41.7386],[114.215328,41.75646],[114.200545,41.789934],[114.282465,41.863517],[114.343443,41.926774],[114.352066,41.953484],[114.419203,41.942356],[114.478334,41.951704],[114.511594,41.981962],[114.467863,42.025989],[114.480181,42.064654],[114.502355,42.06732],[114.510978,42.110844],[114.560254,42.132595],[114.647717,42.109512],[114.675434,42.12061],[114.75489,42.115727],[114.789383,42.130819],[114.79431,42.149457],[114.825723,42.139695],[114.86268,42.097967],[114.860832,42.054879],[114.9021,42.015763],[114.915035,41.960605],[114.923658,41.871093],[114.939056,41.846132],[114.922426,41.825175],[114.868839,41.813579],[114.89594,41.76762],[114.902716,41.695715],[114.895325,41.636255],[114.860832,41.60091],[115.016049,41.615229],[115.056085,41.602253],[115.0992,41.62373],[115.195287,41.602253],[115.20391,41.571367],[115.256881,41.580768],[115.26612,41.616124],[115.290142,41.622835],[115.310468,41.592854],[115.377605,41.603148],[115.345576,41.635807],[115.360975,41.661297],[115.319091,41.691693],[115.346808,41.712247],[115.42996,41.728775],[115.488474,41.760924],[115.519887,41.76762],[115.57409,41.80555],[115.654162,41.829189],[115.688038,41.867528],[115.726227,41.870202],[115.811226,41.912525],[115.834632,41.93835],[115.85311,41.927665],[115.916552,41.945027],[115.954124,41.874213],[115.994776,41.828743],[116.007095,41.797966],[116.007095,41.79752],[116.034196,41.782795],[116.09887,41.776547],[116.129051,41.805996],[116.106877,41.831419],[116.122892,41.861734],[116.194341,41.861734],[116.212819,41.885352],[116.223906,41.932562],[116.298434,41.96817],[116.310137,41.997086],[116.373579,42.009983],[116.414231,41.982407],[116.393289,41.942802],[116.453651,41.945917],[116.4826,41.975734],[116.510933,41.974399],[116.553433,41.928555],[116.597165,41.935679],[116.639049,41.929891],[116.66923,41.947698],[116.727744,41.951259],[116.748686,41.984186],[116.796113,41.977958],[116.879881,42.018431],[116.890352,42.092639],[116.850316,42.156556],[116.825062,42.155669],[116.789338,42.200462],[116.903287,42.190708],[116.918685,42.229716],[116.897743,42.297479],[116.886656,42.366496],[116.910678,42.394789],[116.910062,42.395231],[116.921765,42.403628],[116.936547,42.410256],[116.944555,42.415116],[116.97104,42.427486],[116.974736,42.426603],[116.99075,42.425719],[117.005533,42.43367],[117.009228,42.44957],[117.01662,42.456193],[117.080061,42.463699],[117.09546,42.484004],[117.135496,42.468996],[117.188467,42.468114],[117.275314,42.481797],[117.332596,42.46105],[117.390495,42.461933],[117.413284,42.471645],[117.410205,42.519743],[117.387415,42.517537],[117.434226,42.557224],[117.435458,42.585431],[117.475494,42.602613],[117.530313,42.590278],[117.537088,42.603054],[117.60053,42.603054],[117.667051,42.582347],[117.708935,42.588515],[117.779768,42.61847],[117.801326,42.612744],[117.797631,42.585431],[117.856761,42.539148],[117.874007,42.510038],[117.997811,42.416884],[118.024296,42.385064],[118.008898,42.346595],[118.060021,42.298364],[118.047702,42.280656],[117.974405,42.25054],[117.977485,42.229716],[118.033535,42.199132],[118.106216,42.172082],[118.089586,42.12283],[118.097593,42.105072],[118.155491,42.081091],[118.116687,42.037102],[118.194296,42.031324],[118.220165,42.058434],[118.212774,42.081091],[118.239259,42.092639],[118.27252,42.083312],[118.296541,42.057545],[118.286686,42.033991],[118.239875,42.024655],[118.291614,42.007759],[118.313788,41.98819],[118.306396,41.940131],[118.268824,41.930336],[118.340273,41.87243],[118.335346,41.845241],[118.29223,41.772976],[118.247266,41.773869],[118.236179,41.80778],[118.178281,41.814917],[118.140093,41.784134],[118.132702,41.733241],[118.155491,41.712694],[118.159187,41.67605],[118.206614,41.650566],[118.215237,41.59554],[118.302701,41.55256],[118.315636,41.512688],[118.271904,41.471446],[118.327338,41.450816],[118.348896,41.428384],[118.361215,41.384844],[118.348896,41.342622],[118.380309,41.312062],[118.412338,41.331838],[118.528135,41.355202],[118.629765,41.346666],[118.677192,41.35026],[118.741866,41.324198],[118.770199,41.352956],[118.843496,41.374516],[118.844727,41.342622],[118.890923,41.300823],[118.949437,41.317906],[118.980234,41.305769],[119.092951,41.293629],[119.168712,41.294978],[119.197661,41.282837],[119.211827,41.308016],[119.239545,41.31431],[119.296211,41.325097],[119.330704,41.385293],[119.309762,41.405944],[119.376283,41.422102],[119.378131,41.459787],[119.401537,41.472343],[119.406464,41.503276],[119.361501,41.545841],[119.362116,41.566442],[119.420015,41.567785],[119.415703,41.590169],[119.342406,41.617914],[119.307914,41.657273],[119.299907,41.705545],[119.319001,41.727435],[119.317769,41.764049],[119.292515,41.790827],[119.312841,41.80555],[119.334399,41.871539],[119.323312,41.889807],[119.340559,41.926774],[119.323928,41.937014],[119.324544,41.969505],[119.375667,42.023322],[119.384906,42.08953],[119.352261,42.118391],[119.314689,42.119723],[119.30853,42.147239],[119.286972,42.154781],[119.277733,42.185387],[119.237697,42.200905],[119.274037,42.239021],[119.280197,42.260728],[119.34795,42.300578],[119.432949,42.317396],[119.482841,42.347037],[119.502551,42.388159],[119.540123,42.363401],[119.572152,42.359421],[119.571536,42.335536],[119.539507,42.297922],[119.557985,42.289068],[119.609108,42.276671],[119.617115,42.252755],[119.679941,42.240793],[119.744615,42.211545],[119.841933,42.215534],[119.854868,42.170308],[119.837622,42.135257],[119.845629,42.097079],[119.87581,42.077982],[119.897368,42.030879],[119.921389,42.014429],[119.924469,41.98908],[119.950954,41.974399],[119.954034,41.923212],[119.989759,41.899163],[120.023019,41.816701],[120.041498,41.818932],[120.050737,41.776101],[120.024867,41.737707],[120.035954,41.708226],[120.096316,41.697056],[120.1382,41.729221],[120.127113,41.77253],[120.183164,41.826513],[120.188707,41.848361],[120.215808,41.853265],[120.251533,41.884016],[120.286641,41.880005],[120.290337,41.897381],[120.260156,41.904062],[120.271859,41.925439],[120.318054,41.93746],[120.309431,41.951704],[120.373489,41.994862],[120.399358,41.984631],[120.456641,42.016208],[120.450481,42.057101],[120.493597,42.073539],[120.466496,42.105516],[120.56751,42.152119],[120.58414,42.167203],[120.624792,42.154338],[120.72211,42.203565],[120.745516,42.223512],[120.79048,42.218636],[120.820661,42.227943],[120.8299,42.252755],[120.883487,42.242565],[120.883487,42.269585],[120.933994,42.27977],[120.992508,42.264714],[121.028848,42.242565],[121.070732,42.254083],[121.087978,42.278885],[121.120623,42.280656],[121.133558,42.300135],[121.184681,42.333324],[121.218558,42.371802],[121.285079,42.387717],[121.314644,42.42837],[121.304789,42.435879],[121.386093,42.474294],[121.434752,42.475176],[121.4791,42.49636],[121.506201,42.482239],[121.570875,42.487093],[121.607831,42.516214],[121.604136,42.495037],[121.66573,42.437204],[121.69899,42.438529],[121.747649,42.484887],[121.803084,42.514891],[121.817867,42.504303],[121.831417,42.533856],[121.844352,42.522389],[121.889931,42.556784],[121.921344,42.605697],[121.915801,42.656332],[121.94167,42.666014],[121.939207,42.688453],[122.018663,42.69901],[122.062394,42.723635],[122.072865,42.710444],[122.160945,42.684934],[122.204676,42.685374],[122.204676,42.732867],[122.261343,42.695931],[122.324785,42.684934],[122.338951,42.669975],[122.396234,42.684054],[122.396234,42.707366],[122.460907,42.755282],[122.439349,42.770221],[122.371596,42.776371],[122.35127,42.830378],[122.436886,42.843105],[122.556378,42.827745],[122.576088,42.819405],[122.580399,42.789987],[122.624747,42.773296],[122.653696,42.78252],[122.733152,42.786034],[122.73808,42.77066],[122.786123,42.757479],[122.848949,42.712203],[122.883442,42.751766],[122.887137,42.770221],[122.925941,42.772417],[122.945651,42.753524],[122.980144,42.777689],[123.058368,42.768903],[123.118114,42.801405],[123.227752,42.831695],[123.169853,42.859777],[123.188947,42.895739],[123.18402,42.925983],[123.259165,42.993431],[123.323222,43.000872],[123.434707,43.027565],[123.474743,43.042438],[123.536337,43.007],[123.572678,43.003498],[123.580685,43.036314],[123.631192,43.088346],[123.636119,43.141644],[123.666916,43.179623],[123.645974,43.208855],[123.676771,43.223684],[123.664453,43.264663],[123.698329,43.272071],[123.703873,43.37047],[123.608402,43.366119],[123.54496,43.415262],[123.519707,43.402219],[123.486446,43.44525],[123.442098,43.437863],[123.419925,43.410046],[123.382968,43.469143],[123.36449,43.483475],[123.315831,43.492159],[123.329998,43.519071],[123.304744,43.550742],[123.360179,43.567223],[123.452569,43.545971],[123.461193,43.568523],[123.434091,43.575461],[123.421157,43.598435],[123.5117,43.592801],[123.510468,43.624867],[123.536953,43.633964],[123.518475,43.682024],[123.520323,43.708419],[123.48275,43.737396],[123.498149,43.771114],[123.461809,43.822518],[123.467968,43.853599],[123.397135,43.954929],[123.37065,43.970006],[123.400831,43.979481],[123.365722,44.013922],[123.331229,44.028984],[123.32815,44.084035],[123.350939,44.092633],[123.362642,44.133452],[123.386664,44.161794],[123.323838,44.179823],[123.286882,44.211574],[123.277027,44.25274],[123.196955,44.34483],[123.128585,44.367081],[123.114419,44.40258],[123.142136,44.428228],[123.125506,44.455147],[123.137209,44.486322],[123.12489,44.5098],[123.06576,44.505959],[123.025108,44.493153],[122.85634,44.398304],[122.76087,44.369648],[122.702971,44.319145],[122.675254,44.285738],[122.641993,44.283595],[122.515726,44.251025],[122.483081,44.236877],[122.319241,44.233018],[122.271198,44.255741],[122.291524,44.310152],[122.294604,44.41113],[122.28598,44.477783],[122.228082,44.480345],[122.224386,44.526016],[122.196053,44.559712],[122.13138,44.577619],[122.113517,44.615546],[122.103046,44.67388],[122.117213,44.701961],[122.161561,44.728328],[122.152322,44.744057],[122.10243,44.736406],[122.110438,44.767856],[122.142467,44.753833],[122.168952,44.770405],[122.099967,44.7823],[122.098119,44.81882],[122.04946,44.912985],[122.079025,44.914256],[122.087032,44.95281],[122.074713,45.006573],[122.098735,45.02138],[122.119677,45.068739],[122.109822,45.142236],[122.143082,45.183167],[122.192358,45.180636],[122.22993,45.206784],[122.239169,45.276313],[122.147394,45.295682],[122.146778,45.374352],[122.180039,45.409655],[122.168336,45.439897],[122.064242,45.472641],[122.002648,45.507882],[121.993409,45.552741],[121.966308,45.596308],[121.995873,45.59882],[122.003264,45.623102],[121.970004,45.692956],[121.934279,45.71051],[121.867142,45.719703],[121.812323,45.704659],[121.811091,45.687103],[121.713773,45.701734],[121.666345,45.727641],[121.644172,45.752284],[121.657106,45.770238],[121.697142,45.76314],[121.754425,45.794862],[121.766744,45.830318],[121.769823,45.84366],[121.817251,45.875336],[121.805548,45.900746],[121.821562,45.918235],[121.809243,45.961102],[121.761816,45.998947],[121.819098,46.023054],[121.843736,46.024301],[121.864062,46.002272],[121.923808,46.004767],[121.92812,45.988552],[122.040221,45.959022],[122.085184,45.912406],[122.091344,45.882002],[122.200981,45.857],[122.236705,45.831569],[122.253952,45.7982],[122.301379,45.813218],[122.337719,45.859917],[122.372828,45.856166],[122.362357,45.917403],[122.446125,45.916986],[122.496016,45.85825],[122.504639,45.786933],[122.522501,45.786933],[122.556378,45.82156],[122.603189,45.778169],[122.640761,45.771072],[122.650001,45.731401],[122.671558,45.70048],[122.741775,45.705077],[122.751015,45.735996],[122.792283,45.766063],[122.752246,45.834905],[122.772572,45.856583],[122.80029,45.856583],[122.828623,45.912406],[122.792898,46.073313],[123.04605,46.099878],[123.070071,46.123527],[123.112571,46.130163],[123.102716,46.172037],[123.127354,46.174523],[123.128585,46.210565],[123.178476,46.248239],[123.142136,46.298293],[123.089781,46.347888],[123.011557,46.434984],[123.010325,46.524823],[123.002318,46.574624],[123.052825,46.579972],[123.04605,46.617803],[123.077462,46.622324],[123.098404,46.603002],[123.18094,46.614103],[123.228368,46.588198],[123.279491,46.616981],[123.276411,46.660947],[123.318295,46.662179],[123.366338,46.677784],[123.474743,46.686817],[123.603475,46.68928],[123.631808,46.728675],[123.629344,46.813524],[123.580069,46.827447],[123.625648,46.847508],[123.599163,46.868378],[123.605322,46.891286],[123.576989,46.891286],[123.575757,46.845461],[123.562823,46.82581],[123.506772,46.827038],[123.483366,46.84587],[123.52833,46.944836],[123.487678,46.959951],[123.42362,46.934212],[123.337389,46.988943],[123.301664,46.999965],[123.304128,46.964852],[123.360179,46.970978],[123.404526,46.935438],[123.40699,46.906416],[123.374345,46.837683],[123.341084,46.826628],[123.295505,46.865105],[123.221592,46.850373],[123.22344,46.821305],[123.198802,46.803283],[123.163694,46.74016],[123.103332,46.734828],[123.076846,46.745082],[123.026339,46.718829],[123.00355,46.730726],[122.996774,46.761483],[122.906847,46.80738],[122.893913,46.895376],[122.895144,46.960359],[122.83971,46.937072],[122.791051,46.941567],[122.798442,46.9575],[122.77442,46.973837],[122.778116,47.002822],[122.845869,47.046881],[122.852645,47.072158],[122.821232,47.065636],[122.710363,47.093349],[122.679566,47.094164],[122.615508,47.124306],[122.582863,47.158092],[122.531124,47.198771],[122.498479,47.255262],[122.462755,47.27841],[122.441197,47.310476],[122.418407,47.350632],[122.507103,47.401291],[122.543443,47.495589],[122.59395,47.54732],[122.765181,47.614333],[122.848949,47.67441],[122.926557,47.697777],[123.041122,47.746492],[123.161846,47.781892],[123.214201,47.824502],[123.256085,47.876711],[123.300432,47.953723],[123.537569,48.021816],[123.579453,48.045427],[123.705105,48.152142],[123.746373,48.197638],[123.862785,48.271782],[124.019234,48.39313],[124.07898,48.43603],[124.136878,48.463023],[124.25945,48.536385],[124.314269,48.503881],[124.302566,48.456673],[124.330283,48.435633],[124.309957,48.413393],[124.331515,48.380015],[124.317964,48.35099],[124.353689,48.315978],[124.365392,48.283731],[124.422058,48.245884],[124.412819,48.219175],[124.418978,48.181679],[124.475029,48.173698],[124.471333,48.133373],[124.430065,48.12099],[124.415899,48.08782],[124.46579,48.098213],[124.478108,48.123387],[124.505826,48.124985],[124.529847,48.146951],[124.512601,48.164518],[124.547094,48.200829],[124.579122,48.262221],[124.558796,48.268197],[124.579738,48.297269],[124.540934,48.335476],[124.547094,48.35775],[124.51876,48.378027],[124.52492,48.426897],[124.507674,48.445558],[124.555717,48.467784],[124.533543,48.515379],[124.548941,48.535593],[124.520608,48.556195],[124.579122,48.596582],[124.601912,48.632587],[124.624702,48.701755],[124.612383,48.747945],[124.656115,48.783842],[124.644412,48.80789],[124.654267,48.83429],[124.697383,48.841775],[124.715861,48.885475],[124.709086,48.920487],[124.744194,48.920487],[124.756513,48.967262],[124.808252,49.020666],[124.828578,49.077933],[124.809484,49.115943],[124.847672,49.129651],[124.860607,49.166448],[124.906802,49.184054],[124.983179,49.162535],[125.039845,49.17623],[125.034302,49.157056],[125.117453,49.126127],[125.158721,49.144921],[125.187671,49.186792],[125.219699,49.189139],[125.227707,49.248947],[125.214772,49.277066],[125.261583,49.322336],[125.256656,49.359769],[125.277598,49.379644],[125.25604,49.395227],[125.256656,49.437275],[125.270822,49.454395],[125.228323,49.487063],[125.211076,49.539908],[125.233866,49.536801],[125.23017,49.595411],[125.205533,49.593859],[125.16796,49.629923],[125.15441,49.616741],[125.127308,49.655113],[125.132236,49.672157],[125.164881,49.669446],[125.189518,49.652401],[125.185207,49.634574],[125.219699,49.669058],[125.225243,49.726349],[125.204301,49.734086],[125.221547,49.754969],[125.222779,49.799026],[125.177815,49.829533],[125.239409,49.844587],[125.225243,49.867351],[125.245569,49.87198],[125.212924,49.907452],[125.225859,49.922481],[125.199373,49.935194],[125.190134,49.959841],[125.231402,49.957531],[125.241873,49.987938],[125.278214,49.996402],[125.297924,50.014481],[125.283757,50.036012],[125.25296,50.041393],[125.289916,50.057917],[125.315786,50.04562],[125.328105,50.065985],[125.283757,50.070211],[125.287453,50.093636],[125.258504,50.103618],[125.27883,50.127411],[125.311474,50.140453],[125.376148,50.137385],[125.335496,50.161161],[125.382923,50.172278],[125.39093,50.199868],[125.417416,50.195654],[125.448829,50.216338],[125.442053,50.260357],[125.466075,50.266861],[125.463611,50.295925],[125.530749,50.331085],[125.520278,50.3498],[125.546763,50.358965],[125.522126,50.404759],[125.536292,50.420014],[125.567089,50.402852],[125.583104,50.409717],[125.562162,50.438314],[125.580024,50.449366],[125.627451,50.443268],[125.654553,50.471082],[125.699516,50.487078],[125.740784,50.523237],[125.754335,50.506874],[125.770349,50.531227],[125.794987,50.532748],[125.829479,50.56165],[125.807921,50.60383],[125.814697,50.62092],[125.793139,50.643316],[125.804226,50.658874],[125.789443,50.679735],[125.825784,50.70362],[125.78082,50.725598],[125.795603,50.738856],[125.758646,50.746809],[125.804226,50.773309],[125.828863,50.756654],[125.846726,50.769524],[125.836255,50.793363],[125.890457,50.805845],[125.878138,50.816812],[125.913247,50.825885],[125.939732,50.85423],[125.961906,50.901054],[125.997631,50.872738],[125.996399,50.906715],[126.02042,50.927466],[126.042594,50.92558],[126.068464,50.967434],[126.041978,50.981753],[126.033971,51.011132],[126.059225,51.043503],[125.976073,51.084498],[125.993935,51.119072],[125.970529,51.123955],[125.946508,51.108176],[125.909551,51.138977],[125.864588,51.146487],[125.850421,51.21364],[125.819008,51.227134],[125.761726,51.226385],[125.76111,51.261976],[125.740784,51.27583],[125.700132,51.327465],[125.626219,51.380163],[125.623756,51.387633],[125.62314,51.398089],[125.600966,51.410409],[125.60035,51.413396],[125.595422,51.416755],[125.559082,51.461521],[125.528285,51.488359],[125.424807,51.562827],[125.38046,51.585516],[125.35151,51.623801],[125.316402,51.610052],[125.289301,51.633831],[125.228938,51.640517],[125.214772,51.627888],[125.175968,51.639403],[125.130388,51.635317],[125.12854,51.659083],[125.098975,51.658341],[125.060171,51.59667],[125.073106,51.553526],[125.047236,51.529704],[125.004737,51.529332],[124.983795,51.508478],[124.928976,51.498419],[124.917889,51.474196],[124.942527,51.447349],[124.885244,51.40817],[124.864302,51.37979],[124.783614,51.392115],[124.76452,51.38726],[124.752817,51.35812],[124.693687,51.3327],[124.62655,51.327465],[124.58713,51.363725],[124.555717,51.375307],[124.490427,51.380537],[124.478108,51.36223],[124.443616,51.35812],[124.426985,51.331953],[124.430065,51.301281],[124.406659,51.272086],[124.339522,51.293422],[124.297638,51.298661],[124.271769,51.308389],[124.239124,51.344664],[124.192313,51.33943],[124.128255,51.347281],[124.090067,51.3413],[124.071588,51.320734],[123.994596,51.322604],[123.939777,51.313253],[123.926227,51.300532],[123.887423,51.320734],[123.842459,51.367462],[123.794416,51.361109],[123.711264,51.398089],[123.660141,51.342795],[123.661989,51.319237],[123.582533,51.306893],[123.582533,51.294545],[123.46304,51.286686],[123.440251,51.270963],[123.414381,51.278825],[123.376809,51.266844],[123.339853,51.27246],[123.294273,51.254111],[123.231447,51.268716],[123.231447,51.279199],[123.127969,51.297913],[123.069455,51.321108],[123.002934,51.31213],[122.965977,51.345786],[122.965977,51.386886],[122.946267,51.405183],[122.903768,51.415262],[122.900072,51.445112],[122.871123,51.455181],[122.854492,51.477551],[122.880362,51.511085],[122.858804,51.524864],[122.880362,51.537894],[122.874202,51.561339],[122.832935,51.581797],[122.85634,51.606707],[122.820616,51.633088],[122.816304,51.655371],[122.778732,51.698048],[122.749167,51.746613],[122.771957,51.779579],[122.732536,51.832495],[122.725761,51.87833],[122.706051,51.890151],[122.729457,51.919321],[122.726377,51.978709],[122.683877,51.974654],[122.664783,51.99861],[122.650616,52.058997],[122.625363,52.067459],[122.643841,52.111585],[122.629059,52.13657],[122.690653,52.140243],[122.73808,52.153464],[122.769493,52.179893],[122.766413,52.232705],[122.787355,52.252494],[122.76087,52.26678],[122.710979,52.256157],[122.67895,52.276667],[122.585943,52.266413],[122.560689,52.282526],[122.478153,52.29607],[122.484313,52.341432],[122.447356,52.394052],[122.419023,52.375057],[122.378987,52.395512],[122.367284,52.413768],[122.342031,52.414133],[122.326016,52.459374],[122.310618,52.475416],[122.207756,52.469218],[122.178191,52.48963],[122.168952,52.513674],[122.140003,52.510032],[122.142467,52.495096],[122.107358,52.452445],[122.080873,52.440407],[122.091344,52.427272],[122.040837,52.413038],[122.035909,52.377615],[121.976779,52.343626],[121.94783,52.298266],[121.901018,52.280695],[121.841272,52.282526],[121.769207,52.308147],[121.714389,52.318025],[121.715621,52.342894],[121.658338,52.3904],[121.678664,52.419973],[121.63986,52.44442],[121.590585,52.443326],[121.565331,52.460468],[121.519136,52.456821],[121.495114,52.484892],[121.474172,52.482706],[121.416274,52.499468],[121.411963,52.52205],[121.353448,52.534793],[121.323883,52.573727],[121.280151,52.586819],[121.225333,52.577364],[121.182217,52.59918],[121.237036,52.619167],[121.29247,52.651855],[121.309717,52.676173],[121.373158,52.683067],[121.455078,52.73528],[121.476636,52.772225],[121.511129,52.779104],[121.537614,52.801542],[121.591201,52.824693],[121.620766,52.853251],[121.604136,52.872401],[121.610295,52.892264],[121.66265,52.912478],[121.677432,52.948192],[121.715621,52.997926],[121.785838,53.018451],[121.817867,53.061631],[121.775367,53.089674],[121.784606,53.104408],[121.753193,53.147501],[121.722396,53.145706],[121.665114,53.170467],[121.660186,53.195213],[121.67928,53.199515],[121.679896,53.240722],[121.642324,53.262564],[121.615222,53.258984],[121.575802,53.29155],[121.504969,53.323018],[121.499426,53.337314],[121.416274,53.319443],[121.336818,53.325877],[121.308485,53.301565],[121.227797,53.280459],[121.155732,53.285468],[121.129246,53.277238],[121.098449,53.306929],[121.055334,53.29155],[120.950624,53.29763],[120.936457,53.28833],[120.882871,53.294411],[120.867472,53.278669],[120.820661,53.269007],[120.838523,53.239648],[120.821893,53.241797],[120.736277,53.204892],[120.690698,53.174771],[120.687002,53.142476],[120.659901,53.137091],[120.643886,53.106923],[120.562582,53.082845],[120.529321,53.045803],[120.452945,53.01017],[120.411061,52.957927],[120.363018,52.94134],[120.350699,52.906343],[120.295265,52.891542],[120.297112,52.869872],[120.222584,52.84277],[120.181316,52.806969],[120.14128,52.813119],[120.101244,52.788877],[120.031642,52.773674],[120.071063,52.70628],[120.035338,52.646409],[120.049505,52.598453],[120.07599,52.586092],[120.125265,52.586819],[120.194866,52.578819],[120.289721,52.623527],[120.396895,52.616261],[120.462184,52.64532],[120.483742,52.630066],[120.56135,52.595544],[120.605082,52.589364],[120.62664,52.570818],[120.658669,52.56718],[120.690698,52.547532],[120.734429,52.536977],[120.687002,52.511489],[120.706712,52.492909],[120.68269,52.464479],[120.688234,52.427637],[120.64943,52.3904],[120.653741,52.371038],[120.62356,52.361172],[120.627256,52.323878],[120.653741,52.302658],[120.695625,52.290214],[120.715951,52.261286],[120.755371,52.258355],[120.745516,52.20594],[120.786784,52.15787],[120.760299,52.136937],[120.76769,52.10938],[120.753523,52.085483],[120.717183,52.072978],[120.690698,52.047221],[120.691929,52.026973],[120.717799,52.015556],[120.704864,51.983501],[120.66298,51.958061],[120.656821,51.926333],[120.548416,51.907877],[120.549032,51.882394],[120.481278,51.885719],[120.480046,51.855049],[120.40059,51.833605],[120.40675,51.81659],[120.363634,51.789945],[120.317438,51.785873],[120.294649,51.752171],[120.226279,51.717703],[120.172693,51.679868],[120.087077,51.678013],[120.100628,51.649058],[120.05936,51.634203],[120.035954,51.583657],[120.052584,51.560967],[120.017476,51.52114],[119.985447,51.505125],[119.982367,51.482396],[120.002693,51.459283],[119.982983,51.445112],[119.97128,51.40033],[119.910918,51.390994],[119.914614,51.374187],[119.946643,51.360736],[119.883817,51.336813],[119.885049,51.302777],[119.811136,51.281071],[119.828383,51.263099],[119.797586,51.243622],[119.821607,51.21439],[119.784035,51.22601],[119.760629,51.212516],[119.788346,51.174636],[119.771716,51.124331],[119.752622,51.117193],[119.764325,51.092017],[119.719361,51.075099],[119.726753,51.051028],[119.678093,51.016404],[119.630666,51.00925],[119.598637,50.984767],[119.569688,50.933879],[119.491464,50.87878],[119.498855,50.827776],[119.515485,50.814165],[119.496391,50.771795],[119.506862,50.763846],[119.450196,50.695281],[119.430486,50.684286],[119.385522,50.682769],[119.394145,50.667219],[119.361501,50.632689],[119.298059,50.616743],[119.281428,50.601551],[119.295595,50.573814],[119.264182,50.536933],[119.262334,50.490124],[119.250631,50.448604],[119.22353,50.441363],[119.217371,50.414675],[119.165016,50.422683],[119.125596,50.389118],[119.176719,50.378814],[119.155777,50.364691],[119.188422,50.347509],[119.232153,50.365455],[119.259871,50.345218],[119.277117,50.366218],[119.322696,50.352474],[119.358421,50.358965],[119.381827,50.324208],[119.35103,50.303953],[119.339943,50.244668],[119.319001,50.220933],[119.358421,50.197953],[119.339327,50.192206],[119.350414,50.166145],[119.309762,50.161161],[119.290052,50.121655],[119.236465,50.075204],[119.190269,50.087877],[119.193965,50.069826],[119.163168,50.027554],[119.12498,50.019095],[119.090487,49.985629],[118.982082,49.979087],[118.964836,49.988708],[118.791757,49.955606],[118.761576,49.959456],[118.739402,49.946364],[118.672264,49.955991],[118.605127,49.926719],[118.574946,49.931342],[118.531214,49.887791],[118.485019,49.866194],[118.483787,49.830691],[118.443751,49.835709],[118.385853,49.827217],[118.398787,49.802502],[118.384005,49.783958],[118.315636,49.766953],[118.284223,49.743755],[118.220781,49.729831],[118.211542,49.690744],[118.156723,49.660149],[118.129622,49.669446],[118.082811,49.616741],[118.011362,49.614803],[117.995963,49.623332],[117.950999,49.596187],[117.866,49.591532],[117.849369,49.551557],[117.809333,49.521263],[117.638102,49.574847],[117.485349,49.633024],[117.278394,49.636512],[117.068974,49.695389],[116.736367,49.847674],[116.717889,49.847288],[116.428397,49.430659],[116.048363,48.873274],[116.077928,48.822471],[116.069305,48.811437],[115.83032,48.560156],[115.799523,48.514982],[115.822929,48.259432],[115.81061,48.257042],[115.529126,48.155336],[115.545141,48.134971],[115.539597,48.104607],[115.580249,47.921649],[115.939342,47.683275],[115.968291,47.689721],[116.111189,47.811642],[116.130283,47.823296],[116.26579,47.876711],[116.453035,47.837358],[116.669846,47.890758],[116.791186,47.89758],[116.879265,47.893968],[117.094844,47.8241],[117.384335,47.641356],[117.493357,47.758563],[117.519226,47.761782],[117.529081,47.782697],[117.813645,48.016212],[117.886942,48.025418],[117.96147,48.011007],[118.052014,48.01421],[118.107448,48.031021],[118.124694,48.047427],[118.150564,48.036224],[118.238643,48.041826],[118.238027,48.031422],[118.284839,48.011007],[118.351976,48.006203],[118.37415,48.016612],[118.422193,48.01461],[118.441903,47.995791],[118.568171,47.992187],[118.773278,47.771034],[119.134219,47.664335],[119.152081,47.540453],[119.205052,47.520249],[119.365812,47.47739],[119.32208,47.42721],[119.365812,47.423161],[119.386138,47.397645],[119.437877,47.378602],[119.450812,47.353065],[119.559217,47.303172],[119.56784,47.248357],[119.627586,47.247544],[119.716282,47.195518],[119.763093,47.13082],[119.806825,47.055037],[119.79081,47.04525],[119.795122,47.013024],[119.845013,46.964852],[119.859795,46.917046],[119.926933,46.903963],[119.920157,46.853238],[119.936172,46.790173],[119.917078,46.758203],[119.93494,46.712674],[119.911534,46.669572],[119.859179,46.669572],[119.804361,46.68189],[119.8136,46.66834],[119.783419,46.626023],[119.739687,46.615336],[119.677477,46.584908],[119.682405,46.605058],[119.656535,46.625612],[119.598637,46.618214],[119.557985,46.633832],[119.491464,46.629311],[119.431718,46.638763],[119.374435,46.603414],[119.357805,46.619447],[119.325776,46.608759],[119.26295,46.649034],[119.20074,46.648213],[119.152081,46.658072],[119.123132,46.642872],[119.073857,46.676552],[119.011647,46.745902],[118.951285,46.722111],[118.912481,46.733188],[118.914329,46.77501],[118.845343,46.771731],[118.788061,46.717598],[118.788061,46.687227],[118.677192,46.6979],[118.639004,46.721291],[118.586033,46.692975],[118.446831,46.704467],[118.41049,46.728265],[118.316252,46.73934],[118.274984,46.715957],[118.238643,46.709392],[118.192448,46.682711],[118.124078,46.678195],[118.04647,46.631366],[117.992883,46.631366],[117.982412,46.614925],[117.914659,46.607936],[117.868464,46.575447],[117.870927,46.549935],[117.813645,46.530588],[117.769913,46.537586],[117.748355,46.521941],[117.704008,46.516587],[117.641182,46.558166],[117.622704,46.596012],[117.596218,46.603414],[117.49582,46.600535],[117.42006,46.582029],[117.447777,46.528117],[117.392343,46.463023],[117.375712,46.416421],[117.383719,46.394962],[117.372017,46.36028],[117.247597,46.366888],[117.097308,46.356976],[116.876801,46.375559],[116.834302,46.384229],[116.81336,46.355737],[116.745606,46.327642],[116.673541,46.325163],[116.585462,46.292504],[116.573143,46.258998],[116.536187,46.23251],[116.439484,46.137628],[116.414231,46.133896],[116.271949,45.966926],[116.243,45.876169],[116.288579,45.839074],[116.278108,45.831152],[116.286731,45.775247],[116.260862,45.776082],[116.22329,45.747273],[116.217746,45.72221],[116.17463,45.688775],[116.1155,45.679577],[116.035428,45.685013],[116.026805,45.661177],[115.936878,45.632727],[115.864197,45.572853],[115.699741,45.45963],[115.586408,45.440317],[115.36467,45.392427],[115.178041,45.396209],[114.983404,45.379397],[114.920578,45.386122],[114.745035,45.438217],[114.600906,45.403773],[114.551014,45.387383],[114.539928,45.325985],[114.519602,45.283893],[114.459855,45.21353],[114.409348,45.179371],[114.347139,45.119436],[114.313262,45.107189],[114.19069,45.036607],[114.158045,44.994301],[114.116777,44.957045],[114.065038,44.931206],[113.907358,44.915104],[113.861778,44.863377],[113.798953,44.849377],[113.712105,44.788247],[113.631417,44.745333],[113.540874,44.759358],[113.503918,44.777628],[113.11526,44.799714],[113.037652,44.822641],[112.937869,44.840042],[112.850406,44.840466],[112.712436,44.879494],[112.599719,44.930783],[112.540589,45.001072],[112.438959,45.071697],[112.396459,45.064512],[112.113743,45.072965],[112.071243,45.096206],[112.002874,45.090713],[111.903707,45.052252],[111.764505,44.969325],[111.69244,44.859983],[111.624687,44.778477],[111.585267,44.705789],[111.560629,44.647062],[111.569868,44.57634],[111.530448,44.55033],[111.514434,44.507666],[111.478709,44.488884],[111.427586,44.394455],[111.415883,44.35724],[111.428818,44.319573],[111.507042,44.294305],[111.534144,44.26217],[111.541535,44.206855],[111.559397,44.171238],[111.662875,44.061247],[111.702295,44.034147],[111.773128,44.010479],[111.870447,43.940279],[111.959758,43.823382],[111.970845,43.748205],[111.951135,43.693275],[111.891388,43.6738],[111.79407,43.672068],[111.606209,43.513863],[111.564325,43.490422],[111.456535,43.494329],[111.400485,43.472618],[111.354289,43.436125],[111.183674,43.396132],[111.151029,43.38004],[111.069725,43.357852],[111.02045,43.329998],[110.82027,43.149067],[110.769763,43.099272],[110.736502,43.089657],[110.687227,43.036314],[110.689691,43.02144],[110.631177,42.936061],[110.469801,42.839156],[110.437156,42.781203],[110.34846,42.742098],[110.139657,42.674815],[110.108244,42.642687],[109.906216,42.635643],[109.733753,42.579262],[109.683862,42.558988],[109.544044,42.472528],[109.486761,42.458842],[109.291509,42.435879],[109.026039,42.458401],[108.983539,42.449128],[108.845569,42.395673],[108.798757,42.415116],[108.705134,42.413349],[108.532671,42.442945],[108.298614,42.438529],[108.238252,42.460167],[108.089195,42.436321],[108.022058,42.433229],[107.986949,42.413349],[107.939522,42.403628],[107.736262,42.415116],[107.57427,42.412907],[107.501589,42.456635],[107.46648,42.458842],[107.303872,42.412465],[107.271844,42.364285],[107.051337,42.319166],[106.785867,42.291281],[106.612789,42.241679],[106.372572,42.161436],[106.344855,42.149457],[106.01348,42.032213],[105.74185,41.949033],[105.589713,41.888471],[105.385221,41.797073],[105.291599,41.749763],[105.230621,41.751103],[105.009498,41.583007],[104.923267,41.654143],[104.803775,41.652355],[104.68921,41.6452],[104.524138,41.661745],[104.530298,41.875104],[104.418813,41.860397],[104.30856,41.840782],[104.080046,41.805104],[103.868779,41.802427],[103.454868,41.877332],[103.418527,41.882233],[103.20726,41.96283],[103.021862,42.028212],[102.712045,42.153007],[102.621502,42.154338],[102.540814,42.162323],[102.449039,42.144133],[102.093642,42.223512],[102.070236,42.232374],[101.877447,42.432345],[101.803534,42.503861],[101.770274,42.509597],[101.557775,42.529887],[101.291689,42.586312],[100.862995,42.671295],[100.826655,42.675255],[100.32528,42.690213],[100.272309,42.636523],[100.004376,42.648849],[99.969267,42.647969],[99.51224,42.568244],[98.962822,42.607018],[98.546447,42.638284],[98.195362,42.653251],[97.831958,42.706047],[97.28254,42.782081],[97.172903,42.795257]]]}},{type:"Feature",properties:{adcode:21e4,name:"辽宁省",center:[123.429096,41.796767],centroid:[122.604994,41.299712],childrenNum:14,level:"province",parent:{adcode:1e5},subFeatureIndex:5,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[123.534489,39.788361],[123.546808,39.756163],[123.579453,39.781002],[123.612714,39.775023],[123.642279,39.796178],[123.645358,39.823761],[123.674924,39.826979],[123.687858,39.808132],[123.795032,39.822842],[123.812278,39.831115],[123.95148,39.817786],[124.002603,39.800316],[124.103001,39.823302],[124.099306,39.777323],[124.151045,39.74558],[124.173218,39.841225],[124.214486,39.865116],[124.215102,39.883487],[124.21695,39.894049],[124.218182,39.895885],[124.219414,39.899099],[124.241588,39.928477],[124.286551,39.931689],[124.288399,39.962888],[124.349377,39.989029],[124.372167,40.021576],[124.336442,40.049985],[124.346913,40.079756],[124.428217,40.144291],[124.457782,40.177679],[124.490427,40.18408],[124.513833,40.218362],[124.515065,40.22019],[124.62655,40.291896],[124.722636,40.321561],[124.739267,40.371733],[124.834121,40.423235],[124.913578,40.481981],[124.945606,40.45603],[124.985642,40.475153],[125.044157,40.466503],[125.042925,40.483802],[125.004737,40.496091],[125.015823,40.533853],[125.076801,40.562048],[125.113758,40.569322],[125.181511,40.611132],[125.262815,40.620218],[125.279445,40.655187],[125.305315,40.661089],[125.329337,40.643835],[125.375532,40.658365],[125.422343,40.635661],[125.418648,40.673345],[125.453756,40.676522],[125.459916,40.707379],[125.49564,40.728697],[125.544915,40.729605],[125.551075,40.761796],[125.585567,40.788535],[125.61698,40.763609],[125.685349,40.769048],[125.67611,40.788082],[125.641002,40.798503],[125.648393,40.826133],[125.707523,40.866877],[125.687813,40.897645],[125.652089,40.91619],[125.584335,40.891764],[125.589263,40.931112],[125.635458,40.94151],[125.650241,40.970888],[125.674879,40.974503],[125.684118,41.021929],[125.726617,41.055332],[125.739552,41.08917],[125.712451,41.095485],[125.734009,41.125695],[125.759878,41.132908],[125.791291,41.167607],[125.73832,41.178418],[125.758646,41.232449],[125.749407,41.245499],[125.695205,41.244599],[125.685349,41.273842],[125.646545,41.264396],[125.642234,41.296327],[125.62006,41.318355],[125.637306,41.34442],[125.610205,41.365084],[125.589879,41.359245],[125.581256,41.396517],[125.547995,41.401006],[125.534444,41.428833],[125.533212,41.479069],[125.493176,41.509103],[125.507343,41.534195],[125.479626,41.544946],[125.450061,41.597777],[125.461148,41.642516],[125.446981,41.67605],[125.412488,41.691246],[125.344119,41.672474],[125.317018,41.676944],[125.332416,41.711354],[125.336112,41.768067],[125.336112,41.768067],[125.323177,41.771191],[125.323177,41.771191],[125.319482,41.776993],[125.319482,41.776993],[125.294844,41.822945],[125.307779,41.924548],[125.35151,41.92811],[125.291764,41.958825],[125.29854,41.974399],[125.369989,42.002868],[125.363213,42.017097],[125.416184,42.063766],[125.414336,42.101964],[125.446365,42.098411],[125.490097,42.136145],[125.458068,42.160105],[125.458068,42.160105],[125.41372,42.156112],[125.368141,42.182726],[125.357054,42.145464],[125.305931,42.146351],[125.312706,42.197359],[125.280677,42.175187],[125.312706,42.219966],[125.27575,42.231045],[125.27575,42.266928],[125.299156,42.289953],[125.264047,42.312528],[125.224011,42.30102],[125.175352,42.308102],[125.167345,42.351903],[125.203685,42.366938],[125.185823,42.38197],[125.186439,42.427928],[125.140243,42.44692],[125.150098,42.458842],[125.105135,42.490624],[125.068794,42.499449],[125.090968,42.515773],[125.066946,42.534738],[125.089736,42.567803],[125.082961,42.591159],[125.097127,42.622433],[125.038613,42.615387],[125.010896,42.63212],[125.014592,42.666014],[124.99057,42.677455],[124.968396,42.722756],[124.996729,42.745174],[124.975171,42.802722],[124.92836,42.819844],[124.897563,42.787791],[124.874157,42.789987],[124.856911,42.824234],[124.84952,42.882585],[124.87231,42.962344],[124.869846,42.988178],[124.840897,43.032377],[124.88894,43.074796],[124.882781,43.13422],[124.785462,43.117185],[124.755281,43.074359],[124.719557,43.069987],[124.686912,43.051185],[124.677673,43.002185],[124.658579,42.972854],[124.635173,42.972854],[124.632093,42.949642],[124.607456,42.937376],[124.586514,42.905384],[124.466406,42.847054],[124.435609,42.880831],[124.371551,42.880831],[124.38079,42.912835],[124.431913,42.930803],[124.442384,42.958841],[124.42329,42.975482],[124.369703,42.972854],[124.333363,42.997371],[124.425754,43.076107],[124.366007,43.121554],[124.273617,43.17875],[124.287167,43.207983],[124.27608,43.233278],[124.228653,43.235022],[124.215102,43.255947],[124.168291,43.244177],[124.114088,43.247229],[124.117168,43.2773],[124.099306,43.292983],[124.032784,43.280786],[123.964415,43.34088],[123.896046,43.361333],[123.881263,43.392218],[123.881263,43.392218],[123.852314,43.406133],[123.857858,43.459153],[123.857858,43.459153],[123.79688,43.489988],[123.747604,43.472184],[123.749452,43.439167],[123.710032,43.417001],[123.703873,43.37047],[123.698329,43.272071],[123.664453,43.264663],[123.676771,43.223684],[123.645974,43.208855],[123.666916,43.179623],[123.636119,43.141644],[123.631192,43.088346],[123.580685,43.036314],[123.572678,43.003498],[123.536337,43.007],[123.474743,43.042438],[123.434707,43.027565],[123.323222,43.000872],[123.259165,42.993431],[123.18402,42.925983],[123.188947,42.895739],[123.169853,42.859777],[123.227752,42.831695],[123.118114,42.801405],[123.058368,42.768903],[122.980144,42.777689],[122.945651,42.753524],[122.925941,42.772417],[122.887137,42.770221],[122.883442,42.751766],[122.883442,42.751766],[122.848949,42.712203],[122.848949,42.712203],[122.786123,42.757479],[122.73808,42.77066],[122.733152,42.786034],[122.653696,42.78252],[122.624747,42.773296],[122.580399,42.789987],[122.576088,42.819405],[122.556378,42.827745],[122.436886,42.843105],[122.35127,42.830378],[122.371596,42.776371],[122.439349,42.770221],[122.460907,42.755282],[122.396234,42.707366],[122.396234,42.684054],[122.338951,42.669975],[122.324785,42.684934],[122.261343,42.695931],[122.204676,42.732867],[122.204676,42.685374],[122.160945,42.684934],[122.072865,42.710444],[122.062394,42.723635],[122.018663,42.69901],[121.939207,42.688453],[121.94167,42.666014],[121.915801,42.656332],[121.921344,42.605697],[121.889931,42.556784],[121.844352,42.522389],[121.831417,42.533856],[121.817867,42.504303],[121.803084,42.514891],[121.747649,42.484887],[121.69899,42.438529],[121.66573,42.437204],[121.604136,42.495037],[121.607831,42.516214],[121.570875,42.487093],[121.506201,42.482239],[121.4791,42.49636],[121.434752,42.475176],[121.386093,42.474294],[121.304789,42.435879],[121.314644,42.42837],[121.285079,42.387717],[121.218558,42.371802],[121.184681,42.333324],[121.133558,42.300135],[121.120623,42.280656],[121.087978,42.278885],[121.070732,42.254083],[121.028848,42.242565],[120.992508,42.264714],[120.933994,42.27977],[120.883487,42.269585],[120.883487,42.269585],[120.883487,42.242565],[120.8299,42.252755],[120.820661,42.227943],[120.79048,42.218636],[120.745516,42.223512],[120.72211,42.203565],[120.624792,42.154338],[120.58414,42.167203],[120.56751,42.152119],[120.466496,42.105516],[120.493597,42.073539],[120.450481,42.057101],[120.456641,42.016208],[120.399358,41.984631],[120.373489,41.994862],[120.309431,41.951704],[120.318054,41.93746],[120.271859,41.925439],[120.260156,41.904062],[120.290337,41.897381],[120.286641,41.880005],[120.251533,41.884016],[120.215808,41.853265],[120.188707,41.848361],[120.183164,41.826513],[120.127113,41.77253],[120.1382,41.729221],[120.096316,41.697056],[120.035954,41.708226],[120.024867,41.737707],[120.050737,41.776101],[120.041498,41.818932],[120.023019,41.816701],[119.989759,41.899163],[119.954034,41.923212],[119.950954,41.974399],[119.924469,41.98908],[119.921389,42.014429],[119.897368,42.030879],[119.87581,42.077982],[119.845629,42.097079],[119.837622,42.135257],[119.854868,42.170308],[119.841933,42.215534],[119.744615,42.211545],[119.679941,42.240793],[119.617115,42.252755],[119.609108,42.276671],[119.557985,42.289068],[119.557985,42.289068],[119.539507,42.297922],[119.571536,42.335536],[119.572152,42.359421],[119.540123,42.363401],[119.502551,42.388159],[119.482841,42.347037],[119.432949,42.317396],[119.34795,42.300578],[119.280197,42.260728],[119.274037,42.239021],[119.237697,42.200905],[119.277733,42.185387],[119.286972,42.154781],[119.30853,42.147239],[119.314689,42.119723],[119.352261,42.118391],[119.384906,42.08953],[119.375667,42.023322],[119.324544,41.969505],[119.323928,41.937014],[119.340559,41.926774],[119.323312,41.889807],[119.334399,41.871539],[119.312841,41.80555],[119.292515,41.790827],[119.317769,41.764049],[119.319001,41.727435],[119.299907,41.705545],[119.307914,41.657273],[119.342406,41.617914],[119.415703,41.590169],[119.420015,41.567785],[119.362116,41.566442],[119.361501,41.545841],[119.406464,41.503276],[119.401537,41.472343],[119.378131,41.459787],[119.376283,41.422102],[119.309762,41.405944],[119.330704,41.385293],[119.296211,41.325097],[119.239545,41.31431],[119.2494,41.279689],[119.209364,41.244599],[119.204436,41.222546],[119.169943,41.222996],[119.189038,41.198234],[119.126212,41.138767],[119.081248,41.131555],[119.080632,41.095936],[119.037516,41.067516],[118.964836,41.079246],[118.937118,41.052625],[118.951901,41.018317],[119.013495,41.007479],[119.00056,40.967273],[118.977154,40.959138],[118.977154,40.959138],[118.916792,40.969984],[118.90201,40.960946],[118.873061,40.847866],[118.845959,40.822057],[118.878604,40.783098],[118.907553,40.775394],[118.895234,40.75409],[118.950053,40.747743],[118.96114,40.72008],[119.011031,40.687414],[119.028277,40.692406],[119.054763,40.664721],[119.115125,40.666536],[119.165632,40.69286],[119.184726,40.680153],[119.14469,40.632482],[119.162552,40.600228],[119.177951,40.609315],[119.230921,40.603863],[119.22045,40.569322],[119.256175,40.543404],[119.30237,40.530215],[119.429254,40.540221],[119.477913,40.533399],[119.503783,40.553864],[119.559217,40.547952],[119.572152,40.523846],[119.553674,40.502007],[119.604797,40.455119],[119.586934,40.375381],[119.598021,40.334335],[119.651608,40.271808],[119.639289,40.231613],[119.639289,40.231613],[119.671934,40.23938],[119.716898,40.195966],[119.745847,40.207851],[119.760629,40.136056],[119.736608,40.104936],[119.772332,40.08113],[119.783419,40.046778],[119.783419,40.046778],[119.787115,40.041739],[119.787115,40.041739],[119.81668,40.050443],[119.81668,40.050443],[119.854252,40.033033],[119.845629,40.000949],[119.845629,40.000949],[119.854252,39.98857],[119.91831,39.989946],[119.941715,40.009659],[119.947259,40.040364],[120.092005,40.077466],[120.134504,40.074719],[120.161606,40.096239],[120.273091,40.127362],[120.371641,40.174478],[120.451097,40.177679],[120.491749,40.20008],[120.523778,40.256737],[120.52193,40.304676],[120.537329,40.325211],[120.602618,40.36079],[120.596459,40.399084],[120.617401,40.41959],[120.616169,40.444645],[120.619249,40.460128],[120.666676,40.467413],[120.693777,40.505647],[120.72211,40.515657],[120.72827,40.539311],[120.822509,40.59432],[120.837291,40.644289],[120.8299,40.671076],[120.861313,40.684692],[120.939537,40.686507],[120.983269,40.712822],[121.032544,40.709193],[121.028848,40.746382],[120.991276,40.744115],[120.980189,40.766329],[120.994356,40.790801],[120.971566,40.805751],[121.00729,40.807563],[121.010986,40.784457],[121.086747,40.79805],[121.076892,40.815716],[121.096602,40.839717],[121.126167,40.86914],[121.177906,40.873665],[121.23642,40.851035],[121.290622,40.851488],[121.439064,40.830208],[121.440296,40.88181],[121.499426,40.880001],[121.526527,40.85194],[121.55486,40.849677],[121.553013,40.817528],[121.576418,40.837906],[121.626309,40.844244],[121.682976,40.829755],[121.732251,40.846961],[121.735331,40.862351],[121.778446,40.886787],[121.816019,40.894931],[121.84312,40.831567],[121.883772,40.802127],[121.934279,40.79805],[121.936127,40.711462],[121.951525,40.680607],[122.025438,40.674253],[122.06609,40.64883],[122.122141,40.657457],[122.148626,40.671983],[122.133843,40.614313],[122.150474,40.588413],[122.245944,40.519752],[122.231162,40.505192],[122.265038,40.48016],[122.221923,40.481071],[122.240401,40.461039],[122.250872,40.445555],[122.229314,40.424146],[122.186814,40.422779],[122.198517,40.382219],[122.152322,40.357597],[122.135691,40.374925],[122.111054,40.348932],[122.138155,40.338897],[122.110438,40.315629],[122.079641,40.332967],[122.040221,40.322017],[122.039605,40.260391],[122.02667,40.244862],[121.940438,40.242121],[121.950293,40.204194],[121.98109,40.173106],[122.003264,40.172191],[121.995257,40.128277],[121.956453,40.133311],[121.910257,40.072887],[121.824642,40.025701],[121.796309,39.999116],[121.779062,39.942702],[121.76428,39.933525],[121.699606,39.937196],[121.626925,39.882569],[121.572107,39.865116],[121.541926,39.874302],[121.530223,39.851334],[121.472325,39.802155],[121.487107,39.760303],[121.45939,39.747881],[121.502506,39.703233],[121.482796,39.659478],[121.451999,39.658095],[121.450151,39.624914],[121.325731,39.601402],[121.299246,39.606013],[121.263521,39.589873],[121.226565,39.554814],[121.224717,39.519275],[121.268449,39.482794],[121.286927,39.507271],[121.301709,39.476327],[121.245659,39.456923],[121.270296,39.434277],[121.246891,39.421334],[121.245659,39.389427],[121.270296,39.374162],[121.307869,39.391277],[121.324499,39.371386],[121.35468,39.377863],[121.432904,39.357506],[121.435984,39.329736],[121.466781,39.320014],[121.474788,39.296398],[121.508665,39.29223],[121.51544,39.286672],[121.562252,39.322792],[121.621382,39.326033],[121.72486,39.364447],[121.711925,39.33992],[121.7187,39.320477],[121.667577,39.310754],[121.672505,39.275554],[121.623846,39.285745],[121.589353,39.263044],[121.631237,39.22643],[121.591201,39.228748],[121.586889,39.193506],[121.604136,39.166136],[121.639244,39.166136],[121.68236,39.117863],[121.631853,39.077921],[121.605983,39.080708],[121.642324,39.11972],[121.590585,39.154999],[121.562252,39.127149],[121.599208,39.098824],[121.581962,39.075598],[121.508049,39.034237],[121.431057,39.027263],[121.370695,39.060264],[121.317108,39.012384],[121.341129,38.980757],[121.275224,38.971917],[121.204391,38.941202],[121.180369,38.959819],[121.128014,38.958888],[121.08921,38.922115],[121.094138,38.894173],[121.129862,38.879266],[121.110768,38.862026],[121.12863,38.799089],[121.112,38.776231],[121.13787,38.723023],[121.198848,38.721623],[121.259825,38.786495],[121.280767,38.786961],[121.288775,38.78976],[121.315876,38.793958],[121.359608,38.822406],[121.399028,38.812613],[121.509897,38.817743],[121.564715,38.874607],[121.618302,38.862492],[121.675585,38.86156],[121.708845,38.872744],[121.719316,38.920252],[121.655874,38.946788],[121.618918,38.950046],[121.66265,38.966333],[121.671273,39.010059],[121.73841,38.998898],[121.756889,39.025869],[121.790149,39.022614],[121.804932,38.970986],[121.863446,38.942598],[121.920728,38.969591],[121.905946,38.997503],[121.852975,39.035631],[121.8887,39.027263],[121.929352,39.024939],[121.907178,39.055617],[121.923192,39.053758],[121.963228,39.030053],[122.013735,39.073275],[122.061778,39.060264],[122.071634,39.074204],[122.048228,39.101146],[122.088264,39.112291],[122.127684,39.144788],[122.167104,39.158711],[122.123988,39.172631],[122.117213,39.213911],[122.160329,39.238019],[122.242865,39.267678],[122.274893,39.322329],[122.30877,39.346399],[122.366053,39.370461],[122.412864,39.411625],[122.455364,39.408388],[122.467682,39.403301],[122.51203,39.413474],[122.532972,39.419947],[122.581631,39.464316],[122.637066,39.488799],[122.649385,39.516505],[122.682645,39.514658],[122.808913,39.559889],[122.847101,39.581571],[122.860652,39.604629],[122.941956,39.604629],[122.972753,39.594946],[122.978912,39.616156],[123.021412,39.64335],[123.010941,39.655331],[123.103332,39.676983],[123.146448,39.647037],[123.166774,39.674219],[123.212969,39.665928],[123.215433,39.696786],[123.253005,39.689879],[123.286882,39.704154],[123.270251,39.714743],[123.274563,39.753862],[123.350939,39.750641],[123.388512,39.74742],[123.392823,39.723949],[123.477823,39.74696],[123.521555,39.772724],[123.534489,39.788361]]],[[[122.63953,39.286209],[122.593334,39.278334],[122.539131,39.308439],[122.50895,39.290377],[122.57732,39.269994],[122.67895,39.268605],[122.673406,39.269531],[122.662935,39.273701],[122.655544,39.277407],[122.640761,39.288061],[122.63953,39.286209]]],[[[122.318625,39.170775],[122.345111,39.144788],[122.366053,39.174951],[122.398697,39.16196],[122.383299,39.190723],[122.393154,39.213448],[122.343263,39.203246],[122.322321,39.177271],[122.322937,39.174487],[122.319241,39.172167],[122.318625,39.170775]]],[[[122.691884,39.23292],[122.696812,39.206492],[122.751631,39.229675],[122.740544,39.248679],[122.635834,39.241727],[122.628443,39.231993],[122.690037,39.234774],[122.691268,39.23431],[122.691884,39.23292]]],[[[122.738696,39.034701],[122.704819,39.044463],[122.733152,39.014244],[122.75779,39.009594],[122.739312,39.036561],[122.738696,39.034701]]],[[[123.022644,39.546507],[122.96105,39.551122],[122.945035,39.520198],[122.995542,39.495264],[123.036194,39.533123],[123.022644,39.546507]]],[[[122.503407,39.241263],[122.502175,39.224112],[122.547755,39.229211],[122.503407,39.241263]]],[[[120.786784,40.473787],[120.83298,40.491995],[120.8299,40.516112],[120.805262,40.525666],[120.774465,40.48016],[120.786784,40.473787]]],[[[123.086702,39.426881],[123.090397,39.450915],[123.054057,39.457847],[123.086702,39.426881]]],[[[123.160614,39.025404],[123.205578,39.057011],[123.20065,39.077921],[123.145832,39.091857],[123.143984,39.038885],[123.160614,39.025404]]],[[[123.716807,39.74512],[123.756843,39.754322],[123.719887,39.763063],[123.716807,39.74512]]]]}},{type:"Feature",properties:{adcode:22e4,name:"吉林省",center:[125.3245,43.886841],centroid:[126.171208,43.703954],childrenNum:9,level:"province",parent:{adcode:1e5},subFeatureIndex:6,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[129.601492,42.415116],[129.601492,42.422627],[129.591021,42.447803],[129.627361,42.462816],[129.651999,42.426603],[129.704354,42.427045],[129.748701,42.471204],[129.738846,42.500332],[129.749933,42.546644],[129.746237,42.58455],[129.786889,42.615387],[129.754245,42.645768],[129.796744,42.681854],[129.767179,42.707806],[129.78381,42.762752],[129.810911,42.795257],[129.816454,42.851003],[129.835549,42.866796],[129.846636,42.918533],[129.874969,42.923792],[129.856491,42.951833],[129.868193,42.97373],[129.903918,42.968475],[129.897143,43.001748],[129.954425,43.010938],[129.963664,42.978547],[130.002468,42.981174],[130.027106,42.9676],[130.072685,42.971541],[130.10841,42.989929],[130.144134,42.976357],[130.120729,42.954461],[130.127504,42.932556],[130.10225,42.922916],[130.136127,42.90363],[130.17062,42.912397],[130.21004,42.902315],[130.258083,42.90626],[130.277793,42.892232],[130.258083,42.860655],[130.245148,42.799209],[130.242069,42.738582],[130.257467,42.710884],[130.290112,42.702968],[130.333228,42.64973],[130.373264,42.630799],[130.388046,42.603054],[130.420691,42.617148],[130.44656,42.607459],[130.423771,42.574855],[130.435474,42.553257],[130.476125,42.570007],[130.459495,42.588075],[130.482285,42.626837],[130.522937,42.622433],[130.520473,42.593362],[130.558661,42.495919],[130.585763,42.485328],[130.581451,42.435437],[130.645509,42.426603],[130.600545,42.450453],[130.599929,42.486211],[130.565437,42.506509],[130.570364,42.557224],[130.622719,42.573092],[130.633806,42.603494],[130.592538,42.671295],[130.521089,42.702089],[130.464423,42.688453],[130.425003,42.706926],[130.40714,42.731548],[130.46627,42.772417],[130.532792,42.787352],[130.562357,42.815015],[130.603625,42.819405],[130.665835,42.847932],[130.708335,42.846615],[130.719422,42.831695],[130.75453,42.845738],[130.784095,42.842227],[130.801957,42.879515],[130.845073,42.881269],[130.890653,42.852758],[130.912826,42.870744],[130.949783,42.876884],[130.981812,42.857145],[131.043406,42.862848],[131.017536,42.915027],[131.034167,42.929051],[131.114855,42.915027],[131.145652,42.9365],[131.151195,42.968475],[131.115471,42.975482],[131.11855,43.007875],[131.102536,43.021002],[131.120398,43.068238],[131.171521,43.06955],[131.173985,43.111506],[131.207861,43.1316],[131.218948,43.191405],[131.201086,43.203185],[131.206014,43.237202],[131.255289,43.265099],[131.269455,43.297775],[131.275615,43.369165],[131.314419,43.392653],[131.295941,43.441774],[131.314419,43.461325],[131.31873,43.499539],[131.304564,43.502144],[131.294093,43.470012],[131.234963,43.475224],[131.201086,43.442209],[131.175217,43.444816],[131.142572,43.425695],[131.026775,43.508655],[130.959638,43.48608],[130.907283,43.434387],[130.864167,43.437863],[130.841378,43.454374],[130.822899,43.503446],[130.776704,43.52341],[130.727429,43.560284],[130.671378,43.565054],[130.665835,43.583698],[130.623335,43.589767],[130.630726,43.622268],[130.57098,43.626167],[130.57098,43.626167],[130.501995,43.636563],[130.488444,43.65605],[130.437937,43.646091],[130.412684,43.652586],[130.394206,43.703227],[130.423155,43.745179],[130.382503,43.777164],[130.381887,43.817768],[130.362793,43.844967],[130.386198,43.85403],[130.368336,43.894151],[130.381887,43.910106],[130.338155,43.963975],[130.364025,43.992399],[130.365256,44.044042],[130.319061,44.03974],[130.307358,44.002731],[130.27225,43.981634],[130.262395,43.949328],[130.208192,43.948466],[130.153373,43.915711],[130.143518,43.878624],[130.116417,43.878192],[130.110873,43.852735],[130.079461,43.835039],[130.027722,43.851872],[130.009243,43.889407],[130.022794,43.917866],[130.017867,43.961821],[129.979062,44.015644],[129.951345,44.027263],[129.907614,44.023821],[129.881128,44.000148],[129.868193,44.012631],[129.802904,43.964837],[129.780114,43.892857],[129.739462,43.895876],[129.743158,43.876035],[129.699426,43.8838],[129.650767,43.873016],[129.529427,43.870427],[129.467833,43.874741],[129.449971,43.850578],[129.417942,43.843672],[129.406855,43.819496],[129.348341,43.798333],[129.30892,43.812155],[129.289826,43.797038],[129.254718,43.819496],[129.211602,43.784509],[129.232544,43.709284],[129.214066,43.695006],[129.217146,43.648689],[129.232544,43.635263],[129.23008,43.593234],[129.169102,43.561585],[129.145081,43.570258],[129.093958,43.547706],[129.037907,43.540332],[129.013886,43.522976],[128.962763,43.53903],[128.949828,43.553779],[128.878379,43.539898],[128.834647,43.587599],[128.821097,43.637429],[128.78722,43.686784],[128.768126,43.732207],[128.729322,43.736964],[128.760119,43.755554],[128.739177,43.806972],[128.719467,43.816905],[128.760734,43.857482],[128.729938,43.889838],[128.696061,43.903207],[128.636315,43.891132],[128.64001,43.948035],[128.610445,43.960529],[128.584576,43.990246],[128.574721,44.047914],[128.529141,44.112401],[128.471859,44.157501],[128.450301,44.203423],[128.471859,44.247596],[128.453997,44.257884],[128.472475,44.320001],[128.446605,44.339694],[128.475555,44.346114],[128.481714,44.375637],[128.457076,44.409848],[128.463236,44.431647],[128.427511,44.473512],[128.397946,44.483761],[128.372693,44.514495],[128.295084,44.480772],[128.293237,44.467961],[128.228563,44.445748],[128.211317,44.431647],[128.172512,44.34697],[128.137404,44.357668],[128.094904,44.354673],[128.074578,44.370075],[128.049941,44.349965],[128.065339,44.307155],[128.101679,44.293449],[128.064107,44.251454],[128.104143,44.230017],[128.09244,44.181539],[128.060411,44.168663],[128.088129,44.158359],[128.091208,44.133022],[128.042549,44.103807],[127.950158,44.088334],[127.912586,44.064687],[127.862695,44.062967],[127.846065,44.081886],[127.808492,44.086615],[127.783239,44.071997],[127.729036,44.09908],[127.735811,44.11412],[127.712406,44.199133],[127.681609,44.166946],[127.641573,44.193555],[127.626174,44.187977],[127.59045,44.227872],[127.623711,44.278025],[127.579363,44.310581],[127.486356,44.410275],[127.50853,44.437202],[127.463566,44.484615],[127.465414,44.516628],[127.485124,44.528576],[127.536247,44.522176],[127.570124,44.55033],[127.557189,44.575488],[127.392733,44.632158],[127.275705,44.640249],[127.261538,44.61299],[127.214111,44.624917],[127.228893,44.642804],[127.182082,44.644507],[127.138966,44.607451],[127.094619,44.615972],[127.089691,44.593816],[127.049655,44.566961],[127.041648,44.591258],[127.044112,44.653874],[127.030561,44.673454],[127.041032,44.712169],[126.9973,44.764882],[126.984366,44.823914],[126.999764,44.87398],[127.021938,44.898997],[127.073061,44.907051],[127.092771,44.94688],[127.050271,45.004034],[127.018242,45.024341],[126.984981,45.067893],[126.970815,45.070852],[126.96404,45.132104],[126.85625,45.145613],[126.792808,45.135481],[126.787265,45.159118],[126.732446,45.187385],[126.685635,45.187807],[126.640055,45.214373],[126.644983,45.225334],[126.569222,45.252725],[126.540273,45.23882],[126.519331,45.248091],[126.402919,45.222805],[126.356107,45.185698],[126.293282,45.180214],[126.285274,45.162494],[126.235383,45.140125],[126.225528,45.154054],[126.166398,45.13337],[126.142992,45.147723],[126.091869,45.149411],[126.047522,45.170933],[125.998247,45.162072],[125.992703,45.192447],[125.957595,45.201303],[125.915095,45.196664],[125.849805,45.23882],[125.823936,45.237978],[125.815929,45.264942],[125.761726,45.291472],[125.726001,45.336503],[125.695205,45.352066],[125.712451,45.389485],[125.711835,45.477677],[125.687813,45.514173],[125.660096,45.507043],[125.61698,45.517947],[125.583104,45.491942],[125.497488,45.469283],[125.480242,45.486488],[125.424807,45.485649],[125.434662,45.462988],[125.398322,45.416797],[125.361981,45.392847],[125.319482,45.422678],[125.301619,45.402092],[125.248649,45.417637],[125.189518,45.39915],[125.137779,45.409655],[125.097127,45.38276],[125.06633,45.39915],[125.08912,45.420998],[125.0497,45.428558],[125.025678,45.493201],[124.961005,45.495299],[124.936983,45.53388],[124.911114,45.535976],[124.884628,45.495299],[124.886476,45.442836],[124.839665,45.455852],[124.792853,45.436958],[124.776223,45.468024],[124.729412,45.444096],[124.690607,45.452493],[124.625318,45.437377],[124.575427,45.451234],[124.579738,45.424358],[124.544014,45.411756],[124.507058,45.424778],[124.480572,45.456271],[124.398652,45.440737],[124.374015,45.45795],[124.352457,45.496557],[124.369087,45.512915],[124.348761,45.546874],[124.287783,45.539329],[124.264377,45.555256],[124.273001,45.584163],[124.238508,45.591702],[124.226805,45.633564],[124.162132,45.616404],[124.128255,45.641933],[124.147349,45.665359],[124.122096,45.669123],[124.13503,45.690448],[124.10177,45.700898],[124.098074,45.722628],[124.054342,45.751449],[124.014922,45.749779],[124.001987,45.770655],[124.064197,45.802372],[124.03648,45.83824],[124.067277,45.840325],[124.061118,45.886168],[123.996444,45.906993],[123.968727,45.936551],[123.973654,45.973997],[124.011842,45.981899],[123.989053,46.011833],[124.040176,46.01973],[124.034016,46.045074],[124.009995,46.057534],[124.015538,46.088257],[123.99398,46.101123],[124.01677,46.118549],[123.991516,46.143019],[124.001987,46.166649],[123.971806,46.170379],[123.956408,46.206009],[123.979814,46.228784],[123.952096,46.256516],[123.960103,46.288369],[123.936082,46.286715],[123.917604,46.25693],[123.896046,46.303668],[123.84985,46.302428],[123.775938,46.263136],[123.726047,46.255688],[123.673692,46.258585],[123.604706,46.251964],[123.569598,46.223816],[123.569598,46.223816],[123.499381,46.259826],[123.452569,46.233338],[123.430396,46.243687],[123.357099,46.232096],[123.357099,46.232096],[123.320758,46.254447],[123.286266,46.250308],[123.248078,46.273065],[123.178476,46.248239],[123.128585,46.210565],[123.127354,46.174523],[123.102716,46.172037],[123.112571,46.130163],[123.070071,46.123527],[123.04605,46.099878],[122.792898,46.073313],[122.828623,45.912406],[122.80029,45.856583],[122.772572,45.856583],[122.752246,45.834905],[122.792283,45.766063],[122.751015,45.735996],[122.741775,45.705077],[122.671558,45.70048],[122.650001,45.731401],[122.640761,45.771072],[122.603189,45.778169],[122.556378,45.82156],[122.522501,45.786933],[122.504639,45.786933],[122.496016,45.85825],[122.446125,45.916986],[122.362357,45.917403],[122.372828,45.856166],[122.337719,45.859917],[122.301379,45.813218],[122.253952,45.7982],[122.236705,45.831569],[122.200981,45.857],[122.091344,45.882002],[122.085184,45.912406],[122.040221,45.959022],[121.92812,45.988552],[121.923808,46.004767],[121.864062,46.002272],[121.843736,46.024301],[121.819098,46.023054],[121.761816,45.998947],[121.809243,45.961102],[121.821562,45.918235],[121.805548,45.900746],[121.817251,45.875336],[121.769823,45.84366],[121.766744,45.830318],[121.766744,45.830318],[121.754425,45.794862],[121.697142,45.76314],[121.657106,45.770238],[121.644172,45.752284],[121.666345,45.727641],[121.713773,45.701734],[121.811091,45.687103],[121.812323,45.704659],[121.867142,45.719703],[121.934279,45.71051],[121.970004,45.692956],[122.003264,45.623102],[121.995873,45.59882],[121.966308,45.596308],[121.993409,45.552741],[122.002648,45.507882],[122.064242,45.472641],[122.168336,45.439897],[122.180039,45.409655],[122.146778,45.374352],[122.147394,45.295682],[122.239169,45.276313],[122.22993,45.206784],[122.192358,45.180636],[122.143082,45.183167],[122.109822,45.142236],[122.119677,45.068739],[122.098735,45.02138],[122.074713,45.006573],[122.087032,44.95281],[122.079025,44.914256],[122.04946,44.912985],[122.098119,44.81882],[122.099967,44.7823],[122.168952,44.770405],[122.142467,44.753833],[122.110438,44.767856],[122.10243,44.736406],[122.152322,44.744057],[122.161561,44.728328],[122.117213,44.701961],[122.103046,44.67388],[122.113517,44.615546],[122.13138,44.577619],[122.196053,44.559712],[122.224386,44.526016],[122.228082,44.480345],[122.28598,44.477783],[122.294604,44.41113],[122.291524,44.310152],[122.271198,44.255741],[122.319241,44.233018],[122.483081,44.236877],[122.515726,44.251025],[122.641993,44.283595],[122.675254,44.285738],[122.702971,44.319145],[122.76087,44.369648],[122.85634,44.398304],[123.025108,44.493153],[123.06576,44.505959],[123.12489,44.5098],[123.137209,44.486322],[123.125506,44.455147],[123.142136,44.428228],[123.114419,44.40258],[123.128585,44.367081],[123.196955,44.34483],[123.277027,44.25274],[123.286882,44.211574],[123.323838,44.179823],[123.386664,44.161794],[123.362642,44.133452],[123.350939,44.092633],[123.32815,44.084035],[123.331229,44.028984],[123.365722,44.013922],[123.400831,43.979481],[123.37065,43.970006],[123.397135,43.954929],[123.467968,43.853599],[123.461809,43.822518],[123.498149,43.771114],[123.48275,43.737396],[123.520323,43.708419],[123.518475,43.682024],[123.536953,43.633964],[123.510468,43.624867],[123.5117,43.592801],[123.421157,43.598435],[123.434091,43.575461],[123.461193,43.568523],[123.452569,43.545971],[123.452569,43.545971],[123.360179,43.567223],[123.304744,43.550742],[123.329998,43.519071],[123.315831,43.492159],[123.36449,43.483475],[123.382968,43.469143],[123.419925,43.410046],[123.442098,43.437863],[123.486446,43.44525],[123.519707,43.402219],[123.54496,43.415262],[123.608402,43.366119],[123.703873,43.37047],[123.710032,43.417001],[123.749452,43.439167],[123.747604,43.472184],[123.79688,43.489988],[123.857858,43.459153],[123.857858,43.459153],[123.852314,43.406133],[123.881263,43.392218],[123.881263,43.392218],[123.896046,43.361333],[123.964415,43.34088],[124.032784,43.280786],[124.099306,43.292983],[124.117168,43.2773],[124.114088,43.247229],[124.168291,43.244177],[124.215102,43.255947],[124.228653,43.235022],[124.27608,43.233278],[124.287167,43.207983],[124.273617,43.17875],[124.366007,43.121554],[124.425754,43.076107],[124.333363,42.997371],[124.369703,42.972854],[124.42329,42.975482],[124.442384,42.958841],[124.431913,42.930803],[124.38079,42.912835],[124.371551,42.880831],[124.435609,42.880831],[124.466406,42.847054],[124.586514,42.905384],[124.607456,42.937376],[124.632093,42.949642],[124.635173,42.972854],[124.658579,42.972854],[124.677673,43.002185],[124.686912,43.051185],[124.719557,43.069987],[124.755281,43.074359],[124.785462,43.117185],[124.882781,43.13422],[124.88894,43.074796],[124.840897,43.032377],[124.869846,42.988178],[124.87231,42.962344],[124.84952,42.882585],[124.856911,42.824234],[124.874157,42.789987],[124.897563,42.787791],[124.92836,42.819844],[124.975171,42.802722],[124.996729,42.745174],[124.968396,42.722756],[124.99057,42.677455],[125.014592,42.666014],[125.010896,42.63212],[125.038613,42.615387],[125.097127,42.622433],[125.082961,42.591159],[125.089736,42.567803],[125.066946,42.534738],[125.090968,42.515773],[125.068794,42.499449],[125.105135,42.490624],[125.150098,42.458842],[125.140243,42.44692],[125.186439,42.427928],[125.185823,42.38197],[125.203685,42.366938],[125.167345,42.351903],[125.175352,42.308102],[125.224011,42.30102],[125.264047,42.312528],[125.299156,42.289953],[125.27575,42.266928],[125.27575,42.231045],[125.312706,42.219966],[125.280677,42.175187],[125.312706,42.197359],[125.305931,42.146351],[125.357054,42.145464],[125.368141,42.182726],[125.41372,42.156112],[125.458068,42.160105],[125.458068,42.160105],[125.490097,42.136145],[125.446365,42.098411],[125.414336,42.101964],[125.416184,42.063766],[125.363213,42.017097],[125.369989,42.002868],[125.29854,41.974399],[125.291764,41.958825],[125.35151,41.92811],[125.307779,41.924548],[125.294844,41.822945],[125.319482,41.776993],[125.319482,41.776993],[125.323177,41.771191],[125.323177,41.771191],[125.336112,41.768067],[125.336112,41.768067],[125.332416,41.711354],[125.317018,41.676944],[125.344119,41.672474],[125.412488,41.691246],[125.446981,41.67605],[125.461148,41.642516],[125.450061,41.597777],[125.479626,41.544946],[125.507343,41.534195],[125.493176,41.509103],[125.533212,41.479069],[125.534444,41.428833],[125.547995,41.401006],[125.581256,41.396517],[125.589879,41.359245],[125.610205,41.365084],[125.637306,41.34442],[125.62006,41.318355],[125.642234,41.296327],[125.646545,41.264396],[125.685349,41.273842],[125.695205,41.244599],[125.749407,41.245499],[125.758646,41.232449],[125.73832,41.178418],[125.791291,41.167607],[125.759878,41.132908],[125.734009,41.125695],[125.712451,41.095485],[125.739552,41.08917],[125.726617,41.055332],[125.684118,41.021929],[125.674879,40.974503],[125.650241,40.970888],[125.635458,40.94151],[125.589263,40.931112],[125.584335,40.891764],[125.652089,40.91619],[125.687813,40.897645],[125.707523,40.866877],[125.778356,40.897645],[125.817161,40.866877],[125.860892,40.888597],[125.875059,40.908501],[125.921254,40.882715],[125.959442,40.88181],[126.008102,40.936537],[126.041362,40.928851],[126.051833,40.96185],[126.08263,40.976762],[126.066,40.997542],[126.1085,41.011995],[126.099877,41.036376],[126.133753,41.063906],[126.124514,41.092327],[126.16763,41.094583],[126.187956,41.113072],[126.188572,41.114875],[126.295129,41.171661],[126.332086,41.236949],[126.35426,41.244599],[126.373354,41.289133],[126.437411,41.353405],[126.497158,41.374965],[126.524259,41.349362],[126.539041,41.366881],[126.497158,41.406842],[126.559983,41.548081],[126.582773,41.563307],[126.564295,41.608965],[126.592628,41.624624],[126.608027,41.669345],[126.644983,41.661297],[126.688099,41.674262],[126.724439,41.710907],[126.690562,41.728328],[126.694874,41.751103],[126.723207,41.753335],[126.8002,41.702865],[126.809439,41.749317],[126.848243,41.734134],[126.85625,41.760031],[126.887047,41.791719],[126.931395,41.812687],[126.952953,41.804212],[126.940018,41.773423],[126.979438,41.776993],[127.005923,41.749317],[127.050887,41.744852],[127.057662,41.703758],[127.037952,41.676944],[127.103242,41.647883],[127.093387,41.629993],[127.127263,41.622388],[127.135887,41.600463],[127.178386,41.600015],[127.125416,41.566442],[127.11864,41.540018],[127.164836,41.542706],[127.188241,41.527475],[127.241212,41.520754],[127.28864,41.501932],[127.253531,41.486691],[127.296031,41.486243],[127.360704,41.466065],[127.360088,41.479518],[127.405668,41.478621],[127.419835,41.460235],[127.459255,41.461581],[127.465414,41.479069],[127.526392,41.467859],[127.547334,41.477276],[127.563964,41.432871],[127.618783,41.432871],[127.636645,41.413575],[127.684073,41.422999],[127.780159,41.427038],[127.854688,41.420755],[127.86947,41.4037],[127.882405,41.448124],[127.909506,41.42973],[127.93168,41.444984],[127.970484,41.438704],[127.991426,41.421204],[128.000049,41.442741],[128.040085,41.393375],[128.110919,41.393375],[128.090593,41.374516],[128.114614,41.364186],[128.169433,41.404149],[128.203925,41.410882],[128.243345,41.477276],[128.238418,41.497898],[128.301244,41.540018],[128.317874,41.575844],[128.30186,41.627756],[128.248889,41.681414],[128.208853,41.688565],[128.163889,41.721628],[128.147875,41.78101],[128.112766,41.793504],[128.104143,41.843457],[128.115846,41.896935],[128.106607,41.949923],[128.033926,42.000199],[128.090593,42.022877],[128.294468,42.026434],[128.405338,42.018876],[128.466316,42.020654],[128.49896,42.000644],[128.598127,42.007315],[128.60675,42.02999],[128.637547,42.035324],[128.658489,42.018876],[128.70222,42.02021],[128.737945,42.050435],[128.779213,42.033546],[128.795227,42.042436],[128.898089,42.016653],[128.952908,42.025545],[128.954755,42.083756],[128.971386,42.097079],[129.008958,42.09175],[129.039139,42.107736],[129.048378,42.137476],[129.113668,42.140583],[129.166639,42.188047],[129.215914,42.208442],[129.209138,42.237692],[129.181421,42.242122],[129.183269,42.262056],[129.215914,42.265157],[129.231312,42.283755],[129.208522,42.293052],[129.260261,42.335536],[129.231312,42.356325],[129.240551,42.376223],[129.326167,42.389927],[129.30892,42.403628],[129.331094,42.429695],[129.356348,42.427045],[129.342181,42.441179],[129.368051,42.459284],[129.366203,42.428811],[129.392688,42.42837],[129.400695,42.449128],[129.452434,42.441179],[129.49863,42.412023],[129.546057,42.361632],[129.578086,42.380202],[129.569463,42.399208],[129.601492,42.415116]]]]}},{type:"Feature",properties:{adcode:23e4,name:"黑龙江省",center:[126.642464,45.756967],centroid:[127.693027,48.040465],childrenNum:13,level:"province",parent:{adcode:1e5},subFeatureIndex:7,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[123.569598,46.223816],[123.604706,46.251964],[123.673692,46.258585],[123.726047,46.255688],[123.775938,46.263136],[123.84985,46.302428],[123.896046,46.303668],[123.917604,46.25693],[123.936082,46.286715],[123.960103,46.288369],[123.952096,46.256516],[123.979814,46.228784],[123.956408,46.206009],[123.971806,46.170379],[124.001987,46.166649],[123.991516,46.143019],[124.01677,46.118549],[123.99398,46.101123],[124.015538,46.088257],[124.009995,46.057534],[124.034016,46.045074],[124.040176,46.01973],[123.989053,46.011833],[124.011842,45.981899],[123.973654,45.973997],[123.968727,45.936551],[123.996444,45.906993],[124.061118,45.886168],[124.067277,45.840325],[124.03648,45.83824],[124.064197,45.802372],[124.001987,45.770655],[124.014922,45.749779],[124.054342,45.751449],[124.098074,45.722628],[124.10177,45.700898],[124.13503,45.690448],[124.122096,45.669123],[124.147349,45.665359],[124.128255,45.641933],[124.162132,45.616404],[124.226805,45.633564],[124.238508,45.591702],[124.273001,45.584163],[124.264377,45.555256],[124.287783,45.539329],[124.348761,45.546874],[124.369087,45.512915],[124.352457,45.496557],[124.374015,45.45795],[124.398652,45.440737],[124.480572,45.456271],[124.507058,45.424778],[124.544014,45.411756],[124.579738,45.424358],[124.575427,45.451234],[124.625318,45.437377],[124.690607,45.452493],[124.729412,45.444096],[124.776223,45.468024],[124.792853,45.436958],[124.839665,45.455852],[124.886476,45.442836],[124.884628,45.495299],[124.911114,45.535976],[124.936983,45.53388],[124.961005,45.495299],[125.025678,45.493201],[125.0497,45.428558],[125.08912,45.420998],[125.06633,45.39915],[125.097127,45.38276],[125.137779,45.409655],[125.189518,45.39915],[125.248649,45.417637],[125.301619,45.402092],[125.319482,45.422678],[125.361981,45.392847],[125.398322,45.416797],[125.434662,45.462988],[125.424807,45.485649],[125.480242,45.486488],[125.497488,45.469283],[125.583104,45.491942],[125.61698,45.517947],[125.660096,45.507043],[125.687813,45.514173],[125.711835,45.477677],[125.712451,45.389485],[125.695205,45.352066],[125.726001,45.336503],[125.761726,45.291472],[125.815929,45.264942],[125.823936,45.237978],[125.849805,45.23882],[125.915095,45.196664],[125.957595,45.201303],[125.992703,45.192447],[125.998247,45.162072],[126.047522,45.170933],[126.091869,45.149411],[126.142992,45.147723],[126.166398,45.13337],[126.225528,45.154054],[126.235383,45.140125],[126.285274,45.162494],[126.293282,45.180214],[126.356107,45.185698],[126.402919,45.222805],[126.519331,45.248091],[126.540273,45.23882],[126.569222,45.252725],[126.644983,45.225334],[126.640055,45.214373],[126.685635,45.187807],[126.732446,45.187385],[126.787265,45.159118],[126.792808,45.135481],[126.85625,45.145613],[126.96404,45.132104],[126.970815,45.070852],[126.984981,45.067893],[127.018242,45.024341],[127.050271,45.004034],[127.092771,44.94688],[127.073061,44.907051],[127.021938,44.898997],[126.999764,44.87398],[126.984366,44.823914],[126.9973,44.764882],[127.041032,44.712169],[127.030561,44.673454],[127.044112,44.653874],[127.041648,44.591258],[127.049655,44.566961],[127.089691,44.593816],[127.094619,44.615972],[127.138966,44.607451],[127.182082,44.644507],[127.228893,44.642804],[127.214111,44.624917],[127.261538,44.61299],[127.275705,44.640249],[127.392733,44.632158],[127.557189,44.575488],[127.570124,44.55033],[127.536247,44.522176],[127.485124,44.528576],[127.465414,44.516628],[127.463566,44.484615],[127.50853,44.437202],[127.486356,44.410275],[127.579363,44.310581],[127.623711,44.278025],[127.59045,44.227872],[127.626174,44.187977],[127.641573,44.193555],[127.681609,44.166946],[127.712406,44.199133],[127.735811,44.11412],[127.729036,44.09908],[127.783239,44.071997],[127.808492,44.086615],[127.846065,44.081886],[127.862695,44.062967],[127.912586,44.064687],[127.950158,44.088334],[128.042549,44.103807],[128.091208,44.133022],[128.088129,44.158359],[128.060411,44.168663],[128.09244,44.181539],[128.104143,44.230017],[128.064107,44.251454],[128.101679,44.293449],[128.065339,44.307155],[128.049941,44.349965],[128.074578,44.370075],[128.094904,44.354673],[128.137404,44.357668],[128.172512,44.34697],[128.211317,44.431647],[128.228563,44.445748],[128.293237,44.467961],[128.295084,44.480772],[128.372693,44.514495],[128.397946,44.483761],[128.427511,44.473512],[128.463236,44.431647],[128.457076,44.409848],[128.481714,44.375637],[128.475555,44.346114],[128.446605,44.339694],[128.472475,44.320001],[128.453997,44.257884],[128.471859,44.247596],[128.450301,44.203423],[128.471859,44.157501],[128.529141,44.112401],[128.574721,44.047914],[128.584576,43.990246],[128.610445,43.960529],[128.64001,43.948035],[128.636315,43.891132],[128.696061,43.903207],[128.729938,43.889838],[128.760734,43.857482],[128.719467,43.816905],[128.739177,43.806972],[128.760119,43.755554],[128.729322,43.736964],[128.768126,43.732207],[128.78722,43.686784],[128.821097,43.637429],[128.834647,43.587599],[128.878379,43.539898],[128.949828,43.553779],[128.962763,43.53903],[129.013886,43.522976],[129.037907,43.540332],[129.093958,43.547706],[129.145081,43.570258],[129.169102,43.561585],[129.23008,43.593234],[129.232544,43.635263],[129.217146,43.648689],[129.214066,43.695006],[129.232544,43.709284],[129.211602,43.784509],[129.254718,43.819496],[129.289826,43.797038],[129.30892,43.812155],[129.348341,43.798333],[129.406855,43.819496],[129.417942,43.843672],[129.449971,43.850578],[129.467833,43.874741],[129.529427,43.870427],[129.650767,43.873016],[129.699426,43.8838],[129.743158,43.876035],[129.739462,43.895876],[129.780114,43.892857],[129.802904,43.964837],[129.868193,44.012631],[129.881128,44.000148],[129.907614,44.023821],[129.951345,44.027263],[129.979062,44.015644],[130.017867,43.961821],[130.022794,43.917866],[130.009243,43.889407],[130.027722,43.851872],[130.079461,43.835039],[130.110873,43.852735],[130.116417,43.878192],[130.143518,43.878624],[130.153373,43.915711],[130.208192,43.948466],[130.262395,43.949328],[130.27225,43.981634],[130.307358,44.002731],[130.319061,44.03974],[130.365256,44.044042],[130.364025,43.992399],[130.338155,43.963975],[130.381887,43.910106],[130.368336,43.894151],[130.386198,43.85403],[130.362793,43.844967],[130.381887,43.817768],[130.382503,43.777164],[130.423155,43.745179],[130.394206,43.703227],[130.412684,43.652586],[130.437937,43.646091],[130.488444,43.65605],[130.501995,43.636563],[130.57098,43.626167],[130.57098,43.626167],[130.630726,43.622268],[130.623335,43.589767],[130.665835,43.583698],[130.671378,43.565054],[130.727429,43.560284],[130.776704,43.52341],[130.822899,43.503446],[130.841378,43.454374],[130.864167,43.437863],[130.907283,43.434387],[130.959638,43.48608],[131.026775,43.508655],[131.142572,43.425695],[131.175217,43.444816],[131.201086,43.442209],[131.234963,43.475224],[131.294093,43.470012],[131.304564,43.502144],[131.276847,43.495632],[131.20047,43.532089],[131.222028,43.593234],[131.216485,43.613169],[131.239274,43.670337],[131.221412,43.682024],[131.215869,43.72745],[131.232499,43.742585],[131.213405,43.801357],[131.2171,43.836334],[131.254057,43.893289],[131.26268,43.948897],[131.245434,43.95579],[131.26576,44.034578],[131.28239,44.035868],[131.287318,44.03802],[131.293477,44.043182],[131.310723,44.046623],[131.111775,44.710042],[131.090833,44.717272],[131.093297,44.746183],[131.069275,44.759783],[131.064348,44.786973],[131.016304,44.789521],[131.015688,44.814999],[130.972573,44.820094],[130.965181,44.85065],[131.07913,44.881614],[131.10192,44.898997],[131.090217,44.924427],[131.16105,44.948151],[131.20355,44.932901],[131.207861,44.913833],[131.263296,44.929935],[131.274999,44.919766],[131.313803,44.950692],[131.313803,44.965938],[131.355071,44.990068],[131.380324,44.978216],[131.409889,44.985836],[131.464708,44.963397],[131.501664,44.977793],[131.484418,44.99557],[131.529382,45.012073],[131.566338,45.045487],[131.63286,45.075078],[131.695685,45.132104],[131.687678,45.1511],[131.650722,45.159962],[131.681519,45.215217],[131.721555,45.234606],[131.759127,45.213952],[131.79362,45.211844],[131.788692,45.245984],[131.825649,45.291472],[131.82996,45.311677],[131.887858,45.342393],[131.917423,45.339448],[131.93159,45.287683],[131.976554,45.277156],[132.003655,45.25441],[132.17427,45.216903],[132.394161,45.16376],[132.76434,45.081417],[132.867202,45.061976],[132.916477,45.031109],[132.954049,45.023072],[132.98731,45.043373],[133.035969,45.054366],[133.070462,45.097051],[133.089556,45.097473],[133.107418,45.124504],[133.139447,45.127459],[133.129592,45.211422],[133.095715,45.246827],[133.110498,45.266627],[133.097563,45.284735],[133.128976,45.336924],[133.119121,45.352908],[133.144991,45.367205],[133.143759,45.430658],[133.164701,45.437377],[133.170244,45.465506],[133.203505,45.516689],[133.246005,45.517528],[133.333468,45.562379],[133.342707,45.554836],[133.393214,45.580393],[133.423395,45.584163],[133.412924,45.618079],[133.471438,45.631053],[133.448649,45.647372],[133.485605,45.658667],[133.484989,45.691702],[133.445569,45.705077],[133.454192,45.731819],[133.486837,45.740173],[133.469591,45.777751],[133.505315,45.785681],[133.469591,45.799451],[133.467743,45.834905],[133.494228,45.840325],[133.491764,45.867002],[133.51209,45.887001],[133.55459,45.893249],[133.583539,45.868669],[133.618032,45.903662],[133.614952,45.942794],[133.676546,45.94321],[133.681474,45.986473],[133.740604,46.048812],[133.745531,46.075389],[133.690713,46.133896],[133.706111,46.163333],[133.764626,46.17328],[133.794807,46.193583],[133.814517,46.230854],[133.849625,46.203939],[133.87919,46.233752],[133.867487,46.250722],[133.909987,46.254447],[133.91861,46.280924],[133.908139,46.308216],[133.922922,46.330948],[133.869335,46.338386],[133.876726,46.362345],[133.940784,46.38134],[133.948791,46.401153],[133.902596,46.446119],[133.852089,46.450242],[133.849625,46.475389],[133.890893,46.525235],[133.919842,46.596012],[134.011001,46.637941],[134.030711,46.708981],[134.033175,46.759023],[134.052885,46.779928],[134.025168,46.810657],[134.041182,46.848326],[134.042414,46.886787],[134.076291,46.938298],[134.063972,46.979962],[134.10216,47.005678],[134.118175,47.061968],[134.142812,47.093349],[134.222268,47.105164],[134.232739,47.134892],[134.230276,47.182097],[134.210566,47.210155],[134.156979,47.248357],[134.177305,47.326299],[134.203174,47.347389],[134.263536,47.371307],[134.266616,47.391974],[134.307268,47.428829],[134.339297,47.439759],[134.490202,47.446235],[134.522847,47.468086],[134.568426,47.478199],[134.576434,47.519036],[134.627556,47.546512],[134.678064,47.588507],[134.689766,47.63813],[134.779694,47.7159],[134.772918,47.763391],[134.678679,47.819278],[134.670056,47.864667],[134.677448,47.884738],[134.658969,47.901191],[134.607846,47.909214],[134.599839,47.947711],[134.55426,47.982173],[134.551796,48.032622],[134.632484,48.099412],[134.67252,48.170505],[134.679295,48.256245],[134.77107,48.288908],[134.864077,48.332293],[135.009439,48.365703],[135.090743,48.403461],[135.09567,48.437618],[135.068569,48.459451],[135.035924,48.440795],[134.996504,48.439603],[134.927519,48.451513],[134.886867,48.437618],[134.848679,48.393925],[134.820961,48.37604],[134.764295,48.370076],[134.704549,48.405448],[134.640491,48.409818],[134.578281,48.405448],[134.501905,48.418954],[134.438463,48.405448],[134.369478,48.382797],[134.20379,48.3824],[134.150819,48.346217],[134.116327,48.333089],[134.0689,48.338659],[134.029479,48.327519],[133.995603,48.303639],[133.940784,48.302047],[133.876111,48.282536],[133.824372,48.277359],[133.791111,48.261026],[133.740604,48.254651],[133.693177,48.186866],[133.667307,48.183275],[133.59709,48.194846],[133.573068,48.182078],[133.545967,48.121389],[133.451728,48.112999],[133.407997,48.124585],[133.302055,48.103009],[133.239845,48.126583],[133.182563,48.135769],[133.130208,48.134971],[133.053216,48.110202],[133.02673,48.085421],[133.016259,48.054228],[132.992238,48.035424],[132.883216,48.002599],[132.819159,47.936887],[132.769268,47.93849],[132.723072,47.962941],[132.691043,47.962941],[132.661478,47.944905],[132.662094,47.922451],[132.687348,47.88514],[132.662094,47.854227],[132.621442,47.82852],[132.599268,47.792347],[132.6005,47.740858],[132.558,47.718316],[132.469305,47.726368],[132.371987,47.765402],[132.325175,47.762184],[132.288835,47.742065],[132.272205,47.718718],[132.242639,47.70986],[132.19706,47.714289],[132.157024,47.70543],[132.086191,47.703013],[132.000575,47.712276],[131.976554,47.673201],[131.900793,47.685692],[131.825649,47.677231],[131.741881,47.706638],[131.690142,47.707041],[131.641483,47.663932],[131.59036,47.660707],[131.568186,47.682469],[131.559563,47.724757],[131.543548,47.736028],[131.456085,47.747297],[131.359998,47.730796],[131.273767,47.738846],[131.236811,47.733211],[131.183224,47.702611],[131.115471,47.689721],[131.029855,47.694555],[130.983659,47.713081],[130.966413,47.733211],[130.961486,47.828118],[130.891269,47.927263],[130.870943,47.943301],[130.770544,47.998194],[130.737284,48.034223],[130.699711,48.044227],[130.666451,48.105007],[130.673842,48.12818],[130.765617,48.18926],[130.769313,48.231136],[130.787791,48.256643],[130.817972,48.265409],[130.845073,48.296473],[130.81982,48.341444],[130.785327,48.357353],[130.747755,48.404256],[130.745907,48.449131],[130.776704,48.480084],[130.767465,48.507846],[130.711414,48.511414],[130.647357,48.484844],[130.620871,48.49595],[130.615944,48.575601],[130.605473,48.594207],[130.538335,48.612016],[130.538951,48.635751],[130.576524,48.688719],[130.622103,48.783842],[130.689856,48.849651],[130.680617,48.881146],[130.609168,48.881146],[130.559277,48.861071],[130.501995,48.865795],[130.471198,48.905541],[130.412068,48.905148],[130.279641,48.866976],[130.237757,48.868551],[130.219895,48.893739],[130.113337,48.956653],[130.059135,48.979047],[130.020946,49.021058],[129.937179,49.040285],[129.9187,49.060681],[129.934715,49.078717],[129.913157,49.1085],[129.866962,49.113985],[129.855259,49.133567],[129.864498,49.158621],[129.847867,49.181316],[129.784426,49.184054],[129.753629,49.208692],[129.761636,49.25754],[129.730223,49.288387],[129.696962,49.298535],[129.604571,49.279018],[129.562687,49.299706],[129.546057,49.395227],[129.51834,49.423652],[129.448739,49.441167],[129.390224,49.432605],[129.374826,49.414309],[129.379138,49.367175],[129.358196,49.355871],[129.320623,49.3586],[129.266421,49.396006],[129.215298,49.399122],[129.180805,49.386657],[129.143849,49.357431],[129.084719,49.359769],[129.061929,49.374189],[129.013886,49.457119],[128.932582,49.46801],[128.871604,49.492506],[128.792147,49.473065],[128.76135,49.482009],[128.763198,49.515824],[128.813089,49.558157],[128.802618,49.58222],[128.744104,49.595023],[128.715155,49.564756],[128.656025,49.577564],[128.619684,49.593471],[128.537764,49.604332],[128.500192,49.593859],[128.389939,49.58998],[128.343128,49.544956],[128.287077,49.566309],[128.243345,49.563203],[128.185447,49.53952],[128.122005,49.55311],[128.070882,49.556604],[128.001281,49.592307],[127.949542,49.596187],[127.897804,49.579116],[127.815268,49.593859],[127.782007,49.630698],[127.705015,49.665185],[127.677913,49.697712],[127.674833,49.764247],[127.653892,49.780094],[127.583059,49.786277],[127.531936,49.826059],[127.529472,49.864265],[127.547334,49.928645],[127.543638,49.944438],[127.495595,49.994479],[127.501755,50.056764],[127.58737,50.137768],[127.60708,50.178794],[127.603385,50.239309],[127.44632,50.270686],[127.371791,50.29669],[127.332371,50.340634],[127.369944,50.403996],[127.3644,50.438314],[127.30527,50.45432],[127.293567,50.46575],[127.323132,50.52552],[127.36132,50.547582],[127.370559,50.581415],[127.294799,50.663426],[127.28864,50.699451],[127.305886,50.733932],[127.295415,50.755139],[127.236285,50.781256],[127.143894,50.910111],[127.113713,50.93765],[127.052119,50.962911],[126.985597,51.029202],[126.922772,51.061937],[126.917844,51.138977],[126.899982,51.200518],[126.926467,51.246244],[126.976358,51.291551],[126.98375,51.318863],[126.970815,51.332327],[126.887047,51.321856],[126.877808,51.300906],[126.908605,51.283691],[126.92154,51.259729],[126.908605,51.246619],[126.863025,51.248492],[126.820526,51.281071],[126.813134,51.311756],[126.837156,51.345038],[126.904293,51.340552],[126.930163,51.359241],[126.908605,51.407423],[126.835308,51.413769],[126.791577,51.432428],[126.784185,51.448095],[126.812518,51.493948],[126.843931,51.521885],[126.837156,51.536033],[126.69549,51.57845],[126.67886,51.602246],[126.741069,51.642374],[126.723823,51.679126],[126.734294,51.711399],[126.724439,51.7266],[126.6727,51.73179],[126.658534,51.762544],[126.622809,51.777357],[126.580925,51.824728],[126.555056,51.874266],[126.510092,51.922274],[126.462665,51.948471],[126.468208,51.982395],[126.447882,52.009294],[126.450962,52.027709],[126.487918,52.041699],[126.514404,52.037282],[126.563679,52.119302],[126.556288,52.136203],[126.499005,52.16044],[126.457121,52.165212],[126.403535,52.185031],[126.34502,52.192002],[126.306832,52.205574],[126.312992,52.235271],[126.357955,52.264216],[126.401071,52.279597],[126.436795,52.277034],[126.4331,52.298632],[126.327774,52.310342],[126.320999,52.342163],[126.348716,52.357882],[126.353644,52.389304],[126.326542,52.424353],[126.268644,52.475051],[126.205202,52.466302],[126.192883,52.492181],[126.213209,52.525327],[126.147304,52.573],[126.066616,52.603905],[126.055529,52.582455],[126.030891,52.576273],[125.989008,52.603178],[125.968682,52.630429],[125.971145,52.654033],[125.995783,52.675085],[126.061688,52.673271],[126.072775,52.691048],[126.044442,52.739628],[126.112195,52.757016],[126.116507,52.768243],[126.052449,52.800095],[126.02042,52.795753],[125.985312,52.758465],[125.966834,52.759914],[125.937269,52.786705],[125.923718,52.815651],[125.855349,52.866259],[125.854117,52.891542],[125.827631,52.899123],[125.772197,52.89804],[125.751255,52.88143],[125.722306,52.880347],[125.678574,52.86084],[125.666871,52.869872],[125.665023,52.913561],[125.737088,52.943504],[125.742632,52.993964],[125.684118,53.00801],[125.643466,53.039686],[125.640386,53.06199],[125.613901,53.083564],[125.588647,53.081047],[125.530749,53.0512],[125.504263,53.061271],[125.503647,53.095424],[125.452524,53.107641],[125.343503,53.14463],[125.315786,53.144989],[125.252344,53.18051],[125.195062,53.198439],[125.142091,53.204175],[125.038613,53.202741],[124.970244,53.194137],[124.887708,53.164368],[124.909266,53.118059],[124.87231,53.099018],[124.832889,53.145347],[124.787926,53.140681],[124.734339,53.146783],[124.712165,53.162574],[124.720789,53.192344],[124.678905,53.207043],[124.590209,53.208476],[124.563108,53.201666],[124.496587,53.207759],[124.487348,53.217436],[124.435609,53.223886],[124.412203,53.248601],[124.375863,53.258984],[124.327819,53.331954],[124.239124,53.379817],[124.19416,53.37339],[124.125791,53.348033],[124.058038,53.404085],[124.01369,53.403371],[123.985973,53.434401],[123.865249,53.489627],[123.797495,53.489983],[123.746373,53.500308],[123.698329,53.498528],[123.668764,53.533756],[123.620721,53.550115],[123.58746,53.546915],[123.569598,53.505291],[123.53141,53.507071],[123.557895,53.531978],[123.546808,53.551537],[123.517243,53.558292],[123.490758,53.542648],[123.510468,53.509206],[123.499381,53.497816],[123.47228,53.509206],[123.454417,53.536602],[123.394055,53.538024],[123.309672,53.56078],[123.274563,53.563269],[123.231447,53.549404],[123.179092,53.509918],[123.137209,53.498172],[123.093477,53.508138],[123.052209,53.506715],[122.943804,53.483929],[122.894528,53.462914],[122.826775,53.457213],[122.763949,53.463626],[122.673406,53.459351],[122.608117,53.465408],[122.5379,53.453293],[122.496016,53.458638],[122.435038,53.444739],[122.37406,53.47467],[122.350038,53.505647],[122.266886,53.470039],[122.227466,53.461845],[122.161561,53.468614],[122.111054,53.426913],[122.077177,53.422277],[122.026054,53.428339],[121.875765,53.426556],[121.816019,53.41336],[121.754425,53.389454],[121.697758,53.392666],[121.589969,53.350891],[121.499426,53.337314],[121.504969,53.323018],[121.575802,53.29155],[121.615222,53.258984],[121.642324,53.262564],[121.679896,53.240722],[121.67928,53.199515],[121.660186,53.195213],[121.665114,53.170467],[121.722396,53.145706],[121.753193,53.147501],[121.784606,53.104408],[121.775367,53.089674],[121.817867,53.061631],[121.785838,53.018451],[121.715621,52.997926],[121.677432,52.948192],[121.66265,52.912478],[121.610295,52.892264],[121.604136,52.872401],[121.620766,52.853251],[121.591201,52.824693],[121.537614,52.801542],[121.511129,52.779104],[121.476636,52.772225],[121.455078,52.73528],[121.373158,52.683067],[121.309717,52.676173],[121.29247,52.651855],[121.237036,52.619167],[121.182217,52.59918],[121.225333,52.577364],[121.280151,52.586819],[121.323883,52.573727],[121.353448,52.534793],[121.411963,52.52205],[121.416274,52.499468],[121.474172,52.482706],[121.495114,52.484892],[121.519136,52.456821],[121.565331,52.460468],[121.590585,52.443326],[121.63986,52.44442],[121.678664,52.419973],[121.658338,52.3904],[121.715621,52.342894],[121.714389,52.318025],[121.769207,52.308147],[121.841272,52.282526],[121.901018,52.280695],[121.94783,52.298266],[121.976779,52.343626],[122.035909,52.377615],[122.040837,52.413038],[122.091344,52.427272],[122.080873,52.440407],[122.107358,52.452445],[122.142467,52.495096],[122.140003,52.510032],[122.168952,52.513674],[122.178191,52.48963],[122.207756,52.469218],[122.310618,52.475416],[122.326016,52.459374],[122.342031,52.414133],[122.367284,52.413768],[122.378987,52.395512],[122.419023,52.375057],[122.447356,52.394052],[122.484313,52.341432],[122.478153,52.29607],[122.560689,52.282526],[122.585943,52.266413],[122.67895,52.276667],[122.710979,52.256157],[122.76087,52.26678],[122.787355,52.252494],[122.766413,52.232705],[122.769493,52.179893],[122.73808,52.153464],[122.690653,52.140243],[122.629059,52.13657],[122.643841,52.111585],[122.625363,52.067459],[122.650616,52.058997],[122.664783,51.99861],[122.683877,51.974654],[122.726377,51.978709],[122.729457,51.919321],[122.706051,51.890151],[122.725761,51.87833],[122.732536,51.832495],[122.771957,51.779579],[122.749167,51.746613],[122.778732,51.698048],[122.816304,51.655371],[122.820616,51.633088],[122.85634,51.606707],[122.832935,51.581797],[122.874202,51.561339],[122.880362,51.537894],[122.858804,51.524864],[122.880362,51.511085],[122.854492,51.477551],[122.871123,51.455181],[122.900072,51.445112],[122.903768,51.415262],[122.946267,51.405183],[122.965977,51.386886],[122.965977,51.345786],[123.002934,51.31213],[123.069455,51.321108],[123.127969,51.297913],[123.231447,51.279199],[123.231447,51.268716],[123.294273,51.254111],[123.339853,51.27246],[123.376809,51.266844],[123.414381,51.278825],[123.440251,51.270963],[123.46304,51.286686],[123.582533,51.294545],[123.582533,51.306893],[123.661989,51.319237],[123.660141,51.342795],[123.711264,51.398089],[123.794416,51.361109],[123.842459,51.367462],[123.887423,51.320734],[123.926227,51.300532],[123.939777,51.313253],[123.994596,51.322604],[124.071588,51.320734],[124.090067,51.3413],[124.128255,51.347281],[124.192313,51.33943],[124.239124,51.344664],[124.271769,51.308389],[124.297638,51.298661],[124.339522,51.293422],[124.406659,51.272086],[124.430065,51.301281],[124.426985,51.331953],[124.443616,51.35812],[124.478108,51.36223],[124.490427,51.380537],[124.555717,51.375307],[124.58713,51.363725],[124.62655,51.327465],[124.693687,51.3327],[124.752817,51.35812],[124.76452,51.38726],[124.783614,51.392115],[124.864302,51.37979],[124.885244,51.40817],[124.942527,51.447349],[124.917889,51.474196],[124.928976,51.498419],[124.983795,51.508478],[125.004737,51.529332],[125.047236,51.529704],[125.073106,51.553526],[125.060171,51.59667],[125.098975,51.658341],[125.12854,51.659083],[125.130388,51.635317],[125.175968,51.639403],[125.214772,51.627888],[125.228938,51.640517],[125.289301,51.633831],[125.316402,51.610052],[125.35151,51.623801],[125.38046,51.585516],[125.424807,51.562827],[125.528285,51.488359],[125.559082,51.461521],[125.559082,51.461521],[125.595422,51.416755],[125.595422,51.416755],[125.60035,51.413396],[125.60035,51.413396],[125.600966,51.410409],[125.600966,51.410409],[125.62314,51.398089],[125.62314,51.398089],[125.623756,51.387633],[125.623756,51.387633],[125.626219,51.380163],[125.626219,51.380163],[125.700132,51.327465],[125.700132,51.327465],[125.740784,51.27583],[125.740784,51.27583],[125.76111,51.261976],[125.76111,51.261976],[125.761726,51.226385],[125.819008,51.227134],[125.850421,51.21364],[125.864588,51.146487],[125.909551,51.138977],[125.946508,51.108176],[125.970529,51.123955],[125.993935,51.119072],[125.976073,51.084498],[126.059225,51.043503],[126.033971,51.011132],[126.041978,50.981753],[126.068464,50.967434],[126.042594,50.92558],[126.02042,50.927466],[125.996399,50.906715],[125.997631,50.872738],[125.961906,50.901054],[125.939732,50.85423],[125.913247,50.825885],[125.878138,50.816812],[125.890457,50.805845],[125.836255,50.793363],[125.846726,50.769524],[125.828863,50.756654],[125.804226,50.773309],[125.758646,50.746809],[125.795603,50.738856],[125.78082,50.725598],[125.825784,50.70362],[125.789443,50.679735],[125.804226,50.658874],[125.793139,50.643316],[125.814697,50.62092],[125.807921,50.60383],[125.829479,50.56165],[125.794987,50.532748],[125.770349,50.531227],[125.754335,50.506874],[125.740784,50.523237],[125.699516,50.487078],[125.654553,50.471082],[125.627451,50.443268],[125.580024,50.449366],[125.562162,50.438314],[125.583104,50.409717],[125.567089,50.402852],[125.536292,50.420014],[125.522126,50.404759],[125.546763,50.358965],[125.520278,50.3498],[125.530749,50.331085],[125.463611,50.295925],[125.466075,50.266861],[125.442053,50.260357],[125.448829,50.216338],[125.417416,50.195654],[125.39093,50.199868],[125.382923,50.172278],[125.335496,50.161161],[125.376148,50.137385],[125.311474,50.140453],[125.27883,50.127411],[125.258504,50.103618],[125.287453,50.093636],[125.283757,50.070211],[125.328105,50.065985],[125.315786,50.04562],[125.289916,50.057917],[125.25296,50.041393],[125.283757,50.036012],[125.297924,50.014481],[125.278214,49.996402],[125.241873,49.987938],[125.231402,49.957531],[125.190134,49.959841],[125.199373,49.935194],[125.225859,49.922481],[125.212924,49.907452],[125.245569,49.87198],[125.225243,49.867351],[125.239409,49.844587],[125.177815,49.829533],[125.222779,49.799026],[125.221547,49.754969],[125.204301,49.734086],[125.225243,49.726349],[125.219699,49.669058],[125.185207,49.634574],[125.189518,49.652401],[125.164881,49.669446],[125.132236,49.672157],[125.127308,49.655113],[125.15441,49.616741],[125.16796,49.629923],[125.205533,49.593859],[125.23017,49.595411],[125.233866,49.536801],[125.211076,49.539908],[125.228323,49.487063],[125.270822,49.454395],[125.256656,49.437275],[125.25604,49.395227],[125.277598,49.379644],[125.256656,49.359769],[125.261583,49.322336],[125.214772,49.277066],[125.227707,49.248947],[125.219699,49.189139],[125.187671,49.186792],[125.158721,49.144921],[125.117453,49.126127],[125.034302,49.157056],[125.039845,49.17623],[124.983179,49.162535],[124.906802,49.184054],[124.860607,49.166448],[124.847672,49.129651],[124.809484,49.115943],[124.828578,49.077933],[124.808252,49.020666],[124.756513,48.967262],[124.744194,48.920487],[124.709086,48.920487],[124.715861,48.885475],[124.697383,48.841775],[124.654267,48.83429],[124.644412,48.80789],[124.656115,48.783842],[124.612383,48.747945],[124.624702,48.701755],[124.601912,48.632587],[124.579122,48.596582],[124.520608,48.556195],[124.548941,48.535593],[124.533543,48.515379],[124.555717,48.467784],[124.507674,48.445558],[124.52492,48.426897],[124.51876,48.378027],[124.547094,48.35775],[124.540934,48.335476],[124.579738,48.297269],[124.558796,48.268197],[124.579122,48.262221],[124.547094,48.200829],[124.512601,48.164518],[124.529847,48.146951],[124.505826,48.124985],[124.478108,48.123387],[124.46579,48.098213],[124.415899,48.08782],[124.430065,48.12099],[124.471333,48.133373],[124.475029,48.173698],[124.418978,48.181679],[124.412819,48.219175],[124.422058,48.245884],[124.365392,48.283731],[124.353689,48.315978],[124.317964,48.35099],[124.331515,48.380015],[124.309957,48.413393],[124.330283,48.435633],[124.302566,48.456673],[124.314269,48.503881],[124.25945,48.536385],[124.25945,48.536385],[124.136878,48.463023],[124.07898,48.43603],[124.019234,48.39313],[123.862785,48.271782],[123.746373,48.197638],[123.705105,48.152142],[123.579453,48.045427],[123.537569,48.021816],[123.300432,47.953723],[123.256085,47.876711],[123.214201,47.824502],[123.161846,47.781892],[123.041122,47.746492],[122.926557,47.697777],[122.848949,47.67441],[122.765181,47.614333],[122.59395,47.54732],[122.543443,47.495589],[122.507103,47.401291],[122.418407,47.350632],[122.441197,47.310476],[122.441197,47.310476],[122.462755,47.27841],[122.498479,47.255262],[122.531124,47.198771],[122.582863,47.158092],[122.582863,47.158092],[122.615508,47.124306],[122.679566,47.094164],[122.710363,47.093349],[122.710363,47.093349],[122.821232,47.065636],[122.852645,47.072158],[122.845869,47.046881],[122.778116,47.002822],[122.77442,46.973837],[122.798442,46.9575],[122.791051,46.941567],[122.83971,46.937072],[122.895144,46.960359],[122.893913,46.895376],[122.906847,46.80738],[122.996774,46.761483],[123.00355,46.730726],[123.026339,46.718829],[123.076846,46.745082],[123.103332,46.734828],[123.163694,46.74016],[123.198802,46.803283],[123.22344,46.821305],[123.221592,46.850373],[123.295505,46.865105],[123.341084,46.826628],[123.374345,46.837683],[123.40699,46.906416],[123.404526,46.935438],[123.360179,46.970978],[123.304128,46.964852],[123.301664,46.999965],[123.337389,46.988943],[123.42362,46.934212],[123.487678,46.959951],[123.52833,46.944836],[123.483366,46.84587],[123.506772,46.827038],[123.562823,46.82581],[123.575757,46.845461],[123.576989,46.891286],[123.605322,46.891286],[123.599163,46.868378],[123.625648,46.847508],[123.580069,46.827447],[123.629344,46.813524],[123.631808,46.728675],[123.603475,46.68928],[123.474743,46.686817],[123.366338,46.677784],[123.318295,46.662179],[123.276411,46.660947],[123.279491,46.616981],[123.228368,46.588198],[123.18094,46.614103],[123.098404,46.603002],[123.077462,46.622324],[123.04605,46.617803],[123.052825,46.579972],[123.002318,46.574624],[123.010325,46.524823],[123.011557,46.434984],[123.089781,46.347888],[123.142136,46.298293],[123.178476,46.248239],[123.248078,46.273065],[123.286266,46.250308],[123.320758,46.254447],[123.357099,46.232096],[123.357099,46.232096],[123.430396,46.243687],[123.452569,46.233338],[123.499381,46.259826],[123.569598,46.223816],[123.569598,46.223816]]]]}},{type:"Feature",properties:{adcode:31e4,name:"上海市",center:[121.472644,31.231706],centroid:[121.438737,31.072559],childrenNum:16,level:"province",parent:{adcode:1e5},subFeatureIndex:8,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[120.901349,31.017327],[120.940153,31.010146],[120.949392,31.030148],[120.989428,31.01425],[121.000515,30.938309],[120.993124,30.889532],[121.020225,30.872069],[120.991892,30.837133],[121.038087,30.814007],[121.060261,30.845354],[121.097833,30.857171],[121.13787,30.826342],[121.123087,30.77905],[121.174826,30.771851],[121.21671,30.785734],[121.232108,30.755909],[121.272144,30.723504],[121.274608,30.677191],[121.362071,30.679764],[121.426129,30.730192],[121.517288,30.775451],[121.601056,30.805269],[121.681128,30.818633],[121.904714,30.814007],[121.943518,30.776993],[121.970004,30.789333],[121.954605,30.825828],[121.994025,30.862823],[121.990945,30.96859],[121.977395,31.016301],[121.946598,31.066039],[121.809859,31.196669],[121.722396,31.3036],[121.599208,31.37465],[121.520984,31.394575],[121.404571,31.479337],[121.343593,31.511996],[121.301093,31.49873],[121.301093,31.49873],[121.247507,31.476785],[121.241963,31.493117],[121.174826,31.44922],[121.143413,31.392021],[121.113848,31.37465],[121.130478,31.343987],[121.142797,31.275472],[121.090442,31.291838],[121.060261,31.245289],[121.076892,31.158267],[121.018377,31.134194],[120.930298,31.141365],[120.881023,31.134706],[120.859465,31.100379],[120.890878,31.094229],[120.901349,31.017327]]],[[[121.974931,31.61704],[121.715005,31.673592],[121.64294,31.697527],[121.599824,31.703128],[121.49881,31.753012],[121.431673,31.769295],[121.384861,31.833382],[121.323267,31.868458],[121.265369,31.863883],[121.200079,31.834907],[121.118775,31.759119],[121.145261,31.75403],[121.289391,31.61653],[121.371926,31.553314],[121.395332,31.585437],[121.434136,31.590535],[121.547469,31.531382],[121.625693,31.501792],[121.682976,31.491075],[121.819098,31.437987],[121.890547,31.428795],[121.981706,31.464024],[121.995873,31.493117],[121.974931,31.61704]]],[[[121.795693,31.330186],[121.792613,31.363408],[121.742106,31.407345],[121.585657,31.454836],[121.567179,31.48342],[121.520984,31.494137],[121.509897,31.4824],[121.572107,31.435944],[121.727939,31.35472],[121.76428,31.31536],[121.785222,31.31127],[121.795693,31.330186]]],[[[121.801852,31.356765],[121.8037,31.328652],[121.840656,31.295418],[121.932431,31.283144],[122.016199,31.282121],[122.097503,31.255522],[122.122756,31.307179],[122.116597,31.320984],[122.040837,31.324051],[121.951525,31.337343],[121.845584,31.37465],[121.792613,31.377715],[121.801852,31.356765]]],[[[121.626925,31.445135],[121.631853,31.456878],[121.579498,31.479848],[121.626925,31.445135]]],[[[121.943518,31.215608],[121.959533,31.159291],[121.995873,31.160828],[122.008808,31.221238],[121.950909,31.228915],[121.943518,31.215608]]],[[[121.88254,31.240684],[121.909026,31.195133],[121.923808,31.234032],[121.88254,31.240684]]]]}},{type:"Feature",properties:{adcode:32e4,name:"江苏省",center:[118.767413,32.041544],centroid:[119.486506,32.983991],childrenNum:13,level:"province",parent:{adcode:1e5},subFeatureIndex:9,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[117.311654,34.561686],[117.27285,34.556757],[117.303647,34.542463],[117.267923,34.532603],[117.27285,34.499565],[117.252524,34.48674],[117.248213,34.451216],[117.166293,34.434435],[117.139191,34.526687],[117.15151,34.559222],[117.104083,34.648874],[117.073286,34.639026],[117.061583,34.675947],[117.070206,34.713835],[117.022163,34.759081],[116.969192,34.771864],[116.95133,34.81069],[116.979047,34.815113],[116.966113,34.844588],[116.929156,34.843114],[116.922381,34.894671],[116.858323,34.928533],[116.821983,34.929515],[116.815823,34.965324],[116.789338,34.975133],[116.781331,34.916757],[116.677853,34.939327],[116.622418,34.939818],[116.613795,34.922645],[116.557745,34.908905],[116.445028,34.895652],[116.408071,34.850972],[116.403144,34.756131],[116.369267,34.749247],[116.363724,34.715311],[116.392057,34.710391],[116.374195,34.640011],[116.430245,34.650843],[116.432709,34.630163],[116.477057,34.614896],[116.490607,34.573513],[116.594085,34.511894],[116.592237,34.493646],[116.662454,34.472927],[116.722816,34.472434],[116.773939,34.453683],[116.782563,34.429993],[116.828142,34.389012],[116.909446,34.408271],[116.969192,34.389012],[116.960569,34.363821],[116.983359,34.348011],[116.969192,34.283753],[117.051112,34.221425],[117.025243,34.167469],[117.046801,34.151622],[117.123793,34.128342],[117.130568,34.101586],[117.192162,34.068873],[117.257452,34.065899],[117.277162,34.078787],[117.311654,34.067882],[117.357234,34.088205],[117.404045,34.03218],[117.435458,34.028212],[117.514914,34.060941],[117.543248,34.038627],[117.569117,33.985051],[117.612849,34.000433],[117.629479,34.028708],[117.671363,33.992494],[117.672595,33.934916],[117.715095,33.879287],[117.753899,33.891211],[117.759442,33.874318],[117.739732,33.758467],[117.72495,33.74951],[117.750203,33.710688],[117.791471,33.733585],[117.843826,33.736074],[117.901724,33.720146],[117.972557,33.74951],[118.019985,33.738562],[118.065564,33.76593],[118.117919,33.766427],[118.161035,33.735576],[118.16781,33.663381],[118.112376,33.617045],[118.117919,33.594615],[118.107448,33.475391],[118.050782,33.491863],[118.027376,33.455421],[118.016905,33.402978],[118.029224,33.374995],[117.992883,33.333005],[117.974405,33.279487],[117.939297,33.262475],[117.942376,33.224936],[117.977485,33.226437],[117.988572,33.180869],[118.037231,33.152314],[118.038463,33.134776],[118.149332,33.169348],[118.178281,33.217926],[118.217085,33.191888],[118.219549,33.114227],[118.243571,33.027967],[118.244803,32.998359],[118.26944,32.969242],[118.303933,32.96874],[118.291614,32.946143],[118.252194,32.936601],[118.2331,32.914498],[118.250346,32.848157],[118.301469,32.846145],[118.300237,32.783275],[118.334114,32.761637],[118.363063,32.770695],[118.375382,32.718849],[118.411106,32.715828],[118.450526,32.743518],[118.483787,32.721367],[118.560163,32.729926],[118.572482,32.719856],[118.642699,32.744525],[118.707373,32.72036],[118.756648,32.737477],[118.73817,32.772708],[118.743097,32.853184],[118.743097,32.853184],[118.810235,32.853687],[118.821322,32.920527],[118.846575,32.922034],[118.849039,32.956689],[118.89585,32.957694],[118.89585,32.957694],[118.892771,32.941121],[118.934039,32.93861],[118.993169,32.958196],[119.020886,32.955685],[119.054763,32.8748],[119.113277,32.823014],[119.184726,32.825529],[119.211827,32.708275],[119.208748,32.641276],[119.230921,32.607001],[119.22045,32.576748],[119.152697,32.557582],[119.168096,32.536394],[119.142226,32.499556],[119.084944,32.452602],[119.041212,32.515201],[118.975923,32.505108],[118.922336,32.557078],[118.92172,32.557078],[118.922336,32.557078],[118.92172,32.557078],[118.890923,32.553042],[118.908169,32.59238],[118.84288,32.56767],[118.820706,32.60448],[118.784981,32.582295],[118.757264,32.603976],[118.73509,32.58885],[118.719076,32.614059],[118.719076,32.614059],[118.688895,32.588346],[118.658714,32.594397],[118.632844,32.578261],[118.59712,32.600951],[118.568787,32.585825],[118.564475,32.562122],[118.608823,32.536899],[118.592192,32.481383],[118.628533,32.467751],[118.691359,32.472295],[118.685199,32.403604],[118.703061,32.328792],[118.657482,32.30148],[118.674728,32.250375],[118.643931,32.209875],[118.510888,32.194176],[118.49549,32.165304],[118.501033,32.121726],[118.433896,32.086746],[118.394476,32.076098],[118.389548,31.985281],[118.363679,31.930443],[118.472084,31.879639],[118.466541,31.857784],[118.504729,31.841516],[118.481939,31.778453],[118.533678,31.76726],[118.521975,31.743343],[118.5577,31.73011],[118.571866,31.746397],[118.641467,31.75861],[118.653786,31.73011],[118.697518,31.709747],[118.643315,31.671555],[118.643315,31.649651],[118.736322,31.633347],[118.748025,31.675629],[118.773894,31.682759],[118.802844,31.619078],[118.858894,31.623665],[118.881684,31.564023],[118.885995,31.519139],[118.883532,31.500261],[118.852119,31.393553],[118.824401,31.375672],[118.767735,31.363919],[118.745561,31.372606],[118.720924,31.322518],[118.726467,31.282121],[118.756648,31.279564],[118.794836,31.229426],[118.870597,31.242219],[118.984546,31.237102],[119.014727,31.241707],[119.10527,31.235055],[119.107118,31.250917],[119.158241,31.294907],[119.197661,31.295418],[119.198277,31.270357],[119.266646,31.250405],[119.294363,31.263195],[119.338095,31.259103],[119.350414,31.301043],[119.374435,31.258591],[119.360269,31.213049],[119.391682,31.174142],[119.439109,31.177214],[119.461283,31.156219],[119.532732,31.159291],[119.599869,31.10909],[119.623891,31.130096],[119.678093,31.167997],[119.705811,31.152634],[119.715666,31.169533],[119.779723,31.17875],[119.809904,31.148536],[119.827151,31.174142],[119.878274,31.160828],[119.921389,31.170045],[119.946027,31.106016],[119.988527,31.059375],[120.001461,31.027071],[120.052584,31.00553],[120.111099,30.955761],[120.149903,30.937283],[120.223816,30.926502],[120.316206,30.933689],[120.371025,30.948575],[120.35809,30.886964],[120.42338,30.902884],[120.435083,30.920855],[120.441858,30.860768],[120.460336,30.839702],[120.489285,30.763624],[120.504684,30.757967],[120.563814,30.835592],[120.589684,30.854089],[120.654973,30.846896],[120.68269,30.882342],[120.713487,30.88491],[120.709176,30.933176],[120.684538,30.955247],[120.698089,30.970643],[120.746132,30.962432],[120.770154,30.996809],[120.820661,31.006556],[120.865624,30.989627],[120.901349,31.017327],[120.890878,31.094229],[120.859465,31.100379],[120.881023,31.134706],[120.930298,31.141365],[121.018377,31.134194],[121.076892,31.158267],[121.060261,31.245289],[121.090442,31.291838],[121.142797,31.275472],[121.130478,31.343987],[121.113848,31.37465],[121.143413,31.392021],[121.174826,31.44922],[121.241963,31.493117],[121.247507,31.476785],[121.301093,31.49873],[121.301093,31.49873],[121.343593,31.511996],[121.371926,31.553314],[121.289391,31.61653],[121.145261,31.75403],[121.118775,31.759119],[121.200079,31.834907],[121.265369,31.863883],[121.323267,31.868458],[121.384861,31.833382],[121.431673,31.769295],[121.49881,31.753012],[121.599824,31.703128],[121.64294,31.697527],[121.715005,31.673592],[121.974931,31.61704],[121.970004,31.718911],[121.889315,31.866425],[121.856055,31.955328],[121.772287,32.032984],[121.759352,32.059362],[121.525295,32.136423],[121.542542,32.152132],[121.458774,32.177462],[121.499426,32.211394],[121.493882,32.263533],[121.450151,32.282256],[121.425513,32.430885],[121.390405,32.460682],[121.352216,32.474315],[121.269681,32.483402],[121.153268,32.52933],[121.121855,32.569183],[121.076892,32.576243],[121.020225,32.605489],[120.961711,32.612042],[120.979573,32.636236],[120.963559,32.68259],[120.916131,32.701225],[120.953088,32.714318],[120.972182,32.761134],[120.981421,32.85972],[120.957399,32.893395],[120.932762,33.005887],[120.917979,33.02596],[120.871784,33.047032],[120.874247,33.093672],[120.843451,33.209915],[120.819429,33.237951],[120.833595,33.274984],[120.813885,33.303499],[120.769538,33.307],[120.741205,33.337505],[120.717183,33.436945],[120.680227,33.520306],[120.622944,33.615051],[120.611241,33.627012],[120.583524,33.668362],[120.534249,33.782346],[120.48559,33.859411],[120.367329,34.091674],[120.347619,34.179352],[120.314359,34.255563],[120.311895,34.306991],[120.103707,34.391481],[119.962657,34.459112],[119.811752,34.485754],[119.781571,34.515839],[119.641137,34.569078],[119.610956,34.592729],[119.569072,34.615389],[119.465594,34.672994],[119.525956,34.73351],[119.456971,34.748264],[119.381827,34.752198],[119.494543,34.754656],[119.497007,34.754164],[119.439725,34.785136],[119.440957,34.769406],[119.378747,34.764489],[119.312841,34.774813],[119.272189,34.797914],[119.238313,34.799388],[119.217371,34.827886],[119.202588,34.890253],[119.214907,34.925589],[119.211211,34.981507],[119.238313,35.048657],[119.285124,35.068252],[119.291899,35.028567],[119.307298,35.032977],[119.292515,35.068742],[119.306066,35.076578],[119.286972,35.115261],[119.250016,35.124562],[119.217371,35.106939],[119.137915,35.096167],[119.114509,35.055026],[119.027045,35.055516],[118.942662,35.040817],[118.928495,35.051106],[118.86259,35.025626],[118.860742,34.944233],[118.805307,34.87307],[118.80038,34.843114],[118.772047,34.794474],[118.739402,34.792508],[118.719076,34.745313],[118.764039,34.740396],[118.783749,34.723181],[118.739402,34.693663],[118.690127,34.678408],[118.664257,34.693663],[118.607591,34.694155],[118.601431,34.714327],[118.545997,34.705964],[118.460997,34.656258],[118.473932,34.623269],[118.439439,34.626223],[118.424657,34.595193],[118.439439,34.507949],[118.416034,34.473914],[118.404947,34.427525],[118.379693,34.415183],[118.290382,34.424563],[118.277447,34.404814],[118.220165,34.405802],[118.217701,34.379134],[118.179513,34.379628],[118.177665,34.45319],[118.132702,34.483287],[118.16473,34.50499],[118.185056,34.543942],[118.079115,34.569571],[118.114839,34.614404],[118.084042,34.655766],[118.053861,34.650843],[117.951615,34.678408],[117.909732,34.670533],[117.902956,34.644443],[117.793935,34.651827],[117.791471,34.583368],[117.801942,34.518798],[117.684298,34.547392],[117.659044,34.501044],[117.609769,34.490686],[117.592523,34.462566],[117.53832,34.467006],[117.465023,34.484767],[117.402813,34.550843],[117.402813,34.569571],[117.370785,34.584846],[117.325205,34.573021],[117.325205,34.573021],[117.32151,34.566614],[117.32151,34.566614],[117.311654,34.561686],[117.311654,34.561686]]]]}},{type:"Feature",properties:{adcode:33e4,name:"浙江省",center:[120.153576,30.287459],centroid:[120.109913,29.181466],childrenNum:11,level:"province",parent:{adcode:1e5},subFeatureIndex:10,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[118.433896,28.288335],[118.444367,28.253548],[118.490562,28.238259],[118.493026,28.262509],[118.588497,28.282538],[118.595272,28.258292],[118.651322,28.277267],[118.674728,28.27147],[118.699366,28.309939],[118.719692,28.312047],[118.756032,28.252493],[118.802228,28.240368],[118.804075,28.207675],[118.771431,28.188687],[118.805923,28.154923],[118.802228,28.117453],[118.767735,28.10584],[118.719076,28.063601],[118.733858,28.027684],[118.730163,27.970615],[118.753568,27.947885],[118.818242,27.916689],[118.829329,27.847921],[118.873677,27.733563],[118.879836,27.667859],[118.913713,27.619616],[118.909401,27.568168],[118.869365,27.540047],[118.907553,27.460952],[118.955597,27.4498],[118.986393,27.47582],[118.983314,27.498649],[119.020886,27.498118],[119.03998,27.478475],[119.092335,27.466262],[119.129907,27.475289],[119.121284,27.438115],[119.14777,27.424836],[119.224146,27.416868],[119.26911,27.42218],[119.285124,27.457766],[119.334399,27.480067],[119.360269,27.524657],[119.416935,27.539517],[119.438493,27.508734],[119.466826,27.526249],[119.501935,27.610601],[119.501319,27.649837],[119.541971,27.666799],[119.606028,27.674749],[119.644217,27.663619],[119.626354,27.620676],[119.630666,27.582491],[119.675014,27.574534],[119.659615,27.540578],[119.690412,27.537394],[119.70889,27.514042],[119.703347,27.446613],[119.685485,27.438646],[119.711354,27.403054],[119.750774,27.373829],[119.739687,27.362668],[119.782187,27.330241],[119.768636,27.307909],[119.843165,27.300464],[119.938636,27.329709],[119.960194,27.365857],[120.008237,27.375423],[120.026099,27.344063],[120.052584,27.338747],[120.096316,27.390302],[120.136968,27.402523],[120.134504,27.420055],[120.221352,27.420055],[120.26262,27.432804],[120.273091,27.38924],[120.340844,27.399867],[120.343924,27.363199],[120.430155,27.258976],[120.401822,27.250996],[120.404286,27.204166],[120.461568,27.142407],[120.492365,27.136016],[120.545952,27.156785],[120.574901,27.234501],[120.554575,27.25206],[120.580444,27.321203],[120.665444,27.357884],[120.673451,27.420055],[120.703016,27.478475],[120.637111,27.561271],[120.634647,27.577186],[120.685154,27.622797],[120.709176,27.682699],[120.771386,27.734623],[120.777545,27.774873],[120.809574,27.775402],[120.840371,27.758986],[120.910588,27.864852],[120.942001,27.896592],[120.97403,27.887071],[121.027616,27.832574],[121.070116,27.834162],[121.107688,27.81352],[121.152036,27.815638],[121.134174,27.787051],[121.13479,27.787051],[121.149572,27.801345],[121.149572,27.801875],[121.153268,27.809815],[121.152652,27.810344],[121.192072,27.822518],[121.193304,27.872259],[121.162507,27.879136],[121.162507,27.90717],[121.099681,27.895005],[121.05595,27.900294],[120.991892,27.95],[121.015298,27.981714],[121.059029,28.096338],[121.108304,28.139092],[121.121239,28.12537],[121.140949,28.031382],[121.176058,28.022401],[121.261057,28.034551],[121.299862,28.067297],[121.328195,28.134343],[121.373774,28.133287],[121.402107,28.197127],[121.45631,28.250385],[121.488955,28.301509],[121.538846,28.299401],[121.571491,28.279376],[121.580114,28.240368],[121.627541,28.251966],[121.669425,28.33312],[121.660186,28.355768],[121.634317,28.347868],[121.658954,28.392628],[121.692831,28.407368],[121.671273,28.472621],[121.646019,28.511544],[121.634317,28.562542],[121.596128,28.575156],[121.557324,28.645033],[121.540694,28.655537],[121.646019,28.682842],[121.689135,28.719062],[121.704534,28.804577],[121.687287,28.863294],[121.774751,28.863818],[121.772287,28.898404],[121.743338,28.954451],[121.711309,28.985865],[121.712541,29.028783],[121.658954,29.058606],[121.660186,29.118226],[121.616454,29.143318],[121.608447,29.168927],[121.715621,29.125022],[121.750113,29.136523],[121.767975,29.166837],[121.780294,29.10986],[121.811091,29.10986],[121.85975,29.086328],[121.884388,29.105677],[121.966308,29.052852],[121.970004,29.092604],[121.988482,29.110906],[121.986634,29.154817],[121.948446,29.193485],[121.971851,29.193485],[121.966924,29.249894],[122.002032,29.260336],[122.000185,29.278608],[121.94475,29.28435],[121.958301,29.334448],[121.936127,29.348012],[121.937975,29.384],[121.975547,29.411113],[121.993409,29.45229],[121.973083,29.477821],[121.968772,29.515846],[121.995257,29.545007],[122.000185,29.582486],[121.966308,29.636078],[121.909641,29.650122],[121.872685,29.632437],[121.833265,29.653242],[121.937359,29.748373],[122.003264,29.762401],[122.043916,29.822647],[122.10243,29.859504],[122.143082,29.877668],[122.140003,29.901535],[122.00696,29.891678],[122.00388,29.92021],[121.971235,29.955476],[121.919497,29.920729],[121.835113,29.958068],[121.78399,29.99332],[121.721164,29.992802],[121.699606,30.007832],[121.652795,30.071037],[121.635548,30.070002],[121.561636,30.184395],[121.497578,30.258861],[121.395332,30.338435],[121.371926,30.37097],[121.328195,30.397299],[121.225333,30.404526],[121.183449,30.434458],[121.092906,30.515952],[121.058413,30.563888],[121.148956,30.599953],[121.188992,30.632916],[121.239499,30.648878],[121.274608,30.677191],[121.272144,30.723504],[121.232108,30.755909],[121.21671,30.785734],[121.174826,30.771851],[121.123087,30.77905],[121.13787,30.826342],[121.097833,30.857171],[121.060261,30.845354],[121.038087,30.814007],[120.991892,30.837133],[121.020225,30.872069],[120.993124,30.889532],[121.000515,30.938309],[120.989428,31.01425],[120.949392,31.030148],[120.940153,31.010146],[120.901349,31.017327],[120.865624,30.989627],[120.820661,31.006556],[120.770154,30.996809],[120.746132,30.962432],[120.698089,30.970643],[120.684538,30.955247],[120.709176,30.933176],[120.713487,30.88491],[120.68269,30.882342],[120.654973,30.846896],[120.589684,30.854089],[120.563814,30.835592],[120.504684,30.757967],[120.489285,30.763624],[120.460336,30.839702],[120.441858,30.860768],[120.435083,30.920855],[120.42338,30.902884],[120.35809,30.886964],[120.371025,30.948575],[120.316206,30.933689],[120.223816,30.926502],[120.149903,30.937283],[120.111099,30.955761],[120.052584,31.00553],[120.001461,31.027071],[119.988527,31.059375],[119.946027,31.106016],[119.921389,31.170045],[119.878274,31.160828],[119.827151,31.174142],[119.809904,31.148536],[119.779723,31.17875],[119.715666,31.169533],[119.705811,31.152634],[119.678093,31.167997],[119.623891,31.130096],[119.649144,31.104991],[119.629434,31.085517],[119.633746,31.019379],[119.580159,30.967051],[119.582007,30.932149],[119.563529,30.919315],[119.557369,30.874124],[119.575847,30.829939],[119.55429,30.825828],[119.527188,30.77905],[119.479761,30.772365],[119.482841,30.704467],[119.444652,30.650422],[119.408312,30.645274],[119.39045,30.685941],[119.343022,30.664322],[119.323312,30.630341],[119.238929,30.609225],[119.265414,30.574709],[119.237081,30.546881],[119.272189,30.510281],[119.326392,30.532964],[119.336247,30.508734],[119.335015,30.448389],[119.36766,30.38491],[119.402768,30.374584],[119.349182,30.349281],[119.326392,30.372002],[119.277117,30.341018],[119.246936,30.341018],[119.236465,30.297106],[119.201356,30.290905],[119.126828,30.304856],[119.091719,30.323972],[119.06277,30.304856],[118.988857,30.332237],[118.954365,30.360126],[118.880452,30.31519],[118.877988,30.282637],[118.905089,30.216464],[118.929727,30.2025],[118.852735,30.166805],[118.852119,30.149729],[118.895234,30.148694],[118.873677,30.11505],[118.878604,30.064822],[118.902626,30.029078],[118.894619,29.937845],[118.838568,29.934733],[118.841032,29.891159],[118.740634,29.814859],[118.744945,29.73902],[118.700598,29.706277],[118.647011,29.64336],[118.61991,29.654282],[118.573714,29.638159],[118.532446,29.588731],[118.500417,29.57572],[118.496106,29.519492],[118.381541,29.504909],[118.347664,29.474174],[118.329802,29.495012],[118.306396,29.479384],[118.316252,29.422581],[118.248498,29.431443],[118.193064,29.395472],[118.205382,29.343839],[118.166578,29.314099],[118.178281,29.297921],[118.138861,29.283828],[118.077883,29.290614],[118.073571,29.216993],[118.042159,29.210202],[118.027992,29.167882],[118.045238,29.149068],[118.037847,29.102017],[118.076035,29.074822],[118.066796,29.053898],[118.097593,28.998952],[118.115455,29.009944],[118.115455,29.009944],[118.133933,28.983771],[118.165346,28.986912],[118.227556,28.942406],[118.195527,28.904167],[118.270056,28.918836],[118.300237,28.826075],[118.364295,28.813491],[118.403099,28.702791],[118.428352,28.681267],[118.428352,28.617193],[118.428352,28.617193],[118.412338,28.55676],[118.4302,28.515225],[118.414802,28.497344],[118.474548,28.478934],[118.456686,28.424738],[118.432048,28.402104],[118.455454,28.384204],[118.480091,28.327325],[118.433896,28.288335]]],[[[122.163408,29.988137],[122.239785,29.962735],[122.279205,29.937326],[122.322321,29.940438],[122.341415,29.976733],[122.343879,30.020269],[122.310002,30.039958],[122.290908,30.074663],[122.301379,30.086574],[122.293988,30.100554],[122.152938,30.113497],[122.095655,30.158008],[122.048844,30.147141],[121.955221,30.183878],[121.934895,30.161631],[121.983554,30.100554],[121.989714,30.077252],[121.978011,30.059125],[122.027902,29.991247],[122.106742,30.005759],[122.118445,29.986582],[122.163408,29.988137]]],[[[122.213915,30.186464],[122.178807,30.199396],[122.152938,30.19112],[122.143698,30.163183],[122.168336,30.138343],[122.213915,30.186464]]],[[[122.229314,29.711995],[122.210836,29.700559],[122.269966,29.685482],[122.231162,29.710435],[122.229314,29.711995]]],[[[122.427646,30.738422],[122.427031,30.697777],[122.532972,30.696748],[122.528045,30.725047],[122.475074,30.714243],[122.445509,30.745109],[122.427646,30.738422]]],[[[122.162793,30.329654],[122.058083,30.291938],[122.154169,30.244903],[122.231778,30.234562],[122.247176,30.30124],[122.228082,30.329654],[122.191126,30.329654],[122.176343,30.351863],[122.162793,30.329654]]],[[[122.317393,30.249556],[122.277973,30.242835],[122.358661,30.236113],[122.365437,30.255242],[122.417175,30.238699],[122.40732,30.272817],[122.333408,30.272817],[122.317393,30.249556]]],[[[122.026054,29.178333],[122.013119,29.151681],[122.056851,29.158476],[122.075945,29.176243],[122.036525,29.20759],[122.026054,29.178333]]],[[[122.372212,29.893234],[122.386379,29.834069],[122.415944,29.828877],[122.401777,29.869884],[122.433806,29.883376],[122.43319,29.919173],[122.411632,29.951846],[122.398081,29.9394],[122.351886,29.959105],[122.330944,29.937845],[122.338951,29.911911],[122.353734,29.89946],[122.362973,29.894272],[122.372212,29.893234]]],[[[122.43011,30.408655],[122.432574,30.445294],[122.37406,30.461802],[122.277973,30.471603],[122.281669,30.418461],[122.318625,30.407106],[122.352502,30.422074],[122.43011,30.408655]]],[[[121.837577,28.770484],[121.86283,28.782024],[121.861598,28.814016],[121.837577,28.770484]]],[[[122.265038,29.84549],[122.221307,29.832512],[122.248408,29.804473],[122.310002,29.766557],[122.325401,29.781621],[122.299531,29.819532],[122.319241,29.829397],[122.265038,29.84549]]],[[[121.790765,29.082144],[121.832649,29.050236],[121.84312,29.082144],[121.82033,29.099402],[121.790765,29.082144]]],[[[121.201311,27.623328],[121.197616,27.618025],[121.198848,27.616964],[121.203775,27.625979],[121.201311,27.623328]]],[[[121.943518,30.776993],[121.968156,30.688514],[121.997105,30.658659],[122.087032,30.602014],[122.133227,30.595317],[122.075329,30.647848],[122.011271,30.66947],[121.992793,30.695204],[121.987866,30.753338],[121.970004,30.789333],[121.943518,30.776993]]],[[[121.889315,28.471569],[121.918881,28.497344],[121.881924,28.502603],[121.889315,28.471569]]],[[[122.182503,29.650642],[122.211452,29.692241],[122.200365,29.712515],[122.146778,29.749412],[122.13138,29.788893],[122.083952,29.78318],[122.047612,29.719791],[122.074097,29.701599],[122.095655,29.716673],[122.138155,29.662083],[122.182503,29.650642]]],[[[122.461523,29.944068],[122.459675,29.944586],[122.460291,29.947179],[122.451668,29.943031],[122.451052,29.940956],[122.450436,29.940956],[122.449204,29.9394],[122.4529,29.936807],[122.452284,29.935252],[122.45598,29.926435],[122.457827,29.927472],[122.462755,29.927991],[122.467067,29.928509],[122.459059,29.938882],[122.461523,29.944068]]],[[[122.570544,30.644244],[122.559457,30.679764],[122.546523,30.651967],[122.570544,30.644244]]],[[[121.869605,28.423685],[121.910873,28.44],[121.889931,28.45105],[121.869605,28.423685]]],[[[122.065474,30.179739],[122.055619,30.200431],[122.017431,30.186464],[122.025438,30.161631],[122.065474,30.179739]]],[[[122.391306,29.970512],[122.411632,30.025969],[122.378371,30.023896],[122.3679,29.980361],[122.391306,29.970512]]],[[[121.850511,29.977251],[121.874533,29.964809],[121.933047,29.994875],[121.924424,30.052391],[121.88562,30.094859],[121.848663,30.101072],[121.84004,30.047211],[121.844968,29.982953],[121.850511,29.977251]]],[[[121.066421,27.478475],[121.066421,27.461483],[121.107073,27.443958],[121.067036,27.478475],[121.066421,27.478475]]],[[[121.952141,29.187738],[121.979243,29.160043],[121.976779,29.191918],[121.952141,29.187738]]],[[[122.038373,29.759284],[122.011271,29.746294],[122.02975,29.716673],[122.038373,29.759284]]],[[[121.940438,30.114533],[121.910257,30.089163],[121.945982,30.064304],[121.962612,30.106249],[121.940438,30.114533]]],[[[121.957685,30.287804],[122.0008,30.308473],[121.989098,30.339985],[121.94167,30.33327],[121.921344,30.30744],[121.957685,30.287804]]],[[[122.192974,29.965327],[122.163408,29.988137],[122.152322,29.97103],[122.154169,29.97103],[122.155401,29.970512],[122.18435,29.955476],[122.192974,29.965327]]],[[[122.287828,29.723949],[122.301379,29.748373],[122.258263,29.753569],[122.241633,29.784738],[122.2133,29.771752],[122.251488,29.731225],[122.287828,29.723949]]],[[[121.134174,27.787051],[121.134174,27.785992],[121.13479,27.787051],[121.134174,27.787051]]],[[[122.760254,30.141966],[122.784275,30.130062],[122.781196,30.13265],[122.778116,30.13679],[122.770725,30.138861],[122.763333,30.141966],[122.762101,30.142484],[122.760254,30.141966]]],[[[122.264423,30.269716],[122.253952,30.237147],[122.315545,30.250073],[122.300147,30.271266],[122.264423,30.269716]]],[[[122.282901,29.860542],[122.30877,29.849642],[122.343263,29.860542],[122.343263,29.882857],[122.301379,29.883895],[122.282901,29.860542]]],[[[122.781196,30.694175],[122.799674,30.716301],[122.778732,30.729677],[122.757174,30.713728],[122.781196,30.694175]]],[[[121.098449,27.937311],[121.152652,27.961629],[121.120623,27.986471],[121.0695,27.984357],[121.038087,27.948942],[121.098449,27.937311]]],[[[121.185913,27.963215],[121.237652,27.988056],[121.197616,28.000739],[121.17113,27.978543],[121.185913,27.963215]]],[[[122.454132,29.956513],[122.447972,29.955994],[122.445509,29.952365],[122.446741,29.951327],[122.447972,29.947698],[122.459059,29.950809],[122.458443,29.951846],[122.455364,29.955994],[122.454132,29.956513]]],[[[122.836014,30.698806],[122.831087,30.728648],[122.807681,30.714243],[122.836014,30.698806]]],[[[122.200365,29.969475],[122.233626,29.946661],[122.273662,29.93214],[122.239785,29.960142],[122.200365,29.969475]]],[[[122.029134,29.954957],[122.043916,29.930584],[122.058699,29.955994],[122.029134,29.954957]]],[[[121.044247,27.979072],[121.089826,27.998625],[121.073812,28.007608],[121.044247,27.979072]]],[[[122.471378,29.927472],[122.470762,29.925916],[122.473226,29.925397],[122.47261,29.927472],[122.471378,29.927472]]],[[[122.152322,29.97103],[122.155401,29.970512],[122.154169,29.97103],[122.152322,29.97103]]]]}},{type:"Feature",properties:{adcode:34e4,name:"安徽省",center:[117.283042,31.86119],centroid:[117.226884,31.849254],childrenNum:16,level:"province",parent:{adcode:1e5},subFeatureIndex:11,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[116.599629,34.014324],[116.641512,33.978103],[116.64336,33.896675],[116.631042,33.887733],[116.566984,33.9081],[116.558361,33.881274],[116.486296,33.869846],[116.437637,33.846489],[116.437021,33.801246],[116.408071,33.805721],[116.393905,33.782843],[116.316912,33.771402],[116.263326,33.730101],[116.230065,33.735078],[116.155536,33.709693],[116.132747,33.751501],[116.100102,33.782843],[116.074232,33.781351],[116.055754,33.804727],[116.05945,33.860902],[115.982457,33.917039],[116.00032,33.965199],[115.95782,34.007875],[115.904233,34.009859],[115.876516,34.028708],[115.877132,34.002913],[115.85003,34.004898],[115.846335,34.028708],[115.809378,34.062428],[115.768726,34.061932],[115.736082,34.076805],[115.705901,34.059949],[115.658473,34.061437],[115.642459,34.03218],[115.60735,34.030196],[115.579017,33.974133],[115.577785,33.950307],[115.547604,33.874815],[115.631988,33.869846],[115.614126,33.775879],[115.576553,33.787817],[115.563003,33.772895],[115.601807,33.718653],[115.601191,33.658898],[115.639995,33.585143],[115.564851,33.576169],[115.511264,33.55323],[115.463837,33.567193],[115.422569,33.557219],[115.394851,33.506335],[115.366518,33.5233],[115.345576,33.502842],[115.345576,33.449928],[115.324634,33.457418],[115.315395,33.431451],[115.328946,33.403477],[115.313547,33.376994],[115.341881,33.370997],[115.365286,33.336005],[115.361591,33.298497],[115.335105,33.297997],[115.340033,33.260973],[115.300613,33.204407],[115.303692,33.149809],[115.289526,33.131769],[115.245178,33.135778],[115.194671,33.120743],[115.168186,33.088658],[115.041302,33.086653],[114.990795,33.102195],[114.966158,33.147304],[114.932897,33.153817],[114.902716,33.129764],[114.897172,33.086653],[114.913187,33.083143],[114.925506,33.016928],[114.891629,33.020441],[114.883006,32.990328],[114.916266,32.971251],[114.943368,32.935094],[115.009273,32.940117],[115.035143,32.932582],[115.029599,32.906962],[115.139237,32.897917],[115.155867,32.864747],[115.197135,32.856201],[115.189744,32.812452],[115.211301,32.785791],[115.189744,32.770695],[115.179273,32.726402],[115.182968,32.666973],[115.20083,32.591876],[115.24333,32.593388],[115.267352,32.578261],[115.30554,32.583303],[115.304924,32.553042],[115.411482,32.575235],[115.409018,32.549007],[115.497713,32.492489],[115.5088,32.468761],[115.510648,32.468761],[115.510648,32.468256],[115.510648,32.467751],[115.509416,32.466741],[115.522967,32.441997],[115.57101,32.419266],[115.604271,32.425833],[115.626445,32.40512],[115.657857,32.428864],[115.667712,32.409667],[115.704669,32.495013],[115.742241,32.476335],[115.771806,32.505108],[115.789052,32.468761],[115.861117,32.537403],[115.891298,32.576243],[115.910393,32.567165],[115.8759,32.542448],[115.845719,32.501575],[115.883291,32.487946],[115.865429,32.458662],[115.899306,32.390971],[115.912856,32.227596],[115.941805,32.166318],[115.922095,32.049725],[115.928871,32.003046],[115.909161,31.94314],[115.920248,31.920285],[115.894994,31.8649],[115.893762,31.832365],[115.914704,31.814567],[115.886371,31.776418],[115.851878,31.786593],[115.808147,31.770313],[115.808147,31.770313],[115.767495,31.78761],[115.731154,31.76726],[115.676336,31.778453],[115.553764,31.69549],[115.534054,31.698545],[115.495249,31.673083],[115.476771,31.643028],[115.485394,31.608885],[115.439815,31.588496],[115.415793,31.525771],[115.371446,31.495668],[115.389924,31.450241],[115.373909,31.405813],[115.393004,31.389977],[115.372062,31.349098],[115.40717,31.337854],[115.443511,31.344498],[115.473076,31.265242],[115.507568,31.267799],[115.539597,31.231985],[115.540213,31.194621],[115.585793,31.143926],[115.603655,31.17363],[115.655394,31.211002],[115.700973,31.201276],[115.778582,31.112164],[115.797676,31.128047],[115.837712,31.127022],[115.867277,31.147512],[115.887603,31.10909],[115.939958,31.071678],[115.938726,31.04707],[116.006479,31.034764],[116.015102,31.011685],[116.058834,31.012711],[116.071769,30.956787],[116.03974,30.957813],[115.976298,30.931636],[115.932566,30.889532],[115.865429,30.864364],[115.848799,30.828397],[115.863581,30.815549],[115.851262,30.756938],[115.782893,30.751795],[115.762567,30.685426],[115.81369,30.637035],[115.819234,30.597893],[115.848799,30.602014],[115.876516,30.582438],[115.887603,30.542758],[115.910393,30.519046],[115.894994,30.452517],[115.921479,30.416397],[115.885139,30.379747],[115.91532,30.337919],[115.903001,30.31364],[115.985537,30.290905],[115.997856,30.252657],[116.065609,30.204569],[116.055754,30.180774],[116.088399,30.110391],[116.078544,30.062233],[116.091479,30.036331],[116.073616,29.969993],[116.128435,29.897904],[116.13521,29.819532],[116.172783,29.828358],[116.227601,29.816936],[116.250391,29.785777],[116.280572,29.788893],[116.342782,29.835626],[116.467818,29.896347],[116.525716,29.897385],[116.552201,29.909836],[116.585462,30.045657],[116.620571,30.073109],[116.666766,30.076734],[116.720353,30.053945],[116.747454,30.057053],[116.783794,30.030632],[116.802889,29.99643],[116.830606,30.004723],[116.83307,29.95755],[116.868794,29.980361],[116.900207,29.949253],[116.882961,29.893753],[116.780715,29.792529],[116.762237,29.802396],[116.673541,29.709916],[116.698795,29.707836],[116.70557,29.69692],[116.706802,29.6964],[116.704954,29.688602],[116.680317,29.681323],[116.651983,29.637118],[116.716657,29.590813],[116.721585,29.564789],[116.760389,29.599139],[116.780715,29.569994],[116.849084,29.57624],[116.873722,29.609546],[116.939627,29.648561],[116.974736,29.657403],[116.996294,29.683403],[117.041873,29.680803],[117.112706,29.711995],[117.108395,29.75201],[117.136728,29.775388],[117.123177,29.798761],[117.073286,29.831992],[117.127489,29.86158],[117.129952,29.89946],[117.171836,29.920729],[117.2168,29.926953],[117.246365,29.915023],[117.261763,29.880781],[117.25314,29.834588],[117.29256,29.822647],[117.338756,29.848085],[117.359082,29.812782],[117.382487,29.840818],[117.415132,29.85068],[117.408973,29.802396],[117.455168,29.749412],[117.453936,29.688082],[117.490277,29.660003],[117.530313,29.654282],[117.523538,29.630356],[117.543248,29.588731],[117.608537,29.591333],[117.647957,29.614749],[117.678754,29.595496],[117.690457,29.555939],[117.729877,29.550213],[117.795167,29.570515],[117.872775,29.54761],[117.933753,29.549172],[118.00397,29.578322],[118.042774,29.566351],[118.050782,29.542924],[118.095129,29.534072],[118.143788,29.489803],[118.127774,29.47209],[118.136397,29.418932],[118.193064,29.395472],[118.248498,29.431443],[118.316252,29.422581],[118.306396,29.479384],[118.329802,29.495012],[118.347664,29.474174],[118.381541,29.504909],[118.496106,29.519492],[118.500417,29.57572],[118.532446,29.588731],[118.573714,29.638159],[118.61991,29.654282],[118.647011,29.64336],[118.700598,29.706277],[118.744945,29.73902],[118.740634,29.814859],[118.841032,29.891159],[118.838568,29.934733],[118.894619,29.937845],[118.902626,30.029078],[118.878604,30.064822],[118.873677,30.11505],[118.895234,30.148694],[118.852119,30.149729],[118.852735,30.166805],[118.929727,30.2025],[118.905089,30.216464],[118.877988,30.282637],[118.880452,30.31519],[118.954365,30.360126],[118.988857,30.332237],[119.06277,30.304856],[119.091719,30.323972],[119.126828,30.304856],[119.201356,30.290905],[119.236465,30.297106],[119.246936,30.341018],[119.277117,30.341018],[119.326392,30.372002],[119.349182,30.349281],[119.402768,30.374584],[119.36766,30.38491],[119.335015,30.448389],[119.336247,30.508734],[119.326392,30.532964],[119.272189,30.510281],[119.237081,30.546881],[119.265414,30.574709],[119.238929,30.609225],[119.323312,30.630341],[119.343022,30.664322],[119.39045,30.685941],[119.408312,30.645274],[119.444652,30.650422],[119.482841,30.704467],[119.479761,30.772365],[119.527188,30.77905],[119.55429,30.825828],[119.575847,30.829939],[119.557369,30.874124],[119.563529,30.919315],[119.582007,30.932149],[119.580159,30.967051],[119.633746,31.019379],[119.629434,31.085517],[119.649144,31.104991],[119.623891,31.130096],[119.599869,31.10909],[119.532732,31.159291],[119.461283,31.156219],[119.439109,31.177214],[119.391682,31.174142],[119.360269,31.213049],[119.374435,31.258591],[119.350414,31.301043],[119.338095,31.259103],[119.294363,31.263195],[119.266646,31.250405],[119.198277,31.270357],[119.197661,31.295418],[119.158241,31.294907],[119.107118,31.250917],[119.10527,31.235055],[119.014727,31.241707],[118.984546,31.237102],[118.870597,31.242219],[118.794836,31.229426],[118.756648,31.279564],[118.726467,31.282121],[118.720924,31.322518],[118.745561,31.372606],[118.767735,31.363919],[118.824401,31.375672],[118.852119,31.393553],[118.883532,31.500261],[118.857046,31.506384],[118.865669,31.519139],[118.885995,31.519139],[118.881684,31.564023],[118.858894,31.623665],[118.802844,31.619078],[118.773894,31.682759],[118.748025,31.675629],[118.736322,31.633347],[118.643315,31.649651],[118.643315,31.671555],[118.697518,31.709747],[118.653786,31.73011],[118.641467,31.75861],[118.571866,31.746397],[118.5577,31.73011],[118.521975,31.743343],[118.533678,31.76726],[118.481939,31.778453],[118.504729,31.841516],[118.466541,31.857784],[118.472084,31.879639],[118.363679,31.930443],[118.389548,31.985281],[118.394476,32.076098],[118.433896,32.086746],[118.501033,32.121726],[118.49549,32.165304],[118.510888,32.194176],[118.643931,32.209875],[118.674728,32.250375],[118.657482,32.30148],[118.703061,32.328792],[118.685199,32.403604],[118.691359,32.472295],[118.628533,32.467751],[118.592192,32.481383],[118.608823,32.536899],[118.564475,32.562122],[118.568787,32.585825],[118.59712,32.600951],[118.632844,32.578261],[118.658714,32.594397],[118.688895,32.588346],[118.719076,32.614059],[118.719076,32.614059],[118.73509,32.58885],[118.757264,32.603976],[118.784981,32.582295],[118.820706,32.60448],[118.84288,32.56767],[118.908169,32.59238],[118.890923,32.553042],[118.92172,32.557078],[118.922336,32.557078],[118.92172,32.557078],[118.922336,32.557078],[118.975923,32.505108],[119.041212,32.515201],[119.084944,32.452602],[119.142226,32.499556],[119.168096,32.536394],[119.152697,32.557582],[119.22045,32.576748],[119.230921,32.607001],[119.208748,32.641276],[119.211827,32.708275],[119.184726,32.825529],[119.113277,32.823014],[119.054763,32.8748],[119.020886,32.955685],[118.993169,32.958196],[118.934039,32.93861],[118.892771,32.941121],[118.89585,32.957694],[118.89585,32.957694],[118.849039,32.956689],[118.846575,32.922034],[118.821322,32.920527],[118.810235,32.853687],[118.743097,32.853184],[118.743097,32.853184],[118.73817,32.772708],[118.756648,32.737477],[118.707373,32.72036],[118.642699,32.744525],[118.572482,32.719856],[118.560163,32.729926],[118.483787,32.721367],[118.450526,32.743518],[118.411106,32.715828],[118.375382,32.718849],[118.363063,32.770695],[118.334114,32.761637],[118.300237,32.783275],[118.301469,32.846145],[118.250346,32.848157],[118.2331,32.914498],[118.252194,32.936601],[118.291614,32.946143],[118.303933,32.96874],[118.26944,32.969242],[118.244803,32.998359],[118.243571,33.027967],[118.219549,33.114227],[118.217085,33.191888],[118.178281,33.217926],[118.149332,33.169348],[118.038463,33.134776],[118.037231,33.152314],[117.988572,33.180869],[117.977485,33.226437],[117.942376,33.224936],[117.939297,33.262475],[117.974405,33.279487],[117.992883,33.333005],[118.029224,33.374995],[118.016905,33.402978],[118.027376,33.455421],[118.050782,33.491863],[118.107448,33.475391],[118.117919,33.594615],[118.112376,33.617045],[118.16781,33.663381],[118.161035,33.735576],[118.117919,33.766427],[118.065564,33.76593],[118.019985,33.738562],[117.972557,33.74951],[117.901724,33.720146],[117.843826,33.736074],[117.791471,33.733585],[117.750203,33.710688],[117.72495,33.74951],[117.739732,33.758467],[117.759442,33.874318],[117.753899,33.891211],[117.715095,33.879287],[117.672595,33.934916],[117.671363,33.992494],[117.629479,34.028708],[117.612849,34.000433],[117.569117,33.985051],[117.543248,34.038627],[117.514914,34.060941],[117.435458,34.028212],[117.404045,34.03218],[117.357234,34.088205],[117.311654,34.067882],[117.277162,34.078787],[117.257452,34.065899],[117.192162,34.068873],[117.130568,34.101586],[117.123793,34.128342],[117.046801,34.151622],[117.025243,34.167469],[117.051112,34.221425],[116.969192,34.283753],[116.983359,34.348011],[116.960569,34.363821],[116.969192,34.389012],[116.909446,34.408271],[116.828142,34.389012],[116.782563,34.429993],[116.773939,34.453683],[116.722816,34.472434],[116.662454,34.472927],[116.592237,34.493646],[116.594085,34.511894],[116.490607,34.573513],[116.477057,34.614896],[116.432709,34.630163],[116.430245,34.650843],[116.374195,34.640011],[116.334159,34.620806],[116.32492,34.601104],[116.286116,34.608986],[116.247927,34.551829],[116.196804,34.575977],[116.191261,34.535561],[116.204196,34.508442],[116.178326,34.496112],[116.162312,34.459605],[116.178942,34.430487],[116.215898,34.403333],[116.213435,34.382098],[116.255934,34.376665],[116.301514,34.342082],[116.357564,34.319843],[116.372347,34.26595],[116.409303,34.273863],[116.409303,34.273863],[116.456731,34.268917],[116.516477,34.296114],[116.562056,34.285731],[116.582382,34.266444],[116.545426,34.241711],[116.542962,34.203608],[116.565752,34.16945],[116.536187,34.151127],[116.52818,34.122892],[116.576223,34.068873],[116.576223,34.068873],[116.599629,34.014324],[116.599629,34.014324]]],[[[118.865669,31.519139],[118.857046,31.506384],[118.883532,31.500261],[118.885995,31.519139],[118.865669,31.519139]]],[[[116.698795,29.707836],[116.673541,29.709916],[116.653831,29.694841],[116.680317,29.681323],[116.704954,29.688602],[116.706802,29.6964],[116.70557,29.69692],[116.698795,29.707836]]],[[[115.5088,32.468761],[115.509416,32.466741],[115.510648,32.467751],[115.510648,32.468256],[115.510648,32.468761],[115.5088,32.468761]]]]}},{type:"Feature",properties:{adcode:35e4,name:"福建省",center:[119.306239,26.075302],centroid:[118.006468,26.069925],childrenNum:9,level:"province",parent:{adcode:1e5},subFeatureIndex:12,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[119.004872,24.970009],[118.989473,24.973807],[119.023966,25.04377],[119.016575,25.058409],[118.974691,25.024792],[118.945126,25.028588],[118.892155,25.092558],[118.974691,25.115319],[118.951901,25.15162],[118.985162,25.168954],[118.985162,25.19495],[118.942046,25.211195],[118.940198,25.21715],[118.943278,25.221482],[118.903242,25.239347],[118.900162,25.242595],[118.919256,25.248008],[118.91556,25.256668],[118.918024,25.25721],[118.956212,25.272905],[118.996864,25.266411],[118.975307,25.237723],[118.990089,25.20199],[119.055379,25.219316],[119.074473,25.211195],[119.054147,25.168412],[119.032589,25.17437],[119.028893,25.139702],[119.06585,25.102855],[119.075705,25.099604],[119.134219,25.106107],[119.107118,25.075214],[119.119436,25.012861],[119.146538,25.056782],[119.165632,25.145661],[119.137299,25.15487],[119.108349,25.193867],[119.131755,25.223106],[119.190269,25.175995],[119.231537,25.188993],[119.26911,25.159746],[119.314689,25.190076],[119.294979,25.237182],[119.331935,25.230685],[119.380595,25.250173],[119.333167,25.287516],[119.299291,25.328634],[119.247552,25.333502],[119.240776,25.316733],[119.218603,25.368115],[119.14469,25.388121],[119.151465,25.426503],[119.191501,25.424341],[119.232153,25.442176],[119.219834,25.468654],[119.256175,25.488643],[119.275269,25.476758],[119.26295,25.428124],[119.288204,25.410827],[119.353493,25.411908],[119.343638,25.472436],[119.359037,25.521592],[119.400921,25.493505],[119.45266,25.493505],[119.438493,25.412449],[119.463131,25.448661],[119.491464,25.443257],[119.48592,25.418935],[119.507478,25.396231],[119.486536,25.369737],[119.548746,25.365952],[119.578927,25.400556],[119.555521,25.429205],[119.577695,25.445959],[119.59063,25.398394],[119.582623,25.374063],[119.597405,25.334584],[119.649144,25.342697],[119.665159,25.3719],[119.656535,25.396772],[119.670086,25.435691],[119.622659,25.434069],[119.675014,25.468113],[119.682405,25.445959],[119.688564,25.441095],[119.773564,25.395691],[119.764325,25.433529],[119.804977,25.457847],[119.866571,25.455145],[119.864107,25.469734],[119.862875,25.474597],[119.811136,25.507009],[119.81668,25.532393],[119.861027,25.531313],[119.883817,25.546432],[119.831462,25.579905],[119.843165,25.597717],[119.790194,25.614447],[119.785883,25.66786],[119.700267,25.616606],[119.683637,25.592859],[119.716898,25.551292],[119.715666,25.51187],[119.680557,25.497827],[119.675014,25.475137],[119.634362,25.475137],[119.611572,25.519972],[119.616499,25.556691],[119.586934,25.59232],[119.534579,25.585303],[119.541355,25.6247],[119.478529,25.631715],[119.472986,25.662466],[119.543819,25.684581],[119.602949,25.68512],[119.602949,25.714779],[119.626354,25.723406],[119.628202,25.87212],[119.638057,25.889888],[119.69534,25.904424],[119.723673,26.011503],[119.700267,26.032477],[119.668854,26.026024],[119.654688,26.090002],[119.618963,26.11956],[119.604181,26.168985],[119.664543,26.202282],[119.676246,26.262943],[119.7711,26.285481],[119.802513,26.268846],[119.806825,26.307479],[119.845013,26.323036],[119.862875,26.307479],[119.904143,26.308552],[119.95465,26.352534],[119.946027,26.374519],[119.893672,26.355752],[119.835774,26.434019],[119.83639,26.454381],[119.788346,26.583435],[119.740303,26.610727],[119.670086,26.618218],[119.605412,26.595744],[119.577695,26.622498],[119.619579,26.649246],[119.637441,26.703256],[119.664543,26.726243],[119.711354,26.686681],[119.833926,26.690959],[119.864107,26.671174],[119.873962,26.642827],[119.908455,26.661547],[119.899216,26.693098],[119.938636,26.747088],[119.942947,26.784492],[120.052584,26.786629],[120.061824,26.768997],[119.99407,26.720363],[119.969433,26.686681],[119.972512,26.654594],[119.949107,26.624638],[119.901679,26.624638],[119.851788,26.595209],[119.828383,26.524013],[119.867187,26.509019],[119.947875,26.56042],[119.93802,26.576478],[119.967585,26.597885],[120.007621,26.595744],[120.063671,26.627848],[120.093852,26.613938],[120.1382,26.638012],[120.110483,26.692563],[120.162222,26.717691],[120.151135,26.750829],[120.106787,26.752966],[120.136352,26.797847],[120.103707,26.794642],[120.102476,26.82669],[120.073526,26.823485],[120.054432,26.863533],[120.117874,26.882751],[120.126497,26.920644],[120.130193,26.917976],[120.1807,26.920644],[120.233055,26.907837],[120.25954,26.982526],[120.279866,26.987326],[120.275554,27.027315],[120.29588,27.035845],[120.282946,27.089671],[120.391967,27.081146],[120.403054,27.10086],[120.461568,27.142407],[120.404286,27.204166],[120.401822,27.250996],[120.430155,27.258976],[120.343924,27.363199],[120.340844,27.399867],[120.273091,27.38924],[120.26262,27.432804],[120.221352,27.420055],[120.134504,27.420055],[120.136968,27.402523],[120.096316,27.390302],[120.052584,27.338747],[120.026099,27.344063],[120.008237,27.375423],[119.960194,27.365857],[119.938636,27.329709],[119.843165,27.300464],[119.768636,27.307909],[119.782187,27.330241],[119.739687,27.362668],[119.750774,27.373829],[119.711354,27.403054],[119.685485,27.438646],[119.703347,27.446613],[119.70889,27.514042],[119.690412,27.537394],[119.659615,27.540578],[119.675014,27.574534],[119.630666,27.582491],[119.626354,27.620676],[119.644217,27.663619],[119.606028,27.674749],[119.541971,27.666799],[119.501319,27.649837],[119.501935,27.610601],[119.466826,27.526249],[119.438493,27.508734],[119.416935,27.539517],[119.360269,27.524657],[119.334399,27.480067],[119.285124,27.457766],[119.26911,27.42218],[119.224146,27.416868],[119.14777,27.424836],[119.121284,27.438115],[119.129907,27.475289],[119.092335,27.466262],[119.03998,27.478475],[119.020886,27.498118],[118.983314,27.498649],[118.986393,27.47582],[118.955597,27.4498],[118.907553,27.460952],[118.869365,27.540047],[118.909401,27.568168],[118.913713,27.619616],[118.879836,27.667859],[118.873677,27.733563],[118.829329,27.847921],[118.818242,27.916689],[118.753568,27.947885],[118.730163,27.970615],[118.733858,28.027684],[118.719076,28.063601],[118.767735,28.10584],[118.802228,28.117453],[118.805923,28.154923],[118.771431,28.188687],[118.804075,28.207675],[118.802228,28.240368],[118.756032,28.252493],[118.719692,28.312047],[118.699366,28.309939],[118.674728,28.27147],[118.651322,28.277267],[118.595272,28.258292],[118.588497,28.282538],[118.493026,28.262509],[118.490562,28.238259],[118.444367,28.253548],[118.433896,28.288335],[118.424041,28.291497],[118.314404,28.221913],[118.339041,28.193962],[118.375382,28.186577],[118.361215,28.155978],[118.356288,28.091586],[118.242339,28.075746],[118.199839,28.049869],[118.153644,28.062016],[118.120999,28.041946],[118.129006,28.017118],[118.094513,28.003909],[118.096977,27.970615],[117.999043,27.991227],[117.965166,27.962687],[117.942992,27.974315],[117.910963,27.949471],[117.856145,27.94577],[117.78716,27.896063],[117.788392,27.855858],[117.740348,27.800286],[117.704624,27.834162],[117.68245,27.823577],[117.649805,27.851625],[117.609769,27.863265],[117.556182,27.966387],[117.52169,27.982243],[117.477958,27.930966],[117.453936,27.939955],[117.407741,27.893948],[117.366473,27.88231],[117.341836,27.855858],[117.334444,27.8876],[117.280242,27.871201],[117.276546,27.847921],[117.303031,27.833103],[117.296256,27.764282],[117.245133,27.71926],[117.205097,27.714492],[117.204481,27.683759],[117.174916,27.677399],[117.114554,27.692238],[117.096076,27.667329],[117.11209,27.645596],[117.094228,27.627569],[117.065279,27.665739],[117.040641,27.669979],[117.003685,27.625449],[117.024627,27.592569],[117.01662,27.563393],[117.054808,27.5427],[117.076982,27.566046],[117.103467,27.533149],[117.110242,27.458828],[117.133032,27.42218],[117.107163,27.393491],[117.104699,27.330773],[117.140423,27.322798],[117.136728,27.303123],[117.171836,27.29036],[117.149662,27.241419],[117.044953,27.146667],[117.05296,27.100327],[116.967344,27.061962],[116.936547,27.019319],[116.910062,27.034779],[116.851548,27.009188],[116.817671,27.018252],[116.679085,26.978259],[116.632889,26.933984],[116.602092,26.888623],[116.548506,26.84004],[116.543578,26.803723],[116.557745,26.773806],[116.515245,26.720898],[116.520172,26.684543],[116.566368,26.650315],[116.553433,26.575942],[116.539267,26.559349],[116.597165,26.512768],[116.610716,26.476882],[116.638433,26.477418],[116.608252,26.429732],[116.601476,26.372911],[116.553433,26.365404],[116.553433,26.400253],[116.519557,26.410437],[116.499846,26.361651],[116.459194,26.345026],[116.437021,26.308016],[116.412999,26.297822],[116.385282,26.238253],[116.400064,26.202819],[116.392057,26.171133],[116.435789,26.159854],[116.476441,26.172745],[116.489375,26.113649],[116.384666,26.030864],[116.360028,25.991601],[116.369883,25.963088],[116.326152,25.956631],[116.303362,25.924341],[116.258398,25.902809],[116.225138,25.908731],[116.17771,25.894195],[116.132131,25.860273],[116.131515,25.824185],[116.18079,25.778926],[116.129667,25.758985],[116.106877,25.701299],[116.067457,25.703995],[116.068689,25.646282],[116.041588,25.62416],[116.063145,25.56317],[116.040356,25.548052],[116.03666,25.514571],[116.005247,25.490264],[116.023109,25.435691],[115.992928,25.374063],[116.008327,25.319437],[115.987385,25.290221],[115.949813,25.292386],[115.930719,25.236099],[115.855574,25.20957],[115.860501,25.165704],[115.888219,25.128866],[115.880212,25.092016],[115.908545,25.084428],[115.928255,25.050276],[115.873436,25.019911],[115.925175,24.960786],[115.870356,24.959701],[115.89253,24.936911],[115.907929,24.923343],[115.985537,24.899461],[116.015102,24.905975],[116.068073,24.850053],[116.153073,24.846795],[116.191877,24.877203],[116.221442,24.829959],[116.251007,24.82507],[116.244232,24.793563],[116.297202,24.801712],[116.345862,24.828872],[116.363724,24.87123],[116.395137,24.877746],[116.417927,24.840821],[116.381586,24.82507],[116.375427,24.803885],[116.419158,24.767482],[116.416079,24.744113],[116.44626,24.714216],[116.485064,24.720196],[116.517709,24.652225],[116.506622,24.621218],[116.530027,24.604895],[116.570679,24.621762],[116.600861,24.654401],[116.623034,24.64189],[116.667382,24.658752],[116.777635,24.679418],[116.815207,24.654944],[116.761005,24.583128],[116.759157,24.545572],[116.796729,24.502014],[116.83307,24.496568],[116.860787,24.460075],[116.839229,24.442097],[116.903903,24.369614],[116.895895,24.350533],[116.919301,24.321087],[116.914374,24.287817],[116.938395,24.28127],[116.933468,24.220157],[116.956257,24.216883],[116.998757,24.179217],[116.9347,24.126794],[116.930388,24.064514],[116.953178,24.008218],[116.981511,23.999471],[116.976583,23.931659],[116.955642,23.922359],[116.981511,23.855602],[117.012308,23.855054],[117.019083,23.801952],[117.048032,23.758687],[117.055424,23.694038],[117.123793,23.647448],[117.147199,23.654027],[117.192778,23.629356],[117.192778,23.5619],[117.291328,23.571225],[117.302415,23.550379],[117.387415,23.555317],[117.463791,23.584937],[117.454552,23.628259],[117.493357,23.642514],[117.501364,23.70445],[117.54448,23.715956],[117.601762,23.70171],[117.660276,23.789357],[117.651653,23.815093],[117.671979,23.878041],[117.691073,23.888985],[117.762522,23.886796],[117.792703,23.906494],[117.807486,23.947521],[117.864768,24.004938],[117.910347,24.012045],[117.927594,24.039922],[117.936217,24.100029],[118.000275,24.152462],[118.019369,24.197232],[118.074803,24.225615],[118.115455,24.229435],[118.158571,24.269814],[118.112376,24.357075],[118.081579,24.35653],[118.088354,24.408858],[118.048934,24.418122],[118.084042,24.528695],[118.121615,24.570067],[118.150564,24.583673],[118.169042,24.559725],[118.242955,24.51236],[118.375382,24.536317],[118.363679,24.567889],[118.444367,24.614689],[118.512736,24.60816],[118.557084,24.572788],[118.558316,24.51236],[118.614366,24.521617],[118.680272,24.58204],[118.687047,24.63373],[118.661178,24.622306],[118.652554,24.653857],[118.670417,24.679962],[118.703677,24.665278],[118.778822,24.743569],[118.786213,24.77672],[118.650707,24.808774],[118.647627,24.843536],[118.702445,24.865258],[118.69875,24.848967],[118.748641,24.84245],[118.807771,24.870687],[118.834256,24.854397],[118.864437,24.887518],[118.933423,24.870687],[118.988857,24.878831],[118.987009,24.898375],[118.932807,24.906518],[118.91864,24.932569],[118.945741,24.954275],[119.014111,24.941252],[119.032589,24.961328],[119.032589,24.961871],[119.007335,24.963499],[119.004872,24.970009]]],[[[118.412338,24.514538],[118.374766,24.458986],[118.318715,24.486765],[118.298389,24.477506],[118.31194,24.424661],[118.282375,24.413218],[118.329802,24.382152],[118.353208,24.415398],[118.405563,24.427931],[118.457918,24.412128],[118.477012,24.437738],[118.451758,24.506915],[118.412338,24.514538]]],[[[119.471138,25.197116],[119.507478,25.183036],[119.52534,25.157579],[119.549362,25.161912],[119.566608,25.210112],[119.540739,25.20199],[119.501319,25.21715],[119.473601,25.259916],[119.44342,25.238806],[119.444036,25.20199],[119.471138,25.197116]]],[[[119.580159,25.627398],[119.611572,25.669479],[119.580775,25.650059],[119.580159,25.627398]]],[[[119.976824,26.191005],[120.016244,26.217316],[119.998998,26.235569],[119.970665,26.217852],[119.976824,26.191005]]],[[[118.230636,24.401228],[118.273752,24.441007],[118.233716,24.445911],[118.230636,24.401228]]],[[[119.906607,26.68989],[119.926933,26.664756],[119.950954,26.692563],[119.906607,26.68989]]],[[[118.204151,24.504737],[118.191832,24.536861],[118.14502,24.560814],[118.093281,24.540672],[118.068644,24.463344],[118.084042,24.435559],[118.143173,24.420847],[118.19368,24.463344],[118.204151,24.504737]]],[[[119.929397,26.134067],[119.960194,26.146961],[119.919542,26.172208],[119.929397,26.134067]]],[[[119.642985,26.129231],[119.665159,26.155556],[119.62697,26.173282],[119.606028,26.15287],[119.642985,26.129231]]],[[[120.034106,26.488667],[120.066751,26.498308],[120.071679,26.521336],[120.035954,26.515981],[120.034106,26.488667]]],[[[119.662079,25.646822],[119.673782,25.632794],[119.718745,25.634952],[119.716898,25.664624],[119.662079,25.646822]]],[[[119.760629,26.613402],[119.776644,26.600025],[119.818527,26.616613],[119.796354,26.630523],[119.760629,26.613402]]],[[[120.135736,26.550784],[120.167149,26.571661],[120.153598,26.604841],[120.117874,26.568984],[120.135736,26.550784]]],[[[120.360554,26.916909],[120.394431,26.933984],[120.363018,26.967592],[120.327909,26.963858],[120.319286,26.944654],[120.360554,26.916909]]],[[[120.150519,26.798916],[120.140048,26.795176],[120.163454,26.798381],[120.161606,26.803189],[120.150519,26.798916]]],[[[119.668238,26.628383],[119.720593,26.635873],[119.758781,26.659408],[119.748926,26.681334],[119.712586,26.6685],[119.673782,26.680799],[119.651608,26.657269],[119.668238,26.628383]]]]}},{type:"Feature",properties:{adcode:36e4,name:"江西省",center:[115.892151,28.676493],centroid:[115.732975,27.636112],childrenNum:11,level:"province",parent:{adcode:1e5},subFeatureIndex:13,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[118.193064,29.395472],[118.136397,29.418932],[118.127774,29.47209],[118.143788,29.489803],[118.095129,29.534072],[118.050782,29.542924],[118.042774,29.566351],[118.00397,29.578322],[117.933753,29.549172],[117.872775,29.54761],[117.795167,29.570515],[117.729877,29.550213],[117.690457,29.555939],[117.678754,29.595496],[117.647957,29.614749],[117.608537,29.591333],[117.543248,29.588731],[117.523538,29.630356],[117.530313,29.654282],[117.490277,29.660003],[117.453936,29.688082],[117.455168,29.749412],[117.408973,29.802396],[117.415132,29.85068],[117.382487,29.840818],[117.359082,29.812782],[117.338756,29.848085],[117.29256,29.822647],[117.25314,29.834588],[117.261763,29.880781],[117.246365,29.915023],[117.2168,29.926953],[117.171836,29.920729],[117.129952,29.89946],[117.127489,29.86158],[117.073286,29.831992],[117.123177,29.798761],[117.136728,29.775388],[117.108395,29.75201],[117.112706,29.711995],[117.041873,29.680803],[116.996294,29.683403],[116.974736,29.657403],[116.939627,29.648561],[116.873722,29.609546],[116.849084,29.57624],[116.780715,29.569994],[116.760389,29.599139],[116.721585,29.564789],[116.716657,29.590813],[116.651983,29.637118],[116.680317,29.681323],[116.653831,29.694841],[116.673541,29.709916],[116.762237,29.802396],[116.780715,29.792529],[116.882961,29.893753],[116.900207,29.949253],[116.868794,29.980361],[116.83307,29.95755],[116.830606,30.004723],[116.802889,29.99643],[116.783794,30.030632],[116.747454,30.057053],[116.720353,30.053945],[116.666766,30.076734],[116.620571,30.073109],[116.585462,30.045657],[116.552201,29.909836],[116.525716,29.897385],[116.467818,29.896347],[116.342782,29.835626],[116.280572,29.788893],[116.250391,29.785777],[116.227601,29.816936],[116.172783,29.828358],[116.13521,29.819532],[116.087167,29.795125],[116.049595,29.761881],[115.965827,29.724469],[115.909777,29.723949],[115.837096,29.748373],[115.762567,29.793048],[115.706517,29.837703],[115.667712,29.850161],[115.611662,29.841337],[115.51188,29.840299],[115.479235,29.811224],[115.470612,29.739539],[115.412714,29.688602],[115.355431,29.649602],[115.304924,29.637118],[115.28583,29.618391],[115.250722,29.660003],[115.176809,29.654803],[115.113367,29.684963],[115.117679,29.655843],[115.143548,29.645961],[115.120142,29.597578],[115.157099,29.584568],[115.154019,29.510117],[115.086266,29.525741],[115.087498,29.560104],[115.033295,29.546568],[115.00065,29.572076],[114.947679,29.542924],[114.966773,29.522096],[114.940288,29.493971],[114.900868,29.505951],[114.860216,29.476258],[114.888549,29.436134],[114.918114,29.454374],[114.90518,29.473132],[114.935977,29.486678],[114.947063,29.465317],[114.931049,29.422581],[114.895325,29.397557],[114.866375,29.404335],[114.812173,29.383478],[114.784455,29.386086],[114.759818,29.363139],[114.740724,29.386607],[114.67297,29.395993],[114.621847,29.379828],[114.589819,29.352707],[114.519602,29.325578],[114.466015,29.324013],[114.440145,29.341752],[114.376088,29.322969],[114.341595,29.327665],[114.307102,29.365225],[114.259059,29.343839],[114.252284,29.23475],[114.169748,29.216993],[114.063191,29.204978],[114.034857,29.152204],[113.98743,29.126068],[113.952321,29.092604],[113.94185,29.047097],[113.961561,28.999476],[113.955401,28.978536],[113.973879,28.937692],[114.008988,28.955498],[114.005292,28.917788],[114.028082,28.891069],[114.060111,28.902596],[114.056415,28.872204],[114.076741,28.834464],[114.124784,28.843376],[114.153734,28.829221],[114.137719,28.779926],[114.157429,28.761566],[114.122321,28.623497],[114.132176,28.607211],[114.08598,28.558337],[114.138335,28.533629],[114.15435,28.507337],[114.218407,28.48472],[114.217175,28.466308],[114.172212,28.432632],[114.214712,28.403157],[114.252284,28.395787],[114.2529,28.319423],[114.198081,28.29097],[114.182067,28.249858],[114.143879,28.246694],[114.109386,28.205038],[114.107538,28.182885],[114.068734,28.171806],[114.012068,28.174972],[113.992357,28.161255],[114.025002,28.080499],[114.047176,28.057263],[114.025618,28.031382],[113.970184,28.041418],[113.966488,28.017646],[113.936307,28.018703],[113.914133,27.991227],[113.864242,28.004966],[113.845148,27.971672],[113.822974,27.982243],[113.752141,27.93361],[113.72812,27.874904],[113.756453,27.860091],[113.763228,27.799228],[113.69917,27.740979],[113.696707,27.71979],[113.652359,27.663619],[113.607395,27.625449],[113.608627,27.585143],[113.579062,27.545354],[113.583374,27.524657],[113.627105,27.49971],[113.591381,27.467855],[113.59754,27.428554],[113.632033,27.40518],[113.605548,27.38924],[113.616635,27.345658],[113.657902,27.347253],[113.699786,27.331836],[113.72812,27.350442],[113.872865,27.384988],[113.872865,27.346721],[113.854387,27.30525],[113.872865,27.289828],[113.846996,27.222262],[113.779242,27.137081],[113.771851,27.096598],[113.803264,27.099261],[113.824206,27.036378],[113.86301,27.018252],[113.892575,26.964925],[113.927068,26.948922],[113.890112,26.895562],[113.877177,26.859262],[113.835909,26.806394],[113.853771,26.769532],[113.860546,26.664221],[113.912901,26.613938],[113.996669,26.615543],[114.019459,26.587182],[114.10877,26.56952],[114.07243,26.480096],[114.110002,26.482775],[114.090292,26.455988],[114.085364,26.406149],[114.062575,26.406149],[114.030546,26.376664],[114.047792,26.337518],[114.021307,26.288701],[114.029314,26.266163],[113.978807,26.237716],[113.972647,26.20604],[113.949242,26.192616],[113.962792,26.150722],[114.013299,26.184023],[114.088444,26.168448],[114.102611,26.187783],[114.181451,26.214631],[114.216559,26.203355],[114.237501,26.152333],[114.188842,26.121172],[114.10569,26.097526],[114.121089,26.085702],[114.087828,26.06635],[114.044096,26.076564],[114.008372,26.015806],[114.028082,25.98138],[114.028082,25.893119],[113.971416,25.836036],[113.961561,25.77731],[113.920293,25.741197],[113.913517,25.701299],[113.957249,25.611749],[113.983118,25.599336],[113.986198,25.529153],[113.962792,25.528072],[113.94493,25.441635],[114.003444,25.442716],[113.983118,25.415152],[114.050256,25.36433],[114.029314,25.328093],[114.017611,25.273987],[114.039785,25.250714],[114.055799,25.277775],[114.083517,25.275611],[114.115545,25.302125],[114.190074,25.316733],[114.204857,25.29942],[114.260291,25.291845],[114.2954,25.299961],[114.31511,25.33837],[114.382863,25.317274],[114.43029,25.343779],[114.438914,25.376226],[114.477718,25.37136],[114.541159,25.416773],[114.599674,25.385959],[114.63663,25.324306],[114.714238,25.315651],[114.743188,25.274528],[114.73518,25.225813],[114.693912,25.213902],[114.685905,25.173287],[114.73518,25.155954],[114.735796,25.121822],[114.664963,25.10123],[114.640326,25.074129],[114.604601,25.083886],[114.561485,25.077382],[114.532536,25.022623],[114.506051,24.999844],[114.45616,24.99659],[114.454928,24.977062],[114.395798,24.951019],[114.403189,24.877746],[114.378551,24.861457],[114.342211,24.807145],[114.336052,24.749004],[114.281849,24.724001],[114.27261,24.700624],[114.169132,24.689749],[114.19069,24.656576],[114.258443,24.641346],[114.289856,24.619042],[114.300943,24.578775],[114.363769,24.582584],[114.391486,24.563535],[114.403189,24.497657],[114.429058,24.48622],[114.534384,24.559181],[114.589819,24.537406],[114.627391,24.576598],[114.664963,24.583673],[114.704999,24.525973],[114.73826,24.565168],[114.729637,24.608704],[114.781376,24.613057],[114.827571,24.588026],[114.846665,24.602719],[114.868839,24.562446],[114.893477,24.582584],[114.909491,24.661471],[114.940288,24.650049],[115.00373,24.679418],[115.024672,24.669085],[115.057317,24.703343],[115.083802,24.699537],[115.104744,24.667997],[115.1842,24.711498],[115.258729,24.728894],[115.269816,24.749548],[115.306772,24.758787],[115.358511,24.735416],[115.372678,24.774546],[115.412714,24.79302],[115.476771,24.762591],[115.522967,24.702799],[115.555611,24.683768],[115.569778,24.622306],[115.605503,24.62557],[115.671408,24.604895],[115.68927,24.545027],[115.752712,24.546116],[115.785357,24.567345],[115.843871,24.562446],[115.840791,24.584217],[115.797676,24.628834],[115.780429,24.663103],[115.801371,24.705517],[115.769342,24.708236],[115.756408,24.749004],[115.776734,24.774546],[115.764415,24.791933],[115.790284,24.856027],[115.807531,24.862543],[115.824161,24.909232],[115.863581,24.891318],[115.861733,24.863629],[115.907313,24.879917],[115.885139,24.898918],[115.89253,24.936911],[115.870356,24.959701],[115.925175,24.960786],[115.873436,25.019911],[115.928255,25.050276],[115.908545,25.084428],[115.880212,25.092016],[115.888219,25.128866],[115.860501,25.165704],[115.855574,25.20957],[115.930719,25.236099],[115.949813,25.292386],[115.987385,25.290221],[116.008327,25.319437],[115.992928,25.374063],[116.023109,25.435691],[116.005247,25.490264],[116.03666,25.514571],[116.040356,25.548052],[116.063145,25.56317],[116.041588,25.62416],[116.068689,25.646282],[116.067457,25.703995],[116.106877,25.701299],[116.129667,25.758985],[116.18079,25.778926],[116.131515,25.824185],[116.132131,25.860273],[116.17771,25.894195],[116.225138,25.908731],[116.258398,25.902809],[116.303362,25.924341],[116.326152,25.956631],[116.369883,25.963088],[116.360028,25.991601],[116.384666,26.030864],[116.489375,26.113649],[116.476441,26.172745],[116.435789,26.159854],[116.392057,26.171133],[116.400064,26.202819],[116.385282,26.238253],[116.412999,26.297822],[116.437021,26.308016],[116.459194,26.345026],[116.499846,26.361651],[116.519557,26.410437],[116.553433,26.400253],[116.553433,26.365404],[116.601476,26.372911],[116.608252,26.429732],[116.638433,26.477418],[116.610716,26.476882],[116.597165,26.512768],[116.539267,26.559349],[116.553433,26.575942],[116.566368,26.650315],[116.520172,26.684543],[116.515245,26.720898],[116.557745,26.773806],[116.543578,26.803723],[116.548506,26.84004],[116.602092,26.888623],[116.632889,26.933984],[116.679085,26.978259],[116.817671,27.018252],[116.851548,27.009188],[116.910062,27.034779],[116.936547,27.019319],[116.967344,27.061962],[117.05296,27.100327],[117.044953,27.146667],[117.149662,27.241419],[117.171836,27.29036],[117.136728,27.303123],[117.140423,27.322798],[117.104699,27.330773],[117.107163,27.393491],[117.133032,27.42218],[117.110242,27.458828],[117.103467,27.533149],[117.076982,27.566046],[117.054808,27.5427],[117.01662,27.563393],[117.024627,27.592569],[117.003685,27.625449],[117.040641,27.669979],[117.065279,27.665739],[117.094228,27.627569],[117.11209,27.645596],[117.096076,27.667329],[117.114554,27.692238],[117.174916,27.677399],[117.204481,27.683759],[117.205097,27.714492],[117.245133,27.71926],[117.296256,27.764282],[117.303031,27.833103],[117.276546,27.847921],[117.280242,27.871201],[117.334444,27.8876],[117.341836,27.855858],[117.366473,27.88231],[117.407741,27.893948],[117.453936,27.939955],[117.477958,27.930966],[117.52169,27.982243],[117.556182,27.966387],[117.609769,27.863265],[117.649805,27.851625],[117.68245,27.823577],[117.704624,27.834162],[117.740348,27.800286],[117.788392,27.855858],[117.78716,27.896063],[117.856145,27.94577],[117.910963,27.949471],[117.942992,27.974315],[117.965166,27.962687],[117.999043,27.991227],[118.096977,27.970615],[118.094513,28.003909],[118.129006,28.017118],[118.120999,28.041946],[118.153644,28.062016],[118.199839,28.049869],[118.242339,28.075746],[118.356288,28.091586],[118.361215,28.155978],[118.375382,28.186577],[118.339041,28.193962],[118.314404,28.221913],[118.424041,28.291497],[118.433896,28.288335],[118.480091,28.327325],[118.455454,28.384204],[118.432048,28.402104],[118.456686,28.424738],[118.474548,28.478934],[118.414802,28.497344],[118.4302,28.515225],[118.412338,28.55676],[118.428352,28.617193],[118.428352,28.617193],[118.428352,28.681267],[118.403099,28.702791],[118.364295,28.813491],[118.300237,28.826075],[118.270056,28.918836],[118.195527,28.904167],[118.227556,28.942406],[118.165346,28.986912],[118.133933,28.983771],[118.115455,29.009944],[118.115455,29.009944],[118.097593,28.998952],[118.066796,29.053898],[118.076035,29.074822],[118.037847,29.102017],[118.045238,29.149068],[118.027992,29.167882],[118.042159,29.210202],[118.073571,29.216993],[118.077883,29.290614],[118.138861,29.283828],[118.178281,29.297921],[118.166578,29.314099],[118.205382,29.343839],[118.193064,29.395472]]]]}},{type:"Feature",properties:{adcode:37e4,name:"山东省",center:[117.000923,36.675807],centroid:[118.187759,36.376092],childrenNum:16,level:"province",parent:{adcode:1e5},subFeatureIndex:14,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[116.374195,34.640011],[116.392057,34.710391],[116.363724,34.715311],[116.369267,34.749247],[116.403144,34.756131],[116.408071,34.850972],[116.445028,34.895652],[116.557745,34.908905],[116.613795,34.922645],[116.622418,34.939818],[116.677853,34.939327],[116.781331,34.916757],[116.789338,34.975133],[116.815823,34.965324],[116.821983,34.929515],[116.858323,34.928533],[116.922381,34.894671],[116.929156,34.843114],[116.966113,34.844588],[116.979047,34.815113],[116.95133,34.81069],[116.969192,34.771864],[117.022163,34.759081],[117.070206,34.713835],[117.061583,34.675947],[117.073286,34.639026],[117.104083,34.648874],[117.15151,34.559222],[117.139191,34.526687],[117.166293,34.434435],[117.248213,34.451216],[117.252524,34.48674],[117.27285,34.499565],[117.267923,34.532603],[117.303647,34.542463],[117.27285,34.556757],[117.311654,34.561686],[117.311654,34.561686],[117.32151,34.566614],[117.32151,34.566614],[117.325205,34.573021],[117.325205,34.573021],[117.370785,34.584846],[117.402813,34.569571],[117.402813,34.550843],[117.465023,34.484767],[117.53832,34.467006],[117.592523,34.462566],[117.609769,34.490686],[117.659044,34.501044],[117.684298,34.547392],[117.801942,34.518798],[117.791471,34.583368],[117.793935,34.651827],[117.902956,34.644443],[117.909732,34.670533],[117.951615,34.678408],[118.053861,34.650843],[118.084042,34.655766],[118.114839,34.614404],[118.079115,34.569571],[118.185056,34.543942],[118.16473,34.50499],[118.132702,34.483287],[118.177665,34.45319],[118.179513,34.379628],[118.217701,34.379134],[118.220165,34.405802],[118.277447,34.404814],[118.290382,34.424563],[118.379693,34.415183],[118.404947,34.427525],[118.416034,34.473914],[118.439439,34.507949],[118.424657,34.595193],[118.439439,34.626223],[118.473932,34.623269],[118.460997,34.656258],[118.545997,34.705964],[118.601431,34.714327],[118.607591,34.694155],[118.664257,34.693663],[118.690127,34.678408],[118.739402,34.693663],[118.783749,34.723181],[118.764039,34.740396],[118.719076,34.745313],[118.739402,34.792508],[118.772047,34.794474],[118.80038,34.843114],[118.805307,34.87307],[118.860742,34.944233],[118.86259,35.025626],[118.928495,35.051106],[118.942662,35.040817],[119.027045,35.055516],[119.114509,35.055026],[119.137915,35.096167],[119.217371,35.106939],[119.250016,35.124562],[119.286972,35.115261],[119.306066,35.076578],[119.354109,35.080007],[119.373819,35.078538],[119.428022,35.121136],[119.397841,35.137777],[119.411392,35.231689],[119.450812,35.285443],[119.493312,35.318655],[119.538275,35.296678],[119.543819,35.347949],[119.590014,35.37284],[119.579543,35.406504],[119.618963,35.459655],[119.663311,35.562931],[119.662079,35.589215],[119.718129,35.615492],[119.75139,35.617924],[119.772332,35.578995],[119.780339,35.584835],[119.792658,35.615492],[119.824071,35.646136],[119.83023,35.620357],[119.868419,35.60868],[119.925085,35.637382],[119.91215,35.660725],[119.950339,35.729741],[119.920157,35.739943],[119.926317,35.759856],[119.958346,35.760342],[120.01378,35.714193],[120.049505,35.786562],[120.032258,35.812288],[120.064287,35.873414],[120.112331,35.885052],[120.125265,35.906868],[120.152983,35.907353],[120.207801,35.947575],[120.169613,35.888446],[120.202258,35.89184],[120.209033,35.917531],[120.265699,35.966468],[120.30512,35.971796],[120.316206,36.002304],[120.289721,36.017311],[120.285409,36.01247],[120.249069,35.992136],[120.257076,36.025055],[120.198562,35.995525],[120.234902,36.030863],[120.239214,36.062316],[120.181316,36.066669],[120.152367,36.095206],[120.116642,36.102943],[120.108635,36.127599],[120.142512,36.143549],[120.140664,36.173507],[120.181316,36.203936],[120.22012,36.209248],[120.224432,36.19138],[120.260772,36.198624],[120.263236,36.182202],[120.310047,36.185101],[120.297112,36.225664],[120.319902,36.232423],[120.362402,36.196209],[120.35809,36.174956],[120.286025,36.047317],[120.337764,36.055058],[120.429539,36.056994],[120.468959,36.087952],[120.546568,36.091821],[120.546568,36.107778],[120.593995,36.100525],[120.615553,36.120348],[120.64327,36.114547],[120.672835,36.130016],[120.712255,36.126632],[120.696857,36.15563],[120.696857,36.203936],[120.680843,36.238698],[120.686386,36.279234],[120.657437,36.276339],[120.66298,36.331803],[120.744284,36.327946],[120.694393,36.390118],[120.759683,36.46283],[120.828668,36.46668],[120.837291,36.459942],[120.858849,36.424797],[120.848994,36.403124],[120.871784,36.36699],[120.911204,36.412276],[120.917979,36.417573],[120.90874,36.450315],[120.938305,36.447908],[120.965407,36.466199],[120.95432,36.507578],[120.983269,36.546051],[120.962327,36.562877],[120.909972,36.568645],[120.884718,36.601323],[120.847146,36.618617],[120.882255,36.627262],[120.926602,36.611892],[120.955551,36.575855],[121.028848,36.572971],[121.078123,36.607568],[121.161275,36.651273],[121.251818,36.671436],[121.29863,36.702151],[121.31218,36.702151],[121.35776,36.713186],[121.400876,36.701191],[121.3941,36.738129],[121.454462,36.752515],[121.496962,36.795179],[121.506817,36.803805],[121.565331,36.830635],[121.548701,36.807638],[121.485259,36.786073],[121.532071,36.73621],[121.575186,36.740047],[121.556092,36.764502],[121.651563,36.723739],[121.631853,36.80093],[121.6762,36.819137],[121.726092,36.826323],[121.762432,36.84644],[121.767975,36.874691],[121.927504,36.932597],[121.965076,36.938337],[122.008808,36.96225],[122.042684,36.871819],[122.051923,36.904846],[122.093191,36.913938],[122.115981,36.94025],[122.124604,36.944077],[122.141235,36.938337],[122.119677,36.891924],[122.175727,36.894317],[122.188662,36.866073],[122.174495,36.842609],[122.220691,36.848835],[122.275509,36.83734],[122.280437,36.835904],[122.344495,36.828239],[122.378371,36.844525],[122.383915,36.865595],[122.415944,36.85937],[122.454748,36.879],[122.452284,36.88618],[122.434422,36.914416],[122.483081,36.913938],[122.48924,36.886659],[122.532356,36.901496],[122.55761,36.968467],[122.544675,37.004797],[122.583479,37.037289],[122.575472,37.054485],[122.494168,37.033945],[122.467067,37.037289],[122.478769,37.058784],[122.484313,37.128956],[122.533588,37.153286],[122.581015,37.147562],[122.573624,37.176178],[122.624131,37.190959],[122.592718,37.261485],[122.567465,37.25958],[122.573624,37.296247],[122.611196,37.339558],[122.607501,37.364296],[122.650616,37.388551],[122.6925,37.373809],[122.714058,37.392355],[122.701739,37.418501],[122.67587,37.413273],[122.641377,37.428482],[122.553914,37.407093],[122.4954,37.413748],[122.487393,37.43466],[122.41656,37.414699],[122.337103,37.414223],[122.281053,37.430858],[122.287212,37.445114],[122.25272,37.467917],[122.194205,37.456041],[122.166488,37.438937],[122.131996,37.49926],[122.163408,37.519199],[122.150474,37.557163],[122.08888,37.554316],[122.075329,37.540556],[122.017431,37.531065],[121.997721,37.494512],[121.923808,37.473142],[121.772903,37.466492],[121.66573,37.473617],[121.635548,37.494037],[121.575802,37.460317],[121.571491,37.441313],[121.477252,37.475992],[121.460006,37.522522],[121.400876,37.557638],[121.395948,37.589891],[121.435368,37.592737],[121.391021,37.625449],[121.349137,37.635403],[121.358376,37.597479],[121.304789,37.582778],[121.217326,37.582778],[121.17421,37.597479],[121.148956,37.626397],[121.161891,37.646302],[121.142797,37.661464],[121.160043,37.698882],[121.136022,37.723501],[121.037471,37.718767],[120.994356,37.759468],[120.943233,37.785486],[120.940769,37.819533],[120.874863,37.833241],[120.845298,37.826623],[120.839139,37.82426],[120.733197,37.833714],[120.656821,37.793054],[120.634031,37.796364],[120.590915,37.7642],[120.517619,37.750005],[120.454793,37.757576],[120.367945,37.697935],[120.227511,37.693673],[120.22012,37.671886],[120.269395,37.658622],[120.272475,37.636824],[120.215192,37.621183],[120.208417,37.588469],[120.246605,37.556689],[120.222584,37.532963],[120.144359,37.481691],[120.086461,37.465067],[120.064903,37.448915],[120.010085,37.442263],[119.949723,37.419927],[119.926933,37.386649],[119.843781,37.376662],[119.837006,37.346695],[119.883201,37.311004],[119.89244,37.263866],[119.865339,37.233854],[119.83023,37.225754],[119.808057,37.196203],[119.740303,37.133727],[119.687332,37.143746],[119.678709,37.158056],[119.576463,37.127524],[119.489616,37.134681],[119.428022,37.125616],[119.361501,37.125616],[119.327624,37.115595],[119.301138,37.139452],[119.298675,37.197156],[119.2069,37.223371],[119.190885,37.25958],[119.204436,37.280058],[119.136683,37.230995],[119.12806,37.254816],[119.091103,37.257674],[119.084328,37.239572],[119.054147,37.254816],[119.03998,37.30434],[119.001176,37.31862],[118.942662,37.497361],[118.939582,37.527268],[118.988857,37.620709],[119.023966,37.642037],[119.153313,37.655305],[119.236465,37.651988],[119.262334,37.660517],[119.280197,37.692726],[119.309146,37.805349],[119.291899,37.869627],[119.24016,37.878131],[119.212443,37.838913],[119.16132,37.81906],[119.12806,37.847892],[119.110813,37.921577],[119.001792,37.99613],[118.974075,38.094162],[118.908169,38.139362],[118.811467,38.157717],[118.703677,38.151129],[118.626069,38.138421],[118.607591,38.129006],[118.597736,38.079088],[118.552156,38.05553],[118.534294,38.063541],[118.517048,38.088509],[118.504729,38.11394],[118.44991,38.124299],[118.431432,38.106406],[118.404331,38.121003],[118.331034,38.12524],[118.217085,38.146893],[118.177665,38.186417],[118.112376,38.210403],[118.045238,38.214165],[118.018753,38.202409],[117.896797,38.279495],[117.895565,38.301572],[117.848754,38.255062],[117.808718,38.22827],[117.789007,38.180772],[117.766834,38.158658],[117.771145,38.134655],[117.746508,38.12524],[117.704624,38.076262],[117.586979,38.071551],[117.557414,38.046105],[117.557414,38.046105],[117.524154,37.989527],[117.513067,37.94329],[117.481038,37.914967],[117.438538,37.854035],[117.400966,37.844584],[117.320278,37.861596],[117.271618,37.839858],[117.185387,37.849783],[117.150278,37.839385],[117.074518,37.848837],[117.027091,37.832296],[116.919301,37.846002],[116.837997,37.835132],[116.804736,37.848837],[116.753613,37.793054],[116.753613,37.77035],[116.724664,37.744327],[116.679085,37.728708],[116.66307,37.686096],[116.604556,37.624975],[116.575607,37.610754],[116.4826,37.521573],[116.448108,37.503059],[116.433941,37.473142],[116.38097,37.522522],[116.379738,37.522047],[116.38097,37.522522],[116.379738,37.522047],[116.36742,37.566177],[116.336007,37.581355],[116.295355,37.554316],[116.278724,37.524895],[116.290427,37.484065],[116.27626,37.466967],[116.240536,37.489764],[116.240536,37.489764],[116.224522,37.479791],[116.243,37.447965],[116.226369,37.428007],[116.2855,37.404241],[116.236224,37.361442],[116.193109,37.365723],[116.169087,37.384271],[116.106261,37.368577],[116.085935,37.373809],[116.024341,37.360015],[115.975682,37.337179],[115.969523,37.239572],[115.909777,37.20669],[115.91224,37.177132],[115.879596,37.150901],[115.888219,37.112254],[115.85619,37.060694],[115.776734,36.992848],[115.79706,36.968945],[115.75764,36.902453],[115.71206,36.883308],[115.683727,36.808117],[115.524815,36.763543],[115.479851,36.760187],[115.451518,36.702151],[115.420105,36.686795],[115.365902,36.621979],[115.355431,36.627262],[115.33141,36.550378],[115.272895,36.497476],[115.291374,36.460423],[115.317243,36.454166],[115.297533,36.413239],[115.340033,36.398307],[115.368982,36.342409],[115.366518,36.30914],[115.423185,36.32216],[115.417025,36.292742],[115.462605,36.276339],[115.466916,36.258969],[115.466916,36.258969],[115.474923,36.248352],[115.483547,36.148865],[115.484163,36.125666],[115.449054,36.047317],[115.447822,36.01247],[115.362822,35.971796],[115.353583,35.938854],[115.364054,35.894264],[115.335105,35.796756],[115.363438,35.779765],[115.407786,35.80889],[115.460141,35.867594],[115.487858,35.880688],[115.495249,35.896203],[115.505104,35.899112],[115.513112,35.890385],[115.583945,35.921893],[115.648618,35.922863],[115.699125,35.966468],[115.774886,35.974702],[115.779813,35.993588],[115.817386,36.012954],[115.859886,36.003756],[115.89869,36.026507],[115.989849,36.045381],[116.057602,36.104877],[116.099486,36.112129],[116.063145,36.028927],[116.048979,35.970343],[115.984921,35.974218],[115.911624,35.960171],[115.907929,35.92674],[115.873436,35.918985],[115.882675,35.879718],[115.859886,35.857894],[115.81677,35.844312],[115.773654,35.854014],[115.73485,35.833154],[115.696046,35.788989],[115.693582,35.754028],[115.622749,35.739457],[115.52851,35.733628],[115.48601,35.710306],[115.383148,35.568772],[115.34496,35.55368],[115.356047,35.490359],[115.307388,35.480126],[115.237171,35.423087],[115.172497,35.426501],[115.126302,35.41821],[115.117679,35.400163],[115.091809,35.416259],[115.073947,35.374304],[115.04315,35.376744],[114.957534,35.261014],[114.929201,35.244886],[114.932281,35.198441],[114.861448,35.182301],[114.841738,35.15099],[114.883006,35.098615],[114.835578,35.076578],[114.818948,35.051596],[114.852209,35.041797],[114.824492,35.012393],[114.880542,35.00357],[114.923658,34.968757],[114.950759,34.989843],[115.008041,34.988372],[115.028983,34.9717],[115.075179,35.000628],[115.12815,35.00455],[115.157099,34.957968],[115.219309,34.96042],[115.205142,34.914303],[115.251953,34.906451],[115.239019,34.87798],[115.256265,34.845079],[115.317243,34.859321],[115.42688,34.805285],[115.449054,34.74433],[115.433655,34.725149],[115.461373,34.637057],[115.515575,34.582383],[115.553148,34.568586],[115.622749,34.574499],[115.685575,34.556265],[115.697278,34.594207],[115.787821,34.580905],[115.827241,34.558236],[115.838328,34.5676],[115.984305,34.589281],[115.991081,34.615389],[116.037276,34.593222],[116.101334,34.60603],[116.134594,34.559715],[116.156768,34.5538],[116.196804,34.575977],[116.247927,34.551829],[116.286116,34.608986],[116.32492,34.601104],[116.334159,34.620806],[116.374195,34.640011]]],[[[120.729502,37.947065],[120.721495,37.917328],[120.76461,37.895134],[120.76461,37.923937],[120.729502,37.947065]]],[[[120.692545,37.983867],[120.732581,37.961694],[120.724574,37.987641],[120.692545,37.983867]]],[[[120.990044,36.413239],[120.978341,36.428649],[120.950624,36.414684],[120.990044,36.413239]]],[[[120.750444,38.150188],[120.7874,38.158658],[120.742436,38.199116],[120.750444,38.150188]]],[[[120.918595,38.345236],[120.914899,38.373393],[120.895189,38.36307],[120.918595,38.345236]]],[[[120.159142,35.765198],[120.169613,35.740428],[120.193019,35.756942],[120.172077,35.785591],[120.159142,35.765198]]],[[[120.62664,37.94565],[120.631567,37.981037],[120.602002,37.978678],[120.62664,37.94565]]],[[[120.802183,38.284193],[120.848378,38.305799],[120.816349,38.318008],[120.802183,38.284193]]],[[[121.489571,37.577086],[121.489571,37.577561],[121.489571,37.578509],[121.488955,37.578035],[121.489571,37.577086]]],[[[121.485875,37.578509],[121.487723,37.578035],[121.487723,37.578509],[121.485875,37.578509]]],[[[121.487723,37.578509],[121.487723,37.577561],[121.488955,37.578035],[121.488955,37.578509],[121.488339,37.578509],[121.487723,37.578509]]],[[[115.495249,35.896203],[115.487858,35.880688],[115.513112,35.890385],[115.505104,35.899112],[115.495249,35.896203]]]]}},{type:"Feature",properties:{adcode:41e4,name:"河南省",center:[113.665412,34.757975],centroid:[113.619717,33.902648],childrenNum:18,level:"province",parent:{adcode:1e5},subFeatureIndex:15,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[112.716747,32.357612],[112.735841,32.356095],[112.776493,32.358623],[112.860877,32.396024],[112.888594,32.37682],[112.912,32.390971],[112.992072,32.378336],[113.000695,32.41674],[113.025949,32.425328],[113.078919,32.394508],[113.107869,32.398551],[113.118956,32.375809],[113.155912,32.380863],[113.158992,32.410677],[113.211962,32.431895],[113.2366,32.407141],[113.333918,32.336377],[113.317904,32.327275],[113.353628,32.294904],[113.376418,32.298445],[113.428773,32.270618],[113.511925,32.316654],[113.624642,32.36115],[113.650511,32.412698],[113.700402,32.420782],[113.735511,32.410677],[113.76754,32.370249],[113.753989,32.328286],[113.768772,32.30148],[113.768156,32.284279],[113.758301,32.27669],[113.749061,32.272642],[113.73859,32.255942],[113.752757,32.215951],[113.782322,32.184553],[113.750293,32.11615],[113.722576,32.12426],[113.728735,32.083197],[113.791561,32.036028],[113.757685,31.98985],[113.817431,31.964467],[113.805728,31.929428],[113.832213,31.918761],[113.830981,31.87913],[113.854387,31.843042],[113.893807,31.847109],[113.914749,31.877098],[113.957865,31.852701],[113.952321,31.793714],[113.988662,31.749959],[114.017611,31.770822],[114.086596,31.782014],[114.121705,31.809482],[114.134024,31.843042],[114.191922,31.852192],[114.235654,31.833382],[114.292936,31.752503],[114.350218,31.755557],[114.403189,31.746906],[114.443841,31.728074],[114.530688,31.742834],[114.549783,31.766751],[114.586123,31.762172],[114.57134,31.660858],[114.547935,31.623665],[114.560869,31.560963],[114.572572,31.553824],[114.61692,31.585437],[114.641558,31.582378],[114.696376,31.525771],[114.778912,31.520669],[114.789383,31.480358],[114.830035,31.45892],[114.870071,31.479337],[114.884238,31.469129],[114.962462,31.494648],[114.995107,31.471171],[115.022824,31.527811],[115.096121,31.508425],[115.114599,31.530362],[115.106592,31.567592],[115.12507,31.599201],[115.16449,31.604808],[115.212533,31.555354],[115.235939,31.555354],[115.218077,31.515057],[115.211301,31.442072],[115.252569,31.421646],[115.250722,31.392021],[115.301229,31.383846],[115.338801,31.40428],[115.373909,31.405813],[115.389924,31.450241],[115.371446,31.495668],[115.415793,31.525771],[115.439815,31.588496],[115.485394,31.608885],[115.476771,31.643028],[115.495249,31.673083],[115.534054,31.698545],[115.553764,31.69549],[115.676336,31.778453],[115.731154,31.76726],[115.767495,31.78761],[115.808147,31.770313],[115.808147,31.770313],[115.851878,31.786593],[115.886371,31.776418],[115.914704,31.814567],[115.893762,31.832365],[115.894994,31.8649],[115.920248,31.920285],[115.909161,31.94314],[115.928871,32.003046],[115.922095,32.049725],[115.941805,32.166318],[115.912856,32.227596],[115.899306,32.390971],[115.865429,32.458662],[115.883291,32.487946],[115.845719,32.501575],[115.8759,32.542448],[115.910393,32.567165],[115.891298,32.576243],[115.861117,32.537403],[115.789052,32.468761],[115.771806,32.505108],[115.742241,32.476335],[115.704669,32.495013],[115.667712,32.409667],[115.657857,32.428864],[115.626445,32.40512],[115.604271,32.425833],[115.57101,32.419266],[115.522967,32.441997],[115.509416,32.466741],[115.5088,32.468761],[115.497713,32.492489],[115.409018,32.549007],[115.411482,32.575235],[115.304924,32.553042],[115.30554,32.583303],[115.267352,32.578261],[115.24333,32.593388],[115.20083,32.591876],[115.182968,32.666973],[115.179273,32.726402],[115.189744,32.770695],[115.211301,32.785791],[115.189744,32.812452],[115.197135,32.856201],[115.155867,32.864747],[115.139237,32.897917],[115.029599,32.906962],[115.035143,32.932582],[115.009273,32.940117],[114.943368,32.935094],[114.916266,32.971251],[114.883006,32.990328],[114.891629,33.020441],[114.925506,33.016928],[114.913187,33.083143],[114.897172,33.086653],[114.902716,33.129764],[114.932897,33.153817],[114.966158,33.147304],[114.990795,33.102195],[115.041302,33.086653],[115.168186,33.088658],[115.194671,33.120743],[115.245178,33.135778],[115.289526,33.131769],[115.303692,33.149809],[115.300613,33.204407],[115.340033,33.260973],[115.335105,33.297997],[115.361591,33.298497],[115.365286,33.336005],[115.341881,33.370997],[115.313547,33.376994],[115.328946,33.403477],[115.315395,33.431451],[115.324634,33.457418],[115.345576,33.449928],[115.345576,33.502842],[115.366518,33.5233],[115.394851,33.506335],[115.422569,33.557219],[115.463837,33.567193],[115.511264,33.55323],[115.564851,33.576169],[115.639995,33.585143],[115.601191,33.658898],[115.601807,33.718653],[115.563003,33.772895],[115.576553,33.787817],[115.614126,33.775879],[115.631988,33.869846],[115.547604,33.874815],[115.577785,33.950307],[115.579017,33.974133],[115.60735,34.030196],[115.642459,34.03218],[115.658473,34.061437],[115.705901,34.059949],[115.736082,34.076805],[115.768726,34.061932],[115.809378,34.062428],[115.846335,34.028708],[115.85003,34.004898],[115.877132,34.002913],[115.876516,34.028708],[115.904233,34.009859],[115.95782,34.007875],[116.00032,33.965199],[115.982457,33.917039],[116.05945,33.860902],[116.055754,33.804727],[116.074232,33.781351],[116.100102,33.782843],[116.132747,33.751501],[116.155536,33.709693],[116.230065,33.735078],[116.263326,33.730101],[116.316912,33.771402],[116.393905,33.782843],[116.408071,33.805721],[116.437021,33.801246],[116.437637,33.846489],[116.486296,33.869846],[116.558361,33.881274],[116.566984,33.9081],[116.631042,33.887733],[116.64336,33.896675],[116.641512,33.978103],[116.599629,34.014324],[116.599629,34.014324],[116.576223,34.068873],[116.576223,34.068873],[116.52818,34.122892],[116.536187,34.151127],[116.565752,34.16945],[116.542962,34.203608],[116.545426,34.241711],[116.582382,34.266444],[116.562056,34.285731],[116.516477,34.296114],[116.456731,34.268917],[116.409303,34.273863],[116.409303,34.273863],[116.372347,34.26595],[116.357564,34.319843],[116.301514,34.342082],[116.255934,34.376665],[116.213435,34.382098],[116.215898,34.403333],[116.178942,34.430487],[116.162312,34.459605],[116.178326,34.496112],[116.204196,34.508442],[116.191261,34.535561],[116.196804,34.575977],[116.156768,34.5538],[116.134594,34.559715],[116.101334,34.60603],[116.037276,34.593222],[115.991081,34.615389],[115.984305,34.589281],[115.838328,34.5676],[115.827241,34.558236],[115.787821,34.580905],[115.697278,34.594207],[115.685575,34.556265],[115.622749,34.574499],[115.553148,34.568586],[115.515575,34.582383],[115.461373,34.637057],[115.433655,34.725149],[115.449054,34.74433],[115.42688,34.805285],[115.317243,34.859321],[115.256265,34.845079],[115.239019,34.87798],[115.251953,34.906451],[115.205142,34.914303],[115.219309,34.96042],[115.157099,34.957968],[115.12815,35.00455],[115.075179,35.000628],[115.028983,34.9717],[115.008041,34.988372],[114.950759,34.989843],[114.923658,34.968757],[114.880542,35.00357],[114.824492,35.012393],[114.852209,35.041797],[114.818948,35.051596],[114.835578,35.076578],[114.883006,35.098615],[114.841738,35.15099],[114.861448,35.182301],[114.932281,35.198441],[114.929201,35.244886],[114.957534,35.261014],[115.04315,35.376744],[115.073947,35.374304],[115.091809,35.416259],[115.117679,35.400163],[115.126302,35.41821],[115.172497,35.426501],[115.237171,35.423087],[115.307388,35.480126],[115.356047,35.490359],[115.34496,35.55368],[115.383148,35.568772],[115.48601,35.710306],[115.52851,35.733628],[115.622749,35.739457],[115.693582,35.754028],[115.696046,35.788989],[115.73485,35.833154],[115.773654,35.854014],[115.81677,35.844312],[115.859886,35.857894],[115.882675,35.879718],[115.873436,35.918985],[115.907929,35.92674],[115.911624,35.960171],[115.984921,35.974218],[116.048979,35.970343],[116.063145,36.028927],[116.099486,36.112129],[116.057602,36.104877],[115.989849,36.045381],[115.89869,36.026507],[115.859886,36.003756],[115.817386,36.012954],[115.779813,35.993588],[115.774886,35.974702],[115.699125,35.966468],[115.648618,35.922863],[115.583945,35.921893],[115.513112,35.890385],[115.487858,35.880688],[115.460141,35.867594],[115.407786,35.80889],[115.363438,35.779765],[115.335105,35.796756],[115.364054,35.894264],[115.353583,35.938854],[115.362822,35.971796],[115.447822,36.01247],[115.449054,36.047317],[115.484163,36.125666],[115.483547,36.148865],[115.465068,36.170125],[115.450902,36.152248],[115.376989,36.128083],[115.365902,36.099074],[115.312931,36.088436],[115.30246,36.127599],[115.279055,36.13775],[115.242098,36.19138],[115.202678,36.208765],[115.202678,36.208765],[115.202678,36.209248],[115.202678,36.209248],[115.201446,36.210214],[115.201446,36.210214],[115.1842,36.193312],[115.12507,36.209731],[115.104744,36.172058],[115.06286,36.178338],[115.048693,36.161912],[115.04623,36.112613],[114.998186,36.069572],[114.914419,36.052155],[114.926737,36.089403],[114.912571,36.140649],[114.858368,36.144516],[114.857752,36.127599],[114.771521,36.124699],[114.734564,36.15563],[114.720398,36.140166],[114.640326,36.137266],[114.588587,36.118414],[114.586739,36.141133],[114.533152,36.171575],[114.480181,36.177855],[114.466015,36.197658],[114.417356,36.205868],[114.408117,36.224699],[114.356378,36.230492],[114.345291,36.255591],[114.299095,36.245938],[114.257827,36.263794],[114.241197,36.251247],[114.2104,36.272962],[114.203009,36.245456],[114.170364,36.245938],[114.170364,36.245938],[114.175907,36.264759],[114.129096,36.280199],[114.080437,36.269585],[114.04348,36.303353],[114.056415,36.329392],[114.002828,36.334214],[113.981887,36.31782],[113.962792,36.353977],[113.911054,36.314927],[113.882104,36.353977],[113.84946,36.347711],[113.856851,36.329392],[113.813119,36.332285],[113.755221,36.366026],[113.731199,36.363135],[113.736127,36.324571],[113.712105,36.303353],[113.716417,36.262347],[113.681924,36.216491],[113.697939,36.181719],[113.651127,36.174473],[113.705946,36.148865],[113.712721,36.129533],[113.655439,36.125182],[113.671453,36.115514],[113.68562,36.056026],[113.660366,36.034735],[113.694859,36.026991],[113.678844,35.985841],[113.648663,35.994073],[113.654207,35.931586],[113.637576,35.870019],[113.660982,35.837035],[113.582758,35.818111],[113.604932,35.797727],[113.587685,35.736542],[113.592613,35.691838],[113.622794,35.674825],[113.625258,35.632518],[113.578446,35.633491],[113.547649,35.656835],[113.55812,35.621816],[113.513773,35.57364],[113.49899,35.532254],[113.439244,35.507412],[113.391817,35.506925],[113.348085,35.468429],[113.31236,35.481101],[113.304353,35.426989],[113.243375,35.449418],[113.189789,35.44893],[113.185477,35.409431],[113.165151,35.412845],[113.149137,35.350878],[113.126347,35.332327],[113.067217,35.353806],[112.996384,35.362104],[112.985913,35.33965],[112.992072,35.29619],[112.936022,35.284466],[112.934174,35.262968],[112.884283,35.243909],[112.822073,35.258082],[112.772798,35.207732],[112.720443,35.206265],[112.628052,35.263457],[112.637291,35.225822],[112.513487,35.218489],[112.390915,35.239021],[112.36751,35.219956],[112.288053,35.219956],[112.304684,35.251728],[112.242474,35.234622],[112.21722,35.253195],[112.13838,35.271275],[112.058924,35.280069],[112.078634,35.219467],[112.03983,35.194039],[112.066315,35.153437],[112.05646,35.098615],[112.062004,35.056005],[112.039214,35.045717],[112.018888,35.068742],[111.97762,35.067272],[111.933272,35.083435],[111.810084,35.062374],[111.807005,35.032977],[111.740483,35.00455],[111.664107,34.984449],[111.681969,34.9511],[111.646861,34.938836],[111.617911,34.894671],[111.592042,34.881416],[111.570484,34.843114],[111.543999,34.853428],[111.502731,34.829851],[111.439289,34.838202],[111.389398,34.815113],[111.345666,34.831816],[111.29208,34.806759],[111.255123,34.819535],[111.232949,34.789559],[111.148566,34.807742],[111.118385,34.756623],[111.035233,34.740887],[110.976103,34.706456],[110.920052,34.730068],[110.903422,34.669056],[110.883712,34.64395],[110.824582,34.615881],[110.791937,34.649858],[110.749437,34.65232],[110.710017,34.605045],[110.610851,34.607508],[110.533242,34.583368],[110.488279,34.610956],[110.424837,34.588295],[110.379257,34.600612],[110.366939,34.566614],[110.404511,34.557743],[110.372482,34.544435],[110.360779,34.516825],[110.403279,34.433448],[110.403279,34.433448],[110.473496,34.393457],[110.503677,34.33714],[110.451938,34.292653],[110.428533,34.288203],[110.43962,34.243196],[110.507989,34.217466],[110.55172,34.213012],[110.55788,34.193214],[110.621938,34.177372],[110.642264,34.161032],[110.61393,34.113478],[110.591757,34.101586],[110.587445,34.023252],[110.620706,34.035652],[110.671213,33.966192],[110.665669,33.937895],[110.627481,33.925482],[110.628713,33.910086],[110.587445,33.887733],[110.612083,33.852453],[110.66259,33.85295],[110.712481,33.833564],[110.74143,33.798759],[110.782082,33.796272],[110.81719,33.751003],[110.831973,33.713675],[110.823966,33.685793],[110.878784,33.634486],[110.966864,33.609071],[111.00382,33.578662],[111.002588,33.535772],[111.02661,33.478386],[111.02661,33.467903],[110.996429,33.435946],[111.025994,33.375495],[111.025994,33.330504],[110.984726,33.255469],[111.046936,33.202905],[111.045704,33.169849],[111.08882,33.181871],[111.12824,33.15532],[111.146102,33.12375],[111.179363,33.115229],[111.192913,33.071609],[111.152877,33.039507],[111.221862,33.042517],[111.258819,33.006389],[111.273601,32.971753],[111.242804,32.930573],[111.255123,32.883846],[111.276065,32.903445],[111.293311,32.859217],[111.380159,32.829049],[111.41342,32.757108],[111.475629,32.760127],[111.458383,32.726402],[111.513202,32.674026],[111.530448,32.628172],[111.577875,32.593388],[111.640701,32.634724],[111.646245,32.605993],[111.713382,32.606497],[111.808853,32.536899],[111.858128,32.528826],[111.890157,32.503089],[111.948671,32.51722],[111.975772,32.471791],[112.014576,32.450077],[112.063851,32.474315],[112.081098,32.425833],[112.155626,32.377326],[112.150083,32.411688],[112.172873,32.385412],[112.206133,32.392992],[112.328089,32.321712],[112.360118,32.3657],[112.390915,32.37126],[112.448814,32.34295],[112.477147,32.380863],[112.530733,32.37682],[112.545516,32.404109],[112.589248,32.381369],[112.612037,32.386928],[112.645298,32.368227],[112.716747,32.357612]]],[[[113.768156,32.284279],[113.768772,32.30148],[113.749061,32.272642],[113.758301,32.27669],[113.768156,32.284279]]]]}},{type:"Feature",properties:{adcode:42e4,name:"湖北省",center:[114.298572,30.584355],centroid:[112.271301,30.987527],childrenNum:17,level:"province",parent:{adcode:1e5},subFeatureIndex:16,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[111.045704,33.169849],[111.034001,33.177864],[111.035849,33.187881],[111.046936,33.202905],[110.984726,33.255469],[110.960704,33.253967],[110.9219,33.203907],[110.865234,33.213921],[110.828893,33.201403],[110.824582,33.158327],[110.753133,33.15031],[110.702626,33.097182],[110.650887,33.157324],[110.623785,33.143796],[110.59422,33.168346],[110.57759,33.250464],[110.54125,33.255469],[110.471032,33.171352],[110.398352,33.176862],[110.398352,33.176862],[110.372482,33.186379],[110.33799,33.160331],[110.285635,33.171352],[110.218497,33.163336],[110.164911,33.209415],[110.031252,33.191888],[109.999223,33.212419],[109.973353,33.203907],[109.916687,33.229942],[109.852013,33.247961],[109.813209,33.236449],[109.732521,33.231443],[109.693101,33.254468],[109.649985,33.251465],[109.619804,33.275484],[109.60687,33.235949],[109.514479,33.237951],[109.498464,33.207412],[109.438718,33.152314],[109.468283,33.140288],[109.522486,33.138785],[109.576073,33.110216],[109.688174,33.116733],[109.704188,33.101694],[109.794731,33.067095],[109.785492,32.987316],[109.76455,32.909474],[109.789804,32.882339],[109.847702,32.893395],[109.856941,32.910479],[109.907448,32.903947],[109.927158,32.887364],[109.988752,32.886359],[110.051578,32.851676],[110.105164,32.832569],[110.142121,32.802895],[110.127338,32.77774],[110.159367,32.767173],[110.156903,32.683093],[110.206179,32.633212],[110.153824,32.593388],[110.124259,32.616579],[110.090382,32.617083],[110.084223,32.580782],[110.017701,32.546989],[109.97089,32.577756],[109.910528,32.592884],[109.816905,32.577252],[109.746072,32.594901],[109.726978,32.608513],[109.631507,32.599943],[109.619804,32.56767],[109.637051,32.540935],[109.575457,32.506622],[109.526797,32.43341],[109.529877,32.405625],[109.502776,32.38895],[109.513247,32.342444],[109.495385,32.300468],[109.528645,32.270112],[109.550203,32.225065],[109.592703,32.219495],[109.604406,32.199241],[109.58716,32.161251],[109.621652,32.106519],[109.590855,32.047696],[109.590855,32.012688],[109.631507,31.962436],[109.62042,31.928412],[109.584696,31.900472],[109.60379,31.885737],[109.633971,31.824738],[109.633971,31.804396],[109.592087,31.789136],[109.585928,31.726546],[109.622268,31.711783],[109.683246,31.719929],[109.731289,31.700582],[109.737449,31.628761],[109.76455,31.602769],[109.745456,31.598182],[109.727594,31.548214],[109.837847,31.555354],[109.894513,31.519139],[109.969658,31.508935],[109.94502,31.47066],[109.98752,31.474744],[110.036795,31.436966],[110.054042,31.410921],[110.118715,31.409899],[110.161831,31.314338],[110.155671,31.279564],[110.180309,31.179774],[110.200019,31.158779],[110.180309,31.121899],[110.147048,31.116776],[110.119947,31.088592],[110.120563,31.0322],[110.140273,31.030661],[110.140889,30.987062],[110.172918,30.978853],[110.153824,30.953708],[110.151976,30.911613],[110.082375,30.799614],[110.048498,30.800642],[110.019549,30.829425],[110.008462,30.883369],[109.943788,30.878746],[109.894513,30.899803],[109.828608,30.864364],[109.780564,30.848437],[109.701724,30.783677],[109.656761,30.760538],[109.661072,30.738936],[109.625348,30.702923],[109.590855,30.69366],[109.574225,30.646818],[109.543428,30.63961],[109.535421,30.664837],[109.435638,30.595832],[109.418392,30.559766],[109.35495,30.487076],[109.337088,30.521623],[109.36111,30.551004],[109.314298,30.599953],[109.299516,30.630341],[109.245313,30.580892],[109.191726,30.545851],[109.191726,30.545851],[109.143683,30.521108],[109.103647,30.565949],[109.09256,30.578831],[109.106111,30.61077],[109.111654,30.646303],[109.071002,30.640125],[109.042669,30.655571],[109.006329,30.626736],[108.971836,30.627766],[108.893612,30.565434],[108.838793,30.503062],[108.808612,30.491202],[108.789518,30.513374],[108.743939,30.494812],[108.698975,30.54482],[108.688504,30.58759],[108.642925,30.578831],[108.6497,30.53915],[108.56778,30.468508],[108.556077,30.487592],[108.512961,30.501515],[108.472925,30.487076],[108.42673,30.492233],[108.411331,30.438586],[108.430425,30.416397],[108.402092,30.376649],[108.431041,30.354446],[108.460606,30.35961],[108.501258,30.314673],[108.524048,30.309506],[108.54499,30.269716],[108.581947,30.255759],[108.551766,30.1637],[108.56778,30.157491],[108.546222,30.104178],[108.513577,30.057571],[108.532055,30.051873],[108.536367,29.983472],[108.517889,29.9394],[108.516041,29.885451],[108.467998,29.864175],[108.433505,29.880262],[108.371295,29.841337],[108.424266,29.815897],[108.422418,29.772791],[108.442744,29.778505],[108.437201,29.741098],[108.460606,29.741098],[108.504338,29.707836],[108.504954,29.728626],[108.548686,29.749412],[108.52528,29.770713],[108.556077,29.818493],[108.601041,29.863656],[108.658939,29.854833],[108.680497,29.800319],[108.676801,29.749412],[108.690968,29.689642],[108.752562,29.649082],[108.786438,29.691721],[108.797525,29.660003],[108.781511,29.635558],[108.844337,29.658443],[108.888068,29.628795],[108.870206,29.596537],[108.901003,29.604863],[108.913322,29.574679],[108.878213,29.539279],[108.888684,29.502305],[108.866511,29.470527],[108.884373,29.440824],[108.927488,29.435612],[108.934264,29.399643],[108.919481,29.3261],[108.983539,29.332883],[108.999553,29.36366],[109.034662,29.360531],[109.060531,29.403292],[109.11227,29.361053],[109.106727,29.288526],[109.141835,29.270256],[109.110422,29.21647],[109.139372,29.168927],[109.162777,29.180946],[109.215748,29.145409],[109.232378,29.119271],[109.274262,29.121885],[109.261328,29.161089],[109.275494,29.202366],[109.257632,29.222738],[109.312451,29.25146],[109.352487,29.284872],[109.343863,29.369398],[109.391291,29.372005],[109.368501,29.413719],[109.418392,29.453332],[109.415928,29.497617],[109.436254,29.488761],[109.433791,29.530948],[109.458428,29.513242],[109.467051,29.560104],[109.488609,29.553336],[109.516326,29.626194],[109.558826,29.606944],[109.578536,29.629836],[109.651833,29.625674],[109.664768,29.599659],[109.717739,29.615269],[109.701108,29.636078],[109.714659,29.673524],[109.760238,29.689122],[109.755311,29.733304],[109.779333,29.757725],[109.869876,29.774869],[109.908064,29.763959],[109.941325,29.774349],[110.02386,29.769674],[110.113788,29.789932],[110.160599,29.753569],[110.219729,29.746814],[110.289946,29.6964],[110.302265,29.661563],[110.339221,29.668324],[110.372482,29.633477],[110.447011,29.664684],[110.467337,29.713034],[110.507373,29.692241],[110.562807,29.712515],[110.642879,29.775907],[110.60038,29.839779],[110.549873,29.848085],[110.538786,29.895828],[110.49875,29.91243],[110.517228,29.961179],[110.557264,29.988137],[110.491358,30.019751],[110.497518,30.055499],[110.531394,30.061197],[110.600996,30.054463],[110.650887,30.07777],[110.712481,30.033223],[110.756212,30.054463],[110.746973,30.112979],[110.851067,30.126439],[110.924364,30.111426],[110.929907,30.063268],[111.031537,30.048765],[111.242188,30.040476],[111.266826,30.01146],[111.3315,29.970512],[111.342587,29.944586],[111.382623,29.95029],[111.394325,29.912948],[111.436825,29.930065],[111.475629,29.918654],[111.527368,29.925916],[111.553854,29.894272],[111.669034,29.888565],[111.669034,29.888565],[111.705375,29.890121],[111.723853,29.909317],[111.723853,29.909317],[111.75773,29.92021],[111.8107,29.901017],[111.861207,29.856909],[111.899396,29.855871],[111.899396,29.855871],[111.925881,29.836665],[111.965917,29.832512],[111.95483,29.796683],[112.008417,29.778505],[112.07617,29.743696],[112.065699,29.681323],[112.089721,29.685482],[112.111279,29.659483],[112.178416,29.656883],[112.202438,29.633997],[112.244322,29.659483],[112.233851,29.61631],[112.303452,29.585609],[112.281278,29.536676],[112.291133,29.517409],[112.333017,29.545007],[112.368741,29.541362],[112.424792,29.598619],[112.439574,29.633997],[112.499321,29.629316],[112.54182,29.60122],[112.572001,29.624113],[112.640371,29.607985],[112.650842,29.592374],[112.693957,29.601741],[112.714283,29.648561],[112.733378,29.645441],[112.788812,29.681323],[112.79374,29.735902],[112.861493,29.78318],[112.894138,29.783699],[112.902145,29.79149],[112.929246,29.77383],[112.923703,29.766557],[112.926782,29.692241],[112.944645,29.682883],[112.974826,29.732784],[113.025949,29.772791],[113.005007,29.693801],[112.915696,29.620992],[112.912,29.606944],[112.950188,29.473132],[113.034572,29.523658],[113.057362,29.522616],[113.078304,29.438218],[113.099861,29.459585],[113.145441,29.449163],[113.181781,29.485636],[113.222433,29.543965],[113.277252,29.594976],[113.37765,29.703158],[113.571671,29.849123],[113.575367,29.809147],[113.550729,29.768115],[113.558736,29.727067],[113.540258,29.699519],[113.547033,29.675603],[113.606164,29.666764],[113.663446,29.684443],[113.680692,29.64336],[113.704098,29.634518],[113.73859,29.579363],[113.710257,29.555419],[113.630801,29.523137],[113.677613,29.513763],[113.755221,29.446557],[113.731199,29.393907],[113.674533,29.388172],[113.660982,29.333405],[113.632033,29.316186],[113.609859,29.25146],[113.651743,29.225872],[113.693011,29.226394],[113.691779,29.19662],[113.66283,29.16945],[113.690547,29.114566],[113.696091,29.077437],[113.722576,29.104631],[113.749677,29.060699],[113.775547,29.095219],[113.816199,29.105154],[113.852539,29.058606],[113.882104,29.065407],[113.876561,29.038202],[113.898119,29.029307],[113.94185,29.047097],[113.952321,29.092604],[113.98743,29.126068],[114.034857,29.152204],[114.063191,29.204978],[114.169748,29.216993],[114.252284,29.23475],[114.259059,29.343839],[114.307102,29.365225],[114.341595,29.327665],[114.376088,29.322969],[114.440145,29.341752],[114.466015,29.324013],[114.519602,29.325578],[114.589819,29.352707],[114.621847,29.379828],[114.67297,29.395993],[114.740724,29.386607],[114.759818,29.363139],[114.784455,29.386086],[114.812173,29.383478],[114.866375,29.404335],[114.895325,29.397557],[114.931049,29.422581],[114.947063,29.465317],[114.935977,29.486678],[114.90518,29.473132],[114.918114,29.454374],[114.888549,29.436134],[114.860216,29.476258],[114.900868,29.505951],[114.940288,29.493971],[114.966773,29.522096],[114.947679,29.542924],[115.00065,29.572076],[115.033295,29.546568],[115.087498,29.560104],[115.086266,29.525741],[115.154019,29.510117],[115.157099,29.584568],[115.120142,29.597578],[115.143548,29.645961],[115.117679,29.655843],[115.113367,29.684963],[115.176809,29.654803],[115.250722,29.660003],[115.28583,29.618391],[115.304924,29.637118],[115.355431,29.649602],[115.412714,29.688602],[115.470612,29.739539],[115.479235,29.811224],[115.51188,29.840299],[115.611662,29.841337],[115.667712,29.850161],[115.706517,29.837703],[115.762567,29.793048],[115.837096,29.748373],[115.909777,29.723949],[115.965827,29.724469],[116.049595,29.761881],[116.087167,29.795125],[116.13521,29.819532],[116.128435,29.897904],[116.073616,29.969993],[116.091479,30.036331],[116.078544,30.062233],[116.088399,30.110391],[116.055754,30.180774],[116.065609,30.204569],[115.997856,30.252657],[115.985537,30.290905],[115.903001,30.31364],[115.91532,30.337919],[115.885139,30.379747],[115.921479,30.416397],[115.894994,30.452517],[115.910393,30.519046],[115.887603,30.542758],[115.876516,30.582438],[115.848799,30.602014],[115.819234,30.597893],[115.81369,30.637035],[115.762567,30.685426],[115.782893,30.751795],[115.851262,30.756938],[115.863581,30.815549],[115.848799,30.828397],[115.865429,30.864364],[115.932566,30.889532],[115.976298,30.931636],[116.03974,30.957813],[116.071769,30.956787],[116.058834,31.012711],[116.015102,31.011685],[116.006479,31.034764],[115.938726,31.04707],[115.939958,31.071678],[115.887603,31.10909],[115.867277,31.147512],[115.837712,31.127022],[115.797676,31.128047],[115.778582,31.112164],[115.700973,31.201276],[115.655394,31.211002],[115.603655,31.17363],[115.585793,31.143926],[115.540213,31.194621],[115.539597,31.231985],[115.507568,31.267799],[115.473076,31.265242],[115.443511,31.344498],[115.40717,31.337854],[115.372062,31.349098],[115.393004,31.389977],[115.373909,31.405813],[115.338801,31.40428],[115.301229,31.383846],[115.250722,31.392021],[115.252569,31.421646],[115.211301,31.442072],[115.218077,31.515057],[115.235939,31.555354],[115.212533,31.555354],[115.16449,31.604808],[115.12507,31.599201],[115.106592,31.567592],[115.114599,31.530362],[115.096121,31.508425],[115.022824,31.527811],[114.995107,31.471171],[114.962462,31.494648],[114.884238,31.469129],[114.870071,31.479337],[114.830035,31.45892],[114.789383,31.480358],[114.778912,31.520669],[114.696376,31.525771],[114.641558,31.582378],[114.61692,31.585437],[114.572572,31.553824],[114.560869,31.560963],[114.547935,31.623665],[114.57134,31.660858],[114.586123,31.762172],[114.549783,31.766751],[114.530688,31.742834],[114.443841,31.728074],[114.403189,31.746906],[114.350218,31.755557],[114.292936,31.752503],[114.235654,31.833382],[114.191922,31.852192],[114.134024,31.843042],[114.121705,31.809482],[114.086596,31.782014],[114.017611,31.770822],[113.988662,31.749959],[113.952321,31.793714],[113.957865,31.852701],[113.914749,31.877098],[113.893807,31.847109],[113.854387,31.843042],[113.830981,31.87913],[113.832213,31.918761],[113.805728,31.929428],[113.817431,31.964467],[113.757685,31.98985],[113.791561,32.036028],[113.728735,32.083197],[113.722576,32.12426],[113.750293,32.11615],[113.782322,32.184553],[113.752757,32.215951],[113.73859,32.255942],[113.749061,32.272642],[113.768772,32.30148],[113.753989,32.328286],[113.76754,32.370249],[113.735511,32.410677],[113.700402,32.420782],[113.650511,32.412698],[113.624642,32.36115],[113.511925,32.316654],[113.428773,32.270618],[113.376418,32.298445],[113.353628,32.294904],[113.317904,32.327275],[113.333918,32.336377],[113.2366,32.407141],[113.211962,32.431895],[113.158992,32.410677],[113.155912,32.380863],[113.118956,32.375809],[113.107869,32.398551],[113.078919,32.394508],[113.025949,32.425328],[113.000695,32.41674],[112.992072,32.378336],[112.912,32.390971],[112.888594,32.37682],[112.860877,32.396024],[112.776493,32.358623],[112.735841,32.356095],[112.733993,32.356601],[112.724138,32.358623],[112.716747,32.357612],[112.645298,32.368227],[112.612037,32.386928],[112.589248,32.381369],[112.545516,32.404109],[112.530733,32.37682],[112.477147,32.380863],[112.448814,32.34295],[112.390915,32.37126],[112.360118,32.3657],[112.328089,32.321712],[112.206133,32.392992],[112.172873,32.385412],[112.150083,32.411688],[112.155626,32.377326],[112.081098,32.425833],[112.063851,32.474315],[112.014576,32.450077],[111.975772,32.471791],[111.948671,32.51722],[111.890157,32.503089],[111.858128,32.528826],[111.808853,32.536899],[111.713382,32.606497],[111.646245,32.605993],[111.640701,32.634724],[111.577875,32.593388],[111.530448,32.628172],[111.513202,32.674026],[111.458383,32.726402],[111.475629,32.760127],[111.41342,32.757108],[111.380159,32.829049],[111.293311,32.859217],[111.276065,32.903445],[111.255123,32.883846],[111.242804,32.930573],[111.273601,32.971753],[111.258819,33.006389],[111.221862,33.042517],[111.152877,33.039507],[111.192913,33.071609],[111.179363,33.115229],[111.146102,33.12375],[111.12824,33.15532],[111.08882,33.181871],[111.045704,33.169849]]],[[[109.106111,30.570587],[109.101183,30.579346],[109.09872,30.579346],[109.106111,30.570587]]],[[[111.046936,33.202905],[111.035849,33.187881],[111.034001,33.177864],[111.045704,33.169849],[111.046936,33.202905]]],[[[112.716747,32.357612],[112.735841,32.356095],[112.733993,32.356601],[112.724138,32.358623],[112.716747,32.357612]]],[[[112.902145,29.79149],[112.894138,29.783699],[112.923703,29.766557],[112.929246,29.77383],[112.902145,29.79149]]]]}},{type:"Feature",properties:{adcode:43e4,name:"湖南省",center:[112.982279,28.19409],centroid:[111.711649,27.629216],childrenNum:14,level:"province",parent:{adcode:1e5},subFeatureIndex:17,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[112.024431,24.740308],[112.03367,24.771286],[112.124214,24.841364],[112.149467,24.837019],[112.167329,24.859828],[112.175337,24.927685],[112.119902,24.963499],[112.12175,24.989538],[112.155626,25.026419],[112.151931,25.055698],[112.177184,25.106649],[112.187039,25.182494],[112.246785,25.185202],[112.256025,25.159204],[112.302836,25.157037],[112.315771,25.175453],[112.365046,25.191701],[112.414937,25.14241],[112.44327,25.185744],[112.458053,25.152162],[112.562762,25.124531],[112.628052,25.140785],[112.660081,25.132658],[112.712436,25.083344],[112.714899,25.025876],[112.742001,24.99876],[112.743233,24.959701],[112.778341,24.947764],[112.780805,24.896747],[112.873812,24.896747],[112.904609,24.921715],[112.941565,24.915745],[112.994536,24.927142],[113.009934,24.977604],[112.979137,25.03401],[113.004391,25.089306],[112.96805,25.141869],[112.97421,25.168412],[113.034572,25.198199],[112.992688,25.247467],[112.958195,25.254503],[112.897833,25.238264],[112.867036,25.249632],[112.854718,25.337829],[112.891058,25.339993],[112.924319,25.296714],[112.93479,25.325929],[112.969898,25.350269],[113.013014,25.352432],[113.078304,25.382174],[113.096782,25.412449],[113.131274,25.414611],[113.11834,25.445418],[113.176854,25.471355],[113.226129,25.50971],[113.248919,25.514031],[113.311129,25.490264],[113.314208,25.442716],[113.341926,25.448661],[113.373338,25.402719],[113.407215,25.401637],[113.449715,25.359463],[113.479896,25.375145],[113.535946,25.368656],[113.579062,25.34432],[113.584606,25.306453],[113.611707,25.327552],[113.680076,25.334584],[113.686852,25.351891],[113.753373,25.362707],[113.76446,25.333502],[113.814967,25.328634],[113.839605,25.363248],[113.877177,25.380552],[113.887032,25.436772],[113.94493,25.441635],[113.962792,25.528072],[113.986198,25.529153],[113.983118,25.599336],[113.957249,25.611749],[113.913517,25.701299],[113.920293,25.741197],[113.961561,25.77731],[113.971416,25.836036],[114.028082,25.893119],[114.028082,25.98138],[114.008372,26.015806],[114.044096,26.076564],[114.087828,26.06635],[114.121089,26.085702],[114.10569,26.097526],[114.188842,26.121172],[114.237501,26.152333],[114.216559,26.203355],[114.181451,26.214631],[114.102611,26.187783],[114.088444,26.168448],[114.013299,26.184023],[113.962792,26.150722],[113.949242,26.192616],[113.972647,26.20604],[113.978807,26.237716],[114.029314,26.266163],[114.021307,26.288701],[114.047792,26.337518],[114.030546,26.376664],[114.062575,26.406149],[114.085364,26.406149],[114.090292,26.455988],[114.110002,26.482775],[114.07243,26.480096],[114.10877,26.56952],[114.019459,26.587182],[113.996669,26.615543],[113.912901,26.613938],[113.860546,26.664221],[113.853771,26.769532],[113.835909,26.806394],[113.877177,26.859262],[113.890112,26.895562],[113.927068,26.948922],[113.892575,26.964925],[113.86301,27.018252],[113.824206,27.036378],[113.803264,27.099261],[113.771851,27.096598],[113.779242,27.137081],[113.846996,27.222262],[113.872865,27.289828],[113.854387,27.30525],[113.872865,27.346721],[113.872865,27.384988],[113.72812,27.350442],[113.699786,27.331836],[113.657902,27.347253],[113.616635,27.345658],[113.605548,27.38924],[113.632033,27.40518],[113.59754,27.428554],[113.591381,27.467855],[113.627105,27.49971],[113.583374,27.524657],[113.579062,27.545354],[113.608627,27.585143],[113.607395,27.625449],[113.652359,27.663619],[113.696707,27.71979],[113.69917,27.740979],[113.763228,27.799228],[113.756453,27.860091],[113.72812,27.874904],[113.752141,27.93361],[113.822974,27.982243],[113.845148,27.971672],[113.864242,28.004966],[113.914133,27.991227],[113.936307,28.018703],[113.966488,28.017646],[113.970184,28.041418],[114.025618,28.031382],[114.047176,28.057263],[114.025002,28.080499],[113.992357,28.161255],[114.012068,28.174972],[114.068734,28.171806],[114.107538,28.182885],[114.109386,28.205038],[114.143879,28.246694],[114.182067,28.249858],[114.198081,28.29097],[114.2529,28.319423],[114.252284,28.395787],[114.214712,28.403157],[114.172212,28.432632],[114.217175,28.466308],[114.218407,28.48472],[114.15435,28.507337],[114.138335,28.533629],[114.08598,28.558337],[114.132176,28.607211],[114.122321,28.623497],[114.157429,28.761566],[114.137719,28.779926],[114.153734,28.829221],[114.124784,28.843376],[114.076741,28.834464],[114.056415,28.872204],[114.060111,28.902596],[114.028082,28.891069],[114.005292,28.917788],[114.008988,28.955498],[113.973879,28.937692],[113.955401,28.978536],[113.961561,28.999476],[113.94185,29.047097],[113.898119,29.029307],[113.876561,29.038202],[113.882104,29.065407],[113.852539,29.058606],[113.816199,29.105154],[113.775547,29.095219],[113.749677,29.060699],[113.722576,29.104631],[113.696091,29.077437],[113.690547,29.114566],[113.66283,29.16945],[113.691779,29.19662],[113.693011,29.226394],[113.651743,29.225872],[113.609859,29.25146],[113.632033,29.316186],[113.660982,29.333405],[113.674533,29.388172],[113.731199,29.393907],[113.755221,29.446557],[113.677613,29.513763],[113.630801,29.523137],[113.710257,29.555419],[113.73859,29.579363],[113.704098,29.634518],[113.680692,29.64336],[113.663446,29.684443],[113.606164,29.666764],[113.547033,29.675603],[113.540258,29.699519],[113.558736,29.727067],[113.550729,29.768115],[113.575367,29.809147],[113.571671,29.849123],[113.37765,29.703158],[113.277252,29.594976],[113.222433,29.543965],[113.181781,29.485636],[113.145441,29.449163],[113.099861,29.459585],[113.078304,29.438218],[113.057362,29.522616],[113.034572,29.523658],[112.950188,29.473132],[112.912,29.606944],[112.915696,29.620992],[113.005007,29.693801],[113.025949,29.772791],[112.974826,29.732784],[112.944645,29.682883],[112.926782,29.692241],[112.923703,29.766557],[112.894138,29.783699],[112.861493,29.78318],[112.79374,29.735902],[112.788812,29.681323],[112.733378,29.645441],[112.714283,29.648561],[112.693957,29.601741],[112.650842,29.592374],[112.640371,29.607985],[112.572001,29.624113],[112.54182,29.60122],[112.499321,29.629316],[112.439574,29.633997],[112.424792,29.598619],[112.368741,29.541362],[112.333017,29.545007],[112.291133,29.517409],[112.281278,29.536676],[112.303452,29.585609],[112.233851,29.61631],[112.244322,29.659483],[112.202438,29.633997],[112.178416,29.656883],[112.111279,29.659483],[112.089721,29.685482],[112.065699,29.681323],[112.07617,29.743696],[112.008417,29.778505],[111.95483,29.796683],[111.965917,29.832512],[111.925881,29.836665],[111.899396,29.855871],[111.899396,29.855871],[111.861207,29.856909],[111.8107,29.901017],[111.75773,29.92021],[111.723853,29.909317],[111.723853,29.909317],[111.705375,29.890121],[111.669034,29.888565],[111.669034,29.888565],[111.553854,29.894272],[111.527368,29.925916],[111.475629,29.918654],[111.436825,29.930065],[111.394325,29.912948],[111.382623,29.95029],[111.342587,29.944586],[111.3315,29.970512],[111.266826,30.01146],[111.242188,30.040476],[111.031537,30.048765],[110.929907,30.063268],[110.924364,30.111426],[110.851067,30.126439],[110.746973,30.112979],[110.756212,30.054463],[110.712481,30.033223],[110.650887,30.07777],[110.600996,30.054463],[110.531394,30.061197],[110.497518,30.055499],[110.491358,30.019751],[110.557264,29.988137],[110.517228,29.961179],[110.49875,29.91243],[110.538786,29.895828],[110.549873,29.848085],[110.60038,29.839779],[110.642879,29.775907],[110.562807,29.712515],[110.507373,29.692241],[110.467337,29.713034],[110.447011,29.664684],[110.372482,29.633477],[110.339221,29.668324],[110.302265,29.661563],[110.289946,29.6964],[110.219729,29.746814],[110.160599,29.753569],[110.113788,29.789932],[110.02386,29.769674],[109.941325,29.774349],[109.908064,29.763959],[109.869876,29.774869],[109.779333,29.757725],[109.755311,29.733304],[109.760238,29.689122],[109.714659,29.673524],[109.701108,29.636078],[109.717739,29.615269],[109.664768,29.599659],[109.651833,29.625674],[109.578536,29.629836],[109.558826,29.606944],[109.516326,29.626194],[109.488609,29.553336],[109.467051,29.560104],[109.458428,29.513242],[109.433791,29.530948],[109.436254,29.488761],[109.415928,29.497617],[109.418392,29.453332],[109.368501,29.413719],[109.391291,29.372005],[109.343863,29.369398],[109.352487,29.284872],[109.312451,29.25146],[109.257632,29.222738],[109.275494,29.202366],[109.261328,29.161089],[109.274262,29.121885],[109.232378,29.119271],[109.240386,29.086328],[109.312451,29.066453],[109.319842,29.042388],[109.294588,29.015177],[109.292741,28.987436],[109.261328,28.952356],[109.235458,28.882161],[109.246545,28.80143],[109.241002,28.776779],[109.2989,28.7474],[109.294588,28.722211],[109.252704,28.691767],[109.271183,28.671816],[109.192958,28.636104],[109.201581,28.597753],[109.235458,28.61982],[109.252089,28.606685],[109.306907,28.62087],[109.319842,28.579886],[109.273646,28.53836],[109.274262,28.494714],[109.260712,28.46473],[109.264407,28.392628],[109.289045,28.373673],[109.268719,28.33786],[109.275494,28.313101],[109.317994,28.277795],[109.33524,28.293605],[109.388211,28.268307],[109.367885,28.254602],[109.340168,28.19027],[109.33832,28.141731],[109.314298,28.103729],[109.298284,28.036136],[109.335856,28.063073],[109.378972,28.034551],[109.362342,28.007608],[109.319842,27.988585],[109.30198,27.956343],[109.32169,27.868027],[109.346943,27.838396],[109.332777,27.782815],[109.37774,27.736741],[109.366653,27.721909],[109.414081,27.725087],[109.470747,27.680049],[109.45658,27.673689],[109.470131,27.62863],[109.451037,27.586204],[109.461508,27.567637],[109.404841,27.55066],[109.303211,27.47582],[109.300132,27.423774],[109.245313,27.41793],[109.202197,27.450331],[109.167089,27.41793],[109.141835,27.448207],[109.142451,27.418461],[109.103647,27.336621],[109.044517,27.331304],[109.053756,27.293551],[108.983539,27.26802],[108.963213,27.235565],[108.907778,27.204699],[108.926873,27.160512],[108.878829,27.106187],[108.79075,27.084343],[108.877597,27.01612],[108.942887,27.017186],[108.942887,27.017186],[108.940423,27.044907],[109.007561,27.08008],[109.032814,27.104056],[109.128901,27.122701],[109.101183,27.06889],[109.165857,27.066758],[109.21698,27.114711],[109.239154,27.14933],[109.264407,27.131755],[109.33524,27.139212],[109.358646,27.153058],[109.415312,27.154123],[109.441182,27.117907],[109.472595,27.134951],[109.454733,27.069423],[109.486761,27.053968],[109.497848,27.079548],[109.520022,27.058764],[109.555131,26.946788],[109.436254,26.892359],[109.452885,26.861932],[109.486761,26.895562],[109.509551,26.877947],[109.513247,26.84004],[109.497232,26.815474],[109.522486,26.749226],[109.528645,26.743881],[109.554515,26.73533],[109.597015,26.756173],[109.568065,26.726243],[109.528645,26.743881],[109.52187,26.749226],[109.486761,26.759913],[109.447957,26.759913],[109.407305,26.719829],[109.35495,26.693098],[109.283501,26.698445],[109.306291,26.661012],[109.334008,26.646036],[109.35495,26.658873],[109.390675,26.598955],[109.407305,26.533116],[109.381436,26.518659],[109.385747,26.493487],[109.362342,26.472061],[109.38082,26.454381],[109.319842,26.418477],[109.29582,26.350389],[109.271183,26.327863],[109.285965,26.295676],[109.325385,26.29031],[109.351255,26.264016],[109.369733,26.277432],[109.442414,26.289774],[109.467051,26.313917],[109.439334,26.238789],[109.47629,26.148035],[109.513863,26.128157],[109.502776,26.096451],[109.449805,26.101826],[109.452885,26.055598],[109.48245,26.029788],[109.513247,25.998056],[109.560058,26.021184],[109.588391,26.019571],[109.635203,26.047533],[109.649369,26.016882],[109.730057,25.989988],[109.710963,25.954478],[109.693717,25.959321],[109.67955,25.921649],[109.685094,25.880197],[109.768246,25.890427],[109.779333,25.866196],[109.811361,25.877504],[109.826144,25.911422],[109.806434,25.973848],[109.782412,25.996981],[109.814441,26.041081],[109.864332,26.027637],[109.898825,26.095377],[109.904368,26.135679],[109.970274,26.195301],[110.03002,26.166299],[110.099005,26.168985],[110.100853,26.132455],[110.065128,26.050221],[110.100853,26.020108],[110.168606,26.028713],[110.181541,26.060437],[110.24991,26.010965],[110.257301,25.961473],[110.325671,25.975462],[110.373098,26.088927],[110.437772,26.153945],[110.477808,26.179727],[110.495054,26.166299],[110.546793,26.233421],[110.552952,26.283335],[110.584365,26.296749],[110.612083,26.333764],[110.643495,26.308552],[110.673676,26.317135],[110.721104,26.294066],[110.742046,26.313917],[110.73527,26.270993],[110.759292,26.248451],[110.836284,26.255966],[110.939762,26.286554],[110.926212,26.320354],[110.944074,26.326791],[110.94469,26.373447],[110.974255,26.385778],[111.008747,26.35897],[111.008132,26.336982],[111.090667,26.308016],[111.208928,26.30426],[111.204616,26.276359],[111.228022,26.261333],[111.277913,26.272066],[111.293311,26.222148],[111.271754,26.217316],[111.274833,26.183486],[111.258203,26.151796],[111.26621,26.095914],[111.244652,26.078177],[111.267442,26.058824],[111.235413,26.048071],[111.189834,25.953402],[111.230486,25.916267],[111.251428,25.864581],[111.29208,25.854349],[111.297007,25.874274],[111.346282,25.906577],[111.376463,25.906039],[111.383239,25.881812],[111.460231,25.885042],[111.4861,25.859196],[111.43313,25.84627],[111.442369,25.77192],[111.399869,25.744431],[111.30871,25.720171],[111.309942,25.645203],[111.343202,25.602574],[111.324724,25.564249],[111.32842,25.521592],[111.279145,25.42326],[111.210776,25.363248],[111.184906,25.367034],[111.138711,25.303748],[111.103602,25.285351],[111.112841,25.21715],[110.998892,25.161371],[110.98411,25.101772],[110.951465,25.04377],[110.968711,24.975434],[111.009363,24.921172],[111.100522,24.945593],[111.101754,25.035095],[111.139943,25.042144],[111.200921,25.074672],[111.221862,25.106649],[111.274833,25.151078],[111.321645,25.105023],[111.36784,25.108817],[111.375231,25.128324],[111.435593,25.093642],[111.416499,25.047566],[111.467622,25.02208],[111.460231,24.992793],[111.43313,24.979774],[111.434977,24.951562],[111.470086,24.92877],[111.447296,24.892947],[111.449144,24.857113],[111.479325,24.797366],[111.461463,24.728894],[111.431282,24.687574],[111.451608,24.665822],[111.499035,24.667997],[111.526752,24.637538],[111.570484,24.64461],[111.588962,24.690837],[111.641933,24.684856],[111.637621,24.715303],[111.666571,24.760961],[111.708455,24.788673],[111.783599,24.785957],[111.814396,24.770199],[111.868599,24.771829],[111.875374,24.756613],[111.929577,24.75607],[111.951135,24.769655],[112.024431,24.740308]]],[[[109.528645,26.743881],[109.522486,26.749226],[109.52187,26.749226],[109.528645,26.743881]]]]}},{type:"Feature",properties:{adcode:44e4,name:"广东省",center:[113.280637,23.125178],centroid:[113.429919,23.334643],childrenNum:21,level:"province",parent:{adcode:1e5},subFeatureIndex:18,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[113.558736,22.212244],[113.594461,22.228864],[113.595693,22.304186],[113.617866,22.315259],[113.604932,22.339617],[113.627721,22.349027],[113.669605,22.416539],[113.66591,22.438667],[113.624642,22.443092],[113.608627,22.408793],[113.573519,22.41156],[113.631417,22.475723],[113.668373,22.4807],[113.691779,22.514981],[113.740438,22.534329],[113.717033,22.645391],[113.678228,22.726007],[113.733663,22.736494],[113.758301,22.683496],[113.765692,22.665825],[113.803264,22.593463],[113.856851,22.539857],[113.869786,22.459685],[113.893807,22.442539],[113.952937,22.486783],[113.954785,22.491206],[113.976343,22.510558],[114.031778,22.503923],[114.082285,22.512216],[114.095219,22.534329],[114.156813,22.543726],[114.166052,22.559201],[114.222719,22.553122],[114.232574,22.539857],[114.294784,22.563623],[114.321885,22.587385],[114.381631,22.60175],[114.427211,22.589042],[114.472174,22.522168],[114.476486,22.459132],[114.506667,22.438667],[114.549167,22.465769],[114.611377,22.481806],[114.628623,22.513875],[114.614456,22.545384],[114.568261,22.560859],[114.559022,22.583517],[114.603369,22.638763],[114.579964,22.661407],[114.51529,22.655332],[114.567029,22.685705],[114.591666,22.690122],[114.601521,22.730975],[114.689601,22.7674],[114.709927,22.787817],[114.749963,22.764089],[114.73518,22.724351],[114.728405,22.651466],[114.743803,22.632687],[114.746267,22.581859],[114.866375,22.591805],[114.88547,22.538751],[114.922426,22.549253],[114.927969,22.621639],[114.945216,22.645391],[115.039454,22.713862],[115.02344,22.726007],[115.053621,22.747533],[115.076411,22.788368],[115.154635,22.80161],[115.190975,22.77347],[115.190359,22.818711],[115.236555,22.82533],[115.230396,22.776781],[115.319091,22.783402],[115.338185,22.776781],[115.349272,22.712206],[115.381301,22.684048],[115.430576,22.684048],[115.471844,22.697852],[115.575322,22.650914],[115.565467,22.684048],[115.609198,22.753052],[115.541445,22.755259],[115.570394,22.786713],[115.583945,22.82864],[115.654162,22.865591],[115.696046,22.84298],[115.760103,22.834707],[115.788437,22.809885],[115.796444,22.739254],[115.829089,22.734838],[115.883291,22.78561],[115.931334,22.802713],[115.965211,22.800506],[115.99724,22.826985],[116.05637,22.844635],[116.104413,22.816505],[116.14137,22.835259],[116.239304,22.921275],[116.259014,22.932298],[116.302746,22.951588],[116.382818,22.91907],[116.449955,22.936707],[116.50539,22.930645],[116.544194,22.996769],[116.576839,23.014397],[116.557129,23.056253],[116.566368,23.088738],[116.550969,23.109656],[116.566368,23.134424],[116.665534,23.158086],[116.701259,23.198248],[116.74499,23.215299],[116.806584,23.200998],[116.821367,23.240597],[116.798577,23.244996],[116.782563,23.313714],[116.871874,23.4159],[116.871258,23.416449],[116.874338,23.447199],[116.874953,23.447748],[116.895895,23.476295],[116.888504,23.501543],[116.92854,23.530079],[116.963649,23.507031],[117.01046,23.502641],[117.044953,23.539955],[117.085605,23.536663],[117.192778,23.5619],[117.192778,23.629356],[117.147199,23.654027],[117.123793,23.647448],[117.055424,23.694038],[117.048032,23.758687],[117.019083,23.801952],[117.012308,23.855054],[116.981511,23.855602],[116.955642,23.922359],[116.976583,23.931659],[116.981511,23.999471],[116.953178,24.008218],[116.930388,24.064514],[116.9347,24.126794],[116.998757,24.179217],[116.956257,24.216883],[116.933468,24.220157],[116.938395,24.28127],[116.914374,24.287817],[116.919301,24.321087],[116.895895,24.350533],[116.903903,24.369614],[116.839229,24.442097],[116.860787,24.460075],[116.83307,24.496568],[116.796729,24.502014],[116.759157,24.545572],[116.761005,24.583128],[116.815207,24.654944],[116.777635,24.679418],[116.667382,24.658752],[116.623034,24.64189],[116.600861,24.654401],[116.570679,24.621762],[116.530027,24.604895],[116.506622,24.621218],[116.517709,24.652225],[116.485064,24.720196],[116.44626,24.714216],[116.416079,24.744113],[116.419158,24.767482],[116.375427,24.803885],[116.381586,24.82507],[116.417927,24.840821],[116.395137,24.877746],[116.363724,24.87123],[116.345862,24.828872],[116.297202,24.801712],[116.244232,24.793563],[116.251007,24.82507],[116.221442,24.829959],[116.191877,24.877203],[116.153073,24.846795],[116.068073,24.850053],[116.015102,24.905975],[115.985537,24.899461],[115.907929,24.923343],[115.89253,24.936911],[115.885139,24.898918],[115.907313,24.879917],[115.861733,24.863629],[115.863581,24.891318],[115.824161,24.909232],[115.807531,24.862543],[115.790284,24.856027],[115.764415,24.791933],[115.776734,24.774546],[115.756408,24.749004],[115.769342,24.708236],[115.801371,24.705517],[115.780429,24.663103],[115.797676,24.628834],[115.840791,24.584217],[115.843871,24.562446],[115.785357,24.567345],[115.752712,24.546116],[115.68927,24.545027],[115.671408,24.604895],[115.605503,24.62557],[115.569778,24.622306],[115.555611,24.683768],[115.522967,24.702799],[115.476771,24.762591],[115.412714,24.79302],[115.372678,24.774546],[115.358511,24.735416],[115.306772,24.758787],[115.269816,24.749548],[115.258729,24.728894],[115.1842,24.711498],[115.104744,24.667997],[115.083802,24.699537],[115.057317,24.703343],[115.024672,24.669085],[115.00373,24.679418],[114.940288,24.650049],[114.909491,24.661471],[114.893477,24.582584],[114.868839,24.562446],[114.846665,24.602719],[114.827571,24.588026],[114.781376,24.613057],[114.729637,24.608704],[114.73826,24.565168],[114.704999,24.525973],[114.664963,24.583673],[114.627391,24.576598],[114.589819,24.537406],[114.534384,24.559181],[114.429058,24.48622],[114.403189,24.497657],[114.391486,24.563535],[114.363769,24.582584],[114.300943,24.578775],[114.289856,24.619042],[114.258443,24.641346],[114.19069,24.656576],[114.169132,24.689749],[114.27261,24.700624],[114.281849,24.724001],[114.336052,24.749004],[114.342211,24.807145],[114.378551,24.861457],[114.403189,24.877746],[114.395798,24.951019],[114.454928,24.977062],[114.45616,24.99659],[114.506051,24.999844],[114.532536,25.022623],[114.561485,25.077382],[114.604601,25.083886],[114.640326,25.074129],[114.664963,25.10123],[114.735796,25.121822],[114.73518,25.155954],[114.685905,25.173287],[114.693912,25.213902],[114.73518,25.225813],[114.743188,25.274528],[114.714238,25.315651],[114.63663,25.324306],[114.599674,25.385959],[114.541159,25.416773],[114.477718,25.37136],[114.438914,25.376226],[114.43029,25.343779],[114.382863,25.317274],[114.31511,25.33837],[114.2954,25.299961],[114.260291,25.291845],[114.204857,25.29942],[114.190074,25.316733],[114.115545,25.302125],[114.083517,25.275611],[114.055799,25.277775],[114.039785,25.250714],[114.017611,25.273987],[114.029314,25.328093],[114.050256,25.36433],[113.983118,25.415152],[114.003444,25.442716],[113.94493,25.441635],[113.887032,25.436772],[113.877177,25.380552],[113.839605,25.363248],[113.814967,25.328634],[113.76446,25.333502],[113.753373,25.362707],[113.686852,25.351891],[113.680076,25.334584],[113.611707,25.327552],[113.584606,25.306453],[113.579062,25.34432],[113.535946,25.368656],[113.479896,25.375145],[113.449715,25.359463],[113.407215,25.401637],[113.373338,25.402719],[113.341926,25.448661],[113.314208,25.442716],[113.311129,25.490264],[113.248919,25.514031],[113.226129,25.50971],[113.176854,25.471355],[113.11834,25.445418],[113.131274,25.414611],[113.096782,25.412449],[113.078304,25.382174],[113.013014,25.352432],[112.969898,25.350269],[112.93479,25.325929],[112.924319,25.296714],[112.891058,25.339993],[112.854718,25.337829],[112.867036,25.249632],[112.897833,25.238264],[112.958195,25.254503],[112.992688,25.247467],[113.034572,25.198199],[112.97421,25.168412],[112.96805,25.141869],[113.004391,25.089306],[112.979137,25.03401],[113.009934,24.977604],[112.994536,24.927142],[112.941565,24.915745],[112.904609,24.921715],[112.873812,24.896747],[112.780805,24.896747],[112.778341,24.947764],[112.743233,24.959701],[112.742001,24.99876],[112.714899,25.025876],[112.712436,25.083344],[112.660081,25.132658],[112.628052,25.140785],[112.562762,25.124531],[112.458053,25.152162],[112.44327,25.185744],[112.414937,25.14241],[112.365046,25.191701],[112.315771,25.175453],[112.302836,25.157037],[112.256025,25.159204],[112.246785,25.185202],[112.187039,25.182494],[112.177184,25.106649],[112.151931,25.055698],[112.155626,25.026419],[112.12175,24.989538],[112.119902,24.963499],[112.175337,24.927685],[112.167329,24.859828],[112.149467,24.837019],[112.124214,24.841364],[112.03367,24.771286],[112.024431,24.740308],[111.961606,24.721283],[111.939432,24.686487],[111.953598,24.64733],[111.927729,24.629378],[111.936968,24.595645],[111.972077,24.578775],[112.007185,24.534684],[112.009649,24.503103],[111.985011,24.467701],[112.025047,24.438828],[112.057692,24.387057],[112.05954,24.339628],[112.026279,24.294908],[111.990555,24.279634],[111.986243,24.25672],[111.958526,24.263813],[111.912946,24.221795],[111.877222,24.227252],[111.871062,24.176487],[111.886461,24.163929],[111.878454,24.109862],[111.92157,24.012045],[111.940664,23.987989],[111.911714,23.943693],[111.854432,23.947521],[111.845809,23.904305],[111.812548,23.887343],[111.824867,23.832612],[111.8107,23.80688],[111.722621,23.823305],[111.683201,23.822758],[111.683201,23.822758],[111.654868,23.833159],[111.627766,23.78881],[111.621607,23.725819],[111.666571,23.718696],[111.614832,23.65896],[111.615448,23.639225],[111.555702,23.64087],[111.487332,23.626615],[111.479941,23.532822],[111.428818,23.466414],[111.399869,23.469159],[111.383239,23.399423],[111.389398,23.375804],[111.363528,23.340641],[111.376463,23.30437],[111.353058,23.284582],[111.36476,23.240047],[111.388782,23.210349],[111.38447,23.16744],[111.365992,23.14488],[111.377695,23.082132],[111.402333,23.066165],[111.43313,23.073322],[111.433746,23.036428],[111.389398,23.005583],[111.403565,22.99126],[111.362913,22.967568],[111.374615,22.938361],[111.358601,22.889301],[111.218167,22.748085],[111.185522,22.735942],[111.118385,22.744773],[111.058023,22.729871],[111.089435,22.695643],[111.055559,22.648705],[110.997045,22.631582],[110.958856,22.636553],[110.950233,22.61059],[110.896031,22.613352],[110.897878,22.591805],[110.812263,22.576333],[110.778386,22.585174],[110.749437,22.556991],[110.762988,22.518298],[110.740198,22.498947],[110.74143,22.464109],[110.688459,22.477935],[110.712481,22.440879],[110.711249,22.369506],[110.74143,22.361757],[110.749437,22.329653],[110.787009,22.28259],[110.759292,22.274837],[110.725415,22.29588],[110.687843,22.249914],[110.646575,22.220554],[110.678604,22.172901],[110.629329,22.149068],[110.598532,22.162924],[110.602843,22.18343],[110.55788,22.196175],[110.505525,22.14297],[110.456866,22.189526],[110.414366,22.208365],[110.378026,22.164587],[110.34846,22.195621],[110.326287,22.152393],[110.364475,22.125785],[110.35154,22.097508],[110.359547,22.015973],[110.352772,21.97602],[110.374946,21.967695],[110.374946,21.967695],[110.378642,21.939942],[110.378642,21.939942],[110.391576,21.89386],[110.337374,21.887751],[110.290562,21.917736],[110.283787,21.892194],[110.224041,21.882198],[110.224041,21.882198],[110.212338,21.886085],[110.212338,21.886085],[110.196323,21.899968],[110.12857,21.902744],[110.101469,21.86998],[110.050962,21.857205],[109.999839,21.881643],[109.94502,21.84443],[109.940093,21.769419],[109.916071,21.668787],[109.888354,21.652101],[109.888354,21.652101],[109.839695,21.636525],[109.786108,21.637638],[109.778101,21.670455],[109.742992,21.616497],[109.754695,21.556396],[109.788572,21.490702],[109.785492,21.45673],[109.819369,21.445033],[109.894513,21.442248],[109.904368,21.429992],[109.868644,21.365913],[109.770709,21.359783],[109.757775,21.346963],[109.763934,21.226514],[109.674623,21.136671],[109.674007,21.067997],[109.655529,20.929435],[109.664768,20.862343],[109.711579,20.774519],[109.730057,20.719673],[109.74484,20.621124],[109.793499,20.615522],[109.813825,20.574627],[109.811977,20.541566],[109.839695,20.489439],[109.888354,20.475423],[109.895745,20.42776],[109.864948,20.40196],[109.861252,20.376717],[109.916071,20.316677],[109.909296,20.236961],[109.929006,20.211691],[109.993679,20.254368],[110.082375,20.258859],[110.118099,20.219553],[110.168606,20.219553],[110.220345,20.25156],[110.296722,20.249314],[110.349076,20.258859],[110.384185,20.293103],[110.425453,20.291419],[110.452554,20.311064],[110.491358,20.373912],[110.54125,20.42047],[110.550489,20.47262],[110.499982,20.572386],[110.487047,20.640167],[110.466105,20.680485],[110.411286,20.670966],[110.392192,20.682724],[110.407591,20.731987],[110.393424,20.816479],[110.350924,20.84165],[110.327519,20.847802],[110.269004,20.839972],[110.209874,20.860106],[110.184005,20.891979],[110.180925,20.98197],[110.204947,21.003202],[110.208642,21.050684],[110.241903,21.016051],[110.24991,21.045098],[110.296722,21.093684],[110.39096,21.124949],[110.422373,21.190807],[110.451322,21.186343],[110.501213,21.217588],[110.534474,21.204198],[110.626249,21.215915],[110.65951,21.239902],[110.713097,21.3124],[110.768531,21.364799],[110.796248,21.37483],[110.888639,21.367585],[110.929291,21.375945],[111.034617,21.438906],[111.103602,21.455616],[111.171355,21.458401],[111.28284,21.485691],[111.276065,21.443362],[111.250196,21.45116],[111.257587,21.41495],[111.28592,21.41885],[111.353058,21.464528],[111.382623,21.495714],[111.444217,21.514088],[111.494724,21.501282],[111.521825,21.517429],[111.560629,21.50518],[111.609904,21.530234],[111.650556,21.512418],[111.677658,21.529677],[111.693672,21.590345],[111.736788,21.609821],[111.794686,21.61149],[111.832258,21.578659],[111.810084,21.555283],[111.887693,21.578659],[111.941896,21.607039],[111.972692,21.603144],[112.026895,21.633744],[111.997946,21.657107],[111.954214,21.667674],[111.956062,21.710494],[112.036134,21.761637],[112.136532,21.793871],[112.192583,21.789425],[112.196894,21.736624],[112.236315,21.727173],[112.238778,21.702153],[112.353343,21.707157],[112.415553,21.734956],[112.427256,21.789981],[112.445734,21.803317],[112.497473,21.785535],[112.535661,21.753856],[112.647146,21.758302],[112.68595,21.810541],[112.792508,21.921067],[112.841167,21.920512],[112.893522,21.84443],[112.929862,21.838875],[112.989608,21.869424],[113.047507,21.956595],[113.053666,22.012089],[113.032108,22.04593],[113.045659,22.088636],[113.086927,22.12634],[113.091854,22.065344],[113.142977,22.012089],[113.1516,21.979905],[113.235368,21.887751],[113.266781,21.871646],[113.319752,21.909407],[113.330223,21.96159],[113.442324,22.009315],[113.45957,22.043711],[113.527939,22.073663],[113.567359,22.075327],[113.554425,22.107489],[113.554425,22.142416],[113.534715,22.174009],[113.53841,22.209473],[113.558736,22.212244]]],[[[117.024627,23.437865],[116.982743,23.460924],[116.944555,23.440061],[116.951946,23.419744],[117.027091,23.41535],[117.050496,23.400522],[117.081909,23.409309],[117.124409,23.389537],[117.142887,23.400522],[117.142887,23.459826],[117.129336,23.483431],[117.093612,23.459277],[117.058503,23.47355],[117.029554,23.443356],[117.024627,23.437865]]],[[[112.853486,21.740515],[112.876275,21.772753],[112.840551,21.776644],[112.782653,21.739959],[112.724138,21.719945],[112.70566,21.679354],[112.734609,21.666562],[112.780189,21.671568],[112.730914,21.613715],[112.775261,21.564189],[112.817145,21.590345],[112.798667,21.610933],[112.821457,21.655994],[112.804826,21.686583],[112.83316,21.736624],[112.853486,21.740515]]],[[[112.530733,21.583667],[112.563378,21.591458],[112.571385,21.619835],[112.621277,21.606482],[112.665624,21.642644],[112.639139,21.67268],[112.66624,21.683803],[112.663776,21.714386],[112.592327,21.693256],[112.560299,21.666562],[112.57077,21.645982],[112.535045,21.628737],[112.530733,21.583667]]],[[[114.231342,22.016528],[114.311414,22.041493],[114.302791,22.050368],[114.239965,22.03539],[114.231342,22.016528]]],[[[110.43346,21.171276],[110.489511,21.138904],[110.508605,21.140579],[110.544945,21.083633],[110.582517,21.094801],[110.632409,21.210893],[110.589293,21.194713],[110.525235,21.190249],[110.499366,21.213125],[110.445163,21.184669],[110.431612,21.180763],[110.43346,21.171276]]],[[[112.435263,21.663781],[112.456205,21.648763],[112.458669,21.68992],[112.435263,21.663781]]],[[[110.517844,21.079166],[110.459946,21.062971],[110.398352,21.096476],[110.352772,21.079724],[110.305961,21.0881],[110.27578,21.033369],[110.211106,20.986999],[110.201251,20.938378],[110.309656,20.963529],[110.347845,20.984763],[110.407591,20.990351],[110.47288,20.983087],[110.511684,20.916578],[110.535706,20.922727],[110.539402,20.987557],[110.560344,21.061295],[110.517844,21.079166]]],[[[113.765076,21.962145],[113.774315,21.998218],[113.74167,21.991559],[113.765076,21.962145]]],[[[113.723192,21.922177],[113.742902,21.950489],[113.71888,21.951599],[113.723192,21.922177]]],[[[113.142977,21.831653],[113.162071,21.853873],[113.203955,21.861093],[113.167615,21.876644],[113.136818,21.868869],[113.142977,21.831653]]],[[[113.819894,22.396068],[113.813735,22.419858],[113.786634,22.413773],[113.819894,22.396068]]],[[[114.190074,21.986564],[114.229494,21.995443],[114.180835,22.00987],[114.190074,21.986564]]],[[[114.153734,21.97491],[114.171596,22.000437],[114.124169,21.985455],[114.153734,21.97491]]],[[[116.769628,20.771721],[116.761005,20.750456],[116.87249,20.738143],[116.889736,20.683284],[116.849084,20.628405],[116.749302,20.600958],[116.796113,20.582471],[116.862635,20.588633],[116.905135,20.619443],[116.934084,20.676565],[116.925461,20.726949],[116.88604,20.775638],[116.820135,20.780674],[116.769628,20.771721]]],[[[113.025333,21.847762],[113.045659,21.882753],[113.007471,21.869424],[113.025333,21.847762]]],[[[110.405127,20.678245],[110.437772,20.677685],[110.414366,20.710157],[110.405127,20.678245]]],[[[110.644727,20.935584],[110.584365,20.948998],[110.548641,20.908752],[110.562807,20.861224],[110.611467,20.860106],[110.646575,20.917137],[110.644727,20.935584]]],[[[110.556648,20.32734],[110.593604,20.360447],[110.586213,20.381205],[110.556648,20.32734]]],[[[115.943037,21.097592],[115.953508,21.064088],[115.989233,21.035603],[116.040356,21.02052],[116.067457,21.04063],[116.044051,21.110434],[116.024341,21.12439],[115.965211,21.123832],[115.943037,21.097592]]],[[[115.926407,20.981411],[115.939342,20.945644],[115.970139,20.919373],[115.999088,20.922727],[116.000936,20.948439],[115.954124,20.99985],[115.926407,20.981411]]],[[[115.834632,22.722695],[115.834632,22.722143],[115.835248,22.722695],[115.834632,22.722695]]],[[[115.834632,22.723247],[115.834632,22.722695],[115.835248,22.722695],[115.834632,22.723247]]]]}},{type:"Feature",properties:{adcode:45e4,name:"广西壮族自治区",center:[108.320004,22.82402],centroid:[108.7944,23.833381],childrenNum:14,level:"province",parent:{adcode:1e5},subFeatureIndex:19,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[109.48245,26.029788],[109.473211,26.006663],[109.408537,25.967392],[109.435022,25.93349],[109.396834,25.900117],[109.359262,25.836036],[109.339552,25.83442],[109.327849,25.76168],[109.340168,25.731493],[109.296436,25.71424],[109.207125,25.740119],[109.206509,25.788087],[109.147995,25.741736],[109.13198,25.762758],[109.143683,25.795092],[109.095024,25.80533],[109.077778,25.776771],[109.048213,25.790781],[108.989698,25.778926],[108.999553,25.765453],[108.963829,25.732572],[108.940423,25.740119],[108.896076,25.71424],[108.900387,25.682423],[108.953974,25.686738],[108.953974,25.686738],[109.007561,25.734728],[109.043285,25.738502],[109.07901,25.72071],[109.075314,25.693749],[109.030966,25.629556],[109.051908,25.566949],[109.088249,25.550752],[109.024807,25.51241],[108.949046,25.557231],[108.8893,25.543193],[108.890532,25.556151],[108.826474,25.550212],[108.814772,25.526992],[108.781511,25.554531],[108.799989,25.576666],[108.783975,25.628477],[108.724844,25.634952],[108.68912,25.623081],[108.68604,25.587462],[108.660787,25.584763],[108.658323,25.550212],[108.68912,25.533473],[108.634917,25.520512],[108.6072,25.491885],[108.600425,25.432448],[108.62999,25.335666],[108.625062,25.308076],[108.589338,25.335125],[108.585642,25.365952],[108.471693,25.458928],[108.418723,25.443257],[108.400244,25.491344],[108.359592,25.513491],[108.348506,25.536173],[108.308469,25.525912],[108.280752,25.48],[108.241332,25.46217],[108.251803,25.430286],[108.192673,25.458928],[108.162492,25.444878],[108.193289,25.405421],[108.142782,25.390825],[108.152021,25.324306],[108.143398,25.269658],[108.115065,25.210112],[108.080572,25.193867],[108.001732,25.196574],[107.928435,25.155954],[107.872384,25.141327],[107.839124,25.115861],[107.762747,25.125073],[107.789233,25.15487],[107.760283,25.188451],[107.762131,25.229061],[107.741805,25.24043],[107.700537,25.194408],[107.696226,25.219858],[107.661733,25.258833],[107.659885,25.316192],[107.632168,25.310241],[107.599523,25.250714],[107.576734,25.256668],[107.512676,25.209029],[107.472024,25.213902],[107.489886,25.276693],[107.481263,25.299961],[107.432604,25.289139],[107.409198,25.347024],[107.420901,25.392987],[107.375937,25.411908],[107.358691,25.393528],[107.318039,25.401637],[107.308184,25.432988],[107.336517,25.461089],[107.263836,25.543193],[107.232423,25.556691],[107.228728,25.604733],[107.205322,25.607971],[107.185612,25.578825],[107.064272,25.559391],[107.066736,25.50917],[107.015613,25.495666],[106.996519,25.442716],[106.963874,25.437852],[106.987896,25.358922],[107.012533,25.352973],[107.013765,25.275611],[106.975577,25.232851],[106.933077,25.250714],[106.904128,25.231768],[106.888113,25.181953],[106.853005,25.186827],[106.787715,25.17112],[106.764926,25.183036],[106.732281,25.162454],[106.691013,25.179245],[106.644817,25.164621],[106.63989,25.132658],[106.590615,25.08768],[106.551195,25.082802],[106.519782,25.054072],[106.450181,25.033468],[106.442173,25.019369],[106.332536,24.988454],[106.304819,24.973807],[106.253696,24.971094],[106.215508,24.981944],[106.191486,24.95319],[106.145291,24.954275],[106.197645,24.885889],[106.206269,24.851139],[106.173008,24.760417],[106.150218,24.762591],[106.113878,24.714216],[106.047356,24.684312],[106.024566,24.633186],[105.961741,24.677786],[105.942031,24.725088],[105.863806,24.729437],[105.827466,24.702799],[105.767104,24.719109],[105.70551,24.768569],[105.617431,24.78161],[105.607576,24.803885],[105.573083,24.797366],[105.497322,24.809318],[105.493011,24.833217],[105.457286,24.87123],[105.428337,24.930941],[105.365511,24.943423],[105.334099,24.9266],[105.267577,24.929313],[105.251563,24.967296],[105.212758,24.995505],[105.178266,24.985199],[105.157324,24.958616],[105.131454,24.959701],[105.09573,24.92877],[105.096346,24.928228],[105.082179,24.915745],[105.077868,24.918459],[105.039064,24.872859],[105.026745,24.815836],[105.03352,24.787586],[104.899245,24.752809],[104.865985,24.730524],[104.841963,24.676155],[104.771746,24.659839],[104.729246,24.617953],[104.703377,24.645698],[104.628848,24.660927],[104.595587,24.709323],[104.529682,24.731611],[104.489646,24.653313],[104.520443,24.535228],[104.550008,24.518894],[104.575877,24.424661],[104.616529,24.421937],[104.63008,24.397958],[104.610986,24.377246],[104.641783,24.367979],[104.70892,24.321087],[104.721239,24.340173],[104.703377,24.419757],[104.715695,24.441552],[104.74834,24.435559],[104.765587,24.45953],[104.784681,24.443732],[104.83642,24.446456],[104.914028,24.426296],[104.930042,24.411038],[104.979933,24.412673],[105.042759,24.442097],[105.106817,24.414853],[105.111744,24.37234],[105.138846,24.376701],[105.188121,24.347261],[105.196744,24.326541],[105.164715,24.288362],[105.215222,24.214699],[105.24294,24.208695],[105.229389,24.165567],[105.182577,24.167205],[105.20044,24.105491],[105.260186,24.061236],[105.292831,24.074896],[105.273121,24.092927],[105.320548,24.116416],[105.334099,24.094566],[105.395692,24.065607],[105.406163,24.043748],[105.493011,24.016965],[105.533663,24.130071],[105.594641,24.137718],[105.628518,24.126794],[105.649459,24.032816],[105.704278,24.0667],[105.739387,24.059596],[105.765256,24.073804],[105.802212,24.051945],[105.796669,24.023524],[105.841633,24.03063],[105.859495,24.056864],[105.89214,24.040468],[105.908154,24.069432],[105.901995,24.099482],[105.919241,24.122425],[105.963589,24.110954],[105.998081,24.120786],[106.011632,24.099482],[106.04982,24.089649],[106.053516,24.051399],[106.096631,24.018058],[106.091088,23.998924],[106.128044,23.956819],[106.157609,23.891174],[106.192718,23.879135],[106.173008,23.861622],[106.192102,23.824947],[106.136667,23.795381],[106.157609,23.724175],[106.149602,23.665538],[106.120653,23.605229],[106.141595,23.569579],[106.08616,23.524043],[106.071994,23.495506],[106.039965,23.484529],[105.999929,23.447748],[105.986378,23.489469],[105.935871,23.508678],[105.913081,23.499348],[105.89214,23.52514],[105.852103,23.526786],[105.815763,23.507031],[105.805908,23.467512],[105.758481,23.459826],[105.699966,23.40162],[105.637757,23.404366],[105.694423,23.363168],[105.699966,23.327453],[105.649459,23.346136],[105.593409,23.312614],[105.560148,23.257093],[105.526272,23.234548],[105.542902,23.184495],[105.558916,23.177893],[105.574931,23.066165],[105.625438,23.064513],[105.648844,23.078828],[105.724604,23.06231],[105.74185,23.030921],[105.780039,23.022659],[105.805908,22.994565],[105.839169,22.987403],[105.879205,22.916865],[105.893987,22.936707],[105.959277,22.948832],[105.994385,22.93781],[106.019639,22.990709],[106.08616,22.996218],[106.106486,22.980792],[106.153914,22.988505],[106.206885,22.978588],[106.270326,22.907494],[106.258007,22.889852],[106.286957,22.867245],[106.366413,22.857871],[106.37134,22.878273],[106.41384,22.877171],[106.504383,22.91025],[106.525941,22.946628],[106.562282,22.923479],[106.606013,22.925684],[106.631267,22.88103],[106.657136,22.863385],[106.674998,22.891506],[106.716882,22.881582],[106.709491,22.866142],[106.774781,22.812643],[106.776012,22.813746],[106.778476,22.814298],[106.779092,22.813746],[106.779708,22.813195],[106.78094,22.813195],[106.784636,22.812643],[106.796338,22.812091],[106.801882,22.815401],[106.804346,22.816505],[106.808657,22.817608],[106.813585,22.817608],[106.838838,22.803265],[106.820976,22.768504],[106.768621,22.739254],[106.780324,22.708894],[106.756302,22.68957],[106.711955,22.575228],[106.650361,22.575228],[106.61402,22.602303],[106.585071,22.517192],[106.588151,22.472958],[106.560434,22.455813],[106.588767,22.374486],[106.562897,22.345706],[106.663296,22.33076],[106.670071,22.283144],[106.688549,22.260438],[106.7021,22.207257],[106.673151,22.182322],[106.706411,22.160707],[106.691629,22.13521],[106.71565,22.089745],[106.706411,22.021521],[106.683006,21.999882],[106.698404,21.959925],[106.73844,22.008205],[106.790179,22.004876],[106.802498,21.98157],[106.859164,21.986009],[106.926302,21.967695],[106.935541,21.933836],[106.974345,21.923288],[106.999598,21.947714],[107.05996,21.914959],[107.058729,21.887196],[107.018693,21.859427],[107.018077,21.81943],[107.093837,21.803317],[107.148656,21.758858],[107.194851,21.736624],[107.199163,21.718833],[107.242279,21.703265],[107.271844,21.727173],[107.310648,21.733844],[107.356843,21.667674],[107.363619,21.602031],[107.388256,21.594241],[107.431372,21.642088],[107.477567,21.659888],[107.500973,21.613715],[107.486806,21.59591],[107.547168,21.58645],[107.584741,21.614828],[107.603219,21.597579],[107.712856,21.616497],[107.807711,21.655438],[107.837892,21.640419],[107.863761,21.650988],[107.892095,21.622617],[107.893942,21.596466],[107.929051,21.585893],[107.958,21.534131],[108.034376,21.545821],[108.108289,21.508521],[108.193905,21.519656],[108.156332,21.55083],[108.205608,21.597579],[108.241332,21.599805],[108.249955,21.561406],[108.210535,21.505737],[108.230245,21.491259],[108.330027,21.540254],[108.397781,21.533017],[108.492635,21.554727],[108.591802,21.677129],[108.626294,21.67991],[108.658939,21.643757],[108.678033,21.659331],[108.735931,21.628181],[108.734084,21.626512],[108.745786,21.602587],[108.801837,21.626512],[108.83325,21.610933],[108.881293,21.627068],[108.937959,21.589789],[109.093792,21.579215],[109.09872,21.571424],[109.110422,21.568085],[109.138756,21.567528],[109.142451,21.511861],[109.074698,21.489589],[109.039589,21.457844],[109.046365,21.424421],[109.095024,21.419407],[109.138756,21.388762],[109.186183,21.390991],[109.245929,21.425536],[109.41716,21.438906],[109.484914,21.453388],[109.529877,21.437234],[109.540964,21.466199],[109.576689,21.493487],[109.604406,21.523553],[109.612413,21.556953],[109.654913,21.493487],[109.704188,21.462857],[109.785492,21.45673],[109.788572,21.490702],[109.754695,21.556396],[109.742992,21.616497],[109.778101,21.670455],[109.786108,21.637638],[109.839695,21.636525],[109.888354,21.652101],[109.888354,21.652101],[109.916071,21.668787],[109.940093,21.769419],[109.94502,21.84443],[109.999839,21.881643],[110.050962,21.857205],[110.101469,21.86998],[110.12857,21.902744],[110.196323,21.899968],[110.212338,21.886085],[110.212338,21.886085],[110.224041,21.882198],[110.224041,21.882198],[110.283787,21.892194],[110.290562,21.917736],[110.337374,21.887751],[110.391576,21.89386],[110.378642,21.939942],[110.378642,21.939942],[110.374946,21.967695],[110.374946,21.967695],[110.352772,21.97602],[110.359547,22.015973],[110.35154,22.097508],[110.364475,22.125785],[110.326287,22.152393],[110.34846,22.195621],[110.378026,22.164587],[110.414366,22.208365],[110.456866,22.189526],[110.505525,22.14297],[110.55788,22.196175],[110.602843,22.18343],[110.598532,22.162924],[110.629329,22.149068],[110.678604,22.172901],[110.646575,22.220554],[110.687843,22.249914],[110.725415,22.29588],[110.759292,22.274837],[110.787009,22.28259],[110.749437,22.329653],[110.74143,22.361757],[110.711249,22.369506],[110.712481,22.440879],[110.688459,22.477935],[110.74143,22.464109],[110.740198,22.498947],[110.762988,22.518298],[110.749437,22.556991],[110.778386,22.585174],[110.812263,22.576333],[110.897878,22.591805],[110.896031,22.613352],[110.950233,22.61059],[110.958856,22.636553],[110.997045,22.631582],[111.055559,22.648705],[111.089435,22.695643],[111.058023,22.729871],[111.118385,22.744773],[111.185522,22.735942],[111.218167,22.748085],[111.358601,22.889301],[111.374615,22.938361],[111.362913,22.967568],[111.403565,22.99126],[111.389398,23.005583],[111.433746,23.036428],[111.43313,23.073322],[111.402333,23.066165],[111.377695,23.082132],[111.365992,23.14488],[111.38447,23.16744],[111.388782,23.210349],[111.36476,23.240047],[111.353058,23.284582],[111.376463,23.30437],[111.363528,23.340641],[111.389398,23.375804],[111.383239,23.399423],[111.399869,23.469159],[111.428818,23.466414],[111.479941,23.532822],[111.487332,23.626615],[111.555702,23.64087],[111.615448,23.639225],[111.614832,23.65896],[111.666571,23.718696],[111.621607,23.725819],[111.627766,23.78881],[111.654868,23.833159],[111.683201,23.822758],[111.683201,23.822758],[111.722621,23.823305],[111.8107,23.80688],[111.824867,23.832612],[111.812548,23.887343],[111.845809,23.904305],[111.854432,23.947521],[111.911714,23.943693],[111.940664,23.987989],[111.92157,24.012045],[111.878454,24.109862],[111.886461,24.163929],[111.871062,24.176487],[111.877222,24.227252],[111.912946,24.221795],[111.958526,24.263813],[111.986243,24.25672],[111.990555,24.279634],[112.026279,24.294908],[112.05954,24.339628],[112.057692,24.387057],[112.025047,24.438828],[111.985011,24.467701],[112.009649,24.503103],[112.007185,24.534684],[111.972077,24.578775],[111.936968,24.595645],[111.927729,24.629378],[111.953598,24.64733],[111.939432,24.686487],[111.961606,24.721283],[112.024431,24.740308],[111.951135,24.769655],[111.929577,24.75607],[111.875374,24.756613],[111.868599,24.771829],[111.814396,24.770199],[111.783599,24.785957],[111.708455,24.788673],[111.666571,24.760961],[111.637621,24.715303],[111.641933,24.684856],[111.588962,24.690837],[111.570484,24.64461],[111.526752,24.637538],[111.499035,24.667997],[111.451608,24.665822],[111.431282,24.687574],[111.461463,24.728894],[111.479325,24.797366],[111.449144,24.857113],[111.447296,24.892947],[111.470086,24.92877],[111.434977,24.951562],[111.43313,24.979774],[111.460231,24.992793],[111.467622,25.02208],[111.416499,25.047566],[111.435593,25.093642],[111.375231,25.128324],[111.36784,25.108817],[111.321645,25.105023],[111.274833,25.151078],[111.221862,25.106649],[111.200921,25.074672],[111.139943,25.042144],[111.101754,25.035095],[111.100522,24.945593],[111.009363,24.921172],[110.968711,24.975434],[110.951465,25.04377],[110.98411,25.101772],[110.998892,25.161371],[111.112841,25.21715],[111.103602,25.285351],[111.138711,25.303748],[111.184906,25.367034],[111.210776,25.363248],[111.279145,25.42326],[111.32842,25.521592],[111.324724,25.564249],[111.343202,25.602574],[111.309942,25.645203],[111.30871,25.720171],[111.399869,25.744431],[111.442369,25.77192],[111.43313,25.84627],[111.4861,25.859196],[111.460231,25.885042],[111.383239,25.881812],[111.376463,25.906039],[111.346282,25.906577],[111.297007,25.874274],[111.29208,25.854349],[111.251428,25.864581],[111.230486,25.916267],[111.189834,25.953402],[111.235413,26.048071],[111.267442,26.058824],[111.244652,26.078177],[111.26621,26.095914],[111.258203,26.151796],[111.274833,26.183486],[111.271754,26.217316],[111.293311,26.222148],[111.277913,26.272066],[111.228022,26.261333],[111.204616,26.276359],[111.208928,26.30426],[111.090667,26.308016],[111.008132,26.336982],[111.008747,26.35897],[110.974255,26.385778],[110.94469,26.373447],[110.944074,26.326791],[110.926212,26.320354],[110.939762,26.286554],[110.836284,26.255966],[110.759292,26.248451],[110.73527,26.270993],[110.742046,26.313917],[110.721104,26.294066],[110.673676,26.317135],[110.643495,26.308552],[110.612083,26.333764],[110.584365,26.296749],[110.552952,26.283335],[110.546793,26.233421],[110.495054,26.166299],[110.477808,26.179727],[110.437772,26.153945],[110.373098,26.088927],[110.325671,25.975462],[110.257301,25.961473],[110.24991,26.010965],[110.181541,26.060437],[110.168606,26.028713],[110.100853,26.020108],[110.065128,26.050221],[110.100853,26.132455],[110.099005,26.168985],[110.03002,26.166299],[109.970274,26.195301],[109.904368,26.135679],[109.898825,26.095377],[109.864332,26.027637],[109.814441,26.041081],[109.782412,25.996981],[109.806434,25.973848],[109.826144,25.911422],[109.811361,25.877504],[109.779333,25.866196],[109.768246,25.890427],[109.685094,25.880197],[109.67955,25.921649],[109.693717,25.959321],[109.710963,25.954478],[109.730057,25.989988],[109.649369,26.016882],[109.635203,26.047533],[109.588391,26.019571],[109.560058,26.021184],[109.513247,25.998056],[109.48245,26.029788]]],[[[105.096346,24.928228],[105.09573,24.92877],[105.077868,24.918459],[105.082179,24.915745],[105.096346,24.928228]]],[[[109.088249,21.014934],[109.11227,21.02499],[109.117814,21.017727],[109.144299,21.041189],[109.138756,21.067439],[109.09256,21.057386],[109.088865,21.031134],[109.088249,21.014934]]]]}},{type:"Feature",properties:{adcode:46e4,name:"海南省",center:[110.33119,20.031971],centroid:[109.754859,19.189767],childrenNum:19,level:"province",parent:{adcode:1e5},subFeatureIndex:20,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[110.106396,20.026812],[110.042339,19.991384],[109.997375,19.980136],[109.965346,19.993634],[109.898825,19.994196],[109.855093,19.984073],[109.814441,19.993072],[109.76147,19.981261],[109.712195,20.017253],[109.657993,20.01163],[109.585312,19.98801],[109.526797,19.943573],[109.498464,19.873236],[109.411001,19.895184],[109.349407,19.898561],[109.300748,19.917693],[109.25948,19.898561],[109.255784,19.867045],[109.231147,19.863105],[109.159082,19.79048],[109.169553,19.736411],[109.147379,19.704863],[109.093792,19.68965],[109.048829,19.619764],[108.993394,19.587065],[108.92872,19.524468],[108.855424,19.469182],[108.806148,19.450561],[108.765496,19.400894],[108.694047,19.387346],[108.644772,19.349518],[108.609048,19.276661],[108.591186,19.141592],[108.598577,19.055633],[108.630606,19.003017],[108.637997,18.924346],[108.595497,18.872256],[108.593033,18.809386],[108.65278,18.740258],[108.663866,18.67337],[108.641077,18.565614],[108.644772,18.486738],[108.68912,18.447571],[108.776583,18.441894],[108.881293,18.416344],[108.905315,18.389087],[108.944735,18.314107],[109.006329,18.323198],[109.108575,18.323766],[109.138756,18.268081],[109.17448,18.260125],[109.287813,18.264671],[109.355566,18.215221],[109.441182,18.199303],[109.467051,18.173718],[109.527413,18.169169],[109.584696,18.143579],[109.661688,18.175424],[109.726362,18.177698],[109.749767,18.193618],[109.785492,18.339672],[109.919767,18.375457],[110.022629,18.360121],[110.070672,18.376025],[110.090382,18.399309],[110.116867,18.506602],[110.214186,18.578662],[110.246215,18.609859],[110.329366,18.642185],[110.367555,18.631977],[110.499366,18.651824],[110.499366,18.751592],[110.578206,18.784458],[110.590525,18.838841],[110.585597,18.88075],[110.619474,19.152334],[110.676756,19.286264],[110.706321,19.320153],[110.729727,19.378878],[110.787009,19.399765],[110.844292,19.449996],[110.888023,19.518827],[110.920668,19.552668],[111.008747,19.60398],[111.061718,19.612436],[111.071573,19.628784],[111.043856,19.763448],[111.013675,19.850159],[110.966248,20.018377],[110.940994,20.028499],[110.871393,20.01163],[110.808567,20.035808],[110.778386,20.068415],[110.744509,20.074036],[110.717408,20.148778],[110.687843,20.163947],[110.655814,20.134169],[110.562191,20.110006],[110.526467,20.07516],[110.495054,20.077408],[110.387265,20.113378],[110.318279,20.108882],[110.28933,20.056047],[110.243135,20.077408],[110.144585,20.074598],[110.106396,20.026812]]],[[[112.208597,3.876129],[112.241858,3.845677],[112.280046,3.86777],[112.260336,3.917925],[112.219068,3.908969],[112.208597,3.876129]]],[[[113.266165,8.125929],[113.311129,8.177469],[113.343157,8.193463],[113.288955,8.119412],[113.349933,8.172137],[113.386273,8.238479],[113.386273,8.289412],[113.354244,8.304217],[113.353628,8.237887],[113.293882,8.176284],[113.266165,8.125929]]],[[[111.99733,3.848065],[112.015192,3.823583],[112.064467,3.830152],[112.073707,3.865979],[112.03367,3.892251],[111.99733,3.848065]]],[[[111.463311,17.077491],[111.536607,17.104949],[111.4861,17.058039],[111.559397,17.087788],[111.542151,17.11982],[111.452224,17.092936],[111.463311,17.077491]]],[[[117.708319,15.182712],[117.712631,15.118592],[117.726798,15.105303],[117.827812,15.111659],[117.72495,15.131302],[117.720638,15.195418],[117.74466,15.217941],[117.784696,15.16885],[117.838899,15.15903],[117.782848,15.187333],[117.748355,15.230068],[117.715095,15.222561],[117.708319,15.182712]]],[[[112.241858,3.942404],[112.292365,3.946583],[112.288053,3.97345],[112.254177,3.97942],[112.241858,3.942404]]],[[[111.734324,16.19732],[111.779903,16.19732],[111.81686,16.224329],[111.813164,16.261676],[111.782367,16.273741],[111.716462,16.249036],[111.789758,16.250186],[111.790374,16.220307],[111.734324,16.19732]]],[[[111.649324,16.255931],[111.577875,16.208239],[111.56802,16.162834],[111.611136,16.156511],[111.690592,16.211112],[111.606825,16.177779],[111.598817,16.198469],[111.681353,16.262251],[111.649324,16.255931]]],[[[113.896887,7.607204],[113.919677,7.566865],[113.98743,7.536014],[114.058879,7.537794],[114.157429,7.561525],[114.289856,7.617288],[114.368696,7.638642],[114.407501,7.683126],[114.419819,7.765557],[114.464167,7.814771],[114.540543,7.862201],[114.555326,7.891249],[114.540543,7.945783],[114.511594,7.966527],[114.47279,7.968898],[114.414892,7.952895],[114.268298,7.870501],[114.211632,7.786904],[114.095219,7.721082],[114.029314,7.670078],[113.921524,7.639235],[113.896887,7.607204]]],[[[113.976959,8.872888],[114.013299,8.836817],[114.035473,8.783591],[114.060111,8.816119],[114.041017,8.843913],[113.989894,8.878801],[113.976959,8.872888]]],[[[113.956017,8.840365],[113.975111,8.793054],[114.012068,8.798376],[113.977575,8.841548],[113.956017,8.840365]]],[[[111.97454,16.323715],[112.002258,16.306484],[112.07617,16.323715],[112.074938,16.349558],[112.047221,16.360469],[112.002874,16.350707],[111.97454,16.323715]]],[[[111.739251,16.452898],[111.766969,16.470116],[111.786679,16.520039],[111.759577,16.545857],[111.765737,16.495366],[111.739251,16.452898]]],[[[112.216604,8.866383],[112.206133,8.88767],[112.180264,8.862244],[112.216604,8.866383]]],[[[113.792177,7.373422],[113.828518,7.362145],[113.829134,7.383511],[113.792177,7.373422]]],[[[114.194386,8.764664],[114.201161,8.727991],[114.248588,8.724442],[114.222103,8.784773],[114.194386,8.764664]]],[[[112.232619,16.996239],[112.207981,16.987081],[112.222764,16.960751],[112.292981,16.96762],[112.266496,16.993949],[112.232619,16.996239]]],[[[114.689601,10.345648],[114.702536,10.312677],[114.725941,10.319154],[114.747499,10.37214],[114.717318,10.380381],[114.689601,10.345648]]],[[[115.837712,9.709775],[115.861117,9.694438],[115.867277,9.650191],[115.901153,9.67084],[115.925791,9.781734],[115.901153,9.795888],[115.870972,9.778785],[115.837712,9.709775]]],[[[114.617536,9.965688],[114.642173,9.917351],[114.672355,9.927963],[114.685905,9.979245],[114.617536,9.965688]]],[[[113.769387,7.636862],[113.773699,7.601865],[113.814967,7.603051],[113.831597,7.644573],[113.769387,7.636862]]],[[[109.463972,7.344339],[109.463972,7.315254],[109.513247,7.320002],[109.571761,7.373422],[109.654297,7.479648],[109.709115,7.511095],[109.791651,7.524742],[109.938861,7.504569],[109.948716,7.522962],[109.904984,7.55144],[109.816289,7.572797],[109.72205,7.575763],[109.653065,7.559745],[109.536037,7.448792],[109.463972,7.344339]]],[[[116.273181,8.879392],[116.294123,8.858105],[116.332311,8.901269],[116.305826,8.917233],[116.273181,8.879392]]],[[[112.476531,16.001247],[112.570154,16.011027],[112.612037,16.039212],[112.588016,16.070844],[112.462364,16.043813],[112.448814,16.005274],[112.476531,16.001247]]],[[[112.537509,8.846278],[112.57077,8.815527],[112.639755,8.818484],[112.598487,8.859288],[112.537509,8.846278]]],[[[114.469095,10.836261],[114.475254,10.814512],[114.513442,10.848605],[114.565181,10.836261],[114.593514,10.856245],[114.587355,10.909138],[114.55471,10.900911],[114.469095,10.836261]]],[[[112.409393,16.294996],[112.383524,16.265698],[112.411241,16.2634],[112.475915,16.288677],[112.531349,16.285805],[112.536893,16.312228],[112.509176,16.317397],[112.409393,16.294996]]],[[[116.48876,10.395686],[116.461658,10.34918],[116.467202,10.309144],[116.511549,10.297957],[116.566368,10.304434],[116.644592,10.335051],[116.637817,10.365076],[116.514629,10.34918],[116.542346,10.41982],[116.526332,10.426883],[116.48876,10.395686]]],[[[112.349031,16.912088],[112.360734,16.925257],[112.334249,16.962469],[112.30222,16.963041],[112.349031,16.912088]]],[[[111.500267,16.45175],[111.49534,16.4374],[111.545847,16.43453],[111.538455,16.461507],[111.500267,16.45175]]],[[[115.500177,9.897897],[115.54822,9.869007],[115.585177,9.896128],[115.581481,9.917351],[115.518039,9.933857],[115.500177,9.897897]]],[[[114.669891,8.210048],[114.691449,8.18517],[114.74134,8.189316],[114.726557,8.21064],[114.669891,8.210048]]],[[[114.507899,8.120004],[114.530073,8.103415],[114.595978,8.120596],[114.624311,8.149626],[114.595978,8.15792],[114.507899,8.120004]]],[[[115.16757,8.386523],[115.18112,8.345668],[115.235939,8.321982],[115.285214,8.314876],[115.315395,8.356326],[115.299381,8.370537],[115.202678,8.395403],[115.16757,8.386523]]],[[[113.895039,8.00505],[113.904894,7.963564],[113.9708,7.944597],[113.969568,7.974825],[113.940003,8.018088],[113.895039,8.00505]]],[[[115.436119,9.393447],[115.450286,9.345028],[115.469996,9.3592],[115.456445,9.417064],[115.436119,9.393447]]],[[[116.457347,9.174326],[116.477057,9.137103],[116.500462,9.164282],[116.457347,9.174326]]],[[[113.638192,8.976942],[113.654823,8.962163],[113.730583,9.004133],[113.719496,9.020092],[113.644968,8.989355],[113.638192,8.976942]]],[[[114.696992,11.004322],[114.710543,11.001972],[114.793079,11.07657],[114.799854,11.10476],[114.766593,11.110045],[114.710543,11.039567],[114.696992,11.004322]]],[[[114.62,11.432264],[114.652644,11.436957],[114.661884,11.522584],[114.621232,11.518479],[114.62,11.432264]]],[[[114.910723,10.863298],[114.931049,10.841551],[114.959998,10.902087],[114.934129,10.902674],[114.910723,10.863298]]],[[[111.572948,16.470116],[111.578491,16.447158],[111.614216,16.44027],[111.592658,16.490775],[111.572948,16.470116]]],[[[113.939387,8.875253],[113.912285,8.888853],[113.893807,8.862836],[113.916597,8.837999],[113.939387,8.875253]]],[[[109.936397,7.848566],[109.936397,7.823665],[109.988136,7.8124],[110.050346,7.846194],[110.082991,7.896584],[110.078063,7.949339],[110.0331,7.944597],[109.953027,7.888878],[109.936397,7.848566]]],[[[116.727128,11.501473],[116.765316,11.430504],[116.772092,11.445755],[116.738215,11.514961],[116.727128,11.501473]]],[[[111.690592,16.587731],[111.724469,16.560198],[111.717078,16.59404],[111.690592,16.587731]]],[[[112.507328,16.466098],[112.586784,16.525777],[112.575081,16.537251],[112.499321,16.493645],[112.507328,16.466098]]],[[[111.761425,16.061642],[111.791606,16.028859],[111.828563,16.049565],[111.829795,16.070844],[111.761425,16.061642]]],[[[113.845764,10.018733],[113.865474,10.00341],[113.872249,10.123029],[113.856851,10.12185],[113.845764,10.018733]]],[[[114.791847,8.160882],[114.777064,8.114079],[114.812173,8.110524],[114.818332,8.141332],[114.791847,8.160882]]],[[[116.557129,9.745167],[116.566368,9.718623],[116.593469,9.723932],[116.557129,9.745167]]],[[[115.28275,10.191951],[115.288294,10.172513],[115.333257,10.200198],[115.28891,10.211388],[115.28275,10.191951]]],[[[116.832454,10.476908],[116.855243,10.468669],[116.868794,10.495739],[116.832454,10.476908]]],[[[114.703151,16.170307],[114.816484,16.198469],[114.802934,16.215135],[114.704383,16.199044],[114.703151,16.170307]]],[[[115.97753,9.321997],[115.926407,9.311366],[115.943037,9.269433],[115.976298,9.268252],[115.999088,9.293649],[115.97753,9.321997]]],[[[113.660366,9.231039],[113.676997,9.202683],[113.697323,9.225722],[113.660366,9.231039]]],[[[114.665579,7.590001],[114.671739,7.563898],[114.72163,7.59178],[114.703767,7.614915],[114.665579,7.590001]]],[[[114.493116,10.717504],[114.513442,10.722208],[114.562717,10.778064],[114.539312,10.793349],[114.493116,10.717504]]],[[[117.770529,10.773361],[117.798862,10.753371],[117.835819,10.803931],[117.831507,10.838612],[117.801942,10.839788],[117.775457,10.809222],[117.770529,10.773361]]],[[[114.242429,10.242014],[114.263371,10.239658],[114.326197,10.284414],[114.312646,10.300901],[114.265219,10.275581],[114.242429,10.242014]]],[[[114.688985,11.469217],[114.722246,11.429331],[114.737644,11.463938],[114.720398,11.49209],[114.688985,11.469217]]],[[[116.638433,10.503977],[116.653215,10.491031],[116.70865,10.492797],[116.699411,10.517511],[116.638433,10.503977]]],[[[110.459946,8.116449],[110.471032,8.072012],[110.554184,8.093935],[110.599764,8.156735],[110.568351,8.17273],[110.461793,8.128298],[110.459946,8.116449]]],[[[111.463311,8.52504],[111.497187,8.523857],[111.509506,8.550489],[111.463311,8.52504]]],[[[115.258113,8.509652],[115.271048,8.477098],[115.296301,8.510836],[115.258113,8.509652]]],[[[113.221817,8.073789],[113.235984,8.068456],[113.283411,8.111117],[113.269861,8.120004],[113.221817,8.073789]]],[[[114.074893,10.929118],[114.064422,10.904437],[114.110002,10.918541],[114.096451,10.947921],[114.074893,10.929118]]],[[[117.258068,10.320331],[117.299336,10.313855],[117.299952,10.343293],[117.274698,10.358011],[117.258068,10.320331]]],[[[114.212864,16.040937],[114.31203,16.034611],[114.306487,16.057616],[114.268914,16.059342],[114.212864,16.040937]]],[[[110.609003,8.010976],[110.642879,7.989049],[110.641648,8.031125],[110.622553,8.041199],[110.609003,8.010976]]],[[[115.509416,8.490712],[115.521735,8.460523],[115.55438,8.461115],[115.569162,8.49012],[115.558691,8.523265],[115.514344,8.519122],[115.509416,8.490712]]],[[[111.539071,7.54432],[111.542767,7.524742],[111.583419,7.543134],[111.612368,7.592374],[111.566788,7.606017],[111.539071,7.54432]]],[[[111.657947,8.672974],[111.665955,8.622683],[111.717694,8.6499],[111.697368,8.67889],[111.657947,8.672974]]],[[[110.460561,7.799948],[110.487663,7.783346],[110.511684,7.805878],[110.485199,7.827815],[110.460561,7.799948]]],[[[112.345952,8.926101],[112.392763,8.919598],[112.384756,8.946793],[112.345952,8.926101]]],[[[116.469665,9.810041],[116.47952,9.785272],[116.50847,9.79117],[116.490607,9.821246],[116.469665,9.810041]]],[[[111.925265,8.070827],[111.949287,8.05068],[111.994866,8.047125],[112.018888,8.065494],[112.013344,8.093342],[111.95483,8.106377],[111.925265,8.070827]]],[[[114.457392,15.599305],[114.466631,15.576823],[114.491884,15.59354],[114.457392,15.599305]]],[[[114.985252,11.078332],[115.013585,11.063062],[115.021592,11.085967],[114.985252,11.078332]]],[[[114.10569,16.004124],[114.110618,15.978235],[114.132176,16.007575],[114.10569,16.004124]]],[[[116.045283,10.095338],[116.067457,10.065876],[116.09579,10.09357],[116.070537,10.12892],[116.045283,10.095338]]],[[[117.266691,10.69163],[117.348611,10.672811],[117.404661,10.671047],[117.418212,10.702803],[117.369553,10.7422],[117.293176,10.735144],[117.266691,10.69163]]],[[[114.854057,7.244611],[114.819564,7.192957],[114.869455,7.198895],[114.854057,7.244611]]],[[[112.823305,8.910729],[112.859645,8.889444],[112.873196,8.908364],[112.823305,8.910729]]],[[[111.670266,7.651098],[111.707223,7.648725],[111.749722,7.703884],[111.726317,7.729977],[111.691208,7.711593],[111.670266,7.651098]]],[[[112.207981,8.835634],[112.235699,8.827355],[112.241242,8.852783],[112.207981,8.835634]]],[[[112.527654,5.79444],[112.531965,5.766455],[112.562762,5.75931],[112.562146,5.820637],[112.527654,5.79444]]],[[[114.599058,8.846278],[114.645869,8.844504],[114.68221,8.881166],[114.665579,8.900087],[114.61692,8.881166],[114.599058,8.846278]]],[[[114.868223,7.983715],[114.907643,7.951117],[114.914419,8.00742],[114.883006,8.011569],[114.868223,7.983715]]],[[[112.945261,8.410204],[112.985297,8.429149],[112.949572,8.432701],[112.945261,8.410204]]],[[[113.600004,6.961929],[113.580294,6.920344],[113.62341,6.942325],[113.600004,6.961929]]],[[[116.695099,16.345538],[116.708034,16.299591],[116.738831,16.303612],[116.747454,16.360469],[116.717889,16.373676],[116.695099,16.345538]]],[[[117.347995,10.090624],[117.354154,10.06293],[117.385567,10.063519],[117.373864,10.106532],[117.347995,10.090624]]],[[[112.993304,19.472003],[113.038883,19.480466],[113.048123,19.506417],[113.029028,19.52898],[112.993304,19.52616],[112.980369,19.496263],[112.993304,19.472003]]],[[[114.448153,16.034035],[114.485109,16.034611],[114.521449,16.056466],[114.465399,16.067393],[114.448153,16.034035]]],[[[113.832213,19.158552],[113.874097,19.151203],[113.914749,19.172119],[113.920293,19.223551],[113.875945,19.237113],[113.80696,19.222986],[113.799568,19.19925],[113.832213,19.158552]]],[[[112.650842,5.106941],[112.655769,5.055676],[112.682871,5.048522],[112.719211,5.075944],[112.678559,5.121247],[112.650842,5.106941]]],[[[111.638853,7.907254],[111.665339,7.887099],[111.712766,7.887099],[111.713382,7.927408],[111.651788,7.932743],[111.638853,7.907254]]],[[[112.244322,8.874662],[112.281278,8.855148],[112.288669,8.885896],[112.244322,8.874662]]],[[[112.89229,7.844416],[112.929862,7.827815],[112.93171,7.867537],[112.89229,7.844416]]],[[[112.583088,5.56159],[112.606494,5.51751],[112.614501,5.465683],[112.642834,5.489512],[112.616349,5.568737],[112.583088,5.56159]]],[[[112.523342,5.656289],[112.5449,5.616386],[112.565842,5.63068],[112.56153,5.677133],[112.528886,5.687257],[112.523342,5.656289]]],[[[115.361591,13.948985],[115.397315,13.92517],[115.438583,13.943757],[115.423185,13.977443],[115.377605,13.968732],[115.361591,13.948985]]],[[[113.596924,10.240836],[113.617866,10.22199],[113.638192,10.243192],[113.596924,10.240836]]],[[[113.860546,15.477068],[113.893807,15.463802],[113.890112,15.490909],[113.860546,15.477068]]],[[[112.907072,4.993079],[112.943413,4.991887],[112.952652,5.047926],[112.910768,5.038388],[112.907072,4.993079]]],[[[112.557219,5.109326],[112.568922,5.071771],[112.610806,5.091443],[112.601567,5.120055],[112.557219,5.109326]]],[[[112.350263,5.621747],[112.385988,5.615791],[112.385372,5.643187],[112.350263,5.621747]]],[[[112.226459,16.759147],[112.254177,16.751698],[112.262184,16.778057],[112.211061,16.795819],[112.226459,16.759147]]],[[[112.233851,15.69612],[112.25972,15.734718],[112.240626,15.741055],[112.20367,15.71398],[112.233851,15.69612]]],[[[112.612037,5.367973],[112.640371,5.347715],[112.685334,5.371548],[112.690878,5.406702],[112.62374,5.401935],[112.612037,5.367973]]],[[[112.472219,5.73966],[112.496857,5.736683],[112.498089,5.775387],[112.472219,5.73966]]],[[[113.217506,6.306249],[113.230441,6.285429],[113.243991,6.325878],[113.217506,6.306249]]],[[[116.152457,9.579384],[116.189413,9.565221],[116.187565,9.595317],[116.152457,9.579384]]],[[[114.948911,7.508722],[114.960614,7.484988],[115.012353,7.484988],[115.013585,7.525928],[114.948911,7.508722]]],[[[111.553854,7.807656],[111.585267,7.771487],[111.619759,7.840265],[111.603745,7.861608],[111.553854,7.807656]]],[[[113.938771,15.8355],[113.973263,15.805558],[113.9708,15.83953],[113.938771,15.8355]]],[[[114.926122,16.036911],[114.895325,16.036336],[114.910723,16.001823],[114.926122,16.036911]]],[[[116.749302,9.056736],[116.699411,9.049053],[116.70865,9.024229],[116.740679,9.028367],[116.749302,9.056736]]],[[[112.64653,16.385733],[112.681639,16.400661],[112.660081,16.426494],[112.64653,16.385733]]],[[[111.203384,19.92557],[111.203384,19.925007],[111.204,19.92557],[111.204,19.926132],[111.203384,19.92557]]],[[[115.758256,10.461018],[115.776118,10.434534],[115.801987,10.463372],[115.758256,10.461018]]],[[[117.21372,10.735144],[117.187235,10.741612],[117.206945,10.707507],[117.21372,10.735144]]],[[[112.671784,16.331755],[112.701349,16.331755],[112.677943,16.35932],[112.671784,16.331755]]],[[[115.782277,10.541046],[115.795212,10.499858],[115.805067,10.524571],[115.782277,10.541046]]],[[[112.512255,9.544566],[112.50856,9.525679],[112.568922,9.516826],[112.567074,9.554008],[112.512255,9.544566]]],[[[114.610145,15.649447],[114.581195,15.625242],[114.610761,15.615444],[114.610145,15.649447]]],[[[117.299336,11.077745],[117.264227,11.063062],[117.284553,11.02547],[117.304263,11.027232],[117.299336,11.077745]]],[[[117.691073,11.048965],[117.653501,11.046029],[117.655965,11.024882],[117.690457,11.016658],[117.691073,11.048965]]],[[[114.166668,9.38459],[114.175291,9.342075],[114.195617,9.350933],[114.194386,9.391676],[114.166668,9.38459]]],[[[114.714854,9.736909],[114.693296,9.741038],[114.680978,9.707416],[114.704999,9.700337],[114.714854,9.736909]]],[[[112.554139,5.97839],[112.553523,5.942676],[112.575697,5.971247],[112.554139,5.97839]]]]}},{type:"Feature",properties:{adcode:5e5,name:"重庆市",center:[106.504962,29.533155],centroid:[107.8839,30.067297],childrenNum:38,level:"province",parent:{adcode:1e5},subFeatureIndex:21,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[106.37442,28.525742],[106.403369,28.569901],[106.477282,28.530474],[106.504999,28.544669],[106.466811,28.586193],[106.49268,28.591448],[106.502535,28.661313],[106.528405,28.677591],[106.492064,28.742153],[106.461883,28.761041],[106.45326,28.817162],[106.474202,28.832891],[106.561666,28.756319],[106.56105,28.719062],[106.587535,28.691767],[106.6171,28.691242],[106.617716,28.66709],[106.651593,28.649235],[106.618332,28.645033],[106.63681,28.622972],[106.606629,28.593024],[106.615252,28.549401],[106.567825,28.523638],[106.564745,28.485247],[106.632499,28.503655],[106.697788,28.47683],[106.708259,28.450524],[106.747063,28.467361],[106.726121,28.51838],[106.73844,28.554657],[106.77786,28.563068],[106.756918,28.607211],[106.784636,28.626649],[106.807425,28.589346],[106.830831,28.623497],[106.866556,28.624548],[106.889345,28.695966],[106.86594,28.690192],[106.824056,28.756319],[106.845614,28.780975],[106.872099,28.777304],[106.923222,28.809821],[106.951555,28.766812],[106.988512,28.776254],[106.983584,28.851239],[107.019308,28.861722],[107.016229,28.882685],[107.14188,28.887925],[107.206554,28.868535],[107.194851,28.838134],[107.227496,28.836037],[107.210866,28.817686],[107.219489,28.772582],[107.24659,28.76209],[107.261373,28.792514],[107.327894,28.810869],[107.339597,28.845997],[107.383945,28.848618],[107.41351,28.911502],[107.441227,28.943977],[107.412894,28.960211],[107.396879,28.993718],[107.364235,29.00942],[107.395647,29.041341],[107.369778,29.091558],[107.412278,29.094696],[107.427676,29.128682],[107.408582,29.138091],[107.401807,29.184603],[107.441227,29.203934],[107.486806,29.174153],[107.570574,29.218037],[107.589052,29.150113],[107.605683,29.164747],[107.659885,29.162656],[107.700537,29.141228],[107.749197,29.199754],[107.810791,29.139137],[107.784921,29.048143],[107.823725,29.034016],[107.810175,28.984295],[107.867457,28.960211],[107.882855,29.00628],[107.908725,29.007327],[107.925971,29.032446],[108.026369,29.039772],[108.070717,29.086328],[108.150173,29.053375],[108.193289,29.072207],[108.256115,29.040295],[108.277673,29.091558],[108.306622,29.079006],[108.297999,29.045527],[108.319556,28.961258],[108.345426,28.943453],[108.357745,28.893165],[108.346658,28.859625],[108.352817,28.815589],[108.386078,28.803003],[108.385462,28.772058],[108.347274,28.736381],[108.332491,28.679166],[108.439049,28.634003],[108.501258,28.626649],[108.50249,28.63768],[108.575787,28.659738],[108.636149,28.621396],[108.604736,28.590922],[108.610896,28.539412],[108.573939,28.531],[108.586874,28.463678],[108.609664,28.43579],[108.609048,28.407368],[108.576403,28.38631],[108.580099,28.343128],[108.611512,28.324691],[108.667562,28.334173],[108.656475,28.359981],[108.697127,28.401051],[108.688504,28.422106],[108.640461,28.456838],[108.657091,28.47683],[108.700207,28.48209],[108.709446,28.501026],[108.746402,28.45105],[108.780279,28.42579],[108.759953,28.389995],[108.783359,28.380518],[108.761801,28.304143],[108.726692,28.282011],[108.738395,28.228241],[108.772888,28.212949],[108.821547,28.245113],[108.855424,28.199764],[108.89546,28.219804],[108.923793,28.217167],[108.929952,28.19027],[109.005713,28.162837],[109.026655,28.220331],[109.086401,28.184467],[109.101799,28.202401],[109.081473,28.247749],[109.117198,28.277795],[109.152306,28.349975],[109.153538,28.417369],[109.191726,28.471043],[109.23361,28.474726],[109.274262,28.494714],[109.273646,28.53836],[109.319842,28.579886],[109.306907,28.62087],[109.252089,28.606685],[109.235458,28.61982],[109.201581,28.597753],[109.192958,28.636104],[109.271183,28.671816],[109.252704,28.691767],[109.294588,28.722211],[109.2989,28.7474],[109.241002,28.776779],[109.246545,28.80143],[109.235458,28.882161],[109.261328,28.952356],[109.292741,28.987436],[109.294588,29.015177],[109.319842,29.042388],[109.312451,29.066453],[109.240386,29.086328],[109.232378,29.119271],[109.215748,29.145409],[109.162777,29.180946],[109.139372,29.168927],[109.110422,29.21647],[109.141835,29.270256],[109.106727,29.288526],[109.11227,29.361053],[109.060531,29.403292],[109.034662,29.360531],[108.999553,29.36366],[108.983539,29.332883],[108.919481,29.3261],[108.934264,29.399643],[108.927488,29.435612],[108.884373,29.440824],[108.866511,29.470527],[108.888684,29.502305],[108.878213,29.539279],[108.913322,29.574679],[108.901003,29.604863],[108.870206,29.596537],[108.888068,29.628795],[108.844337,29.658443],[108.781511,29.635558],[108.797525,29.660003],[108.786438,29.691721],[108.752562,29.649082],[108.690968,29.689642],[108.676801,29.749412],[108.680497,29.800319],[108.658939,29.854833],[108.601041,29.863656],[108.556077,29.818493],[108.52528,29.770713],[108.548686,29.749412],[108.504954,29.728626],[108.504338,29.707836],[108.460606,29.741098],[108.437201,29.741098],[108.442744,29.778505],[108.422418,29.772791],[108.424266,29.815897],[108.371295,29.841337],[108.433505,29.880262],[108.467998,29.864175],[108.516041,29.885451],[108.517889,29.9394],[108.536367,29.983472],[108.532055,30.051873],[108.513577,30.057571],[108.546222,30.104178],[108.56778,30.157491],[108.551766,30.1637],[108.581947,30.255759],[108.54499,30.269716],[108.524048,30.309506],[108.501258,30.314673],[108.460606,30.35961],[108.431041,30.354446],[108.402092,30.376649],[108.430425,30.416397],[108.411331,30.438586],[108.42673,30.492233],[108.472925,30.487076],[108.512961,30.501515],[108.556077,30.487592],[108.56778,30.468508],[108.6497,30.53915],[108.642925,30.578831],[108.688504,30.58759],[108.698975,30.54482],[108.743939,30.494812],[108.789518,30.513374],[108.808612,30.491202],[108.838793,30.503062],[108.893612,30.565434],[108.971836,30.627766],[109.006329,30.626736],[109.042669,30.655571],[109.071002,30.640125],[109.111654,30.646303],[109.106111,30.61077],[109.105495,30.585529],[109.102415,30.580377],[109.101183,30.579346],[109.106111,30.570587],[109.103647,30.565949],[109.143683,30.521108],[109.191726,30.545851],[109.191726,30.545851],[109.245313,30.580892],[109.299516,30.630341],[109.314298,30.599953],[109.36111,30.551004],[109.337088,30.521623],[109.35495,30.487076],[109.418392,30.559766],[109.435638,30.595832],[109.535421,30.664837],[109.543428,30.63961],[109.574225,30.646818],[109.590855,30.69366],[109.625348,30.702923],[109.661072,30.738936],[109.656761,30.760538],[109.701724,30.783677],[109.780564,30.848437],[109.828608,30.864364],[109.894513,30.899803],[109.943788,30.878746],[110.008462,30.883369],[110.019549,30.829425],[110.048498,30.800642],[110.082375,30.799614],[110.151976,30.911613],[110.153824,30.953708],[110.172918,30.978853],[110.140889,30.987062],[110.140273,31.030661],[110.120563,31.0322],[110.119947,31.088592],[110.147048,31.116776],[110.180309,31.121899],[110.200019,31.158779],[110.180309,31.179774],[110.155671,31.279564],[110.161831,31.314338],[110.118715,31.409899],[110.054042,31.410921],[110.036795,31.436966],[109.98752,31.474744],[109.94502,31.47066],[109.969658,31.508935],[109.894513,31.519139],[109.837847,31.555354],[109.727594,31.548214],[109.745456,31.598182],[109.76455,31.602769],[109.737449,31.628761],[109.731289,31.700582],[109.683246,31.719929],[109.622268,31.711783],[109.585928,31.726546],[109.549587,31.73011],[109.502776,31.716365],[109.446109,31.722983],[109.381436,31.705165],[109.281654,31.716874],[109.282885,31.743343],[109.253936,31.759628],[109.279806,31.776418],[109.27611,31.79931],[109.195422,31.817618],[109.191111,31.85575],[109.123357,31.892851],[109.085785,31.929428],[108.986619,31.980205],[108.902235,31.984774],[108.837561,32.039072],[108.78767,32.04871],[108.75133,32.076098],[108.734084,32.106519],[108.676801,32.10297],[108.585026,32.17189],[108.543758,32.177969],[108.509882,32.201266],[108.480317,32.182527],[108.399013,32.194176],[108.370063,32.172397],[108.379918,32.154158],[108.379918,32.154158],[108.379303,32.153652],[108.379303,32.153652],[108.399628,32.147065],[108.452599,32.090296],[108.42981,32.061391],[108.372527,32.077112],[108.344194,32.067477],[108.362056,32.035521],[108.329411,32.020299],[108.370063,31.988835],[108.351585,31.971575],[108.307238,31.997463],[108.259194,31.967006],[108.343578,31.860834],[108.386078,31.854226],[108.391005,31.829822],[108.429194,31.809482],[108.455063,31.814059],[108.462454,31.780488],[108.535135,31.757592],[108.50557,31.734182],[108.514809,31.693963],[108.546838,31.665442],[108.519121,31.665952],[108.468614,31.636404],[108.442744,31.633856],[108.390389,31.591555],[108.386078,31.544134],[108.339266,31.539033],[108.344194,31.512506],[108.254883,31.49873],[108.233941,31.506894],[108.191441,31.492096],[108.193289,31.467598],[108.224086,31.464024],[108.216079,31.41041],[108.153869,31.371073],[108.185898,31.336831],[108.095354,31.268311],[108.038688,31.252964],[108.031297,31.217144],[108.07626,31.231985],[108.089811,31.204859],[108.025753,31.116263],[108.009123,31.109602],[108.026985,31.061938],[108.060246,31.052197],[108.00358,31.025533],[107.983254,30.983983],[107.942602,30.989114],[107.948145,30.918802],[107.994956,30.908533],[107.956152,30.882855],[107.851443,30.792931],[107.788001,30.81966],[107.763979,30.817091],[107.760899,30.862823],[107.739957,30.884396],[107.693146,30.875665],[107.645103,30.821202],[107.57735,30.847924],[107.515756,30.854603],[107.483111,30.838675],[107.498509,30.809381],[107.454162,30.771851],[107.454162,30.771851],[107.424597,30.74048],[107.458473,30.704981],[107.477567,30.664837],[107.516987,30.644759],[107.485575,30.598408],[107.427676,30.547397],[107.443075,30.53348],[107.408582,30.521623],[107.368546,30.468508],[107.338981,30.386459],[107.288474,30.337402],[107.257677,30.267131],[107.221337,30.213878],[107.103076,30.090198],[107.080286,30.094341],[107.084598,30.063786],[107.058113,30.043066],[107.055649,30.040476],[107.054417,30.040994],[107.053801,30.043584],[107.02054,30.036849],[106.981736,30.08502],[106.976193,30.083467],[106.94478,30.037367],[106.913367,30.025451],[106.862244,30.033223],[106.83699,30.049801],[106.825904,30.03115],[106.825904,30.03115],[106.785252,30.01716],[106.732281,30.027005],[106.724274,30.058607],[106.699636,30.074145],[106.700252,30.111944],[106.672535,30.122297],[106.677462,30.156974],[106.631883,30.186464],[106.611557,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.612173,30.235596],[106.612173,30.235596],[106.612789,30.235596],[106.612789,30.235596],[106.642354,30.246454],[106.611557,30.292455],[106.560434,30.31519],[106.545035,30.296589],[106.49884,30.295556],[106.43971,30.308473],[106.428623,30.254725],[106.401521,30.242318],[106.349167,30.24542],[106.334384,30.225772],[106.306667,30.238182],[106.296196,30.205603],[106.264167,30.20974],[106.260471,30.19681],[106.232754,30.185947],[106.180399,30.233011],[106.168696,30.303823],[106.132356,30.323972],[106.132972,30.30279],[106.07261,30.333786],[106.031958,30.373551],[105.943263,30.372002],[105.900763,30.405042],[105.84656,30.410203],[105.825618,30.436006],[105.792357,30.427234],[105.760329,30.384393],[105.754785,30.342567],[105.714749,30.322939],[105.720292,30.252657],[105.720292,30.252657],[105.670401,30.254208],[105.624822,30.275918],[105.619894,30.234045],[105.662394,30.210258],[105.642684,30.186464],[105.56138,30.183878],[105.550909,30.179222],[105.536127,30.152834],[105.596489,30.159043],[105.574315,30.130579],[105.580474,30.129544],[105.582938,30.127474],[105.582938,30.12385],[105.642068,30.101072],[105.638988,30.076216],[105.676561,30.06793],[105.687032,30.038922],[105.719677,30.042548],[105.753553,30.018196],[105.723372,29.975177],[105.730763,29.95755],[105.70243,29.924879],[105.717213,29.893753],[105.738771,29.891159],[105.707974,29.840818],[105.610655,29.837184],[105.582938,29.819013],[105.574931,29.744216],[105.529351,29.707836],[105.481924,29.718232],[105.476996,29.674564],[105.419714,29.688082],[105.38091,29.628275],[105.347649,29.621512],[105.332867,29.592374],[105.296526,29.571035],[105.305149,29.53199],[105.337794,29.459064],[105.334099,29.441345],[105.387069,29.455416],[105.387069,29.455416],[105.399388,29.43874],[105.372903,29.421018],[105.426489,29.419454],[105.441888,29.400686],[105.418482,29.352185],[105.42033,29.31149],[105.465294,29.322969],[105.459134,29.288526],[105.513337,29.283306],[105.521344,29.264513],[105.557684,29.278608],[105.631597,29.280174],[105.647612,29.253027],[105.695039,29.287482],[105.712285,29.219082],[105.703662,29.176766],[105.728916,29.134432],[105.752321,29.129727],[105.728916,29.1062],[105.757865,29.069068],[105.74185,29.039249],[105.766488,29.013607],[105.762176,28.9911],[105.801596,28.958116],[105.797285,28.936121],[105.830546,28.944501],[105.852719,28.927217],[105.910002,28.920407],[105.969132,28.965971],[106.001161,28.973824],[106.040581,28.955498],[106.049204,28.906263],[106.070762,28.919884],[106.101559,28.898928],[106.14837,28.901548],[106.173008,28.920407],[106.206885,28.904691],[106.264783,28.845997],[106.245689,28.817686],[106.267863,28.779402],[106.274022,28.739004],[106.305435,28.704365],[106.304203,28.64976],[106.346703,28.583565],[106.33192,28.55308],[106.37442,28.525742]]],[[[109.105495,30.585529],[109.106111,30.61077],[109.09256,30.578831],[109.09872,30.579346],[109.101183,30.579346],[109.102415,30.580377],[109.105495,30.585529]]],[[[105.582938,30.12385],[105.582938,30.127474],[105.580474,30.129544],[105.574315,30.130579],[105.582938,30.12385]]],[[[109.09872,30.579346],[109.09256,30.578831],[109.103647,30.565949],[109.106111,30.570587],[109.09872,30.579346]]],[[[107.058113,30.043066],[107.053801,30.043584],[107.054417,30.040994],[107.055649,30.040476],[107.058113,30.043066]]]]}},{type:"Feature",properties:{adcode:51e4,name:"四川省",center:[104.065735,30.659462],centroid:[102.693453,30.674545],childrenNum:21,level:"province",parent:{adcode:1e5},subFeatureIndex:22,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[101.167885,27.198311],[101.170349,27.175421],[101.145095,27.103523],[101.157414,27.094999],[101.136472,27.023584],[101.228863,26.981992],[101.227015,26.959057],[101.264587,26.955323],[101.267667,26.903034],[101.311399,26.903034],[101.365602,26.883819],[101.399478,26.841642],[101.358826,26.771669],[101.387159,26.753501],[101.389623,26.723036],[101.435819,26.740675],[101.458608,26.731054],[101.445674,26.77434],[101.466,26.786629],[101.513427,26.768463],[101.453065,26.692563],[101.481398,26.673313],[101.461072,26.640687],[101.461688,26.606447],[101.402558,26.604841],[101.395783,26.591998],[101.422884,26.53151],[101.458608,26.49563],[101.506652,26.499915],[101.530057,26.467239],[101.565782,26.454381],[101.637847,26.388995],[101.635383,26.357361],[101.660636,26.346635],[101.64031,26.318745],[101.597195,26.303187],[101.586108,26.279579],[101.630455,26.224832],[101.690202,26.241473],[101.737013,26.219463],[101.773353,26.168448],[101.807846,26.156093],[101.796759,26.114723],[101.839875,26.082477],[101.835563,26.04592],[101.857737,26.049146],[101.899621,26.099139],[101.929186,26.105588],[101.954439,26.084627],[102.020961,26.096451],[102.080091,26.065275],[102.107808,26.068501],[102.152156,26.10935],[102.174946,26.146961],[102.242699,26.190468],[102.245163,26.212483],[102.349257,26.244694],[102.392372,26.296749],[102.440416,26.300505],[102.542046,26.338591],[102.570995,26.362723],[102.629509,26.336982],[102.638748,26.307479],[102.60056,26.250598],[102.659074,26.221611],[102.709581,26.210336],[102.739762,26.268846],[102.785342,26.298895],[102.833385,26.306406],[102.878964,26.364332],[102.893131,26.338591],[102.975667,26.340736],[102.998457,26.371839],[102.988602,26.413117],[102.989833,26.482775],[103.030485,26.485989],[103.052659,26.514374],[103.052659,26.555602],[103.035413,26.556673],[103.026174,26.664221],[103.005232,26.679195],[103.008312,26.710741],[102.983674,26.76686],[102.991681,26.775409],[102.966428,26.837904],[102.949181,26.843244],[102.896211,26.91264],[102.894979,27.001724],[102.870957,27.026782],[102.913457,27.133886],[102.904218,27.227584],[102.883276,27.258444],[102.883892,27.299401],[102.899906,27.317481],[102.941174,27.405711],[102.989833,27.367983],[103.055739,27.40943],[103.080992,27.396679],[103.141355,27.420586],[103.144434,27.450331],[103.19063,27.523596],[103.232514,27.56976],[103.2861,27.561802],[103.29226,27.632872],[103.349542,27.678459],[103.369868,27.708664],[103.393274,27.709194],[103.461027,27.779638],[103.487512,27.794992],[103.509686,27.843687],[103.502295,27.910343],[103.55465,27.978543],[103.515846,27.965329],[103.486281,28.033495],[103.459179,28.021345],[103.430846,28.044587],[103.470266,28.122204],[103.533092,28.168641],[103.573128,28.230877],[103.643961,28.260401],[103.692004,28.232459],[103.701859,28.198709],[103.740048,28.23615],[103.770845,28.233514],[103.828743,28.285173],[103.877402,28.316262],[103.85338,28.356822],[103.860156,28.383677],[103.828743,28.44],[103.829975,28.459995],[103.781931,28.525216],[103.802873,28.563068],[103.838598,28.587244],[103.833054,28.605109],[103.850917,28.66709],[103.887873,28.61982],[103.910047,28.631377],[103.953779,28.600906],[104.05972,28.6277],[104.09606,28.603533],[104.117618,28.634003],[104.170589,28.642932],[104.230951,28.635579],[104.252509,28.660788],[104.277147,28.631902],[104.314719,28.615617],[104.372617,28.649235],[104.425588,28.626649],[104.417581,28.598279],[104.375697,28.5946],[104.355987,28.555183],[104.323342,28.540989],[104.260516,28.536257],[104.267908,28.499448],[104.254357,28.403683],[104.282074,28.343128],[104.314103,28.306778],[104.343052,28.334173],[104.384936,28.329959],[104.392943,28.291497],[104.420045,28.269889],[104.44961,28.269889],[104.462544,28.241422],[104.442834,28.211366],[104.402182,28.202928],[104.406494,28.173389],[104.444682,28.16231],[104.448994,28.113758],[104.40095,28.091586],[104.373233,28.051454],[104.304248,28.050926],[104.30856,28.036136],[104.362762,28.012891],[104.40095,27.952114],[104.44961,27.927794],[104.508124,27.878078],[104.52537,27.889187],[104.573413,27.840512],[104.607906,27.857974],[104.63316,27.850567],[104.676275,27.880723],[104.743413,27.901881],[104.761891,27.884426],[104.796999,27.901352],[104.842579,27.900294],[104.888158,27.914574],[104.918339,27.938897],[104.903557,27.962158],[104.975006,28.020816],[104.980549,28.063073],[105.002107,28.064129],[105.061853,28.096866],[105.119752,28.07205],[105.168411,28.071522],[105.186889,28.054623],[105.167795,28.021345],[105.186273,27.995454],[105.218302,27.990698],[105.247867,28.009193],[105.270657,27.99704],[105.284823,27.935725],[105.233084,27.895534],[105.25957,27.827811],[105.313157,27.810874],[105.273736,27.794992],[105.293447,27.770637],[105.290367,27.712373],[105.308229,27.704955],[105.353809,27.748924],[105.44004,27.775402],[105.508409,27.769048],[105.560148,27.71979],[105.605112,27.715552],[105.62359,27.666269],[105.664242,27.683759],[105.720292,27.683759],[105.722756,27.706015],[105.76772,27.7182],[105.848408,27.707074],[105.868118,27.732504],[105.922937,27.746805],[105.92848,27.729855],[105.985146,27.749983],[106.023335,27.746805],[106.063987,27.776991],[106.120653,27.779638],[106.193334,27.75422],[106.242609,27.767459],[106.306667,27.808756],[106.337464,27.859033],[106.325145,27.898708],[106.304819,27.899237],[106.307899,27.936782],[106.328225,27.952643],[106.286341,28.007079],[106.246305,28.011835],[106.266631,28.066769],[106.206885,28.134343],[106.145291,28.162837],[106.093552,28.162837],[105.975907,28.107952],[105.943878,28.143314],[105.895219,28.119565],[105.860727,28.159672],[105.889676,28.237732],[105.848408,28.255656],[105.824386,28.306251],[105.78743,28.335753],[105.76464,28.308359],[105.76464,28.308359],[105.737539,28.30309],[105.730147,28.271997],[105.68888,28.284119],[105.639604,28.324164],[105.655003,28.362615],[105.643916,28.431053],[105.612503,28.438947],[105.62359,28.517854],[105.68272,28.534154],[105.693191,28.58882],[105.712901,28.586718],[105.74493,28.616668],[105.757249,28.590397],[105.78435,28.610889],[105.808372,28.599855],[105.884748,28.595126],[105.889676,28.670765],[105.937719,28.686517],[105.966668,28.761041],[106.001161,28.743727],[106.030726,28.694917],[106.085544,28.681792],[106.103407,28.636104],[106.14837,28.642932],[106.17116,28.629275],[106.184711,28.58882],[106.254928,28.539412],[106.2925,28.537309],[106.304819,28.505233],[106.349167,28.473674],[106.379348,28.479986],[106.37442,28.525742],[106.33192,28.55308],[106.346703,28.583565],[106.304203,28.64976],[106.305435,28.704365],[106.274022,28.739004],[106.267863,28.779402],[106.245689,28.817686],[106.264783,28.845997],[106.206885,28.904691],[106.173008,28.920407],[106.14837,28.901548],[106.101559,28.898928],[106.070762,28.919884],[106.049204,28.906263],[106.040581,28.955498],[106.001161,28.973824],[105.969132,28.965971],[105.910002,28.920407],[105.852719,28.927217],[105.830546,28.944501],[105.797285,28.936121],[105.801596,28.958116],[105.762176,28.9911],[105.766488,29.013607],[105.74185,29.039249],[105.757865,29.069068],[105.728916,29.1062],[105.752321,29.129727],[105.728916,29.134432],[105.703662,29.176766],[105.712285,29.219082],[105.695039,29.287482],[105.647612,29.253027],[105.631597,29.280174],[105.557684,29.278608],[105.521344,29.264513],[105.513337,29.283306],[105.459134,29.288526],[105.465294,29.322969],[105.42033,29.31149],[105.418482,29.352185],[105.441888,29.400686],[105.426489,29.419454],[105.372903,29.421018],[105.399388,29.43874],[105.387069,29.455416],[105.387069,29.455416],[105.334099,29.441345],[105.337794,29.459064],[105.305149,29.53199],[105.296526,29.571035],[105.332867,29.592374],[105.347649,29.621512],[105.38091,29.628275],[105.419714,29.688082],[105.476996,29.674564],[105.481924,29.718232],[105.529351,29.707836],[105.574931,29.744216],[105.582938,29.819013],[105.610655,29.837184],[105.707974,29.840818],[105.738771,29.891159],[105.717213,29.893753],[105.70243,29.924879],[105.730763,29.95755],[105.723372,29.975177],[105.753553,30.018196],[105.719677,30.042548],[105.687032,30.038922],[105.676561,30.06793],[105.638988,30.076216],[105.642068,30.101072],[105.582938,30.12385],[105.574315,30.130579],[105.596489,30.159043],[105.536127,30.152834],[105.550909,30.179222],[105.556453,30.187499],[105.558916,30.18543],[105.56138,30.183878],[105.642684,30.186464],[105.662394,30.210258],[105.619894,30.234045],[105.624822,30.275918],[105.670401,30.254208],[105.720292,30.252657],[105.720292,30.252657],[105.714749,30.322939],[105.754785,30.342567],[105.760329,30.384393],[105.792357,30.427234],[105.825618,30.436006],[105.84656,30.410203],[105.900763,30.405042],[105.943263,30.372002],[106.031958,30.373551],[106.07261,30.333786],[106.132972,30.30279],[106.132356,30.323972],[106.168696,30.303823],[106.180399,30.233011],[106.232754,30.185947],[106.260471,30.19681],[106.260471,30.204051],[106.260471,30.207672],[106.264167,30.20974],[106.296196,30.205603],[106.306667,30.238182],[106.334384,30.225772],[106.349167,30.24542],[106.401521,30.242318],[106.428623,30.254725],[106.43971,30.308473],[106.49884,30.295556],[106.545035,30.296589],[106.560434,30.31519],[106.611557,30.292455],[106.642354,30.246454],[106.612789,30.235596],[106.612789,30.235596],[106.612173,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.631883,30.186464],[106.677462,30.156974],[106.672535,30.122297],[106.700252,30.111944],[106.699636,30.074145],[106.724274,30.058607],[106.732281,30.027005],[106.785252,30.01716],[106.825904,30.03115],[106.825904,30.03115],[106.83699,30.049801],[106.862244,30.033223],[106.913367,30.025451],[106.94478,30.037367],[106.976193,30.083467],[106.975577,30.088127],[106.976809,30.088127],[106.977425,30.087609],[106.978656,30.087609],[106.979888,30.088127],[106.980504,30.087609],[106.981736,30.08502],[107.02054,30.036849],[107.053801,30.043584],[107.058113,30.043066],[107.084598,30.063786],[107.080286,30.094341],[107.103076,30.090198],[107.221337,30.213878],[107.257677,30.267131],[107.288474,30.337402],[107.338981,30.386459],[107.368546,30.468508],[107.408582,30.521623],[107.443075,30.53348],[107.427676,30.547397],[107.485575,30.598408],[107.516987,30.644759],[107.477567,30.664837],[107.458473,30.704981],[107.424597,30.74048],[107.454162,30.771851],[107.454162,30.771851],[107.498509,30.809381],[107.483111,30.838675],[107.515756,30.854603],[107.57735,30.847924],[107.645103,30.821202],[107.693146,30.875665],[107.739957,30.884396],[107.760899,30.862823],[107.763979,30.817091],[107.788001,30.81966],[107.851443,30.792931],[107.956152,30.882855],[107.994956,30.908533],[107.948145,30.918802],[107.942602,30.989114],[107.983254,30.983983],[108.00358,31.025533],[108.060246,31.052197],[108.026985,31.061938],[108.009123,31.109602],[108.025753,31.116263],[108.089811,31.204859],[108.07626,31.231985],[108.031297,31.217144],[108.038688,31.252964],[108.095354,31.268311],[108.185898,31.336831],[108.153869,31.371073],[108.216079,31.41041],[108.224086,31.464024],[108.193289,31.467598],[108.191441,31.492096],[108.233941,31.506894],[108.254883,31.49873],[108.344194,31.512506],[108.339266,31.539033],[108.386078,31.544134],[108.390389,31.591555],[108.442744,31.633856],[108.468614,31.636404],[108.519121,31.665952],[108.546838,31.665442],[108.514809,31.693963],[108.50557,31.734182],[108.535135,31.757592],[108.462454,31.780488],[108.455063,31.814059],[108.429194,31.809482],[108.391005,31.829822],[108.386078,31.854226],[108.343578,31.860834],[108.259194,31.967006],[108.307238,31.997463],[108.351585,31.971575],[108.370063,31.988835],[108.329411,32.020299],[108.362056,32.035521],[108.344194,32.067477],[108.372527,32.077112],[108.42981,32.061391],[108.452599,32.090296],[108.399628,32.147065],[108.379303,32.153652],[108.379303,32.153652],[108.379918,32.154158],[108.379918,32.154158],[108.370063,32.172397],[108.399013,32.194176],[108.480317,32.182527],[108.509882,32.201266],[108.507418,32.245819],[108.469846,32.270618],[108.414411,32.252399],[108.389773,32.263533],[108.310933,32.232152],[108.240716,32.274666],[108.179738,32.221521],[108.156948,32.239239],[108.143398,32.219495],[108.086731,32.233165],[108.018362,32.2119],[108.024521,32.177462],[107.979558,32.146051],[107.924739,32.197215],[107.890247,32.214432],[107.864377,32.201266],[107.812022,32.247844],[107.753508,32.338399],[107.707929,32.331826],[107.680827,32.397035],[107.648183,32.413709],[107.598291,32.411688],[107.527458,32.38238],[107.489886,32.425328],[107.456625,32.41775],[107.460937,32.453612],[107.438763,32.465732],[107.436299,32.529835],[107.382097,32.54043],[107.356843,32.506622],[107.313727,32.489965],[107.287858,32.457147],[107.263836,32.403099],[107.212097,32.428864],[107.189924,32.468256],[107.127098,32.482393],[107.080286,32.542448],[107.108004,32.600951],[107.098765,32.649338],[107.05996,32.686115],[107.066736,32.708779],[107.012533,32.721367],[106.912751,32.704247],[106.903512,32.721367],[106.854853,32.724388],[106.82344,32.705254],[106.793259,32.712807],[106.783404,32.735967],[106.733513,32.739491],[106.670071,32.694678],[106.626955,32.682086],[106.585687,32.68813],[106.517934,32.668485],[106.498224,32.649338],[106.451412,32.65992],[106.421231,32.616579],[106.389203,32.62666],[106.347935,32.671003],[106.301123,32.680071],[106.267863,32.673522],[106.254928,32.693671],[106.17424,32.6977],[106.120037,32.719856],[106.071378,32.758114],[106.07261,32.76365],[106.093552,32.82402],[106.071378,32.828546],[106.044277,32.864747],[106.011632,32.829552],[105.969132,32.849162],[105.93156,32.826032],[105.893371,32.838603],[105.849024,32.817985],[105.825002,32.824523],[105.822538,32.770192],[105.779423,32.750061],[105.768952,32.767676],[105.719061,32.759624],[105.677793,32.726402],[105.596489,32.69921],[105.585402,32.728919],[105.563844,32.724891],[105.555221,32.794343],[105.534279,32.790822],[105.524424,32.847654],[105.495475,32.873292],[105.49917,32.911986],[105.467757,32.930071],[105.414171,32.922034],[105.408011,32.885857],[105.38091,32.876307],[105.396308,32.85067],[105.396308,32.85067],[105.427721,32.784281],[105.454207,32.767173],[105.448663,32.732946],[105.368591,32.712807],[105.347033,32.68259],[105.297758,32.656897],[105.263265,32.652362],[105.219534,32.666469],[105.215222,32.63674],[105.185041,32.617587],[105.111128,32.593893],[105.0791,32.637244],[105.026745,32.650346],[104.925115,32.607505],[104.881999,32.600951],[104.845659,32.653873],[104.820405,32.662943],[104.795768,32.643292],[104.739717,32.635228],[104.696601,32.673522],[104.643015,32.661935],[104.592508,32.695685],[104.582653,32.722374],[104.526602,32.728416],[104.51182,32.753585],[104.458849,32.748551],[104.363994,32.822511],[104.294393,32.835586],[104.277147,32.90244],[104.288234,32.942628],[104.345516,32.940117],[104.378161,32.953174],[104.383704,32.994343],[104.426204,33.010906],[104.391711,33.035493],[104.337509,33.038002],[104.378161,33.109214],[104.351059,33.158828],[104.32827,33.223934],[104.323958,33.26898],[104.303632,33.304499],[104.333813,33.315502],[104.386168,33.298497],[104.420045,33.327004],[104.373849,33.345004],[104.292545,33.336505],[104.272219,33.391486],[104.22048,33.404477],[104.213089,33.446932],[104.180444,33.472895],[104.155191,33.542755],[104.176749,33.5996],[104.103452,33.663381],[104.046169,33.686291],[103.980264,33.670852],[103.861388,33.682307],[103.778236,33.658898],[103.690772,33.69376],[103.667983,33.685793],[103.645809,33.708697],[103.593454,33.716164],[103.563889,33.699735],[103.552186,33.671351],[103.520157,33.678323],[103.545411,33.719649],[103.518309,33.807213],[103.464723,33.80224],[103.434542,33.752993],[103.35447,33.743539],[103.278709,33.774387],[103.284868,33.80224],[103.24976,33.814175],[103.228202,33.79478],[103.165376,33.805721],[103.153673,33.819147],[103.181391,33.900649],[103.16476,33.929454],[103.1315,33.931937],[103.120413,33.953286],[103.157369,33.998944],[103.147514,34.036644],[103.119797,34.03466],[103.129652,34.065899],[103.178927,34.079779],[103.121644,34.112487],[103.124108,34.162022],[103.100087,34.181828],[103.052043,34.195194],[103.005848,34.184798],[102.973203,34.205588],[102.977515,34.252595],[102.949181,34.292159],[102.911609,34.312923],[102.85987,34.301058],[102.856791,34.270895],[102.798276,34.272874],[102.779798,34.236764],[102.728675,34.235774],[102.694799,34.198659],[102.664002,34.192719],[102.651067,34.165983],[102.598712,34.14766],[102.655994,34.113478],[102.649219,34.080275],[102.615958,34.099604],[102.511865,34.086222],[102.471213,34.072839],[102.437336,34.087214],[102.406539,34.033172],[102.392372,33.971651],[102.345561,33.969666],[102.315996,33.993983],[102.287047,33.977607],[102.248858,33.98654],[102.226069,33.963214],[102.16817,33.983066],[102.136142,33.965199],[102.25317,33.861399],[102.261177,33.821136],[102.243315,33.786823],[102.296286,33.783838],[102.324619,33.754486],[102.284583,33.719151],[102.342481,33.725622],[102.31538,33.665374],[102.346793,33.605582],[102.440416,33.574673],[102.477988,33.543254],[102.446575,33.53228],[102.461358,33.501345],[102.462589,33.449429],[102.447807,33.454922],[102.392988,33.404477],[102.368967,33.41247],[102.310452,33.397982],[102.296286,33.413969],[102.258098,33.409472],[102.218062,33.349503],[102.192192,33.337005],[102.217446,33.247961],[102.200815,33.223434],[102.160163,33.242956],[102.144765,33.273983],[102.117047,33.288492],[102.08933,33.227439],[102.08933,33.204908],[102.054838,33.189884],[101.99386,33.1999],[101.935345,33.186879],[101.921795,33.153817],[101.887302,33.135778],[101.865744,33.103198],[101.825708,33.119239],[101.841723,33.184876],[101.83002,33.213921],[101.770274,33.248962],[101.769658,33.26898],[101.877447,33.314502],[101.887302,33.383991],[101.915635,33.425957],[101.946432,33.442937],[101.906396,33.48188],[101.907012,33.539264],[101.884222,33.578163],[101.844186,33.602591],[101.831252,33.554726],[101.783208,33.556721],[101.769042,33.538765],[101.777665,33.533776],[101.769042,33.45592],[101.695745,33.433948],[101.663716,33.383991],[101.64955,33.323004],[101.677883,33.297497],[101.735781,33.279987],[101.709912,33.21292],[101.653861,33.162835],[101.661252,33.135778],[101.633535,33.101193],[101.557775,33.167344],[101.515275,33.192889],[101.487557,33.226938],[101.403174,33.225436],[101.386543,33.207412],[101.393935,33.157826],[101.381616,33.153316],[101.297232,33.262475],[101.217776,33.256469],[101.182668,33.26948],[101.156798,33.236449],[101.124769,33.221431],[101.11553,33.194893],[101.169733,33.10019],[101.143863,33.086151],[101.146327,33.056563],[101.184515,33.041514],[101.171581,33.009902],[101.183899,32.984304],[101.129081,32.989324],[101.134624,32.95217],[101.124153,32.909976],[101.178356,32.892892],[101.223935,32.855698],[101.237486,32.825026],[101.22332,32.725898],[101.157414,32.661431],[101.124769,32.658408],[101.077342,32.68259],[101.030531,32.660424],[100.99727,32.627668],[100.956618,32.621116],[100.93198,32.600447],[100.887633,32.632708],[100.834046,32.648835],[100.77122,32.643795],[100.690532,32.678056],[100.71209,32.645307],[100.710242,32.610026],[100.673286,32.628172],[100.661583,32.616075],[100.657887,32.546484],[100.645568,32.526303],[100.603069,32.553547],[100.54517,32.569687],[100.516837,32.632204],[100.470026,32.694678],[100.450932,32.694678],[100.420135,32.73194],[100.378251,32.698707],[100.399193,32.756101],[100.339447,32.719353],[100.258759,32.742511],[100.231041,32.696189],[100.229809,32.650346],[100.208252,32.606497],[100.189773,32.630692],[100.109701,32.640268],[100.088143,32.668988],[100.139266,32.724388],[100.117093,32.802392],[100.123252,32.837095],[100.064738,32.895907],[100.029629,32.895907],[100.038252,32.929066],[99.956332,32.948152],[99.947709,32.986814],[99.877492,33.045527],[99.877492,32.993339],[99.851007,32.941623],[99.805427,32.940619],[99.788181,32.956689],[99.764159,32.924545],[99.791877,32.883344],[99.766623,32.826032],[99.760464,32.769689],[99.717964,32.732443],[99.700718,32.76667],[99.646515,32.774721],[99.640355,32.790822],[99.589233,32.789312],[99.558436,32.839106],[99.45311,32.862233],[99.376118,32.899927],[99.353944,32.885354],[99.268944,32.878318],[99.24677,32.924043],[99.235067,32.982296],[99.214741,32.991332],[99.196263,33.035493],[99.124814,33.046028],[99.090322,33.079131],[99.024416,33.094675],[99.014561,33.081137],[98.971445,33.098185],[98.967134,33.115229],[98.92217,33.118738],[98.858728,33.150811],[98.804526,33.219428],[98.802062,33.270481],[98.759562,33.276985],[98.779888,33.370497],[98.736157,33.406975],[98.742316,33.477887],[98.725686,33.503341],[98.678258,33.522801],[98.648077,33.548741],[98.652389,33.595114],[98.622824,33.610067],[98.61728,33.637476],[98.6567,33.64744],[98.610505,33.682805],[98.582788,33.731595],[98.539672,33.746525],[98.51873,33.77389],[98.494092,33.768915],[98.492861,33.796272],[98.463295,33.848477],[98.434962,33.843009],[98.407245,33.867362],[98.425723,33.913066],[98.415252,33.956761],[98.440506,33.981577],[98.428187,34.029204],[98.396774,34.053008],[98.399854,34.085231],[98.344419,34.094648],[98.258188,34.083249],[98.206449,34.08424],[98.158405,34.107037],[98.098043,34.122892],[98.028442,34.122892],[97.95453,34.190739],[97.898479,34.209548],[97.8104,34.207568],[97.796849,34.199154],[97.796849,34.199154],[97.789458,34.182818],[97.789458,34.182818],[97.766668,34.158555],[97.665654,34.126855],[97.70261,34.036644],[97.652719,33.998448],[97.660111,33.956264],[97.629314,33.919523],[97.601596,33.929951],[97.52214,33.903133],[97.503662,33.912073],[97.460546,33.887236],[97.395257,33.889224],[97.398336,33.848477],[97.371851,33.842015],[97.373083,33.817655],[97.406344,33.795278],[97.422974,33.754984],[97.418046,33.728608],[97.435293,33.682307],[97.415583,33.605582],[97.450075,33.582152],[97.523372,33.577166],[97.511669,33.520805],[97.552321,33.465906],[97.625618,33.461412],[97.674893,33.432949],[97.754349,33.409972],[97.676125,33.341004],[97.622538,33.337005],[97.607756,33.263976],[97.548626,33.203907],[97.487648,33.168346],[97.498119,33.137783],[97.487032,33.107209],[97.517213,33.097683],[97.542466,33.035995],[97.499966,33.011408],[97.523988,32.988822],[97.438372,32.976271],[97.375547,32.956689],[97.347829,32.895907],[97.376163,32.886359],[97.392793,32.828546],[97.386018,32.77925],[97.429133,32.714318],[97.42359,32.70475],[97.48272,32.654377],[97.535075,32.638252],[97.543698,32.62162],[97.607756,32.614059],[97.616995,32.586329],[97.700763,32.53488],[97.730944,32.527312],[97.795617,32.521257],[97.80732,32.50006],[97.863986,32.499051],[97.880001,32.486431],[97.940363,32.482393],[98.079565,32.415224],[98.107283,32.391476],[98.125145,32.401077],[98.218768,32.342444],[98.208913,32.318171],[98.23047,32.262521],[98.218768,32.234683],[98.260035,32.208862],[98.303151,32.121726],[98.357354,32.087253],[98.404781,32.045159],[98.402933,32.026896],[98.434962,32.007613],[98.432498,31.922825],[98.399238,31.895899],[98.426339,31.856767],[98.414636,31.832365],[98.461448,31.800327],[98.508875,31.751995],[98.516882,31.717383],[98.545831,31.717383],[98.553839,31.660349],[98.619128,31.591555],[98.651157,31.57881],[98.696736,31.538523],[98.714599,31.508935],[98.844562,31.429817],[98.84333,31.416028],[98.887062,31.37465],[98.810685,31.306668],[98.805758,31.279052],[98.773113,31.249382],[98.691809,31.333253],[98.643766,31.338876],[98.616048,31.3036],[98.60373,31.257568],[98.62344,31.221238],[98.602498,31.192062],[98.675179,31.15417],[98.710287,31.1178],[98.712135,31.082954],[98.736772,31.049121],[98.774961,31.031174],[98.806374,30.995783],[98.797135,30.948575],[98.774345,30.908019],[98.797135,30.87926],[98.850105,30.849465],[98.904924,30.782649],[98.957895,30.765166],[98.963438,30.728134],[98.907388,30.698292],[98.92217,30.609225],[98.939417,30.598923],[98.926482,30.569556],[98.932025,30.521623],[98.965286,30.449937],[98.967134,30.33482],[98.986844,30.280569],[98.970829,30.260928],[98.993003,30.215429],[98.9813,30.182843],[98.989308,30.151799],[99.044742,30.079842],[99.036735,30.053945],[99.055213,29.958587],[99.068148,29.931621],[99.0238,29.846009],[99.018873,29.792009],[98.992387,29.677163],[99.014561,29.607464],[99.052133,29.563748],[99.044742,29.520013],[99.066916,29.421018],[99.058909,29.417368],[99.075539,29.316186],[99.114343,29.243628],[99.113727,29.221171],[99.105104,29.162656],[99.118039,29.100971],[99.113727,29.07273],[99.132206,28.94869],[99.123582,28.890021],[99.103872,28.841803],[99.114343,28.765763],[99.134053,28.734806],[99.126662,28.698066],[99.147604,28.640831],[99.183944,28.58882],[99.170394,28.566221],[99.191952,28.494714],[99.187024,28.44],[99.16485,28.425264],[99.200575,28.365774],[99.229524,28.350502],[99.237531,28.317842],[99.28927,28.286227],[99.306516,28.227714],[99.374886,28.18183],[99.412458,28.295186],[99.392748,28.318369],[99.437095,28.398419],[99.404451,28.44421],[99.426625,28.454207],[99.396444,28.491032],[99.403219,28.546246],[99.463581,28.549401],[99.466045,28.579886],[99.504233,28.619294],[99.540573,28.623497],[99.53195,28.677591],[99.553508,28.710664],[99.614486,28.740054],[99.609559,28.784122],[99.625573,28.81454],[99.676696,28.810345],[99.717964,28.846521],[99.722275,28.757369],[99.755536,28.701216],[99.79434,28.699116],[99.834992,28.660788],[99.834376,28.628225],[99.873181,28.631902],[99.875644,28.611939],[99.91876,28.599329],[99.985281,28.529422],[99.990209,28.47683],[100.073977,28.426317],[100.057346,28.368934],[100.136803,28.349975],[100.176223,28.325218],[100.147274,28.288862],[100.188541,28.252493],[100.153433,28.208202],[100.102926,28.201873],[100.091223,28.181302],[100.062274,28.193962],[100.033325,28.184467],[100.021006,28.147008],[100.05673,28.097922],[100.088759,28.029269],[100.120788,28.018703],[100.196549,27.936254],[100.170063,27.907699],[100.210715,27.87702],[100.30865,27.861149],[100.30865,27.830457],[100.28586,27.80611],[100.304954,27.788639],[100.311729,27.724028],[100.327744,27.72032],[100.350534,27.755809],[100.412127,27.816167],[100.442924,27.86644],[100.504518,27.852154],[100.511294,27.827811],[100.54517,27.809286],[100.609228,27.859033],[100.634482,27.915631],[100.681293,27.923035],[100.719481,27.858503],[100.707162,27.800816],[100.757053,27.770107],[100.775532,27.743098],[100.782307,27.691708],[100.848212,27.672099],[100.827886,27.615904],[100.854988,27.623858],[100.91227,27.521473],[100.901183,27.453517],[100.936908,27.469448],[100.95169,27.426961],[101.021907,27.332899],[101.026219,27.270679],[101.042233,27.22173],[101.071798,27.194585],[101.119226,27.208957],[101.167885,27.198311],[101.167885,27.198311]]],[[[106.264167,30.20974],[106.260471,30.207672],[106.260471,30.204051],[106.260471,30.19681],[106.264167,30.20974]]],[[[106.976809,30.088127],[106.975577,30.088127],[106.976193,30.083467],[106.981736,30.08502],[106.980504,30.087609],[106.979888,30.088127],[106.978656,30.087609],[106.977425,30.087609],[106.976809,30.088127]]],[[[105.558916,30.18543],[105.556453,30.187499],[105.550909,30.179222],[105.56138,30.183878],[105.558916,30.18543]]]]}},{type:"Feature",properties:{adcode:52e4,name:"贵州省",center:[106.713478,26.578343],centroid:[106.880455,26.826368],childrenNum:9,level:"province",parent:{adcode:1e5},subFeatureIndex:23,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[109.274262,28.494714],[109.23361,28.474726],[109.191726,28.471043],[109.153538,28.417369],[109.152306,28.349975],[109.117198,28.277795],[109.081473,28.247749],[109.101799,28.202401],[109.086401,28.184467],[109.026655,28.220331],[109.005713,28.162837],[108.929952,28.19027],[108.923793,28.217167],[108.89546,28.219804],[108.855424,28.199764],[108.821547,28.245113],[108.772888,28.212949],[108.738395,28.228241],[108.726692,28.282011],[108.761801,28.304143],[108.783359,28.380518],[108.759953,28.389995],[108.780279,28.42579],[108.746402,28.45105],[108.709446,28.501026],[108.700207,28.48209],[108.657091,28.47683],[108.640461,28.456838],[108.688504,28.422106],[108.697127,28.401051],[108.656475,28.359981],[108.667562,28.334173],[108.611512,28.324691],[108.580099,28.343128],[108.576403,28.38631],[108.609048,28.407368],[108.609664,28.43579],[108.586874,28.463678],[108.573939,28.531],[108.610896,28.539412],[108.604736,28.590922],[108.636149,28.621396],[108.575787,28.659738],[108.50249,28.63768],[108.501258,28.626649],[108.439049,28.634003],[108.332491,28.679166],[108.347274,28.736381],[108.385462,28.772058],[108.386078,28.803003],[108.352817,28.815589],[108.346658,28.859625],[108.357745,28.893165],[108.345426,28.943453],[108.319556,28.961258],[108.297999,29.045527],[108.306622,29.079006],[108.277673,29.091558],[108.256115,29.040295],[108.193289,29.072207],[108.150173,29.053375],[108.070717,29.086328],[108.026369,29.039772],[107.925971,29.032446],[107.908725,29.007327],[107.882855,29.00628],[107.867457,28.960211],[107.810175,28.984295],[107.823725,29.034016],[107.784921,29.048143],[107.810791,29.139137],[107.749197,29.199754],[107.700537,29.141228],[107.659885,29.162656],[107.605683,29.164747],[107.589052,29.150113],[107.570574,29.218037],[107.486806,29.174153],[107.441227,29.203934],[107.401807,29.184603],[107.408582,29.138091],[107.427676,29.128682],[107.412278,29.094696],[107.369778,29.091558],[107.395647,29.041341],[107.364235,29.00942],[107.396879,28.993718],[107.412894,28.960211],[107.441227,28.943977],[107.41351,28.911502],[107.383945,28.848618],[107.339597,28.845997],[107.327894,28.810869],[107.261373,28.792514],[107.24659,28.76209],[107.219489,28.772582],[107.210866,28.817686],[107.227496,28.836037],[107.194851,28.838134],[107.206554,28.868535],[107.14188,28.887925],[107.016229,28.882685],[107.019308,28.861722],[106.983584,28.851239],[106.988512,28.776254],[106.951555,28.766812],[106.923222,28.809821],[106.872099,28.777304],[106.845614,28.780975],[106.824056,28.756319],[106.86594,28.690192],[106.889345,28.695966],[106.866556,28.624548],[106.830831,28.623497],[106.807425,28.589346],[106.784636,28.626649],[106.756918,28.607211],[106.77786,28.563068],[106.73844,28.554657],[106.726121,28.51838],[106.747063,28.467361],[106.708259,28.450524],[106.697788,28.47683],[106.632499,28.503655],[106.564745,28.485247],[106.567825,28.523638],[106.615252,28.549401],[106.606629,28.593024],[106.63681,28.622972],[106.618332,28.645033],[106.651593,28.649235],[106.617716,28.66709],[106.6171,28.691242],[106.587535,28.691767],[106.56105,28.719062],[106.561666,28.756319],[106.474202,28.832891],[106.45326,28.817162],[106.461883,28.761041],[106.492064,28.742153],[106.528405,28.677591],[106.502535,28.661313],[106.49268,28.591448],[106.466811,28.586193],[106.504999,28.544669],[106.477282,28.530474],[106.403369,28.569901],[106.37442,28.525742],[106.379348,28.479986],[106.349167,28.473674],[106.304819,28.505233],[106.2925,28.537309],[106.254928,28.539412],[106.184711,28.58882],[106.17116,28.629275],[106.14837,28.642932],[106.103407,28.636104],[106.085544,28.681792],[106.030726,28.694917],[106.001161,28.743727],[105.966668,28.761041],[105.937719,28.686517],[105.889676,28.670765],[105.884748,28.595126],[105.808372,28.599855],[105.78435,28.610889],[105.757249,28.590397],[105.74493,28.616668],[105.712901,28.586718],[105.693191,28.58882],[105.68272,28.534154],[105.62359,28.517854],[105.612503,28.438947],[105.643916,28.431053],[105.655003,28.362615],[105.639604,28.324164],[105.68888,28.284119],[105.730147,28.271997],[105.737539,28.30309],[105.76464,28.308359],[105.76464,28.308359],[105.78743,28.335753],[105.824386,28.306251],[105.848408,28.255656],[105.889676,28.237732],[105.860727,28.159672],[105.895219,28.119565],[105.943878,28.143314],[105.975907,28.107952],[106.093552,28.162837],[106.145291,28.162837],[106.206885,28.134343],[106.266631,28.066769],[106.246305,28.011835],[106.286341,28.007079],[106.328225,27.952643],[106.307899,27.936782],[106.304819,27.899237],[106.325145,27.898708],[106.337464,27.859033],[106.306667,27.808756],[106.242609,27.767459],[106.193334,27.75422],[106.120653,27.779638],[106.063987,27.776991],[106.023335,27.746805],[105.985146,27.749983],[105.92848,27.729855],[105.922937,27.746805],[105.868118,27.732504],[105.848408,27.707074],[105.76772,27.7182],[105.722756,27.706015],[105.720292,27.683759],[105.664242,27.683759],[105.62359,27.666269],[105.605112,27.715552],[105.560148,27.71979],[105.508409,27.769048],[105.44004,27.775402],[105.353809,27.748924],[105.308229,27.704955],[105.29591,27.631811],[105.304533,27.611661],[105.25649,27.582491],[105.232469,27.546945],[105.260186,27.514573],[105.234316,27.489093],[105.233084,27.436522],[105.182577,27.367451],[105.184425,27.392959],[105.120984,27.418461],[105.068013,27.418461],[105.01073,27.379143],[104.913412,27.327051],[104.871528,27.290891],[104.851818,27.299401],[104.856746,27.332368],[104.824717,27.3531],[104.77113,27.317481],[104.7545,27.345658],[104.611602,27.306846],[104.570334,27.331836],[104.539537,27.327583],[104.497037,27.414743],[104.467472,27.414211],[104.363378,27.467855],[104.30856,27.407305],[104.295625,27.37436],[104.247582,27.336621],[104.248813,27.291955],[104.210625,27.297273],[104.173053,27.263232],[104.113923,27.338216],[104.084358,27.330773],[104.01722,27.383926],[104.015372,27.429086],[103.956242,27.425367],[103.932221,27.443958],[103.905119,27.38552],[103.903271,27.347785],[103.874322,27.331304],[103.865699,27.28185],[103.80041,27.26536],[103.801641,27.250464],[103.748671,27.210021],[103.696316,27.126429],[103.63349,27.12057],[103.620555,27.096598],[103.652584,27.092868],[103.659975,27.065692],[103.614396,27.079548],[103.601461,27.061962],[103.623635,27.035312],[103.623019,27.007056],[103.675374,27.051836],[103.704939,27.049171],[103.73204,27.018785],[103.753598,26.963858],[103.775156,26.951056],[103.763453,26.905702],[103.779468,26.87421],[103.722185,26.851253],[103.705555,26.794642],[103.725265,26.742812],[103.773308,26.716621],[103.759142,26.689355],[103.748671,26.623568],[103.763453,26.585041],[103.815808,26.55239],[103.819504,26.529903],[103.865699,26.512232],[103.953163,26.521336],[104.008597,26.511697],[104.067727,26.51491],[104.068343,26.573266],[104.121314,26.638012],[104.160734,26.646571],[104.222328,26.620358],[104.268524,26.617683],[104.274683,26.633733],[104.313487,26.612867],[104.353523,26.620893],[104.398487,26.686147],[104.424356,26.709137],[104.468088,26.644431],[104.459465,26.602701],[104.488414,26.579689],[104.556783,26.590393],[104.579573,26.568449],[104.57095,26.524549],[104.598667,26.520801],[104.638703,26.477954],[104.631928,26.451702],[104.665804,26.434019],[104.664572,26.397572],[104.684283,26.3772],[104.659645,26.335373],[104.592508,26.317672],[104.542616,26.253282],[104.548776,26.226979],[104.518595,26.165762],[104.52845,26.114186],[104.499501,26.070651],[104.460081,26.085702],[104.470552,26.009352],[104.438523,25.92757],[104.414501,25.909807],[104.441602,25.868889],[104.42374,25.841961],[104.397871,25.76168],[104.370769,25.730415],[104.328886,25.760602],[104.310407,25.647901],[104.332581,25.598796],[104.389248,25.595558],[104.428668,25.576126],[104.436059,25.520512],[104.418813,25.499447],[104.434827,25.472436],[104.44961,25.495126],[104.483486,25.494585],[104.524138,25.526992],[104.556783,25.524832],[104.543232,25.400556],[104.566638,25.402719],[104.615913,25.364871],[104.646094,25.356759],[104.639935,25.295632],[104.689826,25.296173],[104.736021,25.268034],[104.816094,25.262622],[104.826565,25.235558],[104.806854,25.224189],[104.822869,25.170037],[104.801927,25.163537],[104.753884,25.214443],[104.724319,25.195491],[104.732326,25.167871],[104.695369,25.122364],[104.685514,25.078466],[104.619609,25.060577],[104.684898,25.054072],[104.713232,24.996048],[104.663957,24.964584],[104.635623,24.903803],[104.586964,24.872859],[104.539537,24.813663],[104.542616,24.75607],[104.529682,24.731611],[104.595587,24.709323],[104.628848,24.660927],[104.703377,24.645698],[104.729246,24.617953],[104.771746,24.659839],[104.841963,24.676155],[104.865985,24.730524],[104.899245,24.752809],[105.03352,24.787586],[105.026745,24.815836],[105.039064,24.872859],[105.077868,24.918459],[105.09573,24.92877],[105.131454,24.959701],[105.157324,24.958616],[105.178266,24.985199],[105.212758,24.995505],[105.251563,24.967296],[105.267577,24.929313],[105.334099,24.9266],[105.365511,24.943423],[105.428337,24.930941],[105.457286,24.87123],[105.493011,24.833217],[105.497322,24.809318],[105.573083,24.797366],[105.607576,24.803885],[105.617431,24.78161],[105.70551,24.768569],[105.767104,24.719109],[105.827466,24.702799],[105.863806,24.729437],[105.942031,24.725088],[105.961741,24.677786],[106.024566,24.633186],[106.047356,24.684312],[106.113878,24.714216],[106.150218,24.762591],[106.173008,24.760417],[106.206269,24.851139],[106.197645,24.885889],[106.145291,24.954275],[106.191486,24.95319],[106.215508,24.981944],[106.253696,24.971094],[106.304819,24.973807],[106.332536,24.988454],[106.442173,25.019369],[106.450181,25.033468],[106.519782,25.054072],[106.551195,25.082802],[106.590615,25.08768],[106.63989,25.132658],[106.644817,25.164621],[106.691013,25.179245],[106.732281,25.162454],[106.764926,25.183036],[106.787715,25.17112],[106.853005,25.186827],[106.888113,25.181953],[106.904128,25.231768],[106.933077,25.250714],[106.975577,25.232851],[107.013765,25.275611],[107.012533,25.352973],[106.987896,25.358922],[106.963874,25.437852],[106.996519,25.442716],[107.015613,25.495666],[107.066736,25.50917],[107.064272,25.559391],[107.185612,25.578825],[107.205322,25.607971],[107.228728,25.604733],[107.232423,25.556691],[107.263836,25.543193],[107.336517,25.461089],[107.308184,25.432988],[107.318039,25.401637],[107.358691,25.393528],[107.375937,25.411908],[107.420901,25.392987],[107.409198,25.347024],[107.432604,25.289139],[107.481263,25.299961],[107.489886,25.276693],[107.472024,25.213902],[107.512676,25.209029],[107.576734,25.256668],[107.599523,25.250714],[107.632168,25.310241],[107.659885,25.316192],[107.661733,25.258833],[107.696226,25.219858],[107.700537,25.194408],[107.741805,25.24043],[107.762131,25.229061],[107.760283,25.188451],[107.789233,25.15487],[107.762747,25.125073],[107.839124,25.115861],[107.872384,25.141327],[107.928435,25.155954],[108.001732,25.196574],[108.080572,25.193867],[108.115065,25.210112],[108.143398,25.269658],[108.152021,25.324306],[108.142782,25.390825],[108.193289,25.405421],[108.162492,25.444878],[108.192673,25.458928],[108.251803,25.430286],[108.241332,25.46217],[108.280752,25.48],[108.308469,25.525912],[108.348506,25.536173],[108.359592,25.513491],[108.400244,25.491344],[108.418723,25.443257],[108.471693,25.458928],[108.585642,25.365952],[108.589338,25.335125],[108.625062,25.308076],[108.62999,25.335666],[108.600425,25.432448],[108.6072,25.491885],[108.634917,25.520512],[108.68912,25.533473],[108.658323,25.550212],[108.660787,25.584763],[108.68604,25.587462],[108.68912,25.623081],[108.724844,25.634952],[108.783975,25.628477],[108.799989,25.576666],[108.781511,25.554531],[108.814772,25.526992],[108.826474,25.550212],[108.890532,25.556151],[108.8893,25.543193],[108.949046,25.557231],[109.024807,25.51241],[109.088249,25.550752],[109.051908,25.566949],[109.030966,25.629556],[109.075314,25.693749],[109.07901,25.72071],[109.043285,25.738502],[109.007561,25.734728],[108.953974,25.686738],[108.953974,25.686738],[108.900387,25.682423],[108.896076,25.71424],[108.940423,25.740119],[108.963829,25.732572],[108.999553,25.765453],[108.989698,25.778926],[109.048213,25.790781],[109.077778,25.776771],[109.095024,25.80533],[109.143683,25.795092],[109.13198,25.762758],[109.147995,25.741736],[109.206509,25.788087],[109.207125,25.740119],[109.296436,25.71424],[109.340168,25.731493],[109.327849,25.76168],[109.339552,25.83442],[109.359262,25.836036],[109.396834,25.900117],[109.435022,25.93349],[109.408537,25.967392],[109.473211,26.006663],[109.48245,26.029788],[109.452885,26.055598],[109.449805,26.101826],[109.502776,26.096451],[109.513863,26.128157],[109.47629,26.148035],[109.439334,26.238789],[109.467051,26.313917],[109.442414,26.289774],[109.369733,26.277432],[109.351255,26.264016],[109.325385,26.29031],[109.285965,26.295676],[109.271183,26.327863],[109.29582,26.350389],[109.319842,26.418477],[109.38082,26.454381],[109.362342,26.472061],[109.385747,26.493487],[109.381436,26.518659],[109.407305,26.533116],[109.390675,26.598955],[109.35495,26.658873],[109.334008,26.646036],[109.306291,26.661012],[109.283501,26.698445],[109.35495,26.693098],[109.407305,26.719829],[109.447957,26.759913],[109.486761,26.759913],[109.47629,26.829894],[109.467051,26.83203],[109.452885,26.861932],[109.436254,26.892359],[109.555131,26.946788],[109.520022,27.058764],[109.497848,27.079548],[109.486761,27.053968],[109.454733,27.069423],[109.472595,27.134951],[109.441182,27.117907],[109.415312,27.154123],[109.358646,27.153058],[109.33524,27.139212],[109.264407,27.131755],[109.239154,27.14933],[109.21698,27.114711],[109.165857,27.066758],[109.101183,27.06889],[109.128901,27.122701],[109.032814,27.104056],[109.007561,27.08008],[108.940423,27.044907],[108.942887,27.017186],[108.942887,27.017186],[108.877597,27.01612],[108.79075,27.084343],[108.878829,27.106187],[108.926873,27.160512],[108.907778,27.204699],[108.963213,27.235565],[108.983539,27.26802],[109.053756,27.293551],[109.044517,27.331304],[109.103647,27.336621],[109.142451,27.418461],[109.141835,27.448207],[109.167089,27.41793],[109.202197,27.450331],[109.245313,27.41793],[109.300132,27.423774],[109.303211,27.47582],[109.404841,27.55066],[109.461508,27.567637],[109.451037,27.586204],[109.470131,27.62863],[109.45658,27.673689],[109.470747,27.680049],[109.414081,27.725087],[109.366653,27.721909],[109.37774,27.736741],[109.332777,27.782815],[109.346943,27.838396],[109.32169,27.868027],[109.30198,27.956343],[109.319842,27.988585],[109.362342,28.007608],[109.378972,28.034551],[109.335856,28.063073],[109.298284,28.036136],[109.314298,28.103729],[109.33832,28.141731],[109.340168,28.19027],[109.367885,28.254602],[109.388211,28.268307],[109.33524,28.293605],[109.317994,28.277795],[109.275494,28.313101],[109.268719,28.33786],[109.289045,28.373673],[109.264407,28.392628],[109.260712,28.46473],[109.274262,28.494714]]],[[[109.47629,26.829894],[109.486761,26.759913],[109.52187,26.749226],[109.522486,26.749226],[109.497232,26.815474],[109.513247,26.84004],[109.509551,26.877947],[109.486761,26.895562],[109.452885,26.861932],[109.467051,26.83203],[109.47629,26.829894]]],[[[109.528645,26.743881],[109.568065,26.726243],[109.597015,26.756173],[109.554515,26.73533],[109.528645,26.743881]]]]}},{type:"Feature",properties:{adcode:53e4,name:"云南省",center:[102.712251,25.040609],centroid:[101.485106,25.008643],childrenNum:16,level:"province",parent:{adcode:1e5},subFeatureIndex:24,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[105.308229,27.704955],[105.290367,27.712373],[105.293447,27.770637],[105.273736,27.794992],[105.313157,27.810874],[105.25957,27.827811],[105.233084,27.895534],[105.284823,27.935725],[105.270657,27.99704],[105.247867,28.009193],[105.218302,27.990698],[105.186273,27.995454],[105.167795,28.021345],[105.186889,28.054623],[105.168411,28.071522],[105.119752,28.07205],[105.061853,28.096866],[105.002107,28.064129],[104.980549,28.063073],[104.975006,28.020816],[104.903557,27.962158],[104.918339,27.938897],[104.888158,27.914574],[104.842579,27.900294],[104.796999,27.901352],[104.761891,27.884426],[104.743413,27.901881],[104.676275,27.880723],[104.63316,27.850567],[104.607906,27.857974],[104.573413,27.840512],[104.52537,27.889187],[104.508124,27.878078],[104.44961,27.927794],[104.40095,27.952114],[104.362762,28.012891],[104.30856,28.036136],[104.304248,28.050926],[104.373233,28.051454],[104.40095,28.091586],[104.448994,28.113758],[104.444682,28.16231],[104.406494,28.173389],[104.402182,28.202928],[104.442834,28.211366],[104.462544,28.241422],[104.44961,28.269889],[104.420045,28.269889],[104.392943,28.291497],[104.384936,28.329959],[104.343052,28.334173],[104.314103,28.306778],[104.282074,28.343128],[104.254357,28.403683],[104.267908,28.499448],[104.260516,28.536257],[104.323342,28.540989],[104.355987,28.555183],[104.375697,28.5946],[104.417581,28.598279],[104.425588,28.626649],[104.372617,28.649235],[104.314719,28.615617],[104.277147,28.631902],[104.252509,28.660788],[104.230951,28.635579],[104.170589,28.642932],[104.117618,28.634003],[104.09606,28.603533],[104.05972,28.6277],[103.953779,28.600906],[103.910047,28.631377],[103.887873,28.61982],[103.850917,28.66709],[103.833054,28.605109],[103.838598,28.587244],[103.802873,28.563068],[103.781931,28.525216],[103.829975,28.459995],[103.828743,28.44],[103.860156,28.383677],[103.85338,28.356822],[103.877402,28.316262],[103.828743,28.285173],[103.770845,28.233514],[103.740048,28.23615],[103.701859,28.198709],[103.692004,28.232459],[103.643961,28.260401],[103.573128,28.230877],[103.533092,28.168641],[103.470266,28.122204],[103.430846,28.044587],[103.459179,28.021345],[103.486281,28.033495],[103.515846,27.965329],[103.55465,27.978543],[103.502295,27.910343],[103.509686,27.843687],[103.487512,27.794992],[103.461027,27.779638],[103.393274,27.709194],[103.369868,27.708664],[103.349542,27.678459],[103.29226,27.632872],[103.2861,27.561802],[103.232514,27.56976],[103.19063,27.523596],[103.144434,27.450331],[103.141355,27.420586],[103.080992,27.396679],[103.055739,27.40943],[102.989833,27.367983],[102.941174,27.405711],[102.899906,27.317481],[102.883892,27.299401],[102.883276,27.258444],[102.904218,27.227584],[102.913457,27.133886],[102.870957,27.026782],[102.894979,27.001724],[102.896211,26.91264],[102.949181,26.843244],[102.966428,26.837904],[102.991681,26.775409],[102.983674,26.76686],[103.008312,26.710741],[103.005232,26.679195],[103.026174,26.664221],[103.035413,26.556673],[103.052659,26.555602],[103.052659,26.514374],[103.030485,26.485989],[102.989833,26.482775],[102.988602,26.413117],[102.998457,26.371839],[102.975667,26.340736],[102.893131,26.338591],[102.878964,26.364332],[102.833385,26.306406],[102.785342,26.298895],[102.739762,26.268846],[102.709581,26.210336],[102.659074,26.221611],[102.60056,26.250598],[102.638748,26.307479],[102.629509,26.336982],[102.570995,26.362723],[102.542046,26.338591],[102.440416,26.300505],[102.392372,26.296749],[102.349257,26.244694],[102.245163,26.212483],[102.242699,26.190468],[102.174946,26.146961],[102.152156,26.10935],[102.107808,26.068501],[102.080091,26.065275],[102.020961,26.096451],[101.954439,26.084627],[101.929186,26.105588],[101.899621,26.099139],[101.857737,26.049146],[101.835563,26.04592],[101.839875,26.082477],[101.796759,26.114723],[101.807846,26.156093],[101.773353,26.168448],[101.737013,26.219463],[101.690202,26.241473],[101.630455,26.224832],[101.586108,26.279579],[101.597195,26.303187],[101.64031,26.318745],[101.660636,26.346635],[101.635383,26.357361],[101.637847,26.388995],[101.565782,26.454381],[101.530057,26.467239],[101.506652,26.499915],[101.458608,26.49563],[101.422884,26.53151],[101.395783,26.591998],[101.402558,26.604841],[101.461688,26.606447],[101.461072,26.640687],[101.481398,26.673313],[101.453065,26.692563],[101.513427,26.768463],[101.466,26.786629],[101.445674,26.77434],[101.458608,26.731054],[101.435819,26.740675],[101.389623,26.723036],[101.387159,26.753501],[101.358826,26.771669],[101.399478,26.841642],[101.365602,26.883819],[101.311399,26.903034],[101.267667,26.903034],[101.264587,26.955323],[101.227015,26.959057],[101.228863,26.981992],[101.136472,27.023584],[101.157414,27.094999],[101.145095,27.103523],[101.170349,27.175421],[101.167885,27.198311],[101.167885,27.198311],[101.119226,27.208957],[101.071798,27.194585],[101.042233,27.22173],[101.026219,27.270679],[101.021907,27.332899],[100.95169,27.426961],[100.936908,27.469448],[100.901183,27.453517],[100.91227,27.521473],[100.854988,27.623858],[100.827886,27.615904],[100.848212,27.672099],[100.782307,27.691708],[100.775532,27.743098],[100.757053,27.770107],[100.707162,27.800816],[100.719481,27.858503],[100.681293,27.923035],[100.634482,27.915631],[100.609228,27.859033],[100.54517,27.809286],[100.511294,27.827811],[100.504518,27.852154],[100.442924,27.86644],[100.412127,27.816167],[100.350534,27.755809],[100.327744,27.72032],[100.311729,27.724028],[100.304954,27.788639],[100.28586,27.80611],[100.30865,27.830457],[100.30865,27.861149],[100.210715,27.87702],[100.170063,27.907699],[100.196549,27.936254],[100.120788,28.018703],[100.088759,28.029269],[100.05673,28.097922],[100.021006,28.147008],[100.033325,28.184467],[100.062274,28.193962],[100.091223,28.181302],[100.102926,28.201873],[100.153433,28.208202],[100.188541,28.252493],[100.147274,28.288862],[100.176223,28.325218],[100.136803,28.349975],[100.057346,28.368934],[100.073977,28.426317],[99.990209,28.47683],[99.985281,28.529422],[99.91876,28.599329],[99.875644,28.611939],[99.873181,28.631902],[99.834376,28.628225],[99.834992,28.660788],[99.79434,28.699116],[99.755536,28.701216],[99.722275,28.757369],[99.717964,28.846521],[99.676696,28.810345],[99.625573,28.81454],[99.609559,28.784122],[99.614486,28.740054],[99.553508,28.710664],[99.53195,28.677591],[99.540573,28.623497],[99.504233,28.619294],[99.466045,28.579886],[99.463581,28.549401],[99.403219,28.546246],[99.396444,28.491032],[99.426625,28.454207],[99.404451,28.44421],[99.437095,28.398419],[99.392748,28.318369],[99.412458,28.295186],[99.374886,28.18183],[99.306516,28.227714],[99.28927,28.286227],[99.237531,28.317842],[99.229524,28.350502],[99.200575,28.365774],[99.16485,28.425264],[99.187024,28.44],[99.191952,28.494714],[99.170394,28.566221],[99.183944,28.58882],[99.147604,28.640831],[99.126662,28.698066],[99.134053,28.734806],[99.114343,28.765763],[99.103872,28.841803],[99.123582,28.890021],[99.132206,28.94869],[99.113727,29.07273],[99.118039,29.100971],[99.105104,29.162656],[99.113727,29.221171],[99.037351,29.20759],[99.024416,29.188783],[98.9813,29.204978],[98.960974,29.165792],[98.967134,29.128159],[98.991771,29.105677],[99.013329,29.036632],[98.925866,28.978536],[98.917859,28.886877],[98.973909,28.864867],[98.972677,28.832367],[98.922786,28.823978],[98.912931,28.800906],[98.852569,28.798283],[98.827932,28.821356],[98.821772,28.920931],[98.786048,28.998952],[98.757714,29.004186],[98.70228,28.9644],[98.655469,28.976966],[98.624056,28.95864],[98.6567,28.910454],[98.643766,28.895261],[98.668403,28.843376],[98.652389,28.817162],[98.683802,28.740054],[98.666555,28.712239],[98.594491,28.667615],[98.637606,28.552029],[98.619128,28.50944],[98.625903,28.489455],[98.673947,28.478934],[98.693041,28.43158],[98.740468,28.348395],[98.746628,28.321003],[98.710287,28.288862],[98.712135,28.229296],[98.649925,28.200291],[98.625903,28.165475],[98.559382,28.182885],[98.494092,28.141203],[98.464527,28.151229],[98.428803,28.104785],[98.389383,28.114814],[98.389999,28.16442],[98.370289,28.18394],[98.37768,28.246167],[98.353042,28.293078],[98.317934,28.324691],[98.301303,28.384204],[98.208913,28.358401],[98.207681,28.330486],[98.231702,28.314681],[98.266811,28.242477],[98.21692,28.212949],[98.169492,28.206093],[98.17442,28.163365],[98.139311,28.142259],[98.160253,28.101089],[98.133152,27.990698],[98.143007,27.948942],[98.187355,27.939426],[98.205217,27.889716],[98.169492,27.851096],[98.215688,27.810874],[98.234166,27.690648],[98.283441,27.654608],[98.310542,27.583552],[98.317318,27.51935],[98.337644,27.508734],[98.388767,27.515104],[98.429419,27.549068],[98.430035,27.653547],[98.444201,27.665209],[98.474998,27.634462],[98.53536,27.620676],[98.554454,27.646126],[98.587099,27.587265],[98.583404,27.571351],[98.650541,27.567637],[98.662244,27.586734],[98.706591,27.553313],[98.685034,27.484315],[98.704744,27.462014],[98.686881,27.425367],[98.702896,27.412618],[98.706591,27.362136],[98.741084,27.330241],[98.734925,27.287168],[98.717062,27.271211],[98.723222,27.221198],[98.696121,27.211086],[98.713983,27.139744],[98.712751,27.075817],[98.765722,27.05077],[98.762642,27.018252],[98.732461,27.002257],[98.757098,26.877947],[98.730613,26.851253],[98.762026,26.798916],[98.746012,26.696841],[98.770033,26.690424],[98.762642,26.660478],[98.781736,26.620893],[98.773113,26.578083],[98.753403,26.559349],[98.757098,26.491881],[98.741084,26.432947],[98.750323,26.424372],[98.733693,26.350926],[98.681338,26.308016],[98.672715,26.239863],[98.713367,26.231274],[98.735541,26.185097],[98.712751,26.156093],[98.720142,26.127082],[98.661012,26.087852],[98.656084,26.139977],[98.632679,26.145887],[98.575396,26.118485],[98.602498,26.054523],[98.614201,25.968468],[98.637606,25.971696],[98.686881,25.925955],[98.705976,25.855426],[98.677642,25.816105],[98.640686,25.798864],[98.553839,25.845731],[98.529201,25.840884],[98.476846,25.77731],[98.461448,25.735267],[98.457752,25.682963],[98.409709,25.664084],[98.402317,25.593939],[98.326557,25.566409],[98.314854,25.543193],[98.247717,25.607971],[98.170724,25.620383],[98.189818,25.569108],[98.163949,25.524292],[98.131304,25.51025],[98.15779,25.457307],[98.137464,25.381633],[98.101123,25.388662],[98.099891,25.354055],[98.06971,25.311864],[98.006884,25.298338],[98.0075,25.279399],[97.940363,25.214985],[97.904023,25.216609],[97.875689,25.25721],[97.839349,25.27074],[97.796233,25.155954],[97.743262,25.078466],[97.719857,25.080634],[97.727864,25.04377],[97.716777,24.978147],[97.729712,24.908689],[97.785762,24.876117],[97.797465,24.845709],[97.765436,24.823984],[97.680437,24.827243],[97.652103,24.790846],[97.569567,24.765852],[97.547394,24.739221],[97.569567,24.708236],[97.570799,24.602719],[97.554785,24.490577],[97.530147,24.443187],[97.588662,24.435559],[97.669966,24.452993],[97.679821,24.401228],[97.716161,24.358711],[97.662574,24.339083],[97.665038,24.296544],[97.721089,24.295999],[97.767284,24.258357],[97.729712,24.227252],[97.72848,24.183585],[97.754349,24.163929],[97.748806,24.160653],[97.743262,24.159561],[97.730944,24.113685],[97.700763,24.093473],[97.697067,24.092927],[97.637321,24.04812],[97.628698,24.004938],[97.572647,23.983068],[97.529531,23.943146],[97.5283,23.926736],[97.618227,23.888438],[97.640401,23.866001],[97.647176,23.840823],[97.684132,23.876946],[97.718009,23.867643],[97.72848,23.895551],[97.763588,23.907041],[97.795617,23.951897],[97.8104,23.943146],[97.863371,23.978693],[97.896015,23.974319],[97.902175,24.014231],[97.984095,24.031177],[97.995182,24.04648],[98.091268,24.085824],[98.096196,24.08637],[98.123297,24.092927],[98.125761,24.092927],[98.132536,24.09238],[98.19721,24.09839],[98.219999,24.113685],[98.343187,24.098936],[98.37768,24.114232],[98.48239,24.122425],[98.487933,24.123517],[98.547063,24.128433],[98.593875,24.08036],[98.646229,24.106038],[98.681954,24.100029],[98.71891,24.127887],[98.818692,24.133348],[98.841482,24.126794],[98.876591,24.15137],[98.895069,24.098936],[98.807606,24.025164],[98.773729,24.022431],[98.727533,23.970491],[98.701048,23.981427],[98.673331,23.960647],[98.701048,23.946427],[98.68565,23.90157],[98.701664,23.834254],[98.669019,23.800857],[98.696121,23.784429],[98.784816,23.781691],[98.824236,23.727462],[98.811917,23.703354],[98.835939,23.683625],[98.847026,23.632097],[98.882134,23.620035],[98.882134,23.595358],[98.844562,23.578904],[98.80391,23.540504],[98.826084,23.470257],[98.874743,23.483431],[98.912315,23.426333],[98.920938,23.360971],[98.872895,23.329651],[98.906772,23.331849],[98.936953,23.309866],[98.928946,23.26589],[98.889525,23.209249],[98.906772,23.185595],[99.002242,23.160287],[99.057677,23.164689],[99.048438,23.11461],[99.106336,23.086536],[99.187024,23.100299],[99.255393,23.077727],[99.281879,23.101399],[99.3484,23.12892],[99.380429,23.099748],[99.440791,23.079379],[99.477747,23.083233],[99.528255,23.065614],[99.517168,23.006685],[99.533798,22.961507],[99.563363,22.925684],[99.531334,22.897019],[99.446951,22.934503],[99.43648,22.913557],[99.462965,22.844635],[99.401371,22.826434],[99.385357,22.761882],[99.326842,22.751396],[99.31514,22.737598],[99.339777,22.708894],[99.385973,22.57136],[99.359487,22.535435],[99.382277,22.493418],[99.297277,22.41156],[99.251698,22.393301],[99.278183,22.34626],[99.233836,22.296434],[99.235683,22.250468],[99.207966,22.232188],[99.175321,22.185647],[99.188256,22.162924],[99.156227,22.159599],[99.219669,22.110816],[99.294814,22.109152],[99.35456,22.095845],[99.400139,22.100281],[99.486987,22.128557],[99.516552,22.099726],[99.562747,22.113034],[99.578762,22.098617],[99.581841,22.103053],[99.648979,22.100835],[99.696406,22.067562],[99.762927,22.068117],[99.870101,22.029288],[99.871333,22.067007],[99.972347,22.053141],[99.965571,22.014309],[100.000064,21.973245],[99.982202,21.919401],[99.960028,21.907186],[99.944014,21.821097],[99.991441,21.703821],[100.049339,21.669899],[100.094303,21.702709],[100.131875,21.699929],[100.169447,21.663225],[100.107853,21.585337],[100.123252,21.565302],[100.131259,21.504066],[100.168831,21.482906],[100.184846,21.516315],[100.206404,21.509634],[100.235353,21.466756],[100.298795,21.477894],[100.349302,21.528564],[100.437381,21.533017],[100.48296,21.458958],[100.526692,21.471211],[100.579047,21.451717],[100.691764,21.510748],[100.730568,21.518542],[100.753358,21.555283],[100.789082,21.570867],[100.804481,21.609821],[100.847597,21.634856],[100.870386,21.67268],[100.896872,21.68269],[100.899335,21.684915],[100.936292,21.694368],[100.937524,21.693812],[101.015132,21.707157],[101.089661,21.773865],[101.123537,21.771642],[101.111835,21.746074],[101.116762,21.691032],[101.153102,21.669343],[101.169117,21.590345],[101.146943,21.560293],[101.209153,21.55751],[101.210385,21.509077],[101.225167,21.499055],[101.193138,21.473996],[101.194986,21.424979],[101.142631,21.409379],[101.183899,21.334699],[101.244877,21.302364],[101.246725,21.275598],[101.222088,21.234324],[101.290457,21.17853],[101.387775,21.225956],[101.439514,21.227072],[101.532521,21.252174],[101.601506,21.233208],[101.588572,21.191365],[101.605818,21.172392],[101.672339,21.194713],[101.703136,21.14616],[101.76473,21.147835],[101.794911,21.208104],[101.834331,21.204756],[101.833715,21.252731],[101.791832,21.285636],[101.745636,21.297345],[101.730238,21.336929],[101.749948,21.409379],[101.741324,21.482906],[101.772737,21.512975],[101.755491,21.538027],[101.754875,21.58478],[101.804766,21.577546],[101.828788,21.617054],[101.807846,21.644313],[101.780129,21.640975],[101.76781,21.716054],[101.747484,21.729953],[101.771506,21.833319],[101.740093,21.845541],[101.735165,21.875534],[101.700057,21.897191],[101.701288,21.938832],[101.666796,21.934391],[101.606434,21.967695],[101.626144,22.005986],[101.573789,22.115251],[101.602738,22.131883],[101.596579,22.161262],[101.547304,22.238282],[101.56455,22.269299],[101.625528,22.28259],[101.671723,22.372826],[101.648318,22.400494],[101.672339,22.47517],[101.715455,22.477935],[101.774585,22.506135],[101.824476,22.45692],[101.823244,22.42705],[101.862665,22.389427],[101.901469,22.384447],[101.907628,22.437007],[101.978461,22.427603],[102.046214,22.458026],[102.131214,22.430922],[102.145381,22.397727],[102.179257,22.430369],[102.270416,22.419858],[102.25625,22.457473],[102.322771,22.554227],[102.356648,22.563623],[102.404691,22.629925],[102.384365,22.679631],[102.43672,22.699508],[102.45951,22.762986],[102.510633,22.774574],[102.551285,22.743669],[102.569763,22.701164],[102.607335,22.730975],[102.657226,22.687913],[102.688639,22.70006],[102.80074,22.620534],[102.82353,22.623296],[102.880196,22.586832],[102.892515,22.533223],[102.930703,22.482359],[102.986754,22.477935],[103.030485,22.441432],[103.081608,22.454154],[103.071753,22.488441],[103.183238,22.558649],[103.161065,22.590147],[103.195557,22.648153],[103.220195,22.643734],[103.283021,22.678526],[103.288564,22.732078],[103.321209,22.777885],[103.323057,22.807678],[103.375411,22.794989],[103.441317,22.753052],[103.436389,22.6973],[103.457947,22.658646],[103.50907,22.601198],[103.529396,22.59291],[103.580519,22.66693],[103.567585,22.701164],[103.642113,22.794989],[103.740048,22.709446],[103.743127,22.697852],[103.766533,22.688465],[103.825047,22.615562],[103.863851,22.584069],[103.875554,22.565833],[103.894032,22.564728],[103.964865,22.502265],[104.009213,22.517745],[104.009213,22.575228],[104.022148,22.593463],[104.04309,22.67687],[104.045553,22.728215],[104.089901,22.768504],[104.117618,22.808781],[104.224176,22.826434],[104.261748,22.841877],[104.274067,22.828088],[104.256821,22.77347],[104.272835,22.73815],[104.323342,22.728767],[104.375697,22.690122],[104.422508,22.734838],[104.498885,22.774574],[104.527834,22.814298],[104.596203,22.846289],[104.674428,22.817056],[104.737869,22.825882],[104.732942,22.852356],[104.760659,22.862282],[104.772362,22.893711],[104.846275,22.926235],[104.860441,22.970874],[104.821021,23.032022],[104.804391,23.110207],[104.874608,23.123417],[104.882615,23.163589],[104.912796,23.175693],[104.949136,23.152033],[104.958991,23.188896],[105.093266,23.260942],[105.122215,23.247745],[105.181962,23.279084],[105.238012,23.26424],[105.260186,23.31811],[105.325475,23.390086],[105.353809,23.362069],[105.372903,23.317561],[105.416018,23.283482],[105.445584,23.292827],[105.50225,23.202648],[105.542902,23.184495],[105.526272,23.234548],[105.560148,23.257093],[105.593409,23.312614],[105.649459,23.346136],[105.699966,23.327453],[105.694423,23.363168],[105.637757,23.404366],[105.699966,23.40162],[105.758481,23.459826],[105.805908,23.467512],[105.815763,23.507031],[105.852103,23.526786],[105.89214,23.52514],[105.913081,23.499348],[105.935871,23.508678],[105.986378,23.489469],[105.999929,23.447748],[106.039965,23.484529],[106.071994,23.495506],[106.08616,23.524043],[106.141595,23.569579],[106.120653,23.605229],[106.149602,23.665538],[106.157609,23.724175],[106.136667,23.795381],[106.192102,23.824947],[106.173008,23.861622],[106.192718,23.879135],[106.157609,23.891174],[106.128044,23.956819],[106.091088,23.998924],[106.096631,24.018058],[106.053516,24.051399],[106.04982,24.089649],[106.011632,24.099482],[105.998081,24.120786],[105.963589,24.110954],[105.919241,24.122425],[105.901995,24.099482],[105.908154,24.069432],[105.89214,24.040468],[105.859495,24.056864],[105.841633,24.03063],[105.796669,24.023524],[105.802212,24.051945],[105.765256,24.073804],[105.739387,24.059596],[105.704278,24.0667],[105.649459,24.032816],[105.628518,24.126794],[105.594641,24.137718],[105.533663,24.130071],[105.493011,24.016965],[105.406163,24.043748],[105.395692,24.065607],[105.334099,24.094566],[105.320548,24.116416],[105.273121,24.092927],[105.292831,24.074896],[105.260186,24.061236],[105.20044,24.105491],[105.182577,24.167205],[105.229389,24.165567],[105.24294,24.208695],[105.215222,24.214699],[105.164715,24.288362],[105.196744,24.326541],[105.188121,24.347261],[105.138846,24.376701],[105.111744,24.37234],[105.106817,24.414853],[105.042759,24.442097],[104.979933,24.412673],[104.930042,24.411038],[104.914028,24.426296],[104.83642,24.446456],[104.784681,24.443732],[104.765587,24.45953],[104.74834,24.435559],[104.715695,24.441552],[104.703377,24.419757],[104.721239,24.340173],[104.70892,24.321087],[104.641783,24.367979],[104.610986,24.377246],[104.63008,24.397958],[104.616529,24.421937],[104.575877,24.424661],[104.550008,24.518894],[104.520443,24.535228],[104.489646,24.653313],[104.529682,24.731611],[104.542616,24.75607],[104.539537,24.813663],[104.586964,24.872859],[104.635623,24.903803],[104.663957,24.964584],[104.713232,24.996048],[104.684898,25.054072],[104.619609,25.060577],[104.685514,25.078466],[104.695369,25.122364],[104.732326,25.167871],[104.724319,25.195491],[104.753884,25.214443],[104.801927,25.163537],[104.822869,25.170037],[104.806854,25.224189],[104.826565,25.235558],[104.816094,25.262622],[104.736021,25.268034],[104.689826,25.296173],[104.639935,25.295632],[104.646094,25.356759],[104.615913,25.364871],[104.566638,25.402719],[104.543232,25.400556],[104.556783,25.524832],[104.524138,25.526992],[104.483486,25.494585],[104.44961,25.495126],[104.434827,25.472436],[104.418813,25.499447],[104.436059,25.520512],[104.428668,25.576126],[104.389248,25.595558],[104.332581,25.598796],[104.310407,25.647901],[104.328886,25.760602],[104.370769,25.730415],[104.397871,25.76168],[104.42374,25.841961],[104.441602,25.868889],[104.414501,25.909807],[104.438523,25.92757],[104.470552,26.009352],[104.460081,26.085702],[104.499501,26.070651],[104.52845,26.114186],[104.518595,26.165762],[104.548776,26.226979],[104.542616,26.253282],[104.592508,26.317672],[104.659645,26.335373],[104.684283,26.3772],[104.664572,26.397572],[104.665804,26.434019],[104.631928,26.451702],[104.638703,26.477954],[104.598667,26.520801],[104.57095,26.524549],[104.579573,26.568449],[104.556783,26.590393],[104.488414,26.579689],[104.459465,26.602701],[104.468088,26.644431],[104.424356,26.709137],[104.398487,26.686147],[104.353523,26.620893],[104.313487,26.612867],[104.274683,26.633733],[104.268524,26.617683],[104.222328,26.620358],[104.160734,26.646571],[104.121314,26.638012],[104.068343,26.573266],[104.067727,26.51491],[104.008597,26.511697],[103.953163,26.521336],[103.865699,26.512232],[103.819504,26.529903],[103.815808,26.55239],[103.763453,26.585041],[103.748671,26.623568],[103.759142,26.689355],[103.773308,26.716621],[103.725265,26.742812],[103.705555,26.794642],[103.722185,26.851253],[103.779468,26.87421],[103.763453,26.905702],[103.775156,26.951056],[103.753598,26.963858],[103.73204,27.018785],[103.704939,27.049171],[103.675374,27.051836],[103.623019,27.007056],[103.623635,27.035312],[103.601461,27.061962],[103.614396,27.079548],[103.659975,27.065692],[103.652584,27.092868],[103.620555,27.096598],[103.63349,27.12057],[103.696316,27.126429],[103.748671,27.210021],[103.801641,27.250464],[103.80041,27.26536],[103.865699,27.28185],[103.874322,27.331304],[103.903271,27.347785],[103.905119,27.38552],[103.932221,27.443958],[103.956242,27.425367],[104.015372,27.429086],[104.01722,27.383926],[104.084358,27.330773],[104.113923,27.338216],[104.173053,27.263232],[104.210625,27.297273],[104.248813,27.291955],[104.247582,27.336621],[104.295625,27.37436],[104.30856,27.407305],[104.363378,27.467855],[104.467472,27.414211],[104.497037,27.414743],[104.539537,27.327583],[104.570334,27.331836],[104.611602,27.306846],[104.7545,27.345658],[104.77113,27.317481],[104.824717,27.3531],[104.856746,27.332368],[104.851818,27.299401],[104.871528,27.290891],[104.913412,27.327051],[105.01073,27.379143],[105.068013,27.418461],[105.120984,27.418461],[105.184425,27.392959],[105.182577,27.367451],[105.233084,27.436522],[105.234316,27.489093],[105.260186,27.514573],[105.232469,27.546945],[105.25649,27.582491],[105.304533,27.611661],[105.29591,27.631811],[105.308229,27.704955]]]]}},{type:"Feature",properties:{adcode:54e4,name:"西藏自治区",center:[91.132212,29.660361],centroid:[88.388277,31.56375],childrenNum:7,level:"province",parent:{adcode:1e5},subFeatureIndex:25,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[89.711414,36.093272],[89.614711,36.109712],[89.594385,36.126632],[89.490291,36.151281],[89.375727,36.228078],[89.335075,36.23725],[89.292575,36.231457],[89.232213,36.295636],[89.198952,36.260417],[89.126887,36.254626],[89.10225,36.281164],[89.054822,36.291777],[89.013554,36.315409],[88.964279,36.318785],[88.926091,36.36458],[88.870657,36.348193],[88.838628,36.353496],[88.802903,36.33807],[88.783809,36.291777],[88.766563,36.292259],[88.690186,36.367954],[88.623665,36.389636],[88.618121,36.428168],[88.573158,36.461386],[88.498629,36.446463],[88.470912,36.48208],[88.41055,36.473418],[88.356963,36.477268],[88.366202,36.458016],[88.282434,36.470049],[88.241782,36.468605],[88.222688,36.447426],[88.182652,36.452721],[88.134609,36.427205],[88.092109,36.43539],[88.006494,36.430575],[87.983088,36.437797],[87.95845,36.408423],[87.919646,36.39349],[87.838342,36.383855],[87.826023,36.391563],[87.767509,36.3747],[87.731785,36.384818],[87.6203,36.360243],[87.570409,36.342409],[87.470626,36.354459],[87.460155,36.409868],[87.426895,36.42576],[87.386859,36.412757],[87.363453,36.420463],[87.348055,36.393008],[87.292004,36.358797],[87.193454,36.349158],[87.161425,36.325535],[87.149106,36.297565],[87.08628,36.310587],[87.051788,36.2966],[86.996353,36.308658],[86.943998,36.284058],[86.931064,36.265242],[86.887332,36.262829],[86.86331,36.299977],[86.836209,36.291294],[86.746282,36.291777],[86.69947,36.24449],[86.599072,36.222285],[86.531935,36.227113],[86.515305,36.205385],[86.454943,36.221319],[86.392733,36.206834],[86.35824,36.168676],[86.2794,36.170608],[86.248603,36.141616],[86.187625,36.130983],[86.182081,36.064734],[86.199944,36.047801],[86.173458,36.008113],[86.150668,36.00424],[86.129111,35.941761],[86.093386,35.906868],[86.090306,35.876809],[86.05335,35.842857],[86.035488,35.846738],[85.949256,35.778794],[85.903677,35.78462],[85.835308,35.771996],[85.811286,35.778794],[85.691178,35.751114],[85.65299,35.731199],[85.612953,35.651486],[85.566142,35.6403],[85.518715,35.680658],[85.373969,35.700101],[85.341324,35.753543],[85.271107,35.788989],[85.146071,35.742371],[85.053065,35.752086],[84.99455,35.737028],[84.973608,35.709334],[84.920022,35.696213],[84.798066,35.647595],[84.729081,35.613546],[84.704443,35.616951],[84.628067,35.595055],[84.570168,35.588242],[84.513502,35.564391],[84.448828,35.550272],[84.475929,35.516181],[84.45314,35.473303],[84.424191,35.466479],[84.333032,35.413821],[84.274517,35.404065],[84.200605,35.381135],[84.160569,35.359663],[84.140859,35.379184],[84.095895,35.362592],[84.077417,35.400163],[84.005968,35.422599],[83.906186,35.40309],[83.885244,35.367472],[83.79778,35.354783],[83.785462,35.36308],[83.677672,35.361128],[83.622238,35.335256],[83.599448,35.351366],[83.54155,35.341603],[83.540318,35.364056],[83.502745,35.360639],[83.449159,35.382111],[83.405427,35.380648],[83.333978,35.397236],[83.280391,35.401138],[83.251442,35.417722],[83.178145,35.38943],[83.127022,35.398699],[83.088834,35.425526],[83.067892,35.46258],[82.998907,35.484512],[82.971806,35.548324],[82.981661,35.599922],[82.956407,35.636409],[82.967494,35.667532],[82.894813,35.673852],[82.873871,35.688922],[82.795031,35.688436],[82.780249,35.666073],[82.731589,35.637868],[82.652133,35.67288],[82.628727,35.692324],[82.546192,35.708362],[82.501844,35.701073],[82.468583,35.717595],[82.424852,35.712736],[82.392823,35.656349],[82.336156,35.651486],[82.350323,35.611113],[82.328149,35.559523],[82.2992,35.544916],[82.263475,35.547837],[82.234526,35.520565],[82.189563,35.513258],[82.164925,35.495719],[82.086701,35.467454],[82.071302,35.450393],[82.034346,35.451855],[82.029419,35.426013],[82.05344,35.35039],[82.030034,35.321585],[81.99123,35.30547],[81.955506,35.307423],[81.927789,35.271275],[81.853876,35.25857],[81.804601,35.270786],[81.736847,35.26248],[81.68634,35.235599],[81.513261,35.23511],[81.504638,35.279092],[81.447972,35.318167],[81.441196,35.333303],[81.385762,35.335256],[81.363588,35.354783],[81.314313,35.337209],[81.285364,35.345508],[81.26627,35.322562],[81.219458,35.319144],[81.191741,35.36552],[81.142466,35.365032],[81.103662,35.386015],[81.09935,35.40748],[81.054387,35.402602],[81.031597,35.380648],[81.030981,35.337209],[81.002648,35.334768],[81.026053,35.31133],[80.963844,35.310842],[80.924423,35.330862],[80.894242,35.324027],[80.844351,35.345508],[80.759968,35.334768],[80.689135,35.339162],[80.690982,35.364544],[80.65649,35.393821],[80.599823,35.409431],[80.56841,35.391381],[80.532686,35.404553],[80.514824,35.391869],[80.444607,35.417235],[80.432904,35.449418],[80.375006,35.387966],[80.321419,35.38699],[80.286926,35.35283],[80.267832,35.295701],[80.362687,35.20871],[80.257977,35.203331],[80.223484,35.177409],[80.23026,35.147565],[80.118159,35.066293],[80.078123,35.076578],[80.031311,35.034447],[80.04363,35.022196],[80.02392,34.971209],[80.041782,34.943252],[80.034391,34.902033],[80.003594,34.895162],[79.996819,34.856375],[79.961094,34.862759],[79.926602,34.849499],[79.947544,34.821008],[79.898268,34.732035],[79.906892,34.683821],[79.866856,34.671517],[79.88595,34.642965],[79.84345,34.55725],[79.861312,34.528166],[79.801566,34.478847],[79.735661,34.471447],[79.699936,34.477861],[79.675914,34.451216],[79.58106,34.456151],[79.545335,34.476381],[79.504683,34.45467],[79.435082,34.447761],[79.363017,34.428018],[79.326677,34.44332],[79.274322,34.435916],[79.241677,34.415183],[79.179467,34.422588],[79.161605,34.441345],[79.072294,34.412714],[79.039033,34.421601],[79.0107,34.399877],[79.048888,34.348506],[79.039649,34.33467],[79.019939,34.313417],[78.981751,34.31836],[78.958345,34.230827],[78.941099,34.212022],[78.9257,34.155584],[78.910302,34.143202],[78.878273,34.163012],[78.828998,34.125369],[78.801897,34.137258],[78.737223,34.089692],[78.661462,34.086718],[78.656535,34.030196],[78.736607,33.999937],[78.744614,33.980585],[78.734143,33.918529],[78.762476,33.90959],[78.756317,33.8773],[78.766172,33.823124],[78.758165,33.790802],[78.779723,33.73259],[78.692259,33.676331],[78.684868,33.654415],[78.713201,33.623025],[78.755085,33.623025],[78.74215,33.55323],[78.816679,33.480882],[78.84994,33.419963],[78.896751,33.41247],[78.949722,33.376495],[78.9682,33.334505],[79.022403,33.323504],[79.041497,33.268479],[79.083997,33.245459],[79.072294,33.22844],[79.10925,33.200401],[79.152366,33.184375],[79.162221,33.165841],[79.139431,33.117735],[79.162837,33.01191],[79.204721,32.964724],[79.255844,32.942628],[79.227511,32.89038],[79.237982,32.846145],[79.225047,32.784281],[79.275554,32.778746],[79.301423,32.728919],[79.27309,32.678056],[79.299575,32.637244],[79.308199,32.596918],[79.272474,32.561113],[79.252148,32.516715],[79.190554,32.511669],[79.180083,32.492994],[79.135736,32.472295],[79.124649,32.416235],[79.103091,32.369744],[79.067982,32.380863],[79.005772,32.375304],[78.970664,32.331826],[78.904142,32.374798],[78.87273,32.40512],[78.81052,32.436441],[78.782186,32.480373],[78.760629,32.563635],[78.781571,32.608009],[78.74215,32.654881],[78.741534,32.703743],[78.6861,32.680071],[78.675013,32.658408],[78.628202,32.630188],[78.588782,32.637748],[78.577695,32.615067],[78.518564,32.605993],[78.500086,32.580782],[78.424942,32.565652],[78.395377,32.530339],[78.426174,32.502584],[78.472985,32.435431],[78.458818,32.379853],[78.483456,32.357106],[78.480992,32.329297],[78.508709,32.297939],[78.475449,32.236708],[78.430485,32.212407],[78.429869,32.194683],[78.469905,32.127808],[78.509941,32.147065],[78.527188,32.11463],[78.609107,32.052768],[78.60726,32.023851],[78.705194,31.988835],[78.762476,31.947203],[78.768636,31.92638],[78.739687,31.885228],[78.665158,31.851684],[78.654687,31.819144],[78.706426,31.778453],[78.763092,31.668499],[78.798817,31.675629],[78.806824,31.64099],[78.845628,31.609905],[78.833925,31.584927],[78.779723,31.545154],[78.740303,31.532912],[78.729832,31.478316],[78.755701,31.478316],[78.792041,31.435944],[78.760013,31.392531],[78.755085,31.355742],[78.795121,31.301043],[78.859179,31.289281],[78.865338,31.312804],[78.884432,31.277006],[78.923852,31.246824],[78.930628,31.220726],[78.997765,31.158779],[78.97436,31.115751],[79.010084,31.043994],[79.059359,31.028097],[79.096931,30.992192],[79.181931,31.015788],[79.205953,31.0004],[79.227511,30.949088],[79.33222,30.969103],[79.316206,31.01784],[79.35809,31.031174],[79.404901,31.071678],[79.424611,31.061425],[79.427075,31.018353],[79.505915,31.027584],[79.550879,30.957813],[79.59769,30.925989],[79.660516,30.956787],[79.668523,30.980392],[79.729501,30.941389],[79.75845,30.936769],[79.835443,30.851006],[79.890877,30.855116],[79.913051,30.833022],[79.900732,30.7991],[79.961094,30.771337],[79.955551,30.738422],[79.970333,30.685941],[80.014065,30.661748],[80.04363,30.603559],[80.143412,30.55822],[80.214245,30.586044],[80.261673,30.566465],[80.322035,30.564403],[80.357759,30.520592],[80.43044,30.515952],[80.446454,30.495327],[80.504969,30.483466],[80.549316,30.448905],[80.585041,30.463866],[80.633084,30.458707],[80.692214,30.416913],[80.719316,30.414848],[80.81725,30.321389],[80.910873,30.30279],[80.933662,30.266614],[80.996488,30.267648],[81.034677,30.246971],[81.038372,30.205086],[81.082104,30.151281],[81.085799,30.100554],[81.110437,30.085538],[81.09627,30.052909],[81.131995,30.016124],[81.225618,30.005759],[81.256415,30.011978],[81.247792,30.032705],[81.2829,30.061197],[81.293371,30.094859],[81.269349,30.153351],[81.335871,30.149729],[81.393769,30.199396],[81.397465,30.240767],[81.419023,30.270232],[81.406088,30.291938],[81.427646,30.305373],[81.399929,30.319323],[81.406088,30.369421],[81.432573,30.379231],[81.406704,30.40401],[81.418407,30.420525],[81.454131,30.412268],[81.494783,30.381296],[81.555761,30.369421],[81.566232,30.428782],[81.613044,30.412784],[81.63029,30.446842],[81.723913,30.407623],[81.759021,30.385426],[81.872354,30.373035],[81.939491,30.344633],[81.954274,30.355995],[81.99123,30.322939],[82.022027,30.339468],[82.060215,30.332237],[82.104563,30.346182],[82.132896,30.30434],[82.11873,30.279019],[82.114418,30.226806],[82.142135,30.200948],[82.188947,30.18543],[82.207425,30.143519],[82.183403,30.12178],[82.17786,30.06793],[82.246845,30.071555],[82.311519,30.035813],[82.333693,30.045138],[82.368185,30.014051],[82.412533,30.011978],[82.431011,29.989692],[82.474743,29.973622],[82.498148,29.947698],[82.560974,29.955476],[82.609017,29.886489],[82.64351,29.868846],[82.6238,29.834588],[82.703872,29.847566],[82.737749,29.80655],[82.691553,29.766037],[82.757459,29.761881],[82.774089,29.726548],[82.816589,29.717192],[82.830756,29.687562],[82.885574,29.689122],[82.9484,29.704718],[82.966878,29.658963],[83.011226,29.667804],[83.088834,29.604863],[83.12887,29.623593],[83.159667,29.61735],[83.164595,29.595496],[83.217565,29.60018],[83.266841,29.571035],[83.27608,29.505951],[83.325355,29.502826],[83.383253,29.42206],[83.415898,29.420496],[83.423289,29.361053],[83.450391,29.332883],[83.463941,29.285916],[83.492274,29.280174],[83.548941,29.201322],[83.57789,29.203934],[83.596368,29.174153],[83.656114,29.16736],[83.667201,29.200277],[83.727563,29.244672],[83.800244,29.249372],[83.82057,29.294267],[83.851367,29.294789],[83.911729,29.323491],[83.949301,29.312533],[83.986874,29.325057],[84.002272,29.291658],[84.052163,29.296877],[84.116837,29.286438],[84.130388,29.239972],[84.203068,29.239972],[84.197525,29.210202],[84.17104,29.19453],[84.176583,29.133909],[84.20738,29.118749],[84.192597,29.084236],[84.194445,29.045004],[84.224626,29.049189],[84.248648,29.030353],[84.228322,28.949738],[84.234481,28.889497],[84.268358,28.895261],[84.330568,28.859101],[84.340423,28.866963],[84.408176,28.85386],[84.404481,28.828173],[84.434046,28.823978],[84.445133,28.764189],[84.483321,28.735331],[84.557233,28.74635],[84.620059,28.732182],[84.650856,28.714338],[84.669334,28.680742],[84.699515,28.671816],[84.698284,28.633478],[84.773428,28.610363],[84.857196,28.567798],[84.896616,28.587244],[84.981616,28.586193],[84.995782,28.611414],[85.05676,28.674441],[85.126361,28.676016],[85.155926,28.643983],[85.195963,28.624022],[85.18426,28.587244],[85.189803,28.544669],[85.160238,28.49261],[85.108499,28.461047],[85.129441,28.377885],[85.113427,28.344708],[85.179948,28.324164],[85.209513,28.338914],[85.272339,28.282538],[85.349947,28.298347],[85.379512,28.274105],[85.415853,28.321003],[85.458969,28.332593],[85.520563,28.326798],[85.602483,28.295712],[85.601251,28.254075],[85.650526,28.283592],[85.682555,28.375779],[85.720743,28.372093],[85.753388,28.227714],[85.791576,28.195544],[85.854402,28.172334],[85.871648,28.124843],[85.898749,28.101617],[85.901213,28.053566],[85.980053,27.984357],[85.949256,27.937311],[86.002227,27.90717],[86.053966,27.900823],[86.125415,27.923035],[86.082915,28.018175],[86.086611,28.090002],[86.128495,28.086835],[86.140198,28.114814],[86.19132,28.167058],[86.223965,28.092642],[86.206103,28.084195],[86.231972,27.974315],[86.27324,27.976958],[86.308965,27.950528],[86.393349,27.926736],[86.414906,27.904526],[86.450015,27.908757],[86.475884,27.944713],[86.514689,27.954757],[86.513457,27.996511],[86.537478,28.044587],[86.55842,28.047757],[86.568891,28.103201],[86.60092,28.097922],[86.611391,28.069938],[86.647732,28.06941],[86.662514,28.092114],[86.700086,28.101617],[86.74813,28.089474],[86.768456,28.06941],[86.756753,28.032967],[86.827586,28.012363],[86.864542,28.022401],[86.885484,27.995983],[86.926752,27.985942],[86.935375,27.955286],[87.035157,27.946299],[87.080737,27.910872],[87.118309,27.840512],[87.173744,27.818284],[87.227946,27.812991],[87.249504,27.839454],[87.280917,27.845275],[87.317258,27.826753],[87.364069,27.824106],[87.421967,27.856916],[87.418272,27.825694],[87.45954,27.820931],[87.58088,27.859562],[87.598126,27.814579],[87.670191,27.832045],[87.668343,27.809815],[87.727473,27.802933],[87.77798,27.860091],[87.782292,27.890774],[87.826639,27.927794],[87.930733,27.909285],[87.982472,27.884426],[88.037291,27.901881],[88.090877,27.885484],[88.111819,27.864852],[88.137689,27.878607],[88.120442,27.915103],[88.156783,27.957929],[88.203594,27.943127],[88.242398,27.967444],[88.254101,27.939426],[88.357579,27.986471],[88.401311,27.976958],[88.43334,28.002852],[88.469064,28.009721],[88.498013,28.04089],[88.554064,28.027684],[88.565151,28.083139],[88.620585,28.091586],[88.645223,28.111119],[88.67602,28.068353],[88.764099,28.068353],[88.812142,28.018175],[88.842939,28.006023],[88.846635,27.921448],[88.864497,27.921448],[88.888519,27.846863],[88.863265,27.811932],[88.870657,27.743098],[88.850331,27.710783],[88.852178,27.671039],[88.816454,27.641354],[88.813374,27.606889],[88.770874,27.563924],[88.797976,27.521473],[88.783193,27.467324],[88.809063,27.405711],[88.838012,27.37808],[88.867577,27.3818],[88.901453,27.327583],[88.920548,27.325456],[88.911924,27.272807],[88.942105,27.261636],[88.984605,27.208957],[89.067757,27.240354],[89.077612,27.287168],[89.152757,27.319076],[89.182938,27.373829],[89.132431,27.441302],[89.095474,27.471572],[89.109025,27.537925],[89.163228,27.574534],[89.128735,27.611131],[89.131815,27.633402],[89.184786,27.673689],[89.238988,27.796581],[89.295655,27.84845],[89.375727,27.875962],[89.44348,27.968501],[89.461958,28.03191],[89.511233,28.086307],[89.541414,28.088418],[89.605472,28.161782],[89.720037,28.170224],[89.779167,28.197127],[89.789638,28.240895],[89.869094,28.221386],[89.901739,28.18183],[89.976268,28.189215],[90.017536,28.162837],[90.03355,28.136981],[90.07297,28.155451],[90.103151,28.141731],[90.124709,28.190797],[90.166593,28.187632],[90.189999,28.161782],[90.231882,28.144897],[90.297172,28.153868],[90.367389,28.088946],[90.384019,28.06096],[90.43699,28.063073],[90.47949,28.044587],[90.513983,28.062016],[90.569417,28.044059],[90.591591,28.021345],[90.701844,28.076274],[90.741264,28.053038],[90.802242,28.040362],[90.806554,28.015005],[90.853365,27.969029],[90.896481,27.946299],[90.96177,27.9537],[90.976553,27.935725],[90.96485,27.900294],[91.025828,27.857445],[91.113292,27.846333],[91.155175,27.894476],[91.147784,27.927794],[91.162567,27.968501],[91.216153,27.989113],[91.251878,27.970615],[91.309776,28.057791],[91.464993,28.002852],[91.490246,27.971672],[91.486551,27.937311],[91.552456,27.90717],[91.611586,27.891303],[91.618978,27.856916],[91.561079,27.855329],[91.544449,27.820401],[91.610355,27.819343],[91.642383,27.7664],[91.622673,27.692238],[91.570934,27.650897],[91.562311,27.627569],[91.582637,27.598933],[91.564775,27.58196],[91.585101,27.540578],[91.626985,27.509265],[91.663325,27.507142],[91.71876,27.467324],[91.753868,27.462545],[91.839484,27.489624],[91.946657,27.464138],[92.010715,27.474758],[92.021802,27.444489],[92.064918,27.391365],[92.125896,27.273339],[92.091403,27.264296],[92.071077,27.237694],[92.061222,27.190327],[92.032273,27.167967],[92.02673,27.108318],[92.043976,27.052902],[92.076005,27.041175],[92.124664,26.960124],[92.109265,26.854991],[92.197961,26.86994],[92.28604,26.892359],[92.404916,26.9025],[92.496691,26.921711],[92.549046,26.941453],[92.64698,26.952656],[92.682089,26.947855],[92.802813,26.895028],[92.909371,26.914241],[93.050421,26.883819],[93.111399,26.880082],[93.232739,26.906769],[93.56781,26.938252],[93.625092,26.955323],[93.747048,27.015587],[93.817265,27.025183],[93.841903,27.045973],[93.849294,27.168499],[93.970634,27.30525],[94.056866,27.375423],[94.147409,27.458297],[94.220705,27.536333],[94.277372,27.58143],[94.353132,27.578778],[94.399944,27.589386],[94.443675,27.585143],[94.478168,27.602116],[94.524979,27.596282],[94.660486,27.650367],[94.722696,27.683759],[94.78121,27.699127],[94.836645,27.728796],[94.88592,27.743098],[94.947514,27.792345],[95.015267,27.82887],[95.067006,27.840512],[95.28628,27.939955],[95.32878,28.017646],[95.352802,28.04089],[95.371896,28.110063],[95.39715,28.142259],[95.437802,28.161782],[95.528345,28.182885],[95.674322,28.254075],[95.740228,28.275159],[95.787655,28.270416],[95.832003,28.295186],[95.874502,28.29782],[95.899756,28.278322],[95.907763,28.241422],[95.936096,28.240368],[95.989067,28.198181],[96.074683,28.193434],[96.098088,28.212421],[96.194175,28.212949],[96.275479,28.228241],[96.298269,28.140148],[96.367254,28.118509],[96.398667,28.118509],[96.395587,28.143842],[96.426384,28.161782],[96.46334,28.143314],[96.499681,28.067297],[96.538485,28.075218],[96.623485,28.024514],[96.635188,27.994926],[96.690622,27.948942],[96.711564,27.9574],[96.784245,27.931495],[96.810114,27.890245],[96.849534,27.874375],[96.908049,27.884426],[96.972722,27.861149],[97.008447,27.807698],[97.049099,27.81405],[97.062649,27.742568],[97.097758,27.740979],[97.103301,27.780697],[97.167975,27.811932],[97.253591,27.891832],[97.303482,27.913516],[97.324424,27.880723],[97.386634,27.882839],[97.372467,27.907699],[97.379242,27.970087],[97.413119,28.01342],[97.378626,28.031382],[97.375547,28.062545],[97.320728,28.054095],[97.305945,28.071522],[97.340438,28.104785],[97.326887,28.132759],[97.352757,28.149646],[97.362612,28.199236],[97.349677,28.235623],[97.398336,28.238786],[97.402032,28.279903],[97.422358,28.297293],[97.461162,28.26778],[97.469169,28.30309],[97.518445,28.327852],[97.488879,28.347341],[97.485184,28.38631],[97.499966,28.428948],[97.521524,28.444736],[97.507974,28.46473],[97.521524,28.495766],[97.569567,28.541515],[97.60406,28.515225],[97.634857,28.532051],[97.68598,28.519958],[97.737103,28.465782],[97.738335,28.396313],[97.769748,28.3742],[97.801161,28.326798],[97.842429,28.326798],[97.871378,28.361561],[97.907718,28.363141],[98.020435,28.253548],[98.008116,28.214003],[98.03337,28.187105],[98.056775,28.202401],[98.090036,28.195544],[98.097427,28.166531],[98.139311,28.142259],[98.17442,28.163365],[98.169492,28.206093],[98.21692,28.212949],[98.266811,28.242477],[98.231702,28.314681],[98.207681,28.330486],[98.208913,28.358401],[98.301303,28.384204],[98.317934,28.324691],[98.353042,28.293078],[98.37768,28.246167],[98.370289,28.18394],[98.389999,28.16442],[98.389383,28.114814],[98.428803,28.104785],[98.464527,28.151229],[98.494092,28.141203],[98.559382,28.182885],[98.625903,28.165475],[98.649925,28.200291],[98.712135,28.229296],[98.710287,28.288862],[98.746628,28.321003],[98.740468,28.348395],[98.693041,28.43158],[98.673947,28.478934],[98.625903,28.489455],[98.619128,28.50944],[98.637606,28.552029],[98.594491,28.667615],[98.666555,28.712239],[98.683802,28.740054],[98.652389,28.817162],[98.668403,28.843376],[98.643766,28.895261],[98.6567,28.910454],[98.624056,28.95864],[98.655469,28.976966],[98.70228,28.9644],[98.757714,29.004186],[98.786048,28.998952],[98.821772,28.920931],[98.827932,28.821356],[98.852569,28.798283],[98.912931,28.800906],[98.922786,28.823978],[98.972677,28.832367],[98.973909,28.864867],[98.917859,28.886877],[98.925866,28.978536],[99.013329,29.036632],[98.991771,29.105677],[98.967134,29.128159],[98.960974,29.165792],[98.9813,29.204978],[99.024416,29.188783],[99.037351,29.20759],[99.113727,29.221171],[99.114343,29.243628],[99.075539,29.316186],[99.058909,29.417368],[99.066916,29.421018],[99.044742,29.520013],[99.052133,29.563748],[99.014561,29.607464],[98.992387,29.677163],[99.018873,29.792009],[99.0238,29.846009],[99.068148,29.931621],[99.055213,29.958587],[99.036735,30.053945],[99.044742,30.079842],[98.989308,30.151799],[98.9813,30.182843],[98.993003,30.215429],[98.970829,30.260928],[98.986844,30.280569],[98.967134,30.33482],[98.965286,30.449937],[98.932025,30.521623],[98.926482,30.569556],[98.939417,30.598923],[98.92217,30.609225],[98.907388,30.698292],[98.963438,30.728134],[98.957895,30.765166],[98.904924,30.782649],[98.850105,30.849465],[98.797135,30.87926],[98.774345,30.908019],[98.797135,30.948575],[98.806374,30.995783],[98.774961,31.031174],[98.736772,31.049121],[98.712135,31.082954],[98.710287,31.1178],[98.675179,31.15417],[98.602498,31.192062],[98.62344,31.221238],[98.60373,31.257568],[98.616048,31.3036],[98.643766,31.338876],[98.691809,31.333253],[98.773113,31.249382],[98.805758,31.279052],[98.810685,31.306668],[98.887062,31.37465],[98.84333,31.416028],[98.844562,31.429817],[98.714599,31.508935],[98.696736,31.538523],[98.651157,31.57881],[98.619128,31.591555],[98.553839,31.660349],[98.545831,31.717383],[98.516882,31.717383],[98.508875,31.751995],[98.461448,31.800327],[98.414636,31.832365],[98.426339,31.856767],[98.399238,31.895899],[98.432498,31.922825],[98.434962,32.007613],[98.402933,32.026896],[98.404781,32.045159],[98.357354,32.087253],[98.303151,32.121726],[98.260035,32.208862],[98.218768,32.234683],[98.23047,32.262521],[98.208913,32.318171],[98.218768,32.342444],[98.125145,32.401077],[98.107283,32.391476],[98.079565,32.415224],[97.940363,32.482393],[97.880001,32.486431],[97.863986,32.499051],[97.80732,32.50006],[97.795617,32.521257],[97.730944,32.527312],[97.684132,32.530339],[97.670582,32.51722],[97.540618,32.536899],[97.50243,32.530844],[97.463626,32.55506],[97.448843,32.586833],[97.411887,32.575235],[97.374315,32.546484],[97.3583,32.563635],[97.332431,32.542448],[97.334895,32.514192],[97.388481,32.501575],[97.341054,32.440987],[97.387865,32.427349],[97.424822,32.322723],[97.415583,32.296421],[97.371235,32.273148],[97.32196,32.303503],[97.299786,32.294904],[97.264062,32.182527],[97.271453,32.139971],[97.313953,32.130342],[97.293011,32.096887],[97.308409,32.076605],[97.258518,32.072041],[97.219714,32.109054],[97.201852,32.090296],[97.233881,32.063927],[97.214786,32.042623],[97.188301,32.055304],[97.169823,32.032984],[97.127323,32.044145],[97.028773,32.04871],[97.006599,32.067984],[96.935766,32.048203],[96.965947,32.008628],[96.941925,31.986297],[96.894498,32.013703],[96.863085,31.996448],[96.868629,31.964975],[96.824281,32.007613],[96.722651,32.013195],[96.742977,32.001016],[96.753448,31.944156],[96.776238,31.935015],[96.81073,31.894375],[96.794716,31.869474],[96.760223,31.860325],[96.765767,31.819144],[96.799027,31.792188],[96.840295,31.720438],[96.790404,31.698545],[96.778701,31.675629],[96.722651,31.686833],[96.691854,31.722474],[96.661057,31.705674],[96.615477,31.737236],[96.56805,31.711783],[96.519391,31.74945],[96.468884,31.769804],[96.435623,31.796258],[96.407906,31.845583],[96.389428,31.919777],[96.288414,31.919777],[96.253305,31.929936],[96.220044,31.905553],[96.188632,31.904028],[96.214501,31.876589],[96.202798,31.841008],[96.183088,31.835924],[96.178161,31.775401],[96.231131,31.749959],[96.222508,31.733164],[96.252073,31.697527],[96.245298,31.657802],[96.221892,31.647613],[96.207726,31.598691],[96.156603,31.602769],[96.148595,31.686324],[96.135661,31.70211],[96.064828,31.720438],[95.989067,31.78761],[95.983524,31.816601],[95.89914,31.81711],[95.846169,31.736218],[95.853561,31.714329],[95.823995,31.68225],[95.779648,31.748941],[95.634286,31.782523],[95.580083,31.76726],[95.546823,31.73978],[95.511714,31.750468],[95.480301,31.795749],[95.456896,31.801853],[95.406389,31.896915],[95.408852,31.918761],[95.3682,31.92892],[95.360809,31.95939],[95.395918,32.001523],[95.454432,32.007613],[95.421171,32.033999],[95.454432,32.061898],[95.440265,32.157705],[95.406389,32.182021],[95.367584,32.178982],[95.366968,32.151118],[95.31523,32.148585],[95.270266,32.194683],[95.270266,32.194683],[95.239469,32.287315],[95.241317,32.3207],[95.214216,32.321712],[95.20744,32.297433],[95.10581,32.258979],[95.079325,32.279726],[95.096571,32.322217],[95.193274,32.332331],[95.261643,32.348006],[95.228382,32.363678],[95.218527,32.397035],[95.153853,32.386423],[95.081789,32.384907],[95.075013,32.376315],[95.075013,32.376315],[95.057151,32.395014],[94.988166,32.422802],[94.944434,32.404109],[94.912405,32.41573],[94.889616,32.472295],[94.852043,32.463712],[94.80708,32.486431],[94.78737,32.522266],[94.762116,32.526303],[94.737479,32.587338],[94.638312,32.645307],[94.614291,32.673522],[94.591501,32.640772],[94.522516,32.595909],[94.459074,32.599439],[94.463386,32.572209],[94.435052,32.562626],[94.395016,32.594397],[94.371611,32.524789],[94.350053,32.533871],[94.294002,32.519743],[94.292154,32.502584],[94.250886,32.51722],[94.196684,32.51621],[94.176974,32.454117],[94.137554,32.433915],[94.091974,32.463207],[94.049474,32.469771],[94.03038,32.448057],[93.978641,32.459672],[93.960163,32.484917],[93.90904,32.463207],[93.861613,32.466237],[93.851142,32.50965],[93.820345,32.549511],[93.75136,32.56313],[93.721795,32.578261],[93.651577,32.571705],[93.618933,32.522771],[93.516687,32.47583],[93.501904,32.503593],[93.476651,32.504603],[93.4631,32.556069],[93.411977,32.558086],[93.385492,32.525294],[93.33868,32.5712],[93.308499,32.580278],[93.300492,32.619604],[93.260456,32.62666],[93.239514,32.662439],[93.210565,32.655385],[93.176688,32.6705],[93.159442,32.644803],[93.087993,32.63674],[93.069515,32.626156],[93.023935,32.703239],[93.019624,32.737477],[93.00053,32.741001],[92.964189,32.714821],[92.933392,32.719353],[92.866871,32.698203],[92.822523,32.729926],[92.789262,32.719856],[92.756618,32.743014],[92.686401,32.76516],[92.667922,32.73194],[92.634662,32.720863],[92.574916,32.741001],[92.56814,32.73194],[92.484372,32.745028],[92.459119,32.76365],[92.411076,32.748048],[92.355641,32.764657],[92.343938,32.738484],[92.310062,32.751571],[92.255243,32.720863],[92.198577,32.754591],[92.211511,32.788306],[92.193649,32.801889],[92.227526,32.821003],[92.205352,32.866255],[92.145606,32.885857],[92.101874,32.860222],[92.038432,32.860725],[92.018722,32.829552],[91.955897,32.8205],[91.896766,32.907967],[91.857962,32.90244],[91.839484,32.948152],[91.799448,32.942126],[91.752637,32.969242],[91.685499,32.989324],[91.664557,33.012913],[91.583253,33.0375],[91.55492,33.060074],[91.535826,33.10019],[91.49579,33.109214],[91.436044,33.066092],[91.370138,33.100691],[91.311624,33.108211],[91.261733,33.141291],[91.226624,33.141792],[91.18782,33.106206],[91.161335,33.108712],[91.147784,33.07211],[91.072024,33.113224],[91.037531,33.098686],[91.001807,33.11573],[90.927894,33.120241],[90.902024,33.083143],[90.88293,33.120241],[90.803474,33.114227],[90.740032,33.142293],[90.704308,33.135778],[90.627315,33.180368],[90.562642,33.229441],[90.490577,33.264977],[90.405577,33.260473],[90.363077,33.279487],[90.332896,33.310501],[90.246665,33.423959],[90.22018,33.437943],[90.107463,33.460913],[90.088984,33.478885],[90.083441,33.525295],[90.01076,33.553728],[89.984275,33.612061],[90.008296,33.687785],[89.981195,33.70322],[89.983659,33.725622],[89.907282,33.741051],[89.902355,33.758467],[89.942391,33.801246],[89.899891,33.80771],[89.837065,33.868853],[89.795181,33.865374],[89.73174,33.921509],[89.718805,33.946832],[89.688008,33.959739],[89.684928,33.990013],[89.635037,34.049537],[89.656595,34.057966],[89.655979,34.097126],[89.71203,34.131809],[89.756993,34.124874],[89.760073,34.152613],[89.789638,34.150632],[89.816739,34.16945],[89.838297,34.263477],[89.825362,34.293642],[89.86663,34.324785],[89.858623,34.359375],[89.820435,34.369255],[89.799493,34.39642],[89.819819,34.420614],[89.823515,34.455657],[89.814891,34.548871],[89.777935,34.574499],[89.798877,34.628686],[89.74837,34.641981],[89.72558,34.660689],[89.732356,34.732035],[89.799493,34.743838],[89.825978,34.796931],[89.867862,34.81069],[89.838913,34.865705],[89.814891,34.86816],[89.821051,34.902033],[89.78779,34.921664],[89.747138,34.903506],[89.707102,34.919701],[89.670146,34.887798],[89.578987,34.895162],[89.560509,34.938836],[89.59069,35.057965],[89.593153,35.104491],[89.579603,35.118688],[89.519241,35.133862],[89.46935,35.214577],[89.450255,35.223867],[89.48598,35.256616],[89.531559,35.276161],[89.494603,35.298632],[89.516161,35.330862],[89.497067,35.361128],[89.58761,35.383575],[89.619639,35.412357],[89.658443,35.425526],[89.685544,35.416259],[89.739131,35.468429],[89.765,35.482563],[89.740979,35.507412],[89.720037,35.501566],[89.699711,35.544916],[89.71203,35.581915],[89.75145,35.580942],[89.765616,35.599922],[89.726196,35.648082],[89.748986,35.66267],[89.747138,35.7516],[89.782863,35.773453],[89.767464,35.799183],[89.801957,35.848193],[89.778551,35.861775],[89.707718,35.849163],[89.654747,35.848193],[89.62395,35.859349],[89.550654,35.856924],[89.554965,35.873414],[89.489676,35.903475],[89.428082,35.917531],[89.434857,35.992136],[89.404676,36.016827],[89.417611,36.044897],[89.474893,36.022151],[89.605472,36.038123],[89.688624,36.091337],[89.711414,36.093272]]]]}},{type:"Feature",properties:{adcode:61e4,name:"陕西省",center:[108.948024,34.263161],centroid:[108.887114,35.263661],childrenNum:10,level:"province",parent:{adcode:1e5},subFeatureIndex:26,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[110.379257,34.600612],[110.29549,34.610956],[110.269004,34.629671],[110.229584,34.692679],[110.243135,34.725641],[110.246831,34.789068],[110.230816,34.880925],[110.262229,34.944233],[110.320743,35.00504],[110.373714,35.134351],[110.364475,35.197952],[110.378642,35.210666],[110.374946,35.251728],[110.45009,35.327933],[110.477808,35.413821],[110.531394,35.511309],[110.567735,35.539559],[110.589293,35.602355],[110.609619,35.632031],[110.57759,35.701559],[110.571431,35.800639],[110.550489,35.838005],[110.549257,35.877778],[110.511684,35.879718],[110.516612,35.918501],[110.502445,35.947575],[110.516612,35.971796],[110.49259,35.994073],[110.491974,36.034735],[110.467953,36.074893],[110.447011,36.164328],[110.45625,36.22663],[110.474112,36.248352],[110.474112,36.306729],[110.459946,36.327946],[110.487047,36.393972],[110.489511,36.430094],[110.47288,36.453203],[110.503677,36.488335],[110.488895,36.556628],[110.496902,36.582102],[110.447627,36.621018],[110.426685,36.657514],[110.394656,36.676716],[110.402663,36.697352],[110.438388,36.685835],[110.447011,36.737649],[110.407591,36.776007],[110.423605,36.818179],[110.406975,36.824886],[110.424221,36.855539],[110.376178,36.882351],[110.408823,36.892403],[110.424221,36.963685],[110.381721,37.002408],[110.382953,37.022001],[110.426685,37.008621],[110.417446,37.027257],[110.460561,37.044932],[110.49567,37.086956],[110.535706,37.115118],[110.53509,37.138021],[110.590525,37.187145],[110.651503,37.256722],[110.661974,37.281963],[110.690307,37.287201],[110.678604,37.317668],[110.695234,37.34955],[110.641648,37.360015],[110.630561,37.372858],[110.644111,37.435135],[110.740198,37.44939],[110.759292,37.474567],[110.770995,37.538184],[110.795017,37.558586],[110.771611,37.594634],[110.763604,37.639668],[110.793169,37.650567],[110.775306,37.680886],[110.706321,37.705511],[110.716792,37.728708],[110.750669,37.736281],[110.735886,37.77035],[110.680452,37.790216],[110.59422,37.922049],[110.522771,37.955088],[110.528315,37.990471],[110.507989,38.013107],[110.501829,38.097929],[110.519692,38.130889],[110.509221,38.192061],[110.528315,38.211814],[110.565887,38.215105],[110.57759,38.297345],[110.601612,38.308147],[110.661358,38.308617],[110.701394,38.353215],[110.746973,38.366355],[110.77777,38.440924],[110.796864,38.453579],[110.840596,38.439986],[110.874473,38.453579],[110.870777,38.510265],[110.907733,38.521035],[110.920052,38.581878],[110.898494,38.587024],[110.880632,38.626776],[110.916357,38.673981],[110.915125,38.704345],[110.965016,38.755699],[111.009363,38.847579],[110.995813,38.868084],[111.016755,38.889981],[111.009979,38.932823],[110.980414,38.970056],[110.998276,38.998433],[111.038313,39.020289],[111.094363,39.030053],[111.138095,39.064447],[111.147334,39.100681],[111.173819,39.135041],[111.163348,39.152678],[111.219399,39.244044],[111.213239,39.257021],[111.247732,39.302419],[111.202152,39.305197],[111.179363,39.326959],[111.186138,39.35149],[111.155341,39.338531],[111.159037,39.362596],[111.125776,39.366297],[111.087588,39.376013],[111.098059,39.401914],[111.064182,39.400989],[111.058639,39.447681],[111.10545,39.472631],[111.10545,39.497573],[111.148566,39.531277],[111.154725,39.569116],[111.136863,39.587106],[111.101138,39.559428],[111.017371,39.552045],[110.958856,39.519275],[110.891103,39.509118],[110.869545,39.494341],[110.782698,39.38804],[110.73835,39.348713],[110.731575,39.30705],[110.702626,39.273701],[110.626249,39.266751],[110.596684,39.282966],[110.566503,39.320014],[110.559728,39.351027],[110.524003,39.382952],[110.482735,39.360745],[110.434692,39.381101],[110.429764,39.341308],[110.385417,39.310291],[110.257917,39.407001],[110.243751,39.423645],[110.152592,39.45415],[110.12549,39.432891],[110.136577,39.39174],[110.161831,39.387115],[110.184005,39.355192],[110.217881,39.281113],[110.109476,39.249606],[110.041107,39.21623],[109.962267,39.212056],[109.90252,39.271848],[109.871723,39.243581],[109.961035,39.191651],[109.893897,39.141075],[109.92223,39.107183],[109.890818,39.103932],[109.851397,39.122971],[109.793499,39.074204],[109.762086,39.057476],[109.72513,39.018429],[109.665384,38.981687],[109.685094,38.968195],[109.672159,38.928167],[109.624116,38.85457],[109.549587,38.805618],[109.511399,38.833595],[109.444262,38.782763],[109.404226,38.720689],[109.338936,38.701542],[109.329081,38.66043],[109.367269,38.627711],[109.331545,38.597783],[109.276726,38.623035],[109.196654,38.552867],[109.175712,38.518694],[109.128901,38.480288],[109.054372,38.433892],[109.051292,38.385122],[109.007561,38.359316],[108.961981,38.26493],[108.976148,38.245192],[108.938575,38.207582],[108.964445,38.154894],[109.069155,38.091336],[109.050676,38.055059],[109.06977,38.023008],[109.037742,38.021593],[109.018648,37.971602],[108.982923,37.964053],[108.9743,37.931962],[108.93488,37.922521],[108.893612,37.978207],[108.883141,38.01405],[108.830786,38.049875],[108.797525,38.04799],[108.82709,37.989056],[108.798141,37.93385],[108.791982,37.872934],[108.799989,37.784068],[108.784591,37.764673],[108.791982,37.700303],[108.777815,37.683728],[108.720533,37.683728],[108.699591,37.669518],[108.628142,37.651988],[108.532671,37.690832],[108.485244,37.678044],[108.422418,37.648672],[108.301078,37.640616],[108.293071,37.656726],[108.24626,37.665728],[108.205608,37.655779],[108.193905,37.638246],[108.134159,37.622131],[108.055318,37.652462],[108.025137,37.649619],[108.012819,37.66857],[108.025753,37.696041],[107.993109,37.735335],[107.982022,37.787378],[107.884703,37.808186],[107.842819,37.828987],[107.732566,37.84931],[107.684523,37.888522],[107.65003,37.86443],[107.659269,37.844112],[107.646335,37.805349],[107.620465,37.776026],[107.599523,37.791162],[107.57119,37.776499],[107.499125,37.765619],[107.484959,37.706458],[107.425828,37.684201],[107.387024,37.691305],[107.389488,37.671413],[107.422133,37.665254],[107.361155,37.613125],[107.311264,37.609806],[107.330358,37.584201],[107.369162,37.58752],[107.345756,37.518725],[107.284162,37.481691],[107.282931,37.437036],[107.257677,37.337179],[107.273075,37.29101],[107.309416,37.239095],[107.270612,37.229089],[107.317423,37.200017],[107.336517,37.165687],[107.334669,37.138975],[107.306952,37.100799],[107.281083,37.127047],[107.268764,37.099367],[107.28601,37.054963],[107.288474,37.008143],[107.288474,37.008143],[107.291554,36.979463],[107.291554,36.979463],[107.310032,36.912502],[107.336517,36.925899],[107.365466,36.905324],[107.478183,36.908196],[107.533618,36.867031],[107.540393,36.828718],[107.5909,36.836382],[107.642023,36.819137],[107.670356,36.83303],[107.722095,36.802367],[107.742421,36.811951],[107.768291,36.792783],[107.866841,36.766899],[107.907493,36.750118],[107.914268,36.720861],[107.940754,36.694953],[107.938906,36.655594],[108.006659,36.683435],[108.02329,36.647912],[108.001732,36.639269],[108.060862,36.592194],[108.079956,36.614294],[108.092891,36.587388],[108.163724,36.563839],[108.1976,36.630144],[108.222854,36.631105],[108.204992,36.606607],[108.204992,36.606607],[108.210535,36.577296],[108.245644,36.571048],[108.262274,36.549417],[108.340498,36.559032],[108.365136,36.519603],[108.391621,36.505654],[108.408252,36.45946],[108.460606,36.422871],[108.495099,36.422389],[108.514809,36.445501],[108.510498,36.47438],[108.562852,36.43876],[108.618903,36.433946],[108.651548,36.384818],[108.641693,36.359279],[108.646004,36.254143],[108.712526,36.138716],[108.682345,36.062316],[108.688504,36.021183],[108.659555,35.990683],[108.652164,35.94806],[108.593649,35.950967],[108.562852,35.921409],[108.518505,35.905414],[108.499411,35.872444],[108.527744,35.82442],[108.533903,35.746257],[108.517889,35.699615],[108.539447,35.605761],[108.618287,35.557088],[108.625678,35.537124],[108.605968,35.503028],[108.631222,35.418698],[108.61028,35.355271],[108.614591,35.328909],[108.583178,35.294724],[108.547454,35.304981],[108.48894,35.275184],[108.36144,35.279581],[108.345426,35.300586],[108.296767,35.267855],[108.239484,35.256127],[108.221622,35.296678],[108.174811,35.304981],[108.094739,35.280069],[108.049159,35.253683],[107.949993,35.245375],[107.960464,35.263457],[107.867457,35.256127],[107.841587,35.276649],[107.745501,35.311819],[107.737494,35.267366],[107.667277,35.257104],[107.652494,35.244886],[107.686371,35.218],[107.715936,35.168114],[107.727639,35.120157],[107.769523,35.064333],[107.769523,35.064333],[107.773218,35.060904],[107.773218,35.060904],[107.814486,35.024646],[107.846515,35.024646],[107.863145,34.999158],[107.842203,34.979056],[107.741805,34.953553],[107.675284,34.9511],[107.638943,34.935402],[107.619849,34.964834],[107.564415,34.968757],[107.523763,34.909886],[107.455394,34.916757],[107.400575,34.932949],[107.369162,34.917738],[107.350068,34.93393],[107.286626,34.931968],[107.252749,34.880925],[107.189308,34.893198],[107.162206,34.944233],[107.119707,34.950119],[107.089526,34.976604],[107.08275,35.024156],[107.012533,35.029547],[106.990975,35.068252],[106.950323,35.066782],[106.901664,35.094698],[106.838222,35.080007],[106.710723,35.100574],[106.706411,35.081966],[106.615252,35.071191],[106.577064,35.089312],[106.541956,35.083925],[106.52163,35.027587],[106.494528,35.006021],[106.494528,35.006021],[106.484673,34.983959],[106.493296,34.941289],[106.527789,34.876507],[106.556122,34.861285],[106.550579,34.82936],[106.575216,34.769897],[106.539492,34.745805],[106.505615,34.746789],[106.487137,34.715311],[106.456956,34.703996],[106.442173,34.675455],[106.471122,34.634102],[106.419384,34.643458],[106.314058,34.578934],[106.341159,34.568093],[106.334384,34.517811],[106.455108,34.531617],[106.514238,34.511894],[106.513622,34.498085],[106.558586,34.48822],[106.610941,34.454177],[106.638042,34.391481],[106.717498,34.369255],[106.691013,34.337635],[106.705179,34.299575],[106.68239,34.256057],[106.652825,34.24369],[106.63373,34.260014],[106.589383,34.253584],[106.577064,34.280786],[106.526557,34.292159],[106.496376,34.238248],[106.5321,34.254079],[106.55797,34.229837],[106.585071,34.149641],[106.560434,34.109514],[106.501919,34.105055],[106.505615,34.056479],[106.471738,34.024244],[106.474202,33.970659],[106.41076,33.909093],[106.428007,33.866368],[106.475434,33.875809],[106.491448,33.834559],[106.461883,33.789807],[106.488369,33.757969],[106.482825,33.707203],[106.534564,33.695254],[106.575832,33.631497],[106.58076,33.576169],[106.540108,33.512822],[106.456956,33.532779],[106.447101,33.613058],[106.384891,33.612061],[106.35163,33.587137],[106.303587,33.604585],[106.237681,33.564201],[106.187174,33.546746],[106.108334,33.569686],[106.117573,33.602591],[106.086776,33.617045],[106.047356,33.610067],[105.971596,33.613058],[105.940183,33.570684],[105.902611,33.556222],[105.871198,33.511325],[105.842248,33.489866],[105.831162,33.451926],[105.837937,33.410971],[105.827466,33.379993],[105.709822,33.382991],[105.755401,33.329004],[105.752937,33.291994],[105.791741,33.278486],[105.799133,33.258471],[105.862574,33.234447],[105.917393,33.237951],[105.965436,33.204407],[105.968516,33.154318],[105.93156,33.178365],[105.897067,33.146803],[105.923552,33.147805],[105.934639,33.112221],[105.914929,33.066092],[105.926632,33.042517],[105.917393,32.993841],[105.861959,32.939112],[105.82685,32.950663],[105.735691,32.905454],[105.656851,32.895405],[105.638373,32.879323],[105.590329,32.87681],[105.565692,32.906962],[105.528119,32.919019],[105.49917,32.911986],[105.495475,32.873292],[105.524424,32.847654],[105.534279,32.790822],[105.555221,32.794343],[105.563844,32.724891],[105.585402,32.728919],[105.596489,32.69921],[105.677793,32.726402],[105.719061,32.759624],[105.768952,32.767676],[105.779423,32.750061],[105.822538,32.770192],[105.825002,32.824523],[105.849024,32.817985],[105.893371,32.838603],[105.93156,32.826032],[105.969132,32.849162],[106.011632,32.829552],[106.044277,32.864747],[106.071378,32.828546],[106.093552,32.82402],[106.07261,32.76365],[106.076921,32.76365],[106.076305,32.759121],[106.071378,32.758114],[106.120037,32.719856],[106.17424,32.6977],[106.254928,32.693671],[106.267863,32.673522],[106.301123,32.680071],[106.347935,32.671003],[106.389203,32.62666],[106.421231,32.616579],[106.451412,32.65992],[106.498224,32.649338],[106.517934,32.668485],[106.585687,32.68813],[106.626955,32.682086],[106.670071,32.694678],[106.733513,32.739491],[106.783404,32.735967],[106.793259,32.712807],[106.82344,32.705254],[106.854853,32.724388],[106.903512,32.721367],[106.912751,32.704247],[107.012533,32.721367],[107.066736,32.708779],[107.05996,32.686115],[107.098765,32.649338],[107.108004,32.600951],[107.080286,32.542448],[107.127098,32.482393],[107.189924,32.468256],[107.212097,32.428864],[107.263836,32.403099],[107.287858,32.457147],[107.313727,32.489965],[107.356843,32.506622],[107.382097,32.54043],[107.436299,32.529835],[107.438763,32.465732],[107.460937,32.453612],[107.456625,32.41775],[107.489886,32.425328],[107.527458,32.38238],[107.598291,32.411688],[107.648183,32.413709],[107.680827,32.397035],[107.707929,32.331826],[107.753508,32.338399],[107.812022,32.247844],[107.864377,32.201266],[107.890247,32.214432],[107.924739,32.197215],[107.979558,32.146051],[108.024521,32.177462],[108.018362,32.2119],[108.086731,32.233165],[108.143398,32.219495],[108.156948,32.239239],[108.179738,32.221521],[108.240716,32.274666],[108.310933,32.232152],[108.389773,32.263533],[108.414411,32.252399],[108.469846,32.270618],[108.507418,32.245819],[108.509882,32.201266],[108.543758,32.177969],[108.585026,32.17189],[108.676801,32.10297],[108.734084,32.106519],[108.75133,32.076098],[108.78767,32.04871],[108.837561,32.039072],[108.902235,31.984774],[108.986619,31.980205],[109.085785,31.929428],[109.123357,31.892851],[109.191111,31.85575],[109.195422,31.817618],[109.27611,31.79931],[109.279806,31.776418],[109.253936,31.759628],[109.282885,31.743343],[109.281654,31.716874],[109.381436,31.705165],[109.446109,31.722983],[109.502776,31.716365],[109.549587,31.73011],[109.585928,31.726546],[109.592087,31.789136],[109.633971,31.804396],[109.633971,31.824738],[109.60379,31.885737],[109.584696,31.900472],[109.62042,31.928412],[109.631507,31.962436],[109.590855,32.012688],[109.590855,32.047696],[109.621652,32.106519],[109.58716,32.161251],[109.604406,32.199241],[109.592703,32.219495],[109.550203,32.225065],[109.528645,32.270112],[109.495385,32.300468],[109.513247,32.342444],[109.502776,32.38895],[109.529877,32.405625],[109.526797,32.43341],[109.575457,32.506622],[109.637051,32.540935],[109.619804,32.56767],[109.631507,32.599943],[109.726978,32.608513],[109.746072,32.594901],[109.816905,32.577252],[109.910528,32.592884],[109.97089,32.577756],[110.017701,32.546989],[110.084223,32.580782],[110.090382,32.617083],[110.124259,32.616579],[110.153824,32.593388],[110.206179,32.633212],[110.156903,32.683093],[110.159367,32.767173],[110.127338,32.77774],[110.142121,32.802895],[110.105164,32.832569],[110.051578,32.851676],[109.988752,32.886359],[109.927158,32.887364],[109.907448,32.903947],[109.856941,32.910479],[109.847702,32.893395],[109.789804,32.882339],[109.76455,32.909474],[109.785492,32.987316],[109.794731,33.067095],[109.704188,33.101694],[109.688174,33.116733],[109.576073,33.110216],[109.522486,33.138785],[109.468283,33.140288],[109.438718,33.152314],[109.498464,33.207412],[109.514479,33.237951],[109.60687,33.235949],[109.619804,33.275484],[109.649985,33.251465],[109.693101,33.254468],[109.732521,33.231443],[109.813209,33.236449],[109.852013,33.247961],[109.916687,33.229942],[109.973353,33.203907],[109.999223,33.212419],[110.031252,33.191888],[110.164911,33.209415],[110.218497,33.163336],[110.285635,33.171352],[110.33799,33.160331],[110.372482,33.186379],[110.398352,33.176862],[110.398352,33.176862],[110.471032,33.171352],[110.54125,33.255469],[110.57759,33.250464],[110.59422,33.168346],[110.623785,33.143796],[110.650887,33.157324],[110.702626,33.097182],[110.753133,33.15031],[110.824582,33.158327],[110.828893,33.201403],[110.865234,33.213921],[110.9219,33.203907],[110.960704,33.253967],[110.984726,33.255469],[111.025994,33.330504],[111.025994,33.375495],[110.996429,33.435946],[111.02661,33.467903],[111.021066,33.471397],[111.021682,33.476389],[111.02661,33.478386],[111.002588,33.535772],[111.00382,33.578662],[110.966864,33.609071],[110.878784,33.634486],[110.823966,33.685793],[110.831973,33.713675],[110.81719,33.751003],[110.782082,33.796272],[110.74143,33.798759],[110.712481,33.833564],[110.66259,33.85295],[110.612083,33.852453],[110.587445,33.887733],[110.628713,33.910086],[110.627481,33.925482],[110.665669,33.937895],[110.671213,33.966192],[110.620706,34.035652],[110.587445,34.023252],[110.591757,34.101586],[110.61393,34.113478],[110.642264,34.161032],[110.621938,34.177372],[110.55788,34.193214],[110.55172,34.213012],[110.507989,34.217466],[110.43962,34.243196],[110.428533,34.288203],[110.451938,34.292653],[110.503677,34.33714],[110.473496,34.393457],[110.403279,34.433448],[110.403279,34.433448],[110.360779,34.516825],[110.372482,34.544435],[110.404511,34.557743],[110.366939,34.566614],[110.379257,34.600612]]],[[[111.02661,33.478386],[111.021682,33.476389],[111.021066,33.471397],[111.02661,33.467903],[111.02661,33.478386]]],[[[106.076921,32.76365],[106.07261,32.76365],[106.071378,32.758114],[106.076305,32.759121],[106.076921,32.76365]]]]}},{type:"Feature",properties:{adcode:62e4,name:"甘肃省",center:[103.823557,36.058039],childrenNum:14,level:"province",parent:{adcode:1e5},subFeatureIndex:27,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[106.506231,35.737514],[106.504383,35.736057],[106.498224,35.732656],[106.49268,35.732656],[106.434782,35.688436],[106.460036,35.643705],[106.47913,35.575101],[106.460036,35.578995],[106.440941,35.52641],[106.465579,35.481101],[106.490217,35.480613],[106.483441,35.450393],[106.503767,35.415284],[106.501304,35.364056],[106.472354,35.310842],[106.415688,35.276161],[106.368261,35.273718],[106.363333,35.238532],[106.319601,35.265411],[106.241377,35.358687],[106.237681,35.409431],[106.196414,35.409919],[106.173008,35.437716],[106.129892,35.393333],[106.113262,35.361616],[106.083081,35.421624],[106.073226,35.420649],[106.067682,35.436254],[106.073226,35.447468],[106.071378,35.449418],[106.06953,35.458193],[106.071994,35.463555],[106.054132,35.45478],[106.034422,35.469404],[106.002393,35.438692],[105.894603,35.413821],[105.897683,35.451368],[106.048588,35.488898],[106.047356,35.498155],[106.023335,35.49377],[106.017175,35.519103],[105.900147,35.54735],[105.868734,35.540046],[105.847176,35.490359],[105.816379,35.575101],[105.800365,35.564878],[105.762176,35.602841],[105.759097,35.634464],[105.713517,35.650513],[105.722756,35.673366],[105.690727,35.698643],[105.723988,35.725854],[105.740618,35.698643],[105.759097,35.724883],[105.70243,35.733142],[105.667322,35.749657],[105.595873,35.715651],[105.481924,35.727312],[105.457286,35.771511],[105.432033,35.787533],[105.428953,35.819082],[105.408627,35.822479],[105.38091,35.792873],[105.371055,35.844312],[105.39754,35.857409],[105.350113,35.875839],[105.324859,35.941761],[105.343954,36.033767],[105.406163,36.074409],[105.430801,36.10391],[105.491163,36.101009],[105.515185,36.147415],[105.478844,36.213111],[105.460366,36.223733],[105.45975,36.268137],[105.476381,36.293224],[105.455439,36.321678],[105.425873,36.330357],[105.401236,36.369881],[105.398156,36.430575],[105.363048,36.443093],[105.362432,36.496514],[105.322396,36.535954],[105.281744,36.522489],[105.252179,36.553263],[105.2762,36.563358],[105.261418,36.602764],[105.22015,36.631105],[105.225693,36.664716],[105.201056,36.700711],[105.218302,36.730455],[105.272505,36.739567],[105.275584,36.752515],[105.319932,36.742924],[105.340874,36.764502],[105.334714,36.80093],[105.303302,36.820575],[105.279896,36.86751],[105.244787,36.894796],[105.178882,36.892403],[105.185657,36.942164],[105.165331,36.99476],[105.128991,36.996194],[105.05939,37.022956],[105.03968,37.007187],[105.004571,37.035378],[104.95468,37.040156],[104.954064,37.077407],[104.914644,37.097935],[104.888158,37.15901],[104.864753,37.17284],[104.85613,37.211933],[104.776673,37.246718],[104.717543,37.208597],[104.638087,37.201923],[104.600515,37.242907],[104.624536,37.298627],[104.651022,37.290534],[104.673812,37.317668],[104.713848,37.329566],[104.662109,37.367626],[104.679971,37.408044],[104.521059,37.43466],[104.499501,37.421353],[104.448994,37.42468],[104.437907,37.445589],[104.365226,37.418026],[104.298705,37.414223],[104.287002,37.428007],[104.237727,37.411847],[104.183524,37.406618],[104.089285,37.465067],[103.935916,37.572818],[103.874938,37.604117],[103.841062,37.64725],[103.683381,37.777919],[103.627947,37.797783],[103.40744,37.860651],[103.362477,38.037621],[103.368636,38.08898],[103.53494,38.156776],[103.507838,38.280905],[103.465339,38.353215],[103.416063,38.404821],[103.85954,38.64454],[104.011677,38.85923],[104.044322,38.895105],[104.173053,38.94446],[104.196459,38.9882],[104.190915,39.042139],[104.207546,39.083495],[104.171205,39.160567],[104.047401,39.297788],[104.073271,39.351953],[104.089901,39.419947],[103.955626,39.456923],[103.85338,39.461543],[103.728961,39.430117],[103.595302,39.386652],[103.428998,39.353341],[103.344615,39.331588],[103.259615,39.263971],[103.188166,39.215302],[103.133347,39.192579],[103.007696,39.099753],[102.883892,39.120649],[102.616574,39.171703],[102.579002,39.183301],[102.45335,39.255167],[102.3548,39.231993],[102.276576,39.188868],[102.050526,39.141075],[102.012338,39.127149],[101.902701,39.111827],[101.833715,39.08907],[101.926106,39.000758],[101.955055,38.985874],[102.045599,38.904885],[102.075164,38.891378],[101.941505,38.808883],[101.873751,38.733761],[101.777049,38.66043],[101.672955,38.6908],[101.601506,38.65529],[101.562702,38.713218],[101.412413,38.764099],[101.331109,38.777164],[101.307087,38.80282],[101.34158,38.822406],[101.33542,38.847113],[101.24303,38.860628],[101.237486,38.907214],[101.198682,38.943064],[101.228863,39.020754],[101.117378,38.975174],[100.969553,38.946788],[100.961545,39.005874],[100.901799,39.030053],[100.875314,39.002619],[100.835278,39.025869],[100.829118,39.075133],[100.864227,39.106719],[100.842669,39.199999],[100.842053,39.405614],[100.707778,39.404689],[100.606764,39.387577],[100.498975,39.400527],[100.500823,39.481408],[100.44354,39.485565],[100.326512,39.509118],[100.301258,39.572345],[100.314193,39.606935],[100.250135,39.685274],[100.128179,39.702312],[100.040716,39.757083],[99.958796,39.769504],[99.904593,39.785601],[99.822058,39.860063],[99.672384,39.888079],[99.469124,39.875221],[99.440791,39.885783],[99.459885,39.898181],[99.491298,39.884406],[99.533182,39.891753],[99.714268,39.972061],[99.751225,40.006909],[99.841152,40.013326],[99.927383,40.063727],[99.955716,40.150695],[100.007455,40.20008],[100.169447,40.277743],[100.169447,40.541131],[100.242744,40.618855],[100.237201,40.716905],[100.224882,40.727337],[100.107853,40.875475],[100.057346,40.908049],[99.985897,40.909858],[99.673,40.93292],[99.565827,40.846961],[99.174705,40.858278],[99.172858,40.747289],[99.12543,40.715091],[99.102025,40.676522],[99.041662,40.693767],[98.984996,40.782644],[98.790975,40.705564],[98.80699,40.660181],[98.802678,40.607043],[98.762642,40.639748],[98.72199,40.657911],[98.689345,40.691952],[98.668403,40.773128],[98.569853,40.746836],[98.627751,40.677884],[98.344419,40.568413],[98.333332,40.918903],[98.25018,40.93925],[98.184891,40.988056],[98.142391,41.001607],[97.971776,41.09774],[97.903407,41.168057],[97.629314,41.440498],[97.613915,41.477276],[97.84674,41.656379],[97.653335,41.986856],[97.500582,42.243894],[97.371235,42.457076],[97.172903,42.795257],[96.968411,42.756161],[96.742361,42.75704],[96.386348,42.727592],[96.166458,42.623314],[96.103632,42.604375],[96.072219,42.569566],[96.02356,42.542675],[96.0174,42.482239],[95.978596,42.436762],[96.06606,42.414674],[96.042038,42.352787],[96.040806,42.326688],[96.178161,42.21775],[96.077147,42.149457],[96.13874,42.05399],[96.137509,42.019765],[96.117183,41.985966],[96.054973,41.936124],[95.998306,41.906289],[95.855408,41.849699],[95.801206,41.848361],[95.759322,41.835878],[95.65646,41.826067],[95.57146,41.796181],[95.445193,41.719841],[95.39407,41.693481],[95.335556,41.644305],[95.299831,41.565994],[95.247476,41.61344],[95.194505,41.694821],[95.199433,41.719395],[95.16494,41.735474],[95.135991,41.772976],[95.110738,41.768513],[95.011572,41.726541],[94.969072,41.718948],[94.861898,41.668451],[94.809543,41.619256],[94.750413,41.538227],[94.534219,41.505966],[94.184365,41.268444],[94.01067,41.114875],[93.908424,40.983539],[93.809874,40.879548],[93.820961,40.793519],[93.760599,40.664721],[93.506216,40.648376],[92.928465,40.572504],[92.920458,40.391792],[92.906907,40.310609],[92.796654,40.153897],[92.745531,39.868331],[92.687632,39.657174],[92.639589,39.514196],[92.52564,39.368611],[92.378431,39.258411],[92.339011,39.236628],[92.343938,39.146181],[92.366112,39.096037],[92.366728,39.059335],[92.41046,39.03842],[92.459119,39.042604],[92.459119,39.063982],[92.489916,39.099753],[92.545966,39.111362],[92.659299,39.109969],[92.765857,39.136898],[92.866871,39.138754],[92.889045,39.160103],[92.938936,39.169848],[92.978356,39.143396],[93.043029,39.146645],[93.115094,39.17959],[93.142196,39.160567],[93.131725,39.108112],[93.165601,39.090928],[93.198246,39.045857],[93.179152,38.923977],[93.237666,38.916062],[93.274007,38.896036],[93.453245,38.915596],[93.729186,38.924443],[93.834511,38.867618],[93.884403,38.867618],[93.884403,38.826136],[93.769838,38.821007],[93.756287,38.807484],[93.773533,38.771099],[93.800019,38.750566],[93.885018,38.720689],[93.95154,38.715086],[93.973098,38.724891],[94.281067,38.7599],[94.370379,38.7627],[94.511429,38.445142],[94.527443,38.425922],[94.527443,38.365416],[94.56132,38.351807],[94.582878,38.36917],[94.672805,38.386998],[94.812623,38.385591],[94.861282,38.393565],[94.884072,38.414669],[94.973999,38.430142],[95.045448,38.418889],[95.072549,38.402476],[95.122441,38.417014],[95.140919,38.392158],[95.185266,38.379492],[95.209904,38.327868],[95.229614,38.330685],[95.259179,38.302981],[95.315846,38.318947],[95.408236,38.300163],[95.440881,38.310965],[95.455664,38.291709],[95.487693,38.314721],[95.51849,38.294997],[95.585011,38.343359],[95.608417,38.339134],[95.671858,38.388405],[95.703887,38.400131],[95.723597,38.378554],[95.775952,38.356031],[95.83693,38.344298],[95.852945,38.287481],[95.89606,38.2903],[95.932401,38.259291],[95.93856,38.237202],[96.006929,38.207582],[96.06606,38.173245],[96.109175,38.187358],[96.221892,38.149246],[96.252689,38.167599],[96.264392,38.145952],[96.313051,38.161952],[96.301964,38.183124],[96.335841,38.246132],[96.378341,38.277146],[96.46334,38.277616],[96.665369,38.23015],[96.655514,38.295936],[96.638883,38.307208],[96.626564,38.356031],[96.698013,38.422172],[96.707868,38.459203],[96.6666,38.483567],[96.706637,38.505582],[96.780549,38.504177],[96.800259,38.52759],[96.767614,38.552399],[96.808882,38.582346],[96.7941,38.608072],[96.847071,38.599186],[96.876636,38.580475],[96.961019,38.558015],[97.055874,38.594508],[97.047251,38.653888],[97.057722,38.67258],[97.009063,38.702477],[97.023229,38.755699],[97.00044,38.7613],[96.987505,38.793025],[96.993664,38.834993],[96.983809,38.869016],[96.940693,38.90768],[96.938846,38.95563],[96.965331,39.017034],[96.95794,39.041674],[96.969643,39.097895],[97.012142,39.142004],[96.962251,39.198144],[97.017686,39.208347],[97.060186,39.19768],[97.14149,39.199999],[97.220946,39.193042],[97.315185,39.164744],[97.347213,39.167528],[97.371235,39.140611],[97.401416,39.146645],[97.458698,39.117863],[97.504894,39.076527],[97.58127,39.052364],[97.679205,39.010524],[97.701379,38.963076],[97.828878,38.93003],[97.875689,38.898365],[98.009348,38.85923],[98.029058,38.834061],[98.068478,38.816344],[98.091884,38.786495],[98.167645,38.840121],[98.242173,38.880664],[98.235398,38.918855],[98.276666,38.963541],[98.287753,38.992386],[98.280977,39.027263],[98.316702,39.040744],[98.383839,39.029588],[98.401086,39.001688],[98.432498,38.996107],[98.428187,38.976104],[98.457752,38.952838],[98.526737,38.95563],[98.584635,38.93003],[98.624056,38.959353],[98.612353,38.977035],[98.661628,38.993782],[98.70536,39.043533],[98.730613,39.057011],[98.743548,39.086747],[98.816845,39.085818],[98.818076,39.064911],[98.886446,39.040744],[98.903076,39.012384],[98.951735,38.987735],[99.054597,38.97657],[99.107568,38.951907],[99.071843,38.921184],[99.068764,38.896968],[99.141445,38.852706],[99.222133,38.788827],[99.291118,38.765966],[99.361951,38.718354],[99.375502,38.684727],[99.412458,38.665571],[99.450646,38.60433],[99.501769,38.612281],[99.52887,38.546314],[99.585537,38.498556],[99.63974,38.474666],[99.65945,38.449361],[99.727203,38.415607],[99.758,38.410449],[99.826985,38.370109],[99.960028,38.320825],[100.001912,38.315191],[100.049955,38.283254],[100.071513,38.284663],[100.117093,38.253652],[100.126332,38.231561],[100.182998,38.222158],[100.159592,38.291239],[100.163904,38.328337],[100.136803,38.33444],[100.093071,38.407166],[100.022238,38.432017],[100.001296,38.467169],[100.025933,38.507923],[100.064122,38.518694],[100.086911,38.492936],[100.113397,38.497151],[100.163288,38.461546],[100.24028,38.441861],[100.259374,38.366355],[100.301874,38.388405],[100.331439,38.337257],[100.318505,38.329276],[100.396729,38.293118],[100.424446,38.307208],[100.432453,38.275267],[100.459555,38.2654],[100.474953,38.288891],[100.516837,38.272448],[100.545786,38.247072],[100.595061,38.242372],[100.619083,38.26587],[100.71517,38.253652],[100.752126,38.238612],[100.825423,38.158658],[100.860531,38.148305],[100.913502,38.17889],[100.93814,38.16007],[100.91843,38.129006],[100.922125,38.084741],[100.888864,38.056001],[100.895024,38.013107],[100.91843,37.999432],[100.964009,38.011221],[101.077342,37.941874],[101.103211,37.946593],[101.114298,37.92016],[101.152486,37.891356],[101.159262,37.86821],[101.202994,37.84742],[101.276906,37.83655],[101.362522,37.791162],[101.382848,37.822369],[101.459224,37.86632],[101.551615,37.835604],[101.598427,37.827569],[101.670491,37.754264],[101.659405,37.733441],[101.791832,37.696041],[101.815853,37.654357],[101.854657,37.664781],[101.873135,37.686569],[101.946432,37.728235],[101.998787,37.724921],[102.036359,37.685149],[102.048678,37.651515],[102.035128,37.627819],[102.102265,37.582304],[102.131214,37.54625],[102.103497,37.482641],[102.125055,37.48549],[102.176794,37.458892],[102.19712,37.420403],[102.299981,37.391404],[102.29875,37.370004],[102.368351,37.327662],[102.428097,37.308624],[102.419474,37.294343],[102.45335,37.271487],[102.457662,37.248147],[102.490307,37.223371],[102.533422,37.217176],[102.578386,37.17284],[102.599944,37.174748],[102.642444,37.099845],[102.583314,37.104618],[102.488459,37.078362],[102.506321,37.019134],[102.450271,36.968467],[102.499546,36.954599],[102.526031,36.928291],[102.56114,36.91968],[102.587009,36.869904],[102.639364,36.852666],[102.720052,36.767858],[102.692335,36.775528],[102.639364,36.732853],[102.612879,36.738129],[102.601176,36.710307],[102.630741,36.650793],[102.684328,36.619097],[102.724364,36.613813],[102.714509,36.599401],[102.761936,36.568645],[102.734219,36.562396],[102.753313,36.525855],[102.793349,36.497957],[102.771791,36.47438],[102.829689,36.365544],[102.831537,36.365544],[102.838928,36.345783],[102.836465,36.344819],[102.845704,36.331803],[102.896827,36.331803],[102.922696,36.298047],[103.024942,36.256556],[103.021246,36.232906],[103.066826,36.216974],[103.048964,36.199107],[102.986754,36.193312],[102.965812,36.151765],[102.948566,36.150798],[102.941174,36.104877],[102.882044,36.082632],[102.932551,36.048285],[102.968276,36.044414],[102.951645,36.021667],[102.971971,35.995525],[102.942406,35.92674],[102.954725,35.858864],[102.94487,35.829757],[102.914073,35.845282],[102.81737,35.850133],[102.787189,35.862745],[102.739146,35.821023],[102.715125,35.815685],[102.686175,35.771996],[102.707733,35.70496],[102.744074,35.657807],[102.7644,35.653431],[102.763168,35.612086],[102.808747,35.560496],[102.746537,35.545403],[102.729291,35.523487],[102.782878,35.527871],[102.743458,35.494745],[102.695414,35.528358],[102.570995,35.548324],[102.531575,35.580455],[102.503241,35.585322],[102.49893,35.545403],[102.437952,35.455268],[102.447807,35.437229],[102.408387,35.409431],[102.314764,35.434303],[102.293822,35.424063],[102.287663,35.36552],[102.317844,35.343067],[102.311684,35.31426],[102.280887,35.303028],[102.3123,35.282512],[102.370199,35.263946],[102.365887,35.235599],[102.404075,35.179366],[102.346793,35.164201],[102.310452,35.128967],[102.29567,35.071681],[102.252554,35.048657],[102.218062,35.057475],[102.211286,35.034937],[102.176178,35.032977],[102.157699,35.010923],[102.133678,35.014844],[102.094874,34.986901],[102.048062,34.910868],[102.068388,34.887798],[101.985852,34.90007],[101.916867,34.873561],[101.923027,34.835746],[101.917483,34.705964],[101.919947,34.621791],[101.934729,34.58731],[101.956287,34.582876],[101.97415,34.548871],[102.001867,34.538519],[102.093026,34.536547],[102.139837,34.50351],[102.155852,34.507456],[102.169402,34.457631],[102.205743,34.407777],[102.259329,34.355917],[102.237156,34.34307],[102.237156,34.34307],[102.186649,34.352952],[102.149692,34.271885],[102.067772,34.293642],[102.062229,34.227858],[102.01357,34.218456],[102.030816,34.190739],[102.003099,34.162022],[101.965526,34.167469],[101.955055,34.109514],[101.897773,34.133791],[101.874367,34.130323],[101.851578,34.153108],[101.836795,34.124378],[101.788136,34.131809],[101.764114,34.122892],[101.736397,34.080275],[101.718535,34.083249],[101.703136,34.119424],[101.674187,34.110506],[101.6206,34.178857],[101.53868,34.212022],[101.492485,34.195689],[101.482014,34.218951],[101.417956,34.227858],[101.369913,34.248143],[101.327413,34.24468],[101.325565,34.268423],[101.268899,34.278808],[101.228863,34.298586],[101.235022,34.325279],[101.193754,34.336646],[101.178356,34.320831],[101.098284,34.329233],[101.054552,34.322808],[100.986799,34.374689],[100.951074,34.38358],[100.895024,34.375183],[100.868538,34.332693],[100.821727,34.317371],[100.798321,34.260014],[100.809408,34.247153],[100.764445,34.178857],[100.806329,34.155584],[100.848828,34.089692],[100.870386,34.083744],[100.880857,34.036644],[100.93506,33.990013],[100.927669,33.975126],[100.965857,33.946832],[100.994806,33.891707],[101.023139,33.896178],[101.054552,33.863386],[101.153718,33.8445],[101.153102,33.823124],[101.190675,33.791796],[101.186363,33.741051],[101.162957,33.719649],[101.177124,33.685295],[101.166653,33.659894],[101.217776,33.669856],[101.23687,33.685793],[101.302776,33.657902],[101.385312,33.644949],[101.424732,33.655411],[101.428427,33.680315],[101.501724,33.702723],[101.58426,33.674339],[101.585492,33.645448],[101.616905,33.598603],[101.611977,33.565199],[101.622448,33.502343],[101.718535,33.494857],[101.748716,33.505337],[101.769042,33.538765],[101.783208,33.556721],[101.831252,33.554726],[101.844186,33.602591],[101.884222,33.578163],[101.907012,33.539264],[101.906396,33.48188],[101.946432,33.442937],[101.915635,33.425957],[101.887302,33.383991],[101.877447,33.314502],[101.769658,33.26898],[101.770274,33.248962],[101.83002,33.213921],[101.841723,33.184876],[101.825708,33.119239],[101.865744,33.103198],[101.887302,33.135778],[101.921795,33.153817],[101.935345,33.186879],[101.99386,33.1999],[102.054838,33.189884],[102.08933,33.204908],[102.08933,33.227439],[102.117047,33.288492],[102.144765,33.273983],[102.160163,33.242956],[102.200815,33.223434],[102.217446,33.247961],[102.192192,33.337005],[102.218062,33.349503],[102.258098,33.409472],[102.296286,33.413969],[102.310452,33.397982],[102.368967,33.41247],[102.392988,33.404477],[102.447807,33.454922],[102.462589,33.449429],[102.461358,33.501345],[102.446575,33.53228],[102.477988,33.543254],[102.440416,33.574673],[102.346793,33.605582],[102.31538,33.665374],[102.342481,33.725622],[102.284583,33.719151],[102.324619,33.754486],[102.296286,33.783838],[102.243315,33.786823],[102.261177,33.821136],[102.25317,33.861399],[102.136142,33.965199],[102.16817,33.983066],[102.226069,33.963214],[102.248858,33.98654],[102.287047,33.977607],[102.315996,33.993983],[102.345561,33.969666],[102.392372,33.971651],[102.406539,34.033172],[102.437336,34.087214],[102.471213,34.072839],[102.511865,34.086222],[102.615958,34.099604],[102.649219,34.080275],[102.655994,34.113478],[102.598712,34.14766],[102.651067,34.165983],[102.664002,34.192719],[102.694799,34.198659],[102.728675,34.235774],[102.779798,34.236764],[102.798276,34.272874],[102.856791,34.270895],[102.85987,34.301058],[102.911609,34.312923],[102.949181,34.292159],[102.977515,34.252595],[102.973203,34.205588],[103.005848,34.184798],[103.052043,34.195194],[103.100087,34.181828],[103.124108,34.162022],[103.121644,34.112487],[103.178927,34.079779],[103.129652,34.065899],[103.119797,34.03466],[103.147514,34.036644],[103.157369,33.998944],[103.120413,33.953286],[103.1315,33.931937],[103.16476,33.929454],[103.181391,33.900649],[103.153673,33.819147],[103.165376,33.805721],[103.228202,33.79478],[103.24976,33.814175],[103.284868,33.80224],[103.278709,33.774387],[103.35447,33.743539],[103.434542,33.752993],[103.464723,33.80224],[103.518309,33.807213],[103.545411,33.719649],[103.520157,33.678323],[103.552186,33.671351],[103.563889,33.699735],[103.593454,33.716164],[103.645809,33.708697],[103.667983,33.685793],[103.690772,33.69376],[103.778236,33.658898],[103.861388,33.682307],[103.980264,33.670852],[104.046169,33.686291],[104.103452,33.663381],[104.176749,33.5996],[104.155191,33.542755],[104.180444,33.472895],[104.213089,33.446932],[104.22048,33.404477],[104.272219,33.391486],[104.292545,33.336505],[104.373849,33.345004],[104.420045,33.327004],[104.386168,33.298497],[104.333813,33.315502],[104.303632,33.304499],[104.323958,33.26898],[104.32827,33.223934],[104.351059,33.158828],[104.378161,33.109214],[104.337509,33.038002],[104.391711,33.035493],[104.426204,33.010906],[104.383704,32.994343],[104.378161,32.953174],[104.345516,32.940117],[104.288234,32.942628],[104.277147,32.90244],[104.294393,32.835586],[104.363994,32.822511],[104.458849,32.748551],[104.51182,32.753585],[104.526602,32.728416],[104.582653,32.722374],[104.592508,32.695685],[104.643015,32.661935],[104.696601,32.673522],[104.739717,32.635228],[104.795768,32.643292],[104.820405,32.662943],[104.845659,32.653873],[104.881999,32.600951],[104.925115,32.607505],[105.026745,32.650346],[105.0791,32.637244],[105.111128,32.593893],[105.185041,32.617587],[105.215222,32.63674],[105.219534,32.666469],[105.263265,32.652362],[105.297758,32.656897],[105.347033,32.68259],[105.368591,32.712807],[105.448663,32.732946],[105.454207,32.767173],[105.427721,32.784281],[105.396308,32.85067],[105.396308,32.85067],[105.38091,32.876307],[105.408011,32.885857],[105.414171,32.922034],[105.467757,32.930071],[105.49917,32.911986],[105.528119,32.919019],[105.565692,32.906962],[105.590329,32.87681],[105.638373,32.879323],[105.656851,32.895405],[105.735691,32.905454],[105.82685,32.950663],[105.861959,32.939112],[105.917393,32.993841],[105.926632,33.042517],[105.914929,33.066092],[105.934639,33.112221],[105.923552,33.147805],[105.897067,33.146803],[105.93156,33.178365],[105.968516,33.154318],[105.965436,33.204407],[105.917393,33.237951],[105.862574,33.234447],[105.799133,33.258471],[105.791741,33.278486],[105.752937,33.291994],[105.755401,33.329004],[105.709822,33.382991],[105.827466,33.379993],[105.837937,33.410971],[105.831162,33.451926],[105.842248,33.489866],[105.871198,33.511325],[105.902611,33.556222],[105.940183,33.570684],[105.971596,33.613058],[106.047356,33.610067],[106.086776,33.617045],[106.117573,33.602591],[106.108334,33.569686],[106.187174,33.546746],[106.237681,33.564201],[106.303587,33.604585],[106.35163,33.587137],[106.384891,33.612061],[106.447101,33.613058],[106.456956,33.532779],[106.540108,33.512822],[106.58076,33.576169],[106.575832,33.631497],[106.534564,33.695254],[106.482825,33.707203],[106.488369,33.757969],[106.461883,33.789807],[106.491448,33.834559],[106.475434,33.875809],[106.428007,33.866368],[106.41076,33.909093],[106.474202,33.970659],[106.471738,34.024244],[106.505615,34.056479],[106.501919,34.105055],[106.560434,34.109514],[106.585071,34.149641],[106.55797,34.229837],[106.5321,34.254079],[106.496376,34.238248],[106.526557,34.292159],[106.577064,34.280786],[106.589383,34.253584],[106.63373,34.260014],[106.652825,34.24369],[106.68239,34.256057],[106.705179,34.299575],[106.691013,34.337635],[106.717498,34.369255],[106.638042,34.391481],[106.610941,34.454177],[106.558586,34.48822],[106.513622,34.498085],[106.514238,34.511894],[106.455108,34.531617],[106.334384,34.517811],[106.341159,34.568093],[106.314058,34.578934],[106.419384,34.643458],[106.471122,34.634102],[106.442173,34.675455],[106.456956,34.703996],[106.487137,34.715311],[106.505615,34.746789],[106.539492,34.745805],[106.575216,34.769897],[106.550579,34.82936],[106.556122,34.861285],[106.527789,34.876507],[106.493296,34.941289],[106.484673,34.983959],[106.494528,35.006021],[106.494528,35.006021],[106.52163,35.027587],[106.541956,35.083925],[106.577064,35.089312],[106.615252,35.071191],[106.706411,35.081966],[106.710723,35.100574],[106.838222,35.080007],[106.901664,35.094698],[106.950323,35.066782],[106.990975,35.068252],[107.012533,35.029547],[107.08275,35.024156],[107.089526,34.976604],[107.119707,34.950119],[107.162206,34.944233],[107.189308,34.893198],[107.252749,34.880925],[107.286626,34.931968],[107.350068,34.93393],[107.369162,34.917738],[107.400575,34.932949],[107.455394,34.916757],[107.523763,34.909886],[107.564415,34.968757],[107.619849,34.964834],[107.638943,34.935402],[107.675284,34.9511],[107.741805,34.953553],[107.842203,34.979056],[107.863145,34.999158],[107.846515,35.024646],[107.814486,35.024646],[107.773218,35.060904],[107.773218,35.060904],[107.769523,35.064333],[107.769523,35.064333],[107.727639,35.120157],[107.715936,35.168114],[107.686371,35.218],[107.652494,35.244886],[107.667277,35.257104],[107.737494,35.267366],[107.745501,35.311819],[107.841587,35.276649],[107.867457,35.256127],[107.960464,35.263457],[107.949993,35.245375],[108.049159,35.253683],[108.094739,35.280069],[108.174811,35.304981],[108.221622,35.296678],[108.239484,35.256127],[108.296767,35.267855],[108.345426,35.300586],[108.36144,35.279581],[108.48894,35.275184],[108.547454,35.304981],[108.583178,35.294724],[108.614591,35.328909],[108.61028,35.355271],[108.631222,35.418698],[108.605968,35.503028],[108.625678,35.537124],[108.618287,35.557088],[108.539447,35.605761],[108.517889,35.699615],[108.533903,35.746257],[108.527744,35.82442],[108.499411,35.872444],[108.518505,35.905414],[108.562852,35.921409],[108.593649,35.950967],[108.652164,35.94806],[108.659555,35.990683],[108.688504,36.021183],[108.682345,36.062316],[108.712526,36.138716],[108.646004,36.254143],[108.641693,36.359279],[108.651548,36.384818],[108.618903,36.433946],[108.562852,36.43876],[108.510498,36.47438],[108.514809,36.445501],[108.495099,36.422389],[108.460606,36.422871],[108.408252,36.45946],[108.391621,36.505654],[108.365136,36.519603],[108.340498,36.559032],[108.262274,36.549417],[108.245644,36.571048],[108.210535,36.577296],[108.204992,36.606607],[108.204992,36.606607],[108.222854,36.631105],[108.1976,36.630144],[108.163724,36.563839],[108.092891,36.587388],[108.079956,36.614294],[108.060862,36.592194],[108.001732,36.639269],[108.02329,36.647912],[108.006659,36.683435],[107.938906,36.655594],[107.940754,36.694953],[107.914268,36.720861],[107.907493,36.750118],[107.866841,36.766899],[107.768291,36.792783],[107.742421,36.811951],[107.722095,36.802367],[107.670356,36.83303],[107.642023,36.819137],[107.5909,36.836382],[107.540393,36.828718],[107.533618,36.867031],[107.478183,36.908196],[107.365466,36.905324],[107.336517,36.925899],[107.310032,36.912502],[107.291554,36.979463],[107.291554,36.979463],[107.288474,37.008143],[107.288474,37.008143],[107.28601,37.054963],[107.268764,37.099367],[107.234887,37.096503],[107.181916,37.143269],[107.133873,37.134681],[107.095685,37.115595],[107.030395,37.140883],[107.031011,37.108436],[106.998367,37.106527],[106.905976,37.151378],[106.912135,37.110345],[106.891193,37.098413],[106.818512,37.141838],[106.776012,37.158056],[106.772933,37.120367],[106.750143,37.09889],[106.728585,37.121321],[106.687933,37.12991],[106.673151,37.1113],[106.6171,37.135158],[106.605397,37.127524],[106.645433,37.064992],[106.666991,37.016745],[106.646665,37.000496],[106.64297,36.962729],[106.594926,36.967988],[106.595542,36.94025],[106.540108,36.984244],[106.549347,36.941685],[106.601702,36.918244],[106.609709,36.878521],[106.609709,36.878521],[106.626955,36.892403],[106.637426,36.867031],[106.637426,36.867031],[106.657752,36.820575],[106.627571,36.752995],[106.644817,36.72278],[106.59431,36.750118],[106.514238,36.715584],[106.519782,36.708868],[106.519782,36.708868],[106.530869,36.690154],[106.490833,36.685835],[106.491448,36.628703],[106.444637,36.624861],[106.465579,36.583063],[106.444637,36.557109],[106.397826,36.576816],[106.392282,36.556628],[106.363949,36.577296],[106.37134,36.549417],[106.39721,36.548455],[106.455724,36.496995],[106.494528,36.494589],[106.523477,36.468605],[106.492064,36.422389],[106.510543,36.379037],[106.497608,36.31348],[106.470507,36.306246],[106.504383,36.266207],[106.54134,36.25366],[106.559202,36.292259],[106.647897,36.259451],[106.685469,36.273445],[106.698404,36.244008],[106.735976,36.23725],[106.772933,36.212628],[106.808657,36.21118],[106.833295,36.229044],[106.858548,36.206834],[106.858548,36.206834],[106.873947,36.178338],[106.873947,36.178338],[106.930613,36.138716],[106.925686,36.115997],[106.957715,36.091337],[106.940468,36.064734],[106.928149,36.011502],[106.94786,35.988262],[106.90228,35.943699],[106.93862,35.952905],[106.940468,35.931101],[106.912751,35.93207],[106.849925,35.887476],[106.927534,35.810346],[106.897353,35.759856],[106.868403,35.771996],[106.867171,35.738485],[106.819128,35.7448],[106.806193,35.70982],[106.750759,35.725369],[106.750759,35.689408],[106.674998,35.728284],[106.66268,35.70739],[106.633115,35.714679],[106.620796,35.743829],[106.595542,35.727312],[106.566593,35.738971],[106.506231,35.737514]]],[[[106.047356,35.498155],[106.048588,35.488898],[106.054132,35.45478],[106.071994,35.463555],[106.078769,35.509848],[106.047356,35.498155]]],[[[102.831537,36.365544],[102.829689,36.365544],[102.836465,36.344819],[102.838928,36.345783],[102.831537,36.365544]]],[[[106.073226,35.447468],[106.067682,35.436254],[106.073226,35.420649],[106.083081,35.421624],[106.073226,35.447468]]],[[[106.504383,35.736057],[106.506231,35.737514],[106.49268,35.732656],[106.498224,35.732656],[106.504383,35.736057]]]]}},{type:"Feature",properties:{adcode:63e4,name:"青海省",center:[101.778916,36.623178],centroid:[96.043533,35.726403],childrenNum:8,level:"province",parent:{adcode:1e5},subFeatureIndex:28,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[102.829689,36.365544],[102.771791,36.47438],[102.793349,36.497957],[102.753313,36.525855],[102.734219,36.562396],[102.761936,36.568645],[102.714509,36.599401],[102.724364,36.613813],[102.684328,36.619097],[102.630741,36.650793],[102.601176,36.710307],[102.612879,36.738129],[102.639364,36.732853],[102.692335,36.775528],[102.720052,36.767858],[102.639364,36.852666],[102.587009,36.869904],[102.56114,36.91968],[102.526031,36.928291],[102.499546,36.954599],[102.450271,36.968467],[102.506321,37.019134],[102.488459,37.078362],[102.583314,37.104618],[102.642444,37.099845],[102.599944,37.174748],[102.578386,37.17284],[102.533422,37.217176],[102.490307,37.223371],[102.457662,37.248147],[102.45335,37.271487],[102.419474,37.294343],[102.428097,37.308624],[102.368351,37.327662],[102.29875,37.370004],[102.299981,37.391404],[102.19712,37.420403],[102.176794,37.458892],[102.125055,37.48549],[102.103497,37.482641],[102.131214,37.54625],[102.102265,37.582304],[102.035128,37.627819],[102.048678,37.651515],[102.036359,37.685149],[101.998787,37.724921],[101.946432,37.728235],[101.873135,37.686569],[101.854657,37.664781],[101.815853,37.654357],[101.791832,37.696041],[101.659405,37.733441],[101.670491,37.754264],[101.598427,37.827569],[101.551615,37.835604],[101.459224,37.86632],[101.382848,37.822369],[101.362522,37.791162],[101.276906,37.83655],[101.202994,37.84742],[101.159262,37.86821],[101.152486,37.891356],[101.114298,37.92016],[101.103211,37.946593],[101.077342,37.941874],[100.964009,38.011221],[100.91843,37.999432],[100.895024,38.013107],[100.888864,38.056001],[100.922125,38.084741],[100.91843,38.129006],[100.93814,38.16007],[100.913502,38.17889],[100.860531,38.148305],[100.825423,38.158658],[100.752126,38.238612],[100.71517,38.253652],[100.619083,38.26587],[100.595061,38.242372],[100.545786,38.247072],[100.516837,38.272448],[100.474953,38.288891],[100.459555,38.2654],[100.432453,38.275267],[100.424446,38.307208],[100.396729,38.293118],[100.318505,38.329276],[100.331439,38.337257],[100.301874,38.388405],[100.259374,38.366355],[100.24028,38.441861],[100.163288,38.461546],[100.113397,38.497151],[100.086911,38.492936],[100.064122,38.518694],[100.025933,38.507923],[100.001296,38.467169],[100.022238,38.432017],[100.093071,38.407166],[100.136803,38.33444],[100.163904,38.328337],[100.159592,38.291239],[100.182998,38.222158],[100.126332,38.231561],[100.117093,38.253652],[100.071513,38.284663],[100.049955,38.283254],[100.001912,38.315191],[99.960028,38.320825],[99.826985,38.370109],[99.758,38.410449],[99.727203,38.415607],[99.65945,38.449361],[99.63974,38.474666],[99.585537,38.498556],[99.52887,38.546314],[99.501769,38.612281],[99.450646,38.60433],[99.412458,38.665571],[99.375502,38.684727],[99.361951,38.718354],[99.291118,38.765966],[99.222133,38.788827],[99.141445,38.852706],[99.068764,38.896968],[99.071843,38.921184],[99.107568,38.951907],[99.054597,38.97657],[98.951735,38.987735],[98.903076,39.012384],[98.886446,39.040744],[98.818076,39.064911],[98.816845,39.085818],[98.743548,39.086747],[98.730613,39.057011],[98.70536,39.043533],[98.661628,38.993782],[98.612353,38.977035],[98.624056,38.959353],[98.584635,38.93003],[98.526737,38.95563],[98.457752,38.952838],[98.428187,38.976104],[98.432498,38.996107],[98.401086,39.001688],[98.383839,39.029588],[98.316702,39.040744],[98.280977,39.027263],[98.287753,38.992386],[98.276666,38.963541],[98.235398,38.918855],[98.242173,38.880664],[98.167645,38.840121],[98.091884,38.786495],[98.068478,38.816344],[98.029058,38.834061],[98.009348,38.85923],[97.875689,38.898365],[97.828878,38.93003],[97.701379,38.963076],[97.679205,39.010524],[97.58127,39.052364],[97.504894,39.076527],[97.458698,39.117863],[97.401416,39.146645],[97.371235,39.140611],[97.347213,39.167528],[97.315185,39.164744],[97.220946,39.193042],[97.14149,39.199999],[97.060186,39.19768],[97.017686,39.208347],[96.962251,39.198144],[97.012142,39.142004],[96.969643,39.097895],[96.95794,39.041674],[96.965331,39.017034],[96.938846,38.95563],[96.940693,38.90768],[96.983809,38.869016],[96.993664,38.834993],[96.987505,38.793025],[97.00044,38.7613],[97.023229,38.755699],[97.009063,38.702477],[97.057722,38.67258],[97.047251,38.653888],[97.055874,38.594508],[96.961019,38.558015],[96.876636,38.580475],[96.847071,38.599186],[96.7941,38.608072],[96.808882,38.582346],[96.767614,38.552399],[96.800259,38.52759],[96.780549,38.504177],[96.706637,38.505582],[96.6666,38.483567],[96.707868,38.459203],[96.698013,38.422172],[96.626564,38.356031],[96.638883,38.307208],[96.655514,38.295936],[96.665369,38.23015],[96.46334,38.277616],[96.378341,38.277146],[96.335841,38.246132],[96.301964,38.183124],[96.313051,38.161952],[96.264392,38.145952],[96.252689,38.167599],[96.221892,38.149246],[96.109175,38.187358],[96.06606,38.173245],[96.006929,38.207582],[95.93856,38.237202],[95.932401,38.259291],[95.89606,38.2903],[95.852945,38.287481],[95.83693,38.344298],[95.775952,38.356031],[95.723597,38.378554],[95.703887,38.400131],[95.671858,38.388405],[95.608417,38.339134],[95.585011,38.343359],[95.51849,38.294997],[95.487693,38.314721],[95.455664,38.291709],[95.440881,38.310965],[95.408236,38.300163],[95.315846,38.318947],[95.259179,38.302981],[95.229614,38.330685],[95.209904,38.327868],[95.185266,38.379492],[95.140919,38.392158],[95.122441,38.417014],[95.072549,38.402476],[95.045448,38.418889],[94.973999,38.430142],[94.884072,38.414669],[94.861282,38.393565],[94.812623,38.385591],[94.672805,38.386998],[94.582878,38.36917],[94.56132,38.351807],[94.527443,38.365416],[94.527443,38.425922],[94.511429,38.445142],[94.370379,38.7627],[94.281067,38.7599],[93.973098,38.724891],[93.95154,38.715086],[93.885018,38.720689],[93.800019,38.750566],[93.773533,38.771099],[93.756287,38.807484],[93.769838,38.821007],[93.884403,38.826136],[93.884403,38.867618],[93.834511,38.867618],[93.729186,38.924443],[93.453245,38.915596],[93.274007,38.896036],[93.237666,38.916062],[93.179152,38.923977],[93.198246,39.045857],[93.165601,39.090928],[93.131725,39.108112],[93.142196,39.160567],[93.115094,39.17959],[93.043029,39.146645],[92.978356,39.143396],[92.938936,39.169848],[92.889045,39.160103],[92.866871,39.138754],[92.765857,39.136898],[92.659299,39.109969],[92.545966,39.111362],[92.489916,39.099753],[92.459119,39.063982],[92.459119,39.042604],[92.41046,39.03842],[92.416003,39.010524],[92.380279,38.999828],[92.263866,39.002153],[92.197961,38.983548],[92.173323,38.960749],[92.10865,38.963541],[91.966368,38.930961],[91.880752,38.899297],[91.87952,38.884391],[91.806223,38.872744],[91.694738,38.86622],[91.681188,38.852706],[91.501333,38.815411],[91.446515,38.813546],[91.298689,38.746365],[91.242639,38.752433],[91.188436,38.73096],[90.992567,38.695003],[90.970394,38.697806],[90.899561,38.679588],[90.724634,38.658094],[90.65996,38.674449],[90.619308,38.664636],[90.645794,38.635191],[90.606374,38.610878],[90.608837,38.594508],[90.560794,38.593573],[90.525685,38.561291],[90.463476,38.556611],[90.465323,38.521971],[90.427135,38.493873],[90.353222,38.482162],[90.315034,38.501835],[90.248513,38.491531],[90.130868,38.494341],[90.111774,38.477945],[90.111774,38.418889],[90.129636,38.400131],[90.179528,38.396848],[90.137644,38.340543],[90.280542,38.238142],[90.352607,38.233441],[90.361846,38.300163],[90.401882,38.311434],[90.531229,38.319886],[90.516446,38.207111],[90.519526,37.730601],[90.579272,37.720661],[90.586663,37.703144],[90.643946,37.696988],[90.777605,37.648672],[90.820104,37.613599],[90.854597,37.604117],[90.882314,37.575664],[90.865684,37.53059],[90.911879,37.519674],[90.958075,37.477891],[91.019669,37.493088],[91.073256,37.475992],[91.099741,37.447965],[91.113292,37.387124],[91.136081,37.355734],[91.134849,37.324331],[91.194596,37.273868],[91.1909,37.205737],[91.280211,37.163779],[91.286371,37.105095],[91.303617,37.083136],[91.291298,37.042544],[91.303617,37.012444],[91.216153,37.010054],[91.181045,37.025345],[91.133618,37.007665],[91.126842,36.978507],[91.051698,36.96751],[91.036915,36.929727],[90.983944,36.913459],[90.924198,36.921115],[90.853981,36.915373],[90.758511,36.825844],[90.732025,36.825844],[90.727098,36.755872],[90.754815,36.721341],[90.720938,36.708868],[90.706156,36.658955],[90.730793,36.655594],[90.72217,36.620058],[90.741264,36.585947],[90.810865,36.585466],[90.831191,36.55807],[90.905104,36.560474],[91.011662,36.539801],[91.035683,36.529703],[91.039995,36.474861],[91.028292,36.443093],[91.051698,36.433946],[91.026444,36.323607],[91.07264,36.299012],[91.051698,36.238215],[91.096045,36.219871],[91.09235,36.163844],[91.124994,36.115514],[91.081263,36.088436],[90.979017,36.106811],[90.922966,36.028927],[90.850285,36.016827],[90.815793,36.035703],[90.776373,36.086501],[90.659344,36.13485],[90.613149,36.126632],[90.534925,36.147899],[90.478258,36.13195],[90.424055,36.133883],[90.325505,36.159496],[90.23681,36.160462],[90.198006,36.187516],[90.130252,36.2078],[90.145651,36.239181],[90.058188,36.255591],[90.043405,36.276822],[90.003369,36.278752],[90.028006,36.258486],[90.019999,36.213594],[89.997825,36.168193],[89.944855,36.140649],[89.941159,36.067637],[89.914058,36.079246],[89.819819,36.080697],[89.766848,36.073925],[89.711414,36.093272],[89.688624,36.091337],[89.605472,36.038123],[89.474893,36.022151],[89.417611,36.044897],[89.404676,36.016827],[89.434857,35.992136],[89.428082,35.917531],[89.489676,35.903475],[89.554965,35.873414],[89.550654,35.856924],[89.62395,35.859349],[89.654747,35.848193],[89.707718,35.849163],[89.778551,35.861775],[89.801957,35.848193],[89.767464,35.799183],[89.782863,35.773453],[89.747138,35.7516],[89.748986,35.66267],[89.726196,35.648082],[89.765616,35.599922],[89.75145,35.580942],[89.71203,35.581915],[89.699711,35.544916],[89.720037,35.501566],[89.740979,35.507412],[89.765,35.482563],[89.739131,35.468429],[89.685544,35.416259],[89.658443,35.425526],[89.619639,35.412357],[89.58761,35.383575],[89.497067,35.361128],[89.516161,35.330862],[89.494603,35.298632],[89.531559,35.276161],[89.48598,35.256616],[89.450255,35.223867],[89.46935,35.214577],[89.519241,35.133862],[89.579603,35.118688],[89.593153,35.104491],[89.59069,35.057965],[89.560509,34.938836],[89.578987,34.895162],[89.670146,34.887798],[89.707102,34.919701],[89.747138,34.903506],[89.78779,34.921664],[89.821051,34.902033],[89.814891,34.86816],[89.838913,34.865705],[89.867862,34.81069],[89.825978,34.796931],[89.799493,34.743838],[89.732356,34.732035],[89.72558,34.660689],[89.74837,34.641981],[89.798877,34.628686],[89.777935,34.574499],[89.814891,34.548871],[89.823515,34.455657],[89.819819,34.420614],[89.799493,34.39642],[89.820435,34.369255],[89.858623,34.359375],[89.86663,34.324785],[89.825362,34.293642],[89.838297,34.263477],[89.816739,34.16945],[89.789638,34.150632],[89.760073,34.152613],[89.756993,34.124874],[89.71203,34.131809],[89.655979,34.097126],[89.656595,34.057966],[89.635037,34.049537],[89.684928,33.990013],[89.688008,33.959739],[89.718805,33.946832],[89.73174,33.921509],[89.795181,33.865374],[89.837065,33.868853],[89.899891,33.80771],[89.942391,33.801246],[89.902355,33.758467],[89.907282,33.741051],[89.983659,33.725622],[89.981195,33.70322],[90.008296,33.687785],[89.984275,33.612061],[90.01076,33.553728],[90.083441,33.525295],[90.088984,33.478885],[90.107463,33.460913],[90.22018,33.437943],[90.246665,33.423959],[90.332896,33.310501],[90.363077,33.279487],[90.405577,33.260473],[90.490577,33.264977],[90.562642,33.229441],[90.627315,33.180368],[90.704308,33.135778],[90.740032,33.142293],[90.803474,33.114227],[90.88293,33.120241],[90.902024,33.083143],[90.927894,33.120241],[91.001807,33.11573],[91.037531,33.098686],[91.072024,33.113224],[91.147784,33.07211],[91.161335,33.108712],[91.18782,33.106206],[91.226624,33.141792],[91.261733,33.141291],[91.311624,33.108211],[91.370138,33.100691],[91.436044,33.066092],[91.49579,33.109214],[91.535826,33.10019],[91.55492,33.060074],[91.583253,33.0375],[91.664557,33.012913],[91.685499,32.989324],[91.752637,32.969242],[91.799448,32.942126],[91.839484,32.948152],[91.857962,32.90244],[91.896766,32.907967],[91.955897,32.8205],[92.018722,32.829552],[92.038432,32.860725],[92.101874,32.860222],[92.145606,32.885857],[92.205352,32.866255],[92.227526,32.821003],[92.193649,32.801889],[92.211511,32.788306],[92.198577,32.754591],[92.255243,32.720863],[92.310062,32.751571],[92.343938,32.738484],[92.355641,32.764657],[92.411076,32.748048],[92.459119,32.76365],[92.484372,32.745028],[92.56814,32.73194],[92.574916,32.741001],[92.634662,32.720863],[92.667922,32.73194],[92.686401,32.76516],[92.756618,32.743014],[92.789262,32.719856],[92.822523,32.729926],[92.866871,32.698203],[92.933392,32.719353],[92.964189,32.714821],[93.00053,32.741001],[93.019624,32.737477],[93.023935,32.703239],[93.069515,32.626156],[93.087993,32.63674],[93.159442,32.644803],[93.176688,32.6705],[93.210565,32.655385],[93.239514,32.662439],[93.260456,32.62666],[93.300492,32.619604],[93.308499,32.580278],[93.33868,32.5712],[93.385492,32.525294],[93.411977,32.558086],[93.4631,32.556069],[93.476651,32.504603],[93.501904,32.503593],[93.516687,32.47583],[93.618933,32.522771],[93.651577,32.571705],[93.721795,32.578261],[93.75136,32.56313],[93.820345,32.549511],[93.851142,32.50965],[93.861613,32.466237],[93.90904,32.463207],[93.960163,32.484917],[93.978641,32.459672],[94.03038,32.448057],[94.049474,32.469771],[94.091974,32.463207],[94.137554,32.433915],[94.176974,32.454117],[94.196684,32.51621],[94.250886,32.51722],[94.292154,32.502584],[94.294002,32.519743],[94.350053,32.533871],[94.371611,32.524789],[94.395016,32.594397],[94.435052,32.562626],[94.463386,32.572209],[94.459074,32.599439],[94.522516,32.595909],[94.591501,32.640772],[94.614291,32.673522],[94.638312,32.645307],[94.737479,32.587338],[94.762116,32.526303],[94.78737,32.522266],[94.80708,32.486431],[94.852043,32.463712],[94.889616,32.472295],[94.912405,32.41573],[94.944434,32.404109],[94.988166,32.422802],[95.057151,32.395014],[95.075013,32.376315],[95.075013,32.376315],[95.081789,32.384907],[95.153853,32.386423],[95.218527,32.397035],[95.228382,32.363678],[95.261643,32.348006],[95.193274,32.332331],[95.096571,32.322217],[95.079325,32.279726],[95.10581,32.258979],[95.20744,32.297433],[95.214216,32.321712],[95.241317,32.3207],[95.239469,32.287315],[95.270266,32.194683],[95.270266,32.194683],[95.31523,32.148585],[95.366968,32.151118],[95.367584,32.178982],[95.406389,32.182021],[95.440265,32.157705],[95.454432,32.061898],[95.421171,32.033999],[95.454432,32.007613],[95.395918,32.001523],[95.360809,31.95939],[95.3682,31.92892],[95.408852,31.918761],[95.406389,31.896915],[95.456896,31.801853],[95.480301,31.795749],[95.511714,31.750468],[95.546823,31.73978],[95.580083,31.76726],[95.634286,31.782523],[95.779648,31.748941],[95.823995,31.68225],[95.853561,31.714329],[95.846169,31.736218],[95.89914,31.81711],[95.983524,31.816601],[95.989067,31.78761],[96.064828,31.720438],[96.135661,31.70211],[96.148595,31.686324],[96.156603,31.602769],[96.207726,31.598691],[96.221892,31.647613],[96.245298,31.657802],[96.252073,31.697527],[96.222508,31.733164],[96.231131,31.749959],[96.178161,31.775401],[96.183088,31.835924],[96.202798,31.841008],[96.214501,31.876589],[96.188632,31.904028],[96.220044,31.905553],[96.253305,31.929936],[96.288414,31.919777],[96.389428,31.919777],[96.407906,31.845583],[96.435623,31.796258],[96.468884,31.769804],[96.519391,31.74945],[96.56805,31.711783],[96.615477,31.737236],[96.661057,31.705674],[96.691854,31.722474],[96.722651,31.686833],[96.778701,31.675629],[96.790404,31.698545],[96.840295,31.720438],[96.799027,31.792188],[96.765767,31.819144],[96.760223,31.860325],[96.794716,31.869474],[96.81073,31.894375],[96.776238,31.935015],[96.753448,31.944156],[96.742977,32.001016],[96.722651,32.013195],[96.824281,32.007613],[96.868629,31.964975],[96.863085,31.996448],[96.894498,32.013703],[96.941925,31.986297],[96.965947,32.008628],[96.935766,32.048203],[97.006599,32.067984],[97.028773,32.04871],[97.127323,32.044145],[97.169823,32.032984],[97.188301,32.055304],[97.214786,32.042623],[97.233881,32.063927],[97.201852,32.090296],[97.219714,32.109054],[97.258518,32.072041],[97.308409,32.076605],[97.293011,32.096887],[97.313953,32.130342],[97.271453,32.139971],[97.264062,32.182527],[97.299786,32.294904],[97.32196,32.303503],[97.371235,32.273148],[97.415583,32.296421],[97.424822,32.322723],[97.387865,32.427349],[97.341054,32.440987],[97.388481,32.501575],[97.334895,32.514192],[97.332431,32.542448],[97.3583,32.563635],[97.374315,32.546484],[97.411887,32.575235],[97.448843,32.586833],[97.463626,32.55506],[97.50243,32.530844],[97.540618,32.536899],[97.670582,32.51722],[97.684132,32.530339],[97.730944,32.527312],[97.700763,32.53488],[97.616995,32.586329],[97.607756,32.614059],[97.543698,32.62162],[97.535075,32.638252],[97.48272,32.654377],[97.42359,32.70475],[97.429133,32.714318],[97.386018,32.77925],[97.392793,32.828546],[97.376163,32.886359],[97.347829,32.895907],[97.375547,32.956689],[97.438372,32.976271],[97.523988,32.988822],[97.499966,33.011408],[97.542466,33.035995],[97.517213,33.097683],[97.487032,33.107209],[97.498119,33.137783],[97.487648,33.168346],[97.548626,33.203907],[97.607756,33.263976],[97.622538,33.337005],[97.676125,33.341004],[97.754349,33.409972],[97.674893,33.432949],[97.625618,33.461412],[97.552321,33.465906],[97.511669,33.520805],[97.523372,33.577166],[97.450075,33.582152],[97.415583,33.605582],[97.435293,33.682307],[97.418046,33.728608],[97.422974,33.754984],[97.406344,33.795278],[97.373083,33.817655],[97.371851,33.842015],[97.398336,33.848477],[97.395257,33.889224],[97.460546,33.887236],[97.503662,33.912073],[97.52214,33.903133],[97.601596,33.929951],[97.629314,33.919523],[97.660111,33.956264],[97.652719,33.998448],[97.70261,34.036644],[97.665654,34.126855],[97.766668,34.158555],[97.789458,34.182818],[97.789458,34.182818],[97.796849,34.199154],[97.796849,34.199154],[97.8104,34.207568],[97.898479,34.209548],[97.95453,34.190739],[98.028442,34.122892],[98.098043,34.122892],[98.158405,34.107037],[98.206449,34.08424],[98.258188,34.083249],[98.344419,34.094648],[98.399854,34.085231],[98.396774,34.053008],[98.428187,34.029204],[98.440506,33.981577],[98.415252,33.956761],[98.425723,33.913066],[98.407245,33.867362],[98.434962,33.843009],[98.463295,33.848477],[98.492861,33.796272],[98.494092,33.768915],[98.51873,33.77389],[98.539672,33.746525],[98.582788,33.731595],[98.610505,33.682805],[98.6567,33.64744],[98.61728,33.637476],[98.622824,33.610067],[98.652389,33.595114],[98.648077,33.548741],[98.678258,33.522801],[98.725686,33.503341],[98.742316,33.477887],[98.736157,33.406975],[98.779888,33.370497],[98.759562,33.276985],[98.802062,33.270481],[98.804526,33.219428],[98.858728,33.150811],[98.92217,33.118738],[98.967134,33.115229],[98.971445,33.098185],[99.014561,33.081137],[99.024416,33.094675],[99.090322,33.079131],[99.124814,33.046028],[99.196263,33.035493],[99.214741,32.991332],[99.235067,32.982296],[99.24677,32.924043],[99.268944,32.878318],[99.353944,32.885354],[99.376118,32.899927],[99.45311,32.862233],[99.558436,32.839106],[99.589233,32.789312],[99.640355,32.790822],[99.646515,32.774721],[99.700718,32.76667],[99.717964,32.732443],[99.760464,32.769689],[99.766623,32.826032],[99.791877,32.883344],[99.764159,32.924545],[99.788181,32.956689],[99.805427,32.940619],[99.851007,32.941623],[99.877492,32.993339],[99.877492,33.045527],[99.947709,32.986814],[99.956332,32.948152],[100.038252,32.929066],[100.029629,32.895907],[100.064738,32.895907],[100.123252,32.837095],[100.117093,32.802392],[100.139266,32.724388],[100.088143,32.668988],[100.109701,32.640268],[100.189773,32.630692],[100.208252,32.606497],[100.229809,32.650346],[100.231041,32.696189],[100.258759,32.742511],[100.339447,32.719353],[100.399193,32.756101],[100.378251,32.698707],[100.420135,32.73194],[100.450932,32.694678],[100.470026,32.694678],[100.516837,32.632204],[100.54517,32.569687],[100.603069,32.553547],[100.645568,32.526303],[100.657887,32.546484],[100.661583,32.616075],[100.673286,32.628172],[100.710242,32.610026],[100.71209,32.645307],[100.690532,32.678056],[100.77122,32.643795],[100.834046,32.648835],[100.887633,32.632708],[100.93198,32.600447],[100.956618,32.621116],[100.99727,32.627668],[101.030531,32.660424],[101.077342,32.68259],[101.124769,32.658408],[101.157414,32.661431],[101.22332,32.725898],[101.237486,32.825026],[101.223935,32.855698],[101.178356,32.892892],[101.124153,32.909976],[101.134624,32.95217],[101.129081,32.989324],[101.183899,32.984304],[101.171581,33.009902],[101.184515,33.041514],[101.146327,33.056563],[101.143863,33.086151],[101.169733,33.10019],[101.11553,33.194893],[101.124769,33.221431],[101.156798,33.236449],[101.182668,33.26948],[101.217776,33.256469],[101.297232,33.262475],[101.381616,33.153316],[101.393935,33.157826],[101.386543,33.207412],[101.403174,33.225436],[101.487557,33.226938],[101.515275,33.192889],[101.557775,33.167344],[101.633535,33.101193],[101.661252,33.135778],[101.653861,33.162835],[101.709912,33.21292],[101.735781,33.279987],[101.677883,33.297497],[101.64955,33.323004],[101.663716,33.383991],[101.695745,33.433948],[101.769042,33.45592],[101.777665,33.533776],[101.769042,33.538765],[101.748716,33.505337],[101.718535,33.494857],[101.622448,33.502343],[101.611977,33.565199],[101.616905,33.598603],[101.585492,33.645448],[101.58426,33.674339],[101.501724,33.702723],[101.428427,33.680315],[101.424732,33.655411],[101.385312,33.644949],[101.302776,33.657902],[101.23687,33.685793],[101.217776,33.669856],[101.166653,33.659894],[101.177124,33.685295],[101.162957,33.719649],[101.186363,33.741051],[101.190675,33.791796],[101.153102,33.823124],[101.153718,33.8445],[101.054552,33.863386],[101.023139,33.896178],[100.994806,33.891707],[100.965857,33.946832],[100.927669,33.975126],[100.93506,33.990013],[100.880857,34.036644],[100.870386,34.083744],[100.848828,34.089692],[100.806329,34.155584],[100.764445,34.178857],[100.809408,34.247153],[100.798321,34.260014],[100.821727,34.317371],[100.868538,34.332693],[100.895024,34.375183],[100.951074,34.38358],[100.986799,34.374689],[101.054552,34.322808],[101.098284,34.329233],[101.178356,34.320831],[101.193754,34.336646],[101.235022,34.325279],[101.228863,34.298586],[101.268899,34.278808],[101.325565,34.268423],[101.327413,34.24468],[101.369913,34.248143],[101.417956,34.227858],[101.482014,34.218951],[101.492485,34.195689],[101.53868,34.212022],[101.6206,34.178857],[101.674187,34.110506],[101.703136,34.119424],[101.718535,34.083249],[101.736397,34.080275],[101.764114,34.122892],[101.788136,34.131809],[101.836795,34.124378],[101.851578,34.153108],[101.874367,34.130323],[101.897773,34.133791],[101.955055,34.109514],[101.965526,34.167469],[102.003099,34.162022],[102.030816,34.190739],[102.01357,34.218456],[102.062229,34.227858],[102.067772,34.293642],[102.149692,34.271885],[102.186649,34.352952],[102.237156,34.34307],[102.237156,34.34307],[102.259329,34.355917],[102.205743,34.407777],[102.169402,34.457631],[102.155852,34.507456],[102.139837,34.50351],[102.093026,34.536547],[102.001867,34.538519],[101.97415,34.548871],[101.956287,34.582876],[101.934729,34.58731],[101.919947,34.621791],[101.917483,34.705964],[101.923027,34.835746],[101.916867,34.873561],[101.985852,34.90007],[102.068388,34.887798],[102.048062,34.910868],[102.094874,34.986901],[102.133678,35.014844],[102.157699,35.010923],[102.176178,35.032977],[102.211286,35.034937],[102.218062,35.057475],[102.252554,35.048657],[102.29567,35.071681],[102.310452,35.128967],[102.346793,35.164201],[102.404075,35.179366],[102.365887,35.235599],[102.370199,35.263946],[102.3123,35.282512],[102.280887,35.303028],[102.311684,35.31426],[102.317844,35.343067],[102.287663,35.36552],[102.293822,35.424063],[102.314764,35.434303],[102.408387,35.409431],[102.447807,35.437229],[102.437952,35.455268],[102.49893,35.545403],[102.503241,35.585322],[102.531575,35.580455],[102.570995,35.548324],[102.695414,35.528358],[102.743458,35.494745],[102.782878,35.527871],[102.729291,35.523487],[102.746537,35.545403],[102.808747,35.560496],[102.763168,35.612086],[102.7644,35.653431],[102.744074,35.657807],[102.707733,35.70496],[102.686175,35.771996],[102.715125,35.815685],[102.739146,35.821023],[102.787189,35.862745],[102.81737,35.850133],[102.914073,35.845282],[102.94487,35.829757],[102.954725,35.858864],[102.942406,35.92674],[102.971971,35.995525],[102.951645,36.021667],[102.968276,36.044414],[102.932551,36.048285],[102.882044,36.082632],[102.941174,36.104877],[102.948566,36.150798],[102.965812,36.151765],[102.986754,36.193312],[103.048964,36.199107],[103.066826,36.216974],[103.021246,36.232906],[103.024942,36.256556],[102.922696,36.298047],[102.896827,36.331803],[102.845704,36.331803],[102.836465,36.344819],[102.829689,36.365544]]]]}},{type:"Feature",properties:{adcode:64e4,name:"宁夏回族自治区",center:[106.278179,38.46637],centroid:[106.169866,37.291332],childrenNum:5,level:"province",parent:{adcode:1e5},subFeatureIndex:29,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[107.268764,37.099367],[107.281083,37.127047],[107.306952,37.100799],[107.334669,37.138975],[107.336517,37.165687],[107.317423,37.200017],[107.270612,37.229089],[107.309416,37.239095],[107.273075,37.29101],[107.257677,37.337179],[107.282931,37.437036],[107.284162,37.481691],[107.345756,37.518725],[107.369162,37.58752],[107.330358,37.584201],[107.311264,37.609806],[107.361155,37.613125],[107.422133,37.665254],[107.389488,37.671413],[107.387024,37.691305],[107.425828,37.684201],[107.484959,37.706458],[107.499125,37.765619],[107.57119,37.776499],[107.599523,37.791162],[107.620465,37.776026],[107.646335,37.805349],[107.659269,37.844112],[107.65003,37.86443],[107.560719,37.893717],[107.49235,37.944706],[107.448618,37.933378],[107.411662,37.948009],[107.440611,37.995659],[107.3938,38.014993],[107.33159,38.086625],[107.240431,38.111586],[107.19054,38.153953],[107.138801,38.161011],[107.119091,38.134185],[107.071047,38.138892],[107.051337,38.122886],[107.010069,38.120532],[106.942316,38.132302],[106.858548,38.156306],[106.779092,38.171833],[106.737824,38.197706],[106.654672,38.22921],[106.627571,38.232501],[106.555506,38.263521],[106.482209,38.319417],[106.599854,38.389812],[106.647897,38.470917],[106.66268,38.601524],[106.709491,38.718821],[106.756302,38.748699],[106.837606,38.847579],[106.954019,38.941202],[106.971881,39.026333],[106.96757,39.054688],[106.933693,39.076527],[106.878874,39.091392],[106.859164,39.107648],[106.825288,39.19397],[106.795723,39.214375],[106.790795,39.241263],[106.806193,39.277407],[106.806809,39.318625],[106.781556,39.371849],[106.751375,39.381564],[106.683622,39.357506],[106.643586,39.357969],[106.602318,39.37555],[106.556122,39.322329],[106.525325,39.308439],[106.511774,39.272311],[106.402753,39.291767],[106.280181,39.262118],[106.29558,39.167992],[106.285109,39.146181],[106.251232,39.131327],[106.192718,39.142932],[106.170544,39.163352],[106.145907,39.153142],[106.096631,39.084889],[106.078153,39.026333],[106.087392,39.006339],[106.060907,38.96866],[106.021487,38.953769],[105.97098,38.909077],[105.992538,38.857366],[105.909386,38.791159],[105.908154,38.737496],[105.88598,38.716953],[105.894603,38.696405],[105.852719,38.641735],[105.874277,38.593105],[105.856415,38.569714],[105.863806,38.53508],[105.836705,38.476071],[105.850872,38.443736],[105.827466,38.432486],[105.835473,38.387467],[105.821307,38.366824],[105.86627,38.296406],[105.842248,38.240962],[105.802828,38.220277],[105.775111,38.186887],[105.76772,38.121474],[105.780655,38.084741],[105.840401,38.004147],[105.799749,37.939986],[105.80406,37.862068],[105.760944,37.799674],[105.677177,37.771769],[105.622358,37.777919],[105.616199,37.722555],[105.598952,37.699356],[105.467141,37.695094],[105.4037,37.710246],[105.315004,37.702197],[105.221998,37.677097],[105.187505,37.657674],[105.111128,37.633981],[105.027977,37.580881],[104.866601,37.566651],[104.805007,37.539133],[104.623305,37.522522],[104.433595,37.515402],[104.419429,37.511604],[104.407726,37.464592],[104.322726,37.44844],[104.287002,37.428007],[104.298705,37.414223],[104.365226,37.418026],[104.437907,37.445589],[104.448994,37.42468],[104.499501,37.421353],[104.521059,37.43466],[104.679971,37.408044],[104.662109,37.367626],[104.713848,37.329566],[104.673812,37.317668],[104.651022,37.290534],[104.624536,37.298627],[104.600515,37.242907],[104.638087,37.201923],[104.717543,37.208597],[104.776673,37.246718],[104.85613,37.211933],[104.864753,37.17284],[104.888158,37.15901],[104.914644,37.097935],[104.954064,37.077407],[104.95468,37.040156],[105.004571,37.035378],[105.03968,37.007187],[105.05939,37.022956],[105.128991,36.996194],[105.165331,36.99476],[105.185657,36.942164],[105.178882,36.892403],[105.244787,36.894796],[105.279896,36.86751],[105.303302,36.820575],[105.334714,36.80093],[105.340874,36.764502],[105.319932,36.742924],[105.275584,36.752515],[105.272505,36.739567],[105.218302,36.730455],[105.201056,36.700711],[105.225693,36.664716],[105.22015,36.631105],[105.261418,36.602764],[105.2762,36.563358],[105.252179,36.553263],[105.281744,36.522489],[105.322396,36.535954],[105.362432,36.496514],[105.363048,36.443093],[105.398156,36.430575],[105.401236,36.369881],[105.425873,36.330357],[105.455439,36.321678],[105.476381,36.293224],[105.45975,36.268137],[105.460366,36.223733],[105.478844,36.213111],[105.515185,36.147415],[105.491163,36.101009],[105.430801,36.10391],[105.406163,36.074409],[105.343954,36.033767],[105.324859,35.941761],[105.350113,35.875839],[105.39754,35.857409],[105.371055,35.844312],[105.38091,35.792873],[105.408627,35.822479],[105.428953,35.819082],[105.432033,35.787533],[105.457286,35.771511],[105.481924,35.727312],[105.595873,35.715651],[105.667322,35.749657],[105.70243,35.733142],[105.759097,35.724883],[105.740618,35.698643],[105.723988,35.725854],[105.690727,35.698643],[105.722756,35.673366],[105.713517,35.650513],[105.759097,35.634464],[105.762176,35.602841],[105.800365,35.564878],[105.816379,35.575101],[105.847176,35.490359],[105.868734,35.540046],[105.900147,35.54735],[106.017175,35.519103],[106.023335,35.49377],[106.047356,35.498155],[106.078769,35.509848],[106.071994,35.463555],[106.06953,35.458193],[106.073842,35.45478],[106.073226,35.450393],[106.071378,35.449418],[106.073226,35.447468],[106.083081,35.421624],[106.113262,35.361616],[106.129892,35.393333],[106.173008,35.437716],[106.196414,35.409919],[106.237681,35.409431],[106.241377,35.358687],[106.319601,35.265411],[106.363333,35.238532],[106.368261,35.273718],[106.415688,35.276161],[106.472354,35.310842],[106.501304,35.364056],[106.503767,35.415284],[106.483441,35.450393],[106.490217,35.480613],[106.465579,35.481101],[106.440941,35.52641],[106.460036,35.578995],[106.47913,35.575101],[106.460036,35.643705],[106.434782,35.688436],[106.49268,35.732656],[106.506231,35.737514],[106.566593,35.738971],[106.595542,35.727312],[106.620796,35.743829],[106.633115,35.714679],[106.66268,35.70739],[106.674998,35.728284],[106.750759,35.689408],[106.750759,35.725369],[106.806193,35.70982],[106.819128,35.7448],[106.867171,35.738485],[106.868403,35.771996],[106.897353,35.759856],[106.927534,35.810346],[106.849925,35.887476],[106.912751,35.93207],[106.940468,35.931101],[106.93862,35.952905],[106.90228,35.943699],[106.94786,35.988262],[106.928149,36.011502],[106.940468,36.064734],[106.957715,36.091337],[106.925686,36.115997],[106.930613,36.138716],[106.873947,36.178338],[106.873947,36.178338],[106.858548,36.206834],[106.858548,36.206834],[106.833295,36.229044],[106.808657,36.21118],[106.772933,36.212628],[106.735976,36.23725],[106.698404,36.244008],[106.685469,36.273445],[106.647897,36.259451],[106.559202,36.292259],[106.54134,36.25366],[106.504383,36.266207],[106.470507,36.306246],[106.497608,36.31348],[106.510543,36.379037],[106.492064,36.422389],[106.523477,36.468605],[106.494528,36.494589],[106.455724,36.496995],[106.39721,36.548455],[106.37134,36.549417],[106.363949,36.577296],[106.392282,36.556628],[106.397826,36.576816],[106.444637,36.557109],[106.465579,36.583063],[106.444637,36.624861],[106.491448,36.628703],[106.490833,36.685835],[106.530869,36.690154],[106.519782,36.708868],[106.519782,36.708868],[106.514238,36.715584],[106.59431,36.750118],[106.644817,36.72278],[106.627571,36.752995],[106.657752,36.820575],[106.637426,36.867031],[106.637426,36.867031],[106.626955,36.892403],[106.609709,36.878521],[106.609709,36.878521],[106.601702,36.918244],[106.549347,36.941685],[106.540108,36.984244],[106.595542,36.94025],[106.594926,36.967988],[106.64297,36.962729],[106.646665,37.000496],[106.666991,37.016745],[106.645433,37.064992],[106.605397,37.127524],[106.6171,37.135158],[106.673151,37.1113],[106.687933,37.12991],[106.728585,37.121321],[106.750143,37.09889],[106.772933,37.120367],[106.776012,37.158056],[106.818512,37.141838],[106.891193,37.098413],[106.912135,37.110345],[106.905976,37.151378],[106.998367,37.106527],[107.031011,37.108436],[107.030395,37.140883],[107.095685,37.115595],[107.133873,37.134681],[107.181916,37.143269],[107.234887,37.096503],[107.268764,37.099367]]],[[[106.048588,35.488898],[105.897683,35.451368],[105.894603,35.413821],[106.002393,35.438692],[106.034422,35.469404],[106.054132,35.45478],[106.048588,35.488898]]],[[[106.073842,35.45478],[106.06953,35.458193],[106.071378,35.449418],[106.073226,35.450393],[106.073842,35.45478]]]]}},{type:"Feature",properties:{adcode:65e4,name:"新疆维吾尔自治区",center:[87.617733,43.792818],centroid:[85.294711,41.371801],childrenNum:24,level:"province",parent:{adcode:1e5},subFeatureIndex:30,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[96.386348,42.727592],[96.363558,42.900562],[95.921314,43.229789],[95.880046,43.28035],[95.857872,43.417436],[95.735916,43.597569],[95.705735,43.67077],[95.645373,43.787966],[95.623199,43.855756],[95.527113,44.007466],[95.426099,44.009618],[95.377439,44.025972],[95.326932,44.028554],[95.35157,44.090054],[95.355882,44.166087],[95.376208,44.227444],[95.4107,44.245024],[95.43041,44.281882],[95.41378,44.298589],[95.238853,44.277169],[95.1286,44.269884],[94.998637,44.253169],[94.945666,44.292592],[94.826174,44.320001],[94.768275,44.34055],[94.722696,44.34055],[94.673421,44.397021],[94.606283,44.448311],[94.557008,44.462408],[94.470777,44.509373],[94.390705,44.521749],[94.359292,44.515775],[94.329727,44.582734],[94.279836,44.603617],[94.227481,44.645785],[94.215162,44.667921],[94.152336,44.684944],[94.066105,44.732154],[93.723642,44.865498],[93.716251,44.894334],[93.613389,44.926546],[93.509296,44.968055],[93.434767,44.955351],[93.376869,44.985412],[93.314659,44.995147],[93.314043,44.980333],[93.252449,44.991761],[93.174225,45.015458],[93.100312,45.007419],[93.062124,45.018419],[93.002377,45.009958],[92.932776,45.017573],[92.922921,45.03703],[92.884117,45.046756],[92.847777,45.038721],[92.779407,45.050561],[92.683937,45.02561],[92.547814,45.018419],[92.501003,45.001072],[92.414155,45.018419],[92.348866,45.014188],[92.315605,45.028994],[92.240461,45.015881],[92.100026,45.081417],[92.056911,45.086911],[91.885679,45.078882],[91.803144,45.082685],[91.694738,45.065357],[91.561695,45.075501],[91.500101,45.103809],[91.448978,45.156586],[91.429268,45.156586],[91.37753,45.11099],[91.33503,45.129571],[91.242023,45.13717],[91.230936,45.153632],[91.195827,45.159118],[91.17119,45.199616],[91.129922,45.21606],[91.050466,45.208892],[91.007966,45.218589],[90.96177,45.201303],[90.881698,45.192025],[90.866916,45.209314],[90.897713,45.249776],[90.877387,45.280946],[90.831807,45.300313],[90.804706,45.29484],[90.813329,45.32851],[90.773909,45.405874],[90.772677,45.432338],[90.723402,45.464667],[90.671047,45.487747],[90.676591,45.582488],[90.714779,45.728895],[90.799778,45.834905],[90.890937,45.921566],[91.028292,46.023054],[91.014741,46.06667],[91.021517,46.121038],[90.98456,46.160431],[90.94822,46.219262],[90.955611,46.233752],[90.900177,46.31235],[90.983328,46.374734],[90.996263,46.419309],[91.025828,46.444057],[91.038147,46.500936],[91.060937,46.516999],[91.079415,46.558989],[91.068328,46.579149],[91.017821,46.58244],[91.036299,46.670393],[91.054161,46.717598],[91.019053,46.766402],[90.992567,46.769682],[90.992567,46.790583],[90.942676,46.82581],[90.958075,46.879425],[90.929742,46.893331],[90.92235,46.938707],[90.901408,46.960768],[90.830575,46.995883],[90.767134,46.992617],[90.691989,47.080717],[90.653801,47.111681],[90.579888,47.198364],[90.56141,47.206903],[90.521374,47.2845],[90.488113,47.317374],[90.526301,47.379007],[90.507823,47.400076],[90.468403,47.404937],[90.459164,47.43895],[90.474562,47.462422],[90.468403,47.497611],[90.398186,47.547724],[90.376012,47.603036],[90.346447,47.637324],[90.384635,47.644179],[90.331665,47.681663],[90.216484,47.70543],[90.180144,47.72516],[90.13518,47.723147],[90.07605,47.777469],[90.070506,47.820483],[90.086521,47.86547],[90.066195,47.883534],[90.040941,47.874704],[89.960253,47.885942],[89.957789,47.842982],[89.86971,47.834144],[89.761921,47.835751],[89.735435,47.89758],[89.651052,47.913627],[89.645508,47.947711],[89.595617,47.973359],[89.599313,48.015811],[89.569132,48.037825],[89.498299,48.02822],[89.38127,48.046227],[89.359712,48.026219],[89.308589,48.021816],[89.282104,47.994189],[89.231597,47.98017],[89.156452,47.996992],[89.078228,47.98698],[89.044967,48.009806],[89.027105,48.051028],[88.953808,48.090618],[88.939026,48.115396],[88.824461,48.107005],[88.79736,48.133772],[88.721599,48.160526],[88.700657,48.180881],[88.668628,48.171303],[88.638447,48.183674],[88.601491,48.221567],[88.594716,48.259831],[88.575006,48.277757],[88.605803,48.337863],[88.573774,48.351785],[88.573158,48.369679],[88.535586,48.368884],[88.523267,48.403461],[88.503557,48.412996],[88.462289,48.392335],[88.438267,48.393528],[88.360659,48.433251],[88.363123,48.460641],[88.318159,48.478497],[88.229464,48.498329],[88.196819,48.493967],[88.151855,48.526478],[88.130297,48.521721],[88.10874,48.545895],[88.041602,48.548272],[87.973233,48.575997],[87.96153,48.599353],[88.010805,48.618742],[88.02682,48.65315],[88.089645,48.69504],[88.090877,48.71992],[88.064392,48.712813],[88.029283,48.750313],[87.96153,48.773588],[87.93874,48.757809],[87.872219,48.799612],[87.826639,48.800795],[87.803234,48.824835],[87.829103,48.825623],[87.792147,48.849258],[87.78106,48.872094],[87.742256,48.881146],[87.760118,48.925992],[87.793995,48.927565],[87.814321,48.945256],[87.87653,48.949186],[87.871603,48.963726],[87.911639,48.979833],[87.883922,48.993971],[87.883306,49.023806],[87.835263,49.054406],[87.858052,49.07362],[87.844502,49.090084],[87.867291,49.108892],[87.845733,49.146096],[87.82048,49.148445],[87.821096,49.173883],[87.793379,49.18249],[87.762582,49.172709],[87.700372,49.175839],[87.67635,49.15549],[87.602437,49.152359],[87.563017,49.142572],[87.517438,49.145704],[87.49588,49.132001],[87.511894,49.10184],[87.43675,49.075188],[87.388707,49.097921],[87.304939,49.112418],[87.239033,49.114376],[87.211932,49.140615],[87.112766,49.15549],[87.088128,49.133567],[87.000049,49.142572],[86.953853,49.131218],[86.887948,49.132001],[86.854071,49.109284],[86.84976,49.066563],[86.836209,49.051269],[86.772151,49.02773],[86.732115,48.994757],[86.730267,48.959797],[86.757985,48.894919],[86.782006,48.887049],[86.821426,48.850439],[86.818963,48.831139],[86.770303,48.810255],[86.754289,48.78463],[86.780774,48.731369],[86.771535,48.717156],[86.70255,48.666195],[86.693311,48.64366],[86.640956,48.629027],[86.635413,48.612016],[86.594761,48.576789],[86.579978,48.538763],[86.416138,48.481671],[86.38103,48.49357],[86.305269,48.491984],[86.270161,48.452307],[86.225813,48.432456],[86.053966,48.441192],[85.916612,48.438015],[85.791576,48.418954],[85.758315,48.403064],[85.695489,48.335078],[85.695489,48.302445],[85.678243,48.266205],[85.633895,48.232731],[85.622193,48.202824],[85.587084,48.191654],[85.576613,48.15853],[85.55136,48.127781],[85.551975,48.081423],[85.531649,48.046227],[85.547048,48.008205],[85.617881,47.550552],[85.614801,47.498015],[85.685018,47.428829],[85.701649,47.384275],[85.675779,47.321837],[85.701033,47.28856],[85.682555,47.249982],[85.682555,47.222757],[85.641903,47.18413],[85.582772,47.142626],[85.547048,47.096609],[85.545816,47.057891],[85.441106,47.063191],[85.355491,47.054629],[85.325926,47.044842],[85.276651,47.068898],[85.213825,47.041172],[85.175637,46.997924],[85.102956,46.968936],[85.082014,46.939933],[84.987159,46.918272],[84.979768,46.883106],[84.95513,46.861013],[84.934188,46.863878],[84.867051,46.927673],[84.849189,46.957092],[84.781435,46.979962],[84.748175,47.009759],[84.699515,47.008535],[84.668718,46.995067],[84.563393,46.991801],[84.506726,46.97302],[84.425422,47.008943],[84.37122,46.993434],[84.336727,47.00527],[84.2893,46.994658],[84.195061,47.003638],[84.150098,46.977512],[84.086656,46.965261],[84.038613,46.973428],[84.002888,46.990576],[83.951765,46.98731],[83.932671,46.970161],[83.88586,46.982003],[83.766367,47.026896],[83.69923,47.015472],[83.700462,47.032199],[83.576042,47.059114],[83.566803,47.080717],[83.53847,47.083977],[83.463325,47.132042],[83.418978,47.119012],[83.370318,47.178436],[83.324739,47.167858],[83.306261,47.179656],[83.257602,47.173147],[83.221877,47.186977],[83.207094,47.213814],[83.17445,47.218286],[83.15474,47.236168],[83.108544,47.221944],[83.02724,47.21544],[83.031552,47.168265],[82.993364,47.065229],[82.937929,47.014248],[82.923762,46.932169],[82.876335,46.823762],[82.878183,46.797138],[82.829524,46.772551],[82.788872,46.677784],[82.774089,46.600124],[82.726662,46.494756],[82.609017,46.294985],[82.518474,46.153798],[82.461808,45.97982],[82.401446,45.972333],[82.342932,45.935303],[82.336156,45.882418],[82.349707,45.822811],[82.340468,45.772742],[82.289961,45.71636],[82.288729,45.655321],[82.266555,45.620172],[82.281954,45.53891],[82.448257,45.461309],[82.546808,45.426038],[82.60101,45.346178],[82.58746,45.224069],[82.562822,45.204676],[82.487061,45.181058],[82.344779,45.219011],[82.294272,45.247669],[82.206809,45.236713],[82.109491,45.211422],[82.091012,45.222383],[82.09594,45.249776],[82.052824,45.255674],[81.993078,45.237978],[81.921013,45.233342],[81.879745,45.284314],[81.832318,45.319673],[81.78797,45.3836],[81.677101,45.35459],[81.645072,45.359216],[81.582863,45.336503],[81.575471,45.30789],[81.536667,45.304101],[81.52866,45.285999],[81.462754,45.264099],[81.437501,45.28263],[81.398697,45.275471],[81.382066,45.257781],[81.327864,45.260729],[81.284748,45.23882],[81.236705,45.247248],[81.175111,45.227863],[81.170183,45.211001],[81.111669,45.218168],[81.080872,45.182745],[81.024821,45.162916],[80.966307,45.168402],[80.93551,45.160384],[80.897938,45.127459],[80.862214,45.127037],[80.816634,45.152788],[80.731634,45.156164],[80.686055,45.129148],[80.599207,45.105921],[80.519135,45.108878],[80.493882,45.127037],[80.445839,45.097895],[80.443991,45.077614],[80.404571,45.049293],[80.358375,45.040836],[80.328194,45.070007],[80.291854,45.06578],[80.24381,45.031532],[80.195767,45.030686],[80.144644,45.059017],[80.136021,45.041259],[80.111999,45.052675],[80.060876,45.026033],[80.056565,45.011227],[79.98142,44.964244],[79.951855,44.957892],[79.944464,44.937985],[79.887798,44.90917],[79.969102,44.877797],[79.953703,44.849377],[79.991891,44.830281],[79.999283,44.793768],[80.087978,44.817122],[80.115695,44.815424],[80.169898,44.84471],[80.18776,44.825612],[80.178521,44.796741],[80.200695,44.756808],[80.238883,44.7228],[80.313412,44.704938],[80.400259,44.628751],[80.411962,44.605321],[80.350368,44.484615],[80.383013,44.401297],[80.399027,44.30587],[80.413194,44.264741],[80.400875,44.198704],[80.407034,44.149772],[80.3941,44.127009],[80.449534,44.078017],[80.458773,44.047054],[80.457541,43.981203],[80.485259,43.95579],[80.475404,43.938124],[80.511128,43.906657],[80.522215,43.816473],[80.75504,43.494329],[80.761199,43.446554],[80.746417,43.439167],[80.735946,43.389609],[80.686055,43.333916],[80.69283,43.32042],[80.777214,43.308227],[80.769207,43.265535],[80.788917,43.242433],[80.789533,43.201876],[80.804315,43.178314],[80.79446,43.137277],[80.752576,43.148194],[80.73225,43.131163],[80.706997,43.143828],[80.650946,43.147321],[80.593048,43.133347],[80.556092,43.104515],[80.482795,43.06955],[80.416889,43.05687],[80.378701,43.031502],[80.397795,42.996933],[80.487106,42.948766],[80.5912,42.923354],[80.602903,42.894424],[80.503737,42.882146],[80.450766,42.861971],[80.407034,42.834767],[80.338049,42.831695],[80.280151,42.838278],[80.262289,42.828623],[80.259209,42.790865],[80.225948,42.713083],[80.228412,42.692852],[80.179753,42.670415],[80.163738,42.629919],[80.180985,42.590718],[80.221637,42.533415],[80.265368,42.502097],[80.225948,42.485769],[80.206238,42.431462],[80.239499,42.389927],[80.229028,42.358536],[80.283847,42.320493],[80.272144,42.281984],[80.29247,42.259842],[80.28631,42.233261],[80.233339,42.210215],[80.168666,42.200462],[80.163738,42.152563],[80.139717,42.151232],[80.16805,42.096635],[80.193303,42.081535],[80.14218,42.03488],[80.089826,42.047325],[79.923522,42.042436],[79.852689,42.015319],[79.854537,41.984186],[79.822508,41.963275],[79.776313,41.89248],[79.724574,41.896935],[79.640806,41.884907],[79.616784,41.856385],[79.550879,41.834094],[79.500988,41.835432],[79.457256,41.847915],[79.415372,41.836769],[79.356242,41.795735],[79.326061,41.809565],[79.276786,41.78101],[79.271858,41.767174],[79.21704,41.725648],[79.138199,41.722968],[79.10925,41.697503],[79.043345,41.681414],[79.021787,41.657273],[78.99407,41.664427],[78.957729,41.65146],[78.891824,41.597777],[78.86657,41.593749],[78.825302,41.560173],[78.739071,41.555695],[78.696571,41.54181],[78.707042,41.522098],[78.675629,41.50238],[78.650375,41.467411],[78.580774,41.481759],[78.527188,41.440947],[78.454507,41.412228],[78.391681,41.408189],[78.385522,41.394721],[78.338094,41.397415],[78.324544,41.384395],[78.235232,41.399211],[78.163783,41.383497],[78.149617,41.368228],[78.165015,41.340825],[78.136682,41.279239],[78.129291,41.228398],[78.094798,41.224347],[77.972842,41.173013],[77.905089,41.185174],[77.836104,41.153189],[77.814546,41.13426],[77.807155,41.091876],[77.829328,41.059394],[77.796068,41.049014],[77.780669,41.022832],[77.737553,41.032313],[77.684583,41.00793],[77.654402,41.016059],[77.597119,41.005221],[77.591576,40.992122],[77.540453,41.006575],[77.476395,40.999349],[77.473931,41.022832],[77.415417,41.038633],[77.363062,41.04089],[77.296541,41.004769],[77.236795,41.027798],[77.169041,41.009285],[77.108063,41.038181],[77.091433,41.062553],[77.023064,41.059394],[77.002122,41.073381],[76.940528,41.028701],[76.885709,41.027347],[76.85368,40.97631],[76.817956,40.975406],[76.761905,40.954167],[76.741579,40.912119],[76.731724,40.818887],[76.693536,40.779472],[76.646725,40.759983],[76.646725,40.73686],[76.676906,40.696036],[76.654732,40.652917],[76.657196,40.620218],[76.611,40.601591],[76.601145,40.578868],[76.556798,40.542495],[76.543247,40.513837],[76.539551,40.464226],[76.508754,40.429613],[76.470566,40.422779],[76.442233,40.391336],[76.390494,40.37766],[76.381871,40.39088],[76.333212,40.343459],[76.327668,40.391336],[76.283321,40.415034],[76.279625,40.439179],[76.22419,40.401819],[76.176147,40.381307],[76.144118,40.393615],[76.081293,40.39635],[76.048648,40.388601],[76.048648,40.357141],[76.026474,40.355317],[75.986438,40.381763],[75.932235,40.339353],[75.921764,40.291439],[75.890351,40.30924],[75.84046,40.312434],[75.831221,40.327492],[75.785642,40.301025],[75.739446,40.299199],[75.709265,40.280939],[75.688323,40.343915],[75.669845,40.363982],[75.686475,40.418223],[75.717272,40.443278],[75.733287,40.474242],[75.646439,40.516567],[75.631041,40.548862],[75.627345,40.605226],[75.636584,40.624306],[75.599628,40.659727],[75.550353,40.64883],[75.467817,40.599773],[75.432093,40.563412],[75.355716,40.537947],[75.292274,40.483802],[75.268869,40.483802],[75.242383,40.448743],[75.206659,40.447833],[75.13521,40.463315],[75.102565,40.44009],[75.051442,40.449654],[75.021877,40.466958],[74.995392,40.455119],[74.963363,40.464681],[74.891914,40.507467],[74.844486,40.521117],[74.819233,40.505647],[74.814921,40.461039],[74.795211,40.443278],[74.908544,40.338897],[74.862965,40.32658],[74.824776,40.344371],[74.700357,40.346195],[74.697893,40.310153],[74.673255,40.278656],[74.618437,40.27957],[74.577169,40.260391],[74.534669,40.207851],[74.485394,40.182251],[74.433039,40.13148],[74.356662,40.089371],[74.316626,40.106767],[74.280902,40.09807],[74.26304,40.125074],[74.126301,40.104479],[74.113366,40.086624],[74.023439,40.085251],[74.008041,40.050901],[73.943367,40.016076],[73.980324,40.004617],[73.910722,39.934443],[73.907027,39.873843],[73.845433,39.831115],[73.841737,39.756163],[73.905795,39.741899],[73.924273,39.722108],[73.953838,39.600018],[73.916266,39.586644],[73.914418,39.564041],[73.883621,39.540969],[73.893476,39.528046],[73.868223,39.482794],[73.836194,39.472169],[73.745651,39.462005],[73.6471,39.474479],[73.61076,39.465702],[73.592898,39.412087],[73.502355,39.383877],[73.554094,39.350102],[73.554709,39.295935],[73.542391,39.269531],[73.564564,39.266288],[73.580579,39.237555],[73.623079,39.235237],[73.639709,39.220402],[73.657571,39.166136],[73.688368,39.154999],[73.719781,39.108112],[73.720397,39.071881],[73.743187,39.029588],[73.780143,39.026798],[73.820179,39.041674],[73.839889,39.008199],[73.846665,38.962145],[73.826339,38.916993],[73.767824,38.941202],[73.742571,38.933754],[73.70931,38.893241],[73.699455,38.857832],[73.729636,38.837324],[73.769056,38.775765],[73.757353,38.719755],[73.809092,38.634256],[73.799237,38.610878],[73.852208,38.584217],[73.89902,38.579071],[73.926121,38.536016],[74.011736,38.52478],[74.034526,38.541634],[74.090577,38.542102],[74.068403,38.585621],[74.088113,38.610878],[74.11275,38.611345],[74.147859,38.676785],[74.229779,38.656224],[74.353583,38.655757],[74.421952,38.647812],[74.455829,38.632853],[74.506336,38.637528],[74.546988,38.607604],[74.613509,38.593105],[74.639995,38.599653],[74.717603,38.542102],[74.78474,38.538357],[74.821697,38.491062],[74.862965,38.484035],[74.868508,38.403883],[74.834015,38.361193],[74.789668,38.324581],[74.806914,38.285602],[74.793363,38.271039],[74.816769,38.215576],[74.80445,38.167128],[74.821697,38.10311],[74.879595,38.021122],[74.92579,38.01735],[74.911008,37.966884],[74.919015,37.908357],[74.936877,37.876241],[74.917167,37.845057],[74.989848,37.797783],[75.006478,37.770823],[74.949196,37.725395],[74.923327,37.717347],[74.920863,37.684675],[74.891914,37.668097],[74.940573,37.559061],[75.000935,37.53059],[75.002167,37.511604],[75.035428,37.500685],[75.078543,37.511129],[75.090862,37.486915],[75.129666,37.459367],[75.153072,37.414223],[75.125971,37.388075],[75.140137,37.355258],[75.125971,37.322427],[75.078543,37.318144],[75.018181,37.293867],[74.927022,37.277678],[74.911008,37.233378],[74.816153,37.216699],[74.800139,37.248147],[74.753943,37.281011],[74.727458,37.282916],[74.665864,37.23576],[74.642458,37.261485],[74.598727,37.258151],[74.578401,37.231472],[74.54514,37.2491],[74.511263,37.240048],[74.477387,37.19954],[74.487858,37.161871],[74.465068,37.147085],[74.496481,37.116072],[74.498944,37.072155],[74.530357,37.082182],[74.56793,37.032512],[74.617205,37.043499],[74.632603,37.066425],[74.70898,37.084569],[74.739161,37.028212],[74.792747,37.027257],[74.806914,37.054485],[74.84695,37.056873],[74.84387,37.0134],[74.86974,36.990458],[74.893762,36.939772],[74.938725,36.94312],[74.927638,36.978029],[75.005862,36.99476],[75.032348,37.016745],[75.063145,37.006231],[75.172166,37.013877],[75.16847,36.991892],[75.244847,36.963207],[75.288579,36.974682],[75.345861,36.960816],[75.413614,36.954599],[75.396368,36.904367],[75.430245,36.873255],[75.434556,36.83303],[75.425933,36.778883],[75.458578,36.720861],[75.504773,36.743404],[75.536802,36.729975],[75.537418,36.773131],[75.588541,36.762584],[75.634121,36.771693],[75.724048,36.750597],[75.8072,36.707908],[75.871257,36.666636],[75.947018,36.590752],[75.924228,36.566242],[75.991981,36.505654],[76.035097,36.409386],[75.991365,36.35205],[75.998757,36.312034],[76.055423,36.252695],[76.060967,36.225182],[76.011691,36.229044],[76.016619,36.165294],[75.96796,36.159013],[75.936547,36.13485],[75.949482,36.070056],[75.982742,36.031347],[76.028322,36.016827],[76.044336,36.026991],[76.097307,36.022635],[76.117017,35.975186],[76.16506,35.908807],[76.146582,35.839946],[76.160133,35.82442],[76.221727,35.823449],[76.228502,35.837035],[76.298719,35.841401],[76.365857,35.82442],[76.369552,35.86323],[76.431762,35.851589],[76.471798,35.886021],[76.51553,35.881173],[76.55803,35.923347],[76.59745,35.895718],[76.579587,35.866625],[76.587595,35.840431],[76.566037,35.819082],[76.593754,35.771996],[76.69292,35.747714],[76.769297,35.653917],[76.848753,35.668018],[76.906651,35.615005],[76.967013,35.591649],[76.99781,35.611113],[77.072339,35.591162],[77.093281,35.569746],[77.195527,35.519103],[77.307628,35.540533],[77.331649,35.530793],[77.355055,35.494257],[77.396939,35.467942],[77.451758,35.46063],[77.518895,35.482075],[77.578025,35.47574],[77.590344,35.460143],[77.639619,35.45478],[77.657481,35.477689],[77.690742,35.448443],[77.735706,35.461605],[77.757879,35.497181],[77.797299,35.491334],[77.816394,35.518616],[77.85643,35.487436],[77.870596,35.495232],[77.914944,35.465017],[77.917408,35.490847],[77.951284,35.478664],[78.009799,35.491821],[78.029509,35.469404],[78.048603,35.491334],[78.140378,35.494745],[78.113892,35.466967],[78.107117,35.437229],[78.046755,35.384063],[78.013494,35.366008],[78.020885,35.315237],[78.01719,35.228267],[78.060306,35.180344],[78.062769,35.114772],[78.078784,35.100084],[78.124979,35.108407],[78.150849,35.069721],[78.123131,35.036897],[78.160704,34.990823],[78.201972,34.974642],[78.182262,34.936874],[78.206283,34.891726],[78.237696,34.882398],[78.230921,34.776288],[78.21429,34.760556],[78.213059,34.717771],[78.267261,34.705472],[78.265413,34.651335],[78.280812,34.623269],[78.346101,34.60406],[78.397224,34.605538],[78.427405,34.594207],[78.436029,34.543942],[78.492695,34.578441],[78.542586,34.574499],[78.559832,34.55725],[78.562912,34.51288],[78.58139,34.505483],[78.634977,34.538026],[78.708274,34.522249],[78.715049,34.502031],[78.758781,34.481807],[78.742766,34.45467],[78.809288,34.432955],[78.878273,34.391481],[78.899831,34.354929],[78.958961,34.386049],[78.973128,34.362833],[79.039649,34.33467],[79.048888,34.348506],[79.0107,34.399877],[79.039033,34.421601],[79.072294,34.412714],[79.161605,34.441345],[79.179467,34.422588],[79.241677,34.415183],[79.274322,34.435916],[79.326677,34.44332],[79.363017,34.428018],[79.435082,34.447761],[79.504683,34.45467],[79.545335,34.476381],[79.58106,34.456151],[79.675914,34.451216],[79.699936,34.477861],[79.735661,34.471447],[79.801566,34.478847],[79.861312,34.528166],[79.84345,34.55725],[79.88595,34.642965],[79.866856,34.671517],[79.906892,34.683821],[79.898268,34.732035],[79.947544,34.821008],[79.926602,34.849499],[79.961094,34.862759],[79.996819,34.856375],[80.003594,34.895162],[80.034391,34.902033],[80.041782,34.943252],[80.02392,34.971209],[80.04363,35.022196],[80.031311,35.034447],[80.078123,35.076578],[80.118159,35.066293],[80.23026,35.147565],[80.223484,35.177409],[80.257977,35.203331],[80.362687,35.20871],[80.267832,35.295701],[80.286926,35.35283],[80.321419,35.38699],[80.375006,35.387966],[80.432904,35.449418],[80.444607,35.417235],[80.514824,35.391869],[80.532686,35.404553],[80.56841,35.391381],[80.599823,35.409431],[80.65649,35.393821],[80.690982,35.364544],[80.689135,35.339162],[80.759968,35.334768],[80.844351,35.345508],[80.894242,35.324027],[80.924423,35.330862],[80.963844,35.310842],[81.026053,35.31133],[81.002648,35.334768],[81.030981,35.337209],[81.031597,35.380648],[81.054387,35.402602],[81.09935,35.40748],[81.103662,35.386015],[81.142466,35.365032],[81.191741,35.36552],[81.219458,35.319144],[81.26627,35.322562],[81.285364,35.345508],[81.314313,35.337209],[81.363588,35.354783],[81.385762,35.335256],[81.441196,35.333303],[81.447972,35.318167],[81.504638,35.279092],[81.513261,35.23511],[81.68634,35.235599],[81.736847,35.26248],[81.804601,35.270786],[81.853876,35.25857],[81.927789,35.271275],[81.955506,35.307423],[81.99123,35.30547],[82.030034,35.321585],[82.05344,35.35039],[82.029419,35.426013],[82.034346,35.451855],[82.071302,35.450393],[82.086701,35.467454],[82.164925,35.495719],[82.189563,35.513258],[82.234526,35.520565],[82.263475,35.547837],[82.2992,35.544916],[82.328149,35.559523],[82.350323,35.611113],[82.336156,35.651486],[82.392823,35.656349],[82.424852,35.712736],[82.468583,35.717595],[82.501844,35.701073],[82.546192,35.708362],[82.628727,35.692324],[82.652133,35.67288],[82.731589,35.637868],[82.780249,35.666073],[82.795031,35.688436],[82.873871,35.688922],[82.894813,35.673852],[82.967494,35.667532],[82.956407,35.636409],[82.981661,35.599922],[82.971806,35.548324],[82.998907,35.484512],[83.067892,35.46258],[83.088834,35.425526],[83.127022,35.398699],[83.178145,35.38943],[83.251442,35.417722],[83.280391,35.401138],[83.333978,35.397236],[83.405427,35.380648],[83.449159,35.382111],[83.502745,35.360639],[83.540318,35.364056],[83.54155,35.341603],[83.599448,35.351366],[83.622238,35.335256],[83.677672,35.361128],[83.785462,35.36308],[83.79778,35.354783],[83.885244,35.367472],[83.906186,35.40309],[84.005968,35.422599],[84.077417,35.400163],[84.095895,35.362592],[84.140859,35.379184],[84.160569,35.359663],[84.200605,35.381135],[84.274517,35.404065],[84.333032,35.413821],[84.424191,35.466479],[84.45314,35.473303],[84.475929,35.516181],[84.448828,35.550272],[84.513502,35.564391],[84.570168,35.588242],[84.628067,35.595055],[84.704443,35.616951],[84.729081,35.613546],[84.798066,35.647595],[84.920022,35.696213],[84.973608,35.709334],[84.99455,35.737028],[85.053065,35.752086],[85.146071,35.742371],[85.271107,35.788989],[85.341324,35.753543],[85.373969,35.700101],[85.518715,35.680658],[85.566142,35.6403],[85.612953,35.651486],[85.65299,35.731199],[85.691178,35.751114],[85.811286,35.778794],[85.835308,35.771996],[85.903677,35.78462],[85.949256,35.778794],[86.035488,35.846738],[86.05335,35.842857],[86.090306,35.876809],[86.093386,35.906868],[86.129111,35.941761],[86.150668,36.00424],[86.173458,36.008113],[86.199944,36.047801],[86.182081,36.064734],[86.187625,36.130983],[86.248603,36.141616],[86.2794,36.170608],[86.35824,36.168676],[86.392733,36.206834],[86.454943,36.221319],[86.515305,36.205385],[86.531935,36.227113],[86.599072,36.222285],[86.69947,36.24449],[86.746282,36.291777],[86.836209,36.291294],[86.86331,36.299977],[86.887332,36.262829],[86.931064,36.265242],[86.943998,36.284058],[86.996353,36.308658],[87.051788,36.2966],[87.08628,36.310587],[87.149106,36.297565],[87.161425,36.325535],[87.193454,36.349158],[87.292004,36.358797],[87.348055,36.393008],[87.363453,36.420463],[87.386859,36.412757],[87.426895,36.42576],[87.460155,36.409868],[87.470626,36.354459],[87.570409,36.342409],[87.6203,36.360243],[87.731785,36.384818],[87.767509,36.3747],[87.826023,36.391563],[87.838342,36.383855],[87.919646,36.39349],[87.95845,36.408423],[87.983088,36.437797],[88.006494,36.430575],[88.092109,36.43539],[88.134609,36.427205],[88.182652,36.452721],[88.222688,36.447426],[88.241782,36.468605],[88.282434,36.470049],[88.366202,36.458016],[88.356963,36.477268],[88.41055,36.473418],[88.470912,36.48208],[88.498629,36.446463],[88.573158,36.461386],[88.618121,36.428168],[88.623665,36.389636],[88.690186,36.367954],[88.766563,36.292259],[88.783809,36.291777],[88.802903,36.33807],[88.838628,36.353496],[88.870657,36.348193],[88.926091,36.36458],[88.964279,36.318785],[89.013554,36.315409],[89.054822,36.291777],[89.10225,36.281164],[89.126887,36.254626],[89.198952,36.260417],[89.232213,36.295636],[89.292575,36.231457],[89.335075,36.23725],[89.375727,36.228078],[89.490291,36.151281],[89.594385,36.126632],[89.614711,36.109712],[89.711414,36.093272],[89.766848,36.073925],[89.819819,36.080697],[89.914058,36.079246],[89.941159,36.067637],[89.944855,36.140649],[89.997825,36.168193],[90.019999,36.213594],[90.028006,36.258486],[90.003369,36.278752],[90.043405,36.276822],[90.058188,36.255591],[90.145651,36.239181],[90.130252,36.2078],[90.198006,36.187516],[90.23681,36.160462],[90.325505,36.159496],[90.424055,36.133883],[90.478258,36.13195],[90.534925,36.147899],[90.613149,36.126632],[90.659344,36.13485],[90.776373,36.086501],[90.815793,36.035703],[90.850285,36.016827],[90.922966,36.028927],[90.979017,36.106811],[91.081263,36.088436],[91.124994,36.115514],[91.09235,36.163844],[91.096045,36.219871],[91.051698,36.238215],[91.07264,36.299012],[91.026444,36.323607],[91.051698,36.433946],[91.028292,36.443093],[91.039995,36.474861],[91.035683,36.529703],[91.011662,36.539801],[90.905104,36.560474],[90.831191,36.55807],[90.810865,36.585466],[90.741264,36.585947],[90.72217,36.620058],[90.730793,36.655594],[90.706156,36.658955],[90.720938,36.708868],[90.754815,36.721341],[90.727098,36.755872],[90.732025,36.825844],[90.758511,36.825844],[90.853981,36.915373],[90.924198,36.921115],[90.983944,36.913459],[91.036915,36.929727],[91.051698,36.96751],[91.126842,36.978507],[91.133618,37.007665],[91.181045,37.025345],[91.216153,37.010054],[91.303617,37.012444],[91.291298,37.042544],[91.303617,37.083136],[91.286371,37.105095],[91.280211,37.163779],[91.1909,37.205737],[91.194596,37.273868],[91.134849,37.324331],[91.136081,37.355734],[91.113292,37.387124],[91.099741,37.447965],[91.073256,37.475992],[91.019669,37.493088],[90.958075,37.477891],[90.911879,37.519674],[90.865684,37.53059],[90.882314,37.575664],[90.854597,37.604117],[90.820104,37.613599],[90.777605,37.648672],[90.643946,37.696988],[90.586663,37.703144],[90.579272,37.720661],[90.519526,37.730601],[90.516446,38.207111],[90.531229,38.319886],[90.401882,38.311434],[90.361846,38.300163],[90.352607,38.233441],[90.280542,38.238142],[90.137644,38.340543],[90.179528,38.396848],[90.129636,38.400131],[90.111774,38.418889],[90.111774,38.477945],[90.130868,38.494341],[90.248513,38.491531],[90.315034,38.501835],[90.353222,38.482162],[90.427135,38.493873],[90.465323,38.521971],[90.463476,38.556611],[90.525685,38.561291],[90.560794,38.593573],[90.608837,38.594508],[90.606374,38.610878],[90.645794,38.635191],[90.619308,38.664636],[90.65996,38.674449],[90.724634,38.658094],[90.899561,38.679588],[90.970394,38.697806],[90.992567,38.695003],[91.188436,38.73096],[91.242639,38.752433],[91.298689,38.746365],[91.446515,38.813546],[91.501333,38.815411],[91.681188,38.852706],[91.694738,38.86622],[91.806223,38.872744],[91.87952,38.884391],[91.880752,38.899297],[91.966368,38.930961],[92.10865,38.963541],[92.173323,38.960749],[92.197961,38.983548],[92.263866,39.002153],[92.380279,38.999828],[92.416003,39.010524],[92.41046,39.03842],[92.366728,39.059335],[92.366112,39.096037],[92.343938,39.146181],[92.339011,39.236628],[92.378431,39.258411],[92.52564,39.368611],[92.639589,39.514196],[92.687632,39.657174],[92.745531,39.868331],[92.796654,40.153897],[92.906907,40.310609],[92.920458,40.391792],[92.928465,40.572504],[93.506216,40.648376],[93.760599,40.664721],[93.820961,40.793519],[93.809874,40.879548],[93.908424,40.983539],[94.01067,41.114875],[94.184365,41.268444],[94.534219,41.505966],[94.750413,41.538227],[94.809543,41.619256],[94.861898,41.668451],[94.969072,41.718948],[95.011572,41.726541],[95.110738,41.768513],[95.135991,41.772976],[95.16494,41.735474],[95.199433,41.719395],[95.194505,41.694821],[95.247476,41.61344],[95.299831,41.565994],[95.335556,41.644305],[95.39407,41.693481],[95.445193,41.719841],[95.57146,41.796181],[95.65646,41.826067],[95.759322,41.835878],[95.801206,41.848361],[95.855408,41.849699],[95.998306,41.906289],[96.054973,41.936124],[96.117183,41.985966],[96.137509,42.019765],[96.13874,42.05399],[96.077147,42.149457],[96.178161,42.21775],[96.040806,42.326688],[96.042038,42.352787],[96.06606,42.414674],[95.978596,42.436762],[96.0174,42.482239],[96.02356,42.542675],[96.072219,42.569566],[96.103632,42.604375],[96.166458,42.623314],[96.386348,42.727592]]]]}},{type:"Feature",properties:{adcode:71e4,name:"台湾省",center:[121.509062,25.044332],centroid:[120.971485,23.749452],childrenNum:0,level:"province",parent:{adcode:1e5},subFeatureIndex:31,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[120.443706,22.441432],[120.517619,22.408793],[120.569973,22.361757],[120.640806,22.241605],[120.659285,22.154056],[120.661748,22.067007],[120.651277,22.033171],[120.667908,21.983235],[120.701784,21.927174],[120.743052,21.915515],[120.781857,21.923843],[120.854537,21.883309],[120.873016,21.897191],[120.86624,21.984345],[120.907508,22.033171],[120.912436,22.086418],[120.903197,22.12634],[120.914899,22.302525],[120.981421,22.528248],[121.014682,22.584069],[121.03316,22.650914],[121.078739,22.669691],[121.170514,22.723247],[121.21055,22.770711],[121.237652,22.836362],[121.276456,22.877171],[121.324499,22.945526],[121.35468,23.00999],[121.370695,23.084334],[121.409499,23.1025],[121.430441,23.137175],[121.415042,23.196047],[121.440296,23.271937],[121.479716,23.322507],[121.497578,23.419744],[121.5216,23.483431],[121.522832,23.538858],[121.587505,23.760878],[121.621382,23.920718],[121.65957,24.007125],[121.63986,24.064514],[121.643556,24.097843],[121.678048,24.133895],[121.689135,24.174303],[121.809243,24.339083],[121.82649,24.423572],[121.867758,24.47914],[121.88562,24.529784],[121.892395,24.617953],[121.86283,24.671261],[121.841272,24.734329],[121.844968,24.836476],[121.933047,24.938539],[122.012503,25.001471],[121.98109,25.030757],[121.947214,25.031841],[121.917033,25.138076],[121.841888,25.135367],[121.782142,25.160287],[121.745186,25.161912],[121.707613,25.191701],[121.700222,25.226896],[121.655259,25.242054],[121.62323,25.29455],[121.585041,25.309159],[121.53515,25.307535],[121.444607,25.27074],[121.413194,25.238806],[121.371926,25.159746],[121.319572,25.140785],[121.209318,25.12724],[121.132942,25.078466],[121.102145,25.075214],[121.024537,25.040517],[121.009754,24.993878],[120.961095,24.940167],[120.914899,24.864715],[120.89211,24.767482],[120.82374,24.688118],[120.762147,24.658208],[120.68885,24.600542],[120.642654,24.490033],[120.589068,24.43229],[120.546568,24.370159],[120.520698,24.311816],[120.470807,24.242533],[120.451713,24.182493],[120.391967,24.118055],[120.316206,23.984708],[120.278018,23.92783],[120.245989,23.840276],[120.175156,23.807427],[120.102476,23.701162],[120.095084,23.58768],[120.12157,23.504836],[120.108019,23.341191],[120.081534,23.291728],[120.018708,23.073322],[120.029795,23.048544],[120.133272,23.000625],[120.149287,22.896468],[120.20041,22.721039],[120.274323,22.560307],[120.297112,22.531565],[120.443706,22.441432]]],[[[124.542782,25.903886],[124.584666,25.908731],[124.566804,25.941563],[124.542782,25.903886]]],[[[123.445178,25.726102],[123.469816,25.712623],[123.50862,25.722867],[123.512316,25.755212],[123.479055,25.768687],[123.445794,25.749822],[123.445178,25.726102]]],[[[119.646064,23.550928],[119.691028,23.547087],[119.678093,23.600294],[119.61034,23.604132],[119.601717,23.575613],[119.566608,23.584937],[119.562297,23.530627],[119.578927,23.502641],[119.609108,23.503738],[119.646064,23.550928]]],[[[123.666916,25.914114],[123.706952,25.91519],[123.689706,25.939949],[123.666916,25.914114]]],[[[119.506246,23.625518],[119.506246,23.577259],[119.47237,23.556962],[119.519181,23.559705],[119.52534,23.62497],[119.506246,23.625518]]],[[[119.497623,23.38679],[119.495159,23.349982],[119.516717,23.349982],[119.497623,23.38679]]],[[[119.557369,23.666634],[119.608492,23.620035],[119.615268,23.661153],[119.586318,23.675952],[119.557369,23.666634]]],[[[122.066706,25.6247],[122.087032,25.61067],[122.092575,25.639268],[122.066706,25.6247]]],[[[121.468013,22.67687],[121.474788,22.643734],[121.513592,22.631582],[121.514824,22.676318],[121.468013,22.67687]]],[[[121.510513,22.086972],[121.507433,22.048704],[121.533918,22.022076],[121.594281,21.995443],[121.604752,22.022631],[121.575186,22.037055],[121.575802,22.0842],[121.510513,22.086972]]],[[[122.097503,25.499987],[122.110438,25.465952],[122.122141,25.495666],[122.097503,25.499987]]],[[[119.421247,23.216949],[119.436029,23.186146],[119.453275,23.216399],[119.421247,23.216949]]],[[[120.355011,22.327439],[120.395663,22.342385],[120.383344,22.355669],[120.355011,22.327439]]]]}},{type:"Feature",properties:{adcode:81e4,name:"香港特别行政区",center:[114.173355,22.320048],centroid:[114.134357,22.377366],childrenNum:18,level:"province",parent:{adcode:1e5},subFeatureIndex:32,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[114.031778,22.503923],[114.000981,22.491206],[113.977575,22.45692],[113.918445,22.418199],[113.920293,22.367845],[113.951706,22.355116],[113.956633,22.359543],[113.980039,22.366185],[114.026234,22.34792],[113.955401,22.298649],[113.969568,22.321349],[113.898119,22.308615],[113.889496,22.271514],[113.8433,22.229418],[113.84946,22.191188],[113.899351,22.215568],[113.935691,22.205041],[113.981271,22.229972],[113.996669,22.206149],[114.026234,22.229418],[114.004676,22.239389],[114.02993,22.263207],[114.034857,22.300864],[114.069966,22.326885],[114.121089,22.320795],[114.145726,22.300864],[114.120473,22.272068],[114.164821,22.226648],[114.200545,22.232188],[114.203009,22.206703],[114.265835,22.200608],[114.248588,22.274837],[114.262139,22.294773],[114.284929,22.263761],[114.313262,22.264315],[114.315726,22.299203],[114.315726,22.299756],[114.278153,22.328546],[114.283081,22.386661],[114.322501,22.385554],[114.323117,22.385554],[114.323733,22.385001],[114.323733,22.384447],[114.356994,22.340171],[114.394566,22.361757],[114.385327,22.41156],[114.406269,22.432582],[114.406269,22.433688],[114.376088,22.436454],[114.325581,22.479041],[114.278769,22.435901],[114.220255,22.427603],[114.205473,22.449729],[114.23319,22.466875],[114.2529,22.445304],[114.340979,22.50337],[114.309566,22.497288],[114.28924,22.52272],[114.263987,22.541515],[114.263371,22.541515],[114.260291,22.547595],[114.232574,22.528801],[114.232574,22.539857],[114.222719,22.553122],[114.166052,22.559201],[114.156813,22.543726],[114.095219,22.534329],[114.082285,22.512216],[114.031778,22.503923]]],[[[114.142647,22.213906],[114.123553,22.238836],[114.120473,22.177888],[114.154965,22.177888],[114.166668,22.205041],[114.142647,22.213906]]],[[[114.305871,22.372273],[114.313878,22.340724],[114.332972,22.353455],[114.305255,22.372826],[114.305871,22.372273]]],[[[114.320037,22.381127],[114.323733,22.384447],[114.323733,22.385001],[114.323117,22.385554],[114.322501,22.385554],[114.319421,22.382234],[114.320037,22.38168],[114.320037,22.381127]]],[[[114.305871,22.369506],[114.305871,22.372273],[114.305255,22.372826],[114.305871,22.369506]]],[[[114.315726,22.299203],[114.316958,22.298649],[114.316342,22.30031],[114.315726,22.299756],[114.315726,22.299203]]],[[[114.319421,22.382234],[114.320037,22.381127],[114.320037,22.38168],[114.319421,22.382234]]],[[[114.372392,22.32301],[114.373008,22.323564],[114.372392,22.323564],[114.372392,22.32301]]],[[[114.323733,22.297541],[114.324349,22.297541],[114.323733,22.298095],[114.323733,22.297541]]]]}},{type:"Feature",properties:{adcode:82e4,name:"澳门特别行政区",center:[113.54909,22.198951],centroid:[113.566988,22.159307],childrenNum:8,level:"province",parent:{adcode:1e5},subFeatureIndex:33,acroutes:[1e5]},geometry:{type:"MultiPolygon",coordinates:[[[[113.554425,22.107489],[113.6037,22.132438],[113.575983,22.194513],[113.558736,22.212244],[113.53841,22.209473],[113.534715,22.174009],[113.554425,22.142416],[113.554425,22.107489]]],[[[113.586453,22.201162],[113.575983,22.201162],[113.575983,22.194513],[113.586453,22.201162]]]]}},{type:"Feature",properties:{name:"",adchar:"JD",adcode:"100000_JD"},geometry:{type:"MultiPolygon",coordinates:[[[[122.51865306,23.46078502],[122.79861399,24.57367379],[122.79889322,24.57678999],[122.79819583,24.57983997],[122.79659008,24.58252516],[122.79423315,24.58458272],[122.79135575,24.58581125],[122.78823955,24.58609049],[122.78518957,24.5853931],[122.78250438,24.58378734],[122.78044682,24.58143041],[122.77921829,24.57855302],[122.49925737,23.46566424],[122.49897813,23.46254804],[122.49967552,23.45949807],[122.50128127,23.45681287],[122.5036382,23.45475531],[122.5065156,23.45352678],[122.50963181,23.45324755],[122.51268178,23.45394494],[122.51536697,23.45555069],[122.51742454,23.45790762],[122.51865306,23.46078502]]],[[[121.17202617,20.8054593],[121.90938804,21.68743347],[121.9109946,21.69011818],[121.91169291,21.69316794],[121.91141462,21.69628423],[121.91018696,21.699162],[121.9081301,21.70151955],[121.9054454,21.70312611],[121.90239563,21.70382443],[121.89927934,21.70354613],[121.89640158,21.70231847],[121.89404403,21.70026162],[121.15668216,20.81828744],[121.1550756,20.81560273],[121.15437729,20.81255297],[121.15465558,20.80943668],[121.15588324,20.80655891],[121.1579401,20.80420136],[121.1606248,20.8025948],[121.16367457,20.80189649],[121.16679085,20.80217478],[121.16966862,20.80340244],[121.17202617,20.8054593]]],[[[119.47366172,18.00707291],[120.02569734,19.02403788],[120.02674143,19.02698721],[120.02682302,19.03011484],[120.02593412,19.0331146],[120.02416175,19.03569286],[120.02167941,19.03759723],[120.01873007,19.03864132],[120.01560245,19.03872291],[120.01260269,19.03783401],[120.01002443,19.03606165],[120.00812005,19.0335793],[119.45608443,18.01661433],[119.45504035,18.01366499],[119.45495876,18.01053737],[119.45584765,18.00753761],[119.45762002,18.00495935],[119.46010237,18.00305497],[119.4630517,18.00201089],[119.46617933,18.0019293],[119.46917909,18.0028182],[119.47175735,18.00459056],[119.47366172,18.00707291]]],[[[119.0726757,15.04098494],[119.0726757,16.04388528],[119.07218626,16.04697545],[119.07076587,16.04976313],[119.06855355,16.05197545],[119.06576587,16.05339584],[119.0626757,16.05388528],[119.05958553,16.05339584],[119.05679784,16.05197545],[119.05458553,16.04976313],[119.05316513,16.04697545],[119.0526757,16.04388528],[119.0526757,15.04105889],[119.0521839,15.00781004],[119.05262758,15.00471297],[119.05400659,15.00190458],[119.05618595,14.99965979],[119.05895232,14.99819832],[119.06203491,14.99766324],[119.06513198,14.99810691],[119.06794036,14.99948592],[119.07018516,15.00166528],[119.07164663,15.00443165],[119.07218171,15.00751424],[119.0726746,15.04083704],[119.0726757,15.04098494]]],[[[118.68646749,11.18959191],[118.52518702,10.91547751],[118.52404181,10.91256595],[118.52385237,10.909443],[118.52463726,10.90641436],[118.52631962,10.9037765],[118.5287348,10.90178762],[118.53164636,10.90064241],[118.53476931,10.90045298],[118.53779795,10.90123786],[118.54043581,10.90292022],[118.54242469,10.9053354],[118.70409227,11.18010771],[118.70476212,11.18147468],[118.87431591,11.606662],[118.87459939,11.60747236],[118.98894963,11.98573108],[118.98937534,11.98883067],[118.9888224,11.99191011],[118.98734492,11.99466796],[118.98508753,11.99683427],[118.98227119,11.99819697],[118.9791716,11.99862269],[118.97609216,11.99806975],[118.97333431,11.99659227],[118.97116801,11.99433487],[118.9698053,11.99151854],[118.85557939,11.6136711],[118.68646749,11.18959191]]],[[[115.54466883,7.14672265],[116.2504858,7.979279],[116.25211077,7.98195261],[116.25283001,7.9849975],[116.25257312,7.98811563],[116.25136525,7.99100176],[116.24932463,7.99337338],[116.24665102,7.99499834],[116.24360613,7.99571758],[116.240488,7.99546069],[116.23760187,7.99425282],[116.23523025,7.99221221],[115.52941328,7.15965587],[115.52778832,7.15698226],[115.52706908,7.15393736],[115.52732596,7.15081924],[115.52853383,7.1479331],[115.53057445,7.14556148],[115.53324806,7.14393652],[115.53629295,7.14321728],[115.53941108,7.14347417],[115.54229721,7.14468204],[115.54466883,7.14672265]]],[[[112.30705249,3.53487257],[111.78690114,3.41687263],[111.78399583,3.41571167],[111.78159146,3.41370973],[111.77992341,3.41106279],[111.77915495,3.40802995],[111.77936129,3.40490807],[111.78052226,3.40200275],[111.78252419,3.39959839],[111.78517113,3.39793033],[111.78820398,3.39716187],[111.79132585,3.39736822],[112.31181658,3.51544515],[112.31248917,3.51562254],[112.52147408,3.5785908],[112.52281386,3.57910186],[112.85206367,3.73256867],[112.85465776,3.7343178],[112.85658437,3.73678292],[112.85765492,3.73972276],[112.85776462,3.74284952],[112.85690272,3.74585715],[112.8551536,3.74845124],[112.85268847,3.75037785],[112.84974864,3.7514484],[112.84662187,3.75155809],[112.84361424,3.7506962],[112.51501594,3.59753306],[112.30705249,3.53487257]]],[[[108.26055972,6.08912451],[108.29013305,6.01266273],[108.29170425,6.00995718],[108.29403462,6.00786957],[108.29689603,6.00660426],[108.3000084,6.00628511],[108.30306706,6.00694335],[108.30577262,6.00851455],[108.30786022,6.01084492],[108.30912553,6.01370633],[108.30944469,6.0168187],[108.30878645,6.01987736],[108.279563,6.09543449],[108.25611734,6.22752625],[108.21679964,6.53816468],[108.21876335,6.94964057],[108.24419535,7.07390742],[108.24433543,7.07703297],[108.24350281,7.08004883],[108.24177899,7.0826598],[108.2393327,7.08461028],[108.23640341,7.08570936],[108.23327786,7.08584944],[108.230262,7.08501682],[108.22765103,7.083293],[108.22570055,7.08084671],[108.22460147,7.07791743],[108.19897125,6.95268198],[108.1987683,6.95072469],[108.19679674,6.53760583],[108.19687578,6.53630242],[108.23630689,6.22476797],[108.23638164,6.22427602],[108.26004031,6.09098419],[108.26055972,6.08912451]]],[[[110.12822847,11.36894451],[110.05553696,11.25335394],[110.05430621,11.25047749],[110.05402458,11.2473615],[110.05471962,11.24431099],[110.05632331,11.24162456],[110.05867865,11.23956519],[110.0615551,11.23833444],[110.06467109,11.23805281],[110.0677216,11.23874785],[110.07040803,11.24035153],[110.07246741,11.24270688],[110.14541497,11.35870461],[110.14588682,11.35954163],[110.20700505,11.48128846],[110.20728377,11.48189306],[110.25854422,11.60358735],[110.25901765,11.60499559],[110.30436343,11.7826124],[110.30456934,11.78364161],[110.32822801,11.94571326],[110.32832827,11.94685414],[110.33424294,12.14159753],[110.33424553,12.14210167],[110.33227398,12.24038351],[110.33172267,12.24346324],[110.33024665,12.24622187],[110.3279904,12.24838938],[110.32517479,12.24975358],[110.32207543,12.25018094],[110.3189957,12.24962962],[110.31623706,12.2481536],[110.31406956,12.24589736],[110.31270536,12.24308175],[110.312278,12.23998238],[110.3142445,12.14195265],[110.3083549,11.94803461],[110.28485499,11.78705054],[110.23982347,11.61066468],[110.18898148,11.48996382],[110.12822847,11.36894451]]],[[[109.82951587,15.22896754],[109.84522534,15.15316562],[109.84633168,15.15023907],[109.84828823,15.14779763],[109.85090347,15.14608029],[109.85392139,15.14525516],[109.85704658,15.145403],[109.85997314,15.14650935],[109.86241457,15.1484659],[109.86413191,15.15108113],[109.86495704,15.15409906],[109.8648092,15.15722425],[109.84903675,15.23333003],[109.84889209,15.23393326],[109.78974541,15.45068337],[109.7892391,15.45210582],[109.69066131,15.67432448],[109.6900529,15.67548445],[109.59147511,15.83677407],[109.59116145,15.8372556],[109.53201478,15.92259221],[109.53166592,15.92306523],[109.30888011,16.20725797],[109.30658844,16.20938798],[109.30375073,16.21070558],[109.30064474,16.21108179],[109.29757451,16.21047978],[109.29484059,16.20895848],[109.29271057,16.20666681],[109.29139298,16.2038291],[109.29101677,16.20072311],[109.29161878,16.19765288],[109.29314007,16.19491896],[109.51574449,15.91095759],[109.57455994,15.82609887],[109.67264555,15.66561455],[109.77065019,15.44468789],[109.82951587,15.22896754]]]]}}],chinaMap={type,features};setupProdMockServer();echarts4.registerMap("china",chinaMap);const app=createApp(App);HwcClient.configure({...config.hwcConfig,accessKey:"",secretKey:""});app.use(router);app.use(pinia);app.use(i18n({locale:"zhCN"}));app.use(globalComponents);app.use(directive);app.mount("#app");export{$props as $,index$19 as A,Button as B,Checkbox as C,index$1a as D,index$18 as E,Footer as F,useAppStore as G,HwcClient as H,Input as I,extend$4 as J,index$E as K,LOCALE_OPTIONS as L,KEY_CODE as M,Tooltip as N,index$W as O,getDomNode as P,addClass as Q,Radio as R,removeClass as S,TINYModal as T,merge$2 as U,ActionSheet as V,Popover as W,index$14 as X,t$2 as Y,index$11 as Z,_export_sfc as _,setup as a,fillChar as a$,index$12 as a0,appProperties as a1,CheckboxGroup as a2,directive$1 as a3,useDefer as a4,isVue2 as a5,isNumber$2 as a6,clickoutside_default as a7,format$3 as a8,guid$1 as a9,Tree$2 as aA,index$X as aB,index$S as aC,DATEPICKER as aD,isDateObject as aE,isDate$2 as aF,formatDate as aG,getDateWithNewTimezone as aH,getLocalTimezone as aI,getStrTimezone$1 as aJ,parseDate$1 as aK,toDate$1 as aL,getWeekNumber as aM,prevDate as aN,nextDate as aO,isDate$1 as aP,clearMilliseconds as aQ,clearTime as aR,prevMonth as aS,nextMonth as aT,prevYear as aU,nextYear as aV,modifyTime as aW,modifyWithTimeString as aX,modifyDate as aY,changeYearMonthAndClampDate as aZ,timeWithinRange as a_,CollapseTransition as aa,index$1c as ab,index$C as ac,capitalize as ad,POSITION as ae,debounce_default as af,random$1 as ag,KeepAlive as ah,getUserData as ai,isNull$2 as aj,VALIDATE_STATE as ak,omitText as al,parseVnode as am,getObj as an,isKorean$1 as ao,find$1 as ap,isEqual as aq,isEmptyObject as ar,getDataset as as,browser_default as at,BROWSER_NAME as au,index$y as av,vue_popper_default as aw,isObject$5 as ax,typeOf as ay,index$J as az,$prefix as b,extractTimeFormat as b0,extractDateFormat as b1,DATE as b2,limitTimeRange as b3,getRangeHours as b4,getRangeMinutes as b5,once as b6,getFirstDayOfMonth as b7,getDayCountOfMonth as b8,getStartDateOfMonth as b9,index$R as bA,tryToCurrency as bB,tryToDecimal as bC,tryToInt as bD,toFileSize as bE,truncate as bF,toRate as bG,toBoolValue as bH,toDateStr as bI,log$1 as bJ,hasOwn$1 as bK,isFunction$2 as bL,isNullOrEmpty as bM,getLength as bN,hasClass as ba,range as bb,getDayCountOfYear as bc,language as bd,isBrowser as be,toObject as bf,throttle_default as bg,index$D as bh,isPlainObject$1 as bi,isRegExp$2 as bj,setupComponent as bk,getStyle$1 as bl,index$I as bm,$install as bn,isVnode as bo,mergeClass as bp,resolveTheme as bq,emitter$1 as br,resolveMode as bs,useBreakpoint as bt,index$M as bu,index$L as bv,log as bw,isDisplayNone as bx,toDecimal as by,popper_default as bz,$setup as c,defineComponent as d,popup_manager_default as e,off as f,index$H as g,createComponent as h,index$13 as i,index$17 as j,h as k,useLocale as l,_imports_0$1 as m,Layout as n,on as o,props as p,axios$1 as q,registerUser as r,svg as s,ListType as t,useUserStore as u,index$U as v,copyArray as w,xss as x,__spreadProps as y,__spreadValues as z};
diff --git a/admin-website/src/main/resources/static/assets/index-3d632649.js b/admin-website/src/main/resources/static/assets/index-3d632649.js
deleted file mode 100644
index 9fb24d8..0000000
--- a/admin-website/src/main/resources/static/assets/index-3d632649.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import{s as X,d as H,p as Z,j as ue,g as He,i as Ne,K as gt,a as J,$ as x,b as ee,c as pe,M as ge,N as vt,O as Lt,R as Se,z as le,o as Le,f as Re,P as Rt,Q as mt,S as Gt,e as K,U as Pt,V as jt,y as Ut,B as Ge,I as Wt,n as Kt,W as Yt,X as Xt,Y as D,T as Q,Z as qt,a0 as Zt,J as Pe,a1 as yt,C as Jt,a2 as Qt,a3 as xt,a4 as en,a5 as tn,k as E,a6 as nn,a7 as rn,a8 as on}from"./index-387d5142.js";import{u,v as p,w as f,k,y as M,H as m,A as b,B as U,z as g,D as z,J as A,E as y,T as ie,G as j,l as C,I as q,U as bt,M as V,P as te,Q as Ct,N,F as ce,L as ne,aa as sn,O as an,ab as ln,ac as ve,g as un,o as dn,V as fn}from"./vue-fdfdc7c1.js";import{d as cn,e as pn,f as je,g as Ue,R as hn,C as gn,h as W,j as Ae,k as vn,G as mn,a as yn,l as St,m as bn,n as $t,o as G,D as Cn,p as Sn,q as $n,r as wn,s as me,t as kn,u as ze,v as Tn,w as Mn,x as On,y as In,z as Ve,B as wt}from"./index-c544811c.js";import{S as $e,O as We,a as An}from"./index-51ecf215.js";import{i as zn}from"./warning-triangle-0392a7a8.js";import{i as Vn}from"./chevron-up-775d40e5.js";var _n={xmlns:"http://www.w3.org/2000/svg",viewBox:"200 100.001 412.5 396.337","xml:space":"preserve"},Dn=f("path",{d:"M337.288 105.538c11.775-6.513 13.163-7.275 22.5-2.313l4.188 2.3c3.712 4.863 4.387 5.75 5.063 9.962l.475 3.388v377.463h-37.5V163.875l-105.5 105.538L200 242.9l137.288-137.362zM500 418.75v37.5h-75v-37.5h75zm37.5-87.5v37.5H425v-37.5h112.5zm37.5-87.5v37.5H425v-37.5h150zm37.5-87.5v37.5H425v-37.5h187.5z"},null,-1),Fn=[Dn];function Bn(e,t){return u(),p("svg",_n,[].concat(Fn))}var En={render:Bn},kt=function(){return X({name:"IconAscending",component:En})()},Hn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Nn=f("path",{class:"del_svg__st0",d:"M22.8 5.3c-.2-.2-.6-.3-.8-.3h-4V3.7c0-1-.9-1.7-1.8-1.7H8.8C7.9 2 7 2.7 7 3.7V5H3c-.5 0-1 .5-1 1s.5 1 1 1h1v14c0 .9 1.1 2 2 2h13c.9 0 2-1.1 2-2V7h1c.5 0 1-.5 1-1 0-.2 0-.6-.2-.7zM9 4h7v1H9V4zM6 21V7h13v14H6z"},null,-1),Ln=f("path",{class:"del_svg__st0",d:"M10 9c.6 0 1 .4 1 1v8c0 .6-.4 1-1 1s-1-.4-1-1v-8c0-.6.4-1 1-1zM15 9c.6 0 1 .4 1 1v8c0 .6-.4 1-1 1s-1-.4-1-1v-8c0-.6.4-1 1-1z"},null,-1),Rn=[Nn,Ln];function Gn(e,t){return u(),p("svg",Hn,[].concat(Rn))}var Pn={render:Gn},jn=function(){return X({name:"IconDel",component:Pn})()},Un={xmlns:"http://www.w3.org/2000/svg",viewBox:"181.25 112.5 412.5 396.343","xml:space":"preserve"},Wn=f("path",{d:"M350.763 112.5v377.463l-.475 3.387c-.675 4.226-1.35 5.101-5.063 9.963l-4.2 2.3c-9.325 4.976-10.712 4.2-22.5-2.3L181.25 365.938l26.525-26.5 105.488 105.55V112.5h37.5zM593.75 418.75v37.5h-187.5v-37.5h187.5zm-37.5-87.5v37.5h-150v-37.5h150zm-37.5-87.5v37.5h-112.5v-37.5h112.5zm-37.5-87.5v37.5h-75v-37.5h75z"},null,-1),Kn=[Wn];function Yn(e,t){return u(),p("svg",Un,[].concat(Kn))}var Xn={render:Yn},Tt=function(){return X({name:"IconDescending",component:Xn})()},qn={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Zn=f("path",{d:"M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0Zm-.07 4.324a.843.843 0 1 1 0 1.687.843.843 0 0 1 0-1.687Zm3.684 13.057a.843.843 0 0 1-.844.844H9.09a.843.843 0 1 1 0-1.688h1.997V9.177H9.68a.843.843 0 1 1 0-1.688h2.25c.466 0 .843.378.843.844v8.206h1.997c.467 0 .844.377.844.843Z"},null,-1),Jn=[Zn];function Qn(e,t){return u(),p("svg",qn,[].concat(Jn))}var xn={render:Qn},we=function(){return X({name:"IconHelp",component:xn})()},ei={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 161.754 156.391","xml:space":"preserve"},ti=f("path",{d:"M108.456 77.845v52.727c0 6.446-5.273 11.717-11.719 11.717H14.716C8.273 142.288 3 137.018 3 130.572V66.125h105.456v11.72zm-93.74 0v52.727h82.021V77.845H14.716zM3 66.125c0-29.292 23.435-52.727 52.728-52.727 29.292 0 52.728 23.435 52.728 52.727H96.737c0-22.847-18.161-41.009-41.009-41.009-22.849 0-41.012 18.162-41.012 41.009H3z"},null,-1),ni=f("path",{d:"M61.586 105.965v12.89c0 3.515-2.343 5.856-5.858 5.856-3.516 0-5.86-2.342-5.86-5.856v-12.89c-3.514-1.756-5.857-5.858-5.857-10.547 0-6.441 5.272-11.715 11.717-11.715 6.444 0 11.716 5.273 11.716 11.715 0 4.689-2.343 8.204-5.858 10.547zM154.754 148.391a8 8 0 0 1-8 8H128.42a8 8 0 0 1-8-8V8a8 8 0 0 1 8-8h18.334a8 8 0 0 1 8 8v140.391z"},null,-1),ii=[ti,ni];function ri(e,t){return u(),p("svg",ei,[].concat(ii))}var oi={render:ri},Mt=function(){return X({name:"IconLeftFrozen",component:oi})()},si={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 26.369 46.799","xml:space":"preserve"},ai=f("path",{d:"M25.021 2.73 22.883.535l-22 22.375 22.75 23 2.208-2.208-20.8-20.636z"},null,-1),li=[ai];function ui(e,t){return u(),p("svg",si,[].concat(li))}var di={render:ui},fi=function(){return X({name:"IconLeftWard",component:di})()},ci={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},pi=f("path",{class:"lock_svg__st0",d:"M21 12v9c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h18v2zM5 12v9h14v-9H5zM3 10c0-5 4-9 9-9s9 4 9 9h-2c0-3.9-3.1-7-7-7s-7 3.1-7 7H3z"},null,-1),hi=f("path",{class:"lock_svg__st0",d:"M13 16.8V19c0 .6-.4 1-1 1s-1-.4-1-1v-2.2c-.6-.3-1-1-1-1.8 0-1.1.9-2 2-2s2 .9 2 2c0 .8-.4 1.4-1 1.8z"},null,-1),gi=[pi,hi];function vi(e,t){return u(),p("svg",ci,[].concat(gi))}var mi={render:vi},yi=function(){return X({name:"IconLock",component:mi})()},bi={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ci=f("path",{class:"minus_svg__st0",d:"M19.1 13H4.9c-.5 0-.9-.4-.9-1s.4-1 .9-1h14.2c.5 0 .9.4.9 1s-.4 1-.9 1z"},null,-1),Si=[Ci];function $i(e,t){return u(),p("svg",bi,[].concat(Si))}var wi={render:$i},ki=function(){return X({name:"IconMinus",component:wi})()},Ti={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 161.754 156.391","xml:space":"preserve"},Mi=f("path",{d:"M51.298 66.125h105.456v64.447c0 6.446-5.273 11.717-11.717 11.717h-82.02c-6.445 0-11.719-5.271-11.719-11.717V66.125zm11.719 11.72v52.727h82.021V77.845H63.017zM145.037 66.125c0-22.847-18.162-41.009-41.012-41.009-22.848 0-41.009 18.162-41.009 41.009H51.298c0-29.292 23.436-52.727 52.728-52.727 29.293 0 52.729 23.435 52.729 52.727h-11.718z"},null,-1),Oi=f("path",{d:"M92.31 95.418c0-6.441 5.271-11.715 11.716-11.715 6.445 0 11.717 5.273 11.717 11.715 0 4.688-2.343 8.791-5.856 10.547v12.89c0 3.515-2.345 5.856-5.86 5.856s-5.858-2.342-5.858-5.856v-12.89c-3.516-2.343-5.859-5.858-5.859-10.547zM5 148.391a8 8 0 0 0 8 8h18.334a8 8 0 0 0 8-8V8a8 8 0 0 0-8-8H13a8 8 0 0 0-8 8v140.391z"},null,-1),Ii=[Mi,Oi];function Ai(e,t){return u(),p("svg",Ti,[].concat(Ii))}var zi={render:Ai},Ot=function(){return X({name:"IconRightFrozen",component:zi})()},Vi={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 26.369 46.799","xml:space":"preserve"},_i=f("path",{d:"M1.529 2.91 3.667.715l22 22.375-22.75 23-2.209-2.208 20.801-20.636z"},null,-1),Di=[_i];function Fi(e,t){return u(),p("svg",Vi,[].concat(Di))}var Bi={render:Fi},Ei=function(){return X({name:"IconRightward",component:Bi})()},Hi={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ni=f("path",{class:"save_svg__st0",d:"M16.3 1H3c-.9 0-2 1.1-2 2v18c0 .9 1.1 2 2 2h18c.9 0 2-1.1 2-2V7.8L16.3 1zM7 3h6v6.3c0 .4-.3.7-.7.7H7.7c-.4 0-.7-.3-.7-.7V3zM3 21V3h2v7c0 1.3.6 2 2 2h6c1.3 0 2-.7 2-2V3l6 6v12H3zm7-12c.6 0 1-.4 1-.9V4.9c0-.5-.4-.9-1-.9s-1 .4-1 .9V8c0 .6.4 1 1 1z"},null,-1),Li=[Ni];function Ri(e,t){return u(),p("svg",Hi,[].concat(Li))}var Gi={render:Ri},Pi=function(){return X({name:"IconSave",component:Gi})()},ji={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ui=f("path",{class:"unlock_svg__st0",d:"M21 12v9c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h18v2zM5 12v9h14v-9H5z"},null,-1),Wi=f("path",{class:"unlock_svg__st0",d:"M13 16.8V19c0 .6-.4 1-1 1s-1-.4-1-1v-2.2c-.6-.3-1-1-1-1.8 0-1.1.9-2 2-2s2 .9 2 2c0 .8-.4 1.4-1 1.8zM20.5 7h-2.2c-1.1-2.4-3.5-4-6.3-4-3.9 0-7 3.1-7 7H3c0-5 4-9 9-9 3.9 0 7.3 2.5 8.5 6zm.5 3h-2 2z"},null,-1),Ki=[Ui,Wi];function Yi(e,t){return u(),p("svg",ji,[].concat(Ki))}var Xi={render:Yi},qi=function(){return X({name:"IconUnlock",component:Xi})()};const Zi=2e3,Ji=({api:e,props:t})=>n=>{if(t.autoHide&&n){const i=setTimeout(()=>{e.handleClose(),clearTimeout(i)},Zi)}},Qi=({props:e,mode:t})=>()=>{const{type:n,size:i,center:r}=e;if(t==="mobile"){const s=["tiny-mobile-alert","tiny-mobile-alert--"+n,"tiny-mobile-alert--"+i];return r&&s.push("is-center"),s}return[]},xi=({props:e,mode:t})=>()=>t==="mobile"?{top:isNaN(e.offset)?e.offset:`${e.offset}px`}:null,er=({emit:e,state:t})=>()=>{t.show=!1,e("close")},tr=({constants:e,props:t,designConfig:n})=>()=>{var i;const r=(i=n==null?void 0:n.icons)==null?void 0:i[t.type];return t.icon||r||e.ICON_MAP[t.type]},nr=({constants:e,t,props:n})=>()=>n.title||t(e.TITLE_MAP[n.type]),ir=({state:e,props:t,vm:n})=>()=>{t.showFoldable&&(e.contentVisible=!e.contentVisible),n.$refs.ContentDescribe&&(e.contentDescribeHeight=n.$refs.ContentDescribe.scrollHeight,e.contentDescribeHeight>e.contentMaxHeight&&(e.scrollStatus=!0)),n.$refs.ContentDefault&&(e.contentDefaultHeight=n.$refs.ContentDefault.scrollHeight,e.contentDefaultHeight>e.contentMaxHeight&&(e.scrollStatus=!0))},Je=e=>e.$el||e,rr=({props:e,parent:t,vm:n,nextTick:i})=>()=>{const{target:r}=e,{$parent:s}=t;i(()=>{const o=s==null?void 0:s.$refs[r];if(!r||!o)return;const a=Array.isArray(o)?o[0]:o;Je(a).insertBefore(n.$el,Je(a).firstChild)})},Ke=["handleClose","state","handleHeaderClick"],or=({api:e,computed:t,constants:n,reactive:i})=>i({show:!0,contentVisible:!1,contentDescribeHeight:0,contentDefaultHeight:0,contentMaxHeight:n.CONTENT_MAXHEUGHT,scrollStatus:!1,getIcon:t(()=>e.computedGetIcon()),getTitle:t(()=>e.computedGetTitle()),alertClass:t(()=>e.computedClass()),alertStyle:t(()=>e.computedStyle())}),sr=({api:e,state:t,constants:n,props:i,designConfig:r,t:s,emit:o,vm:a,parent:l,nextTick:d,mode:c})=>{Object.assign(e,{state:t,computedGetIcon:tr({constants:n,props:i,designConfig:r}),computedGetTitle:nr({constants:n,props:i,t:s}),computedClass:Qi({props:i,mode:c}),computedStyle:xi({props:i,mode:c}),handleClose:er({emit:o,state:t}),handleHeaderClick:ir({state:t,props:i,vm:a}),watchAutoHide:Ji({api:e,props:i}),handlerTargetNode:rr({props:i,parent:l,vm:a,nextTick:d})})},ar=({watch:e,props:t,api:n})=>{e(()=>t.autoHide,n.watchAutoHide,{immediate:!0}),e(()=>t.target,n.handlerTargetNode,{immediate:!0})},Ye=(e,{computed:t,reactive:n,watch:i},{t:r,emit:s,constants:o,vm:a,designConfig:l,parent:d,nextTick:c,mode:h})=>{const v={},$=or({api:v,computed:t,constants:o,reactive:n});return sr({api:v,state:$,constants:o,props:e,designConfig:l,t:r,emit:s,vm:a,parent:d,nextTick:c,mode:h}),ar({watch:i,props:e,api:v}),v};function lr(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ur(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ur(e,t){if(e){if(typeof e=="string")return Qe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qe(e,t)}}function Qe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var dr=function(t,n){for(var i=t.__vccOpts||t,r=lr(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},fr=H({props:[].concat(Z,["icon","type","size","description","title","closable","center","showIcon","closeText","customClass"]),components:{IconClose:ue(),IconSuccess:He(),IconError:Ne(),IconHelp:we(),IconWarning:gt()},emits:["close"],setup:function(t,n){return J({props:t,context:n,renderless:Ye,api:Ke})}}),cr={key:0,class:"tiny-alert__title"},pr={key:1,class:"tiny-alert__opration"},hr={key:2,class:"is-custom"};function gr(e,t,n,i,r,s){var o=k("icon-close");return u(),M(ie,{name:"tiny-transition-alert-fade"},{default:m(function(){return[e.state.show?(u(),p("div",{key:0,class:b(["tiny-alert","tiny-alert--"+e.type,"tiny-alert--"+e.size,{"is-center":e.center},e.customClass])},[e.showIcon?(u(),M(U(e.state.getIcon),{key:0,class:"tiny-svg-size tiny-alert__icon"})):g("v-if",!0),f("div",{class:b(["tiny-alert__content",{"close-hidden":!e.closable}])},[e.size==="large"?(u(),p("div",cr,[z(e.$slots,"title",{},function(){return[A(y(e.state.getTitle),1)]})])):g("v-if",!0),f("div",{class:b(["tiny-alert__description",{"is-hide":e.size==="large"&&!e.description&&!e.slots.description}])},[z(e.$slots,"description",{},function(){return[A(y(e.description),1)]})],2),e.size==="large"?(u(),p("div",pr,[z(e.$slots,"default")])):g("v-if",!0)],2),!e.closeText&&e.closable?(u(),M(o,{key:1,onClick:e.handleClose,class:"tiny-svg-size tiny-alert__icon tiny-alert__close"},null,8,["onClick"])):!e.closeText&&!e.closable?(u(),p("span",hr,[z(e.$slots,"close")])):e.closeText&&e.closable?(u(),p("span",{key:3,onClick:t[0]||(t[0]=function(){return e.handleClose&&e.handleClose.apply(e,arguments)}),class:"is-custom"},y(e.closeText),1)):g("v-if",!0)],2)):g("v-if",!0)]}),_:3})}var xe=dr(fr,[["render",gr]]);function vr(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=mr(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mr(e,t){if(e){if(typeof e=="string")return et(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return et(e,t)}}function et(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var yr=function(t,n){for(var i=t.__vccOpts||t,r=vr(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},br=H({props:[].concat(Z,["icon","type","size","description","closable","showIcon","closeText","duration","offset","autoHide","target","center"]),components:{IconClose:ue(),IconSuccess:He(),IconError:Ne(),IconHelp:we(),IconWarning:zn()},setup:function(t,n){return J({props:t,context:n,renderless:Ye,api:Ke})}});function Cr(e,t,n,i,r,s){var o=k("icon-close");return u(),M(ie,{name:"tiny-mobile-alert-fade"},{default:m(function(){return[e.state.show?(u(),p("div",{key:0,class:b(e.state.alertClass),style:j(e.state.alertStyle)},[e.showIcon?(u(),M(U(e.state.getIcon),{key:0,class:"tiny-mobile-alert__icon"})):g("v-if",!0),f("div",{class:b(["tiny-mobile-alert__content",{"is-hideicon":!e.showIcon}])},[z(e.$slots,"default",{},function(){return[A(y(e.description),1)]})],2),!e.closeText&&e.closable?(u(),M(o,{key:1,onClick:e.handleClose,class:"tiny-mobile-alert__icon tiny-mobile-alert__close"},null,8,["onClick"])):e.closeText&&e.closable?(u(),p("span",{key:2,onClick:t[0]||(t[0]=function(){return e.handleClose&&e.handleClose.apply(e,arguments)}),class:"is-custom"},y(e.closeText),1)):g("v-if",!0)],6)):g("v-if",!0)]}),_:3})}var Sr=yr(br,[["render",Cr]]);function $r(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=wr(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wr(e,t){if(e){if(typeof e=="string")return tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tt(e,t)}}function tt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var kr=function(t,n){for(var i=t.__vccOpts||t,r=$r(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},Tr=H({emits:["close"],props:[].concat(Z,["icon","type","size","description","title","closable","center","showIcon","closeText","singleLine","scrolling","showFoldable","customClass"]),components:{IconClose:ue(),IconSuccess:He(),IconError:Ne(),IconHelp:we(),IconWarning:gt(),IconChevronDown:Vn()},setup:function(t,n){return J({props:t,context:n,renderless:Ye,api:Ke})}}),Mr={"data-tag":"tiny-alert-title"},Or={"data-tag":"tiny-alert-icon",class:"ml-2.5"},Ir={key:0,"data-tag":"tiny-alert-large",class:"font-medium"},Ar={key:1,class:"pt-2"};function zr(e,t,n,i,r,s){var o=k("icon-chevron-down"),a=k("icon-close");return u(),M(ie,null,{default:m(function(){return[e.state.show?(u(),p("div",{key:0,"data-tag":"tiny-alert",class:b(e.m("min-h-min flex py-2 sm:py-3 px-4 my-2 rounded box-border font-light sm:font-normal text-color-text-primary",{"bg-color-info-primary-subtler":e.type==="info"||!e.type},{"bg-color-error-subtler":e.type==="error"},{"bg-color-warning-subtler":e.type==="warning"},{"bg-color-success-subtler":e.type==="success"},{"text-center":e.center},e.customClass))},[e.showIcon?(u(),M(U(e.state.getIcon),{key:0,"custom-class":"h-4.5 w-4.5 mt-1 sm:mt-0.5 sm:h-6 sm:w-5 sm:h-5 fill-current",class:b([{"text-color-info-primary":e.type==="info"||!e.type},{"text-color-error":e.type==="error"},{"text-color-warning":e.type==="warning"},{"text-color-success":e.type==="success"}])},null,8,["class"])):g("v-if",!0),e.showFoldable?(u(),p("div",{key:1,"data-tag":"tiny-alert-foldable",class:b(["flex-1 leading-6 text-sm overflow-hidden",e.showIcon?"mx-2":"mr-2"])},[e.size==="large"?(u(),p("div",{key:0,"data-tag":"tiny-alert-large",onClick:t[0]||(t[0]=function(){return e.handleHeaderClick&&e.handleHeaderClick.apply(e,arguments)}),class:"inline-flex cursor-pointer font-medium"},[f("span",Mr,[z(e.$slots,"title",{},function(){return[A(y(e.state.getTitle),1)]})]),f("span",Or,[C(o,{class:b(["transition-transform duration-300 align-top my-1 fill-color-icon-placeholder",[e.state.contentVisible?"rotate-180":"rotate-0"]])},null,8,["class"])])])):g("v-if",!0),f("div",{"data-tag":"tiny-alert-content",ref:"ContentDescribe",class:b(["transition-all duration-900 ease-linear",{hidden:e.size==="large"&&!e.description&&!e.slots.description},{"overflow-y-auto":e.state.scrollStatus},e.state.contentVisible?"max-h-[theme(spacing.72)]":"max-h-0"])},[f("div",{"data-tag":"tiny-alert-singline",class:b(["text-color-text-secondary",[{truncate:e.singleLine},{"hover:animate-[leftMove_10s_linear_infinite] hover:overflow-visible cursor-pointer":e.singleLine&&e.scrolling}]])},[z(e.$slots,"description",{},function(){return[A(y(e.description),1)]})],2)],2),e.size==="large"&&e.slots.default?(u(),p("div",{key:1,"data-tag":"tiny-alert-default",ref:"ContentDefault",class:b(["transition-all duration-900 ease-linear",{"pt-2":e.description&&e.state.contentVisible},{"overflow-y-auto":e.state.scrollStatus},e.state.contentVisible?"max-h-[theme(spacing.72)]":"max-h-0"])},[z(e.$slots,"default")],2)):g("v-if",!0)],2)):(u(),p("div",{key:2,"data-tag":"tiny-alert-notfoldable",class:b(["flex-1 leading-6 text-sm overflow-hidden cursor-pointer",[e.showIcon?"ml-2":"",e.closable?"mr-2":""]])},[e.size==="large"?(u(),p("div",Ir,[z(e.$slots,"title",{},function(){return[A(y(e.state.getTitle),1)]})])):g("v-if",!0),f("div",{"data-tag":"tiny-alert-singlelinebox",class:b([{hidden:e.size==="large"&&!e.description&&!e.slots.description}])},[f("div",{"data-tag":"tiny-alert-singleline",class:b([{truncate:e.singleLine},{"hover:animate-[leftMove_10s_linear_infinite] hover:overflow-visible cursor-pointer":e.singleLine&&e.scrolling}])},[z(e.$slots,"description",{},function(){return[A(y(e.description),1)]})],2)],2),e.size==="large"&&e.slots.default?(u(),p("div",Ar,[z(e.$slots,"default")])):g("v-if",!0)],2)),!e.closeText&&e.closable?(u(),M(a,{key:3,onClick:e.handleClose,class:"h-4 w-4 mt-1 cursor-pointer fill-color-text-primary opacity-70"},null,8,["onClick"])):e.closeText&&e.closable?(u(),p("span",{key:4,"data-tag":"tiny-alert-close-text",onClick:t[1]||(t[1]=function(){return e.handleClose&&e.handleClose.apply(e,arguments)}),class:"leading-6 text-sm cursor-pointer"},y(e.closeText),1)):g("v-if",!0)],2)):g("v-if",!0)]}),_:3})}var Vr=kr(Tr,[["render",zr]]);function _e(){return _e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_e.apply(this,arguments)}var _r=function(t){var n,i=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(i||t)==="pc"?xe:(i||t)==="mobile"?Sr:(i||t)==="mobile-first"?Vr:xe},Dr={ICON_MAP:{success:"icon-success",error:"icon-error",info:"icon-help",warning:"icon-warning"},TITLE_MAP:{success:"ui.alert.success",error:"ui.alert.error",info:"ui.alert.info",warning:"ui.alert.warning"},CONTENT_MAXHEUGHT:252},Fr=_e({},x,{_constants:{type:Object,default:function(){return Dr}},icon:[String,Object],type:{type:String,default:"info"},size:{type:String,default:"normal"},description:{type:String,default:""},title:{type:String},center:Boolean,showIcon:{type:Boolean,default:!0},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},singleLine:{type:Boolean,default:!1},scrolling:{type:Boolean,default:!1},showFoldable:{type:Boolean,default:!1},customClass:[String,Object,Array],offset:{type:[Number,String],default:0},autoHide:{type:Boolean,default:!1},target:{type:String,default:""}}),de=H({name:ee+"Alert",props:Fr,setup:function(t,n){return pe({props:t,context:n,template:_r})}}),Br="3.16.0";de.install=function(e){e.component(de.name,de)};de.version=Br;const Er=e=>cn(e)?Object.keys(e).length===0:!0;var Hr=Er;const Nr=e=>JSON.stringify(e)||"";var re=Nr;const Lr=e=>t=>{const n=t.target,i=(n==null?void 0:n.nodeName)==="INPUT"?"[type=radio]":"[role=radio]",r=e.$el.querySelectorAll(i),s=r.length,o=[].indexOf.call(r,n),a=e.$el.querySelectorAll("[role=radio]");switch(t.keyCode){case ge.ArrowDown:case ge.ArrowRight:o===s-1?(t.stopPropagation(),t.preventDefault(),a[0].click(),a[0].focus()):(a[o+1].click(),a[o+1].focus());break;case ge.ArrowUp:case ge.ArrowLeft:t.stopPropagation(),t.preventDefault(),o===0?(a[s-1].click(),a[s-1].focus()):(a[o-1].click(),a[o-1].focus());break}},Rr=e=>()=>{const t=e.$el.querySelectorAll("[type=radio]"),n=e.$el.querySelectorAll("[role=radio]")[0];![].some.call(t,i=>i.checked)&&n&&(n.tabIndex=0)},It=["state","handleKeydown"],At=(e,{computed:t,onMounted:n,reactive:i,watch:r,provide:s},{parent:o,dispatch:a})=>{const l=i({radioGroupSize:t(()=>e.size),tag:"div",activeStyle:e.fill});o.$on("handleChange",c=>{o.$emit("change",c)});const d={state:l,dispatch:a,onMounted:Rr(o),handleKeydown:Lr(o)};return r(()=>e.modelValue,c=>{d.dispatch("FormItem","form.change",[c])}),n(d.onMounted),s("radioVertical",e.vertical),s("showTips",e.showTips),s("size",e.size),d},Gr=({constants:e,nextTick:t,dispatch:n,state:i})=>()=>{t(()=>{n(e.RADIO_GROUP,"handleChange",[i.value])})},Pr=e=>()=>{var t;return(t=e.radioGroup)==null?void 0:t.modelValue},jr=({state:e})=>t=>{var n;return(n=e.radioGroup)==null?void 0:n.$emit("update:modelValue",t)},Ur=({constants:e,parent:t})=>()=>{let n=t.$parent;for(;n;)if(n.$options.componentName!==e.RADIO_GROUP)n=n.$parent;else return n;return null},Wr=e=>()=>{var t,n,i,r;return{backgroundColor:((t=e.radioGroup)==null?void 0:t.fill)||"",borderColor:((n=e.radioGroup)==null?void 0:n.fill)||"",boxShadow:(i=e.radioGroup)!=null&&i.fill?`-1px 0 0 0 ${e.radioGroup.fill}`:"",color:((r=e.radioGroup)==null?void 0:r.textColor)||""}},Kr=({vm:e,props:t})=>(n=!1)=>{const i=e.$refs.radio;Object.keys(t.events).forEach(r=>{i[(n?"remove":"add")+"EventListener"](r,t.events[r])})},Yr=({state:e,props:t})=>()=>{e.value=e.isDisabled?e.value:t.label},Xr=e=>()=>e.focus=!0,qr=e=>()=>e.focus=!1,zt=["state","handleChange","keydownHandle","handleFocus","handleBlur"],Vt=(e,{computed:t,reactive:n,onMounted:i,onBeforeUnmount:r,inject:s},{parent:o,dispatch:a,constants:l,nextTick:d,vm:c})=>{const h={getGroup:Ur({constants:l,parent:o}),toggleEvents:Kr({vm:c,props:e})},v=n({focus:!1,value:t({get:()=>h.getValue(),set:$=>h.setValue($)}),radioGroup:t(()=>h.getGroup()),activeStyle:t(()=>h.getStyle()),size:t(()=>{var $;return($=v.radioGroup)==null?void 0:$.state.radioGroupSize}),isDisabled:t(()=>{var $;return e.disabled||(($=v.radioGroup)==null?void 0:$.disabled)}),tabIndex:t(()=>v.isDisabled||v.radioGroup&&v.value!==e.label?-1:0),showTips:s("showTips",!1),tipContent:e.tipContent});return Object.assign(h,{state:v,getValue:Pr(v),getStyle:Wr(v),setValue:jr({state:v}),handleChange:Gr({constants:l,dispatch:a,nextTick:d,state:v}),keydownHandle:Yr({state:v,props:e}),handleFocus:Xr(v),handleBlur:qr(v)}),i(()=>{h.toggleEvents(!1)}),r(()=>{h.toggleEvents(!0)}),h};function Zr(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Jr(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jr(e,t){if(e){if(typeof e=="string")return nt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nt(e,t)}}function nt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var Qr=function(t,n){for(var i=t.__vccOpts||t,r=Zr(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},xr=H({emits:["change"],props:[].concat(Z,["label","events","text","disabled","name"]),setup:function(t,n){return J({props:t,context:n,renderless:Vt,api:zt})}}),eo=["aria-checked","aria-disabled","tabindex"],to=["value","name","disabled"];function no(e,t,n,i,r,s){return u(),p("label",{class:b(["tiny-radio-button",[e.state.size?"tiny-radio-button--"+e.state.size:"",{"is-active":e.state.value===e.label},{"is-disabled":e.state.isDisabled},{"is-focus":e.state.focus}]]),role:"radio","aria-checked":e.state.value===e.label,"aria-disabled":e.state.isDisabled,tabindex:e.state.tabIndex,onKeydown:t[5]||(t[5]=Ct(te(function(o){return e.state.value=e.state.isDisabled?e.state.value:e.label},["stop","prevent"]),["space"]))},[q(f("input",{ref:"radio",class:"tiny-radio-button__orig-radio",value:e.label,type:"radio","onUpdate:modelValue":t[0]||(t[0]=function(o){return e.state.value=o}),name:e.name,onChange:t[1]||(t[1]=function(){return e.handleChange&&e.handleChange.apply(e,arguments)}),disabled:e.state.isDisabled,tabindex:"-1",onFocus:t[2]||(t[2]=function(o){return e.state.focus=!0}),onBlur:t[3]||(t[3]=function(o){return e.state.focus=!1})},null,40,to),[[bt,e.state.value]]),f("span",{class:"tiny-radio-button__inner",style:j(e.state.value===e.label?e.state.activeStyle:void 0),onKeydown:t[4]||(t[4]=te(function(){},["stop"]))},[z(e.$slots,"default"),e.slots.default?g("v-if",!0):(u(),p(V,{key:0},[A(y(e.text||e.label),1)],64))],36)],42,eo)}var it=Qr(xr,[["render",no]]);function io(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ro(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ro(e,t){if(e){if(typeof e=="string")return rt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rt(e,t)}}function rt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var oo=function(t,n){for(var i=t.__vccOpts||t,r=io(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},so=H({emits:["change"],props:[].concat(Z,["label","events","text","disabled","name","tipContent"]),components:{TinyTooltip:vt,IconHelpCircle:Lt()},inheritAttrs:!1,setup:function(t,n){return J({props:t,context:n,renderless:Vt,api:zt})}}),ao=["aria-checked","aria-disabled","tabindex"],lo=["value","name","disabled"];function uo(e,t,n,i,r,s){var o=k("IconHelpCircle"),a=k("tiny-tooltip");return u(),p("label",{"data-tag":"tiny-radio-button",class:b(["relative outline-0 inline-flex rounded-none cursor-pointer items-center [&:first-of-type_span]:border-l-0.5 sm:[&:first-of-type_span]:border-l [&:first-of-type_span]:rounded-l-sm [&:last-of-type_span]:rounded-r-sm",e.state.size==="small"?"sm:h-6 h-10 text-xs":"sm:h-7 sm:leading-7 h-11 text-sm sm:text-xs",!e.disabled&&!e.state.radioGroup.disabled&&e.state.value===e.label&&"sm:[&:not(:first-of-type)_span]:shadow-[calc(-1*theme(borderWidth.DEFAULT))_0_0_0_theme(colors.color.border.focus)] [&:not(:first-of-type)_span]:shadow-[calc(-1*theme(borderWidth[0.5]))_0_0_0_theme(colors.color.border.focus)]"]),role:"radio","aria-checked":e.state.value===e.label,"aria-disabled":e.state.isDisabled,tabindex:e.state.tabIndex,onKeydown:t[5]||(t[5]=Ct(te(function(){return e.keydownHandle&&e.keydownHandle.apply(e,arguments)},["stop","prevent"]),["space"]))},[q(f("input",{ref:"radio",class:"opacity-0 outline-0 absolute -z-10",value:e.label,type:"radio","onUpdate:modelValue":t[0]||(t[0]=function(l){return e.state.value=l}),name:e.name,onChange:t[1]||(t[1]=function(){return e.handleChange&&e.handleChange.apply(e,arguments)}),disabled:e.state.isDisabled,tabindex:"-1",onFocus:t[2]||(t[2]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onBlur:t[3]||(t[3]=function(){return e.handleBlur&&e.handleBlur.apply(e,arguments)})},null,40,lo),[[bt,e.state.value]]),f("span",{"data-tag":"tiny-radio-button-content",class:b(e.m("relative sm:border-y border-y-0.5 sm:border-r border-r-0.5 border-solid inline-block leading-7 items-center min-w-[theme(spacing.10)] max-w-[theme(spacing.20)] sm:min-w-[theme(spacing.12)] sm:max-w-[theme(spacing.36)] text-center overflow-hidden text-ellipsis whitespace-nowrap px-3 cursor-pointer border-color-border box-border",e.state.radioGroup.disabled&&e.state.value===e.label&&"text-color-bg-1 bg-color-brand-disabled border-y-0 cursor-not-allowed border-transparent shadow-none",e.state.radioGroup.disabled&&e.state.value!==e.label&&"bg-color-bg-4 cursor-not-allowed border-color-border-disabled text-color-text-secondary",e.disabled&&!e.state.radioGroup.disabled&&"text-color-text-secondary bg-none cursor-not-allowed",e.state.value===e.label&&!e.disabled&&!e.state.radioGroup.disabled&&"border-color-border-focus text-color-brand-focus",e.state.value!==e.label&&!e.disabled&&!e.state.radioGroup.disabled&&"text-color-text-secondary hover:text-color-brand-hover active:text-color-brand",e.state.size==="small"?"sm:h-6 leading-6 px-2 h-6":"sm:h-7 h-7",e.state.showTips&&"sm:pr-7")),style:j(e.state.value===e.label?e.state.activeStyle:null),onKeydown:t[4]||(t[4]=te(function(){},["stop"]))},[z(e.$slots,"default"),e.slots.default?g("v-if",!0):(u(),p(V,{key:0},[A(y(e.text||e.label)+" ",1),e.state.showTips?(u(),M(a,{key:0,effect:"light",content:e.tipContent,placement:"top",class:"sm:block hidden"},{default:m(function(){return[C(o,{class:"absolute right-3 top-1.5 bottom-1.5 text-sm cursor-pointer w-3.5 h-3.5 fill-color-border hover:fill-color-brand-focus"})]}),_:1},8,["content"])):g("v-if",!0)],64))],38)],42,ao)}var fo=oo(so,[["render",uo]]);function De(){return De=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},De.apply(this,arguments)}var co=function(t){var n,i=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(i||t)==="pc"?it:(i||t)==="mobile-first"?fo:it},po={RADIO_GROUP:"RadioGroup"},ho=De({},x,{_constants:{type:Object,default:function(){return po}},name:String,text:String,events:{type:Object,default:function(){return{}}},label:{},disabled:Boolean,tipContent:String}),oe=H({name:ee+"RadioButton",props:ho,setup:function(t,n){return pe({props:t,context:n,template:co})}}),go="3.16.0";oe.install=function(e){e.component(oe.name,oe)};oe.version=go;function vo(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=mo(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mo(e,t){if(e){if(typeof e=="string")return ot(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ot(e,t)}}function ot(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var yo=function(t,n){for(var i=t.__vccOpts||t,r=vo(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},bo=H({components:{Radio:Se,RadioButton:oe},emits:["change","update:modelValue"],props:[].concat(Z,["options","modelValue","type","size","fill","textColor","disabled","vertical","displayOnly"]),setup:function(t,n){return J({props:t,context:n,renderless:At,api:It})}});function Co(e,t,n,i,r,s){var o=k("radio"),a=k("radio-button");return u(),M(U(e.state.tag),{class:b(["tiny-radio-group",[e.vertical?"list-inline":""]]),role:"radiogroup",onKeydown:e.handleKeydown,ref:"group"},{default:m(function(){return[z(e.$slots,"default",{},function(){return[e.type==="radio"?(u(!0),p(V,{key:0},N(e.options,function(l,d){return u(),M(o,ce({"display-only":e.displayOnly,key:d},l),null,16,["display-only"])}),128)):g("v-if",!0),e.type==="button"?(u(!0),p(V,{key:1},N(e.options,function(l,d){return u(),M(a,ce({key:d},l),null,16)}),128)):g("v-if",!0)]})]}),_:3},40,["class","onKeydown"])}var st=yo(bo,[["render",Co]]);function So(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=$o(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $o(e,t){if(e){if(typeof e=="string")return at(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return at(e,t)}}function at(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var wo=function(t,n){for(var i=t.__vccOpts||t,r=So(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},ko=H({components:{Radio:Se,RadioButton:oe},emits:["change"],props:[].concat(Z,["options","modelValue","type","size","fill","textColor","disabled","vertical","showTips","displayOnly"]),inheritAttrs:!1,setup:function(t,n){return J({props:t,context:n,renderless:At,api:It})}});function To(e,t,n,i,r,s){var o=k("radio"),a=k("radio-button");return u(),M(U(e.state.tag),{class:b(["inline-flex",e.vertical&&"flex-col"]),role:"radiogroup",onKeydown:e.handleKeydown,ref:"group","data-tag":"tiny-radio-group"},{default:m(function(){return[z(e.$slots,"default",{},function(){return[e.type==="radio"?(u(!0),p(V,{key:0},N(e.options,function(l,d){return u(),M(o,ce({"display-only":e.displayOnly,key:d},l),null,16,["display-only"])}),128)):g("v-if",!0),e.type==="button"?(u(!0),p(V,{key:1},N(e.options,function(l,d){return u(),M(a,ce({key:d},l),null,16)}),128)):g("v-if",!0)]})]}),_:3},40,["class","onKeydown"])}var Mo=wo(ko,[["render",To]]);function Fe(){return Fe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Fe.apply(this,arguments)}var Oo=function(t){var n,i=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(i||t)==="pc"?st:(i||t)==="mobile-first"?Mo:st},Io=Fe({},x,{modelValue:{},size:{type:String,default:""},fill:String,textColor:String,disabled:Boolean,vertical:Boolean,options:{type:Array,default:function(){return[]}},type:{type:String,default:"radio"},showTips:{type:Boolean,default:!1},displayOnly:{type:Boolean,default:!1}}),se=H({name:ee+"RadioGroup",componentName:"RadioGroup",props:Io,setup:function(t,n){return pe({props:t,context:n,template:Oo})}}),Ao="3.16.0";se.model={prop:"modelValue",event:"update:modelValue"};se.install=function(e){e.component(se.name,se)};se.version=Ao;const zo=({constants:e,props:t})=>()=>t.rightSlide?e.DIALOG_SLIDER_RIGHT:e.DIALOG_FADE,Oe=e=>isNaN(Number(e))?e:e+"px",Vo=({props:e,state:t,designConfig:n})=>()=>{var i;let r={},{width:s,top:o,rightSlide:a,maxHeight:l}=e;return o===void 0&&(o=a?"0":(i=n==null?void 0:n.state)!=null&&i.top?"":"15vh"),s=Oe(s),o=Oe(o),l=Oe(l),t.isFull||(r.width=s,r.top=t.top||o,r.maxHeight=l,a?(r.right=0,r.height="calc(100vh - "+r.top+")"):r.left=t.left||"calc((100vw - "+s+") / 2)"),t.dragStyle&&(r=le(le({},r),t.dragStyle),t.isFull&&(r={left:"0px",top:"0px"})),r},_o=({vm:e,props:t,state:n})=>()=>{const i={maxHeight:""},r=e.$refs.header&&e.$refs.header.offsetHeight||0,s=e.$refs.footer&&e.$refs.footer.offsetHeight||0;let{maxHeight:o}=t;return n.isFull||t.rightSlide?e.$slots.footer?i.maxHeight=`calc(100vh - ${r+s}px)`:i.maxHeight=`calc(100vh - ${r}px)`:i.maxHeight="65vh",o&&!n.isFull&&(i.maxHeight="none"),i},Do=({api:e,constants:t,emit:n,nextTick:i,parent:r,props:s,vm:o,state:a})=>l=>{const d=r.$el;if(s.lockScroll&&(l?e.showScrollbar():e.hideScrollbar()),a.move=!1,a.isFull=s.fullscreen,n("update:visible",l),l)a.closed=!1,n("open"),Le(d,"scroll",e.updatePopper),i(()=>{o.$refs.dialog.scrollTop=0}),s.appendToBody&&document.body.appendChild(d);else if(Re(d,"scroll",e.updatePopper),a.closed||(a.emitter.emit("boxclose",s.isFormReset),n("close")),s.destroyOnClose&&i(()=>a.key++),s.rightSlide){const c=d.querySelector(t.DIALOG_BOX_CLASS)||d;c.style.left=""}},Fo=({api:e,parent:t,props:n})=>()=>{if(n.lockScroll&&n.visible&&e.showScrollbar(),n.visible){const i=t.$el;e.open(),n.appendToBody&&document.body.appendChild(i)}},Bo=({api:e,parent:t,props:n})=>()=>{const i=t.$el;e.hideScrollbar(),n.appendToBody&&i&&i.parentNode&&i.parentNode.removeChild(i)},Eo=({state:e})=>t=>{e.mouseDownWrapperFlag=!1,/tiny-dialog-box__wrapper/.test(t.target.className)&&t.type==="mousedown"&&(e.mouseDownWrapperFlag=!0)},Ho=({state:e})=>t=>{e.mouseUpWrapperFlag=!1,/tiny-dialog-box__wrapper/.test(t.target.className)&&t.type==="mouseup"&&(e.mouseUpWrapperFlag=!0)},No=({api:e,props:t,state:n})=>()=>{t.closeOnClickModal&&n.mouseDownWrapperFlag&&n.mouseUpWrapperFlag&&e.handleClose("mask")},Lo=({api:e,constants:t,emit:n,parent:i,props:r})=>(s="close")=>{if(typeof r.beforeClose=="function"&&r.beforeClose(s)===!1)return;const o=i.$el;if(r.rightSlide){const a=o.querySelector(t.DIALOG_BOX_CLASS)||o;a.style.left=""}pn(n,"before-close",e.hide)&&e.hide(s)},Ro=({api:e,emit:t,state:n,props:i})=>r=>{r!==!1&&(n.emitter.emit("boxclose",i.isFormReset),t("update:visible",!1),t("change",!1),t("close",r),n.closed=!0,e.hideScrollbar())},Go=({api:e,emit:t})=>()=>{t("confirm"),e.handleClose("confirm")},Po=({api:e,emit:t})=>()=>{t("cancel"),e.handleClose("cancel")},jo=({api:e,constants:t})=>()=>{e.broadcast(t.SELECT_DROPDOWN,"updatePopper"),e.broadcast(t.DROPDOWN_MENU,"updatePopper")},Uo=e=>()=>{e("opened")},Wo=e=>()=>{e("closed")},_t=({vm:e,componentList:t})=>{const n=e.$children;return!n||n.length===0?[]:(n.forEach(i=>{i.$options.componentName==="Select"&&t.push(i),_t({vm:i,componentList:t})}),t)},Ko=e=>{_t({vm:e,componentList:[]}).forEach(t=>{t.state.visible=!1})},Yo=({parent:e,props:t,state:n,emit:i,vm:r})=>s=>{if(!t.draggable)return;let o=r.$refs.dialog;s.preventDefault();let a=document.onmousemove,l=document.onmouseup,d=s.clientX-o.offsetLeft,c=s.clientY-o.offsetTop,{visibleHeight:h,visibleWidth:v}=Rt();document.onmousemove=$=>{$.preventDefault(),n.move||(i("drag-start",$),Ko(e),n.move=!0);let T=o.offsetWidth,O=o.offsetHeight,S,I;if(t.dragOutsideWindow){let F=v-10,B=h-10;S=$.clientX-d,I=$.clientY-c,S=$.clientX<0?-d:S>F?F:S,I=$.clientY<0?-c:I>B?B:I}else{let F=Math.max(v-T,0),B=Math.max(h-O,0);S=$.clientX-d,I=$.clientY-c,S=S<0?0:S>F?F:S,I=I<0?0:I>B?B:I}n.isFull||(n.dragStyle={left:`${S}px`,top:`${I}px`}),n.left=`${S}px`,n.top=`${I}px`,n.emitter.emit("boxdrag"),i("drag-move",$)},document.onmouseup=()=>{document.onmousemove=a,document.onmouseup=l,n.move=!1,t.draggable&&i("drag-end",s)}},Xo=e=>()=>{mt(document.body,e)},qo=e=>()=>{Gt(document.body,e)},Zo=({state:e,emit:t,nextTick:n,vm:i})=>r=>{e.isFull=r,n(()=>{t("resize",{fullscreen:r,dialog:i.$refs.dialog})})};let Jo=1;const Qo=typeof window>"u",xo=({onMounted:e,onBeforeUnmount:t,watch:n,vm:i,api:r,props:s,state:o,nextTick:a})=>{e(()=>{i._popupId=`popup-${Jo++}`,K.register(i._popupId,i)}),t(()=>{K.deregister(i._popupId),K.closeModal(i._popupId)}),n(()=>s.visible,l=>{if(l){if(i._opening)return;o.rendered?r.open():(o.rendered=!0,a(()=>{r.open()}))}else r.close()})},es=({state:e,vm:t})=>n=>{e.rendered||(e.rendered=!0);const i=Pt({},t.$props||t,n);t._closeTimer&&(clearTimeout(t._closeTimer),t._closeTimer=null),clearTimeout(t._openTimer);const r=()=>{if(Qo||e.opened)return;t._opening=!0;const o=t.$el,a=i.modal,l=i.zIndex;l&&(K.zIndex=l),a&&(t._closing&&(K.closeModal(t._popupId),t._closing=!1),K.openModal(t._popupId,K.nextZIndex(),i.modalAppendToBody?void 0:o,i.modalClass,i.modalFade),i.lockScroll&&(K.fixBodyBorder(),mt(document.body,K.popLockClass))),getComputedStyle(o).position==="static"&&(o.style.position="absolute"),o.style.zIndex=K.nextZIndex().toString(),e.opened=!0,t._opening=!1},s=Number(i.openDelay);s>0?t._openTimer=setTimeout(()=>{t._openTimer=null,r()},s):r()},ts=({state:e,vm:t})=>()=>{t._openTimer!==null&&(clearTimeout(t._openTimer),t._openTimer=null),clearTimeout(t._closeTimer);const n=()=>{t._closing=!0,e.opened=!1,K.closeModal(t._popupId),t._closing=!1},i=Number(t.closeDelay);i>0?t._closeTimer=setTimeout(()=>{t._closeTimer=null,n()},i):n()};var ns=e=>{const{api:t,nextTick:n,onBeforeUnmount:i,onMounted:r,props:s,reactive:o,toRefs:a,vm:l,watch:d}=e,c=o({opened:!1,rendered:!1});xo({onMounted:r,onBeforeUnmount:i,watch:d,vm:l,api:t,props:s,state:c,nextTick:n});const h=es({state:c,vm:l}),v=ts({state:c,vm:l});return le({open:h,close:v,PopupManager:K},a(c))};const Xe=["afterEnter","afterLeave","handleClose","handleWrapperClick","useMouseEventDown","useMouseEventUp","handleCancel","handleConfirm","handleDrag","toggleFullScreen","state"],is=({reactive:e,computed:t,api:n,emitter:i,props:r,useBreakpoint:s})=>{const{current:o}=s();return e({emitter:i(),key:0,x:null,y:null,top:null,left:null,max:null,move:!1,closed:!1,dragable:!1,isFull:r.fullscreen,style:t(()=>n.computedStyle()),bodyStyle:t(()=>n.computedBodyStyle()),animationName:t(()=>n.computedAnimationName()),current:o,dragStyle:null})},rs=({reactive:e,state:t,toRefs:n,usePopups:i})=>{const{opened:r,rendered:s}=i;return e(le({opened:r,rendered:s},n(t)))},os=({emit:e,api:t,state:n,parent:i,props:r,lockScrollClass:s,constants:o,usePopups:a,nextTick:l,broadcast:d,designConfig:c,vm:h})=>{const{open:v,close:$}=a;Object.assign(t,{state:n,open:v,close:$,broadcast:d,handleCancel:Po({api:t,emit:e}),handleConfirm:Go({api:t,emit:e}),updatePopper:jo({api:t,constants:o}),handleWrapperClick:No({api:t,props:r,state:n}),useMouseEventDown:Eo({state:n}),useMouseEventUp:Ho({state:n}),hide:Ro({api:t,emit:e,state:n,props:r}),handleClose:Lo({api:t,constants:o,emit:e,parent:i,props:r}),watchVisible:Do({api:t,constants:o,emit:e,nextTick:l,parent:i,props:r,vm:h,state:n}),computedStyle:Vo({state:n,props:r,designConfig:c}),computedBodyStyle:_o({vm:h,props:r,state:n}),mounted:Fo({api:t,parent:i,props:r}),unMounted:Bo({api:t,parent:i,props:r}),computedAnimationName:zo({constants:o,props:r}),afterEnter:Uo(e),afterLeave:Wo(e),hideScrollbar:qo(s),showScrollbar:Xo(s),handleDrag:Yo({parent:i,props:r,state:n,emit:e,vm:h}),toggleFullScreen:Zo({state:n,emit:e,nextTick:l,vm:h})})},ss=({watch:e,state:t,api:n,props:i})=>{e(()=>i.visible,n.watchVisible),e(()=>i.fullscreen,r=>{t.isFull=r})},qe=(e,{computed:t,onBeforeUnmount:n,onMounted:i,toRefs:r,reactive:s,watch:o},{vm:a,emitter:l,parent:d,emit:c,constants:h,nextTick:v,mode:$,broadcast:T,designConfig:O,useBreakpoint:S})=>{const I={},F=h.scrollLockClass($);let B=is({reactive:s,computed:t,api:I,emitter:l,props:e,useBreakpoint:S});const L=ns({api:I,nextTick:v,onBeforeUnmount:n,onMounted:i,props:e,reactive:s,toRefs:r,vm:a,watch:o});return os({api:I,state:B,parent:d,props:e,emit:c,constants:h,usePopups:L,lockScrollClass:F,nextTick:v,vm:a,broadcast:T,designConfig:O}),B=rs({reactive:s,state:B,toRefs:r,usePopups:L}),ss({watch:o,state:B,api:I,props:e}),i(I.mounted),n(I.unMounted),I};function as(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ls(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ls(e,t){if(e){if(typeof e=="string")return lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lt(e,t)}}function lt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var us=function(t,n){for(var i=t.__vccOpts||t,r=as(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},ds=H({components:{IconClose:ue(),IconFullscreen:je(),IconMinscreen:Ue()},emits:["update:visible","change","before-close","open","close","opened","confirm","cancel","closed","drag-start","drag-move","drag-end","resize"],props:[].concat(Z,["resize","isFormReset","visible","title","modal","modalAppendToBody","appendToBody","lockScroll","closeOnClickModal","closeOnPressEscape","showClose","width","fullscreen","top","center","draggable","dragOutsideWindow","showHeader","rightSlide","destroyOnClose","dialogClass","beforeClose","maxHeight","dialogTransition"]),model:{prop:"visible",event:"update:visible"},provide:function(){return{dialog:this}},setup:function(t,n){return J({props:t,context:n,renderless:qe,api:Xe})}}),fs={class:"tiny-dialog-box__title"},cs={key:1,class:"tiny-dialog-box__footer"};function ps(e,t,n,i,r,s){var o=k("icon-fullscreen"),a=k("icon-minscreen"),l=k("icon-close");return u(),M(ie,{name:e.state.animationName,onAfterEnter:e.afterEnter,onAfterLeave:e.afterLeave,persisted:""},{default:m(function(){return[q(f("div",{class:b(["tiny-dialog-box__wrapper",e.dialogClass]),onClick:t[5]||(t[5]=te(function(){return e.handleWrapperClick&&e.handleWrapperClick.apply(e,arguments)},["self"])),onMouseup:t[6]||(t[6]=function(){return e.useMouseEventUp&&e.useMouseEventUp.apply(e,arguments)}),onMousedown:t[7]||(t[7]=function(){return e.useMouseEventDown&&e.useMouseEventDown.apply(e,arguments)})},[C(ie,{name:e.dialogTransition},{default:m(function(){return[!e.destroyOnClose||e.visible?q((u(),p("div",{ref:"dialog",class:b([[{"is-fullscreen":e.state.isFull,"is-center":e.center,"is-right-slide":e.rightSlide}],"tiny-dialog-box"]),style:j(e.state.style),key:e.state.key},[e.showHeader?(u(),p("div",{key:0,class:"tiny-dialog-box__header",onMousedown:t[4]||(t[4]=function(){return e.handleDrag&&e.handleDrag.apply(e,arguments)})},[z(e.$slots,"title",{},function(){return[f("span",fs,y(e.title),1)]}),e.resize&&!e.state.isFull?(u(),p("button",{key:0,type:"button",class:"tiny-dialog-box__headerbtn","aria-label":"Resize",onClick:t[0]||(t[0]=function(d){return e.toggleFullScreen(!0)})},[C(o,{class:"tiny-svg-size tiny-dialog-box__close"})])):g("v-if",!0),e.resize&&e.state.isFull?(u(),p("button",{key:1,type:"button",class:"tiny-dialog-box__headerbtn","aria-label":"Resize",onClick:t[1]||(t[1]=function(d){return e.toggleFullScreen(!1)})},[C(a,{class:"tiny-svg-size tiny-dialog-box__close"})])):g("v-if",!0),e.showClose?(u(),p("button",{key:2,type:"button",class:"tiny-dialog-box__headerbtn","aria-label":"Close",onClick:t[2]||(t[2]=function(d){return e.handleClose("close",d)}),onMousedown:t[3]||(t[3]=te(function(){},["stop"]))},[C(l,{class:"tiny-svg-size tiny-dialog-box__close"})],32)):g("v-if",!0)],32)):g("v-if",!0),f("div",{class:"tiny-dialog-box__body",style:j(e.state.bodyStyle)},[z(e.$slots,"default")],4),e.slots.footer?(u(),p("div",cs,[z(e.$slots,"footer",{beforeClose:e.beforeClose})])):g("v-if",!0)],6)),[[ne,e.visible]]):g("v-if",!0)]}),_:3},8,["name"])],34),[[ne,e.visible]])]}),_:3},8,["name","onAfterEnter","onAfterLeave"])}var ut=us(ds,[["render",ps]]);function hs(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=gs(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gs(e,t){if(e){if(typeof e=="string")return dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dt(e,t)}}function dt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var vs=function(t,n){for(var i=t.__vccOpts||t,r=hs(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},ms=H({emits:["update:visible","change","before-close","open","close","opened","confirm","cancel","closed"],props:[].concat(Z,["visible","title","modal","closeOnClickModal","modalAppendToBody","appendToBody","width","top","showHeader","destroyOnClose"]),model:{prop:"visible",event:"update:visible"},setup:function(t,n){return J({props:t,context:n,renderless:qe,api:Xe})}}),ys={key:0,class:"tiny-mobile-dialog-box__header"},bs={class:"tiny-mobile-dialog-box__title"},Cs={class:"tiny-mobile-dialog-box__body"},Ss={class:"tiny-mobile-dialog-box__footer"};function $s(e,t,n,i,r,s){return u(),M(ie,{name:"dialog-fade",persisted:""},{default:m(function(){return[q(f("div",{class:"tiny-mobile-dialog-box__wrapper",onClick:t[2]||(t[2]=te(function(){return e.handleWrapperClick&&e.handleWrapperClick.apply(e,arguments)},["self"]))},[(u(),p("div",{ref:"dialog",class:b([{"is-hide-header":!e.showHeader},"tiny-mobile-dialog-box"]),key:e.state.key},[e.showHeader?(u(),p("div",ys,[z(e.$slots,"title",{},function(){return[f("span",bs,y(e.title),1)]})])):g("v-if",!0),f("div",Cs,[z(e.$slots,"default")]),f("div",Ss,[z(e.$slots,"footer",{},function(){return[f("button",{type:"button",onClick:t[0]||(t[0]=function(){return e.handleCancel&&e.handleCancel.apply(e,arguments)}),class:"tiny-mobile-dialog-box__button cancel-button"},y(e.t("ui.dialogBox.cancel")),1),f("button",{type:"button",onClick:t[1]||(t[1]=function(){return e.handleConfirm&&e.handleConfirm.apply(e,arguments)}),class:"tiny-mobile-dialog-box__button confirm-button"},y(e.t("ui.dialogBox.confirm")),1)]})])],2))],512),[[ne,e.visible]])]}),_:3})}var ws=vs(ms,[["render",$s]]);function ks(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Ts(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ts(e,t){if(e){if(typeof e=="string")return ft(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ft(e,t)}}function ft(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var Ms=function(t,n){for(var i=t.__vccOpts||t,r=ks(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},Os=H({components:{IconClose:ue(),IconFullscreen:je(),IconMinscreen:Ue(),TinyActionSheet:jt},emits:["update:visible","change","before-close","open","close","opened","confirm","cancel","closed","drag-start","drag-move","drag-end"],props:[].concat(Z,["resize","isFormReset","visible","title","modal","modalAppendToBody","appendToBody","lockScroll","closeOnClickModal","closeOnPressEscape","showClose","width","fullscreen","top","center","draggable","showHeader","rightSlide","destroyOnClose","dialogClass","beforeClose","maxHeight"]),model:{prop:"visible",event:"update:visible"},setup:function(t,n){return J({props:t,context:n,renderless:qe,api:Xe})}}),Is={key:0},As={"data-tag":"tiny-dialog-box__title",class:"text-sm text-color-text-primary mr-4 flex-1 font-bold"},zs={key:1,"data-tag":"tiny-dialog-box__footer",class:"pt-4 pr-6 pb-4 pl-6 text-right box-border border-t border-t-color-bg-3 [&_[data-tag=tiny-button]]:mx-1 [&_[data-tag=tiny-button]]:my-0 [&_[data-tag=tiny-toolbar]_[data-tag=tiny-button]]:my-0 [&_[data-tag=tiny-toolbar]_[data-tag=tiny-button]]:mx-1"},Vs={key:1};function _s(e,t,n,i,r,s){var o=k("icon-fullscreen"),a=k("icon-minscreen"),l=k("icon-close"),d=k("tiny-action-sheet");return u(),p("div",null,[e.state.current!=="default"?(u(),p("div",Is,[C(ie,{name:e.state.animationName,onAfterEnter:e.afterEnter,onAfterLeave:e.afterLeave,persisted:""},{default:m(function(){return[q(f("div",{class:b(["fixed inset-0 m-0 flex items-center",e.dialogClass]),"data-tag":"tiny-dialog-box__wrapper",onClick:t[4]||(t[4]=te(function(){return e.handleWrapperClick&&e.handleWrapperClick.apply(e,arguments)},["self"]))},[!e.destroyOnClose||e.visible?(u(),p("div",{ref:"dialog","data-tag":"tiny-dialog-box",class:b([[{"left-0 top-0 w-screen h-screen":e.state.isFull,"text-center":e.center,"flex flex-col rounded-none":e.rightSlide}],"absolute bg-color-bg-1 border-none overflow-hidden shadow-xl rounded flex flex-col"]),style:j(e.state.style),key:e.state.key},[e.showHeader?(u(),p("div",{key:0,"data-tag":"tiny-dialog-box__header",class:"px-6 py-4 h-12 leading-4 bg-color-bg-1 flex justify-between items-center border-b border-b-color-bg-3",onMousedown:t[3]||(t[3]=function(){return e.handleDrag&&e.handleDrag.apply(e,arguments)})},[z(e.$slots,"title",{},function(){return[f("span",As,y(e.title),1)]}),e.resize&&!e.state.isFull?(u(),p("button",{key:0,type:"button","data-tag":"tiny-dialog-box__headerbtn",class:"border-none p-0 leading-none cursor-pointer focus:outline-0","aria-label":"Resize",onClick:t[0]||(t[0]=function(c){return e.toggleFullScreen(!0)})},[C(o,{"data-tag":"tiny-svg-size tiny-dialog-box__close",class:"fill-color-text-primary text-base hover:fill-color-brand"})])):g("v-if",!0),e.resize&&e.state.isFull?(u(),p("button",{key:1,type:"button","data-tag":"tiny-dialog-box__headerbtn",class:"border-none p-0 leading-none cursor-pointer focus:outline-0","aria-label":"Resize",onClick:t[1]||(t[1]=function(c){return e.toggleFullScreen(!1)})},[C(a,{"data-tag":"tiny-svg-size tiny-dialog-box__close",class:"fill-color-text-primary text-base hover:fill-color-brand"})])):g("v-if",!0),e.showClose?(u(),p("button",{key:2,type:"button","data-tag":"tiny-dialog-box__headerbtn",class:"border-none p-0 leading-none cursor-pointer focus:outline-0","aria-label":"Close",onClick:t[2]||(t[2]=function(c){return e.handleClose("close",c)})},[C(l,{"data-tag":"tiny-svg-size tiny-dialog-box__close",class:"fill-color-text-primary text-base hover:fill-color-brand"})])):g("v-if",!0)],32)):g("v-if",!0),f("div",{"data-tag":"tiny-dialog-box__body",class:b(["text-left pt-0 pr-6 pb-0 pl-6 mb-3 mt-3 text-color-text-primary leading-5.5 text-sm overflow-auto",[e.state.isFull?"max-h-[calc(100vh-theme(spacing.28))]":"max-h-[65vh]",e.rightSlide?"max-h-[none] flex-auto":""]]),style:j(e.state.bodyStyle)},[z(e.$slots,"default")],6),e.slots.footer?(u(),p("div",zs,[z(e.$slots,"footer",{beforeClose:e.beforeClose})])):g("v-if",!0)],6)):g("v-if",!0)],2),[[ne,e.visible]])]}),_:3},8,["name","onAfterEnter","onAfterLeave"])])):g("v-if",!0),e.state.current==="default"?(u(),p("div",Vs,[!e.destroyOnClose||e.visible?(u(),M(d,ce({key:0,ref:"dialog"},e.$props,{"show-footer":!0,mask:e.modal,"mask-closable":e.closeOnClickModal,"before-close":e.beforeClose,"onUpdate:visible":t[5]||(t[5]=function(c){return e.$emit("update:visible",c)})}),sn({_:2},[N(e.slots,function(c,h){return{name:h,fn:m(function(v){return[f("div",{class:b({"flex w-full justify-between px-4 [&_[data-tag=tiny-button]]:flex-grow [&_[data-tag=tiny-button]:nth-child(2)]:ml-2":h==="footer","px-4 min-h-[250px]":h==="default"})},[z(e.$slots,h,an(ln(v)))],2)]})}})]),1040,["mask","mask-closable","before-close"])):g("v-if",!0)])):g("v-if",!0)])}var Ds=Ms(Os,[["render",_s]]);function Be(){return Be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Be.apply(this,arguments)}var Fs=function(t){var n,i=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(i||t)==="pc"?ut:(i||t)==="mobile"?ws:(i||t)==="mobile-first"?Ds:ut},Bs={DIALOG_SLIDER_RIGHT:"dialog-slideRight",DIALOG_FADE:"dialog-fade",SELECT_DROPDOWN:ee+"SelectDropdown",DROPDOWN_MENU:ee+"DropdownMenu",DIALOG_BOX_CLASS:"div.tiny-dialog-box",PC_SCROLL_LOCK_CLASS:"dialog-box__scroll-lock",MOBILE_SCROLL_LOCK_CLASS:"mobile-dialog-box__scroll-lock",Mode:"pc",scrollLockClass:function(t){return t===this.Mode?this.PC_SCROLL_LOCK_CLASS:this.MOBILE_SCROLL_LOCK_CLASS}},Es=Be({},x,{_constants:{type:Object,default:function(){return Bs}},appendToBody:{type:Boolean,default:function(){return!1}},beforeClose:Function,center:{type:Boolean,default:function(){return!1}},closeOnClickModal:{type:Boolean,default:function(){return!0}},closeOnPressEscape:{type:Boolean,default:function(){return!0}},destroyOnClose:{type:Boolean,default:function(){return!1}},dialogClass:{type:String,default:function(){return""}},draggable:{type:Boolean,default:function(){return!1}},dragOutsideWindow:{type:Boolean,default:function(){return!1}},fullscreen:{type:Boolean,default:function(){return!1}},isFormReset:{type:Boolean,default:function(){return!0}},lockScroll:{type:Boolean,default:function(){return!0}},modal:{type:Boolean,default:function(){return!0}},modalAppendToBody:{type:Boolean,default:function(){return!0}},resize:{type:Boolean,default:function(){return!1}},rightSlide:{type:Boolean,default:function(){return!1}},showClose:{type:Boolean,default:function(){return!0}},showHeader:{type:Boolean,default:function(){return!0}},title:{type:String,default:function(){return""}},top:String,visible:{type:Boolean,default:function(){return!1}},width:{type:String,default:function(){return"500px"}},maxHeight:{type:String,default:function(){return""}},dialogTransition:{type:String,default:""}}),fe=H({name:ee+"DialogBox",model:{prop:"visible",event:"update:visible"},props:Es,setup:function(t,n){return pe({props:t,context:n,template:Fs})}}),Hs="3.16.0";fe.install=function(e){e.component(fe.name,fe)};fe.version=Hs;const Ns=({numerator:e,denominator:t})=>parseFloat(e)/parseFloat(t),Ls=({api:e,props:t,vm:n,state:i})=>r=>{const s=n.$refs.outerWrapper[i.offsetSize];return i.valueIsPx?typeof t[r]=="string"?t[r]:s*t[r]:typeof t[r]=="string"?e.px2percent({numerator:t[r],denominator:s}):t[r]},Rs=e=>({oldvalue:t,newvalue:n})=>e.valueIsPx?`${Math.min(parseFloat(t),parseFloat(n))}px`:Math.min(t,n),Gs=e=>({oldvalue:t,newvalue:n})=>e.valueIsPx?`${Math.max(parseFloat(t),parseFloat(n))}px`:Math.max(t,n),Ps=({vm:e,state:t})=>n=>t.valueIsPx?`${e.$refs.outerWrapper[t.offsetSize]-parseFloat(n)}px`:1-n,js=({api:e,emit:t,props:n,vm:i,state:r})=>s=>{const a=(r.isHorizontal?s.pageX:s.pageY)-r.initOffset,l=i.$refs.outerWrapper[r.offsetSize];let d=r.valueIsPx?`${parseFloat(r.oldOffset)+a}px`:e.px2percent({numerator:l*r.oldOffset+a,denominator:l});const c=e.getAnotherOffset(d);parseFloat(d)<=parseFloat(r.computedleftTopMin)&&(d=e.getrightBottomMin({oldvalue:d,newvalue:r.computedleftTopMin})),parseFloat(c)<=parseFloat(r.computedrightBottomMin)&&(d=e.getAnotherOffset(e.getrightBottomMin({oldvalue:c,newvalue:r.computedrightBottomMin}))),s.atMin=n.modelValue===r.computedleftTopMin,s.atMax=r.valueIsPx?e.getAnotherOffset(n.modelValue)===r.computedrightBottomMin:e.getAnotherOffset(n.modelValue).toFixed(5)===r.computedrightBottomMin.toFixed(5),r.leftTopPane=l*d,t("update:modelValue",d),t("moving",s)},Us=({api:e,emit:t,off:n,state:i})=>()=>{i.isMoving=!1,n(document,"mousemove",e.handleMove),n(document,"mouseup",e.handleUp),t("moveend")},Ws=({api:e,emit:t,on:n,props:i,state:r,vm:s})=>o=>{if(!i.disabled){if(r.initOffset=r.isHorizontal?o.pageX:o.pageY,r.offset===0)r.oldOffset=0;else if(r.offset===100)r.oldOffset=1;else if(i.threeAreas){r.totalPane=s.$refs.outerWrapper[r.offsetSize];let a=e.px2percent({numerator:r.leftTopPane,denominator:r.totalPane});r.oldOffset=a,t("update:modelValue",a)}else r.oldOffset=i.modelValue;r.isMoving=!0,n(document,"mousemove",e.handleMove),n(document,"mouseup",e.handleUp),t("movestart")}},Ks=()=>e=>{e.stopPropagation()},Ys=({emit:e,props:t,state:n})=>()=>{n.offset===100?(n.offset=n.lastClickOffset,e("update:modelValue",n.lastmodelValue)):n.offset!==0&&(n.lastClickOffset=n.offset,n.offset=0,n.lastmodelValue=t.modelValue,e("update:modelValue",0)),e("left-top-click")},Xs=({emit:e,props:t,state:n})=>()=>{n.offset===0?(n.offset=n.lastClickOffset,e("update:modelValue",n.lastmodelValue)):n.offset!==100&&(n.lastClickOffset=n.offset,n.offset=100,n.lastmodelValue=t.modelValue,e("update:modelValue",1)),e("right-bottom-click")},qs=({api:e,nextTick:t,props:n,vm:i,state:r})=>()=>{setTimeout(()=>{r&&(r.totalPane=i.$refs.outerWrapper[r.offsetSize],r.leftTopPane=r.totalPane*(r.offset/100))}),r.valueIsPx?t(()=>{r.offset=e.px2percent({numerator:n.modelValue,denominator:i.$refs.outerWrapper&&i.$refs.outerWrapper[r.offsetSize]})*1e4/100}):r.offset=n.modelValue*1e4/100},Zs=["state","handleMousedown","buttonMousedown","buttonLeftTopClick","buttonRightBottomClick"],Js=(e,t,{vm:n,nextTick:i,emit:r,constants:s})=>{const o={},{computed:a,reactive:l}=t,d=Qs({nextTick:i,props:e,vm:n,constants:s,hooks:t}),c=l(le({lastClickOffset:50,lastmodelValue:.5,oldOffset:0,initOffset:0,isMoving:!1,prefix:s.PREFIX,computedleftTopMin:a(()=>o.getComputedThresholdValue("leftTopMin")),computedrightBottomMin:a(()=>o.getComputedThresholdValue("rightBottomMin")),wrapperClasses:a(()=>[`${c.prefix}-wrapper`,c.isMoving?"no-select":""]),paneClasses:a(()=>[`${c.prefix}-pane ${e.scrollable?"tiny-split-scroll":""}`,{[`${c.prefix}-pane-moving`]:c.isMoving}])},d.state));return Object.assign(o,Ut(le({state:c,getleftTopMin:Rs(c),getrightBottomMin:Gs(c)},d.api),{handleUp:Us({api:o,emit:r,off:Re,state:c}),getAnotherOffset:Ps({vm:n,state:c}),handleMove:js({api:o,emit:r,props:e,vm:n,state:c}),handleMousedown:Ws({api:o,emit:r,on:Le,props:e,state:c,vm:n}),buttonMousedown:Ks(),buttonLeftTopClick:Ys({emit:r,props:e,state:c}),buttonRightBottomClick:Xs({emit:r,props:e,state:c}),getComputedThresholdValue:Ls({api:o,props:e,vm:n,state:c})})),o},Qs=({nextTick:e,props:t,vm:n,constants:i,hooks:r})=>{const s={},{computed:o,onMounted:a,onUnmounted:l,reactive:d,toRefs:c,watch:h}=r,v=d({offset:0,anotherOffset:o(()=>100-v.offset),valueIsPx:o(()=>typeof t.modelValue=="string"),isHorizontal:o(()=>t.mode===i.HORIZONTAL),offsetSize:o(()=>v.isHorizontal?"offsetWidth":"offsetHeight"),leftTopPane:0,totalPane:0});return Object.assign(s,{px2percent:Ns,computeOffset:qs({api:s,nextTick:e,props:t,vm:n,state:v})}),h(()=>t.modelValue,s.computeOffset,{immediate:!0}),a(()=>{Le(window,"resize",s.computeOffset)}),l(()=>{Re(window,"resize",s.computeOffset)}),{api:s,state:c(v)}};function xs(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ea(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ea(e,t){if(e){if(typeof e=="string")return ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ct(e,t)}}function ct(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var ta=function(t,n){for(var i=t.__vccOpts||t,r=xs(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},na=H({components:{IconLeftWard:fi(),IconRightWard:Ei()},emits:["moving","mousemove","mouseup","moveend","movestart","update:modelValue","left-top-click","right-bottom-click"],props:[].concat(Z,["modelValue","mode","leftTopMin","rightBottomMin","disabled","triggerSimple","collapseLeftTop","collapseRightBottom","threeAreas","scrollable"]),setup:function(t,n){return J({props:t,context:n,renderless:Js,api:Zs})}});function ia(e,t,n,i,r,s){var o=k("icon-left-ward"),a=k("icon-right-ward");return u(),p("div",{ref:"outerWrapper",class:b(e.state.wrapperClasses)},[e.state.isHorizontal?(u(),p("div",{key:0,class:b(e.state.prefix+"-horizontal")},[f("div",{style:j({right:e.state.anotherOffset+"%",width:e.state.anotherOffset!==100&&e.threeAreas?e.state.leftTopPane+"px":""}),class:b([e.state.paneClasses,"left-pane"])},[z(e.$slots,"left")],6),f("div",{class:b([e.state.prefix+"-trigger-con",e.state.prefix+"-trigger-con-vertical",e.disabled?e.state.prefix+"-trigger-con-disabled":"",e.state.isMoving?e.state.prefix+"-trigger-con-drag":"",e.state.offset===0&&e.triggerSimple?e.state.prefix+"-trigger-con-left-active":"",e.triggerSimple?e.state.prefix+"-trigger-con-simple":""]),style:j({left:e.threeAreas?e.state.leftTopPane+"px":e.state.offset+"%"}),onMousedown:t[5]||(t[5]=function(){return e.handleMousedown&&e.handleMousedown.apply(e,arguments)})},[z(e.$slots,"trigger",{},function(){return[f("div",{class:b([e.state.prefix+"-trigger",e.state.prefix+"-trigger-vertical"])},[e.triggerSimple?g("v-if",!0):(u(),p("div",{key:0,class:b([e.state.prefix+"-trigger-bar-con","vertical"])},[t[0]||(ve(-1),t[0]=(u(),p(V,null,N(3,function(l){return f("i",{class:b(e.state.prefix+"-trigger-bar"),key:"trigger-"+l},null,2)}),64)),ve(1),t[0])],2))],2)]}),e.triggerSimple?(u(),p("div",{key:0,class:b([e.state.prefix+"-trigger-button",e.state.prefix+"-trigger-left-button",e.state.offset===100?e.state.prefix+"-trigger-button-active":"",e.state.offset===100||e.collapseLeftTop?e.state.prefix+"-trigger-button-show":""]),onMousedown:t[1]||(t[1]=function(){return e.buttonMousedown&&e.buttonMousedown.apply(e,arguments)}),onClick:t[2]||(t[2]=function(){return e.buttonLeftTopClick&&e.buttonLeftTopClick.apply(e,arguments)})},[C(o,{class:"tiny-svg-size"})],34)):g("v-if",!0),e.triggerSimple?(u(),p("div",{key:1,class:b([e.state.prefix+"-trigger-button",e.state.prefix+"-trigger-right-button",e.state.offset===0?e.state.prefix+"-trigger-button-active":"",e.state.offset===0||e.collapseRightBottom?e.state.prefix+"-trigger-button-show":""]),onMousedown:t[3]||(t[3]=function(){return e.buttonMousedown&&e.buttonMousedown.apply(e,arguments)}),onClick:t[4]||(t[4]=function(){return e.buttonRightBottomClick&&e.buttonRightBottomClick.apply(e,arguments)})},[C(a,{class:"tiny-svg-size"})],34)):g("v-if",!0)],38),f("div",{style:j({left:e.threeAreas?e.state.leftTopPane+"px":e.state.offset+"%",width:e.threeAreas?"calc(100% - "+e.state.leftTopPane+"px)":""}),class:b([e.state.paneClasses,"right-pane"])},[z(e.$slots,"right")],6)],2)):(u(),p("div",{key:1,class:b(e.state.prefix+"-vertical")},[f("div",{style:j({bottom:e.state.anotherOffset+"%",height:e.state.anotherOffset!==100&&e.threeAreas?e.state.leftTopPane+"px":""}),class:b([e.state.paneClasses,"top-pane"])},[z(e.$slots,"top")],6),f("div",{class:b([e.state.prefix+"-trigger-con",e.state.prefix+"-trigger-con-horizontal",e.disabled?e.state.prefix+"-trigger-con-disabled":"",e.state.isMoving?e.state.prefix+"-trigger-con-drag":"",e.state.offset===0&&e.triggerSimple?e.state.prefix+"-trigger-con-top-active":"",e.triggerSimple?e.state.prefix+"-trigger-con-simple":""]),style:j({top:e.threeAreas?e.state.leftTopPane+"px":e.state.offset+"%"}),onMousedown:t[11]||(t[11]=function(){return e.handleMousedown&&e.handleMousedown.apply(e,arguments)})},[z(e.$slots,"trigger",{},function(){return[f("div",{class:b([e.state.prefix+"-trigger",e.state.prefix+"-trigger-horizontal"])},[e.triggerSimple?g("v-if",!0):(u(),p("div",{key:0,class:b([e.state.prefix+"-trigger-bar-con","horizontal"])},[t[6]||(ve(-1),t[6]=(u(),p(V,null,N(3,function(l){return f("i",{class:b(e.state.prefix+"-trigger-bar"),key:"trigger-"+l},null,2)}),64)),ve(1),t[6])],2))],2)]}),e.triggerSimple?(u(),p("div",{key:0,class:b([e.state.prefix+"-trigger-button",e.state.prefix+"-trigger-top-button",e.state.offset===100?e.state.prefix+"-trigger-button-active":"",e.state.offset===100||e.collapseLeftTop?e.state.prefix+"-trigger-button-show":""]),onMousedown:t[7]||(t[7]=function(){return e.buttonMousedown&&e.buttonMousedown.apply(e,arguments)}),onClick:t[8]||(t[8]=function(){return e.buttonLeftTopClick&&e.buttonLeftTopClick.apply(e,arguments)})},[C(o,{class:"tiny-svg-size"})],34)):g("v-if",!0),e.triggerSimple?(u(),p("div",{key:1,class:b([e.state.prefix+"-trigger-button",e.state.prefix+"-trigger-bottom-button",e.state.offset===0?e.state.prefix+"-trigger-button-active":"",e.state.offset===0||e.collapseRightBottom?e.state.prefix+"-trigger-button-show":""]),onMousedown:t[9]||(t[9]=function(){return e.buttonMousedown&&e.buttonMousedown.apply(e,arguments)}),onClick:t[10]||(t[10]=function(){return e.buttonRightBottomClick&&e.buttonRightBottomClick.apply(e,arguments)})},[C(a,{class:"tiny-svg-size"})],34)):g("v-if",!0)],38),f("div",{style:j({top:e.threeAreas?e.state.leftTopPane+"px":e.state.offset+"%",height:e.threeAreas?"calc(100% - "+e.state.leftTopPane+"px)":""}),class:b([e.state.paneClasses,"bottom-pane"])},[z(e.$slots,"bottom")],6)],2))],2)}var ra=ta(na,[["render",ia]]);function Ee(){return Ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ee.apply(this,arguments)}var oa=function(t){var n;return typeof process=="object"&&((n={})==null||n.TINY_MODE),ra},ye={PREFIX:"tiny-split",HORIZONTAL:"horizontal",VERTICAL:"vertical"},ae=H({name:ee+"Split",props:Ee({},x,{_constants:{type:Object,default:function(){return ye}},modelValue:{type:[Number,String],default:.5},mode:{validator:function(t){for(var n=[ye.HORIZONTAL,ye.VERTICAL],i=0;i<n.length;i++)if(t===n[i])return!0;return!1},default:ye.HORIZONTAL},leftTopMin:{type:[Number,String],default:"40px"},rightBottomMin:{type:[Number,String],default:"40px"},disabled:{type:Boolean,default:!1},"trigger-simple":{type:Boolean,default:!1},"collapse-left-top":{type:Boolean,default:!1},"collapse-right-bottom":{type:Boolean,default:!1},"three-areas":{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1}}),setup:function(t,n){return pe({props:t,context:n,template:oa})}}),sa="3.16.0";ae.model={prop:"modelValue",event:"update:modelValue"};ae.install=function(e){e.component(ae.name,ae)};ae.version=sa;function aa(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=la(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function la(e,t){if(e){if(typeof e=="string")return pt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return pt(e,t)}}function pt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var ke=function(t,n){for(var i=t.__vccOpts||t,r=aa(n),s;!(s=r()).done;){var o=s.value,a=o[0],l=o[1];i[a]=l}return i},ua=["property"],da=["row"],fa=["property"];function Ze(e,t){if(e==null)return{};var n={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Y.apply(this,arguments)}function Ie(e,t,n){return new Promise(function(i,r){if(t==="local"){var s=localStorage.getItem(e),o=ze(s);i(o)}else t==="remote"&&n().then(function(a){var l=ze(a);l=l&&l[e]||null,i(l)}).catch(r)})}function ca(e,t,n,i,r){if(n==="local"){var s=re(t);localStorage.setItem(e,s)}else if(n==="remote"){var o,a=re((o={},o[e]=t,o));i.$emit(r,a)}}function pa(){var e=new Date,t=/GMT[-+]\d+/.exec(e.toString())[0].replace(/\+/,"E").replace(/-/,"W").replace(/0/g,""),n=on(e,"yyyy-MM-dd hh:mm:ss.SSS");return{id:e.getTime()+t,name:n}}function ha(e,t){var n=pa(),i=n.id,r=n.name;return{id:i,name:r,userKey:t,setting:{custom:e}}}function Dt(e,t){for(var n=[],i=0;i<t.length;i++){for(var r=Y({order:null,fixed:null,visible:!0,sortable:!1},t[i]),s=void 0,o=0;o<e.length;o++)if(r.property===e[o].property){s=Y({},e[o]);break}n.push(Pe(!0,{},s||{},r))}return n}var ga=H({name:"TinyGridCustomSwitch",components:{TinyButton:Ge,TinySelect:$e,TinyInput:Wt,TinyLayout:Kt,TinyRow:hn,TinyCol:gn,TinyAlert:de,TinyRadio:Se,TinyPopover:Yt,TinyDialogBox:fe},inject:{$grid:{default:null}},emits:["init-storage"],props:Y({},x,{customMode:String,selectedTemplateVal:{type:Object,default:function(){return{}}},historyConfig:{type:Object,default:function(){return{}}}}),data:function(){return{IconSave:Pi(),IconEdit:Xt(),IconDel:jn(),saveDisabled:!0,selectDisabled:!0,applyDisabled:!0,editDisabled:!0,delDisabled:!0,options:[],option:null,selected:null,selectedName:null,visible:!1,userKey:null,status:null,editName:null,selectedTemplateName:"",savedTemplateName:"",templateVisible:!1,saveMethod:"save"}},computed:{dialogTitle:function(){return this.status==="apply"?this.t("ui.grid.individuation.switchapply"):this.status==="edit"?this.t("ui.grid.individuation.switchedit"):this.status==="del"?this.t("ui.grid.individuation.switchdel"):this.t("ui.grid.individuation.switchconfirm")}},watch:{templateVisible:function(t){t&&(this.savedTemplateName="")},selectedTemplateVal:{handler:function(){this.selectedTemplateName=this.selectedTemplateVal.name||"",this.saveMethod=this.selectedTemplateVal.id?"overwrite":"save"},deep:!0,immediate:!0}},created:function(){var t=this,n=this.$grid.getVm("toolbar"),i=n.settingOpts,r=i.storage,s=i.storageKey,o=n.id;this.doCheck({storageType:r})&&(this.setUserKey(),Ie(this.historyConfig.storageKey,r,this.historyConfig.remoteMethod).then(function(a){var l=(a||{})[o]||[];t.options=l.filter(function(d){return t.userKey?d.userKey===t.userKey:!0}),t.$emit("init-storage",t.options),Ie(s,r,t.historyConfig.remoteSelectedMethod).then(function(d){t.option=(d||{})[o]||{},t.enableAll(),t.setSelected()})}))},methods:{t:D,handleSave:function(){this.status="save",this.visible=!0},handleSaveConfirm:function(t){var n=this;if(!(t==="overwrite"&&(this.customMode==="saas"&&!this.selectedTemplateVal.id||this.customMode!=="saas"&&!this.selected))){var i=this.$grid.getVm("toolbar"),r=i.$refs.custom,s=ha(r.buildSettings(),this.userKey),o=i.id,a=function(c){c=c||{};var h=c[o]||[];if(t==="save"||t==="save-apply")t==="save"&&n.savedTemplateName&&(s.name=n.savedTemplateName),n.options.push(s),n.$emit("init-storage",n.options),h.unshift(s);else if(t==="overwrite"){for(var v,$,T,O=n.customMode==="saas"?n.selectedTemplateVal.id:n.selected,S=n.customMode==="saas"?n.selectedTemplateVal.name:n.selectedName,I=0;I<h.length;I++)if(h[I].id===O){v=I,$=O,T=S;break}s.id=$,s.name=n.selectedTemplateName||T,h.splice(v,1,s),n.selectedTemplateName&&n.selectedTemplateName!==T&&r.updateTemplateOptions(s.id,s.name)}return c[o]=h,c},l=function(){(t==="save-apply"||t==="overwrite")&&(r.multipleHistoryId=s.id,r.saveSettings(n.customMode==="saas")),n.visible=!1,n.status=""};this.templateVisible=!1,this.doStorage(a,l),Q.message({message:D("ui.grid.saveSuccess"),status:"success"})}},handleApply:function(){this.historyConfig.applyDisabled||this.applyDisabled||!this.selected||this.option.id===this.selected||(this.status="apply",this.visible=!0)},handleApplyConfirm:function(t){var n=this;if(t==="yes"){var i=this.$grid.getVm("toolbar"),r=i.id,s=i.$refs.custom,o,a=!0,l=function(h){h=h||{};var v=h[r]||[],$=v.find(function(T){return T.id===n.selected});return $&&(delete $.setting.custom.id,s.columns=Dt(s.columns,$.setting.custom.columns),s.settings.pageSize=$.setting.custom.pageSize,s.settings.sortType=$.setting.custom.sortType,o=$.id),h[r]=v,h},d=function(){s.multipleHistoryId=o,s.saveSettings(),n.visible=!1,n.status=""};this.doStorage(l,d,a)}this.visible=!1,this.status=""},handleEdit:function(){this.historyConfig.editDisabled||this.editDisabled||!this.selected||(this.editName=this.selectedName,this.status="edit",this.visible=!0)},handleEditConfirm:function(t){var n=this;if(t==="yes"){if(!this.editName)return;var i=this.$grid.getVm("toolbar"),r=i.id,s=function(l){l=l||{};var d=l[r]||[],c=d.find(function(h){return h.id===n.selected});return c&&(c.name=n.editName),l[r]=d,l},o=function(){n.setSelected(),n.visible=!1,n.status="",n.editName=null};this.doStorage(s,o)}t==="no"&&(this.visible=!1,this.status="",this.editName=null)},handleDel:function(){this.historyConfig.delDisabled||this.delDisabled||!this.selected||(this.status="del",this.visible=!0)},handleDelConfirm:function(t){var n=this;if(t==="yes"){var i=this.$grid.getVm("toolbar"),r=i.id,s=function(l){l=l||{};var d=l[r]||[];return d=d.filter(function(c){return c.id!==n.selected}),l[r]=d,l},o=function(){n.setSelected(),n.visible=!1,n.status=""};this.doStorage(s,o)}t==="no"&&(this.visible=!1,this.status="")},doStorage:function(t,n,i){var r=this;i===void 0&&(i=!1);var s=this.$grid.getVm("toolbar"),o=s.settingOpts.storage,a=s.id;Ie(this.historyConfig.storageKey,o,this.historyConfig.remoteMethod).then(function(l){l=t(l),i||(ca(r.historyConfig.storageKey,l,o,s,"multiple-history"),r.options=l[a].filter(function(d){return r.userKey?d.userKey===r.userKey:!0})),setTimeout(n)})},handleSelectChange:function(){var t=this;if(this.selected){var n=W(this.options,function(i){return i.id===t.selected});this.selectedName=n?n.name:null}else this.selectedName=null;this.fixStatus()},doCheck:function(t){var n=t.storageType;if(n==="remote"){if(!this.historyConfig.remoteMethod||typeof this.historyConfig.remoteMethod!="function")return Ae.error("ui.grid.error.remoteMethod"),!1;if(!this.historyConfig.remoteSelectedMethod||typeof this.historyConfig.remoteSelectedMethod!="function")return Ae.error("ui.grid.error.remoteSelectedMethod"),!1}return!0},setUserKey:function(){this.userKey=~["userId","userAccount"].indexOf(this.historyConfig.userKey)&&this.$grid.$service?this.$grid.$service.base.getEnvInfoSync().user[this.historyConfig.userKey]:null},setSelected:function(){var t=this;if(this.selected=this.option?this.option.id:"",this.selected){var n=W(this.options,function(i){return i.id===t.selected});this.selected=n?this.selected:null,this.selectedName=n?n.name:null}this.fixStatus()},fixStatus:function(){this.applyDisabled=!1,this.editDisabled=!1,this.delDisabled=!1,this.selectedName||(this.editDisabled=!0,this.delDisabled=!0),(!this.selectedName||this.option.id===this.selected)&&(this.applyDisabled=!0);var t=this.$grid.getVm("toolbar"),n=t.$refs.custom;n.saveDisabled=!1,this.selected&&(n.saveDisabled=!0)},enableAll:function(){this.saveDisabled=!1,this.selectDisabled=!1,this.applyDisabled=!1,this.editDisabled=!1,this.delDisabled=!1}}}),va={key:0,class:"radio-box"},ma={class:"btn-box"},ya={key:1,class:"tiny-grid-custom-switch"},ba={class:"tiny-grid-custom-switch__title"},Ca={class:"tiny-grid-custom-switch__label"},Sa={class:"tiny-grid-custom-switch__content"},$a=["title"],wa=["title"],ka=["title"],Ta={key:0,class:"tiny-grid-custom-switch__confirm-btns"},Ma={class:"tiny-grid-custom-switch__del-tip"},Oa={class:"tiny-grid-custom-switch__del-tip"},Ia={class:"tiny-grid-custom-switch__del-tip"},Aa={class:"tiny-grid-custom-switch__del-tip"};function za(e,t,n,i,r,s){var o=k("tiny-radio"),a=k("tiny-input"),l=k("tiny-button"),d=k("tiny-popover"),c=k("tiny-alert"),h=k("tiny-col"),v=k("tiny-row"),$=k("tiny-select"),T=k("tiny-layout"),O=k("tiny-dialog-box");return e.customMode==="saas"?(u(),M(d,{key:0,ref:"popover",width:"280",modelValue:e.templateVisible,"onUpdate:modelValue":t[7]||(t[7]=function(S){return e.templateVisible=S}),placement:"top","popper-class":"grid-toolbar-template-popover",trigger:"manual"},{reference:m(function(){return[C(l,{class:"save-btn",onClick:t[6]||(t[6]=function(S){return e.templateVisible=!e.templateVisible})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.saveTemplate")),1)]}),_:1})]}),default:m(function(){return[f("div",null,[e.selectedTemplateVal.id?(u(),p("div",va,[C(o,{modelValue:e.saveMethod,"onUpdate:modelValue":t[0]||(t[0]=function(S){return e.saveMethod=S}),label:"overwrite"},{default:m(function(){return[A(y(e.t("ui.grid.individuation.overwriteSave")),1)]}),_:1},8,["modelValue"]),C(o,{modelValue:e.saveMethod,"onUpdate:modelValue":t[1]||(t[1]=function(S){return e.saveMethod=S}),label:"save"},{default:m(function(){return[A(y(e.t("ui.grid.individuation.saveAs")),1)]}),_:1},8,["modelValue"])])):g("v-if",!0),e.saveMethod==="save"?(u(),M(a,{key:1,modelValue:e.savedTemplateName,"onUpdate:modelValue":t[2]||(t[2]=function(S){return e.savedTemplateName=S}),type:"text",placeholder:e.t("ui.grid.individuation.defaultTemplateName")},null,8,["modelValue","placeholder"])):(u(),M(a,{key:2,modelValue:e.selectedTemplateName,"onUpdate:modelValue":t[3]||(t[3]=function(S){return e.selectedTemplateName=S}),placeholder:e.t("ui.grid.individuation.reserveTemplateName"),type:"text"},null,8,["modelValue","placeholder"])),f("div",ma,[C(l,{onClick:t[4]||(t[4]=function(S){return e.templateVisible=!1})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.cancelBtn")),1)]}),_:1}),C(l,{type:"primary",onClick:t[5]||(t[5]=function(S){return e.handleSaveConfirm(e.saveMethod)})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.saveBtn")),1)]}),_:1})])])]}),_:1},8,["modelValue"])):(u(),p("div",ya,[C(T,null,{default:m(function(){return[C(v,{"no-space":""},{default:m(function(){return[C(h,{span:12},{default:m(function(){return[f("div",ba,[e.historyConfig.showTitle?(u(),M(c,{key:0,description:e.historyConfig.title||e.t("ui.grid.individuation.switchtitle"),closable:!1},null,8,["description"])):g("v-if",!0)])]}),_:1})]}),_:1}),C(v,{"no-space":""},{default:m(function(){return[e.historyConfig.showSave?(u(),M(h,{key:0,span:2},{default:m(function(){return[f("div",null,[C(l,{type:"primary",size:"mini",disabled:e.historyConfig.saveDisabled||e.saveDisabled,onClick:e.handleSave},{default:m(function(){return[A(y(e.historyConfig.saveText||e.t("ui.grid.individuation.switchsave")),1)]}),_:1},8,["disabled","onClick"])])]}),_:1})):g("v-if",!0),C(h,{span:2},{default:m(function(){return[f("div",Ca,y(e.historyConfig.labelText||e.t("ui.grid.individuation.switchlabel")),1)]}),_:1}),C(h,{span:5},{default:m(function(){return[f("div",Sa,[C($,{clearable:"",ref:"select","value-field":"id","text-field":"name",placeholder:e.historyConfig.selectPlaceholder||e.t("ui.select.placeholder"),disabled:e.historyConfig.selectDisabled||e.selectDisabled,options:e.options,onChange:e.handleSelectChange,modelValue:e.selected,"onUpdate:modelValue":t[8]||(t[8]=function(S){return e.selected=S})},null,8,["placeholder","disabled","options","onChange","modelValue"])])]}),_:1}),C(h,{span:3},{default:m(function(){return[f("div",null,[e.historyConfig.showApply?(u(),p("span",{key:0,title:e.historyConfig.applyTitle||e.t("ui.grid.individuation.switchapply"),class:b(["tiny-grid-custom-switch__icon-btn",{"tiny-grid-custom-switch__icon-btn--disabled":e.historyConfig.applyDisabled||e.applyDisabled}]),onClick:t[9]||(t[9]=function(){return e.handleApply&&e.handleApply.apply(e,arguments)})},[(u(),M(U(e.historyConfig.applyIcon||e.IconSave)))],10,$a)):g("v-if",!0),e.historyConfig.showEdit?(u(),p("span",{key:1,title:e.historyConfig.editTitle||e.t("ui.grid.individuation.switchedit"),class:b(["tiny-grid-custom-switch__icon-btn",{"tiny-grid-custom-switch__icon-btn--disabled":e.historyConfig.editDisabled||e.editDisabled}]),onClick:t[10]||(t[10]=function(){return e.handleEdit&&e.handleEdit.apply(e,arguments)})},[(u(),M(U(e.historyConfig.editIcon||e.IconEdit)))],10,wa)):g("v-if",!0),e.historyConfig.showDel?(u(),p("span",{key:2,title:e.historyConfig.delTitle||e.t("ui.grid.individuation.switchdel"),class:b(["tiny-grid-custom-switch__icon-btn",{"tiny-grid-custom-switch__icon-btn--disabled":e.historyConfig.delDisabled||e.delDisabled}]),onClick:t[11]||(t[11]=function(){return e.handleDel&&e.handleDel.apply(e,arguments)})},[(u(),M(U(e.historyConfig.delIcon||e.IconDel)))],10,ka)):g("v-if",!0)])]}),_:1})]}),_:1})]}),_:1}),C(O,{top:"30vh",width:"420px","dialog-class":"tiny-grid-custom-switch__dialog-box",draggable:"","append-to-body":"",visible:e.visible,"close-on-click-modal":!1,title:e.dialogTitle,"onUpdate:visible":t[22]||(t[22]=function(S){return e.visible=S})},{footer:m(function(){return[~["apply","edit","del"].indexOf(e.status)?(u(),p(V,{key:0},[e.status==="apply"?(u(),p(V,{key:0},[C(l,{type:"primary",onClick:t[16]||(t[16]=function(S){return e.handleApplyConfirm("yes")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchdelyes")),1)]}),_:1}),C(l,{onClick:t[17]||(t[17]=function(S){return e.handleApplyConfirm("no")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchdelno")),1)]}),_:1})],64)):g("v-if",!0),e.status==="edit"?(u(),p(V,{key:1},[C(l,{type:"primary",disabled:!e.editName,onClick:t[18]||(t[18]=function(S){return e.handleEditConfirm("yes")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchdelyes")),1)]}),_:1},8,["disabled"]),C(l,{onClick:t[19]||(t[19]=function(S){return e.handleEditConfirm("no")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchdelno")),1)]}),_:1})],64)):g("v-if",!0),e.status==="del"?(u(),p(V,{key:2},[C(l,{type:"primary",onClick:t[20]||(t[20]=function(S){return e.handleDelConfirm("yes")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchdelyes")),1)]}),_:1}),C(l,{onClick:t[21]||(t[21]=function(S){return e.handleDelConfirm("no")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchdelno")),1)]}),_:1})],64)):g("v-if",!0)],64)):g("v-if",!0)]}),default:m(function(){return[e.status==="save"?(u(),p("div",Ta,[C(l,{type:"primary",onClick:t[12]||(t[12]=function(S){return e.handleSaveConfirm("save")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchonlytemp")),1)]}),_:1}),C(l,{onClick:t[13]||(t[13]=function(S){return e.handleSaveConfirm("save-apply")})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchtempapply")),1)]}),_:1}),C(l,{onClick:t[14]||(t[14]=function(S){return e.handleSaveConfirm("overwrite")}),disabled:!e.selected},{default:m(function(){return[A(y(e.t("ui.grid.individuation.switchtempoverwrite")),1)]}),_:1},8,["disabled"])])):g("v-if",!0),e.status==="apply"?(u(),p(V,{key:1},[f("div",Ma,y(e.selectedName),1),f("div",Oa,y(e.t("ui.grid.individuation.switchapplycon")),1)],64)):g("v-if",!0),e.status==="edit"?(u(),M(a,{key:2,modelValue:e.editName,"onUpdate:modelValue":t[15]||(t[15]=function(S){return e.editName=S})},null,8,["modelValue"])):g("v-if",!0),e.status==="del"?(u(),p(V,{key:3},[f("div",Ia,y(e.selectedName),1),f("div",Aa,y(e.t("ui.grid.individuation.switchdelcon")),1)],64)):g("v-if",!0)]}),_:1},8,["visible","title"])]))}var Ft=ke(ga,[["render",za]]),Va=H({components:{TinyModal:Q,TinyButton:Ge,TinyRadio:vn,TinyGrid:mn,TinyGridColumn:yn,TinySelect:$e,TinyOption:We,IconEyeopen:qt(),IconEyeclose:Zt(),IconUnlock:qi(),IconLeftFrozen:Mt(),IconRightFrozen:Ot(),IconLock:yi(),IconMinus:ki(),IconDescending:Tt(),IconAscending:kt(),IconHelp:we(),TinyCustomSwitch:Ft},name:"TinyGridCustom",inject:{$grid:{default:null}},props:Y({},x,{data:{type:Array,default:function(){return[]}},other:{type:Boolean,default:!0},initSettings:{type:Object,default:function(){return{pageSizes:[10,15,20,30,50,100],pageSize:10,sortType:"page",showIndex:!1}}},value:Boolean,sortable:Function,rowClassName:[Function,String],onBeforeMove:Function,filter:String,refresh:Boolean,keys:{type:Array,default:function(){return[]}},numberSorting:Boolean,multipleHistory:[Object,Boolean],resetMethod:Function,showHideAll:Boolean,fixedSorting:Boolean}),emits:["input","saveSettings","resetSettings","cancelSettings","showModal"],data:function(){return{activeName:"base",animateShow:"base",constants:{icon:{asc:"icon-ascending",desc:"icon-descending",left:"icon-left-frozen",right:"icon-right-frozen"}},columns:[],fullColumn:[],customColumns:[{field:"level"},{field:"property"}],settings:{sortType:this.initSettings.sortType||"page",pageSize:this.initSettings.pageSize||this.pageSizes[0]||10,columns:[]},sortingOptions:[],multipleHistoryId:null,saveDisabled:!1}},created:function(){this.columns=this.getColumnConfigs(this.data)},watch:{value:function(){this.columns=this.getColumnConfigs(this.data)},data:{handler:function(t){this.columns=this.getColumnConfigs(t)}},activeName:{handler:function(t){var n=this;setTimeout(function(){n.animateShow=t},0)}}},computed:{visible:{get:function(){return this.value},set:function(){}},showFixed:function(){return this.$grid},TinyTable:function(){return this.$grid&&this.$grid.$refs.TinyTable||{}},isGroup:function(){return this.TinyTable.isGroup},historyConfig:function(){var t=St(this.multipleHistory)||typeof this.multipleHistory=="boolean"?{}:this.multipleHistory;return Pe(!0,{},this.initSettings.multipleHistory||{},t)},TinyTheme:function(){var t=yt();return(t.Tiny_theme?t.Tiny_theme.value:"")||"aurora"},dropConfig:function(){return{row:!0,column:!1,plugin:!this.isGroup&&this.sortable,onBeforeMove:this.onBeforeMove,filter:this.filter,refresh:this.refresh}}},methods:{t:D,getColumnConfigs:function(t){var n=function o(a){return a.map(function(l){var d=l.id,c=l.title,h=l.property,v=l.fixed,$=l.visible,T=l.order,O=l.sortable,S=l.level,I=l.children;if(h){var F={id:d,title:c,property:h,fixed:v,visible:$,order:T,sortable:O,level:S,children:I};return I&&(F.children=o(I)),F}}).filter(function(l){return l})};if(t.length&&this.$grid){var i=this.$grid.getTableColumn(),r=i.collectColumn,s=n(r);return s=this.doFixedSorting(s),this.initNumberSorting(s),s}},doFixedSorting:function(t){if(this.isGroup||!this.fixedSorting)return t;var n=[],i=[],r=[];return t.forEach(function(s){s.fixed?s.fixed==="left"?n.push(s):s.fixed==="right"&&r.push(s):i.push(s)}),[].concat(n,i,r)},initNumberSorting:function(t){var n=this;this.isGroup||(this.sortingOptions=[],t.forEach(function(i,r){i.sortingIndex=r+1,n.sortingOptions.push(i.sortingIndex)}))},handelNumberSorting:function(t,n){var i=this.columns.indexOf(n),r=t-1,s=[];this.columns.splice(i,1),this.columns.splice(r,0,n),this.columns.forEach(function(o,a){o.sortingIndex=a+1,s.push(o)}),this.columns=s},handleRowDropEnd:function(){this.isGroup||this.columns.forEach(function(t,n){t.sortingIndex=n+1})},renderNumberSorting:function(t,n){var i=n.row;return t("span",i.sortingIndex+"")},handleCustomMouseMove:function(){this.$refs.switch&&this.$refs.switch.$refs.select&&this.$refs.switch.$refs.select.blur()},handleInput:function(t){this.$emit("input",t)},handleFixed:function(t){var n=this.columns.indexOf(t),i=0,r=t.fixed;if(!this.isGroup)t.fixed=r?r==="left"?"right":void 0:"left",this.fixedSorting&&(this.columns=this.doFixedSorting(this.columns),this.initNumberSorting(this.columns));else{for(var s=0;s<this.columns.length;s++)if(this.columns[s].children){i=s;break}var o=this.columns.slice(0,n),a=this.columns.slice(n+1),l=function(c,h,v,$){var T=v.fixed;T?c.some(function(O){return O.fixed===$})||(v.fixed=void 0):(!h.length||!h.some(function(O){return!O.fixed}))&&(v.fixed=$),T===v.fixed&&Q.message({id:"customSetting",message:D("ui.grid.error.groupFixed"),status:"warning"})};n>i?l(o,a,t,"right"):l(a,o,t,"left")}},handleOrder:function(t){var n=this.columns,i=this.tinyTable,r=i.sortOpts,s=r.multipleColumnSort;t.order=i.toggleColumnOrder(t),t.order&&!s&&bn(n,function(o){return o!==t&&(o.order=null)})},handleVisible:function(t){var n=this.tinyTable.visibleColumn.filter(function(i){return i.visible}).length;t.visible&&n===1?Q.message({id:"customSetting",message:D("ui.grid.individuation.hideMsg"),status:"warning"}):t.visible=!t.visible},showOrHideAllColumns:function(t){this.columns.forEach(function(n){n.visible=t}),this.showAll=t},handlerSetting:function(t,n){var i=this.fullColumn.filter(function(r){return r.visible}).length;switch(t){case"visible":n[t]&&i===1?Q.message({id:"customSetting",message:D("ui.grid.individuation.hideMsg"),status:"warning"}):n[t]=!n[t];break;case"fixed":this.handleFixed(n);break;case"order":n[t]=n[t]?n[t]==="asc"?"desc":null:"asc";break}},buildSettings:function(){var t=["order","fixed","visible","sortable"].concat(this.keys);return this.settings.columns=$t(this.columns,function(n){var i=n.property,r=Ze(n,ua),s={property:i};return t.forEach(function(o){s[o]=r[o]}),s}),this.settings},saveSettings:function(){this.buildSettings(),this.$emit("saveSettings",this.settings),this.handleClose()},resetSettings:function(t){var n=this;this.activeName==="base"?(this.columns=this.getColumnConfigs(this.data),this.settings.columns&&this.settings.columns.length&&this.settings.columns.forEach(function(i){var r=W(n.columns,function(s){return s.property===i.property});r&&Object.assign(i,r)})):this.activeName==="other"&&(this.settings.sortType=this.initSettings.sortType,this.settings.pageSize=this.initSettings.pageSize),t&&this.$emit("resetSettings",this.settings)},cancelSettings:function(){this.resetSettings(),this.$emit("cancelSettings"),this.$emit("input",!1),this.handleClose()},handleClose:function(){this.$emit("showModal",!1)},handleReset:function(t){var n=this,i=function(s,o){var a=[],l=[];return s.forEach(function(d){return d&&d.property&&a.push(d.property)}),o.forEach(function(d){return d&&d.property&&l.push(d.property)}),a.length===l.length&&a.sort().join(",")===l.sort().join(",")};typeof this.resetMethod=="function"?this.resetMethod().then(function(r){n.buildSettings();var s=r||{},o=s.columns,a=s.sortType,l=s.pageSize;if(o&&o.length&&n.settings.columns&&n.settings.columns.length&&(n.settings.columns.forEach(function(h){var v=W(o,function(T){return T.property===h.property}),$=W(n.columns,function(T){return T.property===h.property});v&&(Object.assign(h,v),Object.assign($,v))}),i(o,n.settings.columns))){var d=[],c=[];o.forEach(function(h){var v=W(n.settings.columns,function(T){return h.property===T.property}),$=W(n.columns,function(T){return h.property===T.property});d.push(v),c.push($)}),n.settings.columns=d,n.columns=c}a&&(n.settings.sortType=a),l&&(n.settings.pageSize=l)}):this.resetSettings(t)},visibleTitle:function(t){return t.visible?D("ui.grid.individuation.colConfigs.visible"):D("ui.grid.individuation.colConfigs.invisible")},sortTitle:function(t){return t.sortable?t.order?t.order==="asc"?D("ui.grid.individuation.colConfigs.asc"):D("ui.grid.individuation.colConfigs.desc"):D("ui.grid.individuation.colConfigs.unsorted"):""},fixedTitle:function(t){return t.fixed?t.fixed==="left"?D("ui.grid.individuation.colConfigs.frozenLeft"):D("ui.grid.individuation.colConfigs.frozenRight"):D("ui.grid.individuation.colConfigs.unfrozen")}}}),_a={key:0,class:"tiny-grid-custom tiny-grid__wrapper"},Da={class:"tiny-grid-custom__tabs"},Fa={class:"tiny-grid-custom__tabs-head"},Ba={class:"tiny-grid-custom__tabs-body"},Ea={class:"tiny-grid-custom__alert"},Ha={key:0,class:"setting-icon"},Na=["title"],La=["title"],Ra=["title"],Ga={class:"tiny-grid-custom__alert"},Pa={class:"tiny-grid-custom__setting other-setting"},ja={class:"setting-item"},Ua={class:"label"},Wa={class:"selection"},Ka={class:"setting-item"},Ya={class:"label"},Xa={class:"selection"},qa=["dir"];function Za(e,t,n,i,r,s){var o=k("tiny-grid-column"),a=k("tiny-option"),l=k("tiny-select"),d=k("tiny-grid"),c=k("tiny-radio"),h=k("tiny-custom-switch"),v=k("tiny-button"),$=k("tiny-modal");return u(),M($,{width:"600",title:e.t("ui.grid.individuation.title"),modelValue:e.visible,"onUpdate:modelValue":t[6]||(t[6]=function(T){return e.visible=T}),onInput:e.handleInput,onClose:e.handleClose,onCustomMousemove:e.handleCustomMouseMove},{default:m(function(){return[e.visible?(u(),p("div",_a,[f("div",Da,[f("div",Fa,[f("ul",null,[f("li",{onClick:t[0]||(t[0]=function(T){return e.activeName="base"}),class:b({"tiny-grid-custom__tabs-selected":e.activeName==="base"})},[f("span",null,y(e.t("ui.grid.individuation.tabs.base.title")),1)],2),e.other?(u(),p("li",{key:0,onClick:t[1]||(t[1]=function(T){return e.activeName="other"}),class:b({"tiny-grid-custom__tabs-selected":e.activeName==="other"})},[f("span",null,y(e.t("ui.grid.individuation.tabs.other.title")),1)],2)):g("v-if",!0)])]),f("div",Ba,[q(f("div",{class:b(["tabs-body-item",e.animateShow==="base"?"active-item":""])},[f("div",Ea,[(u(),M(U("icon-help"),{class:"tiny-svg-size"})),f("p",null,y(e.t("ui.grid.individuation.tabs.base.tips")),1)]),C(d,{class:"tiny-grid-custom__setting","auto-resize":!0,data:e.columns,"row-class-name":e.rowClassName,"row-key":"","drop-config":e.dropConfig,"tree-config":{children:"children"},"show-header":!1,"edit-config":{trigger:"click",mode:"cell",showStatus:!0},"max-height":e.historyConfig.tableMaxHeight,onRowDropEnd:e.handleRowDropEnd},{default:m(function(){return[e.initSettings.showIndex?(u(),M(o,{key:0,type:"index",width:"60"})):g("v-if",!0),C(o,{field:"title","tree-node":""}),C(o,{field:"property",width:"120px","class-name":"setting-item"},{default:m(function(T){var O=T.row,S=Ze(T,da);return[O.children?g("v-if",!0):(u(),p("div",Ha,[f("span",{class:"icon",title:e.visibleTitle(O)},[(u(),M(U(O.visible?"icon-eyeopen":"icon-eyeclose"),{class:b([{open:O.visible}]),onClick:function(F){return e.handlerSetting("visible",O,S)}},null,8,["class","onClick"]))],8,Na),f("span",{class:"icon",title:e.sortTitle(O)},[(u(),M(U(O.order?e.constants.icon[O.order]:"icon-minus"),{class:b({sort:O.order,"is-visible":!O.sortable}),onClick:function(F){return e.handlerSetting("order",O)}},null,8,["class","onClick"]))],8,La),f("span",{class:"icon",title:e.fixedTitle(O)},[O.level===1&&e.showFixed?(u(),M(U(O.fixed?e.constants.icon[O.fixed]:"icon-unlock"),{key:0,class:b({lock:O.fixed}),onClick:function(F){return e.handlerSetting("fixed",O)}},null,8,["class","onClick"])):g("v-if",!0)],8,Ra)]))]}),_:1}),e.numberSorting&&!e.isGroup?(u(),M(o,{key:1,width:"100px",editor:{},renderer:e.renderNumberSorting},{edit:m(function(T){var O=T.row;return[C(l,{modelValue:O.sortingIndex,"onUpdate:modelValue":function(I){return O.sortingIndex=I},onChange:function(I){return e.handelNumberSorting(I,O)}},{default:m(function(){return[(u(!0),p(V,null,N(e.sortingOptions,function(S){return u(),M(a,{key:S,label:S,value:S},null,8,["label","value"])}),128))]}),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]}),_:1},8,["renderer"])):g("v-if",!0)]}),_:1},8,["data","row-class-name","drop-config","max-height","onRowDropEnd"])],2),[[ne,e.activeName==="base"]]),q(f("div",{class:b(["tabs-body-item",e.animateShow==="other"?"active-item":""])},[f("div",Ga,[(u(),M(U("icon-help"),{class:"tiny-svg-size"})),f("p",null,y(e.t("ui.grid.individuation.tabs.other.tips")),1)]),f("ul",Pa,[f("li",ja,[f("span",Ua,y(e.t("ui.grid.individuation.tabs.other.sortType")),1),f("span",Wa,[C(c,{modelValue:e.settings.sortType,"onUpdate:modelValue":t[2]||(t[2]=function(T){return e.settings.sortType=T}),label:"page"},{default:m(function(){return[A(y(e.t("ui.grid.individuation.tabs.other.currPageSort")),1)]}),_:1},8,["modelValue"]),C(c,{modelValue:e.settings.sortType,"onUpdate:modelValue":t[3]||(t[3]=function(T){return e.settings.sortType=T}),label:"all"},{default:m(function(){return[A(y(e.t("ui.grid.individuation.tabs.other.allDataSort")),1)]}),_:1},8,["modelValue"])])]),f("li",Ka,[f("span",Ya,y(e.t("ui.grid.individuation.tabs.other.pageSize")),1),f("span",Xa,[(u(!0),p(V,null,N(e.initSettings.pageSizes,function(T,O){return u(),M(c,{key:O,modelValue:e.settings.pageSize,"onUpdate:modelValue":t[4]||(t[4]=function(S){return e.settings.pageSize=S}),label:T},{default:m(function(){return[A(y(T),1)]}),_:2},1032,["modelValue","label"])}),128))])])])],2),[[ne,e.activeName==="other"]]),e.multipleHistory&&e.activeName==="base"?(u(),M(h,{key:0,ref:"switch","history-config":e.historyConfig},null,8,["history-config"])):g("v-if",!0)])]),!e.multipleHistory||e.multipleHistory&&e.activeName==="base"?(u(),p("div",{key:0,class:"tiny-grid-custom__footer",dir:e.TinyTheme==="saas"?"rtl":"ltr"},[C(v,{type:"primary",onClick:e.saveSettings,disabled:e.saveDisabled},{default:m(function(){return[A(y(e.t("ui.grid.individuation.saveBtn")),1)]}),_:1},8,["onClick","disabled"]),C(v,{onClick:e.handleReset},{default:m(function(){return[A(y(e.t("ui.grid.individuation.resetBtn")),1)]}),_:1},8,["onClick"]),e.showHideAll?(u(),M(v,{key:0,onClick:t[5]||(t[5]=function(T){return e.showOrHideAllColumns(!e.showAll)})},{default:m(function(){return[A(y(e.showAll?e.t("ui.grid.individuation.hideAll"):e.t("ui.grid.individuation.showAll")),1)]}),_:1})):g("v-if",!0),C(v,{onClick:e.cancelSettings},{default:m(function(){return[A(y(e.t("ui.grid.individuation.cancelBtn")),1)]}),_:1},8,["onClick"])],8,qa)):g("v-if",!0)])):g("v-if",!0)]}),_:1},8,["title","modelValue","onInput","onClose","onCustomMousemove"])}var Ja=ke(Va,[["render",Za]]),Qa={name:"TinyGridCustomSelect",components:{TinySelect:$e,TinyOption:We,TinyIconSetting:G.icon.custom},props:{data:{type:Array,default:function(){return[]}},setting:{type:[Object,Boolean]}},inject:{$grid:{default:null}},data:function(){return{columns:[],multivalue:[]}},created:function(){this.columns=this.getColumnConfigs(this.data)},watch:{data:{handler:function(t){this.columns=this.getColumnConfigs(t),this.multivalue=this.columns.filter(function(n){return n.visible}).map(function(n){return n.property})}}},methods:{columnChange:function(t){this.columns.forEach(function(n){n.visible=t.includes(n.property)}),this.$emit("saveSettings",{columns:this.columns})},getColumnConfigs:function(t){var n=this,i=function a(l){return l.map(function(d){var c=d.id,h=d.title,v=d.property,$=d.fixed,T=d.visible,O=d.order,S=d.sortable,I=d.level,F=d.children;if(v){var B,L={id:c,title:h,property:v,fixed:$,visible:T,order:O,sortable:S,level:I,children:F};return L.disabled=!!(!((B=n.setting)==null||B.customDisable==null)&&B.customDisable(L)),F&&(L.children=a(F)),L}}).filter(function(d){return d})};if(t.length&&this.$grid){var r=this.$grid.getTableColumn(),s=r.collectColumn,o=i(s);return o}}}};function xa(e,t,n,i,r,s){var o=k("tiny-icon-setting"),a=k("tiny-option"),l=k("tiny-select");return u(),M(l,{modelValue:r.multivalue,"onUpdate:modelValue":t[0]||(t[0]=function(d){return r.multivalue=d}),onChange:s.columnChange,placeholder:"请选择",placement:"bottom-end",searchable:!0,multiple:""},{reference:m(function(){return[C(o)]}),default:m(function(){return[(u(!0),p(V,null,N(r.columns,function(d){return u(),M(a,{key:d.property,disabled:d.disabled,label:d.title,value:d.property},null,8,["disabled","label","value"])}),128))]}),_:1},8,["modelValue","onChange"])}var el=ke(Qa,[["render",xa]]),be=["left","right"],tl={props:["column"],render:function(){var t=this.column,n=this.$parent,i=t.title,r=n.tinyTable;return E("span",{class:["custom-saas-title-render",t.id]},[typeof i=="function"?i(E,{$table:r,column:t}):i])}},nl=H({components:{TinyModal:Q,TinyButton:Ge,TinySplit:ae,TinySelect:$e,TinyOption:We,TinyDropdown:Cn,TinyDropdownMenu:Sn,TinyDropdownItem:$n,TinyCustomSwitch:Ft,IconClose:ue(),IconLeftFrozen:Mt(),IconRightFrozen:Ot(),IconDescending:Tt(),IconAscending:kt(),TinyCheckbox:Jt,TinyCheckboxGroup:Qt,TinyRadioGroup:se,TinyTooltip:vt,TinyRadio:Se,TinySearch:An,TitleRender:tl},directives:xt({Clickoutside:rn}),name:"TinyGridCustom",inject:{$grid:{default:null}},emits:["input","saveSettings","resetSettings","cancelSettings","showModal"],props:Y({},x,{data:{type:Array,default:function(){return[]}},alwaysShowColumns:{type:Array,default:function(){return[]}},columnsGroup:{type:Array,default:function(){return[]}},other:{type:Boolean,default:!0},search:{type:Boolean,default:!0},initSettings:{type:Object,default:function(){return{pageSizes:[10,15,20,30,50,100],pageSize:10,sortType:"page",showIndex:!1}}},customMode:String,value:Boolean,sortable:Function,rowClassName:[Function,String],onBeforeMove:Function,filter:String,refresh:Boolean,keys:{type:Array,default:function(){return[]}},numberSorting:Boolean,multipleHistory:[Object,Boolean],resetMethod:Function,hideSortColumn:Boolean,hideFixedColumn:Boolean}),data:function(){return{maxFixedNum:6,tooltipContent:"",tooltipVisible:!1,templateVisible:!1,activeName:"base",animateShow:"base",selectedTemplate:"",lastSelectIndex:0,searchValue:"",splitVal:.4,columns:[],searchColumns:[],fullColumn:[],customColumns:[{field:"level"},{field:"property"}],settings:{sortType:this.initSettings.sortType||"page",pageSize:this.initSettings.pageSize||this.pageSizes[0]||10,columns:[]},originColumns:[],groupedColumns:[],checkedColumns:[],sortingOptions:[],templateOptions:[],multipleHistoryId:null,saveDisabled:!1,updatedSorting:!1,opt:{}}},setup:function(){var t=en(80),n=t.defer,i=t.reset;return{defer:n,reset:i}},created:function(){this.initOpt(),this.columns=this.getColumnConfigs(this.data)},watch:{value:function(t){var n=this;t?(this.initOpt(),this.columns=this.getColumnConfigs(this.data),this.groupedColumns=this.getGroupedColumns(),this.checkedColumns=this.columns.filter(function(i){return i.visible}).map(function(i){return i.property}),setTimeout(function(){n.initDragEvent(),n.initDrag=!0},100),this.reset()):this.selectedTemplate=""},checkedColumns:{handler:function(t){this.columns.forEach(function(n){n.visible=!!~t.indexOf(n.property)}),this.columns=this.initSortingColumns(this.columns)},deep:!tn},data:{handler:function(t){this.columns=this.getColumnConfigs(t),this.groupedColumns=this.getGroupedColumns()}},activeName:{handler:function(t){var n=this;setTimeout(function(){n.animateShow=t},0)}}},computed:{visible:{get:function(){return this.value},set:function(){}},showFixed:function(){return this.$grid},tinyTable:function(){return this.$grid&&this.$grid.$refs.tinyTable||{}},isGroup:function(){return this.tinyTable.isGroup},historyConfig:function(){var t=St(this.multipleHistory)||typeof this.multipleHistory=="boolean"?{}:this.multipleHistory;return Pe(!0,{},this.initSettings.multipleHistory||{},t)},tinyTheme:function(){return this.tinyTable.tinyTheme||G.themes.AURORA},visibleColumns:function(){return this.columns.filter(function(t){return t.visible})},selectedTemplateVal:function(){var t=this;return this.templateOptions.find(function(n){return n.id===t.selectedTemplate})||{}},isIndeterminate:{get:function(){return!(this.checkedColumns.length===0||this.checkedColumns.length===this.columns.length)}},checkAll:{get:function(){return this.checkedColumns.length===this.columns.length},set:function(t){t?this.checkedColumns=this.columns.map(function(n){return n.property}):this.checkedColumns=[].concat(this.alwaysShowColumns)}},dropConfig:function(){return{row:!0,column:!1,plugin:!this.isGroup&&this.sortable,onBeforeMove:this.onBeforeMove,filter:this.filter,refresh:this.refresh}}},methods:{t:D,initOpt:function(){this.opt={asc:{value:"asc",label:D("ui.grid.individuation.colConfigs.asc")},desc:{value:"desc",label:D("ui.grid.individuation.colConfigs.desc")},left:{value:"left",label:D("ui.grid.individuation.colConfigs.frozenLeft")},right:{value:"right",label:D("ui.grid.individuation.colConfigs.frozenRight")},cancelSort:{value:"cancel",label:D("ui.grid.individuation.colConfigs.unsort")},cancelFixed:{value:"cancel",label:D("ui.grid.individuation.colConfigs.unfreeze")}}},initStorage:function(t){this.templateOptions=t},updateTemplateOptions:function(t,n){this.templateOptions.forEach(function(i){i.id===t&&(i.name=n)})},getRowClassName:function(t){return typeof this.rowClassName=="function"?this.rowClassName({row:t}):this.rowClassName},getColumnConfigs:function(t){var n=this.alwaysShowColumns,i=function l(d){return d.map(function(c){var h=c.id,v=c.title,$=c.property,T=c.fixed,O=c.visible,S=c.order,I=c.sortable,F=c.level,B=c.children;if($){var L={id:h,title:v,property:$,alwaysShow:n.includes($),fixed:T,visible:O,order:S,sortable:I,level:F,children:B,numberSortVisible:!1};return B&&(L.children=l(B)),L}}).filter(function(c){return c})};if(t.length&&this.$grid){var r=this.$grid.getTableColumn(),s=r.collectColumn,o=i(s);this.originColumns=[].concat(o);var a=this.initSortingColumns(o);return this.initSortAndFixedOption(o),a}else return[]},initSortAndFixedOption:function(t){var n=this;this.isGroup||t.forEach(function(i){i.sortOption=i.order==="asc"?[n.opt.desc,n.opt.cancelSort]:i.order==="desc"?[n.opt.asc,n.opt.cancelSort]:[n.opt.asc,n.opt.desc],i.fixedOption=i.fixed==="left"?[n.opt.right,n.opt.cancelFixed]:i.fixed==="right"?[n.opt.left,n.opt.cancelFixed]:[n.opt.left,n.opt.right]})},initSortingColumns:function(t){var n=this;if(!this.isGroup){var i=[],r=[],s=[],o=[];t.forEach(function(l){l.visible?l.fixed==="left"?i.push(l):l.fixed==="right"?r.push(l):s.push(l):o.push(l)});var a=[].concat(i,s,r,o);return this.sortingOptions=[],a.forEach(function(l,d){l.sortingIndex=d+1,l.visible&&n.sortingOptions.push(l.sortingIndex)}),a}},getGroupedColumns:function(){var t=this,n=[];return this.columnsGroup.length?this.columnsGroup.forEach(function(i){var r=[];i.data.forEach(function(s){var o=t.originColumns.find(function(a){return a.property===s});o&&r.push(o)}),n.push({label:i.label,data:r})}):n.push({label:"",data:[].concat(this.originColumns)}),n},selectedTemplateChange:function(){var t=this,n=this.templateOptions.find(function(i){return i.id===t.selectedTemplate});n&&(this.columns=Dt(this.columns,n.setting.custom.columns),this.columns=this.initSortingColumns(this.columns),this.initSortAndFixedOption(this.columns),this.groupedColumns=this.getGroupedColumns(),this.checkedColumns=this.columns.filter(function(i){return i.visible}).map(function(i){return i.property}),this.settings.pageSize=n.setting.custom.pageSize,this.multipleHistoryId=n.id)},sortSelectChange:function(t){var n=t-1,i=this.lastSelectIndex-1;this.handleFixed("sort",1,1,i,n)},selectFocus:function(t,n){this.lastSelectIndex=n},searchChange:function(t){var n=this,i=function(s){var o="";if(typeof s.title=="function"){var a=n.$el.querySelector(".custom-saas-title-render."+s.id);o=a&&a.textContent||"",o=o.toUpperCase()}else s.title&&(o=s.title&&s.title.toUpperCase());return o};this.searchColumns=this.columns.filter(function(r){var s=i(r),o=t&&t.toUpperCase();return s.includes(o)})},handelClearAll:function(){this.checkedColumns=[].concat(this.alwaysShowColumns)},hiddenColumn:function(t){var n=this.checkedColumns.findIndex(function(i){return i===t});this.checkedColumns.splice(n,1)},handleSortItemClick:function(t){var n=this.columns.find(function(i){return i.property===t.property});n&&(n.order=t.value==="cancel"?void 0:t.value,n.sortOption=n.order==="asc"?[this.opt.desc,this.opt.cancelSort]:n.order==="desc"?[this.opt.asc,this.opt.cancelSort]:[this.opt.asc,this.opt.desc])},handleFixedItemClick:function(t){var n=this.columns.findIndex(function(o){return o.property===t.property}),i=this.columns[n];if(t.fixed=i.fixed,i){if(be.includes(t.value)&&!be.includes(i.fixed)&&this.fixedNumberIsMax()){Q.message({message:D("ui.grid.individuation.maxFreezeNumMsg"),status:"warning",id:"drop-fixed-max-waring"});return}this.columns.splice(n,1);var r=this.columns.reduce(function(o,a,l){return a.fixed==="left"&&a.visible?l:o},-1),s=this.columns.findIndex(function(o){return o.fixed==="right"&&o.visible});i.fixed=t.value==="cancel"?void 0:t.value,t.value==="left"?(this.columns.splice(r>=0?r+1:0,0,i),i.fixedOption=[this.opt.right,this.opt.cancelFixed]):t.value==="right"?(this.columns.splice(s>=0?s:this.visibleColumns.length,0,i),i.fixedOption=[this.opt.left,this.opt.cancelFixed]):(t.fixed==="left"&&r>=0?this.columns.splice(r+1,0,i):t.fixed==="right"&&s>=0?this.columns.splice(s,0,i):this.columns.splice(n,0,i),i.fixedOption=[this.opt.left,this.opt.right]),this.updateSortingIndex()}},fixedNumberIsMax:function(){return this.columns.filter(function(t){return t.visible&&t.fixed}).length>=this.maxFixedNum},updateSortingIndex:function(){this.columns.forEach(function(t,n){t.sortingIndex=n+1})},handleDropdownMouseenter:function(t,n){var i=this.$refs.list.children[n];i&&i.classList.add("show-dropdown")},handleDropdownMouseleave:function(t,n){var i=this.$refs.list.children[n];i&&i.classList.remove("show-dropdown")},handleMouseenter:function(t){var n=t.target,i=n.textContent,r=this.$refs.tooltip;n.scrollWidth>n.offsetWidth&&(r.state.referenceElm=n,r.state.popperElm&&(r.state.popperElm.style.display="none"),r.doDestroy(),this.tooltipVisible=!0,this.tooltipContent=i,setTimeout(r.updatePopper,20))},handleMouseleave:function(){this.tooltipVisible=!1},handleInput:function(t){this.$emit("input",t)},buildSettings:function(){var t=["order","fixed","visible","sortable"].concat(this.keys);return!this.updatedSorting&&(this.columns=[].concat(this.groupedColumns[0].data)),this.settings.columns=$t(this.columns,function(n){var i=n.property,r=Ze(n,fa),s={property:i};return t.forEach(function(o){s[o]=r[o]}),s}),this.settings},saveSettings:function(t){var n=typeof t=="boolean"?t:!1;this.buildSettings(),this.$emit("saveSettings",this.settings,n),!n&&this.handleClose()},resetSettings:function(t){var n=this;this.activeName==="base"?(this.columns=this.getColumnConfigs(this.data),this.checkedColumns=this.columns.filter(function(i){return i.visible}).map(function(i){return i.property}),this.settings.columns&&this.settings.columns.length&&this.settings.columns.forEach(function(i){var r=W(n.columns,function(s){return s.property===i.property});r&&Object.assign(i,r)})):this.activeName==="other"&&(this.settings.pageSize=this.initSettings.pageSize),t&&this.$emit("resetSettings",this.settings)},cancelSettings:function(){this.resetSettings(),this.$emit("cancelSettings"),this.$emit("input",!1),this.handleClose()},handleClose:function(){this.updatedSorting=!1,this.$emit("showModal",!1)},handleReset:function(t){var n=this,i=function(s,o){var a=[],l=[];return s.forEach(function(d){return d&&d.property&&a.push(d.property)}),o.forEach(function(d){return d&&d.property&&l.push(d.property)}),a.length===l.length&&a.sort().join(",")===l.sort().join(",")};typeof this.resetMethod=="function"?this.resetMethod().then(function(r){n.buildSettings();var s=r||{},o=s.columns,a=s.sortType,l=s.pageSize;if(o&&o.length&&n.settings.columns&&n.settings.columns.length&&(n.settings.columns.forEach(function(h){var v=W(o,function(T){return T.property===h.property}),$=W(n.columns,function(T){return T.property===h.property});v&&(Object.assign(h,v),Object.assign($,v))}),i(o,n.settings.columns))){var d=[],c=[];o.forEach(function(h){var v=W(n.settings.columns,function(T){return h.property===T.property}),$=W(n.columns,function(T){return h.property===T.property});d.push(v),c.push($)}),n.settings.columns=d,n.columns=c}a&&(n.settings.sortType=a),l&&(n.settings.pageSize=l)}):this.resetSettings(t)},handleFixed:function(t,n,i,r,s){if(n===i&&r!==s){var o=this.columns[s],a=this.columns[r];if(t==="sort"&&be.includes(o.fixed)&&!be.includes(a.fixed)&&this.fixedNumberIsMax()){this.columns[r].sortingIndex=this.lastSelectIndex,Q.message({message:D("ui.grid.individuation.maxFreezeNumMsg"),status:"warning",id:"select-fixed-max-waring"});return}o.fixed==="left"?(a.fixed="left",a.fixedOption=[this.opt.right,this.opt.cancelFixed]):o.fixed==="right"?(a.fixed="right",a.fixedOption=[this.opt.left,this.opt.cancelFixed]):(a.fixed=void 0,a.fixedOption=[this.opt.left,this.opt.right]),this.columns.splice(r,1),this.columns.splice(s,0,a),this.updateSortingIndex(),this.updatedSorting=!0}},initDragEvent:function(){var t=this,n=function(r){var s=r.from,o=r.to,a=r.oldIndex,l=r.newIndex;t.handleFixed("drag",s,o,a,l)};this.dropConfig.plugin&&this.dropConfig.plugin.create(this.$refs.list,{animation:200,draggable:'[data-tag="tiny-grid-toolbar-item"]',handle:".toolbar-drag-item",onUpdate:n,onMove:function(r){if(r.related&&(r.related.classList.contains("left")||r.related.classList.contains("right"))&&!(r.dragged.classList.contains("left")||r.dragged.classList.contains("right"))&&t.fixedNumberIsMax())return Q.message({message:D("ui.grid.individuation.maxFreezeNumMsg"),status:"warning",id:"drag-fixed-max-waring"}),!1;var s=r.dragged&&r.dragged.getAttribute("data-row"),o=t.columns.find(function(l){return l.property===s})||{},a=typeof t.onBeforeMove=="function"?t.onBeforeMove("row",o,r):!0;return a===void 0||a}})},clickSortDisplay:function(t,n){var i=this;t.numberSortVisible=!0,this.columns.forEach(function(r){return r!==t&&(r.numberSortVisible=!1)}),this.$nextTick(function(){var r=i.$refs["select"+n];r=wn(r)&&r[0]?r[0]:null,r&&r.focus()})},clickEditorOutside:function(){this.columns.forEach(function(t){return t.numberSortVisible=!1})}}}),il={key:0,class:"tiny-grid-custom"},rl={class:"tiny-grid-custom__tabs"},ol={class:"tiny-grid-custom__tabs-head"},sl={class:"tiny-grid-custom__tabs-body"},al={class:"left-panel"},ll={key:0,class:"select-template"},ul={key:2},dl={key:3},fl={class:"check-all-btn"},cl={class:"right-panel"},pl={class:"header"},hl={key:0},gl={key:1},vl={ref:"list"},ml=["data-row"],yl={key:0,style:{display:"contents"}},bl={key:0,class:"drag-icon toolbar-drag-item"},Cl=f("span",null,null,-1),Sl=f("span",null,null,-1),$l=f("span",null,null,-1),wl=f("span",null,null,-1),kl=f("span",null,null,-1),Tl=f("span",null,null,-1),Ml=[Cl,Sl,$l,wl,kl,Tl],Ol={class:"sort-number"},Il={key:0,class:"sort-number-editor"},Al=["onClick"],zl={key:1,class:"dropdown-column"},Vl={key:2,class:"set-btn"},_l=["onClick"],Dl={class:"other-setting"},Fl={class:"label"},Bl=["dir"];function El(e,t,n,i,r,s){var o=k("tiny-option"),a=k("tiny-select"),l=k("tiny-search"),d=k("title-render"),c=k("tiny-checkbox"),h=k("tiny-checkbox-group"),v=k("icon-left-frozen"),$=k("icon-right-frozen"),T=k("tiny-dropdown-item"),O=k("tiny-dropdown-menu"),S=k("tiny-dropdown"),I=k("icon-ascending"),F=k("icon-descending"),B=k("icon-close"),L=k("tiny-split"),Te=k("tiny-radio"),Me=k("tiny-radio-group"),he=k("tiny-button"),Bt=k("tiny-custom-switch"),Et=k("tiny-tooltip"),Ht=k("tiny-modal"),Nt=fn("clickoutside");return u(),M(Ht,{width:"800",title:" ",class:"tiny-grid-toolbar-modal",modelValue:e.visible,"onUpdate:modelValue":t[13]||(t[13]=function(w){return e.visible=w}),onInput:e.handleInput,onClose:e.handleClose},{default:m(function(){return[e.visible?(u(),p("div",il,[f("div",rl,[f("div",ol,[f("ul",null,[f("li",{onClick:t[0]||(t[0]=function(w){return e.activeName="base"}),class:b({"tiny-grid-custom__tabs-selected":e.activeName==="base"&&e.other,"tiny-grid-custom__tabs-base":!e.other})},[f("span",null,y(e.t("ui.grid.individuation.columnSet")),1)],2),e.other?(u(),p("li",{key:0,onClick:t[1]||(t[1]=function(w){return e.activeName="other"}),class:b({"tiny-grid-custom__tabs-selected":e.activeName==="other"})},[f("span",null,y(e.t("ui.grid.individuation.tabs.other.title")),1)],2)):g("v-if",!0)])]),f("div",sl,[q(f("div",{class:b(["tabs-body-item",e.animateShow==="base"?"active-item":""])},[C(L,{modelValue:e.splitVal,"onUpdate:modelValue":t[10]||(t[10]=function(w){return e.splitVal=w}),"trigger-simple":"","collapse-left-top":""},{left:m(function(){return[f("div",al,[e.multipleHistory?(u(),p("div",ll,[C(a,{modelValue:e.selectedTemplate,"onUpdate:modelValue":t[2]||(t[2]=function(w){return e.selectedTemplate=w}),shape:"filter",label:e.t("ui.grid.individuation.selectTemplate"),onChange:e.selectedTemplateChange,clearable:""},{default:m(function(){return[(u(!0),p(V,null,N(e.templateOptions,function(w){return u(),M(o,{key:w.id,label:w.name,value:w.id},null,8,["label","value"])}),128))]}),_:1},8,["modelValue","label","onChange"])])):g("v-if",!0),e.search?(u(),M(l,{key:1,modelValue:e.searchValue,"onUpdate:modelValue":t[3]||(t[3]=function(w){return e.searchValue=w}),onInput:e.searchChange,placeholder:e.t("ui.grid.individuation.toolbar.search")},null,8,["modelValue","onInput","placeholder"])):g("v-if",!0),e.searchValue?(u(),p("div",ul,[C(h,{modelValue:e.checkedColumns,"onUpdate:modelValue":t[4]||(t[4]=function(w){return e.checkedColumns=w}),vertical:""},{default:m(function(){return[(u(!0),p(V,null,N(e.searchColumns,function(w){return u(),M(c,{label:w.property,disabled:w.alwaysShow,key:w.property},{default:m(function(){return[C(d,{column:w},null,8,["column"])]}),_:2},1032,["label","disabled"])}),128))]}),_:1},8,["modelValue"])])):(u(),p("div",dl,[f("div",fl,[C(c,{indeterminate:e.isIndeterminate,modelValue:e.checkAll,"onUpdate:modelValue":t[5]||(t[5]=function(w){return e.checkAll=w})},{default:m(function(){return[A(y(e.t("ui.grid.individuation.toolbar.all")),1)]}),_:1},8,["indeterminate","modelValue"])]),C(h,{modelValue:e.checkedColumns,"onUpdate:modelValue":t[6]||(t[6]=function(w){return e.checkedColumns=w}),vertical:""},{default:m(function(){return[(u(!0),p(V,null,N(e.groupedColumns,function(w,R){return u(),p(V,null,[e.defer(Math.floor(R/5))?(u(),p("div",{key:R},[w.label?(u(),p("p",{key:0,class:b(["group-label",[R===0&&"group-label-first"]])},y(w.label),3)):g("v-if",!0),(u(!0),p(V,null,N(w.data,function(_){return u(),M(c,{label:_.property,disabled:_.alwaysShow,key:_.property},{default:m(function(){return[C(d,{column:_},null,8,["column"])]}),_:2},1032,["label","disabled"])}),128))])):g("v-if",!0)],64)}),256))]}),_:1},8,["modelValue"])]))])]}),right:m(function(){return[f("div",cl,[f("div",pl,[f("p",null,y(e.t("ui.grid.individuation.toolbar.selected"))+" ("+y(e.visibleColumns.length)+"/"+y(e.columns.length)+") ",1),e.hideFixedColumn?g("v-if",!0):(u(),p("span",hl,y(e.t("ui.grid.individuation.toolbar.freeze")),1)),e.hideSortColumn?g("v-if",!0):(u(),p("span",gl,y(e.t("ui.grid.individuation.toolbar.sort")),1)),f("span",{class:"clear-all",onClick:t[7]||(t[7]=function(){return e.handelClearAll&&e.handelClearAll.apply(e,arguments)})},y(e.t("ui.grid.individuation.toolbar.clear")),1)]),f("ul",vl,[(u(!0),p(V,null,N(e.visibleColumns,function(w,R){return u(),p("li",{key:w.property+R,class:b([w.fixed,e.getRowClassName(w)]),"data-tag":"tiny-grid-toolbar-item","data-row":w.property},[e.defer(Math.floor(R/3))?(u(),p("div",yl,[e.dropConfig.plugin?(u(),p("div",bl,Ml)):g("v-if",!0),f("div",Ol,[w.numberSortVisible?q((u(),p("div",Il,[C(a,{ref_for:!0,ref:"select"+R,modelValue:w.sortingIndex,"onUpdate:modelValue":function(P){return w.sortingIndex=P},"automatic-dropdown":"",onFocus:function(P){return e.selectFocus(P,w.sortingIndex)},onChange:e.sortSelectChange},{default:m(function(){return[(u(!0),p(V,null,N(e.sortingOptions,function(_){return u(),M(o,{key:_,label:_,value:_},null,8,["label","value"])}),128))]}),_:2},1032,["modelValue","onUpdate:modelValue","onFocus","onChange"])])),[[Nt,e.clickEditorOutside]]):(u(),p("div",{key:1,class:"sort-number-display",onClick:function(P){return e.clickSortDisplay(w,R)}},y(w.sortingIndex),9,Al))]),f("p",{class:b(["name toolbar-drag-item",[e.dropConfig.plugin&&"dragable"]]),onMouseenter:t[8]||(t[8]=function(){return e.handleMouseenter&&e.handleMouseenter.apply(e,arguments)}),onMouseleave:t[9]||(t[9]=function(){return e.handleMouseleave&&e.handleMouseleave.apply(e,arguments)})},[C(d,{column:w},null,8,["column"])],34),e.hideFixedColumn?g("v-if",!0):(u(),p("div",zl,[C(S,{"show-icon":!1,onItemClick:e.handleFixedItemClick,trigger:"hover"},{dropdown:m(function(){return[C(O,{onMouseenter:function(P){return e.handleDropdownMouseenter(P,R)},onMouseleave:function(P){return e.handleDropdownMouseleave(P,R)}},{default:m(function(){return[(u(!0),p(V,null,N(w.fixedOption,function(_){return u(),M(T,{key:_.value,label:_.label,"item-data":{value:_.value,property:w.property}},{default:m(function(){return[A(y(_.label),1)]}),_:2},1032,["label","item-data"])}),128))]}),_:2},1032,["onMouseenter","onMouseleave"])]}),default:m(function(){return[f("span",{class:b(["left","right"].includes(w.fixed)&&"dropdown-btn")},[w.fixed==="left"?(u(),M(v,{key:0})):w.fixed==="right"?(u(),M($,{key:1})):(u(),p("span",Vl,y(e.t("ui.grid.individuation.toolbar.set")),1))],2)]}),_:2},1032,["onItemClick"])])),e.hideSortColumn?g("v-if",!0):(u(),p("div",{key:2,class:b(["dropdown-column",[!w.sortable&&"visibility-hidden"]])},[C(S,{"show-icon":!1,onItemClick:e.handleSortItemClick,trigger:"hover"},{dropdown:m(function(){return[C(O,{onMouseenter:function(P){return e.handleDropdownMouseenter(P,R)},onMouseleave:function(P){return e.handleDropdownMouseleave(P,R)}},{default:m(function(){return[(u(!0),p(V,null,N(w.sortOption,function(_){return u(),M(T,{key:_.value,label:_.label,"item-data":{value:_.value,property:w.property}},{default:m(function(){return[A(y(_.label),1)]}),_:2},1032,["label","item-data"])}),128))]}),_:2},1032,["onMouseenter","onMouseleave"])]}),default:m(function(){return[f("span",{class:b(["asc","desc"].includes(w.order)&&"dropdown-btn")},[w.order==="asc"?(u(),M(I,{key:0})):w.order==="desc"?(u(),M(F,{key:1})):(u(),p("span",{key:2,class:b(["set-btn",[!w.sortable&&"visibility-hidden"]])},y(e.t("ui.grid.individuation.toolbar.set")),3))],2)]}),_:2},1032,["onItemClick"])],2)),f("span",{class:b(["close-icon",[w.alwaysShow&&"visibility-hidden"]]),onClick:function(P){return e.hiddenColumn(w.property)}},[C(B)],10,_l)])):g("v-if",!0)],10,ml)}),128))],512)])]}),_:1},8,["modelValue"])],2),[[ne,e.activeName==="base"]]),q(f("div",{class:b(["tabs-body-item",e.animateShow==="other"?"active-item":""])},[f("div",Dl,[f("span",Fl,y(e.t("ui.grid.individuation.tabs.other.pageSize")),1),C(Me,{modelValue:e.settings.pageSize,"onUpdate:modelValue":t[11]||(t[11]=function(w){return e.settings.pageSize=w})},{default:m(function(){return[(u(!0),p(V,null,N(e.initSettings.pageSizes,function(w,R){return u(),M(Te,{key:R,label:w},{default:m(function(){return[A(y(w),1)]}),_:2},1032,["label"])}),128))]}),_:1},8,["modelValue"])])],2),[[ne,e.activeName==="other"]])])]),f("div",{class:"tiny-grid-custom__footer",dir:e.tinyTheme==="saas"?"rtl":"ltr"},[C(he,{type:"primary",onClick:e.saveSettings},{default:m(function(){return[A(y(e.t("ui.grid.individuation.saveBtn")),1)]}),_:1},8,["onClick"]),e.multipleHistory&&e.activeName==="base"?(u(),M(Bt,{key:0,ref:"switch","custom-mode":e.customMode,"selected-template-val":e.selectedTemplateVal,"history-config":e.historyConfig,onInitStorage:e.initStorage},null,8,["custom-mode","selected-template-val","history-config","onInitStorage"])):g("v-if",!0),C(he,{onClick:e.handleReset},{default:m(function(){return[A(y(e.t("ui.grid.individuation.resetBtn")),1)]}),_:1},8,["onClick"]),C(he,{onClick:e.cancelSettings},{default:m(function(){return[A(y(e.t("ui.grid.individuation.cancelBtn")),1)]}),_:1},8,["onClick"])],8,Bl)])):g("v-if",!0),C(Et,{ref:"tooltip",modelValue:e.tooltipVisible,"onUpdate:modelValue":t[12]||(t[12]=function(w){return e.tooltipVisible=w}),"popper-class":"absolute",manual:!0,effect:"light",content:e.tooltipContent,placement:"top"},null,8,["modelValue","content"])]}),_:1},8,["modelValue","onInput","onClose"])}var Hl=ke(nl,[["render",El]]),Nl={isActive:"is__active"};function ht(e){var t=e._vm;setTimeout(function(){t.settingStore.activeBtn||t.settingStore.activeWrapper||t.closeSetting()},300)}function Ll(e){var t=e._vm,n=e.$tools,i=e.$grid,r=e.table;return E("div",{class:"tiny-grid-tools__wrapper"},n.call(t,{$grid:i,$table:r},E))}function Rl(e){var t=e._vm;return E("div",{class:"tiny-grid-fullscreen__wrapper"},[E("div",{class:"tiny-grid-fullscreen__btn",on:{click:t.fullscreenEvent}},[E(t.isFull?G.icon.minscreen:G.icon.fullscreen,{class:"tiny-svg-size"})])])}function Gl(e){var t=e._vm;return E("div",{class:"tiny-grid-refresh__wrapper"},[E("div",{class:"tiny-grid-refresh__btn",on:{click:t.refreshEvent}},[E(G.icon.refresh,{class:["tiny-svg-size",{roll:t.isRefresh}]})])])}function Pl(e){var t,n=e._vm,i=e.settingStore,r=e.settingsBtnOns,s=e.tableFullColumn,o=e.setting,a=e.initSettings;return E("div",{class:["tiny-grid-custom__wrapper",(t={},t[Nl.isActive]=i.customVisible,t)],ref:"customWrapper"},[E("div",{class:"tiny-grid-custom__setting-btn",on:r},[o!=null&&o.simple?E("tiny-grid-custom-select",{on:{saveSettings:n.handleSaveSettings},props:{data:s,setting:o,value:i.customVisible}}):E(G.icon.custom,{class:"tiny-svg-size"})]),E("div",{class:"tiny-grid-custom__option-wrapper"},[E(n.customMode==="saas"?"tiny-grid-custom-saas":"tiny-grid-custom",{on:{showModal:function(d){return i.customVisible=d},saveSettings:n.handleSaveSettings,resetSettings:function(d){return n.$emit("reset-setting",d)},cancelSettings:function(){return n.$emit("cancel-setting")}},props:{customMode:n.customMode,data:s,value:i.customVisible,other:o.other,search:o.search,keys:o.keys,sortable:o.sortable,filter:o.filter,onBeforeMove:o.onBeforeMove,rowClassName:o.rowClassName,refresh:o.refresh,numberSorting:o.numberSorting,multipleHistory:o.multipleHistory,initSettings:a,resetMethod:n.resetMethod,alwaysShowColumns:o.alwaysShowColumns,columnsGroup:o.columnsGroup,hideSortColumn:o.hideSortColumn,showHideAll:o.showHideAll,fixedSorting:o.fixedSorting},ref:"custom"})])])}function jl(e){var t=e.item,n=e._vm,i=null,r=function(o){var a=[null];return o.visible!==!1&&(a=E(wt,{on:{click:function(d){return n.btnEvent(d,o)}},props:{disabled:o.disabled}},Ve(o.name))),a};return t.dropdowns&&t.dropdowns.length&&(i={default:function(){return Ve(t.name)},dropdowns:function(){return t.dropdowns.map(r)}}),i}function Ul(e){var t=e._vm,n=e.$buttons,i=e.$grid,r=e.table,s=e.buttons,o;return n?o=n.call(t,{$grid:i,$table:r},E):o=s.map(function(a){var l=[null];if(a.visible!==!1){var d=jl({item:a,_vm:t});l=E(wt,{on:{click:function(h){return t.btnEvent(h,a)}},props:{disabled:a.disabled},scopedSlots:d},Ve(a.name))}return l}),E("div",{class:"tiny-grid-button__wrapper"},o)}var Ce=H({name:ee+"GridToolbar",components:{TinyGridCustom:Ja,TinyGridCustomSelect:el,TinyGridCustomSaas:Hl,IconFullscreen:je(),IconMinscreen:Ue()},props:Y({},x,{id:String,loading:{type:Boolean,default:!1},customMode:{type:String,default:function(){var t=yt();return(t.tiny_theme?t.tiny_theme.value:"")||"aurora"}},resizable:{type:[Boolean,Object],default:function(){return G.toolbar.resizable}},refresh:{type:[Boolean,Object],default:function(){return G.toolbar.refresh}},setting:{type:[Boolean,Object],default:function(){return G.toolbar.setting}},fullScreen:{type:Boolean,default:!1},buttons:{type:Array,default:function(){return G.toolbar.buttons}},size:String,data:Array,customs:Array,beforeOpenFullScreen:Function,beforeCloseFullScreen:Function,resetMethod:Function}),inject:{$grid:{default:null}},data:function(){return{table:null,isRefresh:!1,tableFullColumn:[],initSettings:{pageSizes:[],pageSize:10,sortType:"page",showIndex:!1,multipleHistory:{tableMaxHeight:"",showTitle:!0,title:"",showSave:!0,saveDisabled:!1,saveText:"",labelText:"",selectPlaceholder:"",selectDisabled:!1,showApply:!0,applyDisabled:!1,applyTitle:"",applyIcon:null,showEdit:!0,editDisabled:!1,editTitle:"",editIcon:null,showDel:!0,delDisabled:!1,delTitle:"",delIcon:null,storageKey:"TINY_TABLE_MULTI_HISTORY_SETTING",remoteMethod:null,userKey:"",remoteSelectedMethod:null}},settingStore:{visible:!1,customVisible:!1},isFull:!1}},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize},refreshOpts:function(){return Y({},G.toolbar.refresh,this.refresh)},resizableOpts:function(){return Y({storageKey:"TINY_TABLE_CUSTOM_COLUMN_WIDTH"},G.toolbar.resizable,this.resizable)},settingOpts:function(){return Y({storageKey:"TINY_TABLE_CUSTOM_SETTING"},G.toolbar.setting,this.setting)}},created:function(){var t=this,n=this.settingOpts,i=this.id,r=this.customs,s=this.$grid;if(this.initSettings.pageSizes=s.pagerConfig&&s.pagerConfig.pageSizes||[10,15,20,30,50,100],this.initSettings.pageSize=s.pagerConfig&&s.pagerConfig.pageSize||10,this.initSettings.sortType=this.setting&&this.setting.sortType||"page",this.initSettings.showIndex=this.setting&&this.setting.showIndex,n.storage==="local"&&(this.initSettings=Object.assign(this.initSettings,this.getStorageMap(n.storageKey)[i]||{})),r&&(this.tableFullColumn=r),n.storage&&!i)return Ae.error("ui.grid.error.toolbarId");this.loadStorage(),me.on(this,"mousedown",this.handleGlobalMousedownEvent),me.on(this,"blur",this.handleGlobalBlurEvent),this.removeHandler=function(){me.off(t,"mousedown"),me.off(t,"blur")},this.$grid.connect({name:"toolbar",vm:this})},setup:function(t,n){var i=n.slots,r=n.attrs,s=n.listeners,o=un().proxy,a=kn(r,s);return dn(function(){return typeof o.removeHandler=="function"&&o.removeHandler()}),{slots:i,tableListeners:a}},render:function(){var t,n=this.$grid,i=this.slots,r=this.table,s=this.loading,o=this.settingStore,a=this.refresh,l=this.fullScreen,d=this.setting,c=this.initSettings,h=this.buttons,v=h===void 0?[]:h,$=this.vSize,T=this.tableFullColumn,O=i.buttons,S=i.tools,I={};d&&(I.click=this.settingBtnClick);var F={isLoading:"is__loading"},B={class:["tiny-grid-toolbar",(t={},t["size__"+$]=$,t[F.isLoading]=s,t)]},L={_vm:this,settingStore:o,settingsBtnOns:I,tableFullColumn:T,setting:d,initSettings:c},Te=function(){return typeof i.default=="function"?i.default():i.default},Me=[Ul({_vm:this,$buttons:O,$grid:n,table:r,buttons:v}),d?Pl(L):null,a?Gl({_vm:this}):null,l?Rl({_vm:this}):null,S?Ll({_vm:this,$tools:S,$grid:n,table:r}):Te()];return E("div",B,Me)},methods:{settingBtnClick:function(){return this.setting&&this.setting.customSetting?this.setting.settingBtnClickFn():this.handleClickCustomEvent()},updateConf:function(){var t=this,n=this.data,i=this.$parent.$children,r=function(o,a){return o&&o.refreshColumn&&a>i.indexOf(t)&&(n?o.data===n:o.$vnode.componentOptions.tag==="tiny-grid-table")};this.table=W(i,r)},closeSetting:function(){var t=this.setting,n=this.settingStore;n.visible&&(n.visible=!1),n.visible&&t&&!n.immediate&&this.updateSetting()},openSetting:function(){this.settingStore.visible=!0},showAllColumns:function(){this.$refs.custom.showOrHideAllColumns(!0)},hideAllColumns:function(){this.$refs.custom.showOrHideAllColumns(!1)},orderSetting:function(){var t=this.id,n=this.settingOpts,i=[],r=JSON.parse(localStorage.getItem(n.storageKey));if(r){var s=r[t];i=s&&s.columns||[]}var o=i.map(function(a){return{fileds:a.property,property:a.property,order:a.order,prop:a.property}}).filter(function(a){return a.order!==null});return o},loadColWidth:function(){var t=this.id,n=this.resizableOpts;if(n.storage){var i=this.getStorageMap(n.storageKey)[t]||{};if(i){var r={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]={resizeWidth:i[s]});return r}}},loadStorage:function(){var t=this,n=this.$grid,i=this.id,r=this.resizable,s=this.setting,o=this.settingOpts;if(n&&(r||s)){var a=[];if(n)n.connect({toolbar:this});else throw new Error("[tiny-grid-toolbar] Not found tiny-grid.");if(o.storage==="local"){var l=this.getStorageMap(o.storageKey)[i];if(a=l&&l.columns||[],l&&l.pageSize){var d=l.pageSize;this.$grid.pagerConfig&&this.$grid.pagerConfig.pageSize!==d&&this.$grid.createJob("pageSizeChangeCallback",function(){t.$grid.pageSizeChange(d,n.autoLoad===!1)})}}this.$grid.createJob("updateCustomsCallback",function(){t.updateCustoms(a.length?a:t.tableFullColumn)})}},updateColumn:function(t){this.tableFullColumn=t},updateCustoms:function(t){var n=this,i=this.$grid,r=this.table,s=this.setting,o=i||r,a=s&&!!s.sortable;if(o){var l=this.loadColWidth();o.reloadCustoms(t,a,l).then(function(d){n.tableFullColumn=d})}},getStorageMap:function(t){var n=G.version,i=ze(localStorage.getItem(t));return i&&i._v===n?i:{_v:n}},saveCustomSettings:function(t){var n=this.id,i=this.settingOpts;if(i.storage==="local"){var r=this.getStorageMap(i.storageKey),s=r[n]||{};s.columns=t,r[n]=s,localStorage.setItem(i.storageKey,re(r))}return this.$nextTick()},savePagerSettings:function(t){var n=this.id,i=this.settingOpts;if(i.storage){var r=this.getStorageMap(i.storageKey),s=r[n];s?Object.assign(s,t):s=t,r[n]=s,localStorage.setItem(i.storageKey,re(r))}return this.$nextTick()},saveColumnHide:function(){var t=this.id,n=this.tableFullColumn,i=this.settingOpts;if(i.storage){var r=this.getStorageMap(i.storageKey),s=n.filter(function(o){return o.property&&!o.visible});r[t]=s.length?s.map(function(o){return o.property}).join(","):void 0,this.$refs.custom&&this.$refs.custom.saveSettings()}return this.$nextTick()},saveColumnWidth:function(t){var n=this.id,i=this.resizableOpts,r=this.tableFullColumn,s=i.storage,o=i.storageKey,a;s&&(a=this.getStorageMap(o));var l;return s&&!t&&(l=a[n],l=Tn(l)?l:{},r.forEach(function(d){var c=d.property,h=d.resizeWidth,v=d.renderWidth;c&&h&&(l[c]=v)})),s&&(a[n]=Hr(l)?void 0:l,localStorage.setItem(o,re(a))),this.$nextTick()},resetResizable:function(){this.updateResizable(this)},updateResizable:function(t){var n=this.$grid||this.table;return this.saveColumnWidth(t),n.analyColumnWidth(),n.recalculate()},updateSetting:function(){var t=this,n=this.$grid||this.table;return n.refreshColumn(),this.tableFullColumn=this.tableFullColumn.slice(0),this.$nextTick(function(){return t.$refs.custom&&t.$refs.custom.saveSettings()})},applySettings:function(t){var n=this,i=t.columns,r=t.pageSize,s=this.setting&&!!this.setting.sortable;if(this.$grid){if(i&&i.length){var o=this.loadColWidth();this.$grid.reloadCustoms(i,s,o).then(function(){n.$grid.handleTableData(!0).then(function(){n.$grid.recalculate()})})}nn(r)&&this.$grid.pagerConfig&&this.$grid.pagerConfig.pageSize!==r&&this.$grid.pageSizeChange(r)}},handleSaveSettings:function(t){var n=this.settingStore,i=this.setting,r=this.settingOpts,s=this.$refs.custom;n.customVisible=!1;var o=t.columns,a=t.pageSize,l=t.sortType;if(this.applySettings({columns:o,pageSize:a}),i&&r.storage==="local"){var d={pageSize:a,sortType:l,id:null};i.multipleHistory&&s.multipleHistoryId&&(d.id=s.multipleHistoryId,s.multipleHistoryId=null),this.saveCustomSettings(o),this.savePagerSettings(d)}else if(i&&r.storage==="remote"&&r.remote&&(this.$emit("remote-setting",t),i.multipleHistory)){var c,h;this.$emit("multiple-history-option",re((h={},h[r.storageKey]=(c={},c[this.id]=Y({},t,{id:s.multipleHistoryId||null}),c),h))),s.multipleHistoryId=null}this.$emit("save-setting",t)},handleGlobalMousedownEvent:function(t){Mn(t,this.$refs.customWrapper).flag||this.closeSetting()},handleGlobalBlurEvent:function(){this.closeSetting()},handleClickSettingEvent:function(){var t=this.settingStore;t.visible=!t.visible},handleClickCustomEvent:function(){var t=this.settingStore;this.$refs.custom.settings.pageSize=this.$grid.pagerConfig&&this.$grid.pagerConfig.pageSize||this.settingOpts.storage==="local"&&this.$refs.custom.settings.pageSize||10,t.customVisible=!t.customVisible},handleMouseenterSettingEvent:function(){this.settingStore.activeBtn=!0,this.openSetting()},handleMouseleaveSettingEvent:function(){this.settingStore.activeBtn=!1,ht({_vm:this})},handleWrapperMouseenterEvent:function(){this.settingStore.activeWrapper=!0,this.openSetting()},handleWrapperMouseleaveEvent:function(){this.settingStore.activeWrapper=!1,ht({_vm:this})},refreshEvent:function(){var t=this,n=this.$grid,i=this.isRefresh,r=this.refreshOpts,s=function(l){return l},o=function(){return t.isRefresh=!1};if(!i){if(this.isRefresh=!0,r.query){r.query().catch(s).then(o);return}if(n&&n.fetchData){n.commitProxy("reload").catch(s).then(o);return}n&&n.refreshData().then(o)}},btnEvent:function(t,n){var i=this.$grid,r=this.table,s=this.tableListeners,o=n.code;if(o)if(i&&!s["button-click"])i.triggerToolbarBtnEvent(n,t);else{var a=On.buttons.get(o),l={code:o,button:n,$grid:i,$table:r};a&&a.call(this,l,t),In(this,"button-click",[l,t])}},fullscreenEvent:function(){var t,n,i,r=!this.isFull;this.fullScreen&&(t=this.beforeOpenFullScreen,n=this.beforeCloseFullScreen,i=r&&typeof t=="function"&&!t()||!r&&typeof n=="function"&&!n(),i)||this.$grid&&(this.isFull=!this.isFull,this.$grid.commitProxy("fullscreen",this.isFull))}}}),Wl="3.16.0";Ce.install=function(e){e.component(Ce.name,Ce)};Ce.version=Wl;export{Ce as G};
diff --git a/admin-website/src/main/resources/static/assets/index-3e48e55b.css b/admin-website/src/main/resources/static/assets/index-3e48e55b.css
deleted file mode 100644
index 97582db..0000000
--- a/admin-website/src/main/resources/static/assets/index-3e48e55b.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-link{--ti-link-font-size:var(--ti-common-font-size-1, 14px);--ti-link-font-weight:var(--ti-common-font-weight-5, 500);--ti-link-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-link-has-icon-underline-width:100%;--ti-link-only-text-underline-width:100%;--ti-link-display:inline;--ti-link-svg-width:1em;--ti-link-svg-height:1em;--ti-link-svg-margin-right:0px;--ti-link-icon-hover-text-weight:var(--ti-common-font-weight-5, 500);--ti-link-default-text-color:var(--ti-common-color-info-text, #252b3a);--ti-link-default-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-link-default-hover-text-color:var(--ti-common-color-text-link, #526ecc);--ti-link-default-disabled-text-color:var(--ti-common-color-info-disabled, #bfbfbf);--ti-link-default-hover-border-color:var(--ti-link-default-hover-text-color);--ti-link-primary-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-link-primary-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-link-primary-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-link-primary-disabled-text-color:var(--ti-common-color-primary-disabled, #a0cfff);--ti-link-danger-text-color:var(--ti-common-bg-primary, #c7000b);--ti-link-danger-border-color:var(--ti-common-bg-primary, #c7000b);--ti-link-danger-hover-text-color:var(--ti-common-bg-primary-hover, #d64a52);--ti-link-danger-disabled-text-color:var(--ti-common-color-danger-disabled, #d8bab5);--ti-link-success-text-color:var(--ti-common-color-success-normal, #50d4ab);--ti-link-success-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-link-success-hover-text-color:var(--ti-common-color-success-hover, #acf2dc);--ti-link-success-disabled-text-color:var(--ti-common-color-success-disabled, #a6c3b9);--ti-link-warning-text-color:var(--ti-common-color-warning-normal, #fa9841);--ti-link-warning-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-link-warning-hover-text-color:var(--ti-common-color-warning-hover, #fac20a);--ti-link-warning-disabled-text-color:var(--ti-common-color-warning-disabled, #d3c6a2);--ti-link-info-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-link-info-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-link-info-hover-text-color:var(--ti-common-color-info-hover, #5c6173);--ti-link-info-disabled-text-color:var(--ti-common-color-info-disabled, #bfbfbf);--ti-link-has-svg-hover-text-color:var(--ti-common-color-text-link, #526ecc);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:var(--ti-link-font-size);font-weight:var(--ti-link-font-weight)}.tiny-link .tiny-svg{width:var(--ti-link-svg-width);height:var(--ti-link-svg-height);margin-right:0;margin-left:var(--ti-link-svg-margin-right)}.tiny-link .tiny-link-svg{margin-right:var(--ti-link-svg-margin-right);margin-left:0}.tiny-link .tiny-link__inner .tiny-svg{margin-right:0;margin-left:var(--ti-link-svg-margin-right)}.tiny-link.tiny-link--additional:hover{color:var(--ti-link-default-hover-text-color);fill:var(--ti-link-default-hover-text-color)}.tiny-link.tiny-link--additional.is-disabled:hover{color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.tiny-link--additional:has(.tiny-svg):hover{font-weight:var(--ti-link-icon-hover-text-weight);color:var(--ti-link-has-svg-hover-text-color);fill:var(--ti-link-has-svg-hover-text-color)}.tiny-link.tiny-link--additional:has(.tiny-svg).is-disabled:hover{font-weight:var(--ti-common-font-weight-4);color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.is-underline:hover:after{content:"";width:var(--ti-link-only-text-underline-width);position:absolute;left:0;height:0;bottom:0;display:block;border-bottom:1px solid var(--ti-link-border-color)}.tiny-link.is-underline:hover:has(.tiny-svg):after{width:var(--ti-link-has-icon-underline-width)}.tiny-link.is-underline:hover:has(>:first-child:not(.tiny-link__inner)):after{left:calc(100% - var(--ti-link-has-icon-underline-width))}.tiny-link.is-disabled{cursor:not-allowed}.tiny-link.tiny-link--default{color:var(--ti-link-default-text-color);fill:var(--ti-link-default-text-color)}.tiny-link.tiny-link--default g{color:var(--ti-link-default-text-color);fill:var(--ti-link-default-text-color)}.tiny-link.tiny-link--default.is-underline:hover:after{border-color:var(--ti-link-default-border-color)}.tiny-link.tiny-link--default:hover{text-decoration:none;color:var(--ti-link-default-hover-text-color)}.tiny-link.tiny-link--default.is-disabled,.tiny-link.tiny-link--default.is-disabled:hover{color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.tiny-link--default.is-disabled g,.tiny-link.tiny-link--default.is-disabled:hover g{color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.tiny-link--primary{color:var(--ti-link-primary-text-color);fill:var(--ti-link-primary-text-color)}.tiny-link.tiny-link--primary g{color:var(--ti-link-primary-text-color);fill:var(--ti-link-primary-text-color)}.tiny-link.tiny-link--primary.is-underline:hover:after{border-color:var(--ti-link-primary-border-color)}.tiny-link.tiny-link--primary:hover{text-decoration:none;color:var(--ti-link-primary-hover-text-color)}.tiny-link.tiny-link--primary.is-disabled,.tiny-link.tiny-link--primary.is-disabled:hover{color:var(--ti-link-primary-disabled-text-color);fill:var(--ti-link-primary-disabled-text-color)}.tiny-link.tiny-link--primary.is-disabled g,.tiny-link.tiny-link--primary.is-disabled:hover g{color:var(--ti-link-primary-disabled-text-color);fill:var(--ti-link-primary-disabled-text-color)}.tiny-link.tiny-link--danger{color:var(--ti-link-danger-text-color);fill:var(--ti-link-danger-text-color)}.tiny-link.tiny-link--danger g{color:var(--ti-link-danger-text-color);fill:var(--ti-link-danger-text-color)}.tiny-link.tiny-link--danger.is-underline:hover:after{border-color:var(--ti-link-danger-border-color)}.tiny-link.tiny-link--danger:hover{text-decoration:none;color:var(--ti-link-danger-hover-text-color)}.tiny-link.tiny-link--danger.is-disabled,.tiny-link.tiny-link--danger.is-disabled:hover{color:var(--ti-link-danger-disabled-text-color);fill:var(--ti-link-danger-disabled-text-color)}.tiny-link.tiny-link--danger.is-disabled g,.tiny-link.tiny-link--danger.is-disabled:hover g{color:var(--ti-link-danger-disabled-text-color);fill:var(--ti-link-danger-disabled-text-color)}.tiny-link.tiny-link--success{color:var(--ti-link-success-text-color);fill:var(--ti-link-success-text-color)}.tiny-link.tiny-link--success g{color:var(--ti-link-success-text-color);fill:var(--ti-link-success-text-color)}.tiny-link.tiny-link--success.is-underline:hover:after{border-color:var(--ti-link-success-border-color)}.tiny-link.tiny-link--success:hover{text-decoration:none;color:var(--ti-link-success-hover-text-color)}.tiny-link.tiny-link--success.is-disabled,.tiny-link.tiny-link--success.is-disabled:hover{color:var(--ti-link-success-disabled-text-color);fill:var(--ti-link-success-disabled-text-color)}.tiny-link.tiny-link--success.is-disabled g,.tiny-link.tiny-link--success.is-disabled:hover g{color:var(--ti-link-success-disabled-text-color);fill:var(--ti-link-success-disabled-text-color)}.tiny-link.tiny-link--warning{color:var(--ti-link-warning-text-color);fill:var(--ti-link-warning-text-color)}.tiny-link.tiny-link--warning g{color:var(--ti-link-warning-text-color);fill:var(--ti-link-warning-text-color)}.tiny-link.tiny-link--warning.is-underline:hover:after{border-color:var(--ti-link-warning-border-color)}.tiny-link.tiny-link--warning:hover{text-decoration:none;color:var(--ti-link-warning-hover-text-color)}.tiny-link.tiny-link--warning.is-disabled,.tiny-link.tiny-link--warning.is-disabled:hover{color:var(--ti-link-warning-disabled-text-color);fill:var(--ti-link-warning-disabled-text-color)}.tiny-link.tiny-link--warning.is-disabled g,.tiny-link.tiny-link--warning.is-disabled:hover g{color:var(--ti-link-warning-disabled-text-color);fill:var(--ti-link-warning-disabled-text-color)}.tiny-link.tiny-link--info{color:var(--ti-link-info-text-color);fill:var(--ti-link-info-text-color)}.tiny-link.tiny-link--info g{color:var(--ti-link-info-text-color);fill:var(--ti-link-info-text-color)}.tiny-link.tiny-link--info.is-underline:hover:after{border-color:var(--ti-link-info-border-color)}.tiny-link.tiny-link--info:hover{text-decoration:none;color:var(--ti-link-info-hover-text-color)}.tiny-link.tiny-link--info.is-disabled,.tiny-link.tiny-link--info.is-disabled:hover{color:var(--ti-link-info-disabled-text-color);fill:var(--ti-link-info-disabled-text-color)}.tiny-link.tiny-link--info.is-disabled g,.tiny-link.tiny-link--info.is-disabled:hover g{color:var(--ti-link-info-disabled-text-color);fill:var(--ti-link-info-disabled-text-color)}.tiny-notify{--ti-notify-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-notify-info-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-notify-info-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-notify-warning-bg-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-notify-warning-icon-color:var(--ti-common-color-warn, #fa9841);--ti-notify-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-notify-error-icon-color:var(--ti-common-color-error, #f66f6a);--ti-notify-success-bg-color:var(--ti-common-color-success-bg, #edfff9);--ti-notify-success-icon-color:var(--ti-common-color-success, #50d4ab);--ti-notify-text-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-notify-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-notify-title-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-notify-content-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-notify-title-font-size:var(--ti-common-font-size-1, 14px);--ti-notify-title-font-weight:var(--ti-common-font-weight-7, bold);--ti-notify-title-margin-top:var(--ti-common-space-0, 0px);--ti-notify-title-margin-horizontal:var(--ti-common-space-0, 0px);--ti-notify-title-margin-bottom:var(--ti-common-space-2x, 8px);--ti-notify-title-white-space:normal;--ti-notify-content-font-size:var(--ti-common-font-size-1, 14px);--ti-notify-message-margin-top:var(--ti-common-space-0, 0px);--ti-notify-message-margin-bottom:var(--ti-common-space-0, 0px);--ti-notify-message-margin-right:var(--ti-common-space-0, 0px);--ti-notify-message-margin-left:var(--ti-common-space-10, 10px);--ti-notify-icon-size:var(--ti-common-font-size-5, 24px);--ti-notify-close-icon-color:var(--ti-base-color-common-7, #252b3a);--ti-notify-max-width:400px;--ti-notify-box-shadow:var(--ti-common-shadow-4-down, 0 8px 40px 0 rgba(0, 0, 0, .2));--ti-notify-padding-vertical:var(--ti-common-space-4x, 16px);--ti-notify-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-notify-close-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-notify-close-hover-icon-color:var(--ti-base-color-common-7, #252b3a);--ti-notify-position-top-left:10px;--ti-notify-position-bottom-left:10px;--ti-notify-position-top-right:10px;--ti-notify-position-bottom-right:10px;--ti-notify-icon-transform:translate(0, -2px);position:fixed;z-index:1101;max-width:var(--ti-notify-max-width);width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s;overflow:hidden;white-space:nowrap;padding:var(--ti-notify-padding-vertical) var(--ti-notify-padding-horizontal);background:var(--ti-notify-bg-color);border-radius:2px;border-radius:var(--ti-notify-border-radius);font-size:var(--ti-common-font-size-base);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:var(--ti-notify-box-shadow);box-shadow:var(--ti-notify-box-shadow)}.tiny-notify--info{background:var(--ti-notify-info-bg-color)}.tiny-notify--warning{background:var(--ti-notify-warning-bg-color)}.tiny-notify--error{background:var(--ti-notify-error-bg-color)}.tiny-notify--success{background:var(--ti-notify-success-bg-color)}.tiny-notify.top-left{left:var(--ti-notify-position-top-left);top:25px}.tiny-notify.bottom-left{left:var(--ti-notify-position-bottom-left);bottom:25px}.tiny-notify.top-right{right:var(--ti-notify-position-top-right);top:25px}.tiny-notify.bottom-right{right:var(--ti-notify-position-bottom-right);bottom:25px}.tiny-notify .tiny-notify__title{font-weight:var(--ti-notify-title-font-weight);font-size:var(--ti-notify-title-font-size);color:var(--ti-notify-title-text-color);line-height:1.5;white-space:var(--ti-notify-title-white-space);overflow-x:hidden;text-overflow:ellipsis}.tiny-notify .tiny-notify__icon{color:var(--ti-notify-text-color)}.tiny-notify .tiny-notify__content{color:var(--ti-notify-content-text-color);font-size:var(--ti-common-font-size-base);margin:0;padding:0;font-size:var(--ti-common-font-size-1);overflow-wrap:break-word;white-space:pre-wrap}.tiny-notify .tiny-notify__closebtn{cursor:pointer;color:var(--ti-notify-text-color);position:absolute;top:50%;right:10px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-notify .tiny-notify__icon-zone{font-size:var(--ti-notify-icon-size)}.tiny-notify .tiny-notify__icon-zone svg{vertical-align:inherit;-webkit-transform:var(--ti-notify-icon-transform);transform:var(--ti-notify-icon-transform)}.tiny-notify .tiny-notify__message-zone{width:calc(100% - 40px);margin:var(--ti-notify-message-margin-top) var(--ti-notify-message-margin-right) var(--ti-notify-message-margin-bottom) var(--ti-notify-message-margin-left)}.tiny-notify .tiny-notify__close-zone{font-size:var(--ti-notify-close-icon-font-size);cursor:pointer}.tiny-notify .tiny-notify__close-zone svg{vertical-align:inherit}.tiny-notify .tiny-notify__close-zone svg:hover{fill:var(--ti-notify-close-hover-icon-color)}.tiny-notify--info .tiny-notify__icon-zone{fill:var(--ti-notify-info-icon-color)}.tiny-notify--info .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--warning .tiny-notify__icon-zone{fill:var(--ti-notify-warning-icon-color)}.tiny-notify--warning .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--error .tiny-notify__icon-zone{fill:var(--ti-notify-error-icon-color)}.tiny-notify--error .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--success .tiny-notify__icon-zone{fill:var(--ti-notify-success-icon-color)}.tiny-notify--success .tiny-notify__close-zone,.tiny-notify--error .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify__icon-zone .tiny-notify__icon-status{position:relative}.tiny-notify--no-close .tiny-notify__message-zone{width:calc(100% - 24px)}.tiny-notify__message-zone .tiny-notify__title-wrapper{color:var(--ti-notify-title-text-color);font-size:var(--ti-notify-title-font-size);margin:var(--ti-notify-title-margin-top) var(--ti-notify-title-margin-horizontal) var(--ti-notify-title-margin-bottom);line-height:1.5}.tiny-notify__message-zone .tiny-notify__content-wrapper{height:auto;line-height:22px;max-height:96px;overflow-y:auto;font-size:var(--ti-notify-content-font-size)}.tiny-notify__close-zone .tiny-notify__icon-close{position:relative;top:-4px;right:-4px}.tiny-notify--no-icon .tiny-notify__message-zone{width:100%}.login-form-container[data-v-985986a4]{margin-top:5%}.login-form[data-v-985986a4]{margin-left:6%}.login-form .tiny-form-item[data-v-985986a4]{margin-bottom:20px}.login-form-container[data-v-985986a4]{width:320px}.login-form-options[data-v-985986a4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:12px}.login-form-btn[data-v-985986a4]{display:block;width:100%;max-width:100%}.divide-line[data-v-985986a4]{margin:0 5px}@media (max-width: 360px){.login-form[data-v-985986a4]{margin-left:5%}.login-form-container[data-v-985986a4]{width:240px}}.login-register-container[data-v-99554533]{margin-top:-6%;margin-left:6%}.login-register-container .tiny-form-item[data-v-99554533]{margin-bottom:20px}.login-register-container-container[data-v-99554533]{width:320px}.login-register-container .login-form-options[data-v-99554533]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;margin-left:65%}.login-register-container .login-form-btn[data-v-99554533]{display:block;width:100%;max-width:100%}@media (max-width: 360px){.login-register-container[data-v-99554533]{margin-top:-10%}.login-register-container .tiny-form-item[data-v-99554533]{margin-bottom:5px}.login-register-container .login-form-options[data-v-99554533]{margin-bottom:10px;margin-left:50%}}@media (max-height: 1208px){.login-register-container[data-v-99554533]{margin-top:-15%}}.login-lan-drop[data-v-ea2ebbb9]{margin-left:-36%;background:#fff;border:1px solid #ccc}.login-lan-drop li[data-v-ea2ebbb9]{display:block;padding:6px;text-align:left;list-style-type:none;box-shadow:0 0 2px 2px var(--ti-common-color-bg-normal);cursor:pointer}.login-lan-drop li[data-v-ea2ebbb9]:hover{color:#2f5bea;background-color:#f5f6f7}span[data-v-ea2ebbb9]{padding-left:5px;font-size:20px}@media (max-width: 360px){.login-lan-drop li[data-v-ea2ebbb9]{padding:2px}}.login-form-container[data-v-19097b9e]{margin-top:5%}.login-form-language[data-v-19097b9e]{position:absolute;top:10%;left:93%}[data-v-19097b9e] .tiny-tabs__content{margin-left:-6%}[data-v-19097b9e] .tiny-tabs__nav.is-show-active-bar .tiny-tabs__item{margin-right:0}@media (max-width: 992px){.login-form-language[data-v-19097b9e]{position:absolute;top:10%;left:90%}}@media (max-width: 360px){.login-form-language[data-v-19097b9e]{position:absolute;top:1%;left:72%}}@media (min-width: 768px){.login-form-language[data-v-19097b9e]{position:absolute;top:3%;left:86%}}.container-login[data-v-fe79e3e5]{display:flex;flex-direction:column;width:100vw;height:100vh;background-image:url(/ui/admin/assets/img_log-91d78d72.png);background-size:100% 100%}.content[data-v-fe79e3e5]{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:40px 0}.login[data-v-fe79e3e5]{width:450px;height:550px;padding:60px 40px;font-size:var(--ti-common-font-size-1);background:#fff;box-shadow:0 0 2px 2px var(--ti-common-color-bg-normal)}.login-header[data-v-fe79e3e5]{display:flex;flex-direction:column;align-items:center;justify-content:center}.login-logo[data-v-fe79e3e5]{margin-right:20px}.login-logo-img[data-v-fe79e3e5]{margin-right:10px;vertical-align:middle}.login-logo-text[data-v-fe79e3e5]{display:inline-block;color:#000000b3;font-weight:700;font-size:30px;vertical-align:middle}.login-desc[data-v-fe79e3e5]{margin-top:12px;margin-bottom:40px;color:#00000080;font-size:14px}[data-v-fe79e3e5] .tiny-link.is-underline:hover:after{border-bottom:none}@media (max-width: 360px){.login[data-v-fe79e3e5]{width:350px;height:550px}.login-logo-text[data-v-fe79e3e5]{font-size:15px}}
diff --git a/admin-website/src/main/resources/static/assets/index-409bc9f3.js b/admin-website/src/main/resources/static/assets/index-409bc9f3.js
deleted file mode 100644
index 7a31133..0000000
--- a/admin-website/src/main/resources/static/assets/index-409bc9f3.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as r,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const c={};function s(_,a){const e=o("router-view");return r(),t(e)}const m=n(c,[["render",s]]);export{m as default};
diff --git a/admin-website/src/main/resources/static/assets/index-4278f52e.js b/admin-website/src/main/resources/static/assets/index-4278f52e.js
deleted file mode 100644
index 2cfbea6..0000000
--- a/admin-website/src/main/resources/static/assets/index-4278f52e.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as _,y as t}from"./vue-fdfdc7c1.js";import{_ as c}from"./index-387d5142.js";const n={};function r(s,a){const e=o("router-view");return _(),t(e)}const i=c(n,[["render",r],["__scopeId","data-v-6e9a77c8"]]);export{i as default};
diff --git a/admin-website/src/main/resources/static/assets/index-4be14645.js b/admin-website/src/main/resources/static/assets/index-4be14645.js
deleted file mode 100644
index 3bcd202..0000000
--- a/admin-website/src/main/resources/static/assets/index-4be14645.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as e,u as t,v as o,a1 as s,w as n}from"./vue-fdfdc7c1.js";const a={class:"content"},c=n("div",null,"notfound",-1),_=[c],l=e({__name:"index",setup(d){return s(),(r,i)=>(t(),o("div",a,_))}});export{l as default};
diff --git a/admin-website/src/main/resources/static/assets/index-51ecf215.js b/admin-website/src/main/resources/static/assets/index-51ecf215.js
deleted file mode 100644
index bc1e829..0000000
--- a/admin-website/src/main/resources/static/assets/index-51ecf215.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import{s as It,an as W,al as Vt,ao as At,ap as ue,aq as Ie,ar as nt,e as Ve,y as x,z as Z,af as ge,as as Dt,J as ze,at as Ne,au as Be,aj as Mt,a6 as Ft,d as R,b as de,D as ye,A as me,av as rt,C as it,p as Q,a as U,$ as be,c as ve,aw as Lt,o as zt,f as Nt,ax as ot,ay as fe,az as Ce,j as re,i as at,I as Ae,B as De,Y as pe,a3 as st,a7 as ut,aA as dt,aB as ct,N as pt,aC as Bt,E as Pt}from"./index-387d5142.js";import{s as qt,d as se,a as Pe,r as qe,_ as ft,i as Ht,F as ht,R as gt}from"./index-10398010.js";import{F as He,T as yt,G as jt,I as Rt,J as Kt}from"./index-c544811c.js";import{u,v as f,w as b,k,I as M,L as q,l as $,z as C,y as O,B as _,D as E,E as w,A as y,P as S,G as N,H as T,T as Y,ad as ce,F as ee,Q as A,M as H,N as G,J as D,aa as te,V as he}from"./vue-fdfdc7c1.js";import{i as Me,a as mt}from"./chevron-up-775d40e5.js";var Wt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Gt=b("path",{class:"copy_svg__st0",d:"m21.5 5.6-5-5.1-.3-.3s-.1 0-.1-.1H16c-.2 0-.4-.1-.7-.1H7c-.9 0-2 1.1-2 2v1H4c-.9 0-2 1.1-2 2v17c0 .9 1.1 2 2 2h13c.9 0 2-1.1 2-2v-1h1c.9 0 2-1.1 2-2V7c0-.4-.2-1.1-.5-1.4zM16 3l3 3h-3V3zm1 19H4V5h1v14c0 .9 1.2 2 2 2h10v1zm3-3H7V2h7v4c0 .9 1.1 2 2 2h4v11zm-5-9c0-.6-.4-1-.8-1H9.9c-.5 0-.9.4-.9 1s.4 1 .8 1h4.3c.5 0 .9-.4.9-1zm3 3c0-.6-.4-1-.8-1H9.9c-.5 0-.8.4-.8 1s.4 1 .8 1h7.3c.4 0 .8-.4.8-1zm-1 3c0-.6-.4-1-.9-1H9.9c-.5 0-.9.4-.9 1s.4 1 .9 1h6.2c.5 0 .9-.4.9-1z"},null,-1),Qt=[Gt];function Ut(e,t){return u(),f("svg",Wt,[].concat(Qt))}var Yt={render:Ut},bt=function(){return It({name:"IconCopy",component:Yt})()};class Zt{constructor(t,l={}){if(t&&typeof t=="object"?l=t:t=[],typeof l.key!="string"||!l.key)throw new Error("Memorize Initialization error.");this._prefix="tiny_memorize_",this._customField1="frequency",this._customField2="time",this._sortBy=(l.sortBy||"frequency").toUpperCase(),this._sort=(l.sort||"desc").toUpperCase(),this._dataKey=l.dataKey||"value",this._highlightClass=l.highlightClass||"memorize-highlight",this._highlightNum=l.highlightNum||1/0,this._cacheNum=l.cacheNum||1/0,this._serialize=l.serialize||JSON.stringify,this._deserialize=l.deserialize||JSON.parse,this.setKey(l.key),this.assemble(t)}setKey(t){this._storeKey=this._prefix+(t||Number(new Date))}getValue(t=!0){const l=window.localStorage[this._storeKey]||"";if(l)try{const n=this._deserialize(l);return t?this.sort(n):n}catch{return[]}return[]}setValue(t){try{window.localStorage.setItem(this._storeKey,this._serialize(t))}catch{throw new Error("Memorize set localStorage error.")}}clear(){window.localStorage.removeItem(this._storeKey)}add(t){const l=this.getValue(!1),n={key:t};n[this._customField1]=1,n[this._customField2]=Number(new Date),l.length<this._cacheNum&&(l.push(n),this.setValue(l))}updateByKey(t){let l=!1;const n=this.getValue(!1);n.some(r=>r.key===t?(r[this._customField1]=(r[this._customField1]||0)+1,r[this._customField2]=Number(new Date),l=!0,!0):!1),l?this.setValue(n):this.add(t)}sort(t){return Array.isArray(t)?t.sort((l,n)=>{const r=this._sort==="DESC",i=r?[-1,1]:[1,-1],o=this._sortBy==="FREQUENCY"?this._customField1:this._customField2,s=l[o],a=n[o];return isNaN(s)?r?-1:1:isNaN(a)?-1:s>a?i[0]:i[1]}):t}assemble(t){const l=this.getValue(!0);if(!(Array.isArray(t)&&t.length)||!l.length)return t;let n=0;const r=i=>(o,s)=>o[this._dataKey]===i.key?(n++,t.splice(s,1),n<=this._highlightNum&&(o._highlightClass=this._highlightClass),t.unshift(o),!0):!1;for(let i=l.length-1;i>-1;i--){const o=l[i];t.some(r(o))}return t}}var Jt=Zt;const Xt=(e="")=>String(e).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"),xt=({select:e,state:t})=>(l,n)=>{if(t.isObject){const r=e.valueKey;return W(l,r)===W(n,r)}else return l===n},_t=({select:e,state:t})=>(l=[],n=null)=>{if(t.isObject){const r=e.valueKey;return l&&l.some(i=>W(i,r)===W(n,r))}else return l&&l.includes(n)},el=({state:e,vm:t})=>l=>{e.groupDisabled=l,t.groupDisabled=l},tl=({select:e,props:t,state:l})=>n=>{const r=n.target,i=r.textContent,o=window.getComputedStyle(r),s=o.font,d=r.getBoundingClientRect().width-parseInt(o.paddingLeft||0)-parseInt(o.paddingRight||0),p=Vt(i,s,d);l.showTitle=p.o,!t.disabled&&!l.groupDisabled&&!e.state.disabledOptionHover&&(e.state.hoverIndex=e.state.optionIndexArr.indexOf(l.index))},ll=({props:e,state:t,select:l,constants:n,vm:r})=>()=>{if(e.disabled!==!0&&t.groupDisabled!==!0){if(l.multiple&&e.required===!0)return;l.state.selectEmitter.emit(n.EVENT_NAME.handleOptionClick,r,!0)}},nl=({select:e,props:t,state:l})=>n=>{const r=l.visible,i=l.currentLabel.toLowerCase().includes(n.toLowerCase())||!!t.created;r!==i&&(l.visible=i,e.state.filteredOptionsCount+=i?1:-1)},vt=({props:e,vm:t,type:l})=>{const n=t.$refs.option;for(let r in e.events)n[l+"EventListener"](r,e.events[r])},rl=({select:e,props:t,constants:l,vm:n})=>()=>{e.multiple&&t.required&&e.state.selectEmitter.emit(l.EVENT_NAME.initValue,n)},il=({api:e,nextTick:t,state:l})=>n=>{const r=n.target.value;if(n.type==="compositionend"){l.isOnComposition=!1;const i=!1,o=!0;t(()=>e.handleQueryChange(r,i,o))}else{const i=r[r.length-1]||"";l.isOnComposition=!At(i)}},ol=({props:e,state:t,vm:l})=>n=>{if(!e.showOverflowTooltip)return;let r;if(!n)clearTimeout(t.tipTimer),t.tipTimer=setTimeout(()=>{t.showTip=t.tipHover},l.$refs.popover.closeDelay);else{if(e.multiple)r=l.$refs.tags.scrollHeight>l.$refs.tags.getBoundingClientRect().height;else{const i=l.$refs.reference.$el;r=i.querySelector("input").scrollWidth>i.scrollWidth}t.showTip=n&&r&&!!t.tips&&!t.visible}},al=({props:e,vm:t,constants:l,state:n})=>r=>{const{multiple:i,valueField:o,filterMethod:s,filterable:a,remote:d,remoteMethod:p}=e;if(a&&typeof s=="function"){const c=t.$refs.selectGrid.$refs.tinyTable,h=c.afterFullData;t.$refs.selectGrid.scrollTo(null,0),c.afterFullData=s(r,h)||[],t.$refs.selectGrid.handleTableData(!r).then(()=>n.selectEmitter.emit(l.EVENT_NAME.updatePopper)),n.previousQuery=r}else d&&typeof p=="function"&&(n.previousQuery=r,p(r,e.extraQueryParams).then(c=>{if(i){const h=n.selected.map(v=>v[o]);t.$refs.selectGrid.clearSelection(),t.$refs.selectGrid.setSelection(c.filter(v=>~h.indexOf(v[o])),!0),n.remoteData=c.filter(v=>!~h.indexOf(v[o])).concat(n.selected)}else t.$refs.selectGrid.clearRadioRow(),t.$refs.selectGrid.setRadioRow(ue(c,h=>e.modelValue===h[e.valueField])),n.remoteData=c;t.$refs.selectGrid.$refs.tinyTable.lastScrollTop=0,t.$refs.selectGrid.loadData(c),t.$refs.selectGrid.handleTableData(!r).then(()=>n.selectEmitter.emit(l.EVENT_NAME.updatePopper))}))},sl=({props:e,state:t,constants:l,api:n,nextTick:r})=>(i,o)=>{e.remote&&(typeof e.remoteMethod=="function"||typeof e.initQuery=="function")?(t.hoverIndex=-1,e.remoteMethod&&e.remoteMethod(i,e.extraQueryParams)):typeof e.filterMethod=="function"?(e.filterMethod(i),t.selectEmitter.emit(l.COMPONENT_NAME.OptionGroup,l.EVENT_NAME.queryChange)):n.queryChange(i,o),Ct(r,t,e),n.getOptionIndexArr(),t.magicKey=t.magicKey>0?-1:1},ul=({props:e,state:t,constants:l})=>(n,r)=>{if(e.optimization&&r){const i=t.initDatas.filter(o=>new RegExp(Xt(n),"i").test(o.label));t.datas=i}else t.selectEmitter.emit(l.EVENT_NAME.queryChange,n)},Ct=(e,t,l)=>{e(()=>{if(l.multiple&&l.showAlloption&&l.filterable&&t.query&&!l.remote){const n=t.options.filter(i=>i.state.visible&&i.state.itemSelected).map(i=>i.value),r=t.options.filter(i=>i.state.visible);n.length===r.length?t.filteredSelectCls="checked-sur":n.length===0?t.filteredSelectCls="check":t.filteredSelectCls="halfselect"}})},dl=({api:e,constants:t,nextTick:l,props:n,vm:r,state:i})=>(o,s=!1,a=!1)=>{if(!(i.previousQuery===o&&!s||i.isOnComposition)){if(i.previousQuery===null&&!s&&(typeof n.filterMethod=="function"||typeof n.remoteMethod=="function"||typeof n.initQuery=="function")){i.previousQuery=o;return}if(n.renderType===t.TYPE.Grid){e.gridOnQueryChange(o);return}n.renderType===t.TYPE.Tree&&(i.previousQuery=o,n.filterable&&typeof n.filterMethod=="function"&&r.$refs.selectTree&&r.$refs.selectTree.filter(o)),i.query=o,i.previousQuery=o,window.requestAnimationFrame(()=>{i.visible&&(i.selectEmitter.emit(t.EVENT_NAME.updatePopper),i.showWarper=!0)}),i.hoverIndex=-1,n.multiple&&n.filterable&&!n.shape&&l(()=>{const d=r.$refs.input.value.length*15+20;i.inputLength=i.collapseTags?Math.min(50,d):d,e.managePlaceholder(),e.resetInputHeight()}),n.renderType!==t.TYPE.Tree&&(i.triggerSearch=!0,e.defaultOnQueryChange(o,a))}},cl=({vm:e,constants:t})=>l=>{const n=Array.isArray(l)&&l[0]&&l[0].state?l[0].state.el:l.state?l.state.el:"";if(e.$refs.popper&&n){const r=e.$refs.popper.$el.querySelector(t.CLASS.SelectDropdownWrap);setTimeout(()=>qt(r,n))}e.$refs.scrollbar&&e.$refs.scrollbar.handleScroll()},pl=({api:e,nextTick:t,state:l,props:n})=>()=>{n.optimization||t(()=>e.scrollToOption(l.selected))},fl=({emit:e,props:t,state:l,constants:n})=>(r,i)=>{if(l.device==="mb"&&t.multiple&&!i)return;const o=(s,a,d,p)=>{if(n.TYPE.Tree===p){const c=h=>{s===h[t.valueField]&&d.push(h),s!==h[t.valueField]&&Array.isArray(h[l.childrenName])&&h[l.childrenName].forEach(c)};a.forEach(c)}else if(n.TYPE.Grid===p){for(let c=0;c<a.length;c++)if(s===a[c][t.valueField]){d.push(a[c]);break}}};if(!Ie(t.modelValue,l.compareValue))if(t.renderType===n.TYPE.Grid&&t.multiple){r=r||[];const s=l.gridData||[],a=[];r.forEach(d=>{o(d,s,a,n.TYPE.Grid)}),e("change",r,a)}else if(t.renderType===n.TYPE.Tree&&t.multiple){r=r||[];const s=l.treeData||[],a=[];r.forEach(d=>{o(d,s,a,n.TYPE.Tree)}),e("change",r,a)}else e("change",r)},hl=({emit:e,props:t,state:l})=>(n,r)=>{l.device==="mb"&&t.multiple||e("change",n,r)},gl=({props:e,state:t,api:l})=>n=>{let r;const i=Object.prototype.toString.call(n).toLowerCase()==="[object object]",o=Object.prototype.toString.call(n).toLowerCase()==="[object null]",s=Object.prototype.toString.call(n).toLowerCase()==="[object undefined]";for(let p=t.cachedOptions.length-1;p>=0;p--){const c=t.cachedOptions[p];if(i?W(c.value,e.valueKey)===W(n,e.valueKey):c.value===n){r=c;break}}if(r)return r;if(e.optimization){if(r=l.getSelectedOption(n),r)return{value:r.value,currentLabel:r.label||r.currentLabel};if(r=t.datas.find(p=>W(p,e.valueKey)===n),r)return{value:r.value,currentLabel:r.label||r.currentLabel}}const a=!i&&!o&&!s&&!e.clearNoMatchValue?n:"";let d={value:n,currentLabel:a};return e.multiple&&(d.hitState=!1),d},yl=({props:e,state:t})=>l=>{let n;return e.multiple?n=t.selected.find(r=>W(r,e.valueKey)===l):!nt(t.selected)&&W(t.selected,e.valueKey)===l&&(n=t.selected),n},ml=({api:e,props:t})=>{const l=e.getOption(t.modelValue)||{};return l.state||(l.state={}),l.created?(l.createdLabel=l.state.currentLabel,l.createdSelected=!0):l.createdSelected=!1,l.currentLabel||e.clearNoMatchValue(""),l},bl=({state:e,isGrid:t,isTree:l,api:n,props:r})=>{let i=[];const o=[];return Array.isArray(e.modelValue)&&e.modelValue.forEach(s=>{if(t||l){const a=n.getPluginOption(s,l);i=i.concat(a),r.clearNoMatchValue&&a.length&&o.push(s)}else{const a=n.getOption(s);(!r.clearNoMatchValue||r.clearNoMatchValue&&a.label)&&(i.push(a),o.push(s))}}),n.clearNoMatchValue(o),i},vl=({props:e,state:t,vm:l,isTree:n,api:r})=>{if(!e.modelValue){t.selectedLabel="",t.selected={},t.currentKey="",l.$refs.selectGrid&&l.$refs.selectGrid.clearRadioRow(),l.$refs.selectTree&&l.$refs.selectTree.setCurrentKey&&l.$refs.selectTree.setCurrentKey(null);return}const o=e.filterable&&e.remote&&(typeof e.remoteMethod=="function"||typeof e.initQuery=="function")?t.remoteData:n?r.getTreeData(t.treeData):t.gridData,s=ue(o,p=>e.modelValue===p[e.valueField]);if(nt(s)){r.clearNoMatchValue("");return}const a=Object.assign({},s),d=s[e.textField];a.currentLabel=d,t.selectedLabel=d,t.selected=a,t.currentKey=s[e.valueField]},Cl=({api:e,constants:t,nextTick:l,props:n,vm:r,state:i})=>()=>{const o=n.renderType===t.TYPE.Tree,s=n.renderType===t.TYPE.Grid;if(n.multiple){const a=bl({state:i,props:n,isGrid:s,isTree:o,api:e});i.selectCls=a.length?a.length===i.options.length?"checked-sur":"halfselect":"check",i.selected=a,r.$refs.selectTree&&r.$refs.selectTree.setCheckedNodes&&r.$refs.selectTree.setCheckedNodes(i.selected),i.tips=i.selected.map(d=>d.state?d.state.currentLabel:d.currentLabel).join(","),Ct(l,i,n),l(e.resetInputHeight)}else if(s||o)vl({props:n,state:i,vm:r,isTree:o,api:e});else{const a=ml({api:e,props:n});i.selected=a,i.selectedLabel=a.state.currentLabel||a.currentLabel,n.filterable&&!n.shape&&(i.query=i.selectedLabel)}},wl=({api:e,props:t,state:l})=>(n,r)=>{const i=t.filterable&&t.remote&&(typeof t.remoteMethod=="function"||typeof t.initQuery=="function"),{textField:o,valueField:s}=t,a=i?l.remoteData:r?e.getTreeData(l.treeData):l.gridData,d=ue(a,c=>c[s]===n),p=[];return d&&(d.currentLabel=d[o],p.push(d)),p},Tl=({api:e,state:t,props:l})=>n=>{let r=[];const i=t.options.filter(a=>!a.state.disabled&&!a.state.groupDisabled&&!a.required&&a.state.visible).map(a=>a.value);n?t.filteredSelectCls==="check"||t.filteredSelectCls==="halfselect"?r=[...new Set([...t.modelValue,...i])]:r=t.modelValue.filter(a=>!i.includes(a)):t.selectCls==="check"?r=i:t.selectCls==="halfselect"?t.options.filter(d=>!d.state.disabled&&d.state.selectCls==="check").length?r=i:r=[]:t.selectCls==="checked-sur"&&(r=[]);const o=t.options.filter(a=>a.required).map(a=>a.value),s=t.options.filter(a=>(a.state.disabled||a.state.groupDisabled)&&a.state.selectCls==="checked-sur").map(a=>a.value);r=[...r,...o,...s],e.setSoftFocus(),t.isSilentBlur=!0,e.updateModelValue(r),e.directEmitChange(r)},Sl=({emit:e,props:t,state:l})=>n=>{l.softFocus?(l.searchSingleCopy&&l.selectedLabel&&e("focus",n),l.softFocus=!1):((t.automaticDropdown||t.filterable)&&(l.visible=!0,l.softFocus=!0),e("focus",n))},kl=({vm:e,state:t})=>()=>{t.softFocus||e.$refs.reference.focus()},$l=({vm:e,state:t})=>()=>{t.visible=!1,e.$refs.reference.blur()},Ol=({constants:e,dispatch:t,emit:l,state:n,designConfig:r})=>i=>{var o;clearTimeout(n.timer),n.timer=setTimeout(()=>{var s;n.isSilentBlur?n.isSilentBlur=!1:l("blur",i),(s=r==null?void 0:r.state)!=null&&s.delayBlur&&t(e.COMPONENT_NAME.FormItem,e.EVENT_NAME.formBlur,i.target.value)},200),(o=r==null?void 0:r.state)!=null&&o.delayBlur||t(e.COMPONENT_NAME.FormItem,e.EVENT_NAME.formBlur,i.target.value),n.softFocus=!1},El=e=>t=>{e.deleteSelected(t)},Il=e=>()=>{var t;(t=e==null?void 0:e.$refs)!=null&&t.popper&&e.$refs.popper.doDestroy()},Vl=e=>()=>{e.visible=!1},Al=({state:e})=>t=>{if(!Array.isArray(e.selected))return;const l=e.selected[e.selected.length-1];if(!l)return;if(l.required)return!0;const n=l.state||l;return t===!0||t===!1?(n.hitState=t,t):(n.hitState=!n.hitState,n.hitState)},Dl=({api:e,constants:t,props:l,state:n,vm:r})=>i=>{if(i.target.value.length<=0&&!e.toggleLastOptionHitState()){const o=n.modelValue.slice();if(o.pop(),n.compareValue=se(o),e.updateModelValue(o),e.emitChange(o),l.renderType===t.TYPE.Grid){const s=n.selected.slice().filter(a=>o.includes(a[l.valueField]));r.$refs.selectGrid.clearSelection(),r.$refs.selectGrid.setSelection(s,!0)}}},Ml=({vm:e,state:t})=>()=>{t.currentPlaceholder!==""&&(t.currentPlaceholder=e.$refs.input.value?"":t.cachedPlaceHolder)},Fl=({api:e,vm:t,state:l})=>n=>{n.keyCode!==8&&e.toggleLastOptionHitState(!1),l.inputLength=t.$refs.input.value.length*15+20,e.resetInputHeight()},Ll=({constants:e,nextTick:t,props:l,vm:n,state:r,api:i,designConfig:o})=>()=>{r.collapseTags&&!l.filterable||t(()=>{var s;if(!n.$refs.reference)return;let a=n.$refs.reference.type==="text"&&n.$refs.reference.$el.querySelector("input");const d=n.$refs.tags,p=n.$refs.reference.$el.querySelector("span.tiny-select__limit-txt");if(!a)return;!r.isDisplayOnly&&(l.hoverExpand||l.clickExpand)&&!l.disabled&&i.calcCollapseTags();const c=(o==null?void 0:o.state.initialInputHeight)||r.initialInputHeight||(r.isSaaSTheme?28:30),h=r.selected.length===0,v=o?(s=o.state)==null?void 0:s.spacingHeight:e.SPACING_HEIGHT;if(r.isDisplayOnly?a.style.height="auto":!h&&d?He.measure(()=>{const I=d.clientHeight;He.mutate(()=>{a.style.height=Math.max(I+v,c)+"px"})}):a.style.height=h?c+"px":Math.max(0,c)+"px",p&&l.multipleLimit){const{width:I,marginLeft:F,marginRight:L}=getComputedStyle(p);n.$refs.tags.style.paddingRight=`${Math.ceil(parseFloat(I)+parseFloat(F)+parseFloat(L))}px`}r.visible&&r.emptyText!==!1&&r.selectEmitter.emit(e.EVENT_NAME.updatePopper,!0)})},zl=({props:e,state:t})=>()=>{e.showOverflowTooltip?e.multiple?t.selected.length>0?t.hoverIndex=Math.min.apply(null,t.selected.map(l=>t.options.indexOf(l))):t.hoverIndex=-1:t.hoverIndex=t.options.indexOf(t.selected):t.hoverIndex=-1},Nl=({props:e,state:t})=>()=>{e.optimization&&!e.remote&&!e.filterMethod&&(t.datas=t.initDatas)},Bl=({api:e,nextTick:t,props:l,vm:n,state:r})=>(i,o)=>{if(r.memorize&&r.memorize.updateByKey(i[r.memorize._dataKey]||i.value),l.multiple){const s=(r.modelValue||[]).slice(),a=e.getValueIndex(s,i.value);a>-1?s.splice(a,1):(r.multipleLimit<=0||s.length<r.multipleLimit)&&s.push(i.value),r.compareValue=se(s),e.updateModelValue(s),e.emitChange(s),i.created&&(r.query="",e.handleQueryChange("",!1,!0),r.inputLength=20),l.filterable&&n.$refs.input.focus(),l.autoClose&&(r.visible=!1)}else r.compareValue=se(i.value),e.updateModelValue(i.value),e.emitChange(i.value),i.created&&(r.createdSelected=!0,r.createdLabel=i.value),r.visible=!1;r.isSilentBlur=o,e.setSoftFocus(),!r.visible&&t(()=>{e.scrollToOption(i)})},Pl=({state:e})=>t=>{!e.initValue.find(n=>n===t.value)&&e.initValue.push(t.value)},ql=({vm:e,state:t})=>()=>{t.softFocus=!0;const l=e.$refs.input||e.$refs.reference;l&&l.focus(),t.softFocus=!1},Hl=e=>(t=[],l=null)=>{if(Object.prototype.toString.call(l).toLowerCase()==="[object object]"){const r=e.valueKey;let i=-1;return t.some((o,s)=>W(o,r)===W(l,r)?(i=s,!0):!1),i}else return t.indexOf(l)},jl=({vm:e,state:t,props:l,api:n})=>r=>{if(l.keepFocus&&t.visible&&l.filterable)return;const i=r||window.event,o=13,s=i.target&&i.target.nodeName,a=l.ignoreEnter?i.keyCode!==o&&s==="INPUT":!0;if(l.displayOnly||i.stopPropagation(),!t.selectDisabled&&(a&&!t.softFocus&&(t.visible=!t.visible),t.softFocus=!1,t.visible&&!(l.filterable&&l.shape))){const d=e.$refs.input||e.$refs.reference;d!=null&&d.focus&&d.focus(),n.setOptionHighlight()}},Rl=({api:e,state:t,props:l})=>n=>{if(!t.visible||l.hideDrop)e.toggleMenu(n);else{let r="";t.query||l.remote?r=t.options.find(i=>i.state.index===t.hoverValue):r=t.options[t.hoverIndex],r&&e.handleOptionSelect(r)}},Kl=({api:e,constants:t,emit:l,props:n,vm:r,state:i})=>o=>{o&&o.stopPropagation();let s=[];if(n.multiple){const d=i.options.filter(p=>p.required&&p.value);s=i.modelValue.slice().filter(p=>d.find(c=>c.value===p))}const a=n.multiple?s:"";n.renderType===t.TYPE.Tree?(i.selected={},i.selectedLabel="",r.$refs.selectTree.state.currentRadio.value=null,r.$refs.selectTree.setCurrentKey(null)):n.renderType===t.TYPE.Grid&&(i.selected={},i.selectedLabel="",r.$refs.selectGrid.clearRadioRow()),i.showTip=!1,i.compareValue=se(a),e.updateModelValue(a,!0),e.emitChange(a,!0),i.visible=!1,l("clear")},Wl=({api:e,constants:t,emit:l,props:n,state:r,nextTick:i,vm:o})=>(s,a)=>{if(a.required)return;const d=n.renderType===t.TYPE.Tree,p=r.selected.indexOf(a),c=[],h=[a[n.valueField]];if(d&&!n.treeOp.checkStrictly){let v=o.$refs.selectTree.getNode(a[n.valueField]);for(v.isLeaf||h.push(...e.getChildValue(v.childNodes,n.valueField));v.parent&&!Array.isArray(v.parent.data);)v.parent.data&&h.push(v.parent.data[n.valueField]),v=v.parent;r.selected.slice().map(I=>!h.includes(I[n.valueField])&&c.push(I[n.valueField]))}if(p>-1&&!r.selectDisabled){const v=r.modelValue.slice();if(v.splice(p,1),n.renderType===t.TYPE.Tree)n.treeOp.checkStrictly&&c.push(...v),o.$refs.selectTree.setCheckedKeys(c);else if(n.renderType===t.TYPE.Grid){const I=r.selected.slice().filter(F=>v.includes(F[n.valueField]));o.$refs.selectGrid.clearSelection(),o.$refs.selectGrid.setSelection(I,!0)}r.compareValue=se(v),e.updateModelValue(d?c:v),e.emitChange(v),l(t.EVENT_NAME.removeTag,a[n.valueField]),i(()=>r.key++)}s&&s.stopPropagation()},Gl=({api:e,props:t,state:l,constants:n,nextTick:r})=>()=>{t.delay?e.debouncRquest():t.filterable&&l.query!==l.selectedLabel&&(l.query=l.selectedLabel,e.handleQueryChange(l.query,!1,!0),r(()=>{l.selectEmitter.emit(n.EVENT_NAME.updatePopper)})),r(()=>{l.selectEmitter.emit(n.EVENT_NAME.updatePopper)})},Ql=e=>t=>{t>-1&&(e.optionsCount--,e.filteredOptionsCount--,e.options.splice(t,1))},Ul=({vm:e,state:t})=>()=>{e.$refs.reference&&e.$refs.reference.$el&&(t.inputWidth=e.$refs.reference.$el.getBoundingClientRect().width)},Yl=({api:e,props:t,state:l})=>()=>{e.resetInputWidth(),t.multiple&&!l.isDisplayOnly&&e.resetInputHeight()},Zl=e=>()=>{for(let t=0;t<e.options.length;++t){const l=e.options[t];if(!l.disabled&&!l.groupDisabled&&!l.state.created&&l.state.visible&&l.state.itemSelected){e.hoverIndex=t;break}}},Jl=e=>()=>{e.hoverIndex=-1;let t=!1;const l=e.options.filter(n=>n.visible&&n.state.visible);for(let n=l.length-1;n>=0;n--)if(l[n].created){t=!0,e.hoverIndex=n,e.hoverValue=e.optionIndexArr[n];break}if(!t)for(let n=0;n<l.length;n++){const r=l[n];if(e.query){if(!r.disabled&&!r.groupDisabled&&r.state.visible&&r.visible){e.hoverIndex=n,e.hoverValue=e.optionIndexArr[n];break}}else if(r.itemSelected){e.hoverIndex=n,e.hoverValue=e.optionIndexArr[n];break}}},Xl=e=>t=>{if(t)return Object.prototype.toString.call(t.value).toLowerCase()!=="[object object]"?t.value||t[e.valueField]:W(t.value,e.valueKey)},xl=({api:e,state:t,props:l,nextTick:n})=>r=>{const{optimization:i}=l;if(i)return;const o=t.options.filter(s=>s.visible&&s.state.visible).length;if(!t.visible){t.visible=!0;return}if(!(o===0||t.filteredOptionsCount===0)&&(t.disabledOptionHover=!0,setTimeout(()=>{t.disabledOptionHover=!1},100),(t.hoverIndex<-1||t.hoverIndex>=o)&&(t.hoverIndex=0),!t.optionsAllDisabled)){r==="next"?(t.hoverIndex++,t.hoverIndex===o&&(t.hoverIndex=0)):r==="prev"&&(t.hoverIndex--,t.hoverIndex<0&&(t.hoverIndex=o-1));let s={};t.hoverValue=t.optionIndexArr[t.hoverIndex],t.query||l.remote?s=t.options.find(a=>a.state.index===t.hoverValue):s=t.options[t.hoverIndex],(s.disabled===!0||s.groupDisabled===!0||!s.state.visible||s.state.limitReached)&&e.navigateOptions(r),n(()=>e.scrollToOption(t.hoverIndex===-9?{}:s||{}))}},_l=({props:e,state:t})=>()=>e.optimization?e.allowCreate?t.query===""&&t.datas.length===0:t.datas.length===0:t.options.length===0,en=({state:e,props:t,recycle:l})=>()=>{const{ITEM_HEIGHT:n,SAFE_MARGIN:r,SAAS_HEIGHT:i,AURORA_HEIGHT:o}=l;let s=e.datas.length;return e.showNewOption&&(s+=1),s===0||t.loading?0:s<6?s*n+(e.isSaaSTheme?r*2:0):e.isSaaSTheme?i:o},tn=({I18N:e,props:t,state:l,t:n,isMobileFirstMode:r})=>()=>t.loading?t.loadingText||n(e.loading):t.remote&&l.query===""&&t.renderType?ln(t,l):t.remote&&l.query===""&&l.emptyFlag&&!l.triggerSearch?t.shape==="filter"||r?"":!1:t.filterable&&l.query&&(t.remote&&l.emptyFlag||!l.options.some(i=>i.visible&&i.state.visible))?t.noMatchText||n(e.noMatch):l.emptyFlag?t.noDataText||n(e.noData):null,ln=function(e,t){return e.multiple?t.selected.length>0||t.remoteData.length>=0:t.selected[e.valueField]||t.remoteData.length>=0},nn=({api:e,constants:t,dispatch:l,props:n,vm:r,state:i})=>(o,s)=>{n.multiple&&(e.resetInputHeight(),o&&o.length>0||r.$refs.input&&i.query!==""?i.currentPlaceholder="":i.currentPlaceholder=i.cachedPlaceHolder,n.filterable&&!n.reserveKeyword&&n.renderType!==t.TYPE.Grid&&!n.searchable&&(i.query="")),e.setSelected(),!i.isClickChoose&&e.initQuery({init:!0}).then(()=>e.setSelected()),i.isClickChoose=!1,n.filterable&&!n.multiple&&(i.inputLength=20),i.completed&&!Ie(o,s)&&l(t.COMPONENT_NAME.FormItem,t.EVENT_NAME.formChange,o),n.optimization&&J.setValueIndex({props:n,state:i})},rn=({vm:e,props:t,state:l})=>n=>{if(t.multiple&&t.showOverflowTooltip){l.overflow=!1;const r=e.$refs.tags,i=r.querySelectorAll('[data-tag="tiny-tag"]');if(i.length){r.scrollTo&&r.scrollTo({top:0});let{x:a,width:d}=i[0].getBoundingClientRect();if(d>=r.getBoundingClientRect().width)l.overflow=0;else for(let p=1;p<i.length;p++)if(i[p].getBoundingClientRect().x===a){l.overflow=p-1;break}}e.$refs.select.style.height=e.$refs.select.style.height||n,e.$refs.reference.$el.style.position="absolute";const o=e.$refs.select.getBoundingClientRect().width,s=l.visible?"absolute":"";l.selectFiexd={height:n,position:s,width:o+"px",zIndex:Ve.nextZIndex()},l.inputWidth=o}},on=({props:e,state:t,constants:l})=>{e.multiple||t.selected&&(e.renderType===l.TYPE.Grid||e.renderType===l.TYPE.Tree?t.selectedLabel=t.selected.currentLabel:(e.filterable&&e.allowCreate&&t.createdSelected&&t.createdLabel?t.selectedLabel=t.createdLabel:t.selectedLabel=t.selected.state.currentLabel||t.selected.currentLabel,e.filterable&&(t.query=t.selectedLabel)),e.filterable&&(t.currentPlaceholder=t.cachedPlaceHolder))},an=({constants:e,state:t,props:l,vm:n,api:r,nextTick:i})=>()=>{t.selectEmitter.emit(e.EVENT_NAME.destroyPopper),l.remote&&l.dropOnlySearch&&(t.showWarper=!1),n.$refs.input&&n.$refs.input.blur(),t.query="",t.selectedLabel="",t.inputLength=20,t.previousQuery!==t.query&&r.initQuery().then(()=>r.setSelected()),l.renderType!==e.TYPE.Tree&&(t.previousQuery=null),r.resetHoverIndex(),r.resetDatas(),i(()=>{n.$refs.input&&n.$refs.input.value===""&&t.selected.length===0&&(t.currentPlaceholder=t.cachedPlaceHolder),n.$refs.selectGrid&&n.$refs.selectGrid.clearScroll()}),on({props:l,state:t,constants:e})},sn=({constants:e,state:t,props:l,vm:n,api:r})=>()=>{const{filterable:i,remote:o,remoteConfig:s,shape:a,renderType:d,multiple:p,valueField:c}=l;if(t.selectEmitter.emit(e.COMPONENT_NAME.SelectDropdown,e.EVENT_NAME.updatePopper),i){t.query=o||a?"":d!==e.TYPE.Tree?t.selectedLabel:"";const h=o&&s.autoSearch&&(t.firstAutoSearch||s.clearData);t.firstAutoSearch=!1,r.handleQueryChange(t.query,h),p?n.$refs.input.focus():(o||(t.selectEmitter.emit(e.EVENT_NAME.queryChange,""),t.selectEmitter.emit(e.COMPONENT_NAME.OptionGroup,e.EVENT_NAME.queryChange)),t.selectedLabel&&!a&&(t.currentPlaceholder=t.selectedLabel,t.selectedLabel=""))}if(n.$refs.selectGrid){let{fullData:h}=n.$refs.selectGrid.getTableData();if(p){const v=t.selected.map(I=>I[c]);n.$refs.selectGrid.clearSelection(),n.$refs.selectGrid.setSelection(h.filter(I=>~v.indexOf(I[c])),!0)}else n.$refs.selectGrid.clearRadioRow(),n.$refs.selectGrid.setRadioRow(ue(h,v=>l.modelValue===v[c]));i&&typeof l.filterMethod=="function"?n.$refs.selectGrid.handleTableData(!0):i&&o&&(typeof l.remoteMethod=="function"||typeof l.initQuery=="function")&&n.$refs.selectGrid.handleTableData()}},un=({api:e,constants:t,emit:l,state:n,vm:r,props:i})=>o=>{(i.filterable||i.remote)&&!o&&r.$refs.reference.blur(),!e.onCopying()&&(o&&i.multiple&&n.device==="mb"&&(n.selectedCopy=n.selected.slice()),setTimeout(()=>{!o&&!n.selectedLabel&&n.cachedOptions.forEach(s=>{s.state.visible=!0})},200),o?e.toHide():e.toVisible(),l(t.EVENT_NAME.visibleChange,o),setTimeout(()=>{n.selectEmitter.emit(t.EVENT_NAME.updatePopper),o&&r.$refs.scrollbar&&(i.optimization?(J.setScrollTop({refs:r.$refs,state:n}),r.$refs.scrollbar.updateVisibleItems(!0,!0)):r.$refs.scrollbar.handleScroll())},i.updateDelay),!o&&i.shape==="filter"&&(n.softFocus=!1))},dn=({api:e,constants:t,nextTick:l,parent:n,props:r,state:i})=>()=>{typeof window>"u"||(l(()=>{i.selectEmitter.emit(t.EVENT_NAME.updatePopper)}),r.multiple&&e.resetInputHeight(),l(()=>{n.$el.querySelector("input")!==document.activeElement&&e.setSelected()}),e.getOptionIndexArr())},cn=({props:e,state:t,api:l})=>()=>{setTimeout(()=>{t.optionIndexArr=l.queryVisibleOptions().map(n=>Number(n.getAttribute("data-index"))),e.defaultFirstOption&&(e.filterable||e.remote)&&t.filteredOptionsCount&&(e.optimization?J.checkDefaultFirstOption({state:t}):l.checkDefaultFirstOption())})},pn=({props:e,vm:t,isMobileFirstMode:l})=>()=>e.optimization?J.queryVisibleOptions(t,l):t.$refs.scrollbar?Array.from(t.$refs.scrollbar.$el.querySelectorAll('[data-index]:not([style*="display: none"])')):[],fn=({parent:e,props:t,state:l})=>()=>{const n=document.createElement("input");n.style.height=0,n.style.border="none",n.style.position="absolute",e.$el.appendChild(n),n.value=l.selected.map(r=>r.state?r.state.currentLabel:r.currentLabel).join(t.textSplit),n.select(),document.execCommand("copy"),e.$el.removeChild(n)},hn=({props:e,state:t,api:l})=>({$table:n,selection:r,checked:i,row:o})=>{const{textField:s,valueField:a}=e,d=c=>{const h=ue(t.selected,v=>v[a]===c[a]);h&&t.selected.splice(t.selected.indexOf(h),1)};o?i?t.selected.push(x(Z({},o),{value:o[a],currentLabel:o[s]})):d(o):i?t.selected=t.selected.concat(r.filter(c=>!~t.modelValue.indexOf(c[a]))):n.tableFullData.forEach(c=>d(c));const p=t.selected.map(c=>c[a]);l.updateModelValue(p),l.directEmitChange(p,t.selected)},gn=({props:e,state:t})=>()=>{const l=[];return Array.isArray(t.selected)?(t.selected.length>0&&t.selected.forEach(n=>{l.push(n[e.valueField])}),l):e.modelValue?[e.modelValue]:[t.selected[e.valueField]]},yn=({props:e,state:t,api:l,vm:n})=>({row:r})=>{r.value=r[e.valueField],r.currentLabel=r[e.textField],!t.hasClearSelection&&n.$refs.selectGrid.clearSelection(),t.hasClearSelection=!0,t.selected=r,t.visible=!1,t.currentKey=r[e.valueField],l.updateModelValue(r.value),l.directEmitChange(r)},mn=(e,t)=>l=>{const n=[],r=(i,o)=>{i.forEach(s=>{s.pId=o,n.push(s),s[t.childrenName]&&s[t.childrenName].length>0&&r(s[t.childrenName],s[e.valueField])})};return r(l,null),n},bn=({props:e,state:t,api:l,vm:n})=>r=>{if(!e.multiple)r.currentLabel=r[e.textField],r.value=r[e.valueField],t.selected=r,t.visible=!1,l.updateModelValue(r.value),l.directEmitChange(r);else if(e.treeOp.checkOnClickNode){const i=n.$refs.selectTree.getCheckedNodes(),o=n.$refs.selectTree.getCheckedKeys();l.nodeCheckClick(r,{checkedNodes:i,checkedKeys:o})}},vn=({props:e,state:t,api:l})=>(n,{checkedKeys:r,checkedNodes:i})=>{const o=t.selected.map(s=>l.getValueKey(s));Ie(o,r)||(t.selected=i.filter(s=>{s.currentLabel=s[e.textField],s.value=s[e.valueField]}),l.updateModelValue(r),l.directEmitChange(r,i))},Cn=({state:e,constants:t})=>()=>{setTimeout(()=>{e.selectEmitter.emit(t.EVENT_NAME.updatePopper)},310)},wn=({state:e,constants:t})=>()=>{setTimeout(()=>{e.selectEmitter.emit(t.EVENT_NAME.updatePopper)},310)},Tn=({api:e,state:t,props:l})=>ge(l.delay,()=>{l.filterable&&t.query!==t.selectedLabel&&(t.query=t.selectedLabel,e.handleQueryChange(t.query,!1,!0))}),Sn=()=>(e,t)=>{const l=[],n=r=>{r.forEach(i=>{l.push(i.data[t]),i.childNodes.length>0&&n(i.childNodes)})};return n(e),l},kn=({constants:e,parent:t,props:l,state:n})=>()=>{const r=l.renderType,{key:i,parentKey:o}=l.treeOp,s={dataset:l.options||l.dataset,service:t.$service,tree:{key:i,parentKey:o}};Dt(s).then(a=>{if(r===e.TYPE.Tree)n.treeData=a;else if(r===e.TYPE.Grid)n.gridData=a;else{let d=a.slice();if(l.multiple){const p=[];d=d.filter(c=>c.required?(p.push(c),!1):!0),d=p.concat(d)}l.cacheOp&&l.cacheOp.key?(n.memorize=new Jt(l.cacheOp),n.datas=n.memorize.assemble(d.slice())):(n.datas=d,n.initDatas=d)}})},$n=({props:e,state:t})=>()=>{const l=t.gridCheckedData,n=e.selectConfig;return Object.assign({},n,{checkRowKeys:l})},On=({props:e,state:t})=>()=>{const l=t.currentKey,n=!0,r=e.radioConfig;return Object.assign({},r,{checkRowKey:l,highlight:n})},En=({state:e})=>()=>{e.inputHovering=!0,e.searchSingleCopy&&e.selectedLabel&&(e.softFocus=!0)},In=({state:e})=>t=>{t.target!==t.currentTarget&&(e.inputHovering=!1,e.searchSingleCopy&&e.selectedLabel&&(e.softFocus=!1))},Vn=({state:e,vm:t})=>()=>e.searchSingleCopy&&e.selectedLabel&&t.$refs.reference&&t.$refs.reference.hasSelection&&t.$refs.reference.hasSelection(),An=({state:e})=>t=>{t===-1||t===-9?e.hoverValue=-1:e.hoverValue=e.optionIndexArr[t]},Dn=({vm:e,state:t,props:l,emit:n})=>r=>{l.allowCopy&&e.$refs.reference&&(e.$refs.reference.$el.querySelector("input").selectionEnd=0),t.softFocus=!1,n("dropdown-click",r)},Mn=({state:e})=>(t,l)=>{const n=t.target;n&&n.scrollWidth>n.offsetWidth&&(e.tooltipContent=x(Z({},e.tooltipContent),{[l]:n.innerText}))},Fn=({state:e,vm:t,props:l})=>()=>{if(e.inputHovering&&!l.clickExpand)return e.isHidden=!0;const n=t.$refs.tags,r=n&&n.querySelector('[data-tag="tags-collapse"]');if(!r||!n)return;const{width:i,paddingLeft:o,paddingRight:s}=window.getComputedStyle(n),a=parseFloat(i)-parseFloat(o)-parseFloat(s),{width:d,marginRight:p}=r&&window.getComputedStyle(r),c=r&&parseFloat(d)+parseFloat(p),h=Array.from(n.querySelectorAll('[data-tag="tiny-tag"]'));let[v,I,F,L]=[null,0,0,0];for(let K=0;K<l.maxVisibleRows;K++){F=0;let B=0;for(L;L<h.length;L++){const V=h[L];if(V!==r){const{width:z,marginRight:m,marginLeft:P}=V&&window.getComputedStyle(V);B=parseFloat(z)+parseFloat(m)+parseFloat(P),F+=B}if(V!==r&&F>a){!v&&K===l.maxVisibleRows-1&&(F-B+c<a?(v=V,I=L):(v=h[L-1],I=L-1));break}}if(L===h.length-1)break}if(I===0)return e.exceedMaxVisibleRow=!1,e.showCollapseTag=!1,e.isHidden=!0;v?(v.before(r),e.isHidden=!1):e.isHidden=!0,e.collapseTagsLength=h.length-I,e.exceedMaxVisibleRow=!0,e.toHideIndex=I},Ln=({vm:e})=>t=>{const[l,n]=t;if(!l&&!n){const r=e.$refs.tags,i=e.$refs["tags-content"];r&&i&&r.scrollTo({top:i})}},zn=({props:e,state:t,constants:l,vm:n})=>({init:r}={})=>{const i=e.filterable&&e.remote&&(typeof e.remoteMethod=="function"||typeof e.initQuery=="function"),o=e.renderType===l.TYPE.Grid;let s;if(i&&o&&e.initQuery){let a=e.initQuery(e.modelValue,e.extraQueryParams,!!r);if(a.then)return new Promise(d=>{a.then(p=>{t.remoteData=p,n.$refs.selectGrid.loadData(p),d(p)})});s=a,t.remoteData=s,n.$refs.selectGrid.loadData(s)}return Promise.resolve(s)},Nn=({api:e,parent:t,state:l,props:n,vm:r,designConfig:i})=>()=>{var o;l.defaultCheckedKeys=l.gridCheckedData;const s=t.$el,a=s.querySelector('input[data-tag="tiny-input-inner"]'),d=a&&a.getBoundingClientRect()||{};a===document.activeElement&&document.activeElement.blur(),l.completed=!0;const p={default:28,mini:24,small:32,medium:40},c=((o=i==null?void 0:i.state)==null?void 0:o.sizeMap)||p;n.multiple&&Array.isArray(n.modelValue)&&n.modelValue.length>0&&(l.currentPlaceholder=""),l.initialInputHeight=l.isDisplayOnly?c[l.selectSize||"default"]:d.height||c[l.selectSize],Pe(s,e.handleResize),r.$refs.tags&&Pe(r.$refs.tags,e.resetInputHeight),n.remote&&n.multiple&&e.resetInputHeight(),l.inputWidth=d.width,e.initQuery({init:!0}).then(()=>e.setSelected()),n.dataset&&e.watchPropsOption()},Bn=({api:e,parent:t,vm:l,state:n})=>()=>{t.$el&&e.handleResize&&qe(t.$el,e.handleResize),l.$refs.tags&&qe(l.$refs.tags,e.resetInputHeight),n.popperElm=null},J={exist:(e,t)=>t?Array.isArray(e)&&e.length:e,getValueIndex:e=>{const{options:t,valueField:l,modelValue:n,multiple:r}=e,i=(a,d)=>Array.isArray(d)&&~d.indexOf(a),o=(a,d)=>r?i(d[l],[a]):d[l]===a;let s=0;if(J.exist(n,r)&&t){const a=r?n[n.length-1]:n;for(let d=0;d<t.length;d++)if(o(a,t[d]))return d}return s},queryVisibleOptions:(e,t)=>{const l=t?".cursor-not-allowed":".is-disabled";return Array.from(e.$refs.scrollbar.$el.querySelectorAll('.tiny-recycle-scroller__slot, .tiny-recycle-scroller__item-view:not([style*="transform: translateY(-9999px) translateX(0px)"])')).map(n=>n.querySelector(`[data-tag="tiny-select-dropdown-item"]:not(${l})`)).filter(n=>n)},setScrollTop:({refs:e,state:t})=>{const{optimizeStore:l}=t;e.scrollbar.scrollToItem(l.valueIndex)},setValueIndex:({props:e,state:t})=>{t.optimizeStore.valueIndex=J.getValueIndex(e)},natural:e=>e<0?0:e,checkDefaultFirstOption:({state:e})=>{e.hoverIndex=0,e.hoverValue=e.optionIndexArr[0]}},Pn=({props:e,designConfig:t})=>()=>{const{optimization:l}=e,n=t!=null&&t.baseOpts?t.baseOpts:{gt:20,rSize:10,optionHeight:30,limit:20};let r;if(l)return typeof l=="boolean"?r=ze(!0,{},n):r=ze(!0,{},n,l),r},qn=({props:e,state:t})=>()=>{const{optimizeOpts:l,optimizeStore:n}=t;l&&e.optimization&&(n.valueIndex=J.getValueIndex(e))},Hn=e=>()=>e.collapseTags,jn=({props:e,state:t})=>()=>{const{multipleLimit:l,multiple:n,optimization:r}=e,{optimizeOpts:i}=t;return J.natural(n&&r?l||i.limit:l)},Rn=({props:e,emit:t,state:l})=>(n,r)=>{l.isClickChoose=!0,l.device==="mb"&&e.multiple&&!r?l.modelValue=n:t("update:modelValue",n)},Kn=({props:e,state:t})=>l=>{const n=t.datas,r=l.state?l.state.currentValue:l.value,i=n.find(s=>s.value===r),o=x(Z({},i),{label:l.state?l.state.currentLabel:l.currentLabel,value:r});return["grid","tree"].includes(e.renderType)?l:o},Wn=({props:e,parent:t,state:l,vm:n})=>()=>{let i={"max-width":e.disabled||(t.form||{}).disabled||e.displayOnly?"":l.inputWidth-l.inputPaddingRight+"px",width:"100%"};if((e.clickExpand&&!l.exceedMaxVisibleRow||l.visible)&&Object.assign(i,{height:"auto"}),e.clickExpand&&l.exceedMaxVisibleRow&&!l.showCollapseTag){const o=n.$refs.tags,{paddingTop:s,paddingBottom:a}=window.getComputedStyle(o),d=parseFloat(s)+parseFloat(a),p=o==null?void 0:o.querySelector('[data-tag="tiny-tag"]');if(p){const{height:c,marginTop:h,marginBottom:v}=window.getComputedStyle(p),I=(parseFloat(c)+parseFloat(h)+parseFloat(v))*e.maxVisibleRows;Object.assign(i,{height:`${I+d}px`})}}return i},Gn=({props:e,state:t})=>()=>t.device==="mb"||e.readonly||!e.filterable||e.multiple||Ne.name!==Be.IE&&Ne.name!==Be.Edge&&!t.visible,Qn=({props:e,state:t})=>()=>e.clearable&&!t.selectDisabled&&(t.inputHovering||e.multiple&&t.visible)&&(e.multiple?Array.isArray(e.modelValue)&&e.modelValue.length>0:!Mt(e.modelValue)&&e.modelValue!==""),Un=e=>()=>e.selectSize,Yn=({props:e,state:t})=>()=>{const l=t.device==="mb"?t.queryValue:t.query;return e.filterable&&e.allowCreate&&l&&!t.options.filter(n=>!n.created).some(n=>n.state.currentLabel===t.query)},Zn=({props:e,state:t})=>()=>e.multiple&&e.copyable&&t.inputHovering&&t.selected.length,Jn=e=>()=>e.options.filter(t=>t.visible).every(t=>t.disabled),Xn=e=>()=>e.selected.map(t=>t.state?t.state.currentLabel:t.currentLabel).join(";"),xn=({props:e,parent:t})=>()=>e.disabled||(t.form||{}).disabled||e.displayOnly||(t.form||{}).displayOnly,_n=({props:e,state:t})=>()=>{const l=(t.selectHover||t.visible)&&e.hoverExpand&&!e.disabled,n=e.clickExpand&&t.exceedMaxVisibleRow&&t.showCollapseTag;return l||n},er=e=>()=>{const{defaultExpandAll:t,lazy:l}=e.treeOp;return!l&&t!==!1},tr=({state:e,vm:t,props:l,api:n})=>({data:r=[],init:i=!1})=>{const o=(s,a=[])=>{s.forEach(({data:d,childNodes:p})=>{let c=x(Z({},d),{[e.childrenName]:[]});p&&p.length&&o(p,c[e.childrenName]),a.push(c)})};if(i)e.treeData=r;else if(t.$refs.selectTree){const s=[];o(t.$refs.selectTree.state.root.childNodes,s),e.treeData=s;const{multiple:a,treeOp:d}=l;if(a&&d.lazy){const p=t.$refs.selectTree.getCheckedNodes(),c=t.$refs.selectTree.getCheckedKeys();n.nodeCheckClick(null,{checkedNodes:p,checkedKeys:c})}}},lr=({props:e,emit:t})=>l=>{if(e.multiple){let n=e.modelValue.slice();l.forEach(r=>{n=n.filter(i=>i!==r)}),t("update:modelValue",l.concat(n))}},nr=({nextTick:e,state:t,parent:l})=>()=>{e(()=>{const r=l.$el.querySelector('input[data-tag="tiny-input-inner"]');if(r){const{paddingRight:i}=getComputedStyle(r);t.inputPaddingRight=parseFloat(i)}})},rr=({designConfig:e,props:t})=>()=>t.dropdownIcon?{icon:t.dropdownIcon}:{icon:(e==null?void 0:e.icons.dropdownIcon)||"icon-delta-down",isDefault:!0},ir=({designConfig:e,props:t})=>()=>{var l;return(l=e==null?void 0:e.props)!=null&&l.tagType&&!t.tagType?e.props.tagType:t.tagType},or=({state:e,api:t})=>()=>{e.query="",e.previousQuery=void 0,t.handleQueryChange(e.query)},ar=({props:e,emit:t})=>l=>{e.clearNoMatchValue&&(e.multiple&&e.modelValue.length!==l.length||!e.multiple&&e.modelValue!==l)&&t("update:modelValue",l)},sr=({state:e,api:t})=>ge(e.debounce,l=>{t.handleQueryChange(l)}),ur=({state:e,props:t,nextTick:l,api:n})=>r=>{r.stopPropagation(),t.clickExpand&&!t.disabled&&!e.isDisplayOnly&&(e.showCollapseTag=!e.showCollapseTag,l(n.resetInputHeight))},wt=["state","nodeCollapse","nodeExpand","toggleCheckAll","handleCopyClick","focus","blur","showTip","doDestroy","getOption","emitChange","handleBlur","toggleMenu","getValueKey","handleFocus","handleClose","setSoftFocus","getValueIndex","scrollToOption","resetHoverIndex","onOptionDestroy","resetInputWidth","resetInputHeight","managePlaceholder","checkDefaultFirstOption","setOptionHighlight","toggleLastOptionHitState","deleteTag","setSelected","selectOption","handleResize","deletePrevTag","onInputChange","deleteSelected","handleMenuEnter","resetInputState","handleClearClick","handleComposition","handleQueryChange","handleOptionSelect","debouncedOnInputChange","debouncedQueryChange","navigateOptions","selectChange","radioChange","treeNodeClick","nodeCheckClick","buildSelectConfig","buildRadioConfig","onMouseenterNative","onMouseleaveNative","onCopying","handleDropdownClick","handleEnterTag","getLabelSlotValue","loadTreeData","updateModelValue","clearSearchText","onClickCollapseTag"],dr=({reactive:e,computed:t,props:l,api:n,emitter:r,parent:i,constants:o,useBreakpoint:s,vm:a,designConfig:d})=>{const p=cr({computed:t,props:l,api:n,parent:i}),c=e(x(Z({},p),{selectEmitter:r(),datas:[],initDatas:[],query:"",magicKey:0,options:[],visible:!1,showCopy:t(()=>n.computedShowCopy()),showWarper:!0,selected:l.multiple?[]:{},softFocus:!1,hover:!1,triggerSearch:!1,firstAutoSearch:l.remoteConfig.autoSearch,tagsStyle:t(()=>n.computedTagsStyle()),readonly:t(()=>n.computedReadonly()),iconClass:t(()=>c.visible?"":o.CLASS.IsReverse),showClose:t(()=>n.computedShowClose()),optionsAllDisabled:t(()=>n.computedOptionsAllDisabled()),collapseTagSize:t(()=>n.computedCollapseTagSize()),showNewOption:t(()=>n.computedShowNewOption()),selectSize:t(()=>l.size||c.formItemSize),optimizeOpts:t(()=>n.computeOptimizeOpts()),optimizeStore:{valueIndex:0,recycleScrollerHeight:t(()=>n.recycleScrollerHeight())},collapseTags:t(()=>n.computeCollapseTags()),multipleLimit:t(()=>n.computeMultipleLimit()),disabledTooltipContent:t(()=>n.computedDisabledTooltipContent()),isExpand:t(()=>n.computedIsExpand()),collapseTagsLength:0,initValue:[],key:0,device:"",timer:null,modelValue:[],queryValue:"",selectedCopy:[],compareValue:null,selectedVal:t(()=>c.device==="mb"&&l.multiple&&c.visible?c.selectedCopy:c.selected),displayOnlyContent:t(()=>l.multiple&&Array.isArray(c.selected)?c.selected.map(h=>h.state?h.state.currentLabel:h.currentLabel).join("; "):""),breakpoint:s?s().current:"",isSaaSTheme:a.theme==="saas",disabledOptionHover:!1,hasClearSelection:!1,getIcon:t(()=>n.computedGetIcon()),getTagType:t(()=>n.computedGetTagType()),isSelectAll:t(()=>c.selectCls==="checked-sur"),autoHideDownIcon:(()=>d!=null&&d.state&&"autoHideDownIcon"in d.state?d.state.autoHideDownIcon:!0)()}));return c},cr=({computed:e,props:t,api:l,parent:n})=>({selectedTags:[],tips:"",showTip:!1,tipHover:!1,selectHover:!1,tipTimer:null,selectCls:"checked-sur",filteredSelectCls:"checked-sur",overflow:null,completed:!1,inputWidth:0,inputPaddingRight:0,hoverIndex:-1,hoverValue:-1,optionsIndex:-1,inputLength:20,optionsCount:0,selectFiexd:{},createdLabel:null,isSilentBlur:!1,cachedOptions:[],selectedLabel:"",previousQuery:null,inputHovering:!1,createdSelected:!1,isOnComposition:!1,cachedPlaceHolder:t.placeholder,inputHeight:0,initialInputHeight:0,currentPlaceholder:t.placeholder,filteredOptionsCount:0,gridData:[],treeData:[],remoteData:[],currentKey:t.modelValue,updateId:"",popperElm:null,debounce:e(()=>Ft(t.queryDebounce)?t.queryDebounce:t.remote?300:0),emptyText:e(()=>l.emptyText()),emptyFlag:e(()=>l.emptyFlag()),formItemSize:e(()=>(n.formItem||{state:{}}).state.formItemSize),selectDisabled:e(()=>l.computedSelectDisabled()),isDisplayOnly:e(()=>t.displayOnly||(n.form||{}).displayOnly),gridCheckedData:e(()=>l.getcheckedData()),isExpandAll:e(()=>l.computedIsExpandAll()),searchSingleCopy:e(()=>t.allowCopy&&!t.multiple&&t.filterable),childrenName:e(()=>t.treeOp.props&&t.treeOp.props.children||"children"),tooltipContent:{},isHidden:!1,defaultCheckedKeys:[],optionIndexArr:[],showCollapseTag:!1,exceedMaxVisibleRow:!1,toHideIndex:1/0}),pr=({api:e,props:t,state:l,emit:n,maskState:r,constants:i,parent:o,nextTick:s,dispatch:a,t:d,vm:p,isMobileFirstMode:c,designConfig:h})=>{Object.assign(e,{state:l,maskState:r,doDestroy:Il(p),getTreeData:mn(t,l),blur:$l({vm:p,state:l}),focus:kl({vm:p,state:l}),getValueKey:Xl(t),handleClose:Vl(l),getValueIndex:Hl(t),getChildValue:Sn(),getOption:gl({props:t,state:l,api:e}),getSelectedOption:yl({props:t,state:l}),emitChange:fl({emit:n,props:t,state:l,constants:i}),directEmitChange:hl({emit:n,props:t,state:l,constants:i}),toggleMenu:jl({vm:p,state:l,props:t,api:e,isMobileFirstMode:c}),showTip:ol({props:t,state:l,vm:p}),onOptionDestroy:Ql(l),setSoftFocus:ql({vm:p,state:l}),getcheckedData:gn({props:t,state:l}),resetInputWidth:Ul({vm:p,state:l}),resetHoverIndex:zl({props:t,state:l}),resetDatas:Nl({props:t,state:l}),scrollToOption:cl({vm:p,constants:i}),selectChange:hn({emit:n,props:t,vm:p,state:l,api:e}),radioChange:yn({emit:n,props:t,state:l,api:e,vm:p}),handleCopyClick:fn({parent:o,props:t,state:l}),treeNodeClick:bn({emit:n,props:t,state:l,api:e,vm:p}),managePlaceholder:Ml({vm:p,state:l}),nodeCheckClick:vn({emit:n,props:t,state:l,api:e}),checkDefaultFirstOption:Jl(l),setOptionHighlight:Zl(l),nodeExpand:wn({state:l,constants:i,nextTick:s}),nodeCollapse:Cn({state:l,constants:i,nextTick:s}),handleBlur:Ol({constants:i,dispatch:a,emit:n,state:l,designConfig:h}),toggleLastOptionHitState:Al({state:l}),emptyText:tn({I18N:i.I18N,props:t,state:l,t:d,isMobileFirstMode:c}),emptyFlag:_l({props:t,state:l}),getOptionIndexArr:cn({props:t,state:l,api:e}),queryVisibleOptions:pn({props:t,vm:p,isMobileFirstMode:c}),recycleScrollerHeight:en({state:l,props:t,recycle:i.RECYCLE}),watchPropsOption:kn({constants:i,parent:o,props:t,state:l}),buildSelectConfig:$n({props:t,state:l}),buildRadioConfig:On({props:t,state:l}),onMouseenterNative:En({state:l}),onMouseleaveNative:In({state:l}),onCopying:Vn({state:l,vm:p}),gridOnQueryChange:al({props:t,vm:p,constants:i,state:l}),watchHoverIndex:An({state:l}),computeOptimizeOpts:Pn({props:t,designConfig:h}),computeCollapseTags:Hn(t),computeMultipleLimit:jn({props:t,state:l}),watchInputHover:Ln({vm:p}),initQuery:zn({props:t,state:l,constants:i,vm:p}),updateModelValue:Rn({props:t,emit:n,state:l}),computedTagsStyle:Wn({props:t,parent:o,state:l,vm:p}),computedReadonly:Gn({props:t,state:l}),computedShowClose:Qn({props:t,state:l}),computedCollapseTagSize:Un(l),computedShowNewOption:Yn({props:t,state:l}),computedShowCopy:Zn({props:t,state:l}),computedOptionsAllDisabled:Jn(l),computedDisabledTooltipContent:Xn(l),computedSelectDisabled:xn({props:t,parent:o}),computedIsExpand:_n({props:t,state:l}),computedIsExpandAll:er(t),watchInitValue:lr({props:t,emit:n}),watchShowClose:nr({nextTick:s,state:l,parent:o}),computedGetIcon:rr({designConfig:h,props:t}),computedGetTagType:ir({designConfig:h,props:t}),clearSearchText:or({state:l,api:e}),clearNoMatchValue:ar({props:t,emit:n})}),fr({api:e,props:t,state:l,emit:n,constants:i,parent:o,nextTick:s,dispatch:a,vm:p,isMobileFirstMode:c,designConfig:h})},fr=({api:e,props:t,state:l,emit:n,constants:r,parent:i,nextTick:o,dispatch:s,vm:a,isMobileFirstMode:d,designConfig:p})=>{Object.assign(e,{resetInputHeight:Ll({api:e,constants:r,nextTick:o,props:t,vm:a,state:l,designConfig:p}),calcOverFlow:rn({vm:a,props:t,state:l}),handleFocus:Sl({api:e,emit:n,props:t,state:l}),deleteTag:Wl({api:e,constants:r,emit:n,props:t,vm:a,nextTick:o,state:l}),watchValue:nn({api:e,constants:r,dispatch:s,props:t,vm:a,state:l}),toHide:sn({constants:r,state:l,props:t,vm:a,api:e}),toVisible:an({constants:r,state:l,props:t,vm:a,api:e,nextTick:o}),setSelected:Cl({api:e,constants:r,nextTick:o,props:t,vm:a,state:l}),selectOption:Rl({api:e,state:l,props:t}),handleResize:Yl({api:e,props:t,state:l}),watchOptions:dn({api:e,constants:r,nextTick:o,parent:i,props:t,state:l,vm:a}),watchVisible:un({api:e,constants:r,emit:n,state:l,vm:a,props:t,isMobileFirstMode:d}),deletePrevTag:Dl({api:e,constants:r,props:t,state:l,vm:a}),onInputChange:Gl({api:e,props:t,state:l,constants:r,nextTick:o}),deleteSelected:Kl({api:e,constants:r,emit:n,props:t,vm:a,state:l}),handleMenuEnter:pl({api:e,nextTick:o,state:l,props:t}),resetInputState:Fl({api:e,vm:a,state:l}),navigateOptions:xl({api:e,state:l,props:t,nextTick:o}),handleClearClick:El(e),handleComposition:il({api:e,nextTick:o,state:l}),handleQueryChange:dl({api:e,constants:r,nextTick:o,props:t,vm:a,state:l}),handleOptionSelect:Bl({api:e,nextTick:o,props:t,vm:a,state:l}),getPluginOption:wl({api:e,props:t,state:l}),toggleCheckAll:Tl({api:e,emit:n,state:l,props:t}),handleDebouncedQueryChange:sr({state:l,api:e}),debouncedQueryChange:c=>{const h=t.shape?c:c.target.value;e.handleDebouncedQueryChange(h)},debouncedOnInputChange:ge(l.debounce,()=>{e.onInputChange()}),debouncRquest:Tn({api:e,state:l,props:t}),defaultOnQueryChange:sl({props:t,state:l,constants:r,api:e,nextTick:o,vm:a}),queryChange:ul({props:t,state:l,constants:r,api:e,nextTick:o,vm:a}),mounted:Nn({api:e,parent:i,state:l,props:t,vm:a,designConfig:p}),unMount:Bn({api:e,parent:i,vm:a,state:l}),watchOptimizeOpts:qn({props:t,state:l}),handleDropdownClick:Dn({props:t,vm:a,state:l,emit:n}),handleEnterTag:Mn({state:l}),calcCollapseTags:Fn({state:l,vm:a,props:t}),initValue:Pl({state:l}),getLabelSlotValue:Kn({props:t,state:l}),loadTreeData:tr({state:l,vm:a,props:t,api:e}),onClickCollapseTag:ur({state:l,props:t,nextTick:o,api:e})})},hr=({watch:e,props:t,api:l,state:n,nextTick:r})=>{e(()=>t.treeOp.data,i=>i&&(n.treeData=i),{immediate:!0,deep:!0}),e(()=>t.gridOp.data,i=>i&&(n.gridData=i),{immediate:!0,deep:!0}),e(()=>n.selectDisabled,()=>r(l.resetInputHeight)),e(()=>t.placeholder,i=>{n.cachedPlaceHolder=n.currentPlaceholder=i}),e(()=>t.modelValue,()=>{t.multiple&&Array.isArray(t.modelValue)?n.modelValue=[...t.modelValue]:n.modelValue=t.modelValue},{immediate:!0,deep:!0}),e(()=>n.modelValue,l.watchValue),e(()=>n.selectedLabel,()=>{t.trim&&(n.selectedLabel=n.selectedLabel.trim())}),e(()=>t.extraQueryParams,()=>l.handleQueryChange(n.previousQuery,!0),{deep:!0}),e(()=>n.breakpoint,i=>{i==="default"?n.device="mb":n.device="pc"},{immediate:!0,deep:!0}),e(()=>n.device,(i,o)=>{o!==""&&n.visible&&l.updateModelValue(n.modelValue,!0)}),e(()=>n.visible,l.watchVisible),e(()=>n.initValue,l.watchInitValue,{deep:!0}),gr({watch:e,props:t,api:l,state:n,nextTick:r})},gr=({watch:e,props:t,api:l,state:n,nextTick:r})=>{e(()=>[...n.options],l.watchOptions),t.renderType==="grid"&&!t.optimization&&e(()=>n.gridData,l.setSelected,{immediate:!0}),t.renderType==="tree"&&!t.optimization&&e(()=>n.treeData,l.setSelected,{immediate:!0}),e(()=>n.hoverIndex,l.watchHoverIndex),t.options&&e(()=>t.options,l.watchPropsOption,{immediate:!0,deep:!0}),t.optimization&&e(()=>n.optimizeOpts,l.watchOptimizeOpts,{immediate:!0}),e([()=>n.inputHovering,()=>n.visible],l.watchInputHover),e(()=>n.showClose,l.watchShowClose,{immediate:!0}),e(()=>n.selectHover,()=>t.hoverExpand&&!t.disabled&&!n.isDisplayOnly&&r(l.resetInputHeight))},Tt=(e,{computed:t,onBeforeUnmount:l,onMounted:n,reactive:r,watch:i,provide:o,inject:s},{vm:a,parent:d,emit:p,constants:c,nextTick:h,dispatch:v,t:I,emitter:F,isMobileFirstMode:L,useBreakpoint:K,designConfig:B})=>{const V={},z=dr({reactive:r,computed:t,props:e,api:V,emitter:F,parent:d,constants:c,useBreakpoint:K,vm:a,designConfig:B}),m=s("dialog",null);o("selectEmitter",z.selectEmitter),o("selectVm",a);const P=r({width:"",height:"",top:""});return pr({api:V,props:e,state:z,emit:p,maskState:P,constants:c,parent:d,nextTick:h,dispatch:v,t:I,vm:a,isMobileFirstMode:L,designConfig:B}),d.$on("handle-clear",ie=>{V.handleClearClick(ie)}),e.multiple&&!Array.isArray(e.modelValue)&&p("update:modelValue",[]),!e.multiple&&Array.isArray(e.modelValue)&&p("update:modelValue",""),m&&m.state.emitter.on("handleSelectClose",V.handleClose),z.selectEmitter.on(c.EVENT_NAME.handleOptionClick,V.handleOptionSelect),z.selectEmitter.on(c.EVENT_NAME.setSelected,V.setSelected),z.selectEmitter.on(c.EVENT_NAME.initValue,V.initValue),hr({watch:i,props:e,api:V,state:z,nextTick:h}),n(V.mounted),l(()=>{V.unMount(),m&&m.state.emitter.off("handleSelectClose",V.handleClose)}),V},St=["state","visible","hoverItem","selectOptionClick"],yr=({reactive:e,computed:t,props:l,api:n,markRaw:r,select:i,parent:o})=>{const s=e({parent:r(o),selectMultiple:t(()=>i.multiple),created:t(()=>l.created),index:-1,hover:t(()=>!i.optimization&&i.state.hoverValue===s.index),visible:!0,hitState:!1,groupDisabled:!1,disabled:t(()=>l.disabled||s.groupDisabled),isObject:t(()=>Object.prototype.toString.call(l.value).toLowerCase()==="[object object]"),currentLabel:t(()=>l.label||(s.isObject?"":l.value)),showTitle:!1,currentValue:t(()=>l.value||l.label||""),itemSelected:t(()=>i.multiple?n.contains(i.state.modelValue,l.value):n.isEqual(l.value,i.state.modelValue)),limitReached:t(()=>{if(i.multiple){const a=i.state.multipleLimit;return!s.itemSelected&&(i.state.modelValue||[]).length>=a&&a>0}else return!1}),selectCls:t(()=>s.itemSelected?"checked-sur":"check")});return s},mr=({api:e,props:t,state:l,select:n,constants:r,vm:i})=>{Object.assign(e,{state:l,isEqual:xt({select:n,state:l}),contains:_t({select:n,state:l}),hoverItem:tl({select:n,props:t,state:l}),queryChange:nl({select:n,props:t,state:l}),selectOptionClick:ll({constants:r,vm:i,props:t,state:l,select:n}),handleGroupDisabled:el({state:l,vm:i}),initValue:rl({select:n,props:t,constants:r,vm:i})})},br=({watch:e,props:t,state:l,select:n,constants:r})=>{e(()=>l.currentLabel,()=>{!t.created&&!n.remote&&n.state.selectEmitter.emit(r.EVENT_NAME.setSelected)}),e(()=>t.value,(i,o)=>{const{remote:s,valueKey:a}=n;if(!t.created&&!s){if(a&&typeof i=="object"&&typeof o=="object"&&i[a]===o[a])return;n.state.selectEmitter.emit(r.EVENT_NAME.setSelected)}})},vr=({onMounted:e,props:t,api:l,vm:n,state:r,constants:i,select:o})=>{e(()=>{r.el=n.$el,vt({props:t,vm:n,type:"add"}),o.optimization||o.state.selectEmitter.on(i.EVENT_NAME.queryChange,l.queryChange),l.initValue()})},Cr=({onBeforeUnmount:e,props:t,select:l,vm:n,state:r})=>{e(()=>{let i=l.multiple?l.state.selected:[l.state.selected];const o=l.state.cachedOptions.findIndex(a=>a.state===r),s=i.findIndex(a=>a.state===r);vt({props:t,vm:n,type:"remove"}),o>-1&&s<0&&l.state.cachedOptions.splice(o,1),l.onOptionDestroy(l.state.options.findIndex(a=>a.state===r))})},wr=({state:e,select:t,markRaw:l,props:n})=>{let r=x(Z({},n),{state:e});t.state.options.push(l(r)),t.state.cachedOptions.push(l(r)),t.state.optionsIndex++,e.index=t.state.optionsIndex,t.state.optionsCount++,t.state.filteredOptionsCount++},kt=(e,{computed:t,onMounted:l,onBeforeUnmount:n,reactive:r,watch:i,inject:o,markRaw:s},{vm:a,parent:d})=>{const p={},c=o("select"),h=c._constants,v=yr({reactive:r,computed:t,props:e,api:p,markRaw:s,select:c,parent:d});return mr({api:p,props:e,state:v,select:c,constants:h,vm:a}),br({watch:i,props:e,state:v,select:c,constants:h}),vr({onMounted:l,props:e,api:p,vm:a,state:v,constants:h,select:c}),Cr({onBeforeUnmount:n,props:e,select:c,vm:a,state:v}),wr({state:v,select:c,markRaw:s,props:e}),d.$on(h.EVENT_NAME.handleGroupDisabled,p.handleGroupDisabled),p};function Tr(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=Sr(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sr(e,t){if(e){if(typeof e=="string")return je(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return je(e,t)}}function je(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var kr=function(t,l){for(var n=t.__vccOpts||t,r=Tr(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},$r=R({name:de+"Option",componentName:"Option",components:{IconCheck:ye(),IconCheckedSur:me(),IconFinish:rt(),TinyCheckbox:it},props:[].concat(Q,["value","label","created","disabled","events","visible","highlightClass","required","icon"]),setup:function(t,l){return U({props:t,context:l,renderless:kt,api:St})}}),Or=["data-index"],Er={key:0,class:"tiny-option__checkbox-wrap tiny-select-dropdown__item-checkbox"},Ir=["title"];function Vr(e,t,l,n,r,i){var o=k("tiny-checkbox");return M((u(),f("li",{ref:"option",onMouseenter:t[0]||(t[0]=function(){return e.hoverItem&&e.hoverItem.apply(e,arguments)}),onClick:t[1]||(t[1]=S(function(){return e.selectOptionClick&&e.selectOptionClick.apply(e,arguments)},["stop"])),onMousedown:t[2]||(t[2]=S(function(){},["stop"])),"data-tag":"tiny-option","data-index":e.state.index,class:y(["tiny-option tiny-select-dropdown__item",[{selected:e.state.itemSelected,"is-disabled":e.disabled||e.state.groupDisabled||e.state.limitReached,hover:e.state.hover&&!e.state.limitReached,"is-required":e.required},e.highlightClass]])},[e.state.selectMultiple?(u(),f("span",Er,[$(o,{"model-value":e.state.itemSelected,disabled:e.disabled||e.state.groupDisabled||e.state.limitReached},null,8,["model-value","disabled"])])):C("v-if",!0),e.icon?(u(),O(_(e.icon),{key:1,class:"tiny-option__icon"})):C("v-if",!0),b("div",{class:y(["tiny-option-wrapper",e.state.selectMultiple?"calc-width":"full-width"])},[E(e.$slots,"default",{},function(){return[b("span",{class:"tiny-option-label",title:e.state.showTitle?e.state.currentLabel:""},w(e.state.currentLabel),9,Ir)]})],2)],42,Or)),[[q,e.visible&&e.state.visible]])}var Re=kr($r,[["render",Vr]]);function Ar(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=Dr(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dr(e,t){if(e){if(typeof e=="string")return Ke(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return Ke(e,t)}}function Ke(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var Mr=function(t,l){for(var n=t.__vccOpts||t,r=Ar(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},Fr=R({components:{IconCheck:ye(),IconCheckedSur:me(),IconFinish:rt()},props:[].concat(Q,["value","label","created","disabled","events","visible","highlightClass","required"]),setup:function(t,l){return U({props:t,context:l,renderless:kt,api:St})}}),Lr=["data-index"],zr={key:0,class:"w-4 mr-2"},Nr={class:"inline-block flex-1 leading-5 overflow-hidden text-ellipsis whitespace-normal sm:whitespace-nowrap"},Br={key:1,class:"inline-block sm:hidden w-4 ml-4 shrink-0"};function Pr(e,t,l,n,r,i){var o=k("icon-finish");return M((u(),f("div",{ref:"option",onMouseenter:t[0]||(t[0]=function(){return e.hoverItem&&e.hoverItem.apply(e,arguments)}),onClick:t[1]||(t[1]=S(function(){return e.selectOptionClick&&e.selectOptionClick.apply(e,arguments)},["stop"])),onMousedown:t[2]||(t[2]=S(function(){},["stop"])),"data-index":e.state.index,class:y(e.m("h-fit flex items-center justify-between rounded text-color-text-primary text-sm sm:text-xs","min-h-[40px] sm:min-h-[32px] cursor-pointer group sm:hover:bg-color-bg-4 sm:active:bg-color-bg-3 pl-0 pr-3 sm:px-3 my-1 sm:m-1",{"text-color-brand bg-color-bg-1 sm:bg-color-fill-6":e.state.itemSelected&&!e.disabled,"text-color-text-disabled cursor-not-allowed [&_svg]:fill-color-icon-disabled [&_svg_path:first-of-type]:fill-color-bg-3":e.disabled||e.state.groupDisabled||e.state.limitReached,"bg-color-bg-1 sm:bg-color-bg-4":e.state.hover,"text-color-text-disabled cursor-not-allowed":e.required},e.highlightClass)),"data-tag":"tiny-select-dropdown-item"},[e.state.selectMultiple?(u(),f("span",zr,[(u(),O(_("icon-"+e.state.selectCls),{class:y(e.m("fill-color-icon-secondary relative",{"group-hover:fill-color-brand-hover":e.state.hover,"fill-color-brand":e.state.itemSelected,"fill-color-brand-disabled":e.state.itemSelected&&e.required}))},null,8,["class"]))])):C("v-if",!0),E(e.$slots,"default",{},function(){return[b("span",Nr,w(e.state.currentLabel),1)]}),!e.state.selectMultiple&&e.state.itemSelected&&!e.disabled&&!e.state.groupDisabled?(u(),f("span",Br,[$(o,{"custom-class":"w-4 h-4 fill-color-brand"})])):C("v-if",!0)],42,Lr)),[[q,e.visible&&e.state.visible]])}var qr=Mr(Fr,[["render",Pr]]);function Te(){return Te=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},Te.apply(this,arguments)}var Hr=function(t){var l,n=typeof process=="object"?(l={})==null?void 0:l.TINY_MODE:null;return(n||t)==="pc"?Re:(n||t)==="mobile-first"?qr:Re},jr=Te({},be,{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1},events:{type:Object,default:function(){return{}}},visible:{type:Boolean,default:!0},highlightClass:String,required:{type:Boolean,default:!1},icon:Object}),le=R({name:de+"Option",componentName:"Option",props:jr,setup:function(t,l){return ve({props:t,context:l,template:Hr})}}),Rr="3.16.0";le.install=function(e){e.component(le.name,le)};le.version=Rr;const Kr=({selectEmitter:e,constants:t,state:l,selectVm:n,updatePopper:r,destroyPopper:i,parent:o})=>()=>{e.on(t.EVENT_NAME.updatePopper,s=>{let a=!1;(!l.referenceElm||l.referenceElm.nodeType!==1)&&(l.referenceElm=n.$refs.reference?n.$refs.reference.$el:n.$refs.select,n.popperElm=n.state.popperElm=l.popperElm=o.$el),o.select.state.visible&&!a&&(r(s),a=!0)}),e.on(t.EVENT_NAME.destroyPopper,i)},Wr=({selectVm:e,state:t,props:l})=>(n,r)=>{!l.closeByMask&&r||(e.multiple&&e.updateModelValue(t.originValue),e.state.visible=!1,e.state.softFocus=!1)},Gr=({selectVm:e})=>t=>{e.handleQueryChange(t)},Qr=({state:e})=>t=>{t&&(e.selectedArr=e.selected.slice(0),e.deletedArr=[]),e.showSelectedBox=t},Ur=({state:e})=>(t,l)=>{l?(e.deletedArr=e.selectedArr.slice(0),e.selectedArr=[]):(e.selectedArr=e.selectedArr.filter(n=>n[e.valueField]!==t[e.valueField]),e.deletedArr.push(t))},Yr=({state:e,selectVm:t})=>()=>{e.deletedArr.length&&(e.deletedArr.length===e.selected.length?t.updateModelValue([]):t.updateModelValue(e.selectedArr.map(l=>l[e.valueField]))),e.showSelectedBox=!1},Zr=({selectVm:e})=>()=>{e.multiple&&e.updateModelValue(e.state.modelValue,!0),e.state.visible=!1,e.state.softFocus=!1,e.$emit("confirm",e.state.modelValue),e.emitChange(e.state.modelValue,!0)},Jr=({api:e,state:t})=>()=>{t.query="",e.debouncedQueryChange("")},Xr=({selectVm:e})=>()=>{e.deleteSelected()},$t=["state","doDestroy","closeModal","debouncedQueryChange","toggleSelectedBox","deleteSelected","selectedBoxConfirm","selectDropdownConfirm","cancelSearch","handleClear"],xr=({reactive:e,computed:t,popper:l,selectVm:n})=>{const{showPopper:r,currentPlacement:i,popperElm:o,referenceElm:s}=l;return e({showPopper:r,currentPlacement:i,popperElm:o,referenceElm:s,minWidth:"",query:"",showSelectedBox:!1,debounce:300,selectedArr:[],deletedArr:[],originValue:[],showClose:t(()=>n.clearable&&!n.multiple&&n.modelValue!==""),filterable:t(()=>n.filterable),multiple:t(()=>n.multiple),popperClass:t(()=>n.popperClass),selected:t(()=>n.renderType==="tree"&&!n.treeOp.checkStrictly?n.state.selected.filter(d=>!d.children):n.state.selected),device:t(()=>n.state.device),visible:!1,windowScrollTop:0,zIndex:2e3,valueField:t(()=>n.renderType==="tree"?"id":"value")})},_r=({api:e,popper:t,state:l,selectEmitter:n,constants:r,selectVm:i,parent:o,nextTick:s,props:a})=>{const{destroyPopper:d,doDestroy:p,updatePopper:c}=t;Object.assign(e,{state:l,doDestroy:p,handleQueryChange:Gr({state:l,selectVm:i}),debouncedQueryChange:ge(l.debounce,h=>{e.handleQueryChange(h)}),toggleSelectedBox:Qr({state:l}),deleteSelected:Ur({state:l}),selectedBoxConfirm:Yr({state:l,selectVm:i,nextTick:s}),selectDropdownConfirm:Zr({state:l,selectVm:i}),closeModal:Wr({state:l,selectVm:i,props:a}),cancelSearch:Jr({api:e,state:l,selectVm:i}),handleClear:Xr({state:l,selectVm:i}),mounted:Kr({selectEmitter:n,constants:r,state:l,selectVm:i,updatePopper:c,destroyPopper:d,parent:o})})},ei=({watch:e,selectVm:t,state:l,nextTick:n})=>{e(()=>t.state.inputWidth,r=>{n(()=>{l.minWidth=(t&&t.$el&&t.$el.getBoundingClientRect().width||r)+"px"})},{immediate:!0}),e(()=>l.query,r=>{t.state.queryValue=r}),e(()=>t.state.visible,r=>{l.query="",setTimeout(()=>{l.visible=r,l.zIndex=Ve.nextZIndex()},0),r&&t.multiple&&(l.originValue=t.modelValue.slice(0))}),e(()=>t.shape,()=>{n(()=>{l.referenceElm=t.$refs.reference&&t.$refs.reference.$el})})},Ot=(e,{computed:t,onBeforeUnmount:l,onDeactivated:n,onMounted:r,reactive:i,toRefs:o,watch:s,inject:a},{vm:d,slots:p,parent:c,emit:h,nextTick:v,isMobileFirstMode:I})=>{const F={},L=c.select._constants,K=a("selectEmitter"),B=a("selectVm"),V=Lt({emit:h,nextTick:v,onBeforeUnmount:l,onDeactivated:n,props:e,reactive:i,vm:d,slots:p,toRefs:o,watch:s}),z=xr({reactive:i,computed:t,popper:V,props:e,selectVm:B});return _r({api:F,popper:V,state:z,selectEmitter:K,constants:L,selectVm:B,parent:c,nextTick:v,props:e,isMobileFirstMode:I}),ei({watch:s,selectVm:B,state:z,nextTick:v,api:F}),l(()=>{V.destroyPopper("remove"),z.popperElm=null,z.referenceElm=null}),r(F.mounted),F};function ti(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=li(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function li(e,t){if(e){if(typeof e=="string")return We(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return We(e,t)}}function We(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var ni=function(t,l){for(var n=t.__vccOpts||t,r=ti(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},ri=R({props:[].concat(Q,["placement","boundariesPadding","popperOptions","visibleArrow","appendToBody","transformOrigin","reference","popper","offset","modelValue","arrowOffset","isDropInheritWidth"]),setup:function(t,l){return U({props:t,context:l,renderless:Ot,api:$t})}});function ii(e,t,l,n,r,i){return u(),f("div",{class:y(["tiny-select-dropdown tiny-popper",[{"is-multiple":e.state.multiple},e.state.popperClass]]),onMousedown:t[0]||(t[0]=S(function(){},["stop"])),style:N({minWidth:e.state.minWidth,width:e.isDropInheritWidth?e.state.minWidth:"auto"})},[E(e.$slots,"default")],38)}var Ge=ni(ri,[["render",ii]]);const oi=({emit:e})=>(...t)=>{e("update:modelValue",...t),e("input",...t)},ai=({emit:e,state:t})=>l=>{const n=l.target.value;e("change",t.searchValue,n)},si=({api:e,props:t,state:l})=>n=>{const r=n.target?n.target.value:n;e.emitInput(r,l.searchValue)},ui=({vm:e,state:t})=>()=>{e.$refs.selector.style.zIndex=Ve.nextZIndex(),t.show=!0},di=({emit:e,state:t})=>l=>{t.searchValue=l,t.show=!1,e("select",l)},ci=({emit:e,props:t,state:l})=>n=>{n.preventDefault(),t.mini&&l.collapse?l.collapse=!1:e("search",l.searchValue,l.currentValue)},pi=({api:e,props:t,vm:l,nextTick:n})=>r=>{t.isEnterSearch&&(e.searchClick(r),n(()=>l.$refs.input.blur()))},fi=({parent:e,props:t,state:l})=>n=>{e.$el.contains(n.target)||(l.show=!1,t.mini&&!l.currentValue&&(l.collapse=!0))},hi=(e,t)=>{if(t&&e.includes(t))return t;let l={};for(let n=0,r=e.length;n<r;n++)if(ot(e[n])&&fe(e[n].value)!=="undefined"&&fe(e[n].text)!=="undefined"){l=e[n];break}return l},gi=e=>{const t=[];for(let l=0,n=e.length;l<n;l++)ot(e[l])&&fe(e[l].value)!=="undefined"&&fe(e[l].text)!=="undefined"&&t.push(e[l]);return t},yi=({api:e})=>()=>{zt(document.body,"click",e.clickOutside)},mi=({api:e})=>()=>{Nt(document.body,"click",e.clickOutside)},bi=({api:e,emit:t,vm:l,state:n})=>r=>{r.preventDefault(),n.currentValue="",l.$refs.input.focus(),n.focus=!0,e.emitInput("",n.searchValue),t("change",[],""),t("clear")},Fe=["state","handleChange","handleInput","showSelector","changeKey","searchClick","searchEnterKey","inputStyle","formatSearchTypes","setDefaultType","clear"],vi=({computed:e,props:t,reactive:l,toRefs:n,watch:r})=>{const i={setDefaultType:hi,formatSearchTypes:gi},o=l({searchValue:t.typeValue,types:e(()=>i.formatSearchTypes(t.searchTypes))});return r(()=>t.typeValue,()=>{o.searchValue=i.setDefaultType(t.searchTypes,t.typeValue)},{immediate:!0}),{api:i,state:n(o)}},Le=(e,{computed:t,onBeforeUnmount:l,onMounted:n,reactive:r,toRefs:i,watch:o},{vm:s,parent:a,emit:d,nextTick:p})=>{const c=vi({computed:t,props:e,reactive:r,toRefs:i,watch:o}),h=r(x(Z({show:!1,focus:!1,hovering:!1,collapse:e.mini,currentValue:e.modelValue},c.state),{showClear:t(()=>e.clearable&&(h.focus||h.hovering)&&h.currentValue),formItemSize:t(()=>(a.formItem||{}).formItemSize),searchSize:t(()=>e.size||h.formItemSize)})),v=Z({state:h,changeKey:di({state:h,emit:d}),handleChange:ai({emit:d,state:h}),showSelector:ui({vm:s,state:h}),searchClick:ci({emit:d,props:e,state:h}),clickOutside:fi({parent:a,props:e,state:h}),emitInput:oi({emit:d})},c.api);return Object.assign(v,{clear:bi({api:v,emit:d,vm:s,state:h}),handleInput:si({api:v,props:e,state:h}),searchEnterKey:pi({api:v,props:e,vm:s,nextTick:p})}),n(yi({api:v})),l(mi({api:v})),o(()=>e.modelValue,I=>h.currentValue=I),v};function Ci(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=wi(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wi(e,t){if(e){if(typeof e=="string")return Qe(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return Qe(e,t)}}function Qe(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var Ti=function(t,l){for(var n=t.__vccOpts||t,r=Ci(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},Si=R({props:[].concat(Q,["mini","transparent","searchTypes","placeholder","modelValue","tabindex","clearable","isEnterSearch","typeValue","size"]),emits:["change","search","update:modelValue","clear","select","input"],components:{IconChevronDown:Me(),IconSearch:Ce(),IconClose:re()},setup:function(t,l){return U({props:t,context:l,renderless:Le,api:Fe})}}),ki={key:0,class:"tiny-search__prefix"},$i={class:"tiny-search__text"},Oi={class:"icon-outer"},Ei=["placeholder","tabindex"],Ii={key:0,class:"tiny-search__input-btn"},Vi={key:2,class:"tiny-search__input-btn"},Ai={ref:"selector",class:"tiny-search__selector"},Di={class:"tiny-search__selector-body"},Mi={class:"tiny-search__poplist"},Fi=["onClick"];function Li(e,t,l,n,r,i){var o=k("icon-chevron-down"),s=k("icon-close"),a=k("icon-search");return u(),f("div",{class:y(["tiny-search",{mini:e.mini},{collapse:e.state.collapse},e.state.searchSize?"tiny-search--"+e.state.searchSize:""]),onMouseenter:t[11]||(t[11]=function(d){return e.state.hovering=!0}),onMouseleave:t[12]||(t[12]=function(d){return e.state.hovering=!1})},[b("div",{class:y(["tiny-search__line",{focus:e.state.focus}])},[e.slots.prefix?(u(),f("div",ki,[E(e.$slots,"prefix")])):C("v-if",!0),$(Y,{name:"tiny-transition-search-line-fade",mode:"out-in",persisted:""},{default:T(function(){return[M(b("div",{class:"tiny-search__present",onClick:t[0]||(t[0]=function(){return e.showSelector&&e.showSelector.apply(e,arguments)})},[E(e.$slots,"text",{slotScope:e.state.searchValue},function(){return[b("span",$i,w(e.state.searchValue.text),1)]}),b("span",Oi,[$(o,{class:"tiny-svg-size"})])],512),[[q,!e.state.collapse&&e.state.types.length]])]}),_:3}),M(b("input",ee({ref:"input"},e.a(e.$attrs,["type","class","style","^on[A-Z]","id","disabled","clearable"]),{"onUpdate:modelValue":t[1]||(t[1]=function(d){return e.state.currentValue=d}),style:e.transparent?{border:"transparent",background:e.state.collapse?"rgba(255,255,255,0.3)":"#fff"}:{},placeholder:e.placeholder,type:"text",class:"tiny-search__input",onKeyup:t[2]||(t[2]=A(function(d){return e.searchEnterKey(d)},["enter"])),onChange:t[3]||(t[3]=function(){return e.handleChange&&e.handleChange.apply(e,arguments)}),onInput:t[4]||(t[4]=function(){return e.handleInput&&e.handleInput.apply(e,arguments)}),onFocus:t[5]||(t[5]=function(d){return e.state.focus=!0}),onBlur:t[6]||(t[6]=function(d){return e.state.focus=!1}),onSelect:t[7]||(t[7]=S(function(){},["stop"])),tabindex:e.tabindex}),null,16,Ei),[[ce,e.state.currentValue]]),$(Y,{name:"tiny-transition-icon-scale-in"},{default:T(function(){return[e.state.showClear&&!e.state.collapse?(u(),f("div",Ii,[b("a",{onClick:t[9]||(t[9]=function(d){return e.clear(d)})},[$(s,{onMousedown:t[8]||(t[8]=S(function(){},["prevent"])),class:"tiny-svg-size"})])])):C("v-if",!0)]}),_:1}),e.slots.suffix?E(e.$slots,"suffix",{key:1}):!e.slots.prefix&&!e.slots.suffix?(u(),f("div",Vi,[b("a",{onClick:t[10]||(t[10]=function(d){return e.searchClick(d)})},[$(a,{style:N({fill:e.state.collapse&&e.transparent?"#fff":""}),class:"tiny-svg-size"},null,8,["style"])])])):C("v-if",!0)],2),$(Y,{name:"tiny-transition-zoom-in-top",mode:"out-in",persisted:""},{default:T(function(){return[M(b("div",Ai,[b("div",Di,[b("ul",Mi,[(u(!0),f(H,null,G(e.state.types,function(d,p){return u(),f("li",{key:p,class:"tiny-search__poplist-item",onClick:function(h){return e.changeKey(d)}},[E(e.$slots,"poplist",{slotScope:d},function(){return[D(w(d.text),1)]})],8,Fi)}),128))])])],512),[[q,e.state.show&&e.state.types.length]])]}),_:3})],34)}var Ue=Ti(Si,[["render",Li]]);function zi(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=Ni(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ni(e,t){if(e){if(typeof e=="string")return Ye(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return Ye(e,t)}}function Ye(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var Bi=function(t,l){for(var n=t.__vccOpts||t,r=zi(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},Pi=R({props:[].concat(Q,["transparent","searchTypes","placeholder","buttonText","modelValue","themeType","isEnterSearch"]),components:{IconSearch:Ce(),IconClose:re()},emits:["change","search","update:modelValue","clear","select","input"],setup:function(t,l){return U({props:t,context:l,renderless:Le,api:Fe})}}),qi={class:y(["tiny-mobile-search__line"])},Hi={class:"tiny-mobile-search__box"},ji={class:"tiny-mobile-search__input-btn"},Ri={class:"tiny-mobile-search__icon"},Ki=["placeholder"],Wi={class:"tiny-mobile-search__close-icon"},Gi={class:"tiny-mobile-search__label"},Qi={class:"tiny-mobile-search__right"},Ui={class:"tiny-mobile-search__text"};function Yi(e,t,l,n,r,i){var o=k("icon-search"),s=k("icon-close");return u(),f("div",{class:y(["tiny-mobile-search","tiny-mobile-search-"+e.themeType,{collapse:e.state.collapse},{focus:e.state.focus||!e.state.focus&&e.state.currentValue}])},[b("div",qi,[b("div",Hi,[b("div",ji,[b("a",Ri,[$(o,{style:N({fill:e.state.collapse&&e.transparent?"#fff":""}),onClick:e.searchClick},null,8,["style","onClick"])])]),M(b("input",{ref:"input","onUpdate:modelValue":t[0]||(t[0]=function(a){return e.state.currentValue=a}),style:N(e.transparent?{border:"transparent",background:e.state.collapse?"rgba(255,255,255,0.3)":"#fff"}:{}),placeholder:e.placeholder,type:"text",class:y(["tiny-mobile-search__input","tiny-mobile-search__input-"+e.themeType]),onKeyup:t[1]||(t[1]=A(function(){return e.searchEnterKey&&e.searchEnterKey.apply(e,arguments)},["enter"])),onChange:t[2]||(t[2]=function(){return e.handleChange&&e.handleChange.apply(e,arguments)}),onInput:t[3]||(t[3]=function(){return e.handleInput&&e.handleInput.apply(e,arguments)}),onFocus:t[4]||(t[4]=function(a){return e.state.focus=!0}),onBlur:t[5]||(t[5]=function(a){return e.state.focus=!1}),onSelect:t[6]||(t[6]=S(function(){},["stop"]))},null,46,Ki),[[ce,e.state.currentValue]]),M(b("span",Wi,[$(s,{onClick:e.clear},null,8,["onClick"])],512),[[q,e.state.currentValue]])]),b("label",Gi,[b("span",null,w(e.placeholder),1)])]),b("div",Qi,[E(e.$slots,"default",{},function(){return[b("div",{class:"tiny-mobile-search__present",onClick:t[7]||(t[7]=function(){return e.searchClick&&e.searchClick.apply(e,arguments)})},[b("span",Ui,w(e.buttonText),1)])]})])],2)}var Zi=Bi(Pi,[["render",Yi]]);function Ji(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=Xi(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xi(e,t){if(e){if(typeof e=="string")return Ze(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return Ze(e,t)}}function Ze(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var xi=function(t,l){for(var n=t.__vccOpts||t,r=Ji(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},_i={"search-default":"relative inline-block text-xs w-full px-3 sm:px-0","pc-search-line":"w-full border border-solid rounded bg-color-bg-1 transition duration-300 ease-in-out border-separate hidden sm:inline-table","pc-search-line-focus":"border-color-border-focus","pc-search-line-unfocus":"border-color-border hover:border-color-border-hover","pc-search-line-big":"h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-line-medium":"h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))]","pc-search-line-mini":"h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))]","pc-search-line-unbig":"h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-present":"table-cell relative align-middle right-0 text-color-text-primary w-px whitespace-nowrap","pc-search-present-big":"pl-4 text-sm leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))","pc-search-present-medium":"pl-4 text-sm leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))","pc-search-present-mini":"pl-4 text-sm leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))","pc-search-present-unbig":"pl-3 text-xs leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-present-pointer":"cursor-pointer","pc-search-present-icon-outer":"h-4 leading-4 inline-block pl-2 pr-3 py-0 border-r border-solid border-color-border-separator cursor-pointer","pc-search-present-icon-chevron-down":"text-base fill-color-icon-primary hover:fill-color-icon-hover","pc-search-input-background-transparent":" border-transparent","pc-search-input-background-transparent-collapse":"bg-color-bg-1","pc-search-input-default":"pl-2 table-cell relative align-middle right-0 text-color-text-primary border-0 outline-0 bg-transparent placeholder:text-color-none focus:placeholder:text-color-text-placeholder","pc-search-input-collapse":"w-7 float-right p-0","pc-search-input-uncollapse":"w-full","pc-search-input-collapse-big":"pl-3","pc-search-input-collapse-medium":"pl-3","pc-search-input-collapse-mini":"pl-1","pc-search-input-collapse-unbig":"pl-2","pc-search-input-big":"pl-3 text-sm h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-input-medium":"pl-3 text-sm h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] placeholder:text-sm","pc-search-input-mini":"pl-3 text-xs h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] placeholder:text-xs","pc-search-input-unbig":"text-xs h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-transtion":"table-cell relative align-middle right-0 w-8 text-center z-10","pc-search-input-btn-transtion-big":"h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] translate-x-4","pc-search-input-btn-transtion-medium":"h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] translate-x-4","pc-search-input-btn-transtion-mini":"h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] translate-x-4","pc-search-input-btn-transtion-unbig":"h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] translate-x-3.5","pc-search-input-btn-transtion-a":"no-underline block w-8","pc-search-input-btn-transtion-a-big":"leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-transtion-a-medium":"leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-transtion-a-mini":"leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-transtion-a-unbig":"leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-transtion-svg-size":"text-base fill-color-icon-primary hover:fill-color-icon-hover","pc-search-input-btn":"table-cell relative align-middle right-0 text-center","pc-search-input-btn-big":"h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] w-11","pc-search-input-btn-medium":"h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] w-11","pc-search-input-btn-mini":"h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] w-11","pc-search-input-btn-unbig":"h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] w-10","pc-search-input-btn-a":"no-underline block","pc-search-input-btn-a-big":"w-11 leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-a-medium":"w-11 leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-a-mini":"w-11 leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-a-unbig":"w-10 leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]","pc-search-input-btn-icon-search-transparent":"fill-color-bg-1","pc-search-input-btn-icon-search":"text-base fill-color-none","search-selector":"absolute top-full left-0 overflow-hidden min-w-[theme(spacing.18)] border border-solid border-color-border rounded text-xs shadow bg-color-bg-1 text-color-text-primary mt-0.5 py-1 hidden sm:block","search-selector-body":"max-h-[theme(spacing.72)] overflow-x-hidden overflow-y-auto","search-selector-poplist-item":"px-3 min-h-[theme(spacing.6)] leading-6 max-w-full overflow-hidden text-left text-ellipsis whitespace-nowrap cursor-pointer hover:bg-color-bg-2","search-selector-poplist-item-big":"text-sm","search-selector-poplist-item-medium":"text-sm","search-selector-poplist-item-mini":"text-xs","search-selector-poplist-item-unbig":"text-xs","mobile-search":"flex sm:hidden w-full items-center shrink-0","mobile-search-input":"bg-color-bg-4 pl-9    placeholder:text-color-none focus:placeholder:text-color-text-placeholder rounded-full","mobile-search-input-bg-change":"bg-color-bg-1","mobile-search-svg-size":"text-base fill-color-none translate-x-1.5","mobile-search-svg-size-color":"fill-color-bg-1","mobile-search-button":"w-16 text-center cursor-pointer","mobile-search-button-notShowButton":"hidden","mobile-search-input-big":"leading-8 h-8"},eo=R({emits:["change","update:modelValue","input","select","search","clear"],props:[].concat(Q,["mini","big","size","suffixIcon","transparent","searchTypes","placeholder","modelValue","tabindex","clearable","isEnterSearch","showButton","changeBgColor"]),components:{IconChevronDown:Me(),IconSearch:Ce(),IconClose:re(),IconError:at(),TinyInput:Ae,TinyButton:De},setup:function(t,l){return U({props:t,context:l,renderless:Le,api:Fe,classes:_i})}}),to=["placeholder","tabindex"],lo={"data-tag":"tiny-search__poplist"},no=["onClick"],ro={class:"inline-block rounded-full"};function io(e,t,l,n,r,i){var o=k("icon-chevron-down"),s=k("icon-close"),a=k("icon-search"),d=k("icon-error"),p=k("tiny-input"),c=k("tiny-button");return u(),f("div",{class:y(e.m(e.gcls("search-default"))),"data-tag":"tiny-search",onMouseenter:t[12]||(t[12]=function(h){return e.state.hovering=!0}),onMouseleave:t[13]||(t[13]=function(h){return e.state.hovering=!1})},[b("div",{class:y(e.m(e.gcls("pc-search-line"),e.gcls({"pc-search-line-focus":e.state.focus}),e.gcls({"pc-search-line-unfocus":!e.state.focus}),e.gcls({"pc-search-line-big":e.big}),e.gcls("pc-search-line-"+e.size),e.gcls({"pc-search-line-unbig":e.size==="small"&&!e.big}))),"data-tag":"tiny-search__line"},[$(Y,{name:"mf-transition-search-line-fade",mode:"out-in",persisted:""},{default:T(function(){return[M(b("div",{"data-tag":"tiny-search__present",class:y(e.m(e.gcls("pc-search-present"),e.gcls({"pc-search-present-big":e.big}),e.gcls("pc-search-present-"+e.size),e.gcls({"pc-search-present-unbig":e.size==="small"&&!e.big}))),onClick:t[0]||(t[0]=function(){return e.showSelector&&e.showSelector.apply(e,arguments)})},[E(e.$slots,"text",{slotScope:e.state.searchValue},function(){return[b("span",{"data-tag":"tiny-search__text",class:y(e.m(e.gcls("pc-search-present-pointer")))},w(e.state.searchValue.text),3)]}),b("span",{"data-tag":"tiny-icon-outer",class:y(e.m(e.gcls("pc-search-present-icon-outer")))},[$(o,{"data-tag":"tiny-svg-size",class:y(e.m(e.gcls("pc-search-present-icon-chevron-down")))},null,8,["class"])],2)],2),[[q,!e.state.collapse&&e.state.types.length]])]}),_:3}),M(b("input",{ref:"input","onUpdate:modelValue":t[1]||(t[1]=function(h){return e.state.currentValue=h}),class:y(e.m(e.gcls({"pc-search-input-background-transparent":e.transparent}),e.gcls({"pc-search-input-background-transparent-collapse":e.transparent&&e.state.collapse}),e.gcls("pc-search-input-default"),e.gcls({"pc-search-input-collapse":e.state.collapse}),e.gcls({"pc-search-input-uncollapse":!e.state.collapse}),e.gcls({"pc-search-input-collapse-big":e.state.collapse&&e.big}),e.gcls("pc-search-input-collapse-"+e.size),e.gcls({"pc-search-input-collapse-unbig":e.state.collapse&&e.size==="small"&&!e.big}),e.gcls({"pc-search-input-big":e.big}),e.gcls("pc-search-input-"+e.size),e.gcls({"pc-search-input-unbig":e.size==="small"&&!e.big}))),style:N(e.transparent&&e.state.collapse?{background:"rgba(255,255,255,0.3)"}:{}),placeholder:e.placeholder,type:"text","data-tag":"tiny-search__input",onKeyup:t[2]||(t[2]=A(function(){return e.searchEnterKey&&e.searchEnterKey.apply(e,arguments)},["enter"])),onInput:t[3]||(t[3]=function(){return e.handleInput&&e.handleInput.apply(e,arguments)}),onChange:t[4]||(t[4]=function(){return e.handleChange&&e.handleChange.apply(e,arguments)}),onFocus:t[5]||(t[5]=function(h){return e.state.focus=!0}),onBlur:t[6]||(t[6]=function(h){return e.state.focus=!1}),onSelect:t[7]||(t[7]=S(function(){},["stop"])),tabindex:e.tabindex},null,46,to),[[ce,e.state.currentValue]]),$(Y,{name:"mf-transition-icon-scale-in"},{default:T(function(){return[e.state.showClear&&!e.state.collapse?(u(),f("div",{key:0,"data-tag":"tiny-search__input-btn",class:y(e.m(e.gcls("pc-search-input-btn-transtion"),e.gcls({"pc-search-input-btn-transtion-big":e.big}),e.gcls("pc-search-input-btn-transtion-"+e.size),e.gcls({"pc-search-input-btn-transtion-unbig":e.size==="small"&&!e.big})))},[b("a",{class:y(e.m(e.gcls("pc-search-input-btn-transtion-a"),e.gcls({"pc-search-input-btn-transtion-a-big":e.big}),e.gcls("pc-search-input-btn-transtion-a-"+e.size),e.gcls({"pc-search-input-btn-transtion-a-unbig":e.size==="small"&&!e.big}))),onClick:t[9]||(t[9]=function(){return e.clear&&e.clear.apply(e,arguments)})},[$(s,{onMousedown:t[8]||(t[8]=S(function(){},["prevent"])),"data-tag":"tiny-svg-size",class:y(e.m(e.gcls("pc-search-input-btn-transtion-svg-size")))},null,8,["class"])],2)],2)):C("v-if",!0)]}),_:1}),b("div",{"data-tag":"tiny-search__input-btn",class:y(e.m(e.gcls("pc-search-input-btn"),e.gcls({"pc-search-input-btn-big":e.big}),e.gcls("pc-search-input-btn-"+e.size),e.gcls({"pc-search-input-btn-unbig":e.size==="small"&&!e.big})))},[b("a",{class:y(e.m(e.gcls("pc-search-input-btn-a"),e.gcls({"pc-search-input-btn-a-big":e.big}),e.gcls("pc-search-input-btn-a-"+e.size),e.gcls({"pc-search-input-btn-a-unbig":e.size==="small"&&!e.big}))),onClick:t[10]||(t[10]=function(){return e.searchClick&&e.searchClick.apply(e,arguments)})},[$(a,{class:y(e.m(e.gcls("pc-search-input-btn-icon-search"),e.gcls({"pc-search-input-btn-icon-search-transparent":e.state.collapse&&e.transparent}))),"data-tag":"tiny-svg-size"},null,8,["class"])],2)],2)],2),$(Y,{name:"mf-transition-zoom-in-top",mode:"out-in",persisted:""},{default:T(function(){return[M(b("div",{ref:"selector","data-tag":"tiny-search__selector",class:y(e.m(e.gcls("search-selector")))},[b("div",{"data-tag":"tiny-search__selector-body",class:y(e.m(e.gcls("search-selector-body")))},[b("ul",lo,[(u(!0),f(H,null,G(e.state.types,function(h,v){return u(),f("li",{key:v,"data-tag":"tiny-search__poplist-item",class:y(e.m(e.gcls("search-selector-poplist-item"),e.gcls({"search-selector-poplist-item-big":e.big}),e.gcls("search-selector-poplist-item-"+e.size),e.gcls({"search-selector-poplist-item-unbig":e.size==="small"&&!e.big}))),onClick:function(F){return e.changeKey(h)}},[E(e.$slots,"poplist",{slotScope:h},function(){return[D(w(h.text),1)]})],10,no)}),128))])],2)],2),[[q,e.state.show&&e.state.types.length]])]}),_:3}),b("div",{class:y(e.m(e.gcls("mobile-search")))},[$(p,{modelValue:e.state.currentValue,"onUpdate:modelValue":t[11]||(t[11]=function(h){return e.state.currentValue=h}),onInput:e.handleInput,"custom-class":e.m(e.gcls("mobile-search-input"),e.gcls({"mobile-search-input-bg-change":e.changeBgColor}),e.gcls({"mobile-search-input-big":e.big})),placeholder:e.placeholder,size:e.size},te({prefix:T(function(){return[$(a,{class:y(e.m(e.gcls("mobile-search-svg-size"),e.gcls({"mobile-search-svg-size-color":e.state.collapse&&e.transparent}))),"data-tag":"tiny-svg-size"},null,8,["class"])]}),_:2},[e.state.showClear&&!e.state.collapse?{name:"suffix",fn:T(function(){return[b("span",ro,[$(d,{"data-tag":"tiny-svg-size","custom-class":"w-4 h-4 fill-color-none-hover relative -top-0.5",onClick:e.clear},null,8,["onClick"])])]}),key:"0"}:void 0]),1032,["modelValue","onInput","custom-class","placeholder","size"]),$(c,{type:"text",onClick:e.searchClick,class:y(e.m(e.gcls("mobile-search-button"),e.gcls({"mobile-search-button-notShowButton":!e.showButton})))},{default:T(function(){return[D(w(e.t("ui.search.placeholder")),1)]}),_:1},8,["onClick","class"])],2)],34)}var oo=xi(eo,[["render",io]]);function Se(){return Se=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},Se.apply(this,arguments)}var ao=function(t){var l,n=typeof process=="object"?(l={})==null?void 0:l.TINY_MODE:null;return(n||t)==="pc"?Ue:(n||t)==="mobile"?Zi:(n||t)==="mobile-first"?oo:Ue},so=Se({},be,{mini:{type:Boolean,default:!1},big:{type:Boolean,default:!1},buttonText:{type:String,default:function(){return pe("ui.search.placeholder")}},transparent:{type:Boolean,default:!1},searchTypes:{type:Array,default:function(){return[]}},placeholder:{type:String,default:""},modelValue:{type:String,default:""},clearable:{type:Boolean,default:!1},tabindex:{type:String,default:"1"},isEnterSearch:{type:Boolean,default:!0},themeType:{type:String,default:"primary",validator:function(t){return["primary","gray"].includes(t)}},showButton:{type:Boolean,default:!1},changeBgColor:{type:Boolean,default:!1},size:{type:String,default:"small"},typeValue:Object,suffixIcon:[Object,String]}),ne=R({name:de+"Search",props:so,setup:function(t,l){return ve({props:t,context:l,template:ao})}}),uo="3.16.0";ne.model={prop:"modelValue",event:"update:modelValue"};ne.install=function(e){e.component(ne.name,ne)};ne.version=uo;function co(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=po(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function po(e,t){if(e){if(typeof e=="string")return Je(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return Je(e,t)}}function Je(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var fo=function(t,l){for(var n=t.__vccOpts||t,r=co(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n},ho=R({components:{TinySearch:ne,TinyButton:De,IconClose:re(),IconChevronUp:mt(),IconError:at()},props:[].concat(Q,["placement","boundariesPadding","popperOptions","visibleArrow","appendToBody","transformOrigin","reference","popper","offset","modelValue","arrowOffset","isDropInheritWidth","title","closeByMask","searchPlaceholder"]),setup:function(t,l){return U({props:t,context:l,renderless:Ot,api:$t})}}),go={key:1,"data-tag":"tiny-select-dropdown tiny-popper",class:"text-sm overflow-hidden"},yo={"data-tag":"tiny-select-dropdown-header",class:"px-4 pt-4"},mo={class:"flex mb-3"},bo={class:"flex-1 text-base text-center leading-5"},vo={key:0,class:"flex mb-3"},Co={"data-tag":"tiny-select-dropdown-body",class:"px-4 pb-4 overflow-auto flex-1 scrollbar-size-0"},wo={key:0,"data-tag":"tiny-select-dropdown-footer",class:"px-4 h-18 flex justify-between items-center bg-color-bg-1 shadow-[0_-2px_6px_rgba(0,0,0,0.08)] shrink-0"},To={"data-tag":"tiny-selected-box-header",class:"flex h-10 justify-between items-center"},So={"data-tag":"tiny-selected-box-body",class:"flex-1 overflow-auto mb-3"},ko={class:"mr-4 flex-1 leading-5 line-clamp-2"},$o={"data-tag":"tiny-selected-box-footer",class:"text-center"};function Oo(e,t,l,n,r,i){var o=k("icon-close"),s=k("tiny-search"),a=k("icon-chevron-up"),d=k("tiny-button"),p=k("icon-error");return e.state.device==="pc"?(u(),f("div",{key:0,"data-tag":"tiny-select-dropdown tiny-popper",class:y(["absolute z-[1001] border-none rounded bg-color-bg-1 shadow-md mt-1 box-border transition-[transform,opacity] ease-in-out duration-300 origin-top",[e.state.popperClass,e.state.visible?"scale-y-100 opacity-100":"scale-y-0 opacity-0"]]),onMousedown:t[0]||(t[0]=S(function(){},["stop"])),style:N({minWidth:e.state.minWidth,width:e.isDropInheritWidth?e.state.minWidth:"auto"})},[E(e.$slots,"default")],38)):(u(),f("div",go,[b("div",{ref:"mask",class:y(e.m("fixed left-0 right-0 top-0 bottom-0 w-full h-full bg-color-bg-7 transition-[opacity] ease-linear duration-100 opacity-0",{"opacity-100":e.state.visible})),onClick:t[1]||(t[1]=function(c){return e.closeModal(c,!0)}),style:N({"z-index":e.state.zIndex})},null,6),b("div",{"data-tag":"tiny-select-dropdown-main",ref:"drawerBox",style:N({"z-index":e.state.zIndex}),class:y(e.m("fixed w-full max-w-full flex flex-col justify-between bg-color-bg-1 shadow-sm border-color-border-separator max-h-[90%]","min-h-[256px] left-0 bottom-0 border-t-0.5 rounded-t-lg transition-translate ease-linear duration-200 translate-y-full",{"translate-y-0":e.state.visible}))},[b("div",yo,[b("div",mo,[e.state.showClose?(u(),f("span",{key:0,class:"inline-block h-6 leading-6 text-color-brand",onClick:t[2]||(t[2]=function(){return e.handleClear&&e.handleClear.apply(e,arguments)})},w(e.t("ui.base.clear")),1)):C("v-if",!0),b("p",bo,w(e.title),1),$(o,{"custom-class":"w-5 h-5 ml-4  cursor-pointer",onClick:t[3]||(t[3]=function(c){return e.closeModal(c,!1)})})]),e.state.filterable?(u(),f("div",vo,[$(s,{modelValue:e.state.query,"onUpdate:modelValue":t[4]||(t[4]=function(c){return e.state.query=c}),placeholder:e.searchPlaceholder,class:"flex-1 px-0",onInput:e.debouncedQueryChange,clearable:"",big:""},null,8,["modelValue","placeholder","onInput"]),b("span",{class:"inline-block h-8 leading-8 text-color-text-secondary shrink-0 ml-3 text-base",onClick:t[5]||(t[5]=function(){return e.cancelSearch&&e.cancelSearch.apply(e,arguments)})},w(e.t("ui.base.cancel")),1)])):C("v-if",!0)]),b("div",Co,[E(e.$slots,"default")]),e.state.multiple?(u(),f("div",wo,[b("div",null,[b("span",{onClick:t[6]||(t[6]=function(c){return e.toggleSelectedBox(!0)}),class:"mr-2"},w(e.t("ui.select.selectedNum").replace("{num}",e.state.selected.length)),1),e.state.selected.length!==0?(u(),O(a,{key:0,"custom-class":"w-5 h-5 cursor-pointer"})):C("v-if",!0)]),$(d,{type:"primary","custom-class":"w-28",onClick:e.selectDropdownConfirm},{default:T(function(){return[D(w(e.t("ui.base.confirm")),1)]}),_:1},8,["onClick"])])):C("v-if",!0),e.state.multiple?(u(),f("div",{key:1,"data-tag":"tiny-selected-box",class:y(["absolute left-0 bottom-0 flex flex-col w-full bg-color-bg-1 transition-all ease-linear duration-200 overflow-hidden z-[2001]",[e.state.showSelectedBox?"h-full p-4":"h-0 p-0"]])},[b("div",To,[b("span",{class:"inline-block h-6 py-1 text-color-brand",onClick:t[7]||(t[7]=function(c){return e.deleteSelected("",!0)})},w(e.t("ui.base.clear")),1),$(o,{"custom-class":"w-5 h-5 ml-4 cursor-pointer",onClick:t[8]||(t[8]=function(c){return e.toggleSelectedBox(!1)})})]),b("div",So,[b("ul",null,[(u(!0),f(H,null,G(e.state.selectedArr,function(c,h){return u(),f("li",{key:(c.value||"")+h,class:"flex h-12 justify-between items-center"},[b("span",ko,w(c.label),1),$(p,{"custom-class":"w-5 h-5 cursor-pointer fill-color-none-hover",onClick:function(I){return e.deleteSelected(c)}},null,8,["onClick"])])}),128))])]),b("div",$o,[$(d,{type:"primary","custom-class":"w-full",onClick:e.selectedBoxConfirm},{default:T(function(){return[D(w(e.t("ui.base.confirm")),1)]}),_:1},8,["onClick"])])],2)):C("v-if",!0)],6)]))}var Eo=fo(ho,[["render",Oo]]);function ke(){return ke=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},ke.apply(this,arguments)}var Io=function(t){var l,n=typeof process=="object"?(l={})==null?void 0:l.TINY_MODE:null;return(n||t)==="pc"?Ge:(n||t)==="mobile-first"?Eo:Ge},X=R({name:de+"SelectDropdown",componentName:"SelectDropdown",inject:["select"],props:ke({},be,{appendToBody:{type:Boolean,default:function(){return!0}},arrowOffset:{type:Number,default:function(){return 35}},boundariesPadding:{default:function(){return 0}},isDropInheritWidth:Boolean,modelValue:Boolean,offset:{default:function(){return 0}},placement:{default:function(){return"bottom-start"}},popper:{},popperOptions:{default:function(){return{gpuAcceleration:!1}}},reference:{},transformOrigin:{type:[Boolean,String],default:function(){return!0}},visibleArrow:{default:function(){return!1}},closeByMask:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:""},title:String}),setup:function(t,l){return ve({props:t,context:l,template:Io})}}),Vo="3.16.0";X.model={prop:"modelValue",event:"update:modelValue"};X.install=function(e){e.component(X.name,X)};X.version=Vo;function Ao(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=Do(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Do(e,t){if(e){if(typeof e=="string")return Xe(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return Xe(e,t)}}function Xe(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var Mo=function(t,l){for(var n=t.__vccOpts||t,r=Ao(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n};function $e(){return $e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},$e.apply(this,arguments)}var xe=function(t,l,n){var r=l.expression?l.value:l.arg,i=n.context.$refs[r];i&&(Array.isArray(i)?i[0].$refs.reference=t:i.$refs.reference=t)},Fo=R({inheritAttrs:!1,emits:["update:modelValue","change","focus","blur","clear","remove-tag","visible-change","handleDropdownClick","dropdown-click","top-create-click"],directives:st({Clickoutside:ut,popover:{bind:function(t,l,n){xe(t,l,n)},inserted:function(t,l,n){xe(t,l,n)}}}),components:{TinyTag:yt,TinyInput:Ae,TinyOption:le,TinyGrid:jt,TinyTree:dt,TinyButton:De,IconClose:re(),TinyScrollbar:ft,IconCopy:bt(),IconPlus:Ht(),TinySelectDropdown:X,IconHalfselect:ct(),IconCheck:ye(),IconCheckedSur:me(),TinyFilterBox:ht,TinyTooltip:pt,TinyRecycleScroller:gt,IconSearch:Ce(),IconDeltaDown:Rt(),TinyCheckbox:it,IconEllipsis:Kt(),IconChevronUp:mt()},props:[].concat(Q,["id","multiple","name","dataset","readonly","tabindex","dropStyle","valueField","textField","copyable","size","options","showCheck","showAlloption","hideDrop","modelValue","showOverflowTooltip","remote","remoteConfig","placement","loading","disabled","valueKey","clearable","noDataText","filterable","loadingText","noMatchText","popperClass","allowCreate","placeholder","remoteMethod","filterMethod","collapseTags","autocomplete","multipleLimit","reserveKeyword","automaticDropdown","defaultFirstOption","popperAppendToBody","showDropdown","expandTags","renderType","gridOp","treeOp","delay","cacheOp","isDropInheritWidth","tagSelectable","selectConfig","radioConfig","allowCopy","textSplit","autoClose","queryDebounce","ignoreEnter","dropdownIcon","disabledTooltipContent","hoverExpand","optimization","displayOnly","initQuery","extraQueryParams","shape","label","tip","updateDelay","showTips","popperOptions","trim","topCreate","topCreateText","keepFocus","blank","searchable","showEmptyImage","inputBoxType","tagType","clearNoMatchValue","showLimitText","showProportion","clickExpand","maxVisibleRows","showAllTextTag","allText"]),setup:function(t,l){return U({props:t,context:l,renderless:Tt,api:wt})}}),Lo={key:0},zo={key:0},No={class:"tiny-select__tags-text"},Bo={key:0},Po={class:"tiny-select__tags-text"},qo={key:1,ref:"tags-content"},Ho={key:0,class:"tiny-select__tags-text"},jo={key:1,class:"tiny-select__tags-text"},Ro={key:0},Ko={key:1},Wo={key:1,class:"tiny-select__tags-text is-disabled"},Go={key:0},Qo={key:1},Uo=["disabled","autocomplete"],Yo={key:0,class:"tiny-select__limit-txt"},Zo={key:1,class:"tiny-select__proportion-txt"},Jo={key:1,class:"tiny-select__top-create"},Xo={class:"tiny-icon-close"},xo={key:0},_o={key:1,class:"tiny-select-dropdown__empty-images"},ea={key:2,class:"tiny-select-dropdown__empty"},ta={key:1,class:"tiny-select-dropdown__loading"},la={key:0,class:"tiny-select-dropdown__empty-images"},na={key:1,class:"tiny-select-dropdown__empty"},ra={key:1,class:"circular",viewBox:"25 25 50 50"},ia=b("circle",{class:"path",cx:"50",cy:"50",r:"24",fill:"none"},null,-1),oa=[ia],aa={key:0,class:"tiny-select__placeholder"},sa=b("input",{class:"tiny-input__inner",disabled:""},null,-1),ua=[sa];function da(e,t,l,n,r,i){var o=k("tiny-filter-box"),s=k("tiny-tooltip"),a=k("tiny-tag"),d=k("icon-ellipsis"),p=k("icon-chevron-up"),c=k("icon-copy"),h=k("icon-close"),v=k("tiny-input"),I=k("icon-plus"),F=k("tiny-grid"),L=k("tiny-tree"),K=k("icon-search"),B=k("tiny-option"),V=k("tiny-recycle-scroller"),z=k("tiny-checkbox"),m=k("tiny-scrollbar"),P=k("tiny-select-dropdown"),ie=he("popover"),oe=he("clickoutside");return M((u(),f("div",ee({ref:"select",class:["tiny-select",[e.state.selectSize?"tiny-select--"+e.state.selectSize:"",e.state.collapseTags?"tiny-select__collapse-tags":"",e.filterable?"tiny-select__filterable":"",e.multiple?"tiny-select__multiple":"",(e.state.inputHovering||e.state.visible)&&!e.clickExpand?"is-hover":"",e.state.isDisplayOnly?"is-display-only":"",e.hoverExpand?"is-hover-expand":"",e.clickExpand?"is-click-expand":"",e.state.showCollapseTag?"collapse-tag-clicked":"",e.state.selectDisabled?"is-disabled":"",e.$parent.$attrs.class,e.inputBoxType==="underline"?"tiny-select__underline":""]],onMouseleave:t[41]||(t[41]=S(function(){e.state.selectHover=!1,e.state.inputHovering=!1},["self"])),onMouseenter:t[42]||(t[42]=S(function(){e.state.selectHover=!0,e.state.inputHovering=!0},["self"])),onClick:t[43]||(t[43]=function(){return e.toggleMenu&&e.toggleMenu.apply(e,arguments)})},e.a(e.$attrs,["class","style"],!0)),[b("div",{ref:"tagsGroup",style:N(e.state.selectFiexd),class:y(["tiny-select__tags-group",{"is-expand":e.state.isExpand}])},[E(e.$slots,"reference",{},function(){return[e.shape==="filter"?(u(),O(o,{key:0,ref:"reference",onClick:e.toggleMenu,"show-close":e.clearable,placeholder:e.placeholder,disabled:e.state.selectDisabled,label:e.label,tip:e.tip,value:e.multiple?e.state.selected.map(function(g){return g.state?g.state.currentLabel:g.currentLabel}).join("; "):e.state.selectedLabel,"drop-down-visible":e.state.visible,blank:e.blank},null,8,["onClick","show-close","placeholder","disabled","label","tip","value","drop-down-visible","blank"])):C("v-if",!0),e.multiple&&!e.state.isDisplayOnly&&!e.shape?(u(),f("div",{key:1,ref:"tags",class:y(["tiny-select__tags",{"is-showicon":e.slots.prefix,"not-selected":!e.state.selected.length}]),style:N(e.state.tagsStyle)},[e.state.selectDisabled?(u(),f("span",Wo,[$(s,{effect:"light",placement:"top",disabled:!e.showTips},{content:T(function(){return[b("div",{class:y([e.state.showTips&&"tiny-select__show-tips","tiny-select__show-common"])},[e.slots.label?(u(),f("span",Go,[(u(!0),f(H,null,G(e.state.selected,function(g){return u(),f("span",{key:e.getValueKey(g)},[E(e.$slots,"label",{item:g})])}),128))])):(u(),f("span",Qo,w(e.disabledTooltipContent||e.state.disabledTooltipContent),1))],2)]}),default:T(function(){return[b("span",null,[(u(!0),f(H,null,G(e.state.selected,function(g){return u(),f("span",{key:g.value},[E(e.$slots,"label",{item:g},function(){return[D(w(g.state?g.state.currentLabel:g.currentLabel),1)]}),D("; ")])}),128))])]}),_:3},8,["disabled"])])):(u(),f("span",Lo,[e.collapseTags&&e.state.selected.length?(u(),f("span",zo,[(u(),O(a,{closable:!e.state.selectDisabled,size:e.state.collapseTagSize,hit:e.state.selected[0].state?e.state.selected[0].state.hitState:e.state.selected[0].hitState,key:e.state.key,type:e.state.getTagType,onClose:t[1]||(t[1]=function(g){return e.deleteTag(g,e.state.selected[0])}),"disable-transitions":""},{default:T(function(){return[$(s,{effect:"light",placement:"top",onMouseenter:t[0]||(t[0]=function(g){return e.handleEnterTag(g,e.getValueKey(e.state.selected[0]))})},{content:T(function(){return[e.state.tooltipContent[e.getValueKey(e.state.selected[0])]?(u(),f("span",Bo,[E(e.$slots,"label",{item:e.getLabelSlotValue(e.state.selected[0])},function(){return[D(w(e.state.selected[0].state?e.state.selected[0].state.currentLabel:e.state.selected[0].currentLabel),1)]})])):C("v-if",!0)]}),default:T(function(){return[b("span",No,[E(e.$slots,"label",{item:e.getLabelSlotValue(e.state.selected[0])},function(){return[D(w(e.state.selected[0].state?e.state.selected[0].state.currentLabel:e.state.selected[0].currentLabel),1)]})])]}),_:3})]}),_:3},8,["closable","size","hit","type"])),e.state.selected.length>1?(u(),O(a,{key:0,closable:!1,size:e.state.collapseTagSize,type:e.state.getTagType,"disable-transitions":"",class:"tiny-select__tags-number"},{default:T(function(){return[b("span",Po,"+ "+w(e.state.selected.length-1),1)]}),_:1},8,["size","type"])):C("v-if",!0)])):C("v-if",!0),e.collapseTags?C("v-if",!0):(u(),f("span",qo,[e.showAllTextTag&&e.state.selectCls==="checked-sur"?(u(),O(a,{type:e.state.getTagType,key:"tags-all-text-tag","data-tag":"tags-all-text-tag",closable:!0,size:e.state.collapseTagSize,onClose:t[2]||(t[2]=function(g){return e.toggleCheckAll(!1)})},{default:T(function(){return[D(w(e.allText||e.t("ui.base.all")),1)]}),_:1},8,["type","size"])):(u(),f(H,{key:1},[e.hoverExpand||e.clickExpand?(u(),O(a,{class:y(["tiny-select__tags-collapse",{"is-hidden":e.state.isHidden}]),type:e.state.getTagType,key:"tags-collapse","data-tag":"tags-collapse",closable:!1,size:e.state.collapseTagSize,onClick:t[3]||(t[3]=function(g){return e.onClickCollapseTag(g)})},{default:T(function(){return[e.hoverExpand?(u(),f(H,{key:0},[D(" + "+w(e.state.collapseTagsLength),1)],64)):(u(),O(d,{key:1}))]}),_:1},8,["class","type","size"])):C("v-if",!0),(u(!0),f(H,null,G(e.state.selected,function(g,j){return u(),O(a,{key:e.getValueKey(g),class:y({"not-visible":e.state.toHideIndex<=j&&!e.state.isExpand}),closable:!g.disabled&&!g.required,size:e.state.collapseTagSize,hit:g.state?g.state.hitState:g.hitState,type:e.state.getTagType,onClose:function(we){return e.deleteTag(we,g)},"disable-transitions":""},{default:T(function(){return[$(s,{effect:"light",placement:"top",onMouseenter:function(we){return e.handleEnterTag(we,e.getValueKey(g))}},te({default:T(function(){return[!e.state.visible&&e.state.overflow===j?(u(),f("span",Ho,w(g.state?g.state.currentLabel+"... ":g.currentLabel+"... "),1)):(u(),f("span",jo,[E(e.$slots,"label",{item:e.getLabelSlotValue(g)},function(){return[D(w(g.state?g.state.currentLabel:g.currentLabel),1)]})]))]}),_:2},[e.state.tooltipContent[e.getValueKey(g)]?{name:"content",fn:T(function(){return[!e.state.visible&&e.state.overflow===j?(u(),f("span",Ro,w(g.state?g.state.currentLabel+"... ":g.currentLabel+"... "),1)):(u(),f("span",Ko,[E(e.$slots,"label",{item:e.getLabelSlotValue(g)},function(){return[D(w(g.state?g.state.currentLabel:g.currentLabel),1)]})]))]}),key:"0"}:void 0]),1032,["onMouseenter"])]}),_:2},1032,["class","closable","size","hit","type","onClose"])}),128)),e.clickExpand&&e.state.showCollapseTag?(u(),f("span",{key:1,class:"tiny-select__collapse-text",onClick:t[4]||(t[4]=function(g){return e.onClickCollapseTag(g)})},[D(w(e.t("ui.select.collapse"))+" ",1),$(p)])):C("v-if",!0)],64))],512))])),M(b("input",{ref:"input","onUpdate:modelValue":t[5]||(t[5]=function(g){return e.state.query=g}),type:"text",class:y(["tiny-select__input",[e.state.selectSize?"is-"+e.state.selectSize:""]]),disabled:e.state.selectDisabled,autocomplete:e.autocomplete,onFocus:t[6]||(t[6]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onBlur:t[7]||(t[7]=function(){return e.handleBlur&&e.handleBlur.apply(e,arguments)}),onKeyup:t[8]||(t[8]=function(){return e.managePlaceholder&&e.managePlaceholder.apply(e,arguments)}),onKeydown:[t[9]||(t[9]=function(){return e.resetInputState&&e.resetInputState.apply(e,arguments)}),t[10]||(t[10]=A(S(function(g){return e.navigateOptions("next")},["prevent"]),["down"])),t[11]||(t[11]=A(S(function(g){return e.navigateOptions("prev")},["prevent"]),["up"])),t[12]||(t[12]=A(S(function(){return e.selectOption&&e.selectOption.apply(e,arguments)},["prevent"]),["enter"])),t[13]||(t[13]=A(S(function(g){return e.state.visible=!1},["stop","prevent"]),["esc"])),t[14]||(t[14]=A(function(){return e.deletePrevTag&&e.deletePrevTag.apply(e,arguments)},["delete"])),t[15]||(t[15]=A(function(g){return e.state.visible=!1},["tab"]))],onCompositionstart:t[16]||(t[16]=function(){return e.handleComposition&&e.handleComposition.apply(e,arguments)}),onCompositionupdate:t[17]||(t[17]=function(){return e.handleComposition&&e.handleComposition.apply(e,arguments)}),onCompositionend:t[18]||(t[18]=function(){return e.handleComposition&&e.handleComposition.apply(e,arguments)}),onInput:t[19]||(t[19]=function(){return e.debouncedQueryChange&&e.debouncedQueryChange.apply(e,arguments)}),style:N({"flex-grow":"1",width:e.state.inputLength/(e.state.inputWidth-32)+"%","max-width":e.state.inputWidth-42+"px",height:"auto"})},null,46,Uo),[[q,e.filterable&&!e.searchable&&!e.state.selectDisabled],[ce,e.state.query]])],6)):C("v-if",!0),e.shape?C("v-if",!0):(u(),O(v,{key:2,tiny_mode:"pc",ref:"reference",modelValue:e.state.selectedLabel,"onUpdate:modelValue":t[22]||(t[22]=function(g){return e.state.selectedLabel=g}),type:"text",placeholder:e.state.currentPlaceholder,name:e.name,id:e.id,autocomplete:e.autocomplete,size:e.state.selectSize,disabled:e.state.selectDisabled,readonly:e.state.readonly,"display-only":e.state.isDisplayOnly,"display-only-content":e.state.displayOnlyContent,unselectable:e.state.readonly?"on":"off","validate-event":!1,class:y({"is-focus":e.state.visible,overflow:e.state.overflow,"is-show-close":e.state.showClose}),tabindex:e.multiple&&e.filterable?"-1":e.tabindex,onFocus:e.handleFocus,onBlur:e.handleBlur,onKeyup:e.debouncedOnInputChange,onKeydown:[t[23]||(t[23]=A(S(function(g){return e.navigateOptions("next")},["stop","prevent"]),["down"])),t[24]||(t[24]=A(S(function(g){return e.navigateOptions("prev")},["stop","prevent"]),["up"])),A(S(e.selectOption,["prevent"]),["enter"]),t[25]||(t[25]=A(S(function(g){return e.state.visible=!1},["stop","prevent"]),["esc"])),t[26]||(t[26]=A(function(g){return e.state.visible=!1},["tab"]))],onPaste:e.debouncedOnInputChange,onMouseenter:e.onMouseenterNative,onMouseleave:e.onMouseleaveNative,onCompositionend:e.handleComposition},te({suffix:T(function(){return[E(e.$slots,"suffix"),e.showLimitText&&e.multiple&&e.multipleLimit?(u(),f("span",Yo,w(e.state.selected.length)+"/"+w(e.multipleLimit),1)):e.showProportion&&e.state.selected.length>0&&e.state.options.length>1?(u(),f("span",Zo,w(e.state.selected.length+"/"+e.state.options.length),1)):C("v-if",!0),e.state.showCopy?(u(),f("span",{key:2,class:"tiny-select__copy",onClick:t[20]||(t[20]=S(function(){return e.handleCopyClick&&e.handleCopyClick.apply(e,arguments)},["stop"]))},[$(c,{class:"tiny-svg-size tiny-select__caret"})])):C("v-if",!0),e.state.showClose?(u(),O(h,{key:3,class:"tiny-svg-size tiny-select__caret icon-close",onClick:e.handleClearClick,onMouseenter:t[21]||(t[21]=function(g){return e.state.inputHovering=!0})},null,8,["onClick"])):C("v-if",!0),M((u(),O(_(e.state.getIcon.icon),{class:y(["tiny-svg-size","tiny-select__caret",e.state.iconClass,{"is-reverse":!e.state.visible&&e.state.getIcon.isDefault},{"not-reverse":!e.state.getIcon.isDefault}]),onClick:e.handleDropdownClick},null,8,["class","onClick"])),[[q,e.state.autoHideDownIcon?!e.state.showClose&&!(e.remote&&e.filterable&&!e.remoteConfig.showIcon):!(e.remote&&e.filterable&&!e.remoteConfig.showIcon)]])]}),_:2},[e.slots.prefix?{name:"prefix",fn:T(function(){return[E(e.$slots,"prefix")]}),key:"0"}:void 0]),1032,["modelValue","placeholder","name","id","autocomplete","size","disabled","readonly","display-only","display-only-content","unselectable","class","tabindex","onFocus","onBlur","onKeyup","onKeydown","onPaste","onMouseenter","onMouseleave","onCompositionend"]))]}),$(Y,{name:"tiny-zoom-in-top",onBeforeEnter:e.handleMenuEnter,onAfterLeave:e.doDestroy,persisted:""},{default:T(function(){return[M($(P,{ref:"popper","is-drop-inherit-width":e.isDropInheritWidth,placement:e.placement,"append-to-body":e.popperAppendToBody,style:N(e.dropStyle),"popper-options":e.popperOptions},{default:T(function(){return[e.shape&&e.filterable?(u(),f("div",{key:0,class:y(["tiny-select__filter-input",[e.remote&&!e.state.options.length?"tiny-select__remote-input":""]])},[$(v,{ref:"input",type:"text",modelValue:e.state.query,"onUpdate:modelValue":t[27]||(t[27]=function(g){return e.state.query=g}),placeholder:e.placeholder,onInput:e.debouncedQueryChange,onFocus:e.handleFocus,autofocus:""},null,8,["modelValue","placeholder","onInput","onFocus"])],2)):C("v-if",!0),e.topCreate?(u(),f("div",Jo,[b("div",{onClick:t[28]||(t[28]=function(g){return e.$emit("top-create-click",g)})},[$(I),b("span",null,w(e.topCreateText),1)])])):C("v-if",!0),e.renderType==="grid"?(u(),O(F,ee({key:2,"auto-resize":"","row-id":e.valueField,"select-config":e.buildSelectConfig(),"radio-config":e.buildRadioConfig(),ref:"selectGrid","highlight-current-row":!0,columns:e.gridOp.columns,data:e.state.gridData,onSelectAll:e.selectChange,onSelectChange:e.selectChange,onRadioChange:e.radioChange,onMousedown:t[29]||(t[29]=S(function(){},["stop"]))},e.gridOp),null,16,["row-id","select-config","radio-config","columns","data","onSelectAll","onSelectChange","onRadioChange"])):C("v-if",!0),e.renderType==="tree"?(u(),O(L,ee({key:3,"filter-node-method":e.filterMethod,props:$e({label:e.textField,isLeaf:"isLeaf"},e.treeOp.props),"expand-on-click-node":!1,"icon-trigger-click-node":!1,"node-key":e.valueField,"default-expand-all":e.state.isExpandAll,"check-strictly":e.treeOp.checkStrictly,"default-checked-keys":e.multiple?e.state.defaultCheckedKeys:[],ref:"selectTree","current-node-key":e.multiple?"":e.state.currentKey,"show-checkbox":e.multiple,onLoadData:e.loadTreeData,onNodeCollapse:e.nodeCollapse,onNodeExpand:e.nodeExpand,onCheck:e.nodeCheckClick,onNodeClick:e.treeNodeClick},e.treeOp),null,16,["filter-node-method","props","node-key","default-expand-all","check-strictly","default-checked-keys","current-node-key","show-checkbox","onLoadData","onNodeCollapse","onNodeExpand","onCheck","onNodeClick"])):C("v-if",!0),e.searchable?(u(),O(v,{key:4,modelValue:e.state.query,"onUpdate:modelValue":[t[30]||(t[30]=function(g){return e.state.query=g}),t[31]||(t[31]=function(g){return e.handleQueryChange(e.state.query)})],placeholder:e.t("ui.search.placeholder"),class:"tiny-select-dropdown__search"},{prefix:T(function(){return[$(K,{class:"tiny-select-dropdown__search-prefix"})]}),suffix:T(function(){return[M(b("span",Xo,[$(h,{onClick:e.clearSearchText},null,8,["onClick"])],512),[[q,e.state.query]]),$(K,{class:"tiny-select-dropdown__search-suffix"})]}),_:1},8,["modelValue","placeholder"])):C("v-if",!0),e.optimization&&!~["grid","tree"].indexOf(e.renderType)?(u(),f("div",{key:5,style:N({height:e.state.optimizeStore.recycleScrollerHeight+"px"})},[M((u(),O(V,{ref:"scrollbar",style:{height:"100%"},key:e.state.magicKey,"key-field":e.valueField,"list-class":["tiny-select-dropdown__wrap"],"item-class":["tiny-select-dropdown__item-view"],items:e.state.datas,"item-size":e.state.optimizeOpts.optionHeight},{before:T(function(){return[e.state.showNewOption?(u(),O(B,{key:0,value:e.state.query,created:""},null,8,["value"])):C("v-if",!0)]}),default:T(function(g){var j=g.item;return[E(e.$slots,"default",{item:j},function(){return[(u(),O(B,{key:""+j[e.valueField],label:j[e.textField],value:j[e.valueField],disabled:j.disabled,required:j.required,"highlight-class":j._highlightClass,events:j.events,icon:j.icon,onMousedown:t[32]||(t[32]=S(function(){},["stop"]))},null,8,["label","value","disabled","required","highlight-class","events","icon"]))]})]}),_:3},8,["key-field","items","item-size"])),[[q,!e.state.emptyFlag&&!e.loading]])],4)):C("v-if",!0),!e.optimization&&!~["grid","tree"].indexOf(e.renderType)?M((u(),O(m,{key:6,ref:"scrollbar",show:"",tag:"ul","wrap-class":["tiny-select-dropdown__wrap"],"view-class":["tiny-select-dropdown__list"],onMousedown:t[40]||(t[40]=S(function(){},["stop"])),class:y({"is-empty":!e.allowCreate&&e.state.query&&e.state.filteredOptionsCount===0})},{default:T(function(){return[E(e.$slots,"dropdown"),e.multiple&&e.showCheck&&e.showAlloption&&!e.state.multipleLimit&&!e.state.query&&!e.remote?(u(),f("li",{key:0,class:y(["tiny-option tiny-select-dropdown__item",[{hover:e.state.hoverIndex===-9&&e.state.selectCls!=="checked-sur"},{selected:e.state.selectCls==="checked-sur"}]]),"data-tag":"tiny-select-dropdown-item",onClick:t[33]||(t[33]=S(function(g){return e.toggleCheckAll(!1)},["stop"])),onMousedown:t[34]||(t[34]=S(function(){},["stop"])),onMouseenter:t[35]||(t[35]=function(g){return e.state.hoverIndex=-9})},[$(z,{"model-value":e.state.selectCls==="checked-sur",indeterminate:e.state.selectCls==="halfselect",class:y(e.state.selectCls)},{default:T(function(){return[D(w(e.allText||e.t("ui.base.all")),1)]}),_:1},8,["model-value","indeterminate","class"])],34)):C("v-if",!0),e.multiple&&e.showCheck&&e.showAlloption&&!e.state.multipleLimit&&e.state.query&&!e.state.emptyText&&!e.remote?(u(),f("li",{key:1,class:y(["tiny-option tiny-select-dropdown__item",[{hover:e.state.hoverIndex===-9&&e.state.filteredSelectCls!=="checked-sur"},{selected:e.state.filteredSelectCls==="checked-sur"}]]),"data-tag":"tiny-select-dropdown-item",onClick:t[36]||(t[36]=S(function(g){return e.toggleCheckAll(!0)},["stop"])),onMousedown:t[37]||(t[37]=S(function(){},["stop"])),onMouseenter:t[38]||(t[38]=function(g){return e.state.hoverIndex=-9})},[$(z,{"model-value":e.state.filteredSelectCls==="checked-sur",indeterminate:e.state.filteredSelectCls==="halfselect",class:y(e.state.selectCls)},{default:T(function(){return[D(w(e.allText||e.t("ui.base.all")),1)]}),_:1},8,["model-value","indeterminate","class"])],34)):C("v-if",!0),e.state.showNewOption?(u(),O(B,{key:2,value:e.state.query,created:""},null,8,["value"])):C("v-if",!0),E(e.$slots,"default",{},function(){return[(u(!0),f(H,null,G(e.state.datas,function(g){return u(),O(B,{key:""+g[e.valueField],label:g[e.textField],value:g[e.valueField],disabled:g.disabled,required:g.required,"highlight-class":g._highlightClass,events:g.events,onMousedown:t[39]||(t[39]=S(function(){},["stop"])),icon:g.icon},null,8,["label","value","disabled","required","highlight-class","events","icon"])}),128))]})]}),_:3},8,["class"])),[[q,e.state.options.length>0&&!e.loading]]):C("v-if",!0),e.renderType!=="grid"&&e.renderType!=="tree"&&e.state.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&e.state.emptyFlag)?(u(),f(H,{key:7},[e.loadingText||e.slots.empty?(u(),f("div",xo,[e.slots.empty?E(e.$slots,"empty",{key:0}):e.showEmptyImage?(u(),f("span",_o)):(u(),f("p",ea,w(e.state.emptyText),1))])):(u(),f("div",ta,[e.loading?(u(),f("svg",ra,oa)):(u(),f(H,{key:0},[e.showEmptyImage?(u(),f("span",la)):(u(),f("span",na,w(e.state.emptyText),1))],64))]))],64)):C("v-if",!0),E(e.$slots,"footer")]}),_:3},8,["is-drop-inherit-width","placement","append-to-body","style","popper-options"]),[[q,!e.onCopying()&&!e.hideDrop&&e.state.visible&&e.state.emptyText!==!1]])]}),_:3},8,["onBeforeEnter","onAfterLeave"])],6),e.hoverExpand&&!e.state.isDisplayOnly?(u(),f("div",aa,ua)):C("v-if",!0)],16)),[[ie,void 0,"popover"],[oe,e.handleClose]])}var _e=Mo(Fo,[["render",da]]);function ca(e,t){var l=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(l)return(l=l.call(e)).next.bind(l);if(Array.isArray(e)||(l=pa(e))||t&&e&&typeof e.length=="number"){l&&(e=l);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pa(e,t){if(e){if(typeof e=="string")return et(e,t);var l=Object.prototype.toString.call(e).slice(8,-1);if(l==="Object"&&e.constructor&&(l=e.constructor.name),l==="Map"||l==="Set")return Array.from(e);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return et(e,t)}}function et(e,t){(t==null||t>e.length)&&(t=e.length);for(var l=0,n=new Array(t);l<t;l++)n[l]=e[l];return n}var fa=function(t,l){for(var n=t.__vccOpts||t,r=ca(l),i;!(i=r()).done;){var o=i.value,s=o[0],a=o[1];n[s]=a}return n};function Oe(){return Oe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},Oe.apply(this,arguments)}var ha={caret:"text-base rotate-0 transition-transform duration-300 fill-color-text-placeholder cursor-pointer ","select-tags":"absolute leading-normal whitespace-normal sm:pl-3 pr-2 z-[1] top-1/2 -translate-y-2/4 flex items-center flex-wrap [&_[data-tag=tiny-tag]]:my-0.5 [&_[data-tag=tiny-tag]]:h-7 [&_[data-tag=tiny-tag]]:text-sm [&_[data-tag=tiny-tag]]:sm:h-5 [&_[data-tag=tiny-tag]]:sm:text-sm [&_[data-tag=tiny-tag]_svg]:shrink-0","tags-text":"inline-block w-full whitespace-nowrap text-ellipsis overflow-hidden align-bottom","tag-info":"whitespace-nowrap text-ellipsis overflow-hidden inline-flex justify-start items-center border-transparent text-color-text-primary"},tt=function(t,l,n){var r=l.expression?l.value:l.arg,i=n.context.$refs[r];i&&(Array.isArray(i)?i[0].$refs.reference=t:i.$refs.reference=t)},ga=R({inheritAttrs:!1,emits:["update:modelValue","change","focus","blur","clear","remove-tag","visible-change","handleDropdownClick","dropdown-click","confirm"],directives:st({Clickoutside:ut,popover:{bind:function(t,l,n){tt(t,l,n)},inserted:function(t,l,n){tt(t,l,n)}}}),components:{TinyTag:yt,TinyInput:Ae,TinyOption:le,TinyTree:dt,TinyScrollbar:ft,TinyFilterBox:ht,TinyTooltip:pt,IconClose:re(),IconCopy:bt(),TinySelectDropdown:X,IconHalfselect:ct(),IconCheck:ye(),IconCheckedSur:me(),IconLoading:Bt(),IconChevronRight:Pt(),TinyRecycleScroller:gt},props:[].concat(Q,["id","multiple","name","dataset","readonly","tabindex","dropStyle","valueField","textField","copyable","size","options","showCheck","showAlloption","showProportion","hideDrop","modelValue","showOverflowTooltip","remote","remoteConfig","placement","loading","disabled","valueKey","clearable","noDataText","filterable","loadingText","noMatchText","popperClass","allowCreate","placeholder","remoteMethod","filterMethod","collapseTags","autocomplete","multipleLimit","reserveKeyword","automaticDropdown","defaultFirstOption","popperAppendToBody","showDropdown","expandTags","renderType","gridOp","treeOp","delay","cacheOp","isDropInheritWidth","tagSelectable","selectConfig","radioConfig","allowCopy","textSplit","autoClose","queryDebounce","ignoreEnter","dropdownIcon","disabledTooltipContent","hoverExpand","optimization","displayOnly","initQuery","extraQueryParams","shape","label","tip","updateDelay","showTips","popperOptions","title","closeByMask","searchPlaceholder","blank","allText"]),setup:function(t,l){return U({props:t,context:l,renderless:Tt,api:wt,classes:ha})}}),ya={key:1,ref:"tags-content",class:"sm:contents hidden"},ma={class:"inline-block w-full whitespace-nowrap text-ellipsis overflow-hidden text-color-text-disabled"},ba={key:0},va={key:1},Ca=["disabled","autocomplete"],wa={key:1},Ta={key:0},Sa={key:1,class:"py-2.5 px-0 m-0 text-center text-color-text-secondary text-xs"},ka={key:1,class:"text-center py-2.5 px-0"},$a={key:0,class:"py-2.5 px-0 m-0 text-center text-color-text-secondary text-xs"},Oa=b("input",{disabled:""},null,-1),Ea=[Oa];function Ia(e,t,l,n,r,i){var o=k("tiny-filter-box"),s=k("tiny-tooltip"),a=k("tiny-tag"),d=k("icon-copy"),p=k("icon-close"),c=k("icon-chevron-right"),h=k("tiny-input"),v=k("tiny-tree"),I=k("tiny-option"),F=k("tiny-recycle-scroller"),L=k("tiny-scrollbar"),K=k("icon-loading"),B=k("tiny-select-dropdown"),V=he("popover"),z=he("clickoutside");return M((u(),f("div",ee({ref:"select",class:["inline-block relative w-full outline-0 group [&_[data-tag=tiny-tag]]:max-w-[144px]",[e.hoverExpand?"align-top":"",e.$parent.$attrs.class]],onMouseleave:t[34]||(t[34]=S(function(){e.state.selectHover=!1,e.state.inputHovering=!1},["self"])),onMouseenter:t[35]||(t[35]=S(function(){e.state.selectHover=!0,e.state.inputHovering=!0},["self"])),onClick:t[36]||(t[36]=function(){return e.toggleMenu&&e.toggleMenu.apply(e,arguments)})},e.a(e.$attrs,["class","style"],!0)),[b("div",{ref:"tagsGroup",style:N(e.state.selectFiexd),class:y([{"absolute top-0 left-0 right-0":e.hoverExpand},{"absolute w-full":e.state.isExpand&&e.hoverExpand},{"z-[2]":e.state.isExpand&&e.hoverExpand&&(e.state.inputHovering||e.state.visible)}])},[e.shape==="filter"?(u(),O(o,{key:0,ref:"reference",onClick:e.toggleMenu,"show-close":e.clearable,placeholder:e.placeholder,disabled:e.state.selectDisabled,label:e.label,tip:e.tip,value:e.multiple?e.state.selected.map(function(m){return m.state?m.state.currentLabel:m.currentLabel}).join("; "):e.state.selectedLabel,"drop-down-visible":e.state.visible,blank:e.blank},null,8,["onClick","show-close","placeholder","disabled","label","tip","value","drop-down-visible","blank"])):C("v-if",!0),e.multiple&&!e.state.isDisplayOnly&&!e.shape?(u(),f("div",{key:1,ref:"tags",class:y(e.m(e.gcls("select-tags"),{"pl-9 sm:pl-9":e.slots.prefix},{"overflow-y-hidden":(e.state.inputHovering||e.state.visible)&&!e.state.selected.length},{"h-6 overflow-hidden":e.hoverExpand},{"pr-6":e.state.selectDisabled},{"overflow-y-auto max-h-28 h-auto":e.hoverExpand&&(e.state.inputHovering||e.state.visible)})),style:N(e.state.tagsStyle)},[e.state.selectDisabled?(u(),f("span",{key:1,class:y([e.gcls("tags-text"),"flex"])},[$(s,{effect:"light",placement:"top",disabled:!e.showTips||e.state.device==="mb"},{content:T(function(){return[b("div",{class:y([e.state.showTips&&"max-h-[theme(spacing.72)] overflow-x-hidden w-full","inline-block"])},[e.slots.label?(u(),f("span",ba,[(u(!0),f(H,null,G(e.state.selected,function(m){return u(),f("span",{key:e.getValueKey(m)},[E(e.$slots,"label",{item:m})])}),128))])):(u(),f("span",va,w(e.disabledTooltipContent||e.state.disabledTooltipContent),1))],2)]}),default:T(function(){return[b("span",ma,[(u(!0),f(H,null,G(e.state.selected,function(m){return u(),f("span",{key:m.value},[E(e.$slots,"label",{item:m},function(){return[D(w(m.state?m.state.currentLabel:m.currentLabel),1)]}),D("; ")])}),128))])]}),_:3},8,["disabled"])],2)):(u(),f("span",{key:0,class:y([e.collapseTags?e.filterable&&e.state.device==="pc"?"w-auto max-w-[76%] flex":"w-full flex":"contents"])},[(e.collapseTags||e.state.device==="mb")&&e.state.selectedVal.length?(u(),f("span",{key:0,class:y(["contents",e.collapseTags&&e.filterable?"max-w-full flex-1":""])},[(u(),O(a,{closable:!e.state.selectDisabled&&e.state.device!=="mb",size:e.state.collapseTagSize,hit:e.state.selectedVal[0].state?e.state.selectedVal[0].state.hitState:e.state.selectedVal[0].hitState,key:e.state.key,type:"info",class:y(e.gcls("tag-info")),onClose:t[1]||(t[1]=function(m){return e.deleteTag(m,e.state.selectedVal[0])}),"disable-transitions":""},{default:T(function(){return[$(s,{effect:"light",placement:"top",onMouseenter:t[0]||(t[0]=function(m){return e.handleEnterTag(m,e.getValueKey(e.state.selectedVal[0]))})},te({default:T(function(){return[b("span",{class:y(e.gcls("tags-text"))},[E(e.$slots,"label",{item:e.getLabelSlotValue(e.state.selectedVal[0])},function(){return[D(w(e.state.selectedVal[0].state?e.state.selectedVal[0].state.currentLabel:e.state.selectedVal[0].currentLabel),1)]})],2)]}),_:2},[e.state.tooltipContent[e.getValueKey(e.state.selectedVal[0])]?{name:"content",fn:T(function(){return[b("span",{class:y(e.gcls("tags-text"))},[E(e.$slots,"label",{item:e.getLabelSlotValue(e.state.selectedVal[0])},function(){return[D(w(e.state.selectedVal[0].state?e.state.selectedVal[0].state.currentLabel:e.state.selectedVal[0].currentLabel),1)]})],2)]}),key:"0"}:void 0]),1024)]}),_:3},8,["closable","size","hit","class"])),e.state.selectedVal.length>1?(u(),O(a,{key:0,closable:!1,size:e.state.collapseTagSize,class:y(["overflow-visible",e.gcls("tag-info")]),type:"info","disable-transitions":""},{default:T(function(){return[b("span",{class:y(e.gcls("tags-text"))},"+ "+w(e.state.selectedVal.length-1),3)]}),_:1},8,["size","class"])):C("v-if",!0)],2)):C("v-if",!0),e.collapseTags?C("v-if",!0):(u(),f("span",ya,[e.hoverExpand?(u(),O(a,{class:y(e.m(e.gcls("tag-info"),{"visible static":e.hoverExpand},{"invisible absolute":e.hoverExpand&&(e.state.inputHovering||e.state.visible||e.state.isHidden)})),type:"info","data-tag":"tags-collapse",key:"tags-collapse",closable:!1,size:e.state.collapseTagSize},{default:T(function(){return[D("+ "+w(e.state.collapseTagsLength),1)]}),_:1},8,["class","size"])):C("v-if",!0),(u(!0),f(H,null,G(e.state.selected,function(m,P){return u(),O(a,{key:e.getValueKey(m),closable:!m.selectDisabled&&!m.required&&e.state.device!=="mb",size:e.state.collapseTagSize,hit:m.state?m.state.hitState:m.hitState,class:y(e.gcls("tag-info")),type:"info",onClose:function(oe){return e.deleteTag(oe,m)},"disable-transitions":""},{default:T(function(){return[$(s,{effect:"light",placement:"top",onMouseenter:function(oe){return e.handleEnterTag(oe,e.getValueKey(m))}},te({default:T(function(){return[!e.state.visible&&e.state.overflow===P?(u(),f("span",{key:0,class:y(e.gcls("tags-text"))},w(m.state?m.state.currentLabel+"... ":m.currentLabel+"... "),3)):(u(),f("span",{key:1,class:y(e.gcls("tags-text"))},[E(e.$slots,"label",{item:e.getLabelSlotValue(m)},function(){return[D(w(m.state?m.state.currentLabel:m.currentLabel),1)]})],2))]}),_:2},[e.state.tooltipContent[e.getValueKey(m)]?{name:"content",fn:T(function(){return[!e.state.visible&&e.state.overflow===P?(u(),f("span",{key:0,class:y(e.gcls("tags-text"))},w(m.state?m.state.currentLabel+"... ":m.currentLabel+"... "),3)):(u(),f("span",{key:1,class:y(e.gcls("tags-text"))},[E(e.$slots,"label",{item:e.getLabelSlotValue(m)},function(){return[D(w(m.state?m.state.currentLabel:m.currentLabel),1)]})],2))]}),key:"0"}:void 0]),1032,["onMouseenter"])]}),_:2},1032,["closable","size","hit","class","onClose"])}),128))],512))],2)),e.filterable&&!e.state.selectDisabled?M((u(),f("input",{key:2,ref:"input","onUpdate:modelValue":t[2]||(t[2]=function(m){return e.state.query=m}),type:"text",class:y(["hidden sm:inline-block border-none outline-0 p-0 ml-px text-color-text-primary text-xs h-7 appearance-none bg-transparent",[e.state.selectSize==="mini"?"h-6":"",e.state.selectSize==="small"?"h-9":"",e.state.selectSize==="medium"?"h-8":""]]),disabled:e.state.selectDisabled,autocomplete:e.autocomplete,onFocus:t[3]||(t[3]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onBlur:t[4]||(t[4]=function(){return e.handleBlur&&e.handleBlur.apply(e,arguments)}),onKeyup:t[5]||(t[5]=function(){return e.managePlaceholder&&e.managePlaceholder.apply(e,arguments)}),onKeydown:[t[6]||(t[6]=function(){return e.resetInputState&&e.resetInputState.apply(e,arguments)}),t[7]||(t[7]=A(S(function(m){return e.navigateOptions("next")},["prevent"]),["down"])),t[8]||(t[8]=A(S(function(m){return e.navigateOptions("prev")},["prevent"]),["up"])),t[9]||(t[9]=A(S(function(){return e.selectOption&&e.selectOption.apply(e,arguments)},["prevent"]),["enter"])),t[10]||(t[10]=A(S(function(m){return e.state.visible=!1},["stop","prevent"]),["esc"])),t[11]||(t[11]=A(function(){return e.deletePrevTag&&e.deletePrevTag.apply(e,arguments)},["delete"])),t[12]||(t[12]=A(function(m){return e.state.visible=!1},["tab"]))],onCompositionstart:t[13]||(t[13]=function(){return e.handleComposition&&e.handleComposition.apply(e,arguments)}),onCompositionupdate:t[14]||(t[14]=function(){return e.handleComposition&&e.handleComposition.apply(e,arguments)}),onCompositionend:t[15]||(t[15]=function(){return e.handleComposition&&e.handleComposition.apply(e,arguments)}),onInput:t[16]||(t[16]=function(){return e.debouncedQueryChange&&e.debouncedQueryChange.apply(e,arguments)}),style:N({"flex-grow":"1",width:e.state.inputLength/(e.state.inputWidth-32)+"%","max-width":e.state.inputWidth-42+"px",height:"auto"})},null,46,Ca)),[[ce,e.state.query]]):C("v-if",!0)],6)):C("v-if",!0),e.shape?C("v-if",!0):(u(),O(h,{key:2,ref:"reference",modelValue:e.state.selectedLabel,"onUpdate:modelValue":t[19]||(t[19]=function(m){return e.state.selectedLabel=m}),type:"text",placeholder:e.state.currentPlaceholder,name:e.name,id:e.id,autocomplete:e.autocomplete,size:e.state.selectSize,disabled:e.state.selectDisabled,readonly:e.state.readonly,"display-only":e.state.isDisplayOnly,"display-only-content":e.state.displayOnlyContent,unselectable:e.state.readonly?"on":"off","validate-event":!1,tabindex:e.multiple&&e.filterable?"-1":e.tabindex,onFocus:e.handleFocus,onBlur:e.handleBlur,onKeyup:e.debouncedOnInputChange,onKeydown:[t[20]||(t[20]=A(S(function(m){return e.navigateOptions("next")},["stop","prevent"]),["down"])),t[21]||(t[21]=A(S(function(m){return e.navigateOptions("prev")},["stop","prevent"]),["up"])),A(S(e.selectOption,["prevent"]),["enter"]),t[22]||(t[22]=A(S(function(m){return e.state.visible=!1},["stop","prevent"]),["esc"])),t[23]||(t[23]=A(function(m){return e.state.visible=!1},["tab"]))],onPaste:e.debouncedOnInputChange,onMouseenter:e.onMouseenterNative,onMouseleave:e.onMouseleaveNative,onCompositionend:e.handleComposition},te({suffix:T(function(){return[E(e.$slots,"suffix"),e.state.showCopy?(u(),f("span",{key:0,class:"h-4 cursor-pointer relative z-[1]",onClick:t[17]||(t[17]=S(function(){return e.handleCopyClick&&e.handleCopyClick.apply(e,arguments)},["stop"]))},[$(d,{class:y([e.gcls("caret"),"align-top group-hover:fill-color-brand"])},null,8,["class"])])):C("v-if",!0),e.showProportion&&e.state.selected.length>0&&e.state.options.length>1?(u(),f("span",wa,w(e.state.selected.length+"/"+e.state.options.length),1)):C("v-if",!0),e.state.showClose?(u(),O(p,{key:2,class:y([e.gcls("caret"),"hidden sm:inline-block",{"mr-2 fill-color-text-placeholder hover:fill-color-icon-primary":e.state.showClose},{"mr-1":e.multiple&&e.state.showClose}]),onClick:e.handleClearClick,onMouseenter:t[18]||(t[18]=function(m){return e.state.inputHovering=!0})},null,8,["class","onClick"])):C("v-if",!0),M((u(),O(_(e.dropdownIcon),{class:y(e.m(e.gcls("caret"),"hidden sm:inline-block",e.state.iconClass,{hidden:e.state.selectDisabled},{"fill-color-brand-hover rotate-180 ":e.state.visible})),onClick:e.handleDropdownClick},null,8,["class","onClick"])),[[q,!(e.remote&&e.filterable&&!e.remoteConfig.showIcon)]]),$(c,{"custom-class":"h-5 w-5 sm:h-4 sm:w-4",class:y(["inline-block sm:hidden",[e.state.selectDisabled?"fill-color-icon-placeholder sm:fill-color-icon-disabled":"fill-color-icon-secondary"]])},null,8,["class"])]}),_:2},[e.slots.prefix?{name:"prefix",fn:T(function(){return[E(e.$slots,"prefix")]}),key:"0"}:void 0]),1032,["modelValue","placeholder","name","id","autocomplete","size","disabled","readonly","display-only","display-only-content","unselectable","tabindex","onFocus","onBlur","onKeyup","onKeydown","onPaste","onMouseenter","onMouseleave","onCompositionend"])),$(Y,{onBeforeEnter:e.handleMenuEnter,onAfterLeave:e.doDestroy,persisted:""},{default:T(function(){return[M($(B,{ref:"popper",title:e.title,"close-by-mask":e.closeByMask,"search-placeholder":e.searchPlaceholder,"is-drop-inherit-width":e.isDropInheritWidth,placement:e.placement,"append-to-body":e.popperAppendToBody,style:N(e.dropStyle),"popper-options":e.popperOptions,class:y(e.m("duration-300"))},{default:T(function(){return[e.shape&&e.filterable?(u(),f("div",{key:0,class:y(["px-3 pt-3 pb-1 hidden sm:block",[e.remote&&!e.state.options.length?"pb-3":""]])},[$(h,{ref:"input",type:"text",modelValue:e.state.query,"onUpdate:modelValue":t[24]||(t[24]=function(m){return e.state.query=m}),placeholder:e.placeholder,onInput:e.debouncedQueryChange,onFocus:e.handleFocus,autofocus:""},null,8,["modelValue","placeholder","onInput","onFocus"])],2)):C("v-if",!0),e.renderType==="tree"?(u(),O(v,ee({key:1,class:"[&_[data-tag=tiny-checkbox]_>span_>span]:p-1.5 sm:[&_[data-tag=tiny-checkbox]_>span_>span]:p-0","filter-node-method":e.filterMethod,props:Oe({label:e.textField,isLeaf:"isLeaf"},e.treeOp.props),"expand-on-click-node":!1,"icon-trigger-click-node":!1,"node-key":e.valueField,"default-expand-all":e.state.isExpandAll,"check-strictly":e.treeOp.checkStrictly,"default-checked-keys":e.multiple?e.state.defaultCheckedKeys:[],ref:"selectTree","current-node-key":e.multiple?"":e.state.currentKey,"show-checkbox":e.multiple,onLoadData:e.loadTreeData,onNodeCollapse:e.nodeCollapse,onNodeExpand:e.nodeExpand,onCheck:e.nodeCheckClick,onNodeClick:e.treeNodeClick,"show-checked-mark":e.state.device==="mb"},e.treeOp),null,16,["filter-node-method","props","node-key","default-expand-all","check-strictly","default-checked-keys","current-node-key","show-checkbox","onLoadData","onNodeCollapse","onNodeExpand","onCheck","onNodeClick","show-checked-mark"])):C("v-if",!0),e.optimization&&e.renderType!=="tree"?(u(),f("div",{key:2,style:N({height:e.state.optimizeStore.recycleScrollerHeight+"px"})},[M((u(),O(F,{ref:"scrollbar",style:{height:"100%"},"key-field":e.valueField,key:e.state.magicKey,"list-class":["tiny-select-dropdown__wrap sm:max-h-56 pb-1 sm:pb-0",e.state.device==="mb"?"scrollbar-size-0":""],items:e.state.datas,"item-size":e.state.optimizeOpts.optionHeight},{before:T(function(){return[e.state.showNewOption?(u(),O(I,{key:0,highlightClass:"sm:mb-0",created:"",value:e.state.device==="mb"?e.state.queryValue:e.state.query},null,8,["value"])):C("v-if",!0)]}),default:T(function(m){var P=m.item;return[E(e.$slots,"default",{item:P},function(){return[(u(),O(I,{class:y(["absolute w-full"]),key:""+P[e.valueField],label:P[e.textField],value:P[e.valueField],disabled:P.disabled,required:P.required,"highlight-class":P._highlightClass,events:P.events,onMousedown:t[25]||(t[25]=S(function(){},["stop"]))},null,8,["label","value","disabled","required","highlight-class","events"]))]})]}),_:3},8,["key-field","list-class","items","item-size"])),[[q,!e.state.emptyFlag&&!e.loading]])],4)):C("v-if",!0),!e.optimization&&e.renderType!=="tree"?M((u(),O(L,{key:3,ref:"scrollbar",tag:"ul","wrap-class":["tiny-select-dropdown__wrap sm:max-h-56 pb-1 sm:pb-0",e.state.device==="mb"?"scrollbar-size-0":""],"view-class":["tiny-select-dropdown__list"],onMousedown:t[33]||(t[33]=S(function(){},["stop"]))},{default:T(function(){return[E(e.$slots,"dropdown"),e.multiple&&e.showCheck&&e.showAlloption&&!e.state.multipleLimit&&!e.state.query&&!e.remote?(u(),f("div",{key:0,class:y(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-3 my-1 sm:m-1 rounded cursor-pointer",[{hover:e.state.hoverIndex===-9&&e.state.selectCls!=="checked-sur"},{"text-color-brand sm:bg-color-fill-6 bg-color-bg-1":e.state.selectCls==="checked-sur"}]]),"data-tag":"tiny-select-dropdown-item",onClick:t[26]||(t[26]=S(function(m){return e.toggleCheckAll(!1)},["stop"])),onMousedown:t[27]||(t[27]=S(function(){},["stop"])),onMouseenter:t[28]||(t[28]=function(m){return e.state.hoverIndex=-9})},[(u(),O(_("icon-"+e.state.selectCls),{class:y(e.m(["-mt-0.5 mr-2 fill-color-icon-secondary",e.state.selectCls!=="check"&&"fill-color-brand"]))},null,8,["class"])),b("span",{class:y([e.state.selectCls==="checked-sur"?"text-color-brand":"text-color-text-primary"])},w(e.allText||e.t("ui.base.all")),3)],34)):C("v-if",!0),e.multiple&&e.showCheck&&e.showAlloption&&!e.state.multipleLimit&&e.state.query&&!e.state.emptyText&&!e.remote?(u(),f("div",{key:1,class:y(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-3 my-1 sm:m-1 rounded cursor-pointer",[{hover:e.state.hoverIndex===-9&&e.state.filteredSelectCls!=="checked-sur"},{"text-color-brand sm:bg-color-fill-6 bg-color-bg-1":e.state.filteredSelectCls==="checked-sur"}]]),"data-tag":"tiny-select-dropdown-item",onClick:t[29]||(t[29]=S(function(m){return e.toggleCheckAll(!0)},["stop"])),onMousedown:t[30]||(t[30]=S(function(){},["stop"])),onMouseenter:t[31]||(t[31]=function(m){return e.state.hoverIndex=-9})},[(u(),O(_("icon-"+e.state.filteredSelectCls),{class:y(e.m(["-mt-0.5 mr-2 fill-color-icon-secondary",e.state.filteredSelectCls!=="check"&&"fill-color-brand"]))},null,8,["class"])),b("span",{class:y([e.state.filteredSelectCls==="checked-sur"?"text-color-brand":"text-color-text-primary"])},w(e.allText||e.t("ui.base.all")),3)],34)):C("v-if",!0),e.state.showNewOption?(u(),O(I,{key:2,value:e.state.device==="mb"?e.state.queryValue:e.state.query,created:""},null,8,["value"])):C("v-if",!0),E(e.$slots,"default",{},function(){return[(u(!0),f(H,null,G(e.state.datas,function(m){return u(),O(I,{class:y(["relative"]),key:""+m[e.valueField],label:m[e.textField],value:m[e.valueField],disabled:m.disabled,required:m.required,"highlight-class":m._highlightClass,events:m.events,onMousedown:t[32]||(t[32]=S(function(){},["stop"]))},null,8,["label","value","disabled","required","highlight-class","events"])}),128))]})]}),_:3},8,["wrap-class"])),[[q,e.state.options.length>0&&!e.loading]]):C("v-if",!0),e.renderType!=="tree"&&e.state.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&e.state.emptyFlag)?(u(),f(H,{key:4},[e.loadingText||e.slots.empty?(u(),f("div",Ta,[e.slots.empty?E(e.$slots,"empty",{key:0}):(u(),f("p",Sa,w(e.state.emptyText),1))])):(u(),f("div",ka,[e.loading?(u(),O(K,{key:1,class:"fill-color-brand h-4 w-4 inline-block align-top animate-spin"})):(u(),f("span",$a,w(e.state.emptyText),1))]))],64)):C("v-if",!0)]}),_:3},8,["title","close-by-mask","search-placeholder","is-drop-inherit-width","placement","append-to-body","style","popper-options","class"]),[[q,!e.onCopying()&&!e.hideDrop&&e.state.visible&&e.state.emptyText!==!1]])]}),_:3},8,["onBeforeEnter","onAfterLeave"])],6),e.hoverExpand&&!e.state.isDisplayOnly?(u(),f("div",{key:0,class:y(e.m("h-7 invisible",{"h-6":e.state.selectSize==="mini"},{"h-7":e.state.selectSize==="small"},{"h-8":e.state.selectSize==="medium"}))},Ea,2)):C("v-if",!0)],16)),[[V,void 0,"popover"],[z,e.handleClose]])}var Va=fa(ga,[["render",Ia]]);function Ee(){return Ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},Ee.apply(this,arguments)}var Aa=function(t){var l,n=typeof process=="object"?(l={})==null?void 0:l.TINY_MODE:null;return(n||t)==="pc"?_e:(n||t)==="mobile-first"?Va:_e},lt={CLASS:{SelectDropdownWrap:".tiny-select-dropdown__wrap",IsReverse:"is-reverse"},I18N:{noData:"ui.select.noData",noMatch:"ui.select.noMatch",loading:"ui.select.loading"},COMPONENT_NAME:{Form:"Form",Select:"Select",Option:"Option",FormItem:"FormItem",OptionGroup:"OptionGroup",SelectDropdown:"SelectDropdown"},EVENT_NAME:{removeTag:"remove-tag",formChange:"form.change",formBlur:"form.blur",queryChange:"queryChange",setSelected:"setSelected",updatePopper:"updatePopper",destroyPopper:"destroyPopper",visibleChange:"visible-change",handleOptionClick:"handleOptionClick",handleGroupDisabled:"handleGroupDisabled",initValue:"initValue"},TYPE:{Grid:"grid",Tree:"tree"},MAX_WIDTH:132,RECYCLE:{SAAS_HEIGHT:220,AURORA_HEIGHT:180,ITEM_HEIGHT:34,SAFE_MARGIN:4},SAAS_SIZE:{mini:24,small:28,medium:32},AURORA_SIZE:{mini:24,small:36,medium:42},SPACING_HEIGHT:0,MAX_VISIBLE_ROWS:1},ae=R({name:de+"Select",componentName:"Select",inject:{form:{default:""},formItem:{default:""}},provide:function(){return{select:this}},props:Ee({},be,{_constants:{type:Object,default:function(){return lt}},id:[Number,String],name:String,size:String,remote:Boolean,remoteConfig:{type:Object,default:function(){return{showIcon:!1,clearData:!1,autoSearch:!1}}},title:String,shape:String,tip:String,label:String,loading:Boolean,disabled:Boolean,options:Array,dataset:Object,textField:{type:String,default:"label"},tabindex:{type:String,default:"1"},valueField:{type:String,default:"value"},placement:{type:String,default:"bottom-start"},showCheck:{type:Boolean,default:!0},showAlloption:{type:Boolean,default:!0},multiple:Boolean,clearable:Boolean,noDataText:String,filterable:Boolean,loadingText:String,noMatchText:String,popperClass:String,allowCreate:Boolean,collapseTags:Boolean,remoteMethod:Function,filterMethod:Function,reserveKeyword:Boolean,automaticDropdown:Boolean,defaultFirstOption:Boolean,modelValue:{},valueKey:{type:String,default:"value"},placeholder:{type:String,default:function(){return pe("ui.select.placeholder")}},searchPlaceholder:{type:String,default:function(){return pe("ui.select.pleaseSearch")}},autocomplete:{type:String,default:"off"},multipleLimit:{type:Number,default:0},popperAppendToBody:{type:Boolean,default:!0},hideDrop:{type:Boolean,default:!1},copyable:{type:Boolean,default:!1},renderType:String,gridOp:{type:Object,default:function(){return{}}},treeOp:{type:Object,default:function(){return{}}},delay:{type:Number,default:200},readonly:Boolean,dropStyle:{type:Object,default:function(){return{}}},cacheOp:Object,isDropInheritWidth:Boolean,tagSelectable:{type:Boolean,default:!1},selectConfig:{type:Object,default:function(){return{checkMethod:function(){return!0}}}},radioConfig:{type:Object,default:function(){return{checkMethod:function(){return!0}}}},allowCopy:{type:Boolean,default:!1},textSplit:{type:String,default:","},autoClose:Boolean,queryDebounce:Number,ignoreEnter:{type:Boolean,default:!1},dropdownIcon:{type:[Object,String],default:function(){var t=Me();return t.isDefault=!0,t}},disabledTooltipContent:String,hoverExpand:{type:Boolean,default:!1},optimization:[Boolean,Object],displayOnly:{type:Boolean,default:!1},initQuery:Function,extraQueryParams:{type:[Object,String,Boolean,Array,Number],default:""},updateDelay:{type:Number,default:0},showTips:{type:Boolean,default:!0},closeByMask:{type:Boolean,default:!0},keepFocus:{type:Boolean,default:!1},popperOptions:{type:Object,default:function(){return{gpuAcceleration:!1,boundariesPadding:0}}},trim:{type:Boolean,default:!1},topCreate:{type:Boolean,default:!1},topCreateText:{type:String,default:function(){return pe("ui.select.add")}},blank:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},showEmptyImage:{type:Boolean,default:!1},InputBoxType:{type:String,default:"input",validator:function(t){return["input","underline"].includes(t)}},tagType:{type:String,default:""},clearNoMatchValue:{type:Boolean,default:!1},showLimitText:{type:Boolean,default:!1},showProportion:{type:Boolean,default:!1},clickExpand:{type:Boolean,default:!1},maxVisibleRows:{type:Number,default:lt.MAX_VISIBLE_ROWS},allText:{type:String,default:""},showAllTextTag:{type:Boolean,default:!1}}),setup:function(t,l){return ve({props:t,context:l,template:Aa})}}),Da="3.undefined";ae.model={prop:"modelValue",event:"update:modelValue"};ae.install=function(e){e.component(ae.name,ae)};ae.version=Da;export{le as O,ae as S,ne as a};
diff --git a/admin-website/src/main/resources/static/assets/index-56b062af.js b/admin-website/src/main/resources/static/assets/index-56b062af.js
deleted file mode 100644
index 6df0be3..0000000
--- a/admin-website/src/main/resources/static/assets/index-56b062af.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as C,a8 as B,a9 as q,r as U,c as x,u as j,y as k,H as a,l,W as e,v as S,N as L,M as P,w as R,J as m,E as f,a0 as K,j as Q,k as X}from"./vue-fdfdc7c1.js";import{I as J,n as D,R as i,_ as A,v as Z,T as W,B as Y}from"./index-387d5142.js";import{C as T,a as ee}from"./index-cfcaf865.js";import{R as w,C as y,L as le}from"./index-c544811c.js";import{g as ae}from"./form-d42ce413.js";import{F as $,a as h}from"./index-71dedec5.js";import{S as E,O as M}from"./index-51ecf215.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-10398010.js";const oe=C({__name:"people-from",props:{projectData:Object,peopleVis:Boolean},setup(O,{expose:g}){const p=B({filterOptions:{}}),{filterOptions:o}=q(p),v=U(),_=O,{projectData:F,peopleVis:b}=q(_),s={required:!0,trigger:"blur"},t={required:!0,message:"必选",trigger:"blur"},u=x(()=>({department:b.value?[s]:"",rank:b.value?[t]:"",person:b.value?[t]:""}));return g({peopleValid:()=>{let r=!1;return v.value.validate(n=>{r=n}),r},peopleReset:()=>{p.filterOptions={}}}),(r,n)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{ref_key:"peopleFormRef",ref:v,model:e(o),rules:u.value,"label-width":"120px","label-align":!0,"label-position":"left",size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:4,"label-width":"100px"},{default:a(()=>[l(e($),{label:r.$t("baseForm.form.label.type"),prop:"person"},{default:a(()=>[l(e(E),{modelValue:e(o).person,"onUpdate:modelValue":n[0]||(n[0]=c=>e(o).person=c),placeholder:r.$t("baseForm.form.label.placeholder"),multiple:""},{default:a(()=>{var c;return[(j(!0),S(P,null,L((c=e(F))==null?void 0:c.person,I=>(j(),k(e(M),{key:I.value,label:r.$t(I.label),value:I.value},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(e(y),{span:4,"label-width":"100px"},{default:a(()=>[l(e($),{label:r.$t("baseForm.form.label.rank"),prop:"rank"},{default:a(()=>[l(e(E),{modelValue:e(o).rank,"onUpdate:modelValue":n[1]||(n[1]=c=>e(o).rank=c),placeholder:r.$t("baseForm.form.label.placeholder"),multiple:""},{default:a(()=>{var c;return[(j(!0),S(P,null,L((c=e(F))==null?void 0:c.rank,I=>(j(),k(e(M),{key:I.value,label:I.label,value:I.value},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:4,"label-width":"100px"},{default:a(()=>[l(e($),{label:r.$t("baseForm.form.label.culture"),prop:"department"},{default:a(()=>[l(e(J),{modelValue:e(o).department,"onUpdate:modelValue":n[2]||(n[2]=c=>e(o).department=c),placeholder:r.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(e(y),{span:4,"label-width":"100px"},{default:a(()=>[l(e($),{label:r.$t("baseForm.form.label.business")},{default:a(()=>[l(e(J),{modelValue:e(o).business,"onUpdate:modelValue":n[3]||(n[3]=c=>e(o).business=c),placeholder:r.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model","rules"])]),_:1}))}}),te=C({__name:"objective-from",setup(O,{expose:g}){const p=B({filterOptions:{culture:"1",develop:"1",effective:"1"}}),{filterOptions:o}=q(p),v={required:!0,trigger:"blur"},_=x(()=>({culture:[v],develop:[v],effective:[v]})),F=U();return g({objectiveReset:()=>{p.filterOptions={culture:"1",develop:"1",effective:"1"}}}),(s,t)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{ref_key:"objective",ref:F,rules:_.value,mode:e(o),"responsive-layout":!0,"label-width":"120px","label-align":!0,"label-position":"left",size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.culture"),prop:"culture"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).culture,"onUpdate:modelValue":t[0]||(t[0]=u=>e(o).culture=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.yes")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).culture,"onUpdate:modelValue":t[1]||(t[1]=u=>e(o).culture=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.no")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.develop"),prop:"develop"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).develop,"onUpdate:modelValue":t[2]||(t[2]=u=>e(o).develop=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.developone")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).develop,"onUpdate:modelValue":t[3]||(t[3]=u=>e(o).develop=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.developtwo")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.effective"),prop:"effective"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).effective,"onUpdate:modelValue":t[4]||(t[4]=u=>e(o).effective=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.effectiveone")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).effective,"onUpdate:modelValue":t[5]||(t[5]=u=>e(o).effective=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.effectivetwo")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).effective,"onUpdate:modelValue":t[6]||(t[6]=u=>e(o).effective=u),label:"3"},{default:a(()=>[m(f(s.$t("baseForm.form.label.effectivethree")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).effective,"onUpdate:modelValue":t[7]||(t[7]=u=>e(o).effective=u),label:"4"},{default:a(()=>[m(f(s.$t("baseForm.form.label.effectivefour")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["rules","mode"])]),_:1}))}}),re={class:"frequency"},ne=C({__name:"plan-from",props:{projectData:Object,planVis:Boolean},setup(O,{expose:g}){const p=B({filterOptions:{confirm:"1",role:"1",condition:"1",staged:"1"}}),{filterOptions:o}=q(p),v=U(),_=O,{projectData:F,planVis:b}=q(_),s={required:!0,message:"必选",trigger:"blur"},t=x(()=>({frequency:b.value?[s]:"",confirm:b.value?[s]:"",role:b.value?[s]:"",condition:b.value?[s]:"",staged:b.value?[s]:""}));return g({planValid:()=>{let d=!1;return v.value.validate(r=>{d=r}),d},planReset:()=>{p.filterOptions={confirm:"1",role:"1",condition:"1",staged:"1"}}}),(d,r)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{ref_key:"planFromRef",ref:v,rules:t.value,model:e(o),"responsive-layout":!0,"label-width":"120px","label-align":!0,"label-position":"left",size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:d.$t("baseForm.form.label.confirm"),prop:"confirm"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).confirm,"onUpdate:modelValue":r[0]||(r[0]=n=>e(o).confirm=n),label:"1"},{default:a(()=>[m(f(d.$t("baseForm.form.label.yes")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).confirm,"onUpdate:modelValue":r[1]||(r[1]=n=>e(o).confirm=n),label:"2"},{default:a(()=>[m(f(d.$t("baseForm.form.label.no")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:d.$t("baseForm.form.label.frequency"),prop:"frequency"},{default:a(()=>[R("div",re,[l(e(E),{modelValue:e(o).frequency,"onUpdate:modelValue":r[2]||(r[2]=n=>e(o).frequency=n),placeholder:d.$t("baseForm.form.label.placeholder"),filterable:""},{default:a(()=>{var n;return[(j(!0),S(P,null,L((n=e(F))==null?void 0:n.frequency,c=>(j(),k(e(M),{key:c,label:d.$t(c),value:c},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","placeholder"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:d.$t("baseForm.form.label.role"),prop:"role"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).role,"onUpdate:modelValue":r[3]||(r[3]=n=>e(o).role=n),label:"1"},{default:a(()=>[m(f(d.$t("baseForm.form.label.roleone")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).role,"onUpdate:modelValue":r[4]||(r[4]=n=>e(o).role=n),label:"2"},{default:a(()=>[m(f(d.$t("baseForm.form.label.roletwo")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:d.$t("baseForm.form.label.condition"),prop:"condition"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).condition,"onUpdate:modelValue":r[5]||(r[5]=n=>e(o).condition=n),label:"1"},{default:a(()=>[m(f(d.$t("baseForm.form.label.conditionone")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).condition,"onUpdate:modelValue":r[6]||(r[6]=n=>e(o).condition=n),label:"2"},{default:a(()=>[m(f(d.$t("baseForm.form.label.conditiontwo")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).condition,"onUpdate:modelValue":r[7]||(r[7]=n=>e(o).condition=n),label:"3"},{default:a(()=>[m(f(d.$t("baseForm.form.label.conditionthree")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).condition,"onUpdate:modelValue":r[8]||(r[8]=n=>e(o).condition=n),label:"4"},{default:a(()=>[m(f(d.$t("baseForm.form.label.conditionfour")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:d.$t("baseForm.form.label.staged"),prop:"staged"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).staged,"onUpdate:modelValue":r[9]||(r[9]=n=>e(o).staged=n),label:"1"},{default:a(()=>[m(f(d.$t("baseForm.form.label.stagedone")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).staged,"onUpdate:modelValue":r[10]||(r[10]=n=>e(o).staged=n),label:"2"},{default:a(()=>[m(f(d.$t("baseForm.form.label.stagedtwo")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).staged,"onUpdate:modelValue":r[11]||(r[11]=n=>e(o).staged=n),label:"3"},{default:a(()=>[m(f(d.$t("baseForm.form.label.stagedthree")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["rules","model"])]),_:1}))}});const ue=A(ne,[["__scopeId","data-v-b595ccc3"]]),se=C({__name:"evaluation-from",setup(O,{expose:g}){const p=B({filterOptions:{wholeconfirm:"1",overallevaluation:"1"}}),{filterOptions:o}=q(p),v={required:!0,trigger:"blur"},_=x(()=>({wholeconfirm:[v],overallevaluation:[v]})),F=U();return g({evaluationReset:()=>{p.filterOptions={wholeconfirm:"1",overallevaluation:"1"}}}),(s,t)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{ref_key:"evaluationRef",ref:F,rules:_.value,mode:e(o),"responsive-layout":!0,"label-width":"120px","label-align":!0,"label-position":"left",size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.wholeconfirm"),prop:"wholeconfirm"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).wholeconfirm,"onUpdate:modelValue":t[0]||(t[0]=u=>e(o).wholeconfirm=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.yes")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).wholeconfirm,"onUpdate:modelValue":t[1]||(t[1]=u=>e(o).wholeconfirm=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.no")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1}),l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.evaluation"),prop:"overallevaluation"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).overallevaluation,"onUpdate:modelValue":t[2]||(t[2]=u=>e(o).overallevaluation=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.evaluationyes")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).overallevaluation,"onUpdate:modelValue":t[3]||(t[3]=u=>e(o).overallevaluation=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.evaluationno")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["rules","mode"])]),_:1}))}}),de=C({__name:"mentor-from",setup(O,{expose:g}){const p=B({filterOptions:{mentor:"1"}}),{filterOptions:o}=q(p),v={required:!0,trigger:"blur"},_=x(()=>({mentor:[v]})),F=U();return g({mentorReset:()=>{p.filterOptions={mentor:"1"}}}),(s,t)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{ref_key:"mentorRef",ref:F,rules:_.value,mode:e(o),"responsive-layout":!0,"label-width":"220px","label-align":!0,size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.mentor"),prop:"mentor"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).mentor,"onUpdate:modelValue":t[0]||(t[0]=u=>e(o).mentor=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.yes")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).mentor,"onUpdate:modelValue":t[1]||(t[1]=u=>e(o).mentor=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.no")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["rules","mode"])]),_:1}))}}),fe=C({__name:"reminder-from",setup(O,{expose:g}){const p=B({filterOptions:{reminder:"1"}}),{filterOptions:o}=q(p),v={required:!0,trigger:"blur"},_=x(()=>({reminder:[v]})),F=U();return g({reminderReset:()=>{p.filterOptions={reminder:"1"}}}),(s,t)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{ref_key:"reminderRef",ref:F,rules:_.value,mode:e(o),"responsive-layout":!0,"label-width":"120px","label-align":!0,"label-position":"left",size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:8,"label-width":"100px"},{default:a(()=>[l(e($),{label:s.$t("baseForm.form.label.reminder"),prop:"reminder"},{default:a(()=>[R("div",null,[l(e(i),{modelValue:e(o).reminder,"onUpdate:modelValue":t[0]||(t[0]=u=>e(o).reminder=u),label:"1"},{default:a(()=>[m(f(s.$t("baseForm.form.label.yes")),1)]),_:1},8,["modelValue"]),l(e(i),{modelValue:e(o).reminder,"onUpdate:modelValue":t[1]||(t[1]=u=>e(o).reminder=u),label:"2"},{default:a(()=>[m(f(s.$t("baseForm.form.label.no")),1)]),_:1},8,["modelValue"])])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["rules","mode"])]),_:1}))}}),me=C({__name:"home-from",props:{projectData:[]},setup(O){const g=B({filterOptions:{}}),{filterOptions:p}=q(g),o=O,{projectData:v}=q(o);return(_,F)=>(j(),k(e(D),null,{default:a(()=>[l(e(h),{"label-width":"120px","label-align":!0,"label-position":"left",size:"small"},{default:a(()=>[l(e(w),{flex:!0,justify:"left"},{default:a(()=>[l(e(y),{span:4,"label-width":"100px"},{default:a(()=>[l(e($),{label:_.$t("baseForm.form.project"),prop:"department"},{default:a(()=>[l(e(E),{modelValue:e(p).project,"onUpdate:modelValue":F[0]||(F[0]=b=>e(p).project=b),placeholder:_.$t("baseForm.form.label.placeholder"),filterable:""},{default:a(()=>[(j(!0),S(P,null,L(e(v),b=>(j(),k(e(M),{key:b,label:_.$t(b),value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1})]),_:1}))}}),ie={class:"container"},pe={class:"container-form"},be={class:"base-card"},ve={class:"card-tip"},Ve={class:"base-foot"},ce=C({__name:"index",setup(O){const g=B({loading:null}),{t:p}=K(),o=U(),v=U(),_=U(),F=U(),b=U(),s=U();Z();const t=["project","people","objectives","plan","evaluation","mentortitle","remindertitle"],u=U(!0),z=U(!0),d=B({Project:[],rank:[],person:[],frequency:[]}),r=async()=>{g.loading=le.service({text:"loading...",target:document.getElementById("container"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:V}=await ae();d.Project=V.Project,d.rank=V.rank,d.person=V.person,d.frequency=V.frequency}finally{g.loading.close()}};Q(()=>{r()});function n(){o.value.peopleReset(),_.value.objectiveReset(),v.value.planReset(),F.value.evaluationReset(),b.value.mentorReset(),s.value.reminderReset()}function c(){const V=o.value.peopleValid(),N=o.value.peopleValid();V&&N?W.message({message:p("baseForm.form.submit.success"),status:"success"}):W.message({message:p("baseForm.form.submit.error"),status:"error"})}const I=V=>{V.indexOf("people")>-1?u.value=!0:u.value=!1,V.indexOf("plan")>-1?z.value=!0:z.value=!1};return(V,N)=>{const H=X("Breadcrumb");return j(),S("div",ie,[l(H,{items:["menu.form","menu.form.base"]}),R("div",pe,[R("div",be,[l(e(ee),{modelValue:t,"onUpdate:modelValue":N[0]||(N[0]=G=>t=G),onChange:I},{default:a(()=>[l(e(T),{title:V.$t("baseForm.form.project"),name:"project"},{default:a(()=>[l(me,{"project-data":d.Project},null,8,["project-data"])]),_:1},8,["title"]),l(e(T),{title:V.$t("baseForm.form.label.people"),name:"people"},{default:a(()=>[l(oe,{ref_key:"peopleFormRef",ref:o,"project-data":d,"people-vis":u.value},null,8,["project-data","people-vis"])]),_:1},8,["title"]),l(e(T),{title:V.$t("baseForm.form.label.Objectives"),name:"objectives"},{default:a(()=>[l(te,{ref_key:"objectiveRef",ref:_},null,512)]),_:1},8,["title"]),l(e(T),{title:V.$t("baseForm.form.label.plan"),name:"plan"},{default:a(()=>[l(ue,{ref_key:"planFromRef",ref:v,"project-data":d,"plan-vis":z.value},null,8,["project-data","plan-vis"])]),_:1},8,["title"]),l(e(T),{title:V.$t("baseForm.form.label.evaluation"),name:"evaluation"},{default:a(()=>[l(se,{ref_key:"evaluationRef",ref:F},null,512)]),_:1},8,["title"]),l(e(T),{title:V.$t("baseForm.form.label.mentortitle"),name:"mentortitle"},{default:a(()=>[l(de,{ref_key:"mentorRef",ref:b},null,512),R("div",ve,f(V.$t("baseForm.form.label.mentortip")),1)]),_:1},8,["title"]),l(e(T),{title:V.$t("baseForm.form.label.remindertitle"),name:"remindertitle"},{default:a(()=>[l(fe,{ref_key:"reminderRef",ref:s},null,512)]),_:1},8,["title"])]),_:1}),R("div",Ve,[l(e(Y),{type:"primary","native-type":"submit",onClick:c},{default:a(()=>[m(f(V.$t("baseForm.form.submit")),1)]),_:1}),l(e(Y),{onClick:n},{default:a(()=>[m(f(V.$t("baseForm.form.cancel")),1)]),_:1})])])])])}}});const Oe=A(ce,[["__scopeId","data-v-74df977c"]]);export{Oe as default};
diff --git a/admin-website/src/main/resources/static/assets/index-5c60c43e.css b/admin-website/src/main/resources/static/assets/index-5c60c43e.css
deleted file mode 100644
index e64a906..0000000
--- a/admin-website/src/main/resources/static/assets/index-5c60c43e.css
+++ /dev/null
@@ -1 +0,0 @@
-.container-edit h3[data-v-bb007481]{height:25px;color:#202e54;font-weight:bolder;font-size:18px;line-height:25px;text-align:left}.contain[data-v-bb007481]{width:90%;margin-top:10%;color:var(--ti-common-color-text-secondary);font-size:var(--ti-default-font-size);line-height:var(--ti-formfield-item-required-label-line-height)}.contain .tip[data-v-bb007481]{color:#999;font-size:var(--ti-common-font-size-base)}.contain .btn[data-v-bb007481]{margin-top:6%}.contain .btn[data-v-bb007481] .tiny-button{width:100px;height:36px;border-radius:4px}.contain[data-v-bb007481] .row-flex{padding-bottom:20px}.container-edit h3[data-v-a2c95e32]{width:72px;height:25px;color:#202e54;font-weight:bolder;font-size:18px;line-height:25px;text-align:left}.contain[data-v-a2c95e32]{width:90%;margin-top:10%;color:var(--ti-common-color-text-secondary);font-size:var(--ti-default-font-size);line-height:var(--ti-formfield-item-required-label-line-height)}.contain .tip[data-v-a2c95e32]{color:#999;font-size:var(--ti-common-font-size-base)}.contain .btn[data-v-a2c95e32]{margin-top:6%}.contain .btn[data-v-a2c95e32] .tiny-button{width:100px;height:36px;border-radius:4px}.contain[data-v-a2c95e32] .row-flex{padding-bottom:20px}.container-del h3[data-v-2fa667e7]{height:25px;color:#202e54;font-weight:bolder;font-size:18px;line-height:25px;text-align:left}.contain[data-v-2fa667e7]{display:flex;justify-content:space-around;margin-top:10%}.contain img[data-v-2fa667e7]{width:38px;height:33px}.contain .contain-main[data-v-2fa667e7]{width:430px}.contain .btn[data-v-2fa667e7]{margin-top:6%}.contain .btn[data-v-2fa667e7] .tiny-button{width:100px;height:36px;border-radius:4px}.contain .del[data-v-2fa667e7]{color:red}.contain div[data-v-2fa667e7]{margin-bottom:3%}.container-contracts[data-v-19a1fa63]{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:calc(100% - 60px);margin:0 auto;overflow:hidden}[data-v-19a1fa63] .tiny-grid-button__wrapper{width:100%}[data-v-19a1fa63] .tiny-pager{float:right}[data-v-19a1fa63] .tiny-modal__box{background:#fff;border-radius:8px;box-shadow:0 0 30px 15px #252b3a4d}.contracts-card[data-v-19a1fa63]{flex:1 1 auto;margin:8px 10px;padding:0 30px;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 0 8px 8px #a9aeb80d}.btn[data-v-19a1fa63]{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-around;height:100px}.btn span[data-v-19a1fa63]{width:56px;height:20px;color:#202e54;font-weight:400;font-size:14px;line-height:20px;text-align:left}.btn button[data-v-19a1fa63]{display:block;border-radius:4px}.operation[data-v-19a1fa63]{color:#526ecc}.content[data-v-19a1fa63] .tiny-grid{height:inherit}
diff --git a/admin-website/src/main/resources/static/assets/index-6106af56.js b/admin-website/src/main/resources/static/assets/index-6106af56.js
deleted file mode 100644
index 8cdf104..0000000
--- a/admin-website/src/main/resources/static/assets/index-6106af56.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as w,a0 as b,a8 as r,u as x,v as S,w as s,l as t,H as i,W as a,E as c,J as u,Z as I,_ as $}from"./vue-fdfdc7c1.js";import{_ as C,a as z,b as D,c as k}from"./home-down-1ba808d1.js";import{P as G,R as m,C as h,a as d,G as P}from"./index-c544811c.js";import"./index-cd31dfea.js";import{n as B,_ as N}from"./index-387d5142.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";const o=n=>(I("data-v-b51475b6"),n=n(),$(),n),R={class:"preview-main"},V={class:"preview-card"},j={class:"col"},E=o(()=>s("div",{class:"img"},[s("img",{src:C,class:"image"})],-1)),O={class:"num"},H={class:"up"},J={class:"left"},L={id:"up",class:"right"},M=o(()=>s("img",{src:z,class:"image"},null,-1)),T=o(()=>s("span",null,"0.88%",-1)),W=o(()=>s("div",{class:"down"},[s("span",{class:"left"},"3.23"),s("span",{class:"right"},"/ s")],-1)),Z={class:"col"},q=o(()=>s("div",{class:"img"},[s("img",{src:D,class:"image"})],-1)),A={class:"num"},F={class:"up"},K=o(()=>s("span",{class:"left"},"DOM Ready",-1)),Q={id:"down",class:"right"},U=o(()=>s("img",{src:k,class:"image"},null,-1)),X=o(()=>s("span",null,"0.88%",-1)),Y=o(()=>s("div",{class:"down"},[s("span",{class:"left"},"1.56"),s("span",{class:"right"},"/ s")],-1)),ss={class:"preview-table"},es=w({__name:"index",setup(n){const{t:p}=b(),_=[{id:"1",space:"4G",pv:"1767(97.77%)",play:"0.44s"},{id:"2",space:"2G",pv:"22(1.77%)",play:"0.43s"},{id:"3",space:p("home.round.unknow"),pv:"32(1.77%)",play:"0.44s"},{id:"4",space:p("home.round.unknow"),pv:"32(1.77%)",play:"0.44s"}],g=r({component:G,attrs:{currentPage:1,pageSize:5,pageSizes:[5,10],total:0,layout:"total, prev, pager, next, jumper, sizes"}});async function f(e={pageIndex:1,pageSize:10}){const l=_.length;return{result:_,page:{total:l}}}const v=r({api:({page:e})=>{const{currentPage:l,pageSize:y}=e;return f({pageIndex:l,pageSize:y})}});return(e,l)=>(x(),S("div",R,[s("div",V,[t(a(B),null,{default:i(()=>[t(a(m),{flex:!0},{default:i(()=>[t(a(h),{span:6},{default:i(()=>[s("div",j,[E,s("div",O,[s("div",H,[s("span",J,c(e.$t("home.main.one")),1),s("span",L,[u(c(e.$t("home.main.day"))+" ",1),M,T])]),W])])]),_:1}),t(a(h),{span:6},{default:i(()=>[s("div",Z,[q,s("div",A,[s("div",F,[K,s("span",Q,[u(c(e.$t("home.main.day"))+" ",1),U,X])]),Y])])]),_:1})]),_:1}),t(a(m),{flex:!0,justify:"center"})]),_:1})]),s("div",ss,[t(a(P),{ref:"grid","fetch-data":v,pager:g},{default:i(()=>[t(a(d),{field:"id",title:e.$t("home.roundtable.index"),width:"160"},null,8,["title"]),t(a(d),{field:"space",title:e.$t("home.roundtable.space"),width:"180"},null,8,["title"]),t(a(d),{field:"pv",title:e.$t("home.roundtable.pv"),width:"180"},null,8,["title"]),t(a(d),{field:"play",title:e.$t("home.roundtable.play"),width:"200"},null,8,["title"])]),_:1},8,["fetch-data","pager"])])]))}});const cs=N(es,[["__scopeId","data-v-b51475b6"]]);export{cs as default};
diff --git a/admin-website/src/main/resources/static/assets/index-639d8402.js b/admin-website/src/main/resources/static/assets/index-639d8402.js
deleted file mode 100644
index f59840f..0000000
--- a/admin-website/src/main/resources/static/assets/index-639d8402.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as v,u as g,v as f,l,H as h,W as d,w as e,E as m,J as x,Z as b,_ as C,a0 as S,r as k,j as B,n as G,a2 as Z,i as D,a8 as O,k as M}from"./vue-fdfdc7c1.js";import{_ as N,a as H,b as V,c as P}from"./home-down-1ba808d1.js";import{R as j,C as w,P as U,a as _,G as L}from"./index-c544811c.js";import{n as Y,_ as y,l as I}from"./index-387d5142.js";import"./index-cd31dfea.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";const T="/ui/admin/assets/home-mainup-790fbb5c.png",E="/ui/admin/assets/home-main1-6952b2e4.png",p=n=>(b("data-v-2ef760ef"),n=n(),C(),n),F={class:"main"},K={class:"col"},W=p(()=>e("div",{class:"img"},[e("img",{src:N,class:"image"})],-1)),Q={class:"num"},J={class:"up"},X={class:"left"},q={id:"up",class:"right"},$=p(()=>e("img",{src:H,class:"image"},null,-1)),ee=p(()=>e("span",null,"0.88%",-1)),ae=p(()=>e("div",{class:"down"},[e("span",{class:"left"},"3.23"),e("span",{class:"right"}," / S")],-1)),te={class:"col"},se=p(()=>e("div",{class:"img"},[e("img",{src:V,class:"image"})],-1)),oe={class:"num"},ne={class:"up"},le=p(()=>e("span",{class:"left"},"DOM Ready",-1)),ie={id:"down",class:"right"},re=p(()=>e("img",{src:P,class:"image"},null,-1)),ce=p(()=>e("span",null,"0.88%",-1)),de=p(()=>e("div",{class:"down"},[e("span",{class:"left"},"1.56"),e("span",{class:"right"}," / S")],-1)),pe={class:"col"},ue=p(()=>e("div",{class:"img"},[e("img",{src:T,class:"image"})],-1)),me={class:"num"},_e={class:"up"},he={class:"left"},ve={id:"up",class:"right"},ge=p(()=>e("img",{src:H,class:"image"},null,-1)),fe=p(()=>e("span",null,"0.88%",-1)),ye=p(()=>e("div",{class:"down"},[e("span",{class:"left"},"3.69"),e("span",{class:"right"}," / S")],-1)),Ae={class:"col"},be=p(()=>e("div",{class:"img"},[e("img",{src:E,class:"image"})],-1)),Ce={class:"num"},Se={class:"up"},xe={class:"left"},we={id:"down",class:"right"},Oe=p(()=>e("img",{src:P,class:"image"},null,-1)),ke=p(()=>e("span",null,"0.88%",-1)),Be=p(()=>e("div",{class:"down"},[e("span",{class:"left"},"0.69"),e("span",{class:"right"}," / S")],-1)),Ge=v({__name:"main",setup(n){return(s,u)=>(g(),f("div",F,[l(d(Y),null,{default:h(()=>[l(d(j),{flex:!0,justify:"center"},{default:h(()=>[l(d(w),{span:4},{default:h(()=>[e("div",K,[W,e("div",Q,[e("div",J,[e("span",X,m(s.$t("home.main.one")),1),e("span",q,[x(m(s.$t("home.main.day"))+" ",1),$,ee])]),ae])])]),_:1}),l(d(w),{span:4},{default:h(()=>[e("div",te,[se,e("div",oe,[e("div",ne,[le,e("span",ie,[x(m(s.$t("home.main.day"))+" ",1),re,ce])]),de])])]),_:1}),l(d(w),{span:4},{default:h(()=>[e("div",pe,[ue,e("div",me,[e("div",_e,[e("span",he,m(s.$t("home.main.up")),1),e("span",ve,[x(m(s.$t("home.main.day"))+" ",1),ge,fe])]),ye])])]),_:1}),l(d(w),{span:4},{default:h(()=>[e("div",Ae,[be,e("div",Ce,[e("div",Se,[e("span",xe,m(s.$t("home.main.down")),1),e("span",we,[x(m(s.$t("home.main.day"))+" ",1),Oe,ke])]),Be])])]),_:1})]),_:1})]),_:1})]))}});const De=y(Ge,[["__scopeId","data-v-2ef760ef"]]),R="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAHeklEQVRYR81Y228WRRQ/Z7ZQQMHEELkkYAtyC7fPiJoYIhAE4UFjJCAQffBBfaFN+QNIgOJfQEj8iIhKDIZgjBsohApUW1EjopEgxdBCwMICghEotGV3xpy57Jzdb1uCaYjz0H67ey6/+Z0zZ84MQm6o4zPGQSLnA+IsADUaAKvyMoP7rGJQeA1AnYJAtOG805e5fXQP6ujCKhgRrZQACwQCAkgmJzKY6Ev2zSBBVqAAVSuIR/fgvJ/vkVUNUIMbfnkdAM7IuBISpMZp4NBfA06CFACC/rAhhQRBX6WfgJenL8aAljMG6MG8FEaPfgsM2uHOmK24qCU2AI9NXwMgF2rXVi9FZI0aHMaQcWLtO/jWjyQHJCmE9k/CZo4augVPfgikUTYTysUkgBZ8vn03qrZp4yGADVIpLeHEDBeOMYeSv3FQHIUuJSwQw6WdltMzst6Hi4r/7oBKRCkS2UgAVwGqxdJmo1AeFL1z7rRlZZJCv1OWqTRRAJyukeFZLACUtAnl7fD00PJk39lTRDoexqRt+iZAOTabY964eOHMu86QOrM+VNebokzi5R6ywAaSrGTTSacMo4gwaZ22DUBVFS5Lyo35DGD7+lD91RTl6PGe8gufL3f+rQh38cxiTL6ZWh6QkRdzAK8OzOD9OXswCUxappZNsSkeIgOwIVRXDhSHuD8bNm8LrfOcYznOZQ1AvgLyObWAMfh7Q6iu9QOQ642cNSp9vHOuG5Lu5MF489KYHOEhttOl5eTq5+I//CI51RCqqxwgp8f9ViAW5XUoLYji3DKtQJ0PgwJMvvYMKtB7HBsKBAd4kgAaZ3pXSqWdY7teKnQORAZ+fkL98epQEMDmKTrERpXP0jp7ibFxsiGUV5oiJ5dNLwOaRlCg46AUpSpN1bFrfvm/GFuA+hUrC+45WMoA/tYQyqtNEUoA2necjP5vU4J+iwIdDZBqtZXT+mTHInc26B3fajA+MKXsCa2kPFjGAP7aEMooW2aKMiurUx/K6KBe+fjYjJE4cvooPbW+G33yasu1+wUZ4yYTYj0KkAbLOcD6UF4+GFXI5TIjq+MnJWZuLuGE1c9pX92dUfLtsjBji8ff5g/GTZPLpjVhc/H7PnBnyS/1IRAb6a5guxunasOT0TlRH8IVoyNmby7hRAvwdmeUtC4LvdfiLhPjkDFouz3fBwEErzAGT9SHsouH2PdyBrRxwnUSAthlQgxzN5eCFGBHlBxdHvpt0zaRrD/UORuHk8sVmaq/kMWcs+P1IVCIqeeb3VjCmjU6XOp2ZySPLg2dneDVs2nt1AD/NJMSc7wOEINHlvoQOyrd6rGlBeOvJg+4F2ecEcBLlsE5jaUgBdgRySMvp+H6LzpuledTDeMvKQf7OX8IgOA1xsZP9SFcbIp0ypYYwFsdkWx2ACUEr3d6BrXOvkh34nMbS0GtZZ10Di+xk3LtuGlx/XKQgH1f1JZdw01NKBUqoSRIW7CG5J1d2GdWcen9UjDJO4ubyRnpAgQr2KR+NCHWzS9NiunI5iWhA6SbVfKdduG2sPTtJYB+5BfzkBWMjR9okeyLtMzTOYCHloSupSvS0TmY05GHDEA3+FEgrXx9n1uA+YOClRiykgE8Vh9KChc5e3ZLKZi01iySWx1RfHBJ6MrPkDe4Tl0ou/YbHQL4FGOddPgoqDTY4wCSAba5OtmsMwbwGebsZkcUH/BsVGcAGh2yV1WgkwHIzjGOL+zZXVvuhzxNSPVqxsZ3daG8aNmYt6UUPGUZvNkR9TX5EHOd+FhdmFwwOlUFOqaYVV4TuNBjz2e15fR8mtsR6LF6rQcYt9aFycX9kaCCN2zsUBgxepg2f+9uLG+dvZPm0uMzR7m1KG91dot73YmOyLAnhsKIMcO0HOn8c/YOqXuAJoTmWYGg/qpnV3aRZClXUP3mOV8y2nd+r/5uv0HqZvstOulkz87Fe2jWC9mKO/Z22XVrP9oGsOfTmrLvdiu7heq3PMB8vgzmc++u2u2VsBVgz8c15YKjvpEVAA8N4CcWYO4GBHs+Igb7H9VvPyQGd+YZtAHv2fHkNn0HWNyL+x5xMOM50FGU+1GqF+9+WLMJEfTVx/9tIMhL2Lt94ioZiMX6LOCKEkdq35u7L3OOoNy027Z56d7Z35ljAFvodrvVKukh1eqmZxG296GSh7F7x4TxIsENqIRQ7v6PAXEA9DddtCSgFOaQZOXSiLEKow9DWoVKkshcbhkiJCh2ial7E3e2o54FpUwC1agzr/eDCWsUBgtdeXSUmLQ0wAigq33ZI0jaj7DDI5VYV2rpvyu/7hTXT3tnI0f2UUBL9Tvnd2sMaiNU3R03cR0qMSN1jhJQMWC5Kbp6T6jM3adlSoMxoGhi9NsPAQrdvTOBNZPTPu1ZFpFuYUX78Cvnt+JGMFfAKcixNStRyQWIgP6uIOvcA8knrWGY7xwGgHvnmc7esTL8ijIHW4eK0XvwPXaJzkSge+uE8ViF8xHULAQxWqEKUie683YHpcz9cHqIz+DRoTJR4JflKCUo6rB1DstehXBdAZxWsWp7pO7iJY7nX5Z2E5VlYvhPAAAAAElFTkSuQmCC",ze=n=>(b("data-v-f83ab95d"),n=n(),C(),n),Ze={class:"curve"},Ie=ze(()=>e("img",{src:R,class:"image"},null,-1)),Re=v({__name:"curve",setup(n){const{t:s}=S(),{currentLocale:u}=I();let r=D("echarts");const c=k();let t={tooltip:{trigger:"axis",axisPointer:{type:"cross",crossStyle:{color:"#999"}}},legend:{data:[s("home.main.down"),s("home.curve.play"),s("home.curve.page")],top:"10"},dataZoom:[{type:"inside",start:10},{type:"slider"}],xAxis:[{type:"category",data:new Array(20).fill("16:00"),axisPointer:{type:"shadow"},axisLabel:{formatter(a,o){return o%2!==0,a}}}],yAxis:[{type:"value",min:0,max:50,interval:5,axisLabel:{formatter:"{value} s"}},{type:"value",min:0,max:30,interval:5,axisLabel:{formatter:"{value}"}}],series:[{name:s("home.main.down"),type:"bar",barWidth:12,itemStyle:{color:"#4e85f4",barBorderRadius:[5,5,0,0]},tooltip:{valueFormatter(a){return`${a} s`}},data:[22,4.9,7,23.2,25.6,16.7,15.6,22.2,12.6,22,6.4,33.3,22,4.9,7,23.2,25.6,16.7,15.6,22.2,12.6,22,6.4,33.3,22,4.9,7,23.2,25.6,16.7,15.6,22.2,12.6,22,6.4,33.3]},{name:s("home.curve.play"),type:"line",smooth:!0,showSymbol:!1,yAxisIndex:1,lineStyle:{normal:{color:"#5f45ff"}},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(163, 156, 211,0.2)"},{offset:1,color:"rgba(58,132,255, 0)"}],global:!1}},tooltip:{valueFormatter(a){return a}},data:[22,4.9,7,23.2,25.6,16.7,15.6,22.2,12.6,22,6.4,3.3,22,4.9,7,23.2,25.6,16.7,15.6,22.2,12.6,22,6.4,3.3,22,4.9,7,23.2,25.6,16.7,15.6,22.2,12.6,22,6.4,33.3]},{name:s("home.curve.page"),type:"line",smooth:!0,showSymbol:!1,yAxisIndex:1,lineStyle:{normal:{color:"#ff9e03"}},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(226, 210, 66,0.2)"},{offset:1,color:"rgba(58,132,255, 0)"}],global:!1}},tooltip:{valueFormatter(a){return a}},data:[22,9,17,27.2,15.6,26.7,25.6,22.2,12.6,22,26.4,13.3,22,24.9,12,23.2,25.6,26.7,25.6,22.2,22.6,22,26.4,23.3,22,24,27,13.2,15.6,16.7,11.6,22.2,22.6,32,16.4,13.3]}]};return B(()=>{const a=c.value,o=r.init(a);t&&o.setOption(t),window.addEventListener("resize",()=>{o.resize()}),G(()=>{o.resize()})}),Z(u,(a,o)=>{const i=c.value,A=r.init(i);a==="zhCN"?(t.legend.data=["采样PV","首屏可见","页面Onload"],t.series[0].name="采样PV",t.series[1].name="首屏可见",t.series[2].name="页面Onload"):(t.legend.data=["Sampling PV","Visible on the first screen","Page Onload"],t.series[0].name="Sampling PV",t.series[1].name="Visible on the first screen",t.series[2].name="Page Onload"),A.setOption(t)}),(a,o)=>(g(),f("div",Ze,[Ie,e("h3",null,m(a.$t("home.curve.trend")),1),e("div",{id:"line",ref_key:"echartsDom",ref:c},null,512)]))}});const He=y(Re,[["__scopeId","data-v-f83ab95d"]]),Pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAISklEQVRYR71Ze3BVxRn/vkPGoe2UP2qQBKcgr6gV65UGKUyG4ISmtZCqUKJ0WqbSDulgUFKm0TYNJoLPTqlOZNqrM7a106FD6TjuiAkkIblNCHmSlJehII8Q00NuSICSgHKz29nn2XNy743K1PNH7tk9+33fb7/3bhACz3PRcLrjjGYxCnMRMRUQUwAoOOAAFWvlXwBH/eqxN8e/ULEuuEZykV8UP8ZiwCAKDjtK6YTGkskF/7EhoR6UsbKUlIHJqxAgG4CZ+eAG/r9jZAygYXJqys4CLLjOZQkgHJwz8JVCoHinDUBq4vN5bF0jg+7RKRcqyrAsJgBudn+3GgGWADCFRiuQj5O96/V6r/Z6PpeIPvjNVoLkyQDrn00r2oHFPS9NTUnBUuFmQfVpl7NVaW/VehfbcNQWx7ql5BzfLce6tVodi7Et+FTvc/kUIEfogDnS+5glAdU8UKlLBOCOwn9RKZBxZLbXMgqoEXN2fMx/xR+1VskQU5yd4Kt2jFTwpgi1WHS2rJyBkyYXUgDqADpUGceBbdNK12nF/nlgF/nXyPuuWAeOFBrHRTUvBEd+pwAoZHO+kk6rk1EK4Diedvlasw/qYuGp0u0MQKQS+ehdyNFrtz1rAL7Zv5McHD7kCmljkCkUQjOeJnxu6PMB7TeWPE2rdo4AMVx3sjjsC1VBp4gdgPCslwzAN87vIO2Xu1yx4zGP2iCndfS7tWcxpejMdxuk3phfo/jY8aJw/FQiif+Usc0A3O6+Rdoud7nx2GqjJYqzODsScBOlff0NHz1aGE4WpH/9WoUBWPHhH0nzpYNuslrCgcye+NVJGlDv9fPD10Y/HtXjgGHH5Nng5nHlkYKwL18FUsGuu/9gAG479wZputzhxk0ZwnoyvHfdFaC52OF6VU/nRvVrUhUDcFAFi5c/Ma/zsbCXP0Su8fAyABJ60wB8+czvSePFNgnQzt/2GADIPQGaS+2uiapxc7eVGxgAPtD5o3A8/9Bz74XeMgBfOLOdNAy2eNpIQDiG5mKL3NRneDC344cCoA4sbgpjZQpQmfkXA/D50xWkYahV+KDPb223AIDKeTbNa6RhqMWN62wBwCIlqjmRDLihlrY9mlSD1Zk7DMCtH7xKIkPN42rDT1NBIkNNgmb2l2Z8edbE6ZP4fq7ELn984NLB6HhKxZzWR0SaCUaymEOAmsy/GYBbPniF1A1KgMFos6O0Zr5N8yqpGzzgcl4bp/0ktPyWb93H1/Zc63PXHv45CZbtIBbMbl2pNMjLEgW0VzgA9fN3GYDlJ18hdUIbuhTG3/9YmkaxqU3TC0J5FsA1h58gJiOI8sbLoB8iZjWvCBv/0/ZXKuLzkYX/MAA3n/wtqYs2uaJ0BhK/KuOCQ8MCP00k2uRynyqewQHmCg2evdrnrunaIDWYoMBwObiw6XthrxHxDCcbAoCmhe8YgKUnfkNqB6QGi2euDz005dtG2A+6HifCAgCwP0CzT9H8wkfT667uepx4SUWi9BoJnpgcwAX785IGSfMiYgCWnHiZ1EaluZ6atT708JTvKIC97iOd66W5AOCz0CQKFsxsWBa22znZpsmCzf2hddF7BuAvj79Iai9wgBSenlkYWpH2XQHwzNVeN7/jZ0RHTmvWu4bmV90vkurBRpdr5umZ6300qzrXEdm2yTZPmpqqdlSOcV7DA6rUxdkDBehYXOkB7H6B7B34p8hpJXM2hFakK4Aj59yV7VyY9KeOrDg0AFAye4MF8Jy7smMdCcSEP51wk98TyfWZWDaZXvB3Ld5jABZ3P0/29keENkrmPBH6fvoyqcGRc+7D7T81Ju4M0FT3R1xe4X5t0ZxWNMHjY6BSA94dWSoB6j5ee6paeWhxtQfw2FZSNRBx+drSjI2hVenLBUAu7MH2tUTzOJRt0XRvJVXnIyIPlsx50k/TtpbYbbmnGg823lWfozQotSZbck+DR7L3GYCbjm0he6IRESSbM54M5afnKYA97vK2tSIi+XMku8ZHUxWtEzTPZBT5aPLafkw8jfnlalvjHfuyZS2Oc+jic0fvrzfCio6Wk6p+Kaz8jk1G2KmRHndZyxqi62g8Gv7tmYxNofxb5aY4TV7LGl8l0VFg6jH3wYyaxUnTzPGciAG48fBmUtkvNThlYupNk2+6eSJ/v0avxk5e6RnRAuZOut00rKeHzw4Pj14TDWsymoRpZk5NlmViG7vsP/+9dL93quv5+4FjV04MJmJ2I/Nv9+3+UOYVleZUecEZ1QvjaNCcVuGUBfBGAIxHO7Nm0etyje+ADXjbngVhrxgGHZHC6dxmo8HxhNzI9xk133zdTtaaF06rnC81qKyrz9E6gZ7Nbf1cAE7fe5/SoGxEBBxu8Vv3fGM7Un4H+Omf4FXRJ+EQvJ5KRKN4f4RTq+4tRzYhzXf3wKkEJ76FOIdMg8xucwOXWUZystY2cFYQfKk5tDGAPkzbPS8fkebYMEyrp2LF3COocYBt0jvEuJ164MCe6JyNjNVi6t57p6bEaCk/lUr1o6o+njHQdxHjvzLyKgGnY9ZKOY73SBpvtYxbOZbSxYjGrjtbxCh199dXO4hLhJmFenTEqOOemdPf1f1NwMI+MEbtfO3YGyw7MMW7UaO0D2WsfmDZoR0Sbt2SlNThaCEA3Claee57RoAk0Ffo/nCXkOQVu5YizwO6vZPtpfrueFfrHh6LUh95EboHvnhzBdxfL6+ADcj/RldRB7OBMt51jb2gDhSahGvso9onCW29xkHGGG0YSv/CTsjs8C7RbR6p79w+leKELAA2l/F/QzCY8Glk2GsTXXAG+H3EEC44DN532GjjwIPH++zv/wOqmhHBZasEuwAAAABJRU5ErkJggg==",Ue=n=>(b("data-v-282ced62"),n=n(),C(),n),Le={class:"falls"},Me=Ue(()=>e("img",{src:Pe,class:"image"},null,-1)),Ne=v({__name:"falls",setup(n){const{t:s}=S(),{currentLocale:u}=I();let r=D("echarts");const c=k(),t=[{label:"Dns",value:"Dns"},{label:s("home.falls.tcp"),value:"TCP"},{label:s("home.falls.ssl"),value:"SSL"},{label:"Dns",value:"Dns"},{label:s("home.falls.tcp"),value:"TCP"},{label:s("home.falls.ssl"),value:"SSL"},{label:"Dns",value:"Dns"},{label:s("home.falls.tcp"),value:"TCP"},{label:s("home.falls.ssl"),value:"SSL"},{label:"Dns",value:"Dns"},{label:s("home.falls.tcp"),value:"TCP"},{label:s("home.falls.ssl"),value:"SSL"}];let a={tooltip:{trigger:"axis",axisPointer:{type:"shadow"},formatter(o){let i;return o[1].value!=="-"?i=o[1]:i=o[0],i.name+"<br/>"+i.seriesName+" : "+i.value}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"value",show:!1},yAxis:{type:"category",axisLabel:{formatter(o,i){var A,z;return((A=t[i])==null?void 0:A.label)+"  "+((z=t[i])==null?void 0:z.value)+"  "+o+"s"},margin:20}},series:[{name:"Placeholder",type:"bar",stack:"Total",itemStyle:{borderColor:"transparent",color:"transparent"},emphasis:{itemStyle:{borderColor:"transparent",color:"transparent"}},data:[0,900,405,250,136,236,651,169,156,195,192]},{name:"Income",type:"bar",stack:"Total",itemStyle:{color:"#4e85f4",barBorderRadius:[2,2,2,2]},label:{show:!1},data:[500,"-",593,"-","-",135,178,286,"-","-","-"]},{name:"Expenses",type:"bar",stack:"Total",itemStyle:{color:"#5f45ff",barBorderRadius:[5,5,5,5]},label:{show:!1},data:["-","-","-",408,154,"-","-","-",119,361,"-"]},{name:"test",type:"bar",stack:"Total",itemStyle:{color:"#e2b525 ",barBorderRadius:[5,5,5,5]},label:{show:!1},data:["-",99,"-","-","-","-","-","-","-","-",32]}]};return B(()=>{const o=c.value,i=r.init(o);a&&i.setOption(a),window.addEventListener("resize",()=>{i.resize()}),G(()=>{i.resize()})}),Z(u,(o,i)=>{const A=c.value;r.init(A).setOption(a)}),(o,i)=>(g(),f("div",Le,[Me,e("h3",null,m(o.$t("home.falls.line")),1),e("div",{id:"flow",ref_key:"echartsDom",ref:c},null,512)]))}});const Ve=y(Ne,[["__scopeId","data-v-282ced62"]]),je={class:"container"},Ye=v({__name:"roundtable",setup(n){const{t:s}=S(),u=O({component:U,attrs:{currentPage:1,pageSize:10,pageSizes:[5,10],total:0,layout:"total, prev, pager, next, jumper, sizes"}});async function r(a={pageIndex:1,pageSize:10}){let o=(a.pageIndex-1)*a.pageSize;const i=t.length;return{result:t.slice(o,o+a.pageSize),page:{total:i}}}const c=O({api:({page:a})=>{const{currentPage:o,pageSize:i}=a;return r({pageIndex:o,pageSize:i})}}),t=[{id:"1",space:"4G",pv:"1767(97.77%)",play:"0.44s",page:"2.7s"},{id:"2",space:"2G",pv:"22(1.77%)",play:"0.43s",page:"1.1s"},{id:"3",space:s("home.round.unknow"),pv:"32(1.77%)",play:"0.44s",page:"1.7s"},{id:"4",space:s("home.round.unknow"),pv:"32(1.77%)",play:"0.44s",page:"1.7s"},{id:"5",space:"3G",pv:"16(0.88%)",play:"0.66s",page:"3.12s"},{id:"6",space:"5G",pv:"1765(97.35%)",play:"0.44s",page:"1.7s"},{id:"7",space:"2G",pv:"32(1.77%)",play:"0.65s",page:"2.92s"}];return(a,o)=>(g(),f("div",je,[l(d(L),{ref:"grid","fetch-data":c,pager:u},{default:h(()=>[l(d(_),{field:"id",title:a.$t("home.roundtable.index"),width:"100"},null,8,["title"]),l(d(_),{field:"space",title:a.$t("home.roundtable.space"),width:"200"},null,8,["title"]),l(d(_),{field:"pv",title:a.$t("home.roundtable.pv"),width:"220"},null,8,["title"]),l(d(_),{field:"play",title:a.$t("home.roundtable.play"),width:"200"},null,8,["title"]),l(d(_),{field:"page",title:a.$t("home.roundtable.page")},null,8,["title"])]),_:1},8,["fetch-data","pager"])]))}});const Te=y(Ye,[["__scopeId","data-v-83d55124"]]),Ee=n=>(b("data-v-efe9211a"),n=n(),C(),n),Fe={class:"round"},Ke=Ee(()=>e("img",{src:R,class:"image"},null,-1)),We={class:"round-from"},Qe=v({__name:"round",setup(n){S();const{currentLocale:s}=I();let u=D("echarts");const r=k();let c={tooltip:{trigger:"item"},legend:{orient:"vertical",y:"center",x:"right"},series:[{type:"pie",selectedMode:"single",radius:["60%","80%"],itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},avoidLabelOverlap:!0,label:{show:!1,position:"center"},width:"100%",emphasis:{label:{show:!0,fontSize:"40",fontWeight:"bold"}},labelLine:{show:!1},data:[{value:300,name:"5G"},{value:1048,name:"4G"},{value:735,name:"unknow"},{value:580,name:"3G"}]}]};return B(()=>{const t=r.value,a=u.init(t);c&&a.setOption(c),window.addEventListener("resize",()=>{a.resize()}),G(()=>{a.resize()})}),Z(s,(t,a)=>{const o=r.value;u.init(o).setOption(c)}),(t,a)=>(g(),f("div",Fe,[e("div",null,[Ke,e("h3",null,m(t.$t("home.round.title")),1),e("div",{id:"circled",ref_key:"echartsDom",ref:r},null,512)]),e("div",We,[l(Te)])]))}});const Je=y(Qe,[["__scopeId","data-v-efe9211a"]]),Xe={class:"container"},qe=v({__name:"regiontable",setup(n){S();const s=[{id:"1",space:"上海",pv:"1767(97.77%)",page:"2.7s"},{id:"2",space:"香港",pv:"22(1.77%)",page:"1.1s"},{id:"3",space:"北京",pv:"32(1.77%)",page:"1.7s"},{id:"4",space:"广东",pv:"32(1.77%)",page:"1.7s"},{id:"5",space:"江苏",pv:"16(0.88%)",page:"3.12s"},{id:"6",space:"福建",pv:"1765(97.35%)",page:"1.7s"},{id:"7",space:"四川",pv:"32(1.77%)",page:"2.92s"}],u=O({component:U,attrs:{currentPage:1,pageSize:10,pageSizes:[5,10],total:0,layout:"total, prev, pager, next, jumper, sizes"}}),r=O({api:({page:t})=>{const{currentPage:a,pageSize:o}=t;return c({pageIndex:a,pageSize:o})}});async function c(t={pageIndex:1,pageSize:10}){let a=(t.pageIndex-1)*t.pageSize;const o=s.length;return{result:s.slice(a,a+t.pageSize),page:{total:o}}}return(t,a)=>(g(),f("div",Xe,[l(d(L),{ref:"grid","fetch-data":r,pager:u},{default:h(()=>[l(d(_),{field:"id",title:t.$t("home.roundtable.index"),width:"200"},null,8,["title"]),l(d(_),{field:"space",title:t.$t("home.region.title"),width:"260"},null,8,["title"]),l(d(_),{field:"pv",title:t.$t("home.roundtable.pv"),width:"260"},null,8,["title"]),l(d(_),{field:"page",title:t.$t("home.roundtable.page")},null,8,["title"])]),_:1},8,["fetch-data","pager"])]))}});const $e=y(qe,[["__scopeId","data-v-6c846ff9"]]),ea=n=>(b("data-v-5c348cc6"),n=n(),C(),n),aa={class:"region"},ta={class:"region-title"},sa=ea(()=>e("img",{src:R,class:"image"},null,-1)),oa={class:"region-from"},na=v({__name:"region",setup(n){const s=[{name:"北京",value:35e4},{name:"天津",value:12e4},{name:"上海",value:3e5},{name:"重庆",value:92e3},{name:"河北",value:25e3},{name:"河南",value:2e4},{name:"云南",value:500},{name:"辽宁",value:3050},{name:"黑龙江",value:8e4},{name:"湖南",value:2e3},{name:"安徽",value:24580},{name:"山东",value:40629},{name:"新疆",value:36981},{name:"江苏",value:13569},{name:"浙江",value:24956},{name:"江西",value:15194},{name:"湖北",value:41398},{name:"广西",value:41150},{name:"甘肃",value:17630},{name:"山西",value:27370},{name:"内蒙古",value:27370},{name:"陕西",value:97208},{name:"吉林",value:88290},{name:"福建",value:19978},{name:"贵州",value:94485},{name:"广东",value:89426},{name:"青海",value:35484},{name:"西藏",value:97413},{name:"四川",value:54161},{name:"宁夏",value:56515},{name:"海南",value:54871},{name:"台湾",value:48544},{name:"香港",value:49474},{name:"澳门",value:34594}];let u=D("echarts");const r=k();let c={tooltip:{trigger:"item"},visualMap:{show:!0,top:"-5px",x:"left",y:"bottom",realtime:!1,splitList:[{start:5e3,end:5e5},{start:4e3,end:5e3},{start:3e3,end:4e3},{start:2e3,end:3e3},{start:1e3,end:2e3},{start:0,end:1e3}],color:["#9feaa5","#5475f5","#85daef","#74e2ca","#e6ac53","#9fb5ea"]},series:[{name:"china",type:"map",mapType:"china",roam:!1,zoom:1.2,top:"30px",itemStyle:{normal:{areaColor:"#000",borderColor:"skyblue",borderWidth:1,shadowColor:"#ccc",shadowBlur:30,opacity:1}},label:{normal:{show:!0,textStyle:{fontSize:5}}},data:s}]};return B(()=>{const t=r.value,a=u.init(t);window.addEventListener("resize",()=>{a.resize()}),c&&a.setOption(c),G(()=>{a.resize()})}),(t,a)=>(g(),f("div",aa,[e("div",null,[e("div",ta,[sa,e("h3",null,m(t.$t("home.region.title")),1)]),e("div",{id:"earth",ref_key:"echartsDom",ref:r},null,512)]),e("div",oa,[l($e)])]))}});const la=y(na,[["__scopeId","data-v-5c348cc6"]]),ia={class:"container"},ra={class:"contain"},ca=v({__name:"index",setup(n){return(s,u)=>{const r=M("Breadcrumb");return g(),f("div",ia,[l(r,{items:["menu.board","menu.home"]}),e("div",ra,[l(De),l(He),l(Ve),l(Je),l(la)])])}}});const ga=y(ca,[["__scopeId","data-v-9655f689"]]);export{ga as default};
diff --git a/admin-website/src/main/resources/static/assets/index-694a71ab.js b/admin-website/src/main/resources/static/assets/index-694a71ab.js
deleted file mode 100644
index 03a8489..0000000
--- a/admin-website/src/main/resources/static/assets/index-694a71ab.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import{s as J,a8 as P,y as W,z,d as $,p as D,j as q,ac as V,a as R,$ as H,b as Y,c as X}from"./index-387d5142.js";import{u as s,v as d,w as a,k as b,M as C,E as u,y,B as w,A as f,D as h,G as I,J as Q,I as x,L as ee,z as g,N as A,H as k,l as te}from"./vue-fdfdc7c1.js";import{i as ne,a as re}from"./chevron-up-775d40e5.js";var se={viewBox:"0 0 2 12",xmlns:"http://www.w3.org/2000/svg"},oe=a("path",{d:"M1 0a.75.75 0 0 1 .75.75v6.5a.75.75 0 0 1-1.5 0V.75A.75.75 0 0 1 1 0Zm0 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"},null,-1),ie=[oe];function ae(e,t){return s(),d("svg",se,[].concat(ie))}var le={render:ae},de=J({name:"IconWarn",component:le});const ue=e=>({date:P(e,"yyyy-MM-dd"),time:P(e,"hh:mm")}),ce=({state:e,t})=>n=>{const r=e.current-n;return r>0?t("ui.steps.done"):t(r===0?"ui.steps.doing":"ui.steps.wait")},me=({props:e})=>()=>{const{space:t}=e;return/^\d+$/.test(t)?`${t}px`:t},pe=({emit:e,state:t})=>({index:n,node:r})=>{r.disabled||e("click",t.isReverse?t.nodes.length-n-1:n,r)},ve=({constants:e,state:t})=>(n,r)=>{const{PROCESS_DONE_CLS:v,PROCESS_CUR_CLS:m,PROCESS_WAIT_CLS:p,PROCESS_DISABLED_CLS:o,PROCESS_ERROR_CLS:i}=e,l={},c=t.isReverse;return r!=null&&r.disabled?l[o]=!0:r!=null&&r.error?l[i]=!0:(l[v]=c?n>t.current:n<t.current,l[m]=n===t.current,l[p]=c?n<t.current:n>t.current),l},fe=({props:e,state:t})=>()=>e.data?t.isReverse?e.data.map((n,r)=>W(z({},e.data[e.data.length-1-r]),{index:r})):e.data.map((n,r)=>W(z({},n),{index:r})):t.timelineItems,he=({props:e,state:t})=>()=>t.isReverse?t.nodes.length-e.active-1:e.active,ye=e=>()=>e.reverse&&e.vertical,ge=({state:e,props:t})=>()=>e.nodes.length>=t.nodeMax&&!t.foldDisabled?(e.showData=!0,e.nodes.slice(0,t.limitedNodes)):e.nodes,Ce=({state:e})=>()=>(e.showAll=!e.showAll,e.showAll),Se=({props:e})=>()=>{const{vertical:t,reverse:n,textPosition:r,showDivider:v}=e,m=[];return t?m.push("tiny-steps-timeline",{reverse:n,"tiny-timeline__shape-dot":e.shape==="dot"}):m.push("tiny-steps-normal",r==="right"?"text-right":"text-bottom"),v&&r==="right"&&m.push("show-divider"),m},be=({props:e})=>t=>{const n=!e.data[t.index].fold;return e.data[t.index].fold=n,n},T=["state","handleClick","getStatusCls","getStatus","getDate","changeStatus","toggleFold"],j=(e,{computed:t,reactive:n,provide:r,watch:v},{t:m,emit:p,constants:o,designConfig:i})=>{const l={},c=n({nodes:t(()=>l.computedData()),timelineItems:[],current:t(()=>l.computedCurrent()),isReverse:t(()=>l.computedIsReverse()),stackNodes:t(()=>c.showAll?c.nodes:l.computedStackNodes()),computedSpace:t(()=>l.computedSpace()),showData:!1,showAll:!1,computedWrapperClass:t(()=>l.computedWrapperClass())});return Object.assign(l,{state:c,getDate:ue,computedData:fe({props:e,state:c}),computedCurrent:he({props:e,state:c}),computedIsReverse:ye(e),computedSpace:me({props:e}),getStatus:ce({state:c,t:m}),handleClick:pe({emit:p,state:c}),getStatusCls:ve({constants:o,state:c}),computedStackNodes:ge({state:c,props:e}),changeStatus:Ce({state:c}),computedWrapperClass:Se({props:e}),toggleFold:be({props:e})}),r("nodesInject",{timelineItems:c.timelineItems,nodes:c.nodes,props:e}),v(()=>c.timelineItems,S=>{S.forEach((Z,G)=>Z.index=G)},{immediate:!0,deep:!0}),l},$e=e=>({date:P(e,"yyyy-MM-dd"),time:P(e,"hh:mm")}),ke=({state:e,t})=>n=>{const r=e.current-n;return r>0?t("ui.steps.done"):t(r===0?"ui.steps.doing":"ui.steps.wait")},we=()=>e=>/^\d+$/.test(String(e))?`${e}px`:e||"",Fe=({emit:e,state:t})=>n=>{const{index:r}=n||{};n.disabled||e("click",t.isReverse?t.nodesLength-r-1:r,n)},Ie=({constants:e,state:t})=>n=>{const{index:r}=n,{PROCESS_DONE_CLS:v,PROCESS_CUR_CLS:m,PROCESS_WAIT_CLS:p,PROCESS_DISABLED_CLS:o,PROCESS_ERROR_CLS:i}=e,l={},c=t.isReverse;return n!=null&&n.disabled?l[o]=!0:n!=null&&n.error?l[i]=!0:(l[v]=c?r>t.current:r<t.current,l[m]=r===t.current,l[p]=c?r<t.current:r>t.current),l},Oe=({state:e,api:t})=>()=>e.isReverse?e.nodesLength-t.rootProps.active-1:t.rootProps.active,Pe=e=>()=>e.rootProps.reverse&&e.rootProps.vertical,Ae=({props:e,api:t,state:n})=>()=>{const r=[];return t.rootProps.vertical?(r.push("timeline"),e.node.type&&r.push(`timeline-item--${e.node.type}`)):r.push("normal"),e.node.type||r.push(t.getStatusCls(e.node)),n.computedLineWidth&&r.push("no-flex"),r},De=({props:e,api:t})=>()=>{let n=["icon",{"step-icon":t.rootProps.textPosition==="right"}];return["success","warning","error"].includes(e.node[e.autoColorField])?n.push(`icon-${e.node[e.autoColorField]}`):e.node[e.autoColorField]&&n.push("icon-custom"),n},Re=({props:e,state:t,api:n})=>()=>{const{index:r}=e.node,{computedSpace:v,nodesLength:m}=t,{textPosition:p,vertical:o}=n.rootProps;return o?{height:r===m-1?"":v}:p==="right"?v&&!t.computedLineWidth?{flex:`0 0 ${v}`}:null:{width:v||100/m+"%"}},Ee=["state","handleClick","getStatusCls","getStatus","getDate","rootProps"],Ne=(e,{computed:t,reactive:n,inject:r},{t:v,emit:m,constants:p})=>{const o={},{timelineItems:i,nodes:l,props:c}=r("nodesInject");i.push(e.node);const S=n({nodesLength:t(()=>l.length),current:t(()=>o.computedCurrent()),isReverse:t(()=>o.computedIsReverse()),computedSpace:t(()=>o.computedWidth(e.space||o.rootProps.space)),computedItemCls:t(()=>o.computedItemCls()),computedItemStyle:t(()=>o.computedItemStyle()),computedLineWidth:t(()=>o.computedWidth(e.lineWidth||o.rootProps.lineWidth)),iconClass:t(()=>o.computedIconClass())});return Object.assign(o,{state:S,rootProps:c,getDate:$e,computedCurrent:Oe({state:S,api:o}),computedIsReverse:Pe(o),computedItemCls:Ae({props:e,api:o,state:S}),computedItemStyle:Re({props:e,state:S,api:o}),computedWidth:we(),getStatus:ke({state:S,t:v}),handleClick:Fe({emit:m,state:S}),getStatusCls:Ie({constants:p,state:S}),computedIconClass:De({props:e,api:o})}),o};function Le(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Te(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Te(e,t){if(e){if(typeof e=="string")return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}}function M(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var je=function(t,n){for(var r=t.__vccOpts||t,v=Le(n),m;!(m=v()).done;){var p=m.value,o=p[0],i=p[1];r[o]=i}return r},We=$({emits:["click"],props:[].concat(D,["node","space","lineWidth","shape","autoColorField"]),components:{IconWarn:de(),IconClose:q(),IconYes:V()},setup:function(t,n){return R({props:t,context:n,renderless:Ne,api:Ee})}}),ze={key:0,class:"number"},Me={class:"node-description"},Be=["textContent"],Ue={class:"tiny-timeline-item__description",ref:"description"},_e={class:"date-time"},Ke={class:"time"},Ve={class:"tiny-steps__node"},He={key:0,class:"number"},Ye={class:"node-description"},Xe=["textContent"],Ze={key:0,class:"status"},Ge={key:0,class:"date-time"},Je={class:"date"},qe={class:"time"},Qe={class:"tiny-timeline-item__pillar"},xe={key:1,class:"number"},et={key:1,class:"dot"},tt=a("div",{class:"line"},null,-1),nt={class:"name"},rt={key:0,class:"time"};function st(e,t,n,r,v,m){var p=b("icon-close"),o=b("icon-warn"),i=b("icon-yes");return s(),d("div",{class:f(["tiny-timeline-item",e.state.computedItemCls]),style:I(e.state.computedItemStyle)},[e.rootProps.vertical?(s(),d(C,{key:1},[h(e.$slots,"left",{slotScope:e.node},function(){return[e.shape==="circle"?(s(),d("div",Ge,[a("span",Je,u(e.getDate(e.node[e.rootProps.timeField]).date),1),a("span",qe,u(e.getDate(e.node[e.rootProps.timeField]).time),1)])):g("v-if",!0)]}),a("div",Qe,[e.shape==="circle"?(s(),d("div",{key:0,class:f(e.state.iconClass),onClick:t[4]||(t[4]=function(l){return e.handleClick(e.node)})},[(e.state.isReverse?e.node.index>e.state.current:e.node.index<e.state.current)||e.node[e.autoColorField]?(s(),d(C,{key:0},[e.node[e.autoColorField]==="error"||e.node.error?(s(),y(p,{key:0,class:"tiny-svg-size fixicon icon-error"})):e.node[e.autoColorField]==="warning"?(s(),y(o,{key:1,class:"tiny-svg-size fixicon icon-warning"})):e.node[e.autoColorField]==="success"||!e.node[e.autoColorField]?(s(),y(i,{key:2,class:"tiny-svg-size fixicon icon-yes"})):(s(),y(w(e.node[e.autoColorField]),{key:3,class:"fixicons"}))],64)):(s(),d("span",xe,u(e.rootProps.showNumber?e.state.isReverse?e.state.nodesLength-1-e.node.index+e.rootProps.start:e.node.index+e.rootProps.start:""),1))],2)):(s(),d("div",{key:1,class:"dot-container",onClick:t[5]||(t[5]=function(l){return e.handleClick(e.node)})},[e.node[e.autoColorField]?(s(),y(w(e.node[e.autoColorField]),{key:0,class:"fixicons"})):(s(),d("span",et))])),tt]),h(e.$slots,"right",{slotScope:e.node},function(){return[a("div",{class:"tiny-timeline-item__content",onClick:t[6]||(t[6]=function(l){return e.handleClick(e.node)})},[a("div",nt,u(e.node[e.rootProps.nameField]),1),e.shape==="dot"?(s(),d("div",rt,u(e.node[e.rootProps.timeField]),1)):g("v-if",!0)])]})],64)):(s(),d(C,{key:0},[e.rootProps.textPosition==="right"?(s(),d(C,{key:0},[a("div",{class:f(e.state.iconClass),onClick:t[0]||(t[0]=function(l){return e.handleClick(e.node)})},[(e.node.index>=e.state.current||e.rootProps.onlyNumber)&&!e.node[e.autoColorField]&&!e.node.error?(s(),d("span",ze,u(e.rootProps.showNumber?e.node.index+e.rootProps.start:""),1)):(s(),d(C,{key:1},[e.node[e.autoColorField]==="error"||e.node.error?(s(),y(p,{key:0,class:"tiny-svg-size fixicon icon-error"})):e.node[e.autoColorField]==="warning"?(s(),y(o,{key:1,class:"tiny-svg-size fixicon icon-warning"})):e.node[e.autoColorField]==="success"||e.node.index<e.state.current&&!e.node[e.autoColorField]?(s(),y(i,{key:2,class:"tiny-svg-size fixicon icon-yes"})):(s(),y(w(e.node[e.autoColorField]),{key:3,class:"fixicons"}))],64))],2),a("div",Me,[h(e.$slots,"text",{slotScope:e.node},function(){return[a("div",{class:"name",textContent:u(e.node[e.rootProps.nameField]),onClick:t[1]||(t[1]=function(l){return e.handleClick(e.node)})},null,8,Be)]}),a("div",{class:f(["line",{"line-done":e.node.index<e.state.current,"line-end":e.node.index===e.state.nodesLength-1}]),style:I({width:e.state.computedLineWidth})},null,6),a("div",Ue,[h(e.$slots,"description",{slotScope:e.node},function(){return[Q(u(e.node.description),1)]}),x(a("div",null,[h(e.$slots,"active-node-desc",{slotScope:e.node})],512),[[ee,e.node.index===e.rootProps.active]])],512)])],64)):(s(),d(C,{key:1},[h(e.$slots,"top",{slotScope:e.node},function(){return[a("div",_e,[a("span",Ke,u(e.getDate(e.node[e.rootProps.timeField]).date)+" "+u(e.getDate(e.node[e.rootProps.timeField]).time),1)])]}),a("div",Ve,[a("div",{class:f(e.state.iconClass),onClick:t[2]||(t[2]=function(l){return e.handleClick(e.node)})},[(e.node.index>=e.state.current||e.rootProps.onlyNumber)&&!e.node[e.autoColorField]&&!e.node.error?(s(),d("span",He,u(e.rootProps.showNumber?e.node.index+e.rootProps.start:""),1)):(s(),d(C,{key:1},[e.node[e.autoColorField]==="error"||e.node.error?(s(),y(p,{key:0,class:"tiny-svg-size fixicon icon-error"})):e.node[e.autoColorField]==="warning"?(s(),y(o,{key:1,class:"tiny-svg-size fixicon icon-warning"})):e.node[e.autoColorField]==="success"||e.node.index<e.state.current&&!e.node[e.autoColorField]?(s(),y(i,{key:2,class:"tiny-svg-size fixicon icon-yes"})):(s(),y(w(e.node[e.autoColorField]),{key:3,class:"fixicons"}))],64))],2),a("div",{class:f(["line",{"line-done":e.node.index<e.state.current,"line-end":e.node.index===e.state.nodesLength-1}])},null,2)]),a("div",Ye,[h(e.$slots,"bottom",{slotScope:e.node},function(){return[a("div",{class:"name",textContent:u(e.node[e.rootProps.nameField]),onClick:t[3]||(t[3]=function(l){return e.handleClick(e.node)})},null,8,Xe),e.rootProps.showStatus?(s(),d("div",Ze,u(e.getStatus(e.node.index)),1)):g("v-if",!0)]})])],64))],64))],6)}var ot=je(We,[["render",st]]);function N(){return N=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},N.apply(this,arguments)}var it=function(t){var n;return typeof process=="object"&&((n={})==null||n.TINY_MODE),ot},at={PROCESS_DONE_CLS:"process-done",PROCESS_CUR_CLS:"process-current",PROCESS_WAIT_CLS:"process-wait",PROCESS_DISABLED_CLS:"process-disabled",PROCESS_ERROR_CLS:"process-error",STACK_NODES_MAX:7,LIMITED_STACK_NODES:3},lt=N({},H,{node:{type:Object,default:{}},_constants:{type:Object,default:function(){return at}},space:{type:[String,Number],default:""},lineWidth:{type:[String,Number],default:""},autoColorField:{type:String,default:"autoColor"}}),F=$({name:Y+"TimelineItem",props:lt,setup:function(t,n){return X({props:t,context:n,template:it})}}),dt="3.16.0";F.install=function(e){e.component(F.name,F)};F.version=dt;function ut(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ct(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ct(e,t){if(e){if(typeof e=="string")return B(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return B(e,t)}}function B(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var mt=function(t,n){for(var r=t.__vccOpts||t,v=ut(n),m;!(m=v()).done;){var p=m.value,o=p[0],i=p[1];r[o]=i}return r},pt=$({emits:["click"],props:[].concat(D,["vertical","horizontal","showNumber","nameField","timeField","start","data","space","active","reverse","showStatus","size","textPosition","showDivider","onlyNumber","lineWidth","shape","autoColorField"]),components:{TinyTimelineItem:F},setup:function(t,n){return R({props:t,context:n,renderless:j,api:T})}}),vt={key:0,class:"tiny-steps__bottom-divider"};function ft(e,t,n,r,v,m){var p=b("tiny-timeline-item");return s(),d("div",{class:f(["tiny-timeline tiny-steps",{"is-horizontal":e.horizontal&&!e.vertical,"tiny-steps--mini":e.size==="mini"}])},[a("div",{class:f(e.state.computedWrapperClass)},[h(e.$slots,"default",{},function(){return[(s(!0),d(C,null,A(e.state.nodes,function(o,i){return s(),y(p,{key:i,node:o,space:e.space,"line-width":e.lineWidth,shape:e.shape,autoColorField:e.autoColorField,onClick:function(c){return e.handleClick({index:i,node:o})}},{"active-node-desc":k(function(l){return[h(e.$slots,"active-node-desc",{node:l.node})]}),top:k(function(l){var c=l.slotScope;return[h(e.$slots,"top",{slotScope:c})]}),bottom:k(function(l){var c=l.slotScope;return[h(e.$slots,"bottom",{slotScope:c})]}),left:k(function(l){var c=l.slotScope;return[h(e.$slots,"left",{slotScope:c})]}),right:k(function(l){var c=l.slotScope;return[h(e.$slots,"right",{slotScope:c})]}),_:2},1032,["node","space","line-width","shape","autoColorField","onClick"])}),128))]})],2),e.textPosition==="right"&&e.showDivider?(s(),d("div",vt)):g("v-if",!0)],2)}var U=mt(pt,[["render",ft]]);function ht(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=yt(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yt(e,t){if(e){if(typeof e=="string")return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}}function _(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var gt=function(t,n){for(var r=t.__vccOpts||t,v=ht(n),m;!(m=v()).done;){var p=m.value,o=p[0],i=p[1];r[o]=i}return r},Ct=$({emits:["click"],props:[].concat(D,["vertical","horizontal","showNumber","nameField","timeField","start","data","space","active","reverse","showStatus","showFoldBtn"]),components:{IconYes:V()},setup:function(t,n){return R({props:t,context:n,renderless:j,api:T})}}),St={key:0,class:"tiny-mobile-steps-normal"},bt={class:"date-time"},$t={class:"time"},kt=["onClick"],wt={key:0},Ft=["custom-title"],It={class:"node-description"},Ot=["textContent"],Pt={class:"status"},At={class:"header"},Dt={key:0,class:"date-time-vertical"},Rt={class:"time"},Et={class:"name"},Nt=["onClick"];function Lt(e,t,n,r,v,m){var p=b("icon-yes");return s(),d("div",{class:f(["tiny-mobile-steps",{"is-horizontal":e.horizontal&&!e.vertical}])},[e.vertical?(s(),d("div",{key:1,class:f(["tiny-mobile-steps-timeline",{reverse:e.reverse}])},[(s(!0),d(C,null,A(e.state.nodes,function(o,i){return s(),d("div",{key:i,class:"timeline"},[a("ul",null,[a("li",null,[a("div",At,[o.time?(s(),d("div",Dt,[a("span",Rt,u(e.getDate(o[e.timeField]).date)+" "+u(e.getDate(o[e.timeField]).time),1)])):g("v-if",!0),a("span",{class:f(["round","round-"+o.state])},null,2),h(e.$slots,"header",{item:o},function(){return[a("div",Et,u(o.name),1)]}),o.showFoldBtn?(s(),d("div",{key:1,class:"arrow-btn",onClick:function(c){return e.toggleFold(o)}},[a("div",{class:f(["arrow-btn-arrow",o.fold?"arrow-btn-arrow-fold":""])},null,2)],8,Nt)):g("v-if",!0)]),o.fold?g("v-if",!0):(s(),d("div",{key:0,class:f(["content",o.time?"content-left-margin":null])},[h(e.$slots,"content",{item:o})],2)),e.state.nodes.length>1?(s(),d("div",{key:1,class:f(["line",o.time?"line-left-margin":null])},null,2)):g("v-if",!0)])])])}),128))],2)):(s(),d("div",St,[(s(!0),d(C,null,A(e.state.nodes,function(o,i){return s(),d("div",{key:i,style:I({width:e.horizontal?e.space?e.space+"px":100/e.state.nodes.length+"%":null}),class:f(["normal",e.getStatusCls(i)])},[h(e.$slots,"top",{slotScope:o},function(){return[a("div",bt,[a("span",$t,u(e.getDate(o[e.timeField]).date)+" "+u(e.getDate(o[e.timeField]).time),1)])]}),a("div",{class:"icon",onClick:function(c){return e.handleClick({index:i,node:o})}},[i>=e.state.current?(s(),d("span",wt,u(e.showNumber?i+e.start:""),1)):(s(),d("span",{key:1,"custom-title":i+e.start,class:"icon-wrap"},[te(p,{class:"tiny-svg-size fixicon"})],8,Ft))],8,kt),a("div",{class:f(["line",{"line-done":i<e.state.current,"line-end":i===e.state.nodes.length-1}])},null,2),a("div",It,[h(e.$slots,"bottom",{item:o},function(){return[a("div",{class:"name",textContent:u(o[e.nameField])},null,8,Ot),a("div",Pt,u(e.showStatus?e.getStatus(i):""),1)]})])],6)}),128))]))],2)}var Tt=gt(Ct,[["render",Lt]]);function jt(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Wt(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wt(e,t){if(e){if(typeof e=="string")return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K(e,t)}}function K(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var zt=function(t,n){for(var r=t.__vccOpts||t,v=jt(n),m;!(m=v()).done;){var p=m.value,o=p[0],i=p[1];r[o]=i}return r},Mt=$({emits:["click"],props:[].concat(D,["vertical","nameField","timeField","tipsField","autoColorField","data","space","subField","foldDisabled","nodeMax","limitedNodes"]),components:{IconChevronDown:ne(),IconChevronUp:re()},setup:function(t,n){return R({props:t,context:n,renderless:j,api:T})}}),Bt={class:"inline-flex flex-col","data-tag":"tiny-timeline"},Ut={class:"inline-flex sm:items-start","data-tag":"tiny-timeline-list"},_t={class:"text-color-text-secondary text-left !mr-2 inline-flex text-xs"},Kt={class:"sm:inline-block hidden leading-5 w-32"},Vt={class:"ml-1"},Ht={class:"sm:hidden inline-flex flex-col leading-5.5 w-20"},Yt={class:"text-sm"},Xt={class:"text-sm mb-6"},Zt={class:"mt-1 w-3 h-3 leading-3 box-border relative text-xs text-center -ml-1.5 cursor-pointer inline-flex items-center justify-center align-top"},Gt={key:1,class:f(["rounded-full block w-1.5 h-1.5 bg-color-brand"])},Jt={"data-tag":"tiny-timeline-list-left",class:"sm:text-color-text-secondary text-color-text-placeholder text-left sm:pl-3 !pl-2 inline-flex flex-col sm:flex-row"},qt={class:"inline-block sm:text-xs text-sm sm:leading-5 leading-5.5"},Qt={key:0,class:"sm:hidden inline-block sm:leading-5 leading-5.5 text-sm overflow-hidden text-ellipsis whitespace-nowrap max-w-[theme(spacing.56)] mb-6 text-color-text-primary"},xt={key:1,class:"sm:hidden max-w-[theme(spacing.56)] inline-block text-color-icon-secondary text-xs mt-2.5 leading-5"},en={key:0,class:"max-w-[theme(spacing.56)] inline-block text-color-icon-secondary sm:text-xs text-sm leading-5 mb-4 break-all break-words"},tn={class:"inline-block leading-5.5 sm:text-xs text-sm overflow-hidden text-ellipsis whitespace-nowrap max-w-[theme(spacing.56)]"},nn={key:0,class:"max-w-[theme(spacing.56)] break-all break-words leading-5 inline-block text-color-icon-secondary text-xs sm:text-xs"},rn={key:0,"data-tag":"tiny-timeline-showdata",class:"sm:ml-6 ml-5 sm:m-0 my-1 sm:leading-5 sm:h-5 leading-5.5 inline-flex items-center"},sn={key:0,class:"inline-flex items-center"},on={key:1,class:"inline-flex items-center"};function an(e,t,n,r,v,m){var p=b("icon-chevron-up"),o=b("icon-chevron-down");return s(),d("div",Bt,[(s(!0),d(C,null,A(e.state.stackNodes,function(i,l){return s(),d("div",{"data-tag":"tiny-timeline-nodes",key:l,style:I({height:l===e.state.stackNodes.length-1?"":e.space&&e.space+"px"}),class:f(["inline-flex",e.getStatusCls(l)])},[a("ul",Ut,[e.subField?h(e.$slots,"left",{key:0,slotScope:i},function(){return[a("li",_t,[a("div",Kt,[a("span",null,u(e.getDate(i[e.timeField]).date),1),a("span",Vt,u(e.getDate(i[e.timeField]).time),1)]),a("div",Ht,[a("span",Yt,u(e.getDate(i[e.timeField]).date),1),a("span",Xt,u(e.getDate(i[e.timeField]).time),1)])])]}):g("v-if",!0),a("li",{"data-tag":"tiny-timeline-autocolor",style:I({height:l===e.state.stackNodes.length-1?"":e.space&&e.space+"px"}),class:"ml-1.5 relative h-full"},[a("div",{class:f(["sm:w-px absolute mt-4 h-[calc(100%-theme(spacing.3))]",{"sm:bg-color-bg-3 sm:border-0 border-l-0.5 border-l-color-bg-3":l!==e.state.stackNodes.length-1}])},null,2),a("div",Zt,[typeof i[e.autoColorField]=="string"?(s(),d("span",{key:0,class:f(["rounded-full block w-1.5 h-1.5",i[e.autoColorField]==="success"&&"bg-color-success",i[e.autoColorField]==="error"&&"bg-color-error",i[e.autoColorField]==="info"&&"bg-color-text-disabled"])},null,2)):i[e.autoColorField]?(s(),y(w(i[e.autoColorField]),{key:2})):(s(),d("span",Gt))])],4),e.subField?g("v-if",!0):h(e.$slots,"left",{key:1,slotScope:i},function(){return[a("li",Jt,[a("span",qt,u(e.getDate(i[e.timeField]).date)+" "+u(e.getDate(i[e.timeField]).time),1),i[e.nameField]?(s(),d("span",Qt,u(i[e.nameField]),1)):g("v-if",!0),i[e.tipsField]?(s(),d("span",xt,u(i[e.tipsField]),1)):g("v-if",!0)])]}),a("li",{class:f(["hidden sm:text-xs text-sm text-color-text-primary sm:inline-flex flex-col",e.subField?"!ml-4.5":"!ml-3 "])},[a("span",{class:f(["inline-block leading-5 sm:text-xs text-sm overflow-hidden text-ellipsis whitespace-nowrap max-w-[theme(spacing.56)]",{"mb-4":!e.subField}])},u(i[e.nameField]),3),e.subField?(s(),d("span",en,u(i[e.tipsField]),1)):g("v-if",!0)],2),e.subField?(s(),d("li",{key:2,class:f(["sm:hidden text-xs text-color-text-primary inline-flex flex-col",e.subField?"!ml-4.5":"!ml-3 "])},[a("span",tn,u(i[e.nameField]),1),i[e.tipsField]?(s(),d("span",nn,u(i[e.tipsField]),1)):g("v-if",!0)],2)):g("v-if",!0)])],6)}),128)),e.state.showData?(s(),d("div",rn,[a("div",{"data-tag":"tiny-timeline-status",class:"sm:h-3 h-3.5 cursor-pointer inline-flex text-color-brand fill-color-brand sm:text-xs text-sm",onClick:t[0]||(t[0]=function(){return e.changeStatus&&e.changeStatus.apply(e,arguments)})},[e.state.showAll?(s(),d("span",sn,"收起")):(s(),d("span",on,"展开")),e.state.showAll?(s(),y(p,{key:2,class:"w-3 h-3 sm:ml-2 ml-1 my-px sm:my-0"})):(s(),y(o,{key:3,class:"w-3 h-3 sm:ml-2 ml-1 my-px sm:my-0"}))])])):g("v-if",!0)])}var ln=zt(Mt,[["render",an]]);function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},L.apply(this,arguments)}var dn=function(t){var n,r=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(r||t)==="pc"?U:(r||t)==="mobile"?Tt:(r||t)==="mobile-first"?ln:U},E={PROCESS_DONE_CLS:"process-done",PROCESS_CUR_CLS:"process-current",PROCESS_WAIT_CLS:"process-wait",PROCESS_DISABLED_CLS:"process-disabled",PROCESS_ERROR_CLS:"process-error",STACK_NODES_MAX:7,LIMITED_STACK_NODES:3},un=L({},H,{_constants:{type:Object,default:function(){return E}},vertical:{type:Boolean,default:!1},horizontal:{type:Boolean,default:!0},showNumber:{type:Boolean,default:!0},nameField:{type:String,default:"name"},timeField:{type:String,default:"time"},tipsField:{type:String,default:"tips"},autoColorField:{type:String,default:"autoColor"},showIconField:{type:String,default:"showIcon"},start:{type:Number,default:1},data:Array,space:{type:[String,Number],default:""},active:{type:Number,default:-1},reverse:{type:Boolean,default:!1},showStatus:{type:Boolean,default:!1},subField:{type:Boolean,default:!1},foldDisabled:{type:Boolean,default:!1},nodeMax:{type:[Number,String],default:E.STACK_NODES_MAX},limitedNodes:{type:[Number,String],default:E.LIMITED_STACK_NODES},onlyNumber:{type:Boolean,default:!1},lineWidth:{type:[String,Number],default:""},shape:{type:String,default:"circle"}}),O=$({name:Y+"TimeLine",props:un,setup:function(t,n){return X({props:t,context:n,template:dn})}}),cn="3.16.0";O.install=function(e){e.component(O.name,O)};O.version=cn;export{O as T};
diff --git a/admin-website/src/main/resources/static/assets/index-6efc23fe.css b/admin-website/src/main/resources/static/assets/index-6efc23fe.css
deleted file mode 100644
index 404f3ed..0000000
--- a/admin-website/src/main/resources/static/assets/index-6efc23fe.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-form{--ti-form-valid-padding-horizontal:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-valid-padding-vertical:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-item-margin-right:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-label-top-margin-bottom:var(--ti-common-space-4x, 16px);--ti-form-label-top-label-line-height:var(--ti-common-size-height-normal, 28px);--ti-form-label-top-label-height:var(--ti-common-size-height-normal, 28px);width:100%;overflow:hidden}.tiny-form div{outline:0}.tiny-form--inline .tiny-form-item,.tiny-form--inline .tiny-form-item__content{display:inline-block;vertical-align:top}.tiny-form--inline .tiny-form-item{margin-right:var(--ti-form-item-margin-right)}.tiny-form--inline .tiny-form-item__label{float:none;display:inline-block}.tiny-form--inline .tiny-form--label-top .tiny-form-item__content{display:block}.tiny-form--label-left.has-required .tiny-form-item__label{padding-left:12px}.tiny-form--label-left .tiny-form-item__label{text-align:left}.tiny-form--label-left.label-align .tiny-form-item.is-required .tiny-form-item__label{padding-left:12px;position:relative}.tiny-form--label-left.label-align .tiny-form-item.is-required .tiny-form-item__label:before{font-size:20px;line-height:1;position:absolute;left:0;top:60%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-form--label-left.label-align .tiny-form-item.is-required~.tiny-form-item .tiny-form-item__label{padding-left:12px}.tiny-form--label-top .tiny-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 8px;height:var(--ti-form-label-top-label-height);line-height:var(--ti-form-label-top-label-line-height)}.tiny-form--label-top .tiny-form-item,.tiny-form--label-top .tiny-form{margin-bottom:var(--ti-form-label-top-margin-bottom)}.tiny-form--inline.tiny-form--label-top .tiny-form-item{margin-bottom:16px;margin-right:64px}.tiny-form--inline.tiny-form--label-top .tiny-form-item__label{display:block;text-align:left}.tiny-form__valid{--ti-form-valid-padding-horizontal:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-valid-padding-vertical:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-item-margin-right:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-label-top-margin-bottom:var(--ti-common-space-4x, 16px);--ti-form-label-top-label-line-height:var(--ti-common-size-height-normal, 28px);--ti-form-label-top-label-height:var(--ti-common-size-height-normal, 28px)}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper{padding:var(--ti-form-valid-padding-vertical) var(--ti-form-valid-padding-horizontal)}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper .tooltip-validate-icon{fill:var(--ti-tooltip-validate-icon-color);margin-right:8px}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-4px}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper[x-placement^=top]{margin-bottom:6px}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom]{margin-top:6px}.tiny-form__valid .tiny-form-item__validate-message{vertical-align:middle}.tiny-form.is-display-only .tiny-form-item__label{line-height:1.5;height:auto;vertical-align:inherit}.tiny-form.is-display-only .tiny-form-item__content{line-height:1.5;font-size:14px;height:auto;vertical-align:inherit}.tiny-form.is-display-only .tiny-form-item.is-required:not(.is-no-asterisk) .tiny-form-item__label-wrap>.tiny-form-item__label:before,.tiny-form.is-display-only .tiny-form-item.is-required:not(.is-no-asterisk)>.tiny-form-item__label:before{content:""}.tiny-form.is-display-only .tiny-form-item__content .tiny-checkbox{line-height:1.5}.tiny-form.is-display-only .tiny-form-item__content .tiny-radio{line-height:1;padding:0}.tiny-form.is-display-only .tiny-form-item__content .tiny-switch{margin-top:0}.tiny-form.is-display-only .tiny-form-item__content .tiny-input.tiny-range-editor.tiny-input__inner{height:18px}.tiny-form.is-display-only .tiny-form-item__content .tiny-textarea__inner{height:0;padding:0;border-style:none}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__content .tiny-input .tiny-input__inner,.tiny-form.is-display-only .tiny-form-item--mini .tiny-form-item__content .tiny-input .tiny-input__inner,.tiny-form.is-display-only .tiny-form-item--small .tiny-form-item__content .tiny-input .tiny-input__inner{height:36px;line-height:36px}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__content,.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__label,.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__content .tiny-tooltip{font-size:14px}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__label{padding-bottom:12px}.tiny-form-item{--ti-form-item-small-line-height:var(--ti-common-line-height-6, 32px);--ti-form-item-medium-line-height:calc(var(--ti-common-line-height-7, 36px) + 4px);--ti-form-item-mini-line-height:var(--ti-common-line-height-5, 24px);--ti-form-item-label-line-height:var(--ti-common-size-height-normal, 28px);--ti-form-item-input-mini-height:var(--ti-common-size-6x, 24px);--ti-form-item-input-small-height:var(--ti-common-size-8x, 32px);--ti-form-item-input-medium-height:var(--ti-common-size-10x, 40px);--ti-form-item-label-font-size:var(--ti-common-font-size-1, 14px);--ti-form-item-label-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-form-item-error-font-size:var(--ti-common-font-size-base, 12px);--ti-form-item-error-text-color:var(--ti-common-color-error, #f66f6a);--ti-form-item-error-star-text-color:var(--ti-common-color-error, #f66f6a);--ti-form-item-error-border-color:var(--ti-common-color-error-border, #f66f6a);--ti-form-item-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-form-item-margin-bottom-default:var(--ti-common-space-5x, 20px);--ti-form-item-margin-bottom-mini:var(--ti-common-space-2x, 8px);--ti-form-item-margin-bottom-small:var(--ti-common-space-2x, 8px);--ti-form-item-margin-bottom-medium:var(--ti-common-space-3x, 12px);--ti-form-item-error-star-display:inline-block;--ti-form-item-error-inline-margin-left:calc(var(--ti-common-space-base, 4px) * 2.5);--ti-form-item-error-block-padding-top:var(--ti-common-space-2x, 8px);--ti-form-item-extra-tip-margin-top:var(--ti-common-space-2x, 8px);--ti-form-item-extra-tip-font-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-form-item-extra-tip-font-size:var(--ti-common-font-size-1, 14px);--ti-form-item-extra-tip-line-height:var(--ti-common-line-height-number, 1.5);font-family:var(--ti-common-font-family);margin-bottom:var(--ti-form-item-margin-bottom-default)}.tiny-form-item:after,.tiny-form-item:before{content:"";display:table}.tiny-form-item:after{clear:both}.tiny-form-item .tiny-form-item__content-muti-children{width:100%}.tiny-form-item .tiny-form-item__extra-tip{line-height:var(--ti-form-item-extra-tip-line-height);margin-top:var(--ti-form-item-extra-tip-margin-top);color:var(--ti-form-item-extra-tip-font-color);font-size:var(--ti-form-item-extra-tip-font-size)}.tiny-form-item .tiny-form-item{margin-bottom:0}.tiny-form-item--small .tiny-form-item__error{padding-top:2px}.tiny-form-item--mini .tiny-form-item__error{padding-top:1px}.tiny-form-item--medium{margin-bottom:var(--ti-form-item-margin-bottom-medium)}.tiny-form-item--medium .tiny-form-item__content,.tiny-form-item--medium .tiny-form-item__content .tiny-checkbox,.tiny-form-item--medium .tiny-form-item__content .tiny-radio{line-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__content .tiny-numeric{display:block}.tiny-form-item--medium .tiny-form-item__content .tiny-numeric__input-inner{height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__label{height:var(--ti-form-item-medium-line-height);line-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--small{margin-bottom:var(--ti-form-item-margin-bottom-small)}.tiny-form-item--small .tiny-form-item__content,.tiny-form-item--small .tiny-form-item__content .tiny-checkbox,.tiny-form-item--small .tiny-form-item__content .tiny-radio{line-height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__content .tiny-numeric{display:block}.tiny-form-item--small .tiny-form-item__content .tiny-numeric__input-inner{height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__label{height:var(--ti-form-item-small-line-height);line-height:var(--ti-form-item-small-line-height)}.tiny-form-item--mini{margin-bottom:var(--ti-form-item-margin-bottom-mini)}.tiny-form-item--mini .tiny-form-item__content,.tiny-form-item--mini .tiny-form-item__content .tiny-checkbox,.tiny-form-item--mini .tiny-form-item__content .tiny-radio{line-height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__content .tiny-numeric{display:block}.tiny-form-item--mini .tiny-form-item__content .tiny-numeric__input-inner{height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__label{height:var(--ti-form-item-mini-line-height);line-height:var(--ti-form-item-mini-line-height)}.tiny-form-item__label-wrap{float:left}.tiny-form-item__label-wrap .tiny-form-item__label{display:inline-block;float:none}.tiny-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:var(--ti-form-item-label-font-size);color:var(--ti-form-item-label-text-color);height:var(--ti-form-item-label-line-height);line-height:var(--ti-form-item-label-line-height);padding-right:8px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tiny-form-item__content{position:relative;font-size:var(--ti-form-item-label-font-size);line-height:var(--ti-form-item-label-line-height)}.tiny-form-item__content:after,.tiny-form-item__content:before{content:"";display:table}.tiny-form-item__content:after{clear:both}.tiny-form-item__content .tiny-input{display:inline-block}.tiny-form-item__content .tiny-input.tiny-range-editor.tiny-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.tiny-form-item__content .tiny-input.tiny-input-group{display:inline-table}.tiny-form-item__content .tiny-rate{vertical-align:middle}.tiny-form-item__content .tiny-rate__text{line-height:1.5}.tiny-form-item__content .tiny-input-group{vertical-align:top}.tiny-form-item__content .tiny-button+.tiny-button{margin-left:8px}.tiny-form-item__content .tiny-checkbox,.tiny-form-item__content .tiny-radio{vertical-align:middle;line-height:30px}.tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-label-line-height)}.tiny-form-item__content .tiny-date-editor--daterange.tiny-input,.tiny-form-item__content .tiny-date-editor--daterange.tiny-input__inner,.tiny-form-item__content .tiny-date-editor--timerange.tiny-input,.tiny-form-item__content .tiny-date-editor--timerange.tiny-input__inner,.tiny-form-item__content .tiny-numeric{width:100%}.tiny-form-item__error{color:var(--ti-form-item-error-text-color);font-size:var(--ti-form-item-error-font-size);line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.tiny-form-item__error .validate-icon{fill:var(--ti-form-item-error-text-color);margin-right:8px}.tiny-form-item__error .tiny-form-item__validate-message{vertical-align:middle}.tiny-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:var(--ti-form-item-error-inline-margin-left)}.tiny-form-item__error--block{position:relative;top:auto;left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:0;padding-top:var(--ti-form-item-error-block-padding-top)}.tiny-form-item.is-required:not(.is-no-asterisk) .tiny-form-item__label-wrap>.tiny-form-item__label:before,.tiny-form-item.is-required:not(.is-no-asterisk)>.tiny-form-item__label:before{display:var(--ti-form-item-error-star-display);content:"*";color:var(--ti-form-item-error-star-text-color);margin-right:4px}.tiny-form-item.is-error .tiny-input__inner,.tiny-form-item.is-error .tiny-input__inner:focus,.tiny-form-item.is-error .tiny-textarea,.tiny-form-item.is-error .tiny-textarea:focus,.tiny-form-item.is-error .tiny-textarea__inner,.tiny-form-item.is-error .tiny-textarea__inner:focus{border-color:var(--ti-form-item-error-border-color);background-color:var(--ti-form-item-error-bg-color);--ti-textarea-bg-color:var(--ti-form-item-error-bg-color)}.tiny-form-item.is-error .tiny-input-group__append .tiny-input__inner,.tiny-form-item.is-error .tiny-input-group__prepend .tiny-input__inner{border-color:transparent}.tiny-form-item.is-error .tiny-input__validateIcon{color:var(--ti-form-item-error-text-color)}.tiny-form-item.is-error .tiny-numeric__input-inner,.tiny-form-item.is-error .tiny-numeric__input-inner:focus{border-color:var(--ti-form-item-error-border-color);background-color:var(--ti-form-item-error-bg-color)}.tiny-form-item--feedback .tiny-input__validateIcon{display:inline-block}.tiny-form-item .tiny-input__validateIcon{display:none}.tiny-mobile-form{width:100%;overflow:hidden}.tiny-mobile-form div{outline:0}.tiny-mobile-form .tiny-mobile-form-item{position:relative;margin-bottom:0}.tiny-mobile-form .tiny-mobile-form-item__label{width:35%;min-height:48px;line-height:1.4;font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;z-index:1;padding:13px 0}.tiny-mobile-form .tiny-mobile-form-item__value{width:65%}.tiny-mobile-form--inline .tiny-mobile-form-item,.tiny-mobile-form--inline .tiny-mobile-form-item__content{display:inline-block;vertical-align:top}.tiny-mobile-form--inline .tiny-mobile-form-item{margin-right:var(--ti-form-item-margin-right,10px)}.tiny-mobile-form--inline .tiny-mobile-form-item__label{float:none;display:inline-block}.tiny-mobile-form--inline .tiny-mobile-form--label-top .tiny-mobile-form-item__content{display:block}.tiny-mobile-form--label-left .tiny-mobile-form-item__label{text-align:left}.tiny-mobile-form--label-top .tiny-mobile-form-item__label{width:100%;float:none;position:initial;text-align:left;line-height:1}.tiny-mobile-form--label-top .tiny-mobile-form-item__value{width:100%}.tiny-mobile-form--label-top .tiny-mobile-form-item{margin-bottom:16px}.tiny-mobile-form--label-top .tiny-mobile-input-form__input{width:100%}.tiny-mobile-form--label-top .tiny-mobile-form-item__content{-ms-flex-wrap:wrap;flex-wrap:wrap}.tiny-mobile-form--label-top .tiny-mobile-form{margin-bottom:16px}.tiny-mobile-form--inline.tiny-mobile-form--label-top .tiny-mobile-form-item{margin-bottom:16px;margin-right:64px}.tiny-mobile-form--inline.tiny-mobile-form--label-top .tiny-mobile-form-item__label{display:block;text-align:left}.tiny-mobile-form-item{--ti-form-item-small-line-height:28px;--ti-form-item-medium-line-height:36px;--ti-form-item-mini-line-height:24px;--ti-form-item-label-line-height:var(--ti-mobile-base-size-height-minor, 30px);--ti-form-item-label-font-size:14px;--ti-form-item-label-color:var(--ti-mobile-base-color-info-normal, #333);--ti-form-item-error-color:var(--ti-mobile-base-color-danger-normal, #f5222d);--ti-form-item-error-font-size:var(--ti-mobile-base-font-size, 12px);margin-bottom:12px}.tiny-mobile-form-item:after{clear:both}.tiny-mobile-form-item:after,.tiny-mobile-form-item:before{content:"";display:table}.tiny-mobile-form-item .tiny-mobile-form-item{margin-bottom:0}.tiny-mobile-form-item.tiny-mobile-form-item--mini,.tiny-mobile-form-item.tiny-mobile-form-item--small{margin-bottom:8px}.tiny-mobile-form-item--medium .tiny-mobile-form-item__content,.tiny-mobile-form-item--medium .tiny-mobile-form-item__label{line-height:var(--ti-form-item-medium-line-height,36px)}.tiny-mobile-form-item--small .tiny-mobile-form-item__content,.tiny-mobile-form-item--small .tiny-mobile-form-item__label{line-height:var(--ti-form-item-small-line-height,28px)}.tiny-mobile-form-item--small .tiny-mobile-form-item__error{padding-top:2px}.tiny-mobile-form-item--mini .tiny-mobile-form-item__content,.tiny-mobile-form-item--mini .tiny-mobile-form-item__label{line-height:var(--ti-form-item-mini-line-height,24px)}.tiny-mobile-form-item--mini .tiny-mobile-form-item__error{padding-top:1px}.tiny-mobile-form-item__label-wrap{float:left}.tiny-mobile-form-item__label-wrap .tiny-mobile-form-item__label{display:inline-block;float:none}.tiny-mobile-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:16px;color:var(--ti-form-item-label-color,#333);line-height:48px;padding-right:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-mobile-form-item__value{float:right}.tiny-mobile-form-item__value .tiny-mobile-input-form__input{text-align:left}.tiny-mobile-form-item__content{line-height:48px;position:relative;font-size:var(--ti-form-item-label-font-size,14px)}.tiny-mobile-form-item__content:after{clear:both}.tiny-mobile-form-item__content:after,.tiny-mobile-form-item__content:before{content:"";display:table}.tiny-mobile-form-item__content .tiny-mobile-input-group{vertical-align:top}.tiny-mobile-form-item__content .tiny-mobile-button+.tiny-mobile-button{margin-left:8px}.tiny-mobile-form-item__label.is-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:initial}.tiny-mobile-form-item.is-error .is-vertical{margin-bottom:36px}.tiny-mobile-form-item .is-vertical{border-bottom:1px solid #ddd}.tiny-mobile-form-item__error{color:var(--ti-form-item-error-color,#f5222d);font-size:var(--ti-form-item-error-font-size,12px);line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.tiny-mobile-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.tiny-mobile-form-item.is-required:not(.is-no-asterisk) .tiny-mobile-form-item__label-wrap>.tiny-mobile-form-item__label:before,.tiny-mobile-form-item.is-required:not(.is-no-asterisk) .tiny-mobile-form-item__label:before{content:"*";color:var(--ti-form-item-error-color,#f5222d);margin-right:4px}.tiny-mobile-form-item.is-error .tiny-mobile-input__inner,.tiny-mobile-form-item.is-error .tiny-mobile-input__inner:focus,.tiny-mobile-form-item.is-error .tiny-mobile-textarea__inner,.tiny-mobile-form-item.is-error .tiny-mobile-textarea__inner:focus{border-color:var(--ti-form-item-error-color,#f5222d)}.tiny-mobile-form-item.is-error .tiny-mobile-input-group__append .tiny-mobile-input__inner,.tiny-mobile-form-item.is-error .tiny-mobile-input-group__prepend .tiny-mobile-input__inner{border-color:transparent}.tiny-mobile-form-item.is-error .tiny-mobile-input__validateIcon{color:var(--ti-form-item-error-color,#f5222d)}.tiny-mobile-form-item.is-error .tiny-mobile-numeric__input-inner,.tiny-mobile-form-item.is-error .tiny-mobile-numeric__input-inner:focus{border-color:var(--ti-form-item-error-color,#f5222d)}.tiny-mobile-form-item--feedback .tiny-mobile-input__validateIcon{display:inline-block}.tiny-mobile-form-item .tiny-mobile-input__validateIcon{display:none}.tiny-mobile-zoom-in-top-enter-active,.tiny-mobile-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.tiny-mobile-zoom-in-top-enter,.tiny-mobile-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}
diff --git a/admin-website/src/main/resources/static/assets/index-71dedec5.js b/admin-website/src/main/resources/static/assets/index-71dedec5.js
deleted file mode 100644
index 1e209c4..0000000
--- a/admin-website/src/main/resources/static/assets/index-71dedec5.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import{U as Se,d as T,N as q,p as Q,a as B,$ as R,b as D,c as Te,aj as qe,ak as j,ae as X,af as De,al as xe,k as c,am as Ne,O as ze}from"./index-387d5142.js";import{k as L,u as I,v as W,D as V,y as Z,z as A,A as b,P as ee,l as $,t as He,H as ce,G as Ue,w as k,J as Ge,E as H,I as Ye,L as Je}from"./vue-fdfdc7c1.js";import{v as Ke}from"./index-9e0a2cd3.js";const Qe=({api:e,props:t,state:a})=>(r={},l={})=>{const o=Object.keys(r),i=Object.keys(l).filter(s=>!o.includes(s));e.clearValidate(i),a.fields.forEach(s=>{s.removeValidateEvents(),s.addValidateEvents()}),t.validateOnRuleChange&&e.validate(()=>{})},Xe=({state:e})=>()=>{if(!e.potentialLabelWidthArr.length)return"0";const t=Math.max(...e.potentialLabelWidthArr);return t?`${t}px`:""},Ze=({props:e,designConfig:t})=>()=>{var a,r;return(r=(a=e.hideRequiredAsterisk)!=null?a:t==null?void 0:t.hideRequiredAsterisk)!=null?r:!1},et=({props:e,designConfig:t})=>()=>{var a,r,l;return(l=(r=e.validateIcon)!=null?r:(a=t==null?void 0:t.icons)==null?void 0:a.validateIcon)!=null?l:null},tt=({props:e,designConfig:t})=>()=>e.messageType?e.messageType==="inline":typeof e.inlineMessage=="boolean"?e.inlineMessage:(t==null?void 0:t.messageType)==="inline"||!1,at=({props:e,designConfig:t})=>()=>e.messageType?e.messageType==="block":(t==null?void 0:t.messageType)==="block"||!1,rt=({parent:e,state:t})=>()=>{e.$on("form:addField",a=>{a&&t.fields.push(a)}),e.$on("form:removeField",a=>{a.prop&&t.fields.splice(t.fields.indexOf(a),1)})},lt=({props:e,state:t})=>()=>{e.model&&t.fields.forEach(a=>{a.resetField()})},it=({props:e,state:t})=>()=>{e.model&&t.fields.forEach(a=>{a.updateTip()})},nt=e=>(t=[])=>{let a;t.length?a=typeof t=="string"?e.fields.filter(r=>t===r.prop):e.fields.filter(r=>r.prop&&t.includes(r.prop)):a=e.fields,a.forEach(r=>{r.clearValidate()})},ot=({props:e,state:t})=>a=>{if(!e.model)return;let r;typeof a!="function"&&window.Promise&&(r=new window.Promise((i,s)=>{a=d=>{d?i(d):s(d)}}));let l=!0,o=0;t.fields.length===0&&a&&a(!0);let n={};if(t.fields.forEach(i=>{i.validate("",(s,d)=>{s&&(l=!1),n=Se({},n,d),typeof a=="function"&&++o===t.fields.length&&a(l,n)})}),r)return r},st=e=>(t,a)=>{t=[].concat(t);const r=e.fields.filter(l=>t.includes(l.prop));r.length&&r.forEach(l=>{l.validate("",a)})},dt=e=>t=>{const a=e.potentialLabelWidthArr.indexOf(t);if(a===-1)throw new Error("unpected width ",t);return a},ut=({api:e,state:t})=>(a,r)=>{if(a&&r){const l=e.getLabelWidthIndex(r);t.potentialLabelWidthArr.splice(l,1,a)}else a&&t.potentialLabelWidthArr.push(a)},ft=({api:e,state:t})=>a=>{const r=e.getLabelWidthIndex(a);t.potentialLabelWidthArr.splice(r,1)},pt=({api:e,dialog:t,state:a})=>{let r=()=>{};if(t){const l=(n=!0)=>{n?e.resetFields():e.clearValidate()},o=()=>{a.timer||(a.timer=window.setTimeout(()=>{a.timer=0,e.updateTip()},10))};t.state.emitter.on("boxclose",l),t.state.emitter.on("boxdrag",o),r=()=>{t.state.emitter.off("boxclose",l),t.state.emitter.off("boxdrag",o)}}return r},mt=({vm:e,state:t})=>(a,r)=>{const l=e.$refs.tooltip;l.state.referenceElm=a,l.state.popperElm&&(l.state.popperElm.style.display="none"),l.doDestroy(),t.tooltipVisible=!0,t.displayedValue=r,setTimeout(l.updatePopper,20)},ct=({state:e})=>()=>{e.tooltipVisible=!1},te=["state","resetFields","clearValidate","validate","validateField","getLabelWidthIndex","registerLabelWidth","deregisterLabelWidth","updateTip","showTooltip","hideTooltip"],ae=(e,{computed:t,inject:a,provide:r,reactive:l,watch:o,onBeforeUnmount:n},{vm:i,parent:s,designConfig:d})=>{const u={},y=a("dialog",null),f=l({showAutoWidth:e.showAutoWidth,fields:[],timer:0,tooltipVisible:!1,displayedValue:"",potentialLabelWidthArr:[],autoLabelWidth:t(()=>u.computedAutoLabelWidth()),hideRequiredAsterisk:t(()=>u.computedHideRequiredAsterisk()),validateIcon:t(()=>u.computedValidateIcon()),isErrorInline:t(()=>u.computedIsErrorInline()),isErrorBlock:t(()=>u.computedIsErrorBlock()),isDisplayOnly:t(()=>e.displayOnly),hasRequired:t(()=>e.rules?Object.values(e.rules).find(m=>Array.isArray(m)?m.some(E=>E.required):m.required):!1),labelWidth:t(()=>{var m;return e.labelWidth||((m=d==null?void 0:d.state)==null?void 0:m.labelWidth)||"80px"}),tooltipType:t(()=>{var m;return((m=d==null?void 0:d.state)==null?void 0:m.tooltipType)||"normal"})});Object.assign(u,{state:f,updateTip:it({props:e,state:f}),computedAutoLabelWidth:Xe({state:f}),computedHideRequiredAsterisk:Ze({props:e,designConfig:d}),computedValidateIcon:et({props:e,designConfig:d}),computedIsErrorInline:tt({props:e,designConfig:d}),computedIsErrorBlock:at({props:e,designConfig:d}),created:rt({parent:s,state:f}),resetFields:lt({props:e,state:f}),clearValidate:nt(f),validate:ot({props:e,state:f}),validateField:st(f),getLabelWidthIndex:dt(f),registerLabelWidth:ut({api:u,state:f}),deregisterLabelWidth:ft({api:u,state:f}),watchRules:Qe({api:u,props:e,state:f}),showTooltip:mt({vm:i,state:f}),hideTooltip:ct({state:f})}),u.created(),r("form",s),r("showAutoWidth",f.showAutoWidth);const F=pt({api:u,dialog:y,state:f});return n(F),o(()=>e.rules,u.watchRules),u};function vt(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=bt(e))||t&&e&&typeof e.length=="number"){a&&(e=a);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bt(e,t){if(e){if(typeof e=="string")return ve(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return ve(e,t)}}function ve(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var yt=function(t,a){for(var r=t.__vccOpts||t,l=vt(a),o;!(o=l()).done;){var n=o.value,i=n[0],s=n[1];r[i]=s}return r},ht=T({components:{TinyTooltip:q},props:[].concat(Q,["validateOnRuleChange","hideRequiredAsterisk","model","rules","inlineMessage","messageType","statusIcon","labelPosition","labelAlign","showMessage","size","disabled","labelWidth","contentOffset","labelSuffix","inline","responsiveLayout","validateType","validateIcon","manual","appendToBody","popperOptions","displayOnly","showAutoWidth","showEmptyValue","validateTag","overflowTitle"]),setup:function(t,a){return B({props:t,context:a,renderless:ae,api:te})}});function gt(e,t,a,r,l,o){var n=L("tiny-tooltip");return I(),W("form",{class:b(["tiny-form",[e.labelPosition?"tiny-form--label-"+e.labelPosition:"",{"tiny-form--inline":e.inline},{"label-align":e.labelAlign},{"has-required":e.state.hasRequired},{"asterisk-form":e.labelPosition==="top"&&!e.state.hideRequiredAsterisk},{"is-display-only":e.state.isDisplayOnly}]]),onSubmit:t[1]||(t[1]=ee(function(){},["prevent"]))},[V(e.$slots,"default"),e.overflowTitle?(I(),Z(n,{key:0,ref:"tooltip",modelValue:e.state.tooltipVisible,"onUpdate:modelValue":t[0]||(t[0]=function(i){return e.state.tooltipVisible=i}),manual:!0,effect:"light",content:e.state.displayedValue,placement:"top"},null,8,["modelValue","content"])):A("v-if",!0)],34)}var be=yt(ht,[["render",gt]]);function It(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=St(e))||t&&e&&typeof e.length=="number"){a&&(e=a);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function St(e,t){if(e){if(typeof e=="string")return ye(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return ye(e,t)}}function ye(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var Tt=function(t,a){for(var r=t.__vccOpts||t,l=It(a),o;!(o=l()).done;){var n=o.value,i=n[0],s=n[1];r[i]=s}return r},wt=T({props:[].concat(Q,["validatePosition","validateOnRuleChange","hideRequiredAsterisk","model","rules","inlineMessage","messageType","statusIcon","labelPosition","labelAlign","showMessage","size","disabled","labelWidth","contentOffset","labelSuffix","inline","responsiveLayout","validateType","validateIcon","manual"]),setup:function(t,a){return B({props:t,context:a,renderless:ae,api:te})}});function Ot(e,t,a,r,l,o){return I(),W("form",{class:b(["tiny-mobile-form",[e.labelPosition?"tiny-mobile-form--label-"+e.labelPosition:"",{"tiny-mobile-form--inline":e.inline},{"label-align":e.labelAlign}]]),onSubmit:t[0]||(t[0]=ee(function(){},["prevent"]))},[V(e.$slots,"default")],34)}var Mt=Tt(wt,[["render",Ot]]);function At(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=$t(e))||t&&e&&typeof e.length=="number"){a&&(e=a);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $t(e,t){if(e){if(typeof e=="string")return he(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return he(e,t)}}function he(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var Vt=function(t,a){for(var r=t.__vccOpts||t,l=At(a),o;!(o=l()).done;){var n=o.value,i=n[0],s=n[1];r[i]=s}return r},Wt=T({components:{TinyTooltip:q},provide:function(){return{TinyMode:"mobile-first"}},props:[].concat(Q,["validateOnRuleChange","hideRequiredAsterisk","model","rules","inlineMessage","messageType","statusIcon","labelPosition","showMessage","size","disabled","labelWidth","contentOffset","labelSuffix","inline","responsiveLayout","validateType","validateIcon","manual","appendToBody","popperOptions","displayOnly","showEmptyValue"]),setup:function(t,a){return B({props:t,context:a,renderless:ae,api:te})}});function Bt(e,t,a,r,l,o){var n=L("tiny-tooltip");return I(),W("form",{"data-tag":"tiny-form",class:b(["w-full overflow-hidden",{"overflow-x-visible":e.labelPosition==="top"&&!e.hideRequiredAsterisk,"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4":e.inline}]),onSubmit:t[1]||(t[1]=ee(function(){},["prevent"]))},[V(e.$slots,"default"),e.displayOnly?(I(),Z(n,{key:0,ref:"tooltip",modelValue:e.state.tooltipVisible,"onUpdate:modelValue":t[0]||(t[0]=function(i){return e.state.tooltipVisible=i}),"popper-class":"absolute",manual:!0,effect:"light",content:e.state.displayedValue,placement:"top"},null,8,["modelValue","content"])):A("v-if",!0)],34)}var Ft=Vt(Wt,[["render",Bt]]);function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},G.apply(this,arguments)}var Et=function(t){var a,r=typeof process=="object"?(a={})==null?void 0:a.TINY_MODE:null;return(r||t)==="pc"?be:(r||t)==="mobile"?Mt:(r||t)==="mobile-first"?Ft:be},_t=G({},R,{model:Object,rules:Object,inlineMessage:{type:Boolean,default:void 0},messageType:String,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validatePosition:{type:String,default:"right"},size:String,disabled:Boolean,validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:void 0},labelPosition:{type:String,default:"right",validator:function(t){return["left","top","right"].includes(t)}},labelWidth:{type:String,default:""},labelAlign:{type:Boolean,default:!1},contentOffset:Number,labelSuffix:{type:String,default:""},inline:{type:Boolean,default:!1},responsiveLayout:{type:Boolean,default:!1},validateType:{type:String,default:"tip",validator:function(t){return!!~["tip","text"].indexOf(t)}},validateIcon:Object,manual:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:void 0},popperOptions:{type:Object,default:function(){return{}}},displayOnly:{type:Boolean,default:!1},showAutoWidth:{type:Boolean,default:!1},showEmptyValue:{type:Boolean,default:!0},validateTag:{type:Boolean,default:!1},overflowTitle:{type:Boolean,default:!1}}),C=T({name:D+"Form",componentName:"Form",props:_t,setup:function(t,a){return Te({props:t,context:a,template:Et})}}),Lt="3.16.0";C.install=function(e){e.component(C.name,C)};C.version=Lt;const Rt=e=>t=>{!qe(t)&&e.getValidateType==="tip"&&(e.canShowTip=!0),e.validateMessage=t,e.validateState=t?j.Error:""},kt=e=>t=>{e.validateState=t},jt=({props:e,state:t})=>()=>e.validateType||(t.formInstance?t.formInstance.validateType:""),Ct=({props:e,state:t})=>()=>{var a,r,l,o;return(o=(l=e.validateIcon)!=null?l:(r=(a=t==null?void 0:t.formInstance)==null?void 0:a.state)==null?void 0:r.validateIcon)!=null?o:null},Pt=({props:e,state:t})=>()=>{var a,r,l;return e.messageType?e.messageType==="inline":typeof e.inlineMessage=="boolean"?e.inlineMessage:(l=(r=(a=t==null?void 0:t.formInstance)==null?void 0:a.state)==null?void 0:r.isErrorInline)!=null?l:!1},qt=({props:e,state:t})=>()=>{var a,r,l;return e.messageType?e.messageType==="block":(l=(r=(a=t==null?void 0:t.formInstance)==null?void 0:a.state)==null?void 0:r.isErrorBlock)!=null?l:!1},Dt=({props:e,state:t})=>()=>{const a={width:""};if(t.form.labelPosition===X.Top)return a;const r=e.labelWidth||t.form.state.labelWidth;return r&&(a.width=r),a},xt=({props:e,state:t})=>()=>{const a={width:""};if(t.form.labelPosition===X.Top)return a.width="100%",a;const r=e.labelWidth||t.form.state.labelWidth;return r&&(r==="auto"?a.width=r:a.width=`calc(100% - ${r})`),a},Nt=({props:e,state:t})=>()=>{const a={},r=e.label;if(t.form.labelPosition===X.Top||t.form.inline||!r&&!e.labelWidth&&t.isNested)return a;const l=e.labelWidth||t.form.state.labelWidth;return l==="auto"?e.labelWidth==="auto"?a.marginLeft=t.computedLabelWidth:t.form.state.labelWidth==="auto"&&(a.marginLeft=t.formInstance.state.autoLabelWidth):a.marginLeft=l,a},zt=({constants:e,vm:t,state:a})=>()=>{var r,l,o;const{FORM_NAME:n,FORM_ITEM_NAME:i}=e;let s=(r=t.$parent)==null?void 0:r.$parent,d=(l=s==null?void 0:s.$options)==null?void 0:l.componentName;for(;s&&d!==n;)d===i&&(a.isNested=!0),s=s==null?void 0:s.$parent,d=(o=s==null?void 0:s.$options)==null?void 0:o.componentName;return s},Ht=({api:e,state:t})=>()=>{if(t.validationRequired)return!0;let a=e.getRules(),r=!1;return a&&a.length&&a.every(l=>l.required?(r=!0,!1):!0),r},re=(e,t,a)=>{let r=e;t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^\./,"");let l=0,o=t.split(".");for(let n=o.length;l<n-1&&!(!r&&!a);++l){let i=o[l];if(r&&i in r)r=r[i];else{if(a)throw new Error("[Tiny Form] please transfer a valid prop path to form item!");break}}return{o:r,k:o[l],v:r?r[o[l]]:null}},Ut=({props:e,state:t})=>()=>{const a=t.form.model;if(!a||!e.prop)return;let r=e.prop;return r.includes(":")&&(r=r.replace(/:/,".")),re(a,r,!0).v},Gt=({api:e,vm:t,props:a,state:r})=>()=>{if(r.tooltip=t.$refs.tooltip,a.prop){e.dispatch("Form","form:addField",t);let l=r.fieldValue;Array.isArray(l)&&(l=[].concat(l)),r.initialValue=l,e.addValidateEvents()}},Yt=({api:e,vm:t,state:a})=>()=>{a.canShowTip=!1,e.dispatch("Form","form:removeField",t)},Jt=({api:e,props:t,state:a,t:r})=>(l,o=()=>{})=>{a.validateDisabled=!1;const n=e.getFilteredRule(l);if((!n||n.length===0)&&t.required===void 0||t.validateDisabled){o();return}a.validateState=j.Validating;const i={};n&&n.length>0&&n.forEach(u=>{delete u.trigger}),i[t.prop||""]=n;const s=new Ke(i,r),d={};d[t.prop||""]=a.fieldValue,s.validate(d,{firstFields:!0},(u,y)=>{e.clearValidate(),(()=>{a.validateState=u?j.Error:j.Success,u&&t.error&&(u[0].message=t.error),a.validateMessage=u?u[0].message:"",a.canShowTip=!!u,o(a.validateMessage,y),a.formInstance&&a.formInstance.$emit("validate",t.prop,!u,a.validateMessage||null)})()})},Kt=e=>()=>{e.validateState="",e.validateMessage="",e.validateDisabled=!1},Qt=({api:e,nextTick:t,props:a,state:r})=>()=>{r.getValidateType==="tip"&&(r.canShowTip=!1),r.validateState="",r.validateMessage="";let l=r.form.model||{},o=r.fieldValue,n=a.prop||"";n&&n.includes(":")&&(n=n.replace(/:/,"."));let i=re(l,n,!0);r.validateDisabled=!0,Array.isArray(o)?i.o[i.k]=[].concat(r.initialValue):i.o[i.k]=r.initialValue,t(()=>{r.validateDisabled=!1}),setTimeout(()=>r.validateState&&(r.validateState="")),e.broadcast("timeSelect","fieldReset",r.initialValue)},Xt=({props:e,state:t})=>()=>{let a=t.form.rules||{};const r=e.rules,l=e.required!==void 0?{required:!!e.required}:[],o=re(a,e.prop||"");return a=a?o.o[e.prop||""]||o.v:[],[].concat(r||a||[]).concat(l)},Zt=e=>t=>e.getRules().filter(r=>!r.trigger||t===""?!0:Array.isArray(r.trigger)?r.trigger.includes(t):r.trigger===t).map(r=>Se({},r)),ea=e=>()=>{e.validate("blur")},ta=({api:e,state:t})=>()=>{if(t.validateDisabled){t.validateDisabled=!1;return}e.validate("change")},aa=e=>t=>{e.computedLabelWidth=t?`${t}px`:""},ra=({api:e,vm:t,props:a,state:r})=>()=>{(e.getRules().length||a.required!==void 0)&&(a.manual||r.formInstance&&r.formInstance.manual||(t.$on("form.blur",e.onFieldBlur),t.$on("form.change",e.onFieldChange)))},la=e=>()=>{e.$off()},ia=({vm:e,state:t})=>()=>{if(t.getValidateType!=="tip"&&!t.canShowTip)return;const a=e.$refs.tooltip;a&&a.updatePopper()},na=({validateFunc:e,props:t})=>t.validateDebounce?De(500,e):e,oa=({state:e})=>t=>{if(!e.isDisplayOnly||!e.typeName||!e.form)return;const a=t.target,r=a.textContent,l=window.getComputedStyle(a).font,o=a.getBoundingClientRect();let n={},i=!1;["text","password","number"].includes(e.typeName)&&(n=xe(r,l,o.width)),e.typeName==="textarea"&&a&&a.scrollHeight>a.offsetHeight&&(i=!0),(n.o||i)&&e.form.showTooltip(a,e.displayedValue)},sa=({props:e,state:t,slots:a})=>r=>{if(!t.form.overflowTitle||!t.form||a.label)return;const l=r.target;l&&l.scrollWidth>l.offsetWidth&&t.form.showTooltip(l,e.label+t.form.labelSuffix)},da=e=>()=>{e.form&&e.form.hideTooltip()},ua=({state:e})=>t=>{e.formInstance.displayOnly&&(e.typeName=t.type,e.isBasicComp=!0,e.displayedValue=t.val)},fa=({state:e})=>()=>{e.typeName="",e.isBasicComp=!1,e.displayedValue=""},we=["state","validate","clearValidate","resetField","getRules","getFilteredRule","onFieldBlur","onFieldChange","updateComputedLabelWidth","addValidateEvents","removeValidateEvents","updateTip","getDisplayedValue","handleLabelMouseenter","handleMouseenter","handleMouseleave"],pa=({reactive:e,computed:t,api:a,mode:r,inject:l,props:o})=>{const n=e({mode:r,validateState:"",validateMessage:"",validateDisabled:!1,validator:{},isNested:!1,computedLabelWidth:"",initialValue:null,canShowTip:!1,validationRequired:!1,validateType:"text",tooltip:"",displayedValue:"",isBasicComp:!1,showTooltip:!1,typeName:"",formInstance:l("form"),labelFor:t(()=>o.for||o.prop||""),labelStyle:t(()=>a.computedLabelStyle()),valueStyle:t(()=>a.computedValueStyle()),contentStyle:t(()=>a.computedContentStyle()),form:t(()=>a.computedForm()),fieldValue:t(()=>a.computedFieldValue()),isRequired:t(()=>a.computedIsRequired()),formInline:t(()=>n.formInstance.inline),formSize:t(()=>n.formInstance.size),formItemSize:t(()=>o.size||n.formSize),isDisplayOnly:t(()=>n.formInstance.displayOnly),labelPosition:t(()=>n.formInstance.labelPosition),hideRequiredAsterisk:t(()=>n.formInstance.state.hideRequiredAsterisk),labelSuffix:t(()=>n.formInstance.labelSuffix),labelWidth:t(()=>n.formInstance.labelWidth),showMessage:t(()=>n.formInstance.showMessage),sizeClass:t(()=>n.formItemSize),getValidateType:t(()=>a.computedGetValidateType()),validateIcon:t(()=>a.computedValidateIcon()),isErrorInline:t(()=>a.computedIsErrorInline()),isErrorBlock:t(()=>a.computedIsErrorBlock()),disabled:t(()=>n.formInstance.disabled),tooltipType:t(()=>n.formInstance.state.tooltipType)});return n},ma=({api:e,state:t,dispatch:a,broadcast:r,props:l,constants:o,vm:n,t:i,nextTick:s,slots:d})=>{Object.assign(e,{state:t,dispatch:a,broadcast:r,watchError:Rt(t),updateTip:ia({vm:n,state:t}),watchValidateStatus:kt(t),computedLabelStyle:Dt({props:l,state:t}),computedValueStyle:xt({props:l,state:t}),computedContentStyle:Nt({props:l,state:t}),computedForm:zt({constants:o,vm:n,state:t}),computedFieldValue:Ut({props:l,state:t}),computedGetValidateType:jt({props:l,state:t}),computedValidateIcon:Ct({props:l,state:t}),computedIsErrorInline:Pt({props:l,state:t}),computedIsErrorBlock:qt({props:l,state:t}),clearValidate:Kt(t),getRules:Xt({props:l,state:t}),updateComputedLabelWidth:aa(t),removeValidateEvents:la(n),unmounted:Yt({api:e,vm:n,state:t}),mounted:Gt({api:e,vm:n,props:l,state:t}),computedIsRequired:Ht({api:e,state:t}),resetField:Qt({api:e,nextTick:s,props:l,state:t}),getFilteredRule:Zt(e),onFieldBlur:ea(e),onFieldChange:ta({api:e,state:t}),addValidateEvents:ra({api:e,vm:n,props:l,state:t}),validate:na({validateFunc:Jt({api:e,props:l,state:t,t:i}),props:l}),getDisplayedValue:ua({state:t}),clearDisplayedValue:fa({state:t}),handleLabelMouseenter:sa({props:l,state:t,slots:d}),handleMouseenter:oa({state:t}),handleMouseleave:da(t)})},ca=({watch:e,api:t,props:a,state:r})=>{e(()=>a.error,t.watchError,{immediate:!0}),e(()=>a.validateStatus,t.watchValidateStatus),e(()=>r.formInstance.displayOnly,t.clearDisplayedValue)},Oe=(e,{computed:t,inject:a,onMounted:r,onUnmounted:l,provide:o,reactive:n,watch:i},{vm:s,constants:d,t:u,nextTick:y,broadcast:f,dispatch:F,mode:m,slots:E})=>{const g={},w=pa({reactive:n,computed:t,api:g,mode:m,inject:a,props:e});return o("formItem",s),ma({api:g,state:w,dispatch:F,broadcast:f,props:e,constants:d,vm:s,t:u,nextTick:y,slots:E}),ca({watch:i,api:g,props:e,state:w}),r(g.mounted),s.$on("displayed-value-changed",x=>{g.getDisplayedValue(x)}),l(g.unmounted),g};function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},Y.apply(this,arguments)}var Me=T({props:Y({},R,{isAutoWidth:Boolean,updateAll:Boolean,isMobile:Boolean,isMobileFirst:Boolean}),inject:["form","formItem"],render:function(){var t=this.slots.default&&this.slots.default(),a=this.isMobile?"tiny-mobile-":"tiny-";if(!t)return null;if(this.isAutoWidth){var r=this.form.autoLabelWidth,l={};if(r&&r!=="auto"){var o=parseInt(r,10)-this.computedWidth;o&&(l.marginLeft=o+"px")}return c("div",{class:this.isMobileFirst?"float-left":a+"form-item_label-wrap",style:l},t)}else return t[0]},methods:{getLabelWidth:function(){var t=function(l){return window.getComputedStyle(l).width},a=function(l){return Math.ceil(parseFloat(l))};return!this.$el||!this.$el.firstElementChild?0:a(t(this.$el.firstElementChild))},updateLabelWidth:function(t){var a=this;if(t===void 0&&(t="update"),!(!this.$slots.default||!this.isAutoWidth||!this.$el.firstElementChild)){var r=function(){return a.computedWidth=a.getLabelWidth()},l=function(){return a.form.deregisterLabelWidth(a.computedWidth)};t==="update"?r():t==="remove"&&l()}}},watch:{computedWidth:function(t,a){this.updateAll&&(this.form.registerLabelWidth(t,a),this.formItem.updateComputedLabelWidth(t))}},setup:function(t,a){var r=function(n,i,s){var d=i.onMounted,u=i.onUpdated,y=i.onBeforeUnmount,f=s.vm;return d(function(){return f.updateLabelWidth("update")}),u(function(){return f.updateLabelWidth("update")}),y(function(){return f.updateLabelWidth("remove")}),{computedWidth:0}},l=["computedWidth"];return B({props:t,context:a,renderless:r,api:l})}});function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},P.apply(this,arguments)}var va={FORM_NAME:"Form",FORM_ITEM_NAME:"FormItem"},ge=T({name:D+"FormItem",componentName:"FormItem",components:{LabelWrap:Me,Tooltip:q},props:P({},R,{_constants:{type:Object,default:function(){return va}},appendToBody:{type:Boolean,default:void 0},error:String,for:String,inlineMessage:{type:Boolean,default:void 0},messageType:String,label:String,labelWidth:String,manual:Boolean,popperOptions:{type:Object,default:function(){return{}}},prop:String,required:{type:Boolean,default:void 0},rules:[Object,Array],showMessage:{type:Boolean,default:!0},size:String,validateDisabled:Boolean,validateDebounce:Boolean,validatePosition:String,validateStatus:String,validateType:String,validateIcon:{type:Object,default:null},ellipsis:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},extra:String}),setup:function(t,a){return B({props:t,context:a,renderless:Oe,api:we})},render:function(){var t=this,a,r,l,o,n,i=this.state,s=this.required,d=this.slots,u=this.label,y=this.scopedSlots,f=this.showMessage;this.inlineMessage;var F=this.ellipsis,m=this.vertical,E=this.handleLabelMouseenter,g=this.handleMouseleave,w=i.validateIcon,x=i.isErrorInline,Ae=i.isErrorBlock,$e=i.tooltipType,h=i.mode==="mobile",p=h?"tiny-mobile-":"tiny-",le=d.label?d.label():null,ie=d.default?d.default():null,N=y.error&&y.error(i.validateMessage),Ve=p+"form-item--"+(i.sizeClass?i.sizeClass:"default"),ne=i.validateState==="error"&&f&&i.form.showMessage;i.formInstance&&i.formInstance.validateTag;var oe,_=ie?ie.map(function(de){var v=Ne(de);v.props=v.props||{};var S=v.type;if(Object.assign(v.props,{size:i.formItemSize,mini:i.formItemSize==="mini"}),S&&S.name&&S.name.toLowerCase().endsWith("button"))return v;var O=v.props;return O&&(i.isRequired||(i.validationRequired=O.validation&&!!O.validation.required),O.validation)?v:h?c("div",{class:p+"form-item__value",style:i.valueStyle},[v]):v}):null,We=function(){if(h){var v=t.validatePosition||i.formInstance.validatePosition||"right";return oe=i.validateMessage?v==="right"?$("div",{class:"tiny-mobile-input-form__error align-right"},[i.validateMessage]):$("div",{class:"tiny-mobile-input-form__error align-left"},[i.validateMessage]):null,_}var S=_.length>1?c("div",{class:"tiny-form-item__content-muti-children"},_):_[0];if(!t.showMessage)return S;var O=i.formInstance&&i.formInstance.appendToBody,ue=typeof t.appendToBody=="boolean"?t.appendToBody:typeof O=="boolean"?O:!0,_e=t.validatePosition||i.formInstance&&i.formInstance.validatePosition||"top-end",Le=P({},i.formInstance.popperOptions,t.popperOptions,{forceAbsolute:!ue,onUpdate:function(M){var pe=M.instance._popper,ke=pe.style.transform,me=ke.match(/translate3d\((\w+)px, (\w+)px, (\w+)px\)/);if(Array.isArray(me)){var z=me.slice(1),je=z[0],Ce=z[1],Pe=z[2];pe.style.transform="translate3d("+je+"px, "+parseInt(Ce,10)+"px, "+Pe+"px)"}}}),Re=w?c(w,{class:"tooltip-validate-icon"}):null;return c("tooltip",{props:{popperClass:p+"form__valid",arrowOffset:0,adjustArrow:!0,type:$e,disabled:i.getValidateType!=="tip",placement:_e,manual:!0,appendToBody:ue,popperOptions:Le,modelValue:ne?i.canShowTip:!1,zIndex:"relative",renderContent:function(){var M;return N?M=[N]:M=[Re,$("span",{class:p+"form-item__validate-message"},[i.validateMessage])],M}},on:{"update:modelValue":function(M){i.canShowTip=M}},ref:"tooltip"},[S.type===He?$("span",null,[S]):S])},Be=_?We():null,Fe=ne&&i.getValidateType==="text"?N||c("div",{class:(a={},a[p+"form-item__error"]=!0,a[p+"form-item__error--inline"]=x,a[p+"form-item__error--block"]=Ae,a),attrs:{title:[i.validateMessage]}},[w?c(w,{class:"validate-icon"}):null,$("span",{class:p+"form-item__validate-message"},[i.validateMessage])]):null,se=c("label-wrap",{props:{isAutoWidth:i.labelStyle&&i.labelStyle.width==="auto",updateAll:i.form.labelWidth==="auto",isMobile:i.mode==="mobile"}},[le||u?c("label",{class:(r={},r[p+"form-item__label"]=!0,r["is-ellipsis"]=h&&F,r),style:i.labelStyle,attrs:{for:i.labelFor},on:{mouseenter:E,mouseleave:g}},le||u+i.form.labelSuffix):null]),Ee=this.extra?c("div",{class:(l={},l[p+"form-item__extra-tip"]=!0,l)},this.extra):null;return c("div",{class:(o={},o[p+"form-item"]=!0,o[p+"form-item--feedback"]=i.formInstance&&i.formInstance.statusIcon,o["is-error"]=i.validateState==="error",o["is-text"]=i.getValidateType==="text",o["is-validating"]=i.validateState==="validating",o["is-success"]=i.validateState==="success",o["is-required"]=i.isRequired||s,o["is-no-asterisk"]=i.hideRequiredAsterisk,o[Ve]=!0,o)},[h?null:se,c("div",{class:(n={},n[p+"form-item__content"]=!0,n["is-vertical"]=h&&m,n),style:!h&&i.contentStyle},[h?se:null,Be,h?oe:null,c("transition",{attrs:{name:p+"zoom-in-top"}},[Fe]),h?null:Ee])])}});function ba(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=ya(e))||t&&e&&typeof e.length=="number"){a&&(e=a);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ya(e,t){if(e){if(typeof e=="string")return Ie(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Ie(e,t)}}function Ie(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}var ha=function(t,a){for(var r=t.__vccOpts||t,l=ba(a),o;!(o=l()).done;){var n=o.value,i=n[0],s=n[1];r[i]=s}return r};function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},J.apply(this,arguments)}var ga={FORM_NAME:"Form",FORM_ITEM_NAME:"FormItem"},Ia=T({name:D+"FormItem",componentName:"FormItem",components:{LabelWrap:Me,TinyTooltip:q,IconHelpCircle:ze()},props:J({},R,{_constants:{type:Object,default:function(){return ga}},appendToBody:{type:Boolean,default:void 0},error:String,for:String,inlineMessage:{type:[String,Boolean],default:""},label:String,labelWidth:String,manual:Boolean,popperOptions:{type:Object,default:function(){return{}}},prop:String,required:{type:Boolean,default:void 0},rules:[Object,Array],showMessage:{type:Boolean,default:!0},size:String,tipContent:String,validateDisabled:Boolean,validateDebounce:Boolean,validatePosition:String,validateStatus:String,validateType:String}),setup:function(t,a){return B({props:t,context:a,renderless:Oe,api:we})}}),Sa=["for"],Ta=["type-name"],wa=["title"];function Oa(e,t,a,r,l,o){var n=L("icon-help-circle"),i=L("tiny-tooltip"),s=L("label-wrap");return I(),W("div",{"data-tag":"tiny-form-item",class:b(e.m("flex min-h-[theme(spacing.12)] sm:min-h-[theme(spacing.7)] mb-0 p-0 sm:mb-4 box-border after:content-[''] after:table after:clear-both before:content-['']  before:table border-b-0.5 border-color-border-separator sm:border-none",e.state.validateState==="error"&&e.state.validateType==="text"?"mb-0 sm:mb-5":"",e.state.formInline?"align-sub":"",e.state.labelPosition==="top"?"block mb-4":"",e.state.validateState==="error"?"[&_.tiny-range-editor]:border-color-error [&_[data-tag~=tiny-range-editor]]:border-color-error [&_[data-tag=tiny-numeric-main]]:border-color-error [&_input]:border-color-error [&_textarea]:border-color-error [&_input:focus]:border-color-error [&_input:hover]:border-color-error [&_textarea:focus]:border-color-error [&_textarea:hover]:border-color-error":"",e.state.labelPosition==="top"&&!e.state.hideRequiredAsterisk?"pl-0":"",!e.slots.label&&!e.label?"border-none":"",e.state.isDisplayOnly?"border-none py-0.5":""))},[$(s,{"is-auto-width":e.state.labelStyle&&e.state.labelStyle.width==="auto","update-all":e.state.labelWidth==="auto","is-mobile-first":!0},{default:ce(function(){return[e.slots.label||e.label?(I(),W("label",{key:0,"data-tag":"tiny-item-label",class:b(e.m("py-3 sm:py-1.5 sm:min-h-[theme(spacing.7)] relative align-bottom float-left text-sm pr-3 sm:pr-4 box-border leading-5","overflow-hidden text-ellipsis",e.state.labelPosition==="top"?"float-none inline-block text-left sm:text-left leading-none px-0 pt-0 pb-1.5 h-auto min-h-0 sm:py-0 sm:pb-1 sm:min-h-[theme(spacing.0)]":"min-h-[theme(spacing.9)]",e.state.labelPosition==="right"?"text-right sm:text-right":"",e.state.labelPosition==="left"?"text-left sm:text-left":"",e.state.formInline&&e.state.labelPosition==="top"?"block":"",e.state.isDisplayOnly?"leading-none h-auto align-[inherit] pr-4":"",e.tipContent?"pr-5 sm:pr-7":"",e.state.labelPosition==="top"&&!e.state.hideRequiredAsterisk?"overflow-visible relative before:absolute before:-left-2.5":"",e.state.disabled?"text-color-icon-placeholder sm:text-color-text-secondary":"text-color-text-secondary",e.state.formItemSize!=="mini"?"sm:text-sm":"sm:text-xs")),style:Ue(e.state.labelStyle),for:e.state.labelFor},[k("span",{class:b(e.m("max-h-[theme(spacing.10)] line-clamp-2 inline-block relative top-px pl-2 sm:pl-0 leading-normal",(e.state.isRequired||e.required)&&!e.state.hideRequiredAsterisk?"before:content-['*'] before:text-color-error before:absolute before:left-0 before:sm:relative":"",e.state.isDisplayOnly?"pl-0 before:hidden":""))},[V(e.$slots,"label",{},function(){return[Ge(H(e.label+e.state.labelSuffix),1)]})],2),e.tipContent?(I(),Z(i,{key:0,effect:"light",content:e.tipContent,placement:"top"},{default:ce(function(){return[$(n,{"custom-class":"h-4 w-4 ml-0.5 absolute right-1 sm:right-2 align-text-bottom fill-color-text-secondary",class:b([e.state.labelPosition==="top"?"top-0.5 sm:top-1.5":"top-3.5 sm:top-1.5"])},null,8,["class"])]}),_:1},8,["content"])):A("v-if",!0)],14,Sa)):A("v-if",!0)]}),_:3},8,["is-auto-width","update-all"]),k("div",{"data-tag":"tiny-form-item-inline",class:b(e.m("flex-1 m-0 sm:m-auto relative sm:pt-0 sm:top-auto text-sm after:content-['']  after:table after:clear-both before:content-['']  before:table [&_button:not(:last-child)]:mr-2","[&_[data-tag=tiny-checkbox]]:py-0 [&_[data-tag=tiny-input]]:w-full","[&_[data-tag=tiny-input]_textarea]:px-0 sm:[&_[data-tag=tiny-input]_textarea]:px-3 [&_[data-tag=tiny-input]_textarea]:w-full [&_[data-tag=tiny-input]_textarea]:pt-1 sm:[&_[data-tag=tiny-input]_textarea]:pt-2",e.state.formInline?"align-sub leading-none":"",e.state.labelPosition==="top"&&!e.state.hideRequiredAsterisk?e.state.isDisplayOnly?"pl-0":"pl-2 sm:pl-0":"pt-2",e.state.formItemSize!=="mini"?"sm:text-sm":"sm:text-xs"))},[e.state.isDisplayOnly&&e.state.isBasicComp?(I(),W("div",{key:0,"data-tag":"tiny-form-item-display-only",class:b(["break-all min-h-[28px] leading-7 text-color-text-primary",e.state.typeName==="textarea"?"line-clamp-3":"line-clamp-1"]),"type-name":e.state.typeName,onMouseenter:t[0]||(t[0]=function(){return e.handleMouseenter&&e.handleMouseenter.apply(e,arguments)}),onMouseleave:t[1]||(t[1]=function(){return e.handleMouseleave&&e.handleMouseleave.apply(e,arguments)})},H(e.state.displayedValue||"-"),43,Ta)):A("v-if",!0),Ye(k("div",{"data-tag":"tiny-form-item-show",class:b(["[&_[aria-label=checkbox-group]]:pl-0.5 sm:[&_[aria-label=checkbox-group]]:pl-0","[&_>:first-child[data-tag=tiny-checkbox]]:pl-0.5 sm:[&_>:first-child[data-tag=tiny-checkbox]]:pl-0","[&_>:first-child[data-tag=tiny-cascader]]:w-full","[&_>:first-child[class=tiny-autocomplete]]:w-full","[&_>:first-child[class=tiny-cascader]]:w-full",e.state.isDisplayOnly?"[&_>*:not([data-tag^=tiny-],[class^=tiny-])]:leading-8 [&_>*:not([data-tag^=tiny-],[class^=tiny-])]:sm:leading-normal":""])},[V(e.$slots,"default")],2),[[Je,!(e.state.isDisplayOnly&&e.state.isBasicComp)]]),e.state.validateState==="error"&&e.showMessage&&e.state.showMessage?V(e.$slots,"error",{key:1,dataTag:"tiny-form-item-error"},function(){return[k("div",{class:b(e.m("relative sm:absolute left-0 bottom-1 sm:-bottom-5 text-color-error text-xs leading-normal line-clamp-3 sm:line-clamp-1",typeof e.inlineMessage=="boolean"&&e.inlineMessage||e.state.inlineMessage?"relative top-auto left-auto inline-block":"",e.state.formItemSize==="small"?"pt-0.5":"",e.state.formItemSize==="mini"?"pt-px":"")),title:e.state.validateMessage},H(e.state.validateMessage),11,wa)]}):A("v-if",!0),e.state.validateState!=="error"&&e.showMessage&&e.state.showMessage?V(e.$slots,"prompt",{key:2}):A("v-if",!0)],2)],2)}var Ma=ha(Ia,[["render",Oa]]);function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},K.apply(this,arguments)}var Aa=function(t){var a,r=typeof process=="object"?(a={})==null?void 0:a.TINY_MODE:null;return(r||t)==="pc"?ge:(r||t)==="mobile-first"?Ma:ge},$a={FORM_NAME:"Form",FORM_ITEM_NAME:"FormItem"},Va=K({},R,{_constants:{type:Object,default:function(){return $a}},appendToBody:{type:Boolean,default:void 0},error:{type:String,default:""},for:String,inlineMessage:{type:Boolean,default:void 0},messageType:String,label:String,labelWidth:String,manual:Boolean,popperOptions:{type:Object,default:function(){return{}}},prop:String,required:{type:Boolean,default:void 0},rules:[Object,Array],showMessage:{type:Boolean,default:!0},size:String,tipContent:String,validateDisabled:Boolean,validateDebounce:Boolean,validatePosition:String,validateStatus:String,validateType:String,validateIcon:Object,ellipsis:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},extra:String}),U=T({name:D+"FormItem",componentName:"FormItem",props:Va,setup:function(t,a){return Te({props:t,context:a,template:Aa})}});U.install=function(e){e.component(U.name,U)};export{U as F,C as a};
diff --git a/admin-website/src/main/resources/static/assets/index-7c361b9e.css b/admin-website/src/main/resources/static/assets/index-7c361b9e.css
deleted file mode 100644
index 02a99cf..0000000
--- a/admin-website/src/main/resources/static/assets/index-7c361b9e.css
+++ /dev/null
@@ -1 +0,0 @@
-.container[data-v-ca919170]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto;overflow:hidden}.container[data-v-ca919170] .tiny-steps{margin-top:10px}.content[data-v-ca919170]{display:flex;flex-direction:column;justify-content:flex-start;height:100%;overflow:auto;background:#fff;border-radius:10px}.content-main[data-v-ca919170]{padding:75px 0}.result-alert[data-v-ca919170]{display:flex;flex-direction:column;align-content:center;justify-content:center;color:#000;text-align:center}.result-alert img[data-v-ca919170]{width:68px;height:68px;margin:0 auto}.result-alert div[data-v-ca919170]:first-child{padding-top:50px;font-weight:900;font-size:20px}.result-alert div[data-v-ca919170]:last-child{padding-top:20px;font-size:14px}.result-line[data-v-ca919170]{width:75%;height:200px;margin:50px auto 0;color:#000;background-color:#f5f6f7}.result-line div[data-v-ca919170]:first-child{padding:20px}.result-btn[data-v-ca919170]{display:flex;justify-content:center;padding:50px 0}.result-btn button[data-v-ca919170]{width:120px;height:36px;border-radius:4px}
diff --git a/admin-website/src/main/resources/static/assets/index-7f0a6044.js b/admin-website/src/main/resources/static/assets/index-7f0a6044.js
deleted file mode 100644
index 7a31133..0000000
--- a/admin-website/src/main/resources/static/assets/index-7f0a6044.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as r,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const c={};function s(_,a){const e=o("router-view");return r(),t(e)}const m=n(c,[["render",s]]);export{m as default};
diff --git a/admin-website/src/main/resources/static/assets/index-7f1e277a.css b/admin-website/src/main/resources/static/assets/index-7f1e277a.css
deleted file mode 100644
index 8231e8e..0000000
--- a/admin-website/src/main/resources/static/assets/index-7f1e277a.css
+++ /dev/null
@@ -1 +0,0 @@
-.container[data-v-3543871e]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto;overflow:hidden}.container[data-v-3543871e] .tiny-steps{margin-top:10px}.content[data-v-3543871e]{display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-start;height:100%;overflow:auto;background:#fff;border-radius:10px}.content-main[data-v-3543871e]{padding:75px 0}.result-alert[data-v-3543871e]{display:flex;flex-direction:column;align-content:center;justify-content:center;color:#000;text-align:center}.result-alert img[data-v-3543871e]{width:68px;height:68px;margin:0 auto}.result-alert div[data-v-3543871e]:first-child{padding-top:50px;font-weight:900;font-size:20px}.result-alert div[data-v-3543871e]:last-child{padding-top:20px;font-size:14px}.result-line[data-v-3543871e]{width:75%;height:200px;margin:50px auto 0;color:#000;background-color:#f5f6f7}.result-line div[data-v-3543871e]:first-child{padding:20px}.result-btn[data-v-3543871e]{display:flex;justify-content:center;padding:50px 0}.result-btn button[data-v-3543871e]{width:120px;height:36px;border-radius:4px}
diff --git a/admin-website/src/main/resources/static/assets/index-7f7d7ed1.css b/admin-website/src/main/resources/static/assets/index-7f7d7ed1.css
deleted file mode 100644
index 325a71e..0000000
--- a/admin-website/src/main/resources/static/assets/index-7f7d7ed1.css
+++ /dev/null
@@ -1 +0,0 @@
-[data-v-0e48261b] .tiny-row{margin-bottom:15px}.container-set[data-v-1616658a]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto}.container-set .general-card[data-v-1616658a]{height:100%;padding:10px;overflow-x:hidden;overflow-y:auto;border-radius:10px}.container-set .general-card .general-top[data-v-1616658a]{display:flex;justify-content:space-around;min-height:202px;margin:0 -12px;overflow:hidden;background-image:url(/ui/admin/assets/step-head-47b14032.png);background-size:100% 100%}.container-set .general-card .general-contain[data-v-1616658a]{display:flex;flex-direction:column;justify-content:flex-start;min-height:75%;padding:30px 0 10px 20px;color:#000;background-color:#fff;border-radius:10px}.container-set .general-card .general-contain .tiny-layout[data-v-1616658a]{width:80%}.container-set .general-card .general-btn[data-v-1616658a]{position:relative;left:160px}.container-set .general-card .general-btn button[data-v-1616658a]{width:100px;height:36px;border-radius:4px}.container-set .general-card .margin-bottom[data-v-1616658a]{margin:15px 0}.container-set .general-card .col[data-v-1616658a]{padding:4px 0;color:#fff}
diff --git a/admin-website/src/main/resources/static/assets/index-827f4a85.js b/admin-website/src/main/resources/static/assets/index-827f4a85.js
deleted file mode 100644
index 7a31133..0000000
--- a/admin-website/src/main/resources/static/assets/index-827f4a85.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as r,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const c={};function s(_,a){const e=o("router-view");return r(),t(e)}const m=n(c,[["render",s]]);export{m as default};
diff --git a/admin-website/src/main/resources/static/assets/index-85c3afe5.js b/admin-website/src/main/resources/static/assets/index-85c3afe5.js
deleted file mode 100644
index 7a31133..0000000
--- a/admin-website/src/main/resources/static/assets/index-85c3afe5.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as r,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const c={};function s(_,a){const e=o("router-view");return r(),t(e)}const m=n(c,[["render",s]]);export{m as default};
diff --git a/admin-website/src/main/resources/static/assets/index-86d4e57b.css b/admin-website/src/main/resources/static/assets/index-86d4e57b.css
deleted file mode 100644
index 780c0c1..0000000
--- a/admin-website/src/main/resources/static/assets/index-86d4e57b.css
+++ /dev/null
@@ -1 +0,0 @@
-.container[data-v-9c767429]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto;overflow:hidden}.container .content[data-v-9c767429]{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;overflow:auto;background:#fff;border-radius:10px}.container .content-main[data-v-9c767429]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22vh 0}.container h3[data-v-9c767429]{width:270px;height:25px;color:#575d6c;font-weight:bolder;font-size:18px;line-height:25px;text-align:left;text-align:center}.container span[data-v-9c767429]{min-width:250px;height:20px;color:#8a8e99;font-weight:400;font-size:14px;line-height:20px;text-align:center}
diff --git a/admin-website/src/main/resources/static/assets/index-8a87e29f.js b/admin-website/src/main/resources/static/assets/index-8a87e29f.js
deleted file mode 100644
index f12c8a4..0000000
--- a/admin-website/src/main/resources/static/assets/index-8a87e29f.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as n,u as c,v as a,l as i,w as s,E as t,Z as _,_ as r}from"./vue-fdfdc7c1.js";import{_ as d}from"./index-387d5142.js";const p="/ui/admin/assets/500-434ea49e.png";const l={},m=e=>(_("data-v-42f947e1"),e=e(),r(),e),u={class:"container"},f={class:"content"},h={class:"content-main"},v=m(()=>s("img",{src:p,alt:"404",class:"image"},null,-1)),x={class:"tip"};function g(e,B){const o=n("Breadcrumb");return c(),a("div",u,[i(o,{items:["menu.exception","menu.exception.500"]}),s("div",f,[s("div",h,[v,s("h3",x,t(e.$t("exception.result.500.description")),1),s("span",null,t(e.$t("exception.result.permissions.500")),1)])])])}const k=d(l,[["render",g],["__scopeId","data-v-42f947e1"]]);export{k as default};
diff --git a/admin-website/src/main/resources/static/assets/index-8accb5fa.css b/admin-website/src/main/resources/static/assets/index-8accb5fa.css
deleted file mode 100644
index cde6740..0000000
--- a/admin-website/src/main/resources/static/assets/index-8accb5fa.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-transition-alert-fade-enter,.tiny-transition-alert-fade-enter-from,.tiny-transition-alert-fade-leave-active{opacity:0}.tiny-transition-alert-fade-leave-active{-webkit-transition:opacity .3s ease-in;transition:opacity .3s ease-in}.tiny-alert{--ti-alert-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-alert-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-alert-description-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-close-position-top:var(--ti-common-space-4x, 16px);--ti-alert-close-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-close-text-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-alert-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-success-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-info-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-warning-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-error-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-simple-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-title-font-size:var(--ti-common-font-size-1, 14px);--ti-alert-icon-margin-top:var(--ti-common-space-1, 1px);--ti-alert-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-alert-description-line-height:var(--ti-common-line-height-number, 1.5);--ti-alert-normal-content-padding-vertical:var(--ti-common-space-0, 0px);--ti-alert-normal-content-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-alert-description-margin-top:var(--ti-common-space-base, 4px);--ti-alert-description-margin-bottom:var(--ti-common-space-base, 4px);--ti-alert-description-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-alert-normal-padding-top:var(--ti-common-space-3x, 12px);--ti-alert-normal-padding-right:var(--ti-common-space-4x, 16px);--ti-alert-normal-padding-bottom:var(--ti-common-space-3x, 12px);--ti-alert-normal-padding-left:var(--ti-common-space-4x, 16px);--ti-alert-normal-margin-vertical:var(--ti-common-space-2x, 8px);--ti-alert-normal-margin-horizontal:var(--ti-common-space-0, 0px);--ti-alert-large-padding-top:calc(var(--ti-common-space-base, 4px) * 3.5);--ti-alert-large-padding-bottom:var(--ti-common-space-3x, 12px);--ti-alert-large-padding-left:var(--ti-common-space-4x, 16px);--ti-alert-large-padding-right:calc(var(--ti-common-space-base, 4px) * 10.5);--ti-alert-opration-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-alert-opration-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-large-icon-font-size:var(--ti-common-font-size-5, 24px);--ti-alert-large-icon-margin-top:calc(var(--ti-common-space-base, 4px) - 2px);--ti-alert-large-content-padding-left:var(--ti-common-space-4x, 16px);--ti-alert-large-close-font-size:var(--ti-alert-close-font-size);--ti-alert-warning-border-color:var(--ti-common-color-warn-border, #ffd0a6);--ti-alert-warning-icon-color:var(--ti-common-color-warn, #fa9841);--ti-alert-warning-link-text-color:var(--ti-common-color-warn-text, #e37d29);--ti-alert-warning-bg-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-alert-warning-close-icon-color:var(--ti-alert-warning-icon-color);--ti-alert-warning-close-hover-icon-color:var(--ti-alert-warning-icon-color);--ti-alert-error-border-color:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-alert-error-icon-color:var(--ti-common-color-error, #f66f6a);--ti-alert-error-link-text-color:var(--ti-common-color-error-text, #de504e);--ti-alert-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-alert-error-close-icon-color:var(--ti-alert-error-icon-color);--ti-alert-error-close-hover-icon-color:var(--ti-alert-error-icon-color);--ti-alert-success-border-color:var(--ti-common-color-success-border, #acf2dc);--ti-alert-success-icon-color:var(--ti-common-color-success, #50d4ab);--ti-alert-success-link-text-color:var(--ti-common-color-text-success, #3ac295);--ti-alert-success-bg-color:var(--ti-common-color-success-bg, #edfff9);--ti-alert-success-close-icon-color:var(--ti-alert-success-icon-color);--ti-alert-success-close-hover-icon-color:var(--ti-alert-success-icon-color);--ti-alert-info-border-color:var(--ti-common-color-prompt-border, #beccfa);--ti-alert-info-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-alert-info-link-text-color:var(--ti-common-color-prompt-text, #526ecc);--ti-alert-info-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-alert-info-close-icon-color:var(--ti-alert-info-icon-color);--ti-alert-info-close-hover-icon-color:var(--ti-alert-info-icon-color);--ti-alert-simple-border-color:var(--ti-common-color-info-border, #d3d4d6);--ti-alert-simple-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-alert-simple-link-text-color:var(--ti-common-color-primary-active, #7693f5);--ti-alert-simple-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-alert-simple-close-icon-color:var(--ti-alert-simple-icon-color);--ti-alert-simple-close-hover-icon-color:var(--ti-alert-simple-icon-color);position:relative;border:var(--ti-alert-border-weight) solid;border-radius:var(--ti-alert-border-radius);font-family:var(--ti-alert-font-family)}.tiny-alert.tiny-alert--normal{padding:var(--ti-alert-normal-padding-top) var(--ti-alert-normal-padding-right) var(--ti-alert-normal-padding-bottom) var(--ti-alert-normal-padding-left);margin:var(--ti-alert-normal-margin-vertical) var(--ti-alert-normal-margin-horizontal);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.tiny-alert.tiny-alert--normal .tiny-alert__content{padding:var(--ti-alert-normal-content-padding-vertical) var(--ti-alert-normal-content-padding-horizontal);display:table-cell;max-width:calc(100% - 30px)}.tiny-alert.tiny-alert--large{padding:var(--ti-alert-large-padding-top) var(--ti-alert-large-padding-right) var(--ti-alert-large-padding-bottom) var(--ti-alert-large-padding-left);display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-alert.tiny-alert--large .tiny-alert__content{padding-left:var(--ti-alert-large-content-padding-left);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-alert.tiny-alert--large .tiny-alert__description{margin-bottom:var(--ti-alert-description-margin-bottom);margin-top:var(--ti-alert-description-margin-top);color:var(--ti-alert-description-text-color)}.tiny-alert.tiny-alert--large .tiny-alert__description.is-hide{margin:0}.tiny-alert.tiny-alert--large .tiny-alert__icon{font-size:var(--ti-alert-large-icon-font-size);margin-top:var(--ti-alert-large-icon-margin-top);vertical-align:top;-ms-flex-negative:0;flex-shrink:0}.tiny-alert.tiny-alert--large .tiny-alert__close{font-size:var(--ti-alert-large-close-font-size);top:12px;right:12px;-webkit-transform:none;transform:none;margin-top:0}.tiny-alert.tiny-alert--success{background:var(--ti-alert-success-bg-color);border-color:var(--ti-alert-success-border-color);color:var(--ti-alert-success-title-text-color)}.tiny-alert.tiny-alert--success hr{border-top-color:var(--ti-alert-success-link-text-color)}.tiny-alert.tiny-alert--success .alert-link{color:var(--ti-alert-success-link-text-color)}.tiny-alert.tiny-alert--success .tiny-alert__icon{fill:var(--ti-alert-success-icon-color)}.tiny-alert.tiny-alert--success .tiny-alert__close{fill:var(--ti-alert-success-close-icon-color)}.tiny-alert.tiny-alert--success .tiny-alert__close:hover{fill:var(--ti-alert-success-close-hover-icon-color)}.tiny-alert.tiny-alert--info{background:var(--ti-alert-info-bg-color);border-color:var(--ti-alert-info-border-color);color:var(--ti-alert-info-title-text-color)}.tiny-alert.tiny-alert--info hr{border-top-color:var(--ti-alert-info-link-text-color)}.tiny-alert.tiny-alert--info .alert-link{color:var(--ti-alert-info-link-text-color)}.tiny-alert.tiny-alert--info .tiny-alert__icon{fill:var(--ti-alert-info-icon-color)}.tiny-alert.tiny-alert--info .tiny-alert__close{fill:var(--ti-alert-info-close-icon-color)}.tiny-alert.tiny-alert--info .tiny-alert__close:hover{fill:var(--ti-alert-info-close-hover-icon-color)}.tiny-alert.tiny-alert--warning{background:var(--ti-alert-warning-bg-color);border-color:var(--ti-alert-warning-border-color);color:var(--ti-alert-warning-title-text-color)}.tiny-alert.tiny-alert--warning hr{border-top-color:var(--ti-alert-warning-link-text-color)}.tiny-alert.tiny-alert--warning .alert-link{color:var(--ti-alert-warning-link-text-color)}.tiny-alert.tiny-alert--warning .tiny-alert__icon{fill:var(--ti-alert-warning-icon-color)}.tiny-alert.tiny-alert--warning .tiny-alert__close{fill:var(--ti-alert-warning-close-icon-color)}.tiny-alert.tiny-alert--warning .tiny-alert__close:hover{fill:var(--ti-alert-warning-close-hover-icon-color)}.tiny-alert.tiny-alert--error{background:var(--ti-alert-error-bg-color);border-color:var(--ti-alert-error-border-color);color:var(--ti-alert-error-title-text-color)}.tiny-alert.tiny-alert--error hr{border-top-color:var(--ti-alert-error-link-text-color)}.tiny-alert.tiny-alert--error .alert-link{color:var(--ti-alert-error-link-text-color)}.tiny-alert.tiny-alert--error .tiny-alert__icon{fill:var(--ti-alert-error-icon-color)}.tiny-alert.tiny-alert--error .tiny-alert__close{fill:var(--ti-alert-error-close-icon-color)}.tiny-alert.tiny-alert--error .tiny-alert__close:hover{fill:var(--ti-alert-error-close-hover-icon-color)}.tiny-alert.tiny-alert--simple{background:var(--ti-alert-simple-bg-color);border-color:var(--ti-alert-simple-border-color);color:var(--ti-alert-simple-title-text-color)}.tiny-alert.tiny-alert--simple hr{border-top-color:var(--ti-alert-simple-link-text-color)}.tiny-alert.tiny-alert--simple .alert-link{color:var(--ti-alert-simple-link-text-color)}.tiny-alert.tiny-alert--simple .tiny-alert__icon{fill:var(--ti-alert-simple-icon-color)}.tiny-alert.tiny-alert--simple .tiny-alert__close{fill:var(--ti-alert-simple-close-icon-color)}.tiny-alert.tiny-alert--simple .tiny-alert__close:hover{fill:var(--ti-alert-simple-close-hover-icon-color)}.tiny-alert__icon{font-size:var(--ti-alert-icon-font-size)}.tiny-alert__icon:first-child{margin-top:var(--ti-alert-icon-margin-top)}.tiny-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.tiny-alert .is-custom{position:absolute;font-size:var(--ti-alert-close-text-font-size);top:var(--ti-alert-close-position-top);right:12px;cursor:pointer}.tiny-alert .tiny-alert__close{font-size:var(--ti-alert-close-font-size);position:absolute;top:var(--ti-alert-close-position-top);right:12px;cursor:pointer}.tiny-alert .tiny-alert__content .tiny-alert__opration{font-size:var(--ti-alert-opration-font-size);color:var(--ti-alert-opration-text-color);line-height:1}.tiny-alert .tiny-alert__content .tiny-alert__opration a{font-size:var(--ti-alert-opration-font-size);color:var(--ti-alert-opration-text-color)}.tiny-alert .tiny-alert__content .tiny-alert__opration a:not(:last-child){margin-right:16px}.tiny-alert .tiny-alert__title{font-size:var(--ti-alert-title-font-size);color:var(--ti-alert-title-text-color);font-weight:700}.tiny-alert .tiny-alert__description{font-size:var(--ti-alert-description-font-size);line-height:var(--ti-alert-description-line-height)}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:"HarmonySans","鸿蒙黑体","NotoSans","Helvetica","Arial","PingFangSC-Regular","Hiragino Sans GB","Microsoft YaHei","微软雅黑","Microsoft JhengHei";--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, .08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, .5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, .75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}:root{--ti-mobile-base-color-primary-normal:#1890ff;--ti-mobile-base-color-primary-disabled:#bfbfbf;--ti-mobile-base-color-primary-hover:#40a9ff;--ti-mobile-base-color-primary-active:#096dd9;--ti-mobile-base-color-success-normal:#52c41a;--ti-mobile-base-color-success-disabled:#a6c3b9;--ti-mobile-base-color-success-hover:#73d13d;--ti-mobile-base-color-success-active:#389e0d;--ti-mobile-base-color-warning-normal:#faad14;--ti-mobile-base-color-warning-disabled:#d3c6a2;--ti-mobile-base-color-warning-hover:#ffc53d;--ti-mobile-base-color-warning-active:#ffc53d;--ti-mobile-base-color-danger-normal:#f5222d;--ti-mobile-base-color-danger-disabled:#d8bab5;--ti-mobile-base-color-danger-hover:#ff4d4f;--ti-mobile-base-color-danger-active:#cf1322;--ti-mobile-base-color-info-normal:#333333;--ti-mobile-base-color-info-disabled:#bfbfbf;--ti-mobile-base-color-info-hover:#54657e;--ti-mobile-base-color-info-active:#54657e;--ti-mobile-base-color-light:#fff;--ti-mobile-base-color-dark:#000;--ti-mobile-base-color-border:#d9d9d9;--ti-mobile-base-color-secondary:#666;--ti-mobile-base-color-placeholder:#999;--ti-mobile-base-color-hover-background:#e6f7ff;--ti-mobile-base-color-selected-background:#f5f5f5;--ti-mobile-base-color-navigation-background:#2e3243;--ti-mobile-base-radius-large:3px;--ti-mobile-base-radius-medium:2px;--ti-mobile-base-radius-small:1px;--ti-mobile-base-font-family-normal:Helvetica,Arial,"microsoft yahei";--ti-mobile-base-font-size:12px;--ti-mobile-base-font-size-normal:1em;--ti-mobile-base-font-size-large:1.125em;--ti-mobile-base-font-weight-bold:700;--ti-mobile-base-size-width-large:130px;--ti-mobile-base-size-width-medium:120px;--ti-mobile-base-size-width-normal:80px;--ti-mobile-base-size-width-small:36px;--ti-mobile-base-size-width-minor:30px;--ti-mobile-base-size-width-mini:24px;--ti-mobile-base-size-height-large:48px;--ti-mobile-base-size-height-medium:42px;--ti-mobile-base-size-height-small:36px;--ti-mobile-base-size-height-minor:30px;--ti-mobile-base-size-height-mini:24px}.tiny-mobile-alert{--ti-mobile-alert-warning-icon-color:var(--ti-mobile-color-warning, #ff8800);--ti-mobile-alert-warning-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-warning-bg-color:var(--ti-mobile-color-warning-subtle, #ffebd1);--ti-mobile-alert-error-icon-color:var(--ti-mobile-color-error, #f23030);--ti-mobile-alert-error-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-error-bg-color:var(--ti-mobile-color-error-subtle, #fce3e1);--ti-mobile-alert-success-icon-color:var(--ti-mobile-color-success, #5cb300);--ti-mobile-alert-success-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-success-bg-color:var(--ti-mobile-color-success-subtle, #e6f2d5);--ti-mobile-alert-info-icon-color:var(--ti-mobile-color-brand-2, #1476ff);--ti-mobile-alert-info-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-info-bg-color:var(--ti-mobile-color-info-subtle, #deecff);--ti-mobile-alert-height:var(--ti-mobile-color-info-subtle, 36px);--ti-mobile-alert-padding-left:var(--ti-mobile-space-6x, 24px);--ti-mobile-alert-padding-right:var(--ti-mobile-space-6x, 24px);--ti-mobile-alert-padding-top:9px;--ti-mobile-alert-padding-bottom:9px;--ti-mobile-alert-icon-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-alert-content-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-alert-content-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-alert-font-weight:var(--ti-mobile-font-weight-regular, 400);--ti-mobile-alert-content-padding-horizontal:var(--ti-mobile-space-2x, 8px);--ti-mobile-alert-large-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-alert-large-padding-vertical:10px;--ti-mobile-alert-close-icon-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-alert-close-icon-color:var(--ti-mobile-color-default, #808080);--ti-mobile-alert-custom-text-color:var(--ti-mobile-color-text-placeholder, #808080);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;clear:both;position:relative;width:100%;font-size:0}.tiny-mobile-alert .tiny-mobile-alert__content{-webkit-box-flex:1;-ms-flex:1;flex:1;color:var(--ti-mobile-alert-content-text-color);font-weight:var(--ti-mobile-alert-font-weight);padding:0 var(--ti-mobile-alert-content-padding-horizontal);white-space:pre-wrap;word-break:break-all}.tiny-mobile-alert--normal{height:var(--ti-mobile-alert-height,36px);line-height:1.5;padding:var(--ti-mobile-alert-padding-top) var(--ti-mobile-alert-padding-right) var(--ti-mobile-alert-padding-bottom) var(--ti-mobile-alert-padding-left)}.tiny-mobile-alert--normal .tiny-mobile-alert__content{font-size:var(--ti-mobile-alert-content-font-size,12px)}.tiny-mobile-alert--normal .tiny-mobile-alert__content.is-hideicon{padding:0}.tiny-mobile-alert.tiny-mobile-alert--large{padding:var(--ti-mobile-alert-large-padding-vertical) var(--ti-mobile-alert-padding-right) var(--ti-mobile-alert-large-padding-vertical) var(--ti-mobile-alert-padding-left)}.tiny-mobile-alert.tiny-mobile-alert--large .tiny-mobile-alert__content{font-size:var(--ti-mobile-alert-large-font-size)}.tiny-mobile-alert.tiny-mobile-alert--large .tiny-mobile-alert__content.is-hideicoalert-variantn{padding:0}.tiny-mobile-alert.tiny-mobile-alert--large .is-custom{font-size:var(--ti-mobile-alert-large-font-size)}.tiny-mobile-alert.tiny-mobile-alert--large .tiny-mobile-alert__icon{margin-top:4px}.tiny-mobile-alert--success{background:var(--ti-mobile-alert-success-bg-color)}.tiny-mobile-alert--success hr{border-top-color:var(--ti-mobile-alert-success-link-color)}.tiny-mobile-alert--success .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-success-icon-color)}.tiny-mobile-alert--info{background:var(--ti-mobile-alert-info-bg-color)}.tiny-mobile-alert--info hr{border-top-color:var(--ti-mobile-alert-info-link-color)}.tiny-mobile-alert--info .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-info-icon-color)}.tiny-mobile-alert--warning{background:var(--ti-mobile-alert-warning-bg-color)}.tiny-mobile-alert--warning hr{border-top-color:var(--ti-mobile-alert-warning-link-color)}.tiny-mobile-alert--warning .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-warning-icon-color)}.tiny-mobile-alert--error{background:var(--ti-mobile-alert-error-bg-color)}.tiny-mobile-alert--error hr{border-top-color:var(--ti-mobile-alert-error-link-color)}.tiny-mobile-alert--error .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-error-icon-color)}.tiny-mobile-alert__icon{margin-top:2px;font-size:var(--ti-mobile-alert-icon-size)}.tiny-mobile-alert__icon.tiny-mobile-alert__close{position:absolute;top:var(--ti-mobile-alert-padding-top);right:var(--ti-mobile-alert-padding-right);margin-top:0;fill:var(--ti-mobile-alert-close-icon-color)}.tiny-mobile-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-mobile-alert.is-center .tiny-mobile-alert__content{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.tiny-mobile-alert .is-custom{cursor:pointer;font-size:var(--ti-mobile-alert-content-font-size);color:var(--ti-mobile-alert-custom-text-color)}.tiny-mobile-alert .tiny-mobile-alert__close{font-size:var(--ti-mobile-alert-close-icon-font-size);cursor:pointer}.tiny-radio-button{--ti-radio-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-radio-button-hover-text-color:var(--ti-common-color-light, #fff);--ti-radio-button-border-color:var(--ti-common-color-border, #adb0b8);--ti-radio-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-radio-button-font-size:var(--ti-common-font-size-base, 12px);--ti-radio-button-bg-color:var(--ti-common-color-light, #fff);--ti-radio-button-checked-normal-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-radio-button-checked-normal-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-radio-button-checked-normal-box-shadow:-1px 0 0 0 var(--ti-common-color-primary-normal, #5e7ce0);--ti-radio-button-checked-hover-bg-color:var(--ti-common-color-primary-hover, #7693f5);--ti-radio-button-checked-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-radio-button-checked-hover-box-shadow:-1px 0 0 0 var(--ti-common-color-primary-hover, #7693f5);--ti-radio-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-radio-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-radio-button-medium-font-size:var(--ti-common-font-size-1, 14px)}.tiny-radio-button:first-child .tiny-radio-button__inner{border-left:1px solid var(--ti-radio-button-border-color);border-radius:var(--ti-radio-button-border-radius) 0 0 var(--ti-radio-button-border-radius)}.tiny-radio-button:first-child .tiny-radio-button__orig-radio:checked+.tiny-radio-button__inner{-webkit-box-shadow:none;box-shadow:none}.tiny-radio-button:last-child .tiny-radio-button__inner{border-radius:0 var(--ti-radio-button-border-radius) var(--ti-radio-button-border-radius) 0}.tiny-radio-button:first-child:last-child .tiny-radio-button__inner{border-radius:var(--ti-radio-button-border-radius)}.tiny-radio-button,.tiny-radio-button__inner{display:inline-block;position:relative;outline:0}.tiny-radio-button__inner{color:var(--ti-radio-button-text-color);font-size:var(--ti-radio-button-font-size);background:var(--ti-radio-button-bg-color);border:1px solid var(--ti-radio-button-border-color);padding:12px 20px;font-weight:500;border-radius:0;border-left:0;line-height:1;white-space:nowrap;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.tiny-radio-button__inner.is-round{padding:12px 20px}.tiny-radio-button__inner:hover{color:var(--ti-radio-button-hover-text-color);background-color:var(--ti-radio-button-checked-hover-bg-color);border-color:var(--ti-radio-button-checked-hover-border-color);outline:0}.tiny-radio-button__inner [class*=tiny-icon]{line-height:.9}.tiny-radio-button__inner [class*=tiny-icon]+span{margin-left:5px}.tiny-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.tiny-radio-button__orig-radio:checked+.tiny-radio-button__inner{color:#fff;background-color:var(--ti-radio-button-checked-normal-bg-color);border-color:var(--ti-radio-button-checked-normal-border-color);-webkit-box-shadow:var(--ti-radio-button-checked-normal-box-shadow);box-shadow:var(--ti-radio-button-checked-normal-box-shadow)}.tiny-radio-button__orig-radio:checked+.tiny-radio-button__inner:hover{background-color:var(--ti-radio-button-checked-hover-bg-color);border-color:var(--ti-radio-button-checked-hover-border-color);-webkit-box-shadow:var(--ti-radio-button-checked-hover-box-shadow);box-shadow:var(--ti-radio-button-checked-hover-box-shadow)}.tiny-radio-button__orig-radio:disabled+.tiny-radio-button__inner{color:var(--ti-radio-button-disabled-text-color);border-color:var(--ti-radio-button-border-color);background-color:var(--ti-radio-button-disabled-bg-color);background-image:none;-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed}.tiny-radio-button__orig-radio:disabled:checked+.tiny-radio-button__inner{background-color:var(--ti-radio-input-checked-disabled-bg-color)}.tiny-radio-button__orig-radio:disabled:checked+.tiny-radio-button__inner,.tiny-radio-button__orig-radio:disabled:checked+.tiny-radio-button__inner:hover{border-color:var(--ti-radio-input-checked-disabled-border-color)}.tiny-radio-button--medium .tiny-radio-button__inner{font-size:var(--ti-radio-button-medium-font-size);padding:10px 20px;border-radius:0}.tiny-radio-button--medium .tiny-radio-button__inner.is-round{padding:10px 20px}.tiny-radio-button--small .tiny-radio-button__inner{font-size:var(--ti-radio-button-font-size);padding:9px 15px;border-radius:0}.tiny-radio-button--small .tiny-radio-button__inner.is-round{padding:9px 15px}.tiny-radio-button--mini .tiny-radio-button__inner{font-size:var(--ti-radio-button-font-size);padding:7px 15px;border-radius:0}.tiny-radio-button--mini .tiny-radio-button__inner.is-round{padding:7px 15px}.tiny-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color);box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color)}.tiny-radio-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.tiny-radio-group.list-inline{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-radio-group.list-inline .tiny-radio{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:0}.tiny-radio-group.list-inline .tiny-radio:not(:last-child){margin-bottom:var(--ti-radio-button-margin-bottom)}.tiny-radio-group.list-inline .tiny-radio-button{display:block}.tiny-radio-group.list-inline .tiny-radio-button:first-child .tiny-radio-button__inner{border-radius:var(--ti-radio-button-border-radius) var(--ti-radio-button-border-radius) 0 0;border-top:1px solid var(--ti-radio-button-border-color)}.tiny-radio-group.list-inline .tiny-radio-button:last-child .tiny-radio-button__inner{border-radius:0 0 var(--ti-radio-button-border-radius) var(--ti-radio-button-border-radius)}.tiny-radio-group.list-inline .tiny-radio-button.is-active .tiny-radio-button__inner{-webkit-box-shadow:none;box-shadow:none;border-color:var(--ti-radio-button-checked-normal-border-color)}.tiny-radio-group.list-inline .tiny-radio-button.is-active.is-disabled .tiny-radio-button__inner{border-color:var(--ti-radio-input-checked-disabled-border-color)}.tiny-radio-group.list-inline .tiny-radio-button__inner{border-top:0;border-left:1px solid var(--ti-radio-button-border-color)}.tiny-dialog-box{position:absolute;background:var(--ti-dialog-box-bg-color);border:1px solid transparent;border-radius:var(--ti-dialog-box-border-radius);-webkit-box-shadow:var(--ti-dialog-box-shadow);box-shadow:var(--ti-dialog-box-shadow);overflow:hidden}.tiny-dialog-box__wrapper{--ti-dialog-box-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-dialog-box-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-dialog-box-shadow:var(--ti-common-shadow-4-down, 0 8px 40px 0 rgba(0, 0, 0, .2));--ti-dialog-box-head-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-dialog-box-head-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-head-padding-top:var(--ti-common-space-8x, 32px);--ti-dialog-box-head-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-dialog-box-head-padding-bottom:calc(var(--ti-common-space-base, 4px) * 7);--ti-dialog-box-head-title-font-size:var(--ti-common-font-size-3, 18px);--ti-dialog-box-head-title-font-weight:var(--ti-common-font-weight-7, bold);--ti-dialog-box-head-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-head-border-bottom-color:var(--ti-common-color-transparent, transparent);--ti-dialog-box-head-font-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-dialog-box-head-font-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-dialog-box-head-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-head-body-font-size:var(--ti-common-font-size-1, 14px);--ti-dialog-box-btn-width:var(--ti-common-size-8x, 32px);--ti-dialog-box-btn-height:var(--ti-dialog-box-btn-width);--ti-dialog-box-btn-border-radius:var(--ti-common-border-radius-1, 4px);--ti-dialog-box-close-icon-size:var(--ti-common-font-size-1, 14px);--ti-dialog-box-close-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-dialog-box-close-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-dialog-box-btn-background-color-hover:none;--ti-dialog-box-btn-position-top:var(--ti-common-space-5x, 20px);--ti-dialog-box-btn-position-right:var(--ti-common-space-5x, 20px);--ti-dialog-box-body-font-size:var(--ti-common-font-size-base, 12px);--ti-dialog-box-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-body-padding-vertical:var(--ti-common-space-0, 0px);--ti-dialog-box-body-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-dialog-box-footer-padding-top:calc(var(--ti-common-space-base, 4px) * 7);--ti-dialog-box-footer-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-dialog-box-footer-margin-bottom:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-min-width:calc(var(--ti-common-space-10, 10px) * 50);--ti-dialog-box-drawer-max-width:calc(var(--ti-common-space-10, 10px) * 100);--ti-dialog-box-drawer-padding-left:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-padding-right:var(--ti-common-space-10x, 40px);--ti-dialog-box-drawer-header-padding-top:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-header-padding-bottom:var(--ti-common-space-5x, 20px);--ti-dialog-box-drawer-header-padding-left:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-right:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-top:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-bottom:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-left:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-header-padding-right:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-footer-text-align:right;--ti-dialog-box-drawer-footer-padding-top:var(--ti-common-space-5x, 20px);--ti-dialog-box-drawer-footer-padding-bottom:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-footer-padding-left:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-footer-padding-right:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-footer-margin-left:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-footer-margin-right:var(--ti-common-space-10x, 40px);--ti-dialog-box-drawer-divider-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-dialog-box-drawer-radius:var(--ti-common-space-0, 0px);--ti-dialog-box-wrapper-display:block;--ti-dialog-box-wrapper-align-items:normal;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0;display:var(--ti-dialog-box-wrapper-display);-webkit-box-align:var(--ti-dialog-box-wrapper-align-items);-ms-flex-align:var(--ti-dialog-box-wrapper-align-items);align-items:var(--ti-dialog-box-wrapper-align-items)}.tiny-dialog-box.is-fullscreen{left:0;top:0;width:100vw;height:100vh}.tiny-dialog-box.is-fullscreen .tiny-dialog-box__footer{position:absolute;left:0;bottom:0;width:100vw}.tiny-dialog-box.is-center .tiny-dialog-box__footer,.tiny-dialog-box.is-center .tiny-dialog-box__header{text-align:center}.tiny-dialog-box.is-fullscreen .tiny-dialog-box__body{max-height:calc(100vh - 94px)}.tiny-dialog-box .tiny-dialog-box__header{padding:var(--ti-dialog-box-head-padding-top) var(--ti-dialog-box-head-padding-horizontal) var(--ti-dialog-box-head-padding-bottom);background:var(--ti-dialog-box-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--ti-dialog-box-head-title-font-size);color:var(--ti-dialog-box-head-title-text-color);font-weight:var(--ti-dialog-box-head-title-font-weight);border-bottom:1px solid var(--ti-dialog-box-head-border-bottom-color)}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__title{-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn{border:none;background:0 0;padding:0;line-height:1;top:calc(var(--ti-dialog-box-btn-position-top) - (var(--ti-dialog-box-btn-height) - var(--ti-dialog-box-close-icon-size))/ 2);right:calc(var(--ti-dialog-box-btn-position-right) - (var(--ti-dialog-box-btn-width) - var(--ti-dialog-box-close-icon-size))/ 2);cursor:pointer}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn:hover{background-color:var(--ti-dialog-box-btn-background-color-hover);border-radius:var(--ti-dialog-box-btn-border-radius)}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn+.tiny-dialog-box__headerbtn{margin-left:8px}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn:focus{outline:0}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn .tiny-dialog-box__close{fill:var(--ti-dialog-box-close-icon-color);font-size:var(--ti-dialog-box-close-icon-size)}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn .tiny-dialog-box__close:hover{fill:var(--ti-dialog-box-close-icon-color-hover)}.tiny-dialog-box .tiny-dialog-box__body{text-align:left;padding:var(--ti-dialog-box-body-padding-vertical) var(--ti-dialog-box-body-padding-horizontal);margin-bottom:var(--ti-dialog-box-body-margin-bottom);color:var(--ti-dialog-box-body-text-color);font-size:var(--ti-dialog-box-body-font-size)}.tiny-dialog-box .tiny-dialog-box__body .tiny-upload{overflow:hidden}.tiny-dialog-box .tiny-dialog-box__body>span{max-height:120px;overflow-y:auto}.tiny-dialog-box .tiny-dialog-box__body .tiny-dept__search{line-height:30px}.tiny-dialog-box .tiny-dialog-box__footer{padding:var(--ti-dialog-box-footer-padding-top) var(--ti-dialog-box-footer-padding-horizontal) var(--ti-dialog-box-footer-margin-bottom);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-dialog-box .tiny-dialog-box__footer .tiny-button{min-width:var(--ti-dialog-box-footer-btn-min-width)}.tiny-dialog-box .tiny-dialog-box__footer .tiny-toolbar .tiny-button{margin:0 4px}.tiny-dialog-box.is-right-slide{border-radius:var(--ti-dialog-box-drawer-radius);min-width:var(--ti-dialog-box-drawer-min-width);max-width:var(--ti-dialog-box-drawer-max-width);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-dialog-box.is-right-slide .tiny-dialog-box__body,.tiny-dialog-box.is-right-slide .tiny-dialog-box__footer,.tiny-dialog-box.is-right-slide .tiny-dialog-box__header{width:calc(100% - var(--ti-dialog-box-drawer-padding-left) - var(--ti-dialog-box-drawer-padding-right));margin-left:var(--ti-dialog-box-drawer-padding-left);margin-right:var(--ti-dialog-box-drawer-padding-right)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__header{padding:var(--ti-dialog-box-drawer-header-padding-top) var(--ti-dialog-box-drawer-header-padding-right) var(--ti-dialog-box-drawer-header-padding-bottom) var(--ti-dialog-box-drawer-header-padding-left);border-bottom:1px solid var(--ti-dialog-box-drawer-divider-border-color)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__headerbtn{right:calc(var(--ti-dialog-box-btn-position-right) - var(--ti-dialog-box-drawer-padding-right) - (var(--ti-dialog-box-btn-width) - var(--ti-dialog-box-close-icon-size))/ 2)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:var(--ti-dialog-box-drawer-body-padding-top) var(--ti-dialog-box-drawer-body-padding-right) var(--ti-dialog-box-drawer-body-padding-bottom) var(--ti-dialog-box-drawer-body-padding-left)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__footer{padding:var(--ti-dialog-box-drawer-footer-padding-top) var(--ti-dialog-box-drawer-footer-padding-right) var(--ti-dialog-box-drawer-footer-padding-bottom) var(--ti-dialog-box-drawer-footer-padding-left);border-top:1px solid var(--ti-dialog-box-drawer-divider-border-color);text-align:var(--ti-dialog-box-drawer-footer-text-align)}.popup-parent--hidden{overflow:hidden}body:not(.popup-parent--hidden) .v-modal{pointer-events:none}body:not(.popup-parent--hidden) .tiny-dialog-box__wrapper{pointer-events:none}body:not(.popup-parent--hidden) .tiny-dialog-box__wrapper .tiny-dialog-box{pointer-events:auto}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.enlarge-enter-active{-webkit-animation:enlarge-in .35s linear;animation:enlarge-in .35s linear}@-webkit-keyframes enlarge-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes enlarge-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@media (max-width:480px){.tiny-dialog-box{width:100%!important;top:0!important;left:0!important}}.tiny-mobile-dialog-box{--ti-mobile-dialogbox-background:var(--ti-mobile-base-color-light, #fff);--ti-mobile-dialogbox-width:270px;--ti-mobile-dialogbox-border-color:#ccc;--ti-mobile-dialogbox-title-font-size:17px;--ti-mobile-dialogbox-title-color:var(--ti-mobile-base-color-dark, #000);--ti-mobile-dialogbox-body-font-size:16px;--ti-mobile-dialogbox-body-color:var(--ti-mobile-base-color-info-normal, #333);--ti-mobile-dialogbox-cancel-button-color:var(--ti-mobile-base-color-placeholder, #999);--ti-mobile-dialogbox-confirm-button-color:var(--ti-mobile-base-color-info-normal, #333);position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--ti-mobile-dialogbox-width,270px);background:var(--ti-mobile-dialogbox-background,#fff)}.tiny-mobile-dialog-box__wrapper{margin:0;overflow:auto;position:fixed;right:0;top:0;left:0;bottom:0}.tiny-mobile-dialog-box.is-hide-header .tiny-mobile-dialog-box__body{padding:24px 16px;max-height:490px}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__header{padding:16px 16px 8px;text-align:center}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__title{font-size:var(--ti-mobile-dialogbox-title-font-size,17px);color:var(--ti-mobile-dialogbox-title-color,#000);font-weight:700}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__body{font-size:var(--ti-mobile-dialogbox-body-font-size,16px);color:var(--ti-mobile-dialogbox-body-color,#333);padding:0 16px 16px;max-height:482px;overflow-y:auto}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer{height:44px;padding:0 16px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid var(--ti-mobile-dialogbox-border-color,#ccc)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer{border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer:before{content:"";z-index:1;display:block;background-color:var(--ti-mobile-dialogbox-border-color,#ccc);position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button{width:50%;font-size:16px;line-height:42px;border:0;background:0;cursor:pointer}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button:focus{outline:0}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button{color:var(--ti-mobile-dialogbox-cancel-button-color,#999);border-right:1px solid var(--ti-mobile-dialogbox-border-color,#ccc);position:relative}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button{border-right:none;position:relative}html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button:after{content:"";z-index:1;display:block;background-color:var(--ti-mobile-dialogbox-border-color,#ccc);position:absolute;right:0;left:auto;bottom:auto;top:0;height:100%;width:1px;background:var(--ti-mobile-dialogbox-border-color,#ccc);-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button:after{-webkit-transform:scaleX(.33);transform:scaleX(.33)}}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.confirm-button{color:var(--ti-mobile-dialogbox-confirm-button-color,#333)}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.3;background:#000}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.dialog-slideRight-enter-active{-webkit-animation:slideRight .5s ease-in forwards;animation:slideRight .5s ease-in forwards}.dialog-slideRight-leave-active{-webkit-animation:slideRightout .5s ease-in forwards;animation:slideRightout .5s ease-in forwards}@-webkit-keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}}@keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}@-webkit-keyframes dialog-fade-out{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes dialog-fade-out{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@-webkit-keyframes dialog-fade-in{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes dialog-fade-in{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}.tiny-split-wrapper{--ti-split-pane-font-size:var(--ti-common-font-size-2, 16px);--ti-split-trigger-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-split-trigger-bar-bg-color:var(--ti-common-color-icon-normal, #575d6c);--ti-split-trigger-hover-bg-color:var(--ti-split-trigger-bg-color);--ti-split-trigger-bar-hover-bg-color:var(--ti-split-trigger-bar-bg-color);--ti-split-trigger-bar-con-bg-color:var(--ti-common-color-light, #fff);--ti-split-trigger-size:var(--ti-common-size-base, 4px);--ti-split-trigger-bar-margin-left:var(--ti-common-space-base, 4px);--ti-split-trigger-con-col-cursor:e-resize;--ti-split-trigger-bar-margin-top:var(--ti-common-space-base, 4px);--ti-split-trigger-con-row-cursor:n-resize;position:relative;width:100%;height:100%;overflow:hidden;-webkit-box-shadow:0 0 0 1px #d9d9d9;box-shadow:0 0 0 1px #d9d9d9}.tiny-split-pane{position:absolute;font-size:var(--ti-split-pane-font-size)}.tiny-split-pane.left-pane,.tiny-split-pane.right-pane{top:0;bottom:0;overflow:hidden}.tiny-split-pane.left-pane{left:0}.tiny-split-pane.right-pane{right:0}.tiny-split-pane.bottom-pane,.tiny-split-pane.top-pane{left:0;right:0;overflow:hidden}.tiny-split-pane.top-pane{top:0}.tiny-split-pane.bottom-pane{bottom:0}.tiny-split-trigger-con{position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:10}.tiny-split-trigger-bar-con{position:absolute;background:#fff}.tiny-split-trigger-bar-con.vertical{top:50%;height:28px;-webkit-transform:translate(0,-50%);transform:translateY(-50%)}.tiny-split-trigger-bar-con.horizontal{left:50%;width:28px;-webkit-transform:translate(-50%,0);transform:translate(-50%)}.tiny-split-trigger-vertical{width:4px;height:100%;background:#eaecf1;cursor:e-resize}.tiny-split-trigger-vertical .tiny-split-trigger-bar{width:4px;height:4px;background:#4e4e4e;float:left;margin-top:4px;border-radius:50%}.tiny-split-trigger-horizontal{height:4px;width:100%;background:#eaecf1;cursor:n-resize}.tiny-split-trigger-horizontal .tiny-split-trigger-bar{height:4px;width:4px;background:#4e4e4e;float:left;margin-left:4px;border-radius:50%}.tiny-split-horizontal .tiny-split-trigger-con{top:50%;height:100%;width:0}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-button{width:14px;height:26px;position:absolute;top:50%}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-button:hover{width:18px}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-left-button{-webkit-transform:translate(0,-50%);transform:translateY(-50%);left:-6px;border-radius:4px 0 0 4px;border-right:0}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-left-button:hover{left:-10px}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-right-button{-webkit-transform:translate(0,-50%);transform:translateY(-50%);border-radius:0 4px 4px 0;left:9px;border-left:0}.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal,.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical{cursor:auto}.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal:hover,.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical:hover{background:#eaecf1}.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-left-active{margin-left:-1px}.tiny-split-horizontal .tiny-split-vertical .tiny-split-trigger-con{left:50%;height:0;width:100%}.tiny-split-horizontal .tiny-split-trigger-con-drag,.tiny-split-horizontal .tiny-split-pane-moving{cursor:e-resize}.tiny-split-vertical .tiny-split-trigger-con{left:50%;height:0;width:100%}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-button{width:26px;height:14px;position:absolute;left:50%}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-button:hover{height:18px}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-top-button{-webkit-transform:translate(-50%,0);transform:translate(-50%);border-radius:4px 4px 0 0;top:-6px;border-bottom:0}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-top-button .tiny-svg{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-top-button:hover{top:-10px}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-bottom-button{-webkit-transform:translate(-50%,0);transform:translate(-50%);border-radius:0 0 4px 4px;border-top:0;top:9px}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-bottom-button .tiny-svg{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal,.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical{cursor:auto}.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal:hover,.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical:hover{background:#eaecf1}.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-top-active{margin-top:-1px}.tiny-split-vertical .tiny-split-horizontal .tiny-split-trigger-con{top:50%;height:100%;width:0}.tiny-split-vertical .tiny-split-trigger-con-drag,.tiny-split-vertical .tiny-split-pane-moving{cursor:n-resize}.tiny-split .no-select{-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-split-trigger-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid rgba(25,25,25,.1);background:#fff;-webkit-transition:all .1s;transition:all .1s;visibility:hidden}.tiny-split-trigger-button .tiny-svg{fill:#939393}.tiny-split-trigger-button:hover{cursor:pointer}.tiny-split-trigger-button:hover .tiny-svg{fill:#282c43}.tiny-split-trigger-button-show{visibility:visible}.tiny-split-trigger-con{-webkit-transition:all .1s;transition:all .1s}.tiny-split-trigger-con-drag{-webkit-transition:none;transition:none}.tiny-split-trigger-con-vertical.tiny-split-trigger-con-simple{padding:0 8px;cursor:e-resize}.tiny-split-trigger-con-horizontal.tiny-split-trigger-con-simple{padding:8px 0;cursor:n-resize}.tiny-split-trigger-con-simple .tiny-split-trigger-vertical{width:1px}.tiny-split-trigger-con-simple .tiny-split-trigger-horizontal{height:1px}.tiny-split-trigger-con-simple:hover .tiny-split-trigger{background:#0072e8}.tiny-grid-toolbar-modal .tiny-grid-modal__box .tiny-grid-modal__body{padding:0 0 10px}.tiny-grid-toolbar-modal .tiny-grid-modal__content{position:relative}.tiny-grid-toolbar-modal .tiny-grid-modal__header{border:none}.tiny-grid-toolbar-modal .tiny-grid-modal__header .tiny-grid-modal__close-btn{height:18px;width:18px}.tiny-grid-toolbar-modal .tiny-grid-modal__close-btn,.tiny-grid-toolbar-modal .tiny-grid-modal__zoom-btn{top:18px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs{padding-top:28px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head{white-space:nowrap;margin:0;overflow:hidden;width:300px;position:absolute;left:0;top:0;z-index:5000;height:40px;padding-top:2px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul{height:100%;border:none}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li{float:left;margin-right:-1px;margin-left:24px;cursor:pointer;padding:0 2px;color:#161e26;height:100%;min-width:auto;line-height:unset}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li.tiny-grid-custom__tabs-selected{color:#1890ff}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li.tiny-grid-custom__tabs-base{font-weight:700}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item{height:340px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .other-setting{height:100%;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;padding:30px 20px 20px 25px;position:relative;top:-1px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .other-setting .label{margin-right:20px;font-size:12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane.left-pane{overflow-y:auto}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header{padding-bottom:10px;margin-bottom:8px;color:#8d959e;border-bottom:1px solid #e8ebef;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header p{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header .clear-all{color:#1890ff;cursor:pointer;margin-left:16px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header span:not(.clear-all){display:inline-block;text-align:center;width:60px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__inner{border-width:0;padding:0 0 0 5px;height:24px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__inner:focus{border-width:1px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__suffix{display:none;right:6px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__suffix svg{width:12px;height:12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul{height:calc(100% - 20px);overflow-y:auto}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li{height:32px;padding:0 8px 0 6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li.show-dropdown .dropdown-column .set-btn{visibility:visible}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .sort-number{width:40px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .name{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:32px;line-height:32px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .name.dragable{cursor:move}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .close-icon{visibility:hidden;cursor:pointer;margin-left:18px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .drag-icon{display:grid;cursor:move;margin-right:6px;grid-template-columns:1fr 1fr;grid-column-gap:2px;grid-row-gap:4px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .drag-icon span{display:inline-block;width:2px;height:2px;background-color:#8d959e}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-btn{display:inline-block;width:24px;height:24px;line-height:24px;background-color:#f5f6f8}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column{width:60px;text-align:center}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column .is-text{display:inline-block;width:60px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column .is-text .set-btn.visibility-hidden,.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column.visibility-hidden{visibility:hidden}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .set-btn{font-size:12px;text-align:center;display:inline-block;visibility:hidden;width:60px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover{background-color:#f5f6f8}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .close-icon{visibility:visible}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .close-icon.visibility-hidden{visibility:hidden}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .close-icon svg{fill:#8d959e}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .set-btn:not(.visibility-hidden){visibility:visible}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .tiny-input:hover .tiny-input__inner{background-color:#fff}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .tiny-input .tiny-input__inner{background-color:#f5f6f8}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .tiny-input .tiny-input__suffix{display:block}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .left-panel{padding:16px 18px 16px 24px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .right-panel{padding:20px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .group-label{font-size:14px;font-weight:700;margin:18px 0 12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .group-label.group-label-first{margin-top:0}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .check-all-btn{margin-bottom:16px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-checkbox-group.is-vertical .tiny-checkbox:not(:last-child){margin-bottom:12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-checkbox .tiny-checkbox__label{font-size:14px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-search{margin-bottom:18px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template{margin-bottom:8px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template .tiny-filter-box{max-width:100%}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template .tiny-filter-box .value{max-width:initial}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template .tiny-filter-box .filter-icon-close{-ms-flex-negative:0;flex-shrink:0}.tiny-grid-toolbar-modal .tiny-grid-custom .tiny-grid-custom__footer{margin:2px 12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:right;-ms-flex-pack:right;justify-content:right;padding-right:10px}.tiny-grid-toolbar-modal .tiny-grid-custom .tiny-grid-custom__footer>button{margin:0 5px}.tiny-grid-toolbar-modal .tiny-grid-custom .tiny-grid-custom__footer>span{margin:0 5px}.tiny-popover.grid-toolbar-template-popover .radio-box{margin-bottom:14px}.tiny-popover.grid-toolbar-template-popover .btn-box{text-align:right;margin-top:16px}
diff --git a/admin-website/src/main/resources/static/assets/index-9218ed04.css b/admin-website/src/main/resources/static/assets/index-9218ed04.css
deleted file mode 100644
index e15b514..0000000
--- a/admin-website/src/main/resources/static/assets/index-9218ed04.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-fullscreen{overflow:auto}.container-list[data-v-6e43c7c3]{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 60px);overflow-x:hidden;overflow-y:auto}.line[data-v-6e43c7c3]{height:1px;color:#d5d5d5;background-color:#d5d5d5;border:0}.contain[data-v-6e43c7c3]{flex:1 1 auto;margin:8px 10px;background:#fff;border-radius:10px;box-shadow:0 0 8px 8px #a9aeb80d}.contain .contain-head[data-v-6e43c7c3]{display:flex;align-items:center;justify-content:space-between;padding:30px 30px 0}.contain .contain-head hr[data-v-6e43c7c3]{height:1px;color:#d5d5d5;background-color:#d5d5d5;border:0;width:86%;margin:0 20px}.contain .contain-head span[data-v-6e43c7c3]{color:#1a1818;font-size:16px}.contain .contain-box[data-v-6e43c7c3]{display:flex;align-items:center;justify-content:flex-end;min-width:52px}.contain .contain-img[data-v-6e43c7c3]{position:relative;display:flex;cursor:pointer}.contain .contain-img img[data-v-6e43c7c3]:hover{background:whitesmoke}.contain .contain-text[data-v-6e43c7c3]{padding-left:10px;color:#4e5969;font-size:14px;cursor:pointer}.bottom-line[data-v-6e43c7c3]{padding-bottom:24px}.bottom-line hr[data-v-6e43c7c3]{height:1px;color:#d5d5d5;background-color:#d5d5d5;border:0;width:96%;margin:0 auto}.filter-form[data-v-6e43c7c3]{margin:30px 0}.col[data-v-6e43c7c3]{width:80%;height:70px}[data-v-6e43c7c3] .tiny-pager{float:right}[data-v-6e43c7c3] .tiny-grid-button__wrapper{width:100%}[data-v-6e43c7c3] .tiny-form-item__label{color:#494747;font-weight:400}[data-v-6e43c7c3] .tiny-grid-header__column{height:35px;color:#8b8989;background-color:#f5f6f7}.operation[data-v-6e43c7c3]{color:#5e7ce0}.btn[data-v-6e43c7c3]{display:flex;justify-content:space-between;width:100%}.btn button[data-v-6e43c7c3]{border-radius:4px;width:100px;height:36px}.btn .screen[data-v-6e43c7c3]{display:flex;align-items:center;justify-content:flex-end;width:60px;text-align:center;cursor:pointer}.btn .screen span[data-v-6e43c7c3]{margin-left:10px;color:#4e5969;font-size:14px}.status-dot[data-v-6e43c7c3]{position:relative;top:-1px;display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:middle;background-color:#1890ff;border-radius:50%}.status-closed .status-dot[data-v-6e43c7c3]{background-color:#d9d9d9}.status-finished .status-dot[data-v-6e43c7c3]{background-color:#52c41a}.tiny-fullscreen[data-v-6e43c7c3]{background:#fff}.tiny-fullscreen-wrapper[data-v-6e43c7c3]{min-height:710px;padding:0 30px}.tiny-fullscreen-scroll[data-v-6e43c7c3]{overflow-y:auto}.search-btn[data-v-6e43c7c3]{display:flex}.search-btn button[data-v-6e43c7c3]{height:36px;width:100px;border-radius:4px}
diff --git a/admin-website/src/main/resources/static/assets/index-9288ff1b.css b/admin-website/src/main/resources/static/assets/index-9288ff1b.css
deleted file mode 100644
index 60e443b..0000000
--- a/admin-website/src/main/resources/static/assets/index-9288ff1b.css
+++ /dev/null
@@ -1 +0,0 @@
-.list-operation[data-v-7c5944f6]{color:#526ecc}.list-operation[data-v-7c5944f6]:hover{cursor:pointer}.logs-list[data-v-7c5944f6]{margin-bottom:10px}.main-title span[data-v-69e5064f]{display:inline-block;position:relative;border-width:0px;left:0;top:4px;width:6px;height:20px;background:inherit;background-color:#2561ef;border:none;border-radius:8px;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.main-title p[data-v-69e5064f]{margin-left:10px;display:inline-block;font-weight:500;font-style:normal;font-size:18px;color:#333333e5}.main-content[data-v-69e5064f]{display:flex;width:70%}.main-content-search[data-v-69e5064f]{margin-left:20px;width:100px}.main-content-form[data-v-69e5064f]{flex:1}.main-list[data-v-69e5064f]{width:95%;height:80px;background-color:#8b4513}.container[data-v-e19f70fa]{width:98%;height:inherit;margin:0 auto;overflow-x:hidden;overflow-y:auto}@media (max-width: 1208px){.container[data-v-e19f70fa]{overflow-x:auto}}
diff --git a/admin-website/src/main/resources/static/assets/index-9e0a2cd3.js b/admin-website/src/main/resources/static/assets/index-9e0a2cd3.js
deleted file mode 100644
index 3d5215c..0000000
--- a/admin-website/src/main/resources/static/assets/index-9e0a2cd3.js
+++ /dev/null
@@ -1 +0,0 @@
-import{bJ as R,bK as h,z as _,aj as P,bL as C,y as K,aF as L,a6 as w,ax as U,ay as J,bM as c,a8 as z,bN as B}from"./index-387d5142.js";const G=/%[sdj%]/g,N=()=>{};function O(e){if(!e||!e.length)return null;const t={};return e.forEach(n=>{const i=n.field;t[i]=t[i]||[],t[i].push(n)}),t}function b(e,...t){if(typeof e=="function")return e(...t);if(typeof e=="string"){let n=0;const i=t.length;return String(e).replace(G,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%j":try{return JSON.stringify(t[n++])}catch{return"[Circular]"}case"%d":return Number(t[n++]);case"%s":return String(t[n++]);default:return a}})}return e}function H(e){return["string","url","hex","email","pattern","digits","time","dateYMD","longDateTime","dateTime","dateYM","version","speczh","specialch","specialch2","acceptImg","acceptFile","fileSize"].includes(e)}function y(e,t){return!!(P(e)||t==="array"&&Array.isArray(e)&&!e.length||H(t)&&typeof e=="string"&&!e)}function W(e){return Object.keys(e).length===0}function Q(e,t,n){let i=0;const s=[],a=e.length;function r(d){s.push(...d),i++,i===a&&n(s)}e.forEach(d=>{t(d,r)})}function Y(e,t,n){let i=0;const s=e.length;function a(r){if(r&&r.length){n(r);return}const d=i;i=i+1,d<s?t(e[d],a):n([])}a([])}function X(e){const t=[];return Object.keys(e).forEach(n=>{t.push(...e[n])}),t}function I(e,t,n,i){if(t.first){const q=new Promise((p,u)=>{const l=u,M=S=>(i(S),S.length?l({errors:S,fields:O(S)}):p()),F=X(e);Y(F,n,M)});return q.catch(p=>p.errors&&p.fields||R.logger.error(p)),q}let s=t.firstFields||[];s===!0&&(s=Object.keys(e));let a=0;const r=Object.keys(e),d=r.length,o=[],f=new Promise((q,p)=>{const u=p,l=M=>{if(o.push(...M),a++,a===d)return i(o),o.length?u({errors:o,fields:O(o)}):q()};r.forEach(M=>{const F=e[M];s.includes(M)?Y(F,n,l):Q(F,n,l)})});return f.catch(q=>q.errors&&q.fields||R.logger.error(q)),f}function $(e){return t=>t&&t.message?(t.field=t.field||e.fullField,t):{message:typeof t=="function"?t():t,field:t.field||e.fullField}}function D(e,t){if(!t)return e;for(const n in t)if(h.call(t,n)){const i=t[n];typeof i=="object"&&typeof e[n]=="object"?e[n]=_(_({},e[n]),i):e[n]=i}return e}const V=Object.freeze(Object.defineProperty({__proto__:null,asyncMap:I,complementError:$,convertFieldsError:O,deepMerge:D,format:b,isEmptyObject:W,isEmptyValue:y,warning:N},Symbol.toStringTag,{value:"Module"}));function m(e,t){m.getSystemMessage=()=>m.getDefaultMessage(t),m.messages=m.getSystemMessage(t),m.systemMessages=m.messages,this.rules=null,this._messages=m.systemMessages,this.define(e)}const k=e=>t=>{let n,i=[],s={};function a(r){Array.isArray(r)?i=i.concat(...r):i.push(r)}for(n=0;n<t.length;n++)a(t[n]);i.length?s=O(i):(i=null,s=null),e(i,s)},ee=(e,t)=>{let n=(e.type==="object"||e.type==="array")&&(typeof e.fields=="object"||typeof e.defaultField=="object");return n=n&&(e.required||!e.required&&t.value),n},te=(e,t)=>{let n={};function i(s,a){return K(_({},a),{fullField:`${e.fullField}.${s}`})}if(e.defaultField)for(const s in t.value)h.call(t.value,s)&&(n[s]=e.defaultField);n=_(_({},n),t.rule.fields);for(const s in n)if(h.call(n,s)){const a=Array.isArray(n[s])?n[s]:[n[s]];n[s]=a.map(i.bind(null,s))}return n},ie=e=>(Array.isArray(e)||(e=[e]),e),ne=({rule:e,failds:t,options:n})=>(e.message?t=[].concat(e.message).map($(e)):n.error?t=[n.error(e,b(n.messages.required,e.field))]:t=[],t),se=({data:e,options:t})=>{if(e.rule.options){let{messages:n,error:i}=t;Object.assign(e.rule.options,{messages:n,error:i})}},ae=({failds:e,doIt:t})=>n=>{const i=[];e&&e.length&&i.push(...e),n&&n.length&&i.push(...n),t(i.length?i:null)},re=(e,t,n,i,s)=>(a=[])=>{let r=a;const d=ee(t,s);if(r=ie(r),!e.suppressWarning&&r.length&&m.warning("async-validator:",r),r.length&&t.message&&(r=[].concat(t.message)),r=r.map($(t)),e.first&&r.length)return n[t.field]=1,i(r);if(d){if(t.required&&!s.value)return r=ne({rule:t,failds:r,options:e}),i(r);const o=new m(te(t,s));o.messages(e.messages),se({data:s,options:e}),o.validate(s.value,s.rule.options||e,ae({failds:r,doIt:i}))}else i(r)};m.prototype={messages(e){return e&&(this._messages=D(m.getSystemMessage(),e)),this._messages},define(e){if(!e)throw new Error("Cannot configure a schema with no rules");if(Array.isArray(e)||typeof e!="object")throw new TypeError("Rules must be an object");this.rules={};let t;Object.keys(e).forEach(n=>{h.call(e,n)&&(t=e[n],this.rules[n]=Array.isArray(t)?t:[t])})},getSeries(e,t,n){let i,s;const a={};return(e.keys||Object.keys(this.rules)).forEach(d=>{i=this.rules[d],s=t[d],i.forEach(o=>{let f=o;typeof f.transform=="function"&&(t===n&&(t=_({},t)),t[d]=f.transform(s),s=t[d]),typeof f=="function"?f={validator:f}:f=_({},f),f.validator=this.getValidationMethod(f),f.field=d,f.fullField=f.fullField||d,f.type=this.getType(f),e.custom&&Object.assign(f,e.custom),f.validator&&(a[d]=a[d]||[],a[d].push({rule:f,value:s,source:t,field:d}))})}),a},mergeMessage(e){if(e.messages){let t=this.messages();t===m.systemMessages&&(t=m.getSystemMessage()),D(t,e.messages),e.messages=t}else e.messages=this.messages()},validate(e,t={},n=()=>{}){let i=e,s=t,a=n;if(typeof s=="function"&&(a=s,s={}),!this.rules||Object.keys(this.rules).length===0)return a&&a(),Promise.resolve();const r=k(a);this.mergeMessage(s);const d=this.getSeries(s,i,e),o={};return I(d,s,(f,q)=>{const p=f.rule,u=re(s,p,o,q,f);let l;p.asyncValidator?l=p.asyncValidator(p,f.value,u,f.source,s):p.validator&&(l=p.validator(p,f.value,u,f.source,s),l===!0?u():l===!1?u(p.message||`${p.field} fails`):Array.isArray(l)?u(l):l instanceof Error&&u(l.message)),l&&l.then&&l.then(()=>u(),M=>u(M))},f=>{r(f)})},getValidationMethod(e){if(C(e.validator))return e.validator;const t=Object.keys(e),n=t.indexOf("message");return n>-1&&t.splice(n,1),t.length===1&&t[0]==="required"?m.validators.required:m.validators[this.getType(e)]||!1},getType(e){if(e.type===void 0&&e.pattern instanceof RegExp&&(e.type="pattern"),typeof e.validator!="function"&&e.type&&!h.call(m.validators,e.type))throw new Error(b("Unknown rule type %s",e.type));return e.type||"string"}};m.register=(e,t)=>{if(typeof t!="function")throw new TypeError("Cannot register a validator by type, validator is not a function");m.validators[e]=t};m.validators={};m.warning=N;m.messages={};m.systemMessages={};m.getDefaultMessage=()=>{};var T=m;function Z({rule:e,checkValue:t,source:n,errors:i,options:s,type:a}){e.required&&(!h.call(n,e.field)||y(t,a||e.type))&&i.push(b(s.messages.required,""))}const fe='^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))',de=new RegExp(fe+"@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,6}))$"),x={acceptImg:/\.(png|jpe?g|gif)$/,acceptFile:/\.(doc?x|xls?x|ppt?x|txt)$/,email:de,fileSize:/^\d+(\.\d+)?[KMGTPEZY]?B$/i,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,speczh:/^[0-9a-zA-Z_\u4E00-\u9FA5]+$/,specialch:/^[0-9a-zA-Z_\-.]+$/,specialch2:/^[0-9a-zA-Z_-]+$/,url:/^(([a-zA-Z]{3,}):)?\/\/([\w-]+\.)+[\w]+(\/[a-zA-Z- ./?%&=]*)?/i,version:/^\d+\.\d+(\.\d+)*$/},A={integer:e=>A.number(e)&&/^[-]?[\d]+$/.test(e),float:e=>A.number(e)&&!A.integer(e),array:Array.isArray,regexp(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:L,number:e=>w(Number(e)),object:e=>U(e)&&!A.array(e),method:e=>J(e)==="function",email:e=>c(e)||!!e.match(x.email)&&e.length<255,url:e=>c(e)||!!e.match(x.url),hex:e=>c(e)||!!e.match(x.hex),digits:e=>c(e)||/^\d+$/.test(e),time:e=>c(e)||/^((0)[0-9]|1[0-9]|20|21|22|23):([0-5][0-9])$/.test(e),dateYM:e=>c(e)||z(e,"yyyy-MM")===e,dateYMD:e=>c(e)||z(e,"yyyy-MM-dd")===e,dateTime:e=>c(e)||z(e,"yyyy-MM-dd hh:mm")===e,longDateTime:e=>c(e)||z(e,"yyyy-MM-dd hh:mm:ss")===e,version:e=>c(e)||!!e.match(x.version),speczh:e=>c(e)||!!e.match(x.speczh),specialch:e=>c(e)||!!e.match(x.specialch),specialch2:e=>c(e)||!!e.match(x.specialch2),acceptImg:e=>c(e)||!!e.match(x.acceptImg),acceptFile:e=>c(e)||!!e.match(x.acceptFile),fileSize:e=>c(e)||!!e.match(x.fileSize)};function oe(e,t,n,i,s){if(e.required&&t===void 0){Z(e);return}const a=["array","acceptImg","acceptFile","date","digits","dateTime","dateYM","dateYMD","email","float","fileSize","hex","integer","longDateTime","method","number","object","regexp","speczh","specialch","specialch2","time","version","url"],r=e.type;a.includes(r)?A[r](t)||i.push(b(s.messages.types[r],"",e.type)):r&&typeof t!==e.type&&i.push(b(s.messages.types[r],"",e.type))}function ge({min:e,max:t,val:n,key:i,rule:s,errors:a,util:r,options:d}){e&&!t&&n<s.min?a.push(r.format(d.messages[i].min,"",s.min)):t&&!e&&n>s.max?a.push(r.format(d.messages[i].max,"",s.max)):e&&t&&(n<s.min||n>s.max)&&a.push(r.format(d.messages[i].range,"",s.min,s.max))}function me(e,t,n,i,s){const a=w(e.len),r=w(e.min),d=w(e.max);let o=t,f=null;const q=w(Number(t)),p=typeof t=="string",u=Array.isArray(t);if(q?f="number":p?f="string":u&&(f="array"),!f)return!1;u&&(o=t.length),p&&(o=B(t,"string")),e.type==="number"&&(o=t),a?o!==e.len&&i.push(b(s.messages[f].len,"",e.len)):ge({min:r,max:d,val:o,key:f,rule:e,errors:i,util:V,options:s})}const j="enum";function pe(e,t,n,i,s){e[j]=Array.isArray(e[j])?e[j]:[],e[j].includes(t)||i.push(b(s.messages[j],"",e[j].join(", ")))}function ye(e,t,n,i,s){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||i.push(b(s.messages.pattern.mismatch,"",t,e.pattern))):typeof e.pattern=="string"&&(new RegExp(e.pattern).test(t)||i.push(b(s.messages.pattern.mismatch,"",t,e.pattern))))}function le(e,t,n,i,s){(/^\s+$/.test(t)||t==="")&&i.push(b(s.messages.whitespace,""))}var g={type:oe,range:me,pattern:ye,required:Z,whitespace:le,enum:pe};function ce(e,t,n,i,s){const a=[],r=e.required||!e.required&&h.call(i,e.field),d=o=>o&&typeof o=="string"&&new Date(o).toString()!=="Invalid Date";if(r){if(y(t)&&!e.required)return n();if(g.required({rule:e,checkValue:t,source:i,errors:a,options:s}),!y(t)){let o;typeof t=="number"||d(t)?o=new Date(t):o=t,g.type(e,o,i,a,s),o&&typeof o.getTime=="function"&&g.range(e,o.getTime(),i,a,s)}}n(a)}function v(e,t,n,i,s){const a=e.type,r=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t,a)&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:r,options:s,type:a}),y(t,a)||g.type(e,t,i,r,s)}n(r)}function ve(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t)&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s}),t!==void 0&&(g.type(e,t,i,a,s),g.range(e,t,i,a,s))}n(a)}function he(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t,"array")&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s,type:"array"}),y(t,"array")||(g.type(e,t,i,a,s),g.range(e,t,i,a,s))}n(a)}function ue(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t,"string")&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s,type:"string"}),y(t,"string")||(g.type(e,t,i,a,s),g.range(e,t,i,a,s),g.pattern(e,t,i,a,s),e.whitespace===!0&&g.whitespace(e,t,i,a,s))}n(a)}function E(e,t,n,i,s){const a=e.required||!e.required&&h.call(i,e.field),r=[];if(a){if(!e.required&&y(t))return n();g.required({rule:e,checkValue:t,source:i,errors:r,options:s}),t!==void 0&&g.type(e,t,i,r,s)}n(r)}function qe(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(t===""&&(t=void 0),!e.required&&y(t))return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s}),t!==void 0&&(g.type(e,t,i,a,s),g.range(e,t,i,a,s))}n(a)}function be(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t)&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s}),t!==void 0&&t!==""&&(g.type(e,t,i,a,s),g.range(e,t,i,a,s))}n(a)}function xe(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t,"string")&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s}),y(t,"string")||g.pattern(e,t,i,a,s)}n(a)}function Me(e,t,n,i,s){const a=[],r=Array.isArray(t)?"array":typeof t;g.required({rule:e,checkValue:t,source:i,errors:a,options:s,type:r}),n(a)}const _e="enum";function je(e,t,n,i,s){const a=[];if(e.required||!e.required&&h.call(i,e.field)){if(y(t)&&!e.required)return n();g.required({rule:e,checkValue:t,source:i,errors:a,options:s}),t!==void 0&&g[_e](e,t,i,a,s)}n(a)}var we={date:ce,float:ve,array:he,string:ue,method:E,number:qe,integer:be,pattern:xe,required:Me,hex:v,url:v,time:v,email:v,digits:v,dateYM:v,speczh:v,dateYMD:v,version:v,fileSize:v,regexp:E,object:E,dateTime:v,specialch:v,boolean:E,acceptImg:v,specialch2:v,acceptFile:v,longDateTime:v,enum:je};const Ae=e=>({string:e("validation.types.string"),method:e("validation.types.method"),array:e("validation.types.array"),object:e("validation.types.object"),number:e("validation.types.number"),date:e("validation.types.date"),boolean:e("validation.types.boolean"),integer:e("validation.types.integer"),float:e("validation.types.float"),regexp:e("validation.types.regexp"),email:e("validation.types.email"),url:e("validation.types.url"),hex:e("validation.types.hex"),digits:e("validation.types.digits"),time:e("validation.types.time"),dateYM:e("validation.types.dateYM"),dateYMD:e("validation.types.dateYMD"),dateTime:e("validation.types.dateTime"),longDateTime:e("validation.types.longDateTime"),version:e("validation.types.version"),speczh:e("validation.types.speczh"),specialch:e("validation.types.specialch"),specialch2:e("validation.types.hex"),acceptImg:e("validation.types.acceptImg"),acceptFile:e("validation.types.acceptFile"),fileSize:e("validation.types.fileSize")});var Fe=(e=t=>t)=>({default:e("validation.default"),required:e("validation.required"),enum:e("validation.enum"),whitespace:e("validation.whitespace"),date:{format:e("validation.date.format"),parse:e("validation.date.parse"),invalid:e("validation.date.invalid")},types:Ae(e),string:{len:e("validation.string.len"),min:e("validation.string.min"),max:e("validation.string.max"),range:e("validation.string.range")},number:{len:e("validation.number.len"),min:e("validation.number.min"),max:e("validation.number.max"),range:e("validation.number.range")},array:{len:e("validation.array.len"),min:e("validation.array.min"),max:e("validation.array.max"),range:e("validation.array.range")},pattern:{mismatch:e("validation.pattern.mismatch")}});T.validators=we;T.getDefaultMessage=Fe;var ze=T;export{ze as v};
diff --git a/admin-website/src/main/resources/static/assets/index-a2546044.css b/admin-website/src/main/resources/static/assets/index-a2546044.css
deleted file mode 100644
index 5aaae69..0000000
--- a/admin-website/src/main/resources/static/assets/index-a2546044.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-tabs__more-dropdown,.tiny-tabs{--ti-tabs-header-font-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tabs-header-font-weight-active:var(--ti-common-font-weight-5, 500);--ti-tabs-header-font-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-tabs-header-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-tabs-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tabs-new-height:calc(var(--ti-common-space-base, 4px) * 4.5);--ti-tabs-new-width:calc(var(--ti-common-space-base, 4px) * 4.5);--ti-tabs-new-svg-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-tabs-more-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-tabs-item-disabled-text-color:#b4bccc;--ti-tabs-new-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-dropdown-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-dropdown-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-dropdown-li-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-tabs-content-font-size:var(--ti-common-font-size-2, 16px);--ti-tabs-height:var(--ti-common-size-10x, 40px);--ti-tabs-header-font-normal-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-dropdown-li-border-color:#e6e6e6;--ti-tabs-header-top-bar-active-bg-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tabs-small-height:var(--ti-common-size-9x, 36px);--ti-tabs-item-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-tabs-item-bottom-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tabs-item-bottom-border-color:var(--ti-common-color-light, #fff);--ti-tabs-item-top-right-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tabs-item-card-active-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-item-card-border-radius:var(--ti-common-border-radius-0, 0px);--ti-tabs-item-card-border-color:var(--ti-common-color-transparent, transparent);--ti-tabs-item-card-hover-font-weight:var(--ti-common-font-weight-5, 500);--ti-tabs-dark-border-radius:var(--ti-common-border-radius-normal, 2px) var(--ti-common-border-radius-normal, 2px) 0 0;--ti-tabs-dark-text-color-active:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-dark-bg-color-active:var(--ti-common-color-bg-normal, #eef0f5);--ti-tabs-dark-text-color-hover:var(--ti-common-color-text-white, #fff);--ti-tabs-dark-bg-color-hover:var(--ti-common-color-bg-dark-emphasize, #5c6173);--ti-tabs-dark-text-color:var(--ti-common-color-text-darkbg, #adb0b8);--ti-tabs-dark-margin-top:calc(var(--ti-common-space-base, 4px) + 1px);--ti-tabs-dark-first-margin-left:var(--ti-common-space-5x, 20px);--ti-tabs-dark-border-weight:var(--ti-common-size-0, 0px);--ti-tabs-header-dark-bg-color:var(--ti-common-color-bg-dark-normal, #464c59);--ti-tabs-dark-item-height:calc(var(--ti-common-space-base, 4px) * 9.25);--ti-tabs-prev-next-btn-icon-size:var(--ti-common-font-size-base, 12px);--ti-tabs-item-margin-right:var(--ti-common-space-10x, 40px);--ti-tabs-item-active-border-style:var(--ti-common-border-style-solid, solid);--ti-tabs-item-bottom-border-style:var(--ti-common-border-style-solid, solid);--ti-tabs-item-font-size:var(--ti-common-font-size-1, 14px);--ti-tabs-header-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-tabs-font-size-base:var(--ti-common-font-size-base, 12px);--ti-tabs-item-vertical-padding-horizontal:var(--ti-common-space-5x, 20px);--ti-tabs-item-active-border-weight:var(--ti-common-border-weight-2, 3px);--ti-tabs-item-active-border-color:var(--ti-tabs-header-font-active-border-color);--ti-tabs-icon-close-hover-bg-color:var(--ti-common-bg-minor-hover, #ffffff);--ti-tabs-icon-close-default-bg-color:var(--ti-common-color-transparent, transparent);--ti-tabs-icon-close-default-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-icon-close-hover-text-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tabs-icon-size-close:var(--ti-common-font-size-1, 14px);--ti-tabs-icon-close-margin-vertical:var(--ti-common-space-0, 0px);--ti-tabs-icon-close-margin-right:var(--ti-common-space-0, 0px);--ti-tabs-icon-close-margin-left:5px;--ti-tabs-dropdown-more-margin-top:var(--ti-common-space-3x, 12px);--ti-tabs-dropdown-more-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tabs-dropdown-more-item-hover-font-weight:var(--ti-common-font-weight-5, 500);--ti-tabs-more-icon-padding-horizontal:8.5px;--ti-tabs-more-icon-height:calc(var(--ti-common-size-base, 4px) * 10.25);--ti-tabs-more-icon-size:var(--ti-common-font-size-2, 16px);--ti-tabs-more-left-box-height:var(--ti-common-size-10x, 40px);--ti-tabs-more-left-box-shadow:-3px 0px 4px 0px rgba(0, 0, 0, .08);--ti-tabs-content-margin-vertical:calc(var(--ti-common-space-base, 4px) * 3.75);--ti-tabs-content-margin-horizontal:var(--ti-common-space-6x, 24px);--ti-tabs-button-card-nav-bg-color:rgba(0, 0, 0, .05);--ti-tabs-button-card-item-text-color:#595959;--ti-tabs-button-card-item-hover-text-color:#191919;--ti-tabs-button-card-item-font-size:var(--ti-common-font-size-1, 14px);--ti-tabs-button-card-item-height:var(--ti-common-size-8x, 32px);--ti-tabs-button-card-item-active-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-button-card-item-active-text-color:#191919;--ti-tabs-button-card-item-active-border-color:#191919;--ti-tabs-button-card-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-button-card-title-padding-horizontal:var(--ti-common-space-6x, 24px);--ti-tabs-button-card-font-weight:var(--ti-common-font-weight-7, bold)}.tiny-tabs--left,.tiny-tabs--right,.tiny-tabs__content,.tiny-tabs__nav-scroll,.tiny-tabs__nav-wrap{overflow:hidden}.tiny-tabs__header{padding:0;position:relative;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-tabs__header .tiny-tabs__active-bar{position:absolute;bottom:0;left:0;height:var(--ti-tabs-item-active-border-weight);background-color:var(--ti-tabs-item-active-border-color);z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.tiny-tabs__header .tiny-tabs__new-tab{float:right;border:1px solid var(--ti-tabs-border-color);height:var(--ti-tabs-new-height);line-height:var(--ti-tabs-new-height);width:var(--ti-tabs-new-width);margin:12px 0 9px 10px;border-radius:var(--ti-tabs-new-border-radius);font-size:var(--ti-tabs-font-size-base);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;outline:0}.tiny-tabs__header .tiny-tabs__new-tab svg{fill:var(--ti-tabs-new-svg-text-color)}.tiny-tabs__header .tiny-tabs__new-tab:hover svg{fill:var(--ti-tabs-header-text-color)}.tiny-tabs__header .tiny-tabs__nav-wrap{margin-bottom:-1px;position:relative;width:100%}.tiny-tabs__header .tiny-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-tabs__header .tiny-tabs__nav-wrap-not-separator:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--ti-tabs-border-color);z-index:1}.tiny-tabs__header .tab-dropdown{position:absolute;right:8px;z-index:90;font-size:var(--ti-tabs-item-font-size);-webkit-box-shadow:0 1px 2px 1px rgba(0,0,0,.18);box-shadow:0 1px 2px 1px #0000002e;background:var(--ti-tabs-dropdown-bg-color);border-radius:var(--ti-tabs-dropdown-border-radius)}.tiny-tabs__header .tab-dropdown:before{position:absolute;display:inline-block;top:-5px;left:44%;width:0;height:0;content:"";border-style:solid;border-width:6px;border-color:#fff #fff transparent transparent;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-box-shadow:1px -1px 1px #e4e4e4;box-shadow:1px -1px 1px #e4e4e4}.tiny-tabs__header .tab-dropdown li{border-bottom:1px solid var(--ti-tabs-dropdown-li-border-color)}.tiny-tabs__header .tab-dropdown li:last-child{border-bottom:none}.tiny-tabs__header .tab-dropdown li a{white-space:nowrap;color:var(--ti-tabs-dropdown-li-text-color);line-height:26px;padding:0 10px;min-width:100px;display:block;font-size:var(--ti-tabs-font-size-base)}.tiny-tabs__header .tab-dropdown li a:hover{color:var(--ti-tabs-more-hover-text-color);text-decoration:none}.tiny-tabs__nav-more{position:absolute;cursor:pointer;height:var(--ti-tabs-height);line-height:var(--ti-tabs-height);font-size:var(--ti-common-font-size-1);right:45px;z-index:99;color:var(--ti-tabs-header-text-color)}.tiny-tabs__nav-next,.tiny-tabs__nav-prev{position:absolute;cursor:pointer;line-height:var(--ti-tabs-height);font-size:var(--ti-tabs-prev-next-btn-icon-size);color:var(--ti-tabs-header-font-normal-text-color)}.tiny-tabs__nav-next{right:0}.tiny-tabs__nav-prev{left:0}.tiny-tabs__nav:not(.is-stretch) .tiny-tabs__item__title{display:inline-block;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.tiny-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.tiny-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tiny-tabs__nav .tiny-tabs__item-separator-space:last-child .tiny-tabs__item-separator{display:none}.tiny-tabs__nav.is-show-active-bar .tiny-tabs__item{margin-right:var(--ti-tabs-item-margin-right)}.tiny-tabs__nav.is-show-active-bar .tiny-tabs__item.tiny-tabs__item-separator-space{margin-right:0}.tiny-tabs__item-separator-space{padding-left:14px;padding-right:14px}.tiny-tabs__item-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.tiny-tabs__item{height:var(--ti-tabs-height);-webkit-box-sizing:border-box;box-sizing:border-box;line-height:var(--ti-tabs-height);display:inline-block;list-style:none;font-size:var(--ti-tabs-item-font-size);color:var(--ti-tabs-header-font-normal-text-color);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.tiny-tabs__item:active,.tiny-tabs__item:focus{outline:0}.tiny-tabs__item.is-active,.tiny-tabs__item:hover{color:var(--ti-tabs-header-font-active-text-color);cursor:pointer}.tiny-tabs__item.is-active .tiny-tabs__icon-close svg,.tiny-tabs__item:hover .tiny-tabs__icon-close svg{fill:var(--ti-tabs-icon-close-hover-text-color)}.tiny-tabs__item.is-active{font-weight:var(--ti-tabs-header-font-weight-active)}.tiny-tabs__item:hover{font-weight:var(--ti-tabs-item-card-hover-font-weight)}.tiny-tabs__item.is-disabled{color:var(--ti-tabs-item-disabled-text-color);cursor:default}.tiny-tabs__item.is-disabled .tiny-tabs__icon-close,.tiny-tabs__item.is-disabled .tiny-tabs__icon-close:hover{background-color:transparent}.tiny-tabs__item.is-disabled .tiny-tabs__icon-close svg,.tiny-tabs__item.is-disabled .tiny-tabs__icon-close:hover svg{fill:var(--ti-tabs-item-disabled-text-color)}.tiny-tabs__item.is-closable>div{display:inline-block}.tiny-tabs__item.is-closable .tiny-tabs__icon-close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:14px;height:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-tabs__item>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-tabs__item .tiny-tabs__icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin:var(--ti-tabs-icon-close-margin-vertical) var(--ti-tabs-icon-close-margin-right) var(--ti-tabs-icon-close-margin-vertical) var(--ti-tabs-icon-close-margin-left);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;background-color:var(--ti-tabs-icon-close-default-bg-color)}.tiny-tabs__item .tiny-tabs__icon-close svg{font-size:var(--ti-tabs-font-size-base);-webkit-transform:scale(.9);transform:scale(.9);vertical-align:middle;fill:var(--ti-tabs-icon-close-default-text-color)}.tiny-tabs__item .tiny-tabs__icon-close:hover{background-color:var(--ti-tabs-icon-close-hover-bg-color)}.tiny-tabs__item .tiny-tabs__icon-close:hover svg{fill:var(--ti-tabs-icon-close-hover-text-color)}.tiny-tabs__content{position:relative;margin:var(--ti-tabs-content-margin-vertical) var(--ti-tabs-content-margin-horizontal);font-size:var(--ti-tabs-content-font-size)}.tiny-tabs .is-show-more{padding:0 48px 0 0}.tiny-tabs__more-container{position:absolute;right:0;font-size:var(--ti-tabs-font-size-base);color:var(--ti-tabs-header-font-normal-text-color);line-height:var(--ti-tabs-height)}.tiny-tabs__more-container .tiny-dropdown__suffix-inner{display:none}.tiny-tabs__more-container .tiny-tabs__more-icon{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;padding:0 var(--ti-tabs-more-icon-padding-horizontal);height:var(--ti-tabs-more-icon-height);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:18px}.tiny-tabs__more-container .tiny-tabs__more-icon:before{content:"";position:absolute;left:0;top:0;display:inline-block;width:4px;height:var(--ti-tabs-more-left-box-height);-webkit-box-shadow:var(--ti-tabs-more-left-box-shadow);box-shadow:var(--ti-tabs-more-left-box-shadow)}.tiny-tabs__more-container .tiny-tabs__more-icon .tiny-svg.icon{font-size:var(--ti-tabs-more-icon-size);vertical-align:middle}.tiny-tabs__more{cursor:pointer;color:var(--ti-tabs-header-text-color);font-size:var(--ti-tabs-item-font-size);outline:0;padding:0 var(--ti-tabs-more-icon-padding-horizontal)}.tiny-tabs__more:hover{color:var(--ti-tabs-more-hover-text-color)}.tiny-tabs__more-dropdown.tiny-dropdown-menu.tiny-popper{margin-top:var(--ti-tabs-dropdown-more-margin-top);overflow:auto}.tiny-tabs__more-dropdown .tiny-tabs__more-item{outline:0}.tiny-tabs__more-dropdown .tiny-tabs__more-item:hover{font-weight:var(--ti-tabs-dropdown-more-item-hover-font-weight);background:var(--ti-tabs-dropdown-more-item-hover-bg-color)}.tiny-tabs.tiny-tabs--large.tiny-tabs--top .tiny-tabs__header .tiny-tabs__nav-wrap .tiny-tabs__nav-scroll .tiny-tabs__nav .tiny-tabs__item,.tiny-tabs.tiny-tabs--large.tiny-tabs--top .tiny-tabs__header .tiny-tabs__nav-wrap .tiny-tabs__nav-scroll .tiny-tabs__nav .tiny-tabs__item.is-active{font-size:16px}.tiny-tabs.tiny-tabs--card.tiny-tabs--left .tiny-tabs__nav,.tiny-tabs.tiny-tabs--card.tiny-tabs--right .tiny-tabs__nav{width:120px}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:first-child{border-left:var(--ti-tabs-item-top-right-border-weight) solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active{top:-1px;border-bottom:var(--ti-tabs-item-bottom-border-weight) var(--ti-tabs-item-bottom-border-style) var(--ti-tabs-item-bottom-border-color);border-top:var(--ti-tabs-item-top-right-border-weight) solid var(--ti-tabs-border-color);border-left:1px solid var(--ti-tabs-border-color);border-right:var(--ti-tabs-item-top-right-border-weight) solid var(--ti-tabs-border-color);background-color:var(--ti-tabs-item-card-active-bg-color);border-radius:var(--ti-tabs-item-card-border-radius)}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before{left:0;top:0}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active.is-closable{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active{-webkit-box-shadow:0 -2px 0 0 #fff;box-shadow:0 -2px #fff}.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active:before{left:0;bottom:0}.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active.is-closable{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header{border-bottom:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--ti-tabs-item-card-border-color);border-right:var(--ti-tabs-item-top-right-border-weight) solid transparent;border-top:1px solid transparent;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item:first-child{border-left:none}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__nav{border:1px solid var(--ti-tabs-item-card-border-color);border-bottom:none;top:1px}.tiny-tabs.tiny-tabs--border-card{background:#fff;border-top:1px solid var(--ti-tabs-border-color);-webkit-box-shadow:none;box-shadow:none}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header{background-color:var(--ti-tabs-header-dark-bg-color);border:none;margin:0;border-right:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color);border-bottom:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin:-1px -1px 0;color:var(--ti-tabs-dark-text-color);padding:0 24px;border:none;height:var(--ti-tabs-dark-item-height);margin:var(--ti-tabs-dark-margin-top) 4px 0 0;line-height:var(--ti-tabs-dark-item-height)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item:nth-child(2){padding:0 12px}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active{color:var(--ti-tabs-dark-text-color-active);background-color:var(--ti-tabs-dark-bg-color-active);border-top:none;border-left:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color);border-right:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color);border-bottom-color:#fff;border-radius:var(--ti-tabs-dark-border-radius)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before{left:0;top:0}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active.is-closable{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item:not(.is-active):hover{border-color:var(--ti-tabs-border-color);color:var(--ti-tabs-dark-text-color-hover);background:var(--ti-tabs-dark-bg-color-hover)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item:first-child{margin-left:var(--ti-tabs-dark-first-margin-left);border-left:none}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__nav-prev{fill:var(--ti-common-color-icon-white)}.tiny-tabs.tiny-tabs--border-card .tiny-tabs--border-card .tiny-tabs--bottom{border-top:0}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__nav-wrap:after{background-color:transparent}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__nav{background-color:var(--ti-tabs-button-card-nav-bg-color);border-radius:var(--ti-tabs-button-card-border-radius)}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item{color:var(--ti-tabs-button-card-item-text-color);font-size:var(--ti-tabs-button-card-item-font-size);height:var(--ti-tabs-button-card-item-height);line-height:var(--ti-tabs-button-card-item-height);border:1px solid transparent}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item:hover{color:var(--ti-tabs-button-card-item-hover-text-color);font-weight:var(--ti-tabs-button-card-font-weight)}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item.is-active{background-color:var(--ti-tabs-button-card-item-active-bg-color);color:var(--ti-tabs-button-card-item-active-text-color);border:1px solid var(--ti-tabs-button-card-item-active-border-color);border-radius:var(--ti-tabs-button-card-border-radius);font-weight:var(--ti-tabs-button-card-font-weight)}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item__title{padding:0 var(--ti-tabs-button-card-title-padding-horizontal)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active:before,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before,.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active:before,.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before{position:absolute;content:"";width:100%;height:3px;background:var(--ti-tabs-header-top-bar-active-bg-color)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close,.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close,.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--ti-tabs-icon-size-close);height:var(--ti-tabs-icon-size-close);line-height:var(--ti-tabs-icon-size-close);vertical-align:middle;overflow:hidden;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--bottom .is-scrollable,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top .is-scrollable,.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom .is-scrollable,.tiny-tabs.tiny-tabs--card.tiny-tabs--top .is-scrollable{padding:0 24px}.tiny-tabs.tiny-tabs--border-card>.tiny-tabs__header .tiny-tabs__nav-wrap:after,.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__nav-wrap:after{content:none}.tiny-tabs.tiny-tabs--small .tiny-tabs__item{height:var(--ti-tabs-small-height);line-height:var(--ti-tabs-small-height)}.tiny-tabs.tiny-tabs--small .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--small .tiny-tabs__nav-prev{line-height:var(--ti-tabs-small-height);font-size:var(--ti-tabs-prev-next-btn-icon-size)}.tiny-tabs.tiny-tabs--left .tiny-tabs__header{float:left;margin-bottom:0;margin-right:10px}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap{margin-right:-1px}.tiny-tabs.tiny-tabs--left .tiny-tabs__item{text-align:left;padding:0 var(--ti-tabs-item-vertical-padding-horizontal)}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item{border-left:1px solid var(--ti-tabs-border-color);border-right:1px solid var(--ti-tabs-border-color);border-top:1px solid var(--ti-tabs-border-color);background-color:var(--ti-tabs-header-bg-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item:first-child{border-top:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item.is-active{border-right-color:transparent;border-left:var(--ti-tabs-item-active-border-weight) var(--ti-tabs-item-active-border-style) var(--ti-tabs-item-active-border-color);border-bottom:none;background:0 0}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item.is-active:first-child{border-top:none;border-right-color:transparent}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item.is-active:last-child{border-bottom:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__nav{border-right:none;border-left:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__new-tab{float:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__header{border-right:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item{border:1px solid transparent;margin:-1px -1px -1px 0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item.is-active{border:1px solid var(--ti-tabs-border-color);border-left:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .tiny-tabs__item{margin:-1px}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .tiny-tabs__item.is-bottom.is-active{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap:after{right:auto;left:0}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-scroll{height:100%}.tiny-tabs.tiny-tabs--right .tiny-tabs__header{float:right;margin-bottom:0;margin-left:10px}.tiny-tabs.tiny-tabs--right .tiny-tabs__header.is-left{margin-left:0}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap{margin-left:-1px}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-left{margin-left:0}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap:after{left:0;right:auto}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item{border-top:1px solid var(--ti-tabs-border-color);border-bottom:none;background-color:var(--ti-tabs-header-bg-color);padding:0 var(--ti-tabs-item-vertical-padding-horizontal)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active{border-left-color:transparent;border-right:var(--ti-tabs-item-active-border-weight) var(--ti-tabs-item-active-border-style) var(--ti-tabs-item-active-border-color);background:0 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active:first-child{border-left:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active:last-child{border-bottom:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active.is-bottom{border-top:0;border-right:0;border-left-color:var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active.is-bottom:first-child{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item:first-child{border-left:1px solid var(--ti-tabs-border-color);border-top:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-bottom:first-child{border-top:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-bottom.is-active:first-child{border-top:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-bottom,.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-top{background:0 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__nav{border-bottom:1px solid var(--ti-tabs-border-color);border-left:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__nav.is-bottom{border-top:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__header{margin-left:0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__item{border-top:none;border-bottom:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__item.is-active{top:0;border-right:0;border-left-color:var(--ti-tabs-border-color);border-bottom:1px solid #fff}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__item.is-active:first-child{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-top{margin:0 0 -1px -1px}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-top.is-active{border-right:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-bottom{margin:-1px}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-bottom.is-active{border-right:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-right{margin:-1px 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-right.is-active{border-top:1px solid var(--ti-tabs-border-color);border-bottom:1px solid var(--ti-tabs-border-color);border-right:3px solid var(--ti-tabs-header-font-active-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__nav.is-bottom{border-bottom:0}.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__header{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__item{border:1px solid transparent;margin:-1px -1px -1px 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__item.is-active{border-color:var(--ti-tabs-border-color) transparent}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__active-bar{left:auto;right:0}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__active-bar.is-bottom{left:0}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__active-bar.is-left{left:0;right:auto}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__nav-wrap:after{left:auto;right:0}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__nav-wrap.is-left:after{left:0;right:auto}.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-bottom{margin-left:0}.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item{border-bottom:0;background-color:transparent}.tiny-tabs.tiny-tabs--right .tiny-tabs--bottom:not(.tiny-tabs--card) .tiny-tabs__item{border-top:0;background-color:transparent}.tiny-tabs.tiny-tabs--right .tiny-tabs--left.tiny-tabs--card .tiny-tabs__item.is-active:first-child{border-left:3px solid var(--ti-tabs-header-font-active-border-color);border-right:0}.tiny-tabs.tiny-tabs--right .tiny-tabs--left:not(.tiny-tabs--card) .tiny-tabs__nav,.tiny-tabs.tiny-tabs--right .tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__nav{border-bottom:0}.tiny-tabs.tiny-tabs--right .tiny-tabs--left:not(.tiny-tabs--card) .tiny-tabs__item,.tiny-tabs.tiny-tabs--right .tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__item{border:0;background-color:transparent}.tiny-tabs.tiny-tabs--right .tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item.is-active{border:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right .tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item.is-active.is-left{border-left:3px solid var(--ti-tabs-header-font-active-border-color)}.tiny-tabs.tiny-tabs--left .tiny-tabs__header,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--right .tiny-tabs__header,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap{height:100%}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar,.tiny-tabs.tiny-tabs--right .tiny-tabs__active-bar{top:1px;bottom:auto;width:2px;height:auto}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar.is-top,.tiny-tabs.tiny-tabs--right .tiny-tabs__active-bar.is-top{height:3px;bottom:0;left:0;top:auto}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar.is-bottom,.tiny-tabs.tiny-tabs--right .tiny-tabs__active-bar.is-bottom{top:auto;bottom:0;height:3px}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap{margin-bottom:0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap.is-scrollable,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-scrollable{padding:30px 0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap:after,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap:after{height:100%;width:2px;bottom:auto;top:0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap.is-top:after,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-top:after{left:0;bottom:0;top:auto;width:100%;height:1px}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap.is-bottom:after,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-bottom:after{left:0;bottom:0;top:auto;width:100%;height:1px;background-color:#d9d9d9;z-index:1}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav{float:none}.tiny-tabs.tiny-tabs--left .tiny-tabs__item,.tiny-tabs.tiny-tabs--right .tiny-tabs__item{display:block;font-size:var(--ti-tabs-font-size-base)}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-next i,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-prev i,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-next i,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotate(90deg)}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-prev{left:auto;top:0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-next{right:auto;bottom:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap{float:inherit;margin-bottom:-1px}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-bottom,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-top,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-bottom,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-top,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-bottom,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-top,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-bottom,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-top{float:none;margin-right:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-left,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-left,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-left,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-left{float:left;margin-bottom:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-right,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-right,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-right,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-right{float:right;margin-bottom:0;margin-right:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__item,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__item{display:inline-block}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__item.is-left,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__item.is-right,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__item.is-left,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__item.is-right{display:inherit}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card{border-top:0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__nav-wrap.is-scrollable,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__nav-wrap.is-scrollable{padding:0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__nav-prev{display:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__header,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__header{border:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__header,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__header{border-top:0;border-left:0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__item.is-active,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__item.is-active{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .is-bottom.tiny-tabs__header,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs--border-card .is-bottom.tiny-tabs__header{border-left:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs__header{margin-bottom:0;margin-top:10px}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card{border-top:0}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__header{background:var(--ti-tabs-header-bg-color);border-bottom:1px solid var(--ti-tabs-border-color);border-right:1px solid var(--ti-tabs-border-color);border-top:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__nav-wrap{margin-top:-1px;margin-bottom:0}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__nav-wrap.is-top{margin-bottom:-1px}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__item{border:1px solid transparent;margin:0 -1px -1px}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__item.is-active{background-color:var(--ti-tabs-dropdown-bg-color);border-right-color:var(--ti-tabs-border-color);border-left-color:var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__item.is-active:before{left:0;bottom:0}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs--border-card{border-top:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header{background:0 0;border:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-left .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-left .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-right .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-right .tiny-tabs__nav-prev{display:none}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-left .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-right .tiny-tabs__nav-wrap{padding:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__item.is-active{background-color:transparent;border:none}.tiny-tabs.tiny-tabs--top .tiny-tabs__item-separator{width:1px;height:12px;display:inline-block;position:relative;left:14px;top:2px;background-color:#dfdfdf}.tiny-tabs.tiny-tabs--bottom .tiny-tabs--left>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--bottom .tiny-tabs--right>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--bottom.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item,.tiny-tabs.tiny-tabs--top .tiny-tabs--left>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top .tiny-tabs--right>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top.tiny-tabs--border-card>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item,.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item{padding-left:0}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space,.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space{padding-left:14px;padding-right:14px}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:nth-child(2),.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:nth-child(2){margin-left:0}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:not(:nth-child(2)),.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:not(:nth-child(2)){margin-left:1px}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item.is-left,.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item.is-left{padding:0 24px}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item:nth-child(2){padding-left:0}.tiny-tabs .slideInLeft-transition,.tiny-tabs .slideInRight-transition{display:inline-block}.tiny-tabs .slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.tiny-tabs .slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.tiny-tabs .slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.tiny-tabs .slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%);opacity:0}}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:"HarmonySans","鸿蒙黑体","NotoSans","Helvetica","Arial","PingFangSC-Regular","Hiragino Sans GB","Microsoft YaHei","微软雅黑","Microsoft JhengHei";--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, .08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, .5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, .75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}.tiny-mobile-tabs{--ti-mobile-tabs-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-tabs-bg-color:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-tabs-content-bg-color:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-tabs-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-tabs-header-height:56px;--ti-mobile-tabs-new-tab-width:44px;--ti-mobile-tabs-icon-font-size:var(--ti-mobile-font-size-3xl, 24px);--ti-mobile-tabs-icon-color:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-tabs-expand-icon-width:56px;--ti-mobile-tabs-item-margin-right:var(--ti-mobile-space-6x, 24px);--ti-mobile-tabs-item-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-tabs-item-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-tabs-item-text-color-active:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-tabs-item-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-tabs-item-text-font-weight:var(--ti-mobile-font-weight-medium, 500);--ti-mobile-tabs-line-margin-top:var(--ti-mobile-space-1x, 4px);--ti-mobile-tabs-line-height:2px;--ti-mobile-tabs-line-bg-color-active:var(--ti-mobile-color-bg-navigation-active, #191919);--ti-mobile-tabs-small-header-height:40px;--ti-mobile-tabs-item-small-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-tabs-expand-tab-font-color-active:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-tabs-expand-tab-bg-color-active:var(--ti-mobile-color-bg-cell-active, #f0f7ff);position:relative}.tiny-mobile-tabs-small .tiny-mobile-tabs__header{height:var(--ti-mobile-tabs-small-header-height)}.tiny-mobile-tabs-small .tiny-mobile-tabs__item{font-size:var(--ti-mobile-tabs-item-small-font-size);line-height:var(--ti-mobile-tabs-small-header-height)}.tiny-mobile-tabs-small .tiny-mobile-tabs__line{bottom:calc((var(--ti-mobile-tabs-small-header-height) - var(--ti-mobile-tabs-item-font-size)) * .5 - var(--ti-mobile-tabs-line-margin-top) - var(--ti-mobile-tabs-line-height))}.tiny-mobile-tabs-small .tiny-mobile-tabs__expand{height:var(--ti-mobile-tabs-small-header-height);line-height:var(--ti-mobile-tabs-small-header-height);width:var(--ti-mobile-tabs-small-header-height)}.tiny-mobile-tabs__header{background:var(--ti-mobile-tabs-bg-color);position:relative}.tiny-mobile-tabs__content{overflow:hidden;font-size:var(--ti-mobile-tabs-font-size);color:var(--ti-mobile-tabs-text-color);background:var(--ti-mobile-tabs-content-bg-color)}.tiny-mobile-tabs__new-tab{position:absolute;right:0;top:0;bottom:0;width:var(--ti-mobile-tabs-new-tab-width);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-tabs__new-tab:focus{outline:0}.tiny-mobile-tabs__new-tab svg{font-size:var(--ti-mobile-tabs-icon-font-size);fill:var(--ti-mobile-tabs-icon-color)}.tiny-mobile-tabs__new-tab+.tiny-mobile-tabs__nav-wrap{width:calc(100% - var(--ti-mobile-tabs-new-tab-width))}.tiny-mobile-tabs__nav-wrap{position:relative}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__item{-webkit-box-flex:0;-ms-flex:0 0 22%;flex:0 0 22%}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav{overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav::-webkit-scrollbar{display:none}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav-scroll:before{position:absolute;content:"";top:0;bottom:0;left:0;width:11%;background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));border-radius:16px 0 0;z-index:2}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav-scroll:after{position:absolute;content:"";top:0;bottom:0;right:0;width:11%;background:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(90deg,hsla(0,0%,100%,0),#fff);border-radius:0 16px 0 0;z-index:2}.tiny-mobile-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-mobile-tabs__item{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;height:100%;margin-right:var(--ti-mobile-tabs-item-margin-right);line-height:var(--ti-mobile-tabs-header-height);font-size:var(--ti-mobile-tabs-item-font-size);color:var(--ti-mobile-tabs-item-text-color);cursor:pointer;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;font-weight:400}.tiny-mobile-tabs__name{display:inline-block;line-height:1}.tiny-mobile-tabs__item.is-active .tiny-mobile-tabs__name{color:var(--ti-mobile-tabs-item-text-color-active);font-weight:var(--ti-mobile-tabs-item-text-font-weight);position:relative}.tiny-mobile-tabs__item.is-disabled .tiny-mobile-tabs__name{color:var(--ti-mobile-tabs-item-text-color-disabled)}.tiny-mobile-tabs__line{position:absolute;bottom:calc((var(--ti-mobile-tabs-header-height) - var(--ti-mobile-tabs-item-font-size)) * .5 - var(--ti-mobile-tabs-line-margin-top) - var(--ti-mobile-tabs-line-height));left:0;z-index:1;width:20px;height:var(--ti-mobile-tabs-line-height);background-color:var(--ti-mobile-tabs-line-bg-color-active);border-radius:3px;-webkit-transition-duration:.3s;transition-duration:.3s}.tiny-mobile-tabs__expand-icon{position:absolute;top:0;right:0;z-index:3}.tiny-mobile-tabs__expand{display:inline-block;font-size:14px;height:var(--ti-mobile-tabs-header-height);line-height:var(--ti-mobile-tabs-header-height);width:var(--ti-mobile-tabs-header-height);text-align:center;z-index:9999}.tiny-mobile-tabs__expand svg{fill:#595959}.tiny-mobile-tabs__expand-content{position:absolute;background:#f5f5f5;z-index:500}.tiny-mobile-tabs__expand-mask{height:22px}.tiny-mobile-tabs__expand-header{height:48px;border-radius:16px 16px 0 0;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.06) inset;box-shadow:0 -1px #0000000f inset;background:#fff;color:#595959;font-size:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-tabs__expand-header-title{display:inline-block;padding-left:16px}.tiny-mobile-tabs__expand-list{width:100%;max-height:160px;overflow-y:auto;border-radius:0 0 16px 16px;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.06) inset;box-shadow:0 -1px #0000000f inset;background:#fff;padding:16px}.tiny-mobile-tabs__expand-item{margin-bottom:10px;padding-left:10px;padding-right:10px}.tiny-mobile-tabs__expand-item:focus{outline:0}.tiny-mobile-tabs__expand-item.tiny-mobile-tabs__expand-mode-columns{width:33.33%;display:inline-block}.tiny-mobile-tabs__expand-item .tiny-mobile-tabs__expand-item-title{height:36px;line-height:36px;text-align:center;font-size:13px;color:#191919;font-weight:400;border-radius:6px;background:rgba(0,0,0,.04);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 5px}.tiny-mobile-tabs__expand-item-title.is-current{background:var(--ti-mobile-tabs-expand-tab-bg-color-active);color:var(--ti-mobile-tabs-expand-tab-font-color-active);font-weight:500}.tiny-mobile-tabs__icon-close{margin-left:5px}.option[data-v-d3437e1d]{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;padding:10px 3px}.option .required[data-v-d3437e1d]{margin-top:5px;color:#be1818;font-size:140%}.option span[data-v-d3437e1d]{width:70px;height:18px;font-size:14px}.option[data-v-3e258a22]{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;padding:10px 3px}.option .required[data-v-3e258a22]{margin-top:5px;color:#be1818;font-size:140%}.option span[data-v-3e258a22]{width:70px;height:18px;font-size:14px}.option[data-v-17ff8179]{display:flex;align-items:center;justify-content:space-around;padding:10px 3px}.option .required[data-v-17ff8179]{margin-top:5px;color:#be1818;font-size:140%}.option span[data-v-17ff8179]{width:110px;height:18px;font-size:14px}.option[data-v-549c1142]{display:flex;align-items:center;justify-content:space-around;padding:10px 3px}.option .required[data-v-549c1142]{margin-top:5px;color:#be1818;font-size:140%}.option span[data-v-549c1142]{width:110px;height:18px;font-size:14px}button[data-v-67ec3d9a]{margin-top:10%;margin-left:35%}.card[data-v-e52c6f21]{display:flex;justify-content:space-between;margin:16px 0;text-align:center}.card .col[data-v-e52c6f21]{display:flex;flex-direction:column;justify-content:space-around;width:360px;height:138px;background:#eff1f7;border-radius:10px;opacity:1.6}.card .col[data-v-e52c6f21]:hover{box-shadow:0 3px 10px #4062e173}.card .col div[data-v-e52c6f21]:first-child{display:flex;align-items:center;justify-content:center;padding-right:20px}.card .col div:first-child span[data-v-e52c6f21]{height:14px;color:#5c5f66;font-weight:700;font-size:18px;line-height:14px;text-align:left}.card .col div:first-child img[data-v-e52c6f21]{width:36px;height:36px;margin-right:10px}.card .font[data-v-e52c6f21]{font-weight:600;font-size:48px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.card .plan-pass[data-v-e52c6f21]{color:#52c41acc;font-weight:600;font-size:48px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.card .plan-fail[data-v-e52c6f21]{color:#d0d321;font-weight:600;font-size:48px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.card .plan-overdue[data-v-e52c6f21]{color:#5da6a8;font-weight:600;font-size:48px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.card .plan-limit[data-v-e52c6f21]{color:#ff0800;font-weight:600;font-size:48px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}@media (max-width: 1800px){.card .col[data-v-e52c6f21]{width:260px}}.table[data-v-330389cd]{padding-bottom:20px;background-color:#fff}.chart[data-v-6dde2c6d]{display:flex;flex-direction:row;width:100%;overflow-x:auto;background-color:#fff;box-shadow:0 2px 12px #0000001a}.chart .list[data-v-6dde2c6d]{position:relative;display:inline-block;flex-shrink:0;box-sizing:border-box;width:180px;border-right:-.1px solid #d9d9d9;border-left:1px solid #d9d9d9}.chart .list h4[data-v-6dde2c6d]{display:flex;align-items:center;justify-content:center;height:40px;margin:0;padding:0;font-size:14px;background:#eff1f7}.chart .cardold[data-v-6dde2c6d]{display:flex;justify-content:start;box-sizing:border-box;height:45px;margin:13px 0;padding:15px;background-color:#fff;border-radius:0 6px 6px 0}.chart .cardold img[data-v-6dde2c6d]{width:14px;height:14px}.chart .cardnew[data-v-6dde2c6d]{position:relative;z-index:10;display:flex;justify-content:start;box-sizing:border-box;height:45px;margin:13px 0;padding:15px;background-color:#fff;border-radius:0 6px 6px 0}.chart .cardnew img[data-v-6dde2c6d]{width:14px;height:14px}.chart .cardtip[data-v-6dde2c6d]{display:flex;align-items:center;justify-content:start;width:140px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chart .cardtip span[data-v-6dde2c6d]:first-child{padding-right:5px}.chart .cardtip span[data-v-6dde2c6d]:last-child{padding-left:5px}.chart .cardContent[data-v-6dde2c6d]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chart .cardType[data-v-6dde2c6d]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:20px;color:#202e54;font-weight:800;font-size:14px;line-height:20px;text-align:left}.chart .cardStatus[data-v-6dde2c6d]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:17px;font-weight:400;font-size:12px;line-height:17px}.chart .A[data-v-6dde2c6d]{background:rgba(123,208,108,.1);border-left:4px solid #7bd06c}.chart .A .cardStatus[data-v-6dde2c6d]{color:#7bd06c}.chart .B[data-v-6dde2c6d]{background:rgba(47,91,234,.1);border-left:4px solid #5e7ce0}.chart .B .cardStatus[data-v-6dde2c6d]{color:#5e7ce0}.chart .C[data-v-6dde2c6d]{background:rgba(227,83,73,.1);border-left:4px solid #e35349}.chart .C .cardStatus[data-v-6dde2c6d]{color:#e35349}.chart .D[data-v-6dde2c6d]{background:rgba(250,173,20,.1);border-left:4px solid #f0960a}.chart .D .cardStatus[data-v-6dde2c6d]{color:#f0960a}.card[data-v-4de66e26]{display:flex;justify-content:flex-start;padding:24px 0;text-align:center}.card .col[data-v-4de66e26]{display:flex;align-items:center;justify-content:center;width:130px;height:36px;margin-right:20px;border-radius:18px}.card .col span[data-v-4de66e26]{overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.card .col img[data-v-4de66e26]{width:14px;height:14px;margin-right:5px}.card div[data-v-4de66e26]:first-child{background:rgba(123,208,108,.1)}.card div[data-v-4de66e26]:nth-child(2){background:rgba(47,91,234,.1)}.card div[data-v-4de66e26]:nth-child(3){background:rgba(227,83,73,.1)}.card div[data-v-4de66e26]:last-child{background:rgba(250,173,20,.1)}#contain[data-v-674b89f0]{height:100%;padding:15px;overflow:hidden}.contentFilter[data-v-674b89f0]{position:absolute;top:10px;right:24px;z-index:99;display:flex;height:30px;cursor:pointer}.filter[data-v-674b89f0]{z-index:99}.contentFilter .left[data-v-674b89f0]{width:122px;height:34px;font-size:14px;line-height:32px;text-align:center;background:#eff1f7;border-radius:17px}.contentFilter .right[data-v-674b89f0]{width:60px;height:34px;margin:0 15px;line-height:34px;text-align:center;background:#eff1f7;border-radius:17px}.contentFilter img[data-v-674b89f0]{width:14px;height:14px}.sort[data-v-674b89f0]{position:absolute;top:44px;right:100px;z-index:99;width:150px;margin-top:10px;margin-left:-7px;color:#606266;background:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 2px 12px #0000001a}.sort li[data-v-674b89f0]{position:relative;padding:0 12px;color:#333;font-size:14px;line-height:36px;text-align:center;list-style-type:none;background-color:#fff;border-radius:6px;cursor:pointer}.sort li[data-v-674b89f0]:hover{color:#2f5bea;background-color:#f5f6f7}.filter[data-v-674b89f0]{position:absolute;top:55px;right:1%;z-index:99;width:522px;padding:30px;color:#606266;background:#fff;border:1px solid #d9d9d9;border-radius:4px;box-shadow:0 0 2px 2px var(--ti-common-color-bg-normal)}.filter div[data-v-674b89f0]{padding-top:3px}.container[data-v-875e3e38]{width:100%;height:100%}.container-info[data-v-875e3e38]{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:calc(100% - 60px);margin:0 auto}.container-info .general-card[data-v-875e3e38]{flex:1 1 auto;height:100%;overflow-x:hidden;overflow-y:auto;border-radius:10px}.container-info .general-card .general-top[data-v-875e3e38]{display:flex;min-height:178px;margin-bottom:20px;overflow:hidden;background-image:url(/ui/admin/assets/blue-bg-a1babbcd.png);background-size:100% 100%;border-radius:4px;box-shadow:0 0 8px 8px #a9aeb80d}.container-info .general-card .general-content[data-v-875e3e38]{height:calc(100% - 198px);position:relative;color:#000;font-size:medium;background-color:#fff;border-radius:10px;box-shadow:0 0 8px 8px #a9aeb80d;overflow-y:auto}
diff --git a/admin-website/src/main/resources/static/assets/index-a677ee63.css b/admin-website/src/main/resources/static/assets/index-a677ee63.css
deleted file mode 100644
index d695cbe..0000000
--- a/admin-website/src/main/resources/static/assets/index-a677ee63.css
+++ /dev/null
@@ -1 +0,0 @@
-.operations[data-v-6ddb8718]{display:flex}
diff --git a/admin-website/src/main/resources/static/assets/index-acf739c4.js b/admin-website/src/main/resources/static/assets/index-acf739c4.js
deleted file mode 100644
index 9135afd..0000000
--- a/admin-website/src/main/resources/static/assets/index-acf739c4.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as h,a0 as g,r as b,k as y,u,v as i,l,w as e,E as o,z as B,H as r,W as s,J as m,Z as S,_ as k}from"./vue-fdfdc7c1.js";import{T as d,B as _,_ as C}from"./index-387d5142.js";import{T as F}from"./index-694a71ab.js";import"./chevron-up-775d40e5.js";const I="/ui/admin/assets/success-a1de9b8e.png",N=c=>(S("data-v-ca919170"),c=c(),k(),c),T={class:"container"},$={class:"content"},x={class:"content-main"},V={key:0,class:"result-alert"},w=N(()=>e("img",{src:I,alt:"success"},null,-1)),E={class:"result-btn"},z={class:"result-line"},D=h({__name:"index",setup(c){const{t}=g(),a=b(4);function p(){a.value<4?(a.value+=1,d.message({message:t("menu.result.messageSuccess"),status:"success"})):(a.value=4,d.message({message:t("menu.result.messageEnd"),status:"success"}))}function v(){a.value===4&&(a.value=0)}return(n,H)=>{const f=y("Breadcrumb");return u(),i("div",T,[l(f,{items:["menu.result","menu.result.success"]}),e("div",$,[e("div",x,[a.value===4?(u(),i("div",V,[w,e("div",null,[e("div",null,o(n.$t("menu.result.messageSuccess")),1),e("div",null,o(n.$t("success.result.title")),1)])])):B("",!0),e("div",E,[l(s(_),{type:"primary","native-type":"submit",onClick:p},{default:r(()=>[m(o(n.$t("menu.btn.submit")),1)]),_:1}),l(s(_),{onClick:v},{default:r(()=>[m(o(n.$t("menu.btn.cancel")),1)]),_:1})]),e("div",z,[e("div",null,o(n.$t("menu.line.process")),1),e("div",null,[l(s(F),{data:[{name:s(t)("stepForm.start.coaching")},{name:s(t)("stepForm.immediate.supervisor")},{name:s(t)("stepForm.overall.goals")},{name:s(t)("stepForm.overall.summary")},{name:s(t)("stepForm.overall.end")}],active:a.value,type:"normal"},null,8,["data","active"])])])])])])}}});const W=C(D,[["__scopeId","data-v-ca919170"]]);export{W as default};
diff --git a/admin-website/src/main/resources/static/assets/index-adce738e.css b/admin-website/src/main/resources/static/assets/index-adce738e.css
deleted file mode 100644
index de685b0..0000000
--- a/admin-website/src/main/resources/static/assets/index-adce738e.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-steps,.tiny-timeline{--ti-steps-circle-width-height:var(--ti-common-size-5x, 20px);--ti-steps-number-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-font-size-base:var(--ti-common-font-size-base, 12px);--ti-steps-font-size-hover:var(--ti-common-font-weight-4, normal);--ti-steps-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-steps-bg-color-hover:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-text-color-hover:var(--ti-common-color-primary-normal, #5e7ce0);--ti-steps-icon-size:var(--ti-common-size-5x, 20px);--ti-steps-icon-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-steps-font-size-7:var(--ti-common-font-size-7, 36px);--ti-steps-line-height:var(--ti-common-border-weight-normal, 1px);--ti-steps-line-margin-horizontal:var(--ti-common-space-2x, 8px);--ti-steps-line-min-width:var(--ti-common-space-4x, 16px);--ti-steps-text-margin-left:var(--ti-common-space-base, 4px);--ti-steps-line-width:var(--ti-common-size-16x, 64px);--ti-steps-content-max-width:calc(var(--ti-common-space-10, 10px) * 25);--ti-steps-content-margin-top:var(--ti-common-space-6, 6px);--ti-steps-bottom-divider-height:var(--ti-common-space-1, 1px);--ti-steps-bottom-divider-margin-top:var(--ti-common-space-4x, 16px);--ti-steps-bottom-divider-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-description-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-description-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-steps-description-min-width:calc(var(--ti-common-space-10, 10px) * 10);--ti-steps-vertical-description-margin-top:var(--ti-common-space-2x);--ti-steps-icon-border-width:var(--ti-common-space-1, 1px);--ti-steps-custom-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-custom-icon-width-height:var(--ti-common-space-3x, 12px);--ti-steps-advanced-active-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-steps-done-active-bg-color-hover:var(--ti-common-color-primary-hover, #7693f5);--ti-steps-advanced-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-line-active-icon-color:var(--ti-common-color-icon-white, #fff);--ti-steps-active-font-weight:var(--ti-common-font-weight-4, normal);--ti-steps-advanced-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-steps-done-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-steps-line-active-bg-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-done-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-done-active-border-color-hover:var(--ti-common-color-primary-hover, #7693f5);--ti-steps-done-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-steps-done-icon-size:var(--ti-common-font-size-1, 14px);--ti-steps-done-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-line-bg-color:var(--ti-common-color-bg-secondary, #adb0b8);--ti-steps-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-unselected-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-steps-unselected-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-steps-unselected-hover-name-text-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-steps-unselected-border-color:var(--ti-steps-unselected-icon-color);--ti-steps-unselected-hover-border-color:var(--ti-steps-unselected-hover-icon-color);--ti-steps-timeline-date-time-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-steps-doing-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-doing-border-color-hover:var(--ti-common-color-primary-hover, #7693f5);--ti-steps-doing-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-steps-doing-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-warning-icon-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-warning-icon-bg-color:var(--ti-common-color-warn, #fa9841);--ti-steps-error-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-error-icon-bg-color-hover:var(--ti-common-color-error-bg, #ffeeed);--ti-steps-error-icon-color:var(--ti-common-color-error-text, #de504e);--ti-steps-error-icon-size:var(--ti-common-font-size-1, 14px);--ti-steps-error-border-color:var(--ti-common-color-error-border, #f66f6a);--ti-steps-error-text-color:var(--ti-common-color-error-text, #de504e);--ti-steps-disabled-icon-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-steps-disabled-icon-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-disabled-border-color:var(--ti-steps-disabled-icon-color);--ti-steps-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-disabled-name-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-disabled-select-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-disabled-select-icon-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-mini-icon-size:var(--ti-common-font-size-5, 24px);--ti-steps-mini-number-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-mini-font-size-base:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-steps-advanced-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-steps-advanced-line-height:var(--ti-common-size-7x, 28px);--ti-steps-advanced-border-radius:calc(var(--ti-common-space-1, 1px) * 3);--ti-steps-advanced-li-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-advanced-li-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-steps-advanced-li-hover-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-steps-advanced-li-hover-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-steps-advanced-link-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-dot-height:var(--ti-common-size-3x, 12px);--ti-steps-advanced-dot-width:var(--ti-common-size-3x, 12px);--ti-steps-advanced-count-bg-color:var(--ti-common-bg-primary, #c7000b);--ti-steps-advanced-count-border-radius:var(--ti-common-space-10, 10px);--ti-steps-advanced-count-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-count-height:calc(var(--ti-common-space-6, 6px) * 3);--ti-steps-advanced-border-weight:calc(var(--ti-common-space-base, 4px) * 3.5);--ti-steps-timeline-date-time-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-dot-doing-bg-color:var(--ti-common-color-warn, #fa9841);--ti-steps-advanced-dot-wait-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-steps-advanced-dot-done-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-steps-advanced-default-bg-color:var(--ti-common-color-bg-normal, #eef0f5);--ti-steps-advanced-bg-color-hover:#dfe1e6;--ti-steps-advanced-done-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-steps-advanced-done-bg-color-hover:var(--ti-base-color-brand-3, #beccfa);--ti-steps-advanced-doing-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-steps-advanced-doing-bg-color-hover:var(--ti-base-color-brand-3, #beccfa);--ti-steps-advanced-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-steps-advanced-error-bg-color-hover:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-steps-advanced-error-bg-color-selected:#de504e;--ti-steps-advanced-error-icon-color:var(--ti-common-color-error-text, #de504e);--ti-steps-advanced-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f5);--ti-steps-advanced-disabled-bg-color-hover:var(--ti-common-color-bg-disabled, #f5f5f5);--ti-steps-advanced-disabled-bg-color-active:var(--ti-common-color-bg-disabled, #f5f5f5);--ti-steps-timeline-name-font-size:var(--ti-common-font-size-1, 14px);--ti-steps-timeline-vertical-time-width:var(--ti-common-size-25x, 100px);--ti-steps-timeline-line-margin-vertical:var(--ti-common-size-base, 4px);--ti-steps-timeline-vertical-line-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-timeline-vertical-line-margin-left:var(--ti-common-size-3x, 12px);--ti-steps-timeline-vertical-line-margin-right:var(--ti-steps-timeline-vertical-line-margin-left);--ti-steps-timeline-shape-dot-content-margin-left:var(--ti-common-size-3x, 12px);--ti-steps-timeline-dot-width:var(--ti-common-size-2x, 8px);--ti-steps-timeline-dot-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-timeline-dot-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-timeline-item-padding-bottom:var(--ti-common-size-5x, 20px);--ti-steps-timeline-item-secondary-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-steps-timeline-item-secondary-text-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-timeline-item-title-margin-bottom:var(--ti-common-size-base, 4px);--ti-steps-timeline-dot-primary-bg-color:var(--ti-steps-timeline-dot-bg-color);--ti-steps-timeline-dot-success-bg-color:var(--ti-common-color-success, #50d4ab);--ti-steps-timeline-dot-warning-bg-color:var(--ti-common-color-warn, #fa9841);--ti-steps-timeline-dot-danger-bg-color:var(--ti-common-color-error, #f66f6a);--ti-steps-timeline-dot-info-bg-color:var(--ti-common-color-prompt, #5e7ce0);--ti-steps-time-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-steps-time-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-time-margin-bottom:var(--ti-common-space-6, 6px)}.tiny-steps-senior{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;color:var(--ti-steps-text-color);font-size:var(--ti-steps-font-size-base);line-height:16px}.tiny-steps-senior .tiny-steps-slide-bar{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-steps-senior .tiny-steps-slide-bar .slide-main{-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:auto}.tiny-steps-senior .tiny-steps-slide-bar .slide-main>div{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-steps-senior .tiny-steps-slide-bar .slide-main::-webkit-scrollbar{width:0;height:0}.tiny-steps-senior .tiny-steps-slide-bar .more-button{display:none;-webkit-box-flex:0;-ms-flex:none;flex:none;height:32px;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-steps-senior .tiny-steps-slide-bar .more-button.display-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-steps-senior .tiny-steps-slide-bar .more-button .content{width:16px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#f5f6f8}.tiny-steps-senior .tiny-steps-slide-bar .more-button .icon{height:12px;width:12px}.tiny-steps-senior .tiny-steps-slide-bar .more-button.left .content{margin-right:6px}.tiny-steps-senior .tiny-steps-slide-bar .more-button.right .content{margin-left:6px}.tiny-steps-senior .more-button-con{width:16px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:6px;color:#c9c9c9;background-color:#f5f6f8}.tiny-steps-senior .more-button-con.left{margin-right:6px}.tiny-steps-senior .more-button-con.right{margin-left:6px}.tiny-steps-senior .more-button-con.bar-visible{color:#161e26}.tiny-steps-senior .more-button-con.bar-visible:hover{background-color:#b0bffd;color:#1890ff}.tiny-steps-senior .more-button-con .icon{width:12px;height:12px;fill:currentColor}.tiny-steps-senior .tiny-steps-block{height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:2px;position:relative;cursor:pointer;color:var(--ti-steps-text-color);margin:0 1px;overflow:hidden;background-color:var(--ti-steps-advanced-default-bg-color)}.tiny-steps-senior .tiny-steps-block .right-arrow.hide{display:none}.tiny-steps-senior .tiny-steps-block:hover{background-color:var(--ti-steps-advanced-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.active{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.active:hover{background-color:var(--ti-steps-done-active-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.not-flex{width:176px}.tiny-steps-senior .tiny-steps-block.done{background-color:var(--ti-steps-advanced-done-bg-color)}.tiny-steps-senior .tiny-steps-block.done:hover{background-color:var(--ti-steps-advanced-done-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.done.active{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.doing{background-color:var(--ti-steps-advanced-doing-bg-color)}.tiny-steps-senior .tiny-steps-block.doing:hover{color:#fff;background-color:var(--ti-steps-advanced-doing-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.doing.active,.tiny-steps-senior .tiny-steps-block.doing.active:hover{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.fault{background-color:var(--ti-steps-advanced-error-bg-color)}.tiny-steps-senior .tiny-steps-block.fault:hover{background-color:var(--ti-steps-advanced-error-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.fault.active{background-color:var(--ti-steps-advanced-error-bg-color-selected)}.tiny-steps-senior .tiny-steps-block.disabled{color:var(--ti-steps-disabled-icon-color);background-color:var(--ti-steps-advanced-disabled-bg-color)}.tiny-steps-senior .tiny-steps-block.disabled:hover{background-color:var(--ti-steps-advanced-disabled-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.disabled.active{background-color:var(--ti-steps-advanced-disabled-bg-color-active)}.tiny-steps-senior .tiny-steps-block .arrow{height:0;width:0;position:absolute;border-top-width:16px;border-bottom-width:16px;border-left-width:6px;border-right-width:0;border-color:#fff;border-style:solid}.tiny-steps-senior .tiny-steps-block .left-arrow{left:0;border-top-color:transparent;border-bottom-color:transparent}.tiny-steps-senior .tiny-steps-block .left-arrow.hide{display:none}.tiny-steps-senior .tiny-steps-block .right-arrow{right:0;border-left-color:transparent}.tiny-steps-senior .tiny-steps-content{font-size:14px;-webkit-box-flex:1;-ms-flex:auto;flex:auto;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 24px;overflow:hidden;height:32px}.tiny-steps-senior .tiny-steps-content:hover .tiny-steps-icon.doing{background-color:#fff;color:#1890ff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon{width:16px;height:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:none;flex:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:9999px;margin-right:8px;background-color:#c9c9c9;color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.doing,.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.done{background-color:var(--ti-steps-advanced-active-bg-color);color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.active:not(.disabled){color:var(--ti-steps-advanced-active-text-color);background-color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.fault{background-color:var(--ti-steps-advanced-error-icon-color);color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.fault.active{color:var(--ti-steps-error-icon-color);background-color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon .icon{width:10px;height:10px;fill:currentColor}.tiny-steps-senior .tiny-steps-content .tiny-steps-prefixslot{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-steps-senior .tiny-steps-content .tiny-steps-prefixslot .prefix{margin-right:-8px}.tiny-steps-senior .tiny-steps-content .tiny-steps-text{-webkit-box-flex:1;-ms-flex:auto;flex:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-senior .tiny-steps-content .tiny-steps-text.active:not(.disabled){color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-text .tiny-steps-text-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-senior .tiny-steps-content .tiny-steps-text .tiny-steps-text-description{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-senior.large .more-button,.tiny-steps-senior.large .tiny-steps-block{height:48px}.tiny-steps-senior.large .tiny-steps-block .arrow{border-top-width:24px;border-bottom-width:24px;border-left-width:9px}.tiny-steps-senior.large .tiny-steps-block .tiny-steps-content{height:48px}.tiny-steps-senior.large .tiny-steps-block .tiny-steps-content .tiny-steps-icon{width:24px;height:24px;margin-right:12px}.tiny-steps-senior.large .tiny-steps-block .tiny-steps-content .tiny-steps-icon .icon{width:14px;height:14px}.tiny-steps-senior.large .tiny-steps-block:not(.active):not(:hover).doing .tiny-steps-text-description,.tiny-steps-senior.large .tiny-steps-block:not(.active):not(:hover).done .tiny-steps-text-description{color:var(--ti-steps-description-text-color)}.tiny-steps-line{display:-webkit-box;display:-ms-flexbox;display:flex;color:var(--ti-steps-text-color)}.tiny-steps-line.vertical .tiny-steps-block .description{margin-left:0}.tiny-steps-line .item-number{position:relative;font-size:var(--ti-steps-number-font-size);line-height:1}.tiny-steps-line .item-circle{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);-webkit-box-flex:0;-ms-flex:none;flex:none;border-radius:9999px;border:1px solid var(--ti-steps-line-bg-color);background-color:#fff;font-weight:500;position:absolute}.tiny-steps-line .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:10;border:1px solid var(--ti-steps-unselected-border-color);border-radius:50%}.tiny-steps-line .tiny-steps-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.tiny-steps-line .tiny-steps-main .line.line-brand{border-color:var(--ti-steps-done-active-border-color)}.tiny-steps-line .tiny-steps-block{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;cursor:pointer;text-align:center}.tiny-steps-line .tiny-steps-block:not(.active,.fault,.disabled,.doing):hover .title{color:var(--ti-steps-text-color-hover)}.tiny-steps-line .tiny-steps-block:not(.active,.fault,.disabled,.doing):hover .tiny-steps-icon{border-color:var(--ti-steps-border-color-hover);color:var(--ti-steps-icon-hover-text-color)}.tiny-steps-line .tiny-steps-block.not-vertical{min-width:128px;max-width:320px;margin-right:var(--ti-steps-line-margin-horizontal);text-align:left}.tiny-steps-line .tiny-steps-block .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:none;flex:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:9999px;border:1px solid var(--ti-steps-unselected-border-color);background-color:var(--ti-steps-icon-bg-color);color:var(--ti-steps-unselected-icon-color);font-size:14px}.tiny-steps-line .tiny-steps-block .tiny-steps-icon:hover{background-color:var(--ti-steps-bg-color-hover)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.active{background-color:var(--ti-steps-advanced-active-bg-color);color:#fff;border-color:var(--ti-steps-advanced-active-border-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.active.fault{color:var(--ti-steps-error-text-color);border:1px solid var(--ti-steps-error-border-color);background-color:var(--ti-steps-error-icon-bg-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.active.disabled{background-color:var(--ti-steps-disabled-select-icon-bg-color);color:var(--ti-steps-disabled-select-icon-color);border-color:var(--ti-steps-disabled-border-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon .icon-finish{fill:var(--ti-steps-done-icon-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon .icon-finish.active{fill:#fff}.tiny-steps-line .tiny-steps-block .tiny-steps-icon .icon-warn{fill:var(--ti-steps-error-icon-color)}.tiny-steps-line .tiny-steps-block.flex-non{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-steps-line .tiny-steps-block.active div.title,.tiny-steps-line .tiny-steps-block.active div.title-vertical{color:var(--ti-steps-advanced-active-text-color)}.tiny-steps-line .tiny-steps-block.active .description:not(.disabled,.fault){color:var(--ti-steps-advanced-active-text-color)}.tiny-steps-line .tiny-steps-block.active .description.fault{color:var(--ti-steps-error-text-color)}.tiny-steps-line .tiny-steps-block.disabled{color:var(--ti-steps-disabled-icon-color);cursor:not-allowed}.tiny-steps-line .tiny-steps-block.disabled.active div.title,.tiny-steps-line .tiny-steps-block.disabled.active div.title-vertical{color:var(--ti-steps-disabled-name-text-color)}.tiny-steps-line .tiny-steps-block.fault div.title,.tiny-steps-line .tiny-steps-block.fault div.title-vertical{color:var(--ti-steps-error-text-color)}.tiny-steps-line .tiny-steps-block.fault .tiny-steps-icon{color:var(--ti-steps-error-icon-color);border-color:var(--ti-steps-error-border-color);background-color:var(--ti-steps-error-icon-bg-color)}.tiny-steps-line .tiny-steps-block.fault .tiny-steps-icon:hover{background-color:var(--ti-steps-error-icon-bg-color-hover)}.tiny-steps-line .tiny-steps-block.doing .tiny-steps-icon{border:1px solid var(--ti-steps-doing-border-color);background-color:var(--ti-steps-doing-icon-bg-color);color:var(--ti-steps-doing-icon-color)}.tiny-steps-line .tiny-steps-block.doing .tiny-steps-icon:hover{border-color:var(--ti-steps-doing-border-color-hover)}.tiny-steps-line .tiny-steps-block.doing .tiny-steps-icon.active{border:1px solid var(--ti-steps-doing-border-color);background-color:var(--ti-steps-advanced-active-bg-color);color:var(--ti-steps-line-active-icon-color)}.tiny-steps-line .tiny-steps-block.done .title{color:var(--ti-steps-done-text-color)}.tiny-steps-line .tiny-steps-block.done .tiny-steps-main .tiny-steps-icon{background-color:var(--ti-steps-done-icon-bg-color);border-color:var(--ti-steps-done-active-border-color)}.tiny-steps-line .tiny-steps-block.done .tiny-steps-main .tiny-steps-icon:hover{border-color:var(--ti-steps-done-active-border-color-hover)}.tiny-steps-line .tiny-steps-block.done .tiny-steps-main .tiny-steps-icon.active{border-color:var(--ti-steps-advanced-active-border-color);background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.disabled{color:var(--ti-steps-disabled-icon-color);background-color:var(--ti-steps-disabled-icon-bg-color);border-color:var(--ti-steps-disabled-border-color)}.tiny-steps-line .tiny-steps-block .title{font-size:var(--ti-steps-font-size-base);margin-left:var(--ti-steps-text-margin-left);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-line .tiny-steps-block .line{border-top:1px solid var(--ti-steps-line-bg-color);-webkit-box-flex:1;-ms-flex:auto;flex:auto}.tiny-steps-line .tiny-steps-block .left-line.acetate{opacity:0}.tiny-steps-line .tiny-steps-block .left-line.not-vertical{display:none;min-width:24px;margin-left:16px}.tiny-steps-line .tiny-steps-block .right-line.acetate{opacity:0}.tiny-steps-line .tiny-steps-block .right-line.hide{display:none}.tiny-steps-line .tiny-steps-block .right-line.not-vertical{min-width:24px;margin-left:var(--ti-steps-line-margin-horizontal)}.tiny-steps-line .tiny-steps-block .title-vertical{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:12px 20px 0}.tiny-steps-line .tiny-steps-block .title-vertical.not-vertical{display:none;margin:0}.tiny-steps-line .tiny-steps-block .description{font-size:12px;color:var(--ti-steps-description-text-color);margin-left:calc(var(--ti-steps-circle-width-height) + var(--ti-steps-text-margin-left));margin-top:var(--ti-steps-vertical-description-margin-top);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all}.tiny-steps-line .tiny-steps-block .description.disabled{color:var(--ti-steps-disabled-text-color)}.tiny-steps-line .tiny-steps-block .description .fault{color:var(--ti-steps-error-text-color)}.tiny-steps-line .tiny-steps-block .description.not-vertical{margin-top:0}.tiny-steps-line .tiny-steps-block.done .left-line,.tiny-steps-line .tiny-steps-block.done .right-line,.tiny-steps-line .tiny-steps-block.doing .left-line{border-top:1px solid var(--ti-steps-line-active-bg-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-steps-line .tiny-steps-block.mini .tiny-steps-icon{width:8px;height:8px;font-size:12px}.tiny-steps-line .tiny-steps-block.mini .title,.tiny-steps-line .tiny-steps-block.mini .title-vertical{font-size:12px}.tiny-steps-line .tiny-steps-block.small .tiny-steps-icon{width:16px;height:16px;font-size:12px}.tiny-steps-line .tiny-steps-block.small .tiny-steps-icon .icon{width:10px;height:10px}.tiny-steps-line .tiny-steps-block.small .title,.tiny-steps-line .tiny-steps-block.small .title-vertical{font-size:12px}.tiny-steps-line .tiny-steps-block.medium .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);font-size:var(--ti-steps-font-size-base)}.tiny-steps-line .tiny-steps-block.medium .tiny-steps-icon .icon{width:var(--ti-steps-number-font-size);height:var(--ti-steps-number-font-size)}.tiny-steps-line .tiny-steps-block.large .tiny-steps-icon{width:32px;height:32px;font-size:16px}.tiny-steps-line .tiny-steps-block.large .tiny-steps-icon .icon{width:18px;height:18px}.tiny-steps-line .tiny-steps-block.large .title,.tiny-steps-line .tiny-steps-block.large .title-vertical{font-size:16px}.tiny-steps-line.medium .left-line{margin-right:8px}.tiny-steps-line.medium .right-line{margin-left:8px}.tiny-steps-line.small .left-line{margin-right:8px}.tiny-steps-line.small .right-line{margin-left:8px}.tiny-steps-line.mini .left-line{margin-right:4px}.tiny-steps-line.mini .right-line{margin-left:4px}.tiny-steps-line.large .left-line{margin-right:12px}.tiny-steps-line.large .right-line{margin-left:12px}.tiny-steps-line .tiny-steps-left .tiny-steps-icon,.tiny-steps-line .tiny-steps-right .tiny-steps-icon{border:none}.tiny-steps-line .tiny-steps-left .tiny-steps-icon .item-number,.tiny-steps-line .tiny-steps-right .tiny-steps-icon .item-number{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:10;border:1px solid var(--ti-steps-unselected-border-color);border-radius:50%;background-color:var(--ti-steps-icon-bg-color)}.tiny-steps-line .tiny-steps-left{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;cursor:pointer;max-width:320px;margin-right:16px}.tiny-steps-line .tiny-steps-left .tiny-steps-icon{border-color:var()}.tiny-steps-line .tiny-steps-left.vertical{text-align:center;margin-right:0;max-width:initial}.tiny-steps-line .tiny-steps-left .left-line{border-top:1px solid;-webkit-box-flex:1;-ms-flex:auto;flex:auto;opacity:0}.tiny-steps-line .tiny-steps-left .left-line.not-vertical{display:none;margin-right:16px;min-width:24px}.tiny-steps-line .tiny-steps-left .right-line{-webkit-box-flex:1;-ms-flex:auto;flex:auto;border-top:1px solid}.tiny-steps-line .tiny-steps-left .right-line.not-vertical{min-width:24px}.tiny-steps-line .tiny-steps-right{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;cursor:pointer;text-align:center}.tiny-steps-line .tiny-steps-right.not-vertical{min-width:128px;max-width:320px;text-align:left}.tiny-steps-line .tiny-steps-right .tiny-steps-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.tiny-steps-line .tiny-steps-right .line{border-top:1px solid var(--ti-steps-line-bg-color);-webkit-box-flex:1;-ms-flex:auto;flex:auto}.tiny-steps-line .tiny-steps-right .line.right-line{opacity:0}.tiny-steps-line .tiny-steps-right .line.not-vertical{display:none;min-width:24px;margin-left:16px}.tiny-steps-line .tiny-steps-right .tiny-steps-icon{-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;z-index:10}.tiny-steps-line .tiny-steps-right .item-circle{-webkit-box-flex:0;-ms-flex:none;flex:none;border-radius:9999px;border:1px solid var(--ti-steps-line-bg-color);background-color:var(--ti-steps-icon-bg-color);font-weight:500;position:absolute}.tiny-steps-line.mini .tiny-steps-icon{width:8px;height:8px;font-size:12px}.tiny-steps-line.small .tiny-steps-icon{width:16px;height:16px;font-size:12px}.tiny-steps-line.medium .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);font-size:14px}.tiny-steps-line.large .tiny-steps-icon{width:32px;height:32px;font-size:16px}.tiny-steps-line.mini .item-circle{width:8px;height:8px}.tiny-steps-line.small .item-circle{width:16px;height:16px}.tiny-steps-line.medium .item-circle{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height)}.tiny-steps-line.large .item-number{font-size:16px}.tiny-steps-line.large .item-circle{width:32px;height:32px}.tiny-steps-standard{position:relative;font-size:0;color:var(--ti-steps-timeline-date-time-text-color)}.tiny-steps-standard .tiny-steps-advanced li{line-height:var(--ti-steps-advanced-line-height);display:inline-block;background:var(--ti-steps-advanced-li-bg-color);position:relative}.tiny-steps-standard .tiny-steps-advanced li.current .label{background:var(--ti-steps-advanced-active-bg-color);color:var(--ti-steps-advanced-li-text-color);font-weight:700}.tiny-steps-standard .tiny-steps-advanced li.current .label:after{border-left-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-standard .tiny-steps-advanced li .label{border:solid 1px var(--ti-steps-advanced-border-color);border-right:none;display:block;text-align:center;position:relative;text-decoration:none;white-space:nowrap;color:var(--ti-steps-advanced-text-color);font-size:var(--ti-steps-advanced-link-font-size)}.tiny-steps-standard .tiny-steps-advanced li .label:after{content:"";border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:9px solid #fff;position:absolute;right:0;top:0;-webkit-transform:translateX(100%);transform:translate(100%);z-index:1}.tiny-steps-standard .tiny-steps-advanced li .label:before{content:"";border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:9px solid #d7d8da;position:absolute;left:0;top:0}.tiny-steps-standard .tiny-steps-advanced li .label:hover{background:var(--ti-steps-advanced-li-hover-bg-color);color:var(--ti-steps-advanced-li-hover-text-color);text-decoration:none}.tiny-steps-standard .tiny-steps-advanced li .label:hover:after{border-left-color:var(--ti-steps-advanced-li-hover-bg-color)}.tiny-steps-standard .tiny-steps-advanced li:first-child .label{border-top-left-radius:var(--ti-steps-advanced-border-radius);border-bottom-left-radius:var(--ti-steps-advanced-border-radius)}.tiny-steps-standard .tiny-steps-advanced li:first-child .label:before{display:none}.tiny-steps-standard .tiny-steps-advanced li:last-child .label{border-right:solid 1px var(--ti-steps-advanced-border-color);border-top-right-radius:var(--ti-steps-advanced-border-radius);border-bottom-right-radius:var(--ti-steps-advanced-border-radius)}.tiny-steps-standard .tiny-steps-advanced li:last-child .label:after{display:none}.tiny-steps-standard .tiny-steps-advanced li .dot{height:var(--ti-steps-advanced-dot-height);width:var(--ti-steps-advanced-dot-width);margin-right:8px;padding:0;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute}.tiny-steps-standard .tiny-steps-advanced li .dot svg{width:100%;height:100%;fill:var(--ti-steps-advanced-text-color)}.tiny-steps-standard .tiny-steps-advanced li.current .dot svg,.tiny-steps-standard .tiny-steps-advanced li.current .dot svg:hover{fill:var(--ti-steps-advanced-li-bg-color)}.tiny-steps-standard .tiny-steps-advanced li:hover .dot svg{fill:var(--ti-steps-advanced-text-color)}.tiny-steps-standard .tiny-steps-advanced .count{background-color:var(--ti-steps-advanced-count-bg-color);border-radius:var(--ti-steps-advanced-count-border-radius);color:var(--ti-steps-advanced-li-text-color);display:inline-block;font-size:var(--ti-steps-advanced-count-font-size);height:var(--ti-steps-advanced-count-height);line-height:var(--ti-steps-advanced-count-height);padding:0 6px;text-align:center;white-space:nowrap;position:absolute;top:-10px;right:10px}.tiny-timeline{position:relative}.tiny-timeline .line{background:var(--ti-steps-line-bg-color)}.tiny-timeline .icon{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--ti-steps-number-font-size);left:calc(50% - var(--ti-steps-icon-size)/ 2);top:0;width:var(--ti-steps-icon-size);height:var(--ti-steps-icon-size);border:var(--ti-steps-icon-border-width) solid var(--ti-steps-unselected-border-color);border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:var(--ti-steps-unselected-icon-color);cursor:pointer;background-color:var(--ti-steps-icon-bg-color);z-index:15}.tiny-timeline .icon[class*=icon-]{background-color:var(--ti-steps-custom-icon-bg-color)}.tiny-timeline .icon.icon-success{border-color:var(--ti-steps-done-active-border-color)}.tiny-timeline .icon.icon-success .fixicon{fill:var(--ti-steps-done-icon-color)}.tiny-timeline .icon.icon-warning{background-color:var(--ti-steps-warning-icon-bg-color);border-color:var(--ti-steps-warning-icon-bg-color)}.tiny-timeline .icon.icon-warning .fixicon{fill:var(--ti-steps-warning-icon-color)}.tiny-timeline .icon.icon-error{border-color:var(--ti-steps-error-border-color)}.tiny-timeline .icon.icon-error .fixicon{fill:var(--ti-steps-error-icon-color)}.tiny-timeline .icon .fixicon,.tiny-timeline .icon .fixicons{width:var(--ti-steps-custom-icon-width-height);height:var(--ti-steps-custom-icon-width-height);background-color:transparent}.tiny-timeline .icon.fixicons{padding:0;left:0;border:none}.tiny-timeline .icon .number{display:inline-block}.tiny-timeline .date-time{text-align:center;color:var(--ti-steps-time-text-color);font-size:var(--ti-steps-time-font-size);margin-bottom:var(--ti-steps-time-margin-bottom)}.tiny-timeline .tiny-steps__node{position:relative}.tiny-timeline .process-done .node-description{color:var(--ti-steps-done-text-color)}.tiny-timeline .process-done .icon{color:var(--ti-steps-done-icon-color);fill:var(--ti-steps-done-icon-color);border-color:var(--ti-steps-done-active-border-color);background-color:var(--ti-steps-done-icon-bg-color)}.tiny-timeline .process-done .icon .icon-yes{fill:var(--ti-steps-done-icon-color);font-size:var(--ti-steps-done-icon-size);border-radius:50%}.tiny-timeline .process-done.tiny-timeline-item .dot-container .dot{border-color:var(--ti-steps-done-active-border-color);background-color:var(--ti-steps-done-icon-bg-color)}.tiny-timeline .process-done .line,.tiny-timeline .process-done.tiny-timeline-item.timeline .tiny-timeline-item__pillar .line{background-color:var(--ti-steps-line-active-bg-color)}.tiny-timeline .process-current .icon{color:var(--ti-steps-advanced-li-text-color);font-size:var(--ti-steps-font-size-base);border-color:var(--ti-steps-advanced-active-border-color);background:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .process-current .icon .fixicons{fill:var(--ti-steps-advanced-li-text-color)}.tiny-timeline .process-current.tiny-timeline-item .dot-container .dot{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .process-error{cursor:not-allowed}.tiny-timeline .process-error .icon{-ms-flex-negative:0;flex-shrink:0;color:var(--ti-steps-error-icon-color);border-color:var(--ti-steps-error-border-color);background-color:var(--ti-steps-error-bg-color)}.tiny-timeline .process-error .icon .icon-wrap{font-size:0}.tiny-timeline .process-error .icon svg{fill:var(--ti-steps-error-icon-color);font-size:var(--ti-steps-error-icon-size)}.tiny-timeline .process-error.tiny-timeline-item .dot-container .dot{background-color:var(--ti-steps-error-border-color)}.tiny-timeline .process-error.normal .node-description .name,.tiny-timeline .process-error.normal .node-description div.name:hover{color:var(--ti-steps-error-text-color)}.tiny-timeline .process-disabled{cursor:not-allowed}.tiny-timeline .process-disabled .icon{background-color:var(--ti-steps-disabled-icon-bg-color);border-color:var(--ti-steps-disabled-border-color)}.tiny-timeline .process-disabled .icon .number{color:var(--ti-steps-disabled-icon-color)}.tiny-timeline .process-disabled.tiny-timeline-item .dot-container .dot{background-color:var(--ti-steps-disabled-icon-bg-color)}.tiny-timeline .process-disabled .tiny-timeline-item__content .name,.tiny-timeline .process-disabled .tiny-timeline-item__content div.name:hover,.tiny-timeline .process-disabled.normal .node-description .name,.tiny-timeline .process-disabled.normal .node-description div.name:hover{color:var(--ti-steps-disabled-text-color)}.tiny-timeline .process-current .node-description .name:hover,.tiny-timeline .process-done .node-description .name:hover,.tiny-timeline .process-error .node-description .name:hover{font-weight:var(--ti-steps-font-size-hover)}.tiny-timeline .reverse .process-current .line{background:var(--ti-steps-line-active-bg-color)}.tiny-timeline .tiny-steps-normal .normal{display:block;position:relative;font-size:var(--ti-steps-font-size-base)}.tiny-timeline .tiny-steps-normal .icon span{display:inline-block}.tiny-timeline .tiny-steps-normal .name{color:var(--ti-steps-timeline-date-time-text-color);cursor:pointer}.tiny-timeline .tiny-steps-normal.text-right{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:0;margin:0}.tiny-timeline .tiny-steps-normal.text-right .normal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.tiny-timeline .tiny-steps-normal.text-right .normal .step-icon{top:0;left:0;-ms-flex-negative:0;flex-shrink:0}.tiny-timeline .tiny-steps-normal.text-right .normal .node-description{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin-left:var(--ti-steps-text-margin-left);-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-timeline .tiny-steps-normal.text-right .normal .node-description .name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-right:var(--ti-steps-name-margin-right);overflow:hidden;text-overflow:ellipsis;word-break:break-all;white-space:normal;text-align:left;max-width:var(--ti-steps-content-max-width)}.tiny-timeline .tiny-steps-normal.text-right .normal .line{-webkit-box-flex:1;-ms-flex:1;flex:1;height:var(--ti-steps-line-height);margin-left:var(--ti-steps-line-margin-horizontal)}.tiny-timeline .tiny-steps-normal.text-right .normal .line.line-end{-webkit-box-flex:0;-ms-flex:0;flex:0}.tiny-timeline .tiny-steps-normal.text-right .normal:not(:first-child){padding-left:var(--ti-steps-line-margin-horizontal)}.tiny-timeline .tiny-steps-normal.text-right .normal:not(:last-child){-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-timeline .tiny-steps-normal.text-right .normal.no-flex{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-timeline .tiny-steps-normal.text-bottom{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-timeline .tiny-steps-normal.text-bottom .node-description{position:relative;text-align:center;margin-top:var(--ti-steps-content-margin-top)}.tiny-timeline .tiny-steps-normal.text-bottom .node-description .name{font-size:var(--ti-steps-font-size-base);float:left;width:100%;cursor:pointer}.tiny-timeline .tiny-steps-normal.text-bottom .node-description .name:hover{color:var(--ti-steps-text-color-hover)}.tiny-timeline .tiny-steps-normal.text-bottom .node-description .status{font-size:var(--ti-steps-font-size-base);float:left;width:100%}.tiny-timeline .tiny-steps-normal.text-bottom .line{width:calc(100% - var(--ti-steps-icon-size) - var(--ti-steps-line-margin-horizontal) * 2);height:var(--ti-steps-line-height);left:calc(50% + var(--ti-steps-icon-size)/ 2 + var(--ti-steps-line-margin-horizontal));top:calc((var(--ti-steps-icon-size) - var(--ti-steps-line-height))/ 2);position:absolute}.tiny-timeline .tiny-steps-normal.text-bottom .line.line-end{width:0}.tiny-timeline .tiny-steps-normal .tiny-timeline-item__description{position:absolute;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);min-width:var(--ti-steps-description-min-width);text-align:left}.tiny-timeline .tiny-steps-normal .process-current .node-description .name{color:var(--ti-steps-advanced-active-text-color);font-weight:var(--ti-steps-active-font-weight)}.tiny-timeline .show-divider .tiny-timeline-item{padding-bottom:calc(var(--ti-steps-bottom-divider-margin-top) + var(--ti-steps-bottom-divider-height))}.tiny-timeline .show-divider .tiny-timeline-item.process-current:after{content:"";display:inline-block;position:absolute;bottom:0;left:calc(var(--ti-steps-line-margin-horizontal) + var(--ti-steps-icon-size)/ 2 - 7px);border:7px solid transparent;border-top:none;border-bottom-color:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .show-divider .tiny-timeline-item:first-child.process-current:after{content:"";display:inline-block;position:absolute;bottom:0;left:calc(var(--ti-steps-icon-size)/ 2 - 7px);border:7px solid transparent;border-top:none;border-bottom-color:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .show-divider+.tiny-steps__bottom-divider{position:absolute;bottom:0;width:100%;height:var(--ti-steps-bottom-divider-height);margin-top:calc(var(--ti-steps-bottom-divider-margin-top) - 4px);background-color:var(--ti-steps-bottom-divider-bg-color)}.tiny-timeline .tiny-steps-timeline{font-size:var(--ti-steps-timeline-name-font-size);color:var(--ti-steps-timeline-date-time-text-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot{padding-top:4px}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__pillar .line{width:var(--ti-steps-line-height);margin-block:var(--ti-steps-timeline-line-margin-vertical);background-color:var(--ti-steps-timeline-vertical-line-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content{margin-left:var(--ti-steps-timeline-shape-dot-content-margin-left)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--primary .dot{border-color:var(--ti-steps-timeline-dot-primary-bg-color);background-color:var(--ti-steps-timeline-dot-primary-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--success .dot{border-color:var(--ti-steps-timeline-dot-success-bg-color);background-color:var(--ti-steps-timeline-dot-success-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--warning .dot{border-color:var(--ti-steps-timeline-dot-warning-bg-color);background-color:var(--ti-steps-timeline-dot-warning-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--danger .dot{border-color:var(--ti-steps-timeline-dot-danger-bg-color);background-color:var(--ti-steps-timeline-dot-danger-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--info .dot{border-color:var(--ti-steps-timeline-dot-info-bg-color);background-color:var(--ti-steps-timeline-dot-info-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content{margin-top:-5px}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content .name{margin-bottom:var(--ti-steps-timeline-item-title-margin-bottom)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content .time{color:var(--ti-steps-timeline-item-secondary-text-color);font-size:var(--ti-steps-timeline-item-secondary-text-font-size)}.tiny-timeline .tiny-steps-timeline .timeline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-timeline .tiny-steps-timeline .timeline.process-done{color:var(--ti-steps-done-text-color)}.tiny-timeline .tiny-steps-timeline .timeline.process-current{color:var(--ti-steps-advanced-active-text-color)}.tiny-timeline .tiny-steps-timeline .timeline:last-child .tiny-timeline-item__pillar .line{-webkit-box-flex:0;-ms-flex:0;flex:0}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch;width:var(--ti-steps-timeline-dot-width)}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar .line{width:var(--ti-steps-line-height);-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar .line .tiny-svg{vertical-align:baseline}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar .icon{left:0}.tiny-timeline .tiny-steps-timeline .timeline .date-time{width:var(--ti-steps-timeline-vertical-left-width);padding-right:var(--ti-steps-timeline-vertical-line-margin-left);padding-bottom:var(--ti-steps-timeline-item-padding-bottom);text-align:right}.tiny-timeline .tiny-steps-timeline .timeline .date-time .time{display:block;line-height:1}.tiny-timeline .tiny-steps-timeline .timeline .date-time .date{display:block;line-height:1;margin-bottom:4px}.tiny-timeline .tiny-steps-timeline .timeline .dot-container{padding:var(--ti-steps-timeline-dot-margin-bottom);position:relative}.tiny-timeline .tiny-steps-timeline .timeline .dot-container .fixicons{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-timeline .tiny-steps-timeline .timeline .dot{display:block;width:var(--ti-steps-timeline-dot-width);height:var(--ti-steps-timeline-dot-width);border:1px solid var(--ti-steps-timeline-dot-border-color);border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--ti-steps-timeline-dot-bg-color)}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__content{padding-bottom:var(--ti-steps-timeline-item-padding-bottom);margin-left:var(--ti-steps-timeline-vertical-line-margin-right)}.tiny-timeline .tiny-steps-timeline .timeline .icon{top:0}.tiny-timeline--mini .icon{width:var(--ti-steps-mini-icon-size);height:var(--ti-steps-mini-icon-size)}.tiny-timeline--mini .process-done .icon .tiny-svg,.tiny-timeline--mini .process-done .icon span,.tiny-timeline--mini .process-error .icon .tiny-svg,.tiny-timeline--mini .tiny-svg,.tiny-timeline--mini span{font-size:var(--ti-steps-mini-number-font-size)}.tiny-timeline--mini .node-description .name,.tiny-timeline--mini .node-description .status{font-size:var(--ti-steps-mini-font-size-base)}.tiny-mobile-steps{--ti-mobile-steps-timeline-date-time-text-color:var(--ti-mobile-common-color-text-primary, #191919);--ti-mobile-steps-advanced-line-height:28px;--ti-mobile-steps-advanced-li-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-steps-advanced-active-bg-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-advanced-li-text-color:var(--ti-mobile-common-color-text-white, #fff);--ti-mobile-steps-line-bg-color:var(--ti-mobile-common-bg-color-weaken, #dbdbdb);--ti-mobile-steps-icon-size:20px;--ti-mobile-steps-icon-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-steps-unselected-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-steps-font-size-base:12px;--ti-mobile-steps-done-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-steps-done-icon-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-steps-done-icon-fill-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-done-active-border-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-line-active-bg-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-line-height:1px;--ti-mobile-steps-timeline-name-font-size:14px;--ti-mobile-steps-timeline-bg-color-normal:var(--ti-mobile-common-status-bg-color-normal, #fff);--ti-mobile-steps-timeline-bg-color-success:var(--ti-mobile-common-status-bg-color-success, #5bd475);--ti-mobile-steps-timeline-bg-color-error:var(--ti-mobile-common-status-bg-color-error, #eb5454);--ti-mobile-steps-timeline-bg-color-handing:var(--ti-mobile-common-status-bg-color-handing, #4a79fe);--ti-mobile-steps-arrow-btn-border-color:var(--ti-mobile-common-color-text-weaken-dark, #999);color:var(--ti-mobile-steps-timeline-date-time-text-color)}.tiny-mobile-steps .line{background:var(--ti-mobile-steps-line-bg-color)}.tiny-mobile-steps .icon{width:var(--ti-mobile-steps-icon-size);height:var(--ti-mobile-steps-icon-size);line-height:var(--ti-mobile-steps-icon-size);position:relative;text-align:center;left:calc(50% - 10px);top:4px;border-radius:50%;background:var(--ti-mobile-steps-icon-bg-color);color:var(--ti-mobile-steps-unselected-text-color);cursor:pointer;z-index:15}.tiny-mobile-steps .date-time{text-align:center}.tiny-mobile-steps .node-description{position:relative;margin-top:4px;overflow:hidden;text-align:center}.tiny-mobile-steps .node-description .name,.tiny-mobile-steps .node-description .status{font-size:var(--ti-mobile-steps-font-size-base);float:left;width:100%}.tiny-mobile-steps .process-done .node-description{color:var(--ti-mobile-steps-done-text-color)}.tiny-mobile-steps .process-done .icon{background:var(--ti-mobile-steps-done-icon-bg-color);color:var(--ti-mobile-steps-done-icon-fill-color);width:var(--ti-mobile-steps-icon-size);height:var(--ti-mobile-steps-icon-size);line-height:var(--ti-mobile-steps-icon-size);font-size:var(--ti-mobile-steps-icon-size)}.tiny-mobile-steps .process-done .icon .tiny-svg{fill:var(--ti-mobile-steps-done-icon-fill-color);vertical-align:baseline;border:1px solid var(--ti-mobile-steps-done-active-border-color);border-radius:50%;padding:2px}.tiny-mobile-steps .process-done .line{background:var(--ti-mobile-steps-line-active-bg-color)}.tiny-mobile-steps .process-current .node-description{color:var(--ti-mobile-steps-done-text-color)}.tiny-mobile-steps .process-current .icon{border:none;background:var(--ti-mobile-steps-advanced-active-bg-color);color:var(--ti-mobile-steps-advanced-li-text-color);font-size:var(--ti-mobile-steps-font-size-base)}.tiny-mobile-steps .process-wait .icon{border:1px solid var(--ti-mobile-steps-unselected-text-color);-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--ti-mobile-steps-font-size-base)}.tiny-mobile-steps .reverse .process-current .line{background:var(--ti-mobile-steps-line-active-bg-color)}.tiny-mobile-steps .tiny-mobile-steps-normal{overflow:hidden}.tiny-mobile-steps .tiny-mobile-steps-normal .normal{display:block;float:left}.tiny-mobile-steps .tiny-mobile-steps-normal .line{height:var(--ti-mobile-steps-line-height);left:50%;top:-6px;position:relative}.tiny-mobile-steps .tiny-mobile-steps-normal .line-end{width:0}.tiny-mobile-steps .tiny-mobile-steps-normal .process-done .line{background:var(--ti-mobile-steps-line-active-bg-color)}.tiny-mobile-steps .tiny-mobile-steps-normal .process-current .name{color:var(--ti-mobile-steps-advanced-active-bg-color);font-weight:700}.tiny-mobile-steps .tiny-mobile-steps-normal .icon{font-weight:600}.tiny-mobile-steps .tiny-mobile-steps-normal .icon span{display:inline-block}.tiny-mobile-steps .tiny-mobile-steps-timeline{overflow:hidden;font-size:var(--ti-mobile-steps-timeline-name-font-size);color:var(--ti-mobile-steps-timeline-date-time-text-color)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline li{position:relative}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .date-time-vertical{width:100px;font-size:10px;line-height:1.2;text-align:right;padding-right:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round{position:relative;width:7px;height:7px;border-radius:50%;z-index:10}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-normal{border:1px solid var(--ti-mobile-steps-unselected-text-color);-webkit-box-sizing:border-box;box-sizing:border-box;background:var(--ti-mobile-steps-timeline-bg-color-normal)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-success{background:var(--ti-mobile-steps-timeline-bg-color-success)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-error{background:var(--ti-mobile-steps-timeline-bg-color-error)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-handing{background:var(--ti-mobile-steps-timeline-bg-color-handing)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .name{margin-left:12px;height:36px;line-height:36px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .arrow-btn{position:absolute;cursor:pointer;right:16px;width:20px;height:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .arrow-btn-arrow{width:8px;height:8px;border-color:var(--ti-mobile-steps-arrow-btn-border-color);border-style:solid;border-width:2px 2px 0 0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .arrow-btn-arrow-fold{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .content{margin-left:19px;margin-right:10px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .content-left-margin{margin-left:119px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .line{width:var(--ti-mobile-steps-line-height);position:absolute;left:3px;top:0;bottom:0;z-index:1}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .line .tiny-svg{vertical-align:baseline}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .line-left-margin{left:103px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline:first-child .line{top:18px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline:last-child .line{height:18px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .date-time{width:100px;float:left;padding-right:20px;text-align:right}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .date-time .time{display:block;line-height:1}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .date-time .date{display:block;line-height:1;margin-bottom:4px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline.process-done{color:var(--ti-mobile-steps-done-text-color)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline.process-current{color:var(--ti-mobile-steps-advanced-active-bg-color)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .name{float:left;margin-left:20px;line-height:1.45em}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .icon{top:0}.tiny-mobile-steps.mobile{padding-left:10%}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline{overflow:inherit}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .tiny-icon{font-size:45px}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .timeline .line .icon{width:45px;line-height:45px;height:45px;font-size:var(--ti-mobile-steps-font-size-7);position:relative;left:-20px}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .timeline .name{margin-left:30px;font-size:26px}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .timeline>div{margin-left:20px}
diff --git a/admin-website/src/main/resources/static/assets/index-ae32e3e8.css b/admin-website/src/main/resources/static/assets/index-ae32e3e8.css
deleted file mode 100644
index 97be44a..0000000
--- a/admin-website/src/main/resources/static/assets/index-ae32e3e8.css
+++ /dev/null
@@ -1 +0,0 @@
-.col[data-v-dec666ba]{height:150px;text-align:center;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d}.col[data-v-dec666ba]:hover{box-shadow:0 3px 10px #4062e173}.font[data-v-dec666ba]{font-weight:600;font-size:48px;line-height:36px;text-align:left}.col>div[data-v-dec666ba]{padding:15px 0;color:#252b3a;font-weight:400;font-size:18px;line-height:14px;text-align:center}.col>div .plan-pass[data-v-dec666ba]{color:#f05d0a;font-weight:600;font-size:48px;line-height:36px;text-align:left}.col>div .plan-fail[data-v-dec666ba]{color:#252b3a;font-weight:600;font-size:48px;line-height:36px;text-align:left}.col>div .num[data-v-dec666ba]{color:#adb0b8;font-size:14px;line-height:14px}.title[data-v-dec666ba]{display:flex;align-items:center;justify-content:center}.title img[data-v-dec666ba]{padding-right:10px}@media (max-width: 1600px){.col>div[data-v-dec666ba]{font-size:10px}.col>div .plan-pass[data-v-dec666ba],.col>div .plan-fail[data-v-dec666ba]{font-size:24px}}.col[data-v-5b4740cd]{display:flex;justify-content:space-around;min-height:150px;text-align:center;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d}.col[data-v-5b4740cd]:hover{box-shadow:0 3px 10px #4062e173}.num[data-v-5b4740cd]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.left[data-v-5b4740cd],.right[data-v-5b4740cd]{width:50%}.left[data-v-5b4740cd],.right[data-v-5b4740cd]{display:flex;flex-direction:column;align-items:center;justify-content:center}.left-title[data-v-5b4740cd]{display:flex;align-items:center;justify-content:center;color:#4e5969;font-weight:400;font-size:18px;line-height:14px}.left-content[data-v-5b4740cd]{display:flex;align-items:flex-end;justify-content:center;padding-bottom:15px}.divider[data-v-5b4740cd]{width:1px;height:41px;margin:8% 20px 0;background:#7b7e84;opacity:.3}.coach-select[data-v-5b4740cd]{display:flex;align-items:center;justify-content:space-between;padding:12px 8px}.coach-select h3[data-v-5b4740cd]{width:20%;color:#575d6c;font-size:16px;line-height:14px;text-align:left}.coach-select div[data-v-5b4740cd]{width:323px}.coach-select[data-v-5b4740cd] .tiny-input{background-color:#f5f6f7}.coach-select[data-v-5b4740cd] .tiny-input input{border-radius:17px}@media (max-width: 1600px){.num[data-v-5b4740cd]{font-size:24px}.left-title[data-v-5b4740cd]{font-size:10px}}.margin-bottom[data-v-1dcb662d]{display:flex;align-items:center;justify-content:center;width:98.5%;height:150px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d}.margin-bottom[data-v-1dcb662d]:hover{box-shadow:0 3px 10px #4062e173}.col[data-v-1dcb662d]{text-align:center}.col>span[data-v-1dcb662d]{display:flex;flex-direction:column;padding:10px;text-align:center}.col>span[data-v-1dcb662d]:last-child{color:#4e5969;font-weight:400;font-size:18px;line-height:14px}.divider[data-v-1dcb662d]{width:1px;height:41px;margin:0 20px;background:#7b7e84;opacity:.3}.font[data-v-1dcb662d],.font-pass[data-v-1dcb662d]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.font-fail[data-v-1dcb662d]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left;color:#2f5bea}@media (max-width: 1600px){.font-pass[data-v-1dcb662d]{font-size:24px}.col>span[data-v-1dcb662d]:last-child{font-size:10px}}.margin-bottom[data-v-999aa533]{display:flex;align-items:center;justify-content:center;width:98.5%;height:150px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d}.margin-bottom[data-v-999aa533]:hover{box-shadow:0 3px 10px #4062e173}.col[data-v-999aa533]{text-align:center}.col>span[data-v-999aa533]{display:flex;flex-direction:column;padding:10px;text-align:center}.col>span[data-v-999aa533]:last-child{color:#4e5969;font-weight:400;font-size:18px;line-height:14px}.divider[data-v-999aa533]{width:1px;height:41px;margin:0 20px;background:#7b7e84;opacity:.3}.font[data-v-999aa533],.font-pass[data-v-999aa533]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.font-fail[data-v-999aa533]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left;color:#2f5bea}.practiced-select[data-v-999aa533]{display:flex;align-items:center;justify-content:space-between;padding:12px 8px}.practiced-select h3[data-v-999aa533]{width:20%;color:#575d6c;font-size:16px;line-height:14px;text-align:left}.practiced-select div[data-v-999aa533]{width:323px}.practiced-select[data-v-999aa533] .tiny-input{background-color:#f5f6f7}.practiced-select[data-v-999aa533] .tiny-input input{border-radius:17px}@media (max-width: 1600px){.font-pass[data-v-999aa533]{font-size:24px}.col>span[data-v-999aa533]:last-child{font-size:10px}}.margin-bottom[data-v-cff1f1d5]{display:flex;align-items:center;justify-content:center;width:98.5%;height:150px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d}.margin-bottom[data-v-cff1f1d5]:hover{box-shadow:0 3px 10px #4062e173}.col[data-v-cff1f1d5]{text-align:center}.col>span[data-v-cff1f1d5]{display:flex;flex-direction:column;padding:10px;text-align:center}.col>span[data-v-cff1f1d5]:last-child{color:#4e5969;font-weight:400;font-size:18px;line-height:14px}.divider[data-v-cff1f1d5]{width:1px;height:41px;margin:0 20px;background:#7b7e84;opacity:.3}.font[data-v-cff1f1d5],.font-pass[data-v-cff1f1d5]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left}.font-fail[data-v-cff1f1d5]{color:#575d6c;font-weight:600;font-size:30px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:36px;text-align:left;color:#2f5bea}.train-select[data-v-cff1f1d5]{display:flex;align-items:center;justify-content:space-between;padding:15px 8px}.train-select h3[data-v-cff1f1d5]{width:20%;color:#575d6c;font-size:16px;line-height:14px;text-align:left}.train-select div[data-v-cff1f1d5]{width:323px;box-shadow:0 4px 12px #0000000d}.train-select[data-v-cff1f1d5] .tiny-input input{border-radius:17px}@media (max-width: 1600px){.font-pass[data-v-cff1f1d5]{font-size:24px}.col>span[data-v-cff1f1d5]:last-child{font-size:10px}}.container-work[data-v-9c8c59f2]{width:98%;height:inherit;margin:0 auto;overflow:auto;background:#f6f8f9}.container-work .work-image[data-v-9c8c59f2]{width:99%;margin:0 auto}.container-work .work-image img[data-v-9c8c59f2]{width:100%;min-height:50px}.content[data-v-9c8c59f2]{display:flex;justify-content:space-between;padding-bottom:10px}.content .font[data-v-9c8c59f2]{padding:12px 8px;color:#575d6c;font-size:16px;line-height:14px}.content .left[data-v-9c8c59f2]{width:80%}.content .left .card[data-v-9c8c59f2]{display:flex;flex-direction:column;min-height:150px}.content .left .card h3[data-v-9c8c59f2]{padding:12px 8px;color:#575d6c;font-size:16px;line-height:14px}.content .right[data-v-9c8c59f2]{width:19%;padding-right:10px}.content .right h3[data-v-9c8c59f2]{padding:12px 8px;color:#575d6c;font-size:16px;line-height:14px}.content .right .more[data-v-9c8c59f2]{min-height:369px}.content .right .less[data-v-9c8c59f2]{min-height:156px}.content .right .card[data-v-9c8c59f2]{display:flex;flex-direction:column;justify-content:space-evenly;padding:20px;color:#010407;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000000d}.content .right .card dl dt[data-v-9c8c59f2]{margin-top:10px;margin-left:10px;font-weight:bolder;font-size:16px;font-family:PingFang SC,PingFang SC-PingFang SC;line-height:15px;text-align:left}.content .right .card dl dd[data-v-9c8c59f2]{padding:10px}.content .right .card dl dd a[data-v-9c8c59f2]{color:#999;text-decoration:none}.content .right .card[data-v-9c8c59f2]:hover{box-shadow:0 3px 10px #4062e173}.col>span[data-v-9c8c59f2]{display:flex;flex-direction:column;padding:10px;text-align:center}.col>span[data-v-9c8c59f2]:first-child{color:#010407;font-weight:500}.col>span[data-v-9c8c59f2]:last-child{font-weight:900;font-size:large}
diff --git a/admin-website/src/main/resources/static/assets/index-b3eaa8bc.js b/admin-website/src/main/resources/static/assets/index-b3eaa8bc.js
deleted file mode 100644
index 9cd978a..0000000
--- a/admin-website/src/main/resources/static/assets/index-b3eaa8bc.js
+++ /dev/null
@@ -1 +0,0 @@
-import{d as C,r as I,a8 as V,c as N,u,y as D,H as r,W as t,l as e,w as o,E as _,v as f,M,N as q,J as T,Z as F,_ as G,k as U}from"./vue-fdfdc7c1.js";import{q as g,t as b,_ as L,I as P,B as O}from"./index-387d5142.js";import{a as d,G as R,R as Y,C as E}from"./index-c544811c.js";import{D as H}from"./index-ebd49e8e.js";import{F as S,a as j}from"./index-71dedec5.js";import{t as k}from"./time-ae4bc627.js";import"./index-cd31dfea.js";import{G as A}from"./index-3d632649.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-10398010.js";import"./index-51ecf215.js";import"./warning-triangle-0392a7a8.js";function z(a){return g({url:"/api/admin/v1/scb/admin/observability/searchTrace",params:{timestamp:a.timestamp,traceId:a.traceId}})}function J(a){return g({url:"/api/admin/v1/scb/admin/observability/searchLog",params:{timestamp:a.timestamp,traceId:a.traceId}})}function W(a){return g({url:"/api/admin/v1/scb/observability/downloadLog",params:a})}function Z(a){return g.get("/api/admin/v1/scb/admin/observability/downloadMetrics",{params:a})}const K={key:1},Q=["onClick"],X=["onClick"],tt=C({__name:"call-chain-list",props:{traceData:{type:Array,default(){return[]}},listTypes:{type:String,default(){return b.TYPE_LIST}},timestamp:{type:String,default(){return""}}},setup(a,{expose:v}){const m=a,p=I(),h=V({traceData:N(()=>m.traceData)}),s=()=>{p.value.clearRowExpand()},y=(l,n)=>{const c=window.URL.createObjectURL(new Blob([l],{type:"text/plain"})),i=document.createElement("a");i.href=c,i.setAttribute("download",n),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(c)},x=(l,n)=>{const c={serviceName:l,timestamp:m.timestamp,instanceId:n};W(c).then(i=>{y(i,"Log.txt")})},w=(l,n)=>{const c={serviceName:l,timestamp:m.timestamp,instanceId:n};Z(c).then(i=>{y(i,"Metrics.txt")})};return v({clearExpand:s}),(l,n)=>(u(),D(t(R),{ref_key:"listRef",ref:p,resizable:"","seq-serial":"",data:h.traceData},{toolbar:r(()=>[e(t(A),null,{default:r(()=>[o("span",null,_(a.listTypes===t(b).TYPE_LOGS?"日志":"调用链")+"列表",1)]),_:1})]),default:r(()=>[e(t(d),{type:"index",width:"60"}),e(t(d),{width:"60"}),e(t(d),{type:"expand",title:"data",width:"60"},{default:r(c=>[a.listTypes===t(b).TYPE_LIST?(u(),D(t(R),{key:0,data:c.row.data},{default:r(()=>[e(t(d),{field:"name",title:"name","show-overflow":""}),e(t(d),{field:"duration",title:"duration"}),e(t(d),{field:"traceId",title:"http.status_code"},{default:r(i=>[o("div",null,_(i.row.tags["http.status_code"]),1)]),_:2},1024),e(t(d),{field:"timestamp",title:"timestamp"},{default:r(i=>[o("div",null,_(t(k)(i.row.timestamp/1e3,!1)),1)]),_:2},1024),e(t(d),{field:"http.route",title:"http.route"},{default:r(i=>[o("div",null,_(i.row.tags["http.route"]),1)]),_:2},1024)]),_:2},1032,["data"])):(u(),f("div",K,[(u(!0),f(M,null,q(c.row.data,(i,$)=>(u(),f("div",{key:$,class:"logs-list"},_(i),1))),128))]))]),_:1}),e(t(d),{field:"application",title:"application"}),e(t(d),{field:"instanceId",title:"instanceId"}),e(t(d),{field:"localhost",title:"localhost"}),e(t(d),{field:"serviceName",title:"serviceName"}),e(t(d),{title:"操作",width:"150"},{default:r(c=>[o("div",null,[o("span",{class:"list-operation",onClick:i=>x(c.row.serviceName,c.row.instanceId)},"查看日志",8,Q),T(" |  "),o("span",{class:"list-operation",onClick:i=>w(c.row.serviceName,c.row.instanceId)},"查看Metrics",8,X)])]),_:1})]),_:1},8,["data"]))}});const B=L(tt,[["__scopeId","data-v-7c5944f6"]]),et=a=>(F("data-v-69e5064f"),a=a(),G(),a),at={class:"main"},st=et(()=>o("div",{class:"main-title"},[o("span"),o("p",null,"调用链搜索")],-1)),it={class:"main-content"},rt={class:"main-content-form"},ot={class:"main-content-search"},lt={class:"clear-expand"},nt={class:"main-list"},ct=C({__name:"main",setup(a){const v={traceId:[{required:!0,message:"必填",trigger:"blur"}],startTime:[{required:!0,message:"请选择时间"}]},m=I(),p=I(),h=I(),s=V({filterOptions:{startTime:"",traceId:""},timestamp:"",traceData:[],listData:[],validType:"text",rules:{traceId:[{required:!0,message:"必填",trigger:"blur"}],startTime:[{required:!0,message:"请选择时间"}]}}),y=()=>{m.value.validate(w=>{if(w){const l=new Date(s.filterOptions.startTime);s.timestamp=k(l,!0),z({timestamp:s.timestamp,traceId:s.filterOptions.traceId}).then(n=>{s.traceData=n}),J({timestamp:k(l,!0),traceId:s.filterOptions.traceId}).then(n=>{s.listData=n})}})},x=()=>{p.value.clearExpand(),h.value.clearExpand()};return(w,l)=>(u(),f("div",at,[st,o("div",it,[o("div",rt,[e(t(j),{ref_key:"searchForm",ref:m,model:s.filterOptions,"validate-type":s.validType,rules:v,"label-width":"100px",class:"demo-form"},{default:r(()=>[e(t(Y),null,{default:r(()=>[e(t(E),{span:6},{default:r(()=>[e(t(S),{label:"Trace-Id:",prop:"traceId"},{default:r(()=>[e(t(P),{modelValue:s.filterOptions.traceId,"onUpdate:modelValue":l[0]||(l[0]=n=>s.filterOptions.traceId=n),clearable:""},null,8,["modelValue"])]),_:1})]),_:1}),e(t(E),{span:6},{default:r(()=>[e(t(S),{label:"大概时间:",prop:"startTime"},{default:r(()=>[e(t(H),{modelValue:s.filterOptions.startTime,"onUpdate:modelValue":l[1]||(l[1]=n=>s.filterOptions.startTime=n),type:"datetime"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model","validate-type"])]),o("div",ot,[e(t(O),{type:"primary",onClick:y},{default:r(()=>[T("搜索")]),_:1})])]),o("div",lt,[e(t(O),{onClick:x},{default:r(()=>[T("手动清空展开行状态")]),_:1})]),o("div",nt,[e(B,{ref_key:"chainRef",ref:p,timestamp:s.timestamp,"trace-data":s.traceData},null,8,["timestamp","trace-data"]),e(B,{ref_key:"logsRef",ref:h,timestamp:s.timestamp,"trace-data":s.listData,"list-types":t(b).TYPE_LOGS},null,8,["timestamp","trace-data","list-types"])])]))}});const dt=L(ct,[["__scopeId","data-v-69e5064f"]]),mt={class:"container"},pt={class:"contain"},ut=C({__name:"index",setup(a){return(v,m)=>{const p=U("Breadcrumb");return u(),f("div",mt,[o("div",pt,[e(p,{items:["menu.cloud","menu.cloud.locate.problems"]}),e(dt)])])}}});const Lt=L(ut,[["__scopeId","data-v-e19f70fa"]]);export{Lt as default};
diff --git a/admin-website/src/main/resources/static/assets/index-bef6c761.css b/admin-website/src/main/resources/static/assets/index-bef6c761.css
deleted file mode 100644
index 438ec46..0000000
--- a/admin-website/src/main/resources/static/assets/index-bef6c761.css
+++ /dev/null
@@ -1 +0,0 @@
-[data-v-b595ccc3] .tiny-select{width:380px}.container[data-v-74df977c]{height:100%}.container-form[data-v-74df977c]{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 60px);overflow-x:hidden;overflow-y:auto}.base-card[data-v-74df977c]{flex:1 1 auto;margin:8px 10px;padding:22px 20px 60px;background:#fff;border-radius:10px;box-shadow:0 0 8px 8px #a9aeb80d}.base-card .card-tip[data-v-74df977c]{padding-left:40px;font-size:12px;font-weight:400;text-align:left;color:#e37d29;line-height:18px}.base-card .card-tip[data-v-74df977c] .tiny-scroll-text{width:100%;background:#e6f7ff}.base-card[data-v-74df977c] .tiny-collapse-item{margin-bottom:20px}.base-card .frequency[data-v-74df977c]{width:200px}.base-foot[data-v-74df977c]{padding-top:10px}[data-v-74df977c] .tiny-button{width:100px;height:36px;border-radius:4px}[data-v-74df977c] .tiny-collapse-item__arrow.is-active{fill:var(--ti-common-color-text-highlight)}[data-v-74df977c] .tiny-collapse-item__header svg{fill:var(--ti-common-color-text-highlight)}
diff --git a/admin-website/src/main/resources/static/assets/index-c491dbf8.css b/admin-website/src/main/resources/static/assets/index-c491dbf8.css
deleted file mode 100644
index f74f012..0000000
--- a/admin-website/src/main/resources/static/assets/index-c491dbf8.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-select-dropdown{--ti-option-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-option-font-size:var(--ti-common-font-size-base, 12px);--ti-option-height:30px;--ti-option-line-height:var(--ti-common-line-height-number, 1.5);--ti-option-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-option-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-option-disabled-bg-color:var(--ti-common-color-light, #fff);--ti-option-bg-color-selected:var(--ti-common-color-light, #fff);--ti-option-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-option-hover-bg-color-selected:var(--ti-common-color-hover-background, #f2f5fc);--ti-option-selected-bg-color-hover:var(--ti-common-color-selected-background, #5e7ce0);--ti-option-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-option-selected-font-weight:var(--ti-common-font-weight-4, normal);--ti-option-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-option-checkbox-border-color-hover:var(--ti-common-color-line-normal, #adb0b8);--ti-option-checkbox-all-select-border-color-hover:var(--ti-common-color-line-normal, #adb0b8);--ti-option-icon-color-selected:var(--ti-common-color-selected-background, #5e7ce0);--ti-option-padding-vertical:var(--ti-common-space-0, 0px);--ti-option-padding-horizontal:var(--ti-common-space-10, 10px);--ti-option-padding-horizontal-group:calc((var(--ti-common-space-10, 10px) + var(--ti-common-space-1, 1px)) * 2);--ti-option-margin-top:var(--ti-common-size-0, 0px);--ti-option-highlight-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-option-highlight-selected-text-color:var(--ti-common-color-text-white, #fff);--ti-option-icon-margin-right:var(--ti-common-space-2x, 8px);--ti-option-icon-size:var(--ti-common-font-size-2, 16px)}.tiny-select-dropdown.is-multiple .tiny-option.selected{color:var(--ti-option-text-color);background-color:var(--ti-option-bg-color-selected)}.tiny-select-dropdown.is-multiple .tiny-option.selected:hover{background-color:var(--ti-option-hover-bg-color-selected)}.tiny-select-dropdown.is-multiple .tiny-option.selected.is-disabled{color:var(--ti-option-disabled-text-color)}.tiny-select-dropdown.is-multiple .tiny-option.selected.is-disabled:hover{background-color:var(--ti-option-disabled-bg-color)}.tiny-select-dropdown.is-multiple .tiny-option.selected .tiny-option__checkbox-wrap{color:var(--ti-option-selected-text-color)}.tiny-option{position:relative;color:var(--ti-option-text-color);font-size:var(--ti-option-font-size);height:var(--ti-option-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:var(--ti-option-margin-top);border-radius:var(--ti-option-border-radius)}.tiny-option>.tiny-option__label{display:inline-block;width:100%;text-overflow:ellipsis;overflow:hidden}.tiny-option>.tiny-option__icon{font-size:var(--ti-option-icon-size);margin-right:var(--ti-option-icon-margin-right)}.tiny-option.is-disabled{color:var(--ti-option-disabled-text-color);cursor:not-allowed}.tiny-option.hover,.tiny-option:hover{background-color:var(--ti-option-hover-bg-color)}.tiny-option.hover.is-disabled,.tiny-option:hover.is-disabled{background-color:var(--ti-option-disabled-bg-color)}.tiny-option:not(.is-disabled):not(.selected):hover .tiny-checkbox__inner{border-color:var(--ti-option-checkbox-border-color-hover)}.tiny-option:not(.is-disabled):not(.selected):hover .checked-sur .tiny-checkbox__inner,.tiny-option:not(.is-disabled):not(.selected):hover .halfselect .tiny-checkbox__inner{border-color:var(--ti-option-checkbox-all-select-border-color-hover)}.tiny-option .tiny-option-checkbox{vertical-align:top}.tiny-option .tiny-option-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-option .tiny-option-wrapper.calc-width{width:calc(100% - 24px)}.tiny-option .tiny-option-wrapper.full-width{width:100%}.tiny-option .tiny-option-label{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-option.selected{color:var(--ti-option-selected-text-color);background-color:var(--ti-option-selected-bg-color);font-weight:var(--ti-option-selected-font-weight)}.tiny-option.selected:hover{background-color:var(--ti-option-selected-bg-color-hover)}.tiny-option .tiny-checkbox{vertical-align:middle;margin-bottom:2px}.tiny-option .checked-sur .tiny-checkbox__label,.tiny-option .halfselect .tiny-checkbox__label{font-weight:var(--ti-option-selected-font-weight)}.tiny-option.memorize-highlight{color:var(--ti-option-highlight-text-color)}.tiny-option.memorize-highlight.selected{color:var(--ti-option-highlight-selected-text-color)}.tiny-select-dropdown{--ti-select-dropdown-border-color:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-border-weight:var(--ti-common-size-0, 0px);--ti-select-dropdown-border-style:var(--ti-common-border-style-solid, solid);--ti-select-dropdown-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-select-dropdown-bg-color:var(--ti-common-color-light, #fff);--ti-select-dropdown-box-shadow:var(--ti-common-shadow-2-down, 0 2px 8px 0 rgba(0, 0, 0, .2));--ti-select-dropdown-item-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-select-dropdown-margin-top:var(--ti-common-dropdown-gap, 2px);--ti-select-dropdown-max-height:248px;--ti-select-dropdown-empty-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-select-dropdown-empty-font-size:var(--ti-common-font-size-1, 14px);--ti-select-dropdown-empty-padding-horizontal:var(--ti-common-space-10, 10px);--ti-select-dropdown-empty-padding-vertical:var(--ti-common-space-6, 6px);--ti-select-dropdown-empty-image-width:var(--ti-common-size-16x, 64px);--ti-select-dropdown-empty-image-height:var(--ti-common-size-16x, 64px);--ti-select-dropdown-empty-image-margin-bottom:var(--ti-common-space-2x, 8px);--ti-select-dropdown-empty-line-height:var(--ti-common-line-height-number, 1.5);--ti-select-dropdown-padding-top:var(--ti-common-size-base, 4px);--ti-select-dropdown-padding-horizontal:var(--ti-common-size-0, 0px);--ti-select-dropdown-padding-bottom:var(--ti-common-space-base, 4px);--ti-select-dropdown-search-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-select-dropdown-line-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-select-dropdown-line-margin-vertical:var(--ti-common-size-0, 0px);--ti-select-dropdown-line-margin-horizontal:var(--ti-common-space-2x, 8px);--ti-select-dropdown-line-height:var(--ti-common-font-size-1, 14px);--ti-select-dropdown-line-width:var(--ti-common-border-weight-normal, 1px);--ti-select-dropdown-svg-hover-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-select-dropdown-search-margin-top:calc(-1 * var(--ti-common-size-base));--ti-select-dropdown-search-margin-bottom:var(--ti-common-space-base, 4px);--ti-select-dropdown-search-margin-left:var(--ti-common-size-0, 0px);--ti-select-dropdown-search-margin-right:var(--ti-common-size-0, 0px);--ti-select-dropdown-search-width:100%;--ti-select-dropdown-search-border-width:var(--ti-common-size-0, 0px);--ti-select-dropdown-search-border-radius:var(--ti-common-border-radius-0, 0px);--ti-select-dropdown-search-border-color-left:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-search-border-color-right:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-search-border-color-top:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-search-suffix-display:"block";--ti-select-dropdown-search-prefix-display:none;--ti-select-dropdown-search-height:28px;--ti-select-dropdown-search-input-padding-right:54px;--ti-select-dropdown-search-input-padding-left:var(--ti-common-space-2x, 8px);--ti-select-dropdown-search-empty-padding-top:var(--ti-common-space-6, 6px);--ti-select-dropdown-search-empty-padding-bottom:var(--ti-common-space-6, 6px);--ti-select-dropdown-wrap-padding-bottom:var(--ti-common-space-0, 0px);--ti-select-dropdown-icon-size:var(--ti-common-font-size-1, 14px);--ti-select-dropdown-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-select-dropdown-top-create-text-color:var(--ti-common-color-text-link);--ti-select-dropdown-top-create-text-color-hover:var(--ti-common-color-text-link-hover);--ti-select-dropdown-top-create-icon-color:var(--ti-common-color-icon-active);--ti-select-dropdown-top-create-border-weight-bottom:var(--ti-common-border-weight-normal);--ti-select-dropdown-top-create-border-style-bottom:var(--ti-common-border-style-solid);--ti-select-dropdown-top-create-border-color-bottom:var(--ti-common-color-line-dividing);--ti-select-dropdown-loading-padding-vertical:var(--ti-common-space-6, 6px);--ti-select-dropdown-loading-padding-horizontal:var(--ti-common-space-10, 10px);position:absolute;z-index:1001;border:var(--ti-select-dropdown-border-weight) var(--ti-select-dropdown-border-style) var(--ti-select-dropdown-border-color);border-radius:var(--ti-select-dropdown-border-radius);background-color:var(--ti-select-dropdown-bg-color);-webkit-box-shadow:var(--ti-select-dropdown-box-shadow);box-shadow:var(--ti-select-dropdown-box-shadow);margin-top:var(--ti-select-dropdown-margin-top);-webkit-box-sizing:border-box;box-sizing:border-box;padding:var(--ti-select-dropdown-padding-top) var(--ti-select-dropdown-padding-horizontal) var(--ti-select-dropdown-padding-bottom)}.tiny-select-dropdown .tiny-tree{max-height:300px;overflow-y:auto}.tiny-select-dropdown.tiny-popper{margin:var(--ti-select-dropdown-margin-top) 0}.tiny-select-dropdown .tiny-scrollbar.is-empty{display:none}.tiny-select-dropdown .tiny-scrollbar.is-empty__list{padding:0}.tiny-select-dropdown .tiny-recycle-scroller{list-style:none}.tiny-select-dropdown .tiny-recycle-scroller__slot .tiny-select-dropdown__item{margin-bottom:4px}.tiny-select-dropdown .tiny-select-dropdown__search{margin:var(--ti-select-dropdown-search-margin-top) var(--ti-select-dropdown-search-margin-right) var(--ti-select-dropdown-search-margin-bottom) var(--ti-select-dropdown-search-margin-left);width:var(--ti-select-dropdown-search-width)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__inner{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:var(--ti-select-dropdown-search-border-width);background-color:var(--ti-select-dropdown-search-bg-color);height:var(--ti-select-dropdown-search-height);padding-right:var(--ti-select-dropdown-search-input-padding-right);padding-left:var(--ti-select-dropdown-search-input-padding-left);border-radius:var(--ti-select-dropdown-search-border-radius);border-top-color:var(--ti-select-dropdown-search-border-color-top);border-left-color:var(--ti-select-dropdown-search-border-color-left);border-right-color:var(--ti-select-dropdown-search-border-color-right)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__suffix{display:var(--ti-select-dropdown-search-suffix-display)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__suffix .tiny-svg{font-size:var(--ti-select-dropdown-icon-size);fill:var(--ti-select-dropdown-icon-color)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__suffix-inner{width:auto;height:auto}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__prefix{display:var(--ti-select-dropdown-search-prefix-display);left:0;font-size:0}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__prefix .tiny-svg{font-size:var(--ti-select-dropdown-icon-size);fill:var(--ti-select-dropdown-icon-color);margin-right:4px}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__prefix-inner{width:auto;height:auto}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-icon-close:after{content:"";display:inline-block;height:var(--ti-select-dropdown-line-height);width:var(--ti-select-dropdown-line-width);background-color:var(--ti-select-dropdown-line-bg-color);line-height:100%;vertical-align:middle;margin:var(--ti-select-dropdown-line-margin-vertical) var(--ti-select-dropdown-line-margin-horizontal)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-svg:hover{fill:var(--ti-select-dropdown-svg-hover-bg-color)}.tiny-select-dropdown .tiny-select-dropdown__search+div+.tiny-select-dropdown__empty-wrap{padding-top:var(--ti-select-dropdown-search-empty-padding-top);padding-bottom:var(--ti-select-dropdown-search-empty-padding-bottom)}.tiny-select-dropdown .tiny-select-dropdown__search+.tiny-scrollbar .tiny-select-dropdown__wrap .tiny-option-group:first-child .tiny-option-group__title{margin-top:0}.tiny-select-dropdown__loading{padding:var(--ti-select-dropdown-loading-padding-vertical) var(--ti-select-dropdown-loading-padding-horizontal);margin:0;text-align:center;color:var(--ti-select-dropdown-empty-text-color);font-size:var(--ti-select-dropdown-empty-font-size);line-height:var(--ti-select-dropdown-empty-line-height)}.tiny-select-dropdown__loading-svg{height:21px}.tiny-select-dropdown__empty{padding:var(--ti-select-dropdown-empty-padding-vertical) var(--ti-select-dropdown-empty-padding-horizontal);margin:0;text-align:center;color:var(--ti-select-dropdown-empty-text-color);font-size:var(--ti-select-dropdown-empty-font-size);line-height:var(--ti-select-dropdown-empty-line-height)}.tiny-select-dropdown__empty-images{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAADvVJREFUeF7tnQ1wVNUVgM95C9lACDRBAvt2DYmgWLD+gI42CQU7VhGYgiIqtvgzKAYoNdqxxj8aQGtRRxSqJerUKlqhCKiVFmkpKExsYcAaAYVCiGTffUGYCRJCsyT7Tuc8s7hFyP7k/ezbfXeGGWDvPfeec753z/177yK4KaMtgBmtvas8uABkOAQuAC4AGW6BDFff7QFcADLcAhmuvtsDuABkuAUyXH23B3AByHALZLj6bg/gApDhFshw9d0ewAUgwy2Q4eq7PYALQIZbIMPVd3uAOADIzc3t27t37wc1TbsdAPIBYLuqqpfGUTTls7gAnMFFUU6fDABnA3xzdoKI1MbGRjnlvRtHA10AoozUidOJAUBEICL+y7tCiAlx2Dfls2Q8AJ053ev1Yjgchvb2dvD5fNDc3AzHjh1jAH4lhJiX8t6No4EZCUBnTu/RowcOHz4cevXqBe+//75uwtLSUqisrISJEycCAyFJ0g8VRdkQh31TPkvGABDL6SNGjIApU6aALMswf/582L59Ozsa7rzzTv3/jxw5Atdddx2HAs7j3bZtW1vKezeOBqY1APE6fejQobqpduzYAXPnzoXDhw9Dfn4+zJkzBy666CL9t/Xr18Njjz3Gf21VVbVHHLZ1RJa0AyBRp0e89NZbb8GSJUv0Lv7CCy/Und+3b9+TTly8eDGsWrWK/62oqhpwhHfjaGRaAeD3+1/QNK08aspGPXv21GM6d+ORJz3aLsePH4cnn3wSPvjgA/2/b775Zr3b93g8/2e+iooK+OSTT3gAWCOEKI3Dto7IklYA+Hy+dgDwcOwuKSk5o9Mjnqmrq4OqqipoaGiAnJwcfaBXVlZ2WscxGAcPHuRxwYuKotztCO/G0ci0AkCW5cNEpPfbPXr0gHHjxsFdd90FWVlZ3zLFunXrYOHChdDa2gqDBg2CefPm6QPAM6UxY8ZAKBTiHmCaEOL3cdjWEVnSCoDi4uL+oVBoFRFdAQASe4C78muuuQbuv/9+3SFtbW2waNEieO+99/R/X3vttXDPPfeA1+vt1GFXXnll5PeBqqoecIR342hkWgEQ0ZcHgrm5uc8BwA1ExJ6lDRs2tNXW1mY9/fTTepfPvQI7fuzYsTHNtGvXLpg1axbnC6uq2i1mAQdlSEsAIvYnIvT7/b/QNK2lpqZmVVlZmSAiKTs7G8rLy2HChPhWc5ctWwbV1dUs9oiqqnkO8m/MpqY1AKdqP2DAgFZEPNnXFxYWwqRJk+Dqq68GhuJMiQeKHbOEz1RV/XrRIE1SRgHg8/m+BIB+t956q77My6N6ThwOzjnnHJg9e/Zpp4rTpk0DnjGk0yZQhN+MBODtt9/W1/r5qX722Wf1TZ6ORAUFBciA8AwikjhUHD16lAGoEkLMTZOHX1cjYwHo06cP8IBwzZo1bIdjiPgVEfE8ULcJTyN5hsCLQuPHjwdN09JqEyjjewBe+n399df5qT6OiFcpivKRz+cbgYiLoqeRUQPKNlVVvYiobwilS8rIHmDq1KmwdOlS9mG7JEkTFUXRu4FI6tOnT17Pnj0X8TQSAHh02E5EP29sbPxdujg+U3sAFQAGROK9JEl3KIryamdOHThwoK++vr4x3Z78jARAluU3iehmffCD+EshxFPp9kQnqk9GhYCioqLsEydOTJEkqS4YDH69/ZfhKaMAyHBfn1b9lANg8uTJnpqamuuJiNdpryAijtk5J2MW4hohxPhYzpRl+RJEvFXTtB/xsW5E3CqEuCpWua787vP5eDAZvbnQgoiNAPBPRHynpKRk1YoVK8JdqcPosikFgN/vH6dp2m8BoOhMimIMAIYNG9arqalpMRHdFr3OgYjrbQDgVDXqJUn62amzDqOdmoi8lAHA5/M9BACPdwzQFAB4FhG3Z2dn79i3bx8v4cZMhYWFeW1tbX8DAJ7PtxLRCx6PZ3l2dvbne/fuPRpTgMEZBg0aVNDa2noBEQ0HgAoi8ndU8ZCqqk8YXF1S4lICAL/ff7emaUs65uVViPhMMBj8b6IaybJ8ExEtQ8Q9Ho9nbENDw75EZZiVPxAI9CCi+zRNqwKAbpIklSuKom8x2plsByAQCFwbDof5dAZKknSboij6Ck0yqWOUPyE7O3ttXV3dV8nIMLuM3++fqmkarz2Qx+MZHwwG/2p2nZ3JtxWA0aNHd9uzZ88uIjoXAFKmWzTbIZFwh4j/Oe+884Zu3LiRzzLakmwFQJblHxPROwBwyOv1FtbX17faYgWLK+WeKhQK8bGyfog4QQjxrsVNOFmd3QC8TkQ/QcT5Qog5dhnBjnplWZ5HRI8i4htCiJ/a0Qau01YAfD6fvjaPiOcLIXYna4SioqIBoVDoHUR8Tgjxx2TlWFlOluXziegzADioqmpkf8LKJuh12QaALMtDiOhzAGhUVdXXFc0DgcCocDi8ERE3CyFGdkWWlWUjD0BWVtbQL774gmGwPNkGQGTqh4jLhBBTuqL54MGD+7W0tPBaQbPX6y1wylgisjklSdJMRVFs2Wq2DYAo5Q2ZD8uy/FHHQY7pqqq+1BWgrCob9RD8SQhxk1X1RtdjGwBGxf+IMrIs30JEbwBAi8fj+X4wGPzUDoMmUmdUGLRtHGALAEbG/2iDy7K8joh482d/Tk7OxXYs/yYCAOe1exxgCwBGxv9og/v9/r5E9A8iutDj8dwQDAZXJuoQq/PbPQ6wBQCj43+00zo2hEbn5+ev2blz54moEDEbAPj9rtPpvKu0tPSG6K3aQCCQL0nSdw4cOFBnJhR2jwNsAcDo+B+Pg2RZXk5EN54uLyIeyc3NLdy9e/fJFwR8Ph+fGOIp5WpErBBCNMRTT6J57B4HWA6AWfE/luGrqqqkl19+eRC/L3hq3l69eqnRzuff/X5/ORE9R0RZiHjY4/FMamho+DBWPcn8buc4wHIAzIr/yRg+VpnCwsKh7e3tLxFRCQAc9Xg8I4PBYG2scon+buc4wHIAzIz/iRo+nvzcY8iyzNvVYxHx09LS0kuMPtZl5zjAcgDsiP/xOLqzPB0rjfzkD5Ak6UZFUVZ0VeYp01fDlsUTbZelANgV/xM1yunyy7JcQkS/7t69+6wDBw7sNEJmtAy7xgGWAuCk+G+0g2PJs2scYCkATov/sZxm5O9RD8dyIYT+9pIVyVIAnBj/rXAC12FXeLQMALsUtMqBRtQT9YB8VwjBZyVMT5YB4Mb/2L6MCpEzFEXhY/KmJ8sAcON/bF/aMQ6wDAA3/scGwI4waQkAdigW29ypmcPqcYAlALjxP37YrB4HWAKAG//jB8DqcYAlALjxP34ArA6XpgNgtULxmzp1c1o5DjAdADf+Jw6aleMA0wFw43/iAFg5DjAdADf+Jw6AlWHTVACsVCRxM6d2CavGAaYC4Mb/5CGzahxgKgBu/E8eAKseHrMBCPGx6uTNkFTJLxBx+VlnnTWvtra2JSkJpykUCATODYfDv0HE0USUb5TcOOSYek+RqQD4fD7bPq2OiH+fPn36NVVVVVocRu40S1FRUVEoFPoXABR0VVYy5VVVNc1PpglmRSMA1NYafpT+jHbcunUrVFRUUHNzM3o8nnHBYPAvyRg9uowsyy8Q0YxLL71Uv2iS7xqyIvEVtpxcABK09iuvvKJfComIbwohbkmw+P9l7/iS2ZdElMdXzfDdQlYlF4AkLa2qqn5ZJL/Nk5OTc3ZXXhP3+/3jNU378+DBgyOXRyfZqsSLuQAkbrOTJfiuny1btnAvkPQXyPh9wurq6i386Vm+eZRvGrEyuQB0wdp803eHw8KIeH0y3+Lz+Xz83Z7ygoIC/XKpWNfLdqG5py3qAtBFi/KtYK+99hr3Avzd4auEEDXxivT7/Y9qmjaPr4p58cUX8fLLL4+3qGH5XAC6aMr29na499579fsBGQIieqZ3794LTn0VPLoanu9rmvYkEU3k7/lWVlbiLbd0aRyZtBYuAEmb7puCDMH8+fNh9erVkf/8UpKkRYjIn5Xf279//+bDhw+fFQ6HLw6HwxMR8Q4i6u71eumRRx7BeO8XNqCp3xLhAmCgVTds2KBPDevr62NKLSsrgwceeAAGDhwYM6+ZGVwATLDupk2bYOPGjfDxxx/DoUOHoKWlBfLy8iAQCMBll10GY8aMAZ7ypUJyAUgFL9jYBhcAG42fClW7AKSCF2xsgwuAjcZPharTBgCeh/NAy03xW6CpqQlGjRqlF3D8buCKFStgyJAh8Wvv5oTdu3fD5MmT0wOAhx9+GG66yZavoTsWpeXLl8Pjj+vXKDq/BygpKYElSyz53oFjHX5qw8vLy6Gm5uutCyeHAL67rzdvqKxcuRJTZYEl1SnZu3cvTJo0iTo+a3tUVdU+ZrXZ7CNhfGnDBdz4kSNHwvPPP2+WHmkld+bMmbB58+aITjtUVf2eWQqaCoDf71+oaVoFIvLpYK8dhyrMMpxZcpcuXQpPPfUU717qNgOAhaqq3mdWfWYDcLGmadsBgE/mSpIkwYIFC7DjuJZZOjlW7tq1a6GyspI0TT/IHLHZcEVR/m2WUqYCwI2WZfkPfJU7IjbxwUreY58xYwZOnz4dPB6PWXo5Sm44HIbq6moeKPMxeozYChFfFULcbqYypgMwZMiQ3Obm5s18jQsAHAeAbO4NiouLYfbs2TB69Gjo1q2bmTqmrGw+q8A7k4sXL4b9+/dHnnq+PrcnItbm5uaWdXZ4xQjFTAeAG1lcXNw/FAqtICL9Useo+Aa5ubk0cuRI5OPW/fr1g5ycHCP0SlkZvP3M29B1dXWwadMm/f2FU22CiJu8Xu/k/fv3HzRbEUsAYCVGjBjRXQjBd/Y8aNcbNmYb0wD5fPnlE7IsP79t27Y2A+TFFGEZAJGWDBs2LKupqekHAMB/ZCLia2P7c7fXER7SPR7wVfHczXM4PIiIfH+yAIAP8/LyPoy+6Cqm9wzIYDkABrTZFWGgBVwADDSmE0W5ADjRawa22QXAQGM6UZQLgBO9ZmCbXQAMNKYTRbkAONFrBrbZBcBAYzpRlAuAE71mYJtdAAw0phNFuQA40WsGttkFwEBjOlGUC4ATvWZgm10ADDSmE0W5ADjRawa22QXAQGM6UZQLgBO9ZmCbXQAMNKYTRf0Plv3l2xQS5icAAAAASUVORK5CYII=);width:var(--ti-select-dropdown-empty-image-width);height:var(--ti-select-dropdown-empty-image-height);margin-bottom:var(--ti-select-dropdown-empty-image-margin-bottom);background-size:cover;background-repeat:no-repeat;display:inline-block;vertical-align:bottom}.tiny-select-dropdown .tiny-select-dropdown__wrap{max-height:var(--ti-select-dropdown-max-height);margin-right:-4px;padding-bottom:var(--ti-select-dropdown-wrap-padding-bottom)}.tiny-select-dropdown .tiny-select-dropdown__list{list-style:none;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-bottom:6px;text-align:left}.tiny-select-dropdown .tiny-option{padding:var(--ti-option-padding-vertical) var(--ti-option-padding-horizontal)}.tiny-select-dropdown .tiny-select-dropdown__wrap.virtual{position:relative;margin-right:0!important}.tiny-select-dropdown .tiny-select-dropdown__wrap.virtual .tiny-option{position:absolute;width:100%}.tiny-select-dropdown .tiny-select-dropdown__item{white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 var(--ti-select-dropdown-item-padding-horizontal)}.tiny-select-dropdown .tiny-select-dropdown__item.is-disabled svg path:first-of-type{fill:#f5f5f5}.tiny-select-dropdown .tiny-select-dropdown__loading{text-align:center;padding:10px 0}.tiny-select-dropdown .tiny-select-dropdown__loading>.circular{fill:var(--ti-common-color-line-hover);height:16px;width:16px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.tiny-select-dropdown .tiny-select-dropdown__loading>.circular .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--ti-common-color-line-hover);stroke-linecap:round}.tiny-select-dropdown .tiny-select__top-create{margin:0 8px 4px;border-bottom:var(--ti-select-dropdown-top-create-border-weight-bottom) var(--ti-select-dropdown-top-create-border-style-bottom) var(--ti-select-dropdown-top-create-border-color-bottom)}.tiny-select-dropdown .tiny-select__top-create>div{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px;line-height:20px;color:var(--ti-select-dropdown-top-create-text-color);cursor:pointer}.tiny-select-dropdown .tiny-select__top-create>div:hover{color:var(--ti-select-dropdown-top-create-text-color-hover)}.tiny-select-dropdown .tiny-select__top-create>div svg{fill:var(--ti-select-dropdown-top-create-icon-color);font-size:14px;margin-right:4px}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.tiny-transition-search-line-fade-enter,.tiny-transition-search-line-fade-enter-from,.tiny-transition-search-line-fade-leave-to,.tiny-transition-search-line-fade-enter-to{opacity:0}.tiny-transition-search-line-fade-enter-active,.tiny-transition-search-line-fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.tiny-transition-icon-out-in-enter-active{-webkit-animation:bounce-in .3s;animation:bounce-in .3s}.tiny-transition-icon-out-in-leave-active{animation:bounce-in .3s reverse}.tiny-transition-icon-scale-in-enter-active{-webkit-animation:scale-in .3s;animation:scale-in .3s}.tiny-transition-icon-scale-in-leave-active{animation:scale-in .3s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}to{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}to{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@-webkit-keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.tiny-search{--ti-search-font-size:var(--ti-common-font-size-base, 12px);--ti-search-input-height:var(--ti-common-size-height-normal, 28px);--ti-search-input-padding-left:var(--ti-common-space-2x, 8px);--ti-search-input-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-search-input-focus-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-search-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-search-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-search-input-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-search-size-height-normal:var(--ti-common-size-height-normal, 28px);--ti-search-input-placeholder-color:var(--ti-common-color-placeholder, #adb0b8);--ti-search-input-btn-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-search-input-btn-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-search-input-btn-icon-size:var(--ti-common-font-size-1, 14px);--ti-search-input-btn-width:var(--ti-common-size-6x, 24px);--ti-search-input-btn-line-height:var(--ti-search-input-height);--ti-search-icon-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-search-input-btn-icon-position-right:var(--ti-common-space-10, 10px);--ti-search-input-left-svg-margin-right:var(--ti-common-space-0, 0px);--ti-search-input-left-svg-margin-left:var(--ti-common-space-3x, 12px);--ti-search-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-search-mini-width:var(--ti-search-input-height);--ti-search-line-hover-border-color:var(--ti-common-color-line-hover, #575d6c);--ti-search-size-height-small:var(--ti-common-size-height-small, 32px);--ti-search-selector-width:var(--ti-common-size-20x, 80px);--ti-search-selector-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-search-selector-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-search-selector-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-search-selector-box-shadow:var(--ti-common-shadow-2-down, 0 2px 8px 0 rgba(0, 0, 0, .2));--ti-search-selector-box-min-width:var(--ti-common-size-20x, 80px);--ti-search-selector-margin-top:var(--ti-common-space-base, 4px);--ti-search-selector-max-height:calc(var(--ti-common-space-10, 10px) * 30);--ti-search-selector-list-height:var(--ti-common-size-height-normal, 28px);--ti-search-list-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-search-selector-list-padding-horizontal:var(--ti-common-space-10, 10px);position:relative;display:inline-block;font-size:var(--ti-search-font-size);width:100%}.tiny-search .tiny-search__line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:var(--ti-search-input-height);border:1px solid var(--ti-search-input-border-color);border-radius:var(--ti-search-input-border-radius);background-color:var(--ti-search-input-bg-color);-webkit-transition:.4s;transition:.4s;border-collapse:separate}.tiny-search .tiny-search__line:hover{border-color:var(--ti-search-line-hover-border-color)}.tiny-search .tiny-search__line.focus,.tiny-search .tiny-search__line:focus{border-color:var(--ti-search-input-focus-border-color)}.tiny-search .tiny-search__input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;width:0;font-size:var(--ti-search-font-size);line-height:1;color:var(--ti-search-input-text-color);padding:0 0 0 var(--ti-search-input-padding-left);border:0;outline:0;background:0 0}.tiny-search .tiny-search__input::-moz-placeholder{color:var(--ti-search-input-placeholder-color);opacity:1}.tiny-search .tiny-search__input:-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input::-webkit-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input::-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input::placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::-moz-placeholder{color:var(--ti-search-input-placeholder-color);opacity:1}.tiny-search .tiny-search__input:focus:-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::-webkit-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input-btn{text-align:center}.tiny-search .tiny-search__input-btn a{position:relative;text-decoration:none;display:block;width:var(--ti-search-input-btn-width);height:calc(var(--ti-search-input-height) - 2px);line-height:calc(var(--ti-search-input-height) - 2px)}.tiny-search .tiny-search__input-btn svg{position:absolute;top:50%;right:var(--ti-search-input-btn-icon-position-right);-webkit-transform:translateY(-50%);transform:translateY(-50%);fill:var(--ti-search-input-btn-icon-color);font-size:var(--ti-search-input-btn-icon-size)}.tiny-search .tiny-search__input-btn:hover svg{fill:var(--ti-search-input-btn-hover-icon-color)}.tiny-search .tiny-search__prefix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-search .tiny-search__prefix svg{margin:0 var(--ti-search-input-left-svg-margin-right) 0 var(--ti-search-input-left-svg-margin-left);font-size:var(--ti-search-input-btn-icon-size);fill:var(--ti-search-input-btn-icon-color)}.tiny-search .tiny-search__present{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:var(--ti-search-selector-width);color:var(--ti-search-selector-text-color);line-height:var(--ti-search-size-height-normal);padding-left:var(--ti-search-input-padding-left);white-space:nowrap}.tiny-search .tiny-search__present .tiny-search__text{-webkit-box-flex:1;-ms-flex:1;flex:1;display:inline-block}.tiny-search .tiny-search__present .icon-outer{height:calc(var(--ti-search-size-height-normal) - 12px);line-height:calc(var(--ti-search-size-height-normal) - 12px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px 0 4px;border-right:1px solid var(--ti-search-input-border-color);cursor:pointer}.tiny-search .tiny-search__present .icon-outer svg{font-size:var(--ti-search-input-btn-icon-size);fill:var(--ti-search-icon-color)}.tiny-search .tiny-search__selector{position:absolute;top:var(--ti-search-input-height);left:0;overflow:hidden;min-width:var(--ti-search-selector-box-min-width);border:1px solid var(--ti-search-input-border-color);border-radius:var(--ti-search-selector-border-radius);font-size:var(--ti-search-font-size);-webkit-box-shadow:var(--ti-search-selector-box-shadow);box-shadow:var(--ti-search-selector-box-shadow);background:var(--ti-search-selector-bg-color);color:var(--ti-search-selector-text-color);margin-top:var(--ti-search-selector-margin-top)}.tiny-search .tiny-search__selector-body{max-height:var(--ti-search-selector-max-height);overflow-y:auto;overflow-x:hidden}.tiny-search .tiny-search__poplist-item{min-height:var(--ti-search-selector-list-height);padding:0 var(--ti-search-selector-list-padding-horizontal);line-height:var(--ti-search-selector-list-height);max-width:100%;font-size:var(--ti-search-font-size);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.tiny-search .tiny-search__poplist-item:hover{background:var(--ti-search-list-hover-bg-color);cursor:pointer}.tiny-search .tiny-search__poplist-item span{font-size:var(--ti-search-font-size)}.tiny-search .tiny-search__poplist-item .icon-check{font-size:var(--ti-common-font-size-2)}.tiny-search .tiny-search__poplist-item .icon-check:hover{color:var(--ti-search-input-btn-hover-icon-color)}.tiny-search.mini .tiny-search__line{border-radius:var(--ti-search-input-height);width:100%;float:right}.tiny-search.mini.collapse .tiny-search__input-btn a{width:calc(var(--ti-search-mini-width) - 2px)}.tiny-search.mini.collapse .tiny-search__input-btn a svg{fill:var(--ti-search-icon-color);left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-search.mini .tiny-search__input{border-radius:var(--ti-search-input-height)}.tiny-search.mini.collapse{visibility:visible}.tiny-search.collapse .tiny-search__input{padding:0;width:var(--ti-search-size-height-normal);float:right}.tiny-search.mini.collapse .tiny-search__line{width:var(--ti-search-mini-width);float:right;background-color:transparent;border-collapse:separate}.tiny-search.mini.collapse .tiny-search__input,.tiny-search.mini.collapse .tiny-search__present{display:none}.tiny-search .fade-enter-to,.tiny-search .fade-enter,.tiny-search .fade-leave-to{opacity:0}.tiny-mobile-search{--ti-mobile-search-height:56px;--ti-mobile-search-input-height:40px;--ti-mobile-search-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-search-input-bg-color-gray:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-search-input-bg-color-primary:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-search-text-color-gray:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-text-color-primary:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-icon-fill-color-gray:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-search-icon-fill-color-primary:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-search-caret-color-primary:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-caret-color-gray:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-bg-color-primary:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-search-bg-color-gray:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-search-placeholder-text-color-primary:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-search-placeholder-text-color-gray:var(--ti-mobile-color-text-placeholder, #808080);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--ti-mobile-search-height);outline:0}.tiny-mobile-search .tiny-mobile-search__line{position:relative;-webkit-box-flex:1;-ms-flex:auto;flex:auto;height:var(--ti-mobile-search-input-height);margin-left:16px;border-radius:var(--ti-mobile-search-input-height);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;background:0 0}.tiny-mobile-search .tiny-mobile-search__line:after{content:"";width:200%;height:200%;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0}.tiny-mobile-search .tiny-mobile-search__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;height:100%;padding-left:16px;padding-right:16px;z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tiny-mobile-search-gray .tiny-mobile-search__box{background:var(--ti-mobile-search-input-bg-color-gray)}.tiny-mobile-search-primary .tiny-mobile-search__box{background:var(--ti-mobile-search-input-bg-color-primary)}.tiny-mobile-search .tiny-mobile-search__input{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;border:0;margin-left:8px;padding-right:15px;color:var(--ti-mobile-search-text-color-primary);background:0 0;font-size:var(--ti-mobile-search-font-size);outline:0}.tiny-mobile-search .tiny-mobile-search__input-primary{color:var(--ti-mobile-search-text-color-primary);caret-color:var(--ti-mobile-search-caret-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-primary:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-primary:focus:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-gray{color:var(--ti-mobile-search-text-color-gray);caret-color:var(--ti-mobile-search-caret-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-gray:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-gray:focus:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search-primary{background-color:var(--ti-mobile-search-bg-color-primary)}.tiny-mobile-search-primary .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-primary)}.tiny-mobile-search-gray{color:var(--ti-mobile-search-text-color-gray);background-color:var(--ti-mobile-search-bg-color-gray)}.tiny-mobile-search-gray .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-gray)}.tiny-mobile-search .tiny-mobile-search__icon{text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-mobile-search .tiny-mobile-search__icon .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-primary)}.tiny-mobile-search-gray .tiny-mobile-search__icon .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-gray)}.tiny-mobile-search .tiny-mobile-search__close-icon{position:absolute;right:5px;padding:0 8px;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-mobile-search__right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:46px;height:100%;color:var(--ti-mobile-search-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__present{color:var(--ti-mobile-search-text-color-primary);font-size:var(--ti-mobile-search-font-size);line-height:1;white-space:nowrap;cursor:pointer;outline:0}.tiny-mobile-search-gray .tiny-mobile-search__present{color:var(--ti-mobile-search-text-color-gray)}.tiny-mobile-search.focus .tiny-mobile-search__present{display:block}.tiny-mobile-search.focus .tiny-mobile-search__label{display:none}.tiny-mobile-search.focus .tiny-mobile-search__box{opacity:1}.tiny-mobile-search.collapse .tiny-mobile-search__input{padding:0;width:30px;float:right}.tiny-mobile-search .fade-enter-to,.tiny-mobile-search .fade-enter,.tiny-mobile-search .fade-leave-to{opacity:0}.tiny-select{--ti-select-inner-border-color-active:var(--ti-common-color-line-active, #5e7ce0);--ti-select-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-select-input-font-size:var(--ti-common-font-size-base, 12px);--ti-select-input-icon-top:14px;--ti-select-input-icon-top-medium:var(--ti-common-space-5x, 20px);--ti-select-input-icon-top-small:var(--ti-common-space-4x, 16px);--ti-select-input-icon-top-mini:var(--ti-common-space-3x, 12px);--ti-select-input-caret-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-select-input-caret-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-select-input-caret-font-size:10px;--ti-select-input-icon-close-margin-right:var(--ti-common-space-0, 0px);--ti-select-input-disabled-caret-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-select-input-disabled-hover-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-select-input-height:var(--ti-common-size-6x, 24px);--ti-select-input-mini-height:var(--ti-common-size-6x, 24px);--ti-select-input-small-height:var(--ti-common-size-7x, 28px);--ti-select-input-medium-height:var(--ti-common-size-42);--ti-select-tags-wrap-padding-left:calc(var(--ti-common-space-1, 1px) * 2);--ti-select-tags-wrap-padding-top:calc(var(--ti-common-space-1, 1px) * 2);--ti-select-tags-wrap-padding-bottom:calc(var(--ti-common-space-1, 1px) * 2);--ti-select-tags-wrap-padding-right:var(--ti-common-space-0, 0px);--ti-select-tags-margin-top:var(--ti-common-space-1, 1px);--ti-select-tags-margin-right:var(--ti-common-space-1, 1px);--ti-select-tags-margin-bottom:var(--ti-common-space-1, 1px);--ti-select-tags-margin-left:var(--ti-common-space-1, 1px);--ti-select-tags-height:calc(var(--ti-common-size-base) * 7);--ti-select-tags-max-height:var(--ti-common-size-24x, 96px);--ti-select-suffix-display:"inline-block";--ti-select-suffix-icon-margin-right:var(--ti-common-space-base, 4px);--ti-select-suffix-font-size:var(--ti-common-font-size-base, 12px);--ti-select-collapse-button-text-icon-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-select-collapse-button-icon-margin-left:var(--ti-common-space-2, 2px);--ti-select-collapse-button-font-size:var(--ti-common-font-size-base, 12px);display:inline-block;position:relative;width:100%;outline:0}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-select.tiny-select__multiple:not(.tiny-select__collapse-tags):not(.tiny-select__filterable) .tiny-select__tags>span{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}}@supports (-ms-ime-align:auto){.tiny-select.tiny-select__multiple:not(.tiny-select__collapse-tags):not(.tiny-select__filterable) .tiny-select__tags>span{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}}.tiny-select.tiny-select__collapse-tags .tiny-select__tags>span{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.tiny-select.tiny-select__collapse-tags .tiny-select__tags>span>span{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-select.tiny-select__collapse-tags .tiny-select__tags>span>span:not(:only-child):first-child{max-width:70%}.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span{width:auto;max-width:76%}.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:first-child{-ms-flex-preferred-size:auto;flex-basis:auto}}.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:not(:only-child):first-child,.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:only-child{max-width:100%}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:not(:only-child):not(:first-child){-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:auto;flex-basis:auto}}.tiny-select.tiny-select__filterable .tiny-select__tags .tiny-select__input{cursor:text}.tiny-select__tags{position:absolute;line-height:normal;white-space:normal;padding-left:var(--ti-select-tags-wrap-padding-left);padding-right:var(--ti-select-tags-wrap-padding-right);padding-bottom:var(--ti-select-tags-wrap-padding-bottom);padding-top:var(--ti-select-tags-wrap-padding-top);z-index:1;top:50%;margin-left:1px;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;cursor:pointer}.tiny-select__tags>span{display:contents}.tiny-select__tags>span>span{font-size:0}.tiny-select__tags .not-visible{visibility:hidden}.tiny-select__tags .tiny-select__input{cursor:pointer;border:none;outline:0;padding:0;margin-left:8px;color:var(--ti-select-input-text-color);font-size:var(--ti-select-input-font-size);height:var(--ti-select-input-height);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.tiny-select__tags .tiny-select__input.is-mini{height:var(--ti-select-input-mini-height)}.tiny-select__tags .tiny-select__input.is-small{height:var(--ti-select-input-small-height)}.tiny-select__tags .tiny-select__input.is-medium{height:var(--ti-select-input-medium-height)}.tiny-select__tags.is-showicon{padding-left:24px}.tiny-select__tags .tiny-tag{white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:var(--ti-select-tags-margin-top) var(--ti-select-tags-margin-right) var(--ti-select-tags-margin-bottom) var(--ti-select-tags-margin-left);text-overflow:ellipsis;overflow:hidden;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:160px}.tiny-select__tags .tiny-select__tags-text{display:inline-block;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.tiny-select__tags .tiny-select__tags-text+.tiny-tag__close{-ms-flex-negative:0;flex-shrink:0}.tiny-select__tags .tiny-select__tags-text.is-disabled{max-height:24px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.tiny-select__tags .tiny-select__tags-text.is-disabled>span{color:red;font-size:var(--ti-tag-font-size);margin:var(--ti-select-tags-margin-top) var(--ti-select-tags-margin-right) var(--ti-select-tags-margin-bottom) var(--ti-select-tags-margin-left);display:inline-block;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tiny-select__tags .tiny-select__collapse-text{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:var(--ti-select-tags-margin-left);font-size:var(--ti-select-collapse-button-font-size);color:var(--ti-select-collapse-button-text-icon-color)}.tiny-select__tags .tiny-select__collapse-text .tiny-svg{margin-left:var(--ti-select-collapse-button-icon-margin-left);fill:var(--ti-select-collapse-button-text-icon-color)}.tiny-select.is-click-expand,.tiny-select.is-hover-expand{vertical-align:top}.tiny-select.is-click-expand .tiny-select__tags-group,.tiny-select.is-hover-expand .tiny-select__tags-group{position:absolute;top:0;left:0;right:0}.tiny-select.is-click-expand.is-hover .is-expand,.tiny-select.is-hover-expand.is-hover .is-expand{z-index:2}.tiny-select.is-click-expand .tiny-select__tags,.tiny-select.is-hover-expand .tiny-select__tags{height:var(--ti-select-tags-height);overflow:hidden}.tiny-select.is-click-expand .tiny-select__tags-collapse,.tiny-select.is-hover-expand .tiny-select__tags-collapse{visibility:visible;position:static}.tiny-select.is-click-expand .tiny-select__tags .is-hidden,.tiny-select.is-hover-expand .tiny-select__tags .is-hidden{visibility:hidden;position:absolute}.tiny-select.is-click-expand .tiny-select__tags>span>span,.tiny-select.is-hover-expand .tiny-select__tags>span>span{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.tiny-select.is-click-expand .tiny-select__tags .hidden,.tiny-select.is-hover-expand .tiny-select__tags .hidden{visibility:hidden}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags,.tiny-select.is-click-expand.is-hover .tiny-select__tags,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags,.tiny-select.is-hover-expand.is-hover .tiny-select__tags{height:auto;max-height:var(--ti-select-tags-max-height);overflow-y:auto}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags-collapse,.tiny-select.is-click-expand.is-hover .tiny-select__tags-collapse,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags-collapse,.tiny-select.is-hover-expand.is-hover .tiny-select__tags-collapse{visibility:hidden;position:absolute}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags-collapse.is-hidden,.tiny-select.is-click-expand.is-hover .tiny-select__tags-collapse.is-hidden,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags-collapse.is-hidden,.tiny-select.is-hover-expand.is-hover .tiny-select__tags-collapse.is-hidden{margin:0}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags.not-selected,.tiny-select.is-click-expand.is-hover .tiny-select__tags.not-selected,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags.not-selected,.tiny-select.is-hover-expand.is-hover .tiny-select__tags.not-selected{overflow-y:hidden}.tiny-select.is-click-expand .is-expand,.tiny-select.is-hover-expand .is-expand{position:absolute;width:100%}.tiny-select.is-click-expand.tiny-select--small .tiny-select__tags,.tiny-select.is-hover-expand.tiny-select--small .tiny-select__tags,.tiny-select.is-click-expand.tiny-select--mini .tiny-select__tags,.tiny-select.is-hover-expand.tiny-select--mini .tiny-select__tags{padding-top:2px}.tiny-select.is-hover-expand.is-disabled .tiny-select__tags{height:auto}.tiny-select.is-click-expand .tiny-select__tags-collapse{visibility:visible;position:static}.tiny-select.is-click-expand .tiny-select__tags-collapse.is-hidden{visibility:hidden;position:absolute}.tiny-select.is-disabled{cursor:not-allowed}.tiny-select.is-disabled .tiny-input__inner{padding-right:12px}.tiny-select.is-disabled .tiny-input__suffix{display:var(--ti-select-suffix-display)}.tiny-select.is-disabled .tiny-select__tags{padding-right:16px}.tiny-select-tip .tiny-select-tipcontent{max-width:300px}.tiny-select .tiny-input{display:block}.tiny-select .tiny-input .tiny-input__inner[readonly]{cursor:pointer}.tiny-select .tiny-input .tiny-select__caret{fill:var(--ti-select-input-caret-icon-color);font-size:var(--ti-select-input-caret-font-size);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotate(180deg);cursor:pointer}.tiny-select .tiny-input .tiny-select__caret.tiny-select__close{margin-right:var(--ti-select-input-icon-close-margin-right)}.tiny-select .tiny-input .tiny-select__caret:hover{fill:var(--ti-select-input-caret-hover-icon-color)}.tiny-select .tiny-input .tiny-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotate(0)}.tiny-select .tiny-input .tiny-select__limit-txt,.tiny-select .tiny-input .tiny-select__proportion-txt{font-size:var(--ti-select-suffix-font-size);line-height:1;margin:0 var(--ti-select-suffix-icon-margin-right)}.tiny-select .tiny-input .tiny-select__copy{cursor:pointer;margin-right:var(--ti-select-suffix-icon-margin-right)}.tiny-select .tiny-input .tiny-input__suffix{top:var(--ti-select-input-icon-top)}.tiny-select .tiny-input .tiny-input__suffix-inner{font-size:0}.tiny-select .tiny-input .tiny-input__suffix-inner{overflow:hidden}.tiny-select .tiny-input-medium .tiny-input__suffix{top:var(--ti-select-input-icon-top-medium)}.tiny-select .tiny-input-small .tiny-input__suffix{top:var(--ti-select-input-icon-top-small)}.tiny-select .tiny-input-mini .tiny-input__suffix{top:var(--ti-select-input-icon-top-mini)}.tiny-select .tiny-input.is-disabled .tiny-select__caret{fill:var(--ti-select-input-disabled-caret-text-color);cursor:not-allowed}.tiny-select .tiny-input.is-disabled .tiny-input__inner{cursor:not-allowed}.tiny-select .tiny-input.is-disabled .tiny-input__inner:hover{border-color:var(--ti-select-input-disabled-hover-border-color)}.tiny-select .tiny-input.is-focus .tiny-input__inner{border-color:var(--ti-select-inner-border-color-active)}.tiny-select__underline .tiny-input .tiny-input__inner,.tiny-select__underline .tiny-input.is-disabled .tiny-input__inner{border-radius:0;border-top-width:0;border-left-width:0;border-right-width:0;padding-left:0;background-color:var(--ti-input-bg-color)}.tiny-select__underline .tiny-input.is-disabled__suffix,.tiny-select__underline .tiny-input__suffix{right:0}
diff --git a/admin-website/src/main/resources/static/assets/index-c51c020e.css b/admin-website/src/main/resources/static/assets/index-c51c020e.css
deleted file mode 100644
index b773c0d..0000000
--- a/admin-website/src/main/resources/static/assets/index-c51c020e.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-transfer{--ti-transfer-font-size:var(--ti-common-font-size-1, 14px);--ti-transfer-buttons-padding-left:var(--ti-common-space-4x, 16px);--ti-transfer-buttons-padding-right:var(--ti-common-space-4x, 16px);--ti-transfer-buttons-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-buttons-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-buttons-defaultButton-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-buttons-defaultButton-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-buttons-defaultButton-margin-top:var(--ti-common-space-3x, 12px);--ti-transfer-buttons-defaultButton-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-button-margin-left:auto;--ti-transfer-button-margin-right:auto;--ti-transfer-button-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-button-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-button-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-transfer-button-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-button-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-button-padding-top:var(--ti-common-space-2x, 8px);--ti-transfer-button-padding-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-transfer-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-transfer-button-disabled-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-transfer-button-disabled-line-height:1;--ti-transfer-first-button-margin-bottom:var(--ti-common-space-3x, 12px);--ti-transfer-panel-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-transfer-panel-body-height:260px;--ti-transfer-panel-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-panel-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-transfer-panel-item-height:30px;--ti-transfer-panel-item-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-transfer-panel-item-hover-text-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-transfer-panel-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-transfer-panel-filter-height:var(--ti-common-size-height-normal, 28px);--ti-transfer-panel-filter-font-size:var(--ti-common-font-size-base, 12px);--ti-transfer-panel-filter-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-transfer-panel-body-filter-height:calc(var(--ti-common-size-50x, 200px) + 16px);--ti-transfer-panel-body-padding-right:calc(var(--ti-common-space-1, 1px) + 1px);--ti-transfer-panel-body-footer-padding-bottom:var(--ti-common-space-10x, 40px);--ti-transfer-panel-body-footer-height:calc(100% - 40px);--ti-transfer-panel-width:var(--ti-common-size-50x, 200px);--ti-transfer-header-height:var(--ti-common-size-10x, 40px);--ti-transfer-header-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-transfer-header-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-header-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-transfer-header-span-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-transfer-header-font-size:var(--ti-common-font-size-base, 12px);--ti-transfer-header-sort-width:var(--ti-common-size-5x, 20px);--ti-transfer-header-sort-text-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-transfer-footer-height:var(--ti-common-size-10x, 40px);--ti-transfer-footer-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-transfer-footer-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-empty-height:var(--ti-common-size-height-minor);--ti-transfer-empty-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-transfer-panel-body-tree-height:100%;--ti-transfer-panel-body-tree-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-panel-body-tree-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-panel-body-tree-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-tree-padding-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-panel-body-tree-filter-height:calc(100% - 46px);--ti-transfer-panel-body-list-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-padding-left:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-padding-right:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-padding-top:var(--ti-common-space-6, 6px);--ti-transfer-panel-body-list-padding-bottom:var(--ti-common-space-6, 6px);--ti-transfer-panel-body-filter-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-panel-item-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-panel-item-checkbox-padding-left:calc(var(--ti-common-space-5x, 20px) + 2px);--ti-transfer-panel-filter-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-padding-top:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-padding-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-input-padding-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-transfer-panel-filter-input-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-header-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-header-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-header-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-header-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-header-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-header-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-header-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-header-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-header-span-font-weight:var(--ti-common-font-weight-4, normal);--ti-transfer-header-sort-margin-right:var(--ti-common-space-2x, 8px);--ti-transfer-header-sort-border-radius:50%;--ti-transfer-footer-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-footer-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-footer-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-footer-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-left:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-right:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-footer-checkbox-padding-left:var(--ti-common-space-5x, 20px);--ti-transfer-empty-padding-top:var(--ti-common-space-6, 6px);--ti-transfer-empty-padding-right:calc(var(--ti-common-space-4x, 16px) - 1px);--ti-transfer-empty-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-empty-padding-left:var(--ti-common-space-0, 0px);--ti-transfer-table-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-table-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-table-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-table-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-pager-padding-left:var(--ti-common-space-10, 10px);--ti-transfer-pager-padding-top:var(--ti-common-space-10, 10px);--ti-transfer-pager-padding-right:var(--ti-common-space-10, 10px);--ti-transfer-pager-padding-bottom:var(--ti-common-space-10, 10px);--ti-transfer-checkbox-label-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-button-width:30px;--ti-transfer-button-height:30px;--ti-transfer-svg-font-size:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--ti-transfer-font-size)}.tiny-transfer__buttons{padding-left:var(--ti-transfer-buttons-padding-left);padding-right:var(--ti-transfer-buttons-padding-right);padding-top:var(--ti-transfer-buttons-padding-top);padding-bottom:var(--ti-transfer-buttons-padding-bottom)}.tiny-transfer__buttons .defaultButton{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-transfer__buttons .defaultButton .tiny-button+.tiny-button{margin-left:var(--ti-transfer-buttons-defaultButton-margin-left)}.tiny-transfer__buttons .defaultButton+.tiny-button{margin-right:var(--ti-transfer-buttons-defaultButton-margin-right);margin-top:var(--ti-transfer-buttons-defaultButton-margin-top);margin-bottom:var(--ti-transfer-buttons-defaultButton-margin-bottom)}.tiny-transfer__buttons .tiny-button{min-width:auto;margin-left:var(--ti-transfer-buttons-margin-left);margin-right:var(--ti-transfer-buttons-margin-right);margin-top:var(--ti-transfer-buttons-margin-top);margin-bottom:var(--ti-transfer-buttons-margin-bottom)}.tiny-transfer__button{display:block;margin-left:var(--ti-transfer-button-margin-left);margin-right:var(--ti-transfer-button-margin-right);margin-top:var(--ti-transfer-button-margin-top);margin-bottom:var(--ti-transfer-button-margin-bottom);border-color:var(--ti-transfer-button-bg-color);background-color:var(--ti-transfer-button-bg-color);width:var(--ti-transfer-button-width);height:var(--ti-transfer-button-height);border-radius:var(--ti-transfer-button-border-radius);line-height:normal;padding-left:var(--ti-transfer-button-padding-left);padding-right:var(--ti-transfer-button-padding-right);padding-top:var(--ti-transfer-button-padding-top);padding-bottom:var(--ti-transfer-button-padding-bottom);text-overflow:clip}.tiny-transfer__button.is-with-texts{border-radius:var(--ti-transfer-button-border-radius);min-width:60px}.tiny-transfer__button.tiny-button:not(.is-circle) .tiny-svg{font-size:var(--ti-transfer-svg-font-size);margin-right:0}.tiny-transfer__button:first-child{margin-bottom:var(--ti-transfer-first-button-margin-bottom)}.tiny-transfer__button:nth-child(2){margin:0}.tiny-transfer__button i,.tiny-transfer__button span{font-size:var(--ti-transfer-font-size)}.tiny-transfer__button [class*=tiny-icon]+span{margin-left:0}.tiny-transfer .tiny-transfer__button.is-disabled,.tiny-transfer .tiny-transfer__button.is-disabled:hover{border:1px solid var(--ti-transfer-button-disabled-border-color);background-color:var(--ti-transfer-button-disabled-bg-color);color:var(--ti-transfer-button-disabled-text-color);line-height:var(--ti-transfer-button-disabled-line-height)}.tiny-transfer .tiny-transfer__button.is-disabled .tiny-svg,.tiny-transfer .tiny-transfer__button.is-disabled:hover .tiny-svg{fill:var(--ti-transfer-button-disabled-text-color)}.tiny-transfer-panel{border:1px solid var(--ti-transfer-panel-border-color);border-radius:var(--ti-transfer-panel-border-radius);overflow:hidden;background:var(--ti-transfer-panel-bg-color);width:var(--ti-transfer-panel-width);max-height:100%;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.tiny-transfer-panel__body{position:relative;height:var(--ti-transfer-panel-body-height);text-align:left;padding-right:var(--ti-transfer-panel-body-padding-right)}.tiny-transfer-panel__body.is-with-footer{padding-bottom:var(--ti-transfer-panel-body-footer-padding-bottom);height:var(--ti-transfer-panel-body-footer-height)}.tiny-transfer-panel__body .tiny-tree{height:var(--ti-transfer-panel-body-tree-height);padding-left:var(--ti-transfer-panel-body-tree-padding-left);padding-right:var(--ti-transfer-panel-body-tree-padding-right);padding-top:var(--ti-transfer-panel-body-tree-padding-top);padding-bottom:var(--ti-transfer-panel-body-tree-padding-bottom);overflow:auto}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar{width:8px;height:8px}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-track-piece{background:#fafafa}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-thumb:hover{background:#999}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-thumb:active{background:#999}.tiny-transfer-panel__body .tiny-transfer-panel__filter~.tiny-tree{height:var(--ti-transfer-panel-body-tree-filter-height)}.tiny-transfer-panel__list{margin-left:var(--ti-transfer-panel-body-list-margin-left);margin-right:var(--ti-transfer-panel-body-list-margin-right);margin-top:var(--ti-transfer-panel-body-list-margin-top);margin-bottom:var(--ti-transfer-panel-body-list-margin-bottom);padding-left:var(--ti-transfer-panel-body-list-padding-left);padding-right:var(--ti-transfer-panel-body-list-padding-right);padding-top:var(--ti-transfer-panel-body-list-padding-top);padding-bottom:var(--ti-transfer-panel-body-list-padding-bottom);list-style:none;height:var(--ti-transfer-panel-body-height);overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;display:block}.tiny-transfer-panel__list.tiny-checkbox-group{display:block}.tiny-transfer-panel__list.is-filterable{height:var(--ti-transfer-panel-body-filter-height);padding-top:var(--ti-transfer-panel-body-filter-padding-top);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-transfer-panel__list.is-filterable .tiny-transfer-panel__item{-ms-flex-negative:0;flex-shrink:0}}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar{width:8px;height:8px}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-track-piece{background:#fafafa}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-thumb:hover{background:#999}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-thumb:active{background:#999}.tiny-transfer-panel__item{line-height:var(--ti-transfer-panel-item-height);padding-left:var(--ti-transfer-panel-item-padding-left);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:all .5s;transition:all .5s}.tiny-transfer-panel__item+.tiny-transfer-panel__item{margin-left:0;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-transfer-panel__item.tiny-checkbox{color:var(--ti-transfer-panel-item-text-color);line-height:var(--ti-transfer-panel-item-height);margin:0;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-transfer-panel__item.tiny-checkbox.tiny-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:var(--ti-transfer-panel-item-checkbox-padding-left);line-height:var(--ti-transfer-panel-item-height)}.tiny-transfer-panel__item.tiny-checkbox .tiny-checkbox__input{line-height:1}.tiny-transfer-panel__item:hover{background:var(--ti-transfer-panel-item-hover-bg-color);color:var(--ti-transfer-panel-item-hover-text-color)}.tiny-transfer-panel__item.is-disabled:hover{background:0}.tiny-transfer-panel__item.tiny-checkbox__input{position:absolute;top:7px}.tiny-transfer-panel__filter{text-align:center;padding-left:var(--ti-transfer-panel-filter-padding-left);padding-right:var(--ti-transfer-panel-filter-padding-right);padding-top:var(--ti-transfer-panel-filter-padding-top);padding-bottom:var(--ti-transfer-panel-filter-padding-bottom);-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.tiny-transfer-panel__filter .tiny-input__inner{height:var(--ti-transfer-panel-filter-height);line-height:var(--ti-transfer-panel-filter-height);width:100%;font-size:var(--ti-transfer-panel-filter-font-size);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--ti-transfer-panel-filter-border-radius);padding-right:var(--ti-transfer-panel-filter-input-padding-right);padding-left:var(--ti-transfer-panel-filter-input-padding-left)}.tiny-transfer-panel__filter .tiny-input__icon{margin-left:5px}.tiny-transfer-panel__filter .tiny-icon-circle-close{cursor:pointer}.tiny-transfer-panel .tiny-transfer-panel__header{height:var(--ti-transfer-header-height);line-height:var(--ti-transfer-header-height);background:var(--ti-transfer-header-bg-color);margin-left:var(--ti-transfer-header-margin-left);margin-right:var(--ti-transfer-header-margin-right);margin-top:var(--ti-transfer-header-margin-top);margin-bottom:var(--ti-transfer-header-margin-bottom);padding-left:var(--ti-transfer-header-padding-left);padding-right:var(--ti-transfer-header-padding-right);padding-top:var(--ti-transfer-header-padding-top);padding-bottom:var(--ti-transfer-header-padding-bottom);border-bottom:1px solid var(--ti-transfer-header-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--ti-transfer-header-text-color);position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-transfer-panel .tiny-transfer-panel__header .tiny-checkbox{width:100%;line-height:1;text-align:left}.tiny-transfer-panel .tiny-transfer-panel__header .tiny-checkbox .tiny-checkbox__label{font-size:var(--ti-transfer-header-font-size);color:var(--ti-transfer-header-text-color);font-weight:400;width:calc(100% - 38px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-transfer-panel .tiny-transfer-panel__header .tiny-checkbox .tiny-checkbox__label span{position:absolute;right:0;color:var(--ti-transfer-header-span-text-color);font-size:var(--ti-transfer-header-font-size);font-weight:var(--ti-transfer-header-span-font-weight)}.tiny-transfer-panel .tiny-transfer-panel__header .headSort{position:absolute;left:50%;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-transfer-panel .tiny-transfer-panel__header .headSort div{width:var(--ti-transfer-header-sort-width);height:var(--ti-transfer-header-sort-width);line-height:var(--ti-transfer-header-sort-width);margin-right:var(--ti-transfer-header-sort-margin-right);text-align:center;border:1px solid;border-radius:var(--ti-transfer-header-sort-border-radius);color:var(--ti-transfer-header-sort-text-color);display:inline-block;cursor:pointer}.tiny-transfer-panel .tiny-transfer-panel__header .headSort div i{width:calc(var(--ti-transfer-header-sort-width) - 2px);height:calc(var(--ti-transfer-header-sort-width) - 2px);display:block}.tiny-transfer-panel .tiny-transfer-panel__footer{height:var(--ti-transfer-footer-height);background:var(--ti-transfer-footer-bg-color);margin-left:var(--ti-transfer-footer-margin-left);margin-right:var(--ti-transfer-footer-margin-right);margin-top:var(--ti-transfer-footer-margin-top);margin-bottom:var(--ti-transfer-footer-margin-bottom);padding-left:var(--ti-transfer-footer-padding-left);padding-right:var(--ti-transfer-footer-padding-right);padding-top:var(--ti-transfer-footer-padding-top);padding-bottom:var(--ti-transfer-footer-padding-bottom);border-top:1px solid var(--ti-transfer-footer-border-color);position:absolute;bottom:0;left:0;width:100%;z-index:1}.tiny-transfer-panel .tiny-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.tiny-transfer-panel .tiny-transfer-panel__footer .tiny-checkbox{padding-left:var(--ti-transfer-footer-checkbox-padding-left)}.tiny-transfer-panel .tiny-transfer-panel__empty{position:absolute;width:100%;top:calc(50% - 33px);margin:0;height:var(--ti-transfer-empty-height);line-height:var(--ti-transfer-empty-height);padding-left:var(--ti-transfer-empty-padding-left);padding-right:var(--ti-transfer-empty-padding-right);padding-top:var(--ti-transfer-empty-padding-top);padding-bottom:var(--ti-transfer-empty-padding-bottom);color:var(--ti-transfer-empty-text-color);text-align:center}.tiny-transfer-panel.transferGrid{width:600px}.tiny-transfer-panel.transferGrid .tiny-transfer-panel__body{height:100%}.tiny-transfer-panel.transferGrid .tiny-table.simple{width:100%;padding-left:var(--ti-transfer-table-padding-left);padding-right:var(--ti-transfer-table-padding-right);padding-top:var(--ti-transfer-table-padding-top);padding-bottom:var(--ti-transfer-table-padding-bottom);height:400px;overflow-y:auto}.tiny-transfer-panel.transferGrid .tiny-table.simple table{width:100%}.tiny-transfer-panel.transferGrid .tiny-pager{padding-left:var(--ti-transfer-pager-padding-left);padding-top:var(--ti-transfer-pager-padding-top);padding-bottom:var(--ti-transfer-pager-padding-bottom);padding-right:var(--ti-transfer-pager-padding-right)}.tiny-transfer-panel .tiny-checkbox__label{padding-left:var(--ti-transfer-checkbox-label-padding-left)}[data-v-2ab0c792] .tiny-row{margin-bottom:15px}.contain[data-v-14c87db0]{display:flex;justify-content:start}#container[data-v-4fd609cb]{padding:10px 50px}#container div[data-v-4fd609cb]{padding-top:20px}#container .targetStyle[data-v-4fd609cb]{margin-bottom:10px}h3[data-v-4fd609cb]{color:#252b3a;font-weight:700;font-size:15px;text-align:left}.container-step[data-v-dcaaabb9]{display:flex;flex-direction:column;align-content:center;justify-content:center;width:98%;height:inherit;margin:0 auto;overflow:auto;word-break:break-all}.container-step .general-card[data-v-dcaaabb9]{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;margin:0 10px;overflow-x:hidden;overflow-y:auto}.container-step .general-card .general-top[data-v-dcaaabb9]{display:flex;justify-content:space-around;margin:10px -10px;background-image:url(/ui/admin/assets/step-head-47b14032.png);background-size:cover}.container-step .general-card .general-contain[data-v-dcaaabb9]{height:180px;margin-bottom:20px;color:#252b3a;font-weight:600;font-size:15px;background-color:#fff;border-radius:8px}.container-step .general-card .general-contain div[data-v-dcaaabb9]:first-child{margin:25px 55px;font-size:15px}.container-step .general-card .general-contain[data-v-dcaaabb9] .tiny-steps-normal{width:1200px;margin-left:-80px}.container-step .general-card .general-foot[data-v-dcaaabb9]{background-color:#fff;border-radius:8px}.container-step .general-btn[data-v-dcaaabb9]{display:flex;justify-content:start;min-width:180px;margin-left:210px;padding-bottom:20px}.container-step .general-btn[data-v-dcaaabb9] .tiny-button{width:100px;height:36px;border-radius:4px}@media (max-width: 1208px){.general-top[data-v-dcaaabb9]{height:250px!important}}
diff --git a/admin-website/src/main/resources/static/assets/index-c544811c.js b/admin-website/src/main/resources/static/assets/index-c544811c.js
deleted file mode 100644
index 56959fd..0000000
--- a/admin-website/src/main/resources/static/assets/index-c544811c.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import{s as oe,Q as pe,S as ge,M as je,o as he,f as Ne,a9 as Wl,d as q,p as ke,W as to,B as Te,bh as Gl,a as ce,$ as le,b as re,c as Ge,aw as Xl,z as yt,N as Yt,aj as ut,j as Or,a3 as tr,a7 as Mr,ac as ro,al as Yl,k as x,ab as no,bi as ql,bj as Kl,aF as io,at as $t,ap as Zl,ba as gn,h as oo,a1 as lo,bk as Ul,bl as He,e as mn,J as ye,x as Jl,E as bn,X as Ql,bm as ea,bn as yn,bo as Cn,bp as Xr,ax as ao,ar as ta,bq as so,br as ra,bs as na,bt as ia,af as Je,Y as Ar,bu as co,bv as uo,az as oa,as as fo,bw as la,A as ur,D as dr,aB as fr,P as ho,ag as hr,bx as aa,by as sa,bz as ca,an as Hr,T as Ze,bA as ua,bB as da,bC as fa,bD as ha,bE as va,bF as pa,bG as Gn,a6 as ga,bH as ma,bg as vo,a5 as ba,aL as Xn,aH as ya,a8 as Ca,bI as wa}from"./index-387d5142.js";import{i as po,a as Sa}from"./chevron-up-775d40e5.js";import{u as S,v as M,w as L,x as nt,k as Z,D as se,M as ve,N as Le,A as W,E as U,G as be,y as J,B as $e,z as ee,l as T,H as de,J as Qe,P as Yr,I as Re,L as dt,T as Ct,V as rr,n as Dr,m as wr,g as nr,r as qr,o as Ht,ae as $a,af as wt,a8 as go,i as xa,ag as _a,a2 as mo,b as ka,F as zr,h as Ta}from"./vue-fdfdc7c1.js";import{v as Ea}from"./index-9e0a2cd3.js";var Ia={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Oa=L("path",{class:"chevron-left_svg__st0",d:"M17 21c-.2 0-.5-.1-.6-.2l-9.9-8c-.4-.2-.5-.5-.5-.8 0-.3.1-.6.4-.8l9.9-7.9c.4-.4 1.1-.3 1.4.2.4.4.3 1.1-.2 1.4L8.7 12l8.9 7.2c.4.4.5 1 .2 1.4-.3.3-.5.4-.8.4z"},null,-1),Ma=[Oa];function Aa(e,t){return S(),M("svg",Ia,[].concat(Ma))}var Da={render:Aa},bo=function(){return oe({name:"IconChevronLeft",component:Da})()},La={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ra=L("path",{class:"conment-refresh_svg__st0",d:"M23.2 12c-.5 0-.9.3-.9.8-.2 2.6-1.4 5-3.3 6.8-1.9 1.8-4.4 2.8-7 2.8-2 0-4-.6-5.7-1.7-1.5-1-2.7-2.3-3.5-3.9h2.3c.5 0 .8-.4.8-.8.1-.6-.3-1-.7-1H.8c-.4 0-.8.4-.8.8v4.3c0 .5.4.9.8.9s.8-.4.8-.8v-2c1 1.5 2.3 2.8 3.8 3.8 2 1.3 4.3 2 6.6 2 3 0 6-1.1 8.2-3.2 2.2-2.1 3.6-4.9 3.8-7.9 0-.5-.3-.9-.8-.9zm0-9c-.5 0-.8.4-.8.8v2c-1-1.5-2.3-2.8-3.8-3.8-2-1.3-4.3-2-6.6-2-3 0-6 1.1-8.2 3.2C1.6 5.3.3 8.1 0 11.1c0 .5.3.9.8.9s.9-.3.9-.8C1.9 8.6 3 6.2 5 4.4c1.9-1.8 4.4-2.8 7-2.8 2 0 4 .6 5.7 1.7 1.5 1 2.7 2.3 3.5 3.9h-2.3c-.5 0-.8.4-.8.8-.1.6.3 1 .7 1h4.3c.5 0 .9-.4.9-.8V3.8c0-.4-.4-.8-.8-.8z"},null,-1),Fa=[Ra];function Pa(e,t){return S(),M("svg",La,[].concat(Fa))}var Ha={render:Pa},za=function(){return oe({name:"IconConmentRefresh",component:Ha})()},Na={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ba=L("path",{class:"delta-down_svg__st0",d:"M2 6h20L12 19z"},null,-1),Va=[Ba];function ja(e,t){return S(),M("svg",Na,[].concat(Va))}var Wa={render:ja},yo=function(){return oe({name:"IconDeltaDown",component:Wa})()},Ga={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Xa=L("path",{class:"delta-left_svg__st0",d:"M18 2v20L5 12z"},null,-1),Ya=[Xa];function qa(e,t){return S(),M("svg",Ga,[].concat(Ya))}var Ka={render:qa},Za=function(){return oe({name:"IconDeltaLeft",component:Ka})()},Ua={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ja=L("path",{class:"delta-up_svg__st0",d:"M2 19h20L12 6z"},null,-1),Qa=[Ja];function es(e,t){return S(),M("svg",Ua,[].concat(Qa))}var ts={render:es},rs=function(){return oe({name:"IconDeltaUp",component:ts})()},ns={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},is=L("path",{class:"double-left_svg__st0",d:"M13 21c-.2 0-.5-.1-.6-.2l-9.9-8c-.4-.2-.5-.5-.5-.8 0-.3.1-.6.4-.8l9.9-7.9c.4-.4 1.1-.3 1.4.2.4.4.3 1.1-.2 1.4L4.7 12l8.9 7.2c.4.4.5 1 .2 1.4-.2.3-.5.4-.8.4z"},null,-1),os=L("path",{class:"double-left_svg__st0",d:"M21 21c-.2 0-.5-.1-.6-.2l-9.9-8c-.4-.2-.5-.5-.5-.8 0-.3.1-.6.4-.8l9.9-7.9c.4-.4 1.1-.3 1.4.2.4.4.3 1.1-.2 1.4L12.7 12l8.9 7.2c.4.4.5 1 .2 1.4-.2.3-.5.4-.8.4z"},null,-1),ls=[is,os];function as(e,t){return S(),M("svg",ns,[].concat(ls))}var ss={render:as},Sr=function(){return oe({name:"IconDoubleLeft",component:ss})()},cs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},us=L("path",{class:"double-right_svg__st0",d:"M11 21c.2 0 .5-.1.6-.2l9.9-8c.2-.2.4-.5.4-.8 0-.3-.1-.6-.4-.8l-9.9-7.9c-.4-.4-1.1-.3-1.4.2-.4.4-.3 1.1.2 1.4l8.9 7.2-8.9 7.2c-.4.4-.5 1-.2 1.4.2.2.5.3.8.3z"},null,-1),ds=L("path",{class:"double-right_svg__st0",d:"M3 21c.2 0 .5-.1.6-.2l9.9-8c.2-.2.4-.5.4-.8 0-.3-.1-.6-.4-.8l-9.8-8c-.4-.3-1.1-.3-1.4.2-.4.4-.3 1.1.1 1.4l8.9 7.2-8.9 7.2c-.4.4-.5 1-.2 1.4.2.3.5.4.8.4z"},null,-1),fs=[us,ds];function hs(e,t){return S(),M("svg",cs,[].concat(fs))}var vs={render:hs},$r=function(){return oe({name:"IconDoubleRight",component:vs})()},ps={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},gs=L("path",{class:"down_svg__st0",d:"M2 6h20L12 19z"},null,-1),ms=[gs];function bs(e,t){return S(),M("svg",ps,[].concat(ms))}var ys={render:bs},Cs=function(){return oe({name:"IconDown",component:ys})()},ws={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ss=L("g",{transform:"translate(-4 -10)"},[L("circle",{class:"ellipsis_svg__st0",cx:"9",cy:"22",r:"1.5"}),L("circle",{class:"ellipsis_svg__st0",cx:"16",cy:"22",r:"1.5"}),L("circle",{class:"ellipsis_svg__st0",cx:"23",cy:"22",r:"1.5"})],-1),$s=[Ss];function xs(e,t){return S(),M("svg",ws,[].concat($s))}var _s={render:xs},Co=function(){return oe({name:"IconEllipsis",component:_s})()},ks={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ts=L("path",{class:"fullscreen_svg__st0",d:"M8 3H4.5l5.2 5.3c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L3 4.3V8c0 .6-.4 1-1 1s-1-.4-1-1V2c0-.6.4-1 1-1h6c.5 0 1 .4 1 1s-.4 1-1 1zM8 21H4.5l5.2-5.3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L3 19.7V16c0-.6-.4-1-1-1s-1 .4-1 1v6c0 .6.4 1 1 1h6c.5 0 1-.4 1-1s-.4-1-1-1zM16 3h3.5l-5.2 5.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L21 4.3V8c0 .6.4 1 1 1s1-.4 1-1V2c0-.6-.4-1-1-1h-6c-.5 0-1 .4-1 1s.4 1 1 1zM16 21h3.5l-5.2-5.3c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.3 5.4V16c0-.6.4-1 1-1s1 .4 1 1v6c0 .6-.4 1-1 1h-6c-.5 0-1-.4-1-1s.4-1 1-1z"},null,-1),Es=[Ts];function Is(e,t){return S(),M("svg",ks,[].concat(Es))}var Os={render:Is},Ms=function(){return oe({name:"IconFullscreen",component:Os})()},As={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ds=L("path",{class:"minscreen_svg__st0",d:"M3 8h3.5L1.3 2.7c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0L8 6.7V3c0-.6.4-1 1-1s1 .4 1 1v6c0 .6-.4 1-1 1H3c-.5 0-1-.4-1-1s.4-1 1-1zM3 16h3.5l-5.2 5.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L8 17.3V21c0 .6.4 1 1 1s1-.4 1-1v-6c0-.6-.4-1-1-1H3c-.5 0-1 .4-1 1s.4 1 1 1zM21 8h-3.5l5.2-5.3c.4-.4.4-1 0-1.4s-1-.4-1.4 0L16 6.7V3c0-.6-.4-1-1-1s-1 .4-1 1v6c0 .6.4 1 1 1h6c.5 0 1-.4 1-1s-.4-1-1-1zM21 16h-3.5l5.2 5.3c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L16 17.3V21c0 .6-.4 1-1 1s-1-.4-1-1v-6c0-.6.4-1 1-1h6c.5 0 1 .4 1 1s-.4 1-1 1z"},null,-1),Ls=[Ds];function Rs(e,t){return S(),M("svg",As,[].concat(Ls))}var Fs={render:Rs},Ps=function(){return oe({name:"IconMinscreen",component:Fs})()},Hs={class:"popup_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zs=L("path",{d:"M292.768 449.694c2.491.515 4.99.987 7.469 1.551 28.956 6.587 48.828 32.893 47.59 62.98-1.187 28.85-23.508 53.387-52.383 57.605-.904.132-1.784.433-2.676.655H280.21c-.773-.21-1.536-.498-2.323-.615-26.22-3.891-46.433-23.108-51.662-49.134-.36-1.793-.753-3.579-1.13-5.369V504.81c.233-.992.536-1.973.694-2.977 3.902-24.797 21.983-44.51 46.302-50.418 2.688-.653 5.413-1.151 8.12-1.722 4.185.002 8.371.002 12.557.002zm212.46 122.792c-2.49-.515-4.99-.988-7.469-1.55-28.956-6.589-48.828-32.895-47.59-62.981 1.186-28.85 23.507-53.387 52.383-57.604.905-.132 1.785-.433 2.676-.656h12.557c2.491.515 4.99.987 7.47 1.551 28.956 6.587 48.828 32.893 47.59 62.98-1.186 28.85-23.507 53.387-52.383 57.605-.904.132-1.784.433-2.676.655h-12.558zm224.692 0c-2.491-.515-4.991-.988-7.47-1.55-28.957-6.589-48.829-32.895-47.59-62.981 1.186-28.85 23.507-53.387 52.383-57.604.904-.132 1.784-.433 2.676-.656h12.557c.774.209 1.536.498 2.324.615 26.22 3.89 46.433 23.108 51.661 49.134.361 1.793.753 3.58 1.131 5.368v12.558c-.234.992-.536 1.973-.695 2.977-3.902 24.798-21.983 44.51-46.302 50.418-2.688.654-5.412 1.152-8.12 1.723-4.184-.002-8.369-.002-12.555-.002z"},null,-1),Ns=[zs];function Bs(e,t){return S(),M("svg",Hs,[].concat(Ns))}var Vs={render:Bs},qt=function(){return oe({name:"IconPopup",component:Vs})()},js={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ws=L("path",{class:"sort_svg__st0",d:"M2 14h20L12 24 2 14zm0-4L12 0l10 10H2z"},null,-1),Gs=[Ws];function Xs(e,t){return S(),M("svg",js,[].concat(Gs))}var Ys={render:Xs},qs=function(){return oe({name:"IconSort",component:Ys})()},Ks={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},Zs=L("path",{d:"M12.243 6 8.14 10.101a.2.2 0 0 1-.282 0L3.757 6h0",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Us=[Zs];function Js(e,t){return S(),M("svg",Ks,[].concat(Us))}var Qs={render:Js},ec=function(){return oe({name:"IconTriangleDown",component:Qs})()},tc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 126 151","xml:space":"preserve"},rc=L("path",{d:"M112.524 12.653 75.041 62.736l-.023 74.905 12.502 12.484V62.736l37.507-50.083V.193H.002v12.46L37.51 62.736v62.42l12.502 12.485V62.736L12.505 12.653z"},null,-1),nc=[rc];function ic(e,t){return S(),M("svg",tc,[].concat(nc))}var oc={render:ic},wo=function(){return oe({name:"IconUnfilter",component:oc})()},lc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},ac=L("path",{class:"up_svg__st0",d:"M2 19h20L12 6z"},null,-1),sc=[ac];function cc(e,t){return S(),M("svg",lc,[].concat(sc))}var uc={render:cc},dc=function(){return oe({name:"IconUp",component:uc})()},fc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",style:{"enable-background":"new 0 0 16 16"},"xml:space":"preserve"},hc=L("path",{class:"down-ward_svg__st0",d:"M8 11.43c-.15 0-.31-.06-.42-.18L1.92 5.6c-.23-.23-.23-.61 0-.85s.61-.23.85 0L8 9.98l5.23-5.23a.61.61 0 0 1 .85 0c.23.23.23.61 0 .85l-5.66 5.66c-.11.11-.27.17-.42.17z"},null,-1),vc=[hc];function pc(e,t){return S(),M("svg",fc,[].concat(vc))}var gc={render:pc},Yn=function(){return oe({name:"IconDownWard",component:gc})()},mc={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",style:{"enable-background":"new 0 0 16 16"},"xml:space":"preserve"},bc=L("path",{class:"sort-triangle_svg__st0",d:"M11.75 9.43 7.99 13.5 4.25 9.43h7.5M8 1.5c-.28 0-.55.11-.75.32L3.44 5.97c-.16.18-.25.4-.25.64 0 .53.45.97 1 .97h7.61c.24 0 .48-.09.66-.24.41-.35.45-.96.09-1.36l-3.8-4.16a.647.647 0 0 1-.09-.08c-.19-.16-.42-.24-.66-.24l.01 1 3.74 4.07h-7.5L7.99 2.5H8v-1zm3.81 6.93H4.19c-.24 0-.48.09-.66.24-.41.35-.45.96-.08 1.36l3.81 4.14c.03.03.06.06.09.08.18.17.41.25.65.25.28 0 .55-.11.75-.32l3.81-4.14c.16-.18.25-.4.25-.64 0-.54-.45-.97-1-.97z"},null,-1),yc=[bc];function Cc(e,t){return S(),M("svg",mc,[].concat(yc))}var wc={render:Cc},Sc=function(){return oe({name:"IconSortTriangle",component:wc})()},$c={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",style:{"enable-background":"new 0 0 16 16"},"xml:space":"preserve"},xc=L("path",{class:"sort-triangle-ascending_svg__st0",d:"M8 1.5c.24 0 .47.08.66.24.03.03.06.06.09.08l3.81 4.14a.93.93 0 0 1-.09 1.36c-.18.16-.42.24-.66.24H4.19c-.55 0-1-.43-1-.97 0-.24.09-.46.25-.64l3.81-4.14c.2-.2.47-.31.75-.31m4.81 7.89c0 .24-.09.46-.25.64l-3.81 4.14c-.2.22-.47.33-.75.33-.24 0-.47-.08-.66-.24-.03-.03-.06-.05-.09-.08l-3.81-4.14a.938.938 0 0 1 .08-1.36c.18-.16.42-.24.66-.24h7.61c.57-.01 1.02.42 1.02.95zm-1.06.04h-7.5l3.74 4.07 3.76-4.07z"},null,-1),_c=[xc];function kc(e,t){return S(),M("svg",$c,[].concat(_c))}var Tc={render:kc},Ec=function(){return oe({name:"IconSortTriangleAscending",component:Tc})()},Ic={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",style:{"enable-background":"new 0 0 16 16"},"xml:space":"preserve"},Oc=L("path",{class:"sort-triangle-descending_svg__st0",d:"M8 14.5c-.24 0-.47-.08-.66-.24-.03-.03-.06-.05-.09-.08l-3.81-4.14a.93.93 0 0 1 .09-1.36c.18-.16.42-.24.66-.24h7.61c.55 0 1 .43 1 .97 0 .24-.09.46-.25.64l-3.81 4.14c-.19.2-.46.31-.74.31M3.19 6.61c0-.24.09-.46.25-.64l3.81-4.14c.2-.22.47-.33.75-.33.24 0 .47.08.66.24.03.03.06.06.09.08l3.81 4.14c.37.4.33 1.01-.08 1.36-.18.16-.42.24-.66.24H4.19c-.55.01-1-.42-1-.95zm1.06-.04h7.51L8.01 2.5 4.25 6.57z"},null,-1),Mc=[Oc];function Ac(e,t){return S(),M("svg",Ic,[].concat(Mc))}var Dc={render:Ac},Lc=function(){return oe({name:"IconSortTriangleDescending",component:Dc})()},Rc={viewBox:"0 0 96 96",xmlns:"http://www.w3.org/2000/svg"},Fc=nt('<g fill="none" fill-rule="evenodd"><path d="M0 1h96v96H0z"></path><path d="M3 .5h90v90H3z"></path><path d="M18.3 29.3h61.406c.88 0 1.594.714 1.594 1.594v44.25a4.555 4.555 0 0 1-4.555 4.556h-53.89a4.555 4.555 0 0 1-4.555-4.555V29.3Z" fill="#EEE"></path><path d="M15.394 29.3H64.2v45.845a4.555 4.555 0 0 1-4.555 4.555h-41.29a4.555 4.555 0 0 1-4.555-4.555v-44.25c0-.881.714-1.595 1.594-1.595Z" fill="#FFF"></path><path d="M64.2 29.3H14.74c-.784 0-1.514.404-1.93 1.069L4.99 42.857a1.139 1.139 0 0 0 .966 1.743h45.865a4.555 4.555 0 0 0 3.824-2.08L64.2 29.3ZM64.2 29.3h16.832c.775 0 1.497.395 1.916 1.047l8.026 12.499a1.139 1.139 0 0 1-.959 1.754h-14.21a4.555 4.555 0 0 1-3.926-2.246L64.2 29.3Z" fill="#FFF"></path><path d="M3 .5h90v90H3z"></path><path d="M81.813 44.102V75.65a4.05 4.05 0 0 1-4.05 4.05H60.207v-.9h17.556a3.15 3.15 0 0 0 3.15-3.15V44.102h.9Z" fill="#818181" fill-rule="nonzero"></path><path d="M64.65 29.3v46.35a4.05 4.05 0 0 1-4.05 4.05H17.4a4.05 4.05 0 0 1-4.05-4.05V44.102h.9V75.65a3.15 3.15 0 0 0 3.15 3.15h43.2a3.15 3.15 0 0 0 3.15-3.15V30.2H15.06v-.9h49.59Z" fill="#818181" fill-rule="nonzero"></path><path d="M14.476 29.3a1.8 1.8 0 0 0-1.526.845L4.762 43.222a.9.9 0 0 0 .763 1.378h46.817a3.6 3.6 0 0 0 3.022-1.644L64.2 29.3H14.476Zm0 .9h48.07l-7.938 12.267a2.7 2.7 0 0 1-2.266 1.233H5.525l8.188-13.078a.9.9 0 0 1 .763-.422ZM81.293 29.3a1.8 1.8 0 0 1 1.514.827l8.403 13.087a.9.9 0 0 1-.757 1.386H75.259a3.6 3.6 0 0 1-3.103-1.775L64.2 29.3h17.093Zm0 .9h-15.52l7.159 12.169a2.7 2.7 0 0 0 2.327 1.331h15.194L82.05 30.614a.9.9 0 0 0-.757-.414Z" fill="#818181" fill-rule="nonzero"></path><g fill="#818181" fill-rule="nonzero"><path d="M48.9 10.85v6.3a.45.45 0 0 1-.9 0v-6.3a.45.45 0 1 1 .9 0ZM65.344 14.13l-3.15 5.455a.45.45 0 1 1-.78-.45l3.15-5.456a.45.45 0 0 1 .78.45ZM32.336 13.68l3.15 5.455a.45.45 0 1 1-.78.45l-3.15-5.456a.45.45 0 0 1 .78-.45Z"></path></g><g transform="translate(20.1 60.8)"><rect fill="#0067D1" width="14.4" height="4.5" rx="1.14"></rect><rect fill="#818181" y="8.1" width="10.8" height="1" rx=".399"></rect><rect fill="#818181" y="11.7" width="5.4" height="1" rx=".399"></rect></g></g>',1),Pc=[Fc];function Hc(e,t){return S(),M("svg",Rc,[].concat(Pc))}var zc={render:Hc},Nc=function(){return oe({name:"IconNoData",component:zc})()},Bc={viewBox:"0 0 96 96",xmlns:"http://www.w3.org/2000/svg"},Vc=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><path d="m13.076 37.224 31.573-22.36a4.555 4.555 0 0 1 5.265 0l31.574 22.36a4.555 4.555 0 0 1 1.922 3.718V80.36a3.417 3.417 0 0 1-3.416 3.417H14.57a3.417 3.417 0 0 1-3.417-3.417V40.942c0-1.478.717-2.864 1.923-3.718Z" fill="#FFF"></path><path d="m49.612 14.65 32.114 22.743a3.98 3.98 0 0 1 1.684 3.247v40.146a3 3 0 0 1-3.01 2.99H14.164a3 3 0 0 1-3.01-2.99V40.64a3.98 3.98 0 0 1 1.683-3.247L44.951 14.65a4.036 4.036 0 0 1 4.661 0Zm-4.078.812L13.42 38.205a2.984 2.984 0 0 0-1.263 2.435v40.146a2 2 0 0 0 2.007 1.994H80.4a2 2 0 0 0 2.007-1.994V40.64c0-.967-.47-1.874-1.263-2.435L49.03 15.462a3.027 3.027 0 0 0-3.496 0Z" fill="#818181" fill-rule="nonzero"></path><path d="M44.638 56.15a4.541 4.541 0 0 1 5.096-.13l.192.13L83.41 80.548a.628.628 0 0 1-.998.508L49.338 56.958a3.532 3.532 0 0 0-3.935-.12l-.178.12-33.074 24.098a.628.628 0 0 1-.998-.508L44.638 56.15Z" fill="#818181" fill-rule="nonzero"></path><path d="M83.41 40.912 52.3 59.062l29.3 21.399a1.139 1.139 0 0 0 1.81-.92v-38.63Z" fill="#EEE"></path><path d="M83.41 40.912v38.9c0 .213-.068.42-.195.591a1.008 1.008 0 0 1-1.403.213L52.3 59.063l31.11-18.151Zm-1.003 1.74L54.12 59.157l28.286 20.657v-37.16Z" fill="#818181" fill-rule="nonzero"></path><path d="m11.153 40.912 31.11 18.15-29.3 21.399a1.139 1.139 0 0 1-1.81-.92v-38.63Z" fill="#EEE"></path><path d="M11.153 40.912v38.9c0 .213.068.42.195.591.328.444.957.539 1.403.213l29.513-21.553-31.11-18.151Zm1.004 1.74 28.285 16.504-28.285 20.657v-37.16Z" fill="#818181" fill-rule="nonzero"></path><g fill-rule="nonzero"><path d="M82.964 52.173c-5.533 0-10.035 4.472-10.035 9.968 0 5.497 4.502 9.969 10.035 9.969C88.498 72.11 93 67.638 93 62.14c0-5.496-4.502-9.968-10.036-9.968" fill="#0067D1"></path><path d="M82.964 56.908a.75.75 0 0 1 .753.747v5.856a.75.75 0 0 1-.753.748.75.75 0 0 1-.752-.748v-5.856a.75.75 0 0 1 .752-.747M82.964 67.624a1 1 0 0 1-1.003-.997 1 1 0 0 1 1.003-.997 1 1 0 0 1 1.004.997 1 1 0 0 1-1.004.997" fill="#FFF"></path></g><g fill="#818181"><path d="M17.064 20.162h-1v7.45h1zM6.982 24.117a.464.464 0 0 0 0 .658l4.64 4.61a.47.47 0 0 0 .664 0 .464.464 0 0 0 0-.658l-4.641-4.61a.47.47 0 0 0-.663 0ZM3 33.666c0 .257.208.466.466.466h6.57a.466.466 0 0 0 0-.932h-6.57a.466.466 0 0 0-.466.466Z"></path></g></g>',1),jc=[Vc];function Wc(e,t){return S(),M("svg",Bc,[].concat(jc))}var Gc={render:Wc},Xc=function(){return oe({name:"IconNoNews",component:Gc})()},Yc={viewBox:"0 0 96 96",xmlns:"http://www.w3.org/2000/svg"},qc=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><g transform="translate(3 17)"><rect fill="#FFF" width="81.173" height="61.765" rx="4.218"></rect><path d="M77.432 0c2.066 0 3.741 1.656 3.741 3.698v54.368c0 2.043-1.675 3.699-3.74 3.699H3.74C1.675 61.765 0 60.109 0 58.066V3.698C0 1.656 1.675 0 3.74 0h73.692Zm0 1H3.741C2.233 1 1.01 2.208 1.01 3.698v54.368c0 1.49 1.222 2.7 2.73 2.7h73.691c1.508 0 2.73-1.21 2.73-2.7V3.698c0-1.49-1.222-2.698-2.73-2.698Z" fill="#8F8F8F" fill-rule="nonzero"></path><path d="M4.218 0h72.627a4.218 4.218 0 0 1 4.218 4.218v9.266H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M77.322 0c2.066 0 3.741 1.656 3.741 3.698v9.786H0V3.698C0 1.656 1.675 0 3.74 0h73.582Zm0 1H3.741C2.233 1 1.01 2.208 1.01 3.698v8.786h79.041V3.698c0-1.454-1.163-2.64-2.62-2.696L77.322 1Z" fill="#818181" fill-rule="nonzero"></path><path d="M74.504 8.464c.89 0 1.61-.71 1.61-1.587s-.72-1.587-1.61-1.587c-.89 0-1.61.71-1.61 1.587 0 .876.72 1.587 1.61 1.587Zm-5.37 0c.89 0 1.612-.71 1.612-1.587s-.722-1.587-1.611-1.587c-.89 0-1.61.71-1.61 1.587 0 .876.72 1.587 1.61 1.587Zm-5.368 0c.89 0 1.61-.71 1.61-1.587s-.72-1.587-1.61-1.587c-.89 0-1.61.71-1.61 1.587 0 .876.72 1.587 1.61 1.587Z" fill="#818181"></path></g><g fill-rule="nonzero"><path d="M82.9 49.622c-5.569 0-10.1 4.48-10.1 9.986s4.531 9.985 10.1 9.985c5.57 0 10.1-4.48 10.1-9.985 0-5.507-4.53-9.986-10.1-9.986" fill="#0067D1"></path><path d="M82.9 54.365c.418 0 .758.335.758.749v5.866c0 .413-.34.749-.758.749a.754.754 0 0 1-.757-.75v-5.865c0-.414.339-.75.757-.75M82.9 65.1c-.557 0-1.01-.447-1.01-.999s.453-.998 1.01-.998c.558 0 1.01.446 1.01.998s-.452.999-1.01.999" fill="#FFF"></path></g><path d="M43.137 46.478c2.134 0 3.864 1.61 3.864 3.596v1.766h.11c1.27 0 2.308.925 2.38 2.09l.005.13v4.993c0 1.225-1.068 2.219-2.385 2.219h-7.949c-1.317 0-2.385-.994-2.385-2.22V54.06c0-1.225 1.069-2.22 2.385-2.22h.11v-1.766c0-1.933 1.638-3.509 3.693-3.593l.172-.003Zm-3.325 6.288h-.704c-.667 0-1.208.51-1.208 1.138v5.12c0 .629.54 1.138 1.208 1.138h8.057c.667 0 1.209-.51 1.209-1.138v-5.12c0-.628-.542-1.138-1.209-1.138h-7.353Zm3.138 1.849a.56.56 0 0 1 .556.48l.005.075.001 1.478a.921.921 0 0 1 .373.74.93.93 0 0 1-.935.925.93.93 0 0 1-.936-.925c0-.303.147-.571.374-.74V55.17c0-.307.252-.555.562-.555Zm.187-7.028c-1.446 0-2.619 1.065-2.619 2.379v1.69h5.237v-1.69c0-1.27-1.095-2.307-2.474-2.375l-.144-.004Z" fill="#818181" fill-rule="nonzero"></path></g>',1),Kc=[qc];function Zc(e,t){return S(),M("svg",Yc,[].concat(Kc))}var Uc={render:Zc},Jc=function(){return oe({name:"IconNoPerm",component:Uc})()},Qc={viewBox:"0 0 96 96",xmlns:"http://www.w3.org/2000/svg"},eu=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><path d="M59.584 11h8.796a5.062 5.062 0 0 1 5.062 5.062v9.875c0 .698-.567 1.265-1.266 1.265H59.584V11Z" fill="#EEE"></path><path d="M68.822 11a4.624 4.624 0 0 1 4.62 4.63v10.415c0 .639-.517 1.157-1.155 1.157H59.584V11h9.238Zm0 1.043h-8.197v14.116h11.662a.115.115 0 0 0 .114-.114V15.629a3.583 3.583 0 0 0-3.579-3.586Z" fill="#818181" fill-rule="nonzero"></path><path d="M14.257 11h54.546l.31.988c-5.005 0-4.363 3.19-4.363 13.066V37.04a5.483 5.483 0 1 0 0 .007v40.221a5.483 5.483 0 0 1-5.484 5.483H14.257a5.483 5.483 0 0 1-5.483-5.483V16.483A5.483 5.483 0 0 1 14.257 11Z" fill="#FFF"></path><path d="m68.803 11 .31.988c-5.005 0-4.363 3.19-4.363 13.066v52.683a5.01 5.01 0 0 1-5.004 5.014H13.778a5.01 5.01 0 0 1-5.004-5.014V16.015A5.01 5.01 0 0 1 13.778 11h55.025Zm-55.025 1.043a3.968 3.968 0 0 0-3.964 3.972v61.722a3.968 3.968 0 0 0 3.964 3.972h45.968a3.968 3.968 0 0 0 3.963-3.972v-52.84c0-.784-.004-1.5-.013-2.654-.006-.781-.01-1.48-.01-2.106v-.408c.005-3.379.121-4.57.546-5.829.263-.783.646-1.396 1.162-1.856l-51.616-.001Z" fill="#818181" fill-rule="nonzero"></path><path d="M60.002 82.751H10.33A7.33 7.33 0 0 1 3 75.422v-6.486c0-.466.378-.843.844-.843h50.381c.466 0 .844.377.844.843v8.561c0 1.886 1.277 4.226 4.006 4.226 1.714 0 .094 1.028.927 1.028Z" fill="#FFF"></path><path d="M54.299 68.093a.77.77 0 0 1 .77.771v8.633c0 1.886 1.277 4.226 4.006 4.226 1.714 0 .094 1.028.927 1.028H10.314C6.274 82.751 3 79.47 3 75.422v-6.558a.77.77 0 0 1 .77-.771h50.529Zm-.27 1.042H4.04v6.287c0 3.42 2.725 6.201 6.117 6.285l.157.002H55.97l-.033-.027c-1.173-.954-1.868-2.44-1.907-4.043l-.002-.142v-8.362Z" fill="#818181" fill-rule="nonzero"></path><path d="m81.398 74.93-2.891-2.897a.634.634 0 0 1 .894-.896l2.892 2.897a.634.634 0 0 1-.895.897Z" fill="#818181"></path><path d="M81.637 74.326a2.076 2.076 0 0 1 2.94 0l5.88 5.891a2.085 2.085 0 0 1 0 2.946 2.076 2.076 0 0 1-2.94 0l-5.88-5.892a2.085 2.085 0 0 1 0-2.945Z" fill="#FFF"></path><path d="M81.628 74.326a2.08 2.08 0 0 1 2.943.003l5.891 5.892a2.08 2.08 0 0 1 .004 2.942 2.08 2.08 0 0 1-2.943-.003l-5.892-5.892a2.08 2.08 0 0 1-.003-2.942Zm.736.736a1.04 1.04 0 0 0 .002 1.471l5.892 5.892a1.04 1.04 0 1 0 1.47-1.47l-5.892-5.891a1.04 1.04 0 0 0-1.472-.002Z" fill="#818181" fill-rule="nonzero"></path><path d="M69.578 46.265c8.023 0 14.55 6.54 14.55 14.581s-6.527 14.582-14.55 14.582-14.55-6.541-14.55-14.582c0-8.04 6.527-14.581 14.55-14.581Z" fill="#FFF"></path><path d="M69.578 46.265c8.023 0 14.55 6.54 14.55 14.581s-6.527 14.582-14.55 14.582-14.55-6.541-14.55-14.582c0-8.04 6.527-14.581 14.55-14.581Zm0 1.041c-7.45 0-13.511 6.075-13.511 13.54 0 7.466 6.062 13.54 13.51 13.54 7.45 0 13.512-6.074 13.512-13.54 0-7.465-6.062-13.54-13.511-13.54Z" fill="#818181" fill-rule="nonzero"></path><g fill="#818181"><path d="M78.435 35.48h1v7.785h-1zM88.876 39.613c.19.19.19.498 0 .688l-4.806 4.816a.485.485 0 1 1-.686-.688l4.806-4.816a.485.485 0 0 1 .686 0ZM93 49.59a.487.487 0 0 1-.487.486H85.72a.487.487 0 0 1 0-.973h6.794c.27 0 .487.218.487.487Z"></path></g><g fill-rule="nonzero"><path d="M37.009 32.603c-5.73 0-10.393 4.672-10.393 10.415 0 5.743 4.662 10.416 10.393 10.416 5.73 0 10.393-4.673 10.393-10.416s-4.663-10.415-10.393-10.415" fill="#0067D1"></path><path d="M37.009 37.55c.43 0 .78.35.78.781v6.118a.78.78 0 1 1-1.56 0v-6.118a.78.78 0 0 1 .78-.781M37.009 48.747a1.04 1.04 0 0 1-1.04-1.042 1.04 1.04 0 1 1 2.08 0 1.04 1.04 0 0 1-1.04 1.042" fill="#FFF"></path></g></g>',1),tu=[eu];function ru(e,t){return S(),M("svg",Qc,[].concat(tu))}var nu={render:ru},iu=function(){return oe({name:"IconNoResult",component:nu})()},ou={viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},lu=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h120v120H0z"></path><g fill-rule="nonzero"><g transform="translate(4 21)"><rect fill="#FFF" width="102.819" height="78" rx="4.218"></rect><path d="M98.08 0c2.618 0 4.74 2.091 4.74 4.67v68.66c0 2.579-2.122 4.67-4.74 4.67H4.739C2.121 78 0 75.909 0 73.33V4.67C0 2.092 2.121 0 4.738 0h93.343Zm0 1.262H4.739c-1.91 0-3.457 1.526-3.457 3.409v68.658c0 1.883 1.548 3.409 3.457 3.409h93.343c1.91 0 3.458-1.526 3.458-3.409V4.671c0-1.883-1.549-3.409-3.458-3.409Z" fill="#8F8F8F"></path><path d="M4.218 0h94.244a4.218 4.218 0 0 1 4.218 4.218v12.81H0V4.219A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M97.942 0c2.617 0 4.738 2.091 4.738 4.67V17.03H0V4.67C0 2.09 2.121 0 4.738 0h93.204Zm0 1.262H4.738c-1.91 0-3.457 1.526-3.457 3.409v11.095h100.118V4.671c0-1.837-1.473-3.334-3.318-3.406l-.14-.003Z" fill="#818181"></path><path d="M94.371 10.689c1.127 0 2.04-.898 2.04-2.004 0-1.107-.913-2.005-2.04-2.005-1.126 0-2.04.898-2.04 2.005 0 1.106.914 2.004 2.04 2.004Zm-6.8 0c1.127 0 2.04-.898 2.04-2.004 0-1.107-.913-2.005-2.04-2.005s-2.04.898-2.04 2.005c0 1.106.913 2.004 2.04 2.004Zm-6.8 0c1.126 0 2.04-.898 2.04-2.004 0-1.107-.914-2.005-2.04-2.005-1.128 0-2.041.898-2.041 2.005 0 1.106.913 2.004 2.04 2.004Z" fill="#818181"></path></g><path d="M105.207 62.196c-7.054 0-12.793 5.658-12.793 12.611 0 6.954 5.739 12.611 12.793 12.611 7.054 0 12.793-5.657 12.793-12.61 0-6.954-5.739-12.612-12.793-12.612" fill="#0067D1"></path><path d="M105.207 68.187c.53 0 .96.423.96.945v7.408c0 .522-.43.946-.96.946a.953.953 0 0 1-.96-.946v-7.408c0-.522.43-.945.96-.945M105.207 81.743a1.27 1.27 0 0 1-1.28-1.26 1.27 1.27 0 0 1 1.28-1.262c.706 0 1.28.564 1.28 1.261a1.27 1.27 0 0 1-1.28 1.261" fill="#FFF"></path><path d="M54.84 58.226c2.703 0 4.894 2.033 4.894 4.541v2.231h.14c1.608 0 2.924 1.168 3.016 2.639l.005.164v6.306c0 1.547-1.353 2.802-3.021 2.802H49.805c-1.668 0-3.02-1.255-3.02-2.802V67.8c0-1.547 1.353-2.802 3.02-2.802l.14-.001v-2.23c0-2.441 2.074-4.431 4.677-4.537l.218-.005Zm-4.212 7.941h-.891c-.845 0-1.53.644-1.53 1.437v6.467c0 .793.685 1.437 1.53 1.437h10.205c.846 0 1.531-.644 1.531-1.437v-6.467c0-.793-.686-1.437-1.53-1.437h-9.315Zm3.975 2.335c.36 0 .657.264.704.606l.007.095.001 1.867c.287.213.472.552.472.934 0 .645-.53 1.169-1.184 1.169a1.177 1.177 0 0 1-1.185-1.17c0-.381.186-.72.473-.934l.001-1.866c0-.387.318-.701.71-.701Zm.237-8.874c-1.832 0-3.317 1.344-3.317 3.003v2.134h6.633v-2.134c0-1.604-1.387-2.913-3.134-2.999l-.182-.004Z" fill="#818181"></path></g></g>',1),au=[lu];function su(e,t){return S(),M("svg",ou,[].concat(au))}var cu={render:su},uu=function(){return oe({name:"IconPageNoperm",component:cu})()},du={viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},fu=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h120v120H0z"></path><g fill-rule="nonzero" transform="translate(3 21)"><rect fill="#FFF" width="102.903" height="78.69" rx="4.218"></rect><path d="M98.16 0c2.62 0 4.743 2.11 4.743 4.712v69.266c0 2.603-2.123 4.712-4.742 4.712H4.742C2.123 78.69 0 76.58 0 73.978V4.712C0 2.11 2.123 0 4.742 0h93.419Zm0 1.274H4.743c-1.911 0-3.46 1.539-3.46 3.438v69.266c0 1.9 1.549 3.439 3.46 3.439h93.419c1.91 0 3.46-1.54 3.46-3.439V4.712c0-1.899-1.55-3.438-3.46-3.438Z" fill="#8F8F8F"></path><path d="M4.218 0h94.327a4.218 4.218 0 0 1 4.218 4.218v12.961H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M98.021 0c2.62 0 4.742 2.11 4.742 4.712v12.467H0V4.712C0 2.11 2.123 0 4.742 0h93.28Zm0 1.274H4.742c-1.911 0-3.46 1.539-3.46 3.438v11.194h100.2V4.712c0-1.853-1.475-3.363-3.321-3.436l-.14-.002Z" fill="#818181"></path><path d="M94.448 10.783a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021A2.032 2.032 0 0 0 85.6 8.76c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Z" fill="#818181"></path></g><g transform="translate(36.861 58.897)" stroke="#818181" stroke-width="1.139"><rect fill="#FFF" fill-rule="nonzero" width="36.189" height="19.038" rx="2.278"></rect><ellipse cx="17.858" cy="9.999" rx="2.266" ry="2.313"></ellipse><ellipse cx="26.363" cy="9.999" rx="2.266" ry="2.313"></ellipse><ellipse cx="9.353" cy="9.999" rx="2.266" ry="2.313"></ellipse></g><g fill-rule="nonzero"><path d="M106.39 62.363c-6.954 0-12.611 5.657-12.611 12.61 0 6.954 5.657 12.611 12.61 12.611 6.954 0 12.611-5.657 12.611-12.61 0-6.954-5.657-12.611-12.61-12.611" fill="#0067D1"></path><path d="M106.39 68.353c.521 0 .945.424.945.946v7.407a.946.946 0 0 1-1.891 0V69.3c0-.522.423-.946.945-.946M106.39 81.91a1.26 1.26 0 1 1-.001-2.522 1.26 1.26 0 0 1 0 2.521" fill="#FFF"></path></g></g>',1),hu=[fu];function vu(e,t){return S(),M("svg",du,[].concat(hu))}var pu={render:vu},gu=function(){return oe({name:"IconPageNothing",component:pu})()},mu={viewBox:"0 0 155 126",xmlns:"http://www.w3.org/2000/svg"},bu=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h155v126H0z"></path><g fill-rule="nonzero"><g transform="translate(83.562 20.562)"><path d="M58.876 55.25v26.94c0 .465-.189.887-.494 1.192a1.68 1.68 0 0 1-1.192.494H1.686a1.68 1.68 0 0 1-1.192-.494A1.68 1.68 0 0 1 0 82.19V55.25h58.876Z" stroke="#818181" stroke-width="1.124" fill="#FFF"></path><path stroke="#818181" stroke-width="1.124" fill="#FFF" d="M0 27.625h58.876v28.626H0z"></path><path d="M57.19 0c.465 0 .887.189 1.192.494.305.305.494.727.494 1.192v26.94H0V1.686C0 1.221.189.8.494.494A1.68 1.68 0 0 1 1.686 0H57.19Z" stroke="#818181" stroke-width="1.124" fill="#FFF"></path><circle fill="#0067D1" cx="44.938" cy="13.938" r="2.5"></circle><circle fill="#EEE" cx="44.938" cy="41.938" r="2.5"></circle><circle fill="#EEE" cx="44.938" cy="69.938" r="2.5"></circle><path fill="#EEE" d="M17.438 13.438h21v1h-21zM17.438 41.438h21v1h-21zM17.438 69.438h21v1h-21z"></path></g><path d="M3.444 104.021h147.112a.444.444 0 1 1 0 .888H3.444a.444.444 0 0 1 0-.888Z" fill="#818181"></path><g stroke="#818181" stroke-width=".964"><path d="M109.414 31.482c.931 0 1.775.377 2.385.988.61.61.988 1.454.988 2.385v61.014H14.213V34.855c0-.931.378-1.775.988-2.385a3.363 3.363 0 0 1 2.385-.988h91.828Z" fill="#EEE"></path><path d="m120.036 95.871.482 4.324a4.31 4.31 0 0 1-1.266 3.057 4.31 4.31 0 0 1-3.057 1.266H10.805a4.31 4.31 0 0 1-3.057-1.266 4.31 4.31 0 0 1-1.266-3.057v-3.842l113.554-.482Z" fill="#FFF"></path><path d="m78.817 95.871-.537 2.004a1.182 1.182 0 0 1-1.143.877H50.829a1.182 1.182 0 0 1-1.143-.877l-.537-2.004h29.668Z" fill="#EEE"></path><path d="M106.512 35.326c.665 0 1.268.27 1.704.706.436.436.705 1.038.705 1.703V95.87H18.08V37.735c0-.665.27-1.267.705-1.703a2.402 2.402 0 0 1 1.704-.706h86.024Z" fill="#FFF"></path></g><path d="M43.86 53.611c-6.892 0-12.5 5.608-12.5 12.5 0 6.893 5.608 12.5 12.5 12.5s12.5-5.607 12.5-12.5c0-6.892-5.608-12.5-12.5-12.5" fill="#0067D1"></path><path d="M44.195 59.714c.531 0 .962.431.962.963v7.547a.963.963 0 1 1-1.925 0v-7.547c0-.532.431-.963.963-.963M44.195 73.524a1.284 1.284 0 1 1 0-2.567 1.284 1.284 0 0 1 0 2.567" fill="#FFF"></path><g fill="#818181"><path d="M66.857 52.143h4.837a.48.48 0 0 1 0 .96h-4.837a.48.48 0 1 1 0-.96ZM77.487 52.143h17.668a.48.48 0 1 1 0 .96H77.487a.48.48 0 1 1 0-.96ZM66.857 58.87h28.147a.48.48 0 1 1 0 .961H66.857a.48.48 0 1 1 0-.96ZM66.857 65.597h28.147a.48.48 0 1 1 0 .961H66.857a.48.48 0 1 1 0-.96ZM66.857 72.325h28.147a.48.48 0 1 1 0 .96H66.857a.48.48 0 1 1 0-.96ZM66.857 79.052h4.837a.48.48 0 0 1 0 .961h-4.837a.48.48 0 0 1 0-.961ZM76.04 79.052h7.731v1h-7.73z"></path></g></g></g>',1),yu=[bu];function Cu(e,t){return S(),M("svg",mu,[].concat(yu))}var wu={render:Cu},Su=function(){return oe({name:"IconPageServererror",component:wu})()},$u={viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},xu=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h120v120H0z"></path><g fill-rule="nonzero"><g transform="translate(4 24)"><rect fill="#FFF" width="102.903" height="78.69" rx="4.218"></rect><path d="M98.16 0c2.62 0 4.743 2.11 4.743 4.712v69.266c0 2.603-2.123 4.712-4.742 4.712H4.742C2.123 78.69 0 76.58 0 73.978V4.712C0 2.11 2.123 0 4.742 0h93.419Zm0 1.274H4.743c-1.911 0-3.46 1.539-3.46 3.438v69.266c0 1.9 1.549 3.439 3.46 3.439h93.419c1.91 0 3.46-1.54 3.46-3.439V4.712c0-1.899-1.55-3.438-3.46-3.438Z" fill="#8F8F8F"></path><path d="M4.218 0h94.327a4.218 4.218 0 0 1 4.218 4.218v12.961H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M98.021 0c2.62 0 4.742 2.11 4.742 4.712v12.467H0V4.712C0 2.11 2.123 0 4.742 0h93.28Zm0 1.274H4.742c-1.911 0-3.46 1.539-3.46 3.438v11.194h100.2V4.712c0-1.853-1.475-3.363-3.321-3.436l-.14-.002Z" fill="#818181"></path><path d="M94.448 10.783a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021A2.032 2.032 0 0 0 85.6 8.76c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Z" fill="#818181"></path></g><path d="M54.175 78.041a1.421 1.421 0 0 1 2.02 0 1.445 1.445 0 0 1 0 2.034 1.421 1.421 0 0 1-2.02 0 1.445 1.445 0 0 1 0-2.034Zm5.512-3.995c.342.38.342.994 0 1.373a.818.818 0 0 1-1.24 0c-1.935-2.143-5.066-2.143-7 0a.818.818 0 0 1-1.24 0 1.046 1.046 0 0 1 0-1.373c2.619-2.901 6.86-2.901 9.48 0Zm4.285-3.562a.775.775 0 0 1 0 1.148.91.91 0 0 1-1.227 0c-4.18-3.908-10.942-3.908-15.12 0a.91.91 0 0 1-1.228 0 .775.775 0 0 1 0-1.148c4.857-4.542 12.718-4.542 17.575 0Zm3.333-3.945a.888.888 0 0 1 0 1.24.852.852 0 0 1-1.22 0 15.554 15.554 0 0 0-22.277 0 .852.852 0 0 1-1.22 0 .888.888 0 0 1 0-1.24 17.258 17.258 0 0 1 24.717 0Z" fill="#818181"></path><path d="M105.39 65.363c-6.954 0-12.611 5.657-12.611 12.61 0 6.954 5.657 12.611 12.61 12.611 6.954 0 12.611-5.657 12.611-12.61 0-6.954-5.657-12.611-12.61-12.611" fill="#0067D1"></path><path d="M105.39 71.353c.521 0 .945.424.945.946v7.407a.946.946 0 0 1-1.891 0V72.3c0-.522.423-.946.945-.946M105.39 84.91a1.26 1.26 0 1 1-.001-2.522 1.26 1.26 0 0 1 0 2.521" fill="#FFF"></path></g></g>',1),_u=[xu];function ku(e,t){return S(),M("svg",$u,[].concat(_u))}var Tu={render:ku},Eu=function(){return oe({name:"IconPageWeaknet",component:Tu})()},Iu={viewBox:"0 0 96 96",xmlns:"http://www.w3.org/2000/svg"},Ou=nt('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><g transform="translate(3 17)"><rect fill="#FFF" width="81.055" height="61.765" rx="4.218"></rect><path d="M77.32 0c2.062 0 3.735 1.656 3.735 3.698v54.368c0 2.043-1.673 3.699-3.736 3.699H3.735C1.672 61.765 0 60.109 0 58.066V3.698C0 1.656 1.672 0 3.735 0H77.32Zm0 1H3.734C2.23 1 1.01 2.208 1.01 3.698v54.368c0 1.49 1.22 2.7 2.725 2.7H77.32c1.506 0 2.726-1.21 2.726-2.7V3.698c0-1.49-1.22-2.698-2.726-2.698Z" fill="#8F8F8F" fill-rule="nonzero"></path><path d="M4.218 0h72.509a4.218 4.218 0 0 1 4.218 4.218v9.266H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M77.21 0c2.063 0 3.735 1.656 3.735 3.698v9.786H0V3.698C0 1.656 1.672 0 3.735 0H77.21Zm0 1H3.735C2.23 1 1.01 2.208 1.01 3.698v8.786h78.925V3.698c0-1.454-1.161-2.64-2.616-2.696L77.21 1Z" fill="#818181" fill-rule="nonzero"></path><path d="M74.395 8.464c.888 0 1.608-.71 1.608-1.587s-.72-1.587-1.608-1.587c-.888 0-1.608.71-1.608 1.587 0 .876.72 1.587 1.608 1.587Zm-5.361 0c.888 0 1.608-.71 1.608-1.587s-.72-1.587-1.608-1.587c-.888 0-1.608.71-1.608 1.587 0 .876.72 1.587 1.608 1.587Zm-5.361 0c.888 0 1.608-.71 1.608-1.587s-.72-1.587-1.608-1.587c-.888 0-1.608.71-1.608 1.587 0 .876.72 1.587 1.608 1.587Z" fill="#818181"></path></g><path d="M42.023 59.418a1.129 1.129 0 0 1 1.585 0 1.102 1.102 0 0 1 0 1.569 1.129 1.129 0 0 1-1.585 0 1.102 1.102 0 0 1 0-1.57Zm4.326-3.084a.797.797 0 0 1 0 1.06.65.65 0 0 1-.973 0c-1.519-1.654-3.976-1.654-5.494 0a.65.65 0 0 1-.973 0 .797.797 0 0 1 0-1.06c2.055-2.24 5.384-2.24 7.44 0Zm3.364-2.749a.591.591 0 0 1 0 .886.724.724 0 0 1-.963 0c-3.28-3.016-8.589-3.016-11.869 0a.724.724 0 0 1-.963 0 .591.591 0 0 1 0-.886c3.812-3.505 9.982-3.505 13.795 0Zm2.616-3.045a.677.677 0 0 1-.957.958c-4.832-4.835-12.654-4.835-17.486 0a.676.676 0 1 1-.957-.958c5.36-5.363 14.04-5.363 19.4 0Z" fill="#818181" fill-rule="nonzero"></path><g fill-rule="nonzero"><path d="M82.915 49.382c-5.561 0-10.085 4.48-10.085 9.986s4.524 9.986 10.085 9.986c5.56 0 10.085-4.48 10.085-9.986 0-5.507-4.524-9.986-10.085-9.986" fill="#0067D1"></path><path d="M82.915 54.125c.417 0 .756.336.756.749v5.866a.753.753 0 0 1-.756.749.753.753 0 0 1-.757-.75v-5.865c0-.413.34-.749.757-.749M82.915 64.86a1.003 1.003 0 0 1-1.009-.999c0-.552.452-.998 1.009-.998.557 0 1.008.446 1.008.998 0 .553-.451.999-1.008.999" fill="#FFF"></path></g></g>',1),Mu=[Ou];function Au(e,t){return S(),M("svg",Iu,[].concat(Mu))}var Du={render:Au},Lu=function(){return oe({name:"IconWeaknet",component:Du})()};const Ru=({broadcast:e,emit:t,nextTick:r})=>n=>{e("TinyDropdownMenu","visible",n),r(()=>t("visible-change",n))},Fu=e=>t=>{const r=e.$el.querySelector(".tiny-dropdown-selfdefine");r&&(t?pe(r,"focusing"):ge(r,"focusing"))},Pu=({props:e,state:t})=>()=>{e.disabled||(clearTimeout(Number(t.timeout)),t.timeout=setTimeout(()=>{t.visible=!0},t.trigger==="click"?0:e.showTimeout))},Hu=({api:e,props:t,state:r})=>()=>{t.disabled||(e.removeTabindex(),t.tabindex>=0&&r.triggerElm&&e.resetTabindex(r.triggerElm),clearTimeout(Number(r.timeout)),r.timeout=setTimeout(()=>{r.visible=!1},r.trigger==="click"?0:t.hideTimeout))},zu=({api:e,props:t,state:r,emit:n})=>()=>{t.disabled||(n("handle-click",r.visible),r.visible?e.hide():e.show())},Nu=({api:e,state:t})=>r=>{const n=r.keyCode;~[je.ArrowUp,je.ArrowDown].indexOf(n)?(e.removeTabindex(),t.menuItems&&(e.resetTabindex(t.menuItems[0]),t.menuItems[0].focus()),r.preventDefault(),r.stopPropagation()):n===je.Enter?e.handleClick():~[je.Tab,je.Escape].indexOf(n)&&e.hide()},Bu=({api:e,props:t,state:r})=>n=>{const i=n.keyCode,o=n.target,l=r.menuItemsArray.indexOf(o),a=r.menuItemsArray.length-1;let s;~[je.ArrowUp,je.ArrowDown].indexOf(i)?(i===je.ArrowUp?s=l!==0?l-1:0:s=l<a?l+1:a,e.removeTabindex(),r.menuItems&&(e.resetTabindex(r.menuItems[s]),r.menuItems[s].focus()),n.preventDefault(),n.stopPropagation()):i===je.Enter?(e.triggerElmFocus(),o==null||o.click(),t.hideOnClick&&(r.visible=!1)):~[je.Tab,je.Escape].indexOf(i)&&(e.hide(),e.triggerElmFocus())},Vu=e=>t=>{e.removeTabindex(),t.setAttribute("tabindex","0")},ju=e=>()=>{var t,r;(t=e.triggerElm)==null||t.setAttribute("tabindex","-1"),(r=e.menuItemsArray)==null||r.forEach(n=>{n.setAttribute("tabindex","-1")})},Wu=({state:e,props:t})=>()=>{var r,n,i,o,l;(r=e.dropdownElm)==null||r.setAttribute("id",e.listId),(n=e.triggerElm)==null||n.setAttribute("aria-haspopup","list"),(i=e.triggerElm)==null||i.setAttribute("aria-controls",e.listId),(!t.splitButton||!t.singleButton)&&((o=e.triggerElm)==null||o.setAttribute("role","button"),(l=e.triggerElm)==null||l.setAttribute("tabindex",String(t.tabindex)),pe(e.triggerElm,"tiny-dropdown-selfdefine"))},It=({state:e,value:t})=>()=>{e.focusing=t},Gu=({api:e,props:t,state:r,vm:n,mode:i})=>()=>{var o;let l=t.splitButton||t.singleButton;r.triggerElm=l||t.border?n.$refs.trigger.$el:n.$refs.trigger,he(r.triggerElm,"keydown",e.handleTriggerKeyDown),(o=r.dropdownElm)==null||o.addEventListener("keydown",e.handleItemKeyDown,!0),(!t.splitButton||!t.singleButton)&&(he(r.triggerElm,"focus",It({state:r,value:!0})),he(r.triggerElm,"blur",It({state:r,value:!1})),he(r.triggerElm,"click",It({state:r,value:!1}))),r.trigger==="hover"?(he(r.triggerElm,"mouseenter",e.show),he(r.triggerElm,"mouseleave",e.hide),he(r.dropdownElm,"mouseenter",e.show),he(r.dropdownElm,"mouseleave",e.hide)):r.trigger==="click"&&he(r.triggerElm,"click",e.handleClick),i==="mobile-first"&&(t.splitButton||t.singleButton)&&he(r.triggerElm,"click",e.handleClick)},Xu=({props:e,state:t,emit:r})=>({itemData:n,vm:i,disabled:o})=>{e.hideOnClick&&!o&&(t.visible=!1),o||r("item-click",{itemData:n,vm:i})},Yu=e=>()=>{var t;(t=e.triggerElm)!=null&&t.focus&&e.triggerElm.focus()},qu=({api:e,state:t,vm:r})=>()=>{var n;t.dropdownElm=r.popperElm,t.menuItems=(n=t.dropdownElm)==null?void 0:n.querySelectorAll('[tabindex="-1"]'),t.menuItemsArray=[].slice.call(t.menuItems),e.initEvent(),e.initAria()},Ku=({api:e,emit:t})=>r=>{t("button-click",r),e.hide()},Zu=({api:e,vm:t,state:r,broadcast:n})=>()=>{r.showSelfIcon&&(r.showIcon=!1),t.$on("menu-item-click",e.handleMenuItemClick),t.$on("current-item-click",e.handleMenuItemClick),t.$on("selected-index",i=>{n("TinyDropdownMenu","menu-selected-index",i)}),t.$on("is-disabled",e.clickOutside)},Uu=({api:e,state:t})=>()=>{t.triggerElm&&(Ne(t.triggerElm,"keydown",e.handleTriggerKeyDown),Ne(t.triggerElm,"focus",It({state:t,value:!0})),Ne(t.triggerElm,"blur",It({state:t,value:!1})),Ne(t.triggerElm,"click",It({state:t,value:!1})),Ne(t.triggerElm,"mouseenter",e.show),Ne(t.triggerElm,"mouseleave",e.hide),Ne(t.triggerElm,"click",e.handleClick),t.triggerElm=null),t.dropdownElm&&(t.dropdownElm.removeEventListener("keydown",e.handleItemKeyDown,!0),Ne(t.dropdownElm,"mouseenter",e.show),Ne(t.dropdownElm,"mouseleave",e.hide),t.dropdownElm=null)},Ju=({props:e,api:t})=>r=>{e.hideOnClick&&(r?t.show():t.hide())},So=["state","handleMainButtonClick","hide","show","initDomOperation","handleClick","clickOutside"],$o=(e,{reactive:t,watch:r,provide:n,onMounted:i,computed:o},{emit:l,parent:a,broadcast:s,vm:c,nextTick:u,mode:d,designConfig:f})=>{const h={},v=t({visible:!1,timeout:null,focusing:!1,menuItems:[],menuItemsArray:[],triggerElm:null,dropdownElm:null,listId:`dropdown-menu-${Wl()}`,showIcon:e.showIcon,showSelfIcon:e.showSelfIcon,designConfig:f,trigger:o(()=>{var p;return e.trigger||((p=f==null?void 0:f.props)==null?void 0:p.trigger)||"hover"})});return n("dropdownVm",c),Object.assign(h,{state:v,watchVisible:Ru({broadcast:s,emit:l,nextTick:u}),watchFocusing:Fu(a),show:Pu({props:e,state:v}),hide:Hu({api:h,props:e,state:v}),mounted:Zu({api:h,vm:c,state:v,broadcast:s}),handleClick:zu({api:h,props:e,state:v,emit:l}),handleTriggerKeyDown:Nu({api:h,state:v}),handleItemKeyDown:Bu({api:h,props:e,state:v}),resetTabindex:Vu(h),removeTabindex:ju(v),initAria:Wu({state:v,props:e}),initEvent:Gu({api:h,props:e,state:v,vm:c,mode:d}),handleMenuItemClick:Xu({props:e,state:v,emit:l}),handleMainButtonClick:Ku({api:h,emit:l}),triggerElmFocus:Yu(v),initDomOperation:qu({api:h,state:v,vm:c}),beforeDistory:Uu({api:h,state:v}),clickOutside:Ju({state:v,props:e,api:h})}),r(()=>v.visible,h.watchVisible),r(()=>v.focusing,h.watchFocusing),i(h.mounted),h},Qu=({emit:e,state:t})=>()=>{t.disabled||e("change",t.value)},ed=({emit:e,props:t,state:r})=>n=>{!r.disabled&&!n.disabled&&(r.value=n[t.valueField],e("update:modelValue",r.value))},td=({emit:e,props:t,state:r})=>n=>{if(!r.disabled){const i=r.moreData.indexOf(n);r.moreData.splice(i,1,r.buttonData[r.buttonData.length-1]),r.buttonData.splice(r.buttonData.length-1,1,n),r.value=n[t.valueField],e("update:modelValue",r.value)}},rd=({props:e,state:t})=>r=>t.disabled||r.disabled?{disabled:!0}:e.plain?{plain:e.plain}:{},nd=["state","handleClick","moreNodeClick","handleChange","getItemClass"],id=(e,{computed:t,reactive:r,watch:n,inject:i},{emit:o,parent:l})=>{var a,s;l.tinyForm=l.tinyForm||i("form",null);const c=r({value:e.modelValue,buttonData:((a=e.data)==null?void 0:a.slice(0,e.showMore))||[],moreData:((s=e.data)==null?void 0:s.slice(e.showMore,e.data.length))||[],formDisabled:t(()=>(l.tinyForm||{}).disabled),disabled:t(()=>e.disabled||c.formDisabled)});n(()=>e.modelValue,d=>{!c.disabled&&c.value!==d&&(c.value=d)},{immediate:!0}),n(()=>c.value,()=>u.handleChange());const u={state:c,handleClick:ed({emit:o,props:e,state:c}),moreNodeClick:td({emit:o,props:e,state:c}),handleChange:Qu({emit:o,state:c}),getItemClass:rd({props:e,state:c})};return u};function od(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=ld(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ld(e,t){if(e){if(typeof e=="string")return qn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qn(e,t)}}function qn(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ad=function(t,r){for(var n=t.__vccOpts||t,i=od(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},sd=q({emits:["change","edit","update:modelValue"],props:[].concat(ke,["size","data","plain","modelValue","disabled","valueField","textField","showMore","showEdit","border"]),components:{TinyPopover:to,TinyButton:Te,IconPopup:qt(),IconWriting:Gl()},setup:function(t,r){return ce({props:t,context:r,renderless:id,api:nd})}}),cd={key:0,class:"tiny-group-item"},ud=["tabindex","onClick"],dd={key:2},fd={key:1,class:"tiny-group-item show-more"},hd={key:2},vd={key:0,class:"tiny-group-item__more"},pd={class:"more-list"},gd=["onClick"],md={key:1,class:"tiny-group-item__edit"},bd={key:1,class:"tiny-button-group--empty"};function yd(e,t,r,n,i,o){var l=Z("tiny-button"),a=Z("icon-popup"),s=Z("tiny-popover"),c=Z("icon-writing");return S(),M("div",{class:W(["tiny-button-group",[e.size?"tiny-button-group--"+e.size:"",e.border?"":"tiny-button-group--borderless"]])},[se(e.$slots,"default",{},function(){return[e.data.length>0?(S(),M(ve,{key:0},[e.showMore&&e.showMore>0?(S(),M("ul",fd,[(S(!0),M(ve,null,Le(e.state.buttonData,function(u,d){return S(),M("li",{key:d,class:W({active:e.state.value===u[e.valueField]})},[T(l,{class:W(e.getItemClass(u)),onClick:function(h){return e.handleClick(u)}},{default:de(function(){return[Qe(U(u[e.textField]),1)]}),_:2},1032,["class","onClick"]),u.sup?(S(),M("span",{key:0,class:W(["tiny-group-item__sup",{"tiny-group-item__sup-text":!u.sup.slot&&!u.sup.icon&&u.sup.text,"tiny-group-item__sup-icon":!u.sup.slot&&u.sup.icon},typeof u.sup.class=="string"?u.sup.class:""].concat(Array.isArray(u.sup.class)?u.sup.class:[]))},[u.sup.slot?se(e.$slots,u.sup.slot,{key:0,sup:u.sup}):u.sup.icon?(S(),J($e(u.sup.icon),{key:1})):u.sup.text?(S(),M("span",hd,U(u.sup.text),1)):ee("v-if",!0)],2)):ee("v-if",!0)],2)}),128)),e.data.length>e.showMore?(S(),M("li",vd,[T(s,{"visible-arrow":!1,width:"200","popper-class":"tiny-group-item__more-popover"},{reference:de(function(){return[T(l,{class:"more-button"},{default:de(function(){return[T(a)]}),_:1})]}),default:de(function(){return[L("ul",pd,[(S(!0),M(ve,null,Le(e.state.moreData,function(u,d){return S(),M("li",{key:d,class:W({active:e.state.value===u[e.valueField],"more-item":!0}),onClick:function(h){return e.moreNodeClick(u)}},U(u[e.textField]),11,gd)}),128))])]}),_:1})])):ee("v-if",!0),e.showEdit?(S(),M("li",md,[T(l,{onClick:t[0]||(t[0]=function(u){return e.$emit("edit")}),class:"edit-button"},{default:de(function(){return[T(c)]}),_:1})])):ee("v-if",!0)])):(S(),M("ul",cd,[(S(!0),M(ve,null,Le(e.data,function(u,d){return S(),M("li",{key:d,class:W({active:e.state.value===u[e.valueField]})},[L("button",{class:W(e.getItemClass(u)),style:be({height:e.size==="medium"?"42px":e.size==="small"?"32px":e.size==="mini"?"24px":"","line-height":e.size==="medium"?"40px":e.size==="small"?"30px":e.size==="mini"?"22px":""}),type:"button",tabindex:e.getItemClass(u).disabled?"-1":"0",onClick:function(h){return e.handleClick(u)}},U(u[e.textField]),15,ud),u.sup?(S(),M("span",{key:0,class:W(["tiny-group-item__sup",{"tiny-group-item__sup-text":!u.sup.slot&&!u.sup.icon&&u.sup.text,"tiny-group-item__sup-icon":!u.sup.slot&&u.sup.icon},typeof u.sup.class=="string"?u.sup.class:""].concat(Array.isArray(u.sup.class)?u.sup.class:[]))},[u.sup.slot?se(e.$slots,u.sup.slot,{key:0,sup:u.sup}):u.sup.icon?(S(),J($e(u.sup.icon),{key:1})):u.sup.text?(S(),M("span",dd,U(u.sup.text),1)):ee("v-if",!0)],2)):ee("v-if",!0)],2)}),128))]))],64)):(S(),M("span",bd," 暂无数据 "))]})],2)}var Cd=ad(sd,[["render",yd]]);function Kr(){return Kr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Kr.apply(this,arguments)}var wd=function(t){var r;return typeof process=="object"&&((r={})==null||r.TINY_MODE),Cd},Sd=Kr({},le,{size:String,data:{type:Array,default:function(){return[]}},plain:Boolean,modelValue:[String,Number],disabled:Boolean,valueField:{type:String,default:"value"},textField:{type:String,default:"text"},showMore:Number,showEdit:{type:Boolean,default:!1},border:{type:Boolean,default:!0}}),gt=q({name:re+"ButtonGroup",provide:function(){return{buttonGroup:this}},props:Sd,setup:function(t,r){return Ge({props:t,context:r,template:wd})}}),$d="3.16.0";gt.model={prop:"modelValue",event:"update:modelValue"};gt.install=function(e){e.component(gt.name,gt)};gt.version=$d;const xd=e=>(t,r)=>{if(!r.disabled)if(r.type==="sort")!r.modelValue||r.modelValue==="desc"?(r.state.sort="asc",r.$emit("update:modelValue","asc"),r.$emit("click","asc")):(r.state.sort="desc",r.$emit("update:modelValue","desc"),r.$emit("click","desc"));else{const n=e.children.length===1&&r.state.showPopup;e.children.forEach((i,o)=>{o===t&&!n?i.toggle(!0):i.state.showPopup&&i.toggle(!1,{immediate:!0})})}},_d=({props:e,state:t,vm:r})=>()=>{if(!r.$refs.menu)return;const n=r.$refs.menu.getBoundingClientRect();e.direction==="down"?t.offset=n.bottom:t.offset=window.innerHeight-n.top},kd=({props:e,state:t})=>()=>{e.closeOnClickOutside&&e.closeOnClickOverlay&&t.children.forEach(r=>{r.type!=="filter"&&r.toggle(!1)})},xo=(e,t)=>{const r=/scroll|auto/i;let n=e,i=window.getComputedStyle;for(;n&&n.tagName!=="HTML"&&n.nodeType===1&&n!==t;){const{overflowY:o}=i(n);if(r.test(o)){if(n.tagName!=="BODY")return n;const{overflowY:l}=i(n.parentNode);if(r.test(l))return n}n=n.parentNode}return t||null},Td=({api:e,props:t,hooks:r,instance:n,state:i,dropdownVm:o,designConfig:l})=>{var a,s;const{nextTick:c,onBeforeUnmount:u,onDeactivated:d,onMounted:f,reactive:h,toRefs:v,watch:p}=r,{emit:g,slots:m,vm:y,parent:b}=n,C={placement:t.placement||((a=l==null?void 0:l.props)==null?void 0:a.placement)||"bottom-end",visibleArrow:t.visibleArrow||((s=l==null?void 0:l.props)==null?void 0:s.visibleArrow)||!1},w=Xl({emit:g,nextTick:c,onBeforeUnmount:u,onDeactivated:d,props:yt(yt({popperOptions:{boundariesPadding:0,gpuAcceleration:!1},offset:0,boundariesPadding:5},t),C),reactive:h,vm:y,slots:m,toRefs:v,watch:p});f(()=>{o&&(o.popperElm=w.popperElm.value=y.$el,c(()=>w.referenceElm.value=o.$el),!t.multiStage&&o.initDomOperation(),o.inheritWidth&&(o.popperElm.style.minWidth=o.$el.clientWidth+"px"))}),u(()=>{w.destroyPopper("remove"),w.popperElm=null,w.referenceElm=null}),e.doDestroy=w.doDestroy,i.size=(o==null?void 0:o.size)||"",i.showPopper=w.showPopper.value,b.$on("updatePopper",()=>{i.showPopper&&w.updatePopper()}),b.$on("visible",$=>{i.showPopper=$,w.showPopper.value=$}),p(()=>t.placement,$=>{w.currentPlacement.value=$})},Ed=({api:e,parent:t,state:r})=>()=>{t.$on("menu-selected-index",n=>{r.selectedIndex=n}),t.$on("menu-item-click",e.handleMenuItemClick),t.$on("mouseenter-tips",(n,i)=>{r.label=i,r.showContent=n}),t.$on("mouseleave-tips",(n,i)=>{r.label=i,r.showContent=n})},Id=({state:e,dispatch:t})=>({itemData:r,vm:n,label:i,showContent:o,disabled:l})=>{e.label=i,e.showContent=o,t("TinyDropdown","current-item-click",{itemData:r,vm:n,disabled:l})},Od=e=>t=>{e("mouseenter",t)},Md=e=>t=>{e("mouseleave",t)},wn=["state","toggleItem","updateOffset","clickOutside","doDestroy","handleMouseenter","handleMouseleave"],Sn=(e,t,r)=>{const n={},{reactive:i,provide:o,onMounted:l,inject:a}=t,{nextTick:s,mode:c,vm:u,parent:d,dispatch:f,emit:h,designConfig:v}=r,p=i({offset:0,scroller:null,children:[],size:"",showPopper:!1,label:"",showContent:!1,selected:!1,selectedIndex:-1,canvasHeight:a("change-size",null)});o("dropdownMenuVm",u),o("multiStage",e.multiStage);const g=a("dropdownVm");return c==="mobile"?s(()=>{p.scroller=xo(u.$refs.menu)}):Td({api:n,hooks:t,props:e,instance:r,state:p,dropdownVm:g,designConfig:v}),Object.assign(n,{state:p,toggleItem:xd(p),clickOutside:kd({props:e,state:p}),updateOffset:_d({props:e,state:p,vm:u}),mounted:Ed({api:n,parent:d,state:p}),handleMouseenter:Od(h),handleMouseleave:Md(h),handleMenuItemClick:Id({dispatch:f,state:p})}),l(n.mounted),n},Ad=e=>()=>{if(e.title)return e.title;const t=e.options.filter(r=>r.value===e.modelValue);return t.length?t[0].text:""},Dd=({api:e,parent:t})=>r=>{(r?he:Ne)(t.state.scroller,"scroll",e.onScroll,!0)},Ld=({parent:e,props:t,state:r})=>n=>{n!==r.showPopup&&(r.transition=!t.options.immediate,r.showPopup=n,n&&(e.updateOffset(),r.showWrapper=!0))},Rd=e=>()=>e.updateOffset(),Fd=e=>t=>e.$el&&t.stopPropagation(),Pd=({emit:e,props:t,state:r})=>n=>{r.showPopup=!1,n!==t.modelValue&&(e("update:modelValue",n),e("change",n))},Hd=({parent:e,state:t})=>()=>({zIndex:e.zIndex,top:e.direction==="down"?t.offset+"px":"",bottom:e.direction!=="down"?t.offset+"px":""}),zd=e=>(t,r)=>r.includes(t.value)?{color:e.activeColor?e.activeColor:"#f36f64",border:`1px solid ${e.activeColor?e.activeColor:"#f36f64"}`}:{color:"#333"},Nd=({emit:e,state:t})=>()=>{t.showWrapper=!1,e("closed")},Bd=e=>()=>e("open"),Vd=e=>()=>e("opened"),jd=e=>()=>e("close"),Wd=({emit:e,props:t})=>(r,n,i)=>{i.preventDefault(),i.stopPropagation();const o=t.modelValue.slice(),l=o[r],a=l.indexOf(n.value);a===-1?l.push(n.value):l.splice(a,1),o[r]=l,e("update:modelValue",o)},Gd=({emit:e,props:t,state:r})=>()=>{r.showPopup=!1,e("confirm",t.modelValue)},Xd=({emit:e,props:t})=>()=>{const r=t.modelValue.length,n=[];for(let i=0;i<r;i++)n.push([]);e("update:modelValue",n),e("reset",n)},Yd=e=>()=>{e.closeOnClickOutside&&e.closeOnClickOverlay&&e.state.children.forEach(t=>{t.toggle(!1)})},qd=({state:e,props:t,dispatch:r,vm:n,emit:i})=>o=>{o.stopPropagation(),e.currentIndex=`${t.currentIndex}`;const l={itemData:t.itemData,vm:n,disabled:t.disabled};t.disabled||i("item-click",l),r("TinyDropdown","menu-item-click",l),r("TinyDropdown","is-disabled",[t.disabled]),r("TinyDropdown","selected-index",[e.currentIndex])},Kd=({constants:e,designConfig:t})=>(r="leftWardArrow")=>(t==null?void 0:t.icons[r])||(e==null?void 0:e.ICON_MAP[r]),Zd=({props:e,vm:t})=>e.tip&&typeof e.tip=="function"?e.tip({itemData:e.itemData,vm:t}):e.tip||"",_o=["state","confirm","clickOutside","getOptionStyle","reset","tagClick","clickItem","clickWrapper","toggle","open","opened","close","closed","handleClick","getTip"],Ud=({reactive:e,computed:t,api:r,props:n,parent:i,dropdownMenuVm:o})=>e({checkedStatus:o==null?void 0:o.checkedStatus,sort:n.modelValue,transition:!0,getTitle:!1,showWrapper:!1,showPopup:!1,duration:i.duration,overlay:t(()=>i.overlay),offset:t(()=>i.state.offset),direction:t(()=>i.direction),displayTitle:t(()=>r.getTitle()),itemStyle:t(()=>r.getItemStyle()),activeColor:t(()=>i.activeColor),closeOnClickOverlay:t(()=>i.closeOnClickOverlay),dropdownMenuVm:o,currentIndex:n.currentIndex,textField:(o==null?void 0:o.textField)||n.textField,popperClass:(o==null?void 0:o.popperClass)||"",getIcon:t(()=>r.computedGetIcon()),children:[]}),Jd=({api:e,state:t,emit:r,props:n,parent:i,dispatch:o,vm:l,constants:a,designConfig:s})=>{Object.assign(e,{state:t,open:Bd(r),opened:Vd(r),close:jd(r),getTitle:Ad(n),onScroll:Rd(i),reset:Xd({emit:r,props:n}),closed:Nd({emit:r,state:t}),clickWrapper:Fd(i),clickOutside:Yd(i),tagClick:Wd({emit:r,props:n}),getOptionStyle:zd(t),toggle:Ld({parent:i,props:n,state:t}),clickItem:Pd({emit:r,props:n,state:t}),getItemStyle:Hd({parent:i,state:t}),bindScroll:Dd({api:e,parent:i}),confirm:Gd({emit:r,props:n,state:t}),handleClick:qd({state:t,props:n,dispatch:o,vm:l,emit:r}),computedGetIcon:Kd({constants:a,designConfig:s}),getTip:Zd({props:n,vm:l})})},ko=(e,{computed:t,onMounted:r,reactive:n,watch:i,inject:o},{parent:l,emit:a,vm:s,dispatch:c,constants:u,designConfig:d})=>{const f={},h=o("dropdownMenuVm",null),v=Ud({reactive:n,computed:t,api:f,props:e,parent:l,dropdownMenuVm:h});return Jd({api:f,state:v,emit:a,props:e,parent:l,dispatch:c,vm:s,constants:u,designConfig:d}),i(()=>v.showPopup,f.bindScroll),r(()=>{const p=l.$parent.$parent||{};p.state&&p.state.children?p.state.children.push(s):h&&(h.state.children=[...h.state.children,s]),e.disabled&&(v.checkedStatus=!1)}),f};function Qd(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=ef(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ef(e,t){if(e){if(typeof e=="string")return Kn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Kn(e,t)}}function Kn(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var tf=function(t,r){for(var n=t.__vccOpts||t,i=Qd(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},rf=q({name:re+"DropdownItem",componentName:re+"DropdownItem",emits:["item-click","update:modelValue","change","closed","open","opened","close","confirm","reset"],props:[].concat(ke,["disabled","divided","icon","itemData","selected","currentIndex","title","titleClass","options","type","label","selectedField","multiStage","appendToBody","textField","tip","tipPosition"]),components:{IconDeltaLeft:Za(),TinyTooltip:Yt},setup:function(t,r){return ce({props:t,context:r,renderless:ko,api:_o})}}),nf=["aria-disabled","tabindex"],of={class:"tiny-dropdown-item__wrap"},lf={key:0,class:"tiny-dropdown-item__expand tiny-dropdown-menu__item-expand"},af={class:"tiny-dropdown-item__content tiny-dropdown-menu__item-content"},sf={class:"tiny-dropdown-item__label"};function cf(e,t,r,n,i,o){var l=Z("tiny-dropdown-item"),a=Z("tiny-tooltip");return S(),J(a,{content:e.getTip,placement:e.tipPosition},{default:de(function(){return[L("li",{class:W(["tiny-dropdown-item tiny-dropdown-menu__item",{"is-disabled":e.disabled,"tiny-dropdown-item--divided tiny-dropdown-menu__item--divided":e.divided,"tiny-dropdown-item--check-status":e.state.checkedStatus&&e.selected,"has-children":e.itemData.children&&e.itemData.children.length}]),ref:"dropdownItem",onClick:t[0]||(t[0]=Yr(function(){return e.handleClick&&e.handleClick.apply(e,arguments)},["stop"])),onMousedown:t[1]||(t[1]=Yr(function(){},["stop"])),"aria-disabled":e.disabled,tabindex:e.disabled?null:-1},[L("div",of,[e.itemData.children&&e.itemData.children.length?(S(),M("span",lf,[(S(),J($e(e.state.getIcon)))])):ee("v-if",!0),L("div",af,[e.icon?(S(),J($e(e.icon),{key:0,class:"tiny-svg-size"})):ee("v-if",!0),L("span",sf,[se(e.$slots,"default",{itemData:e.itemData},function(){return[L("span",null,U(e.label),1)]})])]),e.itemData.children&&e.itemData.children.length?(S(),M("ul",{key:1,class:W(["tiny-dropdown-menu","tiny-dropdown-item--child tiny-dropdown-menu__item--child",e.state.popperClass])},[(S(!0),M(ve,null,Le(e.itemData.children,function(s,c){return S(),J(l,{key:c,label:s[e.state.textField],"item-data":s,icon:s.icon,disabled:s.disabled,divided:s.divided,tip:s.tip,"tip-position":s.tipPosition},{default:de(function(){return[se(e.$slots,"default",{itemData:s})]}),_:2},1032,["label","item-data","icon","disabled","divided","tip","tip-position"])}),128))],2)):ee("v-if",!0)])],42,nf)]}),_:3},8,["content","placement"])}var Zn=tf(rf,[["render",cf]]);const Un=10,uf=(e,t)=>e>t&&e>Un?"horizontal":t>e&&t>Un?"vertical":"",To=e=>t=>{df(e),e.startX=t.touches[0].clientX,e.startY=t.touches[0].clientY},zS=e=>t=>{const r=t.touches[0];e.deltaX=r.clientX-e.startX,e.deltaY=r.clientY-e.startY,e.offsetX=Math.abs(e.deltaX),e.offsetY=Math.abs(e.deltaY),e.direction=e.direction||uf(e.offsetX,e.offsetY)},df=e=>{e.direction="",e.deltaX=0,e.deltaY=0,e.offsetX=0,e.offsetY=0},ff=e=>()=>{const t=yt({},e.popupStyle);if(!ut(e.duration)){const r=e.position==="center"?"animationDuration":"transitionDuration";t[r]=`${e.duration}s`}return t},hf=e=>t=>{e[t?"open":"close"]()},vf=({api:e,constants:t,emit:r,props:n,state:i})=>()=>{i.opened||(n.zIndex!==void 0&&(i.context.zIndex=n.zIndex),e.renderOverlay(),i.opened=!0,r("open"),n.lockScroll&&(he(document,"touchstart",To),he(document,"touchmove",e.onTouchMove),i.context.lockCount||document.body.classList.add(t.OVERFLOWHIDDEN),i.context.lockCount++))},pf=({api:e,constants:t,emit:r,props:n,state:i})=>()=>{i.opened&&(n.lockScroll&&(i.context.lockCount--,Ne(document,"touchstart",To),Ne(document,"touchmove",e.onTouchMove),i.context.lockCount||document.body.classList.remove(t.OVERFLOWHIDDEN)),i.opened=!1,r("update:modelValue",!1),r("close"))},gf=({vm:e,state:t})=>r=>{const n=t.deltaY>0?"10":"01",i=xo()(r.target,e.$refs.$el),{scrollHeight:o,offsetHeight:l,scrollTop:a}=i;let s="11";a===0?s=l>=o?"00":"01":a+l>=o&&(s="10"),s!=="11"&&t.direction==="vertical"&&!(parseInt(s,2)&parseInt(n,2))&&r.preventDefault()},mf=({api:e,nextTick:t,props:r,state:n})=>()=>{r.modelValue&&t(()=>{e.updateZIndex(r.overlay?1:0),r.overlay&&(n.zIndex=n.context.zIndex++)})},bf=({vm:e,state:t})=>(r=0)=>e.$refs.popup.style.zIndex=++t.context.zIndex+r,yf=({api:e,props:t,emit:r})=>()=>{t.closeOnClickOverlay&&(e.close(),r("click-overlay"))},Cf=e=>()=>e("closed"),wf=e=>()=>e("opened"),Sf=["state","open","close","clickOverlay","onTouchMove","opened","closed"],$f=({reactive:e,computed:t,props:r,api:n})=>{const i=e({transitionName:t(()=>r.transition||r.position==="center"?"tiny-fade":`tiny-popup-slide-${r.position}`),style:t(()=>n.getStyle()),inited:t(()=>i.inited||r.modelValue),opened:!1,startX:0,startY:0,deltaX:0,deltaY:0,offsetX:0,offsetY:0,direction:"",shouldRender:t(()=>i.inited||r.lazyRender),context:{zIndex:2e3,lockCount:0,stack:[]},zIndex:r.zIndex,overlayStyle:t(()=>yt({zIndex:i.zIndex},r.overlayStyle))});return i},xf=({api:e,props:t,state:r,vm:n,emit:i,nextTick:o,constants:l})=>{Object.assign(e,{state:r,opened:wf(i),closed:Cf(i),getStyle:ff(t),watchValue:hf(e),updateZIndex:bf({vm:n,state:r}),clickOverlay:yf({api:e,emit:i,props:t}),renderOverlay:mf({api:e,nextTick:o,props:t,state:r}),onTouchMove:gf({vm:n,state:r}),open:vf({api:e,constants:l,emit:i,props:t,state:r}),close:pf({api:e,constants:l,emit:i,props:t,state:r})})},_f=(e,{computed:t,onMounted:r,reactive:n,watch:i,nextTick:o},{constants:l,vm:a,emit:s})=>{const c={},u=$f({reactive:n,computed:t,props:e,api:c});return xf({api:c,props:e,state:u,vm:a,emit:s,nextTick:o,constants:l}),i(()=>e.modelValue,c.watchValue,{immediate:!0}),r(()=>{e.modelValue&&c.open()}),c};function kf(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Tf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tf(e,t){if(e){if(typeof e=="string")return Jn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Jn(e,t)}}function Jn(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Ef=function(t,r){for(var n=t.__vccOpts||t,i=kf(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n};function Zr(){return Zr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Zr.apply(this,arguments)}var If={OVERFLOWHIDDEN:"tiny-overflow-hidde"},Of=q({name:re+"Popup",emits:["open","close","update:modelValue","click-overlay","closed","opened","click"],components:{IconClose:Or()},props:Zr({},le,{_constants:{type:Object,default:function(){return If}},closeIcon:{type:String,default:"cross"},closeIconPosition:{type:String,default:"top-right"},closeOnClickOverlay:{type:Boolean,default:!0},closeable:{type:Boolean,default:!0},duration:[Number,String],lazyRender:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modelValue:Boolean,overlay:{type:Boolean,default:!0},overlayClass:String,overlayStyle:Object,popupClass:String,popupStyle:Object,position:{type:String,default:"center"},round:Boolean,safeAreaInsetBottom:Boolean,transition:String,zIndex:[Number,String]}),setup:function(t,r){return ce({props:t,context:r,renderless:_f,api:Sf,mono:!0})}});function Mf(e,t,r,n,i,o){var l=Z("icon-close");return S(),M("div",null,[T(Ct,{name:e.state.transitionName,onAfterEnter:e.opened,onAfterLeave:e.closed,persisted:""},{default:de(function(){return[Re(L("div",{ref:"popup",class:W(["tiny-popup",[e.round?"tiny-popup--round":"",e.position?"tiny-popup--"+e.position:"",e.popupClass]]),style:be(e.state.style),onClick:t[0]||(t[0]=function(a){return e.$emit("click")})},[se(e.$slots,"default"),e.closeable?(S(),J(l,{key:0,class:"tiny-popup__close-icon tiny-popup__close-icon--top-right",fill:"#c8c9cc",tabindex:"0",onClick:e.close},null,8,["onClick"])):ee("v-if",!0)],6),[[dt,e.modelValue]])]}),_:3},8,["name","onAfterEnter","onAfterLeave"]),T(Ct,{name:"tiny-fade",persisted:""},{default:de(function(){return[Re(L("div",{style:be(e.state.overlayStyle),class:W([e.overlayClass,"tiny-overlay"]),onClick:t[1]||(t[1]=function(){return e.clickOverlay&&e.clickOverlay.apply(e,arguments)})},[se(e.$slots,"overlay")],6),[[dt,e.state.opened&&e.overlay]])]}),_:3})])}var Ot=Ef(Of,[["render",Mf]]),Af="3.16.0";Ot.model={prop:"modelValue",event:"update:modelValue"};Ot.install=function(e){e.component(Ot.name,Ot)};Ot.version=Af;function Df(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Lf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lf(e,t){if(e){if(typeof e=="string")return Qn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qn(e,t)}}function Qn(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Rf=function(t,r){for(var n=t.__vccOpts||t,i=Df(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},Ff=q({directives:tr({Clickoutside:Mr}),props:[].concat(ke,["modelValue","title","disabled","titleClass","options","icon","type"]),components:{IconYes:ro(),TinyPopup:Ot,TinyButton:Te},emits:["update:modelValue","open","opened","click","change","closed","close","reset","confirm","item-click"],setup:function(t,r){return ce({props:t,context:r,renderless:ko,api:_o})}}),Pf={key:0,class:"tiny-mobile-dropdown-item__options"},Hf=["onClick"],zf={class:"tiny-mobile-dropdown-item__option-icon"},Nf={class:"tiny-mobile-dropdown-item__option-title"},Bf={class:"tiny-mobile-dropdown-item__option-value"},Vf={key:1,class:"tiny-mobile-dropdown-item__filter"},jf={class:"tiny-mobile-dropdown-item__filter-wrap"},Wf={class:"tiny-mobile-dropdown-item__filter-title"},Gf=["onClick"],Xf={class:"tiny-mobile-dropdown-item__filter-operate"};function Yf(e,t,r,n,i,o){var l=Z("icon-yes"),a=Z("tiny-button"),s=Z("tiny-popup"),c=rr("clickoutside");return Re((S(),M("div",{ref:"wrapper",class:W(["tiny-mobile-dropdown-item--"+e.state.direction,"tiny-mobile-dropdown-item"]),onClick:t[1]||(t[1]=function(){return e.clickWrapper&&e.clickWrapper.apply(e,arguments)}),style:be(e.state.itemStyle)},[T(s,{modelValue:e.state.showPopup,"onUpdate:modelValue":t[0]||(t[0]=function(u){return e.state.showPopup=u}),"popup-class":"tiny-mobile-dropdown-item__content",overlay:e.state.overlay,"close-on-click-overlay":e.state.closeOnClickOverlay,closeable:!1,position:e.state.direction==="down"?"top":"bottom",duration:e.state.transition?e.state.duration:0,onOpen:e.open,onClose:e.close,onOpened:e.opened,onClosed:e.closed},{default:de(function(){return[se(e.$slots,"default",{},function(){return[e.type==="selection"?(S(),M("div",Pf,[(S(!0),M(ve,null,Le(e.options,function(u,d){return S(),M("div",{class:W(["tiny-mobile-dropdown-item__cell tiny-mobile-dropdown-item__option",u.value===e.modelValue?"is-active":""]),key:d,tabindex:"0",onClick:function(h){return e.clickItem(u.value)}},[L("div",zf,[se(e.$slots,"icon",{},function(){return[(S(),J($e(e.icon)))]})]),L("div",Nf,[se(e.$slots,"title",{titleData:u},function(){return[L("span",{style:be({color:u.value===e.modelValue&&e.state.activeColor?e.state.activeColor:""})},U(u.text),5)]})]),L("div",Bf,[u.value===e.modelValue?(S(),J(l,{key:0,fill:e.state.activeColor?e.state.activeColor:"#f36f64"},null,8,["fill"])):ee("v-if",!0)])],10,Hf)}),128))])):ee("v-if",!0),e.type==="filter"?Re((S(),M("div",Vf,[L("div",jf,[(S(!0),M(ve,null,Le(e.options,function(u,d){return S(),M("div",{key:d,class:"tiny-mobile-dropdown-item__cell tiny-mobile-dropdown-item__filter-item"},[L("span",Wf,U(u.title),1),L("ul",null,[(S(!0),M(ve,null,Le(e.options.length===0?u.data=[]:u.data,function(f,h){return S(),M("li",{class:W(["tiny-mobile-dropdown-item__filter-li",[e.modelValue[d].indexOf(f.value)>-1?"checked":""]]),style:be(e.getOptionStyle(f,e.modelValue[d])),onClick:function(p){return e.tagClick(d,f,p)},key:h},U(f.text),15,Gf)}),128))])])}),128))]),L("div",Xf,[T(a,{onClick:e.reset},{default:de(function(){return[Qe(" Reset ")]}),_:1},8,["onClick"]),T(a,{type:"primary",onClick:e.confirm},{default:de(function(){return[Qe(" OK ")]}),_:1},8,["onClick"])])])),[[c,e.clickOutside]]):ee("v-if",!0)]})]}),_:3},8,["modelValue","overlay","close-on-click-overlay","position","duration","onOpen","onClose","onOpened","onClosed"])],6)),[[dt,e.state.showWrapper]])}var qf=Rf(Ff,[["render",Yf]]);const Kf=["dataStore","handleClick","dataStore","mouseEnter","mouseLeave"],Zf=(e,{reactive:t,inject:r},{dispatch:n,vm:i})=>{const o={},l=r("dropdownMenuVm",null);let a=t({checkedStatus:l==null?void 0:l.checkedStatus,multiStageMenu:"",multiStage:r("multiStage",null),itemData:"",itemLabel:"",showContent:!1,dropdownMenuVm:l,currentIndex:e.currentIndex,level:e.level});const s=({dataStore:d,props:f,vm:h})=>()=>{f.disabled&&(d.checkedStatus=!1),d.itemData=f.itemData,d.itemLabel="",d.showContent=!1,f.level==="2"?d.currentIndex=`${f.level}-${f.currentIndex}`:d.currentIndex=`${f.currentIndex}`,n("TinyDropdown","selected-index",[d.currentIndex]);const v={itemData:d.itemData,vm:h,label:d.itemLabel,showContent:d.showContent,disabled:f.disabled};n("TinyDropdownMenu","menu-item-click",v),n("TinyDropdown","is-disabled",[f.disabled])},c=({dataStore:d})=>()=>{d.itemLabel="",d.showContent=!1,n("TinyDropdownMenu","mouseleave-tips",[d.showContent,d.itemLabel])},u=({vm:d,dataStore:f,props:h})=>v=>{const p=v.target,g=p.textContent,m=window.getComputedStyle(p).font,y=p.getBoundingClientRect(),b=Yl(g,m,y.width),C=f.dropdownMenuVm.$refs.tooltip;b.o&&(C.state.referenceElm=p,C.state.popperElm&&(C.state.popperElm.style.display="none"),C.doDestroy(),f.itemLabel=h.tooltipContent||g,d.$refs.level.scrollWidth>d.$refs.level.offsetWidth&&(f.showContent=!0),setTimeout(C.updatePopper,20)),n("TinyDropdownMenu","mouseenter-tips",[f.showContent,f.itemLabel])};return Object.assign(o,{dataStore:a,handleClick:s({dataStore:a,props:e,vm:i}),mouseEnter:u({dataStore:a,vm:i}),mouseLeave:c({dataStore:a})}),o};function Uf(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Jf(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jf(e,t){if(e){if(typeof e=="string")return ei(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ei(e,t)}}function ei(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Qf=function(t,r){for(var n=t.__vccOpts||t,i=Uf(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},eh=q({emits:["update:modelValue","change","closed","open","opened","close","confirm","reset"],props:[].concat(ke,["disabled","icon","itemData","selected","label","level","currentIndex","tooltipContent"]),setup:function(t,r){return ce({props:t,context:r,renderless:Zf,api:Kf})}}),th=["aria-disabled","tabindex"];function rh(e,t,r,n,i,o){return S(),M("li",{"data-tag":"tiny-dropdown-item",onMouseenter:t[0]||(t[0]=function(){return e.mouseEnter&&e.mouseEnter.apply(e,arguments)}),onMouseleave:t[1]||(t[1]=function(){return e.mouseLeave&&e.mouseLeave.apply(e,arguments)}),class:W(e.m("rounded-sm list-none leading-10 sm:leading-8 outline-0 min-w-[theme(spacing.18)] max-w-[theme(spacing.52)] w-full [&_svg]:sm:w-3.5 [&_svg]:sm:h-3.5 [&_svg]:sm:mr-1.5 [&_svg]:mr-2 [&_svg]:align-text-bottom",e.disabled?"cursor-not-allowed text-color-text-disabled [&_svg]:fill-color-text-disabled":"text-color-text-primary active:bg-color-bg-4 visited:text-color-brand hover:bg-color-bg-2 focus:bg-color-bg-4 cursor-pointer",{"text-color-brand-focus bg-color-fill-6":e.dataStore.checkedStatus&&e.selected},e.dataStore.multiStage?"!px-0 mb-1":"[&:not(:last-of-type)]:mb-1")),onClick:t[2]||(t[2]=Yr(function(){return e.handleClick&&e.handleClick.apply(e,arguments)},["stop"])),"aria-disabled":e.disabled,tabindex:e.disabled?null:-1},[L("div",{"data-tag":"tiny-dropdown-level",ref:"level",class:W(["sm:text-xs text-sm",e.level==="2"?"mx-6 overflow-hidden text-ellipsis whitespace-nowrap":"mx-4 sm:mx-3 overflow-hidden text-ellipsis whitespace-nowrap"])},[e.icon?(S(),J($e(e.icon),{key:0,class:"sm:w-3.5 sm:h-3.5 sm:mr-1.5 mr-2 align-text-bottom"})):ee("v-if",!0),se(e.$slots,"default")],2)],42,th)}var nh=Qf(eh,[["render",rh]]);function Ur(){return Ur=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ur.apply(this,arguments)}var ih=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?Zn:(n||t)==="mobile"?qf:(n||t)==="mobile-first"?nh:Zn},oh={ICON_MAP:{leftWardArrow:"icon-delta-left"}},lh=Ur({},le,{_constants:{type:Object,default:function(){return oh}},icon:[String,Object],disabled:Boolean,divided:Boolean,itemData:{type:[String,Object],default:""},title:String,label:String,level:String,titleClass:String,options:{type:Array,default:function(){return[]}},type:{type:String,default:"selection"},selected:{type:Boolean,default:!1},selectedField:{type:String,default:"selected"},multiStage:{type:Boolean,default:!1},currentIndex:{type:Number,default:function(){return-1}},tooltipContent:{type:String,default:""},appendToBody:{type:Boolean,default:!0},textField:{type:String,default:"label"},tip:{type:[String,Function],default:""},tipPosition:{type:String,default:"right"}}),at=q({name:re+"DropdownItem",componentName:"TinyDropdownItem",props:lh,setup:function(t,r){return Ge({props:t,context:r,template:ih})}}),ah="3.16.0";at.model={prop:"modelValue",event:"update:modelValue"};at.install=function(e){e.component(at.name,at)};at.version=ah;function sh(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=ch(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ch(e,t){if(e){if(typeof e=="string")return ti(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ti(e,t)}}function ti(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var uh=function(t,r){for(var n=t.__vccOpts||t,i=sh(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},dh=q({components:{TinyDropdownItem:at},emits:["mouseenter","mouseleave","click","update:modelValue","created"],props:[].concat(ke,["visibleArrow","arrowOffset","placement","popperClass","popperAppendToBody","checkedStatus","textField","options"]),setup:function(t,r){return ce({props:t,context:r,renderless:Sn,api:wn})}});function fh(e,t,r,n,i,o){var l=Z("tiny-dropdown-item");return S(),J(Ct,{name:"tiny-zoom-in-top",onAfterLeave:e.doDestroy,persisted:""},{default:de(function(){return[Re(L("ul",{class:W(["tiny-dropdown-menu tiny-popper",[e.state.size&&"tiny-dropdown-menu--"+e.state.size,e.popperClass]]),onMouseenter:t[0]||(t[0]=function(){return e.handleMouseenter&&e.handleMouseenter.apply(e,arguments)}),onMouseleave:t[1]||(t[1]=function(){return e.handleMouseleave&&e.handleMouseleave.apply(e,arguments)})},[se(e.$slots,"default",{selectedIndex:e.state.selectedIndex},function(){return[(S(!0),M(ve,null,Le(e.options,function(a,s){return S(),J(l,{"item-data":a,label:a[e.textField],key:s,icon:a.icon,disabled:a.disabled,divided:a.divided,tip:a.tip,"tip-position":a.tipPosition},null,8,["item-data","label","icon","disabled","divided","tip","tip-position"])}),128))]})],34),[[dt,e.state.showPopper]])]}),_:3},8,["onAfterLeave"])}var ri=uh(dh,[["render",fh]]);function hh(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=vh(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vh(e,t){if(e){if(typeof e=="string")return ni(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ni(e,t)}}function ni(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ph=function(t,r){for(var n=t.__vccOpts||t,i=hh(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},gh=q({props:[].concat(ke,["activeColor","closeOnClickOutside","closeOnClickOverlay","direction","duration","overlay","zIndex"]),components:{IconUp:dc(),IconDown:Cs(),IconUnfilter:wo(),IconSort:qs(),IconDeltaDown:yo(),IconDeltaUp:rs()},directives:tr({Clickoutside:Mr}),emits:["open","created"],setup:function(t,r){return ce({props:t,context:r,renderless:Sn,api:wn})}}),mh={ref:"menu",class:"tiny-mobile-dropdown-menu"},bh={class:"tiny-mobile-dropdown-menu__bar tiny-mobile-dropdown-menu__bar--opened"},yh=["tabindex","onClick"],Ch={class:"tiny-mobile-dropdown-menu__title-wrap"},wh={key:0},Sh={class:"tiny-mobile-dropdown-menu__title-text"},$h={key:0,class:"tiny-mobile-dropdown-menu__title-icon"};function xh(e,t,r,n,i,o){var l=Z("icon-delta-up"),a=Z("icon-delta-down"),s=rr("clickoutside");return S(),M("div",mh,[L("div",bh,[(S(!0),M(ve,null,Le(e.state.children,function(c,u){return Re((S(),M("div",{key:u,role:"button",tabindex:c.disabled?-1:0,class:W(["tiny-mobile-dropdown-menu__item",[c.disabled?"is-disabled":"",c.titleClass]]),onClick:function(f){return e.toggleItem(u,c)}},[L("div",{class:W(["tiny-mobile-dropdown-menu__title",{"is-active":c.state.showPopup,"is-down":c.state.showPopup===(e.direction==="down")}]),style:be({color:c.state.showPopup?e.activeColor:""})},[L("div",Ch,[e.slots.title?se(e.$slots,"title",{key:1}):(S(),M("span",wh,[L("span",Sh,U(c.state.displayTitle),1),c.type==="sort"?(S(),M("span",$h,[T(l,{class:"up",fill:c.state.sort==="asc"?e.activeColor?e.activeColor:"#f36f64":"#ccc"},null,8,["fill"]),T(a,{class:"down",fill:c.state.sort==="desc"?e.activeColor?e.activeColor:"#f36f64":"#ccc"},null,8,["fill"])])):(S(),J($e(c.type==="filter"?"IconUnfilter":c.type==="selection"&&c.state.showPopup?"IconUp":"IconDown"),{key:1,fill:c.state.showPopup?e.activeColor?e.activeColor:"#f36f64":"#ccc",class:W([c.type==="filter"?"filter-icon":""])},null,8,["fill","class"]))]))])],6)],10,yh)),[[s,e.clickOutside]])}),128))]),se(e.$slots,"default")],512)}var _h=ph(gh,[["render",xh]]);function kh(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Th(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Th(e,t){if(e){if(typeof e=="string")return ii(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ii(e,t)}}function ii(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Eh=function(t,r){for(var n=t.__vccOpts||t,i=kh(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},Ih=q({props:[].concat(ke,["visibleArrow","arrowOffset","placement","popperClass","popperAppendToBody","checkedStatus","multiStage","maxHeight"]),emits:["menu-item-click","created"],components:{TinyTooltip:Yt},setup:function(t,r){return ce({props:t,context:r,renderless:Sn,api:wn})}});function Oh(e,t,r,n,i,o){var l=Z("tiny-tooltip");return S(),J(Ct,{name:"tiny-zoom-in-top",duration:150,onAfterLeave:e.doDestroy,persisted:""},{default:de(function(){return[Re(L("ul",{"data-tag":"tiny-dropdown-menu",class:W(e.m("min-w-[theme(spacing.18)] max-w-[theme(spacing.52)] absoulte bg-color-bg-1",{"py-1.5":e.state.size==="medium"},{"py-1.5":e.state.size==="small"},{"py-0.75":e.state.size==="mini"},{"overflow-x-hidden scrollbar-size-0":e.maxHeight},e.multiStage?"!block  rounded-none":"rounded py-1 shadow-sm sm:shadow-md px-1",e.state.canvasHeight?"sm:mb-6":!e.multiStage&&"sm:my-1 my-2",e.popperClass)),style:be({maxHeight:e.maxHeight+"px"})},[T(l,{ref:"tooltip",effect:"light",content:e.state.label,placement:"top-start",manual:!0,modelValue:e.state.showContent,"onUpdate:modelValue":t[0]||(t[0]=function(a){return e.state.showContent=a})},null,8,["content","modelValue"]),se(e.$slots,"default",{selectedIndex:e.state.selectedIndex})],6),[[dt,e.state.showPopper]])]}),_:3},8,["onAfterLeave"])}var Mh=Eh(Ih,[["render",Oh]]);function Jr(){return Jr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Jr.apply(this,arguments)}var Ah=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?ri:(n||t)==="mobile"?_h:(n||t)==="mobile-first"?Mh:ri},Dh=Jr({},le,{multiStage:{type:Boolean,default:!1},checkedStatus:{type:Boolean,default:!1},visibleArrow:Boolean,arrowOffset:{type:Number,default:0},placement:String,popperClass:String,popperAppendToBody:{type:Boolean,default:!0},activeColor:String,closeOnClickOutside:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},direction:{type:String,default:"down"},duration:{type:[Number,String],default:.2},overlay:{type:Boolean,default:!0},zIndex:[Number,String],maxHeight:{type:[Number,String],default:"400"},options:{type:Array,default:function(){return[]}},textField:{type:String,default:"label"}}),mt=q({name:re+"DropdownMenu",componentName:re+"DropdownMenu",props:Dh,setup:function(t,r){return Ge({props:t,context:r,template:Ah})}}),Lh="3.16.0";mt.install=function(e){e.component(mt.name,mt)};mt.version=Lh;function Qr(){return Qr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Qr.apply(this,arguments)}var oi=q({name:re+"Dropdown",componentName:"TinyDropdown",components:{TinyButton:Te,TinyButtonGroup:gt,TinyDropdownMenu:mt,IconDownWard:Yn()},directives:tr({Clickoutside:Mr}),props:Qr({},le,{type:String,trigger:String,size:{type:String,default:""},disabled:{type:Boolean,default:!1},splitButton:Boolean,showTimeout:{type:Number,default:250},hideTimeout:{type:Number,default:150},hideOnClick:{type:Boolean,default:!0},tabindex:{type:Number,default:0},border:{type:Boolean,default:!1},round:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0},menuOptions:{type:Object,default:function(){return{options:[],textField:"label",popperClass:"",placement:"bottom-end"}}},title:{type:String,default:"下拉菜单"},inheritWidth:{type:Boolean,default:!1},suffixIcon:Object}),emits:["visible-change","item-click","button-click","menu-item-click","handle-click","is-disabled","selected-index"],setup:function(t,r){return ce({props:t,context:r,renderless:$o,api:So,h:x})},render:function(){var t,r,n,i,o=this.splitButton,l=this.type,a=this.disabled,s=this.handleMainButtonClick,c=this.menuOptions,u=this.title,d=this.suffixIcon,f=this.slots,h=this.size,v=this.state,p=this.border,g=this.showIcon,m=this.round,y=this.clickOutside,b={visible:v.visible},C=null,w="tiny-dropdown__trigger tiny-dropdown-trigger",$=v.visible?"tiny-dropdown--visible tiny-dropdown-visible":"",O=d||((t=v.designConfig)==null||(r=t.icons)==null?void 0:r.dropdownIcon)||yo(),E=((n=v.designConfig)==null||(i=n.icons)==null?void 0:i.dropdownIcon)||Yn(),A=f.default&&f.default(b);if(o)C=T(Z("tiny-button-group"),null,{default:function(){return[T(Z("tiny-button"),{type:l,size:h,onClick:s,disabled:a,class:"tiny-dropdown__title-button"},{default:function(){return[A||T("span",null,[u])]}}),T(Z("tiny-button"),{ref:"trigger",type:l,size:h,class:"tiny-dropdown__caret-button "+w,disabled:a,"reset-time":0},{default:function(){return[T(E,{class:$},null)]}})]}});else{var D,P=f["suffix-icon"]&&f["suffix-icon"](),R=A&&((D=A[0])==null?void 0:D.data)||{},X=R.attrs,G=X===void 0?{}:X;a&&!G.disabled&&(G.disabled=!0,R.attrs=G);var j=g?T("span",{class:"tiny-dropdown__suffix-inner "+$},[P||T(O,null,null)]):"",k=A||u?T("span",{class:"tiny-dropdown__title"},[A||u]):null;C=p?T(Z("tiny-button"),{ref:"trigger",round:m,disabled:a,class:"tiny-dropdown__border "+(v.visible?"is-expand":"")+(g?" is-show-icon ":""),"reset-time":0},{default:function(){return[k,j]}}):T("span",{ref:"trigger",class:"is-text"+(v.visible?" is-expand":" is-hide")+(a?" is-disabled":"")+" "+w},[k,j])}var _=T(Z("tiny-dropdown-menu"),{options:c.options,"text-field":c.textField||c["text-field"],"popper-class":c.popperClass||c["popper-class"],placement:c.placement},null),I=a?null:f.dropdown&&f.dropdown()||_;return Re(T("div",{class:"tiny-dropdown","aria-disabled":a},[C,I]),[[rr("clickoutside"),y]])}});function en(){return en=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},en.apply(this,arguments)}var Rh=q({name:re+"Dropdown",componentName:"TinyDropdown",components:{TinyButton:Te,TinyButtonGroup:gt,IconChevronDown:po(),IconChevronUp:Sa(),IconArrowBottom:no()},directives:tr({Clickoutside:Mr}),props:en({},le,{type:String,trigger:String,size:{type:String,default:""},disabled:{type:Boolean,default:!1},singleButton:{type:Boolean,default:!1},showTimeout:{type:Number,default:250},hideTimeout:{type:Number,default:150},hideOnClick:{type:Boolean,default:!0},tabindex:{type:Number,default:0},border:{type:Boolean,default:!1},round:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0},modelValue:[String,Number],showSelfIcon:{type:Boolean,default:!1}}),emits:["visible-change","item-click","button-click","selectedIndex","current-item-click","is-disabled"],setup:function(t,r){return ce({props:t,context:r,renderless:$o,api:So,mono:!0,h:x})},render:function(){var t=this.type,r=this.disabled,n=this.handleMainButtonClick,i=this.slots,o=this.size,l=this.state,a=this.border,s=this.round,c=this.m,u=this.clickOutside,d=this.singleButton,f={visible:l.visible},h=null;if(d)h=T(Z("tiny-button"),{ref:"trigger",type:t==="primary"?t:"",size:o,customClass:c(["rounded active:rounded flex items-center justify-center",l.visible&&t!=="primary"&&"active:border-color-border-focus text-color-text-primary active:text-color-brand-focus focus:border-color-border-focus focus:text-color-brand-focus"]),disabled:r,"reset-time":0,onClick:n},{default:function(){return[T("div",{class:"overflow-hidden overflow-ellipsis whitespace-nowrap w-full"},[i.default&&i.default(f)])]}});else{var v=i.default&&i.default(f),p=i["suffix-icon"]&&i["suffix-icon"](),g=(v==null?void 0:v[0].data)||{},m=g.attrs,y=m===void 0?{}:m;r&&!y.disabled&&(y.disabled=!0,g.attrs=y);var b=T("span",{class:"block text-[0]"},[T(Z("icon-chevron-down"),{class:"sm:block hidden will-change-transform"},null),T(Z("icon-arrow-bottom"),{class:"sm:hidden block will-change-transform"},null)]),C=l.showIcon&&T("span",{"data-tag":"tiny-dropdown-showicon",class:["ml-1 sm:ml-2 [&_svg:nth-of-type(1)]:align-top w-4 h-4 inline-block [&_svg]:transition-transform [&_svg]:duration-300",{"fill-color-brand-focus [&_svg:nth-of-type(1)]:hover:fill-color-brand-hover [&_svg:nth-of-type(1)]:active:fill-color-brand-focus leading-4":!r&&!a},a&&(l.visible?"[&_svg]:rotate-180":"[&_svg]:rotate-0"),a&&t!=="primary"&&l.visible&&"[&_svg]:fill-color-border-focus visited:[&_svg]:fill-color-border-focus active:[&_svg]:fill-color-border-focus"]},[p||b]);h=a?T(Z("tiny-button"),{ref:"trigger",round:s,size:o,type:t==="primary"?t:"",disabled:r,class:["rounded inline-flex items-center justify-center",t==="primary"?"[&_svg]:fill-color-bg-1":l.visible?"active:border-color-border-focus text-color-text-primary active:text-color-brand-focus focus:border-color-border-focus focus:text-color-brand-focus":"[&_svg]:fill-color-icon-placeholder"],"reset-time":0},{default:function(){return[v,C]}}):T("span",{ref:"trigger",class:[l.visible&&!l.showSelfIcon?"[&_svg]:rotate-180":"[&_svg]:rotate-0",r&&"cursor-not-allowed [&_svg]:fill-color-text-disabled","inline-flex [&_svg]:transition-transform [&_svg]:duration-300"]},[T("span",{class:["inline-flex h-4 leading-4",r?"text-color-text-disabled":"hover:text-color-brand-hover active:text-color-brand-focus"]},[v]),T("span",{class:"align-bottom leading-4 h-4"},[C])])}var w=r?null:i.dropdown&&i.dropdown();return Re(T("div",{class:["relative inline-block [&>span:nth-of-type(1)]:text-color-brand-focus [&>span:nth-of-type(1)]:text-sm sm:[&>span:nth-of-type(1)]:text-xs",r&&"[&>span:nth-of-type(1)]:text-color-brand-focus",l.showSelfIcon&&"leading-4 h-4 [&_svg]:align-top [&_svg]:rotate-0"],"aria-disabled":r,"data-tag":"tiny-dropdown"},[h,w]),[[rr("clickoutside"),u]])}});function tn(){return tn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},tn.apply(this,arguments)}var Fh=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?oi:(n||t)==="mobile-first"?Rh:oi},Ph=tn({},le,{modelValue:[String,Number],type:String,trigger:String,size:{type:String,default:""},disabled:{type:Boolean,default:!1},splitButton:Boolean,singleButton:{type:Boolean,default:!1},showTimeout:{type:Number,default:250},hideTimeout:{type:Number,default:150},hideOnClick:{type:Boolean,default:!0},tabindex:{type:Number,default:0},border:{type:Boolean,default:!1},round:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0},showSelfIcon:{type:Boolean,default:!1},menuOptions:{type:Object,default:function(){return{options:[],textField:"label",popperClass:"",placement:"bottom-end"}}},title:{type:String,default:"下拉菜单"},inheritWidth:{type:Boolean,default:!1},suffixIcon:Object}),Mt=q({name:re+"Dropdown",componentName:"TinyDropdown",props:Ph,setup:function(t,r){return Ge({props:t,context:r,template:Fh})}}),Hh="3.16.0";Mt.install=function(e){e.component(Mt.name,Mt)};Mt.version=Hh;const zh=(e,t,r)=>{if(e)if(e.forEach)e.forEach(t,r);else for(let n=0,i=e.length;n<i;n++)t.call(r,e[n],n,e)};var ae=zh;const Nh=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var tt=Nh;const Bh=(e,t,r)=>{e&&Object.keys(e).forEach(n=>{tt(e,n)&&t.call(r,e[n],n,e)})};var Eo=Bh;const Vh=(e,t,r)=>e&&(Array.isArray(e)?ae(e,t,r):Eo(e,t,r));var it=Vh;const jh=(e,t)=>{let r=Object[e];return n=>{let i=[];if(!n)return i;if(r)return r(n);let o;return t>1?o=l=>{i.push([String(l),n[l]])}:o=function(){i.push(arguments[t])},it(n,o),i}};var Wh=jh;const Gh=Wh("keys",1);var Ft=Gh,Io=ql;const Xh=e=>typeof e=="function";var _e=Xh;const Yh=e=>e===null;var At=Yh;const qh=(e,t)=>r=>At(r)?t:r[e];var $n=qh;const Kh=(e,t,r)=>{let n={};if(e)if(t)_e(t)||(t=$n(t)),it(e,(i,o)=>{n[o]=t.call(r,i,o,e)});else return e;return n};var ir=Kh;const Zh=function(e,t,r){let n=[];if(e&&arguments.length>1){if(_e(t)||(t=$n(t)),e.map)return e.map(t,r);it(e,(...i)=>{n.push(t.apply(r,i))})}return n};var Kt=Zh;let xn;const li=(e,t,r)=>e(t,r?n=>xn(n,r):n=>n);xn=(e,t)=>Io(e)?li(ir,e,t):Array.isArray(e)?li(Kt,e,t):e;const Uh=(e,t)=>e&&xn(e,t);var Dt=Uh;let ai=Object.assign;const si=(e,t,r)=>{let n=t.length;for(let i,o=1;o<n;o++){i=t[o];let l;r?l=a=>{e[a]=Dt(i[a],r)}:l=a=>{e[a]=i[a]},ae(Ft(t[o]),l)}return e},Jh=function(e){if(e){let t=arguments;if(e===!0){if(t.length>1)return e=Array.isArray(e[1])?[]:{},si(e,t,!0)}else return ai?ai.apply(Object,t):si(e,t)}return e};var or=Jh;const Qh=(e,t,r)=>{for(let n=e.length-1;n>=0;n--)t.call(r,e[n],n,e)};var Oo=Qh;const ev=(e,t,r)=>{Oo(Ft(e),n=>{t.call(r,e[n],n,e)})};var tv=ev;const rv=({useArray:e,obj:t,iterate:r,context:n,matchValue:i,restIndex:o})=>{let l,a=0;if(e&&Array.isArray(t)){for(let s=0,c=t.length;s<c;s++)if(!!r.call(n,t[s],s,t)===i){l=[!0,!1,s,t[s]][o],a=1;break}}else for(let s of Object.keys(t))if(tt(t,s)&&!!r.call(n,t[s],s,t)===i){l=[!0,!1,s,t[s]][o],a=2;break}return{value:l,flag:a}},nv=(e,t,r,n,i)=>(o,l,a)=>{if(!o||!l)return i;if(e&&o[e])return o[e](l,a);{const s=rv({useArray:t,obj:o,iterate:l,context:a,matchValue:n,restIndex:r});if(s.flag)return s.value}return i};var Mo=nv,iv=Mo("every",1,1,!1,!0);const ov=Mo("find",1,3,!0);var ue=ov;const lv=e=>Kt(e,t=>t);var Ao=lv;const av=e=>typeof e>"u";var et=av;const sv=e=>At(e)||et(e);var Lr=sv;const cv=e=>e?e.splice&&e.join?e:String(e).split("."):[];var _n=cv;const uv=/(.+)?\[(\d+)\]$/;var Do=uv;const dv=(e,t)=>{const r=t?t.match(Do):"";return r?r[1]?e[r[1]]?e[r[1]][r[2]]:void 0:e[r[2]]:e[t]},fv=(e,t)=>{if(!e)return;let r,n=0;const i=(o,l)=>{for(r=e;n<o;n++)if(r=dv(r,l[n]),Lr(r))return};if(e[t]||tt(e,t))return e[t];{const o=_n(t),l=o.length;return l&&i(l,o),r}},hv=(e,t,r)=>{if(Lr(e))return r;const n=fv(e,t);return et(n)?r:n};var te=hv;const Lo=(e,t)=>et(e)||et(t)?et(t)?1:-1:At(e)||At(t)?At(t)?1:-1:e&&e.localeCompare?e.localeCompare(t):e>t?1:-1,vv=(e,t)=>(r,n)=>{let i=r[e],o=n[e];return i===o?t?t(r,n):0:Lo(i,o)},pv=(e,t,r,n)=>(r=Array.isArray(r)?r:[r],ae(r,(i,o)=>{let l;_e(i)?l=(a,s)=>{a[o]=i.call(n,a.data,s,e)}:l=a=>{a[o]=te(a.data,i)},ae(t,l)}),r),gv=(e,t,r,n)=>{if(e){if(t===n)return Ao(e).sort(Lo);let i,o=Kt(e,s=>({data:s})),a=pv(e,o,t,r).length;if(a){for(;a>=0;)i=vv(a,i),a--;o=o.sort(i)}return Kt(o,$n("data"))}return[]};var mv=gv;const bv=(e,t,r)=>{let n=[];if(e)for(t=t||0,r=r||e.length;t<r;t++)n.push(e[t]);return n};var yv=bv;const Cv=(e,t)=>(r,n)=>{if(!r)return-1;if(typeof r=="string"||Array.isArray(r))return r[e]?r[e](n):t(r,n);for(let i of Object.keys(r))if(n===r[i])return i;return-1};var wv=Cv;const Sv=(e,t)=>{if(e.indexOf)return e.indexOf(t);for(let r=0,n=e.length;r<n;r++)if(t===e[r])return r};var Zt=Sv,$v=wv("indexOf",Zt);const xv=(e,t)=>~$v(e,t);var _v=xv;const kv=e=>t=>{if(t){let r=e(t);if(!isNaN(r))return r}return 0};var Tv=kv;const Ev=Tv(parseFloat);var ze=Ev;const Iv=(e,t,r)=>{let n=0,i;return t?_e(t)?i=(...o)=>{n+=ze(t.apply(r,o))}:i=o=>{n+=ze(o[t])}:i=o=>{n+=ze(o)},it(e,i),n};var Ov=Iv;const Mv={parentKey:"parentId",key:"id",children:"children"},Ro=(e,t,r)=>{let n=r.children,i=r.data;return it(t,o=>{const l=o[n];i&&(o=o[i]),e.push(o),l&&Ro(e,l,r)}),e},Av=(e,t)=>Ro([],e,or({},Mv,t));var Dv=Av;const Lv=e=>(t,r,n,i)=>{let o=n||{},l=o.children||"children";return e({item:null,obj:t,iterate:r,context:i,path:[],node:[],parseChildren:l,opts:o})};var kn=Lv;const Fo=({parent:e,obj:t,iterate:r,context:n,path:i,node:o,parseChildren:l,opts:a})=>{if(t)for(let s=0,c=t.length;s<c;s++){const u=t[s],d=i.concat([`${s}`]),f=o.concat([u]);if(r.call(n,u,s,t,d,e,f))return{index:s,item:u,path:i,items:t,parent:e,nodes:f};if(l&&u){const h=d.concat([l]),v=Fo({parent:u,obj:u[l],iterate:r,context:n,path:h,node:f,parseChildren:l,opts:a});if(v)return v}}},Rv=kn(Fo);var Me=Rv;const Po=({parent:e,obj:t,iterate:r,context:n,path:i,node:o,parseChildren:l,opts:a})=>{it(t,(s,c)=>{const u=i.concat([`${c}`]),d=o.concat([s]);r.call(n,s,c,t,u,e,d),s&&l&&(u.push(l),Po({item:s,obj:s[l],context:n,iterate:r,node:d,parseChildren:l,path:u,opts:a}))})},Fv=kn(Po);var We=Fv;const Ho=({parent:e,obj:t,iterate:r,context:n,path:i,node:o,parseChildren:l,opts:a})=>{let s=a.mapChildren||l;return Kt(t,(c,u)=>{const d=i.concat([`${u}`]),f=o.concat([c]),h=r.call(n,c,u,t,d,e,f);return h&&c&&l&&c[l]&&(h[s]=Ho({item:c,obj:c[l],iterate:r,context:n,path:d,node:f,parseChildren:l,opts:a})),h})},Pv=kn(Ho);var ci=Pv;const Hv=(e,t,r,n)=>{let i=[];return e&&t&&We(e,(...o)=>{t.apply(n,o)&&i.push(o[0])},r),i};var xr=Hv;const zv=e=>typeof e=="object"&&e!==null;var Rr=zv;const Nv=e=>typeof e=="string";var Ut=Nv;const Bv=(e,t,r)=>e&&(Array.isArray(e)?Oo(e,t,r):tv(e,t,r));var Vv=Bv;const jv=(e,t)=>{try{delete e[t]}catch{e[t]=void 0}};var zo=jv;const Wv=function(e,t,r){if(!e)return e;let n=arguments.length>1&&(At(t)||!Rr(t)),i=n?r:t;if(Io(e)){let o;n?o=(l,a)=>{e[a]=t}:o=(l,a)=>{zo(e,a)},Eo(e,o),i&&or(e,i)}else if(Array.isArray(e)){if(n){let o=e.length;for(;o>0;)o--,e[o]=t}else e.length=0;i&&e.push.apply(e,i)}return e};var No=Wv;const Gv=e=>(t,r)=>r===e,Xv=(e,t,r)=>{if(e){if(!Lr(t)){let n=[],i=[];return _e(t)||(t=Gv(t)),it(e,(o,l,a)=>{t.call(r,o,l,a)&&n.push(l)}),Array.isArray(e)?Vv(n,o=>{i.push(e[o]),e.splice(o,1)}):(i={},ae(n,o=>{i[o]=e[o],zo(e,o)})),i}return No(e)}return e};var Oe=Xv;const Yv=e=>typeof e=="boolean";var Be=Yv;const qv=e=>typeof e=="number";var Jt=qv;let Bo;const Vo=({val1:e,val2:t,compare:r,func:n,key:i,obj1:o,obj2:l})=>e===t?!0:e&&t&&!Jt(e)&&!Jt(t)&&!Ut(e)&&!Ut(t)?Kl(e)?r(String(e),String(t),i,o,l):io(e)||Be(e)?r(Number(e),Number(t),i,o,l):Bo(e,t,n,i,r):r(e,t,i,o,l);Bo=(e,t,r,n,i)=>{let o,l,a,s=Array.isArray(e),c=Array.isArray(t);if(s||c?s&&c:e.constructor===t.constructor)return l=Ft(e),a=Ft(t),r&&(o=r(e,t,n)),l.length===a.length?et(o)?iv(l,(u,d)=>u===a[d]&&Vo({val1:e[u],val2:t[a[d]],compare:i,func:r,key:s||c?d:u,obj1:e,obj2:t})):!!o:!1};var Kv=Vo;const Zv=(e,t)=>Kv({val1:e,val2:t,compare:(r,n)=>r===n});var Uv=Zv;let Jv=0;const Qv=e=>(e?String(e):0)+ ++Jv;var ep=Qv;const tp=e=>(t,r,n)=>{if(!t||!_e(r))return-1;if(Array.isArray(t)||Ut(t))return e(t,r,n);for(let i of Object.keys(t))if(tt(t,i)&&r.call(n,t[i],i,t))return i;return-1};var rp=tp;const np=rp((e,t,r)=>{for(let n=0,i=e.length;n<i;n++)if(t.call(r,e[n],n,e))return n;return-1});var ip=np;const op=e=>{if(Rr(e))return e;if(Ut(e))try{return JSON.parse(e)}catch{}return{}};var lp=op;const ap=(e,t,r)=>{let n=e[1],i=e[2];return n?t[n]&&tt(t[n],i)&&(r=!0,t=t[n][i]):tt(t,i)&&(r=!0,t=t[i]),{isHas:r,rest:t}},sp=(e,t)=>{if(!e)return;const r=n=>{let i,o,l,a,s=_n(n),c=0,u=s.length,d=!1;for(l=e;c<u;c++){if(a=!1,i=s[c],o=i?i.match(Do):"",o){const f=ap(o,l,a);a=f.isHas,l=f.rest}else tt(l,i)&&(a=!0,l=l[i]);if(a)c===u-1&&(d=!0);else break}return d};return tt(e,t)?!0:r(t)};var jo=sp;const cp=/(.+)\[(\d+)\]$/,up=(e,t,r,n)=>{if(e[t])r&&(e[t]=n);else{const i=t?t.match(cp):null,o=r?n:{};if(i){const l=i[1],a=parseInt(i[2]);e[l]||(e[l]=new Array(a+1)),e[l][a]=o}else e[t]=o;return o}return e[t]},dp=(e,t,r)=>{if(e)if(e[t]||tt(e,t))e[t]=r;else{let n=e,i=_n(t),o=i.length;for(let l=0;l<o;l++)n=up(n,i[l],l===o-1,r)}return e};var xe=dp;const fp=function(e,t){if(e&&t){let r=or.apply(this,[{}].concat(yv(arguments,1))),n=Ft(r);ae(Ft(e),i=>{_v(n,i)&&(e[i]=r[i])})}return e};var Wo=fp;const hp=e=>{if(Jt(e)&&String(e).includes("e-")){let t=e<0;return(t?"-":"")+"0"+String((t?Math.abs(e):e)+1).substr(1)}return String(Lr(e)?"":e)};var Go=hp;const vp=(e,t)=>{let r=Go(e);return r&&t?r.replace(/\{{2}([.\w[\]\s]+)\}{2}/g,(n,i)=>te(t,i)):r};var ar=vp;const Ee=Array.isArray,pp=window.requestAnimationFrame,rn=e=>{e.scheduled||(e.scheduled=!0,e.raf(gp.bind(null,e)))},gp=e=>{const{reads:t,writes:r}=e;let n;try{e.runTasks(t),e.runTasks(r)}catch(i){n=i}if(e.scheduled=!1,(t.length||r.length)&&rn(e),n)if(e.catch)e.catch(n);else throw n},ui=(e,t)=>{const r=e.indexOf(t);return!!~r&&!!e.splice(r,1)},mp=(e,t)=>{for(let r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r])};class bp{constructor(){this.reads=[],this.writes=[],this.raf=pp.bind(window)}runTasks(t){let r;for(;r=t.shift();)r()}measure(t,r){const n=r?t.bind(r):t;return this.reads.push(n),rn(this),n}mutate(t,r){const n=r?t.bind(r):t;return this.writes.push(n),rn(this),n}clear(t){return ui(this.reads,t)||ui(this.writes,t)}extend(t){if(!t||typeof t!="object")throw new Error("[TINY][FastDom] expected object");const r=Object.create(this);return mp(r,t),r.fastdom=this,r.initialize&&r.initialize(),r}}const yp=new bp;var Cp=yp;const wp=({emit:e,props:t,state:r})=>n=>{if(t.disabled)return;n.stopPropagation(),r.show=!1;const i=()=>e("close",n);t.beforeDelete?t.beforeDelete(i):i()},Sp=({emit:e,props:t,parent:r,state:n})=>i=>{t.selectable||t.disabled||(r.$parent&&r.$parent.tagSelectable&&i.stopPropagation(),n.selected=!n.selected,e("click",i))},Tn=["state","handleClose","handleClick"],En=(e,{reactive:t,computed:r},{emit:n,parent:i})=>{const o=t({type:r(()=>e.theme||e.type),show:!0,selected:!1,mini:e.mini,color:e.color,text:e.text,maxWidth:e.maxWidth});return{state:o,handleClose:wp({emit:n,props:e,state:o}),handleClick:Sp({emit:n,props:e,parent:i,state:o})}};var di=q({components:{IconClose:Or()},emits:["click","close"],props:[].concat(ke,["text","closable","type","hit","disabled","color","size","effect","value","beforeDelete"]),setup:function(t,r){return ce({props:t,context:r,renderless:En,api:Tn,h:x})},render:function(){var t=this.type,r=this.size,n=this.hit,i=this.effect,o=this.slots,l=this.closable,a=this.color,s=this.handleClose,c=this.handleClick,u=this.disabled;this.state;var d=this.value,f={},h=["tiny-tag",t?"tiny-tag--"+t:"",r?"tiny-tag--"+r:"",i?"tiny-tag--"+i:"",n&&"is-hit",u?"is-disabled":""];a&&(Array.isArray(a)?f={background:a[0],color:a[1]}:["red","orange","green","blue","purple","brown","grey","gold"].includes(a)?h.push("tiny-tag--"+a):f={background:a});var v=d||o.default&&o.default()?T("span",{"data-tag":"tiny-tag",class:h,style:f,onClick:c},[d?T("span",null,[d]):o.default&&o.default(),l&&T(Z("icon-close"),{class:"tiny-svg-size tiny-tag__close ",onClick:s},null)]):T("span",null,null);return v}});function $p(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=xp(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xp(e,t){if(e){if(typeof e=="string")return fi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fi(e,t)}}function fi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var _p=function(t,r){for(var n=t.__vccOpts||t,i=$p(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},kp=q({emits:["click","close"],props:[].concat(ke,["text","color","width","mini","maxWidth"]),setup:function(t,r){return ce({props:t,context:r,renderless:En,api:Tn,h:x})}});function Tp(e,t,r,n,i,o){return S(),M("div",{class:W(["tiny-mobile-tag","tiny-mobile-tag-"+e.state.color,e.state.mini?"tiny-mobile-tag-mini":null]),style:be({maxWidth:e.state.maxWidth?e.state.maxWidth+"px":null})},[se(e.$slots,"default",{},function(){return[Qe(U(e.state.text),1)]})],6)}var Ep=_p(kp,[["render",Tp]]),Ip={"dark-success":"text-color-text-inverse bg-color-success","dark-alerting":"text-color-text-inverse bg-color-alert","dark-warning":"text-color-text-inverse bg-color-warning","dark-error":"text-color-text-inverse bg-color-error","dark-default":"text-color-text-inverse bg-color-info-primary","dark-info":"text-color-text-inverse bg-color-text-placeholder","dark-pink":"text-color-text-inverse bg-color-chart-17","dark-purple":"text-color-text-inverse bg-color-chart-11","dark-cyan":"text-color-text-inverse bg-color-chart-2","light-success":"text-color-success bg-color-success-subtler","light-alerting":"text-color-alert bg-color-alert-subtler","light-warning":"text-color-warning bg-color-warning-subtler","light-error":"text-color-error bg-color-error-subtler","light-default":"text-color-info-primary bg-color-info-primary-subtler","light-info":"text-color-text-primary bg-color-bg-2","light-pink":"text-color-chart-17 bg-color-chart-17-subtler","light-purple":"text-color-chart-11 bg-color-chart-11-subtler","light-cyan":"text-color-chart-2 bg-color-chart-2-subtler","plain-success":"text-color-success bg-color-bg-1","plain-alerting":"text-color-alert bg-color-bg-1","plain-warning":"text-color-warning bg-color-bg-1","plain-error":"text-color-error bg-color-bg-1","plain-default":"text-color-info-primary bg-color-bg-1","plain-info":"text-color-text-primary bg-color-bg-1","plain-pink":"text-color-chart-17 bg-color-bg-1","plain-purple":"text-color-chart-11 bg-color-bg-1","plain-cyan":"text-color-chart-2 bg-color-bg-1","success-border":"border-color-success-subtle","alerting-border":"border-color-alert-subtle","warning-border":"border-color-warning-subtle","error-border":"border-color-error-subtle","default-border":"border-color-info-primary-subtle","info-border":"border-color-none","pink-border":"border-color-chart-17-subtle","purple-border":"border-color-chart-11-subtle","cyan-border":"border-color-chart-2-subtle","fill-dark":"fill-color-bg-6 hover:fill-color-icon-inverse","fill-light-success":"fill-color-success-subtle hover:fill-color-success","fill-light-alerting":"fill-color-alert-subtle hover:fill-color-alert","fill-light-warning":"fill-color-warning-subtle hover:fill-color-warning","fill-light-error":"fill-color-error-subtle hover:fill-color-error","fill-light-default":"fill-color-info-primary-subtle hover:fill-color-info-primary","fill-light-info":"fill-color-none hover:fill-color-none","fill-light-pink":"fill-color-chart-17-subtle hover:fill-color-chart-17","fill-light-purple":"fill-color-chart-11-subtle hover:fill-color-chart-11","fill-light-cyan":"fill-color-chart-2-subtle hover:fill-color-chart-2","selectable-unselect":"h-9 sm:h-7 text-color-text-primary bg-color-bg-4 cursor-pointer hover:bg-color-fill-1","selectable-selected":"h-9 sm:h-7 text-color-brand border-current bg-color-info-primary-subtler cursor-pointer hover:text-color-brand-hover","tag-disabled":"h-9 sm:h-7 text-color-text-disabled bg-color-bg-4 border-transparent cursor-not-allowed hover:text-color-text-disabled hover:bg-color-bg-4","tag-operable":"h-7 sm:h-6 cursor-pointer",medium:"h-7 px-3",small:"h-6 px-2",mini:"h-5 px-1"},Op=q({components:{IconClose:Or()},emits:["click","close"],props:[].concat(ke,["text","closable","operable","selectable","type","theme","hit","disabled","color","size","effect","customClass","value"]),setup:function(t,r){return ce({props:t,context:r,renderless:En,api:Tn,h:x,classes:Ip})},render:function(){var t=this.slots,r=this.selectable,n=this.disabled,i=this.color,o=this.handleClose,l=this.handleClick,a=this.customClass,s=this.hit,c=this.m,u=this.gcls,d=this.state,f=this.value,h=r?"medium":this.size||"small",v=r?"info":d.type||"info",p=r?"light":this.effect||"light",g=r?!1:this.closable,m=r?!1:this.operable,y=c("text-xs inline-flex items-center rounded box-border border-0.5 sm:border mr-2",p==="plain"||s?u(v+"-border"):"border-transparent",u(p+"-"+v),u(h),{hidden:!d.show},r?d.selected?u("selectable-selected"):u("selectable-unselect"):"",r&&n?u("tag-disabled"):"",m?u("tag-operable"):"",a),b=f||t.default&&t.default()?T("span",{"data-tag":"tiny-tag",class:y,style:{backgroundColor:i},onClick:l},[f?T("span",null,[f]):t.default&&t.default(),g&&T(Z("icon-close"),{class:["w-3 h-3 ml-1 cursor-pointer",u(p==="dark"?"fill-dark":"fill-light-"+v)],onClick:o},null)]):T("span",null,null);return b}});function nn(){return nn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},nn.apply(this,arguments)}var Mp=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?di:(n||t)==="mobile"?Ep:(n||t)==="mobile-first"?Op:di},Ap=nn({},le,{hit:Boolean,text:String,type:String,theme:String,size:String,color:{type:[String,Array],default:""},closable:Boolean,operable:Boolean,disabled:Boolean,selectable:Boolean,customClass:{type:String,default:""},effect:{type:String,default:"light",validator:function(t){return!!~["dark","light","plain"].indexOf(t)}},beforeDelete:Function,value:[Number,String],mini:{type:Boolean,default:!1},maxWidth:{type:[String,Number],default:null}}),jt=q({name:re+"Tag",props:Ap,setup:function(t,r){return Ge({props:t,context:r,template:Mp})}}),Dp="3.16.0";jt.install=function(e){e.component(jt.name,jt)};jt.version=Dp;const sr={},vr={mixin(e){return Object.assign(sr,e),vr},get(e){return sr[e]},add(e,t){return sr[e]=t,vr},delete(e){return delete sr[e],vr}};var Xo=vr;const pr=e=>Go(e).replace("_","").toLowerCase(),Lp=["created","mounted","activated","beforeDestroy","destroyed","event.clearActived","event.clearFilter","event.showMenu","event.keydown"].map(pr),xt={},Bt={mixin(e){return it(e,(t,r)=>Bt.add(r,t)),Bt},get(e){return xt[pr(e)]||[]},add(e,t){const r=pr(e);return t&&~Lp.indexOf(r)&&(xt[r]=xt[r]?xt[r]:[],xt[r].push(t)),Bt},delete(e,t){const r=xt[pr(e)];return r&&Oe(r,n=>n===t),Bt}};var Yo=Bt;const qo=$t.isDoc&&/Firefox/i.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel",Nr=[],vt={on(e,t,r){r&&Nr.push({comp:e,type:t,cb:r})},off(e,t){Oe(Nr,r=>r.comp===e&&r.type===t)},trigger(e){Nr.forEach(({comp:t,type:r,cb:n})=>{(r===e.type||r==="mousewheel"&&e.type===qo)&&n.call(t,e)})}};$t.isDoc&&(he(document,"keydown",vt.trigger),he(document,"contextmenu",vt.trigger),he(window,"mousedown",vt.trigger),he(window,"blur",vt.trigger),he(window,"resize",vt.trigger),he(window,qo,vt.trigger));var Ae=vt;const Ye=e=>_e(e)?e():e,In=e=>e.rowId,fe=(e,t)=>{const r=te(t,In(e));return r?encodeURIComponent(r):""},Ko=e=>{const t=[];return e.forEach(r=>{r.children&&r.children.length?t.push(...Ko(r.children)):t.push(r)}),t},Pt=(e,t)=>e?_e(e)?e(t):e:"",Rp=e=>(e||[]).map(({label:t,value:r,data:n,checked:i})=>({label:t,value:r,data:n,_data:n,checked:!!i})),Fp=e=>yt({condition:{input:"",relation:"equals",empty:null,type:null,value:[]},hasFilter:!1,custom:null},e),lt=e=>`${ut(e)?"":e}`,qe=(e,t,r)=>{const{format:n,property:i}=t;if(n&&n.async&&Array.isArray(n.data)&&n.data.length>0&&r){let o="";const{enabled:l,valueSplit:a,textSplit:s}=n.async.splitConfig||{},c=u=>Zl(n.data,d=>{if(typeof d=="object"){const f=te(d,n.async.text||"label"),h=te(d,n.async.value||"value");return d.label=f,u===h||u===f}return u===d});if(l){const u=[];r.split(a||",").forEach(d=>{const f=c(d);f&&u.push(f.label)}),o=u.join(s||",")}else o=c(r);xe(e,t.asyncPrefix+i,o&&o.label)}xe(e,i,r)},_r=e=>e&&e.children&&e.children.length>0,Pp=(e,{columnConfig:t})=>{const r=Me(e.collectColumn,n=>n===t);r&&r.items.splice(r.index,1),e.collectColumn=e.collectColumn.slice(0)},Q=(e,t,r)=>{if(e.tableListeners[t]){const n=[].concat(r);e.$emit(t,...n)}},Hp=(e,t,r)=>{const{columnConfig:n,$el:i,slots:o,$parent:l}=r,{collectColumn:a}=e;n.slots=o;const s=i.parentNode,c=[].indexOf.call(s.children,i);if(!t||t!==l)a.splice(c,0,n);else{const u=t.columnConfig;u.children||(u.children=[]),u.children.splice(c,0,n)}e.collectColumn=a.slice(0)},zt=(e,t)=>{const{field:r,prop:n}=t.own;return te(e,r||n)},On=(e,t)=>{const r=/\B([A-Z])/g,n=/^on[A-Z]/,i={};return t||(Object.keys(e).forEach(o=>{const l=e[o];n.test(o)&&typeof l=="function"&&(i[o.slice(2).replace(r,"-$1").toLowerCase()]=l)}),i)};let zp=0;function Np(e,t){e.id=`col_${++zp}`,e.type=t.type,e.prop=t.prop,e.rules=t.rules,e.required=t.required,e.property=t.field||t.prop,e.title=t.title,e.label=t.label,e.width=t.width,e.minWidth=t.minWidth,e.resizable=t.resizable,e.fixed=t.fixed,e.align=t.align,e.headerAlign=t.headerAlign,e.footerAlign=t.footerAlign,e.showOverflow=t.showOverflow,e.showHeaderOverflow=t.showHeaderOverflow,e.showTip=t.showTip,e.showHeaderTip=t.showHeaderTip,e.className=t.class||t.className,e.headerClassName=t.headerClassName,e.footerClassName=t.footerClassName,e.indexMethod=t.indexMethod,e.formatText=t.formatText,e.formatValue=t.formatValue,e.format=t.formatConfig,e.sortable=t.sortable,e.sortBy=t.sortBy,e.sortMethod=t.sortMethod,e.remoteSort=t.remoteSort,e.filterMultiple=Be(t.filterMultiple)?t.filterMultiple:!0,e.filterMethod=t.filterMethod,e.filterRender=t.filterRender,e.filter=t.filter&&Fp(t.filter),e.treeNode=t.treeNode,e.renderer=t.renderer,e.editor=t.editor,e.operationConfig=t.operationConfig,e.equals=t.equals}function hi(e,{renderHeader:t,renderCell:r,renderData:n}={},i={}){Np(this,e),this.params=e.params,this.visible=!0,this.level=1,this.rowSpan=1,this.colSpan=1,this.order=null,this.renderWidth=0,this.renderHeight=0,this.resizeWidth=0,this.renderLeft=0,this.model={},this.renderHeader=t||e.renderHeader,this.renderCell=r||e.renderCell,this.renderData=n,this.showIcon=Be(e.showIcon)?e.showIcon:!0,this.loading=!1,this.slots=e.slots,this.own=e,this.asyncPrefix=i.constant.asyncPrefix}const Bp=(e,t,r)=>e instanceof hi?e:new hi(e,t,r),Vp=(e,t,...r)=>{let n=!1;if(typeof e=="function"&&typeof t=="string"){const i=document.createEvent("HTMLEvents");i.initEvent(t,!1,!0),i.preventDefault=()=>{n=!0},r.unshift(i),r.unshift(t),e.apply(null,r)}return!n},jp=e=>!e||!e.target?null:e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target,Zo="data-rowid",Wp=".tiny-grid-cell",Gp=".tiny-grid-body__row",vi=e=>e&&/^\d+(px)?$/.test(e),Lt=e=>e&&/^\d+%$/.test(e),Mn=e=>{const t=e.currentTarget.querySelector(Wp),r=t.innerText;t.getAttribute("title")!==r&&t.setAttribute("title",r)},Xp=(e,t)=>{e.$nextTick(()=>{const r=e.$refs.tableBody;if(r){const n=r.$el,i=n.querySelector(`[${Zo}="${fe(e,t)}"]`);if(i){const o=n.clientHeight,l=n.scrollTop,a=i.offsetTop+(i.offsetParent?i.offsetParent.offsetTop:0),s=i.clientHeight;a<l||a>l+o?n.scrollTop=a:a+s>=o+l&&(n.scrollTop=l+s)}else e.scrollYLoad&&(n.scrollTop=(e.afterFullData.indexOf(t)-1)*e.scrollYStore.rowHeight)}})};function Yp(e,t,r,n,i){let o=e.elemStore["main-body-wrapper"].scrollLeft+i;return r.fixed||(t.fixed==="left"&&(o=0),t.fixed==="right"&&(o=n.scrollWidth)),o}function Uo(e,t){const{tableBody:r}=e.$refs,{visibleColumn:n}=e,{scrollLeft:i,clientWidth:o}=r.$el;let l=0,a=0;n.forEach(d=>{d.fixed==="left"?l+=d.renderWidth:d.fixed==="right"&&(a+=d.renderWidth)});const s=t._accumulateRenderWidth||t.offsetLeft+(t.offsetParent?t.offsetParent.offsetLeft:0),c=t._renderWidth||t.clientWidth;let u;return s<i+l?u=s-l:s+c>i+o-a?u=s+c-o+a:u=i,u}function qp(e,t,r,n,i){const{isLeftArrow:o,isRightArrow:l,from:a}=i||{};if(e.scrollLeft=Uo(r,t),a){const s=o?"left":l?"right":null,c=r.elemStore[`${s}-body-list`],u=r.elemStore["main-body-wrapper"],{left:d,right:f}=t.getBoundingClientRect();let h=0;if(o&&c){const v=c.querySelector("td.fixed__column"),p=v?v.getBoundingClientRect().left:c.getBoundingClientRect().right;p>d&&(h=d-p)}if(l&&c){const p=(c.querySelector("td:not(.fixed__column)")||c).getBoundingClientRect().left;p<f&&(h=f-p)}u.scrollLeft=Yp(r,a,n,e,h)}}const Kp=(e,t,r)=>{e.$nextTick(()=>{const n=e.$refs.tableBody.$el,i=n.querySelector(`.${t.id}`);if(i)qp(n,i,e,t,r);else if(e.scrollXLoad){const o=e.visibleColumn;let l=0;for(let a=0;a<o.length&&o[a]!==t;a++)l+=o[a].renderWidth;n.scrollLeft=Uo(e,{_accumulateRenderWidth:l,_renderWidth:t.renderWidth})}})},Zp=(e,t)=>!e||!t||!e.getAttribute?!1:(" "+e.getAttribute("data-tag")+" ").includes(" "+t+" "),St=(e,t,r)=>{let n,i=jp(e);for(;i&&i.nodeType&&i!==document;){if(r&&(gn(i,r)||Zp(i,r)))n=i;else if(i===t)return{flag:r?!!n:!0,container:t,targetElem:n};i=i.parentNode}return{flag:!1}};function Jo(e,t,r){if(e){const n=document.querySelector("html"),i=document.body,o=e.parentNode;if(r.top+=e.offsetTop,r.left+=e.offsetLeft,o&&o!==n&&o!==i&&(r.top-=o.scrollTop,r.left-=o.scrollLeft),!(t&&(e===t||e.offsetParent===t))&&e.offsetParent)return Jo(e.offsetParent,t,r)}return r}const Up=(e,t)=>Jo(e,t,{left:0,top:0}),ie=e=>{const t=e.parentNode,r=Zt(t.children,e),n=Zt(t.parentNode.children,t);return{columnIndex:r,rowIndex:n}},Ie=(e,t,r)=>{const n=t.columnIndex,i=t.rowIndex,o=r.columnIndex,l=r.rowIndex,a=[];for(let s=Math.min(i,l),c=Math.max(i,l);s<=c;s++){const u=[],d=e[s];for(let f=Math.min(n,o),h=Math.max(n,o);f<=h;f++)u.push(d.children[f]);a.push(u)}return a},st=(e,{row:t,column:r})=>new Promise(n=>{e.$nextTick(()=>{const i=e.$refs[`${r.fixed||"table"}Body`];n((i||e.$refs.tableBody).$el.querySelector(`${Gp}[${Zo}="${fe(e,t)}"] .${r.id}`))})}),pi="after-leave",Jp=300;var Qo=(e,t,r=Jp,n=!1)=>{if(!e||!t)throw new Error("instance & callback is required");let i=!1;const o=function(){i||(i=!0,typeof t=="function"&&t.apply(null,arguments))};n?e.$once(pi,o):e.$on(pi,o),setTimeout(o,r+100)};const Qp=e=>()=>{e("after-leave")},eg=e=>t=>{e.text=t},tg=({state:e,constants:t,vm:r})=>()=>{Qo(r,()=>{const n=e.fullscreen||e.body?document.body:e.target;r.$el&&r.$el.parentNode&&(ge(n,t.PARENT_RELATIVE_CLS),ge(n,t.PARENT_HIDDEN_CLS),r.$el.parentNode.removeChild(r.$el)),e.closed=!0},300),e.visible=!1},An=["state","handleAfterLeave","setText","close"],Dn=(e,{reactive:t,computed:r},{constants:n,vm:i,emit:o,designConfig:l})=>{const a=t({text:null,spinner:null,visible:!1,customClass:"",background:null,fullscreen:!0,closed:!1,size:"",iconSize:"",loadingImg:r(()=>{var c;return e.loadingImg||((c=l==null?void 0:l.props)==null?void 0:c.loadingImg)}),iconStyle:r(()=>a.iconSize?{width:a.iconSize+"px",height:a.iconSize+"px"}:{})});return{state:a,setText:eg(a),handleAfterLeave:Qp(o),close:tg({state:a,constants:n,vm:i})}};function rg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=ng(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ng(e,t){if(e){if(typeof e=="string")return gi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gi(e,t)}}function gi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ig=function(t,r){for(var n=t.__vccOpts||t,i=rg(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},og=q({inheritAttrs:!1,name:re+"Loading",emits:["after-leave"],props:[].concat(ke,["_constants","loadingImg","size"]),setup:function(t,r){return ce({props:t,context:r,renderless:Dn,api:An})}}),lg=["src"],ag={key:2,class:"circular",viewBox:"25 25 50 50"},sg=L("circle",{class:"path",cx:"50",cy:"50",r:"24",fill:"none"},null,-1),cg=[sg],ug={key:3,class:"tiny-loading__text"};function dg(e,t,r,n,i,o){return S(),J(Ct,{name:"tiny-loading-fade",onAfterLeave:e.handleAfterLeave,persisted:""},{default:de(function(){return[Re(L("div",{"data-tag":"tiny-loading",class:W(["tiny-loading tiny-loading__mask",[e.state.customClass,{"is-fullscreen":e.state.fullscreen}]]),style:be({backgroundColor:e.state.background||""})},[L("div",{class:W(["tiny-loading__spinner",{small:"tiny-loading__spinner-small",medium:"tiny-loading__spinner-medium",large:"tiny-loading__spinner-large"}[e.size]])},[e.state.spinner?(S(),J($e(e.state.spinner),{key:0,class:"tiny-icon-loading"})):e.state.loadingImg?(S(),M("img",{key:1,class:"circular",style:be(e.state.iconStyle),src:e.state.loadingImg},null,12,lg)):(S(),M("svg",ag,cg)),e.state.text?(S(),M("p",ug,U(e.state.text),1)):ee("v-if",!0)],2)],6),[[dt,e.state.visible]])]}),_:1},8,["onAfterLeave"])}var mi=ig(og,[["render",dg]]);const fg="/ui/admin/assets/loading-cbac5e7e.png";var hg={"loading-default":"m-0 top-0 right-0 left-0 bottom-0 block transition bg-color-bg-1 duration-1000","loading-fullscreen":"fixed opacity-80","loading-unfullscreen":"absolute","loading-content":"absolute -translate-y-2/4  w-full  top-1/2 text-center  flex justify-center items-center","loading-size-mini":"flex-row","loading-size-unmini":"flex-col","loading-unspinner":"animate-[spin_1.5s_linear_infinite] fill-current","loading-unspinner-size-default":"h-10 w-10 stroke-2","loading-unspinner-size-large":"h-24 w-24 stroke-2","loading-unspinner-size-medium":"h-10 w-10 stroke-2","loading-unspinner-size-small":"h-6 w-6 stroke-1","loading-unspinner-size-mini":"h-3.5 w-3.5 stroke-1","loading-unspinner-svg-circle":"stroke-color-brand tiny-loading-path","loading-spinner":"text-sm fill-color-brand leading-none animate-[spin_2s_linear_infinite]","loading-spinner-text":"tiny-tailwind-text block text-color-brand  text-xs leading-6","loading-spinner-size-mini":"my-0 ml-2","loading-spinner-size-unmini":"mb-1 mt-2.5"};function vg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=pg(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pg(e,t){if(e){if(typeof e=="string")return bi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bi(e,t)}}function bi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var gg=function(t,r){for(var n=t.__vccOpts||t,i=vg(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n};function on(){return on=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},on.apply(this,arguments)}var mg=q({name:re+"Loading",emits:["after-leave"],props:on({},le,{_constants:Object,loadingImg:{type:String,default:fg},size:{type:String}}),setup:function(t,r){return ce({props:t,context:r,renderless:Dn,api:An,classes:hg})}}),bg=["src"],yg={key:2,class:"tiny-mobile-loading__text"};function Cg(e,t,r,n,i,o){return S(),J(Ct,{name:"tiny-loading-fade",onAfterLeave:e.handleAfterLeave,persisted:""},{default:de(function(){var l;return[Re(L("div",{class:W(["tiny-mobile-loading",e.state.customClass]),style:be("background-color:"+e.state.background)},[L("div",{class:W(["tiny-mobile-loading__body",(l={},l["tiny-mobile-loading-"+e.size]=e.size,l)])},[e.state.spinner?(S(),J($e(e.state.spinner),{key:1,class:"tiny-mobile-loading__spinner"})):(S(),M("img",{key:0,class:"tiny-mobile-loading__icon",src:e.state.loadingImg,style:be(e.state.iconStyle)},null,12,bg)),e.state.text?(S(),M("span",yg,U(e.state.text),1)):ee("v-if",!0)],2)],6),[[dt,e.state.visible]])]}),_:1},8,["onAfterLeave"])}var wg=gg(mg,[["render",Cg]]),Sg={"loading-default":"m-0 top-0 right-0 left-0 bottom-0 block transition bg-color-bg-1 duration-1000","loading-fullscreen":"fixed opacity-80","loading-unfullscreen":"absolute","loading-content":"absolute -translate-y-2/4  w-full  top-1/2 text-center  flex justify-center items-center","loading-size-mini":"flex-row","loading-size-unmini":"flex-col","loading-unspinner":"animate-[spin_1.5s_linear_infinite] fill-current","loading-unspinner-size-default":"h-10 w-10 stroke-2","loading-unspinner-size-large":"h-24 w-24 stroke-2","loading-unspinner-size-medium":"h-10 w-10 stroke-2","loading-unspinner-size-small":"h-6 w-6 stroke-1","loading-unspinner-size-mini":"h-3.5 w-3.5 stroke-1","loading-unspinner-svg-circle":"stroke-color-brand tiny-loading-path","loading-spinner":"text-sm fill-color-brand leading-none animate-[spin_2s_linear_infinite]","loading-spinner-text":"tiny-tailwind-text block text-color-brand  text-xs leading-6","loading-spinner-size-mini":"my-0 ml-2","loading-spinner-size-unmini":"mb-1 mt-2.5"};function $g(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=xg(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xg(e,t){if(e){if(typeof e=="string")return yi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yi(e,t)}}function yi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var _g=function(t,r){for(var n=t.__vccOpts||t,i=$g(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},kg=q({inheritAttrs:!1,name:re+"Loading",emits:["after-leave"],props:[].concat(ke,["_constants","loadingImg","size"]),setup:function(t,r){return ce({props:t,context:r,renderless:Dn,api:An,classes:Sg})}}),Tg=["src"];function Eg(e,t,r,n,i,o){return S(),J(Ct,{name:"tiny-loading-fade",onAfterLeave:e.handleAfterLeave,persisted:""},{default:de(function(){return[Re(L("div",{"data-tag":"tiny-loading",class:W(e.m(e.state.customClass,e.gcls("loading-default"),e.gcls({"loading-fullscreen":e.state.fullscreen}),e.gcls({"loading-unfullscreen":!e.state.fullscreen}))),style:be("background-color:"+e.state.background)},[L("div",{"data-tag":"tiny-loading-body",class:W(e.m(e.gcls("loading-content"),e.gcls({"loading-size-mini":e.size==="mini"}),e.gcls({"loading-size-unmini":e.size!=="mini"})))},[e.state.spinner?(S(),J($e(e.state.spinner),{key:1,"data-tag":"tiny-loading-spinner",class:W(e.m(e.gcls("loading-spinner")))},null,8,["class"])):(S(),M("img",{key:0,"data-tag":"tiny-loading-icon",class:W(e.m(e.gcls({"loading-unspinner-size-default":!e.size||!["large","medium","small","mini"].includes(e.size)}),e.gcls({"loading-unspinner-size-large":e.size==="large"}),e.gcls({"loading-unspinner-size-medium":e.size==="medium"}),e.gcls({"loading-unspinner-size-small":e.size==="small"}),e.gcls({"loading-unspinner-size-mini":e.size==="mini"}))),src:e.state.loadingImg,style:be(e.state.iconStyle)},null,14,Tg)),e.state.text?(S(),M("span",{key:2,"data-tag":"tiny-loading-text",class:W(e.m(e.gcls("loading-spinner-text"),e.gcls({"loading-spinner-size-mini":e.size==="mini"}),e.gcls({"loading-spinner-size-unmini":e.size!=="mini"})))},U(e.state.text),3)):ee("v-if",!0)],2)],6),[[dt,e.state.visible]])]}),_:1},8,["onAfterLeave"])}var Ig=_g(kg,[["render",Eg]]);function Qt(){return Qt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Qt.apply(this,arguments)}var Og=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?mi:(n||t)==="mobile"?wg:(n||t)==="mobile-first"?Ig:mi},Mg=Qt({},le,{type:{type:String,validator:function(t){return!!~["primary","simple"].indexOf(t)}},loadtext:{type:String,default:function(){return Se.LOAD_ICON_TEXT}},_constants:{type:Object,default:function(){return Se}},loadingImg:{type:String},size:{type:String,default:"small"}}),el=q({name:re+"Loading",emits:[],props:Mg,setup:function(t,r){return Ge({props:t,context:r,template:Og})}}),tl={text:null,body:!1,lock:!1,customClass:"",fullscreen:!0,iconSize:""},cr=null,Se={TEXT_ATTR:"tiny-loading__text",IS_FULLSCREEN_CLS:"is-fullscreen",TEXT_SPINNER:"tiny-loading__spinner",TEXT_BACKGROUND:"tiny-loading__background",TEXT_CUSTOM_CLS:"tiny-loading__custom-class",PARENT_HIDDEN_CLS:"tiny-loading__parent-hidden",PARENT_RELATIVE_CLS:"tiny-loading__parent-relative",LOAD_ICON_TEXT:"ui.load.dot"},Ag=function(t,r,n){var i={};if(t.fullscreen)n.originalPosition=He(document.body,"position"),n.originalOverflow=He(document.body,"overflow"),i.zIndex=mn.nextZIndex();else if(t.body){var o=t.target.getBoundingClientRect();n.originalPosition=He(document.body,"position");var l=["top","left"];l.forEach(function(s){var c=s==="top"?"scrollTop":"scrollLeft";i[s]=o[s]+document.body[c]+document.documentElement[c]+"px"});var a=["height","width"];a.forEach(function(s){i[s]=o[s]+"px"})}else n.originalPosition=He(r,"position");Object.keys(i).forEach(function(s){n.$el.style[s]=i[s]})},rl=function(t){var r;if(t===void 0&&(t={}),t=Qt({},tl,t),typeof t.target=="string"&&(t.target=document.querySelector(t.target)),t.target=t.target||document.body,t.target!==document.body?t.fullscreen=!1:t.body=!0,t.fullscreen&&cr&&!cr.state.closed)return cr;var n=t.body?document.body:t.target,i=n.querySelector(':scope > [data-tag="tiny-loading"]');i&&n.removeChild(i);var o=oo({component:el,propsData:{_constants:Se,size:t.size,loadingImg:t.loadingImg,tiny_mode:t.tiny_mode||((r=lo().tiny_mode)==null?void 0:r.value)},el:document.createElement("div")});for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(o.state[l]=t[l]);return Ag(t,n,o),o.originalPosition!=="absolute"&&o.originalPosition!=="fixed"&&pe(n,Se.PARENT_RELATIVE_CLS),t.fullscreen&&t.lock&&pe(n,Se.PARENT_HIDDEN_CLS),n.appendChild(o.$el),Dr(function(){o.state.visible=!0}),t.fullscreen&&(cr=o),o},ln=function(t,r,n){!r.domVisible&&He(r,"display")!=="none"&&He(r,"visibility")!=="hidden"?(Object.keys(r.maskStyle).forEach(function(i){r.mask.style[i]=r.maskStyle[i]}),r.originalPosition!=="absolute"&&r.originalPosition!=="fixed"&&pe(t,Se.PARENT_RELATIVE_CLS),n.modifiers.fullscreen&&n.modifiers.lock&&pe(t,Se.PARENT_HIDDEN_CLS),r.domVisible=!0,t.appendChild(r.mask),Dr(function(){r.instance.hiding?r.instance.$emit("after-leave"):r.instance.state.visible=!0}),r.domInserted=!0):r.domVisible&&r.instance.hiding===!0&&(r.instance.state.visible=!0,r.instance.hiding=!1)},Dg=function(t,r){var n=t.getBoundingClientRect();t.originalPosition=He(document.body,"position");var i=["top","left"];i.forEach(function(l){var a=l==="top"?"scrollTop":"scrollLeft";t.maskStyle[l]=n[l]+document.body[a]+document.documentElement[a]-parseInt(He(document.body,"margin-"+l),10)+"px"});var o=["height","width"];o.forEach(function(l){t.maskStyle[l]=n[l]+"px"}),ln(document.body,t,r)},Br=function(t,r,n){r.value?Dr(function(){r.modifiers.fullscreen?(t.originalPosition=He(document.body,"position"),t.originalOverflow=He(document.body,"overflow"),t.maskStyle.zIndex=mn.nextZIndex(),pe(t.mask,Se.IS_FULLSCREEN_CLS),ln(document.body,t,r)):(ge(t.mask,Se.IS_FULLSCREEN_CLS),r.modifiers.body?Dg(t,r):(t.originalPosition=He(t,"position"),ln(t,t,r)))}):(Qo(n,function(){if(n.hiding){var i=r.modifiers.fullscreen||r.modifiers.body?document.body:t;t.domVisible=!1,ge(i,Se.PARENT_RELATIVE_CLS),ge(i,Se.PARENT_HIDDEN_CLS),n.hiding=!1}},300,!0),n.state.visible=!1,n.hiding=!0)},Lg={bind:function(t,r,n){var i,o,l=n.context,a=t.getAttribute(Se.TEXT_ATTR),s=t.getAttribute(Se.TEXT_SPINNER),c=t.getAttribute(Se.TEXT_BACKGROUND),u=t.getAttribute(Se.TEXT_CUSTOM_CLS),d=oo({component:el,propsData:{_constants:Se,tiny_mode:((i=l.tiny_mode)==null?void 0:i.value)||((o=lo().tiny_mode)==null?void 0:o.value)},el:document.createElement("div")}),f=Qt({},tl,{text:l&&l[a]||a,spinner:l&&l[s]||s,background:l&&l[c]||c,customClass:l&&l[u]||u,fullscreen:!!r.modifiers.fullscreen});for(var h in f)Object.prototype.hasOwnProperty.call(f,h)&&(d.state[h]=f[h]);t.instance=d,t.mask=d.$el,t.maskStyle={},r.value&&Br(t,r,d)},update:function(t,r){t.instance.setText(t.getAttribute(Se.TEXT_ATTR)),r.oldValue!==r.value&&Br(t,r,t.instance)},unbind:function(t,r){t.domInserted&&(t.mask&&t.mask.parentNode&&t.mask.parentNode.removeChild(t.mask),Br(t,{value:!1,modifiers:r.modifiers},t.instance)),t.instance&&(typeof t.instance.$destroy=="function"&&t.instance.$destroy(),t.instance=null,t.mask=null)}},Ci=tr({vLoading:Lg}).vLoading,Rg="3.16.0",an={install:function(t){t.directive("loading",Ci)},service:rl,directive:Ci,version:Rg};Ul.TINYLoading={init:function(t){var r=t.$apiPrefix||"$";t[r+"loading"]=rl}};const Fg=e=>()=>e("click"),nl=["state","create"],il=(e,{reactive:t},{emit:r})=>({state:t({urlType:e.type}),create:Fg(r)});function Pg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Hg(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hg(e,t){if(e){if(typeof e=="string")return wi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wi(e,t)}}function wi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var zg=function(t,r){for(var n=t.__vccOpts||t,i=Pg(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},Ng=q({name:re+"Exception",components:{TinyButton:Te},props:{type:{type:String,default:"nodata"},message:String,subMessage:String,exceptionClass:String,buttonText:String,imageUrl:String},setup:function(t,r){return ce({props:t,context:r,renderless:il,api:nl})}}),Bg={class:"tiny-mobile-exception__content"},Vg=["src"],jg={class:"tiny-mobile-exception__content-message"},Wg={class:"main-message"},Gg={key:0,class:"sub-message"},Xg={class:"tiny-mobile-exception__footer"};function Yg(e,t,r,n,i,o){var l=Z("tiny-button");return S(),M("div",{class:W(["tiny-mobile-exception",e.exceptionClass])},[L("div",Bg,[e.imageUrl?(S(),M("img",{key:0,src:e.imageUrl,class:"tiny-mobile-exception__image"},null,8,Vg)):(S(),M("div",{key:1,class:W(["tiny-mobile-exception__content-view",["tiny-mobile-exception__content-"+e.type]])},null,2)),se(e.$slots,"content",{},function(){return[L("div",jg,[L("div",Wg,U(e.state.message),1),e.subMessage?(S(),M("div",Gg,U(e.subMessage),1)):ee("v-if",!0),e.type==="nodata"?se(e.$slots,"default",{key:1},function(){return[T(l,{onClick:e.create,type:"primary",size:"medium",round:""},{default:de(function(){return[Qe(U(e.buttonText?e.buttonText:e.t("ui.exception.create")),1)]}),_:1},8,["onClick"])]}):ee("v-if",!0)])]})]),L("div",Xg,[se(e.$slots,"footer")])],2)}var Si=zg(Ng,[["render",Yg]]);function qg(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Kg(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kg(e,t){if(e){if(typeof e=="string")return $i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $i(e,t)}}function $i(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Zg=function(t,r){for(var n=t.__vccOpts||t,i=qg(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n};function sn(){return sn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},sn.apply(this,arguments)}var Ug={INTERNALCONFIG:{NODATA:"ui.exception.nodatamf",NOPERM:"ui.exception.nopermmf",WEAKNET:"ui.exception.weaknetmf",NORESULT:"ui.exception.noresult",NONEWS:"ui.exception.nonews",PAGENOPERM:"ui.exception.pagenoperm",PAGEWEAKNET:"ui.exception.pageweaknet",PAGENOTHING:"ui.exception.pagenothing",PAGESERVERERROR:"ui.exception.pageservererror"},ICONCONFIG:{NODATA:"icon-no-data",NOPERM:"icon-no-perm",NONEWS:"icon-no-news",WEAKNET:"icon-weaknet",NORESULT:"icon-no-result",PAGENOPERM:"icon-page-noperm",PAGENOTHING:"icon-page-nothing",PAGESERVERERROR:"icon-page-servererror",PAGEWEAKNET:"icon-page-weaknet"}},Jg=q({components:{TinyButton:Te,IconNoData:Nc(),IconNoNews:Xc(),IconNoPerm:Jc(),IconNoResult:iu(),IconWeaknet:Lu(),IconPageNoperm:uu(),IconPageNothing:gu(),IconPageServererror:Su(),IconPageWeaknet:Eu()},emits:["click"],props:sn({},le,{_constants:{type:Object,default:function(){return Ug}},type:{type:String,default:"nodata"},subMessage:String,exceptionClass:String,pageEmpty:{type:Boolean,default:!1},componentPage:{type:Boolean,default:!1}}),setup:function(t,r){return ce({props:t,context:r,renderless:il,api:nl})}}),Qg={"data-tag":"tiny-exception-body"},em={class:"bg-cover","data-tag":"tiny-exception-image"},tm={"data-tag":"tiny-exception-description"},rm={key:0,"data-tag":"tiny-exception-submessage",class:"leading-5.5 sm:leading-3 sm:text-xs mt-1 sm:mt-2 text-color-icon-placeholder"},nm={class:"sm:mt-4 mt-6 inline-block"};function im(e,t,r,n,i,o){return S(),M("div",{"data-tag":"tiny-exception",class:W(e.m("flex t-0 justify-center items-center w-full h-full bg-transparent sm:bg-color-bg-1 text-center",e.exceptionClass))},[L("div",Qg,[L("div",em,[e.state.urlType?(S(),J($e(e._constants.ICONCONFIG[e.type.toUpperCase()]),{key:0,"custom-class":e.componentPage?"w-24 h-24":"w-52 h-40"},null,8,["custom-class"])):ee("v-if",!0)]),se(e.$slots,"content",{},function(){return[L("div",tm,[L("div",{"data-tag":"tiny-exception-componentpage",class:W(["text-color-text-primary mt-1 text-center text-sm",e.componentPage?"sm:text-xs":"sm:text-sm"])},U(e.t(e._constants.INTERNALCONFIG[e.type.toUpperCase()])),3),e.subMessage?(S(),M("div",rm,U(e.subMessage),1)):ee("v-if",!0),L("div",nm,[se(e.$slots,"default")])])]})])],2)}var om=Zg(Jg,[["render",im]]);function cn(){return cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},cn.apply(this,arguments)}var lm=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="mobile"?Si:(n||t)==="mobile-first"?om:Si},Wt=q({name:re+"Exception",props:cn({},le,{type:{type:String,default:"nodata"},message:String,subMessage:String,exceptionClass:String,imageUrl:String,pageEmpty:{type:Boolean,default:!1},componentPage:{type:Boolean,default:!1}}),setup:function(t,r){return Ge({props:t,context:r,template:lm})}}),am="3.16.0";Wt.install=function(e){e.component(Wt.name,Wt)};Wt.version=am;const sm=$t.name==="ie",ol=/^rgba?\((\d+),\s(\d+),\s(\d+)([\s\S]*)\)$/,cm=/^#([a-zA-Z0-9]{3}|[a-zA-Z0-9]{6})$/;function um(e){const t=ol.exec(e).slice(1,4);return parseInt(t[0]).toString(16)+parseInt(t[1]).toString(16)+parseInt(t[2]).toString(16)}function ll(e){const t=window.getComputedStyle,r=sm?e.currentStyle.backgroundColor:t(e).backgroundColor;if(ol.test(r))return um(r);if(cm.test(r)){const n=r.slice(1);return n.length===3?n.split("").map(i=>i+i).join(""):n}return"ffffff"}function dm(){let e=[],t=0,r="";for(let n=0,i=arguments.length;n!==i;++n){let o=Number(arguments[n]);if(!(o<1114111&&o>>>0===o))throw new RangeError("Invalid code point: "+o);o<=65535?t=e.push(o):(o-=65536,t=e.push((o>>10)+55296,o%1024+56320)),t>=16383&&(r+=String.fromCharCode.apply(null,e),e.length=0)}return r+String.fromCharCode.apply(null,e)}const _t={plugins:{XLSX:null,XLSXX:null,FileSaver:null},table:{sheetName:"tiny-sheet",formatMethod:({value:e,type:t})=>({value:e,type:t}),styleMethod:({style:e})=>e,rowHeightMethod:({height:e})=>e,columnWidthMethod:({width:e})=>e,mergesMethod:e=>e}};function fm(e){const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n!==e.length;n++)r[n]=e.charCodeAt(n)&255;return t}function al(e){const t=parseInt(e/36);return e-10*t}function hm({datas:e,headerRowCount:t,headerTrs:r}){let n=[-1,0];for(let i=0;i<t;i++){const o=r[i].childNodes;let l=0;for(let a=0;a<o.length&&!~o[a].className.split(/\s/).indexOf("col__gutter");a++)l+=o[a].colSpan;l>n[1]&&(n[0]=i,n[1]=l)}for(let i=0;i<t;i++){e.push([]);for(let o=0;o<n[1];o++)e[i].push("")}}function vm({datas:e,headerTrs:t,rowHeightMethod:r,ths:n,ws:i}){for(let o=0;o<t.length;o++){const l=t[o].getBoundingClientRect(),a=t[o].childNodes;let s=Math.round(l.height),c=0;s=r?r({rowIndex:o,height:s}):s,i["!rows"].push({hpx:al(s)});for(let u=0;u<a.length&&!~a[u].className.split(/\s/).indexOf("col__gutter");u++){n.push(a[u]);const d=a[u].colSpan,f=a[u].rowSpan,h=a[u].textContent;d>1&&i["!merges"].push({s:{r:o,c},e:{r:o,c:c+d-1}}),f>1&&i["!merges"].push({s:{r:o,c},e:{r:o+f-1,c}}),o!==t.length-1&&e[o].splice(c,1,h),c+=d}}}function pm({$table:e,colids:t,columnWidthMethod:r,datas:n,ths:i,ws:o}){const l=(s,c)=>{if(s.children)for(let u=0;u<s.children.length;u++)l(s.children[u],c+1);else{const u=s.id;for(let d=0;d<i.length;d++)if(i[d].dataset.colid===u){t.push(u);const f=i[d].getBoundingClientRect();let h=Math.round(f.width);h=r?r({columnIndex:t.length-1,width:h}):h,o["!cols"].push({wch:Math.round(h/10)}),n[c].splice(t.length-1,1,typeof s.title=="string"?s.title:i[d].textContent);break}}},a=e.collectColumn;for(let s=0;s<a.length;s++)l(a[s],0)}function gm({$table:e,colids:t,datas:r,headerRowCount:n,headerTrs:i,opts:o,ws:l}){if(n===0)return;const a=o.table.rowHeightMethod,s=o.table.columnWidthMethod,c=[];hm({datas:r,headerRowCount:n,headerTrs:i}),vm({datas:r,headerTrs:i,rowHeightMethod:a,ths:c,ws:l}),pm({$table:e,colids:t,columnWidthMethod:s,datas:r,ths:c,ws:l})}function sl({childNodes:e,colids:t,datas:r,i:n,offset:i,rowHeight:o,rowHeightMethod:l,ws:a}){o=l?l({rowIndex:n+i,height:o}):o,a["!rows"].push({hpx:al(o)}),r.push([]);for(let s=0;s<t.length;s++){let c=null,u="";for(let d=0;d<e.length;d++)if(e[d].dataset.colid===t[s]){c=e[d];break}c&&(u=c.textContent,c=null),r[i+n].push(u)}}function cl({childNodes:e,colids:t,i:r,offset:n,ws:i}){for(let o=0;o<e.length;o++){const l=e[o].colSpan,a=e[o].rowSpan,s=e[o].dataset.colid,c=t.indexOf(s),u=n+r;l>1&&a>1?i["!merges"].push({s:{r:u,c},e:{r:u+a-1,c:c+l-1}}):l>1?i["!merges"].push({s:{r:u,c},e:{r:u,c:c+l-1}}):a>1&&i["!merges"].push({s:{r:u,c},e:{r:u+a-1,c}})}}function mm({bodyRowCount:e,bodyTrs:t,colids:r,datas:n,headerRowCount:i,opts:o,ws:l}){if(e===0)return;const a=o.table.rowHeightMethod,s=i;for(let c=0;c<t.length;c++){const u=t[c].getBoundingClientRect(),d=t[c].childNodes;let f=Math.round(u.height);sl({colids:r,childNodes:d,i:c,datas:n,rowHeight:f,rowHeightMethod:a,offset:s,ws:l}),cl({childNodes:d,colids:r,i:c,offset:s,ws:l})}}function bm(){const e=[],t=dm;for(let r=-1;r<26;r++)for(let n=0;n<26;n++)e.push((r===-1?"":t(65+r))+t(65+n));return e}function ym({colids:e,datas:t,excelColNames:r,ws:n}){let i="";e.length>0&&t.length>0&&(i="A1:"+r[e.length-1]+t.length),n["!fullref"]=i,n["!ref"]=i}function Cm({bodyRowCount:e,bodyTrBgcArr:t,footerTrBgc:r,headerRowCount:n,headerWrapperBgc:i,rowIndex:o,showBorder:l,style:a}){a.font={name:"Microsoft YaHei",sz:12,color:{rgb:"000000"}},o<n?(a.fill={fgColor:{rgb:i}},a.font.bold=!0):o<n+e?a.fill={fgColor:{rgb:t[o-n]}}:a.fill={fgColor:{rgb:r}},l&&(a.border={top:{style:"thin",color:{rgb:"000000"}},bottom:{style:"thin",color:{rgb:"000000"}},left:{style:"thin",color:{rgb:"000000"}},right:{style:"thin",color:{rgb:"000000"}}}),a.alignment={vertical:"center",horizontal:"left",wrapText:!1}}function wm({showBorder:e,bodyRowCount:t,bodyTrBgcArr:r,headerRowCount:n,colids:i,datas:o,footerTrBgc:l,headerWrapperBgc:a,excelColNames:s,opts:c,$table:u,ws:d}){if(o.length===0)return;const f=c.table.styleMethod,h=c.table.formatMethod,v=u.getTableColumn().fullColumn,p=(m,y,b,C,w)=>b===y&&m>=C&&m<C+w;let g;for(let m=0;m<v.length;m++)if(v[m].type==="index"){g=i.indexOf(v[m].id);break}for(let m=0;m<o.length;m++)for(let y=0;y<o[m].length;y++){let b=p(m,y,g,n,t)?"n":"s",C=p(m,y,g,n,t)?parseInt(o[m][y]):o[m][y].trim(),w={};if(Cm({bodyRowCount:t,bodyTrBgcArr:r,columnIndex:y,footerTrBgc:l,headerRowCount:n,headerWrapperBgc:a,rowIndex:m,showBorder:e,style:w}),f&&(w=f({rowIndex:m,columnIndex:y,style:w})),h){const $=h({rowIndex:m,columnIndex:y,value:C,type:b});b=$.type,C=$.value}d[s[y]+(m+1)]={t:b,v:C,s:w}}}function Sm({XLSXX:e,opts:t,ws:r}){r=r["!cols"].length===0||r["!rows"].length===0?{}:r;const n=t.table.sheetName,i=r["!merges"];if(i){const l=t.table.mergesMethod;r["!merges"]=l?l(i):i}return{Props:{Application:"SheetJS",SheetNames:[n],Worksheets:1},SSF:e.SSF.get_table(),SheetNames:[n],Sheets:{[n]:r}}}function $m(e,t){const r=[];for(let n=0;n<e.length;n++)r.push(t?ll(e[n]):"ffffff");return r}function xm(e){const t=e.$el.querySelectorAll(".tiny-grid__header-wrapper.body__wrapper .tiny-grid-header__row"),r=e.$el.querySelectorAll(".tiny-grid__body-wrapper.body__wrapper .tiny-grid-body__row:not(.group)"),n=e.$el.querySelectorAll(".tiny-grid__footer-wrapper.body__wrapper .tiny-grid-footer__row"),i=e.$el.querySelector(".tiny-grid__header-wrapper.body__wrapper");return{bodyTrs:r,footerTrs:n,headerTrs:t,headerWrapper:i}}function _m(e,t,r){const n=~e.$el.className.split(/\s/).indexOf("tiny-grid__border"),i=~e.$el.className.split(/\s/).indexOf("tiny-grid__stripe"),o=t?ll(t):"ffffff",l=$m(r,i);return{showBorder:n,headerWrapperBgc:o,bodyTrBgcArr:l,footerTrBgc:"ffffff"}}function km({$table:e,bodyRowCount:t,bodyTrs:r,colids:n,opts:i,ws:o}){if(n.length>0||t===0)return;const l=i.table.columnWidthMethod,a=[];for(let s=0;s<r.length;s++)for(let c=0;c<r[s].childNodes.length;c++)a.push(r[s].childNodes[c]);for(let s=0;s<e.visibleColumn.length;s++){let c=e.visibleColumn[s].id;for(let u=0;u<a.length;u++)if(a[u].dataset.colid===c){n.push(c);const d=a[u].getBoundingClientRect(),f=a[u].colSpan;let h=Math.round(d.width/f);h=l?l({columnIndex:n.length-1,width:h}):h,o["!cols"].push({wch:Math.round(h/10)});break}}}function Tm({bodyRowCount:e,colids:t,datas:r,footerRowCount:n,footerTrs:i,headerRowCount:o,opts:l,ws:a}){if(n===0)return;const s=l.table.rowHeightMethod,c=o+e;for(let u=0;u<i.length;u++){const d=i[u].getBoundingClientRect(),f=i[u].childNodes;let h=Math.round(d.height);sl({childNodes:f,colids:t,datas:r,i:u,offset:c,rowHeight:h,rowHeightMethod:s,ws:a}),cl({childNodes:f,colids:t,i:u,offset:c,ws:a})}}function Em(e,t){const{XLSXX:r}=t.plugins,{bodyTrs:n,footerTrs:i,headerTrs:o,headerWrapper:l}=xm(e),{showBorder:a,headerWrapperBgc:s,bodyTrBgcArr:c,footerTrBgc:u}=_m(e,l,n),d=o.length,f=n.length,h=i.length,v={},p=[],g=[],m=bm();return v["!rows"]=[],v["!cols"]=[],v["!merges"]=[],gm({$table:e,colids:g,datas:p,headerRowCount:d,headerTrs:o,opts:t,ws:v}),km({$table:e,bodyRowCount:f,bodyTrs:n,colids:g,opts:t,ws:v}),mm({bodyRowCount:f,bodyTrs:n,colids:g,datas:p,headerRowCount:d,opts:t,ws:v}),Tm({bodyRowCount:f,colids:g,datas:p,footerRowCount:h,footerTrs:i,headerRowCount:d,opts:t,ws:v}),ym({colids:g,datas:p,excelColNames:m,ws:v}),wm({$table:e,bodyRowCount:f,bodyTrBgcArr:c,colids:g,datas:p,excelColNames:m,footerTrBgc:u,headerRowCount:d,headerWrapperBgc:s,opts:t,showBorder:a,ws:v}),Sm({XLSXX:r,opts:t,ws:v})}function Im(e,t){const r=ye(!0,{},t);if(r.plugins=r.plugins||{},!r.plugins.XLSX||!r.plugins.XLSXX||!r.plugins.FileSaver)return;r.table=r.table||{},r.table.sheetName=r.table.sheetName||_t.table.sheetName,r.table.formatMethod=r.table.formatMethod||_t.table.formatMethod,r.table.styleMethod=r.table.styleMethod||_t.table.styleMethod,r.table.rowHeightMethod=r.table.rowHeightMethod||_t.table.rowHeightMethod,r.table.columnWidthMethod=r.table.columnWidthMethod||_t.table.columnWidthMethod,r.table.mergesMethod=r.table.mergesMethod||_t.table.mergesMethod;const n=Em(e,r),{XLSXX:i,FileSaver:o}=r.plugins,l={bookType:"xlsx",bookSST:!1,type:"binary"},a=i.write(n,l);o.saveAs(new Blob([fm(a)],{type:""}),r.table.sheetName+".xlsx")}const Om=(e,t,r)=>{const n=r.querySelectorAll(".tiny-grid__body-wrapper.body__wrapper .tiny-grid-body__row"),i=[];for(let o=0,l=n.length;o<l;o++){const a={},s=n[o];e.forEach(c=>{const u=s.querySelector(`.${c.id}`);a[c.id]=u?u.innerText.trim():""}),i.push(a)}return i},Mm=(e,t,r,n)=>{const i=e.original;let o=e.columns?e.columns:r;e.columnFilterMethod&&(o=o.filter(e.columnFilterMethod));let l=e.data?e.data:i?t:Om(o,t,n);return e.dataFilterMethod&&(l=l.filter(e.dataFilterMethod)),{columns:o,datas:l}},Am=(e,t,r,n)=>{const i=t.original,o=e.$el,l=t.useTabs===!1?"":"	",{columns:a,datas:s}=Mm(t,n,r,o);let c="\uFEFF";const u=d=>(typeof d=="string"&&d.replace(/ /g,"").match(/[\s,"]/)&&(d='"'+d.replace(/"/g,'""')+'"'),typeof d=="string"&&d.match(/^([@=]|([-\\+].*[^0-9\\.])).*$/)&&(d=" "+d),d+l);if(t.isHeader&&(c+=a.map(({own:d})=>u(Ye(d.title||d.label))).join(",")+`
-`),s.forEach((d,f)=>{i?c+=a.map(h=>h.type==="index"?h.indexMethod?h.indexMethod(f):f+1:u(zt(d,h))).join(",")+`
-`:c+=a.map(h=>u(d[h.id])).join(",")+`
-`}),t.isFooter){const d=e.footerData,f=t.footerFilterMethod?d.filter(t.footerFilterMethod):d,h=e.tableColumn.map(v=>~a.indexOf(v));f.forEach(v=>{c+=v.filter((p,g)=>h[g]).join(",")+`
-`})}return c},Dm=(e,t)=>window.Blob&&window.URL&&window.URL.createObjectURL&&$t.name!=="safari"?URL.createObjectURL(new Blob([t],{type:"text/csv;charset=utf-8"})):`data:attachment/csv;charset=utf-8,${encodeURIComponent(t)}`,Lm=(e,t)=>{if(!e.download)return Promise.resolve(t);if(navigator.msSaveBlob&&window.Blob)navigator.msSaveBlob(new Blob([t],{type:"text/csv;charset=utf-8"}),e.filename);else{const r=document.createElement("a");r.target="_blank",r.rel="noopener noreferrer",r.download=e.filename,r.href=Jl.filterUrl(Dm(e,t)),document.body.appendChild(r),r.click(),document.body.removeChild(r)}};var Rm={_exportCsv(e){let{visibleColumn:t,scrollXLoad:r,scrollYLoad:n,treeConfig:i}=this,o=yt({columns:null,columnFilterMethod:s=>s.property&&!["index","selection","radio"].includes(s.type),download:!0,data:null,dataFilterMethod:null,filename:"table.csv",footerFilterMethod:null,isHeader:!0,isFooter:!0,original:!!i},e);o.filename.includes(".csv")||(o.filename+=".csv"),o.original||(r||n)&&(o.original=!0);let l=t,a=this.tableFullData;return i&&(a=Dv(a,i)),a.forEach(s=>{Object.keys(s).forEach(c=>{s[c]===0&&(s[c]="0")})}),Lm(o,Am(this,o,l,a))},_exportExcel(e){Im(this,e)}};let xi,ul=250;const pt=[];let dl;const fl=()=>{clearTimeout(xi),xi=setTimeout(dl,ul)};dl=()=>{pt.length&&(pt.forEach(e=>{e.tarList.forEach(t=>{const{target:r,width:n,heighe:i}=t,o=r.clientWidth,l=r.clientHeight;(o&&n!==o||l&&i!==l)&&(t.width=o,t.heighe=l,requestAnimationFrame(e.callback))})}),fl())};class _i{constructor(t,r){this.tarList=[],this.callback=t,ul=r}observe(t){t&&(this.tarList.includes(t)||this.tarList.push({target:t,width:t.clientWidth,heighe:t.clientHeight}),pt.length||fl(),pt.includes(this)||pt.push(this))}unobserve(t){Oe(pt,r=>~r.tarList.indexOf(t))}disconnect(){Oe(pt,t=>t===this)}}const Fm=$t.isDoc&&window.ResizeObserver||_i;var Pm=Fm;const Hm=({props:e,state:t})=>()=>{const r=e.pagerCount,n=(r-1)/2,i=Number(e.currentPage),o=Number(e.pageCount);let l=!1,a=!1;o>r&&(i<o-n&&(a=!0),i>r-n&&(l=!0));const s=[];if(l&&!a){const c=o-(r-2);for(let u=c;u<o;u++)s.push(u)}else if(!l&&a)for(let c=2;c<r;c++)s.push(c);else if(l&&a){const c=Math.floor(r/2)-1;for(let u=i-c;u<=i+c;u++)s.push(u)}else for(let c=2;c<o;c++)s.push(c);return t.showPrevMore=l,t.showNextMore=a,s},zm=e=>{let t=[];const r=e.classList;if(r){let n=0;for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&typeof Number(i)=="number"&&(t[n]=r[i],n++)}else t=e.className.split(/\s+/);return t},Nm=({emit:e,props:t,vm:r})=>n=>{const i=n.target;if(i.tagName==="UL"||t.disabled)return;let o=Number(n.target.textContent);const{tagName:l,parentNode:a}=i,s=l==="LI"?i:l==="svg"?a:a.parentNode,c=t.pageCount,u=t.currentPage,d=t.pagerCount-2,f=zm(s);f.includes("dot")&&(f.includes("quickprev")?o=u-d:f.includes("quicknext")&&(o=u+d)),isNaN(o)||(o<1&&(o=1),o>c&&(o=c));const h=()=>{o!==u&&e("change",o)};if(t.isBeforePageChange&&o!==u){let v={newPage:o,currentPage:u,callback:h};r.$parent.$parent.beforePagerChangeHandler(v)}else h()},Bm=({props:e,state:t})=>r=>{e.disabled||(r==="left"?t.quickprevIconClass=e.doubleLeftIcon:t.quicknextIconClass=e.doubleRightIcon)},hl=["state","onPagerClick","onMouseenter"],vl=(e,{computed:t,reactive:r,watch:n},{emit:i,vm:o})=>{const l={onPagerClick:Nm({emit:i,props:e,vm:o})},a=r({current:null,showPrevMore:!1,showNextMore:!1,quicknextIconClass:e.popupIcon,quickprevIconClass:e.popupIcon,pagers:t(()=>l.getPages())});return Object.assign(l,{state:a,getPages:Hm({props:e,state:a}),onMouseenter:Bm({props:e,state:a})}),n(()=>a.showPrevMore,s=>{s||(a.quickprevIconClass=e.popupIcon)},{immediate:!0}),n(()=>a.showNextMore,s=>{s||(a.quicknextIconClass=e.popupIcon)},{immediate:!0}),l};function Vm(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=jm(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jm(e,t){if(e){if(typeof e=="string")return ki(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ki(e,t)}}function ki(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Wm=function(t,r){for(var n=t.__vccOpts||t,i=Vm(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},Gm=q({name:re+"PagerItem",emits:["click","change"],components:{IconPopup:qt(),IconDoubleLeft:Sr(),IconDoubleRight:$r()},props:{disabled:{type:Boolean,default:!1},currentPage:Number,pageCount:Number,pagerCount:Number,popupIcon:{type:Object,default:function(){return qt()}},doubleLeftIcon:{type:Object,default:function(){return Sr()}},doubleRightIcon:{type:Object,default:function(){return $r()}},isBeforePageChange:Boolean},setup:function(t,r){return ce({props:t,context:r,renderless:vl,api:hl})}}),Xm={class:"tiny-pager__group tiny-unselect"},Ym=["textContent"],qm=["textContent"];function Km(e,t,r,n,i,o){return S(),M("div",Xm,[L("ul",{class:"tiny-pager__pages",onClick:t[4]||(t[4]=function(){return e.onPagerClick&&e.onPagerClick.apply(e,arguments)})},[e.pageCount>0?(S(),M("li",{key:0,class:W({"is-active":e.currentPage===1}),textContent:"1"},null,2)):ee("v-if",!0),e.state.showPrevMore?(S(),M("li",{key:1,class:W(["dot quickprev",[e.state.quickprevIconClass===e.popupIcon&&"is-popup"]]),onMouseenter:t[0]||(t[0]=function(l){return e.onMouseenter("left")}),onMouseleave:t[1]||(t[1]=function(l){return e.state.quickprevIconClass=e.popupIcon})},[(S(),J($e(e.state.quickprevIconClass)))],34)):ee("v-if",!0),(S(!0),M(ve,null,Le(e.state.pagers,function(l){return S(),M("li",{key:l,class:W({"is-active":e.currentPage===l}),textContent:U(""+l)},null,10,Ym)}),128)),e.state.showNextMore?(S(),M("li",{key:2,class:W(["dot quicknext",[e.state.quicknextIconClass===e.popupIcon&&"is-popup"]]),onMouseenter:t[2]||(t[2]=function(l){return e.onMouseenter("right")}),onMouseleave:t[3]||(t[3]=function(l){return e.state.quicknextIconClass=e.popupIcon})},[(S(),J($e(e.state.quicknextIconClass)))],34)):ee("v-if",!0),e.pageCount>1?(S(),M("li",{key:3,class:W({"is-active":e.pageCount===e.currentPage}),textContent:U(""+e.pageCount)},null,10,qm)):ee("v-if",!0)])])}var Ti=Wm(Gm,[["render",Km]]);function Zm(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=Um(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Um(e,t){if(e){if(typeof e=="string")return Ei(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ei(e,t)}}function Ei(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Jm=function(t,r){for(var n=t.__vccOpts||t,i=Zm(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},Qm={"pager-group":"inline-block align-middle text-xs h-7",li:"bg-left-top inline-block text-xs ml-2 cursor-pointer text-center h-7 leading-7 min-w-[1.75rem] rounded-sm text-color-text-primary px-1 box-border transition-all duration-300 ease-in","li-hover":"hover:text-color-brand-hover","is-active":"text-color-brand border border-solid border-color-brand","quick-icon":"h-7 w-3 fill-color-icon-primary hover:fill-color-brand",dot:"w-4 min-w-0 p-0 border-none"},eb=q({emits:["click","change"],components:{IconPopup:qt(),IconDoubleLeft:Sr(),IconDoubleRight:$r()},props:[].concat(ke,["disabled","currentPage","pageCount","pagerCount","popupIcon","doubleLeftIcon","doubleRightIcon","isBeforePageChange"]),setup:function(t,r){return ce({props:t,context:r,renderless:vl,api:hl,classes:Qm})}}),tb=["textContent"],rb=["textContent"];function nb(e,t,r,n,i,o){return S(),M("div",{"data-tag":"tiny-pager-item",class:W(e.gcls("pager-group"))},[L("ul",{"data-tag":"pager-item-content",class:"inline-flex text-xs",onClick:t[4]||(t[4]=function(){return e.onPagerClick&&e.onPagerClick.apply(e,arguments)})},[e.pageCount>0?(S(),M("li",{key:0,"data-tag":"pager-item-hover",class:W(e.m(e.gcls("li"),e.gcls("li-hover"),e.gcls({"is-active":e.currentPage===1}))),textContent:"1"},null,2)):ee("v-if",!0),e.state.showPrevMore?(S(),M("li",{key:1,"data-tag":"pager-item-premore",class:W(e.m(e.gcls("li"),e.gcls("dot"))),onMouseenter:t[0]||(t[0]=function(l){return e.onMouseenter("left")}),onMouseleave:t[1]||(t[1]=function(l){return e.state.quickprevIconClass=e.popupIcon})},[(S(),J($e(e.state.quickprevIconClass),{class:W(e.gcls("quick-icon"))},null,8,["class"]))],34)):ee("v-if",!0),(S(!0),M(ve,null,Le(e.state.pagers,function(l){return S(),M("li",{"data-tag":"pager-item-pager",key:l,class:W(e.m(e.gcls("li"),e.gcls("li-hover"),e.gcls({"is-active":e.currentPage===l}))),textContent:U(""+l)},null,10,tb)}),128)),e.state.showNextMore?(S(),M("li",{key:2,"data-tag":"pager-item-nextmore",class:W(e.m(e.gcls("li"),e.gcls("dot"))),onMouseenter:t[2]||(t[2]=function(l){return e.onMouseenter("right")}),onMouseleave:t[3]||(t[3]=function(l){return e.state.quicknextIconClass=e.popupIcon})},[(S(),J($e(e.state.quicknextIconClass),{class:W(e.gcls("quick-icon"))},null,8,["class"]))],34)):ee("v-if",!0),e.pageCount>1?(S(),M("li",{key:3,"data-tag":"pager-item-active",class:W(["hover:text-color-brand-hover",e.m(e.gcls("li"),e.gcls({"is-active":e.pageCount===e.currentPage}))]),textContent:U(""+e.pageCount)},null,10,rb)):ee("v-if",!0)])],2)}var ib=Jm(eb,[["render",nb]]);function un(){return un=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},un.apply(this,arguments)}var ob=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?Ti:(n||t)==="mobile-first"?ib:Ti},Gt=q({name:re+"PagerItem",props:un({},le,{disabled:{type:Boolean,default:!1},currentPage:Number,pageCount:Number,pagerCount:Number,popupIcon:{type:Object,default:qt},doubleLeftIcon:{type:Object,default:Sr},doubleRightIcon:{type:Object,default:$r},isBeforePageChange:Boolean}),setup:function(t,r){return Ge({props:t,context:r,template:ob})}}),lb="3.16.0";Gt.install=function(e){e.component(Gt.name,Gt)};Gt.version=lb;const ab=({props:e,state:t})=>()=>{const r=e.hideOnSinglePage&&(!t.internalPageCount||t.internalPageCount===1);return t.internalLayout.length>0&&!r},sb=({props:e})=>()=>{let t="";return e.mode&&!e.layout?(e.mode==="number"&&(t="total, sizes, prev, pager, next, jumper"),e.mode==="simple"&&(t="sizes, total, prev, current, next"),e.mode==="complete"&&(t="sizes, total, prev, pager, next, jumper"),e.mode==="fixed"&&(t="prev,pager,next")):!e.mode&&e.layout||e.mode&&e.layout?t=e.layout:t="total, prev, pager, next, jumper",t?t.split(",").map(n=>n.trim()):[]},cb=({props:e,t})=>()=>{if(typeof e.customTotal=="string")return e.customTotal;const r=Number(e.total);if(isNaN(r))return"0";const n=1e5,i=1e6,o=1e7;return r<n?String(r):r<i?t("ui.page.hundredThousand"):r<o?t("ui.page.million"):t("ui.page.tenMillion")},ub=({props:e,state:t})=>()=>typeof e.total=="number"?Math.max(1,Math.ceil(e.total/t.internalPageSize)):typeof e.pageCount=="number"?Math.max(1,e.pageCount):null,db=({state:e})=>t=>{var r;e.jumperBackup=(r=t.target)==null?void 0:r.value},fb=({state:e,emit:t})=>r=>{const n=String(r);e.jumperValue!==n&&(e.jumperValue=n),t("update:current-page",r),t("current-change",r),e.lastEmittedPage=-1},hb=({state:e,props:t})=>r=>{Array.isArray(r)&&(e.internalPageSize=r.includes(t.pageSize)?t.pageSize:r[0])},vb=({state:e,api:t})=>r=>{e.internalCurrentPage=t.getValidCurrentPage(r)},pb=({state:e,api:t})=>r=>{const n=e.internalCurrentPage;r&&r>0&&n===0?e.internalCurrentPage=1:n>Number(r)&&(e.internalCurrentPage=r||1,e.userChangePageSize&&t.emitChange()),e.userChangePageSize=!1},gb=({state:e})=>t=>{e.internalPageSize=isNaN(t)?10:t},mb=({state:e})=>t=>{e.internalTotal=t},bb=({nextTick:e,vm:t})=>r=>{r&&e(()=>{const n=t.$refs.pageSize[0].getBoundingClientRect().width,i=document.querySelectorAll(".tiny-pager__selector");Array.from(i).forEach(o=>{o.style.width=n+"px"})})},yb=({props:e,state:t,api:r,emit:n,vm:i})=>o=>{if(o=Number(o),o!==t.internalPageSize){const l=()=>{r.beforeChangeHandler()&&(t.internalPageSize=o,t.userChangePageSize=!0,t.showSizes=!1,n("update:pageSize",o),n("size-change",o),n("page-change",{currentPage:t.internalCurrentPage,pageSize:o,total:t.internalTotal}),i.$refs.sizesList[0].state.showPopper=!1)};if(e.isBeforePageChange){let a=o,s=t.internalPageSize,c={newPageSize:a,currentPageSize:s,callback:l};r.beforeSizeChangeHandler(c)}else l()}},Cb=({state:e})=>t=>{const r=t.target;r.value?/^\d+$/.test(r.value)&&(e.jumperValue=r.value||"1"):e.jumperValue="",r.value=e.jumperValue},wb=({props:e,state:t,api:r})=>()=>{r.parseValueNumber();const n=()=>{r.handleJumperClick()},i=()=>{t.jumperValue=String(t.jumperBackup)},o=t.jumperValue,l=t.jumperBackup;if(e.isBeforePageChange&&o!==l){const a={newPage:o,currentPage:l,callback:n,rollback:i};r.beforePagerChangeHandler(a)}else n()},Sb=({props:e,state:t,api:r})=>()=>{!r.canJumperGo()||e.disabled||(t.internalCurrentPage=r.getValidCurrentPage(t.jumperValue),r.emitChange())},$b=({state:e})=>()=>!isNaN(Number(e.jumperValue)),xb=({state:e})=>()=>{let t=Number(String(e.jumperValue).split(/[^0-9-+.]/).join(""));isNaN(t)&&(t=1),t=Number(t.toFixed(0));const r=1,n=e.internalPageCount||1;t>=n?e.jumperValue=String(n):t<=r?e.jumperValue=String(r):e.jumperValue=String(t)},_b=({state:e,props:t})=>()=>{if(t.disabled){e.showSizes=!1;return}e.showSizes=!0},kb=({state:e})=>()=>{e.showSizes=!1},Tb=({props:e,state:t,vm:r})=>()=>{const n=Number(r.$refs.jumperInput[0].value||0),i=Number(t.internalCurrentPage||0);return e.accurateJumper?n!==i:!0},Eb=({state:e,emit:t})=>r=>{const{newPageSize:n,currentPageSize:i,callback:o}=r,l=1,a=e.internalCurrentPage;t("before-page-change",{newPage:l,newPageSize:n,currentPage:a,currentPageSize:i,callback:o})},Ib=({state:e,emit:t})=>r=>{const{newPage:n,currentPage:i,callback:o,rollback:l}=r,a=e.internalPageSize,s=e.internalPageSize;t("before-page-change",{newPage:n,newPageSize:a,currentPage:i,currentPageSize:s,callback:o,rollback:l})},Ob=({emit:e})=>(...t)=>{e(t[0],...t.slice(1))},Mb=({state:e,api:t})=>(r=-1)=>Vp(t.copyEmit,"before-change",e.internalCurrentPage,void 0,r),Ab=({state:e,api:t})=>r=>{t.beforeChangeHandler(r)&&(e.internalCurrentPage=t.getValidCurrentPage(r),e.userChangePageSize=!0,t.emitChange())},Db=({state:e,props:t,api:r,emit:n})=>()=>{const i=()=>{if(t.disabled||!r.beforeChangeHandler(e.internalCurrentPage-1))return;const o=e.internalCurrentPage-1;e.internalCurrentPage=r.getValidCurrentPage(o),n("prev-click",e.internalCurrentPage),r.emitChange()};if(t.isBeforePageChange){const o=e.internalCurrentPage-1,l=r.buildBeforePageChangeParam({newPage:o,callback:i});n("before-page-change",l)}else i()},Lb=({props:e,state:t,api:r,emit:n})=>()=>{const i=()=>{if(e.disabled||!r.beforeChangeHandler(t.internalCurrentPage+1))return;const o=t.internalCurrentPage+1;t.internalCurrentPage=r.getValidCurrentPage(o),n("next-click",t.internalCurrentPage),r.emitChange()};if(e.isBeforePageChange){const o=t.internalCurrentPage+1,l=r.buildBeforePageChangeParam({newPage:o,callback:i});n("before-page-change",l)}else i()},Rb=({state:e})=>t=>{const r=e.internalCurrentPage,n=e.internalPageSize,i=e.internalPageSize;return yt({currentPage:r,newPageSize:n,currentPageSize:i},t)},Fb=({state:e})=>t=>{const r=Number(t),n=typeof e.internalPageCount=="number";let i;return n?r<1?i=1:r>(e.internalPageCount||0)&&(i=e.internalPageCount):(isNaN(r)||r<1)&&(i=1),(i===void 0&&isNaN(r)||i===0)&&(i=1),i===void 0?r:i},Pb=({state:e,nextTick:t,emit:r})=>()=>{t(()=>{(e.internalCurrentPage!==e.lastEmittedPage||e.userChangePageSize)&&(r("update:current-page",e.internalCurrentPage),r("page-change",{currentPage:e.internalCurrentPage,pageSize:e.internalPageSize,total:e.internalTotal}),e.lastEmittedPage=e.internalCurrentPage,e.userChangePageSize=!1)})},Hb=({state:e})=>t=>{e.internalTotal=t},zb=()=>e=>e.stopPropagation(),Nb=["state","handleJumperFocus","handleSizeChange","handleJumperInput","handleJumperChange","handleJumperClick","isValueNumber","parseValueNumber","handleSizeShowPopover","handleSizeHidePopover","canJumperGo","beforeSizeChangeHandler","beforePagerChangeHandler","beforeJumperChangeHandler","beforeChangeHandler","handleCurrentChange","prev","next","buildBeforePageChangeParam","getValidCurrentPage","emitChange","setTotal","clickSizes"],Bb=(e,{reactive:t,computed:r,watch:n},{emit:i,vm:o,nextTick:l,t:a,designConfig:s})=>{var c,u,d,f,h,v,p;const g={},m=t({showSizes:!1,internalCurrentPage:1,internalPageSize:e.pageSize,lastEmittedPage:-1,userChangePageSize:!1,internalTotal:e.total,jumperValue:"1",jumperBackup:"1",showPager:r(()=>g.computedShowPager()),internalLayout:r(()=>g.computedInternalLayout()),totalText:r(()=>g.computedTotalText()),internalPageCount:r(()=>g.computedInternalPageCount()),showJumperSufix:(u=(c=s==null?void 0:s.state)==null?void 0:c.showJumperSufix)!=null?u:!0,align:e.align||((d=s==null?void 0:s.state)==null?void 0:d.align)||"left",totalI18n:((f=s==null?void 0:s.state)==null?void 0:f.totalI18n)||"totals",totalFixedLeft:(p=(v=e.totalFixedLeft)!=null?v:(h=s==null?void 0:s.state)==null?void 0:h.totalFixedLeft)!=null?p:!1});return Object.assign(g,{state:m,computedShowPager:ab({props:e,state:m}),computedInternalLayout:sb({props:e}),computedTotalText:cb({props:e,t:a}),computedInternalPageCount:ub({props:e,state:m}),getValidCurrentPage:Fb({state:m}),handleJumperFocus:db({state:m}),handleSizeChange:yb({props:e,state:m,api:g,emit:i,vm:o}),handleJumperInput:Cb({state:m}),handleJumperChange:wb({props:e,state:m,api:g}),handleJumperClick:Sb({props:e,state:m,api:g}),isValueNumber:$b({state:m}),parseValueNumber:xb({state:m}),handleSizeShowPopover:_b({state:m,props:e}),handleSizeHidePopover:kb({state:m}),canJumperGo:Tb({props:e,state:m,vm:o}),beforeSizeChangeHandler:Eb({state:m,emit:i}),beforePagerChangeHandler:Ib({state:m,emit:i}),copyEmit:Ob({emit:i}),beforeChangeHandler:Mb({state:m,api:g}),handleCurrentChange:Ab({state:m,api:g}),prev:Db({state:m,props:e,api:g,emit:i}),next:Lb({props:e,state:m,api:g,emit:i}),buildBeforePageChangeParam:Rb({state:m}),emitChange:Pb({state:m,nextTick:l,emit:i}),setTotal:Hb({state:m}),clickSizes:zb(),watchInternalCurrentPage:fb({state:m,emit:i}),watchPageSizes:hb({state:m,props:e}),watchCurrentPage:vb({state:m,api:g}),watchInternalPageCount:pb({state:m,api:g}),watchPageSize:gb({state:m}),watchTotal:mb({state:m}),watchShowSizes:bb({nextTick:l,vm:o})}),m.internalCurrentPage=g.getValidCurrentPage(e.currentPage),n(()=>m.internalCurrentPage,g.watchInternalCurrentPage),n(()=>e.pageSizes,g.watchPageSizes,{immediate:!0}),n(()=>e.currentPage,g.watchCurrentPage),n(()=>m.internalPageCount,g.watchInternalPageCount),n(()=>e.pageSize,g.watchPageSize,{immediate:!0}),n(()=>e.total,g.watchTotal),n(()=>m.showSizes,g.watchShowSizes),g};function Vb(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=jb(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jb(e,t){if(e){if(typeof e=="string")return Ii(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ii(e,t)}}function Ii(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Wb=function(t,r){for(var n=t.__vccOpts||t,i=Vb(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},Gb=q({name:re+"Pager",props:[].concat(ke,["accurateJumper","appendToBody","currentPage","disabled","hideOnSinglePage","isBeforePageChange","layout","mode","nextText","pageCount","pageSize","pageSizes","pagerCount","popperAppendToBody","showTotalLoading","customTotal","popperClass","prevText","total","size","align"]),directives:{loading:an.directive},setup:function(t,r){return ce({props:t,context:r,renderless:Bb,api:Nb})},components:{TinyPopover:to,ChevronLeft:bo(),ChevronRight:bn(),TriangleDown:ec(),Pager:Gt}}),Xb=["disabled"],Yb={key:0},qb={class:"tiny-pager__goto"},Kb={class:"tiny-pager__goto-text"},Zb=["value","disabled"],Ub={key:0,class:"tiny-pager__goto-text tiny-pager__goto-text-sufix"},Jb={class:"tiny-pager__pages"},Qb={class:"is-active"},ey=["disabled"],ty={key:0},ry={class:"sizes"},ny={class:"tiny-pager__page-size-btn"},iy={class:"tiny-pager__selector-body"},oy={class:"tiny-pager__selector-poplist"},ly=["title","onClick"],ay={class:"tiny-pager__total-loading"},sy={class:"tiny-pager__loading-text"},cy={class:"tiny-pager__total-allpage"};function uy(e,t,r,n,i,o){var l=Z("chevron-left"),a=Z("pager"),s=Z("chevron-right"),c=Z("triangle-down"),u=Z("tiny-popover"),d=rr("loading");return e.state.showPager?(S(),M("div",{key:0,class:W(["tiny-pager tiny-pager__number",e.size?"tiny-pager--"+e.size:"",e.disabled?"is-disabled":""]),style:be({textAlign:e.state.align})},[(S(!0),M(ve,null,Le(e.state.internalLayout,function(f,h){return S(),M(ve,null,[f==="prev"?(S(),M("button",{key:"prev"+h,type:"button",class:"tiny-pager__btn-prev",disabled:e.disabled||e.state.internalCurrentPage<=1,onClick:t[0]||(t[0]=function(){return e.prev&&e.prev.apply(e,arguments)})},[e.prevText?(S(),M("span",Yb,U(e.prevText),1)):(S(),J(l,{key:1,class:"tiny-svg-size"}))],8,Xb)):f==="jumper"?(S(),M("div",{key:"jumper"+h,class:"tiny-pager__group"},[L("div",qb,[L("span",Kb,U(e.t("ui.page.jump")),1),L("input",{type:"text",ref_for:!0,ref:"jumperInput",value:e.state.jumperValue,disabled:e.disabled,onFocus:t[1]||(t[1]=function(){return e.handleJumperFocus&&e.handleJumperFocus.apply(e,arguments)}),onInput:t[2]||(t[2]=function(){return e.handleJumperInput&&e.handleJumperInput.apply(e,arguments)}),onChange:t[3]||(t[3]=function(){return e.handleJumperChange&&e.handleJumperChange.apply(e,arguments)})},null,40,Zb),e.state.showJumperSufix?(S(),M("span",Ub,U(e.t("ui.page.pageClassifier")),1)):ee("v-if",!0)])])):f==="current"?(S(),M("div",{key:"current"+h,class:"tiny-pager__group tiny-unselect"},[L("ul",Jb,[L("li",Qb,U(e.state.internalCurrentPage),1)])])):f==="pager"?(S(),J(a,{key:"pager"+h,"is-before-page-change":e.isBeforePageChange,"current-page":e.state.internalCurrentPage,"page-count":e.state.internalPageCount,"pager-count":e.pagerCount,disabled:e.disabled,onChange:e.handleCurrentChange,onBeforePageChange:e.beforePagerChangeHandler},null,8,["is-before-page-change","current-page","page-count","pager-count","disabled","onChange","onBeforePageChange"])):f==="next"?(S(),M("button",{key:"next"+h,type:"button",class:"tiny-pager__btn-next",disabled:e.disabled||e.state.internalCurrentPage===e.state.internalPageCount||e.state.internalPageCount===0,onClick:t[4]||(t[4]=function(){return e.next&&e.next.apply(e,arguments)})},[e.nextText?(S(),M("span",ty,U(e.nextText),1)):(S(),J(s,{key:1,class:"tiny-svg-size"}))],8,ey)):f==="sizes"?(S(),M("div",{key:"sizes"+h,class:"tiny-pager__group tiny-pager__sizes"},[T(u,{ref_for:!0,ref:"sizesList",placement:"bottom-start","append-to-body":e.popperAppendToBody===!1?!1:e.appendToBody,trigger:"click","popper-class":"tiny-pager__selector "+(e.popperClass?""+e.popperClass:""),"visible-arrow":!1,disabled:e.disabled,onShow:e.handleSizeShowPopover,onHide:e.handleSizeHidePopover},{reference:de(function(){return[L("div",{class:"tiny-pager__popover",onClick:t[5]||(t[5]=function(){return e.clickSizes&&e.clickSizes.apply(e,arguments)})},[L("div",{ref_for:!0,ref:"pageSize",class:W(["tiny-pager__page-size",{disabled:e.disabled}])},[L("span",ry,U(e.state.internalPageSize),1),L("span",null,U(e.t("ui.page.page")),1),L("div",ny,[T(c,{class:W(["tiny-svg-size",e.state.showSizes?"tiny-svg-size__reverse-180":""])},null,8,["class"])])],2)])]}),default:de(function(){return[L("div",iy,[L("ul",oy,[(S(!0),M(ve,null,Le(e.pageSizes,function(v,p){return S(),M("li",{key:p,class:W(["list-item",v===e.state.internalPageSize?"is-selected select-pre":""]),title:String(v),onClick:function(m){return e.handleSizeChange(v)}},U(v),11,ly)}),128))])])]}),_:1},8,["append-to-body","popper-class","disabled","onShow","onHide"])])):f==="slot"?se(e.$slots,"default",{key:6}):f==="total"&&typeof e.state.internalTotal=="number"?(S(),M("div",{key:"total"+h,class:W(["tiny-pager__group",{"is-disabled":e.disabled,"tiny-pager__loading":e.showTotalLoading,"tiny-pager__pull-left":e.state.totalFixedLeft}])},[L("div",{class:W(["tiny-pager__total",e.size?"tiny-pager--"+e.size:""])},[e.showTotalLoading?(S(),M(ve,{key:0},[Re(L("div",ay,null,512),[[d,e.showTotalLoading]]),L("span",sy,U(e.t("ui.page.loadingTotals")),1)],64)):e.state.totalI18n==="total"?(S(),M(ve,{key:1},[L("span",null,U(e.t("ui.page.total")),1),L("span",cy,U(e.customTotal?e.state.totalText:e.state.internalTotal),1),L("span",null,U(e.t("ui.page.item")),1)],64)):(S(),M(ve,{key:2},[L("span",null,U(e.t("ui.page.totals")),1),L("span",null,U(e.customTotal?e.state.totalText:e.state.internalTotal),1)],64))],2)],2)):ee("v-if",!0)],64)}),256))],6)):ee("v-if",!0)}var Oi=Wb(Gb,[["render",uy]]);function dn(){return dn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},dn.apply(this,arguments)}var dy=q({props:dn({},le,{accurateJumper:{type:Boolean,default:function(){return!0}},appendToBody:{type:Boolean,default:function(){return!0}},currentPage:{type:Number,default:function(){return 1}},disabled:{type:Boolean,default:function(){return!1}},hideOnSinglePage:Boolean,isBeforePageChange:Boolean,layout:String,mode:String,nextText:String,pageCount:Number,pageSize:{type:Number,default:function(){return 10}},pageSizes:{type:Array,default:function(){return[10,20,30,40,50,100]}},pagerCount:{type:Number,validator:function(t){return(t|0)===t&&t>2&&t<22&&t%2===1},default:function(){return 7}},popperAppendToBody:{type:Boolean,default:function(){return!0}},showTotalLoading:{type:Boolean,default:function(){return!1}},customTotal:{type:[Boolean,String],default:function(){return!1}},popperClass:String,prevText:String,total:Number}),data:function(){return{internalCurrentPage:0,internalPageCount:0,internalPageSize:0,internalTotal:0}},watch:{total:function(){this.normalizeState()},pageSize:function(){this.normalizeState()},currentPage:function(){this.normalizeState()}},created:function(){this.normalizeState()},render:function(){if(this.hideOnSinglePage&&(!this.internalPageCount||this.internalPageCount===1))return null;var t=bo(),r=bn(),n=this.disabled||this.internalCurrentPage<=1,i=this.disabled||this.internalCurrentPage===this.internalPageCount||this.internalPageCount===0,o=this.prevText,l=this.nextText;return T("div",{class:"flex justify-end"},[T("nav",{class:"w-full my-1 mx-0 text-sm block w-fit"},[T("ul",{class:"inline-flex m-0 p-0 list-none w-fit"},[T("li",{class:["py-0 px-0 cursor-pointer box-border h-8 text-color-brand bg-color-bg-1 select-none flex items-center justify-center relative rounded",o?"w-fit":"w-8"]},[T("button",{type:"button",class:["h-8 p-0 border border-solid rounded flex items-center justify-center group","cursor-pointer border-color-border bg-color-bg-1 sm:bg-transparent sm:border-0",o?"w-fit":"w-8",{"disabled:cursor-not-allowed disabled:border-color-border disabled:bg-color-bg-3 disabled:sm:bg-transparent":n,"hover:border-color-brand sm:hover:border-0 sm:active:border-color-brand":!n,"hover:bg-color-fill-6 sm:hover:bg-transparent sm:active:bg-transparent":!n}],disabled:n,onClick:this.toPrevPage},[o?T("span",{class:["inline-block w-fit mx-1 text-color-text-placeholder sm:text-color-primary",{"disabled:text-color-text-primary sm:text-color-border":n,"group-hover:text-color-link sm:group-hover:text-color-icon-hover sm:group-active:text-color-active":!n}]},[o]):T(t,{class:["fill-color-fill-7 sm:fill-color-text-primary",{"disabled:fill-color-fill-primary sm:fill-color-border":n,"group-hover:fill-color-brand sm:group-hover:fill-color-icon-hover sm:group-active:fill-color-icon-active":!n}]},null)])]),T("li",{class:"h-8 text-color-text-primary flex items-center justify-center rounded !mx-4"},[T("span",{class:"inline-block my-0 mx-0"},[this.internalCurrentPage,Qe("/"),this.internalPageCount])]),T("li",{class:["py-0 px-0 cursor-pointer box-border h-8 text-color-brand bg-color-bg-1 select-none flex items-center justify-center relative rounded",l?"w-fit":"w-8"]},[T("button",{type:"button",class:["h-8 p-0 border border-solid rounded flex items-center justify-center group","cursor-pointer border-color-border bg-color-bg-1 sm:bg-transparent sm:border-0",l?"w-fit":"w-8",{"disabled:cursor-not-allowed disabled:border-color-border disabled:bg-color-bg-3 disabled:sm:bg-transparent":i,"hover:border-color-brand sm:hover:border-color-border-hover sm:active:border-color-brand":!i,"hover:bg-color-fill-6 sm:hover:bg-transparent sm:active:bg-transparent":!i}],disabled:i,onClick:this.toNextPage},[l?T("span",{class:["inline-block w-fit mx-1 text-color-text-placeholder sm:text-color-primary",{"disabled:text-color-text-primary disabled:sm:text-color-border":i,"group-hover:fill-color-brand sm:group-hover:fill-color-icon-hover sm:group-active:fill-color-icon-active":!i}]},[l]):T(r,{class:["fill-color-fill-7 sm:fill-color-text-primary",{"disabled:fill-color-fill-primary sm:fill-color-border":i,"group-hover:fill-color-brand sm:group-hover:fill-color-icon-hover sm:group-active:fill-color-icon-active":!i}]},null)])])])])])},methods:{toPrevPage:function(){var t=this,r=function(){t.internalCurrentPage>1&&(t.internalCurrentPage-=1,t.$emit("prev-click",t.internalCurrentPage),t.$emit("current-change",t.internalCurrentPage),t.$emit("update:current-page",t.internalCurrentPage),t.$emit("page-change",{currentPage:t.internalCurrentPage,pageSize:t.internalPageSize,total:t.internalTotal}))};if(this.isBeforePageChange&&this.internalCurrentPage>1){var n=this.internalCurrentPage-1,i=this.internalPageSize,o=this.internalCurrentPage,l=this.internalPageSize;this.$emit("before-page-change",{newPage:n,newPageSize:i,currentPage:o,currentPageSize:l,callback:r})}else r()},toNextPage:function(){var t=this,r=function(){t.internalCurrentPage<t.internalPageCount&&(t.internalCurrentPage+=1,t.$emit("next-click",t.internalCurrentPage),t.$emit("current-change",t.internalCurrentPage),t.$emit("update:current-page",t.internalCurrentPage),t.$emit("page-change",{currentPage:t.internalCurrentPage,pageSize:t.internalPageSize,total:t.internalTotal}))};if(this.isBeforePageChange&&this.internalCurrentPage<this.internalPageCount){var n=this.internalCurrentPage+1,i=this.internalPageSize,o=this.internalCurrentPage,l=this.internalPageSize;this.$emit("before-page-change",{newPage:n,newPageSize:i,currentPage:o,currentPageSize:l,callback:r})}else r()},normalizeState:function(){var t=this.total>0?this.total:0,r=this.pageSize>0?this.pageSize:10,n=this.currentPage>0?this.currentPage:1;this.internalTotal=t,this.internalPageSize=r,this.internalPageCount=Math.ceil(t/r),this.internalCurrentPage=n>this.internalPageCount?1:n}}});function fn(){return fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},fn.apply(this,arguments)}var fy=function(t){var r,n=typeof process=="object"?(r={})==null?void 0:r.TINY_MODE:null;return(n||t)==="pc"?Oi:(n||t)==="mobile-first"?dy:Oi},hy=fn({},le,{accurateJumper:{type:Boolean,default:function(){return!0}},appendToBody:{type:Boolean,default:function(){return!0}},currentPage:{type:Number,default:function(){return 1}},disabled:{type:Boolean,default:function(){return!1}},hideOnSinglePage:Boolean,isBeforePageChange:Boolean,layout:String,mode:String,nextText:String,pageCount:Number,pageSize:{type:Number,default:function(){return 10}},pageSizes:{type:Array,default:function(){return[10,20,30,40,50,100]}},pagerCount:{type:Number,validator:function(t){return(t|0)===t&&t>2&&t<22&&t%2===1},default:function(){return 7}},popperAppendToBody:{type:Boolean,default:function(){return!0}},showTotalLoading:{type:Boolean,default:function(){return!1}},customTotal:{type:[Boolean,String],default:function(){return!1}},popperClass:String,prevText:String,total:Number,size:{type:String,default:""},align:{type:String,validator:function(t){return["left","center","right"].includes(t)}},totalFixedLeft:{type:Boolean,default:void 0}}),Xt=q({name:re+"Pager",props:hy,setup:function(t,r){return Ge({props:t,context:r,template:fy})}}),vy="3.16.0";Xt.install=function(e){e.component(Xt.name,Xt)};Xt.version=vy;function py(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=gy(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gy(e,t){if(e){if(typeof e=="string")return Mi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mi(e,t)}}function Mi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Ln=function(t,r){for(var n=t.__vccOpts||t,i=py(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},my=["input","change"],by=["field"];function Ai(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Cy(n.key),n)}}function yy(e,t,r){return t&&Ai(e.prototype,t),r&&Ai(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Cy(e){var t=wy(e,"string");return typeof t=="symbol"?t:t+""}function wy(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */hn=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(k,_,I){k[_]=I.value},o=typeof Symbol=="function"?Symbol:{},l=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(k,_,I){return Object.defineProperty(k,_,{value:I,enumerable:!0,configurable:!0,writable:!0}),k[_]}try{c({},"")}catch{c=function(I,F,N){return I[F]=N}}function u(k,_,I,F){var N=_&&_.prototype instanceof m?_:m,H=Object.create(N.prototype),V=new G(F||[]);return i(H,"_invoke",{value:D(k,I,V)}),H}function d(k,_,I){try{return{type:"normal",arg:k.call(_,I)}}catch(F){return{type:"throw",arg:F}}}t.wrap=u;var f="suspendedStart",h="suspendedYield",v="executing",p="completed",g={};function m(){}function y(){}function b(){}var C={};c(C,l,function(){return this});var w=Object.getPrototypeOf,$=w&&w(w(j([])));$&&$!==r&&n.call($,l)&&(C=$);var O=b.prototype=m.prototype=Object.create(C);function E(k){["next","throw","return"].forEach(function(_){c(k,_,function(I){return this._invoke(_,I)})})}function A(k,_){function I(N,H,V,K){var Y=d(k[N],k,H);if(Y.type!=="throw"){var Ce=Y.arg,we=Ce.value;return we&&typeof we=="object"&&n.call(we,"__await")?_.resolve(we.__await).then(function(Fe){I("next",Fe,V,K)},function(Fe){I("throw",Fe,V,K)}):_.resolve(we).then(function(Fe){Ce.value=Fe,V(Ce)},function(Fe){return I("throw",Fe,V,K)})}K(Y.arg)}var F;i(this,"_invoke",{value:function(H,V){function K(){return new _(function(Y,Ce){I(H,V,Y,Ce)})}return F=F?F.then(K,K):K()}})}function D(k,_,I){var F=f;return function(N,H){if(F===v)throw Error("Generator is already running");if(F===p){if(N==="throw")throw H;return{value:e,done:!0}}for(I.method=N,I.arg=H;;){var V=I.delegate;if(V){var K=P(V,I);if(K){if(K===g)continue;return K}}if(I.method==="next")I.sent=I._sent=I.arg;else if(I.method==="throw"){if(F===f)throw F=p,I.arg;I.dispatchException(I.arg)}else I.method==="return"&&I.abrupt("return",I.arg);F=v;var Y=d(k,_,I);if(Y.type==="normal"){if(F=I.done?p:h,Y.arg===g)continue;return{value:Y.arg,done:I.done}}Y.type==="throw"&&(F=p,I.method="throw",I.arg=Y.arg)}}}function P(k,_){var I=_.method,F=k.iterator[I];if(F===e)return _.delegate=null,I==="throw"&&k.iterator.return&&(_.method="return",_.arg=e,P(k,_),_.method==="throw")||I!=="return"&&(_.method="throw",_.arg=new TypeError("The iterator does not provide a '"+I+"' method")),g;var N=d(F,k.iterator,_.arg);if(N.type==="throw")return _.method="throw",_.arg=N.arg,_.delegate=null,g;var H=N.arg;return H?H.done?(_[k.resultName]=H.value,_.next=k.nextLoc,_.method!=="return"&&(_.method="next",_.arg=e),_.delegate=null,g):H:(_.method="throw",_.arg=new TypeError("iterator result is not an object"),_.delegate=null,g)}function R(k){var _={tryLoc:k[0]};1 in k&&(_.catchLoc=k[1]),2 in k&&(_.finallyLoc=k[2],_.afterLoc=k[3]),this.tryEntries.push(_)}function X(k){var _=k.completion||{};_.type="normal",delete _.arg,k.completion=_}function G(k){this.tryEntries=[{tryLoc:"root"}],k.forEach(R,this),this.reset(!0)}function j(k){if(k||k===""){var _=k[l];if(_)return _.call(k);if(typeof k.next=="function")return k;if(!isNaN(k.length)){var I=-1,F=function N(){for(;++I<k.length;)if(n.call(k,I))return N.value=k[I],N.done=!1,N;return N.value=e,N.done=!0,N};return F.next=F}}throw new TypeError(typeof k+" is not iterable")}return y.prototype=b,i(O,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:y,configurable:!0}),y.displayName=c(b,s,"GeneratorFunction"),t.isGeneratorFunction=function(k){var _=typeof k=="function"&&k.constructor;return!!_&&(_===y||(_.displayName||_.name)==="GeneratorFunction")},t.mark=function(k){return Object.setPrototypeOf?Object.setPrototypeOf(k,b):(k.__proto__=b,c(k,s,"GeneratorFunction")),k.prototype=Object.create(O),k},t.awrap=function(k){return{__await:k}},E(A.prototype),c(A.prototype,a,function(){return this}),t.AsyncIterator=A,t.async=function(k,_,I,F,N){N===void 0&&(N=Promise);var H=new A(u(k,_,I,F),N);return t.isGeneratorFunction(_)?H:H.next().then(function(V){return V.done?V.value:H.next()})},E(O),c(O,s,"Generator"),c(O,l,function(){return this}),c(O,"toString",function(){return"[object Generator]"}),t.keys=function(k){var _=Object(k),I=[];for(var F in _)I.push(F);return I.reverse(),function N(){for(;I.length;){var H=I.pop();if(H in _)return N.value=H,N.done=!1,N}return N.done=!0,N}},t.values=j,G.prototype={constructor:G,reset:function(_){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(X),!_)for(var I in this)I.charAt(0)==="t"&&n.call(this,I)&&!isNaN(+I.slice(1))&&(this[I]=e)},stop:function(){this.done=!0;var _=this.tryEntries[0].completion;if(_.type==="throw")throw _.arg;return this.rval},dispatchException:function(_){if(this.done)throw _;var I=this;function F(Ce,we){return V.type="throw",V.arg=_,I.next=Ce,we&&(I.method="next",I.arg=e),!!we}for(var N=this.tryEntries.length-1;N>=0;--N){var H=this.tryEntries[N],V=H.completion;if(H.tryLoc==="root")return F("end");if(H.tryLoc<=this.prev){var K=n.call(H,"catchLoc"),Y=n.call(H,"finallyLoc");if(K&&Y){if(this.prev<H.catchLoc)return F(H.catchLoc,!0);if(this.prev<H.finallyLoc)return F(H.finallyLoc)}else if(K){if(this.prev<H.catchLoc)return F(H.catchLoc,!0)}else{if(!Y)throw Error("try statement without catch or finally");if(this.prev<H.finallyLoc)return F(H.finallyLoc)}}}},abrupt:function(_,I){for(var F=this.tryEntries.length-1;F>=0;--F){var N=this.tryEntries[F];if(N.tryLoc<=this.prev&&n.call(N,"finallyLoc")&&this.prev<N.finallyLoc){var H=N;break}}H&&(_==="break"||_==="continue")&&H.tryLoc<=I&&I<=H.finallyLoc&&(H=null);var V=H?H.completion:{};return V.type=_,V.arg=I,H?(this.method="next",this.next=H.finallyLoc,g):this.complete(V)},complete:function(_,I){if(_.type==="throw")throw _.arg;return _.type==="break"||_.type==="continue"?this.next=_.arg:_.type==="return"?(this.rval=this.arg=_.arg,this.method="return",this.next="end"):_.type==="normal"&&I&&(this.next=I),g},finish:function(_){for(var I=this.tryEntries.length-1;I>=0;--I){var F=this.tryEntries[I];if(F.finallyLoc===_)return this.complete(F.completion,F.afterLoc),X(F),g}},catch:function(_){for(var I=this.tryEntries.length-1;I>=0;--I){var F=this.tryEntries[I];if(F.tryLoc===_){var N=F.completion;if(N.type==="throw"){var H=N.arg;X(F)}return H}}throw Error("illegal catch attempt")},delegateYield:function(_,I,F){return this.delegate={iterator:j(_),resultName:I,nextLoc:F},this.method==="next"&&(this.arg=e),g}},t}function Di(e,t,r,n,i,o,l){try{var a=e[o](l),s=a.value}catch(c){r(c);return}a.done?t(s):Promise.resolve(s).then(n,i)}function Sy(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function l(s){Di(o,n,i,l,a,"next",s)}function a(s){Di(o,n,i,l,a,"throw",s)}l(void 0)})}}function pl(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},z.apply(this,arguments)}var gl={validConfig:{message:"tooltip"},sortConfig:{multipleColumnSort:!1},stripe:!1,stripeSaas:!1,borderSaas:!0,borderVertical:!1,highlightHoverRow:!0,resizable:!0,operationColumnResizable:!1,fit:!0,showHeader:!0,defaultTreeIndent:16,defaultTreeSpacing:30,rowId:"_RID",version:0,optimization:{animat:!0,delayHover:250,scrollX:{gt:100},scrollY:{gt:500}},icon:{sortAsc:Lc(),sortDesc:Ec(),sortDefault:Sc(),required:"tiny-grid-required-icon",filter:wo(),edit:Ql(),tree:"tiny-grid-icon__caret-right",refresh:za(),minscreen:Ps(),fullscreen:Ms(),custom:ea(),jumpPrev:"tiny-grid-icon__d-arrow-left",jumpNext:"tiny-grid-icon__d-arrow-right",prevPage:"tiny-grid-icon__arrow-left",nextPage:"tiny-grid-icon__arrow-right",zoomIn:"tiny-grid-icon__zoomin",zoomOut:"tiny-grid-icon__zoomout",modalClose:"tiny-grid-icon__close",modalInfo:"tiny-grid-icon__info",modalSuccess:"tiny-grid-icon__success",modalWarning:"tiny-grid-icon__warning",modalError:"tiny-grid-icon__error",modalQuestion:"tiny-grid-icon__question",modalLoading:"tiny-grid-icon__refresh roll",caretBottom:"tiny-grid-icon__caret-bottom",dropdownBottom:"tiny-grid-icon__arrow-bottom",btnLoading:"tiny-grid-icon__refresh roll"},grid:{},menu:{},tooltip:{trigger:"hover",theme:"dark"},pager:{},toolbar:{resizable:{storage:!1},buttons:[]},modal:{zIndex:2e3,minWidth:340,minHeight:200,lockView:!0,mask:!0,duration:3e3,marginSize:10,animat:!0},i18n:function(t){return t},constant:{insertedField:"_$inserted",deletedField:"_$deleted",asyncPrefix:"_$async_"},TINY_TABLE_CUSTOM_COLUMN_WIDTH:"TINY_TABLE_CUSTOM_COLUMN_WIDTH",TINY_TABLE_CUSTOM_SETTING:"TINY_TABLE_CUSTOM_SETTING",viewConfig:{DEFAULT:"default",MF:"mf",CARD:"card",LIST:"list",GANTT:"gantt",MF_SHOW_LIST:"list",MF_SHOW_CARD:"card",toolbar:{default:"block",mf:"hidden sm:block",card:"hidden sm:block"},pager:{default:"block",mf:"hidden sm:block",card:"hidden sm:block"},columnAnchor:{default:"flex",mf:"hidden sm:flex",card:"hidden"},hiddenColumn:{default:"block",mf:"hidden sm:block",card:"hidden"},tableHeader:{default:"block",mf:"hidden sm:block",card:"hidden"},emptyData:{default:"block",mf:"hidden sm:block",card:"hidden"},tableBody:{default:"block",mf:"hidden sm:block",card:"hidden"},tableFooter:{default:"block",mf:"hidden sm:block",card:"hidden"},fixedColumn:{default:"block",mf:"hidden sm:block",card:"hidden"},borderLine:{default:"block",mf:"hidden sm:block",card:"hidden"},resizeBar:{default:"block",mf:"hidden sm:block",card:"hidden"},gridLoading:{default:"block",mf:"hidden sm:block",card:"hidden"},tableWrapper:{default:"block",mf:"hidden sm:block",card:"hidden"},selectToolbar:{default:"block",mf:"hidden sm:block",card:"hidden"},mfTable:{default:"hidden",mf:"block sm:hidden",card:"block"},footerBorder:{default:"block",mf:"hidden sm:block",card:"hidden"},operButton:{default:"inline-block",mf:"hidden sm:inline-block",card:"hidden"}},themes:{TINY:"tiny",SAAS:"saas"}};function $y(){for(var e=gl.viewConfig,t=0,r=Object.keys(e);t<r.length;t++){var n=r[t];typeof e[n]=="object"&&(e[n].list=e[n].card,e[n].gantt=e[n].card)}}$y();var B=gl,xy=function(t){t===void 0&&(t={});var r=B.icon,n=B.menu;t.menu&&(n=ye(!0,{},n,t.menu)),t.icon&&(r=ye(!0,{},r,t.icon)),ye(!0,B,t,{icon:r,menu:n})},_y=xy;function ml(e,t){var r=e.name,n=e.attrs,i=n;return typeof n=="function"&&(i=n(t)),r==="input"&&(i=z({type:"text"},i)),i}var Rn=function(t,r,n){return t.type==="visible"||n.$type==="cell"};function bl(e,t){var r=e.refresh,n=r===void 0?!1:r,i=t.$table,o=t.row,l=i.editConfig,a=l===void 0?{}:l;return i.isTemporaryRow(o)||!a.showStatus||typeof n=="boolean"&&n||typeof n=="function"&&n(t)}function yl(e,t,r){var n,i=e.component,o=i===void 0?{}:i,l=e.events,a=l===void 0?{}:l,s=typeof o=="string",c=o.model||{},u=o==="select"?"change":s?"input":c.event||"update:modelValue",d=a.input,f=a.change,h=pl(a,my),v=t.$table,p=t.column,g=t.row,m=p.model,y=(n={},n[u]=function(w){var $=s?w.target.value:w;!e.isValidAlways&&Rn(e,t,r)?qe(g,p,$):(s||xe(g,p.property,$),m.update=!0,m.value=$,v.updateStatus(t,$,e)),s&&(d&&d.apply(null,[t].concat.apply(t,arguments)),f&&f.apply(null,[t].concat.apply(t,arguments))),bl(e,t)&&v.editStore.editorAutoRefreshKey++},n),b=s?h:a,C=function($){return function(){$.apply(null,[t].concat.apply(t,arguments))}};return or(y,ir(b,C)),y}function Fn(e,t,r,n,i){var o=r.optionProps,l=o===void 0?{}:o,a=l.label||"label",s=l.value||"value",c=n.column,u=n.row,d=c.own.formatConfig,f=Rn(r,n,i)?zt(u,c):c.model.value;return!t&&d&&d.data&&(t=d.data),t.map(function(h,v){var p={domProps:{value:h[s],selected:h.value===f},key:v};return e("option",p,h[a])})}function Cl(e,t,r,n){var i=t.optionGroups,o=t.optionGroupProps,l=o===void 0?{}:o,a=l.label||"label",s=l.options||"options";return i.map(function(c,u){var d={domProps:{label:c[a]},key:u},f=Fn(e,c[s],t,r,n);return e("optgroup",d,f)})}function ky(e,t,r,n){var i=t.filterMultiple?"changeMultipleOption":"changeRadioOption",o=e[i];o({},r,n)}function wl(e,t,r,n){var i,o=t.events,l=t.name,a=r.column,s=l==="select"?"change":"input",c=(i={},i[s]=function(d){e.data=d.target.value,ky(n,a,!!e.data,e)},i);if(o){var u=function(f){return function(){f.apply(null,[r].concat.apply(r,arguments))}};or(c,ir(o,u))}return c}function Ty(e,t,r,n){var i=t.name,o=r.column,l=ml(t,r);return o.filters.map(function(a){var s={class:"tiny-grid-default-"+i,attrs:l,domProps:{value:a.data},on:wl(a,t,r,n)};return e(i,s)})}function Ey(e){var t=e.option,r=e.row,n=e.column,i=te(r,n.property),o=t.data;return i==o}function Iy(e,t,r,n){var i={class:"tiny-grid-default-select",on:yl(t,r,n)},o=t.optionGroups?Cl(e,t,r,n):Fn(e,t.options,t,r,n);return[e("select",i,o)]}function Li(e,t,r,n){var i,o=r.$table,l=r.column,a=r.row,s=l.formatValue,c=s===void 0?function(E){var A=E.cellValue;return A}:s,u=l.own,d=u.formatConfig||{},f=t.children,h=t.component,v=h===void 0?{}:h,p=ml(t,r),g=Rn(t,r,n)?zt(a,l):l.model.value,m=c(z({cellValue:g},r)),y=~["input","textarea","select"].indexOf(v),b=v.model||{},C=typeof v=="string"?"value":b.prop||"modelValue",w={class:y?"tiny-grid-default-"+v:"",attrs:z({formatOpt:d,options:d.data},p,(i={},i[C]=m,i)),on:yl(t,r,n)};bl(t,r)&&(w.attrs.editorAutoRefreshKey=o.editStore.editorAutoRefreshKey);var $=f?f(z({props:w},r),e):null,O=[e(wt(v),w,$)];return y?O:[e("div",{class:"tiny-grid-editor"},O)]}var Oy=function(){var t=[["autofocus","input"],["renderEdit",Li],["renderDefault",Li],["renderFilter",Ty],["filterMethod",Ey]],r=function(o){var l={};return o.forEach(function(a){return l[a[0]]=a[1]}),l},n={};return n.input=r(t),t[0][1]="textarea",n.textarea=r(t),t.splice(0,1),t[0][1]=t[1][1]=Iy,t[2][1]=function(i,o,l,a){var s=o.attrs,c=l.column;return c.filters.map(function(u){var d={attrs:s,class:"tiny-grid-default-select",on:wl(u,o,l,a)},f=o.optionGroups?Cl(i,o,l):Fn(i,o.options,o,l);return i("select",d,f)})},n.select=r(t),n},Nt=Oy(),My=function(){var t={};return t.mixin=function(r){return it(r,function(n,i){return t.add(i,n)}),t},t.get=function(r){return Rr(r)||_e(r)?Nt.input:Nt[r]||null},t.add=function(r,n){var i,o=r&&n;return o&&(i=Nt[r],i?Object.assign(i,n):Nt[r]=n),t},t.delete=function(r){return delete Nt[r],t},t},Ay=My(),Pn=Ay,Ri=[],Sl=Xo,$l=Xo,Hn={use:function(t,r){return t&&t.install&&(Ri.includes(t)||(t.install(this,r),Ri.push(t))),this},setup:_y,interceptor:Yo,renderer:Pn,buttons:Sl,menus:$l,_tooltip:!0},xl=function(t,r){if(t&&t.$table){var n=t.$table.getEventTargetNode,i=document.body;if(n(r,i,"tiny-autocomplete-suggestion").flag||n(r,i,"tiny-select-dropdown").flag||n(r,i,"tiny-cascader__dropdown").flag||n(r,i,"tiny-cascader-menus").flag||n(r,i,"tiny-picker-panel").flag||n(r,i,"tiny-popper").flag||n(r,i,"tiny-dialog-box").flag)return!1}};Hn.interceptor.add("event.clear_actived",xl);Hn.interceptor.add("event.clear_filter",xl);var me=Hn;function Dy(e){var t=e.$table,r=e.mouseConfig,n=e.params,i=e.thOns;r.checked&&(i.mousedown=function(o){return t.triggerHeaderCellMousedownEvent(o,z({cell:o.currentTarget},n))})}function Ly(e){var t=e.$table,r=e.params,n=e.tableListeners,i=e.thOns;n["header-cell-dblclick"]&&(i.dblclick=function(o){return Q(t,"header-cell-dblclick",[z({cell:o.currentTarget},r),o])})}function Ry(e){var t=e.$table,r=e.highlightCurrentColumn,n=e.mouseConfig,i=e.params,o=e.sortOpts,l=e.tableListeners,a=e.thOns;(r||l["header-cell-click"]||n.checked||o.trigger==="cell")&&(a.click=function(s){return t.triggerHeaderCellClickEvent(s,z({cell:s.currentTarget},i))})}function Fy(e){var t=e.$table,r=e.showHeaderTip,n=e.showTooltip,i=e.thOns;(n||r)&&(i.mouseout=function(){t._isResize||t.clostTooltip()})}function Py(e){var t=e.$table,r=e.params,n=e.showHeaderTip,i=e.showTitle,o=e.showTooltip,l=e.thOns;(i||o||n)&&(l.mouseover=function(a){t._isResize||(i?Mn(a):(o||n)&&t.triggerHeaderTooltipEvent(a,z({showHeaderTip:n},r)))})}function Hy(e){var t=e.column,r=e.headAlign;return~["radio","selection","index"].indexOf(t.type)&&(r=r||"center"),r}function zy(e){var t=e.dragMinLeft,r=e.left,n=Math.max(r,t);return{left:r,dragMinLeft:t,dragLeft:n}}function Ny(e){return x("colgroup",{ref:"colgroup"},e.map(function(t,r){return x("col",{attrs:{name:t.id},key:r})}).concat([x("col",{attrs:{name:"col_gutter"}})]))}function By(){return x("div",{class:"tiny-grid__repair",ref:"repair"})}function Vy(){return x("div",{class:"tiny-grid-body__x-space",ref:"xSpace"})}var Ve={colFixed:"col__fixed",colIndex:"col__index",colRadio:"col__radio",colSelection:"col__selection",colGroup:"col__group",colEllipsis:"col__ellipsis",fixedHidden:"fixed__column",isSortable:"is__sortable",isEditable:"is__editable",isFilter:"is__filter",filterActive:"filter__active"};function jy(e){var t,r,n,i=e.column,o=e.columnIndex,l=e.columnKey,a=e.fixedHiddenColumn,s=e.hasEllipsis,c=e.headAlign,u=e.columnStore,d=e.headerCellClassName,f=e.headerClassName,h=e.isColGroup,v=e.isDragHeaderSorting,p=e.params,g=e.thOns,m=e.scrollbarWidth,y=u.leftList,b=u.rightList;return{class:["tiny-grid-header__column",i.id,(t={},t["col__"+c]=c,t[Ve.colFixed]=i.fixed,t[Ve.colIndex]=i.type==="index",t[Ve.colRadio]=i.type==="radio",t[Ve.colSelection]=i.type==="selection",t[Ve.colGroup]=h,t[Ve.colEllipsis]=s,t[Ve.fixedHidden]=a,t[Ve.isSortable]=!["index","radio","selection"].includes(i.type)&&i.sortable,t[Ve.isEditable]=i.editor,t[Ve.isFilter]=ao(i.filter),t[Ve.filterActive]=i.filter&&i.filter.hasFilter,t["fixed-left-last__column"]=i.fixed==="left"&&(y[y.length-1]===i||i.isFixedLeftLast),t["fixed-right-first__column"]=i.fixed==="right"&&(b[0]===i||i.isFixedRightFirst),t),Pt(f,p),Pt(d,p)],attrs:{"data-colid":i.id,colspan:i.colSpan,rowspan:i.rowSpan},style:a?{left:((r=i.style)==null?void 0:r.left)+"px",right:((n=i.style)==null?void 0:n.right)+m+"px"}:null,on:g,key:v?hr():l||h?i.id:o}}function Wy(e){var t=e.border,r=e.column,n=e.isColGroup,i=e.resizable,o=null,l={isLine:"is__line"};if(!n&&!(Be(r.resizable)?r.resizable:i)&&r.type!=="index"){var a;o=x("div",{class:["tiny-grid-thead-partition",(a={},a[l.isLine]=!t,a)]})}return o}function Gy(e){var t=e.column,r=e.fixedHiddenColumn,n=e.headerSuffixIconAbsolute,i=e.params,o=e.$table,l=e.showEllipsis,a=e.showHeaderTip,s=e.showTitle,c=e.showTooltip;return x("div",{class:["tiny-grid-cell",{"tiny-grid-cell__title":s,"tiny-grid-cell__tooltip":c||a,"tiny-grid-cell__ellipsis":l,"tiny-grid-cell__header-suffix":n}]},o.isShapeTable?t.renderHeader(x,z({isHidden:r},i)):null)}function Xy(e){var t=e._vm,r=e.border,n=e.column,i=e.fixedHiddenColumn,o=e.isColGroup,l=e.params,a=e.resizable,s=e.isColResize,c=null,u={isLine:"is__line"};if(!o&&s&&(Be(n.resizable)?n.resizable:a)){var d;c=x("div",{class:["tiny-grid-resizable",(d={},d[u.isLine]=!r,d)],on:{mousedown:function(h){return t.resizeMousedown(h,z({isHidden:i},l))}}})}return c}function Yy(e){var t=e.$rowIndex,r=e.$table,n=e._vm,i=e.allAlign,o=e.allColumnHeaderOverflow,l=e.allHeaderAlign,a=e.border,s=e.columnKey,c=e.headerCellClassName,u=e.headerSuffixIconAbsolute,d=e.highlightCurrentColumn,f=e.isDragHeaderSorting,h=e.mouseConfig,v=e.resizable,p=e.sortOpts,g=e.tableListeners,m=r.operationColumnResizable;return function(y,b){var C=y.showHeaderOverflow,w=y.showHeaderTip,$=y.headerAlign,O=y.align,E=y.headerClassName,A=y.children&&y.children.length,D=y.fixed,P=ut(C)?o:C,R=P==="ellipsis",X=P==="title",G=$||O||l||i,j=P===!0||P==="tooltip",k={},_=X||j||R,I=r.columnStore,F=r.scrollbarWidth,N=["index","radio","selection"].includes(y.type)?m:!0;G=Hy({column:y,headAlign:G});var H=r.getColumnIndex(y),V={$table:r,$rowIndex:t,column:y};Object.assign(V,{columnIndex:H,$columnIndex:b}),Py({$table:r,params:V,showHeaderTip:w,showTitle:X,showTooltip:j,thOns:k}),Fy({$table:r,showHeaderTip:w,showTooltip:j,thOns:k});var K={$table:r,highlightCurrentColumn:d,mouseConfig:h,params:V};Object.assign(K,{sortOpts:p,tableListeners:g,thOns:k}),Ry(K),Ly({$table:r,params:V,tableListeners:g,thOns:k}),Dy({$table:r,mouseConfig:h,params:V,thOns:k}),K={column:y,columnIndex:H,columnKey:s,fixedHiddenColumn:D,hasEllipsis:_,headAlign:G,columnStore:I,scrollbarWidth:F},Object.assign(K,{headerCellClassName:c,headerClassName:E,isColGroup:A,isDragHeaderSorting:f,params:V,thOns:k});var Y={column:y,fixedHiddenColumn:D,headerSuffixIconAbsolute:u,params:V,$table:r};return Object.assign(Y,{showEllipsis:R,showHeaderTip:w,showTitle:X,showTooltip:j}),x("th",jy(K),[Wy({border:a,column:y,isColGroup:A,resizable:v}),Gy(Y),Xy({_vm:n,border:a,column:y,fixedHiddenColumn:D,isColGroup:A,params:V,resizable:v,isColResize:N})])}}function qy(e){var t=e.$table,r=e._vm,n=e.allAlign,i=e.allColumnHeaderOverflow,o=e.allHeaderAlign,l=e.border,a=e.columnKey,s=e.headerCellClassName,c=e.headerColumn,u=e.headerRowClassName,d=e.headerSuffixIconAbsolute,f=e.highlightCurrentColumn,h=e.isDragHeaderSorting,v=e.mouseConfig,p=e.overflowX,g=e.resizable,m=e.sortOpts,y=e.tableListeners;return x("thead",{ref:"thead"},c.map(function(b,C){var w={$rowIndex:C,$table:t,_vm:r,allAlign:n,allColumnHeaderOverflow:i,allHeaderAlign:o,border:l,columnKey:a};return Object.assign(w,{headerCellClassName:s,headerSuffixIconAbsolute:d,highlightCurrentColumn:f}),Object.assign(w,{isDragHeaderSorting:h,mouseConfig:v,overflowX:p,resizable:g,sortOpts:m,tableListeners:y}),x("tr",{class:["tiny-grid-header__row",u?_e(u)?u({$table:t,$rowIndex:C}):u:""]},b.map(Yy(w)).concat([x("th",{class:"col__gutter"})]))}))}function Ky(e){var t=e.getVm("toolbar");t&&t.updateResizable()}function Zy(e){var t=e.$table,r=e._vm,n=e.allAlign,i=e.allColumnHeaderOverflow,o=e.allHeaderAlign,l=e.border,a=e.columnKey,s=e.headerCellClassName,c=e.headerColumn,u=e.headerRowClassName,d=e.headerSuffixIconAbsolute,f=e.highlightCurrentColumn,h=e.isDragHeaderSorting,v=e.mouseConfig,p=e.overflowX,g=e.resizable,m=e.sortOpts,y=e.tableColumn,b=e.tableLayout,C=e.tableListeners,w={$table:t,_vm:r,allAlign:n,allColumnHeaderOverflow:i,allHeaderAlign:o,border:l,columnKey:a};return Object.assign(w,{headerCellClassName:s,headerColumn:c,headerRowClassName:u,headerSuffixIconAbsolute:d}),Object.assign(w,{highlightCurrentColumn:f,isDragHeaderSorting:h,mouseConfig:v}),Object.assign(w,{overflowX:p,resizable:g,sortOpts:m,tableListeners:C}),x("table",{class:"tiny-grid__header",style:{tableLayout:b},attrs:{cellspacing:0,cellpadding:0,border:0},ref:"table"},[Ny(y),qy(w)])}var Uy=function(t){var r=t.oldMousemove,n=t.oldMouseup,i=t.column,o=t.dragPosLeft,l=t.dragLeft,a=t.resizeBarElem,s=t.$table,c=t.params;document.onmousemove=r,document.onmouseup=n;var u=i.renderWidth+l-o;u=typeof u=="number"?u:parseInt(u,10)||40,i.resizeWidth=u<40?40:u,a.style.display="none",ge(s.$el,"tiny-grid-cell__resize"),Object.assign(s,{_isResize:!1,_lastResizeTime:Date.now()}),s.analyColumnWidth(),s.recalculate(),Ky(s),Q(s,"resizable-change",[c])},gr=q({name:re+"GridHeader",props:{collectColumn:Array,fixedColumn:Array,size:String,isGroup:Boolean,tableColumn:Array,tableData:Array,visibleColumn:Array},watch:{tableColumn:function(){this.uploadColumn()}},data:function(){return{headerColumn:[]}},mounted:function(){var t=this.$el,r=this.$parent,n=this.$refs,i=r.elemStore,o="main-header-";i[o+"wrapper"]=t,i[o+"table"]=n.table,i[o+"colgroup"]=n.colgroup,i[o+"list"]=n.thead,i[o+"x-space"]=n.xSpace,i[o+"repair"]=n.repair},created:function(){this.uploadColumn()},render:function(){var t=this.$parent,r=this.headerColumn,n=this.tableColumn,i=t.align,o=t.border,l=t.columnKey,a=t.headerAlign,s=t.headerCellClassName,c=t.headerRowClassName,u=t.headerSuffixIconAbsolute,d=t.highlightCurrentColumn,f=t.isDragHeaderSorting,h=t.mouseConfig,v=h===void 0?{}:h,p=t.overflowX,g=t.resizable,m=t.showHeaderOverflow,y=t.sortOpts,b=t.tableLayout,C=t.tableListeners,w={$table:t,_vm:this,allAlign:i,allColumnHeaderOverflow:m,allHeaderAlign:a,border:o,columnKey:l};return Object.assign(w,{headerCellClassName:s,headerColumn:r,headerRowClassName:c,headerSuffixIconAbsolute:u}),Object.assign(w,{highlightCurrentColumn:d,isDragHeaderSorting:f,mouseConfig:v,overflowX:p,resizable:g,sortOpts:y}),Object.assign(w,{tableColumn:n,tableLayout:b,tableListeners:C}),x("div",{class:["tiny-grid__header-wrapper","body__wrapper"]},[Vy(),Zy(w),By()])},methods:{uploadColumn:function(){this.headerColumn=this.isGroup?this.$parent._sliceColumnTree(this.tableColumn):[this.tableColumn]},resizeMousedown:function(t,r){var n=this.$el,i=this.$parent,o=t.clientX,l=t.target,a=r.column,s={},c=s.dragLeft,u=c===void 0?0:c,d=s.minInterval,f=d===void 0?36:d,h=s.fixedOffsetWidth,v=h===void 0?0:h,p=i.$refs,g=p.resizeBar,m=p.tableBody,y={},b=y.cell,C=b===void 0?l.parentNode:b,w=y.dragBtnWidth,$=w===void 0?l.clientWidth:w,O={},E=O.pos,A=E===void 0?Up(l,n):E,D=O.tableBodyElem,P=D===void 0?m.$el:D,R=A.left-C.clientWidth+$+f,X=A.left+Math.floor($/2),G={},j=G.oldMousemove,k=j===void 0?document.onmousemove:j,_=G.oldMouseup,I=_===void 0?document.onmouseup:_,F=function(H){H.stopPropagation(),H.preventDefault();var V={},K=V.offsetX,Y=K===void 0?H.clientX-o:K,Ce=V.left,we=Ce===void 0?Y+X:Ce,Fe=P.scrollLeft,ft={cell:C,dragMinLeft:R,dragPosLeft:X,fixedOffsetWidth:v};Object.assign(ft,{left:we,minInterval:f,tableBodyElem:P});var ht=zy(ft);we=ht.left,R=ht.dragMinLeft,u=ht.dragLeft,g.style.left=u-Fe+"px"};g.style.display="block",pe(i.$el,"tiny-grid-cell__resize"),i._isResize=!0,document.onmousemove=F,document.onmouseup=function(){Uy({oldMousemove:k,oldMouseup:I,column:a,dragPosLeft:X,dragLeft:u,resizeBarElem:g,$table:i,params:r})},F(t)}}});gr.install=function(e){e.component(gr.name,gr)};var kt={fixedHidden:"fixed__column",colEllipsis:"col__ellipsis",filterActive:"filter__active",cellSummary:"cell__summary",fixedLeftLast:"fixed-left-last__column",fixedRightFirst:"fixed-right-first__column"};function Jy(e){var t=e.attrs,r=e.footerData,n=e.footerSpanMethod,i=e.params;if(n){var o=n(z({data:r},i))||{},l=o.rowspan,a=l===void 0?1:l,s=o.colspan,c=s===void 0?1:s;if(!a||!c)return null;t.rowspan=a,t.colspan=c}}function Qy(e){var t=e.$table,r=e.params,n=e.tableListeners,i=e.tfOns;n["footer-cell-dblclick"]&&(i.dblclick=function(o){Q(t,"footer-cell-dblclick",[z({cell:o.currentTarget},r),o])})}function e0(e){var t=e.$table,r=e.params,n=e.tableListeners,i=e.tfOns;n["footer-cell-click"]&&(i.click=function(o){Q(t,"footer-cell-click",[z({cell:o.currentTarget},r),o])})}function t0(e){var t=e.$table,r=e.showTooltip,n=e.tfOns;r&&(n.mouseout=function(){t.clostTooltip()})}function r0(e){var t=e.$table,r=e.params,n=e.showTitle,i=e.showTooltip,o=e.tfOns;(n||i)&&(o.mouseover=function(l){n?Mn(l):i&&t.triggerFooterTooltipEvent(l,r)})}function n0(e){return x("colgroup",{ref:"colgroup"},e.map(function(t,r){return x("col",{attrs:{name:t.id},key:r})}).concat([x("col",{attrs:{name:"col_gutter"}})]))}var i0=function(t){var r=t.$table,n=t.allAlign,i=t.allColumnOverflow,o=t.allFooterAlign,l=t.buildParamFunc,a=t.columnKey,s=t.columnStore,c=t.footerCellClassName,u=t.footerData,d=t.footerRowClassName,f=t.footerSpanMethod,h=t.overflowX,v=t.tableColumn,p=t.tableListeners,g=r.scrollbarWidth;return function(m,y){return x("tr",{class:["tiny-grid-footer__row",d?_e(d)?d({$table:r,$rowIndex:y}):d:""]},v.map(function(b,C){var w,$,O={$columnIndex:C,$rowIndex:y,$table:r,allAlign:n,allColumnOverflow:i,allFooterAlign:o},E={column:b,footerData:u,footerSpanMethod:f,overflowX:h,tableListeners:p},A=l(Object.assign(O,E)),D=A.attrs,P=A.columnIndex,R=A.fixedHiddenColumn,X=A.footAlign,G=A.footerClassName,j=A.hasEllipsis,k=A.params,_=A.tfOns,I=A.isShowEllipsis,F=A.isShowTitle,N=A.showTooltip,H=s.leftList,V=s.rightList,K=b.style||{},Y=K.left,Ce=K.right,we=Ce>=0?Ce+g:"";return x("td",{class:["tiny-grid-footer__column",b.id,(w={},w["col__"+X]=X,w[kt.fixedHidden]=R,w[kt.colEllipsis]=j,w[kt.filterActive]=b.filter&&b.filter.hasFilter,w[kt.fixedLeftLast]=b.fixed==="left"&&H[H.length-1]===b,w[kt.fixedRightFirst]=b.fixed==="right"&&V[0]===b,w),Pt(G,k),Pt(c,k)],style:R?{left:Y+"px",right:we+"px"}:null,attrs:D,on:_,key:a?b.id:P},[x("div",{class:["tiny-grid-cell",($={},$[kt.cellSummary]=r.summaryConfig,$["tiny-grid-cell__title"]=F,$["tiny-grid-cell__tooltip"]=N||b.showTip,$["tiny-grid-cell__ellipsis"]=I,$)]},r.isShapeTable?lt(m[r.tableColumn.indexOf(b)]):null)])}).concat([x("td",{class:"col__gutter"})]))}};function o0(e){return x("tfoot",{ref:"tfoot"},e.footerData.map(i0(e)))}var mr=q({name:re+"GridFooter",props:{fixedColumn:Array,fixedType:String,footerData:Array,size:String,tableColumn:Array,visibleColumn:Array},mounted:function(){var t=this.$el,r=this.$parent,n=this.$refs,i=r.elemStore,o="main-footer-";i[o+"wrapper"]=t,i[o+"table"]=n.table,i[o+"colgroup"]=n.colgroup,i[o+"list"]=n.tfoot,i[o+"x-space"]=n.xSpace},render:function(){var t=this.$parent,r=this.buildParamFunc,n=this.fixedColumn,i=this.fixedType,o=this.footerData,l=this.tableColumn,a=t.align,s=t.columnKey,c=t.footerAlign,u=t.footerCellClassName,d=t.footerRowClassName,f=t.footerSpanMethod,h=t.columnStore,v=t.overflowX,p=t.showOverflow,g=t.tableLayout,m=t.tableListeners,y=t.renderFooter,b={cellspacing:0,cellpadding:0,border:0},C=n0(l),w={$table:t,allAlign:a,allColumnOverflow:p,allFooterAlign:c,buildParamFunc:r,columnKey:s,columnStore:h},$={footerCellClassName:u,footerData:o,footerRowClassName:d,footerSpanMethod:f,overflowX:v,tableColumn:l,tableListeners:m},O=o0(Object.assign(w,$)),E={$table:t,columns:l,footerData:o,fixedColumns:n,fixedType:i};return x("div",{class:["tiny-grid__footer-wrapper","body__wrapper"],on:{scroll:this.scrollEvent}},[x("div",{class:"tiny-grid-body__x-space",ref:"xSpace"}),typeof y=="function"?y(E,x):x("table",{class:"tiny-grid__footer",style:{tableLayout:g},attrs:b,ref:"table"},[C,O])])},methods:{scrollEvent:function(t){var r=this.$parent,n=r.$refs,i=r.lastScrollLeft,o=r.scrollXLoad,l=n.tableBody,a=n.tableFooter,s=n.tableHeader,c=s?s.$el:null,u=l?l.$el:null,d=a?a.$el:null,f=d.scrollLeft,h=f!==i,v=function(m,y){m&&(m.scrollLeft=y)},p=[{$table:r,isX:h,isY:!1,scrollLeft:f,scrollTop:u.scrollTop,type:"footer"},t];r.lastScrollTime=Date.now(),r.lastScrollLeft=f,v(c,f),v(u,f),o&&h&&r.triggerScrollXEvent(t),Q(r,"scroll",p)},buildParamFunc:function(t){var r=t.$columnIndex,n=t.$rowIndex,i=t.$table,o=t.allAlign,l=t.allColumnOverflow,a=t.allFooterAlign,s=t.column,c=t.footerData,u=t.footerSpanMethod,d=t.tableListeners,f=s.showOverflow,h=s.footerAlign,v=s.align,p=s.footerClassName,g=s.fixed,m=ut(f)?l:f,y=h||v||a||o,b=m==="ellipsis",C=m==="title",w=m===!0||m==="tooltip",$=C||w||b,O={"data-colid":s.id},E={},A=i.getColumnIndex(s),D={$table:i,$rowIndex:n,column:s,columnIndex:A,$columnIndex:r};return r0({$table:i,params:D,showTitle:C,showTooltip:w,tfOns:E}),t0({$table:i,showTooltip:w,tfOns:E}),e0({$table:i,params:D,tableListeners:d,tfOns:E}),Qy({$table:i,params:D,tableListeners:d,tfOns:E}),Jy({attrs:O,footerData:c,footerSpanMethod:u,params:D}),{attrs:O,columnIndex:A,fixedHiddenColumn:g,footAlign:y,footerClassName:p,hasEllipsis:$,isShowEllipsis:b,isShowTitle:C,showTooltip:w,params:D,tfOns:E}}}});mr.install=function(e){e.component(mr.name,mr)};var _l=function(t){return function(r){var n="[tiny-grid] "+(B.i18n(r)||r);return la(n,t),n}},rt=_l("warn"),De=_l("error"),Tt={FULLDATETIME:"yyyy-MM-dd hh:mm:ss.SSS",LONGDATETIME:"yyyy-MM-dd hh:mm:ss",DATETIME:"yyyy-MM-dd hh:mm",DATE:"yyyy-MM-dd",FULLTIME:"hh:mm:ss.SSS",LONGTIME:"hh:mm:ss",TIME:"hh:mm",YEARMONTH:"yyyy-MM"},Et=function(t,r){var n=z({dateFormat:r},this.own.formatConfig);if(t)if(typeof t=="string"){if(n.valueFormat)t=Xn(t,n.valueFormat);else if(rt("ui.grid.error.missingValueFormat"),isNaN(Date.parse(t)))return t}else typeof t=="number"&&(t=new Date(t));if(n.isutc8){if(!t)return t;var i=0-new Date().getTimezoneOffset()/60,o=ya(io(t)?t:new Date(Xn(t)),i,n.timezone||8);return Ca(o,n.dateFormat)}return wa(t,n.dateFormat,n.timezone)},l0={money:function(t){var r="$",n=z({fraction:2,flag:r+"{0}"},this.own.formatConfig);return da(t,n.fraction,n.flag,"")},enum:function(t){var r=z({label:"label",value:"value"},this.own.formatConfig),n=Array.isArray(r.data)&&ue(r.data,function(i){return i[r.value]===t});return n?n[r.label]:""},select:function(t){var r=this.editor,n=r.options,i=r.optionGroups,o=r.optionProps,l=o===void 0?{}:o,a=r.optionGroupProps,s=a===void 0?{}:a,c=this.own.formatConfig;if(ut(t)||t==="")return"";var u,d=l.label||"label",f=l.value||"value";if(i){for(var h=s.options||"options",v=0;v<i.length&&(u=ue(i[v][h],function(p){return p[f]===t}),!u);v++);return u?u[d]:null}else return!n&&c&&c.async&&c.data&&(n=c.data),u=ue(n,function(p){return p[f]===t}),u?u[d]:null},number:function(t){var r=z({fraction:2},this.own.formatConfig);return fa(t,r.fraction,!1,"")},integer:function(t){return ha(t,"")},filesize:function(t){var r=z({},this.own.formatConfig);return va(t,r.unit,r.currUnit)},date:function(t){return Et.call(this,t,Tt.DATE)},dateTime:function(t){return Et.call(this,t,Tt.DATETIME)},longDateTime:function(t){return Et.call(this,t,Tt.LONGDATETIME)},time:function(t){return Et.call(this,t,Tt.TIME)},longTime:function(t){return Et.call(this,t,Tt.LONGTIME)},yearMonth:function(t){return Et.call(this,t,Tt.YEARMONTH)},ellipsis:function(t){var r=z({},this.own.formatConfig);return function(n){return n("div",{class:"data-ellipsis"},[n("span",{domProps:{title:t}},pa(t,r.len))])}},rate:function(t){var r=z({fraction:2,total:1,section:[30,60,90]},this.own.formatConfig),n=r.rateMethod,i,o=r.total,l=function(v,p){var g;return p.max&&typeof p.max=="number"&&typeof v=="number"&&(o=1,g=Gn(v/p.max,o,r.fraction)),g},a=l(t,r);typeof n=="function"?i=n.call(this,t,Object.assign({formatTotal:o},r)):i=Gn(t,o,r.fraction),a=a||i;var s=r.section,c="";if(s){var u=parseInt(a,10);if(!ga(u))return i;if(u===100)c=" tiny-grid__chart-completed";else{var d={0:" tiny-grid__chart-danger",1:" tiny-grid__chart-warning",2:" tiny-grid__chart-normal"};Array.isArray(s)||(s=s.split(","));for(var f=0;f<s.length;f++)if(u<s[f]){c=d[f];break}}}return function(h){return h("div",{class:"tiny-grid__data-rate"},[h("div",{class:"tiny-grid__rate-chart"+c,style:{width:a}}),h("span",{class:"tiny-grid__rate-text"},i)])}},boole:function(t){var r={trueValue:!0,falseValue:!1,htmlView:!0,noFork:!1},n=Object.assign(r,this.own.formatConfig),i=ut(n.trueValue)?ma(t):t===n.trueValue;if(!n.htmlView)return i;if(n.noFork&&!t)return"";var o=i?ro():Or();return function(l){return l("div",{class:"tiny-grid__data-boole"},[l(o,{class:["tiny-svg-size",i?"icon-yes":"icon-close"]})])}}};function a0(e){var t=e.editor,r=e.formatConfig,n=e.formatText,i=n||r.type;return!i&&t&&t.component==="select"&&(i="select"),i}function s0(e){var t=e.$table,r=e.cacheFormat,n=e.row,i,o;return r&&(i=t.fullAllDataRowMap.get(n),o=i.formatData,o||(o=t.fullAllDataRowMap.get(n).formatData={})),{rest:i,formatData:o}}function c0(e){var t=e.async,r=e.cellValue,n=e.colid,i=e.formatData,o=e.rest;return o&&i[n]&&i[n].value===r&&(!t||i[n].label)}function u0(e){var t=e.cellLabel,r=e.cellValue,n=e.column,i=e.formatText,o=e.hasCacheVal,l=e.params,a=e.renderType,s=e.row;if(!o){var c=s[B.constant.insertedField+n.property],u={cellValue:r};c&&(u.cellLabel=c),t=Ut(a)?l0[a].call(n,r):i(Object.assign(u,l))}return t}function d0(e){var t=e.cellLabel,r=e.cellValue,n=e.colid,i=e.formatData;i&&(i[n]={value:r,label:t})}var kr=function(t,r,n){var i=r.formatText,o=r.editor,l=r.own.formatConfig,a=l===void 0?{}:l,s=zt(t,r),c=s,u=a0({editor:o,formatConfig:a,formatText:i});if(n&&u){var d=n.$table,f=r.id,h=r.own.formatConfig,v=h===void 0?{}:h,p=v.async===!0,g=d&&d.fullAllDataRowMap.has(t),m=s0({$table:d,cacheFormat:g,row:t}),y=m.rest,b=m.formatData,C=c0({async:p,cellValue:s,colid:f,formatData:b,rest:y});if(C)return b[f].label;c=u0({cellLabel:c,cellValue:s,column:r,formatText:i,hasCacheVal:C,params:n,renderType:u,row:t}),d0({cellLabel:c,cellValue:s,colid:f,formatData:b})}return c},NS=Object.freeze(Object.defineProperty({__proto__:null,error:De,getCellLabel:kr,warn:rt},Symbol.toStringTag,{value:"Module"})),zn="_$children_",Nn="_$show_",bt=new WeakMap,er=new WeakMap,Tr=new WeakMap,f0=0,Fi=function(){return"row_"+ ++f0},kl=function(t){return Array.isArray(t)&&t.length},h0=function(t){return bt.has(t)||bt.set(t,In(t)),bt.get(t)},Er=function(t){return bt.has(t)||h0(t),bt.get(t)},Vt=function(t){$0(t),Tl(t)},v0=function(t){var r=t.afterFullData,n=t.scrollYLoad,i=t.treeConfig,o=t.treeExpandeds;if(!(!n||!i)){var l=[],a=[],s=function(h){return~o.indexOf(h)},c=i.children,u=function(h,v){return kl(h)&&h.forEach(function(p){return d(p,v)})},d=function(h,v){v.push([].concat(a,[h])),s(h)&&(a.push(h),u(h[c],v),a.pop())};return u(r,l),l}},p0=function(t){var r=t.afterFullData,n=t.scrollYLoad,i=t.treeConfig,o=t._subTree;if(!(!n||!i)){var l=i.children,a=i.temporaryChildren,s=a===void 0?zn:a,c=i.temporaryShow,u=c===void 0?Nn:c,d=function(v){return kl(v)&&v.forEach(function(p){return f(p)})},f=function(v){v[u]=!1,v[s]=[],d(v[l])};d(o||r)}},g0=function(t){p0(t);var r=El(t),n=t.scrollYStore,i=t.treeConfig,o=n.renderSize,l=n.startIndex,a=r.slice(l,l+o),s=[],c=i.temporaryChildren,u=c===void 0?zn:c,d=i.temporaryShow,f=d===void 0?Nn:d,h=function(p,g){return!p.includes(g)&&p.push(g)};return a.forEach(function(v){for(var p=v.length-1,g=p;g>-1;g--)g===p?v[g][f]=!0:(v[g][u]||(v[g][u]=[]),h(v[g][u],v[g+1]));h(s,v[0])}),t._subTree=s,s},m0=function(t){var r=t.afterFullData,n=t.scrollYLoad,i=t.scrollYStore,o=t.treeConfig,l=i.renderSize,a=i.startIndex,s;return n?o?s=g0(t):s=r.slice(a,a+l):s=r.slice(0),s},Tl=function(t){var r=t.afterFullData,n=t.scrollYLoad,i=t.treeConfig,o=r.length;n&&i&&(o=El(t).length),er.set(t,o)},Pi=function(t){var r=t.afterFullData,n=t.scrollYLoad,i=t.scrollLoad,o=t.treeConfig,l=r.length;return n&&o&&(er.get(t)||Tl(t),l=er.get(t)),i&&(l=i.pageSize||10),l},b0=function(t){var r=t.scrollYLoad,n=t.treeConfig;if(n){var i=n.children,o=n.temporaryChildren,l=o===void 0?zn:o;return r&&(i=l),i}},y0=function(t){var r=t.scrollYLoad,n=t.treeConfig;if(n){var i="",o=n.temporaryShow,l=o===void 0?Nn:o;return r&&(i=l),i}},C0=function(t){var r=t.lastStartIndex,n=t.renderSize,i=t.scrollXLoad,o=t.startIndex,l=t.tableColumn,a=t.columnStore,s=t.treeConfig,c=t.visibleColumn,u=t.visibleColumnChanged,d=a.leftList,f=a.rightList,h=l,v=r,p=u,g=!1;return i&&s?(u||!~r||r!==o)&&(h=c.slice(o,o+n),v=o,p=!1,g=!0):(h=c.slice(o,o+n),g=!0),h=Array.from(new Set([].concat(d,h,f))),{tableColumn:h,lastStartIndex:v,visibleColumnChanged:p,sliced:g}},w0=function(t){return t._sliceColumnTree&&(t._sliceColumnTree=null)},S0=function(t){bt.has(t)&&bt.delete(t),er.has(t)&&er.delete(t),Tr.has(t)&&Tr.delete(t),w0(t)},$0=function(t){return Tr.set(t,v0(t))},El=function(t){return Tr.get(t)},x0=function(t){var r=t.collectColumn,n=[],i=[],o=new WeakMap,l=1,a=function f(h,v,p){for(var g=function(){var b=h[m];if(s(b,p),b.rowSpan=1,b.colSpan=1,p.length===0&&o.set(b,b.fixed||""),Array.isArray(b.children)&&b.children.length)p.push(b),f(b.children,v,p),p.pop();else{var C=[].concat(p,[b]);v.push(C),C.length>1&&C.slice(1).forEach(function(w){var $=w.fixed,O=C[0],E=o.get(O);$&&(E&&E!==$?rt("ui.grid.error.groupColumnFixedError"):E||o.set(O,$))})}},m=0;m<h.length;m++)g()},s=function(h,v){h.level=v.length+1,h.level>l&&(l=h.level)},c=function(h){h.forEach(function(v){var p=v[v.length-1];p.rowSpan=l-p.level+1})},u=function(h){for(var v=0;v<n.length;v++){var p=n[v];if(p[p.length-1]===h)return p}},d=function(h){h.forEach(function(v){var p=v[0];v.forEach(function(g){g.fixed=o.get(p)})})};return a(r,n,i),c(n),d(n),t.columnChart=n,function(){var f=t.tableColumn,h=[],v=[];return f.forEach(function(p){v.push(u(p))}),v.forEach(function(p){p.forEach(function(g){var m=g.level-1;h[m]||(h[m]=[]);var y=h[m];y[y.length-1]===g?g.colSpan+=1:(y.push(g),g.colSpan=1)})}),h}},_0=function(t){return t.isGroup&&(t._sliceColumnTree=x0(t))},Il=function(t){var r=t.$table,n=t.bodyElem,i=t.leftList,o=t.rightList;if(!(!r||!n)){var l=n.scrollLeft;if(i.length&&(l===0?ge(r.$el,"tiny-grid-fixed__left"):pe(r.$el,"tiny-grid-fixed__left")),o.length){var a=n.scrollWidth-n.clientWidth-n.scrollLeft;a===0?ge(r.$el,"tiny-grid-fixed__right"):pe(r.$el,"tiny-grid-fixed__right")}}},Ol=function(t){return t._isResize||t.lastScrollTime&&Date.now()<t.lastScrollTime+t.optimizeOpts.delayHover},Pe={colEdit:"col__edit",colIndex:"col__index",colRadio:"col__radio",colSelection:"col__selection",colEllipsis:"col__ellipsis",editVisible:"edit__visible",fixedColumn:"fixed__column",colDirty:"col__dirty",colActived:"col__actived",rowNew:"row__new",rowSelected:"row__selected",rowActived:"row__actived",isScrollload:"is__scrollload"},Hi=function(t,r){var n=t("span",{class:"tiny-grid-border-top",ref:r+"Top"}),i=t("span",{class:"tiny-grid-border-right",ref:r+"Right"}),o=t("span",{class:"tiny-grid-border-bottom",ref:r+"Bottom"}),l=t("span",{class:"tiny-grid-border-left",ref:r+"Left"});return t("div",{class:"tiny-grid-"+r+"ed-borders",ref:r+"Borders"},[n,i,o,l])};function k0(e){var t,r,n,i=e.attrs,o=e.cellAlign,l=e.cellClassName,a=e.className,s=e.column,c=e.columnActived,u=e.columnIndex,d=e.columnKey,f=e.editor,h=e.fixedHiddenColumn,v=e.hasEllipsis,p=e.isDirty,g=e.params,m=e.tdOns,y=e.validError,b=e.validated,C=e.columnStore,w=C.leftList,$=C.rightList;return{class:["tiny-grid-body__column",s.id,(t={},t["col__"+o]=o,t[Pe.colEdit]=f,t[Pe.colIndex]=s.type==="index",t[Pe.colRadio]=s.type==="radio",t[Pe.colSelection]=s.type==="selection",t[Pe.colEllipsis]=v,t[Pe.editVisible]=f&&f.type==="visible",t[Pe.fixedColumn]=h,t[Pe.colDirty]=p,t[Pe.colActived]=c,t["col__valid-error"]=y&&b,t["col__valid-success"]=c?!y&&!b:p&&!b,t.col__treenode=s.treeNode,t["fixed-left-last__column"]=s.fixed==="left"&&w[w.length-1]===s,t["fixed-right-first__column"]=s.fixed==="right"&&$[0]===s,t),Pt(a,g),Pt(l,g)],style:h?{left:((r=s.style)==null?void 0:r.left)+"px",right:((n=s.style)==null?void 0:n.right)+"px"}:null,key:d?s.id:u,attrs:i,on:m}}function T0(e){var t=e.h,r=e.hasDefaultTip,n=e.params,i=e.row,o=e.validError,l=e.column,a=e.$table,s=e.showEllipsis,c=e.showTip,u=e.showTitle,d=e.showTooltip,f=e.validStore,h=a.validOpts,v=[],p=null;return r&&(p=[null],o&&(p=t("div",{class:"tiny-grid-cell__valid",style:f.rule&&f.rule.width?{width:f.rule.width+"px"}:null},[h!=null&&h.icon?t(h.icon,{class:"tiny-grid-cell__valid-icon"}):null,t("span",{class:"tiny-grid-cell__valid-msg",attrs:{title:f.content}},f.content)]))),v=[t("div",{class:["tiny-grid-cell",{"tiny-grid-cell__title":u,"tiny-grid-cell__tooltip":d||c,"tiny-grid-cell__ellipsis":s}],attrs:{title:u?kr(i,l,n):null}},a.isShapeTable?l.renderCell(t,n):null),p],v}function E0(e){var t=e.cellAlign,r=e.column;return~["radio","selection","index"].indexOf(r.type)&&(t=t||"center"),t}function I0(e){var t=e.hasEllipsis,r=e.scrollXLoad,n=e.scrollYLoad,i=e.showEllipsis;return(r||n)&&!t&&(i=!0),i}function O0(e){var t=e.$table,r=e.evntParams,n=e.showTip,i=e.showTitle,o=e.showTooltip,l=e.tableListeners,a=e.tdOns;(n||i||o||l["cell-mouseenter"])&&(a.mouseenter=function(s){Ol(t)||(r.cell=s.currentTarget,i?Mn(s):(n||o)&&t.triggerTooltipEvent(s,r),Q(t,"cell-mouseenter",[r,s]))})}function M0(e){var t=e.$table,r=e.evntParams,n=e.showTip,i=e.showTooltip,o=e.tableListeners,l=e.tdOns;(n||i||o["cell-mouseleave"])&&(l.mouseleave=function(a){Ol(t)||((n||i)&&t.clostTooltip(),r.cell=a.currentTarget,Q(t,"cell-mouseleave",[r,a]))})}function A0(e){var t=e.$table,r=e.evntParams,n=e.mouseConfig,i=e.tdOns;(n.checked||n.selected)&&(i.mousedown=function(o){r.cell=o.currentTarget,t.triggerCellMousedownEvent(o,r)})}function D0(e){var t=e.$table,r=e.column,n=e.editConfig,i=e.editor,o=e.evntParams,l=e.expandConfig,a=e.highlightCurrentRow,s=e.mouseConfig,c=e.radioConfig,u=e.selectConfig,d=e.tableListeners,f=e.tdOns,h=e.treeConfig,v=function(g,m){return m==="row"||g(r)&&m==="cell"};(a||d["cell-click"]||s.checked||i&&n||v(function(){return!0},l.trigger)||v(function(p){var g=p.type;return g==="radio"},c.trigger)||v(function(p){var g=p.type;return g==="selection"},u.trigger)||v(function(p){var g=p.treeNode;return g},h.trigger))&&(f.click=function(p){o.cell=p.currentTarget,t.triggerCellClickEvent(p,o)})}function L0(e){return function(t){var r=t.row,n=t.$rowIndex,i=t.column,o=t.data,l=[];e&&e.forEach(function(d){i.visible&&l.push(d.field)});var a=r[i.property];if(a&&~l.indexOf(i.property)){var s=o[n-1],c=o[n+1];if(s&&s[i.property]===a)return{rowspan:0,colspan:0};for(var u=1;c&&c[i.property]===a;)c=o[++u+n];if(u>1)return{rowspan:u,colspan:1}}}}function R0(e){var t=e.$table,r=e.evntParams,n=e.tableListeners,i=e.tdOns,o=e.triggerDblclick;(o||n["cell-dblclick"])&&(i.dblclick=function(l){r.cell=l.currentTarget,t.triggerCellDBLClickEvent(l,r)})}function F0(e){var t=e.attrs,r=e.params,n=e.rowSpan,i=e.spanMethod,o=L0(n);if(i||n){var l=(i?i(r):o(r))||{},a=l.rowspan,s=a===void 0?1:a,c=l.colspan,u=c===void 0?1:c;if(!s||!u)return!1;t.rowspan=s,t.colspan=u}return!0}function P0(e){var t=e.$table,r=e.column,n=e.editConfig,i=e.isDirty,o=e.row,l=n||{},a=l.showStatus,s=a===void 0?!1:a,c=l.relationFields,u=c===void 0?!0:c,d=u===!0||Array.isArray(u)&&u.includes(r.property);return n&&s&&r.property&&(r.editor||u&&d)&&(i=t.hasRowChange(o,r.property)),i}var H0=function(t){var r=t.$columnIndex,n=t.$rowIndex,i=t.$table,o=t.column,l=t.columnIndex,a=t.row,s=t.rowIndex,c=t.rowLevel,u=t.seq,d=i.editConfig,f=i.expandConfig,h=f===void 0?{}:f,v=i.radioConfig,p=v===void 0?{}:v,g=i.showOverflow,m=i.highlightCurrentRow,y=i.mouseConfig,b=y===void 0?{}:y,C=i.scrollXLoad,w=i.scrollYLoad,$=i.selectConfig,O=$===void 0?{}:$,E=i.tableListeners,A=i.treeConfig,D=A===void 0?{}:A,P={},R=o.fixed,X=o.editor,G=o.showOverflow,j=o.showTip,k=ut(G)?g:G,_=k==="title",I=k===!0||k==="tooltip",F=k==="ellipsis",N=_||I||F,H=X&&d&&d.trigger==="dblclick",V={$columnIndex:r,$rowIndex:n,$table:i,column:o,columnIndex:l};Object.assign(V,{isHidden:R,level:c,row:a,rowIndex:s,seq:u});var K=z({showTip:j},V);F=I0({hasEllipsis:N,scrollXLoad:C,scrollYLoad:w,showEllipsis:F}),O0({$table:i,evntParams:K,showTip:j,showTitle:_,showTooltip:I,tableListeners:E,tdOns:P}),M0({$table:i,evntParams:K,showTip:j,showTooltip:I,tableListeners:E,tdOns:P}),A0({$table:i,evntParams:K,mouseConfig:b,tdOns:P});var Y={$table:i,column:o,editConfig:d,editor:X,evntParams:K,expandConfig:h,highlightCurrentRow:m};return Object.assign(Y,{mouseConfig:b,radioConfig:p,selectConfig:O,tableListeners:E,tdOns:P,treeConfig:D}),D0(Y),R0({$table:i,evntParams:K,tableListeners:E,tdOns:P,triggerDblclick:H}),{commonParams:V,args:Y,cellOverflow:k,showTitle:_,showTooltip:I,showEllipsis:F,hasEllipsis:N,tdOns:P,fixedHiddenColumn:R}};function Ml(e){var t=e.$seq,r=e.$table,n=e.column,i=e.columnIndex,o=e.h,l=e.row,a=r.align,s=r.cellClassName,c=r.columnKey,u=r.editConfig,d=r.editRules,f=r.editStore,h=r.rowId,v=r.rowSpan,p=r.height,g=r.tableData,m=r.validOpts,y=r.validStore,b=r.validatedMap,C=r.spanMethod,w=r.columnStore,$={},O=$.isDirty,E=$.attrs,A=E===void 0?{"data-colid":n.id}:E,D=m.isMessageDefault,P=m.isMessageInline,R=f.actived,X=b[n.id+"-"+l[h]],G=y.row===l&&y.column===n,j=d&&(D?p||g.length>1:P),k=n.align,_=n.className,I=n.editor,F=n.showTip,N=k||a,H=u&&I&&R.row===l&&(R.column===n||u.mode==="row"),V=H0(e),K=V.commonParams,Y=V.args,Ce=V.showTitle,we=V.showTooltip,Fe=V.showEllipsis,ft=V.tdOns,ht=ft===void 0?{}:ft,Fr=V.hasEllipsis,Bl=V.fixedHiddenColumn,Pr=z({$seq:t,data:g},K);if(N=E0({cellAlign:N,column:n}),!!F0({attrs:A,params:Pr,rowSpan:v,spanMethod:C})){O=P0({$table:r,column:n,editConfig:u,isDirty:O,row:l}),Y={attrs:A,cellAlign:N,cellClassName:s,className:_,column:n,columnActived:H,columnIndex:i,columnKey:c,editor:I,columnStore:w},Object.assign(Y,{fixedHiddenColumn:Bl,hasEllipsis:Fr,isDirty:O,params:Pr,tdOns:ht,validError:G,validated:X});var Vl=k0(Y);Y={column:n,h:o,hasDefaultTip:j,params:Pr,row:l,$table:r},Object.assign(Y,{showEllipsis:Fe,showTip:F,showTitle:Ce,showTooltip:we,validError:G,validStore:y});var jl=T0(Y);return o("td",Vl,jl)}}function z0(e){var t=e.closeable,r=e.currentIcon,n=e.field,i=e.group,o=e.render,l=e.row,a=e.tableColumn,s=e.targetColumn,c=e.tds,u=e.title;for(var d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var f=a[d];if(~["index","selection"].indexOf(f.type))c.push(T("td",null,null));else{var h=l[n],v=u||s&&lt(Ye(s.title))||h,p=void 0;o?p=o(x,{value:h,header:v,children:i.children,expand:!i.fold}):p=[T("span",{class:"row-group-title"},[v]),":"+h,T("span",{class:"tiny-badge"},[i.children.length])],c.push(T("td",{colspan:a.length-d,class:"tiny-grid-body__column"},[T("div",{class:"tiny-grid-cell-group"},[[t?r:null].concat(p)])]));break}}}function N0(e){var t=e.groupData,r=e.groupFolds,n=e.row,i=e.rowGroup,o=e.rowid,l=e.rows,a=e.tableColumn;if(t[o]){var s=i.title,c=i.field,u=i.closeable,d=u===void 0?!0:u,f=i.render,h=i.className,v={},p=v.group,g=p===void 0?t[o]:p,m=v.tds,y=m===void 0?[]:m,b=v.ChevronRight,C=b===void 0?bn():b,w=v.ChevronDown,$=w===void 0?po():w,O=ue(a,function(A){return A.property===c}),E=g.fold?T(C,{class:"tiny-svg-size"},null):T($,{class:"tiny-svg-size"},null);z0({closeable:d,currentIcon:E,field:c,group:g,render:f,row:n,tableColumn:a,targetColumn:O,tds:y,title:s}),l.push(T("tr",{class:["tiny-grid-body__row","group",h],onClick:function(){d&&(g.fold=!g.fold,g.children.forEach(function(D){var P=r.indexOf(D);P>-1?r.splice(P,1):r.push(D)}))}},[y]))}}function B0(e){var t,r=e.$rowIndex,n=e.$seq,i=e.$table,o=e._vm,l=e.editStore,a=e.groupFolds,s=e.h,c=e.row,u=e.rowActived,d=e.rowClassName,f=e.rowIndex,h=e.rowKey,v=e.rowLevel,p=e.rowid,g=e.rows,m=e.selection,y=e.seq,b=e.tableColumn,C=e.trOn,w=e.treeConfig,$=e.isNotRenderRow;$||g.push(s("tr",{class:["tiny-grid-body__row",(t={},t["row__level-"+v]=w,t[Pe.rowNew]=l.insertList.includes(c),t[Pe.rowSelected]=m.includes(c),t["tiny-hide"]=a.includes(c),t[Pe.rowActived]=u,t),d?_e(d)?d({$table:i,$seq:n,seq:y,rowLevel:v,row:c,rowIndex:f,$rowIndex:r}):d:""],attrs:{"data-rowid":p},key:h||w?p:r,on:C},b.map(function(O,E){var A=i.getColumnIndex(O),D={$columnIndex:E,$rowIndex:r,$seq:n,$table:i,_vm:o,column:O,columnIndex:A};return Object.assign(D,{h:s,row:c,rowIndex:f,rowLevel:v,seq:y}),Ml(D)})))}function V0(e){var t=e.$table,r=e.h,n=e.row,i=e.rowIndex,o=e.rows,l=e.tableData;typeof t.renderRowAfter=="function"&&t.renderRowAfter({rows:o,row:n,data:l,rowIndex:i,renderColumn:Ml},r)}function j0(e){var t=e.$table,r=e.expandMethod,n=e.expandeds,i=e.h,o=e.row,l=e.rowIndex,a=e.rowLevel,s=e.rowid,c=e.rows,u=e.seq,d=e.tableColumn,f=e.trOn,h=e.treeConfig;if(n.length&&n.includes(o)&&(typeof r!="function"||r(o,a))){var v=ue(d,function(y){return y.type==="expand"}),p=t.getColumnIndex(v),g;if(h&&(g={paddingLeft:a*(h.indent||16)+30+"px"}),v){var m={$table:t,seq:u,row:o,rowIndex:l,column:v,columnIndex:p,level:a};c.push(i("tr",{class:"tiny-grid-body__expanded-row",key:"expand_"+s,on:f},[i("td",{class:"tiny-grid-body__expanded-column",attrs:{colspan:d.length}},[i("div",{class:"tiny-grid-body__expanded-cell",style:g},[v.renderData(i,m)])])]))}}}function W0(e,t){var r=e.$seq,n=e.$table,i=e._vm,o=e.h,l=e.row,a=e.rowLevel,s=e.rows,c=e.seq,u=e.seqCount,d=e.tableColumn,f=e.treeConfig,h=e.treeExpandeds,v=n.scrollYLoad;if(!(!f||!h.length)){var p=b0({scrollYLoad:v,treeConfig:f}),g=l[p];if(!(!g||!g.length||!~h.indexOf(l))){var m={h:o,_vm:i,$table:n,$seq:r?r+"."+c:""+c,rowLevel:a+1,tableData:g,tableColumn:d,seqCount:u};s.push.apply(s,t(m))}}}function Al(e){var t=e.h,r=e._vm,n=e.$table,i=e.$seq,o=e.rowLevel,l=e.tableData,a=e.tableColumn,s=e.seqCount,c=n.rowKey,u=n.rowClassName,d=n.treeConfig,f=n.treeExpandeds,h=n.groupFolds,v=n.groupData,p=n.scrollYLoad,g=n.scrollYStore,m=n.editConfig,y=n.editStore,b=n.expandConfig,C=b===void 0?{}:b,w=n.expandeds,$=n.selection,O=n.rowGroup,E=[],A=C.activeMethod,D=g.startIndex,P=d?!!d.ordered:!1;s=s||{value:0};var R=y0({scrollYLoad:p,treeConfig:d}),X=d||{},G=X.hideMethod;return l.forEach(function(j,k){var _={},I=k,F=y.actived,N=m&&F.row===j,H=R&&!j[R]||G&&G(j,o);H||(s.value=s.value+1);var V=P?s.value:I+1;p&&(V+=D),I=n.getRowIndex(j);var K=fe(n,j);N0({groupData:v,groupFolds:h,row:j,rowGroup:O,rowid:K,rows:E,tableColumn:a});var Y={$rowIndex:k,$seq:i,$table:n,_vm:r,editStore:y,groupFolds:h,h:t,row:j,rowActived:N};Object.assign(Y,{rowClassName:u,rowIndex:I,rowKey:c,rowLevel:o,rowid:K,rows:E,selection:$,seq:V}),Object.assign(Y,{tableColumn:a,trOn:_,treeConfig:d,isNotRenderRow:H}),B0(Y),V0({$table:n,h:t,row:j,rowIndex:I,rows:E,tableData:l}),Y={$table:n,expandMethod:A,expandeds:w,h:t,row:j,rowIndex:I,rowLevel:o},Object.assign(Y,{rowid:K,rows:E,seq:V,tableColumn:a,trOn:_,treeConfig:d}),j0(Y),Y={$seq:i,$table:n,_vm:r,h:t,row:j,rowLevel:o,rows:E},Object.assign(Y,{seq:V,seqCount:s,tableColumn:a,treeConfig:d,treeExpandeds:f}),W0(Y,Al)}),E}function G0(e){return[e("p",{class:"tiny-grid__empty-img"}),e("span",{class:"tiny-grid__empty-text"},B.i18n("ui.grid.emptyText"))]}var X0=function(t){var r=t.bodyElem,n=t.footerElem,i=t.headerElem,o=t.isX;o&&i&&(i.scrollLeft=r.scrollLeft),o&&n&&(n.scrollLeft=r.scrollLeft)};function Y0(e){var t=e.$table,r=e._vm,n=e.bodyElem,i=e.event,o=e.headerElem,l=e.isX,a=e.isY,s=e.scrollLeft,c=e.scrollXLoad,u=e.scrollYLoad,d=c&&l;d&&t.triggerScrollXEvent(i),d&&o&&s+n.clientWidth>=n.scrollWidth&&r.$nextTick(function(){n.scrollLeft!==o.scrollLeft&&(o.scrollLeft=n.scrollLeft)}),u&&a&&t.triggerScrollYEvent(i)}function q0(e){var t=e.$slots,r=e.$table,n=e._vm,i=e.isCenterCls,o=e.renderEmpty,l=e.tableData;return x("div",{class:"tiny-grid__empty-block"+(l.length?"":" is__visible")+" "+i,ref:"emptyBlock"},t.empty?t.empty.call(n,{$table:r},x):o?[o(x,r)]:G0(x))}function K0(e){var t=e.keyboardConfig,r=e.mouseConfig,n=null;return(r.checked||t.isCut)&&(n=x("div",{class:"tiny-grid__borders"},[r.checked?Hi(x,"check"):null,t.isCut?Hi(x,"copy"):null])),n}function Z0(e){var t=e.$table,r=e._vm,n=e.tableColumn,i=e.tableData,o=e.tableLayout;return x("table",{class:"tiny-grid__body",style:{tableLayout:o},attrs:{cellspacing:0,cellpadding:0,border:0},ref:"table"},[x("colgroup",{ref:"colgroup"},n.map(function(l,a){return x("col",{attrs:{name:l.id},key:a})})),x("tbody",{ref:"tbody"},Al({h:x,_vm:r,$table:t,$seq:"",rowLevel:0,tableData:i,tableColumn:n}))])}function U0(e){var t=e.scrollLoad;return x("div",{class:"tiny-grid-body__y-space visual",ref:"ySpace"},[t?x("div",{class:"tiny-grid-body__y-scrollbar"}):[null]])}var br=q({name:re+"GridBody",props:{collectColumn:Array,fixedColumn:Array,isGroup:Boolean,size:String,tableColumn:Array,tableData:Array,visibleColumn:Array},mounted:function(){var t=this.$el,r=this.$parent,n=this.$refs,i=r.elemStore,o="main-body-";i[o+"wrapper"]=t,i[o+"table"]=n.table,i[o+"colgroup"]=n.colgroup,i[o+"list"]=n.tbody,i[o+"xSpace"]=n.xSpace,i[o+"ySpace"]=n.ySpace,i[o+"emptyBlock"]=n.emptyBlock,t.onscroll=this.scrollEvent,t._onscroll=this.scrollEvent},updated:function(){var t=this.$parent,r=this.fixedType;!r&&t.updateTableBodyHeight()},setup:function(t,r){var n=r.slots;return Ht(function(){var i=nr().proxy;i.$el._onscroll=null,i.$el.onscroll=null}),{slots:n}},render:function(){var t,r=this.$parent,n=r.$grid,i=r.isCenterEmpty,o=r.keyboardConfig,l=o===void 0?{}:o,a=r.mouseConfig,s=a===void 0?{}:a,c=r.renderEmpty,u=r.scrollLoad,d=r.tableColumn,f=r.tableData,h=r.tableLayout,v=n.slots,p=i?"is__center":"";return x("div",{ref:"body",class:["tiny-grid__body-wrapper","body__wrapper",(t={},t[Pe.isScrollload]=u,t)]},[x("div",{class:"tiny-grid-body__x-space",ref:"xSpace"}),U0({scrollLoad:u}),Z0({$table:r,_vm:this,tableColumn:d,tableData:f,tableLayout:h}),K0({keyboardConfig:l,mouseConfig:s}),q0({$slots:v,$table:r,_vm:this,isCenterCls:p,renderEmpty:c,tableData:f})])},methods:{scrollEvent:function(t){var r=this.$parent,n=r.$refs,i=r.lastScrollLeft,o=r.lastScrollTop,l=r.scrollXLoad,a=r.scrollYLoad,s=r.columnStore,c=s.leftList,u=s.rightList,d=n.tableBody,f=n.tableFooter,h=n.tableHeader,v=h?h.$el:null,p=d.$el,g=f?f.$el:null,m=p.scrollLeft,y=p.scrollTop,b=y!==o,C=m!==i;r.lastScrollTime=Date.now(),r.lastScrollLeft=m,r.lastScrollTop=y,r.scrollDirection=C?"X":"Y",X0({bodyElem:p,footerElem:g,headerElem:v,isX:C}),(c.length||u.length)&&Il({$table:r,bodyElem:p,leftList:c,rightList:u}),Y0({$table:r,_vm:this,bodyElem:p,event:t,headerElem:v,isX:C,isY:b,scrollLeft:m,scrollXLoad:l,scrollYLoad:a}),Q(r,"scroll",[{type:"body",scrollTop:y,scrollLeft:m,isX:C,isY:b,$table:r},t])}}});br.install=function(e){e.component(br.name,br)};var Bn=q({name:re+"GridRadio",emits:["update:modelValue","change"],props:{modelValue:[String,Number],label:[String,Number],disabled:Boolean,name:String,size:String},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize}},setup:function(t,r){var n=r.slots;return{slots:n}},render:function(){var t,r=this,n=this.disabled,i=this.vSize,o=this.modelValue,l=this.label,a=this.name,s=this.slots,c="disabled";return x("label",{class:["tiny-grid-radio",(t={},t["size__"+i]=i,t["is__"+c]=n,t)]},[x("input",{attrs:{type:"radio",name:a,disabled:n},domProps:{checked:o===l},on:{change:function(d){n||(r.$emit("update:modelValue",l),r.$emit("change",l,d))}}}),x("span",{class:"tiny-grid-radio__icon"},[x(co(),{class:["tiny-svg-size","icon-radio"]}),x(uo(),{class:["tiny-svg-size","icon-radio-selected"]})]),s.default?x("span",{class:"tiny-grid-radio__label"},s.default()):null])}});Bn.model={prop:"modelValue",event:"update:modelValue"};yn(Bn);function Xe(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!ka(e)}var J0=function(t){var r=t._vm,n=t.inputFilter,i=!1;typeof n.relations_addby<"u"&&(i=n.relations_addby==="program");var o;return i?o=n.relations_backup:o=n.relations,o||(o=[{label:r.i18n("ui.grid.filter.prefix"),value:"startwith"},{label:r.i18n("ui.grid.filter.equal"),value:"equals"},{label:r.i18n("ui.grid.filter.include"),value:"contains"}]),{isAddbyProgram:i,inputRelations:o}},Q0=function(t){var r,n=t.InputComponent,i=t.condition,o=t.event,l=t.inputFilter,a=t.isNativeInput,s=t.prop,c={style:"width:100%",on:(r={},r[o]=function(f){i.input=f&&f.target?f.target.value:f},r),ref:"filterInputComponent"};if(a){var u;c=Object.assign(c,{domProps:(u={},u[s]=i.input,u),attrs:z({},l.attrs)})}else{var d;n=wt(n),c=Object.assign(c,{props:z({},l.attrs,(d={},d[s]=i.input,d))})}return{inputProps:c,InputComponent:n}},zi=function(t,r,n){var i=ur(),o=dr(),l=fr(),a={class:"tiny-svg-size",tabindex:r};return typeof n>"u"?t?T(i,zr(a,{class:"is-checked"}),null):T(o,a,null):t?T(i,zr(a,{class:"is-checked"}),null):n?T(l,zr(a,{class:"is-checked"}),null):T(o,a,null)},Ni=function(t){var r=t.iconRender,n=t._vm,i=t.filterStore,o=t.selectAll,l=t.searchable,a=i.options.filter(function(u){var d;return(d=u.label)==null?void 0:d.toString().includes(i.searchValue)});if(a.length){var s=a.map(function(u,d){return T("li",{class:["tiny-grid__filter-option",{selected:u.checked}],onClick:function(){i.multi?u.checked=!u.checked:(i.options.forEach(function(h){h.checked=h===u}),n.filterEnum())}},[i.multi?r(u.checked,d+1):null,T("a",{title:u.label},[Qe(" "),u.label,Qe(" ")])])}),c=o&&(!i.multi||!l&&i.multi);return c?[T("li",{class:"tiny-grid__filter-option",onClick:function(){var d=i.options.every(function(f){return f.checked});i.options.forEach(function(f){f.checked=!d}),i.multi||n.filterEnum()}},[i.multi?r(i.options.every(function(u){return u.checked}),0,i.options.some(function(u){return u.checked})):null,T("a",{title:n.i18n("ui.grid.filter.allSelect")},[Qe(" "),n.i18n("ui.grid.filter.allSelect")])])].concat(s):s}else return[T("li",{class:"tiny-grid__filter-empty"},[n.i18n("ui.grid.emptyText")])]},Vn=q({name:re+"GridFilter",props:{filterStore:Object,optimizeOpts:Object},inject:{$grid:{default:null}},watch:{id:function(){this.updatePanel()},visible:function(){this.showAdvance=!1,this.updatePanel()}},data:function(){return{popperJS:null,showAdvance:!1,showAdvItems:!1,listPopper:null}},render:function(){var t=this,r,n=this.filterStore,i=this.$grid,o=this.$parent,l=this.optimizeOpts,a=this.renderInput,s=this.renderEnumable,c=this.renderDefault,u=this.renderExtends,d=this.renderBase,f=this.renderSimple,h=n.args,v=n.column,p=n.options,g=n.layout,m=g===void 0?"input,enum,default,extends,base":g,y={input:a,enum:s,default:c,extends:u,base:d,simple:f},b=m.split(",").map(function(w){return y[w]&&y[w].call(t)}),C={filterActive:"filter__active"};return T("div",{class:["tiny-grid__wrapper","tiny-grid__filter-wrapper","filter__prevent-default",(r={"tiny-grid__animat":l.animat},r[C.filterActive]=n.visible,r["tiny-grid__filter-simple"]=m.includes("simple"),r["filter-wrapper-saas"]=o.isThemeSaas,r)],style:n.style},[n.visible?T("div",{class:["tiny-grid__filter-body",{"show-addvance":this.showAdvance}]},[v.slots&&v.slots.filter?v.slots.filter({$grid:i,values:p,args:h,context:this}):b]):null])},computed:{condition:function(){return this.filterStore.condition},visible:function(){return this.filterStore.visible},id:function(){return this.filterStore.id},i18n:function(){return Ar||this.$t}},methods:{updatePanel:Je(20,function(){var e=this;this.correctRelations();var t=this.filterStore.inputFilter;if(t){var r=t.relations;t!==!0&&!r.filter(function(n){return n.value===e.condition.relation}).length&&this.resetInput()}this.popperJS&&this.popperJS.destroy()&&(this.popperJS=null),this.$nextTick(function(){var n=e.filterStore,i=n.targetElemParentTr,o=n.id,l=i&&i.querySelector("svg.tiny-grid-filter__btn."+o),a=e.$el;a.style.zIndex=mn.nextZIndex(),e.visible&&(e.popperJS=new ca(l,a,{placement:"bottom-end"}).update())})}),renderBase:function(){return T("ul",{class:"tiny-grid__filter-panel filter-panel__clear"},[T("li",{class:"tiny-grid__filter-option",onClick:this.resetFilter},[T("a",{class:"item-content"},[this.i18n("ui.grid.filter.clear")])]),T("li",{class:"tiny-grid__filter-option",onClick:this.clearFilter},[T("a",{class:"item-content"},[this.i18n("ui.grid.filter.clearAll")])])])},renderDefault:function(){var t=this,r=this.condition,n=this.filterStore;return n.defaultFilter?T("ul",{class:"tiny-grid__filter-panel filter-panel__default"},[T("li",{class:["tiny-grid__filter-option",{active:r.empty===!0}],onClick:function(){t.filterNull(!0)}},[T("a",{class:"item-content"},[this.i18n("ui.grid.filter.empty")])]),T("li",{class:["tiny-grid__filter-option",{active:r.empty===!1}],onClick:function(){t.filterNull(!1)}},[T("a",{class:"item-content"},[this.i18n("ui.grid.filter.unempty")])])]):null},renderExtends:function(){var t=this,r=this.filterStore;return r.extends?T("ul",{class:"tiny-grid__filter-panel filter-panel__clear"},[r.extends.map(function(n){return T("li",{class:"tiny-grid__filter-option",onClick:function(){t.filterExtends(n)}},[T("a",{class:"item-content"},[n.label])])})]):null},renderInput:function(){var t,r,n;this.correctRelations();var i=this.condition,o=this.filterStore,l=o.inputFilter;if(!l)return null;var a=J0({_vm:this,inputFilter:l}),s=a.isAddbyProgram,c=a.inputRelations,u=l.component||"input",d=u==="input",f=u.model||{},h=d?"value":f.prop||"modelValue",v=d?"input":f.event||"update:modelValue",p=Q0({InputComponent:u,condition:i,event:v,inputFilter:l,isNativeInput:d,prop:h}),g=p.inputProps;return u=p.InputComponent,T("ul",{class:"tiny-grid__filter-panel"},[s?null:T("li",{class:"tiny-grid__filter-option filter-option__radios"},[c.map(function(m){var y=m.label,b=m.value,C=m.method;return T(Bn,{modelValue:i.relation,label:b,onChange:function($){i.relation=$,i.method=C||function(){return!0}}},Xe(y)?y:{default:function(){return[y]}})})]),T("li",{class:"filter-option__input"},[x(u,g)]),T("li",{class:"tiny-grid__filter-option filter-option__btns"},[T(Te,{type:"primary",onClick:this.filterInput},Xe(t=this.i18n("ui.base.confirm"))?t:{default:function(){return[t]}}),T(Te,{onClick:this.resetInput},Xe(r=this.i18n("ui.base.reset"))?r:{default:function(){return[r]}}),T(Te,{onClick:this.close},Xe(n=this.i18n("ui.base.cancel"))?n:{default:function(){return[n]}})])])},renderEnumable:function(){var t,r,n=this.filterStore;return n.enumable?T("div",{class:"tiny-grid__filter-panel filter-panel__enum"},[T("ul",{class:"tiny-grid__filter-options"},[Ni({iconRender:zi,_vm:this,filterStore:n})]),n.multi?T("div",{class:"tiny-grid__filter-option filter-option__btns"},[T(Te,{type:"primary",onClick:this.filterEnum},Xe(t=this.i18n("ui.base.confirm"))?t:{default:function(){return[t]}}),T(Te,{onClick:function(){n.visible=!1}},Xe(r=this.i18n("ui.base.cancel"))?r:{default:function(){return[r]}})]):null]):null},renderSimple:function(){var t=this.filterStore,r=t.simpleFilter;if(!r)return null;if(r.isDatetime){var n,i,o,l,a,s,c,u,d=r!=null&&(n=r.datetimeConfig)!=null&&n.component?wt(r.datetimeConfig.component):null,f=r==null||(i=r.datetimeConfig)==null?void 0:i.format,h=r==null||(o=r.datetimeConfig)==null?void 0:o.valueFormat,v=r==null||(l=r.datetimeConfig)==null?void 0:l.type,p=r==null||(a=r.datetimeConfig)==null?void 0:a.max,g=r==null||(s=r.datetimeConfig)==null?void 0:s.min,m={disabledDate:function(E){return E.getTime()<g||E.getTime()>p}};return T("div",{class:"tiny-grid__filter-panel filter-panel__enum filter-panel__simple"},[T("div",{class:"tiny-grid__filter-date-title"},[this.i18n("ui.grid.filter.dateTips")]),T("ul",{class:"tiny-grid__filter-date"},[T("li",{class:"tiny-grid__filter-date-item"},[T("span",null,[this.i18n("ui.grid.filter.startDate")]),T(d,{format:f,type:v,"value-format":h,"picker-options":m,class:"tiny-grid__filter-date-pick",onChange:function(E){t.datetimeConfig&&(t.datetimeConfig.startDate=E)},modelValue:t.startDate,"onUpdate:modelValue":function(E){return t.startDate=E}},null)]),T("li",{class:"tiny-grid__filter-date-item"},[T("span",null,[this.i18n("ui.grid.filter.endDate")]),T(d,{format:f,type:v,"value-format":h,"picker-options":m,class:"tiny-grid__filter-date-pick",modelValue:t.endDate,"onUpdate:modelValue":function(E){return t.endDate=E},onChange:function(E){t.datetimeConfig&&(t.datetimeConfig.endDate=E)}},null)])]),T("div",{class:"tiny-grid__filter-option filter-option__btns filter-option__date-button"},[T(Te,{size:"mini",onClick:this.filterDate},Xe(c=this.i18n("ui.base.confirm"))?c:{default:function(){return[c]}}),T(Te,{size:"mini",onClick:function(){t.visible=!1}},Xe(u=this.i18n("ui.base.cancel"))?u:{default:function(){return[u]}})])])}else{var y,b,C,w=oa(),$=r!=null&&(y=r.searchConfig)!=null&&y.component?wt(r.searchConfig.component):null;return T("div",{class:"tiny-grid__filter-panel filter-panel__enum filter-panel__simple"},[$?T($,{modelValue:t.searchValue,"onUpdate:modelValue":function(E){return t.searchValue=E},onChange:function(E){t.searchConfig&&(t.searchConfig.searchValue=E)},class:"tiny-grid__filter-search",clearable:!0},{suffix:function(){return T(w,null,null)}}):null,T("ul",{class:"tiny-grid__filter-options"},[Ni({iconRender:zi,_vm:this,filterStore:t,selectAll:r.selectAll,searchable:!!$})]),t.multi?T("div",{class:"tiny-grid__filter-option filter-option__btns"},[T(Te,{size:"mini",onClick:this.filterEnum},Xe(b=this.i18n("ui.base.confirm"))?b:{default:function(){return[b]}}),T(Te,{size:"mini",onClick:function(){t.visible=!1}},Xe(C=this.i18n("ui.base.cancel"))?C:{default:function(){return[C]}})]):null])}},renderSlot:function(t){var r=this.$parent,n=this.filterStore,i=n.args,o=n.column,l=o.slots;if(l&&l.filter)return l.filter.call(r,z({$table:r,context:this},i),t)},filterCheckAllEvent:function(t,r){var n=this.filterStore;n.options.forEach(function(i){i.checked=r}),n.isAllSelected=r,n.isIndeterminate=!1},resetInput:function(){this.correctRelations();var t=this.filterStore,r=t.inputFilter,n=t.onResetInputFilter;if(r){var i=this.filterStore.inputFilter,o=i.relations,l=i.relation;this.condition.input="",typeof n=="function"&&n(this.$refs.filterInputComponent);var a="equals",s,c;if(Array.isArray(o)&&o.length){this.condition.method=o[0].method,a=o[0].value||"equals";for(var u=0;u<o.length;u++)if(o[u].value==="equals"){a="equals";break}s=o.map(function(d){return d.value}),l&&~s.indexOf(l)&&(c=l)}this.condition.relation=c||a}},confirmFilter:function(t){var r=this.filterStore.column;this.condition.type=t,r.filter.condition=ye(!0,{},this.condition),this.$parent.confirmFilterEvent()},commitFilter:function(){var t=this.filterStore.column;t.filter.condition.type="custom",this.$parent.confirmFilterEvent()},resetFilter:function(){this.condition.value=null,this.condition.input="",this.condition.empty=null,this.condition.value=[],this.condition.type=null,this.resetInput(),this.confirmFilter()},clearFilter:function(){this.$parent.clearFilter(!0)},filterNull:function(t){this.condition.value=[],this.condition.input="",this.condition.empty=t,this.confirmFilter("empty")},filterExtends:function(t){this.condition.value=t.value||t.label,this.condition.method=t.method,this.confirmFilter("extend")},filterInput:function(){this.condition.value=[],this.condition.empty=null,this.confirmFilter("input")},filterDate:function(){var t=this.filterStore,r=t.startDate,n=t.endDate;this.condition.input="",this.condition.value=[],this.condition.empty=null,this.condition.dateList=[r,n],r&&!n?this.condition.relation="greaterThan":!r&&n?this.condition.relation="greaterThan":r&&n&&(this.condition.relation="interveningBetween"),this.confirmFilter("date")},filterEnum:function(){this.condition.input="",this.condition.empty=null,this.condition.value=this.filterStore.options.filter(function(t){return t.checked}).map(function(t){return t.value}),this.confirmFilter("enum")},close:function(){var t=this.filterStore;t.visible=!1},correctRelations:function(){if(this.filterStore&&typeof this.filterStore.inputFilter=="object"){var t=this.filterStore.inputFilter.relations,r=this.filterStore.inputFilter.relation||"equals";(!t||Array.isArray(t)&&t.length===0)&&(this.filterStore.inputFilter.relations=[{label:r,value:r}],this.filterStore.inputFilter.relations_addby="program",this.filterStore.inputFilter.relations_backup=t)}}},setup:function(){var t=nr().proxy;Ht(function(){t.popperJS&&t.popperJS.destroy()&&(t.popperJS=null)})}});function e1(e){var t=e.column,r=e.condition,n=e.method,i=e.property,o=e.row,l={flag:!1,result:null};return n&&r.type==="custom"&&(l.result=n({property:i,row:o,column:t}),l.flag=!0),l}function t1(e){var t=e.column,r=e.condition,n=e.property,i=e.row,o={flag:!1,result:null};if(r.type==="extend"){var l=r.method;typeof l!="function"&&(l=function(){return!0}),o.result=l({value:te(i,n),row:i,column:t}),o.flag=!0}return o}function r1(e,t){if(Array.isArray(t)){for(var r,n=0;n<t.length;n++)if(t[n]&&t[n].value===e){r=t[n].method;break}return r}}function n1(e){var t=e.inputFilter,r=[];return typeof t=="object"&&Array.isArray(t.relations)&&(r=t.relations),r}function i1(e){return!e&&typeof e!="number"&&(e=""),e}function o1(e){var t=e.column,r=e.input,n=e.relation,i=e.relationMethod,o=e.relations,l=e.result,a=e.row,s=e.value;return typeof i!="function"&&(i=r1(n,o)),typeof i=="function"&&(l=i({value:s,input:r,row:a,column:t})),{relationMethod:i,result:l}}function l1(e){var t=e.column,r=e.relationMethod,n=e.relations,i=e.row;return function(o,l,a,s){var c=!1;switch(o=i1(o),a){case"equals":c=o===l;break;case"unequal":c=o!==l;break;case"greaterThan":c=o>l;break;case"lessThan":c=o<l;break;case"equalToGreaterThan":c=o>=l;break;case"equalToLessThan":c=o<=l;break;case"interveningBetween":c=o>=s[0]&&o<=s[1];break;case"contains":c=o.toString().includes(l);break;case"startwith":c=o.toString().indexOf(l)===0;break;case"endwith":c=o.toString().match(new RegExp(l+"$"));break;default:{var u=o1({column:t,input:l,relation:a,relationMethod:r,relations:n,result:c,row:i,value:o});r=u.relationMethod,c=u.result}}return c}}function a1(e){var t=e.checkStr,r=e.empty,n=e.input,i=e.property,o=e.relation,l=e.row,a=e.valueList,s=e.dateList;return function(){var c=te(l,i);if(r===!0)return!c;if(r===!1)return!!c;if(s)return!s[0]&&!s[1]?!0:t(c,s[0]||s[1],o,s);var u=!n&&n!==0||t(c,n,o),d=!a.length||a.includes(c);return u&&d}}function s1(e){if(e&&e.nodeType){if(e instanceof SVGElement)return e.className.baseVal;if(e instanceof HTMLElement)return e.className}return""}function c1(e,t){if(e&&e.nodeType){var r=new RegExp("\\b"+t+"\\b"),n;do{if(n=s1(e).match(r),n)return e;if(e===document.body)break;e=e.parentNode}while(e)}return null}var Vr=function(t){var r={};return t.forEach(function(n){var i=n.property,o=n.filter;if(o){var l=o.condition,a=l.type,s=l.input,c=l.relation,u=l.value,d=l.empty,f=l.dateList;a==="input"?r[i]={type:a,value:{text:s,relation:c}}:a==="enum"?r[i]={type:a,value:u}:a==="empty"?r[i]={type:a,value:d}:a==="custom"?r[i]={type:a}:a==="date"?r[i]={type:a,value:{dateList:f,relation:c}}:a==="extend"?r[i]={type:a,value:u}:a==="extend1"?r[i]={type:a,value:u}:a==="extend2"&&(r[i]={type:a,value:u}),o.hasFilter=u.length||s||(f==null?void 0:f.some(Boolean))||s===0||d!==null||a==="custom"}}),r},u1={filter:function(t,r){var n=this.getColumnByField(t),i=n.filter.options;if(r){var o=r(i);Ee(o)&&(n.filters=Rp(o))}return Promise.resolve(i)},closeFilter:function(){var t=this.filterStore;return Object.assign(t,{visible:!1,targetElem:null,targetElemParentTr:null}),this.$nextTick()},handleLocalFilter:function(t,r){var n=r.property,i=r.filter,o=i.condition,l=i.method,a=i.inputFilter,s=e1({column:r,condition:o,method:l,property:n,row:t});if(s.flag||(s=t1({column:r,condition:o,property:n,row:t}),s.flag))return s.result;var c=o.empty,u=o.input,d=o.relation,f=o.value,h=o.dateList,v=o.method,p=n1({inputFilter:a}),g=l1({column:r,relationMethod:v,relations:p,row:t}),m=a1({checkStr:g,empty:c,input:u,property:n,relation:d,row:t,valueList:f,dateList:h});return m()},getOptions:function(t){var r=t.property,n=t.filter,i=n.values,o=n.value,l=o===void 0?"value":o,a=n.label,s=a===void 0?"label":a,c=n.dataset;if(typeof i=="function")return i({property:r,filter:n});if(c)return fo({dataset:c,service:this.$service});var u=(i||[]).map(function(h){return{label:h[s],value:h[l],checked:!!h.checked}});if(!i){var d={},f=this.getTableData();f.fullData.forEach(function(h){var v=h[r];d[v]||u.push({value:v,label:v,checked:!1}),d[v]=!0})}return Promise.resolve(u)},triggerFilterEvent:function(t,r,n){var i=this.filterStore,o=r.filter,l;if(i.id!==r.id&&i.visible&&this.closeFilter(),o&&typeof o.inputFilter=="object"&&o.inputFilter.relation&&(o.condition.relation==="equals"&&o.inputFilter.relation&&!r.isInitTriggerFlag&&(l=o.inputFilter.relation,r.isInitTriggerFlag=!0),o.condition.relation=l||o.condition.relation),i.column===r&&i.visible)i.visible=!1;else{var a=t.target,s=c1(a,"tiny-grid-header__row");this.getOptions(r).then(function(c){var u,d,f,h,v,p,g,m;Object.assign(i,{args:n,layout:o.layout,enumable:o.enumable,inputFilter:o.inputFilter,simpleFilter:o.simpleFilter,onResetInputFilter:o.onResetInputFilter,extends:o.extends,defaultFilter:Be(o.defaultFilter)?o.defaultFilter:!0,options:c.map(function(y){var b=y.value,C=y.label;return{value:b,label:C,checked:o.condition.value.includes(b)}}),condition:z({},o.condition),multi:Be(o.multi)?o.multi:!0,column:r,visible:!0,targetElem:wr(a),targetElemParentTr:wr(s),id:r.id,searchConfig:(u=o.simpleFilter)==null?void 0:u.searchConfig,datetimeConfig:(d=o.simpleFilter)==null?void 0:d.datetimeConfig,searchValue:((f=o.simpleFilter)==null||(h=f.searchConfig)==null?void 0:h.searchValue)||"",startDate:((v=o.simpleFilter)==null||(p=v.datetimeConfig)==null?void 0:p.startDate)||"",endDate:((g=o.simpleFilter)==null||(m=g.datetimeConfig)==null?void 0:m.endDate)||""})})}},confirmFilterEvent:function(){var t=this,r=this.visibleColumn,n=this.filterStore,i=this.scrollXLoad,o=this.scrollYLoad,l=this.remoteFilter,a=this.lastScrollLeft;n.visible=!1,l||this.handleTableData(!0).then(this.refreshStyle);var s=Vr(r);l&&this.$grid.pagerConfig&&(this.$grid.pagerConfig.currentPage=1),Q(this,"filter-change",[{filters:s,$table:this}]),this.updateFooter();var c=function(){return t.scrollTo(a)};(i||o)&&(i&&this.clearScroll(),o&&this.updateScrollYSpace()),this.closeFilter(),this.clearSelection(),this.$nextTick().then(this.recalculate).then(c)},clearFilter:function(t){var r,n=arguments.length?this.getColumnByField(t):null,i=this.filterStore,o=((r=this.$grid)==null?void 0:r.filterData)||{},l=function(c){var u=c.filter;u&&(u.condition={input:"",relation:"equals",empty:null,value:[]},u.hasFilter=!1,u.custom=null,delete o[c.property])};if(n?l(n):this.visibleColumn.forEach(l),(!n||n!==i.column)&&Object.assign(i,{style:null,options:[],column:null,multi:!1,visible:!1}),t===!0||n){var a=Vr(this.visibleColumn);Q(this,"filter-change",[{filters:a,$table:this}])}return this.clearSelection(),this.updateData()},getAllFilter:function(){return Vr(this.visibleColumn)}};Vn.install=function(e){me._filter=1,Object.assign(e.methods,u1)};var d1=q({name:re+"GridContextMenuChild",props:{item:Object,gIndex:Number,index:Number,show:Boolean,ctxMenuStore:Object,tableInstance:Object},render:function(){var t=this.tableInstance,r=this.item,n=this.gIndex,i=this.index,o=this.show,l=this.ctxMenuStore,a=t.toKebab,s=t.getEventTargetNode;return x("ul",{class:["tiny-grid-menu__clild-wrapper",{show:o}]},r.children.map(function(c,u){return c.visible===!1?[null]:x("li",{class:{link__disabled:c.disabled,link__active:c===l.selectChild},key:n+"_"+i+"_"+u},[x("a",{class:"tiny-grid-menu__link "+a(r.code),on:{click:function(f){t.ctxMenuLinkEvent(f,c)},mouseover:function(f){t.ctxMenuMouseoverEvent(f,r,c)},mouseout:function(f){s(f,document.body,a(r.code)).flag||t.ctxMenuMouseoutEvent(f,r,c)}}},[c.prefixIcon?x(c.prefixIcon,{class:"tiny-grid-menu__link-prefix"}):[null],x("span",{class:"tiny-grid-menu__link-content"},Ye(c.name))])])}))},watch:{show:function(t){var r=this;t&&(this.$el.style.top="0px",this.$nextTick(function(){var n=r.tableInstance,i=r.$el,o=i.getBoundingClientRect(),l=o.width,a=o.height,s=o.bottom,c=ho(),u=c.visibleHeight,d=c.visibleWidth,f=n.$refs.ctxWrapper.$el,h=n.ctxMenuStore.target,v=f.getBoundingClientRect(),p=v.width,g=v.right;if(l+g>d-6?i.style.left=-6-l+"px":i.style.left=p+"px",s>u){var m=h&&h.clientHeight||0;i.style.top=m-a+"px"}}))}}}),f1=function(t){var r=t.tableInstance,n=t.item,i=t.getEventTargetNode,o=t.toKebab;return{click:function(a){r.ctxMenuLinkEvent(a,n)},mouseover:function(a){r.ctxMenuMouseoverEvent(a,n)},mouseout:function(a){i(a,document.body,o(n.code)).flag||r.ctxMenuMouseoutEvent(a,n)}}};function h1(e){var t=e.ctxMenuStore,r=e.gIndex,n=e.getEventTargetNode,i=e.hasChild,o=e.index,l=e.item,a=e.show,s=e.tableInstance,c=e.toKebab,u=[null],d={linkDisabled:"link__disabled",linkActive:"link__active"};if(l.visible!==!1){var f;u=x("li",{class:(f={},f[d.linkDisabled]=l.disabled,f[d.linkActive]=l===t.selected,f),key:r+"_"+o},[x("a",{class:"tiny-grid-menu__link "+c(l.code),on:f1({tableInstance:s,item:l,getEventTargetNode:n,toKebab:c})},[l.prefixIcon?x(l.prefixIcon,{class:"tiny-grid-menu__link-prefix"}):[null],x("span",{class:"tiny-grid-menu__link-content"},Ye(l.name)),x("i",{class:["tiny-grid-menu__link-suffix",i?l.suffixIcon||"suffix__haschild":l.suffixIcon]})]),i?x(d1,{props:{item:l,gIndex:r,index:o,show:a,tableInstance:s,ctxMenuStore:t}}):[null]])}return u}function v1(e){var t=e.ctxMenuStore,r=e.getEventTargetNode,n=e.tableInstance,i=e.toKebab;return function(o,l){return x("ul",{class:"tiny-grid-menu__option-wrapper",key:l},o.map(function(a,s){var c=a.children&&a.children.length,u=a===t.selected&&t.showChild,d={ctxMenuStore:t,gIndex:l,getEventTargetNode:r,hasChild:c};return Object.assign(d,{index:s,item:a,show:u,tableInstance:n,toKebab:i}),h1(d)}))}}var jn=q({name:re+"GridContextMenu",props:{ctxMenuStore:Object},render:function(){var t=this.ctxMenuStore,r=this.$parent,n=r.toKebab,i=r.getEventTargetNode;return x("div",{class:["tiny-grid__wrapper","tiny-grid-menu__wrapper",{show:t.visible}],style:t.style},t.list.map(v1({ctxMenuStore:t,getEventTargetNode:i,tableInstance:r,toKebab:n})))}}),Bi=function(t){for(var r=0;r<t.length;r++){var n=t[r];if(n.visible!==!1)return n}},p1={_closeMenu:function(){return Object.assign(this.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),this.$nextTick()},moveCtxMenu:function(t){for(var r=this,n=t.event,i=t.keyCode,o=t.ctxMenuStore,l=t.property,a=t.operKey,s=t.operRest,c=t.menuList,u=ip(c,function(p){return o[l]===p}),d,f=[{match:function(){return i===a},action:function(){!s||!_r(o.selected)?(o.showChild=!1,o.selectChild=null):o.showChild=!0}},{match:function(){return i===38},action:function(){var g=c.slice(0,u);g=g.reverse(),d=Bi(g),o[l]=d||c[c.length-1]}},{match:function(){return i===40},action:function(){var g=c.slice(u+1);d=Bi(g),o[l]=d||c[0]}},{match:function(){return o[l]&&(i===13||i===32)},action:function(){r.ctxMenuLinkEvent(n,o[l])}}],h=0;h<f.length;h++){var v=f[h];if(v.match()){v.action();break}}},handleGlobalContextmenuEvent:function(t){var r=this.ctxMenuOpts,n=this.ctxMenuStore,i=this.isCtxMenu,o=["header","body","footer"];if(!i){this.closeMenu(),this.closeFilter();return}if(n.visible&&this.$refs.ctxWrapper&&this.getEventTargetNode(t,this.$refs.ctxWrapper.$el).flag){t.preventDefault();return}for(var l=0;l<o.length;l++){var a=o[l],s=this.getEventTargetNode(t,this.$el,"tiny-grid-"+a+"__column"),c={$table:this,columns:this.visibleColumn.slice(0),type:a};if(s.flag){var u,d=s.targetElem,f=(u=this.getColumnNode(d))==null?void 0:u.item;if(!f)return;var h=a+"-";if(Object.assign(c,{cell:d,column:f,columnIndex:this.getColumnIndex(f)}),a==="body"){var v=this.getRowNode(d.parentNode).item;h="",Object.assign(c,{row:v,rowIndex:this.getRowIndex(v)})}this.openContextMenu(t,a,c),Q(this,h+"cell-context-menu",[c,t]);return}if(s=this.getEventTargetNode(t,this.$el,"tiny-grid__"+a+"-wrapper"),s.flag){r.trigger==="cell"?t.preventDefault():this.openContextMenu(t,a,c);return}}this.closeMenu(),this.closeFilter()},openContextMenu:function(t,r,n){var i=this,o=this.ctxMenuOpts,l=this.ctxMenuStore,a=o.visibleMethod,s=o[r];if(!s){this.closeFilter();return}var c=s.disabled,u=s.options;if(c){t.preventDefault(),this.closeFilter();return}if(!u||!u.length){this.closeFilter();return}n.options=u;var d=function(){if(a&&!a(n,t)){i.closeMenu();return}t.preventDefault();var h=ho(),v=h.scrollLeft,p=h.scrollTop,g=h.visibleHeight,m=h.visibleWidth,y=t.clientX,b=t.clientY,C=y+v,w=b+p,$={left:C+"px",top:w+"px"};Object.assign(l,{args:n,list:u,selected:null,selectChild:null,showChild:!1,style:$,visible:!0});var O=function(){var A=i.$refs.ctxWrapper.$el,D=A.clientWidth,P=A.clientHeight,R=y+D-m,X=b+P-g;R>-10&&(l.style.left=C-D+"px"),X>-10&&(l.style.top=w-P+"px")};i.$nextTick(O)};this.preventEvent(t,"event.show_menu",n,null,d),this.closeFilter()},ctxMenuMouseoverEvent:function(t,r,n){var i=this.ctxMenuStore;t.preventDefault(),t.stopPropagation(),Object.assign(i,{selectChild:n,selected:r,target:t.target}),!n&&(i.showChild=_r(r))},ctxMenuMouseoutEvent:function(t,r){var n=this.ctxMenuStore;!r.children&&(n.selected=null),Object.assign(n,{selectChild:null,showChild:null,target:null})},ctxMenuLinkEvent:function(t,r){if(!(r.disabled||r.children&&r.children.length)){var n=this.ctxMenuStore,i=$l.get(r.code),o=z({$table:this,menu:r},n.args);i&&i.call(this,o,t),Q(this,"context-menu-click",[o,t]),this.closeMenu()}},toKebab:function(t){return typeof t=="string"?t.replace(/\B([A-Z])/g,"-$1").toLowerCase():"menu-code"}};jn.install=function(e){me._menu=1,Object.assign(e.methods,p1)};var Dl=q({name:re+"GridLoading",directives:{loading:an.directive},props:z({},le,{visible:Boolean,loadingComponent:Object}),render:function(){var t=x("div",{class:"tiny-grid-loading__wrap tiny-loading__spinner",directives:null});t=Re(t,[[an.directive,!0]]);var r;return this.loadingComponent&&(r=Cn(this.loadingComponent)?this.loadingComponent:x(this.loadingComponent)),x("div",{class:"tiny-grid-loading",style:{display:this.visible?"block":"none"}},[r||t])}});yn(Dl);var g1=B.constant.insertedField,ct=function(t,r,n,i){return i[t?r:n]};function m1(e){var t=e.h,r=e.params,n=e.renderer,i=e.value,o={flag:!1,vnodes:null};if(n&&(typeof n=="function"&&(o.flag=!0,o.vnodes=[n(t,r)]),n.component)){var l=n.component,a=n.attrs;o.flag=!0,o.vnodes=[t(wt(l),{class:"grid-cell",attrs:z({value:i,modelValue:i},typeof a=="function"?a(r):a)})]}return o}function b1(e){var t=e.$table,r=e.column,n=e.format,i=e.h,o=e.params,l=e.row,a={flag:!1,vnodes:null},s=n.async||{},c=s.fetch,u=s.loadingText;if(t.isAsyncColumn&&l[g1]!==!0&&typeof c=="function"){var d=l[t.getAsyncColumnName(r.property)],f=u||"loading ...";typeof d>"u"&&(d=typeof f=="function"?f(i,o):f),(typeof d>"u"||typeof r.formatText>"u")&&(a.flag=!0,a.vnodes=[d])}return a}function y1(e){var t=e._vm,r=e.isTreeNode,n=e.renMaps,i=e.type;return{match:function(){return i==="index"},action:function(){n.renderHeader=t.renderIndexHeader,n.renderCell=ct(r,"renderTreeIndexCell","renderIndexCell",t)}}}function C1(e){var t=e._vm,r=e.isTreeNode,n=e.renMaps,i=e.type;return{match:function(){return i==="radio"},action:function(){n.renderHeader=t.renderRadioHeader,n.renderCell=ct(r,"renderTreeRadioCell","renderRadioCell",t)}}}function w1(e){var t=e._vm,r=e.isTreeNode,n=e.renMaps,i=e.selectConfig,o=e.type;return{match:function(){return o==="selection"},action:function(){n.renderHeader=t.renderSelectionHeader,n.renderCell=ct(r,"renderTreeSelectionCell","renderSelectionCell",t),i&&i.checkField&&(n.renderCell=ct(r,"renderTreeSelectionCellByProp","renderSelectionCellByProp",t))}}}function S1(e){var t=e._vm,r=e.renMaps,n=e.type;return{match:function(){return n==="expand"},action:function(){r.renderCell=t.renderExpandCell,r.renderData=t.renderExpandData}}}function $1(e){var t=e._vm,r=e.renMaps,n=e.type;return{match:function(){return n==="operation"},action:function(){r.renderCell=t.renderOperationCell}}}function x1(e){var t=e.$table,r=e._vm,n=e.colProps,i=e.editor,o=e.filter,l=e.isTreeNode,a=e.renMaps,s=e.type;return{match:function(){return!~["index","radio","selection","expand","operation"].indexOf(s)},action:function(){var u=n.sortable,d=n.remoteSort,f=t.sortable&&(s?!1:u),h=f||d;i?(a.renderHeader=r.renderEditHeader,a.renderCell=ct(l,"renderTreeRadioCell","renderRowEdit",r),t.editConfig&&t.editConfig.mode==="row"&&(a.renderCell=ct(l,"renderTreeRowEdit","renderRowEdit",r)),t.editConfig&&t.editConfig.mode==="cell"&&(a.renderCell=ct(l,"renderTreeCellEdit","renderCellEdit",r))):o?(a.renderHeader=r.renderFilterHeader,h&&(a.renderHeader=r.renderSortAndFilterHeader)):h&&(a.renderHeader=r.renderSortHeader)}}}var _1=function(t){return t&&t.checkStrictly&&!t.showHeader||t&&!t.checkStrictly&&t.showHeader===!1},k1=function(t){var r;try{for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];r=t.apply(void 0,i)}catch{warn("ui.grid.error.renderParamError")}finally{if(!r||!Cn(r))try{r=Ta(t)}catch{r=null,warn("ui.grid.error.classComponentError")}}return r},ne={createColumn:function(t,r){for(var n=r.type,i=r.filter,o=r.editor,l=r.treeNode,a=t.selectConfig,s=t.treeConfig,c=s&&l,u={renderHeader:this.renderHeader,renderCell:ct(c,"renderTreeCell","renderCell",this)},d=this,f=[y1({_vm:d,isTreeNode:c,renMaps:u,type:n}),C1({_vm:d,isTreeNode:c,renMaps:u,type:n}),w1({_vm:d,isTreeNode:c,renMaps:u,selectConfig:a,type:n}),S1({_vm:d,renMaps:u,type:n}),$1({_vm:d,renMaps:u,type:n}),x1({$table:t,_vm:d,colProps:r,editor:o,filter:i,isTreeNode:c,renMaps:u,type:n})],h=0;h<f.length;h++)if(f[h].match()){f[h].action();break}return Bp(r,u,B)},renderHeader:function(t,r,n){var i=r.column,o=i.slots,l=i.own,a=i.title;return o&&o.header?[t("div",{class:"tiny-grid-cell-text"},[o.header(r,t)])]:typeof a=="function"?[a(t,r)]:n==="card"?[lt(Ye(l.title))]:[t("div",{class:"tiny-grid-cell-text"},[lt(Ye(l.title))])]},renderCell:function(t,r){var n=r.$table,i=r.row,o=r.column,l=o.slots,a=o.renderer,s=o.format||{};if(l&&l.default)return l.default(r,t);var c=te(i,o.property),u=m1({h:t,params:r,renderer:a,value:c});if(u.flag||(u=b1({$table:n,column:o,format:s,h:t,params:r,row:i}),u.flag))return u.vnodes;var d=kr(i,o,r);return typeof d=="function"?[d(t,r)]:[lt(d)]},renderTreeCell:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderCell.call(this,t,r))},renderTreeIcon:function(t,r){var n,i,o,l,a=r.$table,s=r.level,c=r.row,u=a.treeConfig,d=a.treeExpandeds,f=u.children,h=u.indent,v=u.renderIcon,p=u.trigger,g=~d.indexOf(c),m=c[f],y={click:function(E){E.stopPropagation(),a.triggerTreeExpandEvent(E,r)}},b=B.icon,C=v||((n=a.$grid)==null||(i=n.designConfig)==null||(o=i.treeConfig)==null?void 0:o.renderIcon);p&&p!=="default"&&(y={});var w=[];m&&m.length&&(w=[C?C(t,z({active:g},r)):t(no(),{class:["tiny-grid-tree__node-btn",b.tree,{is__active:g}]})]);var $={isActive:"is__active"};return[t("span",{class:"tiny-grid-tree__indent",style:{width:s*(h||16)+"px"}}),t("span",{class:["tiny-grid-tree-wrapper",(l={},l[$.isActive]=g,l)],on:y},w)]},renderIndexHeader:function(t,r){var n=r.column,i=n.slots,o=n.own;if(i&&i.header)return i.header(r,t);var l=Ye(o.title||o.label||"");return[lt(l)]},renderTreeIndexCell:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderIndexCell(t,r))},renderIndexCell:function(t,r){var n=r.$table,i=r.column,o=r.row,l=r.seq,a=n.startIndex,s=n.treeConfig,c=i.indexMethod,u=i.slots,d=s||{},f=d.ordered,h=d.temporaryIndex,v=h===void 0?"_$index_":h,p=s&&!f,g=p?o[v]:a+l;return u&&u.default?u.default(r,t):[lt(c?c(r):g)]},renderRadioHeader:function(t,r){var n=r.column,i=n.own,o=n.slots;if(o&&o.header)return o.header(r,t);var l=Ye(i.title||i.label);return[lt(l)]},renderRadioCell:function(t,r){var n,i=r.$table,o=r.column.slots,l=r.row,a=i.radioConfig,s=a===void 0?{}:a,c=i.selectRow,u=i.vSize,d=s.labelField,f=s.checkMethod,h=!!f,v={};return o&&o.default?o.default(r,t):(v.attrs={name:"tiny-grid-radio__"+i.id,type:"radio"},f&&(v.attrs.disabled=h=!f(r)),v.domProps={checked:l===c},v.on={change:function(g){i.triggerRadioRowEvent(g,r)}},[t("label",{class:["tiny-grid-radio",(n={},n["size__"+u]=u,n.is__disabled=h,n)]},[t("input",v),t("span",{class:"tiny-grid-radio__icon"},[t(co(),{class:["tiny-svg-size","icon-radio"]}),t(uo(),{class:["tiny-svg-size","icon-radio-selected"]})]),d?t("span",{class:"tiny-grid-radio__label"},te(l,d)):null])])},renderTreeRadioCell:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderRadioCell(t,r))},renderSelectionHeader:function(t,r){var n,i=r.$table,o=r.column,l=o.slots,a=o.own,s=i.headerCheckDisabled,c=i.isAllSelected,u=i.isIndeterminate,d=i.selectConfig,f=i.vSize,h=a.title||a.label,v={attrs:{type:"checkbox"}};if(l&&l.header)return l.header(r,t);if(_1(d))return[];v.domProps={disabled:s,checked:c&&!s},v.on={change:function(y){i.triggerCheckAllEvent(y,y.target.checked),i.showSelectToolbar()}};var p=t("label",{class:["tiny-grid-checkbox tiny-select-header",(n={},n["size__"+f]=f,n.is__disabled=s,n.is__indeterminate=u,n)],key:hr()},[t("input",v),t("span",{class:"tiny-grid-checkbox__icon"},[t(dr(),{class:["tiny-svg-size","icon-check"]}),c?t(ur(),{class:["tiny-svg-size","icon-checked-sur"]}):"",u?t(fr(),{class:["tiny-svg-size","icon-half-select"]}):""]),h?t("span",{class:"tiny-grid-checkbox__label"},Ye(h)):null]),g=null;return l&&l.dropdown&&(g=t("div",{class:"selection-dropdown-wrapper"},[l.dropdown(r,t)])),[p,g]},renderSelectionCell:function(t,r){var n,i=r.$table,o=r.column,l=r.row,a=o.slots,s=i.selectConfig,c=s===void 0?{}:s,u=i.treeConfig,d=i.treeIndeterminates,f=i.vSize,h=c.labelField,v=c.checkMethod,p={},g=p.indeterminate,m=g===void 0?!1:g,y=p.isDisabled,b=y===void 0?!!v:y,C={attrs:{type:"checkbox"}};if(a&&a.default)return a.default(r,t);v&&(C.attrs.disabled=b=!v(r)),u&&(m=~d.indexOf(l)),C.domProps={checked:~i.selection.indexOf(l)},C.on={change:function(R){i.triggerCheckRowEvent(R,r,R.target.checked),i.showSelectToolbar()}};var w=r.twcls,$=["tiny-grid-checkbox tiny-select-cell",(n={},n["size__"+f]=f,n.is__indeterminate=m,n.is__disabled=b,n)],O=null,E="tiny-grid-checkbox__icon",A="tiny-svg-size icon-checked-sur";w&&($=w.label||$,O=w.input||O,E=w.span||E,A=w.svg||A,C.class=O);var D=t("label",{class:$,key:hr()},[t("input",C),t("span",{class:E},[t(dr(),{class:["tiny-svg-size","icon-check"]}),t(ur(),{class:A}),m?t(fr(),{class:"tiny-svg-size icon-half-select"}):""]),h?t("span",{class:"tiny-grid-checkbox__label"},te(l,h)):null]);return[D]},renderTreeSelectionCell:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderSelectionCell(t,r))},renderSelectionCellByProp:function(t,r){var n,i=r.$table,o=r.column,l=r.row,a=o.slots,s=i.selectConfig,c=s===void 0?{}:s,u=i.treeConfig,d=i.treeIndeterminates,f=i.vSize,h=c.checkField,v=c.checkMethod,p=c.labelField,g={},m=g.indeterminate,y=m===void 0?!1:m,b=g.isDisabled,C=b===void 0?!!v:b,w={attrs:{type:"checkbox"}};if(a&&a.default)return a.default(r,t);v&&(w.attrs.disabled=C=!v(r)),u&&(y=~d.indexOf(l)),w.domProps={checked:te(l,h)},w.on={change:function(E){i.triggerCheckRowEvent(E,r,E.target.checked)}};var $=t("label",{key:hr(),class:["tiny-grid-checkbox",(n={},n["size__"+f]=f,n.is__indeterminate=y,n.is__disabled=C,n)]},[t("input",w),t("span",{class:"tiny-grid-checkbox__icon"},[t(dr(),{class:["tiny-svg-size","icon-check"]}),y?t(fr(),{class:["tiny-svg-size","icon-half-select"]}):"",t(ur(),{class:["tiny-svg-size","icon-checked-sur"]})]),p?t("span",{class:"tiny-grid-checkbox__label"},te(l,p)):null]);return[$]},renderTreeSelectionCellByProp:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderSelectionCellByProp(t,r))},renderExpandCell:function(t,r){var n,i=r.$table,o=r.row,l=i.expandConfig,a=l===void 0?{}:l,s=a.showIcon,c=s===void 0?!0:s,u=a.activeMethod,d=typeof u=="function"?u(o):!0,f=i.expandeds.includes(r.row);if(!c)return null;var h={expandActive:"expand__active"};return[t("span",{class:["tiny-grid__expanded",(n={},n[h.expandActive]=f,n)],on:{click:function(p){d&&i.triggerRowExpandEvent(p,r)}}},[d&&t("i",{class:"tiny-grid__expand-icon"})])]},renderExpandData:function(t,r){var n=r.column.slots;return n&&n.default?n.default(r,t):[]},renderSortAndFilterHeader:function(t,r){var n=ne.getSuffixCls(r);return ne.renderHeader(t,r).concat(ne.renderFilterIcon(t,r,n[0])).concat(ne.renderSortIcon(t,r,n[1]))},renderSortHeader:function(t,r){var n=ne.getSuffixCls(r);return ne.renderHeader(t,r).concat(ne.renderSortIcon(t,r,n[1]))},renderSortIcon:function(t,r,n){n===void 0&&(n="");var i=B.icon,o=r.$table,l=r.column,a=l.children&&l.children.length;return[t("span",{class:"tiny-grid-sort-wrapper "+n},a?[]:[l.order==="desc"||!i.sortDefault?t(i.sortAsc,{class:["tiny-grid-sort__btn",{sort__active:l.order===(i.sortDefault?"desc":"asc")}],on:{click:function(c){o.triggerSortEvent(c,l,i.sortDefault?"":"asc")}}}):"",l.order==="asc"||!i.sortDefault?t(i.sortDesc,{class:["tiny-grid-sort__btn",{sort__active:l.order===(i.sortDefault?"asc":"desc")}],on:{click:function(c){o.triggerSortEvent(c,l,"desc")}}}):"",!l.order&&i.sortDefault?t(i.sortDefault,{class:["tiny-grid-sort__btn"],on:{click:function(c){o.triggerSortEvent(c,l,"asc")}}}):""])]},renderFilterHeader:function(t,r){var n=ne.getSuffixCls(r);return ne.renderHeader(t,r).concat(ne.renderFilterIcon(t,r,n[1]))},renderFilterIcon:function(t,r,n){var i,o;n===void 0&&(n="");var l=r.$table,a=r.column,s=l.filterStore,c=B.icon,u={isActive:"is__active",hasFilter:"has__Filter"};return[t("span",{class:["tiny-grid-filter-wrapper "+n,(i={},i[u.isActive]=s.visible&&s.column===a,i)]},[t(c.filter,{class:["tiny-svg-size tiny-grid-filter__btn "+a.id,(o={},o[u.hasFilter]=a.filter&&a.filter.hasFilter,o)],on:{click:function(f){l.triggerFilterEvent(f,r.column,r)}}})])]},renderEditHeader:function(t,r){var n=r.$table,i=r.column,o=n.editConfig,l=n.editRules,a=n.validOpts,s=i.filter,c=i.remoteSort,u=i.sortable,d=i.type,f=i.own,h=B.icon,v;u=n.sortable&&!d&&u;var p=ne.getSuffixCls(r),g=u||c,m;l&&(m=te(l,r.column.property)),l&&m&&!Array.isArray(m)&&(m=[m]),l&&m&&(v=m.some(function(C){return C.required}));var y=typeof a.asteriskMethod!="function"||a.asteriskMethod(r),b=[v&&y?t("i",{class:"tiny-icon "+h.required}):null,!o||!f.showIcon?null:t(h.edit,{class:"tiny-grid-edit-icon tiny-svg-size"})];return b=b.concat(ne.renderHeader(t,r)),b=b.concat(s?ne.renderFilterIcon(t,r,g?p[0]:p[1]):[]),b=b.concat(g?ne.renderSortIcon(t,r,p[1]):[]),b},renderTreeRowEdit:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderRowEdit(t,r))},renderRowEdit:function(t,r){var n=r.$table.editStore.actived;return ne.runRenderer(t,r,this,n&&n.row===r.row)},renderTreeCellEdit:function(t,r){return ne.renderTreeIcon(t,r).concat(ne.renderCellEdit(t,r))},renderCellEdit:function(t,r){var n=r.$table.editStore.actived;return ne.runRenderer(t,r,this,n&&n.row===r.row&&n.column===r.column)},runRenderer:function(t,r,n,i){var o=r.$table,l=r.column,a=r.row,s=l.formatText,c=l.own,u=l.slots,d=c.editor,f=Pn.get(d.component),h=d.type==="visible"||i;if(h&&u&&u.edit)return u.edit(r,t);if(h&&typeof d=="function")return[d(t,r)];if(h&&f&&f.renderEdit)return f.renderEdit.call(o,t,d,r,{$type:"edit",$excel:o.$parent,$table:o,$column:l});if(h)return[];if(u&&u.default)return u.default(r,t);if(s){var v=kr(a,l,r);return typeof v=="function"?[v(t)]:[v]}return ne.renderCell.call(n,t,r)},getSuffixCls:function(t){return t.$table.headerSuffixIconAbsolute?["suffix-icon-1","suffix-icon-0"]:["",""]},renderOperationCell:function(t,r){var n=r.column,i=r.$table,o=r.row,l=n.operationConfig,a=l===void 0?{}:l,s=n.slots;if(s&&s.default)return s.default(r,t);var c=a.buttons,u=c===void 0?[]:c,d=a.render,f=a.max,h=f===void 0?3:f,v=a.disabledClass,p=v===void 0?"":v,g=i.viewCls("operButton");if(d)return d({h:t,buttons:u,params:r});var m=function(D,P,R,X){var G=z({buttonConfig:D},r),j={click:function(F){!b(D)&&_e(D.click)&&D.click(F,G)}};R=R.join(" ");var k=b(D)?[R,"tiny-grid__oper-col-button--disabled",p]:R,_=_e(D.icon)?[k1(D.icon,t,G)]:[t(D.icon)];return P?t("span",{class:k,attrs:X,on:j},_):null},y=function(D,P){P===void 0&&(P="");var R=["tiny-grid__oper-col-button",D.class||"",P],X={title:D.name||""};return m(D,D.icon,R,X)},b=function(D){var P=D.disabled,R=P===void 0?!1:P;return typeof R=="boolean"&&R||typeof R=="function"&&R(o)},C=function(D){var P=D.hidden,R=P===void 0?!1:P;return typeof R=="boolean"&&R||typeof R=="function"&&R(o)},w=function(D){var P=(D==null?void 0:D.name)||D,R=$.find(function(X){var G=X.name;return G===P});R.click(window.event||{},z({buttonConfig:R},r))},$=[];u.forEach(function(A){return!C(A)&&$.push(A)});var O;if($.length>h){var E=h-1;O=$.slice(0,E).map(function(A){return y(A,g)}),O.push(t(Mt,{on:{"item-click":w},props:{trigger:"hover",showIcon:!1}},[t(Co(),{class:"tiny-grid__oper-col-elps"}),t(mt,{slot:"dropdown"},$.slice(E).map(function(A){var D;return t(at,{class:(D={},D[p||""]=b(A),D),props:{itemData:A,disabled:b(A)}},A.name)}))]))}else O=$.map(function(A){return y(A,g)});return[t("span",{class:"inline-flex"},O)]}},Rt=ne;function Ll(e){var t=e.scrollbarWidth,r=e.tWidth,n=e.tableElem;n&&r===null&&(n.style.width=r),n&&r!==null&&(n.style.width=r+t+"px")}function Rl(e){var t=e.scrollXLoad,r=e.tWidth,n=e.tableColumn;return t&&(r=n.reduce(function(i,o){return i+o.renderWidth},0)),{tableColumn:n,tWidth:r}}function T1(e){var t=e.customHeight,r=e.footerHeight,n=e.headerHeight,i=e.scrollXLoad,o=e.scrollbarWidth,l=e.tableElem,a=e.scrollbarHeight,s=e.tableColumn,c=e.tableHeight,u=e.tableWidth,d=e.wrapperElem,f=e.fixedWrapperElem,h=u,v=Rl({scrollXLoad:i,tWidth:h,tableColumn:s});return s=v.tableColumn,h=v.tWidth,d&&f&&(d.style.top=(t?t-r:c+n)+"px"),d&&(d.style.marginTop=-a-1+"px"),Ll({scrollbarWidth:o,tWidth:h,tableElem:l}),s}function E1(e){var t=e.elemStore,r=e.fullColumnIdData,n=e.layout,i=e.scrollbarWidth,o=t["main-"+n+"-colgroup"],l=function(s){var c=s.getAttribute("name");if(c==="col_gutter"&&(s.width=""+(i||"")),r[c]){var u=r[c].column;s.width=""+(u.renderWidth||"")}};o&&ae(o.children,l)}function I1(e){var t=e.elemStore,r=e.layout,n=e.scrollXLoad,i=e.scrollbarWidth,o=e.tableColumn,l=e.tableElem,a=e.tableWidth,s=a,c=t["main-"+r+"-repair"];return n&&(s=o.reduce(function(u,d){return u+d.renderWidth},0)),Ll({scrollbarWidth:i,tWidth:s,tableElem:l}),c&&(c.style.width=a+"px"),o}function O1(e){var t=e.tWidth,r=e.tableElem;r&&(r.style.width=t&&t+"px")}function M1(e){var t=e.footerHeight,r=e.customHeight,n=e.headerHeight,i=e.maxHeight,o=e.minHeight,l=e.parentHeight,a=e.wrapperElem,s=e.scrollbarWidth;if(a){if(r>0){var c=r-n-t;a.style.height=c+"px"}if(i){i=Lt(i)?Math.floor(parseInt(i)/100*l):ze(i);var u=i-n;a.style.maxHeight=u+"px"}if(o){if(o=Lt(o)?Math.floor(parseInt(o)/100*l):ze(o),i){var d=n+s;i-o<d&&(o=i-d)}a.style.minHeight=o+"px"}}return{maxHeight:i,minHeight:o}}function A1(e){var t=e.emptyBlockElem,r=e.tWidth;t&&(t.style.width=r?r+"px":r||"")}function D1(e){var t=e.customHeight,r=e.elemStore,n=e.footerHeight,i=e.headerHeight,o=e.layout,l=e.maxHeight,a=e.minHeight,s=e.parentHeight,c=e.scrollXLoad,u=e.scrollbarWidth,d=e.tableColumn,f=e.tableElem,h=e.tableWidth,v=e.wrapperElem,p=r["main-"+o+"-emptyBlock"],g=M1({customHeight:t,footerHeight:n,headerHeight:i,maxHeight:l,minHeight:a,parentHeight:s,scrollbarWidth:u,wrapperElem:v});l=g.maxHeight,a=g.minHeight;var m=h;return g=Rl({scrollXLoad:c,tWidth:m,tableColumn:d}),d=g.tableColumn,m=g.tWidth,O1({tWidth:m,tableElem:f}),A1({emptyBlockElem:p,tWidth:m}),{maxHeight:l,minHeight:a,tableColumn:d}}function L1(e){var t=e._vm,r=e.columnStore,n=e.customHeight,i=e.fixedColumn,o=e.fixedWrapperElem,l=e.layout,a=e.maxHeight,s=e.minHeight,c=e.parentHeight,u=e.tableColumn,d=t.elemStore,f=t.footerHeight,h=t.fullColumnIdData,v=t.headerHeight,p=t.showFooter,g=t.overflowX,m=t.overflowY,y=t.scrollXLoad,b=t.scrollbarHeight,C=t.scrollbarWidth,w=t.showOverflow,$=t.tableHeight,O=t.tableWidth,E=d["main-"+l+"-wrapper"],A=d["main-"+l+"-table"];if(l==="header")u=I1({elemStore:d,layout:l,scrollXLoad:y,scrollbarWidth:C,tableColumn:u,tableElem:A,tableWidth:O});else if(l==="body"){var D=D1(z({},{allColumnOverflow:w,columnStore:r,customHeight:n,elemStore:d,fixedColumn:i,fixedWrapperElem:o},{footerHeight:f,headerHeight:v,layout:l,maxHeight:a,minHeight:s,overflowX:g,overflowY:m},{parentHeight:c,scrollXLoad:y,scrollbarHeight:b,scrollbarWidth:C,showFooter:p,tableColumn:u,tableElem:A,tableHeight:$,tableWidth:O,wrapperElem:E}));a=D.maxHeight,s=D.minHeight,u=D.tableColumn}else l==="footer"&&(u=T1({customHeight:n,fixedWrapperElem:o,footerHeight:f,headerHeight:v,scrollXLoad:y,scrollbarHeight:b,scrollbarWidth:C,tableColumn:u,tableElem:A,tableHeight:$,tableWidth:O,wrapperElem:E}));return E1({elemStore:d,fullColumnIdData:h,layout:l,scrollbarWidth:C}),{tableColumn:u,maxHeight:a,minHeight:s}}function Vi(e,t,r,n){var i=e.target;return i&&t.type===r&&i.tagName.toLowerCase()==="input"&&i.type===(n||r)}function R1(e){var t=e.$el,r=e._vm,n=e.column,i=e.event,o=e.expandConfig,l=e.params;(o.trigger==="row"||n.type==="expand"&&o.trigger==="cell")&&!r.getEventTargetNode(i,t,"tiny-grid__expanded").flag&&r.triggerRowExpandEvent(i,l)}function F1(e){var t=e._vm,r=e.column,n=e.event,i=e.params,o=e.treeConfig;(o.trigger==="row"||r.treeNode&&o.trigger==="cell")&&t.triggerTreeExpandEvent(n,i)}function P1(e){var t=e.$el,r=e._vm,n=e.event,i=e.highlightCurrentRow,o=e.params,l=e.radioConfig;i&&(l.trigger==="row"||!r.getEventTargetNode(n,t,"tiny-grid-checkbox").flag&&!r.getEventTargetNode(n,t,"tiny-grid-radio").flag)&&r.triggerCurrentRowEvent(n,o)}function H1(e){var t=e.$el,r=e._vm,n=e.column,i=e.event,o=e.params,l=e.radioConfig;(l.trigger==="row"||n.type==="radio"&&l.trigger==="cell")&&!r.getEventTargetNode(i,t,"tiny-grid-radio").flag&&r.triggerRadioRowEvent(i,o)}function z1(e){var t=e._vm,r=e.column,n=e.event,i=e.params,o=e.selectConfig;(o.trigger==="row"||r.type==="selection"&&o.trigger==="cell")&&!t.getEventTargetNode(n,i.cell,"tiny-grid-checkbox").flag&&t.handleToggleCheckRowEvent(i,n)}function N1(e){var t=e._vm,r=e.actived,n=e.cell,i=e.column,o=e.editConfig,l=e.event,a=e.mouseConfig,s=e.params,c=e.row;!a.checked&&o&&(o.trigger==="manual"?r.args&&r.row===c&&i!==r.column&&t.handleChangeCell(l,s):(!r.args||n!==r.args.cell)&&(o.trigger==="click"?t.handleChangeCell(l,s):o.trigger==="dblclick"&&(o.mode==="row"&&r.row===s.row?t.handleChangeCell(l,s):t.handleSelected(s,l))))}function B1(e){var t=e._vm,r=e.isGroup,n=e.headerProps;r&&We(t.collectColumn,function(i){i.children&&i.children.length&&(i.visible=!!Me(i.children,function(o){return o.children&&o.children.length?0:o.visible},n))},n)}function V1(e){var t=e.centerList,r=e.column;r.fixed||t.push(r)}function j1(e){var t=e.column,r=e.columnIndex,n=e.isColspan,i=e.rightEndIndex,o=e.rightList;return t.fixed==="right"&&(n||(i===null&&(i=r),r-i!==0?n=!0:i++),o.push(t)),{isColspan:n,rightEndIndex:i}}function W1(e){var t=e.column,r=e.columnIndex,n=e.isColspan,i=e.leftList,o=e.leftStartIndex,l=e.letIndex;return t.fixed==="left"&&(o===null&&(o=l),n||(r-l!==0?n=!0:l++),i.push(t)),{leftStartIndex:o,letIndex:l,isColspan:n}}function G1(e){var t=e.isColspan,r=e.isGroup,n=e.leftStartIndex,i=e.rightEndIndex,o=e.visibleColumn;r&&(t||n||i!==null&&i!==o.length)&&De("ui.grid.error.groupFixed")}function X1(e){var t=e._vm,r=e.scrollX,n=e.scrollXLoad,i=e.scrollXStore,o=e.tableColumn,l=e.visibleColumn;return n&&((t.resizable||l.some(function(a){return a.resizable}))&&rt("ui.grid.error.notResizable"),Object.assign(i,{startIndex:0,visibleIndex:0,renderSize:ze(r.rSize),offsetSize:ze(r.oSize)}),o=l.slice(i.startIndex,i.startIndex+i.renderSize)),o}function Y1(e){var t=e._vm,r=e.fetchColumns,n=e.tableColumn;return r.map(function(i){var o=i.format,l=i.columnValues;return o.async.fetch({columns:n,columnValues:l,$table:t})})}function q1(e){var t=e.columnCount,r=e.columnValues,n=e.columnValuesMap,i=e.fields;t&&r.forEach(function(o){if(typeof o=="object"){var l=te(o,i.text||"label"),a=te(o,i.value||"value");o.label=l,n[a]=o}})}function K1(e){var t=e.asyncColumnName,r=e.cellTexts,n=e.cellValuesCount,i=e.columnData,o=e.columnValuesMap,l=e.isRender,a=e.property,s=e.renderCount,c=e.row,u=e.splitConfig,d=0;if(!l&&n){var f,h=[c[a]];for(u.enabled===!0&&(h=(c[a]||"").split(u.valueSplit||","));d<n;){var v=h[d],p=o[v];f=typeof p=="object"?p.label:p,r.push(f),i.push({label:f,value:h[d],row:p}),d++,s++}c[t]=r.join(u.textSplit||",")}return s}function Z1(e){var t=e._vm,r=e.columnData,n=e.complete;typeof n=="function"&&n({columnData:r,$table:t})}var U1=$t["-webkit"];function J1(e){var t=e._vm,r=e.scrollLoad,n=e.scrollY,i=e.scrollYLoad,o=e.scrollYStore,l=e.tableBodyElem;if((i||r)&&(o.rowHeight=t.getRowHeight()),i){var a=ze(n.vSize||Math.ceil(l.clientHeight/o.rowHeight));o.visibleSize=a,n.oSize||(o.offsetSize=a),n.rSize||(o.renderSize=a+(U1?2:a)),t.updateScrollYData()}else t.updateScrollYSpace()}function Q1(e){var t=e._vm,r=e.scrollX,n=e.scrollXLoad,i=e.scrollXStore,o=e.tableBodyElem,l=e.visibleColumn;if(n){var a=l[0],s=a?a.renderWidth:40,c=ze(r.vSize||Math.ceil(o.clientWidth/s));i.visibleSize=c,r.oSize||(i.offsetSize=c),r.rSize||(i.renderSize=c+2),t.updateScrollXData()}else t.updateScrollXSpace()}var eC=function(t){var r=t.autoArr,n=t.meanWidth,i=t.minCellWidth,o=t.tableWidth,l=t.fit,a=t.bodyWidth;return r.forEach(function(s,c){var u=Math.max(n,i);if(s.renderWidth=u,o+=u,l&&c===r.length-1){var d=a-o;d>0&&(s.renderWidth+=d,o=a)}}),o},tC=function(t){var r=t.remainWidth,n=t.columnStore,i=0,o=n.resizeList,l=n.pxMinList,a=n.pxList,s=n.scaleList,c=n.scaleMinList;l.forEach(function(d){var f=parseInt(d.minWidth);i+=f,d.renderWidth=f});var u=r/100;return c.forEach(function(d){var f=Math.floor(parseInt(d.minWidth)*u);i+=f,d.renderWidth=f}),s.forEach(function(d){var f=Math.floor(parseInt(d.width)*u);i+=f,d.renderWidth=f}),a.forEach(function(d){var f=parseInt(d.width);i+=f,d.renderWidth=f}),o.forEach(function(d){var f=parseInt(d.resizeWidth);i+=f,d.renderWidth=f}),{tableWidth:i,meanWidth:u}},rC=function(t){var r=t.bodyWidth,n=t.columnStore,i=t.fit,o=t.minCellWidth,l=t.remainWidth,a=tC({remainWidth:l,columnStore:n}),s=a.tableWidth,c=a.meanWidth,u=n.pxMinList,d=n.scaleMinList,f=n.autoList;l-=s,c=l>0?Math.floor(l/(d.length+u.length+f.length)):0,i?l>0&&d.concat(u).forEach(function(v){s+=c,v.renderWidth+=c}):c=o,s=eC({autoArr:f,meanWidth:c,minCellWidth:o,tableWidth:s,fit:i,bodyWidth:r});var h=r-s;return i&&h>0&&d.concat(u).slice(0,h).forEach(function(v){s+=1,v.renderWidth+=1}),s},ji=function(t){var r=t.columnList,n=t.direction,i=t.headerEl,o=t.bodyEl,l=t.scrollbarWidth,a=r.slice();n==="right"&&a.reverse(),a.reduce(function(s,c){var u=(i==null?void 0:i.querySelectorAll("[data-colid="+c.id+"]"))||[],d=o.querySelectorAll("[data-colid="+c.id+"]"),f=[].concat(Array.from(u),Array.from(d));return f.forEach(function(h){var v=0;n==="right"&&l&&h.className.includes("header__column")&&(v=l),h.style[n]=s+v+"px"}),c.style=c.style||{},c.style[n]=s,s+=c.renderWidth,s},0)},Wi=function(t){var r=t.columnChart,n=t.direction,i=r.slice();n==="right"&&i.reverse(),i.forEach(function(o){var l,a,s=o.length;if(s!==1){var c=o[s-1],u=(l=c==null||(a=c.style)==null?void 0:a[n])!=null?l:null;u!==null&&o.forEach(function(d){var f;d.style=d.style||{};var h=(f=d.style[n])!=null?f:null;h===null&&(d.style[n]=u)})}})},nC=function(t){var r=t.columnChart,n=t.leftList,i=t.rightList;r.forEach(function(o){var l=o.length,a=o[l-1],s=n[n.length-1]===a,c=i[0]===a;o.forEach(function(u){u.isFixedLeftLast=u.isFixedLeftLast||s,u.isFixedRightFirst=u.isFixedRightFirst||c})})},Gi=function(t){var r=t.headerEl,n=t.bodyEl,i=t.columnStore,o=t.scrollbarWidth,l=t.columnChart,a=t.isGroup,s=i.leftList,c=i.rightList;ji({columnList:s,direction:"left",headerEl:r,bodyEl:n,scrollbarWidth:o}),ji({columnList:c,direction:"right",headerEl:r,bodyEl:n,scrollbarWidth:o}),a&&(Wi({columnChart:l,direction:"left"}),Wi({columnChart:l,direction:"right"}),nC({columnChart:l,leftList:s,rightList:c}))},iC=["closeMenu","getMouseSelecteds","getMouseCheckeds","clearCopyed","clearChecked","clearHeaderChecked","clearIndexChecked","clearSelected","insert","insertAt","remove","removeSelecteds","revert","revertData","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","clearActived","getActiveRow","hasActiveRow","setActiveRow","setActiveCell","setSelectCell","clearValidate","fullValidate","validate","exportCsv","exportExcel"],jr={children:"children"},oC=function(t,r){var n=t.startIndex,i=t.fetchColumns,o=t.tableData,l=t.asyncRenderMap,a=t.isScrollLoad;return function(s){s.length?(r._isUpdateData=!0,s.forEach(function(c,u){var d=[],f={},h=n,v=0,p=0,g=[],m=i[u],y=m.format,b=y===void 0?{}:y,C=m.property,w=b.async||{},$=w.splitConfig,O=$===void 0?{}:$,E=w.fields,A=E===void 0?{}:E,D=w.complete;d=Ee(c)?c:te(c,A.data||"values"),p=d.length,q1({columnCount:p,columnValues:d,columnValuesMap:f,fields:A});for(var P=o.length;h<P;h++){var R=o[h],X=[],G=r.getAsyncColumnUniqueKey(C,R),j=l[G],k=r.getAsyncColumnName(C),_=!!R[k],I={asyncColumnName:k,cellTexts:X,cellValuesCount:j,columnData:g};if(Object.assign(I,{columnValuesMap:f,isRender:_,property:C,renderCount:v,row:R,splitConfig:O}),v=K1(I),a&&v>=p)break}b.data=g,Z1({_vm:r,columnData:g,complete:D})}),r.tableData=r.tableData.slice(0),r.$nextTick(function(){r._isUpdateData=!1})):rt("Unknown error:the query data is empty.")}};function lC(e){var t=e.$el,r=e._vm,n=e.event,i=e.filterStore,o=e.filterWrapper;o&&(r.getEventTargetNode(n,t,"tiny-grid-filter-wrapper").flag||r.getEventTargetNode(n,o.$el).flag||r.getEventTargetNode(n,document.body,"tiny-popper").flag||(r.closeFilter(),r.preventEvent(n,"event.clear_filter",i.args,r.closeFilter)))}function aC(e){var t=e._vm,r=e.ctxMenuStore,n=e.event;r.visible&&t.$refs.ctxWrapper&&!t.getEventTargetNode(n,t.$refs.ctxWrapper.$el).flag&&t.closeMenu()}function sC(e){var t=e._vm,r=e.actived,n=e.event,i=t.blurOutside(r,n);return typeof i=="boolean"?(i||setTimeout(function(){return t.clearActived(n)}),!0):!1}function cC(e){var t=e.$el,r=e._vm,n=e.actived,i=e.editConfig,o=e.event,l=e.isClear,a=e.isReadonlyCol;if(i.mode==="row"){var s=r.getEventTargetNode(o,t,"tiny-grid-body__row"),c=s.flag?s.targetElem!==n.args.cell.parentNode:0;i.trigger==="manual"?l=!r.getEventTargetNode(o,t,"row__actived").flag&&c:l=c&&a}else l=a;return l}function uC(e){var t=e.$el,r=e._vm,n=e.event,i=e.isClear;(i||!r.getEventTargetNode(n,t).flag||r.$refs.tableHeader&&r.$refs.tableHeader.$el.contains(n.target))&&setTimeout(function(){return r.clearActived(n)})}function dC(e){return e>=48&&e<=57||e>=65&&e<=90||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e===32}function fC(e){var t=e.isKeyEsc,r=e._vm,n=e.event,i=e.actived,o=e.mouseConfig;return{match:function(){return t},action:function(){return r.handleEscKeyDown({event:n,actived:i,mouseConfig:o})}}}function hC(e){var t=e.isKeySpacebar,r=e.keyboardConfig,n=e.selected,i=e._vm,o=e.event;return{match:function(){return t&&(r.isArrow||r.isTab)&&n.row&&n.column&&(n.column.type==="selection"||n.column.type==="radio")},action:function(){return i.handleSpaceKeyDown({event:o,keyboardConfig:r,selected:n})}}}function vC(e){var t=e.isKeyEnter,r=e.keyboardConfig,n=e.selected,i=e.actived,o=e.treeConfig,l=e.highlightCurrentRow,a=e.currentRow,s=e._vm,c=e.event;return{match:function(){return t&&(r.isArrow||r.isTab)&&(n.row||i.row||o&&l&&a)},action:function(){return s.handleEnterKeyDown({event:c,selected:n,actived:i})}}}function pC(e){var t=e.isOperCtxMenu,r=e._vm,n=e.event;return{match:function(){return t},action:function(){return r.handleCtxMenu({event:n})}}}function gC(e){var t=e.isKeyF2,r=e._vm,n=e.event,i=e.selected;return{match:function(){return t},action:function(){return r.handleF2KeyDown({event:n,selected:i})}}}function mC(e){var t=e.isOperArrowKeys,r=e.keyboardConfig,n=e._vm,i=e.event,o=e.selected;return{match:function(){return t&&r.isArrow},action:function(){return n.handleArrowKeyDown({event:i,selected:o})}}}function bC(e){var t=e.isKeyTab,r=e.keyboardConfig,n=e._vm,i=e.event,o=e.selected,l=e.actived;return{match:function(){return t&&r.isTab},action:function(){return n.handleTabKeyDown({event:i,selected:o,actived:l})}}}function yC(e){var t=e.isKeyDel,r=e.treeConfig,n=e.highlightCurrentRow,i=e.currentRow,o=e.isKeyBack,l=e.keyboardConfig,a=e._vm,s=e.event,c=e.selected;return{match:function(){return t||(r&&n&&i?o&&l.isArrow:o)},action:function(){return a.handleDelKeyDown({event:s,selected:c})}}}function CC(e){var t=e.keyboardConfig,r=e.isKeyWithCtrl,n=e.isKeyA,i=e.isKeyX,o=e.isKeyC,l=e.isKeyV,a=e._vm,s=e.event;return{match:function(){return t.isCut&&r&&(n||i||o||l)},action:function(){return a.handleCopyKeyDown({event:s})}}}function wC(e){var t=e.keyboardConfig,r=e.isKeyWithCtrl,n=e._vm,i=e.event,o=e.selected;return{match:function(){return t.isEdit&&!r},action:function(){return n.handleOtherKeyDown({event:i,selected:o})}}}function SC(e,t){for(var r=t.isCtxMenu,n=t.ctxMenuStore,i=t.mouseConfig,o=i===void 0?{}:i,l=t.keyboardConfig,a=l===void 0?{}:l,s=t.treeConfig,c=t.highlightCurrentRow,u=t.currentRow,d=t.editStore,f=d.selected,h=d.actived,v=e.keyCode,p=e.ctrlKey,g=v===113,m=v===88,y=v===86,b=v===67,C=v===65,w=v===46,$=v===40,O=v===39,E=v===38,A=v===37,D=v===32,P=v===27,R=v===13,X=v===9,G=v===8,j=A||E||O||$,k=r&&n.visible&&(R||D||j),_=[fC({isKeyEsc:P,_vm:t,event:e,actived:h,mouseConfig:o}),hC({isKeySpacebar:D,keyboardConfig:a,selected:f,_vm:t,event:e}),vC({isKeyEnter:R,keyboardConfig:a,selected:f,actived:h,treeConfig:s,highlightCurrentRow:c,currentRow:u,_vm:t,event:e}),pC({isOperCtxMenu:k,_vm:t,event:e}),gC({isKeyF2:g,_vm:t,event:e,selected:f}),mC({isOperArrowKeys:j,keyboardConfig:a,_vm:t,event:e,selected:f}),bC({isKeyTab:X,keyboardConfig:a,_vm:t,event:e,selected:f,actived:h}),yC({isKeyDel:w,treeConfig:s,highlightCurrentRow:c,currentRow:u,isKeyBack:G,keyboardConfig:a,_vm:t,event:e,selected:f}),CC({keyboardConfig:a,isKeyWithCtrl:p,isKeyA:C,isKeyX:m,isKeyC:b,isKeyV:y,_vm:t,event:e}),wC({keyboardConfig:a,isKeyWithCtrl:p,_vm:t,event:e,selected:f})],I=0;I<_.length;I++)if(_[I].match())return _[I].action()}function $C(e){var t=this,r=this.$el,n=this.ctxMenuStore,i=this.editConfig,o=i===void 0?{}:i,l=this.filterStore,a=this.$refs,s=a.filterWrapper,c=a.validTip,u=this.editStore.actived;if(lC({$el:r,_vm:this,event:e,filterStore:l,filterWrapper:s}),u.row&&o.autoClear!==!1){if(sC({_vm:this,actived:u,event:e}))return;c&&this.getEventTargetNode(e,c.$el).flag||(!this.lastCallTime||this.lastCallTime+50<Date.now())&&this.preventEvent(e,"event.clear_actived",u.args,function(){var d,f=!t.getEventTargetNode(e,r,"col__edit").flag;d=cC({$el:r,_vm:t,actived:u,editConfig:o,event:e,isClear:d,isReadonlyCol:f}),uC({$el:r,_vm:t,event:e,isClear:d})})}aC({_vm:this,ctxMenuStore:n,event:e})}function xC(e){this.handleClearMouseChecked(e)}function _C(){this.closeFilter(),this.closeMenu()}function kC(e){this.updateScrollLoadBar(e),this.clostTooltip(),this.closeMenu()}function TC(e){var t=this,r=e.event,n=e.actived,i=e.mouseConfig;this.closeMenu(),this.closeFilter(),n.row&&(this.clearActived(r),i.selected&&this.$nextTick(function(){return t.handleSelected(n.args,r)}))}function EC(e){var t=this,r=e.event,n=e.selected,i=e.actived,o=this.highlightCurrentRow,l=this.currentRow,a=this.treeConfig,s=r.keyCode===37,c=r.keyCode===38,u=r.keyCode===39;if(n.row||i.row)this.moveSelected({args:n.row?n.args:i.args,isLeftArrow:s,isUpArrow:c,isRightArrow:u,isDwArrow:!0,event:r});else if(a&&o&&l){var d=l[a.children];if(d&&d.length){r.preventDefault();var f=d[0];this.setTreeExpansion(l,!0).then(function(){return t.scrollToRow(f)}).then(function(){return t.triggerCurrentRowEvent(r,{$table:t,row:f})})}}}function IC(e){var t=e.event,r=this.ctxMenuStore;t.preventDefault(),r.showChild&&_r(r.selected)?this.moveCtxMenu({event:t,keyCode:t.keyCode,ctxMenuStore:r,property:"selectChild",operKey:37,operRest:!1,menuList:r.selected.children}):this.moveCtxMenu({event:t,keyCode:t.keyCode,ctxMenuStore:r,property:"selected",operKey:39,operRest:!0,menuList:this.ctxMenuList})}function OC(e){var t=e.event,r=e.selected,n=this.highlightCurrentRow,i=this.currentRow,o=t.keyCode===37,l=t.keyCode===38,a=t.keyCode===39,s=t.keyCode===40;r.row&&r.column?this.moveSelected({args:r.args,isLeftArrow:o,isUpArrow:l,isRightArrow:a,isDownArrow:s,event:t}):(l||s)&&n&&i&&this.moveCurrentRow(l,s,t)}function MC(e){var t=this,r=e.event,n=e.selected,i=this.keyboardConfig,o=i===void 0?{}:i,l=this.treeConfig,a=this.highlightCurrentRow,s=this.currentRow,c=r.keyCode===8;if(o.isDel&&(n.row||n.column))qe(n.row,n.column,null),c&&this.handleActived(n.args,r);else if(c&&o.isArrow&&l&&a&&s){var u=Me(this.afterFullData,function(f){return f===s},l),d=u.parent;d&&(r.preventDefault(),this.setTreeExpansion(d,!1).then(function(){return t.scrollToRow(d)}).then(function(){return t.triggerCurrentRowEvent(r,{$table:t,row:d})}))}}function AC(e){var t=e.event,r=e.selected;t.preventDefault(),r.column.type==="selection"?this.handleToggleCheckRowEvent(r.args,t):this.triggerRadioRowEvent(t,r.args)}function DC(e){var t=e.event,r=e.selected,n=e.actived,i=t.shiftKey,o=this.editConfig.useTab;r.row||r.column?this.moveTabSelected(r.args,i,t,o):(n.row||n.column)&&this.moveTabSelected(n.args,i,t,o)}function LC(e){var t=e.event;t.keyCode===65?this.handleAllChecked(t):t.keyCode===88||t.keyCode===67?this.handleCopyed(t.keyCode===88,t):this.handlePaste(t)}function RC(e){var t=e.event,r=e.selected;r.row&&r.column&&(t.preventDefault(),this.handleActived(r.args,t))}function FC(e){var t=e.event,r=e.selected,n=this.keyboardConfig,i=n===void 0?{}:n,o=t.keyCode,l=dC(o);l&&r.column&&r.row&&r.column.editor&&(!i.editMethod||i.editMethod(r.args,t)!==!1)&&(qe(r.row,r.column,null),this.handleActived(r.args,t))}function PC(e){var t=this;this.preventEvent(e,"event.keydown",{$table:this},function(){SC(e,t)})}function HC(){this.recalculate()}var ot=function(t,r){return t.forEach(function(n){return r[n].apply(r)})},zC=200,NC=100,BC=function(t,r,n){var i=function(a,s){var c=typeof a,u=typeof s;return c===u&&["number","string","boolean"].includes(c)?a>s:String(a)>String(s)},o=n.sortOpts.multipleColumnSort;return typeof o=="function"?t=o({$table:n,tableData:t,sortColumns:r}):t=t.sort(function(l,a){for(var s=0;s<r.length;s++){var c=r[s],u=c.property,d=c.order,f=d==="asc"?1:-1,h=l[u],v=a[u];if(!Object.is(h,v))return i(h,v)?f:-f}return 0}),t},VC=function(t,r){r===void 0&&(r={});var n=new WeakMap,i=r||{},o=i.children,l=i.ordered,a=i.temporaryIndex,s=a===void 0?"_$index_":a,c=r&&!l,u=function f(h,v,p){var g=[];return Array.isArray(h)&&h.length>0&&h.forEach(function(m,y){var b;c&&(m[s]=(p?p+".":"")+(y+1));var C=Dt(z({},m,(b={},b[o]=null,b)),!0);g.push(C),n.set(m,C),m[o]&&(C[o]=f(m[o],v+1,c?m[s]:""))}),g},d=u(t,0,"");return{backupData:d,backupMap:n}},Fl={getParentElem:function(){var t=this.$grid?this.$grid.$el:this.$el;return t.parentNode},updateParentHeight:function(){this.$grid?this.$grid.updateParentHeight():this.parentHeight=this.getParentElem().clientHeight},getParentHeight:function(){return this.parentHeight},clearAll:function(t){return ot(["clearScroll","clearSort","clearCurrentRow","clearCurrentColumn"],this),ot(["clearSelection","clearRowExpand","clearTreeExpand"],this),me._filter&&this.clearFilter(t),(this.keyboardConfig||this.mouseConfig)&&ot(["clearIndexChecked","clearHeaderChecked","clearChecked","clearSelected","clearCopyed"],this),this.clearActived()},refreshData:function(t){var r=this,n=function(){return r.tableData=[],r.loadTableData(t||r.tableFullData)};return this.$nextTick().then(n)},refreshStyle:function(){var t=this.$el,r=this.rowSpan,n=this.spanMethod;if(t&&(r||n)){var i=t.style.transform,o=function(){return setTimeout(function(){t.style.transform=i})};return t.style.transform="scale(0.99999)",this.$nextTick().then(o)}return this.$nextTick()},updateData:function(){var t=this;return this.handleTableData(!0).then(function(){return t.updateFooter()}).then(function(){return t.recalculate()})},handleTableData:function(t){return t&&this.updateAfterFullData(),this.tableData=m0(this),ot(["updateScrollStatus","buildGroupData"],this),this.$nextTick()},loadTableData:function(t,r){var n=this,i=this.$refs,o=this.editStore,l=this.height,a=this.maxHeight,s=this.treeConfig,c=this.lastScrollLeft,u=this.lastScrollTop,d=this.optimizeOpts.scrollY,f=Ee(t)?t.slice(0):[],h=d&&d.gt>0&&d.gt<=f.length;o.insertList=[],o.removeList=[],Object.assign(this,{tableFullData:f}),this.updateCache(!0);var v=VC(f,s),p=v.backupData,g=v.backupMap;Object.assign(this,{tableSynchData:t,tableSourceData:p,backupMap:g,scrollYLoad:h}),h&&!(l||a)&&De("ui.grid.error.scrollYHeight"),r||this.clearScroll(),this.handleTableData(!0),ot(["reserveCheckSelection","checkSelectionStatus"],this);var m=function(){return!r&&n.recalculate()},y=function(){if(c||u)return n.scrollTo(c,u);var C=i.tableHeader?i.tableHeader.$el:null;C&&(C.scrollLeft=0)};return this.$nextTick().then(m).then(y)},reloadData:function(t){var r=this;return this.clearAll().then(function(){return r.loadTableData(t)}).then(function(){return r.handleDefault()})},loadData:function(t){var r=this;return new Promise(function(n){r.loadTableData(t),n()}).then(this.recalculate)},reloadRow:function(t,r,n){var i=this.tableData,o=this.tableSourceData,l=this.getRowIndex(t),a=o[l],s=a&&t,c=s&&!n;return s&&n&&xe(a,n,te(r||t,n)),c&&r&&(o[l]=r,No(t,void 0),Object.assign(t,this.defineField(z({},r))),this.updateCache(!0)),c&&!r&&Wo(a,Dt(t,!0)),this.tableData=i.slice(0),this.$nextTick()},reloadColumn:function(t){var r=this;return this.clearAll().then(function(){return r.loadColumn(t)})},loadColumn:function(t){var r=this;return new Promise(function(n){r.collectColumn=ci(t,function(i){return Rt.createColumn(r,i)},jr),n()}).then(function(){return r.$nextTick()})},updateCache:function(t){var r=this,n=this.fullAllDataRowIdData,i=this.fullAllDataRowMap,o=this.fullDataRowIdData,l=this.fullDataRowMap,a=this.tableFullData,s=this.treeConfig,c=Er(this),u=function(h,v){var p=fe(r,h);p||(p=Fi(),xe(h,c,p));var g={row:h,rowid:p,index:v};t&&(o[p]=g,l.set(h,g)),n[p]=g,i.set(h,g)},d=function(){n={},r.fullAllDataRowIdData=n,i.clear(),t&&(o={},r.fullDataRowIdData=o,l.clear())};d(),s?We(a,u,s):a.forEach(u)},cacheColumnMap:function(){var t=this.fullColumnMap,r=this.tableFullColumn,n={};this.fullColumnIdData=n,Map.prototype.clear.apply(t),r.forEach(function(i,o){var l={colid:i.id,column:i,index:o};n[i.id]=l,t.set(i,l)})},getRowNode:function(t){var r=this;if(!t)return null;var n=this.fullAllDataRowIdData,i=this.tableFullData,o=this.treeConfig,l=t.getAttribute("data-rowid");if(o){var a=Me(i,function(c){return fe(r,c)===l},o);if(a)return a}else if(n[l]){var s=n[l];return{item:s.row,index:s.index,items:i}}return null},getColumnNode:function(t){if(!t)return null;var r=this.isGroup,n=this.fullColumnIdData,i=this.tableFullColumn,o=t.getAttribute("data-colid"),l=n==null?void 0:n[o];if(r){var a=Me(i,function(s){return s.id===o},jr);if(a)return a}else if(l)return{index:l.index,item:l.column,items:i};return null},getRowIndex:function(t){var r=this.fullDataRowMap;return r.has(t)?r.get(t).index:-1},getColumnIndex:function(t){var r=this.fullColumnMap;return r.has(t)?r.get(t).index:-1},hasIndexColumn:function(t){return t&&t.type==="index"},defineField:function(t,r){if(!t||typeof t!="object")return t;r&&(t=Dt(t,!0));var n=this.visibleColumn,i=Er(this);return n.forEach(function(o){var l=o.property,a=o.editor,s=l&&!jo(t,l),c=a&&!et(a.defaultValue)?a.defaultValue:null;s&&xe(t,l,c)}),te(t,i)||xe(t,i,Fi()),t},isTemporaryRow:function(t){var r=this,n=fe(this,t);return ue(this.temporaryRows,function(i){return n===fe(r,i)})},createData:function(t,r){var n=this,i=Ee(t);i||(t=[t]);var o=t.map(function(l){return n.defineField(l,r)});return new Promise(function(l){l(i?o:o[0])})},createRow:function(t){return this.createData(t,!0)},clearData:function(t,r){var n=this;return t=arguments.length?t&&!Ee(t)?[t]:t:this.tableFullData,t.forEach(function(i){r?xe(i,r,null):n.visibleColumn.forEach(function(o){o.property&&qe(i,o,null)})}),this.$nextTick()},hasRowInsert:function(t){return~this.editStore.insertList.indexOf(t)},compareRow:function(t,r,n){var i=te(t,n),o=te(r,n),l=this.getColumnByField(n),a=l.equals||this.equals,s;return a&&(s=a({value:i,originalValue:o,field:n,row:t,originalRow:r,column:l,$table:this})),typeof s!="boolean"&&(s=Uv(o,i)),s},hasRowChange:function(t,r){var n=this,i=this.tableSourceData,o=this.treeConfig,l=this.visibleColumn,a=this.backupMap,s=arguments.length,c=fe(this,t),u;if(this.isTemporaryRow(t))return!1;if(o){var d,f=o.children,h=a.get(t);if(t=z({},t,(d={},d[f]=null,d)),h){var v;u=z({},h,(v={},v[f]=null,v))}}else u=ue(i,function(m){return c===fe(n,m)});if(u){if(s>1)return!this.compareRow(t,u,r);for(var p=0;p<l.length;p++){var g=l[p].property;if(g&&!this.compareRow(t,u,g))return!0}}return!1},getColumns:function(t){var r=this.visibleColumn,n=arguments.length;return n?r[t]:r.slice(0)},getColumnById:function(t){var r=this.fullColumnIdData,n=r[t];return n?n.column:null},getColumnByField:function(t){var r=this.visibleColumn;return typeof t=="string"&&t?ue(r,function(n){return n.property===t}):null},getTableColumn:function(){var t=this.collectColumn,r=this.tableColumn,n=this.tableFullColumn,i=this.visibleColumn;return{fullColumn:n.slice(0),visibleColumn:i.slice(0),tableColumn:r.slice(0),collectColumn:t.slice(0)}},getData:function(t){var r=this.data||this.tableSynchData;if(!r)return r;if(!arguments.length)return r.slice(0);if(typeof t=="number"&&t>-1)return r[t]},getSelectRecords:function(t){var r=this.selectConfig,n=r===void 0?{}:r,i=this.selection,o=this.tableFullData,l=this.treeConfig,a=n.checkField,s={},c=s.rowList,u=c===void 0?[]:c;return a&&l&&(u=xr(o,function(d){return te(d,a)},l)),a&&!l&&(u=o.filter(function(d){return te(d,a)})),!a&&l&&(u=xr(o,function(d){return~i.indexOf(d)},l)),!a&&!l&&(u=o.filter(function(d){return~i.indexOf(d)})),t?u:Dt(u,!0)},updateAfterFullData:function(){var t=this,r=this.remoteFilter,n=this.remoteSort,i=this.tableFullData,o=this.visibleColumn,l=this.sortOpts,a=i,s=ue(o,function(h){return h.order}),c=o.filter(function(h){var v=h.filter;return!!v}),u=function(){var v=s.order,p=s.property,g={$table:t,column:s,data:a,order:v,property:p};a=t.sortMethod(g)||a},d=function(){var v=!1;if(l.multipleColumnSort){var p=o.filter(function(y){var b=y.order;return!!b});p.length>1&&(a=BC(a,p,t),v=!0)}if(!v){var g=s.sortMethod,m=g?a.sort(g):mv(a,s.sortBy?s.sortBy:s.property);a=s.order==="desc"?m.reverse():m}};if(a=a.filter(function(h){return c.every(function(v){return r?!0:t.handleLocalFilter(h,v)})}),s&&s.order){var f=Be(s.remoteSort)?s.remoteSort:n;!f&&this.sortMethod&&u(),!f&&!this.sortMethod&&d()}return this.afterFullData=a,Vt(this),a},buildGroupData:function(){var t=this,r=this.rowGroup,n=this.tableData;if(Object.assign(this,{groupData:{},groupFolds:[]}),!!r){var i={},o=i.groups,l=o===void 0?{}:o,a=i.current,s=a===void 0?"":a;n.forEach(function(c,u){var d=fe(t,c),f=r.field,h=n[u-1];!h||h[f]!==c[f]?(s=d,l[d]={fold:!1,children:[c]}):l[s].children.push(c)}),this.groupData=l}},getRowById:function(t){var r=this.fullDataRowIdData,n=r[t];return n?n.row:null},getTableData:function(){var t=this.afterFullData,r=this.footerData,n=this.tableData,i=this.tableFullData;return{visibleData:t.slice(0),footerData:r.slice(0),tableData:n.slice(0),fullData:i.slice(0)}},handleDefault:function(){var t=this;this.handleAsyncColumn(this.tableData),this.selectConfig&&this.handleSelectionDefChecked(),this.radioConfig&&this.handleRadioDefChecked(),this.expandConfig&&this.handleDefaultRowExpand(),this.treeConfig&&this.handleDefaultTreeExpand(),this.updateFooter(),this.$nextTick(function(){return setTimeout(t.recalculate)})},mergeCustomColumn:function(t,r,n){var i=this.isGroup,o=this.tableFullColumn,l=function(b){return n&&Object.assign(b,n[b.property])},a=function(b){return Me(t,function(C){return b.property&&C.property===b.property})},s=t.length||n,c=i||!r,u;if(this.isUpdateCustoms=!0,s&&c&&o.forEach(function(y){l(y),u=a(y),u&&Object.assign(y,u.item)}),s&&!c){var d={},f=d.collectColumn,h=f===void 0?[]:f,v=d.customMap,p=v===void 0?{}:v,g=d.orderColumn,m=g===void 0?[]:g;ci(t,function(y){var b=ue(o,function(C){return y.property&&C.property===y.property});b&&(Object.assign(b,y),p[y.property]=b,m.push(b))}),o.forEach(function(y){var b=p[y.property]?m.shift():y;b&&(l(b),h.push(b))}),this.collectColumn=h}this.$emit("update:customs",o)},resetAll:function(){ot(["resetCustoms","resetResizable"],this)},hideColumn:function(t){return this.handleVisibleColumn(t,!1)},showColumn:function(t){return this.handleVisibleColumn(t,!0)},resetCustoms:function(){return this.handleVisibleColumn()},handleVisibleColumn:function(t,r){var n=arguments,i=this.tableFullColumn,o=this.getVm("toolbar"),l=arguments.length?[t]:i;return l.forEach(function(a){a.visible=n.length?r:!0}),o&&o.updateSetting(),this.$nextTick()},reloadCustoms:function(t,r,n){var i=this,o=function(){i.mergeCustomColumn(t,r,n)},l=function(){i.handleTableData(!0)},a=function(){return i.refreshColumn().then(function(){return i.tableFullColumn.slice(0)})};return this.$nextTick().then(o).then(l).then(a)},watchColumn:function(t){var r=this.customs,n=this.treeConfig,i=this.getVm("toolbar"),o=Ko(t);_0(this),this.tableFullColumn=o,this.cacheColumnMap(),this.isColumnInitReady||(this.isColumnInitReady=!0,r&&this.mergeCustomColumn(r),this.$emit("column-init-ready")),this.refreshColumn(),this.remoteFilter&&(this.$grid.filterData=this.getAllFilter()),this.isColumnReady||(this.isColumnReady=!0,this.$emit("column-ready")),this.handleTableData(!0),i&&i.updateColumn(o),n&&o.some(function(l){return l.fixed})&&o.some(function(l){return l.type==="expand"})&&rt("ui.grid.error.treeFixedExpand")},refreshColumn:function(){var t=this,r=[],n=[],i=[],o=0,l=null,a=null,s=void 0,c=this.columnStore,u=this.isGroup,d=this.scrollXStore,f=this.tableFullColumn,h=this.optimizeOpts.scrollX;B1({_vm:this,isGroup:u,headerProps:jr}),f.filter(function(m){return m.visible}).forEach(function(m,y){var b=W1({column:m,columnIndex:y,isColspan:s,leftList:r,leftStartIndex:l,letIndex:o});l=b.leftStartIndex,o=b.letIndex,s=b.isColspan,b=j1({column:m,columnIndex:y,isColspan:s,rightEndIndex:a,rightList:i}),s=b.isColspan,a=b.rightEndIndex,V1({centerList:n,column:m})});var v=r.concat(n).concat(i),p=h&&h.gt&&h.gt<f.length,g=v;return Object.assign(c,{leftList:r,centerList:n,rightList:i}),G1({isColspan:s,isGroup:u,leftStartIndex:l,rightEndIndex:a,visibleColumn:v}),g=X1({_vm:this,scrollX:h,scrollXLoad:p,scrollXStore:d,tableColumn:g,visibleColumn:v}),this.scrollXLoad=p,this.tableColumn=g,this.visibleColumn=v,this.visibleColumnChanged=!0,this.columnAnchor&&this.$grid.buildColumnAnchorParams(),this.$nextTick().then(function(){t.updateFooter(),t.recalculate()})},analyColumnWidth:function(){for(var t=this.columnMinWidth,r=this.columnStore,n=this.columnWidth,i=this.tableFullColumn,o=[],l=[],a=[],s=[],c=[],u=[],d=[{match:function(m){return m.resizeWidth},action:function(m){return s.push(m)}},{match:function(m){return vi(m.width)},action:function(m){return l.push(m)}},{match:function(m){return Lt(m.width)},action:function(m){return c.push(m)}},{match:function(m){return vi(m.minWidth)},action:function(m){return a.push(m)}},{match:function(m){return Lt(m.minWidth)},action:function(m){return u.push(m)}},{match:function(){return!0},action:function(m){return o.push(m)}}],f=0;f<i.length;f++){var h=i[f];if(n&&!h.width&&(h.width=n),t&&!h.minWidth&&(h.minWidth=t),h.visible)for(var v=0;v<d.length;v++){var p=d[v];if(p.match(h)){p.action(h);break}}}Object.assign(r,{autoList:o,pxList:l,pxMinList:a,resizeList:s,scaleList:c,scaleMinList:u})},recalculate:function(){var t=this,r=this.elemStore["main-body-wrapper"];if(!aa(r)){var n=this.scrollXLoad,i=this.scrollYLoad,o=this.scrollLoad,l=this.$refs,a=l.tableBody,s=l.tableFooter,c=l.tableHeader,u=function(p){return p?p.$el:null},d=u(c),f=u(a),h=u(s);return f?(this.autoCellWidth(d,f,h),n||i||o?this.computeScrollLoad().then(function(){t.autoCellWidth(d,f,h)}):this.computeScrollLoad()):this.computeScrollLoad()}},autoCellWidth:function(t,r,n){var i,o,l=((i=this.$grid)==null||(o=i.designConfig)==null?void 0:o.minWidth)||40,a=this.fit,s=this.columnStore,c=this.columnChart,u=this.isGroup,d=r.offsetHeight,f=r.scrollHeight>r.clientHeight,h=r.clientWidth,v=s.leftList,p=s.rightList,g=rC({bodyWidth:h,columnStore:s,fit:a,minCellWidth:l,remainWidth:h}),m=f?r.offsetWidth-h:0,y=this.parentHeight;if(Gi({headerEl:t,bodyEl:r,columnStore:s,scrollbarWidth:m,columnChart:c,isGroup:u}),Object.assign(this,{overflowY:f,parentHeight:y,scrollbarWidth:m,tableHeight:d,tableWidth:g}),t&&(this.headerHeight=t.offsetHeight),n){var b=n.offsetHeight;this.scrollbarHeight=Math.max(b-n.clientHeight,0),this.overflowX=g>n.clientWidth,this.footerHeight=b}else this.scrollbarHeight=Math.max(d-r.clientHeight,0),this.overflowX=g>h;(v.length||p.length)&&Il({$table:this,bodyElem:r,leftList:v,rightList:p})},syncHeaderHeight:function(){var t,r=(t=this.$refs.tableHeader)==null?void 0:t.$el;r&&(this.headerHeight=r.offsetHeight)},resetResizable:function(){var t=this.getVm("toolbar");return this.visibleColumn.forEach(function(r){return r.resizeWidth=0}),t&&t.resetResizable(),this.analyColumnWidth(),this.recalculate()},updateStyle:function(){var t=this;this.updateParentHeight();var r=this.columnStore,n=this.currentRow,i=this.height,o=this.maxHeight,l=this.minHeight,a=this.parentHeight,s=this.tableColumn,c=this.scrollbarWidth,u=this.scrollYLoad,d=this.scrollXLoad,f=this.scrollLoad,h=["header","body","footer"],v={},p=v.customHeight,g=v.scaleToPx,m=this.$refs,y=m.tableBody,b=m.tableHeader,C=function(E){return E?E.$el:null},w=C(b),$=C(y);return i==="auto"?p=a:(g=Math.floor(parseInt(i)/100*a),p=Lt(i)?g:ze(i)),h.forEach(function(O){var E={_vm:t,columnStore:r,customHeight:p},A={layout:O,maxHeight:o,minHeight:l,parentHeight:a,tableColumn:s},D=L1(Object.assign(E,A));s=D.tableColumn,o=D.maxHeight,l=D.minHeight}),n&&this.setCurrentRow(n),this.syncHeaderHeight(),this.$nextTick(function(){var O=r.leftList,E=r.rightList;return(O.length||E.length)&&(u||d||f)&&Gi({headerEl:w,bodyEl:$,columnStore:r,scrollbarWidth:c}),!0})},preventEvent:function(t,r,n,i,o){var l=this,a=Yo.get(r);a.some(function(s){return s(n,t,l)===!1})||i&&i(),o&&o()},blurOutside:function(t,r){var n=this,i=t.row,o=t.args,l=t.column;if(l&&i){var a=l.editor;if(typeof a.blurOutside=="function")return!!a.blurOutside({cell:o.cell,event:r});var s=a.blurClass||this.editConfig.blurClass;if(s){var c=[];return typeof s=="string"?c.push(s):Ee(s)&&(c=s.slice(0)),o.cell&&o.cell.contains(r.target)||c.some(function(u){return!n.getEventTargetNode(r,document.body,u).flag})}}},handleGlobalMousedownEvent:$C,handleGlobalBlurEvent:_C,handleGlobalMousewheelEvent:kC,handleEscKeyDown:TC,handleEnterKeyDown:EC,handleCtxMenu:IC,handleArrowKeyDown:OC,handleDelKeyDown:MC,handleSpaceKeyDown:AC,handleTabKeyDown:DC,handleCopyKeyDown:LC,handleF2KeyDown:RC,handleOtherKeyDown:FC,handleGlobalKeydownEvent:PC,handleGlobalResizeEvent:HC,handleGlobalMousedownCaptureEvent:xC,handleRadioDefChecked:function(){var t=this.fullDataRowIdData,r=this.radioConfig||{},n=r.checkRowKey,i=n&&encodeURIComponent(n),o=t[i];i&&o&&this.setRadioRow(o.row)},triggerRadioRowEvent:function(t,r){var n=this.selectRow,i=this.radioConfig||{},o=i.checkMethod;o&&!o(r)||(this.setRadioRow(r.row),this.setCurrentRow(r.row),n!==r.row&&Q(this,"radio-change",[r,t]))},triggerCurrentRowEvent:function(t,r){var n=this.currentRow;this.setCurrentRow(r.row),n!==r.row&&Q(this,"current-change",[r,t])},setCurrentRow:function(t){if(ot(["clearCurrentRow","clearCurrentColumn"],this),this.currentRow=t,this.highlightCurrentRow){var r=this.$el.querySelectorAll('[data-rowid="'+fe(this,t)+'"]');ae(r,function(n){return pe(n,"row__current")})}return this.$nextTick()},setRadioRow:function(t){return t!==this.selectRow&&this.clearRadioRow(),this.selectRow=t,this.$nextTick()},clearCurrentRow:function(){Object.assign(this,{currentRow:null,hoverRow:null});var t=this.$el.querySelectorAll(".row__current");return ae(t,function(r){return ge(r,"row__current")}),this.$nextTick()},clearRadioRow:function(){var t=this.selectRow;return t&&(this.selectRow=null),this.$nextTick()},getCurrentRow:function(){var t=this.currentRow;return t},getRadioRow:function(){var t=this.selectRow;return t},triggerHeaderCellClickEvent:function(t,r){var n=this._lastResizeTime,i=this.highlightCurrentColumn,o=r.cell,l=r.column,a=this.sortOpts.trigger,s=n&&n>Date.now()-300,c=this.getEventTargetNode(t,o,"tiny-grid-sort-wrapper").flag,u=this.getEventTargetNode(t,o,"tiny-grid-filter-wrapper").flag;if(a==="cell"&&!(s||c||u)){var d=this.toggleColumnOrder(l);this.triggerSortEvent(t,l,d)}var f=z({triggerResizable:s,triggerSort:c,triggerFilter:u},r);return Q(this,"header-cell-click",[f,t]),i?this.setCurrentColumn(l,!0):this.$nextTick()},setCurrentColumn:function(t){ot(["clearCurrentRow","clearCurrentColumn"],this),this.currentColumn=t;var r=this.$el.querySelectorAll("."+t.id);return ae(r,function(n){return pe(n,"col__current")}),this.$nextTick()},clearCurrentColumn:function(){this.currentColumn=null;var t=this.$el.querySelectorAll(".col__current");return ae(t,function(r){return ge(r,"col__current")}),this.$nextTick()},handleChangeCell:function(t,r){var n=this;this.triggerValidate("blur").catch(function(i){return i}).then(function(){n.handleActived(r,t).then(function(){return n.triggerValidate("change")}).catch(function(i){return i})})},triggerCellClickEvent:function(t,r){var n=this.$el,i=this.highlightCurrentRow,o=this.editStore,l=this.radioConfig,a=l===void 0?{}:l,s=this.selectConfig,c=s===void 0?{}:s,u=this.expandConfig,d=u===void 0?{}:u,f=this.treeConfig,h=f===void 0?{}:f,v=this.editConfig,p=this.mouseConfig,g=p===void 0?{}:p,m=o.actived,y=r.row,b=r.column,C=r.cell;Vi(t,b,"radio")||Vi(t,b,"selection","checkbox")||(R1({$el:n,_vm:this,column:b,event:t,expandConfig:d,params:r}),F1({_vm:this,column:b,event:t,params:r,treeConfig:h}),(!b.treeNode||!this.getEventTargetNode(t,n,"tiny-grid-tree-wrapper").flag)&&(b.type!=="expand"||!this.getEventTargetNode(t,n,"tiny-grid__expanded").flag)&&(P1({$el:n,_vm:this,event:t,highlightCurrentRow:i,params:r,radioConfig:a}),H1({$el:n,_vm:this,column:b,event:t,params:r,radioConfig:a}),z1({_vm:this,column:b,event:t,params:r,selectConfig:c}),N1({_vm:this,actived:m,cell:C,column:b,editConfig:v,event:t,mouseConfig:g,params:r,row:y})),Q(this,"cell-click",[r,t]))},triggerCellDBLClickEvent:function(t,r){var n=this,i=this.editStore,o=this.editConfig,l=i.actived,a=!l.args||t.currentTarget!==l.args.cell,s=o&&o.trigger==="dblclick"&&a;s&&o.mode==="row"&&this.triggerValidate("blur").catch(function(c){return c}).then(function(){n.handleActived(r,t).then(function(){return n.triggerValidate("change")}).catch(function(c){return c})}),s&&o.mode==="cell"&&this.handleActived(r,t).then(function(){return n.triggerValidate("change")}).catch(function(c){return c}),Q(this,"cell-dblclick",[r,t])},triggerSortEvent:function(t,r,n){var i=r.property,o=r.type?!1:r.sortable||r.remoteSort;if(this.sortable&&o){var l={$table:this,column:r,order:n,property:i};l.prop=i,l.field=l.prop,n===r.order?(l.order=null,this.clearSort(r.property)):this.sort(i,n),Q(this,"sort-change",[l,t])}},sort:function(t,r){var n=this.remoteSort,i=this.tableFullColumn,o=this.visibleColumn,l=ue(o,function(c){return c.property===t}),a=Be(l.remoteSort)?l.remoteSort:n,s=l.type?!1:l.sortable||l.remoteSort;return this.sortable&&s?(l.order!==r&&(i.forEach(function(c){return c.order=null}),l.order=r,!a&&this.handleTableData(!0).then(this.refreshStyle)),this.$nextTick().then(this.updateStyle)):this.$nextTick()},clearSort:function(){return ae(this.tableFullColumn,function(t){return t.order=null}),this.$grid&&(this.$grid.sortData={}),this.handleTableData(!0).then(this.refreshStyle)},toggleGroupExpansion:function(t){this.groupExpandeds.push(t)},triggerRowExpandEvent:function(t,r){var n=r.row,i=this.toggleRowExpansion(n),o={$table:this,row:n,rowIndex:this.getRowIndex(n)};return Q(this,"toggle-expand-change",[o,t]),i},toggleRowExpansion:function(t){return this.setRowExpansion(t)},handleDefaultRowExpand:function(){var t=this.fullDataRowIdData,r=this.tableFullData,n=this.expandConfig||{},i=n.expandAll,o=n.expandRowKeys;if(i){this.expandeds=r.slice(0);return}if(o){var l=[];o.forEach(function(a){var s=t[a];s&&l.push(s.row)}),this.expandeds=l}},setAllRowExpansion:function(t){return this.expandeds=t?this.tableFullData.slice(0):[],this.$nextTick().then(this.recalculate)},setRowExpansion:function(t,r){var n=this.expandeds,i=this.expandConfig||{},o=i.accordion,l=arguments.length===1,a=!1;return t?(Ee(t)||(t=[t]),o&&(t=t.slice(t.length-1,t.length),t.length&&l&&(a=n.includes(t[0])),n.length=0),t.forEach(function(s){var c=n.indexOf(s);if(l&&~c||!l&&!r&&~c){n.splice(c,1);return}(l&&!a&&!~c||!l&&r&&!~c)&&n.push(s)}),this.$nextTick().then(this.recalculate)):this.$nextTick().then(this.recalculate)},hasRowExpand:function(t){return~this.expandeds.indexOf(t)},clearRowExpand:function(){var t=this,r=this.expandeds.length;return this.expandeds=[],this.$nextTick().then(function(){return r?t.recalculate():0})},getVirtualScroller:function(){var t=this.scrollXLoad,r=this.scrollYLoad,n=this.$refs.tableBody.$el,i=n.scrollLeft,o=n.scrollTop;return{scrollX:t,scrollY:r,scrollLeft:i,scrollTop:o}},triggerScrollXEvent:function(t){this.loadScrollXData(t)},debounceScrollX:function(t){var r=this;this.tasks.debounceScrollX||(this.tasks.debounceScrollXHandler=null,this.tasks.debounceScrollX=function(){return requestAnimationFrame(function(){r.tasks.debounceScrollXHandler=null,r.loadScrollXData(t)})}),this.tasks.debounceScrollXHandler&&(cancelAnimationFrame(this.tasks.debounceScrollXHandler),this.tasks.debounceScrollXHandler=null),this.tasks.debounceScrollXHandler=this.tasks.debounceScrollX()},loadScrollXData:function(){for(var t=this.scrollXStore,r=this.visibleColumn,n=t.offsetSize,i=t.renderSize,o=t.startIndex,l=t.visibleIndex,a=t.visibleSize,s=this.$refs.tableBody.$el.scrollLeft,c={},u=c.preload,d=u===void 0?!1:u,f=c.toVisibleIndex,h=f===void 0?0:f,v=c.width,p=v===void 0?0:v,g=0;g<r.length;g++)if(p+=r[g].renderWidth,s<p){h=g;break}if(l===h){this.clostTooltip();return}var m=Math.min(Math.floor((i-a)/2),a);l>h?(d=o>=h-n,d&&(t.startIndex=Math.max(0,h-Math.max(m,i-a)),this.updateScrollXData())):(d=o+i<=h+a+n,d&&(t.startIndex=Math.max(0,Math.min(r.length-i,h-m)),this.updateScrollXData())),t.visibleIndex=h,this.clostTooltip()},triggerScrollYEvent:function(t){this.loadScrollYData(t)},debounceScrollLoad:function(t){var r=this;this.tasks.debounceScrollLoad||(this.tasks.debounceScrollLoad=Je(zC,function(){var n=r.scrollLoadStore,i=n.scrollHeight,o=n.bodyHeight,l=r.$grid.tablePage,a=l.currentPage,s=l.pageSize,c=i-o,u=t.target.scrollTop;u>c&&(u=c);var d=r.scrollYStore.rowHeight,f=Math.ceil(u/d),h=Math.ceil(f/s)+1;a!==h&&r.$grid.pageCurrentChange(h)})),this.tasks.debounceScrollLoad()},loadScrollYData:function(t){var r=this,n=this.scrollYStore,i=n.startIndex,o=n.renderSize,l=n.offsetSize,a=n.visibleIndex,s=n.visibleSize,c=n.rowHeight,u=t.target.scrollTop,d=Math.ceil(u/c),f=!1;if(a!==d){var h=Math.min(Math.floor((o-s)/2),s);if(d<a)f=i>=d-l,f&&(n.startIndex=Math.max(0,d-Math.max(h,o-s)),this.updateScrollYData());else if(f=i+o<=d+s+l,f){var v=Pi(this);n.startIndex=Math.max(0,Math.min(v-o,d-h)),this.updateScrollYData()}n.visibleIndex=d,this.$nextTick(function(){r.updateSelectedCls(!0)})}},getRowHeight:function(){var t=this.$refs,r=this.vSize,n=this.optimizeOpts.scrollY,i=t.tableBody,o=t.tableHeader,l=n.rHeight;if(!l){var a=i&&i.$el.querySelector("tbody>tr")||o&&o.$el.querySelector("thead>tr")||null;a&&(l=a.clientHeight)}if(!l){var s=["medium","small","mini"],c=[44,40,36],u=s.indexOf(r);l=~u?c[u]:48}return l},computeScrollLoad:function(){var t=this;return this.$nextTick().then(function(){var r=t.$refs,n=t.optimizeOpts,i=t.visibleColumn,o=t.scrollLoad,l=t.scrollXLoad,a=t.scrollXStore,s=t.scrollYLoad,c=t.scrollYStore,u=n.scrollX,d=n.scrollY,f=r.tableBody,h=f?f.$el:null;h&&(Q1({_vm:t,scrollX:u,scrollXLoad:l,scrollXStore:a,tableBodyElem:h,visibleColumn:i}),J1({_vm:t,scrollLoad:o,scrollY:d,scrollYLoad:s,scrollYStore:c,tableBodyElem:h})),t.$nextTick(t.updateStyle)})},updateScrollXData:function(){var t=this,r=this.scrollXLoad,n=this.scrollXStore,i=this.tableColumn,o=this.treeConfig,l=this.visibleColumn,a=this.visibleColumnChanged,s=this.columnStore,c=n.lastStartIndex,u=c===void 0?-1:c,d=n.renderSize,f=n.startIndex,h={lastStartIndex:u,renderSize:d,scrollXLoad:r,startIndex:f,tableColumn:i,columnStore:s};Object.assign(h,{treeConfig:o,visibleColumn:l,visibleColumnChanged:a});var v=C0(h);v.sliced&&(this.updateScrollXSpace(),this.updateScrollStatus()),this.debounceRaf("updateScrollXDataHandler",function(){n.lastStartIndex=v.lastStartIndex,t.tableColumn=v.tableColumn,t.visibleColumnChanged=v.visibleColumnChanged,t.$nextTick(t.updateStyle)})},updateScrollXSpace:function(){var t=this.elemStore,r=this.scrollXLoad,n=this.scrollXStore,i=this.scrollbarWidth,o=this.tableWidth,l=this.visibleColumn,a=n.startIndex,s={},c=s.bodyElem,u=s.footerElem,d=s.headerElem,f=s.leftSpaceWidth,h=s.marginLeft;d=t["main-header-table"],c=t["main-body-table"],u=t["main-footer-table"],f=l.slice(0,a).reduce(function(p,g){return g.fixed==="left"?p:p+g.renderWidth},0),h=r?f+"px":"",d&&(d.style.marginLeft=h),c.style.marginLeft=h,u&&(u.style.marginLeft=h);var v=["header","body","footer"];v.forEach(function(p){var g=t["main-"+p+"-xSpace"],m=p==="header"?i:0;g&&(g.style.width=r?o+m+"px":"")}),this.$nextTick(this.updateStyle)},debounceRaf:function(t,r){var n=this;this[t]&&cancelAnimationFrame(this[t]),this[t]=requestAnimationFrame(function(){n[t]=null,r()})},updateScrollYData:function(){var t=this;this.updateScrollYSpace(),this.debounceRaf("updateScrollYDataHandler",function(){t.handleTableData().then(function(){return t.$nextTick(t.updateStyle)})})},updateScrollYSpace:function(){var t=this.$grid,r=this.elemStore,n=this.scrollLoad,i=this.scrollLoadStore,o=this.scrollYLoad,l=this.scrollYStore,a=l.rowHeight,s=l.startIndex,c=Pi(this),u=c*a,d=t.pagerConfig?t.pagerConfig.total*a:0,f=o||n,h={},v=h.marginTop,p=h.ySpaceHeight;v=f&&o?Math.max(s*a,0)+"px":"",p=f?u+"px":"",i.bodyHeight=u,i.scrollHeight=d;var g=r["main-body-table"];g&&(g.style.transform=v?"translateY("+v+")":"");var m=r["main-body-ySpace"];m&&(m.style.height=p),m&&n&&t&&(Object.assign(i,{bodyHeight:u,scrollHeight:d}),m.firstChild.style.height=d+"px",m.onscroll=this.debounceScrollLoad)},updateScrollLoadBar:function(t){var r=this.$el,n=this.elemStore,i=this.scrollLoad,o=this.scrollLoadStore;if(i&&r.contains(t.target)){var l=t.wheelDelta?t.wheelDelta:-t.detail*40,a=n["main-body-ySpace"],s=o.scrollHeight,c=o.bodyHeight,u=s-c,d=a.scrollTop-l;d=u<d?u:d,d=d<0?0:d,a.scrollTop=d}},scrollTo:function(t,r){var n=this.elemStore,i=n["main-body-wrapper"],o=n["main-header-wrapper"],l=n["main-footer-wrapper"];return Jt(t)&&(i&&(i.scrollLeft=t),l&&(l.scrollLeft=t),o&&(o.scrollLeft=t)),Jt(r)&&i&&(i.scrollTop=r),this.$nextTick()},scrollToRow:function(t,r,n,i){var o=this.fullAllDataRowMap.has(t),l=n||Be(r);return t&&o&&Xp(this,t),this.scrollToColumn(r,l,i)},scrollToTreeRow:function(t){var r=this,n=this.tableFullData,i=this.treeConfig,o=this.treeOpts;if(!i)return this.$nextTick();var l=Me(n,function(s){return s===t},o);if(!l)return this.$nextTick();var a=l.nodes;return a.forEach(function(s,c){c===a.length-1||r.hasTreeExpand(s)||r.setTreeExpansion(s,!0)}),this.$nextTick()},scrollToColumn:function(t,r,n){var i=this,o=this.fullColumnMap.has(t);return t&&o&&Kp(this,t,n),r&&(this.scrollXLoad||this.scrollYLoad)?new Promise(function(l){return setTimeout(function(){return l(i.$nextTick())},50)}):this.$nextTick()},resetScrollTop:function(){this.lastScrollTop=0},clearScroll:function(){var t=this,r=this.scrollXStore,n=this.scrollYStore,i=this.elemStore;return Object.assign(this,{lastScrollLeft:0}),Object.assign(r,{startIndex:0,visibleIndex:0}),Object.assign(n,{startIndex:0,visibleIndex:0}),this.$nextTick(function(){var o=i["main-body-wrapper"],l=i["main-header-wrapper"],a=i["main-footer-wrapper"];t.afterMounted&&(o&&Object.assign(o,{scrollLeft:0,scrollTop:0}),a&&Object.assign(a,{scrollLeft:0}),l&&Object.assign(l,{scrollLeft:0}))}),this.$nextTick()},updateFooter:function(){var t=this,r=this.afterFullData,n=this.footerMethod,i=this.showFooter,o=this.summaryConfig,l=this.tableColumn;if(n&&i){var a=n({columns:l,data:r});a.length&&a.some(function(h){return!Ee(h)})&&(a=[a]),this.footerData=l.length?a:[]}if(o){var s=o.fields,c=o.fraction,u=o.text,d=o.truncate,f=l.map(function(h,v){return v===0?u||"":~s.indexOf(h.property)?sa(Ov(t.afterFullData,h.property),c,d):null});this.footerData=[f]}return this.$nextTick()},updateStatus:function(t,r,n){var i=this,o=!et(r);return this.$nextTick().then(function(){var l=i.$refs,a=i.editRules,s=i.tableData,c=i.validStore,u=l.tableBody;if(!(!t||!u||!a)){n&&n.isValidAlways&&(c.visible=!0);var d=t.column,f=t.row,h="change";if(i.hasCellRules(h,f,d)){var v=s.indexOf(f);st(i,{row:f,rowIndex:v,column:d}).then(function(p){if(p)return i.validCellRules(h,f,d,r).then(function(){o&&c.visible&&qe(f,d,r),i.clearValidate()}).catch(function(g){var m=g.rule;o&&qe(f,d,r),i.showValidTooltip({rule:m,row:f,column:d,cell:p})})})}}})},updateScrollStatus:function(){var t=this;this.tasks.updateScrollStatus||(this.tasks.updateScrollStatus=Je(NC,function(){var r=t.scrollXLoad,n=t.scrollYLoad,i=t.isAsyncColumn;if(i&&(r||n)){var o=t.tableData,l=t.scrollXStore,a=t.scrollYStore,s=t.tableFullData,c=t.scrollDirection,u=c===void 0?"N":c,d=r&&l.visibleIndex===0||n&&a.visibleIndex===0;(d||u!=="N")&&t.handleResolveColumn(s,t.collectAsyncColumn(o))}})),this.tasks.updateScrollStatus()},getAsyncColumnUniqueKey:function(t,r){return t+"_"+r[this.rowId]},getAsyncColumnName:function(t){return B.constant.asyncPrefix+t},collectAsyncColumn:function(t){var r=this,n=[],i=this.rowId,o=this.asyncRenderMap,l=this.tableColumn;return i?(l.forEach(function(a){var s=a.format||{},c=s.async,u=c||{},d=u.fetch,f=u.splitConfig,h=f===void 0?{}:f;if(typeof d=="function"){var v=[];t.forEach(function(p){var g=p[a.property];(typeof g!="string"||typeof g=="string"&&!g)&&(g=" ");var m=1,y=[g],b=r.getAsyncColumnUniqueKey(a.property,p);h.enabled===!0&&(y=g.split(h.valueSplit||","),m=y.length),o[b]||(o[b]=m,y.forEach(function(C){return v.push(C)}))}),v.length&&n.push(z({},a,{columnValues:v}))}}),n):(rt("The (grid-props:rowId) is required for the asynchronous column."),n)},handleAsyncColumn:function(t){this.isAsyncColumn&&t.length&&(this.asyncRenderMap={},this.handleResolveColumn(t,this.collectAsyncColumn(t)))},handleResolveColumn:function(t,r){var n=this.tableColumn,i=this.scrollYStore,o=this.asyncRenderMap,l=this.scrollXLoad,a=this.scrollYLoad,s=i.startIndex,c=l||a;if(r.length!==0){var u=Y1({_vm:this,fetchColumns:r,tableColumn:n});Promise.all(u).then(oC({startIndex:s,fetchColumns:r,tableData:t,asyncRenderMap:o,isScrollLoad:c},this))}},connect:function(t){var r=t.toolbar;this.$toolbar=r},getEventTargetNode:St,handleVisibilityChange:function(t,r){t&&(this.updateParentHeight(),this.updateTableBodyHeight(),this.recalculate()),Q(this,"visible-change",[{$table:this,visible:t,entry:r}])},updateTableBodyHeight:function(){var t=this;this.tasks.updateTableBodyHeight||(this.tasks.updateTableBodyHeight=function(){Cp.measure(function(){var r=t.elemStore["main-body-wrapper"];t.tableBodyHeight=r?r.clientHeight:0})}),this.tasks.updateTableBodyHeight()},toggleColumnOrder:function(t){return t.order?t.order==="asc"?"desc":null:"asc"},watchDataForVue3:function(){var t=this,r=mo([function(){return t.data},function(){return t.data&&t.data.length}],function(n,i){var o=n[0],l=n[1],a=i[0],s=i[1];Array.isArray(t.data)&&o===a&&l!==s&&t.handleDataChange()});Ht(function(){return r()})},getVm:function(t){return this.$grid.getVm(t)}};iC.forEach(function(e){Fl[e]=function(){return this["_"+e]?this["_"+e].apply(this,arguments):null}});var jC=Fl,Ir=function(t){return typeof t=="string"?t:t[0]},Pl=function(t){return t.map(Ir)},Xi=function(t){return Array.isArray(t)&&t.length>1?t[1]:{}},WC=q({props:z({},le,{datas:Object,row:Object}),render:function(){var t=this.datas,r=this.row,n=t.selectionColumn,i=t.genParams,o=t.config,l=i(n,r),a=o.tableVm;~a.selection.indexOf(r);var s=a.selectConfig,c=s===void 0?{}:s,u=c.checkMethod;return typeof u=="function"&&u(l),x("div",{attrs:{"data-tag":"tiny-table-column-type"},class:"py-px"},n.renderCell(x,l))}}),GC=q({inject:["$mftable"],props:z({},le,{datas:Object,row:Object}),render:function(){var t=this,r=this.datas,n=this.row,i=r.primaryColumn,o=r.contentColumns,l=r.genParams,a=r.config,s=r.cardView,c=a.cardConfig,u=c===void 0?{}:c,d={attrs:{"data-tag":"tiny-table-column-content"},class:"my-0.5 truncate space-y-2 sm:space-y-1 [&_[data-tag=tiny-input]]:leading-7 [&_[data-tag=tiny-input-textarea]>span]:pt-0"},f=function(){return{mouseenter:t.handleMouseenter,mouseleave:t.handleMouseleave}};if(!i||!i.renderCell)return x("div",d,[]);var h=null,v=[];if(s){var p=typeof u.logoField<"u",g=!1,m=[],y="",b={},C=null;if(u.tagFields&&u.tagFields.length){var w=u.tagFields;g=!0,m=Pl(w).map(function(R,X){if(!n[R]||typeof n[R]!="string")return null;var G=Xi(w[X]),j="";u.tagColorFields&&u.tagColorFields.length&&u.tagColorFields[X]&&(j=Ir(u.tagColorFields[X]));var k=n[j]||"",_={props:{size:"mini",customClass:"inline-block truncate max-w-[theme(spacing.28)] h-4.5"}};return k&&Object.assign(_.props,{type:k}),G.render?G.render({h:x,row:n,field:R,config:G,value:n[R],color:k}):x(jt,_,n[R]||"")})}u.logoField&&(y=Ir(u.logoField),b=Xi(u.logoField));var $=["grid mb-3",p?"grid-cols-[theme(spacing.11)_auto]":"grid-cols-[auto]"],O="w-11 h-11 overflow-hidden rounded",E=["text-base sm:text-sm text-color-text-primary font-medium leading-5","overflow-hidden text-ellipsis whitespace-normal line-clamp-2 sm:line-clamp-1",{"ml-3":p}],A=["truncate h-4.5",{"ml-3":p}];if(b.render){var D={h:x,row:n,field:y,config:b,value:n[y]};C=b.render(D)}else C=x("img",{class:"w-full h-full",attrs:{src:n[y]||""}});h=x("div",{class:$},[p?x("div",{class:O},[C]):null,x("div",{class:"truncate space-y-1 relative -top-0.5"},[x("div",{class:E,on:f()},[i.renderCell(x,l(i,n))]),g?x("div",{class:A},m):null])])}else{var P=["w-full text-base sm:text-sm text-color-text-primary font-medium leading-5","overflow-hidden text-ellipsis whitespace-normal line-clamp-2 sm:line-clamp-1"];h=x("div",{class:P,on:f()},[i.renderCell(x,l(i,n))])}return v=o.map(function(R){var X=l(R,n),G=["w-full text-sm sm:text-xs text-color-fill-9 font-normal sm:font-normal leading-5 sm:leading-5","overflow-hidden text-ellipsis whitespace-normal "],j=Rt.renderCell(x,X),k=!1;Array.isArray(j)&&(k=Cn(j[0]));var _=k?"inline-block flex-grow [&_span]:leading-5 [&_div[data-tag=tiny-input]]:leading-5 ml-1":"text-color-text-primary",I=k?"flex":"line-clamp-2 sm:line-clamp-1";return x("div",{class:G+I,on:f()},[x("span",{class:"shrink-0"},[Rt.renderHeader(x,X,"card")]),x("span",{},u.split||": "),x("span",{class:_},[j])])}),x("div",d,[h].concat(v))},methods:{handleMouseenter:function(t){var r=this.$mftable;r.showTooltip(t)},handleMouseleave:function(){var t=this.$mftable;t.hideTooltip()}}}),XC=q({props:z({},le,{datas:Object,row:Object}),render:function(){var t=this.datas,r=this.row,n=t.slotLink,i=t.operationColumn,o=t.hasOperation,l=t.genParams,a=l(i,r),s;if(o){var c=i.operationConfig,u=c===void 0?{}:c,d=u.buttons,f=d===void 0?[]:d,h=u.disabledClass,v=h===void 0?"":h,p=[],g=function(C){var w=C.disabled,$=w===void 0?!1:w;return typeof $=="boolean"&&$||typeof $=="function"&&$(r)},m=function(C){var w=C.hidden,$=w===void 0?!1:w;return typeof $=="boolean"&&$||typeof $=="function"&&$(r)},y=function(C){var w=p.find(function($){var O=$.name;return O===C});w.click(window.event||{},z({buttonConfig:w},a))};f.forEach(function(b){return!m(b)&&p.push(b)}),s=p.length===1?x("div",{class:"w-5 h-5 sm:w-4 sm:w-4 "+(g(p[0])?"fill-color-icon-disabled":"fill-color-icon-secondary")+" "},[x(p[0].icon,{on:{click:function(C){g(p[0])||y(p[0].name),C.stopPropagation()}},attrs:{"custom-class":"w-5 h-5 sm:w-4 sm:w-4"}})]):x(Mt,{on:{"item-click":y},props:{trigger:"hover",showSelfIcon:!0,tiny_mode:"mobile-first",tiny_mode_root:!0}},[x(Co(),{class:"mf-table-more outline-none text-base cursor-pointer"}),x(mt,{slot:"dropdown"},p.map(function(b){var C;return x(at,{class:(C={},C[v||""]=g(b),C),props:{itemData:b.name,disabled:g(b)}},b.name)}))])}else s=n({row:r,h:x});return x("div",{attrs:{"data-tag":"tiny-table-column-link"},class:"flex flex-col items-end mt-px sm:mt-0"},[s])}}),YC=q({props:z({},le,{datas:Object,row:Object}),components:{ColumnType:WC,ColumnContent:GC,ColumnLink:XC},computed:{showLink:function(){var t=this.datas;return t.hasLink||t.hasOperation}}});function qC(e,t,r,n,i,o){var l=Z("column-type"),a=Z("column-content"),s=Z("column-link");return S(),M("div",{ref:"layout","data-tag":"tiny-table-column-layout",class:W(["grid",[e.datas.hasType&&e.showLink?"grid-cols-[theme(spacing.7)_auto_theme(spacing.7)]":"",e.datas.hasType&&!e.showLink?"grid-cols-[theme(spacing.7)_auto]":"",!e.datas.hasType&&e.showLink?"grid-cols-[auto_theme(spacing.7)]":"",!e.datas.hasType&&!e.showLink?"grid-cols-[auto]":""]])},[e.datas.hasType?(S(),J(l,{key:0,ref:"type",datas:e.datas,row:e.row},null,8,["datas","row"])):ee("v-if",!0),T(a,{datas:e.datas,row:e.row},null,8,["datas","row"]),e.showLink?(S(),J(s,{key:1,ref:"link",datas:e.datas,row:e.row},null,8,["datas","row"])):ee("v-if",!0)],2)}var KC=Ln(YC,[["render",qC]]),ZC=q({components:{ColumnLayout:KC},props:z({},le,{datas:Object,currentRowId:String}),emits:["card-click"],data:function(){return{mergeClass:Xr}},computed:{row:function(){var t=this.datas;return t.row},rowid:function(){var t=this.datas,r=t.config,n=t.row,i=r.tableVm;return fe(i,n)},isCardType:function(){var t,r=this.datas,n=r.config,i=n==null||(t=n.tableVm)==null?void 0:t.$grid,o=i.viewType;return o==="card"}},methods:{handleClick:function(t){!St(t,this.$el,"tiny-grid-checkbox").flag&&!St(t,this.$el,"mf-table-more").flag&&this.$emit("card-click",this.row,t)}}}),UC=["data-rowid"];function JC(e,t,r,n,i,o){var l=Z("column-layout");return S(),M("div",{class:W(e.mergeClass(e.datas.rowClass,e.currentRowId===e.rowid&&e.isCardType?"border sm:border-2 sm:border-color-brand":"")),"data-tag":"tiny-table-row","data-rowid":e.rowid,onClick:t[0]||(t[0]=function(){return e.handleClick&&e.handleClick.apply(e,arguments)})},[T(l,{datas:e.datas,row:e.row},null,8,["datas","row"])],10,UC)}var QC=Ln(ZC,[["render",JC]]),ew=q({inject:["$mftable"],props:z({},le),render:function(){var t=this.$mftable,r={$table:t.config.tableVm,$mftable:t,config:t.listConfig,rows:t.tableData,columns:t.config.tableVm.tableColumn,h:x};return typeof t.slotList=="function"?t.slotList(r):null}}),tw=q({inject:["$mftable"],props:z({},le),render:function(){var t=this.$mftable,r={$table:t.config.tableVm,$mftable:t,config:t.ganttConfig,rows:t.tableData,columns:t.config.tableVm.tableColumn,h:x};return typeof t.slotGantt=="function"?t.slotGantt(r):null}}),rw=q({components:{TableRow:QC,Tooltip:Yt,Exception:Wt,ListView:ew,GanttView:tw},provide:function(){return{$mftable:this}},props:z({},le,{tableData:Array,cardConfig:Object,listConfig:Object,ganttConfig:Object}),data:function(){return{primaryColumn:null,contentColumns:null,operationColumn:null,selectionColumn:null,slotLink:null,rowKey:0,wrapperHeight:0,tooltipVisible:!1,tooltipContent:"",currentRow:null,currentRowId:""}},computed:{config:function(){var t=this.$parent,r=this.cardConfig,n=this.listConfig;return{tableVm:wr(t),cardConfig:r,listConfig:n}},cardView:function(){var t,r=this.config,n=r==null||(t=r.tableVm)==null?void 0:t.$grid,i=n.viewType,o=n.mfShow,l=B.viewConfig,a=l.CARD,s=l.MF,c=l.MF_SHOW_CARD;return i===a||i===s&&o===c},listView:function(){var t,r=this.config,n=r==null||(t=r.tableVm)==null?void 0:t.$grid,i=n.viewType,o=B.viewConfig.LIST;return i===o},ganttView:function(){var t,r=this.config,n=r==null||(t=r.tableVm)==null?void 0:t.$grid,i=n.viewType,o=B.viewConfig.GANTT;return i===o},wrapperClass:function(){var t,r=this.config;return Xr("w-full h-full overflow-y-auto",r==null||(t=r.tableVm)==null?void 0:t.viewCls("mfTable"),this.exceptionVisible?"sm:border sm:border-solid sm:border-color-border-separator rounded-sm":"")},tableClass:function(){var t=this.cardView,r="w-full px-3.5 sm:px-0";return t?Xr(r,"grid gap-3"):r},cardClass:function(){var t=this.listView,r=this.ganttView,n=this.cardConfig,i="grid-cols-[repeat(auto-fill,minmax(theme(spacing.64),1fr))]",o="grid-cols-[repeat(auto-fill,minmax(theme(spacing.80),1fr))]";return t||r?"":(n==null?void 0:n.cardSize)==="small"?i:o},rowClass:function(){var t=this.cardView,r=this.cardConfig,n="border-b-0.5 sm:border-b border-solid border-color-border-separator last:border-color-bg-1 py-3";return t&&(n="border-0 sm:border border-solid border-color-border-separator p-3 rounded hover:shadow-lg bg-color-bg-1",n+=(r==null?void 0:r.cardSize)==="small"?" min-w-[theme(spacing.64)]":" min-w-[theme(spacing.80)]"),n},wrapperStyle:function(){var t,r,n=this.config,i=this.wrapperHeight,o=(n==null||(t=n.tableVm)==null||(r=t.$grid)==null?void 0:r.viewType)===B.viewConfig.DEFAULT,l=o?"display:none;":"",a=i?"height:"+i+"px;":"";return""+l+a},exceptionVisible:function(){var t,r=this.config,n=this.tableData,i=r==null||(t=r.tableVm)==null?void 0:t.$grid,o=i.viewType,l=B.viewConfig,a=l.CARD,s=l.LIST,c=l.MF,u=n.length===0;return u&&(o===a||o===s||o===c)}},watch:{"config.tableVm.tableColumn":{handler:function(){this.mapColumns()},immediate:!0},"config.tableVm.viewType":{handler:function(){this.rowKey++},immediate:!0},"config.tableVm.height":{handler:function(){this.getWrapperHeight()},immediate:!0},"config.tableVm.parentHeight":{handler:function(){this.getWrapperHeight()},immediate:!0},"config.tableVm.currentRow":{handler:function(t){this.currentRow=t,this.setCurrentRowId()},immediate:!0}},mounted:function(){this.$nextTick(this.getWrapperHeight)},methods:{mapColumns:function(){var t,r,n,i,o,l,a,s,c,u,d=this.config,f=this.typeColumns,h=this.firstFewPropertyColumn,v=this.cardConfig,p=v===void 0?{}:v,g=this.listConfig,m=g===void 0?{}:g,y=this.ganttConfig,b=y===void 0?{}:y,C=d==null||(t=d.tableVm)==null?void 0:t.tableColumn,w=p.primaryField,$=p.contentFields,O=p.selectable,E=p.renderLink,A=p.operable,D=p.few,P=D===void 0?4:D,R=m.renderList,X=b.renderGantt,G="",j=[],k=h(C,P),_,I,F,N,H,V,K;w?(G=Ir(w),_=f(C,[G]).find(function(Y){return Y.property===G})):_=k&&k.length>0?k[0]:void 0,$&&$.length?(j=Pl($),I=f(C,j)):I=k&&k.length>1?k.slice(1):[],(typeof A>"u"||A)&&(F=f(C,["operation"],"type").find(function(Y){return Y.type==="operation"})),(typeof O>"u"||O)&&(N=f(C,["selection"],"type").find(function(Y){return Y.type==="selection"})),H=(d==null||(r=d.tableVm)==null||(n=r.$grid)==null||(i=n.slots)==null?void 0:i.link)||E,V=(d==null||(o=d.tableVm)==null||(l=o.$grid)==null||(a=l.slots)==null?void 0:a.list)||R,K=(d==null||(s=d.tableVm)==null||(c=s.$grid)==null||(u=c.slots)==null?void 0:u.gantt)||X,Object.assign(this,{primaryColumn:_,contentColumns:I,operationColumn:F,selectionColumn:N}),Object.assign(this,{slotLink:H,slotList:V,slotGantt:K})},typeColumns:function(t,r,n){var i=r.map(function(l){return t.find(function(a){return a.visible&&a[n||"property"]===l})}),o=[];return i.forEach(function(l){return l&&o.push(l)}),o},firstFewPropertyColumn:function(t,r){return t.filter(function(n){return n.visible&&!n.type&&n.property}).slice(0,r)},genParams:function(t,r){var n=this.config,i=this.tableData,o=n.tableVm,l=o.tableColumn,a=l.indexOf(t),s=o.getColumnIndex(t),c={column:t,$table:o,$columnIndex:a,columnIndex:s,data:i};if(r){var u=i.indexOf(r),d=o.getRowIndex(r),f=u+1;Object.assign(c,{row:r,$rowIndex:u,rowIndex:d,$seq:"",seq:f})}return c},emitEvent:function(t,r){var n=this.config;Q(n==null?void 0:n.tableVm,t,r)},handleCardClick:function(t,r){var n=this.config,i=this.emitEvent,o=n==null?void 0:n.tableVm,l=o.highlightCurrentRow;if(l){var a;this.currentRow=t,this.setCurrentRowId(),n==null||(a=n.tableVm)==null||a.triggerCurrentRowEvent(r,{$table:n==null?void 0:n.tableVm,row:t})}i.call(this,"card-click",[t,r])},cfg:function(t){var r=this.config,n=this.cardView,i=this.selectionColumn,o=this.slotLink,l=this.primaryColumn,a=this.operationColumn,s=this.contentColumns,c=this.genParams,u=this.rowClass,d=!!i,f=!!o,h=!!a,v={row:t,config:r,cardView:n,selectionColumn:i,slotLink:o,primaryColumn:l,operationColumn:a,contentColumns:s,genParams:c,hasType:d,hasOperation:h,hasLink:f,rowClass:u};return v},getWrapperHeight:function(){var t,r,n=this.config,i=n==null||(t=n.tableVm)==null?void 0:t.$grid,o=(i==null?void 0:i.height)==="auto"?"100%":i==null?void 0:i.height,l=n==null||(r=n.tableVm)==null?void 0:r.parentHeight;this.wrapperHeight=Lt(o)?Math.floor(parseInt(o)/100*l):ze(o)},showTooltip:function(t){var r=this.$refs,n=this.cardConfig,i=n===void 0?{}:n,o=i.showTip;if(o){var l=r.tooltip,a=t.target,s=a.textContent,c=a.getBoundingClientRect(),u=document.createRange();u.setStart(a,0),u.setEnd(a,a.childNodes.length);var d=u.getBoundingClientRect();(d.x+d.width<c.x||d.x+d.width>c.x+c.width||d.y+d.height<c.y||d.y+d.height>c.y+c.height)&&(l.state.referenceElm=a,l.state.popperElm&&(l.state.popperElm.style.display="none"),l.doDestroy(),this.tooltipContent=s,this.tooltipVisible=!0,setTimeout(l.updatePopper,20))}},hideTooltip:function(){this.tooltipVisible=!1,this.tooltipContent=""},setCurrentRowId:function(){var t=this.config,r=this.currentRow;r&&(this.currentRowId=fe(t.tableVm,r))}}});function nw(e,t,r,n,i,o){var l=Z("exception"),a=Z("list-view"),s=Z("gantt-view"),c=Z("table-row"),u=Z("tooltip");return S(),M("div",{"data-tag":"tiny-table-wrapper",class:W(["scrollbar-size-0",e.wrapperClass]),style:be(e.wrapperStyle)},[e.exceptionVisible?(S(),J(l,{key:0,tiny_mode:"mobile-first",tiny_mode_root:"",class:"min-h-[theme(spacing.72)]","component-page":"",type:"nodata"})):ee("v-if",!0),L("div",{"data-tag":"tiny-table",class:W([e.tableClass,e.cardClass]),ref:"table"},[e.listView?(S(),J(a,{key:0})):e.ganttView?(S(),J(s,{key:1})):(S(!0),M(ve,{key:2},Le(e.tableData,function(d,f){return S(),J(c,{key:""+e.rowKey+f,datas:e.cfg(d),"current-row-id":e.currentRowId,onCardClick:e.handleCardClick},null,8,["datas","current-row-id","onCardClick"])}),128))],2),T(u,{ref:"tooltip",modelValue:e.tooltipVisible,"onUpdate:modelValue":t[0]||(t[0]=function(d){return e.tooltipVisible=d}),content:e.tooltipContent,manual:""},null,8,["modelValue","content"])],6)}var iw=Ln(rw,[["render",nw]]),Hl=B.themes,lr=B.viewConfig,ow=Hl.TINY,lw=Hl.SAAS,Yi=lr.DEFAULT,aw=lr.MF,sw=lr.CARD,cw=lr.LIST,uw=lr.MF_SHOW_LIST;function dw(e){if(In(e)||De("ui.grid.error.rowIdEmpty"),!me._edit&&e.editConfig)throw new Error(ar(De("ui.grid.error.reqModule"),{name:"Edit"}));if(!me._valid&&e.editRules)throw new Error(ar(De("ui.grid.error.reqModule"),{name:"Validator"}));if(!me._keyboard&&(e.keyboardConfig||e.mouseConfig))throw new Error(ar(De("ui.grid.error.reqModule"),{name:"Keyboard"}));if(!me._resize&&e.autoResize)throw new Error(ar(De("ui.grid.error.reqModule"),{name:"Resize"}))}function qi(e,t){e&&Object.assign(t,{startIndex:0,visibleIndex:0,adaptive:Be(e.adaptive)?e.adaptive:!0,renderSize:ze(e.rSize),offsetSize:ze(e.oSize)})}function fw(e,t){e&&e.length>0&&t.loadTableData(e,!0).then(function(){t.handleDefault(),t.updateStyle()})}function hw(e){if(e.treeConfig){var t=e.treeConfig.ordered;ut(t)&&(e.treeConfig.ordered=!0)}}function vw(e){var t=e.dropConfig;if(t){var r=t.plugin,n=t.column,i=n===void 0?!0:n,o=t.row,l=o===void 0?!0:o;r&&(i&&e.columnDrop(),l&&e.rowDrop())}}var pw=function(t){var r=t._vm,n=t.tableData,i=t.$slots,o=t.renderEmpty;return function(){var l=null,a=r.computerTableBodyHeight;if(r.isCenterEmpty&&!n.length){var s,c=r.viewType===sw||r.viewType===cw;i.empty?s=i.empty.call(r,x):o?s=[o(x,r)]:s=[x("p",{class:"tiny-grid__empty-img"}),x("span",{class:"tiny-grid__empty-text"},B.i18n("ui.grid.emptyText"))],l=x("div",{class:[{"empty-center-block":!c},r.viewCls("emptyData")],style:{height:a}},s)}return l}},gw=function(t){var r=t._vm,n=t.showFooter,i=t.footerData,o=t.footerMethod,l=t.tableColumn,a=t.visibleColumn,s=t.vSize;return function(){var c=[null];return n&&(c=x(mr,{props:{footerData:i,footerMethod:o,tableColumn:l,visibleColumn:a,size:s},ref:"tableFooter",class:r.viewCls("tableFooter")})),c}},mw=function(t){var r=t._vm,n=t.isResizable,i=t.overflowX,o=t.scrollbarHeight;return function(){var l=[null];return n&&(l=x("div",{class:["tiny-grid__resizable-bar",r.viewCls("resizeBar")],style:i?{"padding-bottom":o+"px"}:null,ref:"resizeBar",key:"tinyGridResizeBar"})),l}},bw=function(t){var r=t.hasFilter,n=t.optimizeOpts,i=t.filterStore,o=t.isCtxMenu,l=t.ctxMenuStore,a=t.hasTip,s=t.tooltipContentOpts,c=t.editRules,u=t.validOpts,d=t.height,f=t.tableData,h=t.vaildTipOpts,v=t.id,p=t._vm;return function(){var g=[null],m=[null],y=[null],b=[null],C=u.isMessageDefault,w=u.isMessageTooltip;return r&&(g=x(Vn,{props:{optimizeOpts:n,filterStore:i},ref:"filterWrapper"})),o&&(m=x(jn,{props:{ctxMenuStore:l},ref:"ctxWrapper"})),a&&(y=x(Yt,{ref:"tooltip",props:s})),a&&c&&(C?!d:w)&&(b=x(Yt,{class:"tiny-grid__valid-error",props:w||f.length===1?h:null,ref:"validTip"})),x("div",{class:"tiny-grid"+v+"-wrapper "+(p.$attrs.staticClass||""),ref:"tableWrapper"},[g,m,y,b])}},yw=function(t){var r=t.selectToolbar,n=t.selectToolbarStore,i=t.renderedToolbar;return function(){var o=[null];return r&&(o=x("div",{ref:"selectToolbar",class:"tiny-grid__select-toolbar",style:[n.layout,{visibility:n.visible?"visible":"hidden"}]},i||[null])),o}};function Cw(e){var t=e.$slots,r=e._vm,n=e.optimizeOpts,i=e.overflowX,o=e.props,l=e.showFooter,a=e.showHeader,s=e.tableColumn,c=e.tableData,u=e.vSize,d=e.visibleColumn,f=r.$grid,h=r.ctxMenuStore,v=r.editRules,p=r.filterStore,g=r.footerData,m=r.footerMethod,y=r.hasFilter,b=r.hasTip,C=r.height,w=r.id,$=r.isCtxMenu,O=r.isResizable,E=r.renderEmpty,A=r.scrollbarHeight,D=r.selectToolbarStore,P=r.tooltipContentOpts,R=r.vaildTipOpts,X=r.validOpts,G=f.selectToolbar,j=f.renderedToolbar,k=function(){return a?x(gr,{ref:"tableHeader",props:o,class:r.viewCls("tableHeader")}):[null]},_=pw({_vm:r,tableData:c,$slots:t,renderEmpty:E}),I=gw({_vm:r,showFooter:l,footerData:g,footerMethod:m,tableColumn:s,visibleColumn:d,vSize:u}),F=mw({_vm:r,isResizable:O,overflowX:i,scrollbarHeight:A}),N={hasFilter:y,optimizeOpts:n,filterStore:p,isCtxMenu:$,ctxMenuStore:h,hasTip:b,tooltipContentOpts:P},H={editRules:v,validOpts:X,height:C,tableData:c,vaildTipOpts:R,id:w,_vm:r},V=bw(Object.assign(N,H)),K=yw({selectToolbar:G,selectToolbarStore:D,renderedToolbar:j});return{renderHeader:k,renderEmptyPart:_,renderFooter:I,renderResizeBar:F,renderPluginWrapper:V,renderSelectToolbar:K}}var ww=function(t){var r=t.showFooterBorder,n=t.footerBorderBottom,i=["tiny-grid__footer-border-line",t.viewCls("footerBorder")],o="bottom:"+n+"px;";return r?x("div",{ref:"footerBorder",class:i,style:o}):null};function Sw(e){var t,r=e.vSize,n=e.editConfig,i=e.showHeader,o=e.showFooter,l=e.overflowY,a=e.overflowX,s=e.showOverflow,c=e.showHeaderOverflow,u=e.highlightCell,d=e.optimizeOpts,f=e.stripe,h=e.border,v=e.isGroup,p=e.mouseConfig,g=e.loading,m=e.highlightHoverRow,y=e.highlightHoverColumn,b=e.validOpts,C=e.stripeSaas,w=e.borderSaas,$=e.borderVertical,O=e.isThemeSaas,E={showHeader:"show__head",showFooter:"show__foot",overflowY:"scroll__y",overflowX:"scroll__x",loading:"is__loading",highlightHoverRow:"row__highlight",highlightHoverColumn:"column__highlight"};return{class:(t={"tiny-grid h-full sm:h-auto !bg-transparent sm:!bg-color-bg-1 after:border-none sm:after:border-solid":!0},t["row__valid-"+b.message]=!0,t["size__"+r]=r,t["tiny-grid-editable"]=n,t[E.showHeader]=i,t[E.showFooter]=o,t[E.overflowY]=l,t[E.overflowX]=a,t["all-overflow"]=s,t["all-head-overflow"]=c,t["tiny-grid-cell__highlight"]=u,t["tiny-grid__animat"]=d.animat,t["tiny-grid__stripe"]=!O&&f,t["tiny-grid__stripe-saas"]=O&&C,t["tiny-grid__border"]=h||v,t["tiny-grid__border-saas"]=O&&w,t["tiny-grid__group-saas"]=O&&v,t["tiny-grid__border-vertical"]=$,t["tiny-grid__checked"]=p.checked,t["mark-insert"]=n&&n.markInsert,t["edit__no-border"]=n&&n.showBorder===!1,t[E.loading]=g,t[E.highlightHoverRow]=m,t[E.highlightHoverColumn]=y,t)}}var $w={asyncRenderMap:{},collectColumn:[],columnStore:{autoList:[],centerList:[],leftList:[],rightList:[],pxList:[],pxMinList:[],resizeList:[],scaleList:[],scaleMinList:[]},ctxMenuStore:{list:[],selectChild:null,selected:null,showChild:!1,style:null,visible:!1},currentRow:null,editStore:{editorAutoRefreshKey:0,actived:{column:null,row:null},checked:{columns:[],rows:[],tColumns:[],tRows:[]},copyed:{columns:[],cut:!1,rows:[]},indexs:{columns:[]},insertList:[],removeList:[],selected:{column:null,row:null},titles:{columns:[]}},expandeds:[],filterStore:{column:null,condition:{input:"",relation:"equals"},id:"",multi:!1,options:[],visible:!1},footerData:[],groupData:{},groupFolds:[],headerCheckDisabled:!1,isAllSelected:!1,isIndeterminate:!1,overflowX:!1,overflowY:!0,scrollLoadStore:{bodyHeight:0,scrollHeight:0},scrollXLoad:!1,scrollYLoad:!1,scrollbarHeight:0,scrollbarWidth:0,selectRow:null,selectToolbarStore:{layout:{height:0,left:0,top:0,width:0,zIndex:1},visible:!1},selection:[],tableColumn:[],tableData:[],tableFullColumn:[],tooltipContent:"",tooltipContentPre:!1,treeExpandeds:[],treeIndeterminates:[],validStore:{column:null,content:"",isArrow:!1,row:null,rule:null,visible:!1},validTipContent:"",validatedMap:{},visibleColumn:[],showFooterBorder:!1,footerBorderBottom:0,tableBodyHeight:0,parentHeight:0},xw=function(){var t={afterFullData:[],elemStore:{},footerHeight:0,fullAllDataRowIdData:{},fullAllDataRowMap:new Map,fullColumnIdData:{},fullColumnMap:new Map,fullDataRowIdData:{},fullDataRowMap:new Map,parentRowMap:new Map,temporaryRows:[],headerHeight:0,lastScrollLeft:0,lastScrollTop:0,parentHeight:0,scrollDirection:"N",scrollXStore:{},scrollYStore:{},tableFullData:[],tableHeight:0,tableWidth:0,tooltipStore:{},afterMounted:!1,tasks:{},isColumnInitReady:!1,isColumnReady:!1};return t},Ki=function(t){Ae.on(t,"mousedown",t.handleGlobalMousedownEvent),Ae.on(t,"mousedown",t.handleGlobalMousedownCaptureEvent,!0),Ae.on(t,"blur",t.handleGlobalBlurEvent),Ae.on(t,"mousewheel",t.handleGlobalMousewheelEvent),Ae.on(t,"keydown",t.handleGlobalKeydownEvent),Ae.on(t,"resize",t.handleGlobalResizeEvent),Ae.on(t,"contextmenu",t.handleGlobalContextmenuEvent)},Zi=function(t){Ae.off(t,"mousedown"),Ae.off(t,"mousedown",!0),Ae.off(t,"blur"),Ae.off(t,"mousewheel"),Ae.off(t,"keydown"),Ae.off(t,"resize"),Ae.off(t,"contextmenu")},Ue=q({name:re+"GridTable",props:{align:{type:String,default:function(){return B.align}},autoResize:Boolean,border:{type:Boolean,default:function(){return B.border}},cellClassName:[String,Function],columnKey:Boolean,columnMinWidth:[Number,String],columnWidth:[Number,String],contextMenu:Object,customs:Array,data:[Array,Object],dropConfig:Object,editConfig:[Object,Boolean],editRules:Object,expandConfig:Object,fit:{type:Boolean,default:function(){return B.fit}},footerAlign:{type:String,default:function(){return B.footerAlign}},footerCellClassName:[String,Function],footerMethod:Function,footerRowClassName:[String,Function],footerSpanMethod:Function,headerAlign:{type:String,default:function(){return B.headerAlign}},headerCellClassName:[String,Function],headerRowClassName:[String,Function],headerSuffixIconAbsolute:Boolean,height:[Number,String],highlightCell:Boolean,highlightCurrentColumn:{type:Boolean,default:function(){return B.highlightCurrentColumn}},highlightCurrentRow:{type:Boolean,default:function(){return B.highlightCurrentRow}},highlightHoverColumn:{type:Boolean,default:function(){return B.highlightHoverColumn}},highlightHoverRow:{type:Boolean,default:function(){return B.highlightHoverRow}},isAsyncColumn:Boolean,isCenterEmpty:Boolean,isDragHeaderSorting:Boolean,keyboardConfig:Object,loading:Boolean,loadingComponent:Object,maxHeight:[Number,String],minHeight:[Number,String],mouseConfig:Object,optimization:Object,params:Object,radioConfig:Object,remoteFilter:Boolean,remoteSort:Boolean,renderEmpty:Function,renderRowAfter:Function,resizable:{type:Boolean,default:function(){return B.resizable}},rowClassName:[String,Function],rowGroup:Object,rowId:{type:String,default:function(){return B.rowId}},rowKey:Boolean,rowSpan:Array,scrollLoad:Object,selectConfig:Object,showFooter:Boolean,showHeader:{type:Boolean,default:function(){return B.showHeader}},showHeaderOverflow:{type:[Boolean,String],default:function(){return B.showHeaderOverflow}},showOverflow:{type:[Boolean,String],default:function(){return B.showOverflow}},size:{type:String,default:function(){return B.size}},sortConfig:Object,sortMethod:Function,sortable:{type:Boolean,default:!0},spanMethod:Function,startIndex:{type:Number,default:0},stripe:{type:Boolean,default:function(){return B.stripe}},stripeSaas:{type:Boolean,default:function(){return B.stripeSaas}},borderSaas:{type:Boolean,default:function(){return B.borderSaas}},borderVertical:{type:Boolean,default:function(){return B.borderVertical}},summaryConfig:Object,syncResize:Boolean,tableLayout:String,tooltipConfig:{type:Object,default:function(){return{}}},treeConfig:Object,validConfig:Object,cardConfig:Object,viewType:{type:String,default:function(){return Yi}},mfShow:{type:String,default:function(){return uw}},columnAnchor:Array,renderFooter:Function,listConfig:Object,ganttConfig:Object,prefetch:[Boolean,Array],intersectionOption:Object,equals:Function,operationColumnResizable:{type:Boolean,default:function(){return B.operationColumnResizable}},autoClearMouseChecked:{type:Boolean,default:!0}},provide:function(){return{$table:this,$column:null}},inject:{$grid:{default:null}},data:function(){return ye(!0,{id:ep()},$w)},computed:{bodyCtxMenu:function(){return this.ctxMenuOpts.body&&this.ctxMenuOpts.body.options?this.ctxMenuOpts.body.options:[]},ctxMenuList:function(){var t=[];return this.ctxMenuStore.list.forEach(function(r){return r.forEach(function(n){return t.push(n)})}),t},ctxMenuOpts:function(){return ye(!0,{},B.menu,this.contextMenu)},hasFilter:function(){return this.tableColumn.some(function(t){return ao(t.filter)&&!ta(t.filter)})},hasTip:function(){return me._tooltip},headerCtxMenu:function(){return this.ctxMenuOpts.header&&this.ctxMenuOpts.header.options?this.ctxMenuOpts.header.options:[]},isCtxMenu:function(){return this.headerCtxMenu.length||this.bodyCtxMenu.length},isGroup:function(){return this.collectColumn.some(function(t){return _r(t)})},isResizable:function(){return this.resizable||this.tableFullColumn.some(function(t){return t.resizable})},optimizeOpts:function(){return ye(!0,{},B.optimization,this.optimization)},sortOpts:function(){return ye(!0,{},B.sortConfig,this.sortConfig)},tooltipContentOpts:function(){return ye(!0,{content:this.tooltipContent,pre:this.tooltipContentPre,placement:"right",type:this.tooltipConfig.effect?void 0:"normal"},this.tooltipConfig)},vSize:function(){return this.size||this.$parent&&this.$parent.size||this.$parent&&this.$parent.vSize},vaildTipOpts:function(){return ye(!0,{isArrow:!1,placement:"top",type:"error",content:this.validTipContent},this.tooltipConfig)},validOpts:function(){var t,r,n=Object.assign({message:"tooltip"},B.validConfig,(t=this.$grid)==null||(r=t.designConfig)==null?void 0:r.validConfig,this.validConfig);return n.isMessageTooltip=n.message==="tooltip",n.isMessageDefault=n.message==="default",n.isMessageInline=n.message==="inline",n},computerTableBodyHeight:function(){return this.tableBodyHeight===0?"calc(100% - 36px)":this.tableBodyHeight+"px"},isThemeTiny:function(){return this.tinyTheme===ow},isThemeSaas:function(){return this.tinyTheme===lw},isViewDefault:function(){return this.viewType===Yi},isShapeTable:function(){return this.isViewDefault||this.viewType===aw&&this.$grid.currentBreakpoint!=="default"}},watch:{collectColumn:function(t){this.watchColumn(t)},customs:function(t){!this.isUpdateCustoms&&this.mergeCustomColumn(t),this.isUpdateCustoms=!1},height:function(){this.$nextTick(this.recalculate)},data:function(){this.handleDataChange()},syncResize:function(t){t&&this.$nextTick(this.recalculate)},tableColumn:function(){this.analyColumnWidth(),this.handleSelectionHeader()},parentHeight:function(){this.$nextTick(this.recalculate)}},created:function(){var t=Object.assign(this,xw()),r=t.scrollXStore,n=t.scrollYStore,i=t.optimizeOpts,o=t.data,l=i.scrollX,a=i.scrollY;dw(this),qi(l,r),qi(a,n),fw(o,this),hw(this),vw(this),Ki(this),this.watchDataForVue3(),this.$grid.connect({name:"table",vm:this})},mounted:function(){var t=this;this.$refs.tableWrapper&&document.body.appendChild(this.$refs.tableWrapper),this.$nextTick().then(function(){t.afterMounted=!0,t.autoResize&&me._resize&&t.bindResize()}),setTimeout(function(){var r=t.$refs.tableFooter;t.showFooterBorder=!!r,t.footerBorderBottom=r?r.$el.getBoundingClientRect().height:0})},activated:function(){var t=this.lastScrollLeft,r=this.lastScrollTop,n=this.scrollXLoad,i=this.scrollYLoad;(t||r)&&(this.scrollTo(t,r),n&&this.triggerScrollXEvent(),i&&this.triggerScrollYEvent({target:{scrollTop:r}})),Ki(this)},setup:function(t,r){var n=r.slots,i=r.attrs,o=r.listeners,l=nr().proxy,a=qr(so(t,r));Ht(function(){var c=l.elemStore,u=l.$refs,d=["main","left","right"],f=u.tableWrapper;f&&f.parentNode&&f.parentNode.removeChild(f),me._resize&&l.unbindResize(),l.closeFilter(),l.closeMenu(),l.columnSortable&&l.columnSortable.destroy(),l.rowSortable&&l.rowSortable.destroy(),d.forEach(function(h){var v=c[h+"-body-ySpace"];v&&(v.onscroll=null)}),Zi(l),S0(l)}),$a(function(){Zi(l)});var s=On(i,o);return{slots:n,tableListeners:s,tinyTheme:a}},render:function(){var t=this.border,r=this.collectColumn,n=this.columnStore,i=this.editConfig,o=this.highlightCell,l=this.highlightHoverColumn,a=this.highlightHoverRow,s=this.isGroup,c=this.loading,u=this.loadingComponent,d=this.mouseConfig,f=d===void 0?{}:d,h=this.optimizeOpts,v=this.overflowX,p=this.overflowY,g=this.showFooter,m=this.showHeader,y=this.showHeaderOverflow,b=this.showOverflow,C=this.isThemeSaas,w=this.stripe,$=this.tableColumn,O=this.tableData,E=this.validOpts,A=this.vSize,D=this.visibleColumn,P=this.slots,R=this.$slots,X=this.stripeSaas,G=this.borderSaas,j=this.isShapeTable,k=this.borderVertical,_=this.cardConfig,I=this.listConfig,F=this.ganttConfig,N=n.leftList,H=n.rightList,V={tableData:O,tableColumn:$,visibleColumn:D,collectColumn:r,size:A,isGroup:s};Object.assign(V,{cardConfig:_,listConfig:I,ganttConfig:F});var K={$slots:P,_vm:this,leftList:N,optimizeOpts:h,overflowX:v,props:V,rightList:H};Object.assign(K,{showFooter:g,showHeader:m,tableColumn:$,tableData:O,vSize:A,visibleColumn:D});var Y=Cw(K),Ce=Y.renderHeader,we=Y.renderEmptyPart,Fe=Y.renderFooter,ft=Y.renderResizeBar,ht=Y.renderPluginWrapper,Fr=Y.renderSelectToolbar;return K={vSize:A,editConfig:i,showHeader:m,showFooter:g,overflowY:p,overflowX:v,showOverflow:b},Object.assign(K,{showHeaderOverflow:y,highlightCell:o,optimizeOpts:h,stripe:w,border:t,isGroup:s,mouseConfig:f}),Object.assign(K,{loading:c,highlightHoverRow:a,highlightHoverColumn:l,validOpts:E}),Object.assign(K,{stripeSaas:X,borderSaas:G,borderVertical:k,isThemeSaas:C}),x("div",Sw(K),[x("div",{class:"tiny-grid-hidden-column",ref:"hideColumn"},typeof R.default=="function"?R.default():R.default),Ce(),we(),x(br,{ref:"tableBody",props:V,class:this.viewCls("tableBody")}),Fe(),x("div",{class:["tiny-grid__border-line",this.viewCls("borderLine")],key:"tinyGridBorderLine"}),ft(),x(Dl,{props:{visible:c,loadingComponent:u},class:this.viewCls("gridLoading")}),ht(),Fr(),j?null:x(iw,{ref:"mfTable",props:V}),ww(this)])},methods:z({},jC,{handleDataChange:function(){Array.isArray(this.data)&&(!this._isUpdateData&&this.loadTableData(this.data,!0).then(this.handleDefault).then(this.handleSelectionHeader),this._isUpdateData=!1)},viewCls:function(t){return this.$grid.viewCls(t)}})});Ue.install=function(e){me.Vue=e,me.Table=Ue,e.component(Ue.name,Ue)};var Wr=q({name:re+"GridColumn",componentName:"GridColumn",props:z({},le,{align:String,className:[String,Function],editor:[Object,Function],field:String,filter:{},filterMethod:Function,filterMultiple:{type:Boolean,default:!0},filterRender:Object,filters:Array,fixed:String,footerAlign:String,footerClassName:[String,Function],formatConfig:{type:Object,default:function(){return{data:[]}}},formatText:[Function,String],formatValue:Function,group:{type:Boolean,default:!1},headerAlign:String,headerClassName:[String,Function],indexMethod:Function,label:String,minWidth:[Number,String],params:Object,prop:String,remoteSort:{type:Boolean,default:null},renderer:[Object,Function],required:{type:Boolean,default:!1},resizable:{type:Boolean,default:null},rules:Object,showHeaderOverflow:{type:[Boolean,String],default:null},showHeaderTip:{type:Boolean,default:null},showIcon:{type:Boolean,default:!0},showOverflow:{type:[Boolean,String],default:null},showTip:{type:Boolean,default:null},sortBy:[String,Array],sortMethod:Function,sortable:{type:Boolean,default:!1},title:[String,Function],treeNode:Boolean,type:String,width:[Number,String],operationConfig:Object,equals:Function}),provide:function(){return{$column:this}},setup:function(t,r){var n=r.slots,i=go,o=Ht,l=xa,a=nr,s=_a,c=mo,u=Dr,d=wr,f=a(),h=f.proxy,v=l("$grid"),p=l("$table"),g=l("$column",null),m={},y=i({columnConfig:Rt.createColumn(p,t),slots:n,cacheKey:d({uid:f.uid}),firstRow:!v.fetchOption&&v.data&&v.data.length?v.data[0]:{}});return c(function(){return t.formatConfig},function(){y.columnConfig=Rt.createColumn(p,t)}),s(function(){var b=Object.keys(h.slots||{}).some(function(C){var w;return((w=m)==null?void 0:w[C])!==h.slots[C]});b&&(m=z({},h.slots),y.columnConfig.slots=m)}),u(function(){return Hp(p,g,h)}),o(function(){return Pp(p,h)}),y},render:function(){var t=this.slots,r=this.firstRow,n=this.columnConfig,i;try{i=t.default&&t.default({row:r,column:n,skip:!0})}catch{i=null,rt("ui.grid.error.chainCallError")}return x("div",i)},methods:Rt});Wr.install=function(e){e.component(Wr.name,Wr)};var _w=B.themes,Wn=B.viewConfig,kw=_w.SAAS,Tw=Wn.GANTT,zl=Wn.MF,Ew=Wn.CARD,Iw=Object.keys(Ue.props);function Ow(e){var t,r=e.h,n=e._vm,i=e.vSize,o=e.props,l=e.selectToolbar,a=e.$slots,s=e.tableOns,c=e.renderedToolbar,u=e.loading,d=e.pagerConfig,f=e.pager,h=e.tableLoading,v=e.viewType,p=e.columnAnchorParams,g=e.columnAnchor,m=e.fullScreenClass;return r("div",{class:(t={},t["tiny-grid__wrapper tiny-grid view_"+v]=!0,t["!bg-transparent sm:!bg-color-bg-1"]=v===zl||v===Ew,t["size__"+i]=i,t["tiny-grid__animat"]=o.optimization.animat,t[m]=!0,t)},[l?null:c,g?n.renderColumnAnchor(p,n):null,r(Ue,{props:o,on:s,ref:"tinyTable"},a.default&&a.default()),n.renderPager({$slots:a,_vm:n,loading:u,pager:f,pagerConfig:d,tableLoading:h,vSize:i})])}var Ke=q({name:re+"Grid",provide:function(){return{$grid:this}},props:z({},le,{columns:Array,proxyConfig:Object,fetchData:Object,saveData:Object,deleteData:Object,toolbar:Object,pager:Object,dataset:Object,autoLoad:{type:Boolean,default:!0},seqSerial:{type:Boolean,default:!1},events:Object},Ue.props,{isBeforePageChange:Boolean,showSaveMsg:{type:Boolean,default:!1},isMultipleHistory:Boolean,selectToolbar:[Boolean,Object]}),data:function(){return{emitter:ra(),fetchOption:null,filterData:[],listeners:{},pagerConfig:null,pendingRecords:[],sortData:{},tableCustoms:[],tableData:[],tableLoading:!1,tablePage:{total:0,pageSize:10,currentPage:1},columnAnchorParams:{},columnAnchorKey:"",tasks:{},fullScreenClass:"",isInitialLoading:!0}},computed:{isMsg:function(){return this.proxyOpts.message!==!1},tableProps:function(){var t=this,r={};return Iw.forEach(function(n){return r[n]=t[n]}),r},proxyOpts:function(){return ye(!0,{},B.grid.proxyConfig,this.proxyConfig)},vSize:function(){return this.size||this.$parent&&this.$parent.size||this.$parent&&this.$parent.vSize},seqIndex:function(){var t=this.seqSerial,r=this.scrollLoad,n=this.pagerConfig,i=this.startIndex,o=i;return(t||r)&&n&&(o=(n.currentPage-1)*n.pageSize+i),o},isThemeSaas:function(){return this.tinyTheme===kw},isModeMobileFirst:function(){return this.tinyMode==="mobile-first"},isViewGantt:function(){return this.viewType===Tw}},watch:{columns:function(t){this.loadColumn(t)},tableCustoms:function(){this.toolbar&&this.$refs.toolbar&&this.$refs.toolbar.loadStorage()},columnAnchorParams:function(){var t=this;setTimeout(function(){return t.emitter.emit("active-anchor")},this.columnAnchorParams.activeAnchor.delay)},viewType:function(t){var r=this;t===zl&&this.fullScreenClass&&this.$nextTick(function(){return r.recalculate(!0)})}},created:function(){this.vmStore=Object.create(null),this.fetchOption=this.initFetchOption(),this.pagerConfig=this.initPagerConfig();var t=this.customs,r=this.events,n=this.prefetch,i=this.fetchOption,o=this.autoLoad;if(t&&(this.tableCustoms=t),r){var l={};for(var a in r)if(Object.prototype.hasOwnProperty.call(r,a)){var s=a.replace(/\B([A-Z])/g,"-$1").toLowerCase();l[s]=r[a],~["pageChange","sortChange","filterChange","toolbarButtonClick"].indexOf(a)&&this.emitter.on(s,r[a])}this.listeners=l}n&&i&&o!==!1&&(Array.isArray(n)?this.commitProxy("prefetch",n):this.commitProxy("prefetch"))},mounted:function(){var t=this.columns,r=this.fetchOption,n=this.autoLoad,i=this.pagerSlot,o=this.prefetch;if(i){var l=i.componentOptions.listeners,a=l===void 0?{}:l,s=i.componentInstance;a["size-change"]||s.$on("size-change",this.pageSizeChange),a["current-change"]||s.$on("current-change",this.pageCurrentChange)}if(t&&t.length&&this.loadColumn(this.columns),!o&&r){if(this._pageSizeChangeCallback)this._pageSizeChangeCallback(),this._pageSizeChangeCallback=null;else if(n){var c=this.getVm("toolbar");this.commitProxy("query",c&&c.orderSetting())}}this.isMultipleHistory&&this.initMultipleHistory(),this.addIntersectionObserver()},setup:function(t,r){var n=r.listeners,i=r.attrs,o=On(i,n),l=qr(so(t,r)),a=qr(na(t,r)),s=ia(),c=function(d,f,h){var v=h.designConfig,p=v===void 0?null:v;return{tableListeners:o,designConfig:p,tinyTheme:l,tinyMode:a,currentBreakpoint:s.current}};return Ht(function(){var u=nr().proxy;u.removeIntersectionObserver(),u.vmStore=null}),ce({props:t,context:r,renderless:c,api:["designConfig","tableListeners","tinyTheme","tinyMode","currentBreakpoint"]})},render:function(){var t=this,r=this.editConfig,n=this.fetchOption,i=this.listeners,o=this.loading,l=this.optimization,a=this.pager,s=this.pagerConfig,c=this.remoteFilter,u=this.remoteSort,d=this.selectToolbar,f=this.seqIndex,h=this.slots,v=this.tableCustoms,p=this.tableData,g=this.tableListeners,m=this.tableLoading,y=this.tableProps,b=this.toolbar,C=this.vSize,w=this.designConfig,$=this.viewType,O=this.columnAnchor,E=this.columnAnchorParams,A=this.fullScreenClass;w!=null&&w.icons&&Object.assign(B.icon,w.icons);var D=z({},B.optimization,l),P=z({},y,{optimization:D,startIndex:f});(w==null?void 0:w.stripe)!==void 0&&!P.stripe&&(P.stripe=w==null?void 0:w.stripe);var R=z({},i,g),X=this.handleRowClassName,G=this.sortChangeEvent,j=this.filterChangeEvent;n&&(Object.assign(P,{loading:o||m,data:p,rowClassName:X}),u&&(R["sort-change"]=G),c&&(R["filter-change"]=j)),b&&!(b.setting&&b.setting.storage)&&(P.customs=v),b&&(R["update:customs"]=function(_){return t.tableCustoms=_}),R["column-init-ready"]=this.handleColumnInitReady,r&&(P.editConfig=z({trigger:"click",mode:"cell",showStatus:!0},r,{activeMethod:this.handleActiveMethod}));var k=this.getRenderedToolbar({$slots:h,_vm:this,loading:o,tableLoading:m,toolbar:b});return Ow({h:x,_vm:this,vSize:C,props:P,selectToolbar:d,renderedToolbar:k,tableOns:R,$slots:h,loading:o,pager:a,pagerConfig:s,tableLoading:m,viewType:$,columnAnchorParams:E,columnAnchor:O,fullScreenClass:A})},methods:{updateParentHeight:function(){var t=this;this.tasks.updateParentHeight||(this.tasks.updateParentHeight=Je(10,function(){var r=t.$el,n=t.$refs,i=n.tinyTable,o=t.getVm("toolbar");i&&(i.parentHeight=r.parentNode.clientHeight-(o?o.$el.clientHeight:0)-(n.pager?n.pager.$el.clientHeight:0))})),this.tasks.updateParentHeight()},connect:function(t){var r=t.name,n=t.vm;r&&typeof r=="string"&&n&&(this.vmStore[r]=n)},createJob:function(t,r){t==="pageSizeChangeCallback"?this._pageSizeChangeCallback=r:t==="updateCustomsCallback"&&(this._updateCustomsCallback=r)},getVm:function(t){if(t&&typeof t=="string"&&this.vmStore)return this.vmStore[t]},handleColumnInitReady:function(){this._updateCustomsCallback&&(this._updateCustomsCallback(),this._updateCustomsCallback=null)},handleRowClassName:function(t){var r=this.rowClassName,n=[];return this.pendingRecords.includes(t.row)&&n.push("row__pending"),n.concat(r?r(t):[])},handleActiveMethod:function(t){return!~this.pendingRecords.indexOf(t.row)&&(!this.editConfig.activeMethod||this.editConfig.activeMethod(t))},sortChangeEvent:function(t){var r=this.remoteSort,n=t.column,i=ye(!1,{$grid:this},t);(Be(n.remoteSort)?n.remoteSort:r)&&(this.sortData=t,this.tablePage.currentPage=1,this.commitProxy("query")),Q(this,"sort-change",i),this.emitter.emit("sort-change",i)},viewCls:function(t){return B.viewConfig[t][this.viewType]||""},addIntersectionObserver:function(){var t=this;this.intersectionOption&&this.intersectionOption.disabled||(this.intersectionObserver=new IntersectionObserver(function(r){var n=r[0];if(r.length>1){var i=r.find(function(o){return o.isIntersecting});i&&(n=i)}t.handleVisibilityChange(n.isIntersecting,n)},this.intersectionOption),this.intersectionObserver.observe(this.$el))},removeIntersectionObserver:function(){this.intersectionObserver&&(this.intersectionObserver.unobserve(this.$el),this.intersectionObserver.disconnect(),this.intersectionObserver=null)},filterChangeEvent:function(t){var r=ye(!1,{$grid:this},t);this.remoteFilter&&(this.filterData=t.filters,this.commitProxy("query")),Q(this,"filter-change",r),this.emitter.emit("filter-change",r)}}});Ke.install=function(e){e.component(Ke.name,Ke)};function Mw(e){var t=e.actived,r=e.column,n=e.editConfig,i=e.row;return t.row!==i||(n.mode==="cell"?t.column!==r:!1)}function Aw(e){var t=e.editConfig,r=e.params;return!t.activeMethod||t.activeMethod(r)}function Dw(e){var t=e._vm,r=e.actived,n=e.canActive,i=e.cell,o=e.column,l=e.editConfig,a=e.event,s=e.params,c=e.row,u=e.tableColumn,d=e.type;return n&&((t.keyboardConfig||t.mouseConfig)&&(t.clearCopyed(a),t.clearChecked(),t.clearSelected(a)),t.clostTooltip(),t.clearActived(a),d="edit-actived",o.renderHeight=i.offsetHeight,r.args=s,r.row=c,r.column=o,l.mode==="row"?u.forEach(function(f){return t._getColumnModel(c,f)}):t._getColumnModel(c,o),t.$nextTick(function(){t.handleFocus(s,a)})),d}function Lw(e){var t=e._vm,r=e.canActive,n=e.event;r||t.clearActived(n)}function Rw(e){var t=e._vm,r=e.actived,n=e.cell,i=e.column,o=e.editor,l=e.event,a=e.isActiveCell,s=e.params,c=e.row;if(o&&n&&!a){var u=r.column;if(u!==i){var d=u.model;d.update&&qe(c,u,d.value),t.clearValidate()}i.renderHeight=n.offsetHeight,r.args=s,r.column=i,setTimeout(function(){t.handleFocus(s,l)})}}function Fw(e){var t=e._vm,r=e.editStore,n=e.newRecords,i=e.newRecordsCopy,o=e.nowData,l=e.row,a=e.tableFullData,s=e.tableSourceData;if(l===-1&&(Array.prototype.push.apply(o,n),Array.prototype.push.apply(a,n),Array.prototype.push.apply(s,i)),l&&l!==-1){var c=o.indexOf(l);if(c===-1)throw new Error(De("ui.grid.error.unableInsert"));var u=a.indexOf(l);Array.prototype.splice.apply(o,[c,0].concat(n)),Array.prototype.splice.apply(a,[u,0].concat(n)),Array.prototype.splice.apply(s,[u,0].concat(i))}l||(Array.prototype.unshift.apply(o,n),Array.prototype.unshift.apply(a,n),Array.prototype.unshift.apply(s,i)),Array.prototype.unshift.apply(r.insertList,n),Array.prototype.push.apply(t.temporaryRows,i)}var Pw=function(t,r){var n=this,i=function(){if(!t||!r)return n.$nextTick();var l=ue(n.visibleColumn,function(s){return s.property===r});if(!l||!l.editor)return n.$nextTick();var a=function(c){if(c){var u=n.getRowIndex(t),d=n.getColumnIndex(l);n.handleActived({row:t,rowIndex:u,column:l,columnIndex:d,cell:c,$table:n}),n.lastCallTime=Date.now()}};return st(n,{row:t,column:l}).then(a),n.$nextTick()};return this.scrollToRow(t,!0).then(i)},Hw={_insert:function(t){return this.insertAt(t)},_insertAt:function(t,r){var n=this,i=this.afterFullData,o=this.editStore,l=this.isAsyncColumn,a=this.scrollYLoad,s=this.tableFullData,c=this.tableSourceData,u=c===void 0?[]:c,d=this.treeConfig;if(d)throw new Error(De("ui.grid.error.treeInsert"));if(l){var f=this.getColumns();f.forEach(function(m){m.format&&m.format.async&&m.format.async.fetch&&(t[B.constant.insertedField]=!0)})}Ee(t)||(t=[t]);var h=i,v=t.map(function(m){return go(n.defineField(z({},m)))}),p=Dt(v,!0);Fw({_vm:this,editStore:o,newRecords:v,newRecordsCopy:p,nowData:h,row:r,tableFullData:s,tableSourceData:u}),this.updateCache(!0),this.handleTableData(!0),this.checkSelectionStatus(),a&&this.updateScrollYSpace();var g={row:v.length?v[v.length-1]:null,rows:v};return this.$nextTick().then(function(){return n.recalculate(),g})},_remove:function(t){var r=this,n=this.afterFullData,i=this.scrollYLoad,o=this.selectConfig,l=o===void 0?{}:o,a=this.selection,s=this.tableFullData,c=this.treeConfig,u=this.tableSourceData,d=u===void 0?[]:u,f=this.editStore,h=f.insertList,v=f.removeList,p=l.checkField,g=n,m=[],y=t,b=function(E,A){return~A.indexOf(E)};if(c)throw new Error(De("ui.grid.error.treeRemove"));y||(t=s),y&&!Ee(y)&&(t=[y]);for(var C=0;C<t.length;C++){var w=t[C];this.hasRowInsert(w)||v.push(w)}p||Oe(a,function(O){return b(O,t)}),s===t?(t=s.slice(0),s.length=0,g.length=0):(m=Oe(s,function(O){return b(O,t)}),Oe(g,function(O){return b(O,t)})),Oe(d,function(O){return ue(h,function(E){return fe(r,E)===fe(r,O)})&&ue(t,function(E){return fe(r,E)===fe(r,O)})}),Oe(h,function(O){return b(O,t)}),this.updateCache(!0),this.handleTableData(!0),this.checkSelectionStatus(),i&&this.updateScrollYSpace();var $={row:t&&t.length?t[t.length-1]:null,rows:m};return this.$nextTick().then(function(){return r.recalculate(),$})},_removeSelecteds:function(){var t=this,r=this.getSelectRecords(!0),n=function(o){return t.clearSelection(),o};return this.remove(r).then(n)},_revert:function(){return rt("ui.grid.error.delRevert"),this.revertData.apply(this,arguments)},_revertData:function(t,r){var n=this,i=this.tableSourceData,o=this.tableSynchData;arguments.length&&t&&!Ee(t)&&(t=[t]),arguments.length||(t=o||[]);for(var l=function(){var c=t[a],u=ue(i,function(d){return fe(n,c)===fe(n,d)});u&&c&&(r?xe(c,r,te(u,r)):Wo(c,u))},a=0;a<t.length;a++)l();return arguments.length?this.$nextTick():this.reloadData(o)},_getRecordset:function(){var t={};return t.insertRecords=this.getInsertRecords(),t.removeRecords=this.getRemoveRecords(),t.updateRecords=this.getUpdateRecords(),t},_getRemoveRecords:function(){return this.editStore.removeList},_getInsertRecords:function(){return this.editStore.insertList},_getUpdateRecords:function(){var t=this,r=this.tableFullData,n=this.treeConfig,i=function(a){return!t.isTemporaryRow(a)&&t.hasRowChange(a)},o=n?xr(r,i,n):r.filter(i);return o},handleActived:function(t,r){var n=this;return Sy(hn().mark(function i(){var o,l,a,s,c,u,d,f,h,v,p,g;return hn().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(o=n.editConfig,l=n.editStore,a=n.tableColumn,s=t.cell,c=t.column,u=t.row,d=c.editor,f=l.actived,h=Mw({actived:f,column:c,editConfig:o,row:u}),!(d&&s&&h)){y.next=15;break}return v="edit-disabled",y.next=9,Aw({editConfig:o,params:t});case 9:p=y.sent,g={_vm:n,actived:f,canActive:p,cell:s,column:c,editConfig:o},Object.assign(g,{event:r,params:t,row:u,tableColumn:a,type:v}),v=Dw(g),Lw({_vm:n,canActive:p,event:r}),Q(n,v,[t,r]);case 15:return Rw({_vm:n,actived:f,cell:s,column:c,editor:d,event:r,isActiveCell:h,params:t,row:u}),y.abrupt("return",n.$nextTick());case 17:case"end":return y.stop()}},i)}))()},_getColumnModel:function(t,r){var n=r.model,i=r.editor;i&&(n.value=zt(t,r),n.update=!1)},_setColumnModel:function(t,r){var n=r.model,i=r.editor;i&&n.update&&(qe(t,r,n.value),n.update=!1,n.value=null)},_getActiveRow:function(){var t=this.$el,r=this.editStore,n=this.tableData,i=r.actived,o=i.args,l=i.row,a=t.querySelectorAll(".tiny-grid-body__column.col__actived").length;return o&&~n.indexOf(l)&&a?z({},o):null},_clearActived:function(t){var r=this,n=this.editConfig,i=n===void 0?{}:n,o=this.editStore,l=this.tableColumn,a=o.actived,s=a.args,c=a.column,u=a.row,d=u||c;if(d&&i.mode==="row"&&l.forEach(function(m){return r._setColumnModel(u,m)}),d&&i.mode!=="row"&&this._setColumnModel(u,c),d){var f;this.updateFooter();var h=s.row,v=s.column,p=v||{},g=p.editor;(g==null?void 0:g.component)==="input"&&(g==null||(f=g.attrs)==null?void 0:f.type)==="number"&&(h[v.property]=+h[v.property]),Q(this,"edit-closed",[s,t])}return a.args=null,a.column=null,a.row=null,this.clearValidate().then(this.recalculate)},_hasActiveRow:function(t){return this.editStore.actived.row===t},handleFocus:function(t){var r=t.cell,n=t.column,i=n.editor;if(i){var o,l=Pn.get(i.component),a=i.autofocus,s=i.autoselect,c=i.focusDelay,u=function(){a&&(o=r.querySelector(a));var f=l&&l.autofocus;if(f&&!o&&(o=r.querySelector(f)),!!o){var h=o.type;if(o.type="text",o.selectionEnd=o.value.length,o.selectionStart=o.selectionEnd,o.type=h,o[s?"select":"focus"](),$t.name==="ie"){var v=o.createTextRange();v.collapse(!1),v.select()}}};setTimeout(u,c||50)}},_setActiveCell:Pw,_setActiveRow:function(t){var r=ue(this.visibleColumn,function(n){return n.editor});return this.setActiveCell(t,r.property)},_setSelectCell:function(t,r){var n=this,i=this.editConfig,o=this.tableData,l=this.visibleColumn;if(!t||!r||i.trigger==="manual")return this.$nextTick();var a=ue(l,function(u){return u.property===r}),s=o.indexOf(t);if(!~s||!a)return this.$nextTick();var c=function(d){var f=l.indexOf(a),h={row:t,rowIndex:s,column:a,columnIndex:f,cell:d};n.handleSelected(h,{})};return st(this,{row:t,rowIndex:s,column:a}).then(c),this.$nextTick()},updateSelectedCls:function(t){var r=this.editStore,n=this.elemStore,i=this.mouseConfig,o=i===void 0?{}:i,l=r.selected,a=l.column,s=l.row;if(t&&this.clearSelected(!0),!(!o.selected||!s||!a)){var c=n["main-body-list"],u=fe(this,s),d=c.querySelector('[data-rowid="'+u+'"]');d&&pe(d.querySelector("."+a.id),"col__selected")}},handleSelected:function(t,r){var n=this,i=this.editConfig,o=this.editStore,l=this.elemStore,a=this.mouseConfig,s=a===void 0?{}:a,c=o.actived,u=o.selected,d=t||{},f=d.cell,h=d.column,v=d.row,p=function(){if(u.row===v&&u.column===h||c.row===v&&(i.mode!=="cell"||c.column===h)||((n.keyboardConfig||n.mouseConfig)&&(n.clearChecked(r),n.clearIndexChecked(),n.clearHeaderChecked(),n.clearSelected(r)),n.clearActived(r),u.args=t,u.row=v,u.column=h,n.updateSelectedCls(),!s.checked))return n.$nextTick();var m=l["main-header-list"];return n.handleChecked([[f]]),m&&(n.handleHeaderChecked([[m.querySelector("."+(h&&h.id))]]),n.handleIndexChecked([[f&&f.parentNode&&f.parentNode.querySelector(".col__index")]])),n.$nextTick()};return p=Je(20,p),p()}},zw={install:function(t){me._edit=1,Object.assign(t.methods,Hw)}},Nw={install:function(t){me._export=1,Object.assign(t.methods,Rm)}};function Bw(e){var t=e.checkColumn,r=e.columnIndex,n=e.isLeft,i=e.rowIndex,o=e.tableData,l=e.targetColumn,a=e.targetColumnIndex,s=e.targetRow,c=e.targetRowIndex,u=e.visibleColumn;if(!n)return{targetColumn:l,targetColumnIndex:a,targetRow:s,targetRowIndex:c};for(var d=r-1;d>=0;d--)if(t(u[d])){a=d,l=u[d];break}if(l||i<=0)return{targetColumn:l,targetColumnIndex:a,targetRow:s,targetRowIndex:c};c=i-1,s=o[c];for(var f=u.length-1;f>=0;f--)if(t(u[f])){a=f,l=u[f];break}return{targetColumn:l,targetColumnIndex:a,targetRow:s,targetRowIndex:c}}function Vw(e){var t=e.checkColumn,r=e.columnIndex,n=e.isLeft,i=e.rowIndex,o=e.tableData,l=e.targetColumn,a=e.targetColumnIndex,s=e.targetRow,c=e.targetRowIndex,u=e.visibleColumn;if(n)return{targetColumn:l,targetColumnIndex:a,targetRow:s,targetRowIndex:c};for(var d=r+1;d<u.length;d++)if(t(u[d])){a=d,l=u[d];break}if(l||i>=o.length-1)return{targetColumn:l,targetColumnIndex:a,targetRow:s,targetRowIndex:c};c=i+1,s=o[c];for(var f=0;f<u.length;f++)if(t(u[f])){a=f,l=u[f];break}return{targetColumn:l,targetColumnIndex:a,targetRow:s,targetRowIndex:c}}function jw(e){var t=e._vm,r=e.args,n=e.edit,i=e.editConfig,o=e.event,l=e.isLeft,a=e.params,s=e.rowIndex,c=e.targetColumn,u=e.targetColumnIndex,d=e.targetRow,f=e.targetRowIndex;c&&(d?(a.rowIndex=f,a.row=d):a.rowIndex=s,a.columnIndex=u,a.column=c,st(t,a).then(function(h){a.cell=h,i&&(i.trigger==="click"||i.trigger==="dblclick")&&(i.mode==="row"||n?t.handleActived(a,o):(t.handleSelected(a,o),t.scrollToRow(a.row,a.column,!1,{isLeftArrow:l,isRightArrow:!l,from:r.column})))}))}function Ww(e){var t=e._vm,r=e.bodyList,n=e.cell,i=e.cellFirstElementChild,o=e.cellLastElementChild,l=e.flag,a=e.headStart,s=e.headerList,c=e.isIndex,u=e.startCellNode,d=e.targetElem;if(l){if(c){var f=d.parentNode.firstElementChild;t.handleChecked(Ie(r,ie(f.nextElementSibling),ie(o))),t.handleIndexChecked(Ie(r,ie(f),ie(n)))}else if(!gn(d,"col__index")){var h=d.parentNode.firstElementChild,v=[].indexOf.call(d.parentNode.children,d),p=s[0].children[v];t.handleHeaderChecked(Ie(s,ie(p),ie(a))),t.handleIndexChecked(Ie(r,ie(h),ie(i))),t.handleChecked(Ie(r,u,ie(d)))}}}function Gw(e){var t=e.$el,r=e._vm,n=e.bodyList,i=e.cell,o=e.cellFirstElementChild,l=e.cellLastElementChild,a=e.headStart,s=e.headerList,c=e.isIndex,u=e.startCellNode,d=r.mouseConfig,f=d===void 0?{}:d,h=f||{},v=h.updateInterval,p=v===void 0?10:v,g=document.onmousemove,m=document.onmouseup,y=function(w){w.preventDefault();var $=St(w,t,"tiny-grid-body__column"),O=$.flag,E=$.targetElem,A={_vm:r,bodyList:n,cell:i,cellFirstElementChild:o,cellLastElementChild:l,flag:O};Object.assign(A,{headStart:a,headerList:s,isIndex:c,startCellNode:u,targetElem:E}),Ww(A)},b=vo(p,!1,y,!0);document.onmousemove=b,document.onmouseup=function(){document.onmousemove=g,document.onmouseup=m}}function Xw(e){var t=e._vm,r=e.actived,n=e.cell,i=e.checked,o=e.column,l=e.editConfig,a=e.event,s=e.isLeftBtn,c=e.mouseConfig,u=e.params,d=e.row;l&&(r.row!==d||!(l.mode==="cell"&&r.column===o))&&!(s&&c.checked)&&c.selected&&l.trigger==="dblclick"&&(!i.rowNodes||!i.rowNodes.some(function(f){return~f.indexOf(n)}))&&t.handleSelected(u,a)}function Yw(e){var t=e._vm,r=e.editConfig,n=e.event,i=e.mouseConfig,o=e.params;!r&&i.selected&&t.handleSelected(o,n)}function qw(e){var t=e._vm,r=e.bodyList,n=e.cell,i=e.cellLastElementChild,o=e.event,l=e.headerList,a=e.isIndex,s=e.params,c=e.visibleColumn;if(a){var u=n.parentNode.firstElementChild;s.columnIndex++,s.column=c[s.columnIndex],s.cell=n.nextElementSibling,t.handleSelected(s,o),t.handleChecked(Ie(r,ie(u.nextElementSibling),ie(i))),t.handleHeaderChecked([l[0].querySelectorAll(".tiny-grid-header__column:not(.col__index)")]),t.handleIndexChecked(Ie(r,ie(u),ie(n)))}}function Kw(e){var t=e._vm,r=e.cell,n=e.column,i=e.event,o=e.headerList,l=e.isIndex,a=e.params;if(!l){var s=r.parentNode.firstElementChild;t.handleSelected(a,i),t.handleHeaderChecked([[o[0].querySelector("."+n.id)]]),t.handleIndexChecked([[s]])}}function Zw(e){var t=e.$el,r=e._vm,n=e.bodyList,i=e.cell,o=e.headerList,l=e.startCell,a=document.onmousemove,s=document.onmouseup,c=function(f){f.preventDefault();var h=St(f,t,"tiny-grid-header__column"),v=h.flag,p=h.targetElem;if(!v){var g=St(f,t,"tiny-grid-body__column");v=g.flag,p=g.targetElem}if(v&&!gn(p,"col__index")){var m=[].concat(p.parentNode.children).indexOf(p),y=n[n.length-1].children[m],b=o[0].children[m];r.handleHeaderChecked(Ie(o,ie(b),ie(i))),r.handleChecked(Ie(n,ie(l),ie(y)))}},u=vo(80,!1,c,!0);pe(t,"tiny-grid-cell__checked"),document.onmousemove=u,document.onmouseup=function(){ge(t,"tiny-grid-cell__checked"),document.onmousemove=a,document.onmouseup=s}}var Ui=function(t,r){return ae(t.$el.querySelectorAll("."+r),function(n){return ge(n,r)})},Uw=function(t){var r=t.cell,n=t.bodyList,i=r.parentNode,o=Zt(i.children,r),l=Zt(n,i);return{rIndex:l,cIndex:o}},Ji=function(t){var r=t.offsetTop,n=t.offsetLeft,i=t.cWidth,o=t.cHeight,l=function(s,c){return s&&Object.assign(s.style,c)};return function(a,s,c,u){l(a,{top:r+"px",left:n+"px",width:i+"px"}),l(s,{top:r+"px",left:n+i+"px",height:o+"px"}),l(c,{top:r+o+"px",left:n+"px",width:i+"px"}),l(u,{top:r+"px",left:n+"px",height:o+"px"})}},Jw={moveTabSelected:function(t,r,n,i){var o=this.editConfig,l=this.hasIndexColumn,a=this.tableData,s=this.visibleColumn,c=z({},t),u=s.indexOf(c.column),d=a.indexOf(c.row),f={},h=f.targetColumn,v=f.targetColumnIndex,p=f.targetRow,g=f.targetRowIndex;n.preventDefault();var m=function(w){return!l(w)&&(i?w.editor:!0)},y={columnIndex:u,checkColumn:m,isLeft:r,tableData:a,rowIndex:d,targetColumn:h};Object.assign(y,{targetRowIndex:g,targetColumnIndex:v,targetRow:p,visibleColumn:s});var b=Bw(y);h=b.targetColumn,v=b.targetColumnIndex,p=b.targetRow,g=b.targetRowIndex,y={checkColumn:m,columnIndex:u,isLeft:r,rowIndex:d,tableData:a,targetColumn:h},Object.assign(y,{targetColumnIndex:v,targetRow:p,targetRowIndex:g,visibleColumn:s}),b=Vw(y),h=b.targetColumn,v=b.targetColumnIndex,p=b.targetRow,g=b.targetRowIndex,y={_vm:this,args:t,edit:i,editConfig:o,event:n,isLeft:r,params:c,rowIndex:d},Object.assign(y,{targetColumn:h,targetColumnIndex:v,targetRow:p,targetRowIndex:g}),jw(y)},moveCurrentRow:function(t,r,n){var i=this,o=this.afterFullData,l=this.currentRow,a=this.treeConfig,s;if(n.preventDefault(),a){var c=Me(o,function(h){return h===l},a),u=c.index,d=c.items;t&&u>0?s=d[u-1]:r&&u<d.length-1&&(s=d[u+1])}else{var f=o.indexOf(l);t&&f>0?s=o[f-1]:r&&f<o.length-1&&(s=o[f+1])}s&&this.scrollToRow(s).then(function(){return i.triggerCurrentRowEvent(n,{$table:i,row:s})})},moveSelected:function(t){var r=this,n=t.args,i=t.isLeftArrow,o=t.isUpArrow,l=t.isRightArrow,a=t.isDownArrow,s=t.event,c=this.hasIndexColumn,u=this.tableColumn,d=this.tableFullData,f=z({},n),h=f.column,v=u.indexOf(h);if(s.preventDefault(),o&&f.rowIndex)f.row=d[--f.rowIndex];else if(a&&f.rowIndex<d.length-1)f.row=d[++f.rowIndex];else if(i&&v){for(var p=v-1;p>=0;p--)if(!c(u[p])){f.columnIndex=p,f.column=u[p];break}}else if(l){for(var g=v+1;g<u.length;g++)if(!c(u[g])){f.columnIndex=g,f.column=u[g];break}}st(this,f).then(function(m){f.cell=m,r.handleSelected(f,s),r.scrollToRow(f.row,f.column,!1,{isLeftArrow:i,isRightArrow:l,from:h})})},triggerHeaderCellMousedownEvent:function(t,r){var n=this,i=this.$el,o=this.elemStore,l=this.mouseConfig,a=l===void 0?{}:l,s=this.tableData,c=o["main-header-list"].children,u=o["main-body-list"].children,d=r.cell,f=r.column,h=f.type==="index",v=u[0].querySelector("."+f.id),p=t.button,g=p===0;if(!(!g||!a.checked)){if(h){this.handleAllChecked(t),this.closeMenu();return}if(t.preventDefault(),t.stopPropagation(),this.clearSelected(t),this.clearHeaderChecked(),this.clearIndexChecked(),Zw({$el:i,_vm:this,bodyList:u,cell:d,headerList:c,startCell:v}),this.handleHeaderChecked([[d]]),!u.length){this.closeMenu();return}var m=u[0],y=u[u.length-1],b=m.querySelector(".col__index"),C=y.querySelector("."+f.id);r.rowIndex=0,r.row=s[0],st(this,r).then(function(w){r.cell=w,n.handleSelected(r,t);var $=Ie(u,ie(b),ie(y.querySelector(".col__index")));n.handleIndexChecked($),n.handleChecked(Ie(u,ie(v),ie(C)))}),this.closeMenu()}},triggerCellMousedownEvent:function(t,r){var n=this.$el,i=this.editConfig,o=this.editStore,l=this.elemStore,a=this.mouseConfig,s=a===void 0?{}:a,c=this.visibleColumn,u=o.actived,d=o.checked,f=t.button,h=r.cell,v=r.column,p=r.row,g=f===0,m;if(i&&(u.row!==p||!(i.mode==="cell"&&u.column===v))&&g&&s.checked){t.preventDefault(),t.stopPropagation(),this.clearHeaderChecked(),this.clearIndexChecked();var y=v.type==="index",b=ie(h),C=l["main-header-list"].children,w=l["main-body-list"].children,$=h.parentNode.firstElementChild,O=h.parentNode.lastElementChild,E=[].concat(h.parentNode.children).indexOf(h),A=C[0].children[E];m={$el:n,_vm:this,bodyList:w,cell:h,cellFirstElementChild:$},Object.assign(m,{cellLastElementChild:O,headStart:A,headerList:C,isIndex:y,startCellNode:b}),Gw(m),m={_vm:this,bodyList:w,cell:h,cellLastElementChild:O},Object.assign(m,{event:t,headerList:C,isIndex:y,params:r,visibleColumn:c}),qw(m),Kw({_vm:this,cell:h,column:v,event:t,headerList:C,isIndex:y,params:r}),this.closeFilter(),this.closeMenu()}m={_vm:this,actived:u,cell:h,checked:d,column:v,editConfig:i},Object.assign(m,{event:t,isLeftBtn:g,mouseConfig:s,params:r,row:p}),Xw(m),Yw({_vm:this,editConfig:i,event:t,mouseConfig:s,params:r})},_clearSelected:function(t){var r=this.editStore.selected,n=this.elemStore;t||(r.row=null,r.column=null);var i=n["main-body-list"],o=n["main-header-list"];if(i){var l=i.querySelector(".col__selected");ge(l,"col__selected")}return o&&ae(o.querySelectorAll(".col__title-selected"),function(a){return ge(a,"col__title-selected")}),this.$nextTick()},_clearChecked:function(){var t=this.$refs,r=this.editStore,n=this.mouseConfig,i=r.checked;if(!n||!n.checked)return this.$nextTick();Object.assign(i,{columns:[],rows:[],tColumns:[],tRows:[],rowNodes:[]});var o=t.tableBody;return o.$refs.checkBorders.style.display="none",Ui(o,"col__checked"),this.$nextTick()},_getMouseCheckeds:function(){var t=this,r=this.editStore.checked.rowNodes,n=r===void 0?[]:r,i={},o=i.rows,l=o===void 0?[]:o,a=i.columns,s=a===void 0?[]:a,c={rows:l,columns:s,rowNodes:n};return n&&n.length&&(c.rows=n.map(function(u){return t.getRowNode(u[0].parentNode).item}),c.columns=n[0].map(function(u){return t.getColumnNode(u).item})),c},_getMouseSelecteds:function(){var t=this.editStore.selected,r=t.args,n=t.column;return!r||!n?null:ye(!0,{},r)},handleChecked:function(t){var r=this.$refs,n=this.mouseConfig;if(!(!n||!n.checked)){var i={},o=i.cHeight,l=i.cWidth,a=i.offsetLeft,s=i.offsetTop;l=o=-2,s=a=0,this.clearChecked(),ae(t,function(m,y){ae(m,function(b,C){var w=y===0,$=C===0;w&&($&&(s=b.offsetTop,a=b.offsetLeft),l+=b.offsetWidth),$&&(o+=b.offsetHeight),pe(b,"col__checked")})});var c=Ji({offsetTop:s,offsetLeft:a,cWidth:l,cHeight:o}),u=r.tableBody,d=u.$refs,f=d.checkBorders,h=d.checkTop,v=d.checkRight,p=d.checkBottom,g=d.checkLeft;f.style.display="none",c(h,v,p,g),f.style.display="block",this.editStore.checked.rowNodes=t}},handleAllChecked:function(t){var r=this,n=this.elemStore,i=this.mouseConfig,o=i===void 0?{}:i,l=this.tableData,a=this.visibleColumn;if(o.checked){t.preventDefault();var s=ue(a,function(y){return y.type==="index"})||a[0],c="."+s.id,u=n["main-header-list"],d=u.children,f=u.querySelector(c),h=n["main-body-list"].children,v=h[0],p=v.querySelector(c),g=h[h.length-1],m={$table:this,rowIndex:0,row:l[0]};m.column=ue(a,function(y){return y.property}),m.columnIndex=this.getColumnIndex(m.column),st(this,m).then(function(y){m.cell=y,r.handleSelected(m,t),r.handleHeaderChecked(Ie(d,ie(f.nextElementSibling),ie(f.parentNode.lastElementChild))),r.handleIndexChecked(Ie(h,ie(p),ie(g.querySelector(c)))),r.handleChecked(Ie(h,ie(p.nextElementSibling),ie(g.lastElementChild)))})}},handleIndexChecked:function(t){this.clearIndexChecked(),ae(t,function(r){ae(r,function(n){pe(n,"col__index-checked")})}),this.editStore.indexs.rowNodes=t},_clearIndexChecked:function(){var t=this.elemStore["main-body-list"].querySelectorAll(".col__index-checked"),r=function(i){return ge(i,"col__index-checked")};return ae(t,r),Object.assign(this.editStore.indexs,{rowNodes:[]}),this.$nextTick()},handleHeaderChecked:function(t){this.clearHeaderChecked(),ae(t,function(r){ae(r,function(n){pe(n,"col__title-checked")})}),this.editStore.titles.rowNodes=t},_clearHeaderChecked:function(){var t=this.elemStore["main-header-list"];if(t){var r=function(i){return ge(i,"col__title-checked")};ae(t.querySelectorAll(".col__title-checked"),r)}return this.$nextTick()},_clearCopyed:function(){var t=this.$refs,r=this.editStore,n=this.keyboardConfig,i=r.copyed;if(!n||!n.isCut)return this.$nextTick();var o=t.tableBody;return i.cut=!1,i.rows=[],i.columns=[],o.$refs.copyBorders.style.display="none",Ui(o,"col__copyed"),this.$nextTick()},handleCopyed:function(t){var r=this.editStore,n=this.tableColumn,i=this.tableData,o=r.copyed,l=r.checked.rowNodes,a={},s=a.cHeight,c=a.cWidth,u=a.offsetLeft,d=a.offsetTop,f=a.rows,h=f===void 0?[]:f,v=a.columns,p=v===void 0?[]:v;if(c=s=-3,d=u=0,this.clearCopyed(),!!l){if(l.length){var g=l[0],m=g[0],y=g.length,b=ie(m),C=b.rowIndex,w=b.columnIndex;p=n.slice(w,w+y),h=i.slice(C,C+l.length)}ae(l,function(G,j){ae(G,function(k,_){var I=j===0,F=_===0;I&&(F&&(d=k.offsetTop,u=k.offsetLeft),c+=k.offsetWidth),F&&(s+=k.offsetHeight),pe(k,"col__copyed")})});var $=Ji({offsetTop:d,offsetLeft:u,cWidth:c,cHeight:s}),O=this.$refs.tableBody,E=O.$refs,A=E.copyBorders,D=E.copyTop,P=E.copyRight,R=E.copyBottom,X=E.copyLeft;$(D,P,R,X),A.style.display="block",o.cut=t,o.columns=p,o.rows=h,o.rowNodes=l}},handlePaste:function(){var t=this.editStore,r=this.elemStore,n=this.tableData,i=this.visibleColumn,o=t.copyed,l=t.selected,a=o.columns,s=o.cut,c=o.rows;if(!(!c.length||!a.length||!l.row||!l.column)){var u=l.args,d=u.columnIndex,f=u.rowIndex;ae(c,function(A,D){var P=n[f+D];P&&ae(a,function(R,X){var G=i[d+X];G&&qe(P,G,zt(A,R)),s&&qe(A,R,null)})}),s&&this.clearCopyed();var h=l.args.cell,v=r["main-body-list"].children,p=Uw({cell:h,elemStore:r,bodyList:v}),g=p.rIndex,m=p.cIndex,y=v.length-1,b=g+c.length-1,C=v[b>y?y:b];y=C.children.length-1,b=m+a.length-1;var w=C.children[b>y?y:b],$=ie(w),O=ie(h),E=Ie(v,O,$);this.handleChecked(E)}},handleClearMouseChecked:function(t){var r=this.$grid,n=this.$refs,i=this.autoClearMouseChecked,o=n.tableWrapper,l=n.tooltip,a=n.validTip,s=function(u,d){return u&&(u===d||u.contains(d))};i&&!s(r.$el,t.target)&&!s(o,t.target)&&!s(l&&l.state.popperElm,t.target)&&!s(a&&a.state.popperElm,t.target)&&(this.clearChecked(),this.clearSelected())}},Qw={install:function(t){me._keyboard=1,Object.assign(t.methods,Jw)}};function e2(e,t,r){return e&&(_e(e)?t=e:r=Ee(e)?e:[e]),{cb:t,vaildDatas:r}}var t2=function(t){var r=t._vm,n=t.colValidPromiseArr,i=t.editRules,o=t.isAll,l=t.row,a=t.validRest;return function(s,c){jo(i,s.property)&&n.push(new Promise(function(u,d){r.validCellRules("all",l,s).then(u).catch(function(f){var h=f.rule,v=f.rules,p=r.getRowIndex(l),g={rule:h,rules:v,rowIndex:p,row:l,columnIndex:c,column:s,$table:r};o&&(a[s.property]||(a[s.property]=[]),a[s.property].push(g),u()),d(g)})}))}};function r2(e){var t=e.treeConfig,r=e.handleVaild,n=e.hasTreeExpand,i=e.vaildDatas,o=e.treeOpts;if(t.validHidden===!1){var l=function a(s){var c=s[t.children||"children"];r(s),n(s)&&c&&c.length&&c.forEach(a)};i.forEach(l)}else We(i,r,o)}var n2=function(t){var r=t._vm,n=t.editRules,i=t.isAll,o=t.validRest,l=t.treeConfig,a=t.hasTreeExpand,s=t.vaildDatas,c=t.treeOpts,u=[],d=r.getColumns(),f=function(v){var p=[];d.forEach(t2({_vm:r,colValidPromiseArr:p,editRules:n,isAll:i,row:v,validRest:o})),u.push(Promise.all(p))};return l?r2({treeConfig:l,handleVaild:f,hasTreeExpand:a,vaildDatas:s,treeOpts:c}):s.forEach(f),u},i2=function(){function e(t){Object.assign(this,{$options:t,max:t.min,maxWidth:t.maxWidth,min:t.min,pattern:t.pattern,required:t.required,trigger:t.trigger,type:t.type,validator:t.validator})}return yy(e,[{key:"message",get:function(){return Ye(this.$options.message)}}])}(),o2=function(t,r){var n=t.isAll,i=t.validRest,o=t.cb,l=t.afterFullData,a=t.treeConfig;return function(s){var c,u=n?i:(c={},c[s.column.property]=s,c),d=function(p,g,m){return function(){t.status=!1,o&&o(t.status,p),o?m():g(p)}},f=function(p,g){return function(){st(r,p).then(function(m){p.cell=m,r.handleValidError(p),g()})}},h=function(p){var g=p.row,m=l.indexOf(g);return m>0?l[m-1]:g};return new Promise(function(v,p){var g=d(u,p,v),m=f(s,g),y=h(s),b=r.validOpts.autoPos===!1;b&&g(),!b&&a&&r.scrollToTreeRow(y).then(m),!b&&!a&&r.scrollToRow(y,s.column,!0).then(m)})}},l2={_validate:function(t,r){return this.beginValidate(t,r)},_fullValidate:function(t,r){return this.beginValidate(t,r,!0)},handleValidError:function(t){var r=this,n={type:"valid-error",trigger:"call"};this.handleActived(t,n).then(function(){return r.showValidTooltip(t)})},validatePromise:function(t,r,n,i,o){var l=this;function a(s){var c=s._vm,u=s.reject,d=s.resolve;return function(f){var h=f.rule,v=f.rules,p={$table:c,column:r,columnIndex:n,row:t,rule:h,rules:v};return p.rowIndex=c.getRowIndex(t),i?(o[r.property]=o[r.property]||[],o[r.property].push(p),d()):u(p)}}return new Promise(function(s,c){l.validCellRules("all",t,r).then(s).catch(a({_vm:l,reject:c,resolve:s}))})},beginValidate:function(t,r,n){var i=this.afterFullData,o=this.editRules,l=this.hasTreeExpand,a=this.treeConfig,s=this.treeOpts,c={},u=c.status,d=u===void 0?!0:u,f=c.validRest,h=f===void 0?{}:f,v=e2(t,r,i),p=v.vaildDatas,g=v.cb,m={isAll:n,validRest:h,cb:g,afterFullData:i,treeConfig:a,status:d};if(this.lastCallTime=Date.now(),this.clearValidate(),!o)return g&&g(m.status),Promise.resolve(m.status);var y={_vm:this,editRules:o,isAll:n,validRest:h,treeConfig:a,hasTreeExpand:l,vaildDatas:p,treeOpts:s},b=n2(y),C=function(){var $=Object.keys(h);if($.length)return Promise.reject(h[$[0]][0]);g&&g(m.status)};return Promise.all(b).then(C).catch(o2(m,this))},hasCellRules:function(t,r,n){var i=n.property;if(!i||!this.editRules)return!1;var o=te(this.editRules,i),l=function(s){return t==="all"||!s.trigger||t===s.trigger};return o=!Array.isArray(o)&&(Rr(o)||_e(o))?[o]:o,o&&ue(o,l)},validCellRules:function(t,r,n,i){var o=this,l=this.editRules,a=this.rowId,s=n.property,c={},u=c.descriptor,d=u===void 0?{}:u,f=c.model,h=f===void 0?{}:f;if(s&&l){var v=te(l,s),p=et(i)?te(r,s):i;Array.isArray(v)?v.forEach(function(w,$){h[s+$]=p,d[s+$]=w}):(h[s]=p,d[s]=v)}var g=ye(!0,{},d),m=new Ea(g,Ar),y=function($,O){var E={firstFields:!0,first:!0,custom:{row:r,column:n}},A=function(P){var R=P.fields,X=Object.keys(R).map(function(G){var j=g[G];return g[G]=j.message?j:Object.assign(j,{message:R[G][0].message}),new i2(g[G])});O({rules:X,rule:X[0]})};m.validate(h,E).then($).catch(A)},b=function(){return o.validatedMap[n.id+"-"+r[a]]=!1,Promise.resolve()},C=function($){return o.validatedMap[n.id+"-"+r[a]]=!0,Promise.reject($)};return new Promise(y).then(b).catch(C)},_clearValidate:function(){return Object.assign(this.validStore,{column:null,content:"",isArrow:!1,row:null,rule:null,visible:!1}),this.clostValidTooltip(void 0),this.$nextTick()},triggerValidate:function(t){var r=this,n=this.editConfig,i=this.editRules,o=this.editStore,l=this.validStore,a=o.actived;if(!a.row||!i)return Promise.resolve();var s=a.args,c=s.cell,u=s.column,d=s.row;if(!this.hasCellRules(t,d,u))return Promise.resolve();var f=function(){n.mode==="row"&&l.visible&&l.row===d&&l.column===u&&r.clearValidate()},h=function(p){var g=p.rule;if(g.trigger&&t!==g.trigger)return Promise.resolve();var m={cell:c,column:u,row:d,rule:g};return r.showValidTooltip(m),Promise.reject(m)};return this.validCellRules(t,d,u).then(f).catch(h)},showValidTooltip:function(t){var r=this,n=this.$refs,i=this.height,o=this.tableData,l=this.validOpts,a=t.cell,s=t.column,c=t.row,u=t.rule,d=u.message,f=n.validTip,h=l.isMessageTooltip,v=l.isMessageDefault,p=l.isMessageInline,g=h||v&&!i&&o.length<2;this.$nextTick(function(){Object.assign(r.validStore,{row:c,column:s,rule:u,content:d,visible:!0}),f&&g?(r.clostValidTooltip(),r.validTipContent=d,f.state.referenceElm=a,f.$refs.popper&&(f.$refs.popper.style.display="none"),f.doDestroy(),f.setExpectedState(!0),r.activateTooltipValid(f)):p&&r.$nextTick(function(){return r.recalculate()}),Q(r,"valid-error",[t])})},clostValidTooltip:function(){var t=this.$refs.validTip;return t&&(t.setExpectedState(!1),t.handleClosePopper()),this.$nextTick()}},a2={install:function(t){me._valid=1,Object.assign(t.methods,l2)}},s2={bindResize:function(){var t=this,r=new Pm(function(){t.updateParentHeight(),t.updateTableBodyHeight(),t.recalculate()},B.resizeInterval),n=this.getParentElem();n&&r.observe(n),this.$resize=r},unbindResize:function(){var t=this.$resize;t&&t.disconnect()}},c2={install:function(t){me._resize=1,Object.assign(t.methods,s2)}};function u2(e){var t=e.$slots,r=e._vm,n=e.buttonBase,i=e.loading,o=e.tableListeners,l=[];return i&&(l=[x("i",{class:["tiny-grid-button__loading-icon",B.icon.btnLoading]})]),x("button",z({},n,{on:ir(o,function(a,s){return function(c){return r.$emit(s,c)}})}),l.concat(t.default.call(r)))}function d2(e){var t,r=e.$slots,n=e._vm,i=e.buttonBase,o=e.tableListeners,l=e.vSize;return x("div",{class:["tiny-grid-button__dropdown",(t={},t["size__"+l]=l,t)]},[x("button",z({},i,{on:z({mouseenter:n.mouseenterEvent,mouseleave:n.mouseleaveEvent},ir(o,function(a,s){return function(c){return n.$emit(s,c)}}))}),[x("span",r.default.call(n)),x("i",{class:"tiny-grid-button__dropdown-arrow "+B.icon.dropdownBottom})]),x("div",{class:"tiny-grid-button__dropdown-wrapper",on:{click:n.clickDropdownEvent,mouseenter:n.mouseenterEvent,mouseleave:n.mouseleaveEvent}},r.dropdowns.call(n))])}function f2(e){var t,r=e.disabled,n=e.isText,i=e.loading,o=e.name,l=e.type,a=e.vSize,s={isDisabled:"is__disabled",isLoading:"is__loading"};return{class:["tiny-grid-button","type__"+(n?l:"button"),(t={},t["size__"+a]=a,t["theme__"+l]=l&&!n,t[s.isDisabled]=r||i,t[s.isLoading]=i,t)],attrs:{name:o,type:"button",disabled:r||i}}}var h2=q({name:re+"GridButton",inheritAttrs:!1,props:{type:String,size:String,name:[String,Number],disabled:Boolean,loading:Boolean},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize}},render:function(){var t=this.disabled,r=this.loading,n=this.name,i=this.slots,o=this.tableListeners,l=this.type,a=this.vSize,s=l==="text",c=f2({disabled:t,isText:s,loading:r,name:n,type:l,vSize:a});return i.dropdowns?d2({$slots:i,_vm:this,buttonBase:c,tableListeners:o,vSize:a}):u2({$slots:i,_vm:this,buttonBase:c,loading:r,tableListeners:o})},methods:{clickDropdownEvent:function(t){var r=t.currentTarget,n=r.parentNode,i=St(t,r,"tiny-grid-button"),o=i.flag,l=i.targetElem;o&&(n.dataset.active="N",ge(n,"is__active"),Q(this,"dropdown-click",[{name:l.getAttribute("name")},t]))},mouseenterEvent:function(t){var r=t.currentTarget,n=r.parentNode;n.dataset.active="Y",pe(n,"is__active")},mouseleaveEvent:function(t){var r=t.currentTarget,n=r.parentNode;n.dataset.active="N",setTimeout(function(){n.dataset.active!=="Y"&&ge(n,"is__active")},300)}},setup:function(t,r){var n=r.slots,i=r.attrs,o=r.listeners,l=On(i,o);return{slots:n,tableListeners:l}}});yn(h2);var v2={initFetchOption:function(){var t=this.fetchData,r=t===void 0?{}:t,n=this.dataset,i=n===void 0?{}:n;if(r.api||i.source||i.value||i.api){var o=r||i.source||i.api||{},l=o.loading,a=o.fields,s=o.api;return{api:s,dataset:i,fields:a,loading:l}}},handleFetch:function(t,r){var n=this,i=this.pager,o=this.sortData,l=this.filterData,a=this.pagerConfig,s=this.fetchOption,c=this.fetchData,u=this.dataset;if(this.isInitialLoading?this.isInitialLoading=!1:this.columnAnchor&&this.clearActiveAnchor(),t!=="prefetch"&&(this.clearRadioRow(),this.resetScrollTop()),!s)return De("ui.grid.error.notQuery"),this.$nextTick();var d=c||u.source||u.api||{},f=d.args,h=d.loading,v=o.field,p=o.order,g=o.prop,m=o.property,y={field:v,order:p,prop:g,property:m},b=z({$grid:this,sort:o,sortBy:y,filters:l},f),C;return this.tableLoading=h,a&&(b.page=a),t==="reload"&&((i||f.page)&&(a.currentPage=1),this.sortData=b.sort={},this.filterData=b.filters=[],this.pendingRecords=[],this.clearAll()),r&&r.length>0&&(b.sortBy=r),c&&c.api?C=c.api.apply(this,[b]):C=fo({dataset:u,service:this.$service},b),C.then(this.loadFetchData).catch(function(w){throw n.tableLoading=!1,w})},clearActiveAnchor:function(){var t=this.columnAnchor,r=this.columnAnchorParams,n=r===void 0?{}:r,i=n.anchors,o=i===void 0?[]:i;!t||o.length<=0||o.forEach(function(l){return l.active=!1})},loadFetchData:function(t){if(!t){this.tableData=[],this.tableLoading=!1;return}var r=this.fetchOption.fields,n=r===void 0?{}:r,i=this.pagerConfig,o=this.pagerSlot;if(i&&!Array.isArray(t)){var l,a=Hr(t,n.total||"page.total")||(t==null||(l=t.result)==null?void 0:l.length)||0,s=Hr(t,n.result||n.data||"result")||[];this.tableData=s,i.total=a;var c=o&&o.componentInstance.setTotal;c&&c(a)}else this.tableData=(n.list?Hr(t,n.list):t)||[];this.tableLoading=!1}},p2={host:"grid",install:function(t){Object.assign(t.methods,v2)}},g2={initPagerConfig:function(){var t=this.$slots,r=this.fetchOption,n=this.scrollLoad,i=n===void 0?{}:n,o={};if(r){var l=t.pager&&t.pager[0];if(l){var a=l.componentOptions,s=l.children;a&&!s&&(this.pagerSlot=l,o=a.propsData)}else this.pager&&(o=this.pager.attrs);return this.pager||t.pager||this.scrollLoad?Object.assign(this.tablePage,{pageSize:i.pageSize},o):r.args&&r.args.page}},renderPager:function(t){var r=t.$slots,n=t._vm,i=t.loading,o=t.pager,l=t.pagerConfig,a=t.tableLoading,s=t.vSize,c=null,u=n.isThemeSaas,d=n.isModeMobileFirst,f=n.isViewGantt,h=n.currentBreakpoint,v=n.fetchData,p={display:"none"};return u&&d?((!f||f&&h!=="default")&&(p.display="flex",p.justifyContent="flex-end"),h==="default"&&(p.justifyContent="center")):p.display="block",r.pager?c=r.pager():o&&(o.component=o.component||(v&&v.api?Xt:null),c=x(wt(o.component),{props:z({size:s,loading:i||a,isBeforePageChange:n.isBeforePageChange||n.showSaveMsg,accurateJumper:n.autoLoad},l),on:{"size-change":n.pageSizeChange,"current-change":n.pageCurrentChange,"before-page-change":n.beforePageChangeHandler},ref:"pager",style:p})),c},pageChangeEvent:function(t){var r=this;this.tasks.updatePage||(this.tasks.updatePage=Je(200,function(){var n=z({$grid:r},t),i=r.getVm("toolbar");Q(r,"page-change",n),r.emitter.emit("page-change",n),r.commitProxy("query"),i&&i.orderSetting()})),this.tasks.updatePage()},pageSizeChange:function(t,r){this.tablePage.pageSize=t,this.tablePage.currentPage=1,r||this.pageChangeEvent(this.tablePage)},pageCurrentChange:function(t){this.tablePage.currentPage!==t&&(this.tablePage.currentPage=t,this.pageChangeEvent(this.tablePage))},beforePageChangeHandler:function(t){var r=this;if(!this.showSaveMsg){var n=ye(!1,{$grid:this},t);Q(this,"before-page-change",n),this.emitter.emit("before-page-change",n);return}var i=t.callback,o=t.rollback,l=this.getRecordset(),a=l.insertRecords,s=l.removeRecords,c=l.updateRecords;if(a.length||s.length||c.length){var u=function(f){f==="confirm"?(o&&o(),Q(r,"cancel-page-change",r),r.emitter.emit("cancel-page-change",r)):i&&i()};Ze.confirm(B.i18n("ui.grid.isSaveMsg")).then(u)}else i&&i()}},m2={host:"grid",install:function(t){Object.assign(t.methods,g2)}};function b2(e){var t=e.body,r=e.insertRecords,n=e.pendingRecords;r.length&&(t.pendingRecords=n.filter(function(i){return!r.includes(i)})),n.length&&(t.insertRecords=r.filter(function(i){return!n.includes(i)}))}function y2(e,t,r){return e.insertRecords.length||t.length||r.length||e.pendingRecords.length}function C2(e){var t=e._vm,r=e.canInvoke,n=e.code,i=e.isMsg,o=e.pendingRecords,l=e.resolve,a=e.valid;a&&!r&&(i&&(o.length?t.remove(o):Ze.message({id:n,message:B.i18n("ui.grid.dataUnchanged"),status:"info"})),l())}function w2(e){var t=e._vm,r=e.args,n=e.body,i=e.code,o=e.removeRecords,l=e.resolve,a=e.saveData,s=e.updateRecords,c=e.valid,u=!1;return c&&(u=y2(n,o,s)),c&&u&&(t.tableLoading=!0,l(a.api.apply(t,[{$grid:t,changeRecords:n}].concat(r)).then(function(){Ze.message({id:i,message:B.i18n("ui.grid.saveSuccess"),status:"success"}),t.tableLoading=!1}).catch(function(){t.tableLoading=!1}).then(function(){return t.commitProxy("reload")}))),u}var S2={getRenderedToolbar:function(t){var r=t.$slots,n=t._vm,i=t.loading,o=t.tableLoading,l=t.toolbar;return n.renderedToolbar=function(){var a=null;return r.toolbar?a=r.toolbar():l&&(a=x(wt(l.component),{ref:"toolbar",props:z({loading:i||o},l),class:n.viewCls("toolbar")})),a}()},handleSave:function(t,r){var n=this,i=this.saveData,o=this.isMsg;if(!i){De("ui.grid.error.notSave");return}var l=ye(!0,{pendingRecords:this.pendingRecords},this.getRecordset()),a=l.insertRecords,s=l.removeRecords,c=l.updateRecords,u=l.pendingRecords,d=a.concat(c),f=function(v){return function(p){if(!p){v(p);return}var g=w2({_vm:n,args:r,body:l,code:t,removeRecords:s,resolve:v,saveData:i,updateRecords:c,valid:p});C2({_vm:n,canInvoke:g,code:t,isMsg:o,pendingRecords:u,resolve:v,valid:p})}};return b2({body:l,insertRecords:a,pendingRecords:u}),new Promise(function(h){n.validate(d,f(h))})},handleDelete:function(t,r){var n=this,i=this.deleteData,o=this.isMsg;if(!i){De("ui.grid.error.notDelete");return}var l=this.getSelectRecords(!0),a=function(){var c=n.getRemoveRecords();if(!c.length&&o&&!l.length&&Ze.message({id:t,message:B.i18n("ui.grid.selectOneRecord"),status:"warning"}),c.length){var u=[{$grid:n,changeRecords:{removeRecords:c}}].concat(r),d=function(){n.tableLoading=!1};return n.tableLoading=!0,i.api.apply(n,u).then(d).catch(d).then(function(){return n.commitProxy("reload")})}};this.remove(l).then(a)},handleFullScreen:function(t){var r=this,n=t[0];this.fullScreenClass=n?"tiny-fullscreen-full":"",this.$nextTick(function(){r.recalculate(!0),Q(r,"fullscreen",n),r.emitter.emit("fullscreen",n)})},commitProxy:function(t){for(var r=this,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];var l=Sl.get(t);return t==="insert"?this.insert():t==="insert_actived"?this.insert().then(function(a){var s=a.row;return r.setActiveRow(s)}):t==="mark_cancel"?this.triggerPendingEvent(t):t==="delete_selection"?this.handleDeleteRow(t,"ui.grid.deleteSelectRecord",function(){return r.commitProxy(["delete"].concat(i))}):t==="remove_selection"?this.handleDeleteRow(t,"ui.grid.removeSelectRecord",function(){return r.removeSelecteds()}):t==="export"?this.exportCsv():t==="reset_custom"?this.resetAll():~["reload","query","prefetch"].indexOf(t)?this.handleFetch(t,i):t==="delete"?this.handleDelete(t,i):t==="save"?this.handleSave():t==="fullscreen"?this.handleFullScreen(i):l&&l.call.apply(l,[this,{code:t,$grid:this}].concat(i)),this.$nextTick()},handleDeleteRow:function(t,r,n){var i=this.getSelectRecords();this.isMsg&&i.length&&Ze.confirm(B.i18n(r)).then(function(o){o==="confirm"&&n()}),this.isMsg&&!i.length&&Ze.message({id:t,message:B.i18n("ui.grid.selectOneRecord"),status:"warning"}),!this.isMsg&&i.length&&n()},getPendingRecords:function(){return this.pendingRecords},triggerToolbarBtnEvent:function(t,r){var n=this.events,i=n===void 0?{}:n,o=this.tableListeners,l=t.code;!i.toolbarButtonClick&&!o["toolbar-button-click"]&&this.commitProxy(l,r),Q(this,"toolbar-button-click",[{code:l,button:t,$grid:this},r]),this.emitter.emit("toolbar-button-click",{code:l,button:t,$grid:this},r)},triggerPendingEvent:function(t){var r=this.isMsg,n=this.pendingRecords,i=this.getColumns().filter(function(v){return~["selection","radio"].indexOf(v.type)}),o=i.length&&i[0].type==="selection",l=i.length&&i[0].type==="radio",a=o?this.getSelectRecords(!0):l?[this.getRadioRow()]:[];if(!a.length&&r&&Ze.message({id:t,message:B.i18n("ui.grid.selectOneRecord"),status:"warning"}),a.length){var s={},c=s.plus,u=c===void 0?[]:c,d=s.minus,f=d===void 0?[]:d,h=s.tmp;a.forEach(function(v){var p=n.includes(v);h=p?f:u,h.push(v)}),h=f.length?n.filter(function(v){return!~f.indexOf(v)}):n,this.pendingRecords=h.concat(u),o&&this.clearSelection(),l&&this.clearRadioRow()}}},$2={host:"grid",install:function(t){Object.assign(t.methods,S2)}},x2={renderColumnAnchor:function(t,r){var n=t||{},i=n.anchors,o=i===void 0?[]:i,l=n.action,a=l===void 0?function(){}:l,s=r.viewType;return x("div",{class:["tiny-grid__column-anchor",r.viewCls("columnAnchor")],style:s==="default"?"display:flex":"",key:r.columnAnchorKey},o.map(function(c){var u=c.active,d=u===void 0?!1:u,f=c.label,h=f===void 0?"":f,v=c.field,p=v===void 0?"":v,g=c.render;if(typeof g=="function")return g({h:x,anchor:c,action:a});var m={"tiny-grid__column-anchor-item":!0,"tiny-grid__column-anchor-item--active":d},y={click:function($){return a(p,$)}},b=d?x(ua(),{class:"tiny-grid__column-anchor-item-icon"}):null,C=x("span",h);return x("div",{class:m,on:y},[b,C])}))},buildColumnAnchor:function(t){var r=t.property,n=t.label,i=t.anchors,o=t.activeAnchor,l=this.getColumns(),a=l.find(function(u){return!u.type&&u.property===r}),s="",c=null;typeof n<"u"&&(typeof n=="string"?s=n:Array.isArray(n)?n.length>1&&(s=String(n[0]),c=n[1]):n&&typeof n=="object"&&(s=n.label,c=n.render,n.active&&(o.field=r,n.delay&&(o.delay=n.delay)))),a&&i.push({label:s||(typeof a.title=="string"?a.title:""),field:r,active:!1,render:c})},buildColumnAnchorParams:function(){var t=this,r=this.columnAnchor,n=[],i={field:"",delay:30};Array.isArray(r)&&r.length&&r.forEach(function(o){if(typeof o=="string")t.buildColumnAnchor({property:o,anchors:n});else if(Array.isArray(o))o.length>1&&t.buildColumnAnchor({property:o[0],label:o[1],anchors:n});else if(o&&typeof o=="object"){var l=o.field,a=pl(o,by);t.buildColumnAnchor({property:l,label:a,anchors:n,activeAnchor:i})}}),!i.field&&n.length&&(i.field=n[0].field),this.columnAnchorParams={anchors:n,activeAnchor:i,action:function(l,a){return t.anchorAction({field:l,anchors:n,_vm:t,e:a})}},this.emitter.once("active-anchor",function(){return t.anchorAction({field:i.field,anchors:n,_vm:t})})},anchorAction:function(t){var r=t.field,n=t.anchors,i=t._vm,o=n.find(function(a){return a.active}),l=n.find(function(a){return a.field===r});l&&o!==l&&(o&&o.active&&(o.active=!1),l.active||(l.active=!0,i.columnAnchorKey=r,i.$nextTick(function(a){a===void 0&&(a=!1);var s=i.getColumns(),c=s.find(function(d){return!d.type&&d.property===r}),u=s.filter(function(d){return!d.fixed}).map(function(d){return d===c&&(a=!0),a?0:d.renderWidth}).reduce(function(d,f){return d+f},0);c&&i.scrollTo(u)})))}},_2={host:"grid",install:function(t){Object.assign(t.methods,x2)}};function k2(e){var t=e.isScrollYLoad,r=e._vm,n=e.selfRow,i=e.prevTrElem,o=e.targetTrElem;if(t){var l=r.tableFullData.indexOf(n);if(r.tableFullData.splice(l,1),i){var a=r.getRowNode(i).item,s=r.tableFullData.indexOf(a),c=r.tableFullData.indexOf(n);r.tableFullData.splice(s+(c<s?1:0),0,n)}else r.tableFullData.unshift(n);o.remove()}}var T2=function(t){var r=t._vm,n=t.refresh;return function(i){var o=r.getInsertRecords();if(o.length)return!1;var l={children:(r.treeConfig||{}).children||"children"},a=i.item,s=a.parentNode,c=a.previousElementSibling,u=r.data||r.tableData,d=r.getRowNode(a).item,f=Me(u,function(b){return b===d},l),h=r.scrollYLoad;if(!h)if(c){var v=r.getRowNode(c).item,p=Me(u,function(b){return b===v},l);if(Me(d[l.children],function(b){return v===b},l)){var g=s.children[i.oldIndex];return s.insertBefore(a,g),Ze.message({message:B.i18n("ui.grid.error.dargSelf"),status:"error"})}var m=f.items.splice(f.index,1)[0];r.hasTreeExpand(v)?v[l.children].splice(0,0,m):(p.items.splice(p.index+(f.index<p.index?0:1),0,m),p.items=[].concat(p.items))}else{var y=f.items.splice(f.index,1)[0];u.unshift(y),r.tableFullData=[].concat(u)}k2({isScrollYLoad:h,_vm:r,selfRow:d,prevTrElem:c,targetTrElem:a}),r.$emit("row-drop-end",i,r,r.scrollYLoad?u:r.tableFullData),n&&r.data&&!ba&&r.refreshData(r.data)}},E2=function(t){var r=[],n=[],i=[];return t.forEach(function(o){var l=o.fixed;l==="left"?r.push(o):l==="right"?n.push(o):i.push(o)}),r.concat(i).concat(n)},I2=function(t){var r=t.event,n=t._this,i=r.item,o=r.newIndex,l=r.oldIndex,a=n.getTableColumn(),s=a.fullColumn,c=a.tableColumn,u=E2(c),d=i,f=d.parentNode,h=u[o];if(h.fixed){if(o>l)for(var v=o;v>=l;v--)f.insertBefore(d,f.children[v]);else{for(var p=o;p<=l;p++)f.insertBefore(d,f.children[p]);f.insertBefore(f.children[l],d)}return Ze.message({message:B.i18n("ui.grid.error.dargFixed"),status:"error"})}var g=n.getColumnIndex(u[l]),m=n.getColumnIndex(u[o]),y=s.splice(g,1)[0];s.splice(m,0,y),n.loadColumn(s),n.$emit("column-drop-end",r,n);var b=n.getVm("toolbar");n.isDragHeaderSorting&&b&&b.updateSetting()},O2={columnDrop:function(){var t=this;this.$nextTick(function(){var r=t.dropConfig,n=r.plugin,i=r.onBeforeMove,o=r.filter,l=t.elemStore["main-header-table"];t.columnSortable=n.create(l.querySelector(".tiny-grid-header__row"),{handle:".tiny-grid-header__column:not(.col__fixed)",filter:o,onEnd:function(s){I2({event:s,_this:t})},onStart:function(s){t.$emit("column-drop-start",s,t)},onMove:function(s){var c=typeof i=="function"?i("column",null,s,t):!0;return t.$emit("column-drop-move",s,t),c===void 0||c}})})},rowDrop:function(){var t=this;this.$nextTick(function(){var r=t.dropConfig,n=r.plugin,i=r.onBeforeMove,o=r.filter,l=r.refresh,a=l===void 0?!0:l,s=r.trigger,c=t.elemStore["main-body-wrapper"];t.rowSortable=n.create(c.querySelector("tbody"),{handle:s||".tiny-grid-body__row",filter:o,onEnd:T2({_vm:t,refresh:a}),onStart:function(d){t.$emit("row-drop-start",d,t)},onMove:function(d){var f=t.getInsertRecords();if(f.length)return!1;var h=d.dragged,v=t.getRowNode(h).item,p=typeof i=="function"?i("row",v,d,t):!0;return t.$emit("row-drop-move",d,t),p===void 0||p}})})}},M2={host:"table",install:function(t){Object.assign(t.methods,O2)}},A2={},D2={host:"table",install:function(t){Object.assign(t.methods,A2)}};function L2(e){var t=e._vm,r=e.cell,n=e.column,i=e.isHeader,o=document.createRange(),l;return o.setStart(r,0),t.headerSuffixIconAbsolute?n.sortable&&n.filter&&i?l=r.childNodes.length-2:(n.sortable||n.filter)&&i?l=r.childNodes.length-1:l=r.childNodes.length:l=n.sortable&&i?r.childNodes.length-1:r.childNodes.length,o.setEnd(r,l),o}function R2(e){var t=e._vm,r=e.column,n=e.content,i=e.contentMethod,o=e.event,l=e.isHeader,a=e.row,s=e.showTip;i?t.tooltipContent=i({event:o,column:r,row:a,showTip:s,isHeader:l,content:n},x):t.tooltipContent=n}var Gr=null,F2={activateTooltip:function(t,r){this.tasks.activateTooltip||(this.tasks.activateTooltip=Je(300,function(){var n=r!==void 0?r:Gr;n&&(t.state.popperElm&&(t.state.popperElm.style.display="none"),t.doDestroy(),t.show(),setTimeout(t.updatePopper))})),this.tasks.activateTooltip()},activateTooltipValid:function(t){this.tasks.activateTooltipValid||(this.tasks.activateTooltipValid=Je(50,function(){t.handleShowPopper(),setTimeout(function(){return t.updatePopper()})})),this.tasks.activateTooltipValid()},handleTooltip:function(t,r,n,i,o){var l=o?t.currentTarget.querySelector(".tiny-grid-cell-text"):t.currentTarget.querySelector(".tiny-grid-cell");if(!(o&&t.target!==l)){var a=this.$refs.tooltip,s=l,c=l.innerText.trim()||l.textContent.trim(),u=this.tooltipConfig.contentMethod,d=L2({_vm:this,cell:l,column:r,isHeader:o}),f=d.getBoundingClientRect().width,h=(parseInt(He(l,"paddingLeft"),10)||0)+(parseInt(He(l,"paddingRight"),10)||0),v=f+h>l.offsetWidth||s.scrollWidth>s.clientWidth;return(u||c)&&(i||v)&&(Object.assign(this.tooltipStore,{row:n,column:r,visible:!0}),a&&(R2({_vm:this,column:r,content:c,contentMethod:u,event:t,isHeader:o,row:n,showTip:i}),a.state.referenceElm=l,a.state.popperElm&&(a.state.popperElm.style.display="none"),Gr=!0,this.activateTooltip(a))),this.$nextTick()}},clostTooltip:function(){var t=this.$refs.tooltip;return Object.assign(this.tooltipStore,{content:null,row:null,visible:!1,column:null}),Gr=!1,t&&typeof t.setExpectedState=="function"&&(t.setExpectedState(!1),this.debounceClose(t)),this.$nextTick()},debounceClose:function(t){this.tasks.debounceClose||(this.tasks.debounceClose=Je(50,function(){t.handleClosePopper()})),this.tasks.debounceClose()},triggerHeaderTooltipEvent:function(t,r){var n=this.tooltipStore,i=r.column,o=r.showHeaderTip;(n.column!==i||!n.visible)&&this.handleTooltip(t,i,null,o,!0)},triggerFooterTooltipEvent:function(t,r){var n=r.column,i=this.tooltipStore;(i.column!==n||!i.visible)&&this.handleTooltip(t,n)},triggerTooltipEvent:function(t,r){var n=this.editConfig,i=this.editStore,o=this.tooltipStore,l=i.actived,a=r.row,s=r.column,c=r.showTip;n&&(n.mode==="row"&&l.row===a&&s.editor||l.row===a&&l.column===s)||(o.column!==s||o.row!==a||!o.visible)&&this.handleTooltip(t,s,a,c)}},P2={host:"table",install:function(t){Object.assign(t.methods,F2)}};function H2(e){var t=e.checkStrictly,r=e.property,n=e.row,i=e.treeConfig,o=e.treeIndeterminates,l=e.value;r&&i&&!t&&l===-1&&(o.push(n),xe(n,r,!1))}function z2(e){var t=e.checkMethod,r=e.checkStrictly,n=e.property,i=e.row,o=e.treeConfig,l=e.treeIndeterminates,a=e.value;n&&o&&!r&&a!==-1&&We([i],function(s,c){(i===s||!t||t({row:s,$rowIndex:c}))&&(xe(s,n,a),Oe(l,function(u){return u===s}))},o)}function N2(e){var t=e.checkMethod,r=e.matchObj,n;return t?n=r.items.filter(function(i,o){return t({row:i,$rowIndex:o})}):n=r.items,n}function B2(e){var t=e.indeterminatesItem,r=e.matchObj,n=e.property,i=e.vItems,o=e.value,l;if(t)l=-1;else{var a=r.items.filter(function(c){return te(c,n)}),s=a.filter(function(c){return~i.indexOf(c)}).length===i.length;l=s?!0:a.length||o===-1?-1:!1}return l}function V2(e){var t=e.checkStrictly,r=e.property,n=e.row,i=e.selection,o=e.treeConfig,l=e.treeIndeterminates,a=e.value;!r&&o&&!t&&a===-1&&(l.push(n),Oe(i,function(s){return s===n}))}function j2(e){var t=e.checkMethod,r=e.matchObj,n;return t?n=r.items.filter(function(i,o){return t({row:i,$rowIndex:o})}):n=r.items,n}var Nl=function(t,r){return!t.includes(r)&&t.push(r)};function W2(e){var t=e.checkMethod,r=e.checkStrictly,n=e.property,i=e.row,o=e.selection,l=e.treeConfig,a=e.treeIndeterminates,s=e.value;!n&&l&&!r&&s!==-1&&We([i],function(c,u){(i===c||!t||t({row:c,$rowIndex:u}))&&(s?Nl(o,c):Oe(o,function(d){return d===c}),Oe(a,function(d){return d===c}))},l)}function G2(e){var t=e.indeterminatesItem,r=e.matchObj,n=e.selection,i=e.vItems,o=e.value,l;if(t)l=-1;else{var a=r.items.filter(function(c){return n.includes(c)}),s=a.filter(function(c){return i.includes(c)}).length===i.length;l=s?!0:a.length||o===-1?-1:!1}return l}function X2(e,t,r){var n=e.row,i=r.tableFullData,o=r.selectConfig,l=o===void 0?{}:o,a=r.treeConfig,s=r.treeIndeterminates,c=l.checkField,u=l.checkStrictly,d=l.checkMethod;if(H2({checkStrictly:u,property:c,row:n,treeConfig:a,treeIndeterminates:s,value:t}),z2({checkMethod:d,checkStrictly:u,property:c,row:n,treeConfig:a,treeIndeterminates:s,value:t}),c&&a&&!u){var f=Me(i,function(g){return g===n},a);if(f&&f.parent){var h=N2({checkMethod:d,matchObj:f}),v=ue(f.items,function(g){return s.includes(g)}),p=B2({indeterminatesItem:v,matchObj:f,property:c,vItems:h,value:t});return r.handleSelectRow({row:f.parent},p)}}c&&!(a&&!u)&&xe(n,c,t)}function Y2(e,t,r){var n=e.row,i=r.selection,o=r.tableFullData,l=r.selectConfig,a=l===void 0?{}:l,s=r.treeConfig,c=r.treeIndeterminates,u=a.checkField,d=a.checkStrictly,f=a.checkMethod;if(V2({checkStrictly:d,property:u,row:n,selection:i,treeConfig:s,treeIndeterminates:c,value:t}),W2({checkMethod:f,checkStrictly:d,property:u,row:n,selection:i,treeConfig:s,treeIndeterminates:c,value:t}),!u&&s&&!d){var h=Me(o,function(m){return m===n},s);if(h&&h.parent){var v=j2({checkMethod:f,matchObj:h}),p=ue(h.items,function(m){return c.includes(m)}),g=G2({indeterminatesItem:p,matchObj:h,selection:i,vItems:v,value:t});return r.handleSelectRow({row:h.parent},g)}}}function q2(e,t,r){var n=e.row,i=r.selection,o=r.selectConfig,l=o===void 0?{}:o,a=r.treeConfig,s=l.checkField,c=l.checkStrictly;!s&&!(a&&!c)&&(t?Nl(i,n):Oe(i,function(u){return u===n}))}function K2(e,t,r){var n=e.row;Y2({row:n},t,r),q2({row:n},t,r)}function Z2(e){var t=e.afterFullData,r=e.checkMethod,n=e.checkStrictly,i=e.property,o=e.selectRows,l=e.selection,a=e.treeConfig,s=e.value;!n&&!i&&a&&s&&We(t,function(c,u){(!r||r({row:c,$rowIndex:u}))&&o.push(c)},a),!n&&!i&&a&&!s&&r&&We(t,function(c,u){!r({row:c,$rowIndex:u})&&l.includes(c)&&o.push(c)},a)}function U2(e){var t=e.afterFullData,r=e.checkMethod,n=e.checkStrictly,i=e.property,o=e.selection,l=e.treeConfig,a=e.value;if(!n&&i){var s=(l?"$":"")+"rowIndex",c=function(f,h){var v;(!r||r((v={row:f},v[s]=h,v)))&&xe(f,i,a)},u=function(f,h){var v;(!r||!r((v={row:f},v[s]=h,v))&&o.includes(f))&&xe(f,i,a)};l?We(t,a?c:u,l):t.forEach(a?c:u)}}function J2(e){var t=e.afterFullData,r=e.checkMethod,n=e.checkStrictly,i=e.property,o=e.selectRows,l=e.selection,a=e.treeConfig,s=e.value;return!n&&!i&&!a&&s&&r&&(o=t.filter(function(c,u){return l.includes(c)||r({row:c,rowIndex:u})})),!n&&!i&&!a&&s&&!r&&(o=t.slice(0)),!n&&!i&&!a&&!s&&r&&(o=t.filter(function(c,u){return r({row:c,rowIndex:u})?0:l.includes(c)})),o}function Q2(e){var t=e.afterFullData,r=e.checkMethod,n=e.checkStrictly,i=e.property,o=e.selection,l=e.treeConfig,a=e.value,s=[];return Z2({afterFullData:t,checkMethod:r,checkStrictly:n,property:i,selectRows:s,selection:o,treeConfig:l,value:a}),s=J2({afterFullData:t,checkMethod:r,checkStrictly:n,property:i,selectRows:s,selection:o,treeConfig:l,value:a}),s}function eS(e){var t=e._vm,r=e.checkStrictly,n=e.reserve,i=e.selectRows,o=e.selection,l=e.value;r||(t.selection=l&&n?o.concat(i.filter(function(a){return!o.includes(a)})):i)}var tS={handleSelectionDefChecked:function(){var t=this.fullDataRowIdData,r=this.selectConfig||{},n=r.checkAll,i=r.checkRowKeys;if(n){this.setAllSelection(!0);return}if(i){var o=i.map(function(a){return encodeURIComponent(a)}),l=[];o.forEach(function(a){var s=t[a];s&&l.push(s.row)}),this.setSelection(l,!0)}},setSelection:function(t,r){var n=this;return t&&(Ee(t)||(t=[t]),t.forEach(function(i){return n.handleSelectRow({row:i},!!r)})),this.$nextTick()},handleSelectRow:function(t,r){var n=t.row;X2({row:n},r,this),K2({row:n},r,this),this.checkSelectionStatus()},handleToggleCheckRowEvent:function(t,r){var n=this.selection,i=this.selectConfig||{},o=i.checkField,l=t.row,a=o?!te(l,o):!~n.indexOf(l);r?this.triggerCheckRowEvent(r,t,a):this.handleSelectRow(t,a)},triggerCheckRowEvent:function(t,r,n){var i=this.selectConfig,o=i===void 0?{}:i,l=o.checkMethod;(!l||l(r))&&(this.handleSelectRow(r,n),Q(this,"select-change",[z({selection:this.getSelectRecords(),checked:n,$table:this},r),t]))},toggleRowSelection:function(t){return this.handleToggleCheckRowEvent({row:t}),this.$nextTick()},setAllSelection:function(t){var r=this.afterFullData,n=this.selectConfig,i=n===void 0?{}:n,o=this.treeConfig,l=this.selection,a=i.checkField,s=i.reserve,c=i.checkStrictly,u=i.checkMethod;U2({afterFullData:r,checkMethod:u,checkStrictly:c,property:a,selection:l,treeConfig:o,value:t});var d=Q2({afterFullData:r,checkMethod:u,checkStrictly:c,property:a,selection:l,treeConfig:o,value:t});eS({_vm:this,checkStrictly:c,reserve:s,selectRows:d,selection:l,value:t}),this.treeIndeterminates=[],this.checkSelectionStatus()},checkSelectionStatus:function(){var t=this.afterFullData,r=this.selection,n=this.treeIndeterminates,i=this.selectConfig||{},o=i.checkField,l=i.checkStrictly,a=i.checkMethod,s={},c=s.everyHandler,u=s.someHandler;l||(o?(c=a?function(d,f){return!a({row:d,rowIndex:f})||te(d,o)}:function(d){return te(d,o)},u=function(f){return te(f,o)||~n.indexOf(f)},this.isAllSelected=!1,t.length&&(this.isAllSelected=t.every(c)),this.isIndeterminate=!this.isAllSelected&&t.some(u)):(c=function(f,h){return!a({row:f,rowIndex:h})},this.headerCheckDisabled=a&&t.length&&t.every(c),c=a?function(d,f){return!a({row:d,rowIndex:f})||~r.indexOf(d)}:function(d){return~r.indexOf(d)},u=function(f){return~n.indexOf(f)||~r.indexOf(f)},this.isAllSelected=!1,t.length&&(this.isAllSelected=t.every(c)),this.isIndeterminate=!this.isAllSelected&&t.some(u)))},reserveCheckSelection:function(){var t=this.fullDataRowIdData,r=this.selection,n=this.selectConfig||{},i=n.reserve,o=Er(this);i&&r.length&&(this.selection=r.map(function(l){var a=t[""+te(l,o)];return a?a.row:l}))},triggerCheckAllEvent:function(t,r){this.setAllSelection(r);var n={selection:this.getSelectRecords(),checked:r,$table:this};Q(this,"select-all",[n,t])},toggleAllSelection:function(){return this.triggerCheckAllEvent(null,!this.isAllSelected),this.$nextTick()},clearSelection:function(){var t=this.tableFullData,r=this.treeConfig,n=this.selectConfig||{},i=n.checkField;return i&&(r?We(t,function(o){return xe(o,i,!1)},r):t.forEach(function(o){return xe(o,i,!1)})),Object.assign(this,{isAllSelected:!1,isIndeterminate:!1,selection:[],treeIndeterminates:[]}),this.$nextTick()},initMultipleHistory:function(){var t=this.$grid.isMultipleHistory,r=this.getVm("toolbar"),n=r.settingOpts.storageKey,i=r.id,o=r.setting.multipleHistory.remoteSelectedMethod,l;t&&r&&r.setting&&r.setting.multipleHistory&&o&&typeof o=="function"&&(l=o(),typeof l.then=="function"&&l.then(function(a){var s=lp(a);s=s&&s[n]||null,s=(s||{})[i]||{};var c=s,u=c.columns,d=c.pageSize;r.applySettings({columns:u,pageSize:d})}))},showSelectToolbar:function(){var t=this.$grid,r=t.selectToolbar,n=t.showHeader,i=this.selectToolbarStore;if(r&&n){i.visible=!1;var o=ue(this.visibleColumn,function(m){return m.type==="selection"}),l=this.getSelectRecords(),a=typeof r=="object"?r.position:"";if(o&&l&&l.length){var s=this.$el.querySelector("th.tiny-grid-header__column.col__selection"),c=this.$el.querySelector(".tiny-grid>.tiny-grid__header-wrapper"),u=s.parentNode,d=Ao(u.childNodes),f=document.createRange(),h,v=c.getBoundingClientRect(),p={width:0,height:0,left:0,top:0,zIndex:1},g=1;return o.fixed==="right"?(f.setStart(u,d.indexOf(s)),f.setEnd(u,d.length),h=f.getBoundingClientRect(),p.left=g+"px"):(f.setStart(u,0),f.setEnd(u,d.indexOf(s)+1),h=f.getBoundingClientRect(),p.left=h.width+g+"px"),p.width=v.width-h.width-2*g+"px",!o.fixed&&a==="left"&&(f=document.createRange(),f.setStart(u,0),f.setEnd(u,d.indexOf(s)),h=f.getBoundingClientRect(),p.left=g+"px",p.width=h.width-2*g+"px"),p.top=v.height-h.height+g+"px",p.height=h.height-2*g+"px",this.$nextTick().then(function(){i.layout=p,i.visible=!0})}}return this.$nextTick()},toggleSelectToolbarVisible:function(){return this.selectToolbarStore.visible=!this.selectToolbarStore.visible,this.$nextTick()},handleSelectionHeader:function(){var t=this.tableFullData,r=this.visibleColumn,n=this.selectConfig,i=n===void 0?{}:n,o=i.headerAutoDisabled,l=r.find(function(a){return a.type==="selection"});(typeof o>"u"||typeof o=="boolean"&&o)&&!t.length&&l&&(this.headerCheckDisabled=!0)}},rS={host:"table",install:function(t){Object.assign(t.methods,tS)}},nS={triggerTreeExpandEvent:function(t,r){var n=this,i=r.row,o=this.currentColumn,l=this.currentRow,a=this.toggleTreeExpansion(i),s={$table:this,row:i,rowIndex:this.getRowIndex(i)};return Q(this,"toggle-tree-change",[s,t]),this.$nextTick(function(){l?n.setCurrentRow(l):o&&n.setCurrentColumn(o)}),a},toggleTreeExpansion:function(t){return this.setTreeExpansion(t)},handleDefaultTreeExpand:function(){var t=this,r=this.tableFullData,n=this.treeConfig;if(n){var i=n.children,o=n.expandAll,l=n.expandRowKeys,a=[],s=Er(this),c=function(h){return Ee(h)&&h.length},u=function(){xr(r,function(h){return c(h[i])&&a.push(h)},n),t.treeExpandeds=a},d=function(){l.forEach(function(h){var v=Me(r,function(p){return h===te(p,s)},n);v&&c(v.item[i])&&a.push(v.item)}),t.treeExpandeds=a};o?u():l&&d(),Vt(this)}},setAllTreeExpansion:function(t){var r=this.tableFullData,n=this.treeConfig,i=n.children,o=[];if(t){var l=function(s){s[i]&&s[i].length&&o.push(s)};We(r,l,n)}return this.treeExpandeds=o,Vt(this),this.$nextTick().then(this.recalculate)},setTreeExpansion:function(t,r){var n=this.treeConfig,i=this.treeExpandeds,o=this.tableFullData,l=n.accordion,a=n.children,s=arguments.length===1;if(!t)return this.$nextTick().then(this.recalculate);Ee(t)||(t=[t]),l&&(t=t.slice(t.length-1,t.length));var c=[].concat(i);return t.forEach(function(u){if(u[a]&&u[a].length){var d=c.indexOf(u);if(l){var f=Me(o,function(h){return h===u},n);Oe(c,function(h){return~f.items.indexOf(h)})}if(~d&&(s||!r)){c.splice(d,1);return}!~d&&(s||r)&&c.push(u)}}),this.treeExpandeds=c,Vt(this),this.$nextTick().then(this.recalculate)},hasTreeExpand:function(t){return~this.treeExpandeds.indexOf(t)},clearTreeExpand:function(){var t=this,r=this.treeExpandeds.length;return this.treeExpandeds=[],Vt(this),this.$nextTick().then(function(){return r?t.recalculate():0})}},iS={host:"table",install:function(t){Object.assign(t.methods,nS)}},oS="3.16.0",lS=[jn,zw,Nw,Qw,a2,c2,Vn,p2,m2,$2,_2,M2,D2,P2,rS,iS];me.setup({i18n:Ar});me.t=Ar;lS.map(function(e){return e.install(e.host==="grid"?Ke:Ue)});var aS=function(t){return function(){var r=this.$refs.tinyTable;if(r){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];return this.$refs.tinyTable[t].apply(r,i)}}};Object.keys(Ue.methods).forEach(function(e){Ke.methods[e]||(Ke.methods[e]=aS(e))});Ke.version=oS;Ke.install=function(e){e.component(Ke.name,Ke)};const sS=({className:e,item:t,value:r})=>{r&&(typeof r=="number"?e[`col-${t}-`]=r:("span"in r&&(e[`col-${t}-`]=r.span),"offset"in r&&(e[`col-${t}-offset-`]=r.offset),"push"in r&&(e[`col-${t}-push-`]=r.push),"pull"in r&&(e[`col-${t}-pull-`]=r.pull)))},cS=({attr:e,className:t,value:r})=>{e=e?e+"-":"",t[`col-xs-${e}`]=r,t[`col-sm-${e}`]=r,t[`col-md-${e}`]=r,t[`col-lg-${e}`]=r,t[`col-xl-${e}`]=r},uS=({api:e,props:t,state:r})=>()=>{var n;const i=24/(((n=r.layout)==null?void 0:n.cols)||12),o=t.span*i,l=t.offset,a=t.move?t.move:0,s=t.move?0:-t.move,c={xs:t.xs*i,sm:t.sm*i,md:t.md*i,lg:t.lg*i,xl:t.xl*i},u={},d=[];let f={};o&&e.setGlobalAttrValue({attr:"",value:o,className:u}),l&&e.setGlobalAttrValue({attr:"offset",value:l,className:u}),a&&e.setGlobalAttrValue({attr:"push",value:a,className:u}),s&&e.setGlobalAttrValue({attr:"pull",value:s,className:u});for(f of Object.keys(c))e.setSubitemAttrValue({item:f,value:c[f],className:u});for(f of Object.keys(u))d.push(f+u[f]);return d.join(" ")},dS=e=>()=>{const t="Row",r="Col";let n=e.$parent.$parent,i=n?n.$options.componentName:null,o=10;for(;n&&i!==t&&i!==r&&o--;)n=n.$parent,i=n&&n.$options?n.$options.componentName:null;return i===t?n:null},fS=({props:e,state:t})=>()=>{const r=t.row,n=e.no,i=[];let o=r?r.gutter:null,l=r?r.noSpace:null,a="";return o?(o=o/2,i.push(`padding-left:${o}px;padding-right:${o}px;`)):l&&i.push("padding-left:0;padding-right:0;"),r&&r.flex&&r.order&&(a=r.order==="asc"?n:-n,i.push(`order:${a};-webkit-order:${a};-ms-order:${a};-moz-order:${a};`)),i.join("")},hS=["state"],vS=(e,{computed:t,reactive:r,inject:n},{parent:i})=>{const o={},l=r({row:t(()=>o.row()),style:t(()=>o.getStyle()),className:t(()=>o.getClassName()),layout:n("layout",{})});return Object.assign(o,{state:l,row:dS(i),setGlobalAttrValue:cS,setSubitemAttrValue:sS,getStyle:fS({props:e,state:l}),getClassName:uS({api:o,props:e,state:l})}),o};function pS(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=gS(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gS(e,t){if(e){if(typeof e=="string")return Qi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qi(e,t)}}function Qi(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var mS=function(t,r){for(var n=t.__vccOpts||t,i=pS(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},bS=q({props:[].concat(ke,["span","offset","no","move","xs","sm","md","lg","xl","tag"]),setup:function(t,r){return ce({props:t,context:r,renderless:vS,api:hS})}});function yS(e,t,r,n,i,o){return S(),J($e(e.tag),{class:W([e.state.className,"tiny-col"]),style:be(e.state.style)},{default:de(function(){return[se(e.$slots,"default")]}),_:3},8,["class","style"])}var CS=mS(bS,[["render",yS]]);function vn(){return vn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},vn.apply(this,arguments)}var wS=function(t){var r;return typeof process=="object"&&((r={})==null||r.TINY_MODE),CS},yr=q({name:re+"Col",props:vn({},le,{span:{type:Number,default:12,validator:function(t){return Math.floor(t)===t&&t>0&&t<=24}},offset:{type:Number,default:0,validator:function(t){return t>=0}},no:{type:Number,default:0},move:{type:Number,default:0},xs:{type:[Number,Object]},sm:{type:[Number,Object]},md:{type:[Number,Object]},lg:{type:[Number,Object]},xl:{type:[Number,Object]},tag:{type:String,default:"div"}}),setup:function(t,r){return Ge({props:t,context:r,template:wS})}}),SS="3.16.0";yr.install=function(e){e.component(yr.name,yr)};yr.version=SS;const $S=({flex:e,justify:t,align:r})=>{const n=[];return e&&(n.push("row-flex"),n.push(`row-justify-${t}`),n.push(`row-align-${r}`)),n.join(" ")},xS=e=>{const t=e?-(e/2):0;return t?{marginLeft:t+"px",marginRight:t+"px"}:{}},_S=["state"],kS=(e,{computed:t,reactive:r})=>{const n={computedStyle:xS,computedClassName:$S},i=r({style:t(()=>n.computedStyle(e.gutter)),className:t(()=>n.computedClassName({flex:e.flex,justify:e.justify,align:e.align}))});return n.state=i,n};function TS(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=ES(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ES(e,t){if(e){if(typeof e=="string")return eo(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return eo(e,t)}}function eo(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var IS=function(t,r){for(var n=t.__vccOpts||t,i=TS(r),o;!(o=i()).done;){var l=o.value,a=l[0],s=l[1];n[a]=s}return n},OS=q({props:[].concat(ke,["flex","gutter","justify","align","order","tag","noSpace"]),setup:function(t,r){return ce({props:t,context:r,renderless:kS,api:_S})}});function MS(e,t,r,n,i,o){return S(),J($e(e.tag),{class:W([e.state.className,"tiny-row"]),style:be(e.state.style)},{default:de(function(){return[se(e.$slots,"default")]}),_:3},8,["class","style"])}var AS=IS(OS,[["render",MS]]);function pn(){return pn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},pn.apply(this,arguments)}var DS=function(t){var r;return typeof process=="object"&&((r={})==null||r.TINY_MODE),AS},Cr=q({name:re+"Row",componentName:"Row",props:pn({},le,{flex:Boolean,gutter:{type:Number,default:0,validator:function(t){return t>=0}},justify:{type:String,default:"start",validator:function(t){return!!~["start","center","end","space-between","space-around"].indexOf(t)}},align:{type:String,default:"top",validator:function(t){return!!~["top","middle","bottom"].indexOf(t)}},order:{type:String,validator:function(t){return!!~["asc","des"].indexOf(t)}},tag:{type:String,default:"div"},noSpace:{type:Boolean,default:!1}}),setup:function(t,r){return Ge({props:t,context:r,template:DS})}}),LS="3.16.0";Cr.install=function(e){e.component(Cr.name,Cr)};Cr.version=LS;export{To as A,h2 as B,yr as C,Mt as D,zS as E,Cp as F,Ke as G,qt as H,yo as I,Co as J,Ot as K,an as L,Xt as P,Cr as R,jt as T,Wr as a,bo as b,$r as c,Rr as d,Vp as e,Ms as f,Ps as g,ue as h,Sr as i,NS as j,Bn as k,At as l,ae as m,ci as n,B as o,mt as p,at as q,Ee as r,Ae as s,On as t,lp as u,Io as v,St as w,me as x,Q as y,Ye as z};
diff --git a/admin-website/src/main/resources/static/assets/index-c743e9f1.js b/admin-website/src/main/resources/static/assets/index-c743e9f1.js
deleted file mode 100644
index f834dd8..0000000
--- a/admin-website/src/main/resources/static/assets/index-c743e9f1.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{l as f,k as V,u as g,v as y,G as nt,A as ce,I as Ee,L as Oe,D as Tt,z as N,d as D,a0 as ye,r as E,a2 as ae,w as b,E as w,W as T,Z as he,_ as me,y as Je,H as U,J as ke,M as ne,N as de,a8 as Ct,j as xt}from"./vue-fdfdc7c1.js";import{D as Ve,p as Me,q as st,b as It,A as St,E as _t,F as ze,H as Bt,a as Z,G as Nt,L as Et}from"./index-c544811c.js";import{ad as q,M as $,ae as j,o as Ie,f as Se,$ as M,d as O,b as se,N as _e,E as Ot,j as Ue,a as L,k as v,p as Ae,Y as Ge,af as kt,ag as ot,ah as Vt,c as rt,u as oe,a2 as lt,_ as R,T as Fe,B as qe,ai as Mt}from"./index-387d5142.js";import{a as it,r as ct,i as He}from"./index-10398010.js";import{i as dt}from"./chevron-up-775d40e5.js";import{D as ut}from"./index-ebd49e8e.js";import"./index-cd31dfea.js";import{h as Ft}from"./head-3486dd8f.js";import"./index-9e0a2cd3.js";const Dt=(e,t)=>{const a=e.$slots.default;let n;if(typeof a=="function"){n=[];const s=a(),o=({type:r,componentOptions:l,props:c})=>{let i=r&&r.componentName;if(i||(i=l&&l.Ctor.extendOptions.componentName),i==="TabItem"){const d=c&&c.name||l&&l.propsData.name;n.push(d)}};s.forEach(({type:r,componentOptions:l,props:c,children:i})=>{r&&(r.toString()==="Symbol(Fragment)"||r.toString()==="Symbol(v-fgt)"||r.toString()==="Symbol()")?Array.isArray(i)&&i.forEach(({type:d,componentOptions:p,props:h})=>o({type:d,componentOptions:p,props:h})):o({type:r,componentOptions:l,props:c})})}if(n.length>0){let s=[];n.forEach(o=>{let r=t.find(l=>l.name===o);r&&s.push(r)}),t=s}return t},Lt=({constants:e,parent:t,state:a,childrenHandler:n})=>(s=!1)=>{const o=t.$slots.default;if(o){const r=[];o().forEach(d=>{var p;if(Array.isArray(d.children))d.children.forEach(h=>{var u;const m=(u=h.props)==null?void 0:u.name;m&&r.push(m)});else{const h=(p=d.props)==null?void 0:p.name;h&&r.push(h)}});const l=[];n(({vm:d,isLevel1:p})=>{if(p&&d.$options.componentName===e.TAB_ITEM){const h=r.findIndex(u=>u===d.name);h>-1?l[h]=d:l.push(d)}});const c=Dt(t,l),i=!(c.length===a.panes.length&&c.every((d,p)=>d.state===a.panes[p].state));(s||i)&&(a.panes=c)}else a.panes.length!==0&&(a.panes=[])},Rt=({parent:e,props:t,state:a,refs:n})=>()=>{if(!t.showMoreTabs)return;const o=e.$el.querySelectorAll(".tiny-tabs__item"),r=n.nav.$refs;if(t.moreShowAll){a.showPanesCount=0;return}if(o&&o.length){let l=0;for(let c=0;c<o.length;c++){const i=o[c];l=i.offsetLeft+i.offsetWidth/2;const d=r.navScroll.offsetWidth,p=Number(a.currentName||0);if(l>d&&p>=0){p>=c+1?a.showPanesCount=p-0:a.showPanesCount=c;break}}}},Wt=({parent:e,props:t,state:a})=>()=>{if(!t.showExpandTabs)return;const s=e.$el.querySelector(".tiny-mobile-tabs__header");s&&(a.expandPanesWidth=s.clientWidth)},Pt=({api:e,emit:t,props:a,refs:n})=>(s,o,r)=>{s.disabled||(e.setCurrentName(o),t("click",s,r),a.showExpandTabs&&n.nav&&n.nav.expandTabHide())},Yt=({emit:e,props:t})=>(a,n)=>{if(a.disabled)return;n.stopPropagation();const s=()=>{e("edit",a.name,"remove"),e("close",a.name)};if(typeof t.beforeClose=="function"){const o=t.beforeClose(a.name);o&&o.then?o.then(r=>r&&s()):o&&s()}else s()},jt=e=>()=>{e("edit",null,"add"),e("add")},Ut=({api:e,props:t,refs:a,state:n})=>s=>{if(e.changeDirection(n.currentName),n.currentName!==s&&t.beforeLeave){const o=t.beforeLeave(s,n.currentName);o&&o.then?o.then(()=>{e.changeCurrentName(s),a.nav&&a.nav.removeFocus(s)}).catch(()=>null):o!==!1&&e.changeCurrentName(s)}else e.changeCurrentName(s)},Ht=({emit:e,state:t})=>a=>{t.currentName=a,e("update:modelValue",a)},Kt=({api:e,parent:t,state:a})=>()=>{e.changeDirection(a.currentName),t.$on("tab-nav-update",e.calcPaneInstances.bind(null,!0))},Qt=({props:e,state:t})=>a=>{t.panes.forEach((s,o)=>{if(s.state.paneName===a&&t.currentIndex!==o){const r=~["top","bottom"].indexOf(e.position),l=t.currentIndex<o;t.direction=r?l?"right":"left":l?"bottom":"top",t.currentIndex=o}})},Jt=({emit:e})=>t=>{e("tab-drag-start",t)},zt=({emit:e})=>t=>{e("tab-drag-over",t)},Gt=({state:e,emit:t})=>a=>{const{oldDraggableIndex:n,newDraggableIndex:s}=a,o=e.panes.splice(n,1)[0];e.panes.splice(s,0,o),t("tab-drag-end",a)},ft=["state","handleTabAdd","calcPaneInstances","handleTabRemove","handleTabClick","handleTabDragStart","handleTabDragOver","handleTabDragEnd","setCurrentName","getNavRefs"],qt=({reactive:e,props:t})=>e({panes:[],currentName:t.modelValue||t.activeName,currentIndex:-1,showPanesCount:-1,startX:0,startY:0,deltaX:0,deltaY:0,offsetX:0,offsetY:0,direction:"",expandPanesWidth:"",activeIndex:1,separator:t.separator}),Xt=({watch:e,props:t,api:a,state:n,nextTick:s,refs:o})=>{e(()=>t.modelValue,a.setCurrentName),e(()=>t.activeName,a.setCurrentName),e(()=>n.currentName,()=>{s(()=>{o.nav.scrollToActiveTab()})},{deep:!0}),e(()=>t.showMoreTabs,r=>{r||(n.morePanes=[],n.showPanesCount=-1)},{immediate:!0})},pt=(e,{onMounted:t,onUpdated:a,provide:n,reactive:s,watch:o},{refs:r,parent:l,emit:c,constants:i,nextTick:d,childrenHandler:p})=>{const h={},u=qt({reactive:s,props:e});return Object.assign(h,{state:u,handleTabAdd:jt(c),handleTabRemove:Yt({emit:c,props:e}),changeDirection:Qt({props:e,state:u}),changeCurrentName:Ht({emit:c,state:u}),calcMorePanes:Rt({parent:l,props:e,state:u,refs:r}),calcExpandPanes:Wt({parent:l,props:e,state:u}),calcPaneInstances:Lt({constants:i,parent:l,state:u,childrenHandler:p}),handleTabDragStart:Jt({emit:c}),handleTabDragOver:zt({emit:c}),handleTabDragEnd:Gt({state:u,emit:c}),handleTabClick:Pt({api:h,emit:c,props:e,refs:r}),setCurrentName:Ut({api:h,props:e,refs:r,state:u}),created:Kt({api:h,parent:l,state:u})}),h.created(),n("rootTabs",l),n("separator",u.separator),Xt({watch:o,props:e,api:h,state:u,nextTick:d,refs:r}),t(()=>{h.calcPaneInstances(),h.calcMorePanes(),h.calcExpandPanes()}),a(()=>{h.calcPaneInstances(),h.calcMorePanes(),h.calcExpandPanes()}),h},Zt=e=>{const t=~[j.Top,j.Bottom].indexOf(e.rootTabs.position)?"X":"Y";if(e.mode==="mobile"){const{offset:a,width:n}=e.lineStyle;return{width:`${n}px`,transform:`translate${t}(${a}px) translate${t}(-50%)`}}else return{transform:`translate${t}(-${e.navOffset}px)`}},$t=({parent:e,vm:t,state:a})=>()=>{if(!a.scrollable)return;const n=t.$refs.nav,s=e.$el.querySelector(".is-active");if(!s)return;const o=s.offsetLeft-(n.offsetWidth-s.offsetWidth)/2,r=n.scrollLeft;if(a.mode==="mobile"){n.scrollLeft+=o-r;const l=s.querySelector(".tiny-mobile-tabs__name");a.lineStyle.width=l.offsetWidth,a.lineStyle.offset=s.offsetLeft+s.offsetWidth/2}},ea=e=>~[j.Top,j.Bottom].indexOf(e.rootTabs.position)?"width":"height",ta=({api:e,vm:t,state:a})=>()=>{if(!t.$refs.nav||a.dragging)return;let n=t.$refs.nav[`offset${q(a.sizeName)}`];a.mode==="mobile"&&Array.prototype.forEach.call(t.$refs.nav.children,r=>{if(r.classList&&r.classList.contains("tiny-mobile-tabs__item")&&(n+=r.offsetWidth),r.classList&&r.classList.contains("is-active")){const l=r.querySelector(".tiny-mobile-tabs__name");a.isActive=!0,a.lineStyle.width=l.offsetWidth,a.lineStyle.offset=r.offsetLeft+r.offsetWidth/2}});const s=t.$refs.navScroll[`offset${q(a.sizeName)}`],o=a.navOffset;if(s<n){const r=a.navOffset;a.scrollable||(a.scrollable={prev:r,next:r+s<n}),n-r<s&&(a.navOffset=n-s)}else a.scrollable=!1,o>0&&(a.navOffset=0);if(a.isActive&&e.scrollIntoView(),t.$refs.tabBar)t.$refs.tabBar.state.barStyle=t.$refs.tabBar.computedBarStyle(t.$refs.tabBar,a);else{const r=t.$refs.nav.querySelector("tiny-mobile-tabs__line");r&&r.style&&(r.style.transform=e.computedNavStyle(a).transform)}},aa=({api:e,parent:t})=>{const a=t.$refs.nav.$el;it(a,e.updated),Ie(document,"visibilitychange",e.visibilityChangeHandler),Ie(window,"blur",e.windowBlurHandler),Ie(window,"focus",e.windowFocusHandler),e.scrollToActiveTab(),e.scrollIntoView(),e.sortableEvent()},na=({api:e,parent:t})=>{const a=t.$refs.nav&&t.$refs.nav.$el;a&&e.updated&&ct(a,e.updated),Se(document,"visibilitychange",e.visibilityChangeHandler),Se(window,"blur",e.windowBlurHandler),Se(window,"focus",e.windowFocusHandler)},sa=e=>()=>{const t=document.visibilityState;t==="hidden"?e.focusable=!1:t==="visible"&&setTimeout(()=>{e.focusable=!0},50)},oa=e=>()=>{e.focusable=!1},ra=e=>()=>{setTimeout(()=>{e.focusable=!0},50)},la=({parent:e,vm:t,state:a})=>()=>{if(!a.scrollable)return;const n=t.$refs.nav,s=e.$el.querySelector(".is-active");if(!s)return;const o=t.$refs.navScroll,r=s.getBoundingClientRect(),l=o.getBoundingClientRect();let c=n.offsetWidth-l.width;a.mode==="mobile"&&(r.left>l.width?c=r.left-l.width+r.width:c=r.width);const i=a.navOffset;let d=i;r.left<l.left&&(d=i-(l.left-r.left)),r.right>l.right&&(d=i+r.right-l.right),d=Math.max(d,0),a.navOffset=Math.min(d,c)},ia=({vm:e,state:t})=>()=>{const a=e.$refs.navScroll[`offset${q(t.sizeName)}`],n=t.navOffset;if(!n)return;const s=n>a?n-a:0;t.navOffset=s},ca=({vm:e,state:t})=>()=>{const a=e.$refs.nav[`offset${q(t.sizeName)}`],n=e.$refs.navScroll[`offset${q(t.sizeName)}`],s=t.navOffset;if(a-s<=n)return;const o=a-s>n*2?s+n:a-n;t.navOffset=o},da=e=>t=>{const a=t.keyCode;let n,s,o;if(~[$.ArrowLeft,$.ArrowRight,$.ArrowUp,$.ArrowDown].indexOf(a)&&t.currentTarget)o=t.currentTarget.querySelectorAll("[role=tab]"),s=Array.prototype.indexOf.call(o,t.target);else return;a===$.ArrowLeft||a===$.ArrowUp?s===0?n=o.length-1:n=s-1:s<o.length-1?n=s+1:n=0,o[n].focus(),o[n].click(),e.setFocus()},ua=e=>()=>{e.focusable&&(e.isFocus=!0)},fa=e=>()=>{e.isFocus=!0},pa=e=>()=>{e.showMoreItem?e.showMoreItem=!1:e.showMoreItem=!0},ha=({api:e,state:t})=>()=>{t.showExpandItem=!t.showExpandItem,t.showExpandItem&&e.computedHeaderStyle()},ma=e=>()=>e.showExpandItem=!1,ba=({vm:e,state:t})=>()=>(e.$refs.nav&&(t.expandHeaderStyle[t.sizeName]=e.$refs.nav[`offset${q(t.sizeName)}`]+"px"),t.expandHeaderStyle),va=({state:e,vm:t,emit:a})=>n=>{if(e.dragging=!0,![j.Top,j.Bottom].includes(e.rootTabs.position)){a("tab-drag-start",n);return}const s=t.$refs.navScroll,o=t.$refs.nav,r=s.offsetWidth;if(o.offsetWidth>r){const c=o.offsetHeight;s.style.height=c+"px",o.style.transition="none",o.style.transform="",o.style.width=r+"px",o.style.overflowX="scroll",o.scrollTo(e.navOffset,0)}a("tab-drag-start",n)},ga=({vm:e,state:t,nextTick:a})=>()=>{if(t.dragging=!1,![j.Top,j.Bottom].includes(t.rootTabs.position))return;const n=e.$refs.nav;if(n.style.width){const s=n.scrollLeft,o=e.$refs.navScroll;o.style.height="",n.style.width="",n.style.overflowX="",t.navOffset=s,a(()=>{n.style.transition=""})}},ya=({api:e,props:t,state:a,vm:n,emit:s,markRaw:o})=>()=>{if(!t.dropConfig||typeof t.dropConfig.plugin!="function")return;const r=new t.dropConfig.plugin(n.$refs.nav,{sort:!0,draggable:".tiny-tabs__item",onUpdate(l){s("tab-drag-end",l)},onMove(l){s("tab-drag-over",l)},onStart(l){e.handleTabDragStart(l)},onEnd(){e.handleTabDragEnd()}});a.navSortableObj=o(r)},Aa=({nextTick:e,vm:t,state:a})=>()=>{e(()=>{const n=t.$refs.tabBar;n&&(n.state.barStyle=n.computedBarStyle(n,a))})},wa=({state:e,vm:t,props:a})=>(n,s)=>{const o=n.target,r=s==null?void 0:s.el;if(!a.tooltipConfig&&o&&r&&r.scrollWidth>r.offsetWidth){const l=t.$refs.tooltip;l.state.referenceElm=o,l.state.popperElm&&(l.state.popperElm.style.display="none"),l.doDestroy(),e.tooltipContent=s,e.tooltipVisible=!0,setTimeout(l.updatePopper,20)}},Ta=({state:e})=>()=>{e.tooltipVisible=!1},ht=["state","setFocus","removeFocus","scrollPrev","scrollNext","changeTab","scrollToActiveTab","scrollIntoView","moreTabShow","expandTabShow","expandTabHide","computedHeaderStyle","swiperHandle","updated","handleTitleMouseenter","handleTitleMouseleave"],mt=(e,{computed:t,inject:a,onBeforeUnmount:n,onMounted:s,onUpdated:o,reactive:r,markRaw:l},{parent:c,vm:i,nextTick:d,mode:p,emit:h})=>{const u={mounted:aa,beforeUnmount:na,computedNavStyle:Zt,computedSizeName:ea},m=r({dragging:!1,navOffset:0,lineStyle:{width:20,offset:0},scrollable:!1,isFocus:!1,focusable:!1,showMoreItem:!1,isActive:!1,tooltipVisible:!1,tooltipContent:"",showMoreTabs:e.showMoreTabs,showExpandItem:!1,showExpandTabs:e.showExpandTabs,expandHeaderStyle:{},mode:e._mode||c.$mode||p||"pc",rootTabs:a("rootTabs"),sizeName:t(()=>u.computedSizeName(m)),navStyle:t(()=>u.computedNavStyle(m)),navSortableObj:{},separator:a("separator",null)});return Object.assign(u,{state:m,setFocus:ua(m),removeFocus:fa(m),moreTabShow:pa(m),expandTabShow:ha({api:u,state:m}),expandTabHide:ma(m),scrollPrev:ia({vm:i,state:m}),scrollNext:ca({vm:i,state:m}),windowBlurHandler:oa(m),windowFocusHandler:ra(m),visibilityChangeHandler:sa(m),scrollToActiveTab:la({parent:c,vm:i,state:m}),scrollIntoView:$t({parent:c,vm:i,state:m}),computedHeaderStyle:ba({vm:i,state:m}),watchCurrentName:Aa({nextTick:d,vm:i,state:m}),handleTabDragStart:va({state:m,vm:i,emit:h}),handleTabDragEnd:ga({state:m,vm:i,nextTick:d}),sortableEvent:ya({api:u,props:e,state:m,vm:i,emit:h,markRaw:l}),handleTitleMouseenter:wa({state:m,vm:i,props:e}),handleTitleMouseleave:Ta({state:m})}),Object.assign(u,{updated:ta({api:u,vm:i,state:m}),changeTab:da(u)}),o(()=>u.updated()),s(()=>u.mounted({api:u,parent:c})),n(()=>u.beforeUnmount({api:u,parent:c})),u},Ca=e=>(t,a)=>{const n={};let s=0,o=0;const r=~[j.Top,j.Bottom].indexOf(a.rootTabs.position)?"width":"height",l=r==="width"?"x":"y";t.tabs&&t.tabs.length&&t.tabs.every(({state:i})=>{const d=e.$refs[`tabs-${i.paneName}`];if(!d)return!1;const p=d.getBoundingClientRect()[r],h=parseFloat(window.getComputedStyle(d).marginRight);if(i.active){const u=d.cloneNode(!0),m=window.getComputedStyle(u);if(o=p,o===0)document.body.appendChild(u),o=parseFloat(m.width)-parseFloat(m.paddingLeft)-parseFloat(m.paddingRight),document.body.removeChild(u);else if(r==="width")return document.body.appendChild(u),o-=parseFloat(m.paddingRight),document.body.removeChild(u),!1}else{if(d.getBoundingClientRect().width===0){const u=d.cloneNode(!0);document.body.appendChild(u);const m=window.getComputedStyle(u);s+=parseFloat(m[r])-parseFloat(m.marginRight),document.body.removeChild(u)}else s+=r==="height"?p:p+h;return!0}});const c=`translate${q(l)}(${s}px)`;return n[r]=a.separator?"":o+"px",n.transform=c,n.msTransform=c,n.webkitTransform=c,n},xa=["state","computedBarStyle"],Ia=(e,{inject:t,reactive:a},{parent:n})=>({state:a({rootTabs:t("rootTabs"),barStyle:{},separator:t("separator",null)}),computedBarStyle:Ca(n)});function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},ue.apply(null,arguments)}var Sa=ue({},M,{panes:{type:Array,default:function(){return[]}},currentName:String,editable:Boolean,overflowTitle:Boolean,onTabClick:{type:Function,default:function(){}},onTabRemove:{type:Function,default:function(){}},tabStyle:String,stretch:Boolean,showMoreTabs:Boolean,showPanesCount:Number,popperClass:String,popperAppendToBody:{type:Boolean,default:!0},dropConfig:{type:Object,default:function(){return null}},titleWidth:{type:String,default:"256px"},tooltipConfig:[String,Object],panelMaxHeight:String,panelWidth:String});ue({},M,{panes:{type:Array,default:function(){return[]}},currentName:String,activeColor:{type:String,default:""},onTabClick:{type:Function,default:function(){}},onTabRemove:{type:Function,default:function(){}},showExpandTabs:Boolean,expandPanesWidth:{type:String,default:""},expandTabsTitle:{type:String,default:"请选择"},expandTabsMode:{type:String,default:"columns"},stretch:{type:Boolean,default:!1}});var _a=ue({},M,{tabs:Array});function Ba(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=Na(e))||t&&e&&typeof e.length=="number"){a&&(e=a);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Na(e,t){if(e){if(typeof e=="string")return Xe(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Xe(e,t):void 0}}function Xe(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var Ea=function(t,a){for(var n=t.__vccOpts||t,s=Ba(a),o;!(o=s()).done;){var r=o.value,l=r[0],c=r[1];n[l]=c}return n};function ve(){return ve=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},ve.apply(null,arguments)}var Oa=O({name:se+"TabBar",props:_a,setup:function(t,a){return L({props:t,context:a,renderless:Ia,api:xa,mono:!0})}});function ka(e,t,a,n,s,o){return g(),y("div",{style:nt(e.state.barStyle),class:ce(["is-"+e.state.rootTabs.position,e.state.separator?"":"tiny-tabs__active-bar"])},null,6)}var Va=Ea(Oa,[["render",ka]]),Ze=O({name:se+"TabNav",components:{TabBar:Va,Dropdown:Ve,DropdownMenu:Me,DropdownItem:st,Tooltip:_e,IconChevronLeft:It(),IconChevronRight:Ot(),IconClose:Ue()},props:Sa,inject:["moreIcon"],setup:function(t,a){return L({props:t,context:a,renderless:mt,api:ht,mono:!0})},render:function(){var t=this.state,a=this.tabStyle,n=this.editable,s=this.stretch,o=this.showPanesCount,r=this.onTabClick,l=this.onTabRemove,c=this.scrollNext,i=this.scrollPrev,d=this.changeTab,p=this.setFocus,h=this.removeFocus,u=this.showMoreTabs,m=this.popperClass,I=this.overflowTitle,k=this.titleWidth,A=this.handleTitleMouseenter,S=this.handleTitleMouseleave,x=this.moreIcon,_=this.tooltipConfig,W=this.panelMaxHeight,K=this.panelWidth,F=this.panes,Q=[f("span",{class:["tiny-tabs__nav-prev",t.scrollable.prev?"":"is-disabled"],onClick:i},[f(V("icon-chevron-left"),null,null)]),u?null:f("span",{class:["tiny-tabs__nav-next",t.scrollable.next?"":"is-disabled"],onClick:c},[f(V("icon-chevron-right"),null,null)])],re=t.scrollable?Q:null,H=null;if(u&&t.scrollable){var be=function(){return x?f("span",{class:"tiny-tabs__more-icon"},[x()||Ge("ui.tabs.moreItem")]):f("span",{class:"tiny-tabs__more"},[Ge("ui.tabs.moreItem")])},le=F.slice(o),X=o!==-1&&!!le.length,Ke=function(){return X?le.map(function(B,P){var J=B.name||B.state.index||P,z=B.$slots.title||B.title,Te=B.state.active?0:-1;return B.state.index=""+(P+o),f(V("dropdown-item"),{class:"tiny-tabs__more-item",tabindex:Te,onFocus:function(){p()},onBlur:function(){h()},onClick:function(Ce){h(),r(B,J,Ce)}},{default:function(){return[typeof z=="function"?z():z]}})}):null},we=function(){return X?v(Me,{attrs:{popperClass:"tiny-tabs-dropdown tiny-tabs__more-dropdown"+(m?" "+m:""),placement:"bottom-start",style:{maxHeight:W,width:K}},scopedSlots:{default:Ke}}):null};H=f("div",{class:"tiny-tabs__more-container",ref:"more"},[X?v(Ve,{attrs:{trigger:"hover"},scopedSlots:{default:be,dropdown:we}}):be()])}var bt=F.map(function(C,B){var P,J=C.name||C.state.index||B,z=C.state.isClosable||n;C.state.index=""+B;var Te=z?f("span",{class:"tiny-tabs__icon-close"},[f(V("icon-close"),{onClick:function(Y){l(C,Y)}},null)]):null,ie=function(Y){return v("span",{class:{"tiny-tabs__item-title":!0},style:{"max-width":k},on:{mouseenter:function(xe){A(xe,Y)},mouseleave:function(xe){S(xe)}}},[Y])},Ce=function(){return _==="title"?v("span",{class:"tiny-tabs__item__title",attrs:{title:C.title}},[C.title]):v(_e,{class:"tiny-tabs__item__title",props:ve({content:C.title},_)},[v("span",{},[C.title])])},gt=function(){return _?Ce():v("span",{class:"tiny-tabs__item__title"},[C.title])},yt=f("span",{class:"tiny-tabs__item-separator"},null),Qe=C.$slots.title?C.$slots.title():gt(),At=C.state.active?0:-1;return v("div",{ref:"tabs-"+J,key:"tab-"+J+"-"+B,class:(P={"tiny-tabs__item":!0,"tiny-tabs__item-separator-space":t.separator},P["is-"+t.rootTabs.position]=!0,P["is-active"]=C.state.active,P["is-disabled"]=C.disabled,P["is-closable"]=z,P["is-focus"]=t.isFocus,P),attrs:{id:"tab-"+J,"aria-controls":"pane-"+J,"data-index":B+1,role:"tab","aria-selected":C.state.active,tabindex:At,refInFor:!0},on:{focus:function(){p()},blur:function(){h()},click:function(Y){h(),r(C,J,Y)},keydown:function(Y){z&&(Y.keyCode===46||Y.keyCode===8)&&l(C,Y)}}},[I?ie(Qe):Qe,Te,t.separator&&yt])}),vt=this.$refs.more?this.$refs.more.offsetWidth+"px":"46px";return f("div",{style:u?{paddingRight:vt}:{},class:["tiny-tabs__nav-wrap",!t.separator&&"tiny-tabs__nav-wrap-not-separator",t.scrollable?"is-scrollable":"",u?"is-show-more":"","is-"+t.rootTabs.position]},[[re,H],f("div",{class:["tiny-tabs__nav-scroll"],ref:"navScroll"},[f("div",{class:["tiny-tabs__nav","is-"+t.rootTabs.position,s&&["top","bottom"].includes(t.rootTabs.position)?"is-stretch":"",a?"":"is-show-active-bar"],ref:"nav",style:t.navStyle,role:"tablist","on-keydown":d},[a?null:f(V("tab-bar"),{ref:"tabBar",tabs:F},null),bt])]),I?f(_e,{ref:"tooltip",modelValue:t.tooltipVisible,"onUpdate:modelValue":function(B){return t.tooltipVisible=B},manual:!0,effect:"light",content:t.tooltipContent,placement:"top"},null):null])}}),$e=O({emits:["add","click","close","edit","update:modelValue","tab-nav-update","tab-drag-start","tab-drag-over","tab-drag-end"],props:[].concat(Ae,["tabStyle","activeName","withClose","withAdd","size","modelValue","editable","position","beforeLeave","stretch","showMoreTabs","popperClass","popperAppendToBody","dropConfig","tooltipConfig","separator","beforeClose","overflowTitle","titleWidth","moreShowAll","panelMaxHeight","panelWidth"]),components:{TabNav:Ze,IconPlus:He()},provide:function(){return{moreIcon:this.$slots.moreIcon}},setup:function(t,a){return L({props:t,context:a,renderless:pt,api:ft})},render:function(){var t=this,a,n=this.state,s=this.tabStyle,o=this.handleTabClick,r=this.handleTabRemove,l=this.handleTabAdd,c=this.handleTabDragStart,i=this.handleTabDragOver,d=this.handleTabDragEnd,p=this.editable,h=this.withAdd,u=this.position,m=this.size,I=this.stretch,k=this.showMoreTabs,A=this.popperClass,S=this.popperAppendToBody,x=this.dropConfig,_=this.tooltipConfig,W=this.overflowTitle,K=this.titleWidth,F=this.panelMaxHeight,Q=this.panelWidth,re=p||h?f("span",{class:"tiny-tabs__new-tab",onClick:l,tabindex:"0",onKeydown:function(we){we.keyCode===13&&l()}},[f(V("icon-plus"),null,null)]):null,H={props:{currentName:n.currentName,panes:n.panes,onTabClick:o,onTabRemove:r,showPanesCount:n.showPanesCount,editable:p,tabStyle:s,size:m,stretch:I,showMoreTabs:k,popperClass:A,popperAppendToBody:S,dropConfig:x,tooltipConfig:_,overflowTitle:W,titleWidth:K,separator:n.separator,panelMaxHeight:F,panelWidth:Q},on:{"tab-drag-start":c,"tab-drag-over":i,"tab-drag-end":d},ref:"nav"},be=v(Ze,ve({},H));this.$nextTick(function(){t.$refs.nav&&t.$refs.nav.$forceUpdate()});var le=f("div",{class:["tiny-tabs__header","is-"+u]},[be,re]),X=f("div",{class:"tiny-tabs__content"},[this.slots.default&&this.slots.default()]);return f("div",{class:(a={"tiny-tabs":!0,"tiny-tabs--card":s==="card"},a["tiny-tabs--"+(n.separator?"top":u)]=!0,a["tiny-tabs--border-card"]=s==="border-card",a["tiny-tabs--button-card"]=s==="button-card",a["tiny-tabs--small"]=m==="small",a["tiny-tabs--large"]=m==="large",a)},[u!=="bottom"?[le,X]:[X,le]])}});function fe(){return fe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},fe.apply(null,arguments)}fe({},M,{panes:{type:Array,default:function(){return[]}},currentName:String,editable:Boolean,overflowTitle:Boolean,onTabClick:{type:Function,default:function(){}},onTabRemove:{type:Function,default:function(){}},tabStyle:String,stretch:Boolean,showMoreTabs:Boolean,showPanesCount:Number,popperClass:String,popperAppendToBody:{type:Boolean,default:!0},dropConfig:{type:Object,default:function(){return null}},titleWidth:{type:String,default:"256px"},tooltipConfig:[String,Object],panelMaxHeight:String,panelWidth:String});var Ma=fe({},M,{panes:{type:Array,default:function(){return[]}},currentName:String,activeColor:{type:String,default:""},onTabClick:{type:Function,default:function(){}},onTabRemove:{type:Function,default:function(){}},showExpandTabs:Boolean,expandPanesWidth:{type:String,default:""},expandTabsTitle:{type:String,default:"请选择"},expandTabsMode:{type:String,default:"columns"},stretch:{type:Boolean,default:!1}});fe({},M,{tabs:Array});function ge(){return ge=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},ge.apply(null,arguments)}var et=O({name:se+"TabNav",components:{IconClose:Ue(),IconChevronDown:dt()},props:Ma,setup:function(t,a){return L({props:t,context:a,renderless:mt,api:ht,mono:!0,h:v})},render:function(){var t=this.state,a=this.panes,n=this.onTabClick,s=this.onTabRemove,o=this.showExpandTabs,r=this.expandTabShow,l=this.activeColor,c=this.expandPanesWidth,i=this.currentName,d=this.expandTabsTitle,p=this.expandTabsMode,h=this.stretch,u=o?f("div",{class:"tiny-mobile-tabs__expand-icon"},[f("span",{slot:"reference",class:"tiny-mobile-tabs__expand",onClick:function(){r()}},[f(V("icon-chevron-down"),null,null)])]):null,m=f("div",{class:"tiny-mobile-tabs__expand-content",style:t.showExpandItem?{display:"block",width:c?c+"px":""}:{display:"none"}},[f("div",{class:"tiny-mobile-tabs__expand-mask"},null),f("div",{class:"tiny-mobile-tabs__expand-header"},[f("label",{class:"tiny-mobile-tabs__expand-header-title",style:t.expandHeaderStyle},[d]),f("span",{slot:"reference",class:"tiny-mobile-tabs__expand",style:{transform:"rotate(180deg)"}},[f(V("icon-chevron-down"),null,null)])]),f("div",{class:"tiny-mobile-tabs__expand-list"},[a.map(function(A,S){var x,_=A.name||A.state.index||S,W=A.$slots.title||A.title;return f("div",{class:(x={"tiny-mobile-tabs__expand-item":!0},x["tiny-mobile-tabs__expand-mode-"+p]=p==="columns",x)},[f("div",{class:{"tiny-mobile-tabs__expand-item-title":!0,"is-current":i===_},onClick:function(F){n(A,_,F)}},[W])])})])]),I={},k=a.map(function(A,S){var x,_=A.name||A.state.index||S,W=A.state.isClosable;A.state.index=""+S;var K=W&&a.length>1?f("span",{class:"tiny-mobile-tabs__icon-close"},[f(V("icon-close"),{onClick:function(H){s(A,H)}},null)]):null,F=A.$slots.title||A.title,Q={};return h||(Q.flex=0,I.justifyContent="center"),S===a.length-1&&(Q.marginRight=0),f("div",{class:(x={"tiny-mobile-tabs__item":!0},x["is-"+t.rootTabs.position]=!0,x["is-active"]=A.state.active,x["is-disabled"]=A.disabled,x["is-closable"]=W,x),style:Q,role:"tab",ref:"tabs",id:"tab-"+_,key:"tab-"+_,"aria-controls":"pane-"+_,"aria-selected":A.state.active,onClick:function(H){n(A,_,H)}},[f("span",{class:"tiny-mobile-tabs__name",style:l&&A.state.active?{color:l}:{}},[F,K])])});return f("div",{style:o?{paddingRight:"46px"}:{},class:["tiny-mobile-tabs__nav-wrap",t.scrollable?"is-scrollable":"",a.length>4?"tiny-mobile-tabs__wrap-scrollable":"",o?"is-show-expand":"","is-"+t.rootTabs.position]},[f("div",{class:["tiny-mobile-tabs__nav-scroll"],ref:"navScroll"},[f("div",{class:["tiny-mobile-tabs__nav","is-"+t.rootTabs.position],style:I,ref:"nav",role:"tablist"},[k,f("div",{class:"tiny-mobile-tabs__line",style:[t.navStyle,l?{backgroundColor:l}:{}]},null)])]),[u,m]])}}),Fa=50,Da=O({props:[].concat(Ae,["activeName","position","withClose","withAdd","activeColor","modelValue","beforeLeave","editable","showExpandTabs","childrenTabs","swipeable","expandTabsTitle","expandTabsMode","stretch","size"]),components:{TabNav:et,IconPlus:He()},setup:function(t,a){return L({props:t,context:a,renderless:pt,api:ft})},methods:{getCurIndex:function(){var t=this,a=0;return this.state.panes.filter(function(n,s){return n.name===t.state.currentName&&(a=s)}),a},onTouchEnd:function(){var t=this.state,a=t.direction,n=t.deltaX,s=this.getCurIndex();if(a==="horizontal"&&this.state.offsetX>=Fa){if(n>0&&s!==0){var o=this.state.panes[s-1].name;this.$emit("swipeLeft",o),this.setCurrentName(o),this.$refs.nav.scrollToActiveTab()}else if(n<0&&s!==this.state.panes.length-1){var r=this.state.panes[s+1].name;this.$emit("swipeRight",r),this.setCurrentName(r),this.$refs.nav.scrollToActiveTab()}}}},render:function(){var t,a=this.state,n=this.position,s=this.handleTabClick,o=this.handleTabRemove,r=this.handleTabAdd,l=this.editable,c=this.withAdd,i=this.showExpandTabs,d=this.swipeable,p=this.activeColor,h=this.expandTabsTitle,u=this.expandTabsMode,m=this.stretch,I=this.size,k=l||c?f("span",{class:"tiny-mobile-tabs__new-tab",onClick:r,tabindex:"0",onKeydown:function(F){F.keyCode===13&&r()}},[f(V("icon-plus"),null,null)]):null,A={props:{currentName:a.currentName,panes:a.panes,activeColor:p,onTabClick:s,onTabRemove:o,showExpandTabs:i,expandPanesWidth:a.expandPanesWidth,expandTabsTitle:h,expandTabsMode:u,stretch:m},ref:"nav"},S=v(et,ge({},A)),x=f("div",{class:["tiny-mobile-tabs__header","is-"+n]},[k,S]),_=d?{touchstart:St(a),touchmove:_t(a),touchend:this.onTouchEnd,touchcancel:this.onTouchEnd}:{},W=v("div",{class:"tiny-mobile-tabs__content",on:ge({},_)},this.slots.default());return f("div",{class:(t={"tiny-mobile-tabs":!0},t["tiny-mobile--"+n]=!0,t["tiny-mobile-tabs-small"]=I==="small",t)},[[x,W]])}});const La=({state:e,props:t,api:a})=>n=>{const s=e.currentItem?e.currentItem.name:"";if(s&&s!==n&&t.beforeLeave){const o=t.beforeLeave(n,s);o&&o.then?o.then(()=>{a.changeCurrentName(n)}).catch(()=>null):o!==!1&&a.changeCurrentName(n)}else a.changeCurrentName(n)},Ra=({emit:e,state:t})=>a=>{t.items.forEach(n=>n.selected=n.name===a),e("update:activeName",a),e("update:modelValue",a)},Wa=e=>t=>{e.items=[...e.items,t]},Pa=e=>t=>{e.navs=[...e.navs,t]},Ya=({vm:e,state:t})=>a=>{const{navs:n}=t,{$refs:s}=e,{tabbar:o}=s,{scroll:r}=o.$refs;ze.measure(()=>{const{clientWidth:l,scrollWidth:c}=r;if(a&&c>l){const i=n.length,d=n.findIndex(h=>h.name===a),p=c-l;~d&&ze.mutate(()=>{r.scrollLeft=p/(i-1)*d,o.wheelListener()})}})},ja=e=>t=>{e.setActive(t),e.scrollTo(t)},Ua=({state:e,emit:t})=>(a,n=!1)=>{const s=e.items.findIndex(r=>r.name===a),o=e.navs.findIndex(r=>r.name===a);~s&&(e.items.splice(s,1),e.items=[...e.items],e.navs.splice(o,1),e.navs=[...e.navs],n||(t("edit",a,"remove"),t("close",a)))},Ha=({vm:e,api:t,tabs:a,state:n})=>kt(10,s=>{const{$refs:o}=e,{getBoundRect:r}=t;s&&s.stopPropagation(),o.scroll&&(o.scroll.scrollLeft+=((s||{}).deltaY||0)/3),n.tabMoreWidth=o.tabMore&&o.tabMore.offsetWidth||0,n.navPaddingRight=n.tabMoreWidth+1;const{left:l,width:c}=r(),i={left:l,width:c,reserve:n.tabMoreWidth};let{moreList:d=[],moreLeft:p=!1,moreRight:h=!1}={};a.state.navs.forEach(u=>{const{name:m,rect:I}=u.getBoundRect(),{left:k,width:A}=I,S={name:m,left:k,width:A};(S.left<i.left||S.left+S.width>i.left+i.width-i.reserve)&&d.push(S.name)}),a.state.items.length&&(p=~d.indexOf(a.state.items[0].name),h=~d.indexOf(a.state.items[a.state.items.length-1].name)),Object.assign(n,{moreList:d,moreLeft:p,moreRight:h})}),Ka=e=>()=>e.$el.getBoundingClientRect(),Qa=e=>t=>e.clickMore(t),Ja=e=>e.name+"-"+ot(),za=e=>()=>{e.$emit("edit",null,"add"),e.$emit("add")},Ga=({tabs:e,props:t})=>()=>{e.setActive(t.navItem.name),e.$emit("click",t.navItem)},qa=({vm:e,props:t})=>()=>({name:t.navItem.name,rect:e.$el.getBoundingClientRect()}),Xa=({tabs:e,props:t})=>a=>{a.stopPropagation(),e.removeItem(t.navItem.name)},Za=["state","setActive","addItem","addNav","scrollTo","clickMore","removeItem"],$a=(e,{onMounted:t,onBeforeUnmount:a,provide:n,reactive:s,watch:o,computed:r},{vm:l,emit:c})=>{const i=s({items:[],navs:[],currentItem:r(()=>i.items.find(p=>p.selected)),key:r(()=>i.currentItem?i.currentItem.name:ot()),separator:e.separator}),d={};return Object.assign(d,{state:i,setActive:La({api:d,state:i,props:e}),addItem:Wa(i),addNav:Pa(i),scrollTo:Ya({vm:l,state:i}),removeItem:Ua({state:i,emit:c}),changeCurrentName:Ra({state:i,emit:c}),clickMore:ja(d)}),n("tabs",l),o(()=>e.activeName,p=>p&&d.setActive(p)),o(()=>e.modelValue,p=>p&&d.setActive(p)),t(()=>{e.activeName&&d.scrollTo(e.activeName),e.modelValue&&d.scrollTo(e.modelValue)}),a(()=>{i.navs.forEach((p,h)=>i.navs[h]=null),i.navs.length=0}),n("separator",i.separator),d},en=(e,t)=>{const{addApiName:a,removeApiName:n,prefix:s}=tn(e),o=an(t),r={addApiName:a,removeApiName:n,prefix:s,support:o,window:e},{add:l,remove:c}=nn(r);return{addWheelListener:(i,d,p)=>{o==="DOMMouseScroll"?l(i,"MozMousePixelScroll",d,p):l(i,o,d,p)},removeWheelListener:(i,d,p)=>{o==="DOMMouseScroll"?c(i,"MozMousePixelScroll",d,p):c(i,o,d,p)}}},tn=e=>{const t=e.addEventListener;return{addApiName:t?"addEventListener":"attachEvent",removeApiName:t?"removeEventListener":"detachEvent",prefix:t?"":"on"}},an=e=>{let t;return"onwheel"in e.createElement("div")?t="wheel":e.onmousewheel!==void 0?t="mousewheel":t="DOMMouseScroll",t},Be=new WeakMap,nn=({addApiName:e,removeApiName:t,prefix:a,support:n,window:s})=>({add:(o,r,l,c)=>{let i=l;n!=="wheel"&&(i=d=>{!d&&(d=s.event);const p={originalEvent:d,target:d.target||d.srcElement,type:"wheel",deltaMode:d.type==="MozMousePixelScroll"?0:1,deltaX:0,deltaZ:0,preventDefault:()=>{d.preventDefault?d.preventDefault():d.returnValue=!1}};return n==="mousewheel"?(p.deltaY=-1/40*d.wheelDelta,d.wheelDeltaX&&(p.deltaX=-1/40*d.wheelDeltaX)):p.deltaY=d.detail,l(p)}),Be.set(o,i),o[e](a+r,i,c||!1)},remove:(o,r,l,c)=>{const i=Be.get(o);o[t](a+r,i,c||!1),Be.delete(o)}}),{addWheelListener:sn,removeWheelListener:on}=en(window,document),rn=["state","wheelListener","handleClickDropdownItem","key","emitAdd"],ln=(e,{onMounted:t,onBeforeUnmount:a,reactive:n,watch:s,inject:o,computed:r},{vm:l})=>{const c=o("tabs",null),i=n({moreList:[],moreLeft:!1,moreRight:!1,moreOptions:[],tabMoreWidth:0,navPaddingRight:0,withAdd:r(()=>c.withAdd),slotCustom:c.slots.custom,separator:o("separator",null)}),d={getBoundRect:Ka(l),handleClickDropdownItem:Qa(c),key:Ja,emitAdd:za(c)};return Object.assign(d,{state:i,wheelListener:Ha({vm:l,api:d,tabs:c,state:i})}),s(()=>i.moreList,()=>{i.moreOptions=i.moreList.map(p=>c.state.items.find(h=>h.name===p))}),t(()=>{sn(l.$refs.scroll,d.wheelListener),it(l.$el,d.wheelListener),d.wheelListener()}),a(()=>{on(l.$refs.scroll,d.wheelListener),ct(l.$el,d.wheelListener)}),d},cn=["state"],dn=(e,{reactive:t,inject:a,computed:n,onMounted:s,onBeforeUnmount:o},{vm:r})=>{const l=a("tabs",null),c=t({navItems:n(()=>l.state.items),currentNav:n(()=>l.state.navs[c.currentIndex]),currentIndex:n(()=>l.state.navs.findIndex(p=>l.state.currentItem&&l.state.currentItem.name===p.name)),currentWidth:0,currentPosition:0});let i,d;return s(()=>{d=new MutationObserver(p=>{for(let h of p)h.type==="attributes"&&(i&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{const u=c.currentNav;c.currentWidth=u&&u.$el.offsetWidth||0,c.currentPosition=u&&u.$el.offsetLeft||0}))}),d.observe(r.$el,{attributes:!0,subtree:!0})}),o(()=>{i&&cancelAnimationFrame(i),d.disconnect(),d=null}),{state:c}},un=["state","handleNavItemClick","getBoundRect","handleNavItemClose"],fn=(e,{inject:t,markRaw:a,reactive:n,computed:s},{vm:o})=>{const r=t("tabs",null);return r.addNav(a(o)),{state:n({tabSize:s(()=>r.size),withClose:s(()=>r.withClose),separator:t("separator",null)}),handleNavItemClick:Ga({tabs:r,props:e}),getBoundRect:qa({vm:o,props:e}),handleNavItemClose:Xa({tabs:r,props:e})}};function pe(){return pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},pe.apply(null,arguments)}var pn=O({props:pe({},M,{title:String,name:String,selected:Boolean,navItem:Object}),setup:function(t,a){return L({props:t,context:a,renderless:fn,api:un,mono:!0})},render:function(){var t=this.state,a=this.handleNavItemClick,n=this.selected,s=this.title,o=this.handleNavItemClose,r=this.navItem,l=function(i){return i.stopPropagation()};return v("div",{attrs:{"data-tag":"tiny-tab-nav-item"},class:["w-max h-11 sm:h-10 inline-flex flex-col justify-center group","first:ml-3 last:mr-3 hover:cursor-pointer sm:first:pl-0 sm:last:pr-0 sm:first:ml-0 sm:last:mr-0",t.separator?"mx-3.5 [&:last-of-type>div>span:last-of-type]:hidden [&:not(:last-of-type)]:mr-px":"mx-3"],on:{click:a}},[v("span",{class:["text-base sm:text-sm leading-6 sm:leading-5.5 group-hover:text-color-brand",t.tabSize==="large"?"min-w-[theme(spacing.8)]":"min-w-[theme(spacing.7)]",n?"text-color-brand font-bold":"text-color-text-primary"],style:t.tabSize==="large"?"font-size: 1rem":""},[r.slotTitle?r.slotTitle(r):v("span",{},s),r.slotSetting||t.withClose?v("span",{class:["pl-2 inline-flex translate-y-0.5 text-xs fill-color-icon-primary","hover:fill-color-icon-hover focus:fill-color-icon-focus",r.slotSetting?"-translate-y-0.5":""],on:{click:r.slotSetting?l:o}},[r.slotSetting?r.slotSetting(r):v(Ue())]):null,t.separator?v("span",{attrs:{"data-tag":"tiny-tab-nav-item-separator"},class:"relative left-3.5 inline-flex bg-color-border-separator w-px h-3"}):null])])}}),hn=O({props:pe({},M,{customClass:{type:String,default:""}}),setup:function(t,a){return L({props:t,context:a,renderless:dn,api:cn,mono:!0})},render:function(){var t=this.state,a=this.customClass,n=this.m;return v("div",{attrs:{"data-tag":"tiny-tab-nav"},class:n("relative",a)},[].concat(t.navItems.map(function(s){return typeof s.visible>"u"||s.visible?v(pn,{key:s.name,props:{title:s.title,name:s.name,selected:s.selected,navItem:s}}):null}),[v("div",{class:n("absolute bottom-0.5 h-0.5 bg-color-brand transition-all duration-300",{hidden:!t.currentNav}),style:{width:t.currentWidth+"px",left:t.currentPosition+"px"}})]))}}),mn=O({props:[].concat(Ae),setup:function(t,a){return L({props:t,context:a,renderless:ln,api:rn,mono:!0})},render:function(){var t=this.state,a=this.handleClickDropdownItem,n=this.key,s=this.emitAdd,o=t.moreList.length>0?"w-max inline-block":"w-full inline-flex justify-around sm:w-max sm:inline-block";return v("div",{attrs:{"data-tag":"tiny-tab-bar"},class:"w-full h-11 sm:h-10 overflow-hidden relative"},[v("div",{ref:"scroll",class:["scrollbar-size-0 w-full overflow-x-auto whitespace-nowrap","before:block before:absolute before:w-0 before:h-11 sm:before:h-10","after:block after:absolute after:top-0 after:right-0 after:w-0 after:h-11 sm:after:h-10","before:shadow-[1px_-10px_4px_4px_rgba(0,0,0,0.08)] after:shadow-[-1px_-10_4px_4px_rgba(0,0,0,0.08)]",!t.moreLeft&&!t.moreRight?"before:hidden after:hidden":"",t.moreLeft?"":"before:hidden",t.moreRight?"":"after:hidden"]},[v(hn,{ref:"tabNav",props:{customClass:o},style:"margin-right:"+t.navPaddingRight+"px"})]),v("div",{class:[t.separator?"sm:invisible":"invisible sm:visible absolute w-full h-px bottom-px bg-color-border-separator z-10"]}),v("div",{ref:"tabMore",attrs:{"data-tag":"tiny-tab-more"},class:["inline-flex w-max h-11 sm:h-10 absolute top-0 right-0 z-0 bg-color-bg-1",t.moreRight?"shadow-[-1px_-10px_4px_4px_rgba(0,0,0,0.08)]":""]},[t.moreList.length?v("div",{class:"hidden sm:inline-block w-11 h-11 sm:h-10 text-sm cursor-pointer"},[v("span",{class:"inline-flex w-full h-full flex-col justify-center items-center"},[v(Ve,{on:{"item-click":a},props:{showIcon:!1}},[v("span",{},[v(Bt(),{class:"fill-color-icon-focus text-base"})]),v(Me,{slot:"dropdown",props:{popperClass:"max-h-[theme(spacing.80)] overflow-x-hidden overflow-y-auto"}},t.moreOptions.map(function(r){return v(st,{key:n(r),props:{itemData:r.name}},[r.slotTitle?r.slotTitle():r.title])}))])])]):null,t.withAdd?v("div",{attrs:{"data-tag":"tiny-tab-add"},class:"hidden sm:inline-block w-11 h-11 sm:h-10 text-sm cursor-pointer",on:{click:s}},[v("span",{class:"inline-flex w-full h-full flex-col justify-center items-center"},[v(He(),{class:"fill-color-icon-primary hover:fill-color-icon-focus"})])]):null,t.slotCustom?v("div",{attrs:{"data-tag":"tiny-tab-custom"},class:"hidden sm:inline-block w-max h-11 sm:h-10 text-sm"},[v("span",{class:"inline-flex w-max h-full flex-col justify-center"},[t.slotCustom()])]):null])])}}),Ne=O({props:pe({},M,{item:Object}),setup:function(t){t.item&&(t.item.rendered=!0)},render:function(){var t="$scopedSlots"in this?this.$scopedSlots:this.$slots;return v("div",{attrs:{"data-tag":"tiny-tab-panel"}},typeof t.default=="function"&&t.default())}}),bn=O({props:[].concat(Ae,["activeName","modelValue","size","withClose","withAdd","beforeLeave","separator","optimized","beforeClose"]),emits:["update:activeName","update:modelValue","click","edit","close","add"],components:{TabBar:mn,TabPanel:Ne},setup:function(t,a){return L({props:t,context:a,renderless:$a,api:Za})},render:function(){var t=this.state,a=this.slots,n=this.optimized,s=function(d){return typeof d=="function"&&d()||""},o=f("div",{"data-tag":"tiny-tabs-hidden",class:"hidden"},[s(a.default)]),r=[];if(n){var l,c;t.currentItem&&(l=t.currentItem.slotDefault),c=[],t.items.forEach(function(i){i===t.currentItem&&c.push(v(Ne,{key:t.currentItem.name},function(){return s(l)}))}),r.push(v(Vt,{},function(){return c}))}else t.items.forEach(function(i){if(!(i.lazy&&i!==t.currentItem&&!i.rendered)){var d=i.slotDefault,p={style:{display:i===t.currentItem?"block":"none"},attrs:{"data-tag":"tiny-tab-panel"},class:"w-full",props:{item:i},key:i.name};r.push(v(Ne,p,function(){return s(d)}))}});return f("div",{"data-tag":"tiny-tabs"},[o,f(V("tab-bar"),{ref:"tabbar"},null),r])}});function De(){return De=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},De.apply(null,arguments)}var vn=function(t){var a,n=typeof process=="object"?(a={})==null?void 0:a.TINY_MODE:null;return(n||t)==="pc"?$e:(n||t)==="mobile"?Da:(n||t)==="mobile-first"?bn:$e},gn={TAB_ITEM:"TabItem"},yn=De({},M,{_constants:{type:Object,default:function(){return gn}},tabStyle:String,activeName:String,withClose:Boolean,withAdd:Boolean,size:String,activeColor:{type:String,default:""},modelValue:{},editable:Boolean,position:{type:String,default:"top"},beforeLeave:Function,stretch:Boolean,showMoreTabs:Boolean,swipeable:{type:Boolean,default:!0},popperClass:String,popperAppendToBody:{type:Boolean,default:!0},dropConfig:{type:Object,default:function(){return null}},separator:Boolean,showExpandTabs:Boolean,expandTabsTitle:String,expandTabsMode:String,tooltipConfig:[String,Object],optimized:{type:Boolean,default:!0},beforeClose:Function,overflowTitle:Boolean,titleWidth:String,moreShowAll:Boolean,panelMaxHeight:String,panelWidth:String}),ee=O({name:se+"Tabs",props:yn,setup:function(t,a){return rt({props:t,context:a,template:vn})}}),An="3.undefined";ee.model={prop:"modelValue",event:"update:modelValue"};ee.install=function(e){e.component(ee.name,ee)};ee.version=An;const wn=({rootTabs:e,props:t})=>()=>t.withClose||e.withClose,Tn=({nextTick:e,props:t,state:a})=>()=>{const n=a.rootTabs.state.currentName===(t.name||a.index);return n?(a.loaded=!0,e(()=>{a.animateShow=!0})):a.animateShow=!1,n},Cn=({props:e,state:t})=>()=>e.name||t.index,xn=e=>()=>e.$emit("tab-nav-update"),In=["state"],Sn=(e,{computed:t,inject:a,reactive:n,watch:s},{parent:o,nextTick:r})=>{const l=a("rootTabs"),c={watchTitle:xn(o),computedIsClosable:wn({rootTabs:l,props:e})},i=n({index:null,loaded:!1,animateShow:!0,rootTabs:l,active:t(()=>c.computedActive()),paneName:t(()=>c.computedPaneName()),isClosable:t(()=>c.computedIsClosable())});return Object.assign(c,{state:i,computedActive:Tn({nextTick:r,props:e,state:i}),computedPaneName:Cn({props:e,state:i})}),s(()=>e.title,c.watchTitle),c};function _n(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=Bn(e))||t&&e&&typeof e.length=="number"){a&&(e=a);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bn(e,t){if(e){if(typeof e=="string")return tt(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return tt(e,t)}}function tt(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var Nn=function(t,a){for(var n=t.__vccOpts||t,s=_n(a),o;!(o=s()).done;){var r=o.value,l=r[0],c=r[1];n[l]=c}return n},En=O({name:se+"TabItem",componentName:"TabItem",emits:["tab-nav-update"],props:{title:String,name:String,withClose:Boolean,disabled:Boolean,lazy:Boolean},setup:function(t,a){return L({props:t,context:a,renderless:Sn,api:In})}}),On=["aria-hidden","id","aria-labelledby"];function kn(e,t,a,n,s,o){return!e.lazy||e.state.loaded||e.state.active?Ee((g(),y("div",{key:0,"aria-hidden":!e.state.active,id:"pane-"+e.state.paneName,"aria-labelledby":"tab-"+e.state.paneName,class:ce(["tiny-tab-pane",e.state.animateShow?"active-item":""]),role:"tabpanel"},[Tt(e.$slots,"default")],10,On)),[[Oe,e.state.active]]):N("v-if",!0)}var at=Nn(En,[["render",kn]]);const Vn=(e,{inject:t,onBeforeUnmount:a,reactive:n,toRef:s,markRaw:o},{slots:r,vm:l})=>{const c=t("tabs",null),{lazy:i}=e,d=n({title:s(e,"title"),name:s(e,"name"),slotDefault:r.default,slotTitle:e.renderTitle?s(e,"renderTitle"):r.title,slotSetting:e.renderSetting?s(e,"renderSetting"):r.setting,lazy:i,selected:!1,vm:o(l)});return d.selected=(c.activeName||c.modelValue)===d.name,c.addItem(d),a(()=>c.removeItem(d.name,!0)),{}};function Le(){return Le=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Le.apply(this,arguments)}var Mn=O({props:Le({},M,{title:String,name:String,selected:Boolean,renderTitle:Function,renderSetting:Function,lazy:Boolean}),setup:function(t,a){return L({props:t,context:a,renderless:Vn,api:null})},render:function(){return null}});function Re(){return Re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Re.apply(this,arguments)}var Fn=function(t){var a,n=typeof process=="object"?(a={})==null?void 0:a.TINY_MODE:null;return(n||t)==="pc"?at:(n||t)==="mobile-first"?Mn:at},Dn={},Ln=Re({},M,{_constants:{type:Object,default:function(){return Dn}},title:String,name:String,withClose:Boolean,disabled:Boolean,lazy:Boolean,selected:Boolean,renderTitle:Function,renderSetting:Function}),te=O({name:se+"TabItem",componentName:"TabItem",props:Ln,setup:function(t,a){return rt({props:t,context:a,template:Fn})}}),Rn="3.16.0";te.install=function(e){e.component(te.name,te)};te.version=Rn;const Wn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADdElEQVRIS+2WT2hcVRTGv+++SZqklLQaolCqS1uwuCga3Lz8s5XOTJLVuBHcdCFmJo2VYpUgjli0YlFJMoFC3QhFaFY1kwn9k3/ThaTYRS2IuCvWRUssrU2TZvLe/eRNMrFNZiY1ybJ38Xjce8753XPe+e59RJnR1JbYbX21AtgraTeBFwFuE7EtcKNwH9B9ATdI/g7gunE4OjHUH7wXHVw563Z8sAu5h+8CeEfArhJ+C0vzFcXWCfwJ4AdUVp3KnvsmeF8ey8A3Ysdq52dmPifVKcEh+ADQGIyZIvmrsfY2K820qaiZvjT41b0gQuBjF2brlLN11ph6WfuKgAZALRBqSPgAU1t3mE9GzvT9k69K8Ghu737J87wLkF4geYXkyfqaivTg4Ldz5Upeai0WO1J960GuDdJRAa+CvFEJHBjNpP5ga3v3c7kF7zqg7SS6spmBU+uBlPJpjMTfk0WvoDvVVTV76YY7T0s4BPLDy5nU15sJK8RyI/FjsjphyNMB8KaEnU7I7CnXXRvZiBt5f49s7jcSf9E92HlXQK0huyczqd6NBC7l64YT3ZL9juStIMOzEmIE5+HoUDY9cGYzoW608234/F7QFtD8yJbokZ2ezf0i6fl825JjFE+yoe7iRDLprQfelEyGNDW9X9RRSS2LcuBMiHh5URbheIMvjAra+ohE74A8T2DKGFxzHN52zJbp2tBrfw8OvuUHdrHYWeeed+VZ387X+b7qrcWiDqU3AT1TiJXXNBHOZlLZZeG74bgLIfM4tGh+AnE3vyJsL2i5ZCWI2ZDjhMeH+iaXhV8wbm7ravR8PxOcEusp5SofYtYwFJ0c7h3/L9sVVk3RRJNv7fCGoeQcxWh2pH/sUcSqwztYbIwcbrby0uuGknMhg7bxdGp0ZdZFgYGRezDRIioNqfp/lZecc2jaJ4b7LhXzKwnMd2803upZDD0plMBDku2TmdTFUpssC8yXNxzfL+knAVXlMg1gcJyObLrvwhp2axfMjXYdgO+fKwUNTikZdlwe7j+/VrQ1MywEcMOJLyX7UdHvQnMim+n/eC3YKh2Wc3DDiaRkPy0ORDKbGfjsKfBpSR/rATeS6JG1x4s1hgF7JkdSX2xq0zRHDu/zrPczgJU/vwshE3p9fLj36qYCg2BLN0kPgH1Lwa+GHOd44a57EuC/QwB9PFNZMMoAAAAASUVORK5CYII=",Pn=e=>(he("data-v-d3437e1d"),e=e(),me(),e),Yn={class:"option"},jn=Pn(()=>b("div",{class:"required"},"*",-1)),Un=D({__name:"info-filterStatus",setup(e,{expose:t}){const{t:a}=ye(),n=oe(),s=E([]),o=E([{label:"A",text:a("userInfo.status.optionA")},{label:"B",text:a("userInfo.status.optionB")},{label:"C",text:a("userInfo.status.optionC")},{label:"D",text:a("userInfo.status.optionD")}]),r=()=>{s.value=[]};return ae(s,(l,c)=>{n.setInfo({filterStatus:l})}),t({reset:r}),(l,c)=>(g(),y("div",Yn,[jn,b("span",null,w(l.$t("userInfo.status.status"))+":",1),f(T(lt),{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=i=>s.value=i),type:"checkbox",options:o.value},null,8,["modelValue","options"])]))}});const Hn=R(Un,[["__scopeId","data-v-d3437e1d"]]),Kn=e=>(he("data-v-3e258a22"),e=e(),me(),e),Qn={class:"option"},Jn=Kn(()=>b("div",{class:"required"},"*",-1)),zn=D({__name:"info-filterType",setup(e,{expose:t}){const{t:a}=ye(),n=oe(),s=E([]),o=E([{label:"A",text:a("userInfo.type.optionA")},{label:"B",text:a("userInfo.type.optionB")},{label:"C",text:a("userInfo.type.optionC")}]),r=()=>{s.value=[]};return ae(s,(l,c)=>{n.setInfo({filterType:l})}),t({reset:r}),(l,c)=>(g(),y("div",Qn,[Jn,b("span",null,w(l.$t("userInfo.type.type"))+":",1),f(T(lt),{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=i=>s.value=i),type:"checkbox",options:o.value},null,8,["modelValue","options"])]))}});const Gn=R(zn,[["__scopeId","data-v-3e258a22"]]),qn=e=>(he("data-v-17ff8179"),e=e(),me(),e),Xn={class:"option"},Zn=qn(()=>b("div",{class:"required"},"*",-1)),$n=D({__name:"info-filterStartTime",setup(e,{expose:t}){const a=oe(),n=E(""),s=()=>{n.value=""};return ae(n,(o,r)=>{a.setInfo({startTime:o})}),t({reset:s}),(o,r)=>(g(),y("div",Xn,[Zn,b("span",null,w(o.$t("userInfo.filter.startTime"))+":",1),f(T(ut),{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=l=>n.value=l),"value-format":"yyyy-MM-dd"},null,8,["modelValue"])]))}});const es=R($n,[["__scopeId","data-v-17ff8179"]]),ts=e=>(he("data-v-549c1142"),e=e(),me(),e),as={class:"option"},ns=ts(()=>b("div",{class:"required"},"*",-1)),ss=D({__name:"info-filterEndTime",setup(e,{expose:t}){const{t:a}=ye(),n=oe(),s=E(""),o=()=>{s.value=""},r=()=>{const l=new Date(JSON.parse(JSON.stringify(n.startTime))).getTime();new Date(JSON.parse(JSON.stringify(s.value))).getTime()<l&&(s.value="",Fe.message({message:a("userInfo.time.message"),status:"error"}))};return ae(s,(l,c)=>{n.setInfo({endTime:l})}),t({reset:o}),(l,c)=>(g(),y("div",as,[ns,b("span",null,w(l.$t("userInfo.filter.endTime"))+":",1),f(T(ut),{modelValue:s.value,"onUpdate:modelValue":c[0]||(c[0]=i=>s.value=i),"value-format":"yyyy-MM-dd",onBlur:r},null,8,["modelValue"])]))}});const os=R(ss,[["__scopeId","data-v-549c1142"]]),rs=D({__name:"info-filter",props:{activeName:String},setup(e,{expose:t}){const a=e,n=oe(),s=E(),o=E(),r=E(),l=E(),{t:c}=ye(),i=()=>{a.activeName==="1"&&(s.value.reset(),o.value.reset()),r.value.reset(),l.value.reset(),n.resetFilterInfo(),n.setInfo({reset:!0})},d=()=>{var p,h,u,m;a.activeName==="1"?n.startTime===""||n.endTime===""||((p=n.filterStatus)==null?void 0:p.length)===0||((h=n.filterType)==null?void 0:h.length)===0?Fe.message({message:c("userInfo.filter.all"),status:"error"}):n.setInfo({submit:!0,sort:void 0}):((u=n.filterStatus)==null?void 0:u.length)===0||((m=n.filterType)==null?void 0:m.length)===0?Fe.message({message:c("userInfo.filter.all"),status:"error"}):n.setInfo({submit:!0,sort:void 0})};return t({reset:i}),(p,h)=>(g(),y("div",null,[e.activeName==="1"?(g(),Je(es,{key:0,ref_key:"filterstarttime",ref:s},null,512)):N("",!0),e.activeName==="1"?(g(),Je(os,{key:1,ref_key:"filterendtime",ref:o},null,512)):N("",!0),f(Hn,{ref_key:"filterstatus",ref:r},null,512),f(Gn,{ref_key:"filtertype",ref:l},null,512),f(T(qe),{type:"primary",onClick:d},{default:U(()=>[ke(w(p.$t("userInfo.btn.search")),1)]),_:1}),f(T(qe),{onClick:i},{default:U(()=>[ke(w(p.$t("userInfo.btn.reset")),1)]),_:1})]))}});const ls=R(rs,[["__scopeId","data-v-67ec3d9a"]]),is="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABKCAYAAAAYJRJMAAAIkklEQVR4Xu2ce2zT1xXHv+dnO3EejmM7CXGSEvEqhEIpa9dQpMIKWUcHJG3VIXW0ZY9OmiqVCiqNbeqmauoenQSo/WNdJWCs7dbBaAcE6MpDLR2iFRVrN94lsAZi5+lXHD+S2L8z3V/qQBIntuOfE+zk/pXHueee8/nd332cc3+XkEBpdvAdTKiVgblglBFQxoAhARVjLkqAlwE7CHYJOE+M/VYLnYvXEIolaGfOlV3YAOD7YMyIJZ8W/ydcAfAnyYStZUT+kWweFhAzS81OPC0DLwKwpoXjiRvZLAEvWs3YRkRytOpRAbUzG3pceIsZtYm3mX41iLBfZ8LaEqKuwdYPAWR3caXMOADGvPRzNQmLCWclwqoyEzXerGUAIAdzQdCJTxioSqKptK1KwAW9GYssRJ0RJ/oBiTHH5kI9GN9OWw/VMJxwqNyE1ZExqR9Qk4M3AtisRhsZoOP5CgttEX4ogFwuLvQxroBhzgDnkneB4MwjzDCZyK0Asjn5d8zYlLzmzNFAhJfLzfRTYmaN3YVWZlgyx73kPSGCo8yEKWR38RJZxvHkVWaeBknCUmpysBiMxFZisgwiIEnYQjYHH2Vg+SSdoQQIOCYAnZ+oC8NYnUIsHKnJyW4wjLGEJ+T/CR4xBvF4On/pyyBO/rsTbc5eZVFWbNZhyT0FmDFVP55m9bc9roBOnPbi0EfOKCAI31lhwcKqvHGHNG6AOpwhbH3DDmaGJBGmleshM+NLW7fyN51OwsZ1ZTAaNOMKadwA7T3mxKn/ehXnn6orwZzpOcrPp8/68M6RDuXne+804OHl47v7GVNAnq4wDp9w43pLN5zukNJjsrSEZ58og8Wk7e8pr/2tBdebu5WeZcjt60HZ2RIqrdmoWWyEIW/setWYAfL5Zfxxdwscrt4hr0zNfYVYtujGRHrlWhA797UhHBo6f+TlaPDsE1YU5I8NpDEDtOtQB/5zyafAISJopD5OuTkarHukBNYi3QBwXQHG9r+3wOHuAxqWoYxNonxtbj4e+9bYbB3HDNBLrzXBHwzDmK/FM9+1wpD3FaE4h2CvT8Yf/toMT1dI0bHpR+Vx1kxOLKWAAkEZJz/3oqExiGvNQYgOUFqkw/ony0Zl9ZaddnS4epUeONWajZmVeiy+y4AcfWKwE2k8ZYAuXAngH0cd6PKHh9hjMepQkOD03ekNw+EZOn7l52rwSI0FVTP6ZkG1S0oAnfnCj7cPtvfbqpEI5gItOjp7wVGzT4m5VVSohaszjLB8YxB/fGUx5t+em5iiOKRVB9Tll7H1z3YEgmFlmn6g2ogl9xih0wKN9m7sOeyIOpPFtpUwxaJD7XIzppVnozcEHP/Ugw9PeSDLjBy9BhvWlSE/V93XTXVABz504eRnfVmTFfeblH3V4OIPyuiNMoWPBEmvk5CdPTTPefzTTrx/wqVUXbywAKu+YYrNOgEJ1QFFBlLxRF/4cQUoZvY/AWujiIqB/9evN8EfCKPIpMPG741uAhjOCtUB/fLVawiFGTMrc/CDR0uS8z7O2jvebUNDYwBaDeFX66fGWSs+MdUB/XxrX+Z2/u15eHxlUXxWJCn19sEOnPmibxH6mw2VSWobWH0SUAyck4AmASX3xk32oHTuQZf+F8ThEy7Mm5WLB24Khwz2aUIO0mcv+yFCJGI7kZMt4RfP3Dbss55wgMRebtd7HcoWQpS6ZRZUL8ifGIDCYaDTF4Kp4EaI9WbPP7vgw573HV8Fxwi1y0xYtGDkk8YZ1YNe39WKRnsQ1QsMqFs2MCB/+pwP7x65Aaeuxozq+cP3nAjYjAK0eYe9P65z97x8PFpjUfZrp850Ye9RkSNjJSAm/n73vPjyYhkFyN7Wgx3vtCnhV1EWVuWjojQL9R+IHXkfHBFvTiRpmFGABJTmjl7s2NMKX2BgtFHEj9asKMKdsxMLfGUcIAGp1dGL7Xta+0OyIuq45qGiUUUFMxKQgNTuDOHN+jaInNljD44+rpyxgCKzkJj6NUnkATMeUHLbSWASUAyCaQXohVeuKVuEOdNz8VRdcbKdI676b+xrx8WrfiWL8tJzt3jI9eVtNni8IRQatPjJ02OTHv79Nhvc3hCMBi02qdym6vGg3e858PnFvs+u1q4qwR2zUpPxjHStc5cD+MuBNuXXu+bkY81D6h5qUB1Qc3uvcshACVPoNcrCb/a01Jw3FPGi3f/sUJKUYh0lDkVYiweeEonrHR1BSHVAoq0PPvHgyMfu/mbLp2SjrDgLWVnqJMl6ehj29h7YWrv72/jmfYUjBtVGCyolgGQZOPqxGyLrGTnTM1oDY9UTe7elXy+AOIQlqZt1VppOCaCIU9dbenDspBtXm4JKMlHNIpKE0yv0WL64ELeVZqmpeoAucdLex0Biu8MEzRHpYZGPVwuSgJOrl1Ke1ibAL07aN2TM9/AJPriY4oQGsjn5I2bcH1N4AgoQ4V/iFdvGwA8noP8xXSZgO9lcXMcy9saUnoACJOFhUu7mcEIcbU/tkjf9AAckM4oiH/WKayjWpp8PKbSY8FaFmZ5UALW4eXpIxgUwUregSKEvqqsm9GglVJUW0tX+tb/Nwa8wsF71xtJQIQGvllvoOWUlHbHf6WRjgJV7O+akoU+qmUzARb0Z1ZH7OwbsHts8PLMnjFNgqHtUVDXzU6yI4MrS4N4SIzVEWhqyvW528dIwY9+E+46V4NEQ6qwmGnCHQNT4g62TZ3Mv6gHMSvEzu1XUXyYdVpcX0KXBBg0boHG72eQLYzMI68RXk7eKJ2raQQQZjJ25Ep4XF5lE0x0zgiVuvpMJvwWwMlNAKWCAgxLjZ7FuxIsJKEK1xcsl4TBWQ0YtA3OJYWUgvuMXaj72UegiwMeEZgLOQ8J+jQb1pQbqC2THKHEDiqZHXOnFgVv8HsUceG++cisWkLjHoEQVZar8/wGqUQvK/wAGRQAAAABJRU5ErkJggg==",cs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAKZ0lEQVR4Xu1ce3CU1RX/3X1mN9kkuxuSbHaT8MaKoEUYQYRWaZHaSpDiDKMFhAGKUKmtbVVmLC2tDs4oM61Uap1C0WLpgEh4WMkgQygUEYGCVMQQNI99kGR389pks8nu7dzvyy77SLKP79tks3L/yua799xzfvfcc88953wfQZzN1kxH+SjK4MNdFCiiBAZQaOMkM9jdOwiBFYCFUFQRGQ4VZuMsIYTGygiJpSOlVGZ2YhWANaCYHMuYYdDHQgjeoTJsNmUTezR+owJlcdKFPh82AxgXjdiwfE7QIgFeNmixhRDS1Z8M/QLFtMjqxGs+ijXDEoD4mT6jUGJBfhax9TW0T6Cam6m23Yd3QXF//PMN6xFmIsHDRi25EC5FBFC99qjiawgShw0BGgjBtCIdqQ0GKwIos4P+iVKsHdZ6IZR5gosyLWYWEuLykwoByuykZdSH/ULnSYfxhOB1o46siwCKUiq1OHCZArelg6BCZSAEPXIpbs/PIVW9W5InabHT1T7gDaETpNn4vSY9eTQEKLOdfkKBu9NMUEHiEAKfRI5Cg4Y0cjbK3kFNnZ2oE0Q1TQcTCVYYtWQHB5TZQddRiq1pKqsgsQhBuVFHFviB+gul3F3uVgtDgBB8ZdSRUX6gDlKKH9xCqQ8ECLpMOpLhB+ocpZhyC6h+EJAjjwOq3kGrQTE6mUBZG7tx4JgDo0xKzJ2Zm/BUdTYPDh93YlxpBubMyEmYTjwDZVKMGTSg9hyx48Jn7Rx/z640IUcjjYfXQN9/HG7Cp1+4QAjBhtUmZKolCdGJZ9CgAvX3g4347FoHx99PlxahQC+Ph9dA3x37GlBV08n9/sUKI3Q5soToxDPoFlAxopV0oFydPnR0+gAKHDhuR3Wtm2Nt6fx86HMT06h9R5tQY+EDkSseKUCOhtcohZJAo5ZCkoSdmBSguroojn7UjIufu9De4Y1xzcTpJpdLOCM/e2oOSgwKcYgCEB2oqho39lXY0dLeIxqTiRJiYD14Xy5I1KxA9BlEBeqLGjd2vtcASvkMkERCOIOdp+W3WI3FjdZ2XsPGj1RBqUhsj3xpdqPdxdOZMEoFhZyn0+bywtroQZfHF5CcgTVvVuKuiJ+QaEB1d1O8ssPMMcvamBIVFs3Vh7gAg3HqdfdQVJxqxqnzbeAMI8uvLTYI3oaiAXXmUjvKP+RTY4YRCqx9zABpmMIMBlB+DTh03In/XGjlfk4cq8bjD4+Ivr8G6CEaUDvLG3H1Ou8jLVtQgAmjMiKmrTzbiiMnnVBlSPHcKhPkCbo/R0+34NhHzdBkyvCrlcaIBWETMw3ftK0OXi8FM/C/WVcsyFaJBtQf37bC1uThwHnhyWKoMiLtDzNd1+vcGKGTIzsrMa+c0Wd0rtW6Oc3NGsAr37rLBksD70Y8v7oYmszEbCIbLxpQr2y3wNHSzSV7XvpZiSA1F2uwmB78LaBiXJW0BmrbbhvqrPzWE3IJT9rW2/BjU4zrlJxuzI+r+sqNvRXsFKZQKaV4Ya0wnpKgUckRXgjVWXfn4HuzhTmdaQ/U2FIVlszPT9gVEd0zv3nqAYy5oWzsaqfNlmF0cQYmT1CLwkoSNCp13ANREOolMuyA6vEC1XVuWGxdaHF5wSowNVlSGAuUGFOSwRzDpLRhA5TbQ3HibAtO/7ctJDoQjIpCIcGMOzWYPS0HKqUIsZUg4sMCqFqrB7sONqLNFVuMK0stxY/mj0CJQSmadqU8UNdq3HirvAE9Xj5kwjIvd4xTc3Eofa6Mu+jam3vw+fVOXK7qCMTCpFKCJWX5GF8aeTlPBL0kAAUwv6W/xlJLUydmQa2KfkFlALz+jhWdXXwgjsXYfzhXj5HGvjWl1toFlhKzO9mdE1AqJVi32IA8XYJhiuRuvejrNWViFhfUi9Z27m/A1S/5tNSY4gwsLcuHXH7T9rAgnVwWaovY/94qb0R1LT9uXKkKyxfmR5sq6vOkaFS0WedMz42a4a2zerBtN3vRAFz86pnlRVAHhW5sTd1445825OvleHJxYciUTAO3/M0CV29iY83iQsH2KilALV9Y0C9WzNAaRkRPUx2udOLUeT5COW+WFrOnZofQPHmuDe+fcHD/Y0HA8PhW8POZU7Lx/W8JewMlCUCJ43C+tssKawMfCOzr5s9i4ocreaCeXWVCTlggkCUxNr9Zzz0vzFNg/RJDNEUf8HnKAvXin+vh6vRyBnnj2uIIIYKBWvloITQqKYgEyNPeNNy/31aPDrc3VaMH4mjUxq116O72ITtLhudWGQcEKvjhbaPVWFrGJxJeftPM5ReZq/C79cKirqJp1Ks7LLA386HgF58uERTIZ0K+ut0Ce0s35zdteqoE0rCrSbBGBQNlyFPgqSUG+HzAxq21XHIhV8MnIYQ00YAKjiY+vbSIO42EtLcPNOJKNZ/VeWJhQYTj2GjvQX1v4sA/j0xKuPseOx1ZjcNf373BPWLO6bIFwlwE0YAqP+bAmYss6Qh8Z0YuHpgurMDr/P9c2FvRxNFLxBcK9sEe+a4e0+7IErJu4mVhgv0eZhNWLipAaVHidy2Ph888+4s8Fs3Nw5SJmTEJe+GKC3s+4EFWq6T45XIjlAIvyaJpFGPKXwnH/ma25d5vargaA3YSsd/9Nfakr+q7jz9tx/6jfPaZgT/vPi1mTtEMCBaLLvzrhDNwNyx7QI977hSmTWxCUYHq8lBs33cjkPmIafl7O+XrFfjJ44aIeNKeD+y4cIUvZ2RtpDGDcx6NBaElPZYGD96vdOJ6PV9/xdrkCZlY/FBePGz021dUoNgs7LSp/KSVS3mzEyee9vNlxogLLAvU7T3ShEtXA2+DcSSZ28DCvaw5W3vQGlZmNGl8JhY9mCc4Vu7nX3Sg/ISdrV6uXpOl2TvcPi4N3u/WI3wZ0D2T+98ibEt9eLqFcyAHaiw1xQ6SaFs0ngUUfevFO3m8/VmU89zlds5tqLvh4RxS1lgRhilfgdvHqsEiE2JHN8OBugSKSfEyP5T9WQkkJUCGQtywb18yKZQw8G8u2OkRCswdSsFTdW5C4C3Sgl8Os53uoMATqcrsEPNlNumJiQPK4qDP+yheGmKGUnN6guMmHbmfA8rmoJN6KC6lJqdDztUzJj3ZErCEg/Hi0JCLnAADcinGFuSS6gBQZjv9LQV+nQCttB1CCE4bdeReJmAAKDul2W4nqimFOH5/GsAnleDbBi2pDAGKM+pOut7nwx/SQEbhIhAcNulI4K3YEG/t6/5dFj+6fX2fJcKtrW+levTg42S/ESp8yZNEgcAjAeYU6cjJ4Bn69P8tbfQbPg8qAAgrfkySLEkjS+AhwDKjjuwOn6Pfi1JDOy30dOE9ANOTxlgKEWbbDQQLjTpyqi+2BrxRUkqVFic2UYr1AMQpDUkhcAI2iaCcAOvDvxkVdeuFy2Jx0BJQbPIRPAYKYSmWFAKKEPybABvC7VHcGhU+oNfXeghAGSjuAvu8JBBaGJBCQISx4uY+MUlRBQkOEYrygTQoZhsVq7w2SjNlnRBWyB3rZAn2k3ejMyeH8MUKCbbkR70SZCzVhv0fDl7AS3ZX8lsAAAAASUVORK5CYII=",ds="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAMVElEQVR4Xu1ce3TT9RX/3Dyapk2bJn0mKQ/BBw9ZRcXiYyrykiEwZAxBwec5KOjm1LPtOHbcOaLHxzzOx1Enggo6nqIDBpY6USf4QIoKRVRYhbZJ2zRJ0zZJm9d35/vLWtrm9UvyS2Vh33P6V+/3fu/95H7vvd97b0JIYLV0sjJ/N2YxoJIRjACMYCgEQAmwGVxSQjcBFsZgJsIPMsKusgL8i4j8iQgSV0HGGDXaMZ8I9wKYyNhpDIpYzQl2At4iYKVRTyfFbIsJlMXBrgoE8SSACWKY/c/RELplhOfVwEqdjtpiyR8VKLOdPciAlRlhQfE+QcIxmQKzjPl0NBppGFCMsSyzA68xhoXx+GfU/wlOGcMCYyFVRdIrDKhGG3uVAbdkFAjilfHI5LjSWEBfDNzSD6gGG7sfwJ/F881IykZVNiYU55Klr3a9QDU7WIWfoYYxyDJS/QSUIsK7Jj3NiAhUo529yximJ8Avs0nlmFJeQP/sUVKwqIY2NhkBvJfZmiemHRFqjDpcTESM7wwBZWObAMxPjFXmU8vkmNDj2ElIB+xoZUBe5quemIYywiNGPa0QLMpsY9cGgV2JsThDqAmHy/U0TgCq0c5+xxgeO0NUT0hNIgSNOqj4A5oabewZBvwqIQ5nEHG2GuVFOdRI/3fksT91uQKXGLS0n1vUbgZM/TGMpNnmw9F/e9Dm9MPpCqDDFYDbE4AqSwZ1tgx6rQLlpSoMMWTBWJL1Y4gIkmOaqYCqBx2oFpsPB2pdOHLcDVubT7TyunwlKkbloLIiD1qNXPS+VAkHHShuLe/tc+KL2k4wJuRwwiorCllLvkaOvFw5ctRydHcH4fYEYXX4cNLcDZvzFKByOeGisRpMnqgV6NO9BhWoD/e34/3PnPD5goJehqIsXDAmF2POzkGhVhFXV2dnAAdrXQLI9v+CplbJcd0kHcaPzo27PxWCQQHK52fYUmXDoe9cgqxajQLTrihIWjluiDW1Luze5xD8GV/jx2hw/dRCyNP0lE87UFyRddusaGjqFhT66cVaTLm0AMr4BhTXALxehm177Kg50inQjhyixk2zi6HKitsCiMt7IEFageKKvLihCc02L7hPmTulEBeOkf6KfHaoE9vftyMYZBg5VI1b5pb0WtbufW34ts6DO+aVChE02ZVWoN7cbkXtMTeUShluu74Ew4yqZOWMu+/Qd25s2NkqBIjxozWYf20hurwMj7xUj0CA4TdLTCguTN6M0wbU+5868d4noYbGouuKcf45OTGV9fmBYyc8qD3uhsXqRXtnANy35efKUZCvwLnD1Bh7Tg50+dEj3IHDLrxV3Sqc88sZReC+bPO7rdBrlXjgNt5+TH6lBSirzY+/rDMLn+6kS7SYenlBVAm5MjyK8ZShwxW7F0lEuGB0LqZdVgBtXmTANlfZcPBIJ9QqGYr0StRbunHVBC2mXxFdBjHwpQWoN3dYUfu9G6ZSFZYtLANF8a2eriDe2G5FXUOXGFl7abKyZLhhRhFGjVCH7eN+8Zl1FjjaT+VcyxcZYCpNLaOXHKj6Ji9eXB+qx98+rxQjh2ZHBIHnRK9sbk4oK+/LiFvX7Ml6VI7ThPH/8qgLm3aFrqAU147zkRwongp8c9wtRJ/b55VEBIn7o1Wbm3pThoFEMhlPRpVosvkQCKVJERcHiweJgR8Gv87PrrMI0fbyC/Mx8ypdQhYbiVhSoHw+hpUvNcDnD+LW60txzrDI1rTzIwc+PtAeVfj7Fpeg4lw1vj/ZhZWrmmMqyZ86999qglrV/36bW7zgLwHuzwp1yUe7nsMlBeqb4x6s29YClUqGFXcOiZglt3UE8NSrjULIjrR4Zr36T0PBrYWvZY/Ww+UJPXmirasv0WJajICRsjlJffW2VtvxxeEOjDs3FwtnFkWUb8cHDuw7GN2aFHIO1LDevXc/Vo8OV2ygeJ62Ymk5lErpM/K0WNTTa82w2nyYN60IF42NnIE//kojnB3R04BkgOLKLJ5dgtEjw6OgFNYkuTN/+IV6eLqDuGN+GUaUh2fhPL96em1jTNmTBaryJ3mYM1kvFS5hfCTzUTySPfTcCeGA+242oUgf7kC/O9GF17bGds7JAnXecDVunhs5ykqBnmRAOdr9eHJ1yFoeWj404gueVzTf2h3Kb6KtZIEyFGfhnpsM/djyNOGljU3IVcuxZE5xSnhJBhR/gD6+qgH6fAXuWdxf4B4J+yaCYoF6br1ViHpefxB1jV4Eo/j1IWUq3LWwrB9bXot/Zq1ZiKArf80jafJYSQYUF8HdFYRSQcJfpHW8vgurtyR29fryOXDEjWfXWyPyHj0yB4tn97eaYye6sGZrMzQ5cjy4tDx5lKROD+JJwp8t3OpiLf6pv/zHociKEOrbXQHc81jk/ZEevgePuLC5qhWRrmU8WQf+X1KLEnP4c29aYGnxxiSddLEG0y/Lh6KPZfKsf/tHTuz7KlROHriWLigLq3d98Fm7UC6WwtEPOlD8WVH1sUMMpqJptHkK/PZ2U5gPWr2lBcfrPadnmSUQBIIBFjVL5mWQJ9c0wuWJ8doVDVGIcO7UQkw4v38VwdPN8CivbgYZ7ryhDEMNqVVXJbeoVZub0WT1YtmNhqgtqP2HO/F2tS1BOCKTc/9z942GMGv66ls3Nu60CqkBd+SpRDx+sqRA2Zx+PLUmlEtddL4G86byb31EXlt221BTG+qeJLvU2XIBpEjl4b9ubMYJc5fQJJ03LbocYs+WFKi+/od3XR641RS1ZOsPABt3hSqhySxuKYvnlGCoIbxyebTOg7XvtAiDhDwJNRQrkzmi3x5JgToV0XgexVBxXi4W/CxyFaFHiup9Tny43ym0msQuQ0kWbppVDF1++DOJZ+PPv2GBpdWLilG5WDAj9vliz5QMqFPXjvCL6YVCZ5iDdeOsEow9O/ar3mr3o2qvA7ye1XceYaASfEDjmolaoTcYzefs+dSJ6k/aIJcR7r3FKKpVLwYsyYD64PN27N7rwDBjNpYuKMU/PnRgb0274EzvXFgmSmDebOBgcWvg7Sovb1flyFGgVeC84dlxR35ChUOeuTNMqizA1Mu0YjAQRSMZUJt22fDl0U7MvkaPiRV54D7oxb+FrgAv8PMQrclJvlMbTxtLqw8vb2xCtzeIUWflYPGc4pQjXd8zJQPK0R7A9z94MGGcpldA/ihdtakZ7q4AiguVWDKnRJRlxQNl4P+//aELG3ZahTEh3stbttCAbInnDyQDKppyvFi35u1moarJR3RumFkUtemQKECcfm9NB3izgvu2Ip1SqEmJGSFK9Ky0A8UF4v7m9bdbhGvIF4+G116pS2li7oS5G7s+cuCkJTQlM3JINhbNKhY6xOlYgwIUF5zXq7ZUteLIsVDexBsC40flCldVbBeX9/iOnewSGhh8+CO0CJUVGlx3tT5ts1HCKYM9w8mTwR17HL0Tc1yIQp0Sw00qDDdkoyA/NJaYlUVwu4No6/ALw2Lccvj4DnfWPYtb0YwrdXGjoRQWNuhAcaF5ROTTd59/3Sk8MxJZPOM/e0g2Ki/Iw6iz0td1GSjTjwJUXyF4sslLIXUN3Who8qLTE+id8eQlXF6d5AOwRQUK8Comry2pBnSFEwE6WdpTQNnZO4xhTrKMpNzH56K8PoacbJmkuVAqMhLhCpOe9pLZzl4IMtyVCrNM3quQY0RZAdVRg4OtQBAPZ7Kyqehm0kNNRF38mwsLGLAhFWaZupcIJ016EgYiyG5nWjdgBUPqxZsMQ4wIL5j0tDyUtQFotLFqBkzJMD1TVqcn4vUCZXGwJYEgXk+Zc2YxaDDpMYKIhKFQwaIYYzKzA18zhrGZpWvy2pAMt5l09GoPh94euMXOZgYYdiTPOoN2Eg6bdKggot53U79hAbONvRYEbs4glZNRJeLvs/QDijGmMjuwhzFcmswJmbCHCItMelo/UJew8ZPmTlbq86IaDMLX2M+URQTeDvq9SU9PRNI54pxOC2ManwPrGMPPzwSgCHCRDEuMOtoaTd+oI1b8t+3MdtzPCCvAIF1b4zRDnggfK4DlpXr6OpZocWfRGtpZIXz4AwFLGRD7q1KnGQgxxSEcIsIKk462iRE7LlA9TBhjarMDU8CvI6GSAQYwpG8cV4z0YmkIPgKaANQR/3kVJf5uzKNvxG7vTTgT2dCXljGW3eqGnuj0/clJrx/dhjzYen7eKFldRVtUsgdkyr7/AAvka5YHgKl3AAAAAElFTkSuQmCC",us="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAJW0lEQVR4Xu2ce2xT1x3Hvz+/8jB52HEetgOMAe0Yj46UPUoHRSsgCqg8Ch2BFm3rWIGVSW21rtOoqrWqVhU6rWKjiBVa2NigiDXQobECpaxlFVCKoDxWaIFA7JCXnaedxPb9TecaJ05ixzfhOnUSHyl/xP6dc8/vc16/x/El9LC43ZztZcyWgKkE2MGwgpDHDE0Pm+ozcSL4mFFBgJOB6yAcsptwiIialXaClAo6ank6AniGCdPA0Cutl6hyBDSBsF8LvFhgpnOx+hkTVIWLJ/gZ6xiYGaux/vg9ESQwthtS8ZtcIzmj6dAtqHI3Lw8wNoOR0h8h9KTPRKgiYKHNTB9FqhcVlMPFrzDjlz15WL+XJbQSYaXdRG921iUiqDI3PwcJL/R7xXuhABEYhAV2E+0Nr94FlNPNC5ixh4X4IC0ENGoJkwvM9FkIQQcYFY2c72/BZQYyBimjNrUJuGgzYzwRBcSHHUA5XbxRYqwa7JBC+muAx205tLkDqMo6Hu0L4AIzdElQbQTKNWaMshF52maUw8W/Y8azSUgdCRCwxJ5Du9pB1fAFBsYkQXUCRdhpN1OxDEosu1Y/LiUhRSBAqLObkCuDKq/lRYEAdidBRSZg0GG0DMrp5l9IEl5LgopMQKPBfTIoh4tfZsavkqAiEyBCcI9yuvh1ibFSLVA+P+OjU/W46mhBVY1PrWbb2yHAkq3DMHsqphZlIiUlzk4EYZXqoGrq/NhWUolqVxwARUBuytRh+fw85OfEMUSmNihmYPPbFSh1tgcOdVoCqTzg4jn+ALdhs+YasHqpFdp4xVjVBvVFaTO2/qNCVsBi0qN4bi6slviMdLXLj7/vr0J5dav8vKVzczFudLr6yzzov6i79D44UY/3jrnlzhbPycX4O+LU8Vs4vrzejC17ggMzdVIWZk3J7h+gSg67cOJsg9zZNctssObFZzaFaLjr/Vi3xSH/O+FOI5bMtiRBRSLgrg9g3ZYy+avxdxhRPGcAgDp6sh7/u+KF2Ih7W0YOT8WMe7Laqg84UOEK9RZSqF74kh5woMQs2rTrJm6Ut9wWJ6vFgJXFVuhvRcwGHKgQHY9XpNB6X4xpHQ2lAQuq94gi10yCUkg0CSoJSiEBhWIDckbtP+rG51e9YEkZBZ2OMLkoA98eNyRqhXBQA8Iyd9X5sX5r0NXoSUlL1eK5VYVRqwizQ7gwtQ1+zPtBDr57V3SoPXluF1m1neLufL2/7Ku6ZZkrMxD0OsKUSVmYHmaJR1LW28Jy7Guo1XBbLLqt3Jeg4qdFH7ScBKUQcn8BFQgAl655ceGKB1U1fjR5AkhJ0cCUqcXo4WkYOyodxvR4hTfjELiLRzzqs0seHPjQDRF7ilb0Og2+X5SBad/Jgl6vctxZPDSRZ5Q40fYdceH4mWAgMLyQuO0VIV5jzTNg+bw8ZA3RKlxTCsX6EtTb/6rBxasehHvFInMi4uqRFHvnoAsnz7VDGmpNweSJmRg5NBVD0jVoaWU4Kltx+mIjPj3f1AYuJ1svJxrS1Exh9RUokcJ6NYodtWBGThej8tT5Jux5r1oebo2GMHeaCd+7K/rdNkdFK/76bhXqGoLLc8zIdDz6YK7C6aJArK9Aia6UHHLh4hVPhwhnvsWAHz5gkWdIqPh8jPVvOtDQJF90w0MzLbh7rDGmNsKo3fi3m/A0B+s9tihfnn2qlL4EpbTDJ842ouRwjSw+dnQ6ls1VPjNOX2zC7gPBmShOwx8vzFP62O7lEhHUtncq8fk1r9zxJ5ZZYctTbnGL/V24SuKE1GoJa1cORYpBhVMwEUG9uPEGvC0SMofo8OwKuwys0SOh1Bk9jGzO1LWlxva+335SrlhcgBGFKvyWINFA+fzA8xtKZTgjClOxYnE+mrwSXnmjDOLiR3dl8SwLJo4x4tinDdh/1CWLLpmdiwl3qpCETTRQ4sj/7Z+uy0qOHJaGxx7KQ7Xbj9+/FTvy8MBUE6bcnYnjZxqx9/3gHheCd9sbVaKBEgo9/8cb8Pkk5Jj0ePpHNlnHy6XNEOnzaMWUpUPRN40QEYcDH9biP5/UyaI/WZiPUcNVOPkSEdSmnTdx/VZa65mfFiI7o2dW9oYd5SivFBc3CL/+mR0Zxp7VjzgYiQjqyIl6HLx10ePeokzMuc+keOVcLWvBn3fflOULC1KwurhAcd1uBRMRlDA01291wueXoNUQVjycj2HW2CeX2N827ixvu+G3aKYFRQoMVUUk1QZ18L91OHK89rb3h4PHanHkRHCfMaZpZUe3uwimp1nCjn1VuOoI7mMFFgPWPGJV7wKb2qDOf+HFjncrg6fW0DQsn5fbq7BHQALe2N1+c08Yj/d8K0P+E1cRQ6WlhXH2chMOf1yH+sagnyfiVD9fYoXFrOIvVdQGJfy0P2wvh7s+eH9TJAfyzHpoYsTUvl6Yivs7xcZF+n373ipcL+942glQQ4xaOXpQU+tDIOyKYnqqFo88mIuv2WMvVUVLLiSkNijRrthQ3yqplI/4npRI7oo/APkG38enGxCQujc4xQyeP92MnGwVZ1I8QYm2a2r9EHm8Ukez7I7EKrlmPZ5Yao26TEV7p8434sKXXlS7fZBkaCQf/cJOmvgNozr2UrSOts0oN78qSXgqlkK9+b6hSYoYjQxvK7MHEUnh+HqbJaQYNNCqYCIp0UmjwXLZtS6r4acBrFdSaTDKkBYzQhfyl0qMHYMRghKdtQaMDYKq5UlSACeVVBp0MoRWnQlmGRQzk8MF4aJbBx2IGAoT4d92M81qC/+VuXgTGI8nQXUiQFhVaKZN4b8pvpcZEV+3MVjhEeDRGjCiIIMqOwSUy1z8TzDmDFYwnfXWEF6ymWmt+LwDqJsuHhcAziTyu6D6ahCJUJ1qwsgcovouoGSbahC/l6XNYyEwERbaTFTS7sVEGCKHi3cx4+G+Gr2Eew5hbaGZXgrvV8Skl5M5nV3Yx8D9CadEnDukIbxuM9Pqzo+Jmh1kZp3TjdeY0aVSnPv6lTRPhAAIT9pNtCFSB2KmUZ1uflSS8DKAYEpkIBbCOS1hjdVEH0RTLyYoUVEsRcmNJwE8BYZ5oLAiwjUQXrBlYxsRdRsPUgQqBEYsx4o6TA1ImA9gCsTrJQFLf3gpl1ha4hWTAG5ogIPQYq8tmz5ROug9AhWpUWbWV3tgIUrc93AGJPjzjKiKNWu6g3bboJSOSH+X+z9Y4PzoLgzvbQAAAABJRU5ErkJggg==",fs={class:"card"},ps=["src"],hs=D({__name:"info-card",setup(e){const t=[{value:1,class:"plan-pass",text:"userInfo.status.optionA",img:is},{value:1,class:"plan-overdue",text:"userInfo.status.optionB",img:cs},{value:4,class:"plan-limit",text:"userInfo.status.optionC",img:ds},{value:4,class:"plan-fail",text:"userInfo.status.optionD",img:us}];return(a,n)=>(g(),y("div",fs,[(g(),y(ne,null,de(t,(s,o)=>b("div",{key:o,class:"col"},[b("div",null,[b("img",{src:s.img},null,8,ps),b("span",null,w(a.$t(s.text)),1)]),b("div",null,[b("span",{class:ce(s.class)},w(s.value),3),b("span",null," / "+w(a.$t("work.index.Numbers")),1)])])),64))]))}});const ms=R(hs,[["__scopeId","data-v-e52c6f21"]]),bs={class:"table"},vs=D({__name:"info-table",props:{tableData:[]},setup(e){return(t,a)=>(g(),y("div",bs,[f(T(Nt),{ref:"expandGrid",data:e.tableData,"auto-resize":!0},{default:U(()=>[f(T(Z),{type:"index",width:"60"}),f(T(Z),{type:"expand",width:"60"},{default:U(n=>[b("ul",null,[b("li",null,[b("span",null,w(t.$t("userInfo.table.columnA"))+":",1),b("span",null,w(n.row.name),1)]),b("li",null,[b("span",null,w(t.$t("userInfo.table.columnB"))+":",1),b("span",null,w(n.row.time),1)]),b("li",null,[b("span",null,w(t.$t("userInfo.table.columnC"))+":",1),b("span",null,w(t.$t(`${n.row.type}`)),1)]),b("li",null,[b("span",null,w(t.$t("userInfo.table.columnD"))+":",1),b("span",null,w(t.$t(`${n.row.status}`)),1)])])]),_:1}),f(T(Z),{field:"name",title:t.$t("userInfo.table.columnA")},null,8,["title"]),f(T(Z),{field:"time",title:t.$t("userInfo.table.columnB")},null,8,["title"]),f(T(Z),{field:"type",title:t.$t("userInfo.table.columnC")},{default:U(n=>[b("span",null,w(t.$t(`${n.row.type}`)),1)]),_:1},8,["title"]),f(T(Z),{field:"status",title:t.$t("userInfo.table.columnD")},{default:U(n=>[b("span",null,w(t.$t(`${n.row.status}`)),1)]),_:1},8,["title"])]),_:1},8,["data"])]))}});const gs=R(vs,[["__scopeId","data-v-330389cd"]]),We="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAADx0lEQVRIS72XbWxTZRTH/+fpRveGzo1RtkFCNhT5cosh6ifBxMyoEeNLJM4vDjAmxLYyHRmkrWnSMVlGNqSo0QSYn0pQjNHFt0ky0Phu2K0mKrBFsjc22Rhh7Zhtn2PuhTXd+nbbLZ6P5/n/z++c3Huf57mE/znIKK/lr8bq2RvRBySjioirNB8zjQjCiLnA9I1rfeewkVppgR2DjYUTE9FdIFkPYBMYyfUEBvArWPjLy03vvLqmcyYVPCXQFXBsZym9AKqNdB6nGSYh3C3K4ePJfAlAbarJychRZtamyjmIyF9Wlrdz4bTzgAf6m2+fvh7qYfC9OZPijAT6uWR5Ud3e2rZrc+kY0MMeEQ5MdIP50aWAxWoQfZ6vlD/uIY/UcjGgS7W1MmPfksJuFRNErV6rzxkDegK7a8Iy8ieA/MUAVxetxVDo72Qlwvki726PcmhAn9Cl2vzMeG4xsActj+Ahy2M4PfYZese+SChFhBMt1iP11HrBXhEK4TIzi1yBG25T8PzaF0FEYGa8e7EjYVIiknkFyyx063s7livMUlCJl9a9BrPJrJf4erQbveNfJi1HQuwgp2r7EIxn0gGLTMUIRYMJkkJTEXbduQdl5hX62u9T53DiUpreCafI2Wc7B2BjKuBK8yrsqHXg+yu9ODP+VUwmINBQ+zJqSu7Sc6MzQ3jvQgfCHE7Xex85VftlMFuSqbTJHOudKMlfri/3jH4ag26tfhb3r9is54OR63j7fDuuha+mfzJEY+RS7bPMvCyVcsvKh1FXuTW2rEGDkWk8uebmzhflKI71+3Ap2J/xNSCifzXgIDOvTqdeCJUsIejmS/3xoB+/TH6XEaYJiGiInH32HwG+L5NjIVTT/3DlLLqHP8hkjVunnzTgcYAbjLjioQPT59HV/xYk9C3SYFAXvf6b46loVH5k0AGldBMqClbh2/HTmJU3jNp0nckknqZ2tal4imf/AbgwK3fWYpopJXOFvpe6VVu7ZDRlXSMLgyAc9FqP7NGBbwT23hGUwQEGl2ZRw7CUQFPForhmn3Lgauw8dAfsDVJy0nuI4cophELQdq/i69I/jXiNU7V3gnn3YgHz/ESH9lt9jXO5ecCTfNIUCJw9yowXlgJKhPcVZfPObbQtmhQ4l3SqjiYCt+V6RmpnH4Oa91sPH1zYeMp7qbvPfo8EtwGoy3LaHgFq9m70aadQQmS86rsD9i0sUc/AEwBXJofTKAGfkIDfq/jOpGswI3DOzMzk/uOVdRThKu3/Qstr/xWcRyPeDW9eJCLtup8x/gOovGPJ5EtgrgAAAABJRU5ErkJggg==",Pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACLUlEQVRIS8WWP2/TUBTFz3lxJQYWBiRASlKkwhcg6ggDCAELW6FLAulAZ1jrNMQzzDA0kC5AJ5CQupShjCh8AdqhdqoKiaFDWSoSH2Q3qZI2yM8FGa/vnvt77/r+Iyy+iutfEXmXoa6JuADgXF/2ncKODNcpfWh5xa9J7vgnA0msLnZmQsmTdCnJUXROcsOQbvNpfoWkxmnGAufqnalf3fANoJIN6LgN2xOOmV2q5zePnh0DVuv+jW4XK4DOnAw2UHHXcTDTrBfXhv2MAGNYD6uQnL+D9dVk18nh9jD0ENgP4xeblxH4EbkUcDb5YtydcMz0ILwxMEqQihtEsMR/RvLTxVzh1s55cH87WJV03QLabnmF6SiRYuDDWnCvF4Zvk4UADOeXG8WXkW255j9CqBc2upwx9181Cu9iYMX1v9mmvqGZe+0VmpHugRtUQ4VLNsCoZFpe8TLjopbaNqLI5qTAfp2WWK4FDYShmwUQxnisLPjrgq5mAST4mWXX34A0lQUQ5GYE3IN0OiPgz/8CTBVSEM+XvckncR26W88gPLaNThzStEkDsAcqLnyC85KMLfAgaVKWha3zsXZxWaQs/P7LOqIEoZDmAiRLqVsbwLVT+cKdCLTfCT4KumkDPWxtaZs3ycWWV2wc9OCtBQmeDXCkeacZTyC3HYNZhLm9HrrvJUwmAzk6niJBmgGcDBi2GDOAB8eZrhgj0KyWqAE00zVxAM10ET6aFP9y1f8NshFrEuSxoPwAAAAASUVORK5CYII=",Ye="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACK0lEQVRIS72Wv2sUQRTHv292tlAkjaJ33qWwUVsFQUENESxOjAh71/hHWFqpYLwqlZomkto0mwNJhAiGiAhGFI1Y5WJh4Z3x13piFE2yu09mzR53uT0zeyu7xRY77/s+7Hfem3kEjadunTvkY/08gU4AyIF4byBjeg+gzuDHAubdXGVqYat09K+AWulsEeyVmXFgq0RqnQhVkHE5b9+b7BYfCfxQGtrn+u4EA0d1QJtjCHgqhbyQsaffRqy1f1ouDQ14vlthYGcvsFBDgGMIaWXt6Uetedr+UMFcdh+AYSaBNbWEdUnydCu0Cdyw8XnSP4uw0JFCHgntbQJrVmFee89ME3LXbrjLdS0j1J7mKzPHgsJSL1WN7Hu2lloIZEbHIfdk0Ri7hZ+z97VkJIySqt6/wGJhUbf0Za4fmZu3A8ivZ0/gjJT1gIRqfnLmIG009UstFQCZ70fmRgichzNyXVcKAfMwvbMK1wBc1VUlAQIYppp1Zo7Bg2kACfRQAasM3p8ScIlqxcIKM3b0Avz9egGNsdE2qfflE+D7kemI8CMRMCqr99XBx0sX4X9rdCwTaCW2paKvD9nxOyDD6GrK5/IVrL56EQVcil00Ksv2k6ew7fgASHRC194s4rs9EWlrUDRx20J3r7vEDcdu/CTAoPHjHm29AtU0EBxtsQ/vHolth3cAjXM9xYR2XE9Kn/oFrKCpjhihS6kOUSE01TGxtR5SG4Q3F+H/HPX/ALCOIrMWH1BwAAAAAElFTkSuQmCC",je="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAADZElEQVRIS72XT2gcZRjGn2d2Zm39t1vIbGIaPAQPIkZaRBGx1UsOQvyzq4I5iK09iHix0FKKCgWhWCzoRTzVxlME3QnV4B9yUSKi1tLiSURy0HSN2Wq1LU2y8+33SGaTdbM7u7NponMa5nve9/e98z3vN98Q//PFbnn6eGB7NVzcJaAfQn8UR5QIlFLelmk+Mnu+m1wdgfp6YKuZW3wBwiiIuyXE6kkIwhkQ427flnd4/+xCO3hboAn8vZJeE7C9m5mvagicJ/mqWyifjItrAS5XFc5VTkB2dD2gFi2dca8vva+52jVATQ1mzOVLUxLu2RBsJZjEafemm4c5PPN3wxuo3UpHHDPx9qSkhzcDVgeQn7r5F0fII7bms5UrLPpHBR3eTFgD9KhXKL9cB2oyN2iW7I8CvP8ECITudc7tHJmfiSqsBP44pKfbwjJ3ArYCXP6pVZIZAuxS/Fijmnw/XSiPUp/0+WbBzAlwYoGZIbi7ioA1MNOPr03caawpGQHrptO9XO43K73brrrUA0U4ud01Yy2W/4WuwJjeFo3Z0meofvNMxxVxyOcYFv0PBT3RVullowqZvasOrf7wClI7Xkcd9ucZVL96EjBXOgIJFlkJ/LOQdnRUNkEbtbZLWBRDnmMY+HOSehPduQzdfQrM3FGX2ovnUJ3OJ1bW0B6/Myz2LAlIJwKb1qxlTRMTRE1fYRj0/CphoKO+CSZrQMdtNVIClMTsMvBbCfe278FaW9QN8sf3qJ5+Hu59Y2B2aF1QEt+xUvRPAtrTTVusMUhkpKAO7aYtAI7RFHN5CxsktYVs2Gr9Fahspau2cOAUqM97bzBXbFnQ1k5QyMS70cui7VhDQoIL7o2OH+2lYdDzhoQDXRjtmiUkjnuFCwcjoCZv3WYqV2ckZK85Y4dAEn+56esHOfLLxfr30Ez4e6xV7Dlko5NwHO518+WxaLNpTBZO+G/K6qWNAhrj6fAtL1/eX99tGgelp1LhxBcnID27KVDyPS//0D7yg2oscPVhGOQOQPZY229k0o4CWNA55BXmjzdL255Ldcrfaao4Jml4PdWSnHJTOMTHymfj4hKP+mHQ8yCBUYGPSrolNgn5G6GPBIx7hQtfdppgInA1WBIxmbvNhOona/8WEkquxxJG5n8mqW7exD8bfIXprBWGkQAAAABJRU5ErkJggg==",ys={class:"chart"},As=["value"],ws={key:0},Ts=["value"],Cs={class:"cardtip"},xs={class:"cardType"},Is=["src"],Ss=["src"],_s=["src"],Bs=["src"],Ns={class:"cardStatus"},Es={class:"cardtip"},Os={class:"cardType"},ks=["src"],Vs=["src"],Ms=["src"],Fs=["src"],Ds={class:"cardStatus"},Ls=D({__name:"info-chart",props:{chartData:[]},setup(e){return(t,a)=>(g(),y("div",ys,[(g(!0),y(ne,null,de(e.chartData,n=>(g(),y("div",{key:n.title,class:"list",value:n.value},[b("h4",null,w(t.$t(n.title)),1),n.value===1?(g(),y("div",ws,[(g(!0),y(ne,null,de(n.list,s=>(g(),y("div",{key:s.sort,value:s.type},[s.len===1?(g(),y("div",{key:0,class:ce(["cardold",s.pid])},[b("div",Cs,[b("span",xs,w(t.$t(s.type)),1),s.pid==="A"?(g(),y("img",{key:0,src:T(We)},null,8,Is)):N("",!0),s.pid==="B"?(g(),y("img",{key:1,src:T(Pe)},null,8,Ss)):N("",!0),s.pid==="C"?(g(),y("img",{key:2,src:T(Ye)},null,8,_s)):N("",!0),s.pid==="D"?(g(),y("img",{key:3,src:T(je)},null,8,Bs)):N("",!0),b("span",Ns,w(t.$t(s.status)),1)])],2)):N("",!0),s.len!==1?(g(),y("div",{key:1,class:ce(["cardnew",s.pid]),style:nt({width:`${s.len*199}px`})},[b("div",Es,[b("span",Os,w(t.$t(s.type)),1),s.pid==="A"?(g(),y("img",{key:0,src:T(We)},null,8,ks)):N("",!0),s.pid==="B"?(g(),y("img",{key:1,src:T(Pe)},null,8,Vs)):N("",!0),s.pid==="C"?(g(),y("img",{key:2,src:T(Ye)},null,8,Ms)):N("",!0),s.pid==="D"?(g(),y("img",{key:3,src:T(je)},null,8,Fs)):N("",!0),b("span",Ds,w(t.$t(s.status)),1)])],6)):N("",!0)],8,Ts))),128))])):N("",!0)],8,As))),128))]))}});const Rs=R(Ls,[["__scopeId","data-v-6dde2c6d"]]),Ws={class:"card"},Ps=["src"],Ys=D({__name:"info-tasksTip",setup(e){const t=[{value:5,class:"plan-pass",text:"userInfo.status.optionA",img:We},{value:2,class:"plan-overdue",text:"userInfo.status.optionB",img:Pe},{value:3,class:"plan-limit",text:"userInfo.status.optionC",img:Ye},{value:3,class:"plan-fail",text:"userInfo.status.optionD",img:je}];return(a,n)=>(g(),y("div",Ws,[(g(),y(ne,null,de(t,(s,o)=>b("div",{key:o,class:"col"},[b("img",{src:s.img},null,8,Ps),b("span",null,w(a.$t(s.text))+"/"+w(s.value),1)])),64))]))}});const js=R(Ys,[["__scopeId","data-v-4de66e26"]]),Us=e=>(he("data-v-674b89f0"),e=e(),me(),e),Hs={id:"contain"},Ks={class:"chartLength"},Qs={class:"contentFilter"},Js=Us(()=>b("img",{src:Wn},null,-1)),zs=[Js],Gs={class:"sort"},qs=["value","onClick"],Xs={class:"filter"},Zs=D({__name:"info-tab",setup(e){const t=Ct({loading:null,chartData:[],tableData:[]}),a=oe(),n=dt(),s=E("1"),o=E(!1),r=E(!1),l=[{label:"userInfo.end.positiveOrder",value:1},{label:"userInfo.end.reverseOrder",value:2},{label:"userInfo.start.positiveOrder",value:3},{label:"userInfo.start.reverseOrder",value:4}],c=E(),i=async()=>{a.setInfo({reset:!1,submit:!1}),t.loading=Et.service({text:"loading...",target:document.getElementById("contain"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:u}=await Mt(a.$state);t.chartData=u.chartData,t.tableData=u.tableData}finally{t.loading.close()}};xt(()=>{i()});const d=u=>{a.setInfo({sort:u}),i()},p=()=>{r.value=!1,o.value=!o.value},h=()=>{o.value=!1,r.value=!r.value};return ae(a.$state,(u,m)=>{(u.reset||u.submit)&&(i(),o.value=!1)}),ae(s,()=>{c.value.reset()}),(u,m)=>(g(),y(ne,null,[b("div",Hs,[f(T(ee),{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=I=>s.value=I)},{default:U(()=>[f(T(te),{title:u.$t("userInfo.tab.one"),name:"1"},{default:U(()=>[f(ms),f(gs,{"table-data":t.tableData},null,8,["table-data"])]),_:1},8,["title"]),f(T(te),{title:u.$t("userInfo.tab.two"),name:"2"},{default:U(()=>[f(js),b("div",Ks,[f(Rs,{"chart-data":t.chartData},null,8,["chart-data"])])]),_:1},8,["title"])]),_:1},8,["modelValue"])]),b("div",Qs,[b("div",{class:"left",onClick:h},[ke(w(u.$t("userInfo.filter.sort"))+" ",1),f(T(n))]),b("div",{class:"right",onClick:p},zs)]),Ee(b("div",Gs,[(g(),y(ne,null,de(l,(I,k)=>b("li",{key:k,value:I.value,onClick:A=>d(l[k].value)},w(u.$t(I.label)),9,qs)),64))],512),[[Oe,r.value]]),Ee(b("div",Xs,[f(ls,{ref_key:"filterInfo",ref:c,"active-name":s.value},null,8,["active-name"])],512),[[Oe,o.value]])],64))}});const $s=R(Zs,[["__scopeId","data-v-674b89f0"]]),eo={class:"container"},to={class:"container-info"},ao={class:"general-card"},no={class:"general-top"},so={class:"general-content"},oo=D({__name:"index",setup(e){return(t,a)=>{const n=V("Breadcrumb");return g(),y("div",eo,[f(n,{items:["menu.user","menu.user.info"]}),b("div",to,[b("div",ao,[b("div",no,[f(Ft)]),b("div",so,[f($s)])])])])}}});const bo=R(oo,[["__scopeId","data-v-875e3e38"]]);export{bo as default};
diff --git a/admin-website/src/main/resources/static/assets/index-c89d89f6.js b/admin-website/src/main/resources/static/assets/index-c89d89f6.js
deleted file mode 100644
index 7a31133..0000000
--- a/admin-website/src/main/resources/static/assets/index-c89d89f6.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as r,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const c={};function s(_,a){const e=o("router-view");return r(),t(e)}const m=n(c,[["render",s]]);export{m as default};
diff --git a/admin-website/src/main/resources/static/assets/index-c95fc632.js b/admin-website/src/main/resources/static/assets/index-c95fc632.js
deleted file mode 100644
index 46d3b0a..0000000
--- a/admin-website/src/main/resources/static/assets/index-c95fc632.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as c,u as n,v as a,l as i,w as s,E as t,Z as _,_ as r}from"./vue-fdfdc7c1.js";import{_ as d}from"./index-387d5142.js";const p="/ui/admin/assets/404-f7440407.png";const l={},m=e=>(_("data-v-9c767429"),e=e(),r(),e),u={class:"container"},h={class:"content"},v={class:"content-main"},f=m(()=>s("img",{src:p,alt:"404",class:"image"},null,-1)),x={class:"tip"};function g(e,B){const o=c("Breadcrumb");return n(),a("div",u,[i(o,{items:["menu.exception","menu.exception.404"]}),s("div",h,[s("div",v,[f,s("h3",x,t(e.$t("exception.result.404.description")),1),s("span",null,t(e.$t("exception.result.permissions.404")),1)])])])}const k=d(l,[["render",g],["__scopeId","data-v-9c767429"]]);export{k as default};
diff --git a/admin-website/src/main/resources/static/assets/index-cd31dfea.js b/admin-website/src/main/resources/static/assets/index-cd31dfea.js
deleted file mode 100644
index c2e6293..0000000
--- a/admin-website/src/main/resources/static/assets/index-cd31dfea.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as n}from"./index-c544811c.js";n.install=function(o){o.component(n.name,n)};
diff --git a/admin-website/src/main/resources/static/assets/index-cfcaf865.js b/admin-website/src/main/resources/static/assets/index-cfcaf865.js
deleted file mode 100644
index 67f9cb2..0000000
--- a/admin-website/src/main/resources/static/assets/index-cfcaf865.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import{d as f,p as C,a as A,$ as H,b as F,c as M,a9 as Y,aa as V,E as J,ab as Q}from"./index-387d5142.js";import{u as w,v as k,D as c,k as y,w as d,A as p,Q as B,P as m,l as h,J as g,E as $,H as P,I as R,L}from"./vue-fdfdc7c1.js";const W=({emit:e,props:r,state:t})=>n=>{n=[].concat(n);const a=r.accordion?n[0]:n;t.activeNames=n,e("update:modelValue",a),e("change",a)},q=({api:e,props:r,state:t})=>n=>{const a=t.activeNames.slice(0),i=a.indexOf(n==null?void 0:n.name);(()=>{let o=r.beforeClose?r.beforeClose(n,t.activeNames):!0;return new Promise(l=>{o&&o.then?o.then(()=>l(!0)).catch(()=>l(!1)):l(o)})})().then(o=>{r.accordion?(o||!a.length)&&e.setActiveNames(a[0]===(n==null?void 0:n.name)?"":n==null?void 0:n.name):(i>-1?o&&a.splice(i,1):a.push(n==null?void 0:n.name),e.setActiveNames(a))})},D=["state"],U=(e,{reactive:r,watch:t},{parent:n,emit:a,constants:i})=>{const s=i.EVENT_NAME.CollapseItemClick,o=r({activeNames:[]}),l={state:o,setActiveNames:W({emit:a,props:e,state:o})};return l.handleItemClick=q({api:l,props:e,state:o}),t(()=>e.modelValue,u=>{o.activeNames=u||u===0?[].concat(u):[]},{immediate:!0,deep:!0}),n.$on(s,l.handleItemClick),l};function G(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=X(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X(e,r){if(e){if(typeof e=="string")return N(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return N(e,r)}}function N(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var Z=function(r,t){for(var n=r.__vccOpts||r,a=G(t),i;!(i=a()).done;){var s=i.value,o=s[0],l=s[1];n[o]=l}return n},x=f({props:[].concat(C,["accordion","modelValue","beforeClose"]),setup:function(r,t){return A({props:r,context:t,renderless:U,api:D})}}),ee={class:"tiny-collapse",role:"tablist","aria-multiselectable":"true"};function te(e,r,t,n,a,i){return w(),k("div",ee,[c(e.$slots,"default")])}var O=Z(x,[["render",te]]);function re(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=ne(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ne(e,r){if(e){if(typeof e=="string")return E(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return E(e,r)}}function E(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var ae=function(r,t){for(var n=r.__vccOpts||r,a=re(t),i;!(i=a()).done;){var s=i.value,o=s[0],l=s[1];n[o]=l}return n},oe=f({props:[].concat(C,["accordion","modelValue","beforeClose"]),emits:["update:modelValue","change"],setup:function(r,t){return A({props:r,context:t,renderless:U,api:D})}}),ie={role:"tablist","aria-multiselectable":"true","data-tag":"tiny-collapse"};function se(e,r,t,n,a,i){return w(),k("div",ie,[c(e.$slots,"default")])}var le=ae(oe,[["render",se]]);function I(){return I=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},I.apply(this,arguments)}var de=function(r){var t,n=typeof process=="object"?(t={})==null?void 0:t.TINY_MODE:null;return(n||r)==="pc"?O:(n||r)==="mobile-first"?le:O},ce={COMPONENT_NAME:{Collapse:"Collapse"},EVENT_NAME:{CollapseItemClick:"collapse-item.click"}},ue=I({},H,{_constants:{type:Object,default:function(){return ce}},accordion:Boolean,beforeClose:Function,modelValue:{type:[Array,String,Number],default:function(){return[]}}}),v=f({name:F+"Collapse",componentName:"Collapse",props:ue,provide:function(){return{collapse:this}},setup:function(r,t){return M({props:r,context:t,template:de})}}),pe="3.16.0";v.model={prop:"modelValue",event:"update:modelValue"};v.install=function(e){e.component(v.name,v)};v.version=pe;const fe=({state:e,interval:r})=>()=>{setTimeout(()=>{e.isClick?e.isClick=!1:e.focusing=!0},r)},ve=({componentName:e,dispatch:r,eventName:t,props:n,parent:a,state:i})=>()=>{n.disabled||(r(e,t,a),i.focusing=!1,i.isClick=!0)},me=({componentName:e,dispatch:r,eventName:t,parent:n})=>()=>r(e,t,n),K=["state","isActive","handleFocus","handleEnterClick","handleHeaderClick"],z=(e,{computed:r,reactive:t},{parent:n,constants:a,dispatch:i})=>{const s=n.collapse._constants,o=s.COMPONENT_NAME.Collapse,l=s.EVENT_NAME.CollapseItemClick,u=t({id:Y(),isClick:!1,focusing:!1,contentHeight:0,contentWrapStyle:{height:"auto",display:"block"},isActive:r(()=>n.collapse.state.activeNames.includes(e.name))});return{state:u,handleFocus:fe({state:u,interval:a.INTERVAL}),handleEnterClick:me({componentName:o,dispatch:i,eventName:l,parent:n}),handleHeaderClick:ve({componentName:o,dispatch:i,eventName:l,props:e,parent:n,state:u})}};function be(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=ye(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ye(e,r){if(e){if(typeof e=="string")return S(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return S(e,r)}}function S(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var he=function(r,t){for(var n=r.__vccOpts||r,a=be(t),i;!(i=a()).done;){var s=i.value,o=s[0],l=s[1];n[o]=l}return n},ge=f({props:[].concat(C,["title","titleRight","name","disabled"]),components:{CollapseTransition:V,IconChevronRight:J()},setup:function(r,t){return A({props:r,context:t,renderless:z,api:K})}}),$e=["aria-expanded","aria-controls","aria-describedby"],Ce=["id","tabindex"],Ae={class:"tiny-collapse-item__title__right"},we=["aria-hidden","aria-labelledby","id"],ke={class:"tiny-collapse-item__content"};function Ie(e,r,t,n,a,i){var s=y("icon-chevron-right"),o=y("collapse-transition");return w(),k("div",{class:p(["tiny-collapse-item",{"is-active":e.state.isActive,"is-disabled":e.disabled}])},[d("div",{role:"tab","aria-expanded":e.state.isActive,"aria-controls":"tiny-collapse-content-"+e.state.id,"aria-describedby":"tiny-collapse-content-"+e.state.id},[d("div",{class:p(["tiny-collapse-item__header",{focusing:e.state.focusing,"is-active":e.state.isActive}]),role:"button",id:"tiny-collapse-head-"+e.state.id,tabindex:e.disabled?void 0:0,onKeyup:r[2]||(r[2]=B(m(function(){return e.handleEnterClick&&e.handleEnterClick.apply(e,arguments)},["stop"]),["space","enter"])),onFocus:r[3]||(r[3]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onBlur:r[4]||(r[4]=function(l){return e.state.focusing=!1}),onClick:r[5]||(r[5]=function(){return e.handleHeaderClick&&e.handleHeaderClick.apply(e,arguments)})},[d("div",{class:"tiny-collapse-item__arrow",onClick:r[0]||(r[0]=m(function(){return e.handleHeaderClick&&e.handleHeaderClick.apply(e,arguments)},["stop"]))},[c(e.$slots,"icon",{},function(){return[h(s,{class:p(["tiny-svg-size",{"is-active":e.state.isActive}])},null,8,["class"])]})]),d("div",{class:"tiny-collapse-item__word-overflow",onClick:r[1]||(r[1]=m(function(){return e.handleHeaderClick&&e.handleHeaderClick.apply(e,arguments)},["stop"]))},[c(e.$slots,"title",{},function(){return[g($(e.title),1)]})]),d("div",Ae,[c(e.$slots,"title-right",{},function(){return[g($(e.titleRight),1)]})])],42,Ce),h(o,null,{default:P(function(){return[R(d("div",{class:"tiny-collapse-item__wrap",role:"tabpanel","aria-hidden":!e.state.isActive,"aria-labelledby":"tiny-collapse-head-"+e.state.id,id:"tiny-collapse-content-"+e.state.id},[d("div",ke,[c(e.$slots,"default")])],8,we),[[L,e.state.isActive]])]}),_:3})],8,$e)],2)}var j=he(ge,[["render",Ie]]);function _e(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=Ne(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ne(e,r){if(e){if(typeof e=="string")return T(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return T(e,r)}}function T(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var Oe=function(r,t){for(var n=r.__vccOpts||r,a=_e(t),i;!(i=a()).done;){var s=i.value,o=s[0],l=s[1];n[o]=l}return n},Ee=f({props:[].concat(C,["title","titleRight","name","disabled"]),components:{CollapseTransition:V,IconArrowBottom:Q()},setup:function(r,t){return A({props:r,context:t,renderless:z,api:K})}}),Se={"data-tag":"tiny-collapse-item",class:"border-b-0.5 sm:border-b border-solid border-color-border-separator last:border-0"},je=["aria-expanded","aria-controls","aria-describedby"],Te=["id","tabindex"],He={"data-tag":"tiny-collapse-item-titleright",class:"text-xs font-normal"},Fe=["aria-hidden","aria-labelledby","id"],Me={class:"pb-6 pt-0 px-4 sm:pt-0 sm:pr-0 sm:pl-4 sm:pb-4 text-xs text-color-text-primary leading-relaxed"};function Ve(e,r,t,n,a,i){var s=y("icon-arrow-bottom"),o=y("collapse-transition");return w(),k("div",Se,[d("div",{role:"tab","data-tag":"tiny-collapse-item-tab","aria-expanded":e.state.isActive,"aria-controls":"tiny-collapse-content-"+e.state.id,"aria-describedby":"tiny-collapse-content-"+e.state.id},[d("div",{"data-tag":"tiny-collapse-item-body",class:p(["flex relative items-center h-12 sm:h-10 py-0 sm:pr-0 pl-4 pr-10 text-sm font-bold justify-between whitespace-nowrap",e.disabled?"text-color-text-disabled":"text-color-text-primary sm:[&:has(.peer:hover)_[role=title]]:text-color-brand"]),id:"tiny-collapse-head-"+e.state.id,tabindex:e.disabled?void 0:0,onKeyup:r[2]||(r[2]=B(m(function(){return e.handleEnterClick&&e.handleEnterClick.apply(e,arguments)},["stop"]),["space","enter"])),onFocus:r[3]||(r[3]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onBlur:r[4]||(r[4]=function(l){return e.state.focusing=!1})},[d("div",{"data-tag":"tiny-collapse-item-title",class:p(["whitespace-nowrap overflow-hidden overflow-ellipsis inline-block peer",[e.disabled?"cursor-not-allowed":"cursor-pointer sm:hover:text-color-brand"]]),role:"title",onClick:r[0]||(r[0]=function(){return e.handleHeaderClick&&e.handleHeaderClick.apply(e,arguments)})},[c(e.$slots,"title",{},function(){return[g($(e.title),1)]})],2),d("div",He,[c(e.$slots,"title-right",{},function(){return[g($(e.titleRight),1)]})]),d("div",{"data-tag":"tiny-collapse-item-icon",class:p(["absolute sm:left-0 right-3.5 text-xs mr-1 w-3 peer",[e.disabled?"fill-color-text-disabled  cursor-not-allowed":"fill-color-icon-secondary cursor-pointer sm:peer-hover:fill-color-brand sm:hover:fill-color-brand"]]),onClick:r[1]||(r[1]=function(){return e.handleHeaderClick&&e.handleHeaderClick.apply(e,arguments)})},[c(e.$slots,"icon",{active:e.state.isActive,disabled:e.disabled},function(){return[h(s,{"custom-class":"w-2.5 h-2.5 sm:w-3 sm:h-3 transition-transform duration-300",class:p([e.state.isActive?"sm:rotate-0 rotate-180":"sm:-rotate-90 rotate-0"])},null,8,["class"])]})],2)],42,Te)],8,je),h(o,null,{default:P(function(){return[R(d("div",{"data-tag":"tiny-collapse-item-active",class:"will-change-[height] bg-color-bg-1 overflow-hidden box-border",role:"tabpanel","aria-hidden":!e.state.isActive,"aria-labelledby":"tiny-collapse-head-"+e.state.id,id:"tiny-collapse-content-"+e.state.id},[d("div",Me,[c(e.$slots,"default")])],8,Fe),[[L,e.state.isActive]])]}),_:3})])}var Be=Oe(Ee,[["render",Ve]]);function _(){return _=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},_.apply(this,arguments)}var Pe=function(r){var t,n=typeof process=="object"?(t={})==null?void 0:t.TINY_MODE:null;return(n||r)==="pc"?j:(n||r)==="mobile-first"?Be:j},Re={INTERVAL:50},Le=_({},H,{_constants:{type:Object,default:function(){return Re}},title:String,titleRight:String,name:{type:[String,Number],default:function(){return this._uid}},disabled:Boolean}),b=f({name:F+"CollapseItem",componentName:"CollapseItem",inject:["collapse"],props:Le,setup:function(r,t){return M({props:r,context:t,template:Pe})}}),De="3.16.0";b.install=function(e){e.component(b.name,b)};b.version=De;export{b as C,v as a};
diff --git a/admin-website/src/main/resources/static/assets/index-d03ed532.js b/admin-website/src/main/resources/static/assets/index-d03ed532.js
deleted file mode 100644
index b296cf2..0000000
--- a/admin-website/src/main/resources/static/assets/index-d03ed532.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import{u as F,v as V,D as ie,F as ue,d as ce,a8 as N,r as q,a9 as de,k as fe,l as s,w as m,E as S,z as T,H as i,W as n,y as O,J as P,A as pe,Z as me,_ as he}from"./vue-fdfdc7c1.js";import{o as j,f as B,J as be,d as ge,b as Ae,a as ye,q as H,I as _,B as G,T as ve,_ as Fe}from"./index-387d5142.js";import{P as Ce,R as Q,C as y,G as ke,a as g}from"./index-c544811c.js";import{F as v,a as Se}from"./index-71dedec5.js";import"./index-cd31dfea.js";import{G as Ee}from"./index-3d632649.js";import{S as we}from"./index-51ecf215.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./warning-triangle-0392a7a8.js";import"./index-10398010.js";const Te=["fullscreenElement","fullscreenEnabled","requestFullscreen","exitFullscreen","fullscreenchange","fullscreenerror"],_e=["mozFullScreenElement","mozFullScreenEnabled","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror"],ze=["webkitFullscreenElement","webkitFullscreenEnabled","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror"],$e=["msFullscreenElement","msFullscreenEnabled","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError"],K=[Te,ze,_e,$e],C=typeof window<"u"&&typeof window.document<"u"?window.document:{};let f=null;const Ve=()=>{for(let e=0,l=K.length;e<l;e++){let t=K[e];if(t&&t[1]in C){for(f={},e=0;e<t.length;e++)f[K[0][e]]=t[e];return}}};Ve();const M={change:f&&f.fullscreenchange,error:f&&f.fullscreenerror},X={request(e,l){return new Promise((t,o)=>{const u=()=>{this.off("change",u),t()};if(this.on("change",u),e=e||C.documentElement,e[f&&f.requestFullscreen]){const h=e[f&&f.requestFullscreen](l);h instanceof Promise&&h.then(u).catch(o)}})},exit(){return new Promise((e,l)=>{if(!this.isFullscreen){e();return}const t=()=>{this.off("change",t),e()};if(this.on("change",t),C[f&&f.exitFullscreen]){const o=C[f&&f.exitFullscreen]();o instanceof Promise&&o.then(t).catch(l)}})},toggle(e,l){return this.isFullscreen?this.exit():this.request(e,l)},onchange(e){this.on("change",e)},onerror(e){this.on("error",e)},on(e,l){const t=M[e];t&&j(C,t,l)},off(e,l){const t=M[e];t&&B(C,t,l)},raw:f};Object.defineProperties(X,{isFullscreen:{get(){return!!C[f&&f.fullscreenElement]}},element:{enumerable:!0,get(){return C[f&&f.fullscreenElement]}},isEnabled:{enumerable:!0,get(){return!!C[f&&f.fullscreenEnabled]}}});var b=X;const Ie=({state:e,api:l})=>t=>{t===void 0?e.isFullscreen?l.exit():l.request():t?l.request():l.exit()},Be=({props:e,state:l,vm:t,sf:o,api:u})=>()=>{const h=()=>{if(l.isPageOnly?(l.isFullscreen=!0,u.onChangeFullScreen(),B(document,"keyup",u.keypressCallback),j(document,"keyup",u.keypressCallback)):(o.off("change",u.fullScreenCallback),o.on("change",u.fullScreenCallback),o.request(e.teleport?document.body:t.$el)),e.teleport){if(t.$el.parentNode===document.body)return;l.__parentNode=t.$el.parentNode,l.__token=document.createComment("fullscreen-token"),l.__parentNode.insertBefore(l.__token,t.$el),document.body.appendChild(t.$el)}};e.beforeChange?e.beforeChange(h):h()},qe=({state:e,api:l,sf:t,props:o})=>()=>{const u=()=>{e.isFullscreen&&(e.isPageOnly?(e.isFullscreen=!1,l.onChangeFullScreen(),B(document,"keyup",l.keypressCallback)):t.exit())};o.beforeChange?o.beforeChange(u):u()},Ue=({props:e,vm:l,api:t})=>o=>{o.target===l.$el&&e.exitOnClickWrapper&&t.exit()},Re=({state:e,sf:l,api:t})=>()=>{l.isFullscreen||l.off("change",t.fullScreenCallback),e.isFullscreen=l.isFullscreen,t.onChangeFullScreen()},xe=e=>l=>{l.key==="Escape"&&e.exit()},Ne=({props:e,state:l,vm:t,emit:o})=>()=>{l.isFullscreen||e.teleport&&l.__parentNode&&(l.__parentNode.insertBefore(t.$el,l.__token),l.__parentNode.removeChild(l.__token)),o("change",l.isFullscreen),o("update:fullscreen",l.isFullscreen)},Oe=e=>()=>{e.request()},Pe=e=>()=>e.isFullscreen,Ge=({props:e,state:l})=>()=>{let t={};return(l.isPageOnly||e.teleport)&&l.isFullscreen&&Object.assign(t,{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}),t&&e.zIndex&&(t.zIndex=e.zIndex),t},Qe=["state","exit","enter","toggle","request","getState","shadeClick","keypressCallback","fullScreenCallback","onChangeFullScreen"],Ke=(e,{reactive:l,computed:t,watch:o},{vm:u,emit:h})=>{const r={},p=l({isFullscreen:!1,isEnabled:!1,support:t(()=>p.isEnabled),isPageOnly:t(()=>e.pageOnly||!b.isEnabled),wrapperStyle:t(()=>r.computeWrapperStyle())});return Object.assign(r,{state:p,getState:Pe(p),enter:Oe(r),exit:qe({state:p,api:r,sf:b,props:e}),toggle:Ie({state:p,api:r}),keypressCallback:xe(r),shadeClick:Ue({props:e,vm:u,api:r}),request:Be({props:e,state:p,vm:u,sf:b,api:r}),fullScreenCallback:Re({state:p,sf:b,api:r}),computeWrapperStyle:Ge({props:e,state:p}),onChangeFullScreen:Ne({props:e,state:p,vm:u,emit:h})}),o(()=>e.fullscreen,A=>{A!==p.isFullscreen&&(A?r.request():r.exit())},{lazy:!0}),p.isEnabled=b.isEnabled,r},je={callback:()=>{},fullscreenClass:"fullscreen",pageOnly:!1,teleport:!1};let U,I;const L=(e,l)=>{e.style.position=l.position,e.style.left=l.left,e.style.top=l.top,e.style.width=l.width,e.style.height=l.height,e.style.zIndex=l.zIndex},W=e=>{const l=e.targetElement;l&&(l.classList.remove(e.opts.fullscreenClass),(e.opts.teleport||e.opts.pageOnly)&&(e.opts.teleport&&I&&(I.insertBefore(l,U),I.removeChild(U)),l.__styleCache&&L(l,l.__styleCache)))},De=(e,l)=>{const{position:t,left:o,top:u,width:h,height:r,zIndex:p}=e.style;if(e.classList.add(l.fullscreenClass),l.teleport||l.pageOnly){const A={position:"fixed",left:"0",top:"0",width:"100%",height:"100%"};e.__styleCache={position:t,left:o,top:u,width:h,height:r,zIndex:p},l.zIndex&&(A.zIndex=l.zIndex),L(e,A)}},Ze=(e,l,t)=>(l=be({},je,l),t===document.body&&(l.teleport=!1),e.isEnabled||(l.pageOnly=!0),l),$={targetElement:null,opts:null,isEnabled:b.isEnabled,isFullscreen:!1,toggle(e,l,t){return t===void 0?this.isFullscreen?this.exit():this.request(e,l):t?this.request(e,l):this.exit()},request(e,l){if(this.isFullscreen)return Promise.resolve();if(e||(e=document.body),this.opts=Ze(b,l,e),De(e,this.opts),this.opts.teleport&&(I=e.parentNode,I&&(U=document.createComment("fullscreen-token"),I.insertBefore(U,e),document.body.appendChild(e))),this.opts.pageOnly){const t=o=>{o.key==="Escape"&&(B(document,"keyup",t),this.exit())};return this.isFullscreen=!0,this.targetElement=e,B(document,"keyup",t),j(document,"keyup",t),this.opts.callback&&this.opts.callback(this.isFullscreen),Promise.resolve()}else{const t=()=>{b.isFullscreen||(b.off("change",t),W(this)),this.isFullscreen=b.isFullscreen,this.targetElement=this.opts.teleport?e||null:b.targetElement,this.opts.callback&&this.opts.callback(b.isFullscreen)};return b.on("change",t),b.request(this.opts.teleport?document.body:e)}},exit(){return this.isFullscreen?this.opts.pageOnly?(W(this),this.isFullscreen=!1,this.targetElement=null,this.opts.callback&&this.opts.callback(this.isFullscreen),Promise.resolve()):b.exit():Promise.resolve()}};$.support=$.isEnabled;$.getState=()=>$.isFullscreen;$.enter=$.request;var J=$;function Me(e,l){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=We(e))||l&&e&&typeof e.length=="number"){t&&(e=t);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function We(e,l){if(e){if(typeof e=="string")return Y(e,l);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Y(e,l)}}function Y(e,l){(l==null||l>e.length)&&(l=e.length);for(var t=0,o=new Array(l);t<l;t++)o[t]=e[t];return o}var Je=function(l,t){for(var o=l.__vccOpts||l,u=Me(t),h;!(h=u()).done;){var r=h.value,p=r[0],A=r[1];o[p]=A}return o},Ye=ge({name:Ae+"Fullscreen",props:{fullscreen:{type:Boolean,default:!1},exitOnClickWrapper:{type:Boolean,default:!0},fullscreenClass:{type:String,default:""},pageOnly:{type:Boolean,default:!1},teleport:{type:Boolean,default:!1},zIndex:{type:Number,default:0},beforeChange:Function},setup:function(l,t){return ye({props:l,context:t,renderless:Ke,api:Qe,mono:!0})}});function He(e,l,t,o,u,h){var r;return F(),V("div",ue({ref:"wrapper",class:"tiny-fullscreen"},e.$attrs,{style:e.state.wrapperStyle,class:(r={},r[e.fullscreenClass]=e.state.isFullscreen,r),onClick:l[0]||(l[0]=function(p){return e.shadeClick(p)}),onKeyup:l[1]||(l[1]=function(){return e.exit&&e.exit.apply(e,arguments)})}),[ie(e.$slots,"default")],16)}var z=Je(Ye,[["render",He]]),Xe="3.16.0",Le=["exit","enter","element","getState","isEnabled","isFullscreen","options","request","support","toggle"];Le.forEach(function(e){J[e]&&!z[e]&&(z[e]=J[e])});z.install=function(e){e.component(z.name,z)};z.version=Xe;const el="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAHCAYAAAA4R3wZAAABCklEQVQoU22QP0sCcRzGP1/P/kgHDb2F9oIa8pziMq8zaAvqNQQODRI0GEJDDjU1tDS0CS3BKWGnS/wqagl6Ay2NQVEYduc3GgwTn/Hh84GHRxiSemg2FMqAKFrKu5mzQUwGi+DKFEQ4BJ6BCJhGpegvpQ/62X9i0DQ7ouwr8piMusuWlYw7El8Cc4ru5d1MqSf/iUF4UxZ0F7hPfON5nvP6CzUaD5NRolNTcFSp+G66KCIqqir15m0FdBvR65F4bDWbnX/rn9Vqteyv7viFoouqcuy7C1tSC80RUABCK5pYy+VmPocdVjUmZbc5B1ZQTiQIzZ3Ay0eKzXXHaQ+Tel21+jRqT72fArM/mhth5VHyw18AAAAASUVORK5CYII=",ll="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAHCAYAAAA4R3wZAAABCUlEQVQoU33QPUtCARTG8f/jRcPKpS/REtTQoi1hycWEWsK1qYiGtnAqqiGq2aAgaHdoEW6LL0taw21rbYqWQOjFEG7SCSvBXugZz3l+HDjyyvVz0G2zEVvIZkcC/onv++H7h+AQMSavVD9CLIG8ZtTms4lE6y9bKFxHYkNPBRNzoBOZmbzyZV6yFaDitAdmXXf0pRcXi36/Ew1OEa6w4+fG3bI6hU98sSexBtTCb5FMKjX+2NlVq9XBlvUVMSaBfDoZX5VkH7Abr1TfRqwDVxFzXDOn/RoKzoA4sv2Z5ESu2/0GO0OvXMuBdoEboA0MC22mp+JbvUd+wS+8COyAQmZsZKYTBz8f9g5qeF7nvFWQIgAAAABJRU5ErkJggg==",tl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABKElEQVQoU4WST0vDQBDF36RJz7nrF9NrUlAPTYqC+VNwFzS5tamo1JiKXjzEj9SreBBE6kUEcWRXk26r4J52Z94w7zezlBUVwzhJ6JP5Xs/TMsBZEvZSU9zcs2KWAxypd1NwDGAIwijuewdEpLsKISzH3Tgn0A4zSyI60gXKRlZcjQEKGTxNAn+vLEv7+a1zA2BbidNBTyht65eZKSuup5bF9vvLQw+A1XU3T5n5SYkbeyuAqkhKSUKIz79YNIOZUAU6uGSwhRAfpmbV0qS6sIi6Ud/zpbx3HPf1jkDzJPTi1lIDnRfViIEBgMs48Ha/oe1bgLeYcJIG/lBD/+xBj5WAcRR4+42luq4788fF2a+xqnZMyNPAT9Zh9fQms5yAQ3Nxre6/r/EFIFKalUqbcTIAAAAASUVORK5CYII=",nl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAA60lEQVQoU52RP2vCUBTFz+ngKK4d/Ax+m+LiZAoKooIIiYI+W5Ooi0kFl7xsDg79cl2F5parRFIJxfqmyznvd/9y9ZE2sm8Znb6qjjEvJ5Q8Y8xTpVa3YPZJP7ZNCg6gHL2+0wrjNJsMHSoXRFY0DiK7B9Al4J6NME47IrIHuAbELQIAV6qRMvMGr+9n4JItcQGGGv8GAJLGG7QX6l1LF1u/BXJP9WuFsmHLtMcA3ca/W/Jju6RgetfQYZRsBByLyILkvDh0ruWb0qPsAPQA6Me3/FjFw/nbxGgihRhEaRuQ58nQWf61KYXU/wGrn32WXzmHCAAAAABJRU5ErkJggg==";function sl(e){return H.post("/api/employee/getEmployee",e)}function al(e){return H.delete(`/api/employee/delete?id=${e}`)}const D=e=>(me("data-v-6e43c7c3"),e=e(),he(),e),rl={class:"container-list"},ol={class:"contain"},il={class:"contain-head"},ul=D(()=>m("hr",null,null,-1)),cl={class:"contain-img"},dl={class:"contain-text"},fl={class:"search-btn"},pl=D(()=>m("div",{class:"bottom-line"},[m("hr")],-1)),ml={class:"tiny-fullscreen-scroll"},hl={class:"tiny-fullscreen-wrapper"},bl={class:"btn"},gl={class:"screen"},Al=D(()=>m("span",{class:"status-dot"},null,-1)),yl={class:"status-text"},vl=["onClick"],Fl=ce({__name:"index",setup(e){const l=N({loading:!1,filterOptions:{}}),t=N({component:Ce,attrs:{currentPage:1,pageSize:10,pageSizes:[10,20],total:10,layout:"total, prev, pager, next, jumper, sizes"}});let o=q([]);const u=q(),{loading:h,filterOptions:r}=de(l),p=[{value:"0",label:"offline"},{value:"1",label:"online"},{value:"2",label:"doing"}];async function A(a={pageIndex:1,pageSize:10,status:""}){const{...c}=r.value,w={searchInfo:c,...a};l.loading=!0;try{const{data:d}=await sl(w),{data:x,total:oe}=d;return o.value=x,{result:x,page:{total:oe}}}finally{l.loading=!1}}const ee=N({api:({page:a})=>{const{currentPage:c,pageSize:w}=a;return A({pageIndex:c,pageSize:w})}}),le=a=>{al(a).then(c=>{ve.message({message:"已删除",status:"success"})})};function te(a){var c;return((c=p.find(({value:w})=>a===w))==null?void 0:c.label)||""}function Z(){u==null||u.value.handleFetch("reload"),A()}function ne(){l.filterOptions={},Z()}const k=q(!0);function se(){k.value=!1}function ae(){k.value=!0}const re=()=>{u.value.exportCsv({filename:"table.csv",original:!0,isHeader:!1,data:o.value})},E=q(!1),R=()=>{E.value=!E.value};return(a,c)=>{const w=fe("Breadcrumb");return F(),V("div",rl,[s(w,{items:["menu.list","menu.list.searchTable"]}),m("div",ol,[m("div",il,[m("span",null,S(a.$t("searchTable.form.create")),1),ul,m("div",cl,[k.value?(F(),V("img",{key:0,src:el,alt:"collapse",onClick:se})):T("",!0),k.value?T("",!0):(F(),V("img",{key:1,src:ll,alt:"expand",onClick:ae}))]),m("div",dl,S(k.value?a.$t("searchTable.form.collapse"):a.$t("searchTable.form.extend")),1)]),s(n(Se),{model:n(r),"label-position":"right","label-width":"100px",class:"filter-form",size:"small"},{default:i(()=>[s(n(Q),{flex:!0,justify:"center",class:"col"},{default:i(()=>[s(n(y),{span:4,"label-width":"100px"},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.name")},{default:i(()=>[s(n(_),{modelValue:n(r).name,"onUpdate:modelValue":c[0]||(c[0]=d=>n(r).name=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),s(n(y),{span:4,"label-width":"100px"},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.department"),prop:"id"},{default:i(()=>[s(n(_),{modelValue:n(r).department,"onUpdate:modelValue":c[1]||(c[1]=d=>n(r).department=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),s(n(y),{span:4,"label-width":"100px"},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.role")},{default:i(()=>[s(n(_),{modelValue:n(r).roles,"onUpdate:modelValue":c[2]||(c[2]=d=>n(r).roles=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}),k.value?(F(),O(n(Q),{key:0,flex:!0,justify:"center",class:"col"},{default:i(()=>[s(n(y),{span:4},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.workname")},{default:i(()=>[s(n(_),{modelValue:n(r).workbenchName,"onUpdate:modelValue":c[3]||(c[3]=d=>n(r).workbenchName=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),s(n(y),{span:4,"label-width":"100px"},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.enablement"),prop:"id"},{default:i(()=>[s(n(_),{modelValue:n(r).project,"onUpdate:modelValue":c[4]||(c[4]=d=>n(r).project=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),s(n(y),{span:4,"label-width":"100px"},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.type")},{default:i(()=>[s(n(_),{modelValue:n(r).type,"onUpdate:modelValue":c[5]||(c[5]=d=>n(r).type=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1})):T("",!0),s(n(Q),{flex:!0,justify:"end",class:"col"},{default:i(()=>[k.value?(F(),O(n(y),{key:0,span:4,"label-width":"100px"},{default:i(()=>[s(n(v),{label:a.$t("searchTable.columns.study")},{default:i(()=>[s(n(_),{modelValue:n(r).address,"onUpdate:modelValue":c[6]||(c[6]=d=>n(r).address=d),placeholder:a.$t("searchTable.form.input")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})):T("",!0),k.value?(F(),O(n(y),{key:1,span:4},{default:i(()=>[s(n(v),{label:a.$t("searchTable.form.status")},{default:i(()=>[s(n(we),{modelValue:n(r).status,"onUpdate:modelValue":c[7]||(c[7]=d=>n(r).status=d),options:p},null,8,["modelValue"])]),_:1},8,["label"])]),_:1})):T("",!0),s(n(y),{span:4},{default:i(()=>[s(n(v),null,{default:i(()=>[m("div",fl,[s(n(G),{type:"primary",onClick:Z},{default:i(()=>[P(S(a.$t("searchTable.form.search")),1)]),_:1}),s(n(G),{onClick:ne},{default:i(()=>[P(S(a.$t("searchTable.form.reset")),1)]),_:1})])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"]),pl,s(n(z),{teleport:!0,"page-only":!0,"z-index":999,fullscreen:E.value,"onUpdate:fullscreen":c[8]||(c[8]=d=>E.value=d)},{default:i(()=>[m("div",ml,[m("div",hl,[s(n(ke),{ref_key:"taskGrid",ref:u,"fetch-data":ee,pager:t,loading:n(h),size:"medium","auto-resize":!0},{toolbar:i(()=>[s(n(Ee),null,{buttons:i(()=>[m("div",bl,[s(n(G),{onClick:re},{default:i(()=>[P(S(a.$t("searchTable.operation.import")),1)]),_:1}),m("div",gl,[E.value?T("",!0):(F(),V("img",{key:0,src:tl,class:"screen-image",onClick:R})),E.value?(F(),V("img",{key:1,src:nl,class:"screen-image",onClick:R})):T("",!0),m("span",{onClick:R},S(E.value?a.$t("searchTable.collapse.restores"):a.$t("searchTable.collapse.full")),1)])])]),_:1})]),default:i(()=>[s(n(g),{field:"name",title:a.$t("searchTable.columns.name"),align:"center"},null,8,["title"]),s(n(g),{field:"employeeNo",title:a.$t("searchTable.columns.number"),align:"center"},null,8,["title"]),s(n(g),{field:"departmentLevel",title:a.$t("searchTable.columns.filterType"),align:"center"},null,8,["title"]),s(n(g),{field:"department",title:a.$t("searchTable.columns.department"),align:"center"},null,8,["title"]),s(n(g),{field:"status",title:a.$t("searchTable.form.status"),align:"center"},{default:i(({row:d})=>[m("span",{class:pe(["status",{"status-closed":d.status==="0","status-finished":d.status==="1"}])},[Al,m("span",yl,S(te(d.status)),1)],2)]),_:1},8,["title"]),s(n(g),{field:"workbenchName",title:a.$t("searchTable.columns.workname"),align:"center"},null,8,["title"]),s(n(g),{field:"project",title:a.$t("searchTable.columns.enablement"),align:"center"},null,8,["title"]),s(n(g),{field:"type",title:a.$t("searchTable.columns.type"),align:"center"},null,8,["title"]),s(n(g),{field:"address",title:a.$t("searchTable.columns.study"),align:"center"},null,8,["title"]),s(n(g),{field:"roles",title:a.$t("searchTable.columns.role"),align:"center"},null,8,["title"]),s(n(g),{field:"lastUpdateUser",title:a.$t("searchTable.columns.updatesperson"),align:"center"},null,8,["title"]),s(n(g),{field:"createTime",title:a.$t("searchTable.columns.createdTime"),align:"center"},null,8,["title"]),s(n(g),{title:a.$t("searchTable.columns.operations"),align:"center"},{default:i(d=>[m("a",{class:"operation",onClick:x=>le(d.row.id)},S(a.$t("searchTable.columns.operations.delete")),9,vl)]),_:1},8,["title"])]),_:1},8,["fetch-data","pager","loading"])])])]),_:1},8,["fullscreen"])])])}}});const Bl=Fe(Fl,[["__scopeId","data-v-6e43c7c3"]]);export{Bl as default};
diff --git a/admin-website/src/main/resources/static/assets/index-dbecc0bf.css b/admin-website/src/main/resources/static/assets/index-dbecc0bf.css
deleted file mode 100644
index ceff7ca..0000000
--- a/admin-website/src/main/resources/static/assets/index-dbecc0bf.css
+++ /dev/null
@@ -1 +0,0 @@
-.main[data-v-2ef760ef]{padding:0}.main .col[data-v-2ef760ef]{display:flex;justify-content:space-around;min-width:396px;height:150px;background:#fff;border-radius:6px;box-shadow:0 3px 10px #4062e133}.main .col[data-v-2ef760ef]:hover{box-shadow:0 3px 10px #4062e173}.main .img[data-v-2ef760ef]{display:flex;align-items:center}.main .num[data-v-2ef760ef]{display:flex;flex-direction:column;justify-content:space-around}.main .num #up span[data-v-2ef760ef]{color:#f7961e}.main .num #down span[data-v-2ef760ef]{color:#3eb21f}.main .num .up .left[data-v-2ef760ef]{margin-left:-15%;color:#35383e;font-weight:400;font-size:18px;letter-spacing:.45px;text-align:left}.main .num .up .right[data-v-2ef760ef]{margin-left:15%;color:#777;font-size:16px;letter-spacing:.4px;text-align:left}.main .num .down[data-v-2ef760ef]{margin-left:-30px}.main .num .down .left[data-v-2ef760ef]{width:99px;height:36px;color:#242424;font-weight:700;font-size:36px;letter-spacing:1.2px;text-align:left}.main .num .down .right[data-v-2ef760ef]{width:8px;height:14px;color:#777;font-weight:400;font-size:16px;letter-spacing:.4px;text-align:left}[data-v-2ef760ef] .tiny-col{padding:0 11.5px}@media (max-width: 1760px){.main[data-v-2ef760ef]{display:none}.col[data-v-2ef760ef]{width:300px}}.curve[data-v-f83ab95d]{width:100%;height:491px;margin-top:2%;background:#fff;border-radius:6px;box-shadow:0 3px 10px #4062e133}#line[data-v-f83ab95d]{width:100%;height:inherit}.image[data-v-f83ab95d]{float:left;width:25px;margin-top:.5%;margin-left:.5%;background-color:#a125ff;border-radius:4px;opacity:.6}h3[data-v-f83ab95d]{float:left;width:200px;margin-top:.4%;margin-left:.5%;color:#524343;font-weight:700;font-size:18px}.falls[data-v-282ced62]{width:100%;height:406px;margin-top:2%;background:#fff;border-radius:6px;box-shadow:0 3px 10px #4062e133}#flow[data-v-282ced62]{width:100%;height:inherit}.image[data-v-282ced62]{float:left;width:25px;margin-top:.5%;margin-left:.5%;border-radius:4px;opacity:.6}h3[data-v-282ced62]{float:left;width:200px;margin-top:.5%;margin-left:.5%;color:#524343;font-weight:700;font-size:18px}.container[data-v-83d55124]{width:inherit}.round[data-v-efe9211a]{display:flex;justify-content:space-between;margin-top:2%;background:#fff;border-radius:6px;box-shadow:0 3px 10px #4062e133}#circled[data-v-efe9211a]{width:32vw!important;height:350px;margin-left:2.3%}.image[data-v-efe9211a]{float:left;width:25px;margin-top:1.5%;margin-left:1.5%;border-radius:4px;opacity:.6}.round-from[data-v-efe9211a]{width:46vw;margin-top:2%;margin-left:5%}h3[data-v-efe9211a]{float:left;width:300px;margin-top:1.4%;margin-left:1.5%;color:#524343;font-weight:700;font-size:18px}.container[data-v-6c846ff9]{width:inherit}.region[data-v-5c348cc6]{display:flex;justify-content:space-between;margin-top:2%;background:#fff;border-radius:6px;box-shadow:0 3px 10px #4062e133}.region .region-title[data-v-5c348cc6]{display:flex}.region h3[data-v-5c348cc6]{width:300px;margin-top:1.5%;margin-left:10px;color:#524343;font-weight:700;font-size:18px}#earth[data-v-5c348cc6]{width:32vw;height:358px;margin-left:15%}.image[data-v-5c348cc6]{width:25px;height:25px;margin-top:1.5%;margin-left:1.5%;background:tomato;border-radius:4px;opacity:.6}.region-from[data-v-5c348cc6]{width:46vw;margin-top:2%;margin-left:5%}.container[data-v-9655f689]{width:98%;height:inherit;margin:0 auto;overflow-x:hidden;overflow-y:auto}@media (max-width: 1208px){.container[data-v-9655f689]{overflow-x:auto}}
diff --git a/admin-website/src/main/resources/static/assets/index-ddfad463.css b/admin-website/src/main/resources/static/assets/index-ddfad463.css
deleted file mode 100644
index f36ed74..0000000
--- a/admin-website/src/main/resources/static/assets/index-ddfad463.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-icon-success{fill:#5cb300}.tiny-icon-error{fill:#f23030}.tiny-icon-warning-triangle{fill:#f80}.tiny-icon-prompt{fill:#1476ff}.tiny-icon-text-type{fill:#9185f0}[class*=tiny-]{-webkit-box-sizing:border-box;box-sizing:border-box}[class*=tiny-] :after,[class*=tiny-] :before{-webkit-box-sizing:border-box;box-sizing:border-box}[class*=tiny-] a{cursor:pointer;background-image:none;text-decoration:none;outline:0}[class*=tiny-] a:active,[class*=tiny-] a:focus,[class*=tiny-] a:hover{outline:0;text-decoration:none}[class*=tiny-] dd,[class*=tiny-] dl,[class*=tiny-] dt,[class*=tiny-] li,[class*=tiny-] ol,[class*=tiny-] td,[class*=tiny-] th,[class*=tiny-] ul{margin:0;padding:0}[class*=tiny-] ol,[class*=tiny-] ul{list-style:none}[class*=tiny-] audio,[class*=tiny-] canvas,[class*=tiny-] video{display:inline-block}[class*=tiny-] audio:not([controls]){display:none;height:0}[class*=tiny-] mark{background:#ff0;color:#000}[class*=tiny-] pre{white-space:pre-wrap}[class*=tiny-] sub,[class*=tiny-] sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}[class*=tiny-] sup{top:-.5em}[class*=tiny-] sub{bottom:-.25em}[class*=tiny-] fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}[class*=tiny-] legend{border:0;padding:0}[class*=tiny-] input::-ms-clear,[class*=tiny-] input::-ms-reveal{display:none}[class*=tiny-] button::-moz-focus-inner,[class*=tiny-] input::-moz-focus-inner{border:0;padding:0}[class*=tiny-] textarea{overflow:auto;vertical-align:top}[class*=tiny-] table{border-collapse:collapse;border-spacing:0}[class*=tiny-] .tiny-hide{display:none}[class*=tiny-] .popper__arrow,[class*=tiny-] .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}@media (min-width:768px){[class*=tiny-] ::-webkit-scrollbar{width:var(--ti-common-scrollbar-width);height:var(--ti-common-scrollbar-height)}[class*=tiny-] ::-webkit-scrollbar-track-piece{background:var(--ti-common-scrollbar-track-piece-bg-color)}[class*=tiny-] ::-webkit-scrollbar-thumb{background:var(--ti-common-scrollbar-thumb-bg-color);border-radius:var(--ti-common-scrollbar-thumb-border-radius)}[class*=tiny-] ::-webkit-scrollbar-thumb:hover{background:var(--ti-common-scrollbar-thumb-hover-bg-color)}[class*=tiny-] ::-webkit-scrollbar-thumb:active{background:var(--ti-common-scrollbar-thumb-active-bg-color)}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar{width:8px;height:8px}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-track-piece{background:0 0;border:0}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-thumb:hover{background:#999}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-thumb:active{background:#999}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar{width:4px;height:4px}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-track-piece{background:0 0;border:0}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:2px}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-thumb:hover{background:#999}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-thumb:active{background:#999}}:root{--ti-base-color-white:#fff;--ti-base-color-transparent:transparent;--ti-base-color-brand-6:#5e7ce0;--ti-base-color-brand-8:#344899;--ti-base-color-brand-7:#526ecc;--ti-base-color-brand-5:#7693f5;--ti-base-color-brand-4:#96adfa;--ti-base-color-brand-3:#beccfa;--ti-base-color-brand-2:#e9edfa;--ti-base-color-brand-1:#f2f5fc;--ti-base-color-common-9:#181818;--ti-base-color-common-8:#282b33;--ti-base-color-common-7:#252b3a;--ti-base-color-common-6:#464c59;--ti-base-color-common-5:#575d6c;--ti-base-color-common-4:#5c6173;--ti-base-color-common-3:#8a8e99;--ti-base-color-common-2:#adb0b8;--ti-base-color-common-1:#dfe1e6;--ti-base-color-bg-9:#b12220;--ti-base-color-bg-8:#c7000b;--ti-base-color-bg-7:#d64a52;--ti-base-color-bg-6:#eef0f5;--ti-base-color-bg-5:#f5f5f6;--ti-base-color-bg-4:#fafafa;--ti-base-color-bg-3:#ffffff;--ti-base-color-bg-2:#ffffff;--ti-base-color-bg-1:#ffffff;--ti-base-color-error-4:#de504e;--ti-base-color-error-3:#f66f6a;--ti-base-color-error-2:#ffbcba;--ti-base-color-error-1:#ffeeed;--ti-base-color-success-4:#3ac295;--ti-base-color-success-3:#50d4ab;--ti-base-color-success-2:#acf2dc;--ti-base-color-success-1:#edfff9;--ti-base-color-warn-5:#e37d29;--ti-base-color-warn-4:#fa9841;--ti-base-color-warn-3:#fac20a;--ti-base-color-warn-2:#ffd0a6;--ti-base-color-warn-1:#fff3e8;--ti-base-color-prompt-4:var(--ti-base-color-brand-7);--ti-base-color-prompt-3:var(--ti-base-color-brand-6);--ti-base-color-prompt-2:var(--ti-base-color-brand-3);--ti-base-color-prompt-1:#ebf6ff;--ti-base-color-prompt-icon-from:#7769e8;--ti-base-color-prompt-icon-to:#58bbff;--ti-base-color-icon-info:#6cbfff;--ti-base-color-data-3:#a6dd82;--ti-base-color-data-4:#f3689a;--ti-base-color-data-5:#a97af8;--ti-common-color-transparent:var(--ti-base-color-transparent);--ti-common-color-light:#fff;--ti-common-color-dark:#000;--ti-common-color-success:var(--ti-base-color-success-3);--ti-common-color-text-success:var(--ti-base-color-success-4);--ti-common-color-success-bg:var(--ti-base-color-success-1);--ti-common-color-success-border:var(--ti-base-color-success-2);--ti-common-color-error:var(--ti-base-color-error-3);--ti-common-color-error-text:var(--ti-base-color-error-4);--ti-common-color-error-bg:var(--ti-base-color-error-1);--ti-common-color-error-border:var(--ti-base-color-error-3);--ti-common-color-error-border-secondary:var(--ti-base-color-error-2);--ti-common-color-info:var(--ti-base-color-common-7);--ti-common-color-info-text:var(--ti-base-color-common-7);--ti-common-color-info-bg:rgba(51, 51, 51, .06);--ti-common-color-info-border:#d3d4d6;--ti-common-color-warn:var(--ti-base-color-warn-4);--ti-common-color-warn-text:var(--ti-base-color-warn-5);--ti-common-color-warn-bg:var(--ti-base-color-warn-1);--ti-common-color-warn-border:var(--ti-base-color-warn-2);--ti-common-color-warn-secondary:var(--ti-base-color-warn-3);--ti-common-color-prompt:var(--ti-base-color-prompt-3);--ti-common-color-prompt-text:var(--ti-base-color-prompt-4);--ti-common-color-prompt-bg:var(--ti-base-color-prompt-1);--ti-common-color-prompt-border:var(--ti-base-color-prompt-2);--ti-common-color-prompt-icon-from:var(--ti-base-color-prompt-icon-from);--ti-common-color-prompt-icon-to:var(--ti-base-color-prompt-icon-to);--ti-common-color-primary-normal:var(--ti-base-color-brand-6);--ti-common-color-primary-hover:var(--ti-base-color-brand-5);--ti-common-color-primary-active:var(--ti-base-color-brand-5);--ti-common-color-primary-disabled:#a0cfff;--ti-common-color-primary-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-primary-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-primary-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-primary-plain-disabled-bg-color:rgba(191, 191, 191, .1);--ti-common-color-success-normal:var(--ti-common-color-success);--ti-common-color-success-hover:var(--ti-common-color-success-border);--ti-common-color-success-active:var(--ti-common-color-success-border);--ti-common-color-success-disabled:#a6c3b9;--ti-common-color-success-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-success-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-success-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-success-plain-disabled-bg-color:rgba(166, 195, 185, .1);--ti-common-color-warning-normal:var(--ti-common-color-warn);--ti-common-color-warning-hover:var(--ti-common-color-warn-secondary);--ti-common-color-warning-active:var(--ti-common-color-warn-secondary);--ti-common-color-warning-disabled:#d3c6a2;--ti-common-color-warning-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-warning-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-warning-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-warning-plain-disabled-bg-color:rgba(211, 198, 162, .1);--ti-common-color-danger-normal:var(--ti-common-bg-primary);--ti-common-color-danger-hover:var(--ti-common-bg-primary-hover);--ti-common-color-danger-active:var(--ti-common-bg-primary-active);--ti-common-color-danger-disabled:#d8bab5;--ti-common-color-danger-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-danger-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-danger-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-danger-plain-disabled-bg-color:rgba(216, 186, 181, .1);--ti-common-color-info-normal:var(--ti-base-color-common-7);--ti-common-color-info-hover:var(--ti-base-color-common-4);--ti-common-color-info-active:var(--ti-base-color-common-4);--ti-common-color-info-disabled:#bfbfbf;--ti-common-color-info-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-info-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-info-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-info-plain-disabled-bg-color:rgba(191, 191, 191, .1);--ti-common-color-text-primary:var(--ti-base-color-common-7);--ti-common-color-text-secondary:var(--ti-base-color-common-5);--ti-common-color-text-weaken:var(--ti-base-color-common-3);--ti-common-color-text-disabled:var(--ti-base-color-common-2);--ti-common-color-text-darkbg:var(--ti-base-color-common-2);--ti-common-color-text-darkbg-disabled:var(--ti-base-color-common-5);--ti-common-color-text-link:var(--ti-base-color-brand-7);--ti-common-color-text-link-hover:var(--ti-base-color-brand-8);--ti-common-color-text-link-darkbg:var(--ti-base-color-brand-4);--ti-common-color-text-link-darkbg-hover:var(--ti-base-color-brand-3);--ti-common-color-text-highlight:var(--ti-base-color-brand-7);--ti-common-color-text-white:var(--ti-base-color-white);--ti-common-color-text-gray:var(--ti-base-color-white);--ti-common-color-text-gray-disabled:var(--ti-base-color-common-4);--ti-common-color-text-important:var(--ti-base-color-error-4);--ti-common-color-placeholder:var(--ti-base-color-common-2);--ti-common-color-selected-text-color:var(--ti-common-color-light);--ti-common-color-icon-normal:var(--ti-base-color-common-5);--ti-common-color-icon-hover:var(--ti-base-color-brand-6);--ti-common-color-icon-active:var(--ti-base-color-brand-6);--ti-common-color-icon-disabled:var(--ti-base-color-common-2);--ti-common-color-icon-white:var(--ti-base-color-white);--ti-common-color-icon-graybg-normal:var(--ti-base-color-common-2);--ti-common-color-icon-graybg-hover:var(--ti-base-color-brand-6);--ti-common-color-icon-graybg-active:var(--ti-base-color-brand-6);--ti-common-color-icon-graybg-disabled:var(--ti-base-color-common-1);--ti-common-color-icon-darkbg-normal:var(--ti-base-color-common-2);--ti-common-color-icon-darkbg-hover:var(--ti-base-color-brand-5);--ti-common-color-icon-darkbg-active:var(--ti-base-color-brand-5);--ti-common-color-icon-darkbg-disabled:var(--ti-base-color-common-5);--ti-common-color-icon-info:var(--ti-base-color-icon-info);--ti-common-color-bg-normal:var(--ti-base-color-bg-6);--ti-common-color-bg-emphasize:var(--ti-base-color-brand-6);--ti-common-color-bg-disabled:var(--ti-base-color-bg-5);--ti-common-color-bg-hover:var(--ti-base-color-brand-8);--ti-common-color-bg-gray:var(--ti-base-color-bg-4);--ti-common-color-bg-secondary:var(--ti-base-color-common-2);--ti-common-bg-primary:var(--ti-base-color-bg-8);--ti-common-bg-primary-hover:var(--ti-base-color-bg-7);--ti-common-bg-primary-active:var(--ti-base-color-bg-9);--ti-common-bg-minor:var(--ti-base-color-bg-2);--ti-common-bg-minor-hover:var(--ti-base-color-bg-1);--ti-common-bg-minor-active:var(--ti-base-color-bg-3);--ti-common-color-bg-white-normal:var(--ti-base-color-white);--ti-common-color-bg-white-emphasize:var(--ti-base-color-brand-1);--ti-common-color-bg-light-normal:var(--ti-base-color-brand-2);--ti-common-color-bg-light-emphasize:var(--ti-base-color-brand-3);--ti-common-color-bg-dark-normal:var(--ti-base-color-common-6);--ti-common-color-bg-dark-emphasize:var(--ti-base-color-common-4);--ti-common-color-bg-dark-active:var(--ti-common-color-bg-normal);--ti-common-color-bg-dark-deep:var(--ti-base-color-common-6);--ti-common-color-bg-dark-disabled:var(--ti-base-color-common-1);--ti-common-color-bg-navigation:var(--ti-base-color-common-8);--ti-common-color-bg-dark-select:var(--ti-base-color-common-9);--ti-common-color-selected-background:var(--ti-base-color-brand-6);--ti-common-color-hover-background:var(--ti-base-color-brand-1);--ti-common-color-data-1:var(--ti-base-color-success-3);--ti-common-color-data-2:var(--ti-base-color-icon-info);--ti-common-color-data-3:var(--ti-base-color-data-3);--ti-common-color-data-4:var(--ti-base-color-data-4);--ti-common-color-data-5:var(--ti-base-color-data-5);--ti-common-color-data-6:var(--ti-base-color-warn-3);--ti-common-color-data-7:var(--ti-base-color-warn-4);--ti-common-color-data-8:var(--ti-base-color-error-3);--ti-common-line-height-number:1.5;--ti-common-line-height-base:12px;--ti-common-line-height-1:14px;--ti-common-line-height-2:16px;--ti-common-line-height-3:18px;--ti-common-line-height-4:20px;--ti-common-line-height-5:24px;--ti-common-line-height-6:32px;--ti-common-line-height-7:36px;--ti-common-space-base:4px;--ti-common-space-2x:calc(var(--ti-common-space-base) * 2);--ti-common-space-3x:calc(var(--ti-common-space-base) * 3);--ti-common-space-4x:calc(var(--ti-common-space-base) * 4);--ti-common-space-5x:calc(var(--ti-common-space-base) * 5);--ti-common-space-6x:calc(var(--ti-common-space-base) * 6);--ti-common-space-8x:calc(var(--ti-common-space-base) * 8);--ti-common-space-10x:calc(var(--ti-common-space-base) * 10);--ti-common-space-0:0px;--ti-common-space-1:1px;--ti-common-space-6:6px;--ti-common-space-10:10px;--ti-common-dropdown-gap:2px;--ti-common-shadow-none:none;--ti-common-shadow-1-up:0 -1px 4px 0 rgba(0, 0, 0, .1);--ti-common-shadow-1-down:0 1px 4px 0 rgba(0, 0, 0, .1);--ti-common-shadow-1-left:-1px 0px 4px 0 rgba(0, 0, 0, .1);--ti-common-shadow-1-right:1px 0px 4px 0 rgba(0, 0, 0, .1);--ti-common-shadow-2-up:0 -2px 8px 0 rgba(0, 0, 0, .2);--ti-common-shadow-2-down:0 2px 8px 0 rgba(0, 0, 0, .2);--ti-common-shadow-2-left:-2px 0 8px 0 rgba(238, 10, 10, .2);--ti-common-shadow-2-right:2px 0 8px 0 rgba(252, 5, 5, .2);--ti-common-shadow-3-up:0 -4px 16px 0 rgba(0, 0, 0, .2);--ti-common-shadow-3-down:0 4px 16px 0 rgba(0, 0, 0, .2);--ti-common-shadow-3-left:-4px 0 16px 0 rgba(0, 0, 0, .2);--ti-common-shadow-3-right:4px 0 16px 0 rgba(0, 0, 0, .2);--ti-common-shadow-4-up:0 -8px 40px 0 rgba(0, 0, 0, .2);--ti-common-shadow-4-down:0 8px 40px 0 rgba(0, 0, 0, .2);--ti-common-shadow-4-left:-8px 0 40px 0 rgba(0, 0, 0, .2);--ti-common-shadow-4-right:8px 0 40px 0 rgba(0, 0, 0, .2);--ti-common-shadow-error:0 1px 3px 0 rgba(199, 54, 54, .25);--ti-common-shadow-warn:0 1px 3px 0 rgba(204, 100, 20, .25);--ti-common-shadow-prompt:0 1px 3px 0 rgba(70, 94, 184, .25);--ti-common-shadow-success:0 1px 3px 0 rgba(39, 176, 128, .25);--ti-common-font-family:"Helvetica","Arial","PingFangSC-Regular","Hiragino Sans GB","Microsoft YaHei","微软雅黑","Microsoft JhengHei";--ti-common-font-size-base:12px;--ti-common-font-size-1:14px;--ti-common-font-size-2:16px;--ti-common-font-size-3:18px;--ti-common-font-size-4:20px;--ti-common-font-size-5:24px;--ti-common-font-size-6:32px;--ti-common-font-size-7:36px;--ti-common-font-weight-1:100;--ti-common-font-weight-2:200;--ti-common-font-weight-3:300;--ti-common-font-weight-4:normal;--ti-common-font-weight-5:500;--ti-common-font-weight-6:600;--ti-common-font-weight-7:bold;--ti-common-font-weight-8:800;--ti-common-font-weight-9:900;--ti-common-font-weight-bold:700;--ti-common-color-line-normal:var(--ti-base-color-common-2);--ti-common-color-line-hover:var(--ti-base-color-common-5);--ti-common-color-line-active:var(--ti-base-color-brand-6);--ti-common-color-line-disabled:var(--ti-base-color-common-1);--ti-common-color-line-dividing:var(--ti-base-color-common-1);--ti-common-color-dash-line-normal:var(--ti-base-color-common-5);--ti-common-color-dash-line-hover:var(--ti-base-color-brand-7);--ti-common-color-border:var(--ti-base-color-common-2);--ti-common-color-border-hover:var(--ti-base-color-common-5);--ti-common-border-weight-normal:1px;--ti-common-border-weight-1:2px;--ti-common-border-weight-2:3px;--ti-common-border-style-dashed:dashed;--ti-common-border-style-dotted:dotted;--ti-common-border-style-solid:solid;--ti-common-border-radius-normal:2px;--ti-common-border-radius-0:0px;--ti-common-border-radius-1:4px;--ti-common-border-radius-2:8px;--ti-common-border-radius-3:50%;--ti-common-size-base:4px;--ti-common-size-2x:calc(var(--ti-common-size-base) * 2);--ti-common-size-3x:calc(var(--ti-common-size-base) * 3);--ti-common-size-4x:calc(var(--ti-common-size-base) * 4);--ti-common-size-5x:calc(var(--ti-common-size-base) * 5);--ti-common-size-6x:calc(var(--ti-common-size-base) * 6);--ti-common-size-7x:calc(var(--ti-common-size-base) * 7);--ti-common-size-8x:calc(var(--ti-common-size-base) * 8);--ti-common-size-9x:calc(var(--ti-common-size-base) * 9);--ti-common-size-10x:calc(var(--ti-common-size-base) * 10);--ti-common-size-11x:calc(var(--ti-common-size-base) * 11);--ti-common-size-12x:calc(var(--ti-common-size-base) * 12);--ti-common-size-13x:calc(var(--ti-common-size-base) * 13);--ti-common-size-14x:calc(var(--ti-common-size-base) * 14);--ti-common-size-15x:calc(var(--ti-common-size-base) * 15);--ti-common-size-16x:calc(var(--ti-common-size-base) * 16);--ti-common-size-17x:calc(var(--ti-common-size-base) * 17);--ti-common-size-18x:calc(var(--ti-common-size-base) * 18);--ti-common-size-19x:calc(var(--ti-common-size-base) * 19);--ti-common-size-20x:calc(var(--ti-common-size-base) * 20);--ti-common-size-21x:calc(var(--ti-common-size-base) * 21);--ti-common-size-22x:calc(var(--ti-common-size-base) * 22);--ti-common-size-23x:calc(var(--ti-common-size-base) * 23);--ti-common-size-24x:calc(var(--ti-common-size-base) * 24);--ti-common-size-25x:calc(var(--ti-common-size-base) * 25);--ti-common-size-26x:calc(var(--ti-common-size-base) * 26);--ti-common-size-27x:calc(var(--ti-common-size-base) * 27);--ti-common-size-28x:calc(var(--ti-common-size-base) * 28);--ti-common-size-29x:calc(var(--ti-common-size-base) * 29);--ti-common-size-30x:calc(var(--ti-common-size-base) * 30);--ti-common-size-31x:calc(var(--ti-common-size-base) * 31);--ti-common-size-32x:calc(var(--ti-common-size-base) * 32);--ti-common-size-33x:calc(var(--ti-common-size-base) * 33);--ti-common-size-34x:calc(var(--ti-common-size-base) * 34);--ti-common-size-35x:calc(var(--ti-common-size-base) * 35);--ti-common-size-36x:calc(var(--ti-common-size-base) * 36);--ti-common-size-37x:calc(var(--ti-common-size-base) * 37);--ti-common-size-38x:calc(var(--ti-common-size-base) * 38);--ti-common-size-39x:calc(var(--ti-common-size-base) * 39);--ti-common-size-40x:calc(var(--ti-common-size-base) * 40);--ti-common-size-41x:calc(var(--ti-common-size-base) * 41);--ti-common-size-42x:calc(var(--ti-common-size-base) * 42);--ti-common-size-43x:calc(var(--ti-common-size-base) * 43);--ti-common-size-44x:calc(var(--ti-common-size-base) * 44);--ti-common-size-45x:calc(var(--ti-common-size-base) * 45);--ti-common-size-46x:calc(var(--ti-common-size-base) * 46);--ti-common-size-47x:calc(var(--ti-common-size-base) * 47);--ti-common-size-48x:calc(var(--ti-common-size-base) * 48);--ti-common-size-49x:calc(var(--ti-common-size-base) * 49);--ti-common-size-50x:calc(var(--ti-common-size-base) * 50);--ti-common-size-0:0px;--ti-common-size-auto:auto;--ti-common-size-width-large:var(--ti-common-size-33x);--ti-common-size-width-medium:var(--ti-common-size-30x);--ti-common-size-width-normal:var(--ti-common-size-20x);--ti-common-size-height-large:var(--ti-common-size-12x);--ti-common-size-height-medium:var(--ti-common-size-10x);--ti-common-size-height-small:var(--ti-common-size-8x);--ti-common-size-height-normal:var(--ti-common-size-7x);--ti-common-size-height-mini:var(--ti-common-size-6x);--ti-common-scrollbar-width:4px;--ti-common-scrollbar-height:4px;--ti-common-scrollbar-track-piece-bg-color:var(--ti-base-color-bg-4);--ti-common-scrollbar-thumb-bg-color:#bfbfbf;--ti-common-scrollbar-thumb-border-radius:6px;--ti-common-scrollbar-thumb-hover-bg-color:#999999;--ti-common-scrollbar-thumb-active-bg-color:#999999}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.fade-in-enter-active,.fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.fade-in-enter,.fade-in-enter-from,.fade-in-leave-to{opacity:0}.zoom-in-center-enter-active,.zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.zoom-in-center-enter,.zoom-in-center-enter-from,.zoom-in-center-leave-to{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.zoom-in-top-enter-active,.zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.zoom-in-top-enter,.zoom-in-top-enter-from,.zoom-in-top-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.zoom-in-bottom-enter-active,.zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.zoom-in-bottom-enter,.zoom-in-bottom-enter-from,.zoom-in-bottom-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.zoom-in-left-enter-active,.zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.zoom-in-left-enter,.zoom-in-left-enter-from,.zoom-in-left-leave-to{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45)}.list-enter-active,.list-leave-active{-webkit-transition:all 1s;transition:all 1s}.list-enter,.list-enter-from,.list-leave-to{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.tiny-fade-in-linear-enter-active,.tiny-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.tiny-fade-in-linear-enter,.tiny-fade-in-linear-enter-from,.tiny-fade-in-linear-leave-to{opacity:0}.tiny-fade-in-enter-active,.tiny-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.tiny-fade-in-enter,.tiny-fade-in-enter-from,.tiny-fade-in-leave-to{opacity:0}.tiny-zoom-in-center-enter-active,.tiny-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.tiny-zoom-in-center-enter,.tiny-zoom-in-center-enter-from,.tiny-zoom-in-center-leave-to{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.tiny-zoom-in-top-enter-active,.tiny-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.tiny-zoom-in-top-enter,.tiny-zoom-in-top-enter-from,.tiny-zoom-in-top-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.tiny-zoom-in-bottom-enter-active,.tiny-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.tiny-zoom-in-bottom-enter,.tiny-zoom-in-bottom-enter-from,.tiny-zoom-in-bottom-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.tiny-zoom-in-left-enter-active,.tiny-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.tiny-zoom-in-left-enter,.tiny-zoom-in-left-enter-from,.tiny-zoom-in-left-leave-to{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45)}.tiny-list-enter-active,.tiny-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.tiny-list-enter,.tiny-list-enter-from,.tiny-list-leave-to{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.tiny-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.tiny-collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.tiny-horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}:root{--ti-errortips-box-bg-color:var(--ti-common-color-light, #fff);--ti-errortips-body-text-color:#5a5e66;--ti-errortips-body-font-size:var(--ti-common-font-size-1, 14px);--ti-errortips-body-code-font-size:100px;--ti-errortips-body-code-text-color:#9ac7ef;--ti-errortips-body-content-font-size:var(--ti-common-font-size-2, 16px);--ti-errortips-body-bottom-font-weight:var(--ti-common-font-weight-8, 800);--ti-errortips-sso-box-bg-color:var(--ti-common-color-light, #fff);--ti-errortips-sso-body-text-color:#5a5e66;--ti-errortips-sso-body-font-size:var(--ti-common-font-size-1, 14px);--ti-errortips-not-sso-bg-color:#dcdfe4;--ti-errortips-not-sso-body-bg-color:#f4f5f9;--ti-errortips-not-sso-body-border-color:#d4d5d7;--ti-errortips-not-sso-body-title-border-color:#b6babf;--ti-errortips-not-sso-body-title-font-size:var(--ti-common-font-size-4, 20px);--ti-errortips-not-sso-body-login-font-size:var(--ti-common-font-size-2, 16px);--ti-errortips-not-sso-body-text-color:#5a5e66;--ti-errortips-not-sso-body-input-border-color:var(--ti-base-color-bg-5, #f5f5f6);--ti-errortips-not-sso-body-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-errortips-not-sso-body-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-errortips-not-sso-body-input-hover-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-errortips-not-sso-body-input-focus-text-color:var(--ti-common-color-border, #adb0b8);--ti-errortips-not-sso-body-input-danger-border-color:var(--ti-base-color-bg-8, #c7000b);--ti-errortips-not-sso-body-button-text-color:var(--ti-common-color-light, #fff);--ti-errortips-not-sso-body-button-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-errortips-not-sso-body-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-errortips-not-sso-body-button-hover-bg-color:var(--ti-base-color-brand-5, #7693f5);--ti-errortips-not-sso-body-errmessage-text-color:#f00}.tiny-popup__wrapper{z-index:2147483647!important;background:rgba(0,0,0,.5);position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.tiny-popup__wrapper .tiny-errortips__box{position:absolute;width:var(--ti-errortips-width);min-height:var(--ti-errortips-min-height);max-height:var(--ti-errortips-max-height);top:0;left:0;right:0;bottom:0;margin:auto;overflow:hidden;background:var(--ti-errortips-box-bg-color);border:1px solid transparent;-webkit-box-shadow:2px 2px 2px 0 rgba(0,0,0,.2);box-shadow:2px 2px 2px #0003;text-align:center;overflow-y:auto}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body{height:100%;text-align:initial;padding:20px;color:var(--ti-errortips-body-text-color);font-size:var(--ti-errortips-body-font-size);display:table;margin:auto}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips{text-align:center;display:table-cell;vertical-align:middle}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-code{font-size:var(--ti-errortips-body-code-font-size);color:var(--ti-errortips-body-code-text-color);margin:0 auto -45px;text-shadow:0 2px 0 #fff,-2px 0 0 #fff,2px 0 0 #fff}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-img{width:260px;height:180px;margin:0 auto;background:url(/ui/admin/assets/errortips-bg-e8a5d5c7.png) no-repeat}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-content{font-size:var(--ti-errortips-body-content-font-size);margin:24px 0;font-weight:700}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-bottom a{font-weight:var(--ti-errortips-body-bottom-font-weight);cursor:pointer}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-bottom span{padding-right:15px}.tiny-popup__wrapper .tiny-sso__box{position:absolute;background:var(--ti-errortips-sso-box-bg-color);border:1px solid transparent;-webkit-box-shadow:2px 2px 2px 0 rgba(0,0,0,.2);box-shadow:2px 2px 2px #0003;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body{text-align:initial;padding:20px;color:var(--ti-errortips-sso-body-text-color);line-height:32px;font-size:var(--ti-errortips-sso-body-font-size)}.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body .tiny-sso__body-iframe{width:350px;height:350px;overflow:hidden}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body .tiny-sso__body-iframe{height:460px}}@supports (-ms-ime-align:auto){.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body .tiny-sso__body-iframe{height:460px}}.tiny-popup__wrapper.login-not-sso{background:var(--ti-errortips-not-sso-bg-color);background-size:cover}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box{width:100%;height:100%;overflow:hidden}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body{width:650px;height:400px;background:var(--ti-errortips-not-sso-body-bg-color);position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;border:1px solid var(--ti-errortips-not-sso-body-border-color);-webkit-box-shadow:0 2px 4px #989a9e;box-shadow:0 2px 4px #989a9e}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .title{background:-webkit-gradient(linear,left top,left bottom,from(#ecedf1),to(#dadde2));background:linear-gradient(to bottom,#ecedf1,#dadde2);border-bottom:1px solid var(--ti-errortips-not-sso-body-title-border-color);padding:16px 20px;font-size:var(--ti-errortips-not-sso-body-title-font-size)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--ti-errortips-not-sso-body-login-font-size);margin-top:28px}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item{height:60px;line-height:60px}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.label{width:30%;text-align:right;color:var(--ti-errortips-not-sso-body-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell{width:70%;text-align:left;padding-left:12px}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input{border:1px solid var(--ti-errortips-not-sso-body-input-border-color);border-radius:var(--ti-errortips-not-sso-body-input-border-radius);outline:0;width:75%;height:40px;line-height:40px;padding:0 8px;background:0 0;color:var(--ti-errortips-not-sso-body-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input::-webkit-input-placeholder{color:var(--ti-errortips-not-sso-body-placeholder-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input:hover{border-color:var(--ti-errortips-not-sso-body-placeholder-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input:focus::-webkit-input-placeholder{color:var(--ti-errortips-not-sso-body-input-focus-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input.text-danger{border-color:var(--ti-errortips-not-sso-body-input-danger-border-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell button{width:75%;height:40px;line-height:40px;padding:0 24px;text-align:center;color:var(--ti-errortips-not-sso-body-button-text-color);background-color:var(--ti-errortips-not-sso-body-button-bg-color);border:none;border-radius:var(--ti-errortips-not-sso-body-button-border-radius);-webkit-transition:.3s;transition:.3s;outline:0}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell button:hover{background-color:var(--ti-errortips-not-sso-body-button-hover-bg-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell .errmessage{color:var(--ti-errortips-not-sso-body-errmessage-text-color);line-height:20px}.tiny-svg{width:1em;height:1em;vertical-align:middle;overflow:hidden;display:inline-block}.tiny-button{--ti-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-button-font-size:var(--ti-common-font-size-base, 12px);--ti-button-plain-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-border-width:var(--ti-common-border-weight-normal, 1px);--ti-button-border-style:var(--ti-common-border-style-solid, solid);--ti-button-loading-bg-color:rgba(255, 255, 255, .35);--ti-button-size-normal-min-width:var(--ti-common-size-width-normal, 80px);--ti-button-size-normal-max-width:var(--ti-common-size-width-medium, 120px);--ti-button-size-normal-height:var(--ti-common-size-height-normal, 28px);--ti-button-size-normal-padding-horizontal:var(--ti-common-size-5x, 20px);--ti-button-size-large-height:var(--ti-common-size-height-large, 48px);--ti-button-size-large-font-size:var(--ti-common-font-size-2, 16px);--ti-button-size-large-padding-horizontal:var(--ti-common-size-8x, 32px);--ti-button-size-large-min-width:var(--ti-common-size-24x, 96px);--ti-button-size-large-margin-left:8px;--ti-button-size-medium-height:var(--ti-common-size-height-medium, 40px);--ti-button-size-medium-font-size:var(--ti-common-font-size-1, 14px);--ti-button-size-medium-padding-horizontal:var(--ti-common-size-7x, 28px);--ti-button-size-medium-min-width:var(--ti-common-size-22x, 88px);--ti-button-size-medium-margin-left:8px;--ti-button-size-small-height:var(--ti-common-size-height-small, 32px);--ti-button-size-small-font-size:var(--ti-common-font-size-1, 14px);--ti-button-size-small-padding-horizontal:var(--ti-common-size-3x, 12px);--ti-button-size-small-min-width:var(--ti-common-size-18x, 72px);--ti-button-size-small-margin-left:8px;--ti-button-size-mini-height:var(--ti-common-size-height-mini, 24px);--ti-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-button-size-mini-padding-horizontal:var(--ti-common-size-2x, 8px);--ti-button-size-mini-min-width:var(--ti-common-size-16x, 64px);--ti-button-normal-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-normal-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-normal-background-color:var(--ti-common-color-light, #fff);--ti-button-normal-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-hover-bg-color:var(--ti-common-color-light, #fff);--ti-button-normal-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-active-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-active-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-button-normal-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-normal-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-button-normal-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-button-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-text-hover-text-decoration:none;--ti-button-text-color-hover:var(--ti-common-color-text-link-hover, #344899);--ti-button-text-hover-weight:var(--ti-common-font-weight-4, normal);--ti-button-text-color-active:var(--ti-common-color-primary-active, #7693f5);--ti-button-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-text-svg-width:1em;--ti-button-text-svg-height:1em;--ti-button-text-hover-bg-color:transparent;--ti-button-text-only-icon-hover-bg-color:transparent;--ti-button-text-hover-border-radius:0px;--ti-button-text-svg-fill-color:var(--ti-common-color-text-secondary, #575d6c);--ti-button-text-svg-hover-fill-color:var(--ti-button-text-color-hover);--ti-button-text-svg-disabled-fill-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-text-has-svg-icon-margin-right:var(--ti-common-size-2x, 8px);--ti-button-text-has-svg-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-text-has-svg-hover-text-color:var(--ti-common-color-text-link, #526ecc);--ti-button-text-svg-padding-horizontal:var(--ti-common-size-2x, 8px);--ti-button-primary-normal-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-normal-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-hover-bg-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-active-bg-color:var(--ti-common-color-primary-active, #7693f5);--ti-button-primary-disabled-bg-color:var(--ti-common-color-primary-disabled-bgcolor, #f5f5f6);--ti-button-primary-text-color:var(--ti-common-color-light, #fff);--ti-button-primary-disabled-text-color:var(--ti-common-color-primary-disabled-text, #adb0b8);--ti-button-primary-disabled-border-color:var(--ti-common-color-primary-disabled-border, #dfe1e6);--ti-button-primary-plain-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-primary-plain-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-button-primary-plain-hover-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-disabled-bg-color:var(--ti-common-color-primary-plain-disabled-bg-color, rgba(191, 191, 191, .1));--ti-button-success-normal-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-normal-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-hover-bg-color:var(--ti-common-color-success-hover, #acf2dc);--ti-button-success-hover-border-color:var(--ti-common-color-success-hover, #acf2dc);--ti-button-success-active-bg-color:var(--ti-common-color-success-active, #acf2dc);--ti-button-success-disabled-bg-color:var(--ti-common-color-success-disabled-bgcolor, #f5f5f6);--ti-button-success-text-color:var(--ti-common-color-light, #fff);--ti-button-success-disabled-text-color:var(--ti-common-color-success-disabled-text, #adb0b8);--ti-button-success-disabled-border-color:var(--ti-common-color-success-disabled-border, #dfe1e6);--ti-button-success-plain-text-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-success-plain-bg-color:var(--ti-common-color-success-bg, #edfff9);--ti-button-success-plain-hover-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-hover-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-disabled-bg-color:var(--ti-common-color-success-plain-disabled-bg-color, rgba(166, 195, 185, .1));--ti-button-warning-normal-bg-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-normal-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-hover-bg-color:var(--ti-common-color-warning-hover, #fac20a);--ti-button-warning-active-bg-color:var(--ti-common-color-warning-active, #fac20a);--ti-button-warning-disabled-bg-color:var(--ti-common-color-warning-disabled-bgcolor, #f5f5f6);--ti-button-warning-text-color:var(--ti-common-color-light, #fff);--ti-button-warning-disabled-text-color:var(--ti-common-color-warning-disabled-text, #adb0b8);--ti-button-warning-disabled-border-color:var(--ti-common-color-warning-disabled-border, #dfe1e6);--ti-button-warning-plain-text-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-warning-plain-bg-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-button-warning-plain-hover-bg-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-hover-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-disabled-bg-color:var(--ti-common-color-warning-plain-disabled-bg-color, rgba(211, 198, 162, .1));--ti-button-danger-normal-bg-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-normal-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-hover-bg-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-hover-border-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-active-bg-color:var(--ti-common-color-danger-active, #b12220);--ti-button-danger-disabled-bg-color:var(--ti-common-color-danger-disabled-bgcolor, #f5f5f6);--ti-button-danger-text-color:var(--ti-common-color-light, #fff);--ti-button-danger-disabled-text-color:var(--ti-common-color-danger-disabled-text, #adb0b8);--ti-button-danger-disabled-border-color:var(--ti-common-color-danger-disabled-border, #dfe1e6);--ti-button-danger-plain-text-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-danger-plain-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-button-danger-plain-hover-bg-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-hover-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-disabled-bg-color:var(--ti-common-color-danger-disabled-bgcolor, #f5f5f6);--ti-button-danger-plain-disabled-border-color:var(--ti-common-color-danger-disabled-bgcolor, #f5f5f6);--ti-button-info-normal-bg-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-normal-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-hover-bg-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-hover-border-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-active-bg-color:var(--ti-common-color-info-active, #5c6173);--ti-button-info-disabled-bg-color:var(--ti-common-color-info-disabled-bgcolor, #f5f5f6);--ti-button-info-text-color:var(--ti-common-color-light, #fff);--ti-button-info-disabled-text-color:var(--ti-common-color-info-disabled-text, #adb0b8);--ti-button-info-disabled-border-color:var(--ti-common-color-info-disabled-border, #dfe1e6);--ti-button-info-plain-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-info-plain-bg-color:var(--ti-common-color-info-bg, rgba(51, 51, 51, .06));--ti-button-info-plain-hover-bg-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-hover-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-disabled-bg-color:var(--ti-common-color-info-plain-disabled-bg-color, rgba(191, 191, 191, .1));--ti-button-ghost-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-ghost-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-ghost-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-ghost-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-primary-ghost-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-ghost-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-ghost-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-ghost-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-primary-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-success-ghost-text-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-ghost-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-ghost-hover-text-color:var(--ti-common-color-success-active, #acf2dc);--ti-button-success-ghost-hover-border-color:var(--ti-common-color-success-active, #acf2dc);--ti-button-success-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-success-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-info-ghost-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-ghost-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-ghost-hover-text-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-ghost-hover-border-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-info-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-warning-ghost-text-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-ghost-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-ghost-hover-text-color:var(--ti-common-color-warning-active, #fac20a);--ti-button-warning-ghost-hover-border-color:var(--ti-common-color-warning-active, #fac20a);--ti-button-warning-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-warning-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-danger-ghost-text-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-ghost-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-ghost-hover-text-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-ghost-hover-border-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-danger-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-padding-vertical:var(--ti-common-space-0, 0px);--ti-button-size-normal-padding:var(--ti-common-space-2x, 8px);--ti-button-text-size-large-min-width:var(--ti-common-size-24x, 96px);--ti-button-text-size-large-height:var(--ti-common-size-height-large, 48px);--ti-button-text-size-large-svg-width:1em;--ti-button-text-size-large-svg-height:1em;--ti-button-text-padding-horizontal:var(--ti-common-space-0, 0px);--ti-button-text-size-medium-min-width:var(--ti-common-size-22x, 88px);--ti-button-text-size-medium-height:var(--ti-common-size-height-medium, 40px);--ti-button-text-size-medium-svg-width:1em;--ti-button-text-size-medium-svg-height:1em;--ti-button-text-size-default-min-width:var(--ti-common-size-20x, 80px);--ti-button-text-size-default-height:var(--ti-common-size-height-normal, 28px);--ti-button-text-size-default-svg-width:1em;--ti-button-text-size-default-svg-height:1em;--ti-button-text-size-small-min-width:var(--ti-common-size-18x, 72px);--ti-button-text-size-small-height:var(--ti-common-size-height-small, 32px);--ti-button-text-size-small-svg-width:1em;--ti-button-text-size-small-svg-height:1em;--ti-button-text-size-mini-min-width:var(--ti-common-size-16x, 64px);--ti-button-text-size-mini-height:var(--ti-common-size-height-mini, 24px);--ti-button-text-size-mini-svg-width:1em;--ti-button-text-size-mini-svg-height:1em;--ti-button-only-icon-min-width:unset;--ti-button-only-icon-padding-horizontal:7px;--ti-button-only-icon-border-radius:2px;--ti-button-only-icon-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-only-icon-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-only-icon-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--ti-button-size-normal-height);line-height:calc(var(--ti-button-size-normal-height) - 2px);color:var(--ti-button-normal-text-color);fill:var(--ti-button-normal-text-color);font-size:var(--ti-button-font-size);min-width:var(--ti-button-size-normal-min-width);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-width:var(--ti-button-border-width);border-style:var(--ti-button-border-style);border-color:var(--ti-button-normal-border-color);-o-border-image:initial;border-image:initial;border-radius:var(--ti-button-border-radius);background:var(--ti-button-normal-background-color);padding:var(--ti-button-padding-vertical) var(--ti-button-size-normal-padding-horizontal);overflow:hidden;-webkit-transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;outline:0;vertical-align:middle}.tiny-button .tiny-svg{vertical-align:text-top}.tiny-button>img{margin-right:4px;vertical-align:middle}.tiny-button.is-only-icon{min-width:var(--ti-button-only-icon-min-width);padding:0 var(--ti-button-only-icon-padding-horizontal);border-radius:var(--ti-button-only-icon-border-radius);border-color:var(--ti-button-only-icon-border-color)}.tiny-button.is-only-icon:hover{border-color:var(--ti-button-only-icon-hover-border-color)}.tiny-button.is-only-icon.is-disabled,.tiny-button.is-only-icon.is-disabled:hover{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button::-moz-focus-inner{border:0}.tiny-button:focus,.tiny-button:hover{color:var(--ti-button-normal-hover-text-color);fill:var(--ti-button-normal-hover-text-color);border-color:var(--ti-button-normal-hover-border-color);background-color:var(--ti-button-normal-hover-bg-color)}.tiny-button.is-active,.tiny-button.is-plain:active,.tiny-button:active{color:var(--ti-button-normal-active-text-color);fill:var(--ti-button-normal-active-text-color);border-color:var(--ti-button-normal-active-border-color);background-color:var(--ti-button-normal-active-bg-color)}.tiny-button.is-ghost{background-color:transparent}.tiny-button.is-ghost:active,.tiny-button.is-ghost:focus,.tiny-button.is-ghost:hover{color:var(--ti-button-ghost-hover-text-color);fill:var(--ti-button-ghost-hover-text-color);border-color:var(--ti-button-ghost-hover-border-color);background-color:transparent}.tiny-button.is-ghost.is-disabled,.tiny-button.is-ghost.is-disabled:focus,.tiny-button.is-ghost.is-disabled:hover{color:var(--ti-button-ghost-disabled-text-color);fill:var(--ti-button-ghost-disabled-text-color);border-color:var(--ti-button-ghost-disabled-border-color);background-color:transparent}.tiny-button.is-disabled,.tiny-button.is-disabled:focus,.tiny-button.is-disabled:hover{cursor:not-allowed;color:var(--ti-button-normal-disabled-text-color);fill:var(--ti-button-normal-disabled-text-color);border-color:var(--ti-button-normal-disabled-border-color);background-color:var(--ti-button-normal-disabled-bg-color)}.tiny-button.is-plain:focus,.tiny-button.is-plain:hover{color:var(--ti-button-normal-hover-text-color);fill:var(--ti-button-normal-hover-text-color);border-color:var(--ti-button-normal-hover-border-color);background-color:var(--ti-button-normal-hover-bg-color)}.tiny-button.is-disabled.is-plain,.tiny-button.is-disabled.is-plain:focus,.tiny-button.is-disabled.is-plain:hover{color:var(--ti-button-normal-disabled-text-color);fill:var(--ti-button-normal-disabled-text-color);border-color:var(--ti-button-normal-disabled-border-color);background-color:var(--ti-button-normal-disabled-bg-color)}.tiny-button+.tiny-button{margin-left:8px}.tiny-button.is-loading{position:relative;pointer-events:none;overflow:initial}.tiny-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--ti-button-loading-bg-color)}.tiny-button.is-loading .tiny-svg{fill:var(--ti-button-info-text-color)}.tiny-button.is-loading.tiny-button--default .tiny-svg{fill:var(--ti-button-normal-text-color)}.tiny-button.is-round{border-radius:calc(var(--ti-button-size-normal-height,30px)/ 2)}.tiny-button.is-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-button:not(.is-circle) .tiny-svg.is-text{margin-right:var(--ti-button-text-has-svg-icon-margin-right)}.tiny-button:not(.is-circle).is-loading .tiny-svg{margin-right:4px;margin-top:1px}.tiny-button.is-circle{border-radius:50%;min-width:var(--ti-button-size-normal-height);min-height:var(--ti-button-size-normal-height);line-height:1;padding:var(--ti-button-size-normal-padding)}.tiny-button.is-circle.is-hide-boder{border:none}.tiny-button.is-circle.tiny-button--large{min-width:var(--ti-button-size-large-height);min-height:var(--ti-button-size-large-height);height:auto;line-height:1;padding:var(--ti-button-size-large-padding)}.tiny-button.is-circle.tiny-button--medium{min-width:var(--ti-button-size-medium-height);min-height:var(--ti-button-size-medium-height);height:auto;line-height:1;padding:var(--ti-button-size-medium-padding)}.tiny-button.is-circle.tiny-button--small{min-width:var(--ti-button-size-small-height);min-height:var(--ti-button-size-small-height);height:auto;line-height:1;padding:var(--ti-button-size-small-padding)}.tiny-button.is-circle.tiny-button--mini{min-width:var(--ti-button-size-mini-height);min-height:var(--ti-button-size-mini-height);height:auto;line-height:1;padding:var(--ti-button-size-mini-padding)}.tiny-button.tiny-button--primary{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-normal-border-color);background-color:var(--ti-button-primary-normal-bg-color)}.tiny-button.tiny-button--primary:hover{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-hover-border-color);background-color:var(--ti-button-primary-hover-bg-color)}.tiny-button.tiny-button--primary.is-active,.tiny-button.tiny-button--primary:active,.tiny-button.tiny-button--primary:focus{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-active-bg-color);background-color:var(--ti-button-primary-active-bg-color);outline:0}.tiny-button.tiny-button--primary.is-disabled,.tiny-button.tiny-button--primary.is-disabled:active,.tiny-button.tiny-button--primary.is-disabled:focus,.tiny-button.tiny-button--primary.is-disabled:hover{color:var(--ti-button-primary-disabled-text-color);fill:var(--ti-button-primary-disabled-text-color);border-color:var(--ti-button-primary-disabled-border-color);background-color:var(--ti-button-primary-disabled-bg-color)}.tiny-button.tiny-button--primary.is-plain{color:var(--ti-button-primary-plain-text-color);fill:var(--ti-button-primary-plain-text-color);border-color:var(--ti-button-primary-plain-border-color);background-color:var(--ti-button-primary-plain-bg-color)}.tiny-button.tiny-button--primary.is-plain:hover{color:var(--ti-button-primary-plain-hover-text-color);fill:var(--ti-button-primary-plain-hover-text-color);border-color:var(--ti-button-primary-plain-hover-border-color);background-color:var(--ti-button-primary-plain-hover-bg-color)}.tiny-button.tiny-button--primary.is-plain.is-active,.tiny-button.tiny-button--primary.is-plain:active,.tiny-button.tiny-button--primary.is-plain:focus{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-active-bg-color);background-color:var(--ti-button-primary-active-bg-color);outline:0}.tiny-button.tiny-button--primary.is-plain.is-disabled,.tiny-button.tiny-button--primary.is-plain.is-disabled:active,.tiny-button.tiny-button--primary.is-plain.is-disabled:focus,.tiny-button.tiny-button--primary.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-primary-disabled-bg-color);background-color:var(--ti-button-primary-plain-disabled-bg-color)}.tiny-button.tiny-button--primary.is-ghost{color:var(--ti-button-primary-ghost-text-color);fill:var(--ti-button-primary-ghost-text-color);border-color:var(--ti-button-primary-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--primary.is-ghost:hover{color:var(--ti-button-primary-ghost-hover-text-color);fill:var(--ti-button-primary-ghost-hover-text-color);border-color:var(--ti-button-primary-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--primary.is-ghost.is-active,.tiny-button.tiny-button--primary.is-ghost:active,.tiny-button.tiny-button--primary.is-ghost:focus{color:var(--ti-button-primary-ghost-hover-text-color);fill:var(--ti-button-primary-ghost-hover-text-color);border-color:var(--ti-button-primary-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--primary.is-ghost.is-disabled,.tiny-button.tiny-button--primary.is-ghost.is-disabled:active,.tiny-button.tiny-button--primary.is-ghost.is-disabled:focus,.tiny-button.tiny-button--primary.is-ghost.is-disabled:hover{color:var(--ti-button-primary-ghost-disabled-text-color);fill:var(--ti-button-primary-ghost-disabled-text-color);border-color:var(--ti-button-primary-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--primary.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--primary.is-loading.is-disabled{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-normal-border-color);background-color:var(--ti-button-primary-normal-bg-color)}.tiny-button.tiny-button--success{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-normal-border-color);background-color:var(--ti-button-success-normal-bg-color)}.tiny-button.tiny-button--success:hover{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-hover-border-color);background-color:var(--ti-button-success-hover-bg-color)}.tiny-button.tiny-button--success.is-active,.tiny-button.tiny-button--success:active,.tiny-button.tiny-button--success:focus{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-active-bg-color);background-color:var(--ti-button-success-active-bg-color);outline:0}.tiny-button.tiny-button--success.is-disabled,.tiny-button.tiny-button--success.is-disabled:active,.tiny-button.tiny-button--success.is-disabled:focus,.tiny-button.tiny-button--success.is-disabled:hover{color:var(--ti-button-success-disabled-text-color);fill:var(--ti-button-success-disabled-text-color);border-color:var(--ti-button-success-disabled-border-color);background-color:var(--ti-button-success-disabled-bg-color)}.tiny-button.tiny-button--success.is-plain{color:var(--ti-button-success-plain-text-color);fill:var(--ti-button-success-plain-text-color);border-color:var(--ti-button-success-plain-border-color);background-color:var(--ti-button-success-plain-bg-color)}.tiny-button.tiny-button--success.is-plain:hover{color:var(--ti-button-success-plain-hover-text-color);fill:var(--ti-button-success-plain-hover-text-color);border-color:var(--ti-button-success-plain-hover-border-color);background-color:var(--ti-button-success-plain-hover-bg-color)}.tiny-button.tiny-button--success.is-plain.is-active,.tiny-button.tiny-button--success.is-plain:active,.tiny-button.tiny-button--success.is-plain:focus{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-active-bg-color);background-color:var(--ti-button-success-active-bg-color);outline:0}.tiny-button.tiny-button--success.is-plain.is-disabled,.tiny-button.tiny-button--success.is-plain.is-disabled:active,.tiny-button.tiny-button--success.is-plain.is-disabled:focus,.tiny-button.tiny-button--success.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-success-disabled-bg-color);background-color:var(--ti-button-success-plain-disabled-bg-color)}.tiny-button.tiny-button--success.is-ghost{color:var(--ti-button-success-ghost-text-color);fill:var(--ti-button-success-ghost-text-color);border-color:var(--ti-button-success-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--success.is-ghost:hover{color:var(--ti-button-success-ghost-hover-text-color);fill:var(--ti-button-success-ghost-hover-text-color);border-color:var(--ti-button-success-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--success.is-ghost.is-active,.tiny-button.tiny-button--success.is-ghost:active,.tiny-button.tiny-button--success.is-ghost:focus{color:var(--ti-button-success-ghost-hover-text-color);fill:var(--ti-button-success-ghost-hover-text-color);border-color:var(--ti-button-success-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--success.is-ghost.is-disabled,.tiny-button.tiny-button--success.is-ghost.is-disabled:active,.tiny-button.tiny-button--success.is-ghost.is-disabled:focus,.tiny-button.tiny-button--success.is-ghost.is-disabled:hover{color:var(--ti-button-success-ghost-disabled-text-color);fill:var(--ti-button-success-ghost-disabled-text-color);border-color:var(--ti-button-success-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--success.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--success.is-loading.is-disabled{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-normal-border-color);background-color:var(--ti-button-success-normal-bg-color)}.tiny-button.tiny-button--warning{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-normal-border-color);background-color:var(--ti-button-warning-normal-bg-color)}.tiny-button.tiny-button--warning:hover{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-hover-border-color);background-color:var(--ti-button-warning-hover-bg-color)}.tiny-button.tiny-button--warning.is-active,.tiny-button.tiny-button--warning:active,.tiny-button.tiny-button--warning:focus{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-active-bg-color);background-color:var(--ti-button-warning-active-bg-color);outline:0}.tiny-button.tiny-button--warning.is-disabled,.tiny-button.tiny-button--warning.is-disabled:active,.tiny-button.tiny-button--warning.is-disabled:focus,.tiny-button.tiny-button--warning.is-disabled:hover{color:var(--ti-button-warning-disabled-text-color);fill:var(--ti-button-warning-disabled-text-color);border-color:var(--ti-button-warning-disabled-border-color);background-color:var(--ti-button-warning-disabled-bg-color)}.tiny-button.tiny-button--warning.is-plain{color:var(--ti-button-warning-plain-text-color);fill:var(--ti-button-warning-plain-text-color);border-color:var(--ti-button-warning-plain-border-color);background-color:var(--ti-button-warning-plain-bg-color)}.tiny-button.tiny-button--warning.is-plain:hover{color:var(--ti-button-warning-plain-hover-text-color);fill:var(--ti-button-warning-plain-hover-text-color);border-color:var(--ti-button-warning-plain-hover-border-color);background-color:var(--ti-button-warning-plain-hover-bg-color)}.tiny-button.tiny-button--warning.is-plain.is-active,.tiny-button.tiny-button--warning.is-plain:active,.tiny-button.tiny-button--warning.is-plain:focus{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-active-bg-color);background-color:var(--ti-button-warning-active-bg-color);outline:0}.tiny-button.tiny-button--warning.is-plain.is-disabled,.tiny-button.tiny-button--warning.is-plain.is-disabled:active,.tiny-button.tiny-button--warning.is-plain.is-disabled:focus,.tiny-button.tiny-button--warning.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-warning-disabled-bg-color);background-color:var(--ti-button-warning-plain-disabled-bg-color)}.tiny-button.tiny-button--warning.is-ghost{color:var(--ti-button-warning-ghost-text-color);fill:var(--ti-button-warning-ghost-text-color);border-color:var(--ti-button-warning-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--warning.is-ghost:hover{color:var(--ti-button-warning-ghost-hover-text-color);fill:var(--ti-button-warning-ghost-hover-text-color);border-color:var(--ti-button-warning-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--warning.is-ghost.is-active,.tiny-button.tiny-button--warning.is-ghost:active,.tiny-button.tiny-button--warning.is-ghost:focus{color:var(--ti-button-warning-ghost-hover-text-color);fill:var(--ti-button-warning-ghost-hover-text-color);border-color:var(--ti-button-warning-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--warning.is-ghost.is-disabled,.tiny-button.tiny-button--warning.is-ghost.is-disabled:active,.tiny-button.tiny-button--warning.is-ghost.is-disabled:focus,.tiny-button.tiny-button--warning.is-ghost.is-disabled:hover{color:var(--ti-button-warning-ghost-disabled-text-color);fill:var(--ti-button-warning-ghost-disabled-text-color);border-color:var(--ti-button-warning-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--warning.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--warning.is-loading.is-disabled{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-normal-border-color);background-color:var(--ti-button-warning-normal-bg-color)}.tiny-button.tiny-button--danger{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-normal-border-color);background-color:var(--ti-button-danger-normal-bg-color)}.tiny-button.tiny-button--danger:hover{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-hover-border-color);background-color:var(--ti-button-danger-hover-bg-color)}.tiny-button.tiny-button--danger.is-active,.tiny-button.tiny-button--danger:active,.tiny-button.tiny-button--danger:focus{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-active-bg-color);background-color:var(--ti-button-danger-active-bg-color);outline:0}.tiny-button.tiny-button--danger.is-disabled,.tiny-button.tiny-button--danger.is-disabled:active,.tiny-button.tiny-button--danger.is-disabled:focus,.tiny-button.tiny-button--danger.is-disabled:hover{color:var(--ti-button-danger-disabled-text-color);fill:var(--ti-button-danger-disabled-text-color);border-color:var(--ti-button-danger-disabled-border-color);background-color:var(--ti-button-danger-disabled-bg-color)}.tiny-button.tiny-button--danger.is-plain{color:var(--ti-button-danger-plain-text-color);fill:var(--ti-button-danger-plain-text-color);border-color:var(--ti-button-danger-plain-border-color);background-color:var(--ti-button-danger-plain-bg-color)}.tiny-button.tiny-button--danger.is-plain:hover{color:var(--ti-button-danger-plain-hover-text-color);fill:var(--ti-button-danger-plain-hover-text-color);border-color:var(--ti-button-danger-plain-hover-border-color);background-color:var(--ti-button-danger-plain-hover-bg-color)}.tiny-button.tiny-button--danger.is-plain.is-active,.tiny-button.tiny-button--danger.is-plain:active,.tiny-button.tiny-button--danger.is-plain:focus{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-active-bg-color);background-color:var(--ti-button-danger-active-bg-color);outline:0}.tiny-button.tiny-button--danger.is-plain.is-disabled,.tiny-button.tiny-button--danger.is-plain.is-disabled:active,.tiny-button.tiny-button--danger.is-plain.is-disabled:focus,.tiny-button.tiny-button--danger.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-danger-disabled-bg-color);background-color:var(--ti-button-danger-plain-disabled-bg-color)}.tiny-button.tiny-button--danger.is-ghost{color:var(--ti-button-danger-ghost-text-color);fill:var(--ti-button-danger-ghost-text-color);border-color:var(--ti-button-danger-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--danger.is-ghost:hover{color:var(--ti-button-danger-ghost-hover-text-color);fill:var(--ti-button-danger-ghost-hover-text-color);border-color:var(--ti-button-danger-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--danger.is-ghost.is-active,.tiny-button.tiny-button--danger.is-ghost:active,.tiny-button.tiny-button--danger.is-ghost:focus{color:var(--ti-button-danger-ghost-hover-text-color);fill:var(--ti-button-danger-ghost-hover-text-color);border-color:var(--ti-button-danger-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--danger.is-ghost.is-disabled,.tiny-button.tiny-button--danger.is-ghost.is-disabled:active,.tiny-button.tiny-button--danger.is-ghost.is-disabled:focus,.tiny-button.tiny-button--danger.is-ghost.is-disabled:hover{color:var(--ti-button-danger-ghost-disabled-text-color);fill:var(--ti-button-danger-ghost-disabled-text-color);border-color:var(--ti-button-danger-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--danger.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--danger.is-loading.is-disabled{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-normal-border-color);background-color:var(--ti-button-danger-normal-bg-color)}.tiny-button.tiny-button--info{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-normal-border-color);background-color:var(--ti-button-info-normal-bg-color)}.tiny-button.tiny-button--info:hover{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-hover-border-color);background-color:var(--ti-button-info-hover-bg-color)}.tiny-button.tiny-button--info.is-active,.tiny-button.tiny-button--info:active,.tiny-button.tiny-button--info:focus{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-active-bg-color);background-color:var(--ti-button-info-active-bg-color);outline:0}.tiny-button.tiny-button--info.is-disabled,.tiny-button.tiny-button--info.is-disabled:active,.tiny-button.tiny-button--info.is-disabled:focus,.tiny-button.tiny-button--info.is-disabled:hover{color:var(--ti-button-info-disabled-text-color);fill:var(--ti-button-info-disabled-text-color);border-color:var(--ti-button-info-disabled-border-color);background-color:var(--ti-button-info-disabled-bg-color)}.tiny-button.tiny-button--info.is-plain{color:var(--ti-button-info-plain-text-color);fill:var(--ti-button-info-plain-text-color);border-color:var(--ti-button-info-plain-border-color);background-color:var(--ti-button-info-plain-bg-color)}.tiny-button.tiny-button--info.is-plain:hover{color:var(--ti-button-info-plain-hover-text-color);fill:var(--ti-button-info-plain-hover-text-color);border-color:var(--ti-button-info-plain-hover-border-color);background-color:var(--ti-button-info-plain-hover-bg-color)}.tiny-button.tiny-button--info.is-plain.is-active,.tiny-button.tiny-button--info.is-plain:active,.tiny-button.tiny-button--info.is-plain:focus{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-active-bg-color);background-color:var(--ti-button-info-active-bg-color);outline:0}.tiny-button.tiny-button--info.is-plain.is-disabled,.tiny-button.tiny-button--info.is-plain.is-disabled:active,.tiny-button.tiny-button--info.is-plain.is-disabled:focus,.tiny-button.tiny-button--info.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-info-disabled-bg-color);background-color:var(--ti-button-info-plain-disabled-bg-color)}.tiny-button.tiny-button--info.is-ghost{color:var(--ti-button-info-ghost-text-color);fill:var(--ti-button-info-ghost-text-color);border-color:var(--ti-button-info-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--info.is-ghost:hover{color:var(--ti-button-info-ghost-hover-text-color);fill:var(--ti-button-info-ghost-hover-text-color);border-color:var(--ti-button-info-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--info.is-ghost.is-active,.tiny-button.tiny-button--info.is-ghost:active,.tiny-button.tiny-button--info.is-ghost:focus{color:var(--ti-button-info-ghost-hover-text-color);fill:var(--ti-button-info-ghost-hover-text-color);border-color:var(--ti-button-info-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--info.is-ghost.is-disabled,.tiny-button.tiny-button--info.is-ghost.is-disabled:active,.tiny-button.tiny-button--info.is-ghost.is-disabled:focus,.tiny-button.tiny-button--info.is-ghost.is-disabled:hover{color:var(--ti-button-info-ghost-disabled-text-color);fill:var(--ti-button-info-ghost-disabled-text-color);border-color:var(--ti-button-info-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--info.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--info.is-loading.is-disabled{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-normal-border-color);background-color:var(--ti-button-info-normal-bg-color)}.tiny-button.tiny-button--text{color:var(--ti-button-text-color);font-size:var(--ti-common-font-size-1);border-color:transparent;background-color:transparent;border-radius:var(--ti-button-text-hover-border-radius);padding:0 var(--ti-button-text-padding-horizontal)}.tiny-button.tiny-button--text:hover{color:var(--ti-button-text-color-hover);font-weight:var(--ti-button-text-hover-weight);border-color:transparent;background-color:transparent}.tiny-button.tiny-button--text.is-active,.tiny-button.tiny-button--text:active,.tiny-button.tiny-button--text:focus{color:var(--ti-button-text-color-active);border-color:transparent;background-color:transparent}.tiny-button.tiny-button--text.is-disabled,.tiny-button.tiny-button--text.is-disabled:active,.tiny-button.tiny-button--text.is-disabled:focus,.tiny-button.tiny-button--text.is-disabled:hover{color:var(--ti-button-text-color-disabled);border-color:transparent;background-color:transparent;font-weight:400}.tiny-button.tiny-button--text:hover{-webkit-text-decoration:var(--ti-button-text-hover-text-decoration);text-decoration:var(--ti-button-text-hover-text-decoration)}.tiny-button.tiny-button--text.is-disabled:hover{text-decoration:none}.tiny-button.tiny-button--text:has(.tiny-svg){padding:0 var(--ti-button-text-svg-padding-horizontal);color:var(--ti-button-text-has-svg-text-color)}.tiny-button.tiny-button--text:has(.tiny-svg):hover{background:var(--ti-button-text-hover-bg-color);border-radius:var(--ti-button-text-hover-border-radius);color:var(--ti-button-text-has-svg-hover-text-color)}.tiny-button.tiny-button--text:has(.tiny-svg):hover .tiny-svg{fill:var(--ti-button-text-svg-hover-fill-color)}.tiny-button.tiny-button--text:has(.tiny-svg).is-disabled{background:0 0;fill:var(--ti-button-text-svg-disabled-fill-color);color:var(--ti-button-text-color-disabled)}.tiny-button.tiny-button--text:has(.tiny-svg).is-disabled .tiny-svg{fill:var(--ti-button-text-svg-disabled-fill-color)}.tiny-button.tiny-button--text:has(.tiny-svg).is-disabled:hover{fill:var(--ti-button-text-svg-disabled-fill-color);background:0 0}.tiny-button.tiny-button--text.is-only-icon:hover{background:var(--ti-button-text-only-icon-hover-bg-color)}.tiny-button.tiny-button--text .tiny-svg{vertical-align:middle;fill:var(--ti-button-text-svg-fill-color)}.tiny-button.tiny-button--text.tiny-button.tiny-button--large{min-width:var(--ti-button-text-size-large-min-width);height:var(--ti-button-text-size-large-height);line-height:calc(var(--ti-button-text-size-large-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--large svg{width:var(--ti-button-text-size-large-svg-width);height:var(--ti-button-text-size-large-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--large.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button.tiny-button--medium{min-width:var(--ti-button-text-size-medium-min-width);height:var(--ti-button-text-size-medium-height);line-height:calc(var(--ti-button-text-size-medium-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--medium svg{width:var(--ti-button-text-size-medium-svg-width);height:var(--ti-button-text-size-medium-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--medium.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button{min-width:var(--ti-button-text-size-default-min-width);height:var(--ti-button-text-size-default-height);line-height:calc(var(--ti-button-text-size-default-height) - 2px)}.tiny-button.tiny-button--text.tiny-button svg{width:var(--ti-button-text-size-default-svg-width);height:var(--ti-button-text-size-default-svg-height)}.tiny-button.tiny-button--text.tiny-button.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button.tiny-button--small{min-width:var(--ti-button-text-size-small-min-width);height:var(--ti-button-text-size-small-height);line-height:calc(var(--ti-button-text-size-small-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--small svg{width:var(--ti-button-text-size-small-svg-width);height:var(--ti-button-text-size-small-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--small.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button.tiny-button--mini{min-width:var(--ti-button-text-size-mini-min-width);height:var(--ti-button-text-size-mini-height);line-height:calc(var(--ti-button-text-size-mini-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--mini svg{width:var(--ti-button-text-size-mini-svg-width);height:var(--ti-button-text-size-mini-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--mini.is-only-icon{min-width:unset}.tiny-button.tiny-button--large{height:var(--ti-button-size-large-height);line-height:calc(var(--ti-button-size-large-height) - 2px);font-size:var(--ti-button-size-large-font-size);padding:0 var(--ti-button-size-large-padding-horizontal);min-width:var(--ti-button-size-large-min-width)}.tiny-button.tiny-button--large.is-round{border-radius:calc(var(--ti-button-size-large-height)/ 2)}.tiny-button.tiny-button--large.is-circle{border-radius:50%}.tiny-button.tiny-button--large+.tiny-button.tiny-button--large{margin-left:var(--ti-button-size-large-margin-left)}.tiny-button.tiny-button--medium{height:var(--ti-button-size-medium-height);line-height:calc(var(--ti-button-size-medium-height) - 2px);font-size:var(--ti-button-size-medium-font-size);padding:0 var(--ti-button-size-medium-padding-horizontal);min-width:var(--ti-button-size-medium-min-width)}.tiny-button.tiny-button--medium.is-round{border-radius:calc(var(--ti-button-size-medium-height)/ 2)}.tiny-button.tiny-button--medium.is-circle{border-radius:50%}.tiny-button.tiny-button--medium+.tiny-button.tiny-button--medium{margin-left:var(--ti-button-size-medium-margin-left)}.tiny-button.tiny-button--small{height:var(--ti-button-size-small-height);line-height:calc(var(--ti-button-size-small-height) - 2px);font-size:var(--ti-button-size-small-font-size);padding:0 var(--ti-button-size-small-padding-horizontal);min-width:var(--ti-button-size-small-min-width)}.tiny-button.tiny-button--small.is-round{border-radius:calc(var(--ti-button-size-small-height)/ 2)}.tiny-button.tiny-button--small.is-circle{border-radius:50%}.tiny-button.tiny-button--small+.tiny-button.tiny-button--small{margin-left:var(--ti-button-size-small-margin-left)}.tiny-button.tiny-button--mini{height:var(--ti-button-size-mini-height);line-height:calc(var(--ti-button-size-mini-height) - 2px);font-size:var(--ti-button-size-mini-font-size);padding:0 var(--ti-button-size-mini-padding-horizontal);min-width:var(--ti-button-size-mini-min-width)}.tiny-button.tiny-button--mini.is-round{border-radius:calc(var(--ti-button-size-mini-height)/ 2)}.tiny-button.tiny-button--mini.is-circle{border-radius:50%}.tiny-icon-loading{font-size:var(--ti-common-font-size-1);line-height:1;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}:root{-webkit-tap-highlight-color:transparent}.tiny-mobile-button{--ti-mobile-button-height-large:40px;--ti-mobile-button-font-size-large:var(--ti-mobile-font-size-m, 14px);--ti-mobile-button-icon-size-large:24px;--ti-mobile-button-padding-large:var(--ti-mobile-space-8x, 32px);--ti-mobile-button-min-width-large:112px;--ti-mobile-button-height-small:28px;--ti-mobile-button-font-size-small:var(--ti-mobile-font-size-s, 12px);--ti-mobile-button-icon-size-small:16px;--ti-mobile-button-padding-small:var(--ti-mobile-space-4x, 15px);--ti-mobile-button-min-width-small:72px;--ti-mobile-button-loading-size:16px;--ti-mobile-button-loading-padding:var(--ti-mobile-space-1x, 4px);--ti-mobile-button-border-width:var(--ti-mobile-border-width, 1px);--ti-mobile-button-loading-size-inner:12px;--ti-mobile-button-loading-padding-size-inner:2px;--ti-mobile-button-text-color-white:var(--ti-mobile-color-text-inverse, #fff);--ti-mobile-button-text-color-danger:var(--ti-mobile-color-error, #f23030);--ti-mobile-button-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-button-text-color-black:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-button-text-color-blue:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-button-border-color:var(--ti-mobile-color-border-default-2, #595959);--ti-mobile-button-bg-color-white:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-button-bg-color-black:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-button-bg-color-disabled:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-button-bg-color-active:var(--ti-mobile-color-bg-primary-active, #595959);position:relative;margin:0;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;border-width:var(--ti-mobile-button-border-width);border-style:solid;-webkit-transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;cursor:pointer;outline:0;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;padding:0 var(--ti-mobile-button-padding-large);height:var(--ti-mobile-button-height-large);min-width:var(--ti-mobile-button-min-width-large);line-height:var(--ti-mobile-button-height-large);font-size:var(--ti-mobile-button-font-size-default)}.tiny-mobile-button--primary{color:var(--ti-mobile-button-text-color-white);background-color:var(--ti-mobile-button-bg-color-black);border-radius:999px;border:none}.tiny-mobile-button--primary.is-active,.tiny-mobile-button--primary:active{background-color:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button--primary.is-disabled{cursor:not-allowed;color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-disabled)}.tiny-mobile-button--primary:hover{background-color:var(--ti-mobile-button-bg-color-black)}.tiny-mobile-button--primary.is-loading{background-color:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button--icon{color:var(--ti-mobile-button-text-color-black);background-color:var(--ti-mobile-button-bg-color-white);min-width:0!important;padding:0!important;line-height:0;border:none}.tiny-mobile-button--icon .is-icon{fill:var(--ti-mobile-button-text-color-black);width:var(--ti-mobile-button-icon-size-large);height:var(--ti-mobile-button-icon-size-large)}.tiny-mobile-button--icon .small{width:var(--ti-mobile-button-icon-size-small);height:var(--ti-mobile-button-icon-size-small)}.tiny-mobile-button--icon.is-active,.tiny-mobile-button--icon:active .is-icon{fill:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button--icon.is-disabled,.tiny-mobile-button--icon.is-disabled .is-icon,.tiny-mobile-button--icon.is-disabled.is-active,.tiny-mobile-button--icon.is-disabled:active{cursor:not-allowed;fill:var(--ti-mobile-button-text-color-disabled)}.tiny-mobile-button--icon.is-disabled{color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-white)}.tiny-mobile-button--danger{color:var(--ti-mobile-button-text-color-danger);background-color:var(--ti-mobile-button-bg-color-white);border-color:var(--ti-mobile-button-text-color-danger);border-radius:999px}.tiny-mobile-button--danger.is-disabled{cursor:not-allowed;color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-disabled);border:none}.tiny-mobile-button--text{color:var(--ti-mobile-button-text-color-blue);background-color:var(--ti-mobile-button-bg-color-white);border:none;min-width:0!important;padding:0!important}.tiny-mobile-button--text.is-disabled{color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-white)}.tiny-mobile-button--secondary{color:var(--ti-mobile-button-text-color-black);background-color:var(--ti-mobile-button-bg-color-white);border-radius:999px}.tiny-mobile-button--secondary.is-disabled{cursor:not-allowed;color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-disabled);border:none}.tiny-mobile-button--small{padding:0 var(--ti-mobile-button-padding-small);height:var(--ti-mobile-button-height-small);min-width:var(--ti-mobile-button-min-width-small);line-height:var(--ti-mobile-button-height-small);font-size:var(--ti-mobile-button-font-size-small)}.tiny-mobile-button--small .is-icon{width:var(--ti-mobile-button-icon-size-small);height:var(--ti-mobile-button-icon-size-small)}.tiny-mobile-button.is-loading{position:relative;pointer-events:none}.tiny-mobile-button.is-loading svg{fill:var(--ti-mobile-button-text-color-white);font-size:var(--ti-mobile-button-font-size-default)}.tiny-mobile-button-loading{width:var(--ti-mobile-button-loading-size);height:var(--ti-mobile-button-loading-size);border-radius:50%;position:relative;float:left;-webkit-animation:rotating 1.5s linear infinite;animation:rotating 1.5s linear infinite;top:calc(50% - 8px);margin-right:var(--ti-mobile-button-loading-padding)}.tiny-mobile-button-loading-white{background-image:conic-gradient(rgba(255,255,255,0),#fff)}.tiny-mobile-button-loading-white .tiny-mobile-button-loading-inner{background:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button-loading-black{background-image:conic-gradient(rgba(0,0,0,0),#000)}.tiny-mobile-button-loading-black .tiny-mobile-button-loading-inner{background:var(--ti-mobile-button-bg-color-white)}.tiny-mobile-button-loading-inner{width:var(--ti-mobile-button-loading-size-inner);height:var(--ti-mobile-button-loading-size-inner);border-radius:50%;position:absolute;top:var(--ti-mobile-button-loading-padding-size-inner);left:var(--ti-mobile-button-loading-padding-size-inner)}.tiny-popover.tiny-popper{--ti-popover-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-popover-bg-color:var(--ti-common-color-light, #fff);--ti-popover-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-popover-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-popover-border-radius:var(--ti-common-border-radius-1, 4px);--ti-popover-font-size:var(--ti-common-font-size-1, 14px);--ti-popover-line-height:1.4;--ti-popover-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-popover-title-font-size:var(--ti-common-font-size-2, 16px);--ti-popover-arrow-border-width:calc(var(--ti-common-border-weight-2, 3px) * 2);--ti-popover-arrow-height:var(--ti-popover-arrow-border-width);--ti-popover-placement-margin-vertical:var(--ti-common-space-3x, 12px);--ti-popover-placement-margin-horizontal:var(--ti-common-space-3x, 12px);--ti-popover-placement-arrow-after-border-color:var(--ti-common-color-light, #fff);--ti-popover-box-shadow:var(--ti-common-shadow-1-down, 0 1px 4px 0 rgba(0, 0, 0, .1));--ti-popover-arrow-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-popover-padding-vertical:var(--ti-common-space-3x, 12px);--ti-popover-padding-horizontal:var(--ti-common-space-4x, 16px);position:absolute;background:var(--ti-popover-bg-color);color:var(--ti-popover-text-color);border-radius:var(--ti-popover-border-radius);border:1px solid var(--ti-popover-border-color);padding:var(--ti-popover-padding-vertical) var(--ti-popover-padding-horizontal);z-index:2000;line-height:var(--ti-popover-line-height);text-align:justify;font-size:var(--ti-popover-font-size);font-family:var(--ti-popover-font-family);-webkit-box-shadow:var(--ti-popover-box-shadow);box-shadow:var(--ti-popover-box-shadow);word-break:break-all}.tiny-popover.tiny-popper .popper__arrow,.tiny-popover.tiny-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tiny-popover.tiny-popper .popper__arrow,.tiny-popover.tiny-popper .tiny-popper .popper__arrow{border-width:var(--ti-popover-arrow-border-width);-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.tiny-popover.tiny-popper .popper__arrow:after{content:" ";border-width:var(--ti-popover-arrow-border-width)}.tiny-popover.tiny-popper[x-placement^=top]{margin-bottom:var(--ti-popover-placement-margin-vertical)}.tiny-popover.tiny-popper[x-placement^=top] .popper__arrow{bottom:calc(var(--ti-popover-arrow-height) * -1);left:50%;border-top-color:var(--ti-popover-arrow-border-color);border-bottom-width:0;border-top-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:var(--ti-popover-placement-arrow-after-border-color);border-bottom-width:0}.tiny-popover.tiny-popper[x-placement^=bottom]{margin-top:var(--ti-popover-placement-margin-vertical)}.tiny-popover.tiny-popper[x-placement^=bottom] .popper__arrow{top:calc(var(--ti-popover-arrow-height) * -1);left:50%;border-top-width:0;border-bottom-color:var(--ti-popover-arrow-border-color);border-bottom-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:var(--ti-popover-placement-arrow-after-border-color)}.tiny-popover.tiny-popper[x-placement^=right]{margin-left:var(--ti-popover-placement-margin-horizontal)}.tiny-popover.tiny-popper[x-placement^=right] .popper__arrow{top:50%;left:calc(var(--ti-popover-arrow-height) * -1);border-right-color:var(--ti-popover-arrow-border-color);border-left-width:0;border-right-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:var(--ti-popover-placement-arrow-after-border-color);border-left-width:0}.tiny-popover.tiny-popper[x-placement^=left]{margin-right:var(--ti-popover-placement-margin-horizontal)}.tiny-popover.tiny-popper[x-placement^=left] .popper__arrow{top:50%;right:calc(var(--ti-popover-arrow-height) * -1);border-right-width:0;border-left-color:var(--ti-popover-arrow-border-color);border-left-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:var(--ti-popover-placement-arrow-after-border-color)}.tiny-popover.tiny-popper .tiny-popover__plain{padding:18px 20px}.tiny-popover.tiny-popper .tiny-popover__title{color:var(--ti-popover-title-text-color);font-size:var(--ti-popover-title-font-size);line-height:1;margin-bottom:12px}.tiny-popover.tiny-popper .tiny-popover__reference:focus:hover,.tiny-popover.tiny-popper .tiny-popover__reference:focus:not(.focusing),.tiny-popover.tiny-popper:focus,.tiny-popover.tiny-popper:focus:active{outline-width:0}.tiny-popover__reference{display:inline-block}.tiny-mobile-popover.tiny-mobile-popper{--ti-mobile-popover-bg-color:var(--ti-mobile-base-color-light, #ffffff);--ti-mobile-popover-text-color:#606266;--ti-mobile-popover-border-color:#d9d9d9;--ti-mobile-popover-border-radius:4%;--ti-mobile-popover-font-size:var(--ti-mobile-common-font-size-1, 14px);--ti-mobile-popover-font-size-weaken:10px;--ti-mobile-popover-title-text-color:#303133;--ti-mobile-popover-title-font-size:var(--ti-mobile-common-font-size-2, 16px);--ti-mobile-popover-arrow-border-weight:6px;--ti-mobile-popover-placement-margin-vertical:var(--ti-mobile-common-space-3x, 12px);--ti-mobile-popover-placement-margin-horizontal:var(--ti-mobile-common-space-3x, 12px);--ti-mobile-popover-arrow-after-border-color:var(--ti-mobile-base-color-light, #ffffff);--ti-mobile-popover-box-shadow:0px 1px 12px 0px rgba(37, 43, 58, .08);--ti-mobile-popover-arrow-border-color:var(--ti-mobile-popover-border-color, #d9d9d9);--ti-mobile-popover-padding-vertical:4px;--ti-mobile-popover-icon-size:24px;--ti-mobile-popover-icon-margin-right:12px;--ti-mobile-popover-label-text-color-weaken:var(--ti-mobile-common-color-text-weaken-dark, #999999);--ti-mobile-popover-line-bg-color:#eeeeee;--ti-mobile-popover-list-padding-left:20px;--ti-mobile-popover-list-bg-color-active:#f5f5f5;position:absolute;background:var(--ti-mobile-popover-bg-color);color:var(--ti-mobile-popover-text-color);border-radius:var(--ti-mobile-popover-border-radius);padding:var(--ti-mobile-popover-padding-vertical) 0;z-index:2000;line-height:1.4;text-align:justify;font-size:var(--ti-mobile-popover-font-size);-webkit-box-shadow:var(--ti-mobile-popover-box-shadow);box-shadow:var(--ti-mobile-popover-box-shadow);word-break:break-all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-mobile-popover.tiny-mobile-popper .popper__arrow,.tiny-mobile-popover.tiny-mobile-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tiny-mobile-popover.tiny-mobile-popper .popper__arrow,.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popper .popper__arrow{border-width:var(--ti-mobile-popover-arrow-border-weight);-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.tiny-mobile-popover.tiny-mobile-popper .popper__arrow:after{content:" ";border-width:var(--ti-mobile-popover-arrow-border-weight)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=top]{margin-bottom:var(--ti-mobile-popover-placement-margin-vertical)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:var(--ti-mobile-popover-arrow-border-color);border-bottom-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:var(--ti-mobile-popover-arrow-after-border-color);border-bottom-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=bottom]{margin-top:var(--ti-mobile-popover-placement-margin-vertical)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:var(--ti-mobile-popover-arrow-border-color)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:var(--ti-mobile-popover-arrow-after-border-color)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=right]{margin-left:var(--ti-mobile-popover-placement-margin-horizontal)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:var(--ti-mobile-popover-arrow-border-color);border-left-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:var(--ti-mobile-popover-arrow-after-border-color);border-left-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=left]{margin-right:var(--ti-mobile-popover-placement-margin-horizontal)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:var(--ti-mobile-popover-arrow-border-color)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:var(--ti-mobile-popover-arrow-after-border-color)}.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__plain{padding:18px 20px}.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__title{color:var(--ti-mobile-popover-title-text-color);font-size:var(--ti-mobile-popover-title-font-size);line-height:1;margin-bottom:12px}.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__reference:focus:hover,.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__reference:focus:not(.focusing),.tiny-mobile-popover.tiny-mobile-popper:focus,.tiny-mobile-popover.tiny-mobile-popper:focus:active{outline-width:0}.tiny-mobile-popover.tiny-mobile-popper .list-content{overflow-y:auto}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;padding-left:var(--ti-mobile-popover-list-padding-left);height:48px}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view:active{background:var(--ti-mobile-popover-list-bg-color-active)}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .icon{margin-right:var(--ti-mobile-popover-icon-margin-right);width:var(--ti-mobile-popover-icon-size);height:var(--ti-mobile-popover-icon-size)}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .label-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .label-view .main{color:var(--ti-mobile-common-color-text-primary,#191919);font-size:var(--ti-mobile-popover-font-size,14px);margin-right:30px}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .label-view .sub{color:var(--ti-mobile-popover-label-text-color-weaken,#999);font-size:var(--ti-mobile-popover-font-size-weaken,10px);margin-top:4px;margin-right:30px}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .line{position:absolute;height:1px;bottom:0;right:0;width:calc(100% - var(--ti-mobile-popover-icon-size) - var(--ti-mobile-popover-icon-margin-right) - var(--ti-mobile-popover-list-padding-left));background:var(--ti-mobile-popover-line-bg-color,#eee)}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view-height{height:68px}.tiny-mobile-popover__reference{display:inline-block}.tiny-tooltip{--ti-tooltip-popper-border-width:6px;--ti-tooltip-popper-neg-border-width:calc(var(--ti-tooltip-popper-border-width) * -1);--ti-tooltip-popper-font-line-height:var(--ti-common-line-height-3, 18px);--ti-tooltip-popper-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-tooltip-popper-border-radius:var(--ti-common-border-radius-1, 4px);--ti-tooltip-popper-font-size:var(--ti-common-font-size-base, 12px);--ti-tooltip-popper-border-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-normal-bg-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-normal-text-color:var(--ti-tooltip-popper-dark-text-color);--ti-tooltip-popper-normal-border-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-info-bg-color:var(--ti-common-color-prompt-border, #beccfa);--ti-tooltip-popper-info-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-info-border-color:var(--ti-common-color-prompt-border, #beccfa);--ti-tooltip-popper-error-bg-color:var(--ti-common-color-danger-normal, #c7000b);--ti-tooltip-popper-error-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-error-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-tooltip-popper-warning-bg-color:var(--ti-common-color-warning-normal, #fa9841);--ti-tooltip-popper-warning-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-warning-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-tooltip-popper-success-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-tooltip-popper-success-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-success-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-tooltip-popper-dark-bg-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-dark-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-light-bg-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-light-text-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-light-border-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-box-shadow:var(--ti-common-shadow-3-down, 0 4px 16px 0 rgba(0, 0, 0, .2));--ti-tooltip-padding-vertical:var(--ti-common-space-3x, 12px);--ti-tooltip-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-tooltip-validate-icon-color:var(--ti-common-color-error, #f66f6a);font-family:var(--ti-tooltip-popper-font-family)}.tiny-tooltip:focus:hover,.tiny-tooltip:focus:not(.focusing){outline-width:0}.tiny-tooltip.tiny-tooltip__popper{position:absolute;left:-9999px;border-radius:var(--ti-tooltip-popper-border-radius);padding:var(--ti-tooltip-padding-vertical) var(--ti-tooltip-padding-horizontal);font-size:var(--ti-tooltip-popper-font-size);line-height:var(--ti-tooltip-popper-font-line-height);min-width:10px;max-width:450px;z-index:2000;word-wrap:break-word;-webkit-box-shadow:var(--ti-tooltip-box-shadow);box-shadow:var(--ti-tooltip-box-shadow)}.tiny-tooltip.tiny-tooltip__popper .popper__arrow,.tiny-tooltip.tiny-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tiny-tooltip.tiny-tooltip__popper .popper__arrow{border-width:var(--ti-tooltip-popper-border-width)}.tiny-tooltip.tiny-tooltip__popper .popper__arrow:after{content:" ";border-width:var(--ti-tooltip-popper-border-width)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=top]{margin-bottom:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=top] .popper__arrow{bottom:var(--ti-tooltip-popper-neg-border-width);border-top-color:var(--ti-tooltip-popper-border-color);border-bottom-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:var(--ti-tooltip-popper-neg-border-width);border-top-color:var(--ti-tooltip-popper-border-color);border-bottom-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom]{margin-top:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom] .popper__arrow{top:var(--ti-tooltip-popper-neg-border-width);border-top-width:0;border-bottom-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:var(--ti-tooltip-popper-neg-border-width);border-top-width:0;border-bottom-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=right]{margin-left:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=right] .popper__arrow{left:var(--ti-tooltip-popper-neg-border-width);border-right-color:var(--ti-tooltip-popper-border-color);border-left-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:var(--ti-tooltip-popper-neg-border-width);left:1px;border-right-color:var(--ti-tooltip-popper-border-color);border-left-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=left]{margin-right:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=left] .popper__arrow{right:var(--ti-tooltip-popper-neg-border-width);border-right-width:0;border-left-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:var(--ti-tooltip-popper-neg-border-width);margin-left:var(--ti-tooltip-popper-neg-border-width);border-right-width:0;border-left-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal{background:var(--ti-tooltip-popper-normal-bg-color);color:var(--ti-tooltip-popper-normal-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=top] .popper__arrow:after{border-top-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=bottom] .popper__arrow:after{border-bottom-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=left] .popper__arrow:after{border-left-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=right] .popper__arrow:after{border-right-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info{background:var(--ti-tooltip-popper-info-bg-color);color:var(--ti-tooltip-popper-info-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=top] .popper__arrow:after{border-top-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=bottom] .popper__arrow:after{border-bottom-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=left] .popper__arrow:after{border-left-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=right] .popper__arrow:after{border-right-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error{background:var(--ti-tooltip-popper-error-bg-color);color:var(--ti-tooltip-popper-error-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=top] .popper__arrow:after{border-top-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=bottom] .popper__arrow:after{border-bottom-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=left] .popper__arrow:after{border-left-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=right] .popper__arrow:after{border-right-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error .tooltip-validate-icon{fill:var(--ti-tooltip-validate-icon-color);margin-right:8px}.tiny-tooltip.tiny-tooltip__popper.is-warning{background:var(--ti-tooltip-popper-warning-bg-color);color:var(--ti-tooltip-popper-warning-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=top] .popper__arrow:after{border-top-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=bottom] .popper__arrow:after{border-bottom-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=left] .popper__arrow:after{border-left-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=right] .popper__arrow:after{border-right-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success{background:var(--ti-tooltip-popper-success-bg-color);color:var(--ti-tooltip-popper-success-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=top] .popper__arrow:after{border-top-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=bottom] .popper__arrow:after{border-bottom-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=left] .popper__arrow:after{border-left-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=right] .popper__arrow:after{border-right-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-dark{background:var(--ti-tooltip-popper-dark-bg-color);color:var(--ti-tooltip-popper-dark-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-light{background:var(--ti-tooltip-popper-light-bg-color);color:var(--ti-tooltip-popper-light-text-color);border:1px solid var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-blank-content{display:none}.tiny-mobile-action-sheet{--ti-mobile-action-sheet-content-bg-color:#fff;--ti-mobile-action-sheet-menu-bg-color:var(--ti-mobile-base-color-light, #fff);--ti-mobile-action-sheet-item-text-color:var(--ti-mobile-base-color-info-normal, #333);--ti-mobile-action-sheet-item-warn-text-color:#f36f64;--ti-mobile-action-sheet-item-font-size:12px;--ti-mobile-action-sheet-item-border-color:#ddd;--ti-mobile-action-sheet-item-active-bg-color:#ececec;--ti-mobile-action-sheet-item-active-text-color:#039be5;--ti-mobile-action-sheet-action-bg-color:var(--ti-mobile-base-color-light, #fff);position:relative;height:100%}.tiny-mobile-action-sheet__mask{top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);z-index:1000}.tiny-mobile-action-sheet__content{bottom:0;left:0;width:100%;background-color:var(--ti-mobile-action-sheet-content-bg-color,#fff);-webkit-transform:translate(0,100%);transform:translateY(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;z-index:500;overflow-y:scroll;border-radius:16px 16px 0 0}.tiny-mobile-action-sheet__content.is-toggle{-webkit-transform:translate(0,0);transform:translate(0)}.tiny-mobile-action-sheet__content.is-not-content{z-index:2000}.tiny-mobile-action-sheet__menu{background-color:var(--ti-mobile-action-sheet-menu-bg-color,#fff)}.tiny-mobile-action-sheet__menu.is-ellipsis .tiny-mobile-action-sheet__item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:0}.tiny-mobile-action-sheet__cancel,.tiny-mobile-action-sheet__item{position:relative;height:40px;line-height:40px;padding:0 16px;color:var(--ti-mobile-action-sheet-item-text-color,#333);font-size:var(--ti-mobile-action-sheet-item-font-size,16px);text-align:center}.tiny-mobile-action-sheet__item:active{background-color:var(--ti-mobile-action-sheet-item-active-bg-color,#ececec)}.tiny-mobile-action-sheet__item.is-active{color:var(--ti-mobile-action-sheet-item-active-text-color,#039be5)}.tiny-mobile-action-sheet__menu .tiny-mobile-action-sheet__item{height:unset;line-height:16px;padding:16px;font-family:PingFang SC,PingFang SC-PingFang SC}.tiny-mobile-action-sheet__item:not(:first-child){border-top:1px solid var(--ti-mobile-action-sheet-item-border-color,#ddd)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-action-sheet__item:not(:first-child){border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-action-sheet__item:not(:first-child):before{content:"";z-index:1;display:block;background-color:var(--ti-mobile-action-sheet-item-border-color,#ddd);position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-action-sheet__item:not(:first-child):before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-action-sheet__item:not(:first-child).is-warn{color:var(--ti-mobile-action-sheet-item-warn-text-color,#f36f64)}.tiny-mobile-action-sheet__action{width:100%;position:absolute;background-color:var(--ti-mobile-action-sheet-action-bg-color,#fff)}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .6s;transition:opacity .6s}.fade-enter,.fade-leave-to{opacity:0}.tiny-drawer{--ti-drawer-min-width:calc(var(--ti-common-space-10, 10px) * 50);--ti-drawer-max-width:calc(var(--ti-common-space-10, 10px) * 100);--ti-drawer-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-drawer-padding-left:var(--ti-common-space-8x, 32px);--ti-drawer-padding-right:var(--ti-common-space-10x, 40px);--ti-drawer-mask-bg-color:rgba(0, 0, 0, .3);--ti-drawer-shadow:var(--ti-common-shadow-4-down, 0 8px 40px 0 rgba(0, 0, 0, .2));--ti-drawer-divider-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-drawer-radius:var(--ti-common-space-0, 0);--ti-drawer-mask-bg-color:var(--ti-mobile-color-bg-mask);--ti-drawer-header-padding-top:var(--ti-common-space-8x, 32px);--ti-drawer-header-padding-bottom:var(--ti-common-space-5x, 20px);--ti-drawer-header-padding-left:var(--ti-common-space-0, 0);--ti-drawer-body-padding-right:var(--ti-common-space-0, 0);--ti-drawer-head-title-font-size:var(--ti-common-font-size-2, 16px);--ti-drawer-head-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-drawer-head-title-font-weight:var(--ti-common-font-weight-7, bold);--ti-drawer-head-title-text-color:var(--ti-common-text-primary, #252b3a);--ti-drawer-btn-width:var(--ti-common-size-8x, 32px);--ti-drawer-btn-height:var(--ti-drawer-btn-width);--ti-drawer-close-icon-size:var(--ti-common-font-size-1, 14px);--ti-drawer-btn-border-radius:var(--ti-common-border-radius-1, 4px);--ti-drawer-close-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-drawer-close-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-drawer-btn-position-top:var(--ti-common-space-5x, 20px);--ti-drawer-btn-position-right:var(--ti-common-space-5x, 20px);--ti-drawer-help-icon-margin-left:var(--ti-common-space-2x, 8px);--ti-drawer-help-icon-width-height:var(--ti-common-space-4x, 16px);--ti-drawer-help-icon-color:var(--ti-common-color-info, #252b3a);--ti-drawer-body-padding-top:var(--ti-common-space-0, 0);--ti-drawer-body-padding-bottom:var(--ti-common-space-0, 0);--ti-drawer-body-padding-left:var(--ti-common-space-0, 0);--ti-drawer-header-padding-right:var(--ti-common-space-0, 0);--ti-drawer-divider-body-border-color:var(--ti-common-color-transparent);--ti-drawer-footer-justify-content:flex-end;--ti-drawer-footer-padding-top:var(--ti-common-space-5x, 20px);--ti-drawer-footer-padding-bottom:var(--ti-common-space-8x, 32px);--ti-drawer-footer-padding-left:var(--ti-common-space-0, 0);--ti-drawer-footer-padding-right:var(--ti-common-space-0, 0);--ti-drawer-footer-margin-left:var(--ti-common-space-8x, 32px);--ti-drawer-footer-margin-right:var(--ti-common-space-10x, 40px);--ti-drawer-divider-footer-button-margin-left:var(--ti-common-space-2x, 8px);--ti-drawer-divider-footer-border-color:var(--ti-drawer-divider-border-color, #dfe1e6)}.tiny-drawer .tiny-drawer__mask{width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.tiny-drawer .tiny-drawer__mask.show-bg-color{background-color:var(--ti-drawer-mask-bg-color)}.tiny-drawer .tiny-drawer__main{position:fixed;width:100%;max-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border-color:#e8ebef;border-style:solid;-webkit-box-shadow:var(--ti-drawer-shadow);box-shadow:var(--ti-drawer-shadow);overflow:hidden}.tiny-drawer .tiny-drawer__main.drag-effects{-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:all;transition-property:all}.tiny-drawer .tiny-drawer__main.is-left,.tiny-drawer .tiny-drawer__main.is-right{height:100%}.tiny-drawer .tiny-drawer__main.is-bottom,.tiny-drawer .tiny-drawer__main.is-top{max-height:100%}.tiny-drawer .tiny-drawer__main.is-right{top:0;right:0;border-left-width:.5px;border-radius:var(--ti-drawer-radius) 0 0 var(--ti-drawer-radius)}.tiny-drawer .tiny-drawer__main.is-left{top:0;left:0;border-right-width:.5px;border-radius:0 var(--ti-common-border-radius-2) var(--ti-common-border-radius-2) 0}.tiny-drawer .tiny-drawer__main.is-top{top:0;left:0;border-bottom-width:.5px;border-radius:0 0 var(--ti-common-border-radius-2) var(--ti-common-border-radius-2)}.tiny-drawer .tiny-drawer__main.is-bottom{bottom:0;left:0;border-top-width:.5px;border-radius:var(--ti-common-border-radius-2) var(--ti-common-border-radius-2) 0 0}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar{position:absolute;top:0;width:.5rem;height:100%}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-top-Bottom{width:100%;height:8px;left:0;cursor:n-resize}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-left-Right{height:100%;top:0;width:8px;cursor:e-resize}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-left{right:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-right{left:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-top{bottom:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-bottom{top:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__box{-webkit-box-flex:1;-ms-flex:auto;flex:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer,.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header{margin-left:var(--ti-drawer-padding-left);margin-right:var(--ti-drawer-padding-right)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn{border:none;outline:0;background:0 0;padding:0;line-height:1;position:absolute;top:calc(var(--ti-drawer-btn-position-top) - (var(--ti-drawer-btn-height) - var(--ti-drawer-close-icon-size))/ 2);right:calc(var(--ti-drawer-btn-position-right) - (var(--ti-drawer-btn-width) - var(--ti-drawer-close-icon-size))/ 2);cursor:pointer;height:var(--ti-drawer-btn-height);width:var(--ti-drawer-btn-width)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn:hover{background-color:var(--ti-drawer-btn-background-color-hover);border-radius:var(--ti-drawer-btn-border-radius)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn+.tiny-drawer__headerbtn{margin-left:8px}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn .tiny-drawer__close{font-size:var(--ti-drawer-close-icon-size);fill:var(--ti-drawer-close-icon-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header{padding:var(--ti-drawer-header-padding-top) var(--ti-drawer-header-padding-right) var(--ti-drawer-header-padding-bottom) var(--ti-drawer-header-padding-left);background:var(--ti-drawer-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid var(--ti-drawer-divider-border-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__title{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ti-drawer-head-title-font-size);color:var(--ti-drawer-head-title-text-color);font-weight:var(--ti-drawer-head-title-font-weight)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__header-left{max-width:80%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:16px}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__header-left .tiny-drawer__help-icon{width:var(--ti-drawer-help-icon-width-height);height:var(--ti-drawer-help-icon-width-height);margin-left:var(--ti-drawer-help-icon-margin-left);fill:var(--ti-drawer-help-icon-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__header-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__body{-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:auto;padding-left:var(--ti-drawer-padding-left);padding-right:var(--ti-drawer-padding-right);border-bottom:1px solid var(--ti-drawer-divider-body-border-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer{-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:var(--ti-drawer-footer-justify-content);-ms-flex-pack:var(--ti-drawer-footer-justify-content);justify-content:var(--ti-drawer-footer-justify-content);padding:var(--ti-drawer-footer-padding-top) var(--ti-drawer-footer-padding-right) var(--ti-drawer-footer-padding-bottom) var(--ti-drawer-footer-padding-left);border-top:1px solid var(--ti-drawer-divider-footer-border-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__confirm-btn{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__confirm-btn.reverse,.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__cancel-btn{margin-left:var(--ti-drawer-divider-footer-button-margin-left);-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__cancel-btn.reverse{margin-left:0;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.drawer-slide-right-enter-active{-webkit-animation:slideRight .3s linear;animation:slideRight .3s linear}.drawer-slide-right-leave-active{-webkit-animation:slideRightout .3s linear;animation:slideRightout .3s linear}@-webkit-keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}}@keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translate(50%)}to{opacity:0;-webkit-transform:translateX(100%);transform:translate(100%)}}.drawer-slide-left-enter-active{-webkit-animation:slideLeft .3s linear;animation:slideLeft .3s linear}.drawer-slide-left-leave-active{-webkit-animation:slideLeftout .3s linear;animation:slideLeftout .3s linear}@-webkit-keyframes slideLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translate(-50%)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translate(-50%)}to{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideLeftout{0%{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translate(-50%)}to{opacity:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}}@keyframes slideLeftout{0%{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translate(-50%)}to{opacity:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}}.drawer-slide-bottom-enter-active{-webkit-animation:slideBottom .3s linear;animation:slideBottom .3s linear}.drawer-slide-bottom-leave-active{-webkit-animation:slideBottomout .3s linear;animation:slideBottomout .3s linear}@-webkit-keyframes slideBottom{0%{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideBottom{0%{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes slideBottomout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideBottomout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(100%);transform:translateY(100%)}}.drawer-slide-top-enter-active{-webkit-animation:slideTop .3s linear;animation:slideTop .3s linear}.drawer-slide-top-leave-active{-webkit-animation:slideTopout .3s linear;animation:slideTopout .3s linear}@-webkit-keyframes slideTop{0%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideTop{0%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes slideTopout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideTopout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.drawer-fade-enter-active{-webkit-animation:drawer-fade-in .3s linear;animation:drawer-fade-in .3s linear}.drawer-fade-leave-active{-webkit-animation:drawer-fade-out .3s linear;animation:drawer-fade-out .3s linear}@-webkit-keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes drawer-fade-out{0%{opacity:1}to{opacity:0}}@keyframes drawer-fade-out{0%{opacity:1}to{opacity:0}}.tiny-tall-storage{--ti-tall-storage-bg-color:var(--ti-common-color-light, #fff);--ti-tall-storage-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tall-storage-item-height:var(--ti-common-size-height-normal, 28px);--ti-tall-storage-item-bg-color:var(--ti-common-color-hover-background, #f2f5fc);position:relative}.tiny-tall-storage .tiny-storage-list-style{position:absolute;background-color:var(--ti-tall-storage-bg-color);-webkit-box-shadow:var(--ti-common-shadow-2-down);box-shadow:var(--ti-common-shadow-2-down);border-radius:var(--ti-tall-storage-border-radius);width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:10}.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list{padding:0;list-style:none;overflow-y:auto;max-height:calc(var(--ti-tall-storage-item-height) * 5)}.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list .tiny-storage-item{height:var(--ti-tall-storage-item-height);line-height:var(--ti-tall-storage-item-height);padding:0 8px;white-space:nowrap}.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list .tiny-storage-item.item-hover,.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list .tiny-storage-item:hover{cursor:pointer;background-color:var(--ti-tall-storage-item-bg-color)}.tiny-input{--ti-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-input-bg-color:var(--ti-common-color-icon-white, #fff);--ti-input-font-size:var(--ti-common-font-size-base, 12px);--ti-input-count-font-size:var(--ti-common-font-size-base, 12px);--ti-input-height:var(--ti-common-size-height-normal, 28px);--ti-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-input-hover-border-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-input-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-focus-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-suffix-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-input-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-input-medium-height:var(--ti-common-size-height-medium, 40px);--ti-input-small-height:var(--ti-common-size-height-small, 32px);--ti-input-mini-height:var(--ti-common-size-height-mini, 24px);--ti-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-input-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-input-exceed-text-color:var(--ti-common-bg-primary, #c7000b);--ti-input-clear-text-color:var(--ti-common-color-icon-graybg-normal, #adb0b8);--ti-input-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-input-icon-close-text-color:var(--ti-common-color-icon-graybg-active, #5e7ce0);--ti-input-clear-text-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-input-textarea-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-textarea-padding-vertical:var(--ti-common-space-2x, 8px);--ti-input-textarea-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-padding-vertical:var(--ti-common-space-0, 0px);--ti-input-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-suffix-padding-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-padding-left:var(--ti-common-space-2x, 8px);--ti-input-prefix-padding-right:calc(var(--ti-common-space-8x, 32px) - 4px);--ti-input-prefix-padding-left:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-right:var(--ti-common-space-2x, 8px);--ti-input-count-textlength-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-suffix-icon-width:1em;--ti-input-suffix-icon-height:1em;--ti-input-placeholder-color:var(--ti-common-color-placeholder, #adb0b8);position:relative;font-size:var(--ti-input-font-size);display:inline-table;width:100%}.tiny-input::-webkit-scrollbar{z-index:11;width:6px}.tiny-input::-webkit-scrollbar:horizontal{height:6px}.tiny-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.tiny-input::-webkit-scrollbar-corner{background:#fff}.tiny-input::-webkit-scrollbar-track{background:#fff}.tiny-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.tiny-input.is-exceed .tiny-input__suffix .tiny-input__count,.tiny-input.is-exceed .tiny-input__suffix .tiny-input__count-text-length{color:var(--ti-input-exceed-text-color)}.tiny-input.is-disabled .tiny-input__inner{cursor:not-allowed;border:1px solid var(--ti-input-disabled-border-color);color:var(--ti-input-disabled-text-color);background:var(--ti-input-disabled-bg-color)}.tiny-input.is-disabled .tiny-input__inner::-moz-placeholder{color:var(--ti-input-placeholder-color);opacity:1}.tiny-input.is-disabled .tiny-input__inner:-ms-input-placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner::-webkit-input-placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner::-ms-input-placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner::placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner.tiny-input__mask{font-family:serif;color:#999}.tiny-input.is-disabled .tiny-input__icon{cursor:not-allowed}.tiny-input.is-disabled .tiny-input__icon.tiny-svg,.tiny-input.is-disabled .tiny-input__icon.tiny-svg:hover,.tiny-input.is-disabled .tiny-input__prefix .tiny-svg,.tiny-input.is-disabled .tiny-input__prefix .tiny-svg:hover,.tiny-input.is-disabled .tiny-input__suffix .tiny-svg,.tiny-input.is-disabled .tiny-input__suffix .tiny-svg:hover{fill:var(--ti-input-disabled-text-color)}.tiny-input.is-exceed .tiny-input__inner{border-color:var(--ti-input-exceed-text-color)}.tiny-input .tiny-input__clear{font-size:var(--ti-input-icon-font-size);cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.tiny-input .tiny-input__clear,.tiny-input .tiny-input__clear:hover{fill:var(--ti-input-icon-close-text-color)}.tiny-input .tiny-input__count{height:100%;position:absolute;right:-1px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-input-count-color);font-size:var(--ti-input-count-font-size)}.tiny-input .tiny-input__count .tiny-input__count-inner{white-space:nowrap;background:var(--ti-input-bg-color);line-height:initial;display:inline-block}.tiny-input .tiny-input__count-text-length{color:var(--ti-input-count-textlength-color)}.tiny-input__inner{width:100%;border:1px solid var(--ti-input-border-color);border-radius:var(--ti-input-border-radius);color:var(--ti-input-text-color);background:var(--ti-input-bg-color);font-size:var(--ti-input-font-size);height:var(--ti-input-height);line-height:var(--ti-input-height);padding:var(--ti-input-padding-vertical) var(--ti-input-padding-horizontal);outline:0;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.tiny-input__inner::-moz-placeholder{color:var(--ti-input-placeholder-text-color);opacity:1}.tiny-input__inner:-ms-input-placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner::-webkit-input-placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner::-ms-input-placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner::placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner:active,.tiny-input__inner:focus,.tiny-input__inner:hover{outline:0;border-color:var(--ti-input-hover-border-color)}.tiny-input__inner:focus~.tiny-input__suffix svg{fill:var(--ti-input-focus-icon-color)}.tiny-input__inner::-ms-clear{display:none;width:0;height:0}.tiny-input__prefix,.tiny-input__suffix{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .3s;transition:all .3s;text-align:center;color:var(--ti-input-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-input__prefix svg,.tiny-input__suffix svg{fill:var(--ti-input-suffix-icon-color)}.tiny-input.is-active .tiny-input__inner,.tiny-input__inner:focus{border-color:var(--ti-input-active-border-color);outline:0}.tiny-input__suffix{right:var(--ti-input-suffix-right);-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.tiny-input__suffix:hover{cursor:pointer}.tiny-input__suffix-inner{pointer-events:all;font-size:var(--ti-common-font-size-1);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-input__suffix-inner:hover svg{fill:var(--ti-input-focus-icon-color)}.tiny-input__prefix{left:8px;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-input-icon-font-size)}.tiny-input__prefix>div{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-input__icon{height:100%;line-height:var(--ti-input-height);text-align:center;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-input-icon-font-size);fill:var(--ti-input-icon-color);width:var(--ti-input-suffix-icon-width);height:var(--ti-input-suffix-icon-height)}.tiny-input__icon:hover{fill:var(--ti-input-icon-active-border-color)}.tiny-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.tiny-input__icon .svg-operationfaild,.tiny-input__icon .svg-operationfaild:hover{fill:var(--ti-input-icon-close-text-color)}.tiny-input__validateIcon{pointer-events:none}.tiny-input-suffix .tiny-input__inner{padding-right:var(--ti-input-suffix-padding-right);padding-left:var(--ti-input-suffix-padding-left)}.tiny-input-prefix .tiny-input__inner{padding-left:var(--ti-input-prefix-padding-left);padding-right:var(--ti-input-prefix-padding-right)}.tiny-input-word-limit .tiny-input__inner{padding-right:56px;padding-left:8px}.tiny-input-word-limit.tiny-input-suffix .tiny-input__inner{padding-right:72px;padding-left:8px}.tiny-input-medium .tiny-input__inner{height:var(--ti-input-medium-height);line-height:var(--ti-input-medium-height)}.tiny-input-medium .tiny-input__suffix{line-height:calc(var(--ti-input-medium-height) - 2px)}.tiny-input-small .tiny-input__inner{height:var(--ti-input-small-height);line-height:var(--ti-input-small-height)}.tiny-input-small .tiny-input__suffix{line-height:calc(var(--ti-input-small-height) - 2px)}.tiny-input-mini .tiny-input__inner{height:var(--ti-input-mini-height);line-height:var(--ti-input-mini-height)}.tiny-input-mini .tiny-input__suffix{line-height:calc(var(--ti-input-mini-height) - 2px)}.tiny-input.is-display-only .tiny-input-display-only{position:relative}.tiny-input.is-display-only .tiny-input-display-only .tiny-input__inner{visibility:hidden;height:auto;line-height:inherit;border:0}.tiny-input.is-display-only .tiny-input-display-only__content{position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tiny-input.is-display-only .tiny-input-display-only__mask{position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);max-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-input.is-display-only .tiny-input-display-only__mask svg{width:16px;height:16px}.tiny-input.is-display-only .tiny-input-display-only__mask-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:16px}.tiny-input-group{--ti-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-input-bg-color:var(--ti-common-color-icon-white, #fff);--ti-input-font-size:var(--ti-common-font-size-base, 12px);--ti-input-count-font-size:var(--ti-common-font-size-base, 12px);--ti-input-height:var(--ti-common-size-height-normal, 28px);--ti-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-input-hover-border-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-input-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-focus-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-suffix-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-input-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-input-medium-height:var(--ti-common-size-height-medium, 40px);--ti-input-small-height:var(--ti-common-size-height-small, 32px);--ti-input-mini-height:var(--ti-common-size-height-mini, 24px);--ti-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-input-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-input-exceed-text-color:var(--ti-common-bg-primary, #c7000b);--ti-input-clear-text-color:var(--ti-common-color-icon-graybg-normal, #adb0b8);--ti-input-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-input-icon-close-text-color:var(--ti-common-color-icon-graybg-active, #5e7ce0);--ti-input-clear-text-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-input-textarea-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-textarea-padding-vertical:var(--ti-common-space-2x, 8px);--ti-input-textarea-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-padding-vertical:var(--ti-common-space-0, 0px);--ti-input-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-suffix-padding-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-padding-left:var(--ti-common-space-2x, 8px);--ti-input-prefix-padding-right:calc(var(--ti-common-space-8x, 32px) - 4px);--ti-input-prefix-padding-left:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-right:var(--ti-common-space-2x, 8px);--ti-input-count-textlength-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-suffix-icon-width:1em;--ti-input-suffix-icon-height:1em;--ti-input-placeholder-color:var(--ti-common-color-placeholder, #adb0b8);line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.tiny-input-group>.tiny-input__inner{vertical-align:middle;display:table-cell}.tiny-input-group__append,.tiny-input-group__prepend{background-color:var(--ti-input-disabled-bg-color);color:var(--ti-input-placeholder-text-color);border:1px solid var(--ti-input-border-color);border-radius:var(--ti-input-border-radius);padding:0 20px;width:1px;vertical-align:middle;display:table-cell;position:relative;white-space:nowrap}.tiny-input-group__append:focus,.tiny-input-group__prepend:focus{outline:0}.tiny-input-group__append .tiny-button,.tiny-input-group__append .tiny-select,.tiny-input-group__prepend .tiny-button,.tiny-input-group__prepend .tiny-select{display:inline-block;margin:-10px -20px}.tiny-input-group__append .tiny-button,.tiny-input-group__append .tiny-input,.tiny-input-group__prepend .tiny-button,.tiny-input-group__prepend .tiny-input{font-size:inherit}.tiny-input-group__append button.tiny-button,.tiny-input-group__append div.tiny-select .tiny-input__inner,.tiny-input-group__append div.tiny-select:hover .tiny-input__inner,.tiny-input-group__prepend button.tiny-button,.tiny-input-group__prepend div.tiny-select .tiny-input__inner,.tiny-input-group__prepend div.tiny-select:hover .tiny-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.tiny-input-group__append .tiny-select .tiny-input.is-focus .tiny-input__inner,.tiny-input-group__prepend .tiny-select .tiny-input.is-focus .tiny-input__inner{border-color:transparent}.tiny-input-group-prepend .tiny-input__inner,.tiny-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.tiny-input-group-append>div:has(>.tiny-input__suffix){display:inline-block;position:relative}.tiny-input-group-append>div:has(>.tiny-input__suffix) .tiny-input__suffix{top:calc(50% - 4px)}.tiny-input-group-append .tiny-input__inner,.tiny-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.tiny-input-group__prepend{border-right:0}.tiny-input-group__append{border-left:0}.tiny-icon-loading{font-size:var(--ti-common-font-size-1);line-height:1;vertical-align:text-top;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.tiny-transition-icon-out-in-enter-active{-webkit-animation:bounce-in .3s;animation:bounce-in .3s}.tiny-transition-icon-out-in-leave-active{animation:bounce-in .3s reverse}.tiny-transition-icon-scale-in-enter-active{-webkit-animation:scale-in .3s;animation:scale-in .3s}.tiny-transition-icon-scale-in-leave-active{animation:scale-in .3s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}to{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}to{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@-webkit-keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.tiny-textarea{--ti-textarea-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-textarea-bg-color:var(--ti-common-color-icon-white, #fff);--ti-textarea-font-size:var(--ti-common-font-size-base, 12px);--ti-textarea-count-font-size:var(--ti-common-font-size-base, 12px);--ti-textarea-height:var(--ti-common-size-height-normal, 28px);--ti-textarea-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-textarea-border-color:var(--ti-common-color-border, #adb0b8);--ti-textarea-inner-hover-border-color:var(--ti-common-color-border-hover, #575d6c);--ti-textarea-inner-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-textarea-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-textarea-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-textarea-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-textarea-exceed-text-color:var(--ti-common-bg-primary, #c7000b);--ti-textarea-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-textarea-padding-vertical:var(--ti-common-space-2x, 8px);--ti-textarea-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-textarea-padding-right:var(--ti-common-space-2x, 8px);--ti-textarea-padding-bottom:var(--ti-common-space-2x, 8px);--ti-textarea-count-bottom:5px;--ti-textarea-count-right:16px;--ti-textarea-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-textarea-count-width:auto;--ti-textarea-inner-width:100%;--ti-textarea-count-border-radius:0;--ti-textarea-count-text-length-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-textarea-count-padding-right:var(--ti-common-space-0, 0px);--ti-textarea-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-textarea-count-line-height:var(--ti-textarea-count-font-size);position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--ti-textarea-font-size)}.tiny-textarea.is-disabled .tiny-textarea__inner{background-color:var(--ti-textarea-disabled-bg-color);border-color:var(--ti-textarea-border-color);color:var(--ti-textarea-disabled-text-color);cursor:not-allowed}.tiny-textarea.is-disabled .tiny-textarea__inner::-moz-placeholder{color:var(--ti-textarea-placeholder-text-color);opacity:1}.tiny-textarea.is-disabled .tiny-textarea__inner:-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled .tiny-textarea__inner::-webkit-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled .tiny-textarea__inner::-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled .tiny-textarea__inner::placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled{background-color:var(--ti-textarea-disabled-bg-color)}.tiny-textarea.is-disabled:hover{border-color:var(--ti-textarea-border-color)}.tiny-textarea.is-exceed .tiny-textarea__inner{border-color:var(--ti-textarea-exceed-text-color)}.tiny-textarea.is-exceed .tiny-input__count,.tiny-textarea.is-exceed .tiny-input__count-text-length{color:var(--ti-textarea-exceed-text-color)}.tiny-textarea .tiny-input__count{color:var(--ti-textarea-count-color);background:var(--ti-textarea-bg-color);font-size:var(--ti-textarea-count-font-size);text-align:right;position:absolute;bottom:var(--ti-textarea-count-bottom);right:var(--ti-textarea-count-right);width:var(--ti-textarea-count-width);border-bottom-left-radius:var(--ti-textarea-count-border-radius);padding-right:var(--ti-textarea-count-padding-right);line-height:var(--ti-textarea-count-line-height)}.tiny-textarea .tiny-input__count-text-length{color:var(--ti-textarea-count-text-length-color)}.tiny-textarea__inner{display:block;width:var(--ti-textarea-inner-width);min-height:60px;min-height:calc(var(--ti-textarea-height,30px) * 2);color:var(--ti-textarea-text-color);border:1px solid var(--ti-textarea-border-color);border-radius:var(--ti-textarea-border-radius);background:var(--ti-textarea-bg-color);padding:var(--ti-textarea-padding-vertical) var(--ti-textarea-padding-horizontal);padding-right:var(--ti-textarea-padding-right);padding-bottom:var(--ti-textarea-padding-bottom);line-height:1.5;font-size:var(--ti-textarea-font-size);font-family:var(--ti-textarea-font-family);resize:vertical;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.tiny-textarea__inner::-moz-placeholder{color:var(--ti-textarea-placeholder-text-color);opacity:1}.tiny-textarea__inner:-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner::-webkit-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner::-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner::placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner:hover{border-color:var(--ti-textarea-inner-hover-border-color)}.tiny-textarea__inner:focus{border-color:var(--ti-textarea-inner-active-border-color)}.tiny-textarea:has(.tiny-textarea__inner:focus){border-color:var(--ti-textarea-active-border-color)}.tiny-textarea__inner:focus,.tiny-textarea__inner:hover{outline:0}.tiny-textarea__inner.tiny-textarea__fix-height{min-height:30px;height:30px;padding:0 8px;line-height:30px;overflow:hidden}.tiny-textarea .tiny-textarea__inner::-webkit-scrollbar{width:12px}.tiny-textarea .tiny-textarea__inner::-webkit-scrollbar-thumb{border-radius:5px;background-clip:content-box;border-right:4px solid transparent;border-left:4px solid transparent;border-top:2px solid transparent;border-bottom:2px solid transparent}.tiny-textarea .tiny-textarea__inner-con{position:relative;display:block;height:30px;width:100%}.tiny-textarea .tiny-textarea__inner-con .tiny-textarea__inner{min-width:160px;position:absolute;z-index:2000;top:0;left:0}.tiny-textarea.is-display-only .tiny-textarea-autosize-display-only.tiny-textarea__inner-con .tiny-textarea-display-only__content,.tiny-textarea.is-display-only .tiny-textarea-display-only.tiny-textarea__inner-con .tiny-textarea-display-only__content{position:relative;left:0;max-width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;word-wrap:break-word;white-space:pre-wrap;line-height:1.5}.tiny-textarea.is-display-only .tiny-textarea__inner-con{height:auto}.tiny-textarea.is-display-only .tiny-textarea__inner-con .tiny-textarea__inner{display:none}.tiny-textarea.is-display-only .tiny-textarea-display-only .tiny-textarea-display-only__content{left:0;max-width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;word-wrap:break-word;white-space:pre-wrap}.tiny-textarea.is-display-only .tiny-textarea-autosize-display-only .tiny-textarea-display-only__content{left:0;max-width:100%;position:absolute;white-space:pre-line;line-height:1.5}.tiny-textarea.is-display-only .tiny-textarea__inner{height:0;padding:0;border-style:none;visibility:hidden}.tiny-mobile-textarea{--ti-mobile-input-height:40px;--ti-mobile-input-padding-horizontal:var(--ti-mobile-space-3x, 12px);--ti-mobile-input-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-input-font-family:var(--ti-mobile-font-family);--ti-mobile-input-line-height:var(--ti-mobile-line-height-default, 1.5);--ti-mobile-input-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-input-icon-color-disabled:var(--ti-mobile-color-icon-disabled, #c2c2c2);--ti-mobile-input-bg-color-disabled:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-input-border-width:var(--ti-mobile-border-width-1, 1px);--ti-mobile-input-border-color:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-input-border-color-active:var(--ti-mobile-color-border-active, #191919);--ti-mobile-input-border-width-active:var(--ti-mobile-border-width-1, 1px);--ti-mobile-border-color-disabled:var(--ti-mobile-color-border-disabled, #dbdbdb);--ti-mobile-input-radius:var(--ti-mobile-border-radius-m, 8px);--ti-mobile-input-bg-color:var(--ti-mobile-color, #fff);--ti-mobile-input-placeholder-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-placeholder-font-weight:var(--ti-mobile-font-weight-medium, 500);--ti-mobile-input-medium-height:42px;--ti-mobile-input-small-height:36px;--ti-mobile-input-mini-height:24px;--ti-mobile-input-count-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-count-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-exceed-text-color:var(--ti-mobile-color-error, #f23030);--ti-mobile-input-icon-color:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-input-icon-font-size:var(--ti-mobile-font, 20px);--ti-mobile-input-prepend-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-prepend-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-prepend-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-append-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-append-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-append-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-prefix-padding-right:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-suffix-padding-left:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-title-margin-bottom:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-tips-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-tips-margin-top:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-height:108px;--ti-mobile-textarea-padding-vertical:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-padding-horizontal:var(--ti-mobile-space-4x, 16px);--ti-mobile-textarea-inner-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-inner-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-textarea-inner-placeholder-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-textarea-title-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-title-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-form-bg-color-error:var(--ti-mobile-color-error-subtle, #fce3e1);position:relative;display:inline-block}.tiny-mobile-textarea__inner{height:var(--ti-mobile-textarea-height);padding:var(--ti-mobile-textarea-padding-vertical) var(--ti-mobile-textarea-padding-horizontal);font-size:var(--ti-mobile-textarea-inner-font-size,16px);font-family:var(--ti-mobile-input-font-family);color:var(--ti-mobile-textarea-inner-text-color);display:block;resize:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);line-height:var(--ti-mobile-input-line-height)}.tiny-mobile-textarea__inner.is-autosize{overflow:hidden}.tiny-mobile-textarea__inner:focus,.tiny-mobile-textarea__inner:hover{outline:0}.tiny-mobile-textarea__inner::-moz-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color);opacity:1}.tiny-mobile-textarea__inner:-ms-input-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__inner::-webkit-input-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__inner::-ms-input-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__inner::placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__wrapper{display:inline-block;overflow:hidden;border:var(--ti-mobile-input-border-width) solid var(--ti-mobile-input-border-color);border-radius:var(--ti-mobile-input-radius)}.tiny-mobile-textarea__count{position:absolute;right:var(--ti-mobile-textarea-padding-horizontal);bottom:var(--ti-mobile-textarea-padding-vertical);color:var(--ti-mobile-input-count-text-color);font-size:var(--ti-mobile-input-count-font-size)}.tiny-mobile-textarea.is-focus .tiny-mobile-textarea__inner{border-color:var(--ti-mobile-input-border-color-active);border-width:var(--ti-mobile-input-border-width-active)}.tiny-mobile-textarea.is-showlimit .tiny-mobile-textarea__inner{padding-bottom:calc(var(--ti-mobile-input-count-font-size) * 1.5 + var(--ti-mobile-textarea-padding-vertical))}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner{border-color:var(--ti-mobile-border-color-disabled);background-color:var(--ti-mobile-input-bg-color-disabled);color:var(--ti-mobile-input-text-color-disabled);cursor:not-allowed}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::-moz-placeholder{color:var(--ti-mobile-input-text-color-disabled);opacity:1}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner:-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::-webkit-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-exceed__count{color:var(--ti-mobile-input-exceed-text-color)}.tiny-mobile-input{--ti-mobile-input-height:40px;--ti-mobile-input-padding-horizontal:var(--ti-mobile-space-3x, 12px);--ti-mobile-input-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-input-font-family:var(--ti-mobile-font-family);--ti-mobile-input-line-height:var(--ti-mobile-line-height-default, 1.5);--ti-mobile-input-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-input-icon-color-disabled:var(--ti-mobile-color-icon-disabled, #c2c2c2);--ti-mobile-input-bg-color-disabled:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-input-border-width:var(--ti-mobile-border-width-1, 1px);--ti-mobile-input-border-color:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-input-border-color-active:var(--ti-mobile-color-border-active, #191919);--ti-mobile-input-border-width-active:var(--ti-mobile-border-width-1, 1px);--ti-mobile-border-color-disabled:var(--ti-mobile-color-border-disabled, #dbdbdb);--ti-mobile-input-radius:var(--ti-mobile-border-radius-m, 8px);--ti-mobile-input-bg-color:var(--ti-mobile-color, #fff);--ti-mobile-input-placeholder-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-placeholder-font-weight:var(--ti-mobile-font-weight-medium, 500);--ti-mobile-input-medium-height:42px;--ti-mobile-input-small-height:36px;--ti-mobile-input-mini-height:24px;--ti-mobile-input-count-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-count-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-exceed-text-color:var(--ti-mobile-color-error, #f23030);--ti-mobile-input-icon-color:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-input-icon-font-size:var(--ti-mobile-font, 20px);--ti-mobile-input-prepend-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-prepend-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-prepend-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-append-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-append-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-append-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-prefix-padding-right:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-suffix-padding-left:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-title-margin-bottom:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-tips-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-tips-margin-top:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-height:108px;--ti-mobile-textarea-padding-vertical:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-padding-horizontal:var(--ti-mobile-space-4x, 16px);--ti-mobile-textarea-inner-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-inner-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-textarea-inner-placeholder-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-textarea-title-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-title-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-form-bg-color-error:var(--ti-mobile-color-error-subtle, #fce3e1);position:relative;width:100%;line-height:var(--ti-mobile-input-line-height)}.tiny-mobile-input::-webkit-scrollbar{z-index:11;width:6px}.tiny-mobile-input::-webkit-scrollbar:horizontal{height:6px}.tiny-mobile-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.tiny-mobile-input::-webkit-scrollbar-corner{background:#fff}.tiny-mobile-input::-webkit-scrollbar-track{background:#fff}.tiny-mobile-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.tiny-mobile-input.is-focus .tiny-mobile-input__wrapper{border-color:var(--ti-mobile-input-border-color-active);border-width:var(--ti-mobile-input-border-width-active)}.tiny-mobile-input.is-exceed .tiny-mobile-input__suffix .tiny-mobile-input__count{color:var(--ti-mobile-input-exceed-text-color)}.tiny-mobile-input.is-disabled .tiny-mobile-input__wrapper{border-color:var(--ti-mobile-border-color-disabled);background:var(--ti-mobile-input-bg-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner{cursor:not-allowed;color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::-moz-placeholder{color:var(--ti-mobile-input-text-color-disabled);opacity:1}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner:-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::-webkit-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__icon{cursor:not-allowed}.tiny-mobile-input.is-disabled .tiny-mobile-input__icon.tiny-svg,.tiny-mobile-input.is-disabled .tiny-mobile-input__icon.tiny-svg:hover,.tiny-mobile-input.is-disabled .tiny-mobile-input__prefix .tiny-svg,.tiny-mobile-input.is-disabled .tiny-mobile-input__prefix .tiny-svg:hover,.tiny-mobile-input.is-disabled .tiny-mobile-input__suffix .tiny-svg,.tiny-mobile-input.is-disabled .tiny-mobile-input__suffix .tiny-svg:hover{fill:var(--ti-mobile-input-icon-color-disabled)}.tiny-mobile-input.tiny-mobile-input-group-prepend .tiny-mobile-input__wrapper{padding-left:0}.tiny-mobile-input.tiny-mobile-input-group-append .tiny-mobile-input__wrapper{padding-right:0}.tiny-mobile-input__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--ti-mobile-input-height);overflow:hidden;border:var(--ti-mobile-input-border-width) solid var(--ti-mobile-input-border-color);border-radius:var(--ti-mobile-input-radius);background:var(--ti-mobile-input-bg-color)}.tiny-mobile-input__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;width:100%;height:100%;padding:0 var(--ti-mobile-input-padding-horizontal);font-size:var(--ti-mobile-input-font-size);font-family:var(--ti-mobile-input-font-family);color:var(--ti-mobile-input-text-color);border:0;outline:0;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.tiny-mobile-input__inner::-moz-placeholder{color:var(--ti-mobile-input-placeholder-text-color);opacity:1}.tiny-mobile-input__inner:-ms-input-placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner::-webkit-input-placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner::-ms-input-placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner::placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner:active,.tiny-mobile-input__inner:focus,.tiny-mobile-input__inner:hover{outline:0}.tiny-mobile-input__inner::-ms-clear{display:none;width:0;height:0}.tiny-mobile-input .tiny-mobile-input__clear{font-size:var(--ti-mobile-input-icon-font-size,16px);cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.tiny-mobile-input .tiny-mobile-input__clear,.tiny-mobile-input .tiny-mobile-input__clear:hover{fill:var(--ti-mobile-input-icon-color)}.tiny-mobile-input .tiny-mobile-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:var(--ti-mobile-input-count-text-color);font-size:var(--ti-mobile-input-count-font-size)}.tiny-mobile-input .tiny-mobile-input__count .tiny-mobile-input__count-inner{background:var(--ti-mobile-input-bg-color,#fff);line-height:initial;display:inline-block}.tiny-mobile-input__prefix,.tiny-mobile-input__suffix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s;transition:all .3s;text-align:center}.tiny-mobile-input__prefix{padding-left:var(--ti-mobile-input-padding-horizontal);-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-mobile-input-icon-font-size)}.tiny-mobile-input__suffix{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4;padding-right:var(--ti-mobile-input-padding-horizontal);-webkit-transition:all .3s;transition:all .3s}.tiny-mobile-input__suffix:hover{cursor:pointer}.tiny-mobile-input.is-active .tiny-mobile-input__inner,.tiny-mobile-input__inner:focus{outline:0}.tiny-mobile-input__icon{line-height:var(--ti-mobile-input-line-height,30px);text-align:center;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-mobile-input-icon-font-size)}.tiny-mobile-input__icon,.tiny-mobile-input__icon:hover{fill:var(--ti-mobile-input-icon-color)}.tiny-mobile-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.tiny-mobile-input__icon .svg-operationfaild,.tiny-mobile-input__icon .svg-operationfaild:hover{fill:var(--ti-mobile-input-icon-color)}.tiny-mobile-input__validateIcon{pointer-events:none}.tiny-mobile-input-medium .tiny-mobile-input__inner{height:var(--ti-mobile-input-medium-height,42px);line-height:var(--ti-mobile-input-medium-height,42px)}.tiny-mobile-input-medium .tiny-mobile-input__suffix{line-height:calc(var(--ti-mobile-input-medium-height,42px) - 2px)}.tiny-mobile-input-small .tiny-mobile-input__inner{height:var(--ti-mobile-input-small-height,36px);line-height:var(--ti-mobile-input-small-height,36px)}.tiny-mobile-input-small .tiny-mobile-input__suffix{line-height:calc(var(--ti-mobile-input-small-height,36px) - 2px)}.tiny-mobile-input-mini .tiny-mobile-input__inner{height:var(--ti-mobile-input-mini-height,24px);line-height:var(--ti-mobile-input-mini-height,24px)}.tiny-mobile-input-mini .tiny-mobile-input__suffix{line-height:calc(var(--ti-mobile-input-mini-height,24px) - 2px)}.tiny-mobile-input__title{margin-bottom:var(--ti-mobile-input-title-margin-bottom)}.tiny-mobile-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.tiny-mobile-input-group>.tiny-mobile-input__inner{vertical-align:middle;display:table-cell}.tiny-mobile-input-group__append,.tiny-mobile-input-group__prepend{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;position:relative;white-space:nowrap}.tiny-mobile-input-group__append:focus,.tiny-mobile-input-group__prepend:focus{outline:0}.tiny-mobile-input-group__append .tiny-button,.tiny-mobile-input-group__append .tiny-select,.tiny-mobile-input-group__prepend .tiny-button,.tiny-mobile-input-group__prepend .tiny-select{display:inline-block;margin:-10px -20px}.tiny-mobile-input-group__append .tiny-button,.tiny-mobile-input-group__append .tiny-input,.tiny-mobile-input-group__prepend .tiny-button,.tiny-mobile-input-group__prepend .tiny-input{font-size:inherit}.tiny-mobile-input-group__append button.tiny-button,.tiny-mobile-input-group__append div.tiny-select .tiny-mobile-input__inner,.tiny-mobile-input-group__append div.tiny-select:hover .tiny-mobile-input__inner,.tiny-mobile-input-group__prepend button.tiny-button,.tiny-mobile-input-group__prepend div.tiny-select .tiny-mobile-input__inner,.tiny-mobile-input-group__prepend div.tiny-select:hover .tiny-mobile-input__inner{background-color:transparent;color:inherit}.tiny-mobile-input-group__prepend{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;padding:0 var(--ti-mobile-input-prepend-padding-horizontal);color:var(--ti-mobile-input-prepend-text-color);background-color:var(--ti-mobile-input-prepend-bg-color)}.tiny-mobile-input-group__append{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5;padding:0 var(--ti-mobile-input-append-padding-horizontal);color:var(--ti-mobile-input-append-text-color);background-color:var(--ti-mobile-input-append-bg-color)}.tiny-mobile-input__select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;background:var(--ti-mobile-input-bg-color,#fff)}.tiny-mobile-input__select-icon{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5;height:20px;margin-right:var(--ti-mobile-input-padding-horizontal);line-height:20px;width:20px;font-size:0;-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:all linear .3s;transition:all linear .3s}.tiny-mobile-input__select-icon svg{fill:var(--ti-mobile-input-icon-color);font-size:20px;vertical-align:text-bottom}.tiny-mobile-input__select-label{-webkit-box-sizing:border-box;box-sizing:border-box;width:35%;padding:0 12px 0 16px;line-height:1.376;color:#333;font-size:22px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.tiny-mobile-input__select__error{width:100%;position:absolute;overflow:hidden;font-size:13px;color:var(--ti-mobile-common-color-error-text-1);text-overflow:ellipsis;bottom:-36px;background:var(--ti-mobile-input-form-bg-color-error);border-radius:4px;padding:0 12px}.tiny-mobile-input__select__error.align-right{text-align:right}.tiny-mobile-input__select__error.align-left{text-align:left}.tiny-icon-loading{font-size:14px;line-height:1;vertical-align:text-top;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.tiny-mobile-input__tips{margin-top:var(--ti-mobile-input-tips-margin-top);font-size:var(--ti-mobile-input-tips-font-size)}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}.tiny-checkbox{--ti-checkbox-width:var(--ti-common-size-4x, 16px);--ti-checkbox-height:var(--ti-common-size-4x, 16px);--ti-checkbox-text-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-checkbox-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-bg-color:var(--ti-common-color-transparent, transparent);--ti-checkbox-bg-color-checked:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-border-color-checked:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-checkbox-bg-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-font-normal-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-font-medium-line-height:var(--ti-common-line-height-3, 18px);--ti-checkbox-font-small-line-height:var(--ti-common-line-height-2, 16px);--ti-checkbox-font-mini-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-icon-height:var(--ti-common-size-2x, 8px);--ti-checkbox-icon-width:var(--ti-common-size-base, 4px);--ti-checkbox-icon-margin-left:var(--ti-common-space-base, 4px);--ti-checkbox-icon-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-bg-color-disable:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-icon-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-border-color-unchecked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-label-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-bg-color-checked-disabled:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-border-color-checked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-checkline-width:var(--ti-common-border-weight-1, 2px);--ti-checkbox-label-margin-right:var(--ti-common-space-5x, 20px);--ti-checkbox-button-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-checkbox-shadow-color:#dfe1e6;--ti-checkbox-button-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-hover-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-button-checked-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-button-bg-color-hover:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-button-border-color:#e9edfa;--ti-checkbox-button-border-color-hover:#c2c2c2;--ti-checkbox-button-border-radius:0px;--ti-checkbox-disabled-border-color:#dbdbdb;--ti-checkbox-button-padding-vertical:5px;--ti-checkbox-button-height:24px;--ti-checkbox-button-margin-horizontal:2px;--ti-checkbox-button-mini-margin-horizontal:2px;--ti-checkbox-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-size-mini-border-radius:0px;--ti-checkbox-button-size-small-padding-horizontal:15px;--ti-checkbox-button-size-small-height:30px;--ti-checkbox-button-checked-display:none;--ti-checkbox-button-margin-top:8px;--ti-checkbox-button-mini-padding-horizontal:12px;--ti-checkbox-button-mini-left-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-mini-right-border-radius:0px;--ti-checkbox-button-mini-last-left-border-radius:0px;--ti-checkbox-button-mini-last-right-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-right-border-radius:0px;--ti-checkbox-button-left-border-radius:0px;position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-checkbox-text-color);font-weight:500;font-size:0;font-family:var(--ti-checkbox-text-font-family);white-space:nowrap;margin-right:var(--ti-checkbox-label-margin-right);outline:0;cursor:pointer;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-checkbox:last-of-type{margin-right:0}.tiny-checkbox .tiny-checkbox__inner{display:inline-block;position:relative;border:1px solid var(--ti-checkbox-border-color);border-radius:var(--ti-checkbox-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;width:var(--ti-checkbox-width);height:var(--ti-checkbox-height);background-color:var(--ti-checkbox-bg-color);outline:0;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.tiny-checkbox .tiny-checkbox__inner:hover{border-color:var(--ti-checkbox-border-color-hover)}.tiny-checkbox .tiny-checkbox__inner:after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-width:0 var(--ti-checkbox-checkline-width) var(--ti-checkbox-checkline-width) 0;border-left:0;border-top:0;height:var(--ti-checkbox-icon-height);width:var(--ti-checkbox-icon-width);position:absolute;margin-left:var(--ti-checkbox-icon-margin-left);margin-top:var(--ti-checkbox-icon-margin-top);-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);-webkit-transition:-webkit-transform .15s ease-in 50ms;transition:-webkit-transform .15s ease-in 50ms;transition:transform .15s ease-in 50ms;transition:transform .15s ease-in 50ms,-webkit-transform .15s ease-in 50ms;-webkit-transform-origin:center;transform-origin:center}.tiny-checkbox.is-filter{background-color:#f5f6f8;padding:0 10px;border-radius:2px;max-width:192px}.tiny-checkbox.is-filter .tiny-checkbox__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:28px}.tiny-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:2px;border:1px solid var(--ti-checkbox-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;line-height:var(--ti-checkbox-font-normal-line-height);height:40px}.tiny-checkbox.is-bordered+.tiny-checkbox.is-bordered{margin-left:10px}.tiny-checkbox.is-bordered.is-checked{border-color:var(--ti-checkbox-button-checked-border-color)}.tiny-checkbox.is-bordered.is-disabled{border-color:var(--ti-checkbox-border-color-unchecked-disabled);color:var(--ti-checkbox-bg-color-disable);pointer-events:none;cursor:not-allowed}.tiny-checkbox.is-bordered.is-disabled .tiny-checkbox__inner,.tiny-checkbox.is-bordered.is-disabled .tiny-checkbox__inner:hover{border-color:var(--ti-checkbox-border-color-unchecked-disabled);cursor:not-allowed}.tiny-checkbox.is-bordered.is-disabled.is-checked{border-color:var(--ti-checkbox-bg-color-disable)}.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner,.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-disable);border-color:var(--ti-checkbox-bg-color-disable)}.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner:after,.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner:hover:after{border-color:var(--ti-checkbox-border-color-unchecked-disabled)}.tiny-checkbox.is-bordered.tiny-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.tiny-checkbox.is-bordered.tiny-checkbox--medium .tiny-checkbox__label{line-height:var(--ti-checkbox-font-medium-line-height);font-size:var(--ti-common-font-size-1)}.tiny-checkbox.is-bordered.tiny-checkbox--medium .tiny-checkbox__inner{height:14px;width:14px}.tiny-checkbox.is-bordered.tiny-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.tiny-checkbox.is-bordered.tiny-checkbox--small .tiny-checkbox__label{line-height:var(--ti-checkbox-font-small-line-height);font-size:var(--ti-common-font-size-base)}.tiny-checkbox.is-bordered.tiny-checkbox--small .tiny-checkbox__inner{height:12px;width:12px}.tiny-checkbox.is-bordered.tiny-checkbox--small .tiny-checkbox__inner:after{height:6px;width:2px}.tiny-checkbox.is-bordered.tiny-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.tiny-checkbox.is-bordered.tiny-checkbox--mini .tiny-checkbox__label{line-height:var(--ti-checkbox-font-mini-line-height);font-size:var(--ti-common-font-size-base)}.tiny-checkbox.is-bordered.tiny-checkbox--mini .tiny-checkbox__inner{height:12px;width:12px}.tiny-checkbox.is-bordered.tiny-checkbox--mini .tiny-checkbox__inner:after{height:6px;width:2px}.tiny-checkbox__input{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;outline:0;line-height:1;cursor:pointer}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-checkbox__input{display:inline-block}}@supports (-ms-ime-align:auto){.tiny-checkbox__input{display:inline-block}}.tiny-checkbox__input .tiny-checkbox__inner svg{fill:var(--ti-checkbox-border-color)}.tiny-checkbox__input .tiny-checkbox__inner:hover svg{fill:var(--ti-checkbox-button-hover-text-color)}.tiny-checkbox__input.is-disabled .tiny-checkbox__inner{background-color:var(--ti-checkbox-bg-color-disable);border-color:var(--ti-checkbox-border-color-unchecked-disabled);cursor:not-allowed}.tiny-checkbox__input.is-disabled .tiny-checkbox__inner svg{fill:var(--ti-checkbox-icon-color-disabled)}.tiny-checkbox__input.is-disabled .tiny-checkbox__inner+.tiny-checkbox__label{cursor:not-allowed}.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner,.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-checked-disabled);border-color:var(--ti-checkbox-border-color-checked-disabled)}.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner:after,.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner:hover:after{border-color:var(--ti-checkbox-icon-color-disabled)}.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner,.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-checked-disabled);border-color:var(--ti-checkbox-border-color-checked-disabled)}.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner:before,.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner:hover:before{background-color:var(--ti-checkbox-icon-color-disabled);border-color:var(--ti-checkbox-icon-color-disabled)}.tiny-checkbox__input.is-disabled+span.tiny-checkbox__label{color:var(--ti-checkbox-label-text-color-disabled);cursor:not-allowed}.tiny-checkbox__input.is-checked .tiny-checkbox__inner:after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner:before{content:"";position:absolute;display:block;border-radius:1px;background-color:#fff;height:6px;width:6px;left:0;right:0;top:0;bottom:0;margin:auto}.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner:after{display:none}.tiny-checkbox__input.is-checked .tiny-checkbox__inner,.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner{background-color:var(--ti-checkbox-bg-color-checked);border-color:var(--ti-checkbox-border-color-checked)}.tiny-checkbox__input.is-checked .tiny-checkbox__inner:hover,.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-hover-checked);border-color:var(--ti-checkbox-border-color-hover-checked)}.tiny-checkbox input:focus-visible+.tiny-checkbox__inner{outline:2px solid var(--ti-checkbox-bg-color-checked);outline-offset:1px}.tiny-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.tiny-checkbox__label{padding-left:8px;font-size:var(--ti-checkbox-font-size)}.tiny-checkbox.is-display-only .tiny-checkbox__input.is-disabled+span.tiny-checkbox__label{color:#161e26}.tiny-checkbox.is-group-display-only{margin:0;padding:0;display:none}.tiny-checkbox.is-group-display-only.is-checked{display:inline-block}.tiny-checkbox.is-group-display-only .tiny-checkbox__input{display:none}.tiny-checkbox.is-group-display-only .tiny-checkbox__label:after{display:inline-block;content:";"}.tiny-checkbox.is-group-display-only .tiny-checkbox__label{margin:0;padding:0}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:"HarmonySans","鸿蒙黑体","NotoSans","Helvetica","Arial","PingFangSC-Regular","Hiragino Sans GB","Microsoft YaHei","微软雅黑","Microsoft JhengHei";--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, .08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, .5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, .75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}.tiny-mobile-checkbox{--ti-mobile-checkbox-width:var(--ti-mobile-space-6x, 24px);--ti-mobile-checkbox-height:var(--ti-mobile-checkbox-width, 24px);--ti-mobile-checkbox-line-height:22px;--ti-mobile-checkbox-margin-right:var(--ti-mobile-space-2x, 8px);--ti-mobile-checkbox-label-padding-left:var(--ti-mobile-space-2x, 8px);--ti-mobile-checkbox-bg-color:var(--ti-mobile-color-bg-container-1, #ffffff);--ti-mobile-checkbox-border-radius:var(--ti-mobile-border-radius-s, 4px);--ti-mobile-checkbox-border-color:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-checkbox-checked-border-color:var(--ti-mobile-color-icon-link, #1476ff);--ti-mobile-checkbox-checked-bg-color:var(--ti-mobile-color-icon-link, #1476ff);--ti-mobile-checkbox-selected-border-color:var(--ti-mobile-color-icon-inverse, #ffffff);--ti-mobile-checkbox-indeterminate-bg-color:var(--ti-mobile-color-icon-inverse, #ffffff);--ti-mobile-checkbox-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-checkbox-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-checkbox-disabled-text-color:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-checkbox-disabled-bg-color:var(--ti-mobile-color-bg-container-2, #fafafa);--ti-mobile-checkbox-checked-disabled-bg-color:var(--ti-mobile-color-bg-control-disabled-1, #dbdbdb);--ti-mobile-checkbox-disabled-border-color:var(--ti-mobile-color-border-disabled, #dbdbdb);position:relative;display:inline-block;white-space:nowrap;margin-right:var(--ti-mobile-checkbox-margin-right);cursor:pointer;user-select:none;-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none}.tiny-mobile-checkbox:last-of-type{margin-right:0}.tiny-mobile-checkbox__input{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;outline:0;cursor:pointer;width:var(--ti-mobile-checkbox-width);height:var(--ti-mobile-checkbox-height);line-height:var(--ti-mobile-checkbox-line-height)}.tiny-mobile-checkbox__inner{display:inline-block;position:relative;background-color:var(--ti-mobile-checkbox-bg-color);border:1.5px solid var(--ti-mobile-checkbox-border-color);border-radius:var(--ti-mobile-checkbox-border-radius,3px);-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.tiny-mobile-checkbox__inner:hover{border-color:var(--ti-mobile-checkbox-checked-border-color)}.tiny-mobile-checkbox__inner:after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border-width:2px;border-style:solid;border-color:var(--ti-mobile-checkbox-selected-border-color);border-left:0;border-top:0;height:11px;width:7px;position:absolute;left:50%;top:42%;-webkit-transform:translate(-50%,-50%) rotate(45deg) scaleY(0);transform:translate(-50%,-50%) rotate(45deg) scaleY(0);-webkit-transition:all .15s ease-in 50ms;transition:all .15s ease-in 50ms;-webkit-transform-origin:center;transform-origin:center;opacity:0}.tiny-mobile-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.tiny-mobile-checkbox__label{display:inline-block;padding-left:var(--ti-mobile-checkbox-label-padding-left);line-height:24px;color:var(--ti-mobile-checkbox-text-color);font-size:var(--ti-mobile-checkbox-font-size,16px);vertical-align:middle;word-break:break-all;white-space:pre-wrap}.tiny-mobile-checkbox.is-checked .tiny-mobile-checkbox__inner{background-color:var(--ti-mobile-checkbox-checked-bg-color)}.tiny-mobile-checkbox.is-checked .tiny-mobile-checkbox__inner:after{border-color:var(--ti-mobile-checkbox-selected-border-color);-webkit-transform:translate(-50%,-50%) rotate(45deg) scaleY(1);transform:translate(-50%,-50%) rotate(45deg) scaleY(1);opacity:1}.tiny-mobile-checkbox.is-indeterminate .tiny-mobile-checkbox__inner:before{content:"";position:absolute;display:block;border-radius:2px;background-color:var(--ti-mobile-checkbox-indeterminate-bg-color);height:10px;width:10px;left:0;right:0;top:0;bottom:0;margin:auto}.tiny-mobile-checkbox.is-indeterminate .tiny-mobile-checkbox__inner:after{display:none}.tiny-mobile-checkbox.is-checked .tiny-mobile-checkbox__inner,.tiny-mobile-checkbox.is-indeterminate .tiny-mobile-checkbox__inner{background-color:var(--ti-mobile-checkbox-checked-bg-color);border-color:var(--ti-mobile-checkbox-checked-border-color)}.tiny-mobile-checkbox.is-disabled .tiny-mobile-checkbox__inner{background-color:var(--ti-mobile-checkbox-disabled-bg-color);border-color:var(--ti-mobile-checkbox-disabled-border-color);cursor:not-allowed}.tiny-mobile-checkbox.is-disabled.is-checked .tiny-mobile-checkbox__inner,.tiny-mobile-checkbox.is-disabled.is-checked .tiny-mobile-checkbox__inner:hover{background-color:var(--ti-mobile-checkbox-checked-disabled-bg-color)}.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner,.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner:hover{background-color:var(--ti-mobile-checkbox-disabled-bg-color)}.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner:before,.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner:hover:before{background-color:var(--ti-mobile-checkbox-disabled-border-color)}.tiny-mobile-checkbox.is-disabled .tiny-mobile-checkbox__label{color:var(--ti-mobile-checkbox-disabled-text-color);cursor:not-allowed}.tiny-mobile-checkbox.icon-position-top .tiny-mobile-checkbox__input{vertical-align:top}.tiny-modal{--ti-modal-box-width:calc(var(--ti-common-space-10, 10px) * 40);--ti-modal-box-shadow:0 10px 40px 0 rgba(0, 0, 0, .1);--ti-modal-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-modal-box-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-modal-box-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-modal-border-color:transparent;--ti-modal-alert-icon-size:var(--ti-common-font-size-5, 24px);--ti-modal-header-font-size:var(--ti-common-font-size-3, 18px);--ti-modal-header-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-modal-header-font-weight:var(--ti-common-font-weight-bold, 700);--ti-modal-header-padding-top:var(--ti-common-space-8x, 32px);--ti-modal-header-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-header-padding-bottom:calc(var(--ti-common-space-base, 4px) * 7);--ti-modal-body-padding-top:var(--ti-common-space-0, 0px);--ti-modal-body-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-body-padding-bottom:var(--ti-common-space-0, 0px);--ti-modal-body-font-size:var(--ti-common-font-size-base, 12px);--ti-modal-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-modal-body-line-height:var(--ti-common-line-height-number, 1.5);--ti-modal-footer-padding-top:calc(var(--ti-common-space-base, 4px) * 7);--ti-modal-footer-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-footer-padding-bottom:var(--ti-common-space-8x, 32px);--ti-modal-footer-btn-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-modal-footer-btn-min-width:var(--ti-common-size-16x, 64px);--ti-modal-notification-header-padding-bottom:var(--ti-common-space-3x, 12px);--ti-modal-message-font-size:var(--ti-common-font-size-3, 18px);--ti-modal-message-box-shadow:var(--ti-modal-box-shadow);--ti-modal-message-padding-left:var(--ti-common-space-6x, 24px);--ti-modal-message-padding-right:var(--ti-common-space-6x, 24px);--ti-modal-message-padding-vertical:var(--ti-common-space-6x, 24px);--ti-modal-message-body-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-message-status-icon-size:var(--ti-common-font-size-2, 16px);--ti-modal-message-status-icon-padding-right:var(--ti-common-space-2x, 8px);--ti-modal-message-close-icon-size:var(--ti-common-space-4x, 16px);--ti-modal-message-icon-box-height:var(--ti-common-size-4x, 16px);--ti-modal-message-close-icon-margin-left:var(--ti-common-space-3x, 12px);--ti-modal-primary-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-modal-success-icon-color:var(--ti-common-color-success, #50d4ab);--ti-modal-error-icon-color:var(--ti-common-color-error, #f66f6a);--ti-modal-warning-icon-color:var(--ti-common-color-warn, #fa9841);--ti-modal-loading-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-modal-status-icon-padding-right:var(--ti-common-space-2x, 8px);--ti-modal-close-btn-font-size:var(--ti-common-font-size-1, 14px);--ti-modal-close-btn-top:var(--ti-common-space-5x, 20px);--ti-modal-close-btn-padding-horizontal-vertical:var(--ti-common-space-0, 0px);--ti-modal-close-btn-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-modal-close-btn-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-modal-close-btn-background-color-hover:var(--ti-common-color-bg-white-normal, #fff);--ti-modal-close-btn-right:var(--ti-common-space-5x, 20px);--ti-modal-zoom-btn-right:var(--ti-common-space-10x, 40px);--ti-modal-header-border-bottom:none;--ti-modal-btn-close-color:var(--ti-modal-close-btn-icon-color)}.tiny-modal__wrapper{display:none;position:fixed;top:0;left:0;width:100%;height:100%;font-size:var(--ti-modal-font-size);color:var(--ti-modal-text-color);font-family:var(--ti-modal-font-family);-webkit-transition:top .4s;transition:top .4s}.tiny-modal__wrapper.active{display:block}.tiny-modal__wrapper.is__visible.is__mask:before{background-color:#0000004d}.tiny-modal__wrapper.is__visible.type__message .tiny-modal__box{-webkit-transform:translateY(0);transform:translateY(0)}.tiny-modal__wrapper.is__visible:not(.type__message) .tiny-modal__box{top:15vh}.tiny-modal__wrapper.is__visible:not(.type__message) .tiny-modal__box:not(.is__drag){-webkit-transition:top 0s ease-in,opacity .4s ease-in;transition:top 0s ease-in,opacity .4s ease-in}.tiny-modal__wrapper.is__visible .tiny-modal__box{opacity:1;visibility:visible}.tiny-modal__wrapper:not(.lock__view){pointer-events:none}.tiny-modal__wrapper.lock__scroll{overflow:hidden}.tiny-modal__wrapper:not(.lock__scroll){overflow:auto}.tiny-modal__wrapper .tiny-modal__text{font-size:var(--ti-modal-body-font-size);color:var(--ti-modal-body-text-color);line-height:var(--ti-modal-body-line-height)}.tiny-modal__wrapper.is__mask:before,.tiny-modal__wrapper.lock__view:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.tiny-modal__wrapper.is__animat.is__mask:before{-webkit-transition:background-color,.2s,ease-in-out;transition:background-color,.2s,ease-in-out}.tiny-modal__wrapper.is__animat.type__message .tiny-modal__box:not(.is__drag){-webkit-transition:all,.2s,ease-out;transition:all,.2s,ease-out}.tiny-modal__wrapper.size__mini,.tiny-modal__wrapper.size__small{font-size:var(--ti-modal-font-size)}.tiny-modal__wrapper.size__mini .tiny-modal__box,.tiny-modal__wrapper.size__small .tiny-modal__box{padding:6px 0}.tiny-modal__wrapper.size__mini .tiny-modal__body,.tiny-modal__wrapper.size__small .tiny-modal__body{padding:4px 14px 10px}.tiny-modal__wrapper.size__mini .tiny-modal__footer,.tiny-modal__wrapper.size__small .tiny-modal__footer{padding:4px 14px 8px}.tiny-modal__wrapper.size__mini .tiny-modal__header,.tiny-modal__wrapper.size__small .tiny-modal__header{font-size:var(--ti-modal-header-font-size);padding:6px 30px 8px 14px}.tiny-modal__wrapper.size__mini .tiny-modal__close-btn,.tiny-modal__wrapper.size__mini .tiny-modal__zoom-btn,.tiny-modal__wrapper.size__small .tiny-modal__close-btn,.tiny-modal__wrapper.size__small .tiny-modal__zoom-btn{font-size:var(--ti-modal-message-status-icon-size);top:10px}.tiny-modal__wrapper.type__alert .tiny-modal__body,.tiny-modal__wrapper.type__confirm .tiny-modal__body,.tiny-modal__wrapper.type__message .tiny-modal__body{white-space:normal;word-break:break-word}.tiny-modal__wrapper.type__message{text-align:center}.tiny-modal__wrapper.type__message .tiny-modal__box{display:inline-block;padding:var(--ti-modal-message-padding-vertical) var(--ti-modal-message-padding-right) var(--ti-modal-message-padding-vertical) var(--ti-modal-message-padding-left);margin-top:0;width:auto;-webkit-box-shadow:var(--ti-modal-message-box-shadow);box-shadow:var(--ti-modal-message-box-shadow);-webkit-transform:translateY(-10%);transform:translateY(-10%);font-size:var(--ti-modal-message-font-size)}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__body{padding:var(--ti-modal-body-padding-top) var(--ti-modal-message-body-padding-horizontal) var(--ti-modal-body-padding-bottom)}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__body [class*=tiny-modal-svg]{width:var(--ti-modal-message-status-icon-size);height:var(--ti-modal-message-status-icon-size)}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__content{max-width:800px}.tiny-modal__wrapper.type__message .tiny-modal__status-wrapper{font-size:var(--ti-modal-message-status-icon-size);padding-right:var(--ti-modal-message-status-icon-padding-right);height:var(--ti-modal-message-icon-box-height)}.tiny-modal__wrapper.type__message .tiny-modal__close-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--ti-modal-message-icon-box-height)}.tiny-modal__wrapper.type__message .tiny-modal__close-wrapper .tiny-modal__close-btn{position:relative;top:0;right:0;-ms-flex-negative:0;flex-shrink:0;font-size:var(--ti-modal-message-close-icon-size);margin-left:var(--ti-modal-message-close-icon-margin-left)}.tiny-modal__wrapper.type__alert .tiny-modal__box,.tiny-modal__wrapper.type__confirm .tiny-modal__box,.tiny-modal__wrapper.type__modal .tiny-modal__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;left:50%;top:0;-webkit-box-shadow:var(--ti-modal-box-shadow);box-shadow:var(--ti-modal-box-shadow);border:1px solid var(--ti-modal-border-color)}.tiny-modal__wrapper.type__alert .tiny-modal__box .tiny-modal__header,.tiny-modal__wrapper.type__confirm .tiny-modal__box .tiny-modal__header,.tiny-modal__wrapper.type__modal .tiny-modal__box .tiny-modal__header{cursor:move}.tiny-modal__wrapper.type__modal .tiny-modal__body,.tiny-modal__wrapper.type__modal .tiny-modal__body .tiny-modal__content{overflow:auto}.tiny-modal__wrapper.type__alert .tiny-modal__status-wrapper,.tiny-modal__wrapper.type__confirm .tiny-modal__status-wrapper{font-size:var(--ti-modal-alert-icon-size);padding-right:var(--ti-modal-status-icon-padding-right)}.tiny-modal__wrapper.status__error .tiny-modal__header,.tiny-modal__wrapper.status__info .tiny-modal__header,.tiny-modal__wrapper.status__question .tiny-modal__header,.tiny-modal__wrapper.status__success .tiny-modal__header,.tiny-modal__wrapper.status__warning .tiny-modal__header{padding-bottom:var(--ti-modal-notification-header-padding-bottom)}.tiny-modal__wrapper.status__info .tiny-modal__status-wrapper{fill:var(--ti-modal-primary-icon-color)}.tiny-modal__wrapper.status__question .tiny-modal__status-wrapper .tiny-svg,.tiny-modal__wrapper.status__warning .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-warning-icon-color)}.tiny-modal__wrapper.status__success .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-success-icon-color)}.tiny-modal__wrapper.status__error .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-error-icon-color)}.tiny-modal__wrapper.status__loading .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-loading-icon-color)}.tiny-modal__wrapper.is__maximize .tiny-modal__box .tiny-modal__header{cursor:default}.tiny-modal__wrapper.is__maximize .tiny-modal__resize .sb-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .selb-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .sest-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .st-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .swlb-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .swst-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .wl-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .wr-resize{display:none}.tiny-modal__box{width:var(--ti-modal-box-width);background-color:var(--ti-modal-box-background-color);border-radius:var(--ti-modal-box-border-radius);font-size:var(--ti-modal-header-font-size);-webkit-box-shadow:var(--ti-modal-box-shadow);box-shadow:var(--ti-modal-box-shadow);text-align:left;pointer-events:auto;visibility:hidden;opacity:0}.tiny-modal__box.is__drag{cursor:move}.tiny-modal__box.is__drag .tiny-modal__body:after,.tiny-modal__box.is__drag .tiny-modal__footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.tiny-modal__box.is__drag .tiny-modal__body,.tiny-modal__box.is__drag .tiny-modal__body .tiny-modal__content{overflow:hidden}.tiny-modal__status-wrapper{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-modal__status-icon{font-style:normal}.tiny-modal__content{width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.tiny-modal__body,.tiny-modal__footer,.tiny-modal__header{position:relative}.tiny-modal__body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:var(--ti-modal-body-padding-top) var(--ti-modal-body-padding-horizontal) var(--ti-modal-body-padding-bottom)}.tiny-modal__header{-ms-flex-negative:0;flex-shrink:0;color:var(--ti-modal-header-text-color);font-size:var(--ti-modal-header-font-size);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:var(--ti-modal-header-font-weight);border-bottom:var(--ti-modal-header-border-bottom);padding:var(--ti-modal-header-padding-top) var(--ti-modal-header-padding-horizontal) var(--ti-modal-header-padding-bottom);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-modal__close-btn,.tiny-modal__zoom-btn{color:var(--ti-modal-btn-close-color);font-size:var(--ti-modal-close-btn-font-size);position:absolute;right:var(--ti-modal-close-btn-right);top:var(--ti-modal-close-btn-top);z-index:1;fill:var(--ti-modal-close-btn-icon-color);-webkit-transform:scale(1,1);transform:scale(1);cursor:pointer;padding:var(--ti-modal-close-btn-padding-horizontal-vertical);border-radius:4px}.tiny-modal__close-btn:hover,.tiny-modal__zoom-btn:hover{fill:var(--ti-modal-close-btn-hover-icon-color);background-color:var(--ti-modal-close-btn-background-color-hover)}.tiny-modal__zoom-btn{right:var(--ti-modal-zoom-btn-right)}.tiny-modal__footer{-ms-flex-negative:0;flex-shrink:0;text-align:center;padding:var(--ti-modal-footer-padding-top) var(--ti-modal-footer-padding-horizontal) var(--ti-modal-footer-padding-bottom)}.tiny-modal__footer .tiny-button{min-width:var(--ti-modal-footer-btn-min-width);border-radius:var(--ti-modal-footer-btn-border-radius)}.tiny-modal__footer .tiny-button--default{display:inline-block}.tiny-modal__resize .sb-resize,.tiny-modal__resize .selb-resize,.tiny-modal__resize .sest-resize,.tiny-modal__resize .st-resize,.tiny-modal__resize .swlb-resize,.tiny-modal__resize .swst-resize,.tiny-modal__resize .wl-resize,.tiny-modal__resize .wr-resize{position:absolute;z-index:100}.tiny-modal__resize .wl-resize,.tiny-modal__resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.tiny-modal__resize .wl-resize{left:-3px}.tiny-modal__resize .wr-resize{right:-3px}.tiny-modal__resize .selb-resize,.tiny-modal__resize .sest-resize,.tiny-modal__resize .swlb-resize,.tiny-modal__resize .swst-resize{width:10px;height:10px;z-index:101}.tiny-modal__resize .sest-resize,.tiny-modal__resize .swst-resize{top:-8px}.tiny-modal__resize .selb-resize,.tiny-modal__resize .swlb-resize{bottom:-8px}.tiny-modal__resize .sest-resize,.tiny-modal__resize .swlb-resize{cursor:sw-resize}.tiny-modal__resize .selb-resize,.tiny-modal__resize .swst-resize{cursor:se-resize}.tiny-modal__resize .swlb-resize,.tiny-modal__resize .swst-resize{left:-8px}.tiny-modal__resize .selb-resize,.tiny-modal__resize .sest-resize{right:-8px}.tiny-modal__resize .sb-resize,.tiny-modal__resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.tiny-modal__resize .st-resize{top:-3px}.tiny-modal__resize .sb-resize{bottom:-3px}.tiny-mobile-modal{--ti-mobile-modal-text-font-size:14px;--ti-mobile-modal-header-font-size:16px;--ti-mobile-modal-text-color:var(--ti-mobile-common-color-text-primary, #191919);--ti-mobile-modal-alert-font-size:22px;--ti-mobile-modal-box-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-modal-box-shadow:0 8px 40px 0 rgba(0, 0, 0, .2);--ti-mobile-modal-close-btn-top:13px;--ti-mobile-modal-close-btn-scale:scale(1, 1);--ti-mobile-modal-close-btn-bg-color-hover:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-modal-btn-width:112px;--ti-mobile-modal-single-btn-width:144px;--ti-mobile-modal-btn-height:36px;--ti-mobile-modal-cancel-btn-bg-color:var(--ti-mobile-common-bg-color-dark-gray, #f5f5f5)}.tiny-mobile-modal__wrapper{display:none;position:fixed;top:0;left:0;width:100%;height:100%;font-size:var(--ti-mobile-modal-text-font-size);color:var(--ti-mobile-modal-text-color);-webkit-transition:top .4s;transition:top .4s}.tiny-mobile-modal__wrapper.active{display:block}.tiny-mobile-modal__wrapper.is__visible.is__mask:before{background-color:#0000004d}.tiny-mobile-modal__wrapper.is__visible.type__message .tiny-mobile-modal__box{-webkit-transform:translateY(0);transform:translateY(0)}.tiny-mobile-modal__wrapper.is__visible:not(.type__message) .tiny-mobile-modal__box:not(.is__drag){top:15vh;-webkit-transition:top 0s ease-in,opacity .4s ease-in;transition:top 0s ease-in,opacity .4s ease-in}.tiny-mobile-modal__wrapper.is__visible .tiny-mobile-modal__box{opacity:1;visibility:visible}.tiny-mobile-modal__wrapper:not(.lock__view){pointer-events:none}.tiny-mobile-modal__wrapper.lock__scroll{overflow:hidden}.tiny-mobile-modal__wrapper:not(.lock__scroll){overflow:auto}.tiny-mobile-modal__wrapper:not(.type__message) .tiny-mobile-modal__text{font-size:var(--ti-mobile-modal-text-font-size);color:var(--ti-mobile-common-color-text-secondary);line-height:1.5}.tiny-mobile-modal__wrapper.is__mask:before,.tiny-mobile-modal__wrapper.lock__view:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.tiny-mobile-modal__wrapper.is__animat.is__mask:before{-webkit-transition:background-color,.2s,ease-in-out;transition:background-color,.2s,ease-in-out}.tiny-mobile-modal__wrapper.is__animat.type__message .tiny-mobile-modal__box:not(.is__drag){-webkit-transition:all,.2s,ease-out;transition:all,.2s,ease-out}.tiny-mobile-modal__wrapper.size__mini,.tiny-mobile-modal__wrapper.size__small{font-size:var(--ti-mobile-modal-text-font-size)}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__box,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__box{padding:6px 0}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__body{padding:4px 14px 10px}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__footer,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__footer{padding:4px 14px 8px}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__header,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__header{font-size:var(--ti-mobile-modal-header-font-size);padding:6px 30px 8px 14px}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__close-btn,.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__zoom-btn,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__close-btn,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__zoom-btn{font-size:var(--ti-mobile-modal-header-font-size);top:10px}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__body{white-space:normal;word-break:break-word}.tiny-mobile-modal__wrapper.type__message{text-align:center}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__box{display:inline-block;padding:24px;margin-top:0;width:auto;-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.1);box-shadow:0 0 8px #0000001a;-webkit-transform:translateY(-10%);transform:translateY(-10%)}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__box .tiny-mobile-modal__body:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__box .tiny-mobile-modal__content{max-width:800px;float:left}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__status-wrapper{font-size:var(--ti-mobile-modal-small-btn-font-size);padding-right:10px}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__box,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__box,.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;left:50%;top:0;-webkit-box-shadow:var(--ti-mobile-modal-box-shadow);box-shadow:var(--ti-mobile-modal-box-shadow);border:1px solid var(--ti-mobile-modal-border-color)}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__box .tiny-mobile-modal__header,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__box .tiny-mobile-modal__header,.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__box .tiny-mobile-modal__header{cursor:move}.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__body .tiny-mobile-modal__content{overflow:auto}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__status-wrapper,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__status-wrapper{font-size:var(--ti-mobile-modal-alert-font-size);padding:0 10px 0 2px}.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__box .tiny-mobile-modal__header{cursor:default}.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .sb-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .st-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .swst-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .wl-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .wr-resize{display:none}.tiny-mobile-modal__box{width:90%;background-color:var(--ti-mobile-modal-box-bg-color);border-radius:16px;font-size:var(--ti-mobile-modal-header-font-size);-webkit-box-shadow:var(--ti-mobile-modal-box-shadow);box-shadow:var(--ti-mobile-modal-box-shadow);text-align:left;pointer-events:auto;visibility:hidden;opacity:0;padding-top:12px}.tiny-mobile-modal__box.is__drag{cursor:move}.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__body:after,.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__footer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__body,.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__body .tiny-mobile-modal__content{overflow:hidden}.tiny-mobile-modal__status-wrapper{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-modal__status-icon{font-style:normal}.tiny-mobile-modal__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.tiny-mobile-modal__body,.tiny-mobile-modal__footer,.tiny-mobile-modal__header{position:relative}.tiny-mobile-modal__body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:20px 44px 28px}.tiny-mobile-modal__header{-ms-flex-negative:0;flex-shrink:0;color:var(--ti-mobile-modal-text-color);font-size:var(--ti-mobile-modal-header-font-size);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:500;border-bottom:none;padding:20px 44px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-mobile-modal__close-btn,.tiny-mobile-modal__zoom-btn{font-size:var(--ti-mobile-modal-header-font-size);position:absolute;right:24px;top:var(--ti-mobile-modal-close-btn-top);z-index:1;fill:var(--ti-mobile-modal-text-color);-webkit-transform:var(--ti-mobile-modal-close-btn-scale);transform:var(--ti-mobile-modal-close-btn-scale);cursor:pointer;padding:0;border-radius:4px}.tiny-mobile-modal__close-btn:hover,.tiny-mobile-modal__zoom-btn:hover{fill:var(--ti-mobile-modal-text-color);background-color:var(--ti-mobile-modal-close-btn-bg-color-hover)}.tiny-mobile-modal__zoom-btn{right:44px;border-color:#c0c4cc}.tiny-mobile-modal__zoom-btn:hover{border-color:#606266}.tiny-mobile-modal__footer{-ms-flex-negative:0;flex-shrink:0;text-align:center;padding-bottom:32px}.tiny-mobile-modal__footer .tiny-mobile-button{border-radius:18px;width:var(--ti-mobile-modal-btn-width);height:var(--ti-mobile-modal-btn-height);line-height:var(--ti-mobile-modal-btn-height)}.tiny-mobile-modal__footer .tiny-mobile-button__single{width:var(--ti-mobile-modal-single-btn-width)}.tiny-mobile-modal__footer .tiny-mobile-button--default{display:inline-block;margin-right:16px;background-color:var(--ti-mobile-modal-cancel-btn-bg-color,#f5f5f5);border:none;color:var(--ti-mobile-modal-text-color)}.tiny-mobile-modal__resize .sb-resize,.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .st-resize,.tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__resize .swst-resize,.tiny-mobile-modal__resize .wl-resize,.tiny-mobile-modal__resize .wr-resize{position:absolute;z-index:100}.tiny-mobile-modal__resize .wl-resize,.tiny-mobile-modal__resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.tiny-mobile-modal__resize .wl-resize{left:-8px/2 + 1}.tiny-mobile-modal__resize .wr-resize{right:-8px/2 + 1}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__resize .swst-resize{width:10px;height:10px;z-index:101}.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .swst-resize{top:-8px}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .swlb-resize{bottom:-8px}.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .swlb-resize{cursor:sw-resize}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .swst-resize{cursor:se-resize}.tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__resize .swst-resize{left:-8px}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .sest-resize{right:-8px}.tiny-mobile-modal__resize .sb-resize,.tiny-mobile-modal__resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.tiny-mobile-modal__resize .st-resize{top:-8px/2 + 1}.tiny-mobile-modal__resize .sb-resize{bottom:-8px/2 + 1}@-webkit-keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@-webkit-keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.tiny-checkbox-button{--ti-checkbox-width:var(--ti-common-size-4x, 16px);--ti-checkbox-height:var(--ti-common-size-4x, 16px);--ti-checkbox-text-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-checkbox-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-bg-color:var(--ti-common-color-transparent, transparent);--ti-checkbox-bg-color-checked:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-border-color-checked:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-checkbox-bg-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-font-normal-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-font-medium-line-height:var(--ti-common-line-height-3, 18px);--ti-checkbox-font-small-line-height:var(--ti-common-line-height-2, 16px);--ti-checkbox-font-mini-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-icon-height:var(--ti-common-size-2x, 8px);--ti-checkbox-icon-width:var(--ti-common-size-base, 4px);--ti-checkbox-icon-margin-left:var(--ti-common-space-base, 4px);--ti-checkbox-icon-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-bg-color-disable:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-icon-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-border-color-unchecked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-label-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-bg-color-checked-disabled:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-border-color-checked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-checkline-width:var(--ti-common-border-weight-1, 2px);--ti-checkbox-label-margin-right:var(--ti-common-space-5x, 20px);--ti-checkbox-button-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-checkbox-shadow-color:#dfe1e6;--ti-checkbox-button-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-hover-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-button-checked-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-button-bg-color-hover:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-button-border-color:#e9edfa;--ti-checkbox-button-border-color-hover:#c2c2c2;--ti-checkbox-button-border-radius:0px;--ti-checkbox-disabled-border-color:#dbdbdb;--ti-checkbox-button-padding-vertical:5px;--ti-checkbox-button-height:24px;--ti-checkbox-button-margin-horizontal:2px;--ti-checkbox-button-mini-margin-horizontal:2px;--ti-checkbox-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-size-mini-border-radius:0px;--ti-checkbox-button-size-small-padding-horizontal:15px;--ti-checkbox-button-size-small-height:30px;--ti-checkbox-button-checked-display:none;--ti-checkbox-button-margin-top:8px;--ti-checkbox-button-mini-padding-horizontal:12px;--ti-checkbox-button-mini-left-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-mini-right-border-radius:0px;--ti-checkbox-button-mini-last-left-border-radius:0px;--ti-checkbox-button-mini-last-right-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-right-border-radius:0px;--ti-checkbox-button-left-border-radius:0px;position:relative;display:inline-block;margin-top:var(--ti-checkbox-button-margin-top)}.tiny-checkbox-button:first-child .tiny-checkbox-button__inner{border-radius:var(--ti-common-border-radius-normal) var(--ti-checkbox-button-right-border-radius) var(--ti-checkbox-button-right-border-radius) var(--ti-common-border-radius-normal)}.tiny-checkbox-button:last-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-button-left-border-radius) var(--ti-common-border-radius-normal) var(--ti-common-border-radius-normal) var(--ti-checkbox-button-left-border-radius)}.tiny-checkbox-button.is-checked:after{content:"";position:absolute;width:0;height:0;right:4px;top:0;border-bottom:20px solid transparent;border-right:20px solid var(--ti-checkbox-button-checked-border-color);border-top-right-radius:6px;display:var(--ti-checkbox-button-checked-display)}.tiny-checkbox-button.is-checked:before{display:var(--ti-checkbox-button-checked-display);right:7px;top:1px;-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:.5px solid #fff;border-width:0 var(--ti-checkbox-checkline-width) var(--ti-checkbox-checkline-width) 0;border-left:0;border-top:0;height:8px;width:4px;position:absolute;margin-left:var(--ti-checkbox-icon-margin-left);margin-top:var(--ti-checkbox-icon-margin-top);transition:transform .15s ease-in 50ms,-webkit-transform .15s ease-in 50ms;-webkit-transform-origin:center;transform-origin:center;z-index:3;-webkit-transform:rotate(45deg) scale(.7);transform:rotate(45deg) scale(.7)}.tiny-checkbox-button.is-checked .tiny-checkbox-button__inner{color:var(--ti-checkbox-button-checked-text-color);border-color:var(--ti-checkbox-button-checked-border-color);-webkit-box-shadow:-1px 0 0 0 var(--ti-checkbox-shadow-color);box-shadow:-1px 0 0 0 var(--ti-checkbox-shadow-color);background-color:var(--ti-checkbox-button-checked-bg-color)}.tiny-checkbox-button.is-checked:first-child .tiny-checkbox-button__inner{border-left-color:var(--ti-checkbox-button-checked-border-color);-webkit-box-shadow:none;box-shadow:none}.tiny-checkbox-button.is-disabled .tiny-checkbox-button__inner{color:var(--ti-checkbox-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--ti-checkbox-button-disabled-bg-color);border-color:var(--ti-checkbox-disabled-border-color);-webkit-box-shadow:none;box-shadow:none}.tiny-checkbox-button.is-disabled:first-child .tiny-checkbox-button__inner{border-left-color:var(--ti-checkbox-border-color)}.tiny-checkbox-button.is-disabled.is-checked:after{border-right:20px solid var(--ti-checkbox-disabled-border-color)}.tiny-checkbox-button.is-disabled.is-checked .tiny-checkbox-button__inner{color:var(--ti-checkbox-button-disabled-text-color);border-color:var(--ti-checkbox-disabled-border-color);background-color:var(--ti-checkbox-button-disabled-bg-color)}.tiny-checkbox-button__inner{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;outline:0;line-height:1;font-weight:500;cursor:pointer;background:var(--ti-checkbox-button-bg-color);border-left:0;border:1px solid var(--ti-checkbox-button-border-color);color:var(--ti-checkbox-button-text-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 var(--ti-checkbox-button-margin-horizontal);-webkit-transition:border-color .3s cubic-bezier(.645,.045,.355,1),background-color .3s cubic-bezier(.645,.045,.355,1);transition:border-color .3s cubic-bezier(.645,.045,.355,1),background-color .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:var(--ti-checkbox-button-font-size);border-radius:var(--ti-checkbox-button-border-radius);-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-checkbox-button__inner.is-round{padding:12px 20px}.tiny-checkbox-button__inner:hover{background:var(--ti-checkbox-button-bg-color-hover);color:var(--ti-checkbox-button-hover-text-color);border:1px solid var(--ti-checkbox-button-border-color-hover)}.tiny-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.tiny-checkbox-button--medium .tiny-checkbox-button__inner{padding:14px 20px;font-size:var(--ti-common-font-size-1);border-radius:var(--ti-checkbox-button-border-radius)}.tiny-checkbox-button--medium .tiny-checkbox-button__inner.is-round{padding:14px 20px}.tiny-checkbox-button--small .tiny-checkbox-button__inner{height:var(--ti-checkbox-button-size-small-height);line-height:calc(var(--ti-checkbox-button-size-small-height) - 2px);padding:0 var(--ti-checkbox-button-size-small-padding-horizontal);font-size:var(--ti-common-font-size-base);border-radius:var(--ti-checkbox-button-border-radius)}.tiny-checkbox-button--small .tiny-checkbox-button__inner.is-round{padding:8px 15px}.tiny-checkbox-button--mini .tiny-checkbox-button__inner{padding:var(--ti-checkbox-button-padding-vertical) var(--ti-checkbox-button-mini-padding-horizontal);height:var(--ti-checkbox-button-height);margin:0 var(--ti-checkbox-button-mini-margin-horizontal);font-size:var(--ti-checkbox-button-size-mini-font-size);border-radius:var(--ti-checkbox-button-size-mini-border-radius)}.tiny-checkbox-button--mini .tiny-checkbox-button__inner.is-round{padding:5px 15px}.tiny-checkbox-button.tiny-checkbox-button--mini:first-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-button-mini-left-border-radius) var(--ti-checkbox-button-mini-right-border-radius) var(--ti-checkbox-button-mini-right-border-radius) var(--ti-checkbox-button-mini-left-border-radius)}.tiny-checkbox-button.tiny-checkbox-button--mini:last-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-button-mini-last-left-border-radius) var(--ti-checkbox-button-mini-right-border-radius) var(--ti-checkbox-button-mini-last-right-border-radius) var(--ti-checkbox-button-mini-last-left-border-radius)}.tiny-checkbox-button--mini.is-checked:after{border-bottom:16px solid transparent;border-right:16px solid var(--ti-checkbox-button-checked-border-color);border-top-right-radius:4px;right:3px}.tiny-checkbox-button--mini.is-checked:before{height:8px;width:4px;right:3px;top:1px}.tiny-checkbox-button input:focus-visible+.tiny-checkbox-button__inner{outline:2px solid var(--ti-checkbox-button-checked-bg-color);outline-offset:1px}.tiny-checkbox-group{--ti-checkbox-width:var(--ti-common-size-4x, 16px);--ti-checkbox-height:var(--ti-common-size-4x, 16px);--ti-checkbox-text-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-checkbox-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-bg-color:var(--ti-common-color-transparent, transparent);--ti-checkbox-bg-color-checked:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-border-color-checked:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-checkbox-bg-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-font-normal-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-font-medium-line-height:var(--ti-common-line-height-3, 18px);--ti-checkbox-font-small-line-height:var(--ti-common-line-height-2, 16px);--ti-checkbox-font-mini-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-icon-height:var(--ti-common-size-2x, 8px);--ti-checkbox-icon-width:var(--ti-common-size-base, 4px);--ti-checkbox-icon-margin-left:var(--ti-common-space-base, 4px);--ti-checkbox-icon-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-bg-color-disable:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-icon-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-border-color-unchecked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-label-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-bg-color-checked-disabled:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-border-color-checked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-checkline-width:var(--ti-common-border-weight-1, 2px);--ti-checkbox-label-margin-right:var(--ti-common-space-5x, 20px);--ti-checkbox-button-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-checkbox-shadow-color:#dfe1e6;--ti-checkbox-button-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-hover-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-button-checked-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-button-bg-color-hover:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-button-border-color:#e9edfa;--ti-checkbox-button-border-color-hover:#c2c2c2;--ti-checkbox-button-border-radius:0px;--ti-checkbox-disabled-border-color:#dbdbdb;--ti-checkbox-button-padding-vertical:5px;--ti-checkbox-button-height:24px;--ti-checkbox-button-margin-horizontal:2px;--ti-checkbox-button-mini-margin-horizontal:2px;--ti-checkbox-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-size-mini-border-radius:0px;--ti-checkbox-button-size-small-padding-horizontal:15px;--ti-checkbox-button-size-small-height:30px;--ti-checkbox-button-checked-display:none;--ti-checkbox-button-margin-top:8px;--ti-checkbox-button-mini-padding-horizontal:12px;--ti-checkbox-button-mini-left-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-mini-right-border-radius:0px;--ti-checkbox-button-mini-last-left-border-radius:0px;--ti-checkbox-button-mini-last-right-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-right-border-radius:0px;--ti-checkbox-button-left-border-radius:0px;--ti-checkbox-group-margin-bottom:var(--ti-common-space-2x, 8px);--ti-checkbox-group-flex-wrap:wrap;--ti-checkbox-group-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-group-1st-child-border-radius:var(--ti-common-space-0, 0px);--ti-checkbox-group-last-child-border-radius:var(--ti-common-space-0, 0px);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:var(--ti-checkbox-group-flex-wrap);flex-wrap:var(--ti-checkbox-group-flex-wrap);width:100%;margin-top:var(--ti-checkbox-group-margin-top)}.tiny-checkbox-group.is-vertical{display:inline-block}.tiny-checkbox-group.is-vertical .tiny-checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:0}.tiny-checkbox-group.is-vertical .tiny-checkbox:not(:last-child){margin-bottom:var(--ti-checkbox-group-margin-bottom)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button{display:block;width:-webkit-min-content;width:-moz-min-content;width:min-content}.tiny-checkbox-group.is-vertical .tiny-checkbox-button:first-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-group-1st-child-border-radius)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button:last-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-group-last-child-border-radius)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button.is-checked .tiny-checkbox-button__inner{-webkit-box-shadow:0 -1px 0 0 var(--ti-checkbox-shadow-color);box-shadow:0 -1px 0 0 var(--ti-checkbox-shadow-color);border-color:var(--ti-checkbox-button-checked-border-color)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button.is-checked.is-disabled .tiny-checkbox-button__inner{-webkit-box-shadow:0 -1px 0 0 var(--ti-checkbox-border-color);box-shadow:0 -1px 0 0 var(--ti-checkbox-border-color);border-color:var(--ti-checkbox-border-color);background:var(--ti-checkbox-disabled-bg-color)}.tiny-mobile-checkbox-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.tiny-mobile-checkbox-group.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-mobile-checkbox-group.is-vertical .tiny-mobile-checkbox:last-of-type{margin-right:30px}.tiny-popconfirm{--ti-popconfirm-popover-line-height:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-footer-justify-content:flex-end;--ti-popconfirm-popover-footer-font-size:var(--ti-common-font-size-base, 12px);--ti-popconfirm-popover-footer-font-color:#161e26;--ti-popconfirm-popover-container-padding-vertical:var(--ti-common-space-base, 4px);--ti-popconfirm-popover-icon-width:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-icon-margin-right:var(--ti-common-space-2x, 8px);--ti-popconfirm-popover-footer-margin-top:var(--ti-common-space-4x, 16px);display:inline-block}.tiny-popconfirm__reference{display:inline-block}.tiny-popconfirm-popover{--ti-popconfirm-popover-line-height:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-footer-justify-content:flex-end;--ti-popconfirm-popover-footer-font-size:var(--ti-common-font-size-base, 12px);--ti-popconfirm-popover-footer-font-color:#161e26;--ti-popconfirm-popover-container-padding-vertical:var(--ti-common-space-base, 4px);--ti-popconfirm-popover-icon-width:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-icon-margin-right:var(--ti-common-space-2x, 8px);--ti-popconfirm-popover-footer-margin-top:var(--ti-common-space-4x, 16px);min-width:168px;max-width:90vw}.tiny-popconfirm-popover__container{padding:var(--ti-popconfirm-popover-container-padding-vertical) 0;font-size:var(--ti-popconfirm-popover-footer-font-size);color:var(--ti-popconfirm-popover-footer-font-color)}.tiny-popconfirm-popover__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:var(--ti-popconfirm-popover-line-height)}.tiny-popconfirm-popover__icon{height:var(--ti-popconfirm-popover-icon-width);width:var(--ti-popconfirm-popover-icon-width);margin-right:var(--ti-popconfirm-popover-icon-margin-right)}.tiny-popconfirm-popover__title{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.tiny-popconfirm-popover__content{color:#5c6976;line-height:var(--ti-popconfirm-popover-line-height)}.tiny-popconfirm-popover__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:var(--ti-popconfirm-popover-footer-justify-content);-ms-flex-pack:var(--ti-popconfirm-popover-footer-justify-content);justify-content:var(--ti-popconfirm-popover-footer-justify-content);margin-top:var(--ti-popconfirm-popover-footer-margin-top)}.tiny-popconfirm-popover__confirm-button,.tiny-popconfirm-popover__cancel-button{width:72px}.tiny-popconfirm-popover--info{fill:#5cacff}.tiny-popconfirm-popover--error{fill:#eb171f}.tiny-popconfirm-popover--warning{fill:#fdc000}.tiny-popconfirm-popover--success{fill:#00a874}.tiny-switch{--ti-switch-on-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-switch-off-bg-color:var(--ti-common-color-bg-secondary, #adb0b8);--ti-switch-disabled-bg-color:var(--ti-common-color-bg-dark-disabled, #dfe1e6);--ti-switch-checked-disabled-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-switch-checked-disabled-border-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-switch-disabled-text-color:var(--ti-common-color-info-disabled, #bfbfbf);--ti-switch-disabled-dot-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-switch-dot-bg-color:var(--ti-common-color-light, #fff);--ti-switch-dot-size:var(--ti-common-size-4x, 16px);--ti-switch-dot-position-left:var(--ti-common-space-1, 1px);--ti-switch-dot-position-top:var(--ti-common-space-1, 1px);--ti-switch-dot-offset:calc(var(--ti-switch-dot-size) + var(--ti-switch-dot-position-left));--ti-switch-text-color:var(--ti-common-color-light, #fff);--ti-switch-width:calc(var(--ti-common-size-base, 4px) * 9.5);--ti-switch-height:var(--ti-common-size-5x, 20px);--ti-switch-border-radius:var(--ti-common-size-6x, 24px);--ti-switch-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-switch-inner-font-size:12px;--ti-switch-inner-position-left:var(--ti-common-space-4x, 16px);--ti-switch-text-width:calc(var(--ti-common-size-11x, 44px) + 1px);display:inline-block;width:var(--ti-switch-width);height:var(--ti-switch-height);line-height:calc(var(--ti-switch-height) - var(--ti-switch-border-weight) * 2);border-radius:var(--ti-switch-border-radius);vertical-align:middle;border:var(--ti-switch-border-weight) solid var(--ti-switch-off-bg-color);background-color:var(--ti-switch-off-bg-color);position:relative;cursor:pointer;outline:0;-webkit-transition:border .2s ease-in-out,background-color .2s ease-in-out;transition:border .2s ease-in-out,background-color .2s ease-in-out}.tiny-switch:focus-visible{outline:2px solid var(--ti-switch-on-bg-color);outline-offset:1px}.tiny-switch .tiny-switch-inner{color:var(--ti-switch-text-color);font-size:var(--ti-switch-inner-font-size);position:absolute}.tiny-switch__text{width:var(--ti-switch-text-width)}.tiny-switch__text .tiny-switch-inner{left:calc(var(--ti-switch-dot-size));width:calc(100% - var(--ti-switch-dot-size));text-align:center;overflow:hidden}.tiny-switch.mini{width:calc(var(--ti-switch-width) - 4px)}.tiny-switch.disabled,.tiny-switch.tiny-switch-checked.disabled{cursor:not-allowed;background:var(--ti-switch-disabled-bg-color);border-color:var(--ti-switch-disabled-bg-color)}.tiny-switch.disabled:after,.tiny-switch.tiny-switch-checked.disabled:after{background:var(--ti-switch-disabled-dot-bg-color);cursor:not-allowed}.tiny-switch.disabled .tiny-switch-inner,.tiny-switch.tiny-switch-checked.disabled .tiny-switch-inner{color:var(--ti-switch-disabled-text-color)}.tiny-switch.tiny-switch-checked.disabled{background:var(--ti-switch-checked-disabled-bg-color);border-color:var(--ti-switch-checked-disabled-border-color)}.tiny-switch:after{content:"";width:var(--ti-switch-dot-size);height:var(--ti-switch-dot-size);border-radius:50%;background-color:var(--ti-switch-dot-bg-color);position:absolute;left:var(--ti-switch-dot-position-left);top:var(--ti-switch-dot-position-top);cursor:pointer;-webkit-transition:left .2s ease-in-out,width .2s ease-in-out;transition:left .2s ease-in-out,width .2s ease-in-out}.tiny-switch.tiny-switch-checked{border-color:var(--ti-switch-on-bg-color);background-color:var(--ti-switch-on-bg-color)}.tiny-switch.tiny-switch-checked .tiny-switch-inner{left:2px;width:calc(100% - var(--ti-switch-dot-size));text-align:center;overflow:hidden}.tiny-switch.tiny-switch-checked:after{left:calc(100% - var(--ti-switch-dot-offset))}.tiny-mobile-switch{--ti-mobile-switch-width-normal:calc(var(--ti-mobile-base-size-width-small) + 4px);--ti-mobile-switch-height-mormal:var(--ti-mobile-base-size-height-mini, 24px);--ti-mobile-switch-width-mini:var(--ti-mobile-base-size-width-small, 36px);--ti-mobile-switch-height-mini:calc(var(--ti-mobile-base-size-height-mini) - 4px);--ti-mobile-switch-btn-size-normal:calc(var(--ti-mobile-base-size-width-min) - 6px);--ti-mobile-switch-btn-size-mini:calc(var(--ti-mobile-base-size-width-min) - 8px);--ti-mobile-switch-bg-color-default:var(--ti-mobile-color-bg-control-default, #c2c2c2);--ti-mobile-switch-bg-color-disabled:var(--ti-mobile-color-bg-control-disable-1, #dbdbdb);--ti-mobile-switch-bg-color-checked-disabled:var(--ti-mobile-color-bg-control-disable-2, #b3d6ff);--ti-mobile-switch-bg-color-checked:var(--ti-mobile-color-bg-control-active, #1476ff);width:var(--ti-mobile-switch-width-normal,40px);height:var(--ti-mobile-switch-height-mormal,24px);border-radius:999px;background-color:var(--ti-mobile-switch-bg-color-default,#c2c2c2);position:relative;cursor:pointer;display:inline-block;vertical-align:middle;outline:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.tiny-mobile-switch.mini{width:var(--ti-mobile-switch-width-small,36px);height:var(--ti-mobile-switch-height-small,20px)}.tiny-mobile-switch.disabled{background-color:var(--ti-mobile-switch-bg-color-disabled,#dbdbdb);cursor:not-allowed}.tiny-mobile-switch.disabled:after{cursor:not-allowed}.tiny-mobile-switch.disabled.tiny-mobile-switch-checked{background-color:var(--ti-mobile-switch-bg-color-checked-disabled,#b3d6ff)}.tiny-mobile-switch.disabled.tiny-mobile-switch-checked:after{border-color:#0000001a}.tiny-mobile-switch:after{content:"";width:var(--ti-mobile-switch-btn-size-normal,18px);height:var(--ti-mobile-switch-btn-size-normal,18px);border-radius:50%;background-color:var(--ti-mobile-switch-font-color,#fff);-webkit-box-shadow:0 3px 3px rgba(0,0,0,.1);box-shadow:0 3px 3px #0000001a;position:absolute;left:3px;top:calc(calc(var(--ti-mobile-switch-height-mormal) - var(--ti-mobile-switch-btn-size-normal,18px))/ 2);cursor:pointer;-webkit-transition:left .2s ease-in-out,width .2s ease-in-out;transition:left .2s ease-in-out,width .2s ease-in-out;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-mobile-switch.mini:after{width:var(--ti-mobile-switch-btn-size-mini,16px);height:var(--ti-mobile-switch-btn-size-mini,16px);top:calc(calc(var(--ti-mobile-switch-height-mini,20px) - var(--ti-mobile-switch-btn-size-mini,16px))/ 2);left:2px}.tiny-mobile-switch.tiny-mobile-switch-checked{background-color:var(--ti-mobile-switch-bg-color-checked,#1476ff)}.tiny-mobile-switch.tiny-mobile-switch-checked:after{left:calc(calc(100% - var(--ti-mobile-switch-btn-size-normal,18px)) - 3px)}.tiny-mobile-switch.tiny-mobile-switch-checked.mini:after{left:calc(calc(100% - var(--ti-mobile-switch-btn-size-mini,16px)) - 2px)}.tiny-mobile-switch.mini.checked:after{left:calc(calc(100% - var(--ti-mobile-switch-btn-size-mini,16px)) - 2px)}.tiny-mobile-switch-loading{width:calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px);height:calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px);position:absolute;z-index:2;top:calc(50% - calc(calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px)/ 2));left:calc(calc(calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px)/ 2)) + 3px);border-radius:50%;background-image:conic-gradient(#dbdbdb01,#dbdbdb);-webkit-animation:circle 1.5s linear infinite;animation:circle 1.5s linear infinite;display:inline-block}.tiny-mobile-switch-loading-inner{width:calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2);height:calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2);border-radius:50%;background-color:#fff;position:absolute;top:2px;left:2px}.tiny-mobile-switch.mini .tiny-mobile-switch-loading{width:calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px);height:calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px);top:calc(50% - calc(calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px)/ 2));left:calc(calc(calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px)/ 2)) + 2px)}.tiny-mobile-switch.mini .tiny-mobile-switch-loading-inner{width:calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2);height:calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2)}.tiny-mobile-switch.tiny-mobile-switch-checked .tiny-mobile-switch-loading{left:calc(calc(calc(calc(calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px)/ 2)) + 3px) + 50%) - 3px);background-image:conic-gradient(#b3d6ff01,#b3d6ff)}.tiny-mobile-switch.tiny-mobile-switch-checked.mini .tiny-mobile-switch-loading{left:calc(calc(calc(calc(calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px)/ 2)) + 2px) + 50%) - 2px)}@-webkit-keyframes circle{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circle{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.tiny-collapse{border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9}.tiny-radio{--ti-radio-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-radio-font-size:var(--ti-common-font-size-base, 12px);--ti-radio-bordered-height:var(--ti-common-size-10x, 40px);--ti-radio-bordered-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-radio-bordered-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-radio-input-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-radio-bordered-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-bordered-checked-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-radio-bordered-hover-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-bordered-checked-hover-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-bordered-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-radio-input-checked-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-radio-input-checked-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-radio-input-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-radio-inner-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-radio-inner-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-radio-inner-size:var(--ti-common-size-2x, 8px);--ti-radio-inner-checked-disabled-bg-color:var(--ti-common-color-bg-secondary, #adb0b8);--ti-radio-medium-height:var(--ti-common-size-height-small, 32px);--ti-radio-medium-inner-height:calc(var(--ti-common-size-3x, 12px) + 2px);--ti-radio-medium-inner-width:calc(var(--ti-common-size-3x, 12px) + 2px);--ti-radio-small-height:var(--ti-common-size-8x, 32px);--ti-radio-small-inner-height:var(--ti-common-size-3x, 12px);--ti-radio-small-inner-width:var(--ti-common-size-3x, 12px);--ti-radio-mini-height:var(--ti-common-size-7x, 28px);--ti-radio-mini-inner-height:var(--ti-common-size-3x, 12px);--ti-radio-mini-inner-width:var(--ti-common-size-3x, 12px);--ti-radio-inner-border-radius:100%;--ti-radio-mini-bordered-padding-vertical:var(--ti-common-space-0, 0px);--ti-radio-mini-bordered-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-radio-bordered-padding-vertical:var(--ti-common-space-base, 4px);--ti-radio-bordered-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-radio-mini-bordered-margin-left:var(--ti-common-space-10, 10px);--ti-radio-inner-width:var(--ti-common-size-4x, 16px);--ti-radio-inner-height:var(--ti-common-size-4x, 16px);--ti-radio-margin-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-radio-inner-checked-hover-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-radio-button-margin-bottom:var(--ti-common-space-2x, 8px);color:var(--ti-radio-text-color);font-weight:500;margin-right:var(--ti-radio-margin-right);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;cursor:pointer;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-radio:last-child{margin-right:0}.tiny-radio.is-bordered{padding:var(--ti-radio-mini-bordered-padding-vertical) var(--ti-radio-mini-bordered-padding-horizontal);border-radius:var(--ti-radio-bordered-border-radius);border:1px solid var(--ti-radio-bordered-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--ti-radio-bordered-height)}.tiny-radio.is-bordered+.tiny-radio.is-bordered{margin-left:var(--ti-radio-mini-bordered-margin-left)}.tiny-radio.is-bordered.is-checked{border-color:var(--ti-radio-bordered-checked-border-color)}.tiny-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--ti-radio-bordered-border-color)}.tiny-radio,.tiny-radio__input{white-space:nowrap;line-height:1;outline:0}.tiny-radio__input{cursor:pointer;line-height:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-radio__input{display:inline-block}}@supports (-ms-ime-align:auto){.tiny-radio__input{display:inline-block}}.tiny-radio__input.is-checked .tiny-radio__inner{border-color:var(--ti-radio-bordered-checked-border-color);background:var(--ti-radio-bordered-checked-background-color)}.tiny-radio__input.is-checked .tiny-radio__inner:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background-color:var(--ti-radio-inner-checked-bg-color)}.tiny-radio__input.is-checked:hover .tiny-radio__inner:after{background-color:var(--ti-radio-inner-checked-hover-bg-color)}.tiny-radio__input.is-checked:not(.is-disabled) .tiny-radio__inner:hover{border-color:var(--ti-radio-bordered-checked-hover-border-color)}.tiny-radio__input.is-disabled .tiny-radio__inner{border-color:var(--ti-radio-input-disabled-border-color)}.tiny-radio__input.is-disabled .tiny-radio__inner,.tiny-radio__input.is-disabled .tiny-radio__inner:after{cursor:not-allowed;background-color:var(--ti-radio-input-disabled-bg-color)}.tiny-radio__input.is-disabled .tiny-radio__inner+.tiny-radio__label{cursor:not-allowed}.tiny-radio__input.is-disabled.is-checked .tiny-radio__inner{background-color:var(--ti-radio-input-checked-disabled-bg-color);border-color:var(--ti-radio-input-checked-disabled-border-color)}.tiny-radio__input.is-disabled.is-checked .tiny-radio__inner:after{background-color:var(--ti-radio-inner-checked-disabled-bg-color)}.tiny-radio__input.is-disabled+span.tiny-radio__label{color:var(--ti-radio-input-disabled-text-color);cursor:not-allowed}.tiny-radio__inner{border:1px solid var(--ti-radio-bordered-border-color);border-radius:100%;width:var(--ti-radio-inner-width);height:var(--ti-radio-inner-height);background-color:var(--ti-radio-inner-bg-color);position:relative;display:inline-block;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0}.tiny-radio__inner:hover{border-color:var(--ti-radio-bordered-hover-border-color)}.tiny-radio__inner:active{border-color:var(--ti-radio-bordered-active-border-color)}.tiny-radio__inner:after{width:var(--ti-radio-inner-size);height:var(--ti-radio-inner-size);border-radius:var(--ti-radio-inner-border-radius);background-color:var(--ti-radio-inner-bg-color);content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.tiny-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;margin:0;width:0;height:0}.tiny-radio__label{font-size:var(--ti-radio-font-size);padding-left:8px;vertical-align:middle}.tiny-radio--medium.is-bordered{border-radius:var(--ti-radio-bordered-border-radius);height:var(--ti-radio-medium-height)}.tiny-radio--medium.is-bordered .tiny-radio__inner{height:var(--ti-radio-medium-inner-height);width:var(--ti-radio-medium-inner-width)}.tiny-radio--medium.is-bordered .tiny-radio__label{font-size:var(--ti-radio-font-size)}.tiny-radio--small.is-bordered{border-radius:var(--ti-radio-bordered-border-radius);height:var(--ti-radio-small-height)}.tiny-radio--small.is-bordered .tiny-radio__inner{height:var(--ti-radio-small-inner-height);width:var(--ti-radio-small-inner-width)}.tiny-radio--small.is-bordered .tiny-radio__label{font-size:var(--ti-radio-font-size)}.tiny-radio--mini.is-bordered{padding:var(--ti-radio-mini-bordered-padding-vertical) var(--ti-radio-mini-bordered-padding-horizontal);border-radius:var(--ti-radio-bordered-border-radius,2px);height:var(--ti-radio-mini-height);line-height:calc(var(--ti-radio-mini-height) - 2px)}.tiny-radio--mini.is-bordered .tiny-radio__inner{height:var(--ti-radio-mini-inner-height);width:var(--ti-radio-mini-inner-width)}.tiny-radio--mini.is-bordered .tiny-radio__inner:after{width:4px;height:4px}.tiny-radio--mini.is-bordered .tiny-radio__label{font-size:var(--ti-radio-font-size)}.tiny-radio.is-checked.is-display-only{visibility:visible;line-height:1}.tiny-radio.is-checked.is-display-only .tiny-radio__input{padding:0;display:none}.tiny-radio.is-checked.is-display-only .tiny-radio__label{padding-left:0}.tiny-radio.is-display-only{visibility:hidden}.tiny-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .tiny-radio__inner{-webkit-box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color);box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color)}.tiny-mobile-radio{--ti-mobile-radio-size:24px;--ti-mobile-radio-size-outer:20px;--ti-mobile-radio-size-inner:10px;--ti-mobile-radio-checked-color:var(--ti-mobile-color-icon-link, #1476ff);--ti-mobile-radio-border-color-default:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-radio-color-disabled:var(--ti-mobile-color-border-disabled, #dbdbdb);--ti-mobile-radio-bg-color-disabled:var(--ti-mobile-color-bg-container-2, #fafafa);--ti-mobile-radio-label-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-radio-label-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-radio-label-padding-left:var(--ti-mobile-space-3x, 12px);margin-right:30px;outline:0;white-space:nowrap;cursor:pointer;user-select:none;-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none}.tiny-mobile-radio:last-child{margin-right:0}.tiny-mobile-radio,.tiny-mobile-radio__input,.tiny-mobile-radio__outer{position:relative;display:inline-block}.tiny-mobile-radio__input{width:var(--ti-mobile-radio-size,24px);height:var(--ti-mobile-radio-size,24px);line-height:var(--ti-mobile-radio-size,24px);outline:0;cursor:pointer;vertical-align:middle}.tiny-mobile-radio__outer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;left:2px;top:2px;background-color:#fff;width:var(--ti-mobile-radio-size-outer,20px);height:var(--ti-mobile-radio-size-outer,20px);border:1.5px solid var(--ti-mobile-radio-border-color-default);border-radius:50%}.tiny-mobile-radio__outer:after{border-color:var(--ti-mobile-radio-checked-color);opacity:0}.tiny-mobile-radio__inner{width:var(--ti-mobile-radio-size-inner,10px);height:var(--ti-mobile-radio-size-inner,10px);background-color:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:999px}.tiny-mobile-radio__inner:after{width:10px;height:10px;position:absolute;left:50%;top:45%;-webkit-transform-origin:center;transform-origin:center}.tiny-mobile-radio.is-checked .tiny-mobile-radio__outer:after,.tiny-mobile-radio:hover:not(.is-disabled) .tiny-mobile-radio__outer:after{opacity:1}.tiny-mobile-radio.is-bordered:not(.is-disabled):hover .tiny-mobile-radio__inner{border-color:var(--ti-mobile-radio-checked-color #1476ff)}.tiny-mobile-radio.is-checked .tiny-mobile-radio__inner{border-color:var(--ti-mobile-radio-checked-color);background-color:var(--ti-mobile-radio-checked-color)}.tiny-mobile-radio.is-checked .tiny-mobile-radio__outer{border-color:var(--ti-mobile-radio-checked-color)}.tiny-mobile-radio.is-disabled .tiny-mobile-radio__label,.tiny-mobile-radio.is-disabled .tiny-mobile-radio__outer{cursor:not-allowed}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__outer{border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__outer:after{border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__inner{background-color:var(--ti-mobile-radio-color-disabled);border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__inner:after{border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled .tiny-mobile-radio__inner{background-color:var(--ti-mobile-radio-bg-color-disabled);border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled .tiny-mobile-radio__inner:after{border-color:var(--ti-mobile-radio-color-disabled);background-color:var(--ti-mobile-radio-bg-color-disabled)}.tiny-mobile-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.tiny-mobile-radio__label{font-size:var(--ti-mobile-radio-label-font-size);color:var(--ti-mobile-radio-label-text-color);padding-left:8px;vertical-align:middle}.tiny-tree{--ti-tree-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tree-selected-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tree-selected-font-weight:var(--ti-common-font-weight-4, normal);--ti-tree-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-tree-text-line-height:var(--ti-common-line-height-number, 1.5);--ti-tree-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tree-empty-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tree-empty-min-height:var(--ti-common-size-15x, 60px);--ti-tree-node-content-current-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-tree-node-content-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tree-node-hover-outter-bg-color:var(--ti-common-color-transparent, transparent);--ti-tree-node-hover-inner-bg-color:var(--ti-tree-node-content-hover-bg-color);--ti-tree-node-label-font-size:var(--ti-common-font-size-1, 14px);--ti-tree-node-label-margin-left:var(--ti-common-space-2x, 8px);--ti-tree-node-content-padding-right:var(--ti-common-space-4x, 16px);--ti-tree-node-label-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tree-node-label-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tree-node-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-tree-node-loading-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tree-node-expand-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-tree-node-collapse-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tree-node-operate-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-tree-node-operate-icon-margin-left:var(--ti-common-space-base, 4px);--ti-tree-node-operate-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-tree-node-checked-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-tree-node-padding-left:var(--ti-common-space-2x, 8px);--ti-tree-node-highlight-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-tree-node-content-height:calc(var(--ti-common-space-10, 10px) * 3);--ti-tree-node-content-border-radius:0;--ti-tree-node-menu-font-size:var(--ti-common-font-size-base, 12px);--ti-tree-node-menu-font-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tree-node-menu-font-family:Helvetica,Arial,"Microsoft YaHei",sans-serif;--ti-tree-node-menu-box-shadow:2px 2px 4px -2px #000000;--ti-tree-node-indent:var(--ti-common-space-4x, 16px);--ti-tree-node-guide-line-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tree-node-guide-line-width:var(--ti-common-space-2x, 8px);--ti-tree-node-showline-icon-size:var(--ti-common-font-size-2, 16px);--ti-tree-bottom-divider-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tree-bottom-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-tree-bottom-padding-vertical:calc(var(--ti-common-space-2x, 8px) - 1px);--ti-tree-bottom-text-margin-left:var(--ti-common-space-10, 10px);--ti-tree-small-node-content-height:calc(var(--ti-common-space-base, 4px) * 7);--ti-tree-small-node-font-size:var(--ti-common-line-height-base, 12px);--ti-tree-plain-node-height:calc(var(--ti-common-space-base, 4px) * 7);--ti-tree-plain-font-size:var(--ti-common-line-height-base, 12px);--ti-tree-plain-node-padding-left:var(--ti-common-space-3x, 12px);--ti-tree-plain-node-border-radius:var(--ti-common-border-radius-1, 4px);--ti-tree-plain-node-auxi-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-tree-plain-node-auxi-margin-left:var(--ti-common-space-6x, 24px);--ti-tree-plain-node-auxi-text-color:var(--ti-common-color-text-secondary, #575d6c);position:relative;cursor:default;background:var(--ti-tree-bg-color);color:var(--ti-tree-text-color);line-height:var(--ti-tree-text-line-height)}.tiny-tree .is-drop-inner{position:relative}.tiny-tree .is-drop-inner:before{pointer-events:none;border:2px solid var(--ti-tree-node-checked-icon-color);content:" ";position:absolute;top:0;bottom:0;left:0;right:0}.tiny-tree__empty-block{position:relative;min-height:var(--ti-tree-empty-min-height);text-align:center;width:100%;height:100%}.tiny-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:var(--ti-tree-empty-text-color)}.tiny-tree__drop-indicator{position:absolute;left:0;right:0;height:2px;background-color:var(--ti-tree-node-checked-icon-color)}.tiny-tree.is-dragging .tiny-tree-node__content{cursor:move}.tiny-tree.is-dragging .tiny-tree-node__content *{pointer-events:none}.tiny-tree.is-dragging.is-drop-not-allow .tiny-tree-node__content{cursor:not-allowed}.tiny-tree--highlight-current .tiny-tree-node.is-current>.tiny-tree-node__content{background-color:var(--ti-tree-node-highlight-bg-color)}.tiny-tree__strict-bottom{border-top:1px solid var(--ti-tree-bottom-divider-bg-color)}.tiny-tree__strict-bottom-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--ti-tree-bottom-padding-vertical) var(--ti-tree-bottom-padding-horizontal)}.tiny-tree__strict-bottom-content .tiny-switch.mini{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.tiny-tree__strict-bottom-content .tiny-tree__bottom-text{margin-left:var(--ti-tree-bottom-text-margin-left)}.tiny-tree--small .tiny-tree-node__content{height:var(--ti-tree-small-node-content-height)}.tiny-tree--small .tiny-tree-node__label{font-size:var(--ti-tree-small-node-font-size)}.tiny-tree .tiny-tree__plain-node{font-size:var(--ti-tree-plain-font-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:var(--ti-tree-plain-node-padding-left);border-radius:var(--ti-tree-plain-node-border-radius)}.tiny-tree .tiny-tree__plain-node:hover{background-color:var(--ti-tree-node-content-hover-bg-color)}.tiny-tree .tiny-tree__plain-node-auxi,.tiny-tree .tiny-tree__plain-node-title{height:var(--ti-tree-plain-node-height)}.tiny-tree .tiny-tree__plain-node-title>span+span{margin-left:8px}.tiny-tree .tiny-tree__plain-node-title-txt{margin-left:var(--ti-tree-node-label-margin-left)}.tiny-tree .tiny-tree__plain-node-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-tree-text-color);fill:var(--ti-tree-text-color)}.tiny-tree .tiny-tree__plain-node-title .tiny-radio{margin-right:0}.tiny-tree .tiny-tree__plain-node-title .tiny-radio .tiny-radio__label{display:none}.tiny-tree .tiny-tree__plain-node-auxi{margin-left:var(--ti-tree-plain-node-auxi-margin-left);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateY(-3px);transform:translateY(-3px);color:var(--ti-tree-plain-node-auxi-text-color)}.tiny-tree .tiny-tree__plain-node-auxi>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-tree .tiny-tree__plain-node-title-loc{font-size:var(--ti-tree-plain-node-auxi-icon-font-size);cursor:pointer;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.tiny-tree__del-popover{--ti-tree-popover-warn-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-tree-popover-warn-icon-bg-color:var(--ti-common-color-warn, #fa9841);--ti-tree-popover-warn-icon-margin-right:var(--ti-common-space-base, 4px);--ti-tree-popover-checkbox-margin-top:var(--ti-common-space-3x, 12px);--ti-tree-popover-footer-margin-top:var(--ti-common-space-3x, 12px)}.tiny-tree__del-popover .tiny-tree__del-body{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-tree__del-popover .tiny-tree__del-body .tiny-tree__del-icon{margin-right:var(--ti-tree-popover-warn-icon-margin-right)}.tiny-tree__del-popover .tiny-tree__del-body .tiny-tree__del-icon svg{font-size:var(--ti-tree-popover-warn-icon-font-size);fill:var(--ti-tree-popover-warn-icon-bg-color)}.tiny-tree__del-popover .tiny-tree__del-body .tiny-tree__del-checkbox{margin-top:var(--ti-tree-popover-checkbox-margin-top)}.tiny-tree__del-popover .tiny-tree__del-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-top:var(--ti-tree-popover-footer-margin-top)}.tiny-tree-node{white-space:nowrap;outline:0}.tiny-tree-node.show-line .tiny-tree-node__children{overflow:visible!important;-webkit-transition:.3s opacity ease-in-out;transition:.3s opacity ease-in-out}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__wrapper:not(:last-child)>.tiny-tree-node>.tiny-tree-node__children{position:relative}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__wrapper:not(:last-child)>.tiny-tree-node>.tiny-tree-node__children .tiny-tree-node__children-indent{height:100%;position:absolute;left:0}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__wrapper:not(:last-child)>.tiny-tree-node>.tiny-tree-node__children .tiny-tree-node__children-indent:before{content:"";position:absolute;top:calc(-1 * var(--ti-tree-node-content-height)/ 2);left:calc(var(--ti-tree-node-padding-left) + var(--ti-tree-node-showline-icon-size)/ 2);height:100%;border-left:1px solid var(--ti-tree-node-guide-line-border-color)}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__content .tiny-tree-node__content-indent{height:var(--ti-tree-node-content-height)}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__content .tiny-tree-node__content-indent:before{content:"";position:absolute;left:calc(var(--ti-tree-node-padding-left) + var(--ti-tree-node-showline-icon-size)/ 2);top:0;width:var(--ti-tree-node-guide-line-width);height:calc(var(--ti-tree-node-content-height)/ 2);border-left:1px solid var(--ti-tree-node-guide-line-border-color);border-bottom:1px solid var(--ti-tree-node-guide-line-border-color)}.tiny-tree-node.show-line .tiny-tree-node__children>.tiny-tree-node__wrapper:not(:first-of-type)>.tiny-tree-node>.tiny-tree-node__content>.tiny-tree-node__content-indent:before{height:var(--ti-tree-node-content-height);top:-50%}.tiny-tree-node.show-line .tiny-tree-node__expand-icon{font-size:var(--ti-tree-node-showline-icon-size);color:var(--ti-tree-node-expand-icon-color)}.tiny-tree-node.show-line .tiny-tree-node__expand-icon.expanded{-webkit-transform:rotate(0);transform:rotate(0);fill:var(--ti-tree-node-collapse-icon-color);color:var(--ti-tree-node-collapse-icon-color)}.tiny-tree-node.show-line.is-expanded .tiny-tree-node__children{opacity:1}.tiny-tree-node.show-line:not(is-expanded) .tiny-tree-node__children{opacity:0}.tiny-tree-node.is-current:not(.show-checkbox)>.tiny-tree-node__content .tiny-tree-node__content-box,.tiny-tree-node.is-current:not(.show-checkbox)>.tiny-tree-node__content .tiny-tree-node__content-right{background-color:var(--ti-tree-node-content-current-bg-color)}.tiny-tree-node.is-current:not(.show-checkbox)>.tiny-tree-node__content>.tiny-tree-node__content-left{color:var(--ti-tree-selected-text-color);font-weight:var(--ti-tree-selected-font-weight);background:0 0}.tiny-tree-node.is-drop-inner>.tiny-tree-node__content .tiny-tree-node__label{background-color:var(--ti-tree-node-label-bg-color);color:var(--ti-tree-node-label-text-color)}.tiny-tree-node.is-checked .tiny-tree-node__expand-icon,.tiny-tree-node.is-expanded .tiny-tree-node__expand-icon,.tiny-tree-node.is-indeterminate .tiny-tree-node__expand-icon{fill:var(--ti-tree-node-expand-icon-color)}.tiny-tree-node.is-disabled>.tiny-tree-node__content{cursor:not-allowed}.tiny-tree-node.is-disabled>.tiny-tree-node__content .tiny-tree-node__label{color:var(--ti-tree-disabled-text-color);font-weight:400}.tiny-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;height:var(--ti-tree-node-content-height);cursor:pointer;border-radius:var(--ti-tree-node-content-border-radius)}.tiny-tree-node__content:hover .tree-node-icon svg{fill:var(--ti-tree-node-checked-icon-color);color:var(--ti-tree-node-checked-icon-color)}.tiny-tree-node__content:hover .tiny-tree-node__content-box,.tiny-tree-node__content:hover .tiny-tree-node__content-right{background-color:var(--ti-tree-node-hover-inner-bg-color)}.tiny-tree-node__content:hover .tiny-tree-node__content-left{background-color:var(--ti-tree-node-hover-outter-bg-color)}.tiny-tree-node__content:hover .tiny-tree-node__content-right{background-color:var(--ti-tree-node-content-hover-bg-color)}.tiny-tree-node__content .tiny-radio,.tiny-tree-node__content label.tiny-checkbox{margin:0 calc(var(--ti-tree-node-label-margin-left)/ 2)}.tiny-tree-node__content .tiny-tree-node__content-box{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:calc(var(--ti-tree-node-label-margin-left)/ 2);padding-right:var(--ti-tree-node-content-padding-right)}.tiny-tree-node .tiny-tree-node__content-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;height:100%;overflow:hidden;padding-left:var(--ti-tree-node-padding-left)}.tiny-tree-node .tiny-tree-node__content-left input{height:calc(var(--ti-tree-node-content-height) - 2px);font-size:var(--ti-tree-node-label-font-size)}.tiny-tree-node .tiny-tree-node__content-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.tiny-tree-node .tiny-tree-node__content-right svg{fill:var(--ti-tree-node-operate-icon-color);font-size:var(--ti-tree-node-operate-icon-font-size);margin-right:var(--ti-tree-node-operate-icon-margin-left);outline:2px solid transparent;outline-offset:2px}.tiny-tree-node .tiny-tree-node__content-right svg:hover{fill:var(--ti-tree-node-checked-icon-color)}.tiny-tree-node .tree-node-icon{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:calc(var(--ti-tree-node-label-margin-left)/ 2)}.tiny-tree-node__expand-icon{cursor:pointer;fill:var(--ti-tree-node-expand-icon-color);font-size:var(--ti-tree-node-icon-font-size);-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;-ms-flex-negative:0;flex-shrink:0}.tiny-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-tree-node__expand-icon.is-saas-theme{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tiny-tree-node__expand-icon.is-saas-theme.expanded{-webkit-transform:rotate(0);transform:rotate(0)}.tiny-tree-node__expand-icon.is-leaf{visibility:hidden}.tiny-tree-node__label{font-size:var(--ti-tree-node-label-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tiny-tree-node__loading.circular{margin-right:4px;margin-left:var(--ti-tree-node-label-margin-left);font-size:var(--ti-tree-node-icon-font-size)}.tiny-tree-node__loading.circular .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--ti-tree-node-loading-icon-color);stroke-linecap:round}.tiny-tree-node>.tiny-tree-node__children{overflow:hidden;background-color:transparent}.tiny-tree-node.is-expanded>.tiny-tree-node__children{display:block}.tiny-tree-node__menu{position:absolute;top:0;left:0;z-index:5000;font-size:var(--ti-tree-node-menu-font-size);-webkit-box-shadow:var(--ti-tree-node-menu-box-shadow);box-shadow:var(--ti-tree-node-menu-box-shadow);padding:0 1px;color:var(--ti-tree-node-menu-font-color);font-family:var(--ti-tree-node-menu-font-family);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-tree-node .tiny-checkbox .tiny-checkbox__label{padding-left:0}.tiny-tree-node .tiny-radio .tiny-radio__label{display:none}.tiny-tree-node .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.tiny-breadcrumb{--ti-breadcrumb-font-size:var(--ti-common-font-size-base, 12px);--ti-breadcrumb-text-line-height:var(--ti-common-line-height-3, 18px);--ti-breadcrumb-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-breadcrumb-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-breadcrumb-separator-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-breadcrumb-separator-width:calc(var(--ti-common-size-base, 4px) + 2px);--ti-breadcrumb-separator-margin-vertical:var(--ti-common-space-0, 0px);--ti-breadcrumb-separator-margin-horizontal:var(--ti-common-space-base, 4px);--ti-breadcrumb-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-breadcrumb-hover-text-decoration:none;--ti-breadcrumb-text-font-weight:var(--ti-common-font-weight-7, bold);--ti-breadcrumb-selected-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-breadcrumb-selected-hover-text-color:var(--ti-breadcrumb-selected-text-color);font-size:var(--ti-breadcrumb-font-size);line-height:var(--ti-breadcrumb-text-line-height);font-family:var(--ti-breadcrumb-font-family)}.tiny-breadcrumb:after,.tiny-breadcrumb:before{content:"";display:table}.tiny-breadcrumb:after{clear:both}.tiny-breadcrumb .tiny-breadcrumb__item{cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__inner{font-weight:var(--ti-breadcrumb-text-font-weight);color:var(--ti-breadcrumb-selected-text-color);text-decoration:none}.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__inner a{cursor:text;color:var(--ti-breadcrumb-selected-text-color);text-decoration:none}.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__separator,.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__separator-cls{display:none}.tiny-breadcrumb .tiny-breadcrumb__item--medium{font-size:14px}.tiny-breadcrumb .tiny-breadcrumb__inner{vertical-align:middle}.tiny-breadcrumb .tiny-breadcrumb__inner,.tiny-breadcrumb .tiny-breadcrumb__inner a{color:var(--ti-breadcrumb-text-color)}.tiny-breadcrumb .tiny-breadcrumb__inner:hover{color:var(--ti-breadcrumb-hover-text-color);-webkit-text-decoration:var(--ti-breadcrumb-hover-text-decoration);text-decoration:var(--ti-breadcrumb-hover-text-decoration)}.tiny-breadcrumb .tiny-breadcrumb__inner:hover a:hover{cursor:pointer;color:var(--ti-breadcrumb-hover-text-color);-webkit-text-decoration:var(--ti-breadcrumb-hover-text-decoration);text-decoration:var(--ti-breadcrumb-hover-text-decoration)}.tiny-breadcrumb .tiny-breadcrumb__separator{font-family:var(--ti-breadcrumb-font-family);color:var(--ti-breadcrumb-separator-text-color);margin:var(--ti-breadcrumb-separator-margin-vertical) var(--ti-breadcrumb-separator-margin-horizontal);vertical-align:middle;text-align:center;width:var(--ti-breadcrumb-separator-width)}.tiny-breadcrumb .tiny-breadcrumb__separator-cls{font-size:var(--ti-breadcrumb-font-size);fill:var(--ti-breadcrumb-separator-text-color);margin:var(--ti-breadcrumb-separator-margin-vertical) var(--ti-breadcrumb-separator-margin-horizontal);vertical-align:middle}.tiny-breadcrumb .tiny-breadcrumb__item:last-child:hover{cursor:text;text-decoration:none}.tiny-breadcrumb .tiny-breadcrumb__item:last-child:hover .tiny-breadcrumb__inner{color:var(--ti-breadcrumb-selected-hover-text-color)}.tiny-breadcrumb .tiny-breadcrumb__item:last-child:hover a{cursor:text;color:var(--ti-breadcrumb-selected-hover-text-color);text-decoration:none}.tiny-mobile-container{--ti-mobile-container-common-padding:var(--ti-mobile-space-3x, 12px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.tiny-mobile-container__left{margin-right:var(--ti-mobile-container-common-padding)}.tiny-mobile-container__center{-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-mobile-container__right{margin-left:var(--ti-mobile-container-common-padding)}.tiny-container .tiny-container__aside,.tiny-container .tiny-container__footer,.tiny-container .tiny-container__header,.tiny-container .tiny-container__main{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:0;bottom:0;right:0;margin:0}.tiny-container .tiny-container__main{overflow-y:auto}.tiny-container .tiny-container__footer{top:auto;width:auto}.tiny-user-head{--ti-userhead-head-normal-size:var(--ti-common-size-18x, 72px);--ti-userhead-head-small-size:30px;--ti-userhead-head-icon-size-normal:var(--ti-common-size-10x, 40px);--ti-userhead-head-icon-small-size:14px;--ti-userhead-head-border-radius:var(--ti-common-border-radius-1, 4px);--ti-userhead-head-bg-color:#bbbbbb;display:inline-block;position:relative}.tiny-user-head__portrait{overflow:hidden;width:var(--ti-userhead-head-normal-size);height:var(--ti-userhead-head-normal-size);line-height:var(--ti-userhead-head-normal-size);text-align:center;border-radius:var(--ti-userhead-head-border-radius);background-position:center center;background-repeat:no-repeat;background-size:cover;background-color:var(--ti-userhead-head-bg-color,#bbb)}.tiny-user-head__portrait.round{border-radius:50%}.tiny-user-head__portrait.min{width:var(--ti-userhead-head-small-size);height:var(--ti-userhead-head-small-size);line-height:var(--ti-userhead-head-small-size)}.tiny-user-head__portrait.icon{font-size:var(--ti-userhead-head-icon-size-normal)}.tiny-user-head__portrait.icon.min{font-size:var(--ti-userhead-head-icon-small-size)}.tiny-user-head__portrait.icon svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-user-head__portrait.label>span{overflow:hidden;width:calc(100% - 6px);display:block;margin:0 3px}.tiny-user-head__message{position:absolute;top:-9px;left:63px;height:18px;line-height:16px;min-width:18px;width:auto;border-radius:9px;background:red;color:#fff;text-align:center;padding:0 2px;border:2px solid #fff;font-size:var(--ti-common-font-size-base);word-break:initial}.tiny-user-head__message.round{top:0;left:54px}.tiny-user-head__message.min{top:-9px;left:21px}.tiny-user-head__message.basic{top:-4px;left:68px;height:8px;width:8px;min-width:8px;line-height:0;border-radius:4px}.tiny-user-head__message.basic.round{top:10px;left:64px}.tiny-user-head__message.basic.min{top:-4px;left:26px}.tiny-user-head__message.basic.min.round{top:0}.tiny-mobile-user-head{--ti-mobile-userhead-head-icon-size-normal:20px;--ti-mobile-userhead-head-icon-size-small:16px;--ti-mobile-userhead-head-border-radius:15%;--ti-mobile-userhead-head-bg-color:var(--ti-mobile-common-bg-color-main, #4a79fe);display:inline-block;position:relative}.tiny-mobile-user-head__portrait{overflow:hidden;text-align:center;border-radius:var(--ti-mobile-userhead-head-border-radius);background-position:center center;background-repeat:no-repeat;background-size:cover;background-color:var(--ti-mobile-userhead-head-bg-color)}.tiny-mobile-user-head__portrait.round{border-radius:50%}.tiny-mobile-user-head__portrait.min{width:var(--ti-mobile-userhead-head-size-small);height:var(--ti-mobile-userhead-head-size-small);line-height:var(--ti-mobile-userhead-head-size-small)}.tiny-mobile-user-head__portrait.icon{font-size:var(--ti-mobile-userhead-head-icon-size-normal)}.tiny-mobile-user-head__portrait.icon.min{font-size:var(--ti-mobile-userhead-head-icon-size-small)}.tiny-mobile-user-head__portrait.icon svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-mobile-user-head__portrait.label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-mobile-user-head__portrait.label>span{overflow:hidden;width:calc(100% - 6px);display:block;margin:0 3px;font-size:20px}.tiny-mobile-user-head__message{position:absolute;top:-9px;height:18px;line-height:16px;min-width:18px;width:auto;border-radius:9px;background:red;color:#fff;text-align:center;padding:0 2px;border:2px solid #fff;font-size:12px;word-break:initial}.tiny-mobile-user-head__message.round{top:0;left:54px}.tiny-mobile-user-head__message.min{top:-9px;left:21px}.tiny-mobile-user-head__message.basic{top:-4px;left:68px;height:8px;width:8px;min-width:8px;line-height:0;border-radius:4px}.tiny-mobile-user-head__message.basic.round{top:10px;left:64px}.tiny-mobile-user-head__message.basic.min{top:-4px;left:26px}.tiny-mobile-user-head__message.basic.min.round{top:0}.tiny-tree-menu{--ti-tree-menu-width:calc(var(--ti-common-space-10, 10px) * 27);--ti-tree-menu-node-height:var(--ti-common-size-10x, 40px);--ti-tree-menu-font-size:var(--ti-common-font-size-base, 12px);--ti-tree-menu-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tree-menu-node-body-text-padding-horizontal:0;--ti-tree-menu-node-selected-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-tree-menu-node-current-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-tree-menu-square-left-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tree-menu-node-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tree-menu-node-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tree-menu-collapse-icon-fill-color:var(--ti-common-color-icon-normal, #575d6c);--ti-tree-menu-collapse-icon-hover-color:var(--ti-common-bg-color-focus, #0067d1);--ti-tree-menu-collapse-icon-margin-right:var(--ti-common-size-2x, 8px);--ti-tree-menu-node-number-font-size:var(--ti-common-font-size-base, 12px);--ti-tree-menu-node-vertical-line-margin-right:var(--ti-common-size-4x, 16px);--ti-tree-menu-prefix-icon-margin-right:var(--ti-common-size-2x, 8px);width:var(--ti-tree-menu-width);position:relative;font-size:var(--ti-tree-menu-font-size);-webkit-transition:width .5s;transition:width .5s}.tiny-tree-menu__toggle-button{position:absolute;cursor:pointer;right:0;top:50%;-webkit-transform:translateX(50%) translateY(-50%);transform:translate(50%) translateY(-50%);z-index:9;width:24px;height:24px;border-radius:50%;font-size:18px;line-height:18px;background-color:#fff;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.06);box-shadow:0 2px 4px #0000000f;border:1px solid var(--ti-tree-menu-border-color)}.tiny-tree-menu__toggle-button .tiny-svg{margin-left:2px;fill:var(--ti-tree-menu-collapse-icon-fill-color)}.tiny-tree-menu__expand{height:64px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:10px;position:sticky;bottom:0;left:0;width:100%;background-color:#fff}.tiny-tree-menu__expand svg{width:22px;height:22px;cursor:pointer}.tiny-tree-menu__expand svg:hover{fill:var(--ti-tree-menu-collapse-icon-hover-color)}.tiny-tree-menu__expand svg:focus{fill:var(--ti-tree-menu-collapse-icon-hover-color)}.tiny-tree-menu.is-collapsed{width:0}.tiny-tree-menu.is-collapsed .tiny-tree-menu__toggle-button{-webkit-transform:translateX(70%) translateY(-50%);transform:translate(70%) translateY(-50%)}.tiny-tree-menu.is-collapsed .tiny-tree-menu__toggle-button .tiny-svg{rotate:180deg}.tiny-tree-menu.is-collapsed .tiny-input{overflow:hidden}.tiny-tree-menu.is-collapsed .tiny-input .tiny-input-display-only{display:inline-block;width:0}.tiny-tree-menu.is-expand{width:40px}.tiny-tree-menu.is-expand .tiny-tree-menu__toggle-button{-webkit-transform:translateX(70%) translateY(-50%);transform:translate(70%) translateY(-50%)}.tiny-tree-menu.is-expand .tiny-tree-menu__toggle-button .tiny-svg{rotate:180deg}.tiny-tree-menu.is-expand .tiny-input{overflow:hidden}.tiny-tree-menu.is-expand .tiny-input .tiny-input-display-only{display:inline-block;width:0}.tiny-tree-menu:before{content:"";border-right:1px solid var(--ti-tree-menu-border-color);position:absolute;top:0;right:0;height:100%;z-index:1}.tiny-tree-menu .tiny-input .tiny-input__inner{border:none;border-bottom:1px solid var(--ti-tree-menu-border-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content{height:var(--ti-tree-menu-node-height);line-height:var(--ti-tree-menu-node-height);overflow:hidden;padding-left:0}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-icon{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;margin-right:var(--ti-tree-menu-collapse-icon-margin-right)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-number{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;position:absolute;right:16px;max-width:36px;overflow:hidden;font-size:var(--ti-tree-menu-node-number-font-size)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node{width:100%}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-name{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 var(--ti-tree-menu-node-body-text-padding-horizontal)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-name svg{margin-right:var(--ti-tree-menu-prefix-icon-margin-right)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content-number .tree-node-name{padding-right:0}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content:hover{background-color:var(--ti-tree-menu-node-hover-bg-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content:hover .tiny-tree-node__content-box{background-color:transparent}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content-left{position:relative;padding-left:var(--ti-tree-menu-node-vertical-line-margin-right)}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content{background-color:var(--ti-tree-menu-node-selected-bg-color);position:relative}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tree-node-body{color:var(--ti-tree-menu-node-current-text-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tiny-tree-node__content-left:before{content:"";position:absolute;left:4px;top:50%;display:inline-block;height:18px;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-left:2px solid var(--ti-tree-menu-square-left-border-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tree-node-body{color:var(--ti-tree-menu-node-body-text-color);display:block}.tiny-tree-menu .tiny-tree .tiny-tree-node .tree-node-body,.tiny-tree-menu .tiny-tree .tiny-tree-node .tree-node-body:hover{text-decoration:none}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-loading .tiny-tree-node__content .tree-node-name{padding-left:0}.tiny-tree-menu .tiny-tree-menu__overflow.tiny-tree .tiny-tree-node .tiny-tree-node__content-box{max-width:calc(100% - 26px);padding-right:0}.tiny-tree-menu .tiny-tree-menu__overflow.tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:0}.tiny-tree-menu .tiny-tree-menu__overflow.tiny-tree .tiny-tree-node .tiny-tree-node__content-number .tree-node{width:calc(100% - 60px)}.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tiny-tree-node__content{min-height:var(--ti-tree-menu-node-height);height:auto}.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tree-node-body{min-height:var(--ti-tree-menu-node-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tiny-tree-node__label{display:-webkit-box;display:-ms-flexbox;display:flex}}.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tree-node-name{white-space:normal;line-height:normal;display:block;word-break:break-all}.container-breadcrumb[data-v-aa17f3ca]{margin:15px 10px}.footer[data-v-6f6f43b7]{display:flex;align-items:center;justify-content:center;color:var(--ti-default-font-color);font-size:var(--ti-default-font-size);font-family:var(--ti-default-font-family);text-align:center}.footer .divider[data-v-6f6f43b7]{width:2px;height:18px;margin:1px 10px 0;background:#7b7e84;opacity:.3}.footer .foot-link[data-v-6f6f43b7]{color:#8a8e99;text-decoration:none}.footer a[data-v-6f6f43b7]{display:flex;align-items:center;justify-content:center;color:#8a8e99;font-size:14px;line-height:20px;text-align:center;text-decoration:none}.footer a img[data-v-6f6f43b7]{width:18px;height:19px}.navbar[data-v-a3b2c611]{display:flex;justify-content:space-between;height:100%;background-color:#fff;border-bottom:1px solid var(--color-border)}#navbar-search[data-v-a3b2c611]{width:159px;height:30px;padding:14px;background-color:#eff1f7;background-position:130px 8px;border:none;border-radius:16px;outline:none}.input-icon[data-v-a3b2c611]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUElEQVQ4T52T30vTURjGn/ess+9GkDky6mLeRHTTRT8uuvFCugm8CaIs7FoktylCNjepvYq5hTRwbaNFBJF0kWHRTXcx/wChKK+CIIKZpCUSOTfPeeNrTTYTLzp373vO+bznfZ7zkgiICAIAyWS+eY1sF0QueUgdEhES4KsimtFWpuLx8LJ7rn5RLRgeywW1pixEggC9VqD3AKwVc4KgOoRQgiDMsd5P/wAG0ml/U8WZAuAHmVGvUR+13ldexCICVb+vouiYCBJEqKKMK8yhnzXI5gs4le0E6HaVzFW99v0tM1fqqzCzV3kPnLSKpqyVsdF4+PE2QO4FIAulZt3/oKenur1PNy4UCnphuToJoiMcC53bDiiB0MfR0POdLtdyPJ65AOV5OD9XbJmenjZufrOFkTu5X2JtB8cixd0AiVSujYDi/FzRaQBwKvsZkBgPRZ7uBhhJ5i4LZJJj4cPAH+v/iph/AohFuaWbubNBwBpwU4MfG/cBauKh3ouNGoxnO6DUBKwdRGXpDTOXG1145oXzrR1EeVi5wfHQTANgYCDtbzropEE2CKsebRjzznjUiuPzCdZX90P0cZCnG7BnYM1ZHu7/0ABwg+G7uaCu4iastEKpOQi+EIkRUCvEngKwLJCjBJqFkgxHI6UtDbZs4nTA+n3nyUo7QQIgMhBatWJmfaCXZWXaPNiTELGvsO7NMvcsbc1Cfc/XJyb2OusqoLUWrHlW6r/ureQ9d9BGADWZGLpW2BGwm5Xu3mgq32VgT3M0PPhfABcSiWScTKav8hv4J/0Qtby2ZwAAAABJRU5ErkJggg==) no-repeat scroll right center transparent}.divider[data-v-a3b2c611]{width:1px;height:18px;margin:1px 2px 0;background:#dfe1e6}.left-side[data-v-a3b2c611]{display:flex;align-items:center;justify-content:center;height:60px;padding-left:10px;cursor:pointer}.left-side .vue-icon[data-v-a3b2c611]{width:24px;height:24px;margin-left:30px}.left-side h5[data-v-a3b2c611]{margin:0 30px 0 12px;color:var(--ti-base-common-title-color);font-weight:700;font-size:22px;line-height:32px;letter-spacing:.55px}.left-side h4[data-v-a3b2c611]{width:135px;height:22px;margin-left:10px;color:var(--ti-base-common-title-color);font-weight:400;font-size:16px;line-height:22px;text-align:left}.right-side[data-v-a3b2c611]{display:flex;padding-right:20px;list-style:none}.right-side[data-v-a3b2c611] .locale-select{border-radius:20px}.right-side li[data-v-a3b2c611]{display:flex;align-items:center;padding:0 15px}.right-side li .item[data-v-a3b2c611]{display:inline-block;margin:4px}.right-side li span[data-v-a3b2c611]{cursor:pointer}.right-side li span[data-v-a3b2c611]:hover{color:#2f5bea}.right-side li .navbar-lan[data-v-a3b2c611]{padding:2px 0 0 2px}.right-side .user-image[data-v-a3b2c611]{display:flex;flex-direction:column;height:100%;font-weight:600;font-size:2em;font-style:oblique;cursor:pointer;fill:var(--ti-common-color-line-active)}.right-side a[data-v-a3b2c611]{color:var(--color-text-1);text-decoration:none}.right-side .trigger-lan[data-v-a3b2c611]{position:absolute;bottom:-44px;width:100px;margin-left:-35px}.right-side .navbar-user:hover>.trigger-user[data-v-a3b2c611]{display:inline-block}.right-side .trigger-user[data-v-a3b2c611]{position:absolute;bottom:-102px;display:none;width:100px;margin-left:-43px}.right-side .trigger-user[data-v-a3b2c611]:hover{display:inline-block}.right-side .trigger-user li[data-v-a3b2c611]{display:flex;justify-content:space-around;padding:6px;font-size:12px;text-align:center;list-style-type:none;background-color:#fff;box-shadow:0 0 2px 2px var(--ti-common-color-bg-normal);cursor:pointer}.right-side .trigger-user li[data-v-a3b2c611]:hover{color:#2f5bea;background-color:#f5f6f7}.right-side .trigger-lan li[data-v-a3b2c611]{display:block;padding:6px;font-size:12px;text-align:center;list-style-type:none;background-color:#fff;box-shadow:0 0 2px 2px var(--ti-common-color-bg-normal);cursor:pointer}.right-side .trigger-lan li[data-v-a3b2c611]:hover{color:#2f5bea;background-color:#f5f6f7}@media (max-width: 360px){.left-side img[data-v-a3b2c611]{width:38px}.right-side[data-v-a3b2c611]{display:none}}@media (max-width: 768px){.left-side img[data-v-a3b2c611]{width:38px}.right-side[data-v-a3b2c611]{display:none}}.theme-content[data-v-7eb3044e]{height:calc(100vh - 15px);overflow-y:auto}.theme-container[data-v-7eb3044e]{display:flex;flex-direction:column;align-content:center;justify-content:center;height:820px;margin:2px}.theme-container .theme-recommend[data-v-7eb3044e]{height:60%;padding-left:40px}.theme-container .theme-recommend .theme-tip[data-v-7eb3044e]{position:relative;top:-63%;left:90%;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff;border-radius:50%}.theme-container .theme-recommend .theme-list-yes[data-v-7eb3044e]{fill:#7ce7a9}.theme-container .theme-recommend .theme-list-no[data-v-7eb3044e]{fill:#ccc}.theme-container .theme-recommend .theme-contain[data-v-7eb3044e]{width:69%;cursor:pointer}.theme-container .theme-person[data-v-7eb3044e]{height:40%;padding-left:40px}.theme-container .theme-person span[data-v-7eb3044e]{height:20px;color:#202e54;font-weight:400;font-size:14px;line-height:20px;text-align:left}.theme-container h1[data-v-7eb3044e]{height:22px;color:#202e54;font-weight:bolder;font-size:16px;line-height:22px;text-align:left}.theme-line[data-v-7eb3044e]{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.theme-line .theme-block[data-v-7eb3044e]{display:flex;justify-content:center;width:30px;height:30px;margin:0 auto;border-radius:50%}.theme-line .theme-yes[data-v-7eb3044e]{margin:auto 0;fill:#fff}.background[data-v-7eb3044e]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f}.light[data-v-7eb3044e]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:#fff;cursor:pointer}.black[data-v-7eb3044e]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:#676868;cursor:pointer}.card[data-v-7eb3044e]{width:436px;height:64px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f}.card h4[data-v-7eb3044e]{height:20px;padding-top:10px;padding-left:20px;color:#fff;font-weight:400;font-size:14px;line-height:20px;text-align:left}.card span[data-v-7eb3044e]{position:relative;bottom:5px;padding-left:20px;color:#fff;font-size:14px;text-align:left}.default[data-v-7eb3044e]{width:436px;height:64px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:linear-gradient(225deg,#97b3f2 1%,#5e7ce0)}.default h4[data-v-7eb3044e]{height:20px;padding-top:10px;padding-left:20px;color:#fff;font-weight:400;font-size:14px;line-height:20px;text-align:left}.default span[data-v-7eb3044e]{position:relative;bottom:5px;padding-left:20px;color:#fff;font-size:14px;text-align:left}.peaches[data-v-7eb3044e]{width:436px;height:64px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:linear-gradient(229deg,#f79fd5,#ed66ab 94%)}.peaches h4[data-v-7eb3044e]{height:20px;padding-top:10px;padding-left:20px;color:#fff;font-weight:400;font-size:14px;line-height:20px;text-align:left}.peaches span[data-v-7eb3044e]{position:relative;bottom:5px;padding-left:20px;color:#fff;font-size:14px;text-align:left}.violet[data-v-7eb3044e]{width:436px;height:64px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:linear-gradient(225deg,#b3a3f8,#7c6aee)}.violet h4[data-v-7eb3044e]{height:20px;padding-top:10px;padding-left:20px;color:#fff;font-weight:400;font-size:14px;line-height:20px;text-align:left}.violet span[data-v-7eb3044e]{position:relative;bottom:5px;padding-left:20px;color:#fff;font-size:14px;text-align:left}.deepness[data-v-7eb3044e]{width:436px;height:64px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:linear-gradient(228deg,#4a566c,#242b3a 96%)}.deepness h4[data-v-7eb3044e]{height:20px;padding-top:10px;padding-left:20px;color:#fff;font-weight:400;font-size:14px;line-height:20px;text-align:left}.deepness span[data-v-7eb3044e]{position:relative;bottom:5px;padding-left:20px;color:#fff;font-size:14px;text-align:left}.dark[data-v-7eb3044e]{width:436px;height:64px;border-radius:8px;box-shadow:2px 2px 15px 3px #5569ad0f;background:linear-gradient(228deg,#464747 5%,#000)}.dark h4[data-v-7eb3044e]{height:20px;padding-top:10px;padding-left:20px;color:#fff;font-weight:400;font-size:14px;line-height:20px;text-align:left}.dark span[data-v-7eb3044e]{position:relative;bottom:5px;padding-left:20px;color:#fff;font-size:14px;text-align:left}.main-title[data-v-64e0b812]{height:20px;font-size:14px;line-height:20px;text-align:left;overflow:hidden;text-overflow:ellipsis;word-break:break-all;color:#000}.title[data-v-64e0b812]{height:20px;font-size:14px;line-height:20px;text-align:left}.menu-title[data-v-64e0b812]{display:flex;gap:10px;align-items:center;height:20px}.menu-title>svg[data-v-64e0b812]{width:1.3em;height:1.3em}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-current>.tiny-tree-node__content{color:#000!important;background:none!important;margin-left:0!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-current>.tiny-tree-node__content:hover{background:#fff!important;color:#fff!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children>.tiny-tree-node__wrapper>.is-current>.tiny-tree-node__content{background-color:var(--ti-tree-menu-node-hover-bg-color)!important;margin-left:0!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children>.tiny-tree-node__wrapper>.is-current>.tiny-tree-node__content :hover{background:var(--ti-tree-menu-node-hover-bg-color)!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tree-node-name{border-left:2px solid var(--ti-tree-menu-square-left-border-color, "#fff")!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-right{background-color:var(--ti-tree-menu-node-hover-bg-color)!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left .tiny-tree-node__content-box{background-color:var(--ti-tree-menu-node-hover-bg-color)!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left .tiny-tree-node__content-box:before{display:none!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-expanded>.tiny-tree-node__children .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left:before{display:none!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-current>.tiny-tree-node__content{background-color:#fff!important}[data-v-64e0b812] .tiny-tree-node__wrapper>.is-current>.tiny-tree-node__content .tiny-tree-node__content-box{background-color:#fff!important}[data-v-64e0b812] .tiny-tree-node__content:hover{background-color:var(--ti-tree-node-content-hover-bg-color)!important}[data-v-64e0b812] .tiny-tree-menu__wrap>.tiny-tree-node__wrapper>.is-root>.tiny-tree-node__content>.tiny-tree-node__content-left .tiny-tree-node__content-box .tree-node-name{padding:0 8px!important}[data-v-64e0b812] .tiny-tree-node>.tiny-tree-node__content{margin-left:0!important}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tree-node-name .tiny-svg[data-v-64e0b812]{fill:var(--ti-base-icon-color)}.layout[data-v-6254482e]{width:100%;height:100%}.layout-navbar[data-v-6254482e]{position:fixed;left:0;z-index:999;width:100%;height:60px;background-color:#fff;box-shadow:0 4px 6px #0003}.menu-wrapper[data-v-6254482e]{width:inherit;height:92vh;margin-top:var(--f449dce6);overflow-x:hidden;overflow-y:auto}.global-setting[data-v-6254482e]{position:fixed;top:280px;right:0;z-index:99;width:30px;height:30px}.layout[data-v-6254482e] .tiny-container .tiny-container__aside{z-index:100;background:#fff;border-left:1px solid #ccc;box-shadow:0 4px 12px #0000001a}.layout[data-v-6254482e] .tiny-container .tiny-container__main{color:#ccc;background-color:#f5f6f7}.layout[data-v-6254482e] .layout-content{height:100%;padding:0 10px;overflow:hidden}.layout[data-v-6254482e] .tiny-container .tiny-container__footer{display:flex;padding-top:15px;justify-content:center;background-color:#f5f6f7}[data-v-6254482e] .tiny-modal__box{top:8px!important}[data-v-6254482e] .tiny-tree-node__children .tiny-tree-node__content .tree-node-name{margin-left:28px!important;padding-left:6px!important}[data-v-6254482e] .tiny-tree-node__children>.tree-node-body{padding-left:50px}.theme-box[data-v-6254482e]{position:fixed;top:88%;right:30px;z-index:99;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:#fff;border-radius:100%;cursor:pointer}.theme-box img[data-v-6254482e]{display:block;width:inherit;height:inherit}.global-set-contain[data-v-0390b860]{position:fixed;top:0;left:0;z-index:999;display:flex;justify-content:start;width:100vw;height:100vh;overflow:auto;background-color:#0000004d}.global-set-contain .global-hide-from[data-v-0390b860]{width:calc(100% - 290px);height:100%;overflow:auto;background-color:#0000004d}.global-set-contain .global-set-from[data-v-0390b860]{position:fixed;right:0;display:flex;flex-direction:column;width:290px;height:100%;background-color:#fff}.global-set-contain .global-set-from h3[data-v-0390b860]{height:25px;color:#202e54;font-weight:bolder;font-size:18px;line-height:25px;text-align:left}.global-set-contain .global-set-from .global-set-head[data-v-0390b860]{display:flex;justify-content:space-between;padding:10px}.global-set-contain .global-set-tip[data-v-0390b860]{display:flex;align-items:center;box-sizing:border-box;width:90%;margin:15px;padding:8px;overflow:hidden;color:#e35349;font-size:14px;line-height:1.5715;text-align:left;text-indent:2em;word-break:break-all;background-color:#e353490f}.global-set-contain .global-set-tip .image[data-v-0390b860]{position:absolute;top:108px;left:27px;width:15px}.global-set-contain .global-set-content[data-v-0390b860]{flex:1;padding:10px;overflow-y:auto}.global-set-contain .global-set-content div[data-v-0390b860]{display:flex;justify-content:space-between;padding:5px 0}.global-set-contain .global-set-content span[data-v-0390b860]{display:flex;flex-direction:column}.global-set-contain .global-set-content span div[data-v-0390b860]:first-child{height:20px;padding-bottom:18px;color:#202e54;font-size:14px;line-height:20px;text-align:left}.global-set-contain .global-set-content span div[data-v-0390b860]:nth-child(2){height:20px;color:#86909c;font-size:14px;line-height:20px;text-align:left}.global-set-contain .global-set-foot[data-v-0390b860]{justify-self:flex-end}.global-set-contain .global-set-foot div[data-v-0390b860]{display:flex;justify-content:space-between;padding:30px}.global-set-contain .global-set-foot div button[data-v-0390b860]{width:100px;height:36px;border-radius:4px}[data-v-84f2642f] .tiny-tree-menu{width:250px}[data-v-84f2642f] .tiny-tree-menu:before{border-right:none}[data-v-84f2642f] .tiny-tree-menu .tiny-tree>div{margin:3px 0}[data-v-84f2642f] .tiny-tree-menu .tiny-tree .tree-node-name{border-left:2px solid transparent!important}[data-v-84f2642f] .tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tree-node-name .tiny-svg{fill:var(--ti-tree-menu-node-current-color)}[data-v-84f2642f] .tiny-collapse-item__header{background-color:var(--ti-common-color-bg-light-normal);color:var(--ti-common-color-text-highlight)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;font-size:14px}.general-card{position:relative;border:none;border-radius:4px;transition:box-shadow .2s cubic-bezier(0,0,1,1)}.general-card .card-head{height:auto;padding:20px;color:#333;font-size:16px;border:none}
diff --git a/admin-website/src/main/resources/static/assets/index-e0d614fd.js b/admin-website/src/main/resources/static/assets/index-e0d614fd.js
deleted file mode 100644
index 70d87dd..0000000
--- a/admin-website/src/main/resources/static/assets/index-e0d614fd.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{u as m,v as O,w as v,k as w,l as d,H as f,J as K,E as V,z as $,y as D,A,I as q,L as H,M as E,N as L,P as ge,F as te,S as me,B as ye,D as F,d as B,a9 as ae,a8 as z,a0 as X,r as _,c as Z,W as u,j as be,a2 as ke}from"./vue-fdfdc7c1.js";import{s as ue,w as le,y as ve,z as Ce,d as ne,b as ce,C as Te,I as x,A as Oe,D as _e,a as fe,B as J,E as $e,p as De,$ as Pe,c as we,n as oe,T as W,_ as ee,G as pe}from"./index-387d5142.js";import{T as Ve}from"./index-694a71ab.js";import{P as Se,i as Re,b as Fe,c as Ae,R as j,C as S,L as je}from"./index-c544811c.js";import{a as Ie}from"./form-d42ce413.js";import{D as Y}from"./index-ebd49e8e.js";import{F as R,a as se}from"./index-71dedec5.js";import{S as Q,O as G}from"./index-51ecf215.js";import{h as ze}from"./head-3486dd8f.js";import"./chevron-up-775d40e5.js";import"./index-9e0a2cd3.js";import"./index-10398010.js";var Be={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},Ee=v("path",{class:"arrow-down_svg__st0",d:"m13 17.7 5.4-5.4c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-7.1 7.1c-.4.4-1 .4-1.4 0-.2-.2-.3-.5-.3-.8 0 .5.5 1 1 1s1-.4 1-1c0 .3-.1.5-.3.7-.4.4-1 .4-1.4 0l-7.1-7.1c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.4 5.4V4c0-.6.4-1 1-1s1 .4 1 1v13.7z"},null,-1),Le=[Ee];function Ne(e,r){return m(),O("svg",Be,[].concat(Le))}var Me={render:Ne},Ue=function(){return ue({name:"IconArrowDown",component:Me})()},qe={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},He=v("path",{class:"arrow-up_svg__st0",d:"m11 6.3-5.4 5.4c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4l7.1-7.1c.4-.4 1-.4 1.4 0l7.1 7.1c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L13 6.3V20c0 .6-.4 1-1 1s-1-.4-1-1V6.3z"},null,-1),Ke=[He];function Je(e,r){return m(),O("svg",qe,[].concat(Ke))}var Qe={render:Je},Ge=function(){return ue({name:"IconArrowUp",component:Qe})()};const We=e=>()=>e.data.reduce((r,t)=>(r[t[e.props.key]]=t)&&r,{}),Ye=({props:e,Tree:r})=>()=>e.render&&e.render.plugin.name===r?e.data:e.data.filter(t=>!e.modelValue.includes(t[e.props.key])),he=(e,r)=>{const t=[],a=l=>{l.forEach(n=>{t.push(n),n.children&&n.children.length>0&&a(n.children)})};return a(e),r&&t.forEach(l=>{l.children&&delete l.children}),t},Xe=({props:e,state:r,Tree:t,Table:a})=>()=>{if(e.render&&e.render.plugin.name===t){const n=he(le(e.data),!0).filter(s=>e.modelValue.includes(s[e.props.key])),o=[];return e.modelValue.forEach(s=>{o.push(n.filter(i=>i[e.props.key]===s)[0])}),o.flag="sort",o}if(e.targetOrder==="original")return e.data.filter(l=>e.modelValue.includes(l[e.props.key]));{const l=e.modelValue.reduce((n,o)=>{const s=r.dataObj[o];return s&&n.push(s),n},[]);return e.render&&e.render.plugin.name===a&&(l.flag="table"),l}},Ze=({emit:e,state:r})=>(t,a)=>{r.leftChecked=t,a!==void 0&&e("left-check-change",t,a)},xe=({emit:e,state:r})=>(t,a)=>{r.rightChecked=t,a!==void 0&&e("right-check-change",t,a)},et=({emit:e,props:r,state:t})=>a=>{const l=()=>{t.isToLeft=!0;let n=r.modelValue.slice();a==="all"&&(t.rightChecked=t.rightData.map(o=>o[r.props.key])),t.rightChecked.forEach(o=>{const s=n.indexOf(o);s>-1&&n.splice(s,1)}),t.rightChecked=t.rightChecked.slice(0),e("update:modelValue",n),e("change",n,"left",t.rightChecked)};r.beforeTransfer?r.beforeTransfer(l):l()},tt=({emit:e,refs:r,props:t,state:a,Tree:l})=>n=>{const o=()=>{a.isToLeft=!1;let s=t.modelValue.slice();const i=[],k=t.props.key;t.render&&t.render.plugin.name===l?t.treeOp.checkStrictly?a.leftChecked.forEach(p=>!s.includes(p)&&s.push(p)):s=r.leftPanel.$refs.plugin.getCheckedKeys():(n==="all"?(a.leftData.forEach(p=>{const b=p[k];t.modelValue.includes(b)||i.push(b)}),a.leftChecked=i.slice()):t.data.forEach(p=>{const b=p[k];a.leftChecked.includes(b)&&!t.modelValue.includes(b)&&i.push(b)}),s=t.targetOrder==="unshift"?i.concat(s):s.concat(i)),a.rightDisabled=!1,e("update:modelValue",s),e("change",s,"right",a.leftChecked)};t.beforeTransfer?t.beforeTransfer(o):o()},rt=e=>r=>{r==="left"?e.leftPanel.state.query="":r==="right"&&(e.rightPanel.state.query="")},at=({props:e,emit:r,state:t})=>({event:a,isAdd:l,pullMode:n})=>{let o=e.modelValue.slice(),s=[];if(n)o.splice(a.newIndex,0,o.splice(a.oldIndex,1)[0]);else{const i=l?t.targetData[a.oldIndex][e.props.key]:t.sourceData[a.oldIndex][e.props.key],k=l?t.rightChecked.indexOf(i):t.leftChecked.indexOf(i),p=o.indexOf(i);l?~p&&o.splice(p,1):!~p&&o.splice(a.newIndex,0,i),~k&&(l?t.rightChecked.splice(k,1):t.leftChecked.splice(k,1)),s=[i]}t.rightChecked=t.rightChecked.slice(0),r("update:modelValue",o),r("change",o,"left",s)},lt=({api:e,droppanel:r,props:t,queryDom:a,refs:l})=>()=>{if(t.dropConfig){const n=l.leftPanel.$el.querySelector(r),o=t.dropConfig.plugin;new o(n,{group:"sorting",handle:a,sort:!1,filter:".is-disabled",onAdd(i){e.logicFun({event:i,isAdd:!0})},onRemove(i){e.logicFun({event:i,isAdd:!1})}});const s=l.rightPanel.$el.querySelector(r);new o(s,{group:"sorting",handle:a,sort:!0,filter:".is-disabled",onUpdate(i){i.pullMode||e.logicFun({event:i,pullMode:"sort"})}})}},nt=({props:e,state:r})=>()=>r.sourceData.filter(t=>!t[e.props.disabled]),ot=({props:e,state:r})=>()=>r.targetData.filter(t=>!t[e.props.disabled]),st=["state","onSourceCheckedChange","onTargetCheckedChange","addToLeft","addToRight","clearQuery"],it=({reactive:e,computed:r,api:t,props:a,h:l,slots:n})=>e({leftChecked:[],rightChecked:[],rightData:r(()=>t.getRightCheckedData()),leftData:r(()=>t.getLeftCheckedData()),dataObj:r(()=>t.getObj()),sourceData:r(()=>t.getSourceData()),targetData:r(()=>t.getTargetData()),hasButtonTexts:r(()=>a.buttonTexts.length===2),isToLeft:!1,optionRender:r(()=>o=>a.renderContent?a.renderContent(l,o):n.default?n.default({option:o}):l("span",o[a.props.label]||o[a.props.key]))}),dt=(e,{computed:r,onMounted:t,reactive:a,h:l},{$prefix:n,emit:o,refs:s,parent:i,slots:k})=>{const p={},b=n+"Tree",C=n+"Table",h=it({reactive:a,computed:r,api:p,props:e,h:l,slots:k}),{DROPPANEL:c,TRANSFERPANEL:g}=i.$constants;return Object.assign(p,{state:h,getObj:We(e),clearQuery:rt(s),getSourceData:Ye({props:e,Tree:b}),addToLeft:et({emit:o,props:e,state:h}),getLeftCheckedData:nt({props:e,state:h}),getRightCheckedData:ot({props:e,state:h}),addToRight:tt({emit:o,refs:s,props:e,state:h,Tree:b}),onTargetCheckedChange:xe({emit:o,state:h}),onSourceCheckedChange:Ze({emit:o,state:h}),logicFun:at({props:e,emit:o,state:h}),getTargetData:Xe({props:e,state:h,Tree:b,Table:C}),sortableEvent:lt({api:p,droppanel:c,props:e,queryDom:g,refs:s})}),t(p.sortableEvent),p},ut=(e,r)=>{const t=(a,l)=>a.filter(n=>(n.children&&n.children.length>0&&(n.children=t(n.children,l)),n[l]));return t(e,r)},ct=({api:e,props:r,state:t,Table:a,Tree:l})=>()=>{if(t.renderType===a){let n=[];if(r.filterMethod?n=r.data.filter(o=>r.filterMethod(t.query,o)):n=r.data,t.pagerTotal=n,r.showPager){const o=t.sizes||10,s=Math.ceil(n.length/o);return t.internalPage>s&&e.handlePageChange(s),s>0&&t.internalPage===0&&(t.internalPage=1),s>0&&t.currentPage===0&&(t.currentPage=1),n.slice((t.internalPage-1)*o,o*t.internalPage)}else return n}else return t.renderType===l?ut(e.getFilterTreeData(le(r.data)),"visible"):r.data.filter(n=>typeof r.filterMethod=="function"?r.filterMethod(t.query,n):(n[t.labelProp]||n[t.keyProp].toString()).toLowerCase().includes(t.query.toLowerCase()))},ft=({api:e,state:r,Tree:t})=>()=>r.renderType===t?e.getTreeCheckableData(r.filteredData):r.filteredData.filter(a=>!a[r.disabledProp]),pt=({props:e,state:r,Tree:t})=>()=>{const a=r.checked.length;let l=0;r.renderType===t?l=he(le(e.data)).length:l=e.data.length;const{noChecked:n,hasChecked:o}=e.format;return n&&o?a>0?o.replace(/\${checked}/g,a).replace(/\${total}/g,l):n.replace(/\${checked}/g,a).replace(/\${total}/g,l):`${a} / ${l}`},ht=e=>()=>e.checked.length>0&&e.checked.length<e.checkableData.length,gt=({api:e,emit:r,state:t})=>({value:a,oldvalue:l})=>{if(e.updateAllChecked(),t.checkChangeByUser){const n=a.concat(l).filter(o=>!a.includes(o)||!l.includes(o));r("checked-change",a,n)}else r("checked-change",a),t.checkChangeByUser=!0},mt=({api:e,props:r,state:t,Tree:a})=>l=>{t.pagerTotal=l;const n=[];if(t.renderType===a&&!r.treeOp.checkStrictly)t.checked=e.getStrictData(t.filteredData).keys;else{const o=t.filteredData.map(s=>s[t.keyProp]);t.checked.forEach(s=>{o.includes(s)&&n.push(s)}),t.checkChangeByUser=!1,t.checked=n}},yt=({api:e,props:r,state:t,Tree:a})=>({value:l,oldvalue:n})=>{if(!(n&&l.length===n.length&&l.every(o=>n.includes(o))))if(t.renderType===a&&!r.treeOp.checkStrictly){if(!t.render)return;t.render.defaultCheckedKeys=t.checked=e.getStrictData(t.filteredData).keys}else{const o=[],s=t.checkableData.map(i=>i[t.keyProp]);l.forEach(i=>{s.includes(i)&&o.push(i)}),t.checkChangeByUser=!1,t.checked=o}},bt=({state:e,Table:r,Tree:t})=>()=>{const a=e.checkableData.map(l=>l[e.keyProp]);if(e.allChecked=a&&a.length>0&&a.every(l=>e.checked.includes(l)),e.renderType===r||e.renderType===t)if(e.render.data=e.filteredData,e.renderType===t)e.render.defaultCheckedKeys=e.checked;else{const l=[];e.filteredData.forEach(n=>{e.checked.includes(n[e.keyProp])&&l.push(n[e.keyProp])}),e.render.defaultChecked=l}},kt=({state:e,Table:r,Tree:t,vm:a})=>l=>{e.checked=l?e.checkableData.map(n=>n[e.keyProp]):[],e.renderType===r?e.render.defaultChecked=e.checked:e.renderType===t&&(e.checked.length!==0?e.render.defaultCheckedKeys=e.checked:a.$refs.plugin.setCheckedKeys(e.checked))},vt=e=>()=>{e.inputIcon==="circle-close"&&(e.query="")},Ct=e=>(r,t)=>{if(t)return;const a=e.checked.indexOf(r);let l=[...e.checked];~a?(l.splice(a,1),e.checked=l):(l.push(r),e.checked=l)},Tt=({parent:e,state:r})=>(t,a)=>{a.stopPropagation(),a.preventDefault();const l=[],n=[];r.filteredData.forEach(s=>{~r.checked.indexOf(s[r.keyProp])?l.push(s[r.keyProp]):n.push(s[r.keyProp])});const o=t==="up"?[...l,...n]:[...n,...l];e.$parent.$emit("update:modelValue",o)},Ot=e=>r=>e.checked=r,_t=e=>r=>{e.pageChangeData=!0,e.internalPage=r,e.currentPage=r},$t=({props:e,state:r})=>t=>{const a=(l,n)=>{l.forEach(o=>{const s=o[r.labelProp];if(typeof e.treeOp.filterNodeMethod=="function"){const i=e.treeOp.filterNodeMethod(r.query,o);typeof i!="boolean"?o.visible=!0:o.visible=i}else o.visible=s.toLowerCase().includes(n.toLowerCase());if(o.children&&o.children.length>0&&a(o.children,n),!o.visible&&o.children&&o.children.length){let i=!0;i=!o.children.some(k=>k.visible),o.visible=i===!1}})};return a(t,r.query),t},Dt=e=>r=>{const t=[],a=l=>{l.forEach(n=>{!n[e.disabledProp]&&t.push(n),n.children&&n.children.length>0&&a(n.children)})};return a(r),t},Pt=({props:e,state:r})=>t=>{const a=[],l=(n,o)=>{n.forEach(s=>{e.defaultChecked.includes(s[r.keyProp])?(s.isCheckable=!0,a.push(s[r.keyProp])):(s.isCheckable=o,o&&a.push(s[r.keyProp])),s.children&&s.children.length>0&&l(s.children,s.isCheckable)})};return l(t,!1),{data:t,keys:a}},wt=e=>r=>e.sizes=r,Vt=e=>(r,t)=>{const{expanded:a,keyProp:l}=e,n=e.expanded.indexOf(r[l]);t?n===-1&&a.push(r[l]):n!==-1&&a.splice(n,1)},St=["markRaw","toRaw","state","check","sizesChange","clearQuery","handleAllCheckedChange","checkedEvent","setPosition","selectChange","handlePageChange"],Rt=({reactive:e,props:r,parent:t,computed:a,api:l,slots:n})=>{const o=e({query:"",checked:[],allChecked:!1,inputHover:!1,internalPage:r.pagerOp.pageVO.currentPage||1,pagerTotal:0,pageChangeData:t.state.isToLeft,currentPage:r.pagerOp.pageVO.currentPage||1,sizes:r.pagerOp&&r.pagerOp.pageVO.pageSize,render:{},checkChangeByUser:!0,filteredData:a(()=>l.getFilterData()),checkableData:a(()=>l.getCheckableData()),checkedSummary:a(()=>l.getCheckedSummary()),isIndeterminate:a(()=>l.getDeteminate()),hasNoMatch:a(()=>o.query.length>0&&o.filteredData.length===0),inputIcon:a(()=>o.query.length>0&&o.inputHover?"circle-close":"search"),labelProp:a(()=>r.props.label||"label"),keyProp:a(()=>r.props.key||"key"),disabledProp:a(()=>r.props.disabled||"disabled"),childrenProp:a(()=>r.treeOp&&r.treeOp.props&&r.treeOp.props.childern||"children"),hasFooter:a(()=>(!!t.slots["left-footer"]||!!t.slots["right-footer"])&&!!n.default),renderType:a(()=>r.render&&r.render.plugin.name),expanded:[]});return o},Ft=({reactive:e,state:r,props:t,api:a})=>e(ve(Ce({keys:r.keyProp,data:[],defaultChecked:r.checked,defaultExpandedKeys:r.expanded,columns:t.columns},t.treeOp),{on:{"checked-change":(l,n)=>{a.selectChange(l,n)},check:(l,{checkedKeys:n})=>{r.checked=n},"node-expand":l=>a.setExpandCache(l,!0),"node-collapse":l=>a.setExpandCache(l,!1)}})),At=({watch:e,state:r,api:t,props:a,Table:l})=>{e(()=>r.checked,(n,o)=>t.watchChecked({value:n,oldvalue:o})),e(()=>a.pagerOp.pageVO.currentPage,n=>{r.currentPage=n},{deep:!0,immediate:!0}),e(()=>a.data,t.watchData,{immediate:!0}),e(()=>r.checkableData,t.updateAllChecked),e(()=>a.defaultChecked,(n,o)=>t.watchDefaultCheckded({value:n,oldvalue:o}),{immediate:!0}),e(()=>a.isToLeft,()=>{r.renderType===l&&(r.internalPage=1,r.currentPage=1,r.render.data=r.filteredData)})},jt=(e,{computed:r,reactive:t,watch:a,toRaw:l},{$prefix:n,emit:o,parent:s,vm:i,slots:k})=>{const p={},b=n+"Table",C=n+"Tree",h=Rt({reactive:t,props:e,parent:s,computed:r,api:p,slots:k});return Object.assign(p,{state:h,toRaw:l,sizesChange:wt(h),setPosition:Tt({parent:s,state:h}),selectChange:Ot(h),handlePageChange:_t(h),clearQuery:vt(h),checkedEvent:Ct(h),getDeteminate:ht(h),updateAllChecked:bt({state:h,Table:b,Tree:C}),handleAllCheckedChange:kt({state:h,Table:b,Tree:C,vm:i}),getCheckedSummary:pt({props:e,state:h,Tree:C}),getFilterTreeData:$t({props:e,state:h}),getTreeCheckableData:Dt(h),getStrictData:Pt({props:e,state:h}),setExpandCache:Vt(h),getCheckableData:ft({api:p,state:h,Tree:C}),getFilterData:ct({api:p,props:e,state:h,Table:b,Tree:C}),watchData:mt({api:p,props:e,state:h,Tree:C}),watchDefaultCheckded:yt({api:p,props:e,state:h,Tree:C}),watchChecked:gt({api:p,emit:o,state:h})}),h.render=Ft({reactive:t,state:h,props:e,api:p}),At({watch:a,state:h,api:p,props:e,Table:b}),p};function It(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=zt(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zt(e,r){if(e){if(typeof e=="string")return ie(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ie(e,r)}}function ie(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}var Bt=function(r,t){for(var a=r.__vccOpts||r,l=It(t),n;!(n=l()).done;){var o=n.value,s=o[0],i=o[1];a[s]=i}return a},Et={columns:Array,data:{type:Array,default:function(){return[]}},defaultChecked:Array,filterMethod:Function,filterable:Boolean,format:Object,isToLeft:Boolean,optionRender:Function,pagerOp:Object,placeholder:String,props:Object,render:Object,renderContent:Function,showLeft:Boolean,showPager:Boolean,title:String,treeOp:Object,value:{type:Array,default:function(){return[]}}},Lt=ne({name:ce+"TransferPanel",componentName:"TransferPanel",inheritAttrs:!1,components:{TinyCheckbox:Te,TinyInput:x,TinyPager:Se,IconArrowDown:Ue(),IconArrowUp:Ge(),IconCheckedSur:Oe(),IconCheck:_e(),OptionContent:{props:{option:[Object,Array]},render:function(){return this.option}}},props:Et,setup:function(r,t){return fe({props:r,context:t,renderless:jt,api:St,mono:!0})}}),Nt={class:"tiny-transfer-panel__header"},Mt={key:0,class:"headSort"},Ut=["onClick"],qt={class:"tiny-checkbox__inner"},Ht=["disabled","value"],Kt={class:"tiny-checkbox__label"},Jt={key:0,class:"tiny-transfer-panel__footer"};function Qt(e,r,t,a,l,n){var o=w("icon-arrow-up"),s=w("icon-arrow-down"),i=w("tiny-checkbox"),k=w("tiny-input"),p=w("icon-check"),b=w("icon-checked-sur"),C=w("option-content"),h=w("tiny-pager");return m(),O("div",{class:A(["tiny-transfer-panel",[e.state.renderType==="TinyTable"?"transferGrid":""]])},[v("p",Nt,[d(i,{modelValue:e.state.allChecked,"onUpdate:modelValue":r[2]||(r[2]=function(c){return e.state.allChecked=c}),onChange:e.handleAllCheckedChange,indeterminate:e.state.isIndeterminate},{default:f(function(){return[K(V(e.title)+" ",1),e.render&&e.state.renderType!=="TinyTable"&&e.data.flag==="sort"?(m(),O("div",Mt,[v("div",{class:"sort-btn disabled up",onClick:r[0]||(r[0]=function(c){return e.setPosition("up",c)})},[d(o)]),v("div",{class:"sort-btn disabled down",onClick:r[1]||(r[1]=function(c){return e.setPosition("down",c)})},[d(s)])])):$("v-if",!0),v("span",null,V(e.state.checkedSummary),1)]}),_:1},8,["modelValue","onChange","indeterminate"])]),v("div",{class:A(["tiny-transfer-panel__body",e.state.hasFooter?"is-with-footer":""]),ref:"reference"},[e.filterable?(m(),D(k,{key:0,class:"tiny-transfer-panel__filter",modelValue:e.state.query,"onUpdate:modelValue":r[4]||(r[4]=function(c){return e.state.query=c}),size:"small",placeholder:e.placeholder,onMouseenter:r[5]||(r[5]=function(c){return e.state.inputHover=!0}),onMouseleave:r[6]||(r[6]=function(c){return e.state.inputHover=!1})},{prefix:f(function(){return[v("i",{class:A(["tiny-input__icon","tiny-icon-"+e.state.inputIcon]),onClick:r[3]||(r[3]=function(){return e.clearQuery&&e.clearQuery.apply(e,arguments)})},null,2)]}),_:1},8,["modelValue","placeholder"])):$("v-if",!0),q(v("div",{role:"group","aria-label":"checkbox-group",class:A(["tiny-checkbox-group tiny-transfer-panel__list",{"is-filterable":e.filterable}])},[(m(!0),O(E,null,L(e.state.filteredData,function(c){return m(),O("label",{class:A(["tiny-checkbox tiny-transfer-panel__item",[c[e.state.disabledProp]?"is-disabled":"",e.state.checked.length>0&&e.state.checked.indexOf(c[e.state.keyProp])>-1?"is-checked":""]]),onClick:ge(function(g){return e.checkedEvent(c[e.state.keyProp],c[e.state.disabledProp])},["stop","prevent"]),key:c[e.state.keyProp]},[v("span",{class:A(["tiny-checkbox__input",[c[e.state.disabledProp]?"is-disabled":"",e.state.checked.length>0&&e.state.checked.indexOf(c[e.state.keyProp])>-1?"is-checked":""]])},[v("span",qt,[e.state.checked.length>0&&e.state.checked.indexOf(c[e.state.keyProp])>-1?(m(),D(b,{key:1,class:"tiny-svg-size"})):(m(),D(p,{key:0,class:"tiny-svg-size"}))]),v("input",{type:"checkbox","aria-hidden":"false",disabled:c[e.state.disabledProp],class:"tiny-checkbox__original",value:c[e.state.keyProp]},null,8,Ht)],2),v("span",Kt,[d(C,{option:e.optionRender(c)},null,8,["option"])])],10,Ut)}),128))],2),[[H,!e.render]]),e.render&&e.render.plugin?(m(),D(ye(e.toRaw(e.render.plugin)),te({key:1,ref:"plugin"},e.state.render,me(e.state.render.on)),null,16)):$("v-if",!0),q(d(h,{onSizeChange:e.sizesChange,ref:"pager",total:e.state.pagerTotal.length,"current-page":e.state.currentPage,"onUpdate:currentPage":r[7]||(r[7]=function(c){return e.state.currentPage=c}),"page-size":e.pagerOp.pageVO.pageSize,layout:e.pagerOp.pageVO.layout,"page-sizes":e.pagerOp.pageVO.pageSizes,mode:e.pagerOp.mode,"pager-count":e.pagerOp.pagerCount,onCurrentChange:e.handlePageChange},null,8,["onSizeChange","total","current-page","page-size","layout","page-sizes","mode","pager-count","onCurrentChange"]),[[H,e.showPager&&e.state.renderType==="TinyTable"]]),q(v("p",{class:"tiny-transfer-panel__empty"},V(e.t("ui.transfer.noMatch")),513),[[H,!e.render&&e.state.hasNoMatch]]),q(v("p",{class:"tiny-transfer-panel__empty"},V(e.t("ui.transfer.noData")),513),[[H,!e.render&&e.data.length===0&&!e.state.hasNoMatch]])],2),e.$parent.slots["left-footer"]||e.$parent.slots["right-footer"]?(m(),O("p",Jt,[F(e.$slots,"default")])):$("v-if",!0)],2)}var N=Bt(Lt,[["render",Qt]]),Gt="3.16.0";N.install=function(e){e.component(N.name,N)};N.version=Gt;function Wt(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=Yt(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yt(e,r){if(e){if(typeof e=="string")return de(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return de(e,r)}}function de(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,a=new Array(r);t<r;t++)a[t]=e[t];return a}var Xt=function(r,t){for(var a=r.__vccOpts||r,l=Wt(t),n;!(n=l()).done;){var o=n.value,s=o[0],i=o[1];a[s]=i}return a},Zt=ne({components:{TinyButton:J,TinyTransferPanel:N,IconDoubleLeft:Re(),IconChevronLeft:Fe(),IconChevronRight:$e(),IconDoubleRight:Ae()},props:[].concat(De,["data","titles","buttonTexts","filterPlaceholder","filterMethod","leftDefaultChecked","rightDefaultChecked","renderContent","modelValue","format","filterable","props","targetOrder","dropConfig","showAllBtn","toLeftDisable","toRightDisable","renderType","leftColumns","rightColumns","columns","pageVO","pagerOp","showPager","render","treeOp","beforeTransfer"]),setup:function(r,t){return fe({props:r,context:t,renderless:dt,api:st})}}),xt={class:"tiny-transfer"},er={key:1,class:"tiny-transfer-panel transfer-custom-left-panel"},tr={class:"tiny-transfer__buttons"},rr={class:"defaultButton"},ar={key:0},lr={key:0},nr={key:3,class:"tiny-transfer-panel transfer-custom-right-panel"};function or(e,r,t,a,l,n){var o=w("tiny-transfer-panel"),s=w("icon-double-right"),i=w("tiny-button"),k=w("icon-chevron-right"),p=w("icon-chevron-left"),b=w("icon-double-left");return m(),O("div",xt,[!e.slots["right-panel"]&&!e.slots["left-panel"]?(m(),D(o,te({key:0,id:"leftPanel"},e.$props,{"option-render":e.state.optionRender,"tree-op":e.treeOp,render:e.render,"show-pager":e.showPager,"pager-op":e.pagerOp,ref:"leftPanel","page-v-o":e.pageVO,"render-type":e.renderType,columns:e.leftColumns||e.columns,data:e.state.sourceData,title:e.titles[0]||e.t("ui.transfer.titles.0"),"default-checked":e.leftDefaultChecked,placeholder:e.filterPlaceholder||e.t("ui.transfer.filterPlaceholder"),onCheckedChange:e.onSourceCheckedChange}),{default:f(function(){return[F(e.$slots,"left-footer"),F(e.$slots,"filter")]}),_:3},16,["option-render","tree-op","render","show-pager","pager-op","page-v-o","render-type","columns","data","title","default-checked","placeholder","onCheckedChange"])):$("v-if",!0),e.slots["left-panel"]&&e.slots["right-panel"]?(m(),O("div",er,[F(e.$slots,"left-panel")])):$("v-if",!0),v("div",tr,[F(e.$slots,"button-panel",{},function(){return[e.showAllBtn?(m(),D(i,{key:0,type:"primary",disabled:e.state.leftData.length===0,class:"tiny-transfer__button",onClick:r[0]||(r[0]=function(C){return e.addToRight("all")})},{default:f(function(){return[d(s,{class:"tiny-svg-size"})]}),_:1},8,["disabled"])):$("v-if",!0),v("div",rr,[d(i,{type:"primary",class:A(["tiny-transfer__button",e.state.hasButtonTexts?"is-with-texts":""]),onClick:e.addToRight,disabled:e.toLeftDisable&&e.state.leftChecked.length===0},{default:f(function(){return[e.buttonTexts[1]!==void 0?(m(),O("span",ar,V(e.buttonTexts[1]),1)):$("v-if",!0),d(k,{class:"tiny-svg-size"})]}),_:1},8,["class","onClick","disabled"]),d(i,{type:"primary",class:A(["tiny-transfer__button",e.state.hasButtonTexts?"is-with-texts":""]),onClick:e.addToLeft,disabled:e.toRightDisable&&e.state.rightChecked.length===0},{default:f(function(){return[d(p,{class:"tiny-svg-size"}),e.buttonTexts[0]!==void 0?(m(),O("span",lr,V(e.buttonTexts[0]),1)):$("v-if",!0)]}),_:1},8,["class","onClick","disabled"])]),e.showAllBtn?(m(),D(i,{key:1,type:"primary",disabled:e.state.rightData.length===0,class:"tiny-transfer__button",onClick:r[1]||(r[1]=function(C){return e.addToLeft("all")})},{default:f(function(){return[d(b,{class:"tiny-svg-size"})]}),_:1},8,["disabled"])):$("v-if",!0)]})]),!e.slots["right-panel"]&&!e.slots["left-panel"]?(m(),D(o,te({key:2},e.$props,{id:"rightPanel",render:e.render,"option-render":e.state.optionRender,"tree-op":e.treeOp,"show-pager":e.showPager,"is-to-left":e.state.isToLeft,"pager-op":e.pagerOp,ref:"rightPanel","page-v-o":e.pageVO,"render-type":e.renderType,columns:e.rightColumns||e.columns,data:e.state.targetData,title:e.titles[1]||e.t("ui.transfer.titles.1"),"default-checked":e.rightDefaultChecked,placeholder:e.filterPlaceholder||e.t("ui.transfer.filterPlaceholder"),onCheckedChange:e.onTargetCheckedChange}),{default:f(function(){return[F(e.$slots,"right-footer"),F(e.$slots,"filter")]}),_:3},16,["render","option-render","tree-op","show-pager","is-to-left","pager-op","page-v-o","render-type","columns","data","title","default-checked","placeholder","onCheckedChange"])):$("v-if",!0),e.slots["left-panel"]&&e.slots["right-panel"]?(m(),O("div",nr,[F(e.$slots,"right-panel")])):$("v-if",!0)])}var sr=Xt(Zt,[["render",or]]);function re(){return re=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},re.apply(this,arguments)}var ir=function(r){var t;return typeof process=="object"&&((t={})==null||t.TINY_MODE),sr},dr={ISCHECKED:"is-checked",DROPPANEL:".tiny-transfer-panel__list",TRANSFERPANEL:".tiny-transfer-panel__item"},ur=re({},Pe,{_constants:{type:Object,default:function(){return dr}},buttonTexts:{type:Array,default:function(){return[]}},columns:Array,leftColumns:Array,rightColumns:Array,data:{type:Array,default:function(){return[]}},dropConfig:Object,filterMethod:Function,filterPlaceholder:{type:String,default:""},filterable:Boolean,format:{type:Object,default:function(){return{}}},leftDefaultChecked:{type:Array,default:function(){return[]}},modelValue:{type:Array,default:function(){return[]}},pagerOp:{type:Object,default:function(){return{mode:"fixed",pageVO:{currentPage:1,pageSize:10}}}},props:{type:Object,default:function(){return{label:"label",key:"key",disabled:"disabled"}}},render:Object,renderContent:Function,renderType:String,rightDefaultChecked:{type:Array,default:function(){return[]}},showAllBtn:Boolean,showPager:{type:Boolean,default:!1},targetOrder:{type:String,default:"original"},titles:{type:Array,default:function(){return[]}},toLeftDisable:{type:Boolean,default:!0},toRightDisable:{type:Boolean,default:!0},treeOp:Object,beforeTransfer:Function}),I=ne({name:ce+"Transfer",props:ur,setup:function(r,t){return we({props:r,context:t,template:ir})}}),cr="3.16.0";I.model={prop:"modelValue",event:"update:modelValue"};I.install=function(e){e.component(I.name,I)};I.version=cr;const fr=B({__name:"coach-from",props:{projectData:Object,coachPlay:Boolean},setup(e,{expose:r}){const t=e,{coachPlay:a}=ae(t),l=z({filterOptions:{}}),{t:n}=X(),o=_(),s=_(!1),i=()=>{const c=new Date(JSON.parse(JSON.stringify(l.filterOptions.startTime))).getTime();new Date(JSON.parse(JSON.stringify(l.filterOptions.endTime))).getTime()<c&&(l.filterOptions.endTime="",W.message({message:n("userInfo.time.message"),status:"error"}))},k={required:!0,trigger:"blur"},p={required:!0,message:"必选",trigger:"blur"},b=Z(()=>({sector:a.value?[k]:"",position:a.value?[p]:"",hr:a.value?[p]:"",teacher:a.value?[p]:"",startTime:a.value?[k]:"",endTime:a.value?[k]:""}));return r({coachValid:()=>{let c=!1;return o.value.validate(g=>{g&&(s.value=!0),c=g}),c},coachReset:()=>{s.value=!1,l.filterOptions={}}}),(c,g)=>(m(),D(u(oe),null,{default:f(()=>[d(u(se),{ref_key:"coachFormRef",ref:o,model:l.filterOptions,rules:b.value,"label-width":"150px","label-align":!0,"label-position":"left",size:"small"},{default:f(()=>[d(u(j),{flex:!0,justify:"left"},{default:f(()=>[d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.coach.culture"),prop:"sector"},{default:f(()=>[d(u(x),{modelValue:l.filterOptions.sector,"onUpdate:modelValue":g[0]||(g[0]=y=>l.filterOptions.sector=y),disabled:s.value,placeholder:c.$t("searchTable.form.input")},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1}),d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.coach.position"),prop:"position"},{default:f(()=>[d(u(Q),{modelValue:l.filterOptions.position,"onUpdate:modelValue":g[1]||(g[1]=y=>l.filterOptions.position=y),disabled:s.value,placeholder:c.$t("baseForm.form.label.placeholder"),multiple:""},{default:f(()=>{var y;return[(m(!0),O(E,null,L((y=e.projectData)==null?void 0:y.position,P=>(m(),D(u(G),{key:P.value,label:P.label,value:P.value},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}),d(u(j),{flex:!0,justify:"left"},{default:f(()=>[d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:"HR",prop:"hr"},{default:f(()=>[d(u(Q),{modelValue:l.filterOptions.hr,"onUpdate:modelValue":g[2]||(g[2]=y=>l.filterOptions.hr=y),disabled:s.value,placeholder:c.$t("baseForm.form.label.placeholder"),multiple:""},{default:f(()=>{var y;return[(m(!0),O(E,null,L((y=e.projectData)==null?void 0:y.HR,P=>(m(),D(u(G),{key:P.value,label:P.label,value:P.value},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","disabled","placeholder"])]),_:1})]),_:1}),d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.coach.mentor"),prop:"teacher"},{default:f(()=>[d(u(Q),{modelValue:l.filterOptions.teacher,"onUpdate:modelValue":g[3]||(g[3]=y=>l.filterOptions.teacher=y),disabled:s.value,placeholder:c.$t("baseForm.form.label.placeholder"),multiple:""},{default:f(()=>{var y;return[(m(!0),O(E,null,L((y=e.projectData)==null?void 0:y.mentor,P=>(m(),D(u(G),{key:P,label:P,value:P},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}),d(u(j),{flex:!0,justify:"left"},{default:f(()=>[d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.coach.startTime"),prop:"startTime"},{default:f(()=>[d(u(Y),{modelValue:l.filterOptions.startTime,"onUpdate:modelValue":g[4]||(g[4]=y=>l.filterOptions.startTime=y),disabled:s.value,placeholder:c.$t("searchTable.form.input")},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1}),d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.coach.endTime"),prop:"endTime"},{default:f(()=>[d(u(Y),{modelValue:l.filterOptions.endTime,"onUpdate:modelValue":g[5]||(g[5]=y=>l.filterOptions.endTime=y),disabled:s.value,placeholder:c.$t("searchTable.form.input"),onBlur:i},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model","rules"])]),_:1}))}});const pr=ee(fr,[["__scopeId","data-v-2ab0c792"]]),hr=B({__name:"director-from",props:{projectData:Object,directorPlay:Boolean},setup(e,{expose:r}){const t=e,{directorPlay:a}=ae(t),l=z({filterOptions:{}}),{t:n}=X(),o=_(),s=_(!1),i={required:!0,trigger:"blur"},k={required:!0,message:"必选",trigger:"blur"},p=Z(()=>({director:a.value?[k]:"",remark:a.value?[i]:"",startTime:a.value?[i]:"",endTime:a.value?[i]:""})),b=()=>{const c=new Date(JSON.parse(JSON.stringify(l.filterOptions.startTime))).getTime();new Date(JSON.parse(JSON.stringify(l.filterOptions.endTime))).getTime()<c&&(l.filterOptions.endTime="",W.message({message:n("userInfo.time.message"),status:"error"}))};return r({directorValid:()=>{let c=!1;return o.value.validate(g=>{g&&(s.value=!0),c=g}),c},directorReset:()=>{s.value=!1,l.filterOptions={}}}),(c,g)=>(m(),D(u(oe),null,{default:f(()=>[d(u(se),{ref_key:"directorFormRef",ref:o,model:l.filterOptions,rules:p.value,"label-width":"150px","label-align":!0,"label-position":"left",size:"small"},{default:f(()=>[d(u(j),{flex:!0,justify:"left"},{default:f(()=>[d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.dire.supervisor"),prop:"director"},{default:f(()=>[d(u(Q),{modelValue:l.filterOptions.director,"onUpdate:modelValue":g[0]||(g[0]=y=>l.filterOptions.director=y),disabled:s.value,placeholder:c.$t("baseForm.form.label.placeholder"),multiple:""},{default:f(()=>{var y;return[(m(!0),O(E,null,L((y=e.projectData)==null?void 0:y.director,P=>(m(),D(u(G),{key:P,label:c.$t(P),value:P},null,8,["label","value"]))),128))]}),_:1},8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1}),d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.dire.remarks"),prop:"remark"},{default:f(()=>[d(u(x),{modelValue:l.filterOptions.remark,"onUpdate:modelValue":g[1]||(g[1]=y=>l.filterOptions.remark=y),disabled:s.value},null,8,["modelValue","disabled"])]),_:1},8,["label"])]),_:1})]),_:1}),d(u(j),{flex:!0,justify:"left"},{default:f(()=>[d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.dire.startTime"),prop:"startTime"},{default:f(()=>[d(u(Y),{modelValue:l.filterOptions.startTime,"onUpdate:modelValue":g[2]||(g[2]=y=>l.filterOptions.startTime=y),disabled:s.value},null,8,["modelValue","disabled"])]),_:1},8,["label"])]),_:1}),d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:c.$t("stepForm.dire.endTime"),prop:"endTime"},{default:f(()=>[d(u(Y),{modelValue:l.filterOptions.endTime,"onUpdate:modelValue":g[3]||(g[3]=y=>l.filterOptions.endTime=y),disabled:s.value,onBlur:b},null,8,["modelValue","disabled"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model","rules"])]),_:1}))}}),gr={class:"contain"},mr=B({__name:"target-from",setup(e,{expose:r}){const t=_(),a=z([]);for(let s=0;s<=15;s+=1)a.push({key:s,label:`Options ${s}`,disabled:!1});const l=_([]);return r({targetReset:()=>{l.value=[]},targetSubmit:()=>l.value.length>0?(a.forEach(s=>{s.disabled=!0}),!0):!1}),(s,i)=>(m(),O("div",gr,[d(u(I),{ref_key:"targetFormRef",ref:t,modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=k=>l.value=k),data:a,titles:[s.$t("stepForm.target.list"),s.$t("stepForm.target.sure")]},null,8,["modelValue","data","titles"])]))}});const yr=ee(mr,[["__scopeId","data-v-14c87db0"]]),br=B({__name:"summation-from",props:{summationPlay:Boolean},setup(e,{expose:r}){const t=e,{summationPlay:a}=ae(t),l=z({filterOptions:{}}),n=_(),o=_(!1),s={required:!0,trigger:"blur"},i=Z(()=>({summarize:a.value?[s]:""}));return r({summarizeValid:()=>{let b=!1;return n.value.validate(C=>{C&&(o.value=!0),b=C}),b},summarizeReset:()=>{o.value=!1,l.filterOptions={}}}),(b,C)=>(m(),D(u(oe),null,{default:f(()=>[d(u(se),{ref_key:"summarizeRef",ref:n,model:l.filterOptions,rules:i.value,"label-width":"100px","label-align":!0,"label-position":"left",size:"small"},{default:f(()=>[d(u(j),{flex:!0,justify:"left"},{default:f(()=>[d(u(S),{span:4,"label-width":"100px"},{default:f(()=>[d(u(R),{label:b.$t("stepForm.sum.self"),prop:"summarize"},{default:f(()=>[d(u(x),{modelValue:l.filterOptions.summarize,"onUpdate:modelValue":C[0]||(C[0]=h=>l.filterOptions.summarize=h),disabled:o.value,type:"textarea"},null,8,["modelValue","disabled"])]),_:1},8,["label"])]),_:1})]),_:1})]),_:1},8,["model","rules"])]),_:1}))}}),kr={id:"container"},vr={key:0},Cr={key:1,class:"targetStyle"},Tr={key:2},Or=B({__name:"collapse-from",setup(e,{expose:r}){const t=z({loading:null}),{t:a}=X(),l=pe(),n=_(),o=_(),s=_(),i=_(),k=_(!1),p=_(!1),b=_(!1),C=_(!0),h=_(!0),c=_(!0),g=z({position:[],HR:[],mentor:[],director:[]}),y=async()=>{t.loading=je.service({text:"loading...",target:document.getElementById("container"),background:"rgba(0, 0, 0, 0.7)"});try{const{data:T}=await Ie();g.position=T.position,g.HR=T.HR,g.mentor=T.mentor,g.director=T.director}finally{t.loading.close()}};be(()=>{y()}),ke(l.$state,(T,U)=>{T.step===1?k.value=!0:T.step===2?p.value=!0:T.step===3&&(b.value=!0)},{immediate:!0});const P=()=>{l.step===0?n.value.coachReset():l.step===1?o.value.directorReset():l.step===2?s.value.targetReset():l.step===3&&i.value.summarizeReset()},M=(T,U,jr)=>{T?(W.message({message:a("baseForm.form.submit.success"),status:"success"}),l.updateStep(U)):W.message({message:a(U!==3?"baseForm.form.submit.error":"stepForm.error.target"),status:"error"})};return r({collapseReset:P,collapseSubmit:()=>{if(l.step===0){const T=n.value.coachValid();M(T,1)}else if(l.step===1){const T=o.value.directorValid();M(T,2)}else if(l.step===2){const T=s.value.targetSubmit();M(T,3)}else if(l.step===3){const T=i.value.summarizeValid();M(T,4)}},collapseRestore:()=>{l.updateStep(0),n.value.coachReset(),o.value.directorReset(),s.value.targetReset(),i.value.summarizeReset(),k.value=!1,p.value=!1,b.value=!1}}),(T,U)=>(m(),O("div",kr,[v("div",null,[v("h3",null,V(T.$t("stepForm.collapse.base")),1),d(pr,{ref_key:"coachFormRef",ref:n,"project-data":g,"coach-play":C.value},null,8,["project-data","coach-play"])]),k.value?(m(),O("div",vr,[v("h3",null,V(T.$t("stepForm.collapse.supervisor")),1),d(hr,{ref_key:"directorRef",ref:o,"project-data":g,"director-play":h.value},null,8,["project-data","director-play"])])):$("",!0),p.value?(m(),O("div",Cr,[v("h3",null,V(T.$t("stepForm.collapse.goals")),1),d(yr,{ref_key:"targetRef",ref:s,"project-data":g},null,8,["project-data"])])):$("",!0),b.value?(m(),O("div",Tr,[v("h3",null,V(T.$t("stepForm.collapse.summary")),1),d(br,{ref_key:"summationRef",ref:i,"project-data":g,"summation-play":c.value},null,8,["project-data","summation-play"])])):$("",!0)]))}});const _r=ee(Or,[["__scopeId","data-v-4fd609cb"]]),$r={class:"container-step"},Dr={class:"general-card"},Pr={class:"general-top"},wr={class:"general-contain"},Vr={class:"general-foot"},Sr={class:"general-btn"},Rr=B({__name:"index",setup(e){const{t:r}=X(),t=pe(),a=_(),l=Z(()=>t.step);function n(){a.value.collapseReset()}function o(){a.value.collapseSubmit()}function s(){a.value.collapseRestore()}return(i,k)=>{const p=w("Breadcrumb");return m(),O("div",$r,[d(p,{items:["menu.form","menu.form.step"]}),v("div",Dr,[v("div",Pr,[d(ze)]),v("div",wr,[v("div",null,V(i.$t("stepForm.coaching.process")),1),v("div",null,[d(u(Ve),{data:[{name:u(r)("stepForm.start.coaching")},{name:u(r)("stepForm.immediate.supervisor")},{name:u(r)("stepForm.overall.goals")},{name:u(r)("stepForm.overall.summary")},{name:u(r)("stepForm.overall.end")}],active:l.value,type:"normal"},null,8,["data","active"])])]),v("div",Vr,[d(_r,{ref_key:"collapseRef",ref:a},null,512),v("div",Sr,[l.value!==4?(m(),D(u(J),{key:0,type:"primary","native-type":"submit",onClick:o},{default:f(()=>[K(V(i.$t("stepForm.button.submit")),1)]),_:1})):$("",!0),l.value!==4?(m(),D(u(J),{key:1,onClick:n},{default:f(()=>[K(V(i.$t("stepForm.button.cancel")),1)]),_:1})):$("",!0),l.value===4?(m(),D(u(J),{key:2,onClick:s},{default:f(()=>[K(V(i.$t("stepForm.button.restore")),1)]),_:1})):$("",!0)])])])])}}});const Qr=ee(Rr,[["__scopeId","data-v-dcaaabb9"]]);export{Qr as default};
diff --git a/admin-website/src/main/resources/static/assets/index-e55671bd.css b/admin-website/src/main/resources/static/assets/index-e55671bd.css
deleted file mode 100644
index 3433603..0000000
--- a/admin-website/src/main/resources/static/assets/index-e55671bd.css
+++ /dev/null
@@ -1 +0,0 @@
-.container[data-v-7e3c5c0f]{display:flex;flex-direction:column;justify-content:space-between;width:98%;height:inherit;margin:0 auto;overflow:auto}.container .content[data-v-7e3c5c0f]{height:100%;overflow:auto;text-align:center;background:#fff;border-radius:10px}.container .content text[data-v-7e3c5c0f]{width:1122px;height:100px;color:#5e7ce0;font-weight:400;font-size:72px;line-height:300px;text-align:left}
diff --git a/admin-website/src/main/resources/static/assets/index-e7094ccc.css b/admin-website/src/main/resources/static/assets/index-e7094ccc.css
deleted file mode 100644
index beea2d3..0000000
--- a/admin-website/src/main/resources/static/assets/index-e7094ccc.css
+++ /dev/null
@@ -1 +0,0 @@
-[data-v-6e9a77c8] .tiny-tree-menu{width:250px}[data-v-6e9a77c8] .tiny-tree-menu:before{border-right:none}[data-v-6e9a77c8] .tiny-tree-menu .tiny-tree>div{margin:3px 0}[data-v-6e9a77c8] .tiny-tree-menu .tiny-tree .tree-node-name{border-left:2px solid transparent!important}[data-v-6e9a77c8] .tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tree-node-name .tiny-svg{fill:var(--ti-tree-menu-node-current-color)}[data-v-6e9a77c8] .tiny-collapse-item__header{background-color:var(--ti-common-color-bg-light-normal);color:var(--ti-common-color-text-highlight)}
diff --git a/admin-website/src/main/resources/static/assets/index-e91edbd2.js b/admin-website/src/main/resources/static/assets/index-e91edbd2.js
deleted file mode 100644
index 7a31133..0000000
--- a/admin-website/src/main/resources/static/assets/index-e91edbd2.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as o,u as r,y as t}from"./vue-fdfdc7c1.js";import{_ as n}from"./index-387d5142.js";const c={};function s(_,a){const e=o("router-view");return r(),t(e)}const m=n(c,[["render",s]]);export{m as default};
diff --git a/admin-website/src/main/resources/static/assets/index-ebc0c6f3.js b/admin-website/src/main/resources/static/assets/index-ebc0c6f3.js
deleted file mode 100644
index 8b7dbf4..0000000
--- a/admin-website/src/main/resources/static/assets/index-ebc0c6f3.js
+++ /dev/null
@@ -1 +0,0 @@
-import{k as n,u as c,v as a,l as i,w as s,E as t,Z as _,_ as d}from"./vue-fdfdc7c1.js";import{_ as r}from"./index-387d5142.js";const p="/ui/admin/assets/403-aba683af.png";const l={},m=e=>(_("data-v-012ed0d5"),e=e(),d(),e),u={class:"container"},h={class:"content"},v={class:"content-main"},f=m(()=>s("img",{src:p,alt:"403",class:"image"},null,-1)),x={class:"tip"};function g(e,B){const o=n("Breadcrumb");return c(),a("div",u,[i(o,{items:["menu.exception","menu.exception.403"]}),s("div",h,[s("div",v,[f,s("h3",x,t(e.$t("exception.result.403.description")),1),s("span",null,t(e.$t("exception.result.permissions.403")),1)])])])}const b=r(l,[["render",g],["__scopeId","data-v-012ed0d5"]]);export{b as default};
diff --git a/admin-website/src/main/resources/static/assets/index-ebd49e8e.js b/admin-website/src/main/resources/static/assets/index-ebd49e8e.js
deleted file mode 100644
index 28133e0..0000000
--- a/admin-website/src/main/resources/static/assets/index-ebd49e8e.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import{s as St,aD as g,aE as Ye,aF as Mn,aG as L,aH as de,aI as Ke,aJ as va,aK as ee,aw as ka,y as ye,z as ue,J as Sn,a6 as _e,aL as Vt,aM as We,aN as Vn,aO as ae,aP as Y,aQ as me,aR as Qe,aS as Ze,aT as U,aU as De,aV as j,aW as x,aX as Ce,aY as J,aZ as Pn,o as Fn,f as Da,a_ as qe,af as Ca,a$ as wa,b0 as In,b1 as On,b2 as En,b3 as Je,b4 as Ta,b5 as $a,b6 as Aa,d as E,a3 as re,p as G,a as N,b as R,c as ie,$ as _,B as pe,b7 as Ma,b8 as lt,b9 as Sa,ba as zn,bb as Yn,bc as Va,a7 as ge,I as we,E as xe,bd as Nn,a8 as Pa,V as Pt,Y as st,N as Rn,j as Ft}from"./index-387d5142.js";import{_ as et,s as Fa,R as jn,F as Un,d as Ia,g as Oa,b as Ea,o as za,c as Ya,e as Na,f as Ra,h as ja,j as Ua,k as Ba,l as Ha,m as La,n as Wa,p as Ka,q as Ga,t as _a,u as Qa}from"./index-10398010.js";import{i as tt,a as nt}from"./chevron-up-775d40e5.js";import{u as m,v as h,x as qa,w as f,k as w,V as he,M as P,l as D,H as M,N as I,A as b,E as C,I as S,L as z,z as A,y as F,T as W,J as B,P as le,D as H,B as K,G as q,aa as It,F as Ae}from"./vue-fdfdc7c1.js";import{K as Bn,c as Te,i as $e,b as at}from"./index-c544811c.js";var Ja={viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},Xa=qa('<defs><filter x="-50%" y="-53.6%" width="200%" height="205.4%" filterUnits="objectBoundingBox" id="calendar_svg__a"><feOffset dx="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur><feColorMatrix values="0 0 0 0 0.145098039 0 0 0 0 0.168627451 0 0 0 0 0.22745098 0 0 0 0.08 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix><feMerge><feMergeNode in="shadowMatrixOuter1"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><g fill="none" fill-rule="evenodd"><path d="M0 0h16v16H0z"></path><g filter="url(#calendar_svg__a)" transform="translate(1 1.474)"><path fill="currentColor" fill-rule="nonzero" d="M3 4.526h2v2H3zM6 4.526h2v2H6zM9 4.526h2v2H9zM3 8.526h2v2H3zM6 8.526h2v2H6zM9 8.526h2v2H9z"></path><rect stroke="currentColor" y=".526" width="14" height="13" rx="2"></rect><path stroke="currentColor" stroke-width="1.5" stroke-linecap="round" d="M4.474 0v2M9.474 0v2"></path></g></g>',2),Za=[Xa];function xa(e,t){return m(),h("svg",Ja,[].concat(Za))}var er={render:xa},Hn=function(){return St({name:"IconCalendar",component:er})()},tr={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nr=f("path",{d:"M670.344 369.644c-6.248-6.249-16.371-6.249-22.62 0L511.992 505.376 376.258 369.644c-6.247-6.249-16.386-6.249-22.62 0-6.248 6.247-6.248 16.37 0 22.619l135.733 135.732L353.64 663.73c-6.249 6.248-6.249 16.37 0 22.619 6.233 6.248 16.37 6.248 22.619 0l135.733-135.734 135.734 135.734c6.248 6.248 16.37 6.248 22.619 0s6.248-16.371 0-22.62L534.61 527.996l135.734-135.732c6.248-6.248 6.248-16.372-.001-22.62zM511.99 128.092c-212.026 0-383.906 171.881-383.906 383.907 0 212.027 171.88 383.908 383.906 383.908 212.027 0 383.923-171.881 383.923-383.908 0-212.026-171.896-383.907-383.923-383.907zm0 735.823c-194.36 0-351.914-157.556-351.914-351.915s157.556-351.914 351.914-351.914c194.345 0 351.915 157.555 351.915 351.914s-157.57 351.915-351.915 351.915z"},null,-1),ar=[nr];function rr(e,t){return m(),h("svg",tr,[].concat(ar))}var ir={render:rr},or=function(){return St({name:"IconCloseCircle",component:ir})()},lr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24","xml:space":"preserve"},sr=f("path",{class:"time_svg__st0",d:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.1 19.1c-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2s2.7.3 3.9.8c1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2zM17 12h-4V6.1c0-.5-.5-1.1-1-1.1h-.2c-.4 0-.8.6-.8 1.1v6.1c0 1 .1 1.9 1 1.9h5c.5 0 1.1-.5 1.1-1S17.5 12 17 12z"},null,-1),ur=[sr];function dr(e,t){return m(),h("svg",lr,[].concat(ur))}var cr={render:dr},Ln=function(){return St({name:"IconTime",component:cr})()},jt={enUS:[{name:"(UTC-12:00)International Date Line West",code:"001-12",offset:-12,tz:"Etc/GMT+12"},{name:"(UTC+13:00)Samoa",code:"002-11",offset:14,tz:"Pacific/Apia"},{name:"(UTC-11:00)Coordinated Universal Time-11",code:"003-11",offset:-11,tz:"Etc/GMT+11"},{name:"(UTC-10:00)Hawaii",code:"004-10",offset:-10,tz:"Pacific/Honolulu"},{name:"(UTC-09:00)Alaska",code:"005-9",offset:-9,tz:"America/Anchorage"},{name:"(UTC-08:00)Pacific Time (US & Canada)",code:"006-8",offset:-8,tz:"America/Los_Angeles"},{name:"(UTC-08:00)Baja California",code:"007-8",offset:-8,tz:"America/Santa_Isabel"},{name:"(UTC-07:00)Chihuahua, La Paz, Mazatlan",code:"008-7",offset:-7,tz:"America/Chihuahua"},{name:"(UTC-07:00)Mountain Time (US & Canada)",code:"009-7",offset:-7,tz:"America/Denver"},{name:"(UTC-07:00)Arizona",code:"010-7",offset:-7,tz:"America/Phoenix"},{name:"(UTC-06:00)Guadalajara, Mexico City, Monterey",code:"011-6",offset:-6,tz:"America/Mexico_City"},{name:"(UTC-06:00)Saskatchewan",code:"012-6",offset:-6,tz:"America/Regina"},{name:"(UTC-06:00)Central Time (US & Canada)",code:"013-6",offset:-6,tz:"America/Chicago"},{name:"(UTC-06:00)Central America",code:"014-6",offset:-6,tz:"America/Guatemala"},{name:"(UTC-05:00)Bogota, Lima, Quito",code:"015-5",offset:-5,tz:"America/Bogota"},{name:"(UTC-05:00)Eastern Time (US & Canada)",code:"016-5",offset:-5,tz:"America/New_York"},{name:"(UTC-05:00)Indiana(East)",code:"017-5",offset:-5,tz:"America/Indiana/Indianapolis"},{name:"(UTC-04:30)Caracas",code:"018-4.5",offset:-4,tz:"America/Caracas"},{name:"(UTC-04:00)Atlantic Time (Canada)",code:"019-4",offset:-4,tz:"America/Halifax"},{name:"(UTC-04:00)Cuiaba",code:"020-4",offset:-4,tz:"America/Cuiaba"},{name:"(UTC-04:00)Georgetown, La Paz, Manaus, San Juan",code:"021-4",offset:-4,tz:"America/La_Paz"},{name:"(UTC-04:00)Santiago",code:"022-4",offset:-3,tz:"America/Santiago"},{name:"(UTC-04:00)Asuncion",code:"023-4",offset:-3,tz:"America/Asuncion"},{name:"(UTC-03:30)Newfoundland",code:"024-3.5",offset:-3.5,tz:"America/St_Johns"},{name:"(UTC-03:00)Brasilia",code:"025-3",offset:-3,tz:"America/Sao_Paulo"},{name:"(UTC-03:00)Buenos Aires",code:"026-3",offset:-3,tz:"America/Argentina/Buenos_Aires"},{name:"(UTC-03:00)Greenland",code:"027-3",offset:-3,tz:"America/Godthab"},{name:"(UTC-03:00)Cayenne, Fortaleza",code:"028-3",offset:-3,tz:"America/Cayenne"},{name:"(UTC-03:00)Montevideo",code:"029-3",offset:-3,tz:"America/Montevideo"},{name:"(UTC-11:00)Coordinated Universal Time-11",code:"030-2",offset:-11,tz:"Etc/GMT+11"},{name:"(UTC-02:00)Mid-Atlantic",code:"031-2",offset:-4,tz:"America/Halifax"},{name:"(UTC-01:00)Cape Verde Is",code:"032-1",offset:-1,tz:"Atlantic/Cape_Verde"},{name:"(UTC-01:00)Azores",code:"033-1",offset:-1,tz:"Atlantic/Azores"},{name:"(UTC)Dublin, Edinburgh, Lisbon, London",code:"034-0",offset:0,tz:"Europe/London"},{name:"(UTC)Casablanca",code:"035-0",offset:1,tz:"Africa/Casablanca"},{name:"(UTC)Monrovia, Reykjavik",code:"036-0",offset:0,tz:"Atlantic/Reykjavik"},{name:"(UTC)Coordinated Universal Time",code:"037-0",offset:0,tz:"Etc/GMT"},{name:"(UTC+01:00)Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",code:"038+1",offset:1,tz:"Europe/Berlin"},{name:"(UTC+01:00)Belgrade, Bratislava, Budapest, Ljubljana, Prague",code:"039+1",offset:1,tz:"Europe/Budapest"},{name:"(UTC+01:00)Brussels, Copenhagen, Madrid, Paris",code:"040+1",offset:1,tz:"Europe/Paris"},{name:"(UTC+01:00)Sarajevo, Skopje, Warsaw, Zagreb",code:"041+1",offset:1,tz:"Europe/Warsaw"},{name:"(UTC+01:00)Windhoek",code:"042+1",offset:2,tz:"Africa/Windhoek"},{name:"(UTC+01:00)West Central Africa",code:"043+1",offset:1,tz:"Africa/Lagos"},{name:"(UTC+02:00)Amman",code:"044+2",offset:2,tz:"Asia/Amman"},{name:"(UTC+02:00)Beirut",code:"045+2",offset:2,tz:"Asia/Beirut"},{name:"(UTC+02:00)Damascus",code:"046+2",offset:2,tz:"Asia/Damascus"},{name:"(UTC+02:00)Harare, Pretoria",code:"047+2",offset:2,tz:"Africa/Johannesburg"},{name:"(UTC+02:00)Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius",code:"048+2",offset:2,tz:"Europe/Kiev"},{name:"(UTC+02:00)Cairo",code:"049+2",offset:2,tz:"Africa/Cairo"},{name:"(UTC+02:00)Minsk",code:"050+2",offset:3,tz:"Europe/Minsk"},{name:"(UTC+02:00)Athens, Bucharest, Istanbul",code:"051+2",offset:3,tz:"Europe/Istanbul"},{name:"(UTC+02:00)Jerusalem",code:"052+2",offset:2,tz:"Asia/Jerusalem"},{name:"(UTC+03:00)Baghdad",code:"053+3",offset:3,tz:"Asia/Baghdad"},{name:"(UTC+03:00)Kuwait, Riyadh",code:"054+3",offset:3,tz:"Asia/Riyadh"},{name:"(UTC+03:00)Moscow, St. Petersburg, Volgograd",code:"055+3",offset:3,tz:"Europe/Moscow"},{name:"(UTC+03:00)Nairobi",code:"056+3",offset:3,tz:"Africa/Nairobi"},{name:"(UTC+03:30)Teheran",code:"057+3.5",offset:3.5,tz:"Asia/Tehran"},{name:"(UTC+04:00)Abu Dhabi, Muscat",code:"058+4",offset:4,tz:"Asia/Dubai"},{name:"(UTC+04:00)Yerevan",code:"059+4",offset:4,tz:"Asia/Yerevan"},{name:"(UTC+04:00)Baku",code:"060+4",offset:4,tz:"Asia/Baku"},{name:"(UTC+04:00)Tbilisi",code:"061+4",offset:4,tz:"Asia/Tbilisi"},{name:"(UTC+04:00)Port Louis",code:"062+4",offset:4,tz:"Indian/Mauritius"},{name:"(UTC+04:30)Kabul",code:"063+4.5",offset:4.5,tz:"Asia/Kabul"},{name:"(UTC+05:00)Tashkent",code:"064+5",offset:5,tz:"Asia/Tashkent"},{name:"(UTC+05:00)Yekaterinburg",code:"065+5",offset:5,tz:"Asia/Yekaterinburg"},{name:"(UTC+05:00)Islamabad, Karachi",code:"066+5",offset:5,tz:"Asia/Karachi"},{name:"(UTC+05:30)Chennai, Kolkata, Mumbai, New Delhi",code:"067+5.5",offset:5.5,tz:"Asia/Kolkata"},{name:"(UTC+05:30)Sri Jayawardenepura",code:"068+5.5",offset:5.5,tz:"Asia/Colombo"},{name:"(UTC+05:45)Katmandu",code:"069+5.75",offset:5.75,tz:"Asia/Kathmandu"},{name:"(UTC+06:00)Astana",code:"070+6",offset:6,tz:"Asia/Almaty"},{name:"(UTC+06:00)Dhaka",code:"071+6",offset:6,tz:"Asia/Dhaka"},{name:"(UTC+07:00)Novosibirsk",code:"072+6",offset:7,tz:"Asia/Novosibirsk"},{name:"(UTC+06:30)Yangon(Rangoon)",code:"073+6.5",offset:6.5,tz:"Asia/Yangon"},{name:"(UTC+07:00)Krasnoyarsk",code:"074+7",offset:7,tz:"Asia/Krasnoyarsk"},{name:"(UTC+07:00)Bangkok, Hanoi, Jakarta",code:"075+7",offset:7,tz:"Asia/Bangkok"},{name:"(UTC+08:00)Beijing, Chongqing, Hong Kong, Urumqi",code:"076+8",offset:8,tz:"Asia/Shanghai"},{name:"(UTC+08:00)Kuala Lumpur, Singapore",code:"077+8",offset:8,tz:"Asia/Singapore"},{name:"(UTC+08:00)Perth",code:"078+8",offset:8,tz:"Australia/Perth"},{name:"(UTC+08:00)Taipei",code:"079+8",offset:8,tz:"Asia/Taipei"},{name:"(UTC+08:00)Ulaanbaatar",code:"080+8",offset:8,tz:"Asia/Ulaanbaatar"},{name:"(UTC+08:00)Irkutsk",code:"081+8",offset:8,tz:"Asia/Irkutsk"},{name:"(UTC+09:00)Osaka, Sapporo, Tokyo",code:"082+9",offset:9,tz:"Asia/Tokyo"},{name:"(UTC+09:00)Seoul",code:"083+9",offset:9,tz:"Asia/Seoul"},{name:"(UTC+09:00)Yakutsk",code:"084+9",offset:9,tz:"Asia/Yakutsk"},{name:"(UTC+09:30)Adelaide",code:"085+9.5",offset:10.5,tz:"Australia/Adelaide"},{name:"(UTC+09:30)Darwin",code:"086+9.5",offset:9.5,tz:"Australia/Darwin"},{name:"(UTC+10:00)Brisbane",code:"087+10",offset:10,tz:"Australia/Brisbane"},{name:"(UTC+10:00)Vladivostok",code:"088+10",offset:10,tz:"Asia/Vladivostok"},{name:"(UTC+10:00)Guam, Port Moresby",code:"089+10",offset:10,tz:"Pacific/Port_Moresby"},{name:"(UTC+10:00)Hobart",code:"090+10",offset:11,tz:"Australia/Hobart"},{name:"(UTC+10:00)Canberra, Melbourne, Sydney",code:"091+10",offset:11,tz:"Australia/Sydney"},{name:"(UTC+11:00)Magadan",code:"092+11",offset:11,tz:"Asia/Magadan"},{name:"(UTC+11:00)Solomon Is, New Caledonia",code:"093+11",offset:11,tz:"Pacific/Guadalcanal"},{name:"(UTC+12:00)Auckland, Wellington",code:"094+12",offset:13,tz:"Pacific/Auckland"},{name:"(UTC+12:00)Fiji",code:"095+12",offset:13,tz:"Pacific/Fiji"},{name:"(UTC+12:00)Coordinated Universal Time+12",code:"096+12",offset:12,tz:"Etc/GMT-12"},{name:"(UTC+13:00)Nuku`alofa",code:"097+13",offset:13,tz:"Pacific/Tongatapu"}],zhCN:[{name:"(UTC-12:00)国际日期变更线西",code:"001-12",offset:-12,tz:"Etc/GMT+12"},{name:"(UTC+13:00) 萨摩亚群岛",code:"002-11",offset:14,tz:"Pacific/Apia"},{name:"(UTC-11:00)协调世界时-11",code:"003-11",offset:-11,tz:"Etc/GMT+11"},{name:"(UTC-10:00)夏威夷",code:"004-10",offset:-10,tz:"Pacific/Honolulu"},{name:"(UTC-09:00)阿拉斯加",code:"005-9",offset:-9,tz:"America/Anchorage"},{name:"(UTC-08:00)太平洋时间(美国和加拿大)",code:"006-8",offset:-8,tz:"America/Los_Angeles"},{name:"(UTC-08:00)下加利福尼亚州",code:"007-8",offset:-8,tz:"America/Santa_Isabel"},{name:"(UTC-07:00)奇瓦瓦,拉巴斯,马萨特兰",code:"008-7",offset:-7,tz:"America/Chihuahua"},{name:"(UTC-07:00)山地时间(美国和加拿大)",code:"009-7",offset:-7,tz:"America/Denver"},{name:"(UTC-07:00)亚利桑那",code:"010-7",offset:-7,tz:"America/Phoenix"},{name:"(UTC-06:00)瓜达拉哈拉,墨西哥城,蒙特雷",code:"011-6",offset:-6,tz:"America/Mexico_City"},{name:"(UTC-06:00)萨斯喀彻温",code:"012-6",offset:-6,tz:"America/Regina"},{name:"(UTC-06:00)中部时间(美国和加拿大)",code:"013-6",offset:-6,tz:"America/Chicago"},{name:"(UTC-06:00)中美洲",code:"014-6",offset:-6,tz:"America/Guatemala"},{name:"(UTC-05:00)波哥大,利马,基多",code:"015-5",offset:-5,tz:"America/Bogota"},{name:"(UTC-05:00)东部时间(美国和加拿大)",code:"016-5",offset:-5,tz:"America/New_York"},{name:"(UTC-05:00)印地安那州(东部)",code:"017-5",offset:-5,tz:"America/Indiana/Indianapolis"},{name:"(UTC-04:30)加拉加斯",code:"018-4.5",offset:-4,tz:"America/Caracas"},{name:"(UTC-04:00)大西洋时间(加拿大)",code:"019-4",offset:-4,tz:"America/Halifax"},{name:"(UTC-04:00)库亚巴",code:"020-4",offset:-4,tz:"America/Cuiaba"},{name:"(UTC-04:00)乔治敦,拉巴斯,马瑙斯,圣胡安",code:"021-4",offset:-4,tz:"America/La_Paz"},{name:"(UTC-04:00)圣地亚哥",code:"022-4",offset:-3,tz:"America/Santiago"},{name:"(UTC-04:00)亚松森",code:"023-4",offset:-3,tz:"America/Asuncion"},{name:"(UTC-03:30)纽芬兰",code:"024-3.5",offset:-3.5,tz:"America/St_Johns"},{name:"(UTC-03:00)巴西利亚",code:"025-3",offset:-3,tz:"America/Sao_Paulo"},{name:"(UTC-03:00)布宜诺斯艾利斯",code:"026-3",offset:-3,tz:"America/Argentina/Buenos_Aires"},{name:"(UTC-03:00)格陵兰",code:"027-3",offset:-3,tz:"America/Godthab"},{name:"(UTC-03:00)卡宴,福塔雷萨",code:"028-3",offset:-3,tz:"America/Cayenne"},{name:"(UTC-03:00)蒙得维的亚",code:"029-3",offset:-3,tz:"America/Montevideo"},{name:"(UTC-11:00)协调世界时-11",code:"030-2",offset:-11,tz:"Etc/GMT+11"},{name:"(UTC-02:00)中大西洋",code:"031-2",offset:-4,tz:"America/Halifax"},{name:"(UTC-01:00)佛得角群岛",code:"032-1",offset:-1,tz:"Atlantic/Cape_Verde"},{name:"(UTC-01:00)亚速尔群岛",code:"033-1",offset:-1,tz:"Atlantic/Azores"},{name:"(UTC)都柏林,爱丁堡,里斯本,伦敦",code:"034-0",offset:0,tz:"Europe/London"},{name:"(UTC)卡萨布兰卡",code:"035-0",offset:1,tz:"Africa/Casablanca"},{name:"(UTC)蒙罗维亚,雷克雅未克",code:"036-0",offset:0,tz:"Atlantic/Reykjavik"},{name:"(UTC)协调世界时",code:"037-0",offset:0,tz:"Etc/GMT"},{name:"(UTC+01:00)阿姆斯特丹,柏林,伯尔尼,罗马,斯德哥尔摩,维也纳",code:"038+1",offset:1,tz:"Europe/Berlin"},{name:"(UTC+01:00)贝尔格莱德,布拉迪斯拉发,布达佩斯,卢布尔雅那,布拉格",code:"039+1",offset:1,tz:"Europe/Budapest"},{name:"(UTC+01:00)布鲁塞尔,哥本哈根,马德里,巴黎",code:"040+1",offset:1,tz:"Europe/Paris"},{name:"(UTC+01:00)萨拉热窝,斯科普里,华沙,萨格勒布",code:"041+1",offset:1,tz:"Europe/Warsaw"},{name:"(UTC+01:00)温得和克",code:"042+1",offset:2,tz:"Africa/Windhoek"},{name:"(UTC+01:00)中非西部",code:"043+1",offset:1,tz:"Africa/Lagos"},{name:"(UTC+02:00)安曼",code:"044+2",offset:2,tz:"Asia/Amman"},{name:"(UTC+02:00)贝鲁特",code:"045+2",offset:2,tz:"Asia/Beirut"},{name:"(UTC+02:00)大马士革",code:"046+2",offset:2,tz:"Asia/Damascus"},{name:"(UTC+02:00)哈拉雷,比勒陀利亚",code:"047+2",offset:2,tz:"Africa/Johannesburg"},{name:"(UTC+02:00)赫尔辛基,基辅,里加,索非亚,塔林,维尔纽斯",code:"048+2",offset:2,tz:"Europe/Kiev"},{name:"UTC+02:00)开罗",code:"049+2",offset:2,tz:"Africa/Cairo"},{name:"(UTC+02:00)明斯克",code:"050+2",offset:3,tz:"Europe/Minsk"},{name:"(UTC+02:00)雅典,布加勒斯特,伊斯坦布尔",code:"051+2",offset:3,tz:"Europe/Istanbul"},{name:"(UTC+02:00)耶路撒冷",code:"052+2",offset:2,tz:"Asia/Jerusalem"},{name:"(UTC+03:00)巴格达",code:"053+3",offset:3,tz:"Asia/Baghdad"},{name:"(UTC+03:00)科威特,利雅得",code:"054+3",offset:3,tz:"Asia/Riyadh"},{name:"(UTC+03:00)莫斯科,圣彼得堡,伏尔加格勒",code:"055+3",offset:3,tz:"Europe/Moscow"},{name:"(UTC+03:00)内罗毕",code:"056+3",offset:3,tz:"Africa/Nairobi"},{name:"(UTC+03:30)德黑兰",code:"057+3.5",offset:3.5,tz:"Asia/Tehran"},{name:"(UTC+04:00)阿布扎比,马斯喀特",code:"058+4",offset:4,tz:"Asia/Dubai"},{name:"(UTC+04:00)埃里温",code:"059+4",offset:4,tz:"Asia/Yerevan"},{name:"(UTC+04:00)巴库",code:"060+4",offset:4,tz:"Asia/Baku"},{name:"(UTC+04:00)第比利斯",code:"061+4",offset:4,tz:"Asia/Tbilisi"},{name:"(UTC+04:00)路易港",code:"062+4",offset:4,tz:"Indian/Mauritius"},{name:"(UTC+04:30)喀布尔",code:"063+4.5",offset:4.5,tz:"Asia/Kabul"},{name:"(UTC+05:00)塔什干",code:"064+5",offset:5,tz:"Asia/Tashkent"},{name:"(UTC+05:00)叶卡捷琳堡",code:"065+5",offset:5,tz:"Asia/Yekaterinburg"},{name:"(UTC+05:00)伊斯兰堡,卡拉奇",code:"066+5",offset:5,tz:"Asia/Karachi"},{name:"(UTC+05:30)钦奈,加尔各答,孟买,新德里",code:"067+5.5",offset:5.5,tz:"Asia/Kolkata"},{name:"(UTC+05:30)斯里加亚渥登普拉",code:"068+5.5",offset:5.5,tz:"Asia/Colombo"},{name:"(UTC+05:45)加德满都",code:"069+5.75",offset:5.75,tz:"Asia/Kathmandu"},{name:"(UTC+06:00)阿斯塔纳",code:"070+6",offset:6,tz:"Asia/Almaty"},{name:"(UTC+06:00)达卡",code:"071+6",offset:6,tz:"Asia/Dhaka"},{name:"(UTC+07:00)新西伯利亚",code:"072+6",offset:7,tz:"Asia/Novosibirsk"},{name:"(UTC+06:30)仰光",code:"073+6.5",offset:6.5,tz:"Asia/Yangon"},{name:"(UTC+07:00)克拉斯诺亚尔斯克",code:"074+7",offset:7,tz:"Asia/Krasnoyarsk"},{name:"(UTC+07:00)曼谷,河内,雅加达",code:"075+7",offset:7,tz:"Asia/Bangkok"},{name:"(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐",code:"076+8",offset:8,tz:"Asia/Shanghai"},{name:"(UTC+08:00)吉隆坡,新加坡",code:"077+8",offset:8,tz:"Asia/Singapore"},{name:"(UTC+08:00)珀斯",code:"078+8",offset:8,tz:"Australia/Perth"},{name:"(UTC+08:00)台北",code:"079+8",offset:8,tz:"Asia/Taipei"},{name:"(UTC+08:00)乌兰巴托",code:"080+8",offset:8,tz:"Asia/Ulaanbaatar"},{name:"(UTC+08:00)伊尔库茨克",code:"081+8",offset:8,tz:"Asia/Irkutsk"},{name:"(UTC+09:00)大阪,札幌,东京",code:"082+9",offset:9,tz:"Asia/Tokyo"},{name:"(UTC+09:00)首尔",code:"083+9",offset:9,tz:"Asia/Seoul"},{name:"(UTC+09:00)雅库茨克",code:"084+9",offset:9,tz:"Asia/Yakutsk"},{name:"(UTC+09:30)阿德莱德",code:"085+9.5",offset:10.5,tz:"Australia/Adelaide"},{name:"(UTC+09:30)达尔文",code:"086+9.5",offset:9.5,tz:"Australia/Darwin"},{name:"(UTC+10:00)布里斯班",code:"087+10",offset:10,tz:"Australia/Brisbane"},{name:"(UTC+10:00)符拉迪沃斯托克",code:"088+10",offset:10,tz:"Asia/Vladivostok"},{name:"(UTC+10:00)关岛,莫尔兹比港",code:"089+10",offset:10,tz:"Pacific/Port_Moresby"},{name:"(UTC+10:00)霍巴特",code:"090+10",offset:11,tz:"Australia/Hobart"},{name:"(UTC+10:00)堪培拉,墨尔本,悉尼",code:"091+10",offset:11,tz:"Australia/Sydney"},{name:"(UTC+11:00)马加丹",code:"092+11",offset:11,tz:"Asia/Magadan"},{name:"(UTC+11:00)所罗门群岛,新喀里多尼亚",code:"093+11",offset:11,tz:"Pacific/Guadalcanal"},{name:"(UTC+12:00)奥克兰,惠灵顿",code:"094+12",offset:13,tz:"Pacific/Auckland"},{name:"(UTC+12:00)斐济",code:"095+12",offset:13,tz:"Pacific/Fiji"},{name:"(UTC+12:00)协调世界时+12",code:"096+12",offset:12,tz:"Etc/GMT-12"},{name:"(UTC+13:00)努库阿洛法",code:"097+13",offset:13,tz:"Pacific/Tongatapu"}]};const fr=/^\d{4}-\d{2}-\d{2}(.)\d{2}:\d{2}:\d{2}(.+)$/,mr=({DatePanel:e,DateRangePanel:t,MonthRangePanel:n,YearRangePanel:a,TimePanel:r,TimeRangePanel:i,QuarterPanel:o,TimeSelect:l})=>s=>s===g.DateRange||s===g.DateTimeRange?t:s===g.MonthRange?n:s===g.YearRange?a:s===g.TimeRange?i:s===g.Time?r:s===g.TimeSelect?l:s===g.Quarter?o:e,pr=({api:e,props:t,state:n,nextTick:a})=>([r,i])=>{r||i?n.valueOnOpen=Array.isArray(t.modelValue)?[...t.modelValue]:t.modelValue:a(()=>{e.emitChange(t.modelValue)})},gr=({api:e,vm:t,dispatch:n,emit:a,props:r,state:i,nextTick:o})=>l=>{r.readonly||i.pickerDisabled||i.isMobileScreen||(l?(e.showPicker(),i.valueOnOpen=Array.isArray(r.modelValue)?[...r.modelValue]:r.modelValue):(e.hidePicker(),o(()=>{e.emitChange(r.modelValue)}),i.userInput=null,r.validateEvent&&n("FormItem","form.blur"),r.changeOnConfirm&&!Ne(r.modelValue,i.oldValue)&&a("update:modelValue",i.oldValue),a("blur",t),e.blur()))},hr=e=>()=>{const t=e.modelValue;if(Array.isArray(t)){for(let n=0,a=t.length;n<a;n++)if(t[n])return!1}else if(t)return!1;return!0},yr=({state:e})=>()=>e.type===g.Week?g.Week:e.type===g.Month?g.Month:[g.Year,g.Years,g.YearRange].includes(e.type)?e.type:e.type===g.Dates?g.Dates:g.Day,br=({api:e})=>(t,n,a,r)=>{if(!t)return null;const i=(e.typeValueResolveMap()[a]||e.typeValueResolveMap().default).formatter,o=n||g.DateFormats[a];return i(t,o,r)},vr=({api:e,props:t,state:n})=>()=>{const a={rangeSeparator:t.rangeSeparator},r=e.formatAsFormatAndType(n.parsedValue,n.format,n.type,a);return Array.isArray(n.userInput)?[n.userInput[0]||r&&r[0]||"",n.userInput[1]||r&&r[1]||""]:n.userInput!==null?n.userInput:r?[g.Dates,g.Years].includes(n.type)?r.join(", "):r:""},kr=({api:e})=>(t,n,a,r="-")=>{if(!t)return null;const i=(e.typeValueResolveMap()[a]||e.typeValueResolveMap().default).parser,o=n||g.DateFormats[a];return i(t,o,r)},Dr=({api:e,props:t,state:n,t:a})=>()=>{if(!t.modelValue||n.type===g.TimeSelect)return t.modelValue;const r=Ye(t.modelValue)||Array.isArray(t.modelValue)&&t.modelValue.every(Ye),{from:i,to:o,isServiceTimezone:l,timezoneOffset:s}=n.timezone;if(r&&!l)return t.modelValue;if(n.valueFormat){let c=t.modelValue;l&&(Array.isArray(c)?c=[].concat(c).map(v=>Mn(v)?L(v,n.valueFormat,a):v):n.valueFormat!==g.TimesTamp&&(c=L(c,n.valueFormat,a)));const p=e.parseAsFormatAndType(c,n.valueFormat,n.type,t.rangeSeparator);return Array.isArray(p)?p.map(v=>de(v,i,o,s)):de(p||t.modelValue,i,o,s)}const u=c=>typeof c=="string"||_e(c)?Vt(c):c,d=[].concat(t.modelValue).map(c=>de(u(c),i,o,s));return d.length>1?d:d[0]},Cr=({props:e,utils:t})=>()=>{const{dbTimezone:n,timezone:a,isutc8:r,type:i="date",iso8601:o,timezoneOffset:l}=e,s=t.getDateFormat&&t.getDateFormat(),{DbTimezone:u,Timezone:d,TimezoneOffset:c}=s||{},p=Ke(),v=Q=>typeof Q=="number"&&Q>=-12&&Q<=12;if(!~i.indexOf("datetime"))return{from:p,to:p};let k=v(n)?n:v(u)?u:p,y=v(a)?a:v(d)?d:p,T=_e(l)?l:_e(c)?c:0;const $=e.modelValue,V=(Array.isArray($)?$[0]:$)||"",O=typeof V=="string"&&V.match(/(-|\+)(\d{2}):?(\d{2})$/);return(o||s)&&O&&(k=va(V)),{from:k,to:r?8:y,isServiceTimezone:!!s,timezoneOffset:T}},wr=e=>(Array.isArray(e)?e:[e]).every(n=>!n&&!_e(n)||typeof n=="string"),Tr=({props:e,utils:t})=>{const{valueFormat:n,iso8601:a,modelValue:r,type:i="date"}=e,o=t.getDateFormat&&t.getDateFormat();let l="",s=" ";if(!n&&~i.indexOf("datetime")&&(a||o)&&wr(r)){const d=((Array.isArray(r)?r[0]:r)||"").match(fr);return d&&d.length===3&&(l=d[2]||"",s=d[1]),`yyyy-MM-dd${s}HH:mm:ss${l}`}return n},$r=({t:e})=>(t,n)=>n===g.TimesTamp?t.getTime():L(t,n,e),Ar=({t:e,props:t})=>(n,a)=>{if(a===g.TimesTamp)return new Date(Number(n));const r=t.autoFormat?Kn({text:n,format:a}):n;return ee(r,a,e)},Mr=e=>(t,n)=>{if(Array.isArray(t)&&t.length===2){const a=t[0],r=t[1];if(a&&r)return[e.dateFormatter(a,n),e.dateFormatter(r,n)]}return""},Sr=e=>(t,n,a)=>{if(Array.isArray(t)||(t=t.split(a)),t.length===2){const r=t[0],i=t[1];return[e.dateParser(r,n),e.dateParser(i,n)]}return[]},Wn=e=>{const t=new Date(e).getDay();let n=new Date(e);return t>=2?n.setTime(new Date(e).getTime()-(t-1)*864e5):t===0&&n.setTime(new Date(e).getTime()+(t+1)*864e5),n},Vr=()=>({formatter(e){return e?String(e):""},parser(e){return e===void 0||e===""?null:e}}),Pr=({t:e,props:t,api:n})=>({formatter(a,r,i){const o=Wn(a);let l=We(o),s=o.getMonth();const u=new Date(o),{rangeSeparator:d="-",type:c="format"}=i;l===1&&s===11&&(u.setHours(0,0,0,0),u.setDate(u.getDate()+3-(u.getDay()+6)%7));let p;if(c==="format"&&!/W/.test(r)){const{start:v,end:k}=Fr(a,r,e,t.pickerOptions);p=`${v} ${d} ${k}`}else p=L(u,r,e),p=/WW/.test(p)?p.replace(/WW/,l<10?"0"+l:l):p.replace(/W/,l);return p},parser(a,r){return n.typeValueResolveMap().date.parser(a,r)}}),Fr=(e,t,n,a)=>{const r=a&&a.firstDayOfWeek?a.firstDayOfWeek:7,i=(e.getDay()-r+7)%7,o=Vn(e,i),l=ae(o,6),s=L(o,t,n),u=L(l,t,n);return{start:s,end:u}},Ir=()=>({formatter(e){return e?String(e):""},parser(e){let t=Number(e);return isNaN(e)?null:t}}),it=e=>({formatter(t,n){return t.map(a=>e.dateFormatter(a,n))},parser(t,n){return(typeof t=="string"?t.split(", "):t).map(a=>a instanceof Date?a:e.dateParser(a,n))}}),Or=({api:e,props:t,t:n})=>()=>({default:Vr(),week:Pr({t:n,props:t,api:e}),date:{formatter:e.dateFormatter,parser:e.dateParser},datetime:{formatter:e.dateFormatter,parser:e.dateParser},daterange:{formatter:e.rangeFormatter,parser:e.rangeParser},monthrange:{formatter:e.rangeFormatter,parser:e.rangeParser},datetimerange:{formatter:e.rangeFormatter,parser:e.rangeParser},timerange:{formatter:e.rangeFormatter,parser:e.rangeParser},time:{formatter:e.dateFormatter,parser:e.dateParser},month:{formatter:e.dateFormatter,parser:e.dateParser},year:{formatter:e.dateFormatter,parser:e.dateParser},years:it(e),yearrange:it(e),number:Ir(),dates:it(e),quarter:{formatter:a=>`${a.getFullYear()}-Q${g.MonthQuarterMap[a.getMonth()]}`,parser:e.dateParser}}),Er=({props:e,state:t})=>()=>{const n={};let a;return t.ranged?a=e.id&&e.id[0]:a=e.id,a&&(n.id=a),n},zr=({props:e,state:t})=>()=>{const n={};let a;return t.ranged&&(a=e.id&&e.id[1]),a&&(n.id=a),n},Yr=({api:e,props:t,vm:n})=>()=>t.isRange?e.handleFocus():n.$refs.reference.querySelector("input").focus(),Nr=e=>()=>e.refInput.forEach(t=>t.blur()),Rr=({api:e,props:t,state:n})=>a=>{const r=Ye(a)||Array.isArray(a)&&a.every(Ye);return n.valueFormat&&!r&&e.parseAsFormatAndType(a,n.valueFormat,n.type,t.rangeSeparator)||a},jr=({api:e,state:t})=>n=>{const a=Ye(n)||Array.isArray(n)&&n.every(Ye);return t.valueFormat&&a?e.formatAsFormatAndType(n,t.valueFormat,t.type,{type:"value-format"}):n},Ur=({api:e,state:t})=>n=>{const a=Array.isArray(n)?t.type:t.type.replace(g.Range,"");return e.parseAsFormatAndType(n,t.format,a)},Br=({api:e,state:t})=>n=>{const a=Array.isArray(n)?t.type:t.type.replace(g.Range,"");return e.formatAsFormatAndType(n,t.format,a)},Hr=({props:e,state:t})=>()=>{e.readonly||t.pickerDisabled||!t.valueIsEmpty&&e.clearable&&(t.showClose=!0)},Lr=({state:e,props:t,api:n})=>(a,r)=>{if(r=a.target?a:r,t.autoFormat){const i=n.formatInputValue({event:r,prevValue:e.displayValue});e.userInput=i}else{const i=r.target.value;e.userInput=i}},Wr=({props:e,state:t})=>({event:n,prevValue:a=""})=>{const r=n.target.value,i=n.data,o=t.type==="time-select"?"HH:mm":e.format||g.DateFormats[t.type];return i&&i.charCodeAt()>=48&&i.charCodeAt()<=57?Kn({event:n,format:o,text:a,needSelectionStart:!0}):r},Kr=({value:e,format:t,regx:n,event:a})=>{const r=t.match(n);let i=Gr(a),o=0;if(e!==""){const l=e.match(/[0-9]/g);o=l===null?0:l.length;for(let s=0;s<r.length;s++)o-=Math.max(r[s].length,2);o=o>=0?1:0,o===1&&i>=e.length&&(i=e.length-1)}return{selectionStart:i,I:o}},Ut=(e,t,n)=>{let a=e.length;if(t&&n){const i=t.match(n);a=Math.max(a,i.join("").length)}let r={str:"",arr:[]};for(let i=0;i<a;i++){let o=e.charAt(i)?e.charAt(i):"00";/[0-9]/.test(o)?r.str+=o:r.arr[i]=1}return r},Gr=e=>e.target.selectionStart-(e.data?e.data.length:0),_r=(e,t)=>{e.setSelectionRange&&(e.focus(),setTimeout(()=>{e.setSelectionRange(t,t)},0))},Kn=({event:e,text:t,format:n,needSelectionStart:a=!1})=>{if(!n)return t;let r=0,i="",o=/yyyy|yyy|yy|y|MM|M|dd|d|HH|hh|H|h|mm|m|ss|s|WW|W|w/g,l=0,{numStr:s,selectionStart:u}=Qr({value:t,format:n,regx:o,event:e,needSelectionStart:a}),d=o.exec(n);for(;s.str!==""&&d!==null;){let v,k,y;const T=d.index;l>=0&&(i+=n.substring(l,T)),u>=l+r&&u<=T+r&&(u=u+T-l),l=o.lastIndex,y=l-T,v=s.str.substring(0,y);const $=d[0].charAt(0),V=parseInt(v.charAt(0),10);if(s.str.length>1){const O=s.str.charAt(1);k=10*V+parseInt(O,10)}else k=V;s.arr[T+1]||$==="M"&&k>12||$==="d"&&k>31||["H","h"].includes($)&&k>23||"ms".includes($)&&k>59?(v=d[0].length===2?"0"+V:V,u++):y===1&&(v=String(k),y++,r++),i+=v,s.str=s.str.substring(y),d=o.exec(n)}const{value:c,selectionStart:p}=qr({value:i,format:n,startIndex:l,selectionStart:u,regx:o,needSelectionStart:a});return i=c,u=p,a&&_r(e.target,u),i},Qr=({value:e,format:t,regx:n,event:a,needSelectionStart:r})=>{if(r){let{selectionStart:i,I:o}=Kr({value:e,format:t,regx:n,event:a}),l;return a.data?(l=e.substring(0,i)+a.data+e.substring(i+o),i++):l=e,{numStr:Ut(l),selectionStart:i}}else return{numStr:Ut(e,t,n)}},qr=({value:e,format:t,startIndex:n,selectionStart:a,regx:r,needSelectionStart:i})=>{if(!i&&r.lastIndex===0||i&&r.lastIndex===0&&a>=n){const o=`(?<=${t.substring(0,n)})(\\s*\\S*\\s*)+`,l=new RegExp(o,"g"),s=t.match(l);s&&(e+=s[0],a=e.length)}return{value:e,selectionStart:a}},Jr=({api:e,state:t})=>()=>{if(t.userInput){const n=e.parseString(t.displayValue);n&&(t.picker.state.value=n,e.isValidValue(n)&&(e.emitInput(n),t.userInput=null))}t.userInput===""&&(e.emitInput(null),e.emitChange(null),t.userInput=null)},Xr=({state:e,props:t,api:n})=>a=>{const r=t.autoFormat?n.formatInputValue({event:a,prevValue:e.displayValue[0]}):a.target.value;e.userInput?e.userInput=[r,e.userInput[1]]:e.userInput=[r,null]},Zr=({state:e,props:t,api:n})=>a=>{const r=t.autoFormat?n.formatInputValue({event:a,prevValue:e.displayValue[1]}):a.target.value;e.userInput?e.userInput=[e.userInput[0],r]:e.userInput=[null,r]},xr=({api:e,state:t})=>()=>{const n=e.parseString(t.userInput&&t.userInput[0]);if(n){let a;t.displayValue[1]?(t.userInput=[e.formatToString(n),t.displayValue[1]],a=[n,t.picker.state.value&&t.picker.state.value[1]],t.startStatus=!0):new Date().getTime()<n.getTime()?(t.userInput=[e.formatToString(n),e.formatToString(n)],a=[n,n]):(t.userInput=[e.formatToString(n),""],a=[n,""]),e.isValidValue(a)?(t.picker.state.value=a,t.historyUserInput=[n,t.picker.state.value&&t.picker.state.value[1]],t.historyUserValue=a,e.emitInput(a),t.userInput=null):t.startStatus?(t.picker.state.value=t.historyUserValue?t.historyUserValue:t.historyValue,e.emitInput(t.historyUserValue?t.historyUserValue:t.historyValue),t.userInput=t.historyUserInput?t.historyUserInput:t.historyInput):t.picker.state.value=a}},ei=({api:e,state:t})=>()=>{const n=e.parseString(t.userInput&&t.userInput[1]);if(n){let a;if(t.displayValue[0])t.userInput=[t.displayValue[0],e.formatToString(n)],a=[t.picker.state.value&&t.picker.state.value[0],n],t.endStatus=!0;else{let r=new Date;r.getTime()<n.getTime()?(t.userInput=[e.formatToString(r),e.formatToString(n)],a=[r,n]):(t.userInput=[e.formatToString(n),e.formatToString(n)],a=[n,n])}e.isValidValue(a)?(t.historyValue=a,t.historyInput=[t.displayValue[0],e.formatToString(n)],t.picker.state.value=a,e.emitInput(a),t.userInput=null):t.endStatus?(t.picker.state.value=t.historyValue,e.emitInput(t.historyValue),t.userInput=t.historyInput):(t.picker.state.value=t.historyValue,t.userInput=t.historyInput)}},ti=({api:e,props:t,state:n})=>a=>{t.readonly||n.pickerDisabled||(n.showClose?(n.valueOnOpen=t.modelValue,a.stopPropagation(),e.emitInput(null),e.emitChange(null),n.showClose=!1,n.picker&&typeof n.picker.handleClear=="function"&&n.picker.handleClear()):n.pickerVisible=!n.pickerVisible)},ni=({api:e,props:t,state:n})=>()=>{if(n.pickerVisible&&(n.pickerVisible=!1,n.type===g.Dates)){const a=e.parseAsFormatAndType(n.valueOnOpen,n.valueFormat,n.type,t.rangeSeparator)||n.valueOnOpen;e.emitInput(a,!0)}},ai=({emit:e,vm:t,state:n,api:a})=>()=>{const r=n.type;g.TriggerTypes.includes(r)&&(n.isMobileScreen&&n.isDateMobileComponent?a.dateMobileToggle(!0):n.isMobileScreen&&n.isTimeMobileComponent?a.timeMobileToggle(!0):n.pickerVisible=!0),e("focus",t.$refs.reference)},ri=({api:e,state:t})=>n=>{const a=n.keyCode;if(a===27){t.pickerVisible=!1,n.stopPropagation();return}if(a===9){t.ranged?setTimeout(()=>{t.refInput.includes(document.activeElement)||(t.pickerVisible=!1,e.blur(),n.stopPropagation())},0):(e.handleChange(),t.pickerVisible=t.picker.state.visible=!1,e.blur(),n.stopPropagation());return}if(a===13){(t.userInput===""||e.isValidValue(e.parseString(t.displayValue)))&&(e.handleChange(),t.pickerVisible=t.picker.state.visible=!1,e.blur()),n.stopPropagation();return}if(t.userInput){n.stopPropagation();return}t.picker&&t.picker.handleKeydown&&t.picker.handleKeydown(n)},ii=({destroyPopper:e,state:t})=>()=>{t.picker&&(t.picker.resetView&&t.picker.resetView(),t.pickerVisible=t.picker.visible=t.picker.state.visible=!1,e())},oi=({api:e,nextTick:t,updatePopper:n,state:a})=>()=>{a.$isServer||(a.picker||e.mountPicker(),a.pickerVisible=a.picker.state.visible=!0,a.picker.state.value=a.parsedValue,a.picker.resetView&&a.picker.resetView(),t(()=>{n(a.picker.$el),a.picker.adjustSpinners&&a.picker.adjustSpinners()}))},li=({state:e,api:t})=>(n="",a=!1)=>{e.picker&&(e.userInput=null,e.pickerVisible=e.picker.state.visible=a,t.emitInput(n,a),e.date=n,e.picker.resetView&&e.picker.resetView())},si=e=>(t,n,a)=>{if(e.refInput.length===0)return;const r=(i,o,l)=>{if(i){const s=/(\d+):(\d+):(\d+)(\s+.+)?/;if(s.test(i)){const u=s.exec(i),d=u[1].length,c=u[2].length,p=u[3].length;o===0?l=d:o===3?(o=d+1,l=d+c+1):(o=d+c+2,l=d+c+p+2)}}return{start:o,end:l}};if(!a||a==="min"){const i=e.refInput[0].value,o=r(i,t,n);e.refInput[0].setSelectionRange(o.start,o.end),e.refInput[0].focus()}else if(a==="max"){const i=e.refInput[1].value,o=r(i,t,n);e.refInput[1].setSelectionRange(o.start,o.end),e.refInput[1].focus()}},ui=({api:e,props:t,state:n,vm:a,updatePopper:r})=>()=>{n.picker=a.$refs.picker,n.picker.state.defaultValue=t.defaultValue,n.picker.state.defaultTime=t.defaultTime,n.picker.state.popperClass=t.popperClass,n.picker.state.popperAppendToBody=t.popperAppendToBody,n.picker.state.fnUpdatePopper=r,n.picker.state.currentInstans=n.picker,n.picker.state.timezone=n.timezone,n.picker.state.timezoneData=n.timezoneData,n.picker.state.showTimezone=t.showTimezone||n.timezone.isServiceTimezone,n.picker.state.width=n.reference.getBoundingClientRect().width,n.picker.state.timefmt=t.timeFormat||"",n.picker.state.showTime=n.type===g.DateTime||n.type===g.DateTimeRange,n.picker.state.selectionMode=n.selectionMode,n.picker.state.defaultTimezone=t.defaultTimezone,n.picker.state.unlinkPanels=t.unlinkPanels,n.picker.state.emitDbTime=e.emitDbTime,n.picker.state.arrowControl=n.arrowControl||t.timeArrowControl||t.arrowControl||!1,e.updateOptions(),n.picker.resetView&&n.picker.resetView()},di=({api:e,props:t,state:n})=>()=>{if(!n.picker)return;const a=t.pickerOptions;if(a&&a.selectableRange){let r=a.selectableRange;const i=e.typeValueResolveMap().datetimerange.parser,o=g.DateFormats.timerange;r=Array.isArray(r)?r:[r],n.picker.state.selectableRange=r.map(l=>i(l,o,t.rangeSeparator))}for(const r in a)r in a&&r!==g.SelectbaleRange&&(n.picker.state[r]=a[r]);t.format&&(n.picker.state.format=t.format)},Ne=(e,t)=>{const n=(i,o)=>{const l=o instanceof Date,s=i instanceof Date;return s&&l?i.getTime()===o.getTime():!s&&!l?i===o:!1},a=Array.isArray(e),r=Array.isArray(t);return a&&r?e.length!==t.length?!1:e.every((i,o)=>n(i,t[o])):!a&&!r?n(e,t):!1},ci=({api:e,dispatch:t,emit:n,props:a,state:r})=>i=>{Ne(i,r.valueOnOpen)||(n("change",i),r.valueOnOpen=i,a.validateEvent&&t("FormItem","form.change",i),e.emitDbTime(a.value))},fi=({api:e,emit:t,props:n,state:a})=>(r,i=!1)=>{let o=r;const{from:l,to:s,timezoneOffset:u}=a.timezone;n.type==="datetime"?o=de(o,s,l,-u):n.type==="datetimerange"&&Array.isArray(o)&&(o=o.map(c=>de(c,s,l,-u)));const d=e.formatToValue(o)||r;Ne(n.modelValue,d)||t("update:modelValue",d),!i&&!Ne(a.oldValue,d)&&(a.oldValue=d)},mi=({api:e,state:t})=>n=>(t.picker||e.mountPicker(),t.picker.isValidValue?n&&t.picker.isValidValue(n):!0),pi=({api:e,state:t,TimePanel:n,TimeRangePanel:a})=>r=>{t.type=r?g.TimeRange:g.Time,t.panel=r?a:n,e.mountPicker()},gi=({parent:e,props:t})=>()=>e.componentName===g.DatePicker?t.type:e.componentName===g.TimePicker?t.isRange?g.TimeRange:g.Time:g.TimeSelect,hi=({api:e,props:t,state:n,dispatch:a})=>(r,i)=>{n.historyInput=n.displayValue,n.picker&&(n.historyValue=[n.picker.state.value&&n.picker.state.value[0],e.parseString(n.historyInput&&n.historyInput[1])]),t.changeCompat&&e.emitChange(t.modelValue),!Ne(r,i)&&!n.pickerVisible&&t.validateEvent&&a("FormItem","form.change",r)},yi=({props:e,utils:t})=>()=>{let{type:n,format:a}=e;if(!a&&t.getDateFormat){const r=t.getDateFormat()||{};~["date","dates","daterange"].indexOf(n)&&(a=r.DateFormat),~["datetime","datetimerange"].indexOf(n)&&(a=r.DateTimeFormat)}return a},bi=({props:e,state:t})=>()=>e.suffixIcon||e.prefixIcon||(t.type.includes(g.Time)?g.IconTime:g.IconDate),vi=({props:e})=>()=>typeof e.showTrigger<"u"?e.showTrigger:g.TriggerTypes.includes(e.type),ki=({props:e,hooks:t,vnode:n})=>{const{reactive:a,watch:r,toRefs:i,onBeforeUnmount:o,onDeactivated:l}=t,{emit:s,vm:u,slots:d,nextTick:c}=n,p=g.PlacementMap;return ka({reactive:a,watch:r,emit:s,props:ye(ue({},e),{popperOptions:Object.assign({boundariesPadding:0,gpuAcceleration:!1},e.popperOptions),visibleArrow:!0,offset:0,boundariesPadding:5,arrowOffset:35,placement:p[e.align]||p.left}),toRefs:i,vm:u,slots:d,nextTick:c,onBeforeUnmount:o,onDeactivated:l})},Di=({emit:e,state:t,t:n})=>a=>{const{isServiceTimezone:r,from:i}=t.timezone;if(r&&!Ne(a,t.dbTime)){let o=!1;const l=[].concat(a).map(s=>{if(Mn(s)){o=!0;let u=de(s,Ke(),i);return t.valueFormat&&(u=L(u,t.valueFormat,n)),u}return s});t.dbTime=l.length>1?l:l[0],o&&e("input",t.dbTime)}},Ci=({api:e,state:t,props:n})=>()=>{const{isServiceTimezone:a}=t.timezone;a?t.timezoneData=jt:n.showTimezone&&(t.timezoneData=n.timezoneData?Sn(!0,{},n.timezoneData):jt),e.emitDbTime(n.value)},wi=({state:e,t})=>n=>{const a=n.target;a&&a.scrollWidth>a.offsetWidth&&(e.displayOnlyTooltip=e.displayValue.join(` ${t("ui.datepicker.to")} `))},Ti=({state:e,props:t})=>n=>{const a=n.target;a&&a.scrollWidth>a.offsetWidth&&(e.labelTooltip=t.label)},$i=({props:e,state:t,vm:n,nextTick:a})=>()=>{e.label&&!t.ranged&&n.$refs.label&&n.$refs.reference&&a(()=>{n.$refs.reference.querySelector("input").style.paddingLeft=n.$refs.label.offsetWidth+12+8+"px"})},Ai=({state:e,props:t})=>n=>{t.readonly||e.pickerDisabled||e.dateMobileOption.visible===n||(n&&(e.dateMobileOption.value=t.modelValue),e.dateMobileOption.visible=n)},Mi=({state:e,props:t,api:n})=>a=>{t.readonly||e.pickerDisabled||e.timeMobileOption.visible===a||(a&&(e.timeMobileOption.value=n.dateToTimeArray(t.modelValue)),e.timeMobileOption.visible=a)},Si=({state:e,api:t})=>()=>{t.emitInput(t.timeArrayToDate(e.timeMobileOption.value))},Vi=e=>{const t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()]},Pi=({props:e})=>t=>{const n=t;let a=new Date(e.modelValue);return isNaN(a.getTime())&&(a=new Date),a.setHours(n[0]),a.setMinutes(n[1]),a.setSeconds(n[2]),a},Gn=["state","btnClick","handleEndChange","handleEndInput","focus","handleFocus","handleStartChange","handleStartInput","handleKeydown","handleClickIcon","handleMouseEnter","handleInput","handleChange","handleClose","handlePick","handleSelectRange","handleSelectChange","popperElm","handleEnterDisplayOnlyContent","handleEnterPickerlabel","timeMobileToggle","timeMobileConfirm","emitInput","dateMobileToggle"],Fi=({api:e,reactive:t,vm:n,computed:a,props:r,utils:i,parent:o,breakpoint:l})=>{const s=t({historyValue:[],historyInput:[],historyUserInput:[],historyUserValue:[],startStatus:!1,endStatus:!1,date:null,pickerVisible:!1,showClose:!1,userInput:null,valueOnOpen:null,popperElm:null,unwatchPickerOptions:null,ranged:a(()=>s.type.includes(g.Range)),reference:a(()=>n.$refs.reference.$el||n.$refs.reference),formDisabled:a(()=>(o.tinyForm||{}).disabled),refInput:a(()=>s.reference?[].slice.call(s.reference.querySelectorAll("input")):[]),valueIsEmpty:a(()=>e.getValueEmpty()),triggerClass:a(()=>e.computedTriggerClass()),selectionMode:a(()=>e.getMode()),haveTrigger:a(()=>e.computedHaveTrigger()),displayValue:a(()=>e.displayValue()),parsedValue:a(()=>e.parsedValue()),oldValue:r.modelValue,pickerSize:a(()=>r.size),pickerDisabled:a(()=>r.disabled||s.formDisabled||s.isDisplayOnly),firstInputId:a(()=>e.firstInputId()),secondInputId:a(()=>e.secondInputId()),type:a(()=>e.getType()),timezone:a(()=>e.getTimezone()),valueFormat:a(()=>Tr({props:r,utils:i})),format:a(()=>e.computedFormat()),labelTooltip:"",displayOnlyTooltip:"",isDisplayOnly:a(()=>r.displayOnly||(o.tinyForm||{}).displayOnly),isMobileScreen:a(()=>l.current.value==="default"),dateMobileOption:{visible:!1,type:r.type,value:r.modelValue},timeMobileOption:{visible:!1,type:r.type,value:[0,0,0]},isDateMobileComponent:a(()=>[g.DateRange,g.DateTimeRange,g.DateTime,g.DatePicker,g.Date,g.Dates].includes(r.type)),isTimeMobileComponent:a(()=>[g.Time,g.TimeRange,g.TimeSelect,g.TimePicker].includes(r.type)),showSeconds:a(()=>(s.format||r.pickerOptions&&r.pickerOptions.format||"ss").includes("ss"))});return s},Ii=({api:e,props:t,hooks:n,state:a,vnode:r,others:i,utils:o,parent:l})=>{const{t:s,emit:u,dispatch:d,nextTick:c,vm:p}=r,{TimePanel:v,TimeRangePanel:k}=i,{destroyPopper:y,popperElm:T,updatePopper:$}=ki({props:t,hooks:n,vnode:r});a.popperElm=T,a.picker=null,Object.assign(e,{destroyPopper:y,emitDbTime:Di({emit:u,state:a,t:s}),hidePicker:ii({destroyPopper:y,state:a}),handleSelectChange:({tz:V,date:O})=>!a.ranged&&u("select-change",{tz:V,date:O}),getPanel:mr(i),handleFocus:ai({emit:u,vm:p,state:a,api:e}),getTimezone:Cr({props:t,utils:o}),emitChange:ci({api:e,dispatch:d,emit:u,props:t,state:a}),parsedValue:Dr({api:e,props:t,state:a,t:s}),parseAsFormatAndType:kr({api:e}),typeValueResolveMap:Or({api:e,props:t,t:s}),updateOptions:di({api:e,props:t,state:a}),focus:Yr({api:e,props:t,vm:p}),handleInput:Lr({api:e,state:a,props:t}),handleChange:Jr({api:e,state:a}),isValidValue:mi({api:e,state:a}),emitInput:fi({api:e,emit:u,props:t,state:a}),handleKeydown:ri({api:e,state:a}),handleEndChange:ei({api:e,state:a}),handleStartChange:xr({api:e,state:a}),handleClickIcon:ti({api:e,props:t,state:a}),showPicker:oi({api:e,nextTick:c,updatePopper:$,state:a}),formatToValue:jr({api:e,props:t,state:a}),formatAsFormatAndType:br({api:e}),parseString:Ur({api:e,state:a}),handleClose:ni({api:e,props:t,state:a}),displayValue:vr({api:e,props:t,state:a}),handlePick:li({api:e,state:a}),watchPickerVisible:gr({api:e,vm:p,dispatch:d,emit:u,props:t,state:a,nextTick:c}),watchMobileVisible:pr({api:e,props:t,state:a,nextTick:c}),formatToString:Br({api:e,state:a}),watchIsRange:pi({api:e,state:a,TimePanel:v,TimeRangePanel:k}),mountPicker:ui({api:e,vm:p,props:t,state:a,updatePopper:$}),watchModelValue:hi({api:e,props:t,state:a,dispatch:d}),computedFormat:yi({props:t,utils:o}),computedTriggerClass:bi({props:t,state:a}),computedHaveTrigger:vi({props:t}),setInputPaddingLeft:$i({props:t,state:a,vm:p,nextTick:c}),formatInputValue:Wr({props:t,state:a})}),Oi({api:e,props:t,state:a,t:s,parent:l}),Ei({api:e,props:t,state:a,t:s,parent:l})},Oi=({api:e,props:t,state:n,t:a,parent:r})=>{Object.assign(e,{t:a,state:n,blur:Nr(n),getMode:yr({state:n}),getType:gi({props:t,parent:r}),dateParser:Ar({t:a,props:t}),rangeParser:Sr(e),rangeFormatter:Mr(e),dateFormatter:$r({t:a}),getValueEmpty:hr(t),handleEndInput:Zr({state:n,props:t,api:e}),handleStartInput:Xr({state:n,props:t,api:e}),firstInputId:Er({props:t,state:n}),secondInputId:zr({props:t,state:n}),handleMouseEnter:Hr({props:t,state:n}),initGlobalTimezone:Ci({api:e,state:n,props:t}),parseValue:Rr({api:e,props:t,state:n}),handleSelectRange:si(n),handleEnterPickerlabel:Ti({state:n,props:t}),handleEnterDisplayOnlyContent:wi({state:n,t:a})})},Ei=({api:e,props:t,state:n})=>{Object.assign(e,{dateMobileToggle:Ai({state:n,props:t,api:e}),timeMobileToggle:Mi({state:n,props:t,api:e}),timeMobileConfirm:Si({state:n,props:t,api:e}),dateToTimeArray:Vi,timeArrayToDate:Pi({state:n,props:t,api:e})})},zi=({api:e,state:t,props:n,watch:a,markRaw:r})=>{a(()=>t.type,i=>t.panel=r(e.getPanel(i)),{immediate:!0}),a(()=>[t.dateMobileOption.visible,t.timeMobileOption.visible],e.watchMobileVisible),a(()=>t.pickerVisible,e.watchPickerVisible),a(()=>n.defaultValue,i=>t.picker&&(t.picker.state.defaultValue=i)),a(()=>t.parsedValue,i=>t.picker&&(t.picker.state.value=i),{immediate:!0}),a(()=>n.isRange,e.watchIsRange),a(()=>n.modelValue,e.watchModelValue),a(()=>n.pickerOptions,e.updateOptions,{deep:!0}),a(()=>n.label,e.setInputPaddingLeft)},_n=(e,t,n,a)=>{const r={},{reactive:i,computed:o,watch:l,onBeforeUnmount:s,inject:u,markRaw:d,onMounted:c}=t,{vm:p,service:v,parent:k,useBreakpoint:y}=n,{utils:T={}}=v||{},$=y(),V=Fi({api:r,reactive:i,vm:p,computed:o,props:e,utils:T,parent:k,inject:u,breakpoint:$});return k.tinyForm=k.tinyForm||u("form",null),Ii({api:r,props:e,hooks:t,state:V,vnode:n,others:a,utils:T,parent:k}),zi({api:r,state:V,props:e,watch:l,markRaw:d}),r.initGlobalTimezone(),c(()=>{r.setInputPaddingLeft()}),k.$on("handle-clear",O=>{V.showClose=!0,r.handleClickIcon(O)}),s(()=>{r.destroyPopper("remove"),V.popperElm=null,V.picker=null}),r},Yi=({state:e,t})=>()=>{const{YearI18n:n,Year:a,PanelYearNum:r}=g,i=t(n);if(e.currentView===a){const o=e.startYear;return i?o+" "+i+" - "+(o+r-1)+" "+i:o+" - "+(o+r-1)}return e.year+" "+i},Ni=({api:e,state:t})=>n=>{[g.Dates,g.Years].includes(t.selectionMode)&&t.value||(Y(n)?t.date=t.selectionMode==="week"?Wn(n):new Date(n):t.date=e.getDefaultValue())},Ri=({state:e})=>t=>{Y(e.value)||(e.date=t?new Date(t):new Date)},ji=({nextTick:e,vm:t})=>n=>{n&&e(()=>{t.$refs.timepicker.adjustSpinners()})},Ui=({state:e})=>t=>{t===g.Month?(e.currentView!==g.Year||e.currentView!==g.Month)&&(e.currentView=g.Month):t===g.Dates?e.currentView=g.Date:[g.Year,g.Years,g.YearRange].includes(t)&&(e.currentView=g.Year)},Bi=({vm:e,state:t,watch:n})=>()=>{const a=l=>{e.$refs.timepicker&&(e.$refs.timepicker.state.format=l)},r=l=>{e.$refs.timepicker&&(e.$refs.timepicker.state.value=null,l&&(e.$refs.timepicker.state.value=l))},i=l=>{e.$refs.timepicker&&(e.$refs.timepicker.state.date=l)},o=l=>{e.$refs.timepicker&&(e.$refs.timepicker.state.selectableRange=l)};n(()=>t.value,r),n(()=>t.date,i,{deep:!0}),n(()=>t.selectableRange,o,{deep:!0}),a(t.timeFormat),r(t.value),i(t.date),o(t.selectableRange)},Hi=({api:e,state:t,emit:n})=>()=>{t.date=e.getDefaultValue(),n("pick",null)},Li=({state:e,emit:t})=>(n,...a)=>{if(!n)t("pick",n,...a);else if(Array.isArray(n)){const r=n.map(i=>e.showTime?me(i):Qe(i));t("pick",r,...a)}else t("pick",e.showTime?me(n):Qe(n),...a);e.userInputDate=null,e.userInputTime=null},Wi=({state:e})=>()=>e.currentView=g.Month,Ki=({state:e})=>()=>e.currentView=g.Year,Gi=({state:e})=>()=>e.date=Ze(e.date),_i=({state:e})=>()=>e.date=U(e.date),Qi=({state:e})=>()=>{e.currentView===g.Year?e.startYear=e.startYear-g.PanelYearNum:e.date=De(e.date)},qi=({state:e})=>()=>{e.currentView===g.Year?e.startYear=e.startYear+g.PanelYearNum:e.date=j(e.date)},Ji=e=>t=>{if(t.onClick){const n={$emit:(a,r,i)=>{e.doPick(r,i)}};t.onClick(n)}},Xi=e=>t=>{e("pick",t,!1)},Zi=({api:e,state:t,t:n})=>(a,r,i)=>{if(Y(a)){const o=t.value?x(t.value,a.getHours(),a.getMinutes(),a.getSeconds()):Ce(e.getDefaultValue(),t.defaultTime,n);t.date=o,e.cusEmit(t.date,!0)}else e.cusEmit(a,!0);i||(t.timePickerVisible=r)},xi=e=>()=>{e.timePickerVisible=!1},eo=({api:e,state:t})=>n=>{t.selectionMode===g.Month?(t.date=J(t.date,t.year,n,1),e.cusEmit(t.date)):(t.date=Pn(t.date,t.year,n),t.currentView=g.Date)},to=({api:e,state:t,t:n})=>a=>{if(t.selectionMode===g.Day){let r=t.value?J(t.value,a.getFullYear(),a.getMonth(),a.getDate()):Ce(a,t.defaultTime,n);e.checkDateWithinRange(r)||(r=J(t.selectableRange[0][0],a.getFullYear(),a.getMonth(),a.getDate())),t.date=r,e.cusEmit(t.date,t.showTime)}else t.selectionMode===g.Week?e.cusEmit(a.date):t.selectionMode===g.Dates&&e.cusEmit(a,!0)},no=({api:e,state:t})=>n=>{t.selectionMode===g.Year?(t.date=J(t.date,n,0,2),e.cusEmit(t.date)):[g.Years].includes(t.selectionMode)?(t.date=n.map(a=>new Date(a,0,2)),e.cusEmit(t.date,t.selectionMode===g.YearRange?n.length<2:!0)):(t.date=Pn(t.date,n,t.month),t.currentView=g.Month)},ao=({state:e})=>()=>{let t=e.disabledDate;return t?t(new Date):!1},ro=({state:e})=>()=>{let t=e.disabledDate;return t?e.value?t(e.value):!0:!1},Qn=(e,t)=>{const n=Ke(),a=e-n,r=new Date(t).getTime()+a*36e5;return new Date(r)},io=({api:e,state:t})=>()=>{const n=new Date,a=t.timezone,r=a.isServiceTimezone;let i=!t.disabledDate;if(r){const o=de(n,Ke(),a.to);t.date=o,i=i||!t.disabledDate(o)}else i=i||!t.disabledDate(n);i&&e.checkDateWithinRange(n)&&(r||(t.showTimezone&&t.selectedTz?t.date=Qn(t.selectedTz.offset,n):t.date=n),e.cusEmit(t.date),t.emitDbTime(n))},oo=({api:e,state:t,t:n})=>()=>{if([g.Dates,g.Years].includes(t.selectionMode))e.cusEmit(t.value);else{let a=t.value?t.value:Ce(e.getDefaultValue(),t.defaultTime,n);const r=t.timezone;!t.value&&r.isServiceTimezone?a=t.date=de(a,Ke(),r.to):t.date=new Date(a),e.cusEmit(a)}},lo=({state:e})=>()=>{e.selectionMode===g.Month?e.currentView=g.Month:[g.Year,g.Years,g.YearRange].includes(e.selectionMode)?e.currentView=g.Year:e.currentView=g.Date},so=e=>()=>{Fn(document.body,"keydown",e.handleKeydown)},uo=({api:e,emit:t})=>()=>{t("dodestroy"),Da(document.body,"keydown",e.handleKeydown)},co=({api:e,state:t})=>n=>{const a=n.keyCode;t.visible&&!t.timePickerVisible&&(g.List.includes(a)&&(e.handleKeyControl(a),n.stopPropagation(),n.preventDefault()),a===13&&t.userInputDate===null&&t.userInputTime===null&&e.cusEmit(t.date,!1))},fo=({state:e,emit:t})=>n=>{const a={year:ye(ue({},g.YearObj),{offset:(s,u)=>s.setFullYear(s.getFullYear()+u)}),month:ye(ue({},g.YearObj),{offset:(s,u)=>s.setMonth(s.getMonth()+u)}),week:ye(ue({},g.WeekObj),{offset:(s,u)=>s.setDate(s.getDate()+u*7)}),day:ye(ue({},g.DayObj),{offset:(s,u)=>s.setDate(s.getDate()+u)})},r=e.selectionMode,i=31536e6,o=e.date.getTime(),l=new Date(e.date.getTime());for(;Math.abs(o-l.getTime())<=i;){const s=a[r];if(s.offset(l,s[n]),!(typeof e.disabledDate=="function"&&e.disabledDate(l))){e.date=l,t("pick",l,!0);break}}},mo=({api:e,vm:t,state:n,t:a})=>r=>{const i=ee(r,n.timeFormat,a);i&&e.checkDateWithinRange(i)&&(n.date=J(i,n.year,n.month,n.monthDate),n.userInputTime=null,t.$refs.timepicker&&(t.$refs.timepicker.state.value=n.date),n.timePickerVisible=!1,e.cusEmit(n.date,!0))},po=({api:e,state:t,t:n})=>a=>{const r=ee(a,t.dateFormat,n);if(r){if(typeof t.disabledDate=="function"&&t.disabledDate(r))return;t.date=x(r,t.date.getHours(),t.date.getMinutes(),t.date.getSeconds()),t.userInputDate=null,e.resetView(),e.cusEmit(t.date,!0)}},go=({api:e,state:t})=>n=>n&&!isNaN(n)&&(typeof t.disabledDate=="function"?!t.disabledDate(n):!0)&&e.checkDateWithinRange(n),ho=e=>()=>e.defaultValue?new Date(e.defaultValue):new Date,yo=({state:e})=>t=>e.selectableRange.length>0?qe(t,e.selectableRange,e.format||"HH:mm:ss"):!0,bo=({emit:e,state:t})=>n=>{t.timezone.isServiceTimezone||(t.tz=n.name,t.selectedTz=n,t.showpopup=!1,t.value=Qn(n.offset,t.date),e("select-change",{tz:n,date:t.value}))},vo=({api:e,state:t})=>n=>e.debounceChange(t,n),ko=Ca(500,(e,t)=>{if(!t){e.showpopup=!1;return}const n=e.renderTzdata.slice();let a=0;const r=[];e.renderTzdata=n.map(i=>(i.name.toLowerCase().includes(t)?(i.visible=!1,r.push(i),a++):i.visible=!0,i)),a===1?(e.tz=r[0].name,e.showpopup=!1):e.showpopup=!0}),Do=e=>()=>{e.timezone.isServiceTimezone||(e.renderTzdata=e.renderTzdata&&e.renderTzdata.map(t=>(t.visible=!1,t)),e.showpopup=!0)},Co=e=>()=>e.showpopup=!1,wo=({state:e})=>t=>{if(!(!e.showTimezone||!t)&&(e.renderTzdata=t[e.lang],e.renderTzdata)){const{isServiceTimezone:n,to:a}=e.timezone,r=e.selectedTz||{},i=r.tz?r.tz:e.defaultTimezone;let o;a===0?o="":(o=a>0?"+":"-",o=o+wa(String(Math.abs(a)),2)+":00"),o=`(UTC${o})`,e.renderTzdata.some(l=>~[r.tz,i].indexOf(l.tz)||n&&~l.name.indexOf(o)?(e.selectedTz=l,e.tz=e.selectedTz.name,!0):!1)||(e.selectedTz=void 0)}},To=({state:e,t})=>()=>e.userInputTime!==null?e.userInputTime:L(e.value||e.defaultValue,e.timeFormat,t),$o=({state:e,t})=>()=>e.userInputDate!==null?e.userInputDate:L(e.value||e.defaultValue,e.dateFormat,t),Ao=({state:e})=>()=>e.format?In(e.timefmt||e.format):g.DateFormats.timerange,Mo=({api:e,state:t})=>()=>{t.needChangeTimezoneData&&(e.getRenderTz(t.timezoneData),t.needChangeTimezoneData=!1)},qn=["state","isValidValue","handleTzPickClose","toggleTz","searchTz","selectTz","confirm","cusPrevYear","cusNextYear","cusPrevMonth","cusNextMonth","changeToNow","handleMonthPick","handleYearPick","handleDatePick","showMonthPicker","showYearPicker","handleTimePick","handleEnter","handleVisibleTimeChange","handleVisibleDateChange","handleLeave","handleShortcutClick","handleTimePickClose"],So=({reactive:e,computed:t,api:n,i18n:a})=>{const r=e({popperClass:"",date:new Date,value:"",defaultValue:null,defaultTime:null,showTime:!1,selectionMode:g.Day,shortcuts:"",visible:!1,currentView:g.Date,disabledDate:"",cellClassName:"",selectableRange:[],firstDayOfWeek:7,showWeekNumber:!1,timePickerVisible:!1,format:"",timeFmt:"",timezone:{},arrowControl:!1,userInputDate:null,userInputTime:null,showTimezone:!1,showpopup:!1,tz:"",selectedTz:null,animationName:"",startYear:Math.floor(new Date().getFullYear()/10)*10,disabledNow:t(()=>n.getDisabledNow()),disabledConfirm:t(()=>n.getDisabledConfirm()),year:t(()=>!Array.isArray(r.date)&&r.date.getFullYear()),month:t(()=>!Array.isArray(r.date)&&r.date.getMonth()),week:t(()=>We(r.date)),monthDate:t(()=>r.date.getDate()),footerVisible:t(()=>r.showTime||[g.Dates,g.Years].includes(r.selectionMode)),visibleTime:t(()=>n.computerVisibleTime()),visibleDate:t(()=>n.computerVisibleDate()),yearLabel:t(()=>n.getYearLabel()),timeFormat:t(()=>n.computerTimeFormat()),dateFormat:t(()=>r.format?On(r.format.replace(r.timefmt,"")):En.Date),lang:t(()=>a?a.locale.replace(/_/g,"-"):"zh-CN"),isShowTz:t(()=>r.showTimezone&&r.showTime),isShowFooter:t(()=>r.footerVisible&&[g.Date,g.Year].includes(r.currentView))});return r.needChangeTimezoneData=!0,r},Vo=({watch:e,state:t,api:n,nextTick:a})=>{e(()=>t.isShowTz,()=>{setTimeout(()=>t.fnUpdatePopper&&t.fnUpdatePopper())}),e(()=>t.isShowFooter,()=>{setTimeout(()=>t.fnUpdatePopper&&t.fnUpdatePopper())}),e(()=>t.lang,()=>t.needChangeTimezoneData=!0),e(()=>t.defaultValue,n.watchDefaultValue),e(()=>t.value,n.watchValue),e(()=>t.timePickerVisible,n.watchTimePickerVisible),e(()=>t.selectionMode,n.watchSelectionMode),e(()=>t.timePickerVisible,()=>a(n.proxyTimePickerDataProperties)),e(()=>t.visible,n.watchVisible)},Po=({api:e,state:t,t:n,emit:a,nextTick:r,vm:i,watch:o})=>{Object.assign(e,{t:n,state:t,debounceChange:ko,toggleTz:Do(t),watchVisible:Mo({api:e,state:t}),getRenderTz:wo({state:t}),selectTz:bo({emit:a,state:t}),handleTzPickClose:Co(t),getDefaultValue:ho(t),showYearPicker:Ki({state:t}),handleTimePickClose:xi(t),cusNextMonth:_i({state:t}),cusPrevMonth:Gi({state:t}),resetView:lo({state:t}),showMonthPicker:Wi({state:t}),cusNextYear:qi({state:t}),cusPrevYear:Qi({state:t}),watchDefaultValue:Ri({state:t}),getYearLabel:Yi({state:t,t:n}),cusEmit:Li({state:t,emit:a}),watchTimePickerVisible:ji({nextTick:r,vm:i}),checkDateWithinRange:yo({state:t}),watchSelectionMode:Ui({state:t}),proxyTimePickerDataProperties:Bi({vm:i,state:t,watch:o}),handleKeyControl:fo({state:t,emit:a}),doPick:Xi(a),searchTz:vo({api:e,state:t}),handleEnter:so(e),handleLeave:uo({api:e,emit:a}),changeToNow:io({api:e,state:t}),isValidValue:go({api:e,state:t}),handleClear:Hi({api:e,state:t,emit:a}),watchValue:Ni({api:e,state:t}),handleKeydown:co({api:e,state:t}),confirm:oo({api:e,state:t,t:n}),handleMonthPick:eo({api:e,state:t}),handleVisibleDateChange:po({api:e,state:t,t:n}),handleTimePick:Zi({api:e,state:t,t:n}),handleYearPick:no({api:e,state:t}),handleDatePick:to({api:e,state:t,t:n}),computerVisibleTime:To({state:t,t:n}),handleShortcutClick:Ji(e),computerVisibleDate:$o({state:t,t:n}),handleVisibleTimeChange:mo({api:e,vm:i,state:t,t:n}),computerTimeFormat:Ao({state:t}),getDisabledNow:ao({state:t}),getDisabledConfirm:ro({state:t})})},Jn=(e,{computed:t,reactive:n,watch:a,nextTick:r},{t:i,emit:o,vm:l,i18n:s})=>{const u={},d=e.emitter?e.emitter.emit:o,c=So({reactive:n,computed:t,api:u,i18n:s});return Po({api:u,state:c,t:i,emit:d,nextTick:r,vm:l,watch:a}),Vo({watch:a,state:c,api:u,nextTick:r}),u},Fo=({api:e,nextTick:t,state:n})=>a=>{let r;a instanceof Date?r=Je(a,n.selectableRange,n.format):a||(r=n.defaultValue?new Date(n.defaultValue):new Date),n.date=r,n.visible&&n.needInitAdjust&&(t(()=>e.adjustSpinners()),n.needInitAdjust=!1)},Io=({nextTick:e,vm:t,state:n,api:a})=>r=>{r?(n.oldValue=n.value,e(()=>{t.$refs.spinner.emitSelectRange("hours"),a.adjustSpinners()})):n.needInitAdjust=!0},Oo=({state:e,emit:t})=>()=>{t("pick",e.oldValue,!1)},Eo=({api:e,state:t,emit:n})=>a=>{t.visible&&(t.date=me(a),e.isValidValue(t.date)&&n("pick",t.date,!0))},zo=({state:e,emit:t})=>(n,a)=>{t("select-range",n,a),e.selectionRange=[n,a]},Yo=({state:e,emit:t})=>(n=!1,a=null)=>{if(a)return;const r=me(Je(e.date,e.selectableRange,e.format));t("pick",r,n,a)},No=({api:e,vm:t})=>n=>{const a={38:-1,40:1,37:-1,39:1},r=n.keyCode;if(r===37||r===39){const i=a[r];e.changeSelectionRange(i),n.preventDefault();return}if(r===38||r===40){const i=a[r];t.$refs.spinner.scrollDown(i),n.preventDefault()}},Ro=({state:e})=>t=>qe(t,e.selectableRange,e.format),jo=e=>()=>e.$refs.spinner.adjustSpinners(),Uo=({vm:e,state:t})=>n=>{const a=[0,3].concat(t.showSeconds?[6]:[]),r=["hours","minutes"].concat(t.showSeconds?["seconds"]:[]),o=(a.indexOf(t.selectionRange[0])+n+a.length)%a.length;e.$refs.spinner.emitSelectRange(r[o])},Bo=({MIN_TIME:e})=>t=>J(e,t.getFullYear(),t.getMonth(),t.getDate()),Ho=({MAX_TIME:e})=>t=>J(e,t.getFullYear(),t.getMonth(),t.getDate()),Lo=e=>(t,n)=>new Date(Math.min(t.getTime()+n,e.maxTimeOfDay(t).getTime())),Xn=e=>()=>(e.format||"").includes("A")?"A":(e.format||"").includes("a")?"a":"",Wo=({api:e,state:t})=>n=>{Array.isArray(n)?(n[0]?t.minDate=new Date(n[0]):t.minDate=n[1]?new Date(e.minTimeOfDay(new Date(n[1])).getTime()):new Date,n[1]?t.maxDate=new Date(n[1]):t.maxDate=n[0]?e.advanceTime(new Date(n[0]),60*60*1e3):e.advanceTime(new Date,60*60*1e3)):Array.isArray(t.defaultValue)?(t.minDate=new Date(t.defaultValue[0]),t.maxDate=new Date(t.defaultValue[1])):t.defaultValue?(t.minDate=new Date(t.defaultValue),t.maxDate=e.advanceTime(new Date(t.defaultValue),60*60*1e3)):(t.minDate=new Date,t.maxDate=e.advanceTime(new Date,60*60*1e3))},Ko=({vm:e})=>()=>{e.$refs.minSpinner&&(e.$refs.minSpinner.adjustSpinners("min"),e.$refs.maxSpinner.adjustSpinners("max"))},Zn=e=>{Array.isArray(e.oldValue)&&(e.oldValue[0]&&(e.minDate=me(e.oldValue[0])),e.oldValue[1]&&(e.maxDate=me(e.oldValue[1])))},Go=({nextTick:e,api:t,state:n})=>a=>{a&&(n.oldValue=n.value,e(()=>{Zn(n),t.adjustSpinners()}))},_o=e=>()=>e("pick",null),Qo=({emit:e,api:t,state:n})=>()=>{n.visible=!1,e("pick",n.oldValue),Zn(n),t.adjustSpinners()},qo=({api:e,state:t})=>n=>{t.minDate=me(n),e.handleChange()},Jo=({api:e,state:t})=>n=>{t.maxDate=me(n),e.handleChange()},Xo=({api:e,emit:t,vm:n,state:a})=>()=>{!n.$refs.minSpinner||!n.$refs.maxSpinner||!a.visible||e.isValidValue([a.minDate,a.maxDate])&&(n.$refs.minSpinner.state.selectableRange=[[e.minTimeOfDay(a.minDate),a.maxDate]],n.$refs.maxSpinner.state.selectableRange=[[a.minDate,e.maxTimeOfDay(a.maxDate)]],t("pick",[a.minDate,a.maxDate],a.visible))},Zo=({emit:e,state:t})=>(n,a)=>{e("select-range",n,a,"min"),t.selectionRange=[n,a]},xo=({emit:e,state:t})=>(n,a)=>{e("select-range",n,a,"max"),t.selectionRange=[n+t.offset,a+t.offset]},el=({emit:e,vm:t,state:n})=>(a=!1)=>{const r=t.$refs.minSpinner.state.selectableRange,i=t.$refs.maxSpinner.state.selectableRange;n.minDate=Je(n.minDate,r,n.format),n.maxDate=Je(n.maxDate,i,n.format),e("pick",[n.minDate,n.maxDate],a)},tl=({vm:e,state:t})=>n=>{const a=t.showSeconds?[0,3,6,11,14,17]:[0,3,8,11],r=["hours","minutes"].concat(t.showSeconds?["seconds"]:[]),o=(a.indexOf(t.selectionRange[0])+n+a.length)%a.length,l=a.length/2;o<l?e.$refs.minSpinner.emitSelectRange(r[o]):e.$refs.maxSpinner.emitSelectRange(r[o-l])},nl=({vm:e,state:t})=>n=>Array.isArray(n)&&qe(t.minDate,e.$refs.minSpinner.state.selectableRange)&&qe(t.maxDate,e.$refs.maxSpinner.state.selectableRange),al=({api:e,state:t})=>n=>{const a=n.keyCode,r={38:-1,40:1,37:-1,39:1};if(a===37||a===39){const i=r[a];e.changeSelectionRange(i),n.preventDefault();return}if(a===38||a===40){const i=r[a];t.spinner.scrollDown(i),n.preventDefault()}},xn=["state","handleChange","setSelectionRange","handleCancel","handleConfirm","adjustSpinners"],rl=({reactive:e,props:t,computed:n,api:a})=>{const r=e({popperClass:"",format:"HH:mm:ss",value:"",defaultValue:null,date:t.value||new Date,oldValue:new Date,selectableRange:[],selectionRange:[0,2],disabled:!1,arrowControl:!1,visible:!1,needInitAdjust:!0,showSeconds:n(()=>(r.format||"").includes("ss")),useArrow:n(()=>r.arrowControl||t.timeArrowControl||!1),amPmMode:n(()=>a.compuAmPmMode())});return r},ea=(e,{computed:t,onMounted:n,reactive:a,watch:r,nextTick:i},{t:o,emit:l,vm:s})=>{const u={},d=e.emitter?e.emitter.emit:l,c=rl({reactive:a,props:e,computed:t,api:u});return Object.assign(u,{t:o,state:c,compuAmPmMode:Xn(c),adjustSpinners:jo(s),handleCancel:Oo({state:c,emit:d}),setSelectionRange:zo({state:c,emit:d}),watchVisible:Io({nextTick:i,vm:s,state:c,api:u}),isValidValue:Ro({state:c}),changeSelectionRange:Uo({vm:s,state:c}),handleConfirm:Yo({state:c,emit:d}),handleKeydown:No({api:u,vm:s}),handleChange:Eo({api:u,emit:d,state:c}),watchValue:Fo({api:u,emit:d,nextTick:i,state:c})}),r(()=>c.value,u.watchValue),r(()=>e.show,p=>{c.visible=p},{immediate:!0}),r(()=>c.selectableRange,p=>s.$refs.spinner.state.selectableRange=p),r(()=>c.defaultValue,p=>!Y(c.value)&&(c.date=p?new Date(p):new Date)),n(()=>{u.handleConfirm(!0,!0)}),r(()=>c.visible,u.watchVisible),u},il=e=>()=>{const t=e.hours,n=e.step.hours;return[t-n>=0?t-n:void 0,t,t+n<=23?t+n:void 0]},ol=e=>()=>{const t=e.minutes,n=e.step.minutes;return[t-n>=0?t-n:void 0,t,t+n<=59?t+n:void 0]},ll=e=>()=>{const t=e.seconds,n=e.step.seconds;return[t-n>=0?t-n:void 0,t,t+n<=59?t+n:void 0]},sl=({api:e,state:t})=>()=>e.scrollDown(t.step[t.currentScrollbar]),ul=({api:e,state:t})=>()=>e.scrollDown(-t.step[t.currentScrollbar]),dl=({emit:e,props:t,state:n})=>(a,r)=>{if(n[a]!==r)switch(a){case"hours":e("change",x(t.date,r,n.minutes,n.seconds));break;case"minutes":e("change",x(t.date,n.hours,r,n.seconds));break;case"seconds":e("change",x(t.date,n.hours,n.minutes,r));break}},cl=e=>(t,{value:n,disabled:a})=>{a||(e.modifyDateField(t,n),e.emitSelectRange(t),e.adjustSpinner(t,n))},fl=({emit:e,state:t})=>n=>{n==="hours"?e("select-range",0,2):n==="minutes"?e("select-range",3,5):n==="seconds"&&e("select-range",6,8),t.currentScrollbar=n},ml=({api:e,vm:t})=>()=>{const n=a=>{t.$refs[a].$refs.wrap.onscroll=r=>{e.handleScroll(a,r)}};n("hours"),n("minutes"),n("seconds")},pl=({api:e,vm:t,state:n})=>a=>{let r=Math.round((t.$refs[a].$refs.wrap.scrollTop-(e.scrollBarHeight(a)*.5-10)/e.typeItemHeight(a)+3)/e.typeItemHeight(a));const i=n.step[a],o={hours:23,minutes:59,seconds:59};Object.keys(o).forEach(l=>o[l]=Math.floor(o[l]/i)*i),r=e.selectDateScroll(a,Math.min(r*i,o[a])),e.modifyDateField(a,r)},gl=({state:e,props:t})=>(n,a)=>{if(Object.keys(t.endDate).length!==0){const r=t.endDate.getHours(),i=t.endDate.getMinutes(),o=t.endDate.getSeconds();n==="hours"?a=a>r?e.hours:a:n==="minutes"?a=e.hours===r&&a>i?e.minutes:a:a=e.hours===r&&e.minutes===i&&a>o?e.seconds:a}else if(Object.keys(t.startDate).length!==0){const r=t.startDate.getHours(),i=t.startDate.getMinutes(),o=t.startDate.getSeconds();n==="hours"?a=a<r?e.hours:a:n==="minutes"?a=e.hours===r&&a<i?e.minutes:a:a=e.hours===r&&e.minutes===i&&a<o?e.seconds:a}else if(e.selectableRange.length>0){const[r,i]=e.selectableRange[0],o=r.getHours(),l=i.getHours(),s=r.getMinutes(),u=i.getMinutes(),d=r.getSeconds(),c=i.getSeconds();n==="hours"?a=a<o||a>l?e.hours:a:n==="minutes"?e.hours===o?a=a<s?s:a:e.hours===l&&(a=a>u?u:a):(e.hours===o&&e.minutes===s?a=a<d?d:a:e.hours===l&&e.minutes===u&&(a=a>c?c:a),a=d===0&&a<1?0:a)}return a},hl=({api:e,state:t,vm:n})=>a=>{if(a){const r=n.date.getFullYear(),i=n.date.getUTCMonth()+1,o=n.date.getDate();a==="min"&&n.endDate instanceof Date?t.selectableRange=[[new Date(`${r}-${i}-${o} 00:00:00`),n.endDate]]:a==="max"&&n.startDate instanceof Date&&(t.selectableRange=[[n.startDate,new Date(`${r}-${i}-${o} 23:59:59`)]])}e.adjustSpinner("hours",t.hours),e.adjustSpinner("minutes",t.minutes),e.adjustSpinner("seconds",t.seconds)},yl=({api:e,state:t})=>n=>{e.adjustSpinner(n,t[n])},bl=({api:e,props:t,vm:n,state:a})=>(r,i)=>{if(t.arrowControl)return;const o=n.$refs[r].$refs.wrap;o&&(o.scrollTop=Math.max(0,i/a.step[r]*e.typeItemHeight(r)))},vl=({api:e,state:t})=>n=>{t.currentScrollbar||e.emitSelectRange("hours");const a=t.currentScrollbar,r=t.hoursList;let i=t[a],o;const l=(s,u,d)=>s.find(c=>c[d]===u);if(t.currentScrollbar==="hours"){let s=Math.abs(n),u=r.length;for(;u--&&s;)i=(i+n+r.length*s)%(r.length*s),o=l(r,i,"hour"),!(o&&o.disabled)&&(s-=s);if(o&&o.disabled)return}else i=(i+n+60)%60;i=Math.round(i/t.step[a])*t.step[a],e.modifyDateField(a,i),e.adjustSpinner(a,i)},kl=e=>t=>{if(!(e.amPmMode.toLowerCase()==="a"))return"";let a=e.amPmMode==="A",r=t<12?" am":" pm";return a&&(r=r.toUpperCase()),r},Dl=({vm:e})=>t=>e.$refs[t].$el.querySelector(g.Qurtyli).offsetHeight,Cl=e=>t=>e.$refs[t].$el.offsetHeight,ta=["state","emitSelectRange","adjustCurrentSpinner","handleClick","decrease","increase","amPm","adjustSpinners"],wl=({reactive:e,computed:t,props:n,api:a})=>{const r=e({selectableRange:[],currentScrollbar:null,hours:t(()=>n.date.getHours()),minutes:t(()=>n.date.getMinutes()),seconds:t(()=>n.date.getSeconds()),hoursList:t(()=>Array.from(Ta(r.selectableRange)).map((i,o)=>({disabled:i,hour:o})).filter(({hour:i})=>!(i%r.step.hours))),minutesList:t(()=>Array.from($a(r.selectableRange,r.hours)).map((i,o)=>({disabled:i,minute:o})).filter(({minute:i})=>!(i%r.step.minutes))),secondsList:t(()=>Array.from(new Array(60)).map((i,o)=>({second:o})).filter(({second:i})=>!(i%r.step.seconds))),arrowHourList:t(()=>a.getArrowHourList()),arrowMinuteList:t(()=>a.getArrowMinuteList()),arrowSecondList:t(()=>a.getArrowSecondList()),animationName:"",step:t(()=>({hours:n.step.hour*1||1,minutes:n.step.minute*1||1,seconds:n.step.second*1||1}))});return r},na=(e,{computed:t,onMounted:n,reactive:a,watch:r,nextTick:i},{emit:o,vm:l,constants:s})=>{const u={},d=wl({reactive:a,computed:t,props:e,api:u});return n(()=>{!e.arrowControl&&u.bindScrollEvent()}),Object.assign(u,{state:d,amPm:kl(e),typeItemHeight:Dl({vm:l}),scrollBarHeight:Cl(l),getArrowHourList:il(d),getArrowSecondList:ll(d),getArrowMinuteList:ol(d),emitSelectRange:fl({emit:o,state:d}),modifyDateField:dl({emit:o,props:e,state:d}),bindScrollEvent:ml({api:u,vm:l}),adjustSpinners:hl({api:u,state:d,vm:l}),adjustSpinner:bl({api:u,props:e,vm:l,state:d}),increase:sl({api:u,state:d}),decrease:ul({api:u,state:d}),handleClick:cl(u),scrollDown:vl({api:u,state:d}),handleScroll:pl({api:u,vm:l,state:d}),adjustCurrentSpinner:yl({api:u,state:d}),selectDateScroll:gl({state:d,props:e})}),r(()=>e.date,()=>{["hours","minutes","seconds"].forEach(p=>{u.modifyDateField(p,Math.round(d[p]/d.step[p])*d.step[p])}),i(u.adjustSpinners)},{immediate:!0}),r(()=>d.hoursList,()=>{d.animationName=s.ANIMATIONNAME},{immediate:!0}),u};var aa=(e,t)=>{let a=null,r;const i=()=>{typeof t.value=="function"&&t.value.apply()},o=()=>{Date.now()-r<200&&i(),clearInterval(a),a=null};Fn(e,"mousedown",l=>{l.button===0&&(r=Date.now(),Aa(document,"mouseup",o),clearInterval(a),a=setInterval(i,200))})};function Tl(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=$l(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $l(e,t){if(e){if(typeof e=="string")return Bt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bt(e,t)}}function Bt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Al=function(t,n){for(var a=t.__vccOpts||t,r=Tl(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Ml=E({emits:["change","select-range"],components:{TinyScrollbar:et,IconChevronDown:tt(),IconChevronUp:nt()},directives:re({repeatClick:{bind:aa}}),props:[].concat(G,["date","defaultValue","showSeconds","arrowControl","amPmMode","step","startDate","endDate"]),setup:function(t,n){return N({props:t,context:n,renderless:na,api:ta})}}),Sl=["onClick"],Vl=["onClick"],Pl=["onClick"],Fl={class:"tiny-time-spinner__arrow tiny-icon-arrow-up"},Il={class:"tiny-time-spinner__arrow tiny-icon-arrow-down"},Ol={class:"tiny-time-spinner__arrow tiny-icon-arrow-up"},El={class:"tiny-time-spinner__arrow tiny-icon-arrow-down"},zl={class:"tiny-time-spinner__arrow tiny-icon-arrow-up"},Yl={class:"tiny-time-spinner__arrow tiny-icon-arrow-down"};function Nl(e,t,n,a,r,i){var o=w("tiny-scrollbar"),l=w("icon-chevron-up"),s=w("icon-chevron-down"),u=he("repeat-click");return m(),h("div",{class:b(["tiny-time-spinner",{"has-seconds":e.showSeconds}])},[e.arrowControl?A("v-if",!0):(m(),h(P,{key:0},[D(o,{onMouseenter:t[0]||(t[0]=function(d){return e.emitSelectRange("hours")}),onMousemove:t[1]||(t[1]=function(d){return e.adjustCurrentSpinner("hours")}),class:b([[e.state.animationName],"tiny-time-spinner__wrapper"]),"wrap-style":"max-height: inherit;","view-class":"tiny-time-spinner__list",noresize:"",tag:"ul",ref:"hours"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.hoursList,function(d){var c=d.disabled,p=d.hour;return m(),h("li",{class:b(["tiny-time-spinner__item",{active:p===e.state.hours,disabled:c}]),"data-tag":"li",key:p,onClick:function(k){return e.handleClick("hours",{value:p,disabled:c})}},[f("span",null,C(("0"+(e.amPmMode?p%12||12:p)).slice(-2))+C(e.amPm(p)),1)],10,Sl)}),128))]}),_:1},8,["class"]),D(o,{onMouseenter:t[2]||(t[2]=function(d){return e.emitSelectRange("minutes")}),onMousemove:t[3]||(t[3]=function(d){return e.adjustCurrentSpinner("minutes")}),class:b([[e.state.animationName+"-up"],"tiny-time-spinner__wrapper"]),"wrap-style":"max-height: inherit;","view-class":"tiny-time-spinner__list",noresize:"",tag:"ul",ref:"minutes"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.minutesList,function(d){var c=d.disabled,p=d.minute;return m(),h("li",{onClick:function(k){return e.handleClick("minutes",{value:p,disabled:!1})},key:p,class:b(["tiny-time-spinner__item",{active:p===e.state.minutes,disabled:!c}]),"data-tag":"li"},[f("span",null,C(("0"+p).slice(-2)),1)],10,Vl)}),128))]}),_:1},8,["class"]),S(D(o,{onMouseenter:t[4]||(t[4]=function(d){return e.emitSelectRange("seconds")}),onMousemove:t[5]||(t[5]=function(d){return e.adjustCurrentSpinner("seconds")}),class:b([[e.state.animationName],"tiny-time-spinner__wrapper"]),"wrap-style":"max-height: inherit;","view-class":"tiny-time-spinner__list",noresize:"",tag:"ul",ref:"seconds"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.secondsList,function(d){var c=d.second;return m(),h("li",{onClick:function(v){return e.handleClick("seconds",{value:c,disabled:!1})},class:b(["tiny-time-spinner__item",{active:c===e.state.seconds}]),"data-tag":"li",key:c},[f("span",null,C(("0"+c).slice(-2)),1)],10,Pl)}),128))]}),_:1},8,["class"]),[[z,e.showSeconds]])],64)),e.arrowControl?(m(),h(P,{key:1},[f("div",{onMouseenter:t[6]||(t[6]=function(d){return e.emitSelectRange("hours")}),class:"tiny-time-spinner__wrapper is-arrow"},[S((m(),h("i",Fl,[D(l)])),[[u,e.decrease]]),S((m(),h("i",Il,[D(s)])),[[u,e.increase]]),f("ul",{class:b(["tiny-time-spinner__list",[e.state.animationName]]),ref:"hours"},[(m(!0),h(P,null,I(e.state.arrowHourList,function(d,c){return m(),h("li",{class:b(["tiny-time-spinner__item",{active:d===e.state.hours,disabled:e.state.hoursList.find(function(p){return p.hour===d})&&e.state.hoursList.find(function(p){return p.hour===d}).disabled}]),"data-tag":"li",key:c},[f("span",null,C(d===void 0?"":("0"+(e.amPmMode?d%12||12:d)).slice(-2)+e.amPm(d)),1)],2)}),128))],2)],32),f("div",{onMouseenter:t[7]||(t[7]=function(d){return e.emitSelectRange("minutes")}),class:"tiny-time-spinner__wrapper is-arrow"},[S((m(),h("i",Ol,[D(l)])),[[u,e.decrease]]),S((m(),h("i",El,[D(s)])),[[u,e.increase]]),f("ul",{class:b(["tiny-time-spinner__list",[e.state.animationName+"-up"]]),ref:"minutes"},[(m(!0),h(P,null,I(e.state.arrowMinuteList,function(d,c){return m(),h("li",{class:b(["tiny-time-spinner__item",{active:d===e.state.minutes}]),"data-tag":"li",key:c},[f("span",null,C(d===void 0?"":("0"+d).slice(-2)),1)],2)}),128))],2)],32),e.showSeconds?(m(),h("div",{key:0,onMouseenter:t[8]||(t[8]=function(d){return e.emitSelectRange("seconds")}),class:"tiny-time-spinner__wrapper is-arrow"},[S((m(),h("i",zl,[D(l)])),[[u,e.decrease]]),S((m(),h("i",Yl,[D(s)])),[[u,e.increase]]),f("ul",{class:b(["tiny-time-spinner__list",[e.state.animationName]]),ref:"seconds"},[(m(!0),h(P,null,I(e.state.arrowSecondList,function(d,c){return m(),h("li",{class:b(["tiny-time-spinner__item",{active:d===e.state.seconds}]),"data-tag":"li",key:c},[f("span",null,C(d===void 0?"":("0"+d).slice(-2)),1)],2)}),128))],2)],32)):A("v-if",!0)],64)):A("v-if",!0)],2)}var Ht=Al(Ml,[["render",Nl]]);function Rl(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=jl(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jl(e,t){if(e){if(typeof e=="string")return Lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lt(e,t)}}function Lt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Ul=function(t,n){for(var a=t.__vccOpts||t,r=Rl(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Bl={wrapper:"max-h-[270px] overflow-hidden flex-1 align-top relative","is-arrow":"left-0 box-border text-center overflow-hidden",list:"translate-y-[110px] p-0 m-0 list-none text-center after:content-[''] after:block after:h-[100px] after:w-full",item:"text-sm text-color-text-primary h-12 w-12 py-1 cursor-pointer mx-auto my-0",text:"rounded my-0 flex items-center justify-center h-full hover:bg-color-bg-2",arrow:"text-xs text-color-text-placeholder h-3 leading-3 absolute left-0 w-full z-[1] text-center cursor-pointer",active:"bg-color-fill-6 hover:bg-color-fill-6 text-color-brand",disabled:"text-color-text-placeholder cursor-not-allowed bg-transparent hover:bg-transparent"},Hl=E({emits:["change","select-range"],components:{TinyScrollbar:et,IconChevronDown:tt(),IconChevronUp:nt()},directives:re({repeatClick:{bind:aa}}),props:[].concat(G,["date","defaultValue","showSeconds","arrowControl","amPmMode","step"]),setup:function(t,n){return N({props:t,context:n,renderless:na,api:ta,classes:Bl})}}),Ll=["onClick"],Wl=["onClick"],Kl=["onClick"],Gl={"data-tag":"tiny-time-spinner__arrow tiny-icon-arrow-up"},_l={"data-tag":"tiny-time-spinner__arrow tiny-icon-arrow-down"},Ql={"data-tag":"tiny-time-spinner__arrow tiny-icon-arrow-up"},ql={"data-tag":"tiny-time-spinner__arrow tiny-icon-arrow-down"},Jl={"data-tag":"tiny-time-spinner__arrow tiny-icon-arrow-up"},Xl={"data-tag":"tiny-time-spinner__arrow tiny-icon-arrow-down"};function Zl(e,t,n,a,r,i){var o=w("tiny-scrollbar"),l=w("icon-chevron-up"),s=w("icon-chevron-down"),u=he("repeat-click");return m(),h("div",{"data-tag":"tiny-time-spinner",class:b(["flex",{"has-seconds":e.showSeconds}])},[e.arrowControl?A("v-if",!0):(m(),h(P,{key:0},[D(o,{onMouseenter:t[0]||(t[0]=function(d){return e.emitSelectRange("hours")}),onMousemove:t[1]||(t[1]=function(d){return e.adjustCurrentSpinner("hours")}),class:b([e.gcls("wrapper"),e.state.animationName]),"data-tag":"tiny-time-spinner__wrapper","wrap-style":"max-height: inherit;","data-view-class":"tiny-time-spinner__list","view-class":e.gcls("list"),noresize:"",tag:"div",ref:"hours"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.hoursList,function(d){var c,p=d.disabled,v=d.hour;return m(),h("div",{onClick:function(y){return e.handleClick("hours",{value:v,disabled:p})},"data-tag":"li",key:v,class:b([e.gcls("item")])},[f("span",{class:b(e.m(e.gcls("text"),(c={},c[e.gcls("active")]=v===e.state.hours,c[e.gcls("disabled")]=p,c)))},C(("0"+(e.amPmMode?v%12||12:v)).slice(-2))+C(e.amPm(v)),3)],10,Ll)}),128))]}),_:1},8,["class","view-class"]),D(o,{onMouseenter:t[2]||(t[2]=function(d){return e.emitSelectRange("minutes")}),onMousemove:t[3]||(t[3]=function(d){return e.adjustCurrentSpinner("minutes")}),class:b([e.gcls("wrapper"),e.state.animationName+"-up"]),"data-tag":"tiny-time-spinner__wrapper","wrap-style":"max-height: inherit;","data-view-class":"tiny-time-spinner__list","view-class":e.gcls("list"),noresize:"",tag:"div",ref:"minutes"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.minutesList,function(d){var c,p=d.disabled,v=d.minute;return m(),h("div",{onClick:function(y){return e.handleClick("minutes",{value:v,disabled:!1})},key:v,"data-tag":"li",class:b([e.gcls("item")])},[f("span",{class:b(e.m(e.gcls("text"),(c={},c[e.gcls("active")]=v===e.state.minutes,c[e.gcls("disabled")]=!p,c)))},C(("0"+v).slice(-2)),3)],10,Wl)}),128))]}),_:1},8,["class","view-class"]),S(D(o,{onMouseenter:t[4]||(t[4]=function(d){return e.emitSelectRange("seconds")}),onMousemove:t[5]||(t[5]=function(d){return e.adjustCurrentSpinner("seconds")}),class:b([e.gcls("wrapper"),e.state.animationName]),"data-tag":"tiny-time-spinner__wrapper","wrap-style":"max-height: inherit;","data-view-class":"tiny-time-spinner__list","view-class":e.gcls("list"),noresize:"",tag:"div",ref:"seconds"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.secondsList,function(d){var c,p=d.second;return m(),h("div",{onClick:function(k){return e.handleClick("seconds",{value:p,disabled:!1})},"data-tag":"li",class:b([e.gcls("item")]),key:p},[f("span",{class:b(e.m(e.gcls("text"),(c={},c[e.gcls("active")]=p===e.state.seconds,c)))},C(("0"+p).slice(-2)),3)],10,Kl)}),128))]}),_:1},8,["class","view-class"]),[[z,e.showSeconds]])],64)),e.arrowControl?(m(),h(P,{key:1},[f("div",{onMouseenter:t[6]||(t[6]=function(d){return e.emitSelectRange("hours")}),"data-tag":"tiny-time-spinner__wrapper is-arrow",class:b(e.gcls(["wrapper","is-arrow"]))},[S((m(),h("i",Gl,[D(l)])),[[u,e.decrease]]),S((m(),h("i",_l,[D(s)])),[[u,e.increase]]),f("ul",{"data-tag":"tiny-time-spinner__list",ref:"hours",class:b([e.state.animationName])},[(m(!0),h(P,null,I(e.state.arrowHourList,function(d,c){var p;return m(),h("div",{"data-tag":"li",key:c},[f("span",{class:b(e.m(e.gcls("text"),(p={},p[e.gcls("active")]=d===e.state.hours,p[e.gcls("disabled")]=e.state.hoursList.find(function(v){return v.hour===d})&&e.state.hoursList.find(function(v){return v.hour===d}).disabled,p)))},C(d===void 0?"":("0"+(e.amPmMode?d%12||12:d)).slice(-2)+e.amPm(d)),3)])}),128))],2)],34),f("div",{onMouseenter:t[7]||(t[7]=function(d){return e.emitSelectRange("minutes")}),"data-tag":"tiny-time-spinner__wrapper is-arrow",class:b(e.gcls(["wrapper","is-arrow"]))},[S((m(),h("i",Ql,[D(l)])),[[u,e.decrease]]),S((m(),h("i",ql,[D(s)])),[[u,e.increase]]),f("ul",{"data-tag":"tiny-time-spinner__list",ref:"minutes",class:b([e.state.animationName+"-up"])},[(m(!0),h(P,null,I(e.state.arrowMinuteList,function(d,c){var p;return m(),h("div",{"data-tag":"li",key:c},[f("span",{class:b(e.m(e.gcls("text"),(p={},p[e.gcls("active")]=d===e.state.minutes,p)))},C(d===void 0?"":("0"+d).slice(-2)),3)])}),128))],2)],34),e.showSeconds?(m(),h("div",{key:0,onMouseenter:t[8]||(t[8]=function(d){return e.emitSelectRange("seconds")}),"data-tag":"tiny-time-spinner__wrapper is-arrow",class:b(e.gcls(["wrapper","is-arrow"]))},[S((m(),h("i",Jl,[D(l)])),[[u,e.decrease]]),S((m(),h("i",Xl,[D(s)])),[[u,e.increase]]),f("ul",{"data-tag":"tiny-time-spinner__list",ref:"seconds",class:b([e.state.animationName])},[(m(!0),h(P,null,I(e.state.arrowSecondList,function(d,c){var p;return m(),h("div",{"data-tag":"li",key:c},[f("span",{class:b(e.m(e.gcls("text"),(p={},p[e.gcls("active")]=d===e.state.seconds,p)))},C(d===void 0?"":("0"+d).slice(-2)),3)])}),128))],2)],34)):A("v-if",!0)],64)):A("v-if",!0)],2)}var xl=Ul(Hl,[["render",Zl]]);function ut(){return ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},ut.apply(this,arguments)}var es=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?Ht:(a||t)==="mobile-first"?xl:Ht},ts={ANIMATIONNAME:"tiny-transition-timepicker"},be=E({name:R+"TimeSpinner",componentName:"TimeSpinner",props:ut({},_,{_constants:{type:Object,default:function(){return ts}},date:{},defaultValue:{},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:String,default:""},step:{type:Object,default:function(){return{hour:1,minute:1,second:1}},validator:function(t){var n=t.hour,a=t.minute,r=t.second,i=[{value:n,range:24},{value:a,range:60},{value:r,range:60}];return i.every(function(o){var l=o.value,s=o.range;return l||l===0?Math.floor(l)===l&&l>0&&l<=s:!0})}},startDate:{type:Object,default:function(){return{}}},endDate:{type:Object,default:function(){return{}}}}),setup:function(t,n){return ie({props:t,context:n,template:es})}}),ns="3.16.0";be.install=function(e){e.component(be.name,be)};be.version=ns;function as(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=rs(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rs(e,t){if(e){if(typeof e=="string")return Wt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wt(e,t)}}function Wt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var is=function(t,n){for(var a=t.__vccOpts||t,r=as(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},os=E({emits:["dodestroy","pick","select-range"],components:{TimeSpinner:be},props:[].concat(G,["show","timeArrowControl","emitter","value","step"]),setup:function(t,n){return N({props:t,context:n,renderless:ea,api:xn})}}),ls={class:"tiny-time-panel__footer"};function ss(e,t,n,a,r,i){var o=w("time-spinner");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[2]||(t[2]=function(l){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{class:b(["tiny-time-panel tiny-popper",e.state.popperClass])},[f("div",{class:b(["tiny-time-panel__content",{"has-seconds":e.state.showSeconds}])},[D(o,{ref:"spinner",step:e.step,onChange:e.handleChange,"arrow-control":e.state.useArrow,"show-seconds":e.state.showSeconds,"am-pm-mode":e.state.amPmMode,onSelectRange:e.setSelectionRange,date:e.state.date},null,8,["step","onChange","arrow-control","show-seconds","am-pm-mode","onSelectRange","date"])],2),f("div",ls,[f("button",{type:"button",class:"tiny-time-panel__btn cancel",onClick:t[0]||(t[0]=function(){return e.handleCancel&&e.handleCancel.apply(e,arguments)})},C(e.t("ui.datepicker.cancel")),1),f("button",{type:"button",class:b(["tiny-time-panel__btn",{confirm:!e.state.disabled}]),onClick:t[1]||(t[1]=function(l){return e.handleConfirm()})},C(e.t("ui.datepicker.confirm")),3)])],2),[[z,e.state.visible]])]}),_:1})}var Kt=is(os,[["render",ss]]);function us(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ds(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ds(e,t){if(e){if(typeof e=="string")return Gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gt(e,t)}}function Gt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var cs=function(t,n){for(var a=t.__vccOpts||t,r=us(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},fs=E({emits:["dodestroy","pick","select-range"],components:{TimeSpinner:be,TinyButton:pe},props:[].concat(G,["show","timeArrowControl","emitter","value","step"]),setup:function(t,n){return N({props:t,context:n,renderless:ea,api:xn})}}),ms={"data-tag":"tiny-time-panel__footer",class:"border-t border-t-color-bg-3 py-3 px-4 h-14 leading-7 box-border flex justify-between"};function ps(e,t,n,a,r,i){var o=w("time-spinner"),l=w("tiny-button");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[1]||(t[1]=function(s){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{"data-tag":"tiny-time-panel tiny-popper us",class:b(e.m("my-1 bg-color-bg-1 shadow-md rounded absolute w-60 right-0 z-[1000] box-content select-none",e.state.popperClass))},[f("div",{"data-tag":"tiny-time-panel__content",class:b(["relative overflow-hidden",{"has-seconds":e.state.showSeconds}])},[D(o,{ref:"spinner",step:e.step,onChange:e.handleChange,"arrow-control":e.state.useArrow,"show-seconds":e.state.showSeconds,"am-pm-mode":e.state.amPmMode,onSelectRange:e.setSelectionRange,date:e.state.date},null,8,["step","onChange","arrow-control","show-seconds","am-pm-mode","onSelectRange","date"])],2),f("div",ms,[D(l,{"data-tag":"tiny-time-panel__btn cancel",type:"text","custom-class":"text-color-brand text-left p-0",onClick:e.handleCancel},{default:M(function(){return[B(C(e.t("ui.datepicker.cancel")),1)]}),_:1},8,["onClick"]),D(l,{"data-tag":"tiny-time-panel__btn",type:"primary",disabled:e.state.disabled,onClick:t[0]||(t[0]=function(s){return e.handleConfirm()})},{default:M(function(){return[B(C(e.t("ui.datepicker.confirm")),1)]}),_:1},8,["disabled"])])],2),[[z,e.state.visible]])]}),_:1})}var gs=cs(fs,[["render",ps]]);function dt(){return dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},dt.apply(this,arguments)}var hs=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?Kt:(a||t)==="mobile-first"?gs:Kt},ne=E({name:R+"Time",componentName:"Time",props:dt({},_,{show:Boolean,timeArrowControl:Boolean,emitter:Object,value:Date,step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}}}),setup:function(t,n){return ie({props:t,context:n,template:hs})}}),ys="3.16.0";ne.install=function(e){e.component(ne.name,ne)};ne.version=ys;const bs=({day:e,offset:t,j:n,i:a,cell:r,count:i,dateCountOfLastMonth:o})=>{const l=e+t<=0?7+e+t:e+t;return n+a*7>=l?r.text=i++:(r.text=o-(l-n%7)+1+a*7,r.type=g.PreMonth),{count:i}},vs=e=>()=>{const t=e.firstDayOfWeek;return t>3?7-t:-t},ks=({props:e,state:t})=>()=>{const n=e.firstDayOfWeek;return t.constWeeks.concat(t.constWeeks).slice(n,n+7)},Z=e=>typeof e=="number"||typeof e=="string"?Qe(new Date(e)).getTime():e instanceof Date?Qe(e).getTime():NaN,Ds=(e,t,n,a,r,i)=>{let o=t.selected;return e.selectionMode==="dates"?o=Xe(i,l=>L(l,n,a)===L(r,n,a)):o=Xe(i,l=>l.getTime()===r.getTime()),o},Cs=({state:e,props:t})=>(n,a,r)=>{const i=Z(new Date);let o=n[t.showWeekNumber?r+1:r];o||(o={row:a,column:r,inRange:!1,start:!1,end:!1,type:g.Normal}),o.type=g.Normal;const l=a*7+r,s=ae(e.startDate,l-e.offsetDay).getTime();return o.inRange=s>=Z(t.minDate)&&s<=Z(t.maxDate),o.start=t.minDate&&s===Z(t.minDate),o.end=t.maxDate&&s===Z(t.maxDate),s===i&&(o.type=g.Today),{cell:o,cellDate:new Date(s)}},ws=({i:e,day:t,offset:n,j:a,cell:r,count:i,dateCountOfLastMonth:o,dateCountOfMonth:l})=>(e>=0&&e<=1?i=bs({day:t,offset:n,j:a,i:e,cell:r,count:i,dateCountOfLastMonth:o}).count:i<=l?r.text=i++:(r.text=i++-l,r.type=g.NextMonth),i),Ts=({api:e,props:t,state:n,t:a,vm:r})=>()=>{const i=new Date(n.year,n.month,1);let o=Ma(i);const l=lt(i.getFullYear(),i.getMonth()),s=lt(i.getFullYear(),i.getMonth()===0?11:i.getMonth()-1);o=o===0?7:o;const u=n.offsetDay,d=n.tableRows,c=n.startDate,p=t.disabledDate,v=t.cellClassName,k=t.selectionMode===g.Dates?Ot(t.value):[];let y=1;const T=t.formatWeeks instanceof Function,$=[];for(let O=0;O<6;O++){const Q=d[O];t.showWeekNumber&&(Q[0]={type:g.Week,text:We(ae(c,O*7+1))}),$[O]=[];for(let X=0;X<7;X++){const{cell:se,cellDate:oe}=e.getCell(Q,O,X,g.Normal,t);y=ws({i:O,day:o,offset:u,j:X,cell:se,count:y,dateCountOfLastMonth:s,dateCountOfMonth:l}),se.disabled=typeof p=="function"&&p(oe),se.selected=Ds(t,se,g.DateFormats.date,a,oe,k),se.customClass=typeof v=="function"&&v(oe),r.$set(Q,t.showWeekNumber?X+1:X,se),$[O].push(oe)}if(t.selectionMode===g.Week){const[X,se]=t.showWeekNumber?[1,7]:[0,6],oe=e.isWeekActive(Q[X+1]);Object.assign(Q[X],{inRange:oe,start:oe}),Object.assign(Q[se],{inRange:oe,end:oe})}}const V=[];for(let O=0;O<$.length;O++)V.push($[O][0].getFullYear()+"/"+($[O][0].getMonth()+1)+"/"+$[O][0].getDate());if(t.showWeekNumber&&T)for(let O=0;O<6;O++){let Q=We(ae(c,O*7+1));d[O][0].text=t.formatWeeks(Q,V)}return d},rt=(e,t)=>{for(let n=0,a=e.length;n!==a;++n)if(t(e[n]))return n;return-1},Xe=(e,t)=>{const n=rt(e,t);return~n?e[n]:void 0},Ot=e=>Array.isArray(e)?e:e?[e]:[],$s=({api:e,props:t})=>(n,a)=>{Z(n)!==Z(a)&&e.markRange(t.minDate,t.maxDate)},As=({api:e,props:t})=>(n,a)=>{Z(n)!==Z(a)&&e.markRange(t.minDate,t.maxDate)},Ms=e=>(t,n)=>{const a=new Date(n);return e.year===a.getFullYear()&&e.month===a.getMonth()&&Number(t.text)===a.getDate()},Ss=({props:e})=>(t,n)=>{(t.type===g.Normal||t.type===g.Today||e.selectionMode===g.Week)&&(n.push(g.InRange),t.start&&n.push(g.StartDate),t.end&&n.push(g.EndDate))},Vs=({api:e,props:t,state:n})=>a=>{let r=[];const i=t.selectionMode,o=t.defaultValue?Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue]:[];return(a.type===g.Normal||a.type===g.Today)&&!a.disabled?(r.push(g.Aviailable),a.type===g.Today&&r.push(g.Today)):r.push(a.type),a.type===g.Normal&&o.some(l=>e.cellMatchesDate(a,l))&&r.push(g.Default),i===g.Day&&~[g.Normal,g.Today].indexOf(a.type)&&e.cellMatchesDate(a,t.value||n.date)&&r.push(g.Current),a.inRange&&e.getCellRangeClasses(a,r),a.disabled&&r.push(g.Disabled),a.selected&&r.push(g.Selected),a.customClass&&r.push(a.customClass),r.join(" ")},Ps=({props:e,state:t})=>(n,a)=>{const r=n*7+(a-(e.showWeekNumber?1:0))-t.offsetDay;return ae(t.startDate,r)},Fs=({props:e,state:t})=>n=>{if(e.selectionMode!==g.Week)return!1;const a=new Date(t.year,t.month,1),r=a.getFullYear(),i=a.getMonth();if(n.type===g.PreMonth&&(a.setMonth(i===0?11:i-1),a.setFullYear(i===0?r-1:r)),n.type===g.NextMonth&&(a.setMonth(i===11?0:i+1),a.setFullYear(i===11?r+1:r)),a.setDate(parseInt(n.text,10)),Y(e.value)){const o=(e.value.getDay()-e.firstDayOfWeek+7)%7-1;return Vn(e.value,o).getTime()===a.getTime()}return!1},Is=({props:e,state:t})=>(n,a)=>{const r=Z(n),i=Z(a)||r;n=Math.min(r,i),a=Math.max(r,i);const o=t.startDate,l=t.rows;for(let s=0,u=l.length;s<u;s++){const d=l[s];for(let c=0,p=d.length;c<p;c++){if(e.showWeekNumber&&c===0)continue;const v=d[c],k=s*7+c+(e.showWeekNumber?-1:0),y=ae(o,k-t.offsetDay).getTime();v.inRange=n&&y>=n&&y<=a,v.start=n&&y===n,v.end=a&&y===a}}},Os=({api:e,emit:t,props:n,state:a})=>r=>{if(!n.rangeState.selecting)return;let i=r.target;if(i.tagName==="SPAN"&&(i=i.parentNode.parentNode),i.tagName==="DIV"&&(i=i.parentNode),i.tagName!=="TD")return;const o=i.parentNode.rowIndex-1,l=i.cellIndex;a.rows[o][l].disabled||(o!==a.lastRow||l!==a.lastColumn)&&(a.lastRow=o,a.lastColumn=l,t("changerange",{minDate:n.minDate,maxDate:n.maxDate,rangeState:{selecting:!0,endDate:e.getDateOfCell(o,l)}}))},Es=e=>{let t=e.target;return t.tagName==="SPAN"&&(t=t.parentNode.parentNode),t.tagName==="DIV"&&(t=t.parentNode),t},zs=({api:e,emit:t,props:n,state:a})=>r=>{let i=Es(r);if(i.tagName!=="TD")return;const o=i.parentNode.rowIndex-1,l=n.selectionMode===g.Week?1:i.cellIndex,s=a.rows[o][l];if(s.disabled||s.type===g.Week)return;const u=e.getDateOfCell(o,l);if(n.selectionMode===g.Range)n.rangeState.selecting?(u>=n.minDate?t("pick",{minDate:n.minDate,maxDate:u}):t("pick",{minDate:u,maxDate:n.minDate}),n.rangeState.selecting=!1):(n.rangeState.selecting=!0,t("pick",{minDate:u,maxDate:null}));else if(n.selectionMode===g.Day)t("pick",u);else if(n.selectionMode===g.Week){const d=We(u),c=u.getFullYear()+"w"+d;t("pick",{year:u.getFullYear(),week:d,value:c,date:u})}else if(n.selectionMode===g.Dates){const d=n.value||[],c=s.selected?Ys(d,p=>p.getTime()===u.getTime()):[...d,u];t("pick",c)}},Ys=(e,t)=>{const n=typeof t=="function"?rt(e,t):e.indexOf(t);return n>=0?[...e.slice(0,n),...e.slice(n+1)]:e},Ns=({api:e})=>(t,n="")=>(e.getCellClasses(t)||"").split(" ").map(r=>n+r),ra=["state","getCellClasses","getCssToken","isWeekActive","handleMouseMove","handleClick"],Rs=({reactive:e,computed:t,api:n,props:a})=>{const r=e({tableRows:[[],[],[],[],[],[]],lastRow:null,lastColumn:null,constWeeks:["sun","mon","tue","wed","thu","fri","sat"],rows:t(()=>n.getRows()),weeks:t(()=>n.getWeeks()),month:t(()=>!Array.isArray(a.date)&&a.date.getMonth()),offsetDay:t(()=>n.getOffsetDay()),year:t(()=>!Array.isArray(a.date)&&a.date.getFullYear()),startDate:t(()=>Sa(r.year,r.month,r.offsetDay)),date:a.value});return r},js=({api:e,state:t,props:n,emit:a,t:r,vm:i})=>{Object.assign(e,{t:r,state:t,getOffsetDay:vs(n),getWeeks:ks({props:n,state:t}),markRange:Is({props:n,state:t}),cellMatchesDate:Ms(t),getDateOfCell:Ps({props:n,state:t}),getCell:Cs({state:t,props:n}),isWeekActive:Fs({props:n,state:t}),watchMaxDate:As({api:e,props:n}),watchMinDate:$s({api:e,props:n}),handleMouseMove:Os({api:e,emit:a,props:n,state:t}),getRows:Ts({api:e,props:n,state:t,t:r,vm:i}),handleClick:zs({api:e,emit:a,props:n,state:t}),getCellClasses:Vs({api:e,props:n,state:t}),getCssToken:Ns({api:e}),getCellRangeClasses:Ss({props:n})})},Us=({watch:e,props:t,api:n})=>{e(()=>t.rangeState,a=>n.markRange(t.minDate,a.endDate),{deep:!0}),e(()=>t.minDate,n.watchMinDate),e(()=>t.maxDate,n.watchMaxDate)},ia=(e,{computed:t,reactive:n,watch:a},{t:r,vm:i,emit:o})=>{const l={},s=Rs({reactive:n,computed:t,api:l,props:e});return js({api:l,state:s,props:e,emit:o,t:r,vm:i}),Us({watch:a,props:e,api:l}),l};function Bs(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Hs(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hs(e,t){if(e){if(typeof e=="string")return _t(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _t(e,t)}}function _t(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Ls=function(t,n){for(var a=t.__vccOpts||t,r=Bs(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Ws=E({emits:["changerange","pick"],props:[].concat(G,["cellClassName","date","defaultValue","disabledDate","firstDayOfWeek","maxDate","minDate","rangeState","selectionMode","showWeekNumber","value","formatWeeks"]),setup:function(t,n){return N({props:t,context:n,renderless:ia,api:ra,mono:!0})}}),Ks={key:0};function Gs(e,t,n,a,r,i){return m(),h("table",{class:b(["tiny-date-table",{"is-week-mode":e.selectionMode==="week"}]),cellspacing:"0",onMousemove:t[0]||(t[0]=le(function(){return e.handleMouseMove&&e.handleMouseMove.apply(e,arguments)},["stop"])),cellpadding:"0",onClick:t[1]||(t[1]=le(function(){return e.handleClick&&e.handleClick.apply(e,arguments)},["stop"]))},[f("tbody",null,[f("tr",null,[e.showWeekNumber?(m(),h("th",Ks,C(e.t("ui.datepicker.week")),1)):A("v-if",!0),(m(!0),h(P,null,I(e.state.weeks,function(o,l){return m(),h("th",{key:l},C(e.t("ui.datepicker.weeks."+o)),1)}),128))]),(m(!0),h(P,null,I(e.state.rows,function(o,l){return m(),h("tr",{class:b(["tiny-date-table__row",{current:e.isWeekActive(o[1])}]),key:l},[(m(!0),h(P,null,I(o,function(s,u){return m(),h("td",{key:u,class:b(e.getCellClasses(s))},[f("div",null,[f("span",null,C(s.text),1)])],2)}),128))],2)}),128))])],34)}var Qt=Ls(Ws,[["render",Gs]]);function _s(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Qs(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qs(e,t){if(e){if(typeof e=="string")return qt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qt(e,t)}}function qt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var qs=function(t,n){for(var a=t.__vccOpts||t,r=_s(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function ct(){return ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},ct.apply(this,arguments)}var Ge={"next-month":"text-color-text-disabled cursor-pointer group-hover:bg-inherit",current:"group-hover:text-color-text-inverse group-hover:bg-color-brand text-color-text-inverse bg-color-brand","start-date":"text-color-text-inverse bg-color-brand group-hover:bg-color-brand"},Js=ct({},Ge,{today:"border border-solid border-color-border-focus","pre-month":Ge["next-month"],selected:Ge.current,th:"px-1 py-4 text-color-text-primary font-normal whitespace-nowrap",td:"box-border text-center cursor-pointer relative group",cell:"h-8 mb-2.5 box-border","in-range":"","cell-in-range":"bg-color-brand-hover-subtle text-color-brand",disabled:"text-color-text-disabled group-hover:text-color-text-disabled cursor-pointer cursor-not-allowed bg-color-bg-3 group-hover:bg-color-bg-3","cell-disabled":"bg-color-bg-3 text-color-text-disabled",text:"w-8 h-8 leading-8 block absolute left-1/2 box-border -translate-x-2/4 rounded group-hover:bg-color-brand-hover-subtle","end-date":Ge["start-date"],token:""}),Xs=E({props:[].concat(G,["cellClassName","date","defaultValue","disabledDate","firstDayOfWeek","maxDate","minDate","rangeState","selectionMode","showWeekNumber","value","formatWeeks"]),setup:function(t,n){return N({props:t,context:n,renderless:ia,api:ra,classes:Js})}}),Zs={key:0},xs=["data-tag"],eu=["textContent"];function tu(e,t,n,a,r,i){return m(),h("table",{cellpadding:"0",cellspacing:"0","data-tag":"tiny-date-table",class:b(["table-fixed w-full"]),onMousemove:t[0]||(t[0]=function(){return e.handleMouseMove&&e.handleMouseMove.apply(e,arguments)}),onClick:t[1]||(t[1]=function(){return e.handleClick&&e.handleClick.apply(e,arguments)})},[f("tbody",null,[f("tr",null,[e.showWeekNumber?(m(),h("th",Zs,[f("div",{class:b(e.gcls("th"))},C(e.t("ui.datepicker.week")),3)])):A("v-if",!0),(m(!0),h(P,null,I(e.state.weeks,function(o,l){return m(),h("th",{key:l},[f("div",{class:b(e.gcls("th"))},C(e.t("ui.datepicker.weeks."+o)),3)])}),128))]),(m(!0),h(P,null,I(e.state.rows,function(o,l){return m(),h("tr",{"data-tag":"tiny-date-table__row",key:l,class:b({current:e.isWeekActive(o[1])})},[(m(!0),h(P,null,I(o,function(s,u){return m(),h("td",{key:u,"data-tag":e.getCellClasses(s),class:b(e.gcls("td"))},[f("div",{class:b(e.m(e.gcls("cell"),e.gcls(e.getCssToken(s,"cell-")),{"rounded-l":u===0},{"rounded-r":u===6}))},[f("span",{textContent:C(s.text),class:b(e.m(e.gcls("text"),e.gcls(e.getCellClasses(s).split(" "))))},null,10,eu)],2)],10,xs)}),128))],2)}),128))])],32)}var nu=qs(Xs,[["render",tu]]);function ft(){return ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},ft.apply(this,arguments)}var au=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?Qt:(a||t)==="mobile-first"?nu:Qt},ce=E({name:R+"DateTable",componentName:"DateTable",props:ft({},_,{cellClassName:{},date:{},defaultValue:{validator:function(t){return t===null||Y(t)||Array.isArray(t)&&t.every(Y)}},disabledDate:{},firstDayOfWeek:{default:7,type:Number,validator:function(t){return t>=1&&t<=7}},maxDate:{},minDate:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}},selectionMode:{default:function(){return"day"}},showWeekNumber:{type:Boolean,default:function(){return!1}},value:{},formatWeeks:Function}),setup:function(t,n){return ie({props:t,context:n,template:au})}}),ru="3.16.0";ce.install=function(e){e.component(ce.name,ce)};ce.version=ru;const iu=e=>{const t=Va(e),n=new Date(e,0,1);return Yn(t).map(a=>ae(n,a))},ou=({props:e})=>t=>{const{defaultValue:n}=e,a=t.text,r={},i=new Date;r.disabled=typeof e.disabledDate=="function"?iu(a).every(e.disabledDate):!1;const o=typeof e.value=="object"?e.value:Vt(e.value);return r.current=rt(Ot(o),l=>l.getFullYear()===a)>=0,r.today=i.getFullYear()===a,r.default=Array.isArray(n)?n.some(l=>l&&l.getFullYear()===a):n&&n.getFullYear()===a,t.inRange&&(r[g.InRange]=!0),t.start&&(r[g.StartDate]=!0),t.end&&(r[g.EndDate]=!0),r},lu=({props:e,state:t,vm:n})=>()=>{const{tableRows:a}=t,{minDate:r,maxDate:i,disabledDate:o,startYear:l,selectionMode:s}=e,u=[],d=new Date().getFullYear();for(let c=0;c<3;c++){const p=a[c];for(let v=0;v<4;v++){let k=p[v];k||(k={type:g.Normal,row:c,column:v,inRange:!1,start:!1,end:!1});const y=l+(k.row*4+k.column),T=y===d;if(k.text=y,k.type=T?g.Today:g.Normal,k.disabled=typeof o=="function"&&o(new Date(y,0,1)),s===g.YearRange){const $=typeof r=="object"&&r?r.getFullYear():r,V=typeof i=="object"&&i?i.getFullYear():i;k.start=$===y,k.end=V===y,k.inRange=y>$&&y<V||[$,V].includes(y),k.selected=Xe(u,O=>(typeof O=="object"?O.getFullYear():O)===y)}n.$set(p,v,k)}}return a},su=({props:e,state:t})=>(n,a)=>{const r=t.rows,[i,o]=[n,a].sort((u,d)=>u&&u<d?-1:1),l=typeof i=="object"&&i?i.getFullYear():i,s=typeof o=="object"&&o?o.getFullYear():o;if(e.selectionMode===g.YearRange)for(let u=0,d=r.length;u<d;u++){const c=r[u];for(let p=0,v=c.length;p<v;p++){const k=c[p],y=k.text;k.start=l&&l===y,k.end=s&&s===y,k.inRange=y>l&&y<s||k.start||k.end,k.selected=k.inRange}}},uu=({api:e,props:t})=>(n,a)=>{n!==a&&e.markRange(t.minDate,t.maxDate)},du=({emit:e,props:t})=>n=>{const a=n.target,{selectionMode:r}=t;if(a.tagName==="A"){if(zn(a.parentNode.parentNode,"disabled"))return;const i=Number(a.textContent||a.innerText);if(r===g.Years){const o=Array.isArray(t.value)?t.value.map(s=>s.getFullYear()):[],l=o.indexOf(i);l===-1?o.push(i):o.splice(l,1),e("pick",o.slice())}else if(r===g.YearRange){let{minDate:o,maxDate:l}=t;t.rangeState.selecting?(t.rangeState.selecting=!1,i<o?(l=o,o=i):l=i):(t.rangeState.selecting=!0,o=i,l=null),e("pick",{minDate:o,maxDate:l})}else e("pick",i)}},cu=e=>{let t=e.target;const n=t.tagName;if(n==="A"&&(t=t.parentNode.parentNode),n==="DIV"&&(t=t.parentNode),n==="TD")return t},fu=({emit:e,props:t,state:n})=>a=>{const{selectionMode:r,startYear:i,rangeState:o,minDate:l,maxDate:s}=t;if(r!==g.YearRange||!o.selecting)return;const u=cu(a);if(!u)return;const d=u.parentNode.rowIndex,c=u.cellIndex;if(!(n.rows[d][c].disabled||l===s)&&(d!==n.lastRow||c!==n.lastColumn)){n.lastColumn=c,n.lastRow=d;const p=i+d*4+c;e("changerange",{minDate:l,maxDate:s,rangeState:{selecting:!0,endDate:p}})}},mu=["state","handleYearTableClick","getCellStyle","handleMouseMove"],pu=(e,{computed:t,reactive:n,watch:a},{emit:r,vm:i})=>{const o={},l=n({tableRows:[[],[],[]],rows:t(()=>o.getRows())});return Object.assign(o,{state:l,getCellStyle:ou({props:e}),handleYearTableClick:du({emit:r,props:e,state:l}),markRange:su({props:e,state:l}),watchDate:uu({api:o,props:e}),getRows:lu({props:e,state:l,vm:i}),handleMouseMove:fu({api:o,emit:r,props:e,state:l})}),a(()=>e.rangeState,(s,u)=>s!==u&&o.markRange(e.minDate,s.endDate),{deep:!0}),a(()=>e.minDate,o.watchDate),a(()=>e.maxDate,o.watchDate),o};function gu(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=hu(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hu(e,t){if(e){if(typeof e=="string")return Jt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jt(e,t)}}function Jt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var yu=function(t,n){for(var a=t.__vccOpts||t,r=gu(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},bu=E({name:R+"YearTable",emits:["pick"],props:{disabledDate:{},value:{},defaultValue:{validator:function(t){return t===null||t instanceof Date&&Y(t)}},date:[Date,Array],selectionMode:String,startYear:Number,maxDate:{},minDate:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},setup:function(t,n){return N({props:t,context:n,renderless:pu,api:mu,mono:!0})}}),vu={class:"cell"};function ku(e,t,n,a,r,i){return m(),h("table",{class:"tiny-year-table",onMousemove:t[0]||(t[0]=function(){return e.handleMouseMove&&e.handleMouseMove.apply(e,arguments)}),onClick:t[1]||(t[1]=function(){return e.handleYearTableClick&&e.handleYearTableClick.apply(e,arguments)})},[f("tbody",null,[(m(!0),h(P,null,I(e.state.rows,function(o,l){return m(),h("tr",{key:l},[(m(!0),h(P,null,I(o,function(s,u){return m(),h("td",{class:b(["available",e.getCellStyle(s)]),key:u},[f("div",null,[f("a",vu,C(s.text),1)])],2)}),128))])}),128))])],32)}var fe=yu(bu,[["render",ku]]),Du="3.16.0";fe.install=function(e){e.component(fe.name,fe)};fe.version=Du;const Cu=(e,t)=>{const n=lt(e,t),a=new Date(e,t,1);return Yn(n).map(r=>ae(a,r))},Xt=e=>new Date(e.getFullYear(),e.getMonth()),te=e=>typeof e=="number"||typeof e=="string"?Xt(new Date(e)).getTime():e instanceof Date?Xt(e).getTime():NaN,wu=({props:e,state:t,vm:n})=>()=>{const a=t.tableRows,r=t.disabledDate,i=[],o=te(new Date),{date:l,minDate:s,maxDate:u}=e;for(let d=0;d<3;d++){const c=a[d];for(let p=0;p<4;p++){let v=c[p];v||(v={type:g.Normal,row:d,column:p,inRange:!1,start:!1,end:!1}),v.type=g.Normal;const k=d*4+p,y=new Date(l.getFullYear(),k).getTime();v.start=s&&y===te(s),v.end=u&&y===te(u),v.inRange=y>=te(s)&&y<=te(u),y===o&&(v.type=g.Today),v.text=k;let $=new Date(y);v.disabled=typeof r=="function"&&r($),v.selected=Xe(i,V=>V.getTime()===$.getTime()),n.$set(c,p,v)}}return a},Tu=({props:e,state:t})=>(n,a)=>{n=te(n),a=te(a),n>a&&([n,a]=[a,n]);const r=t.rows;for(let i=0,o=r.length;i<o;i++){const l=r[i];for(let s=0,u=l.length;s<u;s++){const d=l[s],c=i*4+s,p=new Date(e.date.getFullYear(),c).getTime();d.start=n&&p===n,d.end=a&&p===a,d.inRange=n&&p>=n&&p<=a}}},$u=({api:e,props:t})=>(n,a)=>{te(n)!==te(a)&&e.markRange(t.minDate,t.maxDate)},oa=e=>{let t=e.target;if(t.tagName==="A"&&(t=t.parentNode.parentNode),t.tagName==="DIV"&&(t=t.parentNode),t.tagName==="TD")return t},Au=({api:e,emit:t,props:n,state:a})=>r=>{if(!n.rangeState.selecting)return;const i=oa(r);if(!i)return;const o=i.parentNode.rowIndex,l=i.cellIndex;a.rows[o][l].disabled||(o!==a.lastRow||l!==a.lastColumn)&&(a.lastColumn=l,a.lastRow=o,t("changerange",{maxDate:n.maxDate,minDate:n.minDate,rangeState:{selecting:!0,endDate:e.getMonthOfCell(o*4+l)}}))},Mu=({api:e,emit:t,props:n})=>a=>{const r=oa(a);if(!r||zn(r,"disabled"))return;const i=r.cellIndex,l=r.parentNode.rowIndex*4+i,s=e.getMonthOfCell(l);n.selectionMode===g.Range?n.rangeState.selecting?(s<n.minDate?t("pick",{minDate:s,maxDate:n.minDate}):t("pick",{minDate:n.minDate,maxDate:s}),n.rangeState.selecting=!1):(t("pick",{minDate:s,maxDate:null}),n.rangeState.selecting=!0):t("pick",l)},Su=e=>(t,n)=>{const a=new Date(n);return e.date.getFullYear()===a.getFullYear()&&Number(t.text)===a.getMonth()},Vu=({api:e,props:t})=>n=>{const a={},r=t.date.getFullYear(),i=new Date,o=n.text,l=t.defaultValue?Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue]:[];a.disabled=typeof t.disabledDate=="function"?Cu(r,o).every(t.disabledDate):!1;const s=typeof t.value=="object"?t.value:Vt(t.value);return a.current=rt(Ot(s),u=>u.getFullYear()===r&&u.getMonth()===o)>=0,a.today=i.getFullYear()===r&&i.getMonth()===o,a.default=l.some(u=>e.cellMatchesDate(n,u)),n.inRange&&(a[g.InRange]=!0,n.start&&(a[g.StartDate]=!0),n.end&&(a[g.EndDate]=!0)),a},Pu=e=>t=>new Date(e.date.getFullYear(),t,1),Fu=["state","handleMonthTableClick","handleMouseMove","getCellStyle"],Iu=(e,{computed:t,reactive:n,watch:a},{t:r,vm:i,emit:o})=>{const l={},{MonhtList:s}=g,u=n({months:s,tableRows:[[],[],[]],lastRow:null,lastColumn:null,rows:t(()=>l.getRows())});return Object.assign(l,{t:r,state:u,getMonthOfCell:Pu(e),cellMatchesDate:Su(e),markRange:Tu({api:l,props:e,state:u}),watchDate:$u({api:l,props:e}),getMonthTimestamp:te(l),handleMouseMove:Au({api:l,emit:o,props:e,state:u}),handleMonthTableClick:Mu({api:l,emit:o,props:e}),getCellStyle:Vu({api:l,props:e}),getRows:wu({props:e,state:u,vm:i})}),a(()=>e.rangeState,d=>l.markRange(e.minDate,d.endDate),{deep:!0}),a(()=>e.minDate,l.watchDate),a(()=>e.maxDate,l.watchDate),l};function Ou(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Eu(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Eu(e,t){if(e){if(typeof e=="string")return Zt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zt(e,t)}}function Zt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var zu=function(t,n){for(var a=t.__vccOpts||t,r=Ou(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Yu=E({name:R+"MonthTable",emits:["changerange","pick"],props:{date:{},defaultValue:{validator:function(t){return t===null||Y(t)||Array.isArray(t)&&t.every(Y)}},disabledDate:{},maxDate:{},minDate:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}},selectionMode:{default:"month"},value:{}},setup:function(t,n){return N({props:t,context:n,renderless:Iu,api:Fu,mono:!0})}}),Nu=["textContent"];function Ru(e,t,n,a,r,i){return m(),h("table",{class:"tiny-month-table",onMousemove:t[0]||(t[0]=function(){return e.handleMouseMove&&e.handleMouseMove.apply(e,arguments)}),onClick:t[1]||(t[1]=function(){return e.handleMonthTableClick&&e.handleMonthTableClick.apply(e,arguments)})},[f("tbody",null,[(m(!0),h(P,null,I(e.state.rows,function(o,l){return m(),h("tr",{key:l},[(m(!0),h(P,null,I(o,function(s,u){return m(),h("td",{class:b(e.getCellStyle(s)),key:u},[f("div",null,[f("a",{class:"cell",textContent:C(e.t("ui.datepicker.months."+e.state.months[s.text]))},null,8,Nu)])],2)}),128))])}),128))])],32)}var ve=zu(Yu,[["render",Ru]]),ju="3.16.0";ve.install=function(e){e.component(ve.name,ve)};ve.version=ju;function Uu(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Bu(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bu(e,t){if(e){if(typeof e=="string")return xt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xt(e,t)}}function xt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Hu=function(t,n){for(var a=t.__vccOpts||t,r=Uu(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function mt(){return mt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},mt.apply(this,arguments)}var Lu=E({name:R+"DatePanel",directives:re({Clickoutside:ge}),components:{TimePicker:ne,YearTable:fe,MonthTable:ve,DateTable:ce,TinyInput:we,TinyButton:pe,TinyPopup:Bn,IconDoubleRight:Te(),IconDoubleLeft:$e(),IconChevronLeft:at(),IconChevronRight:xe(),IconChevronDown:tt(),IconChevronUp:nt()},props:mt({},_,{emitter:Object,step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showWeekNumber:{type:Boolean,default:!1},formatWeeks:Function,timeEditable:{type:Boolean,default:!0}}),emits:["pick","select-change","dodestroy"],setup:function(t,n){return N({props:t,context:n,renderless:Jn,api:qn,extendOptions:{language:Nn}})}}),Wu={class:"tiny-picker-panel__body-wrapper"},Ku={key:0,class:"tiny-picker-panel__sidebar"},Gu=["onClick","title"],_u={class:"tiny-picker-panel__body"},Qu={key:0,class:"tiny-date-picker__time-header"},qu={class:"tiny-date-picker__editor-wrap"},Ju={class:"tiny-date-picker__editor-wrap"},Xu=["aria-label"],Zu=["aria-label"],xu=["aria-label"],ed=["aria-label"],td={class:"tiny-picker-panel__content"},nd={key:0,class:"tiny-picker-panel__timezone"},ad={class:"tiny-picker-panel__tzlist"},rd={class:"tzlist"},id=["title","onClick"],od={class:"tiny-picker-panel__footer"};function ld(e,t,n,a,r,i){var o=w("tiny-input"),l=w("time-picker"),s=w("icon-double-left"),u=w("icon-chevron-left"),d=w("icon-double-right"),c=w("icon-chevron-right"),p=w("date-table"),v=w("year-table"),k=w("month-table"),y=w("tiny-popup"),T=w("tiny-button"),$=he("clickoutside");return m(),F(W,{name:"tiny-zoom-in-top",onAfterEnter:e.handleEnter,onAfterLeave:e.handleLeave,persisted:""},{default:M(function(){return[S(f("div",{class:b(["tiny-picker-panel tiny-date-picker tiny-popper",[{"has-sidebar":e.slots.sidebar||e.state.shortcuts,"has-time":e.state.showTime},e.state.popperClass]])},[f("div",Wu,[H(e.$slots,"sidebar",{class:"tiny-picker-panel__sidebar"}),e.state.shortcuts?(m(),h("div",Ku,[(m(!0),h(P,null,I(e.state.shortcuts,function(V,O){return m(),h("button",{type:"button",class:"tiny-picker-panel__shortcut",key:O,onClick:function(X){return e.handleShortcutClick(V)},title:V.text},C(V.text),9,Gu)}),128))])):A("v-if",!0),f("div",_u,[e.state.showTime?(m(),h("div",Qu,[f("span",qu,[D(o,{placeholder:e.t("ui.datepicker.selectDate"),"model-value":e.state.visibleDate,size:"small","onUpdate:modelValue":t[0]||(t[0]=function(V){return e.state.userInputDate=V}),onChange:e.handleVisibleDateChange},null,8,["placeholder","model-value","onChange"])]),S((m(),h("span",Ju,[D(o,{ref:"input",onFocus:t[1]||(t[1]=function(V){return e.state.timePickerVisible=!0}),placeholder:e.t("ui.datepicker.selectTime"),"model-value":e.state.visibleTime,size:"small","onUpdate:modelValue":t[2]||(t[2]=function(V){return e.state.userInputTime=V}),onChange:e.handleVisibleTimeChange,readonly:!e.timeEditable},null,8,["placeholder","model-value","onChange","readonly"]),e.state.timePickerVisible?(m(),F(l,{key:0,ref:"timepicker",step:e.step,"time-arrow-control":e.state.arrowControl,show:e.state.timePickerVisible,value:e.state.date,onPick:e.handleTimePick},null,8,["step","time-arrow-control","show","value","onPick"])):A("v-if",!0)])),[[$,e.handleTimePickClose]])])):A("v-if",!0),S(f("div",{class:b(["tiny-date-picker__header",{"tiny-date-picker__header--bordered":["month","year","years","yearrange"].includes(e.state.currentView)}])},[f("button",{type:"button",onClick:t[3]||(t[3]=function(){return e.cusPrevYear&&e.cusPrevYear.apply(e,arguments)}),"aria-label":e.t("ui.datepicker.prevYear"),class:"tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-d-arrow-left"},[D(s)],8,Xu),S(f("button",{type:"button",onClick:t[4]||(t[4]=function(){return e.cusPrevMonth&&e.cusPrevMonth.apply(e,arguments)}),"aria-label":e.t("ui.datepicker.prevMonth"),class:"tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-arrow-left"},[D(u)],8,Zu),[[z,e.state.currentView==="date"]]),f("span",{onClick:t[5]||(t[5]=function(){return e.showYearPicker&&e.showYearPicker.apply(e,arguments)}),role:"button",class:"tiny-date-picker__header-label"},C(e.state.yearLabel),1),S(f("span",{onClick:t[6]||(t[6]=function(){return e.showMonthPicker&&e.showMonthPicker.apply(e,arguments)}),role:"button",class:b(["tiny-date-picker__header-label",{active:e.state.currentView==="month"}])},C(e.t("ui.datepicker.month"+(e.state.month+1))),3),[[z,e.state.currentView==="date"]]),f("button",{type:"button",onClick:t[7]||(t[7]=function(){return e.cusNextYear&&e.cusNextYear.apply(e,arguments)}),"aria-label":e.t("ui.datepicker.nextYear"),class:"tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-d-arrow-right"},[D(d)],8,xu),S(f("button",{type:"button",onClick:t[8]||(t[8]=function(){return e.cusNextMonth&&e.cusNextMonth.apply(e,arguments)}),"aria-label":e.t("ui.datepicker.nextMonth"),class:"tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-arrow-right"},[D(c)],8,ed),[[z,e.state.currentView==="date"]])],2),[[z,e.state.currentView!=="time"]]),f("div",td,[e.state.currentView==="date"?(m(),F(p,{key:0,ref:"dateTable",onPick:e.handleDatePick,"selection-mode":e.state.selectionMode,"first-day-of-week":e.state.firstDayOfWeek,value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"cell-class-name":e.state.cellClassName,"disabled-date":e.state.disabledDate,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks},null,8,["onPick","selection-mode","first-day-of-week","value","default-value","date","cell-class-name","disabled-date","show-week-number","format-weeks"])):A("v-if",!0),["year","years","yearrange"].includes(e.state.currentView)?(m(),F(v,{key:1,ref:"yearTable",value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"disabled-date":e.state.disabledDate,"selection-mode":e.state.selectionMode,"start-year":e.state.startYear,onPick:e.handleYearPick},null,8,["value","default-value","date","disabled-date","selection-mode","start-year","onPick"])):A("v-if",!0),e.state.currentView==="month"?(m(),F(k,{key:2,ref:"monthTable",onPick:e.handleMonthPick,value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"disabled-date":e.state.disabledDate},null,8,["onPick","value","default-value","date","disabled-date"])):A("v-if",!0)])])]),e.state.isShowTz||e.state.timezone.isServiceTimezone?S((m(),h("div",nd,[D(o,{modelValue:e.state.tz,"onUpdate:modelValue":[t[9]||(t[9]=function(V){return e.state.tz=V}),e.searchTz],disabled:e.state.timezone.isServiceTimezone,placeholder:e.t("ui.datepicker.timezone")},{suffix:M(function(){return[(m(),F(K(e.state.showpopup?"IconChevronDown":"IconChevronUp"),{fill:"#ccc",onClick:e.toggleTz},null,8,["onClick"]))]}),_:1},8,["modelValue","disabled","onUpdate:modelValue","placeholder"]),f("div",ad,[D(y,{modelValue:e.state.showpopup,"onUpdate:modelValue":t[10]||(t[10]=function(V){return e.state.showpopup=V}),overlay:!1,position:"up",duration:.2,closeable:!1},{default:M(function(){return[f("div",rd,[f("ul",null,[(m(!0),h(P,null,I(e.state.renderTzdata,function(V,O){return S((m(),h("li",{class:"tiny-picker-panel__tzlist-li",title:V.name,key:O,onClick:function(X){return e.selectTz(V)}},C(V.name),9,id)),[[z,!V.visible]])}),128))])])]}),_:1},8,["modelValue"])])])),[[$,e.handleTzPickClose]]):A("v-if",!0),S(f("div",od,[S(D(T,{size:"mini",type:"text",class:"tiny-picker-panel__link-btn",onClick:e.changeToNow},{default:M(function(){return[B(C(e.t("ui.datepicker.now")),1)]}),_:1},8,["onClick"]),[[z,!["dates","years"].includes(e.state.selectionMode)]]),D(T,{type:"primary",size:"mini",class:"tiny-picker-panel__link-btn",onClick:e.confirm},{default:M(function(){return[B(C(e.t("ui.datepicker.confirm")),1)]}),_:1},8,["onClick"])],512),[[z,e.state.isShowFooter]])],2),[[z,e.state.visible]])]}),_:3},8,["onAfterEnter","onAfterLeave"])}var en=Hu(Lu,[["render",ld]]);function sd(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ud(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ud(e,t){if(e){if(typeof e=="string")return tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tn(e,t)}}function tn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var dd=function(t,n){for(var a=t.__vccOpts||t,r=sd(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function pt(){return pt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},pt.apply(this,arguments)}var cd={"picker-panel":"w-96 text-color-text-primary text-xs shadow-md bg-color-bg-1 rounded leading-4 my-0.5 mx-0","picker-panel-body":"after:content-[''] after:table after:clear-both",content:"relative py-0 px-4",header:"p-4 h-12 text-center",bordered:"mb-0 pb-3",disabled:"text-color-text-disabled","icon-btn":"text-sm leading-4 fill-color-text-primary border-0 cursor-pointer outline-0 hover:fill-color-brand","header-label":"text-xs font-medium py-0 px-1 text-center text-color-text-primary align-middle","body-content":"float-left w-1/2 box-border m-0 pt-4 pr-4 pb-1.5 pl-4",today:"border border-solid border-color-border-focus",footer:"border-t border-t-color-bg-3 py-3 px-4 bg-color-bg-1 overflow-hidden rounded-b","link-btn":"align-middle rounded","time-header":"relative text-xs h-10 leading-10 table w-full box-border border-b border-b-color-bg-3","editor-wrap":"relative table-cell px-1"},fd=E({directives:re({Clickoutside:ge}),components:{TimePicker:ne,YearTable:fe,MonthTable:ve,DateTable:ce,TinyInput:we,TinyButton:pe,TinyPopup:Bn,IconDoubleRight:Te(),IconDoubleLeft:$e(),IconChevronLeft:at(),IconChevronRight:xe(),IconChevronDown:tt(),IconChevronUp:nt()},props:pt({},G,{emitter:Object,step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showWeekNumber:{type:Boolean,default:!1},formatWeeks:Function}),emits:["pick","select-change","dodestroy"],setup:function(t,n){return N({props:t,context:n,renderless:Jn,api:qn,classes:cd,extendOptions:{language:Nn}})}}),md={key:0,"data-tag":"tiny-picker-panel__sidebar"},pd=["onClick"],gd=["aria-label"],hd=["aria-label"],yd={key:0,"data-tag":"tiny-picker-panel__timezone"},bd={"data-tag":"tiny-picker-panel__tzlist"},vd={"data-tag":"tzlist"},kd=["title","onClick"];function Dd(e,t,n,a,r,i){var o=w("tiny-input"),l=w("time-picker"),s=w("icon-chevron-left"),u=w("icon-chevron-right"),d=w("date-table"),c=w("year-table"),p=w("month-table"),v=w("tiny-popup"),k=w("tiny-button"),y=he("clickoutside");return m(),F(W,{name:"tiny-zoom-in-top",onAfterEnter:e.handleEnter,onAfterLeave:e.handleLeave,persisted:""},{default:M(function(){return[S(f("div",{"data-tag":"tiny-picker-panel tiny-date-picker tiny-popper",class:b([e.gcls("picker-panel"),e.state.popperClass])},[f("div",{"data-tag":"tiny-picker-panel__body-wrapper",class:b(e.gcls("picker-panel-body"))},[H(e.$slots,"sidebar",{dataTag:"tiny-picker-panel__sidebar"}),e.state.shortcuts?(m(),h("div",md,[(m(!0),h(P,null,I(e.state.shortcuts,function(T,$){return m(),h("button",{type:"button","data-tag":"tiny-picker-panel__shortcut",key:$,onClick:function(O){return e.handleShortcutClick(T)}},C(T.text),9,pd)}),128))])):A("v-if",!0),f("div",{"data-tag":"tiny-picker-panel__body",class:b(e.gcls("picker-panel-body"))},[e.state.showTime?(m(),h("div",{key:0,"data-tag":"tiny-date-picker__time-header",class:b(e.gcls("time-header"))},[f("span",{"data-tag":"tiny-date-picker__editor-wrap",class:b(e.gcls("editor-wrap"))},[D(o,{placeholder:e.t("ui.datepicker.selectDate"),"model-value":e.state.visibleDate,size:"small","onUpdate:modelValue":t[0]||(t[0]=function(T){return e.state.userInputDate=T}),onChange:e.handleVisibleDateChange},null,8,["placeholder","model-value","onChange"])],2),S((m(),h("span",{"data-tag":"tiny-date-picker__editor-wrap",class:b(e.gcls("editor-wrap"))},[D(o,{ref:"input",onFocus:t[1]||(t[1]=function(T){return e.state.timePickerVisible=!0}),placeholder:e.t("ui.datepicker.selectTime"),"model-value":e.state.visibleTime,size:"small","onUpdate:modelValue":t[2]||(t[2]=function(T){return e.state.userInputTime=T}),onChange:e.handleVisibleTimeChange},null,8,["placeholder","model-value","onChange"]),e.state.timePickerVisible?(m(),F(l,{key:0,ref:"timepicker",step:e.step,"time-arrow-control":e.state.arrowControl,show:e.state.timePickerVisible,value:e.state.date,onPick:e.handleTimePick},null,8,["step","time-arrow-control","show","value","onPick"])):A("v-if",!0)],2)),[[y,e.handleTimePickClose]])],2)):A("v-if",!0),S(f("div",{"data-tag":"tiny-date-picker__header",class:b([e.gcls("header"),["month","year","years","yearrange"].includes(e.state.currentView)&&e.gcls("bordered")])},[S(f("button",{type:"button",onClick:t[3]||(t[3]=function(){return e.cusPrevMonth&&e.cusPrevMonth.apply(e,arguments)}),"aria-label":e.t("ui.datepicker.prevMonth"),"data-tag":"tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-arrow-left",class:b([e.gcls("icon-btn"),"float-left"])},[D(s)],10,gd),[[z,e.state.currentView==="date"]]),f("span",{role:"button","data-tag":"tiny-date-picker__header-label",class:b([e.gcls("header-label")])},C(e.state.yearLabel),3),S(f("span",{role:"button","data-tag":"tiny-date-picker__header-label",class:b([e.gcls("header-label"),{"text-color-brand":e.state.currentView==="month"}])},C(e.t("ui.datepicker.month"+(e.state.month+1))),3),[[z,e.state.currentView==="date"]]),S(f("button",{type:"button",onClick:t[4]||(t[4]=function(){return e.cusNextMonth&&e.cusNextMonth.apply(e,arguments)}),"aria-label":e.t("ui.datepicker.nextMonth"),"data-tag":"tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-arrow-right",class:b([e.gcls("icon-btn"),"float-right"])},[D(u)],10,hd),[[z,e.state.currentView==="date"]])],2),[[z,e.state.currentView!=="time"]]),f("div",{"data-tag":"tiny-picker-panel__content",class:b(e.gcls("content"))},[e.state.currentView==="date"?(m(),F(d,{key:0,ref:"dateTable",onPick:e.handleDatePick,"selection-mode":e.state.selectionMode,"first-day-of-week":e.state.firstDayOfWeek,value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"cell-class-name":e.state.cellClassName,"disabled-date":e.state.disabledDate,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks},null,8,["onPick","selection-mode","first-day-of-week","value","default-value","date","cell-class-name","disabled-date","show-week-number","format-weeks"])):A("v-if",!0),["year","years","yearrange"].includes(e.state.currentView)?(m(),F(c,{key:1,ref:"yearTable",value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"disabled-date":e.state.disabledDate,"selection-mode":e.state.selectionMode,"start-year":e.state.startYear,onPick:e.handleYearPick},null,8,["value","default-value","date","disabled-date","selection-mode","start-year","onPick"])):A("v-if",!0),e.state.currentView==="month"?(m(),F(p,{key:2,ref:"monthTable",onPick:e.handleMonthPick,value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"disabled-date":e.state.disabledDate},null,8,["onPick","value","default-value","date","disabled-date"])):A("v-if",!0)],2)],2)],2),e.state.isShowTz||e.state.timezone.isServiceTimezone?S((m(),h("div",yd,[D(o,{modelValue:e.state.tz,"onUpdate:modelValue":[t[5]||(t[5]=function(T){return e.state.tz=T}),e.searchTz],disabled:e.state.timezone.isServiceTimezone,placeholder:e.t("ui.datepicker.timezone")},{suffix:M(function(){return[(m(),F(K(e.state.showpopup?"IconChevronDown":"IconChevronUp"),{fill:"#ccc",onClick:e.toggleTz},null,8,["onClick"]))]}),_:1},8,["modelValue","disabled","onUpdate:modelValue","placeholder"]),f("div",bd,[D(v,{modelValue:e.state.showpopup,"onUpdate:modelValue":t[6]||(t[6]=function(T){return e.state.showpopup=T}),overlay:!1,position:"up",duration:.2,closeable:!1},{default:M(function(){return[f("div",vd,[f("ul",null,[(m(!0),h(P,null,I(e.state.renderTzdata,function(T,$){return S((m(),h("li",{"data-tag":"tiny-picker-panel__tzlist-li",title:T.name,key:$,onClick:function(O){return e.selectTz(T)}},C(T.name),9,kd)),[[z,!T.visible]])}),128))])])]}),_:1},8,["modelValue"])])])),[[y,e.handleTzPickClose]]):A("v-if",!0),S(f("div",{"data-tag":"tiny-picker-panel__footer",class:b(e.gcls("footer"))},[S(D(k,{size:"mini",type:"text","data-tag":"tiny-picker-panel__link-btn",class:b(e.gcls("link-btn")),onClick:e.changeToNow},{default:M(function(){return[B(C(e.t("ui.datepicker.now")),1)]}),_:1},8,["class","onClick"]),[[z,!["dates","years"].includes(e.state.selectionMode)]]),D(k,{type:"primary",size:"mini","data-tag":"tiny-picker-panel__link-btn",class:b(["float-right",e.gcls("link-btn")]),onClick:e.confirm},{default:M(function(){return[B(C(e.t("ui.datepicker.confirm")),1)]}),_:1},8,["class","onClick"])],2),[[z,e.state.isShowFooter]])],2),[[z,e.state.visible]])]}),_:3},8,["onAfterEnter","onAfterLeave"])}var Cd=dd(fd,[["render",Dd]]);function gt(){return gt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},gt.apply(this,arguments)}var wd=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?en:(a||t)==="mobile-first"?Cd:en},Me=E({name:R+"DatePanel",componentName:"DatePanel",props:gt({},_,{emitter:Object,step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showWeekNumber:{type:Boolean,default:!1},formatWeeks:Function}),setup:function(t,n){return ie({props:t,context:n,template:wd})}}),Td="3.16.0";Me.install=function(e){e.component(Me.name,Me)};Me.version=Td;const Et=e=>Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),ae(new Date(e),1)]:[new Date,ae(new Date,1)],$d=({state:e,t})=>()=>e.dateUserInput.min!==null?e.dateUserInput.min:e.minDate?L(e.minDate,e.dateFormat,t):"",Ad=({state:e,t})=>()=>e.dateUserInput.max!==null?e.dateUserInput.max:e.maxDate||e.minDate?L(e.maxDate||e.minDate,e.dateFormat,t):"",Md=({state:e,t})=>()=>e.timeUserInput.min!==null?e.timeUserInput.min:e.minDate?L(e.minDate,e.timeFormat,t):"",Sd=({state:e,t})=>()=>e.timeUserInput.max!==null?e.timeUserInput.max:e.maxDate||e.minDate?L(e.maxDate||e.minDate,e.timeFormat,t):"",Vd=e=>()=>{const t=(e.leftMonth+1)%12,n=e.leftMonth+1>=12?1:0;return e.unlinkPanels&&new Date(e.leftYear+n,t)<new Date(e.rightYear,e.rightMonth)},Pd=({state:e,t,vm:n})=>a=>{e.dateUserInput.min=null,e.timeUserInput.min=null;const r=n.$refs.minTimePicker;if(r){if(e.maxDate&&e.maxDate<e.minDate){const i="HH:mm:ss";r.state.selectableRange=[[ee(L(e.minDate,i,t),i,t),ee("23:59:59",i,t)]]}a&&(r.state.value=a)}},Fd=({state:e,vm:t})=>n=>{e.dateUserInput.max=null,e.timeUserInput.max=null;const a=t.$refs.maxTimePicker;n&&a&&(a.state.value=n)},Id=({nextTick:e,state:t,vm:n})=>a=>{a&&e(()=>{n.$refs.minTimePicker.state.value=t.minDate})},Od=({nextTick:e,state:t,vm:n})=>a=>{a&&e(()=>{n.$refs.maxTimePicker.state.value=t.maxDate})},Ed=({state:e})=>t=>{if(!t)e.minDate=null,e.maxDate=null;else if(Array.isArray(t))if(e.minDate=Y(t[0])?new Date(t[0]):null,e.maxDate=Y(t[1])?new Date(t[1]):null,e.minDate)if(e.leftDate=e.minDate,e.unlinkPanels&&e.maxDate){const n=e.minDate.getFullYear(),a=e.minDate.getMonth(),r=e.maxDate.getFullYear(),i=e.maxDate.getMonth();e.rightDate=n===r&&a===i?U(e.maxDate):e.maxDate}else e.rightDate=U(e.leftDate);else e.leftDate=Et(e.defaultValue)[0],e.rightDate=U(e.leftDate)},zd=({state:e})=>t=>{if(!Array.isArray(e.value)){const[n,a]=Et(t);e.leftDate=n,e.rightDate=t&&t[1]&&e.unlinkPanels?a:U(e.leftDate)}},Yd=({emit:e,state:t})=>()=>{t.minDate=null,t.maxDate=null,t.leftDate=Et(t.defaultValue)[0],t.rightDate=U(t.leftDate),t.rangeState.selecting=!1,t.rangeState.endDate=null,e("pick",null)},Nd=e=>t=>{e.minDate=t.minDate,e.maxDate=t.maxDate,e.rangeState=t.rangeState},Rd=({state:e,t})=>(n,a)=>{if(e.dateUserInput[a]=n,n.length!==e.dateFormat.length)return;const r=ee(n,e.dateFormat,t);if(r){if(typeof e.disabledDate=="function"&&e.disabledDate(new Date(r)))return;a==="min"?(e.minDate=J(e.minDate||new Date,r.getFullYear(),r.getMonth(),r.getDate()),e.leftDate=new Date(r),e.unlinkPanels||(e.rightDate=U(e.leftDate))):(e.maxDate=J(e.maxDate||new Date,r.getFullYear(),r.getMonth(),r.getDate()),e.rightDate=new Date(r),e.unlinkPanels||(e.leftDate=Ze(r)))}},jd=({state:e,t})=>(n,a)=>{const r=ee(n,e.dateFormat,t);r&&(a==="min"?(e.minDate=J(e.minDate||new Date,r.getFullYear(),r.getMonth(),r.getDate()),e.minDate>e.maxDate&&(e.maxDate=e.minDate)):(e.maxDate=J(e.maxDate||new Date,r.getFullYear(),r.getMonth(),r.getDate()),e.maxDate<e.minDate&&(e.minDate=e.maxDate)))},Ud=({state:e,t})=>(n,a)=>{if(e.timeUserInput[a]=n,n.length!==e.timeFormat.length)return;const r=ee(n,e.timeFormat,t);r&&(a==="min"?e.minDate=x(e.minDate,r.getHours(),r.getMinutes(),r.getSeconds()):e.maxDate=x(e.maxDate,r.getHours(),r.getMinutes(),r.getSeconds()))},Bd=({state:e,t,vm:n})=>(a,r)=>{const i=ee(a,e.timeFormat,t);i&&(r==="min"?(e.minDate=x(e.minDate,i.getHours(),i.getMinutes(),i.getSeconds()),e.minDate>e.maxDate&&(e.maxDate=e.minDate),n.$refs.minTimePicker.state.value=e.minDate,e.minTimePickerVisible=!1):(e.maxDate=x(e.maxDate,i.getHours(),i.getMinutes(),i.getSeconds()),e.maxDate<e.minDate&&(e.minDate=e.maxDate),n.$refs.maxTimePicker.state.value=e.minDate,e.maxTimePickerVisible=!1))},Hd=({api:e,state:t,t:n})=>(a,r=!0)=>{const i=t.defaultTime||[];let o=a.minDate,l=a.maxDate;if(t.singleSelect){Object.assign(t.rangeState,{selecting:!1});const d=a.minDate||a.maxDate,c=t.shortcutType==="startFrom"?t.maxRangeDate:t.minRangeDate;o=c>d?d:c,l=c>d?c:d}const s=Ce(o,i[0],n),u=Ce(l,i[1],n);t.maxDate===u&&t.minDate===s||(t.onPick&&t.onPick(a),t.maxDate=u,t.minDate=s,setTimeout(()=>{t.maxDate=u,t.minDate=s},10),!(!r||t.showTime)&&e.handleConfirm())},Ld=(e,t)=>n=>{if(n.type){e.singleSelect=!0,e.shortcutType=n.type,e.shortcutText=n.text,n.type==="startFrom"&&n.endDate&&Y(n.endDate)&&(e.maxRangeDate=n.endDate),n.type==="endAt"&&n.startDate&&Y(n.startDate)&&(e.minRangeDate=n.startDate),e.value=[];return}if(n.onClick){const a={$emit:(r,[i,o])=>{t.doPick(i,o)}};n.onClick(a)}},Wd=e=>(t,n)=>{e("pick",[t,n],!1)},Kd=({state:e})=>(t,n,a)=>{e.minDate=e.minDate||new Date,t&&(e.minDate=x(e.minDate,t.getHours(),t.getMinutes(),t.getSeconds())),a||(e.minTimePickerVisible=n),(!e.maxDate||e.maxDate&&e.maxDate.getTime()<e.minDate.getTime())&&(e.maxDate=new Date(e.minDate))},Gd=e=>()=>e.minTimePickerVisible=!1,_d=({state:e})=>(t,n,a)=>{e.maxDate&&t&&(e.maxDate=x(e.maxDate,t.getHours(),t.getMinutes(),t.getSeconds())),a||(e.maxTimePickerVisible=n),e.maxDate&&e.minDate&&e.minDate.getTime()>e.maxDate.getTime()&&(e.minDate=new Date(e.maxDate))},Qd=e=>()=>e.maxTimePickerVisible=!1,qd=({state:e})=>()=>{e.leftDate=De(e.leftDate),e.unlinkPanels||(e.rightDate=U(e.leftDate))},Jd=({state:e})=>()=>{e.leftDate=Ze(e.leftDate),e.unlinkPanels||(e.rightDate=U(e.leftDate))},Xd=({state:e})=>()=>{const{leftDate:t,rightDate:n,unlinkPanels:a}=e;a?e.rightDate=j(n):(e.leftDate=j(t),e.rightDate=U(e.leftDate))},Zd=({state:e})=>()=>{e.unlinkPanels?e.rightDate=U(e.rightDate):(e.leftDate=U(e.leftDate),e.rightDate=U(e.leftDate))},xd=({state:e})=>()=>e.leftDate=j(e.leftDate),ec=({state:e})=>()=>e.leftDate=U(e.leftDate),tc=({state:e})=>()=>e.rightDate=De(e.rightDate),nc=({state:e})=>()=>e.rightDate=Ze(e.rightDate),ac=({api:e,emit:t,state:n})=>(a=!1)=>{e.isValidValue([n.minDate,n.maxDate])&&t("pick",[n.minDate,n.maxDate],a)},rc=({state:e})=>t=>Array.isArray(t)&&t&&t[0]&&t[1]&&Y(t[0])&&Y(t[1])&&t[0].getTime()<=t[1].getTime()&&(typeof e.disabledDate=="function"?!e.disabledDate(t[0])&&!e.disabledDate(t[1]):!0),ic=({state:e})=>()=>{e.minDate=e.value&&Y(e.value[0])?new Date(e.value[0]):null,e.maxDate=e.value&&Y(e.value[0])?new Date(e.value[1]):null},oc=({nextTick:e,vm:t,state:n})=>()=>{e(()=>{t.$refs.maxTimePicker.state.format=n.timeFormat,t.$refs.minTimePicker.state.format=n.timeFormat})},lc=({state:e,api:t})=>()=>!(e.minDate&&e.maxDate&&!e.selecting&&t.isValidValue([e.minDate,e.maxDate])),sc=({state:e,t})=>n=>`${e[n].getFullYear()} ${t("ui.datepicker.year")} ${t(`ui.datepicker.month${e[n].getMonth()+1}`)}`,uc=e=>()=>e.unlinkPanels&&e.rightYear*12+e.rightMonth-(e.leftYear*12+e.leftMonth+1)>=12,dc=({state:e,constants:t})=>n=>{n||(e.singleSelect=!1,e.minRangeDate=t.startDate,e.maxRangeDate=t.endDate)},la=["state","handleShortcutClick","handleConfirm","handleClear","handleChangeRange","rightNextMonth","rightNextYear","rightPrevMonth","rightPrevYear","handleRangePick","leftNextMonth","leftNextYear","leftPrevMonth","leftPrevYear","handleMaxTimePick","handleDateInput","handleMinTimePick","handleTimeChange","handleTimeInput","handleMinTimeClose","handleDateChange","handleMaxTimeClose","isValidValue"],cc=({reactive:e,computed:t,api:n,constants:a,designConfig:r})=>{var i;const o=e({popperElm:null,popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",shortcutType:"",shortcutText:"",singleSelect:!1,minRangeDate:a.startDate,maxRangeDate:a.endDate,leftDate:new Date,rightDate:U(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},showTime:!1,format:"",arrowControl:!1,unlinkPanels:!1,firstDayOfWeek:7,minTimePickerVisible:!1,maxTimePickerVisible:!1,shortcuts:"",visible:"",disabledDate:"",cellClassName:"",dateUserInput:{min:null,max:null},timeUserInput:{min:null,max:null},btnDisabled:t(()=>n.computerBtnDisabled()),leftLabel:t(()=>n.computerLabel("leftDate")),rightLabel:t(()=>n.computerLabel("rightDate")),leftYear:t(()=>o.leftDate.getFullYear()),leftMonth:t(()=>o.leftDate.getMonth()),leftMonthDate:t(()=>o.leftDate.getDate()),rightYear:t(()=>o.rightDate.getFullYear()),rightMonth:t(()=>o.rightDate.getMonth()),rightMonthDate:t(()=>o.rightDate.getDate()),minVisibleDate:t(()=>n.getMinVisibleDate()),maxVisibleDate:t(()=>n.getMaxVisibleDate()),minVisibleTime:t(()=>n.getMinVisibleTime()),maxVisibleTime:t(()=>n.getMaxVisibleTime()),timeFormat:t(()=>o.format?In(o.format):"HH:mm:ss"),dateFormat:t(()=>o.format?On(o.format):"yyyy-MM-dd"),enableMonthArrow:t(()=>n.getEnableMonthArrow()),enableYearArrow:t(()=>n.computerEnableYearArrow()),confirmButtonProps:ue({plain:!0,type:"default"},(i=r==null?void 0:r.state)==null?void 0:i.confirmButtonProps)});return o},fc=({watch:e,state:t,api:n})=>{e(()=>t.minDate,n.watchMinDate),e(()=>t.maxDate,n.watchMaxDate),e(()=>t.minTimePickerVisible,n.watchMinTimePickerVisible),e(()=>t.maxTimePickerVisible,n.watchMaxTimePickerVisible),e(()=>t.value,n.watchValue),e(()=>t.defaultValue,n.watchDefault),e(()=>t.showTime,n.setTimeFormat),e(()=>t.visible,n.watchPickerVisible)},mc=({api:e,state:t,t:n,vm:a,nextTick:r,emit:i,constants:o})=>{Object.assign(e,{t:n,state:t,computerLabel:sc({state:t,t:n}),resetView:ic({state:t}),watchMaxDate:Fd({state:t,vm:a}),handleChangeRange:Nd(t),handleMaxTimeClose:Qd(t),handleMinTimeClose:Gd(t),isValidValue:rc({state:t}),leftNextYear:xd({state:t}),getEnableMonthArrow:Vd(t),leftNextMonth:ec({state:t}),rightPrevYear:tc({state:t}),rightPrevMonth:nc({state:t}),rightNextMonth:Zd({state:t}),leftPrevYear:qd({state:t}),handleMaxTimePick:_d({state:t}),handleMinTimePick:Kd({state:t}),getMaxVisibleTime:Sd({state:t,t:n}),getMinVisibleTime:Md({state:t,t:n}),getMaxVisibleDate:Ad({state:t,t:n}),getMinVisibleDate:$d({state:t,t:n}),rightNextYear:Xd({state:t}),leftPrevMonth:Jd({state:t}),handleDateChange:jd({state:t,t:n}),handleTimeChange:Bd({state:t,t:n,vm:a}),watchMinDate:Pd({state:t,t:n,vm:a}),handleTimeInput:Ud({state:t,t:n}),watchMaxTimePickerVisible:Od({nextTick:r,state:t,vm:a}),watchMinTimePickerVisible:Id({nextTick:r,state:t,vm:a}),handleDateInput:Rd({state:t,t:n}),doPick:Wd(i),watchValue:Ed({state:t}),watchDefault:zd({state:t}),handleClear:Yd({emit:i,state:t}),setTimeFormat:oc({nextTick:r,vm:a,state:t}),handleConfirm:ac({api:e,emit:i,state:t}),handleRangePick:Hd({api:e,state:t,t:n}),handleShortcutClick:Ld(t,e),computerBtnDisabled:lc({state:t,api:e}),computerEnableYearArrow:uc(t),watchPickerVisible:dc({state:t,constants:o})})},sa=(e,{computed:t,reactive:n,watch:a,nextTick:r},{t:i,emit:o,vm:l,constants:s,designConfig:u})=>{const d={},c=e.emitter?e.emitter.emit:o,p=cc({reactive:n,computed:t,api:d,constants:s,designConfig:u});return mc({api:d,state:p,t:i,vm:l,nextTick:r,emit:c,constants:s}),fc({watch:a,state:p,api:d}),d};function pc(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=gc(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gc(e,t){if(e){if(typeof e=="string")return nn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nn(e,t)}}function nn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var hc=function(t,n){for(var a=t.__vccOpts||t,r=pc(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},yc=E({directives:re({Clickoutside:ge}),components:{TimePicker:ne,DateTable:ce,TinyInput:we,TinyButton:pe,IconDoubleRight:Te(),IconDoubleLeft:$e(),IconChevronLeft:at(),IconChevronRight:xe()},props:[].concat(G,["emitter","step","showWeekNumber","formatWeeks","timeEditable"]),emits:["dodestroy","pick"],setup:function(t,n){return N({props:t,context:n,renderless:sa,api:la})}}),bc={class:"tiny-picker-panel__body-wrapper"},vc={key:0,ref:"shortcut",class:"tiny-picker-panel__sidebar"},kc=["onClick","title"],Dc={class:"tiny-picker-panel__body"},Cc={key:0,class:"tiny-date-range-picker__time-header"},wc={class:"tiny-date-range-picker__editors-wrap"},Tc={class:"tiny-date-range-picker__time-picker-wrap"},$c={class:"tiny-date-range-picker__time-picker-wrap"},Ac=f("span",{class:"tiny-icon-arrow-right"},null,-1),Mc={class:"tiny-date-range-picker__editors-wrap is-right"},Sc={class:"tiny-date-range-picker__time-picker-wrap"},Vc={class:"tiny-date-range-picker__time-picker-wrap"},Pc={class:"tiny-picker-panel__content tiny-date-range-picker__content is-left"},Fc={class:"tiny-date-range-picker__header"},Ic=["disabled"],Oc=["disabled"],Ec={class:"tiny-picker-panel__content tiny-date-range-picker__content is-right"},zc={class:"tiny-date-range-picker__header"},Yc=["disabled"],Nc=["disabled"],Rc={key:0,class:"tiny-picker-panel__footer"};function jc(e,t,n,a,r,i){var o=w("tiny-input"),l=w("time-picker"),s=w("icon-double-left"),u=w("icon-chevron-left"),d=w("icon-double-right"),c=w("icon-chevron-right"),p=w("date-table"),v=w("tiny-button"),k=he("clickoutside");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[19]||(t[19]=function(y){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{class:b(["tiny-picker-panel tiny-date-range-picker tiny-popper",[{"has-sidebar":e.slots.sidebar||e.state.shortcuts,"has-time":e.state.showTime},e.state.popperClass]]),ref:"refDateRange"},[f("div",bc,[H(e.$slots,"sidebar",{class:"tiny-picker-panel__sidebar"}),e.state.shortcuts?(m(),h("div",vc,[(m(!0),h(P,null,I(e.state.shortcuts,function(y,T){return m(),h("button",{type:"button",class:b(["tiny-picker-panel__shortcut",{"tiny-picker-panel__shortcut-selected":e.state.singleSelect&&y.type===e.state.shortcutType&&y.text===e.state.shortcutText}]),key:T,onClick:function(V){return e.handleShortcutClick(y)},title:y.text},C(y.text),11,kc)}),128))],512)):A("v-if",!0),f("div",Dc,[e.state.showTime?(m(),h("div",Cc,[f("span",wc,[f("span",Tc,[D(o,{size:"small",disabled:e.state.rangeState.selecting,ref:"minInput",placeholder:e.t("ui.datepicker.startDate"),class:"tiny-date-range-picker__editor",modelValue:e.state.minVisibleDate,"onUpdate:modelValue":t[0]||(t[0]=function(y){return e.handleDateInput(y,"min")}),onChange:t[1]||(t[1]=function(y){return e.handleDateChange(y,"min")})},null,8,["disabled","placeholder","modelValue"])]),S((m(),h("span",$c,[D(o,{size:"small",class:"tiny-date-range-picker__editor",disabled:e.state.rangeState.selecting,placeholder:e.t("ui.datepicker.startTime"),modelValue:e.state.minVisibleTime,onFocus:t[2]||(t[2]=function(y){return e.state.minTimePickerVisible=!0}),"onUpdate:modelValue":t[3]||(t[3]=function(y){return e.handleTimeInput(y,"min")}),onChange:t[4]||(t[4]=function(y){return e.handleTimeChange(y,"min")}),readonly:!e.timeEditable},null,8,["disabled","placeholder","modelValue","readonly"]),D(l,{ref:"minTimePicker",step:e.step,"time-arrow-control":e.state.arrowControl,show:e.state.minTimePickerVisible,value:e.state.minDate,onPick:e.handleMinTimePick},null,8,["step","time-arrow-control","show","value","onPick"])])),[[k,e.handleMinTimeClose]])]),Ac,f("span",Mc,[f("span",Sc,[D(o,{size:"small",class:"tiny-date-range-picker__editor",disabled:e.state.rangeState.selecting,placeholder:e.t("ui.datepicker.endDate"),modelValue:e.state.maxVisibleDate,readonly:!e.state.minDate,"onUpdate:modelValue":t[5]||(t[5]=function(y){return e.handleDateInput(y,"max")}),onChange:t[6]||(t[6]=function(y){return e.handleDateChange(y,"max")})},null,8,["disabled","placeholder","modelValue","readonly"])]),S((m(),h("span",Vc,[D(o,{size:"small",class:"tiny-date-range-picker__editor",disabled:e.state.rangeState.selecting,placeholder:e.t("ui.datepicker.endTime"),modelValue:e.state.maxVisibleTime,readonly:!e.state.minDate||!e.timeEditable,onFocus:t[7]||(t[7]=function(y){return e.state.minDate&&(e.state.maxTimePickerVisible=!0)}),"onUpdate:modelValue":t[8]||(t[8]=function(y){return e.handleTimeInput(y,"max")}),onChange:t[9]||(t[9]=function(y){return e.handleTimeChange(y,"max")})},null,8,["disabled","placeholder","modelValue","readonly"]),D(l,{ref:"maxTimePicker",step:e.step,"time-arrow-control":e.state.arrowControl,show:e.state.maxTimePickerVisible,value:e.state.maxDate,onPick:e.handleMaxTimePick},null,8,["step","time-arrow-control","show","value","onPick"])])),[[k,e.handleMaxTimeClose]])])])):A("v-if",!0),f("div",Pc,[f("div",Fc,[f("button",{type:"button",onClick:t[10]||(t[10]=function(){return e.leftPrevYear&&e.leftPrevYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"},[D(s)]),f("button",{type:"button",onClick:t[11]||(t[11]=function(){return e.leftPrevMonth&&e.leftPrevMonth.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-arrow-left"},[D(u)]),e.state.unlinkPanels?(m(),h("button",{key:0,type:"button",onClick:t[12]||(t[12]=function(){return e.leftNextYear&&e.leftNextYear.apply(e,arguments)}),disabled:!e.state.enableYearArrow,class:b([{"is-disabled":!e.state.enableYearArrow},"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"])},[D(d)],10,Ic)):A("v-if",!0),e.state.unlinkPanels?(m(),h("button",{key:1,type:"button",onClick:t[13]||(t[13]=function(){return e.leftNextMonth&&e.leftNextMonth.apply(e,arguments)}),disabled:!e.state.enableMonthArrow,class:b([{"is-disabled":!e.state.enableMonthArrow},"tiny-picker-panel__icon-btn tiny-icon-arrow-right"])},[D(c)],10,Oc)):A("v-if",!0),f("div",null,C(e.state.leftLabel),1)]),D(p,{"selection-mode":"range",date:e.state.leftDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,"cell-class-name":e.state.cellClassName,onChangerange:e.handleChangeRange,"first-day-of-week":e.state.firstDayOfWeek,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks,onPick:e.handleRangePick},null,8,["date","default-value","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","first-day-of-week","show-week-number","format-weeks","onPick"])]),f("div",Ec,[f("div",zc,[e.state.unlinkPanels?(m(),h("button",{key:0,type:"button",onClick:t[14]||(t[14]=function(){return e.rightPrevYear&&e.rightPrevYear.apply(e,arguments)}),disabled:!e.state.enableYearArrow,class:b([{"is-disabled":!e.state.enableYearArrow},"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"])},[D(s)],10,Yc)):A("v-if",!0),e.state.unlinkPanels?(m(),h("button",{key:1,type:"button",onClick:t[15]||(t[15]=function(){return e.rightPrevMonth&&e.rightPrevMonth.apply(e,arguments)}),disabled:!e.state.enableMonthArrow,class:b([{"is-disabled":!e.state.enableMonthArrow},"tiny-picker-panel__icon-btn tiny-icon-arrow-left"])},[D(u)],10,Nc)):A("v-if",!0),f("button",{type:"button",onClick:t[16]||(t[16]=function(){return e.rightNextYear&&e.rightNextYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"},[D(d)]),f("button",{type:"button",onClick:t[17]||(t[17]=function(){return e.rightNextMonth&&e.rightNextMonth.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-arrow-right"},[D(c)]),f("div",null,C(e.state.rightLabel),1)]),D(p,{"selection-mode":"range",date:e.state.rightDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,"cell-class-name":e.state.cellClassName,onChangerange:e.handleChangeRange,"first-day-of-week":e.state.firstDayOfWeek,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks,onPick:e.handleRangePick},null,8,["date","default-value","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","first-day-of-week","show-week-number","format-weeks","onPick"])])])]),e.state.showTime?(m(),h("div",Rc,[D(v,{size:"mini",type:"text",class:"tiny-picker-panel__link-btn",onClick:e.handleClear},{default:M(function(){return[B(C(e.t("ui.datepicker.clear")),1)]}),_:1},8,["onClick"]),D(v,{plain:e.state.confirmButtonProps.plain,size:"mini",type:e.state.confirmButtonProps.type,class:"tiny-picker-panel__link-btn",disabled:e.state.btnDisabled,onClick:t[18]||(t[18]=function(y){return e.handleConfirm(!1)})},{default:M(function(){return[B(C(e.t("ui.datepicker.confirm")),1)]}),_:1},8,["plain","type","disabled"])])):A("v-if",!0)],2),[[z,e.state.visible]])]}),_:3})}var an=hc(yc,[["render",jc]]);function Uc(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Bc(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bc(e,t){if(e){if(typeof e=="string")return rn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rn(e,t)}}function rn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Hc=function(t,n){for(var a=t.__vccOpts||t,r=Uc(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Lc={"picker-panel":"text-color-text-primary text-xs shadow-md bg-color-bg-1 rounded leading-4 my-0.5 mx-0","date-range-picker":"w-144",sidebar:"absolute top-0 bottom-0 w-28 border-r border-r-color-bg-3 box-border pt-5 bg-color-bg-1 overflow-auto",shortcut:"block my-0 mx-auto w-24 rounded border-0 bg-transparent leading-8 text-xs text-color-text-primary pl-4 text-left outline-0 cursor-pointer hover:bg-color-bg-2","shortcut-selected":"text-color-brand bg-color-brand-hover-subtle",body:"min-w-[513px]","time-header":"relative text-xs h-10 leading-10 table w-full box-border border-b border-b-color-bg-3",content:"float-left w-1/2 box-border pt-4 pr-4 pb-1.5 pl-4",header:"relative text-center p-4 h-12","icon-btn":"text-sm leading-4 fill-color-text-primary border-0 cursor-pointer outline-0 hover:fill-color-brand","is-disabled":"text-color-text-disabled hover:cursor-not-allowed","arrow-left":"float-left","arrow-right":"float-right","editors-wrap":"box-border table-cell","is-left":"border-r border-r-color-bg-3 relative -left-px","is-right":"text-right","time-picker-wrap":"relative table-cell px-1","time-picker-wrap-left":"before:content-[''] before:h-6 before:absolute before:right-0 before:top-2 before:border-r before:border-r-color-bg-3",editor:"relative items-center sm:border-0 text-center",footer:"border-t border-t-color-bg-3 py-3 px-4 bg-color-bg-1 overflow-hidden rounded-b"},Wc=E({directives:re({Clickoutside:ge}),components:{TimePicker:ne,DateTable:ce,TinyInput:we,TinyButton:pe,IconDoubleRight:Te(),IconDoubleLeft:$e(),IconChevronLeft:at(),IconChevronRight:xe()},props:[].concat(G,["emitter","step","showWeekNumber","formatWeeks"]),emits:["dodestroy","pick"],setup:function(t,n){return N({props:t,context:n,renderless:sa,api:la,classes:Lc})}}),Kc={"data-tag":"tiny-picker-panel__body-wrapper",class:"relative"},Gc=["onClick"],_c={"data-tag":"tiny-picker-panel__body"},Qc=f("span",{"data-tag":"tiny-icon-arrow-right"},null,-1),qc=["disabled"],Jc=["disabled"],Xc={class:"mx-12"},Zc=["disabled"],xc=["disabled"];function ef(e,t,n,a,r,i){var o=w("tiny-input"),l=w("time-picker"),s=w("icon-double-left"),u=w("icon-chevron-left"),d=w("icon-double-right"),c=w("icon-chevron-right"),p=w("date-table"),v=w("tiny-button"),k=he("clickoutside");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[19]||(t[19]=function(y){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{"data-tag":"tiny-picker-panel tiny-date-range-picker tiny-popper",class:b(e.m(e.gcls(["picker-panel","date-range-picker"]),e.state.popperClass)),ref:"refDateRange"},[f("div",Kc,[H(e.$slots,"sidebar",{dataTag:"tiny-picker-panel__sidebar",class:b(e.gcls("sidebar"))}),e.state.shortcuts?(m(),h("div",{key:0,ref:"shortcut","data-tag":"tiny-picker-panel__sidebar",class:b(e.gcls("sidebar"))},[(m(!0),h(P,null,I(e.state.shortcuts,function(y,T){return m(),h("button",{type:"button","data-tag":"tiny-picker-panel__shortcut",key:T,class:b(e.m(e.gcls("shortcut"),e.state.singleSelect&&y.type===e.state.shortcutType&&y.text===e.state.shortcutText&&e.gcls("shortcut-selected"))),onClick:function(V){return e.handleShortcutClick(y)}},C(y.text),11,Gc)}),128))],2)):A("v-if",!0),f("div",_c,[e.state.showTime?(m(),h("div",{key:0,"data-tag":"tiny-date-range-picker__time-header",class:b(e.gcls("time-header"))},[f("span",{"data-tag":"tiny-date-range-picker__editors-wrap",class:b(e.gcls(["editors-wrap","is-left"]))},[f("span",{"data-tag":"tiny-date-range-picker__time-picker-wrap",class:b(e.gcls(["time-picker-wrap","time-picker-wrap-left"]))},[D(o,{size:"small",disabled:e.state.rangeState.selecting,ref:"minInput",placeholder:e.t("ui.datepicker.startDate"),"data-tag":"tiny-date-range-picker__editor","custom-class":e.gcls("editor"),modelValue:e.state.minVisibleDate,"onUpdate:modelValue":t[0]||(t[0]=function(y){return e.handleDateInput(y,"min")}),onChange:t[1]||(t[1]=function(y){return e.handleDateChange(y,"min")})},null,8,["disabled","placeholder","custom-class","modelValue"])],2),S((m(),h("span",{"data-tag":"tiny-date-range-picker__time-picker-wrap",class:b(e.gcls("time-picker-wrap"))},[D(o,{size:"small","data-tag":"tiny-date-range-picker__editor","custom-class":e.gcls("editor"),disabled:e.state.rangeState.selecting,placeholder:e.t("ui.datepicker.startTime"),modelValue:e.state.minVisibleTime,onFocus:t[2]||(t[2]=function(y){return e.state.minTimePickerVisible=!0}),"onUpdate:modelValue":t[3]||(t[3]=function(y){return e.handleTimeInput(y,"min")}),onChange:t[4]||(t[4]=function(y){return e.handleTimeChange(y,"min")})},null,8,["custom-class","disabled","placeholder","modelValue"]),D(l,{ref:"minTimePicker",step:e.step,"time-arrow-control":e.state.arrowControl,show:e.state.minTimePickerVisible,value:e.state.minDate,onPick:e.handleMinTimePick},null,8,["step","time-arrow-control","show","value","onPick"])],2)),[[k,e.handleMinTimeClose]])],2),Qc,f("span",{"data-tag":"tiny-date-range-picker__editors-wrap is-right",class:b(e.gcls(["editors-wrap","is-right"]))},[f("span",{"data-tag":"tiny-date-range-picker__time-picker-wrap",class:b(e.gcls(["time-picker-wrap","time-picker-wrap-left"]))},[D(o,{size:"small","data-tag":"tiny-date-range-picker__editor","custom-class":e.gcls("editor"),disabled:e.state.rangeState.selecting,placeholder:e.t("ui.datepicker.endDate"),modelValue:e.state.maxVisibleDate,readonly:!e.state.minDate,"onUpdate:modelValue":t[5]||(t[5]=function(y){return e.handleDateInput(y,"max")}),onChange:t[6]||(t[6]=function(y){return e.handleDateChange(y,"max")})},null,8,["custom-class","disabled","placeholder","modelValue","readonly"])],2),S((m(),h("span",{"data-tag":"tiny-date-range-picker__time-picker-wrap",class:b(e.gcls("time-picker-wrap"))},[D(o,{size:"small","data-tag":"tiny-date-range-picker__editor","custom-class":e.gcls("editor"),disabled:e.state.rangeState.selecting,placeholder:e.t("ui.datepicker.endTime"),modelValue:e.state.maxVisibleTime,readonly:!e.state.minDate,onFocus:t[7]||(t[7]=function(y){return e.state.minDate&&(e.state.maxTimePickerVisible=!0)}),"onUpdate:modelValue":t[8]||(t[8]=function(y){return e.handleTimeInput(y,"max")}),onChange:t[9]||(t[9]=function(y){return e.handleTimeChange(y,"max")})},null,8,["custom-class","disabled","placeholder","modelValue","readonly"]),D(l,{ref:"maxTimePicker",step:e.step,"time-arrow-control":e.state.arrowControl,show:e.state.maxTimePickerVisible,value:e.state.maxDate,onPick:e.handleMaxTimePick},null,8,["step","time-arrow-control","show","value","onPick"])],2)),[[k,e.handleMaxTimeClose]])],2)],2)):A("v-if",!0),f("div",{"data-tag":"tiny-picker-panel__content tiny-date-range-picker__content is-left",class:b(e.gcls(["content","is-left"]))},[f("div",{"data-tag":"tiny-date-range-picker__header",class:b(e.gcls("header"))},[f("button",{type:"button",onClick:t[10]||(t[10]=function(){return e.leftPrevYear&&e.leftPrevYear.apply(e,arguments)}),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left",class:b(e.gcls(["icon-btn","arrow-left"]))},[D(s)],2),f("button",{type:"button",onClick:t[11]||(t[11]=function(){return e.leftPrevMonth&&e.leftPrevMonth.apply(e,arguments)}),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-arrow-left",class:b(e.gcls(["icon-btn","arrow-left"]))},[D(u)],2),e.state.unlinkPanels?(m(),h("button",{key:0,type:"button",onClick:t[12]||(t[12]=function(){return e.leftNextYear&&e.leftNextYear.apply(e,arguments)}),disabled:!e.state.enableYearArrow,class:b({"is-disabled":!e.state.enableYearArrow}),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"},[D(d)],10,qc)):A("v-if",!0),e.state.unlinkPanels?(m(),h("button",{key:1,type:"button",onClick:t[13]||(t[13]=function(){return e.leftNextMonth&&e.leftNextMonth.apply(e,arguments)}),disabled:!e.state.enableMonthArrow,class:b({"is-disabled":!e.state.enableMonthArrow}),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-arrow-right"},[D(c)],10,Jc)):A("v-if",!0),f("div",Xc,C(e.state.leftLabel),1)],2),D(p,{"selection-mode":"range",date:e.state.leftDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,"cell-class-name":e.state.cellClassName,onChangerange:e.handleChangeRange,"first-day-of-week":e.state.firstDayOfWeek,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks,onPick:e.handleRangePick},null,8,["date","default-value","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","first-day-of-week","show-week-number","format-weeks","onPick"])],2),f("div",{"data-tag":"tiny-picker-panel__content tiny-date-range-picker__content is-right",class:b(e.gcls(["content","is-right"]))},[f("div",{"data-tag":"tiny-date-range-picker__header",class:b(e.gcls("header"))},[e.state.unlinkPanels?(m(),h("button",{key:0,type:"button",onClick:t[14]||(t[14]=function(){return e.rightPrevYear&&e.rightPrevYear.apply(e,arguments)}),disabled:!e.state.enableYearArrow,class:b(e.m(e.gcls(["icon-btn","arrow-left"]),!e.state.enableYearArrow&&e.gcls("is-disabled"))),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"},[D(s)],10,Zc)):A("v-if",!0),e.state.unlinkPanels?(m(),h("button",{key:1,"data-tag":"tiny-picker-panel__icon-btn tiny-icon-arrow-left",type:"button",disabled:!e.state.enableMonthArrow,class:b(e.m(e.gcls(["icon-btn","arrow-left"]),!e.state.enableMonthArrow&&e.gcls("is-disabled"))),onClick:t[15]||(t[15]=function(){return e.rightPrevMonth&&e.rightPrevMonth.apply(e,arguments)})},[D(u)],10,xc)):A("v-if",!0),f("button",{type:"button",onClick:t[16]||(t[16]=function(){return e.rightNextYear&&e.rightNextYear.apply(e,arguments)}),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right",class:b(e.gcls(["icon-btn","arrow-right"]))},[D(d)],2),f("button",{type:"button",onClick:t[17]||(t[17]=function(){return e.rightNextMonth&&e.rightNextMonth.apply(e,arguments)}),"data-tag":"tiny-picker-panel__icon-btn tiny-icon-arrow-right",class:b(e.gcls(["icon-btn","arrow-right"]))},[D(c)],2),f("div",null,C(e.state.rightLabel),1)],2),D(p,{"selection-mode":"range",date:e.state.rightDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,"cell-class-name":e.state.cellClassName,onChangerange:e.handleChangeRange,"first-day-of-week":e.state.firstDayOfWeek,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks,onPick:e.handleRangePick},null,8,["date","default-value","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","first-day-of-week","show-week-number","format-weeks","onPick"])],2)])]),e.state.showTime?(m(),h("div",{key:0,"data-tag":"tiny-picker-panel__footer",class:b(e.gcls("footer"))},[D(v,{size:"mini",type:"text","data-tag":"tiny-picker-panel__link-btn",onClick:e.handleClear,"custom-class":"text-left pl-0"},{default:M(function(){return[B(C(e.t("ui.datepicker.clear")),1)]}),_:1},8,["onClick"]),D(v,{type:"primary",size:"mini","data-tag":"tiny-picker-panel__link-btn","custom-class":"float-right",disabled:e.state.btnDisabled,onClick:t[18]||(t[18]=function(y){return e.handleConfirm(!1)})},{default:M(function(){return[B(C(e.t("ui.datepicker.confirm")),1)]}),_:1},8,["disabled"])],2)):A("v-if",!0)],2),[[z,e.state.visible]])]}),_:3})}var tf=Hc(Wc,[["render",ef]]);function ht(){return ht=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},ht.apply(this,arguments)}var nf=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?an:(a||t)==="mobile-first"?tf:an},af={startDate:new Date("1970-01-01"),endDate:new Date("2099-12-31")},Se=E({name:R+"DateRange",componentName:"DateRange",props:ht({},_,{_constants:{type:Object,default:function(){return af}},emitter:Object,step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showWeekNumber:{type:Boolean,default:!1},formatWeeks:Function,timeEditable:{type:Boolean,default:!0}}),setup:function(t,n){return ie({props:t,context:n,template:nf})}}),rf="3.16.0";Se.install=function(e){e.component(Se.name,Se)};Se.version=rf;const zt=e=>Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),U(new Date(e))]:[new Date,U(new Date)],of=({state:e})=>t=>{if(!t)e.maxDate=null,e.minDate=null;else if(Array.isArray(t))if(Y(t[0])?e.minDate=new Date(t[0]):e.minDate=null,Y(t[1])?e.maxDate=new Date(t[1]):e.maxDate=null,e.minDate)if(e.leftDate=e.minDate,e.maxDate&&e.unlinkPanels){const n=e.maxDate.getFullYear(),a=e.minDate.getFullYear();e.rightDate=n===a?j(e.maxDate):e.maxDate}else e.rightDate=j(e.leftDate);else e.leftDate=zt(e.defaultValue)[0],e.rightDate=j(e.leftDate)},lf=({state:e})=>t=>{if(!Array.isArray(e.value)){const[n,a]=zt(t);e.leftDate=n,e.rightDate=t&&t[1]&&n.getFullYear()!==a.getFullYear()&&e.unlinkPanels?a:j(e.leftDate)}},sf=({emit:e,state:t})=>()=>{t.minDate=null,t.maxDate=null,t.leftDate=zt(t.defaultValue)[0],t.rightDate=j(t.leftDate),e("pick",null)},uf=e=>t=>{e.minDate=t.minDate,e.maxDate=t.maxDate,e.rangeState=t.rangeState},df=({api:e,state:t,t:n})=>(a,r=!0)=>{const i=t.defaultTime||[],o=Ce(a.maxDate,i[1],n),l=Ce(a.minDate,i[0],n);t.minDate===l&&t.maxDate===o||(t.onPick&&t.onPick(a),t.minDate=l,t.maxDate=o,setTimeout(()=>{t.minDate=l,t.maxDate=o},10),r&&e.handleConfirm())},cf=e=>t=>{if(t.onClick){const n={$emit:(a,[r,i])=>{e.doPick(r,i)}};t.onClick(n)}},ff=e=>(t,n)=>{e("pick",[t,n],!1)},mf=e=>()=>{e.leftDate=De(e.leftDate),e.unlinkPanels||(e.rightDate=De(e.rightDate))},pf=e=>()=>{e.unlinkPanels||(e.leftDate=j(e.leftDate)),e.rightDate=j(e.rightDate)},gf=e=>()=>e.leftDate=j(e.leftDate),hf=e=>()=>e.rightDate=De(e.rightDate),yf=({api:e,emit:t,state:n})=>(a=!1)=>{e.isValidValue([n.minDate,n.maxDate])&&t("pick",[n.minDate,n.maxDate],a)},bf=e=>t=>Array.isArray(t)&&t&&t[1]&&t[0]&&Y(t[1])&&Y(t[0])&&t[0].getTime()<=t[1].getTime()&&(typeof e.disabledDate=="function"?!e.disabledDate(t[1])&&!e.disabledDate(t[0]):!0),vf=e=>()=>{e.minDate=e.value&&Y(e.value[0])?new Date(e.value[0]):null,e.maxDate=e.value&&Y(e.value[0])?new Date(e.value[1]):null},kf=["state","rightNextYear","rightPrevYear","handleRangePick","handleShortcutClick","handleChangeRange","leftPrevYear","leftNextYear","isValidValue"],Df=({reactive:e,computed:t,api:n,t:a})=>{const r=e({popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:j(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},shortcuts:"",visible:"",disabledDate:"",format:"",arrowControl:!1,unlinkPanels:!1,btnDisabled:t(()=>!(r.minDate&&r.maxDate&&!r.selecting&&n.isValidValue([r.minDate,r.maxDate]))),leftLabel:t(()=>r.leftDate.getFullYear()+" "+a("ui.datepicker.year")),rightLabel:t(()=>r.rightDate.getFullYear()+" "+a("ui.datepicker.year")),leftYear:t(()=>r.leftDate.getFullYear()),rightYear:t(()=>r.rightDate.getFullYear()===r.leftDate.getFullYear()?r.leftDate.getFullYear()+1:r.rightDate.getFullYear()),enableYearArrow:t(()=>r.unlinkPanels&&r.rightYear>r.leftYear+1)});return r},Cf=(e,{computed:t,reactive:n,watch:a},{t:r,emit:i})=>{const o={},l=e.emitter?e.emitter.emit:i,s=Df({reactive:n,computed:t,api:o,t:r});return Object.assign(o,{state:s,resetView:vf(s),handleChangeRange:uf(s),isValidValue:bf(s),leftNextYear:gf(s),leftPrevYear:mf(s),doPick:ff(l),rightNextYear:pf(s),rightPrevYear:hf(s),watchValue:of({state:s}),handleClear:sf({emit:l,state:s}),watchDefaultValue:lf({state:s}),handleConfirm:yf({api:o,emit:l,state:s}),handleRangePick:df({api:o,state:s,t:r}),handleShortcutClick:cf(o)}),a(()=>s.value,o.watchValue),a(()=>s.defaultValue,o.watchDefaultValue),o};function wf(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Tf(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tf(e,t){if(e){if(typeof e=="string")return on(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return on(e,t)}}function on(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var $f=function(t,n){for(var a=t.__vccOpts||t,r=wf(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},yt.apply(this,arguments)}var Af=E({name:R+"MonthRange",directives:re({Clickoutside:ge}),components:{MonthTable:ve,IconDoubleRight:Te(),IconDoubleLeft:$e()},props:yt({},_,{emitter:Object}),emits:["dodestroy","pick"],setup:function(t,n){return N({props:t,context:n,renderless:Cf,api:kf,mono:!0})}}),Mf={class:"tiny-picker-panel__body-wrapper"},Sf={key:0,class:"tiny-picker-panel__sidebar"},Vf=["onClick","title"],Pf={class:"tiny-picker-panel__body"},Ff={class:"tiny-picker-panel__content tiny-date-range-picker__content is-left"},If={class:"tiny-date-range-picker__header"},Of=["disabled"],Ef={class:"tiny-picker-panel__content tiny-date-range-picker__content is-right"},zf={class:"tiny-date-range-picker__header"},Yf=["disabled"];function Nf(e,t,n,a,r,i){var o=w("icon-double-left"),l=w("icon-double-right"),s=w("month-table");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[4]||(t[4]=function(u){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{class:b(["tiny-picker-panel tiny-date-range-picker tiny-popper",[{"has-sidebar":e.slots.sidebar||e.state.shortcuts},e.state.popperClass]])},[f("div",Mf,[H(e.$slots,"sidebar",{class:"tiny-picker-panel__sidebar"}),e.state.shortcuts?(m(),h("div",Sf,[(m(!0),h(P,null,I(e.state.shortcuts,function(u,d){return m(),h("button",{type:"button",class:"tiny-picker-panel__shortcut",key:d,onClick:function(p){return e.handleShortcutClick(u)},title:u.text},C(u.text),9,Vf)}),128))])):A("v-if",!0),f("div",Pf,[f("div",Ff,[f("div",If,[f("button",{type:"button",onClick:t[0]||(t[0]=function(){return e.leftPrevYear&&e.leftPrevYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"},[D(o)]),e.state.unlinkPanels?(m(),h("button",{key:0,type:"button",onClick:t[1]||(t[1]=function(){return e.leftNextYear&&e.leftNextYear.apply(e,arguments)}),disabled:!e.state.enableYearArrow,class:b([{"is-disabled":!e.state.enableYearArrow},"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"])},[D(l)],10,Of)):A("v-if",!0),f("div",null,C(e.state.leftLabel),1)]),D(s,{"selection-mode":"range",date:e.state.leftDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,onChangerange:e.handleChangeRange,onPick:e.handleRangePick},null,8,["date","default-value","min-date","max-date","range-state","disabled-date","onChangerange","onPick"])]),f("div",Ef,[f("div",zf,[e.state.unlinkPanels?(m(),h("button",{key:0,type:"button",onClick:t[2]||(t[2]=function(){return e.rightPrevYear&&e.rightPrevYear.apply(e,arguments)}),disabled:!e.state.enableYearArrow,class:b([{"is-disabled":!e.state.enableYearArrow},"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"])},[D(o)],10,Yf)):A("v-if",!0),f("button",{type:"button",onClick:t[3]||(t[3]=function(){return e.rightNextYear&&e.rightNextYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"},[D(l)]),f("div",null,C(e.state.rightLabel),1)]),D(s,{"selection-mode":"range",date:e.state.rightDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,onChangerange:e.handleChangeRange,onPick:e.handleRangePick},null,8,["date","default-value","min-date","max-date","range-state","disabled-date","onChangerange","onPick"])])])])],2),[[z,e.state.visible]])]}),_:3})}var Ve=$f(Af,[["render",Nf]]),Rf="3.16.0";Ve.install=function(e){e.component(Ve.name,Ve)};Ve.version=Rf;const Yt=e=>Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),U(new Date(e))]:[new Date,U(new Date)],jf=({state:e})=>t=>{if(!t)e.minDate=null,e.maxDate=null;else if(Array.isArray(t))if(Y(t[1])?e.maxDate=new Date(t[1]):e.maxDate=null,Y(t[0])?e.minDate=new Date(t[0]):e.minDate=null,!e.minDate)e.leftDate=Yt(e.defaultValue)[0],e.rightDate=j(e.leftDate);else if(e.leftDate=e.minDate,e.maxDate&&e.unlinkPanels){const n=e.minDate.getFullYear(),a=e.maxDate.getFullYear();e.rightDate=a===n?j(e.maxDate):e.maxDate}else e.rightDate=j(e.leftDate)},Uf=({emit:e,state:t})=>()=>{t.maxDate=null,t.minDate=null,t.leftDate=Yt(t.defaultValue)[0],t.rightDate=j(t.leftDate),e("pick",null)},Bf=e=>t=>{e.rangeState=t.rangeState,e.minDate=t.minDate,e.maxDate=t.maxDate},Hf=({state:e})=>t=>{if(!Array.isArray(e.value)){const[n,a]=Yt(t);e.leftDate=n,e.rightDate=t&&t[1]&&n.getFullYear()!==a.getFullYear()&&e.unlinkPanels?a:j(e.leftDate)}},Lf=({api:e,state:t})=>(n,a=!0)=>{const r=n.maxDate,i=n.minDate;t.minDate===i&&t.maxDate===r||(t.onPick&&t.onPick(n),t.minDate=i,t.maxDate=r,setTimeout(()=>{t.minDate=i,t.maxDate=r},10),a&&e.handleConfirm())},Wf=e=>t=>{if(t.onClick){const n={$emit:(a,[r,i])=>{e.doPick(r,i)}};t.onClick(n)}},Kf=e=>(t,n)=>{e("pick",[t,n],!1)},Gf=e=>()=>{e.leftStartYear=e.leftStartYear-g.PanelYearNum*2},_f=e=>()=>{e.leftStartYear=e.leftStartYear+g.PanelYearNum*2},Qf=({api:e,emit:t,state:n})=>(a=!1)=>{const{minDate:r,maxDate:i}=n;e.isValidValue([r,i])&&t("pick",[new Date(r,0,2),new Date(i,0,2)],a)},qf=e=>t=>t&&Array.isArray(t)&&t[1]&&t[0]&&Y(t[1])&&Y(t[0])&&t[0]<=t[1]&&(typeof e.disabledDate=="function"?!e.disabledDate(t[1])&&!e.disabledDate(t[0]):!0),Jf=e=>()=>{e.maxDate=e.value&&Y(e.value[0])?new Date(e.value[1]):null,e.minDate=e.value&&Y(e.value[0])?new Date(e.value[0]):null},Xf=["state","rightNextYear","handleRangePick","handleShortcutClick","handleChangeRange","leftPrevYear"],Zf=({reactive:e,computed:t,api:n,t:a})=>{const r=e({selectionMode:g.YearRange,popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:j(new Date),rangeState:{startDate:null,endDate:null,selecting:!1,row:null,column:null},shortcuts:"",visible:"",disabledDate:"",format:"",arrowControl:!1,unlinkPanels:!1,leftStartYear:Math.floor(new Date().getFullYear()/10)*10,rightStartYear:t(()=>r.leftStartYear+g.PanelYearNum),btnDisabled:t(()=>!(r.minDate&&r.maxDate&&!r.selecting&&n.isValidValue([r.minDate,r.maxDate]))),leftLabel:t(()=>`${r.leftStartYear} ${a("ui.datepicker.year")} - ${r.leftStartYear+g.PanelYearNum-1} ${a("ui.datepicker.year")}`),rightLabel:t(()=>`${r.rightStartYear} ${a("ui.datepicker.year")} - ${r.rightStartYear+g.PanelYearNum-1} ${a("ui.datepicker.year")}`)});return r},xf=(e,{computed:t,reactive:n,watch:a},{t:r,emit:i})=>{const o=e.emitter?e.emitter.emit:i,l={},s=Zf({reactive:n,computed:t,api:l,t:r});return Object.assign(l,{state:s,doPick:Kf(o),resetView:Jf(s),watchValue:jf({state:s}),isValidValue:qf(s),leftPrevYear:Gf(s),rightNextYear:_f(s),handleClear:Uf({emit:o,state:s}),handleChangeRange:Bf(s),handleShortcutClick:Wf(l),watchDefaultValue:Hf({state:s}),handleConfirm:Qf({api:l,emit:o,state:s}),handleRangePick:Lf({api:l,state:s,t:r})}),a(()=>s.value,l.watchValue),a(()=>s.defaultValue,l.watchDefaultValue),l};function em(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=tm(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tm(e,t){if(e){if(typeof e=="string")return ln(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ln(e,t)}}function ln(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var nm=function(t,n){for(var a=t.__vccOpts||t,r=em(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function bt(){return bt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},bt.apply(this,arguments)}var am=E({name:R+"YearRange",directives:re({Clickoutside:ge}),components:{YearTable:fe,IconDoubleRight:Te(),IconDoubleLeft:$e()},props:bt({},_,{emitter:Object}),emits:["dodestroy","pick"],setup:function(t,n){return N({props:t,context:n,renderless:xf,api:Xf,mono:!0})}}),rm={class:"tiny-picker-panel__body-wrapper"},im={key:0,class:"tiny-picker-panel__sidebar"},om=["onClick","title"],lm={class:"tiny-picker-panel__body"},sm={class:"tiny-picker-panel__content tiny-date-range-picker__content is-left"},um={class:"tiny-date-range-picker__header"},dm={class:"tiny-picker-panel__content tiny-date-range-picker__content is-right"},cm={class:"tiny-date-range-picker__header"};function fm(e,t,n,a,r,i){var o=w("icon-double-left"),l=w("year-table"),s=w("icon-double-right");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[2]||(t[2]=function(u){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{class:b(["tiny-picker-panel tiny-date-range-picker tiny-popper",[{"has-sidebar":e.slots.sidebar||e.state.shortcuts},e.state.popperClass]])},[f("div",rm,[H(e.$slots,"sidebar",{class:"tiny-picker-panel__sidebar"}),e.state.shortcuts?(m(),h("div",im,[(m(!0),h(P,null,I(e.state.shortcuts,function(u,d){return m(),h("button",{type:"button",class:"tiny-picker-panel__shortcut",key:d,onClick:function(p){return e.handleShortcutClick(u)},title:u.text},C(u.text),9,om)}),128))])):A("v-if",!0),f("div",lm,[f("div",sm,[f("div",um,[f("button",{type:"button",onClick:t[0]||(t[0]=function(){return e.leftPrevYear&&e.leftPrevYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"},[D(o)]),f("div",null,C(e.state.leftLabel),1)]),D(l,{ref:"leftYearTable","selection-mode":e.state.selectionMode,date:e.state.leftDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,"start-year":e.state.leftStartYear,onChangerange:e.handleChangeRange,onPick:e.handleRangePick},null,8,["selection-mode","date","default-value","min-date","max-date","range-state","disabled-date","start-year","onChangerange","onPick"])]),f("div",dm,[f("div",cm,[f("button",{type:"button",onClick:t[1]||(t[1]=function(){return e.rightNextYear&&e.rightNextYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"},[D(s)]),f("div",null,C(e.state.rightLabel),1)]),D(l,{ref:"rightRearTable","selection-mode":e.state.selectionMode,date:e.state.rightDate,"default-value":e.state.defaultValue,"min-date":e.state.minDate,"max-date":e.state.maxDate,"range-state":e.state.rangeState,"disabled-date":e.state.disabledDate,"start-year":e.state.rightStartYear,onChangerange:e.handleChangeRange,onPick:e.handleRangePick},null,8,["selection-mode","date","default-value","min-date","max-date","range-state","disabled-date","start-year","onChangerange","onPick"])])])])],2),[[z,e.state.visible]])]}),_:3})}var Pe=nm(am,[["render",fm]]),mm="3.16.0";Pe.install=function(e){e.component(Pe.name,Pe)};Pe.version=mm;const pm=["state","handleMinChange","handleConfirm","setMinSelectionRange","handleCancel","setMaxSelectionRange","handleMaxChange"],gm=({reactive:e,computed:t,vm:n,api:a})=>{const r=e({popperClass:"",defaultValue:null,format:"HH:mm:ss",visible:!1,value:[],oldValue:[new Date,new Date],selectionRange:[0,2],arrowControl:!1,maxDate:new Date,minDate:new Date,showSeconds:t(()=>(r.format||"").includes("ss")),offset:t(()=>r.showSeconds?11:8),spinner:t(()=>r.selectionRange[0]<r.offset?n.$refs.minSpinner:n.$refs.maxSpinner),btnDisabled:t(()=>r.minDate.getTime()>r.maxDate.getTime()),amPmMode:t(()=>a.compuAmPmMode())});return r},hm=(e,{computed:t,reactive:n,watch:a,nextTick:r},{t:i,vm:o,emit:l})=>{const s={},u=e.emitter?e.emitter.emit:l,d=ee("00:00:00","HH:mm:ss",i),c=ee("23:59:59","HH:mm:ss",i),p=gm({reactive:n,computed:t,vm:o,api:s});return Object.assign(s,{t:i,state:p,handleClear:_o(u),compuAmPmMode:Xn(p),maxTimeOfDay:Ho({MAX_TIME:c}),minTimeOfDay:Bo({MIN_TIME:d}),changeSelectionRange:tl({vm:o,state:p}),setMaxSelectionRange:xo({emit:u,state:p}),setMinSelectionRange:Zo({emit:u,state:p}),isValidValue:nl({vm:o,state:p}),handleConfirm:el({emit:u,vm:o,state:p}),handleCancel:Qo({emit:u,api:s,state:p}),watchVisible:Go({nextTick:r,api:s,state:p}),advanceTime:Lo(s),watchValue:Wo({api:s,state:p}),handleKeydown:al({api:s,state:p}),handleChange:Xo({api:s,emit:u,vm:o,state:p}),handleMinChange:qo({api:s,state:p}),handleMaxChange:Jo({api:s,state:p}),adjustSpinners:Ko({vm:o})}),a(()=>p.value,s.watchValue),a(()=>p.visible,s.watchVisible),s};function ym(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=bm(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bm(e,t){if(e){if(typeof e=="string")return sn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return sn(e,t)}}function sn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var vm=function(t,n){for(var a=t.__vccOpts||t,r=ym(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},km=E({name:R+"TimeRange",emits:["dodestroy","pick","select-range"],components:{TimeSpinner:be},props:{emitter:Object},setup:function(t,n){return N({props:t,context:n,renderless:hm,api:pm,mono:!0})}}),Dm={class:"tiny-time-range-picker__content"},Cm={class:"tiny-time-range-picker__cell"},wm={class:"tiny-time-range-picker__header"},Tm={class:"tiny-time-range-picker__cell"},$m={class:"tiny-time-range-picker__header"},Am={class:"tiny-time-panel__footer"},Mm=["disabled"];function Sm(e,t,n,a,r,i){var o=w("time-spinner");return m(),F(W,{name:"tiny-zoom-in-top",onAfterLeave:t[2]||(t[2]=function(l){return e.$emit("dodestroy")}),persisted:""},{default:M(function(){return[S(f("div",{class:b(["tiny-time-range-picker tiny-picker-panel tiny-popper",e.state.popperClass])},[f("div",Dm,[f("div",Cm,[f("div",wm,C(e.t("ui.datepicker.startTime")),1),f("div",{class:b([{"has-seconds":e.state.showSeconds,"is-arrow":e.state.arrowControl},"tiny-time-range-picker__body tiny-time-panel__content"])},[D(o,{ref:"minSpinner","show-seconds":e.state.showSeconds,"am-pm-mode":e.state.amPmMode,onChange:e.handleMinChange,"end-date":e.state.maxDate,"arrow-control":e.state.arrowControl,onSelectRange:e.setMinSelectionRange,date:e.state.minDate},null,8,["show-seconds","am-pm-mode","onChange","end-date","arrow-control","onSelectRange","date"])],2)]),f("div",Tm,[f("div",$m,C(e.t("ui.datepicker.endTime")),1),f("div",{class:b([{"has-seconds":e.state.showSeconds,"is-arrow":e.state.arrowControl},"tiny-time-range-picker__body tiny-time-panel__content"])},[D(o,{ref:"maxSpinner","show-seconds":e.state.showSeconds,"am-pm-mode":e.state.amPmMode,onChange:e.handleMaxChange,"start-date":e.state.minDate,"arrow-control":e.state.arrowControl,onSelectRange:e.setMaxSelectionRange,date:e.state.maxDate},null,8,["show-seconds","am-pm-mode","onChange","start-date","arrow-control","onSelectRange","date"])],2)])]),f("div",Am,[f("button",{type:"button",class:"tiny-time-panel__btn cancel",onClick:t[0]||(t[0]=function(l){return e.handleCancel()})},C(e.t("ui.datepicker.cancel")),1),f("button",{type:"button",class:"tiny-time-panel__btn confirm",onClick:t[1]||(t[1]=function(l){return e.handleConfirm()}),disabled:e.state.btnDisabled},C(e.t("ui.datepicker.confirm")),9,Mm)])],2),[[z,e.state.visible]])]}),_:1})}var Fe=vm(km,[["render",Sm]]),Vm="3.16.0";Fe.install=function(e){e.component(Fe.name,Fe)};Fe.version=Vm;const Pm=e=>{let t=e.target;const n=t.tagName;if(n==="A"&&(t=t.parentNode.parentNode),n==="DIV"&&(t=t.parentNode),t.tagName==="TD")return t},Fm=({state:e,emit:t})=>n=>{const a=Pm(n),r=new Date(e.date.getFullYear(),g.QuarterMap[a.cellIndex],1);e.value=r,t("pick",r)},Im=({state:e})=>()=>e.currentView=g.Year,Om=({state:e})=>()=>{e.currentView===g.Year?e.startYear=e.startYear-g.PanelYearNum:e.date=De(e.date)},Em=({state:e})=>()=>{e.currentView===g.Year?e.startYear=e.startYear+g.PanelYearNum:e.date=j(e.date)},zm=({state:e})=>t=>{e.currentView=g.Quarter,e.date=J(e.date,t,e.date.getMonth(),e.date.getDate())},Ym=({state:e,t})=>()=>e.date.getFullYear(),Nm=({api:e,props:t,state:n})=>a=>{const r=n.date.getFullYear(),i=a.text.slice(1)-1,o={};return o.current=n.value&&n.value.getFullYear()===r&&n.value.getMonth()===g.QuarterMap[i],o},Rm=["state","handleQuarterTableClick","showYearPicker","handleYearPick","cusPrevYear","cusNextYear","getCellStyle"],jm=(e,{reactive:t,computed:n},{emit:a,t:r})=>{const i={},o=t({date:new Date,visible:!1,currentView:g.Quarter,yearLabel:n(()=>i.getYearLabel()),startYear:Math.floor(new Date().getFullYear()/10)*10,rows:[{text:"Q1"},{text:"Q2"},{text:"Q3"},{text:"Q4"}]});return Object.assign(i,{state:o,handleQuarterTableClick:Fm({state:o,emit:a}),showYearPicker:Im({state:o}),handleYearPick:zm({state:o}),cusPrevYear:Om({state:o}),cusNextYear:Em({state:o}),getYearLabel:Ym({state:o,t:r}),getCellStyle:Nm({api:i,props:e,state:o})}),i};function Um(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Bm(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bm(e,t){if(e){if(typeof e=="string")return un(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return un(e,t)}}function un(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Hm=function(t,n){for(var a=t.__vccOpts||t,r=Um(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Lm=E({name:R+"QuarterPanel",components:{YearTable:fe,IconDoubleRight:Te(),IconDoubleLeft:$e()},setup:function(t,n){return N({props:t,context:n,renderless:jm,api:Rm,mono:!0})}}),Wm={class:"tiny-quarter-panel tiny-picker-panel tiny-date-picker"},Km={class:"tiny-quarter-panel__header"},Gm={class:"tiny-quarter-panel__content tiny-picker-panel__content"},_m=["textContent"];function Qm(e,t,n,a,r,i){var o=w("icon-double-left"),l=w("icon-double-right"),s=w("year-table");return m(),F(W,{name:"tiny-zoom-in-top",persisted:""},{default:M(function(){return[S(f("div",Wm,[f("div",Km,[f("button",{type:"button",onClick:t[0]||(t[0]=function(){return e.cusPrevYear&&e.cusPrevYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-d-arrow-left"},[D(o)]),f("span",{onClick:t[1]||(t[1]=function(){return e.showYearPicker&&e.showYearPicker.apply(e,arguments)}),role:"button",class:"tiny-date-picker__header-label"},C(e.state.yearLabel),1),f("button",{type:"button",onClick:t[2]||(t[2]=function(){return e.cusNextYear&&e.cusNextYear.apply(e,arguments)}),class:"tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-d-arrow-right"},[D(l)])]),f("div",Gm,[e.state.currentView==="quarter"?(m(),h("table",{key:0,class:"tiny-quarter-panel__table",onClick:t[3]||(t[3]=function(){return e.handleQuarterTableClick&&e.handleQuarterTableClick.apply(e,arguments)})},[f("tbody",null,[f("tr",null,[(m(!0),h(P,null,I(e.state.rows,function(u,d){return m(),h("td",{key:d,class:b(e.getCellStyle(u))},[f("div",null,[f("a",{class:"cell",textContent:C(u.text)},null,8,_m)])],2)}),128))])])])):A("v-if",!0),e.state.currentView==="year"?(m(),F(s,{key:1,ref:"yearTable",value:e.state.value,"default-value":e.state.defaultValue?new Date(e.state.defaultValue):null,date:e.state.date,"disabled-date":e.state.disabledDate,"selection-mode":e.state.selectionMode,"start-year":e.state.startYear,onPick:e.handleYearPick},null,8,["value","default-value","date","disabled-date","selection-mode","start-year","onPick"])):A("v-if",!0)])],512),[[z,e.state.visible]])]}),_:1})}var Ue=Hm(Lm,[["render",Qm]]),qm="3.16.0";Ue.install=function(e){e.component(Ue.name,Ue)};Ue.version=qm;const Jm=()=>e=>{const t=(e||"").split(":");if(t.length>=2){const n=parseInt(t[0],10),a=parseInt(t[1],10);return{hours:n,minutes:a}}return null},Xm=e=>(t,n)=>{const a=e.parseTime(t),r=e.parseTime(n),i=a.minutes+a.hours*60,o=r.minutes+r.hours*60;return i===o?0:i>o?1:-1},Zm=()=>e=>(e.hours<10?"0"+e.hours:e.hours)+":"+(e.minutes<10?"0"+e.minutes:e.minutes),xm=e=>(t,n)=>{const a=e.parseTime(t),r=e.parseTime(n),i={hours:a.hours,minutes:a.minutes};return i.minutes+=r.minutes,i.hours+=r.hours,i.hours+=Math.floor(i.minutes/60),i.minutes=i.minutes%60,e.formatTime(i)},ep=e=>()=>e("dodestroy"),tp=({emit:e,state:t})=>({value:n=null,visible:a=!1}={})=>{const r=JSON.stringify({value:n,visible:a});(!t.lastEmitValue||t.lastEmitValue!==r)&&(t.lastEmitValue=r,e("pick",n,a))},np=({api:e,nextTick:t})=>n=>{n&&t(()=>e.scrollToOption())},ap=({api:e,state:t})=>()=>{const n=t.start,a=t.end,r=t.step,i=[];if(n&&a&&r){let o=n;for(;e.compareTime(o,a)<=0;)i.push({value:o,disabled:e.compareTime(o,t.minTime||g.CompareOne)<=0||e.compareTime(o,t.maxTime||g.CompareHundred)>=0}),o=e.nextTime(o,r)}return i},rp=e=>t=>!t.disabled&&e.emitPick({value:t.value}),ip=({api:e,state:t})=>()=>{t.defaultValue="",t.defaultTime="",e.emitPick()},op=({vm:e})=>(t=g.selClass)=>{const n=e.$refs.popper.querySelector(g.queryClass);Fa(n,n.querySelector(t))},lp=({api:e,nextTick:t,state:n})=>()=>{const a=n.items.map(o=>o.value).includes(n.value),r=n.items.map(o=>o.value).includes(n.default),i=a&&g.selClass||r&&g.defaultClass||g.disableClass;t(()=>e.scrollToOption(i))},sp=({api:e,state:t})=>n=>{const a=t.items,r=a.length;let i=a.length,o=a.map(l=>l.value).indexOf(t.value);for(;i--;)if(o=(o+n+r)%r,!a[o].disabled){e.emitPick({value:a[o].value,visible:!0});return}},up=e=>t=>e.items.filter(n=>!n.disabled).map(n=>n.value).includes(t),dp=({api:e})=>t=>{const n=t.keyCode;if(n===38||n===40){const r=g.MappingKeyCode[n.toString()];e.scrollDown(r),t.stopPropagation()}},ua=["state","handleMenuEnter","handleClick","handleClear","emitDestroy"],cp=({reactive:e,computed:t,api:n})=>{const{Start:a,End:r,Step:i}=g,o=e({popperClass:"",start:a,end:r,step:i,realValue:"",defaultValue:"",defaultTime:"",visible:!1,minTime:"",maxTime:"",width:0,lastEmitValue:"",items:t(()=>n.computItems()),default:t(()=>o.defaultValue||o.defaultTime||""),value:t({get:()=>o.realValue||o.default,set:l=>{const s=o.items.some(u=>u.value===l);o.realValue=s?l:""}})});return o},da=(e,{computed:t,reactive:n,watch:a,nextTick:r},{vm:i,emit:o})=>{const l={},s=e.emitter?e.emitter.emit:o,u=cp({reactive:n,computed:t,api:l});return Object.assign(l,{state:u,parseTime:Jm(),formatTime:Zm(),isValidValue:up(u),scrollToOption:op({vm:i}),emitPick:tp({emit:s,state:u}),emitDestroy:ep(s),nextTime:xm(l),compareTime:Xm(l),handleClick:rp(l),scrollDown:sp({api:l,state:u}),handleClear:ip({api:l,state:u}),watchValue:np({api:l,nextTick:r}),handleKeydown:dp({api:l}),computItems:ap({api:l,state:u}),handleMenuEnter:lp({api:l,nextTick:r,state:u})}),a(()=>u.value,l.watchValue),a(()=>u.visible,()=>setTimeout(()=>u.fnUpdatePopper&&u.fnUpdatePopper())),l};function fp(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=mp(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mp(e,t){if(e){if(typeof e=="string")return dn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dn(e,t)}}function dn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var pp=function(t,n){for(var a=t.__vccOpts||t,r=fp(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},gp=E({emits:["dodestroy","pick"],components:{TinyScrollbar:et},props:[].concat(G,["emitter"]),setup:function(t,n){return N({props:t,context:n,renderless:da,api:ua})}}),hp=["disabled","onClick"];function yp(e,t,n,a,r,i){var o=w("tiny-scrollbar");return m(),F(W,{name:"tiny-zoom-in-top",onBeforeEnter:e.handleMenuEnter,onAfterLeave:e.emitDestroy,persisted:""},{default:M(function(){return[S(f("div",{ref:"popper",style:q({width:e.state.width+"px"}),class:b([e.state.popperClass,"tiny-picker-panel tiny-time-select tiny-popper"])},[D(o,{noresize:"","wrap-class":"tiny-picker-panel__content"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.items,function(l){return m(),h("div",{class:b(["tiny-time-select__item",{selected:e.state.value===l.value,disabled:l.disabled,default:l.value===e.state.default}]),disabled:l.disabled,key:l.value,onClick:function(u){return e.handleClick(l)}},C(l.value),11,hp)}),128))]}),_:1})],6),[[z,e.state.visible]])]}),_:1},8,["onBeforeEnter","onAfterLeave"])}var cn=pp(gp,[["render",yp]]);function bp(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=vp(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vp(e,t){if(e){if(typeof e=="string")return fn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fn(e,t)}}function fn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var kp=function(t,n){for(var a=t.__vccOpts||t,r=bp(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Dp=E({emits:["dodestroy","pick"],components:{TinyScrollbar:et},props:[].concat(G,["emitter"]),setup:function(t,n){return N({props:t,context:n,renderless:da,api:ua})}}),Cp=["disabled","onClick"];function wp(e,t,n,a,r,i){var o=w("tiny-scrollbar");return m(),F(W,{name:"tiny-zoom-in-top",onBeforeEnter:e.handleMenuEnter,onAfterLeave:e.emitDestroy,persisted:""},{default:M(function(){return[S(f("div",{ref:"popper",style:q({width:e.state.width+"px"}),class:b(e.state.popperClass),"data-tag":"tiny-picker-panel tiny-time-select tiny-popper"},[D(o,{noresize:"","wrap-class":"tiny-picker-panel__content"},{default:M(function(){return[(m(!0),h(P,null,I(e.state.items,function(l){return m(),h("div",{"data-tag":"tiny-time-select__item",class:b({selected:e.state.value===l.value,disabled:l.disabled,default:l.value===e.state.default}),disabled:l.disabled,key:l.value,onClick:function(u){return e.handleClick(l)}},C(l.value),11,Cp)}),128))]}),_:1})],6),[[z,e.state.visible]])]}),_:1},8,["onBeforeEnter","onAfterLeave"])}var Tp=kp(Dp,[["render",wp]]);function vt(){return vt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},vt.apply(this,arguments)}var $p=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?cn:(a||t)==="mobile-first"?Tp:cn},Ie=E({name:R+"TimePanel",componentName:"TimePanel",props:vt({},_,{emitter:Object}),setup:function(t,n){return ie({props:t,context:n,template:$p})}}),Ap="3.16.0";Ie.install=function(e){e.component(Ie.name,Ie)};Ie.version=Ap;const ot=e=>("0"+e).slice(-2),Mp=(e,t)=>new Date(e,t,0).getDate(),Sp=(e,t)=>{const n=new Date(e),a=new Date(t);return n.getFullYear()===a.getFullYear()&&n.getMonth()===a.getMonth()&&n.getDate()===a.getDate()},Re=(e,t,n="01",a="/")=>[e,t,n].join(a),Vp=({api:e,props:t})=>n=>{const a=new Date,r=new Date(n),i=r.getFullYear(),o=r.getMonth()+1,l=r.getDate(),s=Re(i,o),d=new Date(i,o-1,1).getDay()+l-1,{disabledDate:c}=t.pickerOptions||{};return{value:e.formatDate(r),yearMonth:s,index:d,day:l,year:i,month:o,isStartDay:!1,isEndDay:!1,disabled:typeof c=="function"&&!!c(r),isToday:Sp(a,r)}},Pp=({props:e,constants:t})=>(n,a)=>{const{YEAR_MONTH_RANGE:r,YEAR_MONTH:i}=t.TYPE,o=[r,i].includes(e.type)?"yyyy/MM/01":"yyyy/MM/dd";return Pa(n,a===void 0?o:a)},Fp=(e,t="top")=>{const n=e.split("/").map(i=>+i),a=n[0],r=t=="top"?n[1]-1:n[1];return new Date(a,r,1)},Ip=({state:e,api:t})=>n=>{const a=Object.keys(e.dateList),r=n==="top"?a[0]:a[a.length-1],i=Fp(r,n);t.initPanel({dateValue:i,direction:n}),setTimeout(()=>{e.loading=!1},100)},Op=({state:e,api:t})=>({dateValue:n,direction:a,isInit:r})=>{const i=n||(Array.isArray(e.date)?e.date[0]:e.date)||new Date;let o=i.getMonth()+1,l=a==="top"?i.getFullYear()-e.yearNum:i.getFullYear();r&&(l-=Math.floor(e.yearNum/2));let s=new Date(l,o-1,1);const u={};Array.from({length:12*e.yearNum}).map(()=>{const d=s.getDay();u[Re(l,o)]=Array.from({length:d}).map(()=>({}));const c=Mp(l,o);Array.from({length:c}).map((p,v)=>{const k=v+1,y=t.getCurrentDate(new Date(l,o-1,k));u[Re(l,o)].push(y)}),o++,o>12&&(l++,o=1),s=new Date(l,o-1,1)}),e.dateList=a==="top"?Object.assign({},u,e.dateList):Object.assign({},e.dateList,u)},Ep=({state:e})=>t=>{const n=e.dateList[t].length;return Math.ceil(n/7)},zp=({state:e,api:t})=>(n,a)=>{const r=e.dateList[n].length,i=t.getWeeksByMonth(n);return a===i?r%7:7},Yp=({state:e})=>({date:t,yearMonth:n,index:a})=>{let r;if(t){const i=new Date(t),o=Re(i.getFullYear(),i.getMonth+1);r=e.dateList[o].filter(l=>l.day===i.getDate()).shift()}else r=e.dateList[n][a];return r||{}},Np=({state:e,api:t})=>n=>{const{selected:a}=e,r=a.length;if(!r)return"";const i=a.indexOf(t.formatDate(n));return i===0?"start":i===r-1?"end":i>-1?"inner":""},Rp=({emit:e,api:t,state:n})=>a=>{if(a){t.watchModelValue();const r=(Array.isArray(n.date)?n.date[0]:n.date)||new Date;setTimeout(()=>t.scrollToCurrentDate({date:r}),300)}e("update:visible",a)},jp=({state:e,vm:t,nextTick:n})=>({date:a,value:r})=>{const{isYearMonthPanel:i,computedYears:o,months:l}=e;let s,u,d,c,p=-1;a&&(d=a.getFullYear(),c=a.getMonth()+1),i?(s="year",r=r||`${d}`,u=o):(s="yearMonth",r=r||Re(d,c),u=l),u.some((v,k)=>v[s]===r?(p=k,!0):!1),n(()=>{p!==-1&&t.$refs.recycleScroller.scrollToItem(p)})},Up=({props:e,state:t,constants:n})=>()=>{const{DATE:a,DATE_TIME:r,DATE_RANGE:i,DATE_TIME_RANGE:o,YEAR_MONTH_RANGE:l,YEAR_MONTH:s}=n.TYPE,{modelValue:u,type:d}=e;if([i,o,l].includes(d)&&(t.date=u&&u.length?u.map(c=>new Date(c)):[]),[a,r,s].includes(d)&&(t.date=u?new Date(u):""),[o,r].includes(d)){const c=d===r?1:2;Array.from({length:c}).forEach((p,v)=>{const k=d===r?t.date:t.date[v];k&&(t.timeList[v]=[ot(k.getHours()),ot(k.getMinutes()),ot(k.getSeconds())])})}},Bp=({emit:e,state:t,props:n,constants:a})=>({value:r,index:i})=>{const{DATE_RANGE:o,DATE_TIME_RANGE:l,YEAR_MONTH_RANGE:s,YEAR_MONTH:u}=a.TYPE,{type:d}=n,{dateList:c,years:p}=t,v=[s,u].includes(d)?p[r][i]:c[r][i];!v||v.disabled||([o,l,s].includes(d)?(t.date.length>1&&(t.date=[]),t.date.push(new Date(v.value)),t.date.length===2&&t.date.sort((k,y)=>k.getTime()-y.getTime())):(t.date=new Date(v.value),e("click",v)))},Hp=({emit:e,state:t,props:n,api:a,constants:r})=>()=>{const{DATE_TIME:i,DATE_RANGE:o,DATE_TIME_RANGE:l,YEAR_MONTH_RANGE:s}=r.TYPE,{date:u,timeList:d}=t,{type:c}=n;if([i,o,l,s].includes(c)){const p=c===i?1:2;Array.from({length:p}).forEach((v,k)=>{let y=c===i?u:u[k];if(y){const T=a.getCurrentDate(y),$=d[k];y=new Date(T.year,T.month-1,T.day,$[0],$[1],$[2]),c===i?t.date=y:t.date[k]=y}})}e("confirm",t.date),e("update:visible",!1),e("update:modelValue",t.date)},Lp=({emit:e,state:t})=>n=>{t.timeVisible=!1,t.timeList[t.showTimeIndex]=n,e("time-confirm",n)},Wp=({state:e})=>t=>{e.showTimeIndex=t,e.time=e.timeList[t],e.timeVisible=!0},Kp=({state:e,props:t,constants:n,api:a})=>()=>{const{type:r}=t,{DATE_RANGE:i,DATE_TIME_RANGE:o,YEAR_MONTH_RANGE:l}=n.TYPE;if([i,o,l].includes(r)){if(e.date&&e.date.length){if(e.date.length===1)return[a.formatDate(e.date[0])];const s=[];let u=e.date[0].getTime(),d=e.date[1].getTime();for(;u<=d;){const c=new Date(u);s.push(a.formatDate(c)),r===l?u=a.getOffsetMonth(c,1).getTime():u+=3600*24*1e3}return s}return[]}return e.date?[a.formatDate(e.date)]:[]},Gp=({state:e,api:t,props:n})=>()=>{if(e.loading||!n.visible||!e.ready)return;e.loading=!0;const a=e.isYearMonthPanel?e.computedYears[1].year:e.months[1].yearMonth;e.isYearMonthPanel?t.loadYearMonth("top"):t.loadingDate("top"),t.scrollToCurrentDate({value:a})},_p=({state:e,api:t})=>()=>{e.loading||(e.loading=!0,e.isYearMonthPanel?t.loadYearMonth("down"):t.loadingDate("down"))},Qp=({state:e,emit:t,api:n})=>()=>{e.date=Array.isArray(e.date)?[]:"",t("update:modelValue",e.date),t("clear",e.date),n.close()},qp=({emit:e,vm:t})=>()=>{t.$refs.actionSheet.close(),e("close")},Jp=({state:e,props:t})=>({dateValue:n,direction:a,isInit:r})=>{const i=[],o=n||(Array.isArray(e.date)?e.date[0]:e.date)||new Date;let l=a==="top"?o.getFullYear()-e.yearNum:o.getFullYear();const s=new Date,u=s.getFullYear(),d=s.getMonth()+1,{disabledDate:c}=t.pickerOptions||{};r&&(l-=Math.floor(e.yearNum/2)),Array.from({length:e.yearNum}).map((p,v)=>{const k=l+v+1;i[k]=Array.from({length:12}).map((y,T)=>{const $=T+1;return{value:Re(k,$),year:k,month:$,disabled:typeof c=="function"&&!!c(new Date(k,$-1,1)),isToday:u===k&&d===$}})}),e.years=a==="top"?Object.assign({},i,e.years):Object.assign({},e.years,i)},Xp=({state:e,api:t})=>n=>{const a=Object.keys(e.years);let r;n==="top"?r=new Date(a[0],0,1):r=new Date(a[a.length-1],0,1),t.initYearMonthPanel({dateValue:r,direction:n}),setTimeout(()=>{e.loading=!1},100)},Zp=()=>(e,t)=>{const n=new Date(e);let a=n.getFullYear(),r=n.getMonth(),i=n.getDate();return new Date(a,r+t,i)},ca=["state","getDate","getWeeksByMonth","getDaysByWeek","getSelectedPosition","selectOption","confirm","timeToggle","timeConfirm","scrollStart","scrollEnd","loadingDate","clear","close","formatDate"],fa=(e,{computed:t,reactive:n,watch:a,onMounted:r},{emit:i,vm:o,nextTick:l,constants:s})=>{const{DATE_RANGE:u,DATE_TIME_RANGE:d,YEAR_MONTH_RANGE:c,YEAR_MONTH:p}=s.TYPE,v={},k=n({scrollerHeight:window.innerHeight||1e3,toggle:!1,date:null,loading:!1,ready:!1,dateList:{},timeVisible:!1,showTimeIndex:0,time:["00","00","00"],timeList:[["00","00","00"],["00","00","00"]],years:[],isYearMonthPanel:t(()=>[c,p].includes(e.type)),yearNum:t(()=>[p,c].includes(e.type)?40:10),itemSize:t(()=>[p,c].includes(e.type)?150:300),buffer:200,selected:t(()=>v.selectedComputed()),months:t(()=>Object.keys(k.dateList).map(y=>({id:y,yearMonth:y}))),btnDisabled:t(()=>[u,d,c].includes(e.type)&&k.date&&k.date.length===1),computedYears:t(()=>Object.keys(k.years).map(y=>({id:y,year:y})))});return Object.assign(v,{state:k,initPanel:Op({state:k,api:v}),initYearMonthPanel:Jp({state:k,props:e}),getCurrentDate:Vp({api:v,props:e}),getWeeksByMonth:Ep({state:k}),getDate:Yp({state:k}),getDaysByWeek:zp({state:k,api:v}),getSelectedPosition:Np({state:k,api:v}),confirm:Hp({state:k,emit:i,props:e,api:v,constants:s}),timeConfirm:Lp({state:k,emit:i}),scrollStart:Gp({state:k,api:v,props:e,constants:s}),scrollEnd:_p({state:k,api:v,props:e,constants:s}),selectOption:Bp({state:k,emit:i,props:e,constants:s}),timeToggle:Wp({state:k}),watchVisible:Rp({emit:i,api:v,state:k}),scrollToCurrentDate:jp({state:k,vm:o,nextTick:l}),watchModelValue:Up({props:e,state:k,constants:s}),selectedComputed:Kp({props:e,state:k,constants:s,api:v}),loadingDate:Ip({state:k,api:v}),loadYearMonth:Xp({state:k,api:v}),getOffsetMonth:Zp(),formatDate:Pp({props:e,constants:s}),clear:Qp({state:k,emit:i,api:v}),close:qp({emit:i,vm:o})}),a(()=>e.visible,v.watchVisible),a(()=>e.modelValue,v.watchModelValue,{immediate:!0}),r(()=>{k.isYearMonthPanel?v.initYearMonthPanel({isInit:!0}):v.initPanel({isInit:!0}),e.visible&&v.scrollToCurrentDate({date:(Array.isArray(k.date)?k.date[0]:k.date)||new Date}),l(()=>{k.ready=!0})}),v},ma=e=>{const t=("0"+e).slice(-2);return{id:+t,label:t}},xp=({props:e,state:t})=>()=>{const{modelValue:n,showSeconds:a}=e,r=a?3:2;!a&&n.length===3&&(t.seconds=n[2]),t.dateArr=n&&t.dateArr.toString()!=="NaN,NaN,NaN"?n.slice(0,r):[]},eg=({api:e,state:t})=>n=>{t.visible=n,n&&e.watchModelValue()},tg=({state:e,emit:t})=>n=>{e.visible=n,t("update:visible",n)},ng=({emit:e,state:t})=>n=>{const a=n.map(r=>("0"+r).slice(-2));t.dateArr=a,e("update:modelValue",t.value),e("confirm",t.value)},ag=({state:e,emit:t,api:n,vm:a,dispatch:r})=>i=>{e.dateArr=[],a.$refs.cascaderSelect.clear(e.dateArr),t("update:modelValue",e.dateArr),t("clear",e.dateArr),r("Picker","handle-clear",i),n.updateVisible(!1)},rg=({state:e,props:t})=>(n,a)=>{const i=(t.step||{})[n]||1;return Array.from({length:a}).map((o,l)=>l).filter(o=>o%i===0).map(o=>ma(o))},ig=({state:e,api:t,props:n})=>()=>{const{showSeconds:a}=n,r=[];return r.push(t.getTimePeriod("hour",24)),r.push(t.getTimePeriod("minute",60)),a&&r.push(t.getTimePeriod("second",60)),r},og=["state","confirm","updateVisible","clear"],lg=(e,{reactive:t,watch:n,computed:a},{emit:r,vm:i,dispatch:o})=>{const l={},s=t({visible:!1,dateArr:[],seconds:null,options:a(()=>l.computedOptions()),value:a(()=>!e.showSeconds&&s.seconds!==null?[...s.dateArr,s.seconds]:s.dateArr)});return Object.assign(l,{state:s,watchModelValue:xp({props:e,state:s}),watchVisible:eg({api:l,state:s}),confirm:ng({emit:r,state:s}),clear:ag({state:s,emit:r,api:l,vm:i,dispatch:o}),updateVisible:tg({emit:r,state:s}),getTimePeriod:rg({state:s,props:e}),computedOptions:ig({state:s,api:l,props:e}),optionMethod:ma}),n(()=>e.visible,l.watchVisible),n(()=>e.modelValue,l.watchModelValue,{immediate:!0}),l},sg=({emit:e,api:t,props:n})=>a=>{e("update:visible",a),a&&t.setValue(n.modelValue)},ug=e=>()=>e.actionSheetVisible&&(e.actionSheetVisible=!1),dg=({api:e,emit:t,defaultValues:n,selectedOptions:a,isDisabled:r,vm:i})=>()=>{if(r.value)return;let o=i.$refs.swipeRef,l=!1;Array.isArray(i.$refs.swipeRef)||(o=[o]),n.value=o.map(s=>(s.state.moving&&(l=!0),s.state.currentValue)),!l&&(t("confirm",{selectedValue:n.value.slice(),selectedOptions:a.value.slice()}),t("update:modelValue",n.value.slice()),e.close())},cg=({api:e,emit:t})=>n=>{t("update:modelValue",n),e.close()},fg=({props:e,computed:t})=>t(()=>({height:`${+e.visibleOptionNum*+e.optionHeight}px`,"--lineHeight":`${+e.optionHeight}px`})),mg={text:"label",value:"id",children:"children"},pg=({props:e,state:t,api:n})=>()=>{if(!n.validProps())return;const{options:a,valueField:r,textField:i,type:o}=e;if(o==="cascade")return a;const l=n.parseType(t.defaultValues.slice()),s=Array.from({length:l.length}),u=Array.from({length:l.length}),d=Array.from({length:l.length});return a.map((p,v)=>{let k,y;if(Array.isArray(p)){if(p.length===0)return[];let T=p.findIndex($=>$[r]===l[v]);T=T===-1?0:T,s[v]="a",u[v]=[0,p.length-1],d[v]=T,k=n.sliceValue(0,p.length-1),y=$=>p[$]}else if(p&&typeof p=="object"){let T;Array.isArray(p.range)?T=p.range.slice(0,2):typeof p.rangeMethod=="function"&&(T=p.rangeMethod(...l),t.isOldCascadeType=!0),s[v]="o",u[v]=n.parseType(T),k=n.sliceValue(u[v][0],u[v][1]),y=$=>p.optionMethod($,...l)}return!k||!y?[]:k.map(T=>T===null?{[r]:null,[i]:""}:y(T))})},gg=({state:e,columnFieldNames:t,columnsType:n,api:a})=>(r,i)=>{const o=t.value;if(i&&Object.keys(i).length){if(e.defaultValues=e.defaultValues?e.defaultValues:[],n.value==="cascade"){e.defaultValues[r]=i[o.value]||"";let l=r,s=i;for(;s&&s[o.children]&&s[o.children][0];)e.defaultValues[l+1]=s[o.children][0][o.value],l++,s=s[o.children][0];s&&s[o.children]&&s[o.children].length===0&&(e.defaultValues=e.defaultValues.slice(0,l+1))}else e.defaultValues[r]=Object.prototype.hasOwnProperty.call(i,o.value)?i[o.value]:"";a.change(r)}},hg=({columnFieldNames:e})=>(t,n)=>{const a=[],r=e.value;let i={text:"",value:"",[r.children]:t},o=0;for(;i&&i[r.children];){const l=i[r.children],s=n[o];let u=l.findIndex(d=>d[r.value]===s);u===-1&&(u=0),i=i[r.children][u],o++,a.push(l)}return a.slice()},yg=({props:e,computed:t})=>t(()=>ye(ue({},mg),{text:e.textField,value:e.valueField,children:e.childrenField})),bg=({state:e,computed:t,columnFieldNames:n,columnsList:a})=>t(()=>{const r=n.value;return a.value.map((i,o)=>{const l=i.findIndex(s=>s[r.value]===e.defaultValues[o]);return l===-1?0:l})}),vg=({props:e,state:t,columnsList:n})=>()=>{if(typeof e.disabled!="function")return!1;t.isDisabled=n.value.some((a,r)=>e.disabled(t.defaultValues[r],...t.defaultValues))},kg=({api:e,state:t,columnFieldNames:n,columnsList:a})=>()=>{if(e.isSameValue(t.oldValues,t.defaultValues))return;t.oldValues=t.defaultValues.slice(),t.isOldCascadeType&&(t.formattedColumns=e.createSourceData()),e.getColumnsList(),e.confirmDisabled();const r=n.value;t.selectedOptions=a.value.map((i,o)=>i.find(l=>l[r.value]===t.defaultValues[o])||i[0])},Dg=({state:e,computed:t,columnFieldNames:n})=>t(()=>{const a=e.formattedColumns[0],r=n.value;if(a){if(Array.isArray(a))return"multiple";if(r.children in a)return"cascade"}return"single"}),Cg=({state:e,api:t,columnsType:n,columnsList:a})=>()=>{let r=[];switch(n.value){case"multiple":r=e.formattedColumns;break;case"cascade":r=t.formatCascade(e.formattedColumns,e.defaultValues?e.defaultValues:[]);break;default:r=[e.formattedColumns];break}a.value=r},wg=({api:e,state:t})=>n=>{e.isSameValue(n,t.defaultValues)||(t.defaultValues=(n||[]).slice(),e.change())},Tg=(e,t)=>JSON.stringify(e)===JSON.stringify(t),$g=(e,t)=>{const n=[e];return Array.from({length:t-e}).map((a,r)=>n.push(e+r+1)),n},mn=e=>Array.isArray(e)&&e.length,Ag=({props:e})=>()=>{const{modelValue:t,options:n}=e;return mn(t)&&mn(n)&&t.length===n.length},Mg=({props:e})=>t=>{const{valueType:n}=e;return t.map(n==="number"?Number:n==="string"?String:a=>a)},Sg=({api:e,state:t})=>()=>{t.isInit=!0,t.formattedColumns=e.createSourceData(),e.getColumnsList()},Vg=e=>{const{ref:t,reactive:n,watch:a,computed:r,toRefs:i,props:o}=e,l=n({formattedColumns:[],defaultValues:[],selectedOptions:[],oldValues:[],isOldCascadeType:!1,isDisabled:!1,isInit:!1}),s={},u=t([]),d=t([]),c=yg({props:o,computed:r}),p=Dg({state:l,computed:r,columnFieldNames:c});return Object.assign(s,{change:kg({api:s,state:l,columnFieldNames:c,columnsList:u}),changeHandler:gg({state:l,columnFieldNames:c,columnsType:p,api:s}),formatCascade:hg({columnFieldNames:c}),setValue:wg({api:s,state:l}),validProps:Ag({props:o}),parseType:Mg({props:o}),init:Sg({api:s,state:l}),isSameValue:Tg,sliceValue:$g,getColumnsList:Cg({state:l,api:s,columnsType:p,columnsList:u}),confirmDisabled:vg({props:o,state:l,columnsList:u}),defaultIndexes:bg({state:l,computed:r,columnFieldNames:c,columnsList:u}),createSourceData:pg({props:o,state:l,api:s})}),Pg({props:o,api:s,state:l,watch:a}),ye(ue({},i(l)),{columnsType:p,columnsList:u,columnFieldNames:c,changeHandler:s.changeHandler,defaultIndexes:s.defaultIndexes,pickerColumn:d,isSameValue:s.isSameValue,setValue:s.setValue})},Pg=({props:e,api:t,state:n,watch:a})=>{a(()=>e.modelValue,r=>{t.setValue(r)},{deep:!0,immediate:!0}),a(()=>e.options,()=>e.visible&&t.init(),{deep:!0,immediate:!0}),a(()=>e.visible,()=>e.visible&&!n.isInit&&t.init(),{deep:!0,immediate:!0})},Fg=["state","close","confirm","clear","columnsType","columnsList","columnFieldNames","changeHandler","defaultValues","isDisabled","selectedOptions","columnStyle"],Ig=(e,{reactive:t,computed:n,watch:a,ref:r,toRefs:i},{emit:o,vm:l})=>{const s=t({actionSheetVisible:!1,visibleOptionNum:5}),{changeHandler:u,defaultValues:d,columnsList:c,columnsType:p,columnFieldNames:v,selectedOptions:k,setValue:y,isDisabled:T}=Vg({ref:r,reactive:t,watch:a,computed:n,toRefs:i,props:e,emit:o}),$={state:s};return Object.assign($,{close:ug(s),clear:cg({api:$,emit:o}),confirm:dg({api:$,emit:o,props:e,state:s,defaultValues:d,selectedOptions:k,isDisabled:T,vm:l}),watchActionSheetVisible:sg({emit:o,api:$,props:e}),columnsType:p,columnsList:c,columnFieldNames:v,changeHandler:u,defaultValues:d,selectedOptions:k,setValue:y,isDisabled:T,columnStyle:fg({props:e,computed:n})}),a(()=>e.visible,V=>s.actionSheetVisible=V),a(()=>s.actionSheetVisible,V=>$.watchActionSheetVisible(V)),$},Og=200,Eg=300,zg=15,pa=(e,t)=>{(typeof e.cancelable!="boolean"||e.cancelable)&&e.preventDefault(),t&&e.stopPropagation()},Yg=(e,t,n)=>Math.min(Math.max(e,t),n),Ng=e=>isNaN(Number(e))?String(e):`${e}px`,Rg=({state:e,api:t})=>()=>{e.moving=!1,e.touchTime=0,t.setChooseValue()},jg=({state:e})=>t=>`transform: rotate3d(1, 0, 0, ${-e.rotation*t}deg) translate3d(0px, 0px, 104px)`,Ug=({state:e,props:t,touch:n,vm:a})=>r=>{if(n.start(r),e.moving){const i=a.$refs.roller,{transform:o}=window.getComputedStyle(i);if(t.threeDimensional){const l=Math.floor(parseInt(e.touchDeg)/360),s=+o.split(", ")[5],u=+o.split(", ")[6]<0?180:0,d=l*360+Math.acos(s)/Math.PI*180+u;e.scrollDistance=-Math.abs((d/e.rotation-1)*+t.optionHeight)}else e.scrollDistance=+o.slice(7,o.length-1).split(", ")[5]}pa(r,!0),e.touchParams.startY=n.deltaY.value,e.touchParams.startTime=Date.now(),e.transformY=e.scrollDistance},Bg=({state:e,api:t,touch:n})=>a=>{n.move(a),n.isVertical()&&(e.moving=!0,pa(a,!0)),e.touchParams.lastY=n.deltaY.value;let r=e.touchParams.lastY-e.touchParams.startY;t.setMove(r)},Hg=({state:e,props:t,api:n,touch:a})=>()=>{e.touchParams.lastY=a.deltaY.value,e.touchParams.lastTime=Date.now();let r=e.touchParams.lastY-e.touchParams.startY,i=e.touchParams.lastTime-e.touchParams.startTime;if(i<=Eg&&Math.abs(r)>zg){const o=n.momentum(r,i);n.setMove(o,"end",+t.swipeDuration);return}else n.setMove(r,"end");setTimeout(()=>{a.reset(),e.moving=!1},0)},Lg=(e,t)=>(e=Math.abs(e/t)/.003*(e<0?-1:1),e),Wg=({state:e})=>t=>t>=e.currIndex+8||t<=e.currIndex-8,Kg=({state:e})=>(t,n,a=0,r=Og)=>{t==="end"?e.touchTime=r:e.touchTime=0,e.touchDeg=n,e.scrollDistance=a},Gg=({state:e,props:t,api:n})=>(a,r,i)=>{const{optionHeight:o}=t;let l=a+e.transformY;if(r==="end"){l>0&&(l=0),l<-(t.column.length-1)*+o&&(l=-(t.column.length-1)*+o);let s=Math.round(l/+o)*+o,u=`${(Math.abs(Math.round(s/+o))+1)*e.rotation}deg`;n.setTransform(r,u,s,i),e.currIndex=Math.abs(Math.round(s/+o))+1}else{let s=0,u=(-l/+o+1)*e.rotation;const d=(t.column.length+1)*e.rotation,c=0;s=Yg(u,c,d),c<s&&s<d&&(n.setTransform(null,s+"deg",l,void 0),e.currIndex=Math.abs(Math.round(l/+o))+1)}},_g=({props:e,state:t,emit:n})=>()=>{n("change",e.column[t.currIndex-1])},Qg=({state:e,props:t,api:n})=>a=>{const{column:r}=t;let i=r.findIndex(l=>l[t.fieldNames.value]===t.value);e.currIndex=i===-1?1:i+1;let o=i===-1?0:i*+t.optionHeight;a&&n.setChooseValue(),n.setMove(-o)},qg=({state:e})=>(t,n,a)=>{const r=e.currIndex-1;return t===n[r+a]||t===n[r-a]},pn=10,Jg=(e,t)=>e>t&&e>pn?"horizontal":t>e&&t>pn?"vertical":"";function Xg({ref:e}){const t=e(0),n=e(0),a=e(0),r=e(0),i=e(0),o=e(0),l=e(0),s=e(0),u=e(""),d=()=>u.value==="vertical",c=()=>u.value==="horizontal",p=y=>{const T=y.touches[0];i.value=T.clientX-t.value,o.value=T.clientY-n.value,r.value=T.clientY,a.value=T.clientX,s.value=Math.abs(o.value),l.value=Math.abs(i.value),u.value||(u.value=Jg(l.value,s.value))},v=()=>{i.value=0,l.value=0,s.value=0,o.value=0,u.value=""};return{start:y=>{v(),n.value=y.touches[0].clientY,t.value=y.touches[0].clientX},move:p,reset:v,startY:n,startX:t,moveY:r,moveX:a,deltaY:o,deltaX:i,offsetY:s,offsetX:l,isVertical:d,direction:u,isHorizontal:c}}const Zg=["state","touch","OptionStyle","setRollerStyle","isHidden","onTouchStart","onTouchMove","onTouchEnd","setMove","stopMomentum","pxCheck"],xg=(e,{reactive:t,computed:n,watch:a,ref:r,onMounted:i},{emit:o,vm:l})=>{const s=Xg({ref:r}),u=t({touchParams:{startY:0,endY:0,startTime:0,endTime:0,lastY:0,lastTime:0},currIndex:1,transformY:0,scrollDistance:0,rotation:20,moving:!1,touchDeg:0,touchTime:0,currentValue:n(()=>e.column[u.currIndex-1][e.fieldNames.value]),touchTileStyle:n(()=>{const{optionHeight:c}=e;return{transition:`transform ${u.touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,transform:`translate3d(0, ${u.scrollDistance}px, 0)`,top:`calc(50% - ${+c/2}px)`,height:`${c}px`}}),touchRollerStyle:n(()=>({transition:`transform ${u.touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,transform:`rotate3d(1, 0, 0, ${u.touchDeg})`,top:`calc(50% - ${+e.optionHeight/2}px)`})),maskStyles:n(()=>({backgroundSize:`100% ${(+e.visibleOptionNum-1)*+e.optionHeight/2}px`}))}),d={};return Object.assign(d,{state:u,touch:s,OptionStyle:qg({state:u}),setRollerStyle:jg({state:u}),isHidden:Wg({state:u}),onTouchStart:Ug({state:u,props:e,touch:s,vm:l}),onTouchMove:Bg({state:u,api:d,touch:s}),onTouchEnd:Hg({state:u,props:e,api:d,touch:s}),setMove:Gg({state:u,props:e,api:d}),stopMomentum:Rg({state:u,api:d}),setTransform:Kg({state:u}),setChooseValue:_g({props:e,state:u,emit:o}),modifyStatus:Qg({state:u,props:e,api:d}),pxCheck:Ng,momentum:Lg}),a(()=>e.column,()=>{e.column&&e.column.length>0&&(u.transformY=0,d.modifyStatus(!1))},{deep:!0}),a(()=>e.value,()=>{u.transformY=0,d.modifyStatus(!1)},{deep:!0}),i(()=>{d.modifyStatus(!1)}),d};function eh(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=th(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function th(e,t){if(e){if(typeof e=="string")return gn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return gn(e,t)}}function gn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var ga=function(t,n){for(var a=t.__vccOpts||t,r=eh(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function kt(){return kt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},kt.apply(this,arguments)}var ha={"header-item":"cursor-pointer px-4 flex items-center justify-center min-w-[50px] h-full text-sm","picker-column":"flex relative before:content-[''] before:absolute before:top-1/2 before:h-[var(--lineHeight)] before:w-full before:border-t before:border-b before:border-color-bg-3 before:scale-90 before:-translate-y-1/2","picker-columnitem":"flex-1 h-full relative","picker-bar":"flex h-12 items-center justify-between","col-list":"relative block w-full h-full overflow-hidden text-center scrolling-touch","col-roller":"absolute block top-1/2 w-full z1 -translate-y-1/2 [transform-style:preserve-3d] h-[var(--lineHeight)]","col-roller-item":"block [backface-visibility:hidden] absolute top-0 w-full h-9 leading-9 text-color-text-primary truncate","col-item-tile":"block text-center w-full truncate","col-roller-mask":"absolute w-full h-full block [background-image:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.4)),linear-gradient(0deg,rgba(255,255,255,0.9),rgba(255,255,255,0.4))] [background-position:top,bottom] bg-no-repeat z-1"},nh=E({name:R+"CascaderSelectColumn",props:kt({},_,{value:[String,Number],columnsType:String,column:{type:Array,default:function(){return[]}},threeDimensional:{type:Boolean,default:!0},swipeDuration:{type:[Number,String],default:1e3},visibleOptionNum:{type:[Number,String],default:7},optionHeight:{type:[Number,String],default:36},fieldNames:{type:Object,default:function(){return{}}},disabled:Boolean,textColor:{type:Object,default:function(){return{}}}}),emits:["click","change"],setup:function(t,n){return N({props:t,context:n,renderless:xg,api:Zg,classes:ha,mono:!0})}});function ah(e,t,n,a,r,i){return m(),h("div",{"data-tag":"tiny-cascader-picker__list",class:b(e.gcls("col-list")),onTouchstart:t[1]||(t[1]=function(){return e.onTouchStart&&e.onTouchStart.apply(e,arguments)}),onTouchmove:t[2]||(t[2]=function(){return e.onTouchMove&&e.onTouchMove.apply(e,arguments)}),onTouchend:t[3]||(t[3]=function(){return e.onTouchEnd&&e.onTouchEnd.apply(e,arguments)})},[f("div",{ref:"roller","data-tag":"tiny-cascader-picker-roller",class:b(e.gcls("col-roller")),style:q(e.threeDimensional?e.state.touchRollerStyle:e.state.touchTileStyle),onTransitionend:t[0]||(t[0]=function(){return e.stopMomentum&&e.stopMomentum.apply(e,arguments)})},[(m(!0),h(P,null,I(e.column,function(o,l){var s,u,d,c;return m(),h("div",{key:o[e.fieldNames.value]||l},[o&&o[e.fieldNames.text]&&e.threeDimensional?(m(),h("div",{key:0,"data-tag":"tiny-cascader-picker-roller-item",class:b(e.m(e.gcls("col-roller-item"),{"invisible opacity-0":e.isHidden(l+1)},{"text-color-brand":o===e.column[e.state.currIndex-1]},{"text-color-icon-disabled":o===e.column[e.state.currIndex-1]&&e.disabled})),style:q(e.setRollerStyle(l+1))},C(o[e.fieldNames.text]),7)):A("v-if",!0),o&&o[e.fieldNames.text]&&!e.threeDimensional?(m(),h("div",{key:1,"data-tag":"tiny-cascader-picker-roller-item-tile",class:b(e.m(e.gcls("col-item-tile"),e.textColor.default||"text-color-text-primary",(s={},s[e.textColor.third||"text-color-icon-placeholder"]=e.OptionStyle(o,e.column,2),s),(u={},u[e.textColor.second||"text-color-icon-secondary"]=e.OptionStyle(o,e.column,1),u),(d={},d[e.textColor.first||"text-color-icon-focus"]=e.OptionStyle(o,e.column,0),d),(c={},c[e.textColor.disabled||"text-color-icon-disabled"]=e.OptionStyle(o,e.column,0)&&e.disabled,c))),style:q({height:e.pxCheck(e.optionHeight),lineHeight:e.pxCheck(e.optionHeight)})},C(o[e.fieldNames.text]),7)):A("v-if",!0)])}),128))],38),f("div",{"data-tag":"tiny-cascader-picker-roller-mask",class:b(e.gcls("col-roller-mask")),style:q(e.state.maskStyles)},null,6)],34)}var rh=ga(nh,[["render",ah]]),ih=E({components:{PickerColumn:rh,TinyActionSheet:Pt,TinyButton:pe},emits:["cancel","change","confirm","update:modelValue","update:visible"],props:[].concat(G,["modelValue","options","threeDimensional","swipeDuration","visibleOptionNum","optionHeight","fieldNames","visible","valueType","valueField","textField","childrenField","disabled","textColor","lockScroll","customClass","panelCustomClass","type"]),setup:function(t,n){return N({props:t,context:n,renderless:Ig,api:Fg,classes:ha})}}),oh={"data-tag":"tiny-mobile-cascader-select"},lh={"data-tag":"tiny-cascader-select-picker",class:"relative text-sm"},sh={class:"w-full h-11 mt-4 flex justify-center items-center","data-tag":"tiny-mobile-cascader-select-button"};function uh(e,t,n,a,r,i){var o=w("picker-column"),l=w("tiny-button"),s=w("tiny-action-sheet");return m(),h("div",oh,[D(s,{"custom-class":e.m("rounded-t-lg bg-color-bg-1",e.customClass),"lock-scroll":e.lockScroll,visible:e.state.actionSheetVisible,"onUpdate:visible":t[1]||(t[1]=function(u){return e.state.actionSheetVisible=u})},{"header-left":M(function(){return[H(e.$slots,"header-left")]}),default:M(function(){return[f("div",{"data-tag":"tiny-mobile-cascader-select-body",class:"w-full h-max rounded-t-lg bg-color-bg-1 select-none overflow-hidden",onClick:t[0]||(t[0]=le(function(){},["stop"]))},[f("div",{"data-tag":"tiny-mobile-cascader-select-selectpanel",ref:"selectPanel",class:b(e.m("w-full h-max grid",e.panelCustomClass))},[f("div",lh,[H(e.$slots,"top"),f("div",{"data-tag":"tiny-cascader-picker__column",class:b(e.gcls("picker-column")),style:q(e.columnStyle)},[(m(!0),h(P,null,I(e.columnsList,function(u,d){return m(),h("div",{key:d,"data-tag":"tiny-cascader-picker__columnitem",class:b(e.gcls("picker-columnitem"))},[d>0?H(e.$slots,"split",{key:0}):A("v-if",!0),D(o,{ref_for:!0,ref:"swipeRef",column:u,disabled:e.isDisabled,"text-color":e.textColor,"columns-type":e.columnsType,"field-names":e.columnFieldNames,value:e.defaultValues[d],"three-dimensional":e.threeDimensional,"swipe-duration":e.swipeDuration,"visible-option-num":e.visibleOptionNum,"option-height":e.optionHeight,onChange:function(p){e.changeHandler(d,p)}},null,8,["column","disabled","text-color","columns-type","field-names","value","three-dimensional","swipe-duration","visible-option-num","option-height","onChange"])],2)}),128))],6),H(e.$slots,"default")])],2),f("div",sh,[D(l,{type:"primary",size:"large","custom-class":e.m("h-10 sm:h-10 w-full sm:w-auto mx-4 sm:mx-0 flex justify-center items-center",e.isDisabled?"bg-color-icon-disabled":"bg-color-icon-focus"),disabled:e.isDisabled,onClick:e.confirm},{default:M(function(){return[B(C(e.t("ui.button.confirm")),1)]}),_:1},8,["custom-class","disabled","onClick"])])])]}),_:3},8,["custom-class","lock-scroll","visible"])])}var dh=ga(ih,[["render",uh]]);function Dt(){return Dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Dt.apply(this,arguments)}var ch={},fh=function(){return dh},Oe={name:R+"CascaderSelect",props:Dt({},_,{_constants:{type:Object,default:function(){return ch}},modelValue:{type:Array,default:function(){return[]}},options:{type:Array,default:function(){return[]}},threeDimensional:{type:Boolean,default:!1},swipeDuration:{type:[Number,String],default:1e3},visibleOptionNum:{type:[Number,String],default:5},optionHeight:{type:[Number,String],default:36},fieldNames:{type:Object,default:function(){return{text:"label",value:"id",children:"children"}}},visible:Boolean,valueType:{type:String,default:"number"},valueField:{type:String,default:"id"},textField:{type:String,default:"label"},childrenField:{type:String,default:"children"},disabled:Function,textColor:{type:Object,default:function(){return{default:"",first:"",second:"",third:"",disabled:""}}},lockScroll:{type:Boolean,default:!0},customClass:[String,Object,Array],panelCustomClass:[String,Object,Array],type:{type:String,validator:function(t){return~["cascade","single"].indexOf(t)},default:"single"}}),setup:function(t,n){return ie({props:t,context:n,template:fh})}},mh="3.16.0";Oe.model={prop:"modelValue",event:"update:modelValue"};Oe.install=function(e){e.component(Oe.name,Oe)};Oe.version=mh;function ph(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=gh(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gh(e,t){if(e){if(typeof e=="string")return hn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hn(e,t)}}function hn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var hh=function(t,n){for(var a=t.__vccOpts||t,r=ph(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Ct.apply(this,arguments)}var yh=E({name:R+"TimePickerMobile",components:{TinyCascaderSelect:Oe},emits:["update:modelValue","confirm","update:visible","clear"],props:Ct({},_,{modelValue:Array,visible:{type:Boolean,default:!1},cycleRoll:{type:Boolean,default:!0},disabled:Function,lockScroll:{type:Boolean,default:!0},step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showSeconds:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0}}),setup:function(t,n){return N({props:t,context:n,renderless:lg,api:og,mono:!0})}}),bh={"data-tag":"tiny-time-picker-mobile"},vh=f("div",{"data-tag":"tiny-time-picker-split",class:"h-full w-1 flex items-center justify-center absolute left-0 -ml-0.5 text-color-text-primary select-none"}," : ",-1);function kh(e,t,n,a,r,i){var o=w("tiny-cascader-select");return S((m(),h("div",bh,[D(o,{ref:"cascaderSelect",modelValue:e.state.dateArr,"onUpdate:modelValue":[t[1]||(t[1]=function(l){return e.state.dateArr=l}),e.confirm],"cycle-roll":e.cycleRoll,options:e.state.options,disabled:e.disabled,"lock-scroll":e.lockScroll,"custom-panel-class":"px-4 pb-4",visible:e.state.visible,"onUpdate:visible":e.updateVisible},{split:M(function(){return[vh]}),"header-left":M(function(){return[e.clearable?(m(),h("span",{key:0,class:"cursor-pointer text-color-brand",onClick:t[0]||(t[0]=function(){return e.clear&&e.clear.apply(e,arguments)})},C(e.t("ui.datepicker.clear")),1)):A("v-if",!0)]}),_:1},8,["modelValue","cycle-roll","options","disabled","lock-scroll","visible","onUpdate:visible","onUpdate:modelValue"])],512)),[[z,e.visible]])}var ke=hh(yh,[["render",kh]]),Dh="3.16.0";ke.model={prop:"modelValue",event:"update:modelValue"};ke.install=function(e){e.component(ke.name,ke)};ke.version=Dh;function Ch(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=wh(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wh(e,t){if(e){if(typeof e=="string")return yn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yn(e,t)}}function yn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Nt=function(t,n){for(var a=t.__vccOpts||t,r=Ch(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a};function wt(){return wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},wt.apply(this,arguments)}var Th={inheritAttrs:!1,components:{},props:{data:Object}},$h={class:"w-full flex"};function Ah(e,t,n,a,r,i){return m(),h("div",$h,[H(e.$slots,"default",{data:n.data},function(){return[B(C(n.data.value),1)]})])}var ya=Nt(Th,[["render",Ah]]),Mh=E({components:{TinyOption:ya,TinyActionSheet:Pt,TinyTimePickerMobile:ke,TinyRecycleScroller:jn,TinyButton:pe},emits:["click","confirm","update:visible","update:modelValue","time-confirm"],props:[].concat(G,["modelValue","visible","title","type","lockScroll","pickerOptions","customClass","clearable","step","rangeSeparator","endPlaceholder","showTimeSecond"]),setup:function(t,n){return N({props:t,context:n,renderless:fa,api:ca})}}),Sh={"data-tag":"tiny-date-picker-mobile"},Vh={"data-tag":"tiny-date-picker-inner",class:b(["flex flex-col flex-auto h-full"])},Ph={"data-tag":"date-picker-header",class:"flex leading-6 py-2.5 px-4 text-sm items-center text-center border-b border-color-bg-4 shadow-sm"},Fh={ref:"datePickerBody","data-tag":"date-picker-body",class:"flex-auto overflow-hidden px-4"},Ih={class:"mt-4"},Oh={class:"text-xl leading-7 text-color-text-primary"},Eh={class:"text-center leading-9 text-xs font-medium"},zh=["onClick"],Yh={"data-tag":"date-picker-footer",class:"flex flex-none flex-col items-center justify-center p-4 border-t border-color-bg-4 shadow-sm"},Nh={key:0,"data-tag":"rang-box",class:"w-full"},Rh={class:"w-full flex mb-4 h-6 leading-6 text-base text-center"},jh={class:"min-w-[theme(spacing.32)]"},Uh={class:"flex-auto min-w-[theme(spacing.4)]"},Bh={key:0,class:"h-9 border-l-0.5 inline-block rotate-45 relative top-6 border-color-bg-2"},Hh={key:1,class:"text-center"},Lh={class:"min-w-[theme(spacing.32)]"},Wh={key:0,class:"text-color-icon-placeholder"},Kh={key:1},Gh={key:0,class:"w-full h-9 flex mb-4 leading-9 text-base text-center"},_h=f("div",{class:"flex-auto min-w-[theme(spacing.4)]"},null,-1),Qh={key:1,"data-tag":"datetime-box",class:"w-full"},qh={class:"w-full flex mb-4 leading-6 text-base text-center"},Jh={class:"min-w-[theme(spacing.32)]"},Xh=f("div",{class:"flex-auto min-w-[theme(spacing.4)]"},null,-1),Zh={class:"w-full text-center"};function xh(e,t,n,a,r,i){var o=w("tiny-option"),l=w("tiny-recycle-scroller"),s=w("tiny-button"),u=w("tiny-action-sheet"),d=w("tiny-time-picker-mobile");return m(),h("div",Sh,[D(u,{ref:"actionSheet",title:e.title,"custom-class":e.m("h-full max-h-full rounded-none min-h-[95vh]",e.customClass),"lock-scroll":e.lockScroll,visible:e.visible,"onUpdate:visible":t[4]||(t[4]=function(c){return e.$emit("update:visible",c)})},It({default:M(function(){return[f("div",Vh,[f("div",Ph,[(m(),h(P,null,I(7,function(c,p){return f("div",{key:p,class:"flex-1"},C(e.t("ui.calendarBar.week."+p)),1)}),64))]),f("div",Fh,[D(l,{ref:"recycleScroller",class:"h-full scrollbar-size-0","key-field":"id",style:q({height:e.state.scrollerHeight?e.state.scrollerHeight+"px":null}),items:e.state.months,"item-size":e.state.itemSize,buffer:e.state.buffer,onScrollStart:e.scrollStart,onScrollEnd:e.scrollEnd},{default:M(function(c){return[f("div",Ih,[f("div",Oh,C(e.formatDate(c.item.yearMonth,e.t("ui.datepicker.yearMonth",{year:"yyyy",month:"MM"}))),1),f("div",Eh,[(m(!0),h(P,null,I(e.getWeeksByMonth(c.item.yearMonth),function(p,v){return m(),h("div",{key:v,class:b(["flex mt-2"])},[(m(),h(P,null,I(7,function(k,y){return f("div",{key:y,class:b(["flex-1 h-9 cursor-pointer",y===0||y===6?"text-color-text-placeholder":"text-color-text-primary"]),onClick:le(function(T){return e.selectOption({value:c.item.yearMonth,index:y+v*7})},["stop"])},[D(o,{data:e.getDate({yearMonth:c.item.yearMonth,index:y+v*7})},{default:M(function(T){var $=T.data;return[f("div",{class:b(["flex-1",{"bg-color-info-primary-subtler":!$.disabled&&e.state.date.length===2&&["end","inner"].includes(e.getSelectedPosition($.value))},{"rounded-l":y===0}])},null,2),f("div",{class:b(e.m("w-9 h-9",{"text-color-brand border-0.5 border-current rounded":$.isToday},{"bg-color-info-primary-subtler":["inner"].includes(e.getSelectedPosition($.value))},{"bg-color-brand text-color-text-inverse rounded":["start","end"].includes(e.getSelectedPosition($.value))},{"bg-white text-color-text-disabled cursor-not-allowed":$.disabled}))},[H(e.$slots,"default",{data:$},function(){return[B(C($.day),1)]})],2),f("div",{class:b(["flex-1",{"bg-color-info-primary-subtler":!$.disabled&&e.state.date.length===2&&e.state.selected.length>1&&["start","inner"].includes(e.getSelectedPosition($.value))},{"rounded-r":y===6}])},null,2)]}),_:2},1032,["data"])],10,zh)}),64))])}),128))])])]}),_:3},8,["style","items","item-size","buffer","onScrollStart","onScrollEnd"])],512),f("div",Yh,[["datetimerange","daterange"].includes(e.type)&&e.state.date.length?(m(),h("div",Nh,[f("div",Rh,[f("div",jh,C(e.formatDate(e.state.date[0],e.t("ui.datepicker.yearMonthDay",{year:"yyyy",month:"MM",day:"dd"}))),1),f("div",Uh,[["datetimerange"].includes(e.type)?(m(),h("div",Bh)):(m(),h("div",Hh,[typeof e.rangeSeparator=="string"?(m(),h(P,{key:0},[B(C(e.rangeSeparator),1)],64)):(m(),F(K(e.rangeSeparator),{key:1}))]))]),f("div",Lh,[e.state.btnDisabled?(m(),h("span",Wh,C(e.endPlaceholder),1)):(m(),h("span",Kh,C(e.formatDate(e.state.date[1],e.t("ui.datepicker.yearMonthDay",{year:"yyyy",month:"MM",day:"dd"}))),1))])]),e.type==="datetimerange"?(m(),h("div",Gh,[f("div",{class:"w-32 bg-color-bg-2",onClick:t[1]||(t[1]=le(function(c){return e.timeToggle(0)},["stop"]))},C(e.state.timeList[0].join(":")),1),_h,f("div",{class:"w-32 bg-color-bg-2",onClick:t[2]||(t[2]=le(function(c){return e.timeToggle(1)},["stop"]))},C(e.state.timeList[1].join(":")),1)])):A("v-if",!0)])):A("v-if",!0),["datetime"].includes(e.type)&&e.state.date?(m(),h("div",Qh,[f("div",qh,[f("div",Jh,C(e.formatDate(e.state.date,e.t("ui.datepicker.yearMonthDay",{year:"yyyy",month:"MM",day:"dd"}))),1),Xh,f("div",{class:"w-32 bg-color-bg-2",onClick:t[3]||(t[3]=le(function(c){return e.timeToggle(0)},["stop"]))},C(e.state.timeList[0].join(":")),1)])])):A("v-if",!0),f("div",Zh,[D(s,{tiny_mode:"mobile-first","custom-class":"w-full",disabled:e.state.btnDisabled,type:"primary",size:"medium","reset-time":0,onClick:e.confirm},{default:M(function(){return[B(C(e.t("ui.button.confirm")),1)]}),_:1},8,["disabled","onClick"])])])])]}),_:2},[e.clearable?{name:"header-left",fn:M(function(){return[f("div",{class:"cursor-pointer text-color-brand",onClick:t[0]||(t[0]=function(){return e.clear&&e.clear.apply(e,arguments)})},C(e.t("ui.datepicker.clear")),1)]}),key:"0"}:void 0]),1032,["title","custom-class","lock-scroll","visible"]),D(d,{modelValue:e.state.time,"onUpdate:modelValue":t[5]||(t[5]=function(c){return e.state.time=c}),title:e.t("ui.datepicker.selectTime"),step:e.step,"show-seconds":e.showTimeSecond,visible:e.state.timeVisible,"onUpdate:visible":t[6]||(t[6]=function(c){return e.state.timeVisible=c}),onConfirm:e.timeConfirm},null,8,["modelValue","title","step","show-seconds","visible","onConfirm"])])}var ey=Nt(Mh,[["render",xh]]),ty=E({components:{TinyOption:ya,TinyActionSheet:Pt,TinyRecycleScroller:jn,TinyButton:pe},emits:["click","confirm","update:visible","update:modelValue","time-confirm"],props:[].concat(G,["modelValue","visible","title","type","lockScroll","pickerOptions"]),setup:function(t,n){return N({props:t,context:n,renderless:fa,api:ca})}}),ny={"data-tag":"tiny-date-picker-mobile year-month"},ay={"data-tag":"tiny-date-picker-inner",class:b(["flex flex-col overflow-hidden"])},ry={ref:"datePickerBody","data-tag":"date-picker-body",class:"flex-auto overflow-hidden px-4"},iy={class:"mt-4"},oy={class:"text-xl leading-7"},ly={class:"text-center leading-9 text-xs font-medium"},sy=["onClick"],uy={"data-tag":"date-picker-footer",class:"w-full flex-none flex flex-col items-center justify-center p-4 border-t border-color-bg-4 shadow-sm"},dy={key:0,"data-tag":"rang-box",class:"w-full"},cy={class:"w-full flex mb-4 h-6 leading-6 text-base text-center"},fy={class:"min-w-[theme(spacing.32)]"},my=f("div",{class:"flex-auto min-w-[theme(spacing.4)] justify-center"},"~",-1),py={class:"min-w-[theme(spacing.32)]"},gy={key:0,class:"text-color-icon-placeholder"},hy={key:1},yy={class:"w-full text-center"};function by(e,t,n,a,r,i){var o=w("tiny-option"),l=w("tiny-recycle-scroller"),s=w("tiny-button"),u=w("tiny-action-sheet");return m(),h("div",ny,[D(u,{"custom-class":"h-full",title:e.title,"lock-scroll":e.lockScroll,visible:e.visible,"onUpdate:visible":t[0]||(t[0]=function(d){return e.$emit("update:visible",d)})},{default:M(function(){return[f("div",ay,[f("div",ry,[D(l,{ref:"recycleScroller","key-field":"id",class:"h-full scrollbar-size-0",style:q({height:e.state.scrollerHeight?e.state.scrollerHeight+"px":null}),items:e.state.computedYears,"item-size":e.state.itemSize,buffer:e.state.buffer,onScrollStart:e.scrollStart,onScrollEnd:e.scrollEnd},{default:M(function(d){return[f("div",iy,[f("div",oy,C(d.item.year)+C(e.t("ui.datepicker.year")),1),f("div",ly,[(m(),h(P,null,I(2,function(c,p){return f("div",{key:p,class:b(["flex mt-2"])},[(m(),h(P,null,I(6,function(v,k){return f("div",{key:k,class:b(["flex-1 h-9 cursor-pointer"]),onClick:le(function(y){return e.selectOption({value:d.item.year,index:p*6+k})},["stop"])},[D(o,{data:e.state.years[d.item.year][p*6+k]},{default:M(function(y){var T=y.data;return[f("div",{class:b(["flex-1",{"bg-color-info-primary-subtler":!T.disabled&&e.state.date.length===2&&["end","inner"].includes(e.getSelectedPosition(T.value))}])},null,2),f("div",{class:b(e.m("w-9 h-9",{"text-color-brand border-0.5 border-current":T.isToday},{"bg-color-info-primary-subtler":["inner"].includes(e.getSelectedPosition(T.value))},{"bg-color-brand text-color-text-inverse":["start","end"].includes(e.getSelectedPosition(T.value))},{"bg-white text-color-text-disabled cursor-not-allowed":T.disabled}))},[H(e.$slots,"default",{data:T},function(){return[B(C(T.month),1)]})],2),f("div",{class:b(["flex-1",{"bg-color-info-primary-subtler":!T.disabled&&e.state.date.length===2&&e.state.selected.length>1&&["start","inner"].includes(e.getSelectedPosition(T.value))}])},null,2)]}),_:2},1032,["data"])],8,sy)}),64))])}),64))])])]}),_:3},8,["style","items","item-size","buffer","onScrollStart","onScrollEnd"])],512),f("div",uy,[["year-month-range"].includes(e.type)&&e.state.date.length?(m(),h("div",dy,[f("div",cy,[f("div",fy,C(e.formatDate(e.state.date[0],e.t("ui.datepicker.yearMonth",{year:"yyyy",month:"MM"}))),1),my,f("div",py,[e.state.btnDisabled?(m(),h("span",gy,C(e.t("ui.datepicker.endTime")),1)):(m(),h("span",hy,C(e.formatDate(e.state.date[1],e.t("ui.datepicker.yearMonth",{year:"yyyy",month:"MM"}))),1))])])])):A("v-if",!0),f("div",yy,[D(s,{tiny_mode:"mobile-first","custom-class":"w-full",disabled:e.state.btnDisabled,type:"primary",size:"medium","reset-time":0,onClick:e.confirm},{default:M(function(){return[B(C(e.t("ui.button.confirm")),1)]}),_:1},8,["disabled","onClick"])])])])]}),_:3},8,["title","lock-scroll","visible"])])}var vy=Nt(ty,[["render",by]]),Tt={TYPE:{DATE:"date",DATE_TIME:"datetime",DATE_RANGE:"daterange",DATE_TIME_RANGE:"datetimerange",YEAR_MONTH_RANGE:"year-month-range",YEAR_MONTH:"year-month"}},ky=function(t,n){var a=Tt.TYPE,r=a.YEAR_MONTH_RANGE,i=a.YEAR_MONTH;return[r,i].includes(n.type)?vy:ey},Ee=E({name:R+"DatePickerMobile",props:wt({},_,{_constants:{type:Object,default:function(){return Tt}},modelValue:[Number,String,Array,Date],visible:{type:Boolean,default:!1},title:String,type:{type:String,default:"date",validator:function(t){return!t||~Object.values(Tt.TYPE).indexOf(t)}},clearable:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},pickerOptions:{type:Object,default:function(){return{disabledDate:null}}},customClass:[String,Object,Array],step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},endPlaceholder:{type:String,default:function(){return st("ui.datepicker.endTime")}},rangeSeparator:{type:[Object,String],default:"~"},showTimeSecond:{type:Boolean,default:!0}}),setup:function(t,n){return ie({props:t,context:n,template:ky})}}),Dy="3.16.0";Ee.model={prop:"modelValue",event:"update:modelValue"};Ee.install=function(e){e.component(Ee.name,Ee)};Ee.version=Dy;var Rt={type:{type:String,default:"date"},tabindex:{type:String,default:"1"},timeArrowControl:Boolean,timeEditable:{type:Boolean,default:!0},size:String,format:String,valueFormat:String,timeFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:Object,suffixIcon:Object,label:String,shape:String,tip:String,clearIcon:{type:Object,default:function(){return Ft()}},name:{default:"",validator:function(t){return t==null||typeof t=="string"||t instanceof String||Array.isArray(t)&&t.length===2&&t.every(function(n){return typeof n=="string"||n instanceof String})}},clearable:{type:Boolean,default:!0},changeOnConfirm:{type:Boolean,default:!1},disabled:Boolean,id:{default:"",validator:function(t){return t==null||typeof t=="string"||t instanceof String||Array.isArray(t)&&t.length===2&&t.every(function(n){return typeof n=="string"||n instanceof String})}},popperClass:String,popperAppendToBody:{type:Boolean,default:!0},align:{type:String,default:"left"},editable:{type:Boolean,default:!0},modelValue:{},defaultValue:{},defaultTime:{},rangeSeparator:{type:[Object,String],default:"-"},unlinkPanels:Boolean,pickerOptions:{},validateEvent:{type:Boolean,default:!0},isRange:Boolean,arrowControl:Boolean,timezoneData:{},showTimezone:{type:Boolean,default:!1},defaultTimezone:String,isutc8:{type:Boolean,default:!1},dbTimezone:Number,timezone:Number,timezoneOffset:Number,iso8601:Boolean,displayOnly:{type:Boolean,default:!1},step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showWeekNumber:{type:Boolean,default:!1},formatWeeks:Function,autoFormat:{type:Boolean,default:!1},title:String,blank:{type:Boolean,default:!1},changeCompat:{type:Boolean,default:!1}};function Cy(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=wy(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wy(e,t){if(e){if(typeof e=="string")return bn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bn(e,t)}}function bn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var ba=function(t,n){for(var a=t.__vccOpts||t,r=Cy(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Ty=E({components:{TinyInput:we,TinyFilterBox:Un,TinyTooltip:Rn,IconCalendar:Hn(),IconTime:Ln()},emits:["created","select-change","update:modelValue","blur","focus","change"],props:Rt,directives:re({Clickoutside:ge}),setup:function(t,n){return N({props:t,context:n,renderless:_n,api:Gn,extendOptions:{DatePanel:Me,DateRangePanel:Se,MonthRangePanel:Ve,YearRangePanel:Pe,TimePanel:ne,TimeRangePanel:Fe,QuarterPanel:Ue,TimeSelect:Ie}})}}),$y={ref:"reference",class:"tiny-date-container"},Ay={class:"tiny-input__icon-container"},My=["placeholder","value","disabled","readonly","name"],Sy={key:0,class:"tiny-range-separator"},Vy=["placeholder","value","disabled","readonly","name"],Py={key:1,class:"tiny-input__icon tiny-range__icon tiny-input__suffix"};function Fy(e,t,n,a,r,i){var o=w("tiny-filter-box"),l=w("tiny-tooltip"),s=w("tiny-input"),u=he("clickoutside");return m(),h("div",$y,[e.shape==="filter"?S((m(),F(o,{key:0,onClick:e.handleFocus,"show-close":e.clearable,placeholder:e.placeholder,disabled:e.state.pickerDisabled,label:e.label,tip:e.tip,value:e.state.displayValue.toString(),"drop-down-visible":e.state.pickerVisible,blank:e.blank},null,8,["onClick","show-close","placeholder","disabled","label","tip","value","drop-down-visible","blank"])),[[u,e.handleClose]]):e.state.ranged?S((m(),h("div",{key:2,class:b(["tiny-date-editor tiny-range-editor tiny-input tiny-input__inner",["tiny-date-editor--"+e.state.type,e.state.pickerSize?"tiny-range-editor--"+e.state.pickerSize:"",e.state.pickerDisabled?"is-disabled":"",e.state.pickerVisible?"is-active":"",e.state.isDisplayOnly?"is-display-only":""]]),onClick:t[10]||(t[10]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onMouseenter:t[11]||(t[11]=function(){return e.handleMouseEnter&&e.handleMouseEnter.apply(e,arguments)}),onMouseleave:t[12]||(t[12]=function(d){return e.state.showClose=!1}),onKeydown:t[13]||(t[13]=function(){return e.handleKeydown&&e.handleKeydown.apply(e,arguments)})},[D(l,{effect:"light",content:e.state.labelTooltip,placement:"top",onMouseenter:e.handleEnterPickerlabel},{default:M(function(){return[e.label?(m(),h("span",{key:0,class:"tiny-input__label",ref:"label"},C(e.label),513)):A("v-if",!0)]}),_:1},8,["content","onMouseenter"]),f("input",Ae({autocomplete:"off",placeholder:e.startPlaceholder,value:e.state.displayValue&&e.state.displayValue[0],disabled:e.state.pickerDisabled},e.state.firstInputId,{readonly:!e.editable||e.readonly,name:e.name&&e.name[0],onInput:t[3]||(t[3]=function(){return e.handleStartInput&&e.handleStartInput.apply(e,arguments)}),onChange:t[4]||(t[4]=function(){return e.handleStartChange&&e.handleStartChange.apply(e,arguments)}),onFocus:t[5]||(t[5]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),class:"tiny-range-input"}),null,16,My),H(e.$slots,"range-separator",{},function(){return[typeof e.rangeSeparator=="string"?(m(),h("span",Sy,C(e.rangeSeparator),1)):(m(),F(K(e.rangeSeparator),{key:1}))]}),f("input",Ae({autocomplete:"off",placeholder:e.endPlaceholder,value:e.state.displayValue&&e.state.displayValue[1],disabled:e.state.pickerDisabled},e.state.secondInputId,{readonly:!e.editable||e.readonly,name:e.name&&e.name[1],onInput:t[6]||(t[6]=function(){return e.handleEndInput&&e.handleEndInput.apply(e,arguments)}),onChange:t[7]||(t[7]=function(){return e.handleEndChange&&e.handleEndChange.apply(e,arguments)}),onFocus:t[8]||(t[8]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),class:"tiny-range-input"}),null,16,Vy),e.state.haveTrigger?(m(),h("i",{key:0,onClick:t[9]||(t[9]=function(){return e.handleClickIcon&&e.handleClickIcon.apply(e,arguments)}),class:"tiny-input__icon tiny-range__close-icon"},[D(W,{name:"tiny-transition-icon-scale-in"},{default:M(function(){return[(m(),F(K(e.state.showClose?e.clearIcon:null)))]}),_:1})])):A("v-if",!0),e.state.isDisplayOnly?A("v-if",!0):(m(),h("i",Py,[(m(),F(K(e.state.triggerClass)))])),e.state.isDisplayOnly?(m(),F(l,{key:2,class:"tiny-range-editor-display-only",content:e.state.displayOnlyTooltip,effect:"light",placement:"top",onMouseenter:e.handleEnterDisplayOnlyContent},{default:M(function(){return[f("span",null,C(e.state.displayValue&&e.state.displayValue.join(" "+e.t("ui.datepicker.to")+" ")),1)]}),_:1},8,["content","onMouseenter"])):A("v-if",!0)],34)),[[u,e.handleClose]]):S((m(),F(s,Ae({key:1,tabindex:e.tabindex,class:["tiny-date-editor","tiny-date-editor--"+e.state.type],readonly:!e.editable||e.readonly||e.state.type==="dates"||e.state.type==="week",disabled:e.state.pickerDisabled,size:e.state.pickerSize,name:e.name},e.state.firstInputId,{placeholder:e.placeholder,onFocus:e.handleFocus,onKeydown:e.handleKeydown,"model-value":e.state.displayValue,title:e.state.type==="date"?"":e.state.displayValue,"display-only":e.state.isDisplayOnly,"display-only-content":e.state.displayValue,onInput:e.handleInput,onChange:e.handleChange,onMouseenter:e.handleMouseEnter,onMouseleave:t[2]||(t[2]=function(d){return e.state.showClose=!1}),"validate-event":!1}),It({suffix:M(function(){return[f("i",Ay,[D(W,{name:"tiny-transition-icon-scale-in"},{default:M(function(){return[e.state.haveTrigger?(m(),F(K(e.state.showClose?e.clearIcon:null),{key:0,onClick:e.handleClickIcon,onMouseenter:t[0]||(t[0]=function(d){return e.state.showClose=!0}),onMouseleave:t[1]||(t[1]=function(d){return e.state.showClose=!1}),class:"baseClearicon"},null,40,["onClick"])):A("v-if",!0)]}),_:1}),(m(),F(K(e.state.triggerClass),{onClick:e.handleFocus,class:"tiny-svg-size"},null,8,["onClick"]))])]}),_:2},[e.label?{name:"prefix",fn:M(function(){return[D(l,{effect:"light",content:e.state.labelTooltip,placement:"top",onMouseenter:e.handleEnterPickerlabel},{default:M(function(){return[f("span",{class:"tiny-input__label",ref:"label"},C(e.label),513)]}),_:1},8,["content","onMouseenter"])]}),key:"0"}:void 0]),1040,["tabindex","class","readonly","disabled","size","name","placeholder","onFocus","onKeydown","model-value","title","display-only","display-only-content","onInput","onChange","onMouseenter"])),[[u,e.handleClose]]),(m(),F(K(e.state.panel),{step:e.step,"show-week-number":e.showWeekNumber,"time-editable":e.timeEditable,"format-weeks":e.formatWeeks,ref:"picker",visible:e.state.pickerVisible,onPick:e.handlePick,onSelectRange:e.handleSelectRange,onSelectChange:e.handleSelectChange},null,40,["step","show-week-number","time-editable","format-weeks","visible","onPick","onSelectRange","onSelectChange"]))],512)}var vn=ba(Ty,[["render",Fy]]),Iy={"input-label":"text-color-text-placeholder text-xs sm:text-sm mr-2 inline-block text-left max-w-[100px] truncate","range-editor":"bg-color-bg-1 relative inline-flex items-center py-1 sm:px-3 border-0 sm:border border-color-border hover:border-color-border-hover rounded mt-0.5","range-input":"appearance-none border-none outline-0 p-0 w-[35%] text-color-text-primary focus:border-color-brand-focus disabled:border-color-border placeholder:text-color-text-placeholder disabled:cursor-not-allowed text-sm sm:placeholder:text-sm sm:text-sm h-full m-0 truncate disabled:text-color-icon-placeholder disabled:bg-transparent sm:disabled:bg-color-border-disabled",datetimerange:"w-full sm:w-96 sm:max-w-full","range-separator":"px-1 leading-5 w-[12%] text-color-text-primary text-xs sm:text-sm h-full m-0","close-icon":"absolute right-1.5 text-base w-6 float-right leading-8 mr-5 flex justify-center items-center cursor-pointer",suffix:"absolute top-1/2 -translate-y-2/4 transition-all duration-300 text-center text-color-text-secondary flex items-center right-2 pointer-events-none z-[1]","is-disabled":"sm:bg-color-border-disabled border-color-border text-color-text-disabled cursor-not-allowed focus:border-color-border hover:border-color-border","is-active":"border-color-border-focus","is-display-only":"leading-7 relative inline border-0 sm:border-0 text-color-text-primary bg-transparent hover:bg-transparent px-0 py-0"},Oy=E({components:{TinyInput:we,TinyFilterBox:Un,TinyDatePickerMobile:Ee,TinyTimePickerMobile:ke,IconCalendar:Hn(),IconTime:Ln(),IconClose:Ft(),TinyTooltip:Rn},emits:["created","select-change","update:modelValue","blur","focus","change"],props:Rt,directives:re({Clickoutside:ge}),setup:function(t,n){return N({props:t,context:n,renderless:_n,api:Gn,classes:Iy,extendOptions:{DatePanel:Me,DateRangePanel:Se,MonthRangePanel:Ve,YearRangePanel:Pe,TimePanel:ne,TimeRangePanel:Fe,TimeSelect:Ie}})}}),Ey={"data-tag":"icon",class:"flex items-center cursor-pointer"},zy=["placeholder","value","title","disabled","readonly","name"],Yy=["placeholder","value","title","disabled","readonly","name"];function Ny(e,t,n,a,r,i){var o=w("tiny-filter-box"),l=w("tiny-tooltip"),s=w("tiny-input"),u=w("tiny-date-picker-mobile"),d=w("tiny-time-picker-mobile"),c=he("clickoutside");return m(),h("div",{ref:"reference","data-tag":"tiny-date-container",class:b(e.state.isDisplayOnly?"inline":"")},[e.shape==="filter"?S((m(),F(o,{key:0,onClick:e.handleFocus,"show-close":e.clearable,placeholder:e.placeholder,disabled:e.state.pickerDisabled,label:e.label,tip:e.tip,value:e.state.displayValue.toString(),"drop-down-visible":e.state.pickerVisible,blank:e.blank},null,8,["onClick","show-close","placeholder","disabled","label","tip","value","drop-down-visible","blank"])),[[c,e.handleClose]]):e.state.ranged?S((m(),h("div",{key:2,"data-tag":"tiny-date-editor tiny-range-editor tiny-input tiny-input__inner",class:b(e.m(e.gcls("range-editor"),e.gcls(e.state.type),e.state.pickerVisible&&e.gcls("is-active"),!e.state.isDisplayOnly&&e.state.pickerDisabled&&e.gcls("is-disabled"),e.state.isDisplayOnly&&e.gcls("is-display-only"))),onClick:t[10]||(t[10]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),onMouseenter:t[11]||(t[11]=function(){return e.handleMouseEnter&&e.handleMouseEnter.apply(e,arguments)}),onMouseleave:t[12]||(t[12]=function(p){return e.state.showClose=!1}),onKeydown:t[13]||(t[13]=function(){return e.handleKeydown&&e.handleKeydown.apply(e,arguments)})},[D(l,{effect:"light",content:e.state.labelTooltip,placement:"top",onMouseenter:e.handleEnterPickerlabel},{default:M(function(){return[e.label?(m(),h("span",{key:0,"data-tag":"tiny-input__label",ref:"label"},C(e.label),513)):A("v-if",!0)]}),_:1},8,["content","onMouseenter"]),e.state.isDisplayOnly?A("v-if",!0):(m(),h(P,{key:0},[f("input",Ae({autocomplete:"off",placeholder:e.startPlaceholder,value:e.state.displayValue&&e.state.displayValue[0],title:e.state.displayValue&&e.state.displayValue[0],disabled:e.state.pickerDisabled},e.state.firstInputId,{readonly:e.state.isMobileScreen||!e.editable||e.readonly,name:e.name&&e.name[0],onInput:t[3]||(t[3]=function(){return e.handleStartInput&&e.handleStartInput.apply(e,arguments)}),onChange:t[4]||(t[4]=function(){return e.handleStartChange&&e.handleStartChange.apply(e,arguments)}),onFocus:t[5]||(t[5]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),"data-tag":"tiny-range-input",class:e.gcls("range-input")}),null,16,zy),H(e.$slots,"range-separator",{},function(){return[typeof e.rangeSeparator=="string"?(m(),h("span",{key:0,"data-tag":"tiny-range-separator",class:b(e.m(e.gcls("range-separator"),{"text-center":e.type==="datetimerange"},{"text-color-icon-placeholder":!e.state.isDisplayOnly&&e.state.pickerDisabled}))},C(e.rangeSeparator),3)):(m(),F(K(e.rangeSeparator),{key:1}))]}),f("input",Ae({autocomplete:"off",placeholder:e.endPlaceholder,value:e.state.displayValue&&e.state.displayValue[1],title:e.state.displayValue&&e.state.displayValue[1],disabled:e.state.pickerDisabled},e.state.secondInputId,{readonly:e.state.isMobileScreen||!e.editable||e.readonly,name:e.name&&e.name[1],onInput:t[6]||(t[6]=function(){return e.handleEndInput&&e.handleEndInput.apply(e,arguments)}),onChange:t[7]||(t[7]=function(){return e.handleEndChange&&e.handleEndChange.apply(e,arguments)}),onFocus:t[8]||(t[8]=function(){return e.handleFocus&&e.handleFocus.apply(e,arguments)}),"data-tag":"tiny-range-input",class:e.gcls("range-input")}),null,16,Yy),!e.state.isMobileScreen&&e.state.haveTrigger?(m(),h("i",{key:0,onClick:t[9]||(t[9]=function(){return e.handleClickIcon&&e.handleClickIcon.apply(e,arguments)}),"data-tag":"tiny-input__icon tiny-range__close-icon",class:b(e.gcls("close-icon"))},[D(W,{name:"tiny-transition-icon-scale-in"},{default:M(function(){return[(m(),F(K(e.state.showClose?e.clearIcon:null),{"custom-class":"fill-color-text-placeholder"}))]}),_:1})],2)):A("v-if",!0),e.state.isDisplayOnly?A("v-if",!0):(m(),h("i",{key:1,"data-tag":"tiny-input__icon tiny-range__icon tiny-input__suffix",class:b(e.gcls("suffix"))},[(m(),F(K(e.state.triggerClass),{"custom-class":"h-5 w-5 sm:h-4 sm:w-4",class:b(!e.state.isDisplayOnly&&e.state.pickerDisabled?"fill-color-icon-placeholder sm:fill-color-icon-secondary":"fill-color-icon-secondary sm:fill-color-text-placeholder")},null,8,["class"]))],2))],64)),e.state.isDisplayOnly?(m(),F(l,{key:1,"data-tag":"tiny-range-editor-display-only",content:e.state.displayOnlyTooltip,effect:"light",placement:"top",onMouseenter:e.handleEnterDisplayOnlyContent},{default:M(function(){return[f("span",null,C(e.state.displayValue&&e.state.displayValue.join(" "+e.t("ui.datepicker.to")+" ")),1)]}),_:1},8,["content","onMouseenter"])):A("v-if",!0)],34)),[[c,e.handleClose]]):S((m(),F(s,Ae({key:1,tabindex:e.tabindex,"data-tag":"tiny-date-editor",readonly:e.state.isMobileScreen||!e.editable||e.readonly||e.state.type==="dates"||e.state.type==="week",disabled:e.state.pickerDisabled,size:e.state.pickerSize,name:e.name},e.state.firstInputId,{placeholder:e.placeholder,onFocus:e.handleFocus,onKeydown:e.handleKeydown,"model-value":e.state.displayValue,title:e.state.type==="date"?"":e.state.displayValue,"display-only":e.state.isDisplayOnly,"display-only-content":e.state.displayValue,onInput:e.handleInput,onChange:e.handleChange,onMouseenter:e.handleMouseEnter,onMouseleave:t[2]||(t[2]=function(p){return e.state.showClose=!1}),"validate-event":!1,"custom-class":"sm:border "+e.gcls(e.state.type)}),It({suffix:M(function(){return[f("i",Ey,[e.state.isMobileScreen?A("v-if",!0):(m(),F(W,{key:0,name:"tiny-transition-icon-scale-in"},{default:M(function(){return[e.state.haveTrigger?(m(),F(K(e.state.showClose?e.clearIcon:null),{key:0,onClick:e.handleClickIcon,onMouseenter:t[0]||(t[0]=function(p){return e.state.showClose=!0}),onMouseleave:t[1]||(t[1]=function(p){return e.state.showClose=!1}),class:"fill-color-text-placeholder hover:fill-color-text-primary"},null,40,["onClick"])):A("v-if",!0)]}),_:1})),(m(),F(K(e.state.triggerClass),{onClick:e.handleFocus,"custom-class":"h-5 w-5 sm:h-4 sm:w-4",class:b(!e.state.isDisplayOnly&&e.state.pickerDisabled?"fill-color-icon-placeholder sm:fill-color-icon-disabled":"fill-color-icon-secondary sm:fill-color-text-placeholder")},null,8,["onClick","class"]))])]}),_:2},[e.label?{name:"prefix",fn:M(function(){return[D(l,{effect:"light",content:e.state.labelTooltip,placement:"top",onMouseenter:e.handleEnterPickerlabel},{default:M(function(){return[f("span",{"data-tag":"tiny-input__label",class:b(e.gcls("input-label")),ref:"label"},C(e.label),3)]}),_:1},8,["content","onMouseenter"])]}),key:"0"}:void 0]),1040,["tabindex","readonly","disabled","size","name","placeholder","onFocus","onKeydown","model-value","title","display-only","display-only-content","onInput","onChange","onMouseenter","custom-class"])),[[c,e.handleClose]]),e.state.isMobileScreen?A("v-if",!0):(m(),F(K(e.state.panel),{key:3,step:e.step,"show-week-number":e.showWeekNumber,"format-weeks":e.formatWeeks,ref:"picker",visible:e.state.pickerVisible,class:"tiny-tw",onPick:e.handlePick,onSelectRange:e.handleSelectRange,onSelectChange:e.handleSelectChange},null,40,["step","show-week-number","format-weeks","visible","onPick","onSelectRange","onSelectChange"])),e.state.isMobileScreen&&e.state.isDateMobileComponent?(m(),F(u,{key:4,ref:"datePickerMobile",modelValue:e.state.dateMobileOption.value,"onUpdate:modelValue":t[14]||(t[14]=function(p){return e.state.dateMobileOption.value=p}),title:e.title,clearable:e.clearable,step:e.step,"show-time-second":e.state.showSeconds,"range-separator":e.rangeSeparator,"end-placeholder":e.endPlaceholder,"custom-class":"max-h-[80%]",type:e.state.dateMobileOption.type,visible:e.state.dateMobileOption.visible,"picker-options":e.pickerOptions,onConfirm:e.emitInput,onClear:e.emitInput,"onUpdate:visible":e.dateMobileToggle},null,8,["modelValue","title","clearable","step","show-time-second","range-separator","end-placeholder","type","visible","picker-options","onConfirm","onClear","onUpdate:visible"])):A("v-if",!0),e.state.isMobileScreen&&e.state.isTimeMobileComponent?(m(),F(d,{key:5,ref:"datePickerMobile",modelValue:e.state.timeMobileOption.value,"onUpdate:modelValue":t[15]||(t[15]=function(p){return e.state.timeMobileOption.value=p}),title:e.title,clearable:e.clearable,step:e.step,"show-seconds":e.state.showSeconds,"custom-class":"max-h-[80%]",type:e.state.timeMobileOption.type,visible:e.state.timeMobileOption.visible,onConfirm:e.timeMobileConfirm,"onUpdate:visible":e.timeMobileToggle},null,8,["modelValue","title","clearable","step","show-seconds","type","visible","onConfirm","onUpdate:visible"])):A("v-if",!0)],2)}var Ry=ba(Oy,[["render",Ny]]);function $t(){return $t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},$t.apply(this,arguments)}var jy=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?vn:(a||t)==="mobile-first"?Ry:vn},ze=E({name:R+"Picker",componentName:"Picker",props:$t({},_,Rt),setup:function(t,n){return ie({props:t,context:n,template:jy})}}),Uy="3.16.0";ze.model={prop:"modelValue",event:"update:modelValue"};ze.install=function(e){e.component(ze.name,ze)};ze.version=Uy;function At(){return At=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},At.apply(this,arguments)}var kn=Sn(!0,{props:At({},_,{_constants:{type:Object,default:function(){return{}}},componentName:{type:String,default:"DatePicker"}})},ze);const By=e=>(t,n)=>e.MonthDay-new Date(t,n-1,e.MonthDay).getDate(),Hy=e=>{if(!e)return 0;for(;isNaN(parseInt(e,10));)if(e.length>1)e=e.slice(1);else return 0;return parseInt(e,10)},Ly=({api:e,constants:t,props:n})=>({type:a,value:r})=>{const i=n[`${a}${t.CapDate}`],o=i.getFullYear();let l=1,s=1,u=0,d=0;return a===t.Max&&(l=t.TotalMonth,s=e.getMonthEndDay(r.getFullYear(),r.getMonth()+1),u=t.Hours,d=t.Minutes),r.getFullYear()===o&&(l=i.getMonth()+1,r.getMonth()+1===l&&(s=i.getDate(),r.getDate()===s&&(u=i.getHours(),r.getHours()===u&&(d=i.getMinutes())))),{[`${a}${t.CapYear}`]:o,[`${a}${t.CapMonth}`]:l,[`${a}${t.CapDate}`]:s,[`${a}${t.CapHour}`]:u,[`${a}${t.CapMinute}`]:d}},Wy=({api:e,constants:t,props:n,refs:a,state:r})=>()=>{const i=a.picker&&a.picker.getIndexes(),o=k=>{const{values:y}=r.originColumns[k];return Hy(y[i[k]])},l=o(0),s=o(1),u=e.getMonthEndDay(l,s);let d;n.type===t.YearMonth?d=1:d=o(2),d=d>u?u:d;let c=0,p=0;n.type===t.DateTime&&(c=o(3),p=o(4));const v=new Date(l,s-1,d,c,p);r.innerValue=e.formatValue(v)},Dn=e=>t=>(!Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t.getTime())&&(t=e.minDate),t=Math.max(t,e.minDate.getTime()),t=Math.min(t,e.maxDate.getTime()),new Date(t)),Ky=({api:e,emit:t,refs:n,nextTick:a})=>()=>{e.updateInnerValue(),a(()=>{a(()=>{t("change",n.picker),document.body.style.overflow=""})})},je=(e,t=2)=>{let n=String(e);for(;n.length<t;)n="0"+n;return n},Gy=({constants:e,nextTick:t,props:n,refs:a,state:r})=>()=>{const i=r.innerValue,{formatter:o}=n;let l=[o("year",`${i.getFullYear()}`),o("month",je(i.getMonth()+1)),o("day",je(i.getDate()))];n.type===e.DateTime&&l.push(o("hour",je(i.getHours())),o("minute",je(i.getMinutes()))),n.type===e.YearMonth&&(l=l.slice(0,2)),t(()=>{a.picker.setValues(l)})},_y=({api:e,constants:t,props:n,state:a})=>()=>{const{maxYear:r,maxDate:i,maxMonth:o,maxHour:l,maxMinute:s}=e.getBoundary({type:t.Max,value:a.innerValue}),{minYear:u,minDate:d,minMonth:c,minHour:p,minMinute:v}=e.getBoundary({type:t.Min,value:a.innerValue}),k=[{type:t.Year,range:[u,r]},{type:"month",range:[c,o]},{type:t.Day,range:[d,i]},{type:t.Hour,range:[p,l]},{type:t.Minute,range:[v,s]}];return n.type===t.Date&&k.splice(3,2),n.type===t.YearMonth&&k.splice(2,3),k};function Qy(e,t){let n=-1;const a=Array(e);for(;++n<e;)a[n]=t(n);return a}const qy=e=>()=>e.ranges.map(({type:t,range:n})=>{let a=Qy(n[1]-n[0]+1,r=>je(n[0]+r));return{type:t,values:a}}),Jy=({props:e,state:t})=>()=>t.originColumns.map(n=>({values:n.values.map(a=>e.formatter(n.type,a))})),Xy=({api:e,emit:t,state:n})=>()=>{n.visible=!1,t("confirm",n.innerValue),t("update:modelValue",n.innerValue),t("update:visible",n.visible),document.body.style.overflow="",n.displayValue=e.getDisplayValue(),n.clearable=!1},Zy=({emit:e,state:t})=>()=>{t.visible=!1,e("cancel"),e("update:visible",t.visible),document.body.style.overflow=""},xy=({constants:e,DATE:t,props:n,state:a})=>()=>function(i,o){const l={"M+":i.getMonth()+1,"d+":i.getDate(),"h+":i.getHours(),"m+":i.getMinutes(),"s+":i.getSeconds(),"q+":Math.floor((i.getMonth()+3)/3),S:i.getMilliseconds()};/(y+)/.test(o)&&(o=o.replace(RegExp.$1,String(i.getFullYear()).substr(4-RegExp.$1.length)));for(let s in l)new RegExp("("+s+")").test(o)&&(o=o.replace(RegExp.$1,RegExp.$1.length==1?l[s]:("00"+l[s]).substr(String(l[s]).length)));return o}(a.innerValue,n.type===e.DateTime?t.Datetime:t.Date),eb=({constants:e,parent:t,refs:n,nextTick:a})=>()=>{a(()=>{t.$emit(e.HookMounted,n.refrence.$el)})},tb=({constants:e,state:t})=>()=>{t.visible=!0,document.body.style.overflow=e.Hidden,t.isReadonly=!0},nb=e=>()=>{e.displayValue="",e.clearable=!0},ab=["state","clearDisplayValue","showPickerAndLockScroll","hookMounted","onConfirm","onCancel","onChange"],rb=({api:e,watch:t,props:n,state:a,emit:r})=>{t(()=>n.minDate,()=>e.updateInnerValue(),{lazy:!0}),t(()=>n.visible,i=>a.visible=i,{lazy:!0}),t(()=>n.maxDate,()=>e.updateInnerValue(),{lazy:!0}),t(()=>n.modelValue,i=>{if(i){const o=e.formatValue(new Date(i));o.valueOf()!==a.innerValue.valueOf()&&(a.innerValue=o),a.displayValue=e.getDisplayValue()}},{immediate:!0}),t(()=>a.columns,()=>e.updateColumnValue(),{lazy:!0}),t(()=>a.innerValue,i=>r("input",i),{lazy:!0})},ib=(e,{computed:t,onMounted:n,reactive:a,watch:r},{constants:i,emit:o,nextTick:l,refs:s,parent:u})=>{const d={formatValue:Dn(e),getMonthEndDay:By(i),hookMounted:eb({constants:i,parent:u,refs:s,nextTick:l})},c=a({visible:!1,innerValue:Dn(e)(e.modelValue),ranges:t(()=>d.getRanges()),originColumns:t(()=>d.getOriginColumns()),columns:t(()=>d.getColumns()),displayValue:"",isReadonly:!1,clearable:e.clearable});return Object.assign(d,{state:c,getOriginColumns:qy(c),onCancel:Zy({emit:o,state:c}),getColumns:Jy({props:e,state:c}),clearDisplayValue:nb(c),getDisplayValue:xy({constants:i,DATE:En,props:e,state:c}),showPickerAndLockScroll:tb({constants:i,state:c}),updateColumnValue:Gy({constants:i,nextTick:l,props:e,refs:s,state:c})}),d.getBoundary=Ly({api:d,constants:i,props:e}),d.updateInnerValue=Wy({api:d,constants:i,props:e,refs:s,state:c}),d.getRanges=_y({api:d,constants:i,props:e,state:c}),rb({api:d,watch:r,props:e,state:c,emit:o}),n(()=>{d.updateColumnValue(),l(()=>{d.updateInnerValue()})}),Object.assign(d,{onConfirm:Xy({api:d,emit:o,state:c}),onChange:Ky({api:d,emit:o,refs:s,nextTick:l})})},ob=e=>()=>e("update:visible",!1),lb=e=>({state:t,value:n})=>{setTimeout(()=>{n?t.toggle=!0:t.toggle=!1},0),e("update:visible",n)},sb=e=>()=>{const{columns:t}=e,n=t[0]||{};return n.children?"cascade":n.values?"object":"text"},ub=({state:e,api:t})=>()=>{const{columns:n,dataType:a}=e;a==="text"?e.formattedColumns=[{values:n}]:a==="cascade"?t.formatCascade():e.formattedColumns=n},db=({state:e,props:t})=>()=>{const n=[];let a={children:e.columns};for(;a&&a.children;){const r=a.defaultIndex||Number(e.defaultIndex);n.push({values:a.children.map(i=>i[t.valueKey]),defaultIndex:r}),a=a.children[r]}e.formattedColumns=n},cb=e=>t=>{e.onChange(t)},fb=e=>(t,n)=>{const a=e.getColumn(t);a&&a.setValue(n)},mb=e=>t=>{t.forEach((n,a)=>{e.setColumnValue(a,n)})},pb=e=>t=>{const n=e.getColumn(t);return n&&n.getValue()},gb=({api:e,childrenPickerRefs:t})=>()=>{const n=t.childrenPicker;n&&n.forEach(a=>a.onTransitionEnd()),e.emitEvent("confirm"),e.visibleHandle()},hb=({api:e,emit:t})=>()=>{t("cancel"),e.visibleHandle()},yb=({api:e,state:t,emit:n})=>a=>{t.dataType==="text"?n(a,e.getColumnValue(0),e.getColumnIndex(0)):n(a,e.getValues(),e.getIndexes())},bb=e=>t=>e.childrenPicker[t],vb=e=>t=>(e.getColumn(t)||{}).state.currentIndex,kb=e=>()=>e.childrenPicker&&e.childrenPicker.map(t=>t.getValue()),Db=e=>()=>e.childrenPicker&&e.childrenPicker.map(t=>t.state.currentIndex),Cb=e=>t=>{t.forEach((n,a)=>{e.setColumnIndex(a,n)})},wb=e=>(t,n)=>{const a=e.getColumn(t);a&&a.setIndex(n)},Tb=e=>t=>(e.childrenPicker[t]||{}).state.columnsItem.values,$b=e=>(t,n)=>{const r=e.childrenPicker[t];r&&r.setOptions(n)},Ab=({api:e,state:t,props:n})=>a=>{const{columns:r}=t;let i={children:r};const o=e.getIndexes();for(let l=0;l<=a;l++)i=i.children[o[l]];for(;a<t.formattedColumns.length;)i.children&&i.children.length!==0?(a++,e.setColumnValues(a,i.children.map(l=>l[n.valueKey])),i=i.children[i.defaultIndex||0]):(a++,e.setColumnValues(a,[]))},Mb=({api:e,state:t,emit:n})=>a=>{t.dataType==="cascade"&&e.onCascadeChange(a),e.dataType==="text"?n("change",e.getColumnValue(0),e.getColumnIndex(0)):n("change",e.getValues(),a)},Sb=({state:e,vm:t,constants:n})=>{const a=n.CHILDREN_PICKER,r=[];for(let i=0;i<e.formattedColumns.length;i++)r.push(Array.isArray(t.$refs[a+i])?t.$refs[a+i][0]:t.$refs[a+i]);return r},Vb=["state","visibleHandle","watchVisible","change","setValues","getColumnValue","confirm","cancel","getColumnIndex","getValues","getIndexes","setIndexes","setColumnIndex","getColumnValues","setColumnValues","onChange","onCascadeChange","emitEvent","getColumn","setColumnValue"],Pb=({reactive:e,computed:t,props:n,api:a})=>e({columns:n.columns,toggle:!1,itemHeight:Number(n.itemHeight),defaultIndex:n.defaultIndex,visibleItemCount:n.visibleItemCount,clumnsWrapHeight:null,formattedColumns:[],dataType:t(()=>a.getDataType())}),Fb=({api:e,props:t,state:n,emit:a,childrenPickerRefs:r})=>{Object.assign(e,{state:n,getColumn:bb(r),getValues:kb(r),getIndexes:Db(r),getDataType:sb(n),visibleHandle:ob(a),formatCascade:db({state:n,props:t}),getColumnValues:Tb(r),setColumnValues:$b(r),emitEvent:yb({api:e,state:n,emit:a}),change:cb(e),onChange:Mb({api:e,state:n,emit:a}),cancel:hb({api:e,emit:a}),confirm:gb({api:e,childrenPickerRefs:r}),format:ub({state:n,api:e}),setValues:mb(e),setIndexes:Cb(e),watchVisible:lb(a),setColumnIndex:wb(e),getColumnValue:pb(e),getColumnIndex:vb(e),setColumnValue:fb(e),onCascadeChange:Ab({api:e,state:n,props:t})})},Ib=({watch:e,props:t,state:n,api:a})=>{e(()=>t.visible,r=>{a.watchVisible({state:n,value:r})}),e(()=>t.columns,r=>{n.columns=r,a.format()})},Ob=(e,{computed:t,onMounted:n,reactive:a,watch:r},{emit:i,nextTick:o,vm:l,constants:s})=>{const u={},d={childrenPicker:null},c=Pb({reactive:a,computed:t,props:e,api:u});return Fb({api:u,props:e,state:c,emit:i,childrenPickerRefs:d}),Ib({watch:r,props:e,state:c,api:u}),n(()=>{o(()=>{d.childrenPicker=Sb({state:c,vm:l,constants:s})}),u.format(),c.clumnsWrapHeight=c.itemHeight*c.visibleItemCount}),u},Eb=["state","onClickItem","onTransitionEnd","setValue","getValue","setOptions","setIndex"],zb=({reactive:e,computed:t,props:n,api:a})=>e({columnsItem:n.columnsItem,columnsItemArr:n.columnsItem.values,currentIndex:n.defaultIndex,itemHeight:n.itemHeight,visibleItemCount:n.visibleItemCount,offset:0,duration:0,startOffset:0,moving:!1,defaultDuration:200,momentumLimitTime:300,momentumLimitDistance:15,touchStartTime:null,momentumOffset:0,direction:"",deltaX:0,deltaY:0,offsetX:0,offsetY:0,count:n.columnsItem.values.length,transitionEndTrigger:null,clumnsWrapHeight:null,maskStyle:null,wrapperStyle:t(()=>a.computedWrapperStyle()),baseOffset:t(()=>a.computedBaseOffset())}),Yb=({api:e,props:t,state:n,vm:a,emit:r})=>{Object.assign(e,{state:n,getValue:Oa(n),adjustIndex:Ea(n),onTouchmove:za({state:n}),onTouchstart:Ya({state:n}),getOptionText:Na({state:n,props:t}),onTransitionEnd:Ra(n),computedBaseOffset:ja({state:n,props:t}),computedWrapperStyle:Ua(n),setValue:Ba({api:e,state:n}),onTouchend:Ha({api:e,state:n}),setOptions:La({api:e,state:n,props:t}),momentum:Wa({api:e,state:n,props:t}),setIndex:Ka({api:e,state:n,emit:r}),onClickItem:Ga({api:e,state:n}),mountedHandler:_a({api:e,state:n,vm:a}),beforeUnmountHandler:Qa({api:e,vm:a})})},Nb=({watch:e,props:t,state:n,api:a})=>{e(()=>t.defaultIndex,a.setIndex,{immediate:!0}),e(()=>t.columnsItem,r=>{n.columnsItem=r},{immediate:!0}),e(()=>t.columnsItem.values,r=>{n.count=r.length},{immediate:!0})},Rb=(e,{computed:t,onMounted:n,reactive:a,watch:r,onBeforeUnmount:i},{emit:o,vm:l})=>{const s={},u=zb({reactive:a,computed:t,props:e,api:s});return Yb({api:s,props:e,state:u,vm:l,emit:o}),s.setIndex(u.currentIndex),u.columnsItem=Ia(e.columnsItem),Nb({watch:r,props:e,state:u,api:s}),n(s.mountedHandler),i(s.beforeUnmountHandler),s};function jb(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Ub(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ub(e,t){if(e){if(typeof e=="string")return Cn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Cn(e,t)}}function Cn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var Bb=function(t,n){for(var a=t.__vccOpts||t,r=jb(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Hb=E({name:R+"PickerColumn",emits:["change"],props:{columnsItem:{type:Object,default:function(){return{}}},defaultIndex:Number,itemHeight:Number,visibleItemCount:Number,swipeDuration:Number,valueKey:String},setup:function(t,n){return N({props:t,context:n,renderless:Rb,api:Eb,mono:!0})}}),Lb={class:"tiny-mobile-picker-column"},Wb=["onClick"];function Kb(e,t,n,a,r,i){return m(),h("div",Lb,[f("div",{class:"tiny-mobile-picker-column__mask",style:q(e.state.maskStyle)},null,4),f("div",{class:"tiny-mobile-picker-column__indicator",style:q({height:e.itemHeight+"px"})},null,4),f("ul",{class:"tiny-mobile-picker-column__wrapper",ref:"track",style:q(e.state.wrapperStyle),onClick:t[1]||(t[1]=function(o){return e.onClickItem(1)})},[(m(!0),h(P,null,I(e.state.columnsItem.values,function(o,l){return m(),h("li",{class:b({"tiny-mobile-picker-column__item":!0,"is-select":l===e.state.currentIndex}),key:l,onClick:le(function(s){return e.onClickItem(l)},["stop"]),style:q({height:e.itemHeight+"px",lineHeight:e.itemHeight+"px"}),onTransitionend:t[0]||(t[0]=function(){return e.onTransitionEnd&&e.onTransitionEnd.apply(e,arguments)})},C(o),47,Wb)}),128))],4)])}var Be=Bb(Hb,[["render",Kb]]),Gb="3.16.0";Be.install=function(e){e.component(Be.name,Be)};Be.version=Gb;function _b(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Qb(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qb(e,t){if(e){if(typeof e=="string")return wn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return wn(e,t)}}function wn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var qb=function(t,n){for(var a=t.__vccOpts||t,r=_b(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},Jb={CHILDREN_PICKER:"childrenPicker"},Xb=E({name:R+"MiniPicker",components:{PickerColumn:Be},props:{_constants:{type:Object,default:function(){return Jb}},columns:{type:Array,default:function(){return[]}},visible:{type:Boolean,default:!1},title:{type:String,default:""},confirmButtonText:{type:String,default:function(){return st("ui.miniPicker.confirm")}},cancelButtonText:{type:String,default:function(){return st("ui.miniPicker.cancel")}},defaultIndex:{type:Number,default:0},valueKey:{type:String,default:"text"},itemHeight:{type:Number,default:34},visibleItemCount:{type:Number,default:5},swipeDuration:{type:Number,default:1e3}},setup:function(t,n){return N({props:t,context:n,renderless:Ob,api:Vb,mono:!0})}}),Zb=f("div",{class:"tiny-mobile-mini-picker__mask"},null,-1),xb={class:"tiny-mobile-mini-picker__toolbar"},ev={class:"picker_action picker_title"};function tv(e,t,n,a,r,i){var o=w("picker-column");return S((m(),h("div",{class:"tiny-mobile-mini-picker",onClick:t[2]||(t[2]=function(){return e.visibleHandle&&e.visibleHandle.apply(e,arguments)})},[Zb,f("div",{class:b(["tiny-mobile-mini-picker__content",e.state.toggle?"is-toggle":""])},[f("div",xb,[H(e.$slots,"toolbar",{},function(){return[f("div",{class:"picker_action picker_cancel",onClick:t[0]||(t[0]=function(){return e.cancel&&e.cancel.apply(e,arguments)})},C(e.cancelButtonText),1),f("div",ev,C(e.title),1),f("div",{class:"picker_action picker_confirm",onClick:t[1]||(t[1]=function(){return e.confirm&&e.confirm.apply(e,arguments)})},C(e.confirmButtonText),1)]})]),f("div",{class:"tiny-mobile-mini-picker__columns",style:q({height:e.state.clumnsWrapHeight+"px"})},[(m(!0),h(P,null,I(e.state.formattedColumns,function(l,s){return m(),F(o,{"columns-item":l,ref_for:!0,ref:"childrenPicker"+s,key:s,"default-index":l.defaultIndex||+e.state.defaultIndex,"item-height":e.itemHeight,"swipe-duration":e.swipeDuration,"value-key":e.valueKey,onChange:function(d){return e.change(s)},"visible-item-count":e.visibleItemCount},null,8,["columns-item","default-index","item-height","swipe-duration","value-key","onChange","visible-item-count"])}),128))],4)],2)],512)),[[z,e.visible]])}var He=qb(Xb,[["render",tv]]),nv="3.16.0";He.install=function(e){e.component(He.name,He)};He.version=nv;function av(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=rv(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rv(e,t){if(e){if(typeof e=="string")return Tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Tn(e,t)}}function Tn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var iv=function(t,n){for(var a=t.__vccOpts||t,r=av(n),i;!(i=r()).done;){var o=i.value,l=o[0],s=o[1];a[l]=s}return a},ov=E({components:{TinyMiniPicker:He,TinyInput:we,IconClose:or()},props:[].concat(G,["modelValue","type","clearable","visible","minDate","maxDate","formatter"]),setup:function(t,n){return N({props:t,context:n,renderless:ib,api:ab})}});function lv(e,t,n,a,r,i){var o=w("icon-close"),l=w("tiny-input"),s=w("tiny-mini-picker");return m(),h("div",null,[D(l,{onHookMounted:e.hookMounted,modelValue:e.state.displayValue,"onUpdate:modelValue":t[0]||(t[0]=function(u){return e.state.displayValue=u}),ref:"refrence",onFocus:e.showPickerAndLockScroll,readOnly:"true",_mode:e._mode},{default:M(function(){return[e.state.clearable?A("v-if",!0):(m(),F(o,{key:0,slot:"suffix",onClick:e.clearDisplayValue},null,8,["onClick"]))]}),_:1},8,["onHookMounted","modelValue","onFocus","_mode"]),D(s,{visible:e.state.visible,"onUpdate:visible":t[1]||(t[1]=function(u){return e.state.visible=u}),ref:"picker",columns:e.state.columns,onChange:e.onChange,onConfirm:e.onConfirm,onCancel:e.onCancel},null,8,["visible","columns","onChange","onConfirm","onCancel"])])}var sv=iv(ov,[["render",lv]]);function Mt(){return Mt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Mt.apply(this,arguments)}var uv=function(t){var n,a=typeof process=="object"?(n={})==null?void 0:n.TINY_MODE:null;return(a||t)==="pc"?kn:(a||t)==="mobile"?sv:kn},$n=new Date().getFullYear(),dv={MonthDay:32,Minutes:59,Hours:23,TotalMonth:12,Max:"max",Min:"min",Hour:"hour",Minute:"minute",CapYear:"Year",CapMonth:"Month",CapDate:"Date",CapHour:"Hour",CapMinute:"Minute",YearMonth:"year-month",DateTime:"datetime",Date:"date",HookMounted:"hook-mounted",Hidden:"hidden",Year:"year",Day:"day"},An=function(t){var n=t==null||typeof t=="string"||t instanceof String||Array.isArray(t)&&t.length===2&&t.every(function(a){return typeof a=="string"||a instanceof String});return n},cv={tiny_mode:String,tiny_mode_root:Boolean,tiny_template:[Function,Object],tiny_renderless:Function,tiny_theme:String,tiny_chart_theme:Object},fv=Mt({},cv,{tabindex:{type:String,default:"0"},timeFormat:String,suffixIcon:Object,label:String,shape:String,tip:String,changeOnConfirm:{type:Boolean,default:!1},popperAppendToBody:{type:Boolean,default:!0},isutc8:{type:Boolean,default:!1},dbTimezone:Number,timezoneOffset:Number,iso8601:Boolean,autoFormat:{type:Boolean,default:!1},title:String,blank:{type:Boolean,default:!1},type:{type:String,default:"date"},_constants:{type:Object,default:function(){return dv}},timeArrowControl:Boolean,timeEditable:{type:Boolean,default:!0},size:String,format:String,valueFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:Object,clearIcon:{type:Object,default:function(){return Ft()}},name:{default:"",validator:An},disabled:Boolean,clearable:{type:Boolean,default:!0},id:{default:"",validator:An},popperClass:String,editable:{type:Boolean,default:!0},align:{type:String,default:"left"},modelValue:{},defaultValue:{},defaultTime:{},rangeSeparator:{type:[Object,String],default:"-"},pickerOptions:{},unlinkPanels:Boolean,validateEvent:{type:Boolean,default:!0},isRange:Boolean,arrowControl:Boolean,timezoneData:{},showTimezone:{type:Boolean,default:!1},defaultTimezone:{},visible:Boolean,minDate:{type:Date,default:function(){return new Date($n-10,0,1)},validator:function(t){return Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t.getTime())}},maxDate:{type:Date,default:function(){return new Date($n+10,11,31)},validator:function(t){return Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t.getTime())}},formatter:{type:Function,default:function(t,n){return n}},componentName:{type:String,default:"DatePicker"},displayOnly:{type:Boolean,default:!1},step:{type:Object,default:function(){return{hour:1,minute:1,second:1}}},showWeekNumber:{type:Boolean,default:!1},formatWeeks:Function,changeCompat:{type:Boolean,default:!1}}),Le=E({name:R+"DatePicker",props:fv,setup:function(t,n){return ie({props:t,context:n,template:uv})}}),mv="3.16.0";Le.model={prop:"modelValue",event:"update:modelValue"};Le.install=function(e){e.component(Le.name,Le)};Le.version=mv;export{Le as D};
diff --git a/admin-website/src/main/resources/static/assets/index-ed221282.css b/admin-website/src/main/resources/static/assets/index-ed221282.css
deleted file mode 100644
index 9934aa2..0000000
--- a/admin-website/src/main/resources/static/assets/index-ed221282.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-scrollbar{--ti-scrollbar-vertical-right:2px;--ti-scrollbar-vertical-width:6px;--ti-scrollbar-thumb-bg-color:rgba(144, 147, 153, .3);--ti-scrollbar-thumb-hover-bg-color:rgba(144, 147, 153, .5);--ti-scrollbar-thumb-border-radius:inherit;overflow:hidden;position:relative}.tiny-scrollbar:active>.tiny-scrollbar__bar,.tiny-scrollbar:focus>.tiny-scrollbar__bar,.tiny-scrollbar:hover>.tiny-scrollbar__bar{opacity:1;-webkit-transition:opacity .34s ease-out;transition:opacity .34s ease-out}.tiny-scrollbar__wrap{overflow:scroll;height:100%;max-height:200px}.tiny-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.tiny-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:var(--ti-scrollbar-thumb-border-radius);background-color:var(--ti-scrollbar-thumb-bg-color);-webkit-transition:.3s background-color;transition:.3s background-color}.tiny-scrollbar__thumb:hover{background-color:var(--ti-scrollbar-thumb-hover-bg-color)}.tiny-scrollbar__bar{position:absolute;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity .12s ease-out;transition:opacity .12s ease-out}.tiny-scrollbar__bar.is-vertical{width:var(--ti-scrollbar-vertical-width);top:2px;right:var(--ti-scrollbar-vertical-right)}.tiny-scrollbar__bar.is-vertical>div{width:100%}.tiny-scrollbar__bar.is-horizontal{height:6px;left:2px;right:2px}.tiny-scrollbar__bar.is-horizontal>div{height:100%}.tiny-filter-box{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:28px;line-height:28px;border-radius:4px;background:#f5f6f8;color:#161e26;padding:4px 6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px}.tiny-filter-box:hover{background:rgba(92,172,255,.1)}.tiny-filter-box.disabled{cursor:not-allowed}.tiny-filter-box.disabled .title label{color:#b5bbc1}.tiny-filter-box.disabled .value{color:#5c6976}.tiny-filter-box.disabled svg.filter-box-icon{fill:#b5bbce;cursor:not-allowed}.tiny-filter-box .title{height:inherit;line-height:inherit;font-size:12px}.tiny-filter-box .title label{display:inline-block;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#78828d;margin-right:4px}.tiny-filter-box .title.active label{color:#1890ff}.tiny-filter-box .title svg{width:16px;height:16px;margin-right:4px;fill:#8d959e;position:relative;top:-1px;vertical-align:super}.tiny-filter-box .title svg:hover{fill:#1890ff}.tiny-filter-box .value{max-width:100px;height:inherit;line-height:inherit;margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#161e26}.tiny-filter-box .value.placeholder{color:#aeaeae}.tiny-filter-box .filter-box-icon{width:12px;height:12px;cursor:pointer;fill:#78828d;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.tiny-filter-box .filter-box-icon.is-reverse{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tiny-filter-box .filter-icon-close{width:16px;height:16px;cursor:pointer;fill:#b5bbc1}.tiny-filter-box .filter-icon-close:hover{fill:#78828d}.tiny-filter-box.is-blank{background-color:transparent}.tiny-recycle-scroller{position:relative}.tiny-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.tiny-recycle-scroller.direction-vertical .tiny-recycle-scroller__item-wrapper{width:100%}.tiny-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.tiny-recycle-scroller.direction-horizontal .tiny-recycle-scroller__item-wrapper{height:100%}.tiny-recycle-scroller .tiny-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.tiny-recycle-scroller .tiny-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.tiny-recycle-scroller.ready .tiny-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.tiny-recycle-scroller.ready.direction-vertical .tiny-recycle-scroller__item-view{width:100%}.tiny-recycle-scroller.ready.direction-horizontal .tiny-recycle-scroller__item-view{height:100%}
diff --git a/admin-website/src/main/resources/static/assets/index-ef5500f2.css b/admin-website/src/main/resources/static/assets/index-ef5500f2.css
deleted file mode 100644
index df93c88..0000000
--- a/admin-website/src/main/resources/static/assets/index-ef5500f2.css
+++ /dev/null
@@ -1 +0,0 @@
-.preview-main[data-v-b51475b6]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:471px;padding:0}.preview-main .preview-table[data-v-b51475b6]{margin-top:1%}.preview-main[data-v-b51475b6] .tiny-grid .tiny-pager{padding-left:14px}.preview-main .col[data-v-b51475b6]{display:flex;justify-content:space-around;width:350px;height:150px;background:#fff;border-radius:6px;box-shadow:0 3px 20px #4062e133}.preview-main .col[data-v-b51475b6]:hover{box-shadow:0 3px 20px #4062e18c}.preview-main .img[data-v-b51475b6]{display:flex;align-items:center}.preview-main .num[data-v-b51475b6]{display:flex;flex-direction:column;justify-content:space-around}.preview-main .num #up span[data-v-b51475b6]{color:#f7961e}.preview-main .num #down span[data-v-b51475b6]{color:#3eb21f}.preview-main .num .up .left[data-v-b51475b6]{margin-left:-15%;color:#35383e;font-weight:400;font-size:18px;letter-spacing:.45px;text-align:left}.preview-main .num .up .right[data-v-b51475b6]{margin-left:15%;color:#777;font-size:16px;letter-spacing:.4px;text-align:left}.preview-main .num .down .left[data-v-b51475b6]{width:99px;height:36px;color:#242424;font-weight:700;font-size:36px;letter-spacing:1.2px;text-align:left}.preview-main .num .down .right[data-v-b51475b6]{width:8px;height:14px;color:#777;font-weight:400;font-size:16px;letter-spacing:.4px;text-align:left}@media (max-width: 1208px){.main[data-v-b51475b6]{overflow-x:auto}.col[data-v-b51475b6]{width:300px}}
diff --git a/admin-website/src/main/resources/static/assets/index-f66d2b1c.css b/admin-website/src/main/resources/static/assets/index-f66d2b1c.css
deleted file mode 100644
index d0f27c6..0000000
--- a/admin-website/src/main/resources/static/assets/index-f66d2b1c.css
+++ /dev/null
@@ -1 +0,0 @@
-.tiny-button-group{--ti-button-group-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-button-group-border-weight:var(--ti-common-size-0, 0px);--ti-button-group-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-button-group-mini-side-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-button-group-right-border-radius:var(--ti-common-border-radius-0, 0px);--ti-button-group-mini-right-border-radius:var(--ti-button-group-mini-border-radius, 0px);--ti-button-group-middle-border-radius:var(--ti-common-border-radius-0, 0px);--ti-button-group-left-border-radius:var(--ti-common-border-radius-0, 0px);--ti-button-group-mini-left-border-radius:var(--ti-button-group-mini-border-radius, 0px);--ti-button-group-hover-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-button-group-info-border-color:var(--ti-common-color-light, #fff);--ti-button-group-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-group-item-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-button-group-item-btn-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-group-item-btn-width:var(--ti-common-size-width-normal, 80px);--ti-button-group-item-btn-height:var(--ti-common-size-height-normal, 28px);--ti-button-group-item-btn-font-size:var(--ti-common-font-size-base, 12px);--ti-button-group-item-btn-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-button-group-item-btn-disabled-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-group-item-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-group-item-active-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-group-item-btn-hover-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-button-group-item-btn-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-group-item-btn-hover-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-group-item-btn-plain-text-color:var(--ti-common-color-text-link-hover, #344899);--ti-button-group-item-btn-plain-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-button-group-item-btn-plain-border-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-item-active-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-item-btn-active-hover-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-button-group-plain-active-text-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-item-active-disabled-bg-color:var(--ti-common-color-bg-dark-disabled, #dfe1e6);--ti-button-group-item-active-text-color:var(--ti-common-color-light, #fff);--ti-button-group-item-li-margin-right:calc(var(--ti-common-space-base, 4px) / 2);--ti-button-group-item-li-margin-bottom:var(--ti-common-space-base, 4px);--ti-button-group-item-active-border-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-active-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-group-btn-padding-horizontal:calc(var(--ti-common-space-10, 10px) * 3);--ti-button-group-margin-top:var(--ti-common-space-0, 0px);--ti-button-group-item-margin-top:var(--ti-common-space-0, 0px);--ti-button-group-mini-margin-right:calc(var(--ti-common-space-base, 4px) / 2);--ti-button-group-mini-font-size:calc(var(--ti-common-font-size-1, 14px) - 2px);--ti-button-group-no-border-hover-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-button-group-no-border-active-hover-bg-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-group-no-border-disabled-bg-color:var(--ti-common-color-light, #ffffff);--ti-button-group-mini-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-button-group-mini-border-radius:calc(var(--ti-common-border-radius-normal, 2px) - 2px);--ti-button-group-no-border-hover-border-color:var(--ti-common-color-transparent, transparent);--ti-button-group-no-border-border-color:var(--ti-common-color-transparent, transparent);--ti-button-group-item-sup-height:var(--ti-common-size-4x, 16px);--ti-button-group-item-sup-position-top:calc(-1 * var(--ti-button-group-item-sup-height) / 2);--ti-button-group-item-sup-font-color:var(--ti-common-color-text-white, #fff);--ti-button-group-item-sup-font-size:var(--ti-common-font-size-base, 12px);display:inline-block;vertical-align:middle;margin-top:var(--ti-button-group-margin-top)}.tiny-button-group:after,.tiny-button-group:before{content:"";display:table}.tiny-button-group:after{clear:both}.tiny-button-group--empty{color:var(--ti-common-color-placeholder)}.tiny-button-group .tiny-group-item{display:inline-block;vertical-align:middle}.tiny-button-group .tiny-group-item li.active button.disabled,.tiny-button-group .tiny-group-item li.active[disabled]{color:var(--ti-button-group-item-active-disabled-text-color)}.tiny-button-group .tiny-group-item li{line-height:28px;float:left;position:relative;margin-top:var(--ti-button-group-item-margin-top)}.tiny-button-group .tiny-group-item li button{border:var(--ti-button-group-border-weight) solid var(--ti-button-group-border-color);display:block;text-align:center;color:var(--ti-button-group-item-btn-text-color);background:var(--ti-button-group-item-bg-color);min-width:var(--ti-button-group-item-btn-width);height:var(--ti-button-group-item-btn-height);padding:0 var(--ti-button-group-btn-padding-horizontal);text-decoration:none;font-size:var(--ti-button-group-item-btn-font-size);cursor:pointer;-webkit-transition:background ease-in .3s,border ease-in .3s;transition:background ease-in .3s,border ease-in .3s;border-radius:var(--ti-button-group-middle-border-radius)}.tiny-button-group .tiny-group-item li button:focus-visible{outline:2px solid var(--ti-button-group-item-active-bg-color)}.tiny-button-group .tiny-group-item li button.disabled,.tiny-button-group .tiny-group-item li button[disabled]{background:var(--ti-button-group-item-btn-disabled-bg-color);border-color:var(--ti-button-group-item-btn-disabled-border-color);cursor:not-allowed;color:var(--ti-button-group-item-disabled-text-color);outline:0}.tiny-button-group .tiny-group-item li button.plain,.tiny-button-group .tiny-group-item li button[plain]{background:0 0}.tiny-button-group .tiny-group-item li:hover{z-index:1}.tiny-button-group .tiny-group-item li:hover button:not(.disabled){background:var(--ti-button-group-item-btn-hover-bg-color);color:var(--ti-button-group-item-btn-hover-text-color);border-color:var(--ti-button-group-item-btn-hover-border-color)}.tiny-button-group .tiny-group-item li:hover button:not(.disabled).plain,.tiny-button-group .tiny-group-item li:hover button:not(.disabled)[plain]{color:var(--ti-button-group-item-btn-plain-text-color);background-color:var(--ti-button-group-item-btn-plain-bg-color);border-color:var(--ti-button-group-item-btn-plain-border-color)}.tiny-button-group .tiny-group-item li.active{z-index:1}.tiny-button-group .tiny-group-item li.active:hover button:not(.disabled){background:var(--ti-button-group-item-btn-active-hover-bg-color);border-color:var(--ti-button-group-active-hover-border-color)}.tiny-button-group .tiny-group-item li.active:hover button:not(.disabled).plain,.tiny-button-group .tiny-group-item li.active:hover button:not(.disabled)[plain]{background-color:var(--ti-button-group-item-btn-plain-bg-color)}.tiny-button-group .tiny-group-item li.active button.disabled{background:var(--ti-button-group-item-active-disabled-bg-color)}.tiny-button-group .tiny-group-item li.active button:not(.disabled){background:var(--ti-button-group-item-active-bg-color);color:var(--ti-button-group-item-active-text-color);border-color:var(--ti-button-group-item-active-border-color)}.tiny-button-group .tiny-group-item li.active button:not(.disabled).plain,.tiny-button-group .tiny-group-item li.active button:not(.disabled)[plain]{color:var(--ti-button-group-plain-active-text-color);background:0 0}.tiny-button-group .tiny-group-item li:first-child button{border-radius:var(--ti-button-group-border-radius) var(--ti-button-group-right-border-radius) var(--ti-button-group-right-border-radius) var(--ti-button-group-border-radius)}.tiny-button-group .tiny-group-item li:last-child button{border-radius:var(--ti-button-group-left-border-radius) var(--ti-button-group-border-radius) var(--ti-button-group-border-radius) var(--ti-button-group-left-border-radius)}.tiny-button-group .tiny-group-item li:not(:last-child){margin-right:var(--ti-button-group-item-li-margin-right);margin-bottom:var(--ti-button-group-item-li-margin-bottom)}.tiny-button-group .tiny-group-item__sup{position:absolute;min-width:var(--ti-button-group-item-sup-height);height:var(--ti-button-group-item-sup-height);top:var(--ti-button-group-item-sup-position-top);color:var(--ti-button-group-item-sup-font-color);right:0;font-size:var(--ti-button-group-item-btn-font-size);line-height:var(--ti-button-group-item-sup-height);text-align:center;background-color:#fa9841}.tiny-button-group .tiny-group-item__sup .tiny-svg{vertical-align:unset}.tiny-button-group .tiny-group-item__sup-icon{background-color:#fa9841;border-radius:2px;fill:#fff}.tiny-button-group .tiny-group-item__sup-text{background-color:#fa9841;padding:0 4px;border-top-left-radius:4px;border-bottom-right-radius:4px}.tiny-button-group>.tiny-button{float:left;position:relative}.tiny-button-group>.tiny-button+.tiny-button{margin-left:0}.tiny-button-group>.tiny-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:var(--ti-button-group-info-border-color)}.tiny-button-group>.tiny-button:first-child.tiny-button--default{border-right-color:var(--ti-button-group-border-color)}.tiny-button-group>.tiny-button:first-child.tiny-button--default:active,.tiny-button-group>.tiny-button:first-child.tiny-button--default:focus,.tiny-button-group>.tiny-button:first-child.tiny-button--default:hover{border-right-color:var(--ti-button-group-hover-border-color);z-index:1}.tiny-button-group>.tiny-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--ti-button-group-info-border-color)}.tiny-button-group>.tiny-button:last-child.tiny-button--default{border-left-color:var(--ti-button-group-border-color)}.tiny-button-group>.tiny-button:last-child.tiny-button--default:active,.tiny-button-group>.tiny-button:last-child.tiny-button--default:focus,.tiny-button-group>.tiny-button:last-child.tiny-button--default:hover{border-left-color:var(--ti-button-group-hover-border-color);z-index:1}.tiny-button-group>.tiny-button:first-child:last-child{border-radius:var(--ti-button-group-border-radius)}.tiny-button-group>.tiny-button:first-child:last-child.is-round{border-radius:calc(var(--ti-button-size-normal-height,30px)/ 2)}.tiny-button-group>.tiny-button:first-child:last-child.is-circle{border-radius:50%}.tiny-button-group>.tiny-button:not(:first-child):not(:last-child){border-radius:0;border-left-color:var(--ti-button-group-info-border-color);border-right-color:var(--ti-button-group-info-border-color)}.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default{border-left-color:var(--ti-button-group-border-color);border-right-color:var(--ti-button-group-border-color)}.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default:active,.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default:focus,.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default:hover{border-left-color:var(--ti-button-group-hover-border-color);border-right-color:var(--ti-button-group-hover-border-color);z-index:1}.tiny-button-group>.tiny-button:not(:last-child){margin-right:-1px}.tiny-button-group>.tiny-button>.tiny-dropdown>.tiny-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--ti-button-group-info-border-color)}.tiny-button-group.tiny-button-group--mini li:first-child button{border-radius:var(--ti-button-group-mini-side-border-radius) var(--ti-button-group-mini-right-border-radius) var(--ti-button-group-mini-right-border-radius) var(--ti-button-group-mini-side-border-radius)}.tiny-button-group.tiny-button-group--mini li:last-child button{border-radius:var(--ti-button-group-mini-left-border-radius) var(--ti-button-group-mini-side-border-radius) var(--ti-button-group-mini-side-border-radius) var(--ti-button-group-mini-left-border-radius)}.tiny-button-group.tiny-button-group--mini li:not(:last-child){margin-right:var(--ti-button-group-mini-margin-right)}.tiny-button-group.tiny-button-group--mini li button{font-size:var(--ti-button-group-mini-font-size);padding:0 var(--ti-button-group-mini-padding-horizontal);border-radius:var(--ti-button-group-mini-border-radius)}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li button{border:1px solid transparent;background:0 0}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li:hover button:not(.disabled){background-color:var(--ti-button-group-no-border-hover-bg-color);border-color:var(--ti-button-group-no-border-hover-border-color)}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li.active:hover button:not(.disabled){background-color:var(--ti-button-group-no-border-active-hover-bg-color);border-color:var(--ti-button-group-no-border-border-color)}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li button.disabled{background-color:var(--ti-button-group-no-border-disabled-bg-color)}.tiny-dropdown-item{--ti-dropdown-item-height:30px;--ti-dropdown-item-hover-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-dropdown-item-bg-color-selected:var(--ti-common-color-selected-background, #5e7ce0);--ti-dropdown-item-font-weight-selected:var(--ti-common-font-weight-4, normal);--ti-dropdown-item-text-color-selected:var(--ti-common-color-text-white, #fff);--ti-dropdown-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-dropdown-item-active-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-dropdown-item-active-text-color:var(--ti-common-color-text-white, #fff);--ti-dropdown-item-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-dropdown-item-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dropdown-item-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-item-line-height:var(--ti-common-line-height-number, 1.5);--ti-dropdown-item-padding-vertical:var(--ti-common-space-6, 6px);--ti-dropdown-item-padding-horizontal:var(--ti-common-space-5x, 20px);--ti-dropdown-item-margin-bottom:var(--ti-common-space-0, 0px);--ti-dropdown-item-margin-left:var(--ti-common-space-0, 0px);--ti-dropdown-item-margin-right:var(--ti-common-space-0, 0px);--ti-dropdown-item-margin-top:var(--ti-common-space-0, 0px);--ti-dropdown-item-border-radius:var(--ti-common-border-radius-0, 0px);--ti-dropdown-item-max-width:var(--ti-common-size-33x, 132px);--ti-dropdown-item-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-dropdown-item-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-dropdown-item-icon-color-active:var(--ti-common-color-icon-white, #fff);--ti-dropdown-item-icon-color-disabled:var(--ti-common-color-icon-disabled, #adb0b8);--ti-dropdown-item-expand-svg-margin-left:calc(-1 * (var(--ti-common-space-base, 4px) + var(--ti-dropdown-item-expand-icon-size)));--ti-dropdown-item-expand-svg-margin-right:var(--ti-common-space-0, 0px);--ti-dropdown-item-content-margin-left:var(--ti-common-space-0, 0px);--ti-dropdown-item-content-font-weight-hover:var(--ti-common-font-weight-4, normal);--ti-dropdown-item-content-text-hover:var(--ti-common-color-text-highlight);--ti-dropdown-item-content-bg-hover:var(--ti-common-color-bg-white-emphasize);--ti-dropdown-item-divided-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-dropdown-item-divided-border-style:var(--ti-common-border-style-solid, solid);--ti-dropdown-item-divided-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-dropdown-item-before-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-dropdown-item-before-margin-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-medium-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-small-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-mini-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-before-height:6px;--ti-dropdown-item-medium-before-height:6px;--ti-dropdown-item-small-before-height:var(--ti-common-size-base, 4px);--ti-dropdown-item-mini-before-height:3px;--ti-dropdown-item-medium-line-height:var(--ti-common-size-height-normal, 28px);--ti-dropdown-item-medium-font-size:var(--ti-common-font-size-1, 14px);--ti-dropdown-item-medium-padding-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-medium-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-dropdown-item-medium-divided-margin-top:var(--ti-common-space-6, 6px);--ti-dropdown-item-small-line-height:var(--ti-common-line-height-5, 24px);--ti-dropdown-item-small-padding-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-small-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-dropdown-item-small-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-item-small-divided-margin-top:var(--ti-common-space-base, 4px);--ti-dropdown-item-mini-line-height:var(--ti-common-line-height-5, 24px);--ti-dropdown-item-mini-padding-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-mini-padding-horizontal:var(--ti-common-space-10, 10px);--ti-dropdown-item-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-item-mini-divided-margin-top:calc(var(--ti-common-space-1, 1px) * 3);--ti-dropdown-item-expand-icon-size:8px;list-style:none;font-size:var(--ti-dropdown-item-font-size);color:var(--ti-dropdown-item-text-color);cursor:pointer;outline:0;position:relative;word-break:break-all;max-width:var(--ti-dropdown-item-max-width)}.tiny-dropdown-item[class*=tiny-]{margin:var(--ti-dropdown-item-margin-top) var(--ti-dropdown-item-margin-right) var(--ti-dropdown-item-margin-bottom) var(--ti-dropdown-item-margin-left)}.tiny-dropdown-item[class*=tiny-]:last-of-type{margin-bottom:0}.tiny-dropdown-item__wrap{line-height:var(--ti-dropdown-item-line-height);padding:var(--ti-dropdown-item-padding-vertical) var(--ti-dropdown-item-padding-horizontal);height:var(--ti-dropdown-item-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-dropdown-item__wrap .tiny-dropdown-item--child{position:absolute;right:100%;top:0;display:none}.tiny-dropdown-item__wrap .tiny-dropdown-item__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-dropdown-item__wrap .tiny-dropdown-item__expand .tiny-svg{fill:var(--ti-dropdown-item-icon-color);font-size:var(--ti-dropdown-item-expand-icon-size);margin-left:var(--ti-dropdown-item-expand-svg-margin-left);margin-right:var(--ti-dropdown-item-expand-svg-margin-right)}.tiny-dropdown-item__wrap .tiny-dropdown-item__expand+.tiny-dropdown-item__content{margin-left:0}.tiny-dropdown-item__wrap .tiny-dropdown-item__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.tiny-dropdown-item__wrap .tiny-dropdown-item__content .tiny-dropdown-item__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-dropdown-item__wrap .tiny-dropdown-item__content .tiny-svg{margin-right:4px;fill:var(--ti-dropdown-item-icon-color)}.tiny-dropdown-item:focus,.tiny-dropdown-item:not(.is-disabled):hover{background-color:var(--ti-dropdown-item-hover-bg-color);color:var(--ti-dropdown-item-hover-text-color);border-radius:var(--ti-dropdown-item-border-radius)}.tiny-dropdown-item:focus>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content .tiny-svg,.tiny-dropdown-item:focus>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand .tiny-svg,.tiny-dropdown-item:not(.is-disabled):hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content .tiny-svg,.tiny-dropdown-item:not(.is-disabled):hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand .tiny-svg{fill:var(--ti-dropdown-item-icon-color-hover)}.tiny-dropdown-item:focus>.tiny-dropdown-item__wrap>.tiny-dropdown-item--child,.tiny-dropdown-item:not(.is-disabled):hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item--child{display:block}.tiny-dropdown-item:not(.is-disabled):active{background-color:var(--ti-dropdown-item-active-bg-color);color:var(--ti-dropdown-item-active-text-color);border-radius:var(--ti-dropdown-item-border-radius)}.tiny-dropdown-item:not(.is-disabled):active>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content .tiny-svg,.tiny-dropdown-item:not(.is-disabled):active>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand .tiny-svg{fill:var(--ti-dropdown-item-icon-color-active)}.tiny-dropdown-item:not(.is-disabled).has-children:hover{color:var(--ti-dropdown-item-content-text-hover);background-color:var(--ti-dropdown-item-content-bg-hover)}.tiny-dropdown-item:not(.is-disabled).has-children:hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content{font-weight:var(--ti-dropdown-item-content-font-weight-hover)}.tiny-dropdown-item.is-disabled{cursor:not-allowed;color:var(--ti-dropdown-item-disabled-text-color)}.tiny-dropdown-item.is-disabled>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content svg,.tiny-dropdown-item.is-disabled>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand svg{fill:var(--ti-dropdown-item-icon-color-disabled)}.tiny-dropdown-item--divided{position:relative;border-top:var(--ti-dropdown-item-divided-border-weight) var(--ti-dropdown-item-divided-border-style) var(--ti-dropdown-item-divided-border-color)}.tiny-dropdown-item--divided:before{content:"";height:var(--ti-dropdown-item-before-height);display:block;margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-before-margin-horizontal);background-color:var(--ti-dropdown-item-before-bg-color)}.tiny-dropdown-item--check-status{background-color:var(--ti-dropdown-item-bg-color-selected);color:var(--ti-dropdown-item-text-color-selected);font-weight:var(--ti-dropdown-item-font-weight-selected)}.tiny-fade-enter-active{-webkit-animation:.3s mobile-fade-in both ease-out;animation:.3s mobile-fade-in both ease-out}.tiny-fade-leave-active{-webkit-animation:.3s mobile-fade-out both ease-in;animation:.3s mobile-fade-out both ease-in}.tiny-overlay{position:fixed;top:0;left:0;z-index:1;width:100%;height:100%;background-color:#000000b3}.tiny-overflow-hidden{overflow:hidden!important}.tiny-popup{position:fixed;max-height:100%;overflow-y:auto;background-color:#fff;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.tiny-popup--center{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);left:50%;top:50%}.tiny-popup--center.tiny-popup--round{border-radius:20px}.tiny-popup--top{top:0;left:0;width:100%}.tiny-popup--top.tiny-popup--round{border-radius:0 0 20px 20px}.tiny-popup--right{top:50%;right:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.tiny-popup--right.tiny-popup--round{border-radius:20px 0 0 20px}.tiny-popup--bottom{bottom:0;left:0;width:100%}.tiny-popup--bottom.tiny-popup--round{border-radius:20px 20px 0 0}.tiny-popup--left{top:50%;left:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.tiny-popup--left.tiny-popup--round{border-radius:0 20px 20px 0}.tiny-popup--safe-area-inset-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.tiny-popup-slide-top-enter,.tiny-popup-slide-top-leave-active{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.tiny-popup-slide-right-enter,.tiny-popup-slide-right-leave-active{-webkit-transform:translate3d(100%,-50%,0);transform:translate3d(100%,-50%,0)}.tiny-popup-slide-bottom-enter,.tiny-popup-slide-bottom-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.tiny-popup-slide-left-enter,.tiny-popup-slide-left-leave-active{-webkit-transform:translate3d(-100%,-50%,0);transform:translate3d(-100%,-50%,0)}.tiny-popup__close-icon{position:absolute;z-index:1;color:#c8c9cc;font-size:22px;cursor:pointer}.tiny-popup__close-icon:active{color:#969799}.tiny-popup__close-icon--top-left{top:16px;left:16px}.tiny-popup__close-icon--top-right{top:16px;right:16px}.tiny-popup__close-icon--bottom-left{bottom:16px;left:16px}.tiny-popup__close-icon--bottom-right{right:16px;bottom:16px}@-webkit-keyframes mobile-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mobile-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes mobile-fade-out{0%{opacity:1}to{opacity:0}}@keyframes mobile-fade-out{0%{opacity:1}to{opacity:0}}.tiny-mobile-dropdown-item{position:fixed;right:0;left:0;z-index:10;overflow:hidden}.tiny-mobile-dropdown-item--up{top:0}.tiny-mobile-dropdown-item--down{bottom:0}.tiny-mobile-dropdown-item__content{position:absolute}.tiny-mobile-dropdown-item__cell{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;overflow:hidden;font-size:14px;background-color:#fff}.tiny-mobile-dropdown-item__option{height:48px;line-height:48px;padding:0 16px;text-align:left;outline:0;cursor:pointer}.tiny-mobile-dropdown-item__option:after{content:" ";display:block;height:1px;width:100%;margin-left:16px;border-top:1px solid #ddd;color:#ddd;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:0 0;transform-origin:0 0;position:absolute;top:auto;right:auto;bottom:0;left:0}.tiny-mobile-dropdown-item__option-title{position:relative;overflow:hidden;color:#333;-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-mobile-dropdown-item__option-value{padding-left:8px;font-size:16px}.tiny-mobile-dropdown-item__option.is-active .tiny-mobile-dropdown-item__option-title{color:#f36f64}.tiny-mobile-dropdown-item__filter{max-height:408px;overflow:hidden}.tiny-mobile-dropdown-item__filter-wrap{width:100%;height:calc(100% - 76px);padding:16px 12px 0 16px;overflow:hidden;overflow-y:auto}.tiny-mobile-dropdown-item__filter-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.tiny-mobile-dropdown-item__filter-item:not(:first-child){margin-top:22px}.tiny-mobile-dropdown-item__filter-title{display:block;color:#666}.tiny-mobile-dropdown-item__filter .tiny-mobile-dropdown-item__filter-li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:32px;padding:0 16px;border-radius:2px;margin:8px 8px 8px 0;color:#333;background:#f5f5f5}.tiny-mobile-dropdown-item__filter .tiny-mobile-dropdown-item__filter-li.checked{padding:0 15px;background:#fff}.tiny-mobile-dropdown-item__filter-operate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:column;-ms-flex-positive:column;flex-grow:column;padding:16px;border-top:1px solid #ddd}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dropdown-item__filter-operate{border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-dropdown-item__filter-operate:before{content:"";z-index:1;display:block;background-color:#ddd;position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dropdown-item__filter-operate:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-dropdown-item__filter-operate button{width:50%;-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-mobile-dropdown-item__filter-operate button:first-child{margin-right:16px}.tiny-dropdown-menu{--ti-dropdown-menu-border-width:0;--ti-dropdown-menu-border-color:var(--ti-common-color-light, #fff);--ti-dropdown-menu-box-shadow:var(--ti-common-shadow-2-down, 0 2px 8px 0 rgba(0, 0, 0, .2));--ti-dropdown-menu-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-dropdown-menu-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-dropdown-menu-min-width:var(--ti-common-size-9x, 36px);--ti-dropdown-menu-margin-vertical:var(--ti-common-space-base, 4px);--ti-dropdown-menu-padding-vertical:var(--ti-common-space-base, 4px);--ti-dropdown-menu-padding-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-menu-medium-padding-vertical:var(--ti-common-space-6, 6px);--ti-dropdown-menu-medium-padding-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-menu-small-padding-vertical:var(--ti-common-space-6, 6px);--ti-dropdown-menu-small-padding-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-menu-arrow-border-width:6px;--ti-dropdown-menu-arrow-margin-bottom:12px;--ti-dropdown-menu-arrow-margin-top:12px;--ti-dropdown-menu-arrow-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-dropdown-menu-arrow-after-border-color:var(--ti-common-color-light, #fff);--ti-dropdown-menu-arrow-after-default-border-color:var(--ti-common-color-transparent, transparent);position:absolute;padding:var(--ti-dropdown-menu-padding-vertical) var(--ti-dropdown-menu-padding-horizontal);background-color:var(--ti-dropdown-menu-bg-color);border-radius:var(--ti-dropdown-menu-border-radius);-webkit-box-shadow:var(--ti-dropdown-menu-box-shadow);box-shadow:var(--ti-dropdown-menu-box-shadow);width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:var(--ti-dropdown-menu-min-width);margin:var(--ti-dropdown-menu-margin-vertical) 0;border:var(--ti-dropdown-menu-border-width) solid var(--ti-dropdown-menu-border-color)}.tiny-dropdown-menu .tiny-dropdown-menu{padding:var(--ti-dropdown-menu-padding-vertical) var(--ti-dropdown-menu-padding-horizontal)}.tiny-dropdown-menu:has(.has-children) li:not(.has-children) .tiny-dropdown-item__content{margin-left:var(--ti-dropdown-item-content-margin-left)}.tiny-dropdown-menu.tiny-popper .popper__arrow,.tiny-dropdown-menu.tiny-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:var(--ti-dropdown-menu-arrow-after-default-border-color);border-style:solid}.tiny-dropdown-menu.tiny-popper .popper__arrow{border-width:var(--ti-dropdown-menu-arrow-border-width);-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.tiny-dropdown-menu.tiny-popper .popper__arrow:after{content:" ";border-width:var(--ti-dropdown-menu-arrow-border-width)}.tiny-dropdown-menu.tiny-popper[x-placement^=top]{margin-bottom:var(--ti-dropdown-menu-arrow-margin-bottom)}.tiny-dropdown-menu.tiny-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:var(--ti-dropdown-menu-arrow-border-color);border-bottom-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:var(--ti-dropdown-menu-arrow-after-border-color);border-bottom-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=bottom]{margin-top:var(--ti-dropdown-menu-arrow-margin-top)}.tiny-dropdown-menu.tiny-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:var(--ti-dropdown-menu-arrow-border-color)}.tiny-dropdown-menu.tiny-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:var(--ti-dropdown-menu-arrow-after-border-color)}.tiny-dropdown-menu.tiny-popper[x-placement^=right]{margin-left:12px}.tiny-dropdown-menu.tiny-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:var(--ti-dropdown-menu-arrow-border-color);border-left-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:var(--ti-dropdown-menu-arrow-after-border-color);border-left-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=left]{margin-right:12px}.tiny-dropdown-menu.tiny-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:var(--ti-dropdown-menu-arrow-border-color)}.tiny-dropdown-menu.tiny-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:var(--ti-dropdown-menu-arrow-after-border-color)}.tiny-dropdown-menu--medium{padding:var(--ti-dropdown-menu-medium-padding-vertical) var(--ti-dropdown-menu-medium-padding-horizontal)}.tiny-dropdown-menu--medium .tiny-dropdown-item{line-height:var(--ti-dropdown-item-medium-line-height);font-size:var(--ti-dropdown-item-medium-font-size)}.tiny-dropdown-menu--medium .tiny-dropdown-item.tiny-dropdown-item--divided{margin-top:var(--ti-dropdown-item-medium-divided-margin-top)}.tiny-dropdown-menu--medium .tiny-dropdown-item.tiny-dropdown-item--divided:before{height:var(--ti-dropdown-item-medium-before-height);margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-medium-before-margin-horizontal)}.tiny-dropdown-menu--small{padding:var(--ti-dropdown-menu-small-padding-vertical) var(--ti-dropdown-menu-small-padding-horizontal)}.tiny-dropdown-menu--small .tiny-dropdown-item{line-height:var(--ti-dropdown-item-small-line-height);font-size:var(--ti-dropdown-item-small-font-size)}.tiny-dropdown-menu--small .tiny-dropdown-item.tiny-dropdown-item--divided{margin-top:var(--ti-dropdown-item-small-divided-margin-top)}.tiny-dropdown-menu--small .tiny-dropdown-item.tiny-dropdown-item--divided:before{height:var(--ti-dropdown-item-small-before-height);margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-small-before-margin-horizontal)}.tiny-dropdown-menu--mini{padding:3px 0}.tiny-dropdown-menu--mini .tiny-dropdown-item{line-height:var(--ti-dropdown-item-mini-line-height);font-size:var(--ti-dropdown-item-mini-font-size)}.tiny-dropdown-menu--mini .tiny-dropdown-item.tiny-dropdown-item--divided{margin-top:var(--ti-dropdown-item-mini-divided-margin-top)}.tiny-dropdown-menu--mini .tiny-dropdown-item.tiny-dropdown-item--divided:before{height:var(--ti-dropdown-item-small-before-height);margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-mini-before-margin-horizontal)}.tiny-mobile-dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-mobile-dropdown-menu__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:40px;outline:0;cursor:pointer}.tiny-mobile-dropdown-menu__item:active{opacity:.7}.tiny-mobile-dropdown-menu__item.is-disabled:active{opacity:1}.tiny-mobile-dropdown-menu__item.is-disabled .tiny-mobile-dropdown-menu__title{color:#969799}.tiny-mobile-dropdown-menu__title{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;padding-left:16px;color:#666;font-size:14px;line-height:1}.tiny-mobile-dropdown-menu__title-wrap .tiny-svg{font-size:10px}.tiny-mobile-dropdown-menu__title-wrap .tiny-svg.filter-icon{font-size:16px}.tiny-mobile-dropdown-menu__title-icon{position:relative;height:18px;display:inline-block;vertical-align:text-bottom}.tiny-mobile-dropdown-menu__title-icon .up{position:absolute;top:0}.tiny-mobile-dropdown-menu__title-icon .down{position:absolute;bottom:0}.tiny-mobile-dropdown-menu__title-text{position:relative;width:auto;max-width:calc(100% - 16px);margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1}.tiny-mobile-dropdown-menu__title.is-active{color:#f36f64}.tiny-mobile-dropdown-menu__title.is-down:after{margin-top:-1px;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-mobile-dropdown-menu__bar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#fff;border-bottom:1px solid #ccc}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dropdown-menu__bar{border-bottom:none;position:relative}html:not([data-scale]) .tiny-mobile-dropdown-menu__bar:after{content:"";z-index:1;display:block;background-color:#ccc;position:absolute;right:auto;left:0;bottom:0;top:auto;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dropdown-menu__bar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-dropdown-menu__bar--opened{z-index:11}.tiny-dropdown{--ti-dropdown-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-text-color:var(--ti-common-color-text-link, #526ecc);--ti-dropdown-text-color-hover:var(--ti-common-color-text-link-hover, #344899);--ti-dropdown-line-height:var(--ti-common-line-height-number, 1.5);--ti-dropdown-icon-size:10px;--ti-dropdown-icon-color:var(--ti-common-color-text-link, #526ecc);--ti-dropdown-icon-color-hover:var(--ti-common-color-text-link-hover, #344899);--ti-dropdown-trigger-only-svg-width:var(--ti-common-size-5x);--ti-dropdown-trigger-only-svg-height:var(--ti-common-size-5x);--ti-dropdown-trigger-only-svg-hover-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-dropdown-trigger-only-svg-hover-radius:var(--ti-common-border-radius-normal);--ti-dropdown-button-icon-color:var(--ti-common-color-icon-white, #fff);--ti-dropdown-button-icon-size:var(--ti-common-font-size-1, 14px);--ti-dropdown-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-dropdown-trigger-title-margin-right:var(--ti-common-space-base, 4px);--ti-dropdown-trigger-svg-margin-left:var(--ti-common-space-base, 4px);--ti-dropdown-trigger-svg-margin-top:1px;--ti-dropdown-trigger-svg-margin-bottom:1px;--ti-dropdown-caret-button-padding-left:var(--ti-common-space-base, 4px);--ti-dropdown-caret-button-padding-right:var(--ti-common-space-base, 4px);--ti-dropdown-caret-button-min-width:var(--ti-common-size-6x, 24px);--ti-dropdown-caret-line-bg-color:var(--ti-common-color-light, #fff);--ti-dropdown-caret-line-margin-top:var(--ti-common-space-base, 4px);--ti-dropdown-caret-line-margin-bottom:var(--ti-common-space-base, 4px);--ti-dropdown-caret-line-margin-top-hover:var(--ti-common-space-0, 0px);--ti-dropdown-caret-line-margin-bottom-hover:var(--ti-common-space-0, 0px);--ti-dropdown-caret-line-width:var(--ti-common-border-weight-normal, 1px);--ti-dropdown-caret-line-bg-color-default:var(--ti-common-color-line-normal, #adb0b8);--ti-dropdown-caret-line-bg-color-default-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-dropdown-caret-svg-margin-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-caret-svg-margin-horizontal:var(--ti-common-space-base, 4px);--ti-dropdown-caret-svg-padding-left:var(--ti-common-space-0, 0px);--ti-dropdown-title-button-padding-right:var(--ti-common-space-5x, 20px);--ti-dropdown-title-button-padding-left:var(--ti-common-space-5x, 20px);display:inline-block;position:relative;color:var(--ti-dropdown-text-color);font-size:var(--ti-dropdown-font-size)}.tiny-dropdown span{display:inline-block}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button) .tiny-svg{margin-top:var(--ti-dropdown-trigger-svg-margin-top);margin-bottom:var(--ti-dropdown-trigger-svg-margin-bottom);vertical-align:top}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button):not(:has(.tiny-dropdown__title))>.tiny-dropdown__suffix-inner .tiny-svg{width:var(--ti-dropdown-trigger-only-svg-width);height:var(--ti-dropdown-trigger-only-svg-height);margin:2px}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button):not(:has(.tiny-dropdown__title))>.tiny-dropdown__suffix-inner:hover{background-color:var(--ti-dropdown-trigger-only-svg-hover-bg-color);border-radius:var(--ti-dropdown-trigger-only-svg-hover-radius)}.tiny-dropdown .tiny-dropdown__trigger .tiny-dropdown__title{line-height:var(--ti-dropdown-line-height);margin-right:var(--ti-dropdown-trigger-title-margin-right)}.tiny-dropdown .tiny-dropdown__trigger .tiny-svg{fill:var(--ti-dropdown-icon-color);font-size:var(--ti-dropdown-icon-size)}.tiny-dropdown .tiny-dropdown__trigger.tiny-button .tiny-svg{fill:var(--ti-dropdown-button-icon-color);font-size:var(--ti-dropdown-button-icon-size);margin-left:var(--ti-dropdown-trigger-svg-margin-left)}.tiny-dropdown .tiny-dropdown__trigger.tiny-button--default .tiny-svg{fill:var(--ti-button-normal-text-color)}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-dropdown__caret-button):not(.is-disabled):hover{color:var(--ti-dropdown-text-color-hover)}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-dropdown__caret-button):not(.is-disabled):hover .tiny-svg{fill:var(--ti-dropdown-icon-color-hover)}.tiny-dropdown .tiny-dropdown__trigger.is-disabled{cursor:not-allowed;color:var(--ti-dropdown-text-color-disabled)}.tiny-dropdown .tiny-dropdown__trigger.is-disabled .tiny-svg{fill:var(--ti-dropdown-text-color-disabled)}.tiny-dropdown .tiny-dropdown__border .tiny-dropdown__title{line-height:var(--ti-dropdown-line-height);margin-right:var(--ti-dropdown-trigger-title-margin-right)}.tiny-dropdown .tiny-button-group{display:block}.tiny-dropdown .tiny-button-group .tiny-button{float:none}.tiny-dropdown .tiny-button-group .tiny-button--medium+.tiny-button.tiny-button--medium{margin-left:0}.tiny-dropdown .tiny-button-group .tiny-button--small+.tiny-button.tiny-button--small{margin-left:0}.tiny-dropdown .tiny-dropdown__title-button{padding-left:var(--ti-dropdown-title-button-padding-left);padding-right:var(--ti-dropdown-title-button-padding-right)}.tiny-dropdown .tiny-dropdown__title-button.is-disabled.tiny-button--default:hover{z-index:0}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button{padding-left:var(--ti-dropdown-caret-button-padding-left);padding-right:var(--ti-dropdown-caret-button-padding-right);position:relative;border-left:none;min-width:var(--ti-dropdown-caret-button-min-width);line-height:1}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button:before{content:"";position:absolute;display:block;width:var(--ti-dropdown-caret-line-width);top:0;bottom:0;left:0;margin-top:var(--ti-dropdown-caret-line-margin-top);margin-bottom:var(--ti-dropdown-caret-line-margin-bottom);background-color:var(--ti-dropdown-caret-line-bg-color)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button.tiny-button--default:before{background:var(--ti-dropdown-caret-line-bg-color-default)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button.tiny-button--default:hover:not(.is-disabled):before{background-color:var(--ti-dropdown-caret-line-bg-color-default-hover)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button:hover:not(.is-disabled):before{margin-top:var(--ti-dropdown-caret-line-margin-top-hover);margin-bottom:var(--ti-dropdown-caret-line-margin-bottom-hover)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button .tiny-svg{padding-left:var(--ti-dropdown-caret-svg-padding-left);margin:var(--ti-dropdown-caret-svg-margin-vertical) var(--ti-dropdown-caret-svg-margin-horizontal)}.tiny-dropdown .tiny-dropdown-selfdefine:focus:active,.tiny-dropdown .tiny-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.tiny-dropdown:hover{cursor:pointer}.tiny-dropdown--visible{-webkit-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:center;transform-origin:center}.tiny-mobile-tag{--ti-mobile-tag-color-default:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-tag-color-red:var(--ti-mobile-color-eror, #f23030);--ti-mobile-tag-color-blue:var(--ti-mobile-color-info, #1476ff);--ti-mobile-tag-color-yellow:var(--ti-mobile-color-warning, #d96900);--ti-mobile-tag-color-green:var(--ti-mobile-color-success, #5cb300);--ti-mobile-tag-bg-color-default:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-tag-bg-color-red:var(--ti-mobile-color-error-subtle, #fce3e1);--ti-mobile-tag-bg-color-blue:var(--ti-mobile-color-info-subtle, #deecff);--ti-mobile-tag-bg-color-yellow:var(--ti-mobile-color-warning-subtle, #ffebd1);--ti-mobile-tag-bg-color-green:var(--ti-mobile-color-success-subtle, #e6f2d5);--ti-mobile-tag-height-default:var(--ti-mobile-space-6x, 24px);--ti-mobile-tag-height-mini:calc(var(--ti-mobile-space-4x) + 2px);--ti-mobile-tag-font-size-default:var(--ti-mobile-font-size-m, 14px);--ti-mobile-tag-font-size-mini:var(--ti-mobile-font-size-s, 12px);--ti-mobile-tag-padding-default:var(--ti-mobile-space-2x, 8px);--ti-mobile-tag-padding-mini:var(--ti-mobile-space-1x, 4px);--ti-mobile-tag-border-radius-default:var(--ti-mobile-border-radius-s, 4px);--ti-mobile-tag-border-radius-mini:var(--ti-mobile-border-radius-xs, 2px);line-height:var(--ti-mobile-tag-height-default);padding:0 var(--ti-mobile-tag-padding-default);text-align:center;font-size:var(--ti-mobile-tag-font-size-default);color:var(--ti-mobile-tag-color-default);background-color:var(--ti-mobile-tag-bg-color-default);display:inline-block;border-radius:var(--ti-mobile-tag-border-radius-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiny-mobile-tag-mini{line-height:var(--ti-mobile-tag-height-mini);padding:0 var(--ti-mobile-tag-padding-mini);font-size:var(--ti-mobile-tag-font-size-mini);border-radius:var(--ti-mobile-tag-border-radius-mini)}.tiny-mobile-tag-red{color:var(--ti-mobile-tag-color-red);background-color:var(--ti-mobile-tag-bg-color-red)}.tiny-mobile-tag-blue{color:var(--ti-mobile-tag-color-blue);background-color:var(--ti-mobile-tag-bg-color-blue)}.tiny-mobile-tag-yellow{color:var(--ti-mobile-tag-color-yellow);background-color:var(--ti-mobile-tag-bg-color-yellow)}.tiny-mobile-tag-green{color:var(--ti-mobile-tag-color-green);background-color:var(--ti-mobile-tag-bg-color-green)}.tiny-tag{--ti-tag-height:calc(var(--ti-common-size-base, 4px) * 5.5);--ti-tag-medium-height:var(--ti-common-size-6x, 24px);--ti-tag-medium-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-tag-medium-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tag-small-height:var(--ti-common-line-height-4, 20px);--ti-tag-small-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-tag-mini-height:var(--ti-common-size-4x, 16px);--ti-tag-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tag-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tag-small-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tag-font-size:var(--ti-common-font-size-base, 12px);--ti-tag-close-font-size:var(--ti-common-font-size-1, 14px);--ti-tag-close-margin-left:var(--ti-common-space-6, 6px);--ti-tag-close-margin-right:var(--ti-common-space-0, 0px);--ti-tag-close-medium-margin-left:var(--ti-common-space-6, 6px);--ti-tag-close-medium-margin-right:var(--ti-common-space-0, 0px);--ti-tag-close-small-margin-left:var(--ti-common-space-6, 6px);--ti-tag-close-small-margin-right:var(--ti-common-space-0, 0px);--ti-tag-primary-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tag-primary-close-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tag-primary-close-hover-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tag-primary-close-opacity:.5;--ti-tag-primary-border-color:var(--ti-common-color-bg-normal, #eef0f5);--ti-tag-primary-background-color:var(--ti-common-color-bg-normal, #eef0f5);--ti-tag-warning-text-color:var(--ti-common-color-warn-text, #e37d29);--ti-tag-warning-border-color:var(--ti-common-color-warn-border, #ffd0a6);--ti-tag-warning-background-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-tag-danger-text-color:var(--ti-common-color-error-text, #de504e);--ti-tag-danger-border-color:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-tag-danger-background-color:var(--ti-common-color-error-bg, #ffeeed);--ti-tag-success-text-color:var(--ti-common-color-text-success, #3ac295);--ti-tag-success-border-color:var(--ti-common-color-success-border, #acf2dc);--ti-tag-success-background-color:var(--ti-common-color-success-bg, #edfff9);--ti-tag-info-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tag-info-border-color:var(--ti-common-color-info-border, #d3d4d6);--ti-tag-info-background-color:var(--ti-common-color-info-bg, rgba(51, 51, 51, .06));--ti-tag-dark-text-color:var(--ti-common-color-light, #fff);--ti-tag-dark-bg-color:var(--ti-common-color-prompt, #5e7ce0);--ti-tag-dark-success-bg-color:var(--ti-common-color-success, #50d4ab);--ti-tag-dark-warning-bg-color:var(--ti-common-color-warn, #fa9841);--ti-tag-dark-danger-bg-color:var(--ti-common-color-error, #f66f6a);--ti-tag-dark-info-bg-color:var(--ti-common-color-info, #252b3a);--ti-tag-plain-text-color:var(--ti-common-color-prompt, #5e7ce0);--ti-tag-plain-border-color:var(--ti-common-color-prompt-border, #beccfa);--ti-tag-plain-background-color:var(--ti-common-color-light, #fff);--ti-tag-plain-info-text-color:var(--ti-common-color-info, #252b3a);--ti-tag-plain-info-border-color:var(--ti-common-color-info-border, #d3d4d6);--ti-tag-plain-success-text-color:var(--ti-common-color-success, #50d4ab);--ti-tag-plain-success-border-color:var(--ti-common-color-success-border, #acf2dc);--ti-tag-plain-warning-text-color:var(--ti-common-color-warn, #fa9841);--ti-tag-plain-warning-border-color:var(--ti-common-color-warn-border, #ffd0a6);--ti-tag-plain-danger-text-color:var(--ti-common-color-error, #f66f6a);--ti-tag-plain-danger-border-color:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-tag-red-text-color:var(--ti-common-color-error-text);--ti-tag-red-bg-color:#fce3e0;--ti-tag-orange-text-color:#d96900;--ti-tag-orange-bg-color:var(--ti-common-color-warn-bg);--ti-tag-green-text-color:#029931;--ti-tag-green-bg-color:#d5f2dc;--ti-tag-blue-text-color:var(--ti-common-color-text-link);--ti-tag-blue-bg-color:var(--ti-common-color-prompt-bg);--ti-tag-purple-text-color:#832fd6;--ti-tag-purple-bg-color:#f4e0fc;--ti-tag-brown-text-color:#a64d00;--ti-tag-brown-bg-color:var(--ti-common-color-warn-bg);--ti-tag-grey-text-color:var(--ti-common-color-text-gray);--ti-tag-grey-bg-color:#e6e6e6;height:var(--ti-tag-height);line-height:var(--ti-tag-height);padding:0 8px;font-size:var(--ti-tag-font-size);border-width:var(--ti-tag-border-weight);border-radius:var(--ti-tag-border-radius);border-style:solid;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-tag-primary-text-color);border-color:var(--ti-tag-primary-border-color);background-color:var(--ti-tag-primary-background-color)}.tiny-tag:not(.tiny-__close){fill:var(--ti-tag-primary-text-color)}.tiny-tag.is-hit{border-color:var(--ti-tag-primary-text-color)}.tiny-tag .tiny-tag__close{fill:var(--ti-tag-primary-text-color);opacity:.5}.tiny-tag .tiny-tag__close:hover{opacity:1}.tiny-tag .tiny-tag__close{font-size:var(--ti-tag-close-font-size);margin-left:var(--ti-tag-close-margin-left);margin-right:var(--ti-tag-close-margin-right);opacity:var(--ti-tag-primary-close-opacity);fill:var(--ti-tag-primary-close-icon-color)}.tiny-tag .tiny-tag__close:hover{cursor:pointer;fill:var(--ti-tag-primary-close-hover-icon-color)}.tiny-tag.tiny-tag--info{color:var(--ti-tag-info-text-color);border-color:var(--ti-tag-info-border-color);background-color:var(--ti-tag-info-background-color)}.tiny-tag.tiny-tag--info:not(.tiny-__close){fill:var(--ti-tag-info-text-color)}.tiny-tag.tiny-tag--info.is-hit{border-color:var(--ti-tag-info-text-color)}.tiny-tag.tiny-tag--info .tiny-tag__close{fill:var(--ti-tag-info-text-color);opacity:.5}.tiny-tag.tiny-tag--info .tiny-tag__close:hover{opacity:1}.tiny-tag.tiny-tag--success{color:var(--ti-tag-success-text-color);border-color:var(--ti-tag-success-border-color);background-color:var(--ti-tag-success-background-color)}.tiny-tag.tiny-tag--success:not(.tiny-__close){fill:var(--ti-tag-success-text-color)}.tiny-tag.tiny-tag--success.is-hit{border-color:var(--ti-tag-success-text-color)}.tiny-tag.tiny-tag--success .tiny-tag__close{fill:var(--ti-tag-success-text-color);opacity:.5}.tiny-tag.tiny-tag--success .tiny-tag__close:hover{opacity:1}.tiny-tag.tiny-tag--warning{color:var(--ti-tag-warning-text-color);border-color:var(--ti-tag-warning-border-color);background-color:var(--ti-tag-warning-background-color)}.tiny-tag.tiny-tag--warning:not(.tiny-__close){fill:var(--ti-tag-warning-text-color)}.tiny-tag.tiny-tag--warning.is-hit{border-color:var(--ti-tag-warning-text-color)}.tiny-tag.tiny-tag--warning .tiny-tag__close{fill:var(--ti-tag-warning-text-color);opacity:.5}.tiny-tag.tiny-tag--warning .tiny-tag__close:hover{opacity:1}.tiny-tag.tiny-tag--danger{color:var(--ti-tag-danger-text-color);border-color:var(--ti-tag-danger-border-color);background-color:var(--ti-tag-danger-background-color)}.tiny-tag.tiny-tag--danger:not(.tiny-__close){fill:var(--ti-tag-danger-text-color)}.tiny-tag.tiny-tag--danger.is-hit{border-color:var(--ti-tag-danger-text-color)}.tiny-tag.tiny-tag--danger .tiny-tag__close{fill:var(--ti-tag-danger-text-color);opacity:.5}.tiny-tag.tiny-tag--danger .tiny-tag__close:hover{opacity:1}.tiny-tag--dark{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-bg-color);background-color:var(--ti-tag-dark-bg-color)}.tiny-tag--dark.is-hit{border-color:var(--ti-tag-dark-bg-color)}.tiny-tag--dark .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--info{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-info-bg-color);background-color:var(--ti-tag-dark-info-bg-color)}.tiny-tag--dark.tiny-tag--info.is-hit{border-color:var(--ti-tag-dark-info-bg-color)}.tiny-tag--dark.tiny-tag--info .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--info .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--success{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-success-bg-color);background-color:var(--ti-tag-dark-success-bg-color)}.tiny-tag--dark.tiny-tag--success.is-hit{border-color:var(--ti-tag-dark-success-bg-color)}.tiny-tag--dark.tiny-tag--success .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--success .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--warning{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-warning-bg-color);background-color:var(--ti-tag-dark-warning-bg-color)}.tiny-tag--dark.tiny-tag--warning.is-hit{border-color:var(--ti-tag-dark-warning-bg-color)}.tiny-tag--dark.tiny-tag--warning .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--warning .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--danger{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-danger-bg-color);background-color:var(--ti-tag-dark-danger-bg-color)}.tiny-tag--dark.tiny-tag--danger.is-hit{border-color:var(--ti-tag-dark-danger-bg-color)}.tiny-tag--dark.tiny-tag--danger .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--danger .tiny-tag__close:hover{opacity:1}.tiny-tag--plain{color:var(--ti-tag-plain-text-color);border-color:var(--ti-tag-plain-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain:not(.tiny-__close){fill:var(--ti-tag-plain-text-color)}.tiny-tag--plain.is-hit{border-color:var(--ti-tag-plain-text-color)}.tiny-tag--plain .tiny-tag__close{fill:var(--ti-tag-plain-text-color);opacity:.5}.tiny-tag--plain .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--info{color:var(--ti-tag-plain-info-text-color);border-color:var(--ti-tag-plain-info-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--info:not(.tiny-__close){fill:var(--ti-tag-plain-info-text-color)}.tiny-tag--plain.tiny-tag--info.is-hit{border-color:var(--ti-tag-plain-info-text-color)}.tiny-tag--plain.tiny-tag--info .tiny-tag__close{fill:var(--ti-tag-plain-info-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--info .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--success{color:var(--ti-tag-plain-success-text-color);border-color:var(--ti-tag-plain-success-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--success:not(.tiny-__close){fill:var(--ti-tag-plain-success-text-color)}.tiny-tag--plain.tiny-tag--success.is-hit{border-color:var(--ti-tag-plain-success-text-color)}.tiny-tag--plain.tiny-tag--success .tiny-tag__close{fill:var(--ti-tag-plain-success-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--success .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--warning{color:var(--ti-tag-plain-warning-text-color);border-color:var(--ti-tag-plain-warning-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--warning:not(.tiny-__close){fill:var(--ti-tag-plain-warning-text-color)}.tiny-tag--plain.tiny-tag--warning.is-hit{border-color:var(--ti-tag-plain-warning-text-color)}.tiny-tag--plain.tiny-tag--warning .tiny-tag__close{fill:var(--ti-tag-plain-warning-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--warning .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--danger{color:var(--ti-tag-plain-danger-text-color);border-color:var(--ti-tag-plain-danger-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--danger:not(.tiny-__close){fill:var(--ti-tag-plain-danger-text-color)}.tiny-tag--plain.tiny-tag--danger.is-hit{border-color:var(--ti-tag-plain-danger-text-color)}.tiny-tag--plain.tiny-tag--danger .tiny-tag__close{fill:var(--ti-tag-plain-danger-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--danger .tiny-tag__close:hover{opacity:1}.tiny-tag--red{color:var(--ti-tag-red-text-color);border-color:var(--ti-tag-red-text-color);background-color:var(--ti-tag-red-bg-color)}.tiny-tag--red:not(.tiny-__close){fill:var(--ti-tag-red-text-color)}.tiny-tag--red.is-hit{border-color:var(--ti-tag-red-text-color)}.tiny-tag--red .tiny-tag__close{fill:var(--ti-tag-red-text-color);opacity:.5}.tiny-tag--red .tiny-tag__close:hover{opacity:1}.tiny-tag--orange{color:var(--ti-tag-orange-text-color);border-color:var(--ti-tag-orange-text-color);background-color:var(--ti-tag-orange-bg-color)}.tiny-tag--orange:not(.tiny-__close){fill:var(--ti-tag-orange-text-color)}.tiny-tag--orange.is-hit{border-color:var(--ti-tag-orange-text-color)}.tiny-tag--orange .tiny-tag__close{fill:var(--ti-tag-orange-text-color);opacity:.5}.tiny-tag--orange .tiny-tag__close:hover{opacity:1}.tiny-tag--green{color:var(--ti-tag-green-text-color);border-color:var(--ti-tag-green-text-color);background-color:var(--ti-tag-green-bg-color)}.tiny-tag--green:not(.tiny-__close){fill:var(--ti-tag-green-text-color)}.tiny-tag--green.is-hit{border-color:var(--ti-tag-green-text-color)}.tiny-tag--green .tiny-tag__close{fill:var(--ti-tag-green-text-color);opacity:.5}.tiny-tag--green .tiny-tag__close:hover{opacity:1}.tiny-tag--blue{color:var(--ti-tag-blue-text-color);border-color:var(--ti-tag-blue-text-color);background-color:var(--ti-tag-blue-bg-color)}.tiny-tag--blue:not(.tiny-__close){fill:var(--ti-tag-blue-text-color)}.tiny-tag--blue.is-hit{border-color:var(--ti-tag-blue-text-color)}.tiny-tag--blue .tiny-tag__close{fill:var(--ti-tag-blue-text-color);opacity:.5}.tiny-tag--blue .tiny-tag__close:hover{opacity:1}.tiny-tag--purple{color:var(--ti-tag-purple-text-color);border-color:var(--ti-tag-purple-text-color);background-color:var(--ti-tag-purple-bg-color)}.tiny-tag--purple:not(.tiny-__close){fill:var(--ti-tag-purple-text-color)}.tiny-tag--purple.is-hit{border-color:var(--ti-tag-purple-text-color)}.tiny-tag--purple .tiny-tag__close{fill:var(--ti-tag-purple-text-color);opacity:.5}.tiny-tag--purple .tiny-tag__close:hover{opacity:1}.tiny-tag--brown{color:var(--ti-tag-brown-text-color);border-color:var(--ti-tag-brown-text-color);background-color:var(--ti-tag-brown-bg-color)}.tiny-tag--brown:not(.tiny-__close){fill:var(--ti-tag-brown-text-color)}.tiny-tag--brown.is-hit{border-color:var(--ti-tag-brown-text-color)}.tiny-tag--brown .tiny-tag__close{fill:var(--ti-tag-brown-text-color);opacity:.5}.tiny-tag--brown .tiny-tag__close:hover{opacity:1}.tiny-tag--grey{color:var(--ti-tag-grey-text-color);border-color:var(--ti-tag-grey-text-color);background-color:var(--ti-tag-grey-bg-color)}.tiny-tag--grey:not(.tiny-__close){fill:var(--ti-tag-grey-text-color)}.tiny-tag--grey.is-hit{border-color:var(--ti-tag-grey-text-color)}.tiny-tag--grey .tiny-tag__close{fill:var(--ti-tag-grey-text-color);opacity:.5}.tiny-tag--grey .tiny-tag__close:hover{opacity:1}.tiny-tag--medium{height:var(--ti-tag-medium-height);line-height:var(--ti-tag-medium-height);padding:0 var(--ti-tag-medium-padding-horizontal);border-radius:var(--ti-tag-medium-border-radius)}.tiny-tag--medium .tiny-tag__close{margin-left:var(--ti-tag-close-medium-margin-left);margin-right:var(--ti-tag-close-medium-margin-right)}.tiny-tag--small{height:var(--ti-tag-small-height);line-height:var(--ti-tag-small-height);padding:0 var(--ti-tag-small-padding-horizontal);font-size:12px;border-radius:var(--ti-tag-small-border-radius)}.tiny-tag--small .tiny-tag__close{margin-left:var(--ti-tag-close-small-margin-left);margin-right:var(--ti-tag-close-small-margin-right)}.tiny-tag--mini{height:var(--ti-tag-mini-height);line-height:var(--ti-tag-mini-height);padding:0 var(--ti-tag-small-padding-horizontal);font-size:12px;border-radius:var(--ti-tag-small-border-radius)}.tiny-tag--mini .tiny-tag__close{margin-left:var(--ti-tag-close-small-margin-left);margin-right:var(--ti-tag-close-small-margin-right)}.tiny-tag.is-disabled,.tiny-tag.is-disabled:focus,.tiny-tag.is-disabled:hover{cursor:not-allowed;color:#c2c2c2;background-color:#0000000d}.tiny-tag.is-disabled .tiny-tag__close,.tiny-tag.is-disabled svg,.tiny-tag.is-disabled svg:hover,.tiny-tag.is-disabled:focus .tiny-tag__close,.tiny-tag.is-disabled:focus svg,.tiny-tag.is-disabled:focus svg:hover,.tiny-tag.is-disabled:hover .tiny-tag__close,.tiny-tag.is-disabled:hover svg,.tiny-tag.is-disabled:hover svg:hover{cursor:not-allowed;fill:#c2c2c2}[class*=tiny-grid-icon__]{display:inline-block;vertical-align:middle;position:relative;direction:ltr;font-family:var(--ti-grid-font-family)}.tiny-grid-icon__zoomin{width:.8em;height:.8em;margin:.1em;border-width:.1em;border-style:solid;border-color:inherit}.tiny-grid-icon__zoomout{width:1em;height:1em;line-height:1em;position:relative}.tiny-grid-icon__zoomout:before{content:"";position:absolute;right:0;width:.7em;border-style:solid;top:0;border-width:.1em;height:.7em;border-color:inherit}.tiny-grid-icon__zoomout:after{content:"";position:absolute;bottom:.1em;background-color:#fff;left:.1em;border-style:solid;width:.7em;border-width:.1em;height:.7em;border-color:inherit}.tiny-grid-icon__menu{width:.22em;height:.22em;-webkit-box-shadow:0 -.4em 0,-.4em -.4em 0,.4em -.4em 0,0 0 0 1em inset,-.4em 0 0,.4em 0 0,0 .4em 0,-.4em .4em 0,.4em .4em 0;box-shadow:0 -.4em,-.4em -.4em,.4em -.4em,0 0 0 1em inset,-.4em 0,.4em 0,0 .4em,-.4em .4em,.4em .4em;margin:.58em;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.tiny-grid-icon__caret-bottom,.tiny-grid-icon__caret-left,.tiny-grid-icon__caret-right,.tiny-grid-icon__caret-top{width:1em;height:1em;line-height:1em}.tiny-grid-icon__caret-bottom:before,.tiny-grid-icon__caret-left:before,.tiny-grid-icon__caret-right:before,.tiny-grid-icon__caret-top:before{content:"";left:0;bottom:.25em;border-right-color:transparent;position:absolute;border-width:.5em;border-style:solid;border-top-color:transparent;border-bottom-color:inherit;border-left-color:transparent;-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.tiny-grid-icon__caret-bottom{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tiny-grid-icon__caret-left{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tiny-grid-icon__caret-right{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-grid-icon__arrow-top{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-grid-icon__arrow-top:before{content:"";position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__arrow-bottom{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-grid-icon__arrow-bottom:before{content:"";position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__arrow-left{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.tiny-grid-icon__arrow-left:before{content:"";position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__arrow-right{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid-icon__arrow-right:before{content:"";position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-top{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-grid-icon__d-arrow-top:before{content:"";position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-top:after{content:"";position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-bottom{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-grid-icon__d-arrow-bottom:before{content:"";position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-bottom:after{content:"";position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-left{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.tiny-grid-icon__d-arrow-left:before{content:"";position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-left:after{content:"";position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-right{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid-icon__d-arrow-right:before{content:"";position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-right:after{content:"";position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__funnel{width:1em;height:1em;line-height:1em}.tiny-grid-icon__funnel:before{content:"";border-top-color:inherit;position:absolute;border-bottom-color:transparent;top:.1em;border-right-color:transparent;left:0;border-left-color:transparent;border-width:.5em;border-style:solid}.tiny-grid-icon__funnel:after{content:"";position:absolute;left:.4em;top:.5em;width:0;height:.4em;border-width:0 .2em 0 0;border-style:solid;border-right-color:inherit}.tiny-grid-icon__edit-outline{width:1em;height:1em;line-height:1em;border-radius:.2em;border-width:.1em;border-style:solid;border-color:inherit}.tiny-grid-icon__edit-outline:before{content:"";position:absolute;top:-.1em;right:-.1em;width:.4em;height:.4em;background-color:#fff}.tiny-grid-icon__edit-outline:after{content:"";position:absolute;left:.15em;top:.12em;width:.9em;height:0;border-radius:.2em;border-width:0 0 .15em 0;border-style:solid;border-color:inherit;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-grid-icon__more{width:1em;height:1em;line-height:1em}.tiny-grid-icon__more:before{content:"...";position:absolute;top:0;left:.1em;line-height:.5em;font-weight:700}.tiny-grid-icon__close{width:1em;height:1em;line-height:1em}.tiny-grid-icon__close:after,.tiny-grid-icon__close:before{content:"";position:absolute;left:0;top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-style:solid;border-width:0}.tiny-grid-icon__close:before{width:1em;border-bottom-width:.1em;top:.45em}.tiny-grid-icon__close:after{height:1em;border-right-width:.1em;left:.45em}.tiny-grid-icon__refresh{width:1em;height:1em;line-height:1em;border-style:solid;border-width:.1em;border-right-color:transparent!important;border-radius:50%;border-left-color:transparent!important}.tiny-grid-icon__refresh:after{right:50%;bottom:0;-webkit-transform:translateX(-50%) rotate(135deg);transform:translate(-50%) rotate(135deg)}.tiny-grid-icon__refresh:before{left:50%;top:0;-webkit-transform:translateX(50%) rotate(-45deg);transform:translate(50%) rotate(-45deg)}.tiny-grid-icon__refresh:after,.tiny-grid-icon__refresh:before{content:"";position:absolute;border-left-color:transparent;width:0;border-right-color:transparent;height:0;border-bottom-color:transparent;border-width:.25em;border-style:solid}.tiny-grid-icon__refresh.roll{-webkit-animation:rollCircle 1s infinite linear;animation:rollCircle 1s infinite linear}.tiny-grid-icon__question{width:1em;height:1em;line-height:1em}.tiny-grid-icon__question:before{content:"";border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__question:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:"?"}.tiny-grid-icon__info{width:1em;height:1em;line-height:1em}.tiny-grid-icon__info:before{content:"";border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__info:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:"!";-webkit-transform:rotate(180deg) translateY(1px);transform:rotate(180deg) translateY(1px)}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-grid-icon__info:after{font-size:var(--ti-common-font-size-1)}}@media screen and (-ms-ime-align:auto){.tiny-grid-icon__info:after{font-size:var(--ti-common-font-size-1)}}.tiny-grid-icon__warning{width:1em;height:1em;line-height:1em}.tiny-grid-icon__warning:before{content:"";border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__warning:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:"!"}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-grid-icon__warning:after{font-size:var(--ti-common-font-size-1)}}@media screen and (-ms-ime-align:auto){.tiny-grid-icon__warning:after{font-size:var(--ti-common-font-size-1)}}.tiny-grid-icon__success{width:1em;height:1em;line-height:1em}.tiny-grid-icon__success:before{content:"";border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__success:after{content:"";position:absolute;height:.55em;width:.3em;left:.35em;top:.15em;border-width:.1em;border-style:solid;border-color:#fff;border-left:0;border-top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid-icon__error{width:1em;height:1em;line-height:1em}.tiny-grid-icon__error:before{content:"";border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__error:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:"✖"}@-webkit-keyframes rollCircle{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rollCircle{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.tiny-grid__animat .tiny-grid-filter__btn:after,.tiny-grid__animat .tiny-grid-filter__btn:before,.tiny-grid__animat .tiny-grid-sort__asc-btn:after,.tiny-grid__animat .tiny-grid-sort__asc-btn:before,.tiny-grid__animat .tiny-grid-sort__desc-btn:after,.tiny-grid__animat .tiny-grid-sort__desc-btn:before{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.tiny-grid__animat .tiny-grid__expand-icon{-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.tiny-grid__animat .tiny-grid-input__wrapper .tiny-grid-input{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.tiny-grid__animat .tiny-grid-tree__node-btn{-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.tiny-grid__animat .tiny-grid-checkbox>input:checked+span,.tiny-grid__animat .tiny-grid-radio>input:checked+span{-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out}.tiny-grid{position:relative;overflow:hidden;font-size:var(--ti-grid-font-size);color:var(--ti-grid-text-color);font-family:var(--ti-grid-font-family);background-color:var(--ti-grid-light-color)}.tiny-grid .tiny-grid-body__expanded-row{background-color:var(--ti-grid-expand-background-color)}.tiny-grid.show__foot.scroll__x .tiny-grid__body-wrapper{overflow-x:auto}.tiny-grid.column__highlight .tiny-grid-header__column:not(.col__index):hover{background-color:var(--ti-grid-column-hover-background-color)}.tiny-grid.size__medium .tiny-grid-body__column,.tiny-grid.size__medium .tiny-grid-footer__column,.tiny-grid.size__medium .tiny-grid-header__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.size__medium .tiny-grid-body__column,.tiny-grid.size__medium .tiny-grid-footer__column{height:var(--ti-grid-medium-column-height)}.tiny-grid.size__medium .tiny-grid-header__column{height:var(--ti-grid-medium-header-column-height)}.tiny-grid.size__medium .tiny-grid-loading .tiny-grid__spinner{width:48px;height:48px}.tiny-grid.size__medium .tiny-grid-default-input,.tiny-grid.size__medium .tiny-grid-default-select,.tiny-grid.size__medium .tiny-grid-default-textarea,.tiny-grid.size__medium .tiny-grid-input__wrapper,.tiny-grid.size__medium .tiny-grid-header__column .tiny-grid-resizable{height:var(--ti-grid-medium-column-height)}.tiny-grid.size__small .tiny-grid-body__column,.tiny-grid.size__small .tiny-grid-footer__column,.tiny-grid.size__small .tiny-grid-header__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.size__small .tiny-grid-body__column,.tiny-grid.size__small .tiny-grid-footer__column{height:var(--ti-grid-small-column-height)}.tiny-grid.size__small .tiny-grid-header__column{height:var(--ti-grid-small-header-column-height)}.tiny-grid.size__small .tiny-grid-loading .tiny-grid__spinner{width:40px;height:40px}.tiny-grid.size__small .tiny-grid-default-input,.tiny-grid.size__small .tiny-grid-default-select,.tiny-grid.size__small .tiny-grid-default-textarea,.tiny-grid.size__small .tiny-grid-input__wrapper,.tiny-grid.size__small .tiny-grid-header__column .tiny-grid-resizable{height:var(--ti-grid-small-column-height)}.tiny-grid.size__mini .tiny-grid-body__column,.tiny-grid.size__mini .tiny-grid-footer__column,.tiny-grid.size__mini .tiny-grid-header__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.size__mini .tiny-grid-body__column,.tiny-grid.size__mini .tiny-grid-footer__column{height:var(--ti-grid-mini-column-height)}.tiny-grid.size__mini .tiny-grid-header__column{height:var(--ti-grid-mini-header-column-height)}.tiny-grid.size__mini .tiny-grid-loading .tiny-grid__spinner{width:36px;height:36px}.tiny-grid.size__mini .tiny-grid-default-input,.tiny-grid.size__mini .tiny-grid-default-select,.tiny-grid.size__mini .tiny-grid-default-textarea,.tiny-grid.size__mini .tiny-grid-input__wrapper,.tiny-grid.size__mini .tiny-grid-header__column .tiny-grid-resizable{height:var(--ti-grid-mini-column-height)}.tiny-grid .fixed__column{position:sticky!important;z-index:1;background-color:inherit}.tiny-grid .fixed__column.fixed-left-last__column:after{position:absolute;top:0;right:0;bottom:0;width:30px;-webkit-transform:translate(100%);transform:translate(100%);-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s;content:"";pointer-events:none}.tiny-grid .fixed__column.fixed-right-first__column:after{position:absolute;top:0;bottom:0;left:0;width:30px;-webkit-transform:translate(-100%);transform:translate(-100%);-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s;content:"";pointer-events:none}.tiny-grid .fixed__column.fixed-right-first__column+.col__gutter{position:sticky;right:0;background-color:var(--ti-grid-header-background-color)}.tiny-grid th.fixed__column{background-color:var(--ti-grid-header-background-color)}.tiny-grid th.fixed__column.tiny-grid-header__column .tiny-grid-resizable.is__line:before{-webkit-transform:translateX(-1px);transform:translate(-1px)}.tiny-grid-fixed__left .fixed__column.fixed-left-last__column:after{-webkit-box-shadow:inset 10px 0 8px -8px #00000026;box-shadow:inset 10px 0 8px -8px #00000026}.tiny-grid-fixed__right .fixed__column.fixed-right-first__column:after{-webkit-box-shadow:inset -10px 0 8px -8px #00000026;box-shadow:inset -10px 0 8px -8px #00000026}.tiny-grid table{border-spacing:0;border-collapse:separate;table-layout:fixed}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row:not(.row__hover):nth-child(2n){background-color:var(--ti-grid-row-striped-background-color)}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row:not(.row__hover).row__current{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row.row__selected:not(.row__hover):nth-child(2n){background-color:#2f8fe81a}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row.row__selected:not(.row__hover):nth-child(odd){background-color:#2f8fe826}.tiny-grid.tiny-grid__stripe.row__highlight .tiny-grid-body__row:hover,.tiny-grid.tiny-grid__stripe.row__highlight .tiny-grid-body__row:hover .fixed__column{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.tiny-grid__stripe.mark-insert .tiny-grid-body__row.row__new{background-color:var(--ti-grid-new-row-background-color)}.tiny-grid.tiny-grid__border:after,.tiny-grid.tiny-grid__border:before{content:"";position:absolute;left:0;width:100%;height:0;z-index:1}.tiny-grid.tiny-grid__border:before{top:0;z-index:2;border-top:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__border:after{bottom:0;border-bottom:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__border .tiny-grid__header{border:0;border-spacing:0;border-collapse:separate}.tiny-grid.tiny-grid__border .tiny-grid-body__column,.tiny-grid.tiny-grid__border .tiny-grid-footer__column,.tiny-grid.tiny-grid__border .tiny-grid-header__column{background-image:-webkit-gradient(linear,right top,left top,from(var(--ti-grid-border-color)),to(var(--ti-grid-border-color))),-webkit-gradient(linear,left top,left bottom,from(var(--ti-grid-border-color)),to(var(--ti-grid-border-color)));background-image:linear-gradient(-90deg,var(--ti-grid-border-color),var(--ti-grid-border-color)),linear-gradient(-180deg,var(--ti-grid-border-color),var(--ti-grid-border-color));background-repeat:no-repeat;background-size:1px 100%,100% 1px;background-position:100% 0,100% 100%;border:none}.tiny-grid.tiny-grid__border .tiny-grid__body-wrapper{border-bottom:none}.tiny-grid.tiny-grid__border .tiny-grid__border-line:after,.tiny-grid.tiny-grid__border .tiny-grid__border-line:before{content:"";position:absolute;top:0;width:0;height:100%;z-index:1}.tiny-grid.tiny-grid__border .tiny-grid__border-line:before{left:0;border-left:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__border .tiny-grid__border-line:after{right:0;border-right:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__checked{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-grid.tiny-grid__checked .tiny-grid-body__column.col__index,.tiny-grid.tiny-grid__checked .tiny-grid-header__column.col__index{text-align:center;cursor:default}.tiny-grid.tiny-grid__checked .tiny-grid-header__column.col__index .tiny-grid-cell{visibility:hidden}.tiny-grid.tiny-grid__checked .tiny-grid-body__column.col__index{background-color:var(--ti-grid-header-background-color)}.tiny-grid.tiny-grid__checked .tiny-grid-body__column.col__index.col__index-checked{background-color:#dcdcdc}.tiny-grid .tiny-grid__footer-wrapper,.tiny-grid .tiny-grid__header-wrapper{overflow-x:hidden;overflow-y:hidden}.tiny-grid .tiny-grid__footer-wrapper{border-top:1px solid var(--ti-grid-border-color);border-bottom:none;overflow:hidden!important}.tiny-grid .tiny-grid__footer-wrapper .tiny-grid-footer__row .tiny-grid-cell.cell__summary{font-weight:700;text-align:right}.tiny-grid .tiny-grid__body-wrapper,.tiny-grid .tiny-grid__footer-wrapper,.tiny-grid .tiny-grid__header-wrapper{position:relative}.tiny-grid.tiny-grid-cell__resize *{cursor:col-resize}.tiny-grid .tiny-grid-body__row{background-color:var(--ti-grid-row-background-color)}.tiny-grid .tiny-grid-body__row.row__selected{background-color:var(--ti-grid-row-selected-background-color)}.tiny-grid .tiny-grid-body__row.row__current,.tiny-grid.row__highlight .tiny-grid-body__row:hover,.tiny-grid.row__highlight .tiny-grid-body__row:hover .fixed__column{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid .tiny-grid-body__column,.tiny-grid .tiny-grid-footer__column,.tiny-grid .tiny-grid-header__column{text-align:left;padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal);border-bottom:1px solid var(--ti-grid-body-td-border-color)}.tiny-grid .tiny-grid-body__column.col__current,.tiny-grid .tiny-grid-footer__column.col__current,.tiny-grid .tiny-grid-header__column.col__current{background-color:var(--ti-grid-column-current-background-color)}.tiny-grid .tiny-grid-body__column.col__center,.tiny-grid .tiny-grid-footer__column.col__center,.tiny-grid .tiny-grid-header__column.col__center{text-align:center}.tiny-grid .tiny-grid-body__column.col__right,.tiny-grid .tiny-grid-footer__column.col__right,.tiny-grid .tiny-grid-header__column.col__right{text-align:right}.tiny-grid .tiny-grid-body__column.col__ellipsis:not(.col__actived) .tiny-grid-cell,.tiny-grid .tiny-grid-footer__column.col__ellipsis:not(.col__actived) .tiny-grid-cell,.tiny-grid .tiny-grid-header__column.col__ellipsis:not(.col__actived) .tiny-grid-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid .tiny-grid-body__column.col__ellipsis:not(.col__actived) .tiny-grid-cell>.tiny-grid-checkbox,.tiny-grid .tiny-grid-footer__column.col__ellipsis:not(.col__actived) .tiny-grid-cell>.tiny-grid-checkbox,.tiny-grid .tiny-grid-header__column.col__ellipsis:not(.col__actived) .tiny-grid-cell>.tiny-grid-checkbox{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:0}.tiny-grid .tiny-grid-header__column{height:var(--ti-grid-default-header-column-height)}.tiny-grid .tiny-grid-header__column.col__center .tiny-grid-cell{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid .tiny-grid-header__column.col__right .tiny-grid-cell{-webkit-box-pack:right;-ms-flex-pack:right;justify-content:right}.tiny-grid .tiny-grid-body__column,.tiny-grid .tiny-grid-footer__column{height:var(--ti-grid-default-column-height)}.tiny-grid .tiny-grid-cell{line-height:var(--ti-grid-line-height-number);white-space:normal;word-break:break-word}.tiny-grid .tiny-grid-cell .tiny-grid-checkbox{vertical-align:middle}.tiny-grid .tiny-grid-cell .tiny-grid__data-boole,.tiny-grid .tiny-grid-cell .tiny-grid__data-rate{width:100%;position:relative}.tiny-grid .tiny-grid-cell .tiny-grid__data-boole .icon-yes{fill:var(--ti-grid-success-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-boole .icon-close{fill:var(--ti-grid-error-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart{opacity:.6;background-color:var(--ti-grid-success-color);height:30px;line-height:30px}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-completed{background-color:var(--ti-grid-success-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-danger{background-color:var(--ti-grid-error-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-warning{background-color:var(--ti-grid-warning-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-normal{background-color:var(--ti-grid-primary-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-text{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-grid .tiny-grid-header__column:not(.col__selection) .tiny-grid-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.tiny-grid .tiny-grid-header__column:not(.col__selection).col__center .tiny-grid-cell{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid .tiny-grid-header__column:not(.col__selection).col__right .tiny-grid-cell{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end}.tiny-grid .tiny-grid-header__column:not(.col__selection).col__ellipsis .tiny-grid-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid .tiny-grid-body__x-space{width:100%;height:1px;margin-bottom:-1px}.tiny-grid .tiny-grid-body__y-space{width:0;float:left}.tiny-grid .tiny-grid-sort-wrapper{margin-left:4px;position:var(--ti-grid-sort-icon-position);right:var(--ti-grid-sort-icon-right)}.tiny-grid .tiny-grid-sort-wrapper .tiny-grid-sort__btn{display:block;font-size:var(--ti-grid-header-icon-font-size);fill:var(--ti-grid-column-icon-text-color);-webkit-transform:scale(var(--ti-grid-column-icon-scale-size));transform:scale(var(--ti-grid-column-icon-scale-size));cursor:pointer}.tiny-grid .tiny-grid-sort-wrapper .tiny-grid-sort__btn:hover{fill:var(--ti-grid-icon-color)}.tiny-grid .tiny-grid-sort-wrapper .tiny-grid-sort__btn.sort__active{fill:var(--ti-grid-primary-color)}.tiny-grid .tiny-grid__resizable-bar{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:4}.tiny-grid .tiny-grid__resizable-bar:before{content:"";display:block;height:100%;background-color:#d9dddf}.tiny-grid .tiny-grid-tree__indent{display:inline-block}.tiny-grid .tiny-grid-tree-wrapper{display:inline-block;vertical-align:bottom;width:18px;cursor:pointer}.tiny-grid .tiny-grid-tree-wrapper.is__active .tiny-grid-tree__node-btn{-webkit-transform:rotate(0);transform:rotate(0)}.tiny-grid .tiny-grid-tree-wrapper .tiny-grid-tree__node-btn{font-size:var(--ti-grid-font-size);border-color:var(--ti-grid-tree-icon-color);-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tiny-grid .tiny-grid-tree-wrapper .tiny-grid-tree__node-btn:hover{border-color:var(--ti-grid-tree-icon-hover-color)}.tiny-grid .tiny-grid__expanded{display:inline-block;text-align:center;cursor:pointer}.tiny-grid .tiny-grid__expanded .tiny-grid__expand-icon{display:inline-block;width:8px;height:8px;border:1px solid #666;vertical-align:middle;border-width:1px 1px 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:transparent}.tiny-grid .tiny-grid__expanded.expand__active .tiny-grid__expand-icon{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-grid .tiny-grid-body__expanded-column{border-bottom:1px solid var(--ti-grid-border-color)}.tiny-grid .tiny-grid-body__expanded-cell{padding:20px}.tiny-grid.is__loading .tiny-grid__empty-block{visibility:hidden}.tiny-grid .tiny-grid__empty-block{display:none;opacity:0;height:100%;min-height:60px;padding:60px 0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.tiny-grid .tiny-grid__empty-block.is__visible{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;opacity:1}.tiny-grid .tiny-grid__empty-block.is__visible.is__center{opacity:0}.tiny-grid .empty-center-block{z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;position:absolute;width:100%;height:calc(100% - 60px)}.tiny-grid .empty-center-block .tiny-grid__empty-text{width:100%}.tiny-grid .tiny-grid__empty-img{width:100%;height:100px;margin:0;background:var(--ti-table-nodata-td-bg-img-url) 50% no-repeat}.tiny-grid .tiny-grid__empty-text{display:block;margin-top:8px;width:50%}.tiny-grid .tiny-grid-body__column.col__selected:not(.col__checked){-webkit-box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color);box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color)}.tiny-grid .tiny-grid-body__column.col__actived,.tiny-grid .tiny-grid-body__column.col__dirty,.tiny-grid .tiny-grid-body__column.col__selected{position:relative}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-cell__valid{width:320px;position:absolute;bottom:calc(100% + 4px);left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%);text-align:center;pointer-events:none;z-index:9}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-cell__valid .tiny-grid-cell__valid-msg{display:inline-block;border-radius:4px;padding:8px 12px;color:var(--ti-grid-light-color);background-color:var(--ti-grid-error-color);pointer-events:auto}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-default-input,.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-default-select,.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-default-textarea{border-color:var(--ti-grid-error-color);background-color:var(--ti-grid-error-bg-color)}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-input__wrapper>.tiny-grid-input{border-color:var(--ti-grid-error-color);background-color:var(--ti-grid-error-bg-color)}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-input__inner{border-color:var(--ti-grid-error-color);background-color:var(--ti-grid-error-bg-color)}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell .tiny-grid-tree__indent{-ms-flex-negative:0;flex-shrink:0}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell .tiny-grid-tree-wrapper{width:20px;height:20px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateX(-4px);transform:translate(-4px);-ms-flex-negative:0;flex-shrink:0}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell .tiny-grid-tree-wrapper svg{font-size:var(--ti-grid-tree-expand-icon-font-size)}.tiny-grid .tiny-grid-body__column.col__treenode.col__ellipsis .tiny-grid-cell__ellipsis:has(.tiny-grid-tree__indent:nth-last-child(2):first-child),.tiny-grid .tiny-grid-body__column.col__treenode.col__ellipsis .tiny-grid-cell__title:has(.tiny-grid-tree__indent:nth-last-child(2):first-child),.tiny-grid .tiny-grid-body__column.col__treenode.col__ellipsis .tiny-grid-cell__tooltip:has(.tiny-grid-tree__indent:nth-last-child(2):first-child){display:inline-block}.tiny-grid .tiny-grid-body__row:first-child .tiny-grid-cell__valid{bottom:auto;top:calc(100% + 4px)}.tiny-grid .tiny-grid__body-wrapper.body__wrapper.is__scrollload{overflow-y:hidden;position:static}.tiny-grid .is__scrollload .tiny-grid-body__y-space{position:absolute;right:0;width:12px;overflow-y:scroll}.tiny-grid .is__scrollload .tiny-grid-body__y-space .tiny-grid-body__y-scrollbar{width:1px}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived{-webkit-box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color);box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color)}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived.col__valid-error{-webkit-box-shadow:inset 0 0 0 2px var(--ti-grid-error-color);box-shadow:inset 0 0 0 2px var(--ti-grid-error-color)}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-default-input,.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-default-textarea,.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-input__wrapper .tiny-grid-textarea{border:0;padding:0}.tiny-grid.tiny-grid-editable .tiny-grid-body__column,.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__actived{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__ellipsis,.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__ellipsis.col__actived{padding:0}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__dirty:before{content:"";top:-5px;left:-5px;position:absolute;border-width:5px;border-style:solid;border-color:transparent var(--ti-grid-error-color) transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__dirty.col__valid-success:before{border-color:transparent var(--ti-grid-success-color) transparent transparent}.tiny-grid.tiny-grid-editable .tiny-grid__body-wrapper .tiny-grid-editor .tiny-select-dropdown{left:0!important}.tiny-grid .tiny-grid-default-input,.tiny-grid .tiny-grid-default-select,.tiny-grid .tiny-grid-default-textarea,.tiny-grid__filter-wrapper .tiny-grid-default-input,.tiny-grid__filter-wrapper .tiny-grid-default-select,.tiny-grid__filter-wrapper .tiny-grid-default-textarea{outline:0;height:var(--ti-grid-input-height);padding:0 var(--ti-grid-td-padding-horizontal);width:100%;color:var(--ti-grid-text-color);border-radius:var(--ti-grid-border-radius);border:1px solid var(--ti-grid-border-color)}.tiny-grid .tiny-grid-default-input:focus,.tiny-grid .tiny-grid-default-select:focus,.tiny-grid .tiny-grid-default-textarea:focus,.tiny-grid__filter-wrapper .tiny-grid-default-input:focus,.tiny-grid__filter-wrapper .tiny-grid-default-select:focus,.tiny-grid__filter-wrapper .tiny-grid-default-textarea:focus{border:1px solid var(--ti-grid-primary-color)}.tiny-grid .tiny-grid-editor,.tiny-grid__filter-wrapper .tiny-grid-editor{width:100%;height:var(--ti-grid-input-height);line-height:normal;color:var(--ti-grid-text-color)}.tiny-grid .tiny-grid-editor .tiny-input,.tiny-grid__filter-wrapper .tiny-grid-editor .tiny-input{width:100%}.tiny-grid .tiny-grid-editor .tiny-select,.tiny-grid__filter-wrapper .tiny-grid-editor .tiny-select{z-index:1}.tiny-grid .tiny-grid-default-textarea,.tiny-grid__filter-wrapper .tiny-grid-default-textarea{resize:none;vertical-align:middle}.tiny-grid .tiny-grid-input__wrapper,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper{width:100%;display:block}.tiny-grid .tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid .tiny-grid-input__wrapper .tiny-grid-textarea,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper .tiny-grid-textarea{padding:0 2px}.tiny-grid .tiny-grid-input__wrapper .tiny-grid-textarea,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper .tiny-grid-textarea{resize:none}.tiny-grid__filter-wrapper .tiny-grid-default-input,.tiny-grid__filter-wrapper .tiny-grid-default-textarea{padding:0 10px}.tiny-grid-hidden-column{display:none}.tiny-grid .tiny-pager,.tiny-grid+.tiny-pager{padding-top:24px}.tiny-grid .tiny-grid__header th.col__gutter{width:0;position:sticky;right:0;background-color:var(--ti-grid-header-background-color)}.tiny-grid .tiny-grid__selected-box-outer{width:100%;display:grid}.tiny-grid .tiny-grid__selected-box-outer-default{grid-template-columns:repeat(4,minmax(0,1fr))}.tiny-grid .tiny-grid__selected-box-wrapper{border-width:1px;border-style:solid;border-color:#eee}.tiny-grid .tiny-grid__selected-box-wrapper-default{display:block}.tiny-grid .tiny-grid__selected-box-table{grid-column:span 3/span 3;height:-webkit-max-content;height:-moz-max-content;height:max-content}.tiny-grid .tiny-grid__column-anchor{-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin-top:.5rem;margin-bottom:.5rem;height:2rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid .tiny-grid__column-anchor-item{-ms-flex-negative:0;flex-shrink:0;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1.5rem;font-size:.875rem;cursor:pointer;color:#161e26}.tiny-grid .tiny-grid__column-anchor-item:last-child{margin-right:0}.tiny-grid .tiny-grid__column-anchor-item:hover{color:#0072e8}.tiny-grid .tiny-grid__column-anchor-item:hover .tiny-grid__column-anchor-item-icon{fill:#0072e8}.tiny-grid .tiny-grid__column-anchor-item--active{padding-left:1.25rem;position:relative;color:#005bba}.tiny-grid .tiny-grid__column-anchor-item-icon{position:absolute;left:0;bottom:50%;-webkit-transform:translateY(50%);transform:translateY(50%);fill:#005bba}.tiny-grid .tiny-grid__oper-col-elps{outline:2px solid transparent;outline-offset:2px;font-size:1rem;line-height:1.5rem;cursor:pointer}.tiny-grid .tiny-grid__oper-col-button{font-size:.875rem;line-height:1.25rem;cursor:pointer;margin-right:.5rem}.tiny-grid .tiny-grid__oper-col-button--disabled{cursor:not-allowed;fill:#333d484d;color:#161e264d}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived{height:72px}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived .tiny-grid-cell__valid{--td-padding-x:8px;position:absolute;top:auto;right:auto;bottom:1px;left:var(--td-padding-x);width:calc(100% - 2 * var(--td-padding-x));height:16px;line-height:1;-webkit-transform:translate(0,0);transform:translate(0);background-color:transparent;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5222d}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived .tiny-grid-cell__valid .tiny-grid-cell__valid-icon{margin-right:8px}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived .tiny-grid-cell__valid .tiny-grid-cell__valid-msg{padding:0;background-color:transparent;display:inline;color:inherit;font-size:12px}.tiny-fullscreen-full{z-index:1000;position:fixed;overflow:auto;background:var(--ti-grid-light-color);width:100%;height:100%;top:0;left:0;margin:0;padding:8px}.tiny-grid__header-wrapper{background-color:var(--ti-grid-header-background-color)}.tiny-grid__header-wrapper .tiny-grid__repair{position:absolute;left:0;bottom:0;height:0;z-index:1;border-bottom:1px solid var(--ti-grid-header-repair-border-color)}.tiny-grid-header__column{position:relative;font-size:var(--ti-grid-font-size);color:var(--ti-grid-header-text-color)}.tiny-grid-header__column:nth-last-of-type(2) .tiny-grid-resizable.is__line:before{width:0}.tiny-grid-header__column:not(.fixed__column){left:unset!important;right:unset!important}.tiny-grid-header__column.col__title-checked{background-color:#dcdcdc}.tiny-grid-header__column.col__title-checked .tiny-grid-edit-icon.tiny-grid-icon__edit-outline:before{background-color:#dcdcdc}.tiny-grid-header__column.col__ellipsis .tiny-grid-edit-icon{-ms-flex-negative:0;flex-shrink:0}.tiny-grid-header__column .tiny-grid-required-icon{color:var(--ti-grid-error-color);line-height:14px;font-size:var(--ti-common-font-size-1);-ms-flex-item-align:baseline;align-self:baseline}.tiny-grid-header__column .tiny-grid-required-icon:before{content:"*";width:10px;height:10px;display:block}.tiny-grid-header__column .tiny-grid-edit-icon{font-size:var(--ti-common-font-size-2);margin-right:4px;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;fill:var(--ti-grid-column-icon-text-color)}.tiny-grid-header__column .tiny-grid-resizable,.tiny-grid-header__column .tiny-grid-thead-partition{position:absolute;right:0;-webkit-transform:translateX(50%);transform:translate(50%);bottom:0;top:0;margin:auto;width:14px;height:100%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-grid-header__column .tiny-grid-resizable,.tiny-grid-header__column .tiny-grid-thead-partition{margin:0}}.tiny-grid-header__column .tiny-grid-resizable.is__line:after,.tiny-grid-header__column .tiny-grid-resizable.is__line:before,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:after,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:before{content:"";display:inline-block;vertical-align:middle}.tiny-grid-header__column .tiny-grid-resizable.is__line:before,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:before{width:1px;height:var(--ti-grid-header-resizable-line-height);background-color:var(--ti-grid-header-resizable-bg-color)}.tiny-grid-header__column .tiny-grid-resizable.is__line:after,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:after{width:0;height:100%}.tiny-grid-header__column .tiny-grid-resizable{cursor:col-resize}.tiny-grid-header__column .tiny-grid-checkbox>input:not(:checked)+.tiny-grid-checkbox__icon:hover{border-color:var(--ti-grid-border-color)}.tiny-grid-header__column .tiny-grid-checkbox.is__indeterminate>input+.tiny-grid-checkbox__icon:hover{border-color:var(--ti-grid-primary-color)}.tiny-grid__header .tiny-grid-cell-text{font-weight:var(--ti-grid-header-font-weight)}.tiny-grid__header .tiny-grid-cell__header-suffix{position:relative;min-height:16px}.tiny-grid__header .tiny-grid-cell__header-suffix .suffix-icon-1{position:absolute;right:12px}.tiny-grid__header .tiny-grid-cell__header-suffix .suffix-icon-0{position:absolute;right:0}.tiny-grid th.col__selection>.tiny-grid-cell{position:relative}.tiny-grid th.col__selection>.tiny-grid-cell>.selection-dropdown-wrapper{position:absolute;right:0;top:0}.tiny-grid__body-wrapper,.tiny-grid__fixed-left-body-wrapper,.tiny-grid__fixed-right-body-wrapper{overflow-y:auto;overflow-x:auto}.tiny-grid__borders .tiny-grid-border-bottom,.tiny-grid__borders .tiny-grid-border-left,.tiny-grid__borders .tiny-grid-border-right,.tiny-grid__borders .tiny-grid-border-top{position:absolute;background-color:var(--ti-grid-primary-color)}.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-bottom,.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-top{height:var(--ti-grid-column-checked-border-width)}.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-left,.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-right{width:var(--ti-grid-column-checked-border-width)}.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-bottom,.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-top{height:calc(var(--ti-grid-column-checked-border-width) + 1px)}.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-left,.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-right{width:calc(var(--ti-grid-column-checked-border-width) + 1px)}.tiny-grid__borders .tiny-grid-copyed-borders>span{background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--ti-grid-primary-color) 3px,var(--ti-grid-primary-color) 9px);-webkit-animation:shine 1s infinite linear;animation:shine 1s infinite linear}.tiny-grid-body__row .tiny-grid-body__column.col__selected{background-color:var(--ti-grid-light-color)}.tiny-grid-body__row .tiny-grid-body__column .tiny-numeric{width:100%}@-webkit-keyframes shine{0%{background-position:-1px -1px}to{background-position:-12px -12px}}@keyframes shine{0%{background-position:-1px -1px}to{background-position:-12px -12px}}.tiny-grid__footer-wrapper{margin-top:-1px;background-color:var(--ti-grid-light-color)}.tiny-grid__footer-wrapper .tiny-grid-footer__row{background-color:var(--ti-grid-row-background-color)}.tiny-grid__footer-wrapper.body__wrapper{overflow-x:auto}.tiny-grid-filter-wrapper{padding-left:4px}.tiny-grid-filter-wrapper.is__active .tiny-grid-filter__btn{fill:var(--ti-grid-primary-hover-color)}.tiny-grid-filter-wrapper .tiny-grid-filter__btn{font-size:var(--ti-common-font-size-base);fill:#999;cursor:pointer;vertical-align:middle}.tiny-grid-filter-wrapper .tiny-grid-filter__btn:hover{fill:var(--ti-grid-primary-hover-color)}.filter__active .tiny-grid-filter-wrapper .tiny-grid-filter__btn{fill:var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper{display:none;position:absolute;min-width:270px;border-radius:var(--ti-grid-border-radius);-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.2);box-shadow:0 2px 12px #0003;font-size:var(--ti-common-font-size-base);z-index:4000}.tiny-grid__filter-wrapper.filter__active{display:block}.tiny-grid__filter-wrapper .tiny-grid__filter-body{padding:0;list-style-type:none;background-color:var(--ti-grid-light-color);overflow-x:hidden;overflow-y:auto}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel{margin:0;width:100%;padding:12px 8px 8px;border-bottom:solid 1px var(--ti-grid-border-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-search{margin-bottom:4px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-search .tiny-input__inner{border-width:0;background-color:var(--ti-grid-header-background-color);padding-right:54px;padding-left:8px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default{padding:8px 20px 4px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default{padding-left:0;padding-right:0}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear .tiny-grid__filter-option,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default .tiny-grid__filter-option{cursor:pointer;padding-left:16px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear .tiny-grid__filter-option:hover,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default .tiny-grid__filter-option:hover{background-color:var(--ti-grid-primary-hover-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear .tiny-grid__filter-option:hover a,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default .tiny-grid__filter-option:hover a{color:var(--ti-grid-light-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum{padding-top:4px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options{max-height:170px;overflow:auto}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-empty{text-align:center;line-height:30px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option{height:28px;line-height:28px;padding:0 8px;max-width:240px;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option.selected{background-color:var(--ti-grid-header-background-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option svg{font-size:var(--ti-common-font-size-2);fill:var(--ti-grid-normal-text-color);margin-right:8px;outline:0;vertical-align:middle}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option svg:hover{fill:var(--ti-grid-primary-hover-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option svg.is-checked{fill:var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option{margin:0;height:24px;line-height:24px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option a{color:var(--ti-grid-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios{margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio{width:auto;display:inline-block}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio .tiny-grid-radio__label{color:var(--ti-grid-text-color);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:auto;max-width:80%}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio+.tiny-grid-radio{margin-left:0}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio:nth-child(2){text-align:center}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio:nth-child(3){text-align:right}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__btns{margin:8px 0 16px;text-align:center}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__simple{padding:0}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__simple .tiny-grid__filter-option.filter-option__btns{padding:var(--ti-grid-filter-button-group-size) 0;margin:0 var(--ti-grid-filter-button-group-size);border-top:1px solid var(--ti-grid-popup-border-color);text-align:left;height:auto}.tiny-grid__filter-wrapper .tiny-grid__filter-body .filter-option__input>input{width:100%;border:solid 1px #bdbdbd;border-radius:var(--ti-grid-border-radius);outline:0;padding:0 8px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:inherit;height:30px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .filter-option__input>input:focus{border:1px solid var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-footer{border-top:1px solid var(--ti-grid-popup-border-color);padding:8px}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button{background-color:transparent;padding:0 3px;border:0;font-size:13px;color:var(--ti-grid-text-color);cursor:pointer}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button:focus{outline:0}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button:hover{color:var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button.is__disabled{color:var(--ti-grid-column-icon-text-color);cursor:not-allowed}.tiny-grid__filter-simple{background-color:#fff;min-width:80px}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple{border-bottom:none}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date-title{padding:var(--ti-grid-filter-button-group-size);color:var(--ti-grid-filter-date-title-color)}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date{padding:0 var(--ti-grid-filter-button-group-size);min-width:270px}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date .tiny-grid__filter-date-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--ti-grid-filter-button-group-size);color:var(--ti-grid-filter-date-color)}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date .tiny-grid__filter-date-item .tiny-grid__filter-date-pick{width:160px}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-option.filter-option__date-button.filter-option__btns{text-align:right}.tiny-grid-loading{display:none;position:absolute;width:100%;height:100%;top:0;left:0;z-index:99;background-color:var(--ti-grid-loading-background-color)}.tiny-grid-loading .tiny-grid-loading__wrap{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-grid-loading .tiny-grid-loading__wrap.tiny-loading__spinner{margin-top:0}.tiny-grid-loading .tiny-grid-loading__wrap .circular{width:var(--ti-grid-loading-width-size);height:var(--ti-grid-loading-height-size)}.tiny-grid-loading .tiny-grid-loading__round{width:46px;height:46px;position:relative;margin:0 auto;background:-webkit-gradient(linear,left bottom,left top,from(transparent),to(transparent));background:linear-gradient(to top,transparent,transparent)}.tiny-grid-loading .tiny-grid-loading__round span{display:inline-block;width:10px;height:10px;border-radius:50%;background:-webkit-gradient(linear,left top,left bottom,from(#000),to(#000));background:linear-gradient(#000,#000);position:absolute;-webkit-animation:load 1.04s ease infinite;animation:load 1.04s ease infinite}@-webkit-keyframes load{0%{opacity:10}to{opacity:.1}}@keyframes load{0%{opacity:10}to{opacity:.1}}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(1){top:68%;left:68%;animation-delay:0s;-webkit-animation-delay:0s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(2){top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);animation-delay:.1s;-webkit-animation-delay:.1s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(3){top:10%;left:68%;animation-delay:.2s;-webkit-animation-delay:.2s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(5){top:10%;left:12%;animation-delay:.4s;-webkit-animation-delay:.4s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(4){top:0;left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%);animation-delay:.3s;-webkit-animation-delay:.3s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(8){bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%);animation-delay:.7s;-webkit-animation-delay:.7s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(6){top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);animation-delay:.5s;-webkit-animation-delay:.5s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(7){top:68%;left:12%;animation-delay:.6s;-webkit-animation-delay:.6s}.tiny-grid .tiny-grid-body__row.row__pending{color:var(--ti-grid-error-color);text-decoration:line-through;cursor:no-drop}.tiny-grid .tiny-grid-body__row.row__pending .tiny-grid-body__column{position:relative}.tiny-grid .tiny-grid-body__row.row__pending .tiny-grid-body__column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--ti-grid-error-color);z-index:1}.tiny-grid.mark-insert .tiny-grid-body__row.row__new{background-color:var(--ti-grid-new-row-background-color)}.tiny-grid-menu__clild-wrapper,.tiny-grid-menu__wrapper{display:none;position:absolute;top:0;left:0;z-index:5000;font-size:var(--ti-grid-font-size);background-color:var(--ti-grid-light-color);-webkit-box-shadow:2px 2px 4px -2px rgba(0,0,0,.2);box-shadow:2px 2px 4px -2px #0003;padding:0 1px;color:var(--ti-grid-text-color);font-family:var(--ti-grid-font-family);overflow:visible;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-grid-menu__clild-wrapper.show,.tiny-grid-menu__wrapper.show{display:block}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper{margin:0;padding:0;list-style-type:none;border-bottom:1px solid var(--ti-grid-border-color)}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li{position:relative;margin:1px 0;border:1px solid transparent}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li:last-child,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li:last-child,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li:last-child,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li:last-child{border:0}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__active,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__active{color:#2b2b2b;background-color:#c5c5c5;border-color:#c5c5c5}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__disabled .tiny-grid-menu__link,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__disabled .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__disabled .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__disabled .tiny-grid-menu__link{color:var(--ti-grid-text-color);cursor:initial}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active{border-color:#c0c1c2;background-color:#eee}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active:hover,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active:hover,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active:hover,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active:hover{background-color:inherit}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link{display:block;padding:0 30px;min-width:120px;max-width:180px;line-height:26px;color:var(--ti-grid-text-color)}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix{position:absolute;top:5px;margin-right:5px;font-size:var(--ti-common-font-size-2)}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix{left:5px}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix{right:5px}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild{top:8px}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before{position:absolute;content:"";border:4px solid transparent;border-left-color:#727272}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link{max-width:180px;padding:0 20px 0 30px}.tiny-grid-menu__clild-wrapper{display:none;z-index:5100;top:0;left:100%}.tiny-grid-custom{width:100%}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head{white-space:nowrap;margin:0;overflow:hidden;height:var(--ti-grid-custom-head-height);width:100%;position:relative}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul{height:var(--ti-grid-custom-head-height);border-bottom:1px solid var(--ti-grid-border-color);list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li{float:left;margin-right:-1px;cursor:pointer;line-height:28px;padding:0 20px;color:var(--ti-grid-text-color);min-width:90px;height:var(--ti-grid-custom-head-height);line-height:var(--ti-grid-custom-head-height)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li.tiny-grid-custom__tabs-selected{color:var(--ti-grid-primary-color);border-bottom:3px solid var(--ti-grid-primary-color);font-weight:700}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body{overflow-y:auto;border:0;padding:12px 0}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__alert{position:relative;border:1px solid;border-radius:var(--ti-grid-border-radius);height:var(--ti-grid-custom-body-list-height);line-height:var(--ti-grid-custom-body-list-height);padding-left:8px;overflow:hidden;background:var(--ti-grid-row-hover-background-color);border-color:#91d5ff;color:var(--ti-grid-text-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__alert .tiny-svg{font-size:var(--ti-common-font-size-3);fill:var(--ti-grid-primary-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__alert p{display:inline-block;line-height:16px;padding-left:8px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting{border-bottom:1px solid var(--ti-grid-border-color);padding:12px 0 24px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item{font-size:var(--ti-grid-font-size);padding:10px 8px;overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon{font-size:0}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .icon{display:inline-block}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .icon:not(:last-child){margin-right:12px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg{font-size:var(--ti-common-font-size-1);fill:var(--ti-grid-normal-text-color);cursor:pointer}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg:hover{fill:var(--ti-grid-primary-disabled-text-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.lock,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.open,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.sort{fill:var(--ti-grid-primary-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.lock:hover,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.open:hover,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.sort:hover{fill:var(--ti-grid-primary-hover-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.is-visible{visibility:hidden;pointer-events:none}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.label{width:26%;display:inline-block;text-align:right;padding-right:24px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.selection{-webkit-box-flex:1;-ms-flex:1;flex:1;display:inline-block}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.selection .tiny-grid-radio{margin-right:10px;margin-left:0!important}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.selection .tiny-grid-radio__label{height:16px;line-height:18px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid__body-wrapper{max-height:45vh;border-bottom:0}.tiny-grid-custom .tiny-grid-custom__footer{margin:12px;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid-custom-switch{margin-top:8px;padding-bottom:12px;border-bottom:1px solid #d9d9d9}.tiny-grid-custom-switch .tiny-grid-custom-switch__title{margin-bottom:12px;font-weight:400}.tiny-grid-custom-switch .tiny-grid-custom-switch__title .tiny-svg{font-size:var(--ti-common-font-size-3)}.tiny-grid-custom-switch .tiny-grid-custom-switch__title .tiny-alert__description{font-size:var(--ti-common-font-size-1)}.tiny-grid-custom-switch .tiny-grid-custom-switch__label{text-align:right;position:relative;top:2px;padding-right:3px}.tiny-grid-custom-switch .tiny-grid-custom-switch__content{position:relative;top:-4px}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn{fill:#1890ff;font-size:var(--ti-common-font-size-1);cursor:pointer}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn:hover{fill:#096dd9}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn--disabled,.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn--disabled:hover{fill:#bfbfbf;cursor:not-allowed}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn+.tiny-grid-custom-switch__icon-btn{margin-left:12px}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn:first-child{margin-left:20px}.tiny-grid-custom-switch__dialog-box .tiny-grid-custom-switch__confirm-btns{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:85%}.tiny-grid-custom-switch__dialog-box .tiny-grid-custom-switch__del-tip{text-align:center}.tiny-grid-toolbar{padding:12px 0}.tiny-grid-toolbar:after{content:"";display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.tiny-grid-toolbar svg{fill:var(--ti-grid-primary-color);font-size:var(--ti-common-font-size-1)}.tiny-grid-toolbar.is__loading{position:relative}.tiny-grid-toolbar.is__loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background-color:var(--ti-grid-loading-background-color)}.tiny-grid-toolbar.size__mini,.tiny-grid-toolbar.size__small{padding:8px 0}.tiny-grid-toolbar.size__medium .tiny-grid-custom__setting-btn,.tiny-grid-toolbar.size__medium .tiny-grid-refresh__btn{font-size:17px}.tiny-grid-toolbar.size__small .tiny-grid-custom__setting-btn,.tiny-grid-toolbar.size__small .tiny-grid-refresh__btn{font-size:15px}.tiny-grid-toolbar.size__mini .tiny-grid-custom__setting-btn,.tiny-grid-toolbar.size__mini .tiny-grid-refresh__btn{font-size:var(--ti-common-font-size-1)}.tiny-grid-toolbar .tiny-grid-custom__wrapper,.tiny-grid-toolbar .tiny-grid-fullscreen__wrapper,.tiny-grid-toolbar .tiny-grid-refresh__wrapper,.tiny-grid-toolbar .tiny-grid-tools__wrapper{float:right;width:var(--ti-grid-toolbar-icon-btn-width);height:var(--ti-grid-toolbar-icon-btn-height);line-height:var(--ti-grid-toolbar-icon-btn-height);border:solid 1px var(--ti-grid-toolbar-icon-btn-border-color);border-radius:var(--ti-grid-toolbar-icon-btn-border-radius);text-align:center;margin:0 4px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid-toolbar .tiny-grid-custom__wrapper:hover,.tiny-grid-toolbar .tiny-grid-fullscreen__wrapper:hover,.tiny-grid-toolbar .tiny-grid-refresh__wrapper:hover,.tiny-grid-toolbar .tiny-grid-tools__wrapper:hover{border-color:var(--ti-grid-primary-color)}.tiny-grid-toolbar .tiny-grid-custom__wrapper{position:relative}.tiny-grid-toolbar .tiny-grid-custom__wrapper.is__active .tiny-grid-custom__setting-btn{border-color:var(--ti-grid-primary-color)}.tiny-grid-toolbar .tiny-grid-custom__wrapper.is__active .tiny-grid-custom__option-wrapper{display:block}.tiny-grid-toolbar .tiny-grid-custom__setting-btn,.tiny-grid-toolbar .tiny-grid-fullscreen__btn,.tiny-grid-toolbar .tiny-grid-refresh__btn{font-size:var(--ti-common-font-size-2);vertical-align:middle;width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-grid-toolbar .tiny-grid-custom__setting-btn>i,.tiny-grid-toolbar .tiny-grid-fullscreen__btn>i,.tiny-grid-toolbar .tiny-grid-refresh__btn>i{display:block;color:var(--ti-grid-primary-color);line-height:28px}.tiny-grid-toolbar .tiny-grid-custom__option-wrapper{display:none;position:absolute;right:0;text-align:left;background-color:var(--ti-grid-light-color);z-index:19;max-height:210px;overflow:auto;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px #0003}.tiny-grid-toolbar .tiny-grid-custom__option-wrapper .tiny-grid-custom__option{padding:5px;border:1px solid var(--ti-grid-border-color);border-radius:2px;font-weight:700;font-size:var(--ti-common-font-size-1)}.tiny-grid-toolbar .tiny-grid-custom__option-wrapper .tiny-grid-custom__option>.tiny-grid-checkbox{display:block;padding:5px;margin:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-grid__select-toolbar{position:absolute;background-color:var(--ti-common-color-light)}.tiny-grid__select-toolbar .tiny-grid-toolbar{padding:2px 0 2px 6px}.tiny-grid-checkbox{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiny-grid-checkbox.size__mini,.tiny-grid-checkbox.size__small{font-size:var(--ti-grid-font-size)}.tiny-grid-checkbox.size__mini>input+.tiny-grid-checkbox__icon,.tiny-grid-checkbox.size__small>input+.tiny-grid-checkbox__icon{font-size:var(--ti-grid-checkbox-icon-size)}.tiny-grid-checkbox+.tiny-grid-checkbox{margin-left:10px}.tiny-grid-checkbox>input{display:none}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon{position:relative;display:block;width:1em;height:1em;border-radius:var(--ti-grid-checkbox-border-radius);font-size:var(--ti-common-font-size-2)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon:hover{border-color:var(--ti-grid-primary-hover-color)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon+.tiny-grid-checkbox__label{display:none}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon>svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);fill:var(--ti-grid-checkbox-border-color);font-size:var(--ti-grid-select-icon-font-size)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon>svg:hover{fill:var(--ti-grid-primary-color)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon>svg.icon-checked-sur{display:none}.tiny-grid-checkbox>input:checked+.tiny-grid-checkbox__icon+.tiny-grid-checkbox__label{color:var(--ti-grid-primary-color)}.tiny-grid-checkbox>input:checked+.tiny-grid-checkbox__icon>svg.icon-check{display:block}.tiny-grid-checkbox>input:checked+.tiny-grid-checkbox__icon>svg.icon-checked-sur{display:block;fill:var(--ti-grid-checkbox-bg-color-checked)}.tiny-grid-checkbox.is__indeterminate>input:not(:checked)+.tiny-grid-checkbox__icon{border:none}.tiny-grid-checkbox.is__indeterminate>input:not(:checked)+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-checkbox-bg-color-checked);border-radius:var(--ti-grid-checkbox-border-radius)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate){cursor:not-allowed}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-border-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input+.tiny-grid-checkbox__icon>svg path:first-of-type{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input+.tiny-grid-checkbox__icon+.tiny-grid-checkbox__label{color:var(--ti-grid-disabled-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input:checked+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-disabled-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input:checked+.tiny-grid-checkbox__icon>svg path:first-child{fill:var(--ti-grid-disabled-color)}.tiny-grid-checkbox.is__disabled.is__indeterminate{cursor:not-allowed}.tiny-grid-checkbox.is__disabled.is__indeterminate>input+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-disabled-color)}.tiny-grid-checkbox .tiny-grid-checkbox__label{padding-left:5px;vertical-align:middle;display:inline-block}.tiny-grid-radio{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiny-grid-radio.size__mini,.tiny-grid-radio.size__small{font-size:var(--ti-grid-font-size)}.tiny-grid-radio.size__mini>input+.tiny-grid-radio__icon,.tiny-grid-radio.size__small>input+.tiny-grid-radio__icon{font-size:var(--ti-common-font-size-1)}.tiny-grid-radio>input{display:none}.tiny-grid-radio>input+.tiny-grid-radio__icon{position:relative;display:inline-block;width:1em;height:1em;vertical-align:middle;border-radius:50%;font-size:var(--ti-common-font-size-2)}.tiny-grid-radio>input+.tiny-grid-radio__icon>svg{fill:var(--ti-grid-radio-border-color);vertical-align:top;font-size:var(--ti-grid-select-icon-font-size)}.tiny-grid-radio>input+.tiny-grid-radio__icon>svg:hover{fill:var(--ti-grid-primary-hover-color)}.tiny-grid-radio>input+.tiny-grid-radio__icon>svg.icon-radio-selected{display:none}.tiny-grid-radio>input:checked+.tiny-grid-radio__icon>svg.icon-radio{display:none}.tiny-grid-radio>input:checked+.tiny-grid-radio__icon>svg.icon-radio-selected{display:inline-block;fill:var(--ti-grid-radio-bg-color-checked)}.tiny-grid-radio>input:checked+.tiny-grid-radio__icon+.tiny-grid-radio__label{color:var(--ti-grid-primary-color)}.tiny-grid-radio.is__disabled{cursor:not-allowed}.tiny-grid-radio.is__disabled>input+.tiny-grid-radio__icon>svg{fill:var(--ti-grid-border-color)}.tiny-grid-radio.is__disabled>input+.tiny-grid-radio__icon>svg path:last-child{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-radio.is__disabled>input+.tiny-grid-radio__icon+.tiny-grid-radio__label{color:var(--ti-grid-radio-border-color)}.tiny-grid-radio.is__disabled>input:checked+.tiny-grid-radio__icon>svg{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-radio.is__disabled>input:checked+.tiny-grid-radio__icon>svg path:first-child{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-radio .tiny-grid-radio__label{padding-left:5px;vertical-align:middle;display:inline-block}.tiny-grid-radio+.tiny-grid-radio{margin-left:10px}.tiny-grid-input__wrapper{font-size:var(--ti-common-font-size-base);font-size:var(--ti-grid-font-size,12px);display:inline-block}.tiny-grid-input__wrapper.type__textarea{width:100%}.tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid-input__wrapper .tiny-grid-textarea{border-radius:4px;outline:0;padding:4px 8px;width:100%;color:var(--ti-grid-text-color);border:1px solid var(--ti-grid-border-color);background-color:#fff}.tiny-grid-input__wrapper .tiny-grid-input:focus,.tiny-grid-input__wrapper .tiny-grid-textarea:focus{border:1px solid var(--ti-grid-primary-color)}.tiny-grid-input__wrapper .tiny-grid-input[disabled],.tiny-grid-input__wrapper .tiny-grid-textarea[disabled]{cursor:not-allowed;background-color:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-input__wrapper .tiny-grid-input{height:32px}.tiny-grid-input__wrapper .tiny-grid-textarea{height:100%}.tiny-grid-input__wrapper.size__medium .tiny-grid-input{height:36px}.tiny-grid-input__wrapper.size__small .tiny-grid-input{height:32px}.tiny-grid-input__wrapper.size__mini .tiny-grid-input{height:28px}.tiny-grid-button{position:relative;text-align:center;background-color:var(--ti-grid-light-color);outline:0;font-size:var(--ti-grid-font-size);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tiny-grid-button.is__disabled{color:var(--ti-grid-primary-disabled-text-color)}.tiny-grid-button.is__disabled:not(.is__loading){cursor:no-drop}.tiny-grid-button:not(.is__disabled){color:var(--ti-grid-primary-color);cursor:pointer}.tiny-grid-button.is__loading:before{content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:#ffffff59;pointer-events:none}.tiny-grid-button.type__text{text-decoration:none;border:0;background-color:transparent}.tiny-grid-button.type__text:not(.is__disabled):hover{color:var(--ti-grid-primary-hover-color)}.tiny-grid-button.type__button{padding:0 var(--ti-grid-toolbar-btn-padding-horizontal);line-height:var(--ti-grid-toolbar-btn-line-height);border:1px solid var(--ti-grid-toolbar-btn-border-color);border-radius:var(--ti-grid-toolbar-btn-border-radius);min-width:var(--ti-grid-toolbar-btn-min-width)}.tiny-grid-button.type__button.theme__primary{color:var(--ti-grid-light-color);border-color:var(--ti-grid-primary-color);background-color:var(--ti-grid-primary-color)}.tiny-grid-button.type__button.theme__primary:not(.is__disabled):hover{color:var(--ti-grid-light-color);background-color:var(--ti-grid-primary-hover-color);border-color:var(--ti-grid-primary-hover-color)}.tiny-grid-button.type__button.theme__primary:not(.is__disabled):active{color:var(--ti-grid-light-color);background-color:var(--ti-grid-primary-active-color);border-color:var(--ti-grid-primary-active-color)}.tiny-grid-button.type__button:not(.theme__primary):not(.is__disabled):hover{color:var(--ti-grid-primary-color);border-color:var(--ti-grid-toolbar-btn-hover-border-color)}.tiny-grid-button.type__button:not(.theme__primary):not(.is__disabled):active{color:var(--ti-grid-primary-active-color);border-color:var(--ti-grid-primary-active-color)}.tiny-grid-button.type__button.size__medium{padding:0 14px;line-height:28px}.tiny-grid-button.type__button.size__small{padding:0 12px;line-height:26px}.tiny-grid-button.type__button.size__mini{padding:0 10px;line-height:24px}.tiny-grid-button.size__mini,.tiny-grid-button.size__small{font-size:var(--ti-common-font-size-base)}.tiny-grid-button+.tiny-grid-button,.tiny-grid-button+.tiny-grid-button__dropdown{margin-left:8px}.tiny-grid-button+.tiny-grid-button.size__medium,.tiny-grid-button+.tiny-grid-button__dropdown.size__medium{margin-left:8px}.tiny-grid-button+.tiny-grid-button.size__small,.tiny-grid-button+.tiny-grid-button__dropdown.size__small{margin-left:6px}.tiny-grid-button+.tiny-grid-button.size__mini,.tiny-grid-button+.tiny-grid-button__dropdown.size__mini{margin-left:4px}.tiny-grid-button__loading-icon{margin-right:5px}.tiny-grid-button__dropdown,.tiny-grid-button__wrapper{display:inline-block}.tiny-grid-button__dropdown{position:relative}.tiny-grid-button__dropdown+.tiny-grid-button,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown{margin-left:8px}.tiny-grid-button__dropdown+.tiny-grid-button.size__medium,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown.size__medium{margin-left:8px}.tiny-grid-button__dropdown+.tiny-grid-button.size__small,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown.size__small{margin-left:6px}.tiny-grid-button__dropdown+.tiny-grid-button.size__mini,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown.size__mini{margin-left:4px}.tiny-grid-button__dropdown.is__active>.tiny-grid-button.theme__primary{color:var(--ti-grid-light-color);background-color:var(--ti-grid-primary-hover-color);border-color:var(--ti-grid-primary-hover-color)}.tiny-grid-button__dropdown.is__active>.tiny-grid-button:not(.is__disabled):not(.theme__primary){color:var(--ti-grid-primary-color);border-color:var(--ti-grid-toolbar-btn-hover-border-color)}.tiny-grid-button__dropdown.is__active .tiny-grid-button__dropdown-wrapper{display:block}.tiny-grid-button__dropdown.is__active .tiny-grid-button__dropdown-arrow{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.tiny-grid-button__dropdown.is__active .tiny-grid-button__dropdown-arrow.tiny-grid-icon__arrow-bottom{margin-top:-2px}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-arrow{font-size:var(--ti-common-font-size-base);margin-left:5px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-wrapper{display:none;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%);margin-top:5px;z-index:100;padding:5px;background-color:var(--ti-grid-light-color);border-radius:4px;border:1px solid var(--ti-grid-border-color);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.2);box-shadow:0 1px 6px #0003}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-wrapper>.tiny-grid-button{margin:0;display:block;width:100%;border:0}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-wrapper>.tiny-grid-button.type__text{padding:2px 8px}.tiny-grid-button__wrapper .tiny-input{width:270px}.tiny-grid-button__wrapper .tiny-button,.tiny-grid-button__wrapper .tiny-input{vertical-align:middle}.tiny-grid__wrapper{--ti-grid-font-family:var(--ti-common-font-family, "Helvetica", "Arial", "PingFangSC-Regular", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Microsoft JhengHei");--ti-grid-header-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-grid-header-font-weight:var(--ti-common-font-weight-4, normal);--ti-grid-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-grid-icon-color:var(--ti-common-color-info-normal, #252b3a);--ti-grid-light-color:var(--ti-common-color-light, #fff);--ti-grid-error-color:var(--ti-common-color-error-text, #de504e);--ti-grid-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-grid-success-color:var(--ti-common-color-success, #50d4ab);--ti-grid-warning-color:var(--ti-common-color-warn, #fa9841);--ti-grid-disabled-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-grid-normal-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-grid-font-size:var(--ti-common-font-size-base, 12px);--ti-grid-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-grid-body-td-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-header-repair-border-color:var(--ti-common-color-transparent, transparent);--ti-grid-radio-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-grid-radio-bg-color-checked:var(--ti-grid-primary-color);--ti-grid-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-grid-select-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-grid-checkbox-bg-color-checked:var(--ti-grid-primary-color);--ti-grid-checkbox-icon-size:var(--ti-common-font-size-1, 14px);--ti-grid-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-grid-header-background-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-grid-new-row-background-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-grid-primary-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-grid-primary-hover-color:var(--ti-common-color-primary-hover, #7693f5);--ti-grid-primary-active-color:var(--ti-common-color-primary-active, #7693f5);--ti-grid-primary-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-grid-custom-head-height:var(--ti-common-space-10x, 40px);--ti-grid-custom-body-list-height:var(--ti-common-size-height-small, 32px);--ti-grid-header-resizable-bg-color:var(--ti-common-color-text-white, #fff);--ti-grid-header-resizable-line-height:100%;--ti-grid-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-grid-popup-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-filter-button-group-size:var(--ti-common-space-10, 10px);--ti-grid-filter-date-title-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-grid-filter-date-color:var(--ti-common-color-text-primary, #252b3a);--ti-grid-tree-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-grid-tree-icon-hover-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-grid-row-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-grid-row-selected-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-grid-row-striped-background-color:#fafafa;--ti-grid-row-hover-background-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-grid-column-hover-background-color:#d7effb;--ti-grid-column-current-background-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-grid-column-icon-text-color:var(--ti-common-color-icon-normal, #575d6c);--ti-grid-input-height:var(--ti-common-size-height-normal, 28px);--ti-grid-column-checked-border-width:var(--ti-common-border-weight-1, 2px);--ti-grid-loading-background-color:rgba(0, 0, 0, .2);--ti-grid-loading-width-size:var(--ti-common-size-10x, 40px);--ti-grid-loading-height-size:var(--ti-common-size-10x, 40px);--ti-grid-line-height-number:var(--ti-common-line-height-number, 1.5);--ti-grid-medium-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-default-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-small-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-mini-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-medium-column-height:var(--ti-common-size-13x, 52px);--ti-grid-default-column-height:calc(var(--ti-common-space-10x, 40px) + 2px);--ti-grid-small-column-height:var(--ti-common-size-9x, 36px);--ti-grid-mini-column-height:var(--ti-common-size-7x, 28px);--ti-grid-td-padding-vertical:calc(var(--ti-common-space-1, 1px) * 2);--ti-grid-td-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-grid-header-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-grid-column-icon-scale-size:1;--ti-table-nodata-td-bg-img-url:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAFPr3GUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADPNJREFUeNqUULENwCAMK0wsSDmBk3oCn/UFegR7N84oH6SAoAISFdWShwQbRxaIuDFoSzE/SEaIzAycgY2quBNNiawnfYl7iOGkEAJRTDsrf/yecQwJAEAUWmvS0ltdjJEYlFL9eA4J3nticM71477llhIB17hKo9WQaVbi2dBoO6Gb3x8BhE1DAFRxA7ocI1LCwxcXjMhpiFCk/YcpdoCJvH37FkXFlStXUDSAFO8HsVavXs3w69cvFMXCwsIMu3btwkz7Hz9+xBoxjx49wlQsKSmJ4VA2NjY0lyOBZ8+egWlgssUaQyDFB3BF35s3b1D4pOQmeE5iJKQQRLCgC6DZgmIIQABhSxsw7PCfOHAAlxnYBCkBCUQn1Fu3bjF8+fKF4dy5cwwpKSkMc+bMAcf38+fPwfKurq4M8vLyOMMQa+xs3boVbIC3tzfWxIMMQBYKCQkxBAUFYY3NAHRRkMEBAQHgtI2nfAHnBRsbG4Z3795hzWkgw9djk3n9+jVm8kYDoFyJo+KB551GdEFQWMJ8QAiIiooyGBkZYU+8uHIEqJr4/v07To0wy1lZWRlERESwmo03taCnDlAEgyIblnJAAMTGlVrwlcbkAqzpHFdrgKjqGJsgQADWqxjHQRgI2lEqGn8h10F5NS3iO1F+cj0PoM0DaE6iRbwA6SQekDRUIHE3lhKZZRfMwUhuzHq9LLOzy1L5u+tOyv2yduaIqLVEQYqvjakYOfvzjtxyF2gu4qfaj5FGjLHHrHEaxeOqocDnp/UnaXWWZavEzfNc5PTJHUDdSH0APRdsreo9qFbHceydVIgYznCiNFKh6bpODcOgwjCc6TQ0/IWqqmyX6ft+1jBmPIYBDMuyXI22rmtxhDlLh2g6ED0u9AXrGJNV27YqiqKJYwpjjLXl9JkraeuUAh+I9kOMfE3T+EfMIU3TWSqSJFFFUYh98MY9wGu6QEsKgmCyJzl19fhflbdg89ZjSOWVyyt47fa7F9ALMZMIo4P2/V/YAk1ZoY9yytFNH+FU4jEMPjc4/OYCWmqmrnAbZv/jb/1Ih34FYM6KURuGoajieAwkF8jQwVlsqLdshq5eSm7Q3iBX6QmKfYIO3jKkFzD4CM0eaMGQzbR9wko/qSV9K3HaB4IEK9b395f+ey/c9t81Zq0mdcXadW1ONgRpje9iODx9jzWrUM54hUMCtVmZ6L6NQ107YNn+2rUfhiKIQ+L5ouQzz3MRRZEIgkBKQ2WVUOo3mUw6r+E76Ak+2/QsieunZFxkPZqUMlJcgd9zGuIJ4GccM12ZHnO324nNZiOWy6XwfV9SJ2aGrNjv95JroOkmSSIWi4Vp+pb6P7c28Q7+gYDH47F0KzmanAOYBwDoG3g4Ax/I9IttlpIlQNM01rtS+kepts5sUBlP05QT9BSZvu+TGbWI8a5T+ymJ8kKZqUx3upEO5/QvgDDTRUxvBoDZZHJdUGZIwuFw6FVSXst2rMDxptSAbSMi0ygLjQ10PA7n87nchFAOfTa2p+s6pwjD8OhG2zYialoNk/hFEiAoELTJC+tqLm+cifTfkjiOZaZ0sG0+XY0zceMTAm3thtgoVVXJo8/zvF7Z6SoPKFh1KjGRySS7mN1FUchxDsqy/MyyrM9PXk18ms0/6ro28g7aLOg1g6TUYUX7iY5Pxy09/A8Ycc/pqp38+MfBjlyVyzUVzIpDK/p0xBl5+rsLBZmRe444AQNfAjBvBbdtBDFwdfBPjyQNCEkFKcF2BUEaEOwKknTiVBClAcWpIPZP+jk//ewOFOunl+M5HA3qsLsc3u35NMDCEGzvDSgulxzyPJbO4X1zSZ09r9PI738/rwVLyi4JuksIX3tEvLtGghhcQhDcJKzZFefNnq7cg4UUvKeFD9+f0JoiKUH6bbPpl4Ejx7YxTO+DOMYl82hZPWfpi5FuxTdWKlFlCP8Y+fp+8rgHYu79keQdUVeJWfpYCIurXFmWpvOL5XJZT0jojgaKAqSfkoLq30nHH4AkJjMNJN4F1drVpOlIgYGV1WpVP5jR7iSHljkq/MRnp0o1iV3jT57KpS+66njSTg5BTZUxKCWJdbg5D9wjGxfxdUPa1Uh07F3Q3b35fM6UYLVvU6Rl5kl6wbon3IewSA2bzaZehCH+4uzRYo0myk4jMIopVqwZnsBHidNXngdBERobJ566TxRTxNwUINnKIARE+FRYwx6YxvDMMYiARefTophixWZENGkmymAPDCvDEPp/CFxQpGEtPQrLanKz2cz0aVgbpHHQSXyiSe92uzCdTk1RXQvqOalXIgXCHAzSHq7sXW6JpWEVWKdkjMbBhqUHIZ26FPpAvrXYuFOpwvbgQTnALazQCJL6JQCPpU+8pBn3yPVaNOkO4Q64rfr4YwrSusg1gJxi+oHu4u5uWe6hQ6PVtWJcLYJF1ehsJpDgI3pst1sz5CGXwLJCHtzDebEADyBNTbPgoMCKGIK0SiUhzbgYSHv77CD9wIY9WBpAc78EJEY7SH/TIe+n9deYDtjv97WlSwBFsLgHZkYceuILaTOnxnWLB63X62yW5ynZkDShE9x+oysV6mKF7c2ARWmJPV646svlLJDtOPigTHZ7NQ/57MjqgO85sQZF2y9mFxS7cBmv5hHLZVyaR0LLuwvGpM0r40BdSpEO4XhG3KJDhRXzdYyEy5AYCKtYPxqB8KJrajoZwcc/WLc0k+VBTf38CmQfGyOZaQWbml43G94OeOCKtuRC6wKaMLkKiXPlgjx6tJnlzeprx1X8r/26aZf1X4D2zienjRgK4yZCQmwIbFmNlAMk3USwSnKCcoPCEXqD3qDlBKQ3oCdowpJVWLPJEeACqPqN/EZmOjOZ2M+TyZ8njaBFcuxvnj8/29970brQ97XEvr0b+7MbYZ7MrHvP6obhMaxJoMc2Av7WksX2t10KZtsO9MDuM0ZmO2xud8uLbQD6xnpJ12y3vdvZ99gmoBPbob7ZTXuxDrTcFNC88QezX1YZ4msDvY8ABwO+DtBt0iW3xb7UXTzrAH1uQ6D+AddSDid0fQsBuvaR3sGqdepVQBem6AcFqvO5eX19/fR/HAzzSOq/xt+kLlLRhWGdmkkBVpqHXQb0LNZGg4SYk5OTdZNb1AwRIcXUuNwZjaIMcW4KJHedpkDGu3jILNoUyJiUD8vPLEUbFW3r86e7Uw2Q5Y6IqxWuXfLl+dpiaCJFpQGd8HtJHTcfsKfGud10qQNu+RnSusuXJGfTcWiCjEUupfv9fjqgTXq0vHjq9HCxjTaCh36L4qSkpp2PfbdrXQY02+ggSbpwH1ZU/Enqd0ZejGrNNrl5RT6BQ/CQuspPalsCvIcSvczS+5eOE2GoWJ3E9rYYgLI4I/j6+PjIKEQ8X8l+CUfjzV9DW6ODeLRIlhBH5utJhRgyEFcphLKoSl1U1U+0Bfkqv6LAk89QnHVgmxybmhLvVeYKHwAbXqbzeAp1KagGliSJV9uiWy8CDXGzL3UUpeCLoyjT2+2xWTPNoszQ70hiOAsfFOJqMEM4umxmhNIU4iscwp017ktUtHFHM2aWUEm8AuCZ3p6qxszKhOKrBORFRsQDiLwkRJDoZCXaiEAbWbjX0WxNOij6QiIaqIOBDIfDrIpeSNsuR/usAQL02dlZE/xcumFR8Wg0kTwu6M/Pz0HhHd7rnmn4giGFpzHKqLhHEFsDtNtBBsRmpajCvoZH+9BG3oibG+BnfaClk3ge+S/i4Vp5XZPJJKUh2vNt0w3v4GcoBIeI6c0C9B+NODoPtFCGRB4oi9lt+XI0bVKWCUDg516v5wWKG96xg5XjgMhAp19zMY1BHxJ5HB0dpdEHmxkG6HPABAhIygWM/L99jX7RPxdoX0dYYWleCLcC79pAC9gsNrkvMVnb8OCiSsY+cbREHbR5enraBD+D7eOxc3L3oE0fAA0YDIRpGpLpDD9rGlxPZOTyMx4e4WQxvXGROBr6eNH2ahZEMaiDg/+AXDIV47BInEBAjbTtNhbTqQu00dqK53la4uk2GvyMZ0t8HgHoDNP8nSF/+KvxCXgwZ9QSrzIozhbkUnXTRhYnjiDb7wj9+lT1quhyVg1sjPNeavkyKBbFy8vL1hz8X11dpSFnzYQ2b5DLgE53p0ZZlUQZm6enp/R3bqCvr68bv9JyZxlxPUBHsEL1UpWug73z0ihKcFmIWAwZcKieo0qzUfU3Ppsc1QgvmRU1MSWKpTqSMHUhzQ7ayi8wqCtyTOx06B4w/c+LB0Yxl2xpqeTugG1mdw69rg4lPYXot2Z/NdJeYvTQ1IqBDWO6e0ARYxOQSBR6lbWw0+fC5FL6d2iRu7BjDMrWipH+Rqd+bHGkcm/7/6bZaBMJnWPb8bbmG85t/2ZRz1U2kKJ8bhdTnqbTNeQ0bartsW0EelW8PnCe8zVmwtyCt3CeZVsG9g+URCM796dvBgAAAABJRU5ErkJggg==);--ti-grid-toolbar-btn-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-grid-toolbar-btn-line-height:var(--ti-common-space-7x, 28px);--ti-grid-toolbar-btn-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-toolbar-btn-border-radius:calc(var(--ti-common-size-base, 4px) - 2px);--ti-grid-toolbar-btn-min-width:none;--ti-grid-toolbar-btn-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-grid-toolbar-icon-btn-height:calc(var(--ti-common-size-7x, 28px) + 2px);--ti-grid-toolbar-icon-btn-width:calc(var(--ti-common-size-7x, 28px) + 2px);--ti-grid-toolbar-icon-btn-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-toolbar-icon-btn-border-radius:calc(var(--ti-common-size-base, 4px) - 1px);--ti-grid-sort-icon-position:static;--ti-grid-sort-icon-right:unset;--ti-grid-expand-background-color:"";--ti-grid-tree-expand-icon-font-size:var(--ti-common-font-size-1, 14px)}.tiny-loading{--ti-loading-text-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-loading-mask-bg-color:var(--ti-common-bg-minor, #ffffff);--ti-loading-text-font-size:var(--ti-common-font-size-1, 14px);--ti-loading-spinner-margin-top:calc(var(--ti-common-space-0, 0px) - 21px);--ti-loading-text-margin-vertical:calc(var(--ti-common-space-base, 4px) - 1px);--ti-loading-text-margin-horizontal:var(--ti-common-space-0, 0px);--ti-loading-fullscreen-small-width:var(--ti-common-size-4x, 16px);--ti-loading-fullscreen-medium-width:var(--ti-common-size-8x, 32px);--ti-loading-fullscreen-large-width:var(--ti-common-size-10x, 40px);--ti-loading-fullscreen-small-height:var(--ti-common-size-4x, 16px);--ti-loading-fullscreen-medium-height:var(--ti-common-size-8x, 32px);--ti-loading-fullscreen-large-height:var(--ti-common-size-10x, 40px);--ti-loading-spinner-small-height:var(--ti-common-size-4x, 16px);--ti-loading-spinner-medium-height:var(--ti-common-size-8x, 32px);--ti-loading-spinner-large-height:var(--ti-common-size-10x, 40px);--ti-loading-spinner-small-width:var(--ti-common-size-4x, 16px);--ti-loading-spinner-medium-width:var(--ti-common-size-8x, 32px);--ti-loading-spinner-large-width:var(--ti-common-size-10x, 40px)}.tiny-loading__mask{position:absolute;z-index:2000;background-color:var(--ti-loading-mask-bg-color);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.tiny-loading__mask.is-fullscreen{position:fixed}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner{margin-top:-25px}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner-small svg{height:var(--ti-loading-fullscreen-small-height);width:var(--ti-loading-fullscreen-small-width)}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner-medium svg{height:var(--ti-loading-fullscreen-medium-height);width:var(--ti-loading-fullscreen-medium-width)}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner-large svg{height:var(--ti-loading-fullscreen-large-height);width:var(--ti-loading-fullscreen-large-width)}.tiny-loading__spinner{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%;text-align:center;position:absolute}.tiny-loading__spinner .tiny-loading__text{color:var(--ti-loading-text-color);margin:var(--ti-loading-text-margin-vertical) var(--ti-loading-text-margin-horizontal);font-size:var(--ti-loading-text-font-size)}.tiny-loading__spinner-small img,.tiny-loading__spinner-small svg{height:var(--ti-loading-spinner-small-height);width:var(--ti-loading-spinner-small-width)}.tiny-loading__spinner-medium img,.tiny-loading__spinner-medium svg{height:var(--ti-loading-spinner-medium-height);width:var(--ti-loading-spinner-medium-width)}.tiny-loading__spinner-large img,.tiny-loading__spinner-large svg{height:var(--ti-loading-spinner-large-height);width:var(--ti-loading-spinner-large-width)}.tiny-loading__spinner .circular{-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite;display:inline-block}.tiny-loading__spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--ti-loading-text-color);stroke-linecap:round}.tiny-loading__spinner svg{fill:var(--ti-loading-text-color)}.tiny-loading__parent-relative{position:relative!important}.tiny-loading__parent-hidden{overflow:hidden!important}.tiny-loading-fade-enter,.tiny-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.tiny-icon-loading{font-size:var(--ti-common-font-size-1);line-height:1;vertical-align:text-top;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}.tiny-mobile-loading{--ti-mobile-loading-font-color:var(--ti-mobile-color-text-primary);--ti-mobile-loading-bg-color-primary:var(--ti-mobile-color-bg-mask);--ti-mobile-loading-icon-color:var(--ti-mobile-color-brand-2);--ti-mobile-loading-icon-width:40px;--ti-mobile-loading-icon-height:40px;--ti-mobile-loading-text-font-size:var(--ti-mobile-font-size-s);--ti-mobile-loading-text-margin-top:10px;--ti-mobile-loading-mini-text-margin-left:8px;--ti-mobile-loading-mini-icon-width:14px;--ti-mobile-loading-mini-icon-height:14px;--ti-mobile-loading-small-icon-width:24px;--ti-mobile-loading-small-icon-height:24px;--ti-mobile-loading-medium-icon-width:40px;--ti-mobile-loading-medium-icon-height:40px;--ti-mobile-loading-large-icon-width:96px;--ti-mobile-loading-large-icon-height:96px;display:block;position:absolute;margin:0;top:0;right:0;left:0;bottom:0;-webkit-transition:all 1s cubic-bezier(.4,0,.2,1);transition:all 1s cubic-bezier(.4,0,.2,1);background-color:var(--ti-mobile-loading-bg-color-primary);color:var(--ti-mobile-loading-font-color)}.tiny-mobile-loading__fullscreen{position:fixed;opacity:.8}.tiny-mobile-loading__body{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.tiny-mobile-loading__body .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-icon-width);height:var(--ti-mobile-loading-icon-height);stroke-width:2}.tiny-mobile-loading__body .tiny-mobile-loading__spinner{line-height:var(--tiny-lineHeight-none,1);-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;fill:var(--ti-mobile-loading-icon-color)}.tiny-mobile-loading__body .tiny-mobile-loading__text{display:inline-block;margin-top:var(--ti-mobile-loading-text-margin-top);font-size:var(--ti-mobile-loading-text-font-size)}.tiny-mobile-loading-mini{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.tiny-mobile-loading-mini .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-mini-icon-width);height:var(--ti-mobile-loading-mini-icon-height);stroke-width:1}.tiny-mobile-loading-mini .tiny-mobile-loading__text{margin-top:0;margin-left:var(--ti-mobile-loading-mini-text-margin-left)}.tiny-mobile-loading-small{stroke-width:1}.tiny-mobile-loading-small .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-small-icon-width);height:var(--ti-mobile-loading-small-icon-height)}.tiny-mobile-loading-medium .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-medium-icon-width);height:var(--ti-mobile-loading-medium-icon-height)}.tiny-mobile-loading-large .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-large-icon-width);height:var(--ti-mobile-loading-large-icon-height)}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.component-css-vars-exception{--ti-mobile-exception-main-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-main-message-font-size:13px;--ti-mobile-exception-sub-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-sub-message-font-size:12px;--ti-mobile-exception-footer-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-footer-font-size:12px;--ti-mobile-exception-image-width:200px;--ti-mobile-exception-image-height:100px;--ti-mobile-exception-content-width:234px;--ti-mobile-exception-button-width:136px;--ti-mobile-exception-button-height:42px}.tiny-mobile-exception{--ti-mobile-exception-main-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-main-message-font-size:13px;--ti-mobile-exception-sub-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-sub-message-font-size:12px;--ti-mobile-exception-footer-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-footer-font-size:12px;--ti-mobile-exception-image-width:200px;--ti-mobile-exception-image-height:100px;--ti-mobile-exception-content-width:234px;--ti-mobile-exception-button-width:136px;--ti-mobile-exception-button-height:42px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;background-color:var(--ti-mobile-exception-bg-color,#fff);text-align:center;z-index:9999}.tiny-mobile-exception__content-view{width:var(--ti-mobile-exception-view-size,200px);height:var(--ti-mobile-exception-view-size,200px);background-size:100%}.tiny-mobile-exception__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--ti-mobile-exception-content-width,234px)}.tiny-mobile-exception__image{width:var(--ti-mobile-exception-image-width,200px)}.tiny-mobile-exception__content-nodata{background-image:url(/ui/admin/assets/nodata-2ab1ebb2.png)}.tiny-mobile-exception__content-build{background-image:url(/ui/admin/assets/build-5937e5cf.png)}.tiny-mobile-exception__content-busy{background-image:url(/ui/admin/assets/busy-7c610d91.png)}.tiny-mobile-exception__content-noperm{background-image:url(/ui/admin/assets/404-23311ef9.png)}.tiny-mobile-exception__content-pcview{background-image:url(/ui/admin/assets/pcview-f13b4822.png)}.tiny-mobile-exception__content-weaknet{background-image:url(/ui/admin/assets/netcut-02f917ab.png)}.tiny-mobile-exception__content-message{margin-top:12px}.tiny-mobile-exception__content-message button{min-width:var(--ti-mobile-exception-button-width,136px);height:var(--ti-mobile-exception-button-height,42px);margin-top:24px}.tiny-mobile-exception__content-message .main-message{color:var(--ti-mobile-exception-main-message-color,#999);font-size:var(--ti-mobile-exception-main-message-font-size,13px);line-height:1.5}.tiny-mobile-exception__content-message .sub-message{margin-top:4px;color:var(--ti-mobile-exception-sub-message-color,#999);font-size:var(--ti-mobile-exception-sub-message-font-size,12px)}.tiny-mobile-exception__footer{position:fixed;right:16px;bottom:40px;left:16px;color:var(--ti-mobile-exception-footer-color,#999);overflow:hidden;font-size:var(--ti-mobile-exception-footer-font-size,12px);text-align:center;z-index:10000;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tiny-pager{--ti-pager-normal-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-primary-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-active-font-color:var(--ti-common-color-text-white, #fff);--ti-pager-active-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-primary-text-color:var(--ti-common-color-text-link, #526ecc);--ti-pager-primary-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-primary-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-pager-active-font-weight:var(--ti-common-font-weight-normal);--ti-pager-disabled-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-pager-disabled-border-color:transparent;--ti-pager-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-pager-input-hover-border-color:var(--ti-common-color-line-hover, #575d6c);--ti-pager-input-stop-color:var(--ti-common-color-line-normal, #adb0b8);--ti-pager-input-lighting-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-input-height:var(--ti-common-size-height-mini, 24px);--ti-pager-input-padding-vertical:10px;--ti-pager-font-size:var(--ti-common-font-size-base, 12px);--ti-pager-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-normal-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-pager-height:var(--ti-common-size-height-mini, 24px);--ti-pager-width:auto;--ti-pager-min-width:auto;--ti-pager-input-width:var(--ti-common-space-10x, 40px);--ti-pager-poplist-item-padding-vertical:var(--ti-common-space-0, 0px);--ti-pager-poplist-item-padding-horizontal:var(--ti-common-space-6, 6px);--ti-pager-poplist-item-unchecked-box-shadow:none;--ti-pager-li-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-li-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-li-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-li-item-hover-font-weight:var(--ti-common-font-weight-normal);--ti-pager-poplist-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-poplist-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-poplist-item-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-pager-poplist-item-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-pager-poplist-item-hover-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-pop-body-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-pop-body-margin-top:4px;--ti-pager-poplist-item-min-height:30px;--ti-pager-prev-next-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-pager-goto-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-goto-btn-border-hover-color:var(--ti-common-color-border-hover, #575d6c);--ti-pager-goto-btn-text-hover-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-prev-padding-left:6px;--ti-pager-prev-padding-right:6px;--ti-pager-prev-margin-left:4px;--ti-pager-prev-margin-right:4px;--ti-pager-next-padding-right:4px;--ti-pager-next-margin-right:6px;--ti-pager-next-margin-left:6px;--ti-pager-btn-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-total-font-size:12px;--ti-pager-total-height:24px;--ti-pager-total-line-height:24px;--ti-pager-total-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-svg-font-size:var(--ti-pager-font-size);--ti-pager-dot-is-popup-display:inline;--ti-pager-dot-before-display:none;--ti-pager-prev-next-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-group-sizes-margin-right:16px;--ti-pager-sizes-input-min-width:var(--ti-common-size-10x, 80px);--ti-pager-sizes-input-hover-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-input-btn-width:var(--ti-common-size-7x, 28px);--ti-pager-selector-padding-vertical:var(--ti-common-space-3x, 12px);--ti-pager-mini-min-width:18px;--ti-pager-sizes-num-margin-right:var(--ti-common-space-base, 4px);text-align:left;padding:var(--ti-pager-selector-padding-vertical) 0;color:var(--ti-pager-text-color)}.tiny-pager .tiny-pager__group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;font-size:var(--ti-pager-font-size)}.tiny-pager .tiny-pager__group>span{display:inline-block;vertical-align:middle}.tiny-pager .tiny-pager__total{height:var(--ti-pager-total-height);line-height:var(--ti-pager-total-line-height);font-size:var(--ti-pager-total-font-size);color:var(--ti-pager-normal-text-color)}.tiny-pager .tiny-pager__total-allpage{margin:0 4px}.tiny-pager .tiny-pager__pull-left{float:left;height:var(--ti-pager-height)}.tiny-pager .tiny-pager__pages{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--ti-pager-font-size)}.tiny-pager .tiny-pager__pages li{background:0 0;display:inline-block;font-size:var(--ti-pager-font-size);cursor:pointer;margin-right:4px;text-align:center;line-height:calc(var(--ti-pager-height) - 2px);border-radius:var(--ti-pager-li-border-radius);height:var(--ti-pager-height);width:var(--ti-pager-width);min-width:var(--ti-pager-min-width);color:var(--ti-pager-text-color);padding:var(--ti-pager-poplist-item-padding-vertical) var(--ti-pager-poplist-item-padding-horizontal);-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid var(--ti-pager-li-border-color);-webkit-transition:all .5s ease;transition:all .5s ease}.tiny-pager .tiny-pager__pages li a{color:var(--ti-pager-text-color)}.tiny-pager .tiny-pager__pages li svg{fill:var(--ti-pager-text-color);vertical-align:middle}.tiny-pager .tiny-pager__pages li:not(.dot):not(.is-active):hover{color:var(--ti-pager-list-item-hover-text-color);background-color:var(--ti-pager-poplist-item-hover-bg-color);-webkit-box-shadow:var(--ti-pager-poplist-item-unchecked-box-shadow);box-shadow:var(--ti-pager-poplist-item-unchecked-box-shadow);border:1px solid var(--ti-pager-poplist-item-hover-border-color);font-weight:var(--ti-pager-li-item-hover-font-weight)}.tiny-pager .tiny-pager__pages li:not(.dot):not(.is-active):hover svg{fill:var(--ti-pager-list-item-hover-text-color)}.tiny-pager .tiny-pager__pages li.dot .icon{font-size:14px}.tiny-pager .tiny-pager__pages li.dot.is-popup svg{display:var(--ti-pager-dot-is-popup-display)}.tiny-pager .tiny-pager__pages li.dot.is-popup:before{content:"···";display:var(--ti-pager-dot-before-display);letter-spacing:1px}.tiny-pager .tiny-pager__pages li.is-active{font-weight:var(--ti-pager-active-font-weight);color:var(--ti-pager-active-font-color);background-color:var(--ti-pager-active-bg-color);border:1px solid var(--ti-pager-poplist-item-hover-border-color)}.tiny-pager .tiny-pager__pages li:last-child{margin-right:0}.tiny-pager__loading .tiny-pager__total{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-pager__loading .tiny-pager__total-loading{width:30px}.tiny-pager__loading .tiny-loading__spinner{margin-top:3px}.tiny-pager__goto{font-size:0}.tiny-pager__goto input[type=text]{width:var(--ti-pager-input-width);text-align:center;vertical-align:top;border-radius:var(--ti-pager-input-border-radius);display:inline-block;position:inherit;height:var(--ti-pager-input-height);line-height:var(--ti-pager-input-height);border:1px solid var(--ti-pager-input-border-color);color:var(--ti-pager-normal-text-color);font-size:var(--ti-pager-font-size);-webkit-transition:border .3s;transition:border .3s;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:4px}.tiny-pager__goto input[type=text]:hover{border:1px solid var(--ti-pager-input-hover-border-color);color:var(--ti-pager-normal-text-color)}.tiny-pager__goto input[type=text].active,.tiny-pager__goto input[type=text]:active,.tiny-pager__goto input[type=text]:focus,.tiny-pager__goto input[type=text][active]{border:1px solid var(--ti-pager-primary-border-color);-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent}.tiny-pager__goto input[type=text][disabled]{color:var(--ti-pager-disabled-text-color);border-color:var(--ti-pager-disabled-border-color);cursor:not-allowed}.tiny-pager__goto-text{color:var(--ti-pager-normal-text-color);font-size:var(--ti-pager-font-size);padding-left:14px;margin-right:8px;line-height:var(--ti-pager-input-height)}.tiny-pager__goto-text-sufix{padding-left:4px}.tiny-pager__goto button{height:var(--ti-pager-input-height);line-height:var(--ti-pager-input-height);border:1px solid #d9d9d9;color:var(--ti-pager-goto-text-color);vertical-align:middle;border-radius:var(--ti-pager-input-border-radius);background:#fff;font-size:var(--ti-pager-font-size);padding:0 8px;text-align:center;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-transition:border .3s,color .3s,background .3s;transition:border .3s,color .3s,background .3s;outline:0;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-pager__goto button:hover{border:1px solid var(--ti-pager-goto-btn-border-hover-color);color:var(--ti-pager-goto-btn-text-hover-color)}.tiny-pager__goto button.is-disabled{color:var(--ti-pager-disabled-text-color);border-color:var(--ti-pager-disabled-border-color);cursor:not-allowed}.tiny-pager__btn-next,.tiny-pager__btn-prev{width:var(--ti-pager-width);height:var(--ti-pager-height);line-height:calc(var(--ti-pager-height) - 2px);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--ti-pager-font-size);font-weight:bolder;color:var(--ti-pagination-prev-next-color);outline:0;border:1px solid var(--ti-pager-li-border-color);background:0 0;margin-top:0;margin-right:var(--ti-pager-prev-margin-right);margin-bottom:0;margin-left:var(--ti-pager-prev-margin-left);padding-top:0;padding-right:var(--ti-pager-prev-padding-right);padding-bottom:0;padding-left:var(--ti-pager-prev-padding-left);vertical-align:middle;cursor:pointer}.tiny-pager__btn-next span,.tiny-pager__btn-prev span{color:var(--ti-pager-primary-text-color)}.tiny-pager__btn-next svg,.tiny-pager__btn-prev svg{fill:var(--ti-pager-btn-svg-fill-color);font-size:var(--ti-pager-svg-font-size);vertical-align:middle}.tiny-pager__btn-next:hover,.tiny-pager__btn-prev:hover{background-color:var(--ti-pager-prev-next-hover-bg-color);border:1px solid var(--ti-pager-poplist-item-hover-border-color)}.tiny-pager__btn-next:hover svg,.tiny-pager__btn-prev:hover svg{fill:var(--ti-pager-poplist-item-hover-text-color)}.tiny-pager__btn-next[disabled],.tiny-pager__btn-next[disabled]:hover,.tiny-pager__btn-prev[disabled],.tiny-pager__btn-prev[disabled]:hover{background-color:transparent;cursor:not-allowed}.tiny-pager__btn-next[disabled] span,.tiny-pager__btn-prev[disabled] span{color:var(--ti-pager-prev-next-text-color-disabled)}.tiny-pager__btn-next[disabled] svg,.tiny-pager__btn-prev[disabled] svg{fill:var(--ti-pager-prev-next-text-color-disabled)}.tiny-pager__btn-next{margin-right:var(--ti-pager-next-margin-right);margin-left:var(--ti-pager-next-margin-left);padding-right:var(--ti-pager-next-padding-right)}.tiny-pager__selector{--ti-pager-normal-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-primary-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-active-font-color:var(--ti-common-color-text-white, #fff);--ti-pager-active-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-primary-text-color:var(--ti-common-color-text-link, #526ecc);--ti-pager-primary-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-primary-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-pager-active-font-weight:var(--ti-common-font-weight-normal);--ti-pager-disabled-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-pager-disabled-border-color:transparent;--ti-pager-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-pager-input-hover-border-color:var(--ti-common-color-line-hover, #575d6c);--ti-pager-input-stop-color:var(--ti-common-color-line-normal, #adb0b8);--ti-pager-input-lighting-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-input-height:var(--ti-common-size-height-mini, 24px);--ti-pager-input-padding-vertical:10px;--ti-pager-font-size:var(--ti-common-font-size-base, 12px);--ti-pager-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-normal-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-pager-height:var(--ti-common-size-height-mini, 24px);--ti-pager-width:auto;--ti-pager-min-width:auto;--ti-pager-input-width:var(--ti-common-space-10x, 40px);--ti-pager-poplist-item-padding-vertical:var(--ti-common-space-0, 0px);--ti-pager-poplist-item-padding-horizontal:var(--ti-common-space-6, 6px);--ti-pager-poplist-item-unchecked-box-shadow:none;--ti-pager-li-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-li-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-li-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-li-item-hover-font-weight:var(--ti-common-font-weight-normal);--ti-pager-poplist-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-poplist-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-poplist-item-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-pager-poplist-item-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-pager-poplist-item-hover-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-pop-body-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-pop-body-margin-top:4px;--ti-pager-poplist-item-min-height:30px;--ti-pager-prev-next-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-pager-goto-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-goto-btn-border-hover-color:var(--ti-common-color-border-hover, #575d6c);--ti-pager-goto-btn-text-hover-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-prev-padding-left:6px;--ti-pager-prev-padding-right:6px;--ti-pager-prev-margin-left:4px;--ti-pager-prev-margin-right:4px;--ti-pager-next-padding-right:4px;--ti-pager-next-margin-right:6px;--ti-pager-next-margin-left:6px;--ti-pager-btn-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-total-font-size:12px;--ti-pager-total-height:24px;--ti-pager-total-line-height:24px;--ti-pager-total-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-svg-font-size:var(--ti-pager-font-size);--ti-pager-dot-is-popup-display:inline;--ti-pager-dot-before-display:none;--ti-pager-prev-next-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-group-sizes-margin-right:16px;--ti-pager-sizes-input-min-width:var(--ti-common-size-10x, 80px);--ti-pager-sizes-input-hover-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-input-btn-width:var(--ti-common-size-7x, 28px);--ti-pager-selector-padding-vertical:var(--ti-common-space-3x, 12px);--ti-pager-mini-min-width:18px;--ti-pager-sizes-num-margin-right:var(--ti-common-space-base, 4px)}.tiny-pager__selector.tiny-popover.tiny-popper{min-width:var(--ti-pager-sizes-input-min-width);padding:0;border-radius:var(--ti-pager-pop-body-border-radius)}.tiny-pager__selector.tiny-popover.tiny-popper[x-placement^=bottom]{margin-top:var(--ti-pager-pop-body-margin-top)}.tiny-pager__selector.tiny-popover.tiny-popper[x-placement^=top]{margin-bottom:0}.tiny-pager__selector-body{max-height:300px;overflow-y:auto;overflow-x:hidden}.tiny-pager__selector-poplist .list-item{min-height:var(--ti-pager-poplist-item-min-height);padding:0 8px;line-height:30px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-pager__selector-poplist .list-item:hover{cursor:pointer;background:var(--ti-pager-poplist-item-hover-bg-color);color:var(--ti-pager-poplist-item-hover-text-color)}.tiny-pager__selector-poplist .list-item.is-selected{background:var(--ti-pager-poplist-item-selected-bg-color);color:var(--ti-pager-normal-text-color)}.tiny-pager__selector-poplist .list-item.is-selected:hover{background:var(--ti-pager-poplist-item-selected-bg-color)}.tiny-pager__selector-poplist .list-item.select-pre{background:var(--ti-pager-poplist-item-hover-bg-color);color:var(--ti-pager-poplist-item-hover-text-color)}.tiny-pager__selector-poplist .list-item.select-pre.is-selected{color:var(--ti-pager-poplist-item-selected-text-color);background:var(--ti-pager-poplist-item-selected-bg-color)}.tiny-pager .tiny-pager__popover{margin:0 4px 0 14px}.tiny-pager .tiny-pager__sizes .tiny-select{width:70px}.tiny-pager .tiny-pager__sizes .tiny-pager__popover{margin:0}.tiny-pager .tiny-pager__sizes+.tiny-pager__group{margin:0 16px}.tiny-pager .tiny-pager__group+.tiny-pager__sizes{margin-top:0;margin-right:var(--ti-pager-group-sizes-margin-right);margin-bottom:0;margin-left:16px}.tiny-pager__page-size{min-width:var(--ti-pager-sizes-input-min-width);max-width:200px;position:relative;text-align:left;height:var(--ti-pager-input-height);line-height:calc(var(--ti-pager-input-height) - 2px);border:1px solid var(--ti-pager-input-border-color);color:var(--ti-pager-normal-text-color);border-radius:var(--ti-pager-input-border-radius);background:#fff;font-size:var(--ti-pager-font-size);padding:0 4px 0 12px;display:block;white-space:nowrap;-webkit-transition:border .3s;transition:border .3s;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-pager__page-size:hover{outline:0;color:var(--ti-pager-sizes-input-hover-text-color);border-color:var(--ti-pager-input-hover-border-color)}.tiny-pager__page-size:active,.tiny-pager__page-size:focus{outline:0;border-color:var(--ti-pager-input-hover-border-color)}.tiny-pager__page-size-btn{width:var(--ti-pager-input-btn-width);height:var(--ti-pager-height);line-height:calc(var(--ti-pager-height) - 2px);position:relative;float:right;top:-1px;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;cursor:pointer}.tiny-pager__page-size-btn svg{font-size:var(--ti-pager-svg-font-size);fill:var(--ti-pager-total-svg-fill-color);vertical-align:middle}.tiny-pager__page-size .sizes{margin-right:var(--ti-pager-sizes-num-margin-right)}.tiny-pager .tiny-svg-size.tiny-svg-size__reverse-180{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.tiny-pager .tiny-popover__reference{outline:0}.tiny-pager.tiny-pager--mini .tiny-pager__total{font-size:12px}.tiny-pager.tiny-pager--mini li{min-width:var(--ti-pager-mini-min-width);height:24px;padding:0 4px;line-height:22px;font-size:12px}.tiny-pager.tiny-pager--mini .tiny-pager__btn-next svg,.tiny-pager.tiny-pager--mini .tiny-pager__btn-prev svg{font-size:14px}.tiny-pager.tiny-pager--mini .tiny-pager__input input,.tiny-pager.tiny-pager--mini .tiny-pager__input-btn{height:24px;line-height:22px}.tiny-pager.is-disabled .tiny-pager__total{color:var(--ti-pager-disabled-text-color)}.tiny-pager.is-disabled ul li{cursor:not-allowed;color:var(--ti-pager-disabled-text-color);background-color:transparent;border-color:var(--ti-pager-disabled-border-color)}.tiny-pager.is-disabled ul li.is-active,.tiny-pager.is-disabled ul li:not(.dot):not(.is-active):hover{color:var(--ti-pager-disabled-text-color);font-weight:400;background-color:transparent;border-color:var(--ti-pager-disabled-border-color)}.tiny-pager.is-disabled .tiny-pager__page-size{color:var(--ti-pager-disabled-text-color);cursor:not-allowed;border-color:var(--ti-pager-disabled-border-color);background-color:var(--ti-base-color-bg-1)}.tiny-pager.is-disabled .tiny-pager__page-size-btn svg{fill:var(--ti-pager-disabled-text-color);color:var(--ti-pager-disabled-text-color);cursor:not-allowed}.tiny-pager.is-disabled .tiny-pager__goto-text{color:var(--ti-pager-disabled-text-color)}@media (max-width:768px){.tiny-pager{text-align:left}.tiny-pager .tiny-pager__pull-left{float:none!important}}.container{padding-right:10px;margin-right:auto;padding-left:10px;margin-left:auto}.container:after,.container:before{content:"";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:788px}}@media (min-width:992px){.container{width:1012px}}@media (min-width:1200px){.container{width:1220px}}@media (min-width:1920px){.container{width:1940px}}.row{margin-left:-10px;margin-right:-10px}.row:after,.row:before{content:"";display:table}.row:after{clear:both}.row h3{margin-left:10px}.tiny-filter .row{overflow:hidden}.tiny-filter .row .title{margin-left:10px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-2,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-2,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-2,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-13,.col-xl-14,.col-xl-15,.col-xl-16,.col-xl-17,.col-xl-18,.col-xl-19,.col-xl-2,.col-xl-20,.col-xl-21,.col-xl-22,.col-xl-23,.col-xl-24,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-13,.col-xs-14,.col-xs-15,.col-xs-16,.col-xs-17,.col-xs-18,.col-xs-19,.col-xs-2,.col-xs-20,.col-xs-21,.col-xs-22,.col-xs-23,.col-xs-24,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:10px;padding-right:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-13,.col-xs-14,.col-xs-15,.col-xs-16,.col-xs-17,.col-xs-18,.col-xs-19,.col-xs-2,.col-xs-20,.col-xs-21,.col-xs-22,.col-xs-23,.col-xs-24,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-24{width:100%}.col-xs-23{width:95.83333333%}.col-xs-22{width:91.66666667%}.col-xs-21{width:87.5%}.col-xs-20{width:83.33333333%}.col-xs-19{width:79.16666667%}.col-xs-18{width:75%}.col-xs-17{width:70.83333333%}.col-xs-16{width:66.66666667%}.col-xs-15{width:62.5%}.col-xs-14{width:58.33333333%}.col-xs-13{width:54.16666667%}.col-xs-12{width:50%}.col-xs-11{width:45.83333333%}.col-xs-10{width:41.66666667%}.col-xs-9{width:37.5%}.col-xs-8{width:33.33333333%}.col-xs-7{width:29.16666667%}.col-xs-6{width:25%}.col-xs-5{width:20.83333333%}.col-xs-4{width:16.66666667%}.col-xs-3{width:12.5%}.col-xs-2{width:8.33333333%}.col-xs-1{width:4.16666667%}.col-xs-push-24{left:100%}.col-xs-push-23{left:95.83333333%}.col-xs-push-22{left:91.66666667%}.col-xs-push-21{left:87.5%}.col-xs-push-20{left:83.33333333%}.col-xs-push-19{left:79.16666667%}.col-xs-push-18{left:75%}.col-xs-push-17{left:70.83333333%}.col-xs-push-16{left:66.66666667%}.col-xs-push-15{left:62.5%}.col-xs-push-14{left:58.33333333%}.col-xs-push-13{left:54.16666667%}.col-xs-push-12{left:50%}.col-xs-push-11{left:45.83333333%}.col-xs-push-10{left:41.66666667%}.col-xs-push-9{left:37.5%}.col-xs-push-8{left:33.33333333%}.col-xs-push-7{left:29.16666667%}.col-xs-push-6{left:25%}.col-xs-push-5{left:20.83333333%}.col-xs-push-4{left:16.66666667%}.col-xs-push-3{left:12.5%}.col-xs-push-2{left:8.33333333%}.col-xs-push-1{left:4.16666667%}.col-xs-push-0{left:0}.col-xs-pull-24{right:100%}.col-xs-pull-23{right:95.83333333%}.col-xs-pull-22{right:91.66666667%}.col-xs-pull-21{right:87.5%}.col-xs-pull-20{right:83.33333333%}.col-xs-pull-19{right:79.16666667%}.col-xs-pull-18{right:75%}.col-xs-pull-17{right:70.83333333%}.col-xs-pull-16{right:66.66666667%}.col-xs-pull-15{right:62.5%}.col-xs-pull-14{right:58.33333333%}.col-xs-pull-13{right:54.16666667%}.col-xs-pull-12{right:50%}.col-xs-pull-11{right:45.83333333%}.col-xs-pull-10{right:41.66666667%}.col-xs-pull-9{right:37.5%}.col-xs-pull-8{right:33.33333333%}.col-xs-pull-7{right:29.16666667%}.col-xs-pull-6{right:25%}.col-xs-pull-5{right:20.83333333%}.col-xs-pull-4{right:16.66666667%}.col-xs-pull-3{right:12.5%}.col-xs-pull-2{right:8.33333333%}.col-xs-pull-1{right:4.16666667%}.col-xs-pull-0{right:0}.col-xs-offset-24{margin-left:100%}.col-xs-offset-23{margin-left:95.83333333%}.col-xs-offset-22{margin-left:91.66666667%}.col-xs-offset-21{margin-left:87.5%}.col-xs-offset-20{margin-left:83.33333333%}.col-xs-offset-19{margin-left:79.16666667%}.col-xs-offset-18{margin-left:75%}.col-xs-offset-17{margin-left:70.83333333%}.col-xs-offset-16{margin-left:66.66666667%}.col-xs-offset-15{margin-left:62.5%}.col-xs-offset-14{margin-left:58.33333333%}.col-xs-offset-13{margin-left:54.16666667%}.col-xs-offset-12{margin-left:50%}.col-xs-offset-11{margin-left:45.83333333%}.col-xs-offset-10{margin-left:41.66666667%}.col-xs-offset-9{margin-left:37.5%}.col-xs-offset-8{margin-left:33.33333333%}.col-xs-offset-7{margin-left:29.16666667%}.col-xs-offset-6{margin-left:25%}.col-xs-offset-5{margin-left:20.83333333%}.col-xs-offset-4{margin-left:16.66666667%}.col-xs-offset-3{margin-left:12.5%}.col-xs-offset-2{margin-left:8.33333333%}.col-xs-offset-1{margin-left:4.16666667%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-2,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-24{width:100%}.col-sm-23{width:95.83333333%}.col-sm-22{width:91.66666667%}.col-sm-21{width:87.5%}.col-sm-20{width:83.33333333%}.col-sm-19{width:79.16666667%}.col-sm-18{width:75%}.col-sm-17{width:70.83333333%}.col-sm-16{width:66.66666667%}.col-sm-15{width:62.5%}.col-sm-14{width:58.33333333%}.col-sm-13{width:54.16666667%}.col-sm-12{width:50%}.col-sm-11{width:45.83333333%}.col-sm-10{width:41.66666667%}.col-sm-9{width:37.5%}.col-sm-8{width:33.33333333%}.col-sm-7{width:29.16666667%}.col-sm-6{width:25%}.col-sm-5{width:20.83333333%}.col-sm-4{width:16.66666667%}.col-sm-3{width:12.5%}.col-sm-2{width:8.33333333%}.col-sm-1{width:4.16666667%}.col-sm-push-24{left:100%}.col-sm-push-23{left:95.83333333%}.col-sm-push-22{left:91.66666667%}.col-sm-push-21{left:87.5%}.col-sm-push-20{left:83.33333333%}.col-sm-push-19{left:79.16666667%}.col-sm-push-18{left:75%}.col-sm-push-17{left:70.83333333%}.col-sm-push-16{left:66.66666667%}.col-sm-push-15{left:62.5%}.col-sm-push-14{left:58.33333333%}.col-sm-push-13{left:54.16666667%}.col-sm-push-12{left:50%}.col-sm-push-11{left:45.83333333%}.col-sm-push-10{left:41.66666667%}.col-sm-push-9{left:37.5%}.col-sm-push-8{left:33.33333333%}.col-sm-push-7{left:29.16666667%}.col-sm-push-6{left:25%}.col-sm-push-5{left:20.83333333%}.col-sm-push-4{left:16.66666667%}.col-sm-push-3{left:12.5%}.col-sm-push-2{left:8.33333333%}.col-sm-push-1{left:4.16666667%}.col-sm-push-0{left:0}.col-sm-pull-24{right:100%}.col-sm-pull-23{right:95.83333333%}.col-sm-pull-22{right:91.66666667%}.col-sm-pull-21{right:87.5%}.col-sm-pull-20{right:83.33333333%}.col-sm-pull-19{right:79.16666667%}.col-sm-pull-18{right:75%}.col-sm-pull-17{right:70.83333333%}.col-sm-pull-16{right:66.66666667%}.col-sm-pull-15{right:62.5%}.col-sm-pull-14{right:58.33333333%}.col-sm-pull-13{right:54.16666667%}.col-sm-pull-12{right:50%}.col-sm-pull-11{right:45.83333333%}.col-sm-pull-10{right:41.66666667%}.col-sm-pull-9{right:37.5%}.col-sm-pull-8{right:33.33333333%}.col-sm-pull-7{right:29.16666667%}.col-sm-pull-6{right:25%}.col-sm-pull-5{right:20.83333333%}.col-sm-pull-4{right:16.66666667%}.col-sm-pull-3{right:12.5%}.col-sm-pull-2{right:8.33333333%}.col-sm-pull-1{right:4.16666667%}.col-sm-pull-0{right:0}.col-sm-offset-24{margin-left:100%}.col-sm-offset-23{margin-left:95.83333333%}.col-sm-offset-22{margin-left:91.66666667%}.col-sm-offset-21{margin-left:87.5%}.col-sm-offset-20{margin-left:83.33333333%}.col-sm-offset-19{margin-left:79.16666667%}.col-sm-offset-18{margin-left:75%}.col-sm-offset-17{margin-left:70.83333333%}.col-sm-offset-16{margin-left:66.66666667%}.col-sm-offset-15{margin-left:62.5%}.col-sm-offset-14{margin-left:58.33333333%}.col-sm-offset-13{margin-left:54.16666667%}.col-sm-offset-12{margin-left:50%}.col-sm-offset-11{margin-left:45.83333333%}.col-sm-offset-10{margin-left:41.66666667%}.col-sm-offset-9{margin-left:37.5%}.col-sm-offset-8{margin-left:33.33333333%}.col-sm-offset-7{margin-left:29.16666667%}.col-sm-offset-6{margin-left:25%}.col-sm-offset-5{margin-left:20.83333333%}.col-sm-offset-4{margin-left:16.66666667%}.col-sm-offset-3{margin-left:12.5%}.col-sm-offset-2{margin-left:8.33333333%}.col-sm-offset-1{margin-left:4.16666667%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-2,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-24{width:100%}.col-md-23{width:95.83333333%}.col-md-22{width:91.66666667%}.col-md-21{width:87.5%}.col-md-20{width:83.33333333%}.col-md-19{width:79.16666667%}.col-md-18{width:75%}.col-md-17{width:70.83333333%}.col-md-16{width:66.66666667%}.col-md-15{width:62.5%}.col-md-14{width:58.33333333%}.col-md-13{width:54.16666667%}.col-md-12{width:50%}.col-md-11{width:45.83333333%}.col-md-10{width:41.66666667%}.col-md-9{width:37.5%}.col-md-8{width:33.33333333%}.col-md-7{width:29.16666667%}.col-md-6{width:25%}.col-md-5{width:20.83333333%}.col-md-4{width:16.66666667%}.col-md-3{width:12.5%}.col-md-2{width:8.33333333%}.col-md-1{width:4.16666667%}.col-md-push-24{left:100%}.col-md-push-23{left:95.83333333%}.col-md-push-22{left:91.66666667%}.col-md-push-21{left:87.5%}.col-md-push-20{left:83.33333333%}.col-md-push-19{left:79.16666667%}.col-md-push-18{left:75%}.col-md-push-17{left:70.83333333%}.col-md-push-16{left:66.66666667%}.col-md-push-15{left:62.5%}.col-md-push-14{left:58.33333333%}.col-md-push-13{left:54.16666667%}.col-md-push-12{left:50%}.col-md-push-11{left:45.83333333%}.col-md-push-10{left:41.66666667%}.col-md-push-9{left:37.5%}.col-md-push-8{left:33.33333333%}.col-md-push-7{left:29.16666667%}.col-md-push-6{left:25%}.col-md-push-5{left:20.83333333%}.col-md-push-4{left:16.66666667%}.col-md-push-3{left:12.5%}.col-md-push-2{left:8.33333333%}.col-md-push-1{left:4.16666667%}.col-md-push-0{left:0}.col-md-pull-24{right:100%}.col-md-pull-23{right:95.83333333%}.col-md-pull-22{right:91.66666667%}.col-md-pull-21{right:87.5%}.col-md-pull-20{right:83.33333333%}.col-md-pull-19{right:79.16666667%}.col-md-pull-18{right:75%}.col-md-pull-17{right:70.83333333%}.col-md-pull-16{right:66.66666667%}.col-md-pull-15{right:62.5%}.col-md-pull-14{right:58.33333333%}.col-md-pull-13{right:54.16666667%}.col-md-pull-12{right:50%}.col-md-pull-11{right:45.83333333%}.col-md-pull-10{right:41.66666667%}.col-md-pull-9{right:37.5%}.col-md-pull-8{right:33.33333333%}.col-md-pull-7{right:29.16666667%}.col-md-pull-6{right:25%}.col-md-pull-5{right:20.83333333%}.col-md-pull-4{right:16.66666667%}.col-md-pull-3{right:12.5%}.col-md-pull-2{right:8.33333333%}.col-md-pull-1{right:4.16666667%}.col-md-pull-0{right:0}.col-md-offset-24{margin-left:100%}.col-md-offset-23{margin-left:95.83333333%}.col-md-offset-22{margin-left:91.66666667%}.col-md-offset-21{margin-left:87.5%}.col-md-offset-20{margin-left:83.33333333%}.col-md-offset-19{margin-left:79.16666667%}.col-md-offset-18{margin-left:75%}.col-md-offset-17{margin-left:70.83333333%}.col-md-offset-16{margin-left:66.66666667%}.col-md-offset-15{margin-left:62.5%}.col-md-offset-14{margin-left:58.33333333%}.col-md-offset-13{margin-left:54.16666667%}.col-md-offset-12{margin-left:50%}.col-md-offset-11{margin-left:45.83333333%}.col-md-offset-10{margin-left:41.66666667%}.col-md-offset-9{margin-left:37.5%}.col-md-offset-8{margin-left:33.33333333%}.col-md-offset-7{margin-left:29.16666667%}.col-md-offset-6{margin-left:25%}.col-md-offset-5{margin-left:20.83333333%}.col-md-offset-4{margin-left:16.66666667%}.col-md-offset-3{margin-left:12.5%}.col-md-offset-2{margin-left:8.33333333%}.col-md-offset-1{margin-left:4.16666667%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-2,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-24{width:100%}.col-lg-23{width:95.83333333%}.col-lg-22{width:91.66666667%}.col-lg-21{width:87.5%}.col-lg-20{width:83.33333333%}.col-lg-19{width:79.16666667%}.col-lg-18{width:75%}.col-lg-17{width:70.83333333%}.col-lg-16{width:66.66666667%}.col-lg-15{width:62.5%}.col-lg-14{width:58.33333333%}.col-lg-13{width:54.16666667%}.col-lg-12{width:50%}.col-lg-11{width:45.83333333%}.col-lg-10{width:41.66666667%}.col-lg-9{width:37.5%}.col-lg-8{width:33.33333333%}.col-lg-7{width:29.16666667%}.col-lg-6{width:25%}.col-lg-5{width:20.83333333%}.col-lg-4{width:16.66666667%}.col-lg-3{width:12.5%}.col-lg-2{width:8.33333333%}.col-lg-1{width:4.16666667%}.col-lg-push-24{left:100%}.col-lg-push-23{left:95.83333333%}.col-lg-push-22{left:91.66666667%}.col-lg-push-21{left:87.5%}.col-lg-push-20{left:83.33333333%}.col-lg-push-19{left:79.16666667%}.col-lg-push-18{left:75%}.col-lg-push-17{left:70.83333333%}.col-lg-push-16{left:66.66666667%}.col-lg-push-15{left:62.5%}.col-lg-push-14{left:58.33333333%}.col-lg-push-13{left:54.16666667%}.col-lg-push-12{left:50%}.col-lg-push-11{left:45.83333333%}.col-lg-push-10{left:41.66666667%}.col-lg-push-9{left:37.5%}.col-lg-push-8{left:33.33333333%}.col-lg-push-7{left:29.16666667%}.col-lg-push-6{left:25%}.col-lg-push-5{left:20.83333333%}.col-lg-push-4{left:16.66666667%}.col-lg-push-3{left:12.5%}.col-lg-push-2{left:8.33333333%}.col-lg-push-1{left:4.16666667%}.col-lg-push-0{left:0}.col-lg-pull-24{right:100%}.col-lg-pull-23{right:95.83333333%}.col-lg-pull-22{right:91.66666667%}.col-lg-pull-21{right:87.5%}.col-lg-pull-20{right:83.33333333%}.col-lg-pull-19{right:79.16666667%}.col-lg-pull-18{right:75%}.col-lg-pull-17{right:70.83333333%}.col-lg-pull-16{right:66.66666667%}.col-lg-pull-15{right:62.5%}.col-lg-pull-14{right:58.33333333%}.col-lg-pull-13{right:54.16666667%}.col-lg-pull-12{right:50%}.col-lg-pull-11{right:45.83333333%}.col-lg-pull-10{right:41.66666667%}.col-lg-pull-9{right:37.5%}.col-lg-pull-8{right:33.33333333%}.col-lg-pull-7{right:29.16666667%}.col-lg-pull-6{right:25%}.col-lg-pull-5{right:20.83333333%}.col-lg-pull-4{right:16.66666667%}.col-lg-pull-3{right:12.5%}.col-lg-pull-2{right:8.33333333%}.col-lg-pull-1{right:4.16666667%}.col-lg-pull-0{right:0}.col-lg-offset-24{margin-left:100%}.col-lg-offset-23{margin-left:95.83333333%}.col-lg-offset-22{margin-left:91.66666667%}.col-lg-offset-21{margin-left:87.5%}.col-lg-offset-20{margin-left:83.33333333%}.col-lg-offset-19{margin-left:79.16666667%}.col-lg-offset-18{margin-left:75%}.col-lg-offset-17{margin-left:70.83333333%}.col-lg-offset-16{margin-left:66.66666667%}.col-lg-offset-15{margin-left:62.5%}.col-lg-offset-14{margin-left:58.33333333%}.col-lg-offset-13{margin-left:54.16666667%}.col-lg-offset-12{margin-left:50%}.col-lg-offset-11{margin-left:45.83333333%}.col-lg-offset-10{margin-left:41.66666667%}.col-lg-offset-9{margin-left:37.5%}.col-lg-offset-8{margin-left:33.33333333%}.col-lg-offset-7{margin-left:29.16666667%}.col-lg-offset-6{margin-left:25%}.col-lg-offset-5{margin-left:20.83333333%}.col-lg-offset-4{margin-left:16.66666667%}.col-lg-offset-3{margin-left:12.5%}.col-lg-offset-2{margin-left:8.33333333%}.col-lg-offset-1{margin-left:4.16666667%}.col-lg-offset-0{margin-left:0}}@media (min-width:1920px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-13,.col-xl-14,.col-xl-15,.col-xl-16,.col-xl-17,.col-xl-18,.col-xl-19,.col-xl-2,.col-xl-20,.col-xl-21,.col-xl-22,.col-xl-23,.col-xl-24,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{float:left}.col-xl-24{width:100%}.col-xl-23{width:95.83333333%}.col-xl-22{width:91.66666667%}.col-xl-21{width:87.5%}.col-xl-20{width:83.33333333%}.col-xl-19{width:79.16666667%}.col-xl-18{width:75%}.col-xl-17{width:70.83333333%}.col-xl-16{width:66.66666667%}.col-xl-15{width:62.5%}.col-xl-14{width:58.33333333%}.col-xl-13{width:54.16666667%}.col-xl-12{width:50%}.col-xl-11{width:45.83333333%}.col-xl-10{width:41.66666667%}.col-xl-9{width:37.5%}.col-xl-8{width:33.33333333%}.col-xl-7{width:29.16666667%}.col-xl-6{width:25%}.col-xl-5{width:20.83333333%}.col-xl-4{width:16.66666667%}.col-xl-3{width:12.5%}.col-xl-2{width:8.33333333%}.col-xl-1{width:4.16666667%}.col-xl-push-24{left:100%}.col-xl-push-23{left:95.83333333%}.col-xl-push-22{left:91.66666667%}.col-xl-push-21{left:87.5%}.col-xl-push-20{left:83.33333333%}.col-xl-push-19{left:79.16666667%}.col-xl-push-18{left:75%}.col-xl-push-17{left:70.83333333%}.col-xl-push-16{left:66.66666667%}.col-xl-push-15{left:62.5%}.col-xl-push-14{left:58.33333333%}.col-xl-push-13{left:54.16666667%}.col-xl-push-12{left:50%}.col-xl-push-11{left:45.83333333%}.col-xl-push-10{left:41.66666667%}.col-xl-push-9{left:37.5%}.col-xl-push-8{left:33.33333333%}.col-xl-push-7{left:29.16666667%}.col-xl-push-6{left:25%}.col-xl-push-5{left:20.83333333%}.col-xl-push-4{left:16.66666667%}.col-xl-push-3{left:12.5%}.col-xl-push-2{left:8.33333333%}.col-xl-push-1{left:4.16666667%}.col-xl-push-0{left:0}.col-xl-pull-24{right:100%}.col-xl-pull-23{right:95.83333333%}.col-xl-pull-22{right:91.66666667%}.col-xl-pull-21{right:87.5%}.col-xl-pull-20{right:83.33333333%}.col-xl-pull-19{right:79.16666667%}.col-xl-pull-18{right:75%}.col-xl-pull-17{right:70.83333333%}.col-xl-pull-16{right:66.66666667%}.col-xl-pull-15{right:62.5%}.col-xl-pull-14{right:58.33333333%}.col-xl-pull-13{right:54.16666667%}.col-xl-pull-12{right:50%}.col-xl-pull-11{right:45.83333333%}.col-xl-pull-10{right:41.66666667%}.col-xl-pull-9{right:37.5%}.col-xl-pull-8{right:33.33333333%}.col-xl-pull-7{right:29.16666667%}.col-xl-pull-6{right:25%}.col-xl-pull-5{right:20.83333333%}.col-xl-pull-4{right:16.66666667%}.col-xl-pull-3{right:12.5%}.col-xl-pull-2{right:8.33333333%}.col-xl-pull-1{right:4.16666667%}.col-xl-pull-0{right:0}.col-xl-offset-24{margin-left:100%}.col-xl-offset-23{margin-left:95.83333333%}.col-xl-offset-22{margin-left:91.66666667%}.col-xl-offset-21{margin-left:87.5%}.col-xl-offset-20{margin-left:83.33333333%}.col-xl-offset-19{margin-left:79.16666667%}.col-xl-offset-18{margin-left:75%}.col-xl-offset-17{margin-left:70.83333333%}.col-xl-offset-16{margin-left:66.66666667%}.col-xl-offset-15{margin-left:62.5%}.col-xl-offset-14{margin-left:58.33333333%}.col-xl-offset-13{margin-left:54.16666667%}.col-xl-offset-12{margin-left:50%}.col-xl-offset-11{margin-left:45.83333333%}.col-xl-offset-10{margin-left:41.66666667%}.col-xl-offset-9{margin-left:37.5%}.col-xl-offset-8{margin-left:33.33333333%}.col-xl-offset-7{margin-left:29.16666667%}.col-xl-offset-6{margin-left:25%}.col-xl-offset-5{margin-left:20.83333333%}.col-xl-offset-4{margin-left:16.66666667%}.col-xl-offset-3{margin-left:12.5%}.col-xl-offset-2{margin-left:8.33333333%}.col-xl-offset-1{margin-left:4.16666667%}.col-xl-offset-0{margin-left:0}}.tiny-row{width:100%}.tiny-row:after,.tiny-row:before{content:"";display:table}.tiny-row:after{clear:both}.tiny-row.row-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-row.row-justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.tiny-row.row-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.tiny-row.row-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-row.row-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.tiny-row.row-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-row.row-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-row.row-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-row.row-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}
diff --git a/admin-website/src/main/resources/static/assets/index.css b/admin-website/src/main/resources/static/assets/index.css
new file mode 100644
index 0000000..05df29c
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index.css
@@ -0,0 +1,777 @@
+.tiny-icon-success{fill:#5cb300}.tiny-icon-error{fill:#f23030}.tiny-icon-warning-triangle{fill:#f80}.tiny-icon-prompt{fill:#1476ff}.tiny-icon-text-type{fill:#9185f0}[class*=tiny-]{-webkit-box-sizing:border-box;box-sizing:border-box}[class*=tiny-] :after,[class*=tiny-] :before{-webkit-box-sizing:border-box;box-sizing:border-box}[class*=tiny-] a{cursor:pointer;background-image:none;text-decoration:none;outline:0}[class*=tiny-] a:active,[class*=tiny-] a:focus,[class*=tiny-] a:hover{outline:0;text-decoration:none}[class*=tiny-] dd,[class*=tiny-] dl,[class*=tiny-] dt,[class*=tiny-] li,[class*=tiny-] ol,[class*=tiny-] td,[class*=tiny-] th,[class*=tiny-] ul{margin:0;padding:0}[class*=tiny-] ol,[class*=tiny-] ul{list-style:none}[class*=tiny-] audio,[class*=tiny-] canvas,[class*=tiny-] video{display:inline-block}[class*=tiny-] audio:not([controls]){display:none;height:0}[class*=tiny-] mark{background:#ff0;color:#000}[class*=tiny-] pre{white-space:pre-wrap}[class*=tiny-] sub,[class*=tiny-] sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}[class*=tiny-] sup{top:-.5em}[class*=tiny-] sub{bottom:-.25em}[class*=tiny-] fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}[class*=tiny-] legend{border:0;padding:0}[class*=tiny-] input::-ms-clear,[class*=tiny-] input::-ms-reveal{display:none}[class*=tiny-] button::-moz-focus-inner,[class*=tiny-] input::-moz-focus-inner{border:0;padding:0}[class*=tiny-] textarea{overflow:auto;vertical-align:top}[class*=tiny-] table{border-collapse:collapse;border-spacing:0}[class*=tiny-] .tiny-hide{display:none}[class*=tiny-] .popper__arrow,[class*=tiny-] .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}@media (min-width:768px){[class*=tiny-] ::-webkit-scrollbar{width:var(--ti-common-scrollbar-width);height:var(--ti-common-scrollbar-height)}[class*=tiny-] ::-webkit-scrollbar-track-piece{background:var(--ti-common-scrollbar-track-piece-bg-color)}[class*=tiny-] ::-webkit-scrollbar-thumb{background:var(--ti-common-scrollbar-thumb-bg-color);border-radius:var(--ti-common-scrollbar-thumb-border-radius)}[class*=tiny-] ::-webkit-scrollbar-thumb:hover{background:var(--ti-common-scrollbar-thumb-hover-bg-color)}[class*=tiny-] ::-webkit-scrollbar-thumb:active{background:var(--ti-common-scrollbar-thumb-active-bg-color)}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar{width:8px;height:8px}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-track-piece{background:0 0;border:0}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-thumb:hover{background:#999}[class*=tiny-] .tiny-scrollbar::-webkit-scrollbar-thumb:active{background:#999}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar{width:4px;height:4px}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-track-piece{background:0 0;border:0}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:2px}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-thumb:hover{background:#999}[class*=tiny-] .tiny-min-scrollbar::-webkit-scrollbar-thumb:active{background:#999}}:root{--ti-base-color-white:#fff;--ti-base-color-transparent:transparent;--ti-base-color-brand-6:#5e7ce0;--ti-base-color-brand-8:#344899;--ti-base-color-brand-7:#526ecc;--ti-base-color-brand-5:#7693f5;--ti-base-color-brand-4:#96adfa;--ti-base-color-brand-3:#beccfa;--ti-base-color-brand-2:#e9edfa;--ti-base-color-brand-1:#f2f5fc;--ti-base-color-common-9:#181818;--ti-base-color-common-8:#282b33;--ti-base-color-common-7:#252b3a;--ti-base-color-common-6:#464c59;--ti-base-color-common-5:#575d6c;--ti-base-color-common-4:#5c6173;--ti-base-color-common-3:#8a8e99;--ti-base-color-common-2:#adb0b8;--ti-base-color-common-1:#dfe1e6;--ti-base-color-bg-9:#b12220;--ti-base-color-bg-8:#c7000b;--ti-base-color-bg-7:#d64a52;--ti-base-color-bg-6:#eef0f5;--ti-base-color-bg-5:#f5f5f6;--ti-base-color-bg-4:#fafafa;--ti-base-color-bg-3:#ffffff;--ti-base-color-bg-2:#ffffff;--ti-base-color-bg-1:#ffffff;--ti-base-color-error-4:#de504e;--ti-base-color-error-3:#f66f6a;--ti-base-color-error-2:#ffbcba;--ti-base-color-error-1:#ffeeed;--ti-base-color-success-4:#3ac295;--ti-base-color-success-3:#50d4ab;--ti-base-color-success-2:#acf2dc;--ti-base-color-success-1:#edfff9;--ti-base-color-warn-5:#e37d29;--ti-base-color-warn-4:#fa9841;--ti-base-color-warn-3:#fac20a;--ti-base-color-warn-2:#ffd0a6;--ti-base-color-warn-1:#fff3e8;--ti-base-color-prompt-4:var(--ti-base-color-brand-7);--ti-base-color-prompt-3:var(--ti-base-color-brand-6);--ti-base-color-prompt-2:var(--ti-base-color-brand-3);--ti-base-color-prompt-1:#ebf6ff;--ti-base-color-prompt-icon-from:#7769e8;--ti-base-color-prompt-icon-to:#58bbff;--ti-base-color-icon-info:#6cbfff;--ti-base-color-data-3:#a6dd82;--ti-base-color-data-4:#f3689a;--ti-base-color-data-5:#a97af8;--ti-common-color-transparent:var(--ti-base-color-transparent);--ti-common-color-light:#fff;--ti-common-color-dark:#000;--ti-common-color-success:var(--ti-base-color-success-3);--ti-common-color-text-success:var(--ti-base-color-success-4);--ti-common-color-success-bg:var(--ti-base-color-success-1);--ti-common-color-success-border:var(--ti-base-color-success-2);--ti-common-color-error:var(--ti-base-color-error-3);--ti-common-color-error-text:var(--ti-base-color-error-4);--ti-common-color-error-bg:var(--ti-base-color-error-1);--ti-common-color-error-border:var(--ti-base-color-error-3);--ti-common-color-error-border-secondary:var(--ti-base-color-error-2);--ti-common-color-info:var(--ti-base-color-common-7);--ti-common-color-info-text:var(--ti-base-color-common-7);--ti-common-color-info-bg:rgba(51, 51, 51, 0.06);--ti-common-color-info-border:#d3d4d6;--ti-common-color-warn:var(--ti-base-color-warn-4);--ti-common-color-warn-text:var(--ti-base-color-warn-5);--ti-common-color-warn-bg:var(--ti-base-color-warn-1);--ti-common-color-warn-border:var(--ti-base-color-warn-2);--ti-common-color-warn-secondary:var(--ti-base-color-warn-3);--ti-common-color-prompt:var(--ti-base-color-prompt-3);--ti-common-color-prompt-text:var(--ti-base-color-prompt-4);--ti-common-color-prompt-bg:var(--ti-base-color-prompt-1);--ti-common-color-prompt-border:var(--ti-base-color-prompt-2);--ti-common-color-prompt-icon-from:var(--ti-base-color-prompt-icon-from);--ti-common-color-prompt-icon-to:var(--ti-base-color-prompt-icon-to);--ti-common-color-primary-normal:var(--ti-base-color-brand-6);--ti-common-color-primary-hover:var(--ti-base-color-brand-5);--ti-common-color-primary-active:var(--ti-base-color-brand-5);--ti-common-color-primary-disabled:#a0cfff;--ti-common-color-primary-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-primary-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-primary-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-primary-plain-disabled-bg-color:rgba(191, 191, 191, 0.1);--ti-common-color-success-normal:var(--ti-common-color-success);--ti-common-color-success-hover:var(--ti-common-color-success-border);--ti-common-color-success-active:var(--ti-common-color-success-border);--ti-common-color-success-disabled:#a6c3b9;--ti-common-color-success-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-success-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-success-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-success-plain-disabled-bg-color:rgba(166, 195, 185, 0.1);--ti-common-color-warning-normal:var(--ti-common-color-warn);--ti-common-color-warning-hover:var(--ti-common-color-warn-secondary);--ti-common-color-warning-active:var(--ti-common-color-warn-secondary);--ti-common-color-warning-disabled:#d3c6a2;--ti-common-color-warning-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-warning-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-warning-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-warning-plain-disabled-bg-color:rgba(211, 198, 162, 0.1);--ti-common-color-danger-normal:var(--ti-common-bg-primary);--ti-common-color-danger-hover:var(--ti-common-bg-primary-hover);--ti-common-color-danger-active:var(--ti-common-bg-primary-active);--ti-common-color-danger-disabled:#d8bab5;--ti-common-color-danger-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-danger-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-danger-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-danger-plain-disabled-bg-color:rgba(216, 186, 181, 0.1);--ti-common-color-info-normal:var(--ti-base-color-common-7);--ti-common-color-info-hover:var(--ti-base-color-common-4);--ti-common-color-info-active:var(--ti-base-color-common-4);--ti-common-color-info-disabled:#bfbfbf;--ti-common-color-info-disabled-bgcolor:var(--ti-common-color-bg-disabled);--ti-common-color-info-disabled-border:var(--ti-common-color-line-disabled);--ti-common-color-info-disabled-text:var(--ti-common-color-text-disabled);--ti-common-color-info-plain-disabled-bg-color:rgba(191, 191, 191, 0.1);--ti-common-color-text-primary:var(--ti-base-color-common-7);--ti-common-color-text-secondary:var(--ti-base-color-common-5);--ti-common-color-text-weaken:var(--ti-base-color-common-3);--ti-common-color-text-disabled:var(--ti-base-color-common-2);--ti-common-color-text-darkbg:var(--ti-base-color-common-2);--ti-common-color-text-darkbg-disabled:var(--ti-base-color-common-5);--ti-common-color-text-link:var(--ti-base-color-brand-7);--ti-common-color-text-link-hover:var(--ti-base-color-brand-8);--ti-common-color-text-link-darkbg:var(--ti-base-color-brand-4);--ti-common-color-text-link-darkbg-hover:var(--ti-base-color-brand-3);--ti-common-color-text-highlight:var(--ti-base-color-brand-7);--ti-common-color-text-white:var(--ti-base-color-white);--ti-common-color-text-gray:var(--ti-base-color-white);--ti-common-color-text-gray-disabled:var(--ti-base-color-common-4);--ti-common-color-text-important:var(--ti-base-color-error-4);--ti-common-color-placeholder:var(--ti-base-color-common-2);--ti-common-color-selected-text-color:var(--ti-common-color-light);--ti-common-color-icon-normal:var(--ti-base-color-common-5);--ti-common-color-icon-hover:var(--ti-base-color-brand-6);--ti-common-color-icon-active:var(--ti-base-color-brand-6);--ti-common-color-icon-disabled:var(--ti-base-color-common-2);--ti-common-color-icon-white:var(--ti-base-color-white);--ti-common-color-icon-graybg-normal:var(--ti-base-color-common-2);--ti-common-color-icon-graybg-hover:var(--ti-base-color-brand-6);--ti-common-color-icon-graybg-active:var(--ti-base-color-brand-6);--ti-common-color-icon-graybg-disabled:var(--ti-base-color-common-1);--ti-common-color-icon-darkbg-normal:var(--ti-base-color-common-2);--ti-common-color-icon-darkbg-hover:var(--ti-base-color-brand-5);--ti-common-color-icon-darkbg-active:var(--ti-base-color-brand-5);--ti-common-color-icon-darkbg-disabled:var(--ti-base-color-common-5);--ti-common-color-icon-info:var(--ti-base-color-icon-info);--ti-common-color-bg-normal:var(--ti-base-color-bg-6);--ti-common-color-bg-emphasize:var(--ti-base-color-brand-6);--ti-common-color-bg-disabled:var(--ti-base-color-bg-5);--ti-common-color-bg-hover:var(--ti-base-color-brand-8);--ti-common-color-bg-gray:var(--ti-base-color-bg-4);--ti-common-color-bg-secondary:var(--ti-base-color-common-2);--ti-common-bg-primary:var(--ti-base-color-bg-8);--ti-common-bg-primary-hover:var(--ti-base-color-bg-7);--ti-common-bg-primary-active:var(--ti-base-color-bg-9);--ti-common-bg-minor:var(--ti-base-color-bg-2);--ti-common-bg-minor-hover:var(--ti-base-color-bg-1);--ti-common-bg-minor-active:var(--ti-base-color-bg-3);--ti-common-color-bg-white-normal:var(--ti-base-color-white);--ti-common-color-bg-white-emphasize:var(--ti-base-color-brand-1);--ti-common-color-bg-light-normal:var(--ti-base-color-brand-2);--ti-common-color-bg-light-emphasize:var(--ti-base-color-brand-3);--ti-common-color-bg-dark-normal:var(--ti-base-color-common-6);--ti-common-color-bg-dark-emphasize:var(--ti-base-color-common-4);--ti-common-color-bg-dark-active:var(--ti-common-color-bg-normal);--ti-common-color-bg-dark-deep:var(--ti-base-color-common-6);--ti-common-color-bg-dark-disabled:var(--ti-base-color-common-1);--ti-common-color-bg-navigation:var(--ti-base-color-common-8);--ti-common-color-bg-dark-select:var(--ti-base-color-common-9);--ti-common-color-selected-background:var(--ti-base-color-brand-6);--ti-common-color-hover-background:var(--ti-base-color-brand-1);--ti-common-color-data-1:var(--ti-base-color-success-3);--ti-common-color-data-2:var(--ti-base-color-icon-info);--ti-common-color-data-3:var(--ti-base-color-data-3);--ti-common-color-data-4:var(--ti-base-color-data-4);--ti-common-color-data-5:var(--ti-base-color-data-5);--ti-common-color-data-6:var(--ti-base-color-warn-3);--ti-common-color-data-7:var(--ti-base-color-warn-4);--ti-common-color-data-8:var(--ti-base-color-error-3);--ti-common-line-height-number:1.5;--ti-common-line-height-base:12px;--ti-common-line-height-1:14px;--ti-common-line-height-2:16px;--ti-common-line-height-3:18px;--ti-common-line-height-4:20px;--ti-common-line-height-5:24px;--ti-common-line-height-6:32px;--ti-common-line-height-7:36px;--ti-common-space-base:4px;--ti-common-space-2x:calc(var(--ti-common-space-base) * 2);--ti-common-space-3x:calc(var(--ti-common-space-base) * 3);--ti-common-space-4x:calc(var(--ti-common-space-base) * 4);--ti-common-space-5x:calc(var(--ti-common-space-base) * 5);--ti-common-space-6x:calc(var(--ti-common-space-base) * 6);--ti-common-space-8x:calc(var(--ti-common-space-base) * 8);--ti-common-space-10x:calc(var(--ti-common-space-base) * 10);--ti-common-space-0:0px;--ti-common-space-1:1px;--ti-common-space-6:6px;--ti-common-space-10:10px;--ti-common-dropdown-gap:2px;--ti-common-shadow-none:none;--ti-common-shadow-1-up:0 -1px 4px 0 rgba(0, 0, 0, 0.1);--ti-common-shadow-1-down:0 1px 4px 0 rgba(0, 0, 0, 0.1);--ti-common-shadow-1-left:-1px 0px 4px 0 rgba(0, 0, 0, 0.1);--ti-common-shadow-1-right:1px 0px 4px 0 rgba(0, 0, 0, 0.1);--ti-common-shadow-2-up:0 -2px 8px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-2-down:0 2px 8px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-2-left:-2px 0 8px 0 rgba(238, 10, 10, 0.2);--ti-common-shadow-2-right:2px 0 8px 0 rgba(252, 5, 5, 0.2);--ti-common-shadow-3-up:0 -4px 16px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-3-down:0 4px 16px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-3-left:-4px 0 16px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-3-right:4px 0 16px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-4-up:0 -8px 40px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-4-down:0 8px 40px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-4-left:-8px 0 40px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-4-right:8px 0 40px 0 rgba(0, 0, 0, 0.2);--ti-common-shadow-error:0 1px 3px 0 rgba(199, 54, 54, 0.25);--ti-common-shadow-warn:0 1px 3px 0 rgba(204, 100, 20, 0.25);--ti-common-shadow-prompt:0 1px 3px 0 rgba(70, 94, 184, 0.25);--ti-common-shadow-success:0 1px 3px 0 rgba(39, 176, 128, 0.25);--ti-common-font-family:'Helvetica','Arial','PingFangSC-Regular','Hiragino Sans GB','Microsoft YaHei','微软雅黑','Microsoft JhengHei';--ti-common-font-size-base:12px;--ti-common-font-size-1:14px;--ti-common-font-size-2:16px;--ti-common-font-size-3:18px;--ti-common-font-size-4:20px;--ti-common-font-size-5:24px;--ti-common-font-size-6:32px;--ti-common-font-size-7:36px;--ti-common-font-weight-1:100;--ti-common-font-weight-2:200;--ti-common-font-weight-3:300;--ti-common-font-weight-4:normal;--ti-common-font-weight-5:500;--ti-common-font-weight-6:600;--ti-common-font-weight-7:bold;--ti-common-font-weight-8:800;--ti-common-font-weight-9:900;--ti-common-font-weight-bold:700;--ti-common-color-line-normal:var(--ti-base-color-common-2);--ti-common-color-line-hover:var(--ti-base-color-common-5);--ti-common-color-line-active:var(--ti-base-color-brand-6);--ti-common-color-line-disabled:var(--ti-base-color-common-1);--ti-common-color-line-dividing:var(--ti-base-color-common-1);--ti-common-color-dash-line-normal:var(--ti-base-color-common-5);--ti-common-color-dash-line-hover:var(--ti-base-color-brand-7);--ti-common-color-border:var(--ti-base-color-common-2);--ti-common-color-border-hover:var(--ti-base-color-common-5);--ti-common-border-weight-normal:1px;--ti-common-border-weight-1:2px;--ti-common-border-weight-2:3px;--ti-common-border-style-dashed:dashed;--ti-common-border-style-dotted:dotted;--ti-common-border-style-solid:solid;--ti-common-border-radius-normal:2px;--ti-common-border-radius-0:0px;--ti-common-border-radius-1:4px;--ti-common-border-radius-2:8px;--ti-common-border-radius-3:50%;--ti-common-size-base:4px;--ti-common-size-2x:calc(var(--ti-common-size-base) * 2);--ti-common-size-3x:calc(var(--ti-common-size-base) * 3);--ti-common-size-4x:calc(var(--ti-common-size-base) * 4);--ti-common-size-5x:calc(var(--ti-common-size-base) * 5);--ti-common-size-6x:calc(var(--ti-common-size-base) * 6);--ti-common-size-7x:calc(var(--ti-common-size-base) * 7);--ti-common-size-8x:calc(var(--ti-common-size-base) * 8);--ti-common-size-9x:calc(var(--ti-common-size-base) * 9);--ti-common-size-10x:calc(var(--ti-common-size-base) * 10);--ti-common-size-11x:calc(var(--ti-common-size-base) * 11);--ti-common-size-12x:calc(var(--ti-common-size-base) * 12);--ti-common-size-13x:calc(var(--ti-common-size-base) * 13);--ti-common-size-14x:calc(var(--ti-common-size-base) * 14);--ti-common-size-15x:calc(var(--ti-common-size-base) * 15);--ti-common-size-16x:calc(var(--ti-common-size-base) * 16);--ti-common-size-17x:calc(var(--ti-common-size-base) * 17);--ti-common-size-18x:calc(var(--ti-common-size-base) * 18);--ti-common-size-19x:calc(var(--ti-common-size-base) * 19);--ti-common-size-20x:calc(var(--ti-common-size-base) * 20);--ti-common-size-21x:calc(var(--ti-common-size-base) * 21);--ti-common-size-22x:calc(var(--ti-common-size-base) * 22);--ti-common-size-23x:calc(var(--ti-common-size-base) * 23);--ti-common-size-24x:calc(var(--ti-common-size-base) * 24);--ti-common-size-25x:calc(var(--ti-common-size-base) * 25);--ti-common-size-26x:calc(var(--ti-common-size-base) * 26);--ti-common-size-27x:calc(var(--ti-common-size-base) * 27);--ti-common-size-28x:calc(var(--ti-common-size-base) * 28);--ti-common-size-29x:calc(var(--ti-common-size-base) * 29);--ti-common-size-30x:calc(var(--ti-common-size-base) * 30);--ti-common-size-31x:calc(var(--ti-common-size-base) * 31);--ti-common-size-32x:calc(var(--ti-common-size-base) * 32);--ti-common-size-33x:calc(var(--ti-common-size-base) * 33);--ti-common-size-34x:calc(var(--ti-common-size-base) * 34);--ti-common-size-35x:calc(var(--ti-common-size-base) * 35);--ti-common-size-36x:calc(var(--ti-common-size-base) * 36);--ti-common-size-37x:calc(var(--ti-common-size-base) * 37);--ti-common-size-38x:calc(var(--ti-common-size-base) * 38);--ti-common-size-39x:calc(var(--ti-common-size-base) * 39);--ti-common-size-40x:calc(var(--ti-common-size-base) * 40);--ti-common-size-41x:calc(var(--ti-common-size-base) * 41);--ti-common-size-42x:calc(var(--ti-common-size-base) * 42);--ti-common-size-43x:calc(var(--ti-common-size-base) * 43);--ti-common-size-44x:calc(var(--ti-common-size-base) * 44);--ti-common-size-45x:calc(var(--ti-common-size-base) * 45);--ti-common-size-46x:calc(var(--ti-common-size-base) * 46);--ti-common-size-47x:calc(var(--ti-common-size-base) * 47);--ti-common-size-48x:calc(var(--ti-common-size-base) * 48);--ti-common-size-49x:calc(var(--ti-common-size-base) * 49);--ti-common-size-50x:calc(var(--ti-common-size-base) * 50);--ti-common-size-0:0px;--ti-common-size-auto:auto;--ti-common-size-width-large:var(--ti-common-size-33x);--ti-common-size-width-medium:var(--ti-common-size-30x);--ti-common-size-width-normal:var(--ti-common-size-20x);--ti-common-size-height-large:var(--ti-common-size-12x);--ti-common-size-height-medium:var(--ti-common-size-10x);--ti-common-size-height-small:var(--ti-common-size-8x);--ti-common-size-height-normal:var(--ti-common-size-7x);--ti-common-size-height-mini:var(--ti-common-size-6x);--ti-common-scrollbar-width:4px;--ti-common-scrollbar-height:4px;--ti-common-scrollbar-track-piece-bg-color:var(--ti-base-color-bg-4);--ti-common-scrollbar-thumb-bg-color:#bfbfbf;--ti-common-scrollbar-thumb-border-radius:6px;--ti-common-scrollbar-thumb-hover-bg-color:#999999;--ti-common-scrollbar-thumb-active-bg-color:#999999}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.fade-in-enter-active,.fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.fade-in-enter,.fade-in-enter-from,.fade-in-leave-to{opacity:0}.zoom-in-center-enter-active,.zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.zoom-in-center-enter,.zoom-in-center-enter-from,.zoom-in-center-leave-to{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.zoom-in-top-enter-active,.zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.zoom-in-top-enter,.zoom-in-top-enter-from,.zoom-in-top-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.zoom-in-bottom-enter-active,.zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.zoom-in-bottom-enter,.zoom-in-bottom-enter-from,.zoom-in-bottom-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.zoom-in-left-enter-active,.zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.zoom-in-left-enter,.zoom-in-left-enter-from,.zoom-in-left-leave-to{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.list-enter-active,.list-leave-active{-webkit-transition:all 1s;transition:all 1s}.list-enter,.list-enter-from,.list-leave-to{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.tiny-fade-in-linear-enter-active,.tiny-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.tiny-fade-in-linear-enter,.tiny-fade-in-linear-enter-from,.tiny-fade-in-linear-leave-to{opacity:0}.tiny-fade-in-enter-active,.tiny-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.tiny-fade-in-enter,.tiny-fade-in-enter-from,.tiny-fade-in-leave-to{opacity:0}.tiny-zoom-in-center-enter-active,.tiny-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.tiny-zoom-in-center-enter,.tiny-zoom-in-center-enter-from,.tiny-zoom-in-center-leave-to{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.tiny-zoom-in-top-enter-active,.tiny-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.tiny-zoom-in-top-enter,.tiny-zoom-in-top-enter-from,.tiny-zoom-in-top-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.tiny-zoom-in-bottom-enter-active,.tiny-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.tiny-zoom-in-bottom-enter,.tiny-zoom-in-bottom-enter-from,.tiny-zoom-in-bottom-leave-to{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.tiny-zoom-in-left-enter-active,.tiny-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.tiny-zoom-in-left-enter,.tiny-zoom-in-left-enter-from,.tiny-zoom-in-left-leave-to{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.tiny-list-enter-active,.tiny-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.tiny-list-enter,.tiny-list-enter-from,.tiny-list-leave-to{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.tiny-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.tiny-collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.tiny-horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}:root{--ti-errortips-box-bg-color:var(--ti-common-color-light, #fff);--ti-errortips-body-text-color:#5a5e66;--ti-errortips-body-font-size:var(--ti-common-font-size-1, 14px);--ti-errortips-body-code-font-size:100px;--ti-errortips-body-code-text-color:#9ac7ef;--ti-errortips-body-content-font-size:var(--ti-common-font-size-2, 16px);--ti-errortips-body-bottom-font-weight:var(--ti-common-font-weight-8, 800);--ti-errortips-sso-box-bg-color:var(--ti-common-color-light, #fff);--ti-errortips-sso-body-text-color:#5a5e66;--ti-errortips-sso-body-font-size:var(--ti-common-font-size-1, 14px);--ti-errortips-not-sso-bg-color:#dcdfe4;--ti-errortips-not-sso-body-bg-color:#f4f5f9;--ti-errortips-not-sso-body-border-color:#d4d5d7;--ti-errortips-not-sso-body-title-border-color:#b6babf;--ti-errortips-not-sso-body-title-font-size:var(--ti-common-font-size-4, 20px);--ti-errortips-not-sso-body-login-font-size:var(--ti-common-font-size-2, 16px);--ti-errortips-not-sso-body-text-color:#5a5e66;--ti-errortips-not-sso-body-input-border-color:var(--ti-base-color-bg-5, #f5f5f6);--ti-errortips-not-sso-body-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-errortips-not-sso-body-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-errortips-not-sso-body-input-hover-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-errortips-not-sso-body-input-focus-text-color:var(--ti-common-color-border, #adb0b8);--ti-errortips-not-sso-body-input-danger-border-color:var(--ti-base-color-bg-8, #c7000b);--ti-errortips-not-sso-body-button-text-color:var(--ti-common-color-light, #fff);--ti-errortips-not-sso-body-button-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-errortips-not-sso-body-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-errortips-not-sso-body-button-hover-bg-color:var(--ti-base-color-brand-5, #7693f5);--ti-errortips-not-sso-body-errmessage-text-color:#f00}.tiny-popup__wrapper{z-index:2147483647!important;background:rgba(0,0,0,.5);position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.tiny-popup__wrapper .tiny-errortips__box{position:absolute;width:var(--ti-errortips-width);min-height:var(--ti-errortips-min-height);max-height:var(--ti-errortips-max-height);top:0;left:0;right:0;bottom:0;margin:auto;overflow:hidden;background:var(--ti-errortips-box-bg-color);border:1px solid transparent;-webkit-box-shadow:2px 2px 2px 0 rgba(0,0,0,.2);box-shadow:2px 2px 2px 0 rgba(0,0,0,.2);text-align:center;overflow-y:auto}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body{height:100%;text-align:initial;padding:20px;color:var(--ti-errortips-body-text-color);font-size:var(--ti-errortips-body-font-size);display:table;margin:auto}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips{text-align:center;display:table-cell;vertical-align:middle}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-code{font-size:var(--ti-errortips-body-code-font-size);color:var(--ti-errortips-body-code-text-color);margin:0 auto -45px;text-shadow:0 2px 0 #fff,-2px 0 0 #fff,2px 0 0 #fff}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-img{width:260px;height:180px;margin:0 auto;background:url(/ui/admin/assets/errortips-bg.png) no-repeat}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-content{font-size:var(--ti-errortips-body-content-font-size);margin:24px 0;font-weight:700}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-bottom a{font-weight:var(--ti-errortips-body-bottom-font-weight);cursor:pointer}.tiny-popup__wrapper .tiny-errortips__box .tiny-errortips__body .errortips .error-bottom span{padding-right:15px}.tiny-popup__wrapper .tiny-sso__box{position:absolute;background:var(--ti-errortips-sso-box-bg-color);border:1px solid transparent;-webkit-box-shadow:2px 2px 2px 0 rgba(0,0,0,.2);box-shadow:2px 2px 2px 0 rgba(0,0,0,.2);left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body{text-align:initial;padding:20px;color:var(--ti-errortips-sso-body-text-color);line-height:32px;font-size:var(--ti-errortips-sso-body-font-size)}.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body .tiny-sso__body-iframe{width:350px;height:350px;overflow:hidden}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body .tiny-sso__body-iframe{height:460px}}@supports (-ms-ime-align:auto){.tiny-popup__wrapper .tiny-sso__box .tiny-sso__body .tiny-sso__body-iframe{height:460px}}.tiny-popup__wrapper.login-not-sso{background:var(--ti-errortips-not-sso-bg-color);background-size:cover}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box{width:100%;height:100%;overflow:hidden}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body{width:650px;height:400px;background:var(--ti-errortips-not-sso-body-bg-color);position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;border:1px solid var(--ti-errortips-not-sso-body-border-color);-webkit-box-shadow:0 2px 4px #989a9e;box-shadow:0 2px 4px #989a9e}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .title{background:-webkit-gradient(linear,left top,left bottom,from(#ecedf1),to(#dadde2));background:linear-gradient(to bottom,#ecedf1,#dadde2);border-bottom:1px solid var(--ti-errortips-not-sso-body-title-border-color);padding:16px 20px;font-size:var(--ti-errortips-not-sso-body-title-font-size)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--ti-errortips-not-sso-body-login-font-size);margin-top:28px}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item{height:60px;line-height:60px}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.label{width:30%;text-align:right;color:var(--ti-errortips-not-sso-body-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell{width:70%;text-align:left;padding-left:12px}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input{border:1px solid var(--ti-errortips-not-sso-body-input-border-color);border-radius:var(--ti-errortips-not-sso-body-input-border-radius);outline:0;width:75%;height:40px;line-height:40px;padding:0 8px;background:0 0;color:var(--ti-errortips-not-sso-body-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input::-webkit-input-placeholder{color:var(--ti-errortips-not-sso-body-placeholder-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input:hover{border-color:var(--ti-errortips-not-sso-body-placeholder-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input:focus::-webkit-input-placeholder{color:var(--ti-errortips-not-sso-body-input-focus-text-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell input.text-danger{border-color:var(--ti-errortips-not-sso-body-input-danger-border-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell button{width:75%;height:40px;line-height:40px;padding:0 24px;text-align:center;color:var(--ti-errortips-not-sso-body-button-text-color);background-color:var(--ti-errortips-not-sso-body-button-bg-color);border:none;border-radius:var(--ti-errortips-not-sso-body-button-border-radius);-webkit-transition:.3s;transition:.3s;outline:0}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell button:hover{background-color:var(--ti-errortips-not-sso-body-button-hover-bg-color)}.tiny-popup__wrapper.login-not-sso .tiny-not-sso__box .tiny-not-sso__body .tbl-login .form-item td.cell .errmessage{color:var(--ti-errortips-not-sso-body-errmessage-text-color);line-height:20px}.tiny-svg{width:1em;height:1em;vertical-align:middle;overflow:hidden;display:inline-block}.tiny-button{--ti-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-button-font-size:var(--ti-common-font-size-base, 12px);--ti-button-plain-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-border-width:var(--ti-common-border-weight-normal, 1px);--ti-button-border-style:var(--ti-common-border-style-solid, solid);--ti-button-loading-bg-color:rgba(255, 255, 255, 0.35);--ti-button-size-normal-min-width:var(--ti-common-size-width-normal, 80px);--ti-button-size-normal-max-width:var(--ti-common-size-width-medium, 120px);--ti-button-size-normal-height:var(--ti-common-size-height-normal, 28px);--ti-button-size-normal-padding-horizontal:var(--ti-common-size-5x, 20px);--ti-button-size-large-height:var(--ti-common-size-height-large, 48px);--ti-button-size-large-font-size:var(--ti-common-font-size-2, 16px);--ti-button-size-large-padding-horizontal:var(--ti-common-size-8x, 32px);--ti-button-size-large-min-width:var(--ti-common-size-24x, 96px);--ti-button-size-large-margin-left:8px;--ti-button-size-medium-height:var(--ti-common-size-height-medium, 40px);--ti-button-size-medium-font-size:var(--ti-common-font-size-1, 14px);--ti-button-size-medium-padding-horizontal:var(--ti-common-size-7x, 28px);--ti-button-size-medium-min-width:var(--ti-common-size-22x, 88px);--ti-button-size-medium-margin-left:8px;--ti-button-size-small-height:var(--ti-common-size-height-small, 32px);--ti-button-size-small-font-size:var(--ti-common-font-size-1, 14px);--ti-button-size-small-padding-horizontal:var(--ti-common-size-3x, 12px);--ti-button-size-small-min-width:var(--ti-common-size-18x, 72px);--ti-button-size-small-margin-left:8px;--ti-button-size-mini-height:var(--ti-common-size-height-mini, 24px);--ti-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-button-size-mini-padding-horizontal:var(--ti-common-size-2x, 8px);--ti-button-size-mini-min-width:var(--ti-common-size-16x, 64px);--ti-button-normal-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-normal-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-normal-background-color:var(--ti-common-color-light, #fff);--ti-button-normal-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-hover-bg-color:var(--ti-common-color-light, #fff);--ti-button-normal-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-active-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-normal-active-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-button-normal-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-normal-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-button-normal-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-button-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-text-hover-text-decoration:none;--ti-button-text-color-hover:var(--ti-common-color-text-link-hover, #344899);--ti-button-text-hover-weight:var(--ti-common-font-weight-4, normal);--ti-button-text-color-active:var(--ti-common-color-primary-active, #7693f5);--ti-button-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-text-svg-width:1em;--ti-button-text-svg-height:1em;--ti-button-text-hover-bg-color:transparent;--ti-button-text-only-icon-hover-bg-color:transparent;--ti-button-text-hover-border-radius:0px;--ti-button-text-svg-fill-color:var(--ti-common-color-text-secondary, #575d6c);--ti-button-text-svg-hover-fill-color:var(--ti-button-text-color-hover);--ti-button-text-svg-disabled-fill-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-text-has-svg-icon-margin-right:var(--ti-common-size-2x, 8px);--ti-button-text-has-svg-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-text-has-svg-hover-text-color:var(--ti-common-color-text-link, #526ecc);--ti-button-text-svg-padding-horizontal:var(--ti-common-size-2x, 8px);--ti-button-primary-normal-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-normal-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-hover-bg-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-active-bg-color:var(--ti-common-color-primary-active, #7693f5);--ti-button-primary-disabled-bg-color:var(--ti-common-color-primary-disabled-bgcolor, #f5f5f6);--ti-button-primary-text-color:var(--ti-common-color-light, #fff);--ti-button-primary-disabled-text-color:var(--ti-common-color-primary-disabled-text, #adb0b8);--ti-button-primary-disabled-border-color:var(--ti-common-color-primary-disabled-border, #dfe1e6);--ti-button-primary-plain-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-primary-plain-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-button-primary-plain-hover-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-plain-disabled-bg-color:var(--ti-common-color-primary-plain-disabled-bg-color, rgba(191, 191, 191, 0.1));--ti-button-success-normal-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-normal-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-hover-bg-color:var(--ti-common-color-success-hover, #acf2dc);--ti-button-success-hover-border-color:var(--ti-common-color-success-hover, #acf2dc);--ti-button-success-active-bg-color:var(--ti-common-color-success-active, #acf2dc);--ti-button-success-disabled-bg-color:var(--ti-common-color-success-disabled-bgcolor, #f5f5f6);--ti-button-success-text-color:var(--ti-common-color-light, #fff);--ti-button-success-disabled-text-color:var(--ti-common-color-success-disabled-text, #adb0b8);--ti-button-success-disabled-border-color:var(--ti-common-color-success-disabled-border, #dfe1e6);--ti-button-success-plain-text-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-success-plain-bg-color:var(--ti-common-color-success-bg, #edfff9);--ti-button-success-plain-hover-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-hover-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-plain-disabled-bg-color:var(--ti-common-color-success-plain-disabled-bg-color, rgba(166, 195, 185, 0.1));--ti-button-warning-normal-bg-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-normal-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-hover-bg-color:var(--ti-common-color-warning-hover, #fac20a);--ti-button-warning-active-bg-color:var(--ti-common-color-warning-active, #fac20a);--ti-button-warning-disabled-bg-color:var(--ti-common-color-warning-disabled-bgcolor, #f5f5f6);--ti-button-warning-text-color:var(--ti-common-color-light, #fff);--ti-button-warning-disabled-text-color:var(--ti-common-color-warning-disabled-text, #adb0b8);--ti-button-warning-disabled-border-color:var(--ti-common-color-warning-disabled-border, #dfe1e6);--ti-button-warning-plain-text-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-warning-plain-bg-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-button-warning-plain-hover-bg-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-hover-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-plain-disabled-bg-color:var(--ti-common-color-warning-plain-disabled-bg-color, rgba(211, 198, 162, 0.1));--ti-button-danger-normal-bg-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-normal-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-hover-bg-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-hover-border-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-active-bg-color:var(--ti-common-color-danger-active, #b12220);--ti-button-danger-disabled-bg-color:var(--ti-common-color-danger-disabled-bgcolor, #f5f5f6);--ti-button-danger-text-color:var(--ti-common-color-light, #fff);--ti-button-danger-disabled-text-color:var(--ti-common-color-danger-disabled-text, #adb0b8);--ti-button-danger-disabled-border-color:var(--ti-common-color-danger-disabled-border, #dfe1e6);--ti-button-danger-plain-text-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-danger-plain-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-button-danger-plain-hover-bg-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-hover-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-plain-disabled-bg-color:var(--ti-common-color-danger-disabled-bgcolor, #f5f5f6);--ti-button-danger-plain-disabled-border-color:var(--ti-common-color-danger-disabled-bgcolor, #f5f5f6);--ti-button-info-normal-bg-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-normal-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-hover-bg-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-hover-border-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-active-bg-color:var(--ti-common-color-info-active, #5c6173);--ti-button-info-disabled-bg-color:var(--ti-common-color-info-disabled-bgcolor, #f5f5f6);--ti-button-info-text-color:var(--ti-common-color-light, #fff);--ti-button-info-disabled-text-color:var(--ti-common-color-info-disabled-text, #adb0b8);--ti-button-info-disabled-border-color:var(--ti-common-color-info-disabled-border, #dfe1e6);--ti-button-info-plain-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-hover-text-color:var(--ti-common-color-light, #fff);--ti-button-info-plain-bg-color:var(--ti-common-color-info-bg, rgba(51, 51, 51, 0.06));--ti-button-info-plain-hover-bg-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-hover-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-plain-disabled-bg-color:var(--ti-common-color-info-plain-disabled-bg-color, rgba(191, 191, 191, 0.1));--ti-button-ghost-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-ghost-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-ghost-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-ghost-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-primary-ghost-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-ghost-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-primary-ghost-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-ghost-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-primary-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-primary-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-success-ghost-text-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-ghost-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-button-success-ghost-hover-text-color:var(--ti-common-color-success-active, #acf2dc);--ti-button-success-ghost-hover-border-color:var(--ti-common-color-success-active, #acf2dc);--ti-button-success-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-success-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-info-ghost-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-ghost-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-button-info-ghost-hover-text-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-ghost-hover-border-color:var(--ti-common-color-info-hover, #5c6173);--ti-button-info-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-info-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-warning-ghost-text-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-ghost-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-button-warning-ghost-hover-text-color:var(--ti-common-color-warning-active, #fac20a);--ti-button-warning-ghost-hover-border-color:var(--ti-common-color-warning-active, #fac20a);--ti-button-warning-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-warning-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-danger-ghost-text-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-ghost-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-button-danger-ghost-hover-text-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-ghost-hover-border-color:var(--ti-common-color-danger-hover, #d64a52);--ti-button-danger-ghost-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-danger-ghost-disabled-border-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-padding-vertical:var(--ti-common-space-0, 0px);--ti-button-size-normal-padding:var(--ti-common-space-2x, 8px);--ti-button-text-size-large-min-width:var(--ti-common-size-24x, 96px);--ti-button-text-size-large-height:var(--ti-common-size-height-large, 48px);--ti-button-text-size-large-svg-width:1em;--ti-button-text-size-large-svg-height:1em;--ti-button-text-padding-horizontal:var(--ti-common-space-0, 0px);--ti-button-text-size-medium-min-width:var(--ti-common-size-22x, 88px);--ti-button-text-size-medium-height:var(--ti-common-size-height-medium, 40px);--ti-button-text-size-medium-svg-width:1em;--ti-button-text-size-medium-svg-height:1em;--ti-button-text-size-default-min-width:var(--ti-common-size-20x, 80px);--ti-button-text-size-default-height:var(--ti-common-size-height-normal, 28px);--ti-button-text-size-default-svg-width:1em;--ti-button-text-size-default-svg-height:1em;--ti-button-text-size-small-min-width:var(--ti-common-size-18x, 72px);--ti-button-text-size-small-height:var(--ti-common-size-height-small, 32px);--ti-button-text-size-small-svg-width:1em;--ti-button-text-size-small-svg-height:1em;--ti-button-text-size-mini-min-width:var(--ti-common-size-16x, 64px);--ti-button-text-size-mini-height:var(--ti-common-size-height-mini, 24px);--ti-button-text-size-mini-svg-width:1em;--ti-button-text-size-mini-svg-height:1em;--ti-button-only-icon-min-width:unset;--ti-button-only-icon-padding-horizontal:7px;--ti-button-only-icon-border-radius:2px;--ti-button-only-icon-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-only-icon-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-button-only-icon-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--ti-button-size-normal-height);line-height:calc(var(--ti-button-size-normal-height) - 2px);color:var(--ti-button-normal-text-color);fill:var(--ti-button-normal-text-color);font-size:var(--ti-button-font-size);min-width:var(--ti-button-size-normal-min-width);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-width:var(--ti-button-border-width);border-style:var(--ti-button-border-style);border-color:var(--ti-button-normal-border-color);-o-border-image:initial;border-image:initial;border-radius:var(--ti-button-border-radius);background:var(--ti-button-normal-background-color);padding:var(--ti-button-padding-vertical) var(--ti-button-size-normal-padding-horizontal);overflow:hidden;-webkit-transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;outline:0;vertical-align:middle}.tiny-button .tiny-svg{vertical-align:text-top}.tiny-button>img{margin-right:4px;vertical-align:middle}.tiny-button.is-only-icon{min-width:var(--ti-button-only-icon-min-width);padding:0 var(--ti-button-only-icon-padding-horizontal);border-radius:var(--ti-button-only-icon-border-radius);border-color:var(--ti-button-only-icon-border-color)}.tiny-button.is-only-icon:hover{border-color:var(--ti-button-only-icon-hover-border-color)}.tiny-button.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.is-only-icon.is-disabled:hover{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button::-moz-focus-inner{border:0}.tiny-button:focus,.tiny-button:hover{color:var(--ti-button-normal-hover-text-color);fill:var(--ti-button-normal-hover-text-color);border-color:var(--ti-button-normal-hover-border-color);background-color:var(--ti-button-normal-hover-bg-color)}.tiny-button.is-active,.tiny-button.is-plain:active,.tiny-button:active{color:var(--ti-button-normal-active-text-color);fill:var(--ti-button-normal-active-text-color);border-color:var(--ti-button-normal-active-border-color);background-color:var(--ti-button-normal-active-bg-color)}.tiny-button.is-ghost{background-color:transparent}.tiny-button.is-ghost:active,.tiny-button.is-ghost:focus,.tiny-button.is-ghost:hover{color:var(--ti-button-ghost-hover-text-color);fill:var(--ti-button-ghost-hover-text-color);border-color:var(--ti-button-ghost-hover-border-color);background-color:transparent}.tiny-button.is-ghost.is-disabled,.tiny-button.is-ghost.is-disabled:focus,.tiny-button.is-ghost.is-disabled:hover{color:var(--ti-button-ghost-disabled-text-color);fill:var(--ti-button-ghost-disabled-text-color);border-color:var(--ti-button-ghost-disabled-border-color);background-color:transparent}.tiny-button.is-disabled,.tiny-button.is-disabled:focus,.tiny-button.is-disabled:hover{cursor:not-allowed;color:var(--ti-button-normal-disabled-text-color);fill:var(--ti-button-normal-disabled-text-color);border-color:var(--ti-button-normal-disabled-border-color);background-color:var(--ti-button-normal-disabled-bg-color)}.tiny-button.is-plain:focus,.tiny-button.is-plain:hover{color:var(--ti-button-normal-hover-text-color);fill:var(--ti-button-normal-hover-text-color);border-color:var(--ti-button-normal-hover-border-color);background-color:var(--ti-button-normal-hover-bg-color)}.tiny-button.is-disabled.is-plain,.tiny-button.is-disabled.is-plain:focus,.tiny-button.is-disabled.is-plain:hover{color:var(--ti-button-normal-disabled-text-color);fill:var(--ti-button-normal-disabled-text-color);border-color:var(--ti-button-normal-disabled-border-color);background-color:var(--ti-button-normal-disabled-bg-color)}.tiny-button+.tiny-button{margin-left:8px}.tiny-button.is-loading{position:relative;pointer-events:none;overflow:initial}.tiny-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--ti-button-loading-bg-color)}.tiny-button.is-loading .tiny-svg{fill:var(--ti-button-info-text-color)}.tiny-button.is-loading.tiny-button--default .tiny-svg{fill:var(--ti-button-normal-text-color)}.tiny-button.is-round{border-radius:calc(var(--ti-button-size-normal-height,30px)/ 2)}.tiny-button.is-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-button:not(.is-circle) .tiny-svg.is-text{margin-right:var(--ti-button-text-has-svg-icon-margin-right)}.tiny-button:not(.is-circle).is-loading .tiny-svg{margin-right:4px;margin-top:1px}.tiny-button.is-circle{border-radius:50%;min-width:var(--ti-button-size-normal-height);min-height:var(--ti-button-size-normal-height);line-height:1;padding:var(--ti-button-size-normal-padding)}.tiny-button.is-circle.is-hide-boder{border:none}.tiny-button.is-circle.tiny-button--large{min-width:var(--ti-button-size-large-height);min-height:var(--ti-button-size-large-height);height:auto;line-height:1;padding:var(--ti-button-size-large-padding)}.tiny-button.is-circle.tiny-button--medium{min-width:var(--ti-button-size-medium-height);min-height:var(--ti-button-size-medium-height);height:auto;line-height:1;padding:var(--ti-button-size-medium-padding)}.tiny-button.is-circle.tiny-button--small{min-width:var(--ti-button-size-small-height);min-height:var(--ti-button-size-small-height);height:auto;line-height:1;padding:var(--ti-button-size-small-padding)}.tiny-button.is-circle.tiny-button--mini{min-width:var(--ti-button-size-mini-height);min-height:var(--ti-button-size-mini-height);height:auto;line-height:1;padding:var(--ti-button-size-mini-padding)}.tiny-button.tiny-button--primary{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-normal-border-color);background-color:var(--ti-button-primary-normal-bg-color)}.tiny-button.tiny-button--primary:hover{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-hover-border-color);background-color:var(--ti-button-primary-hover-bg-color)}.tiny-button.tiny-button--primary.is-active,.tiny-button.tiny-button--primary:active,.tiny-button.tiny-button--primary:focus{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-active-bg-color);background-color:var(--ti-button-primary-active-bg-color);outline:0}.tiny-button.tiny-button--primary.is-disabled,.tiny-button.tiny-button--primary.is-disabled:active,.tiny-button.tiny-button--primary.is-disabled:focus,.tiny-button.tiny-button--primary.is-disabled:hover{color:var(--ti-button-primary-disabled-text-color);fill:var(--ti-button-primary-disabled-text-color);border-color:var(--ti-button-primary-disabled-border-color);background-color:var(--ti-button-primary-disabled-bg-color)}.tiny-button.tiny-button--primary.is-plain{color:var(--ti-button-primary-plain-text-color);fill:var(--ti-button-primary-plain-text-color);border-color:var(--ti-button-primary-plain-border-color);background-color:var(--ti-button-primary-plain-bg-color)}.tiny-button.tiny-button--primary.is-plain:hover{color:var(--ti-button-primary-plain-hover-text-color);fill:var(--ti-button-primary-plain-hover-text-color);border-color:var(--ti-button-primary-plain-hover-border-color);background-color:var(--ti-button-primary-plain-hover-bg-color)}.tiny-button.tiny-button--primary.is-plain.is-active,.tiny-button.tiny-button--primary.is-plain:active,.tiny-button.tiny-button--primary.is-plain:focus{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-active-bg-color);background-color:var(--ti-button-primary-active-bg-color);outline:0}.tiny-button.tiny-button--primary.is-plain.is-disabled,.tiny-button.tiny-button--primary.is-plain.is-disabled:active,.tiny-button.tiny-button--primary.is-plain.is-disabled:focus,.tiny-button.tiny-button--primary.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-primary-disabled-bg-color);background-color:var(--ti-button-primary-plain-disabled-bg-color)}.tiny-button.tiny-button--primary.is-ghost{color:var(--ti-button-primary-ghost-text-color);fill:var(--ti-button-primary-ghost-text-color);border-color:var(--ti-button-primary-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--primary.is-ghost:hover{color:var(--ti-button-primary-ghost-hover-text-color);fill:var(--ti-button-primary-ghost-hover-text-color);border-color:var(--ti-button-primary-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--primary.is-ghost.is-active,.tiny-button.tiny-button--primary.is-ghost:active,.tiny-button.tiny-button--primary.is-ghost:focus{color:var(--ti-button-primary-ghost-hover-text-color);fill:var(--ti-button-primary-ghost-hover-text-color);border-color:var(--ti-button-primary-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--primary.is-ghost.is-disabled,.tiny-button.tiny-button--primary.is-ghost.is-disabled:active,.tiny-button.tiny-button--primary.is-ghost.is-disabled:focus,.tiny-button.tiny-button--primary.is-ghost.is-disabled:hover{color:var(--ti-button-primary-ghost-disabled-text-color);fill:var(--ti-button-primary-ghost-disabled-text-color);border-color:var(--ti-button-primary-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--primary.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--primary.is-loading.is-disabled{color:var(--ti-button-primary-text-color);fill:var(--ti-button-primary-text-color);border-color:var(--ti-button-primary-normal-border-color);background-color:var(--ti-button-primary-normal-bg-color)}.tiny-button.tiny-button--success{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-normal-border-color);background-color:var(--ti-button-success-normal-bg-color)}.tiny-button.tiny-button--success:hover{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-hover-border-color);background-color:var(--ti-button-success-hover-bg-color)}.tiny-button.tiny-button--success.is-active,.tiny-button.tiny-button--success:active,.tiny-button.tiny-button--success:focus{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-active-bg-color);background-color:var(--ti-button-success-active-bg-color);outline:0}.tiny-button.tiny-button--success.is-disabled,.tiny-button.tiny-button--success.is-disabled:active,.tiny-button.tiny-button--success.is-disabled:focus,.tiny-button.tiny-button--success.is-disabled:hover{color:var(--ti-button-success-disabled-text-color);fill:var(--ti-button-success-disabled-text-color);border-color:var(--ti-button-success-disabled-border-color);background-color:var(--ti-button-success-disabled-bg-color)}.tiny-button.tiny-button--success.is-plain{color:var(--ti-button-success-plain-text-color);fill:var(--ti-button-success-plain-text-color);border-color:var(--ti-button-success-plain-border-color);background-color:var(--ti-button-success-plain-bg-color)}.tiny-button.tiny-button--success.is-plain:hover{color:var(--ti-button-success-plain-hover-text-color);fill:var(--ti-button-success-plain-hover-text-color);border-color:var(--ti-button-success-plain-hover-border-color);background-color:var(--ti-button-success-plain-hover-bg-color)}.tiny-button.tiny-button--success.is-plain.is-active,.tiny-button.tiny-button--success.is-plain:active,.tiny-button.tiny-button--success.is-plain:focus{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-active-bg-color);background-color:var(--ti-button-success-active-bg-color);outline:0}.tiny-button.tiny-button--success.is-plain.is-disabled,.tiny-button.tiny-button--success.is-plain.is-disabled:active,.tiny-button.tiny-button--success.is-plain.is-disabled:focus,.tiny-button.tiny-button--success.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-success-disabled-bg-color);background-color:var(--ti-button-success-plain-disabled-bg-color)}.tiny-button.tiny-button--success.is-ghost{color:var(--ti-button-success-ghost-text-color);fill:var(--ti-button-success-ghost-text-color);border-color:var(--ti-button-success-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--success.is-ghost:hover{color:var(--ti-button-success-ghost-hover-text-color);fill:var(--ti-button-success-ghost-hover-text-color);border-color:var(--ti-button-success-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--success.is-ghost.is-active,.tiny-button.tiny-button--success.is-ghost:active,.tiny-button.tiny-button--success.is-ghost:focus{color:var(--ti-button-success-ghost-hover-text-color);fill:var(--ti-button-success-ghost-hover-text-color);border-color:var(--ti-button-success-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--success.is-ghost.is-disabled,.tiny-button.tiny-button--success.is-ghost.is-disabled:active,.tiny-button.tiny-button--success.is-ghost.is-disabled:focus,.tiny-button.tiny-button--success.is-ghost.is-disabled:hover{color:var(--ti-button-success-ghost-disabled-text-color);fill:var(--ti-button-success-ghost-disabled-text-color);border-color:var(--ti-button-success-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--success.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--success.is-loading.is-disabled{color:var(--ti-button-success-text-color);fill:var(--ti-button-success-text-color);border-color:var(--ti-button-success-normal-border-color);background-color:var(--ti-button-success-normal-bg-color)}.tiny-button.tiny-button--warning{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-normal-border-color);background-color:var(--ti-button-warning-normal-bg-color)}.tiny-button.tiny-button--warning:hover{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-hover-border-color);background-color:var(--ti-button-warning-hover-bg-color)}.tiny-button.tiny-button--warning.is-active,.tiny-button.tiny-button--warning:active,.tiny-button.tiny-button--warning:focus{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-active-bg-color);background-color:var(--ti-button-warning-active-bg-color);outline:0}.tiny-button.tiny-button--warning.is-disabled,.tiny-button.tiny-button--warning.is-disabled:active,.tiny-button.tiny-button--warning.is-disabled:focus,.tiny-button.tiny-button--warning.is-disabled:hover{color:var(--ti-button-warning-disabled-text-color);fill:var(--ti-button-warning-disabled-text-color);border-color:var(--ti-button-warning-disabled-border-color);background-color:var(--ti-button-warning-disabled-bg-color)}.tiny-button.tiny-button--warning.is-plain{color:var(--ti-button-warning-plain-text-color);fill:var(--ti-button-warning-plain-text-color);border-color:var(--ti-button-warning-plain-border-color);background-color:var(--ti-button-warning-plain-bg-color)}.tiny-button.tiny-button--warning.is-plain:hover{color:var(--ti-button-warning-plain-hover-text-color);fill:var(--ti-button-warning-plain-hover-text-color);border-color:var(--ti-button-warning-plain-hover-border-color);background-color:var(--ti-button-warning-plain-hover-bg-color)}.tiny-button.tiny-button--warning.is-plain.is-active,.tiny-button.tiny-button--warning.is-plain:active,.tiny-button.tiny-button--warning.is-plain:focus{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-active-bg-color);background-color:var(--ti-button-warning-active-bg-color);outline:0}.tiny-button.tiny-button--warning.is-plain.is-disabled,.tiny-button.tiny-button--warning.is-plain.is-disabled:active,.tiny-button.tiny-button--warning.is-plain.is-disabled:focus,.tiny-button.tiny-button--warning.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-warning-disabled-bg-color);background-color:var(--ti-button-warning-plain-disabled-bg-color)}.tiny-button.tiny-button--warning.is-ghost{color:var(--ti-button-warning-ghost-text-color);fill:var(--ti-button-warning-ghost-text-color);border-color:var(--ti-button-warning-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--warning.is-ghost:hover{color:var(--ti-button-warning-ghost-hover-text-color);fill:var(--ti-button-warning-ghost-hover-text-color);border-color:var(--ti-button-warning-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--warning.is-ghost.is-active,.tiny-button.tiny-button--warning.is-ghost:active,.tiny-button.tiny-button--warning.is-ghost:focus{color:var(--ti-button-warning-ghost-hover-text-color);fill:var(--ti-button-warning-ghost-hover-text-color);border-color:var(--ti-button-warning-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--warning.is-ghost.is-disabled,.tiny-button.tiny-button--warning.is-ghost.is-disabled:active,.tiny-button.tiny-button--warning.is-ghost.is-disabled:focus,.tiny-button.tiny-button--warning.is-ghost.is-disabled:hover{color:var(--ti-button-warning-ghost-disabled-text-color);fill:var(--ti-button-warning-ghost-disabled-text-color);border-color:var(--ti-button-warning-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--warning.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--warning.is-loading.is-disabled{color:var(--ti-button-warning-text-color);fill:var(--ti-button-warning-text-color);border-color:var(--ti-button-warning-normal-border-color);background-color:var(--ti-button-warning-normal-bg-color)}.tiny-button.tiny-button--danger{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-normal-border-color);background-color:var(--ti-button-danger-normal-bg-color)}.tiny-button.tiny-button--danger:hover{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-hover-border-color);background-color:var(--ti-button-danger-hover-bg-color)}.tiny-button.tiny-button--danger.is-active,.tiny-button.tiny-button--danger:active,.tiny-button.tiny-button--danger:focus{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-active-bg-color);background-color:var(--ti-button-danger-active-bg-color);outline:0}.tiny-button.tiny-button--danger.is-disabled,.tiny-button.tiny-button--danger.is-disabled:active,.tiny-button.tiny-button--danger.is-disabled:focus,.tiny-button.tiny-button--danger.is-disabled:hover{color:var(--ti-button-danger-disabled-text-color);fill:var(--ti-button-danger-disabled-text-color);border-color:var(--ti-button-danger-disabled-border-color);background-color:var(--ti-button-danger-disabled-bg-color)}.tiny-button.tiny-button--danger.is-plain{color:var(--ti-button-danger-plain-text-color);fill:var(--ti-button-danger-plain-text-color);border-color:var(--ti-button-danger-plain-border-color);background-color:var(--ti-button-danger-plain-bg-color)}.tiny-button.tiny-button--danger.is-plain:hover{color:var(--ti-button-danger-plain-hover-text-color);fill:var(--ti-button-danger-plain-hover-text-color);border-color:var(--ti-button-danger-plain-hover-border-color);background-color:var(--ti-button-danger-plain-hover-bg-color)}.tiny-button.tiny-button--danger.is-plain.is-active,.tiny-button.tiny-button--danger.is-plain:active,.tiny-button.tiny-button--danger.is-plain:focus{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-active-bg-color);background-color:var(--ti-button-danger-active-bg-color);outline:0}.tiny-button.tiny-button--danger.is-plain.is-disabled,.tiny-button.tiny-button--danger.is-plain.is-disabled:active,.tiny-button.tiny-button--danger.is-plain.is-disabled:focus,.tiny-button.tiny-button--danger.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-danger-disabled-bg-color);background-color:var(--ti-button-danger-plain-disabled-bg-color)}.tiny-button.tiny-button--danger.is-ghost{color:var(--ti-button-danger-ghost-text-color);fill:var(--ti-button-danger-ghost-text-color);border-color:var(--ti-button-danger-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--danger.is-ghost:hover{color:var(--ti-button-danger-ghost-hover-text-color);fill:var(--ti-button-danger-ghost-hover-text-color);border-color:var(--ti-button-danger-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--danger.is-ghost.is-active,.tiny-button.tiny-button--danger.is-ghost:active,.tiny-button.tiny-button--danger.is-ghost:focus{color:var(--ti-button-danger-ghost-hover-text-color);fill:var(--ti-button-danger-ghost-hover-text-color);border-color:var(--ti-button-danger-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--danger.is-ghost.is-disabled,.tiny-button.tiny-button--danger.is-ghost.is-disabled:active,.tiny-button.tiny-button--danger.is-ghost.is-disabled:focus,.tiny-button.tiny-button--danger.is-ghost.is-disabled:hover{color:var(--ti-button-danger-ghost-disabled-text-color);fill:var(--ti-button-danger-ghost-disabled-text-color);border-color:var(--ti-button-danger-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--danger.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--danger.is-loading.is-disabled{color:var(--ti-button-danger-text-color);fill:var(--ti-button-danger-text-color);border-color:var(--ti-button-danger-normal-border-color);background-color:var(--ti-button-danger-normal-bg-color)}.tiny-button.tiny-button--info{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-normal-border-color);background-color:var(--ti-button-info-normal-bg-color)}.tiny-button.tiny-button--info:hover{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-hover-border-color);background-color:var(--ti-button-info-hover-bg-color)}.tiny-button.tiny-button--info.is-active,.tiny-button.tiny-button--info:active,.tiny-button.tiny-button--info:focus{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-active-bg-color);background-color:var(--ti-button-info-active-bg-color);outline:0}.tiny-button.tiny-button--info.is-disabled,.tiny-button.tiny-button--info.is-disabled:active,.tiny-button.tiny-button--info.is-disabled:focus,.tiny-button.tiny-button--info.is-disabled:hover{color:var(--ti-button-info-disabled-text-color);fill:var(--ti-button-info-disabled-text-color);border-color:var(--ti-button-info-disabled-border-color);background-color:var(--ti-button-info-disabled-bg-color)}.tiny-button.tiny-button--info.is-plain{color:var(--ti-button-info-plain-text-color);fill:var(--ti-button-info-plain-text-color);border-color:var(--ti-button-info-plain-border-color);background-color:var(--ti-button-info-plain-bg-color)}.tiny-button.tiny-button--info.is-plain:hover{color:var(--ti-button-info-plain-hover-text-color);fill:var(--ti-button-info-plain-hover-text-color);border-color:var(--ti-button-info-plain-hover-border-color);background-color:var(--ti-button-info-plain-hover-bg-color)}.tiny-button.tiny-button--info.is-plain.is-active,.tiny-button.tiny-button--info.is-plain:active,.tiny-button.tiny-button--info.is-plain:focus{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-active-bg-color);background-color:var(--ti-button-info-active-bg-color);outline:0}.tiny-button.tiny-button--info.is-plain.is-disabled,.tiny-button.tiny-button--info.is-plain.is-disabled:active,.tiny-button.tiny-button--info.is-plain.is-disabled:focus,.tiny-button.tiny-button--info.is-plain.is-disabled:hover{color:var(--ti-button-plain-disabled-text-color);fill:var(--ti-button-plain-disabled-text-color);border-color:var(--ti-button-info-disabled-bg-color);background-color:var(--ti-button-info-plain-disabled-bg-color)}.tiny-button.tiny-button--info.is-ghost{color:var(--ti-button-info-ghost-text-color);fill:var(--ti-button-info-ghost-text-color);border-color:var(--ti-button-info-ghost-border-color);background-color:transparent}.tiny-button.tiny-button--info.is-ghost:hover{color:var(--ti-button-info-ghost-hover-text-color);fill:var(--ti-button-info-ghost-hover-text-color);border-color:var(--ti-button-info-ghost-hover-border-color);background-color:transparent}.tiny-button.tiny-button--info.is-ghost.is-active,.tiny-button.tiny-button--info.is-ghost:active,.tiny-button.tiny-button--info.is-ghost:focus{color:var(--ti-button-info-ghost-hover-text-color);fill:var(--ti-button-info-ghost-hover-text-color);border-color:var(--ti-button-info-ghost-hover-border-color);background-color:transparent;outline:0}.tiny-button.tiny-button--info.is-ghost.is-disabled,.tiny-button.tiny-button--info.is-ghost.is-disabled:active,.tiny-button.tiny-button--info.is-ghost.is-disabled:focus,.tiny-button.tiny-button--info.is-ghost.is-disabled:hover{color:var(--ti-button-info-ghost-disabled-text-color);fill:var(--ti-button-info-ghost-disabled-text-color);border-color:var(--ti-button-info-ghost-disabled-border-color);background-color:transparent}.tiny-button.tiny-button--info.is-only-icon.is-disabled{border-color:var(--ti-button-only-icon-disabled-border-color)}.tiny-button.tiny-button--info.is-loading.is-disabled{color:var(--ti-button-info-text-color);fill:var(--ti-button-info-text-color);border-color:var(--ti-button-info-normal-border-color);background-color:var(--ti-button-info-normal-bg-color)}.tiny-button.tiny-button--text{color:var(--ti-button-text-color);font-size:var(--ti-common-font-size-1);border-color:transparent;background-color:transparent;border-radius:var(--ti-button-text-hover-border-radius);padding:0 var(--ti-button-text-padding-horizontal)}.tiny-button.tiny-button--text:hover{color:var(--ti-button-text-color-hover);font-weight:var(--ti-button-text-hover-weight);border-color:transparent;background-color:transparent}.tiny-button.tiny-button--text.is-active,.tiny-button.tiny-button--text:active,.tiny-button.tiny-button--text:focus{color:var(--ti-button-text-color-active);border-color:transparent;background-color:transparent}.tiny-button.tiny-button--text.is-disabled,.tiny-button.tiny-button--text.is-disabled:active,.tiny-button.tiny-button--text.is-disabled:focus,.tiny-button.tiny-button--text.is-disabled:hover{color:var(--ti-button-text-color-disabled);border-color:transparent;background-color:transparent;font-weight:400}.tiny-button.tiny-button--text:hover{-webkit-text-decoration:var(--ti-button-text-hover-text-decoration);text-decoration:var(--ti-button-text-hover-text-decoration)}.tiny-button.tiny-button--text.is-disabled:hover{text-decoration:none}.tiny-button.tiny-button--text:has(.tiny-svg){padding:0 var(--ti-button-text-svg-padding-horizontal);color:var(--ti-button-text-has-svg-text-color)}.tiny-button.tiny-button--text:has(.tiny-svg):hover{background:var(--ti-button-text-hover-bg-color);border-radius:var(--ti-button-text-hover-border-radius);color:var(--ti-button-text-has-svg-hover-text-color)}.tiny-button.tiny-button--text:has(.tiny-svg):hover .tiny-svg{fill:var(--ti-button-text-svg-hover-fill-color)}.tiny-button.tiny-button--text:has(.tiny-svg).is-disabled{background:0 0;fill:var(--ti-button-text-svg-disabled-fill-color);color:var(--ti-button-text-color-disabled)}.tiny-button.tiny-button--text:has(.tiny-svg).is-disabled .tiny-svg{fill:var(--ti-button-text-svg-disabled-fill-color)}.tiny-button.tiny-button--text:has(.tiny-svg).is-disabled:hover{fill:var(--ti-button-text-svg-disabled-fill-color);background:0 0}.tiny-button.tiny-button--text.is-only-icon:hover{background:var(--ti-button-text-only-icon-hover-bg-color)}.tiny-button.tiny-button--text .tiny-svg{vertical-align:middle;fill:var(--ti-button-text-svg-fill-color)}.tiny-button.tiny-button--text.tiny-button.tiny-button--large{min-width:var(--ti-button-text-size-large-min-width);height:var(--ti-button-text-size-large-height);line-height:calc(var(--ti-button-text-size-large-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--large svg{width:var(--ti-button-text-size-large-svg-width);height:var(--ti-button-text-size-large-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--large.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button.tiny-button--medium{min-width:var(--ti-button-text-size-medium-min-width);height:var(--ti-button-text-size-medium-height);line-height:calc(var(--ti-button-text-size-medium-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--medium svg{width:var(--ti-button-text-size-medium-svg-width);height:var(--ti-button-text-size-medium-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--medium.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button{min-width:var(--ti-button-text-size-default-min-width);height:var(--ti-button-text-size-default-height);line-height:calc(var(--ti-button-text-size-default-height) - 2px)}.tiny-button.tiny-button--text.tiny-button svg{width:var(--ti-button-text-size-default-svg-width);height:var(--ti-button-text-size-default-svg-height)}.tiny-button.tiny-button--text.tiny-button.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button.tiny-button--small{min-width:var(--ti-button-text-size-small-min-width);height:var(--ti-button-text-size-small-height);line-height:calc(var(--ti-button-text-size-small-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--small svg{width:var(--ti-button-text-size-small-svg-width);height:var(--ti-button-text-size-small-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--small.is-only-icon{min-width:unset}.tiny-button.tiny-button--text.tiny-button.tiny-button--mini{min-width:var(--ti-button-text-size-mini-min-width);height:var(--ti-button-text-size-mini-height);line-height:calc(var(--ti-button-text-size-mini-height) - 2px)}.tiny-button.tiny-button--text.tiny-button.tiny-button--mini svg{width:var(--ti-button-text-size-mini-svg-width);height:var(--ti-button-text-size-mini-svg-height)}.tiny-button.tiny-button--text.tiny-button.tiny-button--mini.is-only-icon{min-width:unset}.tiny-button.tiny-button--large{height:var(--ti-button-size-large-height);line-height:calc(var(--ti-button-size-large-height) - 2px);font-size:var(--ti-button-size-large-font-size);padding:0 var(--ti-button-size-large-padding-horizontal);min-width:var(--ti-button-size-large-min-width)}.tiny-button.tiny-button--large.is-round{border-radius:calc(var(--ti-button-size-large-height)/ 2)}.tiny-button.tiny-button--large.is-circle{border-radius:50%}.tiny-button.tiny-button--large+.tiny-button.tiny-button--large{margin-left:var(--ti-button-size-large-margin-left)}.tiny-button.tiny-button--medium{height:var(--ti-button-size-medium-height);line-height:calc(var(--ti-button-size-medium-height) - 2px);font-size:var(--ti-button-size-medium-font-size);padding:0 var(--ti-button-size-medium-padding-horizontal);min-width:var(--ti-button-size-medium-min-width)}.tiny-button.tiny-button--medium.is-round{border-radius:calc(var(--ti-button-size-medium-height)/ 2)}.tiny-button.tiny-button--medium.is-circle{border-radius:50%}.tiny-button.tiny-button--medium+.tiny-button.tiny-button--medium{margin-left:var(--ti-button-size-medium-margin-left)}.tiny-button.tiny-button--small{height:var(--ti-button-size-small-height);line-height:calc(var(--ti-button-size-small-height) - 2px);font-size:var(--ti-button-size-small-font-size);padding:0 var(--ti-button-size-small-padding-horizontal);min-width:var(--ti-button-size-small-min-width)}.tiny-button.tiny-button--small.is-round{border-radius:calc(var(--ti-button-size-small-height)/ 2)}.tiny-button.tiny-button--small.is-circle{border-radius:50%}.tiny-button.tiny-button--small+.tiny-button.tiny-button--small{margin-left:var(--ti-button-size-small-margin-left)}.tiny-button.tiny-button--mini{height:var(--ti-button-size-mini-height);line-height:calc(var(--ti-button-size-mini-height) - 2px);font-size:var(--ti-button-size-mini-font-size);padding:0 var(--ti-button-size-mini-padding-horizontal);min-width:var(--ti-button-size-mini-min-width)}.tiny-button.tiny-button--mini.is-round{border-radius:calc(var(--ti-button-size-mini-height)/ 2)}.tiny-button.tiny-button--mini.is-circle{border-radius:50%}.tiny-icon-loading{font-size:var(--ti-common-font-size-1);line-height:1;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}:root{-webkit-tap-highlight-color:transparent}.tiny-mobile-button{--ti-mobile-button-height-large:40px;--ti-mobile-button-font-size-large:var(--ti-mobile-font-size-m, 14px);--ti-mobile-button-icon-size-large:24px;--ti-mobile-button-padding-large:var(--ti-mobile-space-8x, 32px);--ti-mobile-button-min-width-large:112px;--ti-mobile-button-height-small:28px;--ti-mobile-button-font-size-small:var(--ti-mobile-font-size-s, 12px);--ti-mobile-button-icon-size-small:16px;--ti-mobile-button-padding-small:var(--ti-mobile-space-4x, 15px);--ti-mobile-button-min-width-small:72px;--ti-mobile-button-loading-size:16px;--ti-mobile-button-loading-padding:var(--ti-mobile-space-1x, 4px);--ti-mobile-button-border-width:var(--ti-mobile-border-width, 1px);--ti-mobile-button-loading-size-inner:12px;--ti-mobile-button-loading-padding-size-inner:2px;--ti-mobile-button-text-color-white:var(--ti-mobile-color-text-inverse, #fff);--ti-mobile-button-text-color-danger:var(--ti-mobile-color-error, #f23030);--ti-mobile-button-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-button-text-color-black:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-button-text-color-blue:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-button-border-color:var(--ti-mobile-color-border-default-2, #595959);--ti-mobile-button-bg-color-white:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-button-bg-color-black:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-button-bg-color-disabled:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-button-bg-color-active:var(--ti-mobile-color-bg-primary-active, #595959);position:relative;margin:0;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;border-width:var(--ti-mobile-button-border-width);border-style:solid;-webkit-transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;transition:border .3s ease 0s,color .3s ease 0s,background .3s ease 0s;cursor:pointer;outline:0;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;padding:0 var(--ti-mobile-button-padding-large);height:var(--ti-mobile-button-height-large);min-width:var(--ti-mobile-button-min-width-large);line-height:var(--ti-mobile-button-height-large);font-size:var(--ti-mobile-button-font-size-default)}.tiny-mobile-button--primary{color:var(--ti-mobile-button-text-color-white);background-color:var(--ti-mobile-button-bg-color-black);border-radius:999px;border:none}.tiny-mobile-button--primary.is-active,.tiny-mobile-button--primary:active{background-color:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button--primary.is-disabled{cursor:not-allowed;color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-disabled)}.tiny-mobile-button--primary:hover{background-color:var(--ti-mobile-button-bg-color-black)}.tiny-mobile-button--primary.is-loading{background-color:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button--icon{color:var(--ti-mobile-button-text-color-black);background-color:var(--ti-mobile-button-bg-color-white);min-width:0!important;padding:0!important;line-height:0;border:none}.tiny-mobile-button--icon .is-icon{fill:var(--ti-mobile-button-text-color-black);width:var(--ti-mobile-button-icon-size-large);height:var(--ti-mobile-button-icon-size-large)}.tiny-mobile-button--icon .small{width:var(--ti-mobile-button-icon-size-small);height:var(--ti-mobile-button-icon-size-small)}.tiny-mobile-button--icon.is-active,.tiny-mobile-button--icon:active .is-icon{fill:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button--icon.is-disabled,.tiny-mobile-button--icon.is-disabled .is-icon,.tiny-mobile-button--icon.is-disabled.is-active,.tiny-mobile-button--icon.is-disabled:active{cursor:not-allowed;fill:var(--ti-mobile-button-text-color-disabled)}.tiny-mobile-button--icon.is-disabled{color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-white)}.tiny-mobile-button--danger{color:var(--ti-mobile-button-text-color-danger);background-color:var(--ti-mobile-button-bg-color-white);border-color:var(--ti-mobile-button-text-color-danger);border-radius:999px}.tiny-mobile-button--danger.is-disabled{cursor:not-allowed;color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-disabled);border:none}.tiny-mobile-button--text{color:var(--ti-mobile-button-text-color-blue);background-color:var(--ti-mobile-button-bg-color-white);border:none;min-width:0!important;padding:0!important}.tiny-mobile-button--text.is-disabled{color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-white)}.tiny-mobile-button--secondary{color:var(--ti-mobile-button-text-color-black);background-color:var(--ti-mobile-button-bg-color-white);border-radius:999px}.tiny-mobile-button--secondary.is-disabled{cursor:not-allowed;color:var(--ti-mobile-button-text-color-disabled);background-color:var(--ti-mobile-button-bg-color-disabled);border:none}.tiny-mobile-button--small{padding:0 var(--ti-mobile-button-padding-small);height:var(--ti-mobile-button-height-small);min-width:var(--ti-mobile-button-min-width-small);line-height:var(--ti-mobile-button-height-small);font-size:var(--ti-mobile-button-font-size-small)}.tiny-mobile-button--small .is-icon{width:var(--ti-mobile-button-icon-size-small);height:var(--ti-mobile-button-icon-size-small)}.tiny-mobile-button.is-loading{position:relative;pointer-events:none}.tiny-mobile-button.is-loading svg{fill:var(--ti-mobile-button-text-color-white);font-size:var(--ti-mobile-button-font-size-default)}.tiny-mobile-button-loading{width:var(--ti-mobile-button-loading-size);height:var(--ti-mobile-button-loading-size);border-radius:50%;position:relative;float:left;-webkit-animation:rotating 1.5s linear infinite;animation:rotating 1.5s linear infinite;top:calc(50% - 8px);margin-right:var(--ti-mobile-button-loading-padding)}.tiny-mobile-button-loading-white{background-image:conic-gradient(rgba(255,255,255,0),#fff)}.tiny-mobile-button-loading-white .tiny-mobile-button-loading-inner{background:var(--ti-mobile-button-bg-color-active)}.tiny-mobile-button-loading-black{background-image:conic-gradient(rgba(0,0,0,0),#000)}.tiny-mobile-button-loading-black .tiny-mobile-button-loading-inner{background:var(--ti-mobile-button-bg-color-white)}.tiny-mobile-button-loading-inner{width:var(--ti-mobile-button-loading-size-inner);height:var(--ti-mobile-button-loading-size-inner);border-radius:50%;position:absolute;top:var(--ti-mobile-button-loading-padding-size-inner);left:var(--ti-mobile-button-loading-padding-size-inner)}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.tiny-popover.tiny-popper{--ti-popover-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-popover-bg-color:var(--ti-common-color-light, #fff);--ti-popover-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-popover-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-popover-border-radius:var(--ti-common-border-radius-1, 4px);--ti-popover-font-size:var(--ti-common-font-size-1, 14px);--ti-popover-line-height:1.4;--ti-popover-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-popover-title-font-size:var(--ti-common-font-size-2, 16px);--ti-popover-arrow-border-width:calc(var(--ti-common-border-weight-2, 3px) * 2);--ti-popover-arrow-height:var(--ti-popover-arrow-border-width);--ti-popover-placement-margin-vertical:var(--ti-common-space-3x, 12px);--ti-popover-placement-margin-horizontal:var(--ti-common-space-3x, 12px);--ti-popover-placement-arrow-after-border-color:var(--ti-common-color-light, #fff);--ti-popover-box-shadow:var(--ti-common-shadow-1-down, 0 1px 4px 0 rgba(0, 0, 0, 0.1));--ti-popover-arrow-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-popover-padding-vertical:var(--ti-common-space-3x, 12px);--ti-popover-padding-horizontal:var(--ti-common-space-4x, 16px);position:absolute;background:var(--ti-popover-bg-color);color:var(--ti-popover-text-color);border-radius:var(--ti-popover-border-radius);border:1px solid var(--ti-popover-border-color);padding:var(--ti-popover-padding-vertical) var(--ti-popover-padding-horizontal);z-index:2000;line-height:var(--ti-popover-line-height);text-align:justify;font-size:var(--ti-popover-font-size);font-family:var(--ti-popover-font-family);-webkit-box-shadow:var(--ti-popover-box-shadow);box-shadow:var(--ti-popover-box-shadow);word-break:break-all}.tiny-popover.tiny-popper .popper__arrow,.tiny-popover.tiny-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tiny-popover.tiny-popper .popper__arrow,.tiny-popover.tiny-popper .tiny-popper .popper__arrow{border-width:var(--ti-popover-arrow-border-width);-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.tiny-popover.tiny-popper .popper__arrow::after{content:' ';border-width:var(--ti-popover-arrow-border-width)}.tiny-popover.tiny-popper[x-placement^=top]{margin-bottom:var(--ti-popover-placement-margin-vertical)}.tiny-popover.tiny-popper[x-placement^=top] .popper__arrow{bottom:calc(var(--ti-popover-arrow-height) * -1);left:50%;border-top-color:var(--ti-popover-arrow-border-color);border-bottom-width:0;border-top-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:var(--ti-popover-placement-arrow-after-border-color);border-bottom-width:0}.tiny-popover.tiny-popper[x-placement^=bottom]{margin-top:var(--ti-popover-placement-margin-vertical)}.tiny-popover.tiny-popper[x-placement^=bottom] .popper__arrow{top:calc(var(--ti-popover-arrow-height) * -1);left:50%;border-top-width:0;border-bottom-color:var(--ti-popover-arrow-border-color);border-bottom-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:var(--ti-popover-placement-arrow-after-border-color)}.tiny-popover.tiny-popper[x-placement^=right]{margin-left:var(--ti-popover-placement-margin-horizontal)}.tiny-popover.tiny-popper[x-placement^=right] .popper__arrow{top:50%;left:calc(var(--ti-popover-arrow-height) * -1);border-right-color:var(--ti-popover-arrow-border-color);border-left-width:0;border-right-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:var(--ti-popover-placement-arrow-after-border-color);border-left-width:0}.tiny-popover.tiny-popper[x-placement^=left]{margin-right:var(--ti-popover-placement-margin-horizontal)}.tiny-popover.tiny-popper[x-placement^=left] .popper__arrow{top:50%;right:calc(var(--ti-popover-arrow-height) * -1);border-right-width:0;border-left-color:var(--ti-popover-arrow-border-color);border-left-width:var(--ti-popover-arrow-height)}.tiny-popover.tiny-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:var(--ti-popover-placement-arrow-after-border-color)}.tiny-popover.tiny-popper .tiny-popover__plain{padding:18px 20px}.tiny-popover.tiny-popper .tiny-popover__title{color:var(--ti-popover-title-text-color);font-size:var(--ti-popover-title-font-size);line-height:1;margin-bottom:12px}.tiny-popover.tiny-popper .tiny-popover__reference:focus:hover,.tiny-popover.tiny-popper .tiny-popover__reference:focus:not(.focusing),.tiny-popover.tiny-popper:focus,.tiny-popover.tiny-popper:focus:active{outline-width:0}.tiny-popover__reference{display:inline-block}.tiny-mobile-popover.tiny-mobile-popper{--ti-mobile-popover-bg-color:var(--ti-mobile-base-color-light, #ffffff);--ti-mobile-popover-text-color:#606266;--ti-mobile-popover-border-color:#d9d9d9;--ti-mobile-popover-border-radius:4%;--ti-mobile-popover-font-size:var(--ti-mobile-common-font-size-1, 14px);--ti-mobile-popover-font-size-weaken:10px;--ti-mobile-popover-title-text-color:#303133;--ti-mobile-popover-title-font-size:var(--ti-mobile-common-font-size-2, 16px);--ti-mobile-popover-arrow-border-weight:6px;--ti-mobile-popover-placement-margin-vertical:var(--ti-mobile-common-space-3x, 12px);--ti-mobile-popover-placement-margin-horizontal:var(--ti-mobile-common-space-3x, 12px);--ti-mobile-popover-arrow-after-border-color:var(--ti-mobile-base-color-light, #ffffff);--ti-mobile-popover-box-shadow:0px 1px 12px 0px rgba(37, 43, 58, 0.08);--ti-mobile-popover-arrow-border-color:var(--ti-mobile-popover-border-color, #d9d9d9);--ti-mobile-popover-padding-vertical:4px;--ti-mobile-popover-icon-size:24px;--ti-mobile-popover-icon-margin-right:12px;--ti-mobile-popover-label-text-color-weaken:var(--ti-mobile-common-color-text-weaken-dark, #999999);--ti-mobile-popover-line-bg-color:#eeeeee;--ti-mobile-popover-list-padding-left:20px;--ti-mobile-popover-list-bg-color-active:#f5f5f5;position:absolute;background:var(--ti-mobile-popover-bg-color);color:var(--ti-mobile-popover-text-color);border-radius:var(--ti-mobile-popover-border-radius);padding:var(--ti-mobile-popover-padding-vertical) 0;z-index:2000;line-height:1.4;text-align:justify;font-size:var(--ti-mobile-popover-font-size);-webkit-box-shadow:var(--ti-mobile-popover-box-shadow);box-shadow:var(--ti-mobile-popover-box-shadow);word-break:break-all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-mobile-popover.tiny-mobile-popper .popper__arrow,.tiny-mobile-popover.tiny-mobile-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tiny-mobile-popover.tiny-mobile-popper .popper__arrow,.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popper .popper__arrow{border-width:var(--ti-mobile-popover-arrow-border-weight);-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.tiny-mobile-popover.tiny-mobile-popper .popper__arrow::after{content:' ';border-width:var(--ti-mobile-popover-arrow-border-weight)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=top]{margin-bottom:var(--ti-mobile-popover-placement-margin-vertical)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:var(--ti-mobile-popover-arrow-border-color);border-bottom-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:var(--ti-mobile-popover-arrow-after-border-color);border-bottom-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=bottom]{margin-top:var(--ti-mobile-popover-placement-margin-vertical)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:var(--ti-mobile-popover-arrow-border-color)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:var(--ti-mobile-popover-arrow-after-border-color)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=right]{margin-left:var(--ti-mobile-popover-placement-margin-horizontal)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:var(--ti-mobile-popover-arrow-border-color);border-left-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:var(--ti-mobile-popover-arrow-after-border-color);border-left-width:0}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=left]{margin-right:var(--ti-mobile-popover-placement-margin-horizontal)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:var(--ti-mobile-popover-arrow-border-color)}.tiny-mobile-popover.tiny-mobile-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:var(--ti-mobile-popover-arrow-after-border-color)}.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__plain{padding:18px 20px}.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__title{color:var(--ti-mobile-popover-title-text-color);font-size:var(--ti-mobile-popover-title-font-size);line-height:1;margin-bottom:12px}.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__reference:focus:hover,.tiny-mobile-popover.tiny-mobile-popper .tiny-mobile-popover__reference:focus:not(.focusing),.tiny-mobile-popover.tiny-mobile-popper:focus,.tiny-mobile-popover.tiny-mobile-popper:focus:active{outline-width:0}.tiny-mobile-popover.tiny-mobile-popper .list-content{overflow-y:auto}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;padding-left:var(--ti-mobile-popover-list-padding-left);height:48px}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view:active{background:var(--ti-mobile-popover-list-bg-color-active)}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .icon{margin-right:var(--ti-mobile-popover-icon-margin-right);width:var(--ti-mobile-popover-icon-size);height:var(--ti-mobile-popover-icon-size)}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .label-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .label-view .main{color:var(--ti-mobile-common-color-text-primary,#191919);font-size:var(--ti-mobile-popover-font-size,14px);margin-right:30px}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .label-view .sub{color:var(--ti-mobile-popover-label-text-color-weaken,#999);font-size:var(--ti-mobile-popover-font-size-weaken,10px);margin-top:4px;margin-right:30px}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view .line{position:absolute;height:1px;bottom:0;right:0;width:calc(100% - var(--ti-mobile-popover-icon-size) - var(--ti-mobile-popover-icon-margin-right) - var(--ti-mobile-popover-list-padding-left));background:var(--ti-mobile-popover-line-bg-color,#eee)}.tiny-mobile-popover.tiny-mobile-popper .list-content .list-view-height{height:68px}.tiny-mobile-popover__reference{display:inline-block}.tiny-tooltip{--ti-tooltip-popper-border-width:6px;--ti-tooltip-popper-neg-border-width:calc(var(--ti-tooltip-popper-border-width) * -1);--ti-tooltip-popper-font-line-height:var(--ti-common-line-height-3, 18px);--ti-tooltip-popper-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-tooltip-popper-border-radius:var(--ti-common-border-radius-1, 4px);--ti-tooltip-popper-font-size:var(--ti-common-font-size-base, 12px);--ti-tooltip-popper-border-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-normal-bg-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-normal-text-color:var(--ti-tooltip-popper-dark-text-color);--ti-tooltip-popper-normal-border-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-info-bg-color:var(--ti-common-color-prompt-border, #beccfa);--ti-tooltip-popper-info-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-info-border-color:var(--ti-common-color-prompt-border, #beccfa);--ti-tooltip-popper-error-bg-color:var(--ti-common-color-danger-normal, #c7000b);--ti-tooltip-popper-error-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-error-border-color:var(--ti-common-color-danger-normal, #c7000b);--ti-tooltip-popper-warning-bg-color:var(--ti-common-color-warning-normal, #fa9841);--ti-tooltip-popper-warning-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-warning-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-tooltip-popper-success-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-tooltip-popper-success-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-success-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-tooltip-popper-dark-bg-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-dark-text-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-light-bg-color:var(--ti-common-color-light, #fff);--ti-tooltip-popper-light-text-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-popper-light-border-color:var(--ti-common-color-bg-dark-deep, #464c59);--ti-tooltip-box-shadow:var(--ti-common-shadow-3-down, 0 4px 16px 0 rgba(0, 0, 0, 0.2));--ti-tooltip-padding-vertical:var(--ti-common-space-3x, 12px);--ti-tooltip-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-tooltip-validate-icon-color:var(--ti-common-color-error, #f66f6a);font-family:var(--ti-tooltip-popper-font-family)}.tiny-tooltip:focus:hover,.tiny-tooltip:focus:not(.focusing){outline-width:0}.tiny-tooltip.tiny-tooltip__popper{position:absolute;left:-9999px;border-radius:var(--ti-tooltip-popper-border-radius);padding:var(--ti-tooltip-padding-vertical) var(--ti-tooltip-padding-horizontal);font-size:var(--ti-tooltip-popper-font-size);line-height:var(--ti-tooltip-popper-font-line-height);min-width:10px;max-width:450px;z-index:2000;word-wrap:break-word;-webkit-box-shadow:var(--ti-tooltip-box-shadow);box-shadow:var(--ti-tooltip-box-shadow)}.tiny-tooltip.tiny-tooltip__popper .popper__arrow,.tiny-tooltip.tiny-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tiny-tooltip.tiny-tooltip__popper .popper__arrow{border-width:var(--ti-tooltip-popper-border-width)}.tiny-tooltip.tiny-tooltip__popper .popper__arrow::after{content:' ';border-width:var(--ti-tooltip-popper-border-width)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=top]{margin-bottom:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=top] .popper__arrow{bottom:var(--ti-tooltip-popper-neg-border-width);border-top-color:var(--ti-tooltip-popper-border-color);border-bottom-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:var(--ti-tooltip-popper-neg-border-width);border-top-color:var(--ti-tooltip-popper-border-color);border-bottom-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom]{margin-top:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom] .popper__arrow{top:var(--ti-tooltip-popper-neg-border-width);border-top-width:0;border-bottom-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:var(--ti-tooltip-popper-neg-border-width);border-top-width:0;border-bottom-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=right]{margin-left:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=right] .popper__arrow{left:var(--ti-tooltip-popper-neg-border-width);border-right-color:var(--ti-tooltip-popper-border-color);border-left-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:var(--ti-tooltip-popper-neg-border-width);left:1px;border-right-color:var(--ti-tooltip-popper-border-color);border-left-width:0}.tiny-tooltip.tiny-tooltip__popper[x-placement^=left]{margin-right:12px}.tiny-tooltip.tiny-tooltip__popper[x-placement^=left] .popper__arrow{right:var(--ti-tooltip-popper-neg-border-width);border-right-width:0;border-left-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:var(--ti-tooltip-popper-neg-border-width);margin-left:var(--ti-tooltip-popper-neg-border-width);border-right-width:0;border-left-color:var(--ti-tooltip-popper-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal{background:var(--ti-tooltip-popper-normal-bg-color);color:var(--ti-tooltip-popper-normal-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=top] .popper__arrow::after{border-top-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=bottom] .popper__arrow::after{border-bottom-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=left] .popper__arrow::after{border-left-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-normal[x-placement^=right] .popper__arrow::after{border-right-color:var(--ti-tooltip-popper-normal-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info{background:var(--ti-tooltip-popper-info-bg-color);color:var(--ti-tooltip-popper-info-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=top] .popper__arrow::after{border-top-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=bottom] .popper__arrow::after{border-bottom-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=left] .popper__arrow::after{border-left-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-info[x-placement^=right] .popper__arrow::after{border-right-color:var(--ti-tooltip-popper-info-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error{background:var(--ti-tooltip-popper-error-bg-color);color:var(--ti-tooltip-popper-error-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=top] .popper__arrow::after{border-top-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=bottom] .popper__arrow::after{border-bottom-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=left] .popper__arrow::after{border-left-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error[x-placement^=right] .popper__arrow::after{border-right-color:var(--ti-tooltip-popper-error-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-error .tooltip-validate-icon{fill:var(--ti-tooltip-validate-icon-color);margin-right:8px}.tiny-tooltip.tiny-tooltip__popper.is-warning{background:var(--ti-tooltip-popper-warning-bg-color);color:var(--ti-tooltip-popper-warning-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=top] .popper__arrow::after{border-top-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=bottom] .popper__arrow::after{border-bottom-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=left] .popper__arrow::after{border-left-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-warning[x-placement^=right] .popper__arrow::after{border-right-color:var(--ti-tooltip-popper-warning-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success{background:var(--ti-tooltip-popper-success-bg-color);color:var(--ti-tooltip-popper-success-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=top] .popper__arrow::after{border-top-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=bottom] .popper__arrow::after{border-bottom-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=left] .popper__arrow::after{border-left-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-success[x-placement^=right] .popper__arrow::after{border-right-color:var(--ti-tooltip-popper-success-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-dark{background:var(--ti-tooltip-popper-dark-bg-color);color:var(--ti-tooltip-popper-dark-text-color)}.tiny-tooltip.tiny-tooltip__popper.is-light{background:var(--ti-tooltip-popper-light-bg-color);color:var(--ti-tooltip-popper-light-text-color);border:1px solid var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:var(--ti-tooltip-popper-light-border-color)}.tiny-tooltip.tiny-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:var(--ti-tooltip-popper-light-bg-color)}.tiny-tooltip.tiny-tooltip__popper.is-blank-content{display:none}.tiny-mobile-action-sheet{--ti-mobile-action-sheet-content-bg-color:#fff;--ti-mobile-action-sheet-menu-bg-color:var(--ti-mobile-base-color-light, #fff);--ti-mobile-action-sheet-item-text-color:var(--ti-mobile-base-color-info-normal, #333);--ti-mobile-action-sheet-item-warn-text-color:#f36f64;--ti-mobile-action-sheet-item-font-size:12px;--ti-mobile-action-sheet-item-border-color:#ddd;--ti-mobile-action-sheet-item-active-bg-color:#ececec;--ti-mobile-action-sheet-item-active-text-color:#039be5;--ti-mobile-action-sheet-action-bg-color:var(--ti-mobile-base-color-light, #fff);position:relative;height:100%}.tiny-mobile-action-sheet__mask{top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);z-index:1000}.tiny-mobile-action-sheet__content{bottom:0;left:0;width:100%;background-color:var(--ti-mobile-action-sheet-content-bg-color,#fff);-webkit-transform:translate(0,100%);transform:translate(0,100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;z-index:500;overflow-y:scroll;border-radius:16px 16px 0 0}.tiny-mobile-action-sheet__content.is-toggle{-webkit-transform:translate(0,0);transform:translate(0,0)}.tiny-mobile-action-sheet__content.is-not-content{z-index:2000}.tiny-mobile-action-sheet__menu{background-color:var(--ti-mobile-action-sheet-menu-bg-color,#fff)}.tiny-mobile-action-sheet__menu.is-ellipsis .tiny-mobile-action-sheet__item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:0}.tiny-mobile-action-sheet__cancel,.tiny-mobile-action-sheet__item{position:relative;height:40px;line-height:40px;padding:0 16px;color:var(--ti-mobile-action-sheet-item-text-color,#333);font-size:var(--ti-mobile-action-sheet-item-font-size,16px);text-align:center}.tiny-mobile-action-sheet__item:active{background-color:var(--ti-mobile-action-sheet-item-active-bg-color,#ececec)}.tiny-mobile-action-sheet__item.is-active{color:var(--ti-mobile-action-sheet-item-active-text-color,#039be5)}.tiny-mobile-action-sheet__menu .tiny-mobile-action-sheet__item{height:unset;line-height:16px;padding:16px;font-family:PingFang SC,PingFang SC-PingFang SC}.tiny-mobile-action-sheet__item:not(:first-child){border-top:1px solid var(--ti-mobile-action-sheet-item-border-color,#ddd)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-action-sheet__item:not(:first-child){border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-action-sheet__item:not(:first-child)::before{content:'';z-index:1;display:block;background-color:var(--ti-mobile-action-sheet-item-border-color,#ddd);position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-action-sheet__item:not(:first-child)::before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-action-sheet__item:not(:first-child).is-warn{color:var(--ti-mobile-action-sheet-item-warn-text-color,#f36f64)}.tiny-mobile-action-sheet__action{width:100%;position:absolute;background-color:var(--ti-mobile-action-sheet-action-bg-color,#fff)}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .6s;transition:opacity .6s}.fade-enter,.fade-leave-to{opacity:0}.tiny-drawer{--ti-drawer-min-width:calc(var(--ti-common-space-10, 10px) * 50);--ti-drawer-max-width:calc(var(--ti-common-space-10, 10px) * 100);--ti-drawer-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-drawer-padding-left:var(--ti-common-space-8x, 32px);--ti-drawer-padding-right:var(--ti-common-space-10x, 40px);--ti-drawer-mask-bg-color:rgba(0, 0, 0, 0.3);--ti-drawer-shadow:var(--ti-common-shadow-4-down, 0 8px 40px 0 rgba(0, 0, 0, 0.2));--ti-drawer-divider-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-drawer-radius:var(--ti-common-space-0, 0);--ti-drawer-mask-bg-color:var(--ti-mobile-color-bg-mask);--ti-drawer-header-padding-top:var(--ti-common-space-8x, 32px);--ti-drawer-header-padding-bottom:var(--ti-common-space-5x, 20px);--ti-drawer-header-padding-left:var(--ti-common-space-0, 0);--ti-drawer-body-padding-right:var(--ti-common-space-0, 0);--ti-drawer-head-title-font-size:var(--ti-common-font-size-2, 16px);--ti-drawer-head-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-drawer-head-title-font-weight:var(--ti-common-font-weight-7, bold);--ti-drawer-head-title-text-color:var(--ti-common-text-primary, #252b3a);--ti-drawer-btn-width:var(--ti-common-size-8x, 32px);--ti-drawer-btn-height:var(--ti-drawer-btn-width);--ti-drawer-close-icon-size:var(--ti-common-font-size-1, 14px);--ti-drawer-btn-border-radius:var(--ti-common-border-radius-1, 4px);--ti-drawer-close-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-drawer-close-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-drawer-btn-position-top:var(--ti-common-space-5x, 20px);--ti-drawer-btn-position-right:var(--ti-common-space-5x, 20px);--ti-drawer-help-icon-margin-left:var(--ti-common-space-2x, 8px);--ti-drawer-help-icon-width-height:var(--ti-common-space-4x, 16px);--ti-drawer-help-icon-color:var(--ti-common-color-info, #252b3a);--ti-drawer-body-padding-top:var(--ti-common-space-0, 0);--ti-drawer-body-padding-bottom:var(--ti-common-space-0, 0);--ti-drawer-body-padding-left:var(--ti-common-space-0, 0);--ti-drawer-header-padding-right:var(--ti-common-space-0, 0);--ti-drawer-divider-body-border-color:var(--ti-common-color-transparent);--ti-drawer-footer-justify-content:flex-end;--ti-drawer-footer-padding-top:var(--ti-common-space-5x, 20px);--ti-drawer-footer-padding-bottom:var(--ti-common-space-8x, 32px);--ti-drawer-footer-padding-left:var(--ti-common-space-0, 0);--ti-drawer-footer-padding-right:var(--ti-common-space-0, 0);--ti-drawer-footer-margin-left:var(--ti-common-space-8x, 32px);--ti-drawer-footer-margin-right:var(--ti-common-space-10x, 40px);--ti-drawer-divider-footer-button-margin-left:var(--ti-common-space-2x, 8px);--ti-drawer-divider-footer-border-color:var(--ti-drawer-divider-border-color, #dfe1e6)}.tiny-drawer .tiny-drawer__mask{width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.tiny-drawer .tiny-drawer__mask.show-bg-color{background-color:var(--ti-drawer-mask-bg-color)}.tiny-drawer .tiny-drawer__main{position:fixed;width:100%;max-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border-color:#e8ebef;border-style:solid;-webkit-box-shadow:var(--ti-drawer-shadow);box-shadow:var(--ti-drawer-shadow);overflow:hidden}.tiny-drawer .tiny-drawer__main.drag-effects{-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:all;transition-property:all}.tiny-drawer .tiny-drawer__main.is-left,.tiny-drawer .tiny-drawer__main.is-right{height:100%}.tiny-drawer .tiny-drawer__main.is-bottom,.tiny-drawer .tiny-drawer__main.is-top{max-height:100%}.tiny-drawer .tiny-drawer__main.is-right{top:0;right:0;border-left-width:.5px;border-radius:var(--ti-drawer-radius) 0 0 var(--ti-drawer-radius)}.tiny-drawer .tiny-drawer__main.is-left{top:0;left:0;border-right-width:.5px;border-radius:0 var(--ti-common-border-radius-2) var(--ti-common-border-radius-2) 0}.tiny-drawer .tiny-drawer__main.is-top{top:0;left:0;border-bottom-width:.5px;border-radius:0 0 var(--ti-common-border-radius-2) var(--ti-common-border-radius-2)}.tiny-drawer .tiny-drawer__main.is-bottom{bottom:0;left:0;border-top-width:.5px;border-radius:var(--ti-common-border-radius-2) var(--ti-common-border-radius-2) 0 0}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar{position:absolute;top:0;width:.5rem;height:100%}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-top-Bottom{width:100%;height:8px;left:0;cursor:n-resize}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-left-Right{height:100%;top:0;width:8px;cursor:e-resize}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-left{right:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-right{left:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-top{bottom:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__drag-bar.p-bottom{top:-4px}.tiny-drawer .tiny-drawer__main .tiny-drawer__box{-webkit-box-flex:1;-ms-flex:auto;flex:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer,.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header{margin-left:var(--ti-drawer-padding-left);margin-right:var(--ti-drawer-padding-right)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn{border:none;outline:0;background:0 0;padding:0;line-height:1;position:absolute;top:calc(var(--ti-drawer-btn-position-top) - (var(--ti-drawer-btn-height) - var(--ti-drawer-close-icon-size))/ 2);right:calc(var(--ti-drawer-btn-position-right) - (var(--ti-drawer-btn-width) - var(--ti-drawer-close-icon-size))/ 2);cursor:pointer;height:var(--ti-drawer-btn-height);width:var(--ti-drawer-btn-width)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn:hover{background-color:var(--ti-drawer-btn-background-color-hover);border-radius:var(--ti-drawer-btn-border-radius)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn+.tiny-drawer__headerbtn{margin-left:8px}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__headerbtn .tiny-drawer__close{font-size:var(--ti-drawer-close-icon-size);fill:var(--ti-drawer-close-icon-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header{padding:var(--ti-drawer-header-padding-top) var(--ti-drawer-header-padding-right) var(--ti-drawer-header-padding-bottom) var(--ti-drawer-header-padding-left);background:var(--ti-drawer-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid var(--ti-drawer-divider-border-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__title{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ti-drawer-head-title-font-size);color:var(--ti-drawer-head-title-text-color);font-weight:var(--ti-drawer-head-title-font-weight)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__header-left{max-width:80%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:16px}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__header-left .tiny-drawer__help-icon{width:var(--ti-drawer-help-icon-width-height);height:var(--ti-drawer-help-icon-width-height);margin-left:var(--ti-drawer-help-icon-margin-left);fill:var(--ti-drawer-help-icon-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__header-wrapper .tiny-drawer__header .tiny-drawer__header-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__body{-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:auto;padding-left:var(--ti-drawer-padding-left);padding-right:var(--ti-drawer-padding-right);border-bottom:1px solid var(--ti-drawer-divider-body-border-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer{-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:var(--ti-drawer-footer-justify-content);-ms-flex-pack:var(--ti-drawer-footer-justify-content);justify-content:var(--ti-drawer-footer-justify-content);padding:var(--ti-drawer-footer-padding-top) var(--ti-drawer-footer-padding-right) var(--ti-drawer-footer-padding-bottom) var(--ti-drawer-footer-padding-left);border-top:1px solid var(--ti-drawer-divider-footer-border-color)}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__confirm-btn{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__confirm-btn.reverse{margin-left:var(--ti-drawer-divider-footer-button-margin-left);-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__cancel-btn{margin-left:var(--ti-drawer-divider-footer-button-margin-left);-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tiny-drawer .tiny-drawer__main .tiny-drawer__box .tiny-drawer__footer .tiny-drawer__cancel-btn.reverse{margin-left:0;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.drawer-slide-right-enter-active{-webkit-animation:slideRight .3s linear;animation:slideRight .3s linear}.drawer-slide-right-leave-active{-webkit-animation:slideRightout .3s linear;animation:slideRightout .3s linear}@-webkit-keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}.drawer-slide-left-enter-active{-webkit-animation:slideLeft .3s linear;animation:slideLeft .3s linear}.drawer-slide-left-leave-active{-webkit-animation:slideLeftout .3s linear;animation:slideLeftout .3s linear}@-webkit-keyframes slideLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translateX(-50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translateX(-50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideLeftout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translateX(-50%)}100%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideLeftout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(-50%);transform:translateX(-50%)}100%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.drawer-slide-bottom-enter-active{-webkit-animation:slideBottom .3s linear;animation:slideBottom .3s linear}.drawer-slide-bottom-leave-active{-webkit-animation:slideBottomout .3s linear;animation:slideBottomout .3s linear}@-webkit-keyframes slideBottom{0%{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideBottom{0%{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes slideBottomout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}100%{opacity:1;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideBottomout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(50%);transform:translateY(50%)}100%{opacity:1;-webkit-transform:translateY(100%);transform:translateY(100%)}}.drawer-slide-top-enter-active{-webkit-animation:slideTop .3s linear;animation:slideTop .3s linear}.drawer-slide-top-leave-active{-webkit-animation:slideTopout .3s linear;animation:slideTopout .3s linear}@-webkit-keyframes slideTop{0%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideTop{0%{opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes slideTopout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}100%{opacity:1;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideTopout{0%{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}50%{opacity:.6;-webkit-transform:translateY(-50%);transform:translateY(-50%)}100%{opacity:1;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.drawer-fade-enter-active{-webkit-animation:drawer-fade-in .3s linear;animation:drawer-fade-in .3s linear}.drawer-fade-leave-active{-webkit-animation:drawer-fade-out .3s linear;animation:drawer-fade-out .3s linear}@-webkit-keyframes drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes drawer-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes drawer-fade-out{0%{opacity:1}100%{opacity:0}}.tiny-tall-storage{--ti-tall-storage-bg-color:var(--ti-common-color-light, #fff);--ti-tall-storage-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tall-storage-item-height:var(--ti-common-size-height-normal, 28px);--ti-tall-storage-item-bg-color:var(--ti-common-color-hover-background, #f2f5fc);position:relative}.tiny-tall-storage .tiny-storage-list-style{position:absolute;background-color:var(--ti-tall-storage-bg-color);-webkit-box-shadow:var(--ti-common-shadow-2-down);box-shadow:var(--ti-common-shadow-2-down);border-radius:var(--ti-tall-storage-border-radius);width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:10}.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list{padding:0;list-style:none;overflow-y:auto;max-height:calc(var(--ti-tall-storage-item-height) * 5)}.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list .tiny-storage-item{height:var(--ti-tall-storage-item-height);line-height:var(--ti-tall-storage-item-height);padding:0 8px;white-space:nowrap}.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list .tiny-storage-item.item-hover,.tiny-tall-storage .tiny-storage-list-style .tiny-storage-list .tiny-storage-item:hover{cursor:pointer;background-color:var(--ti-tall-storage-item-bg-color)}.tiny-transition-icon-out-in-enter-active{-webkit-animation:bounce-in .3s;animation:bounce-in .3s}.tiny-transition-icon-out-in-leave-active{animation:bounce-in .3s reverse}.tiny-transition-icon-scale-in-enter-active{-webkit-animation:scale-in .3s;animation:scale-in .3s}.tiny-transition-icon-scale-in-leave-active{animation:scale-in .3s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}100%{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}100%{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@-webkit-keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}.tiny-input{--ti-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-input-bg-color:var(--ti-common-color-icon-white, #fff);--ti-input-font-size:var(--ti-common-font-size-base, 12px);--ti-input-count-font-size:var(--ti-common-font-size-base, 12px);--ti-input-height:var(--ti-common-size-height-normal, 28px);--ti-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-input-hover-border-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-input-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-focus-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-suffix-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-input-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-input-medium-height:var(--ti-common-size-height-medium, 40px);--ti-input-small-height:var(--ti-common-size-height-small, 32px);--ti-input-mini-height:var(--ti-common-size-height-mini, 24px);--ti-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-input-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-input-exceed-text-color:var(--ti-common-bg-primary, #c7000b);--ti-input-clear-text-color:var(--ti-common-color-icon-graybg-normal, #adb0b8);--ti-input-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-input-icon-close-text-color:var(--ti-common-color-icon-graybg-active, #5e7ce0);--ti-input-clear-text-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-input-textarea-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-textarea-padding-vertical:var(--ti-common-space-2x, 8px);--ti-input-textarea-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-padding-vertical:var(--ti-common-space-0, 0px);--ti-input-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-suffix-padding-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-padding-left:var(--ti-common-space-2x, 8px);--ti-input-prefix-padding-right:calc(var(--ti-common-space-8x, 32px) - 4px);--ti-input-prefix-padding-left:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-right:var(--ti-common-space-2x, 8px);--ti-input-count-textlength-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-suffix-icon-width:1em;--ti-input-suffix-icon-height:1em;--ti-input-placeholder-color:var(--ti-common-color-placeholder, #adb0b8);position:relative;font-size:var(--ti-input-font-size);display:inline-table;width:100%}.tiny-input::-webkit-scrollbar{z-index:11;width:6px}.tiny-input::-webkit-scrollbar:horizontal{height:6px}.tiny-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.tiny-input::-webkit-scrollbar-corner{background:#fff}.tiny-input::-webkit-scrollbar-track{background:#fff}.tiny-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.tiny-input.is-exceed .tiny-input__suffix .tiny-input__count{color:var(--ti-input-exceed-text-color)}.tiny-input.is-exceed .tiny-input__suffix .tiny-input__count-text-length{color:var(--ti-input-exceed-text-color)}.tiny-input.is-disabled .tiny-input__inner{cursor:not-allowed;border:1px solid var(--ti-input-disabled-border-color);color:var(--ti-input-disabled-text-color);background:var(--ti-input-disabled-bg-color)}.tiny-input.is-disabled .tiny-input__inner::-moz-placeholder{color:var(--ti-input-placeholder-color);opacity:1}.tiny-input.is-disabled .tiny-input__inner:-ms-input-placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner::-webkit-input-placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner::-ms-input-placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner::placeholder{color:var(--ti-input-placeholder-color)}.tiny-input.is-disabled .tiny-input__inner.tiny-input__mask{font-family:serif;color:#999}.tiny-input.is-disabled .tiny-input__icon{cursor:not-allowed}.tiny-input.is-disabled .tiny-input__icon.tiny-svg,.tiny-input.is-disabled .tiny-input__icon.tiny-svg:hover{fill:var(--ti-input-disabled-text-color)}.tiny-input.is-disabled .tiny-input__prefix .tiny-svg,.tiny-input.is-disabled .tiny-input__prefix .tiny-svg:hover,.tiny-input.is-disabled .tiny-input__suffix .tiny-svg,.tiny-input.is-disabled .tiny-input__suffix .tiny-svg:hover{fill:var(--ti-input-disabled-text-color)}.tiny-input.is-exceed .tiny-input__inner{border-color:var(--ti-input-exceed-text-color)}.tiny-input .tiny-input__clear{font-size:var(--ti-input-icon-font-size);cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.tiny-input .tiny-input__clear,.tiny-input .tiny-input__clear:hover{fill:var(--ti-input-icon-close-text-color)}.tiny-input .tiny-input__count{height:100%;position:absolute;right:-1px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-input-count-color);font-size:var(--ti-input-count-font-size)}.tiny-input .tiny-input__count .tiny-input__count-inner{white-space:nowrap;background:var(--ti-input-bg-color);line-height:initial;display:inline-block}.tiny-input .tiny-input__count-text-length{color:var(--ti-input-count-textlength-color)}.tiny-input__inner{width:100%;border:1px solid var(--ti-input-border-color);border-radius:var(--ti-input-border-radius);color:var(--ti-input-text-color);background:var(--ti-input-bg-color);font-size:var(--ti-input-font-size);height:var(--ti-input-height);line-height:var(--ti-input-height);padding:var(--ti-input-padding-vertical) var(--ti-input-padding-horizontal);outline:0;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.tiny-input__inner::-moz-placeholder{color:var(--ti-input-placeholder-text-color);opacity:1}.tiny-input__inner:-ms-input-placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner::-webkit-input-placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner::-ms-input-placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner::placeholder{color:var(--ti-input-placeholder-text-color)}.tiny-input__inner:active,.tiny-input__inner:focus,.tiny-input__inner:hover{outline:0;border-color:var(--ti-input-hover-border-color)}.tiny-input__inner:focus~.tiny-input__suffix svg{fill:var(--ti-input-focus-icon-color)}.tiny-input__inner::-ms-clear{display:none;width:0;height:0}.tiny-input__prefix,.tiny-input__suffix{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .3s;transition:all .3s;text-align:center;color:var(--ti-input-border-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-input__prefix svg,.tiny-input__suffix svg{fill:var(--ti-input-suffix-icon-color)}.tiny-input.is-active .tiny-input__inner,.tiny-input__inner:focus{border-color:var(--ti-input-active-border-color);outline:0}.tiny-input__suffix{right:var(--ti-input-suffix-right);-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.tiny-input__suffix:hover{cursor:pointer}.tiny-input__suffix-inner{pointer-events:all;font-size:var(--ti-common-font-size-1);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-input__suffix-inner:hover svg{fill:var(--ti-input-focus-icon-color)}.tiny-input__prefix{left:8px;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-input-icon-font-size)}.tiny-input__prefix>div{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-input__icon{height:100%;line-height:var(--ti-input-height);text-align:center;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-input-icon-font-size);fill:var(--ti-input-icon-color);width:var(--ti-input-suffix-icon-width);height:var(--ti-input-suffix-icon-height)}.tiny-input__icon:hover{fill:var(--ti-input-icon-active-border-color)}.tiny-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.tiny-input__icon .svg-operationfaild,.tiny-input__icon .svg-operationfaild:hover{fill:var(--ti-input-icon-close-text-color)}.tiny-input__validateIcon{pointer-events:none}.tiny-input-suffix .tiny-input__inner{padding-right:var(--ti-input-suffix-padding-right);padding-left:var(--ti-input-suffix-padding-left)}.tiny-input-prefix .tiny-input__inner{padding-left:var(--ti-input-prefix-padding-left);padding-right:var(--ti-input-prefix-padding-right)}.tiny-input-word-limit .tiny-input__inner{padding-right:56px;padding-left:8px}.tiny-input-word-limit.tiny-input-suffix .tiny-input__inner{padding-right:72px;padding-left:8px}.tiny-input-medium .tiny-input__inner{height:var(--ti-input-medium-height);line-height:var(--ti-input-medium-height)}.tiny-input-medium .tiny-input__suffix{line-height:calc(var(--ti-input-medium-height) - 2px)}.tiny-input-small .tiny-input__inner{height:var(--ti-input-small-height);line-height:var(--ti-input-small-height)}.tiny-input-small .tiny-input__suffix{line-height:calc(var(--ti-input-small-height) - 2px)}.tiny-input-mini .tiny-input__inner{height:var(--ti-input-mini-height);line-height:var(--ti-input-mini-height)}.tiny-input-mini .tiny-input__suffix{line-height:calc(var(--ti-input-mini-height) - 2px)}.tiny-input.is-display-only .tiny-input-display-only{position:relative}.tiny-input.is-display-only .tiny-input-display-only .tiny-input__inner{visibility:hidden;height:auto;line-height:inherit;border:0}.tiny-input.is-display-only .tiny-input-display-only__content{position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tiny-input.is-display-only .tiny-input-display-only__mask{position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);max-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-input.is-display-only .tiny-input-display-only__mask svg{width:16px;height:16px}.tiny-input.is-display-only .tiny-input-display-only__mask-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:16px}.tiny-input-group{--ti-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-input-bg-color:var(--ti-common-color-icon-white, #fff);--ti-input-font-size:var(--ti-common-font-size-base, 12px);--ti-input-count-font-size:var(--ti-common-font-size-base, 12px);--ti-input-height:var(--ti-common-size-height-normal, 28px);--ti-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-input-hover-border-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-input-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-focus-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-suffix-icon-color:var(--ti-common-color-border-hover, #575d6c);--ti-input-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-input-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-input-medium-height:var(--ti-common-size-height-medium, 40px);--ti-input-small-height:var(--ti-common-size-height-small, 32px);--ti-input-mini-height:var(--ti-common-size-height-mini, 24px);--ti-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-input-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-input-exceed-text-color:var(--ti-common-bg-primary, #c7000b);--ti-input-clear-text-color:var(--ti-common-color-icon-graybg-normal, #adb0b8);--ti-input-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-input-icon-close-text-color:var(--ti-common-color-icon-graybg-active, #5e7ce0);--ti-input-clear-text-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-input-textarea-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-textarea-padding-vertical:var(--ti-common-space-2x, 8px);--ti-input-textarea-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-padding-vertical:var(--ti-common-space-0, 0px);--ti-input-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-input-suffix-padding-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-padding-left:var(--ti-common-space-2x, 8px);--ti-input-prefix-padding-right:calc(var(--ti-common-space-8x, 32px) - 4px);--ti-input-prefix-padding-left:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-input-suffix-right:var(--ti-common-space-2x, 8px);--ti-input-count-textlength-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-input-suffix-icon-width:1em;--ti-input-suffix-icon-height:1em;--ti-input-placeholder-color:var(--ti-common-color-placeholder, #adb0b8);line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.tiny-input-group>.tiny-input__inner{vertical-align:middle;display:table-cell}.tiny-input-group__append,.tiny-input-group__prepend{background-color:var(--ti-input-disabled-bg-color);color:var(--ti-input-placeholder-text-color);border:1px solid var(--ti-input-border-color);border-radius:var(--ti-input-border-radius);padding:0 20px;width:1px;vertical-align:middle;display:table-cell;position:relative;white-space:nowrap}.tiny-input-group__append:focus,.tiny-input-group__prepend:focus{outline:0}.tiny-input-group__append .tiny-button,.tiny-input-group__append .tiny-select,.tiny-input-group__prepend .tiny-button,.tiny-input-group__prepend .tiny-select{display:inline-block;margin:-10px -20px}.tiny-input-group__append .tiny-button,.tiny-input-group__append .tiny-input,.tiny-input-group__prepend .tiny-button,.tiny-input-group__prepend .tiny-input{font-size:inherit}.tiny-input-group__append button.tiny-button,.tiny-input-group__append div.tiny-select .tiny-input__inner,.tiny-input-group__append div.tiny-select:hover .tiny-input__inner,.tiny-input-group__prepend button.tiny-button,.tiny-input-group__prepend div.tiny-select .tiny-input__inner,.tiny-input-group__prepend div.tiny-select:hover .tiny-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.tiny-input-group__append .tiny-select .tiny-input.is-focus .tiny-input__inner,.tiny-input-group__prepend .tiny-select .tiny-input.is-focus .tiny-input__inner{border-color:transparent}.tiny-input-group-prepend .tiny-input__inner,.tiny-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.tiny-input-group-append>div:has(>.tiny-input__suffix){display:inline-block;position:relative}.tiny-input-group-append>div:has(>.tiny-input__suffix) .tiny-input__suffix{top:calc(50% - 4px)}.tiny-input-group-append .tiny-input__inner,.tiny-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.tiny-input-group__prepend{border-right:0}.tiny-input-group__append{border-left:0}.tiny-icon-loading{font-size:var(--ti-common-font-size-1);line-height:1;vertical-align:text-top;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.tiny-transition-icon-out-in-enter-active{-webkit-animation:bounce-in .3s;animation:bounce-in .3s}.tiny-transition-icon-out-in-leave-active{animation:bounce-in .3s reverse}.tiny-transition-icon-scale-in-enter-active{-webkit-animation:scale-in .3s;animation:scale-in .3s}.tiny-transition-icon-scale-in-leave-active{animation:scale-in .3s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}100%{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}100%{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@-webkit-keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}.tiny-textarea{--ti-textarea-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-textarea-bg-color:var(--ti-common-color-icon-white, #fff);--ti-textarea-font-size:var(--ti-common-font-size-base, 12px);--ti-textarea-count-font-size:var(--ti-common-font-size-base, 12px);--ti-textarea-height:var(--ti-common-size-height-normal, 28px);--ti-textarea-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-textarea-border-color:var(--ti-common-color-border, #adb0b8);--ti-textarea-inner-hover-border-color:var(--ti-common-color-border-hover, #575d6c);--ti-textarea-inner-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-textarea-placeholder-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-textarea-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-textarea-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-textarea-exceed-text-color:var(--ti-common-bg-primary, #c7000b);--ti-textarea-count-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-textarea-padding-vertical:var(--ti-common-space-2x, 8px);--ti-textarea-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-textarea-padding-right:var(--ti-common-space-2x, 8px);--ti-textarea-padding-bottom:var(--ti-common-space-2x, 8px);--ti-textarea-count-bottom:5px;--ti-textarea-count-right:16px;--ti-textarea-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-textarea-count-width:auto;--ti-textarea-inner-width:100%;--ti-textarea-count-border-radius:0;--ti-textarea-count-text-length-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-textarea-count-padding-right:var(--ti-common-space-0, 0px);--ti-textarea-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-textarea-count-line-height:var(--ti-textarea-count-font-size);position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--ti-textarea-font-size)}.tiny-textarea.is-disabled .tiny-textarea__inner{background-color:var(--ti-textarea-disabled-bg-color);border-color:var(--ti-textarea-border-color);color:var(--ti-textarea-disabled-text-color);cursor:not-allowed}.tiny-textarea.is-disabled .tiny-textarea__inner::-moz-placeholder{color:var(--ti-textarea-placeholder-text-color);opacity:1}.tiny-textarea.is-disabled .tiny-textarea__inner:-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled .tiny-textarea__inner::-webkit-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled .tiny-textarea__inner::-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled .tiny-textarea__inner::placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea.is-disabled{background-color:var(--ti-textarea-disabled-bg-color)}.tiny-textarea.is-disabled:hover{border-color:var(--ti-textarea-border-color)}.tiny-textarea.is-exceed .tiny-textarea__inner{border-color:var(--ti-textarea-exceed-text-color)}.tiny-textarea.is-exceed .tiny-input__count{color:var(--ti-textarea-exceed-text-color)}.tiny-textarea.is-exceed .tiny-input__count-text-length{color:var(--ti-textarea-exceed-text-color)}.tiny-textarea .tiny-input__count{color:var(--ti-textarea-count-color);background:var(--ti-textarea-bg-color);font-size:var(--ti-textarea-count-font-size);text-align:right;position:absolute;bottom:var(--ti-textarea-count-bottom);right:var(--ti-textarea-count-right);width:var(--ti-textarea-count-width);border-bottom-left-radius:var(--ti-textarea-count-border-radius);padding-right:var(--ti-textarea-count-padding-right);line-height:var(--ti-textarea-count-line-height)}.tiny-textarea .tiny-input__count-text-length{color:var(--ti-textarea-count-text-length-color)}.tiny-textarea__inner{display:block;width:var(--ti-textarea-inner-width);min-height:60px;min-height:calc(var(--ti-textarea-height,30px) * 2);color:var(--ti-textarea-text-color);border:1px solid var(--ti-textarea-border-color);border-radius:var(--ti-textarea-border-radius);background:var(--ti-textarea-bg-color);padding:var(--ti-textarea-padding-vertical) var(--ti-textarea-padding-horizontal);padding-right:var(--ti-textarea-padding-right);padding-bottom:var(--ti-textarea-padding-bottom);line-height:1.5;font-size:var(--ti-textarea-font-size);font-family:var(--ti-textarea-font-family);resize:vertical;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.tiny-textarea__inner::-moz-placeholder{color:var(--ti-textarea-placeholder-text-color);opacity:1}.tiny-textarea__inner:-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner::-webkit-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner::-ms-input-placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner::placeholder{color:var(--ti-textarea-placeholder-text-color)}.tiny-textarea__inner:hover{border-color:var(--ti-textarea-inner-hover-border-color)}.tiny-textarea__inner:focus{border-color:var(--ti-textarea-inner-active-border-color)}.tiny-textarea:has(.tiny-textarea__inner:focus){border-color:var(--ti-textarea-active-border-color)}.tiny-textarea__inner:focus,.tiny-textarea__inner:hover{outline:0}.tiny-textarea__inner.tiny-textarea__fix-height{min-height:30px;height:30px;padding:0 8px;line-height:30px;overflow:hidden}.tiny-textarea .tiny-textarea__inner::-webkit-scrollbar{width:12px}.tiny-textarea .tiny-textarea__inner::-webkit-scrollbar-thumb{border-radius:5px;background-clip:content-box;border-right:4px solid transparent;border-left:4px solid transparent;border-top:2px solid transparent;border-bottom:2px solid transparent}.tiny-textarea .tiny-textarea__inner-con{position:relative;display:block;height:30px;width:100%}.tiny-textarea .tiny-textarea__inner-con .tiny-textarea__inner{min-width:160px;position:absolute;z-index:2000;top:0;left:0}.tiny-textarea.is-display-only .tiny-textarea-autosize-display-only.tiny-textarea__inner-con .tiny-textarea-display-only__content,.tiny-textarea.is-display-only .tiny-textarea-display-only.tiny-textarea__inner-con .tiny-textarea-display-only__content{position:relative;left:0;max-width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;word-wrap:break-word;white-space:pre-wrap;line-height:1.5}.tiny-textarea.is-display-only .tiny-textarea__inner-con{height:auto}.tiny-textarea.is-display-only .tiny-textarea__inner-con .tiny-textarea__inner{display:none}.tiny-textarea.is-display-only .tiny-textarea-display-only .tiny-textarea-display-only__content{left:0;max-width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;word-wrap:break-word;white-space:pre-wrap}.tiny-textarea.is-display-only .tiny-textarea-autosize-display-only .tiny-textarea-display-only__content{left:0;max-width:100%;position:absolute;white-space:pre-line;line-height:1.5}.tiny-textarea.is-display-only .tiny-textarea__inner{height:0;padding:0;border-style:none;visibility:hidden}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:'HarmonySans','鸿蒙黑体','NotoSans','Helvetica','Arial','PingFangSC-Regular','Hiragino Sans GB','Microsoft YaHei','微软雅黑','Microsoft JhengHei';--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, 0.08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, 0.5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, 0.75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}.tiny-mobile-textarea{--ti-mobile-input-height:40px;--ti-mobile-input-padding-horizontal:var(--ti-mobile-space-3x, 12px);--ti-mobile-input-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-input-font-family:var(--ti-mobile-font-family);--ti-mobile-input-line-height:var(--ti-mobile-line-height-default, 1.5);--ti-mobile-input-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-input-icon-color-disabled:var(--ti-mobile-color-icon-disabled, #c2c2c2);--ti-mobile-input-bg-color-disabled:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-input-border-width:var(--ti-mobile-border-width-1, 1px);--ti-mobile-input-border-color:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-input-border-color-active:var(--ti-mobile-color-border-active, #191919);--ti-mobile-input-border-width-active:var(--ti-mobile-border-width-1, 1px);--ti-mobile-border-color-disabled:var(--ti-mobile-color-border-disabled, #dbdbdb);--ti-mobile-input-radius:var(--ti-mobile-border-radius-m, 8px);--ti-mobile-input-bg-color:var(--ti-mobile-color, #fff);--ti-mobile-input-placeholder-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-placeholder-font-weight:var(--ti-mobile-font-weight-medium, 500);--ti-mobile-input-medium-height:42px;--ti-mobile-input-small-height:36px;--ti-mobile-input-mini-height:24px;--ti-mobile-input-count-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-count-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-exceed-text-color:var(--ti-mobile-color-error, #f23030);--ti-mobile-input-icon-color:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-input-icon-font-size:var(--ti-mobile-font, 20px);--ti-mobile-input-prepend-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-prepend-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-prepend-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-append-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-append-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-append-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-prefix-padding-right:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-suffix-padding-left:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-title-margin-bottom:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-tips-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-tips-margin-top:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-height:108px;--ti-mobile-textarea-padding-vertical:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-padding-horizontal:var(--ti-mobile-space-4x, 16px);--ti-mobile-textarea-inner-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-inner-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-textarea-inner-placeholder-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-textarea-title-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-title-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-form-bg-color-error:var(--ti-mobile-color-error-subtle, #fce3e1);position:relative;display:inline-block}.tiny-mobile-textarea__inner{height:var(--ti-mobile-textarea-height);padding:var(--ti-mobile-textarea-padding-vertical) var(--ti-mobile-textarea-padding-horizontal);font-size:var(--ti-mobile-textarea-inner-font-size,16px);font-family:var(--ti-mobile-input-font-family);color:var(--ti-mobile-textarea-inner-text-color);display:block;resize:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);line-height:var(--ti-mobile-input-line-height)}.tiny-mobile-textarea__inner.is-autosize{overflow:hidden}.tiny-mobile-textarea__inner:focus,.tiny-mobile-textarea__inner:hover{outline:0}.tiny-mobile-textarea__inner::-moz-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color);opacity:1}.tiny-mobile-textarea__inner:-ms-input-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__inner::-webkit-input-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__inner::-ms-input-placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__inner::placeholder{color:var(--ti-mobile-textarea-inner-placeholder-color)}.tiny-mobile-textarea__wrapper{display:inline-block;overflow:hidden;border:var(--ti-mobile-input-border-width) solid var(--ti-mobile-input-border-color);border-radius:var(--ti-mobile-input-radius)}.tiny-mobile-textarea__count{position:absolute;right:var(--ti-mobile-textarea-padding-horizontal);bottom:var(--ti-mobile-textarea-padding-vertical);color:var(--ti-mobile-input-count-text-color);font-size:var(--ti-mobile-input-count-font-size)}.tiny-mobile-textarea.is-focus .tiny-mobile-textarea__inner{border-color:var(--ti-mobile-input-border-color-active);border-width:var(--ti-mobile-input-border-width-active)}.tiny-mobile-textarea.is-showlimit .tiny-mobile-textarea__inner{padding-bottom:calc(var(--ti-mobile-input-count-font-size) * 1.5 + var(--ti-mobile-textarea-padding-vertical))}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner{border-color:var(--ti-mobile-border-color-disabled);background-color:var(--ti-mobile-input-bg-color-disabled);color:var(--ti-mobile-input-text-color-disabled);cursor:not-allowed}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::-moz-placeholder{color:var(--ti-mobile-input-text-color-disabled);opacity:1}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner:-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::-webkit-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-disabled .tiny-mobile-textarea__inner::placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-textarea.is-exceed__count{color:var(--ti-mobile-input-exceed-text-color)}.tiny-mobile-input{--ti-mobile-input-height:40px;--ti-mobile-input-padding-horizontal:var(--ti-mobile-space-3x, 12px);--ti-mobile-input-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-input-font-family:var(--ti-mobile-font-family);--ti-mobile-input-line-height:var(--ti-mobile-line-height-default, 1.5);--ti-mobile-input-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-input-icon-color-disabled:var(--ti-mobile-color-icon-disabled, #c2c2c2);--ti-mobile-input-bg-color-disabled:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-input-border-width:var(--ti-mobile-border-width-1, 1px);--ti-mobile-input-border-color:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-input-border-color-active:var(--ti-mobile-color-border-active, #191919);--ti-mobile-input-border-width-active:var(--ti-mobile-border-width-1, 1px);--ti-mobile-border-color-disabled:var(--ti-mobile-color-border-disabled, #dbdbdb);--ti-mobile-input-radius:var(--ti-mobile-border-radius-m, 8px);--ti-mobile-input-bg-color:var(--ti-mobile-color, #fff);--ti-mobile-input-placeholder-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-placeholder-font-weight:var(--ti-mobile-font-weight-medium, 500);--ti-mobile-input-medium-height:42px;--ti-mobile-input-small-height:36px;--ti-mobile-input-mini-height:24px;--ti-mobile-input-count-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-input-count-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-exceed-text-color:var(--ti-mobile-color-error, #f23030);--ti-mobile-input-icon-color:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-input-icon-font-size:var(--ti-mobile-font, 20px);--ti-mobile-input-prepend-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-prepend-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-prepend-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-append-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-input-append-bg-color:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-input-append-padding-horizontal:var(--ti-mobile-space-5x, 20px);--ti-mobile-input-prefix-padding-right:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-suffix-padding-left:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-title-margin-bottom:var(--ti-mobile-space-2x, 8px);--ti-mobile-input-tips-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-input-tips-margin-top:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-height:108px;--ti-mobile-textarea-padding-vertical:var(--ti-mobile-space-2x, 8px);--ti-mobile-textarea-padding-horizontal:var(--ti-mobile-space-4x, 16px);--ti-mobile-textarea-inner-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-inner-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-textarea-inner-placeholder-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-textarea-title-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-textarea-title-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-input-form-bg-color-error:var(--ti-mobile-color-error-subtle, #fce3e1);position:relative;width:100%;line-height:var(--ti-mobile-input-line-height)}.tiny-mobile-input::-webkit-scrollbar{z-index:11;width:6px}.tiny-mobile-input::-webkit-scrollbar:horizontal{height:6px}.tiny-mobile-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.tiny-mobile-input::-webkit-scrollbar-corner{background:#fff}.tiny-mobile-input::-webkit-scrollbar-track{background:#fff}.tiny-mobile-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.tiny-mobile-input.is-focus .tiny-mobile-input__wrapper{border-color:var(--ti-mobile-input-border-color-active);border-width:var(--ti-mobile-input-border-width-active)}.tiny-mobile-input.is-exceed .tiny-mobile-input__suffix .tiny-mobile-input__count{color:var(--ti-mobile-input-exceed-text-color)}.tiny-mobile-input.is-disabled .tiny-mobile-input__wrapper{border-color:var(--ti-mobile-border-color-disabled);background:var(--ti-mobile-input-bg-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner{cursor:not-allowed;color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::-moz-placeholder{color:var(--ti-mobile-input-text-color-disabled);opacity:1}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner:-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::-webkit-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::-ms-input-placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__inner::placeholder{color:var(--ti-mobile-input-text-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__icon{cursor:not-allowed}.tiny-mobile-input.is-disabled .tiny-mobile-input__icon.tiny-svg,.tiny-mobile-input.is-disabled .tiny-mobile-input__icon.tiny-svg:hover{fill:var(--ti-mobile-input-icon-color-disabled)}.tiny-mobile-input.is-disabled .tiny-mobile-input__prefix .tiny-svg,.tiny-mobile-input.is-disabled .tiny-mobile-input__prefix .tiny-svg:hover,.tiny-mobile-input.is-disabled .tiny-mobile-input__suffix .tiny-svg,.tiny-mobile-input.is-disabled .tiny-mobile-input__suffix .tiny-svg:hover{fill:var(--ti-mobile-input-icon-color-disabled)}.tiny-mobile-input.tiny-mobile-input-group-prepend .tiny-mobile-input__wrapper{padding-left:0}.tiny-mobile-input.tiny-mobile-input-group-append .tiny-mobile-input__wrapper{padding-right:0}.tiny-mobile-input__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--ti-mobile-input-height);overflow:hidden;border:var(--ti-mobile-input-border-width) solid var(--ti-mobile-input-border-color);border-radius:var(--ti-mobile-input-radius);background:var(--ti-mobile-input-bg-color)}.tiny-mobile-input__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;width:100%;height:100%;padding:0 var(--ti-mobile-input-padding-horizontal);font-size:var(--ti-mobile-input-font-size);font-family:var(--ti-mobile-input-font-family);color:var(--ti-mobile-input-text-color);border:0;outline:0;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-transition:all .2s cubic-bezier(.645,.045,.355,1);transition:all .2s cubic-bezier(.645,.045,.355,1)}.tiny-mobile-input__inner::-moz-placeholder{color:var(--ti-mobile-input-placeholder-text-color);opacity:1}.tiny-mobile-input__inner:-ms-input-placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner::-webkit-input-placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner::-ms-input-placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner::placeholder{color:var(--ti-mobile-input-placeholder-text-color)}.tiny-mobile-input__inner:active,.tiny-mobile-input__inner:focus,.tiny-mobile-input__inner:hover{outline:0}.tiny-mobile-input__inner::-ms-clear{display:none;width:0;height:0}.tiny-mobile-input .tiny-mobile-input__clear{font-size:var(--ti-mobile-input-icon-font-size,16px);cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.tiny-mobile-input .tiny-mobile-input__clear,.tiny-mobile-input .tiny-mobile-input__clear:hover{fill:var(--ti-mobile-input-icon-color)}.tiny-mobile-input .tiny-mobile-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:var(--ti-mobile-input-count-text-color);font-size:var(--ti-mobile-input-count-font-size)}.tiny-mobile-input .tiny-mobile-input__count .tiny-mobile-input__count-inner{background:var(--ti-mobile-input-bg-color,#fff);line-height:initial;display:inline-block}.tiny-mobile-input__prefix,.tiny-mobile-input__suffix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s;transition:all .3s;text-align:center}.tiny-mobile-input__prefix{padding-left:var(--ti-mobile-input-padding-horizontal);-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-mobile-input-icon-font-size)}.tiny-mobile-input__suffix{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4;padding-right:var(--ti-mobile-input-padding-horizontal);-webkit-transition:all .3s;transition:all .3s}.tiny-mobile-input__suffix:hover{cursor:pointer}.tiny-mobile-input.is-active .tiny-mobile-input__inner,.tiny-mobile-input__inner:focus{outline:0}.tiny-mobile-input__icon{line-height:var(--ti-mobile-input-line-height,30px);text-align:center;-webkit-transition:all .3s;transition:all .3s;font-size:var(--ti-mobile-input-icon-font-size)}.tiny-mobile-input__icon,.tiny-mobile-input__icon:hover{fill:var(--ti-mobile-input-icon-color)}.tiny-mobile-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.tiny-mobile-input__icon .svg-operationfaild,.tiny-mobile-input__icon .svg-operationfaild:hover{fill:var(--ti-mobile-input-icon-color)}.tiny-mobile-input__validateIcon{pointer-events:none}.tiny-mobile-input-medium .tiny-mobile-input__inner{height:var(--ti-mobile-input-medium-height,42px);line-height:var(--ti-mobile-input-medium-height,42px)}.tiny-mobile-input-medium .tiny-mobile-input__suffix{line-height:calc(var(--ti-mobile-input-medium-height,42px) - 2px)}.tiny-mobile-input-small .tiny-mobile-input__inner{height:var(--ti-mobile-input-small-height,36px);line-height:var(--ti-mobile-input-small-height,36px)}.tiny-mobile-input-small .tiny-mobile-input__suffix{line-height:calc(var(--ti-mobile-input-small-height,36px) - 2px)}.tiny-mobile-input-mini .tiny-mobile-input__inner{height:var(--ti-mobile-input-mini-height,24px);line-height:var(--ti-mobile-input-mini-height,24px)}.tiny-mobile-input-mini .tiny-mobile-input__suffix{line-height:calc(var(--ti-mobile-input-mini-height,24px) - 2px)}.tiny-mobile-input__title{margin-bottom:var(--ti-mobile-input-title-margin-bottom)}.tiny-mobile-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.tiny-mobile-input-group>.tiny-mobile-input__inner{vertical-align:middle;display:table-cell}.tiny-mobile-input-group__append,.tiny-mobile-input-group__prepend{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;position:relative;white-space:nowrap}.tiny-mobile-input-group__append:focus,.tiny-mobile-input-group__prepend:focus{outline:0}.tiny-mobile-input-group__append .tiny-button,.tiny-mobile-input-group__append .tiny-select,.tiny-mobile-input-group__prepend .tiny-button,.tiny-mobile-input-group__prepend .tiny-select{display:inline-block;margin:-10px -20px}.tiny-mobile-input-group__append .tiny-button,.tiny-mobile-input-group__append .tiny-input,.tiny-mobile-input-group__prepend .tiny-button,.tiny-mobile-input-group__prepend .tiny-input{font-size:inherit}.tiny-mobile-input-group__append button.tiny-button,.tiny-mobile-input-group__append div.tiny-select .tiny-mobile-input__inner,.tiny-mobile-input-group__append div.tiny-select:hover .tiny-mobile-input__inner,.tiny-mobile-input-group__prepend button.tiny-button,.tiny-mobile-input-group__prepend div.tiny-select .tiny-mobile-input__inner,.tiny-mobile-input-group__prepend div.tiny-select:hover .tiny-mobile-input__inner{background-color:transparent;color:inherit}.tiny-mobile-input-group__prepend{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;padding:0 var(--ti-mobile-input-prepend-padding-horizontal);color:var(--ti-mobile-input-prepend-text-color);background-color:var(--ti-mobile-input-prepend-bg-color)}.tiny-mobile-input-group__append{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5;padding:0 var(--ti-mobile-input-append-padding-horizontal);color:var(--ti-mobile-input-append-text-color);background-color:var(--ti-mobile-input-append-bg-color)}.tiny-mobile-input__select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;background:var(--ti-mobile-input-bg-color,#fff)}.tiny-mobile-input__select-icon{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5;height:20px;margin-right:var(--ti-mobile-input-padding-horizontal);line-height:20px;width:20px;font-size:0;-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:all linear .3s;transition:all linear .3s}.tiny-mobile-input__select-icon svg{fill:var(--ti-mobile-input-icon-color);font-size:20px;vertical-align:text-bottom}.tiny-mobile-input__select-label{-webkit-box-sizing:border-box;box-sizing:border-box;width:35%;padding:0 12px 0 16px;line-height:1.376;color:#333;font-size:22px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.tiny-mobile-input__select__error{width:100%;position:absolute;overflow:hidden;font-size:13px;color:var(--ti-mobile-common-color-error-text-1);text-overflow:ellipsis;bottom:-36px;background:var(--ti-mobile-input-form-bg-color-error);border-radius:4px;padding:0 12px}.tiny-mobile-input__select__error.align-right{text-align:right}.tiny-mobile-input__select__error.align-left{text-align:left}.tiny-icon-loading{font-size:14px;line-height:1;vertical-align:text-top;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.tiny-mobile-input__tips{margin-top:var(--ti-mobile-input-tips-margin-top);font-size:var(--ti-mobile-input-tips-font-size)}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.tiny-checkbox{--ti-checkbox-width:var(--ti-common-size-4x, 16px);--ti-checkbox-height:var(--ti-common-size-4x, 16px);--ti-checkbox-text-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-checkbox-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-bg-color:var(--ti-common-color-transparent, transparent);--ti-checkbox-bg-color-checked:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-border-color-checked:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-checkbox-bg-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-font-normal-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-font-medium-line-height:var(--ti-common-line-height-3, 18px);--ti-checkbox-font-small-line-height:var(--ti-common-line-height-2, 16px);--ti-checkbox-font-mini-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-icon-height:var(--ti-common-size-2x, 8px);--ti-checkbox-icon-width:var(--ti-common-size-base, 4px);--ti-checkbox-icon-margin-left:var(--ti-common-space-base, 4px);--ti-checkbox-icon-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-bg-color-disable:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-icon-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-border-color-unchecked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-label-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-bg-color-checked-disabled:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-border-color-checked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-checkline-width:var(--ti-common-border-weight-1, 2px);--ti-checkbox-label-margin-right:var(--ti-common-space-5x, 20px);--ti-checkbox-button-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-checkbox-shadow-color:#dfe1e6;--ti-checkbox-button-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-hover-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-button-checked-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-button-bg-color-hover:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-button-border-color:#e9edfa;--ti-checkbox-button-border-color-hover:#c2c2c2;--ti-checkbox-button-border-radius:0px;--ti-checkbox-disabled-border-color:#dbdbdb;--ti-checkbox-button-padding-vertical:5px;--ti-checkbox-button-height:24px;--ti-checkbox-button-margin-horizontal:2px;--ti-checkbox-button-mini-margin-horizontal:2px;--ti-checkbox-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-size-mini-border-radius:0px;--ti-checkbox-button-size-small-padding-horizontal:15px;--ti-checkbox-button-size-small-height:30px;--ti-checkbox-button-checked-display:none;--ti-checkbox-button-margin-top:8px;--ti-checkbox-button-mini-padding-horizontal:12px;--ti-checkbox-button-mini-left-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-mini-right-border-radius:0px;--ti-checkbox-button-mini-last-left-border-radius:0px;--ti-checkbox-button-mini-last-right-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-right-border-radius:0px;--ti-checkbox-button-left-border-radius:0px;position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-checkbox-text-color);font-weight:500;font-size:0;font-family:var(--ti-checkbox-text-font-family);white-space:nowrap;margin-right:var(--ti-checkbox-label-margin-right);outline:0;cursor:pointer;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-checkbox:last-of-type{margin-right:0}.tiny-checkbox .tiny-checkbox__inner{display:inline-block;position:relative;border:1px solid var(--ti-checkbox-border-color);border-radius:var(--ti-checkbox-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;width:var(--ti-checkbox-width);height:var(--ti-checkbox-height);background-color:var(--ti-checkbox-bg-color);outline:0;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.tiny-checkbox .tiny-checkbox__inner:hover{border-color:var(--ti-checkbox-border-color-hover)}.tiny-checkbox .tiny-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:'';border:1px solid #fff;border-width:0 var(--ti-checkbox-checkline-width) var(--ti-checkbox-checkline-width) 0;border-left:0;border-top:0;height:var(--ti-checkbox-icon-height);width:var(--ti-checkbox-icon-width);position:absolute;margin-left:var(--ti-checkbox-icon-margin-left);margin-top:var(--ti-checkbox-icon-margin-top);-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);-webkit-transition:-webkit-transform .15s ease-in 50ms;transition:-webkit-transform .15s ease-in 50ms;transition:transform .15s ease-in 50ms;transition:transform .15s ease-in 50ms,-webkit-transform .15s ease-in 50ms;-webkit-transform-origin:center;transform-origin:center}.tiny-checkbox.is-filter{background-color:#f5f6f8;padding:0 10px;border-radius:2px;max-width:192px}.tiny-checkbox.is-filter .tiny-checkbox__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:28px}.tiny-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:2px;border:1px solid var(--ti-checkbox-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;line-height:var(--ti-checkbox-font-normal-line-height);height:40px}.tiny-checkbox.is-bordered+.tiny-checkbox.is-bordered{margin-left:10px}.tiny-checkbox.is-bordered.is-checked{border-color:var(--ti-checkbox-button-checked-border-color)}.tiny-checkbox.is-bordered.is-disabled{border-color:var(--ti-checkbox-border-color-unchecked-disabled);color:var(--ti-checkbox-bg-color-disable);pointer-events:none;cursor:not-allowed}.tiny-checkbox.is-bordered.is-disabled .tiny-checkbox__inner,.tiny-checkbox.is-bordered.is-disabled .tiny-checkbox__inner:hover{border-color:var(--ti-checkbox-border-color-unchecked-disabled);cursor:not-allowed}.tiny-checkbox.is-bordered.is-disabled.is-checked{border-color:var(--ti-checkbox-bg-color-disable)}.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner,.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-disable);border-color:var(--ti-checkbox-bg-color-disable)}.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner::after,.tiny-checkbox.is-bordered.is-disabled.is-checked .tiny-checkbox__inner:hover::after{border-color:var(--ti-checkbox-border-color-unchecked-disabled)}.tiny-checkbox.is-bordered.tiny-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.tiny-checkbox.is-bordered.tiny-checkbox--medium .tiny-checkbox__label{line-height:var(--ti-checkbox-font-medium-line-height);font-size:var(--ti-common-font-size-1)}.tiny-checkbox.is-bordered.tiny-checkbox--medium .tiny-checkbox__inner{height:14px;width:14px}.tiny-checkbox.is-bordered.tiny-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.tiny-checkbox.is-bordered.tiny-checkbox--small .tiny-checkbox__label{line-height:var(--ti-checkbox-font-small-line-height);font-size:var(--ti-common-font-size-base)}.tiny-checkbox.is-bordered.tiny-checkbox--small .tiny-checkbox__inner{height:12px;width:12px}.tiny-checkbox.is-bordered.tiny-checkbox--small .tiny-checkbox__inner::after{height:6px;width:2px}.tiny-checkbox.is-bordered.tiny-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.tiny-checkbox.is-bordered.tiny-checkbox--mini .tiny-checkbox__label{line-height:var(--ti-checkbox-font-mini-line-height);font-size:var(--ti-common-font-size-base)}.tiny-checkbox.is-bordered.tiny-checkbox--mini .tiny-checkbox__inner{height:12px;width:12px}.tiny-checkbox.is-bordered.tiny-checkbox--mini .tiny-checkbox__inner::after{height:6px;width:2px}.tiny-checkbox__input{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;outline:0;line-height:1;cursor:pointer}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-checkbox__input{display:inline-block}}@supports (-ms-ime-align:auto){.tiny-checkbox__input{display:inline-block}}.tiny-checkbox__input .tiny-checkbox__inner svg{fill:var(--ti-checkbox-border-color)}.tiny-checkbox__input .tiny-checkbox__inner:hover svg{fill:var(--ti-checkbox-button-hover-text-color)}.tiny-checkbox__input.is-disabled .tiny-checkbox__inner{background-color:var(--ti-checkbox-bg-color-disable);border-color:var(--ti-checkbox-border-color-unchecked-disabled);cursor:not-allowed}.tiny-checkbox__input.is-disabled .tiny-checkbox__inner svg{fill:var(--ti-checkbox-icon-color-disabled)}.tiny-checkbox__input.is-disabled .tiny-checkbox__inner+.tiny-checkbox__label{cursor:not-allowed}.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner,.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-checked-disabled);border-color:var(--ti-checkbox-border-color-checked-disabled)}.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner::after,.tiny-checkbox__input.is-disabled.is-checked .tiny-checkbox__inner:hover::after{border-color:var(--ti-checkbox-icon-color-disabled)}.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner,.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-checked-disabled);border-color:var(--ti-checkbox-border-color-checked-disabled)}.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner::before,.tiny-checkbox__input.is-disabled.is-indeterminate .tiny-checkbox__inner:hover::before{background-color:var(--ti-checkbox-icon-color-disabled);border-color:var(--ti-checkbox-icon-color-disabled)}.tiny-checkbox__input.is-disabled+span.tiny-checkbox__label{color:var(--ti-checkbox-label-text-color-disabled);cursor:not-allowed}.tiny-checkbox__input.is-checked .tiny-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner::before{content:'';position:absolute;display:block;border-radius:1px;background-color:#fff;height:6px;width:6px;left:0;right:0;top:0;bottom:0;margin:auto}.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner::after{display:none}.tiny-checkbox__input.is-checked .tiny-checkbox__inner,.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner{background-color:var(--ti-checkbox-bg-color-checked);border-color:var(--ti-checkbox-border-color-checked)}.tiny-checkbox__input.is-checked .tiny-checkbox__inner:hover,.tiny-checkbox__input.is-indeterminate .tiny-checkbox__inner:hover{background-color:var(--ti-checkbox-bg-color-hover-checked);border-color:var(--ti-checkbox-border-color-hover-checked)}.tiny-checkbox input:focus-visible+.tiny-checkbox__inner{outline:2px solid var(--ti-checkbox-bg-color-checked);outline-offset:1px}.tiny-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.tiny-checkbox__label{padding-left:8px;font-size:var(--ti-checkbox-font-size)}.tiny-checkbox.is-display-only .tiny-checkbox__input.is-disabled+span.tiny-checkbox__label{color:#161e26}.tiny-checkbox.is-group-display-only{margin:0;padding:0;display:none}.tiny-checkbox.is-group-display-only.is-checked{display:inline-block}.tiny-checkbox.is-group-display-only .tiny-checkbox__input{display:none}.tiny-checkbox.is-group-display-only .tiny-checkbox__label::after{display:inline-block;content:';'}.tiny-checkbox.is-group-display-only .tiny-checkbox__label{margin:0;padding:0}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:'HarmonySans','鸿蒙黑体','NotoSans','Helvetica','Arial','PingFangSC-Regular','Hiragino Sans GB','Microsoft YaHei','微软雅黑','Microsoft JhengHei';--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, 0.08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, 0.5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, 0.75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}.tiny-mobile-checkbox{--ti-mobile-checkbox-width:var(--ti-mobile-space-6x, 24px);--ti-mobile-checkbox-height:var(--ti-mobile-checkbox-width, 24px);--ti-mobile-checkbox-line-height:22px;--ti-mobile-checkbox-margin-right:var(--ti-mobile-space-2x, 8px);--ti-mobile-checkbox-label-padding-left:var(--ti-mobile-space-2x, 8px);--ti-mobile-checkbox-bg-color:var(--ti-mobile-color-bg-container-1, #ffffff);--ti-mobile-checkbox-border-radius:var(--ti-mobile-border-radius-s, 4px);--ti-mobile-checkbox-border-color:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-checkbox-checked-border-color:var(--ti-mobile-color-icon-link, #1476ff);--ti-mobile-checkbox-checked-bg-color:var(--ti-mobile-color-icon-link, #1476ff);--ti-mobile-checkbox-selected-border-color:var(--ti-mobile-color-icon-inverse, #ffffff);--ti-mobile-checkbox-indeterminate-bg-color:var(--ti-mobile-color-icon-inverse, #ffffff);--ti-mobile-checkbox-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-checkbox-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-checkbox-disabled-text-color:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-checkbox-disabled-bg-color:var(--ti-mobile-color-bg-container-2, #fafafa);--ti-mobile-checkbox-checked-disabled-bg-color:var(--ti-mobile-color-bg-control-disabled-1, #dbdbdb);--ti-mobile-checkbox-disabled-border-color:var(--ti-mobile-color-border-disabled, #dbdbdb);position:relative;display:inline-block;white-space:nowrap;margin-right:var(--ti-mobile-checkbox-margin-right);cursor:pointer;user-select:none;-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none}.tiny-mobile-checkbox:last-of-type{margin-right:0}.tiny-mobile-checkbox__input{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;outline:0;cursor:pointer;width:var(--ti-mobile-checkbox-width);height:var(--ti-mobile-checkbox-height);line-height:var(--ti-mobile-checkbox-line-height)}.tiny-mobile-checkbox__inner{display:inline-block;position:relative;background-color:var(--ti-mobile-checkbox-bg-color);border:1.5px solid var(--ti-mobile-checkbox-border-color);border-radius:var(--ti-mobile-checkbox-border-radius,3px);-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.tiny-mobile-checkbox__inner:hover{border-color:var(--ti-mobile-checkbox-checked-border-color)}.tiny-mobile-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:'';border-width:2px;border-style:solid;border-color:var(--ti-mobile-checkbox-selected-border-color);border-left:0;border-top:0;height:11px;width:7px;position:absolute;left:50%;top:42%;-webkit-transform:translate(-50%,-50%) rotate(45deg) scaleY(0);transform:translate(-50%,-50%) rotate(45deg) scaleY(0);-webkit-transition:all .15s ease-in 50ms;transition:all .15s ease-in 50ms;-webkit-transform-origin:center;transform-origin:center;opacity:0}.tiny-mobile-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.tiny-mobile-checkbox__label{display:inline-block;padding-left:var(--ti-mobile-checkbox-label-padding-left);line-height:24px;color:var(--ti-mobile-checkbox-text-color);font-size:var(--ti-mobile-checkbox-font-size,16px);vertical-align:middle;word-break:break-all;white-space:pre-wrap}.tiny-mobile-checkbox.is-checked .tiny-mobile-checkbox__inner{background-color:var(--ti-mobile-checkbox-checked-bg-color)}.tiny-mobile-checkbox.is-checked .tiny-mobile-checkbox__inner::after{border-color:var(--ti-mobile-checkbox-selected-border-color);-webkit-transform:translate(-50%,-50%) rotate(45deg) scaleY(1);transform:translate(-50%,-50%) rotate(45deg) scaleY(1);opacity:1}.tiny-mobile-checkbox.is-indeterminate .tiny-mobile-checkbox__inner::before{content:'';position:absolute;display:block;border-radius:2px;background-color:var(--ti-mobile-checkbox-indeterminate-bg-color);height:10px;width:10px;left:0;right:0;top:0;bottom:0;margin:auto}.tiny-mobile-checkbox.is-indeterminate .tiny-mobile-checkbox__inner::after{display:none}.tiny-mobile-checkbox.is-checked .tiny-mobile-checkbox__inner,.tiny-mobile-checkbox.is-indeterminate .tiny-mobile-checkbox__inner{background-color:var(--ti-mobile-checkbox-checked-bg-color);border-color:var(--ti-mobile-checkbox-checked-border-color)}.tiny-mobile-checkbox.is-disabled .tiny-mobile-checkbox__inner{background-color:var(--ti-mobile-checkbox-disabled-bg-color);border-color:var(--ti-mobile-checkbox-disabled-border-color);cursor:not-allowed}.tiny-mobile-checkbox.is-disabled.is-checked .tiny-mobile-checkbox__inner,.tiny-mobile-checkbox.is-disabled.is-checked .tiny-mobile-checkbox__inner:hover{background-color:var(--ti-mobile-checkbox-checked-disabled-bg-color)}.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner,.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner:hover{background-color:var(--ti-mobile-checkbox-disabled-bg-color)}.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner::before,.tiny-mobile-checkbox.is-disabled.is-indeterminate .tiny-mobile-checkbox__inner:hover::before{background-color:var(--ti-mobile-checkbox-disabled-border-color)}.tiny-mobile-checkbox.is-disabled .tiny-mobile-checkbox__label{color:var(--ti-mobile-checkbox-disabled-text-color);cursor:not-allowed}.tiny-mobile-checkbox.icon-position-top .tiny-mobile-checkbox__input{vertical-align:top}.tiny-modal{--ti-modal-box-width:calc(var(--ti-common-space-10, 10px) * 40);--ti-modal-box-shadow:0 10px 40px 0 rgba(0, 0, 0, 0.1);--ti-modal-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-modal-box-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-modal-box-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-modal-border-color:transparent;--ti-modal-alert-icon-size:var(--ti-common-font-size-5, 24px);--ti-modal-header-font-size:var(--ti-common-font-size-3, 18px);--ti-modal-header-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-modal-header-font-weight:var(--ti-common-font-weight-bold, 700);--ti-modal-header-padding-top:var(--ti-common-space-8x, 32px);--ti-modal-header-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-header-padding-bottom:calc(var(--ti-common-space-base, 4px) * 7);--ti-modal-body-padding-top:var(--ti-common-space-0, 0px);--ti-modal-body-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-body-padding-bottom:var(--ti-common-space-0, 0px);--ti-modal-body-font-size:var(--ti-common-font-size-base, 12px);--ti-modal-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-modal-body-line-height:var(--ti-common-line-height-number, 1.5);--ti-modal-footer-padding-top:calc(var(--ti-common-space-base, 4px) * 7);--ti-modal-footer-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-footer-padding-bottom:var(--ti-common-space-8x, 32px);--ti-modal-footer-btn-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-modal-footer-btn-min-width:var(--ti-common-size-16x, 64px);--ti-modal-notification-header-padding-bottom:var(--ti-common-space-3x, 12px);--ti-modal-message-font-size:var(--ti-common-font-size-3, 18px);--ti-modal-message-box-shadow:var(--ti-modal-box-shadow);--ti-modal-message-padding-left:var(--ti-common-space-6x, 24px);--ti-modal-message-padding-right:var(--ti-common-space-6x, 24px);--ti-modal-message-padding-vertical:var(--ti-common-space-6x, 24px);--ti-modal-message-body-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-modal-message-status-icon-size:var(--ti-common-font-size-2, 16px);--ti-modal-message-status-icon-padding-right:var(--ti-common-space-2x, 8px);--ti-modal-message-close-icon-size:var(--ti-common-space-4x, 16px);--ti-modal-message-icon-box-height:var(--ti-common-size-4x, 16px);--ti-modal-message-close-icon-margin-left:var(--ti-common-space-3x, 12px);--ti-modal-primary-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-modal-success-icon-color:var(--ti-common-color-success, #50d4ab);--ti-modal-error-icon-color:var(--ti-common-color-error, #f66f6a);--ti-modal-warning-icon-color:var(--ti-common-color-warn, #fa9841);--ti-modal-loading-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-modal-status-icon-padding-right:var(--ti-common-space-2x, 8px);--ti-modal-close-btn-font-size:var(--ti-common-font-size-1, 14px);--ti-modal-close-btn-top:var(--ti-common-space-5x, 20px);--ti-modal-close-btn-padding-horizontal-vertical:var(--ti-common-space-0, 0px);--ti-modal-close-btn-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-modal-close-btn-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-modal-close-btn-background-color-hover:var(--ti-common-color-bg-white-normal, #fff);--ti-modal-close-btn-right:var(--ti-common-space-5x, 20px);--ti-modal-zoom-btn-right:var(--ti-common-space-10x, 40px);--ti-modal-header-border-bottom:none;--ti-modal-btn-close-color:var(--ti-modal-close-btn-icon-color)}.tiny-modal__wrapper{display:none;position:fixed;top:0;left:0;width:100%;height:100%;font-size:var(--ti-modal-font-size);color:var(--ti-modal-text-color);font-family:var(--ti-modal-font-family);-webkit-transition:top .4s;transition:top .4s}.tiny-modal__wrapper.active{display:block}.tiny-modal__wrapper.is__visible.is__mask:before{background-color:rgba(0,0,0,.3)}.tiny-modal__wrapper.is__visible.type__message .tiny-modal__box{-webkit-transform:translateY(0);transform:translateY(0)}.tiny-modal__wrapper.is__visible:not(.type__message) .tiny-modal__box{top:15vh}.tiny-modal__wrapper.is__visible:not(.type__message) .tiny-modal__box:not(.is__drag){-webkit-transition:top 0s ease-in,opacity .4s ease-in;transition:top 0s ease-in,opacity .4s ease-in}.tiny-modal__wrapper.is__visible .tiny-modal__box{opacity:1;visibility:visible}.tiny-modal__wrapper:not(.lock__view){pointer-events:none}.tiny-modal__wrapper.lock__scroll{overflow:hidden}.tiny-modal__wrapper:not(.lock__scroll){overflow:auto}.tiny-modal__wrapper .tiny-modal__text{font-size:var(--ti-modal-body-font-size);color:var(--ti-modal-body-text-color);line-height:var(--ti-modal-body-line-height)}.tiny-modal__wrapper.is__mask:before,.tiny-modal__wrapper.lock__view:before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.tiny-modal__wrapper.is__animat.is__mask:before{-webkit-transition:background-color,.2s,ease-in-out;transition:background-color,.2s,ease-in-out}.tiny-modal__wrapper.is__animat.type__message .tiny-modal__box:not(.is__drag){-webkit-transition:all,.2s,ease-out;transition:all,.2s,ease-out}.tiny-modal__wrapper.size__mini,.tiny-modal__wrapper.size__small{font-size:var(--ti-modal-font-size)}.tiny-modal__wrapper.size__mini .tiny-modal__box,.tiny-modal__wrapper.size__small .tiny-modal__box{padding:6px 0}.tiny-modal__wrapper.size__mini .tiny-modal__body,.tiny-modal__wrapper.size__small .tiny-modal__body{padding:4px 14px 10px 14px}.tiny-modal__wrapper.size__mini .tiny-modal__footer,.tiny-modal__wrapper.size__small .tiny-modal__footer{padding:4px 14px 8px 14px}.tiny-modal__wrapper.size__mini .tiny-modal__header,.tiny-modal__wrapper.size__small .tiny-modal__header{font-size:var(--ti-modal-header-font-size);padding:6px 30px 8px 14px}.tiny-modal__wrapper.size__mini .tiny-modal__close-btn,.tiny-modal__wrapper.size__mini .tiny-modal__zoom-btn,.tiny-modal__wrapper.size__small .tiny-modal__close-btn,.tiny-modal__wrapper.size__small .tiny-modal__zoom-btn{font-size:var(--ti-modal-message-status-icon-size);top:10px}.tiny-modal__wrapper.type__alert .tiny-modal__body,.tiny-modal__wrapper.type__confirm .tiny-modal__body,.tiny-modal__wrapper.type__message .tiny-modal__body{white-space:normal;word-break:break-word}.tiny-modal__wrapper.type__message{text-align:center}.tiny-modal__wrapper.type__message .tiny-modal__box{display:inline-block;padding:var(--ti-modal-message-padding-vertical) var(--ti-modal-message-padding-right) var(--ti-modal-message-padding-vertical) var(--ti-modal-message-padding-left);margin-top:0;width:auto;-webkit-box-shadow:var(--ti-modal-message-box-shadow);box-shadow:var(--ti-modal-message-box-shadow);-webkit-transform:translateY(-10%);transform:translateY(-10%);font-size:var(--ti-modal-message-font-size)}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__body{padding:var(--ti-modal-body-padding-top) var(--ti-modal-message-body-padding-horizontal) var(--ti-modal-body-padding-bottom)}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__body:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__body [class*=tiny-modal-svg]{width:var(--ti-modal-message-status-icon-size);height:var(--ti-modal-message-status-icon-size)}.tiny-modal__wrapper.type__message .tiny-modal__box .tiny-modal__content{max-width:800px}.tiny-modal__wrapper.type__message .tiny-modal__status-wrapper{font-size:var(--ti-modal-message-status-icon-size);padding-right:var(--ti-modal-message-status-icon-padding-right);height:var(--ti-modal-message-icon-box-height)}.tiny-modal__wrapper.type__message .tiny-modal__close-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--ti-modal-message-icon-box-height)}.tiny-modal__wrapper.type__message .tiny-modal__close-wrapper .tiny-modal__close-btn{position:relative;top:0;right:0;-ms-flex-negative:0;flex-shrink:0;font-size:var(--ti-modal-message-close-icon-size);margin-left:var(--ti-modal-message-close-icon-margin-left)}.tiny-modal__wrapper.type__alert .tiny-modal__box,.tiny-modal__wrapper.type__confirm .tiny-modal__box,.tiny-modal__wrapper.type__modal .tiny-modal__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;left:50%;top:0;-webkit-box-shadow:var(--ti-modal-box-shadow);box-shadow:var(--ti-modal-box-shadow);border:1px solid var(--ti-modal-border-color)}.tiny-modal__wrapper.type__alert .tiny-modal__box .tiny-modal__header,.tiny-modal__wrapper.type__confirm .tiny-modal__box .tiny-modal__header,.tiny-modal__wrapper.type__modal .tiny-modal__box .tiny-modal__header{cursor:move}.tiny-modal__wrapper.type__modal .tiny-modal__body{overflow:auto}.tiny-modal__wrapper.type__modal .tiny-modal__body .tiny-modal__content{overflow:auto}.tiny-modal__wrapper.type__alert .tiny-modal__status-wrapper,.tiny-modal__wrapper.type__confirm .tiny-modal__status-wrapper{font-size:var(--ti-modal-alert-icon-size);padding-right:var(--ti-modal-status-icon-padding-right)}.tiny-modal__wrapper.status__error .tiny-modal__header,.tiny-modal__wrapper.status__info .tiny-modal__header,.tiny-modal__wrapper.status__question .tiny-modal__header,.tiny-modal__wrapper.status__success .tiny-modal__header,.tiny-modal__wrapper.status__warning .tiny-modal__header{padding-bottom:var(--ti-modal-notification-header-padding-bottom)}.tiny-modal__wrapper.status__info .tiny-modal__status-wrapper{fill:var(--ti-modal-primary-icon-color)}.tiny-modal__wrapper.status__question .tiny-modal__status-wrapper .tiny-svg,.tiny-modal__wrapper.status__warning .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-warning-icon-color)}.tiny-modal__wrapper.status__success .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-success-icon-color)}.tiny-modal__wrapper.status__error .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-error-icon-color)}.tiny-modal__wrapper.status__loading .tiny-modal__status-wrapper .tiny-svg{fill:var(--ti-modal-loading-icon-color)}.tiny-modal__wrapper.is__maximize .tiny-modal__box .tiny-modal__header{cursor:default}.tiny-modal__wrapper.is__maximize .tiny-modal__resize .sb-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .selb-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .sest-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .st-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .swlb-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .swst-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .wl-resize,.tiny-modal__wrapper.is__maximize .tiny-modal__resize .wr-resize{display:none}.tiny-modal__box{width:var(--ti-modal-box-width);background-color:var(--ti-modal-box-background-color);border-radius:var(--ti-modal-box-border-radius);font-size:var(--ti-modal-header-font-size);-webkit-box-shadow:var(--ti-modal-box-shadow);box-shadow:var(--ti-modal-box-shadow);text-align:left;pointer-events:auto;visibility:hidden;opacity:0}.tiny-modal__box.is__drag{cursor:move}.tiny-modal__box.is__drag .tiny-modal__body:after,.tiny-modal__box.is__drag .tiny-modal__footer:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%}.tiny-modal__box.is__drag .tiny-modal__body{overflow:hidden}.tiny-modal__box.is__drag .tiny-modal__body .tiny-modal__content{overflow:hidden}.tiny-modal__status-wrapper{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-modal__status-icon{font-style:normal}.tiny-modal__content{width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.tiny-modal__body,.tiny-modal__footer,.tiny-modal__header{position:relative}.tiny-modal__body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:var(--ti-modal-body-padding-top) var(--ti-modal-body-padding-horizontal) var(--ti-modal-body-padding-bottom)}.tiny-modal__header{-ms-flex-negative:0;flex-shrink:0;color:var(--ti-modal-header-text-color);font-size:var(--ti-modal-header-font-size);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:var(--ti-modal-header-font-weight);border-bottom:var(--ti-modal-header-border-bottom);padding:var(--ti-modal-header-padding-top) var(--ti-modal-header-padding-horizontal) var(--ti-modal-header-padding-bottom);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-modal__close-btn,.tiny-modal__zoom-btn{color:var(--ti-modal-btn-close-color);font-size:var(--ti-modal-close-btn-font-size);position:absolute;right:var(--ti-modal-close-btn-right);top:var(--ti-modal-close-btn-top);z-index:1;fill:var(--ti-modal-close-btn-icon-color);-webkit-transform:scale(1,1);transform:scale(1,1);cursor:pointer;padding:var(--ti-modal-close-btn-padding-horizontal-vertical);border-radius:4px}.tiny-modal__close-btn:hover,.tiny-modal__zoom-btn:hover{fill:var(--ti-modal-close-btn-hover-icon-color);background-color:var(--ti-modal-close-btn-background-color-hover)}.tiny-modal__zoom-btn{right:var(--ti-modal-zoom-btn-right)}.tiny-modal__footer{-ms-flex-negative:0;flex-shrink:0;text-align:center;padding:var(--ti-modal-footer-padding-top) var(--ti-modal-footer-padding-horizontal) var(--ti-modal-footer-padding-bottom)}.tiny-modal__footer .tiny-button{min-width:var(--ti-modal-footer-btn-min-width);border-radius:var(--ti-modal-footer-btn-border-radius)}.tiny-modal__footer .tiny-button--default{display:inline-block}.tiny-modal__resize .sb-resize,.tiny-modal__resize .selb-resize,.tiny-modal__resize .sest-resize,.tiny-modal__resize .st-resize,.tiny-modal__resize .swlb-resize,.tiny-modal__resize .swst-resize,.tiny-modal__resize .wl-resize,.tiny-modal__resize .wr-resize{position:absolute;z-index:100}.tiny-modal__resize .wl-resize,.tiny-modal__resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.tiny-modal__resize .wl-resize{left:-3px}.tiny-modal__resize .wr-resize{right:-3px}.tiny-modal__resize .selb-resize,.tiny-modal__resize .sest-resize,.tiny-modal__resize .swlb-resize,.tiny-modal__resize .swst-resize{width:10px;height:10px;z-index:101}.tiny-modal__resize .sest-resize,.tiny-modal__resize .swst-resize{top:-8px}.tiny-modal__resize .selb-resize,.tiny-modal__resize .swlb-resize{bottom:-8px}.tiny-modal__resize .sest-resize,.tiny-modal__resize .swlb-resize{cursor:sw-resize}.tiny-modal__resize .selb-resize,.tiny-modal__resize .swst-resize{cursor:se-resize}.tiny-modal__resize .swlb-resize,.tiny-modal__resize .swst-resize{left:-8px}.tiny-modal__resize .selb-resize,.tiny-modal__resize .sest-resize{right:-8px}.tiny-modal__resize .sb-resize,.tiny-modal__resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.tiny-modal__resize .st-resize{top:-3px}.tiny-modal__resize .sb-resize{bottom:-3px}@-webkit-keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.tiny-mobile-modal{--ti-mobile-modal-text-font-size:14px;--ti-mobile-modal-header-font-size:16px;--ti-mobile-modal-text-color:var(--ti-mobile-common-color-text-primary, #191919);--ti-mobile-modal-alert-font-size:22px;--ti-mobile-modal-box-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-modal-box-shadow:0 8px 40px 0 rgba(0, 0, 0, 0.2);--ti-mobile-modal-close-btn-top:13px;--ti-mobile-modal-close-btn-scale:scale(1, 1);--ti-mobile-modal-close-btn-bg-color-hover:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-modal-btn-width:112px;--ti-mobile-modal-single-btn-width:144px;--ti-mobile-modal-btn-height:36px;--ti-mobile-modal-cancel-btn-bg-color:var(--ti-mobile-common-bg-color-dark-gray, #f5f5f5)}.tiny-mobile-modal__wrapper{display:none;position:fixed;top:0;left:0;width:100%;height:100%;font-size:var(--ti-mobile-modal-text-font-size);color:var(--ti-mobile-modal-text-color);-webkit-transition:top .4s;transition:top .4s}.tiny-mobile-modal__wrapper.active{display:block}.tiny-mobile-modal__wrapper.is__visible.is__mask:before{background-color:rgba(0,0,0,.3)}.tiny-mobile-modal__wrapper.is__visible.type__message .tiny-mobile-modal__box{-webkit-transform:translateY(0);transform:translateY(0)}.tiny-mobile-modal__wrapper.is__visible:not(.type__message) .tiny-mobile-modal__box:not(.is__drag){top:15vh;-webkit-transition:top 0s ease-in,opacity .4s ease-in;transition:top 0s ease-in,opacity .4s ease-in}.tiny-mobile-modal__wrapper.is__visible .tiny-mobile-modal__box{opacity:1;visibility:visible}.tiny-mobile-modal__wrapper:not(.lock__view){pointer-events:none}.tiny-mobile-modal__wrapper.lock__scroll{overflow:hidden}.tiny-mobile-modal__wrapper:not(.lock__scroll){overflow:auto}.tiny-mobile-modal__wrapper:not(.type__message) .tiny-mobile-modal__text{font-size:var(--ti-mobile-modal-text-font-size);color:var(--ti-mobile-common-color-text-secondary);line-height:1.5}.tiny-mobile-modal__wrapper.is__mask:before,.tiny-mobile-modal__wrapper.lock__view:before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:auto}.tiny-mobile-modal__wrapper.is__animat.is__mask:before{-webkit-transition:background-color,.2s,ease-in-out;transition:background-color,.2s,ease-in-out}.tiny-mobile-modal__wrapper.is__animat.type__message .tiny-mobile-modal__box:not(.is__drag){-webkit-transition:all,.2s,ease-out;transition:all,.2s,ease-out}.tiny-mobile-modal__wrapper.size__mini,.tiny-mobile-modal__wrapper.size__small{font-size:var(--ti-mobile-modal-text-font-size)}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__box,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__box{padding:6px 0}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__body{padding:4px 14px 10px 14px}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__footer,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__footer{padding:4px 14px 8px 14px}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__header,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__header{font-size:var(--ti-mobile-modal-header-font-size);padding:6px 30px 8px 14px}.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__close-btn,.tiny-mobile-modal__wrapper.size__mini .tiny-mobile-modal__zoom-btn,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__close-btn,.tiny-mobile-modal__wrapper.size__small .tiny-mobile-modal__zoom-btn{font-size:var(--ti-mobile-modal-header-font-size);top:10px}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__body,.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__body{white-space:normal;word-break:break-word}.tiny-mobile-modal__wrapper.type__message{text-align:center}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__box{display:inline-block;padding:24px;margin-top:0;width:auto;-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.1);box-shadow:0 0 8px 0 rgba(0,0,0,.1);-webkit-transform:translateY(-10%);transform:translateY(-10%)}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__box .tiny-mobile-modal__body:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__box .tiny-mobile-modal__content{max-width:800px;float:left}.tiny-mobile-modal__wrapper.type__message .tiny-mobile-modal__status-wrapper{font-size:var(--ti-mobile-modal-small-btn-font-size);padding-right:10px}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__box,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__box,.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;left:50%;top:0;-webkit-box-shadow:var(--ti-mobile-modal-box-shadow);box-shadow:var(--ti-mobile-modal-box-shadow);border:1px solid var(--ti-mobile-modal-border-color)}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__box .tiny-mobile-modal__header,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__box .tiny-mobile-modal__header,.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__box .tiny-mobile-modal__header{cursor:move}.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__body{overflow:auto}.tiny-mobile-modal__wrapper.type__modal .tiny-mobile-modal__body .tiny-mobile-modal__content{overflow:auto}.tiny-mobile-modal__wrapper.type__alert .tiny-mobile-modal__status-wrapper,.tiny-mobile-modal__wrapper.type__confirm .tiny-mobile-modal__status-wrapper{font-size:var(--ti-mobile-modal-alert-font-size);padding:0 10px 0 2px}.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__box .tiny-mobile-modal__header{cursor:default}.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .sb-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .st-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .swst-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .wl-resize,.tiny-mobile-modal__wrapper.is__maximize .tiny-mobile-modal__resize .wr-resize{display:none}.tiny-mobile-modal__box{width:90%;background-color:var(--ti-mobile-modal-box-bg-color);border-radius:16px;font-size:var(--ti-mobile-modal-header-font-size);-webkit-box-shadow:var(--ti-mobile-modal-box-shadow);box-shadow:var(--ti-mobile-modal-box-shadow);text-align:left;pointer-events:auto;visibility:hidden;opacity:0;padding-top:12px}.tiny-mobile-modal__box.is__drag{cursor:move}.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__body:after,.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__footer:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%}.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__body{overflow:hidden}.tiny-mobile-modal__box.is__drag .tiny-mobile-modal__body .tiny-mobile-modal__content{overflow:hidden}.tiny-mobile-modal__status-wrapper{-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-modal__status-icon{font-style:normal}.tiny-mobile-modal__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.tiny-mobile-modal__body,.tiny-mobile-modal__footer,.tiny-mobile-modal__header{position:relative}.tiny-mobile-modal__body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:20px 44px 28px 44px}.tiny-mobile-modal__header{-ms-flex-negative:0;flex-shrink:0;color:var(--ti-mobile-modal-text-color);font-size:var(--ti-mobile-modal-header-font-size);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:500;border-bottom:none;padding:20px 44px 0 44px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-mobile-modal__close-btn,.tiny-mobile-modal__zoom-btn{font-size:var(--ti-mobile-modal-header-font-size);position:absolute;right:24px;top:var(--ti-mobile-modal-close-btn-top);z-index:1;fill:var(--ti-mobile-modal-text-color);-webkit-transform:var(--ti-mobile-modal-close-btn-scale);transform:var(--ti-mobile-modal-close-btn-scale);cursor:pointer;padding:0;border-radius:4px}.tiny-mobile-modal__close-btn:hover,.tiny-mobile-modal__zoom-btn:hover{fill:var(--ti-mobile-modal-text-color);background-color:var(--ti-mobile-modal-close-btn-bg-color-hover)}.tiny-mobile-modal__zoom-btn{right:44px;border-color:#c0c4cc}.tiny-mobile-modal__zoom-btn:hover{border-color:#606266}.tiny-mobile-modal__footer{-ms-flex-negative:0;flex-shrink:0;text-align:center;padding-bottom:32px}.tiny-mobile-modal__footer .tiny-mobile-button{border-radius:18px;width:var(--ti-mobile-modal-btn-width);height:var(--ti-mobile-modal-btn-height);line-height:var(--ti-mobile-modal-btn-height)}.tiny-mobile-modal__footer .tiny-mobile-button__single{width:var(--ti-mobile-modal-single-btn-width)}.tiny-mobile-modal__footer .tiny-mobile-button--default{display:inline-block;margin-right:16px;background-color:var(--ti-mobile-modal-cancel-btn-bg-color,#f5f5f5);border:none;color:var(--ti-mobile-modal-text-color)}.tiny-mobile-modal__resize .sb-resize,.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .st-resize,.tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__resize .swst-resize,.tiny-mobile-modal__resize .wl-resize,.tiny-mobile-modal__resize .wr-resize{position:absolute;z-index:100}.tiny-mobile-modal__resize .wl-resize,.tiny-mobile-modal__resize .wr-resize{width:8px;height:100%;top:0;cursor:w-resize}.tiny-mobile-modal__resize .wl-resize{left:-8px/2 + 1}.tiny-mobile-modal__resize .wr-resize{right:-8px/2 + 1}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__resize .swst-resize{width:10px;height:10px;z-index:101}.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .swst-resize{top:-8px}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .swlb-resize{bottom:-8px}.tiny-mobile-modal__resize .sest-resize,.tiny-mobile-modal__resize .swlb-resize{cursor:sw-resize}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .swst-resize{cursor:se-resize}.tiny-mobile-modal__resize .swlb-resize,.tiny-mobile-modal__resize .swst-resize{left:-8px}.tiny-mobile-modal__resize .selb-resize,.tiny-mobile-modal__resize .sest-resize{right:-8px}.tiny-mobile-modal__resize .sb-resize,.tiny-mobile-modal__resize .st-resize{width:100%;height:8px;left:0;cursor:s-resize}.tiny-mobile-modal__resize .st-resize{top:-8px/2 + 1}.tiny-mobile-modal__resize .sb-resize{bottom:-8px/2 + 1}@-webkit-keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes modal-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes modal-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.tiny-checkbox-button{--ti-checkbox-width:var(--ti-common-size-4x, 16px);--ti-checkbox-height:var(--ti-common-size-4x, 16px);--ti-checkbox-text-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-checkbox-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-bg-color:var(--ti-common-color-transparent, transparent);--ti-checkbox-bg-color-checked:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-border-color-checked:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-checkbox-bg-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-font-normal-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-font-medium-line-height:var(--ti-common-line-height-3, 18px);--ti-checkbox-font-small-line-height:var(--ti-common-line-height-2, 16px);--ti-checkbox-font-mini-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-icon-height:var(--ti-common-size-2x, 8px);--ti-checkbox-icon-width:var(--ti-common-size-base, 4px);--ti-checkbox-icon-margin-left:var(--ti-common-space-base, 4px);--ti-checkbox-icon-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-bg-color-disable:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-icon-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-border-color-unchecked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-label-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-bg-color-checked-disabled:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-border-color-checked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-checkline-width:var(--ti-common-border-weight-1, 2px);--ti-checkbox-label-margin-right:var(--ti-common-space-5x, 20px);--ti-checkbox-button-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-checkbox-shadow-color:#dfe1e6;--ti-checkbox-button-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-hover-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-button-checked-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-button-bg-color-hover:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-button-border-color:#e9edfa;--ti-checkbox-button-border-color-hover:#c2c2c2;--ti-checkbox-button-border-radius:0px;--ti-checkbox-disabled-border-color:#dbdbdb;--ti-checkbox-button-padding-vertical:5px;--ti-checkbox-button-height:24px;--ti-checkbox-button-margin-horizontal:2px;--ti-checkbox-button-mini-margin-horizontal:2px;--ti-checkbox-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-size-mini-border-radius:0px;--ti-checkbox-button-size-small-padding-horizontal:15px;--ti-checkbox-button-size-small-height:30px;--ti-checkbox-button-checked-display:none;--ti-checkbox-button-margin-top:8px;--ti-checkbox-button-mini-padding-horizontal:12px;--ti-checkbox-button-mini-left-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-mini-right-border-radius:0px;--ti-checkbox-button-mini-last-left-border-radius:0px;--ti-checkbox-button-mini-last-right-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-right-border-radius:0px;--ti-checkbox-button-left-border-radius:0px;position:relative;display:inline-block;margin-top:var(--ti-checkbox-button-margin-top)}.tiny-checkbox-button:first-child .tiny-checkbox-button__inner{border-radius:var(--ti-common-border-radius-normal) var(--ti-checkbox-button-right-border-radius) var(--ti-checkbox-button-right-border-radius) var(--ti-common-border-radius-normal)}.tiny-checkbox-button:last-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-button-left-border-radius) var(--ti-common-border-radius-normal) var(--ti-common-border-radius-normal) var(--ti-checkbox-button-left-border-radius)}.tiny-checkbox-button.is-checked::after{content:'';position:absolute;width:0;height:0;right:4px;top:0;border-bottom:20px solid transparent;border-right:20px solid var(--ti-checkbox-button-checked-border-color);border-top-right-radius:6px;display:var(--ti-checkbox-button-checked-display)}.tiny-checkbox-button.is-checked::before{display:var(--ti-checkbox-button-checked-display);right:7px;top:1px;-webkit-box-sizing:content-box;box-sizing:content-box;content:'';border:.5px solid #fff;border-width:0 var(--ti-checkbox-checkline-width) var(--ti-checkbox-checkline-width) 0;border-left:0;border-top:0;height:8px;width:4px;position:absolute;margin-left:var(--ti-checkbox-icon-margin-left);margin-top:var(--ti-checkbox-icon-margin-top);transition:transform .15s ease-in 50ms,-webkit-transform .15s ease-in 50ms;-webkit-transform-origin:center;transform-origin:center;z-index:3;-webkit-transform:rotate(45deg) scale(.7);transform:rotate(45deg) scale(.7)}.tiny-checkbox-button.is-checked .tiny-checkbox-button__inner{color:var(--ti-checkbox-button-checked-text-color);border-color:var(--ti-checkbox-button-checked-border-color);-webkit-box-shadow:-1px 0 0 0 var(--ti-checkbox-shadow-color);box-shadow:-1px 0 0 0 var(--ti-checkbox-shadow-color);background-color:var(--ti-checkbox-button-checked-bg-color)}.tiny-checkbox-button.is-checked:first-child .tiny-checkbox-button__inner{border-left-color:var(--ti-checkbox-button-checked-border-color);-webkit-box-shadow:none;box-shadow:none}.tiny-checkbox-button.is-disabled .tiny-checkbox-button__inner{color:var(--ti-checkbox-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--ti-checkbox-button-disabled-bg-color);border-color:var(--ti-checkbox-disabled-border-color);-webkit-box-shadow:none;box-shadow:none}.tiny-checkbox-button.is-disabled:first-child .tiny-checkbox-button__inner{border-left-color:var(--ti-checkbox-border-color)}.tiny-checkbox-button.is-disabled.is-checked::after{border-right:20px solid var(--ti-checkbox-disabled-border-color)}.tiny-checkbox-button.is-disabled.is-checked .tiny-checkbox-button__inner{color:var(--ti-checkbox-button-disabled-text-color);border-color:var(--ti-checkbox-disabled-border-color);background-color:var(--ti-checkbox-button-disabled-bg-color)}.tiny-checkbox-button__inner{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;outline:0;line-height:1;font-weight:500;cursor:pointer;background:var(--ti-checkbox-button-bg-color);border-left:0;border:1px solid var(--ti-checkbox-button-border-color);color:var(--ti-checkbox-button-text-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 var(--ti-checkbox-button-margin-horizontal);-webkit-transition:border-color .3s cubic-bezier(.645,.045,.355,1),background-color .3s cubic-bezier(.645,.045,.355,1);transition:border-color .3s cubic-bezier(.645,.045,.355,1),background-color .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:var(--ti-checkbox-button-font-size);border-radius:var(--ti-checkbox-button-border-radius);-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-checkbox-button__inner.is-round{padding:12px 20px}.tiny-checkbox-button__inner:hover{background:var(--ti-checkbox-button-bg-color-hover);color:var(--ti-checkbox-button-hover-text-color);border:1px solid var(--ti-checkbox-button-border-color-hover)}.tiny-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.tiny-checkbox-button--medium .tiny-checkbox-button__inner{padding:14px 20px;font-size:var(--ti-common-font-size-1);border-radius:var(--ti-checkbox-button-border-radius)}.tiny-checkbox-button--medium .tiny-checkbox-button__inner.is-round{padding:14px 20px}.tiny-checkbox-button--small .tiny-checkbox-button__inner{height:var(--ti-checkbox-button-size-small-height);line-height:calc(var(--ti-checkbox-button-size-small-height) - 2px);padding:0 var(--ti-checkbox-button-size-small-padding-horizontal);font-size:var(--ti-common-font-size-base);border-radius:var(--ti-checkbox-button-border-radius)}.tiny-checkbox-button--small .tiny-checkbox-button__inner.is-round{padding:8px 15px}.tiny-checkbox-button--mini .tiny-checkbox-button__inner{padding:var(--ti-checkbox-button-padding-vertical) var(--ti-checkbox-button-mini-padding-horizontal);height:var(--ti-checkbox-button-height);margin:0 var(--ti-checkbox-button-mini-margin-horizontal);font-size:var(--ti-checkbox-button-size-mini-font-size);border-radius:var(--ti-checkbox-button-size-mini-border-radius)}.tiny-checkbox-button--mini .tiny-checkbox-button__inner.is-round{padding:5px 15px}.tiny-checkbox-button.tiny-checkbox-button--mini:first-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-button-mini-left-border-radius) var(--ti-checkbox-button-mini-right-border-radius) var(--ti-checkbox-button-mini-right-border-radius) var(--ti-checkbox-button-mini-left-border-radius)}.tiny-checkbox-button.tiny-checkbox-button--mini:last-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-button-mini-last-left-border-radius) var(--ti-checkbox-button-mini-right-border-radius) var(--ti-checkbox-button-mini-last-right-border-radius) var(--ti-checkbox-button-mini-last-left-border-radius)}.tiny-checkbox-button--mini.is-checked::after{border-bottom:16px solid transparent;border-right:16px solid var(--ti-checkbox-button-checked-border-color);border-top-right-radius:4px;right:3px}.tiny-checkbox-button--mini.is-checked::before{height:8px;width:4px;right:3px;top:1px}.tiny-checkbox-button input:focus-visible+.tiny-checkbox-button__inner{outline:2px solid var(--ti-checkbox-button-checked-bg-color);outline-offset:1px}.tiny-checkbox-group{--ti-checkbox-width:var(--ti-common-size-4x, 16px);--ti-checkbox-height:var(--ti-common-size-4x, 16px);--ti-checkbox-text-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-checkbox-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-bg-color:var(--ti-common-color-transparent, transparent);--ti-checkbox-bg-color-checked:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-border-color-checked:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-checkbox-bg-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover-checked:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-font-normal-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-font-medium-line-height:var(--ti-common-line-height-3, 18px);--ti-checkbox-font-small-line-height:var(--ti-common-line-height-2, 16px);--ti-checkbox-font-mini-line-height:var(--ti-common-line-height-base, 12px);--ti-checkbox-icon-height:var(--ti-common-size-2x, 8px);--ti-checkbox-icon-width:var(--ti-common-size-base, 4px);--ti-checkbox-icon-margin-left:var(--ti-common-space-base, 4px);--ti-checkbox-icon-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-bg-color-disable:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-icon-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-border-color-unchecked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-label-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-bg-color-checked-disabled:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-border-color-checked-disabled:var(--ti-common-color-line-disabled, #dfe1e6);--ti-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-checkline-width:var(--ti-common-border-weight-1, 2px);--ti-checkbox-label-margin-right:var(--ti-common-space-5x, 20px);--ti-checkbox-button-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-checkbox-shadow-color:#dfe1e6;--ti-checkbox-button-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-hover-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-checkbox-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-checkbox-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-checkbox-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-checkbox-button-checked-text-color:var(--ti-common-color-text-white, #fff);--ti-checkbox-button-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-checkbox-button-bg-color-hover:var(--ti-common-color-bg-hover, #344899);--ti-checkbox-button-border-color:#e9edfa;--ti-checkbox-button-border-color-hover:#c2c2c2;--ti-checkbox-button-border-radius:0px;--ti-checkbox-disabled-border-color:#dbdbdb;--ti-checkbox-button-padding-vertical:5px;--ti-checkbox-button-height:24px;--ti-checkbox-button-margin-horizontal:2px;--ti-checkbox-button-mini-margin-horizontal:2px;--ti-checkbox-button-size-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-checkbox-button-size-mini-border-radius:0px;--ti-checkbox-button-size-small-padding-horizontal:15px;--ti-checkbox-button-size-small-height:30px;--ti-checkbox-button-checked-display:none;--ti-checkbox-button-margin-top:8px;--ti-checkbox-button-mini-padding-horizontal:12px;--ti-checkbox-button-mini-left-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-mini-right-border-radius:0px;--ti-checkbox-button-mini-last-left-border-radius:0px;--ti-checkbox-button-mini-last-right-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-checkbox-button-right-border-radius:0px;--ti-checkbox-button-left-border-radius:0px;--ti-checkbox-group-margin-bottom:var(--ti-common-space-2x, 8px);--ti-checkbox-group-flex-wrap:wrap;--ti-checkbox-group-margin-top:var(--ti-common-space-0, 0px);--ti-checkbox-group-1st-child-border-radius:var(--ti-common-space-0, 0px);--ti-checkbox-group-last-child-border-radius:var(--ti-common-space-0, 0px);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:var(--ti-checkbox-group-flex-wrap);flex-wrap:var(--ti-checkbox-group-flex-wrap);width:100%;margin-top:var(--ti-checkbox-group-margin-top)}.tiny-checkbox-group.is-vertical{display:inline-block}.tiny-checkbox-group.is-vertical .tiny-checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:0}.tiny-checkbox-group.is-vertical .tiny-checkbox:not(:last-child){margin-bottom:var(--ti-checkbox-group-margin-bottom)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button{display:block;width:-webkit-min-content;width:-moz-min-content;width:min-content}.tiny-checkbox-group.is-vertical .tiny-checkbox-button:first-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-group-1st-child-border-radius)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button:last-child .tiny-checkbox-button__inner{border-radius:var(--ti-checkbox-group-last-child-border-radius)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button.is-checked .tiny-checkbox-button__inner{-webkit-box-shadow:0 -1px 0 0 var(--ti-checkbox-shadow-color);box-shadow:0 -1px 0 0 var(--ti-checkbox-shadow-color);border-color:var(--ti-checkbox-button-checked-border-color)}.tiny-checkbox-group.is-vertical .tiny-checkbox-button.is-checked.is-disabled .tiny-checkbox-button__inner{-webkit-box-shadow:0 -1px 0 0 var(--ti-checkbox-border-color);box-shadow:0 -1px 0 0 var(--ti-checkbox-border-color);border-color:var(--ti-checkbox-border-color);background:var(--ti-checkbox-disabled-bg-color)}.tiny-mobile-checkbox-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.tiny-mobile-checkbox-group.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-mobile-checkbox-group.is-vertical .tiny-mobile-checkbox:last-of-type{margin-right:30px}.tiny-popconfirm{--ti-popconfirm-popover-line-height:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-footer-justify-content:flex-end;--ti-popconfirm-popover-footer-font-size:var(--ti-common-font-size-base, 12px);--ti-popconfirm-popover-footer-font-color:#161e26;--ti-popconfirm-popover-container-padding-vertical:var(--ti-common-space-base, 4px);--ti-popconfirm-popover-icon-width:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-icon-margin-right:var(--ti-common-space-2x, 8px);--ti-popconfirm-popover-footer-margin-top:var(--ti-common-space-4x, 16px);display:inline-block}.tiny-popconfirm__reference{display:inline-block}.tiny-popconfirm-popover{--ti-popconfirm-popover-line-height:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-footer-justify-content:flex-end;--ti-popconfirm-popover-footer-font-size:var(--ti-common-font-size-base, 12px);--ti-popconfirm-popover-footer-font-color:#161e26;--ti-popconfirm-popover-container-padding-vertical:var(--ti-common-space-base, 4px);--ti-popconfirm-popover-icon-width:var(--ti-common-size-6x, 24px);--ti-popconfirm-popover-icon-margin-right:var(--ti-common-space-2x, 8px);--ti-popconfirm-popover-footer-margin-top:var(--ti-common-space-4x, 16px);min-width:168px;max-width:90vw}.tiny-popconfirm-popover__container{padding:var(--ti-popconfirm-popover-container-padding-vertical) 0;font-size:var(--ti-popconfirm-popover-footer-font-size);color:var(--ti-popconfirm-popover-footer-font-color)}.tiny-popconfirm-popover__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:var(--ti-popconfirm-popover-line-height)}.tiny-popconfirm-popover__icon{height:var(--ti-popconfirm-popover-icon-width);width:var(--ti-popconfirm-popover-icon-width);margin-right:var(--ti-popconfirm-popover-icon-margin-right)}.tiny-popconfirm-popover__title{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.tiny-popconfirm-popover__content{color:#5c6976;line-height:var(--ti-popconfirm-popover-line-height)}.tiny-popconfirm-popover__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:var(--ti-popconfirm-popover-footer-justify-content);-ms-flex-pack:var(--ti-popconfirm-popover-footer-justify-content);justify-content:var(--ti-popconfirm-popover-footer-justify-content);margin-top:var(--ti-popconfirm-popover-footer-margin-top)}.tiny-popconfirm-popover__confirm-button{width:72px}.tiny-popconfirm-popover__cancel-button{width:72px}.tiny-popconfirm-popover--info{fill:#5cacff}.tiny-popconfirm-popover--error{fill:#eb171f}.tiny-popconfirm-popover--warning{fill:#fdc000}.tiny-popconfirm-popover--success{fill:#00a874}.tiny-switch{--ti-switch-on-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-switch-off-bg-color:var(--ti-common-color-bg-secondary, #adb0b8);--ti-switch-disabled-bg-color:var(--ti-common-color-bg-dark-disabled, #dfe1e6);--ti-switch-checked-disabled-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-switch-checked-disabled-border-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-switch-disabled-text-color:var(--ti-common-color-info-disabled, #bfbfbf);--ti-switch-disabled-dot-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-switch-dot-bg-color:var(--ti-common-color-light, #fff);--ti-switch-dot-size:var(--ti-common-size-4x, 16px);--ti-switch-dot-position-left:var(--ti-common-space-1, 1px);--ti-switch-dot-position-top:var(--ti-common-space-1, 1px);--ti-switch-dot-offset:calc(var(--ti-switch-dot-size) + var(--ti-switch-dot-position-left));--ti-switch-text-color:var(--ti-common-color-light, #fff);--ti-switch-width:calc(var(--ti-common-size-base, 4px) * 9.5);--ti-switch-height:var(--ti-common-size-5x, 20px);--ti-switch-border-radius:var(--ti-common-size-6x, 24px);--ti-switch-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-switch-inner-font-size:12px;--ti-switch-inner-position-left:var(--ti-common-space-4x, 16px);--ti-switch-text-width:calc(var(--ti-common-size-11x, 44px) + 1px);display:inline-block;width:var(--ti-switch-width);height:var(--ti-switch-height);line-height:calc(var(--ti-switch-height) - var(--ti-switch-border-weight) * 2);border-radius:var(--ti-switch-border-radius);vertical-align:middle;border:var(--ti-switch-border-weight) solid var(--ti-switch-off-bg-color);background-color:var(--ti-switch-off-bg-color);position:relative;cursor:pointer;outline:0;-webkit-transition:border .2s ease-in-out,background-color .2s ease-in-out;transition:border .2s ease-in-out,background-color .2s ease-in-out}.tiny-switch:focus-visible{outline:2px solid var(--ti-switch-on-bg-color);outline-offset:1px}.tiny-switch .tiny-switch-inner{color:var(--ti-switch-text-color);font-size:var(--ti-switch-inner-font-size);position:absolute}.tiny-switch__text{width:var(--ti-switch-text-width)}.tiny-switch__text .tiny-switch-inner{left:calc(var(--ti-switch-dot-size));width:calc(100% - var(--ti-switch-dot-size));text-align:center;overflow:hidden}.tiny-switch.mini{width:calc(var(--ti-switch-width) - 4px)}.tiny-switch.disabled,.tiny-switch.tiny-switch-checked.disabled{cursor:not-allowed;background:var(--ti-switch-disabled-bg-color);border-color:var(--ti-switch-disabled-bg-color)}.tiny-switch.disabled::after,.tiny-switch.tiny-switch-checked.disabled::after{background:var(--ti-switch-disabled-dot-bg-color);cursor:not-allowed}.tiny-switch.disabled .tiny-switch-inner,.tiny-switch.tiny-switch-checked.disabled .tiny-switch-inner{color:var(--ti-switch-disabled-text-color)}.tiny-switch.tiny-switch-checked.disabled{background:var(--ti-switch-checked-disabled-bg-color);border-color:var(--ti-switch-checked-disabled-border-color)}.tiny-switch::after{content:'';width:var(--ti-switch-dot-size);height:var(--ti-switch-dot-size);border-radius:50%;background-color:var(--ti-switch-dot-bg-color);position:absolute;left:var(--ti-switch-dot-position-left);top:var(--ti-switch-dot-position-top);cursor:pointer;-webkit-transition:left .2s ease-in-out,width .2s ease-in-out;transition:left .2s ease-in-out,width .2s ease-in-out}.tiny-switch.tiny-switch-checked{border-color:var(--ti-switch-on-bg-color);background-color:var(--ti-switch-on-bg-color)}.tiny-switch.tiny-switch-checked .tiny-switch-inner{left:2px;width:calc(100% - var(--ti-switch-dot-size));text-align:center;overflow:hidden}.tiny-switch.tiny-switch-checked:after{left:calc(100% - var(--ti-switch-dot-offset))}.tiny-mobile-switch{--ti-mobile-switch-width-normal:calc(var(--ti-mobile-base-size-width-small) + 4px);--ti-mobile-switch-height-mormal:var(--ti-mobile-base-size-height-mini, 24px);--ti-mobile-switch-width-mini:var(--ti-mobile-base-size-width-small, 36px);--ti-mobile-switch-height-mini:calc(var(--ti-mobile-base-size-height-mini) - 4px);--ti-mobile-switch-btn-size-normal:calc(var(--ti-mobile-base-size-width-min) - 6px);--ti-mobile-switch-btn-size-mini:calc(var(--ti-mobile-base-size-width-min) - 8px);--ti-mobile-switch-bg-color-default:var(--ti-mobile-color-bg-control-default, #c2c2c2);--ti-mobile-switch-bg-color-disabled:var(--ti-mobile-color-bg-control-disable-1, #dbdbdb);--ti-mobile-switch-bg-color-checked-disabled:var(--ti-mobile-color-bg-control-disable-2, #b3d6ff);--ti-mobile-switch-bg-color-checked:var(--ti-mobile-color-bg-control-active, #1476ff);width:var(--ti-mobile-switch-width-normal,40px);height:var(--ti-mobile-switch-height-mormal,24px);border-radius:999px;background-color:var(--ti-mobile-switch-bg-color-default,#c2c2c2);position:relative;cursor:pointer;display:inline-block;vertical-align:middle;outline:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.tiny-mobile-switch.mini{width:var(--ti-mobile-switch-width-small,36px);height:var(--ti-mobile-switch-height-small,20px)}.tiny-mobile-switch.disabled{background-color:var(--ti-mobile-switch-bg-color-disabled,#dbdbdb);cursor:not-allowed}.tiny-mobile-switch.disabled:after{cursor:not-allowed}.tiny-mobile-switch.disabled.tiny-mobile-switch-checked{background-color:var(--ti-mobile-switch-bg-color-checked-disabled,#b3d6ff)}.tiny-mobile-switch.disabled.tiny-mobile-switch-checked:after{border-color:rgba(0,0,0,.1)}.tiny-mobile-switch:after{content:'';width:var(--ti-mobile-switch-btn-size-normal,18px);height:var(--ti-mobile-switch-btn-size-normal,18px);border-radius:50%;background-color:var(--ti-mobile-switch-font-color,#fff);-webkit-box-shadow:0 3px 3px rgba(0,0,0,.1);box-shadow:0 3px 3px rgba(0,0,0,.1);position:absolute;left:3px;top:calc(calc(var(--ti-mobile-switch-height-mormal) - var(--ti-mobile-switch-btn-size-normal,18px))/ 2);cursor:pointer;-webkit-transition:left .2s ease-in-out,width .2s ease-in-out;transition:left .2s ease-in-out,width .2s ease-in-out;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-mobile-switch.mini:after{width:var(--ti-mobile-switch-btn-size-mini,16px);height:var(--ti-mobile-switch-btn-size-mini,16px);top:calc(calc(var(--ti-mobile-switch-height-mini,20px) - var(--ti-mobile-switch-btn-size-mini,16px))/ 2);left:2px}.tiny-mobile-switch.tiny-mobile-switch-checked{background-color:var(--ti-mobile-switch-bg-color-checked,#1476ff)}.tiny-mobile-switch.tiny-mobile-switch-checked:after{left:calc(calc(100% - var(--ti-mobile-switch-btn-size-normal,18px)) - 3px)}.tiny-mobile-switch.tiny-mobile-switch-checked.mini:after{left:calc(calc(100% - var(--ti-mobile-switch-btn-size-mini,16px)) - 2px)}.tiny-mobile-switch.mini.checked:after{left:calc(calc(100% - var(--ti-mobile-switch-btn-size-mini,16px)) - 2px)}.tiny-mobile-switch-loading{width:calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px);height:calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px);position:absolute;z-index:2;top:calc(50% - calc(calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px)/ 2));left:calc(calc(calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px)/ 2)) + 3px);border-radius:50%;background-image:conic-gradient(#dbdbdb01,#dbdbdb);-webkit-animation:circle 1.5s linear infinite;animation:circle 1.5s linear infinite;display:inline-block}.tiny-mobile-switch-loading-inner{width:calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2);height:calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2);border-radius:50%;background-color:#fff;position:absolute;top:2px;left:2px}.tiny-mobile-switch.mini .tiny-mobile-switch-loading{width:calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px);height:calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px);top:calc(50% - calc(calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px)/ 2));left:calc(calc(calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px)/ 2)) + 2px)}.tiny-mobile-switch.mini .tiny-mobile-switch-loading-inner{width:calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2);height:calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2)}.tiny-mobile-switch.tiny-mobile-switch-checked .tiny-mobile-switch-loading{left:calc(calc(calc(calc(calc(var(--ti-mobile-switch-btn-size-normal,18px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-normal,18px) - 6px)/ 2)) + 3px) + 50%) - 3px);background-image:conic-gradient(#b3d6ff01,#b3d6ff)}.tiny-mobile-switch.tiny-mobile-switch-checked.mini .tiny-mobile-switch-loading{left:calc(calc(calc(calc(calc(var(--ti-mobile-switch-btn-size-mini,16px)/ 2) - calc(calc(var(--ti-mobile-switch-btn-size-mini,16px) - 6px)/ 2)) + 2px) + 50%) - 2px)}@-webkit-keyframes circle{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circle{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.tiny-collapse{border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9}.tiny-radio{--ti-radio-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-radio-font-size:var(--ti-common-font-size-base, 12px);--ti-radio-bordered-height:var(--ti-common-size-10x, 40px);--ti-radio-bordered-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-radio-bordered-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-radio-input-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-radio-bordered-checked-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-bordered-checked-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-radio-bordered-hover-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-bordered-checked-hover-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-bordered-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-radio-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-radio-input-checked-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-radio-input-checked-disabled-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-radio-input-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-radio-inner-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-radio-inner-checked-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-radio-inner-size:var(--ti-common-size-2x, 8px);--ti-radio-inner-checked-disabled-bg-color:var(--ti-common-color-bg-secondary, #adb0b8);--ti-radio-medium-height:var(--ti-common-size-height-small, 32px);--ti-radio-medium-inner-height:calc(var(--ti-common-size-3x, 12px) + 2px);--ti-radio-medium-inner-width:calc(var(--ti-common-size-3x, 12px) + 2px);--ti-radio-small-height:var(--ti-common-size-8x, 32px);--ti-radio-small-inner-height:var(--ti-common-size-3x, 12px);--ti-radio-small-inner-width:var(--ti-common-size-3x, 12px);--ti-radio-mini-height:var(--ti-common-size-7x, 28px);--ti-radio-mini-inner-height:var(--ti-common-size-3x, 12px);--ti-radio-mini-inner-width:var(--ti-common-size-3x, 12px);--ti-radio-inner-border-radius:100%;--ti-radio-mini-bordered-padding-vertical:var(--ti-common-space-0, 0px);--ti-radio-mini-bordered-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-radio-bordered-padding-vertical:var(--ti-common-space-base, 4px);--ti-radio-bordered-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-radio-mini-bordered-margin-left:var(--ti-common-space-10, 10px);--ti-radio-inner-width:var(--ti-common-size-4x, 16px);--ti-radio-inner-height:var(--ti-common-size-4x, 16px);--ti-radio-margin-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-radio-inner-checked-hover-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-radio-button-margin-bottom:var(--ti-common-space-2x, 8px);color:var(--ti-radio-text-color);font-weight:500;margin-right:var(--ti-radio-margin-right);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;cursor:pointer;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-radio:last-child{margin-right:0}.tiny-radio.is-bordered{padding:var(--ti-radio-mini-bordered-padding-vertical) var(--ti-radio-mini-bordered-padding-horizontal);border-radius:var(--ti-radio-bordered-border-radius);border:1px solid var(--ti-radio-bordered-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--ti-radio-bordered-height)}.tiny-radio.is-bordered+.tiny-radio.is-bordered{margin-left:var(--ti-radio-mini-bordered-margin-left)}.tiny-radio.is-bordered.is-checked{border-color:var(--ti-radio-bordered-checked-border-color)}.tiny-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--ti-radio-bordered-border-color)}.tiny-radio,.tiny-radio__input{white-space:nowrap;line-height:1;outline:0}.tiny-radio__input{cursor:pointer;line-height:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-radio__input{display:inline-block}}@supports (-ms-ime-align:auto){.tiny-radio__input{display:inline-block}}.tiny-radio__input.is-checked .tiny-radio__inner{border-color:var(--ti-radio-bordered-checked-border-color);background:var(--ti-radio-bordered-checked-background-color)}.tiny-radio__input.is-checked .tiny-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background-color:var(--ti-radio-inner-checked-bg-color)}.tiny-radio__input.is-checked:hover .tiny-radio__inner::after{background-color:var(--ti-radio-inner-checked-hover-bg-color)}.tiny-radio__input.is-checked:not(.is-disabled) .tiny-radio__inner:hover{border-color:var(--ti-radio-bordered-checked-hover-border-color)}.tiny-radio__input.is-disabled .tiny-radio__inner{border-color:var(--ti-radio-input-disabled-border-color)}.tiny-radio__input.is-disabled .tiny-radio__inner,.tiny-radio__input.is-disabled .tiny-radio__inner::after{cursor:not-allowed;background-color:var(--ti-radio-input-disabled-bg-color)}.tiny-radio__input.is-disabled .tiny-radio__inner+.tiny-radio__label{cursor:not-allowed}.tiny-radio__input.is-disabled.is-checked .tiny-radio__inner{background-color:var(--ti-radio-input-checked-disabled-bg-color);border-color:var(--ti-radio-input-checked-disabled-border-color)}.tiny-radio__input.is-disabled.is-checked .tiny-radio__inner::after{background-color:var(--ti-radio-inner-checked-disabled-bg-color)}.tiny-radio__input.is-disabled+span.tiny-radio__label{color:var(--ti-radio-input-disabled-text-color);cursor:not-allowed}.tiny-radio__inner{border:1px solid var(--ti-radio-bordered-border-color);border-radius:100%;width:var(--ti-radio-inner-width);height:var(--ti-radio-inner-height);background-color:var(--ti-radio-inner-bg-color);position:relative;display:inline-block;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0}.tiny-radio__inner:hover{border-color:var(--ti-radio-bordered-hover-border-color)}.tiny-radio__inner:active{border-color:var(--ti-radio-bordered-active-border-color)}.tiny-radio__inner::after{width:var(--ti-radio-inner-size);height:var(--ti-radio-inner-size);border-radius:var(--ti-radio-inner-border-radius);background-color:var(--ti-radio-inner-bg-color);content:'';position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.tiny-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;margin:0;width:0;height:0}.tiny-radio__label{font-size:var(--ti-radio-font-size);padding-left:8px;vertical-align:middle}.tiny-radio--medium.is-bordered{border-radius:var(--ti-radio-bordered-border-radius);height:var(--ti-radio-medium-height)}.tiny-radio--medium.is-bordered .tiny-radio__inner{height:var(--ti-radio-medium-inner-height);width:var(--ti-radio-medium-inner-width)}.tiny-radio--medium.is-bordered .tiny-radio__label{font-size:var(--ti-radio-font-size)}.tiny-radio--small.is-bordered{border-radius:var(--ti-radio-bordered-border-radius);height:var(--ti-radio-small-height)}.tiny-radio--small.is-bordered .tiny-radio__inner{height:var(--ti-radio-small-inner-height);width:var(--ti-radio-small-inner-width)}.tiny-radio--small.is-bordered .tiny-radio__label{font-size:var(--ti-radio-font-size)}.tiny-radio--mini.is-bordered{padding:var(--ti-radio-mini-bordered-padding-vertical) var(--ti-radio-mini-bordered-padding-horizontal);border-radius:var(--ti-radio-bordered-border-radius,2px);height:var(--ti-radio-mini-height);line-height:calc(var(--ti-radio-mini-height) - 2px)}.tiny-radio--mini.is-bordered .tiny-radio__inner{height:var(--ti-radio-mini-inner-height);width:var(--ti-radio-mini-inner-width)}.tiny-radio--mini.is-bordered .tiny-radio__inner::after{width:4px;height:4px}.tiny-radio--mini.is-bordered .tiny-radio__label{font-size:var(--ti-radio-font-size)}.tiny-radio.is-checked.is-display-only{visibility:visible;line-height:1}.tiny-radio.is-checked.is-display-only .tiny-radio__input{padding:0;display:none}.tiny-radio.is-checked.is-display-only .tiny-radio__label{padding-left:0}.tiny-radio.is-display-only{visibility:hidden}.tiny-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .tiny-radio__inner{-webkit-box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color);box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color)}.tiny-mobile-radio{--ti-mobile-radio-size:24px;--ti-mobile-radio-size-outer:20px;--ti-mobile-radio-size-inner:10px;--ti-mobile-radio-checked-color:var(--ti-mobile-color-icon-link, #1476ff);--ti-mobile-radio-border-color-default:var(--ti-mobile-color-border-default, #c2c2c2);--ti-mobile-radio-color-disabled:var(--ti-mobile-color-border-disabled, #dbdbdb);--ti-mobile-radio-bg-color-disabled:var(--ti-mobile-color-bg-container-2, #fafafa);--ti-mobile-radio-label-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-radio-label-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-radio-label-padding-left:var(--ti-mobile-space-3x, 12px);margin-right:30px;outline:0;white-space:nowrap;cursor:pointer;user-select:none;-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none}.tiny-mobile-radio:last-child{margin-right:0}.tiny-mobile-radio,.tiny-mobile-radio__input,.tiny-mobile-radio__outer{position:relative;display:inline-block}.tiny-mobile-radio__input{width:var(--ti-mobile-radio-size,24px);height:var(--ti-mobile-radio-size,24px);line-height:var(--ti-mobile-radio-size,24px);outline:0;cursor:pointer;vertical-align:middle}.tiny-mobile-radio__outer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;left:2px;top:2px;background-color:#fff;width:var(--ti-mobile-radio-size-outer,20px);height:var(--ti-mobile-radio-size-outer,20px);border:1.5px solid var(--ti-mobile-radio-border-color-default);border-radius:50%}.tiny-mobile-radio__outer:after{border-color:var(--ti-mobile-radio-checked-color);opacity:0}.tiny-mobile-radio__inner{width:var(--ti-mobile-radio-size-inner,10px);height:var(--ti-mobile-radio-size-inner,10px);background-color:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:999px}.tiny-mobile-radio__inner:after{width:10px;height:10px;position:absolute;left:50%;top:45%;-webkit-transform-origin:center;transform-origin:center}.tiny-mobile-radio.is-checked .tiny-mobile-radio__outer:after,.tiny-mobile-radio:hover:not(.is-disabled) .tiny-mobile-radio__outer:after{opacity:1}.tiny-mobile-radio.is-bordered:not(.is-disabled):hover .tiny-mobile-radio__inner{border-color:var(--ti-mobile-radio-checked-color #1476ff)}.tiny-mobile-radio.is-checked .tiny-mobile-radio__inner{border-color:var(--ti-mobile-radio-checked-color);background-color:var(--ti-mobile-radio-checked-color)}.tiny-mobile-radio.is-checked .tiny-mobile-radio__outer{border-color:var(--ti-mobile-radio-checked-color)}.tiny-mobile-radio.is-disabled .tiny-mobile-radio__label,.tiny-mobile-radio.is-disabled .tiny-mobile-radio__outer{cursor:not-allowed}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__outer{border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__outer:after{border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__inner{background-color:var(--ti-mobile-radio-color-disabled);border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled.is-checked .tiny-mobile-radio__inner:after{border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled .tiny-mobile-radio__inner{background-color:var(--ti-mobile-radio-bg-color-disabled);border-color:var(--ti-mobile-radio-color-disabled)}.tiny-mobile-radio.is-disabled .tiny-mobile-radio__inner:after{border-color:var(--ti-mobile-radio-color-disabled);background-color:var(--ti-mobile-radio-bg-color-disabled)}.tiny-mobile-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.tiny-mobile-radio__label{font-size:var(--ti-mobile-radio-label-font-size);color:var(--ti-mobile-radio-label-text-color);padding-left:8px;vertical-align:middle}.tiny-tree{--ti-tree-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tree-selected-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tree-selected-font-weight:var(--ti-common-font-weight-4, normal);--ti-tree-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-tree-text-line-height:var(--ti-common-line-height-number, 1.5);--ti-tree-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tree-empty-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tree-empty-min-height:var(--ti-common-size-15x, 60px);--ti-tree-node-content-current-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-tree-node-content-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tree-node-hover-outter-bg-color:var(--ti-common-color-transparent, transparent);--ti-tree-node-hover-inner-bg-color:var(--ti-tree-node-content-hover-bg-color);--ti-tree-node-label-font-size:var(--ti-common-font-size-1, 14px);--ti-tree-node-label-margin-left:var(--ti-common-space-2x, 8px);--ti-tree-node-content-padding-right:var(--ti-common-space-4x, 16px);--ti-tree-node-label-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tree-node-label-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tree-node-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-tree-node-loading-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tree-node-expand-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-tree-node-collapse-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tree-node-operate-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-tree-node-operate-icon-margin-left:var(--ti-common-space-base, 4px);--ti-tree-node-operate-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-tree-node-checked-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-tree-node-padding-left:var(--ti-common-space-2x, 8px);--ti-tree-node-highlight-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-tree-node-content-height:calc(var(--ti-common-space-10, 10px) * 3);--ti-tree-node-content-border-radius:0;--ti-tree-node-menu-font-size:var(--ti-common-font-size-base, 12px);--ti-tree-node-menu-font-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tree-node-menu-font-family:Helvetica,Arial,'Microsoft YaHei',sans-serif;--ti-tree-node-menu-box-shadow:2px 2px 4px -2px #000000;--ti-tree-node-indent:var(--ti-common-space-4x, 16px);--ti-tree-node-guide-line-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tree-node-guide-line-width:var(--ti-common-space-2x, 8px);--ti-tree-node-showline-icon-size:var(--ti-common-font-size-2, 16px);--ti-tree-bottom-divider-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tree-bottom-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-tree-bottom-padding-vertical:calc(var(--ti-common-space-2x, 8px) - 1px);--ti-tree-bottom-text-margin-left:var(--ti-common-space-10, 10px);--ti-tree-small-node-content-height:calc(var(--ti-common-space-base, 4px) * 7);--ti-tree-small-node-font-size:var(--ti-common-line-height-base, 12px);--ti-tree-plain-node-height:calc(var(--ti-common-space-base, 4px) * 7);--ti-tree-plain-font-size:var(--ti-common-line-height-base, 12px);--ti-tree-plain-node-padding-left:var(--ti-common-space-3x, 12px);--ti-tree-plain-node-border-radius:var(--ti-common-border-radius-1, 4px);--ti-tree-plain-node-auxi-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-tree-plain-node-auxi-margin-left:var(--ti-common-space-6x, 24px);--ti-tree-plain-node-auxi-text-color:var(--ti-common-color-text-secondary, #575d6c);position:relative;cursor:default;background:var(--ti-tree-bg-color);color:var(--ti-tree-text-color);line-height:var(--ti-tree-text-line-height)}.tiny-tree .is-drop-inner{position:relative}.tiny-tree .is-drop-inner::before{pointer-events:none;border:2px solid var(--ti-tree-node-checked-icon-color);content:' ';position:absolute;top:0;bottom:0;left:0;right:0}.tiny-tree__empty-block{position:relative;min-height:var(--ti-tree-empty-min-height);text-align:center;width:100%;height:100%}.tiny-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:var(--ti-tree-empty-text-color)}.tiny-tree__drop-indicator{position:absolute;left:0;right:0;height:2px;background-color:var(--ti-tree-node-checked-icon-color)}.tiny-tree.is-dragging .tiny-tree-node__content{cursor:move}.tiny-tree.is-dragging .tiny-tree-node__content *{pointer-events:none}.tiny-tree.is-dragging.is-drop-not-allow .tiny-tree-node__content{cursor:not-allowed}.tiny-tree--highlight-current .tiny-tree-node.is-current>.tiny-tree-node__content{background-color:var(--ti-tree-node-highlight-bg-color)}.tiny-tree__strict-bottom{border-top:1px solid var(--ti-tree-bottom-divider-bg-color)}.tiny-tree__strict-bottom-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--ti-tree-bottom-padding-vertical) var(--ti-tree-bottom-padding-horizontal)}.tiny-tree__strict-bottom-content .tiny-switch.mini{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.tiny-tree__strict-bottom-content .tiny-tree__bottom-text{margin-left:var(--ti-tree-bottom-text-margin-left)}.tiny-tree--small .tiny-tree-node__content{height:var(--ti-tree-small-node-content-height)}.tiny-tree--small .tiny-tree-node__label{font-size:var(--ti-tree-small-node-font-size)}.tiny-tree .tiny-tree__plain-node{font-size:var(--ti-tree-plain-font-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:var(--ti-tree-plain-node-padding-left);border-radius:var(--ti-tree-plain-node-border-radius)}.tiny-tree .tiny-tree__plain-node:hover{background-color:var(--ti-tree-node-content-hover-bg-color)}.tiny-tree .tiny-tree__plain-node-auxi,.tiny-tree .tiny-tree__plain-node-title{height:var(--ti-tree-plain-node-height)}.tiny-tree .tiny-tree__plain-node-title>span+span{margin-left:8px}.tiny-tree .tiny-tree__plain-node-title-txt{margin-left:var(--ti-tree-node-label-margin-left)}.tiny-tree .tiny-tree__plain-node-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-tree-text-color);fill:var(--ti-tree-text-color)}.tiny-tree .tiny-tree__plain-node-title .tiny-radio{margin-right:0}.tiny-tree .tiny-tree__plain-node-title .tiny-radio .tiny-radio__label{display:none}.tiny-tree .tiny-tree__plain-node-auxi{margin-left:var(--ti-tree-plain-node-auxi-margin-left);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateY(-3px);transform:translateY(-3px);color:var(--ti-tree-plain-node-auxi-text-color)}.tiny-tree .tiny-tree__plain-node-auxi>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-tree .tiny-tree__plain-node-title-loc{font-size:var(--ti-tree-plain-node-auxi-icon-font-size);cursor:pointer;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.tiny-tree__del-popover{--ti-tree-popover-warn-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-tree-popover-warn-icon-bg-color:var(--ti-common-color-warn, #fa9841);--ti-tree-popover-warn-icon-margin-right:var(--ti-common-space-base, 4px);--ti-tree-popover-checkbox-margin-top:var(--ti-common-space-3x, 12px);--ti-tree-popover-footer-margin-top:var(--ti-common-space-3x, 12px)}.tiny-tree__del-popover .tiny-tree__del-body{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-tree__del-popover .tiny-tree__del-body .tiny-tree__del-icon{margin-right:var(--ti-tree-popover-warn-icon-margin-right)}.tiny-tree__del-popover .tiny-tree__del-body .tiny-tree__del-icon svg{font-size:var(--ti-tree-popover-warn-icon-font-size);fill:var(--ti-tree-popover-warn-icon-bg-color)}.tiny-tree__del-popover .tiny-tree__del-body .tiny-tree__del-checkbox{margin-top:var(--ti-tree-popover-checkbox-margin-top)}.tiny-tree__del-popover .tiny-tree__del-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-top:var(--ti-tree-popover-footer-margin-top)}.tiny-tree-node{white-space:nowrap;outline:0}.tiny-tree-node.show-line .tiny-tree-node__children{overflow:visible!important;-webkit-transition:.3s opacity ease-in-out;transition:.3s opacity ease-in-out}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__wrapper:not(:last-child)>.tiny-tree-node>.tiny-tree-node__children{position:relative}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__wrapper:not(:last-child)>.tiny-tree-node>.tiny-tree-node__children .tiny-tree-node__children-indent{height:100%;position:absolute;left:0}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__wrapper:not(:last-child)>.tiny-tree-node>.tiny-tree-node__children .tiny-tree-node__children-indent::before{content:'';position:absolute;top:calc(-1 * var(--ti-tree-node-content-height)/ 2);left:calc(var(--ti-tree-node-padding-left) + var(--ti-tree-node-showline-icon-size)/ 2);height:100%;border-left:1px solid var(--ti-tree-node-guide-line-border-color)}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__content .tiny-tree-node__content-indent{height:var(--ti-tree-node-content-height)}.tiny-tree-node.show-line .tiny-tree-node__children .tiny-tree-node__content .tiny-tree-node__content-indent::before{content:'';position:absolute;left:calc(var(--ti-tree-node-padding-left) + var(--ti-tree-node-showline-icon-size)/ 2);top:0;width:var(--ti-tree-node-guide-line-width);height:calc(var(--ti-tree-node-content-height)/ 2);border-left:1px solid var(--ti-tree-node-guide-line-border-color);border-bottom:1px solid var(--ti-tree-node-guide-line-border-color)}.tiny-tree-node.show-line .tiny-tree-node__children>.tiny-tree-node__wrapper:not(:first-of-type)>.tiny-tree-node>.tiny-tree-node__content>.tiny-tree-node__content-indent::before{height:var(--ti-tree-node-content-height);top:-50%}.tiny-tree-node.show-line .tiny-tree-node__expand-icon{font-size:var(--ti-tree-node-showline-icon-size);color:var(--ti-tree-node-expand-icon-color)}.tiny-tree-node.show-line .tiny-tree-node__expand-icon.expanded{-webkit-transform:rotate(0);transform:rotate(0);fill:var(--ti-tree-node-collapse-icon-color);color:var(--ti-tree-node-collapse-icon-color)}.tiny-tree-node.show-line.is-expanded .tiny-tree-node__children{opacity:1}.tiny-tree-node.show-line:not(is-expanded) .tiny-tree-node__children{opacity:0}.tiny-tree-node.is-current:not(.show-checkbox)>.tiny-tree-node__content .tiny-tree-node__content-box,.tiny-tree-node.is-current:not(.show-checkbox)>.tiny-tree-node__content .tiny-tree-node__content-right{background-color:var(--ti-tree-node-content-current-bg-color)}.tiny-tree-node.is-current:not(.show-checkbox)>.tiny-tree-node__content>.tiny-tree-node__content-left{color:var(--ti-tree-selected-text-color);font-weight:var(--ti-tree-selected-font-weight);background:0 0}.tiny-tree-node.is-drop-inner>.tiny-tree-node__content .tiny-tree-node__label{background-color:var(--ti-tree-node-label-bg-color);color:var(--ti-tree-node-label-text-color)}.tiny-tree-node.is-checked .tiny-tree-node__expand-icon,.tiny-tree-node.is-expanded .tiny-tree-node__expand-icon,.tiny-tree-node.is-indeterminate .tiny-tree-node__expand-icon{fill:var(--ti-tree-node-expand-icon-color)}.tiny-tree-node.is-disabled>.tiny-tree-node__content{cursor:not-allowed}.tiny-tree-node.is-disabled>.tiny-tree-node__content .tiny-tree-node__label{color:var(--ti-tree-disabled-text-color);font-weight:400}.tiny-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;height:var(--ti-tree-node-content-height);cursor:pointer;border-radius:var(--ti-tree-node-content-border-radius)}.tiny-tree-node__content:hover .tree-node-icon svg{fill:var(--ti-tree-node-checked-icon-color);color:var(--ti-tree-node-checked-icon-color)}.tiny-tree-node__content:hover .tiny-tree-node__content-box,.tiny-tree-node__content:hover .tiny-tree-node__content-right{background-color:var(--ti-tree-node-hover-inner-bg-color)}.tiny-tree-node__content:hover .tiny-tree-node__content-left{background-color:var(--ti-tree-node-hover-outter-bg-color)}.tiny-tree-node__content:hover .tiny-tree-node__content-right{background-color:var(--ti-tree-node-content-hover-bg-color)}.tiny-tree-node__content .tiny-radio,.tiny-tree-node__content label.tiny-checkbox{margin:0 calc(var(--ti-tree-node-label-margin-left)/ 2)}.tiny-tree-node__content .tiny-tree-node__content-box{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:calc(var(--ti-tree-node-label-margin-left)/ 2);padding-right:var(--ti-tree-node-content-padding-right)}.tiny-tree-node .tiny-tree-node__content-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;height:100%;overflow:hidden;padding-left:var(--ti-tree-node-padding-left)}.tiny-tree-node .tiny-tree-node__content-left input{height:calc(var(--ti-tree-node-content-height) - 2px);font-size:var(--ti-tree-node-label-font-size)}.tiny-tree-node .tiny-tree-node__content-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.tiny-tree-node .tiny-tree-node__content-right svg{fill:var(--ti-tree-node-operate-icon-color);font-size:var(--ti-tree-node-operate-icon-font-size);margin-right:var(--ti-tree-node-operate-icon-margin-left);outline:2px solid transparent;outline-offset:2px}.tiny-tree-node .tiny-tree-node__content-right svg:hover{fill:var(--ti-tree-node-checked-icon-color)}.tiny-tree-node .tree-node-icon{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:calc(var(--ti-tree-node-label-margin-left)/ 2)}.tiny-tree-node__expand-icon{cursor:pointer;fill:var(--ti-tree-node-expand-icon-color);font-size:var(--ti-tree-node-icon-font-size);-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out;-ms-flex-negative:0;flex-shrink:0}.tiny-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-tree-node__expand-icon.is-saas-theme{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tiny-tree-node__expand-icon.is-saas-theme.expanded{-webkit-transform:rotate(0);transform:rotate(0)}.tiny-tree-node__expand-icon.is-leaf{visibility:hidden}.tiny-tree-node__label{font-size:var(--ti-tree-node-label-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tiny-tree-node__loading.circular{margin-right:4px;margin-left:var(--ti-tree-node-label-margin-left);font-size:var(--ti-tree-node-icon-font-size)}.tiny-tree-node__loading.circular .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--ti-tree-node-loading-icon-color);stroke-linecap:round}.tiny-tree-node>.tiny-tree-node__children{overflow:hidden;background-color:transparent}.tiny-tree-node.is-expanded>.tiny-tree-node__children{display:block}.tiny-tree-node__menu{position:absolute;top:0;left:0;z-index:5000;font-size:var(--ti-tree-node-menu-font-size);-webkit-box-shadow:var(--ti-tree-node-menu-box-shadow);box-shadow:var(--ti-tree-node-menu-box-shadow);padding:0 1px;color:var(--ti-tree-node-menu-font-color);font-family:var(--ti-tree-node-menu-font-family);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-tree-node .tiny-checkbox .tiny-checkbox__label{padding-left:0}.tiny-tree-node .tiny-radio .tiny-radio__label{display:none}.tiny-tree-node .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.tiny-breadcrumb{--ti-breadcrumb-font-size:var(--ti-common-font-size-base, 12px);--ti-breadcrumb-text-line-height:var(--ti-common-line-height-3, 18px);--ti-breadcrumb-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-breadcrumb-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-breadcrumb-separator-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-breadcrumb-separator-width:calc(var(--ti-common-size-base, 4px) + 2px);--ti-breadcrumb-separator-margin-vertical:var(--ti-common-space-0, 0px);--ti-breadcrumb-separator-margin-horizontal:var(--ti-common-space-base, 4px);--ti-breadcrumb-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-breadcrumb-hover-text-decoration:none;--ti-breadcrumb-text-font-weight:var(--ti-common-font-weight-7, bold);--ti-breadcrumb-selected-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-breadcrumb-selected-hover-text-color:var(--ti-breadcrumb-selected-text-color);font-size:var(--ti-breadcrumb-font-size);line-height:var(--ti-breadcrumb-text-line-height);font-family:var(--ti-breadcrumb-font-family)}.tiny-breadcrumb:after,.tiny-breadcrumb:before{content:'';display:table}.tiny-breadcrumb:after{clear:both}.tiny-breadcrumb .tiny-breadcrumb__item{cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__inner{font-weight:var(--ti-breadcrumb-text-font-weight);color:var(--ti-breadcrumb-selected-text-color);text-decoration:none}.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__inner a{cursor:text;color:var(--ti-breadcrumb-selected-text-color);text-decoration:none}.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__separator,.tiny-breadcrumb .tiny-breadcrumb__item:last-child .tiny-breadcrumb__separator-cls{display:none}.tiny-breadcrumb .tiny-breadcrumb__item--medium{font-size:14px}.tiny-breadcrumb .tiny-breadcrumb__inner{vertical-align:middle}.tiny-breadcrumb .tiny-breadcrumb__inner,.tiny-breadcrumb .tiny-breadcrumb__inner a{color:var(--ti-breadcrumb-text-color)}.tiny-breadcrumb .tiny-breadcrumb__inner:hover{color:var(--ti-breadcrumb-hover-text-color);-webkit-text-decoration:var(--ti-breadcrumb-hover-text-decoration);text-decoration:var(--ti-breadcrumb-hover-text-decoration)}.tiny-breadcrumb .tiny-breadcrumb__inner:hover a:hover{cursor:pointer;color:var(--ti-breadcrumb-hover-text-color);-webkit-text-decoration:var(--ti-breadcrumb-hover-text-decoration);text-decoration:var(--ti-breadcrumb-hover-text-decoration)}.tiny-breadcrumb .tiny-breadcrumb__separator{font-family:var(--ti-breadcrumb-font-family);color:var(--ti-breadcrumb-separator-text-color);margin:var(--ti-breadcrumb-separator-margin-vertical) var(--ti-breadcrumb-separator-margin-horizontal);vertical-align:middle;text-align:center;width:var(--ti-breadcrumb-separator-width)}.tiny-breadcrumb .tiny-breadcrumb__separator-cls{font-size:var(--ti-breadcrumb-font-size);fill:var(--ti-breadcrumb-separator-text-color);margin:var(--ti-breadcrumb-separator-margin-vertical) var(--ti-breadcrumb-separator-margin-horizontal);vertical-align:middle}.tiny-breadcrumb .tiny-breadcrumb__item:last-child:hover{cursor:text;text-decoration:none}.tiny-breadcrumb .tiny-breadcrumb__item:last-child:hover .tiny-breadcrumb__inner{color:var(--ti-breadcrumb-selected-hover-text-color)}.tiny-breadcrumb .tiny-breadcrumb__item:last-child:hover a{cursor:text;color:var(--ti-breadcrumb-selected-hover-text-color);text-decoration:none}.tiny-mobile-container{--ti-mobile-container-common-padding:var(--ti-mobile-space-3x, 12px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.tiny-mobile-container__left{margin-right:var(--ti-mobile-container-common-padding)}.tiny-mobile-container__center{-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-mobile-container__right{margin-left:var(--ti-mobile-container-common-padding)}.tiny-container .tiny-container__aside,.tiny-container .tiny-container__footer,.tiny-container .tiny-container__header,.tiny-container .tiny-container__main{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:0;bottom:0;right:0;margin:0}.tiny-container .tiny-container__main{overflow-y:auto}.tiny-container .tiny-container__footer{top:auto;width:auto}.tiny-user-head{--ti-userhead-head-normal-size:var(--ti-common-size-18x, 72px);--ti-userhead-head-small-size:30px;--ti-userhead-head-icon-size-normal:var(--ti-common-size-10x, 40px);--ti-userhead-head-icon-small-size:14px;--ti-userhead-head-border-radius:var(--ti-common-border-radius-1, 4px);--ti-userhead-head-bg-color:#bbbbbb;display:inline-block;position:relative}.tiny-user-head__portrait{overflow:hidden;width:var(--ti-userhead-head-normal-size);height:var(--ti-userhead-head-normal-size);line-height:var(--ti-userhead-head-normal-size);text-align:center;border-radius:var(--ti-userhead-head-border-radius);background-position:center center;background-repeat:no-repeat;background-size:cover;background-color:var(--ti-userhead-head-bg-color,#bbb)}.tiny-user-head__portrait.round{border-radius:50%}.tiny-user-head__portrait.min{width:var(--ti-userhead-head-small-size);height:var(--ti-userhead-head-small-size);line-height:var(--ti-userhead-head-small-size)}.tiny-user-head__portrait.icon{font-size:var(--ti-userhead-head-icon-size-normal)}.tiny-user-head__portrait.icon.min{font-size:var(--ti-userhead-head-icon-small-size)}.tiny-user-head__portrait.icon svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-user-head__portrait.label>span{overflow:hidden;width:calc(100% - 6px);display:block;margin:0 3px}.tiny-user-head__message{position:absolute;top:-9px;left:63px;height:18px;line-height:16px;min-width:18px;width:auto;border-radius:9px;background:red;color:#fff;text-align:center;padding:0 2px;border:2px solid #fff;font-size:var(--ti-common-font-size-base);word-break:initial}.tiny-user-head__message.round{top:0;left:54px}.tiny-user-head__message.min{top:-9px;left:21px}.tiny-user-head__message.basic{top:-4px;left:68px;height:8px;width:8px;min-width:8px;line-height:0;border-radius:4px}.tiny-user-head__message.basic.round{top:10px;left:64px}.tiny-user-head__message.basic.min{top:-4px;left:26px}.tiny-user-head__message.basic.min.round{top:0}.tiny-mobile-user-head{--ti-mobile-userhead-head-icon-size-normal:20px;--ti-mobile-userhead-head-icon-size-small:16px;--ti-mobile-userhead-head-border-radius:15%;--ti-mobile-userhead-head-bg-color:var(--ti-mobile-common-bg-color-main, #4a79fe);display:inline-block;position:relative}.tiny-mobile-user-head__portrait{overflow:hidden;text-align:center;border-radius:var(--ti-mobile-userhead-head-border-radius);background-position:center center;background-repeat:no-repeat;background-size:cover;background-color:var(--ti-mobile-userhead-head-bg-color)}.tiny-mobile-user-head__portrait.round{border-radius:50%}.tiny-mobile-user-head__portrait.min{width:var(--ti-mobile-userhead-head-size-small);height:var(--ti-mobile-userhead-head-size-small);line-height:var(--ti-mobile-userhead-head-size-small)}.tiny-mobile-user-head__portrait.icon{font-size:var(--ti-mobile-userhead-head-icon-size-normal)}.tiny-mobile-user-head__portrait.icon.min{font-size:var(--ti-mobile-userhead-head-icon-size-small)}.tiny-mobile-user-head__portrait.icon svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-mobile-user-head__portrait.label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-mobile-user-head__portrait.label>span{overflow:hidden;width:calc(100% - 6px);display:block;margin:0 3px;font-size:20px}.tiny-mobile-user-head__message{position:absolute;top:-9px;height:18px;line-height:16px;min-width:18px;width:auto;border-radius:9px;background:red;color:#fff;text-align:center;padding:0 2px;border:2px solid #fff;font-size:12px;word-break:initial}.tiny-mobile-user-head__message.round{top:0;left:54px}.tiny-mobile-user-head__message.min{top:-9px;left:21px}.tiny-mobile-user-head__message.basic{top:-4px;left:68px;height:8px;width:8px;min-width:8px;line-height:0;border-radius:4px}.tiny-mobile-user-head__message.basic.round{top:10px;left:64px}.tiny-mobile-user-head__message.basic.min{top:-4px;left:26px}.tiny-mobile-user-head__message.basic.min.round{top:0}.tiny-tree-menu{--ti-tree-menu-width:calc(var(--ti-common-space-10, 10px) * 27);--ti-tree-menu-node-height:var(--ti-common-size-10x, 40px);--ti-tree-menu-font-size:var(--ti-common-font-size-base, 12px);--ti-tree-menu-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tree-menu-node-body-text-padding-horizontal:0;--ti-tree-menu-node-selected-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-tree-menu-node-current-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-tree-menu-square-left-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tree-menu-node-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tree-menu-node-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tree-menu-collapse-icon-fill-color:var(--ti-common-color-icon-normal, #575d6c);--ti-tree-menu-collapse-icon-hover-color:var(--ti-common-bg-color-focus, #0067d1);--ti-tree-menu-collapse-icon-margin-right:var(--ti-common-size-2x, 8px);--ti-tree-menu-node-number-font-size:var(--ti-common-font-size-base, 12px);--ti-tree-menu-node-vertical-line-margin-right:var(--ti-common-size-4x, 16px);--ti-tree-menu-prefix-icon-margin-right:var(--ti-common-size-2x, 8px);width:var(--ti-tree-menu-width);position:relative;font-size:var(--ti-tree-menu-font-size);-webkit-transition:width .5s;transition:width .5s}.tiny-tree-menu__toggle-button{position:absolute;cursor:pointer;right:0;top:50%;-webkit-transform:translateX(50%) translateY(-50%);transform:translateX(50%) translateY(-50%);z-index:9;width:24px;height:24px;border-radius:50%;font-size:18px;line-height:18px;background-color:#fff;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.06);box-shadow:0 2px 4px 0 rgba(0,0,0,.06);border:1px solid var(--ti-tree-menu-border-color)}.tiny-tree-menu__toggle-button .tiny-svg{margin-left:2px;fill:var(--ti-tree-menu-collapse-icon-fill-color)}.tiny-tree-menu__expand{height:64px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:10px;position:sticky;bottom:0;left:0;width:100%;background-color:#fff}.tiny-tree-menu__expand svg{width:22px;height:22px;cursor:pointer}.tiny-tree-menu__expand svg:hover{fill:var(--ti-tree-menu-collapse-icon-hover-color)}.tiny-tree-menu__expand svg:focus{fill:var(--ti-tree-menu-collapse-icon-hover-color)}.tiny-tree-menu.is-collapsed{width:0}.tiny-tree-menu.is-collapsed .tiny-tree-menu__toggle-button{-webkit-transform:translateX(70%) translateY(-50%);transform:translateX(70%) translateY(-50%)}.tiny-tree-menu.is-collapsed .tiny-tree-menu__toggle-button .tiny-svg{rotate:180deg}.tiny-tree-menu.is-collapsed .tiny-input{overflow:hidden}.tiny-tree-menu.is-collapsed .tiny-input .tiny-input-display-only{display:inline-block;width:0}.tiny-tree-menu.is-expand{width:40px}.tiny-tree-menu.is-expand .tiny-tree-menu__toggle-button{-webkit-transform:translateX(70%) translateY(-50%);transform:translateX(70%) translateY(-50%)}.tiny-tree-menu.is-expand .tiny-tree-menu__toggle-button .tiny-svg{rotate:180deg}.tiny-tree-menu.is-expand .tiny-input{overflow:hidden}.tiny-tree-menu.is-expand .tiny-input .tiny-input-display-only{display:inline-block;width:0}.tiny-tree-menu:before{content:'';border-right:1px solid var(--ti-tree-menu-border-color);position:absolute;top:0;right:0;height:100%;z-index:1}.tiny-tree-menu .tiny-input .tiny-input__inner{border:none;border-bottom:1px solid var(--ti-tree-menu-border-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content{height:var(--ti-tree-menu-node-height);line-height:var(--ti-tree-menu-node-height);overflow:hidden;padding-left:0}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-icon{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;margin-right:var(--ti-tree-menu-collapse-icon-margin-right)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-number{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;position:absolute;right:16px;max-width:36px;overflow:hidden;font-size:var(--ti-tree-menu-node-number-font-size)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node{width:100%}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-name{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 var(--ti-tree-menu-node-body-text-padding-horizontal)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-name svg{margin-right:var(--ti-tree-menu-prefix-icon-margin-right)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content-number .tree-node-name{padding-right:0}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content:hover{background-color:var(--ti-tree-menu-node-hover-bg-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content:hover .tiny-tree-node__content-box{background-color:transparent}.tiny-tree-menu .tiny-tree .tiny-tree-node .tiny-tree-node__content-left{position:relative;padding-left:var(--ti-tree-menu-node-vertical-line-margin-right)}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content{background-color:var(--ti-tree-menu-node-selected-bg-color);position:relative}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tree-node-body{color:var(--ti-tree-menu-node-current-text-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current>.tiny-tree-node__content .tiny-tree-node__content-left::before{content:'';position:absolute;left:4px;top:50%;display:inline-block;height:18px;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-left:2px solid var(--ti-tree-menu-square-left-border-color)}.tiny-tree-menu .tiny-tree .tiny-tree-node .tree-node-body{color:var(--ti-tree-menu-node-body-text-color);display:block}.tiny-tree-menu .tiny-tree .tiny-tree-node .tree-node-body,.tiny-tree-menu .tiny-tree .tiny-tree-node .tree-node-body:hover{text-decoration:none}.tiny-tree-menu .tiny-tree .tiny-tree-node.is-loading .tiny-tree-node__content .tree-node-name{padding-left:0}.tiny-tree-menu .tiny-tree-menu__overflow.tiny-tree .tiny-tree-node .tiny-tree-node__content-box{max-width:calc(100% - 26px);padding-right:0}.tiny-tree-menu .tiny-tree-menu__overflow.tiny-tree .tiny-tree-node .tiny-tree-node__content .tree-node-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-right:0}.tiny-tree-menu .tiny-tree-menu__overflow.tiny-tree .tiny-tree-node .tiny-tree-node__content-number .tree-node{width:calc(100% - 60px)}.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tiny-tree-node__content{min-height:var(--ti-tree-menu-node-height);height:auto}.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tree-node-body{min-height:var(--ti-tree-menu-node-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tiny-tree-node__label{display:-webkit-box;display:-ms-flexbox;display:flex}}.tiny-tree-menu .tiny-tree-menu__wrap.tiny-tree .tree-node-name{white-space:normal;line-height:normal;display:block;word-break:break-all}.container-breadcrumb[data-v-aa17f3ca] {
+  margin: 15px 10px;
+}
+.footer[data-v-6f6f43b7] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  color: var(--ti-default-font-color);
+  font-size: var(--ti-default-font-size);
+  font-family: var(--ti-default-font-family);
+  text-align: center;
+}
+.footer .divider[data-v-6f6f43b7] {
+  width: 2px;
+  height: 18px;
+  margin: 0 10px;
+  margin-top: 1px;
+  background: #7b7e84;
+  opacity: 0.3;
+}
+.footer .foot-link[data-v-6f6f43b7] {
+  color: #8a8e99;
+  text-decoration: none;
+}
+.footer a[data-v-6f6f43b7] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  color: #8a8e99;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: center;
+  text-decoration: none;
+}
+.footer a img[data-v-6f6f43b7] {
+  width: 18px;
+  height: 19px;
+}
+.navbar[data-v-a3b2c611] {
+  display: flex;
+  justify-content: space-between;
+  height: 100%;
+  background-color: #fff;
+  border-bottom: 1px solid var(--color-border);
+}
+#navbar-search[data-v-a3b2c611] {
+  width: 159px;
+  height: 30px;
+  padding: 14px;
+  background-color: #eff1f7;
+  background-position: 130px 8px;
+  border: none;
+  border-radius: 16px;
+  outline: none;
+}
+.input-icon[data-v-a3b2c611] {
+  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACUElEQVQ4T52T30vTURjGn/ess+9GkDky6mLeRHTTRT8uuvFCugm8CaIs7FoktylCNjepvYq5hTRwbaNFBJF0kWHRTXcx/wChKK+CIIKZpCUSOTfPeeNrTTYTLzp373vO+bznfZ7zkgiICAIAyWS+eY1sF0QueUgdEhES4KsimtFWpuLx8LJ7rn5RLRgeywW1pixEggC9VqD3AKwVc4KgOoRQgiDMsd5P/wAG0ml/U8WZAuAHmVGvUR+13ldexCICVb+vouiYCBJEqKKMK8yhnzXI5gs4le0E6HaVzFW99v0tM1fqqzCzV3kPnLSKpqyVsdF4+PE2QO4FIAulZt3/oKenur1PNy4UCnphuToJoiMcC53bDiiB0MfR0POdLtdyPJ65AOV5OD9XbJmenjZufrOFkTu5X2JtB8cixd0AiVSujYDi/FzRaQBwKvsZkBgPRZ7uBhhJ5i4LZJJj4cPAH+v/iph/AohFuaWbubNBwBpwU4MfG/cBauKh3ouNGoxnO6DUBKwdRGXpDTOXG1145oXzrR1EeVi5wfHQTANgYCDtbzropEE2CKsebRjzznjUiuPzCdZX90P0cZCnG7BnYM1ZHu7/0ABwg+G7uaCu4iastEKpOQi+EIkRUCvEngKwLJCjBJqFkgxHI6UtDbZs4nTA+n3nyUo7QQIgMhBatWJmfaCXZWXaPNiTELGvsO7NMvcsbc1Cfc/XJyb2OusqoLUWrHlW6r/ureQ9d9BGADWZGLpW2BGwm5Xu3mgq32VgT3M0PPhfABcSiWScTKav8hv4J/0Qtby2ZwAAAABJRU5ErkJggg==') no-repeat scroll right center transparent;
+}
+.divider[data-v-a3b2c611] {
+  width: 1px;
+  height: 18px;
+  margin: 0 2px;
+  margin-top: 1px;
+  background: #dfe1e6;
+}
+.left-side[data-v-a3b2c611] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 60px;
+  padding-left: 10px;
+  cursor: pointer;
+}
+.left-side .vue-icon[data-v-a3b2c611] {
+  width: 24px;
+  height: 24px;
+  margin-left: 30px;
+}
+.left-side h5[data-v-a3b2c611] {
+  margin: 0 30px 0 12px;
+  color: var(--ti-base-common-title-color);
+  font-weight: 700;
+  font-size: 22px;
+  line-height: 32px;
+  letter-spacing: 0.55px;
+}
+.left-side h4[data-v-a3b2c611] {
+  width: 135px;
+  height: 22px;
+  margin-left: 10px;
+  color: var(--ti-base-common-title-color);
+  font-weight: normal;
+  font-size: 16px;
+  line-height: 22px;
+  text-align: left;
+}
+.right-side[data-v-a3b2c611] {
+  display: flex;
+  padding-right: 20px;
+  list-style: none;
+}
+.right-side[data-v-a3b2c611] .locale-select {
+  border-radius: 20px;
+}
+.right-side li[data-v-a3b2c611] {
+  display: flex;
+  align-items: center;
+  padding: 0 15px;
+}
+.right-side li .item[data-v-a3b2c611] {
+  display: inline-block;
+  margin: 4px;
+}
+.right-side li span[data-v-a3b2c611] {
+  cursor: pointer;
+}
+.right-side li span[data-v-a3b2c611]:hover {
+  color: #2f5bea;
+}
+.right-side li .navbar-lan[data-v-a3b2c611] {
+  padding: 2px 0 0 2px;
+}
+.right-side .user-image[data-v-a3b2c611] {
+  display: flex;
+  flex-direction: column;
+  height: 100%;
+  font-weight: 600;
+  font-size: 2em;
+  font-style: oblique;
+  cursor: pointer;
+  fill: var(--ti-common-color-line-active);
+}
+.right-side a[data-v-a3b2c611] {
+  color: var(--color-text-1);
+  text-decoration: none;
+}
+.right-side .trigger-lan[data-v-a3b2c611] {
+  position: absolute;
+  bottom: -44px;
+  width: 100px;
+  margin-left: -35px;
+}
+.right-side .navbar-user:hover > .trigger-user[data-v-a3b2c611] {
+  display: inline-block;
+}
+.right-side .trigger-user[data-v-a3b2c611] {
+  position: absolute;
+  bottom: -102px;
+  display: none;
+  width: 100px;
+  margin-left: -43px;
+}
+.right-side .trigger-user[data-v-a3b2c611]:hover {
+  display: inline-block;
+}
+.right-side .trigger-user li[data-v-a3b2c611] {
+  display: flex;
+  justify-content: space-around;
+  padding: 6px;
+  font-size: 12px;
+  text-align: center;
+  list-style-type: none;
+  background-color: #fff;
+  box-shadow: 0 0 2px 2px var(--ti-common-color-bg-normal);
+  cursor: pointer;
+}
+.right-side .trigger-user li[data-v-a3b2c611]:hover {
+  color: #2f5bea;
+  background-color: #f5f6f7;
+}
+.right-side .trigger-lan li[data-v-a3b2c611] {
+  display: block;
+  padding: 6px;
+  font-size: 12px;
+  text-align: center;
+  list-style-type: none;
+  background-color: #fff;
+  box-shadow: 0 0 2px 2px var(--ti-common-color-bg-normal);
+  cursor: pointer;
+}
+.right-side .trigger-lan li[data-v-a3b2c611]:hover {
+  color: #2f5bea;
+  background-color: #f5f6f7;
+}
+@media (max-width: 360px) {
+.left-side img[data-v-a3b2c611] {
+    width: 38px;
+}
+.right-side[data-v-a3b2c611] {
+    display: none;
+}
+}
+@media (max-width: 768px) {
+.left-side img[data-v-a3b2c611] {
+    width: 38px;
+}
+.right-side[data-v-a3b2c611] {
+    display: none;
+}
+}
+.theme-content[data-v-7eb3044e] {
+  height: calc(100vh - 15px);
+  overflow-y: auto;
+}
+.theme-container[data-v-7eb3044e] {
+  display: flex;
+  flex-direction: column;
+  align-content: center;
+  justify-content: center;
+  height: 820px;
+  margin: 2px;
+}
+.theme-container .theme-recommend[data-v-7eb3044e] {
+  height: 60%;
+  padding-left: 40px;
+}
+.theme-container .theme-recommend .theme-tip[data-v-7eb3044e] {
+  position: relative;
+  top: -63%;
+  left: 90%;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 24px;
+  height: 24px;
+  background: #fff;
+  border-radius: 50%;
+}
+.theme-container .theme-recommend .theme-list-yes[data-v-7eb3044e] {
+  fill: #7ce7a9;
+}
+.theme-container .theme-recommend .theme-list-no[data-v-7eb3044e] {
+  fill: #ccc;
+}
+.theme-container .theme-recommend .theme-contain[data-v-7eb3044e] {
+  width: 69%;
+  cursor: pointer;
+}
+.theme-container .theme-person[data-v-7eb3044e] {
+  height: 40%;
+  padding-left: 40px;
+}
+.theme-container .theme-person span[data-v-7eb3044e] {
+  height: 20px;
+  color: #202e54;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.theme-container h1[data-v-7eb3044e] {
+  height: 22px;
+  color: #202e54;
+  font-weight: bolder;
+  font-size: 16px;
+  line-height: 22px;
+  text-align: left;
+}
+.theme-line[data-v-7eb3044e] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 12px 0;
+}
+.theme-line .theme-block[data-v-7eb3044e] {
+  display: flex;
+  justify-content: center;
+  width: 30px;
+  height: 30px;
+  margin: 0 auto;
+  border-radius: 50%;
+}
+.theme-line .theme-yes[data-v-7eb3044e] {
+  margin: auto 0;
+  fill: #fff;
+}
+.background[data-v-7eb3044e] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 56px;
+  height: 56px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+}
+.light[data-v-7eb3044e] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 56px;
+  height: 56px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: #fff;
+  cursor: pointer;
+}
+.black[data-v-7eb3044e] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 56px;
+  height: 56px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: #676868;
+  cursor: pointer;
+}
+.card[data-v-7eb3044e] {
+  width: 436px;
+  height: 64px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+}
+.card h4[data-v-7eb3044e] {
+  height: 20px;
+  padding-top: 10px;
+  padding-left: 20px;
+  color: #fff;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.card span[data-v-7eb3044e] {
+  position: relative;
+  bottom: 5px;
+  padding-left: 20px;
+  color: #fff;
+  font-size: 14px;
+  text-align: left;
+}
+.default[data-v-7eb3044e] {
+  width: 436px;
+  height: 64px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: linear-gradient(225deg, #97b3f2 1%, #5e7ce0);
+}
+.default h4[data-v-7eb3044e] {
+  height: 20px;
+  padding-top: 10px;
+  padding-left: 20px;
+  color: #fff;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.default span[data-v-7eb3044e] {
+  position: relative;
+  bottom: 5px;
+  padding-left: 20px;
+  color: #fff;
+  font-size: 14px;
+  text-align: left;
+}
+.peaches[data-v-7eb3044e] {
+  width: 436px;
+  height: 64px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: linear-gradient(229deg, #f79fd5, #ed66ab 94%);
+}
+.peaches h4[data-v-7eb3044e] {
+  height: 20px;
+  padding-top: 10px;
+  padding-left: 20px;
+  color: #fff;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.peaches span[data-v-7eb3044e] {
+  position: relative;
+  bottom: 5px;
+  padding-left: 20px;
+  color: #fff;
+  font-size: 14px;
+  text-align: left;
+}
+.violet[data-v-7eb3044e] {
+  width: 436px;
+  height: 64px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: linear-gradient(225deg, #b3a3f8, #7c6aee);
+}
+.violet h4[data-v-7eb3044e] {
+  height: 20px;
+  padding-top: 10px;
+  padding-left: 20px;
+  color: #fff;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.violet span[data-v-7eb3044e] {
+  position: relative;
+  bottom: 5px;
+  padding-left: 20px;
+  color: #fff;
+  font-size: 14px;
+  text-align: left;
+}
+.deepness[data-v-7eb3044e] {
+  width: 436px;
+  height: 64px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: linear-gradient(228deg, #4a566c, #242b3a 96%);
+}
+.deepness h4[data-v-7eb3044e] {
+  height: 20px;
+  padding-top: 10px;
+  padding-left: 20px;
+  color: #fff;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.deepness span[data-v-7eb3044e] {
+  position: relative;
+  bottom: 5px;
+  padding-left: 20px;
+  color: #fff;
+  font-size: 14px;
+  text-align: left;
+}
+.dark[data-v-7eb3044e] {
+  width: 436px;
+  height: 64px;
+  border-radius: 8px;
+  box-shadow: 2px 2px 15px 3px rgba(85, 105, 173, 0.06);
+  background: linear-gradient(228deg, #464747 5%, #000);
+}
+.dark h4[data-v-7eb3044e] {
+  height: 20px;
+  padding-top: 10px;
+  padding-left: 20px;
+  color: #fff;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.dark span[data-v-7eb3044e] {
+  position: relative;
+  bottom: 5px;
+  padding-left: 20px;
+  color: #fff;
+  font-size: 14px;
+  text-align: left;
+}
+.main-title[data-v-64e0b812] {
+  height: 20px;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  color: #000;
+}
+.title[data-v-64e0b812] {
+  height: 20px;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.menu-title[data-v-64e0b812] {
+  display: flex;
+  gap: 10px;
+  align-items: center;
+  height: 20px;
+}
+.menu-title > svg[data-v-64e0b812] {
+  width: 1.3em;
+  height: 1.3em;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content {
+  color: #000 !important;
+  background: none !important;
+  margin-left: 0 !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content:hover {
+  background: #fff !important;
+  color: #fff !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded >  .tiny-tree-node__children
+  > .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content
+   {
+  background-color: var(--ti-tree-menu-node-hover-bg-color) !important;
+  margin-left: 0 !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded >  .tiny-tree-node__children
+  > .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content
+  :hover {
+  background: var(--ti-tree-menu-node-hover-bg-color) !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+  .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tree-node-name {
+  border-left: 2px solid var(--ti-tree-menu-square-left-border-color, '#fff') !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+  .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-right {
+  background-color: var(--ti-tree-menu-node-hover-bg-color) !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+  .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left
+  .tiny-tree-node__content-box {
+  background-color: var(--ti-tree-menu-node-hover-bg-color) !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+  .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left
+  .tiny-tree-node__content-box:before {
+  display: none !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-expanded > .tiny-tree-node__children
+  .tiny-tree-node__wrapper .is-current .tiny-tree-node__content .tiny-tree-node__content-left:before {
+  display: none !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content {
+  background-color: #fff !important;
+}
+[data-v-64e0b812] .tiny-tree-node__wrapper > .is-current > .tiny-tree-node__content .tiny-tree-node__content-box {
+  background-color: #fff !important;
+}
+[data-v-64e0b812] .tiny-tree-node__content:hover {
+  background-color: var(--ti-tree-node-content-hover-bg-color) !important;
+}
+[data-v-64e0b812] .tiny-tree-menu__wrap > .tiny-tree-node__wrapper > .is-root > .tiny-tree-node__content
+  > .tiny-tree-node__content-left .tiny-tree-node__content-box .tree-node-name {
+  padding: 0 8px !important;
+}
+[data-v-64e0b812] .tiny-tree-node > .tiny-tree-node__content {
+  margin-left: 0 !important;
+}
+.tiny-tree-menu .tiny-tree .tiny-tree-node.is-current > .tiny-tree-node__content .tree-node-name .tiny-svg[data-v-64e0b812] {
+  fill: var(--ti-base-icon-color);
+}
+.layout[data-v-6254482e] {
+  width: 100%;
+  height: 100%;
+}
+.layout-navbar[data-v-6254482e] {
+  position: fixed;
+  left: 0;
+  z-index: 999;
+  width: 100%;
+  height: 60px;
+  background-color: #fff;
+  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.2);
+}
+.menu-wrapper[data-v-6254482e] {
+  width: inherit;
+  height: 92vh;
+  margin-top: var(--f449dce6);
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.global-setting[data-v-6254482e] {
+  position: fixed;
+  top: 280px;
+  right: 0;
+  z-index: 99;
+  width: 30px;
+  height: 30px;
+}
+.layout[data-v-6254482e] .tiny-container .tiny-container__aside {
+  z-index: 100;
+  background: #fff;
+  border-left: 1px solid #ccc;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
+}
+.layout[data-v-6254482e] .tiny-container .tiny-container__main {
+  color: #ccc;
+  background-color: #f5f6f7;
+}
+.layout[data-v-6254482e] .layout-content {
+  height: 100%;
+  padding: 0 10px;
+  overflow: hidden;
+}
+.layout[data-v-6254482e] .tiny-container .tiny-container__footer {
+  display: flex;
+  padding-top: 15px;
+  justify-content: center;
+  background-color: #f5f6f7;
+}
+[data-v-6254482e] .tiny-modal__box {
+  top: 8px !important;
+}
+[data-v-6254482e] .tiny-tree-node__children .tiny-tree-node__content .tree-node-name {
+  margin-left: 28px !important;
+  padding-left: 6px !important;
+}
+[data-v-6254482e] .tiny-tree-node__children > .tree-node-body {
+  padding-left: 50px;
+}
+.theme-box[data-v-6254482e] {
+  position: fixed;
+  top: 88%;
+  right: 30px;
+  z-index: 99;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 44px;
+  height: 44px;
+  background-color: #fff;
+  border-radius: 100%;
+  cursor: pointer;
+}
+.theme-box img[data-v-6254482e] {
+  display: block;
+  width: inherit;
+  height: inherit;
+}
+.global-set-contain[data-v-0390b860] {
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: 999;
+  display: flex;
+  justify-content: start;
+  width: 100vw;
+  height: 100vh;
+  overflow: auto;
+  background-color: #0000004d;
+}
+.global-set-contain .global-hide-from[data-v-0390b860] {
+  width: calc(100% - 290px);
+  height: 100%;
+  overflow: auto;
+  background-color: #0000004d;
+}
+.global-set-contain .global-set-from[data-v-0390b860] {
+  position: fixed;
+  right: 0;
+  display: flex;
+  flex-direction: column;
+  width: 290px;
+  height: 100%;
+  background-color: #fff;
+}
+.global-set-contain .global-set-from h3[data-v-0390b860] {
+  height: 25px;
+  color: #202e54;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+}
+.global-set-contain .global-set-from .global-set-head[data-v-0390b860] {
+  display: flex;
+  justify-content: space-between;
+  padding: 10px;
+}
+.global-set-contain .global-set-tip[data-v-0390b860] {
+  display: flex;
+  align-items: center;
+  box-sizing: border-box;
+  width: 90%;
+  margin: 15px;
+  padding: 8px;
+  overflow: hidden;
+  color: #e35349;
+  font-size: 14px;
+  line-height: 1.5715;
+  text-align: left;
+  text-indent: 2em;
+  word-break: break-all;
+  background-color: rgba(227, 83, 73, 0.06);
+}
+.global-set-contain .global-set-tip .image[data-v-0390b860] {
+  position: absolute;
+  top: 108px;
+  left: 27px;
+  width: 15px;
+}
+.global-set-contain .global-set-content[data-v-0390b860] {
+  flex: 1;
+  padding: 10px;
+  overflow-y: auto;
+}
+.global-set-contain .global-set-content div[data-v-0390b860] {
+  display: flex;
+  justify-content: space-between;
+  padding: 5px 0;
+}
+.global-set-contain .global-set-content span[data-v-0390b860] {
+  display: flex;
+  flex-direction: column;
+}
+.global-set-contain .global-set-content span div[data-v-0390b860]:first-child {
+  height: 20px;
+  padding-bottom: 18px;
+  color: #202e54;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.global-set-contain .global-set-content span div[data-v-0390b860]:nth-child(2) {
+  height: 20px;
+  color: #86909c;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.global-set-contain .global-set-foot[data-v-0390b860] {
+  justify-self: flex-end;
+}
+.global-set-contain .global-set-foot div[data-v-0390b860] {
+  display: flex;
+  justify-content: space-between;
+  padding: 30px;
+}
+.global-set-contain .global-set-foot div button[data-v-0390b860] {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+[data-v-84f2642f] .tiny-tree-menu {
+  width: 250px;
+}
+[data-v-84f2642f] .tiny-tree-menu::before {
+  border-right: none;
+}
+[data-v-84f2642f] .tiny-tree-menu .tiny-tree > div {
+  margin: 3px 0;
+}
+[data-v-84f2642f] .tiny-tree-menu .tiny-tree .tree-node-name {
+  border-left: 2px solid transparent !important;
+}
+[data-v-84f2642f] 
+    .tiny-tree-menu
+      .tiny-tree
+      .tiny-tree-node.is-current
+      > .tiny-tree-node__content
+      .tree-node-name
+      .tiny-svg
+   {
+  fill: var(--ti-tree-menu-node-current-color);
+}
+[data-v-84f2642f] .tiny-collapse-item__header {
+  background-color: var(--ti-common-color-bg-light-normal);
+  color: var(--ti-common-color-text-highlight);
+}
+/* 引入公共样式 */
+* {
+  box-sizing: border-box;
+}
+html,
+body {
+  width: 100%;
+  height: 100%;
+  margin: 0;
+  padding: 0;
+  overflow: hidden;
+  font-size: 14px;
+}
+.general-card {
+  position: relative;
+  border: none;
+  border-radius: 4px;
+  transition: box-shadow 0.2s cubic-bezier(0, 0, 1, 1);
+}
+.general-card .card-head {
+  height: auto;
+  padding: 20px;
+  color: #333;
+  font-size: 16px;
+  border: none;
+}
diff --git a/admin-website/src/main/resources/static/assets/index.js b/admin-website/src/main/resources/static/assets/index.js
new file mode 100644
index 0000000..6b7a4a1
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index.js
@@ -0,0 +1,312927 @@
+import { d as defineComponent$1, c as computed, h as h$2, i as inject, p as provide, a as defineAsyncComponent$1, m as markRaw$1, b as isVNode, r as ref, o as onBeforeUnmount, g as getCurrentInstance, e as hooks, f as onBeforeMount$1, j as onMounted, n as nextTick, k as resolveComponent, l as createVNode$1, q as render$J, T as Transition$1, s as TransitionGroup, K as KeepAlive$1, t as Text$4, C as Comment$1, u as openBlock, v as createElementBlock, w as createBaseVNode, x as createStaticVNode, y as createBlock, z as createCommentVNode, A as normalizeClass, B as resolveDynamicComponent, D as renderSlot, E as toDisplayString, F as mergeProps, G as normalizeStyle$2, H as withCtx, I as withDirectives, J as createTextVNode, L as vShow, M as Fragment, N as renderList, O as normalizeProps, P as withModifiers, Q as withKeys, R as vModelCheckbox, S as toHandlers, U as vModelRadio, V as resolveDirective, W as unref, X as defineStore, Y as createPinia, Z as pushScopeId, _ as popScopeId, $ as createI18n, a0 as useI18n, a1 as useRouter$1, a2 as watch, a3 as useCssVars, a4 as createRouter, a5 as createWebHistory, a6 as useClipboard, a7 as createApp } from "./vue.js";
+(function polyfill() {
+  const relList = document.createElement("link").relList;
+  if (relList && relList.supports && relList.supports("modulepreload")) {
+    return;
+  }
+  for (const link of document.querySelectorAll('link[rel="modulepreload"]')) {
+    processPreload(link);
+  }
+  new MutationObserver((mutations) => {
+    for (const mutation of mutations) {
+      if (mutation.type !== "childList") {
+        continue;
+      }
+      for (const node of mutation.addedNodes) {
+        if (node.tagName === "LINK" && node.rel === "modulepreload")
+          processPreload(node);
+      }
+    }
+  }).observe(document, { childList: true, subtree: true });
+  function getFetchOpts(link) {
+    const fetchOpts = {};
+    if (link.integrity)
+      fetchOpts.integrity = link.integrity;
+    if (link.referrerPolicy)
+      fetchOpts.referrerPolicy = link.referrerPolicy;
+    if (link.crossOrigin === "use-credentials")
+      fetchOpts.credentials = "include";
+    else if (link.crossOrigin === "anonymous")
+      fetchOpts.credentials = "omit";
+    else
+      fetchOpts.credentials = "same-origin";
+    return fetchOpts;
+  }
+  function processPreload(link) {
+    if (link.ep)
+      return;
+    link.ep = true;
+    const fetchOpts = getFetchOpts(link);
+    fetch(link.href, fetchOpts);
+  }
+})();
+var commonjsGlobal$1 = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
+function getDefaultExportFromCjs(x2) {
+  return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
+}
+function getAugmentedNamespace(n2) {
+  if (n2.__esModule)
+    return n2;
+  var f2 = n2.default;
+  if (typeof f2 == "function") {
+    var a2 = function a3() {
+      if (this instanceof a3) {
+        return Reflect.construct(f2, arguments, this.constructor);
+      }
+      return f2.apply(this, arguments);
+    };
+    a2.prototype = f2.prototype;
+  } else
+    a2 = {};
+  Object.defineProperty(a2, "__esModule", { value: true });
+  Object.keys(n2).forEach(function(k2) {
+    var d2 = Object.getOwnPropertyDescriptor(n2, k2);
+    Object.defineProperty(a2, k2, d2.get ? d2 : {
+      enumerable: true,
+      get: function() {
+        return n2[k2];
+      }
+    });
+  });
+  return a2;
+}
+var echarts4 = {};
+var echarts$1 = {};
+var zrender$1 = {};
+var idStart$1 = 2311;
+function _default$1g() {
+  return idStart$1++;
+}
+var guid$4 = _default$1g;
+var env$c = {};
+if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
+  env$c = {
+    browser: {},
+    os: {},
+    node: false,
+    wxa: true,
+    // Weixin Application
+    canvasSupported: true,
+    svgSupported: false,
+    touchEventsSupported: true,
+    domSupported: false
+  };
+} else if (typeof document === "undefined" && typeof self !== "undefined") {
+  env$c = {
+    browser: {},
+    os: {},
+    node: false,
+    worker: true,
+    canvasSupported: true,
+    domSupported: false
+  };
+} else if (typeof navigator === "undefined") {
+  env$c = {
+    browser: {},
+    os: {},
+    node: true,
+    worker: false,
+    // Assume canvas is supported
+    canvasSupported: true,
+    svgSupported: true,
+    domSupported: false
+  };
+} else {
+  env$c = detect$1(navigator.userAgent);
+}
+var _default$1f = env$c;
+function detect$1(ua2) {
+  var os = {};
+  var browser = {};
+  var firefox = ua2.match(/Firefox\/([\d.]+)/);
+  var ie = ua2.match(/MSIE\s([\d.]+)/) || ua2.match(/Trident\/.+?rv:(([\d.]+))/);
+  var edge = ua2.match(/Edge\/([\d.]+)/);
+  var weChat = /micromessenger/i.test(ua2);
+  if (firefox) {
+    browser.firefox = true;
+    browser.version = firefox[1];
+  }
+  if (ie) {
+    browser.ie = true;
+    browser.version = ie[1];
+  }
+  if (edge) {
+    browser.edge = true;
+    browser.version = edge[1];
+  }
+  if (weChat) {
+    browser.weChat = true;
+  }
+  return {
+    browser,
+    os,
+    node: false,
+    // 原生canvas支持,改极端点了
+    // canvasSupported : !(browser.ie && parseFloat(browser.version) < 9)
+    canvasSupported: !!document.createElement("canvas").getContext,
+    svgSupported: typeof SVGRect !== "undefined",
+    // works on most browsers
+    // IE10/11 does not support touch event, and MS Edge supports them but not by
+    // default, so we dont check navigator.maxTouchPoints for them here.
+    touchEventsSupported: "ontouchstart" in window && !browser.ie && !browser.edge,
+    // <http://caniuse.com/#search=pointer%20event>.
+    pointerEventsSupported: (
+      // (1) Firefox supports pointer but not by default, only MS browsers are reliable on pointer
+      // events currently. So we dont use that on other browsers unless tested sufficiently.
+      // For example, in iOS 13 Mobile Chromium 78, if the touching behavior starts page
+      // scroll, the `pointermove` event can not be fired any more. That will break some
+      // features like "pan horizontally to move something and pan vertically to page scroll".
+      // The horizontal pan probably be interrupted by the casually triggered page scroll.
+      // (2) Although IE 10 supports pointer event, it use old style and is different from the
+      // standard. So we exclude that. (IE 10 is hardly used on touch device)
+      "onpointerdown" in window && (browser.edge || browser.ie && browser.version >= 11)
+    ),
+    // passiveSupported: detectPassiveSupport()
+    domSupported: typeof document !== "undefined"
+  };
+}
+var env_1 = _default$1f;
+var util$a = {};
+var BUILTIN_OBJECT$1 = {
+  "[object Function]": 1,
+  "[object RegExp]": 1,
+  "[object Date]": 1,
+  "[object Error]": 1,
+  "[object CanvasGradient]": 1,
+  "[object CanvasPattern]": 1,
+  // For node-canvas
+  "[object Image]": 1,
+  "[object Canvas]": 1
+};
+var TYPED_ARRAY$1 = {
+  "[object Int8Array]": 1,
+  "[object Uint8Array]": 1,
+  "[object Uint8ClampedArray]": 1,
+  "[object Int16Array]": 1,
+  "[object Uint16Array]": 1,
+  "[object Int32Array]": 1,
+  "[object Uint32Array]": 1,
+  "[object Float32Array]": 1,
+  "[object Float64Array]": 1
+};
+var objToString$1 = Object.prototype.toString;
+var arrayProto$1 = Array.prototype;
+var nativeForEach$1 = arrayProto$1.forEach;
+var nativeFilter$1 = arrayProto$1.filter;
+var nativeSlice$1 = arrayProto$1.slice;
+var nativeMap$1 = arrayProto$1.map;
+var nativeReduce = arrayProto$1.reduce;
+var methods$2 = {};
+function $override$1(name2, fn) {
+  if (name2 === "createCanvas") {
+    _ctx = null;
+  }
+  methods$2[name2] = fn;
+}
+function clone$9(source2) {
+  if (source2 == null || typeof source2 !== "object") {
+    return source2;
+  }
+  var result2 = source2;
+  var typeStr = objToString$1.call(source2);
+  if (typeStr === "[object Array]") {
+    if (!isPrimitive$1(source2)) {
+      result2 = [];
+      for (var i2 = 0, len2 = source2.length; i2 < len2; i2++) {
+        result2[i2] = clone$9(source2[i2]);
+      }
+    }
+  } else if (TYPED_ARRAY$1[typeStr]) {
+    if (!isPrimitive$1(source2)) {
+      var Ctor = source2.constructor;
+      if (source2.constructor.from) {
+        result2 = Ctor.from(source2);
+      } else {
+        result2 = new Ctor(source2.length);
+        for (var i2 = 0, len2 = source2.length; i2 < len2; i2++) {
+          result2[i2] = clone$9(source2[i2]);
+        }
+      }
+    }
+  } else if (!BUILTIN_OBJECT$1[typeStr] && !isPrimitive$1(source2) && !isDom$1(source2)) {
+    result2 = {};
+    for (var key2 in source2) {
+      if (source2.hasOwnProperty(key2)) {
+        result2[key2] = clone$9(source2[key2]);
+      }
+    }
+  }
+  return result2;
+}
+function merge$6(target, source2, overwrite) {
+  if (!isObject$e(source2) || !isObject$e(target)) {
+    return overwrite ? clone$9(source2) : target;
+  }
+  for (var key2 in source2) {
+    if (source2.hasOwnProperty(key2)) {
+      var targetProp = target[key2];
+      var sourceProp = source2[key2];
+      if (isObject$e(sourceProp) && isObject$e(targetProp) && !isArray$9(sourceProp) && !isArray$9(targetProp) && !isDom$1(sourceProp) && !isDom$1(targetProp) && !isBuiltInObject$1(sourceProp) && !isBuiltInObject$1(targetProp) && !isPrimitive$1(sourceProp) && !isPrimitive$1(targetProp)) {
+        merge$6(targetProp, sourceProp, overwrite);
+      } else if (overwrite || !(key2 in target)) {
+        target[key2] = clone$9(source2[key2]);
+      }
+    }
+  }
+  return target;
+}
+function mergeAll$1(targetAndSources, overwrite) {
+  var result2 = targetAndSources[0];
+  for (var i2 = 1, len2 = targetAndSources.length; i2 < len2; i2++) {
+    result2 = merge$6(result2, targetAndSources[i2], overwrite);
+  }
+  return result2;
+}
+function extend$a(target, source2) {
+  for (var key2 in source2) {
+    if (source2.hasOwnProperty(key2)) {
+      target[key2] = source2[key2];
+    }
+  }
+  return target;
+}
+function defaults$6(target, source2, overlay) {
+  for (var key2 in source2) {
+    if (source2.hasOwnProperty(key2) && (overlay ? source2[key2] != null : target[key2] == null)) {
+      target[key2] = source2[key2];
+    }
+  }
+  return target;
+}
+var createCanvas$1 = function() {
+  return methods$2.createCanvas();
+};
+methods$2.createCanvas = function() {
+  return document.createElement("canvas");
+};
+var _ctx;
+function getContext$1() {
+  if (!_ctx) {
+    _ctx = createCanvas$1().getContext("2d");
+  }
+  return _ctx;
+}
+function indexOf$4(array, value) {
+  if (array) {
+    if (array.indexOf) {
+      return array.indexOf(value);
+    }
+    for (var i2 = 0, len2 = array.length; i2 < len2; i2++) {
+      if (array[i2] === value) {
+        return i2;
+      }
+    }
+  }
+  return -1;
+}
+function inherits$3(clazz2, baseClazz) {
+  var clazzPrototype = clazz2.prototype;
+  function F2() {
+  }
+  F2.prototype = baseClazz.prototype;
+  clazz2.prototype = new F2();
+  for (var prop2 in clazzPrototype) {
+    if (clazzPrototype.hasOwnProperty(prop2)) {
+      clazz2.prototype[prop2] = clazzPrototype[prop2];
+    }
+  }
+  clazz2.prototype.constructor = clazz2;
+  clazz2.superClass = baseClazz;
+}
+function mixin$3(target, source2, overlay) {
+  target = "prototype" in target ? target.prototype : target;
+  source2 = "prototype" in source2 ? source2.prototype : source2;
+  defaults$6(target, source2, overlay);
+}
+function isArrayLike$3(data2) {
+  if (!data2) {
+    return;
+  }
+  if (typeof data2 === "string") {
+    return false;
+  }
+  return typeof data2.length === "number";
+}
+function each$u(obj2, cb, context) {
+  if (!(obj2 && cb)) {
+    return;
+  }
+  if (obj2.forEach && obj2.forEach === nativeForEach$1) {
+    obj2.forEach(cb, context);
+  } else if (obj2.length === +obj2.length) {
+    for (var i2 = 0, len2 = obj2.length; i2 < len2; i2++) {
+      cb.call(context, obj2[i2], i2, obj2);
+    }
+  } else {
+    for (var key2 in obj2) {
+      if (obj2.hasOwnProperty(key2)) {
+        cb.call(context, obj2[key2], key2, obj2);
+      }
+    }
+  }
+}
+function map$6(obj2, cb, context) {
+  if (!(obj2 && cb)) {
+    return;
+  }
+  if (obj2.map && obj2.map === nativeMap$1) {
+    return obj2.map(cb, context);
+  } else {
+    var result2 = [];
+    for (var i2 = 0, len2 = obj2.length; i2 < len2; i2++) {
+      result2.push(cb.call(context, obj2[i2], i2, obj2));
+    }
+    return result2;
+  }
+}
+function reduce$1(obj2, cb, memo, context) {
+  if (!(obj2 && cb)) {
+    return;
+  }
+  if (obj2.reduce && obj2.reduce === nativeReduce) {
+    return obj2.reduce(cb, memo, context);
+  } else {
+    for (var i2 = 0, len2 = obj2.length; i2 < len2; i2++) {
+      memo = cb.call(context, memo, obj2[i2], i2, obj2);
+    }
+    return memo;
+  }
+}
+function filter$4(obj2, cb, context) {
+  if (!(obj2 && cb)) {
+    return;
+  }
+  if (obj2.filter && obj2.filter === nativeFilter$1) {
+    return obj2.filter(cb, context);
+  } else {
+    var result2 = [];
+    for (var i2 = 0, len2 = obj2.length; i2 < len2; i2++) {
+      if (cb.call(context, obj2[i2], i2, obj2)) {
+        result2.push(obj2[i2]);
+      }
+    }
+    return result2;
+  }
+}
+function find$2(obj2, cb, context) {
+  if (!(obj2 && cb)) {
+    return;
+  }
+  for (var i2 = 0, len2 = obj2.length; i2 < len2; i2++) {
+    if (cb.call(context, obj2[i2], i2, obj2)) {
+      return obj2[i2];
+    }
+  }
+}
+function bind$3(func, context) {
+  var args = nativeSlice$1.call(arguments, 2);
+  return function() {
+    return func.apply(context, args.concat(nativeSlice$1.call(arguments)));
+  };
+}
+function curry$2(func) {
+  var args = nativeSlice$1.call(arguments, 1);
+  return function() {
+    return func.apply(this, args.concat(nativeSlice$1.call(arguments)));
+  };
+}
+function isArray$9(value) {
+  return objToString$1.call(value) === "[object Array]";
+}
+function isFunction$8(value) {
+  return typeof value === "function";
+}
+function isString$8(value) {
+  return objToString$1.call(value) === "[object String]";
+}
+function isObject$e(value) {
+  var type2 = typeof value;
+  return type2 === "function" || !!value && type2 === "object";
+}
+function isBuiltInObject$1(value) {
+  return !!BUILTIN_OBJECT$1[objToString$1.call(value)];
+}
+function isTypedArray$2(value) {
+  return !!TYPED_ARRAY$1[objToString$1.call(value)];
+}
+function isDom$1(value) {
+  return typeof value === "object" && typeof value.nodeType === "number" && typeof value.ownerDocument === "object";
+}
+function eqNaN$1(value) {
+  return value !== value;
+}
+function retrieve$1(values) {
+  for (var i2 = 0, len2 = arguments.length; i2 < len2; i2++) {
+    if (arguments[i2] != null) {
+      return arguments[i2];
+    }
+  }
+}
+function retrieve2$3(value0, value1) {
+  return value0 != null ? value0 : value1;
+}
+function retrieve3$3(value0, value1, value2) {
+  return value0 != null ? value0 : value1 != null ? value1 : value2;
+}
+function slice$1() {
+  return Function.call.apply(nativeSlice$1, arguments);
+}
+function normalizeCssArray$4(val) {
+  if (typeof val === "number") {
+    return [val, val, val, val];
+  }
+  var len2 = val.length;
+  if (len2 === 2) {
+    return [val[0], val[1], val[0], val[1]];
+  } else if (len2 === 3) {
+    return [val[0], val[1], val[2], val[1]];
+  }
+  return val;
+}
+function assert$2(condition, message) {
+  if (!condition) {
+    throw new Error(message);
+  }
+}
+function trim$6(str) {
+  if (str == null) {
+    return null;
+  } else if (typeof str.trim === "function") {
+    return str.trim();
+  } else {
+    return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
+  }
+}
+var primitiveKey$1 = "__ec_primitive__";
+function setAsPrimitive$1(obj2) {
+  obj2[primitiveKey$1] = true;
+}
+function isPrimitive$1(obj2) {
+  return obj2[primitiveKey$1];
+}
+function HashMap$1(obj2) {
+  var isArr = isArray$9(obj2);
+  this.data = {};
+  var thisMap = this;
+  obj2 instanceof HashMap$1 ? obj2.each(visit) : obj2 && each$u(obj2, visit);
+  function visit(value, key2) {
+    isArr ? thisMap.set(value, key2) : thisMap.set(key2, value);
+  }
+}
+HashMap$1.prototype = {
+  constructor: HashMap$1,
+  // Do not provide `has` method to avoid defining what is `has`.
+  // (We usually treat `null` and `undefined` as the same, different
+  // from ES6 Map).
+  get: function(key2) {
+    return this.data.hasOwnProperty(key2) ? this.data[key2] : null;
+  },
+  set: function(key2, value) {
+    return this.data[key2] = value;
+  },
+  // Although util.each can be performed on this hashMap directly, user
+  // should not use the exposed keys, who are prefixed.
+  each: function(cb, context) {
+    context !== void 0 && (cb = bind$3(cb, context));
+    for (var key2 in this.data) {
+      this.data.hasOwnProperty(key2) && cb(this.data[key2], key2);
+    }
+  },
+  // Do not use this method if performance sensitive.
+  removeKey: function(key2) {
+    delete this.data[key2];
+  }
+};
+function createHashMap$5(obj2) {
+  return new HashMap$1(obj2);
+}
+function concatArray$1(a2, b2) {
+  var newArray2 = new a2.constructor(a2.length + b2.length);
+  for (var i2 = 0; i2 < a2.length; i2++) {
+    newArray2[i2] = a2[i2];
+  }
+  var offset2 = a2.length;
+  for (i2 = 0; i2 < b2.length; i2++) {
+    newArray2[i2 + offset2] = b2[i2];
+  }
+  return newArray2;
+}
+function noop$5() {
+}
+util$a.$override = $override$1;
+util$a.clone = clone$9;
+util$a.merge = merge$6;
+util$a.mergeAll = mergeAll$1;
+util$a.extend = extend$a;
+util$a.defaults = defaults$6;
+util$a.createCanvas = createCanvas$1;
+util$a.getContext = getContext$1;
+util$a.indexOf = indexOf$4;
+util$a.inherits = inherits$3;
+util$a.mixin = mixin$3;
+util$a.isArrayLike = isArrayLike$3;
+util$a.each = each$u;
+util$a.map = map$6;
+util$a.reduce = reduce$1;
+util$a.filter = filter$4;
+util$a.find = find$2;
+util$a.bind = bind$3;
+util$a.curry = curry$2;
+util$a.isArray = isArray$9;
+util$a.isFunction = isFunction$8;
+util$a.isString = isString$8;
+util$a.isObject = isObject$e;
+util$a.isBuiltInObject = isBuiltInObject$1;
+util$a.isTypedArray = isTypedArray$2;
+util$a.isDom = isDom$1;
+util$a.eqNaN = eqNaN$1;
+util$a.retrieve = retrieve$1;
+util$a.retrieve2 = retrieve2$3;
+util$a.retrieve3 = retrieve3$3;
+util$a.slice = slice$1;
+util$a.normalizeCssArray = normalizeCssArray$4;
+util$a.assert = assert$2;
+util$a.trim = trim$6;
+util$a.setAsPrimitive = setAsPrimitive$1;
+util$a.isPrimitive = isPrimitive$1;
+util$a.createHashMap = createHashMap$5;
+util$a.concatArray = concatArray$1;
+util$a.noop = noop$5;
+var vector$3 = {};
+var ArrayCtor$1 = typeof Float32Array === "undefined" ? Array : Float32Array;
+function create$4(x2, y2) {
+  var out2 = new ArrayCtor$1(2);
+  if (x2 == null) {
+    x2 = 0;
+  }
+  if (y2 == null) {
+    y2 = 0;
+  }
+  out2[0] = x2;
+  out2[1] = y2;
+  return out2;
+}
+function copy$3(out2, v4) {
+  out2[0] = v4[0];
+  out2[1] = v4[1];
+  return out2;
+}
+function clone$8(v4) {
+  var out2 = new ArrayCtor$1(2);
+  out2[0] = v4[0];
+  out2[1] = v4[1];
+  return out2;
+}
+function set$3(out2, a2, b2) {
+  out2[0] = a2;
+  out2[1] = b2;
+  return out2;
+}
+function add$1(out2, v12, v22) {
+  out2[0] = v12[0] + v22[0];
+  out2[1] = v12[1] + v22[1];
+  return out2;
+}
+function scaleAndAdd$2(out2, v12, v22, a2) {
+  out2[0] = v12[0] + v22[0] * a2;
+  out2[1] = v12[1] + v22[1] * a2;
+  return out2;
+}
+function sub$1(out2, v12, v22) {
+  out2[0] = v12[0] - v22[0];
+  out2[1] = v12[1] - v22[1];
+  return out2;
+}
+function len$1(v4) {
+  return Math.sqrt(lenSquare$1(v4));
+}
+var length$1 = len$1;
+function lenSquare$1(v4) {
+  return v4[0] * v4[0] + v4[1] * v4[1];
+}
+var lengthSquare$1 = lenSquare$1;
+function mul$3(out2, v12, v22) {
+  out2[0] = v12[0] * v22[0];
+  out2[1] = v12[1] * v22[1];
+  return out2;
+}
+function div$1(out2, v12, v22) {
+  out2[0] = v12[0] / v22[0];
+  out2[1] = v12[1] / v22[1];
+  return out2;
+}
+function dot$1(v12, v22) {
+  return v12[0] * v22[0] + v12[1] * v22[1];
+}
+function scale$4(out2, v4, s2) {
+  out2[0] = v4[0] * s2;
+  out2[1] = v4[1] * s2;
+  return out2;
+}
+function normalize$4(out2, v4) {
+  var d2 = len$1(v4);
+  if (d2 === 0) {
+    out2[0] = 0;
+    out2[1] = 0;
+  } else {
+    out2[0] = v4[0] / d2;
+    out2[1] = v4[1] / d2;
+  }
+  return out2;
+}
+function distance$1(v12, v22) {
+  return Math.sqrt((v12[0] - v22[0]) * (v12[0] - v22[0]) + (v12[1] - v22[1]) * (v12[1] - v22[1]));
+}
+var dist$3 = distance$1;
+function distanceSquare$1(v12, v22) {
+  return (v12[0] - v22[0]) * (v12[0] - v22[0]) + (v12[1] - v22[1]) * (v12[1] - v22[1]);
+}
+var distSquare$1 = distanceSquare$1;
+function negate$1(out2, v4) {
+  out2[0] = -v4[0];
+  out2[1] = -v4[1];
+  return out2;
+}
+function lerp$3(out2, v12, v22, t2) {
+  out2[0] = v12[0] + t2 * (v22[0] - v12[0]);
+  out2[1] = v12[1] + t2 * (v22[1] - v12[1]);
+  return out2;
+}
+function applyTransform$3(out2, v4, m2) {
+  var x2 = v4[0];
+  var y2 = v4[1];
+  out2[0] = m2[0] * x2 + m2[2] * y2 + m2[4];
+  out2[1] = m2[1] * x2 + m2[3] * y2 + m2[5];
+  return out2;
+}
+function min$3(out2, v12, v22) {
+  out2[0] = Math.min(v12[0], v22[0]);
+  out2[1] = Math.min(v12[1], v22[1]);
+  return out2;
+}
+function max$3(out2, v12, v22) {
+  out2[0] = Math.max(v12[0], v22[0]);
+  out2[1] = Math.max(v12[1], v22[1]);
+  return out2;
+}
+vector$3.create = create$4;
+vector$3.copy = copy$3;
+vector$3.clone = clone$8;
+vector$3.set = set$3;
+vector$3.add = add$1;
+vector$3.scaleAndAdd = scaleAndAdd$2;
+vector$3.sub = sub$1;
+vector$3.len = len$1;
+vector$3.length = length$1;
+vector$3.lenSquare = lenSquare$1;
+vector$3.lengthSquare = lengthSquare$1;
+vector$3.mul = mul$3;
+vector$3.div = div$1;
+vector$3.dot = dot$1;
+vector$3.scale = scale$4;
+vector$3.normalize = normalize$4;
+vector$3.distance = distance$1;
+vector$3.dist = dist$3;
+vector$3.distanceSquare = distanceSquare$1;
+vector$3.distSquare = distSquare$1;
+vector$3.negate = negate$1;
+vector$3.lerp = lerp$3;
+vector$3.applyTransform = applyTransform$3;
+vector$3.min = min$3;
+vector$3.max = max$3;
+function Draggable$3() {
+  this.on("mousedown", this._dragStart, this);
+  this.on("mousemove", this._drag, this);
+  this.on("mouseup", this._dragEnd, this);
+}
+Draggable$3.prototype = {
+  constructor: Draggable$3,
+  _dragStart: function(e2) {
+    var draggingTarget = e2.target;
+    while (draggingTarget && !draggingTarget.draggable) {
+      draggingTarget = draggingTarget.parent;
+    }
+    if (draggingTarget) {
+      this._draggingTarget = draggingTarget;
+      draggingTarget.dragging = true;
+      this._x = e2.offsetX;
+      this._y = e2.offsetY;
+      this.dispatchToElement(param(draggingTarget, e2), "dragstart", e2.event);
+    }
+  },
+  _drag: function(e2) {
+    var draggingTarget = this._draggingTarget;
+    if (draggingTarget) {
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      var dx = x2 - this._x;
+      var dy = y2 - this._y;
+      this._x = x2;
+      this._y = y2;
+      draggingTarget.drift(dx, dy, e2);
+      this.dispatchToElement(param(draggingTarget, e2), "drag", e2.event);
+      var dropTarget = this.findHover(x2, y2, draggingTarget).target;
+      var lastDropTarget = this._dropTarget;
+      this._dropTarget = dropTarget;
+      if (draggingTarget !== dropTarget) {
+        if (lastDropTarget && dropTarget !== lastDropTarget) {
+          this.dispatchToElement(param(lastDropTarget, e2), "dragleave", e2.event);
+        }
+        if (dropTarget && dropTarget !== lastDropTarget) {
+          this.dispatchToElement(param(dropTarget, e2), "dragenter", e2.event);
+        }
+      }
+    }
+  },
+  _dragEnd: function(e2) {
+    var draggingTarget = this._draggingTarget;
+    if (draggingTarget) {
+      draggingTarget.dragging = false;
+    }
+    this.dispatchToElement(param(draggingTarget, e2), "dragend", e2.event);
+    if (this._dropTarget) {
+      this.dispatchToElement(param(this._dropTarget, e2), "drop", e2.event);
+    }
+    this._draggingTarget = null;
+    this._dropTarget = null;
+  }
+};
+function param(target, e2) {
+  return {
+    target,
+    topTarget: e2 && e2.topTarget
+  };
+}
+var _default$1e = Draggable$3;
+var Draggable_1 = _default$1e;
+var arrySlice = Array.prototype.slice;
+var Eventful$6 = function(eventProcessor) {
+  this._$handlers = {};
+  this._$eventProcessor = eventProcessor;
+};
+Eventful$6.prototype = {
+  constructor: Eventful$6,
+  /**
+   * The handler can only be triggered once, then removed.
+   *
+   * @param {string} event The event name.
+   * @param {string|Object} [query] Condition used on event filter.
+   * @param {Function} handler The event handler.
+   * @param {Object} context
+   */
+  one: function(event2, query, handler, context) {
+    return on$1(this, event2, query, handler, context, true);
+  },
+  /**
+   * Bind a handler.
+   *
+   * @param {string} event The event name.
+   * @param {string|Object} [query] Condition used on event filter.
+   * @param {Function} handler The event handler.
+   * @param {Object} [context]
+   */
+  on: function(event2, query, handler, context) {
+    return on$1(this, event2, query, handler, context, false);
+  },
+  /**
+   * Whether any handler has bound.
+   *
+   * @param  {string}  event
+   * @return {boolean}
+   */
+  isSilent: function(event2) {
+    var _h = this._$handlers;
+    return !_h[event2] || !_h[event2].length;
+  },
+  /**
+   * Unbind a event.
+   *
+   * @param {string} [event] The event name.
+   *        If no `event` input, "off" all listeners.
+   * @param {Function} [handler] The event handler.
+   *        If no `handler` input, "off" all listeners of the `event`.
+   */
+  off: function(event2, handler) {
+    var _h = this._$handlers;
+    if (!event2) {
+      this._$handlers = {};
+      return this;
+    }
+    if (handler) {
+      if (_h[event2]) {
+        var newList = [];
+        for (var i2 = 0, l2 = _h[event2].length; i2 < l2; i2++) {
+          if (_h[event2][i2].h !== handler) {
+            newList.push(_h[event2][i2]);
+          }
+        }
+        _h[event2] = newList;
+      }
+      if (_h[event2] && _h[event2].length === 0) {
+        delete _h[event2];
+      }
+    } else {
+      delete _h[event2];
+    }
+    return this;
+  },
+  /**
+   * Dispatch a event.
+   *
+   * @param {string} type The event name.
+   */
+  trigger: function(type2) {
+    var _h = this._$handlers[type2];
+    var eventProcessor = this._$eventProcessor;
+    if (_h) {
+      var args = arguments;
+      var argLen = args.length;
+      if (argLen > 3) {
+        args = arrySlice.call(args, 1);
+      }
+      var len2 = _h.length;
+      for (var i2 = 0; i2 < len2; ) {
+        var hItem = _h[i2];
+        if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type2, hItem.query)) {
+          i2++;
+          continue;
+        }
+        switch (argLen) {
+          case 1:
+            hItem.h.call(hItem.ctx);
+            break;
+          case 2:
+            hItem.h.call(hItem.ctx, args[1]);
+            break;
+          case 3:
+            hItem.h.call(hItem.ctx, args[1], args[2]);
+            break;
+          default:
+            hItem.h.apply(hItem.ctx, args);
+            break;
+        }
+        if (hItem.one) {
+          _h.splice(i2, 1);
+          len2--;
+        } else {
+          i2++;
+        }
+      }
+    }
+    eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type2);
+    return this;
+  },
+  /**
+   * Dispatch a event with context, which is specified at the last parameter.
+   *
+   * @param {string} type The event name.
+   */
+  triggerWithContext: function(type2) {
+    var _h = this._$handlers[type2];
+    var eventProcessor = this._$eventProcessor;
+    if (_h) {
+      var args = arguments;
+      var argLen = args.length;
+      if (argLen > 4) {
+        args = arrySlice.call(args, 1, args.length - 1);
+      }
+      var ctx = args[args.length - 1];
+      var len2 = _h.length;
+      for (var i2 = 0; i2 < len2; ) {
+        var hItem = _h[i2];
+        if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type2, hItem.query)) {
+          i2++;
+          continue;
+        }
+        switch (argLen) {
+          case 1:
+            hItem.h.call(ctx);
+            break;
+          case 2:
+            hItem.h.call(ctx, args[1]);
+            break;
+          case 3:
+            hItem.h.call(ctx, args[1], args[2]);
+            break;
+          default:
+            hItem.h.apply(ctx, args);
+            break;
+        }
+        if (hItem.one) {
+          _h.splice(i2, 1);
+          len2--;
+        } else {
+          i2++;
+        }
+      }
+    }
+    eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type2);
+    return this;
+  }
+};
+function normalizeQuery(host, query) {
+  var eventProcessor = host._$eventProcessor;
+  if (query != null && eventProcessor && eventProcessor.normalizeQuery) {
+    query = eventProcessor.normalizeQuery(query);
+  }
+  return query;
+}
+function on$1(eventful, event2, query, handler, context, isOnce) {
+  var _h = eventful._$handlers;
+  if (typeof query === "function") {
+    context = handler;
+    handler = query;
+    query = null;
+  }
+  if (!handler || !event2) {
+    return eventful;
+  }
+  query = normalizeQuery(eventful, query);
+  if (!_h[event2]) {
+    _h[event2] = [];
+  }
+  for (var i2 = 0; i2 < _h[event2].length; i2++) {
+    if (_h[event2][i2].h === handler) {
+      return eventful;
+    }
+  }
+  var wrap = {
+    h: handler,
+    one: isOnce,
+    query,
+    ctx: context || eventful,
+    // FIXME
+    // Do not publish this feature util it is proved that it makes sense.
+    callAtLast: handler.zrEventfulCallAtLast
+  };
+  var lastIndex = _h[event2].length - 1;
+  var lastWrap = _h[event2][lastIndex];
+  lastWrap && lastWrap.callAtLast ? _h[event2].splice(lastIndex, 0, wrap) : _h[event2].push(wrap);
+  return eventful;
+}
+var _default$1d = Eventful$6;
+var Eventful_1 = _default$1d;
+var event$1 = {};
+var dom = {};
+var fourPointsTransform = {};
+var LN2$1 = Math.log(2);
+function determinant$1(rows, rank, rowStart, rowMask, colMask, detCache) {
+  var cacheKey = rowMask + "-" + colMask;
+  var fullRank = rows.length;
+  if (detCache.hasOwnProperty(cacheKey)) {
+    return detCache[cacheKey];
+  }
+  if (rank === 1) {
+    var colStart = Math.round(Math.log((1 << fullRank) - 1 & ~colMask) / LN2$1);
+    return rows[rowStart][colStart];
+  }
+  var subRowMask = rowMask | 1 << rowStart;
+  var subRowStart = rowStart + 1;
+  while (rowMask & 1 << subRowStart) {
+    subRowStart++;
+  }
+  var sum2 = 0;
+  for (var j2 = 0, colLocalIdx = 0; j2 < fullRank; j2++) {
+    var colTag = 1 << j2;
+    if (!(colTag & colMask)) {
+      sum2 += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j2] * determinant$1(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);
+      colLocalIdx++;
+    }
+  }
+  detCache[cacheKey] = sum2;
+  return sum2;
+}
+function buildTransformer$2(src, dest) {
+  var mA = [[src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]], [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]], [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]], [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]], [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]], [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]], [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]], [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]];
+  var detCache = {};
+  var det = determinant$1(mA, 8, 0, 0, 0, detCache);
+  if (det === 0) {
+    return;
+  }
+  var vh = [];
+  for (var i2 = 0; i2 < 8; i2++) {
+    for (var j2 = 0; j2 < 8; j2++) {
+      vh[j2] == null && (vh[j2] = 0);
+      vh[j2] += ((i2 + j2) % 2 ? -1 : 1) * // det(subMatrix(i, j))
+      determinant$1(mA, 7, i2 === 0 ? 1 : 0, 1 << i2, 1 << j2, detCache) / det * dest[i2];
+    }
+  }
+  return function(out2, srcPointX, srcPointY) {
+    var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;
+    out2[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;
+    out2[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;
+  };
+}
+fourPointsTransform.buildTransformer = buildTransformer$2;
+var env$b = env_1;
+var _fourPointsTransform = fourPointsTransform;
+var buildTransformer$1 = _fourPointsTransform.buildTransformer;
+var EVENT_SAVED_PROP$1 = "___zrEVENTSAVED";
+var _calcOut$3 = [];
+function transformLocalCoord$1(out2, elFrom, elTarget, inX, inY) {
+  return transformCoordWithViewport$2(_calcOut$3, elFrom, inX, inY, true) && transformCoordWithViewport$2(out2, elTarget, _calcOut$3[0], _calcOut$3[1]);
+}
+function transformCoordWithViewport$2(out2, el, inX, inY, inverse) {
+  if (el.getBoundingClientRect && env$b.domSupported && !isCanvasEl$2(el)) {
+    var saved = el[EVENT_SAVED_PROP$1] || (el[EVENT_SAVED_PROP$1] = {});
+    var markers = prepareCoordMarkers$1(el, saved);
+    var transformer = preparePointerTransformer$1(markers, saved, inverse);
+    if (transformer) {
+      transformer(out2, inX, inY);
+      return true;
+    }
+  }
+  return false;
+}
+function prepareCoordMarkers$1(el, saved) {
+  var markers = saved.markers;
+  if (markers) {
+    return markers;
+  }
+  markers = saved.markers = [];
+  var propLR = ["left", "right"];
+  var propTB = ["top", "bottom"];
+  for (var i2 = 0; i2 < 4; i2++) {
+    var marker = document.createElement("div");
+    var stl = marker.style;
+    var idxLR = i2 % 2;
+    var idxTB = (i2 >> 1) % 2;
+    stl.cssText = [
+      "position: absolute",
+      "visibility: hidden",
+      "padding: 0",
+      "margin: 0",
+      "border-width: 0",
+      "user-select: none",
+      "width:0",
+      "height:0",
+      // 'width: 5px',
+      // 'height: 5px',
+      propLR[idxLR] + ":0",
+      propTB[idxTB] + ":0",
+      propLR[1 - idxLR] + ":auto",
+      propTB[1 - idxTB] + ":auto",
+      ""
+    ].join("!important;");
+    el.appendChild(marker);
+    markers.push(marker);
+  }
+  return markers;
+}
+function preparePointerTransformer$1(markers, saved, inverse) {
+  var transformerName = inverse ? "invTrans" : "trans";
+  var transformer = saved[transformerName];
+  var oldSrcCoords = saved.srcCoords;
+  var oldCoordTheSame = true;
+  var srcCoords = [];
+  var destCoords = [];
+  for (var i2 = 0; i2 < 4; i2++) {
+    var rect = markers[i2].getBoundingClientRect();
+    var ii = 2 * i2;
+    var x2 = rect.left;
+    var y2 = rect.top;
+    srcCoords.push(x2, y2);
+    oldCoordTheSame = oldCoordTheSame && oldSrcCoords && x2 === oldSrcCoords[ii] && y2 === oldSrcCoords[ii + 1];
+    destCoords.push(markers[i2].offsetLeft, markers[i2].offsetTop);
+  }
+  return oldCoordTheSame && transformer ? transformer : (saved.srcCoords = srcCoords, saved[transformerName] = inverse ? buildTransformer$1(destCoords, srcCoords) : buildTransformer$1(srcCoords, destCoords));
+}
+function isCanvasEl$2(el) {
+  return el.nodeName.toUpperCase() === "CANVAS";
+}
+dom.transformLocalCoord = transformLocalCoord$1;
+dom.transformCoordWithViewport = transformCoordWithViewport$2;
+dom.isCanvasEl = isCanvasEl$2;
+var Eventful$5 = Eventful_1;
+event$1.Dispatcher = Eventful$5;
+var env$a = env_1;
+var _dom = dom;
+var isCanvasEl$1 = _dom.isCanvasEl;
+var transformCoordWithViewport$1 = _dom.transformCoordWithViewport;
+var isDomLevel2 = typeof window !== "undefined" && !!window.addEventListener;
+var MOUSE_EVENT_REG$1 = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;
+var _calcOut$2 = [];
+function clientToLocal$1(el, e2, out2, calculate) {
+  out2 = out2 || {};
+  if (calculate || !env$a.canvasSupported) {
+    calculateZrXY$1(el, e2, out2);
+  } else if (env$a.browser.firefox && e2.layerX != null && e2.layerX !== e2.offsetX) {
+    out2.zrX = e2.layerX;
+    out2.zrY = e2.layerY;
+  } else if (e2.offsetX != null) {
+    out2.zrX = e2.offsetX;
+    out2.zrY = e2.offsetY;
+  } else {
+    calculateZrXY$1(el, e2, out2);
+  }
+  return out2;
+}
+function calculateZrXY$1(el, e2, out2) {
+  if (env$a.domSupported && el.getBoundingClientRect) {
+    var ex = e2.clientX;
+    var ey = e2.clientY;
+    if (isCanvasEl$1(el)) {
+      var box2 = el.getBoundingClientRect();
+      out2.zrX = ex - box2.left;
+      out2.zrY = ey - box2.top;
+      return;
+    } else {
+      if (transformCoordWithViewport$1(_calcOut$2, el, ex, ey)) {
+        out2.zrX = _calcOut$2[0];
+        out2.zrY = _calcOut$2[1];
+        return;
+      }
+    }
+  }
+  out2.zrX = out2.zrY = 0;
+}
+function getNativeEvent$2(e2) {
+  return e2 || window.event;
+}
+function normalizeEvent$2(el, e2, calculate) {
+  e2 = getNativeEvent$2(e2);
+  if (e2.zrX != null) {
+    return e2;
+  }
+  var eventType = e2.type;
+  var isTouch = eventType && eventType.indexOf("touch") >= 0;
+  if (!isTouch) {
+    clientToLocal$1(el, e2, e2, calculate);
+    e2.zrDelta = e2.wheelDelta ? e2.wheelDelta / 120 : -(e2.detail || 0) / 3;
+  } else {
+    var touch = eventType !== "touchend" ? e2.targetTouches[0] : e2.changedTouches[0];
+    touch && clientToLocal$1(el, touch, e2, calculate);
+  }
+  var button = e2.button;
+  if (e2.which == null && button !== void 0 && MOUSE_EVENT_REG$1.test(e2.type)) {
+    e2.which = button & 1 ? 1 : button & 2 ? 3 : button & 4 ? 2 : 0;
+  }
+  return e2;
+}
+function addEventListener$2(el, name2, handler, opt) {
+  if (isDomLevel2) {
+    el.addEventListener(name2, handler, opt);
+  } else {
+    el.attachEvent("on" + name2, handler);
+  }
+}
+function removeEventListener$2(el, name2, handler, opt) {
+  if (isDomLevel2) {
+    el.removeEventListener(name2, handler, opt);
+  } else {
+    el.detachEvent("on" + name2, handler);
+  }
+}
+var stop$2 = isDomLevel2 ? function(e2) {
+  e2.preventDefault();
+  e2.stopPropagation();
+  e2.cancelBubble = true;
+} : function(e2) {
+  e2.returnValue = false;
+  e2.cancelBubble = true;
+};
+function isMiddleOrRightButtonOnMouseUpDown$1(e2) {
+  return e2.which === 2 || e2.which === 3;
+}
+function notLeftMouse(e2) {
+  return e2.which > 1;
+}
+event$1.clientToLocal = clientToLocal$1;
+event$1.getNativeEvent = getNativeEvent$2;
+event$1.normalizeEvent = normalizeEvent$2;
+event$1.addEventListener = addEventListener$2;
+event$1.removeEventListener = removeEventListener$2;
+event$1.stop = stop$2;
+event$1.isMiddleOrRightButtonOnMouseUpDown = isMiddleOrRightButtonOnMouseUpDown$1;
+event$1.notLeftMouse = notLeftMouse;
+var eventUtil = event$1;
+var GestureMgr$2 = function() {
+  this._track = [];
+};
+GestureMgr$2.prototype = {
+  constructor: GestureMgr$2,
+  recognize: function(event2, target, root) {
+    this._doTrack(event2, target, root);
+    return this._recognize(event2);
+  },
+  clear: function() {
+    this._track.length = 0;
+    return this;
+  },
+  _doTrack: function(event2, target, root) {
+    var touches = event2.touches;
+    if (!touches) {
+      return;
+    }
+    var trackItem = {
+      points: [],
+      touches: [],
+      target,
+      event: event2
+    };
+    for (var i2 = 0, len2 = touches.length; i2 < len2; i2++) {
+      var touch = touches[i2];
+      var pos = eventUtil.clientToLocal(root, touch, {});
+      trackItem.points.push([pos.zrX, pos.zrY]);
+      trackItem.touches.push(touch);
+    }
+    this._track.push(trackItem);
+  },
+  _recognize: function(event2) {
+    for (var eventName in recognizers$1) {
+      if (recognizers$1.hasOwnProperty(eventName)) {
+        var gestureInfo = recognizers$1[eventName](this._track, event2);
+        if (gestureInfo) {
+          return gestureInfo;
+        }
+      }
+    }
+  }
+};
+function dist$2(pointPair) {
+  var dx = pointPair[1][0] - pointPair[0][0];
+  var dy = pointPair[1][1] - pointPair[0][1];
+  return Math.sqrt(dx * dx + dy * dy);
+}
+function center$2(pointPair) {
+  return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];
+}
+var recognizers$1 = {
+  pinch: function(track, event2) {
+    var trackLen = track.length;
+    if (!trackLen) {
+      return;
+    }
+    var pinchEnd = (track[trackLen - 1] || {}).points;
+    var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;
+    if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {
+      var pinchScale = dist$2(pinchEnd) / dist$2(pinchPre);
+      !isFinite(pinchScale) && (pinchScale = 1);
+      event2.pinchScale = pinchScale;
+      var pinchCenter = center$2(pinchEnd);
+      event2.pinchX = pinchCenter[0];
+      event2.pinchY = pinchCenter[1];
+      return {
+        type: "pinch",
+        target: track[0].target,
+        event: event2
+      };
+    }
+  }
+  // Only pinch currently.
+};
+var _default$1c = GestureMgr$2;
+var GestureMgr_1 = _default$1c;
+var util$9 = util$a;
+var vec2$3 = vector$3;
+var Draggable$2 = Draggable_1;
+var Eventful$4 = Eventful_1;
+var eventTool = event$1;
+var GestureMgr$1 = GestureMgr_1;
+var SILENT$1 = "silent";
+function makeEventPacket$1(eveType, targetInfo, event2) {
+  return {
+    type: eveType,
+    event: event2,
+    // target can only be an element that is not silent.
+    target: targetInfo.target,
+    // topTarget can be a silent element.
+    topTarget: targetInfo.topTarget,
+    cancelBubble: false,
+    offsetX: event2.zrX,
+    offsetY: event2.zrY,
+    gestureEvent: event2.gestureEvent,
+    pinchX: event2.pinchX,
+    pinchY: event2.pinchY,
+    pinchScale: event2.pinchScale,
+    wheelDelta: event2.zrDelta,
+    zrByTouch: event2.zrByTouch,
+    which: event2.which,
+    stop: stopEvent$1
+  };
+}
+function stopEvent$1() {
+  eventTool.stop(this.event);
+}
+function EmptyProxy$1() {
+}
+EmptyProxy$1.prototype.dispose = function() {
+};
+var handlerNames$1 = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"];
+var Handler$3 = function(storage2, painter, proxy, painterRoot) {
+  Eventful$4.call(this);
+  this.storage = storage2;
+  this.painter = painter;
+  this.painterRoot = painterRoot;
+  proxy = proxy || new EmptyProxy$1();
+  this.proxy = null;
+  this._hovered = {};
+  this._lastTouchMoment;
+  this._lastX;
+  this._lastY;
+  this._gestureMgr;
+  Draggable$2.call(this);
+  this.setHandlerProxy(proxy);
+};
+Handler$3.prototype = {
+  constructor: Handler$3,
+  setHandlerProxy: function(proxy) {
+    if (this.proxy) {
+      this.proxy.dispose();
+    }
+    if (proxy) {
+      util$9.each(handlerNames$1, function(name2) {
+        proxy.on && proxy.on(name2, this[name2], this);
+      }, this);
+      proxy.handler = this;
+    }
+    this.proxy = proxy;
+  },
+  mousemove: function(event2) {
+    var x2 = event2.zrX;
+    var y2 = event2.zrY;
+    var isOutside = isOutsideBoundary$1(this, x2, y2);
+    var lastHovered = this._hovered;
+    var lastHoveredTarget = lastHovered.target;
+    if (lastHoveredTarget && !lastHoveredTarget.__zr) {
+      lastHovered = this.findHover(lastHovered.x, lastHovered.y);
+      lastHoveredTarget = lastHovered.target;
+    }
+    var hovered = this._hovered = isOutside ? {
+      x: x2,
+      y: y2
+    } : this.findHover(x2, y2);
+    var hoveredTarget = hovered.target;
+    var proxy = this.proxy;
+    proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : "default");
+    if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {
+      this.dispatchToElement(lastHovered, "mouseout", event2);
+    }
+    this.dispatchToElement(hovered, "mousemove", event2);
+    if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {
+      this.dispatchToElement(hovered, "mouseover", event2);
+    }
+  },
+  mouseout: function(event2) {
+    var eventControl = event2.zrEventControl;
+    var zrIsToLocalDOM = event2.zrIsToLocalDOM;
+    if (eventControl !== "only_globalout") {
+      this.dispatchToElement(this._hovered, "mouseout", event2);
+    }
+    if (eventControl !== "no_globalout") {
+      !zrIsToLocalDOM && this.trigger("globalout", {
+        type: "globalout",
+        event: event2
+      });
+    }
+  },
+  /**
+   * Resize
+   */
+  resize: function(event2) {
+    this._hovered = {};
+  },
+  /**
+   * Dispatch event
+   * @param {string} eventName
+   * @param {event=} eventArgs
+   */
+  dispatch: function(eventName, eventArgs) {
+    var handler = this[eventName];
+    handler && handler.call(this, eventArgs);
+  },
+  /**
+   * Dispose
+   */
+  dispose: function() {
+    this.proxy.dispose();
+    this.storage = this.proxy = this.painter = null;
+  },
+  /**
+   * 设置默认的cursor style
+   * @param {string} [cursorStyle='default'] 例如 crosshair
+   */
+  setCursorStyle: function(cursorStyle) {
+    var proxy = this.proxy;
+    proxy.setCursor && proxy.setCursor(cursorStyle);
+  },
+  /**
+   * 事件分发代理
+   *
+   * @private
+   * @param {Object} targetInfo {target, topTarget} 目标图形元素
+   * @param {string} eventName 事件名称
+   * @param {Object} event 事件对象
+   */
+  dispatchToElement: function(targetInfo, eventName, event2) {
+    targetInfo = targetInfo || {};
+    var el = targetInfo.target;
+    if (el && el.silent) {
+      return;
+    }
+    var eventHandler = "on" + eventName;
+    var eventPacket = makeEventPacket$1(eventName, targetInfo, event2);
+    while (el) {
+      el[eventHandler] && (eventPacket.cancelBubble = el[eventHandler].call(el, eventPacket));
+      el.trigger(eventName, eventPacket);
+      el = el.parent;
+      if (eventPacket.cancelBubble) {
+        break;
+      }
+    }
+    if (!eventPacket.cancelBubble) {
+      this.trigger(eventName, eventPacket);
+      this.painter && this.painter.eachOtherLayer(function(layer) {
+        if (typeof layer[eventHandler] === "function") {
+          layer[eventHandler].call(layer, eventPacket);
+        }
+        if (layer.trigger) {
+          layer.trigger(eventName, eventPacket);
+        }
+      });
+    }
+  },
+  /**
+   * @private
+   * @param {number} x
+   * @param {number} y
+   * @param {module:zrender/graphic/Displayable} exclude
+   * @return {model:zrender/Element}
+   * @method
+   */
+  findHover: function(x2, y2, exclude) {
+    var list2 = this.storage.getDisplayList();
+    var out2 = {
+      x: x2,
+      y: y2
+    };
+    for (var i2 = list2.length - 1; i2 >= 0; i2--) {
+      var hoverCheckResult;
+      if (list2[i2] !== exclude && !list2[i2].ignore && (hoverCheckResult = isHover$1(list2[i2], x2, y2))) {
+        !out2.topTarget && (out2.topTarget = list2[i2]);
+        if (hoverCheckResult !== SILENT$1) {
+          out2.target = list2[i2];
+          break;
+        }
+      }
+    }
+    return out2;
+  },
+  processGesture: function(event2, stage) {
+    if (!this._gestureMgr) {
+      this._gestureMgr = new GestureMgr$1();
+    }
+    var gestureMgr = this._gestureMgr;
+    stage === "start" && gestureMgr.clear();
+    var gestureInfo = gestureMgr.recognize(event2, this.findHover(event2.zrX, event2.zrY, null).target, this.proxy.dom);
+    stage === "end" && gestureMgr.clear();
+    if (gestureInfo) {
+      var type2 = gestureInfo.type;
+      event2.gestureEvent = type2;
+      this.dispatchToElement({
+        target: gestureInfo.target
+      }, type2, gestureInfo.event);
+    }
+  }
+};
+util$9.each(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function(name2) {
+  Handler$3.prototype[name2] = function(event2) {
+    var x2 = event2.zrX;
+    var y2 = event2.zrY;
+    var isOutside = isOutsideBoundary$1(this, x2, y2);
+    var hovered;
+    var hoveredTarget;
+    if (name2 !== "mouseup" || !isOutside) {
+      hovered = this.findHover(x2, y2);
+      hoveredTarget = hovered.target;
+    }
+    if (name2 === "mousedown") {
+      this._downEl = hoveredTarget;
+      this._downPoint = [event2.zrX, event2.zrY];
+      this._upEl = hoveredTarget;
+    } else if (name2 === "mouseup") {
+      this._upEl = hoveredTarget;
+    } else if (name2 === "click") {
+      if (this._downEl !== this._upEl || !this._downPoint || vec2$3.dist(this._downPoint, [event2.zrX, event2.zrY]) > 4) {
+        return;
+      }
+      this._downPoint = null;
+    }
+    this.dispatchToElement(hovered, name2, event2);
+  };
+});
+function isHover$1(displayable, x2, y2) {
+  if (displayable[displayable.rectHover ? "rectContain" : "contain"](x2, y2)) {
+    var el = displayable;
+    var isSilent;
+    while (el) {
+      if (el.clipPath && !el.clipPath.contain(x2, y2)) {
+        return false;
+      }
+      if (el.silent) {
+        isSilent = true;
+      }
+      el = el.parent;
+    }
+    return isSilent ? SILENT$1 : true;
+  }
+  return false;
+}
+function isOutsideBoundary$1(handlerInstance, x2, y2) {
+  var painter = handlerInstance.painter;
+  return x2 < 0 || x2 > painter.getWidth() || y2 < 0 || y2 > painter.getHeight();
+}
+util$9.mixin(Handler$3, Eventful$4);
+util$9.mixin(Handler$3, Draggable$2);
+var _default$1b = Handler$3;
+var Handler_1 = _default$1b;
+var matrix$5 = {};
+var ArrayCtor = typeof Float32Array === "undefined" ? Array : Float32Array;
+function create$3() {
+  var out2 = new ArrayCtor(6);
+  identity$1(out2);
+  return out2;
+}
+function identity$1(out2) {
+  out2[0] = 1;
+  out2[1] = 0;
+  out2[2] = 0;
+  out2[3] = 1;
+  out2[4] = 0;
+  out2[5] = 0;
+  return out2;
+}
+function copy$2(out2, m2) {
+  out2[0] = m2[0];
+  out2[1] = m2[1];
+  out2[2] = m2[2];
+  out2[3] = m2[3];
+  out2[4] = m2[4];
+  out2[5] = m2[5];
+  return out2;
+}
+function mul$2(out2, m1, m2) {
+  var out0 = m1[0] * m2[0] + m1[2] * m2[1];
+  var out1 = m1[1] * m2[0] + m1[3] * m2[1];
+  var out22 = m1[0] * m2[2] + m1[2] * m2[3];
+  var out3 = m1[1] * m2[2] + m1[3] * m2[3];
+  var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];
+  var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];
+  out2[0] = out0;
+  out2[1] = out1;
+  out2[2] = out22;
+  out2[3] = out3;
+  out2[4] = out4;
+  out2[5] = out5;
+  return out2;
+}
+function translate$1(out2, a2, v4) {
+  out2[0] = a2[0];
+  out2[1] = a2[1];
+  out2[2] = a2[2];
+  out2[3] = a2[3];
+  out2[4] = a2[4] + v4[0];
+  out2[5] = a2[5] + v4[1];
+  return out2;
+}
+function rotate$1(out2, a2, rad) {
+  var aa = a2[0];
+  var ac = a2[2];
+  var atx = a2[4];
+  var ab = a2[1];
+  var ad = a2[3];
+  var aty = a2[5];
+  var st = Math.sin(rad);
+  var ct = Math.cos(rad);
+  out2[0] = aa * ct + ab * st;
+  out2[1] = -aa * st + ab * ct;
+  out2[2] = ac * ct + ad * st;
+  out2[3] = -ac * st + ct * ad;
+  out2[4] = ct * atx + st * aty;
+  out2[5] = ct * aty - st * atx;
+  return out2;
+}
+function scale$3(out2, a2, v4) {
+  var vx = v4[0];
+  var vy = v4[1];
+  out2[0] = a2[0] * vx;
+  out2[1] = a2[1] * vy;
+  out2[2] = a2[2] * vx;
+  out2[3] = a2[3] * vy;
+  out2[4] = a2[4] * vx;
+  out2[5] = a2[5] * vy;
+  return out2;
+}
+function invert$1(out2, a2) {
+  var aa = a2[0];
+  var ac = a2[2];
+  var atx = a2[4];
+  var ab = a2[1];
+  var ad = a2[3];
+  var aty = a2[5];
+  var det = aa * ad - ab * ac;
+  if (!det) {
+    return null;
+  }
+  det = 1 / det;
+  out2[0] = ad * det;
+  out2[1] = -ab * det;
+  out2[2] = -ac * det;
+  out2[3] = aa * det;
+  out2[4] = (ac * aty - ad * atx) * det;
+  out2[5] = (ab * atx - aa * aty) * det;
+  return out2;
+}
+function clone$7(a2) {
+  var b2 = create$3();
+  copy$2(b2, a2);
+  return b2;
+}
+matrix$5.create = create$3;
+matrix$5.identity = identity$1;
+matrix$5.copy = copy$2;
+matrix$5.mul = mul$2;
+matrix$5.translate = translate$1;
+matrix$5.rotate = rotate$1;
+matrix$5.scale = scale$3;
+matrix$5.invert = invert$1;
+matrix$5.clone = clone$7;
+var matrix$4 = matrix$5;
+var vector$2 = vector$3;
+var mIdentity$1 = matrix$4.identity;
+var EPSILON$7 = 5e-5;
+function isNotAroundZero$3(val) {
+  return val > EPSILON$7 || val < -EPSILON$7;
+}
+var Transformable$4 = function(opts2) {
+  opts2 = opts2 || {};
+  if (!opts2.position) {
+    this.position = [0, 0];
+  }
+  if (opts2.rotation == null) {
+    this.rotation = 0;
+  }
+  if (!opts2.scale) {
+    this.scale = [1, 1];
+  }
+  this.origin = this.origin || null;
+};
+var transformableProto = Transformable$4.prototype;
+transformableProto.transform = null;
+transformableProto.needLocalTransform = function() {
+  return isNotAroundZero$3(this.rotation) || isNotAroundZero$3(this.position[0]) || isNotAroundZero$3(this.position[1]) || isNotAroundZero$3(this.scale[0] - 1) || isNotAroundZero$3(this.scale[1] - 1);
+};
+var scaleTmp$1 = [];
+transformableProto.updateTransform = function() {
+  var parent3 = this.parent;
+  var parentHasTransform = parent3 && parent3.transform;
+  var needLocalTransform = this.needLocalTransform();
+  var m2 = this.transform;
+  if (!(needLocalTransform || parentHasTransform)) {
+    m2 && mIdentity$1(m2);
+    return;
+  }
+  m2 = m2 || matrix$4.create();
+  if (needLocalTransform) {
+    this.getLocalTransform(m2);
+  } else {
+    mIdentity$1(m2);
+  }
+  if (parentHasTransform) {
+    if (needLocalTransform) {
+      matrix$4.mul(m2, parent3.transform, m2);
+    } else {
+      matrix$4.copy(m2, parent3.transform);
+    }
+  }
+  this.transform = m2;
+  var globalScaleRatio = this.globalScaleRatio;
+  if (globalScaleRatio != null && globalScaleRatio !== 1) {
+    this.getGlobalScale(scaleTmp$1);
+    var relX = scaleTmp$1[0] < 0 ? -1 : 1;
+    var relY = scaleTmp$1[1] < 0 ? -1 : 1;
+    var sx = ((scaleTmp$1[0] - relX) * globalScaleRatio + relX) / scaleTmp$1[0] || 0;
+    var sy = ((scaleTmp$1[1] - relY) * globalScaleRatio + relY) / scaleTmp$1[1] || 0;
+    m2[0] *= sx;
+    m2[1] *= sx;
+    m2[2] *= sy;
+    m2[3] *= sy;
+  }
+  this.invTransform = this.invTransform || matrix$4.create();
+  matrix$4.invert(this.invTransform, m2);
+};
+transformableProto.getLocalTransform = function(m2) {
+  return Transformable$4.getLocalTransform(this, m2);
+};
+transformableProto.setTransform = function(ctx) {
+  var m2 = this.transform;
+  var dpr2 = ctx.dpr || 1;
+  if (m2) {
+    ctx.setTransform(dpr2 * m2[0], dpr2 * m2[1], dpr2 * m2[2], dpr2 * m2[3], dpr2 * m2[4], dpr2 * m2[5]);
+  } else {
+    ctx.setTransform(dpr2, 0, 0, dpr2, 0, 0);
+  }
+};
+transformableProto.restoreTransform = function(ctx) {
+  var dpr2 = ctx.dpr || 1;
+  ctx.setTransform(dpr2, 0, 0, dpr2, 0, 0);
+};
+var tmpTransform$1 = [];
+var originTransform$1 = matrix$4.create();
+transformableProto.setLocalTransform = function(m2) {
+  if (!m2) {
+    return;
+  }
+  var sx = m2[0] * m2[0] + m2[1] * m2[1];
+  var sy = m2[2] * m2[2] + m2[3] * m2[3];
+  var position2 = this.position;
+  var scale2 = this.scale;
+  if (isNotAroundZero$3(sx - 1)) {
+    sx = Math.sqrt(sx);
+  }
+  if (isNotAroundZero$3(sy - 1)) {
+    sy = Math.sqrt(sy);
+  }
+  if (m2[0] < 0) {
+    sx = -sx;
+  }
+  if (m2[3] < 0) {
+    sy = -sy;
+  }
+  position2[0] = m2[4];
+  position2[1] = m2[5];
+  scale2[0] = sx;
+  scale2[1] = sy;
+  this.rotation = Math.atan2(-m2[1] / sy, m2[0] / sx);
+};
+transformableProto.decomposeTransform = function() {
+  if (!this.transform) {
+    return;
+  }
+  var parent3 = this.parent;
+  var m2 = this.transform;
+  if (parent3 && parent3.transform) {
+    matrix$4.mul(tmpTransform$1, parent3.invTransform, m2);
+    m2 = tmpTransform$1;
+  }
+  var origin2 = this.origin;
+  if (origin2 && (origin2[0] || origin2[1])) {
+    originTransform$1[4] = origin2[0];
+    originTransform$1[5] = origin2[1];
+    matrix$4.mul(tmpTransform$1, m2, originTransform$1);
+    tmpTransform$1[4] -= origin2[0];
+    tmpTransform$1[5] -= origin2[1];
+    m2 = tmpTransform$1;
+  }
+  this.setLocalTransform(m2);
+};
+transformableProto.getGlobalScale = function(out2) {
+  var m2 = this.transform;
+  out2 = out2 || [];
+  if (!m2) {
+    out2[0] = 1;
+    out2[1] = 1;
+    return out2;
+  }
+  out2[0] = Math.sqrt(m2[0] * m2[0] + m2[1] * m2[1]);
+  out2[1] = Math.sqrt(m2[2] * m2[2] + m2[3] * m2[3]);
+  if (m2[0] < 0) {
+    out2[0] = -out2[0];
+  }
+  if (m2[3] < 0) {
+    out2[1] = -out2[1];
+  }
+  return out2;
+};
+transformableProto.transformCoordToLocal = function(x2, y2) {
+  var v22 = [x2, y2];
+  var invTransform = this.invTransform;
+  if (invTransform) {
+    vector$2.applyTransform(v22, v22, invTransform);
+  }
+  return v22;
+};
+transformableProto.transformCoordToGlobal = function(x2, y2) {
+  var v22 = [x2, y2];
+  var transform3 = this.transform;
+  if (transform3) {
+    vector$2.applyTransform(v22, v22, transform3);
+  }
+  return v22;
+};
+Transformable$4.getLocalTransform = function(target, m2) {
+  m2 = m2 || [];
+  mIdentity$1(m2);
+  var origin2 = target.origin;
+  var scale2 = target.scale || [1, 1];
+  var rotation = target.rotation || 0;
+  var position2 = target.position || [0, 0];
+  if (origin2) {
+    m2[4] -= origin2[0];
+    m2[5] -= origin2[1];
+  }
+  matrix$4.scale(m2, m2, scale2);
+  if (rotation) {
+    matrix$4.rotate(m2, m2, rotation);
+  }
+  if (origin2) {
+    m2[4] += origin2[0];
+    m2[5] += origin2[1];
+  }
+  m2[4] += position2[0];
+  m2[5] += position2[1];
+  return m2;
+};
+var _default$1a = Transformable$4;
+var Transformable_1 = _default$1a;
+var easing = {
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  linear: function(k2) {
+    return k2;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quadraticIn: function(k2) {
+    return k2 * k2;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quadraticOut: function(k2) {
+    return k2 * (2 - k2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quadraticInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2;
+    }
+    return -0.5 * (--k2 * (k2 - 2) - 1);
+  },
+  // 三次方的缓动(t^3)
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  cubicIn: function(k2) {
+    return k2 * k2 * k2;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  cubicOut: function(k2) {
+    return --k2 * k2 * k2 + 1;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  cubicInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2 * k2;
+    }
+    return 0.5 * ((k2 -= 2) * k2 * k2 + 2);
+  },
+  // 四次方的缓动(t^4)
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quarticIn: function(k2) {
+    return k2 * k2 * k2 * k2;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quarticOut: function(k2) {
+    return 1 - --k2 * k2 * k2 * k2;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quarticInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2 * k2 * k2;
+    }
+    return -0.5 * ((k2 -= 2) * k2 * k2 * k2 - 2);
+  },
+  // 五次方的缓动(t^5)
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quinticIn: function(k2) {
+    return k2 * k2 * k2 * k2 * k2;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quinticOut: function(k2) {
+    return --k2 * k2 * k2 * k2 * k2 + 1;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  quinticInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2 * k2 * k2 * k2;
+    }
+    return 0.5 * ((k2 -= 2) * k2 * k2 * k2 * k2 + 2);
+  },
+  // 正弦曲线的缓动(sin(t))
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  sinusoidalIn: function(k2) {
+    return 1 - Math.cos(k2 * Math.PI / 2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  sinusoidalOut: function(k2) {
+    return Math.sin(k2 * Math.PI / 2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  sinusoidalInOut: function(k2) {
+    return 0.5 * (1 - Math.cos(Math.PI * k2));
+  },
+  // 指数曲线的缓动(2^t)
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  exponentialIn: function(k2) {
+    return k2 === 0 ? 0 : Math.pow(1024, k2 - 1);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  exponentialOut: function(k2) {
+    return k2 === 1 ? 1 : 1 - Math.pow(2, -10 * k2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  exponentialInOut: function(k2) {
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if ((k2 *= 2) < 1) {
+      return 0.5 * Math.pow(1024, k2 - 1);
+    }
+    return 0.5 * (-Math.pow(2, -10 * (k2 - 1)) + 2);
+  },
+  // 圆形曲线的缓动(sqrt(1-t^2))
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  circularIn: function(k2) {
+    return 1 - Math.sqrt(1 - k2 * k2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  circularOut: function(k2) {
+    return Math.sqrt(1 - --k2 * k2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  circularInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return -0.5 * (Math.sqrt(1 - k2 * k2) - 1);
+    }
+    return 0.5 * (Math.sqrt(1 - (k2 -= 2) * k2) + 1);
+  },
+  // 创建类似于弹簧在停止前来回振荡的动画
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  elasticIn: function(k2) {
+    var s2;
+    var a2 = 0.1;
+    var p2 = 0.4;
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if (!a2 || a2 < 1) {
+      a2 = 1;
+      s2 = p2 / 4;
+    } else {
+      s2 = p2 * Math.asin(1 / a2) / (2 * Math.PI);
+    }
+    return -(a2 * Math.pow(2, 10 * (k2 -= 1)) * Math.sin((k2 - s2) * (2 * Math.PI) / p2));
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  elasticOut: function(k2) {
+    var s2;
+    var a2 = 0.1;
+    var p2 = 0.4;
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if (!a2 || a2 < 1) {
+      a2 = 1;
+      s2 = p2 / 4;
+    } else {
+      s2 = p2 * Math.asin(1 / a2) / (2 * Math.PI);
+    }
+    return a2 * Math.pow(2, -10 * k2) * Math.sin((k2 - s2) * (2 * Math.PI) / p2) + 1;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  elasticInOut: function(k2) {
+    var s2;
+    var a2 = 0.1;
+    var p2 = 0.4;
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if (!a2 || a2 < 1) {
+      a2 = 1;
+      s2 = p2 / 4;
+    } else {
+      s2 = p2 * Math.asin(1 / a2) / (2 * Math.PI);
+    }
+    if ((k2 *= 2) < 1) {
+      return -0.5 * (a2 * Math.pow(2, 10 * (k2 -= 1)) * Math.sin((k2 - s2) * (2 * Math.PI) / p2));
+    }
+    return a2 * Math.pow(2, -10 * (k2 -= 1)) * Math.sin((k2 - s2) * (2 * Math.PI) / p2) * 0.5 + 1;
+  },
+  // 在某一动画开始沿指示的路径进行动画处理前稍稍收回该动画的移动
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  backIn: function(k2) {
+    var s2 = 1.70158;
+    return k2 * k2 * ((s2 + 1) * k2 - s2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  backOut: function(k2) {
+    var s2 = 1.70158;
+    return --k2 * k2 * ((s2 + 1) * k2 + s2) + 1;
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  backInOut: function(k2) {
+    var s2 = 1.70158 * 1.525;
+    if ((k2 *= 2) < 1) {
+      return 0.5 * (k2 * k2 * ((s2 + 1) * k2 - s2));
+    }
+    return 0.5 * ((k2 -= 2) * k2 * ((s2 + 1) * k2 + s2) + 2);
+  },
+  // 创建弹跳效果
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  bounceIn: function(k2) {
+    return 1 - easing.bounceOut(1 - k2);
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  bounceOut: function(k2) {
+    if (k2 < 1 / 2.75) {
+      return 7.5625 * k2 * k2;
+    } else if (k2 < 2 / 2.75) {
+      return 7.5625 * (k2 -= 1.5 / 2.75) * k2 + 0.75;
+    } else if (k2 < 2.5 / 2.75) {
+      return 7.5625 * (k2 -= 2.25 / 2.75) * k2 + 0.9375;
+    } else {
+      return 7.5625 * (k2 -= 2.625 / 2.75) * k2 + 0.984375;
+    }
+  },
+  /**
+  * @param {number} k
+  * @return {number}
+  */
+  bounceInOut: function(k2) {
+    if (k2 < 0.5) {
+      return easing.bounceIn(k2 * 2) * 0.5;
+    }
+    return easing.bounceOut(k2 * 2 - 1) * 0.5 + 0.5;
+  }
+};
+var _default$19 = easing;
+var easing_1 = _default$19;
+var easingFuncs$2 = easing_1;
+function Clip$3(options2) {
+  this._target = options2.target;
+  this._life = options2.life || 1e3;
+  this._delay = options2.delay || 0;
+  this._initialized = false;
+  this.loop = options2.loop == null ? false : options2.loop;
+  this.gap = options2.gap || 0;
+  this.easing = options2.easing || "Linear";
+  this.onframe = options2.onframe;
+  this.ondestroy = options2.ondestroy;
+  this.onrestart = options2.onrestart;
+  this._pausedTime = 0;
+  this._paused = false;
+}
+Clip$3.prototype = {
+  constructor: Clip$3,
+  step: function(globalTime, deltaTime) {
+    if (!this._initialized) {
+      this._startTime = globalTime + this._delay;
+      this._initialized = true;
+    }
+    if (this._paused) {
+      this._pausedTime += deltaTime;
+      return;
+    }
+    var percent = (globalTime - this._startTime - this._pausedTime) / this._life;
+    if (percent < 0) {
+      return;
+    }
+    percent = Math.min(percent, 1);
+    var easing2 = this.easing;
+    var easingFunc = typeof easing2 === "string" ? easingFuncs$2[easing2] : easing2;
+    var schedule = typeof easingFunc === "function" ? easingFunc(percent) : percent;
+    this.fire("frame", schedule);
+    if (percent === 1) {
+      if (this.loop) {
+        this.restart(globalTime);
+        return "restart";
+      }
+      this._needsRemove = true;
+      return "destroy";
+    }
+    return null;
+  },
+  restart: function(globalTime) {
+    var remainder = (globalTime - this._startTime - this._pausedTime) % this._life;
+    this._startTime = globalTime - remainder + this.gap;
+    this._pausedTime = 0;
+    this._needsRemove = false;
+  },
+  fire: function(eventType, arg) {
+    eventType = "on" + eventType;
+    if (this[eventType]) {
+      this[eventType](this._target, arg);
+    }
+  },
+  pause: function() {
+    this._paused = true;
+  },
+  resume: function() {
+    this._paused = false;
+  }
+};
+var _default$18 = Clip$3;
+var Clip_1 = _default$18;
+var color$2 = {};
+var LinkedList$1 = function() {
+  this.head = null;
+  this.tail = null;
+  this._len = 0;
+};
+var linkedListProto = LinkedList$1.prototype;
+linkedListProto.insert = function(val) {
+  var entry = new Entry$1(val);
+  this.insertEntry(entry);
+  return entry;
+};
+linkedListProto.insertEntry = function(entry) {
+  if (!this.head) {
+    this.head = this.tail = entry;
+  } else {
+    this.tail.next = entry;
+    entry.prev = this.tail;
+    entry.next = null;
+    this.tail = entry;
+  }
+  this._len++;
+};
+linkedListProto.remove = function(entry) {
+  var prev = entry.prev;
+  var next = entry.next;
+  if (prev) {
+    prev.next = next;
+  } else {
+    this.head = next;
+  }
+  if (next) {
+    next.prev = prev;
+  } else {
+    this.tail = prev;
+  }
+  entry.next = entry.prev = null;
+  this._len--;
+};
+linkedListProto.len = function() {
+  return this._len;
+};
+linkedListProto.clear = function() {
+  this.head = this.tail = null;
+  this._len = 0;
+};
+var Entry$1 = function(val) {
+  this.value = val;
+  this.next;
+  this.prev;
+};
+var LRU$4 = function(maxSize) {
+  this._list = new LinkedList$1();
+  this._map = {};
+  this._maxSize = maxSize || 10;
+  this._lastRemovedEntry = null;
+};
+var LRUProto = LRU$4.prototype;
+LRUProto.put = function(key2, value) {
+  var list2 = this._list;
+  var map2 = this._map;
+  var removed = null;
+  if (map2[key2] == null) {
+    var len2 = list2.len();
+    var entry = this._lastRemovedEntry;
+    if (len2 >= this._maxSize && len2 > 0) {
+      var leastUsedEntry = list2.head;
+      list2.remove(leastUsedEntry);
+      delete map2[leastUsedEntry.key];
+      removed = leastUsedEntry.value;
+      this._lastRemovedEntry = leastUsedEntry;
+    }
+    if (entry) {
+      entry.value = value;
+    } else {
+      entry = new Entry$1(value);
+    }
+    entry.key = key2;
+    list2.insertEntry(entry);
+    map2[key2] = entry;
+  }
+  return removed;
+};
+LRUProto.get = function(key2) {
+  var entry = this._map[key2];
+  var list2 = this._list;
+  if (entry != null) {
+    if (entry !== list2.tail) {
+      list2.remove(entry);
+      list2.insertEntry(entry);
+    }
+    return entry.value;
+  }
+};
+LRUProto.clear = function() {
+  this._list.clear();
+  this._map = {};
+};
+var _default$17 = LRU$4;
+var LRU_1 = _default$17;
+var LRU$3 = LRU_1;
+var kCSSColorTable$1 = {
+  "transparent": [0, 0, 0, 0],
+  "aliceblue": [240, 248, 255, 1],
+  "antiquewhite": [250, 235, 215, 1],
+  "aqua": [0, 255, 255, 1],
+  "aquamarine": [127, 255, 212, 1],
+  "azure": [240, 255, 255, 1],
+  "beige": [245, 245, 220, 1],
+  "bisque": [255, 228, 196, 1],
+  "black": [0, 0, 0, 1],
+  "blanchedalmond": [255, 235, 205, 1],
+  "blue": [0, 0, 255, 1],
+  "blueviolet": [138, 43, 226, 1],
+  "brown": [165, 42, 42, 1],
+  "burlywood": [222, 184, 135, 1],
+  "cadetblue": [95, 158, 160, 1],
+  "chartreuse": [127, 255, 0, 1],
+  "chocolate": [210, 105, 30, 1],
+  "coral": [255, 127, 80, 1],
+  "cornflowerblue": [100, 149, 237, 1],
+  "cornsilk": [255, 248, 220, 1],
+  "crimson": [220, 20, 60, 1],
+  "cyan": [0, 255, 255, 1],
+  "darkblue": [0, 0, 139, 1],
+  "darkcyan": [0, 139, 139, 1],
+  "darkgoldenrod": [184, 134, 11, 1],
+  "darkgray": [169, 169, 169, 1],
+  "darkgreen": [0, 100, 0, 1],
+  "darkgrey": [169, 169, 169, 1],
+  "darkkhaki": [189, 183, 107, 1],
+  "darkmagenta": [139, 0, 139, 1],
+  "darkolivegreen": [85, 107, 47, 1],
+  "darkorange": [255, 140, 0, 1],
+  "darkorchid": [153, 50, 204, 1],
+  "darkred": [139, 0, 0, 1],
+  "darksalmon": [233, 150, 122, 1],
+  "darkseagreen": [143, 188, 143, 1],
+  "darkslateblue": [72, 61, 139, 1],
+  "darkslategray": [47, 79, 79, 1],
+  "darkslategrey": [47, 79, 79, 1],
+  "darkturquoise": [0, 206, 209, 1],
+  "darkviolet": [148, 0, 211, 1],
+  "deeppink": [255, 20, 147, 1],
+  "deepskyblue": [0, 191, 255, 1],
+  "dimgray": [105, 105, 105, 1],
+  "dimgrey": [105, 105, 105, 1],
+  "dodgerblue": [30, 144, 255, 1],
+  "firebrick": [178, 34, 34, 1],
+  "floralwhite": [255, 250, 240, 1],
+  "forestgreen": [34, 139, 34, 1],
+  "fuchsia": [255, 0, 255, 1],
+  "gainsboro": [220, 220, 220, 1],
+  "ghostwhite": [248, 248, 255, 1],
+  "gold": [255, 215, 0, 1],
+  "goldenrod": [218, 165, 32, 1],
+  "gray": [128, 128, 128, 1],
+  "green": [0, 128, 0, 1],
+  "greenyellow": [173, 255, 47, 1],
+  "grey": [128, 128, 128, 1],
+  "honeydew": [240, 255, 240, 1],
+  "hotpink": [255, 105, 180, 1],
+  "indianred": [205, 92, 92, 1],
+  "indigo": [75, 0, 130, 1],
+  "ivory": [255, 255, 240, 1],
+  "khaki": [240, 230, 140, 1],
+  "lavender": [230, 230, 250, 1],
+  "lavenderblush": [255, 240, 245, 1],
+  "lawngreen": [124, 252, 0, 1],
+  "lemonchiffon": [255, 250, 205, 1],
+  "lightblue": [173, 216, 230, 1],
+  "lightcoral": [240, 128, 128, 1],
+  "lightcyan": [224, 255, 255, 1],
+  "lightgoldenrodyellow": [250, 250, 210, 1],
+  "lightgray": [211, 211, 211, 1],
+  "lightgreen": [144, 238, 144, 1],
+  "lightgrey": [211, 211, 211, 1],
+  "lightpink": [255, 182, 193, 1],
+  "lightsalmon": [255, 160, 122, 1],
+  "lightseagreen": [32, 178, 170, 1],
+  "lightskyblue": [135, 206, 250, 1],
+  "lightslategray": [119, 136, 153, 1],
+  "lightslategrey": [119, 136, 153, 1],
+  "lightsteelblue": [176, 196, 222, 1],
+  "lightyellow": [255, 255, 224, 1],
+  "lime": [0, 255, 0, 1],
+  "limegreen": [50, 205, 50, 1],
+  "linen": [250, 240, 230, 1],
+  "magenta": [255, 0, 255, 1],
+  "maroon": [128, 0, 0, 1],
+  "mediumaquamarine": [102, 205, 170, 1],
+  "mediumblue": [0, 0, 205, 1],
+  "mediumorchid": [186, 85, 211, 1],
+  "mediumpurple": [147, 112, 219, 1],
+  "mediumseagreen": [60, 179, 113, 1],
+  "mediumslateblue": [123, 104, 238, 1],
+  "mediumspringgreen": [0, 250, 154, 1],
+  "mediumturquoise": [72, 209, 204, 1],
+  "mediumvioletred": [199, 21, 133, 1],
+  "midnightblue": [25, 25, 112, 1],
+  "mintcream": [245, 255, 250, 1],
+  "mistyrose": [255, 228, 225, 1],
+  "moccasin": [255, 228, 181, 1],
+  "navajowhite": [255, 222, 173, 1],
+  "navy": [0, 0, 128, 1],
+  "oldlace": [253, 245, 230, 1],
+  "olive": [128, 128, 0, 1],
+  "olivedrab": [107, 142, 35, 1],
+  "orange": [255, 165, 0, 1],
+  "orangered": [255, 69, 0, 1],
+  "orchid": [218, 112, 214, 1],
+  "palegoldenrod": [238, 232, 170, 1],
+  "palegreen": [152, 251, 152, 1],
+  "paleturquoise": [175, 238, 238, 1],
+  "palevioletred": [219, 112, 147, 1],
+  "papayawhip": [255, 239, 213, 1],
+  "peachpuff": [255, 218, 185, 1],
+  "peru": [205, 133, 63, 1],
+  "pink": [255, 192, 203, 1],
+  "plum": [221, 160, 221, 1],
+  "powderblue": [176, 224, 230, 1],
+  "purple": [128, 0, 128, 1],
+  "red": [255, 0, 0, 1],
+  "rosybrown": [188, 143, 143, 1],
+  "royalblue": [65, 105, 225, 1],
+  "saddlebrown": [139, 69, 19, 1],
+  "salmon": [250, 128, 114, 1],
+  "sandybrown": [244, 164, 96, 1],
+  "seagreen": [46, 139, 87, 1],
+  "seashell": [255, 245, 238, 1],
+  "sienna": [160, 82, 45, 1],
+  "silver": [192, 192, 192, 1],
+  "skyblue": [135, 206, 235, 1],
+  "slateblue": [106, 90, 205, 1],
+  "slategray": [112, 128, 144, 1],
+  "slategrey": [112, 128, 144, 1],
+  "snow": [255, 250, 250, 1],
+  "springgreen": [0, 255, 127, 1],
+  "steelblue": [70, 130, 180, 1],
+  "tan": [210, 180, 140, 1],
+  "teal": [0, 128, 128, 1],
+  "thistle": [216, 191, 216, 1],
+  "tomato": [255, 99, 71, 1],
+  "turquoise": [64, 224, 208, 1],
+  "violet": [238, 130, 238, 1],
+  "wheat": [245, 222, 179, 1],
+  "white": [255, 255, 255, 1],
+  "whitesmoke": [245, 245, 245, 1],
+  "yellow": [255, 255, 0, 1],
+  "yellowgreen": [154, 205, 50, 1]
+};
+function clampCssByte$1(i2) {
+  i2 = Math.round(i2);
+  return i2 < 0 ? 0 : i2 > 255 ? 255 : i2;
+}
+function clampCssAngle$1(i2) {
+  i2 = Math.round(i2);
+  return i2 < 0 ? 0 : i2 > 360 ? 360 : i2;
+}
+function clampCssFloat$1(f2) {
+  return f2 < 0 ? 0 : f2 > 1 ? 1 : f2;
+}
+function parseCssInt$1(str) {
+  if (str.length && str.charAt(str.length - 1) === "%") {
+    return clampCssByte$1(parseFloat(str) / 100 * 255);
+  }
+  return clampCssByte$1(parseInt(str, 10));
+}
+function parseCssFloat$1(str) {
+  if (str.length && str.charAt(str.length - 1) === "%") {
+    return clampCssFloat$1(parseFloat(str) / 100);
+  }
+  return clampCssFloat$1(parseFloat(str));
+}
+function cssHueToRgb$1(m1, m2, h3) {
+  if (h3 < 0) {
+    h3 += 1;
+  } else if (h3 > 1) {
+    h3 -= 1;
+  }
+  if (h3 * 6 < 1) {
+    return m1 + (m2 - m1) * h3 * 6;
+  }
+  if (h3 * 2 < 1) {
+    return m2;
+  }
+  if (h3 * 3 < 2) {
+    return m1 + (m2 - m1) * (2 / 3 - h3) * 6;
+  }
+  return m1;
+}
+function lerpNumber$1(a2, b2, p2) {
+  return a2 + (b2 - a2) * p2;
+}
+function setRgba$1(out2, r2, g2, b2, a2) {
+  out2[0] = r2;
+  out2[1] = g2;
+  out2[2] = b2;
+  out2[3] = a2;
+  return out2;
+}
+function copyRgba$1(out2, a2) {
+  out2[0] = a2[0];
+  out2[1] = a2[1];
+  out2[2] = a2[2];
+  out2[3] = a2[3];
+  return out2;
+}
+var colorCache$1 = new LRU$3(20);
+var lastRemovedArr$1 = null;
+function putToCache$1(colorStr, rgbaArr) {
+  if (lastRemovedArr$1) {
+    copyRgba$1(lastRemovedArr$1, rgbaArr);
+  }
+  lastRemovedArr$1 = colorCache$1.put(colorStr, lastRemovedArr$1 || rgbaArr.slice());
+}
+function parse$2(colorStr, rgbaArr) {
+  if (!colorStr) {
+    return;
+  }
+  rgbaArr = rgbaArr || [];
+  var cached2 = colorCache$1.get(colorStr);
+  if (cached2) {
+    return copyRgba$1(rgbaArr, cached2);
+  }
+  colorStr = colorStr + "";
+  var str = colorStr.replace(/ /g, "").toLowerCase();
+  if (str in kCSSColorTable$1) {
+    copyRgba$1(rgbaArr, kCSSColorTable$1[str]);
+    putToCache$1(colorStr, rgbaArr);
+    return rgbaArr;
+  }
+  if (str.charAt(0) === "#") {
+    if (str.length === 4) {
+      var iv = parseInt(str.substr(1), 16);
+      if (!(iv >= 0 && iv <= 4095)) {
+        setRgba$1(rgbaArr, 0, 0, 0, 1);
+        return;
+      }
+      setRgba$1(rgbaArr, (iv & 3840) >> 4 | (iv & 3840) >> 8, iv & 240 | (iv & 240) >> 4, iv & 15 | (iv & 15) << 4, 1);
+      putToCache$1(colorStr, rgbaArr);
+      return rgbaArr;
+    } else if (str.length === 7) {
+      var iv = parseInt(str.substr(1), 16);
+      if (!(iv >= 0 && iv <= 16777215)) {
+        setRgba$1(rgbaArr, 0, 0, 0, 1);
+        return;
+      }
+      setRgba$1(rgbaArr, (iv & 16711680) >> 16, (iv & 65280) >> 8, iv & 255, 1);
+      putToCache$1(colorStr, rgbaArr);
+      return rgbaArr;
+    }
+    return;
+  }
+  var op = str.indexOf("(");
+  var ep = str.indexOf(")");
+  if (op !== -1 && ep + 1 === str.length) {
+    var fname = str.substr(0, op);
+    var params2 = str.substr(op + 1, ep - (op + 1)).split(",");
+    var alpha = 1;
+    switch (fname) {
+      case "rgba":
+        if (params2.length !== 4) {
+          setRgba$1(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+        alpha = parseCssFloat$1(params2.pop());
+      case "rgb":
+        if (params2.length !== 3) {
+          setRgba$1(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+        setRgba$1(rgbaArr, parseCssInt$1(params2[0]), parseCssInt$1(params2[1]), parseCssInt$1(params2[2]), alpha);
+        putToCache$1(colorStr, rgbaArr);
+        return rgbaArr;
+      case "hsla":
+        if (params2.length !== 4) {
+          setRgba$1(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+        params2[3] = parseCssFloat$1(params2[3]);
+        hsla2rgba$1(params2, rgbaArr);
+        putToCache$1(colorStr, rgbaArr);
+        return rgbaArr;
+      case "hsl":
+        if (params2.length !== 3) {
+          setRgba$1(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+        hsla2rgba$1(params2, rgbaArr);
+        putToCache$1(colorStr, rgbaArr);
+        return rgbaArr;
+      default:
+        return;
+    }
+  }
+  setRgba$1(rgbaArr, 0, 0, 0, 1);
+  return;
+}
+function hsla2rgba$1(hsla, rgba) {
+  var h3 = (parseFloat(hsla[0]) % 360 + 360) % 360 / 360;
+  var s2 = parseCssFloat$1(hsla[1]);
+  var l2 = parseCssFloat$1(hsla[2]);
+  var m2 = l2 <= 0.5 ? l2 * (s2 + 1) : l2 + s2 - l2 * s2;
+  var m1 = l2 * 2 - m2;
+  rgba = rgba || [];
+  setRgba$1(rgba, clampCssByte$1(cssHueToRgb$1(m1, m2, h3 + 1 / 3) * 255), clampCssByte$1(cssHueToRgb$1(m1, m2, h3) * 255), clampCssByte$1(cssHueToRgb$1(m1, m2, h3 - 1 / 3) * 255), 1);
+  if (hsla.length === 4) {
+    rgba[3] = hsla[3];
+  }
+  return rgba;
+}
+function rgba2hsla$1(rgba) {
+  if (!rgba) {
+    return;
+  }
+  var R2 = rgba[0] / 255;
+  var G2 = rgba[1] / 255;
+  var B2 = rgba[2] / 255;
+  var vMin = Math.min(R2, G2, B2);
+  var vMax = Math.max(R2, G2, B2);
+  var delta = vMax - vMin;
+  var L2 = (vMax + vMin) / 2;
+  var H2;
+  var S2;
+  if (delta === 0) {
+    H2 = 0;
+    S2 = 0;
+  } else {
+    if (L2 < 0.5) {
+      S2 = delta / (vMax + vMin);
+    } else {
+      S2 = delta / (2 - vMax - vMin);
+    }
+    var deltaR = ((vMax - R2) / 6 + delta / 2) / delta;
+    var deltaG = ((vMax - G2) / 6 + delta / 2) / delta;
+    var deltaB = ((vMax - B2) / 6 + delta / 2) / delta;
+    if (R2 === vMax) {
+      H2 = deltaB - deltaG;
+    } else if (G2 === vMax) {
+      H2 = 1 / 3 + deltaR - deltaB;
+    } else if (B2 === vMax) {
+      H2 = 2 / 3 + deltaG - deltaR;
+    }
+    if (H2 < 0) {
+      H2 += 1;
+    }
+    if (H2 > 1) {
+      H2 -= 1;
+    }
+  }
+  var hsla = [H2 * 360, S2, L2];
+  if (rgba[3] != null) {
+    hsla.push(rgba[3]);
+  }
+  return hsla;
+}
+function lift$1(color2, level) {
+  var colorArr = parse$2(color2);
+  if (colorArr) {
+    for (var i2 = 0; i2 < 3; i2++) {
+      if (level < 0) {
+        colorArr[i2] = colorArr[i2] * (1 - level) | 0;
+      } else {
+        colorArr[i2] = (255 - colorArr[i2]) * level + colorArr[i2] | 0;
+      }
+      if (colorArr[i2] > 255) {
+        colorArr[i2] = 255;
+      } else if (color2[i2] < 0) {
+        colorArr[i2] = 0;
+      }
+    }
+    return stringify$1(colorArr, colorArr.length === 4 ? "rgba" : "rgb");
+  }
+}
+function toHex$1(color2) {
+  var colorArr = parse$2(color2);
+  if (colorArr) {
+    return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + +colorArr[2]).toString(16).slice(1);
+  }
+}
+function fastLerp$1(normalizedValue, colors, out2) {
+  if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {
+    return;
+  }
+  out2 = out2 || [];
+  var value = normalizedValue * (colors.length - 1);
+  var leftIndex = Math.floor(value);
+  var rightIndex = Math.ceil(value);
+  var leftColor = colors[leftIndex];
+  var rightColor = colors[rightIndex];
+  var dv = value - leftIndex;
+  out2[0] = clampCssByte$1(lerpNumber$1(leftColor[0], rightColor[0], dv));
+  out2[1] = clampCssByte$1(lerpNumber$1(leftColor[1], rightColor[1], dv));
+  out2[2] = clampCssByte$1(lerpNumber$1(leftColor[2], rightColor[2], dv));
+  out2[3] = clampCssFloat$1(lerpNumber$1(leftColor[3], rightColor[3], dv));
+  return out2;
+}
+var fastMapToColor$1 = fastLerp$1;
+function lerp$2(normalizedValue, colors, fullOutput) {
+  if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {
+    return;
+  }
+  var value = normalizedValue * (colors.length - 1);
+  var leftIndex = Math.floor(value);
+  var rightIndex = Math.ceil(value);
+  var leftColor = parse$2(colors[leftIndex]);
+  var rightColor = parse$2(colors[rightIndex]);
+  var dv = value - leftIndex;
+  var color2 = stringify$1([clampCssByte$1(lerpNumber$1(leftColor[0], rightColor[0], dv)), clampCssByte$1(lerpNumber$1(leftColor[1], rightColor[1], dv)), clampCssByte$1(lerpNumber$1(leftColor[2], rightColor[2], dv)), clampCssFloat$1(lerpNumber$1(leftColor[3], rightColor[3], dv))], "rgba");
+  return fullOutput ? {
+    color: color2,
+    leftIndex,
+    rightIndex,
+    value
+  } : color2;
+}
+var mapToColor$1 = lerp$2;
+function modifyHSL$1(color2, h3, s2, l2) {
+  color2 = parse$2(color2);
+  if (color2) {
+    color2 = rgba2hsla$1(color2);
+    h3 != null && (color2[0] = clampCssAngle$1(h3));
+    s2 != null && (color2[1] = parseCssFloat$1(s2));
+    l2 != null && (color2[2] = parseCssFloat$1(l2));
+    return stringify$1(hsla2rgba$1(color2), "rgba");
+  }
+}
+function modifyAlpha$1(color2, alpha) {
+  color2 = parse$2(color2);
+  if (color2 && alpha != null) {
+    color2[3] = clampCssFloat$1(alpha);
+    return stringify$1(color2, "rgba");
+  }
+}
+function stringify$1(arrColor, type2) {
+  if (!arrColor || !arrColor.length) {
+    return;
+  }
+  var colorStr = arrColor[0] + "," + arrColor[1] + "," + arrColor[2];
+  if (type2 === "rgba" || type2 === "hsva" || type2 === "hsla") {
+    colorStr += "," + arrColor[3];
+  }
+  return type2 + "(" + colorStr + ")";
+}
+color$2.parse = parse$2;
+color$2.lift = lift$1;
+color$2.toHex = toHex$1;
+color$2.fastLerp = fastLerp$1;
+color$2.fastMapToColor = fastMapToColor$1;
+color$2.lerp = lerp$2;
+color$2.mapToColor = mapToColor$1;
+color$2.modifyHSL = modifyHSL$1;
+color$2.modifyAlpha = modifyAlpha$1;
+color$2.stringify = stringify$1;
+var Clip$2 = Clip_1;
+var color$1 = color$2;
+var _util$g = util$a;
+var isArrayLike$2 = _util$g.isArrayLike;
+var arraySlice$1 = Array.prototype.slice;
+function defaultGetter(target, key2) {
+  return target[key2];
+}
+function defaultSetter(target, key2, value) {
+  target[key2] = value;
+}
+function interpolateNumber$2(p0, p1, percent) {
+  return (p1 - p0) * percent + p0;
+}
+function interpolateString(p0, p1, percent) {
+  return percent > 0.5 ? p1 : p0;
+}
+function interpolateArray(p0, p1, percent, out2, arrDim) {
+  var len2 = p0.length;
+  if (arrDim === 1) {
+    for (var i2 = 0; i2 < len2; i2++) {
+      out2[i2] = interpolateNumber$2(p0[i2], p1[i2], percent);
+    }
+  } else {
+    var len22 = len2 && p0[0].length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      for (var j2 = 0; j2 < len22; j2++) {
+        out2[i2][j2] = interpolateNumber$2(p0[i2][j2], p1[i2][j2], percent);
+      }
+    }
+  }
+}
+function fillArr(arr0, arr1, arrDim) {
+  var arr0Len = arr0.length;
+  var arr1Len = arr1.length;
+  if (arr0Len !== arr1Len) {
+    var isPreviousLarger = arr0Len > arr1Len;
+    if (isPreviousLarger) {
+      arr0.length = arr1Len;
+    } else {
+      for (var i2 = arr0Len; i2 < arr1Len; i2++) {
+        arr0.push(arrDim === 1 ? arr1[i2] : arraySlice$1.call(arr1[i2]));
+      }
+    }
+  }
+  var len2 = arr0[0] && arr0[0].length;
+  for (var i2 = 0; i2 < arr0.length; i2++) {
+    if (arrDim === 1) {
+      if (isNaN(arr0[i2])) {
+        arr0[i2] = arr1[i2];
+      }
+    } else {
+      for (var j2 = 0; j2 < len2; j2++) {
+        if (isNaN(arr0[i2][j2])) {
+          arr0[i2][j2] = arr1[i2][j2];
+        }
+      }
+    }
+  }
+}
+function isArraySame(arr0, arr1, arrDim) {
+  if (arr0 === arr1) {
+    return true;
+  }
+  var len2 = arr0.length;
+  if (len2 !== arr1.length) {
+    return false;
+  }
+  if (arrDim === 1) {
+    for (var i2 = 0; i2 < len2; i2++) {
+      if (arr0[i2] !== arr1[i2]) {
+        return false;
+      }
+    }
+  } else {
+    var len22 = arr0[0].length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      for (var j2 = 0; j2 < len22; j2++) {
+        if (arr0[i2][j2] !== arr1[i2][j2]) {
+          return false;
+        }
+      }
+    }
+  }
+  return true;
+}
+function catmullRomInterpolateArray(p0, p1, p2, p3, t2, t22, t3, out2, arrDim) {
+  var len2 = p0.length;
+  if (arrDim === 1) {
+    for (var i2 = 0; i2 < len2; i2++) {
+      out2[i2] = catmullRomInterpolate(p0[i2], p1[i2], p2[i2], p3[i2], t2, t22, t3);
+    }
+  } else {
+    var len22 = p0[0].length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      for (var j2 = 0; j2 < len22; j2++) {
+        out2[i2][j2] = catmullRomInterpolate(p0[i2][j2], p1[i2][j2], p2[i2][j2], p3[i2][j2], t2, t22, t3);
+      }
+    }
+  }
+}
+function catmullRomInterpolate(p0, p1, p2, p3, t2, t22, t3) {
+  var v0 = (p2 - p0) * 0.5;
+  var v12 = (p3 - p1) * 0.5;
+  return (2 * (p1 - p2) + v0 + v12) * t3 + (-3 * (p1 - p2) - 2 * v0 - v12) * t22 + v0 * t2 + p1;
+}
+function cloneValue$1(value) {
+  if (isArrayLike$2(value)) {
+    var len2 = value.length;
+    if (isArrayLike$2(value[0])) {
+      var ret = [];
+      for (var i2 = 0; i2 < len2; i2++) {
+        ret.push(arraySlice$1.call(value[i2]));
+      }
+      return ret;
+    }
+    return arraySlice$1.call(value);
+  }
+  return value;
+}
+function rgba2String$1(rgba) {
+  rgba[0] = Math.floor(rgba[0]);
+  rgba[1] = Math.floor(rgba[1]);
+  rgba[2] = Math.floor(rgba[2]);
+  return "rgba(" + rgba.join(",") + ")";
+}
+function getArrayDim(keyframes) {
+  var lastValue = keyframes[keyframes.length - 1].value;
+  return isArrayLike$2(lastValue && lastValue[0]) ? 2 : 1;
+}
+function createTrackClip(animator, easing2, oneTrackDone, keyframes, propName, forceAnimate) {
+  var getter = animator._getter;
+  var setter = animator._setter;
+  var useSpline = easing2 === "spline";
+  var trackLen = keyframes.length;
+  if (!trackLen) {
+    return;
+  }
+  var firstVal = keyframes[0].value;
+  var isValueArray = isArrayLike$2(firstVal);
+  var isValueColor = false;
+  var isValueString = false;
+  var arrDim = isValueArray ? getArrayDim(keyframes) : 0;
+  var trackMaxTime;
+  keyframes.sort(function(a2, b2) {
+    return a2.time - b2.time;
+  });
+  trackMaxTime = keyframes[trackLen - 1].time;
+  var kfPercents = [];
+  var kfValues = [];
+  var prevValue = keyframes[0].value;
+  var isAllValueEqual = true;
+  for (var i2 = 0; i2 < trackLen; i2++) {
+    kfPercents.push(keyframes[i2].time / trackMaxTime);
+    var value = keyframes[i2].value;
+    if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {
+      isAllValueEqual = false;
+    }
+    prevValue = value;
+    if (typeof value === "string") {
+      var colorArray = color$1.parse(value);
+      if (colorArray) {
+        value = colorArray;
+        isValueColor = true;
+      } else {
+        isValueString = true;
+      }
+    }
+    kfValues.push(value);
+  }
+  if (!forceAnimate && isAllValueEqual) {
+    return;
+  }
+  var lastValue = kfValues[trackLen - 1];
+  for (var i2 = 0; i2 < trackLen - 1; i2++) {
+    if (isValueArray) {
+      fillArr(kfValues[i2], lastValue, arrDim);
+    } else {
+      if (isNaN(kfValues[i2]) && !isNaN(lastValue) && !isValueString && !isValueColor) {
+        kfValues[i2] = lastValue;
+      }
+    }
+  }
+  isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim);
+  var lastFrame = 0;
+  var lastFramePercent = 0;
+  var start2;
+  var w2;
+  var p0;
+  var p1;
+  var p2;
+  var p3;
+  if (isValueColor) {
+    var rgba = [0, 0, 0, 0];
+  }
+  var onframe = function(target, percent) {
+    var frame;
+    if (percent < 0) {
+      frame = 0;
+    } else if (percent < lastFramePercent) {
+      start2 = Math.min(lastFrame + 1, trackLen - 1);
+      for (frame = start2; frame >= 0; frame--) {
+        if (kfPercents[frame] <= percent) {
+          break;
+        }
+      }
+      frame = Math.min(frame, trackLen - 2);
+    } else {
+      for (frame = lastFrame; frame < trackLen; frame++) {
+        if (kfPercents[frame] > percent) {
+          break;
+        }
+      }
+      frame = Math.min(frame - 1, trackLen - 2);
+    }
+    lastFrame = frame;
+    lastFramePercent = percent;
+    var range2 = kfPercents[frame + 1] - kfPercents[frame];
+    if (range2 === 0) {
+      return;
+    } else {
+      w2 = (percent - kfPercents[frame]) / range2;
+    }
+    if (useSpline) {
+      p1 = kfValues[frame];
+      p0 = kfValues[frame === 0 ? frame : frame - 1];
+      p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];
+      p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];
+      if (isValueArray) {
+        catmullRomInterpolateArray(p0, p1, p2, p3, w2, w2 * w2, w2 * w2 * w2, getter(target, propName), arrDim);
+      } else {
+        var value2;
+        if (isValueColor) {
+          value2 = catmullRomInterpolateArray(p0, p1, p2, p3, w2, w2 * w2, w2 * w2 * w2, rgba, 1);
+          value2 = rgba2String$1(rgba);
+        } else if (isValueString) {
+          return interpolateString(p1, p2, w2);
+        } else {
+          value2 = catmullRomInterpolate(p0, p1, p2, p3, w2, w2 * w2, w2 * w2 * w2);
+        }
+        setter(target, propName, value2);
+      }
+    } else {
+      if (isValueArray) {
+        interpolateArray(kfValues[frame], kfValues[frame + 1], w2, getter(target, propName), arrDim);
+      } else {
+        var value2;
+        if (isValueColor) {
+          interpolateArray(kfValues[frame], kfValues[frame + 1], w2, rgba, 1);
+          value2 = rgba2String$1(rgba);
+        } else if (isValueString) {
+          return interpolateString(kfValues[frame], kfValues[frame + 1], w2);
+        } else {
+          value2 = interpolateNumber$2(kfValues[frame], kfValues[frame + 1], w2);
+        }
+        setter(target, propName, value2);
+      }
+    }
+  };
+  var clip2 = new Clip$2({
+    target: animator._target,
+    life: trackMaxTime,
+    loop: animator._loop,
+    delay: animator._delay,
+    onframe,
+    ondestroy: oneTrackDone
+  });
+  if (easing2 && easing2 !== "spline") {
+    clip2.easing = easing2;
+  }
+  return clip2;
+}
+var Animator$4 = function(target, loop, getter, setter) {
+  this._tracks = {};
+  this._target = target;
+  this._loop = loop || false;
+  this._getter = getter || defaultGetter;
+  this._setter = setter || defaultSetter;
+  this._clipCount = 0;
+  this._delay = 0;
+  this._doneList = [];
+  this._onframeList = [];
+  this._clipList = [];
+};
+Animator$4.prototype = {
+  /**
+   * Set Animation keyframe
+   * @param  {number} time 关键帧时间,单位是ms
+   * @param  {Object} props 关键帧的属性值,key-value表示
+   * @return {module:zrender/animation/Animator}
+   */
+  when: function(time2, props2) {
+    var tracks = this._tracks;
+    for (var propName in props2) {
+      if (!props2.hasOwnProperty(propName)) {
+        continue;
+      }
+      if (!tracks[propName]) {
+        tracks[propName] = [];
+        var value = this._getter(this._target, propName);
+        if (value == null) {
+          continue;
+        }
+        if (time2 !== 0) {
+          tracks[propName].push({
+            time: 0,
+            value: cloneValue$1(value)
+          });
+        }
+      }
+      tracks[propName].push({
+        time: time2,
+        value: props2[propName]
+      });
+    }
+    return this;
+  },
+  /**
+   * 添加动画每一帧的回调函数
+   * @param  {Function} callback
+   * @return {module:zrender/animation/Animator}
+   */
+  during: function(callback) {
+    this._onframeList.push(callback);
+    return this;
+  },
+  pause: function() {
+    for (var i2 = 0; i2 < this._clipList.length; i2++) {
+      this._clipList[i2].pause();
+    }
+    this._paused = true;
+  },
+  resume: function() {
+    for (var i2 = 0; i2 < this._clipList.length; i2++) {
+      this._clipList[i2].resume();
+    }
+    this._paused = false;
+  },
+  isPaused: function() {
+    return !!this._paused;
+  },
+  _doneCallback: function() {
+    this._tracks = {};
+    this._clipList.length = 0;
+    var doneList = this._doneList;
+    var len2 = doneList.length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      doneList[i2].call(this);
+    }
+  },
+  /**
+   * Start the animation
+   * @param  {string|Function} [easing]
+   *         动画缓动函数,详见{@link module:zrender/animation/easing}
+   * @param  {boolean} forceAnimate
+   * @return {module:zrender/animation/Animator}
+   */
+  start: function(easing2, forceAnimate) {
+    var self2 = this;
+    var clipCount = 0;
+    var oneTrackDone = function() {
+      clipCount--;
+      if (!clipCount) {
+        self2._doneCallback();
+      }
+    };
+    var lastClip;
+    for (var propName in this._tracks) {
+      if (!this._tracks.hasOwnProperty(propName)) {
+        continue;
+      }
+      var clip2 = createTrackClip(this, easing2, oneTrackDone, this._tracks[propName], propName, forceAnimate);
+      if (clip2) {
+        this._clipList.push(clip2);
+        clipCount++;
+        if (this.animation) {
+          this.animation.addClip(clip2);
+        }
+        lastClip = clip2;
+      }
+    }
+    if (lastClip) {
+      var oldOnFrame = lastClip.onframe;
+      lastClip.onframe = function(target, percent) {
+        oldOnFrame(target, percent);
+        for (var i2 = 0; i2 < self2._onframeList.length; i2++) {
+          self2._onframeList[i2](target, percent);
+        }
+      };
+    }
+    if (!clipCount) {
+      this._doneCallback();
+    }
+    return this;
+  },
+  /**
+   * Stop animation
+   * @param {boolean} forwardToLast If move to last frame before stop
+   */
+  stop: function(forwardToLast) {
+    var clipList = this._clipList;
+    var animation2 = this.animation;
+    for (var i2 = 0; i2 < clipList.length; i2++) {
+      var clip2 = clipList[i2];
+      if (forwardToLast) {
+        clip2.onframe(this._target, 1);
+      }
+      animation2 && animation2.removeClip(clip2);
+    }
+    clipList.length = 0;
+  },
+  /**
+   * Set when animation delay starts
+   * @param  {number} time 单位ms
+   * @return {module:zrender/animation/Animator}
+   */
+  delay: function(time2) {
+    this._delay = time2;
+    return this;
+  },
+  /**
+   * Add callback for animation end
+   * @param  {Function} cb
+   * @return {module:zrender/animation/Animator}
+   */
+  done: function(cb) {
+    if (cb) {
+      this._doneList.push(cb);
+    }
+    return this;
+  },
+  /**
+   * @return {Array.<module:zrender/animation/Clip>}
+   */
+  getClips: function() {
+    return this._clipList;
+  }
+};
+var _default$16 = Animator$4;
+var Animator_1 = _default$16;
+var config$1 = {};
+var dpr$2 = 1;
+if (typeof window !== "undefined") {
+  dpr$2 = Math.max(window.devicePixelRatio || 1, 1);
+}
+var debugMode$1 = 0;
+var devicePixelRatio$3 = dpr$2;
+config$1.debugMode = debugMode$1;
+config$1.devicePixelRatio = devicePixelRatio$3;
+var _config$3 = config$1;
+var debugMode = _config$3.debugMode;
+var logError$3 = function() {
+};
+if (debugMode === 1) {
+  logError$3 = console.error;
+}
+var _default$15 = logError$3;
+var log$2 = _default$15;
+var Animator$3 = Animator_1;
+var logError$2 = log$2;
+var _util$f = util$a;
+var isString$7 = _util$f.isString;
+var isFunction$7 = _util$f.isFunction;
+var isObject$d = _util$f.isObject;
+var isArrayLike$1 = _util$f.isArrayLike;
+var indexOf$3 = _util$f.indexOf;
+var Animatable$1 = function() {
+  this.animators = [];
+};
+Animatable$1.prototype = {
+  constructor: Animatable$1,
+  /**
+   * 动画
+   *
+   * @param {string} path The path to fetch value from object, like 'a.b.c'.
+   * @param {boolean} [loop] Whether to loop animation.
+   * @return {module:zrender/animation/Animator}
+   * @example:
+   *     el.animate('style', false)
+   *         .when(1000, {x: 10} )
+   *         .done(function(){ // Animation done })
+   *         .start()
+   */
+  animate: function(path2, loop) {
+    var target;
+    var animatingShape = false;
+    var el = this;
+    var zr = this.__zr;
+    if (path2) {
+      var pathSplitted = path2.split(".");
+      var prop2 = el;
+      animatingShape = pathSplitted[0] === "shape";
+      for (var i2 = 0, l2 = pathSplitted.length; i2 < l2; i2++) {
+        if (!prop2) {
+          continue;
+        }
+        prop2 = prop2[pathSplitted[i2]];
+      }
+      if (prop2) {
+        target = prop2;
+      }
+    } else {
+      target = el;
+    }
+    if (!target) {
+      logError$2('Property "' + path2 + '" is not existed in element ' + el.id);
+      return;
+    }
+    var animators = el.animators;
+    var animator = new Animator$3(target, loop);
+    animator.during(function(target2) {
+      el.dirty(animatingShape);
+    }).done(function() {
+      animators.splice(indexOf$3(animators, animator), 1);
+    });
+    animators.push(animator);
+    if (zr) {
+      zr.animation.addAnimator(animator);
+    }
+    return animator;
+  },
+  /**
+   * 停止动画
+   * @param {boolean} forwardToLast If move to last frame before stop
+   */
+  stopAnimation: function(forwardToLast) {
+    var animators = this.animators;
+    var len2 = animators.length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      animators[i2].stop(forwardToLast);
+    }
+    animators.length = 0;
+    return this;
+  },
+  /**
+   * Caution: this method will stop previous animation.
+   * So do not use this method to one element twice before
+   * animation starts, unless you know what you are doing.
+   * @param {Object} target
+   * @param {number} [time=500] Time in ms
+   * @param {string} [easing='linear']
+   * @param {number} [delay=0]
+   * @param {Function} [callback]
+   * @param {Function} [forceAnimate] Prevent stop animation and callback
+   *        immediently when target values are the same as current values.
+   *
+   * @example
+   *  // Animate position
+   *  el.animateTo({
+   *      position: [10, 10]
+   *  }, function () { // done })
+   *
+   *  // Animate shape, style and position in 100ms, delayed 100ms, with cubicOut easing
+   *  el.animateTo({
+   *      shape: {
+   *          width: 500
+   *      },
+   *      style: {
+   *          fill: 'red'
+   *      }
+   *      position: [10, 10]
+   *  }, 100, 100, 'cubicOut', function () { // done })
+   */
+  // TODO Return animation key
+  animateTo: function(target, time2, delay, easing2, callback, forceAnimate) {
+    animateTo$1(this, target, time2, delay, easing2, callback, forceAnimate);
+  },
+  /**
+   * Animate from the target state to current state.
+   * The params and the return value are the same as `this.animateTo`.
+   */
+  animateFrom: function(target, time2, delay, easing2, callback, forceAnimate) {
+    animateTo$1(this, target, time2, delay, easing2, callback, forceAnimate, true);
+  }
+};
+function animateTo$1(animatable, target, time2, delay, easing2, callback, forceAnimate, reverse2) {
+  if (isString$7(delay)) {
+    callback = easing2;
+    easing2 = delay;
+    delay = 0;
+  } else if (isFunction$7(easing2)) {
+    callback = easing2;
+    easing2 = "linear";
+    delay = 0;
+  } else if (isFunction$7(delay)) {
+    callback = delay;
+    delay = 0;
+  } else if (isFunction$7(time2)) {
+    callback = time2;
+    time2 = 500;
+  } else if (!time2) {
+    time2 = 500;
+  }
+  animatable.stopAnimation();
+  animateToShallow$1(animatable, "", animatable, target, time2, delay, reverse2);
+  var animators = animatable.animators.slice();
+  var count2 = animators.length;
+  function done() {
+    count2--;
+    if (!count2) {
+      callback && callback();
+    }
+  }
+  if (!count2) {
+    callback && callback();
+  }
+  for (var i2 = 0; i2 < animators.length; i2++) {
+    animators[i2].done(done).start(easing2, forceAnimate);
+  }
+}
+function animateToShallow$1(animatable, path2, source2, target, time2, delay, reverse2) {
+  var objShallow = {};
+  var propertyCount = 0;
+  for (var name2 in target) {
+    if (!target.hasOwnProperty(name2)) {
+      continue;
+    }
+    if (source2[name2] != null) {
+      if (isObject$d(target[name2]) && !isArrayLike$1(target[name2])) {
+        animateToShallow$1(animatable, path2 ? path2 + "." + name2 : name2, source2[name2], target[name2], time2, delay, reverse2);
+      } else {
+        if (reverse2) {
+          objShallow[name2] = source2[name2];
+          setAttrByPath(animatable, path2, name2, target[name2]);
+        } else {
+          objShallow[name2] = target[name2];
+        }
+        propertyCount++;
+      }
+    } else if (target[name2] != null && !reverse2) {
+      setAttrByPath(animatable, path2, name2, target[name2]);
+    }
+  }
+  if (propertyCount > 0) {
+    animatable.animate(path2, false).when(time2 == null ? 500 : time2, objShallow).delay(delay || 0);
+  }
+}
+function setAttrByPath(el, path2, name2, value) {
+  if (!path2) {
+    el.attr(name2, value);
+  } else {
+    var props2 = {};
+    props2[path2] = {};
+    props2[path2][name2] = value;
+    el.attr(props2);
+  }
+}
+var _default$14 = Animatable$1;
+var Animatable_1 = _default$14;
+var guid$3 = guid$4;
+var Eventful$3 = Eventful_1;
+var Transformable$3 = Transformable_1;
+var Animatable = Animatable_1;
+var zrUtil$p = util$a;
+var Element$4 = function(opts2) {
+  Transformable$3.call(this, opts2);
+  Eventful$3.call(this, opts2);
+  Animatable.call(this, opts2);
+  this.id = opts2.id || guid$3();
+};
+Element$4.prototype = {
+  /**
+   * 元素类型
+   * Element type
+   * @type {string}
+   */
+  type: "element",
+  /**
+   * 元素名字
+   * Element name
+   * @type {string}
+   */
+  name: "",
+  /**
+   * ZRender 实例对象,会在 element 添加到 zrender 实例中后自动赋值
+   * ZRender instance will be assigned when element is associated with zrender
+   * @name module:/zrender/Element#__zr
+   * @type {module:zrender/ZRender}
+   */
+  __zr: null,
+  /**
+   * 图形是否忽略,为true时忽略图形的绘制以及事件触发
+   * If ignore drawing and events of the element object
+   * @name module:/zrender/Element#ignore
+   * @type {boolean}
+   * @default false
+   */
+  ignore: false,
+  /**
+   * 用于裁剪的路径(shape),所有 Group 内的路径在绘制时都会被这个路径裁剪
+   * 该路径会继承被裁减对象的变换
+   * @type {module:zrender/graphic/Path}
+   * @see http://www.w3.org/TR/2dcontext/#clipping-region
+   * @readOnly
+   */
+  clipPath: null,
+  /**
+   * 是否是 Group
+   * @type {boolean}
+   */
+  isGroup: false,
+  /**
+   * Drift element
+   * @param  {number} dx dx on the global space
+   * @param  {number} dy dy on the global space
+   */
+  drift: function(dx, dy) {
+    switch (this.draggable) {
+      case "horizontal":
+        dy = 0;
+        break;
+      case "vertical":
+        dx = 0;
+        break;
+    }
+    var m2 = this.transform;
+    if (!m2) {
+      m2 = this.transform = [1, 0, 0, 1, 0, 0];
+    }
+    m2[4] += dx;
+    m2[5] += dy;
+    this.decomposeTransform();
+    this.dirty(false);
+  },
+  /**
+   * Hook before update
+   */
+  beforeUpdate: function() {
+  },
+  /**
+   * Hook after update
+   */
+  afterUpdate: function() {
+  },
+  /**
+   * Update each frame
+   */
+  update: function() {
+    this.updateTransform();
+  },
+  /**
+   * @param  {Function} cb
+   * @param  {}   context
+   */
+  traverse: function(cb, context) {
+  },
+  /**
+   * @protected
+   */
+  attrKV: function(key2, value) {
+    if (key2 === "position" || key2 === "scale" || key2 === "origin") {
+      if (value) {
+        var target = this[key2];
+        if (!target) {
+          target = this[key2] = [];
+        }
+        target[0] = value[0];
+        target[1] = value[1];
+      }
+    } else {
+      this[key2] = value;
+    }
+  },
+  /**
+   * Hide the element
+   */
+  hide: function() {
+    this.ignore = true;
+    this.__zr && this.__zr.refresh();
+  },
+  /**
+   * Show the element
+   */
+  show: function() {
+    this.ignore = false;
+    this.__zr && this.__zr.refresh();
+  },
+  /**
+   * @param {string|Object} key
+   * @param {*} value
+   */
+  attr: function(key2, value) {
+    if (typeof key2 === "string") {
+      this.attrKV(key2, value);
+    } else if (zrUtil$p.isObject(key2)) {
+      for (var name2 in key2) {
+        if (key2.hasOwnProperty(name2)) {
+          this.attrKV(name2, key2[name2]);
+        }
+      }
+    }
+    this.dirty(false);
+    return this;
+  },
+  /**
+   * @param {module:zrender/graphic/Path} clipPath
+   */
+  setClipPath: function(clipPath) {
+    var zr = this.__zr;
+    if (zr) {
+      clipPath.addSelfToZr(zr);
+    }
+    if (this.clipPath && this.clipPath !== clipPath) {
+      this.removeClipPath();
+    }
+    this.clipPath = clipPath;
+    clipPath.__zr = zr;
+    clipPath.__clipTarget = this;
+    this.dirty(false);
+  },
+  /**
+   */
+  removeClipPath: function() {
+    var clipPath = this.clipPath;
+    if (clipPath) {
+      if (clipPath.__zr) {
+        clipPath.removeSelfFromZr(clipPath.__zr);
+      }
+      clipPath.__zr = null;
+      clipPath.__clipTarget = null;
+      this.clipPath = null;
+      this.dirty(false);
+    }
+  },
+  /**
+   * Add self from zrender instance.
+   * Not recursively because it will be invoked when element added to storage.
+   * @param {module:zrender/ZRender} zr
+   */
+  addSelfToZr: function(zr) {
+    this.__zr = zr;
+    var animators = this.animators;
+    if (animators) {
+      for (var i2 = 0; i2 < animators.length; i2++) {
+        zr.animation.addAnimator(animators[i2]);
+      }
+    }
+    if (this.clipPath) {
+      this.clipPath.addSelfToZr(zr);
+    }
+  },
+  /**
+   * Remove self from zrender instance.
+   * Not recursively because it will be invoked when element added to storage.
+   * @param {module:zrender/ZRender} zr
+   */
+  removeSelfFromZr: function(zr) {
+    this.__zr = null;
+    var animators = this.animators;
+    if (animators) {
+      for (var i2 = 0; i2 < animators.length; i2++) {
+        zr.animation.removeAnimator(animators[i2]);
+      }
+    }
+    if (this.clipPath) {
+      this.clipPath.removeSelfFromZr(zr);
+    }
+  }
+};
+zrUtil$p.mixin(Element$4, Animatable);
+zrUtil$p.mixin(Element$4, Transformable$3);
+zrUtil$p.mixin(Element$4, Eventful$3);
+var _default$13 = Element$4;
+var Element_1 = _default$13;
+var vec2$2 = vector$3;
+var matrix$3 = matrix$5;
+var v2ApplyTransform$2 = vec2$2.applyTransform;
+var mathMin$d = Math.min;
+var mathMax$d = Math.max;
+function BoundingRect$a(x2, y2, width, height) {
+  if (width < 0) {
+    x2 = x2 + width;
+    width = -width;
+  }
+  if (height < 0) {
+    y2 = y2 + height;
+    height = -height;
+  }
+  this.x = x2;
+  this.y = y2;
+  this.width = width;
+  this.height = height;
+}
+BoundingRect$a.prototype = {
+  constructor: BoundingRect$a,
+  /**
+   * @param {module:echarts/core/BoundingRect} other
+   */
+  union: function(other) {
+    var x2 = mathMin$d(other.x, this.x);
+    var y2 = mathMin$d(other.y, this.y);
+    this.width = mathMax$d(other.x + other.width, this.x + this.width) - x2;
+    this.height = mathMax$d(other.y + other.height, this.y + this.height) - y2;
+    this.x = x2;
+    this.y = y2;
+  },
+  /**
+   * @param {Array.<number>} m
+   * @methods
+   */
+  applyTransform: function() {
+    var lt2 = [];
+    var rb2 = [];
+    var lb2 = [];
+    var rt3 = [];
+    return function(m2) {
+      if (!m2) {
+        return;
+      }
+      lt2[0] = lb2[0] = this.x;
+      lt2[1] = rt3[1] = this.y;
+      rb2[0] = rt3[0] = this.x + this.width;
+      rb2[1] = lb2[1] = this.y + this.height;
+      v2ApplyTransform$2(lt2, lt2, m2);
+      v2ApplyTransform$2(rb2, rb2, m2);
+      v2ApplyTransform$2(lb2, lb2, m2);
+      v2ApplyTransform$2(rt3, rt3, m2);
+      this.x = mathMin$d(lt2[0], rb2[0], lb2[0], rt3[0]);
+      this.y = mathMin$d(lt2[1], rb2[1], lb2[1], rt3[1]);
+      var maxX = mathMax$d(lt2[0], rb2[0], lb2[0], rt3[0]);
+      var maxY = mathMax$d(lt2[1], rb2[1], lb2[1], rt3[1]);
+      this.width = maxX - this.x;
+      this.height = maxY - this.y;
+    };
+  }(),
+  /**
+   * Calculate matrix of transforming from self to target rect
+   * @param  {module:zrender/core/BoundingRect} b
+   * @return {Array.<number>}
+   */
+  calculateTransform: function(b2) {
+    var a2 = this;
+    var sx = b2.width / a2.width;
+    var sy = b2.height / a2.height;
+    var m2 = matrix$3.create();
+    matrix$3.translate(m2, m2, [-a2.x, -a2.y]);
+    matrix$3.scale(m2, m2, [sx, sy]);
+    matrix$3.translate(m2, m2, [b2.x, b2.y]);
+    return m2;
+  },
+  /**
+   * @param {(module:echarts/core/BoundingRect|Object)} b
+   * @return {boolean}
+   */
+  intersect: function(b2) {
+    if (!b2) {
+      return false;
+    }
+    if (!(b2 instanceof BoundingRect$a)) {
+      b2 = BoundingRect$a.create(b2);
+    }
+    var a2 = this;
+    var ax0 = a2.x;
+    var ax1 = a2.x + a2.width;
+    var ay0 = a2.y;
+    var ay1 = a2.y + a2.height;
+    var bx0 = b2.x;
+    var bx1 = b2.x + b2.width;
+    var by0 = b2.y;
+    var by1 = b2.y + b2.height;
+    return !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);
+  },
+  contain: function(x2, y2) {
+    var rect = this;
+    return x2 >= rect.x && x2 <= rect.x + rect.width && y2 >= rect.y && y2 <= rect.y + rect.height;
+  },
+  /**
+   * @return {module:echarts/core/BoundingRect}
+   */
+  clone: function() {
+    return new BoundingRect$a(this.x, this.y, this.width, this.height);
+  },
+  /**
+   * Copy from another rect
+   */
+  copy: function(other) {
+    this.x = other.x;
+    this.y = other.y;
+    this.width = other.width;
+    this.height = other.height;
+  },
+  plain: function() {
+    return {
+      x: this.x,
+      y: this.y,
+      width: this.width,
+      height: this.height
+    };
+  }
+};
+BoundingRect$a.create = function(rect) {
+  return new BoundingRect$a(rect.x, rect.y, rect.width, rect.height);
+};
+var _default$12 = BoundingRect$a;
+var BoundingRect_1 = _default$12;
+var zrUtil$o = util$a;
+var Element$3 = Element_1;
+var BoundingRect$9 = BoundingRect_1;
+var Group$a = function(opts2) {
+  opts2 = opts2 || {};
+  Element$3.call(this, opts2);
+  for (var key2 in opts2) {
+    if (opts2.hasOwnProperty(key2)) {
+      this[key2] = opts2[key2];
+    }
+  }
+  this._children = [];
+  this.__storage = null;
+  this.__dirty = true;
+};
+Group$a.prototype = {
+  constructor: Group$a,
+  isGroup: true,
+  /**
+   * @type {string}
+   */
+  type: "group",
+  /**
+   * 所有子孙元素是否响应鼠标事件
+   * @name module:/zrender/container/Group#silent
+   * @type {boolean}
+   * @default false
+   */
+  silent: false,
+  /**
+   * @return {Array.<module:zrender/Element>}
+   */
+  children: function() {
+    return this._children.slice();
+  },
+  /**
+   * 获取指定 index 的儿子节点
+   * @param  {number} idx
+   * @return {module:zrender/Element}
+   */
+  childAt: function(idx) {
+    return this._children[idx];
+  },
+  /**
+   * 获取指定名字的儿子节点
+   * @param  {string} name
+   * @return {module:zrender/Element}
+   */
+  childOfName: function(name2) {
+    var children3 = this._children;
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      if (children3[i2].name === name2) {
+        return children3[i2];
+      }
+    }
+  },
+  /**
+   * @return {number}
+   */
+  childCount: function() {
+    return this._children.length;
+  },
+  /**
+   * 添加子节点到最后
+   * @param {module:zrender/Element} child
+   */
+  add: function(child) {
+    if (child && child !== this && child.parent !== this) {
+      this._children.push(child);
+      this._doAdd(child);
+    }
+    return this;
+  },
+  /**
+   * 添加子节点在 nextSibling 之前
+   * @param {module:zrender/Element} child
+   * @param {module:zrender/Element} nextSibling
+   */
+  addBefore: function(child, nextSibling2) {
+    if (child && child !== this && child.parent !== this && nextSibling2 && nextSibling2.parent === this) {
+      var children3 = this._children;
+      var idx = children3.indexOf(nextSibling2);
+      if (idx >= 0) {
+        children3.splice(idx, 0, child);
+        this._doAdd(child);
+      }
+    }
+    return this;
+  },
+  _doAdd: function(child) {
+    if (child.parent) {
+      child.parent.remove(child);
+    }
+    child.parent = this;
+    var storage2 = this.__storage;
+    var zr = this.__zr;
+    if (storage2 && storage2 !== child.__storage) {
+      storage2.addToStorage(child);
+      if (child instanceof Group$a) {
+        child.addChildrenToStorage(storage2);
+      }
+    }
+    zr && zr.refresh();
+  },
+  /**
+   * 移除子节点
+   * @param {module:zrender/Element} child
+   */
+  remove: function(child) {
+    var zr = this.__zr;
+    var storage2 = this.__storage;
+    var children3 = this._children;
+    var idx = zrUtil$o.indexOf(children3, child);
+    if (idx < 0) {
+      return this;
+    }
+    children3.splice(idx, 1);
+    child.parent = null;
+    if (storage2) {
+      storage2.delFromStorage(child);
+      if (child instanceof Group$a) {
+        child.delChildrenFromStorage(storage2);
+      }
+    }
+    zr && zr.refresh();
+    return this;
+  },
+  /**
+   * 移除所有子节点
+   */
+  removeAll: function() {
+    var children3 = this._children;
+    var storage2 = this.__storage;
+    var child;
+    var i2;
+    for (i2 = 0; i2 < children3.length; i2++) {
+      child = children3[i2];
+      if (storage2) {
+        storage2.delFromStorage(child);
+        if (child instanceof Group$a) {
+          child.delChildrenFromStorage(storage2);
+        }
+      }
+      child.parent = null;
+    }
+    children3.length = 0;
+    return this;
+  },
+  /**
+   * 遍历所有子节点
+   * @param  {Function} cb
+   * @param  {}   context
+   */
+  eachChild: function(cb, context) {
+    var children3 = this._children;
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      var child = children3[i2];
+      cb.call(context, child, i2);
+    }
+    return this;
+  },
+  /**
+   * 深度优先遍历所有子孙节点
+   * @param  {Function} cb
+   * @param  {}   context
+   */
+  traverse: function(cb, context) {
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      cb.call(context, child);
+      if (child.type === "group") {
+        child.traverse(cb, context);
+      }
+    }
+    return this;
+  },
+  addChildrenToStorage: function(storage2) {
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      storage2.addToStorage(child);
+      if (child instanceof Group$a) {
+        child.addChildrenToStorage(storage2);
+      }
+    }
+  },
+  delChildrenFromStorage: function(storage2) {
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      storage2.delFromStorage(child);
+      if (child instanceof Group$a) {
+        child.delChildrenFromStorage(storage2);
+      }
+    }
+  },
+  dirty: function() {
+    this.__dirty = true;
+    this.__zr && this.__zr.refresh();
+    return this;
+  },
+  /**
+   * @return {module:zrender/core/BoundingRect}
+   */
+  getBoundingRect: function(includeChildren) {
+    var rect = null;
+    var tmpRect2 = new BoundingRect$9(0, 0, 0, 0);
+    var children3 = includeChildren || this._children;
+    var tmpMat = [];
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      var child = children3[i2];
+      if (child.ignore || child.invisible) {
+        continue;
+      }
+      var childRect = child.getBoundingRect();
+      var transform3 = child.getLocalTransform(tmpMat);
+      if (transform3) {
+        tmpRect2.copy(childRect);
+        tmpRect2.applyTransform(transform3);
+        rect = rect || tmpRect2.clone();
+        rect.union(tmpRect2);
+      } else {
+        rect = rect || childRect.clone();
+        rect.union(childRect);
+      }
+    }
+    return rect || tmpRect2;
+  }
+};
+zrUtil$o.inherits(Group$a, Element$3);
+var _default$11 = Group$a;
+var Group_1 = _default$11;
+var DEFAULT_MIN_MERGE$1 = 32;
+var DEFAULT_MIN_GALLOPING$1 = 7;
+function minRunLength$1(n2) {
+  var r2 = 0;
+  while (n2 >= DEFAULT_MIN_MERGE$1) {
+    r2 |= n2 & 1;
+    n2 >>= 1;
+  }
+  return n2 + r2;
+}
+function makeAscendingRun$1(array, lo, hi, compare2) {
+  var runHi = lo + 1;
+  if (runHi === hi) {
+    return 1;
+  }
+  if (compare2(array[runHi++], array[lo]) < 0) {
+    while (runHi < hi && compare2(array[runHi], array[runHi - 1]) < 0) {
+      runHi++;
+    }
+    reverseRun$1(array, lo, runHi);
+  } else {
+    while (runHi < hi && compare2(array[runHi], array[runHi - 1]) >= 0) {
+      runHi++;
+    }
+  }
+  return runHi - lo;
+}
+function reverseRun$1(array, lo, hi) {
+  hi--;
+  while (lo < hi) {
+    var t2 = array[lo];
+    array[lo++] = array[hi];
+    array[hi--] = t2;
+  }
+}
+function binaryInsertionSort$1(array, lo, hi, start2, compare2) {
+  if (start2 === lo) {
+    start2++;
+  }
+  for (; start2 < hi; start2++) {
+    var pivot = array[start2];
+    var left = lo;
+    var right = start2;
+    var mid;
+    while (left < right) {
+      mid = left + right >>> 1;
+      if (compare2(pivot, array[mid]) < 0) {
+        right = mid;
+      } else {
+        left = mid + 1;
+      }
+    }
+    var n2 = start2 - left;
+    switch (n2) {
+      case 3:
+        array[left + 3] = array[left + 2];
+      case 2:
+        array[left + 2] = array[left + 1];
+      case 1:
+        array[left + 1] = array[left];
+        break;
+      default:
+        while (n2 > 0) {
+          array[left + n2] = array[left + n2 - 1];
+          n2--;
+        }
+    }
+    array[left] = pivot;
+  }
+}
+function gallopLeft$1(value, array, start2, length2, hint, compare2) {
+  var lastOffset = 0;
+  var maxOffset = 0;
+  var offset2 = 1;
+  if (compare2(value, array[start2 + hint]) > 0) {
+    maxOffset = length2 - hint;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint + offset2]) > 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    lastOffset += hint;
+    offset2 += hint;
+  } else {
+    maxOffset = hint + 1;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint - offset2]) <= 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    var tmp = lastOffset;
+    lastOffset = hint - offset2;
+    offset2 = hint - tmp;
+  }
+  lastOffset++;
+  while (lastOffset < offset2) {
+    var m2 = lastOffset + (offset2 - lastOffset >>> 1);
+    if (compare2(value, array[start2 + m2]) > 0) {
+      lastOffset = m2 + 1;
+    } else {
+      offset2 = m2;
+    }
+  }
+  return offset2;
+}
+function gallopRight$1(value, array, start2, length2, hint, compare2) {
+  var lastOffset = 0;
+  var maxOffset = 0;
+  var offset2 = 1;
+  if (compare2(value, array[start2 + hint]) < 0) {
+    maxOffset = hint + 1;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint - offset2]) < 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    var tmp = lastOffset;
+    lastOffset = hint - offset2;
+    offset2 = hint - tmp;
+  } else {
+    maxOffset = length2 - hint;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint + offset2]) >= 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    lastOffset += hint;
+    offset2 += hint;
+  }
+  lastOffset++;
+  while (lastOffset < offset2) {
+    var m2 = lastOffset + (offset2 - lastOffset >>> 1);
+    if (compare2(value, array[start2 + m2]) < 0) {
+      offset2 = m2;
+    } else {
+      lastOffset = m2 + 1;
+    }
+  }
+  return offset2;
+}
+function TimSort$1(array, compare2) {
+  var minGallop = DEFAULT_MIN_GALLOPING$1;
+  var runStart;
+  var runLength;
+  var stackSize = 0;
+  array.length;
+  var tmp = [];
+  runStart = [];
+  runLength = [];
+  function pushRun(_runStart, _runLength) {
+    runStart[stackSize] = _runStart;
+    runLength[stackSize] = _runLength;
+    stackSize += 1;
+  }
+  function mergeRuns() {
+    while (stackSize > 1) {
+      var n2 = stackSize - 2;
+      if (n2 >= 1 && runLength[n2 - 1] <= runLength[n2] + runLength[n2 + 1] || n2 >= 2 && runLength[n2 - 2] <= runLength[n2] + runLength[n2 - 1]) {
+        if (runLength[n2 - 1] < runLength[n2 + 1]) {
+          n2--;
+        }
+      } else if (runLength[n2] > runLength[n2 + 1]) {
+        break;
+      }
+      mergeAt(n2);
+    }
+  }
+  function forceMergeRuns() {
+    while (stackSize > 1) {
+      var n2 = stackSize - 2;
+      if (n2 > 0 && runLength[n2 - 1] < runLength[n2 + 1]) {
+        n2--;
+      }
+      mergeAt(n2);
+    }
+  }
+  function mergeAt(i2) {
+    var start1 = runStart[i2];
+    var length1 = runLength[i2];
+    var start2 = runStart[i2 + 1];
+    var length2 = runLength[i2 + 1];
+    runLength[i2] = length1 + length2;
+    if (i2 === stackSize - 3) {
+      runStart[i2 + 1] = runStart[i2 + 2];
+      runLength[i2 + 1] = runLength[i2 + 2];
+    }
+    stackSize--;
+    var k2 = gallopRight$1(array[start2], array, start1, length1, 0, compare2);
+    start1 += k2;
+    length1 -= k2;
+    if (length1 === 0) {
+      return;
+    }
+    length2 = gallopLeft$1(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare2);
+    if (length2 === 0) {
+      return;
+    }
+    if (length1 <= length2) {
+      mergeLow(start1, length1, start2, length2);
+    } else {
+      mergeHigh(start1, length1, start2, length2);
+    }
+  }
+  function mergeLow(start1, length1, start2, length2) {
+    var i2 = 0;
+    for (i2 = 0; i2 < length1; i2++) {
+      tmp[i2] = array[start1 + i2];
+    }
+    var cursor1 = 0;
+    var cursor2 = start2;
+    var dest = start1;
+    array[dest++] = array[cursor2++];
+    if (--length2 === 0) {
+      for (i2 = 0; i2 < length1; i2++) {
+        array[dest + i2] = tmp[cursor1 + i2];
+      }
+      return;
+    }
+    if (length1 === 1) {
+      for (i2 = 0; i2 < length2; i2++) {
+        array[dest + i2] = array[cursor2 + i2];
+      }
+      array[dest + length2] = tmp[cursor1];
+      return;
+    }
+    var _minGallop = minGallop;
+    var count1;
+    var count2;
+    var exit;
+    while (1) {
+      count1 = 0;
+      count2 = 0;
+      exit = false;
+      do {
+        if (compare2(array[cursor2], tmp[cursor1]) < 0) {
+          array[dest++] = array[cursor2++];
+          count2++;
+          count1 = 0;
+          if (--length2 === 0) {
+            exit = true;
+            break;
+          }
+        } else {
+          array[dest++] = tmp[cursor1++];
+          count1++;
+          count2 = 0;
+          if (--length1 === 1) {
+            exit = true;
+            break;
+          }
+        }
+      } while ((count1 | count2) < _minGallop);
+      if (exit) {
+        break;
+      }
+      do {
+        count1 = gallopRight$1(array[cursor2], tmp, cursor1, length1, 0, compare2);
+        if (count1 !== 0) {
+          for (i2 = 0; i2 < count1; i2++) {
+            array[dest + i2] = tmp[cursor1 + i2];
+          }
+          dest += count1;
+          cursor1 += count1;
+          length1 -= count1;
+          if (length1 <= 1) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest++] = array[cursor2++];
+        if (--length2 === 0) {
+          exit = true;
+          break;
+        }
+        count2 = gallopLeft$1(tmp[cursor1], array, cursor2, length2, 0, compare2);
+        if (count2 !== 0) {
+          for (i2 = 0; i2 < count2; i2++) {
+            array[dest + i2] = array[cursor2 + i2];
+          }
+          dest += count2;
+          cursor2 += count2;
+          length2 -= count2;
+          if (length2 === 0) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest++] = tmp[cursor1++];
+        if (--length1 === 1) {
+          exit = true;
+          break;
+        }
+        _minGallop--;
+      } while (count1 >= DEFAULT_MIN_GALLOPING$1 || count2 >= DEFAULT_MIN_GALLOPING$1);
+      if (exit) {
+        break;
+      }
+      if (_minGallop < 0) {
+        _minGallop = 0;
+      }
+      _minGallop += 2;
+    }
+    minGallop = _minGallop;
+    minGallop < 1 && (minGallop = 1);
+    if (length1 === 1) {
+      for (i2 = 0; i2 < length2; i2++) {
+        array[dest + i2] = array[cursor2 + i2];
+      }
+      array[dest + length2] = tmp[cursor1];
+    } else if (length1 === 0) {
+      throw new Error();
+    } else {
+      for (i2 = 0; i2 < length1; i2++) {
+        array[dest + i2] = tmp[cursor1 + i2];
+      }
+    }
+  }
+  function mergeHigh(start1, length1, start2, length2) {
+    var i2 = 0;
+    for (i2 = 0; i2 < length2; i2++) {
+      tmp[i2] = array[start2 + i2];
+    }
+    var cursor1 = start1 + length1 - 1;
+    var cursor2 = length2 - 1;
+    var dest = start2 + length2 - 1;
+    var customCursor = 0;
+    var customDest = 0;
+    array[dest--] = array[cursor1--];
+    if (--length1 === 0) {
+      customCursor = dest - (length2 - 1);
+      for (i2 = 0; i2 < length2; i2++) {
+        array[customCursor + i2] = tmp[i2];
+      }
+      return;
+    }
+    if (length2 === 1) {
+      dest -= length1;
+      cursor1 -= length1;
+      customDest = dest + 1;
+      customCursor = cursor1 + 1;
+      for (i2 = length1 - 1; i2 >= 0; i2--) {
+        array[customDest + i2] = array[customCursor + i2];
+      }
+      array[dest] = tmp[cursor2];
+      return;
+    }
+    var _minGallop = minGallop;
+    while (true) {
+      var count1 = 0;
+      var count2 = 0;
+      var exit = false;
+      do {
+        if (compare2(tmp[cursor2], array[cursor1]) < 0) {
+          array[dest--] = array[cursor1--];
+          count1++;
+          count2 = 0;
+          if (--length1 === 0) {
+            exit = true;
+            break;
+          }
+        } else {
+          array[dest--] = tmp[cursor2--];
+          count2++;
+          count1 = 0;
+          if (--length2 === 1) {
+            exit = true;
+            break;
+          }
+        }
+      } while ((count1 | count2) < _minGallop);
+      if (exit) {
+        break;
+      }
+      do {
+        count1 = length1 - gallopRight$1(tmp[cursor2], array, start1, length1, length1 - 1, compare2);
+        if (count1 !== 0) {
+          dest -= count1;
+          cursor1 -= count1;
+          length1 -= count1;
+          customDest = dest + 1;
+          customCursor = cursor1 + 1;
+          for (i2 = count1 - 1; i2 >= 0; i2--) {
+            array[customDest + i2] = array[customCursor + i2];
+          }
+          if (length1 === 0) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest--] = tmp[cursor2--];
+        if (--length2 === 1) {
+          exit = true;
+          break;
+        }
+        count2 = length2 - gallopLeft$1(array[cursor1], tmp, 0, length2, length2 - 1, compare2);
+        if (count2 !== 0) {
+          dest -= count2;
+          cursor2 -= count2;
+          length2 -= count2;
+          customDest = dest + 1;
+          customCursor = cursor2 + 1;
+          for (i2 = 0; i2 < count2; i2++) {
+            array[customDest + i2] = tmp[customCursor + i2];
+          }
+          if (length2 <= 1) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest--] = array[cursor1--];
+        if (--length1 === 0) {
+          exit = true;
+          break;
+        }
+        _minGallop--;
+      } while (count1 >= DEFAULT_MIN_GALLOPING$1 || count2 >= DEFAULT_MIN_GALLOPING$1);
+      if (exit) {
+        break;
+      }
+      if (_minGallop < 0) {
+        _minGallop = 0;
+      }
+      _minGallop += 2;
+    }
+    minGallop = _minGallop;
+    if (minGallop < 1) {
+      minGallop = 1;
+    }
+    if (length2 === 1) {
+      dest -= length1;
+      cursor1 -= length1;
+      customDest = dest + 1;
+      customCursor = cursor1 + 1;
+      for (i2 = length1 - 1; i2 >= 0; i2--) {
+        array[customDest + i2] = array[customCursor + i2];
+      }
+      array[dest] = tmp[cursor2];
+    } else if (length2 === 0) {
+      throw new Error();
+    } else {
+      customCursor = dest - (length2 - 1);
+      for (i2 = 0; i2 < length2; i2++) {
+        array[customCursor + i2] = tmp[i2];
+      }
+    }
+  }
+  this.mergeRuns = mergeRuns;
+  this.forceMergeRuns = forceMergeRuns;
+  this.pushRun = pushRun;
+}
+function sort$3(array, compare2, lo, hi) {
+  if (!lo) {
+    lo = 0;
+  }
+  if (!hi) {
+    hi = array.length;
+  }
+  var remaining = hi - lo;
+  if (remaining < 2) {
+    return;
+  }
+  var runLength = 0;
+  if (remaining < DEFAULT_MIN_MERGE$1) {
+    runLength = makeAscendingRun$1(array, lo, hi, compare2);
+    binaryInsertionSort$1(array, lo, hi, lo + runLength, compare2);
+    return;
+  }
+  var ts = new TimSort$1(array, compare2);
+  var minRun = minRunLength$1(remaining);
+  do {
+    runLength = makeAscendingRun$1(array, lo, hi, compare2);
+    if (runLength < minRun) {
+      var force = remaining;
+      if (force > minRun) {
+        force = minRun;
+      }
+      binaryInsertionSort$1(array, lo, lo + force, lo + runLength, compare2);
+      runLength = force;
+    }
+    ts.pushRun(lo, runLength);
+    ts.mergeRuns();
+    remaining -= runLength;
+    lo += runLength;
+  } while (remaining !== 0);
+  ts.forceMergeRuns();
+}
+var timsort$2 = sort$3;
+var util$8 = util$a;
+var env$9 = env_1;
+var Group$9 = Group_1;
+var timsort$1 = timsort$2;
+function shapeCompareFunc$1(a2, b2) {
+  if (a2.zlevel === b2.zlevel) {
+    if (a2.z === b2.z) {
+      return a2.z2 - b2.z2;
+    }
+    return a2.z - b2.z;
+  }
+  return a2.zlevel - b2.zlevel;
+}
+var Storage$3 = function() {
+  this._roots = [];
+  this._displayList = [];
+  this._displayListLen = 0;
+};
+Storage$3.prototype = {
+  constructor: Storage$3,
+  /**
+   * @param  {Function} cb
+   *
+   */
+  traverse: function(cb, context) {
+    for (var i2 = 0; i2 < this._roots.length; i2++) {
+      this._roots[i2].traverse(cb, context);
+    }
+  },
+  /**
+   * 返回所有图形的绘制队列
+   * @param {boolean} [update=false] 是否在返回前更新该数组
+   * @param {boolean} [includeIgnore=false] 是否包含 ignore 的数组, 在 update 为 true 的时候有效
+   *
+   * 详见{@link module:zrender/graphic/Displayable.prototype.updateDisplayList}
+   * @return {Array.<module:zrender/graphic/Displayable>}
+   */
+  getDisplayList: function(update, includeIgnore) {
+    includeIgnore = includeIgnore || false;
+    if (update) {
+      this.updateDisplayList(includeIgnore);
+    }
+    return this._displayList;
+  },
+  /**
+   * 更新图形的绘制队列。
+   * 每次绘制前都会调用,该方法会先深度优先遍历整个树,更新所有Group和Shape的变换并且把所有可见的Shape保存到数组中,
+   * 最后根据绘制的优先级(zlevel > z > 插入顺序)排序得到绘制队列
+   * @param {boolean} [includeIgnore=false] 是否包含 ignore 的数组
+   */
+  updateDisplayList: function(includeIgnore) {
+    this._displayListLen = 0;
+    var roots2 = this._roots;
+    var displayList = this._displayList;
+    for (var i2 = 0, len2 = roots2.length; i2 < len2; i2++) {
+      this._updateAndAddDisplayable(roots2[i2], null, includeIgnore);
+    }
+    displayList.length = this._displayListLen;
+    env$9.canvasSupported && timsort$1(displayList, shapeCompareFunc$1);
+  },
+  _updateAndAddDisplayable: function(el, clipPaths, includeIgnore) {
+    if (el.ignore && !includeIgnore) {
+      return;
+    }
+    el.beforeUpdate();
+    if (el.__dirty) {
+      el.update();
+    }
+    el.afterUpdate();
+    var userSetClipPath = el.clipPath;
+    if (userSetClipPath) {
+      if (clipPaths) {
+        clipPaths = clipPaths.slice();
+      } else {
+        clipPaths = [];
+      }
+      var currentClipPath = userSetClipPath;
+      var parentClipPath = el;
+      while (currentClipPath) {
+        currentClipPath.parent = parentClipPath;
+        currentClipPath.updateTransform();
+        clipPaths.push(currentClipPath);
+        parentClipPath = currentClipPath;
+        currentClipPath = currentClipPath.clipPath;
+      }
+    }
+    if (el.isGroup) {
+      var children3 = el._children;
+      for (var i2 = 0; i2 < children3.length; i2++) {
+        var child = children3[i2];
+        if (el.__dirty) {
+          child.__dirty = true;
+        }
+        this._updateAndAddDisplayable(child, clipPaths, includeIgnore);
+      }
+      el.__dirty = false;
+    } else {
+      el.__clipPaths = clipPaths;
+      this._displayList[this._displayListLen++] = el;
+    }
+  },
+  /**
+   * 添加图形(Shape)或者组(Group)到根节点
+   * @param {module:zrender/Element} el
+   */
+  addRoot: function(el) {
+    if (el.__storage === this) {
+      return;
+    }
+    if (el instanceof Group$9) {
+      el.addChildrenToStorage(this);
+    }
+    this.addToStorage(el);
+    this._roots.push(el);
+  },
+  /**
+   * 删除指定的图形(Shape)或者组(Group)
+   * @param {string|Array.<string>} [el] 如果为空清空整个Storage
+   */
+  delRoot: function(el) {
+    if (el == null) {
+      for (var i2 = 0; i2 < this._roots.length; i2++) {
+        var root = this._roots[i2];
+        if (root instanceof Group$9) {
+          root.delChildrenFromStorage(this);
+        }
+      }
+      this._roots = [];
+      this._displayList = [];
+      this._displayListLen = 0;
+      return;
+    }
+    if (el instanceof Array) {
+      for (var i2 = 0, l2 = el.length; i2 < l2; i2++) {
+        this.delRoot(el[i2]);
+      }
+      return;
+    }
+    var idx = util$8.indexOf(this._roots, el);
+    if (idx >= 0) {
+      this.delFromStorage(el);
+      this._roots.splice(idx, 1);
+      if (el instanceof Group$9) {
+        el.delChildrenFromStorage(this);
+      }
+    }
+  },
+  addToStorage: function(el) {
+    if (el) {
+      el.__storage = this;
+      el.dirty(false);
+    }
+    return this;
+  },
+  delFromStorage: function(el) {
+    if (el) {
+      el.__storage = null;
+    }
+    return this;
+  },
+  /**
+   * 清空并且释放Storage
+   */
+  dispose: function() {
+    this._renderList = this._roots = null;
+  },
+  displayableSortFunc: shapeCompareFunc$1
+};
+var _default$10 = Storage$3;
+var Storage_1 = _default$10;
+var SHADOW_PROPS = {
+  "shadowBlur": 1,
+  "shadowOffsetX": 1,
+  "shadowOffsetY": 1,
+  "textShadowBlur": 1,
+  "textShadowOffsetX": 1,
+  "textShadowOffsetY": 1,
+  "textBoxShadowBlur": 1,
+  "textBoxShadowOffsetX": 1,
+  "textBoxShadowOffsetY": 1
+};
+function _default$$(ctx, propName, value) {
+  if (SHADOW_PROPS.hasOwnProperty(propName)) {
+    return value *= ctx.dpr;
+  }
+  return value;
+}
+var fixShadow$2 = _default$$;
+var constant = {};
+var ContextCachedBy$3 = {
+  NONE: 0,
+  STYLE_BIND: 1,
+  PLAIN_TEXT: 2
+};
+var WILL_BE_RESTORED$1 = 9;
+constant.ContextCachedBy = ContextCachedBy$3;
+constant.WILL_BE_RESTORED = WILL_BE_RESTORED$1;
+var fixShadow$1 = fixShadow$2;
+var _constant$2 = constant;
+var ContextCachedBy$2 = _constant$2.ContextCachedBy;
+var STYLE_COMMON_PROPS = [["shadowBlur", 0], ["shadowOffsetX", 0], ["shadowOffsetY", 0], ["shadowColor", "#000"], ["lineCap", "butt"], ["lineJoin", "miter"], ["miterLimit", 10]];
+var Style$3 = function(opts2) {
+  this.extendFrom(opts2, false);
+};
+function createLinearGradient$1(ctx, obj2, rect) {
+  var x2 = obj2.x == null ? 0 : obj2.x;
+  var x22 = obj2.x2 == null ? 1 : obj2.x2;
+  var y2 = obj2.y == null ? 0 : obj2.y;
+  var y22 = obj2.y2 == null ? 0 : obj2.y2;
+  if (!obj2.global) {
+    x2 = x2 * rect.width + rect.x;
+    x22 = x22 * rect.width + rect.x;
+    y2 = y2 * rect.height + rect.y;
+    y22 = y22 * rect.height + rect.y;
+  }
+  x2 = isNaN(x2) ? 0 : x2;
+  x22 = isNaN(x22) ? 1 : x22;
+  y2 = isNaN(y2) ? 0 : y2;
+  y22 = isNaN(y22) ? 0 : y22;
+  var canvasGradient = ctx.createLinearGradient(x2, y2, x22, y22);
+  return canvasGradient;
+}
+function createRadialGradient$1(ctx, obj2, rect) {
+  var width = rect.width;
+  var height = rect.height;
+  var min3 = Math.min(width, height);
+  var x2 = obj2.x == null ? 0.5 : obj2.x;
+  var y2 = obj2.y == null ? 0.5 : obj2.y;
+  var r2 = obj2.r == null ? 0.5 : obj2.r;
+  if (!obj2.global) {
+    x2 = x2 * width + rect.x;
+    y2 = y2 * height + rect.y;
+    r2 = r2 * min3;
+  }
+  var canvasGradient = ctx.createRadialGradient(x2, y2, 0, x2, y2, r2);
+  return canvasGradient;
+}
+Style$3.prototype = {
+  constructor: Style$3,
+  /**
+   * @type {string}
+   */
+  fill: "#000",
+  /**
+   * @type {string}
+   */
+  stroke: null,
+  /**
+   * @type {number}
+   */
+  opacity: 1,
+  /**
+   * @type {number}
+   */
+  fillOpacity: null,
+  /**
+   * @type {number}
+   */
+  strokeOpacity: null,
+  /**
+   * `true` is not supported.
+   * `false`/`null`/`undefined` are the same.
+   * `false` is used to remove lineDash in some
+   * case that `null`/`undefined` can not be set.
+   * (e.g., emphasis.lineStyle in echarts)
+   * @type {Array.<number>|boolean}
+   */
+  lineDash: null,
+  /**
+   * @type {number}
+   */
+  lineDashOffset: 0,
+  /**
+   * @type {number}
+   */
+  shadowBlur: 0,
+  /**
+   * @type {number}
+   */
+  shadowOffsetX: 0,
+  /**
+   * @type {number}
+   */
+  shadowOffsetY: 0,
+  /**
+   * @type {number}
+   */
+  lineWidth: 1,
+  /**
+   * If stroke ignore scale
+   * @type {Boolean}
+   */
+  strokeNoScale: false,
+  // Bounding rect text configuration
+  // Not affected by element transform
+  /**
+   * @type {string}
+   */
+  text: null,
+  /**
+   * If `fontSize` or `fontFamily` exists, `font` will be reset by
+   * `fontSize`, `fontStyle`, `fontWeight`, `fontFamily`.
+   * So do not visit it directly in upper application (like echarts),
+   * but use `contain/text#makeFont` instead.
+   * @type {string}
+   */
+  font: null,
+  /**
+   * The same as font. Use font please.
+   * @deprecated
+   * @type {string}
+   */
+  textFont: null,
+  /**
+   * It helps merging respectively, rather than parsing an entire font string.
+   * @type {string}
+   */
+  fontStyle: null,
+  /**
+   * It helps merging respectively, rather than parsing an entire font string.
+   * @type {string}
+   */
+  fontWeight: null,
+  /**
+   * It helps merging respectively, rather than parsing an entire font string.
+   * Should be 12 but not '12px'.
+   * @type {number}
+   */
+  fontSize: null,
+  /**
+   * It helps merging respectively, rather than parsing an entire font string.
+   * @type {string}
+   */
+  fontFamily: null,
+  /**
+   * Reserved for special functinality, like 'hr'.
+   * @type {string}
+   */
+  textTag: null,
+  /**
+   * @type {string}
+   */
+  textFill: "#000",
+  /**
+   * @type {string}
+   */
+  textStroke: null,
+  /**
+   * @type {number}
+   */
+  textWidth: null,
+  /**
+   * Only for textBackground.
+   * @type {number}
+   */
+  textHeight: null,
+  /**
+   * textStroke may be set as some color as a default
+   * value in upper applicaion, where the default value
+   * of textStrokeWidth should be 0 to make sure that
+   * user can choose to do not use text stroke.
+   * @type {number}
+   */
+  textStrokeWidth: 0,
+  /**
+   * @type {number}
+   */
+  textLineHeight: null,
+  /**
+   * 'inside', 'left', 'right', 'top', 'bottom'
+   * [x, y]
+   * Based on x, y of rect.
+   * @type {string|Array.<number>}
+   * @default 'inside'
+   */
+  textPosition: "inside",
+  /**
+   * If not specified, use the boundingRect of a `displayable`.
+   * @type {Object}
+   */
+  textRect: null,
+  /**
+   * [x, y]
+   * @type {Array.<number>}
+   */
+  textOffset: null,
+  /**
+   * @type {string}
+   */
+  textAlign: null,
+  /**
+   * @type {string}
+   */
+  textVerticalAlign: null,
+  /**
+   * @type {number}
+   */
+  textDistance: 5,
+  /**
+   * @type {string}
+   */
+  textShadowColor: "transparent",
+  /**
+   * @type {number}
+   */
+  textShadowBlur: 0,
+  /**
+   * @type {number}
+   */
+  textShadowOffsetX: 0,
+  /**
+   * @type {number}
+   */
+  textShadowOffsetY: 0,
+  /**
+   * @type {string}
+   */
+  textBoxShadowColor: "transparent",
+  /**
+   * @type {number}
+   */
+  textBoxShadowBlur: 0,
+  /**
+   * @type {number}
+   */
+  textBoxShadowOffsetX: 0,
+  /**
+   * @type {number}
+   */
+  textBoxShadowOffsetY: 0,
+  /**
+   * Whether transform text.
+   * Only available in Path and Image element,
+   * where the text is called as `RectText`.
+   * @type {boolean}
+   */
+  transformText: false,
+  /**
+   * Text rotate around position of Path or Image.
+   * The origin of the rotation can be specified by `textOrigin`.
+   * Only available in Path and Image element,
+   * where the text is called as `RectText`.
+   */
+  textRotation: 0,
+  /**
+   * Text origin of text rotation.
+   * Useful in the case like label rotation of circular symbol.
+   * Only available in Path and Image element, where the text is called
+   * as `RectText` and the element is called as "host element".
+   * The value can be:
+   * + If specified as a coordinate like `[10, 40]`, it is the `[x, y]`
+   * base on the left-top corner of the rect of its host element.
+   * + If specified as a string `center`, it is the center of the rect of
+   * its host element.
+   * + By default, this origin is the `textPosition`.
+   * @type {string|Array.<number>}
+   */
+  textOrigin: null,
+  /**
+   * @type {string}
+   */
+  textBackgroundColor: null,
+  /**
+   * @type {string}
+   */
+  textBorderColor: null,
+  /**
+   * @type {number}
+   */
+  textBorderWidth: 0,
+  /**
+   * @type {number}
+   */
+  textBorderRadius: 0,
+  /**
+   * Can be `2` or `[2, 4]` or `[2, 3, 4, 5]`
+   * @type {number|Array.<number>}
+   */
+  textPadding: null,
+  /**
+   * Text styles for rich text.
+   * @type {Object}
+   */
+  rich: null,
+  /**
+   * {outerWidth, outerHeight, ellipsis, placeholder}
+   * @type {Object}
+   */
+  truncate: null,
+  /**
+   * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
+   * @type {string}
+   */
+  blend: null,
+  /**
+   * @param {CanvasRenderingContext2D} ctx
+   */
+  bind: function(ctx, el, prevEl) {
+    var style2 = this;
+    var prevStyle = prevEl && prevEl.style;
+    var notCheckCache = !prevStyle || ctx.__attrCachedBy !== ContextCachedBy$2.STYLE_BIND;
+    ctx.__attrCachedBy = ContextCachedBy$2.STYLE_BIND;
+    for (var i2 = 0; i2 < STYLE_COMMON_PROPS.length; i2++) {
+      var prop2 = STYLE_COMMON_PROPS[i2];
+      var styleName = prop2[0];
+      if (notCheckCache || style2[styleName] !== prevStyle[styleName]) {
+        ctx[styleName] = fixShadow$1(ctx, styleName, style2[styleName] || prop2[1]);
+      }
+    }
+    if (notCheckCache || style2.fill !== prevStyle.fill) {
+      ctx.fillStyle = style2.fill;
+    }
+    if (notCheckCache || style2.stroke !== prevStyle.stroke) {
+      ctx.strokeStyle = style2.stroke;
+    }
+    if (notCheckCache || style2.opacity !== prevStyle.opacity) {
+      ctx.globalAlpha = style2.opacity == null ? 1 : style2.opacity;
+    }
+    if (notCheckCache || style2.blend !== prevStyle.blend) {
+      ctx.globalCompositeOperation = style2.blend || "source-over";
+    }
+    if (this.hasStroke()) {
+      var lineWidth = style2.lineWidth;
+      ctx.lineWidth = lineWidth / (this.strokeNoScale && el && el.getLineScale ? el.getLineScale() : 1);
+    }
+  },
+  hasFill: function() {
+    var fill = this.fill;
+    return fill != null && fill !== "none";
+  },
+  hasStroke: function() {
+    var stroke = this.stroke;
+    return stroke != null && stroke !== "none" && this.lineWidth > 0;
+  },
+  /**
+   * Extend from other style
+   * @param {zrender/graphic/Style} otherStyle
+   * @param {boolean} overwrite true: overwrirte any way.
+   *                            false: overwrite only when !target.hasOwnProperty
+   *                            others: overwrite when property is not null/undefined.
+   */
+  extendFrom: function(otherStyle, overwrite) {
+    if (otherStyle) {
+      for (var name2 in otherStyle) {
+        if (otherStyle.hasOwnProperty(name2) && (overwrite === true || (overwrite === false ? !this.hasOwnProperty(name2) : otherStyle[name2] != null))) {
+          this[name2] = otherStyle[name2];
+        }
+      }
+    }
+  },
+  /**
+   * Batch setting style with a given object
+   * @param {Object|string} obj
+   * @param {*} [obj]
+   */
+  set: function(obj2, value) {
+    if (typeof obj2 === "string") {
+      this[obj2] = value;
+    } else {
+      this.extendFrom(obj2, true);
+    }
+  },
+  /**
+   * Clone
+   * @return {zrender/graphic/Style} [description]
+   */
+  clone: function() {
+    var newStyle = new this.constructor();
+    newStyle.extendFrom(this, true);
+    return newStyle;
+  },
+  getGradient: function(ctx, obj2, rect) {
+    var method = obj2.type === "radial" ? createRadialGradient$1 : createLinearGradient$1;
+    var canvasGradient = method(ctx, obj2, rect);
+    var colorStops = obj2.colorStops;
+    for (var i2 = 0; i2 < colorStops.length; i2++) {
+      canvasGradient.addColorStop(colorStops[i2].offset, colorStops[i2].color);
+    }
+    return canvasGradient;
+  }
+};
+var styleProto = Style$3.prototype;
+for (var i$3 = 0; i$3 < STYLE_COMMON_PROPS.length; i$3++) {
+  var prop = STYLE_COMMON_PROPS[i$3];
+  if (!(prop[0] in styleProto)) {
+    styleProto[prop[0]] = prop[1];
+  }
+}
+Style$3.getGradient = styleProto.getGradient;
+var _default$_ = Style$3;
+var Style_1 = _default$_;
+var Pattern$2 = function(image2, repeat) {
+  this.image = image2;
+  this.repeat = repeat;
+  this.type = "pattern";
+};
+Pattern$2.prototype.getCanvasPattern = function(ctx) {
+  return ctx.createPattern(this.image, this.repeat || "repeat");
+};
+var _default$Z = Pattern$2;
+var Pattern_1 = _default$Z;
+var util$7 = util$a;
+var _config$2 = config$1;
+var devicePixelRatio$2 = _config$2.devicePixelRatio;
+var Style$2 = Style_1;
+var Pattern$1 = Pattern_1;
+function returnFalse() {
+  return false;
+}
+function createDom$1(id, painter, dpr2) {
+  var newDom = util$7.createCanvas();
+  var width = painter.getWidth();
+  var height = painter.getHeight();
+  var newDomStyle = newDom.style;
+  if (newDomStyle) {
+    newDomStyle.position = "absolute";
+    newDomStyle.left = 0;
+    newDomStyle.top = 0;
+    newDomStyle.width = width + "px";
+    newDomStyle.height = height + "px";
+    newDom.setAttribute("data-zr-dom-id", id);
+  }
+  newDom.width = width * dpr2;
+  newDom.height = height * dpr2;
+  return newDom;
+}
+var Layer$3 = function(id, painter, dpr2) {
+  var dom2;
+  dpr2 = dpr2 || devicePixelRatio$2;
+  if (typeof id === "string") {
+    dom2 = createDom$1(id, painter, dpr2);
+  } else if (util$7.isObject(id)) {
+    dom2 = id;
+    id = dom2.id;
+  }
+  this.id = id;
+  this.dom = dom2;
+  var domStyle = dom2.style;
+  if (domStyle) {
+    dom2.onselectstart = returnFalse;
+    domStyle["-webkit-user-select"] = "none";
+    domStyle["user-select"] = "none";
+    domStyle["-webkit-touch-callout"] = "none";
+    domStyle["-webkit-tap-highlight-color"] = "rgba(0,0,0,0)";
+    domStyle["padding"] = 0;
+    domStyle["margin"] = 0;
+    domStyle["border-width"] = 0;
+  }
+  this.domBack = null;
+  this.ctxBack = null;
+  this.painter = painter;
+  this.config = null;
+  this.clearColor = 0;
+  this.motionBlur = false;
+  this.lastFrameAlpha = 0.7;
+  this.dpr = dpr2;
+};
+Layer$3.prototype = {
+  constructor: Layer$3,
+  __dirty: true,
+  __used: false,
+  __drawIndex: 0,
+  __startIndex: 0,
+  __endIndex: 0,
+  incremental: false,
+  getElementCount: function() {
+    return this.__endIndex - this.__startIndex;
+  },
+  initContext: function() {
+    this.ctx = this.dom.getContext("2d");
+    this.ctx.dpr = this.dpr;
+  },
+  createBackBuffer: function() {
+    var dpr2 = this.dpr;
+    this.domBack = createDom$1("back-" + this.id, this.painter, dpr2);
+    this.ctxBack = this.domBack.getContext("2d");
+    if (dpr2 !== 1) {
+      this.ctxBack.scale(dpr2, dpr2);
+    }
+  },
+  /**
+   * @param  {number} width
+   * @param  {number} height
+   */
+  resize: function(width, height) {
+    var dpr2 = this.dpr;
+    var dom2 = this.dom;
+    var domStyle = dom2.style;
+    var domBack = this.domBack;
+    if (domStyle) {
+      domStyle.width = width + "px";
+      domStyle.height = height + "px";
+    }
+    dom2.width = width * dpr2;
+    dom2.height = height * dpr2;
+    if (domBack) {
+      domBack.width = width * dpr2;
+      domBack.height = height * dpr2;
+      if (dpr2 !== 1) {
+        this.ctxBack.scale(dpr2, dpr2);
+      }
+    }
+  },
+  /**
+   * 清空该层画布
+   * @param {boolean} [clearAll]=false Clear all with out motion blur
+   * @param {Color} [clearColor]
+   */
+  clear: function(clearAll, clearColor) {
+    var dom2 = this.dom;
+    var ctx = this.ctx;
+    var width = dom2.width;
+    var height = dom2.height;
+    var clearColor = clearColor || this.clearColor;
+    var haveMotionBLur = this.motionBlur && !clearAll;
+    var lastFrameAlpha = this.lastFrameAlpha;
+    var dpr2 = this.dpr;
+    if (haveMotionBLur) {
+      if (!this.domBack) {
+        this.createBackBuffer();
+      }
+      this.ctxBack.globalCompositeOperation = "copy";
+      this.ctxBack.drawImage(dom2, 0, 0, width / dpr2, height / dpr2);
+    }
+    ctx.clearRect(0, 0, width, height);
+    if (clearColor && clearColor !== "transparent") {
+      var clearColorGradientOrPattern;
+      if (clearColor.colorStops) {
+        clearColorGradientOrPattern = clearColor.__canvasGradient || Style$2.getGradient(ctx, clearColor, {
+          x: 0,
+          y: 0,
+          width,
+          height
+        });
+        clearColor.__canvasGradient = clearColorGradientOrPattern;
+      } else if (clearColor.image) {
+        clearColorGradientOrPattern = Pattern$1.prototype.getCanvasPattern.call(clearColor, ctx);
+      }
+      ctx.save();
+      ctx.fillStyle = clearColorGradientOrPattern || clearColor;
+      ctx.fillRect(0, 0, width, height);
+      ctx.restore();
+    }
+    if (haveMotionBLur) {
+      var domBack = this.domBack;
+      ctx.save();
+      ctx.globalAlpha = lastFrameAlpha;
+      ctx.drawImage(domBack, 0, 0, width, height);
+      ctx.restore();
+    }
+  }
+};
+var _default$Y = Layer$3;
+var Layer_1 = _default$Y;
+var _default$X = typeof window !== "undefined" && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809
+window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function(func) {
+  setTimeout(func, 16);
+};
+var requestAnimationFrame$6 = _default$X;
+var text$1 = {};
+var text = {};
+var image = {};
+var LRU$2 = LRU_1;
+var globalImageCache$1 = new LRU$2(50);
+function findExistImage$1(newImageOrSrc) {
+  if (typeof newImageOrSrc === "string") {
+    var cachedImgObj = globalImageCache$1.get(newImageOrSrc);
+    return cachedImgObj && cachedImgObj.image;
+  } else {
+    return newImageOrSrc;
+  }
+}
+function createOrUpdateImage$1(newImageOrSrc, image2, hostEl, cb, cbPayload) {
+  if (!newImageOrSrc) {
+    return image2;
+  } else if (typeof newImageOrSrc === "string") {
+    if (image2 && image2.__zrImageSrc === newImageOrSrc || !hostEl) {
+      return image2;
+    }
+    var cachedImgObj = globalImageCache$1.get(newImageOrSrc);
+    var pendingWrap = {
+      hostEl,
+      cb,
+      cbPayload
+    };
+    if (cachedImgObj) {
+      image2 = cachedImgObj.image;
+      !isImageReady$1(image2) && cachedImgObj.pending.push(pendingWrap);
+    } else {
+      image2 = new Image();
+      image2.onload = image2.onerror = imageOnLoad$1;
+      globalImageCache$1.put(newImageOrSrc, image2.__cachedImgObj = {
+        image: image2,
+        pending: [pendingWrap]
+      });
+      image2.src = image2.__zrImageSrc = newImageOrSrc;
+    }
+    return image2;
+  } else {
+    return newImageOrSrc;
+  }
+}
+function imageOnLoad$1() {
+  var cachedImgObj = this.__cachedImgObj;
+  this.onload = this.onerror = this.__cachedImgObj = null;
+  for (var i2 = 0; i2 < cachedImgObj.pending.length; i2++) {
+    var pendingWrap = cachedImgObj.pending[i2];
+    var cb = pendingWrap.cb;
+    cb && cb(this, pendingWrap.cbPayload);
+    pendingWrap.hostEl.dirty();
+  }
+  cachedImgObj.pending.length = 0;
+}
+function isImageReady$1(image2) {
+  return image2 && image2.width && image2.height;
+}
+image.findExistImage = findExistImage$1;
+image.createOrUpdateImage = createOrUpdateImage$1;
+image.isImageReady = isImageReady$1;
+var BoundingRect$8 = BoundingRect_1;
+var imageHelper$2 = image;
+var _util$e = util$a;
+var getContext = _util$e.getContext;
+var extend$9 = _util$e.extend;
+var retrieve2$2 = _util$e.retrieve2;
+var retrieve3$2 = _util$e.retrieve3;
+var trim$5 = _util$e.trim;
+var textWidthCache$1 = {};
+var textWidthCacheCounter = 0;
+var TEXT_CACHE_MAX = 5e3;
+var STYLE_REG$1 = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;
+var DEFAULT_FONT$2 = "12px sans-serif";
+var methods$1 = {};
+function $override(name2, fn) {
+  methods$1[name2] = fn;
+}
+function getWidth$1(text2, font) {
+  font = font || DEFAULT_FONT$2;
+  var key2 = text2 + ":" + font;
+  if (textWidthCache$1[key2]) {
+    return textWidthCache$1[key2];
+  }
+  var textLines = (text2 + "").split("\n");
+  var width = 0;
+  for (var i2 = 0, l2 = textLines.length; i2 < l2; i2++) {
+    width = Math.max(measureText(textLines[i2], font).width, width);
+  }
+  if (textWidthCacheCounter > TEXT_CACHE_MAX) {
+    textWidthCacheCounter = 0;
+    textWidthCache$1 = {};
+  }
+  textWidthCacheCounter++;
+  textWidthCache$1[key2] = width;
+  return width;
+}
+function getBoundingRect$1(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate2) {
+  return rich ? getRichTextRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate2) : getPlainTextRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate2);
+}
+function getPlainTextRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate2) {
+  var contentBlock = parsePlainText$1(text2, font, textPadding, textLineHeight, truncate2);
+  var outerWidth = getWidth$1(text2, font);
+  if (textPadding) {
+    outerWidth += textPadding[1] + textPadding[3];
+  }
+  var outerHeight = contentBlock.outerHeight;
+  var x2 = adjustTextX$1(0, outerWidth, textAlign);
+  var y2 = adjustTextY$2(0, outerHeight, textVerticalAlign);
+  var rect = new BoundingRect$8(x2, y2, outerWidth, outerHeight);
+  rect.lineHeight = contentBlock.lineHeight;
+  return rect;
+}
+function getRichTextRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate2) {
+  var contentBlock = parseRichText$1(text2, {
+    rich,
+    truncate: truncate2,
+    font,
+    textAlign,
+    textPadding,
+    textLineHeight
+  });
+  var outerWidth = contentBlock.outerWidth;
+  var outerHeight = contentBlock.outerHeight;
+  var x2 = adjustTextX$1(0, outerWidth, textAlign);
+  var y2 = adjustTextY$2(0, outerHeight, textVerticalAlign);
+  return new BoundingRect$8(x2, y2, outerWidth, outerHeight);
+}
+function adjustTextX$1(x2, width, textAlign) {
+  if (textAlign === "right") {
+    x2 -= width;
+  } else if (textAlign === "center") {
+    x2 -= width / 2;
+  }
+  return x2;
+}
+function adjustTextY$2(y2, height, textVerticalAlign) {
+  if (textVerticalAlign === "middle") {
+    y2 -= height / 2;
+  } else if (textVerticalAlign === "bottom") {
+    y2 -= height;
+  }
+  return y2;
+}
+function calculateTextPosition$1(out2, style2, rect) {
+  var textPosition = style2.textPosition;
+  var distance2 = style2.textDistance;
+  var x2 = rect.x;
+  var y2 = rect.y;
+  distance2 = distance2 || 0;
+  var height = rect.height;
+  var width = rect.width;
+  var halfHeight = height / 2;
+  var textAlign = "left";
+  var textVerticalAlign = "top";
+  switch (textPosition) {
+    case "left":
+      x2 -= distance2;
+      y2 += halfHeight;
+      textAlign = "right";
+      textVerticalAlign = "middle";
+      break;
+    case "right":
+      x2 += distance2 + width;
+      y2 += halfHeight;
+      textVerticalAlign = "middle";
+      break;
+    case "top":
+      x2 += width / 2;
+      y2 -= distance2;
+      textAlign = "center";
+      textVerticalAlign = "bottom";
+      break;
+    case "bottom":
+      x2 += width / 2;
+      y2 += height + distance2;
+      textAlign = "center";
+      break;
+    case "inside":
+      x2 += width / 2;
+      y2 += halfHeight;
+      textAlign = "center";
+      textVerticalAlign = "middle";
+      break;
+    case "insideLeft":
+      x2 += distance2;
+      y2 += halfHeight;
+      textVerticalAlign = "middle";
+      break;
+    case "insideRight":
+      x2 += width - distance2;
+      y2 += halfHeight;
+      textAlign = "right";
+      textVerticalAlign = "middle";
+      break;
+    case "insideTop":
+      x2 += width / 2;
+      y2 += distance2;
+      textAlign = "center";
+      break;
+    case "insideBottom":
+      x2 += width / 2;
+      y2 += height - distance2;
+      textAlign = "center";
+      textVerticalAlign = "bottom";
+      break;
+    case "insideTopLeft":
+      x2 += distance2;
+      y2 += distance2;
+      break;
+    case "insideTopRight":
+      x2 += width - distance2;
+      y2 += distance2;
+      textAlign = "right";
+      break;
+    case "insideBottomLeft":
+      x2 += distance2;
+      y2 += height - distance2;
+      textVerticalAlign = "bottom";
+      break;
+    case "insideBottomRight":
+      x2 += width - distance2;
+      y2 += height - distance2;
+      textAlign = "right";
+      textVerticalAlign = "bottom";
+      break;
+  }
+  out2 = out2 || {};
+  out2.x = x2;
+  out2.y = y2;
+  out2.textAlign = textAlign;
+  out2.textVerticalAlign = textVerticalAlign;
+  return out2;
+}
+function adjustTextPositionOnRect(textPosition, rect, distance2) {
+  var dummyStyle = {
+    textPosition,
+    textDistance: distance2
+  };
+  return calculateTextPosition$1({}, dummyStyle, rect);
+}
+function truncateText$2(text2, containerWidth, font, ellipsis, options2) {
+  if (!containerWidth) {
+    return "";
+  }
+  var textLines = (text2 + "").split("\n");
+  options2 = prepareTruncateOptions$1(containerWidth, font, ellipsis, options2);
+  for (var i2 = 0, len2 = textLines.length; i2 < len2; i2++) {
+    textLines[i2] = truncateSingleLine$1(textLines[i2], options2);
+  }
+  return textLines.join("\n");
+}
+function prepareTruncateOptions$1(containerWidth, font, ellipsis, options2) {
+  options2 = extend$9({}, options2);
+  options2.font = font;
+  var ellipsis = retrieve2$2(ellipsis, "...");
+  options2.maxIterations = retrieve2$2(options2.maxIterations, 2);
+  var minChar = options2.minChar = retrieve2$2(options2.minChar, 0);
+  options2.cnCharWidth = getWidth$1("国", font);
+  var ascCharWidth = options2.ascCharWidth = getWidth$1("a", font);
+  options2.placeholder = retrieve2$2(options2.placeholder, "");
+  var contentWidth = containerWidth = Math.max(0, containerWidth - 1);
+  for (var i2 = 0; i2 < minChar && contentWidth >= ascCharWidth; i2++) {
+    contentWidth -= ascCharWidth;
+  }
+  var ellipsisWidth = getWidth$1(ellipsis, font);
+  if (ellipsisWidth > contentWidth) {
+    ellipsis = "";
+    ellipsisWidth = 0;
+  }
+  contentWidth = containerWidth - ellipsisWidth;
+  options2.ellipsis = ellipsis;
+  options2.ellipsisWidth = ellipsisWidth;
+  options2.contentWidth = contentWidth;
+  options2.containerWidth = containerWidth;
+  return options2;
+}
+function truncateSingleLine$1(textLine, options2) {
+  var containerWidth = options2.containerWidth;
+  var font = options2.font;
+  var contentWidth = options2.contentWidth;
+  if (!containerWidth) {
+    return "";
+  }
+  var lineWidth = getWidth$1(textLine, font);
+  if (lineWidth <= containerWidth) {
+    return textLine;
+  }
+  for (var j2 = 0; ; j2++) {
+    if (lineWidth <= contentWidth || j2 >= options2.maxIterations) {
+      textLine += options2.ellipsis;
+      break;
+    }
+    var subLength = j2 === 0 ? estimateLength$1(textLine, contentWidth, options2.ascCharWidth, options2.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;
+    textLine = textLine.substr(0, subLength);
+    lineWidth = getWidth$1(textLine, font);
+  }
+  if (textLine === "") {
+    textLine = options2.placeholder;
+  }
+  return textLine;
+}
+function estimateLength$1(text2, contentWidth, ascCharWidth, cnCharWidth) {
+  var width = 0;
+  var i2 = 0;
+  for (var len2 = text2.length; i2 < len2 && width < contentWidth; i2++) {
+    var charCode = text2.charCodeAt(i2);
+    width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;
+  }
+  return i2;
+}
+function getLineHeight$1(font) {
+  return getWidth$1("国", font);
+}
+function measureText(text2, font) {
+  return methods$1.measureText(text2, font);
+}
+methods$1.measureText = function(text2, font) {
+  var ctx = getContext();
+  ctx.font = font || DEFAULT_FONT$2;
+  return ctx.measureText(text2);
+};
+function parsePlainText$1(text2, font, padding, textLineHeight, truncate2) {
+  text2 != null && (text2 += "");
+  var lineHeight = retrieve2$2(textLineHeight, getLineHeight$1(font));
+  var lines2 = text2 ? text2.split("\n") : [];
+  var height = lines2.length * lineHeight;
+  var outerHeight = height;
+  var canCacheByTextString = true;
+  if (padding) {
+    outerHeight += padding[0] + padding[2];
+  }
+  if (text2 && truncate2) {
+    canCacheByTextString = false;
+    var truncOuterHeight = truncate2.outerHeight;
+    var truncOuterWidth = truncate2.outerWidth;
+    if (truncOuterHeight != null && outerHeight > truncOuterHeight) {
+      text2 = "";
+      lines2 = [];
+    } else if (truncOuterWidth != null) {
+      var options2 = prepareTruncateOptions$1(truncOuterWidth - (padding ? padding[1] + padding[3] : 0), font, truncate2.ellipsis, {
+        minChar: truncate2.minChar,
+        placeholder: truncate2.placeholder
+      });
+      for (var i2 = 0, len2 = lines2.length; i2 < len2; i2++) {
+        lines2[i2] = truncateSingleLine$1(lines2[i2], options2);
+      }
+    }
+  }
+  return {
+    lines: lines2,
+    height,
+    outerHeight,
+    lineHeight,
+    canCacheByTextString
+  };
+}
+function parseRichText$1(text2, style2) {
+  var contentBlock = {
+    lines: [],
+    width: 0,
+    height: 0
+  };
+  text2 != null && (text2 += "");
+  if (!text2) {
+    return contentBlock;
+  }
+  var lastIndex = STYLE_REG$1.lastIndex = 0;
+  var result2;
+  while ((result2 = STYLE_REG$1.exec(text2)) != null) {
+    var matchedIndex = result2.index;
+    if (matchedIndex > lastIndex) {
+      pushTokens$1(contentBlock, text2.substring(lastIndex, matchedIndex));
+    }
+    pushTokens$1(contentBlock, result2[2], result2[1]);
+    lastIndex = STYLE_REG$1.lastIndex;
+  }
+  if (lastIndex < text2.length) {
+    pushTokens$1(contentBlock, text2.substring(lastIndex, text2.length));
+  }
+  var lines2 = contentBlock.lines;
+  var contentHeight = 0;
+  var contentWidth = 0;
+  var pendingList = [];
+  var stlPadding = style2.textPadding;
+  var truncate2 = style2.truncate;
+  var truncateWidth = truncate2 && truncate2.outerWidth;
+  var truncateHeight = truncate2 && truncate2.outerHeight;
+  if (stlPadding) {
+    truncateWidth != null && (truncateWidth -= stlPadding[1] + stlPadding[3]);
+    truncateHeight != null && (truncateHeight -= stlPadding[0] + stlPadding[2]);
+  }
+  for (var i2 = 0; i2 < lines2.length; i2++) {
+    var line2 = lines2[i2];
+    var lineHeight = 0;
+    var lineWidth = 0;
+    for (var j2 = 0; j2 < line2.tokens.length; j2++) {
+      var token2 = line2.tokens[j2];
+      var tokenStyle = token2.styleName && style2.rich[token2.styleName] || {};
+      var textPadding = token2.textPadding = tokenStyle.textPadding;
+      var font = token2.font = tokenStyle.font || style2.font;
+      var tokenHeight = token2.textHeight = retrieve2$2(
+        // textHeight should not be inherited, consider it can be specified
+        // as box height of the block.
+        tokenStyle.textHeight,
+        getLineHeight$1(font)
+      );
+      textPadding && (tokenHeight += textPadding[0] + textPadding[2]);
+      token2.height = tokenHeight;
+      token2.lineHeight = retrieve3$2(tokenStyle.textLineHeight, style2.textLineHeight, tokenHeight);
+      token2.textAlign = tokenStyle && tokenStyle.textAlign || style2.textAlign;
+      token2.textVerticalAlign = tokenStyle && tokenStyle.textVerticalAlign || "middle";
+      if (truncateHeight != null && contentHeight + token2.lineHeight > truncateHeight) {
+        return {
+          lines: [],
+          width: 0,
+          height: 0
+        };
+      }
+      token2.textWidth = getWidth$1(token2.text, font);
+      var tokenWidth = tokenStyle.textWidth;
+      var tokenWidthNotSpecified = tokenWidth == null || tokenWidth === "auto";
+      if (typeof tokenWidth === "string" && tokenWidth.charAt(tokenWidth.length - 1) === "%") {
+        token2.percentWidth = tokenWidth;
+        pendingList.push(token2);
+        tokenWidth = 0;
+      } else {
+        if (tokenWidthNotSpecified) {
+          tokenWidth = token2.textWidth;
+          var textBackgroundColor = tokenStyle.textBackgroundColor;
+          var bgImg = textBackgroundColor && textBackgroundColor.image;
+          if (bgImg) {
+            bgImg = imageHelper$2.findExistImage(bgImg);
+            if (imageHelper$2.isImageReady(bgImg)) {
+              tokenWidth = Math.max(tokenWidth, bgImg.width * tokenHeight / bgImg.height);
+            }
+          }
+        }
+        var paddingW = textPadding ? textPadding[1] + textPadding[3] : 0;
+        tokenWidth += paddingW;
+        var remianTruncWidth = truncateWidth != null ? truncateWidth - lineWidth : null;
+        if (remianTruncWidth != null && remianTruncWidth < tokenWidth) {
+          if (!tokenWidthNotSpecified || remianTruncWidth < paddingW) {
+            token2.text = "";
+            token2.textWidth = tokenWidth = 0;
+          } else {
+            token2.text = truncateText$2(token2.text, remianTruncWidth - paddingW, font, truncate2.ellipsis, {
+              minChar: truncate2.minChar
+            });
+            token2.textWidth = getWidth$1(token2.text, font);
+            tokenWidth = token2.textWidth + paddingW;
+          }
+        }
+      }
+      lineWidth += token2.width = tokenWidth;
+      tokenStyle && (lineHeight = Math.max(lineHeight, token2.lineHeight));
+    }
+    line2.width = lineWidth;
+    line2.lineHeight = lineHeight;
+    contentHeight += lineHeight;
+    contentWidth = Math.max(contentWidth, lineWidth);
+  }
+  contentBlock.outerWidth = contentBlock.width = retrieve2$2(style2.textWidth, contentWidth);
+  contentBlock.outerHeight = contentBlock.height = retrieve2$2(style2.textHeight, contentHeight);
+  if (stlPadding) {
+    contentBlock.outerWidth += stlPadding[1] + stlPadding[3];
+    contentBlock.outerHeight += stlPadding[0] + stlPadding[2];
+  }
+  for (var i2 = 0; i2 < pendingList.length; i2++) {
+    var token2 = pendingList[i2];
+    var percentWidth = token2.percentWidth;
+    token2.width = parseInt(percentWidth, 10) / 100 * contentWidth;
+  }
+  return contentBlock;
+}
+function pushTokens$1(block, str, styleName) {
+  var isEmptyStr = str === "";
+  var strs = str.split("\n");
+  var lines2 = block.lines;
+  for (var i2 = 0; i2 < strs.length; i2++) {
+    var text2 = strs[i2];
+    var token2 = {
+      styleName,
+      text: text2,
+      isLineHolder: !text2 && !isEmptyStr
+    };
+    if (!i2) {
+      var tokens = (lines2[lines2.length - 1] || (lines2[0] = {
+        tokens: []
+      })).tokens;
+      var tokensLen = tokens.length;
+      tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token2 : (
+        // Consider text is '', only insert when it is the "lineHolder" or
+        // "emptyStr". Otherwise a redundant '' will affect textAlign in line.
+        (text2 || !tokensLen || isEmptyStr) && tokens.push(token2)
+      );
+    } else {
+      lines2.push({
+        tokens: [token2]
+      });
+    }
+  }
+}
+function makeFont(style2) {
+  var font = (style2.fontSize || style2.fontFamily) && [
+    style2.fontStyle,
+    style2.fontWeight,
+    (style2.fontSize || 12) + "px",
+    // If font properties are defined, `fontFamily` should not be ignored.
+    style2.fontFamily || "sans-serif"
+  ].join(" ");
+  return font && trim$5(font) || style2.textFont || style2.font;
+}
+text.DEFAULT_FONT = DEFAULT_FONT$2;
+text.$override = $override;
+text.getWidth = getWidth$1;
+text.getBoundingRect = getBoundingRect$1;
+text.adjustTextX = adjustTextX$1;
+text.adjustTextY = adjustTextY$2;
+text.calculateTextPosition = calculateTextPosition$1;
+text.adjustTextPositionOnRect = adjustTextPositionOnRect;
+text.truncateText = truncateText$2;
+text.getLineHeight = getLineHeight$1;
+text.measureText = measureText;
+text.parsePlainText = parsePlainText$1;
+text.parseRichText = parseRichText$1;
+text.makeFont = makeFont;
+var roundRect = {};
+function buildPath$4(ctx, shape) {
+  var x2 = shape.x;
+  var y2 = shape.y;
+  var width = shape.width;
+  var height = shape.height;
+  var r2 = shape.r;
+  var r1;
+  var r22;
+  var r3;
+  var r4;
+  if (width < 0) {
+    x2 = x2 + width;
+    width = -width;
+  }
+  if (height < 0) {
+    y2 = y2 + height;
+    height = -height;
+  }
+  if (typeof r2 === "number") {
+    r1 = r22 = r3 = r4 = r2;
+  } else if (r2 instanceof Array) {
+    if (r2.length === 1) {
+      r1 = r22 = r3 = r4 = r2[0];
+    } else if (r2.length === 2) {
+      r1 = r3 = r2[0];
+      r22 = r4 = r2[1];
+    } else if (r2.length === 3) {
+      r1 = r2[0];
+      r22 = r4 = r2[1];
+      r3 = r2[2];
+    } else {
+      r1 = r2[0];
+      r22 = r2[1];
+      r3 = r2[2];
+      r4 = r2[3];
+    }
+  } else {
+    r1 = r22 = r3 = r4 = 0;
+  }
+  var total;
+  if (r1 + r22 > width) {
+    total = r1 + r22;
+    r1 *= width / total;
+    r22 *= width / total;
+  }
+  if (r3 + r4 > width) {
+    total = r3 + r4;
+    r3 *= width / total;
+    r4 *= width / total;
+  }
+  if (r22 + r3 > height) {
+    total = r22 + r3;
+    r22 *= height / total;
+    r3 *= height / total;
+  }
+  if (r1 + r4 > height) {
+    total = r1 + r4;
+    r1 *= height / total;
+    r4 *= height / total;
+  }
+  ctx.moveTo(x2 + r1, y2);
+  ctx.lineTo(x2 + width - r22, y2);
+  r22 !== 0 && ctx.arc(x2 + width - r22, y2 + r22, r22, -Math.PI / 2, 0);
+  ctx.lineTo(x2 + width, y2 + height - r3);
+  r3 !== 0 && ctx.arc(x2 + width - r3, y2 + height - r3, r3, 0, Math.PI / 2);
+  ctx.lineTo(x2 + r4, y2 + height);
+  r4 !== 0 && ctx.arc(x2 + r4, y2 + height - r4, r4, Math.PI / 2, Math.PI);
+  ctx.lineTo(x2, y2 + r1);
+  r1 !== 0 && ctx.arc(x2 + r1, y2 + r1, r1, Math.PI, Math.PI * 1.5);
+}
+roundRect.buildPath = buildPath$4;
+var _util$d = util$a;
+var retrieve2$1 = _util$d.retrieve2;
+var retrieve3$1 = _util$d.retrieve3;
+var each$t = _util$d.each;
+var normalizeCssArray$3 = _util$d.normalizeCssArray;
+var isString$6 = _util$d.isString;
+var isObject$c = _util$d.isObject;
+var textContain$4 = text;
+var roundRectHelper$1 = roundRect;
+var imageHelper$1 = image;
+var fixShadow = fixShadow$2;
+var _constant$1 = constant;
+var ContextCachedBy$1 = _constant$1.ContextCachedBy;
+var WILL_BE_RESTORED = _constant$1.WILL_BE_RESTORED;
+var DEFAULT_FONT$1 = textContain$4.DEFAULT_FONT;
+var VALID_TEXT_ALIGN$1 = {
+  left: 1,
+  right: 1,
+  center: 1
+};
+var VALID_TEXT_VERTICAL_ALIGN$1 = {
+  top: 1,
+  bottom: 1,
+  middle: 1
+};
+var SHADOW_STYLE_COMMON_PROPS = [["textShadowBlur", "shadowBlur", 0], ["textShadowOffsetX", "shadowOffsetX", 0], ["textShadowOffsetY", "shadowOffsetY", 0], ["textShadowColor", "shadowColor", "transparent"]];
+var _tmpTextPositionResult = {};
+var _tmpBoxPositionResult = {};
+function normalizeTextStyle$1(style2) {
+  normalizeStyle$1(style2);
+  each$t(style2.rich, normalizeStyle$1);
+  return style2;
+}
+function normalizeStyle$1(style2) {
+  if (style2) {
+    style2.font = textContain$4.makeFont(style2);
+    var textAlign = style2.textAlign;
+    textAlign === "middle" && (textAlign = "center");
+    style2.textAlign = textAlign == null || VALID_TEXT_ALIGN$1[textAlign] ? textAlign : "left";
+    var textVerticalAlign = style2.textVerticalAlign || style2.textBaseline;
+    textVerticalAlign === "center" && (textVerticalAlign = "middle");
+    style2.textVerticalAlign = textVerticalAlign == null || VALID_TEXT_VERTICAL_ALIGN$1[textVerticalAlign] ? textVerticalAlign : "top";
+    var textPadding = style2.textPadding;
+    if (textPadding) {
+      style2.textPadding = normalizeCssArray$3(style2.textPadding);
+    }
+  }
+}
+function renderText(hostEl, ctx, text2, style2, rect, prevEl) {
+  style2.rich ? renderRichText(hostEl, ctx, text2, style2, rect, prevEl) : renderPlainText(hostEl, ctx, text2, style2, rect, prevEl);
+}
+function renderPlainText(hostEl, ctx, text2, style2, rect, prevEl) {
+  var needDrawBg = needDrawBackground$1(style2);
+  var prevStyle;
+  var checkCache = false;
+  var cachedByMe = ctx.__attrCachedBy === ContextCachedBy$1.PLAIN_TEXT;
+  if (prevEl !== WILL_BE_RESTORED) {
+    if (prevEl) {
+      prevStyle = prevEl.style;
+      checkCache = !needDrawBg && cachedByMe && prevStyle;
+    }
+    ctx.__attrCachedBy = needDrawBg ? ContextCachedBy$1.NONE : ContextCachedBy$1.PLAIN_TEXT;
+  } else if (cachedByMe) {
+    ctx.__attrCachedBy = ContextCachedBy$1.NONE;
+  }
+  var styleFont = style2.font || DEFAULT_FONT$1;
+  if (!checkCache || styleFont !== (prevStyle.font || DEFAULT_FONT$1)) {
+    ctx.font = styleFont;
+  }
+  var computedFont = hostEl.__computedFont;
+  if (hostEl.__styleFont !== styleFont) {
+    hostEl.__styleFont = styleFont;
+    computedFont = hostEl.__computedFont = ctx.font;
+  }
+  var textPadding = style2.textPadding;
+  var textLineHeight = style2.textLineHeight;
+  var contentBlock = hostEl.__textCotentBlock;
+  if (!contentBlock || hostEl.__dirtyText) {
+    contentBlock = hostEl.__textCotentBlock = textContain$4.parsePlainText(text2, computedFont, textPadding, textLineHeight, style2.truncate);
+  }
+  var outerHeight = contentBlock.outerHeight;
+  var textLines = contentBlock.lines;
+  var lineHeight = contentBlock.lineHeight;
+  var boxPos = getBoxPosition(_tmpBoxPositionResult, hostEl, style2, rect);
+  var baseX = boxPos.baseX;
+  var baseY = boxPos.baseY;
+  var textAlign = boxPos.textAlign || "left";
+  var textVerticalAlign = boxPos.textVerticalAlign;
+  applyTextRotation(ctx, style2, rect, baseX, baseY);
+  var boxY = textContain$4.adjustTextY(baseY, outerHeight, textVerticalAlign);
+  var textX = baseX;
+  var textY = boxY;
+  if (needDrawBg || textPadding) {
+    var textWidth = textContain$4.getWidth(text2, computedFont);
+    var outerWidth = textWidth;
+    textPadding && (outerWidth += textPadding[1] + textPadding[3]);
+    var boxX = textContain$4.adjustTextX(baseX, outerWidth, textAlign);
+    needDrawBg && drawBackground(hostEl, ctx, style2, boxX, boxY, outerWidth, outerHeight);
+    if (textPadding) {
+      textX = getTextXForPadding$1(baseX, textAlign, textPadding);
+      textY += textPadding[0];
+    }
+  }
+  ctx.textAlign = textAlign;
+  ctx.textBaseline = "middle";
+  ctx.globalAlpha = style2.opacity || 1;
+  for (var i2 = 0; i2 < SHADOW_STYLE_COMMON_PROPS.length; i2++) {
+    var propItem = SHADOW_STYLE_COMMON_PROPS[i2];
+    var styleProp = propItem[0];
+    var ctxProp = propItem[1];
+    var val = style2[styleProp];
+    if (!checkCache || val !== prevStyle[styleProp]) {
+      ctx[ctxProp] = fixShadow(ctx, ctxProp, val || propItem[2]);
+    }
+  }
+  textY += lineHeight / 2;
+  var textStrokeWidth = style2.textStrokeWidth;
+  var textStrokeWidthPrev = checkCache ? prevStyle.textStrokeWidth : null;
+  var strokeWidthChanged = !checkCache || textStrokeWidth !== textStrokeWidthPrev;
+  var strokeChanged = !checkCache || strokeWidthChanged || style2.textStroke !== prevStyle.textStroke;
+  var textStroke = getStroke$1(style2.textStroke, textStrokeWidth);
+  var textFill = getFill$1(style2.textFill);
+  if (textStroke) {
+    if (strokeWidthChanged) {
+      ctx.lineWidth = textStrokeWidth;
+    }
+    if (strokeChanged) {
+      ctx.strokeStyle = textStroke;
+    }
+  }
+  if (textFill) {
+    if (!checkCache || style2.textFill !== prevStyle.textFill) {
+      ctx.fillStyle = textFill;
+    }
+  }
+  if (textLines.length === 1) {
+    textStroke && ctx.strokeText(textLines[0], textX, textY);
+    textFill && ctx.fillText(textLines[0], textX, textY);
+  } else {
+    for (var i2 = 0; i2 < textLines.length; i2++) {
+      textStroke && ctx.strokeText(textLines[i2], textX, textY);
+      textFill && ctx.fillText(textLines[i2], textX, textY);
+      textY += lineHeight;
+    }
+  }
+}
+function renderRichText(hostEl, ctx, text2, style2, rect, prevEl) {
+  if (prevEl !== WILL_BE_RESTORED) {
+    ctx.__attrCachedBy = ContextCachedBy$1.NONE;
+  }
+  var contentBlock = hostEl.__textCotentBlock;
+  if (!contentBlock || hostEl.__dirtyText) {
+    contentBlock = hostEl.__textCotentBlock = textContain$4.parseRichText(text2, style2);
+  }
+  drawRichText(hostEl, ctx, contentBlock, style2, rect);
+}
+function drawRichText(hostEl, ctx, contentBlock, style2, rect) {
+  var contentWidth = contentBlock.width;
+  var outerWidth = contentBlock.outerWidth;
+  var outerHeight = contentBlock.outerHeight;
+  var textPadding = style2.textPadding;
+  var boxPos = getBoxPosition(_tmpBoxPositionResult, hostEl, style2, rect);
+  var baseX = boxPos.baseX;
+  var baseY = boxPos.baseY;
+  var textAlign = boxPos.textAlign;
+  var textVerticalAlign = boxPos.textVerticalAlign;
+  applyTextRotation(ctx, style2, rect, baseX, baseY);
+  var boxX = textContain$4.adjustTextX(baseX, outerWidth, textAlign);
+  var boxY = textContain$4.adjustTextY(baseY, outerHeight, textVerticalAlign);
+  var xLeft = boxX;
+  var lineTop = boxY;
+  if (textPadding) {
+    xLeft += textPadding[3];
+    lineTop += textPadding[0];
+  }
+  var xRight = xLeft + contentWidth;
+  needDrawBackground$1(style2) && drawBackground(hostEl, ctx, style2, boxX, boxY, outerWidth, outerHeight);
+  for (var i2 = 0; i2 < contentBlock.lines.length; i2++) {
+    var line2 = contentBlock.lines[i2];
+    var tokens = line2.tokens;
+    var tokenCount = tokens.length;
+    var lineHeight = line2.lineHeight;
+    var usedWidth = line2.width;
+    var leftIndex = 0;
+    var lineXLeft = xLeft;
+    var lineXRight = xRight;
+    var rightIndex = tokenCount - 1;
+    var token2;
+    while (leftIndex < tokenCount && (token2 = tokens[leftIndex], !token2.textAlign || token2.textAlign === "left")) {
+      placeToken(hostEl, ctx, token2, style2, lineHeight, lineTop, lineXLeft, "left");
+      usedWidth -= token2.width;
+      lineXLeft += token2.width;
+      leftIndex++;
+    }
+    while (rightIndex >= 0 && (token2 = tokens[rightIndex], token2.textAlign === "right")) {
+      placeToken(hostEl, ctx, token2, style2, lineHeight, lineTop, lineXRight, "right");
+      usedWidth -= token2.width;
+      lineXRight -= token2.width;
+      rightIndex--;
+    }
+    lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - usedWidth) / 2;
+    while (leftIndex <= rightIndex) {
+      token2 = tokens[leftIndex];
+      placeToken(hostEl, ctx, token2, style2, lineHeight, lineTop, lineXLeft + token2.width / 2, "center");
+      lineXLeft += token2.width;
+      leftIndex++;
+    }
+    lineTop += lineHeight;
+  }
+}
+function applyTextRotation(ctx, style2, rect, x2, y2) {
+  if (rect && style2.textRotation) {
+    var origin2 = style2.textOrigin;
+    if (origin2 === "center") {
+      x2 = rect.width / 2 + rect.x;
+      y2 = rect.height / 2 + rect.y;
+    } else if (origin2) {
+      x2 = origin2[0] + rect.x;
+      y2 = origin2[1] + rect.y;
+    }
+    ctx.translate(x2, y2);
+    ctx.rotate(-style2.textRotation);
+    ctx.translate(-x2, -y2);
+  }
+}
+function placeToken(hostEl, ctx, token2, style2, lineHeight, lineTop, x2, textAlign) {
+  var tokenStyle = style2.rich[token2.styleName] || {};
+  tokenStyle.text = token2.text;
+  var textVerticalAlign = token2.textVerticalAlign;
+  var y2 = lineTop + lineHeight / 2;
+  if (textVerticalAlign === "top") {
+    y2 = lineTop + token2.height / 2;
+  } else if (textVerticalAlign === "bottom") {
+    y2 = lineTop + lineHeight - token2.height / 2;
+  }
+  !token2.isLineHolder && needDrawBackground$1(tokenStyle) && drawBackground(hostEl, ctx, tokenStyle, textAlign === "right" ? x2 - token2.width : textAlign === "center" ? x2 - token2.width / 2 : x2, y2 - token2.height / 2, token2.width, token2.height);
+  var textPadding = token2.textPadding;
+  if (textPadding) {
+    x2 = getTextXForPadding$1(x2, textAlign, textPadding);
+    y2 -= token2.height / 2 - textPadding[2] - token2.textHeight / 2;
+  }
+  setCtx(ctx, "shadowBlur", retrieve3$1(tokenStyle.textShadowBlur, style2.textShadowBlur, 0));
+  setCtx(ctx, "shadowColor", tokenStyle.textShadowColor || style2.textShadowColor || "transparent");
+  setCtx(ctx, "shadowOffsetX", retrieve3$1(tokenStyle.textShadowOffsetX, style2.textShadowOffsetX, 0));
+  setCtx(ctx, "shadowOffsetY", retrieve3$1(tokenStyle.textShadowOffsetY, style2.textShadowOffsetY, 0));
+  setCtx(ctx, "textAlign", textAlign);
+  setCtx(ctx, "textBaseline", "middle");
+  setCtx(ctx, "font", token2.font || DEFAULT_FONT$1);
+  var textStroke = getStroke$1(tokenStyle.textStroke || style2.textStroke, textStrokeWidth);
+  var textFill = getFill$1(tokenStyle.textFill || style2.textFill);
+  var textStrokeWidth = retrieve2$1(tokenStyle.textStrokeWidth, style2.textStrokeWidth);
+  if (textStroke) {
+    setCtx(ctx, "lineWidth", textStrokeWidth);
+    setCtx(ctx, "strokeStyle", textStroke);
+    ctx.strokeText(token2.text, x2, y2);
+  }
+  if (textFill) {
+    setCtx(ctx, "fillStyle", textFill);
+    ctx.fillText(token2.text, x2, y2);
+  }
+}
+function needDrawBackground$1(style2) {
+  return !!(style2.textBackgroundColor || style2.textBorderWidth && style2.textBorderColor);
+}
+function drawBackground(hostEl, ctx, style2, x2, y2, width, height) {
+  var textBackgroundColor = style2.textBackgroundColor;
+  var textBorderWidth = style2.textBorderWidth;
+  var textBorderColor = style2.textBorderColor;
+  var isPlainBg = isString$6(textBackgroundColor);
+  setCtx(ctx, "shadowBlur", style2.textBoxShadowBlur || 0);
+  setCtx(ctx, "shadowColor", style2.textBoxShadowColor || "transparent");
+  setCtx(ctx, "shadowOffsetX", style2.textBoxShadowOffsetX || 0);
+  setCtx(ctx, "shadowOffsetY", style2.textBoxShadowOffsetY || 0);
+  if (isPlainBg || textBorderWidth && textBorderColor) {
+    ctx.beginPath();
+    var textBorderRadius = style2.textBorderRadius;
+    if (!textBorderRadius) {
+      ctx.rect(x2, y2, width, height);
+    } else {
+      roundRectHelper$1.buildPath(ctx, {
+        x: x2,
+        y: y2,
+        width,
+        height,
+        r: textBorderRadius
+      });
+    }
+    ctx.closePath();
+  }
+  if (isPlainBg) {
+    setCtx(ctx, "fillStyle", textBackgroundColor);
+    if (style2.fillOpacity != null) {
+      var originalGlobalAlpha = ctx.globalAlpha;
+      ctx.globalAlpha = style2.fillOpacity * style2.opacity;
+      ctx.fill();
+      ctx.globalAlpha = originalGlobalAlpha;
+    } else {
+      ctx.fill();
+    }
+  } else if (isObject$c(textBackgroundColor)) {
+    var image2 = textBackgroundColor.image;
+    image2 = imageHelper$1.createOrUpdateImage(image2, null, hostEl, onBgImageLoaded, textBackgroundColor);
+    if (image2 && imageHelper$1.isImageReady(image2)) {
+      ctx.drawImage(image2, x2, y2, width, height);
+    }
+  }
+  if (textBorderWidth && textBorderColor) {
+    setCtx(ctx, "lineWidth", textBorderWidth);
+    setCtx(ctx, "strokeStyle", textBorderColor);
+    if (style2.strokeOpacity != null) {
+      var originalGlobalAlpha = ctx.globalAlpha;
+      ctx.globalAlpha = style2.strokeOpacity * style2.opacity;
+      ctx.stroke();
+      ctx.globalAlpha = originalGlobalAlpha;
+    } else {
+      ctx.stroke();
+    }
+  }
+}
+function onBgImageLoaded(image2, textBackgroundColor) {
+  textBackgroundColor.image = image2;
+}
+function getBoxPosition(out2, hostEl, style2, rect) {
+  var baseX = style2.x || 0;
+  var baseY = style2.y || 0;
+  var textAlign = style2.textAlign;
+  var textVerticalAlign = style2.textVerticalAlign;
+  if (rect) {
+    var textPosition = style2.textPosition;
+    if (textPosition instanceof Array) {
+      baseX = rect.x + parsePercent$3(textPosition[0], rect.width);
+      baseY = rect.y + parsePercent$3(textPosition[1], rect.height);
+    } else {
+      var res = hostEl && hostEl.calculateTextPosition ? hostEl.calculateTextPosition(_tmpTextPositionResult, style2, rect) : textContain$4.calculateTextPosition(_tmpTextPositionResult, style2, rect);
+      baseX = res.x;
+      baseY = res.y;
+      textAlign = textAlign || res.textAlign;
+      textVerticalAlign = textVerticalAlign || res.textVerticalAlign;
+    }
+    var textOffset = style2.textOffset;
+    if (textOffset) {
+      baseX += textOffset[0];
+      baseY += textOffset[1];
+    }
+  }
+  out2 = out2 || {};
+  out2.baseX = baseX;
+  out2.baseY = baseY;
+  out2.textAlign = textAlign;
+  out2.textVerticalAlign = textVerticalAlign;
+  return out2;
+}
+function setCtx(ctx, prop2, value) {
+  ctx[prop2] = fixShadow(ctx, prop2, value);
+  return ctx[prop2];
+}
+function getStroke$1(stroke, lineWidth) {
+  return stroke == null || lineWidth <= 0 || stroke === "transparent" || stroke === "none" ? null : stroke.image || stroke.colorStops ? "#000" : stroke;
+}
+function getFill$1(fill) {
+  return fill == null || fill === "none" ? null : fill.image || fill.colorStops ? "#000" : fill;
+}
+function parsePercent$3(value, maxValue) {
+  if (typeof value === "string") {
+    if (value.lastIndexOf("%") >= 0) {
+      return parseFloat(value) / 100 * maxValue;
+    }
+    return parseFloat(value);
+  }
+  return value;
+}
+function getTextXForPadding$1(x2, textAlign, textPadding) {
+  return textAlign === "right" ? x2 - textPadding[1] : textAlign === "center" ? x2 + textPadding[3] / 2 - textPadding[1] / 2 : x2 + textPadding[3];
+}
+function needDrawText(text2, style2) {
+  return text2 != null && (text2 || style2.textBackgroundColor || style2.textBorderWidth && style2.textBorderColor || style2.textPadding);
+}
+text$1.normalizeTextStyle = normalizeTextStyle$1;
+text$1.renderText = renderText;
+text$1.getBoxPosition = getBoxPosition;
+text$1.getStroke = getStroke$1;
+text$1.getFill = getFill$1;
+text$1.parsePercent = parsePercent$3;
+text$1.needDrawText = needDrawText;
+var RectText_1;
+var hasRequiredRectText;
+function requireRectText() {
+  if (hasRequiredRectText)
+    return RectText_1;
+  hasRequiredRectText = 1;
+  var textHelper2 = text$1;
+  var BoundingRect2 = BoundingRect_1;
+  var _constant2 = constant;
+  var WILL_BE_RESTORED2 = _constant2.WILL_BE_RESTORED;
+  var tmpRect2 = new BoundingRect2();
+  var RectText2 = function() {
+  };
+  RectText2.prototype = {
+    constructor: RectText2,
+    /**
+     * Draw text in a rect with specified position.
+     * @param  {CanvasRenderingContext2D} ctx
+     * @param  {Object} rect Displayable rect
+     */
+    drawRectText: function(ctx, rect) {
+      var style2 = this.style;
+      rect = style2.textRect || rect;
+      this.__dirty && textHelper2.normalizeTextStyle(style2, true);
+      var text2 = style2.text;
+      text2 != null && (text2 += "");
+      if (!textHelper2.needDrawText(text2, style2)) {
+        return;
+      }
+      ctx.save();
+      var transform3 = this.transform;
+      if (!style2.transformText) {
+        if (transform3) {
+          tmpRect2.copy(rect);
+          tmpRect2.applyTransform(transform3);
+          rect = tmpRect2;
+        }
+      } else {
+        this.setTransform(ctx);
+      }
+      textHelper2.renderText(this, ctx, text2, style2, rect, WILL_BE_RESTORED2);
+      ctx.restore();
+    }
+  };
+  var _default68 = RectText2;
+  RectText_1 = _default68;
+  return RectText_1;
+}
+var zrUtil$n = util$a;
+var Style$1 = Style_1;
+var Element$2 = Element_1;
+var RectText = requireRectText();
+function Displayable$5(opts2) {
+  opts2 = opts2 || {};
+  Element$2.call(this, opts2);
+  for (var name2 in opts2) {
+    if (opts2.hasOwnProperty(name2) && name2 !== "style") {
+      this[name2] = opts2[name2];
+    }
+  }
+  this.style = new Style$1(opts2.style);
+  this._rect = null;
+  this.__clipPaths = null;
+}
+Displayable$5.prototype = {
+  constructor: Displayable$5,
+  type: "displayable",
+  /**
+   * Dirty flag. From which painter will determine if this displayable object needs brush.
+   * @name module:zrender/graphic/Displayable#__dirty
+   * @type {boolean}
+   */
+  __dirty: true,
+  /**
+   * Whether the displayable object is visible. when it is true, the displayable object
+   * is not drawn, but the mouse event can still trigger the object.
+   * @name module:/zrender/graphic/Displayable#invisible
+   * @type {boolean}
+   * @default false
+   */
+  invisible: false,
+  /**
+   * @name module:/zrender/graphic/Displayable#z
+   * @type {number}
+   * @default 0
+   */
+  z: 0,
+  /**
+   * @name module:/zrender/graphic/Displayable#z
+   * @type {number}
+   * @default 0
+   */
+  z2: 0,
+  /**
+   * The z level determines the displayable object can be drawn in which layer canvas.
+   * @name module:/zrender/graphic/Displayable#zlevel
+   * @type {number}
+   * @default 0
+   */
+  zlevel: 0,
+  /**
+   * Whether it can be dragged.
+   * @name module:/zrender/graphic/Displayable#draggable
+   * @type {boolean}
+   * @default false
+   */
+  draggable: false,
+  /**
+   * Whether is it dragging.
+   * @name module:/zrender/graphic/Displayable#draggable
+   * @type {boolean}
+   * @default false
+   */
+  dragging: false,
+  /**
+   * Whether to respond to mouse events.
+   * @name module:/zrender/graphic/Displayable#silent
+   * @type {boolean}
+   * @default false
+   */
+  silent: false,
+  /**
+   * If enable culling
+   * @type {boolean}
+   * @default false
+   */
+  culling: false,
+  /**
+   * Mouse cursor when hovered
+   * @name module:/zrender/graphic/Displayable#cursor
+   * @type {string}
+   */
+  cursor: "pointer",
+  /**
+   * If hover area is bounding rect
+   * @name module:/zrender/graphic/Displayable#rectHover
+   * @type {string}
+   */
+  rectHover: false,
+  /**
+   * Render the element progressively when the value >= 0,
+   * usefull for large data.
+   * @type {boolean}
+   */
+  progressive: false,
+  /**
+   * @type {boolean}
+   */
+  incremental: false,
+  /**
+   * Scale ratio for global scale.
+   * @type {boolean}
+   */
+  globalScaleRatio: 1,
+  beforeBrush: function(ctx) {
+  },
+  afterBrush: function(ctx) {
+  },
+  /**
+   * Graphic drawing method.
+   * @param {CanvasRenderingContext2D} ctx
+   */
+  // Interface
+  brush: function(ctx, prevEl) {
+  },
+  /**
+   * Get the minimum bounding box.
+   * @return {module:zrender/core/BoundingRect}
+   */
+  // Interface
+  getBoundingRect: function() {
+  },
+  /**
+   * If displayable element contain coord x, y
+   * @param  {number} x
+   * @param  {number} y
+   * @return {boolean}
+   */
+  contain: function(x2, y2) {
+    return this.rectContain(x2, y2);
+  },
+  /**
+   * @param  {Function} cb
+   * @param  {}   context
+   */
+  traverse: function(cb, context) {
+    cb.call(context, this);
+  },
+  /**
+   * If bounding rect of element contain coord x, y
+   * @param  {number} x
+   * @param  {number} y
+   * @return {boolean}
+   */
+  rectContain: function(x2, y2) {
+    var coord = this.transformCoordToLocal(x2, y2);
+    var rect = this.getBoundingRect();
+    return rect.contain(coord[0], coord[1]);
+  },
+  /**
+   * Mark displayable element dirty and refresh next frame
+   */
+  dirty: function() {
+    this.__dirty = this.__dirtyText = true;
+    this._rect = null;
+    this.__zr && this.__zr.refresh();
+  },
+  /**
+   * If displayable object binded any event
+   * @return {boolean}
+   */
+  // TODO, events bound by bind
+  // isSilent: function () {
+  //     return !(
+  //         this.hoverable || this.draggable
+  //         || this.onmousemove || this.onmouseover || this.onmouseout
+  //         || this.onmousedown || this.onmouseup || this.onclick
+  //         || this.ondragenter || this.ondragover || this.ondragleave
+  //         || this.ondrop
+  //     );
+  // },
+  /**
+   * Alias for animate('style')
+   * @param {boolean} loop
+   */
+  animateStyle: function(loop) {
+    return this.animate("style", loop);
+  },
+  attrKV: function(key2, value) {
+    if (key2 !== "style") {
+      Element$2.prototype.attrKV.call(this, key2, value);
+    } else {
+      this.style.set(value);
+    }
+  },
+  /**
+   * @param {Object|string} key
+   * @param {*} value
+   */
+  setStyle: function(key2, value) {
+    this.style.set(key2, value);
+    this.dirty(false);
+    return this;
+  },
+  /**
+   * Use given style object
+   * @param  {Object} obj
+   */
+  useStyle: function(obj2) {
+    this.style = new Style$1(obj2);
+    this.dirty(false);
+    return this;
+  },
+  /**
+   * The string value of `textPosition` needs to be calculated to a real postion.
+   * For example, `'inside'` is calculated to `[rect.width/2, rect.height/2]`
+   * by default. See `contain/text.js#calculateTextPosition` for more details.
+   * But some coutom shapes like "pin", "flag" have center that is not exactly
+   * `[width/2, height/2]`. So we provide this hook to customize the calculation
+   * for those shapes. It will be called if the `style.textPosition` is a string.
+   * @param {Obejct} [out] Prepared out object. If not provided, this method should
+   *        be responsible for creating one.
+   * @param {module:zrender/graphic/Style} style
+   * @param {Object} rect {x, y, width, height}
+   * @return {Obejct} out The same as the input out.
+   *         {
+   *             x: number. mandatory.
+   *             y: number. mandatory.
+   *             textAlign: string. optional. use style.textAlign by default.
+   *             textVerticalAlign: string. optional. use style.textVerticalAlign by default.
+   *         }
+   */
+  calculateTextPosition: null
+};
+zrUtil$n.inherits(Displayable$5, Element$2);
+zrUtil$n.mixin(Displayable$5, RectText);
+var _default$W = Displayable$5;
+var Displayable_1 = _default$W;
+var Displayable$4 = Displayable_1;
+var BoundingRect$7 = BoundingRect_1;
+var zrUtil$m = util$a;
+var imageHelper = image;
+function ZImage$2(opts2) {
+  Displayable$4.call(this, opts2);
+}
+ZImage$2.prototype = {
+  constructor: ZImage$2,
+  type: "image",
+  brush: function(ctx, prevEl) {
+    var style2 = this.style;
+    var src = style2.image;
+    style2.bind(ctx, this, prevEl);
+    var image2 = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);
+    if (!image2 || !imageHelper.isImageReady(image2)) {
+      return;
+    }
+    var x2 = style2.x || 0;
+    var y2 = style2.y || 0;
+    var width = style2.width;
+    var height = style2.height;
+    var aspect = image2.width / image2.height;
+    if (width == null && height != null) {
+      width = height * aspect;
+    } else if (height == null && width != null) {
+      height = width / aspect;
+    } else if (width == null && height == null) {
+      width = image2.width;
+      height = image2.height;
+    }
+    this.setTransform(ctx);
+    if (style2.sWidth && style2.sHeight) {
+      var sx = style2.sx || 0;
+      var sy = style2.sy || 0;
+      ctx.drawImage(image2, sx, sy, style2.sWidth, style2.sHeight, x2, y2, width, height);
+    } else if (style2.sx && style2.sy) {
+      var sx = style2.sx;
+      var sy = style2.sy;
+      var sWidth = width - sx;
+      var sHeight = height - sy;
+      ctx.drawImage(image2, sx, sy, sWidth, sHeight, x2, y2, width, height);
+    } else {
+      ctx.drawImage(image2, x2, y2, width, height);
+    }
+    if (style2.text != null) {
+      this.restoreTransform(ctx);
+      this.drawRectText(ctx, this.getBoundingRect());
+    }
+  },
+  getBoundingRect: function() {
+    var style2 = this.style;
+    if (!this._rect) {
+      this._rect = new BoundingRect$7(style2.x || 0, style2.y || 0, style2.width || 0, style2.height || 0);
+    }
+    return this._rect;
+  }
+};
+zrUtil$m.inherits(ZImage$2, Displayable$4);
+var _default$V = ZImage$2;
+var Image$2 = _default$V;
+var _config$1 = config$1;
+var devicePixelRatio$1 = _config$1.devicePixelRatio;
+var util$6 = util$a;
+var logError$1 = log$2;
+var BoundingRect$6 = BoundingRect_1;
+var timsort = timsort$2;
+var Layer$2 = Layer_1;
+var requestAnimationFrame$5 = requestAnimationFrame$6;
+var Image$1 = Image$2;
+var env$8 = env_1;
+var HOVER_LAYER_ZLEVEL$1 = 1e5;
+var CANVAS_ZLEVEL$1 = 314159;
+var EL_AFTER_INCREMENTAL_INC$1 = 0.01;
+var INCREMENTAL_INC$1 = 1e-3;
+function parseInt10$1(val) {
+  return parseInt(val, 10);
+}
+function isLayerValid$1(layer) {
+  if (!layer) {
+    return false;
+  }
+  if (layer.__builtin__) {
+    return true;
+  }
+  if (typeof layer.resize !== "function" || typeof layer.refresh !== "function") {
+    return false;
+  }
+  return true;
+}
+var tmpRect$2 = new BoundingRect$6(0, 0, 0, 0);
+var viewRect$1 = new BoundingRect$6(0, 0, 0, 0);
+function isDisplayableCulled$1(el, width, height) {
+  tmpRect$2.copy(el.getBoundingRect());
+  if (el.transform) {
+    tmpRect$2.applyTransform(el.transform);
+  }
+  viewRect$1.width = width;
+  viewRect$1.height = height;
+  return !tmpRect$2.intersect(viewRect$1);
+}
+function isClipPathChanged$1(clipPaths, prevClipPaths) {
+  if (clipPaths === prevClipPaths) {
+    return false;
+  }
+  if (!clipPaths || !prevClipPaths || clipPaths.length !== prevClipPaths.length) {
+    return true;
+  }
+  for (var i2 = 0; i2 < clipPaths.length; i2++) {
+    if (clipPaths[i2] !== prevClipPaths[i2]) {
+      return true;
+    }
+  }
+  return false;
+}
+function doClip(clipPaths, ctx) {
+  for (var i2 = 0; i2 < clipPaths.length; i2++) {
+    var clipPath = clipPaths[i2];
+    clipPath.setTransform(ctx);
+    ctx.beginPath();
+    clipPath.buildPath(ctx, clipPath.shape);
+    ctx.clip();
+    clipPath.restoreTransform(ctx);
+  }
+}
+function createRoot$1(width, height) {
+  var domRoot = document.createElement("div");
+  domRoot.style.cssText = [
+    "position:relative",
+    // IOS13 safari probably has a compositing bug (z order of the canvas and the consequent
+    // dom does not act as expected) when some of the parent dom has
+    // `-webkit-overflow-scrolling: touch;` and the webpage is longer than one screen and
+    // the canvas is not at the top part of the page.
+    // Check `https://bugs.webkit.org/show_bug.cgi?id=203681` for more details. We remove
+    // this `overflow:hidden` to avoid the bug.
+    // 'overflow:hidden',
+    "width:" + width + "px",
+    "height:" + height + "px",
+    "padding:0",
+    "margin:0",
+    "border-width:0"
+  ].join(";") + ";";
+  return domRoot;
+}
+var Painter$3 = function(root, storage2, opts2) {
+  this.type = "canvas";
+  var singleCanvas = !root.nodeName || root.nodeName.toUpperCase() === "CANVAS";
+  this._opts = opts2 = util$6.extend({}, opts2 || {});
+  this.dpr = opts2.devicePixelRatio || devicePixelRatio$1;
+  this._singleCanvas = singleCanvas;
+  this.root = root;
+  var rootStyle = root.style;
+  if (rootStyle) {
+    rootStyle["-webkit-tap-highlight-color"] = "transparent";
+    rootStyle["-webkit-user-select"] = rootStyle["user-select"] = rootStyle["-webkit-touch-callout"] = "none";
+    root.innerHTML = "";
+  }
+  this.storage = storage2;
+  var zlevelList = this._zlevelList = [];
+  var layers = this._layers = {};
+  this._layerConfig = {};
+  this._needsManuallyCompositing = false;
+  if (!singleCanvas) {
+    this._width = this._getSize(0);
+    this._height = this._getSize(1);
+    var domRoot = this._domRoot = createRoot$1(this._width, this._height);
+    root.appendChild(domRoot);
+  } else {
+    var width = root.width;
+    var height = root.height;
+    if (opts2.width != null) {
+      width = opts2.width;
+    }
+    if (opts2.height != null) {
+      height = opts2.height;
+    }
+    this.dpr = opts2.devicePixelRatio || 1;
+    root.width = width * this.dpr;
+    root.height = height * this.dpr;
+    this._width = width;
+    this._height = height;
+    var mainLayer = new Layer$2(root, this, this.dpr);
+    mainLayer.__builtin__ = true;
+    mainLayer.initContext();
+    layers[CANVAS_ZLEVEL$1] = mainLayer;
+    mainLayer.zlevel = CANVAS_ZLEVEL$1;
+    zlevelList.push(CANVAS_ZLEVEL$1);
+    this._domRoot = root;
+  }
+  this._hoverlayer = null;
+  this._hoverElements = [];
+};
+Painter$3.prototype = {
+  constructor: Painter$3,
+  getType: function() {
+    return "canvas";
+  },
+  /**
+   * If painter use a single canvas
+   * @return {boolean}
+   */
+  isSingleCanvas: function() {
+    return this._singleCanvas;
+  },
+  /**
+   * @return {HTMLDivElement}
+   */
+  getViewportRoot: function() {
+    return this._domRoot;
+  },
+  getViewportRootOffset: function() {
+    var viewportRoot = this.getViewportRoot();
+    if (viewportRoot) {
+      return {
+        offsetLeft: viewportRoot.offsetLeft || 0,
+        offsetTop: viewportRoot.offsetTop || 0
+      };
+    }
+  },
+  /**
+   * 刷新
+   * @param {boolean} [paintAll=false] 强制绘制所有displayable
+   */
+  refresh: function(paintAll) {
+    var list2 = this.storage.getDisplayList(true);
+    var zlevelList = this._zlevelList;
+    this._redrawId = Math.random();
+    this._paintList(list2, paintAll, this._redrawId);
+    for (var i2 = 0; i2 < zlevelList.length; i2++) {
+      var z2 = zlevelList[i2];
+      var layer = this._layers[z2];
+      if (!layer.__builtin__ && layer.refresh) {
+        var clearColor = i2 === 0 ? this._backgroundColor : null;
+        layer.refresh(clearColor);
+      }
+    }
+    this.refreshHover();
+    return this;
+  },
+  addHover: function(el, hoverStyle) {
+    if (el.__hoverMir) {
+      return;
+    }
+    var elMirror = new el.constructor({
+      style: el.style,
+      shape: el.shape,
+      z: el.z,
+      z2: el.z2,
+      silent: el.silent
+    });
+    elMirror.__from = el;
+    el.__hoverMir = elMirror;
+    hoverStyle && elMirror.setStyle(hoverStyle);
+    this._hoverElements.push(elMirror);
+    return elMirror;
+  },
+  removeHover: function(el) {
+    var elMirror = el.__hoverMir;
+    var hoverElements = this._hoverElements;
+    var idx = util$6.indexOf(hoverElements, elMirror);
+    if (idx >= 0) {
+      hoverElements.splice(idx, 1);
+    }
+    el.__hoverMir = null;
+  },
+  clearHover: function(el) {
+    var hoverElements = this._hoverElements;
+    for (var i2 = 0; i2 < hoverElements.length; i2++) {
+      var from = hoverElements[i2].__from;
+      if (from) {
+        from.__hoverMir = null;
+      }
+    }
+    hoverElements.length = 0;
+  },
+  refreshHover: function() {
+    var hoverElements = this._hoverElements;
+    var len2 = hoverElements.length;
+    var hoverLayer = this._hoverlayer;
+    hoverLayer && hoverLayer.clear();
+    if (!len2) {
+      return;
+    }
+    timsort(hoverElements, this.storage.displayableSortFunc);
+    if (!hoverLayer) {
+      hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL$1);
+    }
+    var scope = {};
+    hoverLayer.ctx.save();
+    for (var i2 = 0; i2 < len2; ) {
+      var el = hoverElements[i2];
+      var originalEl = el.__from;
+      if (!(originalEl && originalEl.__zr)) {
+        hoverElements.splice(i2, 1);
+        originalEl.__hoverMir = null;
+        len2--;
+        continue;
+      }
+      i2++;
+      if (!originalEl.invisible) {
+        el.transform = originalEl.transform;
+        el.invTransform = originalEl.invTransform;
+        el.__clipPaths = originalEl.__clipPaths;
+        this._doPaintEl(el, hoverLayer, true, scope);
+      }
+    }
+    hoverLayer.ctx.restore();
+  },
+  getHoverLayer: function() {
+    return this.getLayer(HOVER_LAYER_ZLEVEL$1);
+  },
+  _paintList: function(list2, paintAll, redrawId) {
+    if (this._redrawId !== redrawId) {
+      return;
+    }
+    paintAll = paintAll || false;
+    this._updateLayerStatus(list2);
+    var finished = this._doPaintList(list2, paintAll);
+    if (this._needsManuallyCompositing) {
+      this._compositeManually();
+    }
+    if (!finished) {
+      var self2 = this;
+      requestAnimationFrame$5(function() {
+        self2._paintList(list2, paintAll, redrawId);
+      });
+    }
+  },
+  _compositeManually: function() {
+    var ctx = this.getLayer(CANVAS_ZLEVEL$1).ctx;
+    var width = this._domRoot.width;
+    var height = this._domRoot.height;
+    ctx.clearRect(0, 0, width, height);
+    this.eachBuiltinLayer(function(layer) {
+      if (layer.virtual) {
+        ctx.drawImage(layer.dom, 0, 0, width, height);
+      }
+    });
+  },
+  _doPaintList: function(list2, paintAll) {
+    var layerList = [];
+    for (var zi = 0; zi < this._zlevelList.length; zi++) {
+      var zlevel = this._zlevelList[zi];
+      var layer = this._layers[zlevel];
+      if (layer.__builtin__ && layer !== this._hoverlayer && (layer.__dirty || paintAll)) {
+        layerList.push(layer);
+      }
+    }
+    var finished = true;
+    for (var k2 = 0; k2 < layerList.length; k2++) {
+      var layer = layerList[k2];
+      var ctx = layer.ctx;
+      var scope = {};
+      ctx.save();
+      var start2 = paintAll ? layer.__startIndex : layer.__drawIndex;
+      var useTimer = !paintAll && layer.incremental && Date.now;
+      var startTime = useTimer && Date.now();
+      var clearColor = layer.zlevel === this._zlevelList[0] ? this._backgroundColor : null;
+      if (layer.__startIndex === layer.__endIndex) {
+        layer.clear(false, clearColor);
+      } else if (start2 === layer.__startIndex) {
+        var firstEl = list2[start2];
+        if (!firstEl.incremental || !firstEl.notClear || paintAll) {
+          layer.clear(false, clearColor);
+        }
+      }
+      if (start2 === -1) {
+        console.error("For some unknown reason. drawIndex is -1");
+        start2 = layer.__startIndex;
+      }
+      for (var i2 = start2; i2 < layer.__endIndex; i2++) {
+        var el = list2[i2];
+        this._doPaintEl(el, layer, paintAll, scope);
+        el.__dirty = el.__dirtyText = false;
+        if (useTimer) {
+          var dTime = Date.now() - startTime;
+          if (dTime > 15) {
+            break;
+          }
+        }
+      }
+      layer.__drawIndex = i2;
+      if (layer.__drawIndex < layer.__endIndex) {
+        finished = false;
+      }
+      if (scope.prevElClipPaths) {
+        ctx.restore();
+      }
+      ctx.restore();
+    }
+    if (env$8.wxa) {
+      util$6.each(this._layers, function(layer2) {
+        if (layer2 && layer2.ctx && layer2.ctx.draw) {
+          layer2.ctx.draw();
+        }
+      });
+    }
+    return finished;
+  },
+  _doPaintEl: function(el, currentLayer, forcePaint, scope) {
+    var ctx = currentLayer.ctx;
+    var m2 = el.transform;
+    if ((currentLayer.__dirty || forcePaint) && // Ignore invisible element
+    !el.invisible && el.style.opacity !== 0 && !(m2 && !m2[0] && !m2[3]) && !(el.culling && isDisplayableCulled$1(el, this._width, this._height))) {
+      var clipPaths = el.__clipPaths;
+      var prevElClipPaths = scope.prevElClipPaths;
+      if (!prevElClipPaths || isClipPathChanged$1(clipPaths, prevElClipPaths)) {
+        if (prevElClipPaths) {
+          ctx.restore();
+          scope.prevElClipPaths = null;
+          scope.prevEl = null;
+        }
+        if (clipPaths) {
+          ctx.save();
+          doClip(clipPaths, ctx);
+          scope.prevElClipPaths = clipPaths;
+        }
+      }
+      el.beforeBrush && el.beforeBrush(ctx);
+      el.brush(ctx, scope.prevEl || null);
+      scope.prevEl = el;
+      el.afterBrush && el.afterBrush(ctx);
+    }
+  },
+  /**
+   * 获取 zlevel 所在层,如果不存在则会创建一个新的层
+   * @param {number} zlevel
+   * @param {boolean} virtual Virtual layer will not be inserted into dom.
+   * @return {module:zrender/Layer}
+   */
+  getLayer: function(zlevel, virtual) {
+    if (this._singleCanvas && !this._needsManuallyCompositing) {
+      zlevel = CANVAS_ZLEVEL$1;
+    }
+    var layer = this._layers[zlevel];
+    if (!layer) {
+      layer = new Layer$2("zr_" + zlevel, this, this.dpr);
+      layer.zlevel = zlevel;
+      layer.__builtin__ = true;
+      if (this._layerConfig[zlevel]) {
+        util$6.merge(layer, this._layerConfig[zlevel], true);
+      } else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC$1]) {
+        util$6.merge(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC$1], true);
+      }
+      if (virtual) {
+        layer.virtual = virtual;
+      }
+      this.insertLayer(zlevel, layer);
+      layer.initContext();
+    }
+    return layer;
+  },
+  insertLayer: function(zlevel, layer) {
+    var layersMap = this._layers;
+    var zlevelList = this._zlevelList;
+    var len2 = zlevelList.length;
+    var prevLayer = null;
+    var i2 = -1;
+    var domRoot = this._domRoot;
+    if (layersMap[zlevel]) {
+      logError$1("ZLevel " + zlevel + " has been used already");
+      return;
+    }
+    if (!isLayerValid$1(layer)) {
+      logError$1("Layer of zlevel " + zlevel + " is not valid");
+      return;
+    }
+    if (len2 > 0 && zlevel > zlevelList[0]) {
+      for (i2 = 0; i2 < len2 - 1; i2++) {
+        if (zlevelList[i2] < zlevel && zlevelList[i2 + 1] > zlevel) {
+          break;
+        }
+      }
+      prevLayer = layersMap[zlevelList[i2]];
+    }
+    zlevelList.splice(i2 + 1, 0, zlevel);
+    layersMap[zlevel] = layer;
+    if (!layer.virtual) {
+      if (prevLayer) {
+        var prevDom = prevLayer.dom;
+        if (prevDom.nextSibling) {
+          domRoot.insertBefore(layer.dom, prevDom.nextSibling);
+        } else {
+          domRoot.appendChild(layer.dom);
+        }
+      } else {
+        if (domRoot.firstChild) {
+          domRoot.insertBefore(layer.dom, domRoot.firstChild);
+        } else {
+          domRoot.appendChild(layer.dom);
+        }
+      }
+    }
+  },
+  // Iterate each layer
+  eachLayer: function(cb, context) {
+    var zlevelList = this._zlevelList;
+    var z2;
+    var i2;
+    for (i2 = 0; i2 < zlevelList.length; i2++) {
+      z2 = zlevelList[i2];
+      cb.call(context, this._layers[z2], z2);
+    }
+  },
+  // Iterate each buildin layer
+  eachBuiltinLayer: function(cb, context) {
+    var zlevelList = this._zlevelList;
+    var layer;
+    var z2;
+    var i2;
+    for (i2 = 0; i2 < zlevelList.length; i2++) {
+      z2 = zlevelList[i2];
+      layer = this._layers[z2];
+      if (layer.__builtin__) {
+        cb.call(context, layer, z2);
+      }
+    }
+  },
+  // Iterate each other layer except buildin layer
+  eachOtherLayer: function(cb, context) {
+    var zlevelList = this._zlevelList;
+    var layer;
+    var z2;
+    var i2;
+    for (i2 = 0; i2 < zlevelList.length; i2++) {
+      z2 = zlevelList[i2];
+      layer = this._layers[z2];
+      if (!layer.__builtin__) {
+        cb.call(context, layer, z2);
+      }
+    }
+  },
+  /**
+   * 获取所有已创建的层
+   * @param {Array.<module:zrender/Layer>} [prevLayer]
+   */
+  getLayers: function() {
+    return this._layers;
+  },
+  _updateLayerStatus: function(list2) {
+    this.eachBuiltinLayer(function(layer2, z2) {
+      layer2.__dirty = layer2.__used = false;
+    });
+    function updatePrevLayer(idx) {
+      if (prevLayer) {
+        if (prevLayer.__endIndex !== idx) {
+          prevLayer.__dirty = true;
+        }
+        prevLayer.__endIndex = idx;
+      }
+    }
+    if (this._singleCanvas) {
+      for (var i2 = 1; i2 < list2.length; i2++) {
+        var el = list2[i2];
+        if (el.zlevel !== list2[i2 - 1].zlevel || el.incremental) {
+          this._needsManuallyCompositing = true;
+          break;
+        }
+      }
+    }
+    var prevLayer = null;
+    var incrementalLayerCount = 0;
+    var prevZlevel;
+    for (var i2 = 0; i2 < list2.length; i2++) {
+      var el = list2[i2];
+      var zlevel = el.zlevel;
+      var layer;
+      if (prevZlevel !== zlevel) {
+        prevZlevel = zlevel;
+        incrementalLayerCount = 0;
+      }
+      if (el.incremental) {
+        layer = this.getLayer(zlevel + INCREMENTAL_INC$1, this._needsManuallyCompositing);
+        layer.incremental = true;
+        incrementalLayerCount = 1;
+      } else {
+        layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC$1 : 0), this._needsManuallyCompositing);
+      }
+      if (!layer.__builtin__) {
+        logError$1("ZLevel " + zlevel + " has been used by unkown layer " + layer.id);
+      }
+      if (layer !== prevLayer) {
+        layer.__used = true;
+        if (layer.__startIndex !== i2) {
+          layer.__dirty = true;
+        }
+        layer.__startIndex = i2;
+        if (!layer.incremental) {
+          layer.__drawIndex = i2;
+        } else {
+          layer.__drawIndex = -1;
+        }
+        updatePrevLayer(i2);
+        prevLayer = layer;
+      }
+      if (el.__dirty) {
+        layer.__dirty = true;
+        if (layer.incremental && layer.__drawIndex < 0) {
+          layer.__drawIndex = i2;
+        }
+      }
+    }
+    updatePrevLayer(i2);
+    this.eachBuiltinLayer(function(layer2, z2) {
+      if (!layer2.__used && layer2.getElementCount() > 0) {
+        layer2.__dirty = true;
+        layer2.__startIndex = layer2.__endIndex = layer2.__drawIndex = 0;
+      }
+      if (layer2.__dirty && layer2.__drawIndex < 0) {
+        layer2.__drawIndex = layer2.__startIndex;
+      }
+    });
+  },
+  /**
+   * 清除hover层外所有内容
+   */
+  clear: function() {
+    this.eachBuiltinLayer(this._clearLayer);
+    return this;
+  },
+  _clearLayer: function(layer) {
+    layer.clear();
+  },
+  setBackgroundColor: function(backgroundColor2) {
+    this._backgroundColor = backgroundColor2;
+  },
+  /**
+   * 修改指定zlevel的绘制参数
+   *
+   * @param {string} zlevel
+   * @param {Object} config 配置对象
+   * @param {string} [config.clearColor=0] 每次清空画布的颜色
+   * @param {string} [config.motionBlur=false] 是否开启动态模糊
+   * @param {number} [config.lastFrameAlpha=0.7]
+   *                 在开启动态模糊的时候使用,与上一帧混合的alpha值,值越大尾迹越明显
+   */
+  configLayer: function(zlevel, config2) {
+    if (config2) {
+      var layerConfig = this._layerConfig;
+      if (!layerConfig[zlevel]) {
+        layerConfig[zlevel] = config2;
+      } else {
+        util$6.merge(layerConfig[zlevel], config2, true);
+      }
+      for (var i2 = 0; i2 < this._zlevelList.length; i2++) {
+        var _zlevel = this._zlevelList[i2];
+        if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC$1) {
+          var layer = this._layers[_zlevel];
+          util$6.merge(layer, layerConfig[zlevel], true);
+        }
+      }
+    }
+  },
+  /**
+   * 删除指定层
+   * @param {number} zlevel 层所在的zlevel
+   */
+  delLayer: function(zlevel) {
+    var layers = this._layers;
+    var zlevelList = this._zlevelList;
+    var layer = layers[zlevel];
+    if (!layer) {
+      return;
+    }
+    layer.dom.parentNode.removeChild(layer.dom);
+    delete layers[zlevel];
+    zlevelList.splice(util$6.indexOf(zlevelList, zlevel), 1);
+  },
+  /**
+   * 区域大小变化后重绘
+   */
+  resize: function(width, height) {
+    if (!this._domRoot.style) {
+      if (width == null || height == null) {
+        return;
+      }
+      this._width = width;
+      this._height = height;
+      this.getLayer(CANVAS_ZLEVEL$1).resize(width, height);
+    } else {
+      var domRoot = this._domRoot;
+      domRoot.style.display = "none";
+      var opts2 = this._opts;
+      width != null && (opts2.width = width);
+      height != null && (opts2.height = height);
+      width = this._getSize(0);
+      height = this._getSize(1);
+      domRoot.style.display = "";
+      if (this._width !== width || height !== this._height) {
+        domRoot.style.width = width + "px";
+        domRoot.style.height = height + "px";
+        for (var id in this._layers) {
+          if (this._layers.hasOwnProperty(id)) {
+            this._layers[id].resize(width, height);
+          }
+        }
+        util$6.each(this._progressiveLayers, function(layer) {
+          layer.resize(width, height);
+        });
+        this.refresh(true);
+      }
+      this._width = width;
+      this._height = height;
+    }
+    return this;
+  },
+  /**
+   * 清除单独的一个层
+   * @param {number} zlevel
+   */
+  clearLayer: function(zlevel) {
+    var layer = this._layers[zlevel];
+    if (layer) {
+      layer.clear();
+    }
+  },
+  /**
+   * 释放
+   */
+  dispose: function() {
+    this.root.innerHTML = "";
+    this.root = this.storage = this._domRoot = this._layers = null;
+  },
+  /**
+   * Get canvas which has all thing rendered
+   * @param {Object} opts
+   * @param {string} [opts.backgroundColor]
+   * @param {number} [opts.pixelRatio]
+   */
+  getRenderedCanvas: function(opts2) {
+    opts2 = opts2 || {};
+    if (this._singleCanvas && !this._compositeManually) {
+      return this._layers[CANVAS_ZLEVEL$1].dom;
+    }
+    var imageLayer = new Layer$2("image", this, opts2.pixelRatio || this.dpr);
+    imageLayer.initContext();
+    imageLayer.clear(false, opts2.backgroundColor || this._backgroundColor);
+    if (opts2.pixelRatio <= this.dpr) {
+      this.refresh();
+      var width = imageLayer.dom.width;
+      var height = imageLayer.dom.height;
+      var ctx = imageLayer.ctx;
+      this.eachLayer(function(layer) {
+        if (layer.__builtin__) {
+          ctx.drawImage(layer.dom, 0, 0, width, height);
+        } else if (layer.renderToCanvas) {
+          imageLayer.ctx.save();
+          layer.renderToCanvas(imageLayer.ctx);
+          imageLayer.ctx.restore();
+        }
+      });
+    } else {
+      var scope = {};
+      var displayList = this.storage.getDisplayList(true);
+      for (var i2 = 0; i2 < displayList.length; i2++) {
+        var el = displayList[i2];
+        this._doPaintEl(el, imageLayer, true, scope);
+      }
+    }
+    return imageLayer.dom;
+  },
+  /**
+   * 获取绘图区域宽度
+   */
+  getWidth: function() {
+    return this._width;
+  },
+  /**
+   * 获取绘图区域高度
+   */
+  getHeight: function() {
+    return this._height;
+  },
+  _getSize: function(whIdx) {
+    var opts2 = this._opts;
+    var wh = ["width", "height"][whIdx];
+    var cwh = ["clientWidth", "clientHeight"][whIdx];
+    var plt = ["paddingLeft", "paddingTop"][whIdx];
+    var prb = ["paddingRight", "paddingBottom"][whIdx];
+    if (opts2[wh] != null && opts2[wh] !== "auto") {
+      return parseFloat(opts2[wh]);
+    }
+    var root = this.root;
+    var stl = document.defaultView.getComputedStyle(root);
+    return (root[cwh] || parseInt10$1(stl[wh]) || parseInt10$1(root.style[wh])) - (parseInt10$1(stl[plt]) || 0) - (parseInt10$1(stl[prb]) || 0) | 0;
+  },
+  pathToImage: function(path2, dpr2) {
+    dpr2 = dpr2 || this.dpr;
+    var canvas = document.createElement("canvas");
+    var ctx = canvas.getContext("2d");
+    var rect = path2.getBoundingRect();
+    var style2 = path2.style;
+    var shadowBlurSize = style2.shadowBlur * dpr2;
+    var shadowOffsetX = style2.shadowOffsetX * dpr2;
+    var shadowOffsetY = style2.shadowOffsetY * dpr2;
+    var lineWidth = style2.hasStroke() ? style2.lineWidth : 0;
+    var leftMargin = Math.max(lineWidth / 2, -shadowOffsetX + shadowBlurSize);
+    var rightMargin = Math.max(lineWidth / 2, shadowOffsetX + shadowBlurSize);
+    var topMargin = Math.max(lineWidth / 2, -shadowOffsetY + shadowBlurSize);
+    var bottomMargin = Math.max(lineWidth / 2, shadowOffsetY + shadowBlurSize);
+    var width = rect.width + leftMargin + rightMargin;
+    var height = rect.height + topMargin + bottomMargin;
+    canvas.width = width * dpr2;
+    canvas.height = height * dpr2;
+    ctx.scale(dpr2, dpr2);
+    ctx.clearRect(0, 0, width, height);
+    ctx.dpr = dpr2;
+    var pathTransform = {
+      position: path2.position,
+      rotation: path2.rotation,
+      scale: path2.scale
+    };
+    path2.position = [leftMargin - rect.x, topMargin - rect.y];
+    path2.rotation = 0;
+    path2.scale = [1, 1];
+    path2.updateTransform();
+    if (path2) {
+      path2.brush(ctx);
+    }
+    var ImageShape = Image$1;
+    var imgShape = new ImageShape({
+      style: {
+        x: 0,
+        y: 0,
+        image: canvas
+      }
+    });
+    if (pathTransform.position != null) {
+      imgShape.position = path2.position = pathTransform.position;
+    }
+    if (pathTransform.rotation != null) {
+      imgShape.rotation = path2.rotation = pathTransform.rotation;
+    }
+    if (pathTransform.scale != null) {
+      imgShape.scale = path2.scale = pathTransform.scale;
+    }
+    return imgShape;
+  }
+};
+var _default$U = Painter$3;
+var Painter_1 = _default$U;
+var util$5 = util$a;
+var _event$1 = event$1;
+var Dispatcher = _event$1.Dispatcher;
+var requestAnimationFrame$4 = requestAnimationFrame$6;
+var Animator$2 = Animator_1;
+var Animation$4 = function(options2) {
+  options2 = options2 || {};
+  this.stage = options2.stage || {};
+  this.onframe = options2.onframe || function() {
+  };
+  this._clips = [];
+  this._running = false;
+  this._time;
+  this._pausedTime;
+  this._pauseStart;
+  this._paused = false;
+  Dispatcher.call(this);
+};
+Animation$4.prototype = {
+  constructor: Animation$4,
+  /**
+   * Add clip
+   * @param {module:zrender/animation/Clip} clip
+   */
+  addClip: function(clip2) {
+    this._clips.push(clip2);
+  },
+  /**
+   * Add animator
+   * @param {module:zrender/animation/Animator} animator
+   */
+  addAnimator: function(animator) {
+    animator.animation = this;
+    var clips = animator.getClips();
+    for (var i2 = 0; i2 < clips.length; i2++) {
+      this.addClip(clips[i2]);
+    }
+  },
+  /**
+   * Delete animation clip
+   * @param {module:zrender/animation/Clip} clip
+   */
+  removeClip: function(clip2) {
+    var idx = util$5.indexOf(this._clips, clip2);
+    if (idx >= 0) {
+      this._clips.splice(idx, 1);
+    }
+  },
+  /**
+   * Delete animation clip
+   * @param {module:zrender/animation/Animator} animator
+   */
+  removeAnimator: function(animator) {
+    var clips = animator.getClips();
+    for (var i2 = 0; i2 < clips.length; i2++) {
+      this.removeClip(clips[i2]);
+    }
+    animator.animation = null;
+  },
+  _update: function() {
+    var time2 = (/* @__PURE__ */ new Date()).getTime() - this._pausedTime;
+    var delta = time2 - this._time;
+    var clips = this._clips;
+    var len2 = clips.length;
+    var deferredEvents = [];
+    var deferredClips = [];
+    for (var i2 = 0; i2 < len2; i2++) {
+      var clip2 = clips[i2];
+      var e2 = clip2.step(time2, delta);
+      if (e2) {
+        deferredEvents.push(e2);
+        deferredClips.push(clip2);
+      }
+    }
+    for (var i2 = 0; i2 < len2; ) {
+      if (clips[i2]._needsRemove) {
+        clips[i2] = clips[len2 - 1];
+        clips.pop();
+        len2--;
+      } else {
+        i2++;
+      }
+    }
+    len2 = deferredEvents.length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      deferredClips[i2].fire(deferredEvents[i2]);
+    }
+    this._time = time2;
+    this.onframe(delta);
+    this.trigger("frame", delta);
+    if (this.stage.update) {
+      this.stage.update();
+    }
+  },
+  _startLoop: function() {
+    var self2 = this;
+    this._running = true;
+    function step2() {
+      if (self2._running) {
+        requestAnimationFrame$4(step2);
+        !self2._paused && self2._update();
+      }
+    }
+    requestAnimationFrame$4(step2);
+  },
+  /**
+   * Start animation.
+   */
+  start: function() {
+    this._time = (/* @__PURE__ */ new Date()).getTime();
+    this._pausedTime = 0;
+    this._startLoop();
+  },
+  /**
+   * Stop animation.
+   */
+  stop: function() {
+    this._running = false;
+  },
+  /**
+   * Pause animation.
+   */
+  pause: function() {
+    if (!this._paused) {
+      this._pauseStart = (/* @__PURE__ */ new Date()).getTime();
+      this._paused = true;
+    }
+  },
+  /**
+   * Resume animation.
+   */
+  resume: function() {
+    if (this._paused) {
+      this._pausedTime += (/* @__PURE__ */ new Date()).getTime() - this._pauseStart;
+      this._paused = false;
+    }
+  },
+  /**
+   * Clear animation.
+   */
+  clear: function() {
+    this._clips = [];
+  },
+  /**
+   * Whether animation finished.
+   */
+  isFinished: function() {
+    return !this._clips.length;
+  },
+  /**
+   * Creat animator for a target, whose props can be animated.
+   *
+   * @param  {Object} target
+   * @param  {Object} options
+   * @param  {boolean} [options.loop=false] Whether loop animation.
+   * @param  {Function} [options.getter=null] Get value from target.
+   * @param  {Function} [options.setter=null] Set value to target.
+   * @return {module:zrender/animation/Animation~Animator}
+   */
+  // TODO Gap
+  animate: function(target, options2) {
+    options2 = options2 || {};
+    var animator = new Animator$2(target, options2.loop, options2.getter, options2.setter);
+    this.addAnimator(animator);
+    return animator;
+  }
+};
+util$5.mixin(Animation$4, Dispatcher);
+var _default$T = Animation$4;
+var Animation_1 = _default$T;
+var _event = event$1;
+var addEventListener$1 = _event.addEventListener;
+var removeEventListener$1 = _event.removeEventListener;
+var normalizeEvent$1 = _event.normalizeEvent;
+var getNativeEvent$1 = _event.getNativeEvent;
+var zrUtil$l = util$a;
+var Eventful$2 = Eventful_1;
+var env$7 = env_1;
+var TOUCH_CLICK_DELAY$1 = 300;
+var globalEventSupported$1 = env$7.domSupported;
+var localNativeListenerNames$1 = function() {
+  var mouseHandlerNames = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"];
+  var touchHandlerNames = ["touchstart", "touchend", "touchmove"];
+  var pointerEventNameMap = {
+    pointerdown: 1,
+    pointerup: 1,
+    pointermove: 1,
+    pointerout: 1
+  };
+  var pointerHandlerNames = zrUtil$l.map(mouseHandlerNames, function(name2) {
+    var nm = name2.replace("mouse", "pointer");
+    return pointerEventNameMap.hasOwnProperty(nm) ? nm : name2;
+  });
+  return {
+    mouse: mouseHandlerNames,
+    touch: touchHandlerNames,
+    pointer: pointerHandlerNames
+  };
+}();
+var globalNativeListenerNames$1 = {
+  mouse: ["mousemove", "mouseup"],
+  pointer: ["pointermove", "pointerup"]
+};
+function eventNameFix(name2) {
+  return name2 === "mousewheel" && env$7.browser.firefox ? "DOMMouseScroll" : name2;
+}
+function isPointerFromTouch$1(event2) {
+  var pointerType = event2.pointerType;
+  return pointerType === "pen" || pointerType === "touch";
+}
+function setTouchTimer$1(scope) {
+  scope.touching = true;
+  if (scope.touchTimer != null) {
+    clearTimeout(scope.touchTimer);
+    scope.touchTimer = null;
+  }
+  scope.touchTimer = setTimeout(function() {
+    scope.touching = false;
+    scope.touchTimer = null;
+  }, 700);
+}
+function markTouch$1(event2) {
+  event2 && (event2.zrByTouch = true);
+}
+function normalizeGlobalEvent$1(instance, event2) {
+  return normalizeEvent$1(instance.dom, new FakeGlobalEvent$1(instance, event2), true);
+}
+function isLocalEl$1(instance, el) {
+  var elTmp = el;
+  var isLocal = false;
+  while (elTmp && elTmp.nodeType !== 9 && !(isLocal = elTmp.domBelongToZr || elTmp !== el && elTmp === instance.painterRoot)) {
+    elTmp = elTmp.parentNode;
+  }
+  return isLocal;
+}
+function FakeGlobalEvent$1(instance, event2) {
+  this.type = event2.type;
+  this.target = this.currentTarget = instance.dom;
+  this.pointerType = event2.pointerType;
+  this.clientX = event2.clientX;
+  this.clientY = event2.clientY;
+}
+var fakeGlobalEventProto = FakeGlobalEvent$1.prototype;
+fakeGlobalEventProto.stopPropagation = fakeGlobalEventProto.stopImmediatePropagation = fakeGlobalEventProto.preventDefault = zrUtil$l.noop;
+var localDOMHandlers$1 = {
+  mousedown: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    this._mayPointerCapture = [event2.zrX, event2.zrY];
+    this.trigger("mousedown", event2);
+  },
+  mousemove: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    var downPoint = this._mayPointerCapture;
+    if (downPoint && (event2.zrX !== downPoint[0] || event2.zrY !== downPoint[1])) {
+      togglePointerCapture(this, true);
+    }
+    this.trigger("mousemove", event2);
+  },
+  mouseup: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    togglePointerCapture(this, false);
+    this.trigger("mouseup", event2);
+  },
+  mouseout: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    if (this._pointerCapturing) {
+      event2.zrEventControl = "no_globalout";
+    }
+    var element = event2.toElement || event2.relatedTarget;
+    event2.zrIsToLocalDOM = isLocalEl$1(this, element);
+    this.trigger("mouseout", event2);
+  },
+  touchstart: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    markTouch$1(event2);
+    this._lastTouchMoment = /* @__PURE__ */ new Date();
+    this.handler.processGesture(event2, "start");
+    localDOMHandlers$1.mousemove.call(this, event2);
+    localDOMHandlers$1.mousedown.call(this, event2);
+  },
+  touchmove: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    markTouch$1(event2);
+    this.handler.processGesture(event2, "change");
+    localDOMHandlers$1.mousemove.call(this, event2);
+  },
+  touchend: function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    markTouch$1(event2);
+    this.handler.processGesture(event2, "end");
+    localDOMHandlers$1.mouseup.call(this, event2);
+    if (+/* @__PURE__ */ new Date() - this._lastTouchMoment < TOUCH_CLICK_DELAY$1) {
+      localDOMHandlers$1.click.call(this, event2);
+    }
+  },
+  pointerdown: function(event2) {
+    localDOMHandlers$1.mousedown.call(this, event2);
+  },
+  pointermove: function(event2) {
+    if (!isPointerFromTouch$1(event2)) {
+      localDOMHandlers$1.mousemove.call(this, event2);
+    }
+  },
+  pointerup: function(event2) {
+    localDOMHandlers$1.mouseup.call(this, event2);
+  },
+  pointerout: function(event2) {
+    if (!isPointerFromTouch$1(event2)) {
+      localDOMHandlers$1.mouseout.call(this, event2);
+    }
+  }
+};
+zrUtil$l.each(["click", "mousewheel", "dblclick", "contextmenu"], function(name2) {
+  localDOMHandlers$1[name2] = function(event2) {
+    event2 = normalizeEvent$1(this.dom, event2);
+    this.trigger(name2, event2);
+  };
+});
+var globalDOMHandlers$1 = {
+  pointermove: function(event2) {
+    if (!isPointerFromTouch$1(event2)) {
+      globalDOMHandlers$1.mousemove.call(this, event2);
+    }
+  },
+  pointerup: function(event2) {
+    globalDOMHandlers$1.mouseup.call(this, event2);
+  },
+  mousemove: function(event2) {
+    this.trigger("mousemove", event2);
+  },
+  mouseup: function(event2) {
+    var pointerCaptureReleasing = this._pointerCapturing;
+    togglePointerCapture(this, false);
+    this.trigger("mouseup", event2);
+    if (pointerCaptureReleasing) {
+      event2.zrEventControl = "only_globalout";
+      this.trigger("mouseout", event2);
+    }
+  }
+};
+function mountLocalDOMEventListeners$1(instance, scope) {
+  var domHandlers = scope.domHandlers;
+  if (env$7.pointerEventsSupported) {
+    zrUtil$l.each(localNativeListenerNames$1.pointer, function(nativeEventName) {
+      mountSingleDOMEventListener$1(scope, nativeEventName, function(event2) {
+        domHandlers[nativeEventName].call(instance, event2);
+      });
+    });
+  } else {
+    if (env$7.touchEventsSupported) {
+      zrUtil$l.each(localNativeListenerNames$1.touch, function(nativeEventName) {
+        mountSingleDOMEventListener$1(scope, nativeEventName, function(event2) {
+          domHandlers[nativeEventName].call(instance, event2);
+          setTouchTimer$1(scope);
+        });
+      });
+    }
+    zrUtil$l.each(localNativeListenerNames$1.mouse, function(nativeEventName) {
+      mountSingleDOMEventListener$1(scope, nativeEventName, function(event2) {
+        event2 = getNativeEvent$1(event2);
+        if (!scope.touching) {
+          domHandlers[nativeEventName].call(instance, event2);
+        }
+      });
+    });
+  }
+}
+function mountGlobalDOMEventListeners$1(instance, scope) {
+  if (env$7.pointerEventsSupported) {
+    zrUtil$l.each(globalNativeListenerNames$1.pointer, mount);
+  } else if (!env$7.touchEventsSupported) {
+    zrUtil$l.each(globalNativeListenerNames$1.mouse, mount);
+  }
+  function mount(nativeEventName) {
+    function nativeEventListener(event2) {
+      event2 = getNativeEvent$1(event2);
+      if (!isLocalEl$1(instance, event2.target)) {
+        event2 = normalizeGlobalEvent$1(instance, event2);
+        scope.domHandlers[nativeEventName].call(instance, event2);
+      }
+    }
+    mountSingleDOMEventListener$1(
+      scope,
+      nativeEventName,
+      nativeEventListener,
+      {
+        capture: true
+      }
+      // See [Drag Outside] in `Handler.js`
+    );
+  }
+}
+function mountSingleDOMEventListener$1(scope, nativeEventName, listener, opt) {
+  scope.mounted[nativeEventName] = listener;
+  scope.listenerOpts[nativeEventName] = opt;
+  addEventListener$1(scope.domTarget, eventNameFix(nativeEventName), listener, opt);
+}
+function unmountDOMEventListeners$1(scope) {
+  var mounted2 = scope.mounted;
+  for (var nativeEventName in mounted2) {
+    if (mounted2.hasOwnProperty(nativeEventName)) {
+      removeEventListener$1(scope.domTarget, eventNameFix(nativeEventName), mounted2[nativeEventName], scope.listenerOpts[nativeEventName]);
+    }
+  }
+  scope.mounted = {};
+}
+function togglePointerCapture(instance, isPointerCapturing) {
+  instance._mayPointerCapture = null;
+  if (globalEventSupported$1 && instance._pointerCapturing ^ isPointerCapturing) {
+    instance._pointerCapturing = isPointerCapturing;
+    var globalHandlerScope = instance._globalHandlerScope;
+    isPointerCapturing ? mountGlobalDOMEventListeners$1(instance, globalHandlerScope) : unmountDOMEventListeners$1(globalHandlerScope);
+  }
+}
+function DOMHandlerScope$1(domTarget, domHandlers) {
+  this.domTarget = domTarget;
+  this.domHandlers = domHandlers;
+  this.mounted = {};
+  this.listenerOpts = {};
+  this.touchTimer = null;
+  this.touching = false;
+}
+function HandlerDomProxy$1(dom2, painterRoot) {
+  Eventful$2.call(this);
+  this.dom = dom2;
+  this.painterRoot = painterRoot;
+  this._localHandlerScope = new DOMHandlerScope$1(dom2, localDOMHandlers$1);
+  if (globalEventSupported$1) {
+    this._globalHandlerScope = new DOMHandlerScope$1(document, globalDOMHandlers$1);
+  }
+  this._pointerCapturing = false;
+  this._mayPointerCapture = null;
+  mountLocalDOMEventListeners$1(this, this._localHandlerScope);
+}
+var handlerDomProxyProto = HandlerDomProxy$1.prototype;
+handlerDomProxyProto.dispose = function() {
+  unmountDOMEventListeners$1(this._localHandlerScope);
+  if (globalEventSupported$1) {
+    unmountDOMEventListeners$1(this._globalHandlerScope);
+  }
+};
+handlerDomProxyProto.setCursor = function(cursorStyle) {
+  this.dom.style && (this.dom.style.cursor = cursorStyle || "default");
+};
+zrUtil$l.mixin(HandlerDomProxy$1, Eventful$2);
+var _default$S = HandlerDomProxy$1;
+var HandlerProxy$2 = _default$S;
+var guid$2 = guid$4;
+var env$6 = env_1;
+var zrUtil$k = util$a;
+var Handler$2 = Handler_1;
+var Storage$2 = Storage_1;
+var Painter$2 = Painter_1;
+var Animation$3 = Animation_1;
+var HandlerProxy$1 = HandlerProxy$2;
+/*!
+* ZRender, a high performance 2d drawing library.
+*
+* Copyright (c) 2013, Baidu Inc.
+* All rights reserved.
+*
+* LICENSE
+* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
+*/
+var useVML = !env$6.canvasSupported;
+var painterCtors$1 = {
+  canvas: Painter$2
+};
+var instances$3 = {};
+var version$o = "4.3.2";
+function init$4(dom2, opts2) {
+  var zr = new ZRender$1(guid$2(), dom2, opts2);
+  instances$3[zr.id] = zr;
+  return zr;
+}
+function dispose$2(zr) {
+  if (zr) {
+    zr.dispose();
+  } else {
+    for (var key2 in instances$3) {
+      if (instances$3.hasOwnProperty(key2)) {
+        instances$3[key2].dispose();
+      }
+    }
+    instances$3 = {};
+  }
+  return this;
+}
+function getInstance$1(id) {
+  return instances$3[id];
+}
+function registerPainter$1(name2, Ctor) {
+  painterCtors$1[name2] = Ctor;
+}
+function delInstance$1(id) {
+  delete instances$3[id];
+}
+var ZRender$1 = function(id, dom2, opts2) {
+  opts2 = opts2 || {};
+  this.dom = dom2;
+  this.id = id;
+  var self2 = this;
+  var storage2 = new Storage$2();
+  var rendererType = opts2.renderer;
+  if (useVML) {
+    if (!painterCtors$1.vml) {
+      throw new Error("You need to require 'zrender/vml/vml' to support IE8");
+    }
+    rendererType = "vml";
+  } else if (!rendererType || !painterCtors$1[rendererType]) {
+    rendererType = "canvas";
+  }
+  var painter = new painterCtors$1[rendererType](dom2, storage2, opts2, id);
+  this.storage = storage2;
+  this.painter = painter;
+  var handerProxy = !env$6.node && !env$6.worker ? new HandlerProxy$1(painter.getViewportRoot(), painter.root) : null;
+  this.handler = new Handler$2(storage2, painter, handerProxy, painter.root);
+  this.animation = new Animation$3({
+    stage: {
+      update: zrUtil$k.bind(this.flush, this)
+    }
+  });
+  this.animation.start();
+  this._needsRefresh;
+  var oldDelFromStorage = storage2.delFromStorage;
+  var oldAddToStorage = storage2.addToStorage;
+  storage2.delFromStorage = function(el) {
+    oldDelFromStorage.call(storage2, el);
+    el && el.removeSelfFromZr(self2);
+  };
+  storage2.addToStorage = function(el) {
+    oldAddToStorage.call(storage2, el);
+    el.addSelfToZr(self2);
+  };
+};
+ZRender$1.prototype = {
+  constructor: ZRender$1,
+  /**
+   * 获取实例唯一标识
+   * @return {string}
+   */
+  getId: function() {
+    return this.id;
+  },
+  /**
+   * 添加元素
+   * @param  {module:zrender/Element} el
+   */
+  add: function(el) {
+    this.storage.addRoot(el);
+    this._needsRefresh = true;
+  },
+  /**
+   * 删除元素
+   * @param  {module:zrender/Element} el
+   */
+  remove: function(el) {
+    this.storage.delRoot(el);
+    this._needsRefresh = true;
+  },
+  /**
+   * Change configuration of layer
+   * @param {string} zLevel
+   * @param {Object} config
+   * @param {string} [config.clearColor=0] Clear color
+   * @param {string} [config.motionBlur=false] If enable motion blur
+   * @param {number} [config.lastFrameAlpha=0.7] Motion blur factor. Larger value cause longer trailer
+  */
+  configLayer: function(zLevel, config2) {
+    if (this.painter.configLayer) {
+      this.painter.configLayer(zLevel, config2);
+    }
+    this._needsRefresh = true;
+  },
+  /**
+   * Set background color
+   * @param {string} backgroundColor
+   */
+  setBackgroundColor: function(backgroundColor2) {
+    if (this.painter.setBackgroundColor) {
+      this.painter.setBackgroundColor(backgroundColor2);
+    }
+    this._needsRefresh = true;
+  },
+  /**
+   * Repaint the canvas immediately
+   */
+  refreshImmediately: function() {
+    this._needsRefresh = this._needsRefreshHover = false;
+    this.painter.refresh();
+    this._needsRefresh = this._needsRefreshHover = false;
+  },
+  /**
+   * Mark and repaint the canvas in the next frame of browser
+   */
+  refresh: function() {
+    this._needsRefresh = true;
+  },
+  /**
+   * Perform all refresh
+   */
+  flush: function() {
+    var triggerRendered;
+    if (this._needsRefresh) {
+      triggerRendered = true;
+      this.refreshImmediately();
+    }
+    if (this._needsRefreshHover) {
+      triggerRendered = true;
+      this.refreshHoverImmediately();
+    }
+    triggerRendered && this.trigger("rendered");
+  },
+  /**
+   * Add element to hover layer
+   * @param  {module:zrender/Element} el
+   * @param {Object} style
+   */
+  addHover: function(el, style2) {
+    if (this.painter.addHover) {
+      var elMirror = this.painter.addHover(el, style2);
+      this.refreshHover();
+      return elMirror;
+    }
+  },
+  /**
+   * Add element from hover layer
+   * @param  {module:zrender/Element} el
+   */
+  removeHover: function(el) {
+    if (this.painter.removeHover) {
+      this.painter.removeHover(el);
+      this.refreshHover();
+    }
+  },
+  /**
+   * Clear all hover elements in hover layer
+   * @param  {module:zrender/Element} el
+   */
+  clearHover: function() {
+    if (this.painter.clearHover) {
+      this.painter.clearHover();
+      this.refreshHover();
+    }
+  },
+  /**
+   * Refresh hover in next frame
+   */
+  refreshHover: function() {
+    this._needsRefreshHover = true;
+  },
+  /**
+   * Refresh hover immediately
+   */
+  refreshHoverImmediately: function() {
+    this._needsRefreshHover = false;
+    this.painter.refreshHover && this.painter.refreshHover();
+  },
+  /**
+   * Resize the canvas.
+   * Should be invoked when container size is changed
+   * @param {Object} [opts]
+   * @param {number|string} [opts.width] Can be 'auto' (the same as null/undefined)
+   * @param {number|string} [opts.height] Can be 'auto' (the same as null/undefined)
+   */
+  resize: function(opts2) {
+    opts2 = opts2 || {};
+    this.painter.resize(opts2.width, opts2.height);
+    this.handler.resize();
+  },
+  /**
+   * Stop and clear all animation immediately
+   */
+  clearAnimation: function() {
+    this.animation.clear();
+  },
+  /**
+   * Get container width
+   */
+  getWidth: function() {
+    return this.painter.getWidth();
+  },
+  /**
+   * Get container height
+   */
+  getHeight: function() {
+    return this.painter.getHeight();
+  },
+  /**
+   * Export the canvas as Base64 URL
+   * @param {string} type
+   * @param {string} [backgroundColor='#fff']
+   * @return {string} Base64 URL
+   */
+  // toDataURL: function(type, backgroundColor) {
+  //     return this.painter.getRenderedCanvas({
+  //         backgroundColor: backgroundColor
+  //     }).toDataURL(type);
+  // },
+  /**
+   * Converting a path to image.
+   * It has much better performance of drawing image rather than drawing a vector path.
+   * @param {module:zrender/graphic/Path} e
+   * @param {number} width
+   * @param {number} height
+   */
+  pathToImage: function(e2, dpr2) {
+    return this.painter.pathToImage(e2, dpr2);
+  },
+  /**
+   * Set default cursor
+   * @param {string} [cursorStyle='default'] 例如 crosshair
+   */
+  setCursorStyle: function(cursorStyle) {
+    this.handler.setCursorStyle(cursorStyle);
+  },
+  /**
+   * Find hovered element
+   * @param {number} x
+   * @param {number} y
+   * @return {Object} {target, topTarget}
+   */
+  findHover: function(x2, y2) {
+    return this.handler.findHover(x2, y2);
+  },
+  /**
+   * Bind event
+   *
+   * @param {string} eventName Event name
+   * @param {Function} eventHandler Handler function
+   * @param {Object} [context] Context object
+   */
+  on: function(eventName, eventHandler, context) {
+    this.handler.on(eventName, eventHandler, context);
+  },
+  /**
+   * Unbind event
+   * @param {string} eventName Event name
+   * @param {Function} [eventHandler] Handler function
+   */
+  off: function(eventName, eventHandler) {
+    this.handler.off(eventName, eventHandler);
+  },
+  /**
+   * Trigger event manually
+   *
+   * @param {string} eventName Event name
+   * @param {event=} event Event object
+   */
+  trigger: function(eventName, event2) {
+    this.handler.trigger(eventName, event2);
+  },
+  /**
+   * Clear all objects and the canvas.
+   */
+  clear: function() {
+    this.storage.delRoot();
+    this.painter.clear();
+  },
+  /**
+   * Dispose self.
+   */
+  dispose: function() {
+    this.animation.stop();
+    this.clear();
+    this.storage.dispose();
+    this.painter.dispose();
+    this.handler.dispose();
+    this.animation = this.storage = this.painter = this.handler = null;
+    delInstance$1(this.id);
+  }
+};
+zrender$1.version = version$o;
+zrender$1.init = init$4;
+zrender$1.dispose = dispose$2;
+zrender$1.getInstance = getInstance$1;
+zrender$1.registerPainter = registerPainter$1;
+var model = {};
+var zrUtil$j = util$a;
+var env$5 = env_1;
+var each$s = zrUtil$j.each;
+var isObject$b = zrUtil$j.isObject;
+var isArray$8 = zrUtil$j.isArray;
+var DUMMY_COMPONENT_NAME_PREFIX$1 = "series\0";
+function normalizeToArray$4(value) {
+  return value instanceof Array ? value : value == null ? [] : [value];
+}
+function defaultEmphasis$1(opt, key2, subOpts) {
+  if (opt) {
+    opt[key2] = opt[key2] || {};
+    opt.emphasis = opt.emphasis || {};
+    opt.emphasis[key2] = opt.emphasis[key2] || {};
+    for (var i2 = 0, len2 = subOpts.length; i2 < len2; i2++) {
+      var subOptName = subOpts[i2];
+      if (!opt.emphasis[key2].hasOwnProperty(subOptName) && opt[key2].hasOwnProperty(subOptName)) {
+        opt.emphasis[key2][subOptName] = opt[key2][subOptName];
+      }
+    }
+  }
+}
+var TEXT_STYLE_OPTIONS$1 = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "rich", "tag", "color", "textBorderColor", "textBorderWidth", "width", "height", "lineHeight", "align", "verticalAlign", "baseline", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY", "backgroundColor", "borderColor", "borderWidth", "borderRadius", "padding"];
+function getDataItemValue$2(dataItem) {
+  return isObject$b(dataItem) && !isArray$8(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;
+}
+function isDataItemOption$2(dataItem) {
+  return isObject$b(dataItem) && !(dataItem instanceof Array);
+}
+function mappingToExists$1(exists, newCptOptions) {
+  newCptOptions = (newCptOptions || []).slice();
+  var result2 = zrUtil$j.map(exists || [], function(obj2, index3) {
+    return {
+      exist: obj2
+    };
+  });
+  each$s(newCptOptions, function(cptOption, index3) {
+    if (!isObject$b(cptOption)) {
+      return;
+    }
+    for (var i2 = 0; i2 < result2.length; i2++) {
+      if (!result2[i2].option && cptOption.id != null && result2[i2].exist.id === cptOption.id + "") {
+        result2[i2].option = cptOption;
+        newCptOptions[index3] = null;
+        return;
+      }
+    }
+    for (var i2 = 0; i2 < result2.length; i2++) {
+      var exist = result2[i2].exist;
+      if (!result2[i2].option && (exist.id == null || cptOption.id == null) && cptOption.name != null && !isIdInner(cptOption) && !isIdInner(exist) && exist.name === cptOption.name + "") {
+        result2[i2].option = cptOption;
+        newCptOptions[index3] = null;
+        return;
+      }
+    }
+  });
+  each$s(newCptOptions, function(cptOption, index3) {
+    if (!isObject$b(cptOption)) {
+      return;
+    }
+    var i2 = 0;
+    for (; i2 < result2.length; i2++) {
+      var exist = result2[i2].exist;
+      if (!result2[i2].option && !isIdInner(exist) && cptOption.id == null) {
+        result2[i2].option = cptOption;
+        break;
+      }
+    }
+    if (i2 >= result2.length) {
+      result2.push({
+        option: cptOption
+      });
+    }
+  });
+  return result2;
+}
+function makeIdAndName$1(mapResult) {
+  var idMap = zrUtil$j.createHashMap();
+  each$s(mapResult, function(item, index3) {
+    var existCpt = item.exist;
+    existCpt && idMap.set(existCpt.id, item);
+  });
+  each$s(mapResult, function(item, index3) {
+    var opt = item.option;
+    zrUtil$j.assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, "id duplicates: " + (opt && opt.id));
+    opt && opt.id != null && idMap.set(opt.id, item);
+    !item.keyInfo && (item.keyInfo = {});
+  });
+  each$s(mapResult, function(item, index3) {
+    var existCpt = item.exist;
+    var opt = item.option;
+    var keyInfo = item.keyInfo;
+    if (!isObject$b(opt)) {
+      return;
+    }
+    keyInfo.name = opt.name != null ? opt.name + "" : existCpt ? existCpt.name : DUMMY_COMPONENT_NAME_PREFIX$1 + index3;
+    if (existCpt) {
+      keyInfo.id = existCpt.id;
+    } else if (opt.id != null) {
+      keyInfo.id = opt.id + "";
+    } else {
+      var idNum = 0;
+      do {
+        keyInfo.id = "\0" + keyInfo.name + "\0" + idNum++;
+      } while (idMap.get(keyInfo.id));
+    }
+    idMap.set(keyInfo.id, item);
+  });
+}
+function isNameSpecified$1(componentModel) {
+  var name2 = componentModel.name;
+  return !!(name2 && name2.indexOf(DUMMY_COMPONENT_NAME_PREFIX$1));
+}
+function isIdInner(cptOption) {
+  return isObject$b(cptOption) && cptOption.id && (cptOption.id + "").indexOf("\0_ec_\0") === 0;
+}
+function compressBatches$1(batchA, batchB) {
+  var mapA = {};
+  var mapB = {};
+  makeMap(batchA || [], mapA);
+  makeMap(batchB || [], mapB, mapA);
+  return [mapToArray(mapA), mapToArray(mapB)];
+  function makeMap(sourceBatch, map2, otherMap) {
+    for (var i2 = 0, len2 = sourceBatch.length; i2 < len2; i2++) {
+      var seriesId = sourceBatch[i2].seriesId;
+      var dataIndices = normalizeToArray$4(sourceBatch[i2].dataIndex);
+      var otherDataIndices = otherMap && otherMap[seriesId];
+      for (var j2 = 0, lenj = dataIndices.length; j2 < lenj; j2++) {
+        var dataIndex = dataIndices[j2];
+        if (otherDataIndices && otherDataIndices[dataIndex]) {
+          otherDataIndices[dataIndex] = null;
+        } else {
+          (map2[seriesId] || (map2[seriesId] = {}))[dataIndex] = 1;
+        }
+      }
+    }
+  }
+  function mapToArray(map2, isData) {
+    var result2 = [];
+    for (var i2 in map2) {
+      if (map2.hasOwnProperty(i2) && map2[i2] != null) {
+        if (isData) {
+          result2.push(+i2);
+        } else {
+          var dataIndices = mapToArray(map2[i2], true);
+          dataIndices.length && result2.push({
+            seriesId: i2,
+            dataIndex: dataIndices
+          });
+        }
+      }
+    }
+    return result2;
+  }
+}
+function queryDataIndex$1(data2, payload) {
+  if (payload.dataIndexInside != null) {
+    return payload.dataIndexInside;
+  } else if (payload.dataIndex != null) {
+    return zrUtil$j.isArray(payload.dataIndex) ? zrUtil$j.map(payload.dataIndex, function(value) {
+      return data2.indexOfRawIndex(value);
+    }) : data2.indexOfRawIndex(payload.dataIndex);
+  } else if (payload.name != null) {
+    return zrUtil$j.isArray(payload.name) ? zrUtil$j.map(payload.name, function(value) {
+      return data2.indexOfName(value);
+    }) : data2.indexOfName(payload.name);
+  }
+}
+function makeInner$5() {
+  var key2 = "__\0ec_inner_" + innerUniqueIndex$1++ + "_" + Math.random().toFixed(5);
+  return function(hostObj) {
+    return hostObj[key2] || (hostObj[key2] = {});
+  };
+}
+var innerUniqueIndex$1 = 0;
+function parseFinder$2(ecModel, finder, opt) {
+  if (zrUtil$j.isString(finder)) {
+    var obj2 = {};
+    obj2[finder + "Index"] = 0;
+    finder = obj2;
+  }
+  var defaultMainType = opt && opt.defaultMainType;
+  if (defaultMainType && !has$2(finder, defaultMainType + "Index") && !has$2(finder, defaultMainType + "Id") && !has$2(finder, defaultMainType + "Name")) {
+    finder[defaultMainType + "Index"] = 0;
+  }
+  var result2 = {};
+  each$s(finder, function(value, key2) {
+    var value = finder[key2];
+    if (key2 === "dataIndex" || key2 === "dataIndexInside") {
+      result2[key2] = value;
+      return;
+    }
+    var parsedKey = key2.match(/^(\w+)(Index|Id|Name)$/) || [];
+    var mainType = parsedKey[1];
+    var queryType = (parsedKey[2] || "").toLowerCase();
+    if (!mainType || !queryType || value == null || queryType === "index" && value === "none" || opt && opt.includeMainTypes && zrUtil$j.indexOf(opt.includeMainTypes, mainType) < 0) {
+      return;
+    }
+    var queryParam = {
+      mainType
+    };
+    if (queryType !== "index" || value !== "all") {
+      queryParam[queryType] = value;
+    }
+    var models = ecModel.queryComponents(queryParam);
+    result2[mainType + "Models"] = models;
+    result2[mainType + "Model"] = models[0];
+  });
+  return result2;
+}
+function has$2(obj2, prop2) {
+  return obj2 && obj2.hasOwnProperty(prop2);
+}
+function setAttribute$1(dom2, key2, value) {
+  dom2.setAttribute ? dom2.setAttribute(key2, value) : dom2[key2] = value;
+}
+function getAttribute$1(dom2, key2) {
+  return dom2.getAttribute ? dom2.getAttribute(key2) : dom2[key2];
+}
+function getTooltipRenderMode$2(renderModeOption) {
+  if (renderModeOption === "auto") {
+    return env$5.domSupported ? "html" : "richText";
+  } else {
+    return renderModeOption || "html";
+  }
+}
+function groupData$1(array, getKey2) {
+  var buckets = zrUtil$j.createHashMap();
+  var keys2 = [];
+  zrUtil$j.each(array, function(item) {
+    var key2 = getKey2(item);
+    (buckets.get(key2) || (keys2.push(key2), buckets.set(key2, []))).push(item);
+  });
+  return {
+    keys: keys2,
+    buckets
+  };
+}
+model.normalizeToArray = normalizeToArray$4;
+model.defaultEmphasis = defaultEmphasis$1;
+model.TEXT_STYLE_OPTIONS = TEXT_STYLE_OPTIONS$1;
+model.getDataItemValue = getDataItemValue$2;
+model.isDataItemOption = isDataItemOption$2;
+model.mappingToExists = mappingToExists$1;
+model.makeIdAndName = makeIdAndName$1;
+model.isNameSpecified = isNameSpecified$1;
+model.isIdInner = isIdInner;
+model.compressBatches = compressBatches$1;
+model.queryDataIndex = queryDataIndex$1;
+model.makeInner = makeInner$5;
+model.parseFinder = parseFinder$2;
+model.setAttribute = setAttribute$1;
+model.getAttribute = getAttribute$1;
+model.getTooltipRenderMode = getTooltipRenderMode$2;
+model.groupData = groupData$1;
+var clazz = {};
+var zrUtil$i = util$a;
+var TYPE_DELIMITER$1 = ".";
+var IS_CONTAINER$1 = "___EC__COMPONENT__CONTAINER___";
+function parseClassType$3(componentType) {
+  var ret = {
+    main: "",
+    sub: ""
+  };
+  if (componentType) {
+    componentType = componentType.split(TYPE_DELIMITER$1);
+    ret.main = componentType[0] || "";
+    ret.sub = componentType[1] || "";
+  }
+  return ret;
+}
+function checkClassType$1(componentType) {
+  zrUtil$i.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType "' + componentType + '" illegal');
+}
+function enableClassExtend$2(RootClass, mandatoryMethods) {
+  RootClass.$constructor = RootClass;
+  RootClass.extend = function(proto2) {
+    var superClass = this;
+    var ExtendedClass = function() {
+      if (!proto2.$constructor) {
+        superClass.apply(this, arguments);
+      } else {
+        proto2.$constructor.apply(this, arguments);
+      }
+    };
+    zrUtil$i.extend(ExtendedClass.prototype, proto2);
+    ExtendedClass.extend = this.extend;
+    ExtendedClass.superCall = superCall$1;
+    ExtendedClass.superApply = superApply$1;
+    zrUtil$i.inherits(ExtendedClass, this);
+    ExtendedClass.superClass = superClass;
+    return ExtendedClass;
+  };
+}
+var classBase$1 = 0;
+function enableClassCheck$2(Clz) {
+  var classAttr = ["__\0is_clz", classBase$1++, Math.random().toFixed(3)].join("_");
+  Clz.prototype[classAttr] = true;
+  Clz.isInstance = function(obj2) {
+    return !!(obj2 && obj2[classAttr]);
+  };
+}
+function superCall$1(context, methodName) {
+  var args = zrUtil$i.slice(arguments, 2);
+  return this.superClass.prototype[methodName].apply(context, args);
+}
+function superApply$1(context, methodName, args) {
+  return this.superClass.prototype[methodName].apply(context, args);
+}
+function enableClassManagement$2(entity, options2) {
+  options2 = options2 || {};
+  var storage2 = {};
+  entity.registerClass = function(Clazz, componentType) {
+    if (componentType) {
+      checkClassType$1(componentType);
+      componentType = parseClassType$3(componentType);
+      if (!componentType.sub) {
+        storage2[componentType.main] = Clazz;
+      } else if (componentType.sub !== IS_CONTAINER$1) {
+        var container = makeContainer(componentType);
+        container[componentType.sub] = Clazz;
+      }
+    }
+    return Clazz;
+  };
+  entity.getClass = function(componentMainType, subType, throwWhenNotFound) {
+    var Clazz = storage2[componentMainType];
+    if (Clazz && Clazz[IS_CONTAINER$1]) {
+      Clazz = subType ? Clazz[subType] : null;
+    }
+    if (throwWhenNotFound && !Clazz) {
+      throw new Error(!subType ? componentMainType + ".type should be specified." : "Component " + componentMainType + "." + (subType || "") + " not exists. Load it first.");
+    }
+    return Clazz;
+  };
+  entity.getClassesByMainType = function(componentType) {
+    componentType = parseClassType$3(componentType);
+    var result2 = [];
+    var obj2 = storage2[componentType.main];
+    if (obj2 && obj2[IS_CONTAINER$1]) {
+      zrUtil$i.each(obj2, function(o2, type2) {
+        type2 !== IS_CONTAINER$1 && result2.push(o2);
+      });
+    } else {
+      result2.push(obj2);
+    }
+    return result2;
+  };
+  entity.hasClass = function(componentType) {
+    componentType = parseClassType$3(componentType);
+    return !!storage2[componentType.main];
+  };
+  entity.getAllClassMainTypes = function() {
+    var types2 = [];
+    zrUtil$i.each(storage2, function(obj2, type2) {
+      types2.push(type2);
+    });
+    return types2;
+  };
+  entity.hasSubTypes = function(componentType) {
+    componentType = parseClassType$3(componentType);
+    var obj2 = storage2[componentType.main];
+    return obj2 && obj2[IS_CONTAINER$1];
+  };
+  entity.parseClassType = parseClassType$3;
+  function makeContainer(componentType) {
+    var container = storage2[componentType.main];
+    if (!container || !container[IS_CONTAINER$1]) {
+      container = storage2[componentType.main] = {};
+      container[IS_CONTAINER$1] = true;
+    }
+    return container;
+  }
+  if (options2.registerWhenExtend) {
+    var originalExtend = entity.extend;
+    if (originalExtend) {
+      entity.extend = function(proto2) {
+        var ExtendedClass = originalExtend.call(this, proto2);
+        return entity.registerClass(ExtendedClass, proto2.type);
+      };
+    }
+  }
+  return entity;
+}
+function setReadOnly(obj2, properties) {
+}
+clazz.parseClassType = parseClassType$3;
+clazz.enableClassExtend = enableClassExtend$2;
+clazz.enableClassCheck = enableClassCheck$2;
+clazz.enableClassManagement = enableClassManagement$2;
+clazz.setReadOnly = setReadOnly;
+var zrUtil$h = util$a;
+function _default$R(properties) {
+  for (var i2 = 0; i2 < properties.length; i2++) {
+    if (!properties[i2][1]) {
+      properties[i2][1] = properties[i2][0];
+    }
+  }
+  return function(model2, excludes, includes) {
+    var style2 = {};
+    for (var i3 = 0; i3 < properties.length; i3++) {
+      var propName = properties[i3][1];
+      if (excludes && zrUtil$h.indexOf(excludes, propName) >= 0 || includes && zrUtil$h.indexOf(includes, propName) < 0) {
+        continue;
+      }
+      var val = model2.getShallow(propName);
+      if (val != null) {
+        style2[properties[i3][0]] = val;
+      }
+    }
+    return style2;
+  };
+}
+var makeStyleMapper$4 = _default$R;
+var makeStyleMapper$3 = makeStyleMapper$4;
+var getLineStyle$1 = makeStyleMapper$3([["lineWidth", "width"], ["stroke", "color"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"]]);
+var _default$Q = {
+  getLineStyle: function(excludes) {
+    var style2 = getLineStyle$1(this, excludes);
+    style2.lineDash = this.getLineDash(style2.lineWidth);
+    return style2;
+  },
+  getLineDash: function(lineWidth) {
+    if (lineWidth == null) {
+      lineWidth = 1;
+    }
+    var lineType = this.get("type");
+    var dotSize = Math.max(lineWidth, 2);
+    var dashSize = lineWidth * 4;
+    return lineType === "solid" || lineType == null ? (
+      // Use `false` but not `null` for the solid line here, because `null` might be
+      // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as
+      // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the
+      // `lineDash` gotten form the latter one is not able to erase that from the former
+      // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.
+      false
+    ) : lineType === "dashed" ? [dashSize, dashSize] : [dotSize, dotSize];
+  }
+};
+var lineStyle = _default$Q;
+var makeStyleMapper$2 = makeStyleMapper$4;
+var getAreaStyle$1 = makeStyleMapper$2([["fill", "color"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["opacity"], ["shadowColor"]]);
+var _default$P = {
+  getAreaStyle: function(excludes, includes) {
+    return getAreaStyle$1(this, excludes, includes);
+  }
+};
+var areaStyle = _default$P;
+var graphic$6 = {};
+var path$1 = {};
+var curve$3 = {};
+var _vector$3 = vector$3;
+var v2Create = _vector$3.create;
+var v2DistSquare$1 = _vector$3.distSquare;
+var mathPow$3 = Math.pow;
+var mathSqrt$7 = Math.sqrt;
+var EPSILON$6 = 1e-8;
+var EPSILON_NUMERIC$1 = 1e-4;
+var THREE_SQRT$1 = mathSqrt$7(3);
+var ONE_THIRD$1 = 1 / 3;
+var _v0$1 = v2Create();
+var _v1$1 = v2Create();
+var _v2$1 = v2Create();
+function isAroundZero$2(val) {
+  return val > -EPSILON$6 && val < EPSILON$6;
+}
+function isNotAroundZero$2(val) {
+  return val > EPSILON$6 || val < -EPSILON$6;
+}
+function cubicAt$2(p0, p1, p2, p3, t2) {
+  var onet = 1 - t2;
+  return onet * onet * (onet * p0 + 3 * t2 * p1) + t2 * t2 * (t2 * p3 + 3 * onet * p2);
+}
+function cubicDerivativeAt$2(p0, p1, p2, p3, t2) {
+  var onet = 1 - t2;
+  return 3 * (((p1 - p0) * onet + 2 * (p2 - p1) * t2) * onet + (p3 - p2) * t2 * t2);
+}
+function cubicRootAt$1(p0, p1, p2, p3, val, roots2) {
+  var a2 = p3 + 3 * (p1 - p2) - p0;
+  var b2 = 3 * (p2 - p1 * 2 + p0);
+  var c2 = 3 * (p1 - p0);
+  var d2 = p0 - val;
+  var A2 = b2 * b2 - 3 * a2 * c2;
+  var B2 = b2 * c2 - 9 * a2 * d2;
+  var C2 = c2 * c2 - 3 * b2 * d2;
+  var n2 = 0;
+  if (isAroundZero$2(A2) && isAroundZero$2(B2)) {
+    if (isAroundZero$2(b2)) {
+      roots2[0] = 0;
+    } else {
+      var t1 = -c2 / b2;
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    }
+  } else {
+    var disc = B2 * B2 - 4 * A2 * C2;
+    if (isAroundZero$2(disc)) {
+      var K2 = B2 / A2;
+      var t1 = -b2 / a2 + K2;
+      var t2 = -K2 / 2;
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        roots2[n2++] = t2;
+      }
+    } else if (disc > 0) {
+      var discSqrt = mathSqrt$7(disc);
+      var Y1 = A2 * b2 + 1.5 * a2 * (-B2 + discSqrt);
+      var Y2 = A2 * b2 + 1.5 * a2 * (-B2 - discSqrt);
+      if (Y1 < 0) {
+        Y1 = -mathPow$3(-Y1, ONE_THIRD$1);
+      } else {
+        Y1 = mathPow$3(Y1, ONE_THIRD$1);
+      }
+      if (Y2 < 0) {
+        Y2 = -mathPow$3(-Y2, ONE_THIRD$1);
+      } else {
+        Y2 = mathPow$3(Y2, ONE_THIRD$1);
+      }
+      var t1 = (-b2 - (Y1 + Y2)) / (3 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    } else {
+      var T2 = (2 * A2 * b2 - 3 * a2 * B2) / (2 * mathSqrt$7(A2 * A2 * A2));
+      var theta = Math.acos(T2) / 3;
+      var ASqrt = mathSqrt$7(A2);
+      var tmp = Math.cos(theta);
+      var t1 = (-b2 - 2 * ASqrt * tmp) / (3 * a2);
+      var t2 = (-b2 + ASqrt * (tmp + THREE_SQRT$1 * Math.sin(theta))) / (3 * a2);
+      var t3 = (-b2 + ASqrt * (tmp - THREE_SQRT$1 * Math.sin(theta))) / (3 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        roots2[n2++] = t2;
+      }
+      if (t3 >= 0 && t3 <= 1) {
+        roots2[n2++] = t3;
+      }
+    }
+  }
+  return n2;
+}
+function cubicExtrema$1(p0, p1, p2, p3, extrema2) {
+  var b2 = 6 * p2 - 12 * p1 + 6 * p0;
+  var a2 = 9 * p1 + 3 * p3 - 3 * p0 - 9 * p2;
+  var c2 = 3 * p1 - 3 * p0;
+  var n2 = 0;
+  if (isAroundZero$2(a2)) {
+    if (isNotAroundZero$2(b2)) {
+      var t1 = -c2 / b2;
+      if (t1 >= 0 && t1 <= 1) {
+        extrema2[n2++] = t1;
+      }
+    }
+  } else {
+    var disc = b2 * b2 - 4 * a2 * c2;
+    if (isAroundZero$2(disc)) {
+      extrema2[0] = -b2 / (2 * a2);
+    } else if (disc > 0) {
+      var discSqrt = mathSqrt$7(disc);
+      var t1 = (-b2 + discSqrt) / (2 * a2);
+      var t2 = (-b2 - discSqrt) / (2 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        extrema2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        extrema2[n2++] = t2;
+      }
+    }
+  }
+  return n2;
+}
+function cubicSubdivide$2(p0, p1, p2, p3, t2, out2) {
+  var p01 = (p1 - p0) * t2 + p0;
+  var p12 = (p2 - p1) * t2 + p1;
+  var p23 = (p3 - p2) * t2 + p2;
+  var p012 = (p12 - p01) * t2 + p01;
+  var p123 = (p23 - p12) * t2 + p12;
+  var p0123 = (p123 - p012) * t2 + p012;
+  out2[0] = p0;
+  out2[1] = p01;
+  out2[2] = p012;
+  out2[3] = p0123;
+  out2[4] = p0123;
+  out2[5] = p123;
+  out2[6] = p23;
+  out2[7] = p3;
+}
+function cubicProjectPoint$1(x0, y0, x1, y1, x2, y2, x3, y3, x4, y4, out2) {
+  var t2;
+  var interval = 5e-3;
+  var d2 = Infinity;
+  var prev;
+  var next;
+  var d1;
+  var d22;
+  _v0$1[0] = x4;
+  _v0$1[1] = y4;
+  for (var _t = 0; _t < 1; _t += 0.05) {
+    _v1$1[0] = cubicAt$2(x0, x1, x2, x3, _t);
+    _v1$1[1] = cubicAt$2(y0, y1, y2, y3, _t);
+    d1 = v2DistSquare$1(_v0$1, _v1$1);
+    if (d1 < d2) {
+      t2 = _t;
+      d2 = d1;
+    }
+  }
+  d2 = Infinity;
+  for (var i2 = 0; i2 < 32; i2++) {
+    if (interval < EPSILON_NUMERIC$1) {
+      break;
+    }
+    prev = t2 - interval;
+    next = t2 + interval;
+    _v1$1[0] = cubicAt$2(x0, x1, x2, x3, prev);
+    _v1$1[1] = cubicAt$2(y0, y1, y2, y3, prev);
+    d1 = v2DistSquare$1(_v1$1, _v0$1);
+    if (prev >= 0 && d1 < d2) {
+      t2 = prev;
+      d2 = d1;
+    } else {
+      _v2$1[0] = cubicAt$2(x0, x1, x2, x3, next);
+      _v2$1[1] = cubicAt$2(y0, y1, y2, y3, next);
+      d22 = v2DistSquare$1(_v2$1, _v0$1);
+      if (next <= 1 && d22 < d2) {
+        t2 = next;
+        d2 = d22;
+      } else {
+        interval *= 0.5;
+      }
+    }
+  }
+  if (out2) {
+    out2[0] = cubicAt$2(x0, x1, x2, x3, t2);
+    out2[1] = cubicAt$2(y0, y1, y2, y3, t2);
+  }
+  return mathSqrt$7(d2);
+}
+function quadraticAt$3(p0, p1, p2, t2) {
+  var onet = 1 - t2;
+  return onet * (onet * p0 + 2 * t2 * p1) + t2 * t2 * p2;
+}
+function quadraticDerivativeAt$2(p0, p1, p2, t2) {
+  return 2 * ((1 - t2) * (p1 - p0) + t2 * (p2 - p1));
+}
+function quadraticRootAt$1(p0, p1, p2, val, roots2) {
+  var a2 = p0 - 2 * p1 + p2;
+  var b2 = 2 * (p1 - p0);
+  var c2 = p0 - val;
+  var n2 = 0;
+  if (isAroundZero$2(a2)) {
+    if (isNotAroundZero$2(b2)) {
+      var t1 = -c2 / b2;
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    }
+  } else {
+    var disc = b2 * b2 - 4 * a2 * c2;
+    if (isAroundZero$2(disc)) {
+      var t1 = -b2 / (2 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    } else if (disc > 0) {
+      var discSqrt = mathSqrt$7(disc);
+      var t1 = (-b2 + discSqrt) / (2 * a2);
+      var t2 = (-b2 - discSqrt) / (2 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        roots2[n2++] = t2;
+      }
+    }
+  }
+  return n2;
+}
+function quadraticExtremum$1(p0, p1, p2) {
+  var divider = p0 + p2 - 2 * p1;
+  if (divider === 0) {
+    return 0.5;
+  } else {
+    return (p0 - p1) / divider;
+  }
+}
+function quadraticSubdivide$2(p0, p1, p2, t2, out2) {
+  var p01 = (p1 - p0) * t2 + p0;
+  var p12 = (p2 - p1) * t2 + p1;
+  var p012 = (p12 - p01) * t2 + p01;
+  out2[0] = p0;
+  out2[1] = p01;
+  out2[2] = p012;
+  out2[3] = p012;
+  out2[4] = p12;
+  out2[5] = p2;
+}
+function quadraticProjectPoint$2(x0, y0, x1, y1, x2, y2, x3, y3, out2) {
+  var t2;
+  var interval = 5e-3;
+  var d2 = Infinity;
+  _v0$1[0] = x3;
+  _v0$1[1] = y3;
+  for (var _t = 0; _t < 1; _t += 0.05) {
+    _v1$1[0] = quadraticAt$3(x0, x1, x2, _t);
+    _v1$1[1] = quadraticAt$3(y0, y1, y2, _t);
+    var d1 = v2DistSquare$1(_v0$1, _v1$1);
+    if (d1 < d2) {
+      t2 = _t;
+      d2 = d1;
+    }
+  }
+  d2 = Infinity;
+  for (var i2 = 0; i2 < 32; i2++) {
+    if (interval < EPSILON_NUMERIC$1) {
+      break;
+    }
+    var prev = t2 - interval;
+    var next = t2 + interval;
+    _v1$1[0] = quadraticAt$3(x0, x1, x2, prev);
+    _v1$1[1] = quadraticAt$3(y0, y1, y2, prev);
+    var d1 = v2DistSquare$1(_v1$1, _v0$1);
+    if (prev >= 0 && d1 < d2) {
+      t2 = prev;
+      d2 = d1;
+    } else {
+      _v2$1[0] = quadraticAt$3(x0, x1, x2, next);
+      _v2$1[1] = quadraticAt$3(y0, y1, y2, next);
+      var d22 = v2DistSquare$1(_v2$1, _v0$1);
+      if (next <= 1 && d22 < d2) {
+        t2 = next;
+        d2 = d22;
+      } else {
+        interval *= 0.5;
+      }
+    }
+  }
+  if (out2) {
+    out2[0] = quadraticAt$3(x0, x1, x2, t2);
+    out2[1] = quadraticAt$3(y0, y1, y2, t2);
+  }
+  return mathSqrt$7(d2);
+}
+curve$3.cubicAt = cubicAt$2;
+curve$3.cubicDerivativeAt = cubicDerivativeAt$2;
+curve$3.cubicRootAt = cubicRootAt$1;
+curve$3.cubicExtrema = cubicExtrema$1;
+curve$3.cubicSubdivide = cubicSubdivide$2;
+curve$3.cubicProjectPoint = cubicProjectPoint$1;
+curve$3.quadraticAt = quadraticAt$3;
+curve$3.quadraticDerivativeAt = quadraticDerivativeAt$2;
+curve$3.quadraticRootAt = quadraticRootAt$1;
+curve$3.quadraticExtremum = quadraticExtremum$1;
+curve$3.quadraticSubdivide = quadraticSubdivide$2;
+curve$3.quadraticProjectPoint = quadraticProjectPoint$2;
+var bbox$1 = {};
+var hasRequiredBbox;
+function requireBbox() {
+  if (hasRequiredBbox)
+    return bbox$1;
+  hasRequiredBbox = 1;
+  var vec22 = vector$3;
+  var curve2 = curve$3;
+  var mathMin2 = Math.min;
+  var mathMax2 = Math.max;
+  var mathSin2 = Math.sin;
+  var mathCos2 = Math.cos;
+  var PI22 = Math.PI * 2;
+  var start2 = vec22.create();
+  var end2 = vec22.create();
+  var extremity2 = vec22.create();
+  function fromPoints2(points2, min3, max3) {
+    if (points2.length === 0) {
+      return;
+    }
+    var p2 = points2[0];
+    var left = p2[0];
+    var right = p2[0];
+    var top = p2[1];
+    var bottom = p2[1];
+    var i2;
+    for (i2 = 1; i2 < points2.length; i2++) {
+      p2 = points2[i2];
+      left = mathMin2(left, p2[0]);
+      right = mathMax2(right, p2[0]);
+      top = mathMin2(top, p2[1]);
+      bottom = mathMax2(bottom, p2[1]);
+    }
+    min3[0] = left;
+    min3[1] = top;
+    max3[0] = right;
+    max3[1] = bottom;
+  }
+  function fromLine2(x0, y0, x1, y1, min3, max3) {
+    min3[0] = mathMin2(x0, x1);
+    min3[1] = mathMin2(y0, y1);
+    max3[0] = mathMax2(x0, x1);
+    max3[1] = mathMax2(y0, y1);
+  }
+  var xDim2 = [];
+  var yDim2 = [];
+  function fromCubic2(x0, y0, x1, y1, x2, y2, x3, y3, min3, max3) {
+    var cubicExtrema2 = curve2.cubicExtrema;
+    var cubicAt2 = curve2.cubicAt;
+    var i2;
+    var n2 = cubicExtrema2(x0, x1, x2, x3, xDim2);
+    min3[0] = Infinity;
+    min3[1] = Infinity;
+    max3[0] = -Infinity;
+    max3[1] = -Infinity;
+    for (i2 = 0; i2 < n2; i2++) {
+      var x4 = cubicAt2(x0, x1, x2, x3, xDim2[i2]);
+      min3[0] = mathMin2(x4, min3[0]);
+      max3[0] = mathMax2(x4, max3[0]);
+    }
+    n2 = cubicExtrema2(y0, y1, y2, y3, yDim2);
+    for (i2 = 0; i2 < n2; i2++) {
+      var y4 = cubicAt2(y0, y1, y2, y3, yDim2[i2]);
+      min3[1] = mathMin2(y4, min3[1]);
+      max3[1] = mathMax2(y4, max3[1]);
+    }
+    min3[0] = mathMin2(x0, min3[0]);
+    max3[0] = mathMax2(x0, max3[0]);
+    min3[0] = mathMin2(x3, min3[0]);
+    max3[0] = mathMax2(x3, max3[0]);
+    min3[1] = mathMin2(y0, min3[1]);
+    max3[1] = mathMax2(y0, max3[1]);
+    min3[1] = mathMin2(y3, min3[1]);
+    max3[1] = mathMax2(y3, max3[1]);
+  }
+  function fromQuadratic2(x0, y0, x1, y1, x2, y2, min3, max3) {
+    var quadraticExtremum2 = curve2.quadraticExtremum;
+    var quadraticAt2 = curve2.quadraticAt;
+    var tx = mathMax2(mathMin2(quadraticExtremum2(x0, x1, x2), 1), 0);
+    var ty = mathMax2(mathMin2(quadraticExtremum2(y0, y1, y2), 1), 0);
+    var x3 = quadraticAt2(x0, x1, x2, tx);
+    var y3 = quadraticAt2(y0, y1, y2, ty);
+    min3[0] = mathMin2(x0, x2, x3);
+    min3[1] = mathMin2(y0, y2, y3);
+    max3[0] = mathMax2(x0, x2, x3);
+    max3[1] = mathMax2(y0, y2, y3);
+  }
+  function fromArc2(x2, y2, rx, ry, startAngle, endAngle, anticlockwise, min3, max3) {
+    var vec2Min = vec22.min;
+    var vec2Max = vec22.max;
+    var diff = Math.abs(startAngle - endAngle);
+    if (diff % PI22 < 1e-4 && diff > 1e-4) {
+      min3[0] = x2 - rx;
+      min3[1] = y2 - ry;
+      max3[0] = x2 + rx;
+      max3[1] = y2 + ry;
+      return;
+    }
+    start2[0] = mathCos2(startAngle) * rx + x2;
+    start2[1] = mathSin2(startAngle) * ry + y2;
+    end2[0] = mathCos2(endAngle) * rx + x2;
+    end2[1] = mathSin2(endAngle) * ry + y2;
+    vec2Min(min3, start2, end2);
+    vec2Max(max3, start2, end2);
+    startAngle = startAngle % PI22;
+    if (startAngle < 0) {
+      startAngle = startAngle + PI22;
+    }
+    endAngle = endAngle % PI22;
+    if (endAngle < 0) {
+      endAngle = endAngle + PI22;
+    }
+    if (startAngle > endAngle && !anticlockwise) {
+      endAngle += PI22;
+    } else if (startAngle < endAngle && anticlockwise) {
+      startAngle += PI22;
+    }
+    if (anticlockwise) {
+      var tmp = endAngle;
+      endAngle = startAngle;
+      startAngle = tmp;
+    }
+    for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {
+      if (angle > startAngle) {
+        extremity2[0] = mathCos2(angle) * rx + x2;
+        extremity2[1] = mathSin2(angle) * ry + y2;
+        vec2Min(min3, extremity2, min3);
+        vec2Max(max3, extremity2, max3);
+      }
+    }
+  }
+  bbox$1.fromPoints = fromPoints2;
+  bbox$1.fromLine = fromLine2;
+  bbox$1.fromCubic = fromCubic2;
+  bbox$1.fromQuadratic = fromQuadratic2;
+  bbox$1.fromArc = fromArc2;
+  return bbox$1;
+}
+var curve$2 = curve$3;
+var vec2$1 = vector$3;
+var bbox = requireBbox();
+var BoundingRect$5 = BoundingRect_1;
+var _config = config$1;
+var dpr$1 = _config.devicePixelRatio;
+var CMD$7 = {
+  M: 1,
+  L: 2,
+  C: 3,
+  Q: 4,
+  A: 5,
+  Z: 6,
+  // Rect
+  R: 7
+};
+var min$2 = [];
+var max$2 = [];
+var min2$1 = [];
+var max2$1 = [];
+var mathMin$c = Math.min;
+var mathMax$c = Math.max;
+var mathCos$6 = Math.cos;
+var mathSin$6 = Math.sin;
+var mathSqrt$6 = Math.sqrt;
+var mathAbs$3 = Math.abs;
+var hasTypedArray$1 = typeof Float32Array !== "undefined";
+var PathProxy$6 = function(notSaveData) {
+  this._saveData = !(notSaveData || false);
+  if (this._saveData) {
+    this.data = [];
+  }
+  this._ctx = null;
+};
+PathProxy$6.prototype = {
+  constructor: PathProxy$6,
+  _xi: 0,
+  _yi: 0,
+  _x0: 0,
+  _y0: 0,
+  // Unit x, Unit y. Provide for avoiding drawing that too short line segment
+  _ux: 0,
+  _uy: 0,
+  _len: 0,
+  _lineDash: null,
+  _dashOffset: 0,
+  _dashIdx: 0,
+  _dashSum: 0,
+  /**
+   * @readOnly
+   */
+  setScale: function(sx, sy, segmentIgnoreThreshold) {
+    segmentIgnoreThreshold = segmentIgnoreThreshold || 0;
+    this._ux = mathAbs$3(segmentIgnoreThreshold / dpr$1 / sx) || 0;
+    this._uy = mathAbs$3(segmentIgnoreThreshold / dpr$1 / sy) || 0;
+  },
+  getContext: function() {
+    return this._ctx;
+  },
+  /**
+   * @param  {CanvasRenderingContext2D} ctx
+   * @return {module:zrender/core/PathProxy}
+   */
+  beginPath: function(ctx) {
+    this._ctx = ctx;
+    ctx && ctx.beginPath();
+    ctx && (this.dpr = ctx.dpr);
+    if (this._saveData) {
+      this._len = 0;
+    }
+    if (this._lineDash) {
+      this._lineDash = null;
+      this._dashOffset = 0;
+    }
+    return this;
+  },
+  /**
+   * @param  {number} x
+   * @param  {number} y
+   * @return {module:zrender/core/PathProxy}
+   */
+  moveTo: function(x2, y2) {
+    this.addData(CMD$7.M, x2, y2);
+    this._ctx && this._ctx.moveTo(x2, y2);
+    this._x0 = x2;
+    this._y0 = y2;
+    this._xi = x2;
+    this._yi = y2;
+    return this;
+  },
+  /**
+   * @param  {number} x
+   * @param  {number} y
+   * @return {module:zrender/core/PathProxy}
+   */
+  lineTo: function(x2, y2) {
+    var exceedUnit = mathAbs$3(x2 - this._xi) > this._ux || mathAbs$3(y2 - this._yi) > this._uy || this._len < 5;
+    this.addData(CMD$7.L, x2, y2);
+    if (this._ctx && exceedUnit) {
+      this._needsDash() ? this._dashedLineTo(x2, y2) : this._ctx.lineTo(x2, y2);
+    }
+    if (exceedUnit) {
+      this._xi = x2;
+      this._yi = y2;
+    }
+    return this;
+  },
+  /**
+   * @param  {number} x1
+   * @param  {number} y1
+   * @param  {number} x2
+   * @param  {number} y2
+   * @param  {number} x3
+   * @param  {number} y3
+   * @return {module:zrender/core/PathProxy}
+   */
+  bezierCurveTo: function(x1, y1, x2, y2, x3, y3) {
+    this.addData(CMD$7.C, x1, y1, x2, y2, x3, y3);
+    if (this._ctx) {
+      this._needsDash() ? this._dashedBezierTo(x1, y1, x2, y2, x3, y3) : this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
+    }
+    this._xi = x3;
+    this._yi = y3;
+    return this;
+  },
+  /**
+   * @param  {number} x1
+   * @param  {number} y1
+   * @param  {number} x2
+   * @param  {number} y2
+   * @return {module:zrender/core/PathProxy}
+   */
+  quadraticCurveTo: function(x1, y1, x2, y2) {
+    this.addData(CMD$7.Q, x1, y1, x2, y2);
+    if (this._ctx) {
+      this._needsDash() ? this._dashedQuadraticTo(x1, y1, x2, y2) : this._ctx.quadraticCurveTo(x1, y1, x2, y2);
+    }
+    this._xi = x2;
+    this._yi = y2;
+    return this;
+  },
+  /**
+   * @param  {number} cx
+   * @param  {number} cy
+   * @param  {number} r
+   * @param  {number} startAngle
+   * @param  {number} endAngle
+   * @param  {boolean} anticlockwise
+   * @return {module:zrender/core/PathProxy}
+   */
+  arc: function(cx, cy, r2, startAngle, endAngle, anticlockwise) {
+    this.addData(CMD$7.A, cx, cy, r2, r2, startAngle, endAngle - startAngle, 0, anticlockwise ? 0 : 1);
+    this._ctx && this._ctx.arc(cx, cy, r2, startAngle, endAngle, anticlockwise);
+    this._xi = mathCos$6(endAngle) * r2 + cx;
+    this._yi = mathSin$6(endAngle) * r2 + cy;
+    return this;
+  },
+  // TODO
+  arcTo: function(x1, y1, x2, y2, radius) {
+    if (this._ctx) {
+      this._ctx.arcTo(x1, y1, x2, y2, radius);
+    }
+    return this;
+  },
+  // TODO
+  rect: function(x2, y2, w2, h3) {
+    this._ctx && this._ctx.rect(x2, y2, w2, h3);
+    this.addData(CMD$7.R, x2, y2, w2, h3);
+    return this;
+  },
+  /**
+   * @return {module:zrender/core/PathProxy}
+   */
+  closePath: function() {
+    this.addData(CMD$7.Z);
+    var ctx = this._ctx;
+    var x0 = this._x0;
+    var y0 = this._y0;
+    if (ctx) {
+      this._needsDash() && this._dashedLineTo(x0, y0);
+      ctx.closePath();
+    }
+    this._xi = x0;
+    this._yi = y0;
+    return this;
+  },
+  /**
+   * Context 从外部传入,因为有可能是 rebuildPath 完之后再 fill。
+   * stroke 同样
+   * @param {CanvasRenderingContext2D} ctx
+   * @return {module:zrender/core/PathProxy}
+   */
+  fill: function(ctx) {
+    ctx && ctx.fill();
+    this.toStatic();
+  },
+  /**
+   * @param {CanvasRenderingContext2D} ctx
+   * @return {module:zrender/core/PathProxy}
+   */
+  stroke: function(ctx) {
+    ctx && ctx.stroke();
+    this.toStatic();
+  },
+  /**
+   * 必须在其它绘制命令前调用
+   * Must be invoked before all other path drawing methods
+   * @return {module:zrender/core/PathProxy}
+   */
+  setLineDash: function(lineDash) {
+    if (lineDash instanceof Array) {
+      this._lineDash = lineDash;
+      this._dashIdx = 0;
+      var lineDashSum = 0;
+      for (var i2 = 0; i2 < lineDash.length; i2++) {
+        lineDashSum += lineDash[i2];
+      }
+      this._dashSum = lineDashSum;
+    }
+    return this;
+  },
+  /**
+   * 必须在其它绘制命令前调用
+   * Must be invoked before all other path drawing methods
+   * @return {module:zrender/core/PathProxy}
+   */
+  setLineDashOffset: function(offset2) {
+    this._dashOffset = offset2;
+    return this;
+  },
+  /**
+   *
+   * @return {boolean}
+   */
+  len: function() {
+    return this._len;
+  },
+  /**
+   * 直接设置 Path 数据
+   */
+  setData: function(data2) {
+    var len2 = data2.length;
+    if (!(this.data && this.data.length === len2) && hasTypedArray$1) {
+      this.data = new Float32Array(len2);
+    }
+    for (var i2 = 0; i2 < len2; i2++) {
+      this.data[i2] = data2[i2];
+    }
+    this._len = len2;
+  },
+  /**
+   * 添加子路径
+   * @param {module:zrender/core/PathProxy|Array.<module:zrender/core/PathProxy>} path
+   */
+  appendPath: function(path2) {
+    if (!(path2 instanceof Array)) {
+      path2 = [path2];
+    }
+    var len2 = path2.length;
+    var appendSize = 0;
+    var offset2 = this._len;
+    for (var i2 = 0; i2 < len2; i2++) {
+      appendSize += path2[i2].len();
+    }
+    if (hasTypedArray$1 && this.data instanceof Float32Array) {
+      this.data = new Float32Array(offset2 + appendSize);
+    }
+    for (var i2 = 0; i2 < len2; i2++) {
+      var appendPathData = path2[i2].data;
+      for (var k2 = 0; k2 < appendPathData.length; k2++) {
+        this.data[offset2++] = appendPathData[k2];
+      }
+    }
+    this._len = offset2;
+  },
+  /**
+   * 填充 Path 数据。
+   * 尽量复用而不申明新的数组。大部分图形重绘的指令数据长度都是不变的。
+   */
+  addData: function(cmd) {
+    if (!this._saveData) {
+      return;
+    }
+    var data2 = this.data;
+    if (this._len + arguments.length > data2.length) {
+      this._expandData();
+      data2 = this.data;
+    }
+    for (var i2 = 0; i2 < arguments.length; i2++) {
+      data2[this._len++] = arguments[i2];
+    }
+    this._prevCmd = cmd;
+  },
+  _expandData: function() {
+    if (!(this.data instanceof Array)) {
+      var newData = [];
+      for (var i2 = 0; i2 < this._len; i2++) {
+        newData[i2] = this.data[i2];
+      }
+      this.data = newData;
+    }
+  },
+  /**
+   * If needs js implemented dashed line
+   * @return {boolean}
+   * @private
+   */
+  _needsDash: function() {
+    return this._lineDash;
+  },
+  _dashedLineTo: function(x1, y1) {
+    var dashSum = this._dashSum;
+    var offset2 = this._dashOffset;
+    var lineDash = this._lineDash;
+    var ctx = this._ctx;
+    var x0 = this._xi;
+    var y0 = this._yi;
+    var dx = x1 - x0;
+    var dy = y1 - y0;
+    var dist2 = mathSqrt$6(dx * dx + dy * dy);
+    var x2 = x0;
+    var y2 = y0;
+    var dash;
+    var nDash = lineDash.length;
+    var idx;
+    dx /= dist2;
+    dy /= dist2;
+    if (offset2 < 0) {
+      offset2 = dashSum + offset2;
+    }
+    offset2 %= dashSum;
+    x2 -= offset2 * dx;
+    y2 -= offset2 * dy;
+    while (dx > 0 && x2 <= x1 || dx < 0 && x2 >= x1 || dx === 0 && (dy > 0 && y2 <= y1 || dy < 0 && y2 >= y1)) {
+      idx = this._dashIdx;
+      dash = lineDash[idx];
+      x2 += dx * dash;
+      y2 += dy * dash;
+      this._dashIdx = (idx + 1) % nDash;
+      if (dx > 0 && x2 < x0 || dx < 0 && x2 > x0 || dy > 0 && y2 < y0 || dy < 0 && y2 > y0) {
+        continue;
+      }
+      ctx[idx % 2 ? "moveTo" : "lineTo"](dx >= 0 ? mathMin$c(x2, x1) : mathMax$c(x2, x1), dy >= 0 ? mathMin$c(y2, y1) : mathMax$c(y2, y1));
+    }
+    dx = x2 - x1;
+    dy = y2 - y1;
+    this._dashOffset = -mathSqrt$6(dx * dx + dy * dy);
+  },
+  // Not accurate dashed line to
+  _dashedBezierTo: function(x1, y1, x2, y2, x3, y3) {
+    var dashSum = this._dashSum;
+    var offset2 = this._dashOffset;
+    var lineDash = this._lineDash;
+    var ctx = this._ctx;
+    var x0 = this._xi;
+    var y0 = this._yi;
+    var t2;
+    var dx;
+    var dy;
+    var cubicAt2 = curve$2.cubicAt;
+    var bezierLen = 0;
+    var idx = this._dashIdx;
+    var nDash = lineDash.length;
+    var x4;
+    var y4;
+    var tmpLen = 0;
+    if (offset2 < 0) {
+      offset2 = dashSum + offset2;
+    }
+    offset2 %= dashSum;
+    for (t2 = 0; t2 < 1; t2 += 0.1) {
+      dx = cubicAt2(x0, x1, x2, x3, t2 + 0.1) - cubicAt2(x0, x1, x2, x3, t2);
+      dy = cubicAt2(y0, y1, y2, y3, t2 + 0.1) - cubicAt2(y0, y1, y2, y3, t2);
+      bezierLen += mathSqrt$6(dx * dx + dy * dy);
+    }
+    for (; idx < nDash; idx++) {
+      tmpLen += lineDash[idx];
+      if (tmpLen > offset2) {
+        break;
+      }
+    }
+    t2 = (tmpLen - offset2) / bezierLen;
+    while (t2 <= 1) {
+      x4 = cubicAt2(x0, x1, x2, x3, t2);
+      y4 = cubicAt2(y0, y1, y2, y3, t2);
+      idx % 2 ? ctx.moveTo(x4, y4) : ctx.lineTo(x4, y4);
+      t2 += lineDash[idx] / bezierLen;
+      idx = (idx + 1) % nDash;
+    }
+    idx % 2 !== 0 && ctx.lineTo(x3, y3);
+    dx = x3 - x4;
+    dy = y3 - y4;
+    this._dashOffset = -mathSqrt$6(dx * dx + dy * dy);
+  },
+  _dashedQuadraticTo: function(x1, y1, x2, y2) {
+    var x3 = x2;
+    var y3 = y2;
+    x2 = (x2 + 2 * x1) / 3;
+    y2 = (y2 + 2 * y1) / 3;
+    x1 = (this._xi + 2 * x1) / 3;
+    y1 = (this._yi + 2 * y1) / 3;
+    this._dashedBezierTo(x1, y1, x2, y2, x3, y3);
+  },
+  /**
+   * 转成静态的 Float32Array 减少堆内存占用
+   * Convert dynamic array to static Float32Array
+   */
+  toStatic: function() {
+    var data2 = this.data;
+    if (data2 instanceof Array) {
+      data2.length = this._len;
+      if (hasTypedArray$1) {
+        this.data = new Float32Array(data2);
+      }
+    }
+  },
+  /**
+   * @return {module:zrender/core/BoundingRect}
+   */
+  getBoundingRect: function() {
+    min$2[0] = min$2[1] = min2$1[0] = min2$1[1] = Number.MAX_VALUE;
+    max$2[0] = max$2[1] = max2$1[0] = max2$1[1] = -Number.MAX_VALUE;
+    var data2 = this.data;
+    var xi = 0;
+    var yi = 0;
+    var x0 = 0;
+    var y0 = 0;
+    for (var i2 = 0; i2 < data2.length; ) {
+      var cmd = data2[i2++];
+      if (i2 === 1) {
+        xi = data2[i2];
+        yi = data2[i2 + 1];
+        x0 = xi;
+        y0 = yi;
+      }
+      switch (cmd) {
+        case CMD$7.M:
+          x0 = data2[i2++];
+          y0 = data2[i2++];
+          xi = x0;
+          yi = y0;
+          min2$1[0] = x0;
+          min2$1[1] = y0;
+          max2$1[0] = x0;
+          max2$1[1] = y0;
+          break;
+        case CMD$7.L:
+          bbox.fromLine(xi, yi, data2[i2], data2[i2 + 1], min2$1, max2$1);
+          xi = data2[i2++];
+          yi = data2[i2++];
+          break;
+        case CMD$7.C:
+          bbox.fromCubic(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], min2$1, max2$1);
+          xi = data2[i2++];
+          yi = data2[i2++];
+          break;
+        case CMD$7.Q:
+          bbox.fromQuadratic(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], min2$1, max2$1);
+          xi = data2[i2++];
+          yi = data2[i2++];
+          break;
+        case CMD$7.A:
+          var cx = data2[i2++];
+          var cy = data2[i2++];
+          var rx = data2[i2++];
+          var ry = data2[i2++];
+          var startAngle = data2[i2++];
+          var endAngle = data2[i2++] + startAngle;
+          i2 += 1;
+          var anticlockwise = 1 - data2[i2++];
+          if (i2 === 1) {
+            x0 = mathCos$6(startAngle) * rx + cx;
+            y0 = mathSin$6(startAngle) * ry + cy;
+          }
+          bbox.fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2$1, max2$1);
+          xi = mathCos$6(endAngle) * rx + cx;
+          yi = mathSin$6(endAngle) * ry + cy;
+          break;
+        case CMD$7.R:
+          x0 = xi = data2[i2++];
+          y0 = yi = data2[i2++];
+          var width = data2[i2++];
+          var height = data2[i2++];
+          bbox.fromLine(x0, y0, x0 + width, y0 + height, min2$1, max2$1);
+          break;
+        case CMD$7.Z:
+          xi = x0;
+          yi = y0;
+          break;
+      }
+      vec2$1.min(min$2, min$2, min2$1);
+      vec2$1.max(max$2, max$2, max2$1);
+    }
+    if (i2 === 0) {
+      min$2[0] = min$2[1] = max$2[0] = max$2[1] = 0;
+    }
+    return new BoundingRect$5(min$2[0], min$2[1], max$2[0] - min$2[0], max$2[1] - min$2[1]);
+  },
+  /**
+   * Rebuild path from current data
+   * Rebuild path will not consider javascript implemented line dash.
+   * @param {CanvasRenderingContext2D} ctx
+   */
+  rebuildPath: function(ctx) {
+    var d2 = this.data;
+    var x0;
+    var y0;
+    var xi;
+    var yi;
+    var x2;
+    var y2;
+    var ux = this._ux;
+    var uy = this._uy;
+    var len2 = this._len;
+    for (var i2 = 0; i2 < len2; ) {
+      var cmd = d2[i2++];
+      if (i2 === 1) {
+        xi = d2[i2];
+        yi = d2[i2 + 1];
+        x0 = xi;
+        y0 = yi;
+      }
+      switch (cmd) {
+        case CMD$7.M:
+          x0 = xi = d2[i2++];
+          y0 = yi = d2[i2++];
+          ctx.moveTo(xi, yi);
+          break;
+        case CMD$7.L:
+          x2 = d2[i2++];
+          y2 = d2[i2++];
+          if (mathAbs$3(x2 - xi) > ux || mathAbs$3(y2 - yi) > uy || i2 === len2 - 1) {
+            ctx.lineTo(x2, y2);
+            xi = x2;
+            yi = y2;
+          }
+          break;
+        case CMD$7.C:
+          ctx.bezierCurveTo(d2[i2++], d2[i2++], d2[i2++], d2[i2++], d2[i2++], d2[i2++]);
+          xi = d2[i2 - 2];
+          yi = d2[i2 - 1];
+          break;
+        case CMD$7.Q:
+          ctx.quadraticCurveTo(d2[i2++], d2[i2++], d2[i2++], d2[i2++]);
+          xi = d2[i2 - 2];
+          yi = d2[i2 - 1];
+          break;
+        case CMD$7.A:
+          var cx = d2[i2++];
+          var cy = d2[i2++];
+          var rx = d2[i2++];
+          var ry = d2[i2++];
+          var theta = d2[i2++];
+          var dTheta = d2[i2++];
+          var psi = d2[i2++];
+          var fs = d2[i2++];
+          var r2 = rx > ry ? rx : ry;
+          var scaleX = rx > ry ? 1 : rx / ry;
+          var scaleY = rx > ry ? ry / rx : 1;
+          var isEllipse = Math.abs(rx - ry) > 1e-3;
+          var endAngle = theta + dTheta;
+          if (isEllipse) {
+            ctx.translate(cx, cy);
+            ctx.rotate(psi);
+            ctx.scale(scaleX, scaleY);
+            ctx.arc(0, 0, r2, theta, endAngle, 1 - fs);
+            ctx.scale(1 / scaleX, 1 / scaleY);
+            ctx.rotate(-psi);
+            ctx.translate(-cx, -cy);
+          } else {
+            ctx.arc(cx, cy, r2, theta, endAngle, 1 - fs);
+          }
+          if (i2 === 1) {
+            x0 = mathCos$6(theta) * rx + cx;
+            y0 = mathSin$6(theta) * ry + cy;
+          }
+          xi = mathCos$6(endAngle) * rx + cx;
+          yi = mathSin$6(endAngle) * ry + cy;
+          break;
+        case CMD$7.R:
+          x0 = xi = d2[i2];
+          y0 = yi = d2[i2 + 1];
+          ctx.rect(d2[i2++], d2[i2++], d2[i2++], d2[i2++]);
+          break;
+        case CMD$7.Z:
+          ctx.closePath();
+          xi = x0;
+          yi = y0;
+      }
+    }
+  }
+};
+PathProxy$6.CMD = CMD$7;
+var _default$O = PathProxy$6;
+var PathProxy_1 = _default$O;
+var path = {};
+var line$2 = {};
+function containStroke$9(x0, y0, x1, y1, lineWidth, x2, y2) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  var _a2 = 0;
+  var _b2 = x0;
+  if (y2 > y0 + _l && y2 > y1 + _l || y2 < y0 - _l && y2 < y1 - _l || x2 > x0 + _l && x2 > x1 + _l || x2 < x0 - _l && x2 < x1 - _l) {
+    return false;
+  }
+  if (x0 !== x1) {
+    _a2 = (y0 - y1) / (x0 - x1);
+    _b2 = (x0 * y1 - x1 * y0) / (x0 - x1);
+  } else {
+    return Math.abs(x2 - x0) <= _l / 2;
+  }
+  var tmp = _a2 * x2 - y2 + _b2;
+  var _s = tmp * tmp / (_a2 * _a2 + 1);
+  return _s <= _l / 2 * _l / 2;
+}
+line$2.containStroke = containStroke$9;
+var cubic$1 = {};
+var curve$1 = curve$3;
+function containStroke$8(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x4, y4) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  if (y4 > y0 + _l && y4 > y1 + _l && y4 > y2 + _l && y4 > y3 + _l || y4 < y0 - _l && y4 < y1 - _l && y4 < y2 - _l && y4 < y3 - _l || x4 > x0 + _l && x4 > x1 + _l && x4 > x2 + _l && x4 > x3 + _l || x4 < x0 - _l && x4 < x1 - _l && x4 < x2 - _l && x4 < x3 - _l) {
+    return false;
+  }
+  var d2 = curve$1.cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x4, y4, null);
+  return d2 <= _l / 2;
+}
+cubic$1.containStroke = containStroke$8;
+var quadratic$1 = {};
+var _curve$1 = curve$3;
+var quadraticProjectPoint$1 = _curve$1.quadraticProjectPoint;
+function containStroke$7(x0, y0, x1, y1, x2, y2, lineWidth, x3, y3) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  if (y3 > y0 + _l && y3 > y1 + _l && y3 > y2 + _l || y3 < y0 - _l && y3 < y1 - _l && y3 < y2 - _l || x3 > x0 + _l && x3 > x1 + _l && x3 > x2 + _l || x3 < x0 - _l && x3 < x1 - _l && x3 < x2 - _l) {
+    return false;
+  }
+  var d2 = quadraticProjectPoint$1(x0, y0, x1, y1, x2, y2, x3, y3, null);
+  return d2 <= _l / 2;
+}
+quadratic$1.containStroke = containStroke$7;
+var arc$1 = {};
+var util$4 = {};
+var PI2$b = Math.PI * 2;
+function normalizeRadian$3(angle) {
+  angle %= PI2$b;
+  if (angle < 0) {
+    angle += PI2$b;
+  }
+  return angle;
+}
+util$4.normalizeRadian = normalizeRadian$3;
+var _util$c = util$4;
+var normalizeRadian$2 = _util$c.normalizeRadian;
+var PI2$a = Math.PI * 2;
+function containStroke$6(cx, cy, r2, startAngle, endAngle, anticlockwise, lineWidth, x2, y2) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  x2 -= cx;
+  y2 -= cy;
+  var d2 = Math.sqrt(x2 * x2 + y2 * y2);
+  if (d2 - _l > r2 || d2 + _l < r2) {
+    return false;
+  }
+  if (Math.abs(startAngle - endAngle) % PI2$a < 1e-4) {
+    return true;
+  }
+  if (anticlockwise) {
+    var tmp = startAngle;
+    startAngle = normalizeRadian$2(endAngle);
+    endAngle = normalizeRadian$2(tmp);
+  } else {
+    startAngle = normalizeRadian$2(startAngle);
+    endAngle = normalizeRadian$2(endAngle);
+  }
+  if (startAngle > endAngle) {
+    endAngle += PI2$a;
+  }
+  var angle = Math.atan2(y2, x2);
+  if (angle < 0) {
+    angle += PI2$a;
+  }
+  return angle >= startAngle && angle <= endAngle || angle + PI2$a >= startAngle && angle + PI2$a <= endAngle;
+}
+arc$1.containStroke = containStroke$6;
+function windingLine$2(x0, y0, x1, y1, x2, y2) {
+  if (y2 > y0 && y2 > y1 || y2 < y0 && y2 < y1) {
+    return 0;
+  }
+  if (y1 === y0) {
+    return 0;
+  }
+  var dir3 = y1 < y0 ? 1 : -1;
+  var t2 = (y2 - y0) / (y1 - y0);
+  if (t2 === 1 || t2 === 0) {
+    dir3 = y1 < y0 ? 0.5 : -0.5;
+  }
+  var x_ = t2 * (x1 - x0) + x0;
+  return x_ === x2 ? Infinity : x_ > x2 ? dir3 : 0;
+}
+var windingLine_1 = windingLine$2;
+var PathProxy$5 = PathProxy_1;
+var line$1 = line$2;
+var cubic = cubic$1;
+var quadratic = quadratic$1;
+var arc = arc$1;
+var _util$b = util$4;
+var normalizeRadian$1 = _util$b.normalizeRadian;
+var curve = curve$3;
+var windingLine$1 = windingLine_1;
+var CMD$6 = PathProxy$5.CMD;
+var PI2$9 = Math.PI * 2;
+var EPSILON$5 = 1e-4;
+function isAroundEqual$2(a2, b2) {
+  return Math.abs(a2 - b2) < EPSILON$5;
+}
+var roots$1 = [-1, -1, -1];
+var extrema$1 = [-1, -1];
+function swapExtrema$1() {
+  var tmp = extrema$1[0];
+  extrema$1[0] = extrema$1[1];
+  extrema$1[1] = tmp;
+}
+function windingCubic$1(x0, y0, x1, y1, x2, y2, x3, y3, x4, y4) {
+  if (y4 > y0 && y4 > y1 && y4 > y2 && y4 > y3 || y4 < y0 && y4 < y1 && y4 < y2 && y4 < y3) {
+    return 0;
+  }
+  var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y4, roots$1);
+  if (nRoots === 0) {
+    return 0;
+  } else {
+    var w2 = 0;
+    var nExtrema = -1;
+    var y0_;
+    var y1_;
+    for (var i2 = 0; i2 < nRoots; i2++) {
+      var t2 = roots$1[i2];
+      var unit = t2 === 0 || t2 === 1 ? 0.5 : 1;
+      var x_ = curve.cubicAt(x0, x1, x2, x3, t2);
+      if (x_ < x4) {
+        continue;
+      }
+      if (nExtrema < 0) {
+        nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema$1);
+        if (extrema$1[1] < extrema$1[0] && nExtrema > 1) {
+          swapExtrema$1();
+        }
+        y0_ = curve.cubicAt(y0, y1, y2, y3, extrema$1[0]);
+        if (nExtrema > 1) {
+          y1_ = curve.cubicAt(y0, y1, y2, y3, extrema$1[1]);
+        }
+      }
+      if (nExtrema === 2) {
+        if (t2 < extrema$1[0]) {
+          w2 += y0_ < y0 ? unit : -unit;
+        } else if (t2 < extrema$1[1]) {
+          w2 += y1_ < y0_ ? unit : -unit;
+        } else {
+          w2 += y3 < y1_ ? unit : -unit;
+        }
+      } else {
+        if (t2 < extrema$1[0]) {
+          w2 += y0_ < y0 ? unit : -unit;
+        } else {
+          w2 += y3 < y0_ ? unit : -unit;
+        }
+      }
+    }
+    return w2;
+  }
+}
+function windingQuadratic$1(x0, y0, x1, y1, x2, y2, x3, y3) {
+  if (y3 > y0 && y3 > y1 && y3 > y2 || y3 < y0 && y3 < y1 && y3 < y2) {
+    return 0;
+  }
+  var nRoots = curve.quadraticRootAt(y0, y1, y2, y3, roots$1);
+  if (nRoots === 0) {
+    return 0;
+  } else {
+    var t2 = curve.quadraticExtremum(y0, y1, y2);
+    if (t2 >= 0 && t2 <= 1) {
+      var w2 = 0;
+      var y_ = curve.quadraticAt(y0, y1, y2, t2);
+      for (var i2 = 0; i2 < nRoots; i2++) {
+        var unit = roots$1[i2] === 0 || roots$1[i2] === 1 ? 0.5 : 1;
+        var x_ = curve.quadraticAt(x0, x1, x2, roots$1[i2]);
+        if (x_ < x3) {
+          continue;
+        }
+        if (roots$1[i2] < t2) {
+          w2 += y_ < y0 ? unit : -unit;
+        } else {
+          w2 += y2 < y_ ? unit : -unit;
+        }
+      }
+      return w2;
+    } else {
+      var unit = roots$1[0] === 0 || roots$1[0] === 1 ? 0.5 : 1;
+      var x_ = curve.quadraticAt(x0, x1, x2, roots$1[0]);
+      if (x_ < x3) {
+        return 0;
+      }
+      return y2 < y0 ? unit : -unit;
+    }
+  }
+}
+function windingArc$1(cx, cy, r2, startAngle, endAngle, anticlockwise, x2, y2) {
+  y2 -= cy;
+  if (y2 > r2 || y2 < -r2) {
+    return 0;
+  }
+  var tmp = Math.sqrt(r2 * r2 - y2 * y2);
+  roots$1[0] = -tmp;
+  roots$1[1] = tmp;
+  var diff = Math.abs(startAngle - endAngle);
+  if (diff < 1e-4) {
+    return 0;
+  }
+  if (diff % PI2$9 < 1e-4) {
+    startAngle = 0;
+    endAngle = PI2$9;
+    var dir3 = anticlockwise ? 1 : -1;
+    if (x2 >= roots$1[0] + cx && x2 <= roots$1[1] + cx) {
+      return dir3;
+    } else {
+      return 0;
+    }
+  }
+  if (anticlockwise) {
+    var tmp = startAngle;
+    startAngle = normalizeRadian$1(endAngle);
+    endAngle = normalizeRadian$1(tmp);
+  } else {
+    startAngle = normalizeRadian$1(startAngle);
+    endAngle = normalizeRadian$1(endAngle);
+  }
+  if (startAngle > endAngle) {
+    endAngle += PI2$9;
+  }
+  var w2 = 0;
+  for (var i2 = 0; i2 < 2; i2++) {
+    var x_ = roots$1[i2];
+    if (x_ + cx > x2) {
+      var angle = Math.atan2(y2, x_);
+      var dir3 = anticlockwise ? 1 : -1;
+      if (angle < 0) {
+        angle = PI2$9 + angle;
+      }
+      if (angle >= startAngle && angle <= endAngle || angle + PI2$9 >= startAngle && angle + PI2$9 <= endAngle) {
+        if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {
+          dir3 = -dir3;
+        }
+        w2 += dir3;
+      }
+    }
+  }
+  return w2;
+}
+function containPath$1(data2, lineWidth, isStroke, x2, y2) {
+  var w2 = 0;
+  var xi = 0;
+  var yi = 0;
+  var x0 = 0;
+  var y0 = 0;
+  for (var i2 = 0; i2 < data2.length; ) {
+    var cmd = data2[i2++];
+    if (cmd === CMD$6.M && i2 > 1) {
+      if (!isStroke) {
+        w2 += windingLine$1(xi, yi, x0, y0, x2, y2);
+      }
+    }
+    if (i2 === 1) {
+      xi = data2[i2];
+      yi = data2[i2 + 1];
+      x0 = xi;
+      y0 = yi;
+    }
+    switch (cmd) {
+      case CMD$6.M:
+        x0 = data2[i2++];
+        y0 = data2[i2++];
+        xi = x0;
+        yi = y0;
+        break;
+      case CMD$6.L:
+        if (isStroke) {
+          if (line$1.containStroke(xi, yi, data2[i2], data2[i2 + 1], lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingLine$1(xi, yi, data2[i2], data2[i2 + 1], x2, y2) || 0;
+        }
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$6.C:
+        if (isStroke) {
+          if (cubic.containStroke(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingCubic$1(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], x2, y2) || 0;
+        }
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$6.Q:
+        if (isStroke) {
+          if (quadratic.containStroke(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingQuadratic$1(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], x2, y2) || 0;
+        }
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$6.A:
+        var cx = data2[i2++];
+        var cy = data2[i2++];
+        var rx = data2[i2++];
+        var ry = data2[i2++];
+        var theta = data2[i2++];
+        var dTheta = data2[i2++];
+        i2 += 1;
+        var anticlockwise = 1 - data2[i2++];
+        var x1 = Math.cos(theta) * rx + cx;
+        var y1 = Math.sin(theta) * ry + cy;
+        if (i2 > 1) {
+          w2 += windingLine$1(xi, yi, x1, y1, x2, y2);
+        } else {
+          x0 = x1;
+          y0 = y1;
+        }
+        var _x = (x2 - cx) * ry / rx + cx;
+        if (isStroke) {
+          if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingArc$1(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y2);
+        }
+        xi = Math.cos(theta + dTheta) * rx + cx;
+        yi = Math.sin(theta + dTheta) * ry + cy;
+        break;
+      case CMD$6.R:
+        x0 = xi = data2[i2++];
+        y0 = yi = data2[i2++];
+        var width = data2[i2++];
+        var height = data2[i2++];
+        var x1 = x0 + width;
+        var y1 = y0 + height;
+        if (isStroke) {
+          if (line$1.containStroke(x0, y0, x1, y0, lineWidth, x2, y2) || line$1.containStroke(x1, y0, x1, y1, lineWidth, x2, y2) || line$1.containStroke(x1, y1, x0, y1, lineWidth, x2, y2) || line$1.containStroke(x0, y1, x0, y0, lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingLine$1(x1, y0, x1, y1, x2, y2);
+          w2 += windingLine$1(x0, y1, x0, y0, x2, y2);
+        }
+        break;
+      case CMD$6.Z:
+        if (isStroke) {
+          if (line$1.containStroke(xi, yi, x0, y0, lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingLine$1(xi, yi, x0, y0, x2, y2);
+        }
+        xi = x0;
+        yi = y0;
+        break;
+    }
+  }
+  if (!isStroke && !isAroundEqual$2(yi, y0)) {
+    w2 += windingLine$1(xi, yi, x0, y0, x2, y2) || 0;
+  }
+  return w2 !== 0;
+}
+function contain$3(pathData, x2, y2) {
+  return containPath$1(pathData, 0, false, x2, y2);
+}
+function containStroke$5(pathData, lineWidth, x2, y2) {
+  return containPath$1(pathData, lineWidth, true, x2, y2);
+}
+path.contain = contain$3;
+path.containStroke = containStroke$5;
+var Displayable$3 = Displayable_1;
+var zrUtil$g = util$a;
+var PathProxy$4 = PathProxy_1;
+var pathContain = path;
+var Pattern = Pattern_1;
+var getCanvasPattern = Pattern.prototype.getCanvasPattern;
+var abs$1 = Math.abs;
+var pathProxyForDraw$1 = new PathProxy$4(true);
+function Path$g(opts2) {
+  Displayable$3.call(this, opts2);
+  this.path = null;
+}
+Path$g.prototype = {
+  constructor: Path$g,
+  type: "path",
+  __dirtyPath: true,
+  strokeContainThreshold: 5,
+  // This item default to be false. But in map series in echarts,
+  // in order to improve performance, it should be set to true,
+  // so the shorty segment won't draw.
+  segmentIgnoreThreshold: 0,
+  /**
+   * See `module:zrender/src/graphic/helper/subPixelOptimize`.
+   * @type {boolean}
+   */
+  subPixelOptimize: false,
+  brush: function(ctx, prevEl) {
+    var style2 = this.style;
+    var path2 = this.path || pathProxyForDraw$1;
+    var hasStroke = style2.hasStroke();
+    var hasFill = style2.hasFill();
+    var fill = style2.fill;
+    var stroke = style2.stroke;
+    var hasFillGradient = hasFill && !!fill.colorStops;
+    var hasStrokeGradient = hasStroke && !!stroke.colorStops;
+    var hasFillPattern = hasFill && !!fill.image;
+    var hasStrokePattern = hasStroke && !!stroke.image;
+    style2.bind(ctx, this, prevEl);
+    this.setTransform(ctx);
+    if (this.__dirty) {
+      var rect;
+      if (hasFillGradient) {
+        rect = rect || this.getBoundingRect();
+        this._fillGradient = style2.getGradient(ctx, fill, rect);
+      }
+      if (hasStrokeGradient) {
+        rect = rect || this.getBoundingRect();
+        this._strokeGradient = style2.getGradient(ctx, stroke, rect);
+      }
+    }
+    if (hasFillGradient) {
+      ctx.fillStyle = this._fillGradient;
+    } else if (hasFillPattern) {
+      ctx.fillStyle = getCanvasPattern.call(fill, ctx);
+    }
+    if (hasStrokeGradient) {
+      ctx.strokeStyle = this._strokeGradient;
+    } else if (hasStrokePattern) {
+      ctx.strokeStyle = getCanvasPattern.call(stroke, ctx);
+    }
+    var lineDash = style2.lineDash;
+    var lineDashOffset = style2.lineDashOffset;
+    var ctxLineDash = !!ctx.setLineDash;
+    var scale2 = this.getGlobalScale();
+    path2.setScale(scale2[0], scale2[1], this.segmentIgnoreThreshold);
+    if (this.__dirtyPath || lineDash && !ctxLineDash && hasStroke) {
+      path2.beginPath(ctx);
+      if (lineDash && !ctxLineDash) {
+        path2.setLineDash(lineDash);
+        path2.setLineDashOffset(lineDashOffset);
+      }
+      this.buildPath(path2, this.shape, false);
+      if (this.path) {
+        this.__dirtyPath = false;
+      }
+    } else {
+      ctx.beginPath();
+      this.path.rebuildPath(ctx);
+    }
+    if (hasFill) {
+      if (style2.fillOpacity != null) {
+        var originalGlobalAlpha = ctx.globalAlpha;
+        ctx.globalAlpha = style2.fillOpacity * style2.opacity;
+        path2.fill(ctx);
+        ctx.globalAlpha = originalGlobalAlpha;
+      } else {
+        path2.fill(ctx);
+      }
+    }
+    if (lineDash && ctxLineDash) {
+      ctx.setLineDash(lineDash);
+      ctx.lineDashOffset = lineDashOffset;
+    }
+    if (hasStroke) {
+      if (style2.strokeOpacity != null) {
+        var originalGlobalAlpha = ctx.globalAlpha;
+        ctx.globalAlpha = style2.strokeOpacity * style2.opacity;
+        path2.stroke(ctx);
+        ctx.globalAlpha = originalGlobalAlpha;
+      } else {
+        path2.stroke(ctx);
+      }
+    }
+    if (lineDash && ctxLineDash) {
+      ctx.setLineDash([]);
+    }
+    if (style2.text != null) {
+      this.restoreTransform(ctx);
+      this.drawRectText(ctx, this.getBoundingRect());
+    }
+  },
+  // When bundling path, some shape may decide if use moveTo to begin a new subpath or closePath
+  // Like in circle
+  buildPath: function(ctx, shapeCfg, inBundle) {
+  },
+  createPathProxy: function() {
+    this.path = new PathProxy$4();
+  },
+  getBoundingRect: function() {
+    var rect = this._rect;
+    var style2 = this.style;
+    var needsUpdateRect = !rect;
+    if (needsUpdateRect) {
+      var path2 = this.path;
+      if (!path2) {
+        path2 = this.path = new PathProxy$4();
+      }
+      if (this.__dirtyPath) {
+        path2.beginPath();
+        this.buildPath(path2, this.shape, false);
+      }
+      rect = path2.getBoundingRect();
+    }
+    this._rect = rect;
+    if (style2.hasStroke()) {
+      var rectWithStroke = this._rectWithStroke || (this._rectWithStroke = rect.clone());
+      if (this.__dirty || needsUpdateRect) {
+        rectWithStroke.copy(rect);
+        var w2 = style2.lineWidth;
+        var lineScale = style2.strokeNoScale ? this.getLineScale() : 1;
+        if (!style2.hasFill()) {
+          w2 = Math.max(w2, this.strokeContainThreshold || 4);
+        }
+        if (lineScale > 1e-10) {
+          rectWithStroke.width += w2 / lineScale;
+          rectWithStroke.height += w2 / lineScale;
+          rectWithStroke.x -= w2 / lineScale / 2;
+          rectWithStroke.y -= w2 / lineScale / 2;
+        }
+      }
+      return rectWithStroke;
+    }
+    return rect;
+  },
+  contain: function(x2, y2) {
+    var localPos = this.transformCoordToLocal(x2, y2);
+    var rect = this.getBoundingRect();
+    var style2 = this.style;
+    x2 = localPos[0];
+    y2 = localPos[1];
+    if (rect.contain(x2, y2)) {
+      var pathData = this.path.data;
+      if (style2.hasStroke()) {
+        var lineWidth = style2.lineWidth;
+        var lineScale = style2.strokeNoScale ? this.getLineScale() : 1;
+        if (lineScale > 1e-10) {
+          if (!style2.hasFill()) {
+            lineWidth = Math.max(lineWidth, this.strokeContainThreshold);
+          }
+          if (pathContain.containStroke(pathData, lineWidth / lineScale, x2, y2)) {
+            return true;
+          }
+        }
+      }
+      if (style2.hasFill()) {
+        return pathContain.contain(pathData, x2, y2);
+      }
+    }
+    return false;
+  },
+  /**
+   * @param  {boolean} dirtyPath
+   */
+  dirty: function(dirtyPath) {
+    if (dirtyPath == null) {
+      dirtyPath = true;
+    }
+    if (dirtyPath) {
+      this.__dirtyPath = dirtyPath;
+      this._rect = null;
+    }
+    this.__dirty = this.__dirtyText = true;
+    this.__zr && this.__zr.refresh();
+    if (this.__clipTarget) {
+      this.__clipTarget.dirty();
+    }
+  },
+  /**
+   * Alias for animate('shape')
+   * @param {boolean} loop
+   */
+  animateShape: function(loop) {
+    return this.animate("shape", loop);
+  },
+  // Overwrite attrKV
+  attrKV: function(key2, value) {
+    if (key2 === "shape") {
+      this.setShape(value);
+      this.__dirtyPath = true;
+      this._rect = null;
+    } else {
+      Displayable$3.prototype.attrKV.call(this, key2, value);
+    }
+  },
+  /**
+   * @param {Object|string} key
+   * @param {*} value
+   */
+  setShape: function(key2, value) {
+    var shape = this.shape;
+    if (shape) {
+      if (zrUtil$g.isObject(key2)) {
+        for (var name2 in key2) {
+          if (key2.hasOwnProperty(name2)) {
+            shape[name2] = key2[name2];
+          }
+        }
+      } else {
+        shape[key2] = value;
+      }
+      this.dirty(true);
+    }
+    return this;
+  },
+  getLineScale: function() {
+    var m2 = this.transform;
+    return m2 && abs$1(m2[0] - 1) > 1e-10 && abs$1(m2[3] - 1) > 1e-10 ? Math.sqrt(abs$1(m2[0] * m2[3] - m2[2] * m2[1])) : 1;
+  }
+};
+Path$g.extend = function(defaults2) {
+  var Sub = function(opts2) {
+    Path$g.call(this, opts2);
+    if (defaults2.style) {
+      this.style.extendFrom(defaults2.style, false);
+    }
+    var defaultShape = defaults2.shape;
+    if (defaultShape) {
+      this.shape = this.shape || {};
+      var thisShape = this.shape;
+      for (var name3 in defaultShape) {
+        if (!thisShape.hasOwnProperty(name3) && defaultShape.hasOwnProperty(name3)) {
+          thisShape[name3] = defaultShape[name3];
+        }
+      }
+    }
+    defaults2.init && defaults2.init.call(this, opts2);
+  };
+  zrUtil$g.inherits(Sub, Path$g);
+  for (var name2 in defaults2) {
+    if (name2 !== "style" && name2 !== "shape") {
+      Sub.prototype[name2] = defaults2[name2];
+    }
+  }
+  return Sub;
+};
+zrUtil$g.inherits(Path$g, Displayable$3);
+var _default$N = Path$g;
+var Path_1 = _default$N;
+var PathProxy$3 = PathProxy_1;
+var _vector$2 = vector$3;
+var v2ApplyTransform$1 = _vector$2.applyTransform;
+var CMD$5 = PathProxy$3.CMD;
+var points$4 = [[], [], []];
+var mathSqrt$5 = Math.sqrt;
+var mathAtan2$1 = Math.atan2;
+function _default$M(path2, m2) {
+  var data2 = path2.data;
+  var cmd;
+  var nPoint;
+  var i2;
+  var j2;
+  var k2;
+  var p2;
+  var M2 = CMD$5.M;
+  var C2 = CMD$5.C;
+  var L2 = CMD$5.L;
+  var R2 = CMD$5.R;
+  var A2 = CMD$5.A;
+  var Q2 = CMD$5.Q;
+  for (i2 = 0, j2 = 0; i2 < data2.length; ) {
+    cmd = data2[i2++];
+    j2 = i2;
+    nPoint = 0;
+    switch (cmd) {
+      case M2:
+        nPoint = 1;
+        break;
+      case L2:
+        nPoint = 1;
+        break;
+      case C2:
+        nPoint = 3;
+        break;
+      case Q2:
+        nPoint = 2;
+        break;
+      case A2:
+        var x2 = m2[4];
+        var y2 = m2[5];
+        var sx = mathSqrt$5(m2[0] * m2[0] + m2[1] * m2[1]);
+        var sy = mathSqrt$5(m2[2] * m2[2] + m2[3] * m2[3]);
+        var angle = mathAtan2$1(-m2[1] / sy, m2[0] / sx);
+        data2[i2] *= sx;
+        data2[i2++] += x2;
+        data2[i2] *= sy;
+        data2[i2++] += y2;
+        data2[i2++] *= sx;
+        data2[i2++] *= sy;
+        data2[i2++] += angle;
+        data2[i2++] += angle;
+        i2 += 2;
+        j2 = i2;
+        break;
+      case R2:
+        p2[0] = data2[i2++];
+        p2[1] = data2[i2++];
+        v2ApplyTransform$1(p2, p2, m2);
+        data2[j2++] = p2[0];
+        data2[j2++] = p2[1];
+        p2[0] += data2[i2++];
+        p2[1] += data2[i2++];
+        v2ApplyTransform$1(p2, p2, m2);
+        data2[j2++] = p2[0];
+        data2[j2++] = p2[1];
+    }
+    for (k2 = 0; k2 < nPoint; k2++) {
+      var p2 = points$4[k2];
+      p2[0] = data2[i2++];
+      p2[1] = data2[i2++];
+      v2ApplyTransform$1(p2, p2, m2);
+      data2[j2++] = p2[0];
+      data2[j2++] = p2[1];
+    }
+  }
+}
+var transformPath$2 = _default$M;
+var Path$f = Path_1;
+var PathProxy$2 = PathProxy_1;
+var transformPath$1 = transformPath$2;
+var mathSqrt$4 = Math.sqrt;
+var mathSin$5 = Math.sin;
+var mathCos$5 = Math.cos;
+var PI$a = Math.PI;
+var vMag$1 = function(v4) {
+  return Math.sqrt(v4[0] * v4[0] + v4[1] * v4[1]);
+};
+var vRatio$1 = function(u2, v4) {
+  return (u2[0] * v4[0] + u2[1] * v4[1]) / (vMag$1(u2) * vMag$1(v4));
+};
+var vAngle$1 = function(u2, v4) {
+  return (u2[0] * v4[1] < u2[1] * v4[0] ? -1 : 1) * Math.acos(vRatio$1(u2, v4));
+};
+function processArc$1(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path2) {
+  var psi = psiDeg * (PI$a / 180);
+  var xp = mathCos$5(psi) * (x1 - x2) / 2 + mathSin$5(psi) * (y1 - y2) / 2;
+  var yp = -1 * mathSin$5(psi) * (x1 - x2) / 2 + mathCos$5(psi) * (y1 - y2) / 2;
+  var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);
+  if (lambda > 1) {
+    rx *= mathSqrt$4(lambda);
+    ry *= mathSqrt$4(lambda);
+  }
+  var f2 = (fa === fs ? -1 : 1) * mathSqrt$4((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;
+  var cxp = f2 * rx * yp / ry;
+  var cyp = f2 * -ry * xp / rx;
+  var cx = (x1 + x2) / 2 + mathCos$5(psi) * cxp - mathSin$5(psi) * cyp;
+  var cy = (y1 + y2) / 2 + mathSin$5(psi) * cxp + mathCos$5(psi) * cyp;
+  var theta = vAngle$1([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);
+  var u2 = [(xp - cxp) / rx, (yp - cyp) / ry];
+  var v4 = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];
+  var dTheta = vAngle$1(u2, v4);
+  if (vRatio$1(u2, v4) <= -1) {
+    dTheta = PI$a;
+  }
+  if (vRatio$1(u2, v4) >= 1) {
+    dTheta = 0;
+  }
+  if (fs === 0 && dTheta > 0) {
+    dTheta = dTheta - 2 * PI$a;
+  }
+  if (fs === 1 && dTheta < 0) {
+    dTheta = dTheta + 2 * PI$a;
+  }
+  path2.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);
+}
+var commandReg$1 = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig;
+var numberReg$2 = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;
+function createPathProxyFromString$1(data2) {
+  if (!data2) {
+    return new PathProxy$2();
+  }
+  var cpx = 0;
+  var cpy = 0;
+  var subpathX = cpx;
+  var subpathY = cpy;
+  var prevCmd;
+  var path2 = new PathProxy$2();
+  var CMD2 = PathProxy$2.CMD;
+  var cmdList = data2.match(commandReg$1);
+  for (var l2 = 0; l2 < cmdList.length; l2++) {
+    var cmdText = cmdList[l2];
+    var cmdStr = cmdText.charAt(0);
+    var cmd;
+    var p2 = cmdText.match(numberReg$2) || [];
+    var pLen = p2.length;
+    for (var i2 = 0; i2 < pLen; i2++) {
+      p2[i2] = parseFloat(p2[i2]);
+    }
+    var off2 = 0;
+    while (off2 < pLen) {
+      var ctlPtx;
+      var ctlPty;
+      var rx;
+      var ry;
+      var psi;
+      var fa;
+      var fs;
+      var x1 = cpx;
+      var y1 = cpy;
+      switch (cmdStr) {
+        case "l":
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "L":
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "m":
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.M;
+          path2.addData(cmd, cpx, cpy);
+          subpathX = cpx;
+          subpathY = cpy;
+          cmdStr = "l";
+          break;
+        case "M":
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.M;
+          path2.addData(cmd, cpx, cpy);
+          subpathX = cpx;
+          subpathY = cpy;
+          cmdStr = "L";
+          break;
+        case "h":
+          cpx += p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "H":
+          cpx = p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "v":
+          cpy += p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "V":
+          cpy = p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "C":
+          cmd = CMD2.C;
+          path2.addData(cmd, p2[off2++], p2[off2++], p2[off2++], p2[off2++], p2[off2++], p2[off2++]);
+          cpx = p2[off2 - 2];
+          cpy = p2[off2 - 1];
+          break;
+        case "c":
+          cmd = CMD2.C;
+          path2.addData(cmd, p2[off2++] + cpx, p2[off2++] + cpy, p2[off2++] + cpx, p2[off2++] + cpy, p2[off2++] + cpx, p2[off2++] + cpy);
+          cpx += p2[off2 - 2];
+          cpy += p2[off2 - 1];
+          break;
+        case "S":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          var len2 = path2.len();
+          var pathData = path2.data;
+          if (prevCmd === CMD2.C) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cmd = CMD2.C;
+          x1 = p2[off2++];
+          y1 = p2[off2++];
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          path2.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
+          break;
+        case "s":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          var len2 = path2.len();
+          var pathData = path2.data;
+          if (prevCmd === CMD2.C) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cmd = CMD2.C;
+          x1 = cpx + p2[off2++];
+          y1 = cpy + p2[off2++];
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          path2.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
+          break;
+        case "Q":
+          x1 = p2[off2++];
+          y1 = p2[off2++];
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, x1, y1, cpx, cpy);
+          break;
+        case "q":
+          x1 = p2[off2++] + cpx;
+          y1 = p2[off2++] + cpy;
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, x1, y1, cpx, cpy);
+          break;
+        case "T":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          var len2 = path2.len();
+          var pathData = path2.data;
+          if (prevCmd === CMD2.Q) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
+          break;
+        case "t":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          var len2 = path2.len();
+          var pathData = path2.data;
+          if (prevCmd === CMD2.Q) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
+          break;
+        case "A":
+          rx = p2[off2++];
+          ry = p2[off2++];
+          psi = p2[off2++];
+          fa = p2[off2++];
+          fs = p2[off2++];
+          x1 = cpx, y1 = cpy;
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.A;
+          processArc$1(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path2);
+          break;
+        case "a":
+          rx = p2[off2++];
+          ry = p2[off2++];
+          psi = p2[off2++];
+          fa = p2[off2++];
+          fs = p2[off2++];
+          x1 = cpx, y1 = cpy;
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.A;
+          processArc$1(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path2);
+          break;
+      }
+    }
+    if (cmdStr === "z" || cmdStr === "Z") {
+      cmd = CMD2.Z;
+      path2.addData(cmd);
+      cpx = subpathX;
+      cpy = subpathY;
+    }
+    prevCmd = cmd;
+  }
+  path2.toStatic();
+  return path2;
+}
+function createPathOptions$1(str, opts2) {
+  var pathProxy = createPathProxyFromString$1(str);
+  opts2 = opts2 || {};
+  opts2.buildPath = function(path2) {
+    if (path2.setData) {
+      path2.setData(pathProxy.data);
+      var ctx = path2.getContext();
+      if (ctx) {
+        path2.rebuildPath(ctx);
+      }
+    } else {
+      var ctx = path2;
+      pathProxy.rebuildPath(ctx);
+    }
+  };
+  opts2.applyTransform = function(m2) {
+    transformPath$1(pathProxy, m2);
+    this.dirty(true);
+  };
+  return opts2;
+}
+function createFromString$2(str, opts2) {
+  return new Path$f(createPathOptions$1(str, opts2));
+}
+function extendFromString$1(str, opts2) {
+  return Path$f.extend(createPathOptions$1(str, opts2));
+}
+function mergePath$3(pathEls, opts2) {
+  var pathList = [];
+  var len2 = pathEls.length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    var pathEl = pathEls[i2];
+    if (!pathEl.path) {
+      pathEl.createPathProxy();
+    }
+    if (pathEl.__dirtyPath) {
+      pathEl.buildPath(pathEl.path, pathEl.shape, true);
+    }
+    pathList.push(pathEl.path);
+  }
+  var pathBundle = new Path$f(opts2);
+  pathBundle.createPathProxy();
+  pathBundle.buildPath = function(path2) {
+    path2.appendPath(pathList);
+    var ctx = path2.getContext();
+    if (ctx) {
+      path2.rebuildPath(ctx);
+    }
+  };
+  return pathBundle;
+}
+path$1.createFromString = createFromString$2;
+path$1.extendFromString = extendFromString$1;
+path$1.mergePath = mergePath$3;
+var Displayable$2 = Displayable_1;
+var zrUtil$f = util$a;
+var textContain$3 = text;
+var textHelper = text$1;
+var _constant = constant;
+var ContextCachedBy = _constant.ContextCachedBy;
+var Text$3 = function(opts2) {
+  Displayable$2.call(this, opts2);
+};
+Text$3.prototype = {
+  constructor: Text$3,
+  type: "text",
+  brush: function(ctx, prevEl) {
+    var style2 = this.style;
+    this.__dirty && textHelper.normalizeTextStyle(style2, true);
+    style2.fill = style2.stroke = style2.shadowBlur = style2.shadowColor = style2.shadowOffsetX = style2.shadowOffsetY = null;
+    var text2 = style2.text;
+    text2 != null && (text2 += "");
+    if (!textHelper.needDrawText(text2, style2)) {
+      ctx.__attrCachedBy = ContextCachedBy.NONE;
+      return;
+    }
+    this.setTransform(ctx);
+    textHelper.renderText(this, ctx, text2, style2, null, prevEl);
+    this.restoreTransform(ctx);
+  },
+  getBoundingRect: function() {
+    var style2 = this.style;
+    this.__dirty && textHelper.normalizeTextStyle(style2, true);
+    if (!this._rect) {
+      style2.text;
+      var rect = textContain$3.getBoundingRect(style2.text + "", style2.font, style2.textAlign, style2.textVerticalAlign, style2.textPadding, style2.textLineHeight, style2.rich);
+      rect.x += style2.x || 0;
+      rect.y += style2.y || 0;
+      if (textHelper.getStroke(style2.textStroke, style2.textStrokeWidth)) {
+        var w2 = style2.textStrokeWidth;
+        rect.x -= w2 / 2;
+        rect.y -= w2 / 2;
+        rect.width += w2;
+        rect.height += w2;
+      }
+      this._rect = rect;
+    }
+    return this._rect;
+  }
+};
+zrUtil$f.inherits(Text$3, Displayable$2);
+var _default$L = Text$3;
+var Text_1 = _default$L;
+var Path$e = Path_1;
+var _default$K = Path$e.extend({
+  type: "circle",
+  shape: {
+    cx: 0,
+    cy: 0,
+    r: 0
+  },
+  buildPath: function(ctx, shape, inBundle) {
+    if (inBundle) {
+      ctx.moveTo(shape.cx + shape.r, shape.cy);
+    }
+    ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);
+  }
+});
+var Circle$4 = _default$K;
+var env$4 = env_1;
+var shadowTemp = [["shadowBlur", 0], ["shadowColor", "#000"], ["shadowOffsetX", 0], ["shadowOffsetY", 0]];
+function _default$J(orignalBrush) {
+  return env$4.browser.ie && env$4.browser.version >= 11 ? function() {
+    var clipPaths = this.__clipPaths;
+    var style2 = this.style;
+    var modified;
+    if (clipPaths) {
+      for (var i2 = 0; i2 < clipPaths.length; i2++) {
+        var clipPath = clipPaths[i2];
+        var shape = clipPath && clipPath.shape;
+        var type2 = clipPath && clipPath.type;
+        if (shape && (type2 === "sector" && shape.startAngle === shape.endAngle || type2 === "rect" && (!shape.width || !shape.height))) {
+          for (var j2 = 0; j2 < shadowTemp.length; j2++) {
+            shadowTemp[j2][2] = style2[shadowTemp[j2][0]];
+            style2[shadowTemp[j2][0]] = shadowTemp[j2][1];
+          }
+          modified = true;
+          break;
+        }
+      }
+    }
+    orignalBrush.apply(this, arguments);
+    if (modified) {
+      for (var j2 = 0; j2 < shadowTemp.length; j2++) {
+        style2[shadowTemp[j2][0]] = shadowTemp[j2][2];
+      }
+    }
+  } : orignalBrush;
+}
+var fixClipWithShadow$1 = _default$J;
+var Path$d = Path_1;
+var fixClipWithShadow = fixClipWithShadow$1;
+var _default$I = Path$d.extend({
+  type: "sector",
+  shape: {
+    cx: 0,
+    cy: 0,
+    r0: 0,
+    r: 0,
+    startAngle: 0,
+    endAngle: Math.PI * 2,
+    clockwise: true
+  },
+  brush: fixClipWithShadow(Path$d.prototype.brush),
+  buildPath: function(ctx, shape) {
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var r0 = Math.max(shape.r0 || 0, 0);
+    var r2 = Math.max(shape.r, 0);
+    var startAngle = shape.startAngle;
+    var endAngle = shape.endAngle;
+    var clockwise = shape.clockwise;
+    var unitX = Math.cos(startAngle);
+    var unitY = Math.sin(startAngle);
+    ctx.moveTo(unitX * r0 + x2, unitY * r0 + y2);
+    ctx.lineTo(unitX * r2 + x2, unitY * r2 + y2);
+    ctx.arc(x2, y2, r2, startAngle, endAngle, !clockwise);
+    ctx.lineTo(Math.cos(endAngle) * r0 + x2, Math.sin(endAngle) * r0 + y2);
+    if (r0 !== 0) {
+      ctx.arc(x2, y2, r0, endAngle, startAngle, clockwise);
+    }
+    ctx.closePath();
+  }
+});
+var Sector$3 = _default$I;
+var Path$c = Path_1;
+var _default$H = Path$c.extend({
+  type: "ring",
+  shape: {
+    cx: 0,
+    cy: 0,
+    r: 0,
+    r0: 0
+  },
+  buildPath: function(ctx, shape) {
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var PI22 = Math.PI * 2;
+    ctx.moveTo(x2 + shape.r, y2);
+    ctx.arc(x2, y2, shape.r, 0, PI22, false);
+    ctx.moveTo(x2 + shape.r0, y2);
+    ctx.arc(x2, y2, shape.r0, 0, PI22, true);
+  }
+});
+var Ring$3 = _default$H;
+var poly$1 = {};
+var _vector$1 = vector$3;
+var v2Distance$1 = _vector$1.distance;
+function interpolate(p0, p1, p2, p3, t2, t22, t3) {
+  var v0 = (p2 - p0) * 0.5;
+  var v12 = (p3 - p1) * 0.5;
+  return (2 * (p1 - p2) + v0 + v12) * t3 + (-3 * (p1 - p2) - 2 * v0 - v12) * t22 + v0 * t2 + p1;
+}
+function _default$G(points2, isLoop) {
+  var len2 = points2.length;
+  var ret = [];
+  var distance2 = 0;
+  for (var i2 = 1; i2 < len2; i2++) {
+    distance2 += v2Distance$1(points2[i2 - 1], points2[i2]);
+  }
+  var segs = distance2 / 2;
+  segs = segs < len2 ? len2 : segs;
+  for (var i2 = 0; i2 < segs; i2++) {
+    var pos = i2 / (segs - 1) * (isLoop ? len2 : len2 - 1);
+    var idx = Math.floor(pos);
+    var w2 = pos - idx;
+    var p0;
+    var p1 = points2[idx % len2];
+    var p2;
+    var p3;
+    if (!isLoop) {
+      p0 = points2[idx === 0 ? idx : idx - 1];
+      p2 = points2[idx > len2 - 2 ? len2 - 1 : idx + 1];
+      p3 = points2[idx > len2 - 3 ? len2 - 1 : idx + 2];
+    } else {
+      p0 = points2[(idx - 1 + len2) % len2];
+      p2 = points2[(idx + 1) % len2];
+      p3 = points2[(idx + 2) % len2];
+    }
+    var w22 = w2 * w2;
+    var w3 = w2 * w22;
+    ret.push([interpolate(p0[0], p1[0], p2[0], p3[0], w2, w22, w3), interpolate(p0[1], p1[1], p2[1], p3[1], w2, w22, w3)]);
+  }
+  return ret;
+}
+var smoothSpline$1 = _default$G;
+var _vector = vector$3;
+var v2Min = _vector.min;
+var v2Max = _vector.max;
+var v2Scale = _vector.scale;
+var v2Distance = _vector.distance;
+var v2Add = _vector.add;
+var v2Clone = _vector.clone;
+var v2Sub = _vector.sub;
+function _default$F(points2, smooth, isLoop, constraint) {
+  var cps = [];
+  var v4 = [];
+  var v12 = [];
+  var v22 = [];
+  var prevPoint;
+  var nextPoint;
+  var min3;
+  var max3;
+  if (constraint) {
+    min3 = [Infinity, Infinity];
+    max3 = [-Infinity, -Infinity];
+    for (var i2 = 0, len2 = points2.length; i2 < len2; i2++) {
+      v2Min(min3, min3, points2[i2]);
+      v2Max(max3, max3, points2[i2]);
+    }
+    v2Min(min3, min3, constraint[0]);
+    v2Max(max3, max3, constraint[1]);
+  }
+  for (var i2 = 0, len2 = points2.length; i2 < len2; i2++) {
+    var point = points2[i2];
+    if (isLoop) {
+      prevPoint = points2[i2 ? i2 - 1 : len2 - 1];
+      nextPoint = points2[(i2 + 1) % len2];
+    } else {
+      if (i2 === 0 || i2 === len2 - 1) {
+        cps.push(v2Clone(points2[i2]));
+        continue;
+      } else {
+        prevPoint = points2[i2 - 1];
+        nextPoint = points2[i2 + 1];
+      }
+    }
+    v2Sub(v4, nextPoint, prevPoint);
+    v2Scale(v4, v4, smooth);
+    var d0 = v2Distance(point, prevPoint);
+    var d1 = v2Distance(point, nextPoint);
+    var sum2 = d0 + d1;
+    if (sum2 !== 0) {
+      d0 /= sum2;
+      d1 /= sum2;
+    }
+    v2Scale(v12, v4, -d0);
+    v2Scale(v22, v4, d1);
+    var cp0 = v2Add([], point, v12);
+    var cp1 = v2Add([], point, v22);
+    if (constraint) {
+      v2Max(cp0, cp0, min3);
+      v2Min(cp0, cp0, max3);
+      v2Max(cp1, cp1, min3);
+      v2Min(cp1, cp1, max3);
+    }
+    cps.push(cp0);
+    cps.push(cp1);
+  }
+  if (isLoop) {
+    cps.push(cps.shift());
+  }
+  return cps;
+}
+var smoothBezier$2 = _default$F;
+var smoothSpline = smoothSpline$1;
+var smoothBezier$1 = smoothBezier$2;
+function buildPath$3(ctx, shape, closePath) {
+  var points2 = shape.points;
+  var smooth = shape.smooth;
+  if (points2 && points2.length >= 2) {
+    if (smooth && smooth !== "spline") {
+      var controlPoints = smoothBezier$1(points2, smooth, closePath, shape.smoothConstraint);
+      ctx.moveTo(points2[0][0], points2[0][1]);
+      var len2 = points2.length;
+      for (var i2 = 0; i2 < (closePath ? len2 : len2 - 1); i2++) {
+        var cp1 = controlPoints[i2 * 2];
+        var cp2 = controlPoints[i2 * 2 + 1];
+        var p2 = points2[(i2 + 1) % len2];
+        ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p2[0], p2[1]);
+      }
+    } else {
+      if (smooth === "spline") {
+        points2 = smoothSpline(points2, closePath);
+      }
+      ctx.moveTo(points2[0][0], points2[0][1]);
+      for (var i2 = 1, l2 = points2.length; i2 < l2; i2++) {
+        ctx.lineTo(points2[i2][0], points2[i2][1]);
+      }
+    }
+    closePath && ctx.closePath();
+  }
+}
+poly$1.buildPath = buildPath$3;
+var Path$b = Path_1;
+var polyHelper$1 = poly$1;
+var _default$E = Path$b.extend({
+  type: "polygon",
+  shape: {
+    points: null,
+    smooth: false,
+    smoothConstraint: null
+  },
+  buildPath: function(ctx, shape) {
+    polyHelper$1.buildPath(ctx, shape, true);
+  }
+});
+var Polygon$4 = _default$E;
+var Path$a = Path_1;
+var polyHelper = poly$1;
+var _default$D = Path$a.extend({
+  type: "polyline",
+  shape: {
+    points: null,
+    smooth: false,
+    smoothConstraint: null
+  },
+  style: {
+    stroke: "#000",
+    fill: null
+  },
+  buildPath: function(ctx, shape) {
+    polyHelper.buildPath(ctx, shape, false);
+  }
+});
+var Polyline$6 = _default$D;
+var subPixelOptimize$4 = {};
+var round$4 = Math.round;
+function subPixelOptimizeLine$4(outputShape, inputShape, style2) {
+  if (!inputShape) {
+    return;
+  }
+  var x1 = inputShape.x1;
+  var x2 = inputShape.x2;
+  var y1 = inputShape.y1;
+  var y2 = inputShape.y2;
+  outputShape.x1 = x1;
+  outputShape.x2 = x2;
+  outputShape.y1 = y1;
+  outputShape.y2 = y2;
+  var lineWidth = style2 && style2.lineWidth;
+  if (!lineWidth) {
+    return;
+  }
+  if (round$4(x1 * 2) === round$4(x2 * 2)) {
+    outputShape.x1 = outputShape.x2 = subPixelOptimize$3(x1, lineWidth, true);
+  }
+  if (round$4(y1 * 2) === round$4(y2 * 2)) {
+    outputShape.y1 = outputShape.y2 = subPixelOptimize$3(y1, lineWidth, true);
+  }
+}
+function subPixelOptimizeRect$4(outputShape, inputShape, style2) {
+  if (!inputShape) {
+    return;
+  }
+  var originX = inputShape.x;
+  var originY = inputShape.y;
+  var originWidth = inputShape.width;
+  var originHeight = inputShape.height;
+  outputShape.x = originX;
+  outputShape.y = originY;
+  outputShape.width = originWidth;
+  outputShape.height = originHeight;
+  var lineWidth = style2 && style2.lineWidth;
+  if (!lineWidth) {
+    return;
+  }
+  outputShape.x = subPixelOptimize$3(originX, lineWidth, true);
+  outputShape.y = subPixelOptimize$3(originY, lineWidth, true);
+  outputShape.width = Math.max(subPixelOptimize$3(originX + originWidth, lineWidth, false) - outputShape.x, originWidth === 0 ? 0 : 1);
+  outputShape.height = Math.max(subPixelOptimize$3(originY + originHeight, lineWidth, false) - outputShape.y, originHeight === 0 ? 0 : 1);
+}
+function subPixelOptimize$3(position2, lineWidth, positiveOrNegative) {
+  if (!lineWidth) {
+    return position2;
+  }
+  var doubledPosition = round$4(position2 * 2);
+  return (doubledPosition + round$4(lineWidth)) % 2 === 0 ? doubledPosition / 2 : (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;
+}
+subPixelOptimize$4.subPixelOptimizeLine = subPixelOptimizeLine$4;
+subPixelOptimize$4.subPixelOptimizeRect = subPixelOptimizeRect$4;
+subPixelOptimize$4.subPixelOptimize = subPixelOptimize$3;
+var Path$9 = Path_1;
+var roundRectHelper = roundRect;
+var _subPixelOptimize$1 = subPixelOptimize$4;
+var subPixelOptimizeRect$3 = _subPixelOptimize$1.subPixelOptimizeRect;
+var subPixelOptimizeOutputShape$3 = {};
+var _default$C = Path$9.extend({
+  type: "rect",
+  shape: {
+    // 左上、右上、右下、左下角的半径依次为r1、r2、r3、r4
+    // r缩写为1         相当于 [1, 1, 1, 1]
+    // r缩写为[1]       相当于 [1, 1, 1, 1]
+    // r缩写为[1, 2]    相当于 [1, 2, 1, 2]
+    // r缩写为[1, 2, 3] 相当于 [1, 2, 3, 2]
+    r: 0,
+    x: 0,
+    y: 0,
+    width: 0,
+    height: 0
+  },
+  buildPath: function(ctx, shape) {
+    var x2;
+    var y2;
+    var width;
+    var height;
+    if (this.subPixelOptimize) {
+      subPixelOptimizeRect$3(subPixelOptimizeOutputShape$3, shape, this.style);
+      x2 = subPixelOptimizeOutputShape$3.x;
+      y2 = subPixelOptimizeOutputShape$3.y;
+      width = subPixelOptimizeOutputShape$3.width;
+      height = subPixelOptimizeOutputShape$3.height;
+      subPixelOptimizeOutputShape$3.r = shape.r;
+      shape = subPixelOptimizeOutputShape$3;
+    } else {
+      x2 = shape.x;
+      y2 = shape.y;
+      width = shape.width;
+      height = shape.height;
+    }
+    if (!shape.r) {
+      ctx.rect(x2, y2, width, height);
+    } else {
+      roundRectHelper.buildPath(ctx, shape);
+    }
+    ctx.closePath();
+    return;
+  }
+});
+var Rect$6 = _default$C;
+var Path$8 = Path_1;
+var _subPixelOptimize = subPixelOptimize$4;
+var subPixelOptimizeLine$3 = _subPixelOptimize.subPixelOptimizeLine;
+var subPixelOptimizeOutputShape$2 = {};
+var _default$B = Path$8.extend({
+  type: "line",
+  shape: {
+    // Start point
+    x1: 0,
+    y1: 0,
+    // End point
+    x2: 0,
+    y2: 0,
+    percent: 1
+  },
+  style: {
+    stroke: "#000",
+    fill: null
+  },
+  buildPath: function(ctx, shape) {
+    var x1;
+    var y1;
+    var x2;
+    var y2;
+    if (this.subPixelOptimize) {
+      subPixelOptimizeLine$3(subPixelOptimizeOutputShape$2, shape, this.style);
+      x1 = subPixelOptimizeOutputShape$2.x1;
+      y1 = subPixelOptimizeOutputShape$2.y1;
+      x2 = subPixelOptimizeOutputShape$2.x2;
+      y2 = subPixelOptimizeOutputShape$2.y2;
+    } else {
+      x1 = shape.x1;
+      y1 = shape.y1;
+      x2 = shape.x2;
+      y2 = shape.y2;
+    }
+    var percent = shape.percent;
+    if (percent === 0) {
+      return;
+    }
+    ctx.moveTo(x1, y1);
+    if (percent < 1) {
+      x2 = x1 * (1 - percent) + x2 * percent;
+      y2 = y1 * (1 - percent) + y2 * percent;
+    }
+    ctx.lineTo(x2, y2);
+  },
+  /**
+   * Get point at percent
+   * @param  {number} percent
+   * @return {Array.<number>}
+   */
+  pointAt: function(p2) {
+    var shape = this.shape;
+    return [shape.x1 * (1 - p2) + shape.x2 * p2, shape.y1 * (1 - p2) + shape.y2 * p2];
+  }
+});
+var Line$6 = _default$B;
+var Path$7 = Path_1;
+var vec2 = vector$3;
+var _curve = curve$3;
+var quadraticSubdivide$1 = _curve.quadraticSubdivide;
+var cubicSubdivide$1 = _curve.cubicSubdivide;
+var quadraticAt$2 = _curve.quadraticAt;
+var cubicAt$1 = _curve.cubicAt;
+var quadraticDerivativeAt$1 = _curve.quadraticDerivativeAt;
+var cubicDerivativeAt$1 = _curve.cubicDerivativeAt;
+var out$1 = [];
+function someVectorAt$1(shape, t2, isTangent) {
+  var cpx2 = shape.cpx2;
+  var cpy2 = shape.cpy2;
+  if (cpx2 === null || cpy2 === null) {
+    return [(isTangent ? cubicDerivativeAt$1 : cubicAt$1)(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t2), (isTangent ? cubicDerivativeAt$1 : cubicAt$1)(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t2)];
+  } else {
+    return [(isTangent ? quadraticDerivativeAt$1 : quadraticAt$2)(shape.x1, shape.cpx1, shape.x2, t2), (isTangent ? quadraticDerivativeAt$1 : quadraticAt$2)(shape.y1, shape.cpy1, shape.y2, t2)];
+  }
+}
+var _default$A = Path$7.extend({
+  type: "bezier-curve",
+  shape: {
+    x1: 0,
+    y1: 0,
+    x2: 0,
+    y2: 0,
+    cpx1: 0,
+    cpy1: 0,
+    // cpx2: 0,
+    // cpy2: 0
+    // Curve show percent, for animating
+    percent: 1
+  },
+  style: {
+    stroke: "#000",
+    fill: null
+  },
+  buildPath: function(ctx, shape) {
+    var x1 = shape.x1;
+    var y1 = shape.y1;
+    var x2 = shape.x2;
+    var y2 = shape.y2;
+    var cpx1 = shape.cpx1;
+    var cpy1 = shape.cpy1;
+    var cpx2 = shape.cpx2;
+    var cpy2 = shape.cpy2;
+    var percent = shape.percent;
+    if (percent === 0) {
+      return;
+    }
+    ctx.moveTo(x1, y1);
+    if (cpx2 == null || cpy2 == null) {
+      if (percent < 1) {
+        quadraticSubdivide$1(x1, cpx1, x2, percent, out$1);
+        cpx1 = out$1[1];
+        x2 = out$1[2];
+        quadraticSubdivide$1(y1, cpy1, y2, percent, out$1);
+        cpy1 = out$1[1];
+        y2 = out$1[2];
+      }
+      ctx.quadraticCurveTo(cpx1, cpy1, x2, y2);
+    } else {
+      if (percent < 1) {
+        cubicSubdivide$1(x1, cpx1, cpx2, x2, percent, out$1);
+        cpx1 = out$1[1];
+        cpx2 = out$1[2];
+        x2 = out$1[3];
+        cubicSubdivide$1(y1, cpy1, cpy2, y2, percent, out$1);
+        cpy1 = out$1[1];
+        cpy2 = out$1[2];
+        y2 = out$1[3];
+      }
+      ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2);
+    }
+  },
+  /**
+   * Get point at percent
+   * @param  {number} t
+   * @return {Array.<number>}
+   */
+  pointAt: function(t2) {
+    return someVectorAt$1(this.shape, t2, false);
+  },
+  /**
+   * Get tangent at percent
+   * @param  {number} t
+   * @return {Array.<number>}
+   */
+  tangentAt: function(t2) {
+    var p2 = someVectorAt$1(this.shape, t2, true);
+    return vec2.normalize(p2, p2);
+  }
+});
+var BezierCurve$3 = _default$A;
+var Path$6 = Path_1;
+var _default$z = Path$6.extend({
+  type: "arc",
+  shape: {
+    cx: 0,
+    cy: 0,
+    r: 0,
+    startAngle: 0,
+    endAngle: Math.PI * 2,
+    clockwise: true
+  },
+  style: {
+    stroke: "#000",
+    fill: null
+  },
+  buildPath: function(ctx, shape) {
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var r2 = Math.max(shape.r, 0);
+    var startAngle = shape.startAngle;
+    var endAngle = shape.endAngle;
+    var clockwise = shape.clockwise;
+    var unitX = Math.cos(startAngle);
+    var unitY = Math.sin(startAngle);
+    ctx.moveTo(unitX * r2 + x2, unitY * r2 + y2);
+    ctx.arc(x2, y2, r2, startAngle, endAngle, !clockwise);
+  }
+});
+var Arc$3 = _default$z;
+var Path$5 = Path_1;
+var _default$y = Path$5.extend({
+  type: "compound",
+  shape: {
+    paths: null
+  },
+  _updatePathDirty: function() {
+    var dirtyPath = this.__dirtyPath;
+    var paths = this.shape.paths;
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      dirtyPath = dirtyPath || paths[i2].__dirtyPath;
+    }
+    this.__dirtyPath = dirtyPath;
+    this.__dirty = this.__dirty || dirtyPath;
+  },
+  beforeBrush: function() {
+    this._updatePathDirty();
+    var paths = this.shape.paths || [];
+    var scale2 = this.getGlobalScale();
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      if (!paths[i2].path) {
+        paths[i2].createPathProxy();
+      }
+      paths[i2].path.setScale(scale2[0], scale2[1], paths[i2].segmentIgnoreThreshold);
+    }
+  },
+  buildPath: function(ctx, shape) {
+    var paths = shape.paths || [];
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      paths[i2].buildPath(ctx, paths[i2].shape, true);
+    }
+  },
+  afterBrush: function() {
+    var paths = this.shape.paths || [];
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      paths[i2].__dirtyPath = false;
+    }
+  },
+  getBoundingRect: function() {
+    this._updatePathDirty();
+    return Path$5.prototype.getBoundingRect.call(this);
+  }
+});
+var CompoundPath$3 = _default$y;
+var Gradient$5 = function(colorStops) {
+  this.colorStops = colorStops || [];
+};
+Gradient$5.prototype = {
+  constructor: Gradient$5,
+  addColorStop: function(offset2, color2) {
+    this.colorStops.push({
+      offset: offset2,
+      color: color2
+    });
+  }
+};
+var _default$x = Gradient$5;
+var Gradient_1 = _default$x;
+var zrUtil$e = util$a;
+var Gradient$4 = Gradient_1;
+var LinearGradient$4 = function(x2, y2, x22, y22, colorStops, globalCoord) {
+  this.x = x2 == null ? 0 : x2;
+  this.y = y2 == null ? 0 : y2;
+  this.x2 = x22 == null ? 1 : x22;
+  this.y2 = y22 == null ? 0 : y22;
+  this.type = "linear";
+  this.global = globalCoord || false;
+  Gradient$4.call(this, colorStops);
+};
+LinearGradient$4.prototype = {
+  constructor: LinearGradient$4
+};
+zrUtil$e.inherits(LinearGradient$4, Gradient$4);
+var _default$w = LinearGradient$4;
+var LinearGradient_1 = _default$w;
+var zrUtil$d = util$a;
+var Gradient$3 = Gradient_1;
+var RadialGradient$3 = function(x2, y2, r2, colorStops, globalCoord) {
+  this.x = x2 == null ? 0.5 : x2;
+  this.y = y2 == null ? 0.5 : y2;
+  this.r = r2 == null ? 0.5 : r2;
+  this.type = "radial";
+  this.global = globalCoord || false;
+  Gradient$3.call(this, colorStops);
+};
+RadialGradient$3.prototype = {
+  constructor: RadialGradient$3
+};
+zrUtil$d.inherits(RadialGradient$3, Gradient$3);
+var _default$v = RadialGradient$3;
+var RadialGradient_1 = _default$v;
+var _util$a = util$a;
+var inherits$2 = _util$a.inherits;
+var Displayble = Displayable_1;
+var BoundingRect$4 = BoundingRect_1;
+function IncrementalDisplayble(opts2) {
+  Displayble.call(this, opts2);
+  this._displayables = [];
+  this._temporaryDisplayables = [];
+  this._cursor = 0;
+  this.notClear = true;
+}
+IncrementalDisplayble.prototype.incremental = true;
+IncrementalDisplayble.prototype.clearDisplaybles = function() {
+  this._displayables = [];
+  this._temporaryDisplayables = [];
+  this._cursor = 0;
+  this.dirty();
+  this.notClear = false;
+};
+IncrementalDisplayble.prototype.addDisplayable = function(displayable, notPersistent) {
+  if (notPersistent) {
+    this._temporaryDisplayables.push(displayable);
+  } else {
+    this._displayables.push(displayable);
+  }
+  this.dirty();
+};
+IncrementalDisplayble.prototype.addDisplayables = function(displayables, notPersistent) {
+  notPersistent = notPersistent || false;
+  for (var i2 = 0; i2 < displayables.length; i2++) {
+    this.addDisplayable(displayables[i2], notPersistent);
+  }
+};
+IncrementalDisplayble.prototype.eachPendingDisplayable = function(cb) {
+  for (var i2 = this._cursor; i2 < this._displayables.length; i2++) {
+    cb && cb(this._displayables[i2]);
+  }
+  for (var i2 = 0; i2 < this._temporaryDisplayables.length; i2++) {
+    cb && cb(this._temporaryDisplayables[i2]);
+  }
+};
+IncrementalDisplayble.prototype.update = function() {
+  this.updateTransform();
+  for (var i2 = this._cursor; i2 < this._displayables.length; i2++) {
+    var displayable = this._displayables[i2];
+    displayable.parent = this;
+    displayable.update();
+    displayable.parent = null;
+  }
+  for (var i2 = 0; i2 < this._temporaryDisplayables.length; i2++) {
+    var displayable = this._temporaryDisplayables[i2];
+    displayable.parent = this;
+    displayable.update();
+    displayable.parent = null;
+  }
+};
+IncrementalDisplayble.prototype.brush = function(ctx, prevEl) {
+  for (var i2 = this._cursor; i2 < this._displayables.length; i2++) {
+    var displayable = this._displayables[i2];
+    displayable.beforeBrush && displayable.beforeBrush(ctx);
+    displayable.brush(ctx, i2 === this._cursor ? null : this._displayables[i2 - 1]);
+    displayable.afterBrush && displayable.afterBrush(ctx);
+  }
+  this._cursor = i2;
+  for (var i2 = 0; i2 < this._temporaryDisplayables.length; i2++) {
+    var displayable = this._temporaryDisplayables[i2];
+    displayable.beforeBrush && displayable.beforeBrush(ctx);
+    displayable.brush(ctx, i2 === 0 ? null : this._temporaryDisplayables[i2 - 1]);
+    displayable.afterBrush && displayable.afterBrush(ctx);
+  }
+  this._temporaryDisplayables = [];
+  this.notClear = true;
+};
+var m$3 = [];
+IncrementalDisplayble.prototype.getBoundingRect = function() {
+  if (!this._rect) {
+    var rect = new BoundingRect$4(Infinity, Infinity, -Infinity, -Infinity);
+    for (var i2 = 0; i2 < this._displayables.length; i2++) {
+      var displayable = this._displayables[i2];
+      var childRect = displayable.getBoundingRect().clone();
+      if (displayable.needLocalTransform()) {
+        childRect.applyTransform(displayable.getLocalTransform(m$3));
+      }
+      rect.union(childRect);
+    }
+    this._rect = rect;
+  }
+  return this._rect;
+};
+IncrementalDisplayble.prototype.contain = function(x2, y2) {
+  var localPos = this.transformCoordToLocal(x2, y2);
+  var rect = this.getBoundingRect();
+  if (rect.contain(localPos[0], localPos[1])) {
+    for (var i2 = 0; i2 < this._displayables.length; i2++) {
+      var displayable = this._displayables[i2];
+      if (displayable.contain(x2, y2)) {
+        return true;
+      }
+    }
+  }
+  return false;
+};
+inherits$2(IncrementalDisplayble, Displayble);
+var _default$u = IncrementalDisplayble;
+var IncrementalDisplayable$3 = _default$u;
+var zrUtil$c = util$a;
+var pathTool = path$1;
+var colorTool = color$2;
+var matrix$2 = matrix$5;
+var vector$1 = vector$3;
+var Path$4 = Path_1;
+var Transformable$2 = Transformable_1;
+var ZImage$1 = Image$2;
+graphic$6.Image = ZImage$1;
+var Group$8 = Group_1;
+graphic$6.Group = Group$8;
+var Text$2 = Text_1;
+graphic$6.Text = Text$2;
+var Circle$3 = Circle$4;
+graphic$6.Circle = Circle$3;
+var Sector$2 = Sector$3;
+graphic$6.Sector = Sector$2;
+var Ring$2 = Ring$3;
+graphic$6.Ring = Ring$2;
+var Polygon$3 = Polygon$4;
+graphic$6.Polygon = Polygon$3;
+var Polyline$5 = Polyline$6;
+graphic$6.Polyline = Polyline$5;
+var Rect$5 = Rect$6;
+graphic$6.Rect = Rect$5;
+var Line$5 = Line$6;
+graphic$6.Line = Line$5;
+var BezierCurve$2 = BezierCurve$3;
+graphic$6.BezierCurve = BezierCurve$2;
+var Arc$2 = Arc$3;
+graphic$6.Arc = Arc$2;
+var CompoundPath$2 = CompoundPath$3;
+graphic$6.CompoundPath = CompoundPath$2;
+var LinearGradient$3 = LinearGradient_1;
+graphic$6.LinearGradient = LinearGradient$3;
+var RadialGradient$2 = RadialGradient_1;
+graphic$6.RadialGradient = RadialGradient$2;
+var BoundingRect$3 = BoundingRect_1;
+graphic$6.BoundingRect = BoundingRect$3;
+var IncrementalDisplayable$2 = IncrementalDisplayable$3;
+graphic$6.IncrementalDisplayable = IncrementalDisplayable$2;
+var subPixelOptimizeUtil = subPixelOptimize$4;
+var mathMax$b = Math.max;
+var mathMin$b = Math.min;
+var EMPTY_OBJ$1 = {};
+var Z2_EMPHASIS_LIFT$1 = 1;
+var CACHED_LABEL_STYLE_PROPERTIES = {
+  color: "textFill",
+  textBorderColor: "textStroke",
+  textBorderWidth: "textStrokeWidth"
+};
+var EMPHASIS$1 = "emphasis";
+var NORMAL$1 = "normal";
+var _highlightNextDigit$1 = 1;
+var _highlightKeyMap$1 = {};
+var _customShapeMap$1 = {};
+function extendShape$1(opts2) {
+  return Path$4.extend(opts2);
+}
+function extendPath$1(pathData, opts2) {
+  return pathTool.extendFromString(pathData, opts2);
+}
+function registerShape$1(name2, ShapeClass) {
+  _customShapeMap$1[name2] = ShapeClass;
+}
+function getShapeClass$1(name2) {
+  if (_customShapeMap$1.hasOwnProperty(name2)) {
+    return _customShapeMap$1[name2];
+  }
+}
+function makePath$1(pathData, opts2, rect, layout2) {
+  var path2 = pathTool.createFromString(pathData, opts2);
+  if (rect) {
+    if (layout2 === "center") {
+      rect = centerGraphic$1(rect, path2.getBoundingRect());
+    }
+    resizePath$1(path2, rect);
+  }
+  return path2;
+}
+function makeImage$1(imageUrl, rect, layout2) {
+  var path2 = new ZImage$1({
+    style: {
+      image: imageUrl,
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height
+    },
+    onload: function(img) {
+      if (layout2 === "center") {
+        var boundingRect = {
+          width: img.width,
+          height: img.height
+        };
+        path2.setStyle(centerGraphic$1(rect, boundingRect));
+      }
+    }
+  });
+  return path2;
+}
+function centerGraphic$1(rect, boundingRect) {
+  var aspect = boundingRect.width / boundingRect.height;
+  var width = rect.height * aspect;
+  var height;
+  if (width <= rect.width) {
+    height = rect.height;
+  } else {
+    width = rect.width;
+    height = width / aspect;
+  }
+  var cx = rect.x + rect.width / 2;
+  var cy = rect.y + rect.height / 2;
+  return {
+    x: cx - width / 2,
+    y: cy - height / 2,
+    width,
+    height
+  };
+}
+var mergePath$2 = pathTool.mergePath;
+function resizePath$1(path2, rect) {
+  if (!path2.applyTransform) {
+    return;
+  }
+  var pathRect = path2.getBoundingRect();
+  var m2 = pathRect.calculateTransform(rect);
+  path2.applyTransform(m2);
+}
+function subPixelOptimizeLine$2(param2) {
+  subPixelOptimizeUtil.subPixelOptimizeLine(param2.shape, param2.shape, param2.style);
+  return param2;
+}
+function subPixelOptimizeRect$2(param2) {
+  subPixelOptimizeUtil.subPixelOptimizeRect(param2.shape, param2.shape, param2.style);
+  return param2;
+}
+var subPixelOptimize$2 = subPixelOptimizeUtil.subPixelOptimize;
+function hasFillOrStroke$1(fillOrStroke) {
+  return fillOrStroke != null && fillOrStroke !== "none";
+}
+var liftedColorMap = zrUtil$c.createHashMap();
+var liftedColorCount = 0;
+function liftColor$1(color2) {
+  if (typeof color2 !== "string") {
+    return color2;
+  }
+  var liftedColor = liftedColorMap.get(color2);
+  if (!liftedColor) {
+    liftedColor = colorTool.lift(color2, -0.1);
+    if (liftedColorCount < 1e4) {
+      liftedColorMap.set(color2, liftedColor);
+      liftedColorCount++;
+    }
+  }
+  return liftedColor;
+}
+function cacheElementStl(el) {
+  if (!el.__hoverStlDirty) {
+    return;
+  }
+  el.__hoverStlDirty = false;
+  var hoverStyle = el.__hoverStl;
+  if (!hoverStyle) {
+    el.__cachedNormalStl = el.__cachedNormalZ2 = null;
+    return;
+  }
+  var normalStyle = el.__cachedNormalStl = {};
+  el.__cachedNormalZ2 = el.z2;
+  var elStyle = el.style;
+  for (var name2 in hoverStyle) {
+    if (hoverStyle[name2] != null) {
+      normalStyle[name2] = elStyle[name2];
+    }
+  }
+  normalStyle.fill = elStyle.fill;
+  normalStyle.stroke = elStyle.stroke;
+}
+function singleEnterEmphasis$1(el) {
+  var hoverStl = el.__hoverStl;
+  if (!hoverStl || el.__highlighted) {
+    return;
+  }
+  var zr = el.__zr;
+  var useHoverLayer = el.useHoverLayer && zr && zr.painter.type === "canvas";
+  el.__highlighted = useHoverLayer ? "layer" : "plain";
+  if (el.isGroup || !zr && el.useHoverLayer) {
+    return;
+  }
+  var elTarget = el;
+  var targetStyle = el.style;
+  if (useHoverLayer) {
+    elTarget = zr.addHover(el);
+    targetStyle = elTarget.style;
+  }
+  rollbackDefaultTextStyle(targetStyle);
+  if (!useHoverLayer) {
+    cacheElementStl(elTarget);
+  }
+  targetStyle.extendFrom(hoverStl);
+  setDefaultHoverFillStroke(targetStyle, hoverStl, "fill");
+  setDefaultHoverFillStroke(targetStyle, hoverStl, "stroke");
+  applyDefaultTextStyle(targetStyle);
+  if (!useHoverLayer) {
+    el.dirty(false);
+    el.z2 += Z2_EMPHASIS_LIFT$1;
+  }
+}
+function setDefaultHoverFillStroke(targetStyle, hoverStyle, prop2) {
+  if (!hasFillOrStroke$1(hoverStyle[prop2]) && hasFillOrStroke$1(targetStyle[prop2])) {
+    targetStyle[prop2] = liftColor$1(targetStyle[prop2]);
+  }
+}
+function singleEnterNormal(el) {
+  var highlighted = el.__highlighted;
+  if (!highlighted) {
+    return;
+  }
+  el.__highlighted = false;
+  if (el.isGroup) {
+    return;
+  }
+  if (highlighted === "layer") {
+    el.__zr && el.__zr.removeHover(el);
+  } else {
+    var style2 = el.style;
+    var normalStl = el.__cachedNormalStl;
+    if (normalStl) {
+      rollbackDefaultTextStyle(style2);
+      el.setStyle(normalStl);
+      applyDefaultTextStyle(style2);
+    }
+    var normalZ2 = el.__cachedNormalZ2;
+    if (normalZ2 != null && el.z2 - normalZ2 === Z2_EMPHASIS_LIFT$1) {
+      el.z2 = normalZ2;
+    }
+  }
+}
+function traverseUpdate(el, updater, commonParam) {
+  var fromState = NORMAL$1;
+  var toState = NORMAL$1;
+  var trigger2;
+  el.__highlighted && (fromState = EMPHASIS$1, trigger2 = true);
+  updater(el, commonParam);
+  el.__highlighted && (toState = EMPHASIS$1, trigger2 = true);
+  el.isGroup && el.traverse(function(child) {
+    !child.isGroup && updater(child, commonParam);
+  });
+  trigger2 && el.__highDownOnUpdate && el.__highDownOnUpdate(fromState, toState);
+}
+function setElementHoverStyle(el, hoverStl) {
+  hoverStl = el.__hoverStl = hoverStl !== false && (el.hoverStyle || hoverStl || {});
+  el.__hoverStlDirty = true;
+  if (el.__highlighted) {
+    el.__cachedNormalStl = null;
+    singleEnterNormal(el);
+    singleEnterEmphasis$1(el);
+  }
+}
+function onElementMouseOver(e2) {
+  !shouldSilent$1(this, e2) && !this.__highByOuter && traverseUpdate(this, singleEnterEmphasis$1);
+}
+function onElementMouseOut(e2) {
+  !shouldSilent$1(this, e2) && !this.__highByOuter && traverseUpdate(this, singleEnterNormal);
+}
+function onElementEmphasisEvent(highlightDigit) {
+  this.__highByOuter |= 1 << (highlightDigit || 0);
+  traverseUpdate(this, singleEnterEmphasis$1);
+}
+function onElementNormalEvent(highlightDigit) {
+  !(this.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdate(this, singleEnterNormal);
+}
+function shouldSilent$1(el, e2) {
+  return el.__highDownSilentOnTouch && e2.zrByTouch;
+}
+function setHoverStyle(el, hoverStyle) {
+  setAsHighDownDispatcher$1(el, true);
+  traverseUpdate(el, setElementHoverStyle, hoverStyle);
+}
+function setAsHighDownDispatcher$1(el, asDispatcher) {
+  var disable = asDispatcher === false;
+  el.__highDownSilentOnTouch = el.highDownSilentOnTouch;
+  el.__highDownOnUpdate = el.highDownOnUpdate;
+  if (!disable || el.__highDownDispatcher) {
+    var method = disable ? "off" : "on";
+    el[method]("mouseover", onElementMouseOver)[method]("mouseout", onElementMouseOut);
+    el[method]("emphasis", onElementEmphasisEvent)[method]("normal", onElementNormalEvent);
+    el.__highByOuter = el.__highByOuter || 0;
+    el.__highDownDispatcher = !disable;
+  }
+}
+function isHighDownDispatcher$1(el) {
+  return !!(el && el.__highDownDispatcher);
+}
+function getHighlightDigit$1(highlightKey) {
+  var highlightDigit = _highlightKeyMap$1[highlightKey];
+  if (highlightDigit == null && _highlightNextDigit$1 <= 32) {
+    highlightDigit = _highlightKeyMap$1[highlightKey] = _highlightNextDigit$1++;
+  }
+  return highlightDigit;
+}
+function setLabelStyle$1(normalStyle, emphasisStyle, normalModel, emphasisModel, opt, normalSpecified, emphasisSpecified) {
+  opt = opt || EMPTY_OBJ$1;
+  var labelFetcher = opt.labelFetcher;
+  var labelDataIndex = opt.labelDataIndex;
+  var labelDimIndex = opt.labelDimIndex;
+  var labelProp = opt.labelProp;
+  var showNormal = normalModel.getShallow("show");
+  var showEmphasis = emphasisModel.getShallow("show");
+  var baseText;
+  if (showNormal || showEmphasis) {
+    if (labelFetcher) {
+      baseText = labelFetcher.getFormattedLabel(labelDataIndex, "normal", null, labelDimIndex, labelProp);
+    }
+    if (baseText == null) {
+      baseText = zrUtil$c.isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt) : opt.defaultText;
+    }
+  }
+  var normalStyleText = showNormal ? baseText : null;
+  var emphasisStyleText = showEmphasis ? zrUtil$c.retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, "emphasis", null, labelDimIndex, labelProp) : null, baseText) : null;
+  if (normalStyleText != null || emphasisStyleText != null) {
+    setTextStyle(normalStyle, normalModel, normalSpecified, opt);
+    setTextStyle(emphasisStyle, emphasisModel, emphasisSpecified, opt, true);
+  }
+  normalStyle.text = normalStyleText;
+  emphasisStyle.text = emphasisStyleText;
+}
+function modifyLabelStyle(el, normalStyleProps, emphasisStyleProps) {
+  var elStyle = el.style;
+  if (normalStyleProps) {
+    rollbackDefaultTextStyle(elStyle);
+    el.setStyle(normalStyleProps);
+    applyDefaultTextStyle(elStyle);
+  }
+  elStyle = el.__hoverStl;
+  if (emphasisStyleProps && elStyle) {
+    rollbackDefaultTextStyle(elStyle);
+    zrUtil$c.extend(elStyle, emphasisStyleProps);
+    applyDefaultTextStyle(elStyle);
+  }
+}
+function setTextStyle(textStyle2, textStyleModel, specifiedTextStyle, opt, isEmphasis) {
+  setTextStyleCommon$1(textStyle2, textStyleModel, opt, isEmphasis);
+  specifiedTextStyle && zrUtil$c.extend(textStyle2, specifiedTextStyle);
+  return textStyle2;
+}
+function setText(textStyle2, labelModel, defaultColor) {
+  var opt = {
+    isRectText: true
+  };
+  var isEmphasis;
+  if (defaultColor === false) {
+    isEmphasis = true;
+  } else {
+    opt.autoColor = defaultColor;
+  }
+  setTextStyleCommon$1(textStyle2, labelModel, opt, isEmphasis);
+}
+function setTextStyleCommon$1(textStyle2, textStyleModel, opt, isEmphasis) {
+  opt = opt || EMPTY_OBJ$1;
+  if (opt.isRectText) {
+    var textPosition;
+    if (opt.getTextPosition) {
+      textPosition = opt.getTextPosition(textStyleModel, isEmphasis);
+    } else {
+      textPosition = textStyleModel.getShallow("position") || (isEmphasis ? null : "inside");
+      textPosition === "outside" && (textPosition = "top");
+    }
+    textStyle2.textPosition = textPosition;
+    textStyle2.textOffset = textStyleModel.getShallow("offset");
+    var labelRotate = textStyleModel.getShallow("rotate");
+    labelRotate != null && (labelRotate *= Math.PI / 180);
+    textStyle2.textRotation = labelRotate;
+    textStyle2.textDistance = zrUtil$c.retrieve2(textStyleModel.getShallow("distance"), isEmphasis ? null : 5);
+  }
+  var ecModel = textStyleModel.ecModel;
+  var globalTextStyle = ecModel && ecModel.option.textStyle;
+  var richItemNames = getRichItemNames$1(textStyleModel);
+  var richResult;
+  if (richItemNames) {
+    richResult = {};
+    for (var name2 in richItemNames) {
+      if (richItemNames.hasOwnProperty(name2)) {
+        var richTextStyle = textStyleModel.getModel(["rich", name2]);
+        setTokenTextStyle$1(richResult[name2] = {}, richTextStyle, globalTextStyle, opt, isEmphasis);
+      }
+    }
+  }
+  textStyle2.rich = richResult;
+  setTokenTextStyle$1(textStyle2, textStyleModel, globalTextStyle, opt, isEmphasis, true);
+  if (opt.forceRich && !opt.textStyle) {
+    opt.textStyle = {};
+  }
+  return textStyle2;
+}
+function getRichItemNames$1(textStyleModel) {
+  var richItemNameMap;
+  while (textStyleModel && textStyleModel !== textStyleModel.ecModel) {
+    var rich = (textStyleModel.option || EMPTY_OBJ$1).rich;
+    if (rich) {
+      richItemNameMap = richItemNameMap || {};
+      for (var name2 in rich) {
+        if (rich.hasOwnProperty(name2)) {
+          richItemNameMap[name2] = 1;
+        }
+      }
+    }
+    textStyleModel = textStyleModel.parentModel;
+  }
+  return richItemNameMap;
+}
+function setTokenTextStyle$1(textStyle2, textStyleModel, globalTextStyle, opt, isEmphasis, isBlock) {
+  globalTextStyle = !isEmphasis && globalTextStyle || EMPTY_OBJ$1;
+  textStyle2.textFill = getAutoColor(textStyleModel.getShallow("color"), opt) || globalTextStyle.color;
+  textStyle2.textStroke = getAutoColor(textStyleModel.getShallow("textBorderColor"), opt) || globalTextStyle.textBorderColor;
+  textStyle2.textStrokeWidth = zrUtil$c.retrieve2(textStyleModel.getShallow("textBorderWidth"), globalTextStyle.textBorderWidth);
+  if (!isEmphasis) {
+    if (isBlock) {
+      textStyle2.insideRollbackOpt = opt;
+      applyDefaultTextStyle(textStyle2);
+    }
+    if (textStyle2.textFill == null) {
+      textStyle2.textFill = opt.autoColor;
+    }
+  }
+  textStyle2.fontStyle = textStyleModel.getShallow("fontStyle") || globalTextStyle.fontStyle;
+  textStyle2.fontWeight = textStyleModel.getShallow("fontWeight") || globalTextStyle.fontWeight;
+  textStyle2.fontSize = textStyleModel.getShallow("fontSize") || globalTextStyle.fontSize;
+  textStyle2.fontFamily = textStyleModel.getShallow("fontFamily") || globalTextStyle.fontFamily;
+  textStyle2.textAlign = textStyleModel.getShallow("align");
+  textStyle2.textVerticalAlign = textStyleModel.getShallow("verticalAlign") || textStyleModel.getShallow("baseline");
+  textStyle2.textLineHeight = textStyleModel.getShallow("lineHeight");
+  textStyle2.textWidth = textStyleModel.getShallow("width");
+  textStyle2.textHeight = textStyleModel.getShallow("height");
+  textStyle2.textTag = textStyleModel.getShallow("tag");
+  if (!isBlock || !opt.disableBox) {
+    textStyle2.textBackgroundColor = getAutoColor(textStyleModel.getShallow("backgroundColor"), opt);
+    textStyle2.textPadding = textStyleModel.getShallow("padding");
+    textStyle2.textBorderColor = getAutoColor(textStyleModel.getShallow("borderColor"), opt);
+    textStyle2.textBorderWidth = textStyleModel.getShallow("borderWidth");
+    textStyle2.textBorderRadius = textStyleModel.getShallow("borderRadius");
+    textStyle2.textBoxShadowColor = textStyleModel.getShallow("shadowColor");
+    textStyle2.textBoxShadowBlur = textStyleModel.getShallow("shadowBlur");
+    textStyle2.textBoxShadowOffsetX = textStyleModel.getShallow("shadowOffsetX");
+    textStyle2.textBoxShadowOffsetY = textStyleModel.getShallow("shadowOffsetY");
+  }
+  textStyle2.textShadowColor = textStyleModel.getShallow("textShadowColor") || globalTextStyle.textShadowColor;
+  textStyle2.textShadowBlur = textStyleModel.getShallow("textShadowBlur") || globalTextStyle.textShadowBlur;
+  textStyle2.textShadowOffsetX = textStyleModel.getShallow("textShadowOffsetX") || globalTextStyle.textShadowOffsetX;
+  textStyle2.textShadowOffsetY = textStyleModel.getShallow("textShadowOffsetY") || globalTextStyle.textShadowOffsetY;
+}
+function getAutoColor(color2, opt) {
+  return color2 !== "auto" ? color2 : opt && opt.autoColor ? opt.autoColor : null;
+}
+function applyDefaultTextStyle(textStyle2) {
+  var textPosition = textStyle2.textPosition;
+  var opt = textStyle2.insideRollbackOpt;
+  var insideRollback;
+  if (opt && textStyle2.textFill == null) {
+    var autoColor = opt.autoColor;
+    var isRectText = opt.isRectText;
+    var useInsideStyle = opt.useInsideStyle;
+    var useInsideStyleCache = useInsideStyle !== false && (useInsideStyle === true || isRectText && textPosition && typeof textPosition === "string" && textPosition.indexOf("inside") >= 0);
+    var useAutoColorCache = !useInsideStyleCache && autoColor != null;
+    if (useInsideStyleCache || useAutoColorCache) {
+      insideRollback = {
+        textFill: textStyle2.textFill,
+        textStroke: textStyle2.textStroke,
+        textStrokeWidth: textStyle2.textStrokeWidth
+      };
+    }
+    if (useInsideStyleCache) {
+      textStyle2.textFill = "#fff";
+      if (textStyle2.textStroke == null) {
+        textStyle2.textStroke = autoColor;
+        textStyle2.textStrokeWidth == null && (textStyle2.textStrokeWidth = 2);
+      }
+    }
+    if (useAutoColorCache) {
+      textStyle2.textFill = autoColor;
+    }
+  }
+  textStyle2.insideRollback = insideRollback;
+}
+function rollbackDefaultTextStyle(style2) {
+  var insideRollback = style2.insideRollback;
+  if (insideRollback) {
+    style2.textFill = insideRollback.textFill;
+    style2.textStroke = insideRollback.textStroke;
+    style2.textStrokeWidth = insideRollback.textStrokeWidth;
+    style2.insideRollback = null;
+  }
+}
+function getFont$1(opt, ecModel) {
+  var gTextStyleModel = ecModel && ecModel.getModel("textStyle");
+  return zrUtil$c.trim([
+    // FIXME in node-canvas fontWeight is before fontStyle
+    opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow("fontStyle") || "",
+    opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow("fontWeight") || "",
+    (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow("fontSize") || 12) + "px",
+    opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow("fontFamily") || "sans-serif"
+  ].join(" "));
+}
+function animateOrSetProps$1(isUpdate, el, props2, animatableModel, dataIndex, cb) {
+  if (typeof dataIndex === "function") {
+    cb = dataIndex;
+    dataIndex = null;
+  }
+  var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();
+  if (animationEnabled) {
+    var postfix = isUpdate ? "Update" : "";
+    var duration = animatableModel.getShallow("animationDuration" + postfix);
+    var animationEasing = animatableModel.getShallow("animationEasing" + postfix);
+    var animationDelay = animatableModel.getShallow("animationDelay" + postfix);
+    if (typeof animationDelay === "function") {
+      animationDelay = animationDelay(dataIndex, animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);
+    }
+    if (typeof duration === "function") {
+      duration = duration(dataIndex);
+    }
+    duration > 0 ? el.animateTo(props2, duration, animationDelay || 0, animationEasing, cb, !!cb) : (el.stopAnimation(), el.attr(props2), cb && cb());
+  } else {
+    el.stopAnimation();
+    el.attr(props2);
+    cb && cb();
+  }
+}
+function updateProps$2(el, props2, animatableModel, dataIndex, cb) {
+  animateOrSetProps$1(true, el, props2, animatableModel, dataIndex, cb);
+}
+function initProps$1(el, props2, animatableModel, dataIndex, cb) {
+  animateOrSetProps$1(false, el, props2, animatableModel, dataIndex, cb);
+}
+function getTransform$2(target, ancestor) {
+  var mat = matrix$2.identity([]);
+  while (target && target !== ancestor) {
+    matrix$2.mul(mat, target.getLocalTransform(), mat);
+    target = target.parent;
+  }
+  return mat;
+}
+function applyTransform$2(target, transform3, invert2) {
+  if (transform3 && !zrUtil$c.isArrayLike(transform3)) {
+    transform3 = Transformable$2.getLocalTransform(transform3);
+  }
+  if (invert2) {
+    transform3 = matrix$2.invert([], transform3);
+  }
+  return vector$1.applyTransform([], target, transform3);
+}
+function transformDirection$1(direction, transform3, invert2) {
+  var hBase = transform3[4] === 0 || transform3[5] === 0 || transform3[0] === 0 ? 1 : Math.abs(2 * transform3[4] / transform3[0]);
+  var vBase = transform3[4] === 0 || transform3[5] === 0 || transform3[2] === 0 ? 1 : Math.abs(2 * transform3[4] / transform3[2]);
+  var vertex = [direction === "left" ? -hBase : direction === "right" ? hBase : 0, direction === "top" ? -vBase : direction === "bottom" ? vBase : 0];
+  vertex = applyTransform$2(vertex, transform3, invert2);
+  return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? "right" : "left" : vertex[1] > 0 ? "bottom" : "top";
+}
+function groupTransition$1(g1, g2, animatableModel, cb) {
+  if (!g1 || !g2) {
+    return;
+  }
+  function getElMap(g3) {
+    var elMap = {};
+    g3.traverse(function(el) {
+      if (!el.isGroup && el.anid) {
+        elMap[el.anid] = el;
+      }
+    });
+    return elMap;
+  }
+  function getAnimatableProps(el) {
+    var obj2 = {
+      position: vector$1.clone(el.position),
+      rotation: el.rotation
+    };
+    if (el.shape) {
+      obj2.shape = zrUtil$c.extend({}, el.shape);
+    }
+    return obj2;
+  }
+  var elMap1 = getElMap(g1);
+  g2.traverse(function(el) {
+    if (!el.isGroup && el.anid) {
+      var oldEl = elMap1[el.anid];
+      if (oldEl) {
+        var newProp = getAnimatableProps(el);
+        el.attr(getAnimatableProps(oldEl));
+        updateProps$2(el, newProp, animatableModel, el.dataIndex);
+      }
+    }
+  });
+}
+function clipPointsByRect$1(points2, rect) {
+  return zrUtil$c.map(points2, function(point) {
+    var x2 = point[0];
+    x2 = mathMax$b(x2, rect.x);
+    x2 = mathMin$b(x2, rect.x + rect.width);
+    var y2 = point[1];
+    y2 = mathMax$b(y2, rect.y);
+    y2 = mathMin$b(y2, rect.y + rect.height);
+    return [x2, y2];
+  });
+}
+function clipRectByRect$1(targetRect, rect) {
+  var x2 = mathMax$b(targetRect.x, rect.x);
+  var x22 = mathMin$b(targetRect.x + targetRect.width, rect.x + rect.width);
+  var y2 = mathMax$b(targetRect.y, rect.y);
+  var y22 = mathMin$b(targetRect.y + targetRect.height, rect.y + rect.height);
+  if (x22 >= x2 && y22 >= y2) {
+    return {
+      x: x2,
+      y: y2,
+      width: x22 - x2,
+      height: y22 - y2
+    };
+  }
+}
+function createIcon$1(iconStr, opt, rect) {
+  opt = zrUtil$c.extend({
+    rectHover: true
+  }, opt);
+  var style2 = opt.style = {
+    strokeNoScale: true
+  };
+  rect = rect || {
+    x: -1,
+    y: -1,
+    width: 2,
+    height: 2
+  };
+  if (iconStr) {
+    return iconStr.indexOf("image://") === 0 ? (style2.image = iconStr.slice(8), zrUtil$c.defaults(style2, rect), new ZImage$1(opt)) : makePath$1(iconStr.replace("path://", ""), opt, rect, "center");
+  }
+}
+function linePolygonIntersect$1(a1x, a1y, a2x, a2y, points2) {
+  for (var i2 = 0, p2 = points2[points2.length - 1]; i2 < points2.length; i2++) {
+    var p3 = points2[i2];
+    if (lineLineIntersect$2(a1x, a1y, a2x, a2y, p3[0], p3[1], p2[0], p2[1])) {
+      return true;
+    }
+    p2 = p3;
+  }
+}
+function lineLineIntersect$2(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {
+  var mx = a2x - a1x;
+  var my = a2y - a1y;
+  var nx = b2x - b1x;
+  var ny = b2y - b1y;
+  var nmCrossProduct = crossProduct2d$2(nx, ny, mx, my);
+  if (nearZero$1(nmCrossProduct)) {
+    return false;
+  }
+  var b1a1x = a1x - b1x;
+  var b1a1y = a1y - b1y;
+  var q2 = crossProduct2d$2(b1a1x, b1a1y, mx, my) / nmCrossProduct;
+  if (q2 < 0 || q2 > 1) {
+    return false;
+  }
+  var p2 = crossProduct2d$2(b1a1x, b1a1y, nx, ny) / nmCrossProduct;
+  if (p2 < 0 || p2 > 1) {
+    return false;
+  }
+  return true;
+}
+function crossProduct2d$2(x1, y1, x2, y2) {
+  return x1 * y2 - x2 * y1;
+}
+function nearZero$1(val) {
+  return val <= 1e-6 && val >= -1e-6;
+}
+registerShape$1("circle", Circle$3);
+registerShape$1("sector", Sector$2);
+registerShape$1("ring", Ring$2);
+registerShape$1("polygon", Polygon$3);
+registerShape$1("polyline", Polyline$5);
+registerShape$1("rect", Rect$5);
+registerShape$1("line", Line$5);
+registerShape$1("bezierCurve", BezierCurve$2);
+registerShape$1("arc", Arc$2);
+graphic$6.Z2_EMPHASIS_LIFT = Z2_EMPHASIS_LIFT$1;
+graphic$6.CACHED_LABEL_STYLE_PROPERTIES = CACHED_LABEL_STYLE_PROPERTIES;
+graphic$6.extendShape = extendShape$1;
+graphic$6.extendPath = extendPath$1;
+graphic$6.registerShape = registerShape$1;
+graphic$6.getShapeClass = getShapeClass$1;
+graphic$6.makePath = makePath$1;
+graphic$6.makeImage = makeImage$1;
+graphic$6.mergePath = mergePath$2;
+graphic$6.resizePath = resizePath$1;
+graphic$6.subPixelOptimizeLine = subPixelOptimizeLine$2;
+graphic$6.subPixelOptimizeRect = subPixelOptimizeRect$2;
+graphic$6.subPixelOptimize = subPixelOptimize$2;
+graphic$6.setElementHoverStyle = setElementHoverStyle;
+graphic$6.setHoverStyle = setHoverStyle;
+graphic$6.setAsHighDownDispatcher = setAsHighDownDispatcher$1;
+graphic$6.isHighDownDispatcher = isHighDownDispatcher$1;
+graphic$6.getHighlightDigit = getHighlightDigit$1;
+graphic$6.setLabelStyle = setLabelStyle$1;
+graphic$6.modifyLabelStyle = modifyLabelStyle;
+graphic$6.setTextStyle = setTextStyle;
+graphic$6.setText = setText;
+graphic$6.getFont = getFont$1;
+graphic$6.updateProps = updateProps$2;
+graphic$6.initProps = initProps$1;
+graphic$6.getTransform = getTransform$2;
+graphic$6.applyTransform = applyTransform$2;
+graphic$6.transformDirection = transformDirection$1;
+graphic$6.groupTransition = groupTransition$1;
+graphic$6.clipPointsByRect = clipPointsByRect$1;
+graphic$6.clipRectByRect = clipRectByRect$1;
+graphic$6.createIcon = createIcon$1;
+graphic$6.linePolygonIntersect = linePolygonIntersect$1;
+graphic$6.lineLineIntersect = lineLineIntersect$2;
+var textContain$2 = text;
+var graphicUtil$1 = graphic$6;
+var PATH_COLOR$1 = ["textStyle", "color"];
+var _default$t = {
+  /**
+   * Get color property or get color from option.textStyle.color
+   * @param {boolean} [isEmphasis]
+   * @return {string}
+   */
+  getTextColor: function(isEmphasis) {
+    var ecModel = this.ecModel;
+    return this.getShallow("color") || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR$1) : null);
+  },
+  /**
+   * Create font string from fontStyle, fontWeight, fontSize, fontFamily
+   * @return {string}
+   */
+  getFont: function() {
+    return graphicUtil$1.getFont({
+      fontStyle: this.getShallow("fontStyle"),
+      fontWeight: this.getShallow("fontWeight"),
+      fontSize: this.getShallow("fontSize"),
+      fontFamily: this.getShallow("fontFamily")
+    }, this.ecModel);
+  },
+  getTextRect: function(text2) {
+    return textContain$2.getBoundingRect(text2, this.getFont(), this.getShallow("align"), this.getShallow("verticalAlign") || this.getShallow("baseline"), this.getShallow("padding"), this.getShallow("lineHeight"), this.getShallow("rich"), this.getShallow("truncateText"));
+  }
+};
+var textStyle = _default$t;
+var makeStyleMapper$1 = makeStyleMapper$4;
+var getItemStyle$1 = makeStyleMapper$1([["fill", "color"], ["stroke", "borderColor"], ["lineWidth", "borderWidth"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["textPosition"], ["textAlign"]]);
+var _default$s = {
+  getItemStyle: function(excludes, includes) {
+    var style2 = getItemStyle$1(this, excludes, includes);
+    var lineDash = this.getBorderLineDash();
+    lineDash && (style2.lineDash = lineDash);
+    return style2;
+  },
+  getBorderLineDash: function() {
+    var lineType = this.get("borderType");
+    return lineType === "solid" || lineType == null ? null : lineType === "dashed" ? [5, 5] : [1, 1];
+  }
+};
+var itemStyle = _default$s;
+var zrUtil$b = util$a;
+var env$3 = env_1;
+var _model$7 = model;
+var makeInner$4 = _model$7.makeInner;
+var _clazz$2 = clazz;
+var enableClassExtend$1 = _clazz$2.enableClassExtend;
+var enableClassCheck$1 = _clazz$2.enableClassCheck;
+var lineStyleMixin = lineStyle;
+var areaStyleMixin = areaStyle;
+var textStyleMixin = textStyle;
+var itemStyleMixin = itemStyle;
+var mixin$2 = zrUtil$b.mixin;
+var inner$q = makeInner$4();
+function Model$4(option, parentModel, ecModel) {
+  this.parentModel = parentModel;
+  this.ecModel = ecModel;
+  this.option = option;
+}
+Model$4.prototype = {
+  constructor: Model$4,
+  /**
+   * Model 的初始化函数
+   * @param {Object} option
+   */
+  init: null,
+  /**
+   * 从新的 Option merge
+   */
+  mergeOption: function(option) {
+    zrUtil$b.merge(this.option, option, true);
+  },
+  /**
+   * @param {string|Array.<string>} path
+   * @param {boolean} [ignoreParent=false]
+   * @return {*}
+   */
+  get: function(path2, ignoreParent) {
+    if (path2 == null) {
+      return this.option;
+    }
+    return doGet(this.option, this.parsePath(path2), !ignoreParent && getParent(this, path2));
+  },
+  /**
+   * @param {string} key
+   * @param {boolean} [ignoreParent=false]
+   * @return {*}
+   */
+  getShallow: function(key2, ignoreParent) {
+    var option = this.option;
+    var val = option == null ? option : option[key2];
+    var parentModel = !ignoreParent && getParent(this, key2);
+    if (val == null && parentModel) {
+      val = parentModel.getShallow(key2);
+    }
+    return val;
+  },
+  /**
+   * @param {string|Array.<string>} [path]
+   * @param {module:echarts/model/Model} [parentModel]
+   * @return {module:echarts/model/Model}
+   */
+  getModel: function(path2, parentModel) {
+    var obj2 = path2 == null ? this.option : doGet(this.option, path2 = this.parsePath(path2));
+    var thisParentModel;
+    parentModel = parentModel || (thisParentModel = getParent(this, path2)) && thisParentModel.getModel(path2);
+    return new Model$4(obj2, parentModel, this.ecModel);
+  },
+  /**
+   * If model has option
+   */
+  isEmpty: function() {
+    return this.option == null;
+  },
+  restoreData: function() {
+  },
+  // Pending
+  clone: function() {
+    var Ctor = this.constructor;
+    return new Ctor(zrUtil$b.clone(this.option));
+  },
+  setReadOnly: function(properties) {
+  },
+  // If path is null/undefined, return null/undefined.
+  parsePath: function(path2) {
+    if (typeof path2 === "string") {
+      path2 = path2.split(".");
+    }
+    return path2;
+  },
+  /**
+   * @param {Function} getParentMethod
+   *        param {Array.<string>|string} path
+   *        return {module:echarts/model/Model}
+   */
+  customizeGetParent: function(getParentMethod) {
+    inner$q(this).getParent = getParentMethod;
+  },
+  isAnimationEnabled: function() {
+    if (!env$3.node) {
+      if (this.option.animation != null) {
+        return !!this.option.animation;
+      } else if (this.parentModel) {
+        return this.parentModel.isAnimationEnabled();
+      }
+    }
+  }
+};
+function doGet(obj2, pathArr, parentModel) {
+  for (var i2 = 0; i2 < pathArr.length; i2++) {
+    if (!pathArr[i2]) {
+      continue;
+    }
+    obj2 = obj2 && typeof obj2 === "object" ? obj2[pathArr[i2]] : null;
+    if (obj2 == null) {
+      break;
+    }
+  }
+  if (obj2 == null && parentModel) {
+    obj2 = parentModel.get(pathArr);
+  }
+  return obj2;
+}
+function getParent(model2, path2) {
+  var getParentMethod = inner$q(model2).getParent;
+  return getParentMethod ? getParentMethod.call(model2, path2) : model2.parentModel;
+}
+enableClassExtend$1(Model$4);
+enableClassCheck$1(Model$4);
+mixin$2(Model$4, lineStyleMixin);
+mixin$2(Model$4, areaStyleMixin);
+mixin$2(Model$4, textStyleMixin);
+mixin$2(Model$4, itemStyleMixin);
+var _default$r = Model$4;
+var Model_1 = _default$r;
+var component = {};
+var zrUtil$a = util$a;
+var _clazz$1 = clazz;
+var parseClassType$2 = _clazz$1.parseClassType;
+var base$1 = 0;
+function getUID$2(type2) {
+  return [type2 || "", base$1++, Math.random().toFixed(5)].join("_");
+}
+function enableSubTypeDefaulter$1(entity) {
+  var subTypeDefaulters = {};
+  entity.registerSubTypeDefaulter = function(componentType, defaulter) {
+    componentType = parseClassType$2(componentType);
+    subTypeDefaulters[componentType.main] = defaulter;
+  };
+  entity.determineSubType = function(componentType, option) {
+    var type2 = option.type;
+    if (!type2) {
+      var componentTypeMain = parseClassType$2(componentType).main;
+      if (entity.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {
+        type2 = subTypeDefaulters[componentTypeMain](option);
+      }
+    }
+    return type2;
+  };
+  return entity;
+}
+function enableTopologicalTravel$1(entity, dependencyGetter) {
+  entity.topologicalTravel = function(targetNameList, fullNameList, callback, context) {
+    if (!targetNameList.length) {
+      return;
+    }
+    var result2 = makeDepndencyGraph(fullNameList);
+    var graph2 = result2.graph;
+    var stack = result2.noEntryList;
+    var targetNameSet = {};
+    zrUtil$a.each(targetNameList, function(name2) {
+      targetNameSet[name2] = true;
+    });
+    while (stack.length) {
+      var currComponentType = stack.pop();
+      var currVertex = graph2[currComponentType];
+      var isInTargetNameSet = !!targetNameSet[currComponentType];
+      if (isInTargetNameSet) {
+        callback.call(context, currComponentType, currVertex.originalDeps.slice());
+        delete targetNameSet[currComponentType];
+      }
+      zrUtil$a.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);
+    }
+    zrUtil$a.each(targetNameSet, function() {
+      throw new Error("Circle dependency may exists");
+    });
+    function removeEdge(succComponentType) {
+      graph2[succComponentType].entryCount--;
+      if (graph2[succComponentType].entryCount === 0) {
+        stack.push(succComponentType);
+      }
+    }
+    function removeEdgeAndAdd(succComponentType) {
+      targetNameSet[succComponentType] = true;
+      removeEdge(succComponentType);
+    }
+  };
+  function makeDepndencyGraph(fullNameList) {
+    var graph2 = {};
+    var noEntryList = [];
+    zrUtil$a.each(fullNameList, function(name2) {
+      var thisItem = createDependencyGraphItem(graph2, name2);
+      var originalDeps = thisItem.originalDeps = dependencyGetter(name2);
+      var availableDeps = getAvailableDependencies(originalDeps, fullNameList);
+      thisItem.entryCount = availableDeps.length;
+      if (thisItem.entryCount === 0) {
+        noEntryList.push(name2);
+      }
+      zrUtil$a.each(availableDeps, function(dependentName) {
+        if (zrUtil$a.indexOf(thisItem.predecessor, dependentName) < 0) {
+          thisItem.predecessor.push(dependentName);
+        }
+        var thatItem = createDependencyGraphItem(graph2, dependentName);
+        if (zrUtil$a.indexOf(thatItem.successor, dependentName) < 0) {
+          thatItem.successor.push(name2);
+        }
+      });
+    });
+    return {
+      graph: graph2,
+      noEntryList
+    };
+  }
+  function createDependencyGraphItem(graph2, name2) {
+    if (!graph2[name2]) {
+      graph2[name2] = {
+        predecessor: [],
+        successor: []
+      };
+    }
+    return graph2[name2];
+  }
+  function getAvailableDependencies(originalDeps, fullNameList) {
+    var availableDeps = [];
+    zrUtil$a.each(originalDeps, function(dep) {
+      zrUtil$a.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);
+    });
+    return availableDeps;
+  }
+}
+component.getUID = getUID$2;
+component.enableSubTypeDefaulter = enableSubTypeDefaulter$1;
+component.enableTopologicalTravel = enableTopologicalTravel$1;
+var layout$5 = {};
+var number$1 = {};
+var hasRequiredNumber;
+function requireNumber() {
+  if (hasRequiredNumber)
+    return number$1;
+  hasRequiredNumber = 1;
+  var zrUtil2 = util$a;
+  var RADIAN_EPSILON2 = 1e-4;
+  function _trim2(str) {
+    return str.replace(/^\s+|\s+$/g, "");
+  }
+  function linearMap2(val, domain, range2, clamp2) {
+    var subDomain = domain[1] - domain[0];
+    var subRange = range2[1] - range2[0];
+    if (subDomain === 0) {
+      return subRange === 0 ? range2[0] : (range2[0] + range2[1]) / 2;
+    }
+    if (clamp2) {
+      if (subDomain > 0) {
+        if (val <= domain[0]) {
+          return range2[0];
+        } else if (val >= domain[1]) {
+          return range2[1];
+        }
+      } else {
+        if (val >= domain[0]) {
+          return range2[0];
+        } else if (val <= domain[1]) {
+          return range2[1];
+        }
+      }
+    } else {
+      if (val === domain[0]) {
+        return range2[0];
+      }
+      if (val === domain[1]) {
+        return range2[1];
+      }
+    }
+    return (val - domain[0]) / subDomain * subRange + range2[0];
+  }
+  function parsePercent2(percent, all3) {
+    switch (percent) {
+      case "center":
+      case "middle":
+        percent = "50%";
+        break;
+      case "left":
+      case "top":
+        percent = "0%";
+        break;
+      case "right":
+      case "bottom":
+        percent = "100%";
+        break;
+    }
+    if (typeof percent === "string") {
+      if (_trim2(percent).match(/%$/)) {
+        return parseFloat(percent) / 100 * all3;
+      }
+      return parseFloat(percent);
+    }
+    return percent == null ? NaN : +percent;
+  }
+  function round2(x2, precision, returnStr) {
+    if (precision == null) {
+      precision = 10;
+    }
+    precision = Math.min(Math.max(0, precision), 20);
+    x2 = (+x2).toFixed(precision);
+    return returnStr ? x2 : +x2;
+  }
+  function asc2(arr) {
+    arr.sort(function(a2, b2) {
+      return a2 - b2;
+    });
+    return arr;
+  }
+  function getPrecision2(val) {
+    val = +val;
+    if (isNaN(val)) {
+      return 0;
+    }
+    var e2 = 1;
+    var count2 = 0;
+    while (Math.round(val * e2) / e2 !== val) {
+      e2 *= 10;
+      count2++;
+    }
+    return count2;
+  }
+  function getPrecisionSafe2(val) {
+    var str = val.toString();
+    var eIndex = str.indexOf("e");
+    if (eIndex > 0) {
+      var precision = +str.slice(eIndex + 1);
+      return precision < 0 ? -precision : 0;
+    } else {
+      var dotIndex = str.indexOf(".");
+      return dotIndex < 0 ? 0 : str.length - 1 - dotIndex;
+    }
+  }
+  function getPixelPrecision2(dataExtent, pixelExtent) {
+    var log2 = Math.log;
+    var LN10 = Math.LN10;
+    var dataQuantity = Math.floor(log2(dataExtent[1] - dataExtent[0]) / LN10);
+    var sizeQuantity = Math.round(log2(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10);
+    var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);
+    return !isFinite(precision) ? 20 : precision;
+  }
+  function getPercentWithPrecision2(valueList, idx, precision) {
+    if (!valueList[idx]) {
+      return 0;
+    }
+    var sum2 = zrUtil2.reduce(valueList, function(acc, val) {
+      return acc + (isNaN(val) ? 0 : val);
+    }, 0);
+    if (sum2 === 0) {
+      return 0;
+    }
+    var digits = Math.pow(10, precision);
+    var votesPerQuota = zrUtil2.map(valueList, function(val) {
+      return (isNaN(val) ? 0 : val) / sum2 * digits * 100;
+    });
+    var targetSeats = digits * 100;
+    var seats = zrUtil2.map(votesPerQuota, function(votes) {
+      return Math.floor(votes);
+    });
+    var currentSum = zrUtil2.reduce(seats, function(acc, val) {
+      return acc + val;
+    }, 0);
+    var remainder = zrUtil2.map(votesPerQuota, function(votes, idx2) {
+      return votes - seats[idx2];
+    });
+    while (currentSum < targetSeats) {
+      var max3 = Number.NEGATIVE_INFINITY;
+      var maxId = null;
+      for (var i2 = 0, len2 = remainder.length; i2 < len2; ++i2) {
+        if (remainder[i2] > max3) {
+          max3 = remainder[i2];
+          maxId = i2;
+        }
+      }
+      ++seats[maxId];
+      remainder[maxId] = 0;
+      ++currentSum;
+    }
+    return seats[idx] / digits;
+  }
+  var MAX_SAFE_INTEGER2 = 9007199254740991;
+  function remRadian2(radian) {
+    var pi2 = Math.PI * 2;
+    return (radian % pi2 + pi2) % pi2;
+  }
+  function isRadianAroundZero2(val) {
+    return val > -RADIAN_EPSILON2 && val < RADIAN_EPSILON2;
+  }
+  var TIME_REG2 = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;
+  function parseDate2(value) {
+    if (value instanceof Date) {
+      return value;
+    } else if (typeof value === "string") {
+      var match = TIME_REG2.exec(value);
+      if (!match) {
+        return /* @__PURE__ */ new Date(NaN);
+      }
+      if (!match[8]) {
+        return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, +match[7] || 0);
+      } else {
+        var hour = +match[4] || 0;
+        if (match[8].toUpperCase() !== "Z") {
+          hour -= match[8].slice(0, 3);
+        }
+        return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, +match[7] || 0));
+      }
+    } else if (value == null) {
+      return /* @__PURE__ */ new Date(NaN);
+    }
+    return new Date(Math.round(value));
+  }
+  function quantity2(val) {
+    return Math.pow(10, quantityExponent2(val));
+  }
+  function quantityExponent2(val) {
+    if (val === 0) {
+      return 0;
+    }
+    var exp = Math.floor(Math.log(val) / Math.LN10);
+    if (val / Math.pow(10, exp) >= 10) {
+      exp++;
+    }
+    return exp;
+  }
+  function nice2(val, round5) {
+    var exponent = quantityExponent2(val);
+    var exp10 = Math.pow(10, exponent);
+    var f2 = val / exp10;
+    var nf;
+    if (round5) {
+      if (f2 < 1.5) {
+        nf = 1;
+      } else if (f2 < 2.5) {
+        nf = 2;
+      } else if (f2 < 4) {
+        nf = 3;
+      } else if (f2 < 7) {
+        nf = 5;
+      } else {
+        nf = 10;
+      }
+    } else {
+      if (f2 < 1) {
+        nf = 1;
+      } else if (f2 < 2) {
+        nf = 2;
+      } else if (f2 < 3) {
+        nf = 3;
+      } else if (f2 < 5) {
+        nf = 5;
+      } else {
+        nf = 10;
+      }
+    }
+    val = nf * exp10;
+    return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;
+  }
+  function quantile2(ascArr, p2) {
+    var H2 = (ascArr.length - 1) * p2 + 1;
+    var h3 = Math.floor(H2);
+    var v4 = +ascArr[h3 - 1];
+    var e2 = H2 - h3;
+    return e2 ? v4 + e2 * (ascArr[h3] - v4) : v4;
+  }
+  function reformIntervals2(list2) {
+    list2.sort(function(a2, b2) {
+      return littleThan2(a2, b2, 0) ? -1 : 1;
+    });
+    var curr = -Infinity;
+    var currClose = 1;
+    for (var i2 = 0; i2 < list2.length; ) {
+      var interval = list2[i2].interval;
+      var close2 = list2[i2].close;
+      for (var lg = 0; lg < 2; lg++) {
+        if (interval[lg] <= curr) {
+          interval[lg] = curr;
+          close2[lg] = !lg ? 1 - currClose : 1;
+        }
+        curr = interval[lg];
+        currClose = close2[lg];
+      }
+      if (interval[0] === interval[1] && close2[0] * close2[1] !== 1) {
+        list2.splice(i2, 1);
+      } else {
+        i2++;
+      }
+    }
+    return list2;
+    function littleThan2(a2, b2, lg2) {
+      return a2.interval[lg2] < b2.interval[lg2] || a2.interval[lg2] === b2.interval[lg2] && (a2.close[lg2] - b2.close[lg2] === (!lg2 ? 1 : -1) || !lg2 && littleThan2(a2, b2, 1));
+    }
+  }
+  function isNumeric2(v4) {
+    return v4 - parseFloat(v4) >= 0;
+  }
+  number$1.linearMap = linearMap2;
+  number$1.parsePercent = parsePercent2;
+  number$1.round = round2;
+  number$1.asc = asc2;
+  number$1.getPrecision = getPrecision2;
+  number$1.getPrecisionSafe = getPrecisionSafe2;
+  number$1.getPixelPrecision = getPixelPrecision2;
+  number$1.getPercentWithPrecision = getPercentWithPrecision2;
+  number$1.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER2;
+  number$1.remRadian = remRadian2;
+  number$1.isRadianAroundZero = isRadianAroundZero2;
+  number$1.parseDate = parseDate2;
+  number$1.quantity = quantity2;
+  number$1.quantityExponent = quantityExponent2;
+  number$1.nice = nice2;
+  number$1.quantile = quantile2;
+  number$1.reformIntervals = reformIntervals2;
+  number$1.isNumeric = isNumeric2;
+  return number$1;
+}
+var format$6 = {};
+var zrUtil$9 = util$a;
+var textContain$1 = text;
+var numberUtil = requireNumber();
+function addCommas$2(x2) {
+  if (isNaN(x2)) {
+    return "-";
+  }
+  x2 = (x2 + "").split(".");
+  return x2[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (x2.length > 1 ? "." + x2[1] : "");
+}
+function toCamelCase$2(str, upperCaseFirst) {
+  str = (str || "").toLowerCase().replace(/-(.)/g, function(match, group1) {
+    return group1.toUpperCase();
+  });
+  if (upperCaseFirst && str) {
+    str = str.charAt(0).toUpperCase() + str.slice(1);
+  }
+  return str;
+}
+var normalizeCssArray$2 = zrUtil$9.normalizeCssArray;
+var replaceReg$1 = /([&<>"'])/g;
+var replaceMap$1 = {
+  "&": "&amp;",
+  "<": "&lt;",
+  ">": "&gt;",
+  '"': "&quot;",
+  "'": "&#39;"
+};
+function encodeHTML$2(source2) {
+  return source2 == null ? "" : (source2 + "").replace(replaceReg$1, function(str, c2) {
+    return replaceMap$1[c2];
+  });
+}
+var TPL_VAR_ALIAS$1 = ["a", "b", "c", "d", "e", "f", "g"];
+var wrapVar$1 = function(varName, seriesIdx) {
+  return "{" + varName + (seriesIdx == null ? "" : seriesIdx) + "}";
+};
+function formatTpl$2(tpl, paramsList, encode2) {
+  if (!zrUtil$9.isArray(paramsList)) {
+    paramsList = [paramsList];
+  }
+  var seriesLen = paramsList.length;
+  if (!seriesLen) {
+    return "";
+  }
+  var $vars = paramsList[0].$vars || [];
+  for (var i2 = 0; i2 < $vars.length; i2++) {
+    var alias = TPL_VAR_ALIAS$1[i2];
+    tpl = tpl.replace(wrapVar$1(alias), wrapVar$1(alias, 0));
+  }
+  for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {
+    for (var k2 = 0; k2 < $vars.length; k2++) {
+      var val = paramsList[seriesIdx][$vars[k2]];
+      tpl = tpl.replace(wrapVar$1(TPL_VAR_ALIAS$1[k2], seriesIdx), encode2 ? encodeHTML$2(val) : val);
+    }
+  }
+  return tpl;
+}
+function formatTplSimple$1(tpl, param2, encode2) {
+  zrUtil$9.each(param2, function(value, key2) {
+    tpl = tpl.replace("{" + key2 + "}", encode2 ? encodeHTML$2(value) : value);
+  });
+  return tpl;
+}
+function getTooltipMarker$3(opt, extraCssText) {
+  opt = zrUtil$9.isString(opt) ? {
+    color: opt,
+    extraCssText
+  } : opt || {};
+  var color2 = opt.color;
+  var type2 = opt.type;
+  var extraCssText = opt.extraCssText;
+  var renderMode = opt.renderMode || "html";
+  var markerId = opt.markerId || "X";
+  if (!color2) {
+    return "";
+  }
+  if (renderMode === "html") {
+    return type2 === "subItem" ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + encodeHTML$2(color2) + ";" + (extraCssText || "") + '"></span>' : '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + encodeHTML$2(color2) + ";" + (extraCssText || "") + '"></span>';
+  } else {
+    return {
+      renderMode,
+      content: "{marker" + markerId + "|}  ",
+      style: {
+        color: color2
+      }
+    };
+  }
+}
+function pad$2(str, len2) {
+  str += "";
+  return "0000".substr(0, len2 - str.length) + str;
+}
+function formatTime$2(tpl, value, isUTC) {
+  if (tpl === "week" || tpl === "month" || tpl === "quarter" || tpl === "half-year" || tpl === "year") {
+    tpl = "MM-dd\nyyyy";
+  }
+  var date = numberUtil.parseDate(value);
+  var utc = isUTC ? "UTC" : "";
+  var y2 = date["get" + utc + "FullYear"]();
+  var M2 = date["get" + utc + "Month"]() + 1;
+  var d2 = date["get" + utc + "Date"]();
+  var h3 = date["get" + utc + "Hours"]();
+  var m2 = date["get" + utc + "Minutes"]();
+  var s2 = date["get" + utc + "Seconds"]();
+  var S2 = date["get" + utc + "Milliseconds"]();
+  tpl = tpl.replace("MM", pad$2(M2, 2)).replace("M", M2).replace("yyyy", y2).replace("yy", y2 % 100).replace("dd", pad$2(d2, 2)).replace("d", d2).replace("hh", pad$2(h3, 2)).replace("h", h3).replace("mm", pad$2(m2, 2)).replace("m", m2).replace("ss", pad$2(s2, 2)).replace("s", s2).replace("SSS", pad$2(S2, 3));
+  return tpl;
+}
+function capitalFirst$1(str) {
+  return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;
+}
+var truncateText$1 = textContain$1.truncateText;
+function getTextBoundingRect(opt) {
+  return textContain$1.getBoundingRect(opt.text, opt.font, opt.textAlign, opt.textVerticalAlign, opt.textPadding, opt.textLineHeight, opt.rich, opt.truncate);
+}
+function getTextRect$1(text2, font, textAlign, textVerticalAlign, textPadding, rich, truncate2, textLineHeight) {
+  return textContain$1.getBoundingRect(text2, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate2);
+}
+function windowOpen$1(link, target) {
+  if (target === "_blank" || target === "blank") {
+    var blank = window.open();
+    blank.opener = null;
+    blank.location = link;
+  } else {
+    window.open(link, target);
+  }
+}
+format$6.addCommas = addCommas$2;
+format$6.toCamelCase = toCamelCase$2;
+format$6.normalizeCssArray = normalizeCssArray$2;
+format$6.encodeHTML = encodeHTML$2;
+format$6.formatTpl = formatTpl$2;
+format$6.formatTplSimple = formatTplSimple$1;
+format$6.getTooltipMarker = getTooltipMarker$3;
+format$6.formatTime = formatTime$2;
+format$6.capitalFirst = capitalFirst$1;
+format$6.truncateText = truncateText$1;
+format$6.getTextBoundingRect = getTextBoundingRect;
+format$6.getTextRect = getTextRect$1;
+format$6.windowOpen = windowOpen$1;
+var zrUtil$8 = util$a;
+var BoundingRect$2 = BoundingRect_1;
+var _number$1 = requireNumber();
+var parsePercent$2 = _number$1.parsePercent;
+var formatUtil = format$6;
+var each$r = zrUtil$8.each;
+var LOCATION_PARAMS$1 = ["left", "right", "top", "bottom", "width", "height"];
+var HV_NAMES$1 = [["width", "left", "right"], ["height", "top", "bottom"]];
+function boxLayout$2(orient, group, gap, maxWidth, maxHeight) {
+  var x2 = 0;
+  var y2 = 0;
+  if (maxWidth == null) {
+    maxWidth = Infinity;
+  }
+  if (maxHeight == null) {
+    maxHeight = Infinity;
+  }
+  var currentLineMaxSize = 0;
+  group.eachChild(function(child, idx) {
+    var position2 = child.position;
+    var rect = child.getBoundingRect();
+    var nextChild = group.childAt(idx + 1);
+    var nextChildRect = nextChild && nextChild.getBoundingRect();
+    var nextX;
+    var nextY;
+    if (orient === "horizontal") {
+      var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);
+      nextX = x2 + moveX;
+      if (nextX > maxWidth || child.newline) {
+        x2 = 0;
+        nextX = moveX;
+        y2 += currentLineMaxSize + gap;
+        currentLineMaxSize = rect.height;
+      } else {
+        currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);
+      }
+    } else {
+      var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);
+      nextY = y2 + moveY;
+      if (nextY > maxHeight || child.newline) {
+        x2 += currentLineMaxSize + gap;
+        y2 = 0;
+        nextY = moveY;
+        currentLineMaxSize = rect.width;
+      } else {
+        currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);
+      }
+    }
+    if (child.newline) {
+      return;
+    }
+    position2[0] = x2;
+    position2[1] = y2;
+    orient === "horizontal" ? x2 = nextX + gap : y2 = nextY + gap;
+  });
+}
+var box$1 = boxLayout$2;
+var vbox = zrUtil$8.curry(boxLayout$2, "vertical");
+var hbox = zrUtil$8.curry(boxLayout$2, "horizontal");
+function getAvailableSize$1(positionInfo, containerRect, margin) {
+  var containerWidth = containerRect.width;
+  var containerHeight = containerRect.height;
+  var x2 = parsePercent$2(positionInfo.x, containerWidth);
+  var y2 = parsePercent$2(positionInfo.y, containerHeight);
+  var x22 = parsePercent$2(positionInfo.x2, containerWidth);
+  var y22 = parsePercent$2(positionInfo.y2, containerHeight);
+  (isNaN(x2) || isNaN(parseFloat(positionInfo.x))) && (x2 = 0);
+  (isNaN(x22) || isNaN(parseFloat(positionInfo.x2))) && (x22 = containerWidth);
+  (isNaN(y2) || isNaN(parseFloat(positionInfo.y))) && (y2 = 0);
+  (isNaN(y22) || isNaN(parseFloat(positionInfo.y2))) && (y22 = containerHeight);
+  margin = formatUtil.normalizeCssArray(margin || 0);
+  return {
+    width: Math.max(x22 - x2 - margin[1] - margin[3], 0),
+    height: Math.max(y22 - y2 - margin[0] - margin[2], 0)
+  };
+}
+function getLayoutRect$1(positionInfo, containerRect, margin) {
+  margin = formatUtil.normalizeCssArray(margin || 0);
+  var containerWidth = containerRect.width;
+  var containerHeight = containerRect.height;
+  var left = parsePercent$2(positionInfo.left, containerWidth);
+  var top = parsePercent$2(positionInfo.top, containerHeight);
+  var right = parsePercent$2(positionInfo.right, containerWidth);
+  var bottom = parsePercent$2(positionInfo.bottom, containerHeight);
+  var width = parsePercent$2(positionInfo.width, containerWidth);
+  var height = parsePercent$2(positionInfo.height, containerHeight);
+  var verticalMargin = margin[2] + margin[0];
+  var horizontalMargin = margin[1] + margin[3];
+  var aspect = positionInfo.aspect;
+  if (isNaN(width)) {
+    width = containerWidth - right - horizontalMargin - left;
+  }
+  if (isNaN(height)) {
+    height = containerHeight - bottom - verticalMargin - top;
+  }
+  if (aspect != null) {
+    if (isNaN(width) && isNaN(height)) {
+      if (aspect > containerWidth / containerHeight) {
+        width = containerWidth * 0.8;
+      } else {
+        height = containerHeight * 0.8;
+      }
+    }
+    if (isNaN(width)) {
+      width = aspect * height;
+    }
+    if (isNaN(height)) {
+      height = width / aspect;
+    }
+  }
+  if (isNaN(left)) {
+    left = containerWidth - right - width - horizontalMargin;
+  }
+  if (isNaN(top)) {
+    top = containerHeight - bottom - height - verticalMargin;
+  }
+  switch (positionInfo.left || positionInfo.right) {
+    case "center":
+      left = containerWidth / 2 - width / 2 - margin[3];
+      break;
+    case "right":
+      left = containerWidth - width - horizontalMargin;
+      break;
+  }
+  switch (positionInfo.top || positionInfo.bottom) {
+    case "middle":
+    case "center":
+      top = containerHeight / 2 - height / 2 - margin[0];
+      break;
+    case "bottom":
+      top = containerHeight - height - verticalMargin;
+      break;
+  }
+  left = left || 0;
+  top = top || 0;
+  if (isNaN(width)) {
+    width = containerWidth - horizontalMargin - left - (right || 0);
+  }
+  if (isNaN(height)) {
+    height = containerHeight - verticalMargin - top - (bottom || 0);
+  }
+  var rect = new BoundingRect$2(left + margin[3], top + margin[0], width, height);
+  rect.margin = margin;
+  return rect;
+}
+function positionElement$1(el, positionInfo, containerRect, margin, opt) {
+  var h3 = !opt || !opt.hv || opt.hv[0];
+  var v4 = !opt || !opt.hv || opt.hv[1];
+  var boundingMode = opt && opt.boundingMode || "all";
+  if (!h3 && !v4) {
+    return;
+  }
+  var rect;
+  if (boundingMode === "raw") {
+    rect = el.type === "group" ? new BoundingRect$2(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();
+  } else {
+    rect = el.getBoundingRect();
+    if (el.needLocalTransform()) {
+      var transform3 = el.getLocalTransform();
+      rect = rect.clone();
+      rect.applyTransform(transform3);
+    }
+  }
+  positionInfo = getLayoutRect$1(zrUtil$8.defaults({
+    width: rect.width,
+    height: rect.height
+  }, positionInfo), containerRect, margin);
+  var elPos = el.position;
+  var dx = h3 ? positionInfo.x - rect.x : 0;
+  var dy = v4 ? positionInfo.y - rect.y : 0;
+  el.attr("position", boundingMode === "raw" ? [dx, dy] : [elPos[0] + dx, elPos[1] + dy]);
+}
+function sizeCalculable$1(option, hvIdx) {
+  return option[HV_NAMES$1[hvIdx][0]] != null || option[HV_NAMES$1[hvIdx][1]] != null && option[HV_NAMES$1[hvIdx][2]] != null;
+}
+function mergeLayoutParam$2(targetOption, newOption, opt) {
+  !zrUtil$8.isObject(opt) && (opt = {});
+  var ignoreSize = opt.ignoreSize;
+  !zrUtil$8.isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);
+  var hResult = merge2(HV_NAMES$1[0], 0);
+  var vResult = merge2(HV_NAMES$1[1], 1);
+  copy2(HV_NAMES$1[0], targetOption, hResult);
+  copy2(HV_NAMES$1[1], targetOption, vResult);
+  function merge2(names, hvIdx) {
+    var newParams = {};
+    var newValueCount = 0;
+    var merged = {};
+    var mergedValueCount = 0;
+    var enoughParamNumber = 2;
+    each$r(names, function(name3) {
+      merged[name3] = targetOption[name3];
+    });
+    each$r(names, function(name3) {
+      hasProp(newOption, name3) && (newParams[name3] = merged[name3] = newOption[name3]);
+      hasValue(newParams, name3) && newValueCount++;
+      hasValue(merged, name3) && mergedValueCount++;
+    });
+    if (ignoreSize[hvIdx]) {
+      if (hasValue(newOption, names[1])) {
+        merged[names[2]] = null;
+      } else if (hasValue(newOption, names[2])) {
+        merged[names[1]] = null;
+      }
+      return merged;
+    }
+    if (mergedValueCount === enoughParamNumber || !newValueCount) {
+      return merged;
+    } else if (newValueCount >= enoughParamNumber) {
+      return newParams;
+    } else {
+      for (var i2 = 0; i2 < names.length; i2++) {
+        var name2 = names[i2];
+        if (!hasProp(newParams, name2) && hasProp(targetOption, name2)) {
+          newParams[name2] = targetOption[name2];
+          break;
+        }
+      }
+      return newParams;
+    }
+  }
+  function hasProp(obj2, name2) {
+    return obj2.hasOwnProperty(name2);
+  }
+  function hasValue(obj2, name2) {
+    return obj2[name2] != null && obj2[name2] !== "auto";
+  }
+  function copy2(names, target, source2) {
+    each$r(names, function(name2) {
+      target[name2] = source2[name2];
+    });
+  }
+}
+function getLayoutParams$2(source2) {
+  return copyLayoutParams$1({}, source2);
+}
+function copyLayoutParams$1(target, source2) {
+  source2 && target && each$r(LOCATION_PARAMS$1, function(name2) {
+    source2.hasOwnProperty(name2) && (target[name2] = source2[name2]);
+  });
+  return target;
+}
+layout$5.LOCATION_PARAMS = LOCATION_PARAMS$1;
+layout$5.HV_NAMES = HV_NAMES$1;
+layout$5.box = box$1;
+layout$5.vbox = vbox;
+layout$5.hbox = hbox;
+layout$5.getAvailableSize = getAvailableSize$1;
+layout$5.getLayoutRect = getLayoutRect$1;
+layout$5.positionElement = positionElement$1;
+layout$5.sizeCalculable = sizeCalculable$1;
+layout$5.mergeLayoutParam = mergeLayoutParam$2;
+layout$5.getLayoutParams = getLayoutParams$2;
+layout$5.copyLayoutParams = copyLayoutParams$1;
+var _default$q = {
+  getBoxLayoutParams: function() {
+    return {
+      left: this.get("left"),
+      top: this.get("top"),
+      right: this.get("right"),
+      bottom: this.get("bottom"),
+      width: this.get("width"),
+      height: this.get("height")
+    };
+  }
+};
+var boxLayout$1 = _default$q;
+var zrUtil$7 = util$a;
+var Model$3 = Model_1;
+var componentUtil$2 = component;
+var _clazz = clazz;
+var enableClassManagement$1 = _clazz.enableClassManagement;
+var parseClassType$1 = _clazz.parseClassType;
+var _model$6 = model;
+var makeInner$3 = _model$6.makeInner;
+var layout$4 = layout$5;
+var boxLayoutMixin = boxLayout$1;
+var inner$p = makeInner$3();
+var ComponentModel$5 = Model$3.extend({
+  type: "component",
+  /**
+   * @readOnly
+   * @type {string}
+   */
+  id: "",
+  /**
+   * Because simplified concept is probably better, series.name (or component.name)
+   * has been having too many resposibilities:
+   * (1) Generating id (which requires name in option should not be modified).
+   * (2) As an index to mapping series when merging option or calling API (a name
+   * can refer to more then one components, which is convinient is some case).
+   * (3) Display.
+   * @readOnly
+   */
+  name: "",
+  /**
+   * @readOnly
+   * @type {string}
+   */
+  mainType: "",
+  /**
+   * @readOnly
+   * @type {string}
+   */
+  subType: "",
+  /**
+   * @readOnly
+   * @type {number}
+   */
+  componentIndex: 0,
+  /**
+   * @type {Object}
+   * @protected
+   */
+  defaultOption: null,
+  /**
+   * @type {module:echarts/model/Global}
+   * @readOnly
+   */
+  ecModel: null,
+  /**
+   * key: componentType
+   * value:  Component model list, can not be null.
+   * @type {Object.<string, Array.<module:echarts/model/Model>>}
+   * @readOnly
+   */
+  dependentModels: [],
+  /**
+   * @type {string}
+   * @readOnly
+   */
+  uid: null,
+  /**
+   * Support merge layout params.
+   * Only support 'box' now (left/right/top/bottom/width/height).
+   * @type {string|Object} Object can be {ignoreSize: true}
+   * @readOnly
+   */
+  layoutMode: null,
+  $constructor: function(option, parentModel, ecModel, extraOpt) {
+    Model$3.call(this, option, parentModel, ecModel, extraOpt);
+    this.uid = componentUtil$2.getUID("ec_cpt_model");
+  },
+  init: function(option, parentModel, ecModel, extraOpt) {
+    this.mergeDefaultAndTheme(option, ecModel);
+  },
+  mergeDefaultAndTheme: function(option, ecModel) {
+    var layoutMode = this.layoutMode;
+    var inputPositionParams = layoutMode ? layout$4.getLayoutParams(option) : {};
+    var themeModel = ecModel.getTheme();
+    zrUtil$7.merge(option, themeModel.get(this.mainType));
+    zrUtil$7.merge(option, this.getDefaultOption());
+    if (layoutMode) {
+      layout$4.mergeLayoutParam(option, inputPositionParams, layoutMode);
+    }
+  },
+  mergeOption: function(option, extraOpt) {
+    zrUtil$7.merge(this.option, option, true);
+    var layoutMode = this.layoutMode;
+    if (layoutMode) {
+      layout$4.mergeLayoutParam(this.option, option, layoutMode);
+    }
+  },
+  // Hooker after init or mergeOption
+  optionUpdated: function(newCptOption, isInit) {
+  },
+  getDefaultOption: function() {
+    var fields = inner$p(this);
+    if (!fields.defaultOption) {
+      var optList = [];
+      var Class = this.constructor;
+      while (Class) {
+        var opt = Class.prototype.defaultOption;
+        opt && optList.push(opt);
+        Class = Class.superClass;
+      }
+      var defaultOption2 = {};
+      for (var i2 = optList.length - 1; i2 >= 0; i2--) {
+        defaultOption2 = zrUtil$7.merge(defaultOption2, optList[i2], true);
+      }
+      fields.defaultOption = defaultOption2;
+    }
+    return fields.defaultOption;
+  },
+  getReferringComponents: function(mainType) {
+    return this.ecModel.queryComponents({
+      mainType,
+      index: this.get(mainType + "Index", true),
+      id: this.get(mainType + "Id", true)
+    });
+  }
+});
+enableClassManagement$1(ComponentModel$5, {
+  registerWhenExtend: true
+});
+componentUtil$2.enableSubTypeDefaulter(ComponentModel$5);
+componentUtil$2.enableTopologicalTravel(ComponentModel$5, getDependencies$1);
+function getDependencies$1(componentType) {
+  var deps = [];
+  zrUtil$7.each(ComponentModel$5.getClassesByMainType(componentType), function(Clazz) {
+    deps = deps.concat(Clazz.prototype.dependencies || []);
+  });
+  deps = zrUtil$7.map(deps, function(type2) {
+    return parseClassType$1(type2).main;
+  });
+  if (componentType !== "dataset" && zrUtil$7.indexOf(deps, "dataset") <= 0) {
+    deps.unshift("dataset");
+  }
+  return deps;
+}
+zrUtil$7.mixin(ComponentModel$5, boxLayoutMixin);
+var _default$p = ComponentModel$5;
+var Component$1 = _default$p;
+var platform$3 = "";
+if (typeof navigator !== "undefined") {
+  platform$3 = navigator.platform || "";
+}
+var _default$o = {
+  // backgroundColor: 'rgba(0,0,0,0)',
+  // https://dribbble.com/shots/1065960-Infographic-Pie-chart-visualization
+  // color: ['#5793f3', '#d14a61', '#fd9c35', '#675bba', '#fec42c', '#dd4444', '#d4df5a', '#cd4870'],
+  // Light colors:
+  // color: ['#bcd3bb', '#e88f70', '#edc1a5', '#9dc5c8', '#e1e8c8', '#7b7c68', '#e5b5b5', '#f0b489', '#928ea8', '#bda29a'],
+  // color: ['#cc5664', '#9bd6ec', '#ea946e', '#8acaaa', '#f1ec64', '#ee8686', '#a48dc1', '#5da6bc', '#b9dcae'],
+  // Dark colors:
+  color: ["#c23531", "#2f4554", "#61a0a8", "#d48265", "#91c7ae", "#749f83", "#ca8622", "#bda29a", "#6e7074", "#546570", "#c4ccd3"],
+  gradientColor: ["#f6efa6", "#d88273", "#bf444c"],
+  // If xAxis and yAxis declared, grid is created by default.
+  // grid: {},
+  textStyle: {
+    // color: '#000',
+    // decoration: 'none',
+    // PENDING
+    fontFamily: platform$3.match(/^Win/) ? "Microsoft YaHei" : "sans-serif",
+    // fontFamily: 'Arial, Verdana, sans-serif',
+    fontSize: 12,
+    fontStyle: "normal",
+    fontWeight: "normal"
+  },
+  // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/
+  // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
+  // Default is source-over
+  blendMode: null,
+  animation: "auto",
+  animationDuration: 1e3,
+  animationDurationUpdate: 300,
+  animationEasing: "exponentialOut",
+  animationEasingUpdate: "cubicOut",
+  animationThreshold: 2e3,
+  // Configuration for progressive/incremental rendering
+  progressiveThreshold: 3e3,
+  progressive: 400,
+  // Threshold of if use single hover layer to optimize.
+  // It is recommended that `hoverLayerThreshold` is equivalent to or less than
+  // `progressiveThreshold`, otherwise hover will cause restart of progressive,
+  // which is unexpected.
+  // see example <echarts/test/heatmap-large.html>.
+  hoverLayerThreshold: 3e3,
+  // See: module:echarts/scale/Time
+  useUTC: false
+};
+var globalDefault$2 = _default$o;
+var _model$5 = model;
+var makeInner$2 = _model$5.makeInner;
+var normalizeToArray$3 = _model$5.normalizeToArray;
+var inner$o = makeInner$2();
+function getNearestColorPalette(colors, requestColorNum) {
+  var paletteNum = colors.length;
+  for (var i2 = 0; i2 < paletteNum; i2++) {
+    if (colors[i2].length > requestColorNum) {
+      return colors[i2];
+    }
+  }
+  return colors[paletteNum - 1];
+}
+var _default$n = {
+  clearColorPalette: function() {
+    inner$o(this).colorIdx = 0;
+    inner$o(this).colorNameMap = {};
+  },
+  /**
+   * @param {string} name MUST NOT be null/undefined. Otherwise call this function
+   *                 twise with the same parameters will get different result.
+   * @param {Object} [scope=this]
+   * @param {Object} [requestColorNum]
+   * @return {string} color string.
+   */
+  getColorFromPalette: function(name2, scope, requestColorNum) {
+    scope = scope || this;
+    var scopeFields = inner$o(scope);
+    var colorIdx = scopeFields.colorIdx || 0;
+    var colorNameMap = scopeFields.colorNameMap = scopeFields.colorNameMap || {};
+    if (colorNameMap.hasOwnProperty(name2)) {
+      return colorNameMap[name2];
+    }
+    var defaultColorPalette = normalizeToArray$3(this.get("color", true));
+    var layeredColorPalette = this.get("colorLayer", true);
+    var colorPalette2 = requestColorNum == null || !layeredColorPalette ? defaultColorPalette : getNearestColorPalette(layeredColorPalette, requestColorNum);
+    colorPalette2 = colorPalette2 || defaultColorPalette;
+    if (!colorPalette2 || !colorPalette2.length) {
+      return;
+    }
+    var color2 = colorPalette2[colorIdx];
+    if (name2) {
+      colorNameMap[name2] = color2;
+    }
+    scopeFields.colorIdx = (colorIdx + 1) % colorPalette2.length;
+    return color2;
+  }
+};
+var colorPalette$2 = _default$n;
+var sourceHelper = {};
+var sourceType = {};
+var hasRequiredSourceType;
+function requireSourceType() {
+  if (hasRequiredSourceType)
+    return sourceType;
+  hasRequiredSourceType = 1;
+  var SOURCE_FORMAT_ORIGINAL2 = "original";
+  var SOURCE_FORMAT_ARRAY_ROWS2 = "arrayRows";
+  var SOURCE_FORMAT_OBJECT_ROWS2 = "objectRows";
+  var SOURCE_FORMAT_KEYED_COLUMNS2 = "keyedColumns";
+  var SOURCE_FORMAT_UNKNOWN2 = "unknown";
+  var SOURCE_FORMAT_TYPED_ARRAY2 = "typedArray";
+  var SERIES_LAYOUT_BY_COLUMN2 = "column";
+  var SERIES_LAYOUT_BY_ROW2 = "row";
+  sourceType.SOURCE_FORMAT_ORIGINAL = SOURCE_FORMAT_ORIGINAL2;
+  sourceType.SOURCE_FORMAT_ARRAY_ROWS = SOURCE_FORMAT_ARRAY_ROWS2;
+  sourceType.SOURCE_FORMAT_OBJECT_ROWS = SOURCE_FORMAT_OBJECT_ROWS2;
+  sourceType.SOURCE_FORMAT_KEYED_COLUMNS = SOURCE_FORMAT_KEYED_COLUMNS2;
+  sourceType.SOURCE_FORMAT_UNKNOWN = SOURCE_FORMAT_UNKNOWN2;
+  sourceType.SOURCE_FORMAT_TYPED_ARRAY = SOURCE_FORMAT_TYPED_ARRAY2;
+  sourceType.SERIES_LAYOUT_BY_COLUMN = SERIES_LAYOUT_BY_COLUMN2;
+  sourceType.SERIES_LAYOUT_BY_ROW = SERIES_LAYOUT_BY_ROW2;
+  return sourceType;
+}
+var Source_1;
+var hasRequiredSource;
+function requireSource() {
+  if (hasRequiredSource)
+    return Source_1;
+  hasRequiredSource = 1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  var isTypedArray2 = _util2.isTypedArray;
+  var _clazz2 = clazz;
+  var enableClassCheck2 = _clazz2.enableClassCheck;
+  var _sourceType2 = requireSourceType();
+  var SOURCE_FORMAT_ORIGINAL2 = _sourceType2.SOURCE_FORMAT_ORIGINAL;
+  var SERIES_LAYOUT_BY_COLUMN2 = _sourceType2.SERIES_LAYOUT_BY_COLUMN;
+  var SOURCE_FORMAT_UNKNOWN2 = _sourceType2.SOURCE_FORMAT_UNKNOWN;
+  var SOURCE_FORMAT_TYPED_ARRAY2 = _sourceType2.SOURCE_FORMAT_TYPED_ARRAY;
+  var SOURCE_FORMAT_KEYED_COLUMNS2 = _sourceType2.SOURCE_FORMAT_KEYED_COLUMNS;
+  function Source2(fields) {
+    this.fromDataset = fields.fromDataset;
+    this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS2 ? {} : []);
+    this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN2;
+    this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN2;
+    this.dimensionsDefine = fields.dimensionsDefine;
+    this.encodeDefine = fields.encodeDefine && createHashMap2(fields.encodeDefine);
+    this.startIndex = fields.startIndex || 0;
+    this.dimensionsDetectCount = fields.dimensionsDetectCount;
+  }
+  Source2.seriesDataToSource = function(data2) {
+    return new Source2({
+      data: data2,
+      sourceFormat: isTypedArray2(data2) ? SOURCE_FORMAT_TYPED_ARRAY2 : SOURCE_FORMAT_ORIGINAL2,
+      fromDataset: false
+    });
+  };
+  enableClassCheck2(Source2);
+  var _default68 = Source2;
+  Source_1 = _default68;
+  return Source_1;
+}
+var hasRequiredSourceHelper;
+function requireSourceHelper() {
+  if (hasRequiredSourceHelper)
+    return sourceHelper;
+  hasRequiredSourceHelper = 1;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var getDataItemValue2 = _model2.getDataItemValue;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  var each2 = _util2.each;
+  var map2 = _util2.map;
+  var isArray2 = _util2.isArray;
+  var isString2 = _util2.isString;
+  var isObject2 = _util2.isObject;
+  var isTypedArray2 = _util2.isTypedArray;
+  var isArrayLike2 = _util2.isArrayLike;
+  var extend2 = _util2.extend;
+  _util2.assert;
+  var Source2 = requireSource();
+  var _sourceType2 = requireSourceType();
+  var SOURCE_FORMAT_ORIGINAL2 = _sourceType2.SOURCE_FORMAT_ORIGINAL;
+  var SOURCE_FORMAT_ARRAY_ROWS2 = _sourceType2.SOURCE_FORMAT_ARRAY_ROWS;
+  var SOURCE_FORMAT_OBJECT_ROWS2 = _sourceType2.SOURCE_FORMAT_OBJECT_ROWS;
+  var SOURCE_FORMAT_KEYED_COLUMNS2 = _sourceType2.SOURCE_FORMAT_KEYED_COLUMNS;
+  var SOURCE_FORMAT_UNKNOWN2 = _sourceType2.SOURCE_FORMAT_UNKNOWN;
+  var SOURCE_FORMAT_TYPED_ARRAY2 = _sourceType2.SOURCE_FORMAT_TYPED_ARRAY;
+  var SERIES_LAYOUT_BY_ROW2 = _sourceType2.SERIES_LAYOUT_BY_ROW;
+  var BE_ORDINAL2 = {
+    Must: 1,
+    // Encounter string but not '-' and not number-like.
+    Might: 2,
+    // Encounter string but number-like.
+    Not: 3
+    // Other cases
+  };
+  var inner2 = makeInner2();
+  function detectSourceFormat2(datasetModel) {
+    var data2 = datasetModel.option.source;
+    var sourceFormat = SOURCE_FORMAT_UNKNOWN2;
+    if (isTypedArray2(data2)) {
+      sourceFormat = SOURCE_FORMAT_TYPED_ARRAY2;
+    } else if (isArray2(data2)) {
+      if (data2.length === 0) {
+        sourceFormat = SOURCE_FORMAT_ARRAY_ROWS2;
+      }
+      for (var i2 = 0, len2 = data2.length; i2 < len2; i2++) {
+        var item = data2[i2];
+        if (item == null) {
+          continue;
+        } else if (isArray2(item)) {
+          sourceFormat = SOURCE_FORMAT_ARRAY_ROWS2;
+          break;
+        } else if (isObject2(item)) {
+          sourceFormat = SOURCE_FORMAT_OBJECT_ROWS2;
+          break;
+        }
+      }
+    } else if (isObject2(data2)) {
+      for (var key2 in data2) {
+        if (data2.hasOwnProperty(key2) && isArrayLike2(data2[key2])) {
+          sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS2;
+          break;
+        }
+      }
+    } else if (data2 != null) {
+      throw new Error("Invalid data");
+    }
+    inner2(datasetModel).sourceFormat = sourceFormat;
+  }
+  function getSource2(seriesModel) {
+    return inner2(seriesModel).source;
+  }
+  function resetSourceDefaulter2(ecModel) {
+    inner2(ecModel).datasetMap = createHashMap2();
+  }
+  function prepareSource2(seriesModel) {
+    var seriesOption = seriesModel.option;
+    var data2 = seriesOption.data;
+    var sourceFormat = isTypedArray2(data2) ? SOURCE_FORMAT_TYPED_ARRAY2 : SOURCE_FORMAT_ORIGINAL2;
+    var fromDataset = false;
+    var seriesLayoutBy = seriesOption.seriesLayoutBy;
+    var sourceHeader = seriesOption.sourceHeader;
+    var dimensionsDefine = seriesOption.dimensions;
+    var datasetModel = getDatasetModel(seriesModel);
+    if (datasetModel) {
+      var datasetOption = datasetModel.option;
+      data2 = datasetOption.source;
+      sourceFormat = inner2(datasetModel).sourceFormat;
+      fromDataset = true;
+      seriesLayoutBy = seriesLayoutBy || datasetOption.seriesLayoutBy;
+      sourceHeader == null && (sourceHeader = datasetOption.sourceHeader);
+      dimensionsDefine = dimensionsDefine || datasetOption.dimensions;
+    }
+    var completeResult = completeBySourceData(data2, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine);
+    inner2(seriesModel).source = new Source2({
+      data: data2,
+      fromDataset,
+      seriesLayoutBy,
+      sourceFormat,
+      dimensionsDefine: completeResult.dimensionsDefine,
+      startIndex: completeResult.startIndex,
+      dimensionsDetectCount: completeResult.dimensionsDetectCount,
+      // Note: dataset option does not have `encode`.
+      encodeDefine: seriesOption.encode
+    });
+  }
+  function completeBySourceData(data2, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {
+    if (!data2) {
+      return {
+        dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine)
+      };
+    }
+    var dimensionsDetectCount;
+    var startIndex;
+    if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS2) {
+      if (sourceHeader === "auto" || sourceHeader == null) {
+        arrayRowsTravelFirst2(function(val) {
+          if (val != null && val !== "-") {
+            if (isString2(val)) {
+              startIndex == null && (startIndex = 1);
+            } else {
+              startIndex = 0;
+            }
+          }
+        }, seriesLayoutBy, data2, 10);
+      } else {
+        startIndex = sourceHeader ? 1 : 0;
+      }
+      if (!dimensionsDefine && startIndex === 1) {
+        dimensionsDefine = [];
+        arrayRowsTravelFirst2(function(val, index3) {
+          dimensionsDefine[index3] = val != null ? val : "";
+        }, seriesLayoutBy, data2);
+      }
+      dimensionsDetectCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW2 ? data2.length : data2[0] ? data2[0].length : null;
+    } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS2) {
+      if (!dimensionsDefine) {
+        dimensionsDefine = objectRowsCollectDimensions2(data2);
+      }
+    } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS2) {
+      if (!dimensionsDefine) {
+        dimensionsDefine = [];
+        each2(data2, function(colArr, key2) {
+          dimensionsDefine.push(key2);
+        });
+      }
+    } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL2) {
+      var value0 = getDataItemValue2(data2[0]);
+      dimensionsDetectCount = isArray2(value0) && value0.length || 1;
+    } else
+      ;
+    return {
+      startIndex,
+      dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine),
+      dimensionsDetectCount
+    };
+  }
+  function normalizeDimensionsDefine(dimensionsDefine) {
+    if (!dimensionsDefine) {
+      return;
+    }
+    var nameMap = createHashMap2();
+    return map2(dimensionsDefine, function(item, index3) {
+      item = extend2({}, isObject2(item) ? item : {
+        name: item
+      });
+      if (item.name == null) {
+        return item;
+      }
+      item.name += "";
+      if (item.displayName == null) {
+        item.displayName = item.name;
+      }
+      var exist = nameMap.get(item.name);
+      if (!exist) {
+        nameMap.set(item.name, {
+          count: 1
+        });
+      } else {
+        item.name += "-" + exist.count++;
+      }
+      return item;
+    });
+  }
+  function arrayRowsTravelFirst2(cb, seriesLayoutBy, data2, maxLoop) {
+    maxLoop == null && (maxLoop = Infinity);
+    if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW2) {
+      for (var i2 = 0; i2 < data2.length && i2 < maxLoop; i2++) {
+        cb(data2[i2] ? data2[i2][0] : null, i2);
+      }
+    } else {
+      var value0 = data2[0] || [];
+      for (var i2 = 0; i2 < value0.length && i2 < maxLoop; i2++) {
+        cb(value0[i2], i2);
+      }
+    }
+  }
+  function objectRowsCollectDimensions2(data2) {
+    var firstIndex = 0;
+    var obj2;
+    while (firstIndex < data2.length && !(obj2 = data2[firstIndex++])) {
+    }
+    if (obj2) {
+      var dimensions = [];
+      each2(obj2, function(value, key2) {
+        dimensions.push(key2);
+      });
+      return dimensions;
+    }
+  }
+  function makeSeriesEncodeForAxisCoordSys2(coordDimensions, seriesModel, source2) {
+    var encode2 = {};
+    var datasetModel = getDatasetModel(seriesModel);
+    if (!datasetModel || !coordDimensions) {
+      return encode2;
+    }
+    var encodeItemName = [];
+    var encodeSeriesName = [];
+    var ecModel = seriesModel.ecModel;
+    var datasetMap = inner2(ecModel).datasetMap;
+    var key2 = datasetModel.uid + "_" + source2.seriesLayoutBy;
+    var baseCategoryDimIndex;
+    var categoryWayValueDimStart;
+    coordDimensions = coordDimensions.slice();
+    each2(coordDimensions, function(coordDimInfo, coordDimIdx) {
+      !isObject2(coordDimInfo) && (coordDimensions[coordDimIdx] = {
+        name: coordDimInfo
+      });
+      if (coordDimInfo.type === "ordinal" && baseCategoryDimIndex == null) {
+        baseCategoryDimIndex = coordDimIdx;
+        categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimensions[coordDimIdx]);
+      }
+      encode2[coordDimInfo.name] = [];
+    });
+    var datasetRecord = datasetMap.get(key2) || datasetMap.set(key2, {
+      categoryWayDim: categoryWayValueDimStart,
+      valueWayDim: 0
+    });
+    each2(coordDimensions, function(coordDimInfo, coordDimIdx) {
+      var coordDimName = coordDimInfo.name;
+      var count2 = getDataDimCountOnCoordDim(coordDimInfo);
+      if (baseCategoryDimIndex == null) {
+        var start2 = datasetRecord.valueWayDim;
+        pushDim(encode2[coordDimName], start2, count2);
+        pushDim(encodeSeriesName, start2, count2);
+        datasetRecord.valueWayDim += count2;
+      } else if (baseCategoryDimIndex === coordDimIdx) {
+        pushDim(encode2[coordDimName], 0, count2);
+        pushDim(encodeItemName, 0, count2);
+      } else {
+        var start2 = datasetRecord.categoryWayDim;
+        pushDim(encode2[coordDimName], start2, count2);
+        pushDim(encodeSeriesName, start2, count2);
+        datasetRecord.categoryWayDim += count2;
+      }
+    });
+    function pushDim(dimIdxArr, idxFrom, idxCount) {
+      for (var i2 = 0; i2 < idxCount; i2++) {
+        dimIdxArr.push(idxFrom + i2);
+      }
+    }
+    function getDataDimCountOnCoordDim(coordDimInfo) {
+      var dimsDef = coordDimInfo.dimsDef;
+      return dimsDef ? dimsDef.length : 1;
+    }
+    encodeItemName.length && (encode2.itemName = encodeItemName);
+    encodeSeriesName.length && (encode2.seriesName = encodeSeriesName);
+    return encode2;
+  }
+  function makeSeriesEncodeForNameBased2(seriesModel, source2, dimCount) {
+    var encode2 = {};
+    var datasetModel = getDatasetModel(seriesModel);
+    if (!datasetModel) {
+      return encode2;
+    }
+    var sourceFormat = source2.sourceFormat;
+    var dimensionsDefine = source2.dimensionsDefine;
+    var potentialNameDimIndex;
+    if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS2 || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS2) {
+      each2(dimensionsDefine, function(dim, idx) {
+        if ((isObject2(dim) ? dim.name : dim) === "name") {
+          potentialNameDimIndex = idx;
+        }
+      });
+    }
+    var idxResult = function() {
+      var idxRes0 = {};
+      var idxRes1 = {};
+      var guessRecords = [];
+      for (var i2 = 0, len2 = Math.min(5, dimCount); i2 < len2; i2++) {
+        var guessResult = doGuessOrdinal2(source2.data, sourceFormat, source2.seriesLayoutBy, dimensionsDefine, source2.startIndex, i2);
+        guessRecords.push(guessResult);
+        var isPureNumber = guessResult === BE_ORDINAL2.Not;
+        if (isPureNumber && idxRes0.v == null && i2 !== potentialNameDimIndex) {
+          idxRes0.v = i2;
+        }
+        if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL2.Not) {
+          idxRes0.n = i2;
+        }
+        if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL2.Not) {
+          return idxRes0;
+        }
+        if (!isPureNumber) {
+          if (guessResult === BE_ORDINAL2.Might && idxRes1.v == null && i2 !== potentialNameDimIndex) {
+            idxRes1.v = i2;
+          }
+          if (idxRes1.n == null || idxRes1.n === idxRes1.v) {
+            idxRes1.n = i2;
+          }
+        }
+      }
+      function fulfilled(idxResult2) {
+        return idxResult2.v != null && idxResult2.n != null;
+      }
+      return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;
+    }();
+    if (idxResult) {
+      encode2.value = idxResult.v;
+      var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n;
+      encode2.itemName = [nameDimIndex];
+      encode2.seriesName = [nameDimIndex];
+    }
+    return encode2;
+  }
+  function getDatasetModel(seriesModel) {
+    var option = seriesModel.option;
+    var thisData = option.data;
+    if (!thisData) {
+      return seriesModel.ecModel.getComponent("dataset", option.datasetIndex || 0);
+    }
+  }
+  function guessOrdinal2(source2, dimIndex) {
+    return doGuessOrdinal2(source2.data, source2.sourceFormat, source2.seriesLayoutBy, source2.dimensionsDefine, source2.startIndex, dimIndex);
+  }
+  function doGuessOrdinal2(data2, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {
+    var result2;
+    var maxLoop = 5;
+    if (isTypedArray2(data2)) {
+      return BE_ORDINAL2.Not;
+    }
+    var dimName;
+    var dimType;
+    if (dimensionsDefine) {
+      var dimDefItem = dimensionsDefine[dimIndex];
+      if (isObject2(dimDefItem)) {
+        dimName = dimDefItem.name;
+        dimType = dimDefItem.type;
+      } else if (isString2(dimDefItem)) {
+        dimName = dimDefItem;
+      }
+    }
+    if (dimType != null) {
+      return dimType === "ordinal" ? BE_ORDINAL2.Must : BE_ORDINAL2.Not;
+    }
+    if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS2) {
+      if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW2) {
+        var sample = data2[dimIndex];
+        for (var i2 = 0; i2 < (sample || []).length && i2 < maxLoop; i2++) {
+          if ((result2 = detectValue(sample[startIndex + i2])) != null) {
+            return result2;
+          }
+        }
+      } else {
+        for (var i2 = 0; i2 < data2.length && i2 < maxLoop; i2++) {
+          var row = data2[startIndex + i2];
+          if (row && (result2 = detectValue(row[dimIndex])) != null) {
+            return result2;
+          }
+        }
+      }
+    } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS2) {
+      if (!dimName) {
+        return BE_ORDINAL2.Not;
+      }
+      for (var i2 = 0; i2 < data2.length && i2 < maxLoop; i2++) {
+        var item = data2[i2];
+        if (item && (result2 = detectValue(item[dimName])) != null) {
+          return result2;
+        }
+      }
+    } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS2) {
+      if (!dimName) {
+        return BE_ORDINAL2.Not;
+      }
+      var sample = data2[dimName];
+      if (!sample || isTypedArray2(sample)) {
+        return BE_ORDINAL2.Not;
+      }
+      for (var i2 = 0; i2 < sample.length && i2 < maxLoop; i2++) {
+        if ((result2 = detectValue(sample[i2])) != null) {
+          return result2;
+        }
+      }
+    } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL2) {
+      for (var i2 = 0; i2 < data2.length && i2 < maxLoop; i2++) {
+        var item = data2[i2];
+        var val = getDataItemValue2(item);
+        if (!isArray2(val)) {
+          return BE_ORDINAL2.Not;
+        }
+        if ((result2 = detectValue(val[dimIndex])) != null) {
+          return result2;
+        }
+      }
+    }
+    function detectValue(val2) {
+      var beStr = isString2(val2);
+      if (val2 != null && isFinite(val2) && val2 !== "") {
+        return beStr ? BE_ORDINAL2.Might : BE_ORDINAL2.Not;
+      } else if (beStr && val2 !== "-") {
+        return BE_ORDINAL2.Must;
+      }
+    }
+    return BE_ORDINAL2.Not;
+  }
+  sourceHelper.BE_ORDINAL = BE_ORDINAL2;
+  sourceHelper.detectSourceFormat = detectSourceFormat2;
+  sourceHelper.getSource = getSource2;
+  sourceHelper.resetSourceDefaulter = resetSourceDefaulter2;
+  sourceHelper.prepareSource = prepareSource2;
+  sourceHelper.makeSeriesEncodeForAxisCoordSys = makeSeriesEncodeForAxisCoordSys2;
+  sourceHelper.makeSeriesEncodeForNameBased = makeSeriesEncodeForNameBased2;
+  sourceHelper.guessOrdinal = guessOrdinal2;
+  return sourceHelper;
+}
+var _util$9 = util$a;
+var each$q = _util$9.each;
+var filter$3 = _util$9.filter;
+var map$5 = _util$9.map;
+var isArray$7 = _util$9.isArray;
+var indexOf$2 = _util$9.indexOf;
+var isObject$a = _util$9.isObject;
+var isString$5 = _util$9.isString;
+var createHashMap$4 = _util$9.createHashMap;
+var assert$1 = _util$9.assert;
+var clone$6 = _util$9.clone;
+var merge$5 = _util$9.merge;
+var extend$8 = _util$9.extend;
+var mixin$1 = _util$9.mixin;
+var modelUtil$4 = model;
+var Model$2 = Model_1;
+var ComponentModel$4 = Component$1;
+var globalDefault$1 = globalDefault$2;
+var colorPaletteMixin$1 = colorPalette$2;
+var _sourceHelper$1 = requireSourceHelper();
+var resetSourceDefaulter$1 = _sourceHelper$1.resetSourceDefaulter;
+var OPTION_INNER_KEY$1 = "\0_ec_inner";
+var GlobalModel$3 = Model$2.extend({
+  init: function(option, parentModel, theme2, optionManager) {
+    theme2 = theme2 || {};
+    this.option = null;
+    this._theme = new Model$2(theme2);
+    this._optionManager = optionManager;
+  },
+  setOption: function(option, optionPreprocessorFuncs2) {
+    assert$1(!(OPTION_INNER_KEY$1 in option), "please use chart.getOption()");
+    this._optionManager.setOption(option, optionPreprocessorFuncs2);
+    this.resetOption(null);
+  },
+  /**
+   * @param {string} type null/undefined: reset all.
+   *                      'recreate': force recreate all.
+   *                      'timeline': only reset timeline option
+   *                      'media': only reset media query option
+   * @return {boolean} Whether option changed.
+   */
+  resetOption: function(type2) {
+    var optionChanged = false;
+    var optionManager = this._optionManager;
+    if (!type2 || type2 === "recreate") {
+      var baseOption = optionManager.mountOption(type2 === "recreate");
+      if (!this.option || type2 === "recreate") {
+        initBase$2.call(this, baseOption);
+      } else {
+        this.restoreData();
+        this.mergeOption(baseOption);
+      }
+      optionChanged = true;
+    }
+    if (type2 === "timeline" || type2 === "media") {
+      this.restoreData();
+    }
+    if (!type2 || type2 === "recreate" || type2 === "timeline") {
+      var timelineOption = optionManager.getTimelineOption(this);
+      timelineOption && (this.mergeOption(timelineOption), optionChanged = true);
+    }
+    if (!type2 || type2 === "recreate" || type2 === "media") {
+      var mediaOptions = optionManager.getMediaOption(this, this._api);
+      if (mediaOptions.length) {
+        each$q(mediaOptions, function(mediaOption) {
+          this.mergeOption(mediaOption, optionChanged = true);
+        }, this);
+      }
+    }
+    return optionChanged;
+  },
+  /**
+   * @protected
+   */
+  mergeOption: function(newOption) {
+    var option = this.option;
+    var componentsMap = this._componentsMap;
+    var newCptTypes = [];
+    resetSourceDefaulter$1(this);
+    each$q(newOption, function(componentOption, mainType) {
+      if (componentOption == null) {
+        return;
+      }
+      if (!ComponentModel$4.hasClass(mainType)) {
+        option[mainType] = option[mainType] == null ? clone$6(componentOption) : merge$5(option[mainType], componentOption, true);
+      } else if (mainType) {
+        newCptTypes.push(mainType);
+      }
+    });
+    ComponentModel$4.topologicalTravel(newCptTypes, ComponentModel$4.getAllClassMainTypes(), visitComponent, this);
+    function visitComponent(mainType, dependencies2) {
+      var newCptOptionList = modelUtil$4.normalizeToArray(newOption[mainType]);
+      var mapResult = modelUtil$4.mappingToExists(componentsMap.get(mainType), newCptOptionList);
+      modelUtil$4.makeIdAndName(mapResult);
+      each$q(mapResult, function(item, index3) {
+        var opt = item.option;
+        if (isObject$a(opt)) {
+          item.keyInfo.mainType = mainType;
+          item.keyInfo.subType = determineSubType$1(mainType, opt, item.exist);
+        }
+      });
+      var dependentModels = getComponentsByTypes(componentsMap, dependencies2);
+      option[mainType] = [];
+      componentsMap.set(mainType, []);
+      each$q(mapResult, function(resultItem, index3) {
+        var componentModel = resultItem.exist;
+        var newCptOption = resultItem.option;
+        assert$1(isObject$a(newCptOption) || componentModel, "Empty component definition");
+        if (!newCptOption) {
+          componentModel.mergeOption({}, this);
+          componentModel.optionUpdated({}, false);
+        } else {
+          var ComponentModelClass = ComponentModel$4.getClass(mainType, resultItem.keyInfo.subType, true);
+          if (componentModel && componentModel.constructor === ComponentModelClass) {
+            componentModel.name = resultItem.keyInfo.name;
+            componentModel.mergeOption(newCptOption, this);
+            componentModel.optionUpdated(newCptOption, false);
+          } else {
+            var extraOpt = extend$8({
+              dependentModels,
+              componentIndex: index3
+            }, resultItem.keyInfo);
+            componentModel = new ComponentModelClass(newCptOption, this, this, extraOpt);
+            extend$8(componentModel, extraOpt);
+            componentModel.init(newCptOption, this, this, extraOpt);
+            componentModel.optionUpdated(null, true);
+          }
+        }
+        componentsMap.get(mainType)[index3] = componentModel;
+        option[mainType][index3] = componentModel.option;
+      }, this);
+      if (mainType === "series") {
+        createSeriesIndices(this, componentsMap.get("series"));
+      }
+    }
+    this._seriesIndicesMap = createHashMap$4(this._seriesIndices = this._seriesIndices || []);
+  },
+  /**
+   * Get option for output (cloned option and inner info removed)
+   * @public
+   * @return {Object}
+   */
+  getOption: function() {
+    var option = clone$6(this.option);
+    each$q(option, function(opts2, mainType) {
+      if (ComponentModel$4.hasClass(mainType)) {
+        var opts2 = modelUtil$4.normalizeToArray(opts2);
+        for (var i2 = opts2.length - 1; i2 >= 0; i2--) {
+          if (modelUtil$4.isIdInner(opts2[i2])) {
+            opts2.splice(i2, 1);
+          }
+        }
+        option[mainType] = opts2;
+      }
+    });
+    delete option[OPTION_INNER_KEY$1];
+    return option;
+  },
+  /**
+   * @return {module:echarts/model/Model}
+   */
+  getTheme: function() {
+    return this._theme;
+  },
+  /**
+   * @param {string} mainType
+   * @param {number} [idx=0]
+   * @return {module:echarts/model/Component}
+   */
+  getComponent: function(mainType, idx) {
+    var list2 = this._componentsMap.get(mainType);
+    if (list2) {
+      return list2[idx || 0];
+    }
+  },
+  /**
+   * If none of index and id and name used, return all components with mainType.
+   * @param {Object} condition
+   * @param {string} condition.mainType
+   * @param {string} [condition.subType] If ignore, only query by mainType
+   * @param {number|Array.<number>} [condition.index] Either input index or id or name.
+   * @param {string|Array.<string>} [condition.id] Either input index or id or name.
+   * @param {string|Array.<string>} [condition.name] Either input index or id or name.
+   * @return {Array.<module:echarts/model/Component>}
+   */
+  queryComponents: function(condition) {
+    var mainType = condition.mainType;
+    if (!mainType) {
+      return [];
+    }
+    var index3 = condition.index;
+    var id = condition.id;
+    var name2 = condition.name;
+    var cpts = this._componentsMap.get(mainType);
+    if (!cpts || !cpts.length) {
+      return [];
+    }
+    var result2;
+    if (index3 != null) {
+      if (!isArray$7(index3)) {
+        index3 = [index3];
+      }
+      result2 = filter$3(map$5(index3, function(idx) {
+        return cpts[idx];
+      }), function(val) {
+        return !!val;
+      });
+    } else if (id != null) {
+      var isIdArray = isArray$7(id);
+      result2 = filter$3(cpts, function(cpt) {
+        return isIdArray && indexOf$2(id, cpt.id) >= 0 || !isIdArray && cpt.id === id;
+      });
+    } else if (name2 != null) {
+      var isNameArray = isArray$7(name2);
+      result2 = filter$3(cpts, function(cpt) {
+        return isNameArray && indexOf$2(name2, cpt.name) >= 0 || !isNameArray && cpt.name === name2;
+      });
+    } else {
+      result2 = cpts.slice();
+    }
+    return filterBySubType$1(result2, condition);
+  },
+  /**
+   * The interface is different from queryComponents,
+   * which is convenient for inner usage.
+   *
+   * @usage
+   * var result = findComponents(
+   *     {mainType: 'dataZoom', query: {dataZoomId: 'abc'}}
+   * );
+   * var result = findComponents(
+   *     {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}}
+   * );
+   * var result = findComponents(
+   *     {mainType: 'series',
+   *     filter: function (model, index) {...}}
+   * );
+   * // result like [component0, componnet1, ...]
+   *
+   * @param {Object} condition
+   * @param {string} condition.mainType Mandatory.
+   * @param {string} [condition.subType] Optional.
+   * @param {Object} [condition.query] like {xxxIndex, xxxId, xxxName},
+   *        where xxx is mainType.
+   *        If query attribute is null/undefined or has no index/id/name,
+   *        do not filtering by query conditions, which is convenient for
+   *        no-payload situations or when target of action is global.
+   * @param {Function} [condition.filter] parameter: component, return boolean.
+   * @return {Array.<module:echarts/model/Component>}
+   */
+  findComponents: function(condition) {
+    var query = condition.query;
+    var mainType = condition.mainType;
+    var queryCond = getQueryCond(query);
+    var result2 = queryCond ? this.queryComponents(queryCond) : this._componentsMap.get(mainType);
+    return doFilter(filterBySubType$1(result2, condition));
+    function getQueryCond(q2) {
+      var indexAttr = mainType + "Index";
+      var idAttr = mainType + "Id";
+      var nameAttr = mainType + "Name";
+      return q2 && (q2[indexAttr] != null || q2[idAttr] != null || q2[nameAttr] != null) ? {
+        mainType,
+        // subType will be filtered finally.
+        index: q2[indexAttr],
+        id: q2[idAttr],
+        name: q2[nameAttr]
+      } : null;
+    }
+    function doFilter(res) {
+      return condition.filter ? filter$3(res, condition.filter) : res;
+    }
+  },
+  /**
+   * @usage
+   * eachComponent('legend', function (legendModel, index) {
+   *     ...
+   * });
+   * eachComponent(function (componentType, model, index) {
+   *     // componentType does not include subType
+   *     // (componentType is 'xxx' but not 'xxx.aa')
+   * });
+   * eachComponent(
+   *     {mainType: 'dataZoom', query: {dataZoomId: 'abc'}},
+   *     function (model, index) {...}
+   * );
+   * eachComponent(
+   *     {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}},
+   *     function (model, index) {...}
+   * );
+   *
+   * @param {string|Object=} mainType When mainType is object, the definition
+   *                                  is the same as the method 'findComponents'.
+   * @param {Function} cb
+   * @param {*} context
+   */
+  eachComponent: function(mainType, cb, context) {
+    var componentsMap = this._componentsMap;
+    if (typeof mainType === "function") {
+      context = cb;
+      cb = mainType;
+      componentsMap.each(function(components, componentType) {
+        each$q(components, function(component2, index3) {
+          cb.call(context, componentType, component2, index3);
+        });
+      });
+    } else if (isString$5(mainType)) {
+      each$q(componentsMap.get(mainType), cb, context);
+    } else if (isObject$a(mainType)) {
+      var queryResult = this.findComponents(mainType);
+      each$q(queryResult, cb, context);
+    }
+  },
+  /**
+   * @param {string} name
+   * @return {Array.<module:echarts/model/Series>}
+   */
+  getSeriesByName: function(name2) {
+    var series = this._componentsMap.get("series");
+    return filter$3(series, function(oneSeries) {
+      return oneSeries.name === name2;
+    });
+  },
+  /**
+   * @param {number} seriesIndex
+   * @return {module:echarts/model/Series}
+   */
+  getSeriesByIndex: function(seriesIndex) {
+    return this._componentsMap.get("series")[seriesIndex];
+  },
+  /**
+   * Get series list before filtered by type.
+   * FIXME: rename to getRawSeriesByType?
+   *
+   * @param {string} subType
+   * @return {Array.<module:echarts/model/Series>}
+   */
+  getSeriesByType: function(subType) {
+    var series = this._componentsMap.get("series");
+    return filter$3(series, function(oneSeries) {
+      return oneSeries.subType === subType;
+    });
+  },
+  /**
+   * @return {Array.<module:echarts/model/Series>}
+   */
+  getSeries: function() {
+    return this._componentsMap.get("series").slice();
+  },
+  /**
+   * @return {number}
+   */
+  getSeriesCount: function() {
+    return this._componentsMap.get("series").length;
+  },
+  /**
+   * After filtering, series may be different
+   * frome raw series.
+   *
+   * @param {Function} cb
+   * @param {*} context
+   */
+  eachSeries: function(cb, context) {
+    each$q(this._seriesIndices, function(rawSeriesIndex) {
+      var series = this._componentsMap.get("series")[rawSeriesIndex];
+      cb.call(context, series, rawSeriesIndex);
+    }, this);
+  },
+  /**
+   * Iterate raw series before filtered.
+   *
+   * @param {Function} cb
+   * @param {*} context
+   */
+  eachRawSeries: function(cb, context) {
+    each$q(this._componentsMap.get("series"), cb, context);
+  },
+  /**
+   * After filtering, series may be different.
+   * frome raw series.
+   *
+   * @param {string} subType.
+   * @param {Function} cb
+   * @param {*} context
+   */
+  eachSeriesByType: function(subType, cb, context) {
+    each$q(this._seriesIndices, function(rawSeriesIndex) {
+      var series = this._componentsMap.get("series")[rawSeriesIndex];
+      if (series.subType === subType) {
+        cb.call(context, series, rawSeriesIndex);
+      }
+    }, this);
+  },
+  /**
+   * Iterate raw series before filtered of given type.
+   *
+   * @parma {string} subType
+   * @param {Function} cb
+   * @param {*} context
+   */
+  eachRawSeriesByType: function(subType, cb, context) {
+    return each$q(this.getSeriesByType(subType), cb, context);
+  },
+  /**
+   * @param {module:echarts/model/Series} seriesModel
+   */
+  isSeriesFiltered: function(seriesModel) {
+    return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;
+  },
+  /**
+   * @return {Array.<number>}
+   */
+  getCurrentSeriesIndices: function() {
+    return (this._seriesIndices || []).slice();
+  },
+  /**
+   * @param {Function} cb
+   * @param {*} context
+   */
+  filterSeries: function(cb, context) {
+    var filteredSeries = filter$3(this._componentsMap.get("series"), cb, context);
+    createSeriesIndices(this, filteredSeries);
+  },
+  restoreData: function(payload) {
+    var componentsMap = this._componentsMap;
+    createSeriesIndices(this, componentsMap.get("series"));
+    var componentTypes = [];
+    componentsMap.each(function(components, componentType) {
+      componentTypes.push(componentType);
+    });
+    ComponentModel$4.topologicalTravel(componentTypes, ComponentModel$4.getAllClassMainTypes(), function(componentType, dependencies2) {
+      each$q(componentsMap.get(componentType), function(component2) {
+        (componentType !== "series" || !isNotTargetSeries$1(component2, payload)) && component2.restoreData();
+      });
+    });
+  }
+});
+function isNotTargetSeries$1(seriesModel, payload) {
+  if (payload) {
+    var index3 = payload.seiresIndex;
+    var id = payload.seriesId;
+    var name2 = payload.seriesName;
+    return index3 != null && seriesModel.componentIndex !== index3 || id != null && seriesModel.id !== id || name2 != null && seriesModel.name !== name2;
+  }
+}
+function mergeTheme$1(option, theme2) {
+  var notMergeColorLayer = option.color && !option.colorLayer;
+  each$q(theme2, function(themeItem, name2) {
+    if (name2 === "colorLayer" && notMergeColorLayer) {
+      return;
+    }
+    if (!ComponentModel$4.hasClass(name2)) {
+      if (typeof themeItem === "object") {
+        option[name2] = !option[name2] ? clone$6(themeItem) : merge$5(option[name2], themeItem, false);
+      } else {
+        if (option[name2] == null) {
+          option[name2] = themeItem;
+        }
+      }
+    }
+  });
+}
+function initBase$2(baseOption) {
+  baseOption = baseOption;
+  this.option = {};
+  this.option[OPTION_INNER_KEY$1] = 1;
+  this._componentsMap = createHashMap$4({
+    series: []
+  });
+  this._seriesIndices;
+  this._seriesIndicesMap;
+  mergeTheme$1(baseOption, this._theme.option);
+  merge$5(baseOption, globalDefault$1, false);
+  this.mergeOption(baseOption);
+}
+function getComponentsByTypes(componentsMap, types2) {
+  if (!isArray$7(types2)) {
+    types2 = types2 ? [types2] : [];
+  }
+  var ret = {};
+  each$q(types2, function(type2) {
+    ret[type2] = (componentsMap.get(type2) || []).slice();
+  });
+  return ret;
+}
+function determineSubType$1(mainType, newCptOption, existComponent) {
+  var subType = newCptOption.type ? newCptOption.type : existComponent ? existComponent.subType : ComponentModel$4.determineSubType(mainType, newCptOption);
+  return subType;
+}
+function createSeriesIndices(ecModel, seriesModels) {
+  ecModel._seriesIndicesMap = createHashMap$4(ecModel._seriesIndices = map$5(seriesModels, function(series) {
+    return series.componentIndex;
+  }) || []);
+}
+function filterBySubType$1(components, condition) {
+  return condition.hasOwnProperty("subType") ? filter$3(components, function(cpt) {
+    return cpt.subType === condition.subType;
+  }) : components;
+}
+mixin$1(GlobalModel$3, colorPaletteMixin$1);
+var _default$m = GlobalModel$3;
+var Global = _default$m;
+var zrUtil$6 = util$a;
+var echartsAPIList = ["getDom", "getZr", "getWidth", "getHeight", "getDevicePixelRatio", "dispatchAction", "isDisposed", "on", "off", "getDataURL", "getConnectedDataURL", "getModel", "getOption", "getViewOfComponentModel", "getViewOfSeriesModel"];
+function ExtensionAPI$3(chartInstance) {
+  zrUtil$6.each(echartsAPIList, function(name2) {
+    this[name2] = zrUtil$6.bind(chartInstance[name2], chartInstance);
+  }, this);
+}
+var _default$l = ExtensionAPI$3;
+var ExtensionAPI_1 = _default$l;
+var zrUtil$5 = util$a;
+var coordinateSystemCreators$1 = {};
+function CoordinateSystemManager$1() {
+  this._coordinateSystems = [];
+}
+CoordinateSystemManager$1.prototype = {
+  constructor: CoordinateSystemManager$1,
+  create: function(ecModel, api2) {
+    var coordinateSystems = [];
+    zrUtil$5.each(coordinateSystemCreators$1, function(creater, type2) {
+      var list2 = creater.create(ecModel, api2);
+      coordinateSystems = coordinateSystems.concat(list2 || []);
+    });
+    this._coordinateSystems = coordinateSystems;
+  },
+  update: function(ecModel, api2) {
+    zrUtil$5.each(this._coordinateSystems, function(coordSys) {
+      coordSys.update && coordSys.update(ecModel, api2);
+    });
+  },
+  getCoordinateSystems: function() {
+    return this._coordinateSystems.slice();
+  }
+};
+CoordinateSystemManager$1.register = function(type2, coordinateSystemCreator) {
+  coordinateSystemCreators$1[type2] = coordinateSystemCreator;
+};
+CoordinateSystemManager$1.get = function(type2) {
+  return coordinateSystemCreators$1[type2];
+};
+var _default$k = CoordinateSystemManager$1;
+var CoordinateSystem$1 = _default$k;
+var zrUtil$4 = util$a;
+var modelUtil$3 = model;
+var ComponentModel$3 = Component$1;
+var each$p = zrUtil$4.each;
+var clone$5 = zrUtil$4.clone;
+var map$4 = zrUtil$4.map;
+var merge$4 = zrUtil$4.merge;
+var QUERY_REG$1 = /^(min|max)?(.+)$/;
+function OptionManager$2(api2) {
+  this._api = api2;
+  this._timelineOptions = [];
+  this._mediaList = [];
+  this._mediaDefault;
+  this._currentMediaIndices = [];
+  this._optionBackup;
+  this._newBaseOption;
+}
+OptionManager$2.prototype = {
+  constructor: OptionManager$2,
+  /**
+   * @public
+   * @param {Object} rawOption Raw option.
+   * @param {module:echarts/model/Global} ecModel
+   * @param {Array.<Function>} optionPreprocessorFuncs
+   * @return {Object} Init option
+   */
+  setOption: function(rawOption, optionPreprocessorFuncs2) {
+    if (rawOption) {
+      zrUtil$4.each(modelUtil$3.normalizeToArray(rawOption.series), function(series) {
+        series && series.data && zrUtil$4.isTypedArray(series.data) && zrUtil$4.setAsPrimitive(series.data);
+      });
+    }
+    rawOption = clone$5(rawOption);
+    var oldOptionBackup = this._optionBackup;
+    var newParsedOption = parseRawOption$1.call(this, rawOption, optionPreprocessorFuncs2, !oldOptionBackup);
+    this._newBaseOption = newParsedOption.baseOption;
+    if (oldOptionBackup) {
+      mergeOption(oldOptionBackup.baseOption, newParsedOption.baseOption);
+      if (newParsedOption.timelineOptions.length) {
+        oldOptionBackup.timelineOptions = newParsedOption.timelineOptions;
+      }
+      if (newParsedOption.mediaList.length) {
+        oldOptionBackup.mediaList = newParsedOption.mediaList;
+      }
+      if (newParsedOption.mediaDefault) {
+        oldOptionBackup.mediaDefault = newParsedOption.mediaDefault;
+      }
+    } else {
+      this._optionBackup = newParsedOption;
+    }
+  },
+  /**
+   * @param {boolean} isRecreate
+   * @return {Object}
+   */
+  mountOption: function(isRecreate) {
+    var optionBackup = this._optionBackup;
+    this._timelineOptions = map$4(optionBackup.timelineOptions, clone$5);
+    this._mediaList = map$4(optionBackup.mediaList, clone$5);
+    this._mediaDefault = clone$5(optionBackup.mediaDefault);
+    this._currentMediaIndices = [];
+    return clone$5(isRecreate ? optionBackup.baseOption : this._newBaseOption);
+  },
+  /**
+   * @param {module:echarts/model/Global} ecModel
+   * @return {Object}
+   */
+  getTimelineOption: function(ecModel) {
+    var option;
+    var timelineOptions = this._timelineOptions;
+    if (timelineOptions.length) {
+      var timelineModel = ecModel.getComponent("timeline");
+      if (timelineModel) {
+        option = clone$5(timelineOptions[timelineModel.getCurrentIndex()], true);
+      }
+    }
+    return option;
+  },
+  /**
+   * @param {module:echarts/model/Global} ecModel
+   * @return {Array.<Object>}
+   */
+  getMediaOption: function(ecModel) {
+    var ecWidth = this._api.getWidth();
+    var ecHeight = this._api.getHeight();
+    var mediaList = this._mediaList;
+    var mediaDefault = this._mediaDefault;
+    var indices = [];
+    var result2 = [];
+    if (!mediaList.length && !mediaDefault) {
+      return result2;
+    }
+    for (var i2 = 0, len2 = mediaList.length; i2 < len2; i2++) {
+      if (applyMediaQuery$1(mediaList[i2].query, ecWidth, ecHeight)) {
+        indices.push(i2);
+      }
+    }
+    if (!indices.length && mediaDefault) {
+      indices = [-1];
+    }
+    if (indices.length && !indicesEquals$1(indices, this._currentMediaIndices)) {
+      result2 = map$4(indices, function(index3) {
+        return clone$5(index3 === -1 ? mediaDefault.option : mediaList[index3].option);
+      });
+    }
+    this._currentMediaIndices = indices;
+    return result2;
+  }
+};
+function parseRawOption$1(rawOption, optionPreprocessorFuncs2, isNew) {
+  var timelineOptions = [];
+  var mediaList = [];
+  var mediaDefault;
+  var baseOption;
+  var timelineOpt = rawOption.timeline;
+  if (rawOption.baseOption) {
+    baseOption = rawOption.baseOption;
+  }
+  if (timelineOpt || rawOption.options) {
+    baseOption = baseOption || {};
+    timelineOptions = (rawOption.options || []).slice();
+  }
+  if (rawOption.media) {
+    baseOption = baseOption || {};
+    var media = rawOption.media;
+    each$p(media, function(singleMedia) {
+      if (singleMedia && singleMedia.option) {
+        if (singleMedia.query) {
+          mediaList.push(singleMedia);
+        } else if (!mediaDefault) {
+          mediaDefault = singleMedia;
+        }
+      }
+    });
+  }
+  if (!baseOption) {
+    baseOption = rawOption;
+  }
+  if (!baseOption.timeline) {
+    baseOption.timeline = timelineOpt;
+  }
+  each$p([baseOption].concat(timelineOptions).concat(zrUtil$4.map(mediaList, function(media2) {
+    return media2.option;
+  })), function(option) {
+    each$p(optionPreprocessorFuncs2, function(preProcess) {
+      preProcess(option, isNew);
+    });
+  });
+  return {
+    baseOption,
+    timelineOptions,
+    mediaDefault,
+    mediaList
+  };
+}
+function applyMediaQuery$1(query, ecWidth, ecHeight) {
+  var realMap = {
+    width: ecWidth,
+    height: ecHeight,
+    aspectratio: ecWidth / ecHeight
+    // lowser case for convenientce.
+  };
+  var applicatable = true;
+  zrUtil$4.each(query, function(value, attr) {
+    var matched = attr.match(QUERY_REG$1);
+    if (!matched || !matched[1] || !matched[2]) {
+      return;
+    }
+    var operator = matched[1];
+    var realAttr = matched[2].toLowerCase();
+    if (!compare$1(realMap[realAttr], value, operator)) {
+      applicatable = false;
+    }
+  });
+  return applicatable;
+}
+function compare$1(real, expect, operator) {
+  if (operator === "min") {
+    return real >= expect;
+  } else if (operator === "max") {
+    return real <= expect;
+  } else {
+    return real === expect;
+  }
+}
+function indicesEquals$1(indices1, indices2) {
+  return indices1.join(",") === indices2.join(",");
+}
+function mergeOption(oldOption, newOption) {
+  newOption = newOption || {};
+  each$p(newOption, function(newCptOpt, mainType) {
+    if (newCptOpt == null) {
+      return;
+    }
+    var oldCptOpt = oldOption[mainType];
+    if (!ComponentModel$3.hasClass(mainType)) {
+      oldOption[mainType] = merge$4(oldCptOpt, newCptOpt, true);
+    } else {
+      newCptOpt = modelUtil$3.normalizeToArray(newCptOpt);
+      oldCptOpt = modelUtil$3.normalizeToArray(oldCptOpt);
+      var mapResult = modelUtil$3.mappingToExists(oldCptOpt, newCptOpt);
+      oldOption[mainType] = map$4(mapResult, function(item) {
+        return item.option && item.exist ? merge$4(item.exist, item.option, true) : item.exist || item.option;
+      });
+    }
+  });
+}
+var _default$j = OptionManager$2;
+var OptionManager_1 = _default$j;
+var zrUtil$3 = util$a;
+var modelUtil$2 = model;
+var each$o = zrUtil$3.each;
+var isObject$9 = zrUtil$3.isObject;
+var POSSIBLE_STYLES$1 = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"];
+function compatEC2ItemStyle$1(opt) {
+  var itemStyleOpt = opt && opt.itemStyle;
+  if (!itemStyleOpt) {
+    return;
+  }
+  for (var i2 = 0, len2 = POSSIBLE_STYLES$1.length; i2 < len2; i2++) {
+    var styleName = POSSIBLE_STYLES$1[i2];
+    var normalItemStyleOpt = itemStyleOpt.normal;
+    var emphasisItemStyleOpt = itemStyleOpt.emphasis;
+    if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {
+      opt[styleName] = opt[styleName] || {};
+      if (!opt[styleName].normal) {
+        opt[styleName].normal = normalItemStyleOpt[styleName];
+      } else {
+        zrUtil$3.merge(opt[styleName].normal, normalItemStyleOpt[styleName]);
+      }
+      normalItemStyleOpt[styleName] = null;
+    }
+    if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {
+      opt[styleName] = opt[styleName] || {};
+      if (!opt[styleName].emphasis) {
+        opt[styleName].emphasis = emphasisItemStyleOpt[styleName];
+      } else {
+        zrUtil$3.merge(opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);
+      }
+      emphasisItemStyleOpt[styleName] = null;
+    }
+  }
+}
+function convertNormalEmphasis$1(opt, optType, useExtend) {
+  if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {
+    var normalOpt = opt[optType].normal;
+    var emphasisOpt = opt[optType].emphasis;
+    if (normalOpt) {
+      if (useExtend) {
+        opt[optType].normal = opt[optType].emphasis = null;
+        zrUtil$3.defaults(opt[optType], normalOpt);
+      } else {
+        opt[optType] = normalOpt;
+      }
+    }
+    if (emphasisOpt) {
+      opt.emphasis = opt.emphasis || {};
+      opt.emphasis[optType] = emphasisOpt;
+    }
+  }
+}
+function removeEC3NormalStatus$1(opt) {
+  convertNormalEmphasis$1(opt, "itemStyle");
+  convertNormalEmphasis$1(opt, "lineStyle");
+  convertNormalEmphasis$1(opt, "areaStyle");
+  convertNormalEmphasis$1(opt, "label");
+  convertNormalEmphasis$1(opt, "labelLine");
+  convertNormalEmphasis$1(opt, "upperLabel");
+  convertNormalEmphasis$1(opt, "edgeLabel");
+}
+function compatTextStyle$1(opt, propName) {
+  var labelOptSingle = isObject$9(opt) && opt[propName];
+  var textStyle2 = isObject$9(labelOptSingle) && labelOptSingle.textStyle;
+  if (textStyle2) {
+    for (var i2 = 0, len2 = modelUtil$2.TEXT_STYLE_OPTIONS.length; i2 < len2; i2++) {
+      var propName = modelUtil$2.TEXT_STYLE_OPTIONS[i2];
+      if (textStyle2.hasOwnProperty(propName)) {
+        labelOptSingle[propName] = textStyle2[propName];
+      }
+    }
+  }
+}
+function compatEC3CommonStyles$1(opt) {
+  if (opt) {
+    removeEC3NormalStatus$1(opt);
+    compatTextStyle$1(opt, "label");
+    opt.emphasis && compatTextStyle$1(opt.emphasis, "label");
+  }
+}
+function processSeries$1(seriesOpt) {
+  if (!isObject$9(seriesOpt)) {
+    return;
+  }
+  compatEC2ItemStyle$1(seriesOpt);
+  removeEC3NormalStatus$1(seriesOpt);
+  compatTextStyle$1(seriesOpt, "label");
+  compatTextStyle$1(seriesOpt, "upperLabel");
+  compatTextStyle$1(seriesOpt, "edgeLabel");
+  if (seriesOpt.emphasis) {
+    compatTextStyle$1(seriesOpt.emphasis, "label");
+    compatTextStyle$1(seriesOpt.emphasis, "upperLabel");
+    compatTextStyle$1(seriesOpt.emphasis, "edgeLabel");
+  }
+  var markPoint2 = seriesOpt.markPoint;
+  if (markPoint2) {
+    compatEC2ItemStyle$1(markPoint2);
+    compatEC3CommonStyles$1(markPoint2);
+  }
+  var markLine2 = seriesOpt.markLine;
+  if (markLine2) {
+    compatEC2ItemStyle$1(markLine2);
+    compatEC3CommonStyles$1(markLine2);
+  }
+  var markArea2 = seriesOpt.markArea;
+  if (markArea2) {
+    compatEC3CommonStyles$1(markArea2);
+  }
+  var data2 = seriesOpt.data;
+  if (seriesOpt.type === "graph") {
+    data2 = data2 || seriesOpt.nodes;
+    var edgeData = seriesOpt.links || seriesOpt.edges;
+    if (edgeData && !zrUtil$3.isTypedArray(edgeData)) {
+      for (var i2 = 0; i2 < edgeData.length; i2++) {
+        compatEC3CommonStyles$1(edgeData[i2]);
+      }
+    }
+    zrUtil$3.each(seriesOpt.categories, function(opt) {
+      removeEC3NormalStatus$1(opt);
+    });
+  }
+  if (data2 && !zrUtil$3.isTypedArray(data2)) {
+    for (var i2 = 0; i2 < data2.length; i2++) {
+      compatEC3CommonStyles$1(data2[i2]);
+    }
+  }
+  var markPoint2 = seriesOpt.markPoint;
+  if (markPoint2 && markPoint2.data) {
+    var mpData = markPoint2.data;
+    for (var i2 = 0; i2 < mpData.length; i2++) {
+      compatEC3CommonStyles$1(mpData[i2]);
+    }
+  }
+  var markLine2 = seriesOpt.markLine;
+  if (markLine2 && markLine2.data) {
+    var mlData = markLine2.data;
+    for (var i2 = 0; i2 < mlData.length; i2++) {
+      if (zrUtil$3.isArray(mlData[i2])) {
+        compatEC3CommonStyles$1(mlData[i2][0]);
+        compatEC3CommonStyles$1(mlData[i2][1]);
+      } else {
+        compatEC3CommonStyles$1(mlData[i2]);
+      }
+    }
+  }
+  if (seriesOpt.type === "gauge") {
+    compatTextStyle$1(seriesOpt, "axisLabel");
+    compatTextStyle$1(seriesOpt, "title");
+    compatTextStyle$1(seriesOpt, "detail");
+  } else if (seriesOpt.type === "treemap") {
+    convertNormalEmphasis$1(seriesOpt.breadcrumb, "itemStyle");
+    zrUtil$3.each(seriesOpt.levels, function(opt) {
+      removeEC3NormalStatus$1(opt);
+    });
+  } else if (seriesOpt.type === "tree") {
+    removeEC3NormalStatus$1(seriesOpt.leaves);
+  }
+}
+function toArr$1(o2) {
+  return zrUtil$3.isArray(o2) ? o2 : o2 ? [o2] : [];
+}
+function toObj$1(o2) {
+  return (zrUtil$3.isArray(o2) ? o2[0] : o2) || {};
+}
+function _default$i(option, isTheme) {
+  each$o(toArr$1(option.series), function(seriesOpt) {
+    isObject$9(seriesOpt) && processSeries$1(seriesOpt);
+  });
+  var axes = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"];
+  isTheme && axes.push("valueAxis", "categoryAxis", "logAxis", "timeAxis");
+  each$o(axes, function(axisName) {
+    each$o(toArr$1(option[axisName]), function(axisOpt) {
+      if (axisOpt) {
+        compatTextStyle$1(axisOpt, "axisLabel");
+        compatTextStyle$1(axisOpt.axisPointer, "label");
+      }
+    });
+  });
+  each$o(toArr$1(option.parallel), function(parallelOpt) {
+    var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;
+    compatTextStyle$1(parallelAxisDefault, "axisLabel");
+    compatTextStyle$1(parallelAxisDefault && parallelAxisDefault.axisPointer, "label");
+  });
+  each$o(toArr$1(option.calendar), function(calendarOpt) {
+    convertNormalEmphasis$1(calendarOpt, "itemStyle");
+    compatTextStyle$1(calendarOpt, "dayLabel");
+    compatTextStyle$1(calendarOpt, "monthLabel");
+    compatTextStyle$1(calendarOpt, "yearLabel");
+  });
+  each$o(toArr$1(option.radar), function(radarOpt) {
+    compatTextStyle$1(radarOpt, "name");
+  });
+  each$o(toArr$1(option.geo), function(geoOpt) {
+    if (isObject$9(geoOpt)) {
+      compatEC3CommonStyles$1(geoOpt);
+      each$o(toArr$1(geoOpt.regions), function(regionObj) {
+        compatEC3CommonStyles$1(regionObj);
+      });
+    }
+  });
+  each$o(toArr$1(option.timeline), function(timelineOpt) {
+    compatEC3CommonStyles$1(timelineOpt);
+    convertNormalEmphasis$1(timelineOpt, "label");
+    convertNormalEmphasis$1(timelineOpt, "itemStyle");
+    convertNormalEmphasis$1(timelineOpt, "controlStyle", true);
+    var data2 = timelineOpt.data;
+    zrUtil$3.isArray(data2) && zrUtil$3.each(data2, function(item) {
+      if (zrUtil$3.isObject(item)) {
+        convertNormalEmphasis$1(item, "label");
+        convertNormalEmphasis$1(item, "itemStyle");
+      }
+    });
+  });
+  each$o(toArr$1(option.toolbox), function(toolboxOpt) {
+    convertNormalEmphasis$1(toolboxOpt, "iconStyle");
+    each$o(toolboxOpt.feature, function(featureOpt) {
+      convertNormalEmphasis$1(featureOpt, "iconStyle");
+    });
+  });
+  compatTextStyle$1(toObj$1(option.axisPointer), "label");
+  compatTextStyle$1(toObj$1(option.tooltip).axisPointer, "label");
+}
+var compatStyle$1 = _default$i;
+var _util$8 = util$a;
+var each$n = _util$8.each;
+var isArray$6 = _util$8.isArray;
+var isObject$8 = _util$8.isObject;
+var compatStyle = compatStyle$1;
+var _model$4 = model;
+var normalizeToArray$2 = _model$4.normalizeToArray;
+function get$1(opt, path2) {
+  path2 = path2.split(",");
+  var obj2 = opt;
+  for (var i2 = 0; i2 < path2.length; i2++) {
+    obj2 = obj2 && obj2[path2[i2]];
+    if (obj2 == null) {
+      break;
+    }
+  }
+  return obj2;
+}
+function set$2(opt, path2, val, overwrite) {
+  path2 = path2.split(",");
+  var obj2 = opt;
+  var key2;
+  for (var i2 = 0; i2 < path2.length - 1; i2++) {
+    key2 = path2[i2];
+    if (obj2[key2] == null) {
+      obj2[key2] = {};
+    }
+    obj2 = obj2[key2];
+  }
+  if (overwrite || obj2[path2[i2]] == null) {
+    obj2[path2[i2]] = val;
+  }
+}
+function compatLayoutProperties$1(option) {
+  each$n(LAYOUT_PROPERTIES$1, function(prop2) {
+    if (prop2[0] in option && !(prop2[1] in option)) {
+      option[prop2[1]] = option[prop2[0]];
+    }
+  });
+}
+var LAYOUT_PROPERTIES$1 = [["x", "left"], ["y", "top"], ["x2", "right"], ["y2", "bottom"]];
+var COMPATITABLE_COMPONENTS$1 = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"];
+function _default$h(option, isTheme) {
+  compatStyle(option, isTheme);
+  option.series = normalizeToArray$2(option.series);
+  each$n(option.series, function(seriesOpt) {
+    if (!isObject$8(seriesOpt)) {
+      return;
+    }
+    var seriesType2 = seriesOpt.type;
+    if (seriesType2 === "line") {
+      if (seriesOpt.clipOverflow != null) {
+        seriesOpt.clip = seriesOpt.clipOverflow;
+      }
+    } else if (seriesType2 === "pie" || seriesType2 === "gauge") {
+      if (seriesOpt.clockWise != null) {
+        seriesOpt.clockwise = seriesOpt.clockWise;
+      }
+    } else if (seriesType2 === "gauge") {
+      var pointerColor = get$1(seriesOpt, "pointer.color");
+      pointerColor != null && set$2(seriesOpt, "itemStyle.color", pointerColor);
+    }
+    compatLayoutProperties$1(seriesOpt);
+  });
+  if (option.dataRange) {
+    option.visualMap = option.dataRange;
+  }
+  each$n(COMPATITABLE_COMPONENTS$1, function(componentName) {
+    var options2 = option[componentName];
+    if (options2) {
+      if (!isArray$6(options2)) {
+        options2 = [options2];
+      }
+      each$n(options2, function(option2) {
+        compatLayoutProperties$1(option2);
+      });
+    }
+  });
+}
+var backwardCompat$2 = _default$h;
+var _util$7 = util$a;
+var createHashMap$3 = _util$7.createHashMap;
+var each$m = _util$7.each;
+function _default$g(ecModel) {
+  var stackInfoMap = createHashMap$3();
+  ecModel.eachSeries(function(seriesModel) {
+    var stack = seriesModel.get("stack");
+    if (stack) {
+      var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);
+      var data2 = seriesModel.getData();
+      var stackInfo = {
+        // Used for calculate axis extent automatically.
+        stackResultDimension: data2.getCalculationInfo("stackResultDimension"),
+        stackedOverDimension: data2.getCalculationInfo("stackedOverDimension"),
+        stackedDimension: data2.getCalculationInfo("stackedDimension"),
+        stackedByDimension: data2.getCalculationInfo("stackedByDimension"),
+        isStackedByIndex: data2.getCalculationInfo("isStackedByIndex"),
+        data: data2,
+        seriesModel
+      };
+      if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {
+        return;
+      }
+      stackInfoList.length && data2.setCalculationInfo("stackedOnSeries", stackInfoList[stackInfoList.length - 1].seriesModel);
+      stackInfoList.push(stackInfo);
+    }
+  });
+  stackInfoMap.each(calculateStack$1);
+}
+function calculateStack$1(stackInfoList) {
+  each$m(stackInfoList, function(targetStackInfo, idxInStack) {
+    var resultVal = [];
+    var resultNaN = [NaN, NaN];
+    var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];
+    var targetData = targetStackInfo.data;
+    var isStackedByIndex = targetStackInfo.isStackedByIndex;
+    var newData = targetData.map(dims, function(v0, v12, dataIndex) {
+      var sum2 = targetData.get(targetStackInfo.stackedDimension, dataIndex);
+      if (isNaN(sum2)) {
+        return resultNaN;
+      }
+      var byValue;
+      var stackedDataRawIndex;
+      if (isStackedByIndex) {
+        stackedDataRawIndex = targetData.getRawIndex(dataIndex);
+      } else {
+        byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);
+      }
+      var stackedOver = NaN;
+      for (var j2 = idxInStack - 1; j2 >= 0; j2--) {
+        var stackInfo = stackInfoList[j2];
+        if (!isStackedByIndex) {
+          stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);
+        }
+        if (stackedDataRawIndex >= 0) {
+          var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex);
+          if (sum2 >= 0 && val > 0 || // Positive stack
+          sum2 <= 0 && val < 0) {
+            sum2 += val;
+            stackedOver = val;
+            break;
+          }
+        }
+      }
+      resultVal[0] = sum2;
+      resultVal[1] = stackedOver;
+      return resultVal;
+    });
+    targetData.hostModel.setData(newData);
+    targetStackInfo.data = newData;
+  });
+}
+var dataStack$2 = _default$g;
+var dataProvider = {};
+var _util$6 = util$a;
+_util$6.isTypedArray;
+var extend$7 = _util$6.extend;
+_util$6.assert;
+var each$l = _util$6.each;
+var isObject$7 = _util$6.isObject;
+var _model$3 = model;
+var getDataItemValue$1 = _model$3.getDataItemValue;
+var isDataItemOption$1 = _model$3.isDataItemOption;
+var _number = requireNumber();
+var parseDate$3 = _number.parseDate;
+var Source = requireSource();
+var _sourceType = requireSourceType();
+var SOURCE_FORMAT_TYPED_ARRAY$1 = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;
+var SOURCE_FORMAT_ARRAY_ROWS$1 = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;
+var SOURCE_FORMAT_ORIGINAL$1 = _sourceType.SOURCE_FORMAT_ORIGINAL;
+var SOURCE_FORMAT_OBJECT_ROWS$1 = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;
+function DefaultDataProvider$1(source2, dimSize) {
+  if (!Source.isInstance(source2)) {
+    source2 = Source.seriesDataToSource(source2);
+  }
+  this._source = source2;
+  var data2 = this._data = source2.data;
+  var sourceFormat = source2.sourceFormat;
+  if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY$1) {
+    this._offset = 0;
+    this._dimSize = dimSize;
+    this._data = data2;
+  }
+  var methods2 = providerMethods$1[sourceFormat === SOURCE_FORMAT_ARRAY_ROWS$1 ? sourceFormat + "_" + source2.seriesLayoutBy : sourceFormat];
+  extend$7(this, methods2);
+}
+var providerProto = DefaultDataProvider$1.prototype;
+providerProto.pure = false;
+providerProto.persistent = true;
+providerProto.getSource = function() {
+  return this._source;
+};
+var providerMethods$1 = {
+  "arrayRows_column": {
+    pure: true,
+    count: function() {
+      return Math.max(0, this._data.length - this._source.startIndex);
+    },
+    getItem: function(idx) {
+      return this._data[idx + this._source.startIndex];
+    },
+    appendData: appendDataSimply
+  },
+  "arrayRows_row": {
+    pure: true,
+    count: function() {
+      var row = this._data[0];
+      return row ? Math.max(0, row.length - this._source.startIndex) : 0;
+    },
+    getItem: function(idx) {
+      idx += this._source.startIndex;
+      var item = [];
+      var data2 = this._data;
+      for (var i2 = 0; i2 < data2.length; i2++) {
+        var row = data2[i2];
+        item.push(row ? row[idx] : null);
+      }
+      return item;
+    },
+    appendData: function() {
+      throw new Error('Do not support appendData when set seriesLayoutBy: "row".');
+    }
+  },
+  "objectRows": {
+    pure: true,
+    count: countSimply$1,
+    getItem: getItemSimply$1,
+    appendData: appendDataSimply
+  },
+  "keyedColumns": {
+    pure: true,
+    count: function() {
+      var dimName = this._source.dimensionsDefine[0].name;
+      var col = this._data[dimName];
+      return col ? col.length : 0;
+    },
+    getItem: function(idx) {
+      var item = [];
+      var dims = this._source.dimensionsDefine;
+      for (var i2 = 0; i2 < dims.length; i2++) {
+        var col = this._data[dims[i2].name];
+        item.push(col ? col[idx] : null);
+      }
+      return item;
+    },
+    appendData: function(newData) {
+      var data2 = this._data;
+      each$l(newData, function(newCol, key2) {
+        var oldCol = data2[key2] || (data2[key2] = []);
+        for (var i2 = 0; i2 < (newCol || []).length; i2++) {
+          oldCol.push(newCol[i2]);
+        }
+      });
+    }
+  },
+  "original": {
+    count: countSimply$1,
+    getItem: getItemSimply$1,
+    appendData: appendDataSimply
+  },
+  "typedArray": {
+    persistent: false,
+    pure: true,
+    count: function() {
+      return this._data ? this._data.length / this._dimSize : 0;
+    },
+    getItem: function(idx, out2) {
+      idx = idx - this._offset;
+      out2 = out2 || [];
+      var offset2 = this._dimSize * idx;
+      for (var i2 = 0; i2 < this._dimSize; i2++) {
+        out2[i2] = this._data[offset2 + i2];
+      }
+      return out2;
+    },
+    appendData: function(newData) {
+      this._data = newData;
+    },
+    // Clean self if data is already used.
+    clean: function() {
+      this._offset += this.count();
+      this._data = null;
+    }
+  }
+};
+function countSimply$1() {
+  return this._data.length;
+}
+function getItemSimply$1(idx) {
+  return this._data[idx];
+}
+function appendDataSimply(newData) {
+  for (var i2 = 0; i2 < newData.length; i2++) {
+    this._data.push(newData[i2]);
+  }
+}
+var rawValueGetters = {
+  arrayRows: getRawValueSimply$1,
+  objectRows: function(dataItem, dataIndex, dimIndex, dimName) {
+    return dimIndex != null ? dataItem[dimName] : dataItem;
+  },
+  keyedColumns: getRawValueSimply$1,
+  original: function(dataItem, dataIndex, dimIndex, dimName) {
+    var value = getDataItemValue$1(dataItem);
+    return dimIndex == null || !(value instanceof Array) ? value : value[dimIndex];
+  },
+  typedArray: getRawValueSimply$1
+};
+function getRawValueSimply$1(dataItem, dataIndex, dimIndex, dimName) {
+  return dimIndex != null ? dataItem[dimIndex] : dataItem;
+}
+var defaultDimValueGetters$1 = {
+  arrayRows: getDimValueSimply,
+  objectRows: function(dataItem, dimName, dataIndex, dimIndex) {
+    return converDataValue(dataItem[dimName], this._dimensionInfos[dimName]);
+  },
+  keyedColumns: getDimValueSimply,
+  original: function(dataItem, dimName, dataIndex, dimIndex) {
+    var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value);
+    if (!this._rawData.pure && isDataItemOption$1(dataItem)) {
+      this.hasItemOption = true;
+    }
+    return converDataValue(value instanceof Array ? value[dimIndex] : value, this._dimensionInfos[dimName]);
+  },
+  typedArray: function(dataItem, dimName, dataIndex, dimIndex) {
+    return dataItem[dimIndex];
+  }
+};
+function getDimValueSimply(dataItem, dimName, dataIndex, dimIndex) {
+  return converDataValue(dataItem[dimIndex], this._dimensionInfos[dimName]);
+}
+function converDataValue(value, dimInfo) {
+  var dimType = dimInfo && dimInfo.type;
+  if (dimType === "ordinal") {
+    var ordinalMeta = dimInfo && dimInfo.ordinalMeta;
+    return ordinalMeta ? ordinalMeta.parseAndCollect(value) : value;
+  }
+  if (dimType === "time" && typeof value !== "number" && value != null && value !== "-") {
+    value = +parseDate$3(value);
+  }
+  return value == null || value === "" ? NaN : +value;
+}
+function retrieveRawValue$4(data2, dataIndex, dim) {
+  if (!data2) {
+    return;
+  }
+  var dataItem = data2.getRawDataItem(dataIndex);
+  if (dataItem == null) {
+    return;
+  }
+  var sourceFormat = data2.getProvider().getSource().sourceFormat;
+  var dimName;
+  var dimIndex;
+  var dimInfo = data2.getDimensionInfo(dim);
+  if (dimInfo) {
+    dimName = dimInfo.name;
+    dimIndex = dimInfo.index;
+  }
+  return rawValueGetters[sourceFormat](dataItem, dataIndex, dimIndex, dimName);
+}
+function retrieveRawAttr(data2, dataIndex, attr) {
+  if (!data2) {
+    return;
+  }
+  var sourceFormat = data2.getProvider().getSource().sourceFormat;
+  if (sourceFormat !== SOURCE_FORMAT_ORIGINAL$1 && sourceFormat !== SOURCE_FORMAT_OBJECT_ROWS$1) {
+    return;
+  }
+  var dataItem = data2.getRawDataItem(dataIndex);
+  if (sourceFormat === SOURCE_FORMAT_ORIGINAL$1 && !isObject$7(dataItem)) {
+    dataItem = null;
+  }
+  if (dataItem) {
+    return dataItem[attr];
+  }
+}
+dataProvider.DefaultDataProvider = DefaultDataProvider$1;
+dataProvider.defaultDimValueGetters = defaultDimValueGetters$1;
+dataProvider.retrieveRawValue = retrieveRawValue$4;
+dataProvider.retrieveRawAttr = retrieveRawAttr;
+var _dataProvider$2 = dataProvider;
+var retrieveRawValue$3 = _dataProvider$2.retrieveRawValue;
+var _format$1 = format$6;
+var getTooltipMarker$2 = _format$1.getTooltipMarker;
+var formatTpl$1 = _format$1.formatTpl;
+var _model$2 = model;
+var getTooltipRenderMode$1 = _model$2.getTooltipRenderMode;
+var DIMENSION_LABEL_REG$1 = /\{@(.+?)\}/g;
+var _default$f = {
+  /**
+   * Get params for formatter
+   * @param {number} dataIndex
+   * @param {string} [dataType]
+   * @return {Object}
+   */
+  getDataParams: function(dataIndex, dataType) {
+    var data2 = this.getData(dataType);
+    var rawValue = this.getRawValue(dataIndex, dataType);
+    var rawDataIndex = data2.getRawIndex(dataIndex);
+    var name2 = data2.getName(dataIndex);
+    var itemOpt = data2.getRawDataItem(dataIndex);
+    var color2 = data2.getItemVisual(dataIndex, "color");
+    var borderColor = data2.getItemVisual(dataIndex, "borderColor");
+    var tooltipModel = this.ecModel.getComponent("tooltip");
+    var renderModeOption = tooltipModel && tooltipModel.get("renderMode");
+    var renderMode = getTooltipRenderMode$1(renderModeOption);
+    var mainType = this.mainType;
+    var isSeries2 = mainType === "series";
+    var userOutput = data2.userOutput;
+    return {
+      componentType: mainType,
+      componentSubType: this.subType,
+      componentIndex: this.componentIndex,
+      seriesType: isSeries2 ? this.subType : null,
+      seriesIndex: this.seriesIndex,
+      seriesId: isSeries2 ? this.id : null,
+      seriesName: isSeries2 ? this.name : null,
+      name: name2,
+      dataIndex: rawDataIndex,
+      data: itemOpt,
+      dataType,
+      value: rawValue,
+      color: color2,
+      borderColor,
+      dimensionNames: userOutput ? userOutput.dimensionNames : null,
+      encode: userOutput ? userOutput.encode : null,
+      marker: getTooltipMarker$2({
+        color: color2,
+        renderMode
+      }),
+      // Param name list for mapping `a`, `b`, `c`, `d`, `e`
+      $vars: ["seriesName", "name", "value"]
+    };
+  },
+  /**
+   * Format label
+   * @param {number} dataIndex
+   * @param {string} [status='normal'] 'normal' or 'emphasis'
+   * @param {string} [dataType]
+   * @param {number} [dimIndex] Only used in some chart that
+   *        use formatter in different dimensions, like radar.
+   * @param {string} [labelProp='label']
+   * @return {string} If not formatter, return null/undefined
+   */
+  getFormattedLabel: function(dataIndex, status, dataType, dimIndex, labelProp) {
+    status = status || "normal";
+    var data2 = this.getData(dataType);
+    var itemModel = data2.getItemModel(dataIndex);
+    var params2 = this.getDataParams(dataIndex, dataType);
+    if (dimIndex != null && params2.value instanceof Array) {
+      params2.value = params2.value[dimIndex];
+    }
+    var formatter = itemModel.get(status === "normal" ? [labelProp || "label", "formatter"] : [status, labelProp || "label", "formatter"]);
+    if (typeof formatter === "function") {
+      params2.status = status;
+      params2.dimensionIndex = dimIndex;
+      return formatter(params2);
+    } else if (typeof formatter === "string") {
+      var str = formatTpl$1(formatter, params2);
+      return str.replace(DIMENSION_LABEL_REG$1, function(origin2, dim) {
+        var len2 = dim.length;
+        if (dim.charAt(0) === "[" && dim.charAt(len2 - 1) === "]") {
+          dim = +dim.slice(1, len2 - 1);
+        }
+        return retrieveRawValue$3(data2, dataIndex, dim);
+      });
+    }
+  },
+  /**
+   * Get raw value in option
+   * @param {number} idx
+   * @param {string} [dataType]
+   * @return {Array|number|string}
+   */
+  getRawValue: function(idx, dataType) {
+    return retrieveRawValue$3(this.getData(dataType), idx);
+  },
+  /**
+   * Should be implemented.
+   * @param {number} dataIndex
+   * @param {boolean} [multipleSeries=false]
+   * @param {number} [dataType]
+   * @return {string} tooltip string
+   */
+  formatTooltip: function() {
+  }
+};
+var dataFormat = _default$f;
+var task = {};
+var _util$5 = util$a;
+_util$5.assert;
+var isArray$5 = _util$5.isArray;
+function createTask$4(define) {
+  return new Task$1(define);
+}
+function Task$1(define) {
+  define = define || {};
+  this._reset = define.reset;
+  this._plan = define.plan;
+  this._count = define.count;
+  this._onDirty = define.onDirty;
+  this._dirty = true;
+  this.context;
+}
+var taskProto = Task$1.prototype;
+taskProto.perform = function(performArgs) {
+  var upTask = this._upstream;
+  var skip = performArgs && performArgs.skip;
+  if (this._dirty && upTask) {
+    var context = this.context;
+    context.data = context.outputData = upTask.context.outputData;
+  }
+  if (this.__pipeline) {
+    this.__pipeline.currentTask = this;
+  }
+  var planResult;
+  if (this._plan && !skip) {
+    planResult = this._plan(this.context);
+  }
+  var lastModBy = normalizeModBy(this._modBy);
+  var lastModDataCount = this._modDataCount || 0;
+  var modBy = normalizeModBy(performArgs && performArgs.modBy);
+  var modDataCount = performArgs && performArgs.modDataCount || 0;
+  if (lastModBy !== modBy || lastModDataCount !== modDataCount) {
+    planResult = "reset";
+  }
+  function normalizeModBy(val) {
+    !(val >= 1) && (val = 1);
+    return val;
+  }
+  var forceFirstProgress;
+  if (this._dirty || planResult === "reset") {
+    this._dirty = false;
+    forceFirstProgress = reset(this, skip);
+  }
+  this._modBy = modBy;
+  this._modDataCount = modDataCount;
+  var step2 = performArgs && performArgs.step;
+  if (upTask) {
+    this._dueEnd = upTask._outputDueEnd;
+  } else {
+    this._dueEnd = this._count ? this._count(this.context) : Infinity;
+  }
+  if (this._progress) {
+    var start2 = this._dueIndex;
+    var end2 = Math.min(step2 != null ? this._dueIndex + step2 : Infinity, this._dueEnd);
+    if (!skip && (forceFirstProgress || start2 < end2)) {
+      var progress = this._progress;
+      if (isArray$5(progress)) {
+        for (var i2 = 0; i2 < progress.length; i2++) {
+          doProgress(this, progress[i2], start2, end2, modBy, modDataCount);
+        }
+      } else {
+        doProgress(this, progress, start2, end2, modBy, modDataCount);
+      }
+    }
+    this._dueIndex = end2;
+    var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end2;
+    this._outputDueEnd = outputDueEnd;
+  } else {
+    this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;
+  }
+  return this.unfinished();
+};
+var iterator$1 = function() {
+  var end2;
+  var current;
+  var modBy;
+  var modDataCount;
+  var winCount;
+  var it = {
+    reset: function(s2, e2, sStep, sCount) {
+      current = s2;
+      end2 = e2;
+      modBy = sStep;
+      modDataCount = sCount;
+      winCount = Math.ceil(modDataCount / modBy);
+      it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;
+    }
+  };
+  return it;
+  function sequentialNext() {
+    return current < end2 ? current++ : null;
+  }
+  function modNext() {
+    var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);
+    var result2 = current >= end2 ? null : dataIndex < modDataCount ? dataIndex : current;
+    current++;
+    return result2;
+  }
+}();
+taskProto.dirty = function() {
+  this._dirty = true;
+  this._onDirty && this._onDirty(this.context);
+};
+function doProgress(taskIns, progress, start2, end2, modBy, modDataCount) {
+  iterator$1.reset(start2, end2, modBy, modDataCount);
+  taskIns._callingProgress = progress;
+  taskIns._callingProgress({
+    start: start2,
+    end: end2,
+    count: end2 - start2,
+    next: iterator$1.next
+  }, taskIns.context);
+}
+function reset(taskIns, skip) {
+  taskIns._dueIndex = taskIns._outputDueEnd = taskIns._dueEnd = 0;
+  taskIns._settedOutputEnd = null;
+  var progress;
+  var forceFirstProgress;
+  if (!skip && taskIns._reset) {
+    progress = taskIns._reset(taskIns.context);
+    if (progress && progress.progress) {
+      forceFirstProgress = progress.forceFirstProgress;
+      progress = progress.progress;
+    }
+    if (isArray$5(progress) && !progress.length) {
+      progress = null;
+    }
+  }
+  taskIns._progress = progress;
+  taskIns._modBy = taskIns._modDataCount = null;
+  var downstream = taskIns._downstream;
+  downstream && downstream.dirty();
+  return forceFirstProgress;
+}
+taskProto.unfinished = function() {
+  return this._progress && this._dueIndex < this._dueEnd;
+};
+taskProto.pipe = function(downTask) {
+  if (this._downstream !== downTask || this._dirty) {
+    this._downstream = downTask;
+    downTask._upstream = this;
+    downTask.dirty();
+  }
+};
+taskProto.dispose = function() {
+  if (this._disposed) {
+    return;
+  }
+  this._upstream && (this._upstream._downstream = null);
+  this._downstream && (this._downstream._upstream = null);
+  this._dirty = false;
+  this._disposed = true;
+};
+taskProto.getUpstream = function() {
+  return this._upstream;
+};
+taskProto.getDownstream = function() {
+  return this._downstream;
+};
+taskProto.setOutputEnd = function(end2) {
+  this._outputDueEnd = this._settedOutputEnd = end2;
+};
+task.createTask = createTask$4;
+var zrUtil$2 = util$a;
+var env$2 = env_1;
+var _format = format$6;
+var formatTime$1 = _format.formatTime;
+var encodeHTML$1 = _format.encodeHTML;
+var addCommas$1 = _format.addCommas;
+var getTooltipMarker$1 = _format.getTooltipMarker;
+var modelUtil$1 = model;
+var ComponentModel$2 = Component$1;
+var colorPaletteMixin = colorPalette$2;
+var dataFormatMixin = dataFormat;
+var _layout = layout$5;
+var getLayoutParams$1 = _layout.getLayoutParams;
+var mergeLayoutParam$1 = _layout.mergeLayoutParam;
+var _task$2 = task;
+var createTask$3 = _task$2.createTask;
+var _sourceHelper = requireSourceHelper();
+var prepareSource = _sourceHelper.prepareSource;
+var getSource = _sourceHelper.getSource;
+var _dataProvider$1 = dataProvider;
+var retrieveRawValue$2 = _dataProvider$1.retrieveRawValue;
+var inner$n = modelUtil$1.makeInner();
+var SeriesModel$2 = ComponentModel$2.extend({
+  type: "series.__base__",
+  /**
+   * @readOnly
+   */
+  seriesIndex: 0,
+  // coodinateSystem will be injected in the echarts/CoordinateSystem
+  coordinateSystem: null,
+  /**
+   * @type {Object}
+   * @protected
+   */
+  defaultOption: null,
+  /**
+   * legend visual provider to the legend component
+   * @type {Object}
+   */
+  // PENDING
+  legendVisualProvider: null,
+  /**
+   * Access path of color for visual
+   */
+  visualColorAccessPath: "itemStyle.color",
+  /**
+   * Access path of borderColor for visual
+   */
+  visualBorderColorAccessPath: "itemStyle.borderColor",
+  /**
+   * Support merge layout params.
+   * Only support 'box' now (left/right/top/bottom/width/height).
+   * @type {string|Object} Object can be {ignoreSize: true}
+   * @readOnly
+   */
+  layoutMode: null,
+  init: function(option, parentModel, ecModel, extraOpt) {
+    this.seriesIndex = this.componentIndex;
+    this.dataTask = createTask$3({
+      count: dataTaskCount$1,
+      reset: dataTaskReset$1
+    });
+    this.dataTask.context = {
+      model: this
+    };
+    this.mergeDefaultAndTheme(option, ecModel);
+    prepareSource(this);
+    var data2 = this.getInitialData(option, ecModel);
+    wrapData$1(data2, this);
+    this.dataTask.context.data = data2;
+    inner$n(this).dataBeforeProcessed = data2;
+    autoSeriesName$1(this);
+  },
+  /**
+   * Util for merge default and theme to option
+   * @param  {Object} option
+   * @param  {module:echarts/model/Global} ecModel
+   */
+  mergeDefaultAndTheme: function(option, ecModel) {
+    var layoutMode = this.layoutMode;
+    var inputPositionParams = layoutMode ? getLayoutParams$1(option) : {};
+    var themeSubType = this.subType;
+    if (ComponentModel$2.hasClass(themeSubType)) {
+      themeSubType += "Series";
+    }
+    zrUtil$2.merge(option, ecModel.getTheme().get(this.subType));
+    zrUtil$2.merge(option, this.getDefaultOption());
+    modelUtil$1.defaultEmphasis(option, "label", ["show"]);
+    this.fillDataTextStyle(option.data);
+    if (layoutMode) {
+      mergeLayoutParam$1(option, inputPositionParams, layoutMode);
+    }
+  },
+  mergeOption: function(newSeriesOption, ecModel) {
+    newSeriesOption = zrUtil$2.merge(this.option, newSeriesOption, true);
+    this.fillDataTextStyle(newSeriesOption.data);
+    var layoutMode = this.layoutMode;
+    if (layoutMode) {
+      mergeLayoutParam$1(this.option, newSeriesOption, layoutMode);
+    }
+    prepareSource(this);
+    var data2 = this.getInitialData(newSeriesOption, ecModel);
+    wrapData$1(data2, this);
+    this.dataTask.dirty();
+    this.dataTask.context.data = data2;
+    inner$n(this).dataBeforeProcessed = data2;
+    autoSeriesName$1(this);
+  },
+  fillDataTextStyle: function(data2) {
+    if (data2 && !zrUtil$2.isTypedArray(data2)) {
+      var props2 = ["show"];
+      for (var i2 = 0; i2 < data2.length; i2++) {
+        if (data2[i2] && data2[i2].label) {
+          modelUtil$1.defaultEmphasis(data2[i2], "label", props2);
+        }
+      }
+    }
+  },
+  /**
+   * Init a data structure from data related option in series
+   * Must be overwritten
+   */
+  getInitialData: function() {
+  },
+  /**
+   * Append data to list
+   * @param {Object} params
+   * @param {Array|TypedArray} params.data
+   */
+  appendData: function(params2) {
+    var data2 = this.getRawData();
+    data2.appendData(params2.data);
+  },
+  /**
+   * Consider some method like `filter`, `map` need make new data,
+   * We should make sure that `seriesModel.getData()` get correct
+   * data in the stream procedure. So we fetch data from upstream
+   * each time `task.perform` called.
+   * @param {string} [dataType]
+   * @return {module:echarts/data/List}
+   */
+  getData: function(dataType) {
+    var task2 = getCurrentTask$1(this);
+    if (task2) {
+      var data2 = task2.context.data;
+      return dataType == null ? data2 : data2.getLinkedData(dataType);
+    } else {
+      return inner$n(this).data;
+    }
+  },
+  /**
+   * @param {module:echarts/data/List} data
+   */
+  setData: function(data2) {
+    var task2 = getCurrentTask$1(this);
+    if (task2) {
+      var context = task2.context;
+      if (context.data !== data2 && task2.modifyOutputEnd) {
+        task2.setOutputEnd(data2.count());
+      }
+      context.outputData = data2;
+      if (task2 !== this.dataTask) {
+        context.data = data2;
+      }
+    }
+    inner$n(this).data = data2;
+  },
+  /**
+   * @see {module:echarts/data/helper/sourceHelper#getSource}
+   * @return {module:echarts/data/Source} source
+   */
+  getSource: function() {
+    return getSource(this);
+  },
+  /**
+   * Get data before processed
+   * @return {module:echarts/data/List}
+   */
+  getRawData: function() {
+    return inner$n(this).dataBeforeProcessed;
+  },
+  /**
+   * Get base axis if has coordinate system and has axis.
+   * By default use coordSys.getBaseAxis();
+   * Can be overrided for some chart.
+   * @return {type} description
+   */
+  getBaseAxis: function() {
+    var coordSys = this.coordinateSystem;
+    return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();
+  },
+  // FIXME
+  /**
+   * Default tooltip formatter
+   *
+   * @param {number} dataIndex
+   * @param {boolean} [multipleSeries=false]
+   * @param {number} [dataType]
+   * @param {string} [renderMode='html'] valid values: 'html' and 'richText'.
+   *                                     'html' is used for rendering tooltip in extra DOM form, and the result
+   *                                     string is used as DOM HTML content.
+   *                                     'richText' is used for rendering tooltip in rich text form, for those where
+   *                                     DOM operation is not supported.
+   * @return {Object} formatted tooltip with `html` and `markers`
+   */
+  formatTooltip: function(dataIndex, multipleSeries, dataType, renderMode) {
+    var series = this;
+    renderMode = renderMode || "html";
+    var newLine = renderMode === "html" ? "<br/>" : "\n";
+    var isRichText = renderMode === "richText";
+    var markers = {};
+    var markerId = 0;
+    function formatArrayValue(value2) {
+      var vertially = zrUtil$2.reduce(value2, function(vertially2, val, idx) {
+        var dimItem = data2.getDimensionInfo(idx);
+        return vertially2 |= dimItem && dimItem.tooltip !== false && dimItem.displayName != null;
+      }, 0);
+      var result2 = [];
+      tooltipDims.length ? zrUtil$2.each(tooltipDims, function(dim) {
+        setEachItem(retrieveRawValue$2(data2, dataIndex, dim), dim);
+      }) : zrUtil$2.each(value2, setEachItem);
+      function setEachItem(val, dim) {
+        var dimInfo = data2.getDimensionInfo(dim);
+        if (!dimInfo || dimInfo.otherDims.tooltip === false) {
+          return;
+        }
+        var dimType = dimInfo.type;
+        var markName2 = "sub" + series.seriesIndex + "at" + markerId;
+        var dimHead = getTooltipMarker$1({
+          color: color2,
+          type: "subItem",
+          renderMode,
+          markerId: markName2
+        });
+        var dimHeadStr = typeof dimHead === "string" ? dimHead : dimHead.content;
+        var valStr = (vertially ? dimHeadStr + encodeHTML$1(dimInfo.displayName || "-") + ": " : "") + // FIXME should not format time for raw data?
+        encodeHTML$1(dimType === "ordinal" ? val + "" : dimType === "time" ? multipleSeries ? "" : formatTime$1("yyyy/MM/dd hh:mm:ss", val) : addCommas$1(val));
+        valStr && result2.push(valStr);
+        if (isRichText) {
+          markers[markName2] = color2;
+          ++markerId;
+        }
+      }
+      var newLine2 = vertially ? isRichText ? "\n" : "<br/>" : "";
+      var content2 = newLine2 + result2.join(newLine2 || ", ");
+      return {
+        renderMode,
+        content: content2,
+        style: markers
+      };
+    }
+    function formatSingleValue(val) {
+      return {
+        renderMode,
+        content: encodeHTML$1(addCommas$1(val)),
+        style: markers
+      };
+    }
+    var data2 = this.getData();
+    var tooltipDims = data2.mapDimension("defaultedTooltip", true);
+    var tooltipDimLen = tooltipDims.length;
+    var value = this.getRawValue(dataIndex);
+    var isValueArr = zrUtil$2.isArray(value);
+    var color2 = data2.getItemVisual(dataIndex, "color");
+    if (zrUtil$2.isObject(color2) && color2.colorStops) {
+      color2 = (color2.colorStops[0] || {}).color;
+    }
+    color2 = color2 || "transparent";
+    var formattedValue = tooltipDimLen > 1 || isValueArr && !tooltipDimLen ? formatArrayValue(value) : tooltipDimLen ? formatSingleValue(retrieveRawValue$2(data2, dataIndex, tooltipDims[0])) : formatSingleValue(isValueArr ? value[0] : value);
+    var content = formattedValue.content;
+    var markName = series.seriesIndex + "at" + markerId;
+    var colorEl = getTooltipMarker$1({
+      color: color2,
+      type: "item",
+      renderMode,
+      markerId: markName
+    });
+    markers[markName] = color2;
+    ++markerId;
+    var name2 = data2.getName(dataIndex);
+    var seriesName = this.name;
+    if (!modelUtil$1.isNameSpecified(this)) {
+      seriesName = "";
+    }
+    seriesName = seriesName ? encodeHTML$1(seriesName) + (!multipleSeries ? newLine : ": ") : "";
+    var colorStr = typeof colorEl === "string" ? colorEl : colorEl.content;
+    var html = !multipleSeries ? seriesName + colorStr + (name2 ? encodeHTML$1(name2) + ": " + content : content) : colorStr + seriesName + content;
+    return {
+      html,
+      markers
+    };
+  },
+  /**
+   * @return {boolean}
+   */
+  isAnimationEnabled: function() {
+    if (env$2.node) {
+      return false;
+    }
+    var animationEnabled = this.getShallow("animation");
+    if (animationEnabled) {
+      if (this.getData().count() > this.getShallow("animationThreshold")) {
+        animationEnabled = false;
+      }
+    }
+    return animationEnabled;
+  },
+  restoreData: function() {
+    this.dataTask.dirty();
+  },
+  getColorFromPalette: function(name2, scope, requestColorNum) {
+    var ecModel = this.ecModel;
+    var color2 = colorPaletteMixin.getColorFromPalette.call(this, name2, scope, requestColorNum);
+    if (!color2) {
+      color2 = ecModel.getColorFromPalette(name2, scope, requestColorNum);
+    }
+    return color2;
+  },
+  /**
+   * Use `data.mapDimension(coordDim, true)` instead.
+   * @deprecated
+   */
+  coordDimToDataDim: function(coordDim) {
+    return this.getRawData().mapDimension(coordDim, true);
+  },
+  /**
+   * Get progressive rendering count each step
+   * @return {number}
+   */
+  getProgressive: function() {
+    return this.get("progressive");
+  },
+  /**
+   * Get progressive rendering count each step
+   * @return {number}
+   */
+  getProgressiveThreshold: function() {
+    return this.get("progressiveThreshold");
+  },
+  /**
+   * Get data indices for show tooltip content. See tooltip.
+   * @abstract
+   * @param {Array.<string>|string} dim
+   * @param {Array.<number>} value
+   * @param {module:echarts/coord/single/SingleAxis} baseAxis
+   * @return {Object} {dataIndices, nestestValue}.
+   */
+  getAxisTooltipData: null,
+  /**
+   * See tooltip.
+   * @abstract
+   * @param {number} dataIndex
+   * @return {Array.<number>} Point of tooltip. null/undefined can be returned.
+   */
+  getTooltipPosition: null,
+  /**
+   * @see {module:echarts/stream/Scheduler}
+   */
+  pipeTask: null,
+  /**
+   * Convinient for override in extended class.
+   * @protected
+   * @type {Function}
+   */
+  preventIncremental: null,
+  /**
+   * @public
+   * @readOnly
+   * @type {Object}
+   */
+  pipelineContext: null
+});
+zrUtil$2.mixin(SeriesModel$2, dataFormatMixin);
+zrUtil$2.mixin(SeriesModel$2, colorPaletteMixin);
+function autoSeriesName$1(seriesModel) {
+  var name2 = seriesModel.name;
+  if (!modelUtil$1.isNameSpecified(seriesModel)) {
+    seriesModel.name = getSeriesAutoName$1(seriesModel) || name2;
+  }
+}
+function getSeriesAutoName$1(seriesModel) {
+  var data2 = seriesModel.getRawData();
+  var dataDims = data2.mapDimension("seriesName", true);
+  var nameArr = [];
+  zrUtil$2.each(dataDims, function(dataDim) {
+    var dimInfo = data2.getDimensionInfo(dataDim);
+    dimInfo.displayName && nameArr.push(dimInfo.displayName);
+  });
+  return nameArr.join(" ");
+}
+function dataTaskCount$1(context) {
+  return context.model.getRawData().count();
+}
+function dataTaskReset$1(context) {
+  var seriesModel = context.model;
+  seriesModel.setData(seriesModel.getRawData().cloneShallow());
+  return dataTaskProgress$1;
+}
+function dataTaskProgress$1(param2, context) {
+  if (context.outputData && param2.end > context.outputData.count()) {
+    context.model.getRawData().cloneShallow(context.outputData);
+  }
+}
+function wrapData$1(data2, seriesModel) {
+  zrUtil$2.each(data2.CHANGABLE_METHODS, function(methodName) {
+    data2.wrapMethod(methodName, zrUtil$2.curry(onDataSelfChange, seriesModel));
+  });
+}
+function onDataSelfChange(seriesModel) {
+  var task2 = getCurrentTask$1(seriesModel);
+  if (task2) {
+    task2.setOutputEnd(this.count());
+  }
+}
+function getCurrentTask$1(seriesModel) {
+  var scheduler = (seriesModel.ecModel || {}).scheduler;
+  var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);
+  if (pipeline) {
+    var task2 = pipeline.currentTask;
+    if (task2) {
+      var agentStubMap = task2.agentStubMap;
+      if (agentStubMap) {
+        task2 = agentStubMap.get(seriesModel.uid);
+      }
+    }
+    return task2;
+  }
+}
+var _default$e = SeriesModel$2;
+var Series = _default$e;
+var Group$7 = Group_1;
+var componentUtil$1 = component;
+var clazzUtil$1 = clazz;
+var Component = function() {
+  this.group = new Group$7();
+  this.uid = componentUtil$1.getUID("viewComponent");
+};
+Component.prototype = {
+  constructor: Component,
+  init: function(ecModel, api2) {
+  },
+  render: function(componentModel, ecModel, api2, payload) {
+  },
+  dispose: function() {
+  },
+  /**
+   * @param {string} eventType
+   * @param {Object} query
+   * @param {module:zrender/Element} targetEl
+   * @param {Object} packedEvent
+   * @return {boolen} Pass only when return `true`.
+   */
+  filterForExposedEvent: null
+};
+var componentProto = Component.prototype;
+componentProto.updateView = componentProto.updateLayout = componentProto.updateVisual = function(seriesModel, ecModel, api2, payload) {
+};
+clazzUtil$1.enableClassExtend(Component);
+clazzUtil$1.enableClassManagement(Component, {
+  registerWhenExtend: true
+});
+var _default$d = Component;
+var Component_1 = _default$d;
+var _model$1 = model;
+var makeInner$1 = _model$1.makeInner;
+function _default$c() {
+  var inner2 = makeInner$1();
+  return function(seriesModel) {
+    var fields = inner2(seriesModel);
+    var pipelineContext = seriesModel.pipelineContext;
+    var originalLarge = fields.large;
+    var originalProgressive = fields.progressiveRender;
+    var large = fields.large = pipelineContext && pipelineContext.large;
+    var progressive = fields.progressiveRender = pipelineContext && pipelineContext.progressiveRender;
+    return !!(originalLarge ^ large || originalProgressive ^ progressive) && "reset";
+  };
+}
+var createRenderPlanner$2 = _default$c;
+var _util$4 = util$a;
+var each$k = _util$4.each;
+var Group$6 = Group_1;
+var componentUtil = component;
+var clazzUtil = clazz;
+var modelUtil = model;
+var graphicUtil = graphic$6;
+var _task$1 = task;
+var createTask$2 = _task$1.createTask;
+var createRenderPlanner$1 = createRenderPlanner$2;
+var inner$m = modelUtil.makeInner();
+var renderPlanner$1 = createRenderPlanner$1();
+function Chart() {
+  this.group = new Group$6();
+  this.uid = componentUtil.getUID("viewChart");
+  this.renderTask = createTask$2({
+    plan: renderTaskPlan$1,
+    reset: renderTaskReset$1
+  });
+  this.renderTask.context = {
+    view: this
+  };
+}
+Chart.prototype = {
+  type: "chart",
+  /**
+   * Init the chart.
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   */
+  init: function(ecModel, api2) {
+  },
+  /**
+   * Render the chart.
+   * @param  {module:echarts/model/Series} seriesModel
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   * @param  {Object} payload
+   */
+  render: function(seriesModel, ecModel, api2, payload) {
+  },
+  /**
+   * Highlight series or specified data item.
+   * @param  {module:echarts/model/Series} seriesModel
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   * @param  {Object} payload
+   */
+  highlight: function(seriesModel, ecModel, api2, payload) {
+    toggleHighlight$1(seriesModel.getData(), payload, "emphasis");
+  },
+  /**
+   * Downplay series or specified data item.
+   * @param  {module:echarts/model/Series} seriesModel
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   * @param  {Object} payload
+   */
+  downplay: function(seriesModel, ecModel, api2, payload) {
+    toggleHighlight$1(seriesModel.getData(), payload, "normal");
+  },
+  /**
+   * Remove self.
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   */
+  remove: function(ecModel, api2) {
+    this.group.removeAll();
+  },
+  /**
+   * Dispose self.
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   */
+  dispose: function() {
+  },
+  /**
+   * Rendering preparation in progressive mode.
+   * @param  {module:echarts/model/Series} seriesModel
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   * @param  {Object} payload
+   */
+  incrementalPrepareRender: null,
+  /**
+   * Render in progressive mode.
+   * @param  {Object} params See taskParams in `stream/task.js`
+   * @param  {module:echarts/model/Series} seriesModel
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   * @param  {Object} payload
+   */
+  incrementalRender: null,
+  /**
+   * Update transform directly.
+   * @param  {module:echarts/model/Series} seriesModel
+   * @param  {module:echarts/model/Global} ecModel
+   * @param  {module:echarts/ExtensionAPI} api
+   * @param  {Object} payload
+   * @return {Object} {update: true}
+   */
+  updateTransform: null,
+  /**
+   * The view contains the given point.
+   * @interface
+   * @param {Array.<number>} point
+   * @return {boolean}
+   */
+  // containPoint: function () {}
+  /**
+   * @param {string} eventType
+   * @param {Object} query
+   * @param {module:zrender/Element} targetEl
+   * @param {Object} packedEvent
+   * @return {boolen} Pass only when return `true`.
+   */
+  filterForExposedEvent: null
+};
+var chartProto = Chart.prototype;
+chartProto.updateView = chartProto.updateLayout = chartProto.updateVisual = function(seriesModel, ecModel, api2, payload) {
+  this.render(seriesModel, ecModel, api2, payload);
+};
+function elSetState$1(el, state, highlightDigit) {
+  if (el) {
+    el.trigger(state, highlightDigit);
+    if (el.isGroup && !graphicUtil.isHighDownDispatcher(el)) {
+      for (var i2 = 0, len2 = el.childCount(); i2 < len2; i2++) {
+        elSetState$1(el.childAt(i2), state, highlightDigit);
+      }
+    }
+  }
+}
+function toggleHighlight$1(data2, payload, state) {
+  var dataIndex = modelUtil.queryDataIndex(data2, payload);
+  var highlightDigit = payload && payload.highlightKey != null ? graphicUtil.getHighlightDigit(payload.highlightKey) : null;
+  if (dataIndex != null) {
+    each$k(modelUtil.normalizeToArray(dataIndex), function(dataIdx) {
+      elSetState$1(data2.getItemGraphicEl(dataIdx), state, highlightDigit);
+    });
+  } else {
+    data2.eachItemGraphicEl(function(el) {
+      elSetState$1(el, state, highlightDigit);
+    });
+  }
+}
+clazzUtil.enableClassExtend(Chart, ["dispose"]);
+clazzUtil.enableClassManagement(Chart, {
+  registerWhenExtend: true
+});
+Chart.markUpdateMethod = function(payload, methodName) {
+  inner$m(payload).updateMethod = methodName;
+};
+function renderTaskPlan$1(context) {
+  return renderPlanner$1(context.model);
+}
+function renderTaskReset$1(context) {
+  var seriesModel = context.model;
+  var ecModel = context.ecModel;
+  var api2 = context.api;
+  var payload = context.payload;
+  var progressiveRender = seriesModel.pipelineContext.progressiveRender;
+  var view = context.view;
+  var updateMethod = payload && inner$m(payload).updateMethod;
+  var methodName = progressiveRender ? "incrementalPrepareRender" : updateMethod && view[updateMethod] ? updateMethod : "render";
+  if (methodName !== "render") {
+    view[methodName](seriesModel, ecModel, api2, payload);
+  }
+  return progressMethodMap$1[methodName];
+}
+var progressMethodMap$1 = {
+  incrementalPrepareRender: {
+    progress: function(params2, context) {
+      context.view.incrementalRender(params2, context.model, context.ecModel, context.api, context.payload);
+    }
+  },
+  render: {
+    // Put view.render in `progress` to support appendData. But in this case
+    // view.render should not be called in reset, otherwise it will be called
+    // twise. Use `forceFirstProgress` to make sure that view.render is called
+    // in any cases.
+    forceFirstProgress: true,
+    progress: function(params2, context) {
+      context.view.render(context.model, context.ecModel, context.api, context.payload);
+    }
+  }
+};
+var _default$b = Chart;
+var Chart_1 = _default$b;
+var throttle$3 = {};
+var ORIGIN_METHOD$1 = "\0__throttleOriginMethod";
+var RATE$1 = "\0__throttleRate";
+var THROTTLE_TYPE$1 = "\0__throttleType";
+function throttle$2(fn, delay, debounce) {
+  var currCall;
+  var lastCall = 0;
+  var lastExec = 0;
+  var timer2 = null;
+  var diff;
+  var scope;
+  var args;
+  var debounceNextCall;
+  delay = delay || 0;
+  function exec() {
+    lastExec = (/* @__PURE__ */ new Date()).getTime();
+    timer2 = null;
+    fn.apply(scope, args || []);
+  }
+  var cb = function() {
+    currCall = (/* @__PURE__ */ new Date()).getTime();
+    scope = this;
+    args = arguments;
+    var thisDelay = debounceNextCall || delay;
+    var thisDebounce = debounceNextCall || debounce;
+    debounceNextCall = null;
+    diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;
+    clearTimeout(timer2);
+    if (thisDebounce) {
+      timer2 = setTimeout(exec, thisDelay);
+    } else {
+      if (diff >= 0) {
+        exec();
+      } else {
+        timer2 = setTimeout(exec, -diff);
+      }
+    }
+    lastCall = currCall;
+  };
+  cb.clear = function() {
+    if (timer2) {
+      clearTimeout(timer2);
+      timer2 = null;
+    }
+  };
+  cb.debounceNextCall = function(debounceDelay) {
+    debounceNextCall = debounceDelay;
+  };
+  return cb;
+}
+function createOrUpdate$1(obj2, fnAttr, rate, throttleType) {
+  var fn = obj2[fnAttr];
+  if (!fn) {
+    return;
+  }
+  var originFn = fn[ORIGIN_METHOD$1] || fn;
+  var lastThrottleType = fn[THROTTLE_TYPE$1];
+  var lastRate = fn[RATE$1];
+  if (lastRate !== rate || lastThrottleType !== throttleType) {
+    if (rate == null || !throttleType) {
+      return obj2[fnAttr] = originFn;
+    }
+    fn = obj2[fnAttr] = throttle$2(originFn, rate, throttleType === "debounce");
+    fn[ORIGIN_METHOD$1] = originFn;
+    fn[THROTTLE_TYPE$1] = throttleType;
+    fn[RATE$1] = rate;
+  }
+  return fn;
+}
+function clear$3(obj2, fnAttr) {
+  var fn = obj2[fnAttr];
+  if (fn && fn[ORIGIN_METHOD$1]) {
+    obj2[fnAttr] = fn[ORIGIN_METHOD$1];
+  }
+}
+throttle$3.throttle = throttle$2;
+throttle$3.createOrUpdate = createOrUpdate$1;
+throttle$3.clear = clear$3;
+var Gradient$2 = Gradient_1;
+var _util$3 = util$a;
+var isFunction$6 = _util$3.isFunction;
+var _default$a = {
+  createOnAllSeries: true,
+  performRawSeries: true,
+  reset: function(seriesModel, ecModel) {
+    var data2 = seriesModel.getData();
+    var colorAccessPath = (seriesModel.visualColorAccessPath || "itemStyle.color").split(".");
+    var color2 = seriesModel.get(colorAccessPath);
+    var colorCallback = isFunction$6(color2) && !(color2 instanceof Gradient$2) ? color2 : null;
+    if (!color2 || colorCallback) {
+      color2 = seriesModel.getColorFromPalette(
+        // TODO series count changed.
+        seriesModel.name,
+        null,
+        ecModel.getSeriesCount()
+      );
+    }
+    data2.setVisual("color", color2);
+    var borderColorAccessPath = (seriesModel.visualBorderColorAccessPath || "itemStyle.borderColor").split(".");
+    var borderColor = seriesModel.get(borderColorAccessPath);
+    data2.setVisual("borderColor", borderColor);
+    if (!ecModel.isSeriesFiltered(seriesModel)) {
+      if (colorCallback) {
+        data2.each(function(idx) {
+          data2.setItemVisual(idx, "color", colorCallback(seriesModel.getDataParams(idx)));
+        });
+      }
+      var dataEach = function(data3, idx) {
+        var itemModel = data3.getItemModel(idx);
+        var color3 = itemModel.get(colorAccessPath, true);
+        var borderColor2 = itemModel.get(borderColorAccessPath, true);
+        if (color3 != null) {
+          data3.setItemVisual(idx, "color", color3);
+        }
+        if (borderColor2 != null) {
+          data3.setItemVisual(idx, "borderColor", borderColor2);
+        }
+      };
+      return {
+        dataEach: data2.hasItemOption ? dataEach : null
+      };
+    }
+  }
+};
+var seriesColor = _default$a;
+var _default$9 = {
+  legend: {
+    selector: {
+      all: "全选",
+      inverse: "反选"
+    }
+  },
+  toolbox: {
+    brush: {
+      title: {
+        rect: "矩形选择",
+        polygon: "圈选",
+        lineX: "横向选择",
+        lineY: "纵向选择",
+        keep: "保持选择",
+        clear: "清除选择"
+      }
+    },
+    dataView: {
+      title: "数据视图",
+      lang: ["数据视图", "关闭", "刷新"]
+    },
+    dataZoom: {
+      title: {
+        zoom: "区域缩放",
+        back: "区域缩放还原"
+      }
+    },
+    magicType: {
+      title: {
+        line: "切换为折线图",
+        bar: "切换为柱状图",
+        stack: "切换为堆叠",
+        tiled: "切换为平铺"
+      }
+    },
+    restore: {
+      title: "还原"
+    },
+    saveAsImage: {
+      title: "保存为图片",
+      lang: ["右键另存为图片"]
+    }
+  },
+  series: {
+    typeNames: {
+      pie: "饼图",
+      bar: "柱状图",
+      line: "折线图",
+      scatter: "散点图",
+      effectScatter: "涟漪散点图",
+      radar: "雷达图",
+      tree: "树图",
+      treemap: "矩形树图",
+      boxplot: "箱型图",
+      candlestick: "K线图",
+      k: "K线图",
+      heatmap: "热力图",
+      map: "地图",
+      parallel: "平行坐标图",
+      lines: "线图",
+      graph: "关系图",
+      sankey: "桑基图",
+      funnel: "漏斗图",
+      gauge: "仪表盘图",
+      pictorialBar: "象形柱图",
+      themeRiver: "主题河流图",
+      sunburst: "旭日图"
+    }
+  },
+  aria: {
+    general: {
+      withTitle: "这是一个关于“{title}”的图表。",
+      withoutTitle: "这是一个图表,"
+    },
+    series: {
+      single: {
+        prefix: "",
+        withName: "图表类型是{seriesType},表示{seriesName}。",
+        withoutName: "图表类型是{seriesType}。"
+      },
+      multiple: {
+        prefix: "它由{seriesCount}个图表系列组成。",
+        withName: "第{seriesId}个系列是一个表示{seriesName}的{seriesType},",
+        withoutName: "第{seriesId}个系列是一个{seriesType},",
+        separator: {
+          middle: ";",
+          end: "。"
+        }
+      }
+    },
+    data: {
+      allData: "其数据是——",
+      partialData: "其中,前{displayCnt}项是——",
+      withName: "{name}的数据是{value}",
+      withoutName: "{value}",
+      separator: {
+        middle: ",",
+        end: ""
+      }
+    }
+  }
+};
+var lang$2 = _default$9;
+var zrUtil$1 = util$a;
+var lang$1 = lang$2;
+var _dataProvider = dataProvider;
+var retrieveRawValue$1 = _dataProvider.retrieveRawValue;
+function _default$8(dom2, ecModel) {
+  var ariaModel = ecModel.getModel("aria");
+  if (!ariaModel.get("show")) {
+    return;
+  } else if (ariaModel.get("description")) {
+    dom2.setAttribute("aria-label", ariaModel.get("description"));
+    return;
+  }
+  var seriesCnt = 0;
+  ecModel.eachSeries(function(seriesModel, idx) {
+    ++seriesCnt;
+  }, this);
+  var maxDataCnt = ariaModel.get("data.maxCount") || 10;
+  var maxSeriesCnt = ariaModel.get("series.maxCount") || 10;
+  var displaySeriesCnt = Math.min(seriesCnt, maxSeriesCnt);
+  var ariaLabel;
+  if (seriesCnt < 1) {
+    return;
+  } else {
+    var title2 = getTitle2();
+    if (title2) {
+      ariaLabel = replace(getConfig("general.withTitle"), {
+        title: title2
+      });
+    } else {
+      ariaLabel = getConfig("general.withoutTitle");
+    }
+    var seriesLabels = [];
+    var prefix = seriesCnt > 1 ? "series.multiple.prefix" : "series.single.prefix";
+    ariaLabel += replace(getConfig(prefix), {
+      seriesCount: seriesCnt
+    });
+    ecModel.eachSeries(function(seriesModel, idx) {
+      if (idx < displaySeriesCnt) {
+        var seriesLabel;
+        var seriesName = seriesModel.get("name");
+        var seriesTpl = "series." + (seriesCnt > 1 ? "multiple" : "single") + ".";
+        seriesLabel = getConfig(seriesName ? seriesTpl + "withName" : seriesTpl + "withoutName");
+        seriesLabel = replace(seriesLabel, {
+          seriesId: seriesModel.seriesIndex,
+          seriesName: seriesModel.get("name"),
+          seriesType: getSeriesTypeName(seriesModel.subType)
+        });
+        var data2 = seriesModel.getData();
+        window.data = data2;
+        if (data2.count() > maxDataCnt) {
+          seriesLabel += replace(getConfig("data.partialData"), {
+            displayCnt: maxDataCnt
+          });
+        } else {
+          seriesLabel += getConfig("data.allData");
+        }
+        var dataLabels = [];
+        for (var i2 = 0; i2 < data2.count(); i2++) {
+          if (i2 < maxDataCnt) {
+            var name2 = data2.getName(i2);
+            var value = retrieveRawValue$1(data2, i2);
+            dataLabels.push(replace(name2 ? getConfig("data.withName") : getConfig("data.withoutName"), {
+              name: name2,
+              value
+            }));
+          }
+        }
+        seriesLabel += dataLabels.join(getConfig("data.separator.middle")) + getConfig("data.separator.end");
+        seriesLabels.push(seriesLabel);
+      }
+    });
+    ariaLabel += seriesLabels.join(getConfig("series.multiple.separator.middle")) + getConfig("series.multiple.separator.end");
+    dom2.setAttribute("aria-label", ariaLabel);
+  }
+  function replace(str, keyValues) {
+    if (typeof str !== "string") {
+      return str;
+    }
+    var result2 = str;
+    zrUtil$1.each(keyValues, function(value, key2) {
+      result2 = result2.replace(new RegExp("\\{\\s*" + key2 + "\\s*\\}", "g"), value);
+    });
+    return result2;
+  }
+  function getConfig(path2) {
+    var userConfig = ariaModel.get(path2);
+    if (userConfig == null) {
+      var pathArr = path2.split(".");
+      var result2 = lang$1.aria;
+      for (var i2 = 0; i2 < pathArr.length; ++i2) {
+        result2 = result2[pathArr[i2]];
+      }
+      return result2;
+    } else {
+      return userConfig;
+    }
+  }
+  function getTitle2() {
+    var title3 = ecModel.getModel("title").option;
+    if (title3 && title3.length) {
+      title3 = title3[0];
+    }
+    return title3 && title3.text;
+  }
+  function getSeriesTypeName(type2) {
+    return lang$1.series.typeNames[type2] || "自定义图";
+  }
+}
+var aria = _default$8;
+var zrUtil = util$a;
+var graphic$5 = graphic$6;
+var textContain = text;
+var PI$9 = Math.PI;
+function _default$7(api2, opts2) {
+  opts2 = opts2 || {};
+  zrUtil.defaults(opts2, {
+    text: "loading",
+    textColor: "#000",
+    fontSize: "12px",
+    maskColor: "rgba(255, 255, 255, 0.8)",
+    showSpinner: true,
+    color: "#c23531",
+    spinnerRadius: 10,
+    lineWidth: 5,
+    zlevel: 0
+  });
+  var group = new graphic$5.Group();
+  var mask = new graphic$5.Rect({
+    style: {
+      fill: opts2.maskColor
+    },
+    zlevel: opts2.zlevel,
+    z: 1e4
+  });
+  group.add(mask);
+  var font = opts2.fontSize + " sans-serif";
+  var labelRect = new graphic$5.Rect({
+    style: {
+      fill: "none",
+      text: opts2.text,
+      font,
+      textPosition: "right",
+      textDistance: 10,
+      textFill: opts2.textColor
+    },
+    zlevel: opts2.zlevel,
+    z: 10001
+  });
+  group.add(labelRect);
+  if (opts2.showSpinner) {
+    var arc2 = new graphic$5.Arc({
+      shape: {
+        startAngle: -PI$9 / 2,
+        endAngle: -PI$9 / 2 + 0.1,
+        r: opts2.spinnerRadius
+      },
+      style: {
+        stroke: opts2.color,
+        lineCap: "round",
+        lineWidth: opts2.lineWidth
+      },
+      zlevel: opts2.zlevel,
+      z: 10001
+    });
+    arc2.animateShape(true).when(1e3, {
+      endAngle: PI$9 * 3 / 2
+    }).start("circularInOut");
+    arc2.animateShape(true).when(1e3, {
+      startAngle: PI$9 * 3 / 2
+    }).delay(300).start("circularInOut");
+    group.add(arc2);
+  }
+  group.resize = function() {
+    var textWidth = textContain.getWidth(opts2.text, font);
+    var r2 = opts2.showSpinner ? opts2.spinnerRadius : 0;
+    var cx = (api2.getWidth() - r2 * 2 - (opts2.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 - (opts2.showSpinner ? 0 : textWidth / 2);
+    var cy = api2.getHeight() / 2;
+    opts2.showSpinner && arc2.setShape({
+      cx,
+      cy
+    });
+    labelRect.setShape({
+      x: cx - r2,
+      y: cy - r2,
+      width: r2 * 2,
+      height: r2 * 2
+    });
+    mask.setShape({
+      x: 0,
+      y: 0,
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  };
+  group.resize();
+  return group;
+}
+var _default_1 = _default$7;
+var _util$2 = util$a;
+var each$j = _util$2.each;
+var map$3 = _util$2.map;
+var isFunction$5 = _util$2.isFunction;
+var createHashMap$2 = _util$2.createHashMap;
+var noop$4 = _util$2.noop;
+var _task = task;
+var createTask$1 = _task.createTask;
+var _component = component;
+var getUID$1 = _component.getUID;
+var GlobalModel$2 = Global;
+var ExtensionAPI$2 = ExtensionAPI_1;
+var _model = model;
+var normalizeToArray$1 = _model.normalizeToArray;
+function Scheduler$2(ecInstance, api2, dataProcessorHandlers, visualHandlers) {
+  this.ecInstance = ecInstance;
+  this.api = api2;
+  this.unfinished;
+  var dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();
+  var visualHandlers = this._visualHandlers = visualHandlers.slice();
+  this._allHandlers = dataProcessorHandlers.concat(visualHandlers);
+  this._stageTaskMap = createHashMap$2();
+}
+var proto$1 = Scheduler$2.prototype;
+proto$1.restoreData = function(ecModel, payload) {
+  ecModel.restoreData(payload);
+  this._stageTaskMap.each(function(taskRecord) {
+    var overallTask = taskRecord.overallTask;
+    overallTask && overallTask.dirty();
+  });
+};
+proto$1.getPerformArgs = function(task2, isBlock) {
+  if (!task2.__pipeline) {
+    return;
+  }
+  var pipeline = this._pipelineMap.get(task2.__pipeline.id);
+  var pCtx = pipeline.context;
+  var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task2.__idxInPipeline > pipeline.blockIndex;
+  var step2 = incremental ? pipeline.step : null;
+  var modDataCount = pCtx && pCtx.modDataCount;
+  var modBy = modDataCount != null ? Math.ceil(modDataCount / step2) : null;
+  return {
+    step: step2,
+    modBy,
+    modDataCount
+  };
+};
+proto$1.getPipeline = function(pipelineId) {
+  return this._pipelineMap.get(pipelineId);
+};
+proto$1.updateStreamModes = function(seriesModel, view) {
+  var pipeline = this._pipelineMap.get(seriesModel.uid);
+  var data2 = seriesModel.getData();
+  var dataLen = data2.count();
+  var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;
+  var large = seriesModel.get("large") && dataLen >= seriesModel.get("largeThreshold");
+  var modDataCount = seriesModel.get("progressiveChunkMode") === "mod" ? dataLen : null;
+  seriesModel.pipelineContext = pipeline.context = {
+    progressiveRender,
+    modDataCount,
+    large
+  };
+};
+proto$1.restorePipelines = function(ecModel) {
+  var scheduler = this;
+  var pipelineMap = scheduler._pipelineMap = createHashMap$2();
+  ecModel.eachSeries(function(seriesModel) {
+    var progressive = seriesModel.getProgressive();
+    var pipelineId = seriesModel.uid;
+    pipelineMap.set(pipelineId, {
+      id: pipelineId,
+      head: null,
+      tail: null,
+      threshold: seriesModel.getProgressiveThreshold(),
+      progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),
+      blockIndex: -1,
+      step: Math.round(progressive || 700),
+      count: 0
+    });
+    pipe(scheduler, seriesModel, seriesModel.dataTask);
+  });
+};
+proto$1.prepareStageTasks = function() {
+  var stageTaskMap = this._stageTaskMap;
+  var ecModel = this.ecInstance.getModel();
+  var api2 = this.api;
+  each$j(this._allHandlers, function(handler) {
+    var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);
+    handler.reset && createSeriesStageTask(this, handler, record, ecModel, api2);
+    handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api2);
+  }, this);
+};
+proto$1.prepareView = function(view, model2, ecModel, api2) {
+  var renderTask = view.renderTask;
+  var context = renderTask.context;
+  context.model = model2;
+  context.ecModel = ecModel;
+  context.api = api2;
+  renderTask.__block = !view.incrementalPrepareRender;
+  pipe(this, model2, renderTask);
+};
+proto$1.performDataProcessorTasks = function(ecModel, payload) {
+  performStageTasks(this, this._dataProcessorHandlers, ecModel, payload, {
+    block: true
+  });
+};
+proto$1.performVisualTasks = function(ecModel, payload, opt) {
+  performStageTasks(this, this._visualHandlers, ecModel, payload, opt);
+};
+function performStageTasks(scheduler, stageHandlers, ecModel, payload, opt) {
+  opt = opt || {};
+  var unfinished;
+  each$j(stageHandlers, function(stageHandler, idx) {
+    if (opt.visualType && opt.visualType !== stageHandler.visualType) {
+      return;
+    }
+    var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);
+    var seriesTaskMap = stageHandlerRecord.seriesTaskMap;
+    var overallTask = stageHandlerRecord.overallTask;
+    if (overallTask) {
+      var overallNeedDirty;
+      var agentStubMap = overallTask.agentStubMap;
+      agentStubMap.each(function(stub) {
+        if (needSetDirty(opt, stub)) {
+          stub.dirty();
+          overallNeedDirty = true;
+        }
+      });
+      overallNeedDirty && overallTask.dirty();
+      updatePayload(overallTask, payload);
+      var performArgs = scheduler.getPerformArgs(overallTask, opt.block);
+      agentStubMap.each(function(stub) {
+        stub.perform(performArgs);
+      });
+      unfinished |= overallTask.perform(performArgs);
+    } else if (seriesTaskMap) {
+      seriesTaskMap.each(function(task2, pipelineId) {
+        if (needSetDirty(opt, task2)) {
+          task2.dirty();
+        }
+        var performArgs2 = scheduler.getPerformArgs(task2, opt.block);
+        performArgs2.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task2.context.model);
+        updatePayload(task2, payload);
+        unfinished |= task2.perform(performArgs2);
+      });
+    }
+  });
+  function needSetDirty(opt2, task2) {
+    return opt2.setDirty && (!opt2.dirtyMap || opt2.dirtyMap.get(task2.__pipeline.id));
+  }
+  scheduler.unfinished |= unfinished;
+}
+proto$1.performSeriesTasks = function(ecModel) {
+  var unfinished;
+  ecModel.eachSeries(function(seriesModel) {
+    unfinished |= seriesModel.dataTask.perform();
+  });
+  this.unfinished |= unfinished;
+};
+proto$1.plan = function() {
+  this._pipelineMap.each(function(pipeline) {
+    var task2 = pipeline.tail;
+    do {
+      if (task2.__block) {
+        pipeline.blockIndex = task2.__idxInPipeline;
+        break;
+      }
+      task2 = task2.getUpstream();
+    } while (task2);
+  });
+};
+var updatePayload = proto$1.updatePayload = function(task2, payload) {
+  payload !== "remain" && (task2.context.payload = payload);
+};
+function createSeriesStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api2) {
+  var seriesTaskMap = stageHandlerRecord.seriesTaskMap || (stageHandlerRecord.seriesTaskMap = createHashMap$2());
+  var seriesType2 = stageHandler.seriesType;
+  var getTargetSeries = stageHandler.getTargetSeries;
+  if (stageHandler.createOnAllSeries) {
+    ecModel.eachRawSeries(create2);
+  } else if (seriesType2) {
+    ecModel.eachRawSeriesByType(seriesType2, create2);
+  } else if (getTargetSeries) {
+    getTargetSeries(ecModel, api2).each(create2);
+  }
+  function create2(seriesModel) {
+    var pipelineId = seriesModel.uid;
+    var task2 = seriesTaskMap.get(pipelineId) || seriesTaskMap.set(pipelineId, createTask$1({
+      plan: seriesTaskPlan$1,
+      reset: seriesTaskReset$1,
+      count: seriesTaskCount$1
+    }));
+    task2.context = {
+      model: seriesModel,
+      ecModel,
+      api: api2,
+      useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,
+      plan: stageHandler.plan,
+      reset: stageHandler.reset,
+      scheduler
+    };
+    pipe(scheduler, seriesModel, task2);
+  }
+  var pipelineMap = scheduler._pipelineMap;
+  seriesTaskMap.each(function(task2, pipelineId) {
+    if (!pipelineMap.get(pipelineId)) {
+      task2.dispose();
+      seriesTaskMap.removeKey(pipelineId);
+    }
+  });
+}
+function createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api2) {
+  var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask || createTask$1({
+    reset: overallTaskReset$1
+  });
+  overallTask.context = {
+    ecModel,
+    api: api2,
+    overallReset: stageHandler.overallReset,
+    scheduler
+  };
+  var agentStubMap = overallTask.agentStubMap = overallTask.agentStubMap || createHashMap$2();
+  var seriesType2 = stageHandler.seriesType;
+  var getTargetSeries = stageHandler.getTargetSeries;
+  var overallProgress = true;
+  var modifyOutputEnd = stageHandler.modifyOutputEnd;
+  if (seriesType2) {
+    ecModel.eachRawSeriesByType(seriesType2, createStub);
+  } else if (getTargetSeries) {
+    getTargetSeries(ecModel, api2).each(createStub);
+  } else {
+    overallProgress = false;
+    each$j(ecModel.getSeries(), createStub);
+  }
+  function createStub(seriesModel) {
+    var pipelineId = seriesModel.uid;
+    var stub = agentStubMap.get(pipelineId);
+    if (!stub) {
+      stub = agentStubMap.set(pipelineId, createTask$1({
+        reset: stubReset$1,
+        onDirty: stubOnDirty$1
+      }));
+      overallTask.dirty();
+    }
+    stub.context = {
+      model: seriesModel,
+      overallProgress,
+      modifyOutputEnd
+    };
+    stub.agent = overallTask;
+    stub.__block = overallProgress;
+    pipe(scheduler, seriesModel, stub);
+  }
+  var pipelineMap = scheduler._pipelineMap;
+  agentStubMap.each(function(stub, pipelineId) {
+    if (!pipelineMap.get(pipelineId)) {
+      stub.dispose();
+      overallTask.dirty();
+      agentStubMap.removeKey(pipelineId);
+    }
+  });
+}
+function overallTaskReset$1(context) {
+  context.overallReset(context.ecModel, context.api, context.payload);
+}
+function stubReset$1(context, upstreamContext) {
+  return context.overallProgress && stubProgress$1;
+}
+function stubProgress$1() {
+  this.agent.dirty();
+  this.getDownstream().dirty();
+}
+function stubOnDirty$1() {
+  this.agent && this.agent.dirty();
+}
+function seriesTaskPlan$1(context) {
+  return context.plan && context.plan(context.model, context.ecModel, context.api, context.payload);
+}
+function seriesTaskReset$1(context) {
+  if (context.useClearVisual) {
+    context.data.clearAllVisual();
+  }
+  var resetDefines = context.resetDefines = normalizeToArray$1(context.reset(context.model, context.ecModel, context.api, context.payload));
+  return resetDefines.length > 1 ? map$3(resetDefines, function(v4, idx) {
+    return makeSeriesTaskProgress$1(idx);
+  }) : singleSeriesTaskProgress$1;
+}
+var singleSeriesTaskProgress$1 = makeSeriesTaskProgress$1(0);
+function makeSeriesTaskProgress$1(resetDefineIdx) {
+  return function(params2, context) {
+    var data2 = context.data;
+    var resetDefine = context.resetDefines[resetDefineIdx];
+    if (resetDefine && resetDefine.dataEach) {
+      for (var i2 = params2.start; i2 < params2.end; i2++) {
+        resetDefine.dataEach(data2, i2);
+      }
+    } else if (resetDefine && resetDefine.progress) {
+      resetDefine.progress(params2, data2);
+    }
+  };
+}
+function seriesTaskCount$1(context) {
+  return context.data.count();
+}
+function pipe(scheduler, seriesModel, task2) {
+  var pipelineId = seriesModel.uid;
+  var pipeline = scheduler._pipelineMap.get(pipelineId);
+  !pipeline.head && (pipeline.head = task2);
+  pipeline.tail && pipeline.tail.pipe(task2);
+  pipeline.tail = task2;
+  task2.__idxInPipeline = pipeline.count++;
+  task2.__pipeline = pipeline;
+}
+Scheduler$2.wrapStageHandler = function(stageHandler, visualType) {
+  if (isFunction$5(stageHandler)) {
+    stageHandler = {
+      overallReset: stageHandler,
+      seriesType: detectSeriseType$1(stageHandler)
+    };
+  }
+  stageHandler.uid = getUID$1("stageHandler");
+  visualType && (stageHandler.visualType = visualType);
+  return stageHandler;
+};
+function detectSeriseType$1(legacyFunc) {
+  seriesType$1 = null;
+  try {
+    legacyFunc(ecModelMock$1, apiMock$1);
+  } catch (e2) {
+  }
+  return seriesType$1;
+}
+var ecModelMock$1 = {};
+var apiMock$1 = {};
+var seriesType$1;
+mockMethods$1(ecModelMock$1, GlobalModel$2);
+mockMethods$1(apiMock$1, ExtensionAPI$2);
+ecModelMock$1.eachSeriesByType = ecModelMock$1.eachRawSeriesByType = function(type2) {
+  seriesType$1 = type2;
+};
+ecModelMock$1.eachComponent = function(cond) {
+  if (cond.mainType === "series" && cond.subType) {
+    seriesType$1 = cond.subType;
+  }
+};
+function mockMethods$1(target, Clz) {
+  for (var name2 in Clz.prototype) {
+    target[name2] = noop$4;
+  }
+}
+var _default$6 = Scheduler$2;
+var Scheduler_1 = _default$6;
+var colorAll$1 = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1", "#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"];
+var _default$5 = {
+  color: colorAll$1,
+  colorLayer: [["#37A2DA", "#ffd85c", "#fd7b5f"], ["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"], ["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA", "#96BFFF"], colorAll$1]
+};
+var light = _default$5;
+var contrastColor$1 = "#eee";
+var axisCommon$1 = function() {
+  return {
+    axisLine: {
+      lineStyle: {
+        color: contrastColor$1
+      }
+    },
+    axisTick: {
+      lineStyle: {
+        color: contrastColor$1
+      }
+    },
+    axisLabel: {
+      textStyle: {
+        color: contrastColor$1
+      }
+    },
+    splitLine: {
+      lineStyle: {
+        type: "dashed",
+        color: "#aaa"
+      }
+    },
+    splitArea: {
+      areaStyle: {
+        color: contrastColor$1
+      }
+    }
+  };
+};
+var colorPalette$1 = ["#dd6b66", "#759aa0", "#e69d87", "#8dc1a9", "#ea7e53", "#eedd78", "#73a373", "#73b9bc", "#7289ab", "#91ca8c", "#f49f42"];
+var theme$2 = {
+  color: colorPalette$1,
+  backgroundColor: "#333",
+  tooltip: {
+    axisPointer: {
+      lineStyle: {
+        color: contrastColor$1
+      },
+      crossStyle: {
+        color: contrastColor$1
+      },
+      label: {
+        color: "#000"
+      }
+    }
+  },
+  legend: {
+    textStyle: {
+      color: contrastColor$1
+    }
+  },
+  textStyle: {
+    color: contrastColor$1
+  },
+  title: {
+    textStyle: {
+      color: contrastColor$1
+    }
+  },
+  toolbox: {
+    iconStyle: {
+      normal: {
+        borderColor: contrastColor$1
+      }
+    }
+  },
+  dataZoom: {
+    textStyle: {
+      color: contrastColor$1
+    }
+  },
+  visualMap: {
+    textStyle: {
+      color: contrastColor$1
+    }
+  },
+  timeline: {
+    lineStyle: {
+      color: contrastColor$1
+    },
+    itemStyle: {
+      normal: {
+        color: colorPalette$1[1]
+      }
+    },
+    label: {
+      normal: {
+        textStyle: {
+          color: contrastColor$1
+        }
+      }
+    },
+    controlStyle: {
+      normal: {
+        color: contrastColor$1,
+        borderColor: contrastColor$1
+      }
+    }
+  },
+  timeAxis: axisCommon$1(),
+  logAxis: axisCommon$1(),
+  valueAxis: axisCommon$1(),
+  categoryAxis: axisCommon$1(),
+  line: {
+    symbol: "circle"
+  },
+  graph: {
+    color: colorPalette$1
+  },
+  gauge: {
+    title: {
+      textStyle: {
+        color: contrastColor$1
+      }
+    }
+  },
+  candlestick: {
+    itemStyle: {
+      normal: {
+        color: "#FD1050",
+        color0: "#0CF49B",
+        borderColor: "#FD1050",
+        borderColor0: "#0CF49B"
+      }
+    }
+  }
+};
+theme$2.categoryAxis.splitLine.show = false;
+var _default$4 = theme$2;
+var dark = _default$4;
+var dataset = {};
+var hasRequiredDataset;
+function requireDataset() {
+  if (hasRequiredDataset)
+    return dataset;
+  hasRequiredDataset = 1;
+  var ComponentModel2 = Component$1;
+  var ComponentView2 = Component_1;
+  var _sourceHelper2 = requireSourceHelper();
+  var detectSourceFormat2 = _sourceHelper2.detectSourceFormat;
+  var _sourceType2 = requireSourceType();
+  var SERIES_LAYOUT_BY_COLUMN2 = _sourceType2.SERIES_LAYOUT_BY_COLUMN;
+  ComponentModel2.extend({
+    type: "dataset",
+    /**
+     * @protected
+     */
+    defaultOption: {
+      // 'row', 'column'
+      seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN2,
+      // null/'auto': auto detect header, see "module:echarts/data/helper/sourceHelper"
+      sourceHeader: null,
+      dimensions: null,
+      source: null
+    },
+    optionUpdated: function() {
+      detectSourceFormat2(this);
+    }
+  });
+  ComponentView2.extend({
+    type: "dataset"
+  });
+  return dataset;
+}
+var parseSVG$2 = {};
+var Path$3 = Path_1;
+var _default$3 = Path$3.extend({
+  type: "ellipse",
+  shape: {
+    cx: 0,
+    cy: 0,
+    rx: 0,
+    ry: 0
+  },
+  buildPath: function(ctx, shape) {
+    var k2 = 0.5522848;
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var a2 = shape.rx;
+    var b2 = shape.ry;
+    var ox = a2 * k2;
+    var oy = b2 * k2;
+    ctx.moveTo(x2 - a2, y2);
+    ctx.bezierCurveTo(x2 - a2, y2 - oy, x2 - ox, y2 - b2, x2, y2 - b2);
+    ctx.bezierCurveTo(x2 + ox, y2 - b2, x2 + a2, y2 - oy, x2 + a2, y2);
+    ctx.bezierCurveTo(x2 + a2, y2 + oy, x2 + ox, y2 + b2, x2, y2 + b2);
+    ctx.bezierCurveTo(x2 - ox, y2 + b2, x2 - a2, y2 + oy, x2 - a2, y2);
+    ctx.closePath();
+  }
+});
+var Ellipse$3 = _default$3;
+var Group$5 = Group_1;
+var ZImage = Image$2;
+var Text$1 = Text_1;
+var Circle$2 = Circle$4;
+var Rect$4 = Rect$6;
+var Ellipse$2 = Ellipse$3;
+var Line$4 = Line$6;
+var Path$2 = Path_1;
+var Polygon$2 = Polygon$4;
+var Polyline$4 = Polyline$6;
+var LinearGradient$2 = LinearGradient_1;
+var Style = Style_1;
+var matrix$1 = matrix$5;
+var _path = path$1;
+var createFromString$1 = _path.createFromString;
+var _util$1 = util$a;
+var isString$4 = _util$1.isString;
+var extend$6 = _util$1.extend;
+var defaults$5 = _util$1.defaults;
+var trim$4 = _util$1.trim;
+var each$i = _util$1.each;
+var DILIMITER_REG = /[\s,]+/;
+function parseXML$2(svg2) {
+  if (isString$4(svg2)) {
+    var parser2 = new DOMParser();
+    svg2 = parser2.parseFromString(svg2, "text/xml");
+  }
+  if (svg2.nodeType === 9) {
+    svg2 = svg2.firstChild;
+  }
+  while (svg2.nodeName.toLowerCase() !== "svg" || svg2.nodeType !== 1) {
+    svg2 = svg2.nextSibling;
+  }
+  return svg2;
+}
+function SVGParser$1() {
+  this._defs = {};
+  this._root = null;
+  this._isDefine = false;
+  this._isText = false;
+}
+SVGParser$1.prototype.parse = function(xml, opt) {
+  opt = opt || {};
+  var svg2 = parseXML$2(xml);
+  if (!svg2) {
+    throw new Error("Illegal svg");
+  }
+  var root = new Group$5();
+  this._root = root;
+  var viewBox = svg2.getAttribute("viewBox") || "";
+  var width = parseFloat(svg2.getAttribute("width") || opt.width);
+  var height = parseFloat(svg2.getAttribute("height") || opt.height);
+  isNaN(width) && (width = null);
+  isNaN(height) && (height = null);
+  parseAttributes$1(svg2, root, null, true);
+  var child = svg2.firstChild;
+  while (child) {
+    this._parseNode(child, root);
+    child = child.nextSibling;
+  }
+  var viewBoxRect;
+  var viewBoxTransform;
+  if (viewBox) {
+    var viewBoxArr = trim$4(viewBox).split(DILIMITER_REG);
+    if (viewBoxArr.length >= 4) {
+      viewBoxRect = {
+        x: parseFloat(viewBoxArr[0] || 0),
+        y: parseFloat(viewBoxArr[1] || 0),
+        width: parseFloat(viewBoxArr[2]),
+        height: parseFloat(viewBoxArr[3])
+      };
+    }
+  }
+  if (viewBoxRect && width != null && height != null) {
+    viewBoxTransform = makeViewBoxTransform$1(viewBoxRect, width, height);
+    if (!opt.ignoreViewBox) {
+      var elRoot = root;
+      root = new Group$5();
+      root.add(elRoot);
+      elRoot.scale = viewBoxTransform.scale.slice();
+      elRoot.position = viewBoxTransform.position.slice();
+    }
+  }
+  if (!opt.ignoreRootClip && width != null && height != null) {
+    root.setClipPath(new Rect$4({
+      shape: {
+        x: 0,
+        y: 0,
+        width,
+        height
+      }
+    }));
+  }
+  return {
+    root,
+    width,
+    height,
+    viewBoxRect,
+    viewBoxTransform
+  };
+};
+SVGParser$1.prototype._parseNode = function(xmlNode, parentGroup) {
+  var nodeName = xmlNode.nodeName.toLowerCase();
+  if (nodeName === "defs") {
+    this._isDefine = true;
+  } else if (nodeName === "text") {
+    this._isText = true;
+  }
+  var el;
+  if (this._isDefine) {
+    var parser2 = defineParsers[nodeName];
+    if (parser2) {
+      var def = parser2.call(this, xmlNode);
+      var id = xmlNode.getAttribute("id");
+      if (id) {
+        this._defs[id] = def;
+      }
+    }
+  } else {
+    var parser2 = nodeParsers$1[nodeName];
+    if (parser2) {
+      el = parser2.call(this, xmlNode, parentGroup);
+      parentGroup.add(el);
+    }
+  }
+  var child = xmlNode.firstChild;
+  while (child) {
+    if (child.nodeType === 1) {
+      this._parseNode(child, el);
+    }
+    if (child.nodeType === 3 && this._isText) {
+      this._parseText(child, el);
+    }
+    child = child.nextSibling;
+  }
+  if (nodeName === "defs") {
+    this._isDefine = false;
+  } else if (nodeName === "text") {
+    this._isText = false;
+  }
+};
+SVGParser$1.prototype._parseText = function(xmlNode, parentGroup) {
+  if (xmlNode.nodeType === 1) {
+    var dx = xmlNode.getAttribute("dx") || 0;
+    var dy = xmlNode.getAttribute("dy") || 0;
+    this._textX += parseFloat(dx);
+    this._textY += parseFloat(dy);
+  }
+  var text2 = new Text$1({
+    style: {
+      text: xmlNode.textContent,
+      transformText: true
+    },
+    position: [this._textX || 0, this._textY || 0]
+  });
+  inheritStyle$1(parentGroup, text2);
+  parseAttributes$1(xmlNode, text2, this._defs);
+  var fontSize = text2.style.fontSize;
+  if (fontSize && fontSize < 9) {
+    text2.style.fontSize = 9;
+    text2.scale = text2.scale || [1, 1];
+    text2.scale[0] *= fontSize / 9;
+    text2.scale[1] *= fontSize / 9;
+  }
+  var rect = text2.getBoundingRect();
+  this._textX += rect.width;
+  parentGroup.add(text2);
+  return text2;
+};
+var nodeParsers$1 = {
+  "g": function(xmlNode, parentGroup) {
+    var g2 = new Group$5();
+    inheritStyle$1(parentGroup, g2);
+    parseAttributes$1(xmlNode, g2, this._defs);
+    return g2;
+  },
+  "rect": function(xmlNode, parentGroup) {
+    var rect = new Rect$4();
+    inheritStyle$1(parentGroup, rect);
+    parseAttributes$1(xmlNode, rect, this._defs);
+    rect.setShape({
+      x: parseFloat(xmlNode.getAttribute("x") || 0),
+      y: parseFloat(xmlNode.getAttribute("y") || 0),
+      width: parseFloat(xmlNode.getAttribute("width") || 0),
+      height: parseFloat(xmlNode.getAttribute("height") || 0)
+    });
+    return rect;
+  },
+  "circle": function(xmlNode, parentGroup) {
+    var circle = new Circle$2();
+    inheritStyle$1(parentGroup, circle);
+    parseAttributes$1(xmlNode, circle, this._defs);
+    circle.setShape({
+      cx: parseFloat(xmlNode.getAttribute("cx") || 0),
+      cy: parseFloat(xmlNode.getAttribute("cy") || 0),
+      r: parseFloat(xmlNode.getAttribute("r") || 0)
+    });
+    return circle;
+  },
+  "line": function(xmlNode, parentGroup) {
+    var line2 = new Line$4();
+    inheritStyle$1(parentGroup, line2);
+    parseAttributes$1(xmlNode, line2, this._defs);
+    line2.setShape({
+      x1: parseFloat(xmlNode.getAttribute("x1") || 0),
+      y1: parseFloat(xmlNode.getAttribute("y1") || 0),
+      x2: parseFloat(xmlNode.getAttribute("x2") || 0),
+      y2: parseFloat(xmlNode.getAttribute("y2") || 0)
+    });
+    return line2;
+  },
+  "ellipse": function(xmlNode, parentGroup) {
+    var ellipse = new Ellipse$2();
+    inheritStyle$1(parentGroup, ellipse);
+    parseAttributes$1(xmlNode, ellipse, this._defs);
+    ellipse.setShape({
+      cx: parseFloat(xmlNode.getAttribute("cx") || 0),
+      cy: parseFloat(xmlNode.getAttribute("cy") || 0),
+      rx: parseFloat(xmlNode.getAttribute("rx") || 0),
+      ry: parseFloat(xmlNode.getAttribute("ry") || 0)
+    });
+    return ellipse;
+  },
+  "polygon": function(xmlNode, parentGroup) {
+    var points2 = xmlNode.getAttribute("points");
+    if (points2) {
+      points2 = parsePoints$1(points2);
+    }
+    var polygon2 = new Polygon$2({
+      shape: {
+        points: points2 || []
+      }
+    });
+    inheritStyle$1(parentGroup, polygon2);
+    parseAttributes$1(xmlNode, polygon2, this._defs);
+    return polygon2;
+  },
+  "polyline": function(xmlNode, parentGroup) {
+    var path2 = new Path$2();
+    inheritStyle$1(parentGroup, path2);
+    parseAttributes$1(xmlNode, path2, this._defs);
+    var points2 = xmlNode.getAttribute("points");
+    if (points2) {
+      points2 = parsePoints$1(points2);
+    }
+    var polyline = new Polyline$4({
+      shape: {
+        points: points2 || []
+      }
+    });
+    return polyline;
+  },
+  "image": function(xmlNode, parentGroup) {
+    var img = new ZImage();
+    inheritStyle$1(parentGroup, img);
+    parseAttributes$1(xmlNode, img, this._defs);
+    img.setStyle({
+      image: xmlNode.getAttribute("xlink:href"),
+      x: xmlNode.getAttribute("x"),
+      y: xmlNode.getAttribute("y"),
+      width: xmlNode.getAttribute("width"),
+      height: xmlNode.getAttribute("height")
+    });
+    return img;
+  },
+  "text": function(xmlNode, parentGroup) {
+    var x2 = xmlNode.getAttribute("x") || 0;
+    var y2 = xmlNode.getAttribute("y") || 0;
+    var dx = xmlNode.getAttribute("dx") || 0;
+    var dy = xmlNode.getAttribute("dy") || 0;
+    this._textX = parseFloat(x2) + parseFloat(dx);
+    this._textY = parseFloat(y2) + parseFloat(dy);
+    var g2 = new Group$5();
+    inheritStyle$1(parentGroup, g2);
+    parseAttributes$1(xmlNode, g2, this._defs);
+    return g2;
+  },
+  "tspan": function(xmlNode, parentGroup) {
+    var x2 = xmlNode.getAttribute("x");
+    var y2 = xmlNode.getAttribute("y");
+    if (x2 != null) {
+      this._textX = parseFloat(x2);
+    }
+    if (y2 != null) {
+      this._textY = parseFloat(y2);
+    }
+    var dx = xmlNode.getAttribute("dx") || 0;
+    var dy = xmlNode.getAttribute("dy") || 0;
+    var g2 = new Group$5();
+    inheritStyle$1(parentGroup, g2);
+    parseAttributes$1(xmlNode, g2, this._defs);
+    this._textX += dx;
+    this._textY += dy;
+    return g2;
+  },
+  "path": function(xmlNode, parentGroup) {
+    var d2 = xmlNode.getAttribute("d") || "";
+    var path2 = createFromString$1(d2);
+    inheritStyle$1(parentGroup, path2);
+    parseAttributes$1(xmlNode, path2, this._defs);
+    return path2;
+  }
+};
+var defineParsers = {
+  "lineargradient": function(xmlNode) {
+    var x1 = parseInt(xmlNode.getAttribute("x1") || 0, 10);
+    var y1 = parseInt(xmlNode.getAttribute("y1") || 0, 10);
+    var x2 = parseInt(xmlNode.getAttribute("x2") || 10, 10);
+    var y2 = parseInt(xmlNode.getAttribute("y2") || 0, 10);
+    var gradient = new LinearGradient$2(x1, y1, x2, y2);
+    _parseGradientColorStops(xmlNode, gradient);
+    return gradient;
+  },
+  "radialgradient": function(xmlNode) {
+  }
+};
+function _parseGradientColorStops(xmlNode, gradient) {
+  var stop2 = xmlNode.firstChild;
+  while (stop2) {
+    if (stop2.nodeType === 1) {
+      var offset2 = stop2.getAttribute("offset");
+      if (offset2.indexOf("%") > 0) {
+        offset2 = parseInt(offset2, 10) / 100;
+      } else if (offset2) {
+        offset2 = parseFloat(offset2);
+      } else {
+        offset2 = 0;
+      }
+      var stopColor = stop2.getAttribute("stop-color") || "#000000";
+      gradient.addColorStop(offset2, stopColor);
+    }
+    stop2 = stop2.nextSibling;
+  }
+}
+function inheritStyle$1(parent3, child) {
+  if (parent3 && parent3.__inheritedStyle) {
+    if (!child.__inheritedStyle) {
+      child.__inheritedStyle = {};
+    }
+    defaults$5(child.__inheritedStyle, parent3.__inheritedStyle);
+  }
+}
+function parsePoints$1(pointsString) {
+  var list2 = trim$4(pointsString).split(DILIMITER_REG);
+  var points2 = [];
+  for (var i2 = 0; i2 < list2.length; i2 += 2) {
+    var x2 = parseFloat(list2[i2]);
+    var y2 = parseFloat(list2[i2 + 1]);
+    points2.push([x2, y2]);
+  }
+  return points2;
+}
+var attributesMap = {
+  "fill": "fill",
+  "stroke": "stroke",
+  "stroke-width": "lineWidth",
+  "opacity": "opacity",
+  "fill-opacity": "fillOpacity",
+  "stroke-opacity": "strokeOpacity",
+  "stroke-dasharray": "lineDash",
+  "stroke-dashoffset": "lineDashOffset",
+  "stroke-linecap": "lineCap",
+  "stroke-linejoin": "lineJoin",
+  "stroke-miterlimit": "miterLimit",
+  "font-family": "fontFamily",
+  "font-size": "fontSize",
+  "font-style": "fontStyle",
+  "font-weight": "fontWeight",
+  "text-align": "textAlign",
+  "alignment-baseline": "textBaseline"
+};
+function parseAttributes$1(xmlNode, el, defs, onlyInlineStyle) {
+  var zrStyle = el.__inheritedStyle || {};
+  var isTextEl = el.type === "text";
+  if (xmlNode.nodeType === 1) {
+    parseTransformAttribute$1(xmlNode, el);
+    extend$6(zrStyle, parseStyleAttribute(xmlNode));
+    if (!onlyInlineStyle) {
+      for (var svgAttrName in attributesMap) {
+        if (attributesMap.hasOwnProperty(svgAttrName)) {
+          var attrValue = xmlNode.getAttribute(svgAttrName);
+          if (attrValue != null) {
+            zrStyle[attributesMap[svgAttrName]] = attrValue;
+          }
+        }
+      }
+    }
+  }
+  var elFillProp = isTextEl ? "textFill" : "fill";
+  var elStrokeProp = isTextEl ? "textStroke" : "stroke";
+  el.style = el.style || new Style();
+  var elStyle = el.style;
+  zrStyle.fill != null && elStyle.set(elFillProp, getPaint(zrStyle.fill, defs));
+  zrStyle.stroke != null && elStyle.set(elStrokeProp, getPaint(zrStyle.stroke, defs));
+  each$i(["lineWidth", "opacity", "fillOpacity", "strokeOpacity", "miterLimit", "fontSize"], function(propName) {
+    var elPropName = propName === "lineWidth" && isTextEl ? "textStrokeWidth" : propName;
+    zrStyle[propName] != null && elStyle.set(elPropName, parseFloat(zrStyle[propName]));
+  });
+  if (!zrStyle.textBaseline || zrStyle.textBaseline === "auto") {
+    zrStyle.textBaseline = "alphabetic";
+  }
+  if (zrStyle.textBaseline === "alphabetic") {
+    zrStyle.textBaseline = "bottom";
+  }
+  if (zrStyle.textAlign === "start") {
+    zrStyle.textAlign = "left";
+  }
+  if (zrStyle.textAlign === "end") {
+    zrStyle.textAlign = "right";
+  }
+  each$i(["lineDashOffset", "lineCap", "lineJoin", "fontWeight", "fontFamily", "fontStyle", "textAlign", "textBaseline"], function(propName) {
+    zrStyle[propName] != null && elStyle.set(propName, zrStyle[propName]);
+  });
+  if (zrStyle.lineDash) {
+    el.style.lineDash = trim$4(zrStyle.lineDash).split(DILIMITER_REG);
+  }
+  if (elStyle[elStrokeProp] && elStyle[elStrokeProp] !== "none") {
+    el[elStrokeProp] = true;
+  }
+  el.__inheritedStyle = zrStyle;
+}
+var urlRegex$1 = /url\(\s*#(.*?)\)/;
+function getPaint(str, defs) {
+  var urlMatch = defs && str && str.match(urlRegex$1);
+  if (urlMatch) {
+    var url = trim$4(urlMatch[1]);
+    var def = defs[url];
+    return def;
+  }
+  return str;
+}
+var transformRegex$1 = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g;
+function parseTransformAttribute$1(xmlNode, node) {
+  var transform3 = xmlNode.getAttribute("transform");
+  if (transform3) {
+    transform3 = transform3.replace(/,/g, " ");
+    var m2 = null;
+    var transformOps = [];
+    transform3.replace(transformRegex$1, function(str, type3, value2) {
+      transformOps.push(type3, value2);
+    });
+    for (var i2 = transformOps.length - 1; i2 > 0; i2 -= 2) {
+      var value = transformOps[i2];
+      var type2 = transformOps[i2 - 1];
+      m2 = m2 || matrix$1.create();
+      switch (type2) {
+        case "translate":
+          value = trim$4(value).split(DILIMITER_REG);
+          matrix$1.translate(m2, m2, [parseFloat(value[0]), parseFloat(value[1] || 0)]);
+          break;
+        case "scale":
+          value = trim$4(value).split(DILIMITER_REG);
+          matrix$1.scale(m2, m2, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);
+          break;
+        case "rotate":
+          value = trim$4(value).split(DILIMITER_REG);
+          matrix$1.rotate(m2, m2, parseFloat(value[0]));
+          break;
+        case "skew":
+          value = trim$4(value).split(DILIMITER_REG);
+          console.warn("Skew transform is not supported yet");
+          break;
+        case "matrix":
+          var value = trim$4(value).split(DILIMITER_REG);
+          m2[0] = parseFloat(value[0]);
+          m2[1] = parseFloat(value[1]);
+          m2[2] = parseFloat(value[2]);
+          m2[3] = parseFloat(value[3]);
+          m2[4] = parseFloat(value[4]);
+          m2[5] = parseFloat(value[5]);
+          break;
+      }
+    }
+    node.setLocalTransform(m2);
+  }
+}
+var styleRegex$1 = /([^\s:;]+)\s*:\s*([^:;]+)/g;
+function parseStyleAttribute(xmlNode) {
+  var style2 = xmlNode.getAttribute("style");
+  var result2 = {};
+  if (!style2) {
+    return result2;
+  }
+  var styleList = {};
+  styleRegex$1.lastIndex = 0;
+  var styleRegResult;
+  while ((styleRegResult = styleRegex$1.exec(style2)) != null) {
+    styleList[styleRegResult[1]] = styleRegResult[2];
+  }
+  for (var svgAttrName in attributesMap) {
+    if (attributesMap.hasOwnProperty(svgAttrName) && styleList[svgAttrName] != null) {
+      result2[attributesMap[svgAttrName]] = styleList[svgAttrName];
+    }
+  }
+  return result2;
+}
+function makeViewBoxTransform$1(viewBoxRect, width, height) {
+  var scaleX = width / viewBoxRect.width;
+  var scaleY = height / viewBoxRect.height;
+  var scale2 = Math.min(scaleX, scaleY);
+  var viewBoxScale = [scale2, scale2];
+  var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale2 + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale2 + height / 2];
+  return {
+    scale: viewBoxScale,
+    position: viewBoxPosition
+  };
+}
+function parseSVG$1(xml, opt) {
+  var parser2 = new SVGParser$1();
+  return parser2.parse(xml, opt);
+}
+parseSVG$2.parseXML = parseXML$2;
+parseSVG$2.makeViewBoxTransform = makeViewBoxTransform$1;
+parseSVG$2.parseSVG = parseSVG$1;
+var _util = util$a;
+var createHashMap$1 = _util.createHashMap;
+var isString$3 = _util.isString;
+var isArray$4 = _util.isArray;
+var each$h = _util.each;
+_util.assert;
+var _parseSVG = parseSVG$2;
+var parseXML$1 = _parseSVG.parseXML;
+var storage$1 = createHashMap$1();
+var _default$2 = {
+  // The format of record: see `echarts.registerMap`.
+  // Compatible with previous `echarts.registerMap`.
+  registerMap: function(mapName, rawGeoJson, rawSpecialAreas) {
+    var records;
+    if (isArray$4(rawGeoJson)) {
+      records = rawGeoJson;
+    } else if (rawGeoJson.svg) {
+      records = [{
+        type: "svg",
+        source: rawGeoJson.svg,
+        specialAreas: rawGeoJson.specialAreas
+      }];
+    } else {
+      if (rawGeoJson.geoJson && !rawGeoJson.features) {
+        rawSpecialAreas = rawGeoJson.specialAreas;
+        rawGeoJson = rawGeoJson.geoJson;
+      }
+      records = [{
+        type: "geoJSON",
+        source: rawGeoJson,
+        specialAreas: rawSpecialAreas
+      }];
+    }
+    each$h(records, function(record) {
+      var type2 = record.type;
+      type2 === "geoJson" && (type2 = record.type = "geoJSON");
+      var parse2 = parsers[type2];
+      parse2(record);
+    });
+    return storage$1.set(mapName, records);
+  },
+  retrieveMap: function(mapName) {
+    return storage$1.get(mapName);
+  }
+};
+var parsers = {
+  geoJSON: function(record) {
+    var source2 = record.source;
+    record.geoJSON = !isString$3(source2) ? source2 : typeof JSON !== "undefined" && JSON.parse ? JSON.parse(source2) : new Function("return (" + source2 + ");")();
+  },
+  // Only perform parse to XML object here, which might be time
+  // consiming for large SVG.
+  // Although convert XML to zrender element is also time consiming,
+  // if we do it here, the clone of zrender elements has to be
+  // required. So we do it once for each geo instance, util real
+  // performance issues call for optimizing it.
+  svg: function(record) {
+    record.svgXML = parseXML$1(record.source);
+  }
+};
+var mapDataStorage = _default$2;
+var _export = {};
+var helper$6 = {};
+var DataDiffer_1;
+var hasRequiredDataDiffer;
+function requireDataDiffer() {
+  if (hasRequiredDataDiffer)
+    return DataDiffer_1;
+  hasRequiredDataDiffer = 1;
+  function defaultKeyGetter2(item) {
+    return item;
+  }
+  function DataDiffer2(oldArr, newArr, oldKeyGetter, newKeyGetter, context) {
+    this._old = oldArr;
+    this._new = newArr;
+    this._oldKeyGetter = oldKeyGetter || defaultKeyGetter2;
+    this._newKeyGetter = newKeyGetter || defaultKeyGetter2;
+    this.context = context;
+  }
+  DataDiffer2.prototype = {
+    constructor: DataDiffer2,
+    /**
+     * Callback function when add a data
+     */
+    add: function(func) {
+      this._add = func;
+      return this;
+    },
+    /**
+     * Callback function when update a data
+     */
+    update: function(func) {
+      this._update = func;
+      return this;
+    },
+    /**
+     * Callback function when remove a data
+     */
+    remove: function(func) {
+      this._remove = func;
+      return this;
+    },
+    execute: function() {
+      var oldArr = this._old;
+      var newArr = this._new;
+      var oldDataIndexMap = {};
+      var newDataIndexMap = {};
+      var oldDataKeyArr = [];
+      var newDataKeyArr = [];
+      var i2;
+      initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, "_oldKeyGetter", this);
+      initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter", this);
+      for (i2 = 0; i2 < oldArr.length; i2++) {
+        var key2 = oldDataKeyArr[i2];
+        var idx = newDataIndexMap[key2];
+        if (idx != null) {
+          var len2 = idx.length;
+          if (len2) {
+            len2 === 1 && (newDataIndexMap[key2] = null);
+            idx = idx.shift();
+          } else {
+            newDataIndexMap[key2] = null;
+          }
+          this._update && this._update(idx, i2);
+        } else {
+          this._remove && this._remove(i2);
+        }
+      }
+      for (var i2 = 0; i2 < newDataKeyArr.length; i2++) {
+        var key2 = newDataKeyArr[i2];
+        if (newDataIndexMap.hasOwnProperty(key2)) {
+          var idx = newDataIndexMap[key2];
+          if (idx == null) {
+            continue;
+          }
+          if (!idx.length) {
+            this._add && this._add(idx);
+          } else {
+            for (var j2 = 0, len2 = idx.length; j2 < len2; j2++) {
+              this._add && this._add(idx[j2]);
+            }
+          }
+        }
+      }
+    }
+  };
+  function initIndexMap(arr, map2, keyArr, keyGetterName, dataDiffer) {
+    for (var i2 = 0; i2 < arr.length; i2++) {
+      var key2 = "_ec_" + dataDiffer[keyGetterName](arr[i2], i2);
+      var existence = map2[key2];
+      if (existence == null) {
+        keyArr.push(key2);
+        map2[key2] = i2;
+      } else {
+        if (!existence.length) {
+          map2[key2] = existence = [existence];
+        }
+        existence.push(i2);
+      }
+    }
+  }
+  var _default68 = DataDiffer2;
+  DataDiffer_1 = _default68;
+  return DataDiffer_1;
+}
+var dimensionHelper = {};
+var hasRequiredDimensionHelper;
+function requireDimensionHelper() {
+  if (hasRequiredDimensionHelper)
+    return dimensionHelper;
+  hasRequiredDimensionHelper = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var createHashMap2 = _util2.createHashMap;
+  _util2.assert;
+  var OTHER_DIMENSIONS = createHashMap2(["tooltip", "label", "itemName", "itemId", "seriesName"]);
+  function summarizeDimensions2(data2) {
+    var summary = {};
+    var encode2 = summary.encode = {};
+    var notExtraCoordDimMap = createHashMap2();
+    var defaultedLabel = [];
+    var defaultedTooltip = [];
+    var userOutput = summary.userOutput = {
+      dimensionNames: data2.dimensions.slice(),
+      encode: {}
+    };
+    each2(data2.dimensions, function(dimName) {
+      var dimItem = data2.getDimensionInfo(dimName);
+      var coordDim = dimItem.coordDim;
+      if (coordDim) {
+        var coordDimIndex = dimItem.coordDimIndex;
+        getOrCreateEncodeArr2(encode2, coordDim)[coordDimIndex] = dimName;
+        if (!dimItem.isExtraCoord) {
+          notExtraCoordDimMap.set(coordDim, 1);
+          if (mayLabelDimType2(dimItem.type)) {
+            defaultedLabel[0] = dimName;
+          }
+          getOrCreateEncodeArr2(userOutput.encode, coordDim)[coordDimIndex] = dimItem.index;
+        }
+        if (dimItem.defaultTooltip) {
+          defaultedTooltip.push(dimName);
+        }
+      }
+      OTHER_DIMENSIONS.each(function(v4, otherDim) {
+        var encodeArr = getOrCreateEncodeArr2(encode2, otherDim);
+        var dimIndex = dimItem.otherDims[otherDim];
+        if (dimIndex != null && dimIndex !== false) {
+          encodeArr[dimIndex] = dimItem.name;
+        }
+      });
+    });
+    var dataDimsOnCoord = [];
+    var encodeFirstDimNotExtra = {};
+    notExtraCoordDimMap.each(function(v4, coordDim) {
+      var dimArr = encode2[coordDim];
+      encodeFirstDimNotExtra[coordDim] = dimArr[0];
+      dataDimsOnCoord = dataDimsOnCoord.concat(dimArr);
+    });
+    summary.dataDimsOnCoord = dataDimsOnCoord;
+    summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra;
+    var encodeLabel = encode2.label;
+    if (encodeLabel && encodeLabel.length) {
+      defaultedLabel = encodeLabel.slice();
+    }
+    var encodeTooltip = encode2.tooltip;
+    if (encodeTooltip && encodeTooltip.length) {
+      defaultedTooltip = encodeTooltip.slice();
+    } else if (!defaultedTooltip.length) {
+      defaultedTooltip = defaultedLabel.slice();
+    }
+    encode2.defaultedLabel = defaultedLabel;
+    encode2.defaultedTooltip = defaultedTooltip;
+    return summary;
+  }
+  function getOrCreateEncodeArr2(encode2, dim) {
+    if (!encode2.hasOwnProperty(dim)) {
+      encode2[dim] = [];
+    }
+    return encode2[dim];
+  }
+  function getDimensionTypeByAxis2(axisType) {
+    return axisType === "category" ? "ordinal" : axisType === "time" ? "time" : "float";
+  }
+  function mayLabelDimType2(dimType) {
+    return !(dimType === "ordinal" || dimType === "time");
+  }
+  dimensionHelper.OTHER_DIMENSIONS = OTHER_DIMENSIONS;
+  dimensionHelper.summarizeDimensions = summarizeDimensions2;
+  dimensionHelper.getDimensionTypeByAxis = getDimensionTypeByAxis2;
+  return dimensionHelper;
+}
+var DataDimensionInfo_1;
+var hasRequiredDataDimensionInfo;
+function requireDataDimensionInfo() {
+  if (hasRequiredDataDimensionInfo)
+    return DataDimensionInfo_1;
+  hasRequiredDataDimensionInfo = 1;
+  var zrUtil2 = util$a;
+  function DataDimensionInfo(opt) {
+    if (opt != null) {
+      zrUtil2.extend(this, opt);
+    }
+    this.otherDims = {};
+  }
+  var _default68 = DataDimensionInfo;
+  DataDimensionInfo_1 = _default68;
+  return DataDimensionInfo_1;
+}
+var List_1;
+var hasRequiredList;
+function requireList() {
+  if (hasRequiredList)
+    return List_1;
+  hasRequiredList = 1;
+  var zrUtil2 = util$a;
+  var Model2 = Model_1;
+  var DataDiffer2 = requireDataDiffer();
+  var Source2 = requireSource();
+  var _dataProvider2 = dataProvider;
+  var defaultDimValueGetters2 = _dataProvider2.defaultDimValueGetters;
+  var DefaultDataProvider2 = _dataProvider2.DefaultDataProvider;
+  var _dimensionHelper = requireDimensionHelper();
+  var summarizeDimensions2 = _dimensionHelper.summarizeDimensions;
+  var DataDimensionInfo = requireDataDimensionInfo();
+  var isObject2 = zrUtil2.isObject;
+  var UNDEFINED2 = "undefined";
+  var INDEX_NOT_FOUND2 = -1;
+  var ID_PREFIX2 = "e\0\0";
+  var dataCtors2 = {
+    "float": typeof Float64Array === UNDEFINED2 ? Array : Float64Array,
+    "int": typeof Int32Array === UNDEFINED2 ? Array : Int32Array,
+    // Ordinal data type can be string or int
+    "ordinal": Array,
+    "number": Array,
+    "time": Array
+  };
+  var CtorUint32Array2 = typeof Uint32Array === UNDEFINED2 ? Array : Uint32Array;
+  var CtorInt32Array2 = typeof Int32Array === UNDEFINED2 ? Array : Int32Array;
+  var CtorUint16Array2 = typeof Uint16Array === UNDEFINED2 ? Array : Uint16Array;
+  function getIndicesCtor2(list2) {
+    return list2._rawCount > 65535 ? CtorUint32Array2 : CtorUint16Array2;
+  }
+  function cloneChunk2(originalChunk) {
+    var Ctor = originalChunk.constructor;
+    return Ctor === Array ? originalChunk.slice() : new Ctor(originalChunk);
+  }
+  var TRANSFERABLE_PROPERTIES2 = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_rawData", "_chunkSize", "_chunkCount", "_dimValueGetter", "_count", "_rawCount", "_nameDimIdx", "_idDimIdx"];
+  var CLONE_PROPERTIES2 = ["_extent", "_approximateExtent", "_rawExtent"];
+  function transferProperties2(target, source2) {
+    zrUtil2.each(TRANSFERABLE_PROPERTIES2.concat(source2.__wrappedMethods || []), function(propName) {
+      if (source2.hasOwnProperty(propName)) {
+        target[propName] = source2[propName];
+      }
+    });
+    target.__wrappedMethods = source2.__wrappedMethods;
+    zrUtil2.each(CLONE_PROPERTIES2, function(propName) {
+      target[propName] = zrUtil2.clone(source2[propName]);
+    });
+    target._calculationInfo = zrUtil2.extend(source2._calculationInfo);
+  }
+  var List = function(dimensions, hostModel) {
+    dimensions = dimensions || ["x", "y"];
+    var dimensionInfos = {};
+    var dimensionNames = [];
+    var invertedIndicesMap = {};
+    for (var i2 = 0; i2 < dimensions.length; i2++) {
+      var dimensionInfo = dimensions[i2];
+      if (zrUtil2.isString(dimensionInfo)) {
+        dimensionInfo = new DataDimensionInfo({
+          name: dimensionInfo
+        });
+      } else if (!(dimensionInfo instanceof DataDimensionInfo)) {
+        dimensionInfo = new DataDimensionInfo(dimensionInfo);
+      }
+      var dimensionName = dimensionInfo.name;
+      dimensionInfo.type = dimensionInfo.type || "float";
+      if (!dimensionInfo.coordDim) {
+        dimensionInfo.coordDim = dimensionName;
+        dimensionInfo.coordDimIndex = 0;
+      }
+      dimensionInfo.otherDims = dimensionInfo.otherDims || {};
+      dimensionNames.push(dimensionName);
+      dimensionInfos[dimensionName] = dimensionInfo;
+      dimensionInfo.index = i2;
+      if (dimensionInfo.createInvertedIndices) {
+        invertedIndicesMap[dimensionName] = [];
+      }
+    }
+    this.dimensions = dimensionNames;
+    this._dimensionInfos = dimensionInfos;
+    this.hostModel = hostModel;
+    this.dataType;
+    this._indices = null;
+    this._count = 0;
+    this._rawCount = 0;
+    this._storage = {};
+    this._nameList = [];
+    this._idList = [];
+    this._optionModels = [];
+    this._visual = {};
+    this._layout = {};
+    this._itemVisuals = [];
+    this.hasItemVisual = {};
+    this._itemLayouts = [];
+    this._graphicEls = [];
+    this._chunkSize = 1e5;
+    this._chunkCount = 0;
+    this._rawData;
+    this._rawExtent = {};
+    this._extent = {};
+    this._approximateExtent = {};
+    this._dimensionsSummary = summarizeDimensions2(this);
+    this._invertedIndicesMap = invertedIndicesMap;
+    this._calculationInfo = {};
+    this.userOutput = this._dimensionsSummary.userOutput;
+  };
+  var listProto = List.prototype;
+  listProto.type = "list";
+  listProto.hasItemOption = true;
+  listProto.getDimension = function(dim) {
+    if (typeof dim === "number" || !isNaN(dim) && !this._dimensionInfos.hasOwnProperty(dim)) {
+      dim = this.dimensions[dim];
+    }
+    return dim;
+  };
+  listProto.getDimensionInfo = function(dim) {
+    return this._dimensionInfos[this.getDimension(dim)];
+  };
+  listProto.getDimensionsOnCoord = function() {
+    return this._dimensionsSummary.dataDimsOnCoord.slice();
+  };
+  listProto.mapDimension = function(coordDim, idx) {
+    var dimensionsSummary = this._dimensionsSummary;
+    if (idx == null) {
+      return dimensionsSummary.encodeFirstDimNotExtra[coordDim];
+    }
+    var dims = dimensionsSummary.encode[coordDim];
+    return idx === true ? (dims || []).slice() : dims && dims[idx];
+  };
+  listProto.initData = function(data2, nameList, dimValueGetter) {
+    var notProvider = Source2.isInstance(data2) || zrUtil2.isArrayLike(data2);
+    if (notProvider) {
+      data2 = new DefaultDataProvider2(data2, this.dimensions.length);
+    }
+    this._rawData = data2;
+    this._storage = {};
+    this._indices = null;
+    this._nameList = nameList || [];
+    this._idList = [];
+    this._nameRepeatCount = {};
+    if (!dimValueGetter) {
+      this.hasItemOption = false;
+    }
+    this.defaultDimValueGetter = defaultDimValueGetters2[this._rawData.getSource().sourceFormat];
+    this._dimValueGetter = dimValueGetter = dimValueGetter || this.defaultDimValueGetter;
+    this._dimValueGetterArrayRows = defaultDimValueGetters2.arrayRows;
+    this._rawExtent = {};
+    this._initDataFromProvider(0, data2.count());
+    if (data2.pure) {
+      this.hasItemOption = false;
+    }
+  };
+  listProto.getProvider = function() {
+    return this._rawData;
+  };
+  listProto.appendData = function(data2) {
+    var rawData = this._rawData;
+    var start2 = this.count();
+    rawData.appendData(data2);
+    var end2 = rawData.count();
+    if (!rawData.persistent) {
+      end2 += start2;
+    }
+    this._initDataFromProvider(start2, end2);
+  };
+  listProto.appendValues = function(values, names) {
+    var chunkSize = this._chunkSize;
+    var storage2 = this._storage;
+    var dimensions = this.dimensions;
+    var dimLen = dimensions.length;
+    var rawExtent = this._rawExtent;
+    var start2 = this.count();
+    var end2 = start2 + Math.max(values.length, names ? names.length : 0);
+    var originalChunkCount = this._chunkCount;
+    for (var i2 = 0; i2 < dimLen; i2++) {
+      var dim = dimensions[i2];
+      if (!rawExtent[dim]) {
+        rawExtent[dim] = getInitialExtent2();
+      }
+      if (!storage2[dim]) {
+        storage2[dim] = [];
+      }
+      prepareChunks(storage2, this._dimensionInfos[dim], chunkSize, originalChunkCount, end2);
+      this._chunkCount = storage2[dim].length;
+    }
+    var emptyDataItem = new Array(dimLen);
+    for (var idx = start2; idx < end2; idx++) {
+      var sourceIdx = idx - start2;
+      var chunkIndex = Math.floor(idx / chunkSize);
+      var chunkOffset = idx % chunkSize;
+      for (var k2 = 0; k2 < dimLen; k2++) {
+        var dim = dimensions[k2];
+        var val = this._dimValueGetterArrayRows(values[sourceIdx] || emptyDataItem, dim, sourceIdx, k2);
+        storage2[dim][chunkIndex][chunkOffset] = val;
+        var dimRawExtent = rawExtent[dim];
+        val < dimRawExtent[0] && (dimRawExtent[0] = val);
+        val > dimRawExtent[1] && (dimRawExtent[1] = val);
+      }
+      if (names) {
+        this._nameList[idx] = names[sourceIdx];
+      }
+    }
+    this._rawCount = this._count = end2;
+    this._extent = {};
+    prepareInvertedIndex2(this);
+  };
+  listProto._initDataFromProvider = function(start2, end2) {
+    if (start2 >= end2) {
+      return;
+    }
+    var chunkSize = this._chunkSize;
+    var rawData = this._rawData;
+    var storage2 = this._storage;
+    var dimensions = this.dimensions;
+    var dimLen = dimensions.length;
+    var dimensionInfoMap = this._dimensionInfos;
+    var nameList = this._nameList;
+    var idList = this._idList;
+    var rawExtent = this._rawExtent;
+    var nameRepeatCount = this._nameRepeatCount = {};
+    var nameDimIdx;
+    var originalChunkCount = this._chunkCount;
+    for (var i2 = 0; i2 < dimLen; i2++) {
+      var dim = dimensions[i2];
+      if (!rawExtent[dim]) {
+        rawExtent[dim] = getInitialExtent2();
+      }
+      var dimInfo = dimensionInfoMap[dim];
+      if (dimInfo.otherDims.itemName === 0) {
+        nameDimIdx = this._nameDimIdx = i2;
+      }
+      if (dimInfo.otherDims.itemId === 0) {
+        this._idDimIdx = i2;
+      }
+      if (!storage2[dim]) {
+        storage2[dim] = [];
+      }
+      prepareChunks(storage2, dimInfo, chunkSize, originalChunkCount, end2);
+      this._chunkCount = storage2[dim].length;
+    }
+    var dataItem = new Array(dimLen);
+    for (var idx = start2; idx < end2; idx++) {
+      dataItem = rawData.getItem(idx, dataItem);
+      var chunkIndex = Math.floor(idx / chunkSize);
+      var chunkOffset = idx % chunkSize;
+      for (var k2 = 0; k2 < dimLen; k2++) {
+        var dim = dimensions[k2];
+        var dimStorage = storage2[dim][chunkIndex];
+        var val = this._dimValueGetter(dataItem, dim, idx, k2);
+        dimStorage[chunkOffset] = val;
+        var dimRawExtent = rawExtent[dim];
+        val < dimRawExtent[0] && (dimRawExtent[0] = val);
+        val > dimRawExtent[1] && (dimRawExtent[1] = val);
+      }
+      if (!rawData.pure) {
+        var name2 = nameList[idx];
+        if (dataItem && name2 == null) {
+          if (dataItem.name != null) {
+            nameList[idx] = name2 = dataItem.name;
+          } else if (nameDimIdx != null) {
+            var nameDim = dimensions[nameDimIdx];
+            var nameDimChunk = storage2[nameDim][chunkIndex];
+            if (nameDimChunk) {
+              name2 = nameDimChunk[chunkOffset];
+              var ordinalMeta = dimensionInfoMap[nameDim].ordinalMeta;
+              if (ordinalMeta && ordinalMeta.categories.length) {
+                name2 = ordinalMeta.categories[name2];
+              }
+            }
+          }
+        }
+        var id = dataItem == null ? null : dataItem.id;
+        if (id == null && name2 != null) {
+          nameRepeatCount[name2] = nameRepeatCount[name2] || 0;
+          id = name2;
+          if (nameRepeatCount[name2] > 0) {
+            id += "__ec__" + nameRepeatCount[name2];
+          }
+          nameRepeatCount[name2]++;
+        }
+        id != null && (idList[idx] = id);
+      }
+    }
+    if (!rawData.persistent && rawData.clean) {
+      rawData.clean();
+    }
+    this._rawCount = this._count = end2;
+    this._extent = {};
+    prepareInvertedIndex2(this);
+  };
+  function prepareChunks(storage2, dimInfo, chunkSize, chunkCount, end2) {
+    var DataCtor = dataCtors2[dimInfo.type];
+    var lastChunkIndex = chunkCount - 1;
+    var dim = dimInfo.name;
+    var resizeChunkArray = storage2[dim][lastChunkIndex];
+    if (resizeChunkArray && resizeChunkArray.length < chunkSize) {
+      var newStore = new DataCtor(Math.min(end2 - lastChunkIndex * chunkSize, chunkSize));
+      for (var j2 = 0; j2 < resizeChunkArray.length; j2++) {
+        newStore[j2] = resizeChunkArray[j2];
+      }
+      storage2[dim][lastChunkIndex] = newStore;
+    }
+    for (var k2 = chunkCount * chunkSize; k2 < end2; k2 += chunkSize) {
+      storage2[dim].push(new DataCtor(Math.min(end2 - k2, chunkSize)));
+    }
+  }
+  function prepareInvertedIndex2(list2) {
+    var invertedIndicesMap = list2._invertedIndicesMap;
+    zrUtil2.each(invertedIndicesMap, function(invertedIndices, dim) {
+      var dimInfo = list2._dimensionInfos[dim];
+      var ordinalMeta = dimInfo.ordinalMeta;
+      if (ordinalMeta) {
+        invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array2(ordinalMeta.categories.length);
+        for (var i2 = 0; i2 < invertedIndices.length; i2++) {
+          invertedIndices[i2] = INDEX_NOT_FOUND2;
+        }
+        for (var i2 = 0; i2 < list2._count; i2++) {
+          invertedIndices[list2.get(dim, i2)] = i2;
+        }
+      }
+    });
+  }
+  function getRawValueFromStore(list2, dimIndex, rawIndex) {
+    var val;
+    if (dimIndex != null) {
+      var chunkSize = list2._chunkSize;
+      var chunkIndex = Math.floor(rawIndex / chunkSize);
+      var chunkOffset = rawIndex % chunkSize;
+      var dim = list2.dimensions[dimIndex];
+      var chunk = list2._storage[dim][chunkIndex];
+      if (chunk) {
+        val = chunk[chunkOffset];
+        var ordinalMeta = list2._dimensionInfos[dim].ordinalMeta;
+        if (ordinalMeta && ordinalMeta.categories.length) {
+          val = ordinalMeta.categories[val];
+        }
+      }
+    }
+    return val;
+  }
+  listProto.count = function() {
+    return this._count;
+  };
+  listProto.getIndices = function() {
+    var newIndices;
+    var indices = this._indices;
+    if (indices) {
+      var Ctor = indices.constructor;
+      var thisCount = this._count;
+      if (Ctor === Array) {
+        newIndices = new Ctor(thisCount);
+        for (var i2 = 0; i2 < thisCount; i2++) {
+          newIndices[i2] = indices[i2];
+        }
+      } else {
+        newIndices = new Ctor(indices.buffer, 0, thisCount);
+      }
+    } else {
+      var Ctor = getIndicesCtor2(this);
+      var newIndices = new Ctor(this.count());
+      for (var i2 = 0; i2 < newIndices.length; i2++) {
+        newIndices[i2] = i2;
+      }
+    }
+    return newIndices;
+  };
+  listProto.get = function(dim, idx) {
+    if (!(idx >= 0 && idx < this._count)) {
+      return NaN;
+    }
+    var storage2 = this._storage;
+    if (!storage2[dim]) {
+      return NaN;
+    }
+    idx = this.getRawIndex(idx);
+    var chunkIndex = Math.floor(idx / this._chunkSize);
+    var chunkOffset = idx % this._chunkSize;
+    var chunkStore = storage2[dim][chunkIndex];
+    var value = chunkStore[chunkOffset];
+    return value;
+  };
+  listProto.getByRawIndex = function(dim, rawIdx) {
+    if (!(rawIdx >= 0 && rawIdx < this._rawCount)) {
+      return NaN;
+    }
+    var dimStore = this._storage[dim];
+    if (!dimStore) {
+      return NaN;
+    }
+    var chunkIndex = Math.floor(rawIdx / this._chunkSize);
+    var chunkOffset = rawIdx % this._chunkSize;
+    var chunkStore = dimStore[chunkIndex];
+    return chunkStore[chunkOffset];
+  };
+  listProto._getFast = function(dim, rawIdx) {
+    var chunkIndex = Math.floor(rawIdx / this._chunkSize);
+    var chunkOffset = rawIdx % this._chunkSize;
+    var chunkStore = this._storage[dim][chunkIndex];
+    return chunkStore[chunkOffset];
+  };
+  listProto.getValues = function(dimensions, idx) {
+    var values = [];
+    if (!zrUtil2.isArray(dimensions)) {
+      idx = dimensions;
+      dimensions = this.dimensions;
+    }
+    for (var i2 = 0, len2 = dimensions.length; i2 < len2; i2++) {
+      values.push(this.get(
+        dimensions[i2],
+        idx
+        /*, stack */
+      ));
+    }
+    return values;
+  };
+  listProto.hasValue = function(idx) {
+    var dataDimsOnCoord = this._dimensionsSummary.dataDimsOnCoord;
+    for (var i2 = 0, len2 = dataDimsOnCoord.length; i2 < len2; i2++) {
+      if (isNaN(this.get(dataDimsOnCoord[i2], idx))) {
+        return false;
+      }
+    }
+    return true;
+  };
+  listProto.getDataExtent = function(dim) {
+    dim = this.getDimension(dim);
+    var dimData = this._storage[dim];
+    var initialExtent = getInitialExtent2();
+    if (!dimData) {
+      return initialExtent;
+    }
+    var currEnd = this.count();
+    var useRaw = !this._indices;
+    var dimExtent;
+    if (useRaw) {
+      return this._rawExtent[dim].slice();
+    }
+    dimExtent = this._extent[dim];
+    if (dimExtent) {
+      return dimExtent.slice();
+    }
+    dimExtent = initialExtent;
+    var min3 = dimExtent[0];
+    var max3 = dimExtent[1];
+    for (var i2 = 0; i2 < currEnd; i2++) {
+      var value = this._getFast(dim, this.getRawIndex(i2));
+      value < min3 && (min3 = value);
+      value > max3 && (max3 = value);
+    }
+    dimExtent = [min3, max3];
+    this._extent[dim] = dimExtent;
+    return dimExtent;
+  };
+  listProto.getApproximateExtent = function(dim) {
+    dim = this.getDimension(dim);
+    return this._approximateExtent[dim] || this.getDataExtent(
+      dim
+      /*, stack */
+    );
+  };
+  listProto.setApproximateExtent = function(extent3, dim) {
+    dim = this.getDimension(dim);
+    this._approximateExtent[dim] = extent3.slice();
+  };
+  listProto.getCalculationInfo = function(key2) {
+    return this._calculationInfo[key2];
+  };
+  listProto.setCalculationInfo = function(key2, value) {
+    isObject2(key2) ? zrUtil2.extend(this._calculationInfo, key2) : this._calculationInfo[key2] = value;
+  };
+  listProto.getSum = function(dim) {
+    var dimData = this._storage[dim];
+    var sum2 = 0;
+    if (dimData) {
+      for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+        var value = this.get(
+          dim,
+          i2
+          /*, stack */
+        );
+        if (!isNaN(value)) {
+          sum2 += value;
+        }
+      }
+    }
+    return sum2;
+  };
+  listProto.getMedian = function(dim) {
+    var dimDataArray = [];
+    this.each(dim, function(val, idx) {
+      if (!isNaN(val)) {
+        dimDataArray.push(val);
+      }
+    });
+    var sortedDimDataArray = [].concat(dimDataArray).sort(function(a2, b2) {
+      return a2 - b2;
+    });
+    var len2 = this.count();
+    return len2 === 0 ? 0 : len2 % 2 === 1 ? sortedDimDataArray[(len2 - 1) / 2] : (sortedDimDataArray[len2 / 2] + sortedDimDataArray[len2 / 2 - 1]) / 2;
+  };
+  listProto.rawIndexOf = function(dim, value) {
+    var invertedIndices = dim && this._invertedIndicesMap[dim];
+    var rawIndex = invertedIndices[value];
+    if (rawIndex == null || isNaN(rawIndex)) {
+      return INDEX_NOT_FOUND2;
+    }
+    return rawIndex;
+  };
+  listProto.indexOfName = function(name2) {
+    for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+      if (this.getName(i2) === name2) {
+        return i2;
+      }
+    }
+    return -1;
+  };
+  listProto.indexOfRawIndex = function(rawIndex) {
+    if (rawIndex >= this._rawCount || rawIndex < 0) {
+      return -1;
+    }
+    if (!this._indices) {
+      return rawIndex;
+    }
+    var indices = this._indices;
+    var rawDataIndex = indices[rawIndex];
+    if (rawDataIndex != null && rawDataIndex < this._count && rawDataIndex === rawIndex) {
+      return rawIndex;
+    }
+    var left = 0;
+    var right = this._count - 1;
+    while (left <= right) {
+      var mid = (left + right) / 2 | 0;
+      if (indices[mid] < rawIndex) {
+        left = mid + 1;
+      } else if (indices[mid] > rawIndex) {
+        right = mid - 1;
+      } else {
+        return mid;
+      }
+    }
+    return -1;
+  };
+  listProto.indicesOfNearest = function(dim, value, maxDistance) {
+    var storage2 = this._storage;
+    var dimData = storage2[dim];
+    var nearestIndices = [];
+    if (!dimData) {
+      return nearestIndices;
+    }
+    if (maxDistance == null) {
+      maxDistance = Infinity;
+    }
+    var minDist = Infinity;
+    var minDiff = -1;
+    var nearestIndicesLen = 0;
+    for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+      var diff = value - this.get(dim, i2);
+      var dist2 = Math.abs(diff);
+      if (dist2 <= maxDistance) {
+        if (dist2 < minDist || dist2 === minDist && diff >= 0 && minDiff < 0) {
+          minDist = dist2;
+          minDiff = diff;
+          nearestIndicesLen = 0;
+        }
+        if (diff === minDiff) {
+          nearestIndices[nearestIndicesLen++] = i2;
+        }
+      }
+    }
+    nearestIndices.length = nearestIndicesLen;
+    return nearestIndices;
+  };
+  listProto.getRawIndex = getRawIndexWithoutIndices;
+  function getRawIndexWithoutIndices(idx) {
+    return idx;
+  }
+  function getRawIndexWithIndices(idx) {
+    if (idx < this._count && idx >= 0) {
+      return this._indices[idx];
+    }
+    return -1;
+  }
+  listProto.getRawDataItem = function(idx) {
+    if (!this._rawData.persistent) {
+      var val = [];
+      for (var i2 = 0; i2 < this.dimensions.length; i2++) {
+        var dim = this.dimensions[i2];
+        val.push(this.get(dim, idx));
+      }
+      return val;
+    } else {
+      return this._rawData.getItem(this.getRawIndex(idx));
+    }
+  };
+  listProto.getName = function(idx) {
+    var rawIndex = this.getRawIndex(idx);
+    return this._nameList[rawIndex] || getRawValueFromStore(this, this._nameDimIdx, rawIndex) || "";
+  };
+  listProto.getId = function(idx) {
+    return getId2(this, this.getRawIndex(idx));
+  };
+  function getId2(list2, rawIndex) {
+    var id = list2._idList[rawIndex];
+    if (id == null) {
+      id = getRawValueFromStore(list2, list2._idDimIdx, rawIndex);
+    }
+    if (id == null) {
+      id = ID_PREFIX2 + rawIndex;
+    }
+    return id;
+  }
+  function normalizeDimensions2(dimensions) {
+    if (!zrUtil2.isArray(dimensions)) {
+      dimensions = [dimensions];
+    }
+    return dimensions;
+  }
+  listProto.each = function(dims, cb, context, contextCompat) {
+    if (!this._count) {
+      return;
+    }
+    if (typeof dims === "function") {
+      contextCompat = context;
+      context = cb;
+      cb = dims;
+      dims = [];
+    }
+    context = context || contextCompat || this;
+    dims = zrUtil2.map(normalizeDimensions2(dims), this.getDimension, this);
+    var dimSize = dims.length;
+    for (var i2 = 0; i2 < this.count(); i2++) {
+      switch (dimSize) {
+        case 0:
+          cb.call(context, i2);
+          break;
+        case 1:
+          cb.call(context, this.get(dims[0], i2), i2);
+          break;
+        case 2:
+          cb.call(context, this.get(dims[0], i2), this.get(dims[1], i2), i2);
+          break;
+        default:
+          var k2 = 0;
+          var value = [];
+          for (; k2 < dimSize; k2++) {
+            value[k2] = this.get(dims[k2], i2);
+          }
+          value[k2] = i2;
+          cb.apply(context, value);
+      }
+    }
+  };
+  listProto.filterSelf = function(dimensions, cb, context, contextCompat) {
+    if (!this._count) {
+      return;
+    }
+    if (typeof dimensions === "function") {
+      contextCompat = context;
+      context = cb;
+      cb = dimensions;
+      dimensions = [];
+    }
+    context = context || contextCompat || this;
+    dimensions = zrUtil2.map(normalizeDimensions2(dimensions), this.getDimension, this);
+    var count2 = this.count();
+    var Ctor = getIndicesCtor2(this);
+    var newIndices = new Ctor(count2);
+    var value = [];
+    var dimSize = dimensions.length;
+    var offset2 = 0;
+    var dim0 = dimensions[0];
+    for (var i2 = 0; i2 < count2; i2++) {
+      var keep;
+      var rawIdx = this.getRawIndex(i2);
+      if (dimSize === 0) {
+        keep = cb.call(context, i2);
+      } else if (dimSize === 1) {
+        var val = this._getFast(dim0, rawIdx);
+        keep = cb.call(context, val, i2);
+      } else {
+        for (var k2 = 0; k2 < dimSize; k2++) {
+          value[k2] = this._getFast(dim0, rawIdx);
+        }
+        value[k2] = i2;
+        keep = cb.apply(context, value);
+      }
+      if (keep) {
+        newIndices[offset2++] = rawIdx;
+      }
+    }
+    if (offset2 < count2) {
+      this._indices = newIndices;
+    }
+    this._count = offset2;
+    this._extent = {};
+    this.getRawIndex = this._indices ? getRawIndexWithIndices : getRawIndexWithoutIndices;
+    return this;
+  };
+  listProto.selectRange = function(range2) {
+    if (!this._count) {
+      return;
+    }
+    var dimensions = [];
+    for (var dim in range2) {
+      if (range2.hasOwnProperty(dim)) {
+        dimensions.push(dim);
+      }
+    }
+    var dimSize = dimensions.length;
+    if (!dimSize) {
+      return;
+    }
+    var originalCount = this.count();
+    var Ctor = getIndicesCtor2(this);
+    var newIndices = new Ctor(originalCount);
+    var offset2 = 0;
+    var dim0 = dimensions[0];
+    var min3 = range2[dim0][0];
+    var max3 = range2[dim0][1];
+    var quickFinished = false;
+    if (!this._indices) {
+      var idx = 0;
+      if (dimSize === 1) {
+        var dimStorage = this._storage[dimensions[0]];
+        for (var k2 = 0; k2 < this._chunkCount; k2++) {
+          var chunkStorage = dimStorage[k2];
+          var len2 = Math.min(this._count - k2 * this._chunkSize, this._chunkSize);
+          for (var i2 = 0; i2 < len2; i2++) {
+            var val = chunkStorage[i2];
+            if (val >= min3 && val <= max3 || isNaN(val)) {
+              newIndices[offset2++] = idx;
+            }
+            idx++;
+          }
+        }
+        quickFinished = true;
+      } else if (dimSize === 2) {
+        var dimStorage = this._storage[dim0];
+        var dimStorage2 = this._storage[dimensions[1]];
+        var min22 = range2[dimensions[1]][0];
+        var max22 = range2[dimensions[1]][1];
+        for (var k2 = 0; k2 < this._chunkCount; k2++) {
+          var chunkStorage = dimStorage[k2];
+          var chunkStorage2 = dimStorage2[k2];
+          var len2 = Math.min(this._count - k2 * this._chunkSize, this._chunkSize);
+          for (var i2 = 0; i2 < len2; i2++) {
+            var val = chunkStorage[i2];
+            var val2 = chunkStorage2[i2];
+            if ((val >= min3 && val <= max3 || isNaN(val)) && (val2 >= min22 && val2 <= max22 || isNaN(val2))) {
+              newIndices[offset2++] = idx;
+            }
+            idx++;
+          }
+        }
+        quickFinished = true;
+      }
+    }
+    if (!quickFinished) {
+      if (dimSize === 1) {
+        for (var i2 = 0; i2 < originalCount; i2++) {
+          var rawIndex = this.getRawIndex(i2);
+          var val = this._getFast(dim0, rawIndex);
+          if (val >= min3 && val <= max3 || isNaN(val)) {
+            newIndices[offset2++] = rawIndex;
+          }
+        }
+      } else {
+        for (var i2 = 0; i2 < originalCount; i2++) {
+          var keep = true;
+          var rawIndex = this.getRawIndex(i2);
+          for (var k2 = 0; k2 < dimSize; k2++) {
+            var dimk = dimensions[k2];
+            var val = this._getFast(dim, rawIndex);
+            if (val < range2[dimk][0] || val > range2[dimk][1]) {
+              keep = false;
+            }
+          }
+          if (keep) {
+            newIndices[offset2++] = this.getRawIndex(i2);
+          }
+        }
+      }
+    }
+    if (offset2 < originalCount) {
+      this._indices = newIndices;
+    }
+    this._count = offset2;
+    this._extent = {};
+    this.getRawIndex = this._indices ? getRawIndexWithIndices : getRawIndexWithoutIndices;
+    return this;
+  };
+  listProto.mapArray = function(dimensions, cb, context, contextCompat) {
+    if (typeof dimensions === "function") {
+      contextCompat = context;
+      context = cb;
+      cb = dimensions;
+      dimensions = [];
+    }
+    context = context || contextCompat || this;
+    var result2 = [];
+    this.each(dimensions, function() {
+      result2.push(cb && cb.apply(this, arguments));
+    }, context);
+    return result2;
+  };
+  function cloneListForMapAndSample2(original, excludeDimensions) {
+    var allDimensions = original.dimensions;
+    var list2 = new List(zrUtil2.map(allDimensions, original.getDimensionInfo, original), original.hostModel);
+    transferProperties2(list2, original);
+    var storage2 = list2._storage = {};
+    var originalStorage = original._storage;
+    for (var i2 = 0; i2 < allDimensions.length; i2++) {
+      var dim = allDimensions[i2];
+      if (originalStorage[dim]) {
+        if (zrUtil2.indexOf(excludeDimensions, dim) >= 0) {
+          storage2[dim] = cloneDimStore(originalStorage[dim]);
+          list2._rawExtent[dim] = getInitialExtent2();
+          list2._extent[dim] = null;
+        } else {
+          storage2[dim] = originalStorage[dim];
+        }
+      }
+    }
+    return list2;
+  }
+  function cloneDimStore(originalDimStore) {
+    var newDimStore = new Array(originalDimStore.length);
+    for (var j2 = 0; j2 < originalDimStore.length; j2++) {
+      newDimStore[j2] = cloneChunk2(originalDimStore[j2]);
+    }
+    return newDimStore;
+  }
+  function getInitialExtent2() {
+    return [Infinity, -Infinity];
+  }
+  listProto.map = function(dimensions, cb, context, contextCompat) {
+    context = context || contextCompat || this;
+    dimensions = zrUtil2.map(normalizeDimensions2(dimensions), this.getDimension, this);
+    var list2 = cloneListForMapAndSample2(this, dimensions);
+    list2._indices = this._indices;
+    list2.getRawIndex = list2._indices ? getRawIndexWithIndices : getRawIndexWithoutIndices;
+    var storage2 = list2._storage;
+    var tmpRetValue = [];
+    var chunkSize = this._chunkSize;
+    var dimSize = dimensions.length;
+    var dataCount = this.count();
+    var values = [];
+    var rawExtent = list2._rawExtent;
+    for (var dataIndex = 0; dataIndex < dataCount; dataIndex++) {
+      for (var dimIndex = 0; dimIndex < dimSize; dimIndex++) {
+        values[dimIndex] = this.get(
+          dimensions[dimIndex],
+          dataIndex
+          /*, stack */
+        );
+      }
+      values[dimSize] = dataIndex;
+      var retValue = cb && cb.apply(context, values);
+      if (retValue != null) {
+        if (typeof retValue !== "object") {
+          tmpRetValue[0] = retValue;
+          retValue = tmpRetValue;
+        }
+        var rawIndex = this.getRawIndex(dataIndex);
+        var chunkIndex = Math.floor(rawIndex / chunkSize);
+        var chunkOffset = rawIndex % chunkSize;
+        for (var i2 = 0; i2 < retValue.length; i2++) {
+          var dim = dimensions[i2];
+          var val = retValue[i2];
+          var rawExtentOnDim = rawExtent[dim];
+          var dimStore = storage2[dim];
+          if (dimStore) {
+            dimStore[chunkIndex][chunkOffset] = val;
+          }
+          if (val < rawExtentOnDim[0]) {
+            rawExtentOnDim[0] = val;
+          }
+          if (val > rawExtentOnDim[1]) {
+            rawExtentOnDim[1] = val;
+          }
+        }
+      }
+    }
+    return list2;
+  };
+  listProto.downSample = function(dimension, rate, sampleValue, sampleIndex) {
+    var list2 = cloneListForMapAndSample2(this, [dimension]);
+    var targetStorage = list2._storage;
+    var frameValues = [];
+    var frameSize = Math.floor(1 / rate);
+    var dimStore = targetStorage[dimension];
+    var len2 = this.count();
+    var chunkSize = this._chunkSize;
+    var rawExtentOnDim = list2._rawExtent[dimension];
+    var newIndices = new (getIndicesCtor2(this))(len2);
+    var offset2 = 0;
+    for (var i2 = 0; i2 < len2; i2 += frameSize) {
+      if (frameSize > len2 - i2) {
+        frameSize = len2 - i2;
+        frameValues.length = frameSize;
+      }
+      for (var k2 = 0; k2 < frameSize; k2++) {
+        var dataIdx = this.getRawIndex(i2 + k2);
+        var originalChunkIndex = Math.floor(dataIdx / chunkSize);
+        var originalChunkOffset = dataIdx % chunkSize;
+        frameValues[k2] = dimStore[originalChunkIndex][originalChunkOffset];
+      }
+      var value = sampleValue(frameValues);
+      var sampleFrameIdx = this.getRawIndex(Math.min(i2 + sampleIndex(frameValues, value) || 0, len2 - 1));
+      var sampleChunkIndex = Math.floor(sampleFrameIdx / chunkSize);
+      var sampleChunkOffset = sampleFrameIdx % chunkSize;
+      dimStore[sampleChunkIndex][sampleChunkOffset] = value;
+      if (value < rawExtentOnDim[0]) {
+        rawExtentOnDim[0] = value;
+      }
+      if (value > rawExtentOnDim[1]) {
+        rawExtentOnDim[1] = value;
+      }
+      newIndices[offset2++] = sampleFrameIdx;
+    }
+    list2._count = offset2;
+    list2._indices = newIndices;
+    list2.getRawIndex = getRawIndexWithIndices;
+    return list2;
+  };
+  listProto.getItemModel = function(idx) {
+    var hostModel = this.hostModel;
+    return new Model2(this.getRawDataItem(idx), hostModel, hostModel && hostModel.ecModel);
+  };
+  listProto.diff = function(otherList) {
+    var thisList = this;
+    return new DataDiffer2(otherList ? otherList.getIndices() : [], this.getIndices(), function(idx) {
+      return getId2(otherList, idx);
+    }, function(idx) {
+      return getId2(thisList, idx);
+    });
+  };
+  listProto.getVisual = function(key2) {
+    var visual = this._visual;
+    return visual && visual[key2];
+  };
+  listProto.setVisual = function(key2, val) {
+    if (isObject2(key2)) {
+      for (var name2 in key2) {
+        if (key2.hasOwnProperty(name2)) {
+          this.setVisual(name2, key2[name2]);
+        }
+      }
+      return;
+    }
+    this._visual = this._visual || {};
+    this._visual[key2] = val;
+  };
+  listProto.setLayout = function(key2, val) {
+    if (isObject2(key2)) {
+      for (var name2 in key2) {
+        if (key2.hasOwnProperty(name2)) {
+          this.setLayout(name2, key2[name2]);
+        }
+      }
+      return;
+    }
+    this._layout[key2] = val;
+  };
+  listProto.getLayout = function(key2) {
+    return this._layout[key2];
+  };
+  listProto.getItemLayout = function(idx) {
+    return this._itemLayouts[idx];
+  };
+  listProto.setItemLayout = function(idx, layout2, merge2) {
+    this._itemLayouts[idx] = merge2 ? zrUtil2.extend(this._itemLayouts[idx] || {}, layout2) : layout2;
+  };
+  listProto.clearItemLayouts = function() {
+    this._itemLayouts.length = 0;
+  };
+  listProto.getItemVisual = function(idx, key2, ignoreParent) {
+    var itemVisual = this._itemVisuals[idx];
+    var val = itemVisual && itemVisual[key2];
+    if (val == null && !ignoreParent) {
+      return this.getVisual(key2);
+    }
+    return val;
+  };
+  listProto.setItemVisual = function(idx, key2, value) {
+    var itemVisual = this._itemVisuals[idx] || {};
+    var hasItemVisual = this.hasItemVisual;
+    this._itemVisuals[idx] = itemVisual;
+    if (isObject2(key2)) {
+      for (var name2 in key2) {
+        if (key2.hasOwnProperty(name2)) {
+          itemVisual[name2] = key2[name2];
+          hasItemVisual[name2] = true;
+        }
+      }
+      return;
+    }
+    itemVisual[key2] = value;
+    hasItemVisual[key2] = true;
+  };
+  listProto.clearAllVisual = function() {
+    this._visual = {};
+    this._itemVisuals = [];
+    this.hasItemVisual = {};
+  };
+  var setItemDataAndSeriesIndex = function(child) {
+    child.seriesIndex = this.seriesIndex;
+    child.dataIndex = this.dataIndex;
+    child.dataType = this.dataType;
+  };
+  listProto.setItemGraphicEl = function(idx, el) {
+    var hostModel = this.hostModel;
+    if (el) {
+      el.dataIndex = idx;
+      el.dataType = this.dataType;
+      el.seriesIndex = hostModel && hostModel.seriesIndex;
+      if (el.type === "group") {
+        el.traverse(setItemDataAndSeriesIndex, el);
+      }
+    }
+    this._graphicEls[idx] = el;
+  };
+  listProto.getItemGraphicEl = function(idx) {
+    return this._graphicEls[idx];
+  };
+  listProto.eachItemGraphicEl = function(cb, context) {
+    zrUtil2.each(this._graphicEls, function(el, idx) {
+      if (el) {
+        cb && cb.call(context, el, idx);
+      }
+    });
+  };
+  listProto.cloneShallow = function(list2) {
+    if (!list2) {
+      var dimensionInfoList = zrUtil2.map(this.dimensions, this.getDimensionInfo, this);
+      list2 = new List(dimensionInfoList, this.hostModel);
+    }
+    list2._storage = this._storage;
+    transferProperties2(list2, this);
+    if (this._indices) {
+      var Ctor = this._indices.constructor;
+      list2._indices = new Ctor(this._indices);
+    } else {
+      list2._indices = null;
+    }
+    list2.getRawIndex = list2._indices ? getRawIndexWithIndices : getRawIndexWithoutIndices;
+    return list2;
+  };
+  listProto.wrapMethod = function(methodName, injectFunction) {
+    var originalMethod = this[methodName];
+    if (typeof originalMethod !== "function") {
+      return;
+    }
+    this.__wrappedMethods = this.__wrappedMethods || [];
+    this.__wrappedMethods.push(methodName);
+    this[methodName] = function() {
+      var res = originalMethod.apply(this, arguments);
+      return injectFunction.apply(this, [res].concat(zrUtil2.slice(arguments)));
+    };
+  };
+  listProto.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "map"];
+  listProto.CHANGABLE_METHODS = ["filterSelf", "selectRange"];
+  var _default68 = List;
+  List_1 = _default68;
+  return List_1;
+}
+var completeDimensions_1;
+var hasRequiredCompleteDimensions;
+function requireCompleteDimensions() {
+  if (hasRequiredCompleteDimensions)
+    return completeDimensions_1;
+  hasRequiredCompleteDimensions = 1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  var each2 = _util2.each;
+  var isString2 = _util2.isString;
+  var defaults2 = _util2.defaults;
+  var extend2 = _util2.extend;
+  var isObject2 = _util2.isObject;
+  var clone2 = _util2.clone;
+  var _model2 = model;
+  var normalizeToArray2 = _model2.normalizeToArray;
+  var _sourceHelper2 = requireSourceHelper();
+  var guessOrdinal2 = _sourceHelper2.guessOrdinal;
+  var BE_ORDINAL2 = _sourceHelper2.BE_ORDINAL;
+  var Source2 = requireSource();
+  var _dimensionHelper = requireDimensionHelper();
+  var OTHER_DIMENSIONS = _dimensionHelper.OTHER_DIMENSIONS;
+  var DataDimensionInfo = requireDataDimensionInfo();
+  function completeDimensions(sysDims, source2, opt) {
+    if (!Source2.isInstance(source2)) {
+      source2 = Source2.seriesDataToSource(source2);
+    }
+    opt = opt || {};
+    sysDims = (sysDims || []).slice();
+    var dimsDef = (opt.dimsDef || []).slice();
+    var dataDimNameMap = createHashMap2();
+    var coordDimNameMap = createHashMap2();
+    var result2 = [];
+    var dimCount = getDimCount2(source2, sysDims, dimsDef, opt.dimCount);
+    for (var i2 = 0; i2 < dimCount; i2++) {
+      var dimDefItem = dimsDef[i2] = extend2({}, isObject2(dimsDef[i2]) ? dimsDef[i2] : {
+        name: dimsDef[i2]
+      });
+      var userDimName = dimDefItem.name;
+      var resultItem = result2[i2] = new DataDimensionInfo();
+      if (userDimName != null && dataDimNameMap.get(userDimName) == null) {
+        resultItem.name = resultItem.displayName = userDimName;
+        dataDimNameMap.set(userDimName, i2);
+      }
+      dimDefItem.type != null && (resultItem.type = dimDefItem.type);
+      dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);
+    }
+    var encodeDef = opt.encodeDef;
+    if (!encodeDef && opt.encodeDefaulter) {
+      encodeDef = opt.encodeDefaulter(source2, dimCount);
+    }
+    encodeDef = createHashMap2(encodeDef);
+    encodeDef.each(function(dataDims, coordDim2) {
+      dataDims = normalizeToArray2(dataDims).slice();
+      if (dataDims.length === 1 && !isString2(dataDims[0]) && dataDims[0] < 0) {
+        encodeDef.set(coordDim2, false);
+        return;
+      }
+      var validDataDims = encodeDef.set(coordDim2, []);
+      each2(dataDims, function(resultDimIdx2, idx) {
+        isString2(resultDimIdx2) && (resultDimIdx2 = dataDimNameMap.get(resultDimIdx2));
+        if (resultDimIdx2 != null && resultDimIdx2 < dimCount) {
+          validDataDims[idx] = resultDimIdx2;
+          applyDim(result2[resultDimIdx2], coordDim2, idx);
+        }
+      });
+    });
+    var availDimIdx = 0;
+    each2(sysDims, function(sysDimItem, sysDimIndex) {
+      var coordDim2;
+      var sysDimItem;
+      var sysDimItemDimsDef;
+      var sysDimItemOtherDims;
+      if (isString2(sysDimItem)) {
+        coordDim2 = sysDimItem;
+        sysDimItem = {};
+      } else {
+        coordDim2 = sysDimItem.name;
+        var ordinalMeta = sysDimItem.ordinalMeta;
+        sysDimItem.ordinalMeta = null;
+        sysDimItem = clone2(sysDimItem);
+        sysDimItem.ordinalMeta = ordinalMeta;
+        sysDimItemDimsDef = sysDimItem.dimsDef;
+        sysDimItemOtherDims = sysDimItem.otherDims;
+        sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;
+      }
+      var dataDims = encodeDef.get(coordDim2);
+      if (dataDims === false) {
+        return;
+      }
+      var dataDims = normalizeToArray2(dataDims);
+      if (!dataDims.length) {
+        for (var i3 = 0; i3 < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i3++) {
+          while (availDimIdx < result2.length && result2[availDimIdx].coordDim != null) {
+            availDimIdx++;
+          }
+          availDimIdx < result2.length && dataDims.push(availDimIdx++);
+        }
+      }
+      each2(dataDims, function(resultDimIdx2, coordDimIndex) {
+        var resultItem2 = result2[resultDimIdx2];
+        applyDim(defaults2(resultItem2, sysDimItem), coordDim2, coordDimIndex);
+        if (resultItem2.name == null && sysDimItemDimsDef) {
+          var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];
+          !isObject2(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {
+            name: sysDimItemDimsDefItem
+          });
+          resultItem2.name = resultItem2.displayName = sysDimItemDimsDefItem.name;
+          resultItem2.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;
+        }
+        sysDimItemOtherDims && defaults2(resultItem2.otherDims, sysDimItemOtherDims);
+      });
+    });
+    function applyDim(resultItem2, coordDim2, coordDimIndex) {
+      if (OTHER_DIMENSIONS.get(coordDim2) != null) {
+        resultItem2.otherDims[coordDim2] = coordDimIndex;
+      } else {
+        resultItem2.coordDim = coordDim2;
+        resultItem2.coordDimIndex = coordDimIndex;
+        coordDimNameMap.set(coordDim2, true);
+      }
+    }
+    var generateCoord = opt.generateCoord;
+    var generateCoordCount = opt.generateCoordCount;
+    var fromZero = generateCoordCount != null;
+    generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;
+    var extra = generateCoord || "value";
+    for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {
+      var resultItem = result2[resultDimIdx] = result2[resultDimIdx] || new DataDimensionInfo();
+      var coordDim = resultItem.coordDim;
+      if (coordDim == null) {
+        resultItem.coordDim = genName(extra, coordDimNameMap, fromZero);
+        resultItem.coordDimIndex = 0;
+        if (!generateCoord || generateCoordCount <= 0) {
+          resultItem.isExtraCoord = true;
+        }
+        generateCoordCount--;
+      }
+      resultItem.name == null && (resultItem.name = genName(resultItem.coordDim, dataDimNameMap));
+      if (resultItem.type == null && (guessOrdinal2(source2, resultDimIdx, resultItem.name) === BE_ORDINAL2.Must || resultItem.isExtraCoord && (resultItem.otherDims.itemName != null || resultItem.otherDims.seriesName != null))) {
+        resultItem.type = "ordinal";
+      }
+    }
+    return result2;
+  }
+  function getDimCount2(source2, sysDims, dimsDef, optDimCount) {
+    var dimCount = Math.max(source2.dimensionsDetectCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);
+    each2(sysDims, function(sysDimItem) {
+      var sysDimItemDimsDef = sysDimItem.dimsDef;
+      sysDimItemDimsDef && (dimCount = Math.max(dimCount, sysDimItemDimsDef.length));
+    });
+    return dimCount;
+  }
+  function genName(name2, map2, fromZero) {
+    if (fromZero || map2.get(name2) != null) {
+      var i2 = 0;
+      while (map2.get(name2 + i2) != null) {
+        i2++;
+      }
+      name2 += i2;
+    }
+    map2.set(name2, true);
+    return name2;
+  }
+  var _default68 = completeDimensions;
+  completeDimensions_1 = _default68;
+  return completeDimensions_1;
+}
+var createDimensions$1;
+var hasRequiredCreateDimensions;
+function requireCreateDimensions() {
+  if (hasRequiredCreateDimensions)
+    return createDimensions$1;
+  hasRequiredCreateDimensions = 1;
+  var completeDimensions = requireCompleteDimensions();
+  function _default68(source2, opt) {
+    opt = opt || {};
+    return completeDimensions(opt.coordDimensions || [], source2, {
+      dimsDef: opt.dimensionsDefine || source2.dimensionsDefine,
+      encodeDef: opt.encodeDefine || source2.encodeDefine,
+      dimCount: opt.dimensionsCount,
+      encodeDefaulter: opt.encodeDefaulter,
+      generateCoord: opt.generateCoord,
+      generateCoordCount: opt.generateCoordCount
+    });
+  }
+  createDimensions$1 = _default68;
+  return createDimensions$1;
+}
+var referHelper = {};
+var hasRequiredReferHelper;
+function requireReferHelper() {
+  if (hasRequiredReferHelper)
+    return referHelper;
+  hasRequiredReferHelper = 1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  _util2.retrieve;
+  var each2 = _util2.each;
+  function CoordSysInfo2(coordSysName) {
+    this.coordSysName = coordSysName;
+    this.coordSysDims = [];
+    this.axisMap = createHashMap2();
+    this.categoryAxisMap = createHashMap2();
+    this.firstCategoryDimIndex = null;
+  }
+  function getCoordSysInfoBySeries2(seriesModel) {
+    var coordSysName = seriesModel.get("coordinateSystem");
+    var result2 = new CoordSysInfo2(coordSysName);
+    var fetch2 = fetchers2[coordSysName];
+    if (fetch2) {
+      fetch2(seriesModel, result2, result2.axisMap, result2.categoryAxisMap);
+      return result2;
+    }
+  }
+  var fetchers2 = {
+    cartesian2d: function(seriesModel, result2, axisMap, categoryAxisMap) {
+      var xAxisModel = seriesModel.getReferringComponents("xAxis")[0];
+      var yAxisModel = seriesModel.getReferringComponents("yAxis")[0];
+      result2.coordSysDims = ["x", "y"];
+      axisMap.set("x", xAxisModel);
+      axisMap.set("y", yAxisModel);
+      if (isCategory2(xAxisModel)) {
+        categoryAxisMap.set("x", xAxisModel);
+        result2.firstCategoryDimIndex = 0;
+      }
+      if (isCategory2(yAxisModel)) {
+        categoryAxisMap.set("y", yAxisModel);
+        result2.firstCategoryDimIndex == null & (result2.firstCategoryDimIndex = 1);
+      }
+    },
+    singleAxis: function(seriesModel, result2, axisMap, categoryAxisMap) {
+      var singleAxisModel = seriesModel.getReferringComponents("singleAxis")[0];
+      result2.coordSysDims = ["single"];
+      axisMap.set("single", singleAxisModel);
+      if (isCategory2(singleAxisModel)) {
+        categoryAxisMap.set("single", singleAxisModel);
+        result2.firstCategoryDimIndex = 0;
+      }
+    },
+    polar: function(seriesModel, result2, axisMap, categoryAxisMap) {
+      var polarModel = seriesModel.getReferringComponents("polar")[0];
+      var radiusAxisModel = polarModel.findAxisModel("radiusAxis");
+      var angleAxisModel = polarModel.findAxisModel("angleAxis");
+      result2.coordSysDims = ["radius", "angle"];
+      axisMap.set("radius", radiusAxisModel);
+      axisMap.set("angle", angleAxisModel);
+      if (isCategory2(radiusAxisModel)) {
+        categoryAxisMap.set("radius", radiusAxisModel);
+        result2.firstCategoryDimIndex = 0;
+      }
+      if (isCategory2(angleAxisModel)) {
+        categoryAxisMap.set("angle", angleAxisModel);
+        result2.firstCategoryDimIndex == null && (result2.firstCategoryDimIndex = 1);
+      }
+    },
+    geo: function(seriesModel, result2, axisMap, categoryAxisMap) {
+      result2.coordSysDims = ["lng", "lat"];
+    },
+    parallel: function(seriesModel, result2, axisMap, categoryAxisMap) {
+      var ecModel = seriesModel.ecModel;
+      var parallelModel = ecModel.getComponent("parallel", seriesModel.get("parallelIndex"));
+      var coordSysDims = result2.coordSysDims = parallelModel.dimensions.slice();
+      each2(parallelModel.parallelAxisIndex, function(axisIndex, index3) {
+        var axisModel = ecModel.getComponent("parallelAxis", axisIndex);
+        var axisDim = coordSysDims[index3];
+        axisMap.set(axisDim, axisModel);
+        if (isCategory2(axisModel) && result2.firstCategoryDimIndex == null) {
+          categoryAxisMap.set(axisDim, axisModel);
+          result2.firstCategoryDimIndex = index3;
+        }
+      });
+    }
+  };
+  function isCategory2(axisModel) {
+    return axisModel.get("type") === "category";
+  }
+  referHelper.getCoordSysInfoBySeries = getCoordSysInfoBySeries2;
+  return referHelper;
+}
+var dataStackHelper = {};
+var hasRequiredDataStackHelper;
+function requireDataStackHelper() {
+  if (hasRequiredDataStackHelper)
+    return dataStackHelper;
+  hasRequiredDataStackHelper = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var isString2 = _util2.isString;
+  function enableDataStack2(seriesModel, dimensionInfoList, opt) {
+    opt = opt || {};
+    var byIndex = opt.byIndex;
+    var stackedCoordDimension = opt.stackedCoordDimension;
+    var mayStack = !!(seriesModel && seriesModel.get("stack"));
+    var stackedByDimInfo;
+    var stackedDimInfo;
+    var stackResultDimension;
+    var stackedOverDimension;
+    each2(dimensionInfoList, function(dimensionInfo, index3) {
+      if (isString2(dimensionInfo)) {
+        dimensionInfoList[index3] = dimensionInfo = {
+          name: dimensionInfo
+        };
+      }
+      if (mayStack && !dimensionInfo.isExtraCoord) {
+        if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {
+          stackedByDimInfo = dimensionInfo;
+        }
+        if (!stackedDimInfo && dimensionInfo.type !== "ordinal" && dimensionInfo.type !== "time" && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {
+          stackedDimInfo = dimensionInfo;
+        }
+      }
+    });
+    if (stackedDimInfo && !byIndex && !stackedByDimInfo) {
+      byIndex = true;
+    }
+    if (stackedDimInfo) {
+      stackResultDimension = "__\0ecstackresult";
+      stackedOverDimension = "__\0ecstackedover";
+      if (stackedByDimInfo) {
+        stackedByDimInfo.createInvertedIndices = true;
+      }
+      var stackedDimCoordDim = stackedDimInfo.coordDim;
+      var stackedDimType = stackedDimInfo.type;
+      var stackedDimCoordIndex = 0;
+      each2(dimensionInfoList, function(dimensionInfo) {
+        if (dimensionInfo.coordDim === stackedDimCoordDim) {
+          stackedDimCoordIndex++;
+        }
+      });
+      dimensionInfoList.push({
+        name: stackResultDimension,
+        coordDim: stackedDimCoordDim,
+        coordDimIndex: stackedDimCoordIndex,
+        type: stackedDimType,
+        isExtraCoord: true,
+        isCalculationCoord: true
+      });
+      stackedDimCoordIndex++;
+      dimensionInfoList.push({
+        name: stackedOverDimension,
+        // This dimension contains stack base (generally, 0), so do not set it as
+        // `stackedDimCoordDim` to avoid extent calculation, consider log scale.
+        coordDim: stackedOverDimension,
+        coordDimIndex: stackedDimCoordIndex,
+        type: stackedDimType,
+        isExtraCoord: true,
+        isCalculationCoord: true
+      });
+    }
+    return {
+      stackedDimension: stackedDimInfo && stackedDimInfo.name,
+      stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,
+      isStackedByIndex: byIndex,
+      stackedOverDimension,
+      stackResultDimension
+    };
+  }
+  function isDimensionStacked2(data2, stackedDim) {
+    return !!stackedDim && stackedDim === data2.getCalculationInfo("stackedDimension");
+  }
+  function getStackedDimension2(data2, targetDim) {
+    return isDimensionStacked2(data2, targetDim) ? data2.getCalculationInfo("stackResultDimension") : targetDim;
+  }
+  dataStackHelper.enableDataStack = enableDataStack2;
+  dataStackHelper.isDimensionStacked = isDimensionStacked2;
+  dataStackHelper.getStackedDimension = getStackedDimension2;
+  return dataStackHelper;
+}
+var createListFromArray_1;
+var hasRequiredCreateListFromArray;
+function requireCreateListFromArray() {
+  if (hasRequiredCreateListFromArray)
+    return createListFromArray_1;
+  hasRequiredCreateListFromArray = 1;
+  var zrUtil2 = util$a;
+  var List = requireList();
+  var createDimensions2 = requireCreateDimensions();
+  var _sourceType2 = requireSourceType();
+  var SOURCE_FORMAT_ORIGINAL2 = _sourceType2.SOURCE_FORMAT_ORIGINAL;
+  var _dimensionHelper = requireDimensionHelper();
+  var getDimensionTypeByAxis2 = _dimensionHelper.getDimensionTypeByAxis;
+  var _model2 = model;
+  var getDataItemValue2 = _model2.getDataItemValue;
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var _referHelper = requireReferHelper();
+  var getCoordSysInfoBySeries2 = _referHelper.getCoordSysInfoBySeries;
+  var Source2 = requireSource();
+  var _dataStackHelper = requireDataStackHelper();
+  var enableDataStack2 = _dataStackHelper.enableDataStack;
+  var _sourceHelper2 = requireSourceHelper();
+  var makeSeriesEncodeForAxisCoordSys2 = _sourceHelper2.makeSeriesEncodeForAxisCoordSys;
+  function createListFromArray(source2, seriesModel, opt) {
+    opt = opt || {};
+    if (!Source2.isInstance(source2)) {
+      source2 = Source2.seriesDataToSource(source2);
+    }
+    var coordSysName = seriesModel.get("coordinateSystem");
+    var registeredCoordSys = CoordinateSystem2.get(coordSysName);
+    var coordSysInfo = getCoordSysInfoBySeries2(seriesModel);
+    var coordSysDimDefs;
+    if (coordSysInfo) {
+      coordSysDimDefs = zrUtil2.map(coordSysInfo.coordSysDims, function(dim) {
+        var dimInfo = {
+          name: dim
+        };
+        var axisModel = coordSysInfo.axisMap.get(dim);
+        if (axisModel) {
+          var axisType = axisModel.get("type");
+          dimInfo.type = getDimensionTypeByAxis2(axisType);
+        }
+        return dimInfo;
+      });
+    }
+    if (!coordSysDimDefs) {
+      coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ["x", "y"];
+    }
+    var dimInfoList = createDimensions2(source2, {
+      coordDimensions: coordSysDimDefs,
+      generateCoord: opt.generateCoord,
+      encodeDefaulter: opt.useEncodeDefaulter ? zrUtil2.curry(makeSeriesEncodeForAxisCoordSys2, coordSysDimDefs, seriesModel) : null
+    });
+    var firstCategoryDimIndex;
+    var hasNameEncode;
+    coordSysInfo && zrUtil2.each(dimInfoList, function(dimInfo, dimIndex) {
+      var coordDim = dimInfo.coordDim;
+      var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);
+      if (categoryAxisModel) {
+        if (firstCategoryDimIndex == null) {
+          firstCategoryDimIndex = dimIndex;
+        }
+        dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();
+      }
+      if (dimInfo.otherDims.itemName != null) {
+        hasNameEncode = true;
+      }
+    });
+    if (!hasNameEncode && firstCategoryDimIndex != null) {
+      dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;
+    }
+    var stackCalculationInfo = enableDataStack2(seriesModel, dimInfoList);
+    var list2 = new List(dimInfoList, seriesModel);
+    list2.setCalculationInfo(stackCalculationInfo);
+    var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData2(source2) ? function(itemOpt, dimName, dataIndex, dimIndex) {
+      return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);
+    } : null;
+    list2.hasItemOption = false;
+    list2.initData(source2, null, dimValueGetter);
+    return list2;
+  }
+  function isNeedCompleteOrdinalData2(source2) {
+    if (source2.sourceFormat === SOURCE_FORMAT_ORIGINAL2) {
+      var sampleItem = firstDataNotNull2(source2.data || []);
+      return sampleItem != null && !zrUtil2.isArray(getDataItemValue2(sampleItem));
+    }
+  }
+  function firstDataNotNull2(data2) {
+    var i2 = 0;
+    while (i2 < data2.length && data2[i2] == null) {
+      i2++;
+    }
+    return data2[i2];
+  }
+  var _default68 = createListFromArray;
+  createListFromArray_1 = _default68;
+  return createListFromArray_1;
+}
+var axisHelper = {};
+var Scale_1;
+var hasRequiredScale;
+function requireScale() {
+  if (hasRequiredScale)
+    return Scale_1;
+  hasRequiredScale = 1;
+  var clazzUtil2 = clazz;
+  function Scale2(setting) {
+    this._setting = setting || {};
+    this._extent = [Infinity, -Infinity];
+    this._interval = 0;
+    this.init && this.init.apply(this, arguments);
+  }
+  Scale2.prototype.parse = function(val) {
+    return val;
+  };
+  Scale2.prototype.getSetting = function(name2) {
+    return this._setting[name2];
+  };
+  Scale2.prototype.contain = function(val) {
+    var extent3 = this._extent;
+    return val >= extent3[0] && val <= extent3[1];
+  };
+  Scale2.prototype.normalize = function(val) {
+    var extent3 = this._extent;
+    if (extent3[1] === extent3[0]) {
+      return 0.5;
+    }
+    return (val - extent3[0]) / (extent3[1] - extent3[0]);
+  };
+  Scale2.prototype.scale = function(val) {
+    var extent3 = this._extent;
+    return val * (extent3[1] - extent3[0]) + extent3[0];
+  };
+  Scale2.prototype.unionExtent = function(other) {
+    var extent3 = this._extent;
+    other[0] < extent3[0] && (extent3[0] = other[0]);
+    other[1] > extent3[1] && (extent3[1] = other[1]);
+  };
+  Scale2.prototype.unionExtentFromData = function(data2, dim) {
+    this.unionExtent(data2.getApproximateExtent(dim));
+  };
+  Scale2.prototype.getExtent = function() {
+    return this._extent.slice();
+  };
+  Scale2.prototype.setExtent = function(start2, end2) {
+    var thisExtent = this._extent;
+    if (!isNaN(start2)) {
+      thisExtent[0] = start2;
+    }
+    if (!isNaN(end2)) {
+      thisExtent[1] = end2;
+    }
+  };
+  Scale2.prototype.isBlank = function() {
+    return this._isBlank;
+  }, /**
+   * When axis extent depends on data and no data exists,
+   * axis ticks should not be drawn, which is named 'blank'.
+   */
+  Scale2.prototype.setBlank = function(isBlank) {
+    this._isBlank = isBlank;
+  };
+  Scale2.prototype.getLabel = null;
+  clazzUtil2.enableClassExtend(Scale2);
+  clazzUtil2.enableClassManagement(Scale2, {
+    registerWhenExtend: true
+  });
+  var _default68 = Scale2;
+  Scale_1 = _default68;
+  return Scale_1;
+}
+var OrdinalMeta_1;
+var hasRequiredOrdinalMeta;
+function requireOrdinalMeta() {
+  if (hasRequiredOrdinalMeta)
+    return OrdinalMeta_1;
+  hasRequiredOrdinalMeta = 1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  var isObject2 = _util2.isObject;
+  var map2 = _util2.map;
+  function OrdinalMeta2(opt) {
+    this.categories = opt.categories || [];
+    this._needCollect = opt.needCollect;
+    this._deduplication = opt.deduplication;
+    this._map;
+  }
+  OrdinalMeta2.createByAxisModel = function(axisModel) {
+    var option = axisModel.option;
+    var data2 = option.data;
+    var categories = data2 && map2(data2, getName2);
+    return new OrdinalMeta2({
+      categories,
+      needCollect: !categories,
+      // deduplication is default in axis.
+      deduplication: option.dedplication !== false
+    });
+  };
+  var proto2 = OrdinalMeta2.prototype;
+  proto2.getOrdinal = function(category) {
+    return getOrCreateMap(this).get(category);
+  };
+  proto2.parseAndCollect = function(category) {
+    var index3;
+    var needCollect = this._needCollect;
+    if (typeof category !== "string" && !needCollect) {
+      return category;
+    }
+    if (needCollect && !this._deduplication) {
+      index3 = this.categories.length;
+      this.categories[index3] = category;
+      return index3;
+    }
+    var map3 = getOrCreateMap(this);
+    index3 = map3.get(category);
+    if (index3 == null) {
+      if (needCollect) {
+        index3 = this.categories.length;
+        this.categories[index3] = category;
+        map3.set(category, index3);
+      } else {
+        index3 = NaN;
+      }
+    }
+    return index3;
+  };
+  function getOrCreateMap(ordinalMeta) {
+    return ordinalMeta._map || (ordinalMeta._map = createHashMap2(ordinalMeta.categories));
+  }
+  function getName2(obj2) {
+    if (isObject2(obj2) && obj2.value != null) {
+      return obj2.value;
+    } else {
+      return obj2 + "";
+    }
+  }
+  var _default68 = OrdinalMeta2;
+  OrdinalMeta_1 = _default68;
+  return OrdinalMeta_1;
+}
+var Ordinal;
+var hasRequiredOrdinal;
+function requireOrdinal() {
+  if (hasRequiredOrdinal)
+    return Ordinal;
+  hasRequiredOrdinal = 1;
+  var zrUtil2 = util$a;
+  var Scale2 = requireScale();
+  var OrdinalMeta2 = requireOrdinalMeta();
+  var scaleProto2 = Scale2.prototype;
+  var OrdinalScale2 = Scale2.extend({
+    type: "ordinal",
+    /**
+     * @param {module:echarts/data/OrdianlMeta|Array.<string>} ordinalMeta
+     */
+    init: function(ordinalMeta, extent3) {
+      if (!ordinalMeta || zrUtil2.isArray(ordinalMeta)) {
+        ordinalMeta = new OrdinalMeta2({
+          categories: ordinalMeta
+        });
+      }
+      this._ordinalMeta = ordinalMeta;
+      this._extent = extent3 || [0, ordinalMeta.categories.length - 1];
+    },
+    parse: function(val) {
+      return typeof val === "string" ? this._ordinalMeta.getOrdinal(val) : Math.round(val);
+    },
+    contain: function(rank) {
+      rank = this.parse(rank);
+      return scaleProto2.contain.call(this, rank) && this._ordinalMeta.categories[rank] != null;
+    },
+    /**
+     * Normalize given rank or name to linear [0, 1]
+     * @param {number|string} [val]
+     * @return {number}
+     */
+    normalize: function(val) {
+      return scaleProto2.normalize.call(this, this.parse(val));
+    },
+    scale: function(val) {
+      return Math.round(scaleProto2.scale.call(this, val));
+    },
+    /**
+     * @return {Array}
+     */
+    getTicks: function() {
+      var ticks = [];
+      var extent3 = this._extent;
+      var rank = extent3[0];
+      while (rank <= extent3[1]) {
+        ticks.push(rank);
+        rank++;
+      }
+      return ticks;
+    },
+    /**
+     * Get item on rank n
+     * @param {number} n
+     * @return {string}
+     */
+    getLabel: function(n2) {
+      if (!this.isBlank()) {
+        return this._ordinalMeta.categories[n2];
+      }
+    },
+    /**
+     * @return {number}
+     */
+    count: function() {
+      return this._extent[1] - this._extent[0] + 1;
+    },
+    /**
+     * @override
+     */
+    unionExtentFromData: function(data2, dim) {
+      this.unionExtent(data2.getApproximateExtent(dim));
+    },
+    getOrdinalMeta: function() {
+      return this._ordinalMeta;
+    },
+    niceTicks: zrUtil2.noop,
+    niceExtent: zrUtil2.noop
+  });
+  OrdinalScale2.create = function() {
+    return new OrdinalScale2();
+  };
+  var _default68 = OrdinalScale2;
+  Ordinal = _default68;
+  return Ordinal;
+}
+var helper$5 = {};
+var hasRequiredHelper$5;
+function requireHelper$5() {
+  if (hasRequiredHelper$5)
+    return helper$5;
+  hasRequiredHelper$5 = 1;
+  var numberUtil2 = requireNumber();
+  var roundNumber2 = numberUtil2.round;
+  function intervalScaleNiceTicks2(extent3, splitNumber, minInterval, maxInterval) {
+    var result2 = {};
+    var span = extent3[1] - extent3[0];
+    var interval = result2.interval = numberUtil2.nice(span / splitNumber, true);
+    if (minInterval != null && interval < minInterval) {
+      interval = result2.interval = minInterval;
+    }
+    if (maxInterval != null && interval > maxInterval) {
+      interval = result2.interval = maxInterval;
+    }
+    var precision = result2.intervalPrecision = getIntervalPrecision2(interval);
+    var niceTickExtent = result2.niceTickExtent = [roundNumber2(Math.ceil(extent3[0] / interval) * interval, precision), roundNumber2(Math.floor(extent3[1] / interval) * interval, precision)];
+    fixExtent2(niceTickExtent, extent3);
+    return result2;
+  }
+  function getIntervalPrecision2(interval) {
+    return numberUtil2.getPrecisionSafe(interval) + 2;
+  }
+  function clamp2(niceTickExtent, idx, extent3) {
+    niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent3[1]), extent3[0]);
+  }
+  function fixExtent2(niceTickExtent, extent3) {
+    !isFinite(niceTickExtent[0]) && (niceTickExtent[0] = extent3[0]);
+    !isFinite(niceTickExtent[1]) && (niceTickExtent[1] = extent3[1]);
+    clamp2(niceTickExtent, 0, extent3);
+    clamp2(niceTickExtent, 1, extent3);
+    if (niceTickExtent[0] > niceTickExtent[1]) {
+      niceTickExtent[0] = niceTickExtent[1];
+    }
+  }
+  helper$5.intervalScaleNiceTicks = intervalScaleNiceTicks2;
+  helper$5.getIntervalPrecision = getIntervalPrecision2;
+  helper$5.fixExtent = fixExtent2;
+  return helper$5;
+}
+var Interval;
+var hasRequiredInterval;
+function requireInterval() {
+  if (hasRequiredInterval)
+    return Interval;
+  hasRequiredInterval = 1;
+  var numberUtil2 = requireNumber();
+  var formatUtil2 = format$6;
+  var Scale2 = requireScale();
+  var helper2 = requireHelper$5();
+  var roundNumber2 = numberUtil2.round;
+  var IntervalScale2 = Scale2.extend({
+    type: "interval",
+    _interval: 0,
+    _intervalPrecision: 2,
+    setExtent: function(start2, end2) {
+      var thisExtent = this._extent;
+      if (!isNaN(start2)) {
+        thisExtent[0] = parseFloat(start2);
+      }
+      if (!isNaN(end2)) {
+        thisExtent[1] = parseFloat(end2);
+      }
+    },
+    unionExtent: function(other) {
+      var extent3 = this._extent;
+      other[0] < extent3[0] && (extent3[0] = other[0]);
+      other[1] > extent3[1] && (extent3[1] = other[1]);
+      IntervalScale2.prototype.setExtent.call(this, extent3[0], extent3[1]);
+    },
+    /**
+     * Get interval
+     */
+    getInterval: function() {
+      return this._interval;
+    },
+    /**
+     * Set interval
+     */
+    setInterval: function(interval) {
+      this._interval = interval;
+      this._niceExtent = this._extent.slice();
+      this._intervalPrecision = helper2.getIntervalPrecision(interval);
+    },
+    /**
+     * @param {boolean} [expandToNicedExtent=false] If expand the ticks to niced extent.
+     * @return {Array.<number>}
+     */
+    getTicks: function(expandToNicedExtent) {
+      var interval = this._interval;
+      var extent3 = this._extent;
+      var niceTickExtent = this._niceExtent;
+      var intervalPrecision = this._intervalPrecision;
+      var ticks = [];
+      if (!interval) {
+        return ticks;
+      }
+      var safeLimit = 1e4;
+      if (extent3[0] < niceTickExtent[0]) {
+        if (expandToNicedExtent) {
+          ticks.push(roundNumber2(niceTickExtent[0] - interval, intervalPrecision));
+        } else {
+          ticks.push(extent3[0]);
+        }
+      }
+      var tick = niceTickExtent[0];
+      while (tick <= niceTickExtent[1]) {
+        ticks.push(tick);
+        tick = roundNumber2(tick + interval, intervalPrecision);
+        if (tick === ticks[ticks.length - 1]) {
+          break;
+        }
+        if (ticks.length > safeLimit) {
+          return [];
+        }
+      }
+      var lastNiceTick = ticks.length ? ticks[ticks.length - 1] : niceTickExtent[1];
+      if (extent3[1] > lastNiceTick) {
+        if (expandToNicedExtent) {
+          ticks.push(roundNumber2(lastNiceTick + interval, intervalPrecision));
+        } else {
+          ticks.push(extent3[1]);
+        }
+      }
+      return ticks;
+    },
+    /**
+     * @param {number} [splitNumber=5]
+     * @return {Array.<Array.<number>>}
+     */
+    getMinorTicks: function(splitNumber) {
+      var ticks = this.getTicks(true);
+      var minorTicks = [];
+      var extent3 = this.getExtent();
+      for (var i2 = 1; i2 < ticks.length; i2++) {
+        var nextTick2 = ticks[i2];
+        var prevTick = ticks[i2 - 1];
+        var count2 = 0;
+        var minorTicksGroup = [];
+        var interval = nextTick2 - prevTick;
+        var minorInterval = interval / splitNumber;
+        while (count2 < splitNumber - 1) {
+          var minorTick = numberUtil2.round(prevTick + (count2 + 1) * minorInterval);
+          if (minorTick > extent3[0] && minorTick < extent3[1]) {
+            minorTicksGroup.push(minorTick);
+          }
+          count2++;
+        }
+        minorTicks.push(minorTicksGroup);
+      }
+      return minorTicks;
+    },
+    /**
+     * @param {number} data
+     * @param {Object} [opt]
+     * @param {number|string} [opt.precision] If 'auto', use nice presision.
+     * @param {boolean} [opt.pad] returns 1.50 but not 1.5 if precision is 2.
+     * @return {string}
+     */
+    getLabel: function(data2, opt) {
+      if (data2 == null) {
+        return "";
+      }
+      var precision = opt && opt.precision;
+      if (precision == null) {
+        precision = numberUtil2.getPrecisionSafe(data2) || 0;
+      } else if (precision === "auto") {
+        precision = this._intervalPrecision;
+      }
+      data2 = roundNumber2(data2, precision, true);
+      return formatUtil2.addCommas(data2);
+    },
+    /**
+     * Update interval and extent of intervals for nice ticks
+     *
+     * @param {number} [splitNumber = 5] Desired number of ticks
+     * @param {number} [minInterval]
+     * @param {number} [maxInterval]
+     */
+    niceTicks: function(splitNumber, minInterval, maxInterval) {
+      splitNumber = splitNumber || 5;
+      var extent3 = this._extent;
+      var span = extent3[1] - extent3[0];
+      if (!isFinite(span)) {
+        return;
+      }
+      if (span < 0) {
+        span = -span;
+        extent3.reverse();
+      }
+      var result2 = helper2.intervalScaleNiceTicks(extent3, splitNumber, minInterval, maxInterval);
+      this._intervalPrecision = result2.intervalPrecision;
+      this._interval = result2.interval;
+      this._niceExtent = result2.niceTickExtent;
+    },
+    /**
+     * Nice extent.
+     * @param {Object} opt
+     * @param {number} [opt.splitNumber = 5] Given approx tick number
+     * @param {boolean} [opt.fixMin=false]
+     * @param {boolean} [opt.fixMax=false]
+     * @param {boolean} [opt.minInterval]
+     * @param {boolean} [opt.maxInterval]
+     */
+    niceExtent: function(opt) {
+      var extent3 = this._extent;
+      if (extent3[0] === extent3[1]) {
+        if (extent3[0] !== 0) {
+          var expandSize = extent3[0];
+          if (!opt.fixMax) {
+            extent3[1] += expandSize / 2;
+            extent3[0] -= expandSize / 2;
+          } else {
+            extent3[0] -= expandSize / 2;
+          }
+        } else {
+          extent3[1] = 1;
+        }
+      }
+      var span = extent3[1] - extent3[0];
+      if (!isFinite(span)) {
+        extent3[0] = 0;
+        extent3[1] = 1;
+      }
+      this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
+      var interval = this._interval;
+      if (!opt.fixMin) {
+        extent3[0] = roundNumber2(Math.floor(extent3[0] / interval) * interval);
+      }
+      if (!opt.fixMax) {
+        extent3[1] = roundNumber2(Math.ceil(extent3[1] / interval) * interval);
+      }
+    }
+  });
+  IntervalScale2.create = function() {
+    return new IntervalScale2();
+  };
+  var _default68 = IntervalScale2;
+  Interval = _default68;
+  return Interval;
+}
+var barGrid = {};
+var hasRequiredBarGrid;
+function requireBarGrid() {
+  if (hasRequiredBarGrid)
+    return barGrid;
+  hasRequiredBarGrid = 1;
+  var zrUtil2 = util$a;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var _dataStackHelper = requireDataStackHelper();
+  var isDimensionStacked2 = _dataStackHelper.isDimensionStacked;
+  var createRenderPlanner2 = createRenderPlanner$2;
+  var STACK_PREFIX2 = "__ec_stack_";
+  var LARGE_BAR_MIN_WIDTH = 0.5;
+  var LargeArr = typeof Float32Array !== "undefined" ? Float32Array : Array;
+  function getSeriesStackId2(seriesModel) {
+    return seriesModel.get("stack") || STACK_PREFIX2 + seriesModel.seriesIndex;
+  }
+  function getAxisKey2(axis2) {
+    return axis2.dim + axis2.index;
+  }
+  function getLayoutOnAxis2(opt) {
+    var params2 = [];
+    var baseAxis = opt.axis;
+    var axisKey = "axis0";
+    if (baseAxis.type !== "category") {
+      return;
+    }
+    var bandWidth = baseAxis.getBandWidth();
+    for (var i2 = 0; i2 < opt.count || 0; i2++) {
+      params2.push(zrUtil2.defaults({
+        bandWidth,
+        axisKey,
+        stackId: STACK_PREFIX2 + i2
+      }, opt));
+    }
+    var widthAndOffsets = doCalBarWidthAndOffset2(params2);
+    var result2 = [];
+    for (var i2 = 0; i2 < opt.count; i2++) {
+      var item = widthAndOffsets[axisKey][STACK_PREFIX2 + i2];
+      item.offsetCenter = item.offset + item.width / 2;
+      result2.push(item);
+    }
+    return result2;
+  }
+  function prepareLayoutBarSeries2(seriesType2, ecModel) {
+    var seriesModels = [];
+    ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+      if (isOnCartesian2(seriesModel) && !isInLargeMode2(seriesModel)) {
+        seriesModels.push(seriesModel);
+      }
+    });
+    return seriesModels;
+  }
+  function getValueAxesMinGaps2(barSeries) {
+    var axisValues = {};
+    zrUtil2.each(barSeries, function(seriesModel) {
+      var cartesian = seriesModel.coordinateSystem;
+      var baseAxis = cartesian.getBaseAxis();
+      if (baseAxis.type !== "time" && baseAxis.type !== "value") {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var key3 = baseAxis.dim + "_" + baseAxis.index;
+      var dim = data2.mapDimension(baseAxis.dim);
+      for (var i2 = 0, cnt = data2.count(); i2 < cnt; ++i2) {
+        var value = data2.get(dim, i2);
+        if (!axisValues[key3]) {
+          axisValues[key3] = [value];
+        } else {
+          axisValues[key3].push(value);
+        }
+      }
+    });
+    var axisMinGaps = [];
+    for (var key2 in axisValues) {
+      if (axisValues.hasOwnProperty(key2)) {
+        var valuesInAxis = axisValues[key2];
+        if (valuesInAxis) {
+          valuesInAxis.sort(function(a2, b2) {
+            return a2 - b2;
+          });
+          var min3 = null;
+          for (var j2 = 1; j2 < valuesInAxis.length; ++j2) {
+            var delta = valuesInAxis[j2] - valuesInAxis[j2 - 1];
+            if (delta > 0) {
+              min3 = min3 === null ? delta : Math.min(min3, delta);
+            }
+          }
+          axisMinGaps[key2] = min3;
+        }
+      }
+    }
+    return axisMinGaps;
+  }
+  function makeColumnLayout2(barSeries) {
+    var axisMinGaps = getValueAxesMinGaps2(barSeries);
+    var seriesInfoList = [];
+    zrUtil2.each(barSeries, function(seriesModel) {
+      var cartesian = seriesModel.coordinateSystem;
+      var baseAxis = cartesian.getBaseAxis();
+      var axisExtent = baseAxis.getExtent();
+      var bandWidth;
+      if (baseAxis.type === "category") {
+        bandWidth = baseAxis.getBandWidth();
+      } else if (baseAxis.type === "value" || baseAxis.type === "time") {
+        var key2 = baseAxis.dim + "_" + baseAxis.index;
+        var minGap = axisMinGaps[key2];
+        var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);
+        var scale2 = baseAxis.scale.getExtent();
+        var scaleSpan = Math.abs(scale2[1] - scale2[0]);
+        bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan;
+      } else {
+        var data2 = seriesModel.getData();
+        bandWidth = Math.abs(axisExtent[1] - axisExtent[0]) / data2.count();
+      }
+      var barWidth = parsePercent2(seriesModel.get("barWidth"), bandWidth);
+      var barMaxWidth = parsePercent2(seriesModel.get("barMaxWidth"), bandWidth);
+      var barMinWidth = parsePercent2(
+        // barMinWidth by default is 1 in cartesian. Because in value axis,
+        // the auto-calculated bar width might be less than 1.
+        seriesModel.get("barMinWidth") || 1,
+        bandWidth
+      );
+      var barGap = seriesModel.get("barGap");
+      var barCategoryGap = seriesModel.get("barCategoryGap");
+      seriesInfoList.push({
+        bandWidth,
+        barWidth,
+        barMaxWidth,
+        barMinWidth,
+        barGap,
+        barCategoryGap,
+        axisKey: getAxisKey2(baseAxis),
+        stackId: getSeriesStackId2(seriesModel)
+      });
+    });
+    return doCalBarWidthAndOffset2(seriesInfoList);
+  }
+  function doCalBarWidthAndOffset2(seriesInfoList) {
+    var columnsMap = {};
+    zrUtil2.each(seriesInfoList, function(seriesInfo, idx) {
+      var axisKey = seriesInfo.axisKey;
+      var bandWidth = seriesInfo.bandWidth;
+      var columnsOnAxis = columnsMap[axisKey] || {
+        bandWidth,
+        remainedWidth: bandWidth,
+        autoWidthCount: 0,
+        categoryGap: "20%",
+        gap: "30%",
+        stacks: {}
+      };
+      var stacks = columnsOnAxis.stacks;
+      columnsMap[axisKey] = columnsOnAxis;
+      var stackId = seriesInfo.stackId;
+      if (!stacks[stackId]) {
+        columnsOnAxis.autoWidthCount++;
+      }
+      stacks[stackId] = stacks[stackId] || {
+        width: 0,
+        maxWidth: 0
+      };
+      var barWidth = seriesInfo.barWidth;
+      if (barWidth && !stacks[stackId].width) {
+        stacks[stackId].width = barWidth;
+        barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);
+        columnsOnAxis.remainedWidth -= barWidth;
+      }
+      var barMaxWidth = seriesInfo.barMaxWidth;
+      barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);
+      var barMinWidth = seriesInfo.barMinWidth;
+      barMinWidth && (stacks[stackId].minWidth = barMinWidth);
+      var barGap = seriesInfo.barGap;
+      barGap != null && (columnsOnAxis.gap = barGap);
+      var barCategoryGap = seriesInfo.barCategoryGap;
+      barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);
+    });
+    var result2 = {};
+    zrUtil2.each(columnsMap, function(columnsOnAxis, coordSysName) {
+      result2[coordSysName] = {};
+      var stacks = columnsOnAxis.stacks;
+      var bandWidth = columnsOnAxis.bandWidth;
+      var categoryGap = parsePercent2(columnsOnAxis.categoryGap, bandWidth);
+      var barGapPercent = parsePercent2(columnsOnAxis.gap, 1);
+      var remainedWidth = columnsOnAxis.remainedWidth;
+      var autoWidthCount = columnsOnAxis.autoWidthCount;
+      var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+      autoWidth = Math.max(autoWidth, 0);
+      zrUtil2.each(stacks, function(column) {
+        var maxWidth = column.maxWidth;
+        var minWidth = column.minWidth;
+        if (!column.width) {
+          var finalWidth = autoWidth;
+          if (maxWidth && maxWidth < finalWidth) {
+            finalWidth = Math.min(maxWidth, remainedWidth);
+          }
+          if (minWidth && minWidth > finalWidth) {
+            finalWidth = minWidth;
+          }
+          if (finalWidth !== autoWidth) {
+            column.width = finalWidth;
+            remainedWidth -= finalWidth + barGapPercent * finalWidth;
+            autoWidthCount--;
+          }
+        } else {
+          var finalWidth = column.width;
+          if (maxWidth) {
+            finalWidth = Math.min(finalWidth, maxWidth);
+          }
+          if (minWidth) {
+            finalWidth = Math.max(finalWidth, minWidth);
+          }
+          column.width = finalWidth;
+          remainedWidth -= finalWidth + barGapPercent * finalWidth;
+          autoWidthCount--;
+        }
+      });
+      autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+      autoWidth = Math.max(autoWidth, 0);
+      var widthSum = 0;
+      var lastColumn;
+      zrUtil2.each(stacks, function(column, idx) {
+        if (!column.width) {
+          column.width = autoWidth;
+        }
+        lastColumn = column;
+        widthSum += column.width * (1 + barGapPercent);
+      });
+      if (lastColumn) {
+        widthSum -= lastColumn.width * barGapPercent;
+      }
+      var offset2 = -widthSum / 2;
+      zrUtil2.each(stacks, function(column, stackId) {
+        result2[coordSysName][stackId] = result2[coordSysName][stackId] || {
+          bandWidth,
+          offset: offset2,
+          width: column.width
+        };
+        offset2 += column.width * (1 + barGapPercent);
+      });
+    });
+    return result2;
+  }
+  function retrieveColumnLayout2(barWidthAndOffset, axis2, seriesModel) {
+    if (barWidthAndOffset && axis2) {
+      var result2 = barWidthAndOffset[getAxisKey2(axis2)];
+      if (result2 != null && seriesModel != null) {
+        result2 = result2[getSeriesStackId2(seriesModel)];
+      }
+      return result2;
+    }
+  }
+  function layout2(seriesType2, ecModel) {
+    var seriesModels = prepareLayoutBarSeries2(seriesType2, ecModel);
+    var barWidthAndOffset = makeColumnLayout2(seriesModels);
+    var lastStackCoords = {};
+    zrUtil2.each(seriesModels, function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var cartesian = seriesModel.coordinateSystem;
+      var baseAxis = cartesian.getBaseAxis();
+      var stackId = getSeriesStackId2(seriesModel);
+      var columnLayoutInfo = barWidthAndOffset[getAxisKey2(baseAxis)][stackId];
+      var columnOffset = columnLayoutInfo.offset;
+      var columnWidth = columnLayoutInfo.width;
+      var valueAxis2 = cartesian.getOtherAxis(baseAxis);
+      var barMinHeight = seriesModel.get("barMinHeight") || 0;
+      lastStackCoords[stackId] = lastStackCoords[stackId] || [];
+      data2.setLayout({
+        bandWidth: columnLayoutInfo.bandWidth,
+        offset: columnOffset,
+        size: columnWidth
+      });
+      var valueDim = data2.mapDimension(valueAxis2.dim);
+      var baseDim = data2.mapDimension(baseAxis.dim);
+      var stacked = isDimensionStacked2(
+        data2,
+        valueDim
+        /*, baseDim*/
+      );
+      var isValueAxisH = valueAxis2.isHorizontal();
+      var valueAxisStart = getValueAxisStart2(baseAxis, valueAxis2);
+      for (var idx = 0, len2 = data2.count(); idx < len2; idx++) {
+        var value = data2.get(valueDim, idx);
+        var baseValue = data2.get(baseDim, idx);
+        var sign = value >= 0 ? "p" : "n";
+        var baseCoord = valueAxisStart;
+        if (stacked) {
+          if (!lastStackCoords[stackId][baseValue]) {
+            lastStackCoords[stackId][baseValue] = {
+              p: valueAxisStart,
+              // Positive stack
+              n: valueAxisStart
+              // Negative stack
+            };
+          }
+          baseCoord = lastStackCoords[stackId][baseValue][sign];
+        }
+        var x2;
+        var y2;
+        var width;
+        var height;
+        if (isValueAxisH) {
+          var coord = cartesian.dataToPoint([value, baseValue]);
+          x2 = baseCoord;
+          y2 = coord[1] + columnOffset;
+          width = coord[0] - valueAxisStart;
+          height = columnWidth;
+          if (Math.abs(width) < barMinHeight) {
+            width = (width < 0 ? -1 : 1) * barMinHeight;
+          }
+          if (!isNaN(width)) {
+            stacked && (lastStackCoords[stackId][baseValue][sign] += width);
+          }
+        } else {
+          var coord = cartesian.dataToPoint([baseValue, value]);
+          x2 = coord[0] + columnOffset;
+          y2 = baseCoord;
+          width = columnWidth;
+          height = coord[1] - valueAxisStart;
+          if (Math.abs(height) < barMinHeight) {
+            height = (height <= 0 ? -1 : 1) * barMinHeight;
+          }
+          if (!isNaN(height)) {
+            stacked && (lastStackCoords[stackId][baseValue][sign] += height);
+          }
+        }
+        data2.setItemLayout(idx, {
+          x: x2,
+          y: y2,
+          width,
+          height
+        });
+      }
+    }, this);
+  }
+  var largeLayout = {
+    seriesType: "bar",
+    plan: createRenderPlanner2(),
+    reset: function(seriesModel) {
+      if (!isOnCartesian2(seriesModel) || !isInLargeMode2(seriesModel)) {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var cartesian = seriesModel.coordinateSystem;
+      var coordLayout = cartesian.grid.getRect();
+      var baseAxis = cartesian.getBaseAxis();
+      var valueAxis2 = cartesian.getOtherAxis(baseAxis);
+      var valueDim = data2.mapDimension(valueAxis2.dim);
+      var baseDim = data2.mapDimension(baseAxis.dim);
+      var valueAxisHorizontal = valueAxis2.isHorizontal();
+      var valueDimIdx = valueAxisHorizontal ? 0 : 1;
+      var barWidth = retrieveColumnLayout2(makeColumnLayout2([seriesModel]), baseAxis, seriesModel).width;
+      if (!(barWidth > LARGE_BAR_MIN_WIDTH)) {
+        barWidth = LARGE_BAR_MIN_WIDTH;
+      }
+      return {
+        progress
+      };
+      function progress(params2, data3) {
+        var count2 = params2.count;
+        var largePoints = new LargeArr(count2 * 2);
+        var largeBackgroundPoints = new LargeArr(count2 * 2);
+        var largeDataIndices = new LargeArr(count2);
+        var dataIndex;
+        var coord = [];
+        var valuePair = [];
+        var pointsOffset = 0;
+        var idxOffset = 0;
+        while ((dataIndex = params2.next()) != null) {
+          valuePair[valueDimIdx] = data3.get(valueDim, dataIndex);
+          valuePair[1 - valueDimIdx] = data3.get(baseDim, dataIndex);
+          coord = cartesian.dataToPoint(valuePair, null, coord);
+          largeBackgroundPoints[pointsOffset] = valueAxisHorizontal ? coordLayout.x + coordLayout.width : coord[0];
+          largePoints[pointsOffset++] = coord[0];
+          largeBackgroundPoints[pointsOffset] = valueAxisHorizontal ? coord[1] : coordLayout.y + coordLayout.height;
+          largePoints[pointsOffset++] = coord[1];
+          largeDataIndices[idxOffset++] = dataIndex;
+        }
+        data3.setLayout({
+          largePoints,
+          largeDataIndices,
+          largeBackgroundPoints,
+          barWidth,
+          valueAxisStart: getValueAxisStart2(baseAxis, valueAxis2),
+          backgroundStart: valueAxisHorizontal ? coordLayout.x : coordLayout.y,
+          valueAxisHorizontal
+        });
+      }
+    }
+  };
+  function isOnCartesian2(seriesModel) {
+    return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === "cartesian2d";
+  }
+  function isInLargeMode2(seriesModel) {
+    return seriesModel.pipelineContext && seriesModel.pipelineContext.large;
+  }
+  function getValueAxisStart2(baseAxis, valueAxis2, stacked) {
+    return valueAxis2.toGlobalCoord(valueAxis2.dataToCoord(valueAxis2.type === "log" ? 1 : 0));
+  }
+  barGrid.getLayoutOnAxis = getLayoutOnAxis2;
+  barGrid.prepareLayoutBarSeries = prepareLayoutBarSeries2;
+  barGrid.makeColumnLayout = makeColumnLayout2;
+  barGrid.retrieveColumnLayout = retrieveColumnLayout2;
+  barGrid.layout = layout2;
+  barGrid.largeLayout = largeLayout;
+  return barGrid;
+}
+var Time;
+var hasRequiredTime;
+function requireTime() {
+  if (hasRequiredTime)
+    return Time;
+  hasRequiredTime = 1;
+  var zrUtil2 = util$a;
+  var numberUtil2 = requireNumber();
+  var formatUtil2 = format$6;
+  var scaleHelper = requireHelper$5();
+  var IntervalScale2 = requireInterval();
+  var intervalScaleProto2 = IntervalScale2.prototype;
+  var mathCeil2 = Math.ceil;
+  var mathFloor2 = Math.floor;
+  var ONE_SECOND2 = 1e3;
+  var ONE_MINUTE2 = ONE_SECOND2 * 60;
+  var ONE_HOUR2 = ONE_MINUTE2 * 60;
+  var ONE_DAY2 = ONE_HOUR2 * 24;
+  var bisect2 = function(a2, x2, lo, hi) {
+    while (lo < hi) {
+      var mid = lo + hi >>> 1;
+      if (a2[mid][1] < x2) {
+        lo = mid + 1;
+      } else {
+        hi = mid;
+      }
+    }
+    return lo;
+  };
+  var TimeScale2 = IntervalScale2.extend({
+    type: "time",
+    /**
+     * @override
+     */
+    getLabel: function(val) {
+      var stepLvl = this._stepLvl;
+      var date = new Date(val);
+      return formatUtil2.formatTime(stepLvl[0], date, this.getSetting("useUTC"));
+    },
+    /**
+     * @override
+     */
+    niceExtent: function(opt) {
+      var extent3 = this._extent;
+      if (extent3[0] === extent3[1]) {
+        extent3[0] -= ONE_DAY2;
+        extent3[1] += ONE_DAY2;
+      }
+      if (extent3[1] === -Infinity && extent3[0] === Infinity) {
+        var d2 = /* @__PURE__ */ new Date();
+        extent3[1] = +new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
+        extent3[0] = extent3[1] - ONE_DAY2;
+      }
+      this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
+      var interval = this._interval;
+      if (!opt.fixMin) {
+        extent3[0] = numberUtil2.round(mathFloor2(extent3[0] / interval) * interval);
+      }
+      if (!opt.fixMax) {
+        extent3[1] = numberUtil2.round(mathCeil2(extent3[1] / interval) * interval);
+      }
+    },
+    /**
+     * @override
+     */
+    niceTicks: function(approxTickNum, minInterval, maxInterval) {
+      approxTickNum = approxTickNum || 10;
+      var extent3 = this._extent;
+      var span = extent3[1] - extent3[0];
+      var approxInterval = span / approxTickNum;
+      if (minInterval != null && approxInterval < minInterval) {
+        approxInterval = minInterval;
+      }
+      if (maxInterval != null && approxInterval > maxInterval) {
+        approxInterval = maxInterval;
+      }
+      var scaleLevelsLen = scaleLevels.length;
+      var idx = bisect2(scaleLevels, approxInterval, 0, scaleLevelsLen);
+      var level = scaleLevels[Math.min(idx, scaleLevelsLen - 1)];
+      var interval = level[1];
+      if (level[0] === "year") {
+        var yearSpan = span / interval;
+        var yearStep = numberUtil2.nice(yearSpan / approxTickNum, true);
+        interval *= yearStep;
+      }
+      var timezoneOffset = this.getSetting("useUTC") ? 0 : (/* @__PURE__ */ new Date(+extent3[0] || +extent3[1])).getTimezoneOffset() * 60 * 1e3;
+      var niceExtent = [Math.round(mathCeil2((extent3[0] - timezoneOffset) / interval) * interval + timezoneOffset), Math.round(mathFloor2((extent3[1] - timezoneOffset) / interval) * interval + timezoneOffset)];
+      scaleHelper.fixExtent(niceExtent, extent3);
+      this._stepLvl = level;
+      this._interval = interval;
+      this._niceExtent = niceExtent;
+    },
+    parse: function(val) {
+      return +numberUtil2.parseDate(val);
+    }
+  });
+  zrUtil2.each(["contain", "normalize"], function(methodName) {
+    TimeScale2.prototype[methodName] = function(val) {
+      return intervalScaleProto2[methodName].call(this, this.parse(val));
+    };
+  });
+  var scaleLevels = [
+    // Format              interval
+    ["hh:mm:ss", ONE_SECOND2],
+    // 1s
+    ["hh:mm:ss", ONE_SECOND2 * 5],
+    // 5s
+    ["hh:mm:ss", ONE_SECOND2 * 10],
+    // 10s
+    ["hh:mm:ss", ONE_SECOND2 * 15],
+    // 15s
+    ["hh:mm:ss", ONE_SECOND2 * 30],
+    // 30s
+    ["hh:mm\nMM-dd", ONE_MINUTE2],
+    // 1m
+    ["hh:mm\nMM-dd", ONE_MINUTE2 * 5],
+    // 5m
+    ["hh:mm\nMM-dd", ONE_MINUTE2 * 10],
+    // 10m
+    ["hh:mm\nMM-dd", ONE_MINUTE2 * 15],
+    // 15m
+    ["hh:mm\nMM-dd", ONE_MINUTE2 * 30],
+    // 30m
+    ["hh:mm\nMM-dd", ONE_HOUR2],
+    // 1h
+    ["hh:mm\nMM-dd", ONE_HOUR2 * 2],
+    // 2h
+    ["hh:mm\nMM-dd", ONE_HOUR2 * 6],
+    // 6h
+    ["hh:mm\nMM-dd", ONE_HOUR2 * 12],
+    // 12h
+    ["MM-dd\nyyyy", ONE_DAY2],
+    // 1d
+    ["MM-dd\nyyyy", ONE_DAY2 * 2],
+    // 2d
+    ["MM-dd\nyyyy", ONE_DAY2 * 3],
+    // 3d
+    ["MM-dd\nyyyy", ONE_DAY2 * 4],
+    // 4d
+    ["MM-dd\nyyyy", ONE_DAY2 * 5],
+    // 5d
+    ["MM-dd\nyyyy", ONE_DAY2 * 6],
+    // 6d
+    ["week", ONE_DAY2 * 7],
+    // 7d
+    ["MM-dd\nyyyy", ONE_DAY2 * 10],
+    // 10d
+    ["week", ONE_DAY2 * 14],
+    // 2w
+    ["week", ONE_DAY2 * 21],
+    // 3w
+    ["month", ONE_DAY2 * 31],
+    // 1M
+    ["week", ONE_DAY2 * 42],
+    // 6w
+    ["month", ONE_DAY2 * 62],
+    // 2M
+    ["week", ONE_DAY2 * 70],
+    // 10w
+    ["quarter", ONE_DAY2 * 95],
+    // 3M
+    ["month", ONE_DAY2 * 31 * 4],
+    // 4M
+    ["month", ONE_DAY2 * 31 * 5],
+    // 5M
+    ["half-year", ONE_DAY2 * 380 / 2],
+    // 6M
+    ["month", ONE_DAY2 * 31 * 8],
+    // 8M
+    ["month", ONE_DAY2 * 31 * 10],
+    // 10M
+    ["year", ONE_DAY2 * 380]
+    // 1Y
+  ];
+  TimeScale2.create = function(model2) {
+    return new TimeScale2({
+      useUTC: model2.ecModel.get("useUTC")
+    });
+  };
+  var _default68 = TimeScale2;
+  Time = _default68;
+  return Time;
+}
+var Log;
+var hasRequiredLog;
+function requireLog() {
+  if (hasRequiredLog)
+    return Log;
+  hasRequiredLog = 1;
+  var zrUtil2 = util$a;
+  var Scale2 = requireScale();
+  var numberUtil2 = requireNumber();
+  var IntervalScale2 = requireInterval();
+  var scaleProto2 = Scale2.prototype;
+  var intervalScaleProto2 = IntervalScale2.prototype;
+  var getPrecisionSafe2 = numberUtil2.getPrecisionSafe;
+  var roundingErrorFix2 = numberUtil2.round;
+  var mathFloor2 = Math.floor;
+  var mathCeil2 = Math.ceil;
+  var mathPow2 = Math.pow;
+  var mathLog2 = Math.log;
+  var LogScale2 = Scale2.extend({
+    type: "log",
+    base: 10,
+    $constructor: function() {
+      Scale2.apply(this, arguments);
+      this._originalScale = new IntervalScale2();
+    },
+    /**
+     * @param {boolean} [expandToNicedExtent=false] If expand the ticks to niced extent.
+     * @return {Array.<number>}
+     */
+    getTicks: function(expandToNicedExtent) {
+      var originalScale = this._originalScale;
+      var extent3 = this._extent;
+      var originalExtent = originalScale.getExtent();
+      return zrUtil2.map(intervalScaleProto2.getTicks.call(this, expandToNicedExtent), function(val) {
+        var powVal = numberUtil2.round(mathPow2(this.base, val));
+        powVal = val === extent3[0] && originalScale.__fixMin ? fixRoundingError2(powVal, originalExtent[0]) : powVal;
+        powVal = val === extent3[1] && originalScale.__fixMax ? fixRoundingError2(powVal, originalExtent[1]) : powVal;
+        return powVal;
+      }, this);
+    },
+    /**
+     * @param {number} splitNumber
+     * @return {Array.<Array.<number>>}
+     */
+    getMinorTicks: intervalScaleProto2.getMinorTicks,
+    /**
+     * @param {number} val
+     * @return {string}
+     */
+    getLabel: intervalScaleProto2.getLabel,
+    /**
+     * @param  {number} val
+     * @return {number}
+     */
+    scale: function(val) {
+      val = scaleProto2.scale.call(this, val);
+      return mathPow2(this.base, val);
+    },
+    /**
+     * @param {number} start
+     * @param {number} end
+     */
+    setExtent: function(start2, end2) {
+      var base2 = this.base;
+      start2 = mathLog2(start2) / mathLog2(base2);
+      end2 = mathLog2(end2) / mathLog2(base2);
+      intervalScaleProto2.setExtent.call(this, start2, end2);
+    },
+    /**
+     * @return {number} end
+     */
+    getExtent: function() {
+      var base2 = this.base;
+      var extent3 = scaleProto2.getExtent.call(this);
+      extent3[0] = mathPow2(base2, extent3[0]);
+      extent3[1] = mathPow2(base2, extent3[1]);
+      var originalScale = this._originalScale;
+      var originalExtent = originalScale.getExtent();
+      originalScale.__fixMin && (extent3[0] = fixRoundingError2(extent3[0], originalExtent[0]));
+      originalScale.__fixMax && (extent3[1] = fixRoundingError2(extent3[1], originalExtent[1]));
+      return extent3;
+    },
+    /**
+     * @param  {Array.<number>} extent
+     */
+    unionExtent: function(extent3) {
+      this._originalScale.unionExtent(extent3);
+      var base2 = this.base;
+      extent3[0] = mathLog2(extent3[0]) / mathLog2(base2);
+      extent3[1] = mathLog2(extent3[1]) / mathLog2(base2);
+      scaleProto2.unionExtent.call(this, extent3);
+    },
+    /**
+     * @override
+     */
+    unionExtentFromData: function(data2, dim) {
+      this.unionExtent(data2.getApproximateExtent(dim));
+    },
+    /**
+     * Update interval and extent of intervals for nice ticks
+     * @param  {number} [approxTickNum = 10] Given approx tick number
+     */
+    niceTicks: function(approxTickNum) {
+      approxTickNum = approxTickNum || 10;
+      var extent3 = this._extent;
+      var span = extent3[1] - extent3[0];
+      if (span === Infinity || span <= 0) {
+        return;
+      }
+      var interval = numberUtil2.quantity(span);
+      var err = approxTickNum / span * interval;
+      if (err <= 0.5) {
+        interval *= 10;
+      }
+      while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {
+        interval *= 10;
+      }
+      var niceExtent = [numberUtil2.round(mathCeil2(extent3[0] / interval) * interval), numberUtil2.round(mathFloor2(extent3[1] / interval) * interval)];
+      this._interval = interval;
+      this._niceExtent = niceExtent;
+    },
+    /**
+     * Nice extent.
+     * @override
+     */
+    niceExtent: function(opt) {
+      intervalScaleProto2.niceExtent.call(this, opt);
+      var originalScale = this._originalScale;
+      originalScale.__fixMin = opt.fixMin;
+      originalScale.__fixMax = opt.fixMax;
+    }
+  });
+  zrUtil2.each(["contain", "normalize"], function(methodName) {
+    LogScale2.prototype[methodName] = function(val) {
+      val = mathLog2(val) / mathLog2(this.base);
+      return scaleProto2[methodName].call(this, val);
+    };
+  });
+  LogScale2.create = function() {
+    return new LogScale2();
+  };
+  function fixRoundingError2(val, originalVal) {
+    return roundingErrorFix2(val, getPrecisionSafe2(originalVal));
+  }
+  var _default68 = LogScale2;
+  Log = _default68;
+  return Log;
+}
+var hasRequiredAxisHelper;
+function requireAxisHelper() {
+  if (hasRequiredAxisHelper)
+    return axisHelper;
+  hasRequiredAxisHelper = 1;
+  var zrUtil2 = util$a;
+  var OrdinalScale2 = requireOrdinal();
+  var IntervalScale2 = requireInterval();
+  var Scale2 = requireScale();
+  var numberUtil2 = requireNumber();
+  var _barGrid = requireBarGrid();
+  var prepareLayoutBarSeries2 = _barGrid.prepareLayoutBarSeries;
+  var makeColumnLayout2 = _barGrid.makeColumnLayout;
+  var retrieveColumnLayout2 = _barGrid.retrieveColumnLayout;
+  var BoundingRect2 = BoundingRect_1;
+  requireTime();
+  requireLog();
+  function getScaleExtent2(scale2, model2) {
+    var scaleType = scale2.type;
+    var min3 = model2.getMin();
+    var max3 = model2.getMax();
+    var originalExtent = scale2.getExtent();
+    var axisDataLen;
+    var boundaryGap;
+    var span;
+    if (scaleType === "ordinal") {
+      axisDataLen = model2.getCategories().length;
+    } else {
+      boundaryGap = model2.get("boundaryGap");
+      if (!zrUtil2.isArray(boundaryGap)) {
+        boundaryGap = [boundaryGap || 0, boundaryGap || 0];
+      }
+      if (typeof boundaryGap[0] === "boolean") {
+        boundaryGap = [0, 0];
+      }
+      boundaryGap[0] = numberUtil2.parsePercent(boundaryGap[0], 1);
+      boundaryGap[1] = numberUtil2.parsePercent(boundaryGap[1], 1);
+      span = originalExtent[1] - originalExtent[0] || Math.abs(originalExtent[0]);
+    }
+    if (min3 === "dataMin") {
+      min3 = originalExtent[0];
+    } else if (typeof min3 === "function") {
+      min3 = min3({
+        min: originalExtent[0],
+        max: originalExtent[1]
+      });
+    }
+    if (max3 === "dataMax") {
+      max3 = originalExtent[1];
+    } else if (typeof max3 === "function") {
+      max3 = max3({
+        min: originalExtent[0],
+        max: originalExtent[1]
+      });
+    }
+    var fixMin = min3 != null;
+    var fixMax = max3 != null;
+    if (min3 == null) {
+      min3 = scaleType === "ordinal" ? axisDataLen ? 0 : NaN : originalExtent[0] - boundaryGap[0] * span;
+    }
+    if (max3 == null) {
+      max3 = scaleType === "ordinal" ? axisDataLen ? axisDataLen - 1 : NaN : originalExtent[1] + boundaryGap[1] * span;
+    }
+    (min3 == null || !isFinite(min3)) && (min3 = NaN);
+    (max3 == null || !isFinite(max3)) && (max3 = NaN);
+    scale2.setBlank(zrUtil2.eqNaN(min3) || zrUtil2.eqNaN(max3) || scaleType === "ordinal" && !scale2.getOrdinalMeta().categories.length);
+    if (model2.getNeedCrossZero()) {
+      if (min3 > 0 && max3 > 0 && !fixMin) {
+        min3 = 0;
+      }
+      if (min3 < 0 && max3 < 0 && !fixMax) {
+        max3 = 0;
+      }
+    }
+    var ecModel = model2.ecModel;
+    if (ecModel && scaleType === "time") {
+      var barSeriesModels = prepareLayoutBarSeries2("bar", ecModel);
+      var isBaseAxisAndHasBarSeries;
+      zrUtil2.each(barSeriesModels, function(seriesModel) {
+        isBaseAxisAndHasBarSeries |= seriesModel.getBaseAxis() === model2.axis;
+      });
+      if (isBaseAxisAndHasBarSeries) {
+        var barWidthAndOffset = makeColumnLayout2(barSeriesModels);
+        var adjustedScale = adjustScaleForOverflow2(min3, max3, model2, barWidthAndOffset);
+        min3 = adjustedScale.min;
+        max3 = adjustedScale.max;
+      }
+    }
+    return {
+      extent: [min3, max3],
+      // "fix" means "fixed", the value should not be
+      // changed in the subsequent steps.
+      fixMin,
+      fixMax
+    };
+  }
+  function adjustScaleForOverflow2(min3, max3, model2, barWidthAndOffset) {
+    var axisExtent = model2.axis.getExtent();
+    var axisLength = axisExtent[1] - axisExtent[0];
+    var barsOnCurrentAxis = retrieveColumnLayout2(barWidthAndOffset, model2.axis);
+    if (barsOnCurrentAxis === void 0) {
+      return {
+        min: min3,
+        max: max3
+      };
+    }
+    var minOverflow = Infinity;
+    zrUtil2.each(barsOnCurrentAxis, function(item) {
+      minOverflow = Math.min(item.offset, minOverflow);
+    });
+    var maxOverflow = -Infinity;
+    zrUtil2.each(barsOnCurrentAxis, function(item) {
+      maxOverflow = Math.max(item.offset + item.width, maxOverflow);
+    });
+    minOverflow = Math.abs(minOverflow);
+    maxOverflow = Math.abs(maxOverflow);
+    var totalOverFlow = minOverflow + maxOverflow;
+    var oldRange = max3 - min3;
+    var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;
+    var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;
+    max3 += overflowBuffer * (maxOverflow / totalOverFlow);
+    min3 -= overflowBuffer * (minOverflow / totalOverFlow);
+    return {
+      min: min3,
+      max: max3
+    };
+  }
+  function niceScaleExtent2(scale2, model2) {
+    var extentInfo = getScaleExtent2(scale2, model2);
+    var extent3 = extentInfo.extent;
+    var splitNumber = model2.get("splitNumber");
+    if (scale2.type === "log") {
+      scale2.base = model2.get("logBase");
+    }
+    var scaleType = scale2.type;
+    scale2.setExtent(extent3[0], extent3[1]);
+    scale2.niceExtent({
+      splitNumber,
+      fixMin: extentInfo.fixMin,
+      fixMax: extentInfo.fixMax,
+      minInterval: scaleType === "interval" || scaleType === "time" ? model2.get("minInterval") : null,
+      maxInterval: scaleType === "interval" || scaleType === "time" ? model2.get("maxInterval") : null
+    });
+    var interval = model2.get("interval");
+    if (interval != null) {
+      scale2.setInterval && scale2.setInterval(interval);
+    }
+  }
+  function createScaleByModel2(model2, axisType) {
+    axisType = axisType || model2.get("type");
+    if (axisType) {
+      switch (axisType) {
+        case "category":
+          return new OrdinalScale2(model2.getOrdinalMeta ? model2.getOrdinalMeta() : model2.getCategories(), [Infinity, -Infinity]);
+        case "value":
+          return new IntervalScale2();
+        default:
+          return (Scale2.getClass(axisType) || IntervalScale2).create(model2);
+      }
+    }
+  }
+  function ifAxisCrossZero2(axis2) {
+    var dataExtent = axis2.scale.getExtent();
+    var min3 = dataExtent[0];
+    var max3 = dataExtent[1];
+    return !(min3 > 0 && max3 > 0 || min3 < 0 && max3 < 0);
+  }
+  function makeLabelFormatter2(axis2) {
+    var labelFormatter = axis2.getLabelModel().get("formatter");
+    var categoryTickStart = axis2.type === "category" ? axis2.scale.getExtent()[0] : null;
+    if (typeof labelFormatter === "string") {
+      labelFormatter = function(tpl) {
+        return function(val) {
+          val = axis2.scale.getLabel(val);
+          return tpl.replace("{value}", val != null ? val : "");
+        };
+      }(labelFormatter);
+      return labelFormatter;
+    } else if (typeof labelFormatter === "function") {
+      return function(tickValue, idx) {
+        if (categoryTickStart != null) {
+          idx = tickValue - categoryTickStart;
+        }
+        return labelFormatter(getAxisRawValue2(axis2, tickValue), idx);
+      };
+    } else {
+      return function(tick) {
+        return axis2.scale.getLabel(tick);
+      };
+    }
+  }
+  function getAxisRawValue2(axis2, value) {
+    return axis2.type === "category" ? axis2.scale.getLabel(value) : value;
+  }
+  function estimateLabelUnionRect2(axis2) {
+    var axisModel = axis2.model;
+    var scale2 = axis2.scale;
+    if (!axisModel.get("axisLabel.show") || scale2.isBlank()) {
+      return;
+    }
+    var isCategory2 = axis2.type === "category";
+    var realNumberScaleTicks;
+    var tickCount;
+    var categoryScaleExtent = scale2.getExtent();
+    if (isCategory2) {
+      tickCount = scale2.count();
+    } else {
+      realNumberScaleTicks = scale2.getTicks();
+      tickCount = realNumberScaleTicks.length;
+    }
+    var axisLabelModel = axis2.getLabelModel();
+    var labelFormatter = makeLabelFormatter2(axis2);
+    var rect;
+    var step2 = 1;
+    if (tickCount > 40) {
+      step2 = Math.ceil(tickCount / 40);
+    }
+    for (var i2 = 0; i2 < tickCount; i2 += step2) {
+      var tickValue = realNumberScaleTicks ? realNumberScaleTicks[i2] : categoryScaleExtent[0] + i2;
+      var label = labelFormatter(tickValue);
+      var unrotatedSingleRect = axisLabelModel.getTextRect(label);
+      var singleRect = rotateTextRect2(unrotatedSingleRect, axisLabelModel.get("rotate") || 0);
+      rect ? rect.union(singleRect) : rect = singleRect;
+    }
+    return rect;
+  }
+  function rotateTextRect2(textRect, rotate2) {
+    var rotateRadians = rotate2 * Math.PI / 180;
+    var boundingBox = textRect.plain();
+    var beforeWidth = boundingBox.width;
+    var beforeHeight = boundingBox.height;
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var rotatedRect = new BoundingRect2(boundingBox.x, boundingBox.y, afterWidth, afterHeight);
+    return rotatedRect;
+  }
+  function getOptionCategoryInterval2(model2) {
+    var interval = model2.get("interval");
+    return interval == null ? "auto" : interval;
+  }
+  function shouldShowAllLabels2(axis2) {
+    return axis2.type === "category" && getOptionCategoryInterval2(axis2.getLabelModel()) === 0;
+  }
+  axisHelper.getScaleExtent = getScaleExtent2;
+  axisHelper.niceScaleExtent = niceScaleExtent2;
+  axisHelper.createScaleByModel = createScaleByModel2;
+  axisHelper.ifAxisCrossZero = ifAxisCrossZero2;
+  axisHelper.makeLabelFormatter = makeLabelFormatter2;
+  axisHelper.getAxisRawValue = getAxisRawValue2;
+  axisHelper.estimateLabelUnionRect = estimateLabelUnionRect2;
+  axisHelper.getOptionCategoryInterval = getOptionCategoryInterval2;
+  axisHelper.shouldShowAllLabels = shouldShowAllLabels2;
+  return axisHelper;
+}
+var axisModelCommonMixin;
+var hasRequiredAxisModelCommonMixin;
+function requireAxisModelCommonMixin() {
+  if (hasRequiredAxisModelCommonMixin)
+    return axisModelCommonMixin;
+  hasRequiredAxisModelCommonMixin = 1;
+  var zrUtil2 = util$a;
+  var _default68 = {
+    /**
+     * @param {boolean} origin
+     * @return {number|string} min value or 'dataMin' or null/undefined (means auto) or NaN
+     */
+    getMin: function(origin2) {
+      var option = this.option;
+      var min3 = !origin2 && option.rangeStart != null ? option.rangeStart : option.min;
+      if (this.axis && min3 != null && min3 !== "dataMin" && typeof min3 !== "function" && !zrUtil2.eqNaN(min3)) {
+        min3 = this.axis.scale.parse(min3);
+      }
+      return min3;
+    },
+    /**
+     * @param {boolean} origin
+     * @return {number|string} max value or 'dataMax' or null/undefined (means auto) or NaN
+     */
+    getMax: function(origin2) {
+      var option = this.option;
+      var max3 = !origin2 && option.rangeEnd != null ? option.rangeEnd : option.max;
+      if (this.axis && max3 != null && max3 !== "dataMax" && typeof max3 !== "function" && !zrUtil2.eqNaN(max3)) {
+        max3 = this.axis.scale.parse(max3);
+      }
+      return max3;
+    },
+    /**
+     * @return {boolean}
+     */
+    getNeedCrossZero: function() {
+      var option = this.option;
+      return option.rangeStart != null || option.rangeEnd != null ? false : !option.scale;
+    },
+    /**
+     * Should be implemented by each axis model if necessary.
+     * @return {module:echarts/model/Component} coordinate system model
+     */
+    getCoordSysModel: zrUtil2.noop,
+    /**
+     * @param {number} rangeStart Can only be finite number or null/undefined or NaN.
+     * @param {number} rangeEnd Can only be finite number or null/undefined or NaN.
+     */
+    setRange: function(rangeStart, rangeEnd) {
+      this.option.rangeStart = rangeStart;
+      this.option.rangeEnd = rangeEnd;
+    },
+    /**
+     * Reset range
+     */
+    resetRange: function() {
+      this.option.rangeStart = this.option.rangeEnd = null;
+    }
+  };
+  axisModelCommonMixin = _default68;
+  return axisModelCommonMixin;
+}
+var symbol$1 = {};
+var hasRequiredSymbol$1;
+function requireSymbol$1() {
+  if (hasRequiredSymbol$1)
+    return symbol$1;
+  hasRequiredSymbol$1 = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var BoundingRect2 = BoundingRect_1;
+  var _text = text;
+  var calculateTextPosition2 = _text.calculateTextPosition;
+  var Triangle2 = graphic2.extendShape({
+    type: "triangle",
+    shape: {
+      cx: 0,
+      cy: 0,
+      width: 0,
+      height: 0
+    },
+    buildPath: function(path2, shape) {
+      var cx = shape.cx;
+      var cy = shape.cy;
+      var width = shape.width / 2;
+      var height = shape.height / 2;
+      path2.moveTo(cx, cy - height);
+      path2.lineTo(cx + width, cy + height);
+      path2.lineTo(cx - width, cy + height);
+      path2.closePath();
+    }
+  });
+  var Diamond2 = graphic2.extendShape({
+    type: "diamond",
+    shape: {
+      cx: 0,
+      cy: 0,
+      width: 0,
+      height: 0
+    },
+    buildPath: function(path2, shape) {
+      var cx = shape.cx;
+      var cy = shape.cy;
+      var width = shape.width / 2;
+      var height = shape.height / 2;
+      path2.moveTo(cx, cy - height);
+      path2.lineTo(cx + width, cy);
+      path2.lineTo(cx, cy + height);
+      path2.lineTo(cx - width, cy);
+      path2.closePath();
+    }
+  });
+  var Pin2 = graphic2.extendShape({
+    type: "pin",
+    shape: {
+      // x, y on the cusp
+      x: 0,
+      y: 0,
+      width: 0,
+      height: 0
+    },
+    buildPath: function(path2, shape) {
+      var x2 = shape.x;
+      var y2 = shape.y;
+      var w2 = shape.width / 5 * 3;
+      var h3 = Math.max(w2, shape.height);
+      var r2 = w2 / 2;
+      var dy = r2 * r2 / (h3 - r2);
+      var cy = y2 - h3 + r2 + dy;
+      var angle = Math.asin(dy / r2);
+      var dx = Math.cos(angle) * r2;
+      var tanX = Math.sin(angle);
+      var tanY = Math.cos(angle);
+      var cpLen = r2 * 0.6;
+      var cpLen2 = r2 * 0.7;
+      path2.moveTo(x2 - dx, cy + dy);
+      path2.arc(x2, cy, r2, Math.PI - angle, Math.PI * 2 + angle);
+      path2.bezierCurveTo(x2 + dx - tanX * cpLen, cy + dy + tanY * cpLen, x2, y2 - cpLen2, x2, y2);
+      path2.bezierCurveTo(x2, y2 - cpLen2, x2 - dx + tanX * cpLen, cy + dy + tanY * cpLen, x2 - dx, cy + dy);
+      path2.closePath();
+    }
+  });
+  var Arrow2 = graphic2.extendShape({
+    type: "arrow",
+    shape: {
+      x: 0,
+      y: 0,
+      width: 0,
+      height: 0
+    },
+    buildPath: function(ctx, shape) {
+      var height = shape.height;
+      var width = shape.width;
+      var x2 = shape.x;
+      var y2 = shape.y;
+      var dx = width / 3 * 2;
+      ctx.moveTo(x2, y2);
+      ctx.lineTo(x2 + dx, y2 + height);
+      ctx.lineTo(x2, y2 + height / 4 * 3);
+      ctx.lineTo(x2 - dx, y2 + height);
+      ctx.lineTo(x2, y2);
+      ctx.closePath();
+    }
+  });
+  var symbolCtors2 = {
+    line: graphic2.Line,
+    rect: graphic2.Rect,
+    roundRect: graphic2.Rect,
+    square: graphic2.Rect,
+    circle: graphic2.Circle,
+    diamond: Diamond2,
+    pin: Pin2,
+    arrow: Arrow2,
+    triangle: Triangle2
+  };
+  var symbolShapeMakers2 = {
+    line: function(x2, y2, w2, h3, shape) {
+      shape.x1 = x2;
+      shape.y1 = y2 + h3 / 2;
+      shape.x2 = x2 + w2;
+      shape.y2 = y2 + h3 / 2;
+    },
+    rect: function(x2, y2, w2, h3, shape) {
+      shape.x = x2;
+      shape.y = y2;
+      shape.width = w2;
+      shape.height = h3;
+    },
+    roundRect: function(x2, y2, w2, h3, shape) {
+      shape.x = x2;
+      shape.y = y2;
+      shape.width = w2;
+      shape.height = h3;
+      shape.r = Math.min(w2, h3) / 4;
+    },
+    square: function(x2, y2, w2, h3, shape) {
+      var size = Math.min(w2, h3);
+      shape.x = x2;
+      shape.y = y2;
+      shape.width = size;
+      shape.height = size;
+    },
+    circle: function(x2, y2, w2, h3, shape) {
+      shape.cx = x2 + w2 / 2;
+      shape.cy = y2 + h3 / 2;
+      shape.r = Math.min(w2, h3) / 2;
+    },
+    diamond: function(x2, y2, w2, h3, shape) {
+      shape.cx = x2 + w2 / 2;
+      shape.cy = y2 + h3 / 2;
+      shape.width = w2;
+      shape.height = h3;
+    },
+    pin: function(x2, y2, w2, h3, shape) {
+      shape.x = x2 + w2 / 2;
+      shape.y = y2 + h3 / 2;
+      shape.width = w2;
+      shape.height = h3;
+    },
+    arrow: function(x2, y2, w2, h3, shape) {
+      shape.x = x2 + w2 / 2;
+      shape.y = y2 + h3 / 2;
+      shape.width = w2;
+      shape.height = h3;
+    },
+    triangle: function(x2, y2, w2, h3, shape) {
+      shape.cx = x2 + w2 / 2;
+      shape.cy = y2 + h3 / 2;
+      shape.width = w2;
+      shape.height = h3;
+    }
+  };
+  var symbolBuildProxies2 = {};
+  zrUtil2.each(symbolCtors2, function(Ctor, name2) {
+    symbolBuildProxies2[name2] = new Ctor();
+  });
+  var SymbolClz2 = graphic2.extendShape({
+    type: "symbol",
+    shape: {
+      symbolType: "",
+      x: 0,
+      y: 0,
+      width: 0,
+      height: 0
+    },
+    calculateTextPosition: function(out2, style2, rect) {
+      var res = calculateTextPosition2(out2, style2, rect);
+      var shape = this.shape;
+      if (shape && shape.symbolType === "pin" && style2.textPosition === "inside") {
+        res.y = rect.y + rect.height * 0.4;
+      }
+      return res;
+    },
+    buildPath: function(ctx, shape, inBundle) {
+      var symbolType = shape.symbolType;
+      if (symbolType !== "none") {
+        var proxySymbol = symbolBuildProxies2[symbolType];
+        if (!proxySymbol) {
+          symbolType = "rect";
+          proxySymbol = symbolBuildProxies2[symbolType];
+        }
+        symbolShapeMakers2[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);
+        proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);
+      }
+    }
+  });
+  function symbolPathSetColor2(color2, innerColor2) {
+    if (this.type !== "image") {
+      var symbolStyle = this.style;
+      var symbolShape = this.shape;
+      if (symbolShape && symbolShape.symbolType === "line") {
+        symbolStyle.stroke = color2;
+      } else if (this.__isEmptyBrush) {
+        symbolStyle.stroke = color2;
+        symbolStyle.fill = innerColor2 || "#fff";
+      } else {
+        symbolStyle.fill && (symbolStyle.fill = color2);
+        symbolStyle.stroke && (symbolStyle.stroke = color2);
+      }
+      this.dirty(false);
+    }
+  }
+  function createSymbol2(symbolType, x2, y2, w2, h3, color2, keepAspect) {
+    var isEmpty = symbolType.indexOf("empty") === 0;
+    if (isEmpty) {
+      symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);
+    }
+    var symbolPath;
+    if (symbolType.indexOf("image://") === 0) {
+      symbolPath = graphic2.makeImage(symbolType.slice(8), new BoundingRect2(x2, y2, w2, h3), keepAspect ? "center" : "cover");
+    } else if (symbolType.indexOf("path://") === 0) {
+      symbolPath = graphic2.makePath(symbolType.slice(7), {}, new BoundingRect2(x2, y2, w2, h3), keepAspect ? "center" : "cover");
+    } else {
+      symbolPath = new SymbolClz2({
+        shape: {
+          symbolType,
+          x: x2,
+          y: y2,
+          width: w2,
+          height: h3
+        }
+      });
+    }
+    symbolPath.__isEmptyBrush = isEmpty;
+    symbolPath.setColor = symbolPathSetColor2;
+    symbolPath.setColor(color2);
+    return symbolPath;
+  }
+  symbol$1.createSymbol = createSymbol2;
+  return symbol$1;
+}
+var hasRequiredHelper$4;
+function requireHelper$4() {
+  if (hasRequiredHelper$4)
+    return helper$6;
+  hasRequiredHelper$4 = 1;
+  var zrUtil2 = util$a;
+  var createListFromArray = requireCreateListFromArray();
+  var axisHelper2 = requireAxisHelper();
+  var axisModelCommonMixin2 = requireAxisModelCommonMixin();
+  var Model2 = Model_1;
+  var _layout2 = layout$5;
+  _layout2.getLayoutRect;
+  helper$6.getLayoutRect = _layout2.getLayoutRect;
+  var _dataStackHelper = requireDataStackHelper();
+  var enableDataStack2 = _dataStackHelper.enableDataStack;
+  var isDimensionStacked2 = _dataStackHelper.isDimensionStacked;
+  var getStackedDimension2 = _dataStackHelper.getStackedDimension;
+  var _completeDimensions = requireCompleteDimensions();
+  helper$6.completeDimensions = _completeDimensions;
+  var _createDimensions = requireCreateDimensions();
+  helper$6.createDimensions = _createDimensions;
+  var _symbol = requireSymbol$1();
+  helper$6.createSymbol = _symbol.createSymbol;
+  function createList2(seriesModel) {
+    return createListFromArray(seriesModel.getSource(), seriesModel);
+  }
+  var dataStack2 = {
+    isDimensionStacked: isDimensionStacked2,
+    enableDataStack: enableDataStack2,
+    getStackedDimension: getStackedDimension2
+  };
+  function createScale2(dataExtent, option) {
+    var axisModel = option;
+    if (!Model2.isInstance(option)) {
+      axisModel = new Model2(option);
+      zrUtil2.mixin(axisModel, axisModelCommonMixin2);
+    }
+    var scale2 = axisHelper2.createScaleByModel(axisModel);
+    scale2.setExtent(dataExtent[0], dataExtent[1]);
+    axisHelper2.niceScaleExtent(scale2, axisModel);
+    return scale2;
+  }
+  function mixinAxisModelCommonMethods2(Model3) {
+    zrUtil2.mixin(Model3, axisModelCommonMixin2);
+  }
+  helper$6.createList = createList2;
+  helper$6.dataStack = dataStack2;
+  helper$6.createScale = createScale2;
+  helper$6.mixinAxisModelCommonMethods = mixinAxisModelCommonMethods2;
+  return helper$6;
+}
+var polygon = {};
+var hasRequiredPolygon;
+function requirePolygon() {
+  if (hasRequiredPolygon)
+    return polygon;
+  hasRequiredPolygon = 1;
+  var windingLine2 = windingLine_1;
+  var EPSILON2 = 1e-8;
+  function isAroundEqual2(a2, b2) {
+    return Math.abs(a2 - b2) < EPSILON2;
+  }
+  function contain2(points2, x2, y2) {
+    var w2 = 0;
+    var p2 = points2[0];
+    if (!p2) {
+      return false;
+    }
+    for (var i2 = 1; i2 < points2.length; i2++) {
+      var p22 = points2[i2];
+      w2 += windingLine2(p2[0], p2[1], p22[0], p22[1], x2, y2);
+      p2 = p22;
+    }
+    var p0 = points2[0];
+    if (!isAroundEqual2(p2[0], p0[0]) || !isAroundEqual2(p2[1], p0[1])) {
+      w2 += windingLine2(p2[0], p2[1], p0[0], p0[1], x2, y2);
+    }
+    return w2 !== 0;
+  }
+  polygon.contain = contain2;
+  return polygon;
+}
+var Region_1;
+var hasRequiredRegion;
+function requireRegion() {
+  if (hasRequiredRegion)
+    return Region_1;
+  hasRequiredRegion = 1;
+  var BoundingRect2 = BoundingRect_1;
+  var bbox2 = requireBbox();
+  var vec22 = vector$3;
+  var polygonContain = requirePolygon();
+  function Region2(name2, geometries, cp) {
+    this.name = name2;
+    this.geometries = geometries;
+    if (!cp) {
+      var rect = this.getBoundingRect();
+      cp = [rect.x + rect.width / 2, rect.y + rect.height / 2];
+    } else {
+      cp = [cp[0], cp[1]];
+    }
+    this.center = cp;
+  }
+  Region2.prototype = {
+    constructor: Region2,
+    properties: null,
+    /**
+     * @return {module:zrender/core/BoundingRect}
+     */
+    getBoundingRect: function() {
+      var rect = this._rect;
+      if (rect) {
+        return rect;
+      }
+      var MAX_NUMBER = Number.MAX_VALUE;
+      var min3 = [MAX_NUMBER, MAX_NUMBER];
+      var max3 = [-MAX_NUMBER, -MAX_NUMBER];
+      var min22 = [];
+      var max22 = [];
+      var geometries = this.geometries;
+      for (var i2 = 0; i2 < geometries.length; i2++) {
+        if (geometries[i2].type !== "polygon") {
+          continue;
+        }
+        var exterior = geometries[i2].exterior;
+        bbox2.fromPoints(exterior, min22, max22);
+        vec22.min(min3, min3, min22);
+        vec22.max(max3, max3, max22);
+      }
+      if (i2 === 0) {
+        min3[0] = min3[1] = max3[0] = max3[1] = 0;
+      }
+      return this._rect = new BoundingRect2(min3[0], min3[1], max3[0] - min3[0], max3[1] - min3[1]);
+    },
+    /**
+     * @param {<Array.<number>} coord
+     * @return {boolean}
+     */
+    contain: function(coord) {
+      var rect = this.getBoundingRect();
+      var geometries = this.geometries;
+      if (!rect.contain(coord[0], coord[1])) {
+        return false;
+      }
+      loopGeo:
+        for (var i2 = 0, len2 = geometries.length; i2 < len2; i2++) {
+          if (geometries[i2].type !== "polygon") {
+            continue;
+          }
+          var exterior = geometries[i2].exterior;
+          var interiors = geometries[i2].interiors;
+          if (polygonContain.contain(exterior, coord[0], coord[1])) {
+            for (var k2 = 0; k2 < (interiors ? interiors.length : 0); k2++) {
+              if (polygonContain.contain(interiors[k2])) {
+                continue loopGeo;
+              }
+            }
+            return true;
+          }
+        }
+      return false;
+    },
+    transformTo: function(x2, y2, width, height) {
+      var rect = this.getBoundingRect();
+      var aspect = rect.width / rect.height;
+      if (!width) {
+        width = aspect * height;
+      } else if (!height) {
+        height = width / aspect;
+      }
+      var target = new BoundingRect2(x2, y2, width, height);
+      var transform3 = rect.calculateTransform(target);
+      var geometries = this.geometries;
+      for (var i2 = 0; i2 < geometries.length; i2++) {
+        if (geometries[i2].type !== "polygon") {
+          continue;
+        }
+        var exterior = geometries[i2].exterior;
+        var interiors = geometries[i2].interiors;
+        for (var p2 = 0; p2 < exterior.length; p2++) {
+          vec22.applyTransform(exterior[p2], exterior[p2], transform3);
+        }
+        for (var h3 = 0; h3 < (interiors ? interiors.length : 0); h3++) {
+          for (var p2 = 0; p2 < interiors[h3].length; p2++) {
+            vec22.applyTransform(interiors[h3][p2], interiors[h3][p2], transform3);
+          }
+        }
+      }
+      rect = this._rect;
+      rect.copy(target);
+      this.center = [rect.x + rect.width / 2, rect.y + rect.height / 2];
+    },
+    cloneShallow: function(name2) {
+      name2 == null && (name2 = this.name);
+      var newRegion = new Region2(name2, this.geometries, this.center);
+      newRegion._rect = this._rect;
+      newRegion.transformTo = null;
+      return newRegion;
+    }
+  };
+  var _default68 = Region2;
+  Region_1 = _default68;
+  return Region_1;
+}
+var parseGeoJson;
+var hasRequiredParseGeoJson;
+function requireParseGeoJson() {
+  if (hasRequiredParseGeoJson)
+    return parseGeoJson;
+  hasRequiredParseGeoJson = 1;
+  var zrUtil2 = util$a;
+  var Region2 = requireRegion();
+  function decode2(json) {
+    if (!json.UTF8Encoding) {
+      return json;
+    }
+    var encodeScale = json.UTF8Scale;
+    if (encodeScale == null) {
+      encodeScale = 1024;
+    }
+    var features2 = json.features;
+    for (var f2 = 0; f2 < features2.length; f2++) {
+      var feature = features2[f2];
+      var geometry = feature.geometry;
+      var coordinates = geometry.coordinates;
+      var encodeOffsets = geometry.encodeOffsets;
+      for (var c2 = 0; c2 < coordinates.length; c2++) {
+        var coordinate = coordinates[c2];
+        if (geometry.type === "Polygon") {
+          coordinates[c2] = decodePolygon(coordinate, encodeOffsets[c2], encodeScale);
+        } else if (geometry.type === "MultiPolygon") {
+          for (var c22 = 0; c22 < coordinate.length; c22++) {
+            var polygon2 = coordinate[c22];
+            coordinate[c22] = decodePolygon(polygon2, encodeOffsets[c2][c22], encodeScale);
+          }
+        }
+      }
+    }
+    json.UTF8Encoding = false;
+    return json;
+  }
+  function decodePolygon(coordinate, encodeOffsets, encodeScale) {
+    var result2 = [];
+    var prevX = encodeOffsets[0];
+    var prevY = encodeOffsets[1];
+    for (var i2 = 0; i2 < coordinate.length; i2 += 2) {
+      var x2 = coordinate.charCodeAt(i2) - 64;
+      var y2 = coordinate.charCodeAt(i2 + 1) - 64;
+      x2 = x2 >> 1 ^ -(x2 & 1);
+      y2 = y2 >> 1 ^ -(y2 & 1);
+      x2 += prevX;
+      y2 += prevY;
+      prevX = x2;
+      prevY = y2;
+      result2.push([x2 / encodeScale, y2 / encodeScale]);
+    }
+    return result2;
+  }
+  function _default68(geoJson, nameProperty) {
+    decode2(geoJson);
+    return zrUtil2.map(zrUtil2.filter(geoJson.features, function(featureObj) {
+      return featureObj.geometry && featureObj.properties && featureObj.geometry.coordinates.length > 0;
+    }), function(featureObj) {
+      var properties = featureObj.properties;
+      var geo2 = featureObj.geometry;
+      var coordinates = geo2.coordinates;
+      var geometries = [];
+      if (geo2.type === "Polygon") {
+        geometries.push({
+          type: "polygon",
+          // According to the GeoJSON specification.
+          // First must be exterior, and the rest are all interior(holes).
+          exterior: coordinates[0],
+          interiors: coordinates.slice(1)
+        });
+      }
+      if (geo2.type === "MultiPolygon") {
+        zrUtil2.each(coordinates, function(item) {
+          if (item[0]) {
+            geometries.push({
+              type: "polygon",
+              exterior: item[0],
+              interiors: item.slice(1)
+            });
+          }
+        });
+      }
+      var region = new Region2(properties[nameProperty || "name"], geometries, properties.cp);
+      region.properties = properties;
+      return region;
+    });
+  }
+  parseGeoJson = _default68;
+  return parseGeoJson;
+}
+var axisTickLabelBuilder = {};
+var hasRequiredAxisTickLabelBuilder;
+function requireAxisTickLabelBuilder() {
+  if (hasRequiredAxisTickLabelBuilder)
+    return axisTickLabelBuilder;
+  hasRequiredAxisTickLabelBuilder = 1;
+  var zrUtil2 = util$a;
+  var textContain2 = text;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var _axisHelper = requireAxisHelper();
+  var makeLabelFormatter2 = _axisHelper.makeLabelFormatter;
+  var getOptionCategoryInterval2 = _axisHelper.getOptionCategoryInterval;
+  var shouldShowAllLabels2 = _axisHelper.shouldShowAllLabels;
+  var inner2 = makeInner2();
+  function createAxisLabels2(axis2) {
+    return axis2.type === "category" ? makeCategoryLabels2(axis2) : makeRealNumberLabels2(axis2);
+  }
+  function createAxisTicks2(axis2, tickModel) {
+    return axis2.type === "category" ? makeCategoryTicks2(axis2, tickModel) : {
+      ticks: axis2.scale.getTicks()
+    };
+  }
+  function makeCategoryLabels2(axis2) {
+    var labelModel = axis2.getLabelModel();
+    var result2 = makeCategoryLabelsActually2(axis2, labelModel);
+    return !labelModel.get("show") || axis2.scale.isBlank() ? {
+      labels: [],
+      labelCategoryInterval: result2.labelCategoryInterval
+    } : result2;
+  }
+  function makeCategoryLabelsActually2(axis2, labelModel) {
+    var labelsCache = getListCache2(axis2, "labels");
+    var optionLabelInterval = getOptionCategoryInterval2(labelModel);
+    var result2 = listCacheGet2(labelsCache, optionLabelInterval);
+    if (result2) {
+      return result2;
+    }
+    var labels;
+    var numericLabelInterval;
+    if (zrUtil2.isFunction(optionLabelInterval)) {
+      labels = makeLabelsByCustomizedCategoryInterval2(axis2, optionLabelInterval);
+    } else {
+      numericLabelInterval = optionLabelInterval === "auto" ? makeAutoCategoryInterval2(axis2) : optionLabelInterval;
+      labels = makeLabelsByNumericCategoryInterval2(axis2, numericLabelInterval);
+    }
+    return listCacheSet2(labelsCache, optionLabelInterval, {
+      labels,
+      labelCategoryInterval: numericLabelInterval
+    });
+  }
+  function makeCategoryTicks2(axis2, tickModel) {
+    var ticksCache = getListCache2(axis2, "ticks");
+    var optionTickInterval = getOptionCategoryInterval2(tickModel);
+    var result2 = listCacheGet2(ticksCache, optionTickInterval);
+    if (result2) {
+      return result2;
+    }
+    var ticks;
+    var tickCategoryInterval;
+    if (!tickModel.get("show") || axis2.scale.isBlank()) {
+      ticks = [];
+    }
+    if (zrUtil2.isFunction(optionTickInterval)) {
+      ticks = makeLabelsByCustomizedCategoryInterval2(axis2, optionTickInterval, true);
+    } else if (optionTickInterval === "auto") {
+      var labelsResult = makeCategoryLabelsActually2(axis2, axis2.getLabelModel());
+      tickCategoryInterval = labelsResult.labelCategoryInterval;
+      ticks = zrUtil2.map(labelsResult.labels, function(labelItem) {
+        return labelItem.tickValue;
+      });
+    } else {
+      tickCategoryInterval = optionTickInterval;
+      ticks = makeLabelsByNumericCategoryInterval2(axis2, tickCategoryInterval, true);
+    }
+    return listCacheSet2(ticksCache, optionTickInterval, {
+      ticks,
+      tickCategoryInterval
+    });
+  }
+  function makeRealNumberLabels2(axis2) {
+    var ticks = axis2.scale.getTicks();
+    var labelFormatter = makeLabelFormatter2(axis2);
+    return {
+      labels: zrUtil2.map(ticks, function(tickValue, idx) {
+        return {
+          formattedLabel: labelFormatter(tickValue, idx),
+          rawLabel: axis2.scale.getLabel(tickValue),
+          tickValue
+        };
+      })
+    };
+  }
+  function getListCache2(axis2, prop2) {
+    return inner2(axis2)[prop2] || (inner2(axis2)[prop2] = []);
+  }
+  function listCacheGet2(cache, key2) {
+    for (var i2 = 0; i2 < cache.length; i2++) {
+      if (cache[i2].key === key2) {
+        return cache[i2].value;
+      }
+    }
+  }
+  function listCacheSet2(cache, key2, value) {
+    cache.push({
+      key: key2,
+      value
+    });
+    return value;
+  }
+  function makeAutoCategoryInterval2(axis2) {
+    var result2 = inner2(axis2).autoInterval;
+    return result2 != null ? result2 : inner2(axis2).autoInterval = axis2.calculateCategoryInterval();
+  }
+  function calculateCategoryInterval2(axis2) {
+    var params2 = fetchAutoCategoryIntervalCalculationParams2(axis2);
+    var labelFormatter = makeLabelFormatter2(axis2);
+    var rotation = (params2.axisRotate - params2.labelRotate) / 180 * Math.PI;
+    var ordinalScale = axis2.scale;
+    var ordinalExtent = ordinalScale.getExtent();
+    var tickCount = ordinalScale.count();
+    if (ordinalExtent[1] - ordinalExtent[0] < 1) {
+      return 0;
+    }
+    var step2 = 1;
+    if (tickCount > 40) {
+      step2 = Math.max(1, Math.floor(tickCount / 40));
+    }
+    var tickValue = ordinalExtent[0];
+    var unitSpan = axis2.dataToCoord(tickValue + 1) - axis2.dataToCoord(tickValue);
+    var unitW = Math.abs(unitSpan * Math.cos(rotation));
+    var unitH = Math.abs(unitSpan * Math.sin(rotation));
+    var maxW = 0;
+    var maxH = 0;
+    for (; tickValue <= ordinalExtent[1]; tickValue += step2) {
+      var width = 0;
+      var height = 0;
+      var rect = textContain2.getBoundingRect(labelFormatter(tickValue), params2.font, "center", "top");
+      width = rect.width * 1.3;
+      height = rect.height * 1.3;
+      maxW = Math.max(maxW, width, 7);
+      maxH = Math.max(maxH, height, 7);
+    }
+    var dw = maxW / unitW;
+    var dh = maxH / unitH;
+    isNaN(dw) && (dw = Infinity);
+    isNaN(dh) && (dh = Infinity);
+    var interval = Math.max(0, Math.floor(Math.min(dw, dh)));
+    var cache = inner2(axis2.model);
+    var axisExtent = axis2.getExtent();
+    var lastAutoInterval = cache.lastAutoInterval;
+    var lastTickCount = cache.lastTickCount;
+    if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 && lastAutoInterval > interval && cache.axisExtend0 === axisExtent[0] && cache.axisExtend1 === axisExtent[1]) {
+      interval = lastAutoInterval;
+    } else {
+      cache.lastTickCount = tickCount;
+      cache.lastAutoInterval = interval;
+      cache.axisExtend0 = axisExtent[0];
+      cache.axisExtend1 = axisExtent[1];
+    }
+    return interval;
+  }
+  function fetchAutoCategoryIntervalCalculationParams2(axis2) {
+    var labelModel = axis2.getLabelModel();
+    return {
+      axisRotate: axis2.getRotate ? axis2.getRotate() : axis2.isHorizontal && !axis2.isHorizontal() ? 90 : 0,
+      labelRotate: labelModel.get("rotate") || 0,
+      font: labelModel.getFont()
+    };
+  }
+  function makeLabelsByNumericCategoryInterval2(axis2, categoryInterval, onlyTick) {
+    var labelFormatter = makeLabelFormatter2(axis2);
+    var ordinalScale = axis2.scale;
+    var ordinalExtent = ordinalScale.getExtent();
+    var labelModel = axis2.getLabelModel();
+    var result2 = [];
+    var step2 = Math.max((categoryInterval || 0) + 1, 1);
+    var startTick = ordinalExtent[0];
+    var tickCount = ordinalScale.count();
+    if (startTick !== 0 && step2 > 1 && tickCount / step2 > 2) {
+      startTick = Math.round(Math.ceil(startTick / step2) * step2);
+    }
+    var showAllLabel = shouldShowAllLabels2(axis2);
+    var includeMinLabel = labelModel.get("showMinLabel") || showAllLabel;
+    var includeMaxLabel = labelModel.get("showMaxLabel") || showAllLabel;
+    if (includeMinLabel && startTick !== ordinalExtent[0]) {
+      addItem(ordinalExtent[0]);
+    }
+    var tickValue = startTick;
+    for (; tickValue <= ordinalExtent[1]; tickValue += step2) {
+      addItem(tickValue);
+    }
+    if (includeMaxLabel && tickValue - step2 !== ordinalExtent[1]) {
+      addItem(ordinalExtent[1]);
+    }
+    function addItem(tVal) {
+      result2.push(onlyTick ? tVal : {
+        formattedLabel: labelFormatter(tVal),
+        rawLabel: ordinalScale.getLabel(tVal),
+        tickValue: tVal
+      });
+    }
+    return result2;
+  }
+  function makeLabelsByCustomizedCategoryInterval2(axis2, categoryInterval, onlyTick) {
+    var ordinalScale = axis2.scale;
+    var labelFormatter = makeLabelFormatter2(axis2);
+    var result2 = [];
+    zrUtil2.each(ordinalScale.getTicks(), function(tickValue) {
+      var rawLabel = ordinalScale.getLabel(tickValue);
+      if (categoryInterval(tickValue, rawLabel)) {
+        result2.push(onlyTick ? tickValue : {
+          formattedLabel: labelFormatter(tickValue),
+          rawLabel,
+          tickValue
+        });
+      }
+    });
+    return result2;
+  }
+  axisTickLabelBuilder.createAxisLabels = createAxisLabels2;
+  axisTickLabelBuilder.createAxisTicks = createAxisTicks2;
+  axisTickLabelBuilder.calculateCategoryInterval = calculateCategoryInterval2;
+  return axisTickLabelBuilder;
+}
+var Axis_1;
+var hasRequiredAxis$1;
+function requireAxis$1() {
+  if (hasRequiredAxis$1)
+    return Axis_1;
+  hasRequiredAxis$1 = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var map2 = _util2.map;
+  var _number2 = requireNumber();
+  var linearMap2 = _number2.linearMap;
+  var getPixelPrecision2 = _number2.getPixelPrecision;
+  var round2 = _number2.round;
+  var _axisTickLabelBuilder = requireAxisTickLabelBuilder();
+  var createAxisTicks2 = _axisTickLabelBuilder.createAxisTicks;
+  var createAxisLabels2 = _axisTickLabelBuilder.createAxisLabels;
+  var calculateCategoryInterval2 = _axisTickLabelBuilder.calculateCategoryInterval;
+  var NORMALIZED_EXTENT2 = [0, 1];
+  var Axis2 = function(dim, scale2, extent3) {
+    this.dim = dim;
+    this.scale = scale2;
+    this._extent = extent3 || [0, 0];
+    this.inverse = false;
+    this.onBand = false;
+  };
+  Axis2.prototype = {
+    constructor: Axis2,
+    /**
+     * If axis extent contain given coord
+     * @param {number} coord
+     * @return {boolean}
+     */
+    contain: function(coord) {
+      var extent3 = this._extent;
+      var min3 = Math.min(extent3[0], extent3[1]);
+      var max3 = Math.max(extent3[0], extent3[1]);
+      return coord >= min3 && coord <= max3;
+    },
+    /**
+     * If axis extent contain given data
+     * @param {number} data
+     * @return {boolean}
+     */
+    containData: function(data2) {
+      return this.scale.contain(data2);
+    },
+    /**
+     * Get coord extent.
+     * @return {Array.<number>}
+     */
+    getExtent: function() {
+      return this._extent.slice();
+    },
+    /**
+     * Get precision used for formatting
+     * @param {Array.<number>} [dataExtent]
+     * @return {number}
+     */
+    getPixelPrecision: function(dataExtent) {
+      return getPixelPrecision2(dataExtent || this.scale.getExtent(), this._extent);
+    },
+    /**
+     * Set coord extent
+     * @param {number} start
+     * @param {number} end
+     */
+    setExtent: function(start2, end2) {
+      var extent3 = this._extent;
+      extent3[0] = start2;
+      extent3[1] = end2;
+    },
+    /**
+     * Convert data to coord. Data is the rank if it has an ordinal scale
+     * @param {number} data
+     * @param  {boolean} clamp
+     * @return {number}
+     */
+    dataToCoord: function(data2, clamp2) {
+      var extent3 = this._extent;
+      var scale2 = this.scale;
+      data2 = scale2.normalize(data2);
+      if (this.onBand && scale2.type === "ordinal") {
+        extent3 = extent3.slice();
+        fixExtentWithBands2(extent3, scale2.count());
+      }
+      return linearMap2(data2, NORMALIZED_EXTENT2, extent3, clamp2);
+    },
+    /**
+     * Convert coord to data. Data is the rank if it has an ordinal scale
+     * @param {number} coord
+     * @param  {boolean} clamp
+     * @return {number}
+     */
+    coordToData: function(coord, clamp2) {
+      var extent3 = this._extent;
+      var scale2 = this.scale;
+      if (this.onBand && scale2.type === "ordinal") {
+        extent3 = extent3.slice();
+        fixExtentWithBands2(extent3, scale2.count());
+      }
+      var t2 = linearMap2(coord, extent3, NORMALIZED_EXTENT2, clamp2);
+      return this.scale.scale(t2);
+    },
+    /**
+     * Convert pixel point to data in axis
+     * @param {Array.<number>} point
+     * @param  {boolean} clamp
+     * @return {number} data
+     */
+    pointToData: function(point, clamp2) {
+    },
+    /**
+     * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,
+     * `axis.getTicksCoords` considers `onBand`, which is used by
+     * `boundaryGap:true` of category axis and splitLine and splitArea.
+     * @param {Object} [opt]
+     * @param {Model} [opt.tickModel=axis.model.getModel('axisTick')]
+     * @param {boolean} [opt.clamp] If `true`, the first and the last
+     *        tick must be at the axis end points. Otherwise, clip ticks
+     *        that outside the axis extent.
+     * @return {Array.<Object>} [{
+     *     coord: ...,
+     *     tickValue: ...
+     * }, ...]
+     */
+    getTicksCoords: function(opt) {
+      opt = opt || {};
+      var tickModel = opt.tickModel || this.getTickModel();
+      var result2 = createAxisTicks2(this, tickModel);
+      var ticks = result2.ticks;
+      var ticksCoords = map2(ticks, function(tickValue) {
+        return {
+          coord: this.dataToCoord(tickValue),
+          tickValue
+        };
+      }, this);
+      var alignWithLabel = tickModel.get("alignWithLabel");
+      fixOnBandTicksCoords2(this, ticksCoords, alignWithLabel, opt.clamp);
+      return ticksCoords;
+    },
+    /**
+     * @return {Array.<Array.<Object>>} [{ coord: ..., tickValue: ...}]
+     */
+    getMinorTicksCoords: function() {
+      if (this.scale.type === "ordinal") {
+        return [];
+      }
+      var minorTickModel = this.model.getModel("minorTick");
+      var splitNumber = minorTickModel.get("splitNumber");
+      if (!(splitNumber > 0 && splitNumber < 100)) {
+        splitNumber = 5;
+      }
+      var minorTicks = this.scale.getMinorTicks(splitNumber);
+      var minorTicksCoords = map2(minorTicks, function(minorTicksGroup) {
+        return map2(minorTicksGroup, function(minorTick) {
+          return {
+            coord: this.dataToCoord(minorTick),
+            tickValue: minorTick
+          };
+        }, this);
+      }, this);
+      return minorTicksCoords;
+    },
+    /**
+     * @return {Array.<Object>} [{
+     *     formattedLabel: string,
+     *     rawLabel: axis.scale.getLabel(tickValue)
+     *     tickValue: number
+     * }, ...]
+     */
+    getViewLabels: function() {
+      return createAxisLabels2(this).labels;
+    },
+    /**
+     * @return {module:echarts/coord/model/Model}
+     */
+    getLabelModel: function() {
+      return this.model.getModel("axisLabel");
+    },
+    /**
+     * Notice here we only get the default tick model. For splitLine
+     * or splitArea, we should pass the splitLineModel or splitAreaModel
+     * manually when calling `getTicksCoords`.
+     * In GL, this method may be overrided to:
+     * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`
+     * @return {module:echarts/coord/model/Model}
+     */
+    getTickModel: function() {
+      return this.model.getModel("axisTick");
+    },
+    /**
+     * Get width of band
+     * @return {number}
+     */
+    getBandWidth: function() {
+      var axisExtent = this._extent;
+      var dataExtent = this.scale.getExtent();
+      var len2 = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0);
+      len2 === 0 && (len2 = 1);
+      var size = Math.abs(axisExtent[1] - axisExtent[0]);
+      return Math.abs(size) / len2;
+    },
+    /**
+     * @abstract
+     * @return {boolean} Is horizontal
+     */
+    isHorizontal: null,
+    /**
+     * @abstract
+     * @return {number} Get axis rotate, by degree.
+     */
+    getRotate: null,
+    /**
+     * Only be called in category axis.
+     * Can be overrided, consider other axes like in 3D.
+     * @return {number} Auto interval for cateogry axis tick and label
+     */
+    calculateCategoryInterval: function() {
+      return calculateCategoryInterval2(this);
+    }
+  };
+  function fixExtentWithBands2(extent3, nTick) {
+    var size = extent3[1] - extent3[0];
+    var len2 = nTick;
+    var margin = size / len2 / 2;
+    extent3[0] += margin;
+    extent3[1] -= margin;
+  }
+  function fixOnBandTicksCoords2(axis2, ticksCoords, alignWithLabel, clamp2) {
+    var ticksLen = ticksCoords.length;
+    if (!axis2.onBand || alignWithLabel || !ticksLen) {
+      return;
+    }
+    var axisExtent = axis2.getExtent();
+    var last;
+    var diffSize;
+    if (ticksLen === 1) {
+      ticksCoords[0].coord = axisExtent[0];
+      last = ticksCoords[1] = {
+        coord: axisExtent[0]
+      };
+    } else {
+      var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;
+      var shift = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;
+      each2(ticksCoords, function(ticksItem) {
+        ticksItem.coord -= shift / 2;
+      });
+      var dataExtent = axis2.scale.getExtent();
+      diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;
+      last = {
+        coord: ticksCoords[ticksLen - 1].coord + shift * diffSize
+      };
+      ticksCoords.push(last);
+    }
+    var inverse = axisExtent[0] > axisExtent[1];
+    if (littleThan2(ticksCoords[0].coord, axisExtent[0])) {
+      clamp2 ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();
+    }
+    if (clamp2 && littleThan2(axisExtent[0], ticksCoords[0].coord)) {
+      ticksCoords.unshift({
+        coord: axisExtent[0]
+      });
+    }
+    if (littleThan2(axisExtent[1], last.coord)) {
+      clamp2 ? last.coord = axisExtent[1] : ticksCoords.pop();
+    }
+    if (clamp2 && littleThan2(last.coord, axisExtent[1])) {
+      ticksCoords.push({
+        coord: axisExtent[1]
+      });
+    }
+    function littleThan2(a2, b2) {
+      a2 = round2(a2);
+      b2 = round2(b2);
+      return inverse ? a2 > b2 : a2 < b2;
+    }
+  }
+  var _default68 = Axis2;
+  Axis_1 = _default68;
+  return Axis_1;
+}
+var hasRequired_export;
+function require_export() {
+  if (hasRequired_export)
+    return _export;
+  hasRequired_export = 1;
+  var zrender2 = zrender$1;
+  _export.zrender = zrender2;
+  var matrix2 = matrix$5;
+  _export.matrix = matrix2;
+  var vector2 = vector$3;
+  _export.vector = vector2;
+  var zrUtil2 = util$a;
+  var colorTool2 = color$2;
+  _export.color = colorTool2;
+  var graphicUtil2 = graphic$6;
+  var numberUtil2 = requireNumber();
+  _export.number = numberUtil2;
+  var formatUtil2 = format$6;
+  _export.format = formatUtil2;
+  var _throttle = throttle$3;
+  _throttle.throttle;
+  _export.throttle = _throttle.throttle;
+  var ecHelper = requireHelper$4();
+  _export.helper = ecHelper;
+  var parseGeoJSON2 = requireParseGeoJson();
+  _export.parseGeoJSON = parseGeoJSON2;
+  var _List = requireList();
+  _export.List = _List;
+  var _Model = Model_1;
+  _export.Model = _Model;
+  var _Axis = requireAxis$1();
+  _export.Axis = _Axis;
+  var _env = env_1;
+  _export.env = _env;
+  var parseGeoJson2 = parseGeoJSON2;
+  var ecUtil = {};
+  zrUtil2.each(["map", "each", "filter", "indexOf", "inherits", "reduce", "filter", "bind", "curry", "isArray", "isString", "isObject", "isFunction", "extend", "defaults", "clone", "merge"], function(name2) {
+    ecUtil[name2] = zrUtil2[name2];
+  });
+  var graphic2 = {};
+  zrUtil2.each(["extendShape", "extendPath", "makePath", "makeImage", "mergePath", "resizePath", "createIcon", "setHoverStyle", "setLabelStyle", "setTextStyle", "setText", "getFont", "updateProps", "initProps", "getTransform", "clipPointsByRect", "clipRectByRect", "registerShape", "getShapeClass", "Group", "Image", "Text", "Circle", "Sector", "Ring", "Polygon", "Polyline", "Rect", "Line", "BezierCurve", "Arc", "IncrementalDisplayable", "CompoundPath", "LinearGradient", "RadialGradient", "BoundingRect"], function(name2) {
+    graphic2[name2] = graphicUtil2[name2];
+  });
+  _export.parseGeoJson = parseGeoJson2;
+  _export.util = ecUtil;
+  _export.graphic = graphic2;
+  return _export;
+}
+(function(exports2) {
+  var zrender2 = zrender$1;
+  var zrUtil2 = util$a;
+  var colorTool2 = color$2;
+  var env2 = env_1;
+  var timsort2 = timsort$2;
+  var Eventful2 = Eventful_1;
+  var GlobalModel2 = Global;
+  var ExtensionAPI2 = ExtensionAPI_1;
+  var CoordinateSystemManager2 = CoordinateSystem$1;
+  var OptionManager2 = OptionManager_1;
+  var backwardCompat2 = backwardCompat$2;
+  var dataStack2 = dataStack$2;
+  var ComponentModel2 = Component$1;
+  var SeriesModel2 = Series;
+  var ComponentView2 = Component_1;
+  var ChartView2 = Chart_1;
+  var graphic2 = graphic$6;
+  var modelUtil2 = model;
+  var _throttle = throttle$3;
+  var throttle2 = _throttle.throttle;
+  var seriesColor$1 = seriesColor;
+  var aria$1 = aria;
+  var loadingDefault = _default_1;
+  var Scheduler2 = Scheduler_1;
+  var lightTheme2 = light;
+  var darkTheme2 = dark;
+  requireDataset();
+  var mapDataStorage$1 = mapDataStorage;
+  var assert2 = zrUtil2.assert;
+  var each2 = zrUtil2.each;
+  var isFunction2 = zrUtil2.isFunction;
+  var isObject2 = zrUtil2.isObject;
+  var parseClassType2 = ComponentModel2.parseClassType;
+  var version2 = "4.9.0";
+  var dependencies2 = {
+    zrender: "4.3.2"
+  };
+  var TEST_FRAME_REMAIN_TIME2 = 1;
+  var PRIORITY_PROCESSOR_FILTER2 = 1e3;
+  var PRIORITY_PROCESSOR_SERIES_FILTER2 = 800;
+  var PRIORITY_PROCESSOR_DATASTACK2 = 900;
+  var PRIORITY_PROCESSOR_STATISTIC2 = 5e3;
+  var PRIORITY_VISUAL_LAYOUT2 = 1e3;
+  var PRIORITY_VISUAL_PROGRESSIVE_LAYOUT2 = 1100;
+  var PRIORITY_VISUAL_GLOBAL2 = 2e3;
+  var PRIORITY_VISUAL_CHART2 = 3e3;
+  var PRIORITY_VISUAL_POST_CHART_LAYOUT2 = 3500;
+  var PRIORITY_VISUAL_COMPONENT2 = 4e3;
+  var PRIORITY_VISUAL_BRUSH2 = 5e3;
+  var PRIORITY2 = {
+    PROCESSOR: {
+      FILTER: PRIORITY_PROCESSOR_FILTER2,
+      SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER2,
+      STATISTIC: PRIORITY_PROCESSOR_STATISTIC2
+    },
+    VISUAL: {
+      LAYOUT: PRIORITY_VISUAL_LAYOUT2,
+      PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT2,
+      GLOBAL: PRIORITY_VISUAL_GLOBAL2,
+      CHART: PRIORITY_VISUAL_CHART2,
+      POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT2,
+      COMPONENT: PRIORITY_VISUAL_COMPONENT2,
+      BRUSH: PRIORITY_VISUAL_BRUSH2
+    }
+  };
+  var IN_MAIN_PROCESS = "__flagInMainProcess";
+  var OPTION_UPDATED = "__optionUpdated";
+  var ACTION_REG2 = /^[a-zA-Z0-9_]+$/;
+  function createRegisterEventWithLowercaseName(method, ignoreDisposed) {
+    return function(eventName, handler, context) {
+      if (!ignoreDisposed && this._disposed) {
+        disposedWarning2(this.id);
+        return;
+      }
+      eventName = eventName && eventName.toLowerCase();
+      Eventful2.prototype[method].call(this, eventName, handler, context);
+    };
+  }
+  function MessageCenter2() {
+    Eventful2.call(this);
+  }
+  MessageCenter2.prototype.on = createRegisterEventWithLowercaseName("on", true);
+  MessageCenter2.prototype.off = createRegisterEventWithLowercaseName("off", true);
+  MessageCenter2.prototype.one = createRegisterEventWithLowercaseName("one", true);
+  zrUtil2.mixin(MessageCenter2, Eventful2);
+  function ECharts2(dom2, theme2, opts2) {
+    opts2 = opts2 || {};
+    if (typeof theme2 === "string") {
+      theme2 = themeStorage2[theme2];
+    }
+    this.id;
+    this.group;
+    this._dom = dom2;
+    var defaultRenderer = "canvas";
+    var zr = this._zr = zrender2.init(dom2, {
+      renderer: opts2.renderer || defaultRenderer,
+      devicePixelRatio: opts2.devicePixelRatio,
+      width: opts2.width,
+      height: opts2.height
+    });
+    this._throttledZrFlush = throttle2(zrUtil2.bind(zr.flush, zr), 17);
+    var theme2 = zrUtil2.clone(theme2);
+    theme2 && backwardCompat2(theme2, true);
+    this._theme = theme2;
+    this._chartsViews = [];
+    this._chartsMap = {};
+    this._componentsViews = [];
+    this._componentsMap = {};
+    this._coordSysMgr = new CoordinateSystemManager2();
+    var api2 = this._api = createExtensionAPI2(this);
+    function prioritySortFunc(a2, b2) {
+      return a2.__prio - b2.__prio;
+    }
+    timsort2(visualFuncs2, prioritySortFunc);
+    timsort2(dataProcessorFuncs2, prioritySortFunc);
+    this._scheduler = new Scheduler2(this, api2, dataProcessorFuncs2, visualFuncs2);
+    Eventful2.call(this, this._ecEventProcessor = new EventProcessor());
+    this._messageCenter = new MessageCenter2();
+    this._initEvents();
+    this.resize = zrUtil2.bind(this.resize, this);
+    this._pendingActions = [];
+    zr.animation.on("frame", this._onframe, this);
+    bindRenderedEvent2(zr, this);
+    zrUtil2.setAsPrimitive(this);
+  }
+  var echartsProto2 = ECharts2.prototype;
+  echartsProto2._onframe = function() {
+    if (this._disposed) {
+      return;
+    }
+    var scheduler = this._scheduler;
+    if (this[OPTION_UPDATED]) {
+      var silent = this[OPTION_UPDATED].silent;
+      this[IN_MAIN_PROCESS] = true;
+      prepare2(this);
+      updateMethods2.update.call(this);
+      this[IN_MAIN_PROCESS] = false;
+      this[OPTION_UPDATED] = false;
+      flushPendingActions2.call(this, silent);
+      triggerUpdatedEvent2.call(this, silent);
+    } else if (scheduler.unfinished) {
+      var remainTime = TEST_FRAME_REMAIN_TIME2;
+      var ecModel = this._model;
+      var api2 = this._api;
+      scheduler.unfinished = false;
+      do {
+        var startTime = +/* @__PURE__ */ new Date();
+        scheduler.performSeriesTasks(ecModel);
+        scheduler.performDataProcessorTasks(ecModel);
+        updateStreamModes2(this, ecModel);
+        scheduler.performVisualTasks(ecModel);
+        renderSeries2(this, this._model, api2, "remain");
+        remainTime -= +/* @__PURE__ */ new Date() - startTime;
+      } while (remainTime > 0 && scheduler.unfinished);
+      if (!scheduler.unfinished) {
+        this._zr.flush();
+      }
+    }
+  };
+  echartsProto2.getDom = function() {
+    return this._dom;
+  };
+  echartsProto2.getZr = function() {
+    return this._zr;
+  };
+  echartsProto2.setOption = function(option, notMerge, lazyUpdate) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    var silent;
+    if (isObject2(notMerge)) {
+      lazyUpdate = notMerge.lazyUpdate;
+      silent = notMerge.silent;
+      notMerge = notMerge.notMerge;
+    }
+    this[IN_MAIN_PROCESS] = true;
+    if (!this._model || notMerge) {
+      var optionManager = new OptionManager2(this._api);
+      var theme2 = this._theme;
+      var ecModel = this._model = new GlobalModel2();
+      ecModel.scheduler = this._scheduler;
+      ecModel.init(null, null, theme2, optionManager);
+    }
+    this._model.setOption(option, optionPreprocessorFuncs2);
+    if (lazyUpdate) {
+      this[OPTION_UPDATED] = {
+        silent
+      };
+      this[IN_MAIN_PROCESS] = false;
+    } else {
+      prepare2(this);
+      updateMethods2.update.call(this);
+      this._zr.flush();
+      this[OPTION_UPDATED] = false;
+      this[IN_MAIN_PROCESS] = false;
+      flushPendingActions2.call(this, silent);
+      triggerUpdatedEvent2.call(this, silent);
+    }
+  };
+  echartsProto2.setTheme = function() {
+    console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0");
+  };
+  echartsProto2.getModel = function() {
+    return this._model;
+  };
+  echartsProto2.getOption = function() {
+    return this._model && this._model.getOption();
+  };
+  echartsProto2.getWidth = function() {
+    return this._zr.getWidth();
+  };
+  echartsProto2.getHeight = function() {
+    return this._zr.getHeight();
+  };
+  echartsProto2.getDevicePixelRatio = function() {
+    return this._zr.painter.dpr || window.devicePixelRatio || 1;
+  };
+  echartsProto2.getRenderedCanvas = function(opts2) {
+    if (!env2.canvasSupported) {
+      return;
+    }
+    opts2 = opts2 || {};
+    opts2.pixelRatio = opts2.pixelRatio || 1;
+    opts2.backgroundColor = opts2.backgroundColor || this._model.get("backgroundColor");
+    var zr = this._zr;
+    return zr.painter.getRenderedCanvas(opts2);
+  };
+  echartsProto2.getSvgDataURL = function() {
+    if (!env2.svgSupported) {
+      return;
+    }
+    var zr = this._zr;
+    var list2 = zr.storage.getDisplayList();
+    zrUtil2.each(list2, function(el) {
+      el.stopAnimation(true);
+    });
+    return zr.painter.toDataURL();
+  };
+  echartsProto2.getDataURL = function(opts2) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    opts2 = opts2 || {};
+    var excludeComponents = opts2.excludeComponents;
+    var ecModel = this._model;
+    var excludesComponentViews = [];
+    var self2 = this;
+    each2(excludeComponents, function(componentType) {
+      ecModel.eachComponent({
+        mainType: componentType
+      }, function(component2) {
+        var view = self2._componentsMap[component2.__viewId];
+        if (!view.group.ignore) {
+          excludesComponentViews.push(view);
+          view.group.ignore = true;
+        }
+      });
+    });
+    var url = this._zr.painter.getType() === "svg" ? this.getSvgDataURL() : this.getRenderedCanvas(opts2).toDataURL("image/" + (opts2 && opts2.type || "png"));
+    each2(excludesComponentViews, function(view) {
+      view.group.ignore = false;
+    });
+    return url;
+  };
+  echartsProto2.getConnectedDataURL = function(opts2) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    if (!env2.canvasSupported) {
+      return;
+    }
+    var isSvg = opts2.type === "svg";
+    var groupId = this.group;
+    var mathMin2 = Math.min;
+    var mathMax2 = Math.max;
+    var MAX_NUMBER = Infinity;
+    if (connectedGroups2[groupId]) {
+      var left = MAX_NUMBER;
+      var top = MAX_NUMBER;
+      var right = -MAX_NUMBER;
+      var bottom = -MAX_NUMBER;
+      var canvasList = [];
+      var dpr2 = opts2 && opts2.pixelRatio || 1;
+      zrUtil2.each(instances2, function(chart, id) {
+        if (chart.group === groupId) {
+          var canvas = isSvg ? chart.getZr().painter.getSvgDom().innerHTML : chart.getRenderedCanvas(zrUtil2.clone(opts2));
+          var boundingRect = chart.getDom().getBoundingClientRect();
+          left = mathMin2(boundingRect.left, left);
+          top = mathMin2(boundingRect.top, top);
+          right = mathMax2(boundingRect.right, right);
+          bottom = mathMax2(boundingRect.bottom, bottom);
+          canvasList.push({
+            dom: canvas,
+            left: boundingRect.left,
+            top: boundingRect.top
+          });
+        }
+      });
+      left *= dpr2;
+      top *= dpr2;
+      right *= dpr2;
+      bottom *= dpr2;
+      var width = right - left;
+      var height = bottom - top;
+      var targetCanvas = zrUtil2.createCanvas();
+      var zr = zrender2.init(targetCanvas, {
+        renderer: isSvg ? "svg" : "canvas"
+      });
+      zr.resize({
+        width,
+        height
+      });
+      if (isSvg) {
+        var content = "";
+        each2(canvasList, function(item) {
+          var x2 = item.left - left;
+          var y2 = item.top - top;
+          content += '<g transform="translate(' + x2 + "," + y2 + ')">' + item.dom + "</g>";
+        });
+        zr.painter.getSvgRoot().innerHTML = content;
+        if (opts2.connectedBackgroundColor) {
+          zr.painter.setBackgroundColor(opts2.connectedBackgroundColor);
+        }
+        zr.refreshImmediately();
+        return zr.painter.toDataURL();
+      } else {
+        if (opts2.connectedBackgroundColor) {
+          zr.add(new graphic2.Rect({
+            shape: {
+              x: 0,
+              y: 0,
+              width,
+              height
+            },
+            style: {
+              fill: opts2.connectedBackgroundColor
+            }
+          }));
+        }
+        each2(canvasList, function(item) {
+          var img = new graphic2.Image({
+            style: {
+              x: item.left * dpr2 - left,
+              y: item.top * dpr2 - top,
+              image: item.dom
+            }
+          });
+          zr.add(img);
+        });
+        zr.refreshImmediately();
+        return targetCanvas.toDataURL("image/" + (opts2 && opts2.type || "png"));
+      }
+    } else {
+      return this.getDataURL(opts2);
+    }
+  };
+  echartsProto2.convertToPixel = zrUtil2.curry(doConvertPixel2, "convertToPixel");
+  echartsProto2.convertFromPixel = zrUtil2.curry(doConvertPixel2, "convertFromPixel");
+  function doConvertPixel2(methodName, finder, value) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    var ecModel = this._model;
+    var coordSysList = this._coordSysMgr.getCoordinateSystems();
+    var result2;
+    finder = modelUtil2.parseFinder(ecModel, finder);
+    for (var i2 = 0; i2 < coordSysList.length; i2++) {
+      var coordSys = coordSysList[i2];
+      if (coordSys[methodName] && (result2 = coordSys[methodName](ecModel, finder, value)) != null) {
+        return result2;
+      }
+    }
+  }
+  echartsProto2.containPixel = function(finder, value) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    var ecModel = this._model;
+    var result2;
+    finder = modelUtil2.parseFinder(ecModel, finder);
+    zrUtil2.each(finder, function(models, key2) {
+      key2.indexOf("Models") >= 0 && zrUtil2.each(models, function(model2) {
+        var coordSys = model2.coordinateSystem;
+        if (coordSys && coordSys.containPoint) {
+          result2 |= !!coordSys.containPoint(value);
+        } else if (key2 === "seriesModels") {
+          var view = this._chartsMap[model2.__viewId];
+          if (view && view.containPoint) {
+            result2 |= view.containPoint(value, model2);
+          }
+        } else
+          ;
+      }, this);
+    }, this);
+    return !!result2;
+  };
+  echartsProto2.getVisual = function(finder, visualType) {
+    var ecModel = this._model;
+    finder = modelUtil2.parseFinder(ecModel, finder, {
+      defaultMainType: "series"
+    });
+    var seriesModel = finder.seriesModel;
+    var data2 = seriesModel.getData();
+    var dataIndexInside = finder.hasOwnProperty("dataIndexInside") ? finder.dataIndexInside : finder.hasOwnProperty("dataIndex") ? data2.indexOfRawIndex(finder.dataIndex) : null;
+    return dataIndexInside != null ? data2.getItemVisual(dataIndexInside, visualType) : data2.getVisual(visualType);
+  };
+  echartsProto2.getViewOfComponentModel = function(componentModel) {
+    return this._componentsMap[componentModel.__viewId];
+  };
+  echartsProto2.getViewOfSeriesModel = function(seriesModel) {
+    return this._chartsMap[seriesModel.__viewId];
+  };
+  var updateMethods2 = {
+    prepareAndUpdate: function(payload) {
+      prepare2(this);
+      updateMethods2.update.call(this, payload);
+    },
+    /**
+     * @param {Object} payload
+     * @private
+     */
+    update: function(payload) {
+      var ecModel = this._model;
+      var api2 = this._api;
+      var zr = this._zr;
+      var coordSysMgr = this._coordSysMgr;
+      var scheduler = this._scheduler;
+      if (!ecModel) {
+        return;
+      }
+      scheduler.restoreData(ecModel, payload);
+      scheduler.performSeriesTasks(ecModel);
+      coordSysMgr.create(ecModel, api2);
+      scheduler.performDataProcessorTasks(ecModel, payload);
+      updateStreamModes2(this, ecModel);
+      coordSysMgr.update(ecModel, api2);
+      clearColorPalette(ecModel);
+      scheduler.performVisualTasks(ecModel, payload);
+      render8(this, ecModel, api2, payload);
+      var backgroundColor2 = ecModel.get("backgroundColor") || "transparent";
+      if (!env2.canvasSupported) {
+        var colorArr = colorTool2.parse(backgroundColor2);
+        backgroundColor2 = colorTool2.stringify(colorArr, "rgb");
+        if (colorArr[3] === 0) {
+          backgroundColor2 = "transparent";
+        }
+      } else {
+        zr.setBackgroundColor(backgroundColor2);
+      }
+      performPostUpdateFuncs(ecModel, api2);
+    },
+    /**
+     * @param {Object} payload
+     * @private
+     */
+    updateTransform: function(payload) {
+      var ecModel = this._model;
+      var ecIns = this;
+      var api2 = this._api;
+      if (!ecModel) {
+        return;
+      }
+      var componentDirtyList = [];
+      ecModel.eachComponent(function(componentType, componentModel) {
+        var componentView = ecIns.getViewOfComponentModel(componentModel);
+        if (componentView && componentView.__alive) {
+          if (componentView.updateTransform) {
+            var result2 = componentView.updateTransform(componentModel, ecModel, api2, payload);
+            result2 && result2.update && componentDirtyList.push(componentView);
+          } else {
+            componentDirtyList.push(componentView);
+          }
+        }
+      });
+      var seriesDirtyMap = zrUtil2.createHashMap();
+      ecModel.eachSeries(function(seriesModel) {
+        var chartView = ecIns._chartsMap[seriesModel.__viewId];
+        if (chartView.updateTransform) {
+          var result2 = chartView.updateTransform(seriesModel, ecModel, api2, payload);
+          result2 && result2.update && seriesDirtyMap.set(seriesModel.uid, 1);
+        } else {
+          seriesDirtyMap.set(seriesModel.uid, 1);
+        }
+      });
+      clearColorPalette(ecModel);
+      this._scheduler.performVisualTasks(ecModel, payload, {
+        setDirty: true,
+        dirtyMap: seriesDirtyMap
+      });
+      renderSeries2(ecIns, ecModel, api2, payload, seriesDirtyMap);
+      performPostUpdateFuncs(ecModel, this._api);
+    },
+    /**
+     * @param {Object} payload
+     * @private
+     */
+    updateView: function(payload) {
+      var ecModel = this._model;
+      if (!ecModel) {
+        return;
+      }
+      ChartView2.markUpdateMethod(payload, "updateView");
+      clearColorPalette(ecModel);
+      this._scheduler.performVisualTasks(ecModel, payload, {
+        setDirty: true
+      });
+      render8(this, this._model, this._api, payload);
+      performPostUpdateFuncs(ecModel, this._api);
+    },
+    /**
+     * @param {Object} payload
+     * @private
+     */
+    updateVisual: function(payload) {
+      updateMethods2.update.call(this, payload);
+    },
+    /**
+     * @param {Object} payload
+     * @private
+     */
+    updateLayout: function(payload) {
+      updateMethods2.update.call(this, payload);
+    }
+  };
+  function prepare2(ecIns) {
+    var ecModel = ecIns._model;
+    var scheduler = ecIns._scheduler;
+    scheduler.restorePipelines(ecModel);
+    scheduler.prepareStageTasks();
+    prepareView2(ecIns, "component", ecModel, scheduler);
+    prepareView2(ecIns, "chart", ecModel, scheduler);
+    scheduler.plan();
+  }
+  function updateDirectly2(ecIns, method, payload, mainType, subType) {
+    var ecModel = ecIns._model;
+    if (!mainType) {
+      each2(ecIns._componentsViews.concat(ecIns._chartsViews), callView);
+      return;
+    }
+    var query = {};
+    query[mainType + "Id"] = payload[mainType + "Id"];
+    query[mainType + "Index"] = payload[mainType + "Index"];
+    query[mainType + "Name"] = payload[mainType + "Name"];
+    var condition = {
+      mainType,
+      query
+    };
+    subType && (condition.subType = subType);
+    var excludeSeriesId = payload.excludeSeriesId;
+    if (excludeSeriesId != null) {
+      excludeSeriesId = zrUtil2.createHashMap(modelUtil2.normalizeToArray(excludeSeriesId));
+    }
+    ecModel && ecModel.eachComponent(condition, function(model2) {
+      if (!excludeSeriesId || excludeSeriesId.get(model2.id) == null) {
+        callView(ecIns[mainType === "series" ? "_chartsMap" : "_componentsMap"][model2.__viewId]);
+      }
+    }, ecIns);
+    function callView(view) {
+      view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);
+    }
+  }
+  echartsProto2.resize = function(opts2) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    this._zr.resize(opts2);
+    var ecModel = this._model;
+    this._loadingFX && this._loadingFX.resize();
+    if (!ecModel) {
+      return;
+    }
+    var optionChanged = ecModel.resetOption("media");
+    var silent = opts2 && opts2.silent;
+    this[IN_MAIN_PROCESS] = true;
+    optionChanged && prepare2(this);
+    updateMethods2.update.call(this);
+    this[IN_MAIN_PROCESS] = false;
+    flushPendingActions2.call(this, silent);
+    triggerUpdatedEvent2.call(this, silent);
+  };
+  function updateStreamModes2(ecIns, ecModel) {
+    var chartsMap = ecIns._chartsMap;
+    var scheduler = ecIns._scheduler;
+    ecModel.eachSeries(function(seriesModel) {
+      scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);
+    });
+  }
+  echartsProto2.showLoading = function(name2, cfg) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    if (isObject2(name2)) {
+      cfg = name2;
+      name2 = "";
+    }
+    name2 = name2 || "default";
+    this.hideLoading();
+    if (!loadingEffects2[name2]) {
+      return;
+    }
+    var el = loadingEffects2[name2](this._api, cfg);
+    var zr = this._zr;
+    this._loadingFX = el;
+    zr.add(el);
+  };
+  echartsProto2.hideLoading = function() {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    this._loadingFX && this._zr.remove(this._loadingFX);
+    this._loadingFX = null;
+  };
+  echartsProto2.makeActionFromEvent = function(eventObj) {
+    var payload = zrUtil2.extend({}, eventObj);
+    payload.type = eventActionMap2[eventObj.type];
+    return payload;
+  };
+  echartsProto2.dispatchAction = function(payload, opt) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    if (!isObject2(opt)) {
+      opt = {
+        silent: !!opt
+      };
+    }
+    if (!actions2[payload.type]) {
+      return;
+    }
+    if (!this._model) {
+      return;
+    }
+    if (this[IN_MAIN_PROCESS]) {
+      this._pendingActions.push(payload);
+      return;
+    }
+    doDispatchAction2.call(this, payload, opt.silent);
+    if (opt.flush) {
+      this._zr.flush(true);
+    } else if (opt.flush !== false && env2.browser.weChat) {
+      this._throttledZrFlush();
+    }
+    flushPendingActions2.call(this, opt.silent);
+    triggerUpdatedEvent2.call(this, opt.silent);
+  };
+  function doDispatchAction2(payload, silent) {
+    var payloadType = payload.type;
+    var escapeConnect = payload.escapeConnect;
+    var actionWrap = actions2[payloadType];
+    var actionInfo2 = actionWrap.actionInfo;
+    var cptType = (actionInfo2.update || "update").split(":");
+    var updateMethod = cptType.pop();
+    cptType = cptType[0] != null && parseClassType2(cptType[0]);
+    this[IN_MAIN_PROCESS] = true;
+    var payloads = [payload];
+    var batched = false;
+    if (payload.batch) {
+      batched = true;
+      payloads = zrUtil2.map(payload.batch, function(item) {
+        item = zrUtil2.defaults(zrUtil2.extend({}, item), payload);
+        item.batch = null;
+        return item;
+      });
+    }
+    var eventObjBatch = [];
+    var eventObj;
+    var isHighDown = payloadType === "highlight" || payloadType === "downplay";
+    each2(payloads, function(batchItem) {
+      eventObj = actionWrap.action(batchItem, this._model, this._api);
+      eventObj = eventObj || zrUtil2.extend({}, batchItem);
+      eventObj.type = actionInfo2.event || eventObj.type;
+      eventObjBatch.push(eventObj);
+      if (isHighDown) {
+        updateDirectly2(this, updateMethod, batchItem, "series");
+      } else if (cptType) {
+        updateDirectly2(this, updateMethod, batchItem, cptType.main, cptType.sub);
+      }
+    }, this);
+    if (updateMethod !== "none" && !isHighDown && !cptType) {
+      if (this[OPTION_UPDATED]) {
+        prepare2(this);
+        updateMethods2.update.call(this, payload);
+        this[OPTION_UPDATED] = false;
+      } else {
+        updateMethods2[updateMethod].call(this, payload);
+      }
+    }
+    if (batched) {
+      eventObj = {
+        type: actionInfo2.event || payloadType,
+        escapeConnect,
+        batch: eventObjBatch
+      };
+    } else {
+      eventObj = eventObjBatch[0];
+    }
+    this[IN_MAIN_PROCESS] = false;
+    !silent && this._messageCenter.trigger(eventObj.type, eventObj);
+  }
+  function flushPendingActions2(silent) {
+    var pendingActions = this._pendingActions;
+    while (pendingActions.length) {
+      var payload = pendingActions.shift();
+      doDispatchAction2.call(this, payload, silent);
+    }
+  }
+  function triggerUpdatedEvent2(silent) {
+    !silent && this.trigger("updated");
+  }
+  function bindRenderedEvent2(zr, ecIns) {
+    zr.on("rendered", function() {
+      ecIns.trigger("rendered");
+      if (
+        // Although zr is dirty if initial animation is not finished
+        // and this checking is called on frame, we also check
+        // animation finished for robustness.
+        zr.animation.isFinished() && !ecIns[OPTION_UPDATED] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length
+      ) {
+        ecIns.trigger("finished");
+      }
+    });
+  }
+  echartsProto2.appendData = function(params2) {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    var seriesIndex = params2.seriesIndex;
+    var ecModel = this.getModel();
+    var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
+    seriesModel.appendData(params2);
+    this._scheduler.unfinished = true;
+  };
+  echartsProto2.on = createRegisterEventWithLowercaseName("on", false);
+  echartsProto2.off = createRegisterEventWithLowercaseName("off", false);
+  echartsProto2.one = createRegisterEventWithLowercaseName("one", false);
+  function prepareView2(ecIns, type2, ecModel, scheduler) {
+    var isComponent = type2 === "component";
+    var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;
+    var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;
+    var zr = ecIns._zr;
+    var api2 = ecIns._api;
+    for (var i2 = 0; i2 < viewList.length; i2++) {
+      viewList[i2].__alive = false;
+    }
+    isComponent ? ecModel.eachComponent(function(componentType, model2) {
+      componentType !== "series" && doPrepare(model2);
+    }) : ecModel.eachSeries(doPrepare);
+    function doPrepare(model2) {
+      var viewId = "_ec_" + model2.id + "_" + model2.type;
+      var view2 = viewMap[viewId];
+      if (!view2) {
+        var classType = parseClassType2(model2.type);
+        var Clazz = isComponent ? ComponentView2.getClass(classType.main, classType.sub) : ChartView2.getClass(classType.sub);
+        view2 = new Clazz();
+        view2.init(ecModel, api2);
+        viewMap[viewId] = view2;
+        viewList.push(view2);
+        zr.add(view2.group);
+      }
+      model2.__viewId = view2.__id = viewId;
+      view2.__alive = true;
+      view2.__model = model2;
+      view2.group.__ecComponentInfo = {
+        mainType: model2.mainType,
+        index: model2.componentIndex
+      };
+      !isComponent && scheduler.prepareView(view2, model2, ecModel, api2);
+    }
+    for (var i2 = 0; i2 < viewList.length; ) {
+      var view = viewList[i2];
+      if (!view.__alive) {
+        !isComponent && view.renderTask.dispose();
+        zr.remove(view.group);
+        view.dispose(ecModel, api2);
+        viewList.splice(i2, 1);
+        delete viewMap[view.__id];
+        view.__id = view.group.__ecComponentInfo = null;
+      } else {
+        i2++;
+      }
+    }
+  }
+  function clearColorPalette(ecModel) {
+    ecModel.clearColorPalette();
+    ecModel.eachSeries(function(seriesModel) {
+      seriesModel.clearColorPalette();
+    });
+  }
+  function render8(ecIns, ecModel, api2, payload) {
+    renderComponents2(ecIns, ecModel, api2, payload);
+    each2(ecIns._chartsViews, function(chart) {
+      chart.__alive = false;
+    });
+    renderSeries2(ecIns, ecModel, api2, payload);
+    each2(ecIns._chartsViews, function(chart) {
+      if (!chart.__alive) {
+        chart.remove(ecModel, api2);
+      }
+    });
+  }
+  function renderComponents2(ecIns, ecModel, api2, payload, dirtyList) {
+    each2(dirtyList || ecIns._componentsViews, function(componentView) {
+      var componentModel = componentView.__model;
+      componentView.render(componentModel, ecModel, api2, payload);
+      updateZ2(componentModel, componentView);
+    });
+  }
+  function renderSeries2(ecIns, ecModel, api2, payload, dirtyMap) {
+    var scheduler = ecIns._scheduler;
+    var unfinished;
+    ecModel.eachSeries(function(seriesModel) {
+      var chartView = ecIns._chartsMap[seriesModel.__viewId];
+      chartView.__alive = true;
+      var renderTask = chartView.renderTask;
+      scheduler.updatePayload(renderTask, payload);
+      if (dirtyMap && dirtyMap.get(seriesModel.uid)) {
+        renderTask.dirty();
+      }
+      unfinished |= renderTask.perform(scheduler.getPerformArgs(renderTask));
+      chartView.group.silent = !!seriesModel.get("silent");
+      updateZ2(seriesModel, chartView);
+      updateBlend(seriesModel, chartView);
+    });
+    scheduler.unfinished |= unfinished;
+    updateHoverLayerStatus(ecIns, ecModel);
+    aria$1(ecIns._zr.dom, ecModel);
+  }
+  function performPostUpdateFuncs(ecModel, api2) {
+    each2(postUpdateFuncs, function(func) {
+      func(ecModel, api2);
+    });
+  }
+  var MOUSE_EVENT_NAMES2 = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout", "contextmenu"];
+  echartsProto2._initEvents = function() {
+    each2(MOUSE_EVENT_NAMES2, function(eveName) {
+      var handler = function(e2) {
+        var ecModel = this.getModel();
+        var el = e2.target;
+        var params2;
+        var isGlobalOut = eveName === "globalout";
+        if (isGlobalOut) {
+          params2 = {};
+        } else if (el && el.dataIndex != null) {
+          var dataModel = el.dataModel || ecModel.getSeriesByIndex(el.seriesIndex);
+          params2 = dataModel && dataModel.getDataParams(el.dataIndex, el.dataType, el) || {};
+        } else if (el && el.eventData) {
+          params2 = zrUtil2.extend({}, el.eventData);
+        }
+        if (params2) {
+          var componentType = params2.componentType;
+          var componentIndex = params2.componentIndex;
+          if (componentType === "markLine" || componentType === "markPoint" || componentType === "markArea") {
+            componentType = "series";
+            componentIndex = params2.seriesIndex;
+          }
+          var model2 = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);
+          var view = model2 && this[model2.mainType === "series" ? "_chartsMap" : "_componentsMap"][model2.__viewId];
+          params2.event = e2;
+          params2.type = eveName;
+          this._ecEventProcessor.eventInfo = {
+            targetEl: el,
+            packedEvent: params2,
+            model: model2,
+            view
+          };
+          this.trigger(eveName, params2);
+        }
+      };
+      handler.zrEventfulCallAtLast = true;
+      this._zr.on(eveName, handler, this);
+    }, this);
+    each2(eventActionMap2, function(actionType, eventType) {
+      this._messageCenter.on(eventType, function(event2) {
+        this.trigger(eventType, event2);
+      }, this);
+    }, this);
+  };
+  echartsProto2.isDisposed = function() {
+    return this._disposed;
+  };
+  echartsProto2.clear = function() {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    this.setOption({
+      series: []
+    }, true);
+  };
+  echartsProto2.dispose = function() {
+    if (this._disposed) {
+      disposedWarning2(this.id);
+      return;
+    }
+    this._disposed = true;
+    modelUtil2.setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY2, "");
+    var api2 = this._api;
+    var ecModel = this._model;
+    each2(this._componentsViews, function(component2) {
+      component2.dispose(ecModel, api2);
+    });
+    each2(this._chartsViews, function(chart) {
+      chart.dispose(ecModel, api2);
+    });
+    this._zr.dispose();
+    delete instances2[this.id];
+  };
+  zrUtil2.mixin(ECharts2, Eventful2);
+  function disposedWarning2(id) {
+  }
+  function updateHoverLayerStatus(ecIns, ecModel) {
+    var zr = ecIns._zr;
+    var storage2 = zr.storage;
+    var elCount = 0;
+    storage2.traverse(function(el) {
+      elCount++;
+    });
+    if (elCount > ecModel.get("hoverLayerThreshold") && !env2.node) {
+      ecModel.eachSeries(function(seriesModel) {
+        if (seriesModel.preventUsingHoverLayer) {
+          return;
+        }
+        var chartView = ecIns._chartsMap[seriesModel.__viewId];
+        if (chartView.__alive) {
+          chartView.group.traverse(function(el) {
+            el.useHoverLayer = true;
+          });
+        }
+      });
+    }
+  }
+  function updateBlend(seriesModel, chartView) {
+    var blendMode = seriesModel.get("blendMode") || null;
+    chartView.group.traverse(function(el) {
+      if (!el.isGroup) {
+        if (el.style.blend !== blendMode) {
+          el.setStyle("blend", blendMode);
+        }
+      }
+      if (el.eachPendingDisplayable) {
+        el.eachPendingDisplayable(function(displayable) {
+          displayable.setStyle("blend", blendMode);
+        });
+      }
+    });
+  }
+  function updateZ2(model2, view) {
+    var z2 = model2.get("z");
+    var zlevel = model2.get("zlevel");
+    view.group.traverse(function(el) {
+      if (el.type !== "group") {
+        z2 != null && (el.z = z2);
+        zlevel != null && (el.zlevel = zlevel);
+      }
+    });
+  }
+  function createExtensionAPI2(ecInstance) {
+    var coordSysMgr = ecInstance._coordSysMgr;
+    return zrUtil2.extend(new ExtensionAPI2(ecInstance), {
+      // Inject methods
+      getCoordinateSystems: zrUtil2.bind(coordSysMgr.getCoordinateSystems, coordSysMgr),
+      getComponentByElement: function(el) {
+        while (el) {
+          var modelInfo = el.__ecComponentInfo;
+          if (modelInfo != null) {
+            return ecInstance._model.getComponent(modelInfo.mainType, modelInfo.index);
+          }
+          el = el.parent;
+        }
+      }
+    });
+  }
+  function EventProcessor() {
+    this.eventInfo;
+  }
+  EventProcessor.prototype = {
+    constructor: EventProcessor,
+    normalizeQuery: function(query) {
+      var cptQuery = {};
+      var dataQuery = {};
+      var otherQuery = {};
+      if (zrUtil2.isString(query)) {
+        var condCptType = parseClassType2(query);
+        cptQuery.mainType = condCptType.main || null;
+        cptQuery.subType = condCptType.sub || null;
+      } else {
+        var suffixes = ["Index", "Name", "Id"];
+        var dataKeys = {
+          name: 1,
+          dataIndex: 1,
+          dataType: 1
+        };
+        zrUtil2.each(query, function(val, key2) {
+          var reserved = false;
+          for (var i2 = 0; i2 < suffixes.length; i2++) {
+            var propSuffix = suffixes[i2];
+            var suffixPos = key2.lastIndexOf(propSuffix);
+            if (suffixPos > 0 && suffixPos === key2.length - propSuffix.length) {
+              var mainType = key2.slice(0, suffixPos);
+              if (mainType !== "data") {
+                cptQuery.mainType = mainType;
+                cptQuery[propSuffix.toLowerCase()] = val;
+                reserved = true;
+              }
+            }
+          }
+          if (dataKeys.hasOwnProperty(key2)) {
+            dataQuery[key2] = val;
+            reserved = true;
+          }
+          if (!reserved) {
+            otherQuery[key2] = val;
+          }
+        });
+      }
+      return {
+        cptQuery,
+        dataQuery,
+        otherQuery
+      };
+    },
+    filter: function(eventType, query, args) {
+      var eventInfo = this.eventInfo;
+      if (!eventInfo) {
+        return true;
+      }
+      var targetEl = eventInfo.targetEl;
+      var packedEvent = eventInfo.packedEvent;
+      var model2 = eventInfo.model;
+      var view = eventInfo.view;
+      if (!model2 || !view) {
+        return true;
+      }
+      var cptQuery = query.cptQuery;
+      var dataQuery = query.dataQuery;
+      return check2(cptQuery, model2, "mainType") && check2(cptQuery, model2, "subType") && check2(cptQuery, model2, "index", "componentIndex") && check2(cptQuery, model2, "name") && check2(cptQuery, model2, "id") && check2(dataQuery, packedEvent, "name") && check2(dataQuery, packedEvent, "dataIndex") && check2(dataQuery, packedEvent, "dataType") && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));
+      function check2(query2, host, prop2, propOnHost) {
+        return query2[prop2] == null || host[propOnHost || prop2] === query2[prop2];
+      }
+    },
+    afterTrigger: function() {
+      this.eventInfo = null;
+    }
+  };
+  var actions2 = {};
+  var eventActionMap2 = {};
+  var dataProcessorFuncs2 = [];
+  var optionPreprocessorFuncs2 = [];
+  var postUpdateFuncs = [];
+  var visualFuncs2 = [];
+  var themeStorage2 = {};
+  var loadingEffects2 = {};
+  var instances2 = {};
+  var connectedGroups2 = {};
+  var idBase2 = /* @__PURE__ */ new Date() - 0;
+  var groupIdBase2 = /* @__PURE__ */ new Date() - 0;
+  var DOM_ATTRIBUTE_KEY2 = "_echarts_instance_";
+  function enableConnect2(chart) {
+    var STATUS_PENDING = 0;
+    var STATUS_UPDATING = 1;
+    var STATUS_UPDATED = 2;
+    var STATUS_KEY = "__connectUpdateStatus";
+    function updateConnectedChartsStatus(charts, status) {
+      for (var i2 = 0; i2 < charts.length; i2++) {
+        var otherChart = charts[i2];
+        otherChart[STATUS_KEY] = status;
+      }
+    }
+    each2(eventActionMap2, function(actionType, eventType) {
+      chart._messageCenter.on(eventType, function(event2) {
+        if (connectedGroups2[chart.group] && chart[STATUS_KEY] !== STATUS_PENDING) {
+          if (event2 && event2.escapeConnect) {
+            return;
+          }
+          var action = chart.makeActionFromEvent(event2);
+          var otherCharts = [];
+          each2(instances2, function(otherChart) {
+            if (otherChart !== chart && otherChart.group === chart.group) {
+              otherCharts.push(otherChart);
+            }
+          });
+          updateConnectedChartsStatus(otherCharts, STATUS_PENDING);
+          each2(otherCharts, function(otherChart) {
+            if (otherChart[STATUS_KEY] !== STATUS_UPDATING) {
+              otherChart.dispatchAction(action);
+            }
+          });
+          updateConnectedChartsStatus(otherCharts, STATUS_UPDATED);
+        }
+      });
+    });
+  }
+  function init3(dom2, theme2, opts2) {
+    var existInstance = getInstanceByDom2(dom2);
+    if (existInstance) {
+      return existInstance;
+    }
+    var chart = new ECharts2(dom2, theme2, opts2);
+    chart.id = "ec_" + idBase2++;
+    instances2[chart.id] = chart;
+    modelUtil2.setAttribute(dom2, DOM_ATTRIBUTE_KEY2, chart.id);
+    enableConnect2(chart);
+    return chart;
+  }
+  function connect2(groupId) {
+    if (zrUtil2.isArray(groupId)) {
+      var charts = groupId;
+      groupId = null;
+      each2(charts, function(chart) {
+        if (chart.group != null) {
+          groupId = chart.group;
+        }
+      });
+      groupId = groupId || "g_" + groupIdBase2++;
+      each2(charts, function(chart) {
+        chart.group = groupId;
+      });
+    }
+    connectedGroups2[groupId] = true;
+    return groupId;
+  }
+  function disConnect2(groupId) {
+    connectedGroups2[groupId] = false;
+  }
+  var disconnect2 = disConnect2;
+  function dispose2(chart) {
+    if (typeof chart === "string") {
+      chart = instances2[chart];
+    } else if (!(chart instanceof ECharts2)) {
+      chart = getInstanceByDom2(chart);
+    }
+    if (chart instanceof ECharts2 && !chart.isDisposed()) {
+      chart.dispose();
+    }
+  }
+  function getInstanceByDom2(dom2) {
+    return instances2[modelUtil2.getAttribute(dom2, DOM_ATTRIBUTE_KEY2)];
+  }
+  function getInstanceById2(key2) {
+    return instances2[key2];
+  }
+  function registerTheme2(name2, theme2) {
+    themeStorage2[name2] = theme2;
+  }
+  function registerPreprocessor2(preprocessorFunc) {
+    optionPreprocessorFuncs2.push(preprocessorFunc);
+  }
+  function registerProcessor2(priority, processor) {
+    normalizeRegister2(dataProcessorFuncs2, priority, processor, PRIORITY_PROCESSOR_FILTER2);
+  }
+  function registerPostUpdate2(postUpdateFunc) {
+    postUpdateFuncs.push(postUpdateFunc);
+  }
+  function registerAction2(actionInfo2, eventName, action) {
+    if (typeof eventName === "function") {
+      action = eventName;
+      eventName = "";
+    }
+    var actionType = isObject2(actionInfo2) ? actionInfo2.type : [actionInfo2, actionInfo2 = {
+      event: eventName
+    }][0];
+    actionInfo2.event = (actionInfo2.event || actionType).toLowerCase();
+    eventName = actionInfo2.event;
+    assert2(ACTION_REG2.test(actionType) && ACTION_REG2.test(eventName));
+    if (!actions2[actionType]) {
+      actions2[actionType] = {
+        action,
+        actionInfo: actionInfo2
+      };
+    }
+    eventActionMap2[eventName] = actionType;
+  }
+  function registerCoordinateSystem2(type2, CoordinateSystem2) {
+    CoordinateSystemManager2.register(type2, CoordinateSystem2);
+  }
+  function getCoordinateSystemDimensions2(type2) {
+    var coordSysCreator = CoordinateSystemManager2.get(type2);
+    if (coordSysCreator) {
+      return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();
+    }
+  }
+  function registerLayout2(priority, layoutTask) {
+    normalizeRegister2(visualFuncs2, priority, layoutTask, PRIORITY_VISUAL_LAYOUT2, "layout");
+  }
+  function registerVisual2(priority, visualTask) {
+    normalizeRegister2(visualFuncs2, priority, visualTask, PRIORITY_VISUAL_CHART2, "visual");
+  }
+  function normalizeRegister2(targetList, priority, fn, defaultPriority, visualType) {
+    if (isFunction2(priority) || isObject2(priority)) {
+      fn = priority;
+      priority = defaultPriority;
+    }
+    var stageHandler = Scheduler2.wrapStageHandler(fn, visualType);
+    stageHandler.__prio = priority;
+    stageHandler.__raw = fn;
+    targetList.push(stageHandler);
+    return stageHandler;
+  }
+  function registerLoading2(name2, loadingFx) {
+    loadingEffects2[name2] = loadingFx;
+  }
+  function extendComponentModel2(opts2) {
+    return ComponentModel2.extend(opts2);
+  }
+  function extendComponentView2(opts2) {
+    return ComponentView2.extend(opts2);
+  }
+  function extendSeriesModel2(opts2) {
+    return SeriesModel2.extend(opts2);
+  }
+  function extendChartView2(opts2) {
+    return ChartView2.extend(opts2);
+  }
+  function setCanvasCreator2(creator) {
+    zrUtil2.$override("createCanvas", creator);
+  }
+  function registerMap2(mapName, geoJson, specialAreas) {
+    mapDataStorage$1.registerMap(mapName, geoJson, specialAreas);
+  }
+  function getMap2(mapName) {
+    var records = mapDataStorage$1.retrieveMap(mapName);
+    return records && records[0] && {
+      geoJson: records[0].geoJSON,
+      specialAreas: records[0].specialAreas
+    };
+  }
+  registerVisual2(PRIORITY_VISUAL_GLOBAL2, seriesColor$1);
+  registerPreprocessor2(backwardCompat2);
+  registerProcessor2(PRIORITY_PROCESSOR_DATASTACK2, dataStack2);
+  registerLoading2("default", loadingDefault);
+  registerAction2({
+    type: "highlight",
+    event: "highlight",
+    update: "highlight"
+  }, zrUtil2.noop);
+  registerAction2({
+    type: "downplay",
+    event: "downplay",
+    update: "downplay"
+  }, zrUtil2.noop);
+  registerTheme2("light", lightTheme2);
+  registerTheme2("dark", darkTheme2);
+  var dataTool2 = {};
+  exports2.version = version2;
+  exports2.dependencies = dependencies2;
+  exports2.PRIORITY = PRIORITY2;
+  exports2.init = init3;
+  exports2.connect = connect2;
+  exports2.disConnect = disConnect2;
+  exports2.disconnect = disconnect2;
+  exports2.dispose = dispose2;
+  exports2.getInstanceByDom = getInstanceByDom2;
+  exports2.getInstanceById = getInstanceById2;
+  exports2.registerTheme = registerTheme2;
+  exports2.registerPreprocessor = registerPreprocessor2;
+  exports2.registerProcessor = registerProcessor2;
+  exports2.registerPostUpdate = registerPostUpdate2;
+  exports2.registerAction = registerAction2;
+  exports2.registerCoordinateSystem = registerCoordinateSystem2;
+  exports2.getCoordinateSystemDimensions = getCoordinateSystemDimensions2;
+  exports2.registerLayout = registerLayout2;
+  exports2.registerVisual = registerVisual2;
+  exports2.registerLoading = registerLoading2;
+  exports2.extendComponentModel = extendComponentModel2;
+  exports2.extendComponentView = extendComponentView2;
+  exports2.extendSeriesModel = extendSeriesModel2;
+  exports2.extendChartView = extendChartView2;
+  exports2.setCanvasCreator = setCanvasCreator2;
+  exports2.registerMap = registerMap2;
+  exports2.getMap = getMap2;
+  exports2.dataTool = dataTool2;
+  var ___ec_export = require_export();
+  (function() {
+    for (var key2 in ___ec_export) {
+      if (___ec_export.hasOwnProperty(key2)) {
+        exports2[key2] = ___ec_export[key2];
+      }
+    }
+  })();
+})(echarts$1);
+var line = {};
+var LineSeries$1;
+var hasRequiredLineSeries;
+function requireLineSeries() {
+  if (hasRequiredLineSeries)
+    return LineSeries$1;
+  hasRequiredLineSeries = 1;
+  var createListFromArray = requireCreateListFromArray();
+  var SeriesModel2 = Series;
+  var _default68 = SeriesModel2.extend({
+    type: "series.line",
+    dependencies: ["grid", "polar"],
+    getInitialData: function(option, ecModel) {
+      return createListFromArray(this.getSource(), this, {
+        useEncodeDefaulter: true
+      });
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      hoverAnimation: true,
+      // stack: null
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // polarIndex: 0,
+      // If clip the overflow value
+      clip: true,
+      // cursor: null,
+      label: {
+        position: "top"
+      },
+      // itemStyle: {
+      // },
+      lineStyle: {
+        width: 2,
+        type: "solid"
+      },
+      // areaStyle: {
+      // origin of areaStyle. Valid values:
+      // `'auto'/null/undefined`: from axisLine to data
+      // `'start'`: from min to data
+      // `'end'`: from data to max
+      // origin: 'auto'
+      // },
+      // false, 'start', 'end', 'middle'
+      step: false,
+      // Disabled if step is true
+      smooth: false,
+      smoothMonotone: null,
+      symbol: "emptyCircle",
+      symbolSize: 4,
+      symbolRotate: null,
+      showSymbol: true,
+      // `false`: follow the label interval strategy.
+      // `true`: show all symbols.
+      // `'auto'`: If possible, show all symbols, otherwise
+      //           follow the label interval strategy.
+      showAllSymbol: "auto",
+      // Whether to connect break point.
+      connectNulls: false,
+      // Sampling for large data. Can be: 'average', 'max', 'min', 'sum'.
+      sampling: "none",
+      animationEasing: "linear",
+      // Disable progressive
+      progressive: 0,
+      hoverLayerThreshold: Infinity
+    }
+  });
+  LineSeries$1 = _default68;
+  return LineSeries$1;
+}
+var labelHelper = {};
+var hasRequiredLabelHelper;
+function requireLabelHelper() {
+  if (hasRequiredLabelHelper)
+    return labelHelper;
+  hasRequiredLabelHelper = 1;
+  var _dataProvider2 = dataProvider;
+  var retrieveRawValue2 = _dataProvider2.retrieveRawValue;
+  function getDefaultLabel2(data2, dataIndex) {
+    var labelDims = data2.mapDimension("defaultedLabel", true);
+    var len2 = labelDims.length;
+    if (len2 === 1) {
+      return retrieveRawValue2(data2, dataIndex, labelDims[0]);
+    } else if (len2) {
+      var vals = [];
+      for (var i2 = 0; i2 < labelDims.length; i2++) {
+        var val = retrieveRawValue2(data2, dataIndex, labelDims[i2]);
+        vals.push(val);
+      }
+      return vals.join(" ");
+    }
+  }
+  labelHelper.getDefaultLabel = getDefaultLabel2;
+  return labelHelper;
+}
+var _Symbol;
+var hasRequired_Symbol;
+function require_Symbol() {
+  if (hasRequired_Symbol)
+    return _Symbol;
+  hasRequired_Symbol = 1;
+  var zrUtil2 = util$a;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var graphic2 = graphic$6;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var _labelHelper = requireLabelHelper();
+  var getDefaultLabel2 = _labelHelper.getDefaultLabel;
+  function SymbolClz2(data2, idx, seriesScope) {
+    graphic2.Group.call(this);
+    this.updateData(data2, idx, seriesScope);
+  }
+  var symbolProto = SymbolClz2.prototype;
+  var getSymbolSize2 = SymbolClz2.getSymbolSize = function(data2, idx) {
+    var symbolSize = data2.getItemVisual(idx, "symbolSize");
+    return symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];
+  };
+  function getScale(symbolSize) {
+    return [symbolSize[0] / 2, symbolSize[1] / 2];
+  }
+  function driftSymbol2(dx, dy) {
+    this.parent.drift(dx, dy);
+  }
+  symbolProto._createSymbol = function(symbolType, data2, idx, symbolSize, keepAspect) {
+    this.removeAll();
+    var color2 = data2.getItemVisual(idx, "color");
+    var symbolPath = createSymbol2(symbolType, -1, -1, 2, 2, color2, keepAspect);
+    symbolPath.attr({
+      z2: 100,
+      culling: true,
+      scale: getScale(symbolSize)
+    });
+    symbolPath.drift = driftSymbol2;
+    this._symbolType = symbolType;
+    this.add(symbolPath);
+  };
+  symbolProto.stopSymbolAnimation = function(toLastFrame) {
+    this.childAt(0).stopAnimation(toLastFrame);
+  };
+  symbolProto.getSymbolPath = function() {
+    return this.childAt(0);
+  };
+  symbolProto.getScale = function() {
+    return this.childAt(0).scale;
+  };
+  symbolProto.highlight = function() {
+    this.childAt(0).trigger("emphasis");
+  };
+  symbolProto.downplay = function() {
+    this.childAt(0).trigger("normal");
+  };
+  symbolProto.setZ = function(zlevel, z2) {
+    var symbolPath = this.childAt(0);
+    symbolPath.zlevel = zlevel;
+    symbolPath.z = z2;
+  };
+  symbolProto.setDraggable = function(draggable) {
+    var symbolPath = this.childAt(0);
+    symbolPath.draggable = draggable;
+    symbolPath.cursor = draggable ? "move" : symbolPath.cursor;
+  };
+  symbolProto.updateData = function(data2, idx, seriesScope) {
+    this.silent = false;
+    var symbolType = data2.getItemVisual(idx, "symbol") || "circle";
+    var seriesModel = data2.hostModel;
+    var symbolSize = getSymbolSize2(data2, idx);
+    var isInit = symbolType !== this._symbolType;
+    if (isInit) {
+      var keepAspect = data2.getItemVisual(idx, "symbolKeepAspect");
+      this._createSymbol(symbolType, data2, idx, symbolSize, keepAspect);
+    } else {
+      var symbolPath = this.childAt(0);
+      symbolPath.silent = false;
+      graphic2.updateProps(symbolPath, {
+        scale: getScale(symbolSize)
+      }, seriesModel, idx);
+    }
+    this._updateCommon(data2, idx, symbolSize, seriesScope);
+    if (isInit) {
+      var symbolPath = this.childAt(0);
+      var fadeIn = seriesScope && seriesScope.fadeIn;
+      var target = {
+        scale: symbolPath.scale.slice()
+      };
+      fadeIn && (target.style = {
+        opacity: symbolPath.style.opacity
+      });
+      symbolPath.scale = [0, 0];
+      fadeIn && (symbolPath.style.opacity = 0);
+      graphic2.initProps(symbolPath, target, seriesModel, idx);
+    }
+    this._seriesModel = seriesModel;
+  };
+  var normalStyleAccessPath = ["itemStyle"];
+  var emphasisStyleAccessPath = ["emphasis", "itemStyle"];
+  var normalLabelAccessPath = ["label"];
+  var emphasisLabelAccessPath = ["emphasis", "label"];
+  symbolProto._updateCommon = function(data2, idx, symbolSize, seriesScope) {
+    var symbolPath = this.childAt(0);
+    var seriesModel = data2.hostModel;
+    var color2 = data2.getItemVisual(idx, "color");
+    if (symbolPath.type !== "image") {
+      symbolPath.useStyle({
+        strokeNoScale: true
+      });
+    } else {
+      symbolPath.setStyle({
+        opacity: 1,
+        shadowBlur: null,
+        shadowOffsetX: null,
+        shadowOffsetY: null,
+        shadowColor: null
+      });
+    }
+    var itemStyle2 = seriesScope && seriesScope.itemStyle;
+    var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;
+    var symbolOffset = seriesScope && seriesScope.symbolOffset;
+    var labelModel = seriesScope && seriesScope.labelModel;
+    var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;
+    var hoverAnimation = seriesScope && seriesScope.hoverAnimation;
+    var cursorStyle = seriesScope && seriesScope.cursorStyle;
+    if (!seriesScope || data2.hasItemOption) {
+      var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data2.getItemModel(idx);
+      itemStyle2 = itemModel.getModel(normalStyleAccessPath).getItemStyle(["color"]);
+      hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();
+      symbolOffset = itemModel.getShallow("symbolOffset");
+      labelModel = itemModel.getModel(normalLabelAccessPath);
+      hoverLabelModel = itemModel.getModel(emphasisLabelAccessPath);
+      hoverAnimation = itemModel.getShallow("hoverAnimation");
+      cursorStyle = itemModel.getShallow("cursor");
+    } else {
+      hoverItemStyle = zrUtil2.extend({}, hoverItemStyle);
+    }
+    var elStyle = symbolPath.style;
+    var symbolRotate = data2.getItemVisual(idx, "symbolRotate");
+    symbolPath.attr("rotation", (symbolRotate || 0) * Math.PI / 180 || 0);
+    if (symbolOffset) {
+      symbolPath.attr("position", [parsePercent2(symbolOffset[0], symbolSize[0]), parsePercent2(symbolOffset[1], symbolSize[1])]);
+    }
+    cursorStyle && symbolPath.attr("cursor", cursorStyle);
+    symbolPath.setColor(color2, seriesScope && seriesScope.symbolInnerColor);
+    symbolPath.setStyle(itemStyle2);
+    var opacity = data2.getItemVisual(idx, "opacity");
+    if (opacity != null) {
+      elStyle.opacity = opacity;
+    }
+    var liftZ = data2.getItemVisual(idx, "liftZ");
+    var z2Origin = symbolPath.__z2Origin;
+    if (liftZ != null) {
+      if (z2Origin == null) {
+        symbolPath.__z2Origin = symbolPath.z2;
+        symbolPath.z2 += liftZ;
+      }
+    } else if (z2Origin != null) {
+      symbolPath.z2 = z2Origin;
+      symbolPath.__z2Origin = null;
+    }
+    var useNameLabel = seriesScope && seriesScope.useNameLabel;
+    graphic2.setLabelStyle(elStyle, hoverItemStyle, labelModel, hoverLabelModel, {
+      labelFetcher: seriesModel,
+      labelDataIndex: idx,
+      defaultText: getLabelDefaultText,
+      isRectText: true,
+      autoColor: color2
+    });
+    function getLabelDefaultText(idx2, opt) {
+      return useNameLabel ? data2.getName(idx2) : getDefaultLabel2(data2, idx2);
+    }
+    symbolPath.__symbolOriginalScale = getScale(symbolSize);
+    symbolPath.hoverStyle = hoverItemStyle;
+    symbolPath.highDownOnUpdate = hoverAnimation && seriesModel.isAnimationEnabled() ? highDownOnUpdate : null;
+    graphic2.setHoverStyle(symbolPath);
+  };
+  function highDownOnUpdate(fromState, toState) {
+    if (this.incremental || this.useHoverLayer) {
+      return;
+    }
+    if (toState === "emphasis") {
+      var scale2 = this.__symbolOriginalScale;
+      var ratio = scale2[1] / scale2[0];
+      var emphasisOpt = {
+        scale: [Math.max(scale2[0] * 1.1, scale2[0] + 3), Math.max(scale2[1] * 1.1, scale2[1] + 3 * ratio)]
+      };
+      this.animateTo(emphasisOpt, 400, "elasticOut");
+    } else if (toState === "normal") {
+      this.animateTo({
+        scale: this.__symbolOriginalScale
+      }, 400, "elasticOut");
+    }
+  }
+  symbolProto.fadeOut = function(cb, opt) {
+    var symbolPath = this.childAt(0);
+    this.silent = symbolPath.silent = true;
+    !(opt && opt.keepLabel) && (symbolPath.style.text = null);
+    graphic2.updateProps(symbolPath, {
+      style: {
+        opacity: 0
+      },
+      scale: [0, 0]
+    }, this._seriesModel, this.dataIndex, cb);
+  };
+  zrUtil2.inherits(SymbolClz2, graphic2.Group);
+  var _default68 = SymbolClz2;
+  _Symbol = _default68;
+  return _Symbol;
+}
+var SymbolDraw_1;
+var hasRequiredSymbolDraw;
+function requireSymbolDraw() {
+  if (hasRequiredSymbolDraw)
+    return SymbolDraw_1;
+  hasRequiredSymbolDraw = 1;
+  var graphic2 = graphic$6;
+  var SymbolClz2 = require_Symbol();
+  var _util2 = util$a;
+  var isObject2 = _util2.isObject;
+  function SymbolDraw2(symbolCtor) {
+    this.group = new graphic2.Group();
+    this._symbolCtor = symbolCtor || SymbolClz2;
+  }
+  var symbolDrawProto = SymbolDraw2.prototype;
+  function symbolNeedsDraw2(data2, point, idx, opt) {
+    return point && !isNaN(point[0]) && !isNaN(point[1]) && !(opt.isIgnore && opt.isIgnore(idx)) && !(opt.clipShape && !opt.clipShape.contain(point[0], point[1])) && data2.getItemVisual(idx, "symbol") !== "none";
+  }
+  symbolDrawProto.updateData = function(data2, opt) {
+    opt = normalizeUpdateOpt2(opt);
+    var group = this.group;
+    var seriesModel = data2.hostModel;
+    var oldData = this._data;
+    var SymbolCtor = this._symbolCtor;
+    var seriesScope = makeSeriesScope2(data2);
+    if (!oldData) {
+      group.removeAll();
+    }
+    data2.diff(oldData).add(function(newIdx) {
+      var point = data2.getItemLayout(newIdx);
+      if (symbolNeedsDraw2(data2, point, newIdx, opt)) {
+        var symbolEl = new SymbolCtor(data2, newIdx, seriesScope);
+        symbolEl.attr("position", point);
+        data2.setItemGraphicEl(newIdx, symbolEl);
+        group.add(symbolEl);
+      }
+    }).update(function(newIdx, oldIdx) {
+      var symbolEl = oldData.getItemGraphicEl(oldIdx);
+      var point = data2.getItemLayout(newIdx);
+      if (!symbolNeedsDraw2(data2, point, newIdx, opt)) {
+        group.remove(symbolEl);
+        return;
+      }
+      if (!symbolEl) {
+        symbolEl = new SymbolCtor(data2, newIdx);
+        symbolEl.attr("position", point);
+      } else {
+        symbolEl.updateData(data2, newIdx, seriesScope);
+        graphic2.updateProps(symbolEl, {
+          position: point
+        }, seriesModel);
+      }
+      group.add(symbolEl);
+      data2.setItemGraphicEl(newIdx, symbolEl);
+    }).remove(function(oldIdx) {
+      var el = oldData.getItemGraphicEl(oldIdx);
+      el && el.fadeOut(function() {
+        group.remove(el);
+      });
+    }).execute();
+    this._data = data2;
+  };
+  symbolDrawProto.isPersistent = function() {
+    return true;
+  };
+  symbolDrawProto.updateLayout = function() {
+    var data2 = this._data;
+    if (data2) {
+      data2.eachItemGraphicEl(function(el, idx) {
+        var point = data2.getItemLayout(idx);
+        el.attr("position", point);
+      });
+    }
+  };
+  symbolDrawProto.incrementalPrepareUpdate = function(data2) {
+    this._seriesScope = makeSeriesScope2(data2);
+    this._data = null;
+    this.group.removeAll();
+  };
+  symbolDrawProto.incrementalUpdate = function(taskParams, data2, opt) {
+    opt = normalizeUpdateOpt2(opt);
+    function updateIncrementalAndHover(el2) {
+      if (!el2.isGroup) {
+        el2.incremental = el2.useHoverLayer = true;
+      }
+    }
+    for (var idx = taskParams.start; idx < taskParams.end; idx++) {
+      var point = data2.getItemLayout(idx);
+      if (symbolNeedsDraw2(data2, point, idx, opt)) {
+        var el = new this._symbolCtor(data2, idx, this._seriesScope);
+        el.traverse(updateIncrementalAndHover);
+        el.attr("position", point);
+        this.group.add(el);
+        data2.setItemGraphicEl(idx, el);
+      }
+    }
+  };
+  function normalizeUpdateOpt2(opt) {
+    if (opt != null && !isObject2(opt)) {
+      opt = {
+        isIgnore: opt
+      };
+    }
+    return opt || {};
+  }
+  symbolDrawProto.remove = function(enableAnimation) {
+    var group = this.group;
+    var data2 = this._data;
+    if (data2 && enableAnimation) {
+      data2.eachItemGraphicEl(function(el) {
+        el.fadeOut(function() {
+          group.remove(el);
+        });
+      });
+    } else {
+      group.removeAll();
+    }
+  };
+  function makeSeriesScope2(data2) {
+    var seriesModel = data2.hostModel;
+    return {
+      itemStyle: seriesModel.getModel("itemStyle").getItemStyle(["color"]),
+      hoverItemStyle: seriesModel.getModel("emphasis.itemStyle").getItemStyle(),
+      symbolRotate: seriesModel.get("symbolRotate"),
+      symbolOffset: seriesModel.get("symbolOffset"),
+      hoverAnimation: seriesModel.get("hoverAnimation"),
+      labelModel: seriesModel.getModel("label"),
+      hoverLabelModel: seriesModel.getModel("emphasis.label"),
+      cursorStyle: seriesModel.get("cursor")
+    };
+  }
+  var _default68 = SymbolDraw2;
+  SymbolDraw_1 = _default68;
+  return SymbolDraw_1;
+}
+var helper$4 = {};
+var hasRequiredHelper$3;
+function requireHelper$3() {
+  if (hasRequiredHelper$3)
+    return helper$4;
+  hasRequiredHelper$3 = 1;
+  var _dataStackHelper = requireDataStackHelper();
+  var isDimensionStacked2 = _dataStackHelper.isDimensionStacked;
+  var _util2 = util$a;
+  var map2 = _util2.map;
+  function prepareDataCoordInfo2(coordSys, data2, valueOrigin) {
+    var baseAxis = coordSys.getBaseAxis();
+    var valueAxis2 = coordSys.getOtherAxis(baseAxis);
+    var valueStart = getValueStart2(valueAxis2, valueOrigin);
+    var baseAxisDim = baseAxis.dim;
+    var valueAxisDim = valueAxis2.dim;
+    var valueDim = data2.mapDimension(valueAxisDim);
+    var baseDim = data2.mapDimension(baseAxisDim);
+    var baseDataOffset = valueAxisDim === "x" || valueAxisDim === "radius" ? 1 : 0;
+    var dims = map2(coordSys.dimensions, function(coordDim) {
+      return data2.mapDimension(coordDim);
+    });
+    var stacked;
+    var stackResultDim = data2.getCalculationInfo("stackResultDimension");
+    if (stacked |= isDimensionStacked2(
+      data2,
+      dims[0]
+      /*, dims[1]*/
+    )) {
+      dims[0] = stackResultDim;
+    }
+    if (stacked |= isDimensionStacked2(
+      data2,
+      dims[1]
+      /*, dims[0]*/
+    )) {
+      dims[1] = stackResultDim;
+    }
+    return {
+      dataDimsForPoint: dims,
+      valueStart,
+      valueAxisDim,
+      baseAxisDim,
+      stacked: !!stacked,
+      valueDim,
+      baseDim,
+      baseDataOffset,
+      stackedOverDimension: data2.getCalculationInfo("stackedOverDimension")
+    };
+  }
+  function getValueStart2(valueAxis2, valueOrigin) {
+    var valueStart = 0;
+    var extent3 = valueAxis2.scale.getExtent();
+    if (valueOrigin === "start") {
+      valueStart = extent3[0];
+    } else if (valueOrigin === "end") {
+      valueStart = extent3[1];
+    } else {
+      if (extent3[0] > 0) {
+        valueStart = extent3[0];
+      } else if (extent3[1] < 0) {
+        valueStart = extent3[1];
+      }
+    }
+    return valueStart;
+  }
+  function getStackedOnPoint2(dataCoordInfo, coordSys, data2, idx) {
+    var value = NaN;
+    if (dataCoordInfo.stacked) {
+      value = data2.get(data2.getCalculationInfo("stackedOverDimension"), idx);
+    }
+    if (isNaN(value)) {
+      value = dataCoordInfo.valueStart;
+    }
+    var baseDataOffset = dataCoordInfo.baseDataOffset;
+    var stackedData = [];
+    stackedData[baseDataOffset] = data2.get(dataCoordInfo.baseDim, idx);
+    stackedData[1 - baseDataOffset] = value;
+    return coordSys.dataToPoint(stackedData);
+  }
+  helper$4.prepareDataCoordInfo = prepareDataCoordInfo2;
+  helper$4.getStackedOnPoint = getStackedOnPoint2;
+  return helper$4;
+}
+var lineAnimationDiff$1;
+var hasRequiredLineAnimationDiff;
+function requireLineAnimationDiff() {
+  if (hasRequiredLineAnimationDiff)
+    return lineAnimationDiff$1;
+  hasRequiredLineAnimationDiff = 1;
+  var _helper = requireHelper$3();
+  var prepareDataCoordInfo2 = _helper.prepareDataCoordInfo;
+  var getStackedOnPoint2 = _helper.getStackedOnPoint;
+  function diffData2(oldData, newData) {
+    var diffResult = [];
+    newData.diff(oldData).add(function(idx) {
+      diffResult.push({
+        cmd: "+",
+        idx
+      });
+    }).update(function(newIdx, oldIdx) {
+      diffResult.push({
+        cmd: "=",
+        idx: oldIdx,
+        idx1: newIdx
+      });
+    }).remove(function(idx) {
+      diffResult.push({
+        cmd: "-",
+        idx
+      });
+    }).execute();
+    return diffResult;
+  }
+  function _default68(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {
+    var diff = diffData2(oldData, newData);
+    var currPoints = [];
+    var nextPoints = [];
+    var currStackedPoints = [];
+    var nextStackedPoints = [];
+    var status = [];
+    var sortedIndices = [];
+    var rawIndices = [];
+    var newDataOldCoordInfo = prepareDataCoordInfo2(oldCoordSys, newData, oldValueOrigin);
+    var oldDataNewCoordInfo = prepareDataCoordInfo2(newCoordSys, oldData, newValueOrigin);
+    for (var i2 = 0; i2 < diff.length; i2++) {
+      var diffItem = diff[i2];
+      var pointAdded = true;
+      switch (diffItem.cmd) {
+        case "=":
+          var currentPt = oldData.getItemLayout(diffItem.idx);
+          var nextPt = newData.getItemLayout(diffItem.idx1);
+          if (isNaN(currentPt[0]) || isNaN(currentPt[1])) {
+            currentPt = nextPt.slice();
+          }
+          currPoints.push(currentPt);
+          nextPoints.push(nextPt);
+          currStackedPoints.push(oldStackedOnPoints[diffItem.idx]);
+          nextStackedPoints.push(newStackedOnPoints[diffItem.idx1]);
+          rawIndices.push(newData.getRawIndex(diffItem.idx1));
+          break;
+        case "+":
+          var idx = diffItem.idx;
+          currPoints.push(oldCoordSys.dataToPoint([newData.get(newDataOldCoordInfo.dataDimsForPoint[0], idx), newData.get(newDataOldCoordInfo.dataDimsForPoint[1], idx)]));
+          nextPoints.push(newData.getItemLayout(idx).slice());
+          currStackedPoints.push(getStackedOnPoint2(newDataOldCoordInfo, oldCoordSys, newData, idx));
+          nextStackedPoints.push(newStackedOnPoints[idx]);
+          rawIndices.push(newData.getRawIndex(idx));
+          break;
+        case "-":
+          var idx = diffItem.idx;
+          var rawIndex = oldData.getRawIndex(idx);
+          if (rawIndex !== idx) {
+            currPoints.push(oldData.getItemLayout(idx));
+            nextPoints.push(newCoordSys.dataToPoint([oldData.get(oldDataNewCoordInfo.dataDimsForPoint[0], idx), oldData.get(oldDataNewCoordInfo.dataDimsForPoint[1], idx)]));
+            currStackedPoints.push(oldStackedOnPoints[idx]);
+            nextStackedPoints.push(getStackedOnPoint2(oldDataNewCoordInfo, newCoordSys, oldData, idx));
+            rawIndices.push(rawIndex);
+          } else {
+            pointAdded = false;
+          }
+      }
+      if (pointAdded) {
+        status.push(diffItem);
+        sortedIndices.push(sortedIndices.length);
+      }
+    }
+    sortedIndices.sort(function(a2, b2) {
+      return rawIndices[a2] - rawIndices[b2];
+    });
+    var sortedCurrPoints = [];
+    var sortedNextPoints = [];
+    var sortedCurrStackedPoints = [];
+    var sortedNextStackedPoints = [];
+    var sortedStatus = [];
+    for (var i2 = 0; i2 < sortedIndices.length; i2++) {
+      var idx = sortedIndices[i2];
+      sortedCurrPoints[i2] = currPoints[idx];
+      sortedNextPoints[i2] = nextPoints[idx];
+      sortedCurrStackedPoints[i2] = currStackedPoints[idx];
+      sortedNextStackedPoints[i2] = nextStackedPoints[idx];
+      sortedStatus[i2] = status[idx];
+    }
+    return {
+      current: sortedCurrPoints,
+      next: sortedNextPoints,
+      stackedOnCurrent: sortedCurrStackedPoints,
+      stackedOnNext: sortedNextStackedPoints,
+      status: sortedStatus
+    };
+  }
+  lineAnimationDiff$1 = _default68;
+  return lineAnimationDiff$1;
+}
+var poly = {};
+var hasRequiredPoly;
+function requirePoly() {
+  if (hasRequiredPoly)
+    return poly;
+  hasRequiredPoly = 1;
+  var Path2 = Path_1;
+  var vec22 = vector$3;
+  var fixClipWithShadow2 = fixClipWithShadow$1;
+  var vec2Min = vec22.min;
+  var vec2Max = vec22.max;
+  var scaleAndAdd2 = vec22.scaleAndAdd;
+  var v2Copy = vec22.copy;
+  var v4 = [];
+  var cp0 = [];
+  var cp1 = [];
+  function isPointNull2(p2) {
+    return isNaN(p2[0]) || isNaN(p2[1]);
+  }
+  function drawSegment2(ctx, points2, start2, segLen, allLen, dir3, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {
+    if (smoothMonotone === "none" || !smoothMonotone) {
+      return drawNonMono.apply(this, arguments);
+    } else {
+      return drawMono.apply(this, arguments);
+    }
+  }
+  function drawMono(ctx, points2, start2, segLen, allLen, dir3, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {
+    var prevIdx = 0;
+    var idx = start2;
+    for (var k2 = 0; k2 < segLen; k2++) {
+      var p2 = points2[idx];
+      if (idx >= allLen || idx < 0) {
+        break;
+      }
+      if (isPointNull2(p2)) {
+        if (connectNulls) {
+          idx += dir3;
+          continue;
+        }
+        break;
+      }
+      if (idx === start2) {
+        ctx[dir3 > 0 ? "moveTo" : "lineTo"](p2[0], p2[1]);
+      } else {
+        if (smooth > 0) {
+          var prevP = points2[prevIdx];
+          var dim = smoothMonotone === "y" ? 1 : 0;
+          var ctrlLen = (p2[dim] - prevP[dim]) * smooth;
+          v2Copy(cp0, prevP);
+          cp0[dim] = prevP[dim] + ctrlLen;
+          v2Copy(cp1, p2);
+          cp1[dim] = p2[dim] - ctrlLen;
+          ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p2[0], p2[1]);
+        } else {
+          ctx.lineTo(p2[0], p2[1]);
+        }
+      }
+      prevIdx = idx;
+      idx += dir3;
+    }
+    return k2;
+  }
+  function drawNonMono(ctx, points2, start2, segLen, allLen, dir3, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {
+    var prevIdx = 0;
+    var idx = start2;
+    for (var k2 = 0; k2 < segLen; k2++) {
+      var p2 = points2[idx];
+      if (idx >= allLen || idx < 0) {
+        break;
+      }
+      if (isPointNull2(p2)) {
+        if (connectNulls) {
+          idx += dir3;
+          continue;
+        }
+        break;
+      }
+      if (idx === start2) {
+        ctx[dir3 > 0 ? "moveTo" : "lineTo"](p2[0], p2[1]);
+        v2Copy(cp0, p2);
+      } else {
+        if (smooth > 0) {
+          var nextIdx = idx + dir3;
+          var nextP = points2[nextIdx];
+          if (connectNulls) {
+            while (nextP && isPointNull2(points2[nextIdx])) {
+              nextIdx += dir3;
+              nextP = points2[nextIdx];
+            }
+          }
+          var ratioNextSeg = 0.5;
+          var prevP = points2[prevIdx];
+          var nextP = points2[nextIdx];
+          if (!nextP || isPointNull2(nextP)) {
+            v2Copy(cp1, p2);
+          } else {
+            if (isPointNull2(nextP) && !connectNulls) {
+              nextP = p2;
+            }
+            vec22.sub(v4, nextP, prevP);
+            var lenPrevSeg;
+            var lenNextSeg;
+            if (smoothMonotone === "x" || smoothMonotone === "y") {
+              var dim = smoothMonotone === "x" ? 0 : 1;
+              lenPrevSeg = Math.abs(p2[dim] - prevP[dim]);
+              lenNextSeg = Math.abs(p2[dim] - nextP[dim]);
+            } else {
+              lenPrevSeg = vec22.dist(p2, prevP);
+              lenNextSeg = vec22.dist(p2, nextP);
+            }
+            ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);
+            scaleAndAdd2(cp1, p2, v4, -smooth * (1 - ratioNextSeg));
+          }
+          vec2Min(cp0, cp0, smoothMax);
+          vec2Max(cp0, cp0, smoothMin);
+          vec2Min(cp1, cp1, smoothMax);
+          vec2Max(cp1, cp1, smoothMin);
+          ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p2[0], p2[1]);
+          scaleAndAdd2(cp0, p2, v4, smooth * ratioNextSeg);
+        } else {
+          ctx.lineTo(p2[0], p2[1]);
+        }
+      }
+      prevIdx = idx;
+      idx += dir3;
+    }
+    return k2;
+  }
+  function getBoundingBox(points2, smoothConstraint) {
+    var ptMin = [Infinity, Infinity];
+    var ptMax = [-Infinity, -Infinity];
+    if (smoothConstraint) {
+      for (var i2 = 0; i2 < points2.length; i2++) {
+        var pt = points2[i2];
+        if (pt[0] < ptMin[0]) {
+          ptMin[0] = pt[0];
+        }
+        if (pt[1] < ptMin[1]) {
+          ptMin[1] = pt[1];
+        }
+        if (pt[0] > ptMax[0]) {
+          ptMax[0] = pt[0];
+        }
+        if (pt[1] > ptMax[1]) {
+          ptMax[1] = pt[1];
+        }
+      }
+    }
+    return {
+      min: smoothConstraint ? ptMin : ptMax,
+      max: smoothConstraint ? ptMax : ptMin
+    };
+  }
+  var Polyline2 = Path2.extend({
+    type: "ec-polyline",
+    shape: {
+      points: [],
+      smooth: 0,
+      smoothConstraint: true,
+      smoothMonotone: null,
+      connectNulls: false
+    },
+    style: {
+      fill: null,
+      stroke: "#000"
+    },
+    brush: fixClipWithShadow2(Path2.prototype.brush),
+    buildPath: function(ctx, shape) {
+      var points2 = shape.points;
+      var i2 = 0;
+      var len2 = points2.length;
+      var result2 = getBoundingBox(points2, shape.smoothConstraint);
+      if (shape.connectNulls) {
+        for (; len2 > 0; len2--) {
+          if (!isPointNull2(points2[len2 - 1])) {
+            break;
+          }
+        }
+        for (; i2 < len2; i2++) {
+          if (!isPointNull2(points2[i2])) {
+            break;
+          }
+        }
+      }
+      while (i2 < len2) {
+        i2 += drawSegment2(ctx, points2, i2, len2, len2, 1, result2.min, result2.max, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;
+      }
+    }
+  });
+  var Polygon2 = Path2.extend({
+    type: "ec-polygon",
+    shape: {
+      points: [],
+      // Offset between stacked base points and points
+      stackedOnPoints: [],
+      smooth: 0,
+      stackedOnSmooth: 0,
+      smoothConstraint: true,
+      smoothMonotone: null,
+      connectNulls: false
+    },
+    brush: fixClipWithShadow2(Path2.prototype.brush),
+    buildPath: function(ctx, shape) {
+      var points2 = shape.points;
+      var stackedOnPoints = shape.stackedOnPoints;
+      var i2 = 0;
+      var len2 = points2.length;
+      var smoothMonotone = shape.smoothMonotone;
+      var bbox2 = getBoundingBox(points2, shape.smoothConstraint);
+      var stackedOnBBox = getBoundingBox(stackedOnPoints, shape.smoothConstraint);
+      if (shape.connectNulls) {
+        for (; len2 > 0; len2--) {
+          if (!isPointNull2(points2[len2 - 1])) {
+            break;
+          }
+        }
+        for (; i2 < len2; i2++) {
+          if (!isPointNull2(points2[i2])) {
+            break;
+          }
+        }
+      }
+      while (i2 < len2) {
+        var k2 = drawSegment2(ctx, points2, i2, len2, len2, 1, bbox2.min, bbox2.max, shape.smooth, smoothMonotone, shape.connectNulls);
+        drawSegment2(ctx, stackedOnPoints, i2 + k2 - 1, k2, len2, -1, stackedOnBBox.min, stackedOnBBox.max, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);
+        i2 += k2 + 1;
+        ctx.closePath();
+      }
+    }
+  });
+  poly.Polyline = Polyline2;
+  poly.Polygon = Polygon2;
+  return poly;
+}
+var createClipPathFromCoordSys = {};
+var hasRequiredCreateClipPathFromCoordSys;
+function requireCreateClipPathFromCoordSys() {
+  if (hasRequiredCreateClipPathFromCoordSys)
+    return createClipPathFromCoordSys;
+  hasRequiredCreateClipPathFromCoordSys = 1;
+  var graphic2 = graphic$6;
+  var _number2 = requireNumber();
+  var round2 = _number2.round;
+  function createGridClipPath2(cartesian, hasAnimation, seriesModel) {
+    var rect = cartesian.getArea();
+    var isHorizontal = cartesian.getBaseAxis().isHorizontal();
+    var x2 = rect.x;
+    var y2 = rect.y;
+    var width = rect.width;
+    var height = rect.height;
+    var lineWidth = seriesModel.get("lineStyle.width") || 2;
+    x2 -= lineWidth / 2;
+    y2 -= lineWidth / 2;
+    width += lineWidth;
+    height += lineWidth;
+    x2 = Math.floor(x2);
+    width = Math.round(width);
+    var clipPath = new graphic2.Rect({
+      shape: {
+        x: x2,
+        y: y2,
+        width,
+        height
+      }
+    });
+    if (hasAnimation) {
+      clipPath.shape[isHorizontal ? "width" : "height"] = 0;
+      graphic2.initProps(clipPath, {
+        shape: {
+          width,
+          height
+        }
+      }, seriesModel);
+    }
+    return clipPath;
+  }
+  function createPolarClipPath2(polar2, hasAnimation, seriesModel) {
+    var sectorArea = polar2.getArea();
+    var clipPath = new graphic2.Sector({
+      shape: {
+        cx: round2(polar2.cx, 1),
+        cy: round2(polar2.cy, 1),
+        r0: round2(sectorArea.r0, 1),
+        r: round2(sectorArea.r, 1),
+        startAngle: sectorArea.startAngle,
+        endAngle: sectorArea.endAngle,
+        clockwise: sectorArea.clockwise
+      }
+    });
+    if (hasAnimation) {
+      clipPath.shape.endAngle = sectorArea.startAngle;
+      graphic2.initProps(clipPath, {
+        shape: {
+          endAngle: sectorArea.endAngle
+        }
+      }, seriesModel);
+    }
+    return clipPath;
+  }
+  function createClipPath2(coordSys, hasAnimation, seriesModel) {
+    if (!coordSys) {
+      return null;
+    } else if (coordSys.type === "polar") {
+      return createPolarClipPath2(coordSys, hasAnimation, seriesModel);
+    } else if (coordSys.type === "cartesian2d") {
+      return createGridClipPath2(coordSys, hasAnimation, seriesModel);
+    }
+    return null;
+  }
+  createClipPathFromCoordSys.createGridClipPath = createGridClipPath2;
+  createClipPathFromCoordSys.createPolarClipPath = createPolarClipPath2;
+  createClipPathFromCoordSys.createClipPath = createClipPath2;
+  return createClipPathFromCoordSys;
+}
+var LineView$2;
+var hasRequiredLineView;
+function requireLineView() {
+  if (hasRequiredLineView)
+    return LineView$2;
+  hasRequiredLineView = 1;
+  var zrUtil2 = util$a;
+  var _bbox = requireBbox();
+  var fromPoints2 = _bbox.fromPoints;
+  var SymbolDraw2 = requireSymbolDraw();
+  var SymbolClz2 = require_Symbol();
+  var lineAnimationDiff2 = requireLineAnimationDiff();
+  var graphic2 = graphic$6;
+  var modelUtil2 = model;
+  var _poly = requirePoly();
+  var Polyline2 = _poly.Polyline;
+  var Polygon2 = _poly.Polygon;
+  var ChartView2 = Chart_1;
+  var _helper = requireHelper$3();
+  var prepareDataCoordInfo2 = _helper.prepareDataCoordInfo;
+  var getStackedOnPoint2 = _helper.getStackedOnPoint;
+  var _createClipPathFromCoordSys = requireCreateClipPathFromCoordSys();
+  var createGridClipPath2 = _createClipPathFromCoordSys.createGridClipPath;
+  var createPolarClipPath2 = _createClipPathFromCoordSys.createPolarClipPath;
+  function isPointsSame2(points1, points2) {
+    if (points1.length !== points2.length) {
+      return;
+    }
+    for (var i2 = 0; i2 < points1.length; i2++) {
+      var p1 = points1[i2];
+      var p2 = points2[i2];
+      if (p1[0] !== p2[0] || p1[1] !== p2[1]) {
+        return;
+      }
+    }
+    return true;
+  }
+  function getBoundingDiff2(points1, points2) {
+    var min1 = [];
+    var max1 = [];
+    var min22 = [];
+    var max22 = [];
+    fromPoints2(points1, min1, max1);
+    fromPoints2(points2, min22, max22);
+    return Math.max(Math.abs(min1[0] - min22[0]), Math.abs(min1[1] - min22[1]), Math.abs(max1[0] - max22[0]), Math.abs(max1[1] - max22[1]));
+  }
+  function getSmooth2(smooth) {
+    return typeof smooth === "number" ? smooth : smooth ? 0.5 : 0;
+  }
+  function getStackedOnPoints2(coordSys, data2, dataCoordInfo) {
+    if (!dataCoordInfo.valueDim) {
+      return [];
+    }
+    var points2 = [];
+    for (var idx = 0, len2 = data2.count(); idx < len2; idx++) {
+      points2.push(getStackedOnPoint2(dataCoordInfo, coordSys, data2, idx));
+    }
+    return points2;
+  }
+  function turnPointsIntoStep2(points2, coordSys, stepTurnAt) {
+    var baseAxis = coordSys.getBaseAxis();
+    var baseIndex = baseAxis.dim === "x" || baseAxis.dim === "radius" ? 0 : 1;
+    var stepPoints = [];
+    for (var i2 = 0; i2 < points2.length - 1; i2++) {
+      var nextPt = points2[i2 + 1];
+      var pt = points2[i2];
+      stepPoints.push(pt);
+      var stepPt = [];
+      switch (stepTurnAt) {
+        case "end":
+          stepPt[baseIndex] = nextPt[baseIndex];
+          stepPt[1 - baseIndex] = pt[1 - baseIndex];
+          stepPoints.push(stepPt);
+          break;
+        case "middle":
+          var middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;
+          var stepPt2 = [];
+          stepPt[baseIndex] = stepPt2[baseIndex] = middle;
+          stepPt[1 - baseIndex] = pt[1 - baseIndex];
+          stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];
+          stepPoints.push(stepPt);
+          stepPoints.push(stepPt2);
+          break;
+        default:
+          stepPt[baseIndex] = pt[baseIndex];
+          stepPt[1 - baseIndex] = nextPt[1 - baseIndex];
+          stepPoints.push(stepPt);
+      }
+    }
+    points2[i2] && stepPoints.push(points2[i2]);
+    return stepPoints;
+  }
+  function getVisualGradient2(data2, coordSys) {
+    var visualMetaList = data2.getVisual("visualMeta");
+    if (!visualMetaList || !visualMetaList.length || !data2.count()) {
+      return;
+    }
+    if (coordSys.type !== "cartesian2d") {
+      return;
+    }
+    var coordDim;
+    var visualMeta;
+    for (var i2 = visualMetaList.length - 1; i2 >= 0; i2--) {
+      var dimIndex = visualMetaList[i2].dimension;
+      var dimName = data2.dimensions[dimIndex];
+      var dimInfo = data2.getDimensionInfo(dimName);
+      coordDim = dimInfo && dimInfo.coordDim;
+      if (coordDim === "x" || coordDim === "y") {
+        visualMeta = visualMetaList[i2];
+        break;
+      }
+    }
+    if (!visualMeta) {
+      return;
+    }
+    var axis2 = coordSys.getAxis(coordDim);
+    var colorStops = zrUtil2.map(visualMeta.stops, function(stop2) {
+      return {
+        coord: axis2.toGlobalCoord(axis2.dataToCoord(stop2.value)),
+        color: stop2.color
+      };
+    });
+    var stopLen = colorStops.length;
+    var outerColors = visualMeta.outerColors.slice();
+    if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {
+      colorStops.reverse();
+      outerColors.reverse();
+    }
+    var tinyExtent = 10;
+    var minCoord = colorStops[0].coord - tinyExtent;
+    var maxCoord = colorStops[stopLen - 1].coord + tinyExtent;
+    var coordSpan = maxCoord - minCoord;
+    if (coordSpan < 1e-3) {
+      return "transparent";
+    }
+    zrUtil2.each(colorStops, function(stop2) {
+      stop2.offset = (stop2.coord - minCoord) / coordSpan;
+    });
+    colorStops.push({
+      offset: stopLen ? colorStops[stopLen - 1].offset : 0.5,
+      color: outerColors[1] || "transparent"
+    });
+    colorStops.unshift({
+      // notice colorStops.length have been changed.
+      offset: stopLen ? colorStops[0].offset : 0.5,
+      color: outerColors[0] || "transparent"
+    });
+    var gradient = new graphic2.LinearGradient(0, 0, 0, 0, colorStops, true);
+    gradient[coordDim] = minCoord;
+    gradient[coordDim + "2"] = maxCoord;
+    return gradient;
+  }
+  function getIsIgnoreFunc2(seriesModel, data2, coordSys) {
+    var showAllSymbol = seriesModel.get("showAllSymbol");
+    var isAuto = showAllSymbol === "auto";
+    if (showAllSymbol && !isAuto) {
+      return;
+    }
+    var categoryAxis2 = coordSys.getAxesByScale("ordinal")[0];
+    if (!categoryAxis2) {
+      return;
+    }
+    if (isAuto && canShowAllSymbolForCategory2(categoryAxis2, data2)) {
+      return;
+    }
+    var categoryDataDim = data2.mapDimension(categoryAxis2.dim);
+    var labelMap = {};
+    zrUtil2.each(categoryAxis2.getViewLabels(), function(labelItem) {
+      labelMap[labelItem.tickValue] = 1;
+    });
+    return function(dataIndex) {
+      return !labelMap.hasOwnProperty(data2.get(categoryDataDim, dataIndex));
+    };
+  }
+  function canShowAllSymbolForCategory2(categoryAxis2, data2) {
+    var axisExtent = categoryAxis2.getExtent();
+    var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis2.scale.count();
+    isNaN(availSize) && (availSize = 0);
+    var dataLen = data2.count();
+    var step2 = Math.max(1, Math.round(dataLen / 5));
+    for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step2) {
+      if (SymbolClz2.getSymbolSize(
+        data2,
+        dataIndex
+        // Only for cartesian, where `isHorizontal` exists.
+      )[categoryAxis2.isHorizontal() ? 1 : 0] * 1.5 > availSize) {
+        return false;
+      }
+    }
+    return true;
+  }
+  function createLineClipPath2(coordSys, hasAnimation, seriesModel) {
+    if (coordSys.type === "cartesian2d") {
+      var isHorizontal = coordSys.getBaseAxis().isHorizontal();
+      var clipPath = createGridClipPath2(coordSys, hasAnimation, seriesModel);
+      if (!seriesModel.get("clip", true)) {
+        var rectShape = clipPath.shape;
+        var expandSize = Math.max(rectShape.width, rectShape.height);
+        if (isHorizontal) {
+          rectShape.y -= expandSize;
+          rectShape.height += expandSize * 2;
+        } else {
+          rectShape.x -= expandSize;
+          rectShape.width += expandSize * 2;
+        }
+      }
+      return clipPath;
+    } else {
+      return createPolarClipPath2(coordSys, hasAnimation, seriesModel);
+    }
+  }
+  var _default68 = ChartView2.extend({
+    type: "line",
+    init: function() {
+      var lineGroup = new graphic2.Group();
+      var symbolDraw = new SymbolDraw2();
+      this.group.add(symbolDraw.group);
+      this._symbolDraw = symbolDraw;
+      this._lineGroup = lineGroup;
+    },
+    render: function(seriesModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var lineStyleModel = seriesModel.getModel("lineStyle");
+      var areaStyleModel = seriesModel.getModel("areaStyle");
+      var points2 = data2.mapArray(data2.getItemLayout);
+      var isCoordSysPolar = coordSys.type === "polar";
+      var prevCoordSys = this._coordSys;
+      var symbolDraw = this._symbolDraw;
+      var polyline = this._polyline;
+      var polygon2 = this._polygon;
+      var lineGroup = this._lineGroup;
+      var hasAnimation = seriesModel.get("animation");
+      var isAreaChart = !areaStyleModel.isEmpty();
+      var valueOrigin = areaStyleModel.get("origin");
+      var dataCoordInfo = prepareDataCoordInfo2(coordSys, data2, valueOrigin);
+      var stackedOnPoints = getStackedOnPoints2(coordSys, data2, dataCoordInfo);
+      var showSymbol = seriesModel.get("showSymbol");
+      var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc2(seriesModel, data2, coordSys);
+      var oldData = this._data;
+      oldData && oldData.eachItemGraphicEl(function(el, idx) {
+        if (el.__temp) {
+          group.remove(el);
+          oldData.setItemGraphicEl(idx, null);
+        }
+      });
+      if (!showSymbol) {
+        symbolDraw.remove();
+      }
+      group.add(lineGroup);
+      var step2 = !isCoordSysPolar && seriesModel.get("step");
+      var clipShapeForSymbol;
+      if (coordSys && coordSys.getArea && seriesModel.get("clip", true)) {
+        clipShapeForSymbol = coordSys.getArea();
+        if (clipShapeForSymbol.width != null) {
+          clipShapeForSymbol.x -= 0.1;
+          clipShapeForSymbol.y -= 0.1;
+          clipShapeForSymbol.width += 0.2;
+          clipShapeForSymbol.height += 0.2;
+        } else if (clipShapeForSymbol.r0) {
+          clipShapeForSymbol.r0 -= 0.5;
+          clipShapeForSymbol.r1 += 0.5;
+        }
+      }
+      this._clipShapeForSymbol = clipShapeForSymbol;
+      if (!(polyline && prevCoordSys.type === coordSys.type && step2 === this._step)) {
+        showSymbol && symbolDraw.updateData(data2, {
+          isIgnore: isIgnoreFunc,
+          clipShape: clipShapeForSymbol
+        });
+        if (step2) {
+          points2 = turnPointsIntoStep2(points2, coordSys, step2);
+          stackedOnPoints = turnPointsIntoStep2(stackedOnPoints, coordSys, step2);
+        }
+        polyline = this._newPolyline(points2, coordSys, hasAnimation);
+        if (isAreaChart) {
+          polygon2 = this._newPolygon(points2, stackedOnPoints, coordSys, hasAnimation);
+        }
+        lineGroup.setClipPath(createLineClipPath2(coordSys, true, seriesModel));
+      } else {
+        if (isAreaChart && !polygon2) {
+          polygon2 = this._newPolygon(points2, stackedOnPoints, coordSys, hasAnimation);
+        } else if (polygon2 && !isAreaChart) {
+          lineGroup.remove(polygon2);
+          polygon2 = this._polygon = null;
+        }
+        lineGroup.setClipPath(createLineClipPath2(coordSys, false, seriesModel));
+        showSymbol && symbolDraw.updateData(data2, {
+          isIgnore: isIgnoreFunc,
+          clipShape: clipShapeForSymbol
+        });
+        data2.eachItemGraphicEl(function(el) {
+          el.stopAnimation(true);
+        });
+        if (!isPointsSame2(this._stackedOnPoints, stackedOnPoints) || !isPointsSame2(this._points, points2)) {
+          if (hasAnimation) {
+            this._updateAnimation(data2, stackedOnPoints, coordSys, api2, step2, valueOrigin);
+          } else {
+            if (step2) {
+              points2 = turnPointsIntoStep2(points2, coordSys, step2);
+              stackedOnPoints = turnPointsIntoStep2(stackedOnPoints, coordSys, step2);
+            }
+            polyline.setShape({
+              points: points2
+            });
+            polygon2 && polygon2.setShape({
+              points: points2,
+              stackedOnPoints
+            });
+          }
+        }
+      }
+      var visualColor = getVisualGradient2(data2, coordSys) || data2.getVisual("color");
+      polyline.useStyle(zrUtil2.defaults(
+        // Use color in lineStyle first
+        lineStyleModel.getLineStyle(),
+        {
+          fill: "none",
+          stroke: visualColor,
+          lineJoin: "bevel"
+        }
+      ));
+      var smooth = seriesModel.get("smooth");
+      smooth = getSmooth2(seriesModel.get("smooth"));
+      polyline.setShape({
+        smooth,
+        smoothMonotone: seriesModel.get("smoothMonotone"),
+        connectNulls: seriesModel.get("connectNulls")
+      });
+      if (polygon2) {
+        var stackedOnSeries = data2.getCalculationInfo("stackedOnSeries");
+        var stackedOnSmooth = 0;
+        polygon2.useStyle(zrUtil2.defaults(areaStyleModel.getAreaStyle(), {
+          fill: visualColor,
+          opacity: 0.7,
+          lineJoin: "bevel"
+        }));
+        if (stackedOnSeries) {
+          stackedOnSmooth = getSmooth2(stackedOnSeries.get("smooth"));
+        }
+        polygon2.setShape({
+          smooth,
+          stackedOnSmooth,
+          smoothMonotone: seriesModel.get("smoothMonotone"),
+          connectNulls: seriesModel.get("connectNulls")
+        });
+      }
+      this._data = data2;
+      this._coordSys = coordSys;
+      this._stackedOnPoints = stackedOnPoints;
+      this._points = points2;
+      this._step = step2;
+      this._valueOrigin = valueOrigin;
+    },
+    dispose: function() {
+    },
+    highlight: function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var dataIndex = modelUtil2.queryDataIndex(data2, payload);
+      if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {
+        var symbol2 = data2.getItemGraphicEl(dataIndex);
+        if (!symbol2) {
+          var pt = data2.getItemLayout(dataIndex);
+          if (!pt) {
+            return;
+          }
+          if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(pt[0], pt[1])) {
+            return;
+          }
+          symbol2 = new SymbolClz2(data2, dataIndex);
+          symbol2.position = pt;
+          symbol2.setZ(seriesModel.get("zlevel"), seriesModel.get("z"));
+          symbol2.ignore = isNaN(pt[0]) || isNaN(pt[1]);
+          symbol2.__temp = true;
+          data2.setItemGraphicEl(dataIndex, symbol2);
+          symbol2.stopSymbolAnimation(true);
+          this.group.add(symbol2);
+        }
+        symbol2.highlight();
+      } else {
+        ChartView2.prototype.highlight.call(this, seriesModel, ecModel, api2, payload);
+      }
+    },
+    downplay: function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var dataIndex = modelUtil2.queryDataIndex(data2, payload);
+      if (dataIndex != null && dataIndex >= 0) {
+        var symbol2 = data2.getItemGraphicEl(dataIndex);
+        if (symbol2) {
+          if (symbol2.__temp) {
+            data2.setItemGraphicEl(dataIndex, null);
+            this.group.remove(symbol2);
+          } else {
+            symbol2.downplay();
+          }
+        }
+      } else {
+        ChartView2.prototype.downplay.call(this, seriesModel, ecModel, api2, payload);
+      }
+    },
+    /**
+     * @param {module:zrender/container/Group} group
+     * @param {Array.<Array.<number>>} points
+     * @private
+     */
+    _newPolyline: function(points2) {
+      var polyline = this._polyline;
+      if (polyline) {
+        this._lineGroup.remove(polyline);
+      }
+      polyline = new Polyline2({
+        shape: {
+          points: points2
+        },
+        silent: true,
+        z2: 10
+      });
+      this._lineGroup.add(polyline);
+      this._polyline = polyline;
+      return polyline;
+    },
+    /**
+     * @param {module:zrender/container/Group} group
+     * @param {Array.<Array.<number>>} stackedOnPoints
+     * @param {Array.<Array.<number>>} points
+     * @private
+     */
+    _newPolygon: function(points2, stackedOnPoints) {
+      var polygon2 = this._polygon;
+      if (polygon2) {
+        this._lineGroup.remove(polygon2);
+      }
+      polygon2 = new Polygon2({
+        shape: {
+          points: points2,
+          stackedOnPoints
+        },
+        silent: true
+      });
+      this._lineGroup.add(polygon2);
+      this._polygon = polygon2;
+      return polygon2;
+    },
+    /**
+     * @private
+     */
+    // FIXME Two value axis
+    _updateAnimation: function(data2, stackedOnPoints, coordSys, api2, step2, valueOrigin) {
+      var polyline = this._polyline;
+      var polygon2 = this._polygon;
+      var seriesModel = data2.hostModel;
+      var diff = lineAnimationDiff2(this._data, data2, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin, valueOrigin);
+      var current = diff.current;
+      var stackedOnCurrent = diff.stackedOnCurrent;
+      var next = diff.next;
+      var stackedOnNext = diff.stackedOnNext;
+      if (step2) {
+        current = turnPointsIntoStep2(diff.current, coordSys, step2);
+        stackedOnCurrent = turnPointsIntoStep2(diff.stackedOnCurrent, coordSys, step2);
+        next = turnPointsIntoStep2(diff.next, coordSys, step2);
+        stackedOnNext = turnPointsIntoStep2(diff.stackedOnNext, coordSys, step2);
+      }
+      if (getBoundingDiff2(current, next) > 3e3 || polygon2 && getBoundingDiff2(stackedOnCurrent, stackedOnNext) > 3e3) {
+        polyline.setShape({
+          points: next
+        });
+        if (polygon2) {
+          polygon2.setShape({
+            points: next,
+            stackedOnPoints: stackedOnNext
+          });
+        }
+        return;
+      }
+      polyline.shape.__points = diff.current;
+      polyline.shape.points = current;
+      graphic2.updateProps(polyline, {
+        shape: {
+          points: next
+        }
+      }, seriesModel);
+      if (polygon2) {
+        polygon2.setShape({
+          points: current,
+          stackedOnPoints: stackedOnCurrent
+        });
+        graphic2.updateProps(polygon2, {
+          shape: {
+            points: next,
+            stackedOnPoints: stackedOnNext
+          }
+        }, seriesModel);
+      }
+      var updatedDataInfo = [];
+      var diffStatus = diff.status;
+      for (var i2 = 0; i2 < diffStatus.length; i2++) {
+        var cmd = diffStatus[i2].cmd;
+        if (cmd === "=") {
+          var el = data2.getItemGraphicEl(diffStatus[i2].idx1);
+          if (el) {
+            updatedDataInfo.push({
+              el,
+              ptIdx: i2
+              // Index of points
+            });
+          }
+        }
+      }
+      if (polyline.animators && polyline.animators.length) {
+        polyline.animators[0].during(function() {
+          for (var i3 = 0; i3 < updatedDataInfo.length; i3++) {
+            var el2 = updatedDataInfo[i3].el;
+            el2.attr("position", polyline.shape.__points[updatedDataInfo[i3].ptIdx]);
+          }
+        });
+      }
+    },
+    remove: function(ecModel) {
+      var group = this.group;
+      var oldData = this._data;
+      this._lineGroup.removeAll();
+      this._symbolDraw.remove(true);
+      oldData && oldData.eachItemGraphicEl(function(el, idx) {
+        if (el.__temp) {
+          group.remove(el);
+          oldData.setItemGraphicEl(idx, null);
+        }
+      });
+      this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._data = null;
+    }
+  });
+  LineView$2 = _default68;
+  return LineView$2;
+}
+var symbol;
+var hasRequiredSymbol;
+function requireSymbol() {
+  if (hasRequiredSymbol)
+    return symbol;
+  hasRequiredSymbol = 1;
+  var _util2 = util$a;
+  var isFunction2 = _util2.isFunction;
+  function _default68(seriesType2, defaultSymbolType, legendSymbol) {
+    return {
+      seriesType: seriesType2,
+      // For legend.
+      performRawSeries: true,
+      reset: function(seriesModel, ecModel, api2) {
+        var data2 = seriesModel.getData();
+        var symbolType = seriesModel.get("symbol");
+        var symbolSize = seriesModel.get("symbolSize");
+        var keepAspect = seriesModel.get("symbolKeepAspect");
+        var symbolRotate = seriesModel.get("symbolRotate");
+        var hasSymbolTypeCallback = isFunction2(symbolType);
+        var hasSymbolSizeCallback = isFunction2(symbolSize);
+        var hasSymbolRotateCallback = isFunction2(symbolRotate);
+        var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback || hasSymbolRotateCallback;
+        var seriesSymbol = !hasSymbolTypeCallback && symbolType ? symbolType : defaultSymbolType;
+        var seriesSymbolSize = !hasSymbolSizeCallback ? symbolSize : null;
+        data2.setVisual({
+          legendSymbol: legendSymbol || seriesSymbol,
+          // If seting callback functions on `symbol` or `symbolSize`, for simplicity and avoiding
+          // to bring trouble, we do not pick a reuslt from one of its calling on data item here,
+          // but just use the default value. Callback on `symbol` or `symbolSize` is convenient in
+          // some cases but generally it is not recommanded.
+          symbol: seriesSymbol,
+          symbolSize: seriesSymbolSize,
+          symbolKeepAspect: keepAspect,
+          symbolRotate
+        });
+        if (ecModel.isSeriesFiltered(seriesModel)) {
+          return;
+        }
+        function dataEach(data3, idx) {
+          if (hasCallback) {
+            var rawValue = seriesModel.getRawValue(idx);
+            var params2 = seriesModel.getDataParams(idx);
+            hasSymbolTypeCallback && data3.setItemVisual(idx, "symbol", symbolType(rawValue, params2));
+            hasSymbolSizeCallback && data3.setItemVisual(idx, "symbolSize", symbolSize(rawValue, params2));
+            hasSymbolRotateCallback && data3.setItemVisual(idx, "symbolRotate", symbolRotate(rawValue, params2));
+          }
+          if (data3.hasItemOption) {
+            var itemModel = data3.getItemModel(idx);
+            var itemSymbolType = itemModel.getShallow("symbol", true);
+            var itemSymbolSize = itemModel.getShallow("symbolSize", true);
+            var itemSymbolRotate = itemModel.getShallow("symbolRotate", true);
+            var itemSymbolKeepAspect = itemModel.getShallow("symbolKeepAspect", true);
+            if (itemSymbolType != null) {
+              data3.setItemVisual(idx, "symbol", itemSymbolType);
+            }
+            if (itemSymbolSize != null) {
+              data3.setItemVisual(idx, "symbolSize", itemSymbolSize);
+            }
+            if (itemSymbolRotate != null) {
+              data3.setItemVisual(idx, "symbolRotate", itemSymbolRotate);
+            }
+            if (itemSymbolKeepAspect != null) {
+              data3.setItemVisual(idx, "symbolKeepAspect", itemSymbolKeepAspect);
+            }
+          }
+        }
+        return {
+          dataEach: data2.hasItemOption || hasCallback ? dataEach : null
+        };
+      }
+    };
+  }
+  symbol = _default68;
+  return symbol;
+}
+var points$3;
+var hasRequiredPoints;
+function requirePoints() {
+  if (hasRequiredPoints)
+    return points$3;
+  hasRequiredPoints = 1;
+  var _util2 = util$a;
+  var map2 = _util2.map;
+  var createRenderPlanner2 = createRenderPlanner$2;
+  var _dataStackHelper = requireDataStackHelper();
+  var isDimensionStacked2 = _dataStackHelper.isDimensionStacked;
+  function _default68(seriesType2) {
+    return {
+      seriesType: seriesType2,
+      plan: createRenderPlanner2(),
+      reset: function(seriesModel) {
+        var data2 = seriesModel.getData();
+        var coordSys = seriesModel.coordinateSystem;
+        var pipelineContext = seriesModel.pipelineContext;
+        var isLargeRender = pipelineContext.large;
+        if (!coordSys) {
+          return;
+        }
+        var dims = map2(coordSys.dimensions, function(dim) {
+          return data2.mapDimension(dim);
+        }).slice(0, 2);
+        var dimLen = dims.length;
+        var stackResultDim = data2.getCalculationInfo("stackResultDimension");
+        if (isDimensionStacked2(
+          data2,
+          dims[0]
+          /*, dims[1]*/
+        )) {
+          dims[0] = stackResultDim;
+        }
+        if (isDimensionStacked2(
+          data2,
+          dims[1]
+          /*, dims[0]*/
+        )) {
+          dims[1] = stackResultDim;
+        }
+        function progress(params2, data3) {
+          var segCount = params2.end - params2.start;
+          var points2 = isLargeRender && new Float32Array(segCount * dimLen);
+          for (var i2 = params2.start, offset2 = 0, tmpIn = [], tmpOut = []; i2 < params2.end; i2++) {
+            var point;
+            if (dimLen === 1) {
+              var x2 = data3.get(dims[0], i2);
+              point = !isNaN(x2) && coordSys.dataToPoint(x2, null, tmpOut);
+            } else {
+              var x2 = tmpIn[0] = data3.get(dims[0], i2);
+              var y2 = tmpIn[1] = data3.get(dims[1], i2);
+              point = !isNaN(x2) && !isNaN(y2) && coordSys.dataToPoint(tmpIn, null, tmpOut);
+            }
+            if (isLargeRender) {
+              points2[offset2++] = point ? point[0] : NaN;
+              points2[offset2++] = point ? point[1] : NaN;
+            } else {
+              data3.setItemLayout(i2, point && point.slice() || [NaN, NaN]);
+            }
+          }
+          isLargeRender && data3.setLayout("symbolPoints", points2);
+        }
+        return dimLen && {
+          progress
+        };
+      }
+    };
+  }
+  points$3 = _default68;
+  return points$3;
+}
+var dataSample$1;
+var hasRequiredDataSample;
+function requireDataSample() {
+  if (hasRequiredDataSample)
+    return dataSample$1;
+  hasRequiredDataSample = 1;
+  var samplers2 = {
+    average: function(frame) {
+      var sum2 = 0;
+      var count2 = 0;
+      for (var i2 = 0; i2 < frame.length; i2++) {
+        if (!isNaN(frame[i2])) {
+          sum2 += frame[i2];
+          count2++;
+        }
+      }
+      return count2 === 0 ? NaN : sum2 / count2;
+    },
+    sum: function(frame) {
+      var sum2 = 0;
+      for (var i2 = 0; i2 < frame.length; i2++) {
+        sum2 += frame[i2] || 0;
+      }
+      return sum2;
+    },
+    max: function(frame) {
+      var max3 = -Infinity;
+      for (var i2 = 0; i2 < frame.length; i2++) {
+        frame[i2] > max3 && (max3 = frame[i2]);
+      }
+      return isFinite(max3) ? max3 : NaN;
+    },
+    min: function(frame) {
+      var min3 = Infinity;
+      for (var i2 = 0; i2 < frame.length; i2++) {
+        frame[i2] < min3 && (min3 = frame[i2]);
+      }
+      return isFinite(min3) ? min3 : NaN;
+    },
+    // TODO
+    // Median
+    nearest: function(frame) {
+      return frame[0];
+    }
+  };
+  var indexSampler2 = function(frame, value) {
+    return Math.round(frame.length / 2);
+  };
+  function _default68(seriesType2) {
+    return {
+      seriesType: seriesType2,
+      modifyOutputEnd: true,
+      reset: function(seriesModel, ecModel, api2) {
+        var data2 = seriesModel.getData();
+        var sampling = seriesModel.get("sampling");
+        var coordSys = seriesModel.coordinateSystem;
+        if (coordSys.type === "cartesian2d" && sampling) {
+          var baseAxis = coordSys.getBaseAxis();
+          var valueAxis2 = coordSys.getOtherAxis(baseAxis);
+          var extent3 = baseAxis.getExtent();
+          var size = Math.abs(extent3[1] - extent3[0]);
+          var rate = Math.round(data2.count() / size);
+          if (rate > 1) {
+            var sampler;
+            if (typeof sampling === "string") {
+              sampler = samplers2[sampling];
+            } else if (typeof sampling === "function") {
+              sampler = sampling;
+            }
+            if (sampler) {
+              seriesModel.setData(data2.downSample(data2.mapDimension(valueAxis2.dim), 1 / rate, sampler, indexSampler2));
+            }
+          }
+        }
+      }
+    };
+  }
+  dataSample$1 = _default68;
+  return dataSample$1;
+}
+var gridSimple = {};
+var Cartesian_1;
+var hasRequiredCartesian;
+function requireCartesian() {
+  if (hasRequiredCartesian)
+    return Cartesian_1;
+  hasRequiredCartesian = 1;
+  var zrUtil2 = util$a;
+  function dimAxisMapper(dim) {
+    return this._axes[dim];
+  }
+  var Cartesian2 = function(name2) {
+    this._axes = {};
+    this._dimList = [];
+    this.name = name2 || "";
+  };
+  Cartesian2.prototype = {
+    constructor: Cartesian2,
+    type: "cartesian",
+    /**
+     * Get axis
+     * @param  {number|string} dim
+     * @return {module:echarts/coord/Cartesian~Axis}
+     */
+    getAxis: function(dim) {
+      return this._axes[dim];
+    },
+    /**
+     * Get axes list
+     * @return {Array.<module:echarts/coord/Cartesian~Axis>}
+     */
+    getAxes: function() {
+      return zrUtil2.map(this._dimList, dimAxisMapper, this);
+    },
+    /**
+     * Get axes list by given scale type
+     */
+    getAxesByScale: function(scaleType) {
+      scaleType = scaleType.toLowerCase();
+      return zrUtil2.filter(this.getAxes(), function(axis2) {
+        return axis2.scale.type === scaleType;
+      });
+    },
+    /**
+     * Add axis
+     * @param {module:echarts/coord/Cartesian.Axis}
+     */
+    addAxis: function(axis2) {
+      var dim = axis2.dim;
+      this._axes[dim] = axis2;
+      this._dimList.push(dim);
+    },
+    /**
+     * Convert data to coord in nd space
+     * @param {Array.<number>|Object.<string, number>} val
+     * @return {Array.<number>|Object.<string, number>}
+     */
+    dataToCoord: function(val) {
+      return this._dataCoordConvert(val, "dataToCoord");
+    },
+    /**
+     * Convert coord in nd space to data
+     * @param  {Array.<number>|Object.<string, number>} val
+     * @return {Array.<number>|Object.<string, number>}
+     */
+    coordToData: function(val) {
+      return this._dataCoordConvert(val, "coordToData");
+    },
+    _dataCoordConvert: function(input, method) {
+      var dimList = this._dimList;
+      var output = input instanceof Array ? [] : {};
+      for (var i2 = 0; i2 < dimList.length; i2++) {
+        var dim = dimList[i2];
+        var axis2 = this._axes[dim];
+        output[dim] = axis2[method](input[dim]);
+      }
+      return output;
+    }
+  };
+  var _default68 = Cartesian2;
+  Cartesian_1 = _default68;
+  return Cartesian_1;
+}
+var Cartesian2D_1;
+var hasRequiredCartesian2D;
+function requireCartesian2D() {
+  if (hasRequiredCartesian2D)
+    return Cartesian2D_1;
+  hasRequiredCartesian2D = 1;
+  var zrUtil2 = util$a;
+  var BoundingRect2 = BoundingRect_1;
+  var Cartesian2 = requireCartesian();
+  function Cartesian2D2(name2) {
+    Cartesian2.call(this, name2);
+  }
+  Cartesian2D2.prototype = {
+    constructor: Cartesian2D2,
+    type: "cartesian2d",
+    /**
+     * @type {Array.<string>}
+     * @readOnly
+     */
+    dimensions: ["x", "y"],
+    /**
+     * Base axis will be used on stacking.
+     *
+     * @return {module:echarts/coord/cartesian/Axis2D}
+     */
+    getBaseAxis: function() {
+      return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAxis("x");
+    },
+    /**
+     * If contain point
+     * @param {Array.<number>} point
+     * @return {boolean}
+     */
+    containPoint: function(point) {
+      var axisX = this.getAxis("x");
+      var axisY = this.getAxis("y");
+      return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));
+    },
+    /**
+     * If contain data
+     * @param {Array.<number>} data
+     * @return {boolean}
+     */
+    containData: function(data2) {
+      return this.getAxis("x").containData(data2[0]) && this.getAxis("y").containData(data2[1]);
+    },
+    /**
+     * @param {Array.<number>} data
+     * @param {Array.<number>} out
+     * @return {Array.<number>}
+     */
+    dataToPoint: function(data2, reserved, out2) {
+      var xAxis = this.getAxis("x");
+      var yAxis = this.getAxis("y");
+      out2 = out2 || [];
+      out2[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(data2[0]));
+      out2[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(data2[1]));
+      return out2;
+    },
+    /**
+     * @param {Array.<number>} data
+     * @param {Array.<number>} out
+     * @return {Array.<number>}
+     */
+    clampData: function(data2, out2) {
+      var xScale = this.getAxis("x").scale;
+      var yScale = this.getAxis("y").scale;
+      var xAxisExtent = xScale.getExtent();
+      var yAxisExtent = yScale.getExtent();
+      var x2 = xScale.parse(data2[0]);
+      var y2 = yScale.parse(data2[1]);
+      out2 = out2 || [];
+      out2[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x2), Math.max(xAxisExtent[0], xAxisExtent[1]));
+      out2[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y2), Math.max(yAxisExtent[0], yAxisExtent[1]));
+      return out2;
+    },
+    /**
+     * @param {Array.<number>} point
+     * @param {Array.<number>} out
+     * @return {Array.<number>}
+     */
+    pointToData: function(point, out2) {
+      var xAxis = this.getAxis("x");
+      var yAxis = this.getAxis("y");
+      out2 = out2 || [];
+      out2[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]));
+      out2[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]));
+      return out2;
+    },
+    /**
+     * Get other axis
+     * @param {module:echarts/coord/cartesian/Axis2D} axis
+     */
+    getOtherAxis: function(axis2) {
+      return this.getAxis(axis2.dim === "x" ? "y" : "x");
+    },
+    /**
+     * Get rect area of cartesian.
+     * Area will have a contain function to determine if a point is in the coordinate system.
+     * @return {BoundingRect}
+     */
+    getArea: function() {
+      var xExtent = this.getAxis("x").getGlobalExtent();
+      var yExtent = this.getAxis("y").getGlobalExtent();
+      var x2 = Math.min(xExtent[0], xExtent[1]);
+      var y2 = Math.min(yExtent[0], yExtent[1]);
+      var width = Math.max(xExtent[0], xExtent[1]) - x2;
+      var height = Math.max(yExtent[0], yExtent[1]) - y2;
+      var rect = new BoundingRect2(x2, y2, width, height);
+      return rect;
+    }
+  };
+  zrUtil2.inherits(Cartesian2D2, Cartesian2);
+  var _default68 = Cartesian2D2;
+  Cartesian2D_1 = _default68;
+  return Cartesian2D_1;
+}
+var Axis2D_1;
+var hasRequiredAxis2D;
+function requireAxis2D() {
+  if (hasRequiredAxis2D)
+    return Axis2D_1;
+  hasRequiredAxis2D = 1;
+  var zrUtil2 = util$a;
+  var Axis2 = requireAxis$1();
+  var Axis2D2 = function(dim, scale2, coordExtent, axisType, position2) {
+    Axis2.call(this, dim, scale2, coordExtent);
+    this.type = axisType || "value";
+    this.position = position2 || "bottom";
+  };
+  Axis2D2.prototype = {
+    constructor: Axis2D2,
+    /**
+     * Index of axis, can be used as key
+     */
+    index: 0,
+    /**
+     * Implemented in <module:echarts/coord/cartesian/Grid>.
+     * @return {Array.<module:echarts/coord/cartesian/Axis2D>}
+     *         If not on zero of other axis, return null/undefined.
+     *         If no axes, return an empty array.
+     */
+    getAxesOnZeroOf: null,
+    /**
+     * Axis model
+     * @param {module:echarts/coord/cartesian/AxisModel}
+     */
+    model: null,
+    isHorizontal: function() {
+      var position2 = this.position;
+      return position2 === "top" || position2 === "bottom";
+    },
+    /**
+     * Each item cooresponds to this.getExtent(), which
+     * means globalExtent[0] may greater than globalExtent[1],
+     * unless `asc` is input.
+     *
+     * @param {boolean} [asc]
+     * @return {Array.<number>}
+     */
+    getGlobalExtent: function(asc2) {
+      var ret = this.getExtent();
+      ret[0] = this.toGlobalCoord(ret[0]);
+      ret[1] = this.toGlobalCoord(ret[1]);
+      asc2 && ret[0] > ret[1] && ret.reverse();
+      return ret;
+    },
+    getOtherAxis: function() {
+      this.grid.getOtherAxis();
+    },
+    /**
+     * @override
+     */
+    pointToData: function(point, clamp2) {
+      return this.coordToData(this.toLocalCoord(point[this.dim === "x" ? 0 : 1]), clamp2);
+    },
+    /**
+     * Transform global coord to local coord,
+     * i.e. var localCoord = axis.toLocalCoord(80);
+     * designate by module:echarts/coord/cartesian/Grid.
+     * @type {Function}
+     */
+    toLocalCoord: null,
+    /**
+     * Transform global coord to local coord,
+     * i.e. var globalCoord = axis.toLocalCoord(40);
+     * designate by module:echarts/coord/cartesian/Grid.
+     * @type {Function}
+     */
+    toGlobalCoord: null
+  };
+  zrUtil2.inherits(Axis2D2, Axis2);
+  var _default68 = Axis2D2;
+  Axis2D_1 = _default68;
+  return Axis2D_1;
+}
+var axisDefault_1;
+var hasRequiredAxisDefault;
+function requireAxisDefault() {
+  if (hasRequiredAxisDefault)
+    return axisDefault_1;
+  hasRequiredAxisDefault = 1;
+  var zrUtil2 = util$a;
+  var defaultOption2 = {
+    show: true,
+    zlevel: 0,
+    z: 0,
+    // Inverse the axis.
+    inverse: false,
+    // Axis name displayed.
+    name: "",
+    // 'start' | 'middle' | 'end'
+    nameLocation: "end",
+    // By degree. By default auto rotate by nameLocation.
+    nameRotate: null,
+    nameTruncate: {
+      maxWidth: null,
+      ellipsis: "...",
+      placeholder: "."
+    },
+    // Use global text style by default.
+    nameTextStyle: {},
+    // The gap between axisName and axisLine.
+    nameGap: 15,
+    // Default `false` to support tooltip.
+    silent: false,
+    // Default `false` to avoid legacy user event listener fail.
+    triggerEvent: false,
+    tooltip: {
+      show: false
+    },
+    axisPointer: {},
+    axisLine: {
+      show: true,
+      onZero: true,
+      onZeroAxisIndex: null,
+      lineStyle: {
+        color: "#333",
+        width: 1,
+        type: "solid"
+      },
+      // The arrow at both ends the the axis.
+      symbol: ["none", "none"],
+      symbolSize: [10, 15]
+    },
+    axisTick: {
+      show: true,
+      // Whether axisTick is inside the grid or outside the grid.
+      inside: false,
+      // The length of axisTick.
+      length: 5,
+      lineStyle: {
+        width: 1
+      }
+    },
+    axisLabel: {
+      show: true,
+      // Whether axisLabel is inside the grid or outside the grid.
+      inside: false,
+      rotate: 0,
+      // true | false | null/undefined (auto)
+      showMinLabel: null,
+      // true | false | null/undefined (auto)
+      showMaxLabel: null,
+      margin: 8,
+      // formatter: null,
+      fontSize: 12
+    },
+    splitLine: {
+      show: true,
+      lineStyle: {
+        color: ["#ccc"],
+        width: 1,
+        type: "solid"
+      }
+    },
+    splitArea: {
+      show: false,
+      areaStyle: {
+        color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
+      }
+    }
+  };
+  var axisDefault2 = {};
+  axisDefault2.categoryAxis = zrUtil2.merge({
+    // The gap at both ends of the axis. For categoryAxis, boolean.
+    boundaryGap: true,
+    // Set false to faster category collection.
+    // Only usefull in the case like: category is
+    // ['2012-01-01', '2012-01-02', ...], where the input
+    // data has been ensured not duplicate and is large data.
+    // null means "auto":
+    // if axis.data provided, do not deduplication,
+    // else do deduplication.
+    deduplication: null,
+    // splitArea: {
+    // show: false
+    // },
+    splitLine: {
+      show: false
+    },
+    axisTick: {
+      // If tick is align with label when boundaryGap is true
+      alignWithLabel: false,
+      interval: "auto"
+    },
+    axisLabel: {
+      interval: "auto"
+    }
+  }, defaultOption2);
+  axisDefault2.valueAxis = zrUtil2.merge({
+    // The gap at both ends of the axis. For value axis, [GAP, GAP], where
+    // `GAP` can be an absolute pixel number (like `35`), or percent (like `'30%'`)
+    boundaryGap: [0, 0],
+    // TODO
+    // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]
+    // Min value of the axis. can be:
+    // + a number
+    // + 'dataMin': use the min value in data.
+    // + null/undefined: auto decide min value (consider pretty look and boundaryGap).
+    // min: null,
+    // Max value of the axis. can be:
+    // + a number
+    // + 'dataMax': use the max value in data.
+    // + null/undefined: auto decide max value (consider pretty look and boundaryGap).
+    // max: null,
+    // Readonly prop, specifies start value of the range when using data zoom.
+    // rangeStart: null
+    // Readonly prop, specifies end value of the range when using data zoom.
+    // rangeEnd: null
+    // Optional value can be:
+    // + `false`: always include value 0.
+    // + `true`: the extent do not consider value 0.
+    // scale: false,
+    // AxisTick and axisLabel and splitLine are caculated based on splitNumber.
+    splitNumber: 5,
+    // Interval specifies the span of the ticks is mandatorily.
+    // interval: null
+    // Specify min interval when auto calculate tick interval.
+    // minInterval: null
+    // Specify max interval when auto calculate tick interval.
+    // maxInterval: null
+    minorTick: {
+      // Minor tick, not available for cateogry axis.
+      show: false,
+      // Split number of minor ticks. The value should be in range of (0, 100)
+      splitNumber: 5,
+      // Lenght of minor tick
+      length: 3,
+      // Same inside with axisTick
+      // Line style
+      lineStyle: {
+        // Default to be same with axisTick
+      }
+    },
+    minorSplitLine: {
+      show: false,
+      lineStyle: {
+        color: "#eee",
+        width: 1
+      }
+    }
+  }, defaultOption2);
+  axisDefault2.timeAxis = zrUtil2.defaults({
+    scale: true,
+    min: "dataMin",
+    max: "dataMax"
+  }, axisDefault2.valueAxis);
+  axisDefault2.logAxis = zrUtil2.defaults({
+    scale: true,
+    logBase: 10
+  }, axisDefault2.valueAxis);
+  var _default68 = axisDefault2;
+  axisDefault_1 = _default68;
+  return axisDefault_1;
+}
+var axisModelCreator$1;
+var hasRequiredAxisModelCreator;
+function requireAxisModelCreator() {
+  if (hasRequiredAxisModelCreator)
+    return axisModelCreator$1;
+  hasRequiredAxisModelCreator = 1;
+  var zrUtil2 = util$a;
+  var axisDefault2 = requireAxisDefault();
+  var ComponentModel2 = Component$1;
+  var _layout2 = layout$5;
+  var getLayoutParams2 = _layout2.getLayoutParams;
+  var mergeLayoutParam2 = _layout2.mergeLayoutParam;
+  var OrdinalMeta2 = requireOrdinalMeta();
+  var AXIS_TYPES2 = ["value", "category", "time", "log"];
+  function _default68(axisName, BaseAxisModelClass, axisTypeDefaulter, extraDefaultOption) {
+    zrUtil2.each(AXIS_TYPES2, function(axisType) {
+      BaseAxisModelClass.extend({
+        /**
+         * @readOnly
+         */
+        type: axisName + "Axis." + axisType,
+        mergeDefaultAndTheme: function(option, ecModel) {
+          var layoutMode = this.layoutMode;
+          var inputPositionParams = layoutMode ? getLayoutParams2(option) : {};
+          var themeModel = ecModel.getTheme();
+          zrUtil2.merge(option, themeModel.get(axisType + "Axis"));
+          zrUtil2.merge(option, this.getDefaultOption());
+          option.type = axisTypeDefaulter(axisName, option);
+          if (layoutMode) {
+            mergeLayoutParam2(option, inputPositionParams, layoutMode);
+          }
+        },
+        /**
+         * @override
+         */
+        optionUpdated: function() {
+          var thisOption = this.option;
+          if (thisOption.type === "category") {
+            this.__ordinalMeta = OrdinalMeta2.createByAxisModel(this);
+          }
+        },
+        /**
+         * Should not be called before all of 'getInitailData' finished.
+         * Because categories are collected during initializing data.
+         */
+        getCategories: function(rawData) {
+          var option = this.option;
+          if (option.type === "category") {
+            if (rawData) {
+              return option.data;
+            }
+            return this.__ordinalMeta.categories;
+          }
+        },
+        getOrdinalMeta: function() {
+          return this.__ordinalMeta;
+        },
+        defaultOption: zrUtil2.mergeAll([{}, axisDefault2[axisType + "Axis"], extraDefaultOption], true)
+      });
+    });
+    ComponentModel2.registerSubTypeDefaulter(axisName + "Axis", zrUtil2.curry(axisTypeDefaulter, axisName));
+  }
+  axisModelCreator$1 = _default68;
+  return axisModelCreator$1;
+}
+var AxisModel_1$2;
+var hasRequiredAxisModel$3;
+function requireAxisModel$3() {
+  if (hasRequiredAxisModel$3)
+    return AxisModel_1$2;
+  hasRequiredAxisModel$3 = 1;
+  var zrUtil2 = util$a;
+  var ComponentModel2 = Component$1;
+  var axisModelCreator2 = requireAxisModelCreator();
+  var axisModelCommonMixin2 = requireAxisModelCommonMixin();
+  var AxisModel2 = ComponentModel2.extend({
+    type: "cartesian2dAxis",
+    /**
+     * @type {module:echarts/coord/cartesian/Axis2D}
+     */
+    axis: null,
+    /**
+     * @override
+     */
+    init: function() {
+      AxisModel2.superApply(this, "init", arguments);
+      this.resetRange();
+    },
+    /**
+     * @override
+     */
+    mergeOption: function() {
+      AxisModel2.superApply(this, "mergeOption", arguments);
+      this.resetRange();
+    },
+    /**
+     * @override
+     */
+    restoreData: function() {
+      AxisModel2.superApply(this, "restoreData", arguments);
+      this.resetRange();
+    },
+    /**
+     * @override
+     * @return {module:echarts/model/Component}
+     */
+    getCoordSysModel: function() {
+      return this.ecModel.queryComponents({
+        mainType: "grid",
+        index: this.option.gridIndex,
+        id: this.option.gridId
+      })[0];
+    }
+  });
+  function getAxisType2(axisDim, option) {
+    return option.type || (option.data ? "category" : "value");
+  }
+  zrUtil2.merge(AxisModel2.prototype, axisModelCommonMixin2);
+  var extraOption2 = {
+    // gridIndex: 0,
+    // gridId: '',
+    // Offset is for multiple axis on the same position
+    offset: 0
+  };
+  axisModelCreator2("x", AxisModel2, getAxisType2, extraOption2);
+  axisModelCreator2("y", AxisModel2, getAxisType2, extraOption2);
+  var _default68 = AxisModel2;
+  AxisModel_1$2 = _default68;
+  return AxisModel_1$2;
+}
+var GridModel$2;
+var hasRequiredGridModel;
+function requireGridModel() {
+  if (hasRequiredGridModel)
+    return GridModel$2;
+  hasRequiredGridModel = 1;
+  requireAxisModel$3();
+  var ComponentModel2 = Component$1;
+  var _default68 = ComponentModel2.extend({
+    type: "grid",
+    dependencies: ["xAxis", "yAxis"],
+    layoutMode: "box",
+    /**
+     * @type {module:echarts/coord/cartesian/Grid}
+     */
+    coordinateSystem: null,
+    defaultOption: {
+      show: false,
+      zlevel: 0,
+      z: 0,
+      left: "10%",
+      top: 60,
+      right: "10%",
+      bottom: 60,
+      // If grid size contain label
+      containLabel: false,
+      // width: {totalWidth} - left - right,
+      // height: {totalHeight} - top - bottom,
+      backgroundColor: "rgba(0,0,0,0)",
+      borderWidth: 1,
+      borderColor: "#ccc"
+    }
+  });
+  GridModel$2 = _default68;
+  return GridModel$2;
+}
+var Grid_1;
+var hasRequiredGrid$1;
+function requireGrid$1() {
+  if (hasRequiredGrid$1)
+    return Grid_1;
+  hasRequiredGrid$1 = 1;
+  var _util2 = util$a;
+  var isObject2 = _util2.isObject;
+  var each2 = _util2.each;
+  var map2 = _util2.map;
+  var indexOf2 = _util2.indexOf;
+  _util2.retrieve;
+  var _layout2 = layout$5;
+  var getLayoutRect2 = _layout2.getLayoutRect;
+  var _axisHelper = requireAxisHelper();
+  var createScaleByModel2 = _axisHelper.createScaleByModel;
+  var ifAxisCrossZero2 = _axisHelper.ifAxisCrossZero;
+  var niceScaleExtent2 = _axisHelper.niceScaleExtent;
+  var estimateLabelUnionRect2 = _axisHelper.estimateLabelUnionRect;
+  var Cartesian2D2 = requireCartesian2D();
+  var Axis2D2 = requireAxis2D();
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var _dataStackHelper = requireDataStackHelper();
+  var getStackedDimension2 = _dataStackHelper.getStackedDimension;
+  requireGridModel();
+  function isAxisUsedInTheGrid2(axisModel, gridModel, ecModel) {
+    return axisModel.getCoordSysModel() === gridModel;
+  }
+  function Grid2(gridModel, ecModel, api2) {
+    this._coordsMap = {};
+    this._coordsList = [];
+    this._axesMap = {};
+    this._axesList = [];
+    this._initCartesian(gridModel, ecModel, api2);
+    this.model = gridModel;
+  }
+  var gridProto = Grid2.prototype;
+  gridProto.type = "grid";
+  gridProto.axisPointerEnabled = true;
+  gridProto.getRect = function() {
+    return this._rect;
+  };
+  gridProto.update = function(ecModel, api2) {
+    var axesMap = this._axesMap;
+    this._updateScale(ecModel, this.model);
+    each2(axesMap.x, function(xAxis) {
+      niceScaleExtent2(xAxis.scale, xAxis.model);
+    });
+    each2(axesMap.y, function(yAxis) {
+      niceScaleExtent2(yAxis.scale, yAxis.model);
+    });
+    var onZeroRecords = {};
+    each2(axesMap.x, function(xAxis) {
+      fixAxisOnZero2(axesMap, "y", xAxis, onZeroRecords);
+    });
+    each2(axesMap.y, function(yAxis) {
+      fixAxisOnZero2(axesMap, "x", yAxis, onZeroRecords);
+    });
+    this.resize(this.model, api2);
+  };
+  function fixAxisOnZero2(axesMap, otherAxisDim, axis2, onZeroRecords) {
+    axis2.getAxesOnZeroOf = function() {
+      return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];
+    };
+    var otherAxes = axesMap[otherAxisDim];
+    var otherAxisOnZeroOf;
+    var axisModel = axis2.model;
+    var onZero = axisModel.get("axisLine.onZero");
+    var onZeroAxisIndex = axisModel.get("axisLine.onZeroAxisIndex");
+    if (!onZero) {
+      return;
+    }
+    if (onZeroAxisIndex != null) {
+      if (canOnZeroToAxis2(otherAxes[onZeroAxisIndex])) {
+        otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];
+      }
+    } else {
+      for (var idx in otherAxes) {
+        if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis2(otherAxes[idx]) && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {
+          otherAxisOnZeroOf = otherAxes[idx];
+          break;
+        }
+      }
+    }
+    if (otherAxisOnZeroOf) {
+      onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;
+    }
+    function getOnZeroRecordKey(axis3) {
+      return axis3.dim + "_" + axis3.index;
+    }
+  }
+  function canOnZeroToAxis2(axis2) {
+    return axis2 && axis2.type !== "category" && axis2.type !== "time" && ifAxisCrossZero2(axis2);
+  }
+  gridProto.resize = function(gridModel, api2, ignoreContainLabel) {
+    var gridRect = getLayoutRect2(gridModel.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+    this._rect = gridRect;
+    var axesList = this._axesList;
+    adjustAxes();
+    if (!ignoreContainLabel && gridModel.get("containLabel")) {
+      each2(axesList, function(axis2) {
+        if (!axis2.model.get("axisLabel.inside")) {
+          var labelUnionRect = estimateLabelUnionRect2(axis2);
+          if (labelUnionRect) {
+            var dim = axis2.isHorizontal() ? "height" : "width";
+            var margin = axis2.model.get("axisLabel.margin");
+            gridRect[dim] -= labelUnionRect[dim] + margin;
+            if (axis2.position === "top") {
+              gridRect.y += labelUnionRect.height + margin;
+            } else if (axis2.position === "left") {
+              gridRect.x += labelUnionRect.width + margin;
+            }
+          }
+        }
+      });
+      adjustAxes();
+    }
+    function adjustAxes() {
+      each2(axesList, function(axis2) {
+        var isHorizontal = axis2.isHorizontal();
+        var extent3 = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];
+        var idx = axis2.inverse ? 1 : 0;
+        axis2.setExtent(extent3[idx], extent3[1 - idx]);
+        updateAxisTransform2(axis2, isHorizontal ? gridRect.x : gridRect.y);
+      });
+    }
+  };
+  gridProto.getAxis = function(axisType, axisIndex) {
+    var axesMapOnDim = this._axesMap[axisType];
+    if (axesMapOnDim != null) {
+      if (axisIndex == null) {
+        for (var name2 in axesMapOnDim) {
+          if (axesMapOnDim.hasOwnProperty(name2)) {
+            return axesMapOnDim[name2];
+          }
+        }
+      }
+      return axesMapOnDim[axisIndex];
+    }
+  };
+  gridProto.getAxes = function() {
+    return this._axesList.slice();
+  };
+  gridProto.getCartesian = function(xAxisIndex, yAxisIndex) {
+    if (xAxisIndex != null && yAxisIndex != null) {
+      var key2 = "x" + xAxisIndex + "y" + yAxisIndex;
+      return this._coordsMap[key2];
+    }
+    if (isObject2(xAxisIndex)) {
+      yAxisIndex = xAxisIndex.yAxisIndex;
+      xAxisIndex = xAxisIndex.xAxisIndex;
+    }
+    for (var i2 = 0, coordList = this._coordsList; i2 < coordList.length; i2++) {
+      if (coordList[i2].getAxis("x").index === xAxisIndex || coordList[i2].getAxis("y").index === yAxisIndex) {
+        return coordList[i2];
+      }
+    }
+  };
+  gridProto.getCartesians = function() {
+    return this._coordsList.slice();
+  };
+  gridProto.convertToPixel = function(ecModel, finder, value) {
+    var target = this._findConvertTarget(ecModel, finder);
+    return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;
+  };
+  gridProto.convertFromPixel = function(ecModel, finder, value) {
+    var target = this._findConvertTarget(ecModel, finder);
+    return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;
+  };
+  gridProto._findConvertTarget = function(ecModel, finder) {
+    var seriesModel = finder.seriesModel;
+    var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents("xAxis")[0];
+    var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents("yAxis")[0];
+    var gridModel = finder.gridModel;
+    var coordsList = this._coordsList;
+    var cartesian;
+    var axis2;
+    if (seriesModel) {
+      cartesian = seriesModel.coordinateSystem;
+      indexOf2(coordsList, cartesian) < 0 && (cartesian = null);
+    } else if (xAxisModel && yAxisModel) {
+      cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);
+    } else if (xAxisModel) {
+      axis2 = this.getAxis("x", xAxisModel.componentIndex);
+    } else if (yAxisModel) {
+      axis2 = this.getAxis("y", yAxisModel.componentIndex);
+    } else if (gridModel) {
+      var grid2 = gridModel.coordinateSystem;
+      if (grid2 === this) {
+        cartesian = this._coordsList[0];
+      }
+    }
+    return {
+      cartesian,
+      axis: axis2
+    };
+  };
+  gridProto.containPoint = function(point) {
+    var coord = this._coordsList[0];
+    if (coord) {
+      return coord.containPoint(point);
+    }
+  };
+  gridProto._initCartesian = function(gridModel, ecModel, api2) {
+    var axisPositionUsed = {
+      left: false,
+      right: false,
+      top: false,
+      bottom: false
+    };
+    var axesMap = {
+      x: {},
+      y: {}
+    };
+    var axesCount = {
+      x: 0,
+      y: 0
+    };
+    ecModel.eachComponent("xAxis", createAxisCreator("x"), this);
+    ecModel.eachComponent("yAxis", createAxisCreator("y"), this);
+    if (!axesCount.x || !axesCount.y) {
+      this._axesMap = {};
+      this._axesList = [];
+      return;
+    }
+    this._axesMap = axesMap;
+    each2(axesMap.x, function(xAxis, xAxisIndex) {
+      each2(axesMap.y, function(yAxis, yAxisIndex) {
+        var key2 = "x" + xAxisIndex + "y" + yAxisIndex;
+        var cartesian = new Cartesian2D2(key2);
+        cartesian.grid = this;
+        cartesian.model = gridModel;
+        this._coordsMap[key2] = cartesian;
+        this._coordsList.push(cartesian);
+        cartesian.addAxis(xAxis);
+        cartesian.addAxis(yAxis);
+      }, this);
+    }, this);
+    function createAxisCreator(axisType) {
+      return function(axisModel, idx) {
+        if (!isAxisUsedInTheGrid2(axisModel, gridModel)) {
+          return;
+        }
+        var axisPosition = axisModel.get("position");
+        if (axisType === "x") {
+          if (axisPosition !== "top" && axisPosition !== "bottom") {
+            axisPosition = axisPositionUsed.bottom ? "top" : "bottom";
+          }
+        } else {
+          if (axisPosition !== "left" && axisPosition !== "right") {
+            axisPosition = axisPositionUsed.left ? "right" : "left";
+          }
+        }
+        axisPositionUsed[axisPosition] = true;
+        var axis2 = new Axis2D2(axisType, createScaleByModel2(axisModel), [0, 0], axisModel.get("type"), axisPosition);
+        var isCategory2 = axis2.type === "category";
+        axis2.onBand = isCategory2 && axisModel.get("boundaryGap");
+        axis2.inverse = axisModel.get("inverse");
+        axisModel.axis = axis2;
+        axis2.model = axisModel;
+        axis2.grid = this;
+        axis2.index = idx;
+        this._axesList.push(axis2);
+        axesMap[axisType][idx] = axis2;
+        axesCount[axisType]++;
+      };
+    }
+  };
+  gridProto._updateScale = function(ecModel, gridModel) {
+    each2(this._axesList, function(axis2) {
+      axis2.scale.setExtent(Infinity, -Infinity);
+    });
+    ecModel.eachSeries(function(seriesModel) {
+      if (isCartesian2D(seriesModel)) {
+        var axesModels = findAxesModels(seriesModel);
+        var xAxisModel = axesModels[0];
+        var yAxisModel = axesModels[1];
+        if (!isAxisUsedInTheGrid2(xAxisModel, gridModel) || !isAxisUsedInTheGrid2(yAxisModel, gridModel)) {
+          return;
+        }
+        var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);
+        var data2 = seriesModel.getData();
+        var xAxis = cartesian.getAxis("x");
+        var yAxis = cartesian.getAxis("y");
+        if (data2.type === "list") {
+          unionExtent(data2, xAxis);
+          unionExtent(data2, yAxis);
+        }
+      }
+    }, this);
+    function unionExtent(data2, axis2, seriesModel) {
+      each2(data2.mapDimension(axis2.dim, true), function(dim) {
+        axis2.scale.unionExtentFromData(
+          // For example, the extent of the orginal dimension
+          // is [0.1, 0.5], the extent of the `stackResultDimension`
+          // is [7, 9], the final extent should not include [0.1, 0.5].
+          data2,
+          getStackedDimension2(data2, dim)
+        );
+      });
+    }
+  };
+  gridProto.getTooltipAxes = function(dim) {
+    var baseAxes = [];
+    var otherAxes = [];
+    each2(this.getCartesians(), function(cartesian) {
+      var baseAxis = dim != null && dim !== "auto" ? cartesian.getAxis(dim) : cartesian.getBaseAxis();
+      var otherAxis = cartesian.getOtherAxis(baseAxis);
+      indexOf2(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);
+      indexOf2(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);
+    });
+    return {
+      baseAxes,
+      otherAxes
+    };
+  };
+  function updateAxisTransform2(axis2, coordBase) {
+    var axisExtent = axis2.getExtent();
+    var axisExtentSum = axisExtent[0] + axisExtent[1];
+    axis2.toGlobalCoord = axis2.dim === "x" ? function(coord) {
+      return coord + coordBase;
+    } : function(coord) {
+      return axisExtentSum - coord + coordBase;
+    };
+    axis2.toLocalCoord = axis2.dim === "x" ? function(coord) {
+      return coord - coordBase;
+    } : function(coord) {
+      return axisExtentSum - coord + coordBase;
+    };
+  }
+  var axesTypes = ["xAxis", "yAxis"];
+  function findAxesModels(seriesModel, ecModel) {
+    return map2(axesTypes, function(axisType) {
+      var axisModel = seriesModel.getReferringComponents(axisType)[0];
+      return axisModel;
+    });
+  }
+  function isCartesian2D(seriesModel) {
+    return seriesModel.get("coordinateSystem") === "cartesian2d";
+  }
+  Grid2.create = function(ecModel, api2) {
+    var grids = [];
+    ecModel.eachComponent("grid", function(gridModel, idx) {
+      var grid2 = new Grid2(gridModel, ecModel, api2);
+      grid2.name = "grid_" + idx;
+      grid2.resize(gridModel, api2, true);
+      gridModel.coordinateSystem = grid2;
+      grids.push(grid2);
+    });
+    ecModel.eachSeries(function(seriesModel) {
+      if (!isCartesian2D(seriesModel)) {
+        return;
+      }
+      var axesModels = findAxesModels(seriesModel);
+      var xAxisModel = axesModels[0];
+      var yAxisModel = axesModels[1];
+      var gridModel = xAxisModel.getCoordSysModel();
+      var grid2 = gridModel.coordinateSystem;
+      seriesModel.coordinateSystem = grid2.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);
+    });
+    return grids;
+  };
+  Grid2.dimensions = Grid2.prototype.dimensions = Cartesian2D2.prototype.dimensions;
+  CoordinateSystem2.register("cartesian2d", Grid2);
+  var _default68 = Grid2;
+  Grid_1 = _default68;
+  return Grid_1;
+}
+var axis = {};
+var CartesianAxisView$1 = {};
+var AxisBuilder_1;
+var hasRequiredAxisBuilder;
+function requireAxisBuilder() {
+  if (hasRequiredAxisBuilder)
+    return AxisBuilder_1;
+  hasRequiredAxisBuilder = 1;
+  var _util2 = util$a;
+  var retrieve4 = _util2.retrieve;
+  var defaults2 = _util2.defaults;
+  var extend2 = _util2.extend;
+  var each2 = _util2.each;
+  var formatUtil2 = format$6;
+  var graphic2 = graphic$6;
+  var Model2 = Model_1;
+  var _number2 = requireNumber();
+  var isRadianAroundZero2 = _number2.isRadianAroundZero;
+  var remRadian2 = _number2.remRadian;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var matrixUtil = matrix$5;
+  var _vector2 = vector$3;
+  var v2ApplyTransform2 = _vector2.applyTransform;
+  var _axisHelper = requireAxisHelper();
+  var shouldShowAllLabels2 = _axisHelper.shouldShowAllLabels;
+  var PI3 = Math.PI;
+  var AxisBuilder2 = function(axisModel, opt) {
+    this.opt = opt;
+    this.axisModel = axisModel;
+    defaults2(opt, {
+      labelOffset: 0,
+      nameDirection: 1,
+      tickDirection: 1,
+      labelDirection: 1,
+      silent: true
+    });
+    this.group = new graphic2.Group();
+    var dumbGroup = new graphic2.Group({
+      position: opt.position.slice(),
+      rotation: opt.rotation
+    });
+    dumbGroup.updateTransform();
+    this._transform = dumbGroup.transform;
+    this._dumbGroup = dumbGroup;
+  };
+  AxisBuilder2.prototype = {
+    constructor: AxisBuilder2,
+    hasBuilder: function(name2) {
+      return !!builders2[name2];
+    },
+    add: function(name2) {
+      builders2[name2].call(this);
+    },
+    getGroup: function() {
+      return this.group;
+    }
+  };
+  var builders2 = {
+    /**
+     * @private
+     */
+    axisLine: function() {
+      var opt = this.opt;
+      var axisModel = this.axisModel;
+      if (!axisModel.get("axisLine.show")) {
+        return;
+      }
+      var extent3 = this.axisModel.axis.getExtent();
+      var matrix2 = this._transform;
+      var pt12 = [extent3[0], 0];
+      var pt22 = [extent3[1], 0];
+      if (matrix2) {
+        v2ApplyTransform2(pt12, pt12, matrix2);
+        v2ApplyTransform2(pt22, pt22, matrix2);
+      }
+      var lineStyle2 = extend2({
+        lineCap: "round"
+      }, axisModel.getModel("axisLine.lineStyle").getLineStyle());
+      this.group.add(new graphic2.Line({
+        // Id for animation
+        anid: "line",
+        subPixelOptimize: true,
+        shape: {
+          x1: pt12[0],
+          y1: pt12[1],
+          x2: pt22[0],
+          y2: pt22[1]
+        },
+        style: lineStyle2,
+        strokeContainThreshold: opt.strokeContainThreshold || 5,
+        silent: true,
+        z2: 1
+      }));
+      var arrows = axisModel.get("axisLine.symbol");
+      var arrowSize = axisModel.get("axisLine.symbolSize");
+      var arrowOffset = axisModel.get("axisLine.symbolOffset") || 0;
+      if (typeof arrowOffset === "number") {
+        arrowOffset = [arrowOffset, arrowOffset];
+      }
+      if (arrows != null) {
+        if (typeof arrows === "string") {
+          arrows = [arrows, arrows];
+        }
+        if (typeof arrowSize === "string" || typeof arrowSize === "number") {
+          arrowSize = [arrowSize, arrowSize];
+        }
+        var symbolWidth = arrowSize[0];
+        var symbolHeight = arrowSize[1];
+        each2([{
+          rotate: opt.rotation + Math.PI / 2,
+          offset: arrowOffset[0],
+          r: 0
+        }, {
+          rotate: opt.rotation - Math.PI / 2,
+          offset: arrowOffset[1],
+          r: Math.sqrt((pt12[0] - pt22[0]) * (pt12[0] - pt22[0]) + (pt12[1] - pt22[1]) * (pt12[1] - pt22[1]))
+        }], function(point, index3) {
+          if (arrows[index3] !== "none" && arrows[index3] != null) {
+            var symbol2 = createSymbol2(arrows[index3], -symbolWidth / 2, -symbolHeight / 2, symbolWidth, symbolHeight, lineStyle2.stroke, true);
+            var r2 = point.r + point.offset;
+            var pos = [pt12[0] + r2 * Math.cos(opt.rotation), pt12[1] - r2 * Math.sin(opt.rotation)];
+            symbol2.attr({
+              rotation: point.rotate,
+              position: pos,
+              silent: true,
+              z2: 11
+            });
+            this.group.add(symbol2);
+          }
+        }, this);
+      }
+    },
+    /**
+     * @private
+     */
+    axisTickLabel: function() {
+      var axisModel = this.axisModel;
+      var opt = this.opt;
+      var ticksEls = buildAxisMajorTicks2(this, axisModel, opt);
+      var labelEls = buildAxisLabel2(this, axisModel, opt);
+      fixMinMaxLabelShow2(axisModel, labelEls, ticksEls);
+      buildAxisMinorTicks2(this, axisModel, opt);
+    },
+    /**
+     * @private
+     */
+    axisName: function() {
+      var opt = this.opt;
+      var axisModel = this.axisModel;
+      var name2 = retrieve4(opt.axisName, axisModel.get("name"));
+      if (!name2) {
+        return;
+      }
+      var nameLocation = axisModel.get("nameLocation");
+      var nameDirection = opt.nameDirection;
+      var textStyleModel = axisModel.getModel("nameTextStyle");
+      var gap = axisModel.get("nameGap") || 0;
+      var extent3 = this.axisModel.axis.getExtent();
+      var gapSignal = extent3[0] > extent3[1] ? -1 : 1;
+      var pos = [
+        nameLocation === "start" ? extent3[0] - gapSignal * gap : nameLocation === "end" ? extent3[1] + gapSignal * gap : (extent3[0] + extent3[1]) / 2,
+        // 'middle'
+        // Reuse labelOffset.
+        isNameLocationCenter2(nameLocation) ? opt.labelOffset + nameDirection * gap : 0
+      ];
+      var labelLayout2;
+      var nameRotation = axisModel.get("nameRotate");
+      if (nameRotation != null) {
+        nameRotation = nameRotation * PI3 / 180;
+      }
+      var axisNameAvailableWidth;
+      if (isNameLocationCenter2(nameLocation)) {
+        labelLayout2 = innerTextLayout(
+          opt.rotation,
+          nameRotation != null ? nameRotation : opt.rotation,
+          // Adapt to axis.
+          nameDirection
+        );
+      } else {
+        labelLayout2 = endTextLayout2(opt, nameLocation, nameRotation || 0, extent3);
+        axisNameAvailableWidth = opt.axisNameAvailableWidth;
+        if (axisNameAvailableWidth != null) {
+          axisNameAvailableWidth = Math.abs(axisNameAvailableWidth / Math.sin(labelLayout2.rotation));
+          !isFinite(axisNameAvailableWidth) && (axisNameAvailableWidth = null);
+        }
+      }
+      var textFont = textStyleModel.getFont();
+      var truncateOpt = axisModel.get("nameTruncate", true) || {};
+      var ellipsis = truncateOpt.ellipsis;
+      var maxWidth = retrieve4(opt.nameTruncateMaxWidth, truncateOpt.maxWidth, axisNameAvailableWidth);
+      var truncatedText = ellipsis != null && maxWidth != null ? formatUtil2.truncateText(name2, maxWidth, textFont, ellipsis, {
+        minChar: 2,
+        placeholder: truncateOpt.placeholder
+      }) : name2;
+      var tooltipOpt = axisModel.get("tooltip", true);
+      var mainType = axisModel.mainType;
+      var formatterParams = {
+        componentType: mainType,
+        name: name2,
+        $vars: ["name"]
+      };
+      formatterParams[mainType + "Index"] = axisModel.componentIndex;
+      var textEl = new graphic2.Text({
+        // Id for animation
+        anid: "name",
+        __fullText: name2,
+        __truncatedText: truncatedText,
+        position: pos,
+        rotation: labelLayout2.rotation,
+        silent: isLabelSilent(axisModel),
+        z2: 1,
+        tooltip: tooltipOpt && tooltipOpt.show ? extend2({
+          content: name2,
+          formatter: function() {
+            return name2;
+          },
+          formatterParams
+        }, tooltipOpt) : null
+      });
+      graphic2.setTextStyle(textEl.style, textStyleModel, {
+        text: truncatedText,
+        textFont,
+        textFill: textStyleModel.getTextColor() || axisModel.get("axisLine.lineStyle.color"),
+        textAlign: textStyleModel.get("align") || labelLayout2.textAlign,
+        textVerticalAlign: textStyleModel.get("verticalAlign") || labelLayout2.textVerticalAlign
+      });
+      if (axisModel.get("triggerEvent")) {
+        textEl.eventData = makeAxisEventDataBase(axisModel);
+        textEl.eventData.targetType = "axisName";
+        textEl.eventData.name = name2;
+      }
+      this._dumbGroup.add(textEl);
+      textEl.updateTransform();
+      this.group.add(textEl);
+      textEl.decomposeTransform();
+    }
+  };
+  var makeAxisEventDataBase = AxisBuilder2.makeAxisEventDataBase = function(axisModel) {
+    var eventData = {
+      componentType: axisModel.mainType,
+      componentIndex: axisModel.componentIndex
+    };
+    eventData[axisModel.mainType + "Index"] = axisModel.componentIndex;
+    return eventData;
+  };
+  var innerTextLayout = AxisBuilder2.innerTextLayout = function(axisRotation, textRotation, direction) {
+    var rotationDiff = remRadian2(textRotation - axisRotation);
+    var textAlign;
+    var textVerticalAlign;
+    if (isRadianAroundZero2(rotationDiff)) {
+      textVerticalAlign = direction > 0 ? "top" : "bottom";
+      textAlign = "center";
+    } else if (isRadianAroundZero2(rotationDiff - PI3)) {
+      textVerticalAlign = direction > 0 ? "bottom" : "top";
+      textAlign = "center";
+    } else {
+      textVerticalAlign = "middle";
+      if (rotationDiff > 0 && rotationDiff < PI3) {
+        textAlign = direction > 0 ? "right" : "left";
+      } else {
+        textAlign = direction > 0 ? "left" : "right";
+      }
+    }
+    return {
+      rotation: rotationDiff,
+      textAlign,
+      textVerticalAlign
+    };
+  };
+  function endTextLayout2(opt, textPosition, textRotate, extent3) {
+    var rotationDiff = remRadian2(textRotate - opt.rotation);
+    var textAlign;
+    var textVerticalAlign;
+    var inverse = extent3[0] > extent3[1];
+    var onLeft = textPosition === "start" && !inverse || textPosition !== "start" && inverse;
+    if (isRadianAroundZero2(rotationDiff - PI3 / 2)) {
+      textVerticalAlign = onLeft ? "bottom" : "top";
+      textAlign = "center";
+    } else if (isRadianAroundZero2(rotationDiff - PI3 * 1.5)) {
+      textVerticalAlign = onLeft ? "top" : "bottom";
+      textAlign = "center";
+    } else {
+      textVerticalAlign = "middle";
+      if (rotationDiff < PI3 * 1.5 && rotationDiff > PI3 / 2) {
+        textAlign = onLeft ? "left" : "right";
+      } else {
+        textAlign = onLeft ? "right" : "left";
+      }
+    }
+    return {
+      rotation: rotationDiff,
+      textAlign,
+      textVerticalAlign
+    };
+  }
+  var isLabelSilent = AxisBuilder2.isLabelSilent = function(axisModel) {
+    var tooltipOpt = axisModel.get("tooltip");
+    return axisModel.get("silent") || !(axisModel.get("triggerEvent") || tooltipOpt && tooltipOpt.show);
+  };
+  function fixMinMaxLabelShow2(axisModel, labelEls, tickEls) {
+    if (shouldShowAllLabels2(axisModel.axis)) {
+      return;
+    }
+    var showMinLabel = axisModel.get("axisLabel.showMinLabel");
+    var showMaxLabel = axisModel.get("axisLabel.showMaxLabel");
+    labelEls = labelEls || [];
+    tickEls = tickEls || [];
+    var firstLabel = labelEls[0];
+    var nextLabel = labelEls[1];
+    var lastLabel = labelEls[labelEls.length - 1];
+    var prevLabel = labelEls[labelEls.length - 2];
+    var firstTick = tickEls[0];
+    var nextTick2 = tickEls[1];
+    var lastTick = tickEls[tickEls.length - 1];
+    var prevTick = tickEls[tickEls.length - 2];
+    if (showMinLabel === false) {
+      ignoreEl2(firstLabel);
+      ignoreEl2(firstTick);
+    } else if (isTwoLabelOverlapped2(firstLabel, nextLabel)) {
+      if (showMinLabel) {
+        ignoreEl2(nextLabel);
+        ignoreEl2(nextTick2);
+      } else {
+        ignoreEl2(firstLabel);
+        ignoreEl2(firstTick);
+      }
+    }
+    if (showMaxLabel === false) {
+      ignoreEl2(lastLabel);
+      ignoreEl2(lastTick);
+    } else if (isTwoLabelOverlapped2(prevLabel, lastLabel)) {
+      if (showMaxLabel) {
+        ignoreEl2(prevLabel);
+        ignoreEl2(prevTick);
+      } else {
+        ignoreEl2(lastLabel);
+        ignoreEl2(lastTick);
+      }
+    }
+  }
+  function ignoreEl2(el) {
+    el && (el.ignore = true);
+  }
+  function isTwoLabelOverlapped2(current, next, labelLayout2) {
+    var firstRect = current && current.getBoundingRect().clone();
+    var nextRect = next && next.getBoundingRect().clone();
+    if (!firstRect || !nextRect) {
+      return;
+    }
+    var mRotationBack = matrixUtil.identity([]);
+    matrixUtil.rotate(mRotationBack, mRotationBack, -current.rotation);
+    firstRect.applyTransform(matrixUtil.mul([], mRotationBack, current.getLocalTransform()));
+    nextRect.applyTransform(matrixUtil.mul([], mRotationBack, next.getLocalTransform()));
+    return firstRect.intersect(nextRect);
+  }
+  function isNameLocationCenter2(nameLocation) {
+    return nameLocation === "middle" || nameLocation === "center";
+  }
+  function createTicks2(ticksCoords, tickTransform, tickEndCoord, tickLineStyle, aniid) {
+    var tickEls = [];
+    var pt12 = [];
+    var pt22 = [];
+    for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+      var tickCoord = ticksCoords[i2].coord;
+      pt12[0] = tickCoord;
+      pt12[1] = 0;
+      pt22[0] = tickCoord;
+      pt22[1] = tickEndCoord;
+      if (tickTransform) {
+        v2ApplyTransform2(pt12, pt12, tickTransform);
+        v2ApplyTransform2(pt22, pt22, tickTransform);
+      }
+      var tickEl = new graphic2.Line({
+        // Id for animation
+        anid: aniid + "_" + ticksCoords[i2].tickValue,
+        subPixelOptimize: true,
+        shape: {
+          x1: pt12[0],
+          y1: pt12[1],
+          x2: pt22[0],
+          y2: pt22[1]
+        },
+        style: tickLineStyle,
+        z2: 2,
+        silent: true
+      });
+      tickEls.push(tickEl);
+    }
+    return tickEls;
+  }
+  function buildAxisMajorTicks2(axisBuilder, axisModel, opt) {
+    var axis2 = axisModel.axis;
+    var tickModel = axisModel.getModel("axisTick");
+    if (!tickModel.get("show") || axis2.scale.isBlank()) {
+      return;
+    }
+    var lineStyleModel = tickModel.getModel("lineStyle");
+    var tickEndCoord = opt.tickDirection * tickModel.get("length");
+    var ticksCoords = axis2.getTicksCoords();
+    var ticksEls = createTicks2(ticksCoords, axisBuilder._transform, tickEndCoord, defaults2(lineStyleModel.getLineStyle(), {
+      stroke: axisModel.get("axisLine.lineStyle.color")
+    }), "ticks");
+    for (var i2 = 0; i2 < ticksEls.length; i2++) {
+      axisBuilder.group.add(ticksEls[i2]);
+    }
+    return ticksEls;
+  }
+  function buildAxisMinorTicks2(axisBuilder, axisModel, opt) {
+    var axis2 = axisModel.axis;
+    var minorTickModel = axisModel.getModel("minorTick");
+    if (!minorTickModel.get("show") || axis2.scale.isBlank()) {
+      return;
+    }
+    var minorTicksCoords = axis2.getMinorTicksCoords();
+    if (!minorTicksCoords.length) {
+      return;
+    }
+    var lineStyleModel = minorTickModel.getModel("lineStyle");
+    var tickEndCoord = opt.tickDirection * minorTickModel.get("length");
+    var minorTickLineStyle = defaults2(lineStyleModel.getLineStyle(), defaults2(axisModel.getModel("axisTick").getLineStyle(), {
+      stroke: axisModel.get("axisLine.lineStyle.color")
+    }));
+    for (var i2 = 0; i2 < minorTicksCoords.length; i2++) {
+      var minorTicksEls = createTicks2(minorTicksCoords[i2], axisBuilder._transform, tickEndCoord, minorTickLineStyle, "minorticks_" + i2);
+      for (var k2 = 0; k2 < minorTicksEls.length; k2++) {
+        axisBuilder.group.add(minorTicksEls[k2]);
+      }
+    }
+  }
+  function buildAxisLabel2(axisBuilder, axisModel, opt) {
+    var axis2 = axisModel.axis;
+    var show2 = retrieve4(opt.axisLabelShow, axisModel.get("axisLabel.show"));
+    if (!show2 || axis2.scale.isBlank()) {
+      return;
+    }
+    var labelModel = axisModel.getModel("axisLabel");
+    var labelMargin = labelModel.get("margin");
+    var labels = axis2.getViewLabels();
+    var labelRotation = (retrieve4(opt.labelRotate, labelModel.get("rotate")) || 0) * PI3 / 180;
+    var labelLayout2 = innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);
+    var rawCategoryData = axisModel.getCategories && axisModel.getCategories(true);
+    var labelEls = [];
+    var silent = isLabelSilent(axisModel);
+    var triggerEvent = axisModel.get("triggerEvent");
+    each2(labels, function(labelItem, index3) {
+      var tickValue = labelItem.tickValue;
+      var formattedLabel = labelItem.formattedLabel;
+      var rawLabel = labelItem.rawLabel;
+      var itemLabelModel = labelModel;
+      if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {
+        itemLabelModel = new Model2(rawCategoryData[tickValue].textStyle, labelModel, axisModel.ecModel);
+      }
+      var textColor = itemLabelModel.getTextColor() || axisModel.get("axisLine.lineStyle.color");
+      var tickCoord = axis2.dataToCoord(tickValue);
+      var pos = [tickCoord, opt.labelOffset + opt.labelDirection * labelMargin];
+      var textEl = new graphic2.Text({
+        // Id for animation
+        anid: "label_" + tickValue,
+        position: pos,
+        rotation: labelLayout2.rotation,
+        silent,
+        z2: 10
+      });
+      graphic2.setTextStyle(textEl.style, itemLabelModel, {
+        text: formattedLabel,
+        textAlign: itemLabelModel.getShallow("align", true) || labelLayout2.textAlign,
+        textVerticalAlign: itemLabelModel.getShallow("verticalAlign", true) || itemLabelModel.getShallow("baseline", true) || labelLayout2.textVerticalAlign,
+        textFill: typeof textColor === "function" ? textColor(
+          // (1) In category axis with data zoom, tick is not the original
+          // index of axis.data. So tick should not be exposed to user
+          // in category axis.
+          // (2) Compatible with previous version, which always use formatted label as
+          // input. But in interval scale the formatted label is like '223,445', which
+          // maked user repalce ','. So we modify it to return original val but remain
+          // it as 'string' to avoid error in replacing.
+          axis2.type === "category" ? rawLabel : axis2.type === "value" ? tickValue + "" : tickValue,
+          index3
+        ) : textColor
+      });
+      if (triggerEvent) {
+        textEl.eventData = makeAxisEventDataBase(axisModel);
+        textEl.eventData.targetType = "axisLabel";
+        textEl.eventData.value = rawLabel;
+      }
+      axisBuilder._dumbGroup.add(textEl);
+      textEl.updateTransform();
+      labelEls.push(textEl);
+      axisBuilder.group.add(textEl);
+      textEl.decomposeTransform();
+    });
+    return labelEls;
+  }
+  var _default68 = AxisBuilder2;
+  AxisBuilder_1 = _default68;
+  return AxisBuilder_1;
+}
+var modelHelper = {};
+var hasRequiredModelHelper;
+function requireModelHelper() {
+  if (hasRequiredModelHelper)
+    return modelHelper;
+  hasRequiredModelHelper = 1;
+  var zrUtil2 = util$a;
+  var Model2 = Model_1;
+  var each2 = zrUtil2.each;
+  var curry2 = zrUtil2.curry;
+  function collect2(ecModel, api2) {
+    var result2 = {
+      /**
+       * key: makeKey(axis.model)
+       * value: {
+       *      axis,
+       *      coordSys,
+       *      axisPointerModel,
+       *      triggerTooltip,
+       *      involveSeries,
+       *      snap,
+       *      seriesModels,
+       *      seriesDataCount
+       * }
+       */
+      axesInfo: {},
+      seriesInvolved: false,
+      /**
+       * key: makeKey(coordSys.model)
+       * value: Object: key makeKey(axis.model), value: axisInfo
+       */
+      coordSysAxesInfo: {},
+      coordSysMap: {}
+    };
+    collectAxesInfo2(result2, ecModel, api2);
+    result2.seriesInvolved && collectSeriesInfo2(result2, ecModel);
+    return result2;
+  }
+  function collectAxesInfo2(result2, ecModel, api2) {
+    var globalTooltipModel = ecModel.getComponent("tooltip");
+    var globalAxisPointerModel = ecModel.getComponent("axisPointer");
+    var linksOption = globalAxisPointerModel.get("link", true) || [];
+    var linkGroups = [];
+    each2(api2.getCoordinateSystems(), function(coordSys) {
+      if (!coordSys.axisPointerEnabled) {
+        return;
+      }
+      var coordSysKey = makeKey2(coordSys.model);
+      var axesInfoInCoordSys = result2.coordSysAxesInfo[coordSysKey] = {};
+      result2.coordSysMap[coordSysKey] = coordSys;
+      var coordSysModel = coordSys.model;
+      var baseTooltipModel = coordSysModel.getModel("tooltip", globalTooltipModel);
+      each2(coordSys.getAxes(), curry2(saveTooltipAxisInfo, false, null));
+      if (coordSys.getTooltipAxes && globalTooltipModel && baseTooltipModel.get("show")) {
+        var triggerAxis = baseTooltipModel.get("trigger") === "axis";
+        var cross = baseTooltipModel.get("axisPointer.type") === "cross";
+        var tooltipAxes = coordSys.getTooltipAxes(baseTooltipModel.get("axisPointer.axis"));
+        if (triggerAxis || cross) {
+          each2(tooltipAxes.baseAxes, curry2(saveTooltipAxisInfo, cross ? "cross" : true, triggerAxis));
+        }
+        if (cross) {
+          each2(tooltipAxes.otherAxes, curry2(saveTooltipAxisInfo, "cross", false));
+        }
+      }
+      function saveTooltipAxisInfo(fromTooltip, triggerTooltip, axis2) {
+        var axisPointerModel = axis2.model.getModel("axisPointer", globalAxisPointerModel);
+        var axisPointerShow = axisPointerModel.get("show");
+        if (!axisPointerShow || axisPointerShow === "auto" && !fromTooltip && !isHandleTrigger2(axisPointerModel)) {
+          return;
+        }
+        if (triggerTooltip == null) {
+          triggerTooltip = axisPointerModel.get("triggerTooltip");
+        }
+        axisPointerModel = fromTooltip ? makeAxisPointerModel2(axis2, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) : axisPointerModel;
+        var snap = axisPointerModel.get("snap");
+        var key2 = makeKey2(axis2.model);
+        var involveSeries = triggerTooltip || snap || axis2.type === "category";
+        var axisInfo = result2.axesInfo[key2] = {
+          key: key2,
+          axis: axis2,
+          coordSys,
+          axisPointerModel,
+          triggerTooltip,
+          involveSeries,
+          snap,
+          useHandle: isHandleTrigger2(axisPointerModel),
+          seriesModels: []
+        };
+        axesInfoInCoordSys[key2] = axisInfo;
+        result2.seriesInvolved |= involveSeries;
+        var groupIndex = getLinkGroupIndex2(linksOption, axis2);
+        if (groupIndex != null) {
+          var linkGroup = linkGroups[groupIndex] || (linkGroups[groupIndex] = {
+            axesInfo: {}
+          });
+          linkGroup.axesInfo[key2] = axisInfo;
+          linkGroup.mapper = linksOption[groupIndex].mapper;
+          axisInfo.linkGroup = linkGroup;
+        }
+      }
+    });
+  }
+  function makeAxisPointerModel2(axis2, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) {
+    var tooltipAxisPointerModel = baseTooltipModel.getModel("axisPointer");
+    var volatileOption = {};
+    each2(["type", "snap", "lineStyle", "shadowStyle", "label", "animation", "animationDurationUpdate", "animationEasingUpdate", "z"], function(field) {
+      volatileOption[field] = zrUtil2.clone(tooltipAxisPointerModel.get(field));
+    });
+    volatileOption.snap = axis2.type !== "category" && !!triggerTooltip;
+    if (tooltipAxisPointerModel.get("type") === "cross") {
+      volatileOption.type = "line";
+    }
+    var labelOption = volatileOption.label || (volatileOption.label = {});
+    labelOption.show == null && (labelOption.show = false);
+    if (fromTooltip === "cross") {
+      var tooltipAxisPointerLabelShow = tooltipAxisPointerModel.get("label.show");
+      labelOption.show = tooltipAxisPointerLabelShow != null ? tooltipAxisPointerLabelShow : true;
+      if (!triggerTooltip) {
+        var crossStyle = volatileOption.lineStyle = tooltipAxisPointerModel.get("crossStyle");
+        crossStyle && zrUtil2.defaults(labelOption, crossStyle.textStyle);
+      }
+    }
+    return axis2.model.getModel("axisPointer", new Model2(volatileOption, globalAxisPointerModel, ecModel));
+  }
+  function collectSeriesInfo2(result2, ecModel) {
+    ecModel.eachSeries(function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesTooltipTrigger = seriesModel.get("tooltip.trigger", true);
+      var seriesTooltipShow = seriesModel.get("tooltip.show", true);
+      if (!coordSys || seriesTooltipTrigger === "none" || seriesTooltipTrigger === false || seriesTooltipTrigger === "item" || seriesTooltipShow === false || seriesModel.get("axisPointer.show", true) === false) {
+        return;
+      }
+      each2(result2.coordSysAxesInfo[makeKey2(coordSys.model)], function(axisInfo) {
+        var axis2 = axisInfo.axis;
+        if (coordSys.getAxis(axis2.dim) === axis2) {
+          axisInfo.seriesModels.push(seriesModel);
+          axisInfo.seriesDataCount == null && (axisInfo.seriesDataCount = 0);
+          axisInfo.seriesDataCount += seriesModel.getData().count();
+        }
+      });
+    }, this);
+  }
+  function getLinkGroupIndex2(linksOption, axis2) {
+    var axisModel = axis2.model;
+    var dim = axis2.dim;
+    for (var i2 = 0; i2 < linksOption.length; i2++) {
+      var linkOption = linksOption[i2] || {};
+      if (checkPropInLink2(linkOption[dim + "AxisId"], axisModel.id) || checkPropInLink2(linkOption[dim + "AxisIndex"], axisModel.componentIndex) || checkPropInLink2(linkOption[dim + "AxisName"], axisModel.name)) {
+        return i2;
+      }
+    }
+  }
+  function checkPropInLink2(linkPropValue, axisPropValue) {
+    return linkPropValue === "all" || zrUtil2.isArray(linkPropValue) && zrUtil2.indexOf(linkPropValue, axisPropValue) >= 0 || linkPropValue === axisPropValue;
+  }
+  function fixValue2(axisModel) {
+    var axisInfo = getAxisInfo2(axisModel);
+    if (!axisInfo) {
+      return;
+    }
+    var axisPointerModel = axisInfo.axisPointerModel;
+    var scale2 = axisInfo.axis.scale;
+    var option = axisPointerModel.option;
+    var status = axisPointerModel.get("status");
+    var value = axisPointerModel.get("value");
+    if (value != null) {
+      value = scale2.parse(value);
+    }
+    var useHandle = isHandleTrigger2(axisPointerModel);
+    if (status == null) {
+      option.status = useHandle ? "show" : "hide";
+    }
+    var extent3 = scale2.getExtent().slice();
+    extent3[0] > extent3[1] && extent3.reverse();
+    if (
+      // Pick a value on axis when initializing.
+      value == null || value > extent3[1]
+    ) {
+      value = extent3[1];
+    }
+    if (value < extent3[0]) {
+      value = extent3[0];
+    }
+    option.value = value;
+    if (useHandle) {
+      option.status = axisInfo.axis.scale.isBlank() ? "hide" : "show";
+    }
+  }
+  function getAxisInfo2(axisModel) {
+    var coordSysAxesInfo = (axisModel.ecModel.getComponent("axisPointer") || {}).coordSysAxesInfo;
+    return coordSysAxesInfo && coordSysAxesInfo.axesInfo[makeKey2(axisModel)];
+  }
+  function getAxisPointerModel2(axisModel) {
+    var axisInfo = getAxisInfo2(axisModel);
+    return axisInfo && axisInfo.axisPointerModel;
+  }
+  function isHandleTrigger2(axisPointerModel) {
+    return !!axisPointerModel.get("handle.show");
+  }
+  function makeKey2(model2) {
+    return model2.type + "||" + model2.id;
+  }
+  modelHelper.collect = collect2;
+  modelHelper.fixValue = fixValue2;
+  modelHelper.getAxisInfo = getAxisInfo2;
+  modelHelper.getAxisPointerModel = getAxisPointerModel2;
+  modelHelper.makeKey = makeKey2;
+  return modelHelper;
+}
+var AxisView_1;
+var hasRequiredAxisView;
+function requireAxisView() {
+  if (hasRequiredAxisView)
+    return AxisView_1;
+  hasRequiredAxisView = 1;
+  var echarts2 = echarts$1;
+  var axisPointerModelHelper = requireModelHelper();
+  var AxisView2 = echarts2.extendComponentView({
+    type: "axis",
+    /**
+     * @private
+     */
+    _axisPointer: null,
+    /**
+     * @protected
+     * @type {string}
+     */
+    axisPointerClass: null,
+    /**
+     * @override
+     */
+    render: function(axisModel, ecModel, api2, payload) {
+      this.axisPointerClass && axisPointerModelHelper.fixValue(axisModel);
+      AxisView2.superApply(this, "render", arguments);
+      updateAxisPointer(this, axisModel, ecModel, api2, payload, true);
+    },
+    /**
+     * Action handler.
+     * @public
+     * @param {module:echarts/coord/cartesian/AxisModel} axisModel
+     * @param {module:echarts/model/Global} ecModel
+     * @param {module:echarts/ExtensionAPI} api
+     * @param {Object} payload
+     */
+    updateAxisPointer: function(axisModel, ecModel, api2, payload, force) {
+      updateAxisPointer(this, axisModel, ecModel, api2, payload, false);
+    },
+    /**
+     * @override
+     */
+    remove: function(ecModel, api2) {
+      var axisPointer2 = this._axisPointer;
+      axisPointer2 && axisPointer2.remove(api2);
+      AxisView2.superApply(this, "remove", arguments);
+    },
+    /**
+     * @override
+     */
+    dispose: function(ecModel, api2) {
+      disposeAxisPointer(this, api2);
+      AxisView2.superApply(this, "dispose", arguments);
+    }
+  });
+  function updateAxisPointer(axisView, axisModel, ecModel, api2, payload, forceRender) {
+    var Clazz = AxisView2.getAxisPointerClass(axisView.axisPointerClass);
+    if (!Clazz) {
+      return;
+    }
+    var axisPointerModel = axisPointerModelHelper.getAxisPointerModel(axisModel);
+    axisPointerModel ? (axisView._axisPointer || (axisView._axisPointer = new Clazz())).render(axisModel, axisPointerModel, api2, forceRender) : disposeAxisPointer(axisView, api2);
+  }
+  function disposeAxisPointer(axisView, ecModel, api2) {
+    var axisPointer2 = axisView._axisPointer;
+    axisPointer2 && axisPointer2.dispose(ecModel, api2);
+    axisView._axisPointer = null;
+  }
+  var axisPointerClazz2 = [];
+  AxisView2.registerAxisPointerClass = function(type2, clazz2) {
+    axisPointerClazz2[type2] = clazz2;
+  };
+  AxisView2.getAxisPointerClass = function(type2) {
+    return type2 && axisPointerClazz2[type2];
+  };
+  var _default68 = AxisView2;
+  AxisView_1 = _default68;
+  return AxisView_1;
+}
+var cartesianAxisHelper = {};
+var hasRequiredCartesianAxisHelper;
+function requireCartesianAxisHelper() {
+  if (hasRequiredCartesianAxisHelper)
+    return cartesianAxisHelper;
+  hasRequiredCartesianAxisHelper = 1;
+  var zrUtil2 = util$a;
+  function layout2(gridModel, axisModel, opt) {
+    opt = opt || {};
+    var grid2 = gridModel.coordinateSystem;
+    var axis2 = axisModel.axis;
+    var layout3 = {};
+    var otherAxisOnZeroOf = axis2.getAxesOnZeroOf()[0];
+    var rawAxisPosition = axis2.position;
+    var axisPosition = otherAxisOnZeroOf ? "onZero" : rawAxisPosition;
+    var axisDim = axis2.dim;
+    var rect = grid2.getRect();
+    var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];
+    var idx = {
+      left: 0,
+      right: 1,
+      top: 0,
+      bottom: 1,
+      onZero: 2
+    };
+    var axisOffset = axisModel.get("offset") || 0;
+    var posBound = axisDim === "x" ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];
+    if (otherAxisOnZeroOf) {
+      var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));
+      posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);
+    }
+    layout3.position = [axisDim === "y" ? posBound[idx[axisPosition]] : rectBound[0], axisDim === "x" ? posBound[idx[axisPosition]] : rectBound[3]];
+    layout3.rotation = Math.PI / 2 * (axisDim === "x" ? 0 : 1);
+    var dirMap = {
+      top: -1,
+      bottom: 1,
+      left: -1,
+      right: 1
+    };
+    layout3.labelDirection = layout3.tickDirection = layout3.nameDirection = dirMap[rawAxisPosition];
+    layout3.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;
+    if (axisModel.get("axisTick.inside")) {
+      layout3.tickDirection = -layout3.tickDirection;
+    }
+    if (zrUtil2.retrieve(opt.labelInside, axisModel.get("axisLabel.inside"))) {
+      layout3.labelDirection = -layout3.labelDirection;
+    }
+    var labelRotate = axisModel.get("axisLabel.rotate");
+    layout3.labelRotate = axisPosition === "top" ? -labelRotate : labelRotate;
+    layout3.z2 = 1;
+    return layout3;
+  }
+  cartesianAxisHelper.layout = layout2;
+  return cartesianAxisHelper;
+}
+var axisSplitHelper = {};
+var hasRequiredAxisSplitHelper;
+function requireAxisSplitHelper() {
+  if (hasRequiredAxisSplitHelper)
+    return axisSplitHelper;
+  hasRequiredAxisSplitHelper = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  function rectCoordAxisBuildSplitArea2(axisView, axisGroup, axisModel, gridModel) {
+    var axis2 = axisModel.axis;
+    if (axis2.scale.isBlank()) {
+      return;
+    }
+    var splitAreaModel = axisModel.getModel("splitArea");
+    var areaStyleModel = splitAreaModel.getModel("areaStyle");
+    var areaColors = areaStyleModel.get("color");
+    var gridRect = gridModel.coordinateSystem.getRect();
+    var ticksCoords = axis2.getTicksCoords({
+      tickModel: splitAreaModel,
+      clamp: true
+    });
+    if (!ticksCoords.length) {
+      return;
+    }
+    var areaColorsLen = areaColors.length;
+    var lastSplitAreaColors = axisView.__splitAreaColors;
+    var newSplitAreaColors = zrUtil2.createHashMap();
+    var colorIndex = 0;
+    if (lastSplitAreaColors) {
+      for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+        var cIndex = lastSplitAreaColors.get(ticksCoords[i2].tickValue);
+        if (cIndex != null) {
+          colorIndex = (cIndex + (areaColorsLen - 1) * i2) % areaColorsLen;
+          break;
+        }
+      }
+    }
+    var prev = axis2.toGlobalCoord(ticksCoords[0].coord);
+    var areaStyle2 = areaStyleModel.getAreaStyle();
+    areaColors = zrUtil2.isArray(areaColors) ? areaColors : [areaColors];
+    for (var i2 = 1; i2 < ticksCoords.length; i2++) {
+      var tickCoord = axis2.toGlobalCoord(ticksCoords[i2].coord);
+      var x2;
+      var y2;
+      var width;
+      var height;
+      if (axis2.isHorizontal()) {
+        x2 = prev;
+        y2 = gridRect.y;
+        width = tickCoord - x2;
+        height = gridRect.height;
+        prev = x2 + width;
+      } else {
+        x2 = gridRect.x;
+        y2 = prev;
+        width = gridRect.width;
+        height = tickCoord - y2;
+        prev = y2 + height;
+      }
+      var tickValue = ticksCoords[i2 - 1].tickValue;
+      tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);
+      axisGroup.add(new graphic2.Rect({
+        anid: tickValue != null ? "area_" + tickValue : null,
+        shape: {
+          x: x2,
+          y: y2,
+          width,
+          height
+        },
+        style: zrUtil2.defaults({
+          fill: areaColors[colorIndex]
+        }, areaStyle2),
+        silent: true
+      }));
+      colorIndex = (colorIndex + 1) % areaColorsLen;
+    }
+    axisView.__splitAreaColors = newSplitAreaColors;
+  }
+  function rectCoordAxisHandleRemove2(axisView) {
+    axisView.__splitAreaColors = null;
+  }
+  axisSplitHelper.rectCoordAxisBuildSplitArea = rectCoordAxisBuildSplitArea2;
+  axisSplitHelper.rectCoordAxisHandleRemove = rectCoordAxisHandleRemove2;
+  return axisSplitHelper;
+}
+var hasRequiredCartesianAxisView;
+function requireCartesianAxisView() {
+  if (hasRequiredCartesianAxisView)
+    return CartesianAxisView$1;
+  hasRequiredCartesianAxisView = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var AxisBuilder2 = requireAxisBuilder();
+  var AxisView2 = requireAxisView();
+  var cartesianAxisHelper2 = requireCartesianAxisHelper();
+  var _axisSplitHelper = requireAxisSplitHelper();
+  var rectCoordAxisBuildSplitArea2 = _axisSplitHelper.rectCoordAxisBuildSplitArea;
+  var rectCoordAxisHandleRemove2 = _axisSplitHelper.rectCoordAxisHandleRemove;
+  var axisBuilderAttrs2 = ["axisLine", "axisTickLabel", "axisName"];
+  var selfBuilderAttrs2 = ["splitArea", "splitLine", "minorSplitLine"];
+  var CartesianAxisView2 = AxisView2.extend({
+    type: "cartesianAxis",
+    axisPointerClass: "CartesianAxisPointer",
+    /**
+     * @override
+     */
+    render: function(axisModel, ecModel, api2, payload) {
+      this.group.removeAll();
+      var oldAxisGroup = this._axisGroup;
+      this._axisGroup = new graphic2.Group();
+      this.group.add(this._axisGroup);
+      if (!axisModel.get("show")) {
+        return;
+      }
+      var gridModel = axisModel.getCoordSysModel();
+      var layout2 = cartesianAxisHelper2.layout(gridModel, axisModel);
+      var axisBuilder = new AxisBuilder2(axisModel, layout2);
+      zrUtil2.each(axisBuilderAttrs2, axisBuilder.add, axisBuilder);
+      this._axisGroup.add(axisBuilder.getGroup());
+      zrUtil2.each(selfBuilderAttrs2, function(name2) {
+        if (axisModel.get(name2 + ".show")) {
+          this["_" + name2](axisModel, gridModel);
+        }
+      }, this);
+      graphic2.groupTransition(oldAxisGroup, this._axisGroup, axisModel);
+      CartesianAxisView2.superCall(this, "render", axisModel, ecModel, api2, payload);
+    },
+    remove: function() {
+      rectCoordAxisHandleRemove2(this);
+    },
+    /**
+     * @param {module:echarts/coord/cartesian/AxisModel} axisModel
+     * @param {module:echarts/coord/cartesian/GridModel} gridModel
+     * @private
+     */
+    _splitLine: function(axisModel, gridModel) {
+      var axis2 = axisModel.axis;
+      if (axis2.scale.isBlank()) {
+        return;
+      }
+      var splitLineModel = axisModel.getModel("splitLine");
+      var lineStyleModel = splitLineModel.getModel("lineStyle");
+      var lineColors = lineStyleModel.get("color");
+      lineColors = zrUtil2.isArray(lineColors) ? lineColors : [lineColors];
+      var gridRect = gridModel.coordinateSystem.getRect();
+      var isHorizontal = axis2.isHorizontal();
+      var lineCount = 0;
+      var ticksCoords = axis2.getTicksCoords({
+        tickModel: splitLineModel
+      });
+      var p1 = [];
+      var p2 = [];
+      var lineStyle2 = lineStyleModel.getLineStyle();
+      for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+        var tickCoord = axis2.toGlobalCoord(ticksCoords[i2].coord);
+        if (isHorizontal) {
+          p1[0] = tickCoord;
+          p1[1] = gridRect.y;
+          p2[0] = tickCoord;
+          p2[1] = gridRect.y + gridRect.height;
+        } else {
+          p1[0] = gridRect.x;
+          p1[1] = tickCoord;
+          p2[0] = gridRect.x + gridRect.width;
+          p2[1] = tickCoord;
+        }
+        var colorIndex = lineCount++ % lineColors.length;
+        var tickValue = ticksCoords[i2].tickValue;
+        this._axisGroup.add(new graphic2.Line({
+          anid: tickValue != null ? "line_" + ticksCoords[i2].tickValue : null,
+          subPixelOptimize: true,
+          shape: {
+            x1: p1[0],
+            y1: p1[1],
+            x2: p2[0],
+            y2: p2[1]
+          },
+          style: zrUtil2.defaults({
+            stroke: lineColors[colorIndex]
+          }, lineStyle2),
+          silent: true
+        }));
+      }
+    },
+    /**
+     * @param {module:echarts/coord/cartesian/AxisModel} axisModel
+     * @param {module:echarts/coord/cartesian/GridModel} gridModel
+     * @private
+     */
+    _minorSplitLine: function(axisModel, gridModel) {
+      var axis2 = axisModel.axis;
+      var minorSplitLineModel = axisModel.getModel("minorSplitLine");
+      var lineStyleModel = minorSplitLineModel.getModel("lineStyle");
+      var gridRect = gridModel.coordinateSystem.getRect();
+      var isHorizontal = axis2.isHorizontal();
+      var minorTicksCoords = axis2.getMinorTicksCoords();
+      if (!minorTicksCoords.length) {
+        return;
+      }
+      var p1 = [];
+      var p2 = [];
+      var lineStyle2 = lineStyleModel.getLineStyle();
+      for (var i2 = 0; i2 < minorTicksCoords.length; i2++) {
+        for (var k2 = 0; k2 < minorTicksCoords[i2].length; k2++) {
+          var tickCoord = axis2.toGlobalCoord(minorTicksCoords[i2][k2].coord);
+          if (isHorizontal) {
+            p1[0] = tickCoord;
+            p1[1] = gridRect.y;
+            p2[0] = tickCoord;
+            p2[1] = gridRect.y + gridRect.height;
+          } else {
+            p1[0] = gridRect.x;
+            p1[1] = tickCoord;
+            p2[0] = gridRect.x + gridRect.width;
+            p2[1] = tickCoord;
+          }
+          this._axisGroup.add(new graphic2.Line({
+            anid: "minor_line_" + minorTicksCoords[i2][k2].tickValue,
+            subPixelOptimize: true,
+            shape: {
+              x1: p1[0],
+              y1: p1[1],
+              x2: p2[0],
+              y2: p2[1]
+            },
+            style: lineStyle2,
+            silent: true
+          }));
+        }
+      }
+    },
+    /**
+     * @param {module:echarts/coord/cartesian/AxisModel} axisModel
+     * @param {module:echarts/coord/cartesian/GridModel} gridModel
+     * @private
+     */
+    _splitArea: function(axisModel, gridModel) {
+      rectCoordAxisBuildSplitArea2(this, this._axisGroup, axisModel, gridModel);
+    }
+  });
+  CartesianAxisView2.extend({
+    type: "xAxis"
+  });
+  CartesianAxisView2.extend({
+    type: "yAxis"
+  });
+  return CartesianAxisView$1;
+}
+var hasRequiredAxis;
+function requireAxis() {
+  if (hasRequiredAxis)
+    return axis;
+  hasRequiredAxis = 1;
+  requireAxisModel$3();
+  requireCartesianAxisView();
+  return axis;
+}
+var hasRequiredGridSimple;
+function requireGridSimple() {
+  if (hasRequiredGridSimple)
+    return gridSimple;
+  hasRequiredGridSimple = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  requireGrid$1();
+  requireAxis();
+  echarts2.extendComponentView({
+    type: "grid",
+    render: function(gridModel, ecModel) {
+      this.group.removeAll();
+      if (gridModel.get("show")) {
+        this.group.add(new graphic2.Rect({
+          shape: gridModel.coordinateSystem.getRect(),
+          style: zrUtil2.defaults({
+            fill: gridModel.get("backgroundColor")
+          }, gridModel.getItemStyle()),
+          silent: true,
+          z2: -1
+        }));
+      }
+    }
+  });
+  echarts2.registerPreprocessor(function(option) {
+    if (option.xAxis && option.yAxis && !option.grid) {
+      option.grid = {};
+    }
+  });
+  return gridSimple;
+}
+var hasRequiredLine$1;
+function requireLine$1() {
+  if (hasRequiredLine$1)
+    return line;
+  hasRequiredLine$1 = 1;
+  var echarts2 = echarts$1;
+  requireLineSeries();
+  requireLineView();
+  var visualSymbol = requireSymbol();
+  var layoutPoints = requirePoints();
+  var dataSample2 = requireDataSample();
+  requireGridSimple();
+  echarts2.registerVisual(visualSymbol("line", "circle", "line"));
+  echarts2.registerLayout(layoutPoints("line"));
+  echarts2.registerProcessor(echarts2.PRIORITY.PROCESSOR.STATISTIC, dataSample2("line"));
+  return line;
+}
+var bar = {};
+var BaseBarSeries;
+var hasRequiredBaseBarSeries;
+function requireBaseBarSeries() {
+  if (hasRequiredBaseBarSeries)
+    return BaseBarSeries;
+  hasRequiredBaseBarSeries = 1;
+  var SeriesModel2 = Series;
+  var createListFromArray = requireCreateListFromArray();
+  var _default68 = SeriesModel2.extend({
+    type: "series.__base_bar__",
+    getInitialData: function(option, ecModel) {
+      return createListFromArray(this.getSource(), this, {
+        useEncodeDefaulter: true
+      });
+    },
+    getMarkerPosition: function(value) {
+      var coordSys = this.coordinateSystem;
+      if (coordSys) {
+        var pt = coordSys.dataToPoint(coordSys.clampData(value));
+        var data2 = this.getData();
+        var offset2 = data2.getLayout("offset");
+        var size = data2.getLayout("size");
+        var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;
+        pt[offsetIndex] += offset2 + size / 2;
+        return pt;
+      }
+      return [NaN, NaN];
+    },
+    defaultOption: {
+      zlevel: 0,
+      // 一级层叠
+      z: 2,
+      // 二级层叠
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      // stack: null
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // 最小高度改为0
+      barMinHeight: 0,
+      // 最小角度为0,仅对极坐标系下的柱状图有效
+      barMinAngle: 0,
+      // cursor: null,
+      large: false,
+      largeThreshold: 400,
+      progressive: 3e3,
+      progressiveChunkMode: "mod",
+      // barMaxWidth: null,
+      // In cartesian, the default value is 1. Otherwise null.
+      // barMinWidth: null,
+      // 默认自适应
+      // barWidth: null,
+      // 柱间距离,默认为柱形宽度的30%,可设固定值
+      // barGap: '30%',
+      // 类目间柱形距离,默认为类目间距的20%,可设固定值
+      // barCategoryGap: '20%',
+      // label: {
+      //      show: false
+      // },
+      itemStyle: {},
+      emphasis: {}
+    }
+  });
+  BaseBarSeries = _default68;
+  return BaseBarSeries;
+}
+var BarSeries$1;
+var hasRequiredBarSeries;
+function requireBarSeries() {
+  if (hasRequiredBarSeries)
+    return BarSeries$1;
+  hasRequiredBarSeries = 1;
+  var BaseBarSeries2 = requireBaseBarSeries();
+  var _default68 = BaseBarSeries2.extend({
+    type: "series.bar",
+    dependencies: ["grid", "polar"],
+    brushSelector: "rect",
+    /**
+     * @override
+     */
+    getProgressive: function() {
+      return this.get("large") ? this.get("progressive") : false;
+    },
+    /**
+     * @override
+     */
+    getProgressiveThreshold: function() {
+      var progressiveThreshold = this.get("progressiveThreshold");
+      var largeThreshold = this.get("largeThreshold");
+      if (largeThreshold > progressiveThreshold) {
+        progressiveThreshold = largeThreshold;
+      }
+      return progressiveThreshold;
+    },
+    defaultOption: {
+      // If clipped
+      // Only available on cartesian2d
+      clip: true,
+      // If use caps on two sides of bars
+      // Only available on tangential polar bar
+      roundCap: false,
+      showBackground: false,
+      backgroundStyle: {
+        color: "rgba(180, 180, 180, 0.2)",
+        borderColor: null,
+        borderWidth: 0,
+        borderType: "solid",
+        borderRadius: 0,
+        shadowBlur: 0,
+        shadowColor: null,
+        shadowOffsetX: 0,
+        shadowOffsetY: 0,
+        opacity: 1
+      }
+    }
+  });
+  BarSeries$1 = _default68;
+  return BarSeries$1;
+}
+var helper$3 = {};
+var hasRequiredHelper$2;
+function requireHelper$2() {
+  if (hasRequiredHelper$2)
+    return helper$3;
+  hasRequiredHelper$2 = 1;
+  var graphic2 = graphic$6;
+  var _labelHelper = requireLabelHelper();
+  var getDefaultLabel2 = _labelHelper.getDefaultLabel;
+  function setLabel(normalStyle, hoverStyle, itemModel, color2, seriesModel, dataIndex, labelPositionOutside) {
+    var labelModel = itemModel.getModel("label");
+    var hoverLabelModel = itemModel.getModel("emphasis.label");
+    graphic2.setLabelStyle(normalStyle, hoverStyle, labelModel, hoverLabelModel, {
+      labelFetcher: seriesModel,
+      labelDataIndex: dataIndex,
+      defaultText: getDefaultLabel2(seriesModel.getData(), dataIndex),
+      isRectText: true,
+      autoColor: color2
+    });
+    fixPosition(normalStyle);
+    fixPosition(hoverStyle);
+  }
+  function fixPosition(style2, labelPositionOutside) {
+    if (style2.textPosition === "outside") {
+      style2.textPosition = labelPositionOutside;
+    }
+  }
+  helper$3.setLabel = setLabel;
+  return helper$3;
+}
+var barItemStyle;
+var hasRequiredBarItemStyle;
+function requireBarItemStyle() {
+  if (hasRequiredBarItemStyle)
+    return barItemStyle;
+  hasRequiredBarItemStyle = 1;
+  var makeStyleMapper2 = makeStyleMapper$4;
+  var getBarItemStyle = makeStyleMapper2([
+    ["fill", "color"],
+    ["stroke", "borderColor"],
+    ["lineWidth", "borderWidth"],
+    // Compatitable with 2
+    ["stroke", "barBorderColor"],
+    ["lineWidth", "barBorderWidth"],
+    ["opacity"],
+    ["shadowBlur"],
+    ["shadowOffsetX"],
+    ["shadowOffsetY"],
+    ["shadowColor"]
+  ]);
+  var _default68 = {
+    getBarItemStyle: function(excludes) {
+      var style2 = getBarItemStyle(this, excludes);
+      if (this.getBorderLineDash) {
+        var lineDash = this.getBorderLineDash();
+        lineDash && (style2.lineDash = lineDash);
+      }
+      return style2;
+    }
+  };
+  barItemStyle = _default68;
+  return barItemStyle;
+}
+var sausage;
+var hasRequiredSausage;
+function requireSausage() {
+  if (hasRequiredSausage)
+    return sausage;
+  hasRequiredSausage = 1;
+  var _graphic = graphic$6;
+  var extendShape2 = _graphic.extendShape;
+  var _default68 = extendShape2({
+    type: "sausage",
+    shape: {
+      cx: 0,
+      cy: 0,
+      r0: 0,
+      r: 0,
+      startAngle: 0,
+      endAngle: Math.PI * 2,
+      clockwise: true
+    },
+    buildPath: function(ctx, shape) {
+      var x2 = shape.cx;
+      var y2 = shape.cy;
+      var r0 = Math.max(shape.r0 || 0, 0);
+      var r2 = Math.max(shape.r, 0);
+      var dr = (r2 - r0) * 0.5;
+      var rCenter = r0 + dr;
+      var startAngle = shape.startAngle;
+      var endAngle = shape.endAngle;
+      var clockwise = shape.clockwise;
+      var unitStartX = Math.cos(startAngle);
+      var unitStartY = Math.sin(startAngle);
+      var unitEndX = Math.cos(endAngle);
+      var unitEndY = Math.sin(endAngle);
+      var lessThanCircle = clockwise ? endAngle - startAngle < Math.PI * 2 : startAngle - endAngle < Math.PI * 2;
+      if (lessThanCircle) {
+        ctx.moveTo(unitStartX * r0 + x2, unitStartY * r0 + y2);
+        ctx.arc(unitStartX * rCenter + x2, unitStartY * rCenter + y2, dr, -Math.PI + startAngle, startAngle, !clockwise);
+      }
+      ctx.arc(x2, y2, r2, startAngle, endAngle, !clockwise);
+      ctx.moveTo(unitEndX * r2 + x2, unitEndY * r2 + y2);
+      ctx.arc(unitEndX * rCenter + x2, unitEndY * rCenter + y2, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);
+      if (r0 !== 0) {
+        ctx.arc(x2, y2, r0, endAngle, startAngle, clockwise);
+        ctx.moveTo(unitStartX * r0 + x2, unitEndY * r0 + y2);
+      }
+      ctx.closePath();
+    }
+  });
+  sausage = _default68;
+  return sausage;
+}
+var BarView$2;
+var hasRequiredBarView;
+function requireBarView() {
+  if (hasRequiredBarView)
+    return BarView$2;
+  hasRequiredBarView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var _helper = requireHelper$2();
+  var setLabel = _helper.setLabel;
+  var Model2 = Model_1;
+  var barItemStyle2 = requireBarItemStyle();
+  var Path2 = Path_1;
+  var Group2 = Group_1;
+  var _throttle = throttle$3;
+  var throttle2 = _throttle.throttle;
+  var _createClipPathFromCoordSys = requireCreateClipPathFromCoordSys();
+  var createClipPath2 = _createClipPathFromCoordSys.createClipPath;
+  var Sausage2 = requireSausage();
+  var BAR_BORDER_WIDTH_QUERY2 = ["itemStyle", "barBorderWidth"];
+  var _eventPos = [0, 0];
+  zrUtil2.extend(Model2.prototype, barItemStyle2);
+  function getClipArea2(coord, data2) {
+    var coordSysClipArea = coord.getArea && coord.getArea();
+    if (coord.type === "cartesian2d") {
+      var baseAxis = coord.getBaseAxis();
+      if (baseAxis.type !== "category" || !baseAxis.onBand) {
+        var expandWidth = data2.getLayout("bandWidth");
+        if (baseAxis.isHorizontal()) {
+          coordSysClipArea.x -= expandWidth;
+          coordSysClipArea.width += expandWidth * 2;
+        } else {
+          coordSysClipArea.y -= expandWidth;
+          coordSysClipArea.height += expandWidth * 2;
+        }
+      }
+    }
+    return coordSysClipArea;
+  }
+  var _default68 = echarts2.extendChartView({
+    type: "bar",
+    render: function(seriesModel, ecModel, api2) {
+      this._updateDrawMode(seriesModel);
+      var coordinateSystemType = seriesModel.get("coordinateSystem");
+      if (coordinateSystemType === "cartesian2d" || coordinateSystemType === "polar") {
+        this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api2) : this._renderNormal(seriesModel, ecModel, api2);
+      }
+      return this.group;
+    },
+    incrementalPrepareRender: function(seriesModel, ecModel, api2) {
+      this._clear();
+      this._updateDrawMode(seriesModel);
+    },
+    incrementalRender: function(params2, seriesModel, ecModel, api2) {
+      this._incrementalRenderLarge(params2, seriesModel);
+    },
+    _updateDrawMode: function(seriesModel) {
+      var isLargeDraw = seriesModel.pipelineContext.large;
+      if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {
+        this._isLargeDraw = isLargeDraw;
+        this._clear();
+      }
+    },
+    _renderNormal: function(seriesModel, ecModel, api2) {
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var coord = seriesModel.coordinateSystem;
+      var baseAxis = coord.getBaseAxis();
+      var isHorizontalOrRadial;
+      if (coord.type === "cartesian2d") {
+        isHorizontalOrRadial = baseAxis.isHorizontal();
+      } else if (coord.type === "polar") {
+        isHorizontalOrRadial = baseAxis.dim === "angle";
+      }
+      var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;
+      var needsClip = seriesModel.get("clip", true);
+      var coordSysClipArea = getClipArea2(coord, data2);
+      group.removeClipPath();
+      var roundCap = seriesModel.get("roundCap", true);
+      var drawBackground2 = seriesModel.get("showBackground", true);
+      var backgroundModel = seriesModel.getModel("backgroundStyle");
+      var barBorderRadius = backgroundModel.get("barBorderRadius") || 0;
+      var bgEls = [];
+      var oldBgEls = this._backgroundEls || [];
+      var createBackground = function(dataIndex) {
+        var bgLayout = getLayout2[coord.type](data2, dataIndex);
+        var bgEl = createBackgroundEl2(coord, isHorizontalOrRadial, bgLayout);
+        bgEl.useStyle(backgroundModel.getBarItemStyle());
+        if (coord.type === "cartesian2d") {
+          bgEl.setShape("r", barBorderRadius);
+        }
+        bgEls[dataIndex] = bgEl;
+        return bgEl;
+      };
+      data2.diff(oldData).add(function(dataIndex) {
+        var itemModel = data2.getItemModel(dataIndex);
+        var layout2 = getLayout2[coord.type](data2, dataIndex, itemModel);
+        if (drawBackground2) {
+          createBackground(dataIndex);
+        }
+        if (!data2.hasValue(dataIndex)) {
+          return;
+        }
+        if (needsClip) {
+          var isClipped = clip2[coord.type](coordSysClipArea, layout2);
+          if (isClipped) {
+            group.remove(el);
+            return;
+          }
+        }
+        var el = elementCreator2[coord.type](dataIndex, layout2, isHorizontalOrRadial, animationModel, false, roundCap);
+        data2.setItemGraphicEl(dataIndex, el);
+        group.add(el);
+        updateStyle2(el, data2, dataIndex, itemModel, layout2, seriesModel, isHorizontalOrRadial, coord.type === "polar");
+      }).update(function(newIndex, oldIndex) {
+        var itemModel = data2.getItemModel(newIndex);
+        var layout2 = getLayout2[coord.type](data2, newIndex, itemModel);
+        if (drawBackground2) {
+          var bgEl;
+          if (oldBgEls.length === 0) {
+            bgEl = createBackground(oldIndex);
+          } else {
+            bgEl = oldBgEls[oldIndex];
+            bgEl.useStyle(backgroundModel.getBarItemStyle());
+            if (coord.type === "cartesian2d") {
+              bgEl.setShape("r", barBorderRadius);
+            }
+            bgEls[newIndex] = bgEl;
+          }
+          var bgLayout = getLayout2[coord.type](data2, newIndex);
+          var shape = createBackgroundShape2(isHorizontalOrRadial, bgLayout, coord);
+          graphic2.updateProps(bgEl, {
+            shape
+          }, animationModel, newIndex);
+        }
+        var el = oldData.getItemGraphicEl(oldIndex);
+        if (!data2.hasValue(newIndex)) {
+          group.remove(el);
+          return;
+        }
+        if (needsClip) {
+          var isClipped = clip2[coord.type](coordSysClipArea, layout2);
+          if (isClipped) {
+            group.remove(el);
+            return;
+          }
+        }
+        if (el) {
+          graphic2.updateProps(el, {
+            shape: layout2
+          }, animationModel, newIndex);
+        } else {
+          el = elementCreator2[coord.type](newIndex, layout2, isHorizontalOrRadial, animationModel, true, roundCap);
+        }
+        data2.setItemGraphicEl(newIndex, el);
+        group.add(el);
+        updateStyle2(el, data2, newIndex, itemModel, layout2, seriesModel, isHorizontalOrRadial, coord.type === "polar");
+      }).remove(function(dataIndex) {
+        var el = oldData.getItemGraphicEl(dataIndex);
+        if (coord.type === "cartesian2d") {
+          el && removeRect(dataIndex, animationModel, el);
+        } else {
+          el && removeSector(dataIndex, animationModel, el);
+        }
+      }).execute();
+      var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group2());
+      bgGroup.removeAll();
+      for (var i2 = 0; i2 < bgEls.length; ++i2) {
+        bgGroup.add(bgEls[i2]);
+      }
+      group.add(bgGroup);
+      this._backgroundEls = bgEls;
+      this._data = data2;
+    },
+    _renderLarge: function(seriesModel, ecModel, api2) {
+      this._clear();
+      createLarge2(seriesModel, this.group);
+      var clipPath = seriesModel.get("clip", true) ? createClipPath2(seriesModel.coordinateSystem, false, seriesModel) : null;
+      if (clipPath) {
+        this.group.setClipPath(clipPath);
+      } else {
+        this.group.removeClipPath();
+      }
+    },
+    _incrementalRenderLarge: function(params2, seriesModel) {
+      this._removeBackground();
+      createLarge2(seriesModel, this.group, true);
+    },
+    dispose: zrUtil2.noop,
+    remove: function(ecModel) {
+      this._clear(ecModel);
+    },
+    _clear: function(ecModel) {
+      var group = this.group;
+      var data2 = this._data;
+      if (ecModel && ecModel.get("animation") && data2 && !this._isLargeDraw) {
+        this._removeBackground();
+        this._backgroundEls = [];
+        data2.eachItemGraphicEl(function(el) {
+          if (el.type === "sector") {
+            removeSector(el.dataIndex, ecModel, el);
+          } else {
+            removeRect(el.dataIndex, ecModel, el);
+          }
+        });
+      } else {
+        group.removeAll();
+      }
+      this._data = null;
+    },
+    _removeBackground: function() {
+      this.group.remove(this._backgroundGroup);
+      this._backgroundGroup = null;
+    }
+  });
+  var mathMax2 = Math.max;
+  var mathMin2 = Math.min;
+  var clip2 = {
+    cartesian2d: function(coordSysBoundingRect, layout2) {
+      var signWidth = layout2.width < 0 ? -1 : 1;
+      var signHeight = layout2.height < 0 ? -1 : 1;
+      if (signWidth < 0) {
+        layout2.x += layout2.width;
+        layout2.width = -layout2.width;
+      }
+      if (signHeight < 0) {
+        layout2.y += layout2.height;
+        layout2.height = -layout2.height;
+      }
+      var x2 = mathMax2(layout2.x, coordSysBoundingRect.x);
+      var x22 = mathMin2(layout2.x + layout2.width, coordSysBoundingRect.x + coordSysBoundingRect.width);
+      var y2 = mathMax2(layout2.y, coordSysBoundingRect.y);
+      var y22 = mathMin2(layout2.y + layout2.height, coordSysBoundingRect.y + coordSysBoundingRect.height);
+      layout2.x = x2;
+      layout2.y = y2;
+      layout2.width = x22 - x2;
+      layout2.height = y22 - y2;
+      var clipped = layout2.width < 0 || layout2.height < 0;
+      if (signWidth < 0) {
+        layout2.x += layout2.width;
+        layout2.width = -layout2.width;
+      }
+      if (signHeight < 0) {
+        layout2.y += layout2.height;
+        layout2.height = -layout2.height;
+      }
+      return clipped;
+    },
+    polar: function(coordSysClipArea, layout2) {
+      var signR = layout2.r0 <= layout2.r ? 1 : -1;
+      if (signR < 0) {
+        var r2 = layout2.r;
+        layout2.r = layout2.r0;
+        layout2.r0 = r2;
+      }
+      var r2 = mathMin2(layout2.r, coordSysClipArea.r);
+      var r0 = mathMax2(layout2.r0, coordSysClipArea.r0);
+      layout2.r = r2;
+      layout2.r0 = r0;
+      var clipped = r2 - r0 < 0;
+      if (signR < 0) {
+        var r2 = layout2.r;
+        layout2.r = layout2.r0;
+        layout2.r0 = r2;
+      }
+      return clipped;
+    }
+  };
+  var elementCreator2 = {
+    cartesian2d: function(dataIndex, layout2, isHorizontal, animationModel, isUpdate) {
+      var rect = new graphic2.Rect({
+        shape: zrUtil2.extend({}, layout2),
+        z2: 1
+      });
+      rect.name = "item";
+      if (animationModel) {
+        var rectShape = rect.shape;
+        var animateProperty = isHorizontal ? "height" : "width";
+        var animateTarget = {};
+        rectShape[animateProperty] = 0;
+        animateTarget[animateProperty] = layout2[animateProperty];
+        graphic2[isUpdate ? "updateProps" : "initProps"](rect, {
+          shape: animateTarget
+        }, animationModel, dataIndex);
+      }
+      return rect;
+    },
+    polar: function(dataIndex, layout2, isRadial, animationModel, isUpdate, roundCap) {
+      var clockwise = layout2.startAngle < layout2.endAngle;
+      var ShapeClass = !isRadial && roundCap ? Sausage2 : graphic2.Sector;
+      var sector = new ShapeClass({
+        shape: zrUtil2.defaults({
+          clockwise
+        }, layout2),
+        z2: 1
+      });
+      sector.name = "item";
+      if (animationModel) {
+        var sectorShape = sector.shape;
+        var animateProperty = isRadial ? "r" : "endAngle";
+        var animateTarget = {};
+        sectorShape[animateProperty] = isRadial ? 0 : layout2.startAngle;
+        animateTarget[animateProperty] = layout2[animateProperty];
+        graphic2[isUpdate ? "updateProps" : "initProps"](sector, {
+          shape: animateTarget
+        }, animationModel, dataIndex);
+      }
+      return sector;
+    }
+  };
+  function removeRect(dataIndex, animationModel, el) {
+    el.style.text = null;
+    graphic2.updateProps(el, {
+      shape: {
+        width: 0
+      }
+    }, animationModel, dataIndex, function() {
+      el.parent && el.parent.remove(el);
+    });
+  }
+  function removeSector(dataIndex, animationModel, el) {
+    el.style.text = null;
+    graphic2.updateProps(el, {
+      shape: {
+        r: el.shape.r0
+      }
+    }, animationModel, dataIndex, function() {
+      el.parent && el.parent.remove(el);
+    });
+  }
+  var getLayout2 = {
+    // itemModel is only used to get borderWidth, which is not needed
+    // when calculating bar background layout.
+    cartesian2d: function(data2, dataIndex, itemModel) {
+      var layout2 = data2.getItemLayout(dataIndex);
+      var fixedLineWidth = itemModel ? getLineWidth2(itemModel, layout2) : 0;
+      var signX = layout2.width > 0 ? 1 : -1;
+      var signY = layout2.height > 0 ? 1 : -1;
+      return {
+        x: layout2.x + signX * fixedLineWidth / 2,
+        y: layout2.y + signY * fixedLineWidth / 2,
+        width: layout2.width - signX * fixedLineWidth,
+        height: layout2.height - signY * fixedLineWidth
+      };
+    },
+    polar: function(data2, dataIndex, itemModel) {
+      var layout2 = data2.getItemLayout(dataIndex);
+      return {
+        cx: layout2.cx,
+        cy: layout2.cy,
+        r0: layout2.r0,
+        r: layout2.r,
+        startAngle: layout2.startAngle,
+        endAngle: layout2.endAngle
+      };
+    }
+  };
+  function isZeroOnPolar2(layout2) {
+    return layout2.startAngle != null && layout2.endAngle != null && layout2.startAngle === layout2.endAngle;
+  }
+  function updateStyle2(el, data2, dataIndex, itemModel, layout2, seriesModel, isHorizontal, isPolar) {
+    var color2 = data2.getItemVisual(dataIndex, "color");
+    var opacity = data2.getItemVisual(dataIndex, "opacity");
+    var stroke = data2.getVisual("borderColor");
+    var itemStyleModel = itemModel.getModel("itemStyle");
+    var hoverStyle = itemModel.getModel("emphasis.itemStyle").getBarItemStyle();
+    if (!isPolar) {
+      el.setShape("r", itemStyleModel.get("barBorderRadius") || 0);
+    }
+    el.useStyle(zrUtil2.defaults({
+      stroke: isZeroOnPolar2(layout2) ? "none" : stroke,
+      fill: isZeroOnPolar2(layout2) ? "none" : color2,
+      opacity
+    }, itemStyleModel.getBarItemStyle()));
+    var cursorStyle = itemModel.getShallow("cursor");
+    cursorStyle && el.attr("cursor", cursorStyle);
+    var labelPositionOutside = isHorizontal ? layout2.height > 0 ? "bottom" : "top" : layout2.width > 0 ? "left" : "right";
+    if (!isPolar) {
+      setLabel(el.style, hoverStyle, itemModel, color2, seriesModel, dataIndex, labelPositionOutside);
+    }
+    if (isZeroOnPolar2(layout2)) {
+      hoverStyle.fill = hoverStyle.stroke = "none";
+    }
+    graphic2.setHoverStyle(el, hoverStyle);
+  }
+  function getLineWidth2(itemModel, rawLayout) {
+    var lineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY2) || 0;
+    var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);
+    var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);
+    return Math.min(lineWidth, width, height);
+  }
+  var LargePath2 = Path2.extend({
+    type: "largeBar",
+    shape: {
+      points: []
+    },
+    buildPath: function(ctx, shape) {
+      var points2 = shape.points;
+      var startPoint = this.__startPoint;
+      var baseDimIdx = this.__baseDimIdx;
+      for (var i2 = 0; i2 < points2.length; i2 += 2) {
+        startPoint[baseDimIdx] = points2[i2 + baseDimIdx];
+        ctx.moveTo(startPoint[0], startPoint[1]);
+        ctx.lineTo(points2[i2], points2[i2 + 1]);
+      }
+    }
+  });
+  function createLarge2(seriesModel, group, incremental) {
+    var data2 = seriesModel.getData();
+    var startPoint = [];
+    var baseDimIdx = data2.getLayout("valueAxisHorizontal") ? 1 : 0;
+    startPoint[1 - baseDimIdx] = data2.getLayout("valueAxisStart");
+    var largeDataIndices = data2.getLayout("largeDataIndices");
+    var barWidth = data2.getLayout("barWidth");
+    var backgroundModel = seriesModel.getModel("backgroundStyle");
+    var drawBackground2 = seriesModel.get("showBackground", true);
+    if (drawBackground2) {
+      var points2 = data2.getLayout("largeBackgroundPoints");
+      var backgroundStartPoint = [];
+      backgroundStartPoint[1 - baseDimIdx] = data2.getLayout("backgroundStart");
+      var bgEl = new LargePath2({
+        shape: {
+          points: points2
+        },
+        incremental: !!incremental,
+        __startPoint: backgroundStartPoint,
+        __baseDimIdx: baseDimIdx,
+        __largeDataIndices: largeDataIndices,
+        __barWidth: barWidth,
+        silent: true,
+        z2: 0
+      });
+      setLargeBackgroundStyle(bgEl, backgroundModel, data2);
+      group.add(bgEl);
+    }
+    var el = new LargePath2({
+      shape: {
+        points: data2.getLayout("largePoints")
+      },
+      incremental: !!incremental,
+      __startPoint: startPoint,
+      __baseDimIdx: baseDimIdx,
+      __largeDataIndices: largeDataIndices,
+      __barWidth: barWidth
+    });
+    group.add(el);
+    setLargeStyle2(el, seriesModel, data2);
+    el.seriesIndex = seriesModel.seriesIndex;
+    if (!seriesModel.get("silent")) {
+      el.on("mousedown", largePathUpdateDataIndex2);
+      el.on("mousemove", largePathUpdateDataIndex2);
+    }
+  }
+  var largePathUpdateDataIndex2 = throttle2(function(event2) {
+    var largePath = this;
+    var dataIndex = largePathFindDataIndex2(largePath, event2.offsetX, event2.offsetY);
+    largePath.dataIndex = dataIndex >= 0 ? dataIndex : null;
+  }, 30, false);
+  function largePathFindDataIndex2(largePath, x2, y2) {
+    var baseDimIdx = largePath.__baseDimIdx;
+    var valueDimIdx = 1 - baseDimIdx;
+    var points2 = largePath.shape.points;
+    var largeDataIndices = largePath.__largeDataIndices;
+    var barWidthHalf = Math.abs(largePath.__barWidth / 2);
+    var startValueVal = largePath.__startPoint[valueDimIdx];
+    _eventPos[0] = x2;
+    _eventPos[1] = y2;
+    var pointerBaseVal = _eventPos[baseDimIdx];
+    var pointerValueVal = _eventPos[1 - baseDimIdx];
+    var baseLowerBound = pointerBaseVal - barWidthHalf;
+    var baseUpperBound = pointerBaseVal + barWidthHalf;
+    for (var i2 = 0, len2 = points2.length / 2; i2 < len2; i2++) {
+      var ii = i2 * 2;
+      var barBaseVal = points2[ii + baseDimIdx];
+      var barValueVal = points2[ii + valueDimIdx];
+      if (barBaseVal >= baseLowerBound && barBaseVal <= baseUpperBound && (startValueVal <= barValueVal ? pointerValueVal >= startValueVal && pointerValueVal <= barValueVal : pointerValueVal >= barValueVal && pointerValueVal <= startValueVal)) {
+        return largeDataIndices[i2];
+      }
+    }
+    return -1;
+  }
+  function setLargeStyle2(el, seriesModel, data2) {
+    var borderColor = data2.getVisual("borderColor") || data2.getVisual("color");
+    var itemStyle2 = seriesModel.getModel("itemStyle").getItemStyle(["color", "borderColor"]);
+    el.useStyle(itemStyle2);
+    el.style.fill = null;
+    el.style.stroke = borderColor;
+    el.style.lineWidth = data2.getLayout("barWidth");
+  }
+  function setLargeBackgroundStyle(el, backgroundModel, data2) {
+    var borderColor = backgroundModel.get("borderColor") || backgroundModel.get("color");
+    var itemStyle2 = backgroundModel.getItemStyle(["color", "borderColor"]);
+    el.useStyle(itemStyle2);
+    el.style.fill = null;
+    el.style.stroke = borderColor;
+    el.style.lineWidth = data2.getLayout("barWidth");
+  }
+  function createBackgroundShape2(isHorizontalOrRadial, layout2, coord) {
+    var coordLayout;
+    var isPolar = coord.type === "polar";
+    if (isPolar) {
+      coordLayout = coord.getArea();
+    } else {
+      coordLayout = coord.grid.getRect();
+    }
+    if (isPolar) {
+      return {
+        cx: coordLayout.cx,
+        cy: coordLayout.cy,
+        r0: isHorizontalOrRadial ? coordLayout.r0 : layout2.r0,
+        r: isHorizontalOrRadial ? coordLayout.r : layout2.r,
+        startAngle: isHorizontalOrRadial ? layout2.startAngle : 0,
+        endAngle: isHorizontalOrRadial ? layout2.endAngle : Math.PI * 2
+      };
+    } else {
+      return {
+        x: isHorizontalOrRadial ? layout2.x : coordLayout.x,
+        y: isHorizontalOrRadial ? coordLayout.y : layout2.y,
+        width: isHorizontalOrRadial ? layout2.width : coordLayout.width,
+        height: isHorizontalOrRadial ? coordLayout.height : layout2.height
+      };
+    }
+  }
+  function createBackgroundEl2(coord, isHorizontalOrRadial, layout2) {
+    var ElementClz = coord.type === "polar" ? graphic2.Sector : graphic2.Rect;
+    return new ElementClz({
+      shape: createBackgroundShape2(isHorizontalOrRadial, layout2, coord),
+      silent: true,
+      z2: 0
+    });
+  }
+  BarView$2 = _default68;
+  return BarView$2;
+}
+var hasRequiredBar;
+function requireBar() {
+  if (hasRequiredBar)
+    return bar;
+  hasRequiredBar = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var _barGrid = requireBarGrid();
+  var layout2 = _barGrid.layout;
+  var largeLayout = _barGrid.largeLayout;
+  requireGrid$1();
+  requireBarSeries();
+  requireBarView();
+  requireGridSimple();
+  echarts2.registerLayout(echarts2.PRIORITY.VISUAL.LAYOUT, zrUtil2.curry(layout2, "bar"));
+  echarts2.registerLayout(echarts2.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, largeLayout);
+  echarts2.registerVisual({
+    seriesType: "bar",
+    reset: function(seriesModel) {
+      seriesModel.getData().setVisual("legendSymbol", "roundRect");
+    }
+  });
+  return bar;
+}
+var pie = {};
+var createListSimply;
+var hasRequiredCreateListSimply;
+function requireCreateListSimply() {
+  if (hasRequiredCreateListSimply)
+    return createListSimply;
+  hasRequiredCreateListSimply = 1;
+  var createDimensions2 = requireCreateDimensions();
+  var List = requireList();
+  var _util2 = util$a;
+  var extend2 = _util2.extend;
+  var isArray2 = _util2.isArray;
+  function _default68(seriesModel, opt, nameList) {
+    opt = isArray2(opt) && {
+      coordDimensions: opt
+    } || extend2({}, opt);
+    var source2 = seriesModel.getSource();
+    var dimensionsInfo = createDimensions2(source2, opt);
+    var list2 = new List(dimensionsInfo, seriesModel);
+    list2.initData(source2, nameList);
+    return list2;
+  }
+  createListSimply = _default68;
+  return createListSimply;
+}
+var selectableMixin;
+var hasRequiredSelectableMixin;
+function requireSelectableMixin() {
+  if (hasRequiredSelectableMixin)
+    return selectableMixin;
+  hasRequiredSelectableMixin = 1;
+  var zrUtil2 = util$a;
+  var _default68 = {
+    /**
+     * @param {Array.<Object>} targetList [{name, value, selected}, ...]
+     *        If targetList is an array, it should like [{name: ..., value: ...}, ...].
+     *        If targetList is a "List", it must have coordDim: 'value' dimension and name.
+     */
+    updateSelectedMap: function(targetList) {
+      this._targetList = zrUtil2.isArray(targetList) ? targetList.slice() : [];
+      this._selectTargetMap = zrUtil2.reduce(targetList || [], function(targetMap, target) {
+        targetMap.set(target.name, target);
+        return targetMap;
+      }, zrUtil2.createHashMap());
+    },
+    /**
+     * Either name or id should be passed as input here.
+     * If both of them are defined, id is used.
+     *
+     * @param {string|undefined} name name of data
+     * @param {number|undefined} id dataIndex of data
+     */
+    // PENGING If selectedMode is null ?
+    select: function(name2, id) {
+      var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name2);
+      var selectedMode = this.get("selectedMode");
+      if (selectedMode === "single") {
+        this._selectTargetMap.each(function(target2) {
+          target2.selected = false;
+        });
+      }
+      target && (target.selected = true);
+    },
+    /**
+     * Either name or id should be passed as input here.
+     * If both of them are defined, id is used.
+     *
+     * @param {string|undefined} name name of data
+     * @param {number|undefined} id dataIndex of data
+     */
+    unSelect: function(name2, id) {
+      var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name2);
+      target && (target.selected = false);
+    },
+    /**
+     * Either name or id should be passed as input here.
+     * If both of them are defined, id is used.
+     *
+     * @param {string|undefined} name name of data
+     * @param {number|undefined} id dataIndex of data
+     */
+    toggleSelected: function(name2, id) {
+      var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name2);
+      if (target != null) {
+        this[target.selected ? "unSelect" : "select"](name2, id);
+        return target.selected;
+      }
+    },
+    /**
+     * Either name or id should be passed as input here.
+     * If both of them are defined, id is used.
+     *
+     * @param {string|undefined} name name of data
+     * @param {number|undefined} id dataIndex of data
+     */
+    isSelected: function(name2, id) {
+      var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name2);
+      return target && target.selected;
+    }
+  };
+  selectableMixin = _default68;
+  return selectableMixin;
+}
+var LegendVisualProvider_1;
+var hasRequiredLegendVisualProvider;
+function requireLegendVisualProvider() {
+  if (hasRequiredLegendVisualProvider)
+    return LegendVisualProvider_1;
+  hasRequiredLegendVisualProvider = 1;
+  function LegendVisualProvider2(getDataWithEncodedVisual, getRawData2) {
+    this.getAllNames = function() {
+      var rawData = getRawData2();
+      return rawData.mapArray(rawData.getName);
+    };
+    this.containName = function(name2) {
+      var rawData = getRawData2();
+      return rawData.indexOfName(name2) >= 0;
+    };
+    this.indexOfName = function(name2) {
+      var dataWithEncodedVisual = getDataWithEncodedVisual();
+      return dataWithEncodedVisual.indexOfName(name2);
+    };
+    this.getItemVisual = function(dataIndex, key2) {
+      var dataWithEncodedVisual = getDataWithEncodedVisual();
+      return dataWithEncodedVisual.getItemVisual(dataIndex, key2);
+    };
+  }
+  var _default68 = LegendVisualProvider2;
+  LegendVisualProvider_1 = _default68;
+  return LegendVisualProvider_1;
+}
+var PieSeries_1;
+var hasRequiredPieSeries;
+function requirePieSeries() {
+  if (hasRequiredPieSeries)
+    return PieSeries_1;
+  hasRequiredPieSeries = 1;
+  var echarts2 = echarts$1;
+  var createListSimply2 = requireCreateListSimply();
+  var zrUtil2 = util$a;
+  var modelUtil2 = model;
+  var _number2 = requireNumber();
+  var getPercentWithPrecision2 = _number2.getPercentWithPrecision;
+  var dataSelectableMixin = requireSelectableMixin();
+  var _dataProvider2 = dataProvider;
+  var retrieveRawAttr2 = _dataProvider2.retrieveRawAttr;
+  var _sourceHelper2 = requireSourceHelper();
+  var makeSeriesEncodeForNameBased2 = _sourceHelper2.makeSeriesEncodeForNameBased;
+  var LegendVisualProvider2 = requireLegendVisualProvider();
+  var PieSeries = echarts2.extendSeriesModel({
+    type: "series.pie",
+    // Overwrite
+    init: function(option) {
+      PieSeries.superApply(this, "init", arguments);
+      this.legendVisualProvider = new LegendVisualProvider2(zrUtil2.bind(this.getData, this), zrUtil2.bind(this.getRawData, this));
+      this.updateSelectedMap(this._createSelectableList());
+      this._defaultLabelLine(option);
+    },
+    // Overwrite
+    mergeOption: function(newOption) {
+      PieSeries.superCall(this, "mergeOption", newOption);
+      this.updateSelectedMap(this._createSelectableList());
+    },
+    getInitialData: function(option, ecModel) {
+      return createListSimply2(this, {
+        coordDimensions: ["value"],
+        encodeDefaulter: zrUtil2.curry(makeSeriesEncodeForNameBased2, this)
+      });
+    },
+    _createSelectableList: function() {
+      var data2 = this.getRawData();
+      var valueDim = data2.mapDimension("value");
+      var targetList = [];
+      for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+        targetList.push({
+          name: data2.getName(i2),
+          value: data2.get(valueDim, i2),
+          selected: retrieveRawAttr2(data2, i2, "selected")
+        });
+      }
+      return targetList;
+    },
+    // Overwrite
+    getDataParams: function(dataIndex) {
+      var data2 = this.getData();
+      var params2 = PieSeries.superCall(this, "getDataParams", dataIndex);
+      var valueList = [];
+      data2.each(data2.mapDimension("value"), function(value) {
+        valueList.push(value);
+      });
+      params2.percent = getPercentWithPrecision2(valueList, dataIndex, data2.hostModel.get("percentPrecision"));
+      params2.$vars.push("percent");
+      return params2;
+    },
+    _defaultLabelLine: function(option) {
+      modelUtil2.defaultEmphasis(option, "labelLine", ["show"]);
+      var labelLineNormalOpt = option.labelLine;
+      var labelLineEmphasisOpt = option.emphasis.labelLine;
+      labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;
+      labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      hoverAnimation: true,
+      // 默认全局居中
+      center: ["50%", "50%"],
+      radius: [0, "75%"],
+      // 默认顺时针
+      clockwise: true,
+      startAngle: 90,
+      // 最小角度改为0
+      minAngle: 0,
+      // If the angle of a sector less than `minShowLabelAngle`,
+      // the label will not be displayed.
+      minShowLabelAngle: 0,
+      // 选中时扇区偏移量
+      selectedOffset: 10,
+      // 高亮扇区偏移量
+      hoverOffset: 10,
+      // If use strategy to avoid label overlapping
+      avoidLabelOverlap: true,
+      // 选择模式,默认关闭,可选single,multiple
+      // selectedMode: false,
+      // 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)
+      // roseType: null,
+      percentPrecision: 2,
+      // If still show when all data zero.
+      stillShowZeroSum: true,
+      // cursor: null,
+      left: 0,
+      top: 0,
+      right: 0,
+      bottom: 0,
+      width: null,
+      height: null,
+      label: {
+        // If rotate around circle
+        rotate: false,
+        show: true,
+        // 'outer', 'inside', 'center'
+        position: "outer",
+        // 'none', 'labelLine', 'edge'. Works only when position is 'outer'
+        alignTo: "none",
+        // Closest distance between label and chart edge.
+        // Works only position is 'outer' and alignTo is 'edge'.
+        margin: "25%",
+        // Works only position is 'outer' and alignTo is not 'edge'.
+        bleedMargin: 10,
+        // Distance between text and label line.
+        distanceToLabelLine: 5
+        // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
+        // 默认使用全局文本样式,详见TEXTSTYLE
+        // distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数
+      },
+      // Enabled when label.normal.position is 'outer'
+      labelLine: {
+        show: true,
+        // 引导线两段中的第一段长度
+        length: 15,
+        // 引导线两段中的第二段长度
+        length2: 15,
+        smooth: false,
+        lineStyle: {
+          // color: 各异,
+          width: 1,
+          type: "solid"
+        }
+      },
+      itemStyle: {
+        borderWidth: 1
+      },
+      // Animation type. Valid values: expansion, scale
+      animationType: "expansion",
+      // Animation type when update. Valid values: transition, expansion
+      animationTypeUpdate: "transition",
+      animationEasing: "cubicOut"
+    }
+  });
+  zrUtil2.mixin(PieSeries, dataSelectableMixin);
+  var _default68 = PieSeries;
+  PieSeries_1 = _default68;
+  return PieSeries_1;
+}
+var PieView_1;
+var hasRequiredPieView;
+function requirePieView() {
+  if (hasRequiredPieView)
+    return PieView_1;
+  hasRequiredPieView = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var ChartView2 = Chart_1;
+  function updateDataSelected(uid, seriesModel, hasAnimation, api2) {
+    var data2 = seriesModel.getData();
+    var dataIndex = this.dataIndex;
+    var name2 = data2.getName(dataIndex);
+    var selectedOffset = seriesModel.get("selectedOffset");
+    api2.dispatchAction({
+      type: "pieToggleSelect",
+      from: uid,
+      name: name2,
+      seriesId: seriesModel.id
+    });
+    data2.each(function(idx) {
+      toggleItemSelected(data2.getItemGraphicEl(idx), data2.getItemLayout(idx), seriesModel.isSelected(data2.getName(idx)), selectedOffset, hasAnimation);
+    });
+  }
+  function toggleItemSelected(el, layout2, isSelected, selectedOffset, hasAnimation) {
+    var midAngle = (layout2.startAngle + layout2.endAngle) / 2;
+    var dx = Math.cos(midAngle);
+    var dy = Math.sin(midAngle);
+    var offset2 = isSelected ? selectedOffset : 0;
+    var position2 = [dx * offset2, dy * offset2];
+    hasAnimation ? el.animate().when(200, {
+      position: position2
+    }).start("bounceOut") : el.attr("position", position2);
+  }
+  function PiePiece2(data2, idx) {
+    graphic2.Group.call(this);
+    var sector = new graphic2.Sector({
+      z2: 2
+    });
+    var polyline = new graphic2.Polyline();
+    var text2 = new graphic2.Text();
+    this.add(sector);
+    this.add(polyline);
+    this.add(text2);
+    this.updateData(data2, idx, true);
+  }
+  var piePieceProto = PiePiece2.prototype;
+  piePieceProto.updateData = function(data2, idx, firstCreate) {
+    var sector = this.childAt(0);
+    var labelLine = this.childAt(1);
+    var labelText = this.childAt(2);
+    var seriesModel = data2.hostModel;
+    var itemModel = data2.getItemModel(idx);
+    var layout2 = data2.getItemLayout(idx);
+    var sectorShape = zrUtil2.extend({}, layout2);
+    sectorShape.label = null;
+    var animationTypeUpdate = seriesModel.getShallow("animationTypeUpdate");
+    if (firstCreate) {
+      sector.setShape(sectorShape);
+      var animationType = seriesModel.getShallow("animationType");
+      if (animationType === "scale") {
+        sector.shape.r = layout2.r0;
+        graphic2.initProps(sector, {
+          shape: {
+            r: layout2.r
+          }
+        }, seriesModel, idx);
+      } else {
+        sector.shape.endAngle = layout2.startAngle;
+        graphic2.updateProps(sector, {
+          shape: {
+            endAngle: layout2.endAngle
+          }
+        }, seriesModel, idx);
+      }
+    } else {
+      if (animationTypeUpdate === "expansion") {
+        sector.setShape(sectorShape);
+      } else {
+        graphic2.updateProps(sector, {
+          shape: sectorShape
+        }, seriesModel, idx);
+      }
+    }
+    var visualColor = data2.getItemVisual(idx, "color");
+    sector.useStyle(zrUtil2.defaults({
+      lineJoin: "bevel",
+      fill: visualColor
+    }, itemModel.getModel("itemStyle").getItemStyle()));
+    sector.hoverStyle = itemModel.getModel("emphasis.itemStyle").getItemStyle();
+    var cursorStyle = itemModel.getShallow("cursor");
+    cursorStyle && sector.attr("cursor", cursorStyle);
+    toggleItemSelected(this, data2.getItemLayout(idx), seriesModel.isSelected(data2.getName(idx)), seriesModel.get("selectedOffset"), seriesModel.get("animation"));
+    var withAnimation = !firstCreate && animationTypeUpdate === "transition";
+    this._updateLabel(data2, idx, withAnimation);
+    this.highDownOnUpdate = !seriesModel.get("silent") ? function(fromState, toState) {
+      var hasAnimation = seriesModel.isAnimationEnabled() && itemModel.get("hoverAnimation");
+      if (toState === "emphasis") {
+        labelLine.ignore = labelLine.hoverIgnore;
+        labelText.ignore = labelText.hoverIgnore;
+        if (hasAnimation) {
+          sector.stopAnimation(true);
+          sector.animateTo({
+            shape: {
+              r: layout2.r + seriesModel.get("hoverOffset")
+            }
+          }, 300, "elasticOut");
+        }
+      } else {
+        labelLine.ignore = labelLine.normalIgnore;
+        labelText.ignore = labelText.normalIgnore;
+        if (hasAnimation) {
+          sector.stopAnimation(true);
+          sector.animateTo({
+            shape: {
+              r: layout2.r
+            }
+          }, 300, "elasticOut");
+        }
+      }
+    } : null;
+    graphic2.setHoverStyle(this);
+  };
+  piePieceProto._updateLabel = function(data2, idx, withAnimation) {
+    var labelLine = this.childAt(1);
+    var labelText = this.childAt(2);
+    var seriesModel = data2.hostModel;
+    var itemModel = data2.getItemModel(idx);
+    var layout2 = data2.getItemLayout(idx);
+    var labelLayout2 = layout2.label;
+    var visualColor = data2.getItemVisual(idx, "color");
+    if (!labelLayout2 || isNaN(labelLayout2.x) || isNaN(labelLayout2.y)) {
+      labelText.ignore = labelText.normalIgnore = labelText.hoverIgnore = labelLine.ignore = labelLine.normalIgnore = labelLine.hoverIgnore = true;
+      return;
+    }
+    var targetLineShape = {
+      points: labelLayout2.linePoints || [[labelLayout2.x, labelLayout2.y], [labelLayout2.x, labelLayout2.y], [labelLayout2.x, labelLayout2.y]]
+    };
+    var targetTextStyle = {
+      x: labelLayout2.x,
+      y: labelLayout2.y
+    };
+    if (withAnimation) {
+      graphic2.updateProps(labelLine, {
+        shape: targetLineShape
+      }, seriesModel, idx);
+      graphic2.updateProps(labelText, {
+        style: targetTextStyle
+      }, seriesModel, idx);
+    } else {
+      labelLine.attr({
+        shape: targetLineShape
+      });
+      labelText.attr({
+        style: targetTextStyle
+      });
+    }
+    labelText.attr({
+      rotation: labelLayout2.rotation,
+      origin: [labelLayout2.x, labelLayout2.y],
+      z2: 10
+    });
+    var labelModel = itemModel.getModel("label");
+    var labelHoverModel = itemModel.getModel("emphasis.label");
+    var labelLineModel = itemModel.getModel("labelLine");
+    var labelLineHoverModel = itemModel.getModel("emphasis.labelLine");
+    var visualColor = data2.getItemVisual(idx, "color");
+    graphic2.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {
+      labelFetcher: data2.hostModel,
+      labelDataIndex: idx,
+      defaultText: labelLayout2.text,
+      autoColor: visualColor,
+      useInsideStyle: !!labelLayout2.inside
+    }, {
+      textAlign: labelLayout2.textAlign,
+      textVerticalAlign: labelLayout2.verticalAlign,
+      opacity: data2.getItemVisual(idx, "opacity")
+    });
+    labelText.ignore = labelText.normalIgnore = !labelModel.get("show");
+    labelText.hoverIgnore = !labelHoverModel.get("show");
+    labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get("show");
+    labelLine.hoverIgnore = !labelLineHoverModel.get("show");
+    labelLine.setStyle({
+      stroke: visualColor,
+      opacity: data2.getItemVisual(idx, "opacity")
+    });
+    labelLine.setStyle(labelLineModel.getModel("lineStyle").getLineStyle());
+    labelLine.hoverStyle = labelLineHoverModel.getModel("lineStyle").getLineStyle();
+    var smooth = labelLineModel.get("smooth");
+    if (smooth && smooth === true) {
+      smooth = 0.4;
+    }
+    labelLine.setShape({
+      smooth
+    });
+  };
+  zrUtil2.inherits(PiePiece2, graphic2.Group);
+  var PieView2 = ChartView2.extend({
+    type: "pie",
+    init: function() {
+      var sectorGroup = new graphic2.Group();
+      this._sectorGroup = sectorGroup;
+    },
+    render: function(seriesModel, ecModel, api2, payload) {
+      if (payload && payload.from === this.uid) {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var group = this.group;
+      var hasAnimation = ecModel.get("animation");
+      var isFirstRender = !oldData;
+      var animationType = seriesModel.get("animationType");
+      var animationTypeUpdate = seriesModel.get("animationTypeUpdate");
+      var onSectorClick = zrUtil2.curry(updateDataSelected, this.uid, seriesModel, hasAnimation, api2);
+      var selectedMode = seriesModel.get("selectedMode");
+      data2.diff(oldData).add(function(idx) {
+        var piePiece = new PiePiece2(data2, idx);
+        if (isFirstRender && animationType !== "scale") {
+          piePiece.eachChild(function(child) {
+            child.stopAnimation(true);
+          });
+        }
+        selectedMode && piePiece.on("click", onSectorClick);
+        data2.setItemGraphicEl(idx, piePiece);
+        group.add(piePiece);
+      }).update(function(newIdx, oldIdx) {
+        var piePiece = oldData.getItemGraphicEl(oldIdx);
+        if (!isFirstRender && animationTypeUpdate !== "transition") {
+          piePiece.eachChild(function(child) {
+            child.stopAnimation(true);
+          });
+        }
+        piePiece.updateData(data2, newIdx);
+        piePiece.off("click");
+        selectedMode && piePiece.on("click", onSectorClick);
+        group.add(piePiece);
+        data2.setItemGraphicEl(newIdx, piePiece);
+      }).remove(function(idx) {
+        var piePiece = oldData.getItemGraphicEl(idx);
+        group.remove(piePiece);
+      }).execute();
+      if (hasAnimation && data2.count() > 0 && (isFirstRender ? animationType !== "scale" : animationTypeUpdate !== "transition")) {
+        var shape = data2.getItemLayout(0);
+        for (var s2 = 1; isNaN(shape.startAngle) && s2 < data2.count(); ++s2) {
+          shape = data2.getItemLayout(s2);
+        }
+        var r2 = Math.max(api2.getWidth(), api2.getHeight()) / 2;
+        var removeClipPath = zrUtil2.bind(group.removeClipPath, group);
+        group.setClipPath(this._createClipPath(shape.cx, shape.cy, r2, shape.startAngle, shape.clockwise, removeClipPath, seriesModel, isFirstRender));
+      } else {
+        group.removeClipPath();
+      }
+      this._data = data2;
+    },
+    dispose: function() {
+    },
+    _createClipPath: function(cx, cy, r2, startAngle, clockwise, cb, seriesModel, isFirstRender) {
+      var clipPath = new graphic2.Sector({
+        shape: {
+          cx,
+          cy,
+          r0: 0,
+          r: r2,
+          startAngle,
+          endAngle: startAngle,
+          clockwise
+        }
+      });
+      var initOrUpdate = isFirstRender ? graphic2.initProps : graphic2.updateProps;
+      initOrUpdate(clipPath, {
+        shape: {
+          endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2
+        }
+      }, seriesModel, cb);
+      return clipPath;
+    },
+    /**
+     * @implement
+     */
+    containPoint: function(point, seriesModel) {
+      var data2 = seriesModel.getData();
+      var itemLayout = data2.getItemLayout(0);
+      if (itemLayout) {
+        var dx = point[0] - itemLayout.cx;
+        var dy = point[1] - itemLayout.cy;
+        var radius = Math.sqrt(dx * dx + dy * dy);
+        return radius <= itemLayout.r && radius >= itemLayout.r0;
+      }
+    }
+  });
+  var _default68 = PieView2;
+  PieView_1 = _default68;
+  return PieView_1;
+}
+var createDataSelectAction;
+var hasRequiredCreateDataSelectAction;
+function requireCreateDataSelectAction() {
+  if (hasRequiredCreateDataSelectAction)
+    return createDataSelectAction;
+  hasRequiredCreateDataSelectAction = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  function _default68(seriesType2, actionInfos) {
+    zrUtil2.each(actionInfos, function(actionInfo2) {
+      actionInfo2.update = "updateView";
+      echarts2.registerAction(actionInfo2, function(payload, ecModel) {
+        var selected = {};
+        ecModel.eachComponent({
+          mainType: "series",
+          subType: seriesType2,
+          query: payload
+        }, function(seriesModel) {
+          if (seriesModel[actionInfo2.method]) {
+            seriesModel[actionInfo2.method](payload.name, payload.dataIndex);
+          }
+          var data2 = seriesModel.getData();
+          data2.each(function(idx) {
+            var name2 = data2.getName(idx);
+            selected[name2] = seriesModel.isSelected(name2) || false;
+          });
+        });
+        return {
+          name: payload.name,
+          selected,
+          seriesId: payload.seriesId
+        };
+      });
+    });
+  }
+  createDataSelectAction = _default68;
+  return createDataSelectAction;
+}
+var dataColor;
+var hasRequiredDataColor;
+function requireDataColor() {
+  if (hasRequiredDataColor)
+    return dataColor;
+  hasRequiredDataColor = 1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  function _default68(seriesType2) {
+    return {
+      getTargetSeries: function(ecModel) {
+        var paletteScope = {};
+        var seiresModelMap = createHashMap2();
+        ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+          seriesModel.__paletteScope = paletteScope;
+          seiresModelMap.set(seriesModel.uid, seriesModel);
+        });
+        return seiresModelMap;
+      },
+      reset: function(seriesModel, ecModel) {
+        var dataAll = seriesModel.getRawData();
+        var idxMap = {};
+        var data2 = seriesModel.getData();
+        data2.each(function(idx) {
+          var rawIdx = data2.getRawIndex(idx);
+          idxMap[rawIdx] = idx;
+        });
+        dataAll.each(function(rawIdx) {
+          var filteredIdx = idxMap[rawIdx];
+          var singleDataColor = filteredIdx != null && data2.getItemVisual(filteredIdx, "color", true);
+          var singleDataBorderColor = filteredIdx != null && data2.getItemVisual(filteredIdx, "borderColor", true);
+          var itemModel;
+          if (!singleDataColor || !singleDataBorderColor) {
+            itemModel = dataAll.getItemModel(rawIdx);
+          }
+          if (!singleDataColor) {
+            var color2 = itemModel.get("itemStyle.color") || seriesModel.getColorFromPalette(dataAll.getName(rawIdx) || rawIdx + "", seriesModel.__paletteScope, dataAll.count());
+            if (filteredIdx != null) {
+              data2.setItemVisual(filteredIdx, "color", color2);
+            }
+          }
+          if (!singleDataBorderColor) {
+            var borderColor = itemModel.get("itemStyle.borderColor");
+            if (filteredIdx != null) {
+              data2.setItemVisual(filteredIdx, "borderColor", borderColor);
+            }
+          }
+        });
+      }
+    };
+  }
+  dataColor = _default68;
+  return dataColor;
+}
+var labelLayout$1;
+var hasRequiredLabelLayout;
+function requireLabelLayout() {
+  if (hasRequiredLabelLayout)
+    return labelLayout$1;
+  hasRequiredLabelLayout = 1;
+  var textContain2 = text;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var RADIAN2 = Math.PI / 180;
+  function adjustSingleSide2(list2, cx, cy, r2, dir3, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {
+    list2.sort(function(a2, b2) {
+      return a2.y - b2.y;
+    });
+    function shiftDown(start2, end2, delta2, dir4) {
+      for (var j2 = start2; j2 < end2; j2++) {
+        if (list2[j2].y + delta2 > viewTop + viewHeight) {
+          break;
+        }
+        list2[j2].y += delta2;
+        if (j2 > start2 && j2 + 1 < end2 && list2[j2 + 1].y > list2[j2].y + list2[j2].height) {
+          shiftUp(j2, delta2 / 2);
+          return;
+        }
+      }
+      shiftUp(end2 - 1, delta2 / 2);
+    }
+    function shiftUp(end2, delta2) {
+      for (var j2 = end2; j2 >= 0; j2--) {
+        if (list2[j2].y - delta2 < viewTop) {
+          break;
+        }
+        list2[j2].y -= delta2;
+        if (j2 > 0 && list2[j2].y > list2[j2 - 1].y + list2[j2 - 1].height) {
+          break;
+        }
+      }
+    }
+    function changeX(list3, isDownList, cx2, cy2, r3, dir4) {
+      var lastDeltaX = dir4 > 0 ? isDownList ? Number.MAX_VALUE : 0 : isDownList ? Number.MAX_VALUE : 0;
+      for (var i3 = 0, l2 = list3.length; i3 < l2; i3++) {
+        if (list3[i3].labelAlignTo !== "none") {
+          continue;
+        }
+        var deltaY = Math.abs(list3[i3].y - cy2);
+        var length2 = list3[i3].len;
+        var length22 = list3[i3].len2;
+        var deltaX = deltaY < r3 + length2 ? Math.sqrt((r3 + length2 + length22) * (r3 + length2 + length22) - deltaY * deltaY) : Math.abs(list3[i3].x - cx2);
+        if (isDownList && deltaX >= lastDeltaX) {
+          deltaX = lastDeltaX - 10;
+        }
+        if (!isDownList && deltaX <= lastDeltaX) {
+          deltaX = lastDeltaX + 10;
+        }
+        list3[i3].x = cx2 + deltaX * dir4;
+        lastDeltaX = deltaX;
+      }
+    }
+    var lastY = 0;
+    var delta;
+    var len2 = list2.length;
+    var upList = [];
+    var downList = [];
+    for (var i2 = 0; i2 < len2; i2++) {
+      if (list2[i2].position === "outer" && list2[i2].labelAlignTo === "labelLine") {
+        var dx = list2[i2].x - farthestX;
+        list2[i2].linePoints[1][0] += dx;
+        list2[i2].x = farthestX;
+      }
+      delta = list2[i2].y - lastY;
+      if (delta < 0) {
+        shiftDown(i2, len2, -delta);
+      }
+      lastY = list2[i2].y + list2[i2].height;
+    }
+    if (viewHeight - lastY < 0) {
+      shiftUp(len2 - 1, lastY - viewHeight);
+    }
+    for (var i2 = 0; i2 < len2; i2++) {
+      if (list2[i2].y >= cy) {
+        downList.push(list2[i2]);
+      } else {
+        upList.push(list2[i2]);
+      }
+    }
+    changeX(upList, false, cx, cy, r2, dir3);
+    changeX(downList, true, cx, cy, r2, dir3);
+  }
+  function avoidOverlap2(labelLayoutList, cx, cy, r2, viewWidth, viewHeight, viewLeft, viewTop) {
+    var leftList = [];
+    var rightList = [];
+    var leftmostX = Number.MAX_VALUE;
+    var rightmostX = -Number.MAX_VALUE;
+    for (var i2 = 0; i2 < labelLayoutList.length; i2++) {
+      if (isPositionCenter2(labelLayoutList[i2])) {
+        continue;
+      }
+      if (labelLayoutList[i2].x < cx) {
+        leftmostX = Math.min(leftmostX, labelLayoutList[i2].x);
+        leftList.push(labelLayoutList[i2]);
+      } else {
+        rightmostX = Math.max(rightmostX, labelLayoutList[i2].x);
+        rightList.push(labelLayoutList[i2]);
+      }
+    }
+    adjustSingleSide2(rightList, cx, cy, r2, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);
+    adjustSingleSide2(leftList, cx, cy, r2, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);
+    for (var i2 = 0; i2 < labelLayoutList.length; i2++) {
+      var layout2 = labelLayoutList[i2];
+      if (isPositionCenter2(layout2)) {
+        continue;
+      }
+      var linePoints = layout2.linePoints;
+      if (linePoints) {
+        var isAlignToEdge = layout2.labelAlignTo === "edge";
+        var realTextWidth = layout2.textRect.width;
+        var targetTextWidth;
+        if (isAlignToEdge) {
+          if (layout2.x < cx) {
+            targetTextWidth = linePoints[2][0] - layout2.labelDistance - viewLeft - layout2.labelMargin;
+          } else {
+            targetTextWidth = viewLeft + viewWidth - layout2.labelMargin - linePoints[2][0] - layout2.labelDistance;
+          }
+        } else {
+          if (layout2.x < cx) {
+            targetTextWidth = layout2.x - viewLeft - layout2.bleedMargin;
+          } else {
+            targetTextWidth = viewLeft + viewWidth - layout2.x - layout2.bleedMargin;
+          }
+        }
+        if (targetTextWidth < layout2.textRect.width) {
+          layout2.text = textContain2.truncateText(layout2.text, targetTextWidth, layout2.font);
+          if (layout2.labelAlignTo === "edge") {
+            realTextWidth = textContain2.getWidth(layout2.text, layout2.font);
+          }
+        }
+        var dist2 = linePoints[1][0] - linePoints[2][0];
+        if (isAlignToEdge) {
+          if (layout2.x < cx) {
+            linePoints[2][0] = viewLeft + layout2.labelMargin + realTextWidth + layout2.labelDistance;
+          } else {
+            linePoints[2][0] = viewLeft + viewWidth - layout2.labelMargin - realTextWidth - layout2.labelDistance;
+          }
+        } else {
+          if (layout2.x < cx) {
+            linePoints[2][0] = layout2.x + layout2.labelDistance;
+          } else {
+            linePoints[2][0] = layout2.x - layout2.labelDistance;
+          }
+          linePoints[1][0] = linePoints[2][0] + dist2;
+        }
+        linePoints[1][1] = linePoints[2][1] = layout2.y;
+      }
+    }
+  }
+  function isPositionCenter2(layout2) {
+    return layout2.position === "center";
+  }
+  function _default68(seriesModel, r2, viewWidth, viewHeight, viewLeft, viewTop) {
+    var data2 = seriesModel.getData();
+    var labelLayoutList = [];
+    var cx;
+    var cy;
+    var hasLabelRotate = false;
+    var minShowLabelRadian = (seriesModel.get("minShowLabelAngle") || 0) * RADIAN2;
+    data2.each(function(idx) {
+      var layout2 = data2.getItemLayout(idx);
+      var itemModel = data2.getItemModel(idx);
+      var labelModel = itemModel.getModel("label");
+      var labelPosition = labelModel.get("position") || itemModel.get("emphasis.label.position");
+      var labelDistance = labelModel.get("distanceToLabelLine");
+      var labelAlignTo = labelModel.get("alignTo");
+      var labelMargin = parsePercent2(labelModel.get("margin"), viewWidth);
+      var bleedMargin = labelModel.get("bleedMargin");
+      var font = labelModel.getFont();
+      var labelLineModel = itemModel.getModel("labelLine");
+      var labelLineLen = labelLineModel.get("length");
+      labelLineLen = parsePercent2(labelLineLen, viewWidth);
+      var labelLineLen2 = labelLineModel.get("length2");
+      labelLineLen2 = parsePercent2(labelLineLen2, viewWidth);
+      if (layout2.angle < minShowLabelRadian) {
+        return;
+      }
+      var midAngle = (layout2.startAngle + layout2.endAngle) / 2;
+      var dx = Math.cos(midAngle);
+      var dy = Math.sin(midAngle);
+      var textX;
+      var textY;
+      var linePoints;
+      var textAlign;
+      cx = layout2.cx;
+      cy = layout2.cy;
+      var text2 = seriesModel.getFormattedLabel(idx, "normal") || data2.getName(idx);
+      var textRect = textContain2.getBoundingRect(text2, font, textAlign, "top");
+      var isLabelInside = labelPosition === "inside" || labelPosition === "inner";
+      if (labelPosition === "center") {
+        textX = layout2.cx;
+        textY = layout2.cy;
+        textAlign = "center";
+      } else {
+        var x1 = (isLabelInside ? (layout2.r + layout2.r0) / 2 * dx : layout2.r * dx) + cx;
+        var y1 = (isLabelInside ? (layout2.r + layout2.r0) / 2 * dy : layout2.r * dy) + cy;
+        textX = x1 + dx * 3;
+        textY = y1 + dy * 3;
+        if (!isLabelInside) {
+          var x2 = x1 + dx * (labelLineLen + r2 - layout2.r);
+          var y2 = y1 + dy * (labelLineLen + r2 - layout2.r);
+          var x3 = x2 + (dx < 0 ? -1 : 1) * labelLineLen2;
+          var y3 = y2;
+          if (labelAlignTo === "edge") {
+            textX = dx < 0 ? viewLeft + labelMargin : viewLeft + viewWidth - labelMargin;
+          } else {
+            textX = x3 + (dx < 0 ? -labelDistance : labelDistance);
+          }
+          textY = y3;
+          linePoints = [[x1, y1], [x2, y2], [x3, y3]];
+        }
+        textAlign = isLabelInside ? "center" : labelAlignTo === "edge" ? dx > 0 ? "right" : "left" : dx > 0 ? "left" : "right";
+      }
+      var labelRotate;
+      var rotate2 = labelModel.get("rotate");
+      if (typeof rotate2 === "number") {
+        labelRotate = rotate2 * (Math.PI / 180);
+      } else {
+        labelRotate = rotate2 ? dx < 0 ? -midAngle + Math.PI : -midAngle : 0;
+      }
+      hasLabelRotate = !!labelRotate;
+      layout2.label = {
+        x: textX,
+        y: textY,
+        position: labelPosition,
+        height: textRect.height,
+        len: labelLineLen,
+        len2: labelLineLen2,
+        linePoints,
+        textAlign,
+        verticalAlign: "middle",
+        rotation: labelRotate,
+        inside: isLabelInside,
+        labelDistance,
+        labelAlignTo,
+        labelMargin,
+        bleedMargin,
+        textRect,
+        text: text2,
+        font
+      };
+      if (!isLabelInside) {
+        labelLayoutList.push(layout2.label);
+      }
+    });
+    if (!hasLabelRotate && seriesModel.get("avoidLabelOverlap")) {
+      avoidOverlap2(labelLayoutList, cx, cy, r2, viewWidth, viewHeight, viewLeft, viewTop);
+    }
+  }
+  labelLayout$1 = _default68;
+  return labelLayout$1;
+}
+var pieLayout$1;
+var hasRequiredPieLayout;
+function requirePieLayout() {
+  if (hasRequiredPieLayout)
+    return pieLayout$1;
+  hasRequiredPieLayout = 1;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var linearMap2 = _number2.linearMap;
+  var layout2 = layout$5;
+  var labelLayout2 = requireLabelLayout();
+  var zrUtil2 = util$a;
+  var PI22 = Math.PI * 2;
+  var RADIAN2 = Math.PI / 180;
+  function getViewRect2(seriesModel, api2) {
+    return layout2.getLayoutRect(seriesModel.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  }
+  function _default68(seriesType2, ecModel, api2, payload) {
+    ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var valueDim = data2.mapDimension("value");
+      var viewRect2 = getViewRect2(seriesModel, api2);
+      var center2 = seriesModel.get("center");
+      var radius = seriesModel.get("radius");
+      if (!zrUtil2.isArray(radius)) {
+        radius = [0, radius];
+      }
+      if (!zrUtil2.isArray(center2)) {
+        center2 = [center2, center2];
+      }
+      var width = parsePercent2(viewRect2.width, api2.getWidth());
+      var height = parsePercent2(viewRect2.height, api2.getHeight());
+      var size = Math.min(width, height);
+      var cx = parsePercent2(center2[0], width) + viewRect2.x;
+      var cy = parsePercent2(center2[1], height) + viewRect2.y;
+      var r0 = parsePercent2(radius[0], size / 2);
+      var r2 = parsePercent2(radius[1], size / 2);
+      var startAngle = -seriesModel.get("startAngle") * RADIAN2;
+      var minAngle = seriesModel.get("minAngle") * RADIAN2;
+      var validDataCount = 0;
+      data2.each(valueDim, function(value) {
+        !isNaN(value) && validDataCount++;
+      });
+      var sum2 = data2.getSum(valueDim);
+      var unitRadian = Math.PI / (sum2 || validDataCount) * 2;
+      var clockwise = seriesModel.get("clockwise");
+      var roseType = seriesModel.get("roseType");
+      var stillShowZeroSum = seriesModel.get("stillShowZeroSum");
+      var extent3 = data2.getDataExtent(valueDim);
+      extent3[0] = 0;
+      var restAngle = PI22;
+      var valueSumLargerThanMinAngle = 0;
+      var currentAngle = startAngle;
+      var dir3 = clockwise ? 1 : -1;
+      data2.each(valueDim, function(value, idx) {
+        var angle2;
+        if (isNaN(value)) {
+          data2.setItemLayout(idx, {
+            angle: NaN,
+            startAngle: NaN,
+            endAngle: NaN,
+            clockwise,
+            cx,
+            cy,
+            r0,
+            r: roseType ? NaN : r2,
+            viewRect: viewRect2
+          });
+          return;
+        }
+        if (roseType !== "area") {
+          angle2 = sum2 === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;
+        } else {
+          angle2 = PI22 / validDataCount;
+        }
+        if (angle2 < minAngle) {
+          angle2 = minAngle;
+          restAngle -= minAngle;
+        } else {
+          valueSumLargerThanMinAngle += value;
+        }
+        var endAngle = currentAngle + dir3 * angle2;
+        data2.setItemLayout(idx, {
+          angle: angle2,
+          startAngle: currentAngle,
+          endAngle,
+          clockwise,
+          cx,
+          cy,
+          r0,
+          r: roseType ? linearMap2(value, extent3, [r0, r2]) : r2,
+          viewRect: viewRect2
+        });
+        currentAngle = endAngle;
+      });
+      if (restAngle < PI22 && validDataCount) {
+        if (restAngle <= 1e-3) {
+          var angle = PI22 / validDataCount;
+          data2.each(valueDim, function(value, idx) {
+            if (!isNaN(value)) {
+              var layout3 = data2.getItemLayout(idx);
+              layout3.angle = angle;
+              layout3.startAngle = startAngle + dir3 * idx * angle;
+              layout3.endAngle = startAngle + dir3 * (idx + 1) * angle;
+            }
+          });
+        } else {
+          unitRadian = restAngle / valueSumLargerThanMinAngle;
+          currentAngle = startAngle;
+          data2.each(valueDim, function(value, idx) {
+            if (!isNaN(value)) {
+              var layout3 = data2.getItemLayout(idx);
+              var angle2 = layout3.angle === minAngle ? minAngle : value * unitRadian;
+              layout3.startAngle = currentAngle;
+              layout3.endAngle = currentAngle + dir3 * angle2;
+              currentAngle += dir3 * angle2;
+            }
+          });
+        }
+      }
+      labelLayout2(seriesModel, r2, viewRect2.width, viewRect2.height, viewRect2.x, viewRect2.y);
+    });
+  }
+  pieLayout$1 = _default68;
+  return pieLayout$1;
+}
+var dataFilter$2;
+var hasRequiredDataFilter;
+function requireDataFilter() {
+  if (hasRequiredDataFilter)
+    return dataFilter$2;
+  hasRequiredDataFilter = 1;
+  function _default68(seriesType2) {
+    return {
+      seriesType: seriesType2,
+      reset: function(seriesModel, ecModel) {
+        var legendModels = ecModel.findComponents({
+          mainType: "legend"
+        });
+        if (!legendModels || !legendModels.length) {
+          return;
+        }
+        var data2 = seriesModel.getData();
+        data2.filterSelf(function(idx) {
+          var name2 = data2.getName(idx);
+          for (var i2 = 0; i2 < legendModels.length; i2++) {
+            if (!legendModels[i2].isSelected(name2)) {
+              return false;
+            }
+          }
+          return true;
+        });
+      }
+    };
+  }
+  dataFilter$2 = _default68;
+  return dataFilter$2;
+}
+var hasRequiredPie;
+function requirePie() {
+  if (hasRequiredPie)
+    return pie;
+  hasRequiredPie = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  requirePieSeries();
+  requirePieView();
+  var createDataSelectAction2 = requireCreateDataSelectAction();
+  var dataColor2 = requireDataColor();
+  var pieLayout2 = requirePieLayout();
+  var dataFilter2 = requireDataFilter();
+  createDataSelectAction2("pie", [{
+    type: "pieToggleSelect",
+    event: "pieselectchanged",
+    method: "toggleSelected"
+  }, {
+    type: "pieSelect",
+    event: "pieselected",
+    method: "select"
+  }, {
+    type: "pieUnSelect",
+    event: "pieunselected",
+    method: "unSelect"
+  }]);
+  echarts2.registerVisual(dataColor2("pie"));
+  echarts2.registerLayout(zrUtil2.curry(pieLayout2, "pie"));
+  echarts2.registerProcessor(dataFilter2("pie"));
+  return pie;
+}
+var scatter = {};
+var ScatterSeries;
+var hasRequiredScatterSeries;
+function requireScatterSeries() {
+  if (hasRequiredScatterSeries)
+    return ScatterSeries;
+  hasRequiredScatterSeries = 1;
+  var createListFromArray = requireCreateListFromArray();
+  var SeriesModel2 = Series;
+  var _default68 = SeriesModel2.extend({
+    type: "series.scatter",
+    dependencies: ["grid", "polar", "geo", "singleAxis", "calendar"],
+    getInitialData: function(option, ecModel) {
+      return createListFromArray(this.getSource(), this, {
+        useEncodeDefaulter: true
+      });
+    },
+    brushSelector: "point",
+    getProgressive: function() {
+      var progressive = this.option.progressive;
+      if (progressive == null) {
+        return this.option.large ? 5e3 : this.get("progressive");
+      }
+      return progressive;
+    },
+    getProgressiveThreshold: function() {
+      var progressiveThreshold = this.option.progressiveThreshold;
+      if (progressiveThreshold == null) {
+        return this.option.large ? 1e4 : this.get("progressiveThreshold");
+      }
+      return progressiveThreshold;
+    },
+    defaultOption: {
+      coordinateSystem: "cartesian2d",
+      zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      hoverAnimation: true,
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Polar coordinate system
+      // polarIndex: 0,
+      // Geo coordinate system
+      // geoIndex: 0,
+      // symbol: null,        // 图形类型
+      symbolSize: 10,
+      // 图形大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2
+      // symbolRotate: null,  // 图形旋转控制
+      large: false,
+      // Available when large is true
+      largeThreshold: 2e3,
+      // cursor: null,
+      // label: {
+      // show: false
+      // distance: 5,
+      // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
+      // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
+      //           'inside'|'left'|'right'|'top'|'bottom'
+      // 默认使用全局文本样式,详见TEXTSTYLE
+      // },
+      itemStyle: {
+        opacity: 0.8
+        // color: 各异
+      },
+      // If clip the overflow graphics
+      // Works on cartesian / polar series
+      clip: true
+      // progressive: null
+    }
+  });
+  ScatterSeries = _default68;
+  return ScatterSeries;
+}
+var ScatterView$2 = {};
+var LargeSymbolDraw_1;
+var hasRequiredLargeSymbolDraw;
+function requireLargeSymbolDraw() {
+  if (hasRequiredLargeSymbolDraw)
+    return LargeSymbolDraw_1;
+  hasRequiredLargeSymbolDraw = 1;
+  var graphic2 = graphic$6;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var IncrementalDisplayable2 = IncrementalDisplayable$3;
+  var BOOST_SIZE_THRESHOLD2 = 4;
+  var LargeSymbolPath2 = graphic2.extendShape({
+    shape: {
+      points: null
+    },
+    symbolProxy: null,
+    softClipShape: null,
+    buildPath: function(path2, shape) {
+      var points2 = shape.points;
+      var size = shape.size;
+      var symbolProxy = this.symbolProxy;
+      var symbolProxyShape = symbolProxy.shape;
+      var ctx = path2.getContext ? path2.getContext() : path2;
+      var canBoost = ctx && size[0] < BOOST_SIZE_THRESHOLD2;
+      if (canBoost) {
+        return;
+      }
+      for (var i2 = 0; i2 < points2.length; ) {
+        var x2 = points2[i2++];
+        var y2 = points2[i2++];
+        if (isNaN(x2) || isNaN(y2)) {
+          continue;
+        }
+        if (this.softClipShape && !this.softClipShape.contain(x2, y2)) {
+          continue;
+        }
+        symbolProxyShape.x = x2 - size[0] / 2;
+        symbolProxyShape.y = y2 - size[1] / 2;
+        symbolProxyShape.width = size[0];
+        symbolProxyShape.height = size[1];
+        symbolProxy.buildPath(path2, symbolProxyShape, true);
+      }
+    },
+    afterBrush: function(ctx) {
+      var shape = this.shape;
+      var points2 = shape.points;
+      var size = shape.size;
+      var canBoost = size[0] < BOOST_SIZE_THRESHOLD2;
+      if (!canBoost) {
+        return;
+      }
+      this.setTransform(ctx);
+      for (var i2 = 0; i2 < points2.length; ) {
+        var x2 = points2[i2++];
+        var y2 = points2[i2++];
+        if (isNaN(x2) || isNaN(y2)) {
+          continue;
+        }
+        if (this.softClipShape && !this.softClipShape.contain(x2, y2)) {
+          continue;
+        }
+        ctx.fillRect(x2 - size[0] / 2, y2 - size[1] / 2, size[0], size[1]);
+      }
+      this.restoreTransform(ctx);
+    },
+    findDataIndex: function(x2, y2) {
+      var shape = this.shape;
+      var points2 = shape.points;
+      var size = shape.size;
+      var w2 = Math.max(size[0], 4);
+      var h3 = Math.max(size[1], 4);
+      for (var idx = points2.length / 2 - 1; idx >= 0; idx--) {
+        var i2 = idx * 2;
+        var x0 = points2[i2] - w2 / 2;
+        var y0 = points2[i2 + 1] - h3 / 2;
+        if (x2 >= x0 && y2 >= y0 && x2 <= x0 + w2 && y2 <= y0 + h3) {
+          return idx;
+        }
+      }
+      return -1;
+    }
+  });
+  function LargeSymbolDraw2() {
+    this.group = new graphic2.Group();
+  }
+  var largeSymbolProto = LargeSymbolDraw2.prototype;
+  largeSymbolProto.isPersistent = function() {
+    return !this._incremental;
+  };
+  largeSymbolProto.updateData = function(data2, opt) {
+    this.group.removeAll();
+    var symbolEl = new LargeSymbolPath2({
+      rectHover: true,
+      cursor: "default"
+    });
+    symbolEl.setShape({
+      points: data2.getLayout("symbolPoints")
+    });
+    this._setCommon(symbolEl, data2, false, opt);
+    this.group.add(symbolEl);
+    this._incremental = null;
+  };
+  largeSymbolProto.updateLayout = function(data2) {
+    if (this._incremental) {
+      return;
+    }
+    var points2 = data2.getLayout("symbolPoints");
+    this.group.eachChild(function(child) {
+      if (child.startIndex != null) {
+        var len2 = (child.endIndex - child.startIndex) * 2;
+        var byteOffset = child.startIndex * 4 * 2;
+        points2 = new Float32Array(points2.buffer, byteOffset, len2);
+      }
+      child.setShape("points", points2);
+    });
+  };
+  largeSymbolProto.incrementalPrepareUpdate = function(data2) {
+    this.group.removeAll();
+    this._clearIncremental();
+    if (data2.count() > 2e6) {
+      if (!this._incremental) {
+        this._incremental = new IncrementalDisplayable2({
+          silent: true
+        });
+      }
+      this.group.add(this._incremental);
+    } else {
+      this._incremental = null;
+    }
+  };
+  largeSymbolProto.incrementalUpdate = function(taskParams, data2, opt) {
+    var symbolEl;
+    if (this._incremental) {
+      symbolEl = new LargeSymbolPath2();
+      this._incremental.addDisplayable(symbolEl, true);
+    } else {
+      symbolEl = new LargeSymbolPath2({
+        rectHover: true,
+        cursor: "default",
+        startIndex: taskParams.start,
+        endIndex: taskParams.end
+      });
+      symbolEl.incremental = true;
+      this.group.add(symbolEl);
+    }
+    symbolEl.setShape({
+      points: data2.getLayout("symbolPoints")
+    });
+    this._setCommon(symbolEl, data2, !!this._incremental, opt);
+  };
+  largeSymbolProto._setCommon = function(symbolEl, data2, isIncremental, opt) {
+    var hostModel = data2.hostModel;
+    opt = opt || {};
+    var size = data2.getVisual("symbolSize");
+    symbolEl.setShape("size", size instanceof Array ? size : [size, size]);
+    symbolEl.softClipShape = opt.clipShape || null;
+    symbolEl.symbolProxy = createSymbol2(data2.getVisual("symbol"), 0, 0, 0, 0);
+    symbolEl.setColor = symbolEl.symbolProxy.setColor;
+    var extrudeShadow = symbolEl.shape.size[0] < BOOST_SIZE_THRESHOLD2;
+    symbolEl.useStyle(
+      // Draw shadow when doing fillRect is extremely slow.
+      hostModel.getModel("itemStyle").getItemStyle(extrudeShadow ? ["color", "shadowBlur", "shadowColor"] : ["color"])
+    );
+    var visualColor = data2.getVisual("color");
+    if (visualColor) {
+      symbolEl.setColor(visualColor);
+    }
+    if (!isIncremental) {
+      symbolEl.seriesIndex = hostModel.seriesIndex;
+      symbolEl.on("mousemove", function(e2) {
+        symbolEl.dataIndex = null;
+        var dataIndex = symbolEl.findDataIndex(e2.offsetX, e2.offsetY);
+        if (dataIndex >= 0) {
+          symbolEl.dataIndex = dataIndex + (symbolEl.startIndex || 0);
+        }
+      });
+    }
+  };
+  largeSymbolProto.remove = function() {
+    this._clearIncremental();
+    this._incremental = null;
+    this.group.removeAll();
+  };
+  largeSymbolProto._clearIncremental = function() {
+    var incremental = this._incremental;
+    if (incremental) {
+      incremental.clearDisplaybles();
+    }
+  };
+  var _default68 = LargeSymbolDraw2;
+  LargeSymbolDraw_1 = _default68;
+  return LargeSymbolDraw_1;
+}
+var hasRequiredScatterView;
+function requireScatterView() {
+  if (hasRequiredScatterView)
+    return ScatterView$2;
+  hasRequiredScatterView = 1;
+  var echarts2 = echarts$1;
+  var SymbolDraw2 = requireSymbolDraw();
+  var LargeSymbolDraw2 = requireLargeSymbolDraw();
+  var pointsLayout2 = requirePoints();
+  echarts2.extendChartView({
+    type: "scatter",
+    render: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var symbolDraw = this._updateSymbolDraw(data2, seriesModel);
+      symbolDraw.updateData(data2, {
+        // TODO
+        // If this parameter should be a shape or a bounding volume
+        // shape will be more general.
+        // But bounding volume like bounding rect will be much faster in the contain calculation
+        clipShape: this._getClipShape(seriesModel)
+      });
+      this._finished = true;
+    },
+    incrementalPrepareRender: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var symbolDraw = this._updateSymbolDraw(data2, seriesModel);
+      symbolDraw.incrementalPrepareUpdate(data2);
+      this._finished = false;
+    },
+    incrementalRender: function(taskParams, seriesModel, ecModel) {
+      this._symbolDraw.incrementalUpdate(taskParams, seriesModel.getData(), {
+        clipShape: this._getClipShape(seriesModel)
+      });
+      this._finished = taskParams.end === seriesModel.getData().count();
+    },
+    updateTransform: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      this.group.dirty();
+      if (!this._finished || data2.count() > 1e4 || !this._symbolDraw.isPersistent()) {
+        return {
+          update: true
+        };
+      } else {
+        var res = pointsLayout2().reset(seriesModel);
+        if (res.progress) {
+          res.progress({
+            start: 0,
+            end: data2.count()
+          }, data2);
+        }
+        this._symbolDraw.updateLayout(data2);
+      }
+    },
+    _getClipShape: function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var clipArea = coordSys && coordSys.getArea && coordSys.getArea();
+      return seriesModel.get("clip", true) ? clipArea : null;
+    },
+    _updateSymbolDraw: function(data2, seriesModel) {
+      var symbolDraw = this._symbolDraw;
+      var pipelineContext = seriesModel.pipelineContext;
+      var isLargeDraw = pipelineContext.large;
+      if (!symbolDraw || isLargeDraw !== this._isLargeDraw) {
+        symbolDraw && symbolDraw.remove();
+        symbolDraw = this._symbolDraw = isLargeDraw ? new LargeSymbolDraw2() : new SymbolDraw2();
+        this._isLargeDraw = isLargeDraw;
+        this.group.removeAll();
+      }
+      this.group.add(symbolDraw.group);
+      return symbolDraw;
+    },
+    remove: function(ecModel, api2) {
+      this._symbolDraw && this._symbolDraw.remove(true);
+      this._symbolDraw = null;
+    },
+    dispose: function() {
+    }
+  });
+  return ScatterView$2;
+}
+var hasRequiredScatter;
+function requireScatter() {
+  if (hasRequiredScatter)
+    return scatter;
+  hasRequiredScatter = 1;
+  var echarts2 = echarts$1;
+  requireScatterSeries();
+  requireScatterView();
+  var visualSymbol = requireSymbol();
+  var layoutPoints = requirePoints();
+  requireGridSimple();
+  echarts2.registerVisual(visualSymbol("scatter", "circle"));
+  echarts2.registerLayout(layoutPoints("scatter"));
+  return scatter;
+}
+var radar$1 = {};
+var radar = {};
+var IndicatorAxis_1;
+var hasRequiredIndicatorAxis;
+function requireIndicatorAxis() {
+  if (hasRequiredIndicatorAxis)
+    return IndicatorAxis_1;
+  hasRequiredIndicatorAxis = 1;
+  var zrUtil2 = util$a;
+  var Axis2 = requireAxis$1();
+  function IndicatorAxis2(dim, scale2, radiusExtent) {
+    Axis2.call(this, dim, scale2, radiusExtent);
+    this.type = "value";
+    this.angle = 0;
+    this.name = "";
+    this.model;
+  }
+  zrUtil2.inherits(IndicatorAxis2, Axis2);
+  var _default68 = IndicatorAxis2;
+  IndicatorAxis_1 = _default68;
+  return IndicatorAxis_1;
+}
+var Radar_1;
+var hasRequiredRadar$2;
+function requireRadar$2() {
+  if (hasRequiredRadar$2)
+    return Radar_1;
+  hasRequiredRadar$2 = 1;
+  var zrUtil2 = util$a;
+  var IndicatorAxis2 = requireIndicatorAxis();
+  var IntervalScale2 = requireInterval();
+  var numberUtil2 = requireNumber();
+  var _axisHelper = requireAxisHelper();
+  var getScaleExtent2 = _axisHelper.getScaleExtent;
+  var niceScaleExtent2 = _axisHelper.niceScaleExtent;
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var LogScale2 = requireLog();
+  function Radar2(radarModel, ecModel, api2) {
+    this._model = radarModel;
+    this.dimensions = [];
+    this._indicatorAxes = zrUtil2.map(radarModel.getIndicatorModels(), function(indicatorModel, idx) {
+      var dim = "indicator_" + idx;
+      var indicatorAxis = new IndicatorAxis2(dim, indicatorModel.get("axisType") === "log" ? new LogScale2() : new IntervalScale2());
+      indicatorAxis.name = indicatorModel.get("name");
+      indicatorAxis.model = indicatorModel;
+      indicatorModel.axis = indicatorAxis;
+      this.dimensions.push(dim);
+      return indicatorAxis;
+    }, this);
+    this.resize(radarModel, api2);
+    this.cx;
+    this.cy;
+    this.r;
+    this.r0;
+    this.startAngle;
+  }
+  Radar2.prototype.getIndicatorAxes = function() {
+    return this._indicatorAxes;
+  };
+  Radar2.prototype.dataToPoint = function(value, indicatorIndex) {
+    var indicatorAxis = this._indicatorAxes[indicatorIndex];
+    return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);
+  };
+  Radar2.prototype.coordToPoint = function(coord, indicatorIndex) {
+    var indicatorAxis = this._indicatorAxes[indicatorIndex];
+    var angle = indicatorAxis.angle;
+    var x2 = this.cx + coord * Math.cos(angle);
+    var y2 = this.cy - coord * Math.sin(angle);
+    return [x2, y2];
+  };
+  Radar2.prototype.pointToData = function(pt) {
+    var dx = pt[0] - this.cx;
+    var dy = pt[1] - this.cy;
+    var radius = Math.sqrt(dx * dx + dy * dy);
+    dx /= radius;
+    dy /= radius;
+    var radian = Math.atan2(-dy, dx);
+    var minRadianDiff = Infinity;
+    var closestAxis;
+    var closestAxisIdx = -1;
+    for (var i2 = 0; i2 < this._indicatorAxes.length; i2++) {
+      var indicatorAxis = this._indicatorAxes[i2];
+      var diff = Math.abs(radian - indicatorAxis.angle);
+      if (diff < minRadianDiff) {
+        closestAxis = indicatorAxis;
+        closestAxisIdx = i2;
+        minRadianDiff = diff;
+      }
+    }
+    return [closestAxisIdx, +(closestAxis && closestAxis.coordToData(radius))];
+  };
+  Radar2.prototype.resize = function(radarModel, api2) {
+    var center2 = radarModel.get("center");
+    var viewWidth = api2.getWidth();
+    var viewHeight = api2.getHeight();
+    var viewSize = Math.min(viewWidth, viewHeight) / 2;
+    this.cx = numberUtil2.parsePercent(center2[0], viewWidth);
+    this.cy = numberUtil2.parsePercent(center2[1], viewHeight);
+    this.startAngle = radarModel.get("startAngle") * Math.PI / 180;
+    var radius = radarModel.get("radius");
+    if (typeof radius === "string" || typeof radius === "number") {
+      radius = [0, radius];
+    }
+    this.r0 = numberUtil2.parsePercent(radius[0], viewSize);
+    this.r = numberUtil2.parsePercent(radius[1], viewSize);
+    zrUtil2.each(this._indicatorAxes, function(indicatorAxis, idx) {
+      indicatorAxis.setExtent(this.r0, this.r);
+      var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length;
+      angle = Math.atan2(Math.sin(angle), Math.cos(angle));
+      indicatorAxis.angle = angle;
+    }, this);
+  };
+  Radar2.prototype.update = function(ecModel, api2) {
+    var indicatorAxes = this._indicatorAxes;
+    var radarModel = this._model;
+    zrUtil2.each(indicatorAxes, function(indicatorAxis) {
+      indicatorAxis.scale.setExtent(Infinity, -Infinity);
+    });
+    ecModel.eachSeriesByType("radar", function(radarSeries, idx) {
+      if (radarSeries.get("coordinateSystem") !== "radar" || ecModel.getComponent("radar", radarSeries.get("radarIndex")) !== radarModel) {
+        return;
+      }
+      var data2 = radarSeries.getData();
+      zrUtil2.each(indicatorAxes, function(indicatorAxis) {
+        indicatorAxis.scale.unionExtentFromData(data2, data2.mapDimension(indicatorAxis.dim));
+      });
+    }, this);
+    var splitNumber = radarModel.get("splitNumber");
+    function increaseInterval2(interval) {
+      var exp10 = Math.pow(10, Math.floor(Math.log(interval) / Math.LN10));
+      var f2 = interval / exp10;
+      if (f2 === 2) {
+        f2 = 5;
+      } else {
+        f2 *= 2;
+      }
+      return f2 * exp10;
+    }
+    zrUtil2.each(indicatorAxes, function(indicatorAxis, idx) {
+      var rawExtent = getScaleExtent2(indicatorAxis.scale, indicatorAxis.model).extent;
+      niceScaleExtent2(indicatorAxis.scale, indicatorAxis.model);
+      var axisModel = indicatorAxis.model;
+      var scale2 = indicatorAxis.scale;
+      var fixedMin = axisModel.getMin();
+      var fixedMax = axisModel.getMax();
+      var interval = scale2.getInterval();
+      if (fixedMin != null && fixedMax != null) {
+        scale2.setExtent(+fixedMin, +fixedMax);
+        scale2.setInterval((fixedMax - fixedMin) / splitNumber);
+      } else if (fixedMin != null) {
+        var max3;
+        do {
+          max3 = fixedMin + interval * splitNumber;
+          scale2.setExtent(+fixedMin, max3);
+          scale2.setInterval(interval);
+          interval = increaseInterval2(interval);
+        } while (max3 < rawExtent[1] && isFinite(max3) && isFinite(rawExtent[1]));
+      } else if (fixedMax != null) {
+        var min3;
+        do {
+          min3 = fixedMax - interval * splitNumber;
+          scale2.setExtent(min3, +fixedMax);
+          scale2.setInterval(interval);
+          interval = increaseInterval2(interval);
+        } while (min3 > rawExtent[0] && isFinite(min3) && isFinite(rawExtent[0]));
+      } else {
+        var nicedSplitNumber = scale2.getTicks().length - 1;
+        if (nicedSplitNumber > splitNumber) {
+          interval = increaseInterval2(interval);
+        }
+        var max3 = Math.ceil(rawExtent[1] / interval) * interval;
+        var min3 = numberUtil2.round(max3 - interval * splitNumber);
+        scale2.setExtent(min3, max3);
+        scale2.setInterval(interval);
+      }
+    });
+  };
+  Radar2.dimensions = [];
+  Radar2.create = function(ecModel, api2) {
+    var radarList = [];
+    ecModel.eachComponent("radar", function(radarModel) {
+      var radar2 = new Radar2(radarModel, ecModel, api2);
+      radarList.push(radar2);
+      radarModel.coordinateSystem = radar2;
+    });
+    ecModel.eachSeriesByType("radar", function(radarSeries) {
+      if (radarSeries.get("coordinateSystem") === "radar") {
+        radarSeries.coordinateSystem = radarList[radarSeries.get("radarIndex") || 0];
+      }
+    });
+    return radarList;
+  };
+  CoordinateSystem2.register("radar", Radar2);
+  var _default68 = Radar2;
+  Radar_1 = _default68;
+  return Radar_1;
+}
+var RadarModel_1;
+var hasRequiredRadarModel;
+function requireRadarModel() {
+  if (hasRequiredRadarModel)
+    return RadarModel_1;
+  hasRequiredRadarModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var axisDefault2 = requireAxisDefault();
+  var Model2 = Model_1;
+  var axisModelCommonMixin2 = requireAxisModelCommonMixin();
+  var valueAxisDefault2 = axisDefault2.valueAxis;
+  function defaultsShow2(opt, show2) {
+    return zrUtil2.defaults({
+      show: show2
+    }, opt);
+  }
+  var RadarModel2 = echarts2.extendComponentModel({
+    type: "radar",
+    optionUpdated: function() {
+      var boundaryGap = this.get("boundaryGap");
+      var splitNumber = this.get("splitNumber");
+      var scale2 = this.get("scale");
+      var axisLine = this.get("axisLine");
+      var axisTick = this.get("axisTick");
+      var axisType = this.get("axisType");
+      var axisLabel = this.get("axisLabel");
+      var nameTextStyle = this.get("name");
+      var showName = this.get("name.show");
+      var nameFormatter = this.get("name.formatter");
+      var nameGap = this.get("nameGap");
+      var triggerEvent = this.get("triggerEvent");
+      var indicatorModels = zrUtil2.map(this.get("indicator") || [], function(indicatorOpt) {
+        if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {
+          indicatorOpt.min = 0;
+        } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {
+          indicatorOpt.max = 0;
+        }
+        var iNameTextStyle = nameTextStyle;
+        if (indicatorOpt.color != null) {
+          iNameTextStyle = zrUtil2.defaults({
+            color: indicatorOpt.color
+          }, nameTextStyle);
+        }
+        indicatorOpt = zrUtil2.merge(zrUtil2.clone(indicatorOpt), {
+          boundaryGap,
+          splitNumber,
+          scale: scale2,
+          axisLine,
+          axisTick,
+          axisType,
+          axisLabel,
+          // Compatible with 2 and use text
+          name: indicatorOpt.text,
+          nameLocation: "end",
+          nameGap,
+          // min: 0,
+          nameTextStyle: iNameTextStyle,
+          triggerEvent
+        }, false);
+        if (!showName) {
+          indicatorOpt.name = "";
+        }
+        if (typeof nameFormatter === "string") {
+          var indName = indicatorOpt.name;
+          indicatorOpt.name = nameFormatter.replace("{value}", indName != null ? indName : "");
+        } else if (typeof nameFormatter === "function") {
+          indicatorOpt.name = nameFormatter(indicatorOpt.name, indicatorOpt);
+        }
+        var model2 = zrUtil2.extend(new Model2(indicatorOpt, null, this.ecModel), axisModelCommonMixin2);
+        model2.mainType = "radar";
+        model2.componentIndex = this.componentIndex;
+        return model2;
+      }, this);
+      this.getIndicatorModels = function() {
+        return indicatorModels;
+      };
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 0,
+      center: ["50%", "50%"],
+      radius: "75%",
+      startAngle: 90,
+      name: {
+        show: true
+        // formatter: null
+        // textStyle: {}
+      },
+      boundaryGap: [0, 0],
+      splitNumber: 5,
+      nameGap: 15,
+      scale: false,
+      // Polygon or circle
+      shape: "polygon",
+      axisLine: zrUtil2.merge({
+        lineStyle: {
+          color: "#bbb"
+        }
+      }, valueAxisDefault2.axisLine),
+      axisLabel: defaultsShow2(valueAxisDefault2.axisLabel, false),
+      axisTick: defaultsShow2(valueAxisDefault2.axisTick, false),
+      axisType: "interval",
+      splitLine: defaultsShow2(valueAxisDefault2.splitLine, true),
+      splitArea: defaultsShow2(valueAxisDefault2.splitArea, true),
+      // {text, min, max}
+      indicator: []
+    }
+  });
+  var _default68 = RadarModel2;
+  RadarModel_1 = _default68;
+  return RadarModel_1;
+}
+var RadarView$5;
+var hasRequiredRadarView$1;
+function requireRadarView$1() {
+  if (hasRequiredRadarView$1)
+    return RadarView$5;
+  hasRequiredRadarView$1 = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var AxisBuilder2 = requireAxisBuilder();
+  var graphic2 = graphic$6;
+  var axisBuilderAttrs2 = ["axisLine", "axisTickLabel", "axisName"];
+  var _default68 = echarts2.extendComponentView({
+    type: "radar",
+    render: function(radarModel, ecModel, api2) {
+      var group = this.group;
+      group.removeAll();
+      this._buildAxes(radarModel);
+      this._buildSplitLineAndArea(radarModel);
+    },
+    _buildAxes: function(radarModel) {
+      var radar2 = radarModel.coordinateSystem;
+      var indicatorAxes = radar2.getIndicatorAxes();
+      var axisBuilders = zrUtil2.map(indicatorAxes, function(indicatorAxis) {
+        var axisBuilder = new AxisBuilder2(indicatorAxis.model, {
+          position: [radar2.cx, radar2.cy],
+          rotation: indicatorAxis.angle,
+          labelDirection: -1,
+          tickDirection: -1,
+          nameDirection: 1
+        });
+        return axisBuilder;
+      });
+      zrUtil2.each(axisBuilders, function(axisBuilder) {
+        zrUtil2.each(axisBuilderAttrs2, axisBuilder.add, axisBuilder);
+        this.group.add(axisBuilder.getGroup());
+      }, this);
+    },
+    _buildSplitLineAndArea: function(radarModel) {
+      var radar2 = radarModel.coordinateSystem;
+      var indicatorAxes = radar2.getIndicatorAxes();
+      if (!indicatorAxes.length) {
+        return;
+      }
+      var shape = radarModel.get("shape");
+      var splitLineModel = radarModel.getModel("splitLine");
+      var splitAreaModel = radarModel.getModel("splitArea");
+      var lineStyleModel = splitLineModel.getModel("lineStyle");
+      var areaStyleModel = splitAreaModel.getModel("areaStyle");
+      var showSplitLine = splitLineModel.get("show");
+      var showSplitArea = splitAreaModel.get("show");
+      var splitLineColors = lineStyleModel.get("color");
+      var splitAreaColors = areaStyleModel.get("color");
+      splitLineColors = zrUtil2.isArray(splitLineColors) ? splitLineColors : [splitLineColors];
+      splitAreaColors = zrUtil2.isArray(splitAreaColors) ? splitAreaColors : [splitAreaColors];
+      var splitLines = [];
+      var splitAreas = [];
+      function getColorIndex(areaOrLine, areaOrLineColorList, idx) {
+        var colorIndex2 = idx % areaOrLineColorList.length;
+        areaOrLine[colorIndex2] = areaOrLine[colorIndex2] || [];
+        return colorIndex2;
+      }
+      if (shape === "circle") {
+        var ticksRadius = indicatorAxes[0].getTicksCoords();
+        var cx = radar2.cx;
+        var cy = radar2.cy;
+        for (var i2 = 0; i2 < ticksRadius.length; i2++) {
+          if (showSplitLine) {
+            var colorIndex = getColorIndex(splitLines, splitLineColors, i2);
+            splitLines[colorIndex].push(new graphic2.Circle({
+              shape: {
+                cx,
+                cy,
+                r: ticksRadius[i2].coord
+              }
+            }));
+          }
+          if (showSplitArea && i2 < ticksRadius.length - 1) {
+            var colorIndex = getColorIndex(splitAreas, splitAreaColors, i2);
+            splitAreas[colorIndex].push(new graphic2.Ring({
+              shape: {
+                cx,
+                cy,
+                r0: ticksRadius[i2].coord,
+                r: ticksRadius[i2 + 1].coord
+              }
+            }));
+          }
+        }
+      } else {
+        var realSplitNumber;
+        var axesTicksPoints = zrUtil2.map(indicatorAxes, function(indicatorAxis, idx) {
+          var ticksCoords = indicatorAxis.getTicksCoords();
+          realSplitNumber = realSplitNumber == null ? ticksCoords.length - 1 : Math.min(ticksCoords.length - 1, realSplitNumber);
+          return zrUtil2.map(ticksCoords, function(tickCoord) {
+            return radar2.coordToPoint(tickCoord.coord, idx);
+          });
+        });
+        var prevPoints = [];
+        for (var i2 = 0; i2 <= realSplitNumber; i2++) {
+          var points2 = [];
+          for (var j2 = 0; j2 < indicatorAxes.length; j2++) {
+            points2.push(axesTicksPoints[j2][i2]);
+          }
+          if (points2[0]) {
+            points2.push(points2[0].slice());
+          }
+          if (showSplitLine) {
+            var colorIndex = getColorIndex(splitLines, splitLineColors, i2);
+            splitLines[colorIndex].push(new graphic2.Polyline({
+              shape: {
+                points: points2
+              }
+            }));
+          }
+          if (showSplitArea && prevPoints) {
+            var colorIndex = getColorIndex(splitAreas, splitAreaColors, i2 - 1);
+            splitAreas[colorIndex].push(new graphic2.Polygon({
+              shape: {
+                points: points2.concat(prevPoints)
+              }
+            }));
+          }
+          prevPoints = points2.slice().reverse();
+        }
+      }
+      var lineStyle2 = lineStyleModel.getLineStyle();
+      var areaStyle2 = areaStyleModel.getAreaStyle();
+      zrUtil2.each(splitAreas, function(splitAreas2, idx) {
+        this.group.add(graphic2.mergePath(splitAreas2, {
+          style: zrUtil2.defaults({
+            stroke: "none",
+            fill: splitAreaColors[idx % splitAreaColors.length]
+          }, areaStyle2),
+          silent: true
+        }));
+      }, this);
+      zrUtil2.each(splitLines, function(splitLines2, idx) {
+        this.group.add(graphic2.mergePath(splitLines2, {
+          style: zrUtil2.defaults({
+            fill: "none",
+            stroke: splitLineColors[idx % splitLineColors.length]
+          }, lineStyle2),
+          silent: true
+        }));
+      }, this);
+    }
+  });
+  RadarView$5 = _default68;
+  return RadarView$5;
+}
+var hasRequiredRadar$1;
+function requireRadar$1() {
+  if (hasRequiredRadar$1)
+    return radar;
+  hasRequiredRadar$1 = 1;
+  requireRadar$2();
+  requireRadarModel();
+  requireRadarView$1();
+  return radar;
+}
+var RadarSeries_1;
+var hasRequiredRadarSeries;
+function requireRadarSeries() {
+  if (hasRequiredRadarSeries)
+    return RadarSeries_1;
+  hasRequiredRadarSeries = 1;
+  var SeriesModel2 = Series;
+  var createListSimply2 = requireCreateListSimply();
+  var zrUtil2 = util$a;
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var LegendVisualProvider2 = requireLegendVisualProvider();
+  var RadarSeries = SeriesModel2.extend({
+    type: "series.radar",
+    dependencies: ["radar"],
+    // Overwrite
+    init: function(option) {
+      RadarSeries.superApply(this, "init", arguments);
+      this.legendVisualProvider = new LegendVisualProvider2(zrUtil2.bind(this.getData, this), zrUtil2.bind(this.getRawData, this));
+    },
+    getInitialData: function(option, ecModel) {
+      return createListSimply2(this, {
+        generateCoord: "indicator_",
+        generateCoordCount: Infinity
+      });
+    },
+    formatTooltip: function(dataIndex, multipleSeries, dataType, renderMode) {
+      var data2 = this.getData();
+      var coordSys = this.coordinateSystem;
+      var indicatorAxes = coordSys.getIndicatorAxes();
+      var name2 = this.getData().getName(dataIndex);
+      var newLine = renderMode === "html" ? "<br/>" : "\n";
+      return encodeHTML2(name2 === "" ? this.name : name2) + newLine + zrUtil2.map(indicatorAxes, function(axis2, idx) {
+        var val = data2.get(data2.mapDimension(axis2.dim), dataIndex);
+        return encodeHTML2(axis2.name + " : " + val);
+      }).join(newLine);
+    },
+    /**
+     * @implement
+     */
+    getTooltipPosition: function(dataIndex) {
+      if (dataIndex != null) {
+        var data2 = this.getData();
+        var coordSys = this.coordinateSystem;
+        var values = data2.getValues(zrUtil2.map(coordSys.dimensions, function(dim) {
+          return data2.mapDimension(dim);
+        }), dataIndex, true);
+        for (var i2 = 0, len2 = values.length; i2 < len2; i2++) {
+          if (!isNaN(values[i2])) {
+            var indicatorAxes = coordSys.getIndicatorAxes();
+            return coordSys.coordToPoint(indicatorAxes[i2].dataToCoord(values[i2]), i2);
+          }
+        }
+      }
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "radar",
+      legendHoverLink: true,
+      radarIndex: 0,
+      lineStyle: {
+        width: 2,
+        type: "solid"
+      },
+      label: {
+        position: "top"
+      },
+      // areaStyle: {
+      // },
+      // itemStyle: {}
+      symbol: "emptyCircle",
+      symbolSize: 4
+      // symbolRotate: null
+    }
+  });
+  var _default68 = RadarSeries;
+  RadarSeries_1 = _default68;
+  return RadarSeries_1;
+}
+var RadarView$4;
+var hasRequiredRadarView;
+function requireRadarView() {
+  if (hasRequiredRadarView)
+    return RadarView$4;
+  hasRequiredRadarView = 1;
+  var echarts2 = echarts$1;
+  var graphic2 = graphic$6;
+  var zrUtil2 = util$a;
+  var symbolUtil = requireSymbol$1();
+  function normalizeSymbolSize2(symbolSize) {
+    if (!zrUtil2.isArray(symbolSize)) {
+      symbolSize = [+symbolSize, +symbolSize];
+    }
+    return symbolSize;
+  }
+  var _default68 = echarts2.extendChartView({
+    type: "radar",
+    render: function(seriesModel, ecModel, api2) {
+      var polar2 = seriesModel.coordinateSystem;
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      function createSymbol2(data3, idx) {
+        var symbolType = data3.getItemVisual(idx, "symbol") || "circle";
+        var color2 = data3.getItemVisual(idx, "color");
+        if (symbolType === "none") {
+          return;
+        }
+        var symbolSize = normalizeSymbolSize2(data3.getItemVisual(idx, "symbolSize"));
+        var symbolPath = symbolUtil.createSymbol(symbolType, -1, -1, 2, 2, color2);
+        var symbolRotate = data3.getItemVisual(idx, "symbolRotate") || 0;
+        symbolPath.attr({
+          style: {
+            strokeNoScale: true
+          },
+          z2: 100,
+          scale: [symbolSize[0] / 2, symbolSize[1] / 2],
+          rotation: symbolRotate * Math.PI / 180 || 0
+        });
+        return symbolPath;
+      }
+      function updateSymbols(oldPoints, newPoints, symbolGroup, data3, idx, isInit) {
+        symbolGroup.removeAll();
+        for (var i2 = 0; i2 < newPoints.length - 1; i2++) {
+          var symbolPath = createSymbol2(data3, idx);
+          if (symbolPath) {
+            symbolPath.__dimIdx = i2;
+            if (oldPoints[i2]) {
+              symbolPath.attr("position", oldPoints[i2]);
+              graphic2[isInit ? "initProps" : "updateProps"](symbolPath, {
+                position: newPoints[i2]
+              }, seriesModel, idx);
+            } else {
+              symbolPath.attr("position", newPoints[i2]);
+            }
+            symbolGroup.add(symbolPath);
+          }
+        }
+      }
+      function getInitialPoints(points2) {
+        return zrUtil2.map(points2, function(pt) {
+          return [polar2.cx, polar2.cy];
+        });
+      }
+      data2.diff(oldData).add(function(idx) {
+        var points2 = data2.getItemLayout(idx);
+        if (!points2) {
+          return;
+        }
+        var polygon2 = new graphic2.Polygon();
+        var polyline = new graphic2.Polyline();
+        var target = {
+          shape: {
+            points: points2
+          }
+        };
+        polygon2.shape.points = getInitialPoints(points2);
+        polyline.shape.points = getInitialPoints(points2);
+        graphic2.initProps(polygon2, target, seriesModel, idx);
+        graphic2.initProps(polyline, target, seriesModel, idx);
+        var itemGroup = new graphic2.Group();
+        var symbolGroup = new graphic2.Group();
+        itemGroup.add(polyline);
+        itemGroup.add(polygon2);
+        itemGroup.add(symbolGroup);
+        updateSymbols(polyline.shape.points, points2, symbolGroup, data2, idx, true);
+        data2.setItemGraphicEl(idx, itemGroup);
+      }).update(function(newIdx, oldIdx) {
+        var itemGroup = oldData.getItemGraphicEl(oldIdx);
+        var polyline = itemGroup.childAt(0);
+        var polygon2 = itemGroup.childAt(1);
+        var symbolGroup = itemGroup.childAt(2);
+        var target = {
+          shape: {
+            points: data2.getItemLayout(newIdx)
+          }
+        };
+        if (!target.shape.points) {
+          return;
+        }
+        updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data2, newIdx, false);
+        graphic2.updateProps(polyline, target, seriesModel);
+        graphic2.updateProps(polygon2, target, seriesModel);
+        data2.setItemGraphicEl(newIdx, itemGroup);
+      }).remove(function(idx) {
+        group.remove(oldData.getItemGraphicEl(idx));
+      }).execute();
+      data2.eachItemGraphicEl(function(itemGroup, idx) {
+        var itemModel = data2.getItemModel(idx);
+        var polyline = itemGroup.childAt(0);
+        var polygon2 = itemGroup.childAt(1);
+        var symbolGroup = itemGroup.childAt(2);
+        var color2 = data2.getItemVisual(idx, "color");
+        group.add(itemGroup);
+        polyline.useStyle(zrUtil2.defaults(itemModel.getModel("lineStyle").getLineStyle(), {
+          fill: "none",
+          stroke: color2
+        }));
+        polyline.hoverStyle = itemModel.getModel("emphasis.lineStyle").getLineStyle();
+        var areaStyleModel = itemModel.getModel("areaStyle");
+        var hoverAreaStyleModel = itemModel.getModel("emphasis.areaStyle");
+        var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();
+        var hoverPolygonIgnore = hoverAreaStyleModel.isEmpty() && hoverAreaStyleModel.parentModel.isEmpty();
+        hoverPolygonIgnore = hoverPolygonIgnore && polygonIgnore;
+        polygon2.ignore = polygonIgnore;
+        polygon2.useStyle(zrUtil2.defaults(areaStyleModel.getAreaStyle(), {
+          fill: color2,
+          opacity: 0.7
+        }));
+        polygon2.hoverStyle = hoverAreaStyleModel.getAreaStyle();
+        var itemStyle2 = itemModel.getModel("itemStyle").getItemStyle(["color"]);
+        var itemHoverStyle = itemModel.getModel("emphasis.itemStyle").getItemStyle();
+        var labelModel = itemModel.getModel("label");
+        var labelHoverModel = itemModel.getModel("emphasis.label");
+        symbolGroup.eachChild(function(symbolPath) {
+          symbolPath.setStyle(itemStyle2);
+          symbolPath.hoverStyle = zrUtil2.clone(itemHoverStyle);
+          var defaultText = data2.get(data2.dimensions[symbolPath.__dimIdx], idx);
+          (defaultText == null || isNaN(defaultText)) && (defaultText = "");
+          graphic2.setLabelStyle(symbolPath.style, symbolPath.hoverStyle, labelModel, labelHoverModel, {
+            labelFetcher: data2.hostModel,
+            labelDataIndex: idx,
+            labelDimIndex: symbolPath.__dimIdx,
+            defaultText,
+            autoColor: color2,
+            isRectText: true
+          });
+        });
+        itemGroup.highDownOnUpdate = function(fromState, toState) {
+          polygon2.attr("ignore", toState === "emphasis" ? hoverPolygonIgnore : polygonIgnore);
+        };
+        graphic2.setHoverStyle(itemGroup);
+      });
+      this._data = data2;
+    },
+    remove: function() {
+      this.group.removeAll();
+      this._data = null;
+    },
+    dispose: function() {
+    }
+  });
+  RadarView$4 = _default68;
+  return RadarView$4;
+}
+var radarLayout$1;
+var hasRequiredRadarLayout;
+function requireRadarLayout() {
+  if (hasRequiredRadarLayout)
+    return radarLayout$1;
+  hasRequiredRadarLayout = 1;
+  var zrUtil2 = util$a;
+  function _default68(ecModel) {
+    ecModel.eachSeriesByType("radar", function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var points2 = [];
+      var coordSys = seriesModel.coordinateSystem;
+      if (!coordSys) {
+        return;
+      }
+      var axes = coordSys.getIndicatorAxes();
+      zrUtil2.each(axes, function(axis2, axisIndex) {
+        data2.each(data2.mapDimension(axes[axisIndex].dim), function(val, dataIndex) {
+          points2[dataIndex] = points2[dataIndex] || [];
+          var point = coordSys.dataToPoint(val, axisIndex);
+          points2[dataIndex][axisIndex] = isValidPoint2(point) ? point : getValueMissingPoint2(coordSys);
+        });
+      });
+      data2.each(function(idx) {
+        var firstPoint = zrUtil2.find(points2[idx], function(point) {
+          return isValidPoint2(point);
+        }) || getValueMissingPoint2(coordSys);
+        points2[idx].push(firstPoint.slice());
+        data2.setItemLayout(idx, points2[idx]);
+      });
+    });
+  }
+  function isValidPoint2(point) {
+    return !isNaN(point[0]) && !isNaN(point[1]);
+  }
+  function getValueMissingPoint2(coordSys) {
+    return [coordSys.cx, coordSys.cy];
+  }
+  radarLayout$1 = _default68;
+  return radarLayout$1;
+}
+var backwardCompat$1;
+var hasRequiredBackwardCompat$1;
+function requireBackwardCompat$1() {
+  if (hasRequiredBackwardCompat$1)
+    return backwardCompat$1;
+  hasRequiredBackwardCompat$1 = 1;
+  var zrUtil2 = util$a;
+  function _default68(option) {
+    var polarOptArr = option.polar;
+    if (polarOptArr) {
+      if (!zrUtil2.isArray(polarOptArr)) {
+        polarOptArr = [polarOptArr];
+      }
+      var polarNotRadar = [];
+      zrUtil2.each(polarOptArr, function(polarOpt, idx) {
+        if (polarOpt.indicator) {
+          if (polarOpt.type && !polarOpt.shape) {
+            polarOpt.shape = polarOpt.type;
+          }
+          option.radar = option.radar || [];
+          if (!zrUtil2.isArray(option.radar)) {
+            option.radar = [option.radar];
+          }
+          option.radar.push(polarOpt);
+        } else {
+          polarNotRadar.push(polarOpt);
+        }
+      });
+      option.polar = polarNotRadar;
+    }
+    zrUtil2.each(option.series, function(seriesOpt) {
+      if (seriesOpt && seriesOpt.type === "radar" && seriesOpt.polarIndex) {
+        seriesOpt.radarIndex = seriesOpt.polarIndex;
+      }
+    });
+  }
+  backwardCompat$1 = _default68;
+  return backwardCompat$1;
+}
+var hasRequiredRadar;
+function requireRadar() {
+  if (hasRequiredRadar)
+    return radar$1;
+  hasRequiredRadar = 1;
+  var echarts2 = echarts$1;
+  requireRadar$1();
+  requireRadarSeries();
+  requireRadarView();
+  var dataColor2 = requireDataColor();
+  var visualSymbol = requireSymbol();
+  var radarLayout2 = requireRadarLayout();
+  var dataFilter2 = requireDataFilter();
+  var backwardCompat2 = requireBackwardCompat$1();
+  echarts2.registerVisual(dataColor2("radar"));
+  echarts2.registerVisual(visualSymbol("radar", "circle"));
+  echarts2.registerLayout(radarLayout2);
+  echarts2.registerProcessor(dataFilter2("radar"));
+  echarts2.registerPreprocessor(backwardCompat2);
+  return radar$1;
+}
+var map$2 = {};
+var nanhai;
+var hasRequiredNanhai;
+function requireNanhai() {
+  if (hasRequiredNanhai)
+    return nanhai;
+  hasRequiredNanhai = 1;
+  var zrUtil2 = util$a;
+  var Region2 = requireRegion();
+  var geoCoord2 = [126, 25];
+  var points2 = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]];
+  for (var i2 = 0; i2 < points2.length; i2++) {
+    for (var k2 = 0; k2 < points2[i2].length; k2++) {
+      points2[i2][k2][0] /= 10.5;
+      points2[i2][k2][1] /= -10.5 / 0.75;
+      points2[i2][k2][0] += geoCoord2[0];
+      points2[i2][k2][1] += geoCoord2[1];
+    }
+  }
+  function _default68(mapType, regions) {
+    if (mapType === "china") {
+      regions.push(new Region2("南海诸岛", zrUtil2.map(points2, function(exterior) {
+        return {
+          type: "polygon",
+          exterior
+        };
+      }), geoCoord2));
+    }
+  }
+  nanhai = _default68;
+  return nanhai;
+}
+var textCoord;
+var hasRequiredTextCoord;
+function requireTextCoord() {
+  if (hasRequiredTextCoord)
+    return textCoord;
+  hasRequiredTextCoord = 1;
+  var coordsOffsetMap2 = {
+    "南海诸岛": [32, 80],
+    // 全国
+    "广东": [0, -10],
+    "香港": [10, 5],
+    "澳门": [-10, 10],
+    //'北京': [-10, 0],
+    "天津": [5, 5]
+  };
+  function _default68(mapType, region) {
+    if (mapType === "china") {
+      var coordFix = coordsOffsetMap2[region.name];
+      if (coordFix) {
+        var cp = region.center;
+        cp[0] += coordFix[0] / 10.5;
+        cp[1] += -coordFix[1] / (10.5 / 0.75);
+      }
+    }
+  }
+  textCoord = _default68;
+  return textCoord;
+}
+var geoCoord$1;
+var hasRequiredGeoCoord;
+function requireGeoCoord() {
+  if (hasRequiredGeoCoord)
+    return geoCoord$1;
+  hasRequiredGeoCoord = 1;
+  var geoCoordMap = {
+    "Russia": [100, 60],
+    "United States": [-99, 38],
+    "United States of America": [-99, 38]
+  };
+  function _default68(mapType, region) {
+    if (mapType === "world") {
+      var geoCoord2 = geoCoordMap[region.name];
+      if (geoCoord2) {
+        var cp = region.center;
+        cp[0] = geoCoord2[0];
+        cp[1] = geoCoord2[1];
+      }
+    }
+  }
+  geoCoord$1 = _default68;
+  return geoCoord$1;
+}
+var diaoyuIsland;
+var hasRequiredDiaoyuIsland;
+function requireDiaoyuIsland() {
+  if (hasRequiredDiaoyuIsland)
+    return diaoyuIsland;
+  hasRequiredDiaoyuIsland = 1;
+  var points2 = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]];
+  function _default68(mapType, region) {
+    if (mapType === "china" && region.name === "台湾") {
+      region.geometries.push({
+        type: "polygon",
+        exterior: points2[0]
+      });
+    }
+  }
+  diaoyuIsland = _default68;
+  return diaoyuIsland;
+}
+var geoJSONLoader;
+var hasRequiredGeoJSONLoader;
+function requireGeoJSONLoader() {
+  if (hasRequiredGeoJSONLoader)
+    return geoJSONLoader;
+  hasRequiredGeoJSONLoader = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var parseGeoJson2 = requireParseGeoJson();
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var fixNanhai2 = requireNanhai();
+  var fixTextCoord = requireTextCoord();
+  var fixGeoCoord = requireGeoCoord();
+  var fixDiaoyuIsland2 = requireDiaoyuIsland();
+  var inner2 = makeInner2();
+  var _default68 = {
+    /**
+     * @param {string} mapName
+     * @param {Object} mapRecord {specialAreas, geoJSON}
+     * @param {string} nameProperty
+     * @return {Object} {regions, boundingRect}
+     */
+    load: function(mapName, mapRecord, nameProperty) {
+      var parsed = inner2(mapRecord).parsed;
+      if (parsed) {
+        return parsed;
+      }
+      var specialAreas = mapRecord.specialAreas || {};
+      var geoJSON = mapRecord.geoJSON;
+      var regions;
+      try {
+        regions = geoJSON ? parseGeoJson2(geoJSON, nameProperty) : [];
+      } catch (e2) {
+        throw new Error("Invalid geoJson format\n" + e2.message);
+      }
+      fixNanhai2(mapName, regions);
+      each2(regions, function(region) {
+        var regionName = region.name;
+        fixTextCoord(mapName, region);
+        fixGeoCoord(mapName, region);
+        fixDiaoyuIsland2(mapName, region);
+        var specialArea = specialAreas[regionName];
+        if (specialArea) {
+          region.transformTo(specialArea.left, specialArea.top, specialArea.width, specialArea.height);
+        }
+      });
+      return inner2(mapRecord).parsed = {
+        regions,
+        boundingRect: getBoundingRect2(regions)
+      };
+    }
+  };
+  function getBoundingRect2(regions) {
+    var rect;
+    for (var i2 = 0; i2 < regions.length; i2++) {
+      var regionRect = regions[i2].getBoundingRect();
+      rect = rect || regionRect.clone();
+      rect.union(regionRect);
+    }
+    return rect;
+  }
+  geoJSONLoader = _default68;
+  return geoJSONLoader;
+}
+var geoSVGLoader;
+var hasRequiredGeoSVGLoader;
+function requireGeoSVGLoader() {
+  if (hasRequiredGeoSVGLoader)
+    return geoSVGLoader;
+  hasRequiredGeoSVGLoader = 1;
+  var _parseSVG2 = parseSVG$2;
+  var parseSVG2 = _parseSVG2.parseSVG;
+  var makeViewBoxTransform2 = _parseSVG2.makeViewBoxTransform;
+  var Group2 = Group_1;
+  var Rect2 = Rect$6;
+  var _util2 = util$a;
+  var assert2 = _util2.assert;
+  var createHashMap2 = _util2.createHashMap;
+  var BoundingRect2 = BoundingRect_1;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var inner2 = makeInner2();
+  var _default68 = {
+    /**
+     * @param {string} mapName
+     * @param {Object} mapRecord {specialAreas, geoJSON}
+     * @return {Object} {root, boundingRect}
+     */
+    load: function(mapName, mapRecord) {
+      var originRoot = inner2(mapRecord).originRoot;
+      if (originRoot) {
+        return {
+          root: originRoot,
+          boundingRect: inner2(mapRecord).boundingRect
+        };
+      }
+      var graphic2 = buildGraphic(mapRecord);
+      inner2(mapRecord).originRoot = graphic2.root;
+      inner2(mapRecord).boundingRect = graphic2.boundingRect;
+      return graphic2;
+    },
+    makeGraphic: function(mapName, mapRecord, hostKey) {
+      var field = inner2(mapRecord);
+      var rootMap = field.rootMap || (field.rootMap = createHashMap2());
+      var root = rootMap.get(hostKey);
+      if (root) {
+        return root;
+      }
+      var originRoot = field.originRoot;
+      var boundingRect = field.boundingRect;
+      if (!field.originRootHostKey) {
+        field.originRootHostKey = hostKey;
+        root = originRoot;
+      } else {
+        root = buildGraphic(mapRecord, boundingRect).root;
+      }
+      return rootMap.set(hostKey, root);
+    },
+    removeGraphic: function(mapName, mapRecord, hostKey) {
+      var field = inner2(mapRecord);
+      var rootMap = field.rootMap;
+      rootMap && rootMap.removeKey(hostKey);
+      if (hostKey === field.originRootHostKey) {
+        field.originRootHostKey = null;
+      }
+    }
+  };
+  function buildGraphic(mapRecord, boundingRect) {
+    var svgXML = mapRecord.svgXML;
+    var result2;
+    var root;
+    try {
+      result2 = svgXML && parseSVG2(svgXML, {
+        ignoreViewBox: true,
+        ignoreRootClip: true
+      }) || {};
+      root = result2.root;
+      assert2(root != null);
+    } catch (e2) {
+      throw new Error("Invalid svg format\n" + e2.message);
+    }
+    var svgWidth = result2.width;
+    var svgHeight = result2.height;
+    var viewBoxRect = result2.viewBoxRect;
+    if (!boundingRect) {
+      boundingRect = svgWidth == null || svgHeight == null ? (
+        // If svg width / height not specified, calculate
+        // bounding rect as the width / height
+        root.getBoundingRect()
+      ) : new BoundingRect2(0, 0, 0, 0);
+      if (svgWidth != null) {
+        boundingRect.width = svgWidth;
+      }
+      if (svgHeight != null) {
+        boundingRect.height = svgHeight;
+      }
+    }
+    if (viewBoxRect) {
+      var viewBoxTransform = makeViewBoxTransform2(viewBoxRect, boundingRect.width, boundingRect.height);
+      var elRoot = root;
+      root = new Group2();
+      root.add(elRoot);
+      elRoot.scale = viewBoxTransform.scale;
+      elRoot.position = viewBoxTransform.position;
+    }
+    root.setClipPath(new Rect2({
+      shape: boundingRect.plain()
+    }));
+    return {
+      root,
+      boundingRect
+    };
+  }
+  geoSVGLoader = _default68;
+  return geoSVGLoader;
+}
+var geoSourceManager$1;
+var hasRequiredGeoSourceManager;
+function requireGeoSourceManager() {
+  if (hasRequiredGeoSourceManager)
+    return geoSourceManager$1;
+  hasRequiredGeoSourceManager = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var createHashMap2 = _util2.createHashMap;
+  var mapDataStorage$1 = mapDataStorage;
+  var geoJSONLoader2 = requireGeoJSONLoader();
+  var geoSVGLoader2 = requireGeoSVGLoader();
+  var BoundingRect2 = BoundingRect_1;
+  var loaders = {
+    geoJSON: geoJSONLoader2,
+    svg: geoSVGLoader2
+  };
+  var _default68 = {
+    /**
+     * @param {string} mapName
+     * @param {Object} nameMap
+     * @param {string} nameProperty
+     * @return {Object} source {regions, regionsMap, nameCoordMap, boundingRect}
+     */
+    load: function(mapName, nameMap, nameProperty) {
+      var regions = [];
+      var regionsMap = createHashMap2();
+      var nameCoordMap = createHashMap2();
+      var boundingRect;
+      var mapRecords = retrieveMap(mapName);
+      each2(mapRecords, function(record) {
+        var singleSource = loaders[record.type].load(mapName, record, nameProperty);
+        each2(singleSource.regions, function(region) {
+          var regionName = region.name;
+          if (nameMap && nameMap.hasOwnProperty(regionName)) {
+            region = region.cloneShallow(regionName = nameMap[regionName]);
+          }
+          regions.push(region);
+          regionsMap.set(regionName, region);
+          nameCoordMap.set(regionName, region.center);
+        });
+        var rect = singleSource.boundingRect;
+        if (rect) {
+          boundingRect ? boundingRect.union(rect) : boundingRect = rect.clone();
+        }
+      });
+      return {
+        regions,
+        regionsMap,
+        nameCoordMap,
+        // FIXME Always return new ?
+        boundingRect: boundingRect || new BoundingRect2(0, 0, 0, 0)
+      };
+    },
+    /**
+     * @param {string} mapName
+     * @param {string} hostKey For cache.
+     * @return {Array.<module:zrender/Element>} Roots.
+     */
+    makeGraphic: makeInvoker("makeGraphic"),
+    /**
+     * @param {string} mapName
+     * @param {string} hostKey For cache.
+     */
+    removeGraphic: makeInvoker("removeGraphic")
+  };
+  function makeInvoker(methodName) {
+    return function(mapName, hostKey) {
+      var mapRecords = retrieveMap(mapName);
+      var results = [];
+      each2(mapRecords, function(record) {
+        var method = loaders[record.type][methodName];
+        method && results.push(method(mapName, record, hostKey));
+      });
+      return results;
+    };
+  }
+  function retrieveMap(mapName) {
+    var mapRecords = mapDataStorage$1.retrieveMap(mapName) || [];
+    return mapRecords;
+  }
+  geoSourceManager$1 = _default68;
+  return geoSourceManager$1;
+}
+var MapSeries_1;
+var hasRequiredMapSeries;
+function requireMapSeries() {
+  if (hasRequiredMapSeries)
+    return MapSeries_1;
+  hasRequiredMapSeries = 1;
+  var zrUtil2 = util$a;
+  var createListSimply2 = requireCreateListSimply();
+  var SeriesModel2 = Series;
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var addCommas2 = _format2.addCommas;
+  var dataSelectableMixin = requireSelectableMixin();
+  var _dataProvider2 = dataProvider;
+  var retrieveRawAttr2 = _dataProvider2.retrieveRawAttr;
+  var geoSourceManager2 = requireGeoSourceManager();
+  var _sourceHelper2 = requireSourceHelper();
+  var makeSeriesEncodeForNameBased2 = _sourceHelper2.makeSeriesEncodeForNameBased;
+  var MapSeries2 = SeriesModel2.extend({
+    type: "series.map",
+    dependencies: ["geo"],
+    layoutMode: "box",
+    /**
+     * Only first map series of same mapType will drawMap
+     * @type {boolean}
+     */
+    needsDrawMap: false,
+    /**
+     * Group of all map series with same mapType
+     * @type {boolean}
+     */
+    seriesGroup: [],
+    getInitialData: function(option) {
+      var data2 = createListSimply2(this, {
+        coordDimensions: ["value"],
+        encodeDefaulter: zrUtil2.curry(makeSeriesEncodeForNameBased2, this)
+      });
+      var valueDim = data2.mapDimension("value");
+      var dataNameMap = zrUtil2.createHashMap();
+      var selectTargetList = [];
+      var toAppendNames = [];
+      for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+        var name2 = data2.getName(i2);
+        dataNameMap.set(name2, true);
+        selectTargetList.push({
+          name: name2,
+          value: data2.get(valueDim, i2),
+          selected: retrieveRawAttr2(data2, i2, "selected")
+        });
+      }
+      var geoSource = geoSourceManager2.load(this.getMapType(), this.option.nameMap, this.option.nameProperty);
+      zrUtil2.each(geoSource.regions, function(region) {
+        var name3 = region.name;
+        if (!dataNameMap.get(name3)) {
+          selectTargetList.push({
+            name: name3
+          });
+          toAppendNames.push(name3);
+        }
+      });
+      this.updateSelectedMap(selectTargetList);
+      data2.appendValues([], toAppendNames);
+      return data2;
+    },
+    /**
+     * If no host geo model, return null, which means using a
+     * inner exclusive geo model.
+     */
+    getHostGeoModel: function() {
+      var geoIndex = this.option.geoIndex;
+      return geoIndex != null ? this.dependentModels.geo[geoIndex] : null;
+    },
+    getMapType: function() {
+      return (this.getHostGeoModel() || this).option.map;
+    },
+    // _fillOption: function (option, mapName) {
+    // Shallow clone
+    // option = zrUtil.extend({}, option);
+    // option.data = geoCreator.getFilledRegions(option.data, mapName, option.nameMap);
+    // return option;
+    // },
+    getRawValue: function(dataIndex) {
+      var data2 = this.getData();
+      return data2.get(data2.mapDimension("value"), dataIndex);
+    },
+    /**
+     * Get model of region
+     * @param  {string} name
+     * @return {module:echarts/model/Model}
+     */
+    getRegionModel: function(regionName) {
+      var data2 = this.getData();
+      return data2.getItemModel(data2.indexOfName(regionName));
+    },
+    /**
+     * Map tooltip formatter
+     *
+     * @param {number} dataIndex
+     */
+    formatTooltip: function(dataIndex, multipleSeries, dataType, renderMode) {
+      var data2 = this.getData();
+      var formattedValue = addCommas2(this.getRawValue(dataIndex));
+      var name2 = data2.getName(dataIndex);
+      var seriesGroup = this.seriesGroup;
+      var seriesNames = [];
+      for (var i2 = 0; i2 < seriesGroup.length; i2++) {
+        var otherIndex = seriesGroup[i2].originalData.indexOfName(name2);
+        var valueDim = data2.mapDimension("value");
+        if (!isNaN(seriesGroup[i2].originalData.get(valueDim, otherIndex))) {
+          seriesNames.push(encodeHTML2(seriesGroup[i2].name));
+        }
+      }
+      var newLine = renderMode === "html" ? "<br/>" : "\n";
+      return seriesNames.join(", ") + newLine + encodeHTML2(name2 + " : " + formattedValue);
+    },
+    /**
+     * @implement
+     */
+    getTooltipPosition: function(dataIndex) {
+      if (dataIndex != null) {
+        var name2 = this.getData().getName(dataIndex);
+        var geo2 = this.coordinateSystem;
+        var region = geo2.getRegion(name2);
+        return region && geo2.dataToPoint(region.center);
+      }
+    },
+    setZoom: function(zoom) {
+      this.option.zoom = zoom;
+    },
+    setCenter: function(center2) {
+      this.option.center = center2;
+    },
+    defaultOption: {
+      // 一级层叠
+      zlevel: 0,
+      // 二级层叠
+      z: 2,
+      coordinateSystem: "geo",
+      // map should be explicitly specified since ec3.
+      map: "",
+      // If `geoIndex` is not specified, a exclusive geo will be
+      // created. Otherwise use the specified geo component, and
+      // `map` and `mapType` are ignored.
+      // geoIndex: 0,
+      // 'center' | 'left' | 'right' | 'x%' | {number}
+      left: "center",
+      // 'center' | 'top' | 'bottom' | 'x%' | {number}
+      top: "center",
+      // right
+      // bottom
+      // width:
+      // height
+      // Aspect is width / height. Inited to be geoJson bbox aspect
+      // This parameter is used for scale this aspect
+      aspectScale: 0.75,
+      ///// Layout with center and size
+      // If you wan't to put map in a fixed size box with right aspect ratio
+      // This two properties may more conveninet
+      // layoutCenter: [50%, 50%]
+      // layoutSize: 100
+      // 数值合并方式,默认加和,可选为:
+      // 'sum' | 'average' | 'max' | 'min'
+      // mapValueCalculation: 'sum',
+      // 地图数值计算结果小数精度
+      // mapValuePrecision: 0,
+      // 显示图例颜色标识(系列标识的小圆点),图例开启时有效
+      showLegendSymbol: true,
+      // 选择模式,默认关闭,可选single,multiple
+      // selectedMode: false,
+      dataRangeHoverLink: true,
+      // 是否开启缩放及漫游模式
+      // roam: false,
+      // Define left-top, right-bottom coords to control view
+      // For example, [ [180, 90], [-180, -90] ],
+      // higher priority than center and zoom
+      boundingCoords: null,
+      // Default on center of map
+      center: null,
+      zoom: 1,
+      scaleLimit: null,
+      label: {
+        show: false,
+        color: "#000"
+      },
+      // scaleLimit: null,
+      itemStyle: {
+        borderWidth: 0.5,
+        borderColor: "#444",
+        areaColor: "#eee"
+      },
+      emphasis: {
+        label: {
+          show: true,
+          color: "rgb(100,0,0)"
+        },
+        itemStyle: {
+          areaColor: "rgba(255,215,0,0.8)"
+        }
+      },
+      nameProperty: "name"
+    }
+  });
+  zrUtil2.mixin(MapSeries2, dataSelectableMixin);
+  var _default68 = MapSeries2;
+  MapSeries_1 = _default68;
+  return MapSeries_1;
+}
+var interactionMutex = {};
+var hasRequiredInteractionMutex;
+function requireInteractionMutex() {
+  if (hasRequiredInteractionMutex)
+    return interactionMutex;
+  hasRequiredInteractionMutex = 1;
+  var echarts2 = echarts$1;
+  var ATTR2 = "\0_ec_interaction_mutex";
+  function take2(zr, resourceKey, userKey) {
+    var store = getStore2(zr);
+    store[resourceKey] = userKey;
+  }
+  function release2(zr, resourceKey, userKey) {
+    var store = getStore2(zr);
+    var uKey = store[resourceKey];
+    if (uKey === userKey) {
+      store[resourceKey] = null;
+    }
+  }
+  function isTaken2(zr, resourceKey) {
+    return !!getStore2(zr)[resourceKey];
+  }
+  function getStore2(zr) {
+    return zr[ATTR2] || (zr[ATTR2] = {});
+  }
+  echarts2.registerAction({
+    type: "takeGlobalCursor",
+    event: "globalCursorTaken",
+    update: "update"
+  }, function() {
+  });
+  interactionMutex.take = take2;
+  interactionMutex.release = release2;
+  interactionMutex.isTaken = isTaken2;
+  return interactionMutex;
+}
+var RoamController_1;
+var hasRequiredRoamController;
+function requireRoamController() {
+  if (hasRequiredRoamController)
+    return RoamController_1;
+  hasRequiredRoamController = 1;
+  var zrUtil2 = util$a;
+  var Eventful2 = Eventful_1;
+  var eventTool2 = event$1;
+  var interactionMutex2 = requireInteractionMutex();
+  function RoamController2(zr) {
+    this.pointerChecker;
+    this._zr = zr;
+    this._opt = {};
+    var bind4 = zrUtil2.bind;
+    var mousedownHandler = bind4(mousedown2, this);
+    var mousemoveHandler = bind4(mousemove2, this);
+    var mouseupHandler = bind4(mouseup2, this);
+    var mousewheelHandler = bind4(mousewheel, this);
+    var pinchHandler = bind4(pinch, this);
+    Eventful2.call(this);
+    this.setPointerChecker = function(pointerChecker) {
+      this.pointerChecker = pointerChecker;
+    };
+    this.enable = function(controlType, opt) {
+      this.disable();
+      this._opt = zrUtil2.defaults(zrUtil2.clone(opt) || {}, {
+        zoomOnMouseWheel: true,
+        moveOnMouseMove: true,
+        // By default, wheel do not trigger move.
+        moveOnMouseWheel: false,
+        preventDefaultMouseMove: true
+      });
+      if (controlType == null) {
+        controlType = true;
+      }
+      if (controlType === true || controlType === "move" || controlType === "pan") {
+        zr.on("mousedown", mousedownHandler);
+        zr.on("mousemove", mousemoveHandler);
+        zr.on("mouseup", mouseupHandler);
+      }
+      if (controlType === true || controlType === "scale" || controlType === "zoom") {
+        zr.on("mousewheel", mousewheelHandler);
+        zr.on("pinch", pinchHandler);
+      }
+    };
+    this.disable = function() {
+      zr.off("mousedown", mousedownHandler);
+      zr.off("mousemove", mousemoveHandler);
+      zr.off("mouseup", mouseupHandler);
+      zr.off("mousewheel", mousewheelHandler);
+      zr.off("pinch", pinchHandler);
+    };
+    this.dispose = this.disable;
+    this.isDragging = function() {
+      return this._dragging;
+    };
+    this.isPinching = function() {
+      return this._pinching;
+    };
+  }
+  zrUtil2.mixin(RoamController2, Eventful2);
+  function mousedown2(e2) {
+    if (eventTool2.isMiddleOrRightButtonOnMouseUpDown(e2) || e2.target && e2.target.draggable) {
+      return;
+    }
+    var x2 = e2.offsetX;
+    var y2 = e2.offsetY;
+    if (this.pointerChecker && this.pointerChecker(e2, x2, y2)) {
+      this._x = x2;
+      this._y = y2;
+      this._dragging = true;
+    }
+  }
+  function mousemove2(e2) {
+    if (!this._dragging || !isAvailableBehavior2("moveOnMouseMove", e2, this._opt) || e2.gestureEvent === "pinch" || interactionMutex2.isTaken(this._zr, "globalPan")) {
+      return;
+    }
+    var x2 = e2.offsetX;
+    var y2 = e2.offsetY;
+    var oldX = this._x;
+    var oldY = this._y;
+    var dx = x2 - oldX;
+    var dy = y2 - oldY;
+    this._x = x2;
+    this._y = y2;
+    this._opt.preventDefaultMouseMove && eventTool2.stop(e2.event);
+    trigger2(this, "pan", "moveOnMouseMove", e2, {
+      dx,
+      dy,
+      oldX,
+      oldY,
+      newX: x2,
+      newY: y2
+    });
+  }
+  function mouseup2(e2) {
+    if (!eventTool2.isMiddleOrRightButtonOnMouseUpDown(e2)) {
+      this._dragging = false;
+    }
+  }
+  function mousewheel(e2) {
+    var shouldZoom = isAvailableBehavior2("zoomOnMouseWheel", e2, this._opt);
+    var shouldMove = isAvailableBehavior2("moveOnMouseWheel", e2, this._opt);
+    var wheelDelta = e2.wheelDelta;
+    var absWheelDeltaDelta = Math.abs(wheelDelta);
+    var originX = e2.offsetX;
+    var originY = e2.offsetY;
+    if (wheelDelta === 0 || !shouldZoom && !shouldMove) {
+      return;
+    }
+    if (shouldZoom) {
+      var factor = absWheelDeltaDelta > 3 ? 1.4 : absWheelDeltaDelta > 1 ? 1.2 : 1.1;
+      var scale2 = wheelDelta > 0 ? factor : 1 / factor;
+      checkPointerAndTrigger2(this, "zoom", "zoomOnMouseWheel", e2, {
+        scale: scale2,
+        originX,
+        originY
+      });
+    }
+    if (shouldMove) {
+      var absDelta = Math.abs(wheelDelta);
+      var scrollDelta = (wheelDelta > 0 ? 1 : -1) * (absDelta > 3 ? 0.4 : absDelta > 1 ? 0.15 : 0.05);
+      checkPointerAndTrigger2(this, "scrollMove", "moveOnMouseWheel", e2, {
+        scrollDelta,
+        originX,
+        originY
+      });
+    }
+  }
+  function pinch(e2) {
+    if (interactionMutex2.isTaken(this._zr, "globalPan")) {
+      return;
+    }
+    var scale2 = e2.pinchScale > 1 ? 1.1 : 1 / 1.1;
+    checkPointerAndTrigger2(this, "zoom", null, e2, {
+      scale: scale2,
+      originX: e2.pinchX,
+      originY: e2.pinchY
+    });
+  }
+  function checkPointerAndTrigger2(controller, eventName, behaviorToCheck, e2, contollerEvent) {
+    if (controller.pointerChecker && controller.pointerChecker(e2, contollerEvent.originX, contollerEvent.originY)) {
+      eventTool2.stop(e2.event);
+      trigger2(controller, eventName, behaviorToCheck, e2, contollerEvent);
+    }
+  }
+  function trigger2(controller, eventName, behaviorToCheck, e2, contollerEvent) {
+    contollerEvent.isAvailableBehavior = zrUtil2.bind(isAvailableBehavior2, null, behaviorToCheck, e2);
+    controller.trigger(eventName, contollerEvent);
+  }
+  function isAvailableBehavior2(behaviorToCheck, e2, settings) {
+    var setting = settings[behaviorToCheck];
+    return !behaviorToCheck || setting && (!zrUtil2.isString(setting) || e2.event[setting + "Key"]);
+  }
+  var _default68 = RoamController2;
+  RoamController_1 = _default68;
+  return RoamController_1;
+}
+var roamHelper$1 = {};
+var hasRequiredRoamHelper$1;
+function requireRoamHelper$1() {
+  if (hasRequiredRoamHelper$1)
+    return roamHelper$1;
+  hasRequiredRoamHelper$1 = 1;
+  function updateViewOnPan2(controllerHost, dx, dy) {
+    var target = controllerHost.target;
+    var pos = target.position;
+    pos[0] += dx;
+    pos[1] += dy;
+    target.dirty();
+  }
+  function updateViewOnZoom2(controllerHost, zoomDelta, zoomX, zoomY) {
+    var target = controllerHost.target;
+    var zoomLimit = controllerHost.zoomLimit;
+    var pos = target.position;
+    var scale2 = target.scale;
+    var newZoom = controllerHost.zoom = controllerHost.zoom || 1;
+    newZoom *= zoomDelta;
+    if (zoomLimit) {
+      var zoomMin = zoomLimit.min || 0;
+      var zoomMax = zoomLimit.max || Infinity;
+      newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);
+    }
+    var zoomScale = newZoom / controllerHost.zoom;
+    controllerHost.zoom = newZoom;
+    pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);
+    pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);
+    scale2[0] *= zoomScale;
+    scale2[1] *= zoomScale;
+    target.dirty();
+  }
+  roamHelper$1.updateViewOnPan = updateViewOnPan2;
+  roamHelper$1.updateViewOnZoom = updateViewOnZoom2;
+  return roamHelper$1;
+}
+var cursorHelper = {};
+var hasRequiredCursorHelper;
+function requireCursorHelper() {
+  if (hasRequiredCursorHelper)
+    return cursorHelper;
+  hasRequiredCursorHelper = 1;
+  var IRRELEVANT_EXCLUDES2 = {
+    "axisPointer": 1,
+    "tooltip": 1,
+    "brush": 1
+  };
+  function onIrrelevantElement2(e2, api2, targetCoordSysModel) {
+    var model2 = api2.getComponentByElement(e2.topTarget);
+    var coordSys = model2 && model2.coordinateSystem;
+    return model2 && model2 !== targetCoordSysModel && !IRRELEVANT_EXCLUDES2[model2.mainType] && coordSys && coordSys.model !== targetCoordSysModel;
+  }
+  cursorHelper.onIrrelevantElement = onIrrelevantElement2;
+  return cursorHelper;
+}
+var MapDraw_1;
+var hasRequiredMapDraw;
+function requireMapDraw() {
+  if (hasRequiredMapDraw)
+    return MapDraw_1;
+  hasRequiredMapDraw = 1;
+  var zrUtil2 = util$a;
+  var RoamController2 = requireRoamController();
+  var roamHelper2 = requireRoamHelper$1();
+  var _cursorHelper = requireCursorHelper();
+  var onIrrelevantElement2 = _cursorHelper.onIrrelevantElement;
+  var graphic2 = graphic$6;
+  var geoSourceManager2 = requireGeoSourceManager();
+  var _component2 = component;
+  var getUID2 = _component2.getUID;
+  var Transformable2 = Transformable_1;
+  function getFixedItemStyle2(model2) {
+    var itemStyle2 = model2.getItemStyle();
+    var areaColor = model2.get("areaColor");
+    if (areaColor != null) {
+      itemStyle2.fill = areaColor;
+    }
+    return itemStyle2;
+  }
+  function updateMapSelectHandler(mapDraw, mapOrGeoModel, regionsGroup, api2, fromView) {
+    regionsGroup.off("click");
+    regionsGroup.off("mousedown");
+    if (mapOrGeoModel.get("selectedMode")) {
+      regionsGroup.on("mousedown", function() {
+        mapDraw._mouseDownFlag = true;
+      });
+      regionsGroup.on("click", function(e2) {
+        if (!mapDraw._mouseDownFlag) {
+          return;
+        }
+        mapDraw._mouseDownFlag = false;
+        var el = e2.target;
+        while (!el.__regions) {
+          el = el.parent;
+        }
+        if (!el) {
+          return;
+        }
+        var action = {
+          type: (mapOrGeoModel.mainType === "geo" ? "geo" : "map") + "ToggleSelect",
+          batch: zrUtil2.map(el.__regions, function(region) {
+            return {
+              name: region.name,
+              from: fromView.uid
+            };
+          })
+        };
+        action[mapOrGeoModel.mainType + "Id"] = mapOrGeoModel.id;
+        api2.dispatchAction(action);
+        updateMapSelected(mapOrGeoModel, regionsGroup);
+      });
+    }
+  }
+  function updateMapSelected(mapOrGeoModel, regionsGroup) {
+    regionsGroup.eachChild(function(otherRegionEl) {
+      zrUtil2.each(otherRegionEl.__regions, function(region) {
+        otherRegionEl.trigger(mapOrGeoModel.isSelected(region.name) ? "emphasis" : "normal");
+      });
+    });
+  }
+  function MapDraw2(api2, updateGroup) {
+    var group = new graphic2.Group();
+    this.uid = getUID2("ec_map_draw");
+    this._controller = new RoamController2(api2.getZr());
+    this._controllerHost = {
+      target: updateGroup ? group : null
+    };
+    this.group = group;
+    this._updateGroup = updateGroup;
+    this._mouseDownFlag;
+    this._mapName;
+    this._initialized;
+    group.add(this._regionsGroup = new graphic2.Group());
+    group.add(this._backgroundGroup = new graphic2.Group());
+  }
+  MapDraw2.prototype = {
+    constructor: MapDraw2,
+    draw: function(mapOrGeoModel, ecModel, api2, fromView, payload) {
+      var isGeo = mapOrGeoModel.mainType === "geo";
+      var data2 = mapOrGeoModel.getData && mapOrGeoModel.getData();
+      isGeo && ecModel.eachComponent({
+        mainType: "series",
+        subType: "map"
+      }, function(mapSeries) {
+        if (!data2 && mapSeries.getHostGeoModel() === mapOrGeoModel) {
+          data2 = mapSeries.getData();
+        }
+      });
+      var geo2 = mapOrGeoModel.coordinateSystem;
+      this._updateBackground(geo2);
+      var regionsGroup = this._regionsGroup;
+      var group = this.group;
+      var transformInfo = geo2.getTransformInfo();
+      var isFirstDraw = !regionsGroup.childAt(0) || payload;
+      var targetScale;
+      if (isFirstDraw) {
+        group.transform = transformInfo.roamTransform;
+        group.decomposeTransform();
+        group.dirty();
+      } else {
+        var target = new Transformable2();
+        target.transform = transformInfo.roamTransform;
+        target.decomposeTransform();
+        var props2 = {
+          scale: target.scale,
+          position: target.position
+        };
+        targetScale = target.scale;
+        graphic2.updateProps(group, props2, mapOrGeoModel);
+      }
+      var scale2 = transformInfo.rawScale;
+      var position2 = transformInfo.rawPosition;
+      regionsGroup.removeAll();
+      var itemStyleAccessPath = ["itemStyle"];
+      var hoverItemStyleAccessPath = ["emphasis", "itemStyle"];
+      var labelAccessPath = ["label"];
+      var hoverLabelAccessPath = ["emphasis", "label"];
+      var nameMap = zrUtil2.createHashMap();
+      zrUtil2.each(geo2.regions, function(region) {
+        var regionGroup = nameMap.get(region.name) || nameMap.set(region.name, new graphic2.Group());
+        var compoundPath = new graphic2.CompoundPath({
+          segmentIgnoreThreshold: 1,
+          shape: {
+            paths: []
+          }
+        });
+        regionGroup.add(compoundPath);
+        var regionModel = mapOrGeoModel.getRegionModel(region.name) || mapOrGeoModel;
+        var itemStyleModel = regionModel.getModel(itemStyleAccessPath);
+        var hoverItemStyleModel = regionModel.getModel(hoverItemStyleAccessPath);
+        var itemStyle2 = getFixedItemStyle2(itemStyleModel);
+        var hoverItemStyle = getFixedItemStyle2(hoverItemStyleModel);
+        var labelModel = regionModel.getModel(labelAccessPath);
+        var hoverLabelModel = regionModel.getModel(hoverLabelAccessPath);
+        var dataIdx;
+        if (data2) {
+          dataIdx = data2.indexOfName(region.name);
+          var visualColor = data2.getItemVisual(dataIdx, "color", true);
+          if (visualColor) {
+            itemStyle2.fill = visualColor;
+          }
+        }
+        var transformPoint = function(point) {
+          return [point[0] * scale2[0] + position2[0], point[1] * scale2[1] + position2[1]];
+        };
+        zrUtil2.each(region.geometries, function(geometry) {
+          if (geometry.type !== "polygon") {
+            return;
+          }
+          var points2 = [];
+          for (var i2 = 0; i2 < geometry.exterior.length; ++i2) {
+            points2.push(transformPoint(geometry.exterior[i2]));
+          }
+          compoundPath.shape.paths.push(new graphic2.Polygon({
+            segmentIgnoreThreshold: 1,
+            shape: {
+              points: points2
+            }
+          }));
+          for (var i2 = 0; i2 < (geometry.interiors ? geometry.interiors.length : 0); ++i2) {
+            var interior = geometry.interiors[i2];
+            var points2 = [];
+            for (var j2 = 0; j2 < interior.length; ++j2) {
+              points2.push(transformPoint(interior[j2]));
+            }
+            compoundPath.shape.paths.push(new graphic2.Polygon({
+              segmentIgnoreThreshold: 1,
+              shape: {
+                points: points2
+              }
+            }));
+          }
+        });
+        compoundPath.setStyle(itemStyle2);
+        compoundPath.style.strokeNoScale = true;
+        compoundPath.culling = true;
+        var showLabel = labelModel.get("show");
+        var hoverShowLabel = hoverLabelModel.get("show");
+        var isDataNaN = data2 && isNaN(data2.get(data2.mapDimension("value"), dataIdx));
+        var itemLayout = data2 && data2.getItemLayout(dataIdx);
+        if (isGeo || isDataNaN && (showLabel || hoverShowLabel) || itemLayout && itemLayout.showLabel) {
+          var query = !isGeo ? dataIdx : region.name;
+          var labelFetcher;
+          if (!data2 || dataIdx >= 0) {
+            labelFetcher = mapOrGeoModel;
+          }
+          var textEl = new graphic2.Text({
+            position: transformPoint(region.center.slice()),
+            // FIXME
+            // label rotation is not support yet in geo or regions of series-map
+            // that has no data. The rotation will be effected by this `scale`.
+            // So needed to change to RectText?
+            scale: [1 / group.scale[0], 1 / group.scale[1]],
+            z2: 10,
+            silent: true
+          });
+          graphic2.setLabelStyle(textEl.style, textEl.hoverStyle = {}, labelModel, hoverLabelModel, {
+            labelFetcher,
+            labelDataIndex: query,
+            defaultText: region.name,
+            useInsideStyle: false
+          }, {
+            textAlign: "center",
+            textVerticalAlign: "middle"
+          });
+          if (!isFirstDraw) {
+            var textScale = [1 / targetScale[0], 1 / targetScale[1]];
+            graphic2.updateProps(textEl, {
+              scale: textScale
+            }, mapOrGeoModel);
+          }
+          regionGroup.add(textEl);
+        }
+        if (data2) {
+          data2.setItemGraphicEl(dataIdx, regionGroup);
+        } else {
+          var regionModel = mapOrGeoModel.getRegionModel(region.name);
+          compoundPath.eventData = {
+            componentType: "geo",
+            componentIndex: mapOrGeoModel.componentIndex,
+            geoIndex: mapOrGeoModel.componentIndex,
+            name: region.name,
+            region: regionModel && regionModel.option || {}
+          };
+        }
+        var groupRegions = regionGroup.__regions || (regionGroup.__regions = []);
+        groupRegions.push(region);
+        regionGroup.highDownSilentOnTouch = !!mapOrGeoModel.get("selectedMode");
+        graphic2.setHoverStyle(regionGroup, hoverItemStyle);
+        regionsGroup.add(regionGroup);
+      });
+      this._updateController(mapOrGeoModel, ecModel, api2);
+      updateMapSelectHandler(this, mapOrGeoModel, regionsGroup, api2, fromView);
+      updateMapSelected(mapOrGeoModel, regionsGroup);
+    },
+    remove: function() {
+      this._regionsGroup.removeAll();
+      this._backgroundGroup.removeAll();
+      this._controller.dispose();
+      this._mapName && geoSourceManager2.removeGraphic(this._mapName, this.uid);
+      this._mapName = null;
+      this._controllerHost = {};
+    },
+    _updateBackground: function(geo2) {
+      var mapName = geo2.map;
+      if (this._mapName !== mapName) {
+        zrUtil2.each(geoSourceManager2.makeGraphic(mapName, this.uid), function(root) {
+          this._backgroundGroup.add(root);
+        }, this);
+      }
+      this._mapName = mapName;
+    },
+    _updateController: function(mapOrGeoModel, ecModel, api2) {
+      var geo2 = mapOrGeoModel.coordinateSystem;
+      var controller = this._controller;
+      var controllerHost = this._controllerHost;
+      controllerHost.zoomLimit = mapOrGeoModel.get("scaleLimit");
+      controllerHost.zoom = geo2.getZoom();
+      controller.enable(mapOrGeoModel.get("roam") || false);
+      var mainType = mapOrGeoModel.mainType;
+      function makeActionBase() {
+        var action = {
+          type: "geoRoam",
+          componentType: mainType
+        };
+        action[mainType + "Id"] = mapOrGeoModel.id;
+        return action;
+      }
+      controller.off("pan").on("pan", function(e2) {
+        this._mouseDownFlag = false;
+        roamHelper2.updateViewOnPan(controllerHost, e2.dx, e2.dy);
+        api2.dispatchAction(zrUtil2.extend(makeActionBase(), {
+          dx: e2.dx,
+          dy: e2.dy
+        }));
+      }, this);
+      controller.off("zoom").on("zoom", function(e2) {
+        this._mouseDownFlag = false;
+        roamHelper2.updateViewOnZoom(controllerHost, e2.scale, e2.originX, e2.originY);
+        api2.dispatchAction(zrUtil2.extend(makeActionBase(), {
+          zoom: e2.scale,
+          originX: e2.originX,
+          originY: e2.originY
+        }));
+        if (this._updateGroup) {
+          var scale2 = this.group.scale;
+          this._regionsGroup.traverse(function(el) {
+            if (el.type === "text") {
+              el.attr("scale", [1 / scale2[0], 1 / scale2[1]]);
+            }
+          });
+        }
+      }, this);
+      controller.setPointerChecker(function(e2, x2, y2) {
+        return geo2.getViewRectAfterRoam().contain(x2, y2) && !onIrrelevantElement2(e2, api2, mapOrGeoModel);
+      });
+    }
+  };
+  var _default68 = MapDraw2;
+  MapDraw_1 = _default68;
+  return MapDraw_1;
+}
+var MapView$2;
+var hasRequiredMapView;
+function requireMapView() {
+  if (hasRequiredMapView)
+    return MapView$2;
+  hasRequiredMapView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var MapDraw2 = requireMapDraw();
+  var HIGH_DOWN_PROP = "__seriesMapHighDown";
+  var RECORD_VERSION_PROP = "__seriesMapCallKey";
+  var _default68 = echarts2.extendChartView({
+    type: "map",
+    render: function(mapModel, ecModel, api2, payload) {
+      if (payload && payload.type === "mapToggleSelect" && payload.from === this.uid) {
+        return;
+      }
+      var group = this.group;
+      group.removeAll();
+      if (mapModel.getHostGeoModel()) {
+        return;
+      }
+      if (!(payload && payload.type === "geoRoam" && payload.componentType === "series" && payload.seriesId === mapModel.id)) {
+        if (mapModel.needsDrawMap) {
+          var mapDraw = this._mapDraw || new MapDraw2(api2, true);
+          group.add(mapDraw.group);
+          mapDraw.draw(mapModel, ecModel, api2, this, payload);
+          this._mapDraw = mapDraw;
+        } else {
+          this._mapDraw && this._mapDraw.remove();
+          this._mapDraw = null;
+        }
+      } else {
+        var mapDraw = this._mapDraw;
+        mapDraw && group.add(mapDraw.group);
+      }
+      mapModel.get("showLegendSymbol") && ecModel.getComponent("legend") && this._renderSymbols(mapModel, ecModel, api2);
+    },
+    remove: function() {
+      this._mapDraw && this._mapDraw.remove();
+      this._mapDraw = null;
+      this.group.removeAll();
+    },
+    dispose: function() {
+      this._mapDraw && this._mapDraw.remove();
+      this._mapDraw = null;
+    },
+    _renderSymbols: function(mapModel, ecModel, api2) {
+      var originalData = mapModel.originalData;
+      var group = this.group;
+      originalData.each(originalData.mapDimension("value"), function(value, originalDataIndex) {
+        if (isNaN(value)) {
+          return;
+        }
+        var layout2 = originalData.getItemLayout(originalDataIndex);
+        if (!layout2 || !layout2.point) {
+          return;
+        }
+        var point = layout2.point;
+        var offset2 = layout2.offset;
+        var circle = new graphic2.Circle({
+          style: {
+            // Because the special of map draw.
+            // Which needs statistic of multiple series and draw on one map.
+            // And each series also need a symbol with legend color
+            //
+            // Layout and visual are put one the different data
+            fill: mapModel.getData().getVisual("color")
+          },
+          shape: {
+            cx: point[0] + offset2 * 9,
+            cy: point[1],
+            r: 3
+          },
+          silent: true,
+          // Do not overlap the first series, on which labels are displayed.
+          z2: 8 + (!offset2 ? graphic2.Z2_EMPHASIS_LIFT + 1 : 0)
+        });
+        if (!offset2) {
+          var fullData = mapModel.mainSeries.getData();
+          var name2 = originalData.getName(originalDataIndex);
+          var fullIndex = fullData.indexOfName(name2);
+          var itemModel = originalData.getItemModel(originalDataIndex);
+          var labelModel = itemModel.getModel("label");
+          var hoverLabelModel = itemModel.getModel("emphasis.label");
+          var regionGroup = fullData.getItemGraphicEl(fullIndex);
+          var normalText = zrUtil2.retrieve2(mapModel.getFormattedLabel(fullIndex, "normal"), name2);
+          var emphasisText = zrUtil2.retrieve2(mapModel.getFormattedLabel(fullIndex, "emphasis"), normalText);
+          var highDownRecord = regionGroup[HIGH_DOWN_PROP];
+          var recordVersion = Math.random();
+          if (!highDownRecord) {
+            highDownRecord = regionGroup[HIGH_DOWN_PROP] = {};
+            var onEmphasis = zrUtil2.curry(onRegionHighDown, true);
+            var onNormal = zrUtil2.curry(onRegionHighDown, false);
+            regionGroup.on("mouseover", onEmphasis).on("mouseout", onNormal).on("emphasis", onEmphasis).on("normal", onNormal);
+          }
+          regionGroup[RECORD_VERSION_PROP] = recordVersion;
+          zrUtil2.extend(highDownRecord, {
+            recordVersion,
+            circle,
+            labelModel,
+            hoverLabelModel,
+            emphasisText,
+            normalText
+          });
+          enterRegionHighDown(highDownRecord, false);
+        }
+        group.add(circle);
+      });
+    }
+  });
+  function onRegionHighDown(toHighOrDown) {
+    var highDownRecord = this[HIGH_DOWN_PROP];
+    if (highDownRecord && highDownRecord.recordVersion === this[RECORD_VERSION_PROP]) {
+      enterRegionHighDown(highDownRecord, toHighOrDown);
+    }
+  }
+  function enterRegionHighDown(highDownRecord, toHighOrDown) {
+    var circle = highDownRecord.circle;
+    var labelModel = highDownRecord.labelModel;
+    var hoverLabelModel = highDownRecord.hoverLabelModel;
+    var emphasisText = highDownRecord.emphasisText;
+    var normalText = highDownRecord.normalText;
+    if (toHighOrDown) {
+      circle.style.extendFrom(graphic2.setTextStyle({}, hoverLabelModel, {
+        text: hoverLabelModel.get("show") ? emphasisText : null
+      }, {
+        isRectText: true,
+        useInsideStyle: false
+      }, true));
+      circle.__mapOriginalZ2 = circle.z2;
+      circle.z2 += graphic2.Z2_EMPHASIS_LIFT;
+    } else {
+      graphic2.setTextStyle(circle.style, labelModel, {
+        text: labelModel.get("show") ? normalText : null,
+        textPosition: labelModel.getShallow("position") || "bottom"
+      }, {
+        isRectText: true,
+        useInsideStyle: false
+      });
+      circle.dirty(false);
+      if (circle.__mapOriginalZ2 != null) {
+        circle.z2 = circle.__mapOriginalZ2;
+        circle.__mapOriginalZ2 = null;
+      }
+    }
+  }
+  MapView$2 = _default68;
+  return MapView$2;
+}
+var geoRoam = {};
+var roamHelper = {};
+var hasRequiredRoamHelper;
+function requireRoamHelper() {
+  if (hasRequiredRoamHelper)
+    return roamHelper;
+  hasRequiredRoamHelper = 1;
+  function updateCenterAndZoom2(view, payload, zoomLimit) {
+    var previousZoom = view.getZoom();
+    var center2 = view.getCenter();
+    var zoom = payload.zoom;
+    var point = view.dataToPoint(center2);
+    if (payload.dx != null && payload.dy != null) {
+      point[0] -= payload.dx;
+      point[1] -= payload.dy;
+      var center2 = view.pointToData(point);
+      view.setCenter(center2);
+    }
+    if (zoom != null) {
+      if (zoomLimit) {
+        var zoomMin = zoomLimit.min || 0;
+        var zoomMax = zoomLimit.max || Infinity;
+        zoom = Math.max(Math.min(previousZoom * zoom, zoomMax), zoomMin) / previousZoom;
+      }
+      view.scale[0] *= zoom;
+      view.scale[1] *= zoom;
+      var position2 = view.position;
+      var fixX = (payload.originX - position2[0]) * (zoom - 1);
+      var fixY = (payload.originY - position2[1]) * (zoom - 1);
+      position2[0] -= fixX;
+      position2[1] -= fixY;
+      view.updateTransform();
+      var center2 = view.pointToData(point);
+      view.setCenter(center2);
+      view.setZoom(zoom * previousZoom);
+    }
+    return {
+      center: view.getCenter(),
+      zoom: view.getZoom()
+    };
+  }
+  roamHelper.updateCenterAndZoom = updateCenterAndZoom2;
+  return roamHelper;
+}
+var hasRequiredGeoRoam;
+function requireGeoRoam() {
+  if (hasRequiredGeoRoam)
+    return geoRoam;
+  hasRequiredGeoRoam = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var _roamHelper = requireRoamHelper();
+  var updateCenterAndZoom2 = _roamHelper.updateCenterAndZoom;
+  echarts2.registerAction({
+    type: "geoRoam",
+    event: "geoRoam",
+    update: "updateTransform"
+  }, function(payload, ecModel) {
+    var componentType = payload.componentType || "series";
+    ecModel.eachComponent({
+      mainType: componentType,
+      query: payload
+    }, function(componentModel) {
+      var geo2 = componentModel.coordinateSystem;
+      if (geo2.type !== "geo") {
+        return;
+      }
+      var res = updateCenterAndZoom2(geo2, payload, componentModel.get("scaleLimit"));
+      componentModel.setCenter && componentModel.setCenter(res.center);
+      componentModel.setZoom && componentModel.setZoom(res.zoom);
+      if (componentType === "series") {
+        zrUtil2.each(componentModel.seriesGroup, function(seriesModel) {
+          seriesModel.setCenter(res.center);
+          seriesModel.setZoom(res.zoom);
+        });
+      }
+    });
+  });
+  return geoRoam;
+}
+var View_1;
+var hasRequiredView;
+function requireView() {
+  if (hasRequiredView)
+    return View_1;
+  hasRequiredView = 1;
+  var zrUtil2 = util$a;
+  var vector2 = vector$3;
+  var matrix2 = matrix$5;
+  var BoundingRect2 = BoundingRect_1;
+  var Transformable2 = Transformable_1;
+  var v2ApplyTransform2 = vector2.applyTransform;
+  function TransformDummy() {
+    Transformable2.call(this);
+  }
+  zrUtil2.mixin(TransformDummy, Transformable2);
+  function View2(name2) {
+    this.name = name2;
+    this.zoomLimit;
+    Transformable2.call(this);
+    this._roamTransformable = new TransformDummy();
+    this._rawTransformable = new TransformDummy();
+    this._center;
+    this._zoom;
+  }
+  View2.prototype = {
+    constructor: View2,
+    type: "view",
+    /**
+     * @param {Array.<string>}
+     * @readOnly
+     */
+    dimensions: ["x", "y"],
+    /**
+     * Set bounding rect
+     * @param {number} x
+     * @param {number} y
+     * @param {number} width
+     * @param {number} height
+     */
+    // PENDING to getRect
+    setBoundingRect: function(x2, y2, width, height) {
+      this._rect = new BoundingRect2(x2, y2, width, height);
+      return this._rect;
+    },
+    /**
+     * @return {module:zrender/core/BoundingRect}
+     */
+    // PENDING to getRect
+    getBoundingRect: function() {
+      return this._rect;
+    },
+    /**
+     * @param {number} x
+     * @param {number} y
+     * @param {number} width
+     * @param {number} height
+     */
+    setViewRect: function(x2, y2, width, height) {
+      this.transformTo(x2, y2, width, height);
+      this._viewRect = new BoundingRect2(x2, y2, width, height);
+    },
+    /**
+     * Transformed to particular position and size
+     * @param {number} x
+     * @param {number} y
+     * @param {number} width
+     * @param {number} height
+     */
+    transformTo: function(x2, y2, width, height) {
+      var rect = this.getBoundingRect();
+      var rawTransform = this._rawTransformable;
+      rawTransform.transform = rect.calculateTransform(new BoundingRect2(x2, y2, width, height));
+      rawTransform.decomposeTransform();
+      this._updateTransform();
+    },
+    /**
+     * Set center of view
+     * @param {Array.<number>} [centerCoord]
+     */
+    setCenter: function(centerCoord) {
+      if (!centerCoord) {
+        return;
+      }
+      this._center = centerCoord;
+      this._updateCenterAndZoom();
+    },
+    /**
+     * @param {number} zoom
+     */
+    setZoom: function(zoom) {
+      zoom = zoom || 1;
+      var zoomLimit = this.zoomLimit;
+      if (zoomLimit) {
+        if (zoomLimit.max != null) {
+          zoom = Math.min(zoomLimit.max, zoom);
+        }
+        if (zoomLimit.min != null) {
+          zoom = Math.max(zoomLimit.min, zoom);
+        }
+      }
+      this._zoom = zoom;
+      this._updateCenterAndZoom();
+    },
+    /**
+     * Get default center without roam
+     */
+    getDefaultCenter: function() {
+      var rawRect = this.getBoundingRect();
+      var cx = rawRect.x + rawRect.width / 2;
+      var cy = rawRect.y + rawRect.height / 2;
+      return [cx, cy];
+    },
+    getCenter: function() {
+      return this._center || this.getDefaultCenter();
+    },
+    getZoom: function() {
+      return this._zoom || 1;
+    },
+    /**
+     * @return {Array.<number}
+     */
+    getRoamTransform: function() {
+      return this._roamTransformable.getLocalTransform();
+    },
+    /**
+     * Remove roam
+     */
+    _updateCenterAndZoom: function() {
+      var rawTransformMatrix = this._rawTransformable.getLocalTransform();
+      var roamTransform = this._roamTransformable;
+      var defaultCenter = this.getDefaultCenter();
+      var center2 = this.getCenter();
+      var zoom = this.getZoom();
+      center2 = vector2.applyTransform([], center2, rawTransformMatrix);
+      defaultCenter = vector2.applyTransform([], defaultCenter, rawTransformMatrix);
+      roamTransform.origin = center2;
+      roamTransform.position = [defaultCenter[0] - center2[0], defaultCenter[1] - center2[1]];
+      roamTransform.scale = [zoom, zoom];
+      this._updateTransform();
+    },
+    /**
+     * Update transform from roam and mapLocation
+     * @private
+     */
+    _updateTransform: function() {
+      var roamTransformable = this._roamTransformable;
+      var rawTransformable = this._rawTransformable;
+      rawTransformable.parent = roamTransformable;
+      roamTransformable.updateTransform();
+      rawTransformable.updateTransform();
+      matrix2.copy(this.transform || (this.transform = []), rawTransformable.transform || matrix2.create());
+      this._rawTransform = rawTransformable.getLocalTransform();
+      this.invTransform = this.invTransform || [];
+      matrix2.invert(this.invTransform, this.transform);
+      this.decomposeTransform();
+    },
+    getTransformInfo: function() {
+      var roamTransform = this._roamTransformable.transform;
+      var rawTransformable = this._rawTransformable;
+      return {
+        roamTransform: roamTransform ? zrUtil2.slice(roamTransform) : matrix2.create(),
+        rawScale: zrUtil2.slice(rawTransformable.scale),
+        rawPosition: zrUtil2.slice(rawTransformable.position)
+      };
+    },
+    /**
+     * @return {module:zrender/core/BoundingRect}
+     */
+    getViewRect: function() {
+      return this._viewRect;
+    },
+    /**
+     * Get view rect after roam transform
+     * @return {module:zrender/core/BoundingRect}
+     */
+    getViewRectAfterRoam: function() {
+      var rect = this.getBoundingRect().clone();
+      rect.applyTransform(this.transform);
+      return rect;
+    },
+    /**
+     * Convert a single (lon, lat) data item to (x, y) point.
+     * @param {Array.<number>} data
+     * @param {boolean} noRoam
+     * @param {Array.<number>} [out]
+     * @return {Array.<number>}
+     */
+    dataToPoint: function(data2, noRoam, out2) {
+      var transform3 = noRoam ? this._rawTransform : this.transform;
+      out2 = out2 || [];
+      return transform3 ? v2ApplyTransform2(out2, data2, transform3) : vector2.copy(out2, data2);
+    },
+    /**
+     * Convert a (x, y) point to (lon, lat) data
+     * @param {Array.<number>} point
+     * @return {Array.<number>}
+     */
+    pointToData: function(point) {
+      var invTransform = this.invTransform;
+      return invTransform ? v2ApplyTransform2([], point, invTransform) : [point[0], point[1]];
+    },
+    /**
+     * @implements
+     * see {module:echarts/CoodinateSystem}
+     */
+    convertToPixel: zrUtil2.curry(doConvert, "dataToPoint"),
+    /**
+     * @implements
+     * see {module:echarts/CoodinateSystem}
+     */
+    convertFromPixel: zrUtil2.curry(doConvert, "pointToData"),
+    /**
+     * @implements
+     * see {module:echarts/CoodinateSystem}
+     */
+    containPoint: function(point) {
+      return this.getViewRectAfterRoam().contain(point[0], point[1]);
+    }
+    /**
+     * @return {number}
+     */
+    // getScalarScale: function () {
+    //     // Use determinant square root of transform to mutiply scalar
+    //     var m = this.transform;
+    //     var det = Math.sqrt(Math.abs(m[0] * m[3] - m[2] * m[1]));
+    //     return det;
+    // }
+  };
+  zrUtil2.mixin(View2, Transformable2);
+  function doConvert(methodName, ecModel, finder, value) {
+    var seriesModel = finder.seriesModel;
+    var coordSys = seriesModel ? seriesModel.coordinateSystem : null;
+    return coordSys === this ? coordSys[methodName](value) : null;
+  }
+  var _default68 = View2;
+  View_1 = _default68;
+  return View_1;
+}
+var Geo_1;
+var hasRequiredGeo$1;
+function requireGeo$1() {
+  if (hasRequiredGeo$1)
+    return Geo_1;
+  hasRequiredGeo$1 = 1;
+  var zrUtil2 = util$a;
+  var BoundingRect2 = BoundingRect_1;
+  var View2 = requireView();
+  var geoSourceManager2 = requireGeoSourceManager();
+  function Geo2(name2, map2, nameMap, invertLongitute) {
+    View2.call(this, name2);
+    this.map = map2;
+    var source2 = geoSourceManager2.load(map2, nameMap);
+    this._nameCoordMap = source2.nameCoordMap;
+    this._regionsMap = source2.regionsMap;
+    this._invertLongitute = invertLongitute == null ? true : invertLongitute;
+    this.regions = source2.regions;
+    this._rect = source2.boundingRect;
+  }
+  Geo2.prototype = {
+    constructor: Geo2,
+    type: "geo",
+    /**
+     * @param {Array.<string>}
+     * @readOnly
+     */
+    dimensions: ["lng", "lat"],
+    /**
+     * If contain given lng,lat coord
+     * @param {Array.<number>}
+     * @readOnly
+     */
+    containCoord: function(coord) {
+      var regions = this.regions;
+      for (var i2 = 0; i2 < regions.length; i2++) {
+        if (regions[i2].contain(coord)) {
+          return true;
+        }
+      }
+      return false;
+    },
+    /**
+     * @override
+     */
+    transformTo: function(x2, y2, width, height) {
+      var rect = this.getBoundingRect();
+      var invertLongitute = this._invertLongitute;
+      rect = rect.clone();
+      if (invertLongitute) {
+        rect.y = -rect.y - rect.height;
+      }
+      var rawTransformable = this._rawTransformable;
+      rawTransformable.transform = rect.calculateTransform(new BoundingRect2(x2, y2, width, height));
+      rawTransformable.decomposeTransform();
+      if (invertLongitute) {
+        var scale2 = rawTransformable.scale;
+        scale2[1] = -scale2[1];
+      }
+      rawTransformable.updateTransform();
+      this._updateTransform();
+    },
+    /**
+     * @param {string} name
+     * @return {module:echarts/coord/geo/Region}
+     */
+    getRegion: function(name2) {
+      return this._regionsMap.get(name2);
+    },
+    getRegionByCoord: function(coord) {
+      var regions = this.regions;
+      for (var i2 = 0; i2 < regions.length; i2++) {
+        if (regions[i2].contain(coord)) {
+          return regions[i2];
+        }
+      }
+    },
+    /**
+     * Add geoCoord for indexing by name
+     * @param {string} name
+     * @param {Array.<number>} geoCoord
+     */
+    addGeoCoord: function(name2, geoCoord2) {
+      this._nameCoordMap.set(name2, geoCoord2);
+    },
+    /**
+     * Get geoCoord by name
+     * @param {string} name
+     * @return {Array.<number>}
+     */
+    getGeoCoord: function(name2) {
+      return this._nameCoordMap.get(name2);
+    },
+    /**
+     * @override
+     */
+    getBoundingRect: function() {
+      return this._rect;
+    },
+    /**
+     * @param {string|Array.<number>} data
+     * @param {boolean} noRoam
+     * @param {Array.<number>} [out]
+     * @return {Array.<number>}
+     */
+    dataToPoint: function(data2, noRoam, out2) {
+      if (typeof data2 === "string") {
+        data2 = this.getGeoCoord(data2);
+      }
+      if (data2) {
+        return View2.prototype.dataToPoint.call(this, data2, noRoam, out2);
+      }
+    },
+    /**
+     * @override
+     */
+    convertToPixel: zrUtil2.curry(doConvert, "dataToPoint"),
+    /**
+     * @override
+     */
+    convertFromPixel: zrUtil2.curry(doConvert, "pointToData")
+  };
+  zrUtil2.mixin(Geo2, View2);
+  function doConvert(methodName, ecModel, finder, value) {
+    var geoModel = finder.geoModel;
+    var seriesModel = finder.seriesModel;
+    var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem || (seriesModel.getReferringComponents("geo")[0] || {}).coordinateSystem : null;
+    return coordSys === this ? coordSys[methodName](value) : null;
+  }
+  var _default68 = Geo2;
+  Geo_1 = _default68;
+  return Geo_1;
+}
+var geoCreator_1;
+var hasRequiredGeoCreator;
+function requireGeoCreator() {
+  if (hasRequiredGeoCreator)
+    return geoCreator_1;
+  hasRequiredGeoCreator = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var Geo2 = requireGeo$1();
+  var layout2 = layout$5;
+  var numberUtil2 = requireNumber();
+  var geoSourceManager2 = requireGeoSourceManager();
+  var mapDataStorage$1 = mapDataStorage;
+  function resizeGeo2(geoModel, api2) {
+    var boundingCoords = geoModel.get("boundingCoords");
+    if (boundingCoords != null) {
+      var leftTop = boundingCoords[0];
+      var rightBottom = boundingCoords[1];
+      if (isNaN(leftTop[0]) || isNaN(leftTop[1]) || isNaN(rightBottom[0]) || isNaN(rightBottom[1]))
+        ;
+      else {
+        this.setBoundingRect(leftTop[0], leftTop[1], rightBottom[0] - leftTop[0], rightBottom[1] - leftTop[1]);
+      }
+    }
+    var rect = this.getBoundingRect();
+    var boxLayoutOption;
+    var center2 = geoModel.get("layoutCenter");
+    var size = geoModel.get("layoutSize");
+    var viewWidth = api2.getWidth();
+    var viewHeight = api2.getHeight();
+    var aspect = rect.width / rect.height * this.aspectScale;
+    var useCenterAndSize = false;
+    if (center2 && size) {
+      center2 = [numberUtil2.parsePercent(center2[0], viewWidth), numberUtil2.parsePercent(center2[1], viewHeight)];
+      size = numberUtil2.parsePercent(size, Math.min(viewWidth, viewHeight));
+      if (!isNaN(center2[0]) && !isNaN(center2[1]) && !isNaN(size)) {
+        useCenterAndSize = true;
+      }
+    }
+    var viewRect2;
+    if (useCenterAndSize) {
+      var viewRect2 = {};
+      if (aspect > 1) {
+        viewRect2.width = size;
+        viewRect2.height = size / aspect;
+      } else {
+        viewRect2.height = size;
+        viewRect2.width = size * aspect;
+      }
+      viewRect2.y = center2[1] - viewRect2.height / 2;
+      viewRect2.x = center2[0] - viewRect2.width / 2;
+    } else {
+      boxLayoutOption = geoModel.getBoxLayoutParams();
+      boxLayoutOption.aspect = aspect;
+      viewRect2 = layout2.getLayoutRect(boxLayoutOption, {
+        width: viewWidth,
+        height: viewHeight
+      });
+    }
+    this.setViewRect(viewRect2.x, viewRect2.y, viewRect2.width, viewRect2.height);
+    this.setCenter(geoModel.get("center"));
+    this.setZoom(geoModel.get("zoom"));
+  }
+  function setGeoCoords2(geo2, model2) {
+    zrUtil2.each(model2.get("geoCoord"), function(geoCoord2, name2) {
+      geo2.addGeoCoord(name2, geoCoord2);
+    });
+  }
+  var geoCreator2 = {
+    // For deciding which dimensions to use when creating list data
+    dimensions: Geo2.prototype.dimensions,
+    create: function(ecModel, api2) {
+      var geoList = [];
+      ecModel.eachComponent("geo", function(geoModel, idx) {
+        var name2 = geoModel.get("map");
+        var aspectScale = geoModel.get("aspectScale");
+        var invertLongitute = true;
+        var mapRecords = mapDataStorage$1.retrieveMap(name2);
+        if (mapRecords && mapRecords[0] && mapRecords[0].type === "svg") {
+          aspectScale == null && (aspectScale = 1);
+          invertLongitute = false;
+        } else {
+          aspectScale == null && (aspectScale = 0.75);
+        }
+        var geo2 = new Geo2(name2 + idx, name2, geoModel.get("nameMap"), invertLongitute);
+        geo2.aspectScale = aspectScale;
+        geo2.zoomLimit = geoModel.get("scaleLimit");
+        geoList.push(geo2);
+        setGeoCoords2(geo2, geoModel);
+        geoModel.coordinateSystem = geo2;
+        geo2.model = geoModel;
+        geo2.resize = resizeGeo2;
+        geo2.resize(geoModel, api2);
+      });
+      ecModel.eachSeries(function(seriesModel) {
+        var coordSys = seriesModel.get("coordinateSystem");
+        if (coordSys === "geo") {
+          var geoIndex = seriesModel.get("geoIndex") || 0;
+          seriesModel.coordinateSystem = geoList[geoIndex];
+        }
+      });
+      var mapModelGroupBySeries = {};
+      ecModel.eachSeriesByType("map", function(seriesModel) {
+        if (!seriesModel.getHostGeoModel()) {
+          var mapType = seriesModel.getMapType();
+          mapModelGroupBySeries[mapType] = mapModelGroupBySeries[mapType] || [];
+          mapModelGroupBySeries[mapType].push(seriesModel);
+        }
+      });
+      zrUtil2.each(mapModelGroupBySeries, function(mapSeries, mapType) {
+        var nameMapList = zrUtil2.map(mapSeries, function(singleMapSeries) {
+          return singleMapSeries.get("nameMap");
+        });
+        var geo2 = new Geo2(mapType, mapType, zrUtil2.mergeAll(nameMapList));
+        geo2.zoomLimit = zrUtil2.retrieve.apply(null, zrUtil2.map(mapSeries, function(singleMapSeries) {
+          return singleMapSeries.get("scaleLimit");
+        }));
+        geoList.push(geo2);
+        geo2.resize = resizeGeo2;
+        geo2.aspectScale = mapSeries[0].get("aspectScale");
+        geo2.resize(mapSeries[0], api2);
+        zrUtil2.each(mapSeries, function(singleMapSeries) {
+          singleMapSeries.coordinateSystem = geo2;
+          setGeoCoords2(geo2, singleMapSeries);
+        });
+      });
+      return geoList;
+    },
+    /**
+     * Fill given regions array
+     * @param  {Array.<Object>} originRegionArr
+     * @param  {string} mapName
+     * @param  {Object} [nameMap]
+     * @return {Array}
+     */
+    getFilledRegions: function(originRegionArr, mapName, nameMap) {
+      var regionsArr = (originRegionArr || []).slice();
+      var dataNameMap = zrUtil2.createHashMap();
+      for (var i2 = 0; i2 < regionsArr.length; i2++) {
+        dataNameMap.set(regionsArr[i2].name, regionsArr[i2]);
+      }
+      var source2 = geoSourceManager2.load(mapName, nameMap);
+      zrUtil2.each(source2.regions, function(region) {
+        var name2 = region.name;
+        !dataNameMap.get(name2) && regionsArr.push({
+          name: name2
+        });
+      });
+      return regionsArr;
+    }
+  };
+  echarts2.registerCoordinateSystem("geo", geoCreator2);
+  var _default68 = geoCreator2;
+  geoCreator_1 = _default68;
+  return geoCreator_1;
+}
+var mapSymbolLayout$1;
+var hasRequiredMapSymbolLayout;
+function requireMapSymbolLayout() {
+  if (hasRequiredMapSymbolLayout)
+    return mapSymbolLayout$1;
+  hasRequiredMapSymbolLayout = 1;
+  var zrUtil2 = util$a;
+  function _default68(ecModel) {
+    var processedMapType = {};
+    ecModel.eachSeriesByType("map", function(mapSeries) {
+      var mapType = mapSeries.getMapType();
+      if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {
+        return;
+      }
+      var mapSymbolOffsets = {};
+      zrUtil2.each(mapSeries.seriesGroup, function(subMapSeries) {
+        var geo2 = subMapSeries.coordinateSystem;
+        var data3 = subMapSeries.originalData;
+        if (subMapSeries.get("showLegendSymbol") && ecModel.getComponent("legend")) {
+          data3.each(data3.mapDimension("value"), function(value, idx) {
+            var name2 = data3.getName(idx);
+            var region = geo2.getRegion(name2);
+            if (!region || isNaN(value)) {
+              return;
+            }
+            var offset2 = mapSymbolOffsets[name2] || 0;
+            var point = geo2.dataToPoint(region.center);
+            mapSymbolOffsets[name2] = offset2 + 1;
+            data3.setItemLayout(idx, {
+              point,
+              offset: offset2
+            });
+          });
+        }
+      });
+      var data2 = mapSeries.getData();
+      data2.each(function(idx) {
+        var name2 = data2.getName(idx);
+        var layout2 = data2.getItemLayout(idx) || {};
+        layout2.showLabel = !mapSymbolOffsets[name2];
+        data2.setItemLayout(idx, layout2);
+      });
+      processedMapType[mapType] = true;
+    });
+  }
+  mapSymbolLayout$1 = _default68;
+  return mapSymbolLayout$1;
+}
+var mapVisual$2;
+var hasRequiredMapVisual;
+function requireMapVisual() {
+  if (hasRequiredMapVisual)
+    return mapVisual$2;
+  hasRequiredMapVisual = 1;
+  function _default68(ecModel) {
+    ecModel.eachSeriesByType("map", function(seriesModel) {
+      var colorList = seriesModel.get("color");
+      var itemStyleModel = seriesModel.getModel("itemStyle");
+      var areaColor = itemStyleModel.get("areaColor");
+      var color2 = itemStyleModel.get("color") || colorList[seriesModel.seriesIndex % colorList.length];
+      seriesModel.getData().setVisual({
+        "areaColor": areaColor,
+        "color": color2
+      });
+    });
+  }
+  mapVisual$2 = _default68;
+  return mapVisual$2;
+}
+var mapDataStatistic$1;
+var hasRequiredMapDataStatistic;
+function requireMapDataStatistic() {
+  if (hasRequiredMapDataStatistic)
+    return mapDataStatistic$1;
+  hasRequiredMapDataStatistic = 1;
+  var zrUtil2 = util$a;
+  function dataStatistics2(datas, statisticType) {
+    var dataNameMap = {};
+    zrUtil2.each(datas, function(data2) {
+      data2.each(data2.mapDimension("value"), function(value, idx) {
+        var mapKey = "ec-" + data2.getName(idx);
+        dataNameMap[mapKey] = dataNameMap[mapKey] || [];
+        if (!isNaN(value)) {
+          dataNameMap[mapKey].push(value);
+        }
+      });
+    });
+    return datas[0].map(datas[0].mapDimension("value"), function(value, idx) {
+      var mapKey = "ec-" + datas[0].getName(idx);
+      var sum2 = 0;
+      var min3 = Infinity;
+      var max3 = -Infinity;
+      var len2 = dataNameMap[mapKey].length;
+      for (var i2 = 0; i2 < len2; i2++) {
+        min3 = Math.min(min3, dataNameMap[mapKey][i2]);
+        max3 = Math.max(max3, dataNameMap[mapKey][i2]);
+        sum2 += dataNameMap[mapKey][i2];
+      }
+      var result2;
+      if (statisticType === "min") {
+        result2 = min3;
+      } else if (statisticType === "max") {
+        result2 = max3;
+      } else if (statisticType === "average") {
+        result2 = sum2 / len2;
+      } else {
+        result2 = sum2;
+      }
+      return len2 === 0 ? NaN : result2;
+    });
+  }
+  function _default68(ecModel) {
+    var seriesGroups = {};
+    ecModel.eachSeriesByType("map", function(seriesModel) {
+      var hostGeoModel = seriesModel.getHostGeoModel();
+      var key2 = hostGeoModel ? "o" + hostGeoModel.id : "i" + seriesModel.getMapType();
+      (seriesGroups[key2] = seriesGroups[key2] || []).push(seriesModel);
+    });
+    zrUtil2.each(seriesGroups, function(seriesList, key2) {
+      var data2 = dataStatistics2(zrUtil2.map(seriesList, function(seriesModel) {
+        return seriesModel.getData();
+      }), seriesList[0].get("mapValueCalculation"));
+      for (var i2 = 0; i2 < seriesList.length; i2++) {
+        seriesList[i2].originalData = seriesList[i2].getData();
+      }
+      for (var i2 = 0; i2 < seriesList.length; i2++) {
+        seriesList[i2].seriesGroup = seriesList;
+        seriesList[i2].needsDrawMap = i2 === 0 && !seriesList[i2].getHostGeoModel();
+        seriesList[i2].setData(data2.cloneShallow());
+        seriesList[i2].mainSeries = seriesList[0];
+      }
+    });
+  }
+  mapDataStatistic$1 = _default68;
+  return mapDataStatistic$1;
+}
+var backwardCompat;
+var hasRequiredBackwardCompat;
+function requireBackwardCompat() {
+  if (hasRequiredBackwardCompat)
+    return backwardCompat;
+  hasRequiredBackwardCompat = 1;
+  var zrUtil2 = util$a;
+  function _default68(option) {
+    zrUtil2.each(option.series, function(seriesOpt) {
+      if (seriesOpt && seriesOpt.type === "map") {
+        seriesOpt.map = seriesOpt.map || seriesOpt.mapType;
+        zrUtil2.defaults(seriesOpt, seriesOpt.mapLocation);
+      }
+    });
+  }
+  backwardCompat = _default68;
+  return backwardCompat;
+}
+var hasRequiredMap;
+function requireMap() {
+  if (hasRequiredMap)
+    return map$2;
+  hasRequiredMap = 1;
+  var echarts2 = echarts$1;
+  requireMapSeries();
+  requireMapView();
+  requireGeoRoam();
+  requireGeoCreator();
+  var mapSymbolLayout2 = requireMapSymbolLayout();
+  var mapVisual2 = requireMapVisual();
+  var mapDataStatistic2 = requireMapDataStatistic();
+  var backwardCompat2 = requireBackwardCompat();
+  var createDataSelectAction2 = requireCreateDataSelectAction();
+  echarts2.registerLayout(mapSymbolLayout2);
+  echarts2.registerVisual(mapVisual2);
+  echarts2.registerProcessor(echarts2.PRIORITY.PROCESSOR.STATISTIC, mapDataStatistic2);
+  echarts2.registerPreprocessor(backwardCompat2);
+  createDataSelectAction2("map", [{
+    type: "mapToggleSelect",
+    event: "mapselectchanged",
+    method: "toggleSelected"
+  }, {
+    type: "mapSelect",
+    event: "mapselected",
+    method: "select"
+  }, {
+    type: "mapUnSelect",
+    event: "mapunselected",
+    method: "unSelect"
+  }]);
+  return map$2;
+}
+var tree = {};
+var linkList_1;
+var hasRequiredLinkList;
+function requireLinkList() {
+  if (hasRequiredLinkList)
+    return linkList_1;
+  hasRequiredLinkList = 1;
+  var zrUtil2 = util$a;
+  var each2 = zrUtil2.each;
+  var DATAS = "\0__link_datas";
+  var MAIN_DATA = "\0__link_mainData";
+  function linkList(opt) {
+    var mainData = opt.mainData;
+    var datas = opt.datas;
+    if (!datas) {
+      datas = {
+        main: mainData
+      };
+      opt.datasAttr = {
+        main: "data"
+      };
+    }
+    opt.datas = opt.mainData = null;
+    linkAll2(mainData, datas, opt);
+    each2(datas, function(data2) {
+      each2(mainData.TRANSFERABLE_METHODS, function(methodName) {
+        data2.wrapMethod(methodName, zrUtil2.curry(transferInjection2, opt));
+      });
+    });
+    mainData.wrapMethod("cloneShallow", zrUtil2.curry(cloneShallowInjection2, opt));
+    each2(mainData.CHANGABLE_METHODS, function(methodName) {
+      mainData.wrapMethod(methodName, zrUtil2.curry(changeInjection2, opt));
+    });
+    zrUtil2.assert(datas[mainData.dataType] === mainData);
+  }
+  function transferInjection2(opt, res) {
+    if (isMainData2(this)) {
+      var datas = zrUtil2.extend({}, this[DATAS]);
+      datas[this.dataType] = res;
+      linkAll2(res, datas, opt);
+    } else {
+      linkSingle2(res, this.dataType, this[MAIN_DATA], opt);
+    }
+    return res;
+  }
+  function changeInjection2(opt, res) {
+    opt.struct && opt.struct.update(this);
+    return res;
+  }
+  function cloneShallowInjection2(opt, res) {
+    each2(res[DATAS], function(data2, dataType) {
+      data2 !== res && linkSingle2(data2.cloneShallow(), dataType, res, opt);
+    });
+    return res;
+  }
+  function getLinkedData2(dataType) {
+    var mainData = this[MAIN_DATA];
+    return dataType == null || mainData == null ? mainData : mainData[DATAS][dataType];
+  }
+  function isMainData2(data2) {
+    return data2[MAIN_DATA] === data2;
+  }
+  function linkAll2(mainData, datas, opt) {
+    mainData[DATAS] = {};
+    each2(datas, function(data2, dataType) {
+      linkSingle2(data2, dataType, mainData, opt);
+    });
+  }
+  function linkSingle2(data2, dataType, mainData, opt) {
+    mainData[DATAS][dataType] = data2;
+    data2[MAIN_DATA] = mainData;
+    data2.dataType = dataType;
+    if (opt.struct) {
+      data2[opt.structAttr] = opt.struct;
+      opt.struct[opt.datasAttr[dataType]] = data2;
+    }
+    data2.getLinkedData = getLinkedData2;
+  }
+  var _default68 = linkList;
+  linkList_1 = _default68;
+  return linkList_1;
+}
+var Tree_1;
+var hasRequiredTree$1;
+function requireTree$1() {
+  if (hasRequiredTree$1)
+    return Tree_1;
+  hasRequiredTree$1 = 1;
+  var zrUtil2 = util$a;
+  var linkList = requireLinkList();
+  var List = requireList();
+  var createDimensions2 = requireCreateDimensions();
+  var TreeNode2 = function(name2, hostTree) {
+    this.name = name2 || "";
+    this.depth = 0;
+    this.height = 0;
+    this.parentNode = null;
+    this.dataIndex = -1;
+    this.children = [];
+    this.viewChildren = [];
+    this.hostTree = hostTree;
+  };
+  TreeNode2.prototype = {
+    constructor: TreeNode2,
+    /**
+     * The node is removed.
+     * @return {boolean} is removed.
+     */
+    isRemoved: function() {
+      return this.dataIndex < 0;
+    },
+    /**
+     * Travel this subtree (include this node).
+     * Usage:
+     *    node.eachNode(function () { ... }); // preorder
+     *    node.eachNode('preorder', function () { ... }); // preorder
+     *    node.eachNode('postorder', function () { ... }); // postorder
+     *    node.eachNode(
+     *        {order: 'postorder', attr: 'viewChildren'},
+     *        function () { ... }
+     *    ); // postorder
+     *
+     * @param {(Object|string)} options If string, means order.
+     * @param {string=} options.order 'preorder' or 'postorder'
+     * @param {string=} options.attr 'children' or 'viewChildren'
+     * @param {Function} cb If in preorder and return false,
+     *                      its subtree will not be visited.
+     * @param {Object} [context]
+     */
+    eachNode: function(options2, cb, context) {
+      if (typeof options2 === "function") {
+        context = cb;
+        cb = options2;
+        options2 = null;
+      }
+      options2 = options2 || {};
+      if (zrUtil2.isString(options2)) {
+        options2 = {
+          order: options2
+        };
+      }
+      var order = options2.order || "preorder";
+      var children3 = this[options2.attr || "children"];
+      var suppressVisitSub;
+      order === "preorder" && (suppressVisitSub = cb.call(context, this));
+      for (var i2 = 0; !suppressVisitSub && i2 < children3.length; i2++) {
+        children3[i2].eachNode(options2, cb, context);
+      }
+      order === "postorder" && cb.call(context, this);
+    },
+    /**
+     * Update depth and height of this subtree.
+     *
+     * @param  {number} depth
+     */
+    updateDepthAndHeight: function(depth) {
+      var height = 0;
+      this.depth = depth;
+      for (var i2 = 0; i2 < this.children.length; i2++) {
+        var child = this.children[i2];
+        child.updateDepthAndHeight(depth + 1);
+        if (child.height > height) {
+          height = child.height;
+        }
+      }
+      this.height = height + 1;
+    },
+    /**
+     * @param  {string} id
+     * @return {module:echarts/data/Tree~TreeNode}
+     */
+    getNodeById: function(id) {
+      if (this.getId() === id) {
+        return this;
+      }
+      for (var i2 = 0, children3 = this.children, len2 = children3.length; i2 < len2; i2++) {
+        var res = children3[i2].getNodeById(id);
+        if (res) {
+          return res;
+        }
+      }
+    },
+    /**
+     * @param {module:echarts/data/Tree~TreeNode} node
+     * @return {boolean}
+     */
+    contains: function(node) {
+      if (node === this) {
+        return true;
+      }
+      for (var i2 = 0, children3 = this.children, len2 = children3.length; i2 < len2; i2++) {
+        var res = children3[i2].contains(node);
+        if (res) {
+          return res;
+        }
+      }
+    },
+    /**
+     * @param {boolean} includeSelf Default false.
+     * @return {Array.<module:echarts/data/Tree~TreeNode>} order: [root, child, grandchild, ...]
+     */
+    getAncestors: function(includeSelf) {
+      var ancestors = [];
+      var node = includeSelf ? this : this.parentNode;
+      while (node) {
+        ancestors.push(node);
+        node = node.parentNode;
+      }
+      ancestors.reverse();
+      return ancestors;
+    },
+    /**
+     * @param {string|Array=} [dimension='value'] Default 'value'. can be 0, 1, 2, 3
+     * @return {number} Value.
+     */
+    getValue: function(dimension) {
+      var data2 = this.hostTree.data;
+      return data2.get(data2.getDimension(dimension || "value"), this.dataIndex);
+    },
+    /**
+     * @param {Object} layout
+     * @param {boolean=} [merge=false]
+     */
+    setLayout: function(layout2, merge2) {
+      this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout2, merge2);
+    },
+    /**
+     * @return {Object} layout
+     */
+    getLayout: function() {
+      return this.hostTree.data.getItemLayout(this.dataIndex);
+    },
+    /**
+     * @param {string} [path]
+     * @return {module:echarts/model/Model}
+     */
+    getModel: function(path2) {
+      if (this.dataIndex < 0) {
+        return;
+      }
+      var hostTree = this.hostTree;
+      var itemModel = hostTree.data.getItemModel(this.dataIndex);
+      return itemModel.getModel(path2);
+    },
+    /**
+     * @example
+     *  setItemVisual('color', color);
+     *  setItemVisual({
+     *      'color': color
+     *  });
+     */
+    setVisual: function(key2, value) {
+      this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key2, value);
+    },
+    /**
+     * Get item visual
+     */
+    getVisual: function(key2, ignoreParent) {
+      return this.hostTree.data.getItemVisual(this.dataIndex, key2, ignoreParent);
+    },
+    /**
+     * @public
+     * @return {number}
+     */
+    getRawIndex: function() {
+      return this.hostTree.data.getRawIndex(this.dataIndex);
+    },
+    /**
+     * @public
+     * @return {string}
+     */
+    getId: function() {
+      return this.hostTree.data.getId(this.dataIndex);
+    },
+    /**
+     * if this is an ancestor of another node
+     *
+     * @public
+     * @param {TreeNode} node another node
+     * @return {boolean} if is ancestor
+     */
+    isAncestorOf: function(node) {
+      var parent3 = node.parentNode;
+      while (parent3) {
+        if (parent3 === this) {
+          return true;
+        }
+        parent3 = parent3.parentNode;
+      }
+      return false;
+    },
+    /**
+     * if this is an descendant of another node
+     *
+     * @public
+     * @param {TreeNode} node another node
+     * @return {boolean} if is descendant
+     */
+    isDescendantOf: function(node) {
+      return node !== this && node.isAncestorOf(this);
+    }
+  };
+  function Tree2(hostModel) {
+    this.root;
+    this.data;
+    this._nodes = [];
+    this.hostModel = hostModel;
+  }
+  Tree2.prototype = {
+    constructor: Tree2,
+    type: "tree",
+    /**
+     * Travel this subtree (include this node).
+     * Usage:
+     *    node.eachNode(function () { ... }); // preorder
+     *    node.eachNode('preorder', function () { ... }); // preorder
+     *    node.eachNode('postorder', function () { ... }); // postorder
+     *    node.eachNode(
+     *        {order: 'postorder', attr: 'viewChildren'},
+     *        function () { ... }
+     *    ); // postorder
+     *
+     * @param {(Object|string)} options If string, means order.
+     * @param {string=} options.order 'preorder' or 'postorder'
+     * @param {string=} options.attr 'children' or 'viewChildren'
+     * @param {Function} cb
+     * @param {Object}   [context]
+     */
+    eachNode: function(options2, cb, context) {
+      this.root.eachNode(options2, cb, context);
+    },
+    /**
+     * @param {number} dataIndex
+     * @return {module:echarts/data/Tree~TreeNode}
+     */
+    getNodeByDataIndex: function(dataIndex) {
+      var rawIndex = this.data.getRawIndex(dataIndex);
+      return this._nodes[rawIndex];
+    },
+    /**
+     * @param {string} name
+     * @return {module:echarts/data/Tree~TreeNode}
+     */
+    getNodeByName: function(name2) {
+      return this.root.getNodeByName(name2);
+    },
+    /**
+     * Update item available by list,
+     * when list has been performed options like 'filterSelf' or 'map'.
+     */
+    update: function() {
+      var data2 = this.data;
+      var nodes = this._nodes;
+      for (var i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+        nodes[i2].dataIndex = -1;
+      }
+      for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+        nodes[data2.getRawIndex(i2)].dataIndex = i2;
+      }
+    },
+    /**
+     * Clear all layouts
+     */
+    clearLayouts: function() {
+      this.data.clearItemLayouts();
+    }
+  };
+  Tree2.createTree = function(dataRoot, hostModel, beforeLink) {
+    var tree2 = new Tree2(hostModel);
+    var listData = [];
+    var dimMax = 1;
+    buildHierarchy(dataRoot);
+    function buildHierarchy(dataNode, parentNode2) {
+      var value = dataNode.value;
+      dimMax = Math.max(dimMax, zrUtil2.isArray(value) ? value.length : 1);
+      listData.push(dataNode);
+      var node = new TreeNode2(dataNode.name, tree2);
+      parentNode2 ? addChild2(node, parentNode2) : tree2.root = node;
+      tree2._nodes.push(node);
+      var children3 = dataNode.children;
+      if (children3) {
+        for (var i2 = 0; i2 < children3.length; i2++) {
+          buildHierarchy(children3[i2], node);
+        }
+      }
+    }
+    tree2.root.updateDepthAndHeight(0);
+    var dimensionsInfo = createDimensions2(listData, {
+      coordDimensions: ["value"],
+      dimensionsCount: dimMax
+    });
+    var list2 = new List(dimensionsInfo, hostModel);
+    list2.initData(listData);
+    beforeLink && beforeLink(list2);
+    linkList({
+      mainData: list2,
+      struct: tree2,
+      structAttr: "tree"
+    });
+    tree2.update();
+    return tree2;
+  };
+  function addChild2(child, node) {
+    var children3 = node.children;
+    if (child.parentNode === node) {
+      return;
+    }
+    children3.push(child);
+    child.parentNode = node;
+  }
+  var _default68 = Tree2;
+  Tree_1 = _default68;
+  return Tree_1;
+}
+var TreeSeries;
+var hasRequiredTreeSeries;
+function requireTreeSeries() {
+  if (hasRequiredTreeSeries)
+    return TreeSeries;
+  hasRequiredTreeSeries = 1;
+  var SeriesModel2 = Series;
+  var Tree2 = requireTree$1();
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var Model2 = Model_1;
+  var _default68 = SeriesModel2.extend({
+    type: "series.tree",
+    layoutInfo: null,
+    // can support the position parameters 'left', 'top','right','bottom', 'width',
+    // 'height' in the setOption() with 'merge' mode normal.
+    layoutMode: "box",
+    /**
+     * Init a tree data structure from data in option series
+     * @param  {Object} option  the object used to config echarts view
+     * @return {module:echarts/data/List} storage initial data
+     */
+    getInitialData: function(option) {
+      var root = {
+        name: option.name,
+        children: option.data
+      };
+      var leaves = option.leaves || {};
+      var leavesModel = new Model2(leaves, this, this.ecModel);
+      var tree2 = Tree2.createTree(root, this, beforeLink);
+      function beforeLink(nodeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var node = tree2.getNodeByDataIndex(idx);
+          if (!node.children.length || !node.isExpand) {
+            model2.parentModel = leavesModel;
+          }
+          return model2;
+        });
+      }
+      var treeDepth = 0;
+      tree2.eachNode("preorder", function(node) {
+        if (node.depth > treeDepth) {
+          treeDepth = node.depth;
+        }
+      });
+      var expandAndCollapse = option.expandAndCollapse;
+      var expandTreeDepth = expandAndCollapse && option.initialTreeDepth >= 0 ? option.initialTreeDepth : treeDepth;
+      tree2.root.eachNode("preorder", function(node) {
+        var item = node.hostTree.data.getRawDataItem(node.dataIndex);
+        node.isExpand = item && item.collapsed != null ? !item.collapsed : node.depth <= expandTreeDepth;
+      });
+      return tree2.data;
+    },
+    /**
+     * Make the configuration 'orient' backward compatibly, with 'horizontal = LR', 'vertical = TB'.
+     * @returns {string} orient
+     */
+    getOrient: function() {
+      var orient = this.get("orient");
+      if (orient === "horizontal") {
+        orient = "LR";
+      } else if (orient === "vertical") {
+        orient = "TB";
+      }
+      return orient;
+    },
+    setZoom: function(zoom) {
+      this.option.zoom = zoom;
+    },
+    setCenter: function(center2) {
+      this.option.center = center2;
+    },
+    /**
+     * @override
+     * @param {number} dataIndex
+     */
+    formatTooltip: function(dataIndex) {
+      var tree2 = this.getData().tree;
+      var realRoot = tree2.root.children[0];
+      var node = tree2.getNodeByDataIndex(dataIndex);
+      var value = node.getValue();
+      var name2 = node.name;
+      while (node && node !== realRoot) {
+        name2 = node.parentNode.name + "." + name2;
+        node = node.parentNode;
+      }
+      return encodeHTML2(name2 + (isNaN(value) || value == null ? "" : " : " + value));
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "view",
+      // the position of the whole view
+      left: "12%",
+      top: "12%",
+      right: "12%",
+      bottom: "12%",
+      // the layout of the tree, two value can be selected, 'orthogonal' or 'radial'
+      layout: "orthogonal",
+      // value can be 'polyline'
+      edgeShape: "curve",
+      edgeForkPosition: "50%",
+      // true | false | 'move' | 'scale', see module:component/helper/RoamController.
+      roam: false,
+      // Symbol size scale ratio in roam
+      nodeScaleRatio: 0.4,
+      // Default on center of graph
+      center: null,
+      zoom: 1,
+      // The orient of orthoginal layout, can be setted to 'LR', 'TB', 'RL', 'BT'.
+      // and the backward compatibility configuration 'horizontal = LR', 'vertical = TB'.
+      orient: "LR",
+      symbol: "emptyCircle",
+      symbolSize: 7,
+      expandAndCollapse: true,
+      initialTreeDepth: 2,
+      lineStyle: {
+        color: "#ccc",
+        width: 1.5,
+        curveness: 0.5
+      },
+      itemStyle: {
+        color: "lightsteelblue",
+        borderColor: "#c23531",
+        borderWidth: 1.5
+      },
+      label: {
+        show: true,
+        color: "#555"
+      },
+      leaves: {
+        label: {
+          show: true
+        }
+      },
+      animationEasing: "linear",
+      animationDuration: 700,
+      animationDurationUpdate: 1e3
+    }
+  });
+  TreeSeries = _default68;
+  return TreeSeries;
+}
+var layoutHelper = {};
+var hasRequiredLayoutHelper;
+function requireLayoutHelper() {
+  if (hasRequiredLayoutHelper)
+    return layoutHelper;
+  hasRequiredLayoutHelper = 1;
+  var layout2 = layout$5;
+  function init3(root) {
+    root.hierNode = {
+      defaultAncestor: null,
+      ancestor: root,
+      prelim: 0,
+      modifier: 0,
+      change: 0,
+      shift: 0,
+      i: 0,
+      thread: null
+    };
+    var nodes = [root];
+    var node;
+    var children3;
+    while (node = nodes.pop()) {
+      children3 = node.children;
+      if (node.isExpand && children3.length) {
+        var n2 = children3.length;
+        for (var i2 = n2 - 1; i2 >= 0; i2--) {
+          var child = children3[i2];
+          child.hierNode = {
+            defaultAncestor: null,
+            ancestor: child,
+            prelim: 0,
+            modifier: 0,
+            change: 0,
+            shift: 0,
+            i: i2,
+            thread: null
+          };
+          nodes.push(child);
+        }
+      }
+    }
+  }
+  function firstWalk2(node, separation3) {
+    var children3 = node.isExpand ? node.children : [];
+    var siblings = node.parentNode.children;
+    var subtreeW = node.hierNode.i ? siblings[node.hierNode.i - 1] : null;
+    if (children3.length) {
+      executeShifts2(node);
+      var midPoint = (children3[0].hierNode.prelim + children3[children3.length - 1].hierNode.prelim) / 2;
+      if (subtreeW) {
+        node.hierNode.prelim = subtreeW.hierNode.prelim + separation3(node, subtreeW);
+        node.hierNode.modifier = node.hierNode.prelim - midPoint;
+      } else {
+        node.hierNode.prelim = midPoint;
+      }
+    } else if (subtreeW) {
+      node.hierNode.prelim = subtreeW.hierNode.prelim + separation3(node, subtreeW);
+    }
+    node.parentNode.hierNode.defaultAncestor = apportion2(node, subtreeW, node.parentNode.hierNode.defaultAncestor || siblings[0], separation3);
+  }
+  function secondWalk2(node) {
+    var nodeX = node.hierNode.prelim + node.parentNode.hierNode.modifier;
+    node.setLayout({
+      x: nodeX
+    }, true);
+    node.hierNode.modifier += node.parentNode.hierNode.modifier;
+  }
+  function separation2(cb) {
+    return arguments.length ? cb : defaultSeparation2;
+  }
+  function radialCoordinate2(x2, y2) {
+    var radialCoor = {};
+    x2 -= Math.PI / 2;
+    radialCoor.x = y2 * Math.cos(x2);
+    radialCoor.y = y2 * Math.sin(x2);
+    return radialCoor;
+  }
+  function getViewRect2(seriesModel, api2) {
+    return layout2.getLayoutRect(seriesModel.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  }
+  function executeShifts2(node) {
+    var children3 = node.children;
+    var n2 = children3.length;
+    var shift = 0;
+    var change = 0;
+    while (--n2 >= 0) {
+      var child = children3[n2];
+      child.hierNode.prelim += shift;
+      child.hierNode.modifier += shift;
+      change += child.hierNode.change;
+      shift += child.hierNode.shift + change;
+    }
+  }
+  function apportion2(subtreeV, subtreeW, ancestor, separation3) {
+    if (subtreeW) {
+      var nodeOutRight = subtreeV;
+      var nodeInRight = subtreeV;
+      var nodeOutLeft = nodeInRight.parentNode.children[0];
+      var nodeInLeft = subtreeW;
+      var sumOutRight = nodeOutRight.hierNode.modifier;
+      var sumInRight = nodeInRight.hierNode.modifier;
+      var sumOutLeft = nodeOutLeft.hierNode.modifier;
+      var sumInLeft = nodeInLeft.hierNode.modifier;
+      while (nodeInLeft = nextRight2(nodeInLeft), nodeInRight = nextLeft2(nodeInRight), nodeInLeft && nodeInRight) {
+        nodeOutRight = nextRight2(nodeOutRight);
+        nodeOutLeft = nextLeft2(nodeOutLeft);
+        nodeOutRight.hierNode.ancestor = subtreeV;
+        var shift = nodeInLeft.hierNode.prelim + sumInLeft - nodeInRight.hierNode.prelim - sumInRight + separation3(nodeInLeft, nodeInRight);
+        if (shift > 0) {
+          moveSubtree2(nextAncestor2(nodeInLeft, subtreeV, ancestor), subtreeV, shift);
+          sumInRight += shift;
+          sumOutRight += shift;
+        }
+        sumInLeft += nodeInLeft.hierNode.modifier;
+        sumInRight += nodeInRight.hierNode.modifier;
+        sumOutRight += nodeOutRight.hierNode.modifier;
+        sumOutLeft += nodeOutLeft.hierNode.modifier;
+      }
+      if (nodeInLeft && !nextRight2(nodeOutRight)) {
+        nodeOutRight.hierNode.thread = nodeInLeft;
+        nodeOutRight.hierNode.modifier += sumInLeft - sumOutRight;
+      }
+      if (nodeInRight && !nextLeft2(nodeOutLeft)) {
+        nodeOutLeft.hierNode.thread = nodeInRight;
+        nodeOutLeft.hierNode.modifier += sumInRight - sumOutLeft;
+        ancestor = subtreeV;
+      }
+    }
+    return ancestor;
+  }
+  function nextRight2(node) {
+    var children3 = node.children;
+    return children3.length && node.isExpand ? children3[children3.length - 1] : node.hierNode.thread;
+  }
+  function nextLeft2(node) {
+    var children3 = node.children;
+    return children3.length && node.isExpand ? children3[0] : node.hierNode.thread;
+  }
+  function nextAncestor2(nodeInLeft, node, ancestor) {
+    return nodeInLeft.hierNode.ancestor.parentNode === node.parentNode ? nodeInLeft.hierNode.ancestor : ancestor;
+  }
+  function moveSubtree2(wl, wr, shift) {
+    var change = shift / (wr.hierNode.i - wl.hierNode.i);
+    wr.hierNode.change -= change;
+    wr.hierNode.shift += shift;
+    wr.hierNode.modifier += shift;
+    wr.hierNode.prelim += shift;
+    wl.hierNode.change += change;
+  }
+  function defaultSeparation2(node1, node2) {
+    return node1.parentNode === node2.parentNode ? 1 : 2;
+  }
+  layoutHelper.init = init3;
+  layoutHelper.firstWalk = firstWalk2;
+  layoutHelper.secondWalk = secondWalk2;
+  layoutHelper.separation = separation2;
+  layoutHelper.radialCoordinate = radialCoordinate2;
+  layoutHelper.getViewRect = getViewRect2;
+  return layoutHelper;
+}
+var TreeView$2;
+var hasRequiredTreeView;
+function requireTreeView() {
+  if (hasRequiredTreeView)
+    return TreeView$2;
+  hasRequiredTreeView = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var SymbolClz2 = require_Symbol();
+  var _layoutHelper = requireLayoutHelper();
+  var radialCoordinate2 = _layoutHelper.radialCoordinate;
+  var echarts2 = echarts$1;
+  var bbox2 = requireBbox();
+  var View2 = requireView();
+  var roamHelper2 = requireRoamHelper$1();
+  var RoamController2 = requireRoamController();
+  var _cursorHelper = requireCursorHelper();
+  var onIrrelevantElement2 = _cursorHelper.onIrrelevantElement;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var TreeShape = graphic2.extendShape({
+    shape: {
+      parentPoint: [],
+      childPoints: [],
+      orient: "",
+      forkPosition: ""
+    },
+    style: {
+      stroke: "#000",
+      fill: null
+    },
+    buildPath: function(ctx, shape) {
+      var childPoints = shape.childPoints;
+      var childLen = childPoints.length;
+      var parentPoint = shape.parentPoint;
+      var firstChildPos = childPoints[0];
+      var lastChildPos = childPoints[childLen - 1];
+      if (childLen === 1) {
+        ctx.moveTo(parentPoint[0], parentPoint[1]);
+        ctx.lineTo(firstChildPos[0], firstChildPos[1]);
+        return;
+      }
+      var orient = shape.orient;
+      var forkDim = orient === "TB" || orient === "BT" ? 0 : 1;
+      var otherDim = 1 - forkDim;
+      var forkPosition = parsePercent2(shape.forkPosition, 1);
+      var tmpPoint = [];
+      tmpPoint[forkDim] = parentPoint[forkDim];
+      tmpPoint[otherDim] = parentPoint[otherDim] + (lastChildPos[otherDim] - parentPoint[otherDim]) * forkPosition;
+      ctx.moveTo(parentPoint[0], parentPoint[1]);
+      ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      ctx.moveTo(firstChildPos[0], firstChildPos[1]);
+      tmpPoint[forkDim] = firstChildPos[forkDim];
+      ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      tmpPoint[forkDim] = lastChildPos[forkDim];
+      ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      ctx.lineTo(lastChildPos[0], lastChildPos[1]);
+      for (var i2 = 1; i2 < childLen - 1; i2++) {
+        var point = childPoints[i2];
+        ctx.moveTo(point[0], point[1]);
+        tmpPoint[forkDim] = point[forkDim];
+        ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      }
+    }
+  });
+  var _default68 = echarts2.extendChartView({
+    type: "tree",
+    /**
+     * Init the chart
+     * @override
+     * @param  {module:echarts/model/Global} ecModel
+     * @param  {module:echarts/ExtensionAPI} api
+     */
+    init: function(ecModel, api2) {
+      this._oldTree;
+      this._mainGroup = new graphic2.Group();
+      this._controller = new RoamController2(api2.getZr());
+      this._controllerHost = {
+        target: this.group
+      };
+      this.group.add(this._mainGroup);
+    },
+    render: function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var layoutInfo = seriesModel.layoutInfo;
+      var group = this._mainGroup;
+      var layout2 = seriesModel.get("layout");
+      if (layout2 === "radial") {
+        group.attr("position", [layoutInfo.x + layoutInfo.width / 2, layoutInfo.y + layoutInfo.height / 2]);
+      } else {
+        group.attr("position", [layoutInfo.x, layoutInfo.y]);
+      }
+      this._updateViewCoordSys(seriesModel, layoutInfo, layout2);
+      this._updateController(seriesModel, ecModel, api2);
+      var oldData = this._data;
+      var seriesScope = {
+        expandAndCollapse: seriesModel.get("expandAndCollapse"),
+        layout: layout2,
+        edgeShape: seriesModel.get("edgeShape"),
+        edgeForkPosition: seriesModel.get("edgeForkPosition"),
+        orient: seriesModel.getOrient(),
+        curvature: seriesModel.get("lineStyle.curveness"),
+        symbolRotate: seriesModel.get("symbolRotate"),
+        symbolOffset: seriesModel.get("symbolOffset"),
+        hoverAnimation: seriesModel.get("hoverAnimation"),
+        useNameLabel: true,
+        fadeIn: true
+      };
+      data2.diff(oldData).add(function(newIdx) {
+        if (symbolNeedsDraw2(data2, newIdx)) {
+          updateNode2(data2, newIdx, null, group, seriesModel, seriesScope);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        if (!symbolNeedsDraw2(data2, newIdx)) {
+          symbolEl && removeNode2(oldData, oldIdx, symbolEl, group, seriesModel, seriesScope);
+          return;
+        }
+        updateNode2(data2, newIdx, symbolEl, group, seriesModel, seriesScope);
+      }).remove(function(oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        if (symbolEl) {
+          removeNode2(oldData, oldIdx, symbolEl, group, seriesModel, seriesScope);
+        }
+      }).execute();
+      this._nodeScaleRatio = seriesModel.get("nodeScaleRatio");
+      this._updateNodeAndLinkScale(seriesModel);
+      if (seriesScope.expandAndCollapse === true) {
+        data2.eachItemGraphicEl(function(el, dataIndex) {
+          el.off("click").on("click", function() {
+            api2.dispatchAction({
+              type: "treeExpandAndCollapse",
+              seriesId: seriesModel.id,
+              dataIndex
+            });
+          });
+        });
+      }
+      this._data = data2;
+    },
+    _updateViewCoordSys: function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var points2 = [];
+      data2.each(function(idx) {
+        var layout2 = data2.getItemLayout(idx);
+        if (layout2 && !isNaN(layout2.x) && !isNaN(layout2.y)) {
+          points2.push([+layout2.x, +layout2.y]);
+        }
+      });
+      var min3 = [];
+      var max3 = [];
+      bbox2.fromPoints(points2, min3, max3);
+      var oldMin = this._min;
+      var oldMax = this._max;
+      if (max3[0] - min3[0] === 0) {
+        min3[0] = oldMin ? oldMin[0] : min3[0] - 1;
+        max3[0] = oldMax ? oldMax[0] : max3[0] + 1;
+      }
+      if (max3[1] - min3[1] === 0) {
+        min3[1] = oldMin ? oldMin[1] : min3[1] - 1;
+        max3[1] = oldMax ? oldMax[1] : max3[1] + 1;
+      }
+      var viewCoordSys = seriesModel.coordinateSystem = new View2();
+      viewCoordSys.zoomLimit = seriesModel.get("scaleLimit");
+      viewCoordSys.setBoundingRect(min3[0], min3[1], max3[0] - min3[0], max3[1] - min3[1]);
+      viewCoordSys.setCenter(seriesModel.get("center"));
+      viewCoordSys.setZoom(seriesModel.get("zoom"));
+      this.group.attr({
+        position: viewCoordSys.position,
+        scale: viewCoordSys.scale
+      });
+      this._viewCoordSys = viewCoordSys;
+      this._min = min3;
+      this._max = max3;
+    },
+    _updateController: function(seriesModel, ecModel, api2) {
+      var controller = this._controller;
+      var controllerHost = this._controllerHost;
+      var group = this.group;
+      controller.setPointerChecker(function(e2, x2, y2) {
+        var rect = group.getBoundingRect();
+        rect.applyTransform(group.transform);
+        return rect.contain(x2, y2) && !onIrrelevantElement2(e2, api2, seriesModel);
+      });
+      controller.enable(seriesModel.get("roam"));
+      controllerHost.zoomLimit = seriesModel.get("scaleLimit");
+      controllerHost.zoom = seriesModel.coordinateSystem.getZoom();
+      controller.off("pan").off("zoom").on("pan", function(e2) {
+        roamHelper2.updateViewOnPan(controllerHost, e2.dx, e2.dy);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "treeRoam",
+          dx: e2.dx,
+          dy: e2.dy
+        });
+      }, this).on("zoom", function(e2) {
+        roamHelper2.updateViewOnZoom(controllerHost, e2.scale, e2.originX, e2.originY);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "treeRoam",
+          zoom: e2.scale,
+          originX: e2.originX,
+          originY: e2.originY
+        });
+        this._updateNodeAndLinkScale(seriesModel);
+      }, this);
+    },
+    _updateNodeAndLinkScale: function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var nodeScale = this._getNodeGlobalScale(seriesModel);
+      var invScale = [nodeScale, nodeScale];
+      data2.eachItemGraphicEl(function(el, idx) {
+        el.attr("scale", invScale);
+      });
+    },
+    _getNodeGlobalScale: function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys.type !== "view") {
+        return 1;
+      }
+      var nodeScaleRatio = this._nodeScaleRatio;
+      var groupScale = coordSys.scale;
+      var groupZoom = groupScale && groupScale[0] || 1;
+      var roamZoom = coordSys.getZoom();
+      var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;
+      return nodeScale / groupZoom;
+    },
+    dispose: function() {
+      this._controller && this._controller.dispose();
+      this._controllerHost = {};
+    },
+    remove: function() {
+      this._mainGroup.removeAll();
+      this._data = null;
+    }
+  });
+  function symbolNeedsDraw2(data2, dataIndex) {
+    var layout2 = data2.getItemLayout(dataIndex);
+    return layout2 && !isNaN(layout2.x) && !isNaN(layout2.y) && data2.getItemVisual(dataIndex, "symbol") !== "none";
+  }
+  function getTreeNodeStyle(node, itemModel, seriesScope) {
+    seriesScope.itemModel = itemModel;
+    seriesScope.itemStyle = itemModel.getModel("itemStyle").getItemStyle();
+    seriesScope.hoverItemStyle = itemModel.getModel("emphasis.itemStyle").getItemStyle();
+    seriesScope.lineStyle = itemModel.getModel("lineStyle").getLineStyle();
+    seriesScope.labelModel = itemModel.getModel("label");
+    seriesScope.hoverLabelModel = itemModel.getModel("emphasis.label");
+    if (node.isExpand === false && node.children.length !== 0) {
+      seriesScope.symbolInnerColor = seriesScope.itemStyle.fill;
+    } else {
+      seriesScope.symbolInnerColor = "#fff";
+    }
+    return seriesScope;
+  }
+  function updateNode2(data2, dataIndex, symbolEl, group, seriesModel, seriesScope) {
+    var isInit = !symbolEl;
+    var node = data2.tree.getNodeByDataIndex(dataIndex);
+    var itemModel = node.getModel();
+    var seriesScope = getTreeNodeStyle(node, itemModel, seriesScope);
+    var virtualRoot = data2.tree.root;
+    var source2 = node.parentNode === virtualRoot ? node : node.parentNode || node;
+    var sourceSymbolEl = data2.getItemGraphicEl(source2.dataIndex);
+    var sourceLayout = source2.getLayout();
+    var sourceOldLayout = sourceSymbolEl ? {
+      x: sourceSymbolEl.position[0],
+      y: sourceSymbolEl.position[1],
+      rawX: sourceSymbolEl.__radialOldRawX,
+      rawY: sourceSymbolEl.__radialOldRawY
+    } : sourceLayout;
+    var targetLayout = node.getLayout();
+    if (isInit) {
+      symbolEl = new SymbolClz2(data2, dataIndex, seriesScope);
+      symbolEl.attr("position", [sourceOldLayout.x, sourceOldLayout.y]);
+    } else {
+      symbolEl.updateData(data2, dataIndex, seriesScope);
+    }
+    symbolEl.__radialOldRawX = symbolEl.__radialRawX;
+    symbolEl.__radialOldRawY = symbolEl.__radialRawY;
+    symbolEl.__radialRawX = targetLayout.rawX;
+    symbolEl.__radialRawY = targetLayout.rawY;
+    group.add(symbolEl);
+    data2.setItemGraphicEl(dataIndex, symbolEl);
+    graphic2.updateProps(symbolEl, {
+      position: [targetLayout.x, targetLayout.y]
+    }, seriesModel);
+    var symbolPath = symbolEl.getSymbolPath();
+    if (seriesScope.layout === "radial") {
+      var realRoot = virtualRoot.children[0];
+      var rootLayout = realRoot.getLayout();
+      var length2 = realRoot.children.length;
+      var rad;
+      var isLeft;
+      if (targetLayout.x === rootLayout.x && node.isExpand === true) {
+        var center2 = {};
+        center2.x = (realRoot.children[0].getLayout().x + realRoot.children[length2 - 1].getLayout().x) / 2;
+        center2.y = (realRoot.children[0].getLayout().y + realRoot.children[length2 - 1].getLayout().y) / 2;
+        rad = Math.atan2(center2.y - rootLayout.y, center2.x - rootLayout.x);
+        if (rad < 0) {
+          rad = Math.PI * 2 + rad;
+        }
+        isLeft = center2.x < rootLayout.x;
+        if (isLeft) {
+          rad = rad - Math.PI;
+        }
+      } else {
+        rad = Math.atan2(targetLayout.y - rootLayout.y, targetLayout.x - rootLayout.x);
+        if (rad < 0) {
+          rad = Math.PI * 2 + rad;
+        }
+        if (node.children.length === 0 || node.children.length !== 0 && node.isExpand === false) {
+          isLeft = targetLayout.x < rootLayout.x;
+          if (isLeft) {
+            rad = rad - Math.PI;
+          }
+        } else {
+          isLeft = targetLayout.x > rootLayout.x;
+          if (!isLeft) {
+            rad = rad - Math.PI;
+          }
+        }
+      }
+      var textPosition = isLeft ? "left" : "right";
+      var rotate2 = seriesScope.labelModel.get("rotate");
+      var labelRotateRadian = rotate2 * (Math.PI / 180);
+      symbolPath.setStyle({
+        textPosition: seriesScope.labelModel.get("position") || textPosition,
+        textRotation: rotate2 == null ? -rad : labelRotateRadian,
+        textOrigin: "center",
+        verticalAlign: "middle"
+      });
+    }
+    drawEdge2(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group, seriesScope);
+  }
+  function drawEdge2(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group, seriesScope) {
+    var edgeShape = seriesScope.edgeShape;
+    var edge = symbolEl.__edge;
+    if (edgeShape === "curve") {
+      if (node.parentNode && node.parentNode !== virtualRoot) {
+        if (!edge) {
+          edge = symbolEl.__edge = new graphic2.BezierCurve({
+            shape: getEdgeShape2(seriesScope, sourceOldLayout, sourceOldLayout),
+            style: zrUtil2.defaults({
+              opacity: 0,
+              strokeNoScale: true
+            }, seriesScope.lineStyle)
+          });
+        }
+        graphic2.updateProps(edge, {
+          shape: getEdgeShape2(seriesScope, sourceLayout, targetLayout),
+          style: zrUtil2.defaults({
+            opacity: 1
+          }, seriesScope.lineStyle)
+        }, seriesModel);
+      }
+    } else if (edgeShape === "polyline") {
+      if (seriesScope.layout === "orthogonal") {
+        if (node !== virtualRoot && node.children && node.children.length !== 0 && node.isExpand === true) {
+          var children3 = node.children;
+          var childPoints = [];
+          for (var i2 = 0; i2 < children3.length; i2++) {
+            var childLayout = children3[i2].getLayout();
+            childPoints.push([childLayout.x, childLayout.y]);
+          }
+          if (!edge) {
+            edge = symbolEl.__edge = new TreeShape({
+              shape: {
+                parentPoint: [targetLayout.x, targetLayout.y],
+                childPoints: [[targetLayout.x, targetLayout.y]],
+                orient: seriesScope.orient,
+                forkPosition: seriesScope.edgeForkPosition
+              },
+              style: zrUtil2.defaults({
+                opacity: 0,
+                strokeNoScale: true
+              }, seriesScope.lineStyle)
+            });
+          }
+          graphic2.updateProps(edge, {
+            shape: {
+              parentPoint: [targetLayout.x, targetLayout.y],
+              childPoints
+            },
+            style: zrUtil2.defaults({
+              opacity: 1
+            }, seriesScope.lineStyle)
+          }, seriesModel);
+        }
+      }
+    }
+    group.add(edge);
+  }
+  function removeNode2(data2, dataIndex, symbolEl, group, seriesModel, seriesScope) {
+    var node = data2.tree.getNodeByDataIndex(dataIndex);
+    var virtualRoot = data2.tree.root;
+    var itemModel = node.getModel();
+    var seriesScope = getTreeNodeStyle(node, itemModel, seriesScope);
+    var source2 = node.parentNode === virtualRoot ? node : node.parentNode || node;
+    var edgeShape = seriesScope.edgeShape;
+    var sourceLayout;
+    while (sourceLayout = source2.getLayout(), sourceLayout == null) {
+      source2 = source2.parentNode === virtualRoot ? source2 : source2.parentNode || source2;
+    }
+    graphic2.updateProps(symbolEl, {
+      position: [sourceLayout.x + 1, sourceLayout.y + 1]
+    }, seriesModel, function() {
+      group.remove(symbolEl);
+      data2.setItemGraphicEl(dataIndex, null);
+    });
+    symbolEl.fadeOut(null, {
+      keepLabel: true
+    });
+    var sourceSymbolEl = data2.getItemGraphicEl(source2.dataIndex);
+    var sourceEdge = sourceSymbolEl.__edge;
+    var edge = symbolEl.__edge || (source2.isExpand === false || source2.children.length === 1 ? sourceEdge : void 0);
+    var edgeShape = seriesScope.edgeShape;
+    if (edge) {
+      if (edgeShape === "curve") {
+        graphic2.updateProps(edge, {
+          shape: getEdgeShape2(seriesScope, sourceLayout, sourceLayout),
+          style: {
+            opacity: 0
+          }
+        }, seriesModel, function() {
+          group.remove(edge);
+        });
+      } else if (edgeShape === "polyline" && seriesScope.layout === "orthogonal") {
+        graphic2.updateProps(edge, {
+          shape: {
+            parentPoint: [sourceLayout.x, sourceLayout.y],
+            childPoints: [[sourceLayout.x, sourceLayout.y]]
+          },
+          style: {
+            opacity: 0
+          }
+        }, seriesModel, function() {
+          group.remove(edge);
+        });
+      }
+    }
+  }
+  function getEdgeShape2(seriesScope, sourceLayout, targetLayout) {
+    var cpx1;
+    var cpy1;
+    var cpx2;
+    var cpy2;
+    var orient = seriesScope.orient;
+    var x1;
+    var x2;
+    var y1;
+    var y2;
+    if (seriesScope.layout === "radial") {
+      x1 = sourceLayout.rawX;
+      y1 = sourceLayout.rawY;
+      x2 = targetLayout.rawX;
+      y2 = targetLayout.rawY;
+      var radialCoor1 = radialCoordinate2(x1, y1);
+      var radialCoor2 = radialCoordinate2(x1, y1 + (y2 - y1) * seriesScope.curvature);
+      var radialCoor3 = radialCoordinate2(x2, y2 + (y1 - y2) * seriesScope.curvature);
+      var radialCoor4 = radialCoordinate2(x2, y2);
+      return {
+        x1: radialCoor1.x,
+        y1: radialCoor1.y,
+        x2: radialCoor4.x,
+        y2: radialCoor4.y,
+        cpx1: radialCoor2.x,
+        cpy1: radialCoor2.y,
+        cpx2: radialCoor3.x,
+        cpy2: radialCoor3.y
+      };
+    } else {
+      x1 = sourceLayout.x;
+      y1 = sourceLayout.y;
+      x2 = targetLayout.x;
+      y2 = targetLayout.y;
+      if (orient === "LR" || orient === "RL") {
+        cpx1 = x1 + (x2 - x1) * seriesScope.curvature;
+        cpy1 = y1;
+        cpx2 = x2 + (x1 - x2) * seriesScope.curvature;
+        cpy2 = y2;
+      }
+      if (orient === "TB" || orient === "BT") {
+        cpx1 = x1;
+        cpy1 = y1 + (y2 - y1) * seriesScope.curvature;
+        cpx2 = x2;
+        cpy2 = y2 + (y1 - y2) * seriesScope.curvature;
+      }
+    }
+    return {
+      x1,
+      y1,
+      x2,
+      y2,
+      cpx1,
+      cpy1,
+      cpx2,
+      cpy2
+    };
+  }
+  TreeView$2 = _default68;
+  return TreeView$2;
+}
+var treeAction = {};
+var hasRequiredTreeAction;
+function requireTreeAction() {
+  if (hasRequiredTreeAction)
+    return treeAction;
+  hasRequiredTreeAction = 1;
+  var echarts2 = echarts$1;
+  var _roamHelper = requireRoamHelper();
+  var updateCenterAndZoom2 = _roamHelper.updateCenterAndZoom;
+  echarts2.registerAction({
+    type: "treeExpandAndCollapse",
+    event: "treeExpandAndCollapse",
+    update: "update"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "tree",
+      query: payload
+    }, function(seriesModel) {
+      var dataIndex = payload.dataIndex;
+      var tree2 = seriesModel.getData().tree;
+      var node = tree2.getNodeByDataIndex(dataIndex);
+      node.isExpand = !node.isExpand;
+    });
+  });
+  echarts2.registerAction({
+    type: "treeRoam",
+    event: "treeRoam",
+    // Here we set 'none' instead of 'update', because roam action
+    // just need to update the transform matrix without having to recalculate
+    // the layout. So don't need to go through the whole update process, such
+    // as 'dataPrcocess', 'coordSystemUpdate', 'layout' and so on.
+    update: "none"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "tree",
+      query: payload
+    }, function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var res = updateCenterAndZoom2(coordSys, payload);
+      seriesModel.setCenter && seriesModel.setCenter(res.center);
+      seriesModel.setZoom && seriesModel.setZoom(res.zoom);
+    });
+  });
+  return treeAction;
+}
+var traversalHelper = {};
+var hasRequiredTraversalHelper;
+function requireTraversalHelper() {
+  if (hasRequiredTraversalHelper)
+    return traversalHelper;
+  hasRequiredTraversalHelper = 1;
+  function eachAfter2(root, callback, separation2) {
+    var nodes = [root];
+    var next = [];
+    var node;
+    while (node = nodes.pop()) {
+      next.push(node);
+      if (node.isExpand) {
+        var children3 = node.children;
+        if (children3.length) {
+          for (var i2 = 0; i2 < children3.length; i2++) {
+            nodes.push(children3[i2]);
+          }
+        }
+      }
+    }
+    while (node = next.pop()) {
+      callback(node, separation2);
+    }
+  }
+  function eachBefore2(root, callback) {
+    var nodes = [root];
+    var node;
+    while (node = nodes.pop()) {
+      callback(node);
+      if (node.isExpand) {
+        var children3 = node.children;
+        if (children3.length) {
+          for (var i2 = children3.length - 1; i2 >= 0; i2--) {
+            nodes.push(children3[i2]);
+          }
+        }
+      }
+    }
+  }
+  traversalHelper.eachAfter = eachAfter2;
+  traversalHelper.eachBefore = eachBefore2;
+  return traversalHelper;
+}
+var treeLayout$1;
+var hasRequiredTreeLayout;
+function requireTreeLayout() {
+  if (hasRequiredTreeLayout)
+    return treeLayout$1;
+  hasRequiredTreeLayout = 1;
+  var _traversalHelper = requireTraversalHelper();
+  var eachAfter2 = _traversalHelper.eachAfter;
+  var eachBefore2 = _traversalHelper.eachBefore;
+  var _layoutHelper = requireLayoutHelper();
+  var init3 = _layoutHelper.init;
+  var firstWalk2 = _layoutHelper.firstWalk;
+  var secondWalk2 = _layoutHelper.secondWalk;
+  var sep = _layoutHelper.separation;
+  var radialCoordinate2 = _layoutHelper.radialCoordinate;
+  var getViewRect2 = _layoutHelper.getViewRect;
+  function _default68(ecModel, api2) {
+    ecModel.eachSeriesByType("tree", function(seriesModel) {
+      commonLayout2(seriesModel, api2);
+    });
+  }
+  function commonLayout2(seriesModel, api2) {
+    var layoutInfo = getViewRect2(seriesModel, api2);
+    seriesModel.layoutInfo = layoutInfo;
+    var layout2 = seriesModel.get("layout");
+    var width = 0;
+    var height = 0;
+    var separation2 = null;
+    if (layout2 === "radial") {
+      width = 2 * Math.PI;
+      height = Math.min(layoutInfo.height, layoutInfo.width) / 2;
+      separation2 = sep(function(node1, node2) {
+        return (node1.parentNode === node2.parentNode ? 1 : 2) / node1.depth;
+      });
+    } else {
+      width = layoutInfo.width;
+      height = layoutInfo.height;
+      separation2 = sep();
+    }
+    var virtualRoot = seriesModel.getData().tree.root;
+    var realRoot = virtualRoot.children[0];
+    if (realRoot) {
+      init3(virtualRoot);
+      eachAfter2(realRoot, firstWalk2, separation2);
+      virtualRoot.hierNode.modifier = -realRoot.hierNode.prelim;
+      eachBefore2(realRoot, secondWalk2);
+      var left = realRoot;
+      var right = realRoot;
+      var bottom = realRoot;
+      eachBefore2(realRoot, function(node) {
+        var x2 = node.getLayout().x;
+        if (x2 < left.getLayout().x) {
+          left = node;
+        }
+        if (x2 > right.getLayout().x) {
+          right = node;
+        }
+        if (node.depth > bottom.depth) {
+          bottom = node;
+        }
+      });
+      var delta = left === right ? 1 : separation2(left, right) / 2;
+      var tx = delta - left.getLayout().x;
+      var kx = 0;
+      var ky = 0;
+      var coorX = 0;
+      var coorY = 0;
+      if (layout2 === "radial") {
+        kx = width / (right.getLayout().x + delta + tx);
+        ky = height / (bottom.depth - 1 || 1);
+        eachBefore2(realRoot, function(node) {
+          coorX = (node.getLayout().x + tx) * kx;
+          coorY = (node.depth - 1) * ky;
+          var finalCoor = radialCoordinate2(coorX, coorY);
+          node.setLayout({
+            x: finalCoor.x,
+            y: finalCoor.y,
+            rawX: coorX,
+            rawY: coorY
+          }, true);
+        });
+      } else {
+        var orient = seriesModel.getOrient();
+        if (orient === "RL" || orient === "LR") {
+          ky = height / (right.getLayout().x + delta + tx);
+          kx = width / (bottom.depth - 1 || 1);
+          eachBefore2(realRoot, function(node) {
+            coorY = (node.getLayout().x + tx) * ky;
+            coorX = orient === "LR" ? (node.depth - 1) * kx : width - (node.depth - 1) * kx;
+            node.setLayout({
+              x: coorX,
+              y: coorY
+            }, true);
+          });
+        } else if (orient === "TB" || orient === "BT") {
+          kx = width / (right.getLayout().x + delta + tx);
+          ky = height / (bottom.depth - 1 || 1);
+          eachBefore2(realRoot, function(node) {
+            coorX = (node.getLayout().x + tx) * kx;
+            coorY = orient === "TB" ? (node.depth - 1) * ky : height - (node.depth - 1) * ky;
+            node.setLayout({
+              x: coorX,
+              y: coorY
+            }, true);
+          });
+        }
+      }
+    }
+  }
+  treeLayout$1 = _default68;
+  return treeLayout$1;
+}
+var hasRequiredTree;
+function requireTree() {
+  if (hasRequiredTree)
+    return tree;
+  hasRequiredTree = 1;
+  var echarts2 = echarts$1;
+  requireTreeSeries();
+  requireTreeView();
+  requireTreeAction();
+  var visualSymbol = requireSymbol();
+  var treeLayout2 = requireTreeLayout();
+  echarts2.registerVisual(visualSymbol("tree", "circle"));
+  echarts2.registerLayout(treeLayout2);
+  return tree;
+}
+var treemap = {};
+var treeHelper = {};
+var hasRequiredTreeHelper;
+function requireTreeHelper() {
+  if (hasRequiredTreeHelper)
+    return treeHelper;
+  hasRequiredTreeHelper = 1;
+  var zrUtil2 = util$a;
+  function retrieveTargetInfo2(payload, validPayloadTypes, seriesModel) {
+    if (payload && zrUtil2.indexOf(validPayloadTypes, payload.type) >= 0) {
+      var root = seriesModel.getData().tree.root;
+      var targetNode = payload.targetNode;
+      if (typeof targetNode === "string") {
+        targetNode = root.getNodeById(targetNode);
+      }
+      if (targetNode && root.contains(targetNode)) {
+        return {
+          node: targetNode
+        };
+      }
+      var targetNodeId = payload.targetNodeId;
+      if (targetNodeId != null && (targetNode = root.getNodeById(targetNodeId))) {
+        return {
+          node: targetNode
+        };
+      }
+    }
+  }
+  function getPathToRoot2(node) {
+    var path2 = [];
+    while (node) {
+      node = node.parentNode;
+      node && path2.push(node);
+    }
+    return path2.reverse();
+  }
+  function aboveViewRoot2(viewRoot, node) {
+    var viewPath = getPathToRoot2(viewRoot);
+    return zrUtil2.indexOf(viewPath, node) >= 0;
+  }
+  function wrapTreePathInfo2(node, seriesModel) {
+    var treePathInfo = [];
+    while (node) {
+      var nodeDataIndex = node.dataIndex;
+      treePathInfo.push({
+        name: node.name,
+        dataIndex: nodeDataIndex,
+        value: seriesModel.getRawValue(nodeDataIndex)
+      });
+      node = node.parentNode;
+    }
+    treePathInfo.reverse();
+    return treePathInfo;
+  }
+  treeHelper.retrieveTargetInfo = retrieveTargetInfo2;
+  treeHelper.getPathToRoot = getPathToRoot2;
+  treeHelper.aboveViewRoot = aboveViewRoot2;
+  treeHelper.wrapTreePathInfo = wrapTreePathInfo2;
+  return treeHelper;
+}
+var TreemapSeries;
+var hasRequiredTreemapSeries;
+function requireTreemapSeries() {
+  if (hasRequiredTreemapSeries)
+    return TreemapSeries;
+  hasRequiredTreemapSeries = 1;
+  var zrUtil2 = util$a;
+  var SeriesModel2 = Series;
+  var Tree2 = requireTree$1();
+  var Model2 = Model_1;
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var addCommas2 = _format2.addCommas;
+  var _treeHelper = requireTreeHelper();
+  var wrapTreePathInfo2 = _treeHelper.wrapTreePathInfo;
+  var _default68 = SeriesModel2.extend({
+    type: "series.treemap",
+    layoutMode: "box",
+    dependencies: ["grid", "polar"],
+    preventUsingHoverLayer: true,
+    /**
+     * @type {module:echarts/data/Tree~Node}
+     */
+    _viewRoot: null,
+    defaultOption: {
+      // Disable progressive rendering
+      progressive: 0,
+      // center: ['50%', '50%'],          // not supported in ec3.
+      // size: ['80%', '80%'],            // deprecated, compatible with ec2.
+      left: "center",
+      top: "middle",
+      right: null,
+      bottom: null,
+      width: "80%",
+      height: "80%",
+      sort: true,
+      // Can be null or false or true
+      // (order by desc default, asc not supported yet (strange effect))
+      clipWindow: "origin",
+      // Size of clipped window when zooming. 'origin' or 'fullscreen'
+      squareRatio: 0.5 * (1 + Math.sqrt(5)),
+      // golden ratio
+      leafDepth: null,
+      // Nodes on depth from root are regarded as leaves.
+      // Count from zero (zero represents only view root).
+      drillDownIcon: "▶",
+      // Use html character temporarily because it is complicated
+      // to align specialized icon. ▷▶❒❐▼✚
+      zoomToNodeRatio: 0.32 * 0.32,
+      // Be effective when using zoomToNode. Specify the proportion of the
+      // target node area in the view area.
+      roam: true,
+      // true, false, 'scale' or 'zoom', 'move'.
+      nodeClick: "zoomToNode",
+      // Leaf node click behaviour: 'zoomToNode', 'link', false.
+      // If leafDepth is set and clicking a node which has children but
+      // be on left depth, the behaviour would be changing root. Otherwise
+      // use behavious defined above.
+      animation: true,
+      animationDurationUpdate: 900,
+      animationEasing: "quinticInOut",
+      breadcrumb: {
+        show: true,
+        height: 22,
+        left: "center",
+        top: "bottom",
+        // right
+        // bottom
+        emptyItemWidth: 25,
+        // Width of empty node.
+        itemStyle: {
+          color: "rgba(0,0,0,0.7)",
+          //'#5793f3',
+          borderColor: "rgba(255,255,255,0.7)",
+          borderWidth: 1,
+          shadowColor: "rgba(150,150,150,1)",
+          shadowBlur: 3,
+          shadowOffsetX: 0,
+          shadowOffsetY: 0,
+          textStyle: {
+            color: "#fff"
+          }
+        },
+        emphasis: {
+          textStyle: {}
+        }
+      },
+      label: {
+        show: true,
+        // Do not use textDistance, for ellipsis rect just the same as treemap node rect.
+        distance: 0,
+        padding: 5,
+        position: "inside",
+        // Can be [5, '5%'] or position stirng like 'insideTopLeft', ...
+        // formatter: null,
+        color: "#fff",
+        ellipsis: true
+        // align
+        // verticalAlign
+      },
+      upperLabel: {
+        // Label when node is parent.
+        show: false,
+        position: [0, "50%"],
+        height: 20,
+        // formatter: null,
+        color: "#fff",
+        ellipsis: true,
+        // align: null,
+        verticalAlign: "middle"
+      },
+      itemStyle: {
+        color: null,
+        // Can be 'none' if not necessary.
+        colorAlpha: null,
+        // Can be 'none' if not necessary.
+        colorSaturation: null,
+        // Can be 'none' if not necessary.
+        borderWidth: 0,
+        gapWidth: 0,
+        borderColor: "#fff",
+        borderColorSaturation: null
+        // If specified, borderColor will be ineffective, and the
+        // border color is evaluated by color of current node and
+        // borderColorSaturation.
+      },
+      emphasis: {
+        upperLabel: {
+          show: true,
+          position: [0, "50%"],
+          color: "#fff",
+          ellipsis: true,
+          verticalAlign: "middle"
+        }
+      },
+      visualDimension: 0,
+      // Can be 0, 1, 2, 3.
+      visualMin: null,
+      visualMax: null,
+      color: [],
+      // + treemapSeries.color should not be modified. Please only modified
+      // level[n].color (if necessary).
+      // + Specify color list of each level. level[0].color would be global
+      // color list if not specified. (see method `setDefault`).
+      // + But set as a empty array to forbid fetch color from global palette
+      // when using nodeModel.get('color'), otherwise nodes on deep level
+      // will always has color palette set and are not able to inherit color
+      // from parent node.
+      // + TreemapSeries.color can not be set as 'none', otherwise effect
+      // legend color fetching (see seriesColor.js).
+      colorAlpha: null,
+      // Array. Specify color alpha range of each level, like [0.2, 0.8]
+      colorSaturation: null,
+      // Array. Specify color saturation of each level, like [0.2, 0.5]
+      colorMappingBy: "index",
+      // 'value' or 'index' or 'id'.
+      visibleMin: 10,
+      // If area less than this threshold (unit: pixel^2), node will not
+      // be rendered. Only works when sort is 'asc' or 'desc'.
+      childrenVisibleMin: null,
+      // If area of a node less than this threshold (unit: pixel^2),
+      // grandchildren will not show.
+      // Why grandchildren? If not grandchildren but children,
+      // some siblings show children and some not,
+      // the appearance may be mess and not consistent,
+      levels: []
+      // Each item: {
+      //     visibleMin, itemStyle, visualDimension, label
+      // }
+      // data: {
+      //      value: [],
+      //      children: [],
+      //      link: 'http://xxx.xxx.xxx',
+      //      target: 'blank' or 'self'
+      // }
+    },
+    /**
+     * @override
+     */
+    getInitialData: function(option, ecModel) {
+      var root = {
+        name: option.name,
+        children: option.data
+      };
+      completeTreeValue2(root);
+      var levels = option.levels || [];
+      var designatedVisualItemStyle = this.designatedVisualItemStyle = {};
+      var designatedVisualModel = new Model2({
+        itemStyle: designatedVisualItemStyle
+      }, this, ecModel);
+      levels = option.levels = setDefault2(levels, ecModel);
+      var levelModels = zrUtil2.map(levels || [], function(levelDefine) {
+        return new Model2(levelDefine, designatedVisualModel, ecModel);
+      }, this);
+      var tree2 = Tree2.createTree(root, this, beforeLink);
+      function beforeLink(nodeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var node = tree2.getNodeByDataIndex(idx);
+          var levelModel = levelModels[node.depth];
+          model2.parentModel = levelModel || designatedVisualModel;
+          return model2;
+        });
+      }
+      return tree2.data;
+    },
+    optionUpdated: function() {
+      this.resetViewRoot();
+    },
+    /**
+     * @override
+     * @param {number} dataIndex
+     * @param {boolean} [mutipleSeries=false]
+     */
+    formatTooltip: function(dataIndex) {
+      var data2 = this.getData();
+      var value = this.getRawValue(dataIndex);
+      var formattedValue = zrUtil2.isArray(value) ? addCommas2(value[0]) : addCommas2(value);
+      var name2 = data2.getName(dataIndex);
+      return encodeHTML2(name2 + ": " + formattedValue);
+    },
+    /**
+     * Add tree path to tooltip param
+     *
+     * @override
+     * @param {number} dataIndex
+     * @return {Object}
+     */
+    getDataParams: function(dataIndex) {
+      var params2 = SeriesModel2.prototype.getDataParams.apply(this, arguments);
+      var node = this.getData().tree.getNodeByDataIndex(dataIndex);
+      params2.treePathInfo = wrapTreePathInfo2(node, this);
+      return params2;
+    },
+    /**
+     * @public
+     * @param {Object} layoutInfo {
+     *                                x: containerGroup x
+     *                                y: containerGroup y
+     *                                width: containerGroup width
+     *                                height: containerGroup height
+     *                            }
+     */
+    setLayoutInfo: function(layoutInfo) {
+      this.layoutInfo = this.layoutInfo || {};
+      zrUtil2.extend(this.layoutInfo, layoutInfo);
+    },
+    /**
+     * @param  {string} id
+     * @return {number} index
+     */
+    mapIdToIndex: function(id) {
+      var idIndexMap = this._idIndexMap;
+      if (!idIndexMap) {
+        idIndexMap = this._idIndexMap = zrUtil2.createHashMap();
+        this._idIndexMapCount = 0;
+      }
+      var index3 = idIndexMap.get(id);
+      if (index3 == null) {
+        idIndexMap.set(id, index3 = this._idIndexMapCount++);
+      }
+      return index3;
+    },
+    getViewRoot: function() {
+      return this._viewRoot;
+    },
+    /**
+     * @param {module:echarts/data/Tree~Node} [viewRoot]
+     */
+    resetViewRoot: function(viewRoot) {
+      viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;
+      var root = this.getRawData().tree.root;
+      if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {
+        this._viewRoot = root;
+      }
+    }
+  });
+  function completeTreeValue2(dataNode) {
+    var sum2 = 0;
+    zrUtil2.each(dataNode.children, function(child) {
+      completeTreeValue2(child);
+      var childValue = child.value;
+      zrUtil2.isArray(childValue) && (childValue = childValue[0]);
+      sum2 += childValue;
+    });
+    var thisValue = dataNode.value;
+    if (zrUtil2.isArray(thisValue)) {
+      thisValue = thisValue[0];
+    }
+    if (thisValue == null || isNaN(thisValue)) {
+      thisValue = sum2;
+    }
+    if (thisValue < 0) {
+      thisValue = 0;
+    }
+    zrUtil2.isArray(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;
+  }
+  function setDefault2(levels, ecModel) {
+    var globalColorList = ecModel.get("color");
+    if (!globalColorList) {
+      return;
+    }
+    levels = levels || [];
+    var hasColorDefine;
+    zrUtil2.each(levels, function(levelDefine) {
+      var model2 = new Model2(levelDefine);
+      var modelColor = model2.get("color");
+      if (model2.get("itemStyle.color") || modelColor && modelColor !== "none") {
+        hasColorDefine = true;
+      }
+    });
+    if (!hasColorDefine) {
+      var level0 = levels[0] || (levels[0] = {});
+      level0.color = globalColorList.slice();
+    }
+    return levels;
+  }
+  TreemapSeries = _default68;
+  return TreemapSeries;
+}
+var Breadcrumb_1;
+var hasRequiredBreadcrumb;
+function requireBreadcrumb() {
+  if (hasRequiredBreadcrumb)
+    return Breadcrumb_1;
+  hasRequiredBreadcrumb = 1;
+  var graphic2 = graphic$6;
+  var layout2 = layout$5;
+  var zrUtil2 = util$a;
+  var _treeHelper = requireTreeHelper();
+  var wrapTreePathInfo2 = _treeHelper.wrapTreePathInfo;
+  var TEXT_PADDING2 = 8;
+  var ITEM_GAP2 = 8;
+  var ARRAY_LENGTH2 = 5;
+  function Breadcrumb2(containerGroup) {
+    this.group = new graphic2.Group();
+    containerGroup.add(this.group);
+  }
+  Breadcrumb2.prototype = {
+    constructor: Breadcrumb2,
+    render: function(seriesModel, api2, targetNode, onSelect) {
+      var model2 = seriesModel.getModel("breadcrumb");
+      var thisGroup = this.group;
+      thisGroup.removeAll();
+      if (!model2.get("show") || !targetNode) {
+        return;
+      }
+      var normalStyleModel = model2.getModel("itemStyle");
+      var textStyleModel = normalStyleModel.getModel("textStyle");
+      var layoutParam = {
+        pos: {
+          left: model2.get("left"),
+          right: model2.get("right"),
+          top: model2.get("top"),
+          bottom: model2.get("bottom")
+        },
+        box: {
+          width: api2.getWidth(),
+          height: api2.getHeight()
+        },
+        emptyItemWidth: model2.get("emptyItemWidth"),
+        totalWidth: 0,
+        renderList: []
+      };
+      this._prepare(targetNode, layoutParam, textStyleModel);
+      this._renderContent(seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect);
+      layout2.positionElement(thisGroup, layoutParam.pos, layoutParam.box);
+    },
+    /**
+     * Prepare render list and total width
+     * @private
+     */
+    _prepare: function(targetNode, layoutParam, textStyleModel) {
+      for (var node = targetNode; node; node = node.parentNode) {
+        var text2 = node.getModel().get("name");
+        var textRect = textStyleModel.getTextRect(text2);
+        var itemWidth = Math.max(textRect.width + TEXT_PADDING2 * 2, layoutParam.emptyItemWidth);
+        layoutParam.totalWidth += itemWidth + ITEM_GAP2;
+        layoutParam.renderList.push({
+          node,
+          text: text2,
+          width: itemWidth
+        });
+      }
+    },
+    /**
+     * @private
+     */
+    _renderContent: function(seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect) {
+      var lastX = 0;
+      var emptyItemWidth = layoutParam.emptyItemWidth;
+      var height = seriesModel.get("breadcrumb.height");
+      var availableSize = layout2.getAvailableSize(layoutParam.pos, layoutParam.box);
+      var totalWidth = layoutParam.totalWidth;
+      var renderList2 = layoutParam.renderList;
+      for (var i2 = renderList2.length - 1; i2 >= 0; i2--) {
+        var item = renderList2[i2];
+        var itemNode = item.node;
+        var itemWidth = item.width;
+        var text2 = item.text;
+        if (totalWidth > availableSize.width) {
+          totalWidth -= itemWidth - emptyItemWidth;
+          itemWidth = emptyItemWidth;
+          text2 = null;
+        }
+        var el = new graphic2.Polygon({
+          shape: {
+            points: makeItemPoints2(lastX, 0, itemWidth, height, i2 === renderList2.length - 1, i2 === 0)
+          },
+          style: zrUtil2.defaults(normalStyleModel.getItemStyle(), {
+            lineJoin: "bevel",
+            text: text2,
+            textFill: textStyleModel.getTextColor(),
+            textFont: textStyleModel.getFont()
+          }),
+          z: 10,
+          onclick: zrUtil2.curry(onSelect, itemNode)
+        });
+        this.group.add(el);
+        packEventData2(el, seriesModel, itemNode);
+        lastX += itemWidth + ITEM_GAP2;
+      }
+    },
+    /**
+     * @override
+     */
+    remove: function() {
+      this.group.removeAll();
+    }
+  };
+  function makeItemPoints2(x2, y2, itemWidth, itemHeight, head, tail) {
+    var points2 = [[head ? x2 : x2 - ARRAY_LENGTH2, y2], [x2 + itemWidth, y2], [x2 + itemWidth, y2 + itemHeight], [head ? x2 : x2 - ARRAY_LENGTH2, y2 + itemHeight]];
+    !tail && points2.splice(2, 0, [x2 + itemWidth + ARRAY_LENGTH2, y2 + itemHeight / 2]);
+    !head && points2.push([x2, y2 + itemHeight / 2]);
+    return points2;
+  }
+  function packEventData2(el, seriesModel, itemNode) {
+    el.eventData = {
+      componentType: "series",
+      componentSubType: "treemap",
+      componentIndex: seriesModel.componentIndex,
+      seriesIndex: seriesModel.componentIndex,
+      seriesName: seriesModel.name,
+      seriesType: "treemap",
+      selfType: "breadcrumb",
+      // Distinguish with click event on treemap node.
+      nodeData: {
+        dataIndex: itemNode && itemNode.dataIndex,
+        name: itemNode && itemNode.name
+      },
+      treePathInfo: itemNode && wrapTreePathInfo2(itemNode, seriesModel)
+    };
+  }
+  var _default68 = Breadcrumb2;
+  Breadcrumb_1 = _default68;
+  return Breadcrumb_1;
+}
+var animation = {};
+var hasRequiredAnimation;
+function requireAnimation() {
+  if (hasRequiredAnimation)
+    return animation;
+  hasRequiredAnimation = 1;
+  var zrUtil2 = util$a;
+  function createWrap2() {
+    var storage2 = [];
+    var elExistsMap = {};
+    var doneCallback;
+    return {
+      /**
+       * Caution: a el can only be added once, otherwise 'done'
+       * might not be called. This method checks this (by el.id),
+       * suppresses adding and returns false when existing el found.
+       *
+       * @param {modele:zrender/Element} el
+       * @param {Object} target
+       * @param {number} [time=500]
+       * @param {number} [delay=0]
+       * @param {string} [easing='linear']
+       * @return {boolean} Whether adding succeeded.
+       *
+       * @example
+       *     add(el, target, time, delay, easing);
+       *     add(el, target, time, easing);
+       *     add(el, target, time);
+       *     add(el, target);
+       */
+      add: function(el, target, time2, delay, easing2) {
+        if (zrUtil2.isString(delay)) {
+          easing2 = delay;
+          delay = 0;
+        }
+        if (elExistsMap[el.id]) {
+          return false;
+        }
+        elExistsMap[el.id] = 1;
+        storage2.push({
+          el,
+          target,
+          time: time2,
+          delay,
+          easing: easing2
+        });
+        return true;
+      },
+      /**
+       * Only execute when animation finished. Will not execute when any
+       * of 'stop' or 'stopAnimation' called.
+       *
+       * @param {Function} callback
+       */
+      done: function(callback) {
+        doneCallback = callback;
+        return this;
+      },
+      /**
+       * Will stop exist animation firstly.
+       */
+      start: function() {
+        var count2 = storage2.length;
+        for (var i2 = 0, len2 = storage2.length; i2 < len2; i2++) {
+          var item = storage2[i2];
+          item.el.animateTo(item.target, item.time, item.delay, item.easing, done);
+        }
+        return this;
+        function done() {
+          count2--;
+          if (!count2) {
+            storage2.length = 0;
+            elExistsMap = {};
+            doneCallback && doneCallback();
+          }
+        }
+      }
+    };
+  }
+  animation.createWrap = createWrap2;
+  return animation;
+}
+var TreemapView$2;
+var hasRequiredTreemapView;
+function requireTreemapView() {
+  if (hasRequiredTreemapView)
+    return TreemapView$2;
+  hasRequiredTreemapView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var DataDiffer2 = requireDataDiffer();
+  var helper2 = requireTreeHelper();
+  var Breadcrumb2 = requireBreadcrumb();
+  var RoamController2 = requireRoamController();
+  var BoundingRect2 = BoundingRect_1;
+  var matrix2 = matrix$5;
+  var animationUtil = requireAnimation();
+  var makeStyleMapper2 = makeStyleMapper$4;
+  var _format2 = format$6;
+  var windowOpen2 = _format2.windowOpen;
+  var bind4 = zrUtil2.bind;
+  var Group2 = graphic2.Group;
+  var Rect2 = graphic2.Rect;
+  var each2 = zrUtil2.each;
+  var DRAG_THRESHOLD2 = 3;
+  var PATH_LABEL_NOAMAL2 = ["label"];
+  var PATH_LABEL_EMPHASIS = ["emphasis", "label"];
+  var PATH_UPPERLABEL_NORMAL2 = ["upperLabel"];
+  var PATH_UPPERLABEL_EMPHASIS = ["emphasis", "upperLabel"];
+  var Z_BASE = 10;
+  var Z_BG = 1;
+  var Z_CONTENT = 2;
+  var getItemStyleEmphasis = makeStyleMapper2([
+    ["fill", "color"],
+    // `borderColor` and `borderWidth` has been occupied,
+    // so use `stroke` to indicate the stroke of the rect.
+    ["stroke", "strokeColor"],
+    ["lineWidth", "strokeWidth"],
+    ["shadowBlur"],
+    ["shadowOffsetX"],
+    ["shadowOffsetY"],
+    ["shadowColor"]
+  ]);
+  var getItemStyleNormal2 = function(model2) {
+    var itemStyle2 = getItemStyleEmphasis(model2);
+    itemStyle2.stroke = itemStyle2.fill = itemStyle2.lineWidth = null;
+    return itemStyle2;
+  };
+  var _default68 = echarts2.extendChartView({
+    type: "treemap",
+    /**
+     * @override
+     */
+    init: function(o2, api2) {
+      this._containerGroup;
+      this._storage = createStorage2();
+      this._oldTree;
+      this._breadcrumb;
+      this._controller;
+      this._state = "ready";
+    },
+    /**
+     * @override
+     */
+    render: function(seriesModel, ecModel, api2, payload) {
+      var models = ecModel.findComponents({
+        mainType: "series",
+        subType: "treemap",
+        query: payload
+      });
+      if (zrUtil2.indexOf(models, seriesModel) < 0) {
+        return;
+      }
+      this.seriesModel = seriesModel;
+      this.api = api2;
+      this.ecModel = ecModel;
+      var types2 = ["treemapZoomToNode", "treemapRootToNode"];
+      var targetInfo = helper2.retrieveTargetInfo(payload, types2, seriesModel);
+      var payloadType = payload && payload.type;
+      var layoutInfo = seriesModel.layoutInfo;
+      var isInit = !this._oldTree;
+      var thisStorage = this._storage;
+      var reRoot = payloadType === "treemapRootToNode" && targetInfo && thisStorage ? {
+        rootNodeGroup: thisStorage.nodeGroup[targetInfo.node.getRawIndex()],
+        direction: payload.direction
+      } : null;
+      var containerGroup = this._giveContainerGroup(layoutInfo);
+      var renderResult = this._doRender(containerGroup, seriesModel, reRoot);
+      !isInit && (!payloadType || payloadType === "treemapZoomToNode" || payloadType === "treemapRootToNode") ? this._doAnimation(containerGroup, renderResult, seriesModel, reRoot) : renderResult.renderFinally();
+      this._resetController(api2);
+      this._renderBreadcrumb(seriesModel, api2, targetInfo);
+    },
+    /**
+     * @private
+     */
+    _giveContainerGroup: function(layoutInfo) {
+      var containerGroup = this._containerGroup;
+      if (!containerGroup) {
+        containerGroup = this._containerGroup = new Group2();
+        this._initEvents(containerGroup);
+        this.group.add(containerGroup);
+      }
+      containerGroup.attr("position", [layoutInfo.x, layoutInfo.y]);
+      return containerGroup;
+    },
+    /**
+     * @private
+     */
+    _doRender: function(containerGroup, seriesModel, reRoot) {
+      var thisTree = seriesModel.getData().tree;
+      var oldTree = this._oldTree;
+      var lastsForAnimation = createStorage2();
+      var thisStorage = createStorage2();
+      var oldStorage = this._storage;
+      var willInvisibleEls = [];
+      var doRenderNode = zrUtil2.curry(renderNode2, seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls);
+      dualTravel(thisTree.root ? [thisTree.root] : [], oldTree && oldTree.root ? [oldTree.root] : [], containerGroup, thisTree === oldTree || !oldTree, 0);
+      var willDeleteEls = clearStorage(oldStorage);
+      this._oldTree = thisTree;
+      this._storage = thisStorage;
+      return {
+        lastsForAnimation,
+        willDeleteEls,
+        renderFinally
+      };
+      function dualTravel(thisViewChildren, oldViewChildren, parentGroup, sameTree, depth) {
+        if (sameTree) {
+          oldViewChildren = thisViewChildren;
+          each2(thisViewChildren, function(child, index3) {
+            !child.isRemoved() && processNode(index3, index3);
+          });
+        } else {
+          new DataDiffer2(oldViewChildren, thisViewChildren, getKey2, getKey2).add(processNode).update(processNode).remove(zrUtil2.curry(processNode, null)).execute();
+        }
+        function getKey2(node) {
+          return node.getId();
+        }
+        function processNode(newIndex, oldIndex) {
+          var thisNode = newIndex != null ? thisViewChildren[newIndex] : null;
+          var oldNode = oldIndex != null ? oldViewChildren[oldIndex] : null;
+          var group = doRenderNode(thisNode, oldNode, parentGroup, depth);
+          group && dualTravel(thisNode && thisNode.viewChildren || [], oldNode && oldNode.viewChildren || [], group, sameTree, depth + 1);
+        }
+      }
+      function clearStorage(storage2) {
+        var willDeleteEls2 = createStorage2();
+        storage2 && each2(storage2, function(store, storageName) {
+          var delEls = willDeleteEls2[storageName];
+          each2(store, function(el) {
+            el && (delEls.push(el), el.__tmWillDelete = 1);
+          });
+        });
+        return willDeleteEls2;
+      }
+      function renderFinally() {
+        each2(willDeleteEls, function(els) {
+          each2(els, function(el) {
+            el.parent && el.parent.remove(el);
+          });
+        });
+        each2(willInvisibleEls, function(el) {
+          el.invisible = true;
+          el.dirty();
+        });
+      }
+    },
+    /**
+     * @private
+     */
+    _doAnimation: function(containerGroup, renderResult, seriesModel, reRoot) {
+      if (!seriesModel.get("animation")) {
+        return;
+      }
+      var duration = seriesModel.get("animationDurationUpdate");
+      var easing2 = seriesModel.get("animationEasing");
+      var animationWrap = animationUtil.createWrap();
+      each2(renderResult.willDeleteEls, function(store, storageName) {
+        each2(store, function(el, rawIndex) {
+          if (el.invisible) {
+            return;
+          }
+          var parent3 = el.parent;
+          var target;
+          if (reRoot && reRoot.direction === "drillDown") {
+            target = parent3 === reRoot.rootNodeGroup ? {
+              shape: {
+                x: 0,
+                y: 0,
+                width: parent3.__tmNodeWidth,
+                height: parent3.__tmNodeHeight
+              },
+              style: {
+                opacity: 0
+              }
+              // Others.
+            } : {
+              style: {
+                opacity: 0
+              }
+            };
+          } else {
+            var targetX = 0;
+            var targetY = 0;
+            if (!parent3.__tmWillDelete) {
+              targetX = parent3.__tmNodeWidth / 2;
+              targetY = parent3.__tmNodeHeight / 2;
+            }
+            target = storageName === "nodeGroup" ? {
+              position: [targetX, targetY],
+              style: {
+                opacity: 0
+              }
+            } : {
+              shape: {
+                x: targetX,
+                y: targetY,
+                width: 0,
+                height: 0
+              },
+              style: {
+                opacity: 0
+              }
+            };
+          }
+          target && animationWrap.add(el, target, duration, easing2);
+        });
+      });
+      each2(this._storage, function(store, storageName) {
+        each2(store, function(el, rawIndex) {
+          var last = renderResult.lastsForAnimation[storageName][rawIndex];
+          var target = {};
+          if (!last) {
+            return;
+          }
+          if (storageName === "nodeGroup") {
+            if (last.old) {
+              target.position = el.position.slice();
+              el.attr("position", last.old);
+            }
+          } else {
+            if (last.old) {
+              target.shape = zrUtil2.extend({}, el.shape);
+              el.setShape(last.old);
+            }
+            if (last.fadein) {
+              el.setStyle("opacity", 0);
+              target.style = {
+                opacity: 1
+              };
+            } else if (el.style.opacity !== 1) {
+              target.style = {
+                opacity: 1
+              };
+            }
+          }
+          animationWrap.add(el, target, duration, easing2);
+        });
+      }, this);
+      this._state = "animating";
+      animationWrap.done(bind4(function() {
+        this._state = "ready";
+        renderResult.renderFinally();
+      }, this)).start();
+    },
+    /**
+     * @private
+     */
+    _resetController: function(api2) {
+      var controller = this._controller;
+      if (!controller) {
+        controller = this._controller = new RoamController2(api2.getZr());
+        controller.enable(this.seriesModel.get("roam"));
+        controller.on("pan", bind4(this._onPan, this));
+        controller.on("zoom", bind4(this._onZoom, this));
+      }
+      var rect = new BoundingRect2(0, 0, api2.getWidth(), api2.getHeight());
+      controller.setPointerChecker(function(e2, x2, y2) {
+        return rect.contain(x2, y2);
+      });
+    },
+    /**
+     * @private
+     */
+    _clearController: function() {
+      var controller = this._controller;
+      if (controller) {
+        controller.dispose();
+        controller = null;
+      }
+    },
+    /**
+     * @private
+     */
+    _onPan: function(e2) {
+      if (this._state !== "animating" && (Math.abs(e2.dx) > DRAG_THRESHOLD2 || Math.abs(e2.dy) > DRAG_THRESHOLD2)) {
+        var root = this.seriesModel.getData().tree.root;
+        if (!root) {
+          return;
+        }
+        var rootLayout = root.getLayout();
+        if (!rootLayout) {
+          return;
+        }
+        this.api.dispatchAction({
+          type: "treemapMove",
+          from: this.uid,
+          seriesId: this.seriesModel.id,
+          rootRect: {
+            x: rootLayout.x + e2.dx,
+            y: rootLayout.y + e2.dy,
+            width: rootLayout.width,
+            height: rootLayout.height
+          }
+        });
+      }
+    },
+    /**
+     * @private
+     */
+    _onZoom: function(e2) {
+      var mouseX = e2.originX;
+      var mouseY = e2.originY;
+      if (this._state !== "animating") {
+        var root = this.seriesModel.getData().tree.root;
+        if (!root) {
+          return;
+        }
+        var rootLayout = root.getLayout();
+        if (!rootLayout) {
+          return;
+        }
+        var rect = new BoundingRect2(rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height);
+        var layoutInfo = this.seriesModel.layoutInfo;
+        mouseX -= layoutInfo.x;
+        mouseY -= layoutInfo.y;
+        var m2 = matrix2.create();
+        matrix2.translate(m2, m2, [-mouseX, -mouseY]);
+        matrix2.scale(m2, m2, [e2.scale, e2.scale]);
+        matrix2.translate(m2, m2, [mouseX, mouseY]);
+        rect.applyTransform(m2);
+        this.api.dispatchAction({
+          type: "treemapRender",
+          from: this.uid,
+          seriesId: this.seriesModel.id,
+          rootRect: {
+            x: rect.x,
+            y: rect.y,
+            width: rect.width,
+            height: rect.height
+          }
+        });
+      }
+    },
+    /**
+     * @private
+     */
+    _initEvents: function(containerGroup) {
+      containerGroup.on("click", function(e2) {
+        if (this._state !== "ready") {
+          return;
+        }
+        var nodeClick2 = this.seriesModel.get("nodeClick", true);
+        if (!nodeClick2) {
+          return;
+        }
+        var targetInfo = this.findTarget(e2.offsetX, e2.offsetY);
+        if (!targetInfo) {
+          return;
+        }
+        var node = targetInfo.node;
+        if (node.getLayout().isLeafRoot) {
+          this._rootToNode(targetInfo);
+        } else {
+          if (nodeClick2 === "zoomToNode") {
+            this._zoomToNode(targetInfo);
+          } else if (nodeClick2 === "link") {
+            var itemModel = node.hostTree.data.getItemModel(node.dataIndex);
+            var link = itemModel.get("link", true);
+            var linkTarget = itemModel.get("target", true) || "blank";
+            link && windowOpen2(link, linkTarget);
+          }
+        }
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _renderBreadcrumb: function(seriesModel, api2, targetInfo) {
+      if (!targetInfo) {
+        targetInfo = seriesModel.get("leafDepth", true) != null ? {
+          node: seriesModel.getViewRoot()
+          // FIXME
+          // better way?
+          // Find breadcrumb tail on center of containerGroup.
+        } : this.findTarget(api2.getWidth() / 2, api2.getHeight() / 2);
+        if (!targetInfo) {
+          targetInfo = {
+            node: seriesModel.getData().tree.root
+          };
+        }
+      }
+      (this._breadcrumb || (this._breadcrumb = new Breadcrumb2(this.group))).render(seriesModel, api2, targetInfo.node, bind4(onSelect, this));
+      function onSelect(node) {
+        if (this._state !== "animating") {
+          helper2.aboveViewRoot(seriesModel.getViewRoot(), node) ? this._rootToNode({
+            node
+          }) : this._zoomToNode({
+            node
+          });
+        }
+      }
+    },
+    /**
+     * @override
+     */
+    remove: function() {
+      this._clearController();
+      this._containerGroup && this._containerGroup.removeAll();
+      this._storage = createStorage2();
+      this._state = "ready";
+      this._breadcrumb && this._breadcrumb.remove();
+    },
+    dispose: function() {
+      this._clearController();
+    },
+    /**
+     * @private
+     */
+    _zoomToNode: function(targetInfo) {
+      this.api.dispatchAction({
+        type: "treemapZoomToNode",
+        from: this.uid,
+        seriesId: this.seriesModel.id,
+        targetNode: targetInfo.node
+      });
+    },
+    /**
+     * @private
+     */
+    _rootToNode: function(targetInfo) {
+      this.api.dispatchAction({
+        type: "treemapRootToNode",
+        from: this.uid,
+        seriesId: this.seriesModel.id,
+        targetNode: targetInfo.node
+      });
+    },
+    /**
+     * @public
+     * @param {number} x Global coord x.
+     * @param {number} y Global coord y.
+     * @return {Object} info If not found, return undefined;
+     * @return {number} info.node Target node.
+     * @return {number} info.offsetX x refer to target node.
+     * @return {number} info.offsetY y refer to target node.
+     */
+    findTarget: function(x2, y2) {
+      var targetInfo;
+      var viewRoot = this.seriesModel.getViewRoot();
+      viewRoot.eachNode({
+        attr: "viewChildren",
+        order: "preorder"
+      }, function(node) {
+        var bgEl = this._storage.background[node.getRawIndex()];
+        if (bgEl) {
+          var point = bgEl.transformCoordToLocal(x2, y2);
+          var shape = bgEl.shape;
+          if (shape.x <= point[0] && point[0] <= shape.x + shape.width && shape.y <= point[1] && point[1] <= shape.y + shape.height) {
+            targetInfo = {
+              node,
+              offsetX: point[0],
+              offsetY: point[1]
+            };
+          } else {
+            return false;
+          }
+        }
+      }, this);
+      return targetInfo;
+    }
+  });
+  function createStorage2() {
+    return {
+      nodeGroup: [],
+      background: [],
+      content: []
+    };
+  }
+  function renderNode2(seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls, thisNode, oldNode, parentGroup, depth) {
+    if (!thisNode) {
+      return;
+    }
+    var thisLayout = thisNode.getLayout();
+    var data2 = seriesModel.getData();
+    data2.setItemGraphicEl(thisNode.dataIndex, null);
+    if (!thisLayout || !thisLayout.isInView) {
+      return;
+    }
+    var thisWidth = thisLayout.width;
+    var thisHeight = thisLayout.height;
+    var borderWidth = thisLayout.borderWidth;
+    var thisInvisible = thisLayout.invisible;
+    var thisRawIndex = thisNode.getRawIndex();
+    var oldRawIndex = oldNode && oldNode.getRawIndex();
+    var thisViewChildren = thisNode.viewChildren;
+    var upperHeight = thisLayout.upperHeight;
+    var isParent = thisViewChildren && thisViewChildren.length;
+    var itemStyleNormalModel = thisNode.getModel("itemStyle");
+    var itemStyleEmphasisModel = thisNode.getModel("emphasis.itemStyle");
+    var group = giveGraphic("nodeGroup", Group2);
+    if (!group) {
+      return;
+    }
+    parentGroup.add(group);
+    group.attr("position", [thisLayout.x || 0, thisLayout.y || 0]);
+    group.__tmNodeWidth = thisWidth;
+    group.__tmNodeHeight = thisHeight;
+    if (thisLayout.isAboveViewRoot) {
+      return group;
+    }
+    var nodeModel = thisNode.getModel();
+    var bg = giveGraphic("background", Rect2, depth, Z_BG);
+    bg && renderBackground(group, bg, isParent && thisLayout.upperLabelHeight);
+    if (isParent) {
+      if (graphic2.isHighDownDispatcher(group)) {
+        graphic2.setAsHighDownDispatcher(group, false);
+      }
+      if (bg) {
+        graphic2.setAsHighDownDispatcher(bg, true);
+        data2.setItemGraphicEl(thisNode.dataIndex, bg);
+      }
+    } else {
+      var content = giveGraphic("content", Rect2, depth, Z_CONTENT);
+      content && renderContent(group, content);
+      if (bg && graphic2.isHighDownDispatcher(bg)) {
+        graphic2.setAsHighDownDispatcher(bg, false);
+      }
+      graphic2.setAsHighDownDispatcher(group, true);
+      data2.setItemGraphicEl(thisNode.dataIndex, group);
+    }
+    return group;
+    function renderBackground(group2, bg2, useUpperLabel) {
+      bg2.dataIndex = thisNode.dataIndex;
+      bg2.seriesIndex = seriesModel.seriesIndex;
+      bg2.setShape({
+        x: 0,
+        y: 0,
+        width: thisWidth,
+        height: thisHeight
+      });
+      if (thisInvisible) {
+        processInvisible(bg2);
+      } else {
+        bg2.invisible = false;
+        var visualBorderColor = thisNode.getVisual("borderColor", true);
+        var emphasisBorderColor = itemStyleEmphasisModel.get("borderColor");
+        var normalStyle = getItemStyleNormal2(itemStyleNormalModel);
+        normalStyle.fill = visualBorderColor;
+        var emphasisStyle = getItemStyleEmphasis(itemStyleEmphasisModel);
+        emphasisStyle.fill = emphasisBorderColor;
+        if (useUpperLabel) {
+          var upperLabelWidth = thisWidth - 2 * borderWidth;
+          prepareText(normalStyle, emphasisStyle, visualBorderColor, upperLabelWidth, upperHeight, {
+            x: borderWidth,
+            y: 0,
+            width: upperLabelWidth,
+            height: upperHeight
+          });
+        } else {
+          normalStyle.text = emphasisStyle.text = null;
+        }
+        bg2.setStyle(normalStyle);
+        graphic2.setElementHoverStyle(bg2, emphasisStyle);
+      }
+      group2.add(bg2);
+    }
+    function renderContent(group2, content2) {
+      content2.dataIndex = thisNode.dataIndex;
+      content2.seriesIndex = seriesModel.seriesIndex;
+      var contentWidth = Math.max(thisWidth - 2 * borderWidth, 0);
+      var contentHeight = Math.max(thisHeight - 2 * borderWidth, 0);
+      content2.culling = true;
+      content2.setShape({
+        x: borderWidth,
+        y: borderWidth,
+        width: contentWidth,
+        height: contentHeight
+      });
+      if (thisInvisible) {
+        processInvisible(content2);
+      } else {
+        content2.invisible = false;
+        var visualColor = thisNode.getVisual("color", true);
+        var normalStyle = getItemStyleNormal2(itemStyleNormalModel);
+        normalStyle.fill = visualColor;
+        var emphasisStyle = getItemStyleEmphasis(itemStyleEmphasisModel);
+        prepareText(normalStyle, emphasisStyle, visualColor, contentWidth, contentHeight);
+        content2.setStyle(normalStyle);
+        graphic2.setElementHoverStyle(content2, emphasisStyle);
+      }
+      group2.add(content2);
+    }
+    function processInvisible(element) {
+      !element.invisible && willInvisibleEls.push(element);
+    }
+    function prepareText(normalStyle, emphasisStyle, visualColor, width, height, upperLabelRect) {
+      var defaultText = nodeModel.get("name");
+      var normalLabelModel = nodeModel.getModel(upperLabelRect ? PATH_UPPERLABEL_NORMAL2 : PATH_LABEL_NOAMAL2);
+      var emphasisLabelModel = nodeModel.getModel(upperLabelRect ? PATH_UPPERLABEL_EMPHASIS : PATH_LABEL_EMPHASIS);
+      var isShow = normalLabelModel.getShallow("show");
+      graphic2.setLabelStyle(normalStyle, emphasisStyle, normalLabelModel, emphasisLabelModel, {
+        defaultText: isShow ? defaultText : null,
+        autoColor: visualColor,
+        isRectText: true,
+        labelFetcher: seriesModel,
+        labelDataIndex: thisNode.dataIndex,
+        labelProp: upperLabelRect ? "upperLabel" : "label"
+      });
+      addDrillDownIcon(normalStyle, upperLabelRect, thisLayout);
+      addDrillDownIcon(emphasisStyle, upperLabelRect, thisLayout);
+      upperLabelRect && (normalStyle.textRect = zrUtil2.clone(upperLabelRect));
+      normalStyle.truncate = isShow && normalLabelModel.get("ellipsis") ? {
+        outerWidth: width,
+        outerHeight: height,
+        minChar: 2
+      } : null;
+    }
+    function addDrillDownIcon(style2, upperLabelRect, thisLayout2) {
+      var text2 = style2.text;
+      if (!upperLabelRect && thisLayout2.isLeafRoot && text2 != null) {
+        var iconChar = seriesModel.get("drillDownIcon", true);
+        style2.text = iconChar ? iconChar + " " + text2 : text2;
+      }
+    }
+    function giveGraphic(storageName, Ctor, depth2, z2) {
+      var element = oldRawIndex != null && oldStorage[storageName][oldRawIndex];
+      var lasts = lastsForAnimation[storageName];
+      if (element) {
+        oldStorage[storageName][oldRawIndex] = null;
+        prepareAnimationWhenHasOld(lasts, element, storageName);
+      } else if (!thisInvisible) {
+        element = new Ctor({
+          z: calculateZ(depth2, z2)
+        });
+        element.__tmDepth = depth2;
+        element.__tmStorageName = storageName;
+        prepareAnimationWhenNoOld(lasts, element, storageName);
+      }
+      return thisStorage[storageName][thisRawIndex] = element;
+    }
+    function prepareAnimationWhenHasOld(lasts, element, storageName) {
+      var lastCfg = lasts[thisRawIndex] = {};
+      lastCfg.old = storageName === "nodeGroup" ? element.position.slice() : zrUtil2.extend({}, element.shape);
+    }
+    function prepareAnimationWhenNoOld(lasts, element, storageName) {
+      var lastCfg = lasts[thisRawIndex] = {};
+      var parentNode2 = thisNode.parentNode;
+      if (parentNode2 && (!reRoot || reRoot.direction === "drillDown")) {
+        var parentOldX = 0;
+        var parentOldY = 0;
+        var parentOldBg = lastsForAnimation.background[parentNode2.getRawIndex()];
+        if (!reRoot && parentOldBg && parentOldBg.old) {
+          parentOldX = parentOldBg.old.width;
+          parentOldY = parentOldBg.old.height;
+        }
+        lastCfg.old = storageName === "nodeGroup" ? [0, parentOldY] : {
+          x: parentOldX,
+          y: parentOldY,
+          width: 0,
+          height: 0
+        };
+      }
+      lastCfg.fadein = storageName !== "nodeGroup";
+    }
+  }
+  function calculateZ(depth, zInLevel) {
+    var zb = depth * Z_BASE + zInLevel;
+    return (zb - 1) / zb;
+  }
+  TreemapView$2 = _default68;
+  return TreemapView$2;
+}
+var treemapAction = {};
+var hasRequiredTreemapAction;
+function requireTreemapAction() {
+  if (hasRequiredTreemapAction)
+    return treemapAction;
+  hasRequiredTreemapAction = 1;
+  var echarts2 = echarts$1;
+  var helper2 = requireTreeHelper();
+  var noop2 = function() {
+  };
+  var actionTypes2 = ["treemapZoomToNode", "treemapRender", "treemapMove"];
+  for (var i2 = 0; i2 < actionTypes2.length; i2++) {
+    echarts2.registerAction({
+      type: actionTypes2[i2],
+      update: "updateView"
+    }, noop2);
+  }
+  echarts2.registerAction({
+    type: "treemapRootToNode",
+    update: "updateView"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "treemap",
+      query: payload
+    }, handleRootToNode);
+    function handleRootToNode(model2, index3) {
+      var types2 = ["treemapZoomToNode", "treemapRootToNode"];
+      var targetInfo = helper2.retrieveTargetInfo(payload, types2, model2);
+      if (targetInfo) {
+        var originViewRoot = model2.getViewRoot();
+        if (originViewRoot) {
+          payload.direction = helper2.aboveViewRoot(originViewRoot, targetInfo.node) ? "rollUp" : "drillDown";
+        }
+        model2.resetViewRoot(targetInfo.node);
+      }
+    }
+  });
+  return treemapAction;
+}
+var VisualMapping_1;
+var hasRequiredVisualMapping;
+function requireVisualMapping() {
+  if (hasRequiredVisualMapping)
+    return VisualMapping_1;
+  hasRequiredVisualMapping = 1;
+  var zrUtil2 = util$a;
+  var zrColor = color$2;
+  var _number2 = requireNumber();
+  var linearMap2 = _number2.linearMap;
+  var each2 = zrUtil2.each;
+  var isObject2 = zrUtil2.isObject;
+  var CATEGORY_DEFAULT_VISUAL_INDEX2 = -1;
+  var VisualMapping2 = function(option) {
+    var mappingMethod = option.mappingMethod;
+    var visualType = option.type;
+    var thisOption = this.option = zrUtil2.clone(option);
+    this.type = visualType;
+    this.mappingMethod = mappingMethod;
+    this._normalizeData = normalizers2[mappingMethod];
+    var visualHandler = visualHandlers[visualType];
+    this.applyVisual = visualHandler.applyVisual;
+    this.getColorMapper = visualHandler.getColorMapper;
+    this._doMap = visualHandler._doMap[mappingMethod];
+    if (mappingMethod === "piecewise") {
+      normalizeVisualRange2(thisOption);
+      preprocessForPiecewise2(thisOption);
+    } else if (mappingMethod === "category") {
+      thisOption.categories ? preprocessForSpecifiedCategory2(thisOption) : normalizeVisualRange2(thisOption, true);
+    } else {
+      zrUtil2.assert(mappingMethod !== "linear" || thisOption.dataExtent);
+      normalizeVisualRange2(thisOption);
+    }
+  };
+  VisualMapping2.prototype = {
+    constructor: VisualMapping2,
+    mapValueToVisual: function(value) {
+      var normalized = this._normalizeData(value);
+      return this._doMap(normalized, value);
+    },
+    getNormalizer: function() {
+      return zrUtil2.bind(this._normalizeData, this);
+    }
+  };
+  var visualHandlers = VisualMapping2.visualHandlers = {
+    color: {
+      applyVisual: makeApplyVisual2("color"),
+      /**
+       * Create a mapper function
+       * @return {Function}
+       */
+      getColorMapper: function() {
+        var thisOption = this.option;
+        return zrUtil2.bind(thisOption.mappingMethod === "category" ? function(value, isNormalized) {
+          !isNormalized && (value = this._normalizeData(value));
+          return doMapCategory2.call(this, value);
+        } : function(value, isNormalized, out2) {
+          var returnRGBArray = !!out2;
+          !isNormalized && (value = this._normalizeData(value));
+          out2 = zrColor.fastLerp(value, thisOption.parsedVisual, out2);
+          return returnRGBArray ? out2 : zrColor.stringify(out2, "rgba");
+        }, this);
+      },
+      _doMap: {
+        linear: function(normalized) {
+          return zrColor.stringify(zrColor.fastLerp(normalized, this.option.parsedVisual), "rgba");
+        },
+        category: doMapCategory2,
+        piecewise: function(normalized, value) {
+          var result2 = getSpecifiedVisual2.call(this, value);
+          if (result2 == null) {
+            result2 = zrColor.stringify(zrColor.fastLerp(normalized, this.option.parsedVisual), "rgba");
+          }
+          return result2;
+        },
+        fixed: doMapFixed2
+      }
+    },
+    colorHue: makePartialColorVisualHandler2(function(color2, value) {
+      return zrColor.modifyHSL(color2, value);
+    }),
+    colorSaturation: makePartialColorVisualHandler2(function(color2, value) {
+      return zrColor.modifyHSL(color2, null, value);
+    }),
+    colorLightness: makePartialColorVisualHandler2(function(color2, value) {
+      return zrColor.modifyHSL(color2, null, null, value);
+    }),
+    colorAlpha: makePartialColorVisualHandler2(function(color2, value) {
+      return zrColor.modifyAlpha(color2, value);
+    }),
+    opacity: {
+      applyVisual: makeApplyVisual2("opacity"),
+      _doMap: makeDoMap([0, 1])
+    },
+    liftZ: {
+      applyVisual: makeApplyVisual2("liftZ"),
+      _doMap: {
+        linear: doMapFixed2,
+        category: doMapFixed2,
+        piecewise: doMapFixed2,
+        fixed: doMapFixed2
+      }
+    },
+    symbol: {
+      applyVisual: function(value, getter, setter) {
+        var symbolCfg = this.mapValueToVisual(value);
+        if (zrUtil2.isString(symbolCfg)) {
+          setter("symbol", symbolCfg);
+        } else if (isObject2(symbolCfg)) {
+          for (var name2 in symbolCfg) {
+            if (symbolCfg.hasOwnProperty(name2)) {
+              setter(name2, symbolCfg[name2]);
+            }
+          }
+        }
+      },
+      _doMap: {
+        linear: doMapToArray2,
+        category: doMapCategory2,
+        piecewise: function(normalized, value) {
+          var result2 = getSpecifiedVisual2.call(this, value);
+          if (result2 == null) {
+            result2 = doMapToArray2.call(this, normalized);
+          }
+          return result2;
+        },
+        fixed: doMapFixed2
+      }
+    },
+    symbolSize: {
+      applyVisual: makeApplyVisual2("symbolSize"),
+      _doMap: makeDoMap([0, 1])
+    }
+  };
+  function preprocessForPiecewise2(thisOption) {
+    var pieceList = thisOption.pieceList;
+    thisOption.hasSpecialVisual = false;
+    zrUtil2.each(pieceList, function(piece, index3) {
+      piece.originIndex = index3;
+      if (piece.visual != null) {
+        thisOption.hasSpecialVisual = true;
+      }
+    });
+  }
+  function preprocessForSpecifiedCategory2(thisOption) {
+    var categories = thisOption.categories;
+    var visual = thisOption.visual;
+    var categoryMap = thisOption.categoryMap = {};
+    each2(categories, function(cate, index3) {
+      categoryMap[cate] = index3;
+    });
+    if (!zrUtil2.isArray(visual)) {
+      var visualArr = [];
+      if (zrUtil2.isObject(visual)) {
+        each2(visual, function(v4, cate) {
+          var index3 = categoryMap[cate];
+          visualArr[index3 != null ? index3 : CATEGORY_DEFAULT_VISUAL_INDEX2] = v4;
+        });
+      } else {
+        visualArr[CATEGORY_DEFAULT_VISUAL_INDEX2] = visual;
+      }
+      visual = setVisualToOption2(thisOption, visualArr);
+    }
+    for (var i2 = categories.length - 1; i2 >= 0; i2--) {
+      if (visual[i2] == null) {
+        delete categoryMap[categories[i2]];
+        categories.pop();
+      }
+    }
+  }
+  function normalizeVisualRange2(thisOption, isCategory2) {
+    var visual = thisOption.visual;
+    var visualArr = [];
+    if (zrUtil2.isObject(visual)) {
+      each2(visual, function(v4) {
+        visualArr.push(v4);
+      });
+    } else if (visual != null) {
+      visualArr.push(visual);
+    }
+    var doNotNeedPair = {
+      color: 1,
+      symbol: 1
+    };
+    if (!isCategory2 && visualArr.length === 1 && !doNotNeedPair.hasOwnProperty(thisOption.type)) {
+      visualArr[1] = visualArr[0];
+    }
+    setVisualToOption2(thisOption, visualArr);
+  }
+  function makePartialColorVisualHandler2(applyValue) {
+    return {
+      applyVisual: function(value, getter, setter) {
+        value = this.mapValueToVisual(value);
+        setter("color", applyValue(getter("color"), value));
+      },
+      _doMap: makeDoMap([0, 1])
+    };
+  }
+  function doMapToArray2(normalized) {
+    var visual = this.option.visual;
+    return visual[Math.round(linearMap2(normalized, [0, 1], [0, visual.length - 1], true))] || {};
+  }
+  function makeApplyVisual2(visualType) {
+    return function(value, getter, setter) {
+      setter(visualType, this.mapValueToVisual(value));
+    };
+  }
+  function doMapCategory2(normalized) {
+    var visual = this.option.visual;
+    return visual[this.option.loop && normalized !== CATEGORY_DEFAULT_VISUAL_INDEX2 ? normalized % visual.length : normalized];
+  }
+  function doMapFixed2() {
+    return this.option.visual[0];
+  }
+  function makeDoMap(sourceExtent) {
+    return {
+      linear: function(normalized) {
+        return linearMap2(normalized, sourceExtent, this.option.visual, true);
+      },
+      category: doMapCategory2,
+      piecewise: function(normalized, value) {
+        var result2 = getSpecifiedVisual2.call(this, value);
+        if (result2 == null) {
+          result2 = linearMap2(normalized, sourceExtent, this.option.visual, true);
+        }
+        return result2;
+      },
+      fixed: doMapFixed2
+    };
+  }
+  function getSpecifiedVisual2(value) {
+    var thisOption = this.option;
+    var pieceList = thisOption.pieceList;
+    if (thisOption.hasSpecialVisual) {
+      var pieceIndex = VisualMapping2.findPieceIndex(value, pieceList);
+      var piece = pieceList[pieceIndex];
+      if (piece && piece.visual) {
+        return piece.visual[this.type];
+      }
+    }
+  }
+  function setVisualToOption2(thisOption, visualArr) {
+    thisOption.visual = visualArr;
+    if (thisOption.type === "color") {
+      thisOption.parsedVisual = zrUtil2.map(visualArr, function(item) {
+        return zrColor.parse(item);
+      });
+    }
+    return visualArr;
+  }
+  var normalizers2 = {
+    linear: function(value) {
+      return linearMap2(value, this.option.dataExtent, [0, 1], true);
+    },
+    piecewise: function(value) {
+      var pieceList = this.option.pieceList;
+      var pieceIndex = VisualMapping2.findPieceIndex(value, pieceList, true);
+      if (pieceIndex != null) {
+        return linearMap2(pieceIndex, [0, pieceList.length - 1], [0, 1], true);
+      }
+    },
+    category: function(value) {
+      var index3 = this.option.categories ? this.option.categoryMap[value] : value;
+      return index3 == null ? CATEGORY_DEFAULT_VISUAL_INDEX2 : index3;
+    },
+    fixed: zrUtil2.noop
+  };
+  VisualMapping2.listVisualTypes = function() {
+    var visualTypes = [];
+    zrUtil2.each(visualHandlers, function(handler, key2) {
+      visualTypes.push(key2);
+    });
+    return visualTypes;
+  };
+  VisualMapping2.addVisualHandler = function(name2, handler) {
+    visualHandlers[name2] = handler;
+  };
+  VisualMapping2.isValidType = function(visualType) {
+    return visualHandlers.hasOwnProperty(visualType);
+  };
+  VisualMapping2.eachVisual = function(visual, callback, context) {
+    if (zrUtil2.isObject(visual)) {
+      zrUtil2.each(visual, callback, context);
+    } else {
+      callback.call(context, visual);
+    }
+  };
+  VisualMapping2.mapVisual = function(visual, callback, context) {
+    var isPrimary;
+    var newVisual = zrUtil2.isArray(visual) ? [] : zrUtil2.isObject(visual) ? {} : (isPrimary = true, null);
+    VisualMapping2.eachVisual(visual, function(v4, key2) {
+      var newVal = callback.call(context, v4, key2);
+      isPrimary ? newVisual = newVal : newVisual[key2] = newVal;
+    });
+    return newVisual;
+  };
+  VisualMapping2.retrieveVisuals = function(obj2) {
+    var ret = {};
+    var hasVisual;
+    obj2 && each2(visualHandlers, function(h3, visualType) {
+      if (obj2.hasOwnProperty(visualType)) {
+        ret[visualType] = obj2[visualType];
+        hasVisual = true;
+      }
+    });
+    return hasVisual ? ret : null;
+  };
+  VisualMapping2.prepareVisualTypes = function(visualTypes) {
+    if (isObject2(visualTypes)) {
+      var types2 = [];
+      each2(visualTypes, function(item, type2) {
+        types2.push(type2);
+      });
+      visualTypes = types2;
+    } else if (zrUtil2.isArray(visualTypes)) {
+      visualTypes = visualTypes.slice();
+    } else {
+      return [];
+    }
+    visualTypes.sort(function(type1, type2) {
+      return type2 === "color" && type1 !== "color" && type1.indexOf("color") === 0 ? 1 : -1;
+    });
+    return visualTypes;
+  };
+  VisualMapping2.dependsOn = function(visualType1, visualType2) {
+    return visualType2 === "color" ? !!(visualType1 && visualType1.indexOf(visualType2) === 0) : visualType1 === visualType2;
+  };
+  VisualMapping2.findPieceIndex = function(value, pieceList, findClosestWhenOutside) {
+    var possibleI;
+    var abs2 = Infinity;
+    for (var i2 = 0, len2 = pieceList.length; i2 < len2; i2++) {
+      var pieceValue = pieceList[i2].value;
+      if (pieceValue != null) {
+        if (pieceValue === value || typeof pieceValue === "string" && pieceValue === value + "") {
+          return i2;
+        }
+        findClosestWhenOutside && updatePossible(pieceValue, i2);
+      }
+    }
+    for (var i2 = 0, len2 = pieceList.length; i2 < len2; i2++) {
+      var piece = pieceList[i2];
+      var interval = piece.interval;
+      var close2 = piece.close;
+      if (interval) {
+        if (interval[0] === -Infinity) {
+          if (littleThan2(close2[1], value, interval[1])) {
+            return i2;
+          }
+        } else if (interval[1] === Infinity) {
+          if (littleThan2(close2[0], interval[0], value)) {
+            return i2;
+          }
+        } else if (littleThan2(close2[0], interval[0], value) && littleThan2(close2[1], value, interval[1])) {
+          return i2;
+        }
+        findClosestWhenOutside && updatePossible(interval[0], i2);
+        findClosestWhenOutside && updatePossible(interval[1], i2);
+      }
+    }
+    if (findClosestWhenOutside) {
+      return value === Infinity ? pieceList.length - 1 : value === -Infinity ? 0 : possibleI;
+    }
+    function updatePossible(val, index3) {
+      var newAbs = Math.abs(val - value);
+      if (newAbs < abs2) {
+        abs2 = newAbs;
+        possibleI = index3;
+      }
+    }
+  };
+  function littleThan2(close2, a2, b2) {
+    return close2 ? a2 <= b2 : a2 < b2;
+  }
+  var _default68 = VisualMapping2;
+  VisualMapping_1 = _default68;
+  return VisualMapping_1;
+}
+var treemapVisual$1;
+var hasRequiredTreemapVisual;
+function requireTreemapVisual() {
+  if (hasRequiredTreemapVisual)
+    return treemapVisual$1;
+  hasRequiredTreemapVisual = 1;
+  var VisualMapping2 = requireVisualMapping();
+  var zrColor = color$2;
+  var zrUtil2 = util$a;
+  var isArray2 = zrUtil2.isArray;
+  var ITEM_STYLE_NORMAL2 = "itemStyle";
+  var _default68 = {
+    seriesType: "treemap",
+    reset: function(seriesModel, ecModel, api2, payload) {
+      var tree2 = seriesModel.getData().tree;
+      var root = tree2.root;
+      if (root.isRemoved()) {
+        return;
+      }
+      travelTree2(
+        root,
+        // Visual should calculate from tree root but not view root.
+        {},
+        seriesModel.getViewRoot().getAncestors(),
+        seriesModel
+      );
+    }
+  };
+  function travelTree2(node, designatedVisual, viewRootAncestors, seriesModel) {
+    var nodeModel = node.getModel();
+    var nodeLayout = node.getLayout();
+    if (!nodeLayout || nodeLayout.invisible || !nodeLayout.isInView) {
+      return;
+    }
+    var nodeItemStyleModel = node.getModel(ITEM_STYLE_NORMAL2);
+    var visuals = buildVisuals2(nodeItemStyleModel, designatedVisual, seriesModel);
+    var borderColor = nodeItemStyleModel.get("borderColor");
+    var borderColorSaturation = nodeItemStyleModel.get("borderColorSaturation");
+    var thisNodeColor;
+    if (borderColorSaturation != null) {
+      thisNodeColor = calculateColor2(visuals);
+      borderColor = calculateBorderColor2(borderColorSaturation, thisNodeColor);
+    }
+    node.setVisual("borderColor", borderColor);
+    var viewChildren = node.viewChildren;
+    if (!viewChildren || !viewChildren.length) {
+      thisNodeColor = calculateColor2(visuals);
+      node.setVisual("color", thisNodeColor);
+    } else {
+      var mapping3 = buildVisualMapping2(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren);
+      zrUtil2.each(viewChildren, function(child, index3) {
+        if (child.depth >= viewRootAncestors.length || child === viewRootAncestors[child.depth]) {
+          var childVisual = mapVisual2(nodeModel, visuals, child, index3, mapping3, seriesModel);
+          travelTree2(child, childVisual, viewRootAncestors, seriesModel);
+        }
+      });
+    }
+  }
+  function buildVisuals2(nodeItemStyleModel, designatedVisual, seriesModel) {
+    var visuals = zrUtil2.extend({}, designatedVisual);
+    var designatedVisualItemStyle = seriesModel.designatedVisualItemStyle;
+    zrUtil2.each(["color", "colorAlpha", "colorSaturation"], function(visualName) {
+      designatedVisualItemStyle[visualName] = designatedVisual[visualName];
+      var val = nodeItemStyleModel.get(visualName);
+      designatedVisualItemStyle[visualName] = null;
+      val != null && (visuals[visualName] = val);
+    });
+    return visuals;
+  }
+  function calculateColor2(visuals) {
+    var color2 = getValueVisualDefine2(visuals, "color");
+    if (color2) {
+      var colorAlpha = getValueVisualDefine2(visuals, "colorAlpha");
+      var colorSaturation = getValueVisualDefine2(visuals, "colorSaturation");
+      if (colorSaturation) {
+        color2 = zrColor.modifyHSL(color2, null, null, colorSaturation);
+      }
+      if (colorAlpha) {
+        color2 = zrColor.modifyAlpha(color2, colorAlpha);
+      }
+      return color2;
+    }
+  }
+  function calculateBorderColor2(borderColorSaturation, thisNodeColor) {
+    return thisNodeColor != null ? zrColor.modifyHSL(thisNodeColor, null, null, borderColorSaturation) : null;
+  }
+  function getValueVisualDefine2(visuals, name2) {
+    var value = visuals[name2];
+    if (value != null && value !== "none") {
+      return value;
+    }
+  }
+  function buildVisualMapping2(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren) {
+    if (!viewChildren || !viewChildren.length) {
+      return;
+    }
+    var rangeVisual = getRangeVisual2(nodeModel, "color") || visuals.color != null && visuals.color !== "none" && (getRangeVisual2(nodeModel, "colorAlpha") || getRangeVisual2(nodeModel, "colorSaturation"));
+    if (!rangeVisual) {
+      return;
+    }
+    var visualMin = nodeModel.get("visualMin");
+    var visualMax = nodeModel.get("visualMax");
+    var dataExtent = nodeLayout.dataExtent.slice();
+    visualMin != null && visualMin < dataExtent[0] && (dataExtent[0] = visualMin);
+    visualMax != null && visualMax > dataExtent[1] && (dataExtent[1] = visualMax);
+    var colorMappingBy = nodeModel.get("colorMappingBy");
+    var opt = {
+      type: rangeVisual.name,
+      dataExtent,
+      visual: rangeVisual.range
+    };
+    if (opt.type === "color" && (colorMappingBy === "index" || colorMappingBy === "id")) {
+      opt.mappingMethod = "category";
+      opt.loop = true;
+    } else {
+      opt.mappingMethod = "linear";
+    }
+    var mapping3 = new VisualMapping2(opt);
+    mapping3.__drColorMappingBy = colorMappingBy;
+    return mapping3;
+  }
+  function getRangeVisual2(nodeModel, name2) {
+    var range2 = nodeModel.get(name2);
+    return isArray2(range2) && range2.length ? {
+      name: name2,
+      range: range2
+    } : null;
+  }
+  function mapVisual2(nodeModel, visuals, child, index3, mapping3, seriesModel) {
+    var childVisuals = zrUtil2.extend({}, visuals);
+    if (mapping3) {
+      var mappingType = mapping3.type;
+      var colorMappingBy = mappingType === "color" && mapping3.__drColorMappingBy;
+      var value = colorMappingBy === "index" ? index3 : colorMappingBy === "id" ? seriesModel.mapIdToIndex(child.getId()) : child.getValue(nodeModel.get("visualDimension"));
+      childVisuals[mappingType] = mapping3.mapValueToVisual(value);
+    }
+    return childVisuals;
+  }
+  treemapVisual$1 = _default68;
+  return treemapVisual$1;
+}
+var treemapLayout$1;
+var hasRequiredTreemapLayout;
+function requireTreemapLayout() {
+  if (hasRequiredTreemapLayout)
+    return treemapLayout$1;
+  hasRequiredTreemapLayout = 1;
+  var zrUtil2 = util$a;
+  var BoundingRect2 = BoundingRect_1;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var MAX_SAFE_INTEGER2 = _number2.MAX_SAFE_INTEGER;
+  var layout2 = layout$5;
+  var helper2 = requireTreeHelper();
+  var mathMax2 = Math.max;
+  var mathMin2 = Math.min;
+  var retrieveValue2 = zrUtil2.retrieve;
+  var each2 = zrUtil2.each;
+  var PATH_BORDER_WIDTH2 = ["itemStyle", "borderWidth"];
+  var PATH_GAP_WIDTH2 = ["itemStyle", "gapWidth"];
+  var PATH_UPPER_LABEL_SHOW2 = ["upperLabel", "show"];
+  var PATH_UPPER_LABEL_HEIGHT2 = ["upperLabel", "height"];
+  var _default68 = {
+    seriesType: "treemap",
+    reset: function(seriesModel, ecModel, api2, payload) {
+      var ecWidth = api2.getWidth();
+      var ecHeight = api2.getHeight();
+      var seriesOption = seriesModel.option;
+      var layoutInfo = layout2.getLayoutRect(seriesModel.getBoxLayoutParams(), {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+      var size = seriesOption.size || [];
+      var containerWidth = parsePercent2(retrieveValue2(layoutInfo.width, size[0]), ecWidth);
+      var containerHeight = parsePercent2(retrieveValue2(layoutInfo.height, size[1]), ecHeight);
+      var payloadType = payload && payload.type;
+      var types2 = ["treemapZoomToNode", "treemapRootToNode"];
+      var targetInfo = helper2.retrieveTargetInfo(payload, types2, seriesModel);
+      var rootRect = payloadType === "treemapRender" || payloadType === "treemapMove" ? payload.rootRect : null;
+      var viewRoot = seriesModel.getViewRoot();
+      var viewAbovePath = helper2.getPathToRoot(viewRoot);
+      if (payloadType !== "treemapMove") {
+        var rootSize = payloadType === "treemapZoomToNode" ? estimateRootSize2(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) : rootRect ? [rootRect.width, rootRect.height] : [containerWidth, containerHeight];
+        var sort3 = seriesOption.sort;
+        if (sort3 && sort3 !== "asc" && sort3 !== "desc") {
+          sort3 = "desc";
+        }
+        var options2 = {
+          squareRatio: seriesOption.squareRatio,
+          sort: sort3,
+          leafDepth: seriesOption.leafDepth
+        };
+        viewRoot.hostTree.clearLayouts();
+        var viewRootLayout = {
+          x: 0,
+          y: 0,
+          width: rootSize[0],
+          height: rootSize[1],
+          area: rootSize[0] * rootSize[1]
+        };
+        viewRoot.setLayout(viewRootLayout);
+        squarify2(viewRoot, options2, false, 0);
+        var viewRootLayout = viewRoot.getLayout();
+        each2(viewAbovePath, function(node, index3) {
+          var childValue = (viewAbovePath[index3 + 1] || viewRoot).getValue();
+          node.setLayout(zrUtil2.extend({
+            dataExtent: [childValue, childValue],
+            borderWidth: 0,
+            upperHeight: 0
+          }, viewRootLayout));
+        });
+      }
+      var treeRoot = seriesModel.getData().tree.root;
+      treeRoot.setLayout(calculateRootPosition2(layoutInfo, rootRect, targetInfo), true);
+      seriesModel.setLayoutInfo(layoutInfo);
+      prunning2(
+        treeRoot,
+        // Transform to base element coordinate system.
+        new BoundingRect2(-layoutInfo.x, -layoutInfo.y, ecWidth, ecHeight),
+        viewAbovePath,
+        viewRoot,
+        0
+      );
+    }
+  };
+  function squarify2(node, options2, hideChildren, depth) {
+    var width;
+    var height;
+    if (node.isRemoved()) {
+      return;
+    }
+    var thisLayout = node.getLayout();
+    width = thisLayout.width;
+    height = thisLayout.height;
+    var nodeModel = node.getModel();
+    var borderWidth = nodeModel.get(PATH_BORDER_WIDTH2);
+    var halfGapWidth = nodeModel.get(PATH_GAP_WIDTH2) / 2;
+    var upperLabelHeight = getUpperLabelHeight2(nodeModel);
+    var upperHeight = Math.max(borderWidth, upperLabelHeight);
+    var layoutOffset = borderWidth - halfGapWidth;
+    var layoutOffsetUpper = upperHeight - halfGapWidth;
+    var nodeModel = node.getModel();
+    node.setLayout({
+      borderWidth,
+      upperHeight,
+      upperLabelHeight
+    }, true);
+    width = mathMax2(width - 2 * layoutOffset, 0);
+    height = mathMax2(height - layoutOffset - layoutOffsetUpper, 0);
+    var totalArea = width * height;
+    var viewChildren = initChildren2(node, nodeModel, totalArea, options2, hideChildren, depth);
+    if (!viewChildren.length) {
+      return;
+    }
+    var rect = {
+      x: layoutOffset,
+      y: layoutOffsetUpper,
+      width,
+      height
+    };
+    var rowFixedLength = mathMin2(width, height);
+    var best = Infinity;
+    var row = [];
+    row.area = 0;
+    for (var i2 = 0, len2 = viewChildren.length; i2 < len2; ) {
+      var child = viewChildren[i2];
+      row.push(child);
+      row.area += child.getLayout().area;
+      var score = worst2(row, rowFixedLength, options2.squareRatio);
+      if (score <= best) {
+        i2++;
+        best = score;
+      } else {
+        row.area -= row.pop().getLayout().area;
+        position2(row, rowFixedLength, rect, halfGapWidth, false);
+        rowFixedLength = mathMin2(rect.width, rect.height);
+        row.length = row.area = 0;
+        best = Infinity;
+      }
+    }
+    if (row.length) {
+      position2(row, rowFixedLength, rect, halfGapWidth, true);
+    }
+    if (!hideChildren) {
+      var childrenVisibleMin = nodeModel.get("childrenVisibleMin");
+      if (childrenVisibleMin != null && totalArea < childrenVisibleMin) {
+        hideChildren = true;
+      }
+    }
+    for (var i2 = 0, len2 = viewChildren.length; i2 < len2; i2++) {
+      squarify2(viewChildren[i2], options2, hideChildren, depth + 1);
+    }
+  }
+  function initChildren2(node, nodeModel, totalArea, options2, hideChildren, depth) {
+    var viewChildren = node.children || [];
+    var orderBy = options2.sort;
+    orderBy !== "asc" && orderBy !== "desc" && (orderBy = null);
+    var overLeafDepth = options2.leafDepth != null && options2.leafDepth <= depth;
+    if (hideChildren && !overLeafDepth) {
+      return node.viewChildren = [];
+    }
+    viewChildren = zrUtil2.filter(viewChildren, function(child) {
+      return !child.isRemoved();
+    });
+    sort2(viewChildren, orderBy);
+    var info = statistic2(nodeModel, viewChildren, orderBy);
+    if (info.sum === 0) {
+      return node.viewChildren = [];
+    }
+    info.sum = filterByThreshold2(nodeModel, totalArea, info.sum, orderBy, viewChildren);
+    if (info.sum === 0) {
+      return node.viewChildren = [];
+    }
+    for (var i2 = 0, len2 = viewChildren.length; i2 < len2; i2++) {
+      var area = viewChildren[i2].getValue() / info.sum * totalArea;
+      viewChildren[i2].setLayout({
+        area
+      });
+    }
+    if (overLeafDepth) {
+      viewChildren.length && node.setLayout({
+        isLeafRoot: true
+      }, true);
+      viewChildren.length = 0;
+    }
+    node.viewChildren = viewChildren;
+    node.setLayout({
+      dataExtent: info.dataExtent
+    }, true);
+    return viewChildren;
+  }
+  function filterByThreshold2(nodeModel, totalArea, sum2, orderBy, orderedChildren) {
+    if (!orderBy) {
+      return sum2;
+    }
+    var visibleMin = nodeModel.get("visibleMin");
+    var len2 = orderedChildren.length;
+    var deletePoint = len2;
+    for (var i2 = len2 - 1; i2 >= 0; i2--) {
+      var value = orderedChildren[orderBy === "asc" ? len2 - i2 - 1 : i2].getValue();
+      if (value / sum2 * totalArea < visibleMin) {
+        deletePoint = i2;
+        sum2 -= value;
+      }
+    }
+    orderBy === "asc" ? orderedChildren.splice(0, len2 - deletePoint) : orderedChildren.splice(deletePoint, len2 - deletePoint);
+    return sum2;
+  }
+  function sort2(viewChildren, orderBy) {
+    if (orderBy) {
+      viewChildren.sort(function(a2, b2) {
+        var diff = orderBy === "asc" ? a2.getValue() - b2.getValue() : b2.getValue() - a2.getValue();
+        return diff === 0 ? orderBy === "asc" ? a2.dataIndex - b2.dataIndex : b2.dataIndex - a2.dataIndex : diff;
+      });
+    }
+    return viewChildren;
+  }
+  function statistic2(nodeModel, children3, orderBy) {
+    var sum2 = 0;
+    for (var i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+      sum2 += children3[i2].getValue();
+    }
+    var dimension = nodeModel.get("visualDimension");
+    var dataExtent;
+    if (!children3 || !children3.length) {
+      dataExtent = [NaN, NaN];
+    } else if (dimension === "value" && orderBy) {
+      dataExtent = [children3[children3.length - 1].getValue(), children3[0].getValue()];
+      orderBy === "asc" && dataExtent.reverse();
+    } else {
+      var dataExtent = [Infinity, -Infinity];
+      each2(children3, function(child) {
+        var value = child.getValue(dimension);
+        value < dataExtent[0] && (dataExtent[0] = value);
+        value > dataExtent[1] && (dataExtent[1] = value);
+      });
+    }
+    return {
+      sum: sum2,
+      dataExtent
+    };
+  }
+  function worst2(row, rowFixedLength, ratio) {
+    var areaMax = 0;
+    var areaMin = Infinity;
+    for (var i2 = 0, area, len2 = row.length; i2 < len2; i2++) {
+      area = row[i2].getLayout().area;
+      if (area) {
+        area < areaMin && (areaMin = area);
+        area > areaMax && (areaMax = area);
+      }
+    }
+    var squareArea = row.area * row.area;
+    var f2 = rowFixedLength * rowFixedLength * ratio;
+    return squareArea ? mathMax2(f2 * areaMax / squareArea, squareArea / (f2 * areaMin)) : Infinity;
+  }
+  function position2(row, rowFixedLength, rect, halfGapWidth, flush) {
+    var idx0WhenH = rowFixedLength === rect.width ? 0 : 1;
+    var idx1WhenH = 1 - idx0WhenH;
+    var xy = ["x", "y"];
+    var wh = ["width", "height"];
+    var last = rect[xy[idx0WhenH]];
+    var rowOtherLength = rowFixedLength ? row.area / rowFixedLength : 0;
+    if (flush || rowOtherLength > rect[wh[idx1WhenH]]) {
+      rowOtherLength = rect[wh[idx1WhenH]];
+    }
+    for (var i2 = 0, rowLen = row.length; i2 < rowLen; i2++) {
+      var node = row[i2];
+      var nodeLayout = {};
+      var step2 = rowOtherLength ? node.getLayout().area / rowOtherLength : 0;
+      var wh1 = nodeLayout[wh[idx1WhenH]] = mathMax2(rowOtherLength - 2 * halfGapWidth, 0);
+      var remain = rect[xy[idx0WhenH]] + rect[wh[idx0WhenH]] - last;
+      var modWH = i2 === rowLen - 1 || remain < step2 ? remain : step2;
+      var wh0 = nodeLayout[wh[idx0WhenH]] = mathMax2(modWH - 2 * halfGapWidth, 0);
+      nodeLayout[xy[idx1WhenH]] = rect[xy[idx1WhenH]] + mathMin2(halfGapWidth, wh1 / 2);
+      nodeLayout[xy[idx0WhenH]] = last + mathMin2(halfGapWidth, wh0 / 2);
+      last += modWH;
+      node.setLayout(nodeLayout, true);
+    }
+    rect[xy[idx1WhenH]] += rowOtherLength;
+    rect[wh[idx1WhenH]] -= rowOtherLength;
+  }
+  function estimateRootSize2(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) {
+    var currNode = (targetInfo || {}).node;
+    var defaultSize = [containerWidth, containerHeight];
+    if (!currNode || currNode === viewRoot) {
+      return defaultSize;
+    }
+    var parent3;
+    var viewArea = containerWidth * containerHeight;
+    var area = viewArea * seriesModel.option.zoomToNodeRatio;
+    while (parent3 = currNode.parentNode) {
+      var sum2 = 0;
+      var siblings = parent3.children;
+      for (var i2 = 0, len2 = siblings.length; i2 < len2; i2++) {
+        sum2 += siblings[i2].getValue();
+      }
+      var currNodeValue = currNode.getValue();
+      if (currNodeValue === 0) {
+        return defaultSize;
+      }
+      area *= sum2 / currNodeValue;
+      var parentModel = parent3.getModel();
+      var borderWidth = parentModel.get(PATH_BORDER_WIDTH2);
+      var upperHeight = Math.max(borderWidth, getUpperLabelHeight2(parentModel));
+      area += 4 * borderWidth * borderWidth + (3 * borderWidth + upperHeight) * Math.pow(area, 0.5);
+      area > MAX_SAFE_INTEGER2 && (area = MAX_SAFE_INTEGER2);
+      currNode = parent3;
+    }
+    area < viewArea && (area = viewArea);
+    var scale2 = Math.pow(area / viewArea, 0.5);
+    return [containerWidth * scale2, containerHeight * scale2];
+  }
+  function calculateRootPosition2(layoutInfo, rootRect, targetInfo) {
+    if (rootRect) {
+      return {
+        x: rootRect.x,
+        y: rootRect.y
+      };
+    }
+    var defaultPosition = {
+      x: 0,
+      y: 0
+    };
+    if (!targetInfo) {
+      return defaultPosition;
+    }
+    var targetNode = targetInfo.node;
+    var layout3 = targetNode.getLayout();
+    if (!layout3) {
+      return defaultPosition;
+    }
+    var targetCenter = [layout3.width / 2, layout3.height / 2];
+    var node = targetNode;
+    while (node) {
+      var nodeLayout = node.getLayout();
+      targetCenter[0] += nodeLayout.x;
+      targetCenter[1] += nodeLayout.y;
+      node = node.parentNode;
+    }
+    return {
+      x: layoutInfo.width / 2 - targetCenter[0],
+      y: layoutInfo.height / 2 - targetCenter[1]
+    };
+  }
+  function prunning2(node, clipRect, viewAbovePath, viewRoot, depth) {
+    var nodeLayout = node.getLayout();
+    var nodeInViewAbovePath = viewAbovePath[depth];
+    var isAboveViewRoot = nodeInViewAbovePath && nodeInViewAbovePath === node;
+    if (nodeInViewAbovePath && !isAboveViewRoot || depth === viewAbovePath.length && node !== viewRoot) {
+      return;
+    }
+    node.setLayout({
+      // isInView means: viewRoot sub tree + viewAbovePath
+      isInView: true,
+      // invisible only means: outside view clip so that the node can not
+      // see but still layout for animation preparation but not render.
+      invisible: !isAboveViewRoot && !clipRect.intersect(nodeLayout),
+      isAboveViewRoot
+    }, true);
+    var childClipRect = new BoundingRect2(clipRect.x - nodeLayout.x, clipRect.y - nodeLayout.y, clipRect.width, clipRect.height);
+    each2(node.viewChildren || [], function(child) {
+      prunning2(child, childClipRect, viewAbovePath, viewRoot, depth + 1);
+    });
+  }
+  function getUpperLabelHeight2(model2) {
+    return model2.get(PATH_UPPER_LABEL_SHOW2) ? model2.get(PATH_UPPER_LABEL_HEIGHT2) : 0;
+  }
+  treemapLayout$1 = _default68;
+  return treemapLayout$1;
+}
+var hasRequiredTreemap;
+function requireTreemap() {
+  if (hasRequiredTreemap)
+    return treemap;
+  hasRequiredTreemap = 1;
+  var echarts2 = echarts$1;
+  requireTreemapSeries();
+  requireTreemapView();
+  requireTreemapAction();
+  var treemapVisual2 = requireTreemapVisual();
+  var treemapLayout2 = requireTreemapLayout();
+  echarts2.registerVisual(treemapVisual2);
+  echarts2.registerLayout(treemapLayout2);
+  return treemap;
+}
+var graph = {};
+var Graph_1;
+var hasRequiredGraph$1;
+function requireGraph$1() {
+  if (hasRequiredGraph$1)
+    return Graph_1;
+  hasRequiredGraph$1 = 1;
+  var zrUtil2 = util$a;
+  var _clazz2 = clazz;
+  var enableClassCheck2 = _clazz2.enableClassCheck;
+  function generateNodeKey2(id) {
+    return "_EC_" + id;
+  }
+  var Graph2 = function(directed) {
+    this._directed = directed || false;
+    this.nodes = [];
+    this.edges = [];
+    this._nodesMap = {};
+    this._edgesMap = {};
+    this.data;
+    this.edgeData;
+  };
+  var graphProto = Graph2.prototype;
+  graphProto.type = "graph";
+  graphProto.isDirected = function() {
+    return this._directed;
+  };
+  graphProto.addNode = function(id, dataIndex) {
+    id = id == null ? "" + dataIndex : "" + id;
+    var nodesMap = this._nodesMap;
+    if (nodesMap[generateNodeKey2(id)]) {
+      return;
+    }
+    var node = new Node3(id, dataIndex);
+    node.hostGraph = this;
+    this.nodes.push(node);
+    nodesMap[generateNodeKey2(id)] = node;
+    return node;
+  };
+  graphProto.getNodeByIndex = function(dataIndex) {
+    var rawIdx = this.data.getRawIndex(dataIndex);
+    return this.nodes[rawIdx];
+  };
+  graphProto.getNodeById = function(id) {
+    return this._nodesMap[generateNodeKey2(id)];
+  };
+  graphProto.addEdge = function(n1, n2, dataIndex) {
+    var nodesMap = this._nodesMap;
+    var edgesMap = this._edgesMap;
+    if (typeof n1 === "number") {
+      n1 = this.nodes[n1];
+    }
+    if (typeof n2 === "number") {
+      n2 = this.nodes[n2];
+    }
+    if (!Node3.isInstance(n1)) {
+      n1 = nodesMap[generateNodeKey2(n1)];
+    }
+    if (!Node3.isInstance(n2)) {
+      n2 = nodesMap[generateNodeKey2(n2)];
+    }
+    if (!n1 || !n2) {
+      return;
+    }
+    var key2 = n1.id + "-" + n2.id;
+    var edge = new Edge(n1, n2, dataIndex);
+    edge.hostGraph = this;
+    if (this._directed) {
+      n1.outEdges.push(edge);
+      n2.inEdges.push(edge);
+    }
+    n1.edges.push(edge);
+    if (n1 !== n2) {
+      n2.edges.push(edge);
+    }
+    this.edges.push(edge);
+    edgesMap[key2] = edge;
+    return edge;
+  };
+  graphProto.getEdgeByIndex = function(dataIndex) {
+    var rawIdx = this.edgeData.getRawIndex(dataIndex);
+    return this.edges[rawIdx];
+  };
+  graphProto.getEdge = function(n1, n2) {
+    if (Node3.isInstance(n1)) {
+      n1 = n1.id;
+    }
+    if (Node3.isInstance(n2)) {
+      n2 = n2.id;
+    }
+    var edgesMap = this._edgesMap;
+    if (this._directed) {
+      return edgesMap[n1 + "-" + n2];
+    } else {
+      return edgesMap[n1 + "-" + n2] || edgesMap[n2 + "-" + n1];
+    }
+  };
+  graphProto.eachNode = function(cb, context) {
+    var nodes = this.nodes;
+    var len2 = nodes.length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      if (nodes[i2].dataIndex >= 0) {
+        cb.call(context, nodes[i2], i2);
+      }
+    }
+  };
+  graphProto.eachEdge = function(cb, context) {
+    var edges = this.edges;
+    var len2 = edges.length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      if (edges[i2].dataIndex >= 0 && edges[i2].node1.dataIndex >= 0 && edges[i2].node2.dataIndex >= 0) {
+        cb.call(context, edges[i2], i2);
+      }
+    }
+  };
+  graphProto.breadthFirstTraverse = function(cb, startNode, direction, context) {
+    if (!Node3.isInstance(startNode)) {
+      startNode = this._nodesMap[generateNodeKey2(startNode)];
+    }
+    if (!startNode) {
+      return;
+    }
+    var edgeType = direction === "out" ? "outEdges" : direction === "in" ? "inEdges" : "edges";
+    for (var i2 = 0; i2 < this.nodes.length; i2++) {
+      this.nodes[i2].__visited = false;
+    }
+    if (cb.call(context, startNode, null)) {
+      return;
+    }
+    var queue = [startNode];
+    while (queue.length) {
+      var currentNode = queue.shift();
+      var edges = currentNode[edgeType];
+      for (var i2 = 0; i2 < edges.length; i2++) {
+        var e2 = edges[i2];
+        var otherNode = e2.node1 === currentNode ? e2.node2 : e2.node1;
+        if (!otherNode.__visited) {
+          if (cb.call(context, otherNode, currentNode)) {
+            return;
+          }
+          queue.push(otherNode);
+          otherNode.__visited = true;
+        }
+      }
+    }
+  };
+  graphProto.update = function() {
+    var data2 = this.data;
+    var edgeData = this.edgeData;
+    var nodes = this.nodes;
+    var edges = this.edges;
+    for (var i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+      nodes[i2].dataIndex = -1;
+    }
+    for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+      nodes[data2.getRawIndex(i2)].dataIndex = i2;
+    }
+    edgeData.filterSelf(function(idx) {
+      var edge = edges[edgeData.getRawIndex(idx)];
+      return edge.node1.dataIndex >= 0 && edge.node2.dataIndex >= 0;
+    });
+    for (var i2 = 0, len2 = edges.length; i2 < len2; i2++) {
+      edges[i2].dataIndex = -1;
+    }
+    for (var i2 = 0, len2 = edgeData.count(); i2 < len2; i2++) {
+      edges[edgeData.getRawIndex(i2)].dataIndex = i2;
+    }
+  };
+  graphProto.clone = function() {
+    var graph2 = new Graph2(this._directed);
+    var nodes = this.nodes;
+    var edges = this.edges;
+    for (var i2 = 0; i2 < nodes.length; i2++) {
+      graph2.addNode(nodes[i2].id, nodes[i2].dataIndex);
+    }
+    for (var i2 = 0; i2 < edges.length; i2++) {
+      var e2 = edges[i2];
+      graph2.addEdge(e2.node1.id, e2.node2.id, e2.dataIndex);
+    }
+    return graph2;
+  };
+  function Node3(id, dataIndex) {
+    this.id = id == null ? "" : id;
+    this.inEdges = [];
+    this.outEdges = [];
+    this.edges = [];
+    this.hostGraph;
+    this.dataIndex = dataIndex == null ? -1 : dataIndex;
+  }
+  Node3.prototype = {
+    constructor: Node3,
+    /**
+     * @return {number}
+     */
+    degree: function() {
+      return this.edges.length;
+    },
+    /**
+     * @return {number}
+     */
+    inDegree: function() {
+      return this.inEdges.length;
+    },
+    /**
+    * @return {number}
+    */
+    outDegree: function() {
+      return this.outEdges.length;
+    },
+    /**
+     * @param {string} [path]
+     * @return {module:echarts/model/Model}
+     */
+    getModel: function(path2) {
+      if (this.dataIndex < 0) {
+        return;
+      }
+      var graph2 = this.hostGraph;
+      var itemModel = graph2.data.getItemModel(this.dataIndex);
+      return itemModel.getModel(path2);
+    }
+  };
+  function Edge(n1, n2, dataIndex) {
+    this.node1 = n1;
+    this.node2 = n2;
+    this.dataIndex = dataIndex == null ? -1 : dataIndex;
+  }
+  Edge.prototype.getModel = function(path2) {
+    if (this.dataIndex < 0) {
+      return;
+    }
+    var graph2 = this.hostGraph;
+    var itemModel = graph2.edgeData.getItemModel(this.dataIndex);
+    return itemModel.getModel(path2);
+  };
+  var createGraphDataProxyMixin2 = function(hostName, dataName) {
+    return {
+      /**
+       * @param {string=} [dimension='value'] Default 'value'. can be 'a', 'b', 'c', 'd', 'e'.
+       * @return {number}
+       */
+      getValue: function(dimension) {
+        var data2 = this[hostName][dataName];
+        return data2.get(data2.getDimension(dimension || "value"), this.dataIndex);
+      },
+      /**
+       * @param {Object|string} key
+       * @param {*} [value]
+       */
+      setVisual: function(key2, value) {
+        this.dataIndex >= 0 && this[hostName][dataName].setItemVisual(this.dataIndex, key2, value);
+      },
+      /**
+       * @param {string} key
+       * @return {boolean}
+       */
+      getVisual: function(key2, ignoreParent) {
+        return this[hostName][dataName].getItemVisual(this.dataIndex, key2, ignoreParent);
+      },
+      /**
+       * @param {Object} layout
+       * @return {boolean} [merge=false]
+       */
+      setLayout: function(layout2, merge2) {
+        this.dataIndex >= 0 && this[hostName][dataName].setItemLayout(this.dataIndex, layout2, merge2);
+      },
+      /**
+       * @return {Object}
+       */
+      getLayout: function() {
+        return this[hostName][dataName].getItemLayout(this.dataIndex);
+      },
+      /**
+       * @return {module:zrender/Element}
+       */
+      getGraphicEl: function() {
+        return this[hostName][dataName].getItemGraphicEl(this.dataIndex);
+      },
+      /**
+       * @return {number}
+       */
+      getRawIndex: function() {
+        return this[hostName][dataName].getRawIndex(this.dataIndex);
+      }
+    };
+  };
+  zrUtil2.mixin(Node3, createGraphDataProxyMixin2("hostGraph", "data"));
+  zrUtil2.mixin(Edge, createGraphDataProxyMixin2("hostGraph", "edgeData"));
+  Graph2.Node = Node3;
+  Graph2.Edge = Edge;
+  enableClassCheck2(Node3);
+  enableClassCheck2(Edge);
+  var _default68 = Graph2;
+  Graph_1 = _default68;
+  return Graph_1;
+}
+var createGraphFromNodeEdge$1;
+var hasRequiredCreateGraphFromNodeEdge;
+function requireCreateGraphFromNodeEdge() {
+  if (hasRequiredCreateGraphFromNodeEdge)
+    return createGraphFromNodeEdge$1;
+  hasRequiredCreateGraphFromNodeEdge = 1;
+  var zrUtil2 = util$a;
+  var List = requireList();
+  var Graph2 = requireGraph$1();
+  var linkList = requireLinkList();
+  var createDimensions2 = requireCreateDimensions();
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var createListFromArray = requireCreateListFromArray();
+  function _default68(nodes, edges, seriesModel, directed, beforeLink) {
+    var graph2 = new Graph2(directed);
+    for (var i2 = 0; i2 < nodes.length; i2++) {
+      graph2.addNode(zrUtil2.retrieve(
+        // Id, name, dataIndex
+        nodes[i2].id,
+        nodes[i2].name,
+        i2
+      ), i2);
+    }
+    var linkNameList = [];
+    var validEdges = [];
+    var linkCount = 0;
+    for (var i2 = 0; i2 < edges.length; i2++) {
+      var link = edges[i2];
+      var source2 = link.source;
+      var target = link.target;
+      if (graph2.addEdge(source2, target, linkCount)) {
+        validEdges.push(link);
+        linkNameList.push(zrUtil2.retrieve(link.id, source2 + " > " + target));
+        linkCount++;
+      }
+    }
+    var coordSys = seriesModel.get("coordinateSystem");
+    var nodeData;
+    if (coordSys === "cartesian2d" || coordSys === "polar") {
+      nodeData = createListFromArray(nodes, seriesModel);
+    } else {
+      var coordSysCtor = CoordinateSystem2.get(coordSys);
+      var coordDimensions = coordSysCtor && coordSysCtor.type !== "view" ? coordSysCtor.dimensions || [] : [];
+      if (zrUtil2.indexOf(coordDimensions, "value") < 0) {
+        coordDimensions.concat(["value"]);
+      }
+      var dimensionNames = createDimensions2(nodes, {
+        coordDimensions
+      });
+      nodeData = new List(dimensionNames, seriesModel);
+      nodeData.initData(nodes);
+    }
+    var edgeData = new List(["value"], seriesModel);
+    edgeData.initData(validEdges, linkNameList);
+    beforeLink && beforeLink(nodeData, edgeData);
+    linkList({
+      mainData: nodeData,
+      struct: graph2,
+      structAttr: "graph",
+      datas: {
+        node: nodeData,
+        edge: edgeData
+      },
+      datasAttr: {
+        node: "data",
+        edge: "edgeData"
+      }
+    });
+    graph2.update();
+    return graph2;
+  }
+  createGraphFromNodeEdge$1 = _default68;
+  return createGraphFromNodeEdge$1;
+}
+var multipleGraphEdgeHelper = {};
+var hasRequiredMultipleGraphEdgeHelper;
+function requireMultipleGraphEdgeHelper() {
+  if (hasRequiredMultipleGraphEdgeHelper)
+    return multipleGraphEdgeHelper;
+  hasRequiredMultipleGraphEdgeHelper = 1;
+  var zrUtil2 = util$a;
+  var KEY_DELIMITER2 = "-->";
+  var getAutoCurvenessParams2 = function(seriesModel) {
+    return seriesModel.get("autoCurveness") || null;
+  };
+  var createCurveness2 = function(seriesModel, appendLength) {
+    var autoCurvenessParmas = getAutoCurvenessParams2(seriesModel);
+    var length2 = 20;
+    var curvenessList = [];
+    if (typeof autoCurvenessParmas === "number") {
+      length2 = autoCurvenessParmas;
+    } else if (zrUtil2.isArray(autoCurvenessParmas)) {
+      seriesModel.__curvenessList = autoCurvenessParmas;
+      return;
+    }
+    if (appendLength > length2) {
+      length2 = appendLength;
+    }
+    var len2 = length2 % 2 ? length2 + 2 : length2 + 3;
+    curvenessList = [];
+    for (var i2 = 0; i2 < len2; i2++) {
+      curvenessList.push((i2 % 2 ? i2 + 1 : i2) / 10 * (i2 % 2 ? -1 : 1));
+    }
+    seriesModel.__curvenessList = curvenessList;
+  };
+  var getKeyOfEdges2 = function(n1, n2, seriesModel) {
+    var source2 = [n1.id, n1.dataIndex].join(".");
+    var target = [n2.id, n2.dataIndex].join(".");
+    return [seriesModel.uid, source2, target].join(KEY_DELIMITER2);
+  };
+  var getOppositeKey2 = function(key2) {
+    var keys2 = key2.split(KEY_DELIMITER2);
+    return [keys2[0], keys2[2], keys2[1]].join(KEY_DELIMITER2);
+  };
+  var getEdgeFromMap2 = function(edge, seriesModel) {
+    var key2 = getKeyOfEdges2(edge.node1, edge.node2, seriesModel);
+    return seriesModel.__edgeMap[key2];
+  };
+  var getTotalLengthBetweenNodes2 = function(edge, seriesModel) {
+    var len2 = getEdgeMapLengthWithKey2(getKeyOfEdges2(edge.node1, edge.node2, seriesModel), seriesModel);
+    var lenV = getEdgeMapLengthWithKey2(getKeyOfEdges2(edge.node2, edge.node1, seriesModel), seriesModel);
+    return len2 + lenV;
+  };
+  var getEdgeMapLengthWithKey2 = function(key2, seriesModel) {
+    var edgeMap = seriesModel.__edgeMap;
+    return edgeMap[key2] ? edgeMap[key2].length : 0;
+  };
+  function initCurvenessList2(seriesModel) {
+    if (!getAutoCurvenessParams2(seriesModel)) {
+      return;
+    }
+    seriesModel.__curvenessList = [];
+    seriesModel.__edgeMap = {};
+    createCurveness2(seriesModel);
+  }
+  function createEdgeMapForCurveness2(n1, n2, seriesModel, index3) {
+    if (!getAutoCurvenessParams2(seriesModel)) {
+      return;
+    }
+    var key2 = getKeyOfEdges2(n1, n2, seriesModel);
+    var edgeMap = seriesModel.__edgeMap;
+    var oppositeEdges = edgeMap[getOppositeKey2(key2)];
+    if (edgeMap[key2] && !oppositeEdges) {
+      edgeMap[key2].isForward = true;
+    } else if (oppositeEdges && edgeMap[key2]) {
+      oppositeEdges.isForward = true;
+      edgeMap[key2].isForward = false;
+    }
+    edgeMap[key2] = edgeMap[key2] || [];
+    edgeMap[key2].push(index3);
+  }
+  function getCurvenessForEdge2(edge, seriesModel, index3, needReverse) {
+    var autoCurvenessParams = getAutoCurvenessParams2(seriesModel);
+    var isArrayParam = zrUtil2.isArray(autoCurvenessParams);
+    if (!autoCurvenessParams) {
+      return null;
+    }
+    var edgeArray = getEdgeFromMap2(edge, seriesModel);
+    if (!edgeArray) {
+      return null;
+    }
+    var edgeIndex = -1;
+    for (var i2 = 0; i2 < edgeArray.length; i2++) {
+      if (edgeArray[i2] === index3) {
+        edgeIndex = i2;
+        break;
+      }
+    }
+    var totalLen = getTotalLengthBetweenNodes2(edge, seriesModel);
+    createCurveness2(seriesModel, totalLen);
+    edge.lineStyle = edge.lineStyle || {};
+    var curKey = getKeyOfEdges2(edge.node1, edge.node2, seriesModel);
+    var curvenessList = seriesModel.__curvenessList;
+    var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;
+    if (!edgeArray.isForward) {
+      var oppositeKey = getOppositeKey2(curKey);
+      var len2 = getEdgeMapLengthWithKey2(oppositeKey, seriesModel);
+      var resValue = curvenessList[edgeIndex + len2 + parityCorrection];
+      if (needReverse) {
+        if (isArrayParam) {
+          if (autoCurvenessParams && autoCurvenessParams[0] === 0) {
+            return (len2 + parityCorrection) % 2 ? resValue : -resValue;
+          } else {
+            return ((len2 % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;
+          }
+        } else {
+          return (len2 + parityCorrection) % 2 ? resValue : -resValue;
+        }
+      } else {
+        return curvenessList[edgeIndex + len2 + parityCorrection];
+      }
+    } else {
+      return curvenessList[parityCorrection + edgeIndex];
+    }
+  }
+  multipleGraphEdgeHelper.initCurvenessList = initCurvenessList2;
+  multipleGraphEdgeHelper.createEdgeMapForCurveness = createEdgeMapForCurveness2;
+  multipleGraphEdgeHelper.getCurvenessForEdge = getCurvenessForEdge2;
+  return multipleGraphEdgeHelper;
+}
+var GraphSeries_1;
+var hasRequiredGraphSeries;
+function requireGraphSeries() {
+  if (hasRequiredGraphSeries)
+    return GraphSeries_1;
+  hasRequiredGraphSeries = 1;
+  var echarts2 = echarts$1;
+  var List = requireList();
+  var zrUtil2 = util$a;
+  var _model2 = model;
+  var defaultEmphasis2 = _model2.defaultEmphasis;
+  var Model2 = Model_1;
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var createGraphFromNodeEdge2 = requireCreateGraphFromNodeEdge();
+  var LegendVisualProvider2 = requireLegendVisualProvider();
+  var _multipleGraphEdgeHelper = requireMultipleGraphEdgeHelper();
+  var initCurvenessList2 = _multipleGraphEdgeHelper.initCurvenessList;
+  var createEdgeMapForCurveness2 = _multipleGraphEdgeHelper.createEdgeMapForCurveness;
+  var GraphSeries = echarts2.extendSeriesModel({
+    type: "series.graph",
+    init: function(option) {
+      GraphSeries.superApply(this, "init", arguments);
+      var self2 = this;
+      function getCategoriesData() {
+        return self2._categoriesData;
+      }
+      this.legendVisualProvider = new LegendVisualProvider2(getCategoriesData, getCategoriesData);
+      this.fillDataTextStyle(option.edges || option.links);
+      this._updateCategoriesData();
+    },
+    mergeOption: function(option) {
+      GraphSeries.superApply(this, "mergeOption", arguments);
+      this.fillDataTextStyle(option.edges || option.links);
+      this._updateCategoriesData();
+    },
+    mergeDefaultAndTheme: function(option) {
+      GraphSeries.superApply(this, "mergeDefaultAndTheme", arguments);
+      defaultEmphasis2(option, ["edgeLabel"], ["show"]);
+    },
+    getInitialData: function(option, ecModel) {
+      var edges = option.edges || option.links || [];
+      var nodes = option.data || option.nodes || [];
+      var self2 = this;
+      if (nodes && edges) {
+        initCurvenessList2(this);
+        var graph2 = createGraphFromNodeEdge2(nodes, edges, this, true, beforeLink);
+        zrUtil2.each(graph2.edges, function(edge) {
+          createEdgeMapForCurveness2(edge.node1, edge.node2, this, edge.dataIndex);
+        }, this);
+        return graph2.data;
+      }
+      function beforeLink(nodeData, edgeData) {
+        nodeData.wrapMethod("getItemModel", function(model2) {
+          var categoriesModels = self2._categoriesModels;
+          var categoryIdx = model2.getShallow("category");
+          var categoryModel = categoriesModels[categoryIdx];
+          if (categoryModel) {
+            categoryModel.parentModel = model2.parentModel;
+            model2.parentModel = categoryModel;
+          }
+          return model2;
+        });
+        var edgeLabelModel = self2.getModel("edgeLabel");
+        var fakeSeriesModel = new Model2({
+          label: edgeLabelModel.option
+        }, edgeLabelModel.parentModel, ecModel);
+        var emphasisEdgeLabelModel = self2.getModel("emphasis.edgeLabel");
+        var emphasisFakeSeriesModel = new Model2({
+          emphasis: {
+            label: emphasisEdgeLabelModel.option
+          }
+        }, emphasisEdgeLabelModel.parentModel, ecModel);
+        edgeData.wrapMethod("getItemModel", function(model2) {
+          model2.customizeGetParent(edgeGetParent);
+          return model2;
+        });
+        function edgeGetParent(path2) {
+          path2 = this.parsePath(path2);
+          return path2 && path2[0] === "label" ? fakeSeriesModel : path2 && path2[0] === "emphasis" && path2[1] === "label" ? emphasisFakeSeriesModel : this.parentModel;
+        }
+      }
+    },
+    /**
+     * @return {module:echarts/data/Graph}
+     */
+    getGraph: function() {
+      return this.getData().graph;
+    },
+    /**
+     * @return {module:echarts/data/List}
+     */
+    getEdgeData: function() {
+      return this.getGraph().edgeData;
+    },
+    /**
+     * @return {module:echarts/data/List}
+     */
+    getCategoriesData: function() {
+      return this._categoriesData;
+    },
+    /**
+     * @override
+     */
+    formatTooltip: function(dataIndex, multipleSeries, dataType) {
+      if (dataType === "edge") {
+        var nodeData = this.getData();
+        var params2 = this.getDataParams(dataIndex, dataType);
+        var edge = nodeData.graph.getEdgeByIndex(dataIndex);
+        var sourceName = nodeData.getName(edge.node1.dataIndex);
+        var targetName = nodeData.getName(edge.node2.dataIndex);
+        var html = [];
+        sourceName != null && html.push(sourceName);
+        targetName != null && html.push(targetName);
+        html = encodeHTML2(html.join(" > "));
+        if (params2.value) {
+          html += " : " + encodeHTML2(params2.value);
+        }
+        return html;
+      } else {
+        return GraphSeries.superApply(this, "formatTooltip", arguments);
+      }
+    },
+    _updateCategoriesData: function() {
+      var categories = zrUtil2.map(this.option.categories || [], function(category) {
+        return category.value != null ? category : zrUtil2.extend({
+          value: 0
+        }, category);
+      });
+      var categoriesData = new List(["value"], this);
+      categoriesData.initData(categories);
+      this._categoriesData = categoriesData;
+      this._categoriesModels = categoriesData.mapArray(function(idx) {
+        return categoriesData.getItemModel(idx, true);
+      });
+    },
+    setZoom: function(zoom) {
+      this.option.zoom = zoom;
+    },
+    setCenter: function(center2) {
+      this.option.center = center2;
+    },
+    isAnimationEnabled: function() {
+      return GraphSeries.superCall(this, "isAnimationEnabled") && !(this.get("layout") === "force" && this.get("force.layoutAnimation"));
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "view",
+      // Default option for all coordinate systems
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // polarIndex: 0,
+      // geoIndex: 0,
+      legendHoverLink: true,
+      hoverAnimation: true,
+      layout: null,
+      focusNodeAdjacency: false,
+      // Configuration of circular layout
+      circular: {
+        rotateLabel: false
+      },
+      // Configuration of force directed layout
+      force: {
+        initLayout: null,
+        // Node repulsion. Can be an array to represent range.
+        repulsion: [0, 50],
+        gravity: 0.1,
+        // Initial friction
+        friction: 0.6,
+        // Edge length. Can be an array to represent range.
+        edgeLength: 30,
+        layoutAnimation: true
+      },
+      left: "center",
+      top: "center",
+      // right: null,
+      // bottom: null,
+      // width: '80%',
+      // height: '80%',
+      symbol: "circle",
+      symbolSize: 10,
+      edgeSymbol: ["none", "none"],
+      edgeSymbolSize: 10,
+      edgeLabel: {
+        position: "middle",
+        distance: 5
+      },
+      draggable: false,
+      roam: false,
+      // Default on center of graph
+      center: null,
+      zoom: 1,
+      // Symbol size scale ratio in roam
+      nodeScaleRatio: 0.6,
+      // cursor: null,
+      // categories: [],
+      // data: []
+      // Or
+      // nodes: []
+      //
+      // links: []
+      // Or
+      // edges: []
+      label: {
+        show: false,
+        formatter: "{b}"
+      },
+      itemStyle: {},
+      lineStyle: {
+        color: "#aaa",
+        width: 1,
+        opacity: 0.5
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      }
+    }
+  });
+  var _default68 = GraphSeries;
+  GraphSeries_1 = _default68;
+  return GraphSeries_1;
+}
+var LinePath;
+var hasRequiredLinePath;
+function requireLinePath() {
+  if (hasRequiredLinePath)
+    return LinePath;
+  hasRequiredLinePath = 1;
+  var graphic2 = graphic$6;
+  var vec22 = vector$3;
+  var straightLineProto2 = graphic2.Line.prototype;
+  var bezierCurveProto2 = graphic2.BezierCurve.prototype;
+  function isLine(shape) {
+    return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);
+  }
+  var _default68 = graphic2.extendShape({
+    type: "ec-line",
+    style: {
+      stroke: "#000",
+      fill: null
+    },
+    shape: {
+      x1: 0,
+      y1: 0,
+      x2: 0,
+      y2: 0,
+      percent: 1,
+      cpx1: null,
+      cpy1: null
+    },
+    buildPath: function(ctx, shape) {
+      this[isLine(shape) ? "_buildPathLine" : "_buildPathCurve"](ctx, shape);
+    },
+    _buildPathLine: straightLineProto2.buildPath,
+    _buildPathCurve: bezierCurveProto2.buildPath,
+    pointAt: function(t2) {
+      return this[isLine(this.shape) ? "_pointAtLine" : "_pointAtCurve"](t2);
+    },
+    _pointAtLine: straightLineProto2.pointAt,
+    _pointAtCurve: bezierCurveProto2.pointAt,
+    tangentAt: function(t2) {
+      var shape = this.shape;
+      var p2 = isLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : this._tangentAtCurve(t2);
+      return vec22.normalize(p2, p2);
+    },
+    _tangentAtCurve: bezierCurveProto2.tangentAt
+  });
+  LinePath = _default68;
+  return LinePath;
+}
+var Line_1;
+var hasRequiredLine;
+function requireLine() {
+  if (hasRequiredLine)
+    return Line_1;
+  hasRequiredLine = 1;
+  var zrUtil2 = util$a;
+  var vector2 = vector$3;
+  var symbolUtil = requireSymbol$1();
+  var LinePath2 = requireLinePath();
+  var graphic2 = graphic$6;
+  var _number2 = requireNumber();
+  var round2 = _number2.round;
+  var SYMBOL_CATEGORIES2 = ["fromSymbol", "toSymbol"];
+  function makeSymbolTypeKey2(symbolCategory) {
+    return "_" + symbolCategory + "Type";
+  }
+  function createSymbol2(name2, lineData, idx) {
+    var symbolType = lineData.getItemVisual(idx, name2);
+    if (!symbolType || symbolType === "none") {
+      return;
+    }
+    var color2 = lineData.getItemVisual(idx, "color");
+    var symbolSize = lineData.getItemVisual(idx, name2 + "Size");
+    var symbolRotate = lineData.getItemVisual(idx, name2 + "Rotate");
+    if (!zrUtil2.isArray(symbolSize)) {
+      symbolSize = [symbolSize, symbolSize];
+    }
+    var symbolPath = symbolUtil.createSymbol(symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2, symbolSize[0], symbolSize[1], color2);
+    symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;
+    symbolPath.name = name2;
+    return symbolPath;
+  }
+  function createLine2(points2) {
+    var line2 = new LinePath2({
+      name: "line",
+      subPixelOptimize: true
+    });
+    setLinePoints2(line2.shape, points2);
+    return line2;
+  }
+  function setLinePoints2(targetShape, points2) {
+    targetShape.x1 = points2[0][0];
+    targetShape.y1 = points2[0][1];
+    targetShape.x2 = points2[1][0];
+    targetShape.y2 = points2[1][1];
+    targetShape.percent = 1;
+    var cp1 = points2[2];
+    if (cp1) {
+      targetShape.cpx1 = cp1[0];
+      targetShape.cpy1 = cp1[1];
+    } else {
+      targetShape.cpx1 = NaN;
+      targetShape.cpy1 = NaN;
+    }
+  }
+  function updateSymbolAndLabelBeforeLineUpdate() {
+    var lineGroup = this;
+    var symbolFrom = lineGroup.childOfName("fromSymbol");
+    var symbolTo = lineGroup.childOfName("toSymbol");
+    var label = lineGroup.childOfName("label");
+    if (!symbolFrom && !symbolTo && label.ignore) {
+      return;
+    }
+    var invScale = 1;
+    var parentNode2 = this.parent;
+    while (parentNode2) {
+      if (parentNode2.scale) {
+        invScale /= parentNode2.scale[0];
+      }
+      parentNode2 = parentNode2.parent;
+    }
+    var line2 = lineGroup.childOfName("line");
+    if (!this.__dirty && !line2.__dirty) {
+      return;
+    }
+    var percent = line2.shape.percent;
+    var fromPos = line2.pointAt(0);
+    var toPos = line2.pointAt(percent);
+    var d2 = vector2.sub([], toPos, fromPos);
+    vector2.normalize(d2, d2);
+    if (symbolFrom) {
+      symbolFrom.attr("position", fromPos);
+      var specifiedRotation = symbolFrom.__specifiedRotation;
+      if (specifiedRotation == null) {
+        var tangent = line2.tangentAt(0);
+        symbolFrom.attr("rotation", Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));
+      } else {
+        symbolFrom.attr("rotation", specifiedRotation);
+      }
+      symbolFrom.attr("scale", [invScale * percent, invScale * percent]);
+    }
+    if (symbolTo) {
+      symbolTo.attr("position", toPos);
+      var specifiedRotation = symbolTo.__specifiedRotation;
+      if (specifiedRotation == null) {
+        var tangent = line2.tangentAt(1);
+        symbolTo.attr("rotation", -Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));
+      } else {
+        symbolTo.attr("rotation", specifiedRotation);
+      }
+      symbolTo.attr("scale", [invScale * percent, invScale * percent]);
+    }
+    if (!label.ignore) {
+      label.attr("position", toPos);
+      var textPosition;
+      var textAlign;
+      var textVerticalAlign;
+      var textOrigin;
+      var distance2 = label.__labelDistance;
+      var distanceX = distance2[0] * invScale;
+      var distanceY = distance2[1] * invScale;
+      var halfPercent = percent / 2;
+      var tangent = line2.tangentAt(halfPercent);
+      var n2 = [tangent[1], -tangent[0]];
+      var cp = line2.pointAt(halfPercent);
+      if (n2[1] > 0) {
+        n2[0] = -n2[0];
+        n2[1] = -n2[1];
+      }
+      var dir3 = tangent[0] < 0 ? -1 : 1;
+      if (label.__position !== "start" && label.__position !== "end") {
+        var rotation = -Math.atan2(tangent[1], tangent[0]);
+        if (toPos[0] < fromPos[0]) {
+          rotation = Math.PI + rotation;
+        }
+        label.attr("rotation", rotation);
+      }
+      var dy;
+      switch (label.__position) {
+        case "insideStartTop":
+        case "insideMiddleTop":
+        case "insideEndTop":
+        case "middle":
+          dy = -distanceY;
+          textVerticalAlign = "bottom";
+          break;
+        case "insideStartBottom":
+        case "insideMiddleBottom":
+        case "insideEndBottom":
+          dy = distanceY;
+          textVerticalAlign = "top";
+          break;
+        default:
+          dy = 0;
+          textVerticalAlign = "middle";
+      }
+      switch (label.__position) {
+        case "end":
+          textPosition = [d2[0] * distanceX + toPos[0], d2[1] * distanceY + toPos[1]];
+          textAlign = d2[0] > 0.8 ? "left" : d2[0] < -0.8 ? "right" : "center";
+          textVerticalAlign = d2[1] > 0.8 ? "top" : d2[1] < -0.8 ? "bottom" : "middle";
+          break;
+        case "start":
+          textPosition = [-d2[0] * distanceX + fromPos[0], -d2[1] * distanceY + fromPos[1]];
+          textAlign = d2[0] > 0.8 ? "right" : d2[0] < -0.8 ? "left" : "center";
+          textVerticalAlign = d2[1] > 0.8 ? "bottom" : d2[1] < -0.8 ? "top" : "middle";
+          break;
+        case "insideStartTop":
+        case "insideStart":
+        case "insideStartBottom":
+          textPosition = [distanceX * dir3 + fromPos[0], fromPos[1] + dy];
+          textAlign = tangent[0] < 0 ? "right" : "left";
+          textOrigin = [-distanceX * dir3, -dy];
+          break;
+        case "insideMiddleTop":
+        case "insideMiddle":
+        case "insideMiddleBottom":
+        case "middle":
+          textPosition = [cp[0], cp[1] + dy];
+          textAlign = "center";
+          textOrigin = [0, -dy];
+          break;
+        case "insideEndTop":
+        case "insideEnd":
+        case "insideEndBottom":
+          textPosition = [-distanceX * dir3 + toPos[0], toPos[1] + dy];
+          textAlign = tangent[0] >= 0 ? "right" : "left";
+          textOrigin = [distanceX * dir3, -dy];
+          break;
+      }
+      label.attr({
+        style: {
+          // Use the user specified text align and baseline first
+          textVerticalAlign: label.__verticalAlign || textVerticalAlign,
+          textAlign: label.__textAlign || textAlign
+        },
+        position: textPosition,
+        scale: [invScale, invScale],
+        origin: textOrigin
+      });
+    }
+  }
+  function Line2(lineData, idx, seriesScope) {
+    graphic2.Group.call(this);
+    this._createLine(lineData, idx, seriesScope);
+  }
+  var lineProto = Line2.prototype;
+  lineProto.beforeUpdate = updateSymbolAndLabelBeforeLineUpdate;
+  lineProto._createLine = function(lineData, idx, seriesScope) {
+    var seriesModel = lineData.hostModel;
+    var linePoints = lineData.getItemLayout(idx);
+    var line2 = createLine2(linePoints);
+    line2.shape.percent = 0;
+    graphic2.initProps(line2, {
+      shape: {
+        percent: 1
+      }
+    }, seriesModel, idx);
+    this.add(line2);
+    var label = new graphic2.Text({
+      name: "label",
+      // FIXME
+      // Temporary solution for `focusNodeAdjacency`.
+      // line label do not use the opacity of lineStyle.
+      lineLabelOriginalOpacity: 1
+    });
+    this.add(label);
+    zrUtil2.each(SYMBOL_CATEGORIES2, function(symbolCategory) {
+      var symbol2 = createSymbol2(symbolCategory, lineData, idx);
+      this.add(symbol2);
+      this[makeSymbolTypeKey2(symbolCategory)] = lineData.getItemVisual(idx, symbolCategory);
+    }, this);
+    this._updateCommonStl(lineData, idx, seriesScope);
+  };
+  lineProto.updateData = function(lineData, idx, seriesScope) {
+    var seriesModel = lineData.hostModel;
+    var line2 = this.childOfName("line");
+    var linePoints = lineData.getItemLayout(idx);
+    var target = {
+      shape: {}
+    };
+    setLinePoints2(target.shape, linePoints);
+    graphic2.updateProps(line2, target, seriesModel, idx);
+    zrUtil2.each(SYMBOL_CATEGORIES2, function(symbolCategory) {
+      var symbolType = lineData.getItemVisual(idx, symbolCategory);
+      var key2 = makeSymbolTypeKey2(symbolCategory);
+      if (this[key2] !== symbolType) {
+        this.remove(this.childOfName(symbolCategory));
+        var symbol2 = createSymbol2(symbolCategory, lineData, idx);
+        this.add(symbol2);
+      }
+      this[key2] = symbolType;
+    }, this);
+    this._updateCommonStl(lineData, idx, seriesScope);
+  };
+  lineProto._updateCommonStl = function(lineData, idx, seriesScope) {
+    var seriesModel = lineData.hostModel;
+    var line2 = this.childOfName("line");
+    var lineStyle2 = seriesScope && seriesScope.lineStyle;
+    var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;
+    var labelModel = seriesScope && seriesScope.labelModel;
+    var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;
+    if (!seriesScope || lineData.hasItemOption) {
+      var itemModel = lineData.getItemModel(idx);
+      lineStyle2 = itemModel.getModel("lineStyle").getLineStyle();
+      hoverLineStyle = itemModel.getModel("emphasis.lineStyle").getLineStyle();
+      labelModel = itemModel.getModel("label");
+      hoverLabelModel = itemModel.getModel("emphasis.label");
+    }
+    var visualColor = lineData.getItemVisual(idx, "color");
+    var visualOpacity = zrUtil2.retrieve3(lineData.getItemVisual(idx, "opacity"), lineStyle2.opacity, 1);
+    line2.useStyle(zrUtil2.defaults({
+      strokeNoScale: true,
+      fill: "none",
+      stroke: visualColor,
+      opacity: visualOpacity
+    }, lineStyle2));
+    line2.hoverStyle = hoverLineStyle;
+    zrUtil2.each(SYMBOL_CATEGORIES2, function(symbolCategory) {
+      var symbol2 = this.childOfName(symbolCategory);
+      if (symbol2) {
+        symbol2.setColor(visualColor);
+        symbol2.setStyle({
+          opacity: visualOpacity
+        });
+      }
+    }, this);
+    var showLabel = labelModel.getShallow("show");
+    var hoverShowLabel = hoverLabelModel.getShallow("show");
+    var label = this.childOfName("label");
+    var defaultLabelColor;
+    var baseText;
+    if (showLabel || hoverShowLabel) {
+      defaultLabelColor = visualColor || "#000";
+      baseText = seriesModel.getFormattedLabel(idx, "normal", lineData.dataType);
+      if (baseText == null) {
+        var rawVal = seriesModel.getRawValue(idx);
+        baseText = rawVal == null ? lineData.getName(idx) : isFinite(rawVal) ? round2(rawVal) : rawVal;
+      }
+    }
+    var normalText = showLabel ? baseText : null;
+    var emphasisText = hoverShowLabel ? zrUtil2.retrieve2(seriesModel.getFormattedLabel(idx, "emphasis", lineData.dataType), baseText) : null;
+    var labelStyle = label.style;
+    if (normalText != null || emphasisText != null) {
+      graphic2.setTextStyle(label.style, labelModel, {
+        text: normalText
+      }, {
+        autoColor: defaultLabelColor
+      });
+      label.__textAlign = labelStyle.textAlign;
+      label.__verticalAlign = labelStyle.textVerticalAlign;
+      label.__position = labelModel.get("position") || "middle";
+      var distance2 = labelModel.get("distance");
+      if (!zrUtil2.isArray(distance2)) {
+        distance2 = [distance2, distance2];
+      }
+      label.__labelDistance = distance2;
+    }
+    if (emphasisText != null) {
+      label.hoverStyle = {
+        text: emphasisText,
+        textFill: hoverLabelModel.getTextColor(true),
+        // For merging hover style to normal style, do not use
+        // `hoverLabelModel.getFont()` here.
+        fontStyle: hoverLabelModel.getShallow("fontStyle"),
+        fontWeight: hoverLabelModel.getShallow("fontWeight"),
+        fontSize: hoverLabelModel.getShallow("fontSize"),
+        fontFamily: hoverLabelModel.getShallow("fontFamily")
+      };
+    } else {
+      label.hoverStyle = {
+        text: null
+      };
+    }
+    label.ignore = !showLabel && !hoverShowLabel;
+    graphic2.setHoverStyle(this);
+  };
+  lineProto.highlight = function() {
+    this.trigger("emphasis");
+  };
+  lineProto.downplay = function() {
+    this.trigger("normal");
+  };
+  lineProto.updateLayout = function(lineData, idx) {
+    this.setLinePoints(lineData.getItemLayout(idx));
+  };
+  lineProto.setLinePoints = function(points2) {
+    var linePath = this.childOfName("line");
+    setLinePoints2(linePath.shape, points2);
+    linePath.dirty();
+  };
+  zrUtil2.inherits(Line2, graphic2.Group);
+  var _default68 = Line2;
+  Line_1 = _default68;
+  return Line_1;
+}
+var LineDraw_1;
+var hasRequiredLineDraw;
+function requireLineDraw() {
+  if (hasRequiredLineDraw)
+    return LineDraw_1;
+  hasRequiredLineDraw = 1;
+  var graphic2 = graphic$6;
+  var LineGroup = requireLine();
+  function LineDraw2(ctor) {
+    this._ctor = ctor || LineGroup;
+    this.group = new graphic2.Group();
+  }
+  var lineDrawProto = LineDraw2.prototype;
+  lineDrawProto.isPersistent = function() {
+    return true;
+  };
+  lineDrawProto.updateData = function(lineData) {
+    var lineDraw = this;
+    var group = lineDraw.group;
+    var oldLineData = lineDraw._lineData;
+    lineDraw._lineData = lineData;
+    if (!oldLineData) {
+      group.removeAll();
+    }
+    var seriesScope = makeSeriesScope2(lineData);
+    lineData.diff(oldLineData).add(function(idx) {
+      doAdd(lineDraw, lineData, idx, seriesScope);
+    }).update(function(newIdx, oldIdx) {
+      doUpdate(lineDraw, oldLineData, lineData, oldIdx, newIdx, seriesScope);
+    }).remove(function(idx) {
+      group.remove(oldLineData.getItemGraphicEl(idx));
+    }).execute();
+  };
+  function doAdd(lineDraw, lineData, idx, seriesScope) {
+    var itemLayout = lineData.getItemLayout(idx);
+    if (!lineNeedsDraw2(itemLayout)) {
+      return;
+    }
+    var el = new lineDraw._ctor(lineData, idx, seriesScope);
+    lineData.setItemGraphicEl(idx, el);
+    lineDraw.group.add(el);
+  }
+  function doUpdate(lineDraw, oldLineData, newLineData, oldIdx, newIdx, seriesScope) {
+    var itemEl = oldLineData.getItemGraphicEl(oldIdx);
+    if (!lineNeedsDraw2(newLineData.getItemLayout(newIdx))) {
+      lineDraw.group.remove(itemEl);
+      return;
+    }
+    if (!itemEl) {
+      itemEl = new lineDraw._ctor(newLineData, newIdx, seriesScope);
+    } else {
+      itemEl.updateData(newLineData, newIdx, seriesScope);
+    }
+    newLineData.setItemGraphicEl(newIdx, itemEl);
+    lineDraw.group.add(itemEl);
+  }
+  lineDrawProto.updateLayout = function() {
+    var lineData = this._lineData;
+    if (!lineData) {
+      return;
+    }
+    lineData.eachItemGraphicEl(function(el, idx) {
+      el.updateLayout(lineData, idx);
+    }, this);
+  };
+  lineDrawProto.incrementalPrepareUpdate = function(lineData) {
+    this._seriesScope = makeSeriesScope2(lineData);
+    this._lineData = null;
+    this.group.removeAll();
+  };
+  function isEffectObject2(el) {
+    return el.animators && el.animators.length > 0;
+  }
+  lineDrawProto.incrementalUpdate = function(taskParams, lineData) {
+    function updateIncrementalAndHover(el2) {
+      if (!el2.isGroup && !isEffectObject2(el2)) {
+        el2.incremental = el2.useHoverLayer = true;
+      }
+    }
+    for (var idx = taskParams.start; idx < taskParams.end; idx++) {
+      var itemLayout = lineData.getItemLayout(idx);
+      if (lineNeedsDraw2(itemLayout)) {
+        var el = new this._ctor(lineData, idx, this._seriesScope);
+        el.traverse(updateIncrementalAndHover);
+        this.group.add(el);
+        lineData.setItemGraphicEl(idx, el);
+      }
+    }
+  };
+  function makeSeriesScope2(lineData) {
+    var hostModel = lineData.hostModel;
+    return {
+      lineStyle: hostModel.getModel("lineStyle").getLineStyle(),
+      hoverLineStyle: hostModel.getModel("emphasis.lineStyle").getLineStyle(),
+      labelModel: hostModel.getModel("label"),
+      hoverLabelModel: hostModel.getModel("emphasis.label")
+    };
+  }
+  lineDrawProto.remove = function() {
+    this._clearIncremental();
+    this._incremental = null;
+    this.group.removeAll();
+  };
+  lineDrawProto._clearIncremental = function() {
+    var incremental = this._incremental;
+    if (incremental) {
+      incremental.clearDisplaybles();
+    }
+  };
+  function isPointNaN2(pt) {
+    return isNaN(pt[0]) || isNaN(pt[1]);
+  }
+  function lineNeedsDraw2(pts) {
+    return !isPointNaN2(pts[0]) && !isPointNaN2(pts[1]);
+  }
+  var _default68 = LineDraw2;
+  LineDraw_1 = _default68;
+  return LineDraw_1;
+}
+var graphHelper = {};
+var hasRequiredGraphHelper;
+function requireGraphHelper() {
+  if (hasRequiredGraphHelper)
+    return graphHelper;
+  hasRequiredGraphHelper = 1;
+  function getNodeGlobalScale2(seriesModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    if (coordSys.type !== "view") {
+      return 1;
+    }
+    var nodeScaleRatio = seriesModel.option.nodeScaleRatio;
+    var groupScale = coordSys.scale;
+    var groupZoom = groupScale && groupScale[0] || 1;
+    var roamZoom = coordSys.getZoom();
+    var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;
+    return nodeScale / groupZoom;
+  }
+  function getSymbolSize2(node) {
+    var symbolSize = node.getVisual("symbolSize");
+    if (symbolSize instanceof Array) {
+      symbolSize = (symbolSize[0] + symbolSize[1]) / 2;
+    }
+    return +symbolSize;
+  }
+  graphHelper.getNodeGlobalScale = getNodeGlobalScale2;
+  graphHelper.getSymbolSize = getSymbolSize2;
+  return graphHelper;
+}
+var adjustEdge$1;
+var hasRequiredAdjustEdge;
+function requireAdjustEdge() {
+  if (hasRequiredAdjustEdge)
+    return adjustEdge$1;
+  hasRequiredAdjustEdge = 1;
+  var curveTool = curve$3;
+  var vec22 = vector$3;
+  var _graphHelper = requireGraphHelper();
+  var getSymbolSize2 = _graphHelper.getSymbolSize;
+  var v12 = [];
+  var v22 = [];
+  var v32 = [];
+  var quadraticAt2 = curveTool.quadraticAt;
+  var v2DistSquare2 = vec22.distSquare;
+  var mathAbs2 = Math.abs;
+  function intersectCurveCircle2(curvePoints, center2, radius) {
+    var p0 = curvePoints[0];
+    var p1 = curvePoints[1];
+    var p2 = curvePoints[2];
+    var d2 = Infinity;
+    var t2;
+    var radiusSquare = radius * radius;
+    var interval = 0.1;
+    for (var _t = 0.1; _t <= 0.9; _t += 0.1) {
+      v12[0] = quadraticAt2(p0[0], p1[0], p2[0], _t);
+      v12[1] = quadraticAt2(p0[1], p1[1], p2[1], _t);
+      var diff = mathAbs2(v2DistSquare2(v12, center2) - radiusSquare);
+      if (diff < d2) {
+        d2 = diff;
+        t2 = _t;
+      }
+    }
+    for (var i2 = 0; i2 < 32; i2++) {
+      var next = t2 + interval;
+      v22[0] = quadraticAt2(p0[0], p1[0], p2[0], t2);
+      v22[1] = quadraticAt2(p0[1], p1[1], p2[1], t2);
+      v32[0] = quadraticAt2(p0[0], p1[0], p2[0], next);
+      v32[1] = quadraticAt2(p0[1], p1[1], p2[1], next);
+      var diff = v2DistSquare2(v22, center2) - radiusSquare;
+      if (mathAbs2(diff) < 0.01) {
+        break;
+      }
+      var nextDiff = v2DistSquare2(v32, center2) - radiusSquare;
+      interval /= 2;
+      if (diff < 0) {
+        if (nextDiff >= 0) {
+          t2 = t2 + interval;
+        } else {
+          t2 = t2 - interval;
+        }
+      } else {
+        if (nextDiff >= 0) {
+          t2 = t2 - interval;
+        } else {
+          t2 = t2 + interval;
+        }
+      }
+    }
+    return t2;
+  }
+  function _default68(graph2, scale2) {
+    var tmp0 = [];
+    var quadraticSubdivide2 = curveTool.quadraticSubdivide;
+    var pts = [[], [], []];
+    var pts2 = [[], []];
+    var v4 = [];
+    scale2 /= 2;
+    graph2.eachEdge(function(edge, idx) {
+      var linePoints = edge.getLayout();
+      var fromSymbol = edge.getVisual("fromSymbol");
+      var toSymbol = edge.getVisual("toSymbol");
+      if (!linePoints.__original) {
+        linePoints.__original = [vec22.clone(linePoints[0]), vec22.clone(linePoints[1])];
+        if (linePoints[2]) {
+          linePoints.__original.push(vec22.clone(linePoints[2]));
+        }
+      }
+      var originalPoints = linePoints.__original;
+      if (linePoints[2] != null) {
+        vec22.copy(pts[0], originalPoints[0]);
+        vec22.copy(pts[1], originalPoints[2]);
+        vec22.copy(pts[2], originalPoints[1]);
+        if (fromSymbol && fromSymbol !== "none") {
+          var symbolSize = getSymbolSize2(edge.node1);
+          var t2 = intersectCurveCircle2(pts, originalPoints[0], symbolSize * scale2);
+          quadraticSubdivide2(pts[0][0], pts[1][0], pts[2][0], t2, tmp0);
+          pts[0][0] = tmp0[3];
+          pts[1][0] = tmp0[4];
+          quadraticSubdivide2(pts[0][1], pts[1][1], pts[2][1], t2, tmp0);
+          pts[0][1] = tmp0[3];
+          pts[1][1] = tmp0[4];
+        }
+        if (toSymbol && toSymbol !== "none") {
+          var symbolSize = getSymbolSize2(edge.node2);
+          var t2 = intersectCurveCircle2(pts, originalPoints[1], symbolSize * scale2);
+          quadraticSubdivide2(pts[0][0], pts[1][0], pts[2][0], t2, tmp0);
+          pts[1][0] = tmp0[1];
+          pts[2][0] = tmp0[2];
+          quadraticSubdivide2(pts[0][1], pts[1][1], pts[2][1], t2, tmp0);
+          pts[1][1] = tmp0[1];
+          pts[2][1] = tmp0[2];
+        }
+        vec22.copy(linePoints[0], pts[0]);
+        vec22.copy(linePoints[1], pts[2]);
+        vec22.copy(linePoints[2], pts[1]);
+      } else {
+        vec22.copy(pts2[0], originalPoints[0]);
+        vec22.copy(pts2[1], originalPoints[1]);
+        vec22.sub(v4, pts2[1], pts2[0]);
+        vec22.normalize(v4, v4);
+        if (fromSymbol && fromSymbol !== "none") {
+          var symbolSize = getSymbolSize2(edge.node1);
+          vec22.scaleAndAdd(pts2[0], pts2[0], v4, symbolSize * scale2);
+        }
+        if (toSymbol && toSymbol !== "none") {
+          var symbolSize = getSymbolSize2(edge.node2);
+          vec22.scaleAndAdd(pts2[1], pts2[1], v4, -symbolSize * scale2);
+        }
+        vec22.copy(linePoints[0], pts2[0]);
+        vec22.copy(linePoints[1], pts2[1]);
+      }
+    });
+  }
+  adjustEdge$1 = _default68;
+  return adjustEdge$1;
+}
+var GraphView$2;
+var hasRequiredGraphView;
+function requireGraphView() {
+  if (hasRequiredGraphView)
+    return GraphView$2;
+  hasRequiredGraphView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var SymbolDraw2 = requireSymbolDraw();
+  var LineDraw2 = requireLineDraw();
+  var RoamController2 = requireRoamController();
+  var roamHelper2 = requireRoamHelper$1();
+  var _cursorHelper = requireCursorHelper();
+  var onIrrelevantElement2 = _cursorHelper.onIrrelevantElement;
+  var graphic2 = graphic$6;
+  var adjustEdge2 = requireAdjustEdge();
+  var _graphHelper = requireGraphHelper();
+  var getNodeGlobalScale2 = _graphHelper.getNodeGlobalScale;
+  var FOCUS_ADJACENCY = "__focusNodeAdjacency";
+  var UNFOCUS_ADJACENCY = "__unfocusNodeAdjacency";
+  var nodeOpacityPath = ["itemStyle", "opacity"];
+  var lineOpacityPath = ["lineStyle", "opacity"];
+  function getItemOpacity(item, opacityPath) {
+    var opacity = item.getVisual("opacity");
+    return opacity != null ? opacity : item.getModel().get(opacityPath);
+  }
+  function fadeOutItem(item, opacityPath, opacityRatio) {
+    var el = item.getGraphicEl();
+    var opacity = getItemOpacity(item, opacityPath);
+    if (opacityRatio != null) {
+      opacity == null && (opacity = 1);
+      opacity *= opacityRatio;
+    }
+    el.downplay && el.downplay();
+    el.traverse(function(child) {
+      if (!child.isGroup) {
+        var opct = child.lineLabelOriginalOpacity;
+        if (opct == null || opacityRatio != null) {
+          opct = opacity;
+        }
+        child.setStyle("opacity", opct);
+      }
+    });
+  }
+  function fadeInItem(item, opacityPath) {
+    var opacity = getItemOpacity(item, opacityPath);
+    var el = item.getGraphicEl();
+    el.traverse(function(child) {
+      !child.isGroup && child.setStyle("opacity", opacity);
+    });
+    el.highlight && el.highlight();
+  }
+  var _default68 = echarts2.extendChartView({
+    type: "graph",
+    init: function(ecModel, api2) {
+      var symbolDraw = new SymbolDraw2();
+      var lineDraw = new LineDraw2();
+      var group = this.group;
+      this._controller = new RoamController2(api2.getZr());
+      this._controllerHost = {
+        target: group
+      };
+      group.add(symbolDraw.group);
+      group.add(lineDraw.group);
+      this._symbolDraw = symbolDraw;
+      this._lineDraw = lineDraw;
+      this._firstRender = true;
+    },
+    render: function(seriesModel, ecModel, api2) {
+      var graphView = this;
+      var coordSys = seriesModel.coordinateSystem;
+      this._model = seriesModel;
+      var symbolDraw = this._symbolDraw;
+      var lineDraw = this._lineDraw;
+      var group = this.group;
+      if (coordSys.type === "view") {
+        var groupNewProp = {
+          position: coordSys.position,
+          scale: coordSys.scale
+        };
+        if (this._firstRender) {
+          group.attr(groupNewProp);
+        } else {
+          graphic2.updateProps(group, groupNewProp, seriesModel);
+        }
+      }
+      adjustEdge2(seriesModel.getGraph(), getNodeGlobalScale2(seriesModel));
+      var data2 = seriesModel.getData();
+      symbolDraw.updateData(data2);
+      var edgeData = seriesModel.getEdgeData();
+      lineDraw.updateData(edgeData);
+      this._updateNodeAndLinkScale();
+      this._updateController(seriesModel, ecModel, api2);
+      clearTimeout(this._layoutTimeout);
+      var forceLayout2 = seriesModel.forceLayout;
+      var layoutAnimation = seriesModel.get("force.layoutAnimation");
+      if (forceLayout2) {
+        this._startForceLayoutIteration(forceLayout2, layoutAnimation);
+      }
+      data2.eachItemGraphicEl(function(el, idx) {
+        var itemModel = data2.getItemModel(idx);
+        el.off("drag").off("dragend");
+        var draggable = itemModel.get("draggable");
+        if (draggable) {
+          el.on("drag", function() {
+            if (forceLayout2) {
+              forceLayout2.warmUp();
+              !this._layouting && this._startForceLayoutIteration(forceLayout2, layoutAnimation);
+              forceLayout2.setFixed(idx);
+              data2.setItemLayout(idx, el.position);
+            }
+          }, this).on("dragend", function() {
+            if (forceLayout2) {
+              forceLayout2.setUnfixed(idx);
+            }
+          }, this);
+        }
+        el.setDraggable(draggable && forceLayout2);
+        el[FOCUS_ADJACENCY] && el.off("mouseover", el[FOCUS_ADJACENCY]);
+        el[UNFOCUS_ADJACENCY] && el.off("mouseout", el[UNFOCUS_ADJACENCY]);
+        if (itemModel.get("focusNodeAdjacency")) {
+          el.on("mouseover", el[FOCUS_ADJACENCY] = function() {
+            graphView._clearTimer();
+            api2.dispatchAction({
+              type: "focusNodeAdjacency",
+              seriesId: seriesModel.id,
+              dataIndex: el.dataIndex
+            });
+          });
+          el.on("mouseout", el[UNFOCUS_ADJACENCY] = function() {
+            graphView._dispatchUnfocus(api2);
+          });
+        }
+      }, this);
+      data2.graph.eachEdge(function(edge) {
+        var el = edge.getGraphicEl();
+        el[FOCUS_ADJACENCY] && el.off("mouseover", el[FOCUS_ADJACENCY]);
+        el[UNFOCUS_ADJACENCY] && el.off("mouseout", el[UNFOCUS_ADJACENCY]);
+        if (edge.getModel().get("focusNodeAdjacency")) {
+          el.on("mouseover", el[FOCUS_ADJACENCY] = function() {
+            graphView._clearTimer();
+            api2.dispatchAction({
+              type: "focusNodeAdjacency",
+              seriesId: seriesModel.id,
+              edgeDataIndex: edge.dataIndex
+            });
+          });
+          el.on("mouseout", el[UNFOCUS_ADJACENCY] = function() {
+            graphView._dispatchUnfocus(api2);
+          });
+        }
+      });
+      var circularRotateLabel = seriesModel.get("layout") === "circular" && seriesModel.get("circular.rotateLabel");
+      var cx = data2.getLayout("cx");
+      var cy = data2.getLayout("cy");
+      data2.eachItemGraphicEl(function(el, idx) {
+        var itemModel = data2.getItemModel(idx);
+        var labelRotate = itemModel.get("label.rotate") || 0;
+        var symbolPath = el.getSymbolPath();
+        if (circularRotateLabel) {
+          var pos = data2.getItemLayout(idx);
+          var rad = Math.atan2(pos[1] - cy, pos[0] - cx);
+          if (rad < 0) {
+            rad = Math.PI * 2 + rad;
+          }
+          var isLeft = pos[0] < cx;
+          if (isLeft) {
+            rad = rad - Math.PI;
+          }
+          var textPosition = isLeft ? "left" : "right";
+          graphic2.modifyLabelStyle(symbolPath, {
+            textRotation: -rad,
+            textPosition,
+            textOrigin: "center"
+          }, {
+            textPosition
+          });
+        } else {
+          graphic2.modifyLabelStyle(symbolPath, {
+            textRotation: labelRotate *= Math.PI / 180
+          });
+        }
+      });
+      this._firstRender = false;
+    },
+    dispose: function() {
+      this._controller && this._controller.dispose();
+      this._controllerHost = {};
+      this._clearTimer();
+    },
+    _dispatchUnfocus: function(api2, opt) {
+      var self2 = this;
+      this._clearTimer();
+      this._unfocusDelayTimer = setTimeout(function() {
+        self2._unfocusDelayTimer = null;
+        api2.dispatchAction({
+          type: "unfocusNodeAdjacency",
+          seriesId: self2._model.id
+        });
+      }, 500);
+    },
+    _clearTimer: function() {
+      if (this._unfocusDelayTimer) {
+        clearTimeout(this._unfocusDelayTimer);
+        this._unfocusDelayTimer = null;
+      }
+    },
+    focusNodeAdjacency: function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var graph2 = data2.graph;
+      var dataIndex = payload.dataIndex;
+      var edgeDataIndex = payload.edgeDataIndex;
+      var node = graph2.getNodeByIndex(dataIndex);
+      var edge = graph2.getEdgeByIndex(edgeDataIndex);
+      if (!node && !edge) {
+        return;
+      }
+      graph2.eachNode(function(node2) {
+        fadeOutItem(node2, nodeOpacityPath, 0.1);
+      });
+      graph2.eachEdge(function(edge2) {
+        fadeOutItem(edge2, lineOpacityPath, 0.1);
+      });
+      if (node) {
+        fadeInItem(node, nodeOpacityPath);
+        zrUtil2.each(node.edges, function(adjacentEdge) {
+          if (adjacentEdge.dataIndex < 0) {
+            return;
+          }
+          fadeInItem(adjacentEdge, lineOpacityPath);
+          fadeInItem(adjacentEdge.node1, nodeOpacityPath);
+          fadeInItem(adjacentEdge.node2, nodeOpacityPath);
+        });
+      }
+      if (edge) {
+        fadeInItem(edge, lineOpacityPath);
+        fadeInItem(edge.node1, nodeOpacityPath);
+        fadeInItem(edge.node2, nodeOpacityPath);
+      }
+    },
+    unfocusNodeAdjacency: function(seriesModel, ecModel, api2, payload) {
+      var graph2 = seriesModel.getData().graph;
+      graph2.eachNode(function(node) {
+        fadeOutItem(node, nodeOpacityPath);
+      });
+      graph2.eachEdge(function(edge) {
+        fadeOutItem(edge, lineOpacityPath);
+      });
+    },
+    _startForceLayoutIteration: function(forceLayout2, layoutAnimation) {
+      var self2 = this;
+      (function step2() {
+        forceLayout2.step(function(stopped) {
+          self2.updateLayout(self2._model);
+          (self2._layouting = !stopped) && (layoutAnimation ? self2._layoutTimeout = setTimeout(step2, 16) : step2());
+        });
+      })();
+    },
+    _updateController: function(seriesModel, ecModel, api2) {
+      var controller = this._controller;
+      var controllerHost = this._controllerHost;
+      var group = this.group;
+      controller.setPointerChecker(function(e2, x2, y2) {
+        var rect = group.getBoundingRect();
+        rect.applyTransform(group.transform);
+        return rect.contain(x2, y2) && !onIrrelevantElement2(e2, api2, seriesModel);
+      });
+      if (seriesModel.coordinateSystem.type !== "view") {
+        controller.disable();
+        return;
+      }
+      controller.enable(seriesModel.get("roam"));
+      controllerHost.zoomLimit = seriesModel.get("scaleLimit");
+      controllerHost.zoom = seriesModel.coordinateSystem.getZoom();
+      controller.off("pan").off("zoom").on("pan", function(e2) {
+        roamHelper2.updateViewOnPan(controllerHost, e2.dx, e2.dy);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "graphRoam",
+          dx: e2.dx,
+          dy: e2.dy
+        });
+      }).on("zoom", function(e2) {
+        roamHelper2.updateViewOnZoom(controllerHost, e2.scale, e2.originX, e2.originY);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "graphRoam",
+          zoom: e2.scale,
+          originX: e2.originX,
+          originY: e2.originY
+        });
+        this._updateNodeAndLinkScale();
+        adjustEdge2(seriesModel.getGraph(), getNodeGlobalScale2(seriesModel));
+        this._lineDraw.updateLayout();
+      }, this);
+    },
+    _updateNodeAndLinkScale: function() {
+      var seriesModel = this._model;
+      var data2 = seriesModel.getData();
+      var nodeScale = getNodeGlobalScale2(seriesModel);
+      var invScale = [nodeScale, nodeScale];
+      data2.eachItemGraphicEl(function(el, idx) {
+        el.attr("scale", invScale);
+      });
+    },
+    updateLayout: function(seriesModel) {
+      adjustEdge2(seriesModel.getGraph(), getNodeGlobalScale2(seriesModel));
+      this._symbolDraw.updateLayout();
+      this._lineDraw.updateLayout();
+    },
+    remove: function(ecModel, api2) {
+      this._symbolDraw && this._symbolDraw.remove();
+      this._lineDraw && this._lineDraw.remove();
+    }
+  });
+  GraphView$2 = _default68;
+  return GraphView$2;
+}
+var graphAction = {};
+var focusNodeAdjacencyAction = {};
+var hasRequiredFocusNodeAdjacencyAction;
+function requireFocusNodeAdjacencyAction() {
+  if (hasRequiredFocusNodeAdjacencyAction)
+    return focusNodeAdjacencyAction;
+  hasRequiredFocusNodeAdjacencyAction = 1;
+  var echarts2 = echarts$1;
+  echarts2.registerAction({
+    type: "focusNodeAdjacency",
+    event: "focusNodeAdjacency",
+    update: "series:focusNodeAdjacency"
+  }, function() {
+  });
+  echarts2.registerAction({
+    type: "unfocusNodeAdjacency",
+    event: "unfocusNodeAdjacency",
+    update: "series:unfocusNodeAdjacency"
+  }, function() {
+  });
+  return focusNodeAdjacencyAction;
+}
+var hasRequiredGraphAction;
+function requireGraphAction() {
+  if (hasRequiredGraphAction)
+    return graphAction;
+  hasRequiredGraphAction = 1;
+  var echarts2 = echarts$1;
+  var _roamHelper = requireRoamHelper();
+  var updateCenterAndZoom2 = _roamHelper.updateCenterAndZoom;
+  requireFocusNodeAdjacencyAction();
+  var actionInfo2 = {
+    type: "graphRoam",
+    event: "graphRoam",
+    update: "none"
+  };
+  echarts2.registerAction(actionInfo2, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      query: payload
+    }, function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var res = updateCenterAndZoom2(coordSys, payload);
+      seriesModel.setCenter && seriesModel.setCenter(res.center);
+      seriesModel.setZoom && seriesModel.setZoom(res.zoom);
+    });
+  });
+  return graphAction;
+}
+var categoryFilter$1;
+var hasRequiredCategoryFilter;
+function requireCategoryFilter() {
+  if (hasRequiredCategoryFilter)
+    return categoryFilter$1;
+  hasRequiredCategoryFilter = 1;
+  function _default68(ecModel) {
+    var legendModels = ecModel.findComponents({
+      mainType: "legend"
+    });
+    if (!legendModels || !legendModels.length) {
+      return;
+    }
+    ecModel.eachSeriesByType("graph", function(graphSeries) {
+      var categoriesData = graphSeries.getCategoriesData();
+      var graph2 = graphSeries.getGraph();
+      var data2 = graph2.data;
+      var categoryNames = categoriesData.mapArray(categoriesData.getName);
+      data2.filterSelf(function(idx) {
+        var model2 = data2.getItemModel(idx);
+        var category = model2.getShallow("category");
+        if (category != null) {
+          if (typeof category === "number") {
+            category = categoryNames[category];
+          }
+          for (var i2 = 0; i2 < legendModels.length; i2++) {
+            if (!legendModels[i2].isSelected(category)) {
+              return false;
+            }
+          }
+        }
+        return true;
+      });
+    }, this);
+  }
+  categoryFilter$1 = _default68;
+  return categoryFilter$1;
+}
+var categoryVisual$1;
+var hasRequiredCategoryVisual;
+function requireCategoryVisual() {
+  if (hasRequiredCategoryVisual)
+    return categoryVisual$1;
+  hasRequiredCategoryVisual = 1;
+  function _default68(ecModel) {
+    var paletteScope = {};
+    ecModel.eachSeriesByType("graph", function(seriesModel) {
+      var categoriesData = seriesModel.getCategoriesData();
+      var data2 = seriesModel.getData();
+      var categoryNameIdxMap = {};
+      categoriesData.each(function(idx) {
+        var name2 = categoriesData.getName(idx);
+        categoryNameIdxMap["ec-" + name2] = idx;
+        var itemModel = categoriesData.getItemModel(idx);
+        var color2 = itemModel.get("itemStyle.color") || seriesModel.getColorFromPalette(name2, paletteScope);
+        categoriesData.setItemVisual(idx, "color", color2);
+        var itemStyleList = ["opacity", "symbol", "symbolSize", "symbolKeepAspect"];
+        for (var i2 = 0; i2 < itemStyleList.length; i2++) {
+          var itemStyle2 = itemModel.getShallow(itemStyleList[i2], true);
+          if (itemStyle2 != null) {
+            categoriesData.setItemVisual(idx, itemStyleList[i2], itemStyle2);
+          }
+        }
+      });
+      if (categoriesData.count()) {
+        data2.each(function(idx) {
+          var model2 = data2.getItemModel(idx);
+          var category = model2.getShallow("category");
+          if (category != null) {
+            if (typeof category === "string") {
+              category = categoryNameIdxMap["ec-" + category];
+            }
+            var itemStyleList = ["color", "opacity", "symbol", "symbolSize", "symbolKeepAspect"];
+            for (var i2 = 0; i2 < itemStyleList.length; i2++) {
+              if (data2.getItemVisual(idx, itemStyleList[i2], true) == null) {
+                data2.setItemVisual(idx, itemStyleList[i2], categoriesData.getItemVisual(category, itemStyleList[i2]));
+              }
+            }
+          }
+        });
+      }
+    });
+  }
+  categoryVisual$1 = _default68;
+  return categoryVisual$1;
+}
+var edgeVisual;
+var hasRequiredEdgeVisual;
+function requireEdgeVisual() {
+  if (hasRequiredEdgeVisual)
+    return edgeVisual;
+  hasRequiredEdgeVisual = 1;
+  function normalize2(a2) {
+    if (!(a2 instanceof Array)) {
+      a2 = [a2, a2];
+    }
+    return a2;
+  }
+  function _default68(ecModel) {
+    ecModel.eachSeriesByType("graph", function(seriesModel) {
+      var graph2 = seriesModel.getGraph();
+      var edgeData = seriesModel.getEdgeData();
+      var symbolType = normalize2(seriesModel.get("edgeSymbol"));
+      var symbolSize = normalize2(seriesModel.get("edgeSymbolSize"));
+      var colorQuery = "lineStyle.color".split(".");
+      var opacityQuery = "lineStyle.opacity".split(".");
+      edgeData.setVisual("fromSymbol", symbolType && symbolType[0]);
+      edgeData.setVisual("toSymbol", symbolType && symbolType[1]);
+      edgeData.setVisual("fromSymbolSize", symbolSize && symbolSize[0]);
+      edgeData.setVisual("toSymbolSize", symbolSize && symbolSize[1]);
+      edgeData.setVisual("color", seriesModel.get(colorQuery));
+      edgeData.setVisual("opacity", seriesModel.get(opacityQuery));
+      edgeData.each(function(idx) {
+        var itemModel = edgeData.getItemModel(idx);
+        var edge = graph2.getEdgeByIndex(idx);
+        var symbolType2 = normalize2(itemModel.getShallow("symbol", true));
+        var symbolSize2 = normalize2(itemModel.getShallow("symbolSize", true));
+        var color2 = itemModel.get(colorQuery);
+        var opacity = itemModel.get(opacityQuery);
+        switch (color2) {
+          case "source":
+            color2 = edge.node1.getVisual("color");
+            break;
+          case "target":
+            color2 = edge.node2.getVisual("color");
+            break;
+        }
+        symbolType2[0] && edge.setVisual("fromSymbol", symbolType2[0]);
+        symbolType2[1] && edge.setVisual("toSymbol", symbolType2[1]);
+        symbolSize2[0] && edge.setVisual("fromSymbolSize", symbolSize2[0]);
+        symbolSize2[1] && edge.setVisual("toSymbolSize", symbolSize2[1]);
+        edge.setVisual("color", color2);
+        edge.setVisual("opacity", opacity);
+      });
+    });
+  }
+  edgeVisual = _default68;
+  return edgeVisual;
+}
+var simpleLayoutHelper = {};
+var hasRequiredSimpleLayoutHelper;
+function requireSimpleLayoutHelper() {
+  if (hasRequiredSimpleLayoutHelper)
+    return simpleLayoutHelper;
+  hasRequiredSimpleLayoutHelper = 1;
+  var vec22 = vector$3;
+  var zrUtil2 = util$a;
+  var _multipleGraphEdgeHelper = requireMultipleGraphEdgeHelper();
+  var getCurvenessForEdge2 = _multipleGraphEdgeHelper.getCurvenessForEdge;
+  function simpleLayout2(seriesModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    if (coordSys && coordSys.type !== "view") {
+      return;
+    }
+    var graph2 = seriesModel.getGraph();
+    graph2.eachNode(function(node) {
+      var model2 = node.getModel();
+      node.setLayout([+model2.get("x"), +model2.get("y")]);
+    });
+    simpleLayoutEdge2(graph2, seriesModel);
+  }
+  function simpleLayoutEdge2(graph2, seriesModel) {
+    graph2.eachEdge(function(edge, index3) {
+      var curveness = zrUtil2.retrieve3(edge.getModel().get("lineStyle.curveness"), -getCurvenessForEdge2(edge, seriesModel, index3, true), 0);
+      var p1 = vec22.clone(edge.node1.getLayout());
+      var p2 = vec22.clone(edge.node2.getLayout());
+      var points2 = [p1, p2];
+      if (+curveness) {
+        points2.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);
+      }
+      edge.setLayout(points2);
+    });
+  }
+  simpleLayoutHelper.simpleLayout = simpleLayout2;
+  simpleLayoutHelper.simpleLayoutEdge = simpleLayoutEdge2;
+  return simpleLayoutHelper;
+}
+var simpleLayout_1;
+var hasRequiredSimpleLayout;
+function requireSimpleLayout() {
+  if (hasRequiredSimpleLayout)
+    return simpleLayout_1;
+  hasRequiredSimpleLayout = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var _simpleLayoutHelper = requireSimpleLayoutHelper();
+  var simpleLayout2 = _simpleLayoutHelper.simpleLayout;
+  var simpleLayoutEdge2 = _simpleLayoutHelper.simpleLayoutEdge;
+  function _default68(ecModel, api2) {
+    ecModel.eachSeriesByType("graph", function(seriesModel) {
+      var layout2 = seriesModel.get("layout");
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys && coordSys.type !== "view") {
+        var data2 = seriesModel.getData();
+        var dimensions = [];
+        each2(coordSys.dimensions, function(coordDim) {
+          dimensions = dimensions.concat(data2.mapDimension(coordDim, true));
+        });
+        for (var dataIndex = 0; dataIndex < data2.count(); dataIndex++) {
+          var value = [];
+          var hasValue = false;
+          for (var i2 = 0; i2 < dimensions.length; i2++) {
+            var val = data2.get(dimensions[i2], dataIndex);
+            if (!isNaN(val)) {
+              hasValue = true;
+            }
+            value.push(val);
+          }
+          if (hasValue) {
+            data2.setItemLayout(dataIndex, coordSys.dataToPoint(value));
+          } else {
+            data2.setItemLayout(dataIndex, [NaN, NaN]);
+          }
+        }
+        simpleLayoutEdge2(data2.graph, seriesModel);
+      } else if (!layout2 || layout2 === "none") {
+        simpleLayout2(seriesModel);
+      }
+    });
+  }
+  simpleLayout_1 = _default68;
+  return simpleLayout_1;
+}
+var circularLayoutHelper = {};
+var hasRequiredCircularLayoutHelper;
+function requireCircularLayoutHelper() {
+  if (hasRequiredCircularLayoutHelper)
+    return circularLayoutHelper;
+  hasRequiredCircularLayoutHelper = 1;
+  var vec22 = vector$3;
+  var _graphHelper = requireGraphHelper();
+  var getSymbolSize2 = _graphHelper.getSymbolSize;
+  var getNodeGlobalScale2 = _graphHelper.getNodeGlobalScale;
+  var zrUtil2 = util$a;
+  var _multipleGraphEdgeHelper = requireMultipleGraphEdgeHelper();
+  var getCurvenessForEdge2 = _multipleGraphEdgeHelper.getCurvenessForEdge;
+  var PI3 = Math.PI;
+  var _symbolRadiansHalf2 = [];
+  function circularLayout2(seriesModel, basedOn) {
+    var coordSys = seriesModel.coordinateSystem;
+    if (coordSys && coordSys.type !== "view") {
+      return;
+    }
+    var rect = coordSys.getBoundingRect();
+    var nodeData = seriesModel.getData();
+    var graph2 = nodeData.graph;
+    var cx = rect.width / 2 + rect.x;
+    var cy = rect.height / 2 + rect.y;
+    var r2 = Math.min(rect.width, rect.height) / 2;
+    var count2 = nodeData.count();
+    nodeData.setLayout({
+      cx,
+      cy
+    });
+    if (!count2) {
+      return;
+    }
+    _layoutNodesBasedOn2[basedOn](seriesModel, coordSys, graph2, nodeData, r2, cx, cy, count2);
+    graph2.eachEdge(function(edge, index3) {
+      var curveness = zrUtil2.retrieve3(edge.getModel().get("lineStyle.curveness"), getCurvenessForEdge2(edge, seriesModel, index3), 0);
+      var p1 = vec22.clone(edge.node1.getLayout());
+      var p2 = vec22.clone(edge.node2.getLayout());
+      var cp1;
+      var x12 = (p1[0] + p2[0]) / 2;
+      var y12 = (p1[1] + p2[1]) / 2;
+      if (+curveness) {
+        curveness *= 3;
+        cp1 = [cx * curveness + x12 * (1 - curveness), cy * curveness + y12 * (1 - curveness)];
+      }
+      edge.setLayout([p1, p2, cp1]);
+    });
+  }
+  var _layoutNodesBasedOn2 = {
+    value: function(seriesModel, coordSys, graph2, nodeData, r2, cx, cy, count2) {
+      var angle = 0;
+      var sum2 = nodeData.getSum("value");
+      var unitAngle = Math.PI * 2 / (sum2 || count2);
+      graph2.eachNode(function(node) {
+        var value = node.getValue("value");
+        var radianHalf = unitAngle * (sum2 ? value : 1) / 2;
+        angle += radianHalf;
+        node.setLayout([r2 * Math.cos(angle) + cx, r2 * Math.sin(angle) + cy]);
+        angle += radianHalf;
+      });
+    },
+    symbolSize: function(seriesModel, coordSys, graph2, nodeData, r2, cx, cy, count2) {
+      var sumRadian = 0;
+      _symbolRadiansHalf2.length = count2;
+      var nodeScale = getNodeGlobalScale2(seriesModel);
+      graph2.eachNode(function(node) {
+        var symbolSize = getSymbolSize2(node);
+        isNaN(symbolSize) && (symbolSize = 2);
+        symbolSize < 0 && (symbolSize = 0);
+        symbolSize *= nodeScale;
+        var symbolRadianHalf = Math.asin(symbolSize / 2 / r2);
+        isNaN(symbolRadianHalf) && (symbolRadianHalf = PI3 / 2);
+        _symbolRadiansHalf2[node.dataIndex] = symbolRadianHalf;
+        sumRadian += symbolRadianHalf * 2;
+      });
+      var halfRemainRadian = (2 * PI3 - sumRadian) / count2 / 2;
+      var angle = 0;
+      graph2.eachNode(function(node) {
+        var radianHalf = halfRemainRadian + _symbolRadiansHalf2[node.dataIndex];
+        angle += radianHalf;
+        node.setLayout([r2 * Math.cos(angle) + cx, r2 * Math.sin(angle) + cy]);
+        angle += radianHalf;
+      });
+    }
+  };
+  circularLayoutHelper.circularLayout = circularLayout2;
+  return circularLayoutHelper;
+}
+var circularLayout_1;
+var hasRequiredCircularLayout;
+function requireCircularLayout() {
+  if (hasRequiredCircularLayout)
+    return circularLayout_1;
+  hasRequiredCircularLayout = 1;
+  var _circularLayoutHelper = requireCircularLayoutHelper();
+  var circularLayout2 = _circularLayoutHelper.circularLayout;
+  function _default68(ecModel) {
+    ecModel.eachSeriesByType("graph", function(seriesModel) {
+      if (seriesModel.get("layout") === "circular") {
+        circularLayout2(seriesModel, "symbolSize");
+      }
+    });
+  }
+  circularLayout_1 = _default68;
+  return circularLayout_1;
+}
+var forceHelper = {};
+var hasRequiredForceHelper;
+function requireForceHelper() {
+  if (hasRequiredForceHelper)
+    return forceHelper;
+  hasRequiredForceHelper = 1;
+  var vec22 = vector$3;
+  var scaleAndAdd2 = vec22.scaleAndAdd;
+  function forceLayout2(nodes, edges, opts2) {
+    var rect = opts2.rect;
+    var width = rect.width;
+    var height = rect.height;
+    var center2 = [rect.x + width / 2, rect.y + height / 2];
+    var gravity = opts2.gravity == null ? 0.1 : opts2.gravity;
+    for (var i2 = 0; i2 < nodes.length; i2++) {
+      var n2 = nodes[i2];
+      if (!n2.p) {
+        n2.p = vec22.create(width * (Math.random() - 0.5) + center2[0], height * (Math.random() - 0.5) + center2[1]);
+      }
+      n2.pp = vec22.clone(n2.p);
+      n2.edges = null;
+    }
+    var initialFriction = opts2.friction == null ? 0.6 : opts2.friction;
+    var friction = initialFriction;
+    return {
+      warmUp: function() {
+        friction = initialFriction * 0.8;
+      },
+      setFixed: function(idx) {
+        nodes[idx].fixed = true;
+      },
+      setUnfixed: function(idx) {
+        nodes[idx].fixed = false;
+      },
+      /**
+       * Some formulas were originally copied from "d3.js"
+       * https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/layout/force.js
+       * with some modifications made for this project.
+       * See the license statement at the head of this file.
+       */
+      step: function(cb) {
+        var v12 = [];
+        var nLen = nodes.length;
+        for (var i3 = 0; i3 < edges.length; i3++) {
+          var e2 = edges[i3];
+          if (e2.ignoreForceLayout) {
+            continue;
+          }
+          var n1 = e2.n1;
+          var n22 = e2.n2;
+          vec22.sub(v12, n22.p, n1.p);
+          var d2 = vec22.len(v12) - e2.d;
+          var w2 = n22.w / (n1.w + n22.w);
+          if (isNaN(w2)) {
+            w2 = 0;
+          }
+          vec22.normalize(v12, v12);
+          !n1.fixed && scaleAndAdd2(n1.p, n1.p, v12, w2 * d2 * friction);
+          !n22.fixed && scaleAndAdd2(n22.p, n22.p, v12, -(1 - w2) * d2 * friction);
+        }
+        for (var i3 = 0; i3 < nLen; i3++) {
+          var n3 = nodes[i3];
+          if (!n3.fixed) {
+            vec22.sub(v12, center2, n3.p);
+            scaleAndAdd2(n3.p, n3.p, v12, gravity * friction);
+          }
+        }
+        for (var i3 = 0; i3 < nLen; i3++) {
+          var n1 = nodes[i3];
+          for (var j2 = i3 + 1; j2 < nLen; j2++) {
+            var n22 = nodes[j2];
+            vec22.sub(v12, n22.p, n1.p);
+            var d2 = vec22.len(v12);
+            if (d2 === 0) {
+              vec22.set(v12, Math.random() - 0.5, Math.random() - 0.5);
+              d2 = 1;
+            }
+            var repFact = (n1.rep + n22.rep) / d2 / d2;
+            !n1.fixed && scaleAndAdd2(n1.pp, n1.pp, v12, repFact);
+            !n22.fixed && scaleAndAdd2(n22.pp, n22.pp, v12, -repFact);
+          }
+        }
+        var v4 = [];
+        for (var i3 = 0; i3 < nLen; i3++) {
+          var n3 = nodes[i3];
+          if (!n3.fixed) {
+            vec22.sub(v4, n3.p, n3.pp);
+            scaleAndAdd2(n3.p, n3.p, v4, friction);
+            vec22.copy(n3.pp, n3.p);
+          }
+        }
+        friction = friction * 0.992;
+        cb && cb(nodes, edges, friction < 0.01);
+      }
+    };
+  }
+  forceHelper.forceLayout = forceLayout2;
+  return forceHelper;
+}
+var forceLayout_1;
+var hasRequiredForceLayout;
+function requireForceLayout() {
+  if (hasRequiredForceLayout)
+    return forceLayout_1;
+  hasRequiredForceLayout = 1;
+  var _forceHelper = requireForceHelper();
+  var forceLayout2 = _forceHelper.forceLayout;
+  var _simpleLayoutHelper = requireSimpleLayoutHelper();
+  var simpleLayout2 = _simpleLayoutHelper.simpleLayout;
+  var _circularLayoutHelper = requireCircularLayoutHelper();
+  var circularLayout2 = _circularLayoutHelper.circularLayout;
+  var _number2 = requireNumber();
+  var linearMap2 = _number2.linearMap;
+  var vec22 = vector$3;
+  var zrUtil2 = util$a;
+  var _multipleGraphEdgeHelper = requireMultipleGraphEdgeHelper();
+  var getCurvenessForEdge2 = _multipleGraphEdgeHelper.getCurvenessForEdge;
+  function _default68(ecModel) {
+    ecModel.eachSeriesByType("graph", function(graphSeries) {
+      var coordSys = graphSeries.coordinateSystem;
+      if (coordSys && coordSys.type !== "view") {
+        return;
+      }
+      if (graphSeries.get("layout") === "force") {
+        var preservedPoints = graphSeries.preservedPoints || {};
+        var graph2 = graphSeries.getGraph();
+        var nodeData = graph2.data;
+        var edgeData = graph2.edgeData;
+        var forceModel = graphSeries.getModel("force");
+        var initLayout = forceModel.get("initLayout");
+        if (graphSeries.preservedPoints) {
+          nodeData.each(function(idx) {
+            var id = nodeData.getId(idx);
+            nodeData.setItemLayout(idx, preservedPoints[id] || [NaN, NaN]);
+          });
+        } else if (!initLayout || initLayout === "none") {
+          simpleLayout2(graphSeries);
+        } else if (initLayout === "circular") {
+          circularLayout2(graphSeries, "value");
+        }
+        var nodeDataExtent = nodeData.getDataExtent("value");
+        var edgeDataExtent = edgeData.getDataExtent("value");
+        var repulsion = forceModel.get("repulsion");
+        var edgeLength = forceModel.get("edgeLength");
+        if (!zrUtil2.isArray(repulsion)) {
+          repulsion = [repulsion, repulsion];
+        }
+        if (!zrUtil2.isArray(edgeLength)) {
+          edgeLength = [edgeLength, edgeLength];
+        }
+        edgeLength = [edgeLength[1], edgeLength[0]];
+        var nodes = nodeData.mapArray("value", function(value, idx) {
+          var point = nodeData.getItemLayout(idx);
+          var rep = linearMap2(value, nodeDataExtent, repulsion);
+          if (isNaN(rep)) {
+            rep = (repulsion[0] + repulsion[1]) / 2;
+          }
+          return {
+            w: rep,
+            rep,
+            fixed: nodeData.getItemModel(idx).get("fixed"),
+            p: !point || isNaN(point[0]) || isNaN(point[1]) ? null : point
+          };
+        });
+        var edges = edgeData.mapArray("value", function(value, idx) {
+          var edge = graph2.getEdgeByIndex(idx);
+          var d2 = linearMap2(value, edgeDataExtent, edgeLength);
+          if (isNaN(d2)) {
+            d2 = (edgeLength[0] + edgeLength[1]) / 2;
+          }
+          var edgeModel = edge.getModel();
+          var curveness = zrUtil2.retrieve3(edgeModel.get("lineStyle.curveness"), -getCurvenessForEdge2(edge, graphSeries, idx, true), 0);
+          return {
+            n1: nodes[edge.node1.dataIndex],
+            n2: nodes[edge.node2.dataIndex],
+            d: d2,
+            curveness,
+            ignoreForceLayout: edgeModel.get("ignoreForceLayout")
+          };
+        });
+        var coordSys = graphSeries.coordinateSystem;
+        var rect = coordSys.getBoundingRect();
+        var forceInstance = forceLayout2(nodes, edges, {
+          rect,
+          gravity: forceModel.get("gravity"),
+          friction: forceModel.get("friction")
+        });
+        var oldStep = forceInstance.step;
+        forceInstance.step = function(cb) {
+          for (var i2 = 0, l2 = nodes.length; i2 < l2; i2++) {
+            if (nodes[i2].fixed) {
+              vec22.copy(nodes[i2].p, graph2.getNodeByIndex(i2).getLayout());
+            }
+          }
+          oldStep(function(nodes2, edges2, stopped) {
+            for (var i3 = 0, l3 = nodes2.length; i3 < l3; i3++) {
+              if (!nodes2[i3].fixed) {
+                graph2.getNodeByIndex(i3).setLayout(nodes2[i3].p);
+              }
+              preservedPoints[nodeData.getId(i3)] = nodes2[i3].p;
+            }
+            for (var i3 = 0, l3 = edges2.length; i3 < l3; i3++) {
+              var e2 = edges2[i3];
+              var edge = graph2.getEdgeByIndex(i3);
+              var p1 = e2.n1.p;
+              var p2 = e2.n2.p;
+              var points2 = edge.getLayout();
+              points2 = points2 ? points2.slice() : [];
+              points2[0] = points2[0] || [];
+              points2[1] = points2[1] || [];
+              vec22.copy(points2[0], p1);
+              vec22.copy(points2[1], p2);
+              if (+e2.curveness) {
+                points2[2] = [(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * e2.curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * e2.curveness];
+              }
+              edge.setLayout(points2);
+            }
+            cb && cb(stopped);
+          });
+        };
+        graphSeries.forceLayout = forceInstance;
+        graphSeries.preservedPoints = preservedPoints;
+        forceInstance.step();
+      } else {
+        graphSeries.forceLayout = null;
+      }
+    });
+  }
+  forceLayout_1 = _default68;
+  return forceLayout_1;
+}
+var createView;
+var hasRequiredCreateView;
+function requireCreateView() {
+  if (hasRequiredCreateView)
+    return createView;
+  hasRequiredCreateView = 1;
+  var View2 = requireView();
+  var _layout2 = layout$5;
+  var getLayoutRect2 = _layout2.getLayoutRect;
+  var bbox2 = requireBbox();
+  function getViewRect2(seriesModel, api2, aspect) {
+    var option = seriesModel.getBoxLayoutParams();
+    option.aspect = aspect;
+    return getLayoutRect2(option, {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  }
+  function _default68(ecModel, api2) {
+    var viewList = [];
+    ecModel.eachSeriesByType("graph", function(seriesModel) {
+      var coordSysType = seriesModel.get("coordinateSystem");
+      if (!coordSysType || coordSysType === "view") {
+        var data2 = seriesModel.getData();
+        var positions2 = data2.mapArray(function(idx) {
+          var itemModel = data2.getItemModel(idx);
+          return [+itemModel.get("x"), +itemModel.get("y")];
+        });
+        var min3 = [];
+        var max3 = [];
+        bbox2.fromPoints(positions2, min3, max3);
+        if (max3[0] - min3[0] === 0) {
+          max3[0] += 1;
+          min3[0] -= 1;
+        }
+        if (max3[1] - min3[1] === 0) {
+          max3[1] += 1;
+          min3[1] -= 1;
+        }
+        var aspect = (max3[0] - min3[0]) / (max3[1] - min3[1]);
+        var viewRect2 = getViewRect2(seriesModel, api2, aspect);
+        if (isNaN(aspect)) {
+          min3 = [viewRect2.x, viewRect2.y];
+          max3 = [viewRect2.x + viewRect2.width, viewRect2.y + viewRect2.height];
+        }
+        var bbWidth = max3[0] - min3[0];
+        var bbHeight = max3[1] - min3[1];
+        var viewWidth = viewRect2.width;
+        var viewHeight = viewRect2.height;
+        var viewCoordSys = seriesModel.coordinateSystem = new View2();
+        viewCoordSys.zoomLimit = seriesModel.get("scaleLimit");
+        viewCoordSys.setBoundingRect(min3[0], min3[1], bbWidth, bbHeight);
+        viewCoordSys.setViewRect(viewRect2.x, viewRect2.y, viewWidth, viewHeight);
+        viewCoordSys.setCenter(seriesModel.get("center"));
+        viewCoordSys.setZoom(seriesModel.get("zoom"));
+        viewList.push(viewCoordSys);
+      }
+    });
+    return viewList;
+  }
+  createView = _default68;
+  return createView;
+}
+var hasRequiredGraph;
+function requireGraph() {
+  if (hasRequiredGraph)
+    return graph;
+  hasRequiredGraph = 1;
+  var echarts2 = echarts$1;
+  requireGraphSeries();
+  requireGraphView();
+  requireGraphAction();
+  var categoryFilter2 = requireCategoryFilter();
+  var visualSymbol = requireSymbol();
+  var categoryVisual2 = requireCategoryVisual();
+  var edgeVisual2 = requireEdgeVisual();
+  var simpleLayout2 = requireSimpleLayout();
+  var circularLayout2 = requireCircularLayout();
+  var forceLayout2 = requireForceLayout();
+  var createView2 = requireCreateView();
+  echarts2.registerProcessor(categoryFilter2);
+  echarts2.registerVisual(visualSymbol("graph", "circle", null));
+  echarts2.registerVisual(categoryVisual2);
+  echarts2.registerVisual(edgeVisual2);
+  echarts2.registerLayout(simpleLayout2);
+  echarts2.registerLayout(echarts2.PRIORITY.VISUAL.POST_CHART_LAYOUT, circularLayout2);
+  echarts2.registerLayout(forceLayout2);
+  echarts2.registerCoordinateSystem("graphView", {
+    create: createView2
+  });
+  return graph;
+}
+var gauge = {};
+var GaugeSeries_1;
+var hasRequiredGaugeSeries;
+function requireGaugeSeries() {
+  if (hasRequiredGaugeSeries)
+    return GaugeSeries_1;
+  hasRequiredGaugeSeries = 1;
+  var createListSimply2 = requireCreateListSimply();
+  var SeriesModel2 = Series;
+  var GaugeSeries = SeriesModel2.extend({
+    type: "series.gauge",
+    getInitialData: function(option, ecModel) {
+      return createListSimply2(this, ["value"]);
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      // 默认全局居中
+      center: ["50%", "50%"],
+      legendHoverLink: true,
+      radius: "75%",
+      startAngle: 225,
+      endAngle: -45,
+      clockwise: true,
+      // 最小值
+      min: 0,
+      // 最大值
+      max: 100,
+      // 分割段数,默认为10
+      splitNumber: 10,
+      // 坐标轴线
+      axisLine: {
+        // 默认显示,属性show控制显示与否
+        show: true,
+        lineStyle: {
+          // 属性lineStyle控制线条样式
+          color: [[0.2, "#91c7ae"], [0.8, "#63869e"], [1, "#c23531"]],
+          width: 30
+        }
+      },
+      // 分隔线
+      splitLine: {
+        // 默认显示,属性show控制显示与否
+        show: true,
+        // 属性length控制线长
+        length: 30,
+        // 属性lineStyle(详见lineStyle)控制线条样式
+        lineStyle: {
+          color: "#eee",
+          width: 2,
+          type: "solid"
+        }
+      },
+      // 坐标轴小标记
+      axisTick: {
+        // 属性show控制显示与否,默认不显示
+        show: true,
+        // 每份split细分多少段
+        splitNumber: 5,
+        // 属性length控制线长
+        length: 8,
+        // 属性lineStyle控制线条样式
+        lineStyle: {
+          color: "#eee",
+          width: 1,
+          type: "solid"
+        }
+      },
+      axisLabel: {
+        show: true,
+        distance: 5,
+        // formatter: null,
+        color: "auto"
+      },
+      pointer: {
+        show: true,
+        length: "80%",
+        width: 8
+      },
+      itemStyle: {
+        color: "auto"
+      },
+      title: {
+        show: true,
+        // x, y,单位px
+        offsetCenter: [0, "-40%"],
+        // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+        color: "#333",
+        fontSize: 15
+      },
+      detail: {
+        show: true,
+        backgroundColor: "rgba(0,0,0,0)",
+        borderWidth: 0,
+        borderColor: "#ccc",
+        width: 100,
+        height: null,
+        // self-adaption
+        padding: [5, 10],
+        // x, y,单位px
+        offsetCenter: [0, "40%"],
+        // formatter: null,
+        // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+        color: "auto",
+        fontSize: 30
+      }
+    }
+  });
+  var _default68 = GaugeSeries;
+  GaugeSeries_1 = _default68;
+  return GaugeSeries_1;
+}
+var PointerPath$2;
+var hasRequiredPointerPath;
+function requirePointerPath() {
+  if (hasRequiredPointerPath)
+    return PointerPath$2;
+  hasRequiredPointerPath = 1;
+  var Path2 = Path_1;
+  var _default68 = Path2.extend({
+    type: "echartsGaugePointer",
+    shape: {
+      angle: 0,
+      width: 10,
+      r: 10,
+      x: 0,
+      y: 0
+    },
+    buildPath: function(ctx, shape) {
+      var mathCos2 = Math.cos;
+      var mathSin2 = Math.sin;
+      var r2 = shape.r;
+      var width = shape.width;
+      var angle = shape.angle;
+      var x2 = shape.x - mathCos2(angle) * width * (width >= r2 / 3 ? 1 : 2);
+      var y2 = shape.y - mathSin2(angle) * width * (width >= r2 / 3 ? 1 : 2);
+      angle = shape.angle - Math.PI / 2;
+      ctx.moveTo(x2, y2);
+      ctx.lineTo(shape.x + mathCos2(angle) * width, shape.y + mathSin2(angle) * width);
+      ctx.lineTo(shape.x + mathCos2(shape.angle) * r2, shape.y + mathSin2(shape.angle) * r2);
+      ctx.lineTo(shape.x - mathCos2(angle) * width, shape.y - mathSin2(angle) * width);
+      ctx.lineTo(x2, y2);
+      return;
+    }
+  });
+  PointerPath$2 = _default68;
+  return PointerPath$2;
+}
+var GaugeView_1;
+var hasRequiredGaugeView;
+function requireGaugeView() {
+  if (hasRequiredGaugeView)
+    return GaugeView_1;
+  hasRequiredGaugeView = 1;
+  var PointerPath2 = requirePointerPath();
+  var graphic2 = graphic$6;
+  var ChartView2 = Chart_1;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var round2 = _number2.round;
+  var linearMap2 = _number2.linearMap;
+  function parsePosition2(seriesModel, api2) {
+    var center2 = seriesModel.get("center");
+    var width = api2.getWidth();
+    var height = api2.getHeight();
+    var size = Math.min(width, height);
+    var cx = parsePercent2(center2[0], api2.getWidth());
+    var cy = parsePercent2(center2[1], api2.getHeight());
+    var r2 = parsePercent2(seriesModel.get("radius"), size / 2);
+    return {
+      cx,
+      cy,
+      r: r2
+    };
+  }
+  function formatLabel2(label, labelFormatter) {
+    if (labelFormatter) {
+      if (typeof labelFormatter === "string") {
+        label = labelFormatter.replace("{value}", label != null ? label : "");
+      } else if (typeof labelFormatter === "function") {
+        label = labelFormatter(label);
+      }
+    }
+    return label;
+  }
+  var PI22 = Math.PI * 2;
+  var GaugeView2 = ChartView2.extend({
+    type: "gauge",
+    render: function(seriesModel, ecModel, api2) {
+      this.group.removeAll();
+      var colorList = seriesModel.get("axisLine.lineStyle.color");
+      var posInfo = parsePosition2(seriesModel, api2);
+      this._renderMain(seriesModel, ecModel, api2, colorList, posInfo);
+    },
+    dispose: function() {
+    },
+    _renderMain: function(seriesModel, ecModel, api2, colorList, posInfo) {
+      var group = this.group;
+      var axisLineModel = seriesModel.getModel("axisLine");
+      var lineStyleModel = axisLineModel.getModel("lineStyle");
+      var clockwise = seriesModel.get("clockwise");
+      var startAngle = -seriesModel.get("startAngle") / 180 * Math.PI;
+      var endAngle = -seriesModel.get("endAngle") / 180 * Math.PI;
+      var angleRangeSpan = (endAngle - startAngle) % PI22;
+      var prevEndAngle = startAngle;
+      var axisLineWidth = lineStyleModel.get("width");
+      var showAxis = axisLineModel.get("show");
+      for (var i2 = 0; showAxis && i2 < colorList.length; i2++) {
+        var percent = Math.min(Math.max(colorList[i2][0], 0), 1);
+        var endAngle = startAngle + angleRangeSpan * percent;
+        var sector = new graphic2.Sector({
+          shape: {
+            startAngle: prevEndAngle,
+            endAngle,
+            cx: posInfo.cx,
+            cy: posInfo.cy,
+            clockwise,
+            r0: posInfo.r - axisLineWidth,
+            r: posInfo.r
+          },
+          silent: true
+        });
+        sector.setStyle({
+          fill: colorList[i2][1]
+        });
+        sector.setStyle(lineStyleModel.getLineStyle(
+          // Because we use sector to simulate arc
+          // so the properties for stroking are useless
+          ["color", "borderWidth", "borderColor"]
+        ));
+        group.add(sector);
+        prevEndAngle = endAngle;
+      }
+      var getColor = function(percent2) {
+        if (percent2 <= 0) {
+          return colorList[0][1];
+        }
+        for (var i3 = 0; i3 < colorList.length; i3++) {
+          if (colorList[i3][0] >= percent2 && (i3 === 0 ? 0 : colorList[i3 - 1][0]) < percent2) {
+            return colorList[i3][1];
+          }
+        }
+        return colorList[i3 - 1][1];
+      };
+      if (!clockwise) {
+        var tmp = startAngle;
+        startAngle = endAngle;
+        endAngle = tmp;
+      }
+      this._renderTicks(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise);
+      this._renderPointer(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise);
+      this._renderTitle(seriesModel, ecModel, api2, getColor, posInfo);
+      this._renderDetail(seriesModel, ecModel, api2, getColor, posInfo);
+    },
+    _renderTicks: function(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise) {
+      var group = this.group;
+      var cx = posInfo.cx;
+      var cy = posInfo.cy;
+      var r2 = posInfo.r;
+      var minVal = +seriesModel.get("min");
+      var maxVal = +seriesModel.get("max");
+      var splitLineModel = seriesModel.getModel("splitLine");
+      var tickModel = seriesModel.getModel("axisTick");
+      var labelModel = seriesModel.getModel("axisLabel");
+      var splitNumber = seriesModel.get("splitNumber");
+      var subSplitNumber = tickModel.get("splitNumber");
+      var splitLineLen = parsePercent2(splitLineModel.get("length"), r2);
+      var tickLen = parsePercent2(tickModel.get("length"), r2);
+      var angle = startAngle;
+      var step2 = (endAngle - startAngle) / splitNumber;
+      var subStep = step2 / subSplitNumber;
+      var splitLineStyle = splitLineModel.getModel("lineStyle").getLineStyle();
+      var tickLineStyle = tickModel.getModel("lineStyle").getLineStyle();
+      for (var i2 = 0; i2 <= splitNumber; i2++) {
+        var unitX = Math.cos(angle);
+        var unitY = Math.sin(angle);
+        if (splitLineModel.get("show")) {
+          var splitLine = new graphic2.Line({
+            shape: {
+              x1: unitX * r2 + cx,
+              y1: unitY * r2 + cy,
+              x2: unitX * (r2 - splitLineLen) + cx,
+              y2: unitY * (r2 - splitLineLen) + cy
+            },
+            style: splitLineStyle,
+            silent: true
+          });
+          if (splitLineStyle.stroke === "auto") {
+            splitLine.setStyle({
+              stroke: getColor(i2 / splitNumber)
+            });
+          }
+          group.add(splitLine);
+        }
+        if (labelModel.get("show")) {
+          var label = formatLabel2(round2(i2 / splitNumber * (maxVal - minVal) + minVal), labelModel.get("formatter"));
+          var distance2 = labelModel.get("distance");
+          var autoColor = getColor(i2 / splitNumber);
+          group.add(new graphic2.Text({
+            style: graphic2.setTextStyle({}, labelModel, {
+              text: label,
+              x: unitX * (r2 - splitLineLen - distance2) + cx,
+              y: unitY * (r2 - splitLineLen - distance2) + cy,
+              textVerticalAlign: unitY < -0.4 ? "top" : unitY > 0.4 ? "bottom" : "middle",
+              textAlign: unitX < -0.4 ? "left" : unitX > 0.4 ? "right" : "center"
+            }, {
+              autoColor
+            }),
+            silent: true
+          }));
+        }
+        if (tickModel.get("show") && i2 !== splitNumber) {
+          for (var j2 = 0; j2 <= subSplitNumber; j2++) {
+            var unitX = Math.cos(angle);
+            var unitY = Math.sin(angle);
+            var tickLine = new graphic2.Line({
+              shape: {
+                x1: unitX * r2 + cx,
+                y1: unitY * r2 + cy,
+                x2: unitX * (r2 - tickLen) + cx,
+                y2: unitY * (r2 - tickLen) + cy
+              },
+              silent: true,
+              style: tickLineStyle
+            });
+            if (tickLineStyle.stroke === "auto") {
+              tickLine.setStyle({
+                stroke: getColor((i2 + j2 / subSplitNumber) / splitNumber)
+              });
+            }
+            group.add(tickLine);
+            angle += subStep;
+          }
+          angle -= subStep;
+        } else {
+          angle += step2;
+        }
+      }
+    },
+    _renderPointer: function(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise) {
+      var group = this.group;
+      var oldData = this._data;
+      if (!seriesModel.get("pointer.show")) {
+        oldData && oldData.eachItemGraphicEl(function(el) {
+          group.remove(el);
+        });
+        return;
+      }
+      var valueExtent = [+seriesModel.get("min"), +seriesModel.get("max")];
+      var angleExtent = [startAngle, endAngle];
+      var data2 = seriesModel.getData();
+      var valueDim = data2.mapDimension("value");
+      data2.diff(oldData).add(function(idx) {
+        var pointer = new PointerPath2({
+          shape: {
+            angle: startAngle
+          }
+        });
+        graphic2.initProps(pointer, {
+          shape: {
+            angle: linearMap2(data2.get(valueDim, idx), valueExtent, angleExtent, true)
+          }
+        }, seriesModel);
+        group.add(pointer);
+        data2.setItemGraphicEl(idx, pointer);
+      }).update(function(newIdx, oldIdx) {
+        var pointer = oldData.getItemGraphicEl(oldIdx);
+        graphic2.updateProps(pointer, {
+          shape: {
+            angle: linearMap2(data2.get(valueDim, newIdx), valueExtent, angleExtent, true)
+          }
+        }, seriesModel);
+        group.add(pointer);
+        data2.setItemGraphicEl(newIdx, pointer);
+      }).remove(function(idx) {
+        var pointer = oldData.getItemGraphicEl(idx);
+        group.remove(pointer);
+      }).execute();
+      data2.eachItemGraphicEl(function(pointer, idx) {
+        var itemModel = data2.getItemModel(idx);
+        var pointerModel = itemModel.getModel("pointer");
+        pointer.setShape({
+          x: posInfo.cx,
+          y: posInfo.cy,
+          width: parsePercent2(pointerModel.get("width"), posInfo.r),
+          r: parsePercent2(pointerModel.get("length"), posInfo.r)
+        });
+        pointer.useStyle(itemModel.getModel("itemStyle").getItemStyle());
+        if (pointer.style.fill === "auto") {
+          pointer.setStyle("fill", getColor(linearMap2(data2.get(valueDim, idx), valueExtent, [0, 1], true)));
+        }
+        graphic2.setHoverStyle(pointer, itemModel.getModel("emphasis.itemStyle").getItemStyle());
+      });
+      this._data = data2;
+    },
+    _renderTitle: function(seriesModel, ecModel, api2, getColor, posInfo) {
+      var data2 = seriesModel.getData();
+      var valueDim = data2.mapDimension("value");
+      var titleModel = seriesModel.getModel("title");
+      if (titleModel.get("show")) {
+        var offsetCenter = titleModel.get("offsetCenter");
+        var x2 = posInfo.cx + parsePercent2(offsetCenter[0], posInfo.r);
+        var y2 = posInfo.cy + parsePercent2(offsetCenter[1], posInfo.r);
+        var minVal = +seriesModel.get("min");
+        var maxVal = +seriesModel.get("max");
+        var value = seriesModel.getData().get(valueDim, 0);
+        var autoColor = getColor(linearMap2(value, [minVal, maxVal], [0, 1], true));
+        this.group.add(new graphic2.Text({
+          silent: true,
+          style: graphic2.setTextStyle({}, titleModel, {
+            x: x2,
+            y: y2,
+            // FIXME First data name ?
+            text: data2.getName(0),
+            textAlign: "center",
+            textVerticalAlign: "middle"
+          }, {
+            autoColor,
+            forceRich: true
+          })
+        }));
+      }
+    },
+    _renderDetail: function(seriesModel, ecModel, api2, getColor, posInfo) {
+      var detailModel = seriesModel.getModel("detail");
+      var minVal = +seriesModel.get("min");
+      var maxVal = +seriesModel.get("max");
+      if (detailModel.get("show")) {
+        var offsetCenter = detailModel.get("offsetCenter");
+        var x2 = posInfo.cx + parsePercent2(offsetCenter[0], posInfo.r);
+        var y2 = posInfo.cy + parsePercent2(offsetCenter[1], posInfo.r);
+        var width = parsePercent2(detailModel.get("width"), posInfo.r);
+        var height = parsePercent2(detailModel.get("height"), posInfo.r);
+        var data2 = seriesModel.getData();
+        var value = data2.get(data2.mapDimension("value"), 0);
+        var autoColor = getColor(linearMap2(value, [minVal, maxVal], [0, 1], true));
+        this.group.add(new graphic2.Text({
+          silent: true,
+          style: graphic2.setTextStyle({}, detailModel, {
+            x: x2,
+            y: y2,
+            text: formatLabel2(
+              // FIXME First data name ?
+              value,
+              detailModel.get("formatter")
+            ),
+            textWidth: isNaN(width) ? null : width,
+            textHeight: isNaN(height) ? null : height,
+            textAlign: "center",
+            textVerticalAlign: "middle"
+          }, {
+            autoColor,
+            forceRich: true
+          })
+        }));
+      }
+    }
+  });
+  var _default68 = GaugeView2;
+  GaugeView_1 = _default68;
+  return GaugeView_1;
+}
+var hasRequiredGauge;
+function requireGauge() {
+  if (hasRequiredGauge)
+    return gauge;
+  hasRequiredGauge = 1;
+  requireGaugeSeries();
+  requireGaugeView();
+  return gauge;
+}
+var funnel = {};
+var FunnelSeries_1;
+var hasRequiredFunnelSeries;
+function requireFunnelSeries() {
+  if (hasRequiredFunnelSeries)
+    return FunnelSeries_1;
+  hasRequiredFunnelSeries = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var createListSimply2 = requireCreateListSimply();
+  var _model2 = model;
+  var defaultEmphasis2 = _model2.defaultEmphasis;
+  var _sourceHelper2 = requireSourceHelper();
+  var makeSeriesEncodeForNameBased2 = _sourceHelper2.makeSeriesEncodeForNameBased;
+  var LegendVisualProvider2 = requireLegendVisualProvider();
+  var FunnelSeries = echarts2.extendSeriesModel({
+    type: "series.funnel",
+    init: function(option) {
+      FunnelSeries.superApply(this, "init", arguments);
+      this.legendVisualProvider = new LegendVisualProvider2(zrUtil2.bind(this.getData, this), zrUtil2.bind(this.getRawData, this));
+      this._defaultLabelLine(option);
+    },
+    getInitialData: function(option, ecModel) {
+      return createListSimply2(this, {
+        coordDimensions: ["value"],
+        encodeDefaulter: zrUtil2.curry(makeSeriesEncodeForNameBased2, this)
+      });
+    },
+    _defaultLabelLine: function(option) {
+      defaultEmphasis2(option, "labelLine", ["show"]);
+      var labelLineNormalOpt = option.labelLine;
+      var labelLineEmphasisOpt = option.emphasis.labelLine;
+      labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;
+      labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;
+    },
+    // Overwrite
+    getDataParams: function(dataIndex) {
+      var data2 = this.getData();
+      var params2 = FunnelSeries.superCall(this, "getDataParams", dataIndex);
+      var valueDim = data2.mapDimension("value");
+      var sum2 = data2.getSum(valueDim);
+      params2.percent = !sum2 ? 0 : +(data2.get(valueDim, dataIndex) / sum2 * 100).toFixed(2);
+      params2.$vars.push("percent");
+      return params2;
+    },
+    defaultOption: {
+      zlevel: 0,
+      // 一级层叠
+      z: 2,
+      // 二级层叠
+      legendHoverLink: true,
+      left: 80,
+      top: 60,
+      right: 80,
+      bottom: 60,
+      // width: {totalWidth} - left - right,
+      // height: {totalHeight} - top - bottom,
+      // 默认取数据最小最大值
+      // min: 0,
+      // max: 100,
+      minSize: "0%",
+      maxSize: "100%",
+      sort: "descending",
+      // 'ascending', 'descending'
+      orient: "vertical",
+      gap: 0,
+      funnelAlign: "center",
+      label: {
+        show: true,
+        position: "outer"
+        // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
+      },
+      labelLine: {
+        show: true,
+        length: 20,
+        lineStyle: {
+          // color: 各异,
+          width: 1,
+          type: "solid"
+        }
+      },
+      itemStyle: {
+        // color: 各异,
+        borderColor: "#fff",
+        borderWidth: 1
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      }
+    }
+  });
+  var _default68 = FunnelSeries;
+  FunnelSeries_1 = _default68;
+  return FunnelSeries_1;
+}
+var FunnelView_1;
+var hasRequiredFunnelView;
+function requireFunnelView() {
+  if (hasRequiredFunnelView)
+    return FunnelView_1;
+  hasRequiredFunnelView = 1;
+  var graphic2 = graphic$6;
+  var zrUtil2 = util$a;
+  var ChartView2 = Chart_1;
+  function FunnelPiece2(data2, idx) {
+    graphic2.Group.call(this);
+    var polygon2 = new graphic2.Polygon();
+    var labelLine = new graphic2.Polyline();
+    var text2 = new graphic2.Text();
+    this.add(polygon2);
+    this.add(labelLine);
+    this.add(text2);
+    this.highDownOnUpdate = function(fromState, toState) {
+      if (toState === "emphasis") {
+        labelLine.ignore = labelLine.hoverIgnore;
+        text2.ignore = text2.hoverIgnore;
+      } else {
+        labelLine.ignore = labelLine.normalIgnore;
+        text2.ignore = text2.normalIgnore;
+      }
+    };
+    this.updateData(data2, idx, true);
+  }
+  var funnelPieceProto = FunnelPiece2.prototype;
+  var opacityAccessPath2 = ["itemStyle", "opacity"];
+  funnelPieceProto.updateData = function(data2, idx, firstCreate) {
+    var polygon2 = this.childAt(0);
+    var seriesModel = data2.hostModel;
+    var itemModel = data2.getItemModel(idx);
+    var layout2 = data2.getItemLayout(idx);
+    var opacity = data2.getItemModel(idx).get(opacityAccessPath2);
+    opacity = opacity == null ? 1 : opacity;
+    polygon2.useStyle({});
+    if (firstCreate) {
+      polygon2.setShape({
+        points: layout2.points
+      });
+      polygon2.setStyle({
+        opacity: 0
+      });
+      graphic2.initProps(polygon2, {
+        style: {
+          opacity
+        }
+      }, seriesModel, idx);
+    } else {
+      graphic2.updateProps(polygon2, {
+        style: {
+          opacity
+        },
+        shape: {
+          points: layout2.points
+        }
+      }, seriesModel, idx);
+    }
+    var itemStyleModel = itemModel.getModel("itemStyle");
+    var visualColor = data2.getItemVisual(idx, "color");
+    polygon2.setStyle(zrUtil2.defaults({
+      lineJoin: "round",
+      fill: visualColor
+    }, itemStyleModel.getItemStyle(["opacity"])));
+    polygon2.hoverStyle = itemStyleModel.getModel("emphasis").getItemStyle();
+    this._updateLabel(data2, idx);
+    graphic2.setHoverStyle(this);
+  };
+  funnelPieceProto._updateLabel = function(data2, idx) {
+    var labelLine = this.childAt(1);
+    var labelText = this.childAt(2);
+    var seriesModel = data2.hostModel;
+    var itemModel = data2.getItemModel(idx);
+    var layout2 = data2.getItemLayout(idx);
+    var labelLayout2 = layout2.label;
+    var visualColor = data2.getItemVisual(idx, "color");
+    graphic2.updateProps(labelLine, {
+      shape: {
+        points: labelLayout2.linePoints || labelLayout2.linePoints
+      }
+    }, seriesModel, idx);
+    graphic2.updateProps(labelText, {
+      style: {
+        x: labelLayout2.x,
+        y: labelLayout2.y
+      }
+    }, seriesModel, idx);
+    labelText.attr({
+      rotation: labelLayout2.rotation,
+      origin: [labelLayout2.x, labelLayout2.y],
+      z2: 10
+    });
+    var labelModel = itemModel.getModel("label");
+    var labelHoverModel = itemModel.getModel("emphasis.label");
+    var labelLineModel = itemModel.getModel("labelLine");
+    var labelLineHoverModel = itemModel.getModel("emphasis.labelLine");
+    var visualColor = data2.getItemVisual(idx, "color");
+    graphic2.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {
+      labelFetcher: data2.hostModel,
+      labelDataIndex: idx,
+      defaultText: data2.getName(idx),
+      autoColor: visualColor,
+      useInsideStyle: !!labelLayout2.inside
+    }, {
+      textAlign: labelLayout2.textAlign,
+      textVerticalAlign: labelLayout2.verticalAlign
+    });
+    labelText.ignore = labelText.normalIgnore = !labelModel.get("show");
+    labelText.hoverIgnore = !labelHoverModel.get("show");
+    labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get("show");
+    labelLine.hoverIgnore = !labelLineHoverModel.get("show");
+    labelLine.setStyle({
+      stroke: visualColor
+    });
+    labelLine.setStyle(labelLineModel.getModel("lineStyle").getLineStyle());
+    labelLine.hoverStyle = labelLineHoverModel.getModel("lineStyle").getLineStyle();
+  };
+  zrUtil2.inherits(FunnelPiece2, graphic2.Group);
+  var FunnelView2 = ChartView2.extend({
+    type: "funnel",
+    render: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var group = this.group;
+      data2.diff(oldData).add(function(idx) {
+        var funnelPiece = new FunnelPiece2(data2, idx);
+        data2.setItemGraphicEl(idx, funnelPiece);
+        group.add(funnelPiece);
+      }).update(function(newIdx, oldIdx) {
+        var piePiece = oldData.getItemGraphicEl(oldIdx);
+        piePiece.updateData(data2, newIdx);
+        group.add(piePiece);
+        data2.setItemGraphicEl(newIdx, piePiece);
+      }).remove(function(idx) {
+        var piePiece = oldData.getItemGraphicEl(idx);
+        group.remove(piePiece);
+      }).execute();
+      this._data = data2;
+    },
+    remove: function() {
+      this.group.removeAll();
+      this._data = null;
+    },
+    dispose: function() {
+    }
+  });
+  var _default68 = FunnelView2;
+  FunnelView_1 = _default68;
+  return FunnelView_1;
+}
+var funnelLayout$1;
+var hasRequiredFunnelLayout;
+function requireFunnelLayout() {
+  if (hasRequiredFunnelLayout)
+    return funnelLayout$1;
+  hasRequiredFunnelLayout = 1;
+  var layout2 = layout$5;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var linearMap2 = _number2.linearMap;
+  function getViewRect2(seriesModel, api2) {
+    return layout2.getLayoutRect(seriesModel.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  }
+  function getSortedIndices2(data2, sort2) {
+    var valueDim = data2.mapDimension("value");
+    var valueArr = data2.mapArray(valueDim, function(val) {
+      return val;
+    });
+    var indices = [];
+    var isAscending = sort2 === "ascending";
+    for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+      indices[i2] = i2;
+    }
+    if (typeof sort2 === "function") {
+      indices.sort(sort2);
+    } else if (sort2 !== "none") {
+      indices.sort(function(a2, b2) {
+        return isAscending ? valueArr[a2] - valueArr[b2] : valueArr[b2] - valueArr[a2];
+      });
+    }
+    return indices;
+  }
+  function labelLayout2(data2) {
+    data2.each(function(idx) {
+      var itemModel = data2.getItemModel(idx);
+      var labelModel = itemModel.getModel("label");
+      var labelPosition = labelModel.get("position");
+      var orient = itemModel.get("orient");
+      var labelLineModel = itemModel.getModel("labelLine");
+      var layout3 = data2.getItemLayout(idx);
+      var points2 = layout3.points;
+      var isLabelInside = labelPosition === "inner" || labelPosition === "inside" || labelPosition === "center" || labelPosition === "insideLeft" || labelPosition === "insideRight";
+      var textAlign;
+      var textX;
+      var textY;
+      var linePoints;
+      if (isLabelInside) {
+        if (labelPosition === "insideLeft") {
+          textX = (points2[0][0] + points2[3][0]) / 2 + 5;
+          textY = (points2[0][1] + points2[3][1]) / 2;
+          textAlign = "left";
+        } else if (labelPosition === "insideRight") {
+          textX = (points2[1][0] + points2[2][0]) / 2 - 5;
+          textY = (points2[1][1] + points2[2][1]) / 2;
+          textAlign = "right";
+        } else {
+          textX = (points2[0][0] + points2[1][0] + points2[2][0] + points2[3][0]) / 4;
+          textY = (points2[0][1] + points2[1][1] + points2[2][1] + points2[3][1]) / 4;
+          textAlign = "center";
+        }
+        linePoints = [[textX, textY], [textX, textY]];
+      } else {
+        var x1;
+        var y1;
+        var x2;
+        var y2;
+        var labelLineLen = labelLineModel.get("length");
+        if (labelPosition === "left") {
+          x1 = (points2[3][0] + points2[0][0]) / 2;
+          y1 = (points2[3][1] + points2[0][1]) / 2;
+          x2 = x1 - labelLineLen;
+          textX = x2 - 5;
+          textAlign = "right";
+        } else if (labelPosition === "right") {
+          x1 = (points2[1][0] + points2[2][0]) / 2;
+          y1 = (points2[1][1] + points2[2][1]) / 2;
+          x2 = x1 + labelLineLen;
+          textX = x2 + 5;
+          textAlign = "left";
+        } else if (labelPosition === "top") {
+          x1 = (points2[3][0] + points2[0][0]) / 2;
+          y1 = (points2[3][1] + points2[0][1]) / 2;
+          y2 = y1 - labelLineLen;
+          textY = y2 - 5;
+          textAlign = "center";
+        } else if (labelPosition === "bottom") {
+          x1 = (points2[1][0] + points2[2][0]) / 2;
+          y1 = (points2[1][1] + points2[2][1]) / 2;
+          y2 = y1 + labelLineLen;
+          textY = y2 + 5;
+          textAlign = "center";
+        } else if (labelPosition === "rightTop") {
+          x1 = orient === "horizontal" ? points2[3][0] : points2[1][0];
+          y1 = orient === "horizontal" ? points2[3][1] : points2[1][1];
+          if (orient === "horizontal") {
+            y2 = y1 - labelLineLen;
+            textY = y2 - 5;
+            textAlign = "center";
+          } else {
+            x2 = x1 + labelLineLen;
+            textX = x2 + 5;
+            textAlign = "top";
+          }
+        } else if (labelPosition === "rightBottom") {
+          x1 = points2[2][0];
+          y1 = points2[2][1];
+          if (orient === "horizontal") {
+            y2 = y1 + labelLineLen;
+            textY = y2 + 5;
+            textAlign = "center";
+          } else {
+            x2 = x1 + labelLineLen;
+            textX = x2 + 5;
+            textAlign = "bottom";
+          }
+        } else if (labelPosition === "leftTop") {
+          x1 = points2[0][0];
+          y1 = orient === "horizontal" ? points2[0][1] : points2[1][1];
+          if (orient === "horizontal") {
+            y2 = y1 - labelLineLen;
+            textY = y2 - 5;
+            textAlign = "center";
+          } else {
+            x2 = x1 - labelLineLen;
+            textX = x2 - 5;
+            textAlign = "right";
+          }
+        } else if (labelPosition === "leftBottom") {
+          x1 = orient === "horizontal" ? points2[1][0] : points2[3][0];
+          y1 = orient === "horizontal" ? points2[1][1] : points2[2][1];
+          if (orient === "horizontal") {
+            y2 = y1 + labelLineLen;
+            textY = y2 + 5;
+            textAlign = "center";
+          } else {
+            x2 = x1 - labelLineLen;
+            textX = x2 - 5;
+            textAlign = "right";
+          }
+        } else {
+          x1 = (points2[1][0] + points2[2][0]) / 2;
+          y1 = (points2[1][1] + points2[2][1]) / 2;
+          if (orient === "horizontal") {
+            y2 = y1 + labelLineLen;
+            textY = y2 + 5;
+            textAlign = "center";
+          } else {
+            x2 = x1 + labelLineLen;
+            textX = x2 + 5;
+            textAlign = "left";
+          }
+        }
+        if (orient === "horizontal") {
+          x2 = x1;
+          textX = x2;
+        } else {
+          y2 = y1;
+          textY = y2;
+        }
+        linePoints = [[x1, y1], [x2, y2]];
+      }
+      layout3.label = {
+        linePoints,
+        x: textX,
+        y: textY,
+        verticalAlign: "middle",
+        textAlign,
+        inside: isLabelInside
+      };
+    });
+  }
+  function _default68(ecModel, api2, payload) {
+    ecModel.eachSeriesByType("funnel", function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var valueDim = data2.mapDimension("value");
+      var sort2 = seriesModel.get("sort");
+      var viewRect2 = getViewRect2(seriesModel, api2);
+      var indices = getSortedIndices2(data2, sort2);
+      var orient = seriesModel.get("orient");
+      var viewWidth = viewRect2.width;
+      var viewHeight = viewRect2.height;
+      var x2 = viewRect2.x;
+      var y2 = viewRect2.y;
+      var sizeExtent = orient === "horizontal" ? [parsePercent2(seriesModel.get("minSize"), viewHeight), parsePercent2(seriesModel.get("maxSize"), viewHeight)] : [parsePercent2(seriesModel.get("minSize"), viewWidth), parsePercent2(seriesModel.get("maxSize"), viewWidth)];
+      var dataExtent = data2.getDataExtent(valueDim);
+      var min3 = seriesModel.get("min");
+      var max3 = seriesModel.get("max");
+      if (min3 == null) {
+        min3 = Math.min(dataExtent[0], 0);
+      }
+      if (max3 == null) {
+        max3 = dataExtent[1];
+      }
+      var funnelAlign = seriesModel.get("funnelAlign");
+      var gap = seriesModel.get("gap");
+      var viewSize = orient === "horizontal" ? viewWidth : viewHeight;
+      var itemSize = (viewSize - gap * (data2.count() - 1)) / data2.count();
+      var getLinePoints = function(idx2, offset2) {
+        if (orient === "horizontal") {
+          var val = data2.get(valueDim, idx2) || 0;
+          var itemHeight = linearMap2(val, [min3, max3], sizeExtent, true);
+          var y0;
+          switch (funnelAlign) {
+            case "top":
+              y0 = y2;
+              break;
+            case "center":
+              y0 = y2 + (viewHeight - itemHeight) / 2;
+              break;
+            case "bottom":
+              y0 = y2 + (viewHeight - itemHeight);
+              break;
+          }
+          return [[offset2, y0], [offset2, y0 + itemHeight]];
+        }
+        var val = data2.get(valueDim, idx2) || 0;
+        var itemWidth = linearMap2(val, [min3, max3], sizeExtent, true);
+        var x0;
+        switch (funnelAlign) {
+          case "left":
+            x0 = x2;
+            break;
+          case "center":
+            x0 = x2 + (viewWidth - itemWidth) / 2;
+            break;
+          case "right":
+            x0 = x2 + viewWidth - itemWidth;
+            break;
+        }
+        return [[x0, offset2], [x0 + itemWidth, offset2]];
+      };
+      if (sort2 === "ascending") {
+        itemSize = -itemSize;
+        gap = -gap;
+        if (orient === "horizontal") {
+          x2 += viewWidth;
+        } else {
+          y2 += viewHeight;
+        }
+        indices = indices.reverse();
+      }
+      for (var i2 = 0; i2 < indices.length; i2++) {
+        var idx = indices[i2];
+        var nextIdx = indices[i2 + 1];
+        var itemModel = data2.getItemModel(idx);
+        if (orient === "horizontal") {
+          var width = itemModel.get("itemStyle.width");
+          if (width == null) {
+            width = itemSize;
+          } else {
+            width = parsePercent2(width, viewWidth);
+            if (sort2 === "ascending") {
+              width = -width;
+            }
+          }
+          var start2 = getLinePoints(idx, x2);
+          var end2 = getLinePoints(nextIdx, x2 + width);
+          x2 += width + gap;
+          data2.setItemLayout(idx, {
+            points: start2.concat(end2.slice().reverse())
+          });
+        } else {
+          var height = itemModel.get("itemStyle.height");
+          if (height == null) {
+            height = itemSize;
+          } else {
+            height = parsePercent2(height, viewHeight);
+            if (sort2 === "ascending") {
+              height = -height;
+            }
+          }
+          var start2 = orient === "horizontal" ? getLinePoints(idx, x2) : getLinePoints(idx, y2);
+          var end2 = orient === "horizontal" ? getLinePoints(nextIdx, x2 + width) : getLinePoints(nextIdx, y2 + height);
+          y2 += height + gap;
+          data2.setItemLayout(idx, {
+            points: start2.concat(end2.slice().reverse())
+          });
+        }
+      }
+      labelLayout2(data2);
+    });
+  }
+  funnelLayout$1 = _default68;
+  return funnelLayout$1;
+}
+var hasRequiredFunnel;
+function requireFunnel() {
+  if (hasRequiredFunnel)
+    return funnel;
+  hasRequiredFunnel = 1;
+  var echarts2 = echarts$1;
+  requireFunnelSeries();
+  requireFunnelView();
+  var dataColor2 = requireDataColor();
+  var funnelLayout2 = requireFunnelLayout();
+  var dataFilter2 = requireDataFilter();
+  echarts2.registerVisual(dataColor2("funnel"));
+  echarts2.registerLayout(funnelLayout2);
+  echarts2.registerProcessor(dataFilter2("funnel"));
+  return funnel;
+}
+var parallel$1 = {};
+var parallel = {};
+var parallelPreprocessor$1;
+var hasRequiredParallelPreprocessor;
+function requireParallelPreprocessor() {
+  if (hasRequiredParallelPreprocessor)
+    return parallelPreprocessor$1;
+  hasRequiredParallelPreprocessor = 1;
+  var zrUtil2 = util$a;
+  var modelUtil2 = model;
+  function _default68(option) {
+    createParallelIfNeeded2(option);
+    mergeAxisOptionFromParallel2(option);
+  }
+  function createParallelIfNeeded2(option) {
+    if (option.parallel) {
+      return;
+    }
+    var hasParallelSeries = false;
+    zrUtil2.each(option.series, function(seriesOpt) {
+      if (seriesOpt && seriesOpt.type === "parallel") {
+        hasParallelSeries = true;
+      }
+    });
+    if (hasParallelSeries) {
+      option.parallel = [{}];
+    }
+  }
+  function mergeAxisOptionFromParallel2(option) {
+    var axes = modelUtil2.normalizeToArray(option.parallelAxis);
+    zrUtil2.each(axes, function(axisOption) {
+      if (!zrUtil2.isObject(axisOption)) {
+        return;
+      }
+      var parallelIndex = axisOption.parallelIndex || 0;
+      var parallelOption = modelUtil2.normalizeToArray(option.parallel)[parallelIndex];
+      if (parallelOption && parallelOption.parallelAxisDefault) {
+        zrUtil2.merge(axisOption, parallelOption.parallelAxisDefault, false);
+      }
+    });
+  }
+  parallelPreprocessor$1 = _default68;
+  return parallelPreprocessor$1;
+}
+var parallelCreator = {};
+var ParallelAxis_1;
+var hasRequiredParallelAxis$1;
+function requireParallelAxis$1() {
+  if (hasRequiredParallelAxis$1)
+    return ParallelAxis_1;
+  hasRequiredParallelAxis$1 = 1;
+  var zrUtil2 = util$a;
+  var Axis2 = requireAxis$1();
+  var ParallelAxis2 = function(dim, scale2, coordExtent, axisType, axisIndex) {
+    Axis2.call(this, dim, scale2, coordExtent);
+    this.type = axisType || "value";
+    this.axisIndex = axisIndex;
+  };
+  ParallelAxis2.prototype = {
+    constructor: ParallelAxis2,
+    /**
+     * Axis model
+     * @param {module:echarts/coord/parallel/AxisModel}
+     */
+    model: null,
+    /**
+     * @override
+     */
+    isHorizontal: function() {
+      return this.coordinateSystem.getModel().get("layout") !== "horizontal";
+    }
+  };
+  zrUtil2.inherits(ParallelAxis2, Axis2);
+  var _default68 = ParallelAxis2;
+  ParallelAxis_1 = _default68;
+  return ParallelAxis_1;
+}
+var sliderMove$1;
+var hasRequiredSliderMove;
+function requireSliderMove() {
+  if (hasRequiredSliderMove)
+    return sliderMove$1;
+  hasRequiredSliderMove = 1;
+  function _default68(delta, handleEnds, extent3, handleIndex, minSpan, maxSpan) {
+    delta = delta || 0;
+    var extentSpan = extent3[1] - extent3[0];
+    if (minSpan != null) {
+      minSpan = restrict2(minSpan, [0, extentSpan]);
+    }
+    if (maxSpan != null) {
+      maxSpan = Math.max(maxSpan, minSpan != null ? minSpan : 0);
+    }
+    if (handleIndex === "all") {
+      var handleSpan = Math.abs(handleEnds[1] - handleEnds[0]);
+      handleSpan = restrict2(handleSpan, [0, extentSpan]);
+      minSpan = maxSpan = restrict2(handleSpan, [minSpan, maxSpan]);
+      handleIndex = 0;
+    }
+    handleEnds[0] = restrict2(handleEnds[0], extent3);
+    handleEnds[1] = restrict2(handleEnds[1], extent3);
+    var originalDistSign = getSpanSign2(handleEnds, handleIndex);
+    handleEnds[handleIndex] += delta;
+    var extentMinSpan = minSpan || 0;
+    var realExtent = extent3.slice();
+    originalDistSign.sign < 0 ? realExtent[0] += extentMinSpan : realExtent[1] -= extentMinSpan;
+    handleEnds[handleIndex] = restrict2(handleEnds[handleIndex], realExtent);
+    var currDistSign = getSpanSign2(handleEnds, handleIndex);
+    if (minSpan != null && (currDistSign.sign !== originalDistSign.sign || currDistSign.span < minSpan)) {
+      handleEnds[1 - handleIndex] = handleEnds[handleIndex] + originalDistSign.sign * minSpan;
+    }
+    var currDistSign = getSpanSign2(handleEnds, handleIndex);
+    if (maxSpan != null && currDistSign.span > maxSpan) {
+      handleEnds[1 - handleIndex] = handleEnds[handleIndex] + currDistSign.sign * maxSpan;
+    }
+    return handleEnds;
+  }
+  function getSpanSign2(handleEnds, handleIndex) {
+    var dist2 = handleEnds[handleIndex] - handleEnds[1 - handleIndex];
+    return {
+      span: Math.abs(dist2),
+      sign: dist2 > 0 ? -1 : dist2 < 0 ? 1 : handleIndex ? -1 : 1
+    };
+  }
+  function restrict2(value, extend2) {
+    return Math.min(extend2[1] != null ? extend2[1] : Infinity, Math.max(extend2[0] != null ? extend2[0] : -Infinity, value));
+  }
+  sliderMove$1 = _default68;
+  return sliderMove$1;
+}
+var Parallel_1;
+var hasRequiredParallel$2;
+function requireParallel$2() {
+  if (hasRequiredParallel$2)
+    return Parallel_1;
+  hasRequiredParallel$2 = 1;
+  var zrUtil2 = util$a;
+  var matrix2 = matrix$5;
+  var layoutUtil = layout$5;
+  var axisHelper2 = requireAxisHelper();
+  var ParallelAxis2 = requireParallelAxis$1();
+  var graphic2 = graphic$6;
+  var numberUtil2 = requireNumber();
+  var sliderMove2 = requireSliderMove();
+  var each2 = zrUtil2.each;
+  var mathMin2 = Math.min;
+  var mathMax2 = Math.max;
+  var mathFloor2 = Math.floor;
+  var mathCeil2 = Math.ceil;
+  var round2 = numberUtil2.round;
+  var PI3 = Math.PI;
+  function Parallel2(parallelModel, ecModel, api2) {
+    this._axesMap = zrUtil2.createHashMap();
+    this._axesLayout = {};
+    this.dimensions = parallelModel.dimensions;
+    this._rect;
+    this._model = parallelModel;
+    this._init(parallelModel, ecModel, api2);
+  }
+  Parallel2.prototype = {
+    type: "parallel",
+    constructor: Parallel2,
+    /**
+     * Initialize cartesian coordinate systems
+     * @private
+     */
+    _init: function(parallelModel, ecModel, api2) {
+      var dimensions = parallelModel.dimensions;
+      var parallelAxisIndex = parallelModel.parallelAxisIndex;
+      each2(dimensions, function(dim, idx) {
+        var axisIndex = parallelAxisIndex[idx];
+        var axisModel = ecModel.getComponent("parallelAxis", axisIndex);
+        var axis2 = this._axesMap.set(dim, new ParallelAxis2(dim, axisHelper2.createScaleByModel(axisModel), [0, 0], axisModel.get("type"), axisIndex));
+        var isCategory2 = axis2.type === "category";
+        axis2.onBand = isCategory2 && axisModel.get("boundaryGap");
+        axis2.inverse = axisModel.get("inverse");
+        axisModel.axis = axis2;
+        axis2.model = axisModel;
+        axis2.coordinateSystem = axisModel.coordinateSystem = this;
+      }, this);
+    },
+    /**
+     * Update axis scale after data processed
+     * @param  {module:echarts/model/Global} ecModel
+     * @param  {module:echarts/ExtensionAPI} api
+     */
+    update: function(ecModel, api2) {
+      this._updateAxesFromSeries(this._model, ecModel);
+    },
+    /**
+     * @override
+     */
+    containPoint: function(point) {
+      var layoutInfo = this._makeLayoutInfo();
+      var axisBase = layoutInfo.axisBase;
+      var layoutBase = layoutInfo.layoutBase;
+      var pixelDimIndex = layoutInfo.pixelDimIndex;
+      var pAxis = point[1 - pixelDimIndex];
+      var pLayout = point[pixelDimIndex];
+      return pAxis >= axisBase && pAxis <= axisBase + layoutInfo.axisLength && pLayout >= layoutBase && pLayout <= layoutBase + layoutInfo.layoutLength;
+    },
+    getModel: function() {
+      return this._model;
+    },
+    /**
+     * Update properties from series
+     * @private
+     */
+    _updateAxesFromSeries: function(parallelModel, ecModel) {
+      ecModel.eachSeries(function(seriesModel) {
+        if (!parallelModel.contains(seriesModel, ecModel)) {
+          return;
+        }
+        var data2 = seriesModel.getData();
+        each2(this.dimensions, function(dim) {
+          var axis2 = this._axesMap.get(dim);
+          axis2.scale.unionExtentFromData(data2, data2.mapDimension(dim));
+          axisHelper2.niceScaleExtent(axis2.scale, axis2.model);
+        }, this);
+      }, this);
+    },
+    /**
+     * Resize the parallel coordinate system.
+     * @param {module:echarts/coord/parallel/ParallelModel} parallelModel
+     * @param {module:echarts/ExtensionAPI} api
+     */
+    resize: function(parallelModel, api2) {
+      this._rect = layoutUtil.getLayoutRect(parallelModel.getBoxLayoutParams(), {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+      this._layoutAxes();
+    },
+    /**
+     * @return {module:zrender/core/BoundingRect}
+     */
+    getRect: function() {
+      return this._rect;
+    },
+    /**
+     * @private
+     */
+    _makeLayoutInfo: function() {
+      var parallelModel = this._model;
+      var rect = this._rect;
+      var xy = ["x", "y"];
+      var wh = ["width", "height"];
+      var layout2 = parallelModel.get("layout");
+      var pixelDimIndex = layout2 === "horizontal" ? 0 : 1;
+      var layoutLength = rect[wh[pixelDimIndex]];
+      var layoutExtent = [0, layoutLength];
+      var axisCount = this.dimensions.length;
+      var axisExpandWidth = restrict2(parallelModel.get("axisExpandWidth"), layoutExtent);
+      var axisExpandCount = restrict2(parallelModel.get("axisExpandCount") || 0, [0, axisCount]);
+      var axisExpandable = parallelModel.get("axisExpandable") && axisCount > 3 && axisCount > axisExpandCount && axisExpandCount > 1 && axisExpandWidth > 0 && layoutLength > 0;
+      var axisExpandWindow = parallelModel.get("axisExpandWindow");
+      var winSize;
+      if (!axisExpandWindow) {
+        winSize = restrict2(axisExpandWidth * (axisExpandCount - 1), layoutExtent);
+        var axisExpandCenter = parallelModel.get("axisExpandCenter") || mathFloor2(axisCount / 2);
+        axisExpandWindow = [axisExpandWidth * axisExpandCenter - winSize / 2];
+        axisExpandWindow[1] = axisExpandWindow[0] + winSize;
+      } else {
+        winSize = restrict2(axisExpandWindow[1] - axisExpandWindow[0], layoutExtent);
+        axisExpandWindow[1] = axisExpandWindow[0] + winSize;
+      }
+      var axisCollapseWidth = (layoutLength - winSize) / (axisCount - axisExpandCount);
+      axisCollapseWidth < 3 && (axisCollapseWidth = 0);
+      var winInnerIndices = [mathFloor2(round2(axisExpandWindow[0] / axisExpandWidth, 1)) + 1, mathCeil2(round2(axisExpandWindow[1] / axisExpandWidth, 1)) - 1];
+      var axisExpandWindow0Pos = axisCollapseWidth / axisExpandWidth * axisExpandWindow[0];
+      return {
+        layout: layout2,
+        pixelDimIndex,
+        layoutBase: rect[xy[pixelDimIndex]],
+        layoutLength,
+        axisBase: rect[xy[1 - pixelDimIndex]],
+        axisLength: rect[wh[1 - pixelDimIndex]],
+        axisExpandable,
+        axisExpandWidth,
+        axisCollapseWidth,
+        axisExpandWindow,
+        axisCount,
+        winInnerIndices,
+        axisExpandWindow0Pos
+      };
+    },
+    /**
+     * @private
+     */
+    _layoutAxes: function() {
+      var rect = this._rect;
+      var axes = this._axesMap;
+      var dimensions = this.dimensions;
+      var layoutInfo = this._makeLayoutInfo();
+      var layout2 = layoutInfo.layout;
+      axes.each(function(axis2) {
+        var axisExtent = [0, layoutInfo.axisLength];
+        var idx = axis2.inverse ? 1 : 0;
+        axis2.setExtent(axisExtent[idx], axisExtent[1 - idx]);
+      });
+      each2(dimensions, function(dim, idx) {
+        var posInfo = (layoutInfo.axisExpandable ? layoutAxisWithExpand2 : layoutAxisWithoutExpand2)(idx, layoutInfo);
+        var positionTable = {
+          horizontal: {
+            x: posInfo.position,
+            y: layoutInfo.axisLength
+          },
+          vertical: {
+            x: 0,
+            y: posInfo.position
+          }
+        };
+        var rotationTable = {
+          horizontal: PI3 / 2,
+          vertical: 0
+        };
+        var position2 = [positionTable[layout2].x + rect.x, positionTable[layout2].y + rect.y];
+        var rotation = rotationTable[layout2];
+        var transform3 = matrix2.create();
+        matrix2.rotate(transform3, transform3, rotation);
+        matrix2.translate(transform3, transform3, position2);
+        this._axesLayout[dim] = {
+          position: position2,
+          rotation,
+          transform: transform3,
+          axisNameAvailableWidth: posInfo.axisNameAvailableWidth,
+          axisLabelShow: posInfo.axisLabelShow,
+          nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,
+          tickDirection: 1,
+          labelDirection: 1
+        };
+      }, this);
+    },
+    /**
+     * Get axis by dim.
+     * @param {string} dim
+     * @return {module:echarts/coord/parallel/ParallelAxis} [description]
+     */
+    getAxis: function(dim) {
+      return this._axesMap.get(dim);
+    },
+    /**
+     * Convert a dim value of a single item of series data to Point.
+     * @param {*} value
+     * @param {string} dim
+     * @return {Array}
+     */
+    dataToPoint: function(value, dim) {
+      return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);
+    },
+    /**
+     * Travel data for one time, get activeState of each data item.
+     * @param {module:echarts/data/List} data
+     * @param {Functio} cb param: {string} activeState 'active' or 'inactive' or 'normal'
+     *                            {number} dataIndex
+     * @param {number} [start=0] the start dataIndex that travel from.
+     * @param {number} [end=data.count()] the next dataIndex of the last dataIndex will be travel.
+     */
+    eachActiveState: function(data2, callback, start2, end2) {
+      start2 == null && (start2 = 0);
+      end2 == null && (end2 = data2.count());
+      var axesMap = this._axesMap;
+      var dimensions = this.dimensions;
+      var dataDimensions = [];
+      var axisModels = [];
+      zrUtil2.each(dimensions, function(axisDim) {
+        dataDimensions.push(data2.mapDimension(axisDim));
+        axisModels.push(axesMap.get(axisDim).model);
+      });
+      var hasActiveSet = this.hasAxisBrushed();
+      for (var dataIndex = start2; dataIndex < end2; dataIndex++) {
+        var activeState;
+        if (!hasActiveSet) {
+          activeState = "normal";
+        } else {
+          activeState = "active";
+          var values = data2.getValues(dataDimensions, dataIndex);
+          for (var j2 = 0, lenj = dimensions.length; j2 < lenj; j2++) {
+            var state = axisModels[j2].getActiveState(values[j2]);
+            if (state === "inactive") {
+              activeState = "inactive";
+              break;
+            }
+          }
+        }
+        callback(activeState, dataIndex);
+      }
+    },
+    /**
+     * Whether has any activeSet.
+     * @return {boolean}
+     */
+    hasAxisBrushed: function() {
+      var dimensions = this.dimensions;
+      var axesMap = this._axesMap;
+      var hasActiveSet = false;
+      for (var j2 = 0, lenj = dimensions.length; j2 < lenj; j2++) {
+        if (axesMap.get(dimensions[j2]).model.getActiveState() !== "normal") {
+          hasActiveSet = true;
+        }
+      }
+      return hasActiveSet;
+    },
+    /**
+     * Convert coords of each axis to Point.
+     *  Return point. For example: [10, 20]
+     * @param {Array.<number>} coords
+     * @param {string} dim
+     * @return {Array.<number>}
+     */
+    axisCoordToPoint: function(coord, dim) {
+      var axisLayout = this._axesLayout[dim];
+      return graphic2.applyTransform([coord, 0], axisLayout.transform);
+    },
+    /**
+     * Get axis layout.
+     */
+    getAxisLayout: function(dim) {
+      return zrUtil2.clone(this._axesLayout[dim]);
+    },
+    /**
+     * @param {Array.<number>} point
+     * @return {Object} {axisExpandWindow, delta, behavior: 'jump' | 'slide' | 'none'}.
+     */
+    getSlidedAxisExpandWindow: function(point) {
+      var layoutInfo = this._makeLayoutInfo();
+      var pixelDimIndex = layoutInfo.pixelDimIndex;
+      var axisExpandWindow = layoutInfo.axisExpandWindow.slice();
+      var winSize = axisExpandWindow[1] - axisExpandWindow[0];
+      var extent3 = [0, layoutInfo.axisExpandWidth * (layoutInfo.axisCount - 1)];
+      if (!this.containPoint(point)) {
+        return {
+          behavior: "none",
+          axisExpandWindow
+        };
+      }
+      var pointCoord = point[pixelDimIndex] - layoutInfo.layoutBase - layoutInfo.axisExpandWindow0Pos;
+      var delta;
+      var behavior = "slide";
+      var axisCollapseWidth = layoutInfo.axisCollapseWidth;
+      var triggerArea = this._model.get("axisExpandSlideTriggerArea");
+      var useJump = triggerArea[0] != null;
+      if (axisCollapseWidth) {
+        if (useJump && axisCollapseWidth && pointCoord < winSize * triggerArea[0]) {
+          behavior = "jump";
+          delta = pointCoord - winSize * triggerArea[2];
+        } else if (useJump && axisCollapseWidth && pointCoord > winSize * (1 - triggerArea[0])) {
+          behavior = "jump";
+          delta = pointCoord - winSize * (1 - triggerArea[2]);
+        } else {
+          (delta = pointCoord - winSize * triggerArea[1]) >= 0 && (delta = pointCoord - winSize * (1 - triggerArea[1])) <= 0 && (delta = 0);
+        }
+        delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;
+        delta ? sliderMove2(delta, axisExpandWindow, extent3, "all") : behavior = "none";
+      } else {
+        var winSize = axisExpandWindow[1] - axisExpandWindow[0];
+        var pos = extent3[1] * pointCoord / winSize;
+        axisExpandWindow = [mathMax2(0, pos - winSize / 2)];
+        axisExpandWindow[1] = mathMin2(extent3[1], axisExpandWindow[0] + winSize);
+        axisExpandWindow[0] = axisExpandWindow[1] - winSize;
+      }
+      return {
+        axisExpandWindow,
+        behavior
+      };
+    }
+  };
+  function restrict2(len2, extent3) {
+    return mathMin2(mathMax2(len2, extent3[0]), extent3[1]);
+  }
+  function layoutAxisWithoutExpand2(axisIndex, layoutInfo) {
+    var step2 = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);
+    return {
+      position: step2 * axisIndex,
+      axisNameAvailableWidth: step2,
+      axisLabelShow: true
+    };
+  }
+  function layoutAxisWithExpand2(axisIndex, layoutInfo) {
+    var layoutLength = layoutInfo.layoutLength;
+    var axisExpandWidth = layoutInfo.axisExpandWidth;
+    var axisCount = layoutInfo.axisCount;
+    var axisCollapseWidth = layoutInfo.axisCollapseWidth;
+    var winInnerIndices = layoutInfo.winInnerIndices;
+    var position2;
+    var axisNameAvailableWidth = axisCollapseWidth;
+    var axisLabelShow = false;
+    var nameTruncateMaxWidth;
+    if (axisIndex < winInnerIndices[0]) {
+      position2 = axisIndex * axisCollapseWidth;
+      nameTruncateMaxWidth = axisCollapseWidth;
+    } else if (axisIndex <= winInnerIndices[1]) {
+      position2 = layoutInfo.axisExpandWindow0Pos + axisIndex * axisExpandWidth - layoutInfo.axisExpandWindow[0];
+      axisNameAvailableWidth = axisExpandWidth;
+      axisLabelShow = true;
+    } else {
+      position2 = layoutLength - (axisCount - 1 - axisIndex) * axisCollapseWidth;
+      nameTruncateMaxWidth = axisCollapseWidth;
+    }
+    return {
+      position: position2,
+      axisNameAvailableWidth,
+      axisLabelShow,
+      nameTruncateMaxWidth
+    };
+  }
+  var _default68 = Parallel2;
+  Parallel_1 = _default68;
+  return Parallel_1;
+}
+var hasRequiredParallelCreator;
+function requireParallelCreator() {
+  if (hasRequiredParallelCreator)
+    return parallelCreator;
+  hasRequiredParallelCreator = 1;
+  var Parallel2 = requireParallel$2();
+  var CoordinateSystem2 = CoordinateSystem$1;
+  function create2(ecModel, api2) {
+    var coordSysList = [];
+    ecModel.eachComponent("parallel", function(parallelModel, idx) {
+      var coordSys = new Parallel2(parallelModel, ecModel, api2);
+      coordSys.name = "parallel_" + idx;
+      coordSys.resize(parallelModel, api2);
+      parallelModel.coordinateSystem = coordSys;
+      coordSys.model = parallelModel;
+      coordSysList.push(coordSys);
+    });
+    ecModel.eachSeries(function(seriesModel) {
+      if (seriesModel.get("coordinateSystem") === "parallel") {
+        var parallelModel = ecModel.queryComponents({
+          mainType: "parallel",
+          index: seriesModel.get("parallelIndex"),
+          id: seriesModel.get("parallelId")
+        })[0];
+        seriesModel.coordinateSystem = parallelModel.coordinateSystem;
+      }
+    });
+    return coordSysList;
+  }
+  CoordinateSystem2.register("parallel", {
+    create: create2
+  });
+  return parallelCreator;
+}
+var AxisModel_1$1;
+var hasRequiredAxisModel$2;
+function requireAxisModel$2() {
+  if (hasRequiredAxisModel$2)
+    return AxisModel_1$1;
+  hasRequiredAxisModel$2 = 1;
+  var zrUtil2 = util$a;
+  var ComponentModel2 = Component$1;
+  var makeStyleMapper2 = makeStyleMapper$4;
+  var axisModelCreator2 = requireAxisModelCreator();
+  var numberUtil2 = requireNumber();
+  var axisModelCommonMixin2 = requireAxisModelCommonMixin();
+  var AxisModel2 = ComponentModel2.extend({
+    type: "baseParallelAxis",
+    /**
+     * @type {module:echarts/coord/parallel/Axis}
+     */
+    axis: null,
+    /**
+     * @type {Array.<Array.<number>}
+     * @readOnly
+     */
+    activeIntervals: [],
+    /**
+     * @return {Object}
+     */
+    getAreaSelectStyle: function() {
+      return makeStyleMapper2([["fill", "color"], ["lineWidth", "borderWidth"], ["stroke", "borderColor"], ["width", "width"], ["opacity", "opacity"]])(this.getModel("areaSelectStyle"));
+    },
+    /**
+     * The code of this feature is put on AxisModel but not ParallelAxis,
+     * because axisModel can be alive after echarts updating but instance of
+     * ParallelAxis having been disposed. this._activeInterval should be kept
+     * when action dispatched (i.e. legend click).
+     *
+     * @param {Array.<Array<number>>} intervals interval.length === 0
+     *                                          means set all active.
+     * @public
+     */
+    setActiveIntervals: function(intervals) {
+      var activeIntervals = this.activeIntervals = zrUtil2.clone(intervals);
+      if (activeIntervals) {
+        for (var i2 = activeIntervals.length - 1; i2 >= 0; i2--) {
+          numberUtil2.asc(activeIntervals[i2]);
+        }
+      }
+    },
+    /**
+     * @param {number|string} [value] When attempting to detect 'no activeIntervals set',
+     *                         value can not be input.
+     * @return {string} 'normal': no activeIntervals set,
+     *                  'active',
+     *                  'inactive'.
+     * @public
+     */
+    getActiveState: function(value) {
+      var activeIntervals = this.activeIntervals;
+      if (!activeIntervals.length) {
+        return "normal";
+      }
+      if (value == null || isNaN(value)) {
+        return "inactive";
+      }
+      if (activeIntervals.length === 1) {
+        var interval = activeIntervals[0];
+        if (interval[0] <= value && value <= interval[1]) {
+          return "active";
+        }
+      } else {
+        for (var i2 = 0, len2 = activeIntervals.length; i2 < len2; i2++) {
+          if (activeIntervals[i2][0] <= value && value <= activeIntervals[i2][1]) {
+            return "active";
+          }
+        }
+      }
+      return "inactive";
+    }
+  });
+  var defaultOption2 = {
+    type: "value",
+    /**
+     * @type {Array.<number>}
+     */
+    dim: null,
+    // 0, 1, 2, ...
+    // parallelIndex: null,
+    areaSelectStyle: {
+      width: 20,
+      borderWidth: 1,
+      borderColor: "rgba(160,197,232)",
+      color: "rgba(160,197,232)",
+      opacity: 0.3
+    },
+    realtime: true,
+    // Whether realtime update view when select.
+    z: 10
+  };
+  zrUtil2.merge(AxisModel2.prototype, axisModelCommonMixin2);
+  function getAxisType2(axisName, option) {
+    return option.type || (option.data ? "category" : "value");
+  }
+  axisModelCreator2("parallel", AxisModel2, getAxisType2, defaultOption2);
+  var _default68 = AxisModel2;
+  AxisModel_1$1 = _default68;
+  return AxisModel_1$1;
+}
+var ParallelModel$2;
+var hasRequiredParallelModel;
+function requireParallelModel() {
+  if (hasRequiredParallelModel)
+    return ParallelModel$2;
+  hasRequiredParallelModel = 1;
+  var zrUtil2 = util$a;
+  var Component2 = Component$1;
+  requireAxisModel$2();
+  var _default68 = Component2.extend({
+    type: "parallel",
+    dependencies: ["parallelAxis"],
+    /**
+     * @type {module:echarts/coord/parallel/Parallel}
+     */
+    coordinateSystem: null,
+    /**
+     * Each item like: 'dim0', 'dim1', 'dim2', ...
+     * @type {Array.<string>}
+     * @readOnly
+     */
+    dimensions: null,
+    /**
+     * Coresponding to dimensions.
+     * @type {Array.<number>}
+     * @readOnly
+     */
+    parallelAxisIndex: null,
+    layoutMode: "box",
+    defaultOption: {
+      zlevel: 0,
+      z: 0,
+      left: 80,
+      top: 60,
+      right: 80,
+      bottom: 60,
+      // width: {totalWidth} - left - right,
+      // height: {totalHeight} - top - bottom,
+      layout: "horizontal",
+      // 'horizontal' or 'vertical'
+      // FIXME
+      // naming?
+      axisExpandable: false,
+      axisExpandCenter: null,
+      axisExpandCount: 0,
+      axisExpandWidth: 50,
+      // FIXME '10%' ?
+      axisExpandRate: 17,
+      axisExpandDebounce: 50,
+      // [out, in, jumpTarget]. In percentage. If use [null, 0.05], null means full.
+      // Do not doc to user until necessary.
+      axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4],
+      axisExpandTriggerOn: "click",
+      // 'mousemove' or 'click'
+      parallelAxisDefault: null
+    },
+    /**
+     * @override
+     */
+    init: function() {
+      Component2.prototype.init.apply(this, arguments);
+      this.mergeOption({});
+    },
+    /**
+     * @override
+     */
+    mergeOption: function(newOption) {
+      var thisOption = this.option;
+      newOption && zrUtil2.merge(thisOption, newOption, true);
+      this._initDimensions();
+    },
+    /**
+     * Whether series or axis is in this coordinate system.
+     * @param {module:echarts/model/Series|module:echarts/coord/parallel/AxisModel} model
+     * @param {module:echarts/model/Global} ecModel
+     */
+    contains: function(model2, ecModel) {
+      var parallelIndex = model2.get("parallelIndex");
+      return parallelIndex != null && ecModel.getComponent("parallel", parallelIndex) === this;
+    },
+    setAxisExpand: function(opt) {
+      zrUtil2.each(["axisExpandable", "axisExpandCenter", "axisExpandCount", "axisExpandWidth", "axisExpandWindow"], function(name2) {
+        if (opt.hasOwnProperty(name2)) {
+          this.option[name2] = opt[name2];
+        }
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _initDimensions: function() {
+      var dimensions = this.dimensions = [];
+      var parallelAxisIndex = this.parallelAxisIndex = [];
+      var axisModels = zrUtil2.filter(this.dependentModels.parallelAxis, function(axisModel) {
+        return (axisModel.get("parallelIndex") || 0) === this.componentIndex;
+      }, this);
+      zrUtil2.each(axisModels, function(axisModel) {
+        dimensions.push("dim" + axisModel.get("dim"));
+        parallelAxisIndex.push(axisModel.componentIndex);
+      });
+    }
+  });
+  ParallelModel$2 = _default68;
+  return ParallelModel$2;
+}
+var parallelAxis = {};
+var parallelAxisAction = {};
+var hasRequiredParallelAxisAction;
+function requireParallelAxisAction() {
+  if (hasRequiredParallelAxisAction)
+    return parallelAxisAction;
+  hasRequiredParallelAxisAction = 1;
+  var echarts2 = echarts$1;
+  var actionInfo2 = {
+    type: "axisAreaSelect",
+    event: "axisAreaSelected"
+    // update: 'updateVisual'
+  };
+  echarts2.registerAction(actionInfo2, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "parallelAxis",
+      query: payload
+    }, function(parallelAxisModel) {
+      parallelAxisModel.axis.model.setActiveIntervals(payload.intervals);
+    });
+  });
+  echarts2.registerAction("parallelAxisExpand", function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "parallel",
+      query: payload
+    }, function(parallelModel) {
+      parallelModel.setAxisExpand(payload);
+    });
+  });
+  return parallelAxisAction;
+}
+var BrushController_1;
+var hasRequiredBrushController;
+function requireBrushController() {
+  if (hasRequiredBrushController)
+    return BrushController_1;
+  hasRequiredBrushController = 1;
+  var zrUtil2 = util$a;
+  var Eventful2 = Eventful_1;
+  var graphic2 = graphic$6;
+  var interactionMutex2 = requireInteractionMutex();
+  var DataDiffer2 = requireDataDiffer();
+  var curry2 = zrUtil2.curry;
+  var each2 = zrUtil2.each;
+  var map2 = zrUtil2.map;
+  var mathMin2 = Math.min;
+  var mathMax2 = Math.max;
+  var mathPow2 = Math.pow;
+  var COVER_Z2 = 1e4;
+  var UNSELECT_THRESHOLD2 = 6;
+  var MIN_RESIZE_LINE_WIDTH2 = 6;
+  var MUTEX_RESOURCE_KEY2 = "globalPan";
+  var DIRECTION_MAP2 = {
+    w: [0, 0],
+    e: [0, 1],
+    n: [1, 0],
+    s: [1, 1]
+  };
+  var CURSOR_MAP2 = {
+    w: "ew",
+    e: "ew",
+    n: "ns",
+    s: "ns",
+    ne: "nesw",
+    sw: "nesw",
+    nw: "nwse",
+    se: "nwse"
+  };
+  var DEFAULT_BRUSH_OPT2 = {
+    brushStyle: {
+      lineWidth: 2,
+      stroke: "rgba(0,0,0,0.3)",
+      fill: "rgba(0,0,0,0.1)"
+    },
+    transformable: true,
+    brushMode: "single",
+    removeOnClick: false
+  };
+  var baseUID2 = 0;
+  function BrushController2(zr) {
+    Eventful2.call(this);
+    this._zr = zr;
+    this.group = new graphic2.Group();
+    this._brushType;
+    this._brushOption;
+    this._panels;
+    this._track = [];
+    this._dragging;
+    this._covers = [];
+    this._creatingCover;
+    this._creatingPanel;
+    this._enableGlobalPan;
+    this._uid = "brushController_" + baseUID2++;
+    this._handlers = {};
+    each2(pointerHandlers2, function(handler, eventName) {
+      this._handlers[eventName] = zrUtil2.bind(handler, this);
+    }, this);
+  }
+  BrushController2.prototype = {
+    constructor: BrushController2,
+    /**
+     * If set to null/undefined/false, select disabled.
+     * @param {Object} brushOption
+     * @param {string|boolean} brushOption.brushType 'line', 'rect', 'polygon' or false
+     *                          If passing false/null/undefined, disable brush.
+     *                          If passing 'auto', determined by panel.defaultBrushType.
+     *                              ('auto' can not be used in global panel)
+     * @param {number} [brushOption.brushMode='single'] 'single' or 'multiple'
+     * @param {boolean} [brushOption.transformable=true]
+     * @param {boolean} [brushOption.removeOnClick=false]
+     * @param {Object} [brushOption.brushStyle]
+     * @param {number} [brushOption.brushStyle.width]
+     * @param {number} [brushOption.brushStyle.lineWidth]
+     * @param {string} [brushOption.brushStyle.stroke]
+     * @param {string} [brushOption.brushStyle.fill]
+     * @param {number} [brushOption.z]
+     */
+    enableBrush: function(brushOption) {
+      this._brushType && doDisableBrush(this);
+      brushOption.brushType && doEnableBrush(this, brushOption);
+      return this;
+    },
+    /**
+     * @param {Array.<Object>} panelOpts If not pass, it is global brush.
+     *        Each items: {
+     *            panelId, // mandatory.
+     *            clipPath, // mandatory. function.
+     *            isTargetByCursor, // mandatory. function.
+     *            defaultBrushType, // optional, only used when brushType is 'auto'.
+     *            getLinearBrushOtherExtent, // optional. function.
+     *        }
+     */
+    setPanels: function(panelOpts) {
+      if (panelOpts && panelOpts.length) {
+        var panels = this._panels = {};
+        zrUtil2.each(panelOpts, function(panelOpts2) {
+          panels[panelOpts2.panelId] = zrUtil2.clone(panelOpts2);
+        });
+      } else {
+        this._panels = null;
+      }
+      return this;
+    },
+    /**
+     * @param {Object} [opt]
+     * @return {boolean} [opt.enableGlobalPan=false]
+     */
+    mount: function(opt) {
+      opt = opt || {};
+      this._enableGlobalPan = opt.enableGlobalPan;
+      var thisGroup = this.group;
+      this._zr.add(thisGroup);
+      thisGroup.attr({
+        position: opt.position || [0, 0],
+        rotation: opt.rotation || 0,
+        scale: opt.scale || [1, 1]
+      });
+      this._transform = thisGroup.getLocalTransform();
+      return this;
+    },
+    eachCover: function(cb, context) {
+      each2(this._covers, cb, context);
+    },
+    /**
+     * Update covers.
+     * @param {Array.<Object>} brushOptionList Like:
+     *        [
+     *            {id: 'xx', brushType: 'line', range: [23, 44], brushStyle, transformable},
+     *            {id: 'yy', brushType: 'rect', range: [[23, 44], [23, 54]]},
+     *            ...
+     *        ]
+     *        `brushType` is required in each cover info. (can not be 'auto')
+     *        `id` is not mandatory.
+     *        `brushStyle`, `transformable` is not mandatory, use DEFAULT_BRUSH_OPT by default.
+     *        If brushOptionList is null/undefined, all covers removed.
+     */
+    updateCovers: function(brushOptionList) {
+      brushOptionList = zrUtil2.map(brushOptionList, function(brushOption) {
+        return zrUtil2.merge(zrUtil2.clone(DEFAULT_BRUSH_OPT2), brushOption, true);
+      });
+      var tmpIdPrefix = "\0-brush-index-";
+      var oldCovers = this._covers;
+      var newCovers = this._covers = [];
+      var controller = this;
+      var creatingCover = this._creatingCover;
+      new DataDiffer2(oldCovers, brushOptionList, oldGetKey, getKey2).add(addOrUpdate).update(addOrUpdate).remove(remove2).execute();
+      return this;
+      function getKey2(brushOption, index3) {
+        return (brushOption.id != null ? brushOption.id : tmpIdPrefix + index3) + "-" + brushOption.brushType;
+      }
+      function oldGetKey(cover, index3) {
+        return getKey2(cover.__brushOption, index3);
+      }
+      function addOrUpdate(newIndex, oldIndex) {
+        var newBrushOption = brushOptionList[newIndex];
+        if (oldIndex != null && oldCovers[oldIndex] === creatingCover) {
+          newCovers[newIndex] = oldCovers[oldIndex];
+        } else {
+          var cover = newCovers[newIndex] = oldIndex != null ? (oldCovers[oldIndex].__brushOption = newBrushOption, oldCovers[oldIndex]) : endCreating2(controller, createCover2(controller, newBrushOption));
+          updateCoverAfterCreation2(controller, cover);
+        }
+      }
+      function remove2(oldIndex) {
+        if (oldCovers[oldIndex] !== creatingCover) {
+          controller.group.remove(oldCovers[oldIndex]);
+        }
+      }
+    },
+    unmount: function() {
+      this.enableBrush(false);
+      clearCovers2(this);
+      this._zr.remove(this.group);
+      return this;
+    },
+    dispose: function() {
+      this.unmount();
+      this.off();
+    }
+  };
+  zrUtil2.mixin(BrushController2, Eventful2);
+  function doEnableBrush(controller, brushOption) {
+    var zr = controller._zr;
+    if (!controller._enableGlobalPan) {
+      interactionMutex2.take(zr, MUTEX_RESOURCE_KEY2, controller._uid);
+    }
+    mountHandlers(zr, controller._handlers);
+    controller._brushType = brushOption.brushType;
+    controller._brushOption = zrUtil2.merge(zrUtil2.clone(DEFAULT_BRUSH_OPT2), brushOption, true);
+  }
+  function doDisableBrush(controller) {
+    var zr = controller._zr;
+    interactionMutex2.release(zr, MUTEX_RESOURCE_KEY2, controller._uid);
+    unmountHandlers(zr, controller._handlers);
+    controller._brushType = controller._brushOption = null;
+  }
+  function mountHandlers(zr, handlers2) {
+    each2(handlers2, function(handler, eventName) {
+      zr.on(eventName, handler);
+    });
+  }
+  function unmountHandlers(zr, handlers2) {
+    each2(handlers2, function(handler, eventName) {
+      zr.off(eventName, handler);
+    });
+  }
+  function createCover2(controller, brushOption) {
+    var cover = coverRenderers2[brushOption.brushType].createCover(controller, brushOption);
+    cover.__brushOption = brushOption;
+    updateZ2(cover, brushOption);
+    controller.group.add(cover);
+    return cover;
+  }
+  function endCreating2(controller, creatingCover) {
+    var coverRenderer = getCoverRenderer2(creatingCover);
+    if (coverRenderer.endCreating) {
+      coverRenderer.endCreating(controller, creatingCover);
+      updateZ2(creatingCover, creatingCover.__brushOption);
+    }
+    return creatingCover;
+  }
+  function updateCoverShape2(controller, cover) {
+    var brushOption = cover.__brushOption;
+    getCoverRenderer2(cover).updateCoverShape(controller, cover, brushOption.range, brushOption);
+  }
+  function updateZ2(cover, brushOption) {
+    var z2 = brushOption.z;
+    z2 == null && (z2 = COVER_Z2);
+    cover.traverse(function(el) {
+      el.z = z2;
+      el.z2 = z2;
+    });
+  }
+  function updateCoverAfterCreation2(controller, cover) {
+    getCoverRenderer2(cover).updateCommon(controller, cover);
+    updateCoverShape2(controller, cover);
+  }
+  function getCoverRenderer2(cover) {
+    return coverRenderers2[cover.__brushOption.brushType];
+  }
+  function getPanelByPoint2(controller, e2, localCursorPoint) {
+    var panels = controller._panels;
+    if (!panels) {
+      return true;
+    }
+    var panel;
+    var transform3 = controller._transform;
+    each2(panels, function(pn) {
+      pn.isTargetByCursor(e2, localCursorPoint, transform3) && (panel = pn);
+    });
+    return panel;
+  }
+  function getPanelByCover2(controller, cover) {
+    var panels = controller._panels;
+    if (!panels) {
+      return true;
+    }
+    var panelId = cover.__brushOption.panelId;
+    return panelId != null ? panels[panelId] : true;
+  }
+  function clearCovers2(controller) {
+    var covers = controller._covers;
+    var originalLength = covers.length;
+    each2(covers, function(cover) {
+      controller.group.remove(cover);
+    }, controller);
+    covers.length = 0;
+    return !!originalLength;
+  }
+  function trigger2(controller, opt) {
+    var areas = map2(controller._covers, function(cover) {
+      var brushOption = cover.__brushOption;
+      var range2 = zrUtil2.clone(brushOption.range);
+      return {
+        brushType: brushOption.brushType,
+        panelId: brushOption.panelId,
+        range: range2
+      };
+    });
+    controller.trigger("brush", areas, {
+      isEnd: !!opt.isEnd,
+      removeOnClick: !!opt.removeOnClick
+    });
+  }
+  function shouldShowCover2(controller) {
+    var track = controller._track;
+    if (!track.length) {
+      return false;
+    }
+    var p2 = track[track.length - 1];
+    var p1 = track[0];
+    var dx = p2[0] - p1[0];
+    var dy = p2[1] - p1[1];
+    var dist2 = mathPow2(dx * dx + dy * dy, 0.5);
+    return dist2 > UNSELECT_THRESHOLD2;
+  }
+  function getTrackEnds2(track) {
+    var tail = track.length - 1;
+    tail < 0 && (tail = 0);
+    return [track[0], track[tail]];
+  }
+  function createBaseRectCover2(doDrift, controller, brushOption, edgeNames) {
+    var cover = new graphic2.Group();
+    cover.add(new graphic2.Rect({
+      name: "main",
+      style: makeStyle2(brushOption),
+      silent: true,
+      draggable: true,
+      cursor: "move",
+      drift: curry2(doDrift, controller, cover, "nswe"),
+      ondragend: curry2(trigger2, controller, {
+        isEnd: true
+      })
+    }));
+    each2(edgeNames, function(name2) {
+      cover.add(new graphic2.Rect({
+        name: name2,
+        style: {
+          opacity: 0
+        },
+        draggable: true,
+        silent: true,
+        invisible: true,
+        drift: curry2(doDrift, controller, cover, name2),
+        ondragend: curry2(trigger2, controller, {
+          isEnd: true
+        })
+      }));
+    });
+    return cover;
+  }
+  function updateBaseRect2(controller, cover, localRange, brushOption) {
+    var lineWidth = brushOption.brushStyle.lineWidth || 0;
+    var handleSize = mathMax2(lineWidth, MIN_RESIZE_LINE_WIDTH2);
+    var x2 = localRange[0][0];
+    var y2 = localRange[1][0];
+    var xa = x2 - lineWidth / 2;
+    var ya = y2 - lineWidth / 2;
+    var x22 = localRange[0][1];
+    var y22 = localRange[1][1];
+    var x2a = x22 - handleSize + lineWidth / 2;
+    var y2a = y22 - handleSize + lineWidth / 2;
+    var width = x22 - x2;
+    var height = y22 - y2;
+    var widtha = width + lineWidth;
+    var heighta = height + lineWidth;
+    updateRectShape2(controller, cover, "main", x2, y2, width, height);
+    if (brushOption.transformable) {
+      updateRectShape2(controller, cover, "w", xa, ya, handleSize, heighta);
+      updateRectShape2(controller, cover, "e", x2a, ya, handleSize, heighta);
+      updateRectShape2(controller, cover, "n", xa, ya, widtha, handleSize);
+      updateRectShape2(controller, cover, "s", xa, y2a, widtha, handleSize);
+      updateRectShape2(controller, cover, "nw", xa, ya, handleSize, handleSize);
+      updateRectShape2(controller, cover, "ne", x2a, ya, handleSize, handleSize);
+      updateRectShape2(controller, cover, "sw", xa, y2a, handleSize, handleSize);
+      updateRectShape2(controller, cover, "se", x2a, y2a, handleSize, handleSize);
+    }
+  }
+  function updateCommon2(controller, cover) {
+    var brushOption = cover.__brushOption;
+    var transformable = brushOption.transformable;
+    var mainEl = cover.childAt(0);
+    mainEl.useStyle(makeStyle2(brushOption));
+    mainEl.attr({
+      silent: !transformable,
+      cursor: transformable ? "move" : "default"
+    });
+    each2(["w", "e", "n", "s", "se", "sw", "ne", "nw"], function(name2) {
+      var el = cover.childOfName(name2);
+      var globalDir = getGlobalDirection(controller, name2);
+      el && el.attr({
+        silent: !transformable,
+        invisible: !transformable,
+        cursor: transformable ? CURSOR_MAP2[globalDir] + "-resize" : null
+      });
+    });
+  }
+  function updateRectShape2(controller, cover, name2, x2, y2, w2, h3) {
+    var el = cover.childOfName(name2);
+    el && el.setShape(pointsToRect2(clipByPanel2(controller, cover, [[x2, y2], [x2 + w2, y2 + h3]])));
+  }
+  function makeStyle2(brushOption) {
+    return zrUtil2.defaults({
+      strokeNoScale: true
+    }, brushOption.brushStyle);
+  }
+  function formatRectRange2(x2, y2, x22, y22) {
+    var min3 = [mathMin2(x2, x22), mathMin2(y2, y22)];
+    var max3 = [mathMax2(x2, x22), mathMax2(y2, y22)];
+    return [
+      [min3[0], max3[0]],
+      // x range
+      [min3[1], max3[1]]
+      // y range
+    ];
+  }
+  function getTransform2(controller) {
+    return graphic2.getTransform(controller.group);
+  }
+  function getGlobalDirection(controller, localDirection) {
+    if (localDirection.length > 1) {
+      localDirection = localDirection.split("");
+      var globalDir = [getGlobalDirection(controller, localDirection[0]), getGlobalDirection(controller, localDirection[1])];
+      (globalDir[0] === "e" || globalDir[0] === "w") && globalDir.reverse();
+      return globalDir.join("");
+    } else {
+      var map3 = {
+        w: "left",
+        e: "right",
+        n: "top",
+        s: "bottom"
+      };
+      var inverseMap = {
+        left: "w",
+        right: "e",
+        top: "n",
+        bottom: "s"
+      };
+      var globalDir = graphic2.transformDirection(map3[localDirection], getTransform2(controller));
+      return inverseMap[globalDir];
+    }
+  }
+  function driftRect2(toRectRange, fromRectRange, controller, cover, name2, dx, dy, e2) {
+    var brushOption = cover.__brushOption;
+    var rectRange = toRectRange(brushOption.range);
+    var localDelta = toLocalDelta2(controller, dx, dy);
+    each2(name2.split(""), function(namePart) {
+      var ind = DIRECTION_MAP2[namePart];
+      rectRange[ind[0]][ind[1]] += localDelta[ind[0]];
+    });
+    brushOption.range = fromRectRange(formatRectRange2(rectRange[0][0], rectRange[1][0], rectRange[0][1], rectRange[1][1]));
+    updateCoverAfterCreation2(controller, cover);
+    trigger2(controller, {
+      isEnd: false
+    });
+  }
+  function driftPolygon2(controller, cover, dx, dy, e2) {
+    var range2 = cover.__brushOption.range;
+    var localDelta = toLocalDelta2(controller, dx, dy);
+    each2(range2, function(point) {
+      point[0] += localDelta[0];
+      point[1] += localDelta[1];
+    });
+    updateCoverAfterCreation2(controller, cover);
+    trigger2(controller, {
+      isEnd: false
+    });
+  }
+  function toLocalDelta2(controller, dx, dy) {
+    var thisGroup = controller.group;
+    var localD = thisGroup.transformCoordToLocal(dx, dy);
+    var localZero = thisGroup.transformCoordToLocal(0, 0);
+    return [localD[0] - localZero[0], localD[1] - localZero[1]];
+  }
+  function clipByPanel2(controller, cover, data2) {
+    var panel = getPanelByCover2(controller, cover);
+    return panel && panel !== true ? panel.clipPath(data2, controller._transform) : zrUtil2.clone(data2);
+  }
+  function pointsToRect2(points2) {
+    var xmin = mathMin2(points2[0][0], points2[1][0]);
+    var ymin = mathMin2(points2[0][1], points2[1][1]);
+    var xmax = mathMax2(points2[0][0], points2[1][0]);
+    var ymax = mathMax2(points2[0][1], points2[1][1]);
+    return {
+      x: xmin,
+      y: ymin,
+      width: xmax - xmin,
+      height: ymax - ymin
+    };
+  }
+  function resetCursor2(controller, e2, localCursorPoint) {
+    if (
+      // Check active
+      !controller._brushType || isOutsideZrArea2(controller, e2)
+    ) {
+      return;
+    }
+    var zr = controller._zr;
+    var covers = controller._covers;
+    var currPanel = getPanelByPoint2(controller, e2, localCursorPoint);
+    if (!controller._dragging) {
+      for (var i2 = 0; i2 < covers.length; i2++) {
+        var brushOption = covers[i2].__brushOption;
+        if (currPanel && (currPanel === true || brushOption.panelId === currPanel.panelId) && coverRenderers2[brushOption.brushType].contain(covers[i2], localCursorPoint[0], localCursorPoint[1])) {
+          return;
+        }
+      }
+    }
+    currPanel && zr.setCursorStyle("crosshair");
+  }
+  function preventDefault2(e2) {
+    var rawE = e2.event;
+    rawE.preventDefault && rawE.preventDefault();
+  }
+  function mainShapeContain2(cover, x2, y2) {
+    return cover.childOfName("main").contain(x2, y2);
+  }
+  function updateCoverByMouse2(controller, e2, localCursorPoint, isEnd) {
+    var creatingCover = controller._creatingCover;
+    var panel = controller._creatingPanel;
+    var thisBrushOption = controller._brushOption;
+    var eventParams;
+    controller._track.push(localCursorPoint.slice());
+    if (shouldShowCover2(controller) || creatingCover) {
+      if (panel && !creatingCover) {
+        thisBrushOption.brushMode === "single" && clearCovers2(controller);
+        var brushOption = zrUtil2.clone(thisBrushOption);
+        brushOption.brushType = determineBrushType2(brushOption.brushType, panel);
+        brushOption.panelId = panel === true ? null : panel.panelId;
+        creatingCover = controller._creatingCover = createCover2(controller, brushOption);
+        controller._covers.push(creatingCover);
+      }
+      if (creatingCover) {
+        var coverRenderer = coverRenderers2[determineBrushType2(controller._brushType, panel)];
+        var coverBrushOption = creatingCover.__brushOption;
+        coverBrushOption.range = coverRenderer.getCreatingRange(clipByPanel2(controller, creatingCover, controller._track));
+        if (isEnd) {
+          endCreating2(controller, creatingCover);
+          coverRenderer.updateCommon(controller, creatingCover);
+        }
+        updateCoverShape2(controller, creatingCover);
+        eventParams = {
+          isEnd
+        };
+      }
+    } else if (isEnd && thisBrushOption.brushMode === "single" && thisBrushOption.removeOnClick) {
+      if (getPanelByPoint2(controller, e2, localCursorPoint) && clearCovers2(controller)) {
+        eventParams = {
+          isEnd,
+          removeOnClick: true
+        };
+      }
+    }
+    return eventParams;
+  }
+  function determineBrushType2(brushType, panel) {
+    if (brushType === "auto") {
+      return panel.defaultBrushType;
+    }
+    return brushType;
+  }
+  var pointerHandlers2 = {
+    mousedown: function(e2) {
+      if (this._dragging) {
+        handleDragEnd2(this, e2);
+      } else if (!e2.target || !e2.target.draggable) {
+        preventDefault2(e2);
+        var localCursorPoint = this.group.transformCoordToLocal(e2.offsetX, e2.offsetY);
+        this._creatingCover = null;
+        var panel = this._creatingPanel = getPanelByPoint2(this, e2, localCursorPoint);
+        if (panel) {
+          this._dragging = true;
+          this._track = [localCursorPoint.slice()];
+        }
+      }
+    },
+    mousemove: function(e2) {
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      var localCursorPoint = this.group.transformCoordToLocal(x2, y2);
+      resetCursor2(this, e2, localCursorPoint);
+      if (this._dragging) {
+        preventDefault2(e2);
+        var eventParams = updateCoverByMouse2(this, e2, localCursorPoint, false);
+        eventParams && trigger2(this, eventParams);
+      }
+    },
+    mouseup: function(e2) {
+      handleDragEnd2(this, e2);
+    }
+  };
+  function handleDragEnd2(controller, e2) {
+    if (controller._dragging) {
+      preventDefault2(e2);
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      var localCursorPoint = controller.group.transformCoordToLocal(x2, y2);
+      var eventParams = updateCoverByMouse2(controller, e2, localCursorPoint, true);
+      controller._dragging = false;
+      controller._track = [];
+      controller._creatingCover = null;
+      eventParams && trigger2(controller, eventParams);
+    }
+  }
+  function isOutsideZrArea2(controller, x2, y2) {
+    var zr = controller._zr;
+    return x2 < 0 || x2 > zr.getWidth() || y2 < 0 || y2 > zr.getHeight();
+  }
+  var coverRenderers2 = {
+    lineX: getLineRenderer2(0),
+    lineY: getLineRenderer2(1),
+    rect: {
+      createCover: function(controller, brushOption) {
+        return createBaseRectCover2(curry2(driftRect2, function(range2) {
+          return range2;
+        }, function(range2) {
+          return range2;
+        }), controller, brushOption, ["w", "e", "n", "s", "se", "sw", "ne", "nw"]);
+      },
+      getCreatingRange: function(localTrack) {
+        var ends = getTrackEnds2(localTrack);
+        return formatRectRange2(ends[1][0], ends[1][1], ends[0][0], ends[0][1]);
+      },
+      updateCoverShape: function(controller, cover, localRange, brushOption) {
+        updateBaseRect2(controller, cover, localRange, brushOption);
+      },
+      updateCommon: updateCommon2,
+      contain: mainShapeContain2
+    },
+    polygon: {
+      createCover: function(controller, brushOption) {
+        var cover = new graphic2.Group();
+        cover.add(new graphic2.Polyline({
+          name: "main",
+          style: makeStyle2(brushOption),
+          silent: true
+        }));
+        return cover;
+      },
+      getCreatingRange: function(localTrack) {
+        return localTrack;
+      },
+      endCreating: function(controller, cover) {
+        cover.remove(cover.childAt(0));
+        cover.add(new graphic2.Polygon({
+          name: "main",
+          draggable: true,
+          drift: curry2(driftPolygon2, controller, cover),
+          ondragend: curry2(trigger2, controller, {
+            isEnd: true
+          })
+        }));
+      },
+      updateCoverShape: function(controller, cover, localRange, brushOption) {
+        cover.childAt(0).setShape({
+          points: clipByPanel2(controller, cover, localRange)
+        });
+      },
+      updateCommon: updateCommon2,
+      contain: mainShapeContain2
+    }
+  };
+  function getLineRenderer2(xyIndex) {
+    return {
+      createCover: function(controller, brushOption) {
+        return createBaseRectCover2(curry2(driftRect2, function(range2) {
+          var rectRange = [range2, [0, 100]];
+          xyIndex && rectRange.reverse();
+          return rectRange;
+        }, function(rectRange) {
+          return rectRange[xyIndex];
+        }), controller, brushOption, [["w", "e"], ["n", "s"]][xyIndex]);
+      },
+      getCreatingRange: function(localTrack) {
+        var ends = getTrackEnds2(localTrack);
+        var min3 = mathMin2(ends[0][xyIndex], ends[1][xyIndex]);
+        var max3 = mathMax2(ends[0][xyIndex], ends[1][xyIndex]);
+        return [min3, max3];
+      },
+      updateCoverShape: function(controller, cover, localRange, brushOption) {
+        var otherExtent;
+        var panel = getPanelByCover2(controller, cover);
+        if (panel !== true && panel.getLinearBrushOtherExtent) {
+          otherExtent = panel.getLinearBrushOtherExtent(xyIndex, controller._transform);
+        } else {
+          var zr = controller._zr;
+          otherExtent = [0, [zr.getWidth(), zr.getHeight()][1 - xyIndex]];
+        }
+        var rectRange = [localRange, otherExtent];
+        xyIndex && rectRange.reverse();
+        updateBaseRect2(controller, cover, rectRange, brushOption);
+      },
+      updateCommon: updateCommon2,
+      contain: mainShapeContain2
+    };
+  }
+  var _default68 = BrushController2;
+  BrushController_1 = _default68;
+  return BrushController_1;
+}
+var brushHelper = {};
+var hasRequiredBrushHelper;
+function requireBrushHelper() {
+  if (hasRequiredBrushHelper)
+    return brushHelper;
+  hasRequiredBrushHelper = 1;
+  var BoundingRect2 = BoundingRect_1;
+  var _cursorHelper = requireCursorHelper();
+  var onIrrelevantElement2 = _cursorHelper.onIrrelevantElement;
+  var graphicUtil2 = graphic$6;
+  function makeRectPanelClipPath2(rect) {
+    rect = normalizeRect2(rect);
+    return function(localPoints, transform3) {
+      return graphicUtil2.clipPointsByRect(localPoints, rect);
+    };
+  }
+  function makeLinearBrushOtherExtent2(rect, specifiedXYIndex) {
+    rect = normalizeRect2(rect);
+    return function(xyIndex) {
+      var idx = specifiedXYIndex != null ? specifiedXYIndex : xyIndex;
+      var brushWidth = idx ? rect.width : rect.height;
+      var base2 = idx ? rect.x : rect.y;
+      return [base2, base2 + (brushWidth || 0)];
+    };
+  }
+  function makeRectIsTargetByCursor2(rect, api2, targetModel) {
+    rect = normalizeRect2(rect);
+    return function(e2, localCursorPoint, transform3) {
+      return rect.contain(localCursorPoint[0], localCursorPoint[1]) && !onIrrelevantElement2(e2, api2, targetModel);
+    };
+  }
+  function normalizeRect2(rect) {
+    return BoundingRect2.create(rect);
+  }
+  brushHelper.makeRectPanelClipPath = makeRectPanelClipPath2;
+  brushHelper.makeLinearBrushOtherExtent = makeLinearBrushOtherExtent2;
+  brushHelper.makeRectIsTargetByCursor = makeRectIsTargetByCursor2;
+  return brushHelper;
+}
+var ParallelAxisView$2;
+var hasRequiredParallelAxisView;
+function requireParallelAxisView() {
+  if (hasRequiredParallelAxisView)
+    return ParallelAxisView$2;
+  hasRequiredParallelAxisView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var AxisBuilder2 = requireAxisBuilder();
+  var BrushController2 = requireBrushController();
+  var brushHelper2 = requireBrushHelper();
+  var graphic2 = graphic$6;
+  var elementList2 = ["axisLine", "axisTickLabel", "axisName"];
+  var AxisView2 = echarts2.extendComponentView({
+    type: "parallelAxis",
+    /**
+     * @override
+     */
+    init: function(ecModel, api2) {
+      AxisView2.superApply(this, "init", arguments);
+      (this._brushController = new BrushController2(api2.getZr())).on("brush", zrUtil2.bind(this._onBrush, this));
+    },
+    /**
+     * @override
+     */
+    render: function(axisModel, ecModel, api2, payload) {
+      if (fromAxisAreaSelect2(axisModel, ecModel, payload)) {
+        return;
+      }
+      this.axisModel = axisModel;
+      this.api = api2;
+      this.group.removeAll();
+      var oldAxisGroup = this._axisGroup;
+      this._axisGroup = new graphic2.Group();
+      this.group.add(this._axisGroup);
+      if (!axisModel.get("show")) {
+        return;
+      }
+      var coordSysModel = getCoordSysModel2(axisModel, ecModel);
+      var coordSys = coordSysModel.coordinateSystem;
+      var areaSelectStyle = axisModel.getAreaSelectStyle();
+      var areaWidth = areaSelectStyle.width;
+      var dim = axisModel.axis.dim;
+      var axisLayout = coordSys.getAxisLayout(dim);
+      var builderOpt = zrUtil2.extend({
+        strokeContainThreshold: areaWidth
+      }, axisLayout);
+      var axisBuilder = new AxisBuilder2(axisModel, builderOpt);
+      zrUtil2.each(elementList2, axisBuilder.add, axisBuilder);
+      this._axisGroup.add(axisBuilder.getGroup());
+      this._refreshBrushController(builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api2);
+      var animationModel = payload && payload.animation === false ? null : axisModel;
+      graphic2.groupTransition(oldAxisGroup, this._axisGroup, animationModel);
+    },
+    // /**
+    //  * @override
+    //  */
+    // updateVisual: function (axisModel, ecModel, api, payload) {
+    //     this._brushController && this._brushController
+    //         .updateCovers(getCoverInfoList(axisModel));
+    // },
+    _refreshBrushController: function(builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api2) {
+      var extent3 = axisModel.axis.getExtent();
+      var extentLen = extent3[1] - extent3[0];
+      var extra = Math.min(30, Math.abs(extentLen) * 0.1);
+      var rect = graphic2.BoundingRect.create({
+        x: extent3[0],
+        y: -areaWidth / 2,
+        width: extentLen,
+        height: areaWidth
+      });
+      rect.x -= extra;
+      rect.width += 2 * extra;
+      this._brushController.mount({
+        enableGlobalPan: true,
+        rotation: builderOpt.rotation,
+        position: builderOpt.position
+      }).setPanels([{
+        panelId: "pl",
+        clipPath: brushHelper2.makeRectPanelClipPath(rect),
+        isTargetByCursor: brushHelper2.makeRectIsTargetByCursor(rect, api2, coordSysModel),
+        getLinearBrushOtherExtent: brushHelper2.makeLinearBrushOtherExtent(rect, 0)
+      }]).enableBrush({
+        brushType: "lineX",
+        brushStyle: areaSelectStyle,
+        removeOnClick: true
+      }).updateCovers(getCoverInfoList2(axisModel));
+    },
+    _onBrush: function(coverInfoList, opt) {
+      var axisModel = this.axisModel;
+      var axis2 = axisModel.axis;
+      var intervals = zrUtil2.map(coverInfoList, function(coverInfo) {
+        return [axis2.coordToData(coverInfo.range[0], true), axis2.coordToData(coverInfo.range[1], true)];
+      });
+      if (!axisModel.option.realtime === opt.isEnd || opt.removeOnClick) {
+        this.api.dispatchAction({
+          type: "axisAreaSelect",
+          parallelAxisId: axisModel.id,
+          intervals
+        });
+      }
+    },
+    /**
+     * @override
+     */
+    dispose: function() {
+      this._brushController.dispose();
+    }
+  });
+  function fromAxisAreaSelect2(axisModel, ecModel, payload) {
+    return payload && payload.type === "axisAreaSelect" && ecModel.findComponents({
+      mainType: "parallelAxis",
+      query: payload
+    })[0] === axisModel;
+  }
+  function getCoverInfoList2(axisModel) {
+    var axis2 = axisModel.axis;
+    return zrUtil2.map(axisModel.activeIntervals, function(interval) {
+      return {
+        brushType: "lineX",
+        panelId: "pl",
+        range: [axis2.dataToCoord(interval[0], true), axis2.dataToCoord(interval[1], true)]
+      };
+    });
+  }
+  function getCoordSysModel2(axisModel, ecModel) {
+    return ecModel.getComponent("parallel", axisModel.get("parallelIndex"));
+  }
+  var _default68 = AxisView2;
+  ParallelAxisView$2 = _default68;
+  return ParallelAxisView$2;
+}
+var hasRequiredParallelAxis;
+function requireParallelAxis() {
+  if (hasRequiredParallelAxis)
+    return parallelAxis;
+  hasRequiredParallelAxis = 1;
+  requireParallelCreator();
+  requireParallelAxisAction();
+  requireParallelAxisView();
+  return parallelAxis;
+}
+var hasRequiredParallel$1;
+function requireParallel$1() {
+  if (hasRequiredParallel$1)
+    return parallel;
+  hasRequiredParallel$1 = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var throttleUtil = throttle$3;
+  var parallelPreprocessor2 = requireParallelPreprocessor();
+  requireParallelCreator();
+  requireParallelModel();
+  requireParallelAxis();
+  var CLICK_THRESHOLD2 = 5;
+  echarts2.extendComponentView({
+    type: "parallel",
+    render: function(parallelModel, ecModel, api2) {
+      this._model = parallelModel;
+      this._api = api2;
+      if (!this._handlers) {
+        this._handlers = {};
+        zrUtil2.each(handlers2, function(handler, eventName) {
+          api2.getZr().on(eventName, this._handlers[eventName] = zrUtil2.bind(handler, this));
+        }, this);
+      }
+      throttleUtil.createOrUpdate(this, "_throttledDispatchExpand", parallelModel.get("axisExpandRate"), "fixRate");
+    },
+    dispose: function(ecModel, api2) {
+      zrUtil2.each(this._handlers, function(handler, eventName) {
+        api2.getZr().off(eventName, handler);
+      });
+      this._handlers = null;
+    },
+    /**
+     * @param {Object} [opt] If null, cancle the last action triggering for debounce.
+     */
+    _throttledDispatchExpand: function(opt) {
+      this._dispatchExpand(opt);
+    },
+    _dispatchExpand: function(opt) {
+      opt && this._api.dispatchAction(zrUtil2.extend({
+        type: "parallelAxisExpand"
+      }, opt));
+    }
+  });
+  var handlers2 = {
+    mousedown: function(e2) {
+      if (checkTrigger2(this, "click")) {
+        this._mouseDownPoint = [e2.offsetX, e2.offsetY];
+      }
+    },
+    mouseup: function(e2) {
+      var mouseDownPoint = this._mouseDownPoint;
+      if (checkTrigger2(this, "click") && mouseDownPoint) {
+        var point = [e2.offsetX, e2.offsetY];
+        var dist2 = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2);
+        if (dist2 > CLICK_THRESHOLD2) {
+          return;
+        }
+        var result2 = this._model.coordinateSystem.getSlidedAxisExpandWindow([e2.offsetX, e2.offsetY]);
+        result2.behavior !== "none" && this._dispatchExpand({
+          axisExpandWindow: result2.axisExpandWindow
+        });
+      }
+      this._mouseDownPoint = null;
+    },
+    mousemove: function(e2) {
+      if (this._mouseDownPoint || !checkTrigger2(this, "mousemove")) {
+        return;
+      }
+      var model2 = this._model;
+      var result2 = model2.coordinateSystem.getSlidedAxisExpandWindow([e2.offsetX, e2.offsetY]);
+      var behavior = result2.behavior;
+      behavior === "jump" && this._throttledDispatchExpand.debounceNextCall(model2.get("axisExpandDebounce"));
+      this._throttledDispatchExpand(behavior === "none" ? null : {
+        axisExpandWindow: result2.axisExpandWindow,
+        // Jumping uses animation, and sliding suppresses animation.
+        animation: behavior === "jump" ? null : false
+      });
+    }
+  };
+  function checkTrigger2(view, triggerOn) {
+    var model2 = view._model;
+    return model2.get("axisExpandable") && model2.get("axisExpandTriggerOn") === triggerOn;
+  }
+  echarts2.registerPreprocessor(parallelPreprocessor2);
+  return parallel;
+}
+var ParallelSeries;
+var hasRequiredParallelSeries;
+function requireParallelSeries() {
+  if (hasRequiredParallelSeries)
+    return ParallelSeries;
+  hasRequiredParallelSeries = 1;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  var createHashMap2 = _util2.createHashMap;
+  var SeriesModel2 = Series;
+  var createListFromArray = requireCreateListFromArray();
+  var _default68 = SeriesModel2.extend({
+    type: "series.parallel",
+    dependencies: ["parallel"],
+    visualColorAccessPath: "lineStyle.color",
+    getInitialData: function(option, ecModel) {
+      var source2 = this.getSource();
+      setEncodeAndDimensions(source2, this);
+      return createListFromArray(source2, this);
+    },
+    /**
+     * User can get data raw indices on 'axisAreaSelected' event received.
+     *
+     * @public
+     * @param {string} activeState 'active' or 'inactive' or 'normal'
+     * @return {Array.<number>} Raw indices
+     */
+    getRawIndicesByActiveState: function(activeState) {
+      var coordSys = this.coordinateSystem;
+      var data2 = this.getData();
+      var indices = [];
+      coordSys.eachActiveState(data2, function(theActiveState, dataIndex) {
+        if (activeState === theActiveState) {
+          indices.push(data2.getRawIndex(dataIndex));
+        }
+      });
+      return indices;
+    },
+    defaultOption: {
+      zlevel: 0,
+      // 一级层叠
+      z: 2,
+      // 二级层叠
+      coordinateSystem: "parallel",
+      parallelIndex: 0,
+      label: {
+        show: false
+      },
+      inactiveOpacity: 0.05,
+      activeOpacity: 1,
+      lineStyle: {
+        width: 1,
+        opacity: 0.45,
+        type: "solid"
+      },
+      emphasis: {
+        label: {
+          show: false
+        }
+      },
+      progressive: 500,
+      smooth: false,
+      // true | false | number
+      animationEasing: "linear"
+    }
+  });
+  function setEncodeAndDimensions(source2, seriesModel) {
+    if (source2.encodeDefine) {
+      return;
+    }
+    var parallelModel = seriesModel.ecModel.getComponent("parallel", seriesModel.get("parallelIndex"));
+    if (!parallelModel) {
+      return;
+    }
+    var encodeDefine = source2.encodeDefine = createHashMap2();
+    each2(parallelModel.dimensions, function(axisDim) {
+      var dataDimIndex = convertDimNameToNumber2(axisDim);
+      encodeDefine.set(axisDim, dataDimIndex);
+    });
+  }
+  function convertDimNameToNumber2(dimName) {
+    return +dimName.replace("dim", "");
+  }
+  ParallelSeries = _default68;
+  return ParallelSeries;
+}
+var ParallelView_1;
+var hasRequiredParallelView;
+function requireParallelView() {
+  if (hasRequiredParallelView)
+    return ParallelView_1;
+  hasRequiredParallelView = 1;
+  var graphic2 = graphic$6;
+  var ChartView2 = Chart_1;
+  var DEFAULT_SMOOTH2 = 0.3;
+  var ParallelView2 = ChartView2.extend({
+    type: "parallel",
+    init: function() {
+      this._dataGroup = new graphic2.Group();
+      this.group.add(this._dataGroup);
+      this._data;
+      this._initialized;
+    },
+    /**
+     * @override
+     */
+    render: function(seriesModel, ecModel, api2, payload) {
+      var dataGroup = this._dataGroup;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var coordSys = seriesModel.coordinateSystem;
+      var dimensions = coordSys.dimensions;
+      var seriesScope = makeSeriesScope2(seriesModel);
+      data2.diff(oldData).add(add2).update(update).remove(remove2).execute();
+      function add2(newDataIndex) {
+        var line2 = addEl2(data2, dataGroup, newDataIndex, dimensions, coordSys);
+        updateElCommon2(line2, data2, newDataIndex, seriesScope);
+      }
+      function update(newDataIndex, oldDataIndex) {
+        var line2 = oldData.getItemGraphicEl(oldDataIndex);
+        var points2 = createLinePoints2(data2, newDataIndex, dimensions, coordSys);
+        data2.setItemGraphicEl(newDataIndex, line2);
+        var animationModel = payload && payload.animation === false ? null : seriesModel;
+        graphic2.updateProps(line2, {
+          shape: {
+            points: points2
+          }
+        }, animationModel, newDataIndex);
+        updateElCommon2(line2, data2, newDataIndex, seriesScope);
+      }
+      function remove2(oldDataIndex) {
+        var line2 = oldData.getItemGraphicEl(oldDataIndex);
+        dataGroup.remove(line2);
+      }
+      if (!this._initialized) {
+        this._initialized = true;
+        var clipPath = createGridClipShape2(coordSys, seriesModel, function() {
+          setTimeout(function() {
+            dataGroup.removeClipPath();
+          });
+        });
+        dataGroup.setClipPath(clipPath);
+      }
+      this._data = data2;
+    },
+    incrementalPrepareRender: function(seriesModel, ecModel, api2) {
+      this._initialized = true;
+      this._data = null;
+      this._dataGroup.removeAll();
+    },
+    incrementalRender: function(taskParams, seriesModel, ecModel) {
+      var data2 = seriesModel.getData();
+      var coordSys = seriesModel.coordinateSystem;
+      var dimensions = coordSys.dimensions;
+      var seriesScope = makeSeriesScope2(seriesModel);
+      for (var dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {
+        var line2 = addEl2(data2, this._dataGroup, dataIndex, dimensions, coordSys);
+        line2.incremental = true;
+        updateElCommon2(line2, data2, dataIndex, seriesScope);
+      }
+    },
+    dispose: function() {
+    },
+    // _renderForProgressive: function (seriesModel) {
+    //     var dataGroup = this._dataGroup;
+    //     var data = seriesModel.getData();
+    //     var oldData = this._data;
+    //     var coordSys = seriesModel.coordinateSystem;
+    //     var dimensions = coordSys.dimensions;
+    //     var option = seriesModel.option;
+    //     var progressive = option.progressive;
+    //     var smooth = option.smooth ? SMOOTH : null;
+    //     // In progressive animation is disabled, so use simple data diff,
+    //     // which effects performance less.
+    //     // (Typically performance for data with length 7000+ like:
+    //     // simpleDiff: 60ms, addEl: 184ms,
+    //     // in RMBP 2.4GHz intel i7, OSX 10.9 chrome 50.0.2661.102 (64-bit))
+    //     if (simpleDiff(oldData, data, dimensions)) {
+    //         dataGroup.removeAll();
+    //         data.each(function (dataIndex) {
+    //             addEl(data, dataGroup, dataIndex, dimensions, coordSys);
+    //         });
+    //     }
+    //     updateElCommon(data, progressive, smooth);
+    //     // Consider switch between progressive and not.
+    //     data.__plProgressive = true;
+    //     this._data = data;
+    // },
+    /**
+     * @override
+     */
+    remove: function() {
+      this._dataGroup && this._dataGroup.removeAll();
+      this._data = null;
+    }
+  });
+  function createGridClipShape2(coordSys, seriesModel, cb) {
+    var parallelModel = coordSys.model;
+    var rect = coordSys.getRect();
+    var rectEl = new graphic2.Rect({
+      shape: {
+        x: rect.x,
+        y: rect.y,
+        width: rect.width,
+        height: rect.height
+      }
+    });
+    var dim = parallelModel.get("layout") === "horizontal" ? "width" : "height";
+    rectEl.setShape(dim, 0);
+    graphic2.initProps(rectEl, {
+      shape: {
+        width: rect.width,
+        height: rect.height
+      }
+    }, seriesModel, cb);
+    return rectEl;
+  }
+  function createLinePoints2(data2, dataIndex, dimensions, coordSys) {
+    var points2 = [];
+    for (var i2 = 0; i2 < dimensions.length; i2++) {
+      var dimName = dimensions[i2];
+      var value = data2.get(data2.mapDimension(dimName), dataIndex);
+      if (!isEmptyValue2(value, coordSys.getAxis(dimName).type)) {
+        points2.push(coordSys.dataToPoint(value, dimName));
+      }
+    }
+    return points2;
+  }
+  function addEl2(data2, dataGroup, dataIndex, dimensions, coordSys) {
+    var points2 = createLinePoints2(data2, dataIndex, dimensions, coordSys);
+    var line2 = new graphic2.Polyline({
+      shape: {
+        points: points2
+      },
+      silent: true,
+      z2: 10
+    });
+    dataGroup.add(line2);
+    data2.setItemGraphicEl(dataIndex, line2);
+    return line2;
+  }
+  function makeSeriesScope2(seriesModel) {
+    var smooth = seriesModel.get("smooth", true);
+    smooth === true && (smooth = DEFAULT_SMOOTH2);
+    return {
+      lineStyle: seriesModel.getModel("lineStyle").getLineStyle(),
+      smooth: smooth != null ? smooth : DEFAULT_SMOOTH2
+    };
+  }
+  function updateElCommon2(el, data2, dataIndex, seriesScope) {
+    var lineStyle2 = seriesScope.lineStyle;
+    if (data2.hasItemOption) {
+      var lineStyleModel = data2.getItemModel(dataIndex).getModel("lineStyle");
+      lineStyle2 = lineStyleModel.getLineStyle();
+    }
+    el.useStyle(lineStyle2);
+    var elStyle = el.style;
+    elStyle.fill = null;
+    elStyle.stroke = data2.getItemVisual(dataIndex, "color");
+    elStyle.opacity = data2.getItemVisual(dataIndex, "opacity");
+    seriesScope.smooth && (el.shape.smooth = seriesScope.smooth);
+  }
+  function isEmptyValue2(val, axisType) {
+    return axisType === "category" ? val == null : val == null || isNaN(val);
+  }
+  var _default68 = ParallelView2;
+  ParallelView_1 = _default68;
+  return ParallelView_1;
+}
+var parallelVisual$2;
+var hasRequiredParallelVisual;
+function requireParallelVisual() {
+  if (hasRequiredParallelVisual)
+    return parallelVisual$2;
+  hasRequiredParallelVisual = 1;
+  var opacityAccessPath2 = ["lineStyle", "normal", "opacity"];
+  var _default68 = {
+    seriesType: "parallel",
+    reset: function(seriesModel, ecModel, api2) {
+      var itemStyleModel = seriesModel.getModel("itemStyle");
+      var lineStyleModel = seriesModel.getModel("lineStyle");
+      var globalColors = ecModel.get("color");
+      var color2 = lineStyleModel.get("color") || itemStyleModel.get("color") || globalColors[seriesModel.seriesIndex % globalColors.length];
+      var inactiveOpacity = seriesModel.get("inactiveOpacity");
+      var activeOpacity = seriesModel.get("activeOpacity");
+      var lineStyle2 = seriesModel.getModel("lineStyle").getLineStyle();
+      var coordSys = seriesModel.coordinateSystem;
+      var data2 = seriesModel.getData();
+      var opacityMap = {
+        normal: lineStyle2.opacity,
+        active: activeOpacity,
+        inactive: inactiveOpacity
+      };
+      data2.setVisual("color", color2);
+      function progress(params2, data3) {
+        coordSys.eachActiveState(data3, function(activeState, dataIndex) {
+          var opacity = opacityMap[activeState];
+          if (activeState === "normal" && data3.hasItemOption) {
+            var itemOpacity = data3.getItemModel(dataIndex).get(opacityAccessPath2, true);
+            itemOpacity != null && (opacity = itemOpacity);
+          }
+          data3.setItemVisual(dataIndex, "opacity", opacity);
+        }, params2.start, params2.end);
+      }
+      return {
+        progress
+      };
+    }
+  };
+  parallelVisual$2 = _default68;
+  return parallelVisual$2;
+}
+var hasRequiredParallel;
+function requireParallel() {
+  if (hasRequiredParallel)
+    return parallel$1;
+  hasRequiredParallel = 1;
+  var echarts2 = echarts$1;
+  requireParallel$1();
+  requireParallelSeries();
+  requireParallelView();
+  var parallelVisual2 = requireParallelVisual();
+  echarts2.registerVisual(parallelVisual2);
+  return parallel$1;
+}
+var sankey = {};
+var SankeySeries_1;
+var hasRequiredSankeySeries;
+function requireSankeySeries() {
+  if (hasRequiredSankeySeries)
+    return SankeySeries_1;
+  hasRequiredSankeySeries = 1;
+  var SeriesModel2 = Series;
+  var createGraphFromNodeEdge2 = requireCreateGraphFromNodeEdge();
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var Model2 = Model_1;
+  var SankeySeries = SeriesModel2.extend({
+    type: "series.sankey",
+    layoutInfo: null,
+    levelModels: null,
+    /**
+     * Init a graph data structure from data in option series
+     *
+     * @param  {Object} option  the object used to config echarts view
+     * @return {module:echarts/data/List} storage initial data
+     */
+    getInitialData: function(option, ecModel) {
+      var links = option.edges || option.links;
+      var nodes = option.data || option.nodes;
+      var levels = option.levels;
+      var levelModels = this.levelModels = {};
+      for (var i2 = 0; i2 < levels.length; i2++) {
+        if (levels[i2].depth != null && levels[i2].depth >= 0) {
+          levelModels[levels[i2].depth] = new Model2(levels[i2], this, ecModel);
+        }
+      }
+      if (nodes && links) {
+        var graph2 = createGraphFromNodeEdge2(nodes, links, this, true, beforeLink);
+        return graph2.data;
+      }
+      function beforeLink(nodeData, edgeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          model2.customizeGetParent(function(path2) {
+            var parentModel = this.parentModel;
+            var nodeDepth = parentModel.getData().getItemLayout(idx).depth;
+            var levelModel = parentModel.levelModels[nodeDepth];
+            return levelModel || this.parentModel;
+          });
+          return model2;
+        });
+        edgeData.wrapMethod("getItemModel", function(model2, idx) {
+          model2.customizeGetParent(function(path2) {
+            var parentModel = this.parentModel;
+            var edge = parentModel.getGraph().getEdgeByIndex(idx);
+            var depth = edge.node1.getLayout().depth;
+            var levelModel = parentModel.levelModels[depth];
+            return levelModel || this.parentModel;
+          });
+          return model2;
+        });
+      }
+    },
+    setNodePosition: function(dataIndex, localPosition) {
+      var dataItem = this.option.data[dataIndex];
+      dataItem.localX = localPosition[0];
+      dataItem.localY = localPosition[1];
+    },
+    /**
+     * Return the graphic data structure
+     *
+     * @return {module:echarts/data/Graph} graphic data structure
+     */
+    getGraph: function() {
+      return this.getData().graph;
+    },
+    /**
+     * Get edge data of graphic data structure
+     *
+     * @return {module:echarts/data/List} data structure of list
+     */
+    getEdgeData: function() {
+      return this.getGraph().edgeData;
+    },
+    /**
+     * @override
+     */
+    formatTooltip: function(dataIndex, multipleSeries, dataType) {
+      if (dataType === "edge") {
+        var params2 = this.getDataParams(dataIndex, dataType);
+        var rawDataOpt = params2.data;
+        var html = rawDataOpt.source + " -- " + rawDataOpt.target;
+        if (params2.value) {
+          html += " : " + params2.value;
+        }
+        return encodeHTML2(html);
+      } else if (dataType === "node") {
+        var node = this.getGraph().getNodeByIndex(dataIndex);
+        var value = node.getLayout().value;
+        var name2 = this.getDataParams(dataIndex, dataType).data.name;
+        if (value) {
+          var html = name2 + " : " + value;
+        }
+        return encodeHTML2(html);
+      }
+      return SankeySeries.superCall(this, "formatTooltip", dataIndex, multipleSeries);
+    },
+    optionUpdated: function() {
+      var option = this.option;
+      if (option.focusNodeAdjacency === true) {
+        option.focusNodeAdjacency = "allEdges";
+      }
+    },
+    // Override Series.getDataParams()
+    getDataParams: function(dataIndex, dataType) {
+      var params2 = SankeySeries.superCall(this, "getDataParams", dataIndex, dataType);
+      if (params2.value == null && dataType === "node") {
+        var node = this.getGraph().getNodeByIndex(dataIndex);
+        var nodeValue = node.getLayout().value;
+        params2.value = nodeValue;
+      }
+      return params2;
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "view",
+      layout: null,
+      // The position of the whole view
+      left: "5%",
+      top: "5%",
+      right: "20%",
+      bottom: "5%",
+      // Value can be 'vertical'
+      orient: "horizontal",
+      // The dx of the node
+      nodeWidth: 20,
+      // The vertical distance between two nodes
+      nodeGap: 8,
+      // Control if the node can move or not
+      draggable: true,
+      // Value can be 'inEdges', 'outEdges', 'allEdges', true (the same as 'allEdges').
+      focusNodeAdjacency: false,
+      // The number of iterations to change the position of the node
+      layoutIterations: 32,
+      label: {
+        show: true,
+        position: "right",
+        color: "#000",
+        fontSize: 12
+      },
+      levels: [],
+      // Value can be 'left' or 'right'
+      nodeAlign: "justify",
+      itemStyle: {
+        borderWidth: 1,
+        borderColor: "#333"
+      },
+      lineStyle: {
+        color: "#314656",
+        opacity: 0.2,
+        curveness: 0.5
+      },
+      emphasis: {
+        label: {
+          show: true
+        },
+        lineStyle: {
+          opacity: 0.5
+        }
+      },
+      animationEasing: "linear",
+      animationDuration: 1e3
+    }
+  });
+  var _default68 = SankeySeries;
+  SankeySeries_1 = _default68;
+  return SankeySeries_1;
+}
+var SankeyView$2;
+var hasRequiredSankeyView;
+function requireSankeyView() {
+  if (hasRequiredSankeyView)
+    return SankeyView$2;
+  hasRequiredSankeyView = 1;
+  var graphic2 = graphic$6;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var nodeOpacityPath = ["itemStyle", "opacity"];
+  var hoverNodeOpacityPath = ["emphasis", "itemStyle", "opacity"];
+  var lineOpacityPath = ["lineStyle", "opacity"];
+  var hoverLineOpacityPath = ["emphasis", "lineStyle", "opacity"];
+  function getItemOpacity(item, opacityPath) {
+    return item.getVisual("opacity") || item.getModel().get(opacityPath);
+  }
+  function fadeOutItem(item, opacityPath, opacityRatio) {
+    var el = item.getGraphicEl();
+    var opacity = getItemOpacity(item, opacityPath);
+    if (opacityRatio != null) {
+      opacity == null && (opacity = 1);
+      opacity *= opacityRatio;
+    }
+    el.downplay && el.downplay();
+    el.traverse(function(child) {
+      if (child.type !== "group") {
+        child.setStyle("opacity", opacity);
+      }
+    });
+  }
+  function fadeInItem(item, opacityPath) {
+    var opacity = getItemOpacity(item, opacityPath);
+    var el = item.getGraphicEl();
+    el.traverse(function(child) {
+      if (child.type !== "group") {
+        child.setStyle("opacity", opacity);
+      }
+    });
+    el.highlight && el.highlight();
+  }
+  var SankeyShape = graphic2.extendShape({
+    shape: {
+      x1: 0,
+      y1: 0,
+      x2: 0,
+      y2: 0,
+      cpx1: 0,
+      cpy1: 0,
+      cpx2: 0,
+      cpy2: 0,
+      extent: 0,
+      orient: ""
+    },
+    buildPath: function(ctx, shape) {
+      var extent3 = shape.extent;
+      ctx.moveTo(shape.x1, shape.y1);
+      ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);
+      if (shape.orient === "vertical") {
+        ctx.lineTo(shape.x2 + extent3, shape.y2);
+        ctx.bezierCurveTo(shape.cpx2 + extent3, shape.cpy2, shape.cpx1 + extent3, shape.cpy1, shape.x1 + extent3, shape.y1);
+      } else {
+        ctx.lineTo(shape.x2, shape.y2 + extent3);
+        ctx.bezierCurveTo(shape.cpx2, shape.cpy2 + extent3, shape.cpx1, shape.cpy1 + extent3, shape.x1, shape.y1 + extent3);
+      }
+      ctx.closePath();
+    },
+    highlight: function() {
+      this.trigger("emphasis");
+    },
+    downplay: function() {
+      this.trigger("normal");
+    }
+  });
+  var _default68 = echarts2.extendChartView({
+    type: "sankey",
+    /**
+     * @private
+     * @type {module:echarts/chart/sankey/SankeySeries}
+     */
+    _model: null,
+    /**
+     * @private
+     * @type {boolean}
+     */
+    _focusAdjacencyDisabled: false,
+    render: function(seriesModel, ecModel, api2) {
+      var sankeyView = this;
+      var graph2 = seriesModel.getGraph();
+      var group = this.group;
+      var layoutInfo = seriesModel.layoutInfo;
+      var width = layoutInfo.width;
+      var height = layoutInfo.height;
+      var nodeData = seriesModel.getData();
+      var edgeData = seriesModel.getData("edge");
+      var orient = seriesModel.get("orient");
+      this._model = seriesModel;
+      group.removeAll();
+      group.attr("position", [layoutInfo.x, layoutInfo.y]);
+      graph2.eachEdge(function(edge) {
+        var curve2 = new SankeyShape();
+        curve2.dataIndex = edge.dataIndex;
+        curve2.seriesIndex = seriesModel.seriesIndex;
+        curve2.dataType = "edge";
+        var lineStyleModel = edge.getModel("lineStyle");
+        var curvature = lineStyleModel.get("curveness");
+        var n1Layout = edge.node1.getLayout();
+        var node1Model = edge.node1.getModel();
+        var dragX1 = node1Model.get("localX");
+        var dragY1 = node1Model.get("localY");
+        var n2Layout = edge.node2.getLayout();
+        var node2Model = edge.node2.getModel();
+        var dragX2 = node2Model.get("localX");
+        var dragY2 = node2Model.get("localY");
+        var edgeLayout = edge.getLayout();
+        var x1;
+        var y1;
+        var x2;
+        var y2;
+        var cpx1;
+        var cpy1;
+        var cpx2;
+        var cpy2;
+        curve2.shape.extent = Math.max(1, edgeLayout.dy);
+        curve2.shape.orient = orient;
+        if (orient === "vertical") {
+          x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + edgeLayout.sy;
+          y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + n1Layout.dy;
+          x2 = (dragX2 != null ? dragX2 * width : n2Layout.x) + edgeLayout.ty;
+          y2 = dragY2 != null ? dragY2 * height : n2Layout.y;
+          cpx1 = x1;
+          cpy1 = y1 * (1 - curvature) + y2 * curvature;
+          cpx2 = x2;
+          cpy2 = y1 * curvature + y2 * (1 - curvature);
+        } else {
+          x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + n1Layout.dx;
+          y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + edgeLayout.sy;
+          x2 = dragX2 != null ? dragX2 * width : n2Layout.x;
+          y2 = (dragY2 != null ? dragY2 * height : n2Layout.y) + edgeLayout.ty;
+          cpx1 = x1 * (1 - curvature) + x2 * curvature;
+          cpy1 = y1;
+          cpx2 = x1 * curvature + x2 * (1 - curvature);
+          cpy2 = y2;
+        }
+        curve2.setShape({
+          x1,
+          y1,
+          x2,
+          y2,
+          cpx1,
+          cpy1,
+          cpx2,
+          cpy2
+        });
+        curve2.setStyle(lineStyleModel.getItemStyle());
+        switch (curve2.style.fill) {
+          case "source":
+            curve2.style.fill = edge.node1.getVisual("color");
+            break;
+          case "target":
+            curve2.style.fill = edge.node2.getVisual("color");
+            break;
+        }
+        graphic2.setHoverStyle(curve2, edge.getModel("emphasis.lineStyle").getItemStyle());
+        group.add(curve2);
+        edgeData.setItemGraphicEl(edge.dataIndex, curve2);
+      });
+      graph2.eachNode(function(node) {
+        var layout2 = node.getLayout();
+        var itemModel = node.getModel();
+        var dragX = itemModel.get("localX");
+        var dragY = itemModel.get("localY");
+        var labelModel = itemModel.getModel("label");
+        var labelHoverModel = itemModel.getModel("emphasis.label");
+        var rect = new graphic2.Rect({
+          shape: {
+            x: dragX != null ? dragX * width : layout2.x,
+            y: dragY != null ? dragY * height : layout2.y,
+            width: layout2.dx,
+            height: layout2.dy
+          },
+          style: itemModel.getModel("itemStyle").getItemStyle()
+        });
+        var hoverStyle = node.getModel("emphasis.itemStyle").getItemStyle();
+        graphic2.setLabelStyle(rect.style, hoverStyle, labelModel, labelHoverModel, {
+          labelFetcher: seriesModel,
+          labelDataIndex: node.dataIndex,
+          defaultText: node.id,
+          isRectText: true
+        });
+        rect.setStyle("fill", node.getVisual("color"));
+        graphic2.setHoverStyle(rect, hoverStyle);
+        group.add(rect);
+        nodeData.setItemGraphicEl(node.dataIndex, rect);
+        rect.dataType = "node";
+      });
+      nodeData.eachItemGraphicEl(function(el, dataIndex) {
+        var itemModel = nodeData.getItemModel(dataIndex);
+        if (itemModel.get("draggable")) {
+          el.drift = function(dx, dy) {
+            sankeyView._focusAdjacencyDisabled = true;
+            this.shape.x += dx;
+            this.shape.y += dy;
+            this.dirty();
+            api2.dispatchAction({
+              type: "dragNode",
+              seriesId: seriesModel.id,
+              dataIndex: nodeData.getRawIndex(dataIndex),
+              localX: this.shape.x / width,
+              localY: this.shape.y / height
+            });
+          };
+          el.ondragend = function() {
+            sankeyView._focusAdjacencyDisabled = false;
+          };
+          el.draggable = true;
+          el.cursor = "move";
+        }
+        el.highlight = function() {
+          this.trigger("emphasis");
+        };
+        el.downplay = function() {
+          this.trigger("normal");
+        };
+        el.focusNodeAdjHandler && el.off("mouseover", el.focusNodeAdjHandler);
+        el.unfocusNodeAdjHandler && el.off("mouseout", el.unfocusNodeAdjHandler);
+        if (itemModel.get("focusNodeAdjacency")) {
+          el.on("mouseover", el.focusNodeAdjHandler = function() {
+            if (!sankeyView._focusAdjacencyDisabled) {
+              sankeyView._clearTimer();
+              api2.dispatchAction({
+                type: "focusNodeAdjacency",
+                seriesId: seriesModel.id,
+                dataIndex: el.dataIndex
+              });
+            }
+          });
+          el.on("mouseout", el.unfocusNodeAdjHandler = function() {
+            if (!sankeyView._focusAdjacencyDisabled) {
+              sankeyView._dispatchUnfocus(api2);
+            }
+          });
+        }
+      });
+      edgeData.eachItemGraphicEl(function(el, dataIndex) {
+        var edgeModel = edgeData.getItemModel(dataIndex);
+        el.focusNodeAdjHandler && el.off("mouseover", el.focusNodeAdjHandler);
+        el.unfocusNodeAdjHandler && el.off("mouseout", el.unfocusNodeAdjHandler);
+        if (edgeModel.get("focusNodeAdjacency")) {
+          el.on("mouseover", el.focusNodeAdjHandler = function() {
+            if (!sankeyView._focusAdjacencyDisabled) {
+              sankeyView._clearTimer();
+              api2.dispatchAction({
+                type: "focusNodeAdjacency",
+                seriesId: seriesModel.id,
+                edgeDataIndex: el.dataIndex
+              });
+            }
+          });
+          el.on("mouseout", el.unfocusNodeAdjHandler = function() {
+            if (!sankeyView._focusAdjacencyDisabled) {
+              sankeyView._dispatchUnfocus(api2);
+            }
+          });
+        }
+      });
+      if (!this._data && seriesModel.get("animation")) {
+        group.setClipPath(createGridClipShape2(group.getBoundingRect(), seriesModel, function() {
+          group.removeClipPath();
+        }));
+      }
+      this._data = seriesModel.getData();
+    },
+    dispose: function() {
+      this._clearTimer();
+    },
+    _dispatchUnfocus: function(api2) {
+      var self2 = this;
+      this._clearTimer();
+      this._unfocusDelayTimer = setTimeout(function() {
+        self2._unfocusDelayTimer = null;
+        api2.dispatchAction({
+          type: "unfocusNodeAdjacency",
+          seriesId: self2._model.id
+        });
+      }, 500);
+    },
+    _clearTimer: function() {
+      if (this._unfocusDelayTimer) {
+        clearTimeout(this._unfocusDelayTimer);
+        this._unfocusDelayTimer = null;
+      }
+    },
+    focusNodeAdjacency: function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var graph2 = data2.graph;
+      var dataIndex = payload.dataIndex;
+      var itemModel = data2.getItemModel(dataIndex);
+      var edgeDataIndex = payload.edgeDataIndex;
+      if (dataIndex == null && edgeDataIndex == null) {
+        return;
+      }
+      var node = graph2.getNodeByIndex(dataIndex);
+      var edge = graph2.getEdgeByIndex(edgeDataIndex);
+      graph2.eachNode(function(node2) {
+        fadeOutItem(node2, nodeOpacityPath, 0.1);
+      });
+      graph2.eachEdge(function(edge2) {
+        fadeOutItem(edge2, lineOpacityPath, 0.1);
+      });
+      if (node) {
+        fadeInItem(node, hoverNodeOpacityPath);
+        var focusNodeAdj = itemModel.get("focusNodeAdjacency");
+        if (focusNodeAdj === "outEdges") {
+          zrUtil2.each(node.outEdges, function(edge2) {
+            if (edge2.dataIndex < 0) {
+              return;
+            }
+            fadeInItem(edge2, hoverLineOpacityPath);
+            fadeInItem(edge2.node2, hoverNodeOpacityPath);
+          });
+        } else if (focusNodeAdj === "inEdges") {
+          zrUtil2.each(node.inEdges, function(edge2) {
+            if (edge2.dataIndex < 0) {
+              return;
+            }
+            fadeInItem(edge2, hoverLineOpacityPath);
+            fadeInItem(edge2.node1, hoverNodeOpacityPath);
+          });
+        } else if (focusNodeAdj === "allEdges") {
+          zrUtil2.each(node.edges, function(edge2) {
+            if (edge2.dataIndex < 0) {
+              return;
+            }
+            fadeInItem(edge2, hoverLineOpacityPath);
+            edge2.node1 !== node && fadeInItem(edge2.node1, hoverNodeOpacityPath);
+            edge2.node2 !== node && fadeInItem(edge2.node2, hoverNodeOpacityPath);
+          });
+        }
+      }
+      if (edge) {
+        fadeInItem(edge, hoverLineOpacityPath);
+        fadeInItem(edge.node1, hoverNodeOpacityPath);
+        fadeInItem(edge.node2, hoverNodeOpacityPath);
+      }
+    },
+    unfocusNodeAdjacency: function(seriesModel, ecModel, api2, payload) {
+      var graph2 = seriesModel.getGraph();
+      graph2.eachNode(function(node) {
+        fadeOutItem(node, nodeOpacityPath);
+      });
+      graph2.eachEdge(function(edge) {
+        fadeOutItem(edge, lineOpacityPath);
+      });
+    }
+  });
+  function createGridClipShape2(rect, seriesModel, cb) {
+    var rectEl = new graphic2.Rect({
+      shape: {
+        x: rect.x - 10,
+        y: rect.y - 10,
+        width: 0,
+        height: rect.height + 20
+      }
+    });
+    graphic2.initProps(rectEl, {
+      shape: {
+        width: rect.width + 20
+      }
+    }, seriesModel, cb);
+    return rectEl;
+  }
+  SankeyView$2 = _default68;
+  return SankeyView$2;
+}
+var sankeyAction = {};
+var hasRequiredSankeyAction;
+function requireSankeyAction() {
+  if (hasRequiredSankeyAction)
+    return sankeyAction;
+  hasRequiredSankeyAction = 1;
+  var echarts2 = echarts$1;
+  requireFocusNodeAdjacencyAction();
+  echarts2.registerAction({
+    type: "dragNode",
+    event: "dragnode",
+    // here can only use 'update' now, other value is not support in echarts.
+    update: "update"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sankey",
+      query: payload
+    }, function(seriesModel) {
+      seriesModel.setNodePosition(payload.dataIndex, [payload.localX, payload.localY]);
+    });
+  });
+  return sankeyAction;
+}
+var sankeyLayout$1;
+var hasRequiredSankeyLayout;
+function requireSankeyLayout() {
+  if (hasRequiredSankeyLayout)
+    return sankeyLayout$1;
+  hasRequiredSankeyLayout = 1;
+  var layout2 = layout$5;
+  var zrUtil2 = util$a;
+  var _model2 = model;
+  var groupData2 = _model2.groupData;
+  function _default68(ecModel, api2, payload) {
+    ecModel.eachSeriesByType("sankey", function(seriesModel) {
+      var nodeWidth = seriesModel.get("nodeWidth");
+      var nodeGap = seriesModel.get("nodeGap");
+      var layoutInfo = getViewRect2(seriesModel, api2);
+      seriesModel.layoutInfo = layoutInfo;
+      var width = layoutInfo.width;
+      var height = layoutInfo.height;
+      var graph2 = seriesModel.getGraph();
+      var nodes = graph2.nodes;
+      var edges = graph2.edges;
+      computeNodeValues2(nodes);
+      var filteredNodes = zrUtil2.filter(nodes, function(node) {
+        return node.getLayout().value === 0;
+      });
+      var iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get("layoutIterations");
+      var orient = seriesModel.get("orient");
+      var nodeAlign = seriesModel.get("nodeAlign");
+      layoutSankey2(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign);
+    });
+  }
+  function getViewRect2(seriesModel, api2) {
+    return layout2.getLayoutRect(seriesModel.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  }
+  function layoutSankey2(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign) {
+    computeNodeBreadths2(nodes, edges, nodeWidth, width, height, orient, nodeAlign);
+    computeNodeDepths2(nodes, edges, height, width, nodeGap, iterations, orient);
+    computeEdgeDepths2(nodes, orient);
+  }
+  function computeNodeValues2(nodes) {
+    zrUtil2.each(nodes, function(node) {
+      var value1 = sum2(node.outEdges, getEdgeValue2);
+      var value2 = sum2(node.inEdges, getEdgeValue2);
+      var nodeRawValue = node.getValue() || 0;
+      var value = Math.max(value1, value2, nodeRawValue);
+      node.setLayout({
+        value
+      }, true);
+    });
+  }
+  function computeNodeBreadths2(nodes, edges, nodeWidth, width, height, orient, nodeAlign) {
+    var remainEdges = [];
+    var indegreeArr = [];
+    var zeroIndegrees = [];
+    var nextTargetNode = [];
+    var x2 = 0;
+    var kx = 0;
+    for (var i2 = 0; i2 < edges.length; i2++) {
+      remainEdges[i2] = 1;
+    }
+    for (i2 = 0; i2 < nodes.length; i2++) {
+      indegreeArr[i2] = nodes[i2].inEdges.length;
+      if (indegreeArr[i2] === 0) {
+        zeroIndegrees.push(nodes[i2]);
+      }
+    }
+    var maxNodeDepth = -1;
+    while (zeroIndegrees.length) {
+      for (var idx = 0; idx < zeroIndegrees.length; idx++) {
+        var node = zeroIndegrees[idx];
+        var item = node.hostGraph.data.getRawDataItem(node.dataIndex);
+        var isItemDepth = item.depth != null && item.depth >= 0;
+        if (isItemDepth && item.depth > maxNodeDepth) {
+          maxNodeDepth = item.depth;
+        }
+        node.setLayout({
+          depth: isItemDepth ? item.depth : x2
+        }, true);
+        orient === "vertical" ? node.setLayout({
+          dy: nodeWidth
+        }, true) : node.setLayout({
+          dx: nodeWidth
+        }, true);
+        for (var edgeIdx = 0; edgeIdx < node.outEdges.length; edgeIdx++) {
+          var edge = node.outEdges[edgeIdx];
+          var indexEdge = edges.indexOf(edge);
+          remainEdges[indexEdge] = 0;
+          var targetNode = edge.node2;
+          var nodeIndex = nodes.indexOf(targetNode);
+          if (--indegreeArr[nodeIndex] === 0 && nextTargetNode.indexOf(targetNode) < 0) {
+            nextTargetNode.push(targetNode);
+          }
+        }
+      }
+      ++x2;
+      zeroIndegrees = nextTargetNode;
+      nextTargetNode = [];
+    }
+    for (i2 = 0; i2 < remainEdges.length; i2++) {
+      if (remainEdges[i2] === 1) {
+        throw new Error("Sankey is a DAG, the original data has cycle!");
+      }
+    }
+    var maxDepth = maxNodeDepth > x2 - 1 ? maxNodeDepth : x2 - 1;
+    if (nodeAlign && nodeAlign !== "left") {
+      adjustNodeWithNodeAlign2(nodes, nodeAlign, orient, maxDepth);
+    }
+    var kx = orient === "vertical" ? (height - nodeWidth) / maxDepth : (width - nodeWidth) / maxDepth;
+    scaleNodeBreadths2(nodes, kx, orient);
+  }
+  function isNodeDepth2(node) {
+    var item = node.hostGraph.data.getRawDataItem(node.dataIndex);
+    return item.depth != null && item.depth >= 0;
+  }
+  function adjustNodeWithNodeAlign2(nodes, nodeAlign, orient, maxDepth) {
+    if (nodeAlign === "right") {
+      var nextSourceNode = [];
+      var remainNodes = nodes;
+      var nodeHeight = 0;
+      while (remainNodes.length) {
+        for (var i2 = 0; i2 < remainNodes.length; i2++) {
+          var node = remainNodes[i2];
+          node.setLayout({
+            skNodeHeight: nodeHeight
+          }, true);
+          for (var j2 = 0; j2 < node.inEdges.length; j2++) {
+            var edge = node.inEdges[j2];
+            if (nextSourceNode.indexOf(edge.node1) < 0) {
+              nextSourceNode.push(edge.node1);
+            }
+          }
+        }
+        remainNodes = nextSourceNode;
+        nextSourceNode = [];
+        ++nodeHeight;
+      }
+      zrUtil2.each(nodes, function(node2) {
+        if (!isNodeDepth2(node2)) {
+          node2.setLayout({
+            depth: Math.max(0, maxDepth - node2.getLayout().skNodeHeight)
+          }, true);
+        }
+      });
+    } else if (nodeAlign === "justify") {
+      moveSinksRight2(nodes, maxDepth);
+    }
+  }
+  function moveSinksRight2(nodes, maxDepth) {
+    zrUtil2.each(nodes, function(node) {
+      if (!isNodeDepth2(node) && !node.outEdges.length) {
+        node.setLayout({
+          depth: maxDepth
+        }, true);
+      }
+    });
+  }
+  function scaleNodeBreadths2(nodes, kx, orient) {
+    zrUtil2.each(nodes, function(node) {
+      var nodeDepth = node.getLayout().depth * kx;
+      orient === "vertical" ? node.setLayout({
+        y: nodeDepth
+      }, true) : node.setLayout({
+        x: nodeDepth
+      }, true);
+    });
+  }
+  function computeNodeDepths2(nodes, edges, height, width, nodeGap, iterations, orient) {
+    var nodesByBreadth = prepareNodesByBreadth2(nodes, orient);
+    initializeNodeDepth2(nodesByBreadth, edges, height, width, nodeGap, orient);
+    resolveCollisions2(nodesByBreadth, nodeGap, height, width, orient);
+    for (var alpha = 1; iterations > 0; iterations--) {
+      alpha *= 0.99;
+      relaxRightToLeft2(nodesByBreadth, alpha, orient);
+      resolveCollisions2(nodesByBreadth, nodeGap, height, width, orient);
+      relaxLeftToRight2(nodesByBreadth, alpha, orient);
+      resolveCollisions2(nodesByBreadth, nodeGap, height, width, orient);
+    }
+  }
+  function prepareNodesByBreadth2(nodes, orient) {
+    var nodesByBreadth = [];
+    var keyAttr = orient === "vertical" ? "y" : "x";
+    var groupResult = groupData2(nodes, function(node) {
+      return node.getLayout()[keyAttr];
+    });
+    groupResult.keys.sort(function(a2, b2) {
+      return a2 - b2;
+    });
+    zrUtil2.each(groupResult.keys, function(key2) {
+      nodesByBreadth.push(groupResult.buckets.get(key2));
+    });
+    return nodesByBreadth;
+  }
+  function initializeNodeDepth2(nodesByBreadth, edges, height, width, nodeGap, orient) {
+    var minKy = Infinity;
+    zrUtil2.each(nodesByBreadth, function(nodes) {
+      var n2 = nodes.length;
+      var sum3 = 0;
+      zrUtil2.each(nodes, function(node) {
+        sum3 += node.getLayout().value;
+      });
+      var ky = orient === "vertical" ? (width - (n2 - 1) * nodeGap) / sum3 : (height - (n2 - 1) * nodeGap) / sum3;
+      if (ky < minKy) {
+        minKy = ky;
+      }
+    });
+    zrUtil2.each(nodesByBreadth, function(nodes) {
+      zrUtil2.each(nodes, function(node, i2) {
+        var nodeDy = node.getLayout().value * minKy;
+        if (orient === "vertical") {
+          node.setLayout({
+            x: i2
+          }, true);
+          node.setLayout({
+            dx: nodeDy
+          }, true);
+        } else {
+          node.setLayout({
+            y: i2
+          }, true);
+          node.setLayout({
+            dy: nodeDy
+          }, true);
+        }
+      });
+    });
+    zrUtil2.each(edges, function(edge) {
+      var edgeDy = +edge.getValue() * minKy;
+      edge.setLayout({
+        dy: edgeDy
+      }, true);
+    });
+  }
+  function resolveCollisions2(nodesByBreadth, nodeGap, height, width, orient) {
+    var keyAttr = orient === "vertical" ? "x" : "y";
+    zrUtil2.each(nodesByBreadth, function(nodes) {
+      nodes.sort(function(a2, b2) {
+        return a2.getLayout()[keyAttr] - b2.getLayout()[keyAttr];
+      });
+      var nodeX;
+      var node;
+      var dy;
+      var y0 = 0;
+      var n2 = nodes.length;
+      var nodeDyAttr = orient === "vertical" ? "dx" : "dy";
+      for (var i2 = 0; i2 < n2; i2++) {
+        node = nodes[i2];
+        dy = y0 - node.getLayout()[keyAttr];
+        if (dy > 0) {
+          nodeX = node.getLayout()[keyAttr] + dy;
+          orient === "vertical" ? node.setLayout({
+            x: nodeX
+          }, true) : node.setLayout({
+            y: nodeX
+          }, true);
+        }
+        y0 = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap;
+      }
+      var viewWidth = orient === "vertical" ? width : height;
+      dy = y0 - nodeGap - viewWidth;
+      if (dy > 0) {
+        nodeX = node.getLayout()[keyAttr] - dy;
+        orient === "vertical" ? node.setLayout({
+          x: nodeX
+        }, true) : node.setLayout({
+          y: nodeX
+        }, true);
+        y0 = nodeX;
+        for (i2 = n2 - 2; i2 >= 0; --i2) {
+          node = nodes[i2];
+          dy = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap - y0;
+          if (dy > 0) {
+            nodeX = node.getLayout()[keyAttr] - dy;
+            orient === "vertical" ? node.setLayout({
+              x: nodeX
+            }, true) : node.setLayout({
+              y: nodeX
+            }, true);
+          }
+          y0 = node.getLayout()[keyAttr];
+        }
+      }
+    });
+  }
+  function relaxRightToLeft2(nodesByBreadth, alpha, orient) {
+    zrUtil2.each(nodesByBreadth.slice().reverse(), function(nodes) {
+      zrUtil2.each(nodes, function(node) {
+        if (node.outEdges.length) {
+          var y2 = sum2(node.outEdges, weightedTarget2, orient) / sum2(node.outEdges, getEdgeValue2, orient);
+          if (isNaN(y2)) {
+            var len2 = node.outEdges.length;
+            y2 = len2 ? sum2(node.outEdges, centerTarget2, orient) / len2 : 0;
+          }
+          if (orient === "vertical") {
+            var nodeX = node.getLayout().x + (y2 - center2(node, orient)) * alpha;
+            node.setLayout({
+              x: nodeX
+            }, true);
+          } else {
+            var nodeY = node.getLayout().y + (y2 - center2(node, orient)) * alpha;
+            node.setLayout({
+              y: nodeY
+            }, true);
+          }
+        }
+      });
+    });
+  }
+  function weightedTarget2(edge, orient) {
+    return center2(edge.node2, orient) * edge.getValue();
+  }
+  function centerTarget2(edge, orient) {
+    return center2(edge.node2, orient);
+  }
+  function weightedSource2(edge, orient) {
+    return center2(edge.node1, orient) * edge.getValue();
+  }
+  function centerSource2(edge, orient) {
+    return center2(edge.node1, orient);
+  }
+  function center2(node, orient) {
+    return orient === "vertical" ? node.getLayout().x + node.getLayout().dx / 2 : node.getLayout().y + node.getLayout().dy / 2;
+  }
+  function getEdgeValue2(edge) {
+    return edge.getValue();
+  }
+  function sum2(array, cb, orient) {
+    var sum3 = 0;
+    var len2 = array.length;
+    var i2 = -1;
+    while (++i2 < len2) {
+      var value = +cb.call(array, array[i2], orient);
+      if (!isNaN(value)) {
+        sum3 += value;
+      }
+    }
+    return sum3;
+  }
+  function relaxLeftToRight2(nodesByBreadth, alpha, orient) {
+    zrUtil2.each(nodesByBreadth, function(nodes) {
+      zrUtil2.each(nodes, function(node) {
+        if (node.inEdges.length) {
+          var y2 = sum2(node.inEdges, weightedSource2, orient) / sum2(node.inEdges, getEdgeValue2, orient);
+          if (isNaN(y2)) {
+            var len2 = node.inEdges.length;
+            y2 = len2 ? sum2(node.inEdges, centerSource2, orient) / len2 : 0;
+          }
+          if (orient === "vertical") {
+            var nodeX = node.getLayout().x + (y2 - center2(node, orient)) * alpha;
+            node.setLayout({
+              x: nodeX
+            }, true);
+          } else {
+            var nodeY = node.getLayout().y + (y2 - center2(node, orient)) * alpha;
+            node.setLayout({
+              y: nodeY
+            }, true);
+          }
+        }
+      });
+    });
+  }
+  function computeEdgeDepths2(nodes, orient) {
+    var keyAttr = orient === "vertical" ? "x" : "y";
+    zrUtil2.each(nodes, function(node) {
+      node.outEdges.sort(function(a2, b2) {
+        return a2.node2.getLayout()[keyAttr] - b2.node2.getLayout()[keyAttr];
+      });
+      node.inEdges.sort(function(a2, b2) {
+        return a2.node1.getLayout()[keyAttr] - b2.node1.getLayout()[keyAttr];
+      });
+    });
+    zrUtil2.each(nodes, function(node) {
+      var sy = 0;
+      var ty = 0;
+      zrUtil2.each(node.outEdges, function(edge) {
+        edge.setLayout({
+          sy
+        }, true);
+        sy += edge.getLayout().dy;
+      });
+      zrUtil2.each(node.inEdges, function(edge) {
+        edge.setLayout({
+          ty
+        }, true);
+        ty += edge.getLayout().dy;
+      });
+    });
+  }
+  sankeyLayout$1 = _default68;
+  return sankeyLayout$1;
+}
+var sankeyVisual$1;
+var hasRequiredSankeyVisual;
+function requireSankeyVisual() {
+  if (hasRequiredSankeyVisual)
+    return sankeyVisual$1;
+  hasRequiredSankeyVisual = 1;
+  var VisualMapping2 = requireVisualMapping();
+  var zrUtil2 = util$a;
+  function _default68(ecModel, payload) {
+    ecModel.eachSeriesByType("sankey", function(seriesModel) {
+      var graph2 = seriesModel.getGraph();
+      var nodes = graph2.nodes;
+      if (nodes.length) {
+        var minValue = Infinity;
+        var maxValue = -Infinity;
+        zrUtil2.each(nodes, function(node) {
+          var nodeValue = node.getLayout().value;
+          if (nodeValue < minValue) {
+            minValue = nodeValue;
+          }
+          if (nodeValue > maxValue) {
+            maxValue = nodeValue;
+          }
+        });
+        zrUtil2.each(nodes, function(node) {
+          var mapping3 = new VisualMapping2({
+            type: "color",
+            mappingMethod: "linear",
+            dataExtent: [minValue, maxValue],
+            visual: seriesModel.get("color")
+          });
+          var mapValueToColor = mapping3.mapValueToVisual(node.getLayout().value);
+          var customColor = node.getModel().get("itemStyle.color");
+          customColor != null ? node.setVisual("color", customColor) : node.setVisual("color", mapValueToColor);
+        });
+      }
+    });
+  }
+  sankeyVisual$1 = _default68;
+  return sankeyVisual$1;
+}
+var hasRequiredSankey;
+function requireSankey() {
+  if (hasRequiredSankey)
+    return sankey;
+  hasRequiredSankey = 1;
+  var echarts2 = echarts$1;
+  requireSankeySeries();
+  requireSankeyView();
+  requireSankeyAction();
+  var sankeyLayout2 = requireSankeyLayout();
+  var sankeyVisual2 = requireSankeyVisual();
+  echarts2.registerLayout(sankeyLayout2);
+  echarts2.registerVisual(sankeyVisual2);
+  return sankey;
+}
+var boxplot = {};
+var whiskerBoxCommon = {};
+var hasRequiredWhiskerBoxCommon;
+function requireWhiskerBoxCommon() {
+  if (hasRequiredWhiskerBoxCommon)
+    return whiskerBoxCommon;
+  hasRequiredWhiskerBoxCommon = 1;
+  var createListSimply2 = requireCreateListSimply();
+  var zrUtil2 = util$a;
+  var _dimensionHelper = requireDimensionHelper();
+  var getDimensionTypeByAxis2 = _dimensionHelper.getDimensionTypeByAxis;
+  var _sourceHelper2 = requireSourceHelper();
+  var makeSeriesEncodeForAxisCoordSys2 = _sourceHelper2.makeSeriesEncodeForAxisCoordSys;
+  var seriesModelMixin = {
+    /**
+     * @private
+     * @type {string}
+     */
+    _baseAxisDim: null,
+    /**
+     * @override
+     */
+    getInitialData: function(option, ecModel) {
+      var ordinalMeta;
+      var xAxisModel = ecModel.getComponent("xAxis", this.get("xAxisIndex"));
+      var yAxisModel = ecModel.getComponent("yAxis", this.get("yAxisIndex"));
+      var xAxisType = xAxisModel.get("type");
+      var yAxisType = yAxisModel.get("type");
+      var addOrdinal;
+      if (xAxisType === "category") {
+        option.layout = "horizontal";
+        ordinalMeta = xAxisModel.getOrdinalMeta();
+        addOrdinal = true;
+      } else if (yAxisType === "category") {
+        option.layout = "vertical";
+        ordinalMeta = yAxisModel.getOrdinalMeta();
+        addOrdinal = true;
+      } else {
+        option.layout = option.layout || "horizontal";
+      }
+      var coordDims = ["x", "y"];
+      var baseAxisDimIndex = option.layout === "horizontal" ? 0 : 1;
+      var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];
+      var otherAxisDim = coordDims[1 - baseAxisDimIndex];
+      var axisModels = [xAxisModel, yAxisModel];
+      var baseAxisType = axisModels[baseAxisDimIndex].get("type");
+      var otherAxisType = axisModels[1 - baseAxisDimIndex].get("type");
+      var data2 = option.data;
+      if (data2 && addOrdinal) {
+        var newOptionData = [];
+        zrUtil2.each(data2, function(item, index3) {
+          var newItem;
+          if (item.value && zrUtil2.isArray(item.value)) {
+            newItem = item.value.slice();
+            item.value.unshift(index3);
+          } else if (zrUtil2.isArray(item)) {
+            newItem = item.slice();
+            item.unshift(index3);
+          } else {
+            newItem = item;
+          }
+          newOptionData.push(newItem);
+        });
+        option.data = newOptionData;
+      }
+      var defaultValueDimensions = this.defaultValueDimensions;
+      var coordDimensions = [{
+        name: baseAxisDim,
+        type: getDimensionTypeByAxis2(baseAxisType),
+        ordinalMeta,
+        otherDims: {
+          tooltip: false,
+          itemName: 0
+        },
+        dimsDef: ["base"]
+      }, {
+        name: otherAxisDim,
+        type: getDimensionTypeByAxis2(otherAxisType),
+        dimsDef: defaultValueDimensions.slice()
+      }];
+      return createListSimply2(this, {
+        coordDimensions,
+        dimensionsCount: defaultValueDimensions.length + 1,
+        encodeDefaulter: zrUtil2.curry(makeSeriesEncodeForAxisCoordSys2, coordDimensions, this)
+      });
+    },
+    /**
+     * If horizontal, base axis is x, otherwise y.
+     * @override
+     */
+    getBaseAxis: function() {
+      var dim = this._baseAxisDim;
+      return this.ecModel.getComponent(dim + "Axis", this.get(dim + "AxisIndex")).axis;
+    }
+  };
+  whiskerBoxCommon.seriesModelMixin = seriesModelMixin;
+  return whiskerBoxCommon;
+}
+var BoxplotSeries_1;
+var hasRequiredBoxplotSeries;
+function requireBoxplotSeries() {
+  if (hasRequiredBoxplotSeries)
+    return BoxplotSeries_1;
+  hasRequiredBoxplotSeries = 1;
+  var zrUtil2 = util$a;
+  var SeriesModel2 = Series;
+  var _whiskerBoxCommon = requireWhiskerBoxCommon();
+  var seriesModelMixin = _whiskerBoxCommon.seriesModelMixin;
+  var BoxplotSeries = SeriesModel2.extend({
+    type: "series.boxplot",
+    dependencies: ["xAxis", "yAxis", "grid"],
+    // TODO
+    // box width represents group size, so dimension should have 'size'.
+    /**
+     * @see <https://en.wikipedia.org/wiki/Box_plot>
+     * The meanings of 'min' and 'max' depend on user,
+     * and echarts do not need to know it.
+     * @readOnly
+     */
+    defaultValueDimensions: [{
+      name: "min",
+      defaultTooltip: true
+    }, {
+      name: "Q1",
+      defaultTooltip: true
+    }, {
+      name: "median",
+      defaultTooltip: true
+    }, {
+      name: "Q3",
+      defaultTooltip: true
+    }, {
+      name: "max",
+      defaultTooltip: true
+    }],
+    /**
+     * @type {Array.<string>}
+     * @readOnly
+     */
+    dimensions: null,
+    /**
+     * @override
+     */
+    defaultOption: {
+      zlevel: 0,
+      // 一级层叠
+      z: 2,
+      // 二级层叠
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      hoverAnimation: true,
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      layout: null,
+      // 'horizontal' or 'vertical'
+      boxWidth: [7, 50],
+      // [min, max] can be percent of band width.
+      itemStyle: {
+        color: "#fff",
+        borderWidth: 1
+      },
+      emphasis: {
+        itemStyle: {
+          borderWidth: 2,
+          shadowBlur: 5,
+          shadowOffsetX: 2,
+          shadowOffsetY: 2,
+          shadowColor: "rgba(0,0,0,0.4)"
+        }
+      },
+      animationEasing: "elasticOut",
+      animationDuration: 800
+    }
+  });
+  zrUtil2.mixin(BoxplotSeries, seriesModelMixin, true);
+  var _default68 = BoxplotSeries;
+  BoxplotSeries_1 = _default68;
+  return BoxplotSeries_1;
+}
+var BoxplotView_1;
+var hasRequiredBoxplotView;
+function requireBoxplotView() {
+  if (hasRequiredBoxplotView)
+    return BoxplotView_1;
+  hasRequiredBoxplotView = 1;
+  var zrUtil2 = util$a;
+  var ChartView2 = Chart_1;
+  var graphic2 = graphic$6;
+  var Path2 = Path_1;
+  var NORMAL_ITEM_STYLE_PATH = ["itemStyle"];
+  var EMPHASIS_ITEM_STYLE_PATH = ["emphasis", "itemStyle"];
+  var BoxplotView2 = ChartView2.extend({
+    type: "boxplot",
+    render: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var group = this.group;
+      var oldData = this._data;
+      if (!this._data) {
+        group.removeAll();
+      }
+      var constDim = seriesModel.get("layout") === "horizontal" ? 1 : 0;
+      data2.diff(oldData).add(function(newIdx) {
+        if (data2.hasValue(newIdx)) {
+          var itemLayout = data2.getItemLayout(newIdx);
+          var symbolEl = createNormalBox2(itemLayout, data2, newIdx, constDim, true);
+          data2.setItemGraphicEl(newIdx, symbolEl);
+          group.add(symbolEl);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        if (!data2.hasValue(newIdx)) {
+          group.remove(symbolEl);
+          return;
+        }
+        var itemLayout = data2.getItemLayout(newIdx);
+        if (!symbolEl) {
+          symbolEl = createNormalBox2(itemLayout, data2, newIdx, constDim);
+        } else {
+          updateNormalBoxData2(itemLayout, symbolEl, data2, newIdx);
+        }
+        group.add(symbolEl);
+        data2.setItemGraphicEl(newIdx, symbolEl);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && group.remove(el);
+      }).execute();
+      this._data = data2;
+    },
+    remove: function(ecModel) {
+      var group = this.group;
+      var data2 = this._data;
+      this._data = null;
+      data2 && data2.eachItemGraphicEl(function(el) {
+        el && group.remove(el);
+      });
+    },
+    dispose: zrUtil2.noop
+  });
+  var BoxPath2 = Path2.extend({
+    type: "boxplotBoxPath",
+    shape: {},
+    buildPath: function(ctx, shape) {
+      var ends = shape.points;
+      var i2 = 0;
+      ctx.moveTo(ends[i2][0], ends[i2][1]);
+      i2++;
+      for (; i2 < 4; i2++) {
+        ctx.lineTo(ends[i2][0], ends[i2][1]);
+      }
+      ctx.closePath();
+      for (; i2 < ends.length; i2++) {
+        ctx.moveTo(ends[i2][0], ends[i2][1]);
+        i2++;
+        ctx.lineTo(ends[i2][0], ends[i2][1]);
+      }
+    }
+  });
+  function createNormalBox2(itemLayout, data2, dataIndex, constDim, isInit) {
+    var ends = itemLayout.ends;
+    var el = new BoxPath2({
+      shape: {
+        points: isInit ? transInit2(ends, constDim, itemLayout) : ends
+      }
+    });
+    updateNormalBoxData2(itemLayout, el, data2, dataIndex, isInit);
+    return el;
+  }
+  function updateNormalBoxData2(itemLayout, el, data2, dataIndex, isInit) {
+    var seriesModel = data2.hostModel;
+    var updateMethod = graphic2[isInit ? "initProps" : "updateProps"];
+    updateMethod(el, {
+      shape: {
+        points: itemLayout.ends
+      }
+    }, seriesModel, dataIndex);
+    var itemModel = data2.getItemModel(dataIndex);
+    var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);
+    var borderColor = data2.getItemVisual(dataIndex, "color");
+    var itemStyle2 = normalItemStyleModel.getItemStyle(["borderColor"]);
+    itemStyle2.stroke = borderColor;
+    itemStyle2.strokeNoScale = true;
+    el.useStyle(itemStyle2);
+    el.z2 = 100;
+    var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();
+    graphic2.setHoverStyle(el, hoverStyle);
+  }
+  function transInit2(points2, dim, itemLayout) {
+    return zrUtil2.map(points2, function(point) {
+      point = point.slice();
+      point[dim] = itemLayout.initBaseline;
+      return point;
+    });
+  }
+  var _default68 = BoxplotView2;
+  BoxplotView_1 = _default68;
+  return BoxplotView_1;
+}
+var boxplotVisual;
+var hasRequiredBoxplotVisual;
+function requireBoxplotVisual() {
+  if (hasRequiredBoxplotVisual)
+    return boxplotVisual;
+  hasRequiredBoxplotVisual = 1;
+  var borderColorQuery = ["itemStyle", "borderColor"];
+  function _default68(ecModel, api2) {
+    var globalColors = ecModel.get("color");
+    ecModel.eachRawSeriesByType("boxplot", function(seriesModel) {
+      var defaulColor = globalColors[seriesModel.seriesIndex % globalColors.length];
+      var data2 = seriesModel.getData();
+      data2.setVisual({
+        legendSymbol: "roundRect",
+        // Use name 'color' but not 'borderColor' for legend usage and
+        // visual coding from other component like dataRange.
+        color: seriesModel.get(borderColorQuery) || defaulColor
+      });
+      if (!ecModel.isSeriesFiltered(seriesModel)) {
+        data2.each(function(idx) {
+          var itemModel = data2.getItemModel(idx);
+          data2.setItemVisual(idx, {
+            color: itemModel.get(borderColorQuery, true)
+          });
+        });
+      }
+    });
+  }
+  boxplotVisual = _default68;
+  return boxplotVisual;
+}
+var boxplotLayout$1;
+var hasRequiredBoxplotLayout;
+function requireBoxplotLayout() {
+  if (hasRequiredBoxplotLayout)
+    return boxplotLayout$1;
+  hasRequiredBoxplotLayout = 1;
+  var zrUtil2 = util$a;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var each2 = zrUtil2.each;
+  function _default68(ecModel) {
+    var groupResult = groupSeriesByAxis2(ecModel);
+    each2(groupResult, function(groupItem) {
+      var seriesModels = groupItem.seriesModels;
+      if (!seriesModels.length) {
+        return;
+      }
+      calculateBase2(groupItem);
+      each2(seriesModels, function(seriesModel, idx) {
+        layoutSingleSeries2(seriesModel, groupItem.boxOffsetList[idx], groupItem.boxWidthList[idx]);
+      });
+    });
+  }
+  function groupSeriesByAxis2(ecModel) {
+    var result2 = [];
+    var axisList = [];
+    ecModel.eachSeriesByType("boxplot", function(seriesModel) {
+      var baseAxis = seriesModel.getBaseAxis();
+      var idx = zrUtil2.indexOf(axisList, baseAxis);
+      if (idx < 0) {
+        idx = axisList.length;
+        axisList[idx] = baseAxis;
+        result2[idx] = {
+          axis: baseAxis,
+          seriesModels: []
+        };
+      }
+      result2[idx].seriesModels.push(seriesModel);
+    });
+    return result2;
+  }
+  function calculateBase2(groupItem) {
+    var extent3;
+    var baseAxis = groupItem.axis;
+    var seriesModels = groupItem.seriesModels;
+    var seriesCount = seriesModels.length;
+    var boxWidthList = groupItem.boxWidthList = [];
+    var boxOffsetList = groupItem.boxOffsetList = [];
+    var boundList = [];
+    var bandWidth;
+    if (baseAxis.type === "category") {
+      bandWidth = baseAxis.getBandWidth();
+    } else {
+      var maxDataCount = 0;
+      each2(seriesModels, function(seriesModel) {
+        maxDataCount = Math.max(maxDataCount, seriesModel.getData().count());
+      });
+      extent3 = baseAxis.getExtent(), Math.abs(extent3[1] - extent3[0]) / maxDataCount;
+    }
+    each2(seriesModels, function(seriesModel) {
+      var boxWidthBound = seriesModel.get("boxWidth");
+      if (!zrUtil2.isArray(boxWidthBound)) {
+        boxWidthBound = [boxWidthBound, boxWidthBound];
+      }
+      boundList.push([parsePercent2(boxWidthBound[0], bandWidth) || 0, parsePercent2(boxWidthBound[1], bandWidth) || 0]);
+    });
+    var availableWidth = bandWidth * 0.8 - 2;
+    var boxGap = availableWidth / seriesCount * 0.3;
+    var boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;
+    var base2 = boxWidth / 2 - availableWidth / 2;
+    each2(seriesModels, function(seriesModel, idx) {
+      boxOffsetList.push(base2);
+      base2 += boxGap + boxWidth;
+      boxWidthList.push(Math.min(Math.max(boxWidth, boundList[idx][0]), boundList[idx][1]));
+    });
+  }
+  function layoutSingleSeries2(seriesModel, offset2, boxWidth) {
+    var coordSys = seriesModel.coordinateSystem;
+    var data2 = seriesModel.getData();
+    var halfWidth = boxWidth / 2;
+    var cDimIdx = seriesModel.get("layout") === "horizontal" ? 0 : 1;
+    var vDimIdx = 1 - cDimIdx;
+    var coordDims = ["x", "y"];
+    var cDim = data2.mapDimension(coordDims[cDimIdx]);
+    var vDims = data2.mapDimension(coordDims[vDimIdx], true);
+    if (cDim == null || vDims.length < 5) {
+      return;
+    }
+    for (var dataIndex = 0; dataIndex < data2.count(); dataIndex++) {
+      var axisDimVal = data2.get(cDim, dataIndex);
+      var median = getPoint(axisDimVal, vDims[2], dataIndex);
+      var end1 = getPoint(axisDimVal, vDims[0], dataIndex);
+      var end2 = getPoint(axisDimVal, vDims[1], dataIndex);
+      var end4 = getPoint(axisDimVal, vDims[3], dataIndex);
+      var end5 = getPoint(axisDimVal, vDims[4], dataIndex);
+      var ends = [];
+      addBodyEnd(ends, end2, 0);
+      addBodyEnd(ends, end4, 1);
+      ends.push(end1, end2, end5, end4);
+      layEndLine(ends, end1);
+      layEndLine(ends, end5);
+      layEndLine(ends, median);
+      data2.setItemLayout(dataIndex, {
+        initBaseline: median[vDimIdx],
+        ends
+      });
+    }
+    function getPoint(axisDimVal2, dimIdx, dataIndex2) {
+      var val = data2.get(dimIdx, dataIndex2);
+      var p2 = [];
+      p2[cDimIdx] = axisDimVal2;
+      p2[vDimIdx] = val;
+      var point;
+      if (isNaN(axisDimVal2) || isNaN(val)) {
+        point = [NaN, NaN];
+      } else {
+        point = coordSys.dataToPoint(p2);
+        point[cDimIdx] += offset2;
+      }
+      return point;
+    }
+    function addBodyEnd(ends2, point, start2) {
+      var point1 = point.slice();
+      var point2 = point.slice();
+      point1[cDimIdx] += halfWidth;
+      point2[cDimIdx] -= halfWidth;
+      start2 ? ends2.push(point1, point2) : ends2.push(point2, point1);
+    }
+    function layEndLine(ends2, endCenter) {
+      var from = endCenter.slice();
+      var to = endCenter.slice();
+      from[cDimIdx] -= halfWidth;
+      to[cDimIdx] += halfWidth;
+      ends2.push(from, to);
+    }
+  }
+  boxplotLayout$1 = _default68;
+  return boxplotLayout$1;
+}
+var hasRequiredBoxplot;
+function requireBoxplot() {
+  if (hasRequiredBoxplot)
+    return boxplot;
+  hasRequiredBoxplot = 1;
+  var echarts2 = echarts$1;
+  requireBoxplotSeries();
+  requireBoxplotView();
+  var boxplotVisual2 = requireBoxplotVisual();
+  var boxplotLayout2 = requireBoxplotLayout();
+  echarts2.registerVisual(boxplotVisual2);
+  echarts2.registerLayout(boxplotLayout2);
+  return boxplot;
+}
+var candlestick = {};
+var CandlestickSeries_1;
+var hasRequiredCandlestickSeries;
+function requireCandlestickSeries() {
+  if (hasRequiredCandlestickSeries)
+    return CandlestickSeries_1;
+  hasRequiredCandlestickSeries = 1;
+  var zrUtil2 = util$a;
+  var SeriesModel2 = Series;
+  var _whiskerBoxCommon = requireWhiskerBoxCommon();
+  var seriesModelMixin = _whiskerBoxCommon.seriesModelMixin;
+  var CandlestickSeries = SeriesModel2.extend({
+    type: "series.candlestick",
+    dependencies: ["xAxis", "yAxis", "grid"],
+    /**
+     * @readOnly
+     */
+    defaultValueDimensions: [{
+      name: "open",
+      defaultTooltip: true
+    }, {
+      name: "close",
+      defaultTooltip: true
+    }, {
+      name: "lowest",
+      defaultTooltip: true
+    }, {
+      name: "highest",
+      defaultTooltip: true
+    }],
+    /**
+     * @type {Array.<string>}
+     * @readOnly
+     */
+    dimensions: null,
+    /**
+     * @override
+     */
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      hoverAnimation: true,
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      layout: null,
+      // 'horizontal' or 'vertical'
+      clip: true,
+      itemStyle: {
+        color: "#c23531",
+        // 阳线 positive
+        color0: "#314656",
+        // 阴线 negative     '#c23531', '#314656'
+        borderWidth: 1,
+        // FIXME
+        // ec2中使用的是lineStyle.color 和 lineStyle.color0
+        borderColor: "#c23531",
+        borderColor0: "#314656"
+      },
+      emphasis: {
+        itemStyle: {
+          borderWidth: 2
+        }
+      },
+      barMaxWidth: null,
+      barMinWidth: null,
+      barWidth: null,
+      large: true,
+      largeThreshold: 600,
+      progressive: 3e3,
+      progressiveThreshold: 1e4,
+      progressiveChunkMode: "mod",
+      animationUpdate: false,
+      animationEasing: "linear",
+      animationDuration: 300
+    },
+    /**
+     * Get dimension for shadow in dataZoom
+     * @return {string} dimension name
+     */
+    getShadowDim: function() {
+      return "open";
+    },
+    brushSelector: function(dataIndex, data2, selectors) {
+      var itemLayout = data2.getItemLayout(dataIndex);
+      return itemLayout && selectors.rect(itemLayout.brushRect);
+    }
+  });
+  zrUtil2.mixin(CandlestickSeries, seriesModelMixin, true);
+  var _default68 = CandlestickSeries;
+  CandlestickSeries_1 = _default68;
+  return CandlestickSeries_1;
+}
+var CandlestickView_1;
+var hasRequiredCandlestickView;
+function requireCandlestickView() {
+  if (hasRequiredCandlestickView)
+    return CandlestickView_1;
+  hasRequiredCandlestickView = 1;
+  var zrUtil2 = util$a;
+  var ChartView2 = Chart_1;
+  var graphic2 = graphic$6;
+  var Path2 = Path_1;
+  var _createClipPathFromCoordSys = requireCreateClipPathFromCoordSys();
+  var createClipPath2 = _createClipPathFromCoordSys.createClipPath;
+  var NORMAL_ITEM_STYLE_PATH = ["itemStyle"];
+  var EMPHASIS_ITEM_STYLE_PATH = ["emphasis", "itemStyle"];
+  var SKIP_PROPS2 = ["color", "color0", "borderColor", "borderColor0"];
+  var CandlestickView2 = ChartView2.extend({
+    type: "candlestick",
+    render: function(seriesModel, ecModel, api2) {
+      this.group.removeClipPath();
+      this._updateDrawMode(seriesModel);
+      this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);
+    },
+    incrementalPrepareRender: function(seriesModel, ecModel, api2) {
+      this._clear();
+      this._updateDrawMode(seriesModel);
+    },
+    incrementalRender: function(params2, seriesModel, ecModel, api2) {
+      this._isLargeDraw ? this._incrementalRenderLarge(params2, seriesModel) : this._incrementalRenderNormal(params2, seriesModel);
+    },
+    _updateDrawMode: function(seriesModel) {
+      var isLargeDraw = seriesModel.pipelineContext.large;
+      if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {
+        this._isLargeDraw = isLargeDraw;
+        this._clear();
+      }
+    },
+    _renderNormal: function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var group = this.group;
+      var isSimpleBox = data2.getLayout("isSimpleBox");
+      var needsClip = seriesModel.get("clip", true);
+      var coord = seriesModel.coordinateSystem;
+      var clipArea = coord.getArea && coord.getArea();
+      if (!this._data) {
+        group.removeAll();
+      }
+      data2.diff(oldData).add(function(newIdx) {
+        if (data2.hasValue(newIdx)) {
+          var el;
+          var itemLayout = data2.getItemLayout(newIdx);
+          if (needsClip && isNormalBoxClipped2(clipArea, itemLayout)) {
+            return;
+          }
+          el = createNormalBox2(itemLayout, newIdx, true);
+          graphic2.initProps(el, {
+            shape: {
+              points: itemLayout.ends
+            }
+          }, seriesModel, newIdx);
+          setBoxCommon2(el, data2, newIdx, isSimpleBox);
+          group.add(el);
+          data2.setItemGraphicEl(newIdx, el);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        if (!data2.hasValue(newIdx)) {
+          group.remove(el);
+          return;
+        }
+        var itemLayout = data2.getItemLayout(newIdx);
+        if (needsClip && isNormalBoxClipped2(clipArea, itemLayout)) {
+          group.remove(el);
+          return;
+        }
+        if (!el) {
+          el = createNormalBox2(itemLayout);
+        } else {
+          graphic2.updateProps(el, {
+            shape: {
+              points: itemLayout.ends
+            }
+          }, seriesModel, newIdx);
+        }
+        setBoxCommon2(el, data2, newIdx, isSimpleBox);
+        group.add(el);
+        data2.setItemGraphicEl(newIdx, el);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && group.remove(el);
+      }).execute();
+      this._data = data2;
+    },
+    _renderLarge: function(seriesModel) {
+      this._clear();
+      createLarge2(seriesModel, this.group);
+      var clipPath = seriesModel.get("clip", true) ? createClipPath2(seriesModel.coordinateSystem, false, seriesModel) : null;
+      if (clipPath) {
+        this.group.setClipPath(clipPath);
+      } else {
+        this.group.removeClipPath();
+      }
+    },
+    _incrementalRenderNormal: function(params2, seriesModel) {
+      var data2 = seriesModel.getData();
+      var isSimpleBox = data2.getLayout("isSimpleBox");
+      var dataIndex;
+      while ((dataIndex = params2.next()) != null) {
+        var el;
+        var itemLayout = data2.getItemLayout(dataIndex);
+        el = createNormalBox2(itemLayout);
+        setBoxCommon2(el, data2, dataIndex, isSimpleBox);
+        el.incremental = true;
+        this.group.add(el);
+      }
+    },
+    _incrementalRenderLarge: function(params2, seriesModel) {
+      createLarge2(seriesModel, this.group, true);
+    },
+    remove: function(ecModel) {
+      this._clear();
+    },
+    _clear: function() {
+      this.group.removeAll();
+      this._data = null;
+    },
+    dispose: zrUtil2.noop
+  });
+  var NormalBoxPath2 = Path2.extend({
+    type: "normalCandlestickBox",
+    shape: {},
+    buildPath: function(ctx, shape) {
+      var ends = shape.points;
+      if (this.__simpleBox) {
+        ctx.moveTo(ends[4][0], ends[4][1]);
+        ctx.lineTo(ends[6][0], ends[6][1]);
+      } else {
+        ctx.moveTo(ends[0][0], ends[0][1]);
+        ctx.lineTo(ends[1][0], ends[1][1]);
+        ctx.lineTo(ends[2][0], ends[2][1]);
+        ctx.lineTo(ends[3][0], ends[3][1]);
+        ctx.closePath();
+        ctx.moveTo(ends[4][0], ends[4][1]);
+        ctx.lineTo(ends[5][0], ends[5][1]);
+        ctx.moveTo(ends[6][0], ends[6][1]);
+        ctx.lineTo(ends[7][0], ends[7][1]);
+      }
+    }
+  });
+  function createNormalBox2(itemLayout, dataIndex, isInit) {
+    var ends = itemLayout.ends;
+    return new NormalBoxPath2({
+      shape: {
+        points: isInit ? transInit2(ends, itemLayout) : ends
+      },
+      z2: 100
+    });
+  }
+  function isNormalBoxClipped2(clipArea, itemLayout) {
+    var clipped = true;
+    for (var i2 = 0; i2 < itemLayout.ends.length; i2++) {
+      if (clipArea.contain(itemLayout.ends[i2][0], itemLayout.ends[i2][1])) {
+        clipped = false;
+        break;
+      }
+    }
+    return clipped;
+  }
+  function setBoxCommon2(el, data2, dataIndex, isSimpleBox) {
+    var itemModel = data2.getItemModel(dataIndex);
+    var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);
+    var color2 = data2.getItemVisual(dataIndex, "color");
+    var borderColor = data2.getItemVisual(dataIndex, "borderColor") || color2;
+    var itemStyle2 = normalItemStyleModel.getItemStyle(SKIP_PROPS2);
+    el.useStyle(itemStyle2);
+    el.style.strokeNoScale = true;
+    el.style.fill = color2;
+    el.style.stroke = borderColor;
+    el.__simpleBox = isSimpleBox;
+    var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();
+    graphic2.setHoverStyle(el, hoverStyle);
+  }
+  function transInit2(points2, itemLayout) {
+    return zrUtil2.map(points2, function(point) {
+      point = point.slice();
+      point[1] = itemLayout.initBaseline;
+      return point;
+    });
+  }
+  var LargeBoxPath2 = Path2.extend({
+    type: "largeCandlestickBox",
+    shape: {},
+    buildPath: function(ctx, shape) {
+      var points2 = shape.points;
+      for (var i2 = 0; i2 < points2.length; ) {
+        if (this.__sign === points2[i2++]) {
+          var x2 = points2[i2++];
+          ctx.moveTo(x2, points2[i2++]);
+          ctx.lineTo(x2, points2[i2++]);
+        } else {
+          i2 += 3;
+        }
+      }
+    }
+  });
+  function createLarge2(seriesModel, group, incremental) {
+    var data2 = seriesModel.getData();
+    var largePoints = data2.getLayout("largePoints");
+    var elP = new LargeBoxPath2({
+      shape: {
+        points: largePoints
+      },
+      __sign: 1
+    });
+    group.add(elP);
+    var elN = new LargeBoxPath2({
+      shape: {
+        points: largePoints
+      },
+      __sign: -1
+    });
+    group.add(elN);
+    setLargeStyle2(1, elP, seriesModel, data2);
+    setLargeStyle2(-1, elN, seriesModel, data2);
+    if (incremental) {
+      elP.incremental = true;
+      elN.incremental = true;
+    }
+  }
+  function setLargeStyle2(sign, el, seriesModel, data2) {
+    var suffix = sign > 0 ? "P" : "N";
+    var borderColor = data2.getVisual("borderColor" + suffix) || data2.getVisual("color" + suffix);
+    var itemStyle2 = seriesModel.getModel(NORMAL_ITEM_STYLE_PATH).getItemStyle(SKIP_PROPS2);
+    el.useStyle(itemStyle2);
+    el.style.fill = null;
+    el.style.stroke = borderColor;
+  }
+  var _default68 = CandlestickView2;
+  CandlestickView_1 = _default68;
+  return CandlestickView_1;
+}
+var preprocessor$3;
+var hasRequiredPreprocessor$3;
+function requirePreprocessor$3() {
+  if (hasRequiredPreprocessor$3)
+    return preprocessor$3;
+  hasRequiredPreprocessor$3 = 1;
+  var zrUtil2 = util$a;
+  function _default68(option) {
+    if (!option || !zrUtil2.isArray(option.series)) {
+      return;
+    }
+    zrUtil2.each(option.series, function(seriesItem) {
+      if (zrUtil2.isObject(seriesItem) && seriesItem.type === "k") {
+        seriesItem.type = "candlestick";
+      }
+    });
+  }
+  preprocessor$3 = _default68;
+  return preprocessor$3;
+}
+var candlestickVisual$2;
+var hasRequiredCandlestickVisual;
+function requireCandlestickVisual() {
+  if (hasRequiredCandlestickVisual)
+    return candlestickVisual$2;
+  hasRequiredCandlestickVisual = 1;
+  var createRenderPlanner2 = createRenderPlanner$2;
+  var positiveBorderColorQuery2 = ["itemStyle", "borderColor"];
+  var negativeBorderColorQuery2 = ["itemStyle", "borderColor0"];
+  var positiveColorQuery2 = ["itemStyle", "color"];
+  var negativeColorQuery2 = ["itemStyle", "color0"];
+  var _default68 = {
+    seriesType: "candlestick",
+    plan: createRenderPlanner2(),
+    // For legend.
+    performRawSeries: true,
+    reset: function(seriesModel, ecModel) {
+      var data2 = seriesModel.getData();
+      data2.setVisual({
+        legendSymbol: "roundRect",
+        colorP: getColor(1, seriesModel),
+        colorN: getColor(-1, seriesModel),
+        borderColorP: getBorderColor(1, seriesModel),
+        borderColorN: getBorderColor(-1, seriesModel)
+      });
+      if (ecModel.isSeriesFiltered(seriesModel)) {
+        return;
+      }
+      var isLargeRender = seriesModel.pipelineContext.large;
+      return !isLargeRender && {
+        progress
+      };
+      function progress(params2, data3) {
+        var dataIndex;
+        while ((dataIndex = params2.next()) != null) {
+          var itemModel = data3.getItemModel(dataIndex);
+          var sign = data3.getItemLayout(dataIndex).sign;
+          data3.setItemVisual(dataIndex, {
+            color: getColor(sign, itemModel),
+            borderColor: getBorderColor(sign, itemModel)
+          });
+        }
+      }
+      function getColor(sign, model2) {
+        return model2.get(sign > 0 ? positiveColorQuery2 : negativeColorQuery2);
+      }
+      function getBorderColor(sign, model2) {
+        return model2.get(sign > 0 ? positiveBorderColorQuery2 : negativeBorderColorQuery2);
+      }
+    }
+  };
+  candlestickVisual$2 = _default68;
+  return candlestickVisual$2;
+}
+var candlestickLayout$2;
+var hasRequiredCandlestickLayout;
+function requireCandlestickLayout() {
+  if (hasRequiredCandlestickLayout)
+    return candlestickLayout$2;
+  hasRequiredCandlestickLayout = 1;
+  var _graphic = graphic$6;
+  var subPixelOptimize2 = _graphic.subPixelOptimize;
+  var createRenderPlanner2 = createRenderPlanner$2;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var _util2 = util$a;
+  var retrieve22 = _util2.retrieve2;
+  var LargeArr = typeof Float32Array !== "undefined" ? Float32Array : Array;
+  var _default68 = {
+    seriesType: "candlestick",
+    plan: createRenderPlanner2(),
+    reset: function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var data2 = seriesModel.getData();
+      var candleWidth = calculateCandleWidth2(seriesModel, data2);
+      var cDimIdx = 0;
+      var vDimIdx = 1;
+      var coordDims = ["x", "y"];
+      var cDim = data2.mapDimension(coordDims[cDimIdx]);
+      var vDims = data2.mapDimension(coordDims[vDimIdx], true);
+      var openDim = vDims[0];
+      var closeDim = vDims[1];
+      var lowestDim = vDims[2];
+      var highestDim = vDims[3];
+      data2.setLayout({
+        candleWidth,
+        // The value is experimented visually.
+        isSimpleBox: candleWidth <= 1.3
+      });
+      if (cDim == null || vDims.length < 4) {
+        return;
+      }
+      return {
+        progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress
+      };
+      function normalProgress(params2, data3) {
+        var dataIndex;
+        while ((dataIndex = params2.next()) != null) {
+          var axisDimVal = data3.get(cDim, dataIndex);
+          var openVal = data3.get(openDim, dataIndex);
+          var closeVal = data3.get(closeDim, dataIndex);
+          var lowestVal = data3.get(lowestDim, dataIndex);
+          var highestVal = data3.get(highestDim, dataIndex);
+          var ocLow = Math.min(openVal, closeVal);
+          var ocHigh = Math.max(openVal, closeVal);
+          var ocLowPoint = getPoint(ocLow, axisDimVal);
+          var ocHighPoint = getPoint(ocHigh, axisDimVal);
+          var lowestPoint = getPoint(lowestVal, axisDimVal);
+          var highestPoint = getPoint(highestVal, axisDimVal);
+          var ends = [];
+          addBodyEnd(ends, ocHighPoint, 0);
+          addBodyEnd(ends, ocLowPoint, 1);
+          ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));
+          data3.setItemLayout(dataIndex, {
+            sign: getSign2(data3, dataIndex, openVal, closeVal, closeDim),
+            initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],
+            // open point.
+            ends,
+            brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)
+          });
+        }
+        function getPoint(val, axisDimVal2) {
+          var p2 = [];
+          p2[cDimIdx] = axisDimVal2;
+          p2[vDimIdx] = val;
+          return isNaN(axisDimVal2) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p2);
+        }
+        function addBodyEnd(ends2, point, start2) {
+          var point1 = point.slice();
+          var point2 = point.slice();
+          point1[cDimIdx] = subPixelOptimize2(point1[cDimIdx] + candleWidth / 2, 1, false);
+          point2[cDimIdx] = subPixelOptimize2(point2[cDimIdx] - candleWidth / 2, 1, true);
+          start2 ? ends2.push(point1, point2) : ends2.push(point2, point1);
+        }
+        function makeBrushRect(lowestVal2, highestVal2, axisDimVal2) {
+          var pmin = getPoint(lowestVal2, axisDimVal2);
+          var pmax = getPoint(highestVal2, axisDimVal2);
+          pmin[cDimIdx] -= candleWidth / 2;
+          pmax[cDimIdx] -= candleWidth / 2;
+          return {
+            x: pmin[0],
+            y: pmin[1],
+            width: candleWidth,
+            height: pmax[1] - pmin[1]
+          };
+        }
+        function subPixelOptimizePoint(point) {
+          point[cDimIdx] = subPixelOptimize2(point[cDimIdx], 1);
+          return point;
+        }
+      }
+      function largeProgress(params2, data3) {
+        var points2 = new LargeArr(params2.count * 4);
+        var offset2 = 0;
+        var point;
+        var tmpIn = [];
+        var tmpOut = [];
+        var dataIndex;
+        while ((dataIndex = params2.next()) != null) {
+          var axisDimVal = data3.get(cDim, dataIndex);
+          var openVal = data3.get(openDim, dataIndex);
+          var closeVal = data3.get(closeDim, dataIndex);
+          var lowestVal = data3.get(lowestDim, dataIndex);
+          var highestVal = data3.get(highestDim, dataIndex);
+          if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {
+            points2[offset2++] = NaN;
+            offset2 += 3;
+            continue;
+          }
+          points2[offset2++] = getSign2(data3, dataIndex, openVal, closeVal, closeDim);
+          tmpIn[cDimIdx] = axisDimVal;
+          tmpIn[vDimIdx] = lowestVal;
+          point = coordSys.dataToPoint(tmpIn, null, tmpOut);
+          points2[offset2++] = point ? point[0] : NaN;
+          points2[offset2++] = point ? point[1] : NaN;
+          tmpIn[vDimIdx] = highestVal;
+          point = coordSys.dataToPoint(tmpIn, null, tmpOut);
+          points2[offset2++] = point ? point[1] : NaN;
+        }
+        data3.setLayout("largePoints", points2);
+      }
+    }
+  };
+  function getSign2(data2, dataIndex, openVal, closeVal, closeDim) {
+    var sign;
+    if (openVal > closeVal) {
+      sign = -1;
+    } else if (openVal < closeVal) {
+      sign = 1;
+    } else {
+      sign = dataIndex > 0 ? data2.get(closeDim, dataIndex - 1) <= closeVal ? 1 : -1 : (
+        // No record of previous, set to be positive
+        1
+      );
+    }
+    return sign;
+  }
+  function calculateCandleWidth2(seriesModel, data2) {
+    var baseAxis = seriesModel.getBaseAxis();
+    var extent3;
+    var bandWidth = baseAxis.type === "category" ? baseAxis.getBandWidth() : (extent3 = baseAxis.getExtent(), Math.abs(extent3[1] - extent3[0]) / data2.count());
+    var barMaxWidth = parsePercent2(retrieve22(seriesModel.get("barMaxWidth"), bandWidth), bandWidth);
+    var barMinWidth = parsePercent2(retrieve22(seriesModel.get("barMinWidth"), 1), bandWidth);
+    var barWidth = seriesModel.get("barWidth");
+    return barWidth != null ? parsePercent2(barWidth, bandWidth) : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);
+  }
+  candlestickLayout$2 = _default68;
+  return candlestickLayout$2;
+}
+var hasRequiredCandlestick;
+function requireCandlestick() {
+  if (hasRequiredCandlestick)
+    return candlestick;
+  hasRequiredCandlestick = 1;
+  var echarts2 = echarts$1;
+  requireCandlestickSeries();
+  requireCandlestickView();
+  var preprocessor2 = requirePreprocessor$3();
+  var candlestickVisual2 = requireCandlestickVisual();
+  var candlestickLayout2 = requireCandlestickLayout();
+  echarts2.registerPreprocessor(preprocessor2);
+  echarts2.registerVisual(candlestickVisual2);
+  echarts2.registerLayout(candlestickLayout2);
+  return candlestick;
+}
+var effectScatter = {};
+var EffectScatterSeries;
+var hasRequiredEffectScatterSeries;
+function requireEffectScatterSeries() {
+  if (hasRequiredEffectScatterSeries)
+    return EffectScatterSeries;
+  hasRequiredEffectScatterSeries = 1;
+  var createListFromArray = requireCreateListFromArray();
+  var SeriesModel2 = Series;
+  var _default68 = SeriesModel2.extend({
+    type: "series.effectScatter",
+    dependencies: ["grid", "polar"],
+    getInitialData: function(option, ecModel) {
+      return createListFromArray(this.getSource(), this, {
+        useEncodeDefaulter: true
+      });
+    },
+    brushSelector: "point",
+    defaultOption: {
+      coordinateSystem: "cartesian2d",
+      zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      effectType: "ripple",
+      progressive: 0,
+      // When to show the effect, option: 'render'|'emphasis'
+      showEffectOn: "render",
+      // Ripple effect config
+      rippleEffect: {
+        period: 4,
+        // Scale of ripple
+        scale: 2.5,
+        // Brush type can be fill or stroke
+        brushType: "fill"
+      },
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Polar coordinate system
+      // polarIndex: 0,
+      // Geo coordinate system
+      // geoIndex: 0,
+      // symbol: null,        // 图形类型
+      symbolSize: 10
+      // 图形大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2
+      // symbolRotate: null,  // 图形旋转控制
+      // large: false,
+      // Available when large is true
+      // largeThreshold: 2000,
+      // itemStyle: {
+      //     opacity: 1
+      // }
+    }
+  });
+  EffectScatterSeries = _default68;
+  return EffectScatterSeries;
+}
+var EffectSymbol_1;
+var hasRequiredEffectSymbol;
+function requireEffectSymbol() {
+  if (hasRequiredEffectSymbol)
+    return EffectSymbol_1;
+  hasRequiredEffectSymbol = 1;
+  var zrUtil2 = util$a;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var _graphic = graphic$6;
+  var Group2 = _graphic.Group;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var SymbolClz2 = require_Symbol();
+  var EFFECT_RIPPLE_NUMBER = 3;
+  function normalizeSymbolSize2(symbolSize) {
+    if (!zrUtil2.isArray(symbolSize)) {
+      symbolSize = [+symbolSize, +symbolSize];
+    }
+    return symbolSize;
+  }
+  function updateRipplePath2(rippleGroup, effectCfg) {
+    var color2 = effectCfg.rippleEffectColor || effectCfg.color;
+    rippleGroup.eachChild(function(ripplePath) {
+      ripplePath.attr({
+        z: effectCfg.z,
+        zlevel: effectCfg.zlevel,
+        style: {
+          stroke: effectCfg.brushType === "stroke" ? color2 : null,
+          fill: effectCfg.brushType === "fill" ? color2 : null
+        }
+      });
+    });
+  }
+  function EffectSymbol2(data2, idx) {
+    Group2.call(this);
+    var symbol2 = new SymbolClz2(data2, idx);
+    var rippleGroup = new Group2();
+    this.add(symbol2);
+    this.add(rippleGroup);
+    rippleGroup.beforeUpdate = function() {
+      this.attr(symbol2.getScale());
+    };
+    this.updateData(data2, idx);
+  }
+  var effectSymbolProto = EffectSymbol2.prototype;
+  effectSymbolProto.stopEffectAnimation = function() {
+    this.childAt(1).removeAll();
+  };
+  effectSymbolProto.startEffectAnimation = function(effectCfg) {
+    var symbolType = effectCfg.symbolType;
+    var color2 = effectCfg.color;
+    var rippleGroup = this.childAt(1);
+    for (var i2 = 0; i2 < EFFECT_RIPPLE_NUMBER; i2++) {
+      var ripplePath = createSymbol2(symbolType, -1, -1, 2, 2, color2);
+      ripplePath.attr({
+        style: {
+          strokeNoScale: true
+        },
+        z2: 99,
+        silent: true,
+        scale: [0.5, 0.5]
+      });
+      var delay = -i2 / EFFECT_RIPPLE_NUMBER * effectCfg.period + effectCfg.effectOffset;
+      ripplePath.animate("", true).when(effectCfg.period, {
+        scale: [effectCfg.rippleScale / 2, effectCfg.rippleScale / 2]
+      }).delay(delay).start();
+      ripplePath.animateStyle(true).when(effectCfg.period, {
+        opacity: 0
+      }).delay(delay).start();
+      rippleGroup.add(ripplePath);
+    }
+    updateRipplePath2(rippleGroup, effectCfg);
+  };
+  effectSymbolProto.updateEffectAnimation = function(effectCfg) {
+    var oldEffectCfg = this._effectCfg;
+    var rippleGroup = this.childAt(1);
+    var DIFFICULT_PROPS = ["symbolType", "period", "rippleScale"];
+    for (var i2 = 0; i2 < DIFFICULT_PROPS.length; i2++) {
+      var propName = DIFFICULT_PROPS[i2];
+      if (oldEffectCfg[propName] !== effectCfg[propName]) {
+        this.stopEffectAnimation();
+        this.startEffectAnimation(effectCfg);
+        return;
+      }
+    }
+    updateRipplePath2(rippleGroup, effectCfg);
+  };
+  effectSymbolProto.highlight = function() {
+    this.trigger("emphasis");
+  };
+  effectSymbolProto.downplay = function() {
+    this.trigger("normal");
+  };
+  effectSymbolProto.updateData = function(data2, idx) {
+    var seriesModel = data2.hostModel;
+    this.childAt(0).updateData(data2, idx);
+    var rippleGroup = this.childAt(1);
+    var itemModel = data2.getItemModel(idx);
+    var symbolType = data2.getItemVisual(idx, "symbol");
+    var symbolSize = normalizeSymbolSize2(data2.getItemVisual(idx, "symbolSize"));
+    var color2 = data2.getItemVisual(idx, "color");
+    rippleGroup.attr("scale", symbolSize);
+    rippleGroup.traverse(function(ripplePath) {
+      ripplePath.attr({
+        fill: color2
+      });
+    });
+    var symbolOffset = itemModel.getShallow("symbolOffset");
+    if (symbolOffset) {
+      var pos = rippleGroup.position;
+      pos[0] = parsePercent2(symbolOffset[0], symbolSize[0]);
+      pos[1] = parsePercent2(symbolOffset[1], symbolSize[1]);
+    }
+    var symbolRotate = data2.getItemVisual(idx, "symbolRotate");
+    rippleGroup.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+    var effectCfg = {};
+    effectCfg.showEffectOn = seriesModel.get("showEffectOn");
+    effectCfg.rippleScale = itemModel.get("rippleEffect.scale");
+    effectCfg.brushType = itemModel.get("rippleEffect.brushType");
+    effectCfg.period = itemModel.get("rippleEffect.period") * 1e3;
+    effectCfg.effectOffset = idx / data2.count();
+    effectCfg.z = itemModel.getShallow("z") || 0;
+    effectCfg.zlevel = itemModel.getShallow("zlevel") || 0;
+    effectCfg.symbolType = symbolType;
+    effectCfg.color = color2;
+    effectCfg.rippleEffectColor = itemModel.get("rippleEffect.color");
+    this.off("mouseover").off("mouseout").off("emphasis").off("normal");
+    if (effectCfg.showEffectOn === "render") {
+      this._effectCfg ? this.updateEffectAnimation(effectCfg) : this.startEffectAnimation(effectCfg);
+      this._effectCfg = effectCfg;
+    } else {
+      this._effectCfg = null;
+      this.stopEffectAnimation();
+      var symbol2 = this.childAt(0);
+      var onEmphasis = function() {
+        symbol2.highlight();
+        if (effectCfg.showEffectOn !== "render") {
+          this.startEffectAnimation(effectCfg);
+        }
+      };
+      var onNormal = function() {
+        symbol2.downplay();
+        if (effectCfg.showEffectOn !== "render") {
+          this.stopEffectAnimation();
+        }
+      };
+      this.on("mouseover", onEmphasis, this).on("mouseout", onNormal, this).on("emphasis", onEmphasis, this).on("normal", onNormal, this);
+    }
+    this._effectCfg = effectCfg;
+  };
+  effectSymbolProto.fadeOut = function(cb) {
+    this.off("mouseover").off("mouseout").off("emphasis").off("normal");
+    cb && cb();
+  };
+  zrUtil2.inherits(EffectSymbol2, Group2);
+  var _default68 = EffectSymbol2;
+  EffectSymbol_1 = _default68;
+  return EffectSymbol_1;
+}
+var EffectScatterView$2;
+var hasRequiredEffectScatterView;
+function requireEffectScatterView() {
+  if (hasRequiredEffectScatterView)
+    return EffectScatterView$2;
+  hasRequiredEffectScatterView = 1;
+  var echarts2 = echarts$1;
+  var SymbolDraw2 = requireSymbolDraw();
+  var EffectSymbol2 = requireEffectSymbol();
+  var matrix2 = matrix$5;
+  var pointsLayout2 = requirePoints();
+  var _default68 = echarts2.extendChartView({
+    type: "effectScatter",
+    init: function() {
+      this._symbolDraw = new SymbolDraw2(EffectSymbol2);
+    },
+    render: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var effectSymbolDraw = this._symbolDraw;
+      effectSymbolDraw.updateData(data2);
+      this.group.add(effectSymbolDraw.group);
+    },
+    updateTransform: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      this.group.dirty();
+      var res = pointsLayout2().reset(seriesModel);
+      if (res.progress) {
+        res.progress({
+          start: 0,
+          end: data2.count()
+        }, data2);
+      }
+      this._symbolDraw.updateLayout(data2);
+    },
+    _updateGroupTransform: function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys && coordSys.getRoamTransform) {
+        this.group.transform = matrix2.clone(coordSys.getRoamTransform());
+        this.group.decomposeTransform();
+      }
+    },
+    remove: function(ecModel, api2) {
+      this._symbolDraw && this._symbolDraw.remove(api2);
+    },
+    dispose: function() {
+    }
+  });
+  EffectScatterView$2 = _default68;
+  return EffectScatterView$2;
+}
+var hasRequiredEffectScatter;
+function requireEffectScatter() {
+  if (hasRequiredEffectScatter)
+    return effectScatter;
+  hasRequiredEffectScatter = 1;
+  var echarts2 = echarts$1;
+  requireEffectScatterSeries();
+  requireEffectScatterView();
+  var visualSymbol = requireSymbol();
+  var layoutPoints = requirePoints();
+  echarts2.registerVisual(visualSymbol("effectScatter", "circle"));
+  echarts2.registerLayout(layoutPoints("effectScatter"));
+  return effectScatter;
+}
+var lines = {};
+var LinesSeries_1;
+var hasRequiredLinesSeries;
+function requireLinesSeries() {
+  if (hasRequiredLinesSeries)
+    return LinesSeries_1;
+  hasRequiredLinesSeries = 1;
+  var SeriesModel2 = Series;
+  var List = requireList();
+  var _util2 = util$a;
+  var concatArray2 = _util2.concatArray;
+  var mergeAll2 = _util2.mergeAll;
+  var map2 = _util2.map;
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var Uint32Arr2 = typeof Uint32Array === "undefined" ? Array : Uint32Array;
+  var Float64Arr2 = typeof Float64Array === "undefined" ? Array : Float64Array;
+  function compatEc22(seriesOpt) {
+    var data2 = seriesOpt.data;
+    if (data2 && data2[0] && data2[0][0] && data2[0][0].coord) {
+      seriesOpt.data = map2(data2, function(itemOpt) {
+        var coords = [itemOpt[0].coord, itemOpt[1].coord];
+        var target = {
+          coords
+        };
+        if (itemOpt[0].name) {
+          target.fromName = itemOpt[0].name;
+        }
+        if (itemOpt[1].name) {
+          target.toName = itemOpt[1].name;
+        }
+        return mergeAll2([target, itemOpt[0], itemOpt[1]]);
+      });
+    }
+  }
+  var LinesSeries = SeriesModel2.extend({
+    type: "series.lines",
+    dependencies: ["grid", "polar"],
+    visualColorAccessPath: "lineStyle.color",
+    init: function(option) {
+      option.data = option.data || [];
+      compatEc22(option);
+      var result2 = this._processFlatCoordsArray(option.data);
+      this._flatCoords = result2.flatCoords;
+      this._flatCoordsOffset = result2.flatCoordsOffset;
+      if (result2.flatCoords) {
+        option.data = new Float32Array(result2.count);
+      }
+      LinesSeries.superApply(this, "init", arguments);
+    },
+    mergeOption: function(option) {
+      compatEc22(option);
+      if (option.data) {
+        var result2 = this._processFlatCoordsArray(option.data);
+        this._flatCoords = result2.flatCoords;
+        this._flatCoordsOffset = result2.flatCoordsOffset;
+        if (result2.flatCoords) {
+          option.data = new Float32Array(result2.count);
+        }
+      }
+      LinesSeries.superApply(this, "mergeOption", arguments);
+    },
+    appendData: function(params2) {
+      var result2 = this._processFlatCoordsArray(params2.data);
+      if (result2.flatCoords) {
+        if (!this._flatCoords) {
+          this._flatCoords = result2.flatCoords;
+          this._flatCoordsOffset = result2.flatCoordsOffset;
+        } else {
+          this._flatCoords = concatArray2(this._flatCoords, result2.flatCoords);
+          this._flatCoordsOffset = concatArray2(this._flatCoordsOffset, result2.flatCoordsOffset);
+        }
+        params2.data = new Float32Array(result2.count);
+      }
+      this.getRawData().appendData(params2.data);
+    },
+    _getCoordsFromItemModel: function(idx) {
+      var itemModel = this.getData().getItemModel(idx);
+      var coords = itemModel.option instanceof Array ? itemModel.option : itemModel.getShallow("coords");
+      return coords;
+    },
+    getLineCoordsCount: function(idx) {
+      if (this._flatCoordsOffset) {
+        return this._flatCoordsOffset[idx * 2 + 1];
+      } else {
+        return this._getCoordsFromItemModel(idx).length;
+      }
+    },
+    getLineCoords: function(idx, out2) {
+      if (this._flatCoordsOffset) {
+        var offset2 = this._flatCoordsOffset[idx * 2];
+        var len2 = this._flatCoordsOffset[idx * 2 + 1];
+        for (var i2 = 0; i2 < len2; i2++) {
+          out2[i2] = out2[i2] || [];
+          out2[i2][0] = this._flatCoords[offset2 + i2 * 2];
+          out2[i2][1] = this._flatCoords[offset2 + i2 * 2 + 1];
+        }
+        return len2;
+      } else {
+        var coords = this._getCoordsFromItemModel(idx);
+        for (var i2 = 0; i2 < coords.length; i2++) {
+          out2[i2] = out2[i2] || [];
+          out2[i2][0] = coords[i2][0];
+          out2[i2][1] = coords[i2][1];
+        }
+        return coords.length;
+      }
+    },
+    _processFlatCoordsArray: function(data2) {
+      var startOffset = 0;
+      if (this._flatCoords) {
+        startOffset = this._flatCoords.length;
+      }
+      if (typeof data2[0] === "number") {
+        var len2 = data2.length;
+        var coordsOffsetAndLenStorage = new Uint32Arr2(len2);
+        var coordsStorage = new Float64Arr2(len2);
+        var coordsCursor = 0;
+        var offsetCursor = 0;
+        var dataCount = 0;
+        for (var i2 = 0; i2 < len2; ) {
+          dataCount++;
+          var count2 = data2[i2++];
+          coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset;
+          coordsOffsetAndLenStorage[offsetCursor++] = count2;
+          for (var k2 = 0; k2 < count2; k2++) {
+            var x2 = data2[i2++];
+            var y2 = data2[i2++];
+            coordsStorage[coordsCursor++] = x2;
+            coordsStorage[coordsCursor++] = y2;
+          }
+        }
+        return {
+          flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),
+          flatCoords: coordsStorage,
+          count: dataCount
+        };
+      }
+      return {
+        flatCoordsOffset: null,
+        flatCoords: null,
+        count: data2.length
+      };
+    },
+    getInitialData: function(option, ecModel) {
+      var lineData = new List(["value"], this);
+      lineData.hasItemOption = false;
+      lineData.initData(option.data, [], function(dataItem, dimName, dataIndex, dimIndex) {
+        if (dataItem instanceof Array) {
+          return NaN;
+        } else {
+          lineData.hasItemOption = true;
+          var value = dataItem.value;
+          if (value != null) {
+            return value instanceof Array ? value[dimIndex] : value;
+          }
+        }
+      });
+      return lineData;
+    },
+    formatTooltip: function(dataIndex) {
+      var data2 = this.getData();
+      var itemModel = data2.getItemModel(dataIndex);
+      var name2 = itemModel.get("name");
+      if (name2) {
+        return name2;
+      }
+      var fromName = itemModel.get("fromName");
+      var toName = itemModel.get("toName");
+      var html = [];
+      fromName != null && html.push(fromName);
+      toName != null && html.push(toName);
+      return encodeHTML2(html.join(" > "));
+    },
+    preventIncremental: function() {
+      return !!this.get("effect.show");
+    },
+    getProgressive: function() {
+      var progressive = this.option.progressive;
+      if (progressive == null) {
+        return this.option.large ? 1e4 : this.get("progressive");
+      }
+      return progressive;
+    },
+    getProgressiveThreshold: function() {
+      var progressiveThreshold = this.option.progressiveThreshold;
+      if (progressiveThreshold == null) {
+        return this.option.large ? 2e4 : this.get("progressiveThreshold");
+      }
+      return progressiveThreshold;
+    },
+    defaultOption: {
+      coordinateSystem: "geo",
+      zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      hoverAnimation: true,
+      // Cartesian coordinate system
+      xAxisIndex: 0,
+      yAxisIndex: 0,
+      symbol: ["none", "none"],
+      symbolSize: [10, 10],
+      // Geo coordinate system
+      geoIndex: 0,
+      effect: {
+        show: false,
+        period: 4,
+        // Animation delay. support callback
+        // delay: 0,
+        // If move with constant speed px/sec
+        // period will be ignored if this property is > 0,
+        constantSpeed: 0,
+        symbol: "circle",
+        symbolSize: 3,
+        loop: true,
+        // Length of trail, 0 - 1
+        trailLength: 0.2
+        // Same with lineStyle.color
+        // color
+      },
+      large: false,
+      // Available when large is true
+      largeThreshold: 2e3,
+      // If lines are polyline
+      // polyline not support curveness, label, animation
+      polyline: false,
+      // If clip the overflow.
+      // Available when coordinateSystem is cartesian or polar.
+      clip: true,
+      label: {
+        show: false,
+        position: "end"
+        // distance: 5,
+        // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
+      },
+      lineStyle: {
+        opacity: 0.5
+      }
+    }
+  });
+  var _default68 = LinesSeries;
+  LinesSeries_1 = _default68;
+  return LinesSeries_1;
+}
+var EffectLine_1;
+var hasRequiredEffectLine;
+function requireEffectLine() {
+  if (hasRequiredEffectLine)
+    return EffectLine_1;
+  hasRequiredEffectLine = 1;
+  var graphic2 = graphic$6;
+  var Line2 = requireLine();
+  var zrUtil2 = util$a;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var vec22 = vector$3;
+  var curveUtil = curve$3;
+  function EffectLine2(lineData, idx, seriesScope) {
+    graphic2.Group.call(this);
+    this.add(this.createLine(lineData, idx, seriesScope));
+    this._updateEffectSymbol(lineData, idx);
+  }
+  var effectLineProto = EffectLine2.prototype;
+  effectLineProto.createLine = function(lineData, idx, seriesScope) {
+    return new Line2(lineData, idx, seriesScope);
+  };
+  effectLineProto._updateEffectSymbol = function(lineData, idx) {
+    var itemModel = lineData.getItemModel(idx);
+    var effectModel = itemModel.getModel("effect");
+    var size = effectModel.get("symbolSize");
+    var symbolType = effectModel.get("symbol");
+    if (!zrUtil2.isArray(size)) {
+      size = [size, size];
+    }
+    var color2 = effectModel.get("color") || lineData.getItemVisual(idx, "color");
+    var symbol2 = this.childAt(1);
+    if (this._symbolType !== symbolType) {
+      this.remove(symbol2);
+      symbol2 = createSymbol2(symbolType, -0.5, -0.5, 1, 1, color2);
+      symbol2.z2 = 100;
+      symbol2.culling = true;
+      this.add(symbol2);
+    }
+    if (!symbol2) {
+      return;
+    }
+    symbol2.setStyle("shadowColor", color2);
+    symbol2.setStyle(effectModel.getItemStyle(["color"]));
+    symbol2.attr("scale", size);
+    symbol2.setColor(color2);
+    symbol2.attr("scale", size);
+    this._symbolType = symbolType;
+    this._symbolScale = size;
+    this._updateEffectAnimation(lineData, effectModel, idx);
+  };
+  effectLineProto._updateEffectAnimation = function(lineData, effectModel, idx) {
+    var symbol2 = this.childAt(1);
+    if (!symbol2) {
+      return;
+    }
+    var self2 = this;
+    var points2 = lineData.getItemLayout(idx);
+    var period = effectModel.get("period") * 1e3;
+    var loop = effectModel.get("loop");
+    var constantSpeed = effectModel.get("constantSpeed");
+    var delayExpr = zrUtil2.retrieve(effectModel.get("delay"), function(idx2) {
+      return idx2 / lineData.count() * period / 3;
+    });
+    var isDelayFunc = typeof delayExpr === "function";
+    symbol2.ignore = true;
+    this.updateAnimationPoints(symbol2, points2);
+    if (constantSpeed > 0) {
+      period = this.getLineLength(symbol2) / constantSpeed * 1e3;
+    }
+    if (period !== this._period || loop !== this._loop) {
+      symbol2.stopAnimation();
+      var delay = delayExpr;
+      if (isDelayFunc) {
+        delay = delayExpr(idx);
+      }
+      if (symbol2.__t > 0) {
+        delay = -period * symbol2.__t;
+      }
+      symbol2.__t = 0;
+      var animator = symbol2.animate("", loop).when(period, {
+        __t: 1
+      }).delay(delay).during(function() {
+        self2.updateSymbolPosition(symbol2);
+      });
+      if (!loop) {
+        animator.done(function() {
+          self2.remove(symbol2);
+        });
+      }
+      animator.start();
+    }
+    this._period = period;
+    this._loop = loop;
+  };
+  effectLineProto.getLineLength = function(symbol2) {
+    return vec22.dist(symbol2.__p1, symbol2.__cp1) + vec22.dist(symbol2.__cp1, symbol2.__p2);
+  };
+  effectLineProto.updateAnimationPoints = function(symbol2, points2) {
+    symbol2.__p1 = points2[0];
+    symbol2.__p2 = points2[1];
+    symbol2.__cp1 = points2[2] || [(points2[0][0] + points2[1][0]) / 2, (points2[0][1] + points2[1][1]) / 2];
+  };
+  effectLineProto.updateData = function(lineData, idx, seriesScope) {
+    this.childAt(0).updateData(lineData, idx, seriesScope);
+    this._updateEffectSymbol(lineData, idx);
+  };
+  effectLineProto.updateSymbolPosition = function(symbol2) {
+    var p1 = symbol2.__p1;
+    var p2 = symbol2.__p2;
+    var cp1 = symbol2.__cp1;
+    var t2 = symbol2.__t;
+    var pos = symbol2.position;
+    var lastPos = [pos[0], pos[1]];
+    var quadraticAt2 = curveUtil.quadraticAt;
+    var quadraticDerivativeAt2 = curveUtil.quadraticDerivativeAt;
+    pos[0] = quadraticAt2(p1[0], cp1[0], p2[0], t2);
+    pos[1] = quadraticAt2(p1[1], cp1[1], p2[1], t2);
+    var tx = quadraticDerivativeAt2(p1[0], cp1[0], p2[0], t2);
+    var ty = quadraticDerivativeAt2(p1[1], cp1[1], p2[1], t2);
+    symbol2.rotation = -Math.atan2(ty, tx) - Math.PI / 2;
+    if (this._symbolType === "line" || this._symbolType === "rect" || this._symbolType === "roundRect") {
+      if (symbol2.__lastT !== void 0 && symbol2.__lastT < symbol2.__t) {
+        var scaleY = vec22.dist(lastPos, pos) * 1.05;
+        symbol2.attr("scale", [symbol2.scale[0], scaleY]);
+        if (t2 === 1) {
+          pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;
+          pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;
+        }
+      } else if (symbol2.__lastT === 1) {
+        var scaleY = 2 * vec22.dist(p1, pos);
+        symbol2.attr("scale", [symbol2.scale[0], scaleY]);
+      } else {
+        symbol2.attr("scale", this._symbolScale);
+      }
+    }
+    symbol2.__lastT = symbol2.__t;
+    symbol2.ignore = false;
+  };
+  effectLineProto.updateLayout = function(lineData, idx) {
+    this.childAt(0).updateLayout(lineData, idx);
+    var effectModel = lineData.getItemModel(idx).getModel("effect");
+    this._updateEffectAnimation(lineData, effectModel, idx);
+  };
+  zrUtil2.inherits(EffectLine2, graphic2.Group);
+  var _default68 = EffectLine2;
+  EffectLine_1 = _default68;
+  return EffectLine_1;
+}
+var Polyline_1;
+var hasRequiredPolyline;
+function requirePolyline() {
+  if (hasRequiredPolyline)
+    return Polyline_1;
+  hasRequiredPolyline = 1;
+  var graphic2 = graphic$6;
+  var zrUtil2 = util$a;
+  function Polyline2(lineData, idx, seriesScope) {
+    graphic2.Group.call(this);
+    this._createPolyline(lineData, idx, seriesScope);
+  }
+  var polylineProto = Polyline2.prototype;
+  polylineProto._createPolyline = function(lineData, idx, seriesScope) {
+    var points2 = lineData.getItemLayout(idx);
+    var line2 = new graphic2.Polyline({
+      shape: {
+        points: points2
+      }
+    });
+    this.add(line2);
+    this._updateCommonStl(lineData, idx, seriesScope);
+  };
+  polylineProto.updateData = function(lineData, idx, seriesScope) {
+    var seriesModel = lineData.hostModel;
+    var line2 = this.childAt(0);
+    var target = {
+      shape: {
+        points: lineData.getItemLayout(idx)
+      }
+    };
+    graphic2.updateProps(line2, target, seriesModel, idx);
+    this._updateCommonStl(lineData, idx, seriesScope);
+  };
+  polylineProto._updateCommonStl = function(lineData, idx, seriesScope) {
+    var line2 = this.childAt(0);
+    var itemModel = lineData.getItemModel(idx);
+    var visualColor = lineData.getItemVisual(idx, "color");
+    var lineStyle2 = seriesScope && seriesScope.lineStyle;
+    var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;
+    if (!seriesScope || lineData.hasItemOption) {
+      lineStyle2 = itemModel.getModel("lineStyle").getLineStyle();
+      hoverLineStyle = itemModel.getModel("emphasis.lineStyle").getLineStyle();
+    }
+    line2.useStyle(zrUtil2.defaults({
+      strokeNoScale: true,
+      fill: "none",
+      stroke: visualColor
+    }, lineStyle2));
+    line2.hoverStyle = hoverLineStyle;
+    graphic2.setHoverStyle(this);
+  };
+  polylineProto.updateLayout = function(lineData, idx) {
+    var polyline = this.childAt(0);
+    polyline.setShape("points", lineData.getItemLayout(idx));
+  };
+  zrUtil2.inherits(Polyline2, graphic2.Group);
+  var _default68 = Polyline2;
+  Polyline_1 = _default68;
+  return Polyline_1;
+}
+var EffectPolyline_1;
+var hasRequiredEffectPolyline;
+function requireEffectPolyline() {
+  if (hasRequiredEffectPolyline)
+    return EffectPolyline_1;
+  hasRequiredEffectPolyline = 1;
+  var Polyline2 = requirePolyline();
+  var zrUtil2 = util$a;
+  var EffectLine2 = requireEffectLine();
+  var vec22 = vector$3;
+  function EffectPolyline2(lineData, idx, seriesScope) {
+    EffectLine2.call(this, lineData, idx, seriesScope);
+    this._lastFrame = 0;
+    this._lastFramePercent = 0;
+  }
+  var effectPolylineProto = EffectPolyline2.prototype;
+  effectPolylineProto.createLine = function(lineData, idx, seriesScope) {
+    return new Polyline2(lineData, idx, seriesScope);
+  };
+  effectPolylineProto.updateAnimationPoints = function(symbol2, points2) {
+    this._points = points2;
+    var accLenArr = [0];
+    var len2 = 0;
+    for (var i2 = 1; i2 < points2.length; i2++) {
+      var p1 = points2[i2 - 1];
+      var p2 = points2[i2];
+      len2 += vec22.dist(p1, p2);
+      accLenArr.push(len2);
+    }
+    if (len2 === 0) {
+      return;
+    }
+    for (var i2 = 0; i2 < accLenArr.length; i2++) {
+      accLenArr[i2] /= len2;
+    }
+    this._offsets = accLenArr;
+    this._length = len2;
+  };
+  effectPolylineProto.getLineLength = function(symbol2) {
+    return this._length;
+  };
+  effectPolylineProto.updateSymbolPosition = function(symbol2) {
+    var t2 = symbol2.__t;
+    var points2 = this._points;
+    var offsets = this._offsets;
+    var len2 = points2.length;
+    if (!offsets) {
+      return;
+    }
+    var lastFrame = this._lastFrame;
+    var frame;
+    if (t2 < this._lastFramePercent) {
+      var start2 = Math.min(lastFrame + 1, len2 - 1);
+      for (frame = start2; frame >= 0; frame--) {
+        if (offsets[frame] <= t2) {
+          break;
+        }
+      }
+      frame = Math.min(frame, len2 - 2);
+    } else {
+      for (var frame = lastFrame; frame < len2; frame++) {
+        if (offsets[frame] > t2) {
+          break;
+        }
+      }
+      frame = Math.min(frame - 1, len2 - 2);
+    }
+    vec22.lerp(symbol2.position, points2[frame], points2[frame + 1], (t2 - offsets[frame]) / (offsets[frame + 1] - offsets[frame]));
+    var tx = points2[frame + 1][0] - points2[frame][0];
+    var ty = points2[frame + 1][1] - points2[frame][1];
+    symbol2.rotation = -Math.atan2(ty, tx) - Math.PI / 2;
+    this._lastFrame = frame;
+    this._lastFramePercent = t2;
+    symbol2.ignore = false;
+  };
+  zrUtil2.inherits(EffectPolyline2, EffectLine2);
+  var _default68 = EffectPolyline2;
+  EffectPolyline_1 = _default68;
+  return EffectPolyline_1;
+}
+var LargeLineDraw_1;
+var hasRequiredLargeLineDraw;
+function requireLargeLineDraw() {
+  if (hasRequiredLargeLineDraw)
+    return LargeLineDraw_1;
+  hasRequiredLargeLineDraw = 1;
+  var graphic2 = graphic$6;
+  var IncrementalDisplayable2 = IncrementalDisplayable$3;
+  var lineContain = line$2;
+  var quadraticContain = quadratic$1;
+  var LargeLineShape = graphic2.extendShape({
+    shape: {
+      polyline: false,
+      curveness: 0,
+      segs: []
+    },
+    buildPath: function(path2, shape) {
+      var segs = shape.segs;
+      var curveness = shape.curveness;
+      if (shape.polyline) {
+        for (var i2 = 0; i2 < segs.length; ) {
+          var count2 = segs[i2++];
+          if (count2 > 0) {
+            path2.moveTo(segs[i2++], segs[i2++]);
+            for (var k2 = 1; k2 < count2; k2++) {
+              path2.lineTo(segs[i2++], segs[i2++]);
+            }
+          }
+        }
+      } else {
+        for (var i2 = 0; i2 < segs.length; ) {
+          var x0 = segs[i2++];
+          var y0 = segs[i2++];
+          var x1 = segs[i2++];
+          var y1 = segs[i2++];
+          path2.moveTo(x0, y0);
+          if (curveness > 0) {
+            var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;
+            var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;
+            path2.quadraticCurveTo(x2, y2, x1, y1);
+          } else {
+            path2.lineTo(x1, y1);
+          }
+        }
+      }
+    },
+    findDataIndex: function(x2, y2) {
+      var shape = this.shape;
+      var segs = shape.segs;
+      var curveness = shape.curveness;
+      if (shape.polyline) {
+        var dataIndex = 0;
+        for (var i2 = 0; i2 < segs.length; ) {
+          var count2 = segs[i2++];
+          if (count2 > 0) {
+            var x0 = segs[i2++];
+            var y0 = segs[i2++];
+            for (var k2 = 1; k2 < count2; k2++) {
+              var x1 = segs[i2++];
+              var y1 = segs[i2++];
+              if (lineContain.containStroke(x0, y0, x1, y1)) {
+                return dataIndex;
+              }
+            }
+          }
+          dataIndex++;
+        }
+      } else {
+        var dataIndex = 0;
+        for (var i2 = 0; i2 < segs.length; ) {
+          var x0 = segs[i2++];
+          var y0 = segs[i2++];
+          var x1 = segs[i2++];
+          var y1 = segs[i2++];
+          if (curveness > 0) {
+            var x22 = (x0 + x1) / 2 - (y0 - y1) * curveness;
+            var y22 = (y0 + y1) / 2 - (x1 - x0) * curveness;
+            if (quadraticContain.containStroke(x0, y0, x22, y22, x1, y1)) {
+              return dataIndex;
+            }
+          } else {
+            if (lineContain.containStroke(x0, y0, x1, y1)) {
+              return dataIndex;
+            }
+          }
+          dataIndex++;
+        }
+      }
+      return -1;
+    }
+  });
+  function LargeLineDraw2() {
+    this.group = new graphic2.Group();
+  }
+  var largeLineProto = LargeLineDraw2.prototype;
+  largeLineProto.isPersistent = function() {
+    return !this._incremental;
+  };
+  largeLineProto.updateData = function(data2) {
+    this.group.removeAll();
+    var lineEl = new LargeLineShape({
+      rectHover: true,
+      cursor: "default"
+    });
+    lineEl.setShape({
+      segs: data2.getLayout("linesPoints")
+    });
+    this._setCommon(lineEl, data2);
+    this.group.add(lineEl);
+    this._incremental = null;
+  };
+  largeLineProto.incrementalPrepareUpdate = function(data2) {
+    this.group.removeAll();
+    this._clearIncremental();
+    if (data2.count() > 5e5) {
+      if (!this._incremental) {
+        this._incremental = new IncrementalDisplayable2({
+          silent: true
+        });
+      }
+      this.group.add(this._incremental);
+    } else {
+      this._incremental = null;
+    }
+  };
+  largeLineProto.incrementalUpdate = function(taskParams, data2) {
+    var lineEl = new LargeLineShape();
+    lineEl.setShape({
+      segs: data2.getLayout("linesPoints")
+    });
+    this._setCommon(lineEl, data2, !!this._incremental);
+    if (!this._incremental) {
+      lineEl.rectHover = true;
+      lineEl.cursor = "default";
+      lineEl.__startIndex = taskParams.start;
+      this.group.add(lineEl);
+    } else {
+      this._incremental.addDisplayable(lineEl, true);
+    }
+  };
+  largeLineProto.remove = function() {
+    this._clearIncremental();
+    this._incremental = null;
+    this.group.removeAll();
+  };
+  largeLineProto._setCommon = function(lineEl, data2, isIncremental) {
+    var hostModel = data2.hostModel;
+    lineEl.setShape({
+      polyline: hostModel.get("polyline"),
+      curveness: hostModel.get("lineStyle.curveness")
+    });
+    lineEl.useStyle(hostModel.getModel("lineStyle").getLineStyle());
+    lineEl.style.strokeNoScale = true;
+    var visualColor = data2.getVisual("color");
+    if (visualColor) {
+      lineEl.setStyle("stroke", visualColor);
+    }
+    lineEl.setStyle("fill");
+    if (!isIncremental) {
+      lineEl.seriesIndex = hostModel.seriesIndex;
+      lineEl.on("mousemove", function(e2) {
+        lineEl.dataIndex = null;
+        var dataIndex = lineEl.findDataIndex(e2.offsetX, e2.offsetY);
+        if (dataIndex > 0) {
+          lineEl.dataIndex = dataIndex + lineEl.__startIndex;
+        }
+      });
+    }
+  };
+  largeLineProto._clearIncremental = function() {
+    var incremental = this._incremental;
+    if (incremental) {
+      incremental.clearDisplaybles();
+    }
+  };
+  var _default68 = LargeLineDraw2;
+  LargeLineDraw_1 = _default68;
+  return LargeLineDraw_1;
+}
+var linesLayout$2;
+var hasRequiredLinesLayout;
+function requireLinesLayout() {
+  if (hasRequiredLinesLayout)
+    return linesLayout$2;
+  hasRequiredLinesLayout = 1;
+  var createRenderPlanner2 = createRenderPlanner$2;
+  var _default68 = {
+    seriesType: "lines",
+    plan: createRenderPlanner2(),
+    reset: function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var isPolyline = seriesModel.get("polyline");
+      var isLarge = seriesModel.pipelineContext.large;
+      function progress(params2, lineData) {
+        var lineCoords = [];
+        if (isLarge) {
+          var points2;
+          var segCount = params2.end - params2.start;
+          if (isPolyline) {
+            var totalCoordsCount = 0;
+            for (var i2 = params2.start; i2 < params2.end; i2++) {
+              totalCoordsCount += seriesModel.getLineCoordsCount(i2);
+            }
+            points2 = new Float32Array(segCount + totalCoordsCount * 2);
+          } else {
+            points2 = new Float32Array(segCount * 4);
+          }
+          var offset2 = 0;
+          var pt = [];
+          for (var i2 = params2.start; i2 < params2.end; i2++) {
+            var len2 = seriesModel.getLineCoords(i2, lineCoords);
+            if (isPolyline) {
+              points2[offset2++] = len2;
+            }
+            for (var k2 = 0; k2 < len2; k2++) {
+              pt = coordSys.dataToPoint(lineCoords[k2], false, pt);
+              points2[offset2++] = pt[0];
+              points2[offset2++] = pt[1];
+            }
+          }
+          lineData.setLayout("linesPoints", points2);
+        } else {
+          for (var i2 = params2.start; i2 < params2.end; i2++) {
+            var itemModel = lineData.getItemModel(i2);
+            var len2 = seriesModel.getLineCoords(i2, lineCoords);
+            var pts = [];
+            if (isPolyline) {
+              for (var j2 = 0; j2 < len2; j2++) {
+                pts.push(coordSys.dataToPoint(lineCoords[j2]));
+              }
+            } else {
+              pts[0] = coordSys.dataToPoint(lineCoords[0]);
+              pts[1] = coordSys.dataToPoint(lineCoords[1]);
+              var curveness = itemModel.get("lineStyle.curveness");
+              if (+curveness) {
+                pts[2] = [(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness, (pts[0][1] + pts[1][1]) / 2 - (pts[1][0] - pts[0][0]) * curveness];
+              }
+            }
+            lineData.setItemLayout(i2, pts);
+          }
+        }
+      }
+      return {
+        progress
+      };
+    }
+  };
+  linesLayout$2 = _default68;
+  return linesLayout$2;
+}
+var LinesView$2;
+var hasRequiredLinesView;
+function requireLinesView() {
+  if (hasRequiredLinesView)
+    return LinesView$2;
+  hasRequiredLinesView = 1;
+  var echarts2 = echarts$1;
+  var LineDraw2 = requireLineDraw();
+  var EffectLine2 = requireEffectLine();
+  var Line2 = requireLine();
+  var Polyline2 = requirePolyline();
+  var EffectPolyline2 = requireEffectPolyline();
+  var LargeLineDraw2 = requireLargeLineDraw();
+  var linesLayout2 = requireLinesLayout();
+  var _createClipPathFromCoordSys = requireCreateClipPathFromCoordSys();
+  var createClipPath2 = _createClipPathFromCoordSys.createClipPath;
+  var _default68 = echarts2.extendChartView({
+    type: "lines",
+    init: function() {
+    },
+    render: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var lineDraw = this._updateLineDraw(data2, seriesModel);
+      var zlevel = seriesModel.get("zlevel");
+      var trailLength = seriesModel.get("effect.trailLength");
+      var zr = api2.getZr();
+      var isSvg = zr.painter.getType() === "svg";
+      if (!isSvg) {
+        zr.painter.getLayer(zlevel).clear(true);
+      }
+      if (this._lastZlevel != null && !isSvg) {
+        zr.configLayer(this._lastZlevel, {
+          motionBlur: false
+        });
+      }
+      if (this._showEffect(seriesModel) && trailLength) {
+        if (!isSvg) {
+          zr.configLayer(zlevel, {
+            motionBlur: true,
+            lastFrameAlpha: Math.max(Math.min(trailLength / 10 + 0.9, 1), 0)
+          });
+        }
+      }
+      lineDraw.updateData(data2);
+      var clipPath = seriesModel.get("clip", true) && createClipPath2(seriesModel.coordinateSystem, false, seriesModel);
+      if (clipPath) {
+        this.group.setClipPath(clipPath);
+      } else {
+        this.group.removeClipPath();
+      }
+      this._lastZlevel = zlevel;
+      this._finished = true;
+    },
+    incrementalPrepareRender: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var lineDraw = this._updateLineDraw(data2, seriesModel);
+      lineDraw.incrementalPrepareUpdate(data2);
+      this._clearLayer(api2);
+      this._finished = false;
+    },
+    incrementalRender: function(taskParams, seriesModel, ecModel) {
+      this._lineDraw.incrementalUpdate(taskParams, seriesModel.getData());
+      this._finished = taskParams.end === seriesModel.getData().count();
+    },
+    updateTransform: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var pipelineContext = seriesModel.pipelineContext;
+      if (!this._finished || pipelineContext.large || pipelineContext.progressiveRender) {
+        return {
+          update: true
+        };
+      } else {
+        var res = linesLayout2.reset(seriesModel);
+        if (res.progress) {
+          res.progress({
+            start: 0,
+            end: data2.count()
+          }, data2);
+        }
+        this._lineDraw.updateLayout();
+        this._clearLayer(api2);
+      }
+    },
+    _updateLineDraw: function(data2, seriesModel) {
+      var lineDraw = this._lineDraw;
+      var hasEffect = this._showEffect(seriesModel);
+      var isPolyline = !!seriesModel.get("polyline");
+      var pipelineContext = seriesModel.pipelineContext;
+      var isLargeDraw = pipelineContext.large;
+      if (!lineDraw || hasEffect !== this._hasEffet || isPolyline !== this._isPolyline || isLargeDraw !== this._isLargeDraw) {
+        if (lineDraw) {
+          lineDraw.remove();
+        }
+        lineDraw = this._lineDraw = isLargeDraw ? new LargeLineDraw2() : new LineDraw2(isPolyline ? hasEffect ? EffectPolyline2 : Polyline2 : hasEffect ? EffectLine2 : Line2);
+        this._hasEffet = hasEffect;
+        this._isPolyline = isPolyline;
+        this._isLargeDraw = isLargeDraw;
+        this.group.removeAll();
+      }
+      this.group.add(lineDraw.group);
+      return lineDraw;
+    },
+    _showEffect: function(seriesModel) {
+      return !!seriesModel.get("effect.show");
+    },
+    _clearLayer: function(api2) {
+      var zr = api2.getZr();
+      var isSvg = zr.painter.getType() === "svg";
+      if (!isSvg && this._lastZlevel != null) {
+        zr.painter.getLayer(this._lastZlevel).clear(true);
+      }
+    },
+    remove: function(ecModel, api2) {
+      this._lineDraw && this._lineDraw.remove();
+      this._lineDraw = null;
+      this._clearLayer(api2);
+    },
+    dispose: function() {
+    }
+  });
+  LinesView$2 = _default68;
+  return LinesView$2;
+}
+var linesVisual$2;
+var hasRequiredLinesVisual;
+function requireLinesVisual() {
+  if (hasRequiredLinesVisual)
+    return linesVisual$2;
+  hasRequiredLinesVisual = 1;
+  function normalize2(a2) {
+    if (!(a2 instanceof Array)) {
+      a2 = [a2, a2];
+    }
+    return a2;
+  }
+  var opacityQuery = "lineStyle.opacity".split(".");
+  var _default68 = {
+    seriesType: "lines",
+    reset: function(seriesModel, ecModel, api2) {
+      var symbolType = normalize2(seriesModel.get("symbol"));
+      var symbolSize = normalize2(seriesModel.get("symbolSize"));
+      var data2 = seriesModel.getData();
+      data2.setVisual("fromSymbol", symbolType && symbolType[0]);
+      data2.setVisual("toSymbol", symbolType && symbolType[1]);
+      data2.setVisual("fromSymbolSize", symbolSize && symbolSize[0]);
+      data2.setVisual("toSymbolSize", symbolSize && symbolSize[1]);
+      data2.setVisual("opacity", seriesModel.get(opacityQuery));
+      function dataEach(data3, idx) {
+        var itemModel = data3.getItemModel(idx);
+        var symbolType2 = normalize2(itemModel.getShallow("symbol", true));
+        var symbolSize2 = normalize2(itemModel.getShallow("symbolSize", true));
+        var opacity = itemModel.get(opacityQuery);
+        symbolType2[0] && data3.setItemVisual(idx, "fromSymbol", symbolType2[0]);
+        symbolType2[1] && data3.setItemVisual(idx, "toSymbol", symbolType2[1]);
+        symbolSize2[0] && data3.setItemVisual(idx, "fromSymbolSize", symbolSize2[0]);
+        symbolSize2[1] && data3.setItemVisual(idx, "toSymbolSize", symbolSize2[1]);
+        data3.setItemVisual(idx, "opacity", opacity);
+      }
+      return {
+        dataEach: data2.hasItemOption ? dataEach : null
+      };
+    }
+  };
+  linesVisual$2 = _default68;
+  return linesVisual$2;
+}
+var hasRequiredLines;
+function requireLines() {
+  if (hasRequiredLines)
+    return lines;
+  hasRequiredLines = 1;
+  var echarts2 = echarts$1;
+  requireLinesSeries();
+  requireLinesView();
+  var linesLayout2 = requireLinesLayout();
+  var linesVisual2 = requireLinesVisual();
+  echarts2.registerLayout(linesLayout2);
+  echarts2.registerVisual(linesVisual2);
+  return lines;
+}
+var heatmap = {};
+var HeatmapSeries;
+var hasRequiredHeatmapSeries;
+function requireHeatmapSeries() {
+  if (hasRequiredHeatmapSeries)
+    return HeatmapSeries;
+  hasRequiredHeatmapSeries = 1;
+  var SeriesModel2 = Series;
+  var createListFromArray = requireCreateListFromArray();
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var _default68 = SeriesModel2.extend({
+    type: "series.heatmap",
+    getInitialData: function(option, ecModel) {
+      return createListFromArray(this.getSource(), this, {
+        generateCoord: "value"
+      });
+    },
+    preventIncremental: function() {
+      var coordSysCreator = CoordinateSystem2.get(this.get("coordinateSystem"));
+      if (coordSysCreator && coordSysCreator.dimensions) {
+        return coordSysCreator.dimensions[0] === "lng" && coordSysCreator.dimensions[1] === "lat";
+      }
+    },
+    defaultOption: {
+      // Cartesian2D or geo
+      coordinateSystem: "cartesian2d",
+      zlevel: 0,
+      z: 2,
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Geo coordinate system
+      geoIndex: 0,
+      blurSize: 30,
+      pointSize: 20,
+      maxOpacity: 1,
+      minOpacity: 0
+    }
+  });
+  HeatmapSeries = _default68;
+  return HeatmapSeries;
+}
+var HeatmapLayer$2;
+var hasRequiredHeatmapLayer;
+function requireHeatmapLayer() {
+  if (hasRequiredHeatmapLayer)
+    return HeatmapLayer$2;
+  hasRequiredHeatmapLayer = 1;
+  var zrUtil2 = util$a;
+  var GRADIENT_LEVELS2 = 256;
+  function Heatmap() {
+    var canvas = zrUtil2.createCanvas();
+    this.canvas = canvas;
+    this.blurSize = 30;
+    this.pointSize = 20;
+    this.maxOpacity = 1;
+    this.minOpacity = 0;
+    this._gradientPixels = {};
+  }
+  Heatmap.prototype = {
+    /**
+     * Renders Heatmap and returns the rendered canvas
+     * @param {Array} data array of data, each has x, y, value
+     * @param {number} width canvas width
+     * @param {number} height canvas height
+     */
+    update: function(data2, width, height, normalize2, colorFunc, isInRange) {
+      var brush2 = this._getBrush();
+      var gradientInRange = this._getGradient(data2, colorFunc, "inRange");
+      var gradientOutOfRange = this._getGradient(data2, colorFunc, "outOfRange");
+      var r2 = this.pointSize + this.blurSize;
+      var canvas = this.canvas;
+      var ctx = canvas.getContext("2d");
+      var len2 = data2.length;
+      canvas.width = width;
+      canvas.height = height;
+      for (var i2 = 0; i2 < len2; ++i2) {
+        var p2 = data2[i2];
+        var x2 = p2[0];
+        var y2 = p2[1];
+        var value = p2[2];
+        var alpha = normalize2(value);
+        ctx.globalAlpha = alpha;
+        ctx.drawImage(brush2, x2 - r2, y2 - r2);
+      }
+      if (!canvas.width || !canvas.height) {
+        return canvas;
+      }
+      var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+      var pixels = imageData.data;
+      var offset2 = 0;
+      var pixelLen = pixels.length;
+      var minOpacity = this.minOpacity;
+      var maxOpacity = this.maxOpacity;
+      var diffOpacity = maxOpacity - minOpacity;
+      while (offset2 < pixelLen) {
+        var alpha = pixels[offset2 + 3] / 256;
+        var gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS2 - 1)) * 4;
+        if (alpha > 0) {
+          var gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange;
+          alpha > 0 && (alpha = alpha * diffOpacity + minOpacity);
+          pixels[offset2++] = gradient[gradientOffset];
+          pixels[offset2++] = gradient[gradientOffset + 1];
+          pixels[offset2++] = gradient[gradientOffset + 2];
+          pixels[offset2++] = gradient[gradientOffset + 3] * alpha * 256;
+        } else {
+          offset2 += 4;
+        }
+      }
+      ctx.putImageData(imageData, 0, 0);
+      return canvas;
+    },
+    /**
+     * get canvas of a black circle brush used for canvas to draw later
+     * @private
+     * @returns {Object} circle brush canvas
+     */
+    _getBrush: function() {
+      var brushCanvas = this._brushCanvas || (this._brushCanvas = zrUtil2.createCanvas());
+      var r2 = this.pointSize + this.blurSize;
+      var d2 = r2 * 2;
+      brushCanvas.width = d2;
+      brushCanvas.height = d2;
+      var ctx = brushCanvas.getContext("2d");
+      ctx.clearRect(0, 0, d2, d2);
+      ctx.shadowOffsetX = d2;
+      ctx.shadowBlur = this.blurSize;
+      ctx.shadowColor = "#000";
+      ctx.beginPath();
+      ctx.arc(-r2, r2, this.pointSize, 0, Math.PI * 2, true);
+      ctx.closePath();
+      ctx.fill();
+      return brushCanvas;
+    },
+    /**
+     * get gradient color map
+     * @private
+     */
+    _getGradient: function(data2, colorFunc, state) {
+      var gradientPixels = this._gradientPixels;
+      var pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));
+      var color2 = [0, 0, 0, 0];
+      var off2 = 0;
+      for (var i2 = 0; i2 < 256; i2++) {
+        colorFunc[state](i2 / 255, true, color2);
+        pixelsSingleState[off2++] = color2[0];
+        pixelsSingleState[off2++] = color2[1];
+        pixelsSingleState[off2++] = color2[2];
+        pixelsSingleState[off2++] = color2[3];
+      }
+      return pixelsSingleState;
+    }
+  };
+  var _default68 = Heatmap;
+  HeatmapLayer$2 = _default68;
+  return HeatmapLayer$2;
+}
+var HeatmapView$2;
+var hasRequiredHeatmapView;
+function requireHeatmapView() {
+  if (hasRequiredHeatmapView)
+    return HeatmapView$2;
+  hasRequiredHeatmapView = 1;
+  var echarts2 = echarts$1;
+  var graphic2 = graphic$6;
+  var HeatmapLayer2 = requireHeatmapLayer();
+  var zrUtil2 = util$a;
+  function getIsInPiecewiseRange2(dataExtent, pieceList, selected) {
+    var dataSpan = dataExtent[1] - dataExtent[0];
+    pieceList = zrUtil2.map(pieceList, function(piece) {
+      return {
+        interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]
+      };
+    });
+    var len2 = pieceList.length;
+    var lastIndex = 0;
+    return function(val) {
+      for (var i2 = lastIndex; i2 < len2; i2++) {
+        var interval = pieceList[i2].interval;
+        if (interval[0] <= val && val <= interval[1]) {
+          lastIndex = i2;
+          break;
+        }
+      }
+      if (i2 === len2) {
+        for (var i2 = lastIndex - 1; i2 >= 0; i2--) {
+          var interval = pieceList[i2].interval;
+          if (interval[0] <= val && val <= interval[1]) {
+            lastIndex = i2;
+            break;
+          }
+        }
+      }
+      return i2 >= 0 && i2 < len2 && selected[i2];
+    };
+  }
+  function getIsInContinuousRange2(dataExtent, range2) {
+    var dataSpan = dataExtent[1] - dataExtent[0];
+    range2 = [(range2[0] - dataExtent[0]) / dataSpan, (range2[1] - dataExtent[0]) / dataSpan];
+    return function(val) {
+      return val >= range2[0] && val <= range2[1];
+    };
+  }
+  function isGeoCoordSys2(coordSys) {
+    var dimensions = coordSys.dimensions;
+    return dimensions[0] === "lng" && dimensions[1] === "lat";
+  }
+  var _default68 = echarts2.extendChartView({
+    type: "heatmap",
+    render: function(seriesModel, ecModel, api2) {
+      var visualMapOfThisSeries;
+      ecModel.eachComponent("visualMap", function(visualMap2) {
+        visualMap2.eachTargetSeries(function(targetSeries) {
+          if (targetSeries === seriesModel) {
+            visualMapOfThisSeries = visualMap2;
+          }
+        });
+      });
+      this.group.removeAll();
+      this._incrementalDisplayable = null;
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys.type === "cartesian2d" || coordSys.type === "calendar") {
+        this._renderOnCartesianAndCalendar(seriesModel, api2, 0, seriesModel.getData().count());
+      } else if (isGeoCoordSys2(coordSys)) {
+        this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api2);
+      }
+    },
+    incrementalPrepareRender: function(seriesModel, ecModel, api2) {
+      this.group.removeAll();
+    },
+    incrementalRender: function(params2, seriesModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys) {
+        this._renderOnCartesianAndCalendar(seriesModel, api2, params2.start, params2.end, true);
+      }
+    },
+    _renderOnCartesianAndCalendar: function(seriesModel, api2, start2, end2, incremental) {
+      var coordSys = seriesModel.coordinateSystem;
+      var width;
+      var height;
+      if (coordSys.type === "cartesian2d") {
+        var xAxis = coordSys.getAxis("x");
+        var yAxis = coordSys.getAxis("y");
+        width = xAxis.getBandWidth();
+        height = yAxis.getBandWidth();
+      }
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var itemStyleQuery = "itemStyle";
+      var hoverItemStyleQuery = "emphasis.itemStyle";
+      var labelQuery = "label";
+      var hoverLabelQuery = "emphasis.label";
+      var style2 = seriesModel.getModel(itemStyleQuery).getItemStyle(["color"]);
+      var hoverStl = seriesModel.getModel(hoverItemStyleQuery).getItemStyle();
+      var labelModel = seriesModel.getModel(labelQuery);
+      var hoverLabelModel = seriesModel.getModel(hoverLabelQuery);
+      var coordSysType = coordSys.type;
+      var dataDims = coordSysType === "cartesian2d" ? [data2.mapDimension("x"), data2.mapDimension("y"), data2.mapDimension("value")] : [data2.mapDimension("time"), data2.mapDimension("value")];
+      for (var idx = start2; idx < end2; idx++) {
+        var rect;
+        if (coordSysType === "cartesian2d") {
+          if (isNaN(data2.get(dataDims[2], idx))) {
+            continue;
+          }
+          var point = coordSys.dataToPoint([data2.get(dataDims[0], idx), data2.get(dataDims[1], idx)]);
+          rect = new graphic2.Rect({
+            shape: {
+              x: Math.floor(Math.round(point[0]) - width / 2),
+              y: Math.floor(Math.round(point[1]) - height / 2),
+              width: Math.ceil(width),
+              height: Math.ceil(height)
+            },
+            style: {
+              fill: data2.getItemVisual(idx, "color"),
+              opacity: data2.getItemVisual(idx, "opacity")
+            }
+          });
+        } else {
+          if (isNaN(data2.get(dataDims[1], idx))) {
+            continue;
+          }
+          rect = new graphic2.Rect({
+            z2: 1,
+            shape: coordSys.dataToRect([data2.get(dataDims[0], idx)]).contentShape,
+            style: {
+              fill: data2.getItemVisual(idx, "color"),
+              opacity: data2.getItemVisual(idx, "opacity")
+            }
+          });
+        }
+        var itemModel = data2.getItemModel(idx);
+        if (data2.hasItemOption) {
+          style2 = itemModel.getModel(itemStyleQuery).getItemStyle(["color"]);
+          hoverStl = itemModel.getModel(hoverItemStyleQuery).getItemStyle();
+          labelModel = itemModel.getModel(labelQuery);
+          hoverLabelModel = itemModel.getModel(hoverLabelQuery);
+        }
+        var rawValue = seriesModel.getRawValue(idx);
+        var defaultText = "-";
+        if (rawValue && rawValue[2] != null) {
+          defaultText = rawValue[2];
+        }
+        graphic2.setLabelStyle(style2, hoverStl, labelModel, hoverLabelModel, {
+          labelFetcher: seriesModel,
+          labelDataIndex: idx,
+          defaultText,
+          isRectText: true
+        });
+        rect.setStyle(style2);
+        graphic2.setHoverStyle(rect, data2.hasItemOption ? hoverStl : zrUtil2.extend({}, hoverStl));
+        rect.incremental = incremental;
+        if (incremental) {
+          rect.useHoverLayer = true;
+        }
+        group.add(rect);
+        data2.setItemGraphicEl(idx, rect);
+      }
+    },
+    _renderOnGeo: function(geo2, seriesModel, visualMapModel, api2) {
+      var inRangeVisuals = visualMapModel.targetVisuals.inRange;
+      var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange;
+      var data2 = seriesModel.getData();
+      var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer2();
+      hmLayer.blurSize = seriesModel.get("blurSize");
+      hmLayer.pointSize = seriesModel.get("pointSize");
+      hmLayer.minOpacity = seriesModel.get("minOpacity");
+      hmLayer.maxOpacity = seriesModel.get("maxOpacity");
+      var rect = geo2.getViewRect().clone();
+      var roamTransform = geo2.getRoamTransform();
+      rect.applyTransform(roamTransform);
+      var x2 = Math.max(rect.x, 0);
+      var y2 = Math.max(rect.y, 0);
+      var x22 = Math.min(rect.width + rect.x, api2.getWidth());
+      var y22 = Math.min(rect.height + rect.y, api2.getHeight());
+      var width = x22 - x2;
+      var height = y22 - y2;
+      var dims = [data2.mapDimension("lng"), data2.mapDimension("lat"), data2.mapDimension("value")];
+      var points2 = data2.mapArray(dims, function(lng, lat, value) {
+        var pt = geo2.dataToPoint([lng, lat]);
+        pt[0] -= x2;
+        pt[1] -= y2;
+        pt.push(value);
+        return pt;
+      });
+      var dataExtent = visualMapModel.getExtent();
+      var isInRange = visualMapModel.type === "visualMap.continuous" ? getIsInContinuousRange2(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange2(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);
+      hmLayer.update(points2, width, height, inRangeVisuals.color.getNormalizer(), {
+        inRange: inRangeVisuals.color.getColorMapper(),
+        outOfRange: outOfRangeVisuals.color.getColorMapper()
+      }, isInRange);
+      var img = new graphic2.Image({
+        style: {
+          width,
+          height,
+          x: x2,
+          y: y2,
+          image: hmLayer.canvas
+        },
+        silent: true
+      });
+      this.group.add(img);
+    },
+    dispose: function() {
+    }
+  });
+  HeatmapView$2 = _default68;
+  return HeatmapView$2;
+}
+var hasRequiredHeatmap;
+function requireHeatmap() {
+  if (hasRequiredHeatmap)
+    return heatmap;
+  hasRequiredHeatmap = 1;
+  requireHeatmapSeries();
+  requireHeatmapView();
+  return heatmap;
+}
+var pictorialBar = {};
+var PictorialBarSeries_1;
+var hasRequiredPictorialBarSeries;
+function requirePictorialBarSeries() {
+  if (hasRequiredPictorialBarSeries)
+    return PictorialBarSeries_1;
+  hasRequiredPictorialBarSeries = 1;
+  var BaseBarSeries2 = requireBaseBarSeries();
+  var PictorialBarSeries = BaseBarSeries2.extend({
+    type: "series.pictorialBar",
+    dependencies: ["grid"],
+    defaultOption: {
+      symbol: "circle",
+      // Customized bar shape
+      symbolSize: null,
+      // Can be ['100%', '100%'], null means auto.
+      symbolRotate: null,
+      symbolPosition: null,
+      // 'start' or 'end' or 'center', null means auto.
+      symbolOffset: null,
+      symbolMargin: null,
+      // start margin and end margin. Can be a number or a percent string.
+      // Auto margin by default.
+      symbolRepeat: false,
+      // false/null/undefined, means no repeat.
+      // Can be true, means auto calculate repeat times and cut by data.
+      // Can be a number, specifies repeat times, and do not cut by data.
+      // Can be 'fixed', means auto calculate repeat times but do not cut by data.
+      symbolRepeatDirection: "end",
+      // 'end' means from 'start' to 'end'.
+      symbolClip: false,
+      symbolBoundingData: null,
+      // Can be 60 or -40 or [-40, 60]
+      symbolPatternSize: 400,
+      // 400 * 400 px
+      barGap: "-100%",
+      // In most case, overlap is needed.
+      // z can be set in data item, which is z2 actually.
+      // Disable progressive
+      progressive: 0,
+      hoverAnimation: false
+      // Open only when needed.
+    },
+    getInitialData: function(option) {
+      option.stack = null;
+      return PictorialBarSeries.superApply(this, "getInitialData", arguments);
+    }
+  });
+  var _default68 = PictorialBarSeries;
+  PictorialBarSeries_1 = _default68;
+  return PictorialBarSeries_1;
+}
+var PictorialBarView$2;
+var hasRequiredPictorialBarView;
+function requirePictorialBarView() {
+  if (hasRequiredPictorialBarView)
+    return PictorialBarView$2;
+  hasRequiredPictorialBarView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var isNumeric2 = _number2.isNumeric;
+  var _helper = requireHelper$2();
+  var setLabel = _helper.setLabel;
+  var BAR_BORDER_WIDTH_QUERY2 = ["itemStyle", "borderWidth"];
+  var LAYOUT_ATTRS2 = [{
+    xy: "x",
+    wh: "width",
+    index: 0,
+    posDesc: ["left", "right"]
+  }, {
+    xy: "y",
+    wh: "height",
+    index: 1,
+    posDesc: ["top", "bottom"]
+  }];
+  var pathForLineWidth2 = new graphic2.Circle();
+  var BarView2 = echarts2.extendChartView({
+    type: "pictorialBar",
+    render: function(seriesModel, ecModel, api2) {
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var cartesian = seriesModel.coordinateSystem;
+      var baseAxis = cartesian.getBaseAxis();
+      var isHorizontal = !!baseAxis.isHorizontal();
+      var coordSysRect = cartesian.grid.getRect();
+      var opt = {
+        ecSize: {
+          width: api2.getWidth(),
+          height: api2.getHeight()
+        },
+        seriesModel,
+        coordSys: cartesian,
+        coordSysExtent: [[coordSysRect.x, coordSysRect.x + coordSysRect.width], [coordSysRect.y, coordSysRect.y + coordSysRect.height]],
+        isHorizontal,
+        valueDim: LAYOUT_ATTRS2[+isHorizontal],
+        categoryDim: LAYOUT_ATTRS2[1 - isHorizontal]
+      };
+      data2.diff(oldData).add(function(dataIndex) {
+        if (!data2.hasValue(dataIndex)) {
+          return;
+        }
+        var itemModel = getItemModel2(data2, dataIndex);
+        var symbolMeta = getSymbolMeta2(data2, dataIndex, itemModel, opt);
+        var bar2 = createBar2(data2, opt, symbolMeta);
+        data2.setItemGraphicEl(dataIndex, bar2);
+        group.add(bar2);
+        updateCommon2(bar2, opt, symbolMeta);
+      }).update(function(newIndex, oldIndex) {
+        var bar2 = oldData.getItemGraphicEl(oldIndex);
+        if (!data2.hasValue(newIndex)) {
+          group.remove(bar2);
+          return;
+        }
+        var itemModel = getItemModel2(data2, newIndex);
+        var symbolMeta = getSymbolMeta2(data2, newIndex, itemModel, opt);
+        var pictorialShapeStr = getShapeStr2(data2, symbolMeta);
+        if (bar2 && pictorialShapeStr !== bar2.__pictorialShapeStr) {
+          group.remove(bar2);
+          data2.setItemGraphicEl(newIndex, null);
+          bar2 = null;
+        }
+        if (bar2) {
+          updateBar2(bar2, opt, symbolMeta);
+        } else {
+          bar2 = createBar2(data2, opt, symbolMeta, true);
+        }
+        data2.setItemGraphicEl(newIndex, bar2);
+        bar2.__pictorialSymbolMeta = symbolMeta;
+        group.add(bar2);
+        updateCommon2(bar2, opt, symbolMeta);
+      }).remove(function(dataIndex) {
+        var bar2 = oldData.getItemGraphicEl(dataIndex);
+        bar2 && removeBar2(oldData, dataIndex, bar2.__pictorialSymbolMeta.animationModel, bar2);
+      }).execute();
+      this._data = data2;
+      return this.group;
+    },
+    dispose: zrUtil2.noop,
+    remove: function(ecModel, api2) {
+      var group = this.group;
+      var data2 = this._data;
+      if (ecModel.get("animation")) {
+        if (data2) {
+          data2.eachItemGraphicEl(function(bar2) {
+            removeBar2(data2, bar2.dataIndex, ecModel, bar2);
+          });
+        }
+      } else {
+        group.removeAll();
+      }
+    }
+  });
+  function getSymbolMeta2(data2, dataIndex, itemModel, opt) {
+    var layout2 = data2.getItemLayout(dataIndex);
+    var symbolRepeat = itemModel.get("symbolRepeat");
+    var symbolClip = itemModel.get("symbolClip");
+    var symbolPosition = itemModel.get("symbolPosition") || "start";
+    var symbolRotate = itemModel.get("symbolRotate");
+    var rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+    var symbolPatternSize = itemModel.get("symbolPatternSize") || 2;
+    var isAnimationEnabled3 = itemModel.isAnimationEnabled();
+    var symbolMeta = {
+      dataIndex,
+      layout: layout2,
+      itemModel,
+      symbolType: data2.getItemVisual(dataIndex, "symbol") || "circle",
+      color: data2.getItemVisual(dataIndex, "color"),
+      symbolClip,
+      symbolRepeat,
+      symbolRepeatDirection: itemModel.get("symbolRepeatDirection"),
+      symbolPatternSize,
+      rotation,
+      animationModel: isAnimationEnabled3 ? itemModel : null,
+      hoverAnimation: isAnimationEnabled3 && itemModel.get("hoverAnimation"),
+      z2: itemModel.getShallow("z", true) || 0
+    };
+    prepareBarLength2(itemModel, symbolRepeat, layout2, opt, symbolMeta);
+    prepareSymbolSize2(data2, dataIndex, layout2, symbolRepeat, symbolClip, symbolMeta.boundingLength, symbolMeta.pxSign, symbolPatternSize, opt, symbolMeta);
+    prepareLineWidth2(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);
+    var symbolSize = symbolMeta.symbolSize;
+    var symbolOffset = itemModel.get("symbolOffset");
+    if (zrUtil2.isArray(symbolOffset)) {
+      symbolOffset = [parsePercent2(symbolOffset[0], symbolSize[0]), parsePercent2(symbolOffset[1], symbolSize[1])];
+    }
+    prepareLayoutInfo2(itemModel, symbolSize, layout2, symbolRepeat, symbolClip, symbolOffset, symbolPosition, symbolMeta.valueLineWidth, symbolMeta.boundingLength, symbolMeta.repeatCutLength, opt, symbolMeta);
+    return symbolMeta;
+  }
+  function prepareBarLength2(itemModel, symbolRepeat, layout2, opt, output) {
+    var valueDim = opt.valueDim;
+    var symbolBoundingData = itemModel.get("symbolBoundingData");
+    var valueAxis2 = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());
+    var zeroPx = valueAxis2.toGlobalCoord(valueAxis2.dataToCoord(0));
+    var pxSignIdx = 1 - +(layout2[valueDim.wh] <= 0);
+    var boundingLength;
+    if (zrUtil2.isArray(symbolBoundingData)) {
+      var symbolBoundingExtent = [convertToCoordOnAxis2(valueAxis2, symbolBoundingData[0]) - zeroPx, convertToCoordOnAxis2(valueAxis2, symbolBoundingData[1]) - zeroPx];
+      symbolBoundingExtent[1] < symbolBoundingExtent[0] && symbolBoundingExtent.reverse();
+      boundingLength = symbolBoundingExtent[pxSignIdx];
+    } else if (symbolBoundingData != null) {
+      boundingLength = convertToCoordOnAxis2(valueAxis2, symbolBoundingData) - zeroPx;
+    } else if (symbolRepeat) {
+      boundingLength = opt.coordSysExtent[valueDim.index][pxSignIdx] - zeroPx;
+    } else {
+      boundingLength = layout2[valueDim.wh];
+    }
+    output.boundingLength = boundingLength;
+    if (symbolRepeat) {
+      output.repeatCutLength = layout2[valueDim.wh];
+    }
+    output.pxSign = boundingLength > 0 ? 1 : boundingLength < 0 ? -1 : 0;
+  }
+  function convertToCoordOnAxis2(axis2, value) {
+    return axis2.toGlobalCoord(axis2.dataToCoord(axis2.scale.parse(value)));
+  }
+  function prepareSymbolSize2(data2, dataIndex, layout2, symbolRepeat, symbolClip, boundingLength, pxSign, symbolPatternSize, opt, output) {
+    var valueDim = opt.valueDim;
+    var categoryDim = opt.categoryDim;
+    var categorySize = Math.abs(layout2[categoryDim.wh]);
+    var symbolSize = data2.getItemVisual(dataIndex, "symbolSize");
+    if (zrUtil2.isArray(symbolSize)) {
+      symbolSize = symbolSize.slice();
+    } else {
+      if (symbolSize == null) {
+        symbolSize = "100%";
+      }
+      symbolSize = [symbolSize, symbolSize];
+    }
+    symbolSize[categoryDim.index] = parsePercent2(symbolSize[categoryDim.index], categorySize);
+    symbolSize[valueDim.index] = parsePercent2(symbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));
+    output.symbolSize = symbolSize;
+    var symbolScale = output.symbolScale = [symbolSize[0] / symbolPatternSize, symbolSize[1] / symbolPatternSize];
+    symbolScale[valueDim.index] *= (opt.isHorizontal ? -1 : 1) * pxSign;
+  }
+  function prepareLineWidth2(itemModel, symbolScale, rotation, opt, output) {
+    var valueLineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY2) || 0;
+    if (valueLineWidth) {
+      pathForLineWidth2.attr({
+        scale: symbolScale.slice(),
+        rotation
+      });
+      pathForLineWidth2.updateTransform();
+      valueLineWidth /= pathForLineWidth2.getLineScale();
+      valueLineWidth *= symbolScale[opt.valueDim.index];
+    }
+    output.valueLineWidth = valueLineWidth;
+  }
+  function prepareLayoutInfo2(itemModel, symbolSize, layout2, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, output) {
+    var categoryDim = opt.categoryDim;
+    var valueDim = opt.valueDim;
+    var pxSign = output.pxSign;
+    var unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);
+    var pathLen = unitLength;
+    if (symbolRepeat) {
+      var absBoundingLength = Math.abs(boundingLength);
+      var symbolMargin = zrUtil2.retrieve(itemModel.get("symbolMargin"), "15%") + "";
+      var hasEndGap = false;
+      if (symbolMargin.lastIndexOf("!") === symbolMargin.length - 1) {
+        hasEndGap = true;
+        symbolMargin = symbolMargin.slice(0, symbolMargin.length - 1);
+      }
+      symbolMargin = parsePercent2(symbolMargin, symbolSize[valueDim.index]);
+      var uLenWithMargin = Math.max(unitLength + symbolMargin * 2, 0);
+      var endFix = hasEndGap ? 0 : symbolMargin * 2;
+      var repeatSpecified = isNumeric2(symbolRepeat);
+      var repeatTimes = repeatSpecified ? symbolRepeat : toIntTimes2((absBoundingLength + endFix) / uLenWithMargin);
+      var mDiff = absBoundingLength - repeatTimes * unitLength;
+      symbolMargin = mDiff / 2 / (hasEndGap ? repeatTimes : repeatTimes - 1);
+      uLenWithMargin = unitLength + symbolMargin * 2;
+      endFix = hasEndGap ? 0 : symbolMargin * 2;
+      if (!repeatSpecified && symbolRepeat !== "fixed") {
+        repeatTimes = repeatCutLength ? toIntTimes2((Math.abs(repeatCutLength) + endFix) / uLenWithMargin) : 0;
+      }
+      pathLen = repeatTimes * uLenWithMargin - endFix;
+      output.repeatTimes = repeatTimes;
+      output.symbolMargin = symbolMargin;
+    }
+    var sizeFix = pxSign * (pathLen / 2);
+    var pathPosition = output.pathPosition = [];
+    pathPosition[categoryDim.index] = layout2[categoryDim.wh] / 2;
+    pathPosition[valueDim.index] = symbolPosition === "start" ? sizeFix : symbolPosition === "end" ? boundingLength - sizeFix : boundingLength / 2;
+    if (symbolOffset) {
+      pathPosition[0] += symbolOffset[0];
+      pathPosition[1] += symbolOffset[1];
+    }
+    var bundlePosition = output.bundlePosition = [];
+    bundlePosition[categoryDim.index] = layout2[categoryDim.xy];
+    bundlePosition[valueDim.index] = layout2[valueDim.xy];
+    var barRectShape = output.barRectShape = zrUtil2.extend({}, layout2);
+    barRectShape[valueDim.wh] = pxSign * Math.max(Math.abs(layout2[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix));
+    barRectShape[categoryDim.wh] = layout2[categoryDim.wh];
+    var clipShape = output.clipShape = {};
+    clipShape[categoryDim.xy] = -layout2[categoryDim.xy];
+    clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];
+    clipShape[valueDim.xy] = 0;
+    clipShape[valueDim.wh] = layout2[valueDim.wh];
+  }
+  function createPath2(symbolMeta) {
+    var symbolPatternSize = symbolMeta.symbolPatternSize;
+    var path2 = createSymbol2(
+      // Consider texture img, make a big size.
+      symbolMeta.symbolType,
+      -symbolPatternSize / 2,
+      -symbolPatternSize / 2,
+      symbolPatternSize,
+      symbolPatternSize,
+      symbolMeta.color
+    );
+    path2.attr({
+      culling: true
+    });
+    path2.type !== "image" && path2.setStyle({
+      strokeNoScale: true
+    });
+    return path2;
+  }
+  function createOrUpdateRepeatSymbols2(bar2, opt, symbolMeta, isUpdate) {
+    var bundle = bar2.__pictorialBundle;
+    var symbolSize = symbolMeta.symbolSize;
+    var valueLineWidth = symbolMeta.valueLineWidth;
+    var pathPosition = symbolMeta.pathPosition;
+    var valueDim = opt.valueDim;
+    var repeatTimes = symbolMeta.repeatTimes || 0;
+    var index3 = 0;
+    var unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;
+    eachPath2(bar2, function(path3) {
+      path3.__pictorialAnimationIndex = index3;
+      path3.__pictorialRepeatTimes = repeatTimes;
+      if (index3 < repeatTimes) {
+        updateAttr2(path3, null, makeTarget(index3), symbolMeta, isUpdate);
+      } else {
+        updateAttr2(path3, null, {
+          scale: [0, 0]
+        }, symbolMeta, isUpdate, function() {
+          bundle.remove(path3);
+        });
+      }
+      updateHoverAnimation(path3, symbolMeta);
+      index3++;
+    });
+    for (; index3 < repeatTimes; index3++) {
+      var path2 = createPath2(symbolMeta);
+      path2.__pictorialAnimationIndex = index3;
+      path2.__pictorialRepeatTimes = repeatTimes;
+      bundle.add(path2);
+      var target = makeTarget(index3);
+      updateAttr2(path2, {
+        position: target.position,
+        scale: [0, 0]
+      }, {
+        scale: target.scale,
+        rotation: target.rotation
+      }, symbolMeta, isUpdate);
+      path2.on("mouseover", onMouseOver).on("mouseout", onMouseOut);
+      updateHoverAnimation(path2, symbolMeta);
+    }
+    function makeTarget(index4) {
+      var position2 = pathPosition.slice();
+      var pxSign = symbolMeta.pxSign;
+      var i2 = index4;
+      if (symbolMeta.symbolRepeatDirection === "start" ? pxSign > 0 : pxSign < 0) {
+        i2 = repeatTimes - 1 - index4;
+      }
+      position2[valueDim.index] = unit * (i2 - repeatTimes / 2 + 0.5) + pathPosition[valueDim.index];
+      return {
+        position: position2,
+        scale: symbolMeta.symbolScale.slice(),
+        rotation: symbolMeta.rotation
+      };
+    }
+    function onMouseOver() {
+      eachPath2(bar2, function(path3) {
+        path3.trigger("emphasis");
+      });
+    }
+    function onMouseOut() {
+      eachPath2(bar2, function(path3) {
+        path3.trigger("normal");
+      });
+    }
+  }
+  function createOrUpdateSingleSymbol2(bar2, opt, symbolMeta, isUpdate) {
+    var bundle = bar2.__pictorialBundle;
+    var mainPath = bar2.__pictorialMainPath;
+    if (!mainPath) {
+      mainPath = bar2.__pictorialMainPath = createPath2(symbolMeta);
+      bundle.add(mainPath);
+      updateAttr2(mainPath, {
+        position: symbolMeta.pathPosition.slice(),
+        scale: [0, 0],
+        rotation: symbolMeta.rotation
+      }, {
+        scale: symbolMeta.symbolScale.slice()
+      }, symbolMeta, isUpdate);
+      mainPath.on("mouseover", onMouseOver).on("mouseout", onMouseOut);
+    } else {
+      updateAttr2(mainPath, null, {
+        position: symbolMeta.pathPosition.slice(),
+        scale: symbolMeta.symbolScale.slice(),
+        rotation: symbolMeta.rotation
+      }, symbolMeta, isUpdate);
+    }
+    updateHoverAnimation(mainPath, symbolMeta);
+    function onMouseOver() {
+      this.trigger("emphasis");
+    }
+    function onMouseOut() {
+      this.trigger("normal");
+    }
+  }
+  function createOrUpdateBarRect2(bar2, symbolMeta, isUpdate) {
+    var rectShape = zrUtil2.extend({}, symbolMeta.barRectShape);
+    var barRect = bar2.__pictorialBarRect;
+    if (!barRect) {
+      barRect = bar2.__pictorialBarRect = new graphic2.Rect({
+        z2: 2,
+        shape: rectShape,
+        silent: true,
+        style: {
+          stroke: "transparent",
+          fill: "transparent",
+          lineWidth: 0
+        }
+      });
+      bar2.add(barRect);
+    } else {
+      updateAttr2(barRect, null, {
+        shape: rectShape
+      }, symbolMeta, isUpdate);
+    }
+  }
+  function createOrUpdateClip2(bar2, opt, symbolMeta, isUpdate) {
+    if (symbolMeta.symbolClip) {
+      var clipPath = bar2.__pictorialClipPath;
+      var clipShape = zrUtil2.extend({}, symbolMeta.clipShape);
+      var valueDim = opt.valueDim;
+      var animationModel = symbolMeta.animationModel;
+      var dataIndex = symbolMeta.dataIndex;
+      if (clipPath) {
+        graphic2.updateProps(clipPath, {
+          shape: clipShape
+        }, animationModel, dataIndex);
+      } else {
+        clipShape[valueDim.wh] = 0;
+        clipPath = new graphic2.Rect({
+          shape: clipShape
+        });
+        bar2.__pictorialBundle.setClipPath(clipPath);
+        bar2.__pictorialClipPath = clipPath;
+        var target = {};
+        target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];
+        graphic2[isUpdate ? "updateProps" : "initProps"](clipPath, {
+          shape: target
+        }, animationModel, dataIndex);
+      }
+    }
+  }
+  function getItemModel2(data2, dataIndex) {
+    var itemModel = data2.getItemModel(dataIndex);
+    itemModel.getAnimationDelayParams = getAnimationDelayParams2;
+    itemModel.isAnimationEnabled = isAnimationEnabled2;
+    return itemModel;
+  }
+  function getAnimationDelayParams2(path2) {
+    return {
+      index: path2.__pictorialAnimationIndex,
+      count: path2.__pictorialRepeatTimes
+    };
+  }
+  function isAnimationEnabled2() {
+    return this.parentModel.isAnimationEnabled() && !!this.getShallow("animation");
+  }
+  function updateHoverAnimation(path2, symbolMeta) {
+    path2.off("emphasis").off("normal");
+    var scale2 = symbolMeta.symbolScale.slice();
+    symbolMeta.hoverAnimation && path2.on("emphasis", function() {
+      this.animateTo({
+        scale: [scale2[0] * 1.1, scale2[1] * 1.1]
+      }, 400, "elasticOut");
+    }).on("normal", function() {
+      this.animateTo({
+        scale: scale2.slice()
+      }, 400, "elasticOut");
+    });
+  }
+  function createBar2(data2, opt, symbolMeta, isUpdate) {
+    var bar2 = new graphic2.Group();
+    var bundle = new graphic2.Group();
+    bar2.add(bundle);
+    bar2.__pictorialBundle = bundle;
+    bundle.attr("position", symbolMeta.bundlePosition.slice());
+    if (symbolMeta.symbolRepeat) {
+      createOrUpdateRepeatSymbols2(bar2, opt, symbolMeta);
+    } else {
+      createOrUpdateSingleSymbol2(bar2, opt, symbolMeta);
+    }
+    createOrUpdateBarRect2(bar2, symbolMeta, isUpdate);
+    createOrUpdateClip2(bar2, opt, symbolMeta, isUpdate);
+    bar2.__pictorialShapeStr = getShapeStr2(data2, symbolMeta);
+    bar2.__pictorialSymbolMeta = symbolMeta;
+    return bar2;
+  }
+  function updateBar2(bar2, opt, symbolMeta) {
+    var animationModel = symbolMeta.animationModel;
+    var dataIndex = symbolMeta.dataIndex;
+    var bundle = bar2.__pictorialBundle;
+    graphic2.updateProps(bundle, {
+      position: symbolMeta.bundlePosition.slice()
+    }, animationModel, dataIndex);
+    if (symbolMeta.symbolRepeat) {
+      createOrUpdateRepeatSymbols2(bar2, opt, symbolMeta, true);
+    } else {
+      createOrUpdateSingleSymbol2(bar2, opt, symbolMeta, true);
+    }
+    createOrUpdateBarRect2(bar2, symbolMeta, true);
+    createOrUpdateClip2(bar2, opt, symbolMeta, true);
+  }
+  function removeBar2(data2, dataIndex, animationModel, bar2) {
+    var labelRect = bar2.__pictorialBarRect;
+    labelRect && (labelRect.style.text = null);
+    var pathes = [];
+    eachPath2(bar2, function(path2) {
+      pathes.push(path2);
+    });
+    bar2.__pictorialMainPath && pathes.push(bar2.__pictorialMainPath);
+    bar2.__pictorialClipPath && (animationModel = null);
+    zrUtil2.each(pathes, function(path2) {
+      graphic2.updateProps(path2, {
+        scale: [0, 0]
+      }, animationModel, dataIndex, function() {
+        bar2.parent && bar2.parent.remove(bar2);
+      });
+    });
+    data2.setItemGraphicEl(dataIndex, null);
+  }
+  function getShapeStr2(data2, symbolMeta) {
+    return [data2.getItemVisual(symbolMeta.dataIndex, "symbol") || "none", !!symbolMeta.symbolRepeat, !!symbolMeta.symbolClip].join(":");
+  }
+  function eachPath2(bar2, cb, context) {
+    zrUtil2.each(bar2.__pictorialBundle.children(), function(el) {
+      el !== bar2.__pictorialBarRect && cb.call(context, el);
+    });
+  }
+  function updateAttr2(el, immediateAttrs, animationAttrs, symbolMeta, isUpdate, cb) {
+    immediateAttrs && el.attr(immediateAttrs);
+    if (symbolMeta.symbolClip && !isUpdate) {
+      animationAttrs && el.attr(animationAttrs);
+    } else {
+      animationAttrs && graphic2[isUpdate ? "updateProps" : "initProps"](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);
+    }
+  }
+  function updateCommon2(bar2, opt, symbolMeta) {
+    var color2 = symbolMeta.color;
+    var dataIndex = symbolMeta.dataIndex;
+    var itemModel = symbolMeta.itemModel;
+    var normalStyle = itemModel.getModel("itemStyle").getItemStyle(["color"]);
+    var hoverStyle = itemModel.getModel("emphasis.itemStyle").getItemStyle();
+    var cursorStyle = itemModel.getShallow("cursor");
+    eachPath2(bar2, function(path2) {
+      path2.setColor(color2);
+      path2.setStyle(zrUtil2.defaults({
+        fill: color2,
+        opacity: symbolMeta.opacity
+      }, normalStyle));
+      graphic2.setHoverStyle(path2, hoverStyle);
+      cursorStyle && (path2.cursor = cursorStyle);
+      path2.z2 = symbolMeta.z2;
+    });
+    var barRectHoverStyle = {};
+    var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];
+    var barRect = bar2.__pictorialBarRect;
+    setLabel(barRect.style, barRectHoverStyle, itemModel, color2, opt.seriesModel, dataIndex, barPositionOutside);
+    graphic2.setHoverStyle(barRect, barRectHoverStyle);
+  }
+  function toIntTimes2(times) {
+    var roundedTimes = Math.round(times);
+    return Math.abs(times - roundedTimes) < 1e-4 ? roundedTimes : Math.ceil(times);
+  }
+  var _default68 = BarView2;
+  PictorialBarView$2 = _default68;
+  return PictorialBarView$2;
+}
+var hasRequiredPictorialBar;
+function requirePictorialBar() {
+  if (hasRequiredPictorialBar)
+    return pictorialBar;
+  hasRequiredPictorialBar = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  requireGrid$1();
+  requirePictorialBarSeries();
+  requirePictorialBarView();
+  var _barGrid = requireBarGrid();
+  var layout2 = _barGrid.layout;
+  var visualSymbol = requireSymbol();
+  requireGridSimple();
+  echarts2.registerLayout(zrUtil2.curry(layout2, "pictorialBar"));
+  echarts2.registerVisual(visualSymbol("pictorialBar", "roundRect"));
+  return pictorialBar;
+}
+var themeRiver = {};
+var singleAxis = {};
+var singleCreator$2 = {};
+var SingleAxis_1;
+var hasRequiredSingleAxis$1;
+function requireSingleAxis$1() {
+  if (hasRequiredSingleAxis$1)
+    return SingleAxis_1;
+  hasRequiredSingleAxis$1 = 1;
+  var zrUtil2 = util$a;
+  var Axis2 = requireAxis$1();
+  var SingleAxis2 = function(dim, scale2, coordExtent, axisType, position2) {
+    Axis2.call(this, dim, scale2, coordExtent);
+    this.type = axisType || "value";
+    this.position = position2 || "bottom";
+    this.orient = null;
+  };
+  SingleAxis2.prototype = {
+    constructor: SingleAxis2,
+    /**
+     * Axis model
+     * @type {module:echarts/coord/single/AxisModel}
+     */
+    model: null,
+    /**
+     * Judge the orient of the axis.
+     * @return {boolean}
+     */
+    isHorizontal: function() {
+      var position2 = this.position;
+      return position2 === "top" || position2 === "bottom";
+    },
+    /**
+     * @override
+     */
+    pointToData: function(point, clamp2) {
+      return this.coordinateSystem.pointToData(point, clamp2)[0];
+    },
+    /**
+     * Convert the local coord(processed by dataToCoord())
+     * to global coord(concrete pixel coord).
+     * designated by module:echarts/coord/single/Single.
+     * @type {Function}
+     */
+    toGlobalCoord: null,
+    /**
+     * Convert the global coord to local coord.
+     * designated by module:echarts/coord/single/Single.
+     * @type {Function}
+     */
+    toLocalCoord: null
+  };
+  zrUtil2.inherits(SingleAxis2, Axis2);
+  var _default68 = SingleAxis2;
+  SingleAxis_1 = _default68;
+  return SingleAxis_1;
+}
+var Single_1;
+var hasRequiredSingle;
+function requireSingle() {
+  if (hasRequiredSingle)
+    return Single_1;
+  hasRequiredSingle = 1;
+  var SingleAxis2 = requireSingleAxis$1();
+  var axisHelper2 = requireAxisHelper();
+  var _layout2 = layout$5;
+  var getLayoutRect2 = _layout2.getLayoutRect;
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  function Single2(axisModel, ecModel, api2) {
+    this.dimension = "single";
+    this.dimensions = ["single"];
+    this._axis = null;
+    this._rect;
+    this._init(axisModel, ecModel, api2);
+    this.model = axisModel;
+  }
+  Single2.prototype = {
+    type: "singleAxis",
+    axisPointerEnabled: true,
+    constructor: Single2,
+    /**
+     * Initialize single coordinate system.
+     *
+     * @param  {module:echarts/coord/single/AxisModel} axisModel
+     * @param  {module:echarts/model/Global} ecModel
+     * @param  {module:echarts/ExtensionAPI} api
+     * @private
+     */
+    _init: function(axisModel, ecModel, api2) {
+      var dim = this.dimension;
+      var axis2 = new SingleAxis2(dim, axisHelper2.createScaleByModel(axisModel), [0, 0], axisModel.get("type"), axisModel.get("position"));
+      var isCategory2 = axis2.type === "category";
+      axis2.onBand = isCategory2 && axisModel.get("boundaryGap");
+      axis2.inverse = axisModel.get("inverse");
+      axis2.orient = axisModel.get("orient");
+      axisModel.axis = axis2;
+      axis2.model = axisModel;
+      axis2.coordinateSystem = this;
+      this._axis = axis2;
+    },
+    /**
+     * Update axis scale after data processed
+     * @param  {module:echarts/model/Global} ecModel
+     * @param  {module:echarts/ExtensionAPI} api
+     */
+    update: function(ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        if (seriesModel.coordinateSystem === this) {
+          var data2 = seriesModel.getData();
+          each2(data2.mapDimension(this.dimension, true), function(dim) {
+            this._axis.scale.unionExtentFromData(data2, dim);
+          }, this);
+          axisHelper2.niceScaleExtent(this._axis.scale, this._axis.model);
+        }
+      }, this);
+    },
+    /**
+     * Resize the single coordinate system.
+     *
+     * @param  {module:echarts/coord/single/AxisModel} axisModel
+     * @param  {module:echarts/ExtensionAPI} api
+     */
+    resize: function(axisModel, api2) {
+      this._rect = getLayoutRect2({
+        left: axisModel.get("left"),
+        top: axisModel.get("top"),
+        right: axisModel.get("right"),
+        bottom: axisModel.get("bottom"),
+        width: axisModel.get("width"),
+        height: axisModel.get("height")
+      }, {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+      this._adjustAxis();
+    },
+    /**
+     * @return {module:zrender/core/BoundingRect}
+     */
+    getRect: function() {
+      return this._rect;
+    },
+    /**
+     * @private
+     */
+    _adjustAxis: function() {
+      var rect = this._rect;
+      var axis2 = this._axis;
+      var isHorizontal = axis2.isHorizontal();
+      var extent3 = isHorizontal ? [0, rect.width] : [0, rect.height];
+      var idx = axis2.reverse ? 1 : 0;
+      axis2.setExtent(extent3[idx], extent3[1 - idx]);
+      this._updateAxisTransform(axis2, isHorizontal ? rect.x : rect.y);
+    },
+    /**
+     * @param  {module:echarts/coord/single/SingleAxis} axis
+     * @param  {number} coordBase
+     */
+    _updateAxisTransform: function(axis2, coordBase) {
+      var axisExtent = axis2.getExtent();
+      var extentSum = axisExtent[0] + axisExtent[1];
+      var isHorizontal = axis2.isHorizontal();
+      axis2.toGlobalCoord = isHorizontal ? function(coord) {
+        return coord + coordBase;
+      } : function(coord) {
+        return extentSum - coord + coordBase;
+      };
+      axis2.toLocalCoord = isHorizontal ? function(coord) {
+        return coord - coordBase;
+      } : function(coord) {
+        return extentSum - coord + coordBase;
+      };
+    },
+    /**
+     * Get axis.
+     *
+     * @return {module:echarts/coord/single/SingleAxis}
+     */
+    getAxis: function() {
+      return this._axis;
+    },
+    /**
+     * Get axis, add it just for draw tooltip.
+     *
+     * @return {[type]} [description]
+     */
+    getBaseAxis: function() {
+      return this._axis;
+    },
+    /**
+     * @return {Array.<module:echarts/coord/Axis>}
+     */
+    getAxes: function() {
+      return [this._axis];
+    },
+    /**
+     * @return {Object} {baseAxes: [], otherAxes: []}
+     */
+    getTooltipAxes: function() {
+      return {
+        baseAxes: [this.getAxis()]
+      };
+    },
+    /**
+     * If contain point.
+     *
+     * @param  {Array.<number>} point
+     * @return {boolean}
+     */
+    containPoint: function(point) {
+      var rect = this.getRect();
+      var axis2 = this.getAxis();
+      var orient = axis2.orient;
+      if (orient === "horizontal") {
+        return axis2.contain(axis2.toLocalCoord(point[0])) && point[1] >= rect.y && point[1] <= rect.y + rect.height;
+      } else {
+        return axis2.contain(axis2.toLocalCoord(point[1])) && point[0] >= rect.y && point[0] <= rect.y + rect.height;
+      }
+    },
+    /**
+     * @param {Array.<number>} point
+     * @return {Array.<number>}
+     */
+    pointToData: function(point) {
+      var axis2 = this.getAxis();
+      return [axis2.coordToData(axis2.toLocalCoord(point[axis2.orient === "horizontal" ? 0 : 1]))];
+    },
+    /**
+     * Convert the series data to concrete point.
+     *
+     * @param  {number|Array.<number>} val
+     * @return {Array.<number>}
+     */
+    dataToPoint: function(val) {
+      var axis2 = this.getAxis();
+      var rect = this.getRect();
+      var pt = [];
+      var idx = axis2.orient === "horizontal" ? 0 : 1;
+      if (val instanceof Array) {
+        val = val[0];
+      }
+      pt[idx] = axis2.toGlobalCoord(axis2.dataToCoord(+val));
+      pt[1 - idx] = idx === 0 ? rect.y + rect.height / 2 : rect.x + rect.width / 2;
+      return pt;
+    }
+  };
+  var _default68 = Single2;
+  Single_1 = _default68;
+  return Single_1;
+}
+var hasRequiredSingleCreator;
+function requireSingleCreator() {
+  if (hasRequiredSingleCreator)
+    return singleCreator$2;
+  hasRequiredSingleCreator = 1;
+  var Single2 = requireSingle();
+  var CoordinateSystem2 = CoordinateSystem$1;
+  function create2(ecModel, api2) {
+    var singles = [];
+    ecModel.eachComponent("singleAxis", function(axisModel, idx) {
+      var single = new Single2(axisModel, ecModel, api2);
+      single.name = "single_" + idx;
+      single.resize(axisModel, api2);
+      axisModel.coordinateSystem = single;
+      singles.push(single);
+    });
+    ecModel.eachSeries(function(seriesModel) {
+      if (seriesModel.get("coordinateSystem") === "singleAxis") {
+        var singleAxisModel = ecModel.queryComponents({
+          mainType: "singleAxis",
+          index: seriesModel.get("singleAxisIndex"),
+          id: seriesModel.get("singleAxisId")
+        })[0];
+        seriesModel.coordinateSystem = singleAxisModel && singleAxisModel.coordinateSystem;
+      }
+    });
+    return singles;
+  }
+  CoordinateSystem2.register("single", {
+    create: create2,
+    dimensions: Single2.prototype.dimensions
+  });
+  return singleCreator$2;
+}
+var singleAxisHelper = {};
+var hasRequiredSingleAxisHelper;
+function requireSingleAxisHelper() {
+  if (hasRequiredSingleAxisHelper)
+    return singleAxisHelper;
+  hasRequiredSingleAxisHelper = 1;
+  var zrUtil2 = util$a;
+  function layout2(axisModel, opt) {
+    opt = opt || {};
+    var single = axisModel.coordinateSystem;
+    var axis2 = axisModel.axis;
+    var layout3 = {};
+    var axisPosition = axis2.position;
+    var orient = axis2.orient;
+    var rect = single.getRect();
+    var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];
+    var positionMap = {
+      horizontal: {
+        top: rectBound[2],
+        bottom: rectBound[3]
+      },
+      vertical: {
+        left: rectBound[0],
+        right: rectBound[1]
+      }
+    };
+    layout3.position = [orient === "vertical" ? positionMap.vertical[axisPosition] : rectBound[0], orient === "horizontal" ? positionMap.horizontal[axisPosition] : rectBound[3]];
+    var r2 = {
+      horizontal: 0,
+      vertical: 1
+    };
+    layout3.rotation = Math.PI / 2 * r2[orient];
+    var directionMap = {
+      top: -1,
+      bottom: 1,
+      right: 1,
+      left: -1
+    };
+    layout3.labelDirection = layout3.tickDirection = layout3.nameDirection = directionMap[axisPosition];
+    if (axisModel.get("axisTick.inside")) {
+      layout3.tickDirection = -layout3.tickDirection;
+    }
+    if (zrUtil2.retrieve(opt.labelInside, axisModel.get("axisLabel.inside"))) {
+      layout3.labelDirection = -layout3.labelDirection;
+    }
+    var labelRotation = opt.rotate;
+    labelRotation == null && (labelRotation = axisModel.get("axisLabel.rotate"));
+    layout3.labelRotation = axisPosition === "top" ? -labelRotation : labelRotation;
+    layout3.z2 = 1;
+    return layout3;
+  }
+  singleAxisHelper.layout = layout2;
+  return singleAxisHelper;
+}
+var SingleAxisView_1;
+var hasRequiredSingleAxisView;
+function requireSingleAxisView() {
+  if (hasRequiredSingleAxisView)
+    return SingleAxisView_1;
+  hasRequiredSingleAxisView = 1;
+  var zrUtil2 = util$a;
+  var AxisBuilder2 = requireAxisBuilder();
+  var graphic2 = graphic$6;
+  var singleAxisHelper2 = requireSingleAxisHelper();
+  var AxisView2 = requireAxisView();
+  var _axisSplitHelper = requireAxisSplitHelper();
+  var rectCoordAxisBuildSplitArea2 = _axisSplitHelper.rectCoordAxisBuildSplitArea;
+  var rectCoordAxisHandleRemove2 = _axisSplitHelper.rectCoordAxisHandleRemove;
+  var axisBuilderAttrs2 = ["axisLine", "axisTickLabel", "axisName"];
+  var selfBuilderAttrs2 = ["splitArea", "splitLine"];
+  var SingleAxisView2 = AxisView2.extend({
+    type: "singleAxis",
+    axisPointerClass: "SingleAxisPointer",
+    render: function(axisModel, ecModel, api2, payload) {
+      var group = this.group;
+      group.removeAll();
+      var oldAxisGroup = this._axisGroup;
+      this._axisGroup = new graphic2.Group();
+      var layout2 = singleAxisHelper2.layout(axisModel);
+      var axisBuilder = new AxisBuilder2(axisModel, layout2);
+      zrUtil2.each(axisBuilderAttrs2, axisBuilder.add, axisBuilder);
+      group.add(this._axisGroup);
+      group.add(axisBuilder.getGroup());
+      zrUtil2.each(selfBuilderAttrs2, function(name2) {
+        if (axisModel.get(name2 + ".show")) {
+          this["_" + name2](axisModel);
+        }
+      }, this);
+      graphic2.groupTransition(oldAxisGroup, this._axisGroup, axisModel);
+      SingleAxisView2.superCall(this, "render", axisModel, ecModel, api2, payload);
+    },
+    remove: function() {
+      rectCoordAxisHandleRemove2(this);
+    },
+    _splitLine: function(axisModel) {
+      var axis2 = axisModel.axis;
+      if (axis2.scale.isBlank()) {
+        return;
+      }
+      var splitLineModel = axisModel.getModel("splitLine");
+      var lineStyleModel = splitLineModel.getModel("lineStyle");
+      var lineWidth = lineStyleModel.get("width");
+      var lineColors = lineStyleModel.get("color");
+      lineColors = lineColors instanceof Array ? lineColors : [lineColors];
+      var gridRect = axisModel.coordinateSystem.getRect();
+      var isHorizontal = axis2.isHorizontal();
+      var splitLines = [];
+      var lineCount = 0;
+      var ticksCoords = axis2.getTicksCoords({
+        tickModel: splitLineModel
+      });
+      var p1 = [];
+      var p2 = [];
+      for (var i2 = 0; i2 < ticksCoords.length; ++i2) {
+        var tickCoord = axis2.toGlobalCoord(ticksCoords[i2].coord);
+        if (isHorizontal) {
+          p1[0] = tickCoord;
+          p1[1] = gridRect.y;
+          p2[0] = tickCoord;
+          p2[1] = gridRect.y + gridRect.height;
+        } else {
+          p1[0] = gridRect.x;
+          p1[1] = tickCoord;
+          p2[0] = gridRect.x + gridRect.width;
+          p2[1] = tickCoord;
+        }
+        var colorIndex = lineCount++ % lineColors.length;
+        splitLines[colorIndex] = splitLines[colorIndex] || [];
+        splitLines[colorIndex].push(new graphic2.Line({
+          subPixelOptimize: true,
+          shape: {
+            x1: p1[0],
+            y1: p1[1],
+            x2: p2[0],
+            y2: p2[1]
+          },
+          style: {
+            lineWidth
+          },
+          silent: true
+        }));
+      }
+      for (var i2 = 0; i2 < splitLines.length; ++i2) {
+        this.group.add(graphic2.mergePath(splitLines[i2], {
+          style: {
+            stroke: lineColors[i2 % lineColors.length],
+            lineDash: lineStyleModel.getLineDash(lineWidth),
+            lineWidth
+          },
+          silent: true
+        }));
+      }
+    },
+    _splitArea: function(axisModel) {
+      rectCoordAxisBuildSplitArea2(this, this._axisGroup, axisModel, axisModel);
+    }
+  });
+  var _default68 = SingleAxisView2;
+  SingleAxisView_1 = _default68;
+  return SingleAxisView_1;
+}
+var AxisModel_1;
+var hasRequiredAxisModel$1;
+function requireAxisModel$1() {
+  if (hasRequiredAxisModel$1)
+    return AxisModel_1;
+  hasRequiredAxisModel$1 = 1;
+  var zrUtil2 = util$a;
+  var ComponentModel2 = Component$1;
+  var axisModelCreator2 = requireAxisModelCreator();
+  var axisModelCommonMixin2 = requireAxisModelCommonMixin();
+  var AxisModel2 = ComponentModel2.extend({
+    type: "singleAxis",
+    layoutMode: "box",
+    /**
+     * @type {module:echarts/coord/single/SingleAxis}
+     */
+    axis: null,
+    /**
+     * @type {module:echarts/coord/single/Single}
+     */
+    coordinateSystem: null,
+    /**
+     * @override
+     */
+    getCoordSysModel: function() {
+      return this;
+    }
+  });
+  var defaultOption2 = {
+    left: "5%",
+    top: "5%",
+    right: "5%",
+    bottom: "5%",
+    type: "value",
+    position: "bottom",
+    orient: "horizontal",
+    axisLine: {
+      show: true,
+      lineStyle: {
+        width: 1,
+        type: "solid"
+      }
+    },
+    // Single coordinate system and single axis is the,
+    // which is used as the parent tooltip model.
+    // same model, so we set default tooltip show as true.
+    tooltip: {
+      show: true
+    },
+    axisTick: {
+      show: true,
+      length: 6,
+      lineStyle: {
+        width: 1
+      }
+    },
+    axisLabel: {
+      show: true,
+      interval: "auto"
+    },
+    splitLine: {
+      show: true,
+      lineStyle: {
+        type: "dashed",
+        opacity: 0.2
+      }
+    }
+  };
+  function getAxisType2(axisName, option) {
+    return option.type || (option.data ? "category" : "value");
+  }
+  zrUtil2.merge(AxisModel2.prototype, axisModelCommonMixin2);
+  axisModelCreator2("single", AxisModel2, getAxisType2, defaultOption2);
+  var _default68 = AxisModel2;
+  AxisModel_1 = _default68;
+  return AxisModel_1;
+}
+var axisPointer = {};
+var findPointFromSeries$1;
+var hasRequiredFindPointFromSeries;
+function requireFindPointFromSeries() {
+  if (hasRequiredFindPointFromSeries)
+    return findPointFromSeries$1;
+  hasRequiredFindPointFromSeries = 1;
+  var zrUtil2 = util$a;
+  var modelUtil2 = model;
+  function _default68(finder, ecModel) {
+    var point = [];
+    var seriesIndex = finder.seriesIndex;
+    var seriesModel;
+    if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {
+      return {
+        point: []
+      };
+    }
+    var data2 = seriesModel.getData();
+    var dataIndex = modelUtil2.queryDataIndex(data2, finder);
+    if (dataIndex == null || dataIndex < 0 || zrUtil2.isArray(dataIndex)) {
+      return {
+        point: []
+      };
+    }
+    var el = data2.getItemGraphicEl(dataIndex);
+    var coordSys = seriesModel.coordinateSystem;
+    if (seriesModel.getTooltipPosition) {
+      point = seriesModel.getTooltipPosition(dataIndex) || [];
+    } else if (coordSys && coordSys.dataToPoint) {
+      point = coordSys.dataToPoint(data2.getValues(zrUtil2.map(coordSys.dimensions, function(dim) {
+        return data2.mapDimension(dim);
+      }), dataIndex, true)) || [];
+    } else if (el) {
+      var rect = el.getBoundingRect().clone();
+      rect.applyTransform(el.transform);
+      point = [rect.x + rect.width / 2, rect.y + rect.height / 2];
+    }
+    return {
+      point,
+      el
+    };
+  }
+  findPointFromSeries$1 = _default68;
+  return findPointFromSeries$1;
+}
+var axisTrigger$1;
+var hasRequiredAxisTrigger;
+function requireAxisTrigger() {
+  if (hasRequiredAxisTrigger)
+    return axisTrigger$1;
+  hasRequiredAxisTrigger = 1;
+  var zrUtil2 = util$a;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var modelHelper2 = requireModelHelper();
+  var findPointFromSeries2 = requireFindPointFromSeries();
+  var each2 = zrUtil2.each;
+  var curry2 = zrUtil2.curry;
+  var inner2 = makeInner2();
+  function _default68(payload, ecModel, api2) {
+    var currTrigger = payload.currTrigger;
+    var point = [payload.x, payload.y];
+    var finder = payload;
+    var dispatchAction2 = payload.dispatchAction || zrUtil2.bind(api2.dispatchAction, api2);
+    var coordSysAxesInfo = ecModel.getComponent("axisPointer").coordSysAxesInfo;
+    if (!coordSysAxesInfo) {
+      return;
+    }
+    if (illegalPoint2(point)) {
+      point = findPointFromSeries2({
+        seriesIndex: finder.seriesIndex,
+        // Do not use dataIndexInside from other ec instance.
+        // FIXME: auto detect it?
+        dataIndex: finder.dataIndex
+      }, ecModel).point;
+    }
+    var isIllegalPoint = illegalPoint2(point);
+    var inputAxesInfo = finder.axesInfo;
+    var axesInfo = coordSysAxesInfo.axesInfo;
+    var shouldHide = currTrigger === "leave" || illegalPoint2(point);
+    var outputFinder = {};
+    var showValueMap = {};
+    var dataByCoordSys = {
+      list: [],
+      map: {}
+    };
+    var updaters = {
+      showPointer: curry2(showPointer2, showValueMap),
+      showTooltip: curry2(showTooltip2, dataByCoordSys)
+    };
+    each2(coordSysAxesInfo.coordSysMap, function(coordSys, coordSysKey) {
+      var coordSysContainsPoint = isIllegalPoint || coordSys.containPoint(point);
+      each2(coordSysAxesInfo.coordSysAxesInfo[coordSysKey], function(axisInfo, key2) {
+        var axis2 = axisInfo.axis;
+        var inputAxisInfo = findInputAxisInfo2(inputAxesInfo, axisInfo);
+        if (!shouldHide && coordSysContainsPoint && (!inputAxesInfo || inputAxisInfo)) {
+          var val = inputAxisInfo && inputAxisInfo.value;
+          if (val == null && !isIllegalPoint) {
+            val = axis2.pointToData(point);
+          }
+          val != null && processOnAxis2(axisInfo, val, updaters, false, outputFinder);
+        }
+      });
+    });
+    var linkTriggers = {};
+    each2(axesInfo, function(tarAxisInfo, tarKey) {
+      var linkGroup = tarAxisInfo.linkGroup;
+      if (linkGroup && !showValueMap[tarKey]) {
+        each2(linkGroup.axesInfo, function(srcAxisInfo, srcKey) {
+          var srcValItem = showValueMap[srcKey];
+          if (srcAxisInfo !== tarAxisInfo && srcValItem) {
+            var val = srcValItem.value;
+            linkGroup.mapper && (val = tarAxisInfo.axis.scale.parse(linkGroup.mapper(val, makeMapperParam2(srcAxisInfo), makeMapperParam2(tarAxisInfo))));
+            linkTriggers[tarAxisInfo.key] = val;
+          }
+        });
+      }
+    });
+    each2(linkTriggers, function(val, tarKey) {
+      processOnAxis2(axesInfo[tarKey], val, updaters, true, outputFinder);
+    });
+    updateModelActually2(showValueMap, axesInfo, outputFinder);
+    dispatchTooltipActually2(dataByCoordSys, point, payload, dispatchAction2);
+    dispatchHighDownActually2(axesInfo, dispatchAction2, api2);
+    return outputFinder;
+  }
+  function processOnAxis2(axisInfo, newValue, updaters, dontSnap, outputFinder) {
+    var axis2 = axisInfo.axis;
+    if (axis2.scale.isBlank() || !axis2.containData(newValue)) {
+      return;
+    }
+    if (!axisInfo.involveSeries) {
+      updaters.showPointer(axisInfo, newValue);
+      return;
+    }
+    var payloadInfo = buildPayloadsBySeries2(newValue, axisInfo);
+    var payloadBatch = payloadInfo.payloadBatch;
+    var snapToValue = payloadInfo.snapToValue;
+    if (payloadBatch[0] && outputFinder.seriesIndex == null) {
+      zrUtil2.extend(outputFinder, payloadBatch[0]);
+    }
+    if (!dontSnap && axisInfo.snap) {
+      if (axis2.containData(snapToValue) && snapToValue != null) {
+        newValue = snapToValue;
+      }
+    }
+    updaters.showPointer(axisInfo, newValue, payloadBatch, outputFinder);
+    updaters.showTooltip(axisInfo, payloadInfo, snapToValue);
+  }
+  function buildPayloadsBySeries2(value, axisInfo) {
+    var axis2 = axisInfo.axis;
+    var dim = axis2.dim;
+    var snapToValue = value;
+    var payloadBatch = [];
+    var minDist = Number.MAX_VALUE;
+    var minDiff = -1;
+    each2(axisInfo.seriesModels, function(series, idx) {
+      var dataDim = series.getData().mapDimension(dim, true);
+      var seriesNestestValue;
+      var dataIndices;
+      if (series.getAxisTooltipData) {
+        var result2 = series.getAxisTooltipData(dataDim, value, axis2);
+        dataIndices = result2.dataIndices;
+        seriesNestestValue = result2.nestestValue;
+      } else {
+        dataIndices = series.getData().indicesOfNearest(
+          dataDim[0],
+          value,
+          // Add a threshold to avoid find the wrong dataIndex
+          // when data length is not same.
+          // false,
+          axis2.type === "category" ? 0.5 : null
+        );
+        if (!dataIndices.length) {
+          return;
+        }
+        seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);
+      }
+      if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {
+        return;
+      }
+      var diff = value - seriesNestestValue;
+      var dist2 = Math.abs(diff);
+      if (dist2 <= minDist) {
+        if (dist2 < minDist || diff >= 0 && minDiff < 0) {
+          minDist = dist2;
+          minDiff = diff;
+          snapToValue = seriesNestestValue;
+          payloadBatch.length = 0;
+        }
+        each2(dataIndices, function(dataIndex) {
+          payloadBatch.push({
+            seriesIndex: series.seriesIndex,
+            dataIndexInside: dataIndex,
+            dataIndex: series.getData().getRawIndex(dataIndex)
+          });
+        });
+      }
+    });
+    return {
+      payloadBatch,
+      snapToValue
+    };
+  }
+  function showPointer2(showValueMap, axisInfo, value, payloadBatch) {
+    showValueMap[axisInfo.key] = {
+      value,
+      payloadBatch
+    };
+  }
+  function showTooltip2(dataByCoordSys, axisInfo, payloadInfo, value) {
+    var payloadBatch = payloadInfo.payloadBatch;
+    var axis2 = axisInfo.axis;
+    var axisModel = axis2.model;
+    var axisPointerModel = axisInfo.axisPointerModel;
+    if (!axisInfo.triggerTooltip || !payloadBatch.length) {
+      return;
+    }
+    var coordSysModel = axisInfo.coordSys.model;
+    var coordSysKey = modelHelper2.makeKey(coordSysModel);
+    var coordSysItem = dataByCoordSys.map[coordSysKey];
+    if (!coordSysItem) {
+      coordSysItem = dataByCoordSys.map[coordSysKey] = {
+        coordSysId: coordSysModel.id,
+        coordSysIndex: coordSysModel.componentIndex,
+        coordSysType: coordSysModel.type,
+        coordSysMainType: coordSysModel.mainType,
+        dataByAxis: []
+      };
+      dataByCoordSys.list.push(coordSysItem);
+    }
+    coordSysItem.dataByAxis.push({
+      axisDim: axis2.dim,
+      axisIndex: axisModel.componentIndex,
+      axisType: axisModel.type,
+      axisId: axisModel.id,
+      value,
+      // Caustion: viewHelper.getValueLabel is actually on "view stage", which
+      // depends that all models have been updated. So it should not be performed
+      // here. Considering axisPointerModel used here is volatile, which is hard
+      // to be retrieve in TooltipView, we prepare parameters here.
+      valueLabelOpt: {
+        precision: axisPointerModel.get("label.precision"),
+        formatter: axisPointerModel.get("label.formatter")
+      },
+      seriesDataIndices: payloadBatch.slice()
+    });
+  }
+  function updateModelActually2(showValueMap, axesInfo, outputFinder) {
+    var outputAxesInfo = outputFinder.axesInfo = [];
+    each2(axesInfo, function(axisInfo, key2) {
+      var option = axisInfo.axisPointerModel.option;
+      var valItem = showValueMap[key2];
+      if (valItem) {
+        !axisInfo.useHandle && (option.status = "show");
+        option.value = valItem.value;
+        option.seriesDataIndices = (valItem.payloadBatch || []).slice();
+      } else {
+        !axisInfo.useHandle && (option.status = "hide");
+      }
+      option.status === "show" && outputAxesInfo.push({
+        axisDim: axisInfo.axis.dim,
+        axisIndex: axisInfo.axis.model.componentIndex,
+        value: option.value
+      });
+    });
+  }
+  function dispatchTooltipActually2(dataByCoordSys, point, payload, dispatchAction2) {
+    if (illegalPoint2(point) || !dataByCoordSys.list.length) {
+      dispatchAction2({
+        type: "hideTip"
+      });
+      return;
+    }
+    var sampleItem = ((dataByCoordSys.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};
+    dispatchAction2({
+      type: "showTip",
+      escapeConnect: true,
+      x: point[0],
+      y: point[1],
+      tooltipOption: payload.tooltipOption,
+      position: payload.position,
+      dataIndexInside: sampleItem.dataIndexInside,
+      dataIndex: sampleItem.dataIndex,
+      seriesIndex: sampleItem.seriesIndex,
+      dataByCoordSys: dataByCoordSys.list
+    });
+  }
+  function dispatchHighDownActually2(axesInfo, dispatchAction2, api2) {
+    var zr = api2.getZr();
+    var highDownKey = "axisPointerLastHighlights";
+    var lastHighlights = inner2(zr)[highDownKey] || {};
+    var newHighlights = inner2(zr)[highDownKey] = {};
+    each2(axesInfo, function(axisInfo, key2) {
+      var option = axisInfo.axisPointerModel.option;
+      option.status === "show" && each2(option.seriesDataIndices, function(batchItem) {
+        var key3 = batchItem.seriesIndex + " | " + batchItem.dataIndex;
+        newHighlights[key3] = batchItem;
+      });
+    });
+    var toHighlight = [];
+    var toDownplay = [];
+    zrUtil2.each(lastHighlights, function(batchItem, key2) {
+      !newHighlights[key2] && toDownplay.push(batchItem);
+    });
+    zrUtil2.each(newHighlights, function(batchItem, key2) {
+      !lastHighlights[key2] && toHighlight.push(batchItem);
+    });
+    toDownplay.length && api2.dispatchAction({
+      type: "downplay",
+      escapeConnect: true,
+      batch: toDownplay
+    });
+    toHighlight.length && api2.dispatchAction({
+      type: "highlight",
+      escapeConnect: true,
+      batch: toHighlight
+    });
+  }
+  function findInputAxisInfo2(inputAxesInfo, axisInfo) {
+    for (var i2 = 0; i2 < (inputAxesInfo || []).length; i2++) {
+      var inputAxisInfo = inputAxesInfo[i2];
+      if (axisInfo.axis.dim === inputAxisInfo.axisDim && axisInfo.axis.model.componentIndex === inputAxisInfo.axisIndex) {
+        return inputAxisInfo;
+      }
+    }
+  }
+  function makeMapperParam2(axisInfo) {
+    var axisModel = axisInfo.axis.model;
+    var item = {};
+    var dim = item.axisDim = axisInfo.axis.dim;
+    item.axisIndex = item[dim + "AxisIndex"] = axisModel.componentIndex;
+    item.axisName = item[dim + "AxisName"] = axisModel.name;
+    item.axisId = item[dim + "AxisId"] = axisModel.id;
+    return item;
+  }
+  function illegalPoint2(point) {
+    return !point || point[0] == null || isNaN(point[0]) || point[1] == null || isNaN(point[1]);
+  }
+  axisTrigger$1 = _default68;
+  return axisTrigger$1;
+}
+var AxisPointerModel_1;
+var hasRequiredAxisPointerModel;
+function requireAxisPointerModel() {
+  if (hasRequiredAxisPointerModel)
+    return AxisPointerModel_1;
+  hasRequiredAxisPointerModel = 1;
+  var echarts2 = echarts$1;
+  var AxisPointerModel2 = echarts2.extendComponentModel({
+    type: "axisPointer",
+    coordSysAxesInfo: null,
+    defaultOption: {
+      // 'auto' means that show when triggered by tooltip or handle.
+      show: "auto",
+      // 'click' | 'mousemove' | 'none'
+      triggerOn: null,
+      // set default in AxisPonterView.js
+      zlevel: 0,
+      z: 50,
+      type: "line",
+      // 'line' 'shadow' 'cross' 'none'.
+      // axispointer triggered by tootip determine snap automatically,
+      // see `modelHelper`.
+      snap: false,
+      triggerTooltip: true,
+      value: null,
+      status: null,
+      // Init value depends on whether handle is used.
+      // [group0, group1, ...]
+      // Each group can be: {
+      //      mapper: function () {},
+      //      singleTooltip: 'multiple',  // 'multiple' or 'single'
+      //      xAxisId: ...,
+      //      yAxisName: ...,
+      //      angleAxisIndex: ...
+      // }
+      // mapper: can be ignored.
+      //      input: {axisInfo, value}
+      //      output: {axisInfo, value}
+      link: [],
+      // Do not set 'auto' here, otherwise global animation: false
+      // will not effect at this axispointer.
+      animation: null,
+      animationDurationUpdate: 200,
+      lineStyle: {
+        color: "#aaa",
+        width: 1,
+        type: "solid"
+      },
+      shadowStyle: {
+        color: "rgba(150,150,150,0.3)"
+      },
+      label: {
+        show: true,
+        formatter: null,
+        // string | Function
+        precision: "auto",
+        // Or a number like 0, 1, 2 ...
+        margin: 3,
+        color: "#fff",
+        padding: [5, 7, 5, 7],
+        backgroundColor: "auto",
+        // default: axis line color
+        borderColor: null,
+        borderWidth: 0,
+        shadowBlur: 3,
+        shadowColor: "#aaa"
+        // Considering applicability, common style should
+        // better not have shadowOffset.
+        // shadowOffsetX: 0,
+        // shadowOffsetY: 2
+      },
+      handle: {
+        show: false,
+        /* eslint-disable */
+        icon: "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",
+        // jshint ignore:line
+        /* eslint-enable */
+        size: 45,
+        // handle margin is from symbol center to axis, which is stable when circular move.
+        margin: 50,
+        // color: '#1b8bbd'
+        // color: '#2f4554'
+        color: "#333",
+        shadowBlur: 3,
+        shadowColor: "#aaa",
+        shadowOffsetX: 0,
+        shadowOffsetY: 2,
+        // For mobile performance
+        throttle: 40
+      }
+    }
+  });
+  var _default68 = AxisPointerModel2;
+  AxisPointerModel_1 = _default68;
+  return AxisPointerModel_1;
+}
+var globalListener = {};
+var hasRequiredGlobalListener;
+function requireGlobalListener() {
+  if (hasRequiredGlobalListener)
+    return globalListener;
+  hasRequiredGlobalListener = 1;
+  var zrUtil2 = util$a;
+  var env2 = env_1;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var inner2 = makeInner2();
+  var each2 = zrUtil2.each;
+  function register2(key2, api2, handler) {
+    if (env2.node) {
+      return;
+    }
+    var zr = api2.getZr();
+    inner2(zr).records || (inner2(zr).records = {});
+    initGlobalListeners2(zr, api2);
+    var record = inner2(zr).records[key2] || (inner2(zr).records[key2] = {});
+    record.handler = handler;
+  }
+  function initGlobalListeners2(zr, api2) {
+    if (inner2(zr).initialized) {
+      return;
+    }
+    inner2(zr).initialized = true;
+    useHandler("click", zrUtil2.curry(doEnter2, "click"));
+    useHandler("mousemove", zrUtil2.curry(doEnter2, "mousemove"));
+    useHandler("globalout", onLeave2);
+    function useHandler(eventType, cb) {
+      zr.on(eventType, function(e2) {
+        var dis = makeDispatchAction2(api2);
+        each2(inner2(zr).records, function(record) {
+          record && cb(record, e2, dis.dispatchAction);
+        });
+        dispatchTooltipFinally2(dis.pendings, api2);
+      });
+    }
+  }
+  function dispatchTooltipFinally2(pendings, api2) {
+    var showLen = pendings.showTip.length;
+    var hideLen = pendings.hideTip.length;
+    var actuallyPayload;
+    if (showLen) {
+      actuallyPayload = pendings.showTip[showLen - 1];
+    } else if (hideLen) {
+      actuallyPayload = pendings.hideTip[hideLen - 1];
+    }
+    if (actuallyPayload) {
+      actuallyPayload.dispatchAction = null;
+      api2.dispatchAction(actuallyPayload);
+    }
+  }
+  function onLeave2(record, e2, dispatchAction2) {
+    record.handler("leave", null, dispatchAction2);
+  }
+  function doEnter2(currTrigger, record, e2, dispatchAction2) {
+    record.handler(currTrigger, e2, dispatchAction2);
+  }
+  function makeDispatchAction2(api2) {
+    var pendings = {
+      showTip: [],
+      hideTip: []
+    };
+    var dispatchAction2 = function(payload) {
+      var pendingList = pendings[payload.type];
+      if (pendingList) {
+        pendingList.push(payload);
+      } else {
+        payload.dispatchAction = dispatchAction2;
+        api2.dispatchAction(payload);
+      }
+    };
+    return {
+      dispatchAction: dispatchAction2,
+      pendings
+    };
+  }
+  function unregister2(key2, api2) {
+    if (env2.node) {
+      return;
+    }
+    var zr = api2.getZr();
+    var record = (inner2(zr).records || {})[key2];
+    if (record) {
+      inner2(zr).records[key2] = null;
+    }
+  }
+  globalListener.register = register2;
+  globalListener.unregister = unregister2;
+  return globalListener;
+}
+var AxisPointerView_1;
+var hasRequiredAxisPointerView;
+function requireAxisPointerView() {
+  if (hasRequiredAxisPointerView)
+    return AxisPointerView_1;
+  hasRequiredAxisPointerView = 1;
+  var echarts2 = echarts$1;
+  var globalListener2 = requireGlobalListener();
+  var AxisPointerView2 = echarts2.extendComponentView({
+    type: "axisPointer",
+    render: function(globalAxisPointerModel, ecModel, api2) {
+      var globalTooltipModel = ecModel.getComponent("tooltip");
+      var triggerOn = globalAxisPointerModel.get("triggerOn") || globalTooltipModel && globalTooltipModel.get("triggerOn") || "mousemove|click";
+      globalListener2.register("axisPointer", api2, function(currTrigger, e2, dispatchAction2) {
+        if (triggerOn !== "none" && (currTrigger === "leave" || triggerOn.indexOf(currTrigger) >= 0)) {
+          dispatchAction2({
+            type: "updateAxisPointer",
+            currTrigger,
+            x: e2 && e2.offsetX,
+            y: e2 && e2.offsetY
+          });
+        }
+      });
+    },
+    /**
+     * @override
+     */
+    remove: function(ecModel, api2) {
+      globalListener2.unregister(api2.getZr(), "axisPointer");
+      AxisPointerView2.superApply(this._model, "remove", arguments);
+    },
+    /**
+     * @override
+     */
+    dispose: function(ecModel, api2) {
+      globalListener2.unregister("axisPointer", api2);
+      AxisPointerView2.superApply(this._model, "dispose", arguments);
+    }
+  });
+  var _default68 = AxisPointerView2;
+  AxisPointerView_1 = _default68;
+  return AxisPointerView_1;
+}
+var BaseAxisPointer_1;
+var hasRequiredBaseAxisPointer;
+function requireBaseAxisPointer() {
+  if (hasRequiredBaseAxisPointer)
+    return BaseAxisPointer_1;
+  hasRequiredBaseAxisPointer = 1;
+  var zrUtil2 = util$a;
+  var clazzUtil2 = clazz;
+  var graphic2 = graphic$6;
+  var axisPointerModelHelper = requireModelHelper();
+  var eventTool2 = event$1;
+  var throttleUtil = throttle$3;
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var inner2 = makeInner2();
+  var clone2 = zrUtil2.clone;
+  var bind4 = zrUtil2.bind;
+  function BaseAxisPointer2() {
+  }
+  BaseAxisPointer2.prototype = {
+    /**
+     * @private
+     */
+    _group: null,
+    /**
+     * @private
+     */
+    _lastGraphicKey: null,
+    /**
+     * @private
+     */
+    _handle: null,
+    /**
+     * @private
+     */
+    _dragging: false,
+    /**
+     * @private
+     */
+    _lastValue: null,
+    /**
+     * @private
+     */
+    _lastStatus: null,
+    /**
+     * @private
+     */
+    _payloadInfo: null,
+    /**
+     * In px, arbitrary value. Do not set too small,
+     * no animation is ok for most cases.
+     * @protected
+     */
+    animationThreshold: 15,
+    /**
+     * @implement
+     */
+    render: function(axisModel, axisPointerModel, api2, forceRender) {
+      var value = axisPointerModel.get("value");
+      var status = axisPointerModel.get("status");
+      this._axisModel = axisModel;
+      this._axisPointerModel = axisPointerModel;
+      this._api = api2;
+      if (!forceRender && this._lastValue === value && this._lastStatus === status) {
+        return;
+      }
+      this._lastValue = value;
+      this._lastStatus = status;
+      var group = this._group;
+      var handle2 = this._handle;
+      if (!status || status === "hide") {
+        group && group.hide();
+        handle2 && handle2.hide();
+        return;
+      }
+      group && group.show();
+      handle2 && handle2.show();
+      var elOption = {};
+      this.makeElOption(elOption, value, axisModel, axisPointerModel, api2);
+      var graphicKey = elOption.graphicKey;
+      if (graphicKey !== this._lastGraphicKey) {
+        this.clear(api2);
+      }
+      this._lastGraphicKey = graphicKey;
+      var moveAnimation = this._moveAnimation = this.determineAnimation(axisModel, axisPointerModel);
+      if (!group) {
+        group = this._group = new graphic2.Group();
+        this.createPointerEl(group, elOption, axisModel, axisPointerModel);
+        this.createLabelEl(group, elOption, axisModel, axisPointerModel);
+        api2.getZr().add(group);
+      } else {
+        var doUpdateProps = zrUtil2.curry(updateProps2, axisPointerModel, moveAnimation);
+        this.updatePointerEl(group, elOption, doUpdateProps, axisPointerModel);
+        this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);
+      }
+      updateMandatoryProps2(group, axisPointerModel, true);
+      this._renderHandle(value);
+    },
+    /**
+     * @implement
+     */
+    remove: function(api2) {
+      this.clear(api2);
+    },
+    /**
+     * @implement
+     */
+    dispose: function(api2) {
+      this.clear(api2);
+    },
+    /**
+     * @protected
+     */
+    determineAnimation: function(axisModel, axisPointerModel) {
+      var animation2 = axisPointerModel.get("animation");
+      var axis2 = axisModel.axis;
+      var isCategoryAxis = axis2.type === "category";
+      var useSnap = axisPointerModel.get("snap");
+      if (!useSnap && !isCategoryAxis) {
+        return false;
+      }
+      if (animation2 === "auto" || animation2 == null) {
+        var animationThreshold = this.animationThreshold;
+        if (isCategoryAxis && axis2.getBandWidth() > animationThreshold) {
+          return true;
+        }
+        if (useSnap) {
+          var seriesDataCount = axisPointerModelHelper.getAxisInfo(axisModel).seriesDataCount;
+          var axisExtent = axis2.getExtent();
+          return Math.abs(axisExtent[0] - axisExtent[1]) / seriesDataCount > animationThreshold;
+        }
+        return false;
+      }
+      return animation2 === true;
+    },
+    /**
+     * add {pointer, label, graphicKey} to elOption
+     * @protected
+     */
+    makeElOption: function(elOption, value, axisModel, axisPointerModel, api2) {
+    },
+    /**
+     * @protected
+     */
+    createPointerEl: function(group, elOption, axisModel, axisPointerModel) {
+      var pointerOption = elOption.pointer;
+      if (pointerOption) {
+        var pointerEl = inner2(group).pointerEl = new graphic2[pointerOption.type](clone2(elOption.pointer));
+        group.add(pointerEl);
+      }
+    },
+    /**
+     * @protected
+     */
+    createLabelEl: function(group, elOption, axisModel, axisPointerModel) {
+      if (elOption.label) {
+        var labelEl = inner2(group).labelEl = new graphic2.Rect(clone2(elOption.label));
+        group.add(labelEl);
+        updateLabelShowHide2(labelEl, axisPointerModel);
+      }
+    },
+    /**
+     * @protected
+     */
+    updatePointerEl: function(group, elOption, updateProps3) {
+      var pointerEl = inner2(group).pointerEl;
+      if (pointerEl && elOption.pointer) {
+        pointerEl.setStyle(elOption.pointer.style);
+        updateProps3(pointerEl, {
+          shape: elOption.pointer.shape
+        });
+      }
+    },
+    /**
+     * @protected
+     */
+    updateLabelEl: function(group, elOption, updateProps3, axisPointerModel) {
+      var labelEl = inner2(group).labelEl;
+      if (labelEl) {
+        labelEl.setStyle(elOption.label.style);
+        updateProps3(labelEl, {
+          // Consider text length change in vertical axis, animation should
+          // be used on shape, otherwise the effect will be weird.
+          shape: elOption.label.shape,
+          position: elOption.label.position
+        });
+        updateLabelShowHide2(labelEl, axisPointerModel);
+      }
+    },
+    /**
+     * @private
+     */
+    _renderHandle: function(value) {
+      if (this._dragging || !this.updateHandleTransform) {
+        return;
+      }
+      var axisPointerModel = this._axisPointerModel;
+      var zr = this._api.getZr();
+      var handle2 = this._handle;
+      var handleModel = axisPointerModel.getModel("handle");
+      var status = axisPointerModel.get("status");
+      if (!handleModel.get("show") || !status || status === "hide") {
+        handle2 && zr.remove(handle2);
+        this._handle = null;
+        return;
+      }
+      var isInit;
+      if (!this._handle) {
+        isInit = true;
+        handle2 = this._handle = graphic2.createIcon(handleModel.get("icon"), {
+          cursor: "move",
+          draggable: true,
+          onmousemove: function(e2) {
+            eventTool2.stop(e2.event);
+          },
+          onmousedown: bind4(this._onHandleDragMove, this, 0, 0),
+          drift: bind4(this._onHandleDragMove, this),
+          ondragend: bind4(this._onHandleDragEnd, this)
+        });
+        zr.add(handle2);
+      }
+      updateMandatoryProps2(handle2, axisPointerModel, false);
+      var includeStyles = ["color", "borderColor", "borderWidth", "opacity", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"];
+      handle2.setStyle(handleModel.getItemStyle(null, includeStyles));
+      var handleSize = handleModel.get("size");
+      if (!zrUtil2.isArray(handleSize)) {
+        handleSize = [handleSize, handleSize];
+      }
+      handle2.attr("scale", [handleSize[0] / 2, handleSize[1] / 2]);
+      throttleUtil.createOrUpdate(this, "_doDispatchAxisPointer", handleModel.get("throttle") || 0, "fixRate");
+      this._moveHandleToValue(value, isInit);
+    },
+    /**
+     * @private
+     */
+    _moveHandleToValue: function(value, isInit) {
+      updateProps2(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps2(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));
+    },
+    /**
+     * @private
+     */
+    _onHandleDragMove: function(dx, dy) {
+      var handle2 = this._handle;
+      if (!handle2) {
+        return;
+      }
+      this._dragging = true;
+      var trans = this.updateHandleTransform(getHandleTransProps2(handle2), [dx, dy], this._axisModel, this._axisPointerModel);
+      this._payloadInfo = trans;
+      handle2.stopAnimation();
+      handle2.attr(getHandleTransProps2(trans));
+      inner2(handle2).lastProp = null;
+      this._doDispatchAxisPointer();
+    },
+    /**
+     * Throttled method.
+     * @private
+     */
+    _doDispatchAxisPointer: function() {
+      var handle2 = this._handle;
+      if (!handle2) {
+        return;
+      }
+      var payloadInfo = this._payloadInfo;
+      var axisModel = this._axisModel;
+      this._api.dispatchAction({
+        type: "updateAxisPointer",
+        x: payloadInfo.cursorPoint[0],
+        y: payloadInfo.cursorPoint[1],
+        tooltipOption: payloadInfo.tooltipOption,
+        axesInfo: [{
+          axisDim: axisModel.axis.dim,
+          axisIndex: axisModel.componentIndex
+        }]
+      });
+    },
+    /**
+     * @private
+     */
+    _onHandleDragEnd: function(moveAnimation) {
+      this._dragging = false;
+      var handle2 = this._handle;
+      if (!handle2) {
+        return;
+      }
+      var value = this._axisPointerModel.get("value");
+      this._moveHandleToValue(value);
+      this._api.dispatchAction({
+        type: "hideTip"
+      });
+    },
+    /**
+     * Should be implemenented by sub-class if support `handle`.
+     * @protected
+     * @param {number} value
+     * @param {module:echarts/model/Model} axisModel
+     * @param {module:echarts/model/Model} axisPointerModel
+     * @return {Object} {position: [x, y], rotation: 0}
+     */
+    getHandleTransform: null,
+    /**
+     * * Should be implemenented by sub-class if support `handle`.
+     * @protected
+     * @param {Object} transform {position, rotation}
+     * @param {Array.<number>} delta [dx, dy]
+     * @param {module:echarts/model/Model} axisModel
+     * @param {module:echarts/model/Model} axisPointerModel
+     * @return {Object} {position: [x, y], rotation: 0, cursorPoint: [x, y]}
+     */
+    updateHandleTransform: null,
+    /**
+     * @private
+     */
+    clear: function(api2) {
+      this._lastValue = null;
+      this._lastStatus = null;
+      var zr = api2.getZr();
+      var group = this._group;
+      var handle2 = this._handle;
+      if (zr && group) {
+        this._lastGraphicKey = null;
+        group && zr.remove(group);
+        handle2 && zr.remove(handle2);
+        this._group = null;
+        this._handle = null;
+        this._payloadInfo = null;
+      }
+    },
+    /**
+     * @protected
+     */
+    doClear: function() {
+    },
+    /**
+     * @protected
+     * @param {Array.<number>} xy
+     * @param {Array.<number>} wh
+     * @param {number} [xDimIndex=0] or 1
+     */
+    buildLabel: function(xy, wh, xDimIndex) {
+      xDimIndex = xDimIndex || 0;
+      return {
+        x: xy[xDimIndex],
+        y: xy[1 - xDimIndex],
+        width: wh[xDimIndex],
+        height: wh[1 - xDimIndex]
+      };
+    }
+  };
+  BaseAxisPointer2.prototype.constructor = BaseAxisPointer2;
+  function updateProps2(animationModel, moveAnimation, el, props2) {
+    if (!propsEqual2(inner2(el).lastProp, props2)) {
+      inner2(el).lastProp = props2;
+      moveAnimation ? graphic2.updateProps(el, props2, animationModel) : (el.stopAnimation(), el.attr(props2));
+    }
+  }
+  function propsEqual2(lastProps, newProps) {
+    if (zrUtil2.isObject(lastProps) && zrUtil2.isObject(newProps)) {
+      var equals = true;
+      zrUtil2.each(newProps, function(item, key2) {
+        equals = equals && propsEqual2(lastProps[key2], item);
+      });
+      return !!equals;
+    } else {
+      return lastProps === newProps;
+    }
+  }
+  function updateLabelShowHide2(labelEl, axisPointerModel) {
+    labelEl[axisPointerModel.get("label.show") ? "show" : "hide"]();
+  }
+  function getHandleTransProps2(trans) {
+    return {
+      position: trans.position.slice(),
+      rotation: trans.rotation || 0
+    };
+  }
+  function updateMandatoryProps2(group, axisPointerModel, silent) {
+    var z2 = axisPointerModel.get("z");
+    var zlevel = axisPointerModel.get("zlevel");
+    group && group.traverse(function(el) {
+      if (el.type !== "group") {
+        z2 != null && (el.z = z2);
+        zlevel != null && (el.zlevel = zlevel);
+        el.silent = silent;
+      }
+    });
+  }
+  clazzUtil2.enableClassExtend(BaseAxisPointer2);
+  var _default68 = BaseAxisPointer2;
+  BaseAxisPointer_1 = _default68;
+  return BaseAxisPointer_1;
+}
+var viewHelper = {};
+var hasRequiredViewHelper;
+function requireViewHelper() {
+  if (hasRequiredViewHelper)
+    return viewHelper;
+  hasRequiredViewHelper = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var textContain2 = text;
+  var formatUtil2 = format$6;
+  var matrix2 = matrix$5;
+  var axisHelper2 = requireAxisHelper();
+  var AxisBuilder2 = requireAxisBuilder();
+  function buildElStyle2(axisPointerModel) {
+    var axisPointerType = axisPointerModel.get("type");
+    var styleModel = axisPointerModel.getModel(axisPointerType + "Style");
+    var style2;
+    if (axisPointerType === "line") {
+      style2 = styleModel.getLineStyle();
+      style2.fill = null;
+    } else if (axisPointerType === "shadow") {
+      style2 = styleModel.getAreaStyle();
+      style2.stroke = null;
+    }
+    return style2;
+  }
+  function buildLabelElOption2(elOption, axisModel, axisPointerModel, api2, labelPos) {
+    var value = axisPointerModel.get("value");
+    var text2 = getValueLabel2(value, axisModel.axis, axisModel.ecModel, axisPointerModel.get("seriesDataIndices"), {
+      precision: axisPointerModel.get("label.precision"),
+      formatter: axisPointerModel.get("label.formatter")
+    });
+    var labelModel = axisPointerModel.getModel("label");
+    var paddings = formatUtil2.normalizeCssArray(labelModel.get("padding") || 0);
+    var font = labelModel.getFont();
+    var textRect = textContain2.getBoundingRect(text2, font);
+    var position2 = labelPos.position;
+    var width = textRect.width + paddings[1] + paddings[3];
+    var height = textRect.height + paddings[0] + paddings[2];
+    var align = labelPos.align;
+    align === "right" && (position2[0] -= width);
+    align === "center" && (position2[0] -= width / 2);
+    var verticalAlign = labelPos.verticalAlign;
+    verticalAlign === "bottom" && (position2[1] -= height);
+    verticalAlign === "middle" && (position2[1] -= height / 2);
+    confineInContainer2(position2, width, height, api2);
+    var bgColor = labelModel.get("backgroundColor");
+    if (!bgColor || bgColor === "auto") {
+      bgColor = axisModel.get("axisLine.lineStyle.color");
+    }
+    elOption.label = {
+      shape: {
+        x: 0,
+        y: 0,
+        width,
+        height,
+        r: labelModel.get("borderRadius")
+      },
+      position: position2.slice(),
+      // TODO: rich
+      style: {
+        text: text2,
+        textFont: font,
+        textFill: labelModel.getTextColor(),
+        textPosition: "inside",
+        textPadding: paddings,
+        fill: bgColor,
+        stroke: labelModel.get("borderColor") || "transparent",
+        lineWidth: labelModel.get("borderWidth") || 0,
+        shadowBlur: labelModel.get("shadowBlur"),
+        shadowColor: labelModel.get("shadowColor"),
+        shadowOffsetX: labelModel.get("shadowOffsetX"),
+        shadowOffsetY: labelModel.get("shadowOffsetY")
+      },
+      // Lable should be over axisPointer.
+      z2: 10
+    };
+  }
+  function confineInContainer2(position2, width, height, api2) {
+    var viewWidth = api2.getWidth();
+    var viewHeight = api2.getHeight();
+    position2[0] = Math.min(position2[0] + width, viewWidth) - width;
+    position2[1] = Math.min(position2[1] + height, viewHeight) - height;
+    position2[0] = Math.max(position2[0], 0);
+    position2[1] = Math.max(position2[1], 0);
+  }
+  function getValueLabel2(value, axis2, ecModel, seriesDataIndices, opt) {
+    value = axis2.scale.parse(value);
+    var text2 = axis2.scale.getLabel(
+      // If `precision` is set, width can be fixed (like '12.00500'), which
+      // helps to debounce when when moving label.
+      value,
+      {
+        precision: opt.precision
+      }
+    );
+    var formatter = opt.formatter;
+    if (formatter) {
+      var params2 = {
+        value: axisHelper2.getAxisRawValue(axis2, value),
+        axisDimension: axis2.dim,
+        axisIndex: axis2.index,
+        seriesData: []
+      };
+      zrUtil2.each(seriesDataIndices, function(idxItem) {
+        var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);
+        var dataIndex = idxItem.dataIndexInside;
+        var dataParams = series && series.getDataParams(dataIndex);
+        dataParams && params2.seriesData.push(dataParams);
+      });
+      if (zrUtil2.isString(formatter)) {
+        text2 = formatter.replace("{value}", text2);
+      } else if (zrUtil2.isFunction(formatter)) {
+        text2 = formatter(params2);
+      }
+    }
+    return text2;
+  }
+  function getTransformedPosition2(axis2, value, layoutInfo) {
+    var transform3 = matrix2.create();
+    matrix2.rotate(transform3, transform3, layoutInfo.rotation);
+    matrix2.translate(transform3, transform3, layoutInfo.position);
+    return graphic2.applyTransform([axis2.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform3);
+  }
+  function buildCartesianSingleLabelElOption2(value, elOption, layoutInfo, axisModel, axisPointerModel, api2) {
+    var textLayout = AxisBuilder2.innerTextLayout(layoutInfo.rotation, 0, layoutInfo.labelDirection);
+    layoutInfo.labelMargin = axisPointerModel.get("label.margin");
+    buildLabelElOption2(elOption, axisModel, axisPointerModel, api2, {
+      position: getTransformedPosition2(axisModel.axis, value, layoutInfo),
+      align: textLayout.textAlign,
+      verticalAlign: textLayout.textVerticalAlign
+    });
+  }
+  function makeLineShape2(p1, p2, xDimIndex) {
+    xDimIndex = xDimIndex || 0;
+    return {
+      x1: p1[xDimIndex],
+      y1: p1[1 - xDimIndex],
+      x2: p2[xDimIndex],
+      y2: p2[1 - xDimIndex]
+    };
+  }
+  function makeRectShape2(xy, wh, xDimIndex) {
+    xDimIndex = xDimIndex || 0;
+    return {
+      x: xy[xDimIndex],
+      y: xy[1 - xDimIndex],
+      width: wh[xDimIndex],
+      height: wh[1 - xDimIndex]
+    };
+  }
+  function makeSectorShape2(cx, cy, r0, r2, startAngle, endAngle) {
+    return {
+      cx,
+      cy,
+      r0,
+      r: r2,
+      startAngle,
+      endAngle,
+      clockwise: true
+    };
+  }
+  viewHelper.buildElStyle = buildElStyle2;
+  viewHelper.buildLabelElOption = buildLabelElOption2;
+  viewHelper.getValueLabel = getValueLabel2;
+  viewHelper.getTransformedPosition = getTransformedPosition2;
+  viewHelper.buildCartesianSingleLabelElOption = buildCartesianSingleLabelElOption2;
+  viewHelper.makeLineShape = makeLineShape2;
+  viewHelper.makeRectShape = makeRectShape2;
+  viewHelper.makeSectorShape = makeSectorShape2;
+  return viewHelper;
+}
+var CartesianAxisPointer_1;
+var hasRequiredCartesianAxisPointer;
+function requireCartesianAxisPointer() {
+  if (hasRequiredCartesianAxisPointer)
+    return CartesianAxisPointer_1;
+  hasRequiredCartesianAxisPointer = 1;
+  var BaseAxisPointer2 = requireBaseAxisPointer();
+  var viewHelper2 = requireViewHelper();
+  var cartesianAxisHelper2 = requireCartesianAxisHelper();
+  var AxisView2 = requireAxisView();
+  var CartesianAxisPointer2 = BaseAxisPointer2.extend({
+    /**
+     * @override
+     */
+    makeElOption: function(elOption, value, axisModel, axisPointerModel, api2) {
+      var axis2 = axisModel.axis;
+      var grid2 = axis2.grid;
+      var axisPointerType = axisPointerModel.get("type");
+      var otherExtent = getCartesian2(grid2, axis2).getOtherAxis(axis2).getGlobalExtent();
+      var pixelValue = axis2.toGlobalCoord(axis2.dataToCoord(value, true));
+      if (axisPointerType && axisPointerType !== "none") {
+        var elStyle = viewHelper2.buildElStyle(axisPointerModel);
+        var pointerOption = pointerShapeBuilder2[axisPointerType](axis2, pixelValue, otherExtent);
+        pointerOption.style = elStyle;
+        elOption.graphicKey = pointerOption.type;
+        elOption.pointer = pointerOption;
+      }
+      var layoutInfo = cartesianAxisHelper2.layout(grid2.model, axisModel);
+      viewHelper2.buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api2);
+    },
+    /**
+     * @override
+     */
+    getHandleTransform: function(value, axisModel, axisPointerModel) {
+      var layoutInfo = cartesianAxisHelper2.layout(axisModel.axis.grid.model, axisModel, {
+        labelInside: false
+      });
+      layoutInfo.labelMargin = axisPointerModel.get("handle.margin");
+      return {
+        position: viewHelper2.getTransformedPosition(axisModel.axis, value, layoutInfo),
+        rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)
+      };
+    },
+    /**
+     * @override
+     */
+    updateHandleTransform: function(transform3, delta, axisModel, axisPointerModel) {
+      var axis2 = axisModel.axis;
+      var grid2 = axis2.grid;
+      var axisExtent = axis2.getGlobalExtent(true);
+      var otherExtent = getCartesian2(grid2, axis2).getOtherAxis(axis2).getGlobalExtent();
+      var dimIndex = axis2.dim === "x" ? 0 : 1;
+      var currPosition = transform3.position;
+      currPosition[dimIndex] += delta[dimIndex];
+      currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);
+      currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);
+      var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;
+      var cursorPoint = [cursorOtherValue, cursorOtherValue];
+      cursorPoint[dimIndex] = currPosition[dimIndex];
+      var tooltipOptions = [{
+        verticalAlign: "middle"
+      }, {
+        align: "center"
+      }];
+      return {
+        position: currPosition,
+        rotation: transform3.rotation,
+        cursorPoint,
+        tooltipOption: tooltipOptions[dimIndex]
+      };
+    }
+  });
+  function getCartesian2(grid2, axis2) {
+    var opt = {};
+    opt[axis2.dim + "AxisIndex"] = axis2.index;
+    return grid2.getCartesian(opt);
+  }
+  var pointerShapeBuilder2 = {
+    line: function(axis2, pixelValue, otherExtent) {
+      var targetShape = viewHelper2.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex2(axis2));
+      return {
+        type: "Line",
+        subPixelOptimize: true,
+        shape: targetShape
+      };
+    },
+    shadow: function(axis2, pixelValue, otherExtent) {
+      var bandWidth = Math.max(1, axis2.getBandWidth());
+      var span = otherExtent[1] - otherExtent[0];
+      return {
+        type: "Rect",
+        shape: viewHelper2.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getAxisDimIndex2(axis2))
+      };
+    }
+  };
+  function getAxisDimIndex2(axis2) {
+    return axis2.dim === "x" ? 0 : 1;
+  }
+  AxisView2.registerAxisPointerClass("CartesianAxisPointer", CartesianAxisPointer2);
+  var _default68 = CartesianAxisPointer2;
+  CartesianAxisPointer_1 = _default68;
+  return CartesianAxisPointer_1;
+}
+var hasRequiredAxisPointer;
+function requireAxisPointer() {
+  if (hasRequiredAxisPointer)
+    return axisPointer;
+  hasRequiredAxisPointer = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var axisPointerModelHelper = requireModelHelper();
+  var axisTrigger2 = requireAxisTrigger();
+  requireAxisPointerModel();
+  requireAxisPointerView();
+  requireCartesianAxisPointer();
+  echarts2.registerPreprocessor(function(option) {
+    if (option) {
+      (!option.axisPointer || option.axisPointer.length === 0) && (option.axisPointer = {});
+      var link = option.axisPointer.link;
+      if (link && !zrUtil2.isArray(link)) {
+        option.axisPointer.link = [link];
+      }
+    }
+  });
+  echarts2.registerProcessor(echarts2.PRIORITY.PROCESSOR.STATISTIC, function(ecModel, api2) {
+    ecModel.getComponent("axisPointer").coordSysAxesInfo = axisPointerModelHelper.collect(ecModel, api2);
+  });
+  echarts2.registerAction({
+    type: "updateAxisPointer",
+    event: "updateAxisPointer",
+    update: ":updateAxisPointer"
+  }, axisTrigger2);
+  return axisPointer;
+}
+var SingleAxisPointer_1;
+var hasRequiredSingleAxisPointer;
+function requireSingleAxisPointer() {
+  if (hasRequiredSingleAxisPointer)
+    return SingleAxisPointer_1;
+  hasRequiredSingleAxisPointer = 1;
+  var BaseAxisPointer2 = requireBaseAxisPointer();
+  var viewHelper2 = requireViewHelper();
+  var singleAxisHelper2 = requireSingleAxisHelper();
+  var AxisView2 = requireAxisView();
+  var XY2 = ["x", "y"];
+  var WH2 = ["width", "height"];
+  var SingleAxisPointer2 = BaseAxisPointer2.extend({
+    /**
+     * @override
+     */
+    makeElOption: function(elOption, value, axisModel, axisPointerModel, api2) {
+      var axis2 = axisModel.axis;
+      var coordSys = axis2.coordinateSystem;
+      var otherExtent = getGlobalExtent2(coordSys, 1 - getPointDimIndex2(axis2));
+      var pixelValue = coordSys.dataToPoint(value)[0];
+      var axisPointerType = axisPointerModel.get("type");
+      if (axisPointerType && axisPointerType !== "none") {
+        var elStyle = viewHelper2.buildElStyle(axisPointerModel);
+        var pointerOption = pointerShapeBuilder2[axisPointerType](axis2, pixelValue, otherExtent);
+        pointerOption.style = elStyle;
+        elOption.graphicKey = pointerOption.type;
+        elOption.pointer = pointerOption;
+      }
+      var layoutInfo = singleAxisHelper2.layout(axisModel);
+      viewHelper2.buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api2);
+    },
+    /**
+     * @override
+     */
+    getHandleTransform: function(value, axisModel, axisPointerModel) {
+      var layoutInfo = singleAxisHelper2.layout(axisModel, {
+        labelInside: false
+      });
+      layoutInfo.labelMargin = axisPointerModel.get("handle.margin");
+      return {
+        position: viewHelper2.getTransformedPosition(axisModel.axis, value, layoutInfo),
+        rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)
+      };
+    },
+    /**
+     * @override
+     */
+    updateHandleTransform: function(transform3, delta, axisModel, axisPointerModel) {
+      var axis2 = axisModel.axis;
+      var coordSys = axis2.coordinateSystem;
+      var dimIndex = getPointDimIndex2(axis2);
+      var axisExtent = getGlobalExtent2(coordSys, dimIndex);
+      var currPosition = transform3.position;
+      currPosition[dimIndex] += delta[dimIndex];
+      currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);
+      currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);
+      var otherExtent = getGlobalExtent2(coordSys, 1 - dimIndex);
+      var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;
+      var cursorPoint = [cursorOtherValue, cursorOtherValue];
+      cursorPoint[dimIndex] = currPosition[dimIndex];
+      return {
+        position: currPosition,
+        rotation: transform3.rotation,
+        cursorPoint,
+        tooltipOption: {
+          verticalAlign: "middle"
+        }
+      };
+    }
+  });
+  var pointerShapeBuilder2 = {
+    line: function(axis2, pixelValue, otherExtent) {
+      var targetShape = viewHelper2.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex2(axis2));
+      return {
+        type: "Line",
+        subPixelOptimize: true,
+        shape: targetShape
+      };
+    },
+    shadow: function(axis2, pixelValue, otherExtent) {
+      var bandWidth = axis2.getBandWidth();
+      var span = otherExtent[1] - otherExtent[0];
+      return {
+        type: "Rect",
+        shape: viewHelper2.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getPointDimIndex2(axis2))
+      };
+    }
+  };
+  function getPointDimIndex2(axis2) {
+    return axis2.isHorizontal() ? 0 : 1;
+  }
+  function getGlobalExtent2(coordSys, dimIndex) {
+    var rect = coordSys.getRect();
+    return [rect[XY2[dimIndex]], rect[XY2[dimIndex]] + rect[WH2[dimIndex]]];
+  }
+  AxisView2.registerAxisPointerClass("SingleAxisPointer", SingleAxisPointer2);
+  var _default68 = SingleAxisPointer2;
+  SingleAxisPointer_1 = _default68;
+  return SingleAxisPointer_1;
+}
+var hasRequiredSingleAxis;
+function requireSingleAxis() {
+  if (hasRequiredSingleAxis)
+    return singleAxis;
+  hasRequiredSingleAxis = 1;
+  var echarts2 = echarts$1;
+  requireSingleCreator();
+  requireSingleAxisView();
+  requireAxisModel$1();
+  requireAxisPointer();
+  requireSingleAxisPointer();
+  echarts2.extendComponentView({
+    type: "single"
+  });
+  return singleAxis;
+}
+var ThemeRiverSeries_1;
+var hasRequiredThemeRiverSeries;
+function requireThemeRiverSeries() {
+  if (hasRequiredThemeRiverSeries)
+    return ThemeRiverSeries_1;
+  hasRequiredThemeRiverSeries = 1;
+  var SeriesModel2 = Series;
+  var createDimensions2 = requireCreateDimensions();
+  var _dimensionHelper = requireDimensionHelper();
+  var getDimensionTypeByAxis2 = _dimensionHelper.getDimensionTypeByAxis;
+  var List = requireList();
+  var zrUtil2 = util$a;
+  var _model2 = model;
+  var groupData2 = _model2.groupData;
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var LegendVisualProvider2 = requireLegendVisualProvider();
+  var DATA_NAME_INDEX2 = 2;
+  var ThemeRiverSeries = SeriesModel2.extend({
+    type: "series.themeRiver",
+    dependencies: ["singleAxis"],
+    /**
+     * @readOnly
+     * @type {module:zrender/core/util#HashMap}
+     */
+    nameMap: null,
+    /**
+     * @override
+     */
+    init: function(option) {
+      ThemeRiverSeries.superApply(this, "init", arguments);
+      this.legendVisualProvider = new LegendVisualProvider2(zrUtil2.bind(this.getData, this), zrUtil2.bind(this.getRawData, this));
+    },
+    /**
+     * If there is no value of a certain point in the time for some event,set it value to 0.
+     *
+     * @param {Array} data  initial data in the option
+     * @return {Array}
+     */
+    fixData: function(data2) {
+      var rawDataLength = data2.length;
+      var timeValueKeys = {};
+      var groupResult = groupData2(data2, function(item) {
+        if (!timeValueKeys.hasOwnProperty(item[0])) {
+          timeValueKeys[item[0]] = -1;
+        }
+        return item[2];
+      });
+      var layData = [];
+      groupResult.buckets.each(function(items, key2) {
+        layData.push({
+          name: key2,
+          dataList: items
+        });
+      });
+      var layerNum = layData.length;
+      for (var k2 = 0; k2 < layerNum; ++k2) {
+        var name2 = layData[k2].name;
+        for (var j2 = 0; j2 < layData[k2].dataList.length; ++j2) {
+          var timeValue = layData[k2].dataList[j2][0];
+          timeValueKeys[timeValue] = k2;
+        }
+        for (var timeValue in timeValueKeys) {
+          if (timeValueKeys.hasOwnProperty(timeValue) && timeValueKeys[timeValue] !== k2) {
+            timeValueKeys[timeValue] = k2;
+            data2[rawDataLength] = [];
+            data2[rawDataLength][0] = timeValue;
+            data2[rawDataLength][1] = 0;
+            data2[rawDataLength][2] = name2;
+            rawDataLength++;
+          }
+        }
+      }
+      return data2;
+    },
+    /**
+     * @override
+     * @param  {Object} option  the initial option that user gived
+     * @param  {module:echarts/model/Model} ecModel  the model object for themeRiver option
+     * @return {module:echarts/data/List}
+     */
+    getInitialData: function(option, ecModel) {
+      var singleAxisModel = ecModel.queryComponents({
+        mainType: "singleAxis",
+        index: this.get("singleAxisIndex"),
+        id: this.get("singleAxisId")
+      })[0];
+      var axisType = singleAxisModel.get("type");
+      var filterData = zrUtil2.filter(option.data, function(dataItem) {
+        return dataItem[2] !== void 0;
+      });
+      var data2 = this.fixData(filterData || []);
+      var nameList = [];
+      var nameMap = this.nameMap = zrUtil2.createHashMap();
+      var count2 = 0;
+      for (var i2 = 0; i2 < data2.length; ++i2) {
+        nameList.push(data2[i2][DATA_NAME_INDEX2]);
+        if (!nameMap.get(data2[i2][DATA_NAME_INDEX2])) {
+          nameMap.set(data2[i2][DATA_NAME_INDEX2], count2);
+          count2++;
+        }
+      }
+      var dimensionsInfo = createDimensions2(data2, {
+        coordDimensions: ["single"],
+        dimensionsDefine: [{
+          name: "time",
+          type: getDimensionTypeByAxis2(axisType)
+        }, {
+          name: "value",
+          type: "float"
+        }, {
+          name: "name",
+          type: "ordinal"
+        }],
+        encodeDefine: {
+          single: 0,
+          value: 1,
+          itemName: 2
+        }
+      });
+      var list2 = new List(dimensionsInfo, this);
+      list2.initData(data2);
+      return list2;
+    },
+    /**
+     * The raw data is divided into multiple layers and each layer
+     *     has same name.
+     *
+     * @return {Array.<Array.<number>>}
+     */
+    getLayerSeries: function() {
+      var data2 = this.getData();
+      var lenCount = data2.count();
+      var indexArr = [];
+      for (var i2 = 0; i2 < lenCount; ++i2) {
+        indexArr[i2] = i2;
+      }
+      var timeDim = data2.mapDimension("single");
+      var groupResult = groupData2(indexArr, function(index3) {
+        return data2.get("name", index3);
+      });
+      var layerSeries = [];
+      groupResult.buckets.each(function(items, key2) {
+        items.sort(function(index1, index244) {
+          return data2.get(timeDim, index1) - data2.get(timeDim, index244);
+        });
+        layerSeries.push({
+          name: key2,
+          indices: items
+        });
+      });
+      return layerSeries;
+    },
+    /**
+     * Get data indices for show tooltip content
+      * @param {Array.<string>|string} dim  single coordinate dimension
+     * @param {number} value axis value
+     * @param {module:echarts/coord/single/SingleAxis} baseAxis  single Axis used
+     *     the themeRiver.
+     * @return {Object} {dataIndices, nestestValue}
+     */
+    getAxisTooltipData: function(dim, value, baseAxis) {
+      if (!zrUtil2.isArray(dim)) {
+        dim = dim ? [dim] : [];
+      }
+      var data2 = this.getData();
+      var layerSeries = this.getLayerSeries();
+      var indices = [];
+      var layerNum = layerSeries.length;
+      var nestestValue;
+      for (var i2 = 0; i2 < layerNum; ++i2) {
+        var minDist = Number.MAX_VALUE;
+        var nearestIdx = -1;
+        var pointNum = layerSeries[i2].indices.length;
+        for (var j2 = 0; j2 < pointNum; ++j2) {
+          var theValue = data2.get(dim[0], layerSeries[i2].indices[j2]);
+          var dist2 = Math.abs(theValue - value);
+          if (dist2 <= minDist) {
+            nestestValue = theValue;
+            minDist = dist2;
+            nearestIdx = layerSeries[i2].indices[j2];
+          }
+        }
+        indices.push(nearestIdx);
+      }
+      return {
+        dataIndices: indices,
+        nestestValue
+      };
+    },
+    /**
+     * @override
+     * @param {number} dataIndex  index of data
+     */
+    formatTooltip: function(dataIndex) {
+      var data2 = this.getData();
+      var htmlName = data2.getName(dataIndex);
+      var htmlValue = data2.get(data2.mapDimension("value"), dataIndex);
+      if (isNaN(htmlValue) || htmlValue == null) {
+        htmlValue = "-";
+      }
+      return encodeHTML2(htmlName + " : " + htmlValue);
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      coordinateSystem: "singleAxis",
+      // gap in axis's orthogonal orientation
+      boundaryGap: ["10%", "10%"],
+      // legendHoverLink: true,
+      singleAxisIndex: 0,
+      animationEasing: "linear",
+      label: {
+        margin: 4,
+        show: true,
+        position: "left",
+        color: "#000",
+        fontSize: 11
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      }
+    }
+  });
+  var _default68 = ThemeRiverSeries;
+  ThemeRiverSeries_1 = _default68;
+  return ThemeRiverSeries_1;
+}
+var ThemeRiverView$2;
+var hasRequiredThemeRiverView;
+function requireThemeRiverView() {
+  if (hasRequiredThemeRiverView)
+    return ThemeRiverView$2;
+  hasRequiredThemeRiverView = 1;
+  var echarts2 = echarts$1;
+  var _poly = requirePoly();
+  var Polygon2 = _poly.Polygon;
+  var graphic2 = graphic$6;
+  var _util2 = util$a;
+  var bind4 = _util2.bind;
+  var extend2 = _util2.extend;
+  var DataDiffer2 = requireDataDiffer();
+  var _default68 = echarts2.extendChartView({
+    type: "themeRiver",
+    init: function() {
+      this._layers = [];
+    },
+    render: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var group = this.group;
+      var layerSeries = seriesModel.getLayerSeries();
+      var layoutInfo = data2.getLayout("layoutInfo");
+      var rect = layoutInfo.rect;
+      var boundaryGap = layoutInfo.boundaryGap;
+      group.attr("position", [0, rect.y + boundaryGap[0]]);
+      function keyGetter(item) {
+        return item.name;
+      }
+      var dataDiffer = new DataDiffer2(this._layersSeries || [], layerSeries, keyGetter, keyGetter);
+      var newLayersGroups = {};
+      dataDiffer.add(bind4(process2, this, "add")).update(bind4(process2, this, "update")).remove(bind4(process2, this, "remove")).execute();
+      function process2(status, idx, oldIdx) {
+        var oldLayersGroups = this._layers;
+        if (status === "remove") {
+          group.remove(oldLayersGroups[idx]);
+          return;
+        }
+        var points0 = [];
+        var points1 = [];
+        var color2;
+        var indices = layerSeries[idx].indices;
+        for (var j2 = 0; j2 < indices.length; j2++) {
+          var layout2 = data2.getItemLayout(indices[j2]);
+          var x2 = layout2.x;
+          var y0 = layout2.y0;
+          var y2 = layout2.y;
+          points0.push([x2, y0]);
+          points1.push([x2, y0 + y2]);
+          color2 = data2.getItemVisual(indices[j2], "color");
+        }
+        var polygon2;
+        var text2;
+        var textLayout = data2.getItemLayout(indices[0]);
+        var itemModel = data2.getItemModel(indices[j2 - 1]);
+        var labelModel = itemModel.getModel("label");
+        var margin = labelModel.get("margin");
+        if (status === "add") {
+          var layerGroup = newLayersGroups[idx] = new graphic2.Group();
+          polygon2 = new Polygon2({
+            shape: {
+              points: points0,
+              stackedOnPoints: points1,
+              smooth: 0.4,
+              stackedOnSmooth: 0.4,
+              smoothConstraint: false
+            },
+            z2: 0
+          });
+          text2 = new graphic2.Text({
+            style: {
+              x: textLayout.x - margin,
+              y: textLayout.y0 + textLayout.y / 2
+            }
+          });
+          layerGroup.add(polygon2);
+          layerGroup.add(text2);
+          group.add(layerGroup);
+          polygon2.setClipPath(createGridClipShape2(polygon2.getBoundingRect(), seriesModel, function() {
+            polygon2.removeClipPath();
+          }));
+        } else {
+          var layerGroup = oldLayersGroups[oldIdx];
+          polygon2 = layerGroup.childAt(0);
+          text2 = layerGroup.childAt(1);
+          group.add(layerGroup);
+          newLayersGroups[idx] = layerGroup;
+          graphic2.updateProps(polygon2, {
+            shape: {
+              points: points0,
+              stackedOnPoints: points1
+            }
+          }, seriesModel);
+          graphic2.updateProps(text2, {
+            style: {
+              x: textLayout.x - margin,
+              y: textLayout.y0 + textLayout.y / 2
+            }
+          }, seriesModel);
+        }
+        var hoverItemStyleModel = itemModel.getModel("emphasis.itemStyle");
+        var itemStyleModel = itemModel.getModel("itemStyle");
+        graphic2.setTextStyle(text2.style, labelModel, {
+          text: labelModel.get("show") ? seriesModel.getFormattedLabel(indices[j2 - 1], "normal") || data2.getName(indices[j2 - 1]) : null,
+          textVerticalAlign: "middle"
+        });
+        polygon2.setStyle(extend2({
+          fill: color2
+        }, itemStyleModel.getItemStyle(["color"])));
+        graphic2.setHoverStyle(polygon2, hoverItemStyleModel.getItemStyle());
+      }
+      this._layersSeries = layerSeries;
+      this._layers = newLayersGroups;
+    },
+    dispose: function() {
+    }
+  });
+  function createGridClipShape2(rect, seriesModel, cb) {
+    var rectEl = new graphic2.Rect({
+      shape: {
+        x: rect.x - 10,
+        y: rect.y - 10,
+        width: 0,
+        height: rect.height + 20
+      }
+    });
+    graphic2.initProps(rectEl, {
+      shape: {
+        width: rect.width + 20,
+        height: rect.height + 20
+      }
+    }, seriesModel, cb);
+    return rectEl;
+  }
+  ThemeRiverView$2 = _default68;
+  return ThemeRiverView$2;
+}
+var themeRiverLayout_1;
+var hasRequiredThemeRiverLayout;
+function requireThemeRiverLayout() {
+  if (hasRequiredThemeRiverLayout)
+    return themeRiverLayout_1;
+  hasRequiredThemeRiverLayout = 1;
+  var zrUtil2 = util$a;
+  var numberUtil2 = requireNumber();
+  function _default68(ecModel, api2) {
+    ecModel.eachSeriesByType("themeRiver", function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var single = seriesModel.coordinateSystem;
+      var layoutInfo = {};
+      var rect = single.getRect();
+      layoutInfo.rect = rect;
+      var boundaryGap = seriesModel.get("boundaryGap");
+      var axis2 = single.getAxis();
+      layoutInfo.boundaryGap = boundaryGap;
+      if (axis2.orient === "horizontal") {
+        boundaryGap[0] = numberUtil2.parsePercent(boundaryGap[0], rect.height);
+        boundaryGap[1] = numberUtil2.parsePercent(boundaryGap[1], rect.height);
+        var height = rect.height - boundaryGap[0] - boundaryGap[1];
+        themeRiverLayout2(data2, seriesModel, height);
+      } else {
+        boundaryGap[0] = numberUtil2.parsePercent(boundaryGap[0], rect.width);
+        boundaryGap[1] = numberUtil2.parsePercent(boundaryGap[1], rect.width);
+        var width = rect.width - boundaryGap[0] - boundaryGap[1];
+        themeRiverLayout2(data2, seriesModel, width);
+      }
+      data2.setLayout("layoutInfo", layoutInfo);
+    });
+  }
+  function themeRiverLayout2(data2, seriesModel, height) {
+    if (!data2.count()) {
+      return;
+    }
+    var coordSys = seriesModel.coordinateSystem;
+    var layerSeries = seriesModel.getLayerSeries();
+    var timeDim = data2.mapDimension("single");
+    var valueDim = data2.mapDimension("value");
+    var layerPoints = zrUtil2.map(layerSeries, function(singleLayer) {
+      return zrUtil2.map(singleLayer.indices, function(idx) {
+        var pt = coordSys.dataToPoint(data2.get(timeDim, idx));
+        pt[1] = data2.get(valueDim, idx);
+        return pt;
+      });
+    });
+    var base2 = computeBaseline2(layerPoints);
+    var baseLine = base2.y0;
+    var ky = height / base2.max;
+    var n2 = layerSeries.length;
+    var m2 = layerSeries[0].indices.length;
+    var baseY0;
+    for (var j2 = 0; j2 < m2; ++j2) {
+      baseY0 = baseLine[j2] * ky;
+      data2.setItemLayout(layerSeries[0].indices[j2], {
+        layerIndex: 0,
+        x: layerPoints[0][j2][0],
+        y0: baseY0,
+        y: layerPoints[0][j2][1] * ky
+      });
+      for (var i2 = 1; i2 < n2; ++i2) {
+        baseY0 += layerPoints[i2 - 1][j2][1] * ky;
+        data2.setItemLayout(layerSeries[i2].indices[j2], {
+          layerIndex: i2,
+          x: layerPoints[i2][j2][0],
+          y0: baseY0,
+          y: layerPoints[i2][j2][1] * ky
+        });
+      }
+    }
+  }
+  function computeBaseline2(data2) {
+    var layerNum = data2.length;
+    var pointNum = data2[0].length;
+    var sums = [];
+    var y0 = [];
+    var max3 = 0;
+    var temp;
+    var base2 = {};
+    for (var i2 = 0; i2 < pointNum; ++i2) {
+      for (var j2 = 0, temp = 0; j2 < layerNum; ++j2) {
+        temp += data2[j2][i2][1];
+      }
+      if (temp > max3) {
+        max3 = temp;
+      }
+      sums.push(temp);
+    }
+    for (var k2 = 0; k2 < pointNum; ++k2) {
+      y0[k2] = (max3 - sums[k2]) / 2;
+    }
+    max3 = 0;
+    for (var l2 = 0; l2 < pointNum; ++l2) {
+      var sum2 = sums[l2] + y0[l2];
+      if (sum2 > max3) {
+        max3 = sum2;
+      }
+    }
+    base2.y0 = y0;
+    base2.max = max3;
+    return base2;
+  }
+  themeRiverLayout_1 = _default68;
+  return themeRiverLayout_1;
+}
+var themeRiverVisual;
+var hasRequiredThemeRiverVisual;
+function requireThemeRiverVisual() {
+  if (hasRequiredThemeRiverVisual)
+    return themeRiverVisual;
+  hasRequiredThemeRiverVisual = 1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  function _default68(ecModel) {
+    ecModel.eachSeriesByType("themeRiver", function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var rawData = seriesModel.getRawData();
+      var colorList = seriesModel.get("color");
+      var idxMap = createHashMap2();
+      data2.each(function(idx) {
+        idxMap.set(data2.getRawIndex(idx), idx);
+      });
+      rawData.each(function(rawIndex) {
+        var name2 = rawData.getName(rawIndex);
+        var color2 = colorList[(seriesModel.nameMap.get(name2) - 1) % colorList.length];
+        rawData.setItemVisual(rawIndex, "color", color2);
+        var idx = idxMap.get(rawIndex);
+        if (idx != null) {
+          data2.setItemVisual(idx, "color", color2);
+        }
+      });
+    });
+  }
+  themeRiverVisual = _default68;
+  return themeRiverVisual;
+}
+var hasRequiredThemeRiver;
+function requireThemeRiver() {
+  if (hasRequiredThemeRiver)
+    return themeRiver;
+  hasRequiredThemeRiver = 1;
+  var echarts2 = echarts$1;
+  requireSingleAxis();
+  requireThemeRiverSeries();
+  requireThemeRiverView();
+  var themeRiverLayout2 = requireThemeRiverLayout();
+  var themeRiverVisual2 = requireThemeRiverVisual();
+  var dataFilter2 = requireDataFilter();
+  echarts2.registerLayout(themeRiverLayout2);
+  echarts2.registerVisual(themeRiverVisual2);
+  echarts2.registerProcessor(dataFilter2("themeRiver"));
+  return themeRiver;
+}
+var sunburst = {};
+var SunburstSeries;
+var hasRequiredSunburstSeries;
+function requireSunburstSeries() {
+  if (hasRequiredSunburstSeries)
+    return SunburstSeries;
+  hasRequiredSunburstSeries = 1;
+  var zrUtil2 = util$a;
+  var SeriesModel2 = Series;
+  var Tree2 = requireTree$1();
+  var Model2 = Model_1;
+  var _treeHelper = requireTreeHelper();
+  var wrapTreePathInfo2 = _treeHelper.wrapTreePathInfo;
+  var _default68 = SeriesModel2.extend({
+    type: "series.sunburst",
+    /**
+     * @type {module:echarts/data/Tree~Node}
+     */
+    _viewRoot: null,
+    getInitialData: function(option, ecModel) {
+      var root = {
+        name: option.name,
+        children: option.data
+      };
+      completeTreeValue2(root);
+      var levelModels = zrUtil2.map(option.levels || [], function(levelDefine) {
+        return new Model2(levelDefine, this, ecModel);
+      }, this);
+      var tree2 = Tree2.createTree(root, this, beforeLink);
+      function beforeLink(nodeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var node = tree2.getNodeByDataIndex(idx);
+          var levelModel = levelModels[node.depth];
+          levelModel && (model2.parentModel = levelModel);
+          return model2;
+        });
+      }
+      return tree2.data;
+    },
+    optionUpdated: function() {
+      this.resetViewRoot();
+    },
+    /*
+     * @override
+     */
+    getDataParams: function(dataIndex) {
+      var params2 = SeriesModel2.prototype.getDataParams.apply(this, arguments);
+      var node = this.getData().tree.getNodeByDataIndex(dataIndex);
+      params2.treePathInfo = wrapTreePathInfo2(node, this);
+      return params2;
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      // 默认全局居中
+      center: ["50%", "50%"],
+      radius: [0, "75%"],
+      // 默认顺时针
+      clockwise: true,
+      startAngle: 90,
+      // 最小角度改为0
+      minAngle: 0,
+      percentPrecision: 2,
+      // If still show when all data zero.
+      stillShowZeroSum: true,
+      // Policy of highlighting pieces when hover on one
+      // Valid values: 'none' (for not downplay others), 'descendant',
+      // 'ancestor', 'self'
+      highlightPolicy: "descendant",
+      // 'rootToNode', 'link', or false
+      nodeClick: "rootToNode",
+      renderLabelForZeroData: false,
+      label: {
+        // could be: 'radial', 'tangential', or 'none'
+        rotate: "radial",
+        show: true,
+        opacity: 1,
+        // 'left' is for inner side of inside, and 'right' is for outter
+        // side for inside
+        align: "center",
+        position: "inside",
+        distance: 5,
+        silent: true
+      },
+      itemStyle: {
+        borderWidth: 1,
+        borderColor: "white",
+        borderType: "solid",
+        shadowBlur: 0,
+        shadowColor: "rgba(0, 0, 0, 0.2)",
+        shadowOffsetX: 0,
+        shadowOffsetY: 0,
+        opacity: 1
+      },
+      highlight: {
+        itemStyle: {
+          opacity: 1
+        }
+      },
+      downplay: {
+        itemStyle: {
+          opacity: 0.5
+        },
+        label: {
+          opacity: 0.6
+        }
+      },
+      // Animation type canbe expansion, scale
+      animationType: "expansion",
+      animationDuration: 1e3,
+      animationDurationUpdate: 500,
+      animationEasing: "cubicOut",
+      data: [],
+      levels: [],
+      /**
+       * Sort order.
+       *
+       * Valid values: 'desc', 'asc', null, or callback function.
+       * 'desc' and 'asc' for descend and ascendant order;
+       * null for not sorting;
+       * example of callback function:
+       * function(nodeA, nodeB) {
+       *     return nodeA.getValue() - nodeB.getValue();
+       * }
+       */
+      sort: "desc"
+    },
+    getViewRoot: function() {
+      return this._viewRoot;
+    },
+    /**
+     * @param {module:echarts/data/Tree~Node} [viewRoot]
+     */
+    resetViewRoot: function(viewRoot) {
+      viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;
+      var root = this.getRawData().tree.root;
+      if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {
+        this._viewRoot = root;
+      }
+    }
+  });
+  function completeTreeValue2(dataNode) {
+    var sum2 = 0;
+    zrUtil2.each(dataNode.children, function(child) {
+      completeTreeValue2(child);
+      var childValue = child.value;
+      zrUtil2.isArray(childValue) && (childValue = childValue[0]);
+      sum2 += childValue;
+    });
+    var thisValue = dataNode.value;
+    if (zrUtil2.isArray(thisValue)) {
+      thisValue = thisValue[0];
+    }
+    if (thisValue == null || isNaN(thisValue)) {
+      thisValue = sum2;
+    }
+    if (thisValue < 0) {
+      thisValue = 0;
+    }
+    zrUtil2.isArray(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;
+  }
+  SunburstSeries = _default68;
+  return SunburstSeries;
+}
+var SunburstPiece_1;
+var hasRequiredSunburstPiece;
+function requireSunburstPiece() {
+  if (hasRequiredSunburstPiece)
+    return SunburstPiece_1;
+  hasRequiredSunburstPiece = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var NodeHighlightPolicy = {
+    NONE: "none",
+    // not downplay others
+    DESCENDANT: "descendant",
+    ANCESTOR: "ancestor",
+    SELF: "self"
+  };
+  var DEFAULT_SECTOR_Z2 = 2;
+  var DEFAULT_TEXT_Z2 = 4;
+  function SunburstPiece2(node, seriesModel, ecModel) {
+    graphic2.Group.call(this);
+    var sector = new graphic2.Sector({
+      z2: DEFAULT_SECTOR_Z2
+    });
+    sector.seriesIndex = seriesModel.seriesIndex;
+    var text2 = new graphic2.Text({
+      z2: DEFAULT_TEXT_Z2,
+      silent: node.getModel("label").get("silent")
+    });
+    this.add(sector);
+    this.add(text2);
+    this.updateData(true, node, "normal", seriesModel, ecModel);
+    function onEmphasis() {
+      text2.ignore = text2.hoverIgnore;
+    }
+    function onNormal() {
+      text2.ignore = text2.normalIgnore;
+    }
+    this.on("emphasis", onEmphasis).on("normal", onNormal).on("mouseover", onEmphasis).on("mouseout", onNormal);
+  }
+  var SunburstPieceProto = SunburstPiece2.prototype;
+  SunburstPieceProto.updateData = function(firstCreate, node, state, seriesModel, ecModel) {
+    this.node = node;
+    node.piece = this;
+    seriesModel = seriesModel || this._seriesModel;
+    ecModel = ecModel || this._ecModel;
+    var sector = this.childAt(0);
+    sector.dataIndex = node.dataIndex;
+    var itemModel = node.getModel();
+    var layout2 = node.getLayout();
+    var sectorShape = zrUtil2.extend({}, layout2);
+    sectorShape.label = null;
+    var visualColor = getNodeColor(node, seriesModel, ecModel);
+    fillDefaultColor(node, seriesModel, visualColor);
+    var normalStyle = itemModel.getModel("itemStyle").getItemStyle();
+    var style2;
+    if (state === "normal") {
+      style2 = normalStyle;
+    } else {
+      var stateStyle = itemModel.getModel(state + ".itemStyle").getItemStyle();
+      style2 = zrUtil2.merge(stateStyle, normalStyle);
+    }
+    style2 = zrUtil2.defaults({
+      lineJoin: "bevel",
+      fill: style2.fill || visualColor
+    }, style2);
+    if (firstCreate) {
+      sector.setShape(sectorShape);
+      sector.shape.r = layout2.r0;
+      graphic2.updateProps(sector, {
+        shape: {
+          r: layout2.r
+        }
+      }, seriesModel, node.dataIndex);
+      sector.useStyle(style2);
+    } else if (typeof style2.fill === "object" && style2.fill.type || typeof sector.style.fill === "object" && sector.style.fill.type) {
+      graphic2.updateProps(sector, {
+        shape: sectorShape
+      }, seriesModel);
+      sector.useStyle(style2);
+    } else {
+      graphic2.updateProps(sector, {
+        shape: sectorShape,
+        style: style2
+      }, seriesModel);
+    }
+    this._updateLabel(seriesModel, visualColor, state);
+    var cursorStyle = itemModel.getShallow("cursor");
+    cursorStyle && sector.attr("cursor", cursorStyle);
+    if (firstCreate) {
+      var highlightPolicy = seriesModel.getShallow("highlightPolicy");
+      this._initEvents(sector, node, seriesModel, highlightPolicy);
+    }
+    this._seriesModel = seriesModel || this._seriesModel;
+    this._ecModel = ecModel || this._ecModel;
+    graphic2.setHoverStyle(this);
+  };
+  SunburstPieceProto.onEmphasis = function(highlightPolicy) {
+    var that = this;
+    this.node.hostTree.root.eachNode(function(n2) {
+      if (n2.piece) {
+        if (that.node === n2) {
+          n2.piece.updateData(false, n2, "emphasis");
+        } else if (isNodeHighlighted(n2, that.node, highlightPolicy)) {
+          n2.piece.childAt(0).trigger("highlight");
+        } else if (highlightPolicy !== NodeHighlightPolicy.NONE) {
+          n2.piece.childAt(0).trigger("downplay");
+        }
+      }
+    });
+  };
+  SunburstPieceProto.onNormal = function() {
+    this.node.hostTree.root.eachNode(function(n2) {
+      if (n2.piece) {
+        n2.piece.updateData(false, n2, "normal");
+      }
+    });
+  };
+  SunburstPieceProto.onHighlight = function() {
+    this.updateData(false, this.node, "highlight");
+  };
+  SunburstPieceProto.onDownplay = function() {
+    this.updateData(false, this.node, "downplay");
+  };
+  SunburstPieceProto._updateLabel = function(seriesModel, visualColor, state) {
+    var itemModel = this.node.getModel();
+    var normalModel = itemModel.getModel("label");
+    var labelModel = state === "normal" || state === "emphasis" ? normalModel : itemModel.getModel(state + ".label");
+    var labelHoverModel = itemModel.getModel("emphasis.label");
+    var labelFormatter = labelModel.get("formatter");
+    var labelState = labelFormatter ? state : "normal";
+    var text2 = zrUtil2.retrieve(seriesModel.getFormattedLabel(this.node.dataIndex, labelState, null, null, "label"), this.node.name);
+    if (getLabelAttr("show") === false) {
+      text2 = "";
+    }
+    var layout2 = this.node.getLayout();
+    var labelMinAngle = labelModel.get("minAngle");
+    if (labelMinAngle == null) {
+      labelMinAngle = normalModel.get("minAngle");
+    }
+    labelMinAngle = labelMinAngle / 180 * Math.PI;
+    var angle = layout2.endAngle - layout2.startAngle;
+    if (labelMinAngle != null && Math.abs(angle) < labelMinAngle) {
+      text2 = "";
+    }
+    var label = this.childAt(1);
+    graphic2.setLabelStyle(label.style, label.hoverStyle || {}, normalModel, labelHoverModel, {
+      defaultText: labelModel.getShallow("show") ? text2 : null,
+      autoColor: visualColor,
+      useInsideStyle: true
+    });
+    var midAngle = (layout2.startAngle + layout2.endAngle) / 2;
+    var dx = Math.cos(midAngle);
+    var dy = Math.sin(midAngle);
+    var r2;
+    var labelPosition = getLabelAttr("position");
+    var labelPadding = getLabelAttr("distance") || 0;
+    var textAlign = getLabelAttr("align");
+    if (labelPosition === "outside") {
+      r2 = layout2.r + labelPadding;
+      textAlign = midAngle > Math.PI / 2 ? "right" : "left";
+    } else {
+      if (!textAlign || textAlign === "center") {
+        r2 = (layout2.r + layout2.r0) / 2;
+        textAlign = "center";
+      } else if (textAlign === "left") {
+        r2 = layout2.r0 + labelPadding;
+        if (midAngle > Math.PI / 2) {
+          textAlign = "right";
+        }
+      } else if (textAlign === "right") {
+        r2 = layout2.r - labelPadding;
+        if (midAngle > Math.PI / 2) {
+          textAlign = "left";
+        }
+      }
+    }
+    label.attr("style", {
+      text: text2,
+      textAlign,
+      textVerticalAlign: getLabelAttr("verticalAlign") || "middle",
+      opacity: getLabelAttr("opacity")
+    });
+    var textX = r2 * dx + layout2.cx;
+    var textY = r2 * dy + layout2.cy;
+    label.attr("position", [textX, textY]);
+    var rotateType = getLabelAttr("rotate");
+    var rotate2 = 0;
+    if (rotateType === "radial") {
+      rotate2 = -midAngle;
+      if (rotate2 < -Math.PI / 2) {
+        rotate2 += Math.PI;
+      }
+    } else if (rotateType === "tangential") {
+      rotate2 = Math.PI / 2 - midAngle;
+      if (rotate2 > Math.PI / 2) {
+        rotate2 -= Math.PI;
+      } else if (rotate2 < -Math.PI / 2) {
+        rotate2 += Math.PI;
+      }
+    } else if (typeof rotateType === "number") {
+      rotate2 = rotateType * Math.PI / 180;
+    }
+    label.attr("rotation", rotate2);
+    function getLabelAttr(name2) {
+      var stateAttr = labelModel.get(name2);
+      if (stateAttr == null) {
+        return normalModel.get(name2);
+      } else {
+        return stateAttr;
+      }
+    }
+  };
+  SunburstPieceProto._initEvents = function(sector, node, seriesModel, highlightPolicy) {
+    sector.off("mouseover").off("mouseout").off("emphasis").off("normal");
+    var that = this;
+    var onEmphasis = function() {
+      that.onEmphasis(highlightPolicy);
+    };
+    var onNormal = function() {
+      that.onNormal();
+    };
+    var onDownplay = function() {
+      that.onDownplay();
+    };
+    var onHighlight = function() {
+      that.onHighlight();
+    };
+    if (seriesModel.isAnimationEnabled()) {
+      sector.on("mouseover", onEmphasis).on("mouseout", onNormal).on("emphasis", onEmphasis).on("normal", onNormal).on("downplay", onDownplay).on("highlight", onHighlight);
+    }
+  };
+  zrUtil2.inherits(SunburstPiece2, graphic2.Group);
+  var _default68 = SunburstPiece2;
+  function getNodeColor(node, seriesModel, ecModel) {
+    var visualColor = node.getVisual("color");
+    var visualMetaList = node.getVisual("visualMeta");
+    if (!visualMetaList || visualMetaList.length === 0) {
+      visualColor = null;
+    }
+    var color2 = node.getModel("itemStyle").get("color");
+    if (color2) {
+      return color2;
+    } else if (visualColor) {
+      return visualColor;
+    } else if (node.depth === 0) {
+      return ecModel.option.color[0];
+    } else {
+      var length2 = ecModel.option.color.length;
+      color2 = ecModel.option.color[getRootId(node) % length2];
+    }
+    return color2;
+  }
+  function getRootId(node) {
+    var ancestor = node;
+    while (ancestor.depth > 1) {
+      ancestor = ancestor.parentNode;
+    }
+    var virtualRoot = node.getAncestors()[0];
+    return zrUtil2.indexOf(virtualRoot.children, ancestor);
+  }
+  function isNodeHighlighted(node, activeNode, policy) {
+    if (policy === NodeHighlightPolicy.NONE) {
+      return false;
+    } else if (policy === NodeHighlightPolicy.SELF) {
+      return node === activeNode;
+    } else if (policy === NodeHighlightPolicy.ANCESTOR) {
+      return node === activeNode || node.isAncestorOf(activeNode);
+    } else {
+      return node === activeNode || node.isDescendantOf(activeNode);
+    }
+  }
+  function fillDefaultColor(node, seriesModel, color2) {
+    var data2 = seriesModel.getData();
+    data2.setItemVisual(node.dataIndex, "color", color2);
+  }
+  SunburstPiece_1 = _default68;
+  return SunburstPiece_1;
+}
+var SunburstView_1;
+var hasRequiredSunburstView;
+function requireSunburstView() {
+  if (hasRequiredSunburstView)
+    return SunburstView_1;
+  hasRequiredSunburstView = 1;
+  var zrUtil2 = util$a;
+  var ChartView2 = Chart_1;
+  var SunburstPiece2 = requireSunburstPiece();
+  var DataDiffer2 = requireDataDiffer();
+  var _format2 = format$6;
+  var windowOpen2 = _format2.windowOpen;
+  var ROOT_TO_NODE_ACTION2 = "sunburstRootToNode";
+  var SunburstView2 = ChartView2.extend({
+    type: "sunburst",
+    init: function() {
+    },
+    render: function(seriesModel, ecModel, api2, payload) {
+      var that = this;
+      this.seriesModel = seriesModel;
+      this.api = api2;
+      this.ecModel = ecModel;
+      var data2 = seriesModel.getData();
+      var virtualRoot = data2.tree.root;
+      var newRoot = seriesModel.getViewRoot();
+      var group = this.group;
+      var renderLabelForZeroData = seriesModel.get("renderLabelForZeroData");
+      var newChildren = [];
+      newRoot.eachNode(function(node) {
+        newChildren.push(node);
+      });
+      var oldChildren = this._oldChildren || [];
+      dualTravel(newChildren, oldChildren);
+      renderRollUp(virtualRoot, newRoot);
+      if (payload && payload.highlight && payload.highlight.piece) {
+        var highlightPolicy = seriesModel.getShallow("highlightPolicy");
+        payload.highlight.piece.onEmphasis(highlightPolicy);
+      } else if (payload && payload.unhighlight) {
+        var piece = this.virtualPiece;
+        if (!piece && virtualRoot.children.length) {
+          piece = virtualRoot.children[0].piece;
+        }
+        if (piece) {
+          piece.onNormal();
+        }
+      }
+      this._initEvents();
+      this._oldChildren = newChildren;
+      function dualTravel(newChildren2, oldChildren2) {
+        if (newChildren2.length === 0 && oldChildren2.length === 0) {
+          return;
+        }
+        new DataDiffer2(oldChildren2, newChildren2, getKey2, getKey2).add(processNode).update(processNode).remove(zrUtil2.curry(processNode, null)).execute();
+        function getKey2(node) {
+          return node.getId();
+        }
+        function processNode(newId, oldId) {
+          var newNode = newId == null ? null : newChildren2[newId];
+          var oldNode = oldId == null ? null : oldChildren2[oldId];
+          doRenderNode(newNode, oldNode);
+        }
+      }
+      function doRenderNode(newNode, oldNode) {
+        if (!renderLabelForZeroData && newNode && !newNode.getValue()) {
+          newNode = null;
+        }
+        if (newNode !== virtualRoot && oldNode !== virtualRoot) {
+          if (oldNode && oldNode.piece) {
+            if (newNode) {
+              oldNode.piece.updateData(false, newNode, "normal", seriesModel, ecModel);
+              data2.setItemGraphicEl(newNode.dataIndex, oldNode.piece);
+            } else {
+              removeNode2(oldNode);
+            }
+          } else if (newNode) {
+            var piece2 = new SunburstPiece2(newNode, seriesModel, ecModel);
+            group.add(piece2);
+            data2.setItemGraphicEl(newNode.dataIndex, piece2);
+          }
+        }
+      }
+      function removeNode2(node) {
+        if (!node) {
+          return;
+        }
+        if (node.piece) {
+          group.remove(node.piece);
+          node.piece = null;
+        }
+      }
+      function renderRollUp(virtualRoot2, viewRoot) {
+        if (viewRoot.depth > 0) {
+          if (that.virtualPiece) {
+            that.virtualPiece.updateData(false, virtualRoot2, "normal", seriesModel, ecModel);
+          } else {
+            that.virtualPiece = new SunburstPiece2(virtualRoot2, seriesModel, ecModel);
+            group.add(that.virtualPiece);
+          }
+          if (viewRoot.piece._onclickEvent) {
+            viewRoot.piece.off("click", viewRoot.piece._onclickEvent);
+          }
+          var event2 = function(e2) {
+            that._rootToNode(viewRoot.parentNode);
+          };
+          viewRoot.piece._onclickEvent = event2;
+          that.virtualPiece.on("click", event2);
+        } else if (that.virtualPiece) {
+          group.remove(that.virtualPiece);
+          that.virtualPiece = null;
+        }
+      }
+    },
+    dispose: function() {
+    },
+    /**
+     * @private
+     */
+    _initEvents: function() {
+      var that = this;
+      var event2 = function(e2) {
+        var targetFound = false;
+        var viewRoot = that.seriesModel.getViewRoot();
+        viewRoot.eachNode(function(node) {
+          if (!targetFound && node.piece && node.piece.childAt(0) === e2.target) {
+            var nodeClick2 = node.getModel().get("nodeClick");
+            if (nodeClick2 === "rootToNode") {
+              that._rootToNode(node);
+            } else if (nodeClick2 === "link") {
+              var itemModel = node.getModel();
+              var link = itemModel.get("link");
+              if (link) {
+                var linkTarget = itemModel.get("target", true) || "_blank";
+                windowOpen2(link, linkTarget);
+              }
+            }
+            targetFound = true;
+          }
+        });
+      };
+      if (this.group._onclickEvent) {
+        this.group.off("click", this.group._onclickEvent);
+      }
+      this.group.on("click", event2);
+      this.group._onclickEvent = event2;
+    },
+    /**
+     * @private
+     */
+    _rootToNode: function(node) {
+      if (node !== this.seriesModel.getViewRoot()) {
+        this.api.dispatchAction({
+          type: ROOT_TO_NODE_ACTION2,
+          from: this.uid,
+          seriesId: this.seriesModel.id,
+          targetNode: node
+        });
+      }
+    },
+    /**
+     * @implement
+     */
+    containPoint: function(point, seriesModel) {
+      var treeRoot = seriesModel.getData();
+      var itemLayout = treeRoot.getItemLayout(0);
+      if (itemLayout) {
+        var dx = point[0] - itemLayout.cx;
+        var dy = point[1] - itemLayout.cy;
+        var radius = Math.sqrt(dx * dx + dy * dy);
+        return radius <= itemLayout.r && radius >= itemLayout.r0;
+      }
+    }
+  });
+  var _default68 = SunburstView2;
+  SunburstView_1 = _default68;
+  return SunburstView_1;
+}
+var sunburstAction = {};
+var hasRequiredSunburstAction;
+function requireSunburstAction() {
+  if (hasRequiredSunburstAction)
+    return sunburstAction;
+  hasRequiredSunburstAction = 1;
+  var echarts2 = echarts$1;
+  var helper2 = requireTreeHelper();
+  var ROOT_TO_NODE_ACTION2 = "sunburstRootToNode";
+  echarts2.registerAction({
+    type: ROOT_TO_NODE_ACTION2,
+    update: "updateView"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sunburst",
+      query: payload
+    }, handleRootToNode);
+    function handleRootToNode(model2, index3) {
+      var targetInfo = helper2.retrieveTargetInfo(payload, [ROOT_TO_NODE_ACTION2], model2);
+      if (targetInfo) {
+        var originViewRoot = model2.getViewRoot();
+        if (originViewRoot) {
+          payload.direction = helper2.aboveViewRoot(originViewRoot, targetInfo.node) ? "rollUp" : "drillDown";
+        }
+        model2.resetViewRoot(targetInfo.node);
+      }
+    }
+  });
+  var HIGHLIGHT_ACTION2 = "sunburstHighlight";
+  echarts2.registerAction({
+    type: HIGHLIGHT_ACTION2,
+    update: "updateView"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sunburst",
+      query: payload
+    }, handleHighlight);
+    function handleHighlight(model2, index3) {
+      var targetInfo = helper2.retrieveTargetInfo(payload, [HIGHLIGHT_ACTION2], model2);
+      if (targetInfo) {
+        payload.highlight = targetInfo.node;
+      }
+    }
+  });
+  var UNHIGHLIGHT_ACTION2 = "sunburstUnhighlight";
+  echarts2.registerAction({
+    type: UNHIGHLIGHT_ACTION2,
+    update: "updateView"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sunburst",
+      query: payload
+    }, handleUnhighlight);
+    function handleUnhighlight(model2, index3) {
+      payload.unhighlight = true;
+    }
+  });
+  return sunburstAction;
+}
+var sunburstLayout$1;
+var hasRequiredSunburstLayout;
+function requireSunburstLayout() {
+  if (hasRequiredSunburstLayout)
+    return sunburstLayout$1;
+  hasRequiredSunburstLayout = 1;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var zrUtil2 = util$a;
+  var RADIAN2 = Math.PI / 180;
+  function _default68(seriesType2, ecModel, api2, payload) {
+    ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+      var center2 = seriesModel.get("center");
+      var radius = seriesModel.get("radius");
+      if (!zrUtil2.isArray(radius)) {
+        radius = [0, radius];
+      }
+      if (!zrUtil2.isArray(center2)) {
+        center2 = [center2, center2];
+      }
+      var width = api2.getWidth();
+      var height = api2.getHeight();
+      var size = Math.min(width, height);
+      var cx = parsePercent2(center2[0], width);
+      var cy = parsePercent2(center2[1], height);
+      var r0 = parsePercent2(radius[0], size / 2);
+      var r2 = parsePercent2(radius[1], size / 2);
+      var startAngle = -seriesModel.get("startAngle") * RADIAN2;
+      var minAngle = seriesModel.get("minAngle") * RADIAN2;
+      var virtualRoot = seriesModel.getData().tree.root;
+      var treeRoot = seriesModel.getViewRoot();
+      var rootDepth = treeRoot.depth;
+      var sort3 = seriesModel.get("sort");
+      if (sort3 != null) {
+        initChildren2(treeRoot, sort3);
+      }
+      var validDataCount = 0;
+      zrUtil2.each(treeRoot.children, function(child) {
+        !isNaN(child.getValue()) && validDataCount++;
+      });
+      var sum2 = treeRoot.getValue();
+      var unitRadian = Math.PI / (sum2 || validDataCount) * 2;
+      var renderRollupNode = treeRoot.depth > 0;
+      var levels = treeRoot.height - (renderRollupNode ? -1 : 1);
+      var rPerLevel = (r2 - r0) / (levels || 1);
+      var clockwise = seriesModel.get("clockwise");
+      var stillShowZeroSum = seriesModel.get("stillShowZeroSum");
+      var dir3 = clockwise ? 1 : -1;
+      var renderNode2 = function(node, startAngle2) {
+        if (!node) {
+          return;
+        }
+        var endAngle = startAngle2;
+        if (node !== virtualRoot) {
+          var value = node.getValue();
+          var angle2 = sum2 === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;
+          if (angle2 < minAngle) {
+            angle2 = minAngle;
+          }
+          endAngle = startAngle2 + dir3 * angle2;
+          var depth = node.depth - rootDepth - (renderRollupNode ? -1 : 1);
+          var rStart2 = r0 + rPerLevel * depth;
+          var rEnd2 = r0 + rPerLevel * (depth + 1);
+          var itemModel = node.getModel();
+          if (itemModel.get("r0") != null) {
+            rStart2 = parsePercent2(itemModel.get("r0"), size / 2);
+          }
+          if (itemModel.get("r") != null) {
+            rEnd2 = parsePercent2(itemModel.get("r"), size / 2);
+          }
+          node.setLayout({
+            angle: angle2,
+            startAngle: startAngle2,
+            endAngle,
+            clockwise,
+            cx,
+            cy,
+            r0: rStart2,
+            r: rEnd2
+          });
+        }
+        if (node.children && node.children.length) {
+          var siblingAngle = 0;
+          zrUtil2.each(node.children, function(node2) {
+            siblingAngle += renderNode2(node2, startAngle2 + siblingAngle);
+          });
+        }
+        return endAngle - startAngle2;
+      };
+      if (renderRollupNode) {
+        var rStart = r0;
+        var rEnd = r0 + rPerLevel;
+        var angle = Math.PI * 2;
+        virtualRoot.setLayout({
+          angle,
+          startAngle,
+          endAngle: startAngle + angle,
+          clockwise,
+          cx,
+          cy,
+          r0: rStart,
+          r: rEnd
+        });
+      }
+      renderNode2(treeRoot, startAngle);
+    });
+  }
+  function initChildren2(node, isAsc) {
+    var children3 = node.children || [];
+    node.children = sort2(children3, isAsc);
+    if (children3.length) {
+      zrUtil2.each(node.children, function(child) {
+        initChildren2(child, isAsc);
+      });
+    }
+  }
+  function sort2(children3, sortOrder) {
+    if (typeof sortOrder === "function") {
+      return children3.sort(sortOrder);
+    } else {
+      var isAsc = sortOrder === "asc";
+      return children3.sort(function(a2, b2) {
+        var diff = (a2.getValue() - b2.getValue()) * (isAsc ? 1 : -1);
+        return diff === 0 ? (a2.dataIndex - b2.dataIndex) * (isAsc ? -1 : 1) : diff;
+      });
+    }
+  }
+  sunburstLayout$1 = _default68;
+  return sunburstLayout$1;
+}
+var hasRequiredSunburst;
+function requireSunburst() {
+  if (hasRequiredSunburst)
+    return sunburst;
+  hasRequiredSunburst = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  requireSunburstSeries();
+  requireSunburstView();
+  requireSunburstAction();
+  var dataColor2 = requireDataColor();
+  var sunburstLayout2 = requireSunburstLayout();
+  var dataFilter2 = requireDataFilter();
+  echarts2.registerVisual(zrUtil2.curry(dataColor2, "sunburst"));
+  echarts2.registerLayout(zrUtil2.curry(sunburstLayout2, "sunburst"));
+  echarts2.registerProcessor(zrUtil2.curry(dataFilter2, "sunburst"));
+  return sunburst;
+}
+var custom = {};
+var prepareCustom$4;
+var hasRequiredPrepareCustom$4;
+function requirePrepareCustom$4() {
+  if (hasRequiredPrepareCustom$4)
+    return prepareCustom$4;
+  hasRequiredPrepareCustom$4 = 1;
+  var zrUtil2 = util$a;
+  function dataToCoordSize2(dataSize, dataItem) {
+    dataItem = dataItem || [0, 0];
+    return zrUtil2.map(["x", "y"], function(dim, dimIdx) {
+      var axis2 = this.getAxis(dim);
+      var val = dataItem[dimIdx];
+      var halfSize = dataSize[dimIdx] / 2;
+      return axis2.type === "category" ? axis2.getBandWidth() : Math.abs(axis2.dataToCoord(val - halfSize) - axis2.dataToCoord(val + halfSize));
+    }, this);
+  }
+  function _default68(coordSys) {
+    var rect = coordSys.grid.getRect();
+    return {
+      coordSys: {
+        // The name exposed to user is always 'cartesian2d' but not 'grid'.
+        type: "cartesian2d",
+        x: rect.x,
+        y: rect.y,
+        width: rect.width,
+        height: rect.height
+      },
+      api: {
+        coord: function(data2) {
+          return coordSys.dataToPoint(data2);
+        },
+        size: zrUtil2.bind(dataToCoordSize2, coordSys)
+      }
+    };
+  }
+  prepareCustom$4 = _default68;
+  return prepareCustom$4;
+}
+var prepareCustom$3;
+var hasRequiredPrepareCustom$3;
+function requirePrepareCustom$3() {
+  if (hasRequiredPrepareCustom$3)
+    return prepareCustom$3;
+  hasRequiredPrepareCustom$3 = 1;
+  var zrUtil2 = util$a;
+  function dataToCoordSize2(dataSize, dataItem) {
+    dataItem = dataItem || [0, 0];
+    return zrUtil2.map([0, 1], function(dimIdx) {
+      var val = dataItem[dimIdx];
+      var halfSize = dataSize[dimIdx] / 2;
+      var p1 = [];
+      var p2 = [];
+      p1[dimIdx] = val - halfSize;
+      p2[dimIdx] = val + halfSize;
+      p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];
+      return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);
+    }, this);
+  }
+  function _default68(coordSys) {
+    var rect = coordSys.getBoundingRect();
+    return {
+      coordSys: {
+        type: "geo",
+        x: rect.x,
+        y: rect.y,
+        width: rect.width,
+        height: rect.height,
+        zoom: coordSys.getZoom()
+      },
+      api: {
+        coord: function(data2) {
+          return coordSys.dataToPoint(data2);
+        },
+        size: zrUtil2.bind(dataToCoordSize2, coordSys)
+      }
+    };
+  }
+  prepareCustom$3 = _default68;
+  return prepareCustom$3;
+}
+var prepareCustom$2;
+var hasRequiredPrepareCustom$2;
+function requirePrepareCustom$2() {
+  if (hasRequiredPrepareCustom$2)
+    return prepareCustom$2;
+  hasRequiredPrepareCustom$2 = 1;
+  var zrUtil2 = util$a;
+  function dataToCoordSize2(dataSize, dataItem) {
+    var axis2 = this.getAxis();
+    var val = dataItem instanceof Array ? dataItem[0] : dataItem;
+    var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;
+    return axis2.type === "category" ? axis2.getBandWidth() : Math.abs(axis2.dataToCoord(val - halfSize) - axis2.dataToCoord(val + halfSize));
+  }
+  function _default68(coordSys) {
+    var rect = coordSys.getRect();
+    return {
+      coordSys: {
+        type: "singleAxis",
+        x: rect.x,
+        y: rect.y,
+        width: rect.width,
+        height: rect.height
+      },
+      api: {
+        coord: function(val) {
+          return coordSys.dataToPoint(val);
+        },
+        size: zrUtil2.bind(dataToCoordSize2, coordSys)
+      }
+    };
+  }
+  prepareCustom$2 = _default68;
+  return prepareCustom$2;
+}
+var prepareCustom$1;
+var hasRequiredPrepareCustom$1;
+function requirePrepareCustom$1() {
+  if (hasRequiredPrepareCustom$1)
+    return prepareCustom$1;
+  hasRequiredPrepareCustom$1 = 1;
+  var zrUtil2 = util$a;
+  function dataToCoordSize2(dataSize, dataItem) {
+    return zrUtil2.map(["Radius", "Angle"], function(dim, dimIdx) {
+      var axis2 = this["get" + dim + "Axis"]();
+      var val = dataItem[dimIdx];
+      var halfSize = dataSize[dimIdx] / 2;
+      var method = "dataTo" + dim;
+      var result2 = axis2.type === "category" ? axis2.getBandWidth() : Math.abs(axis2[method](val - halfSize) - axis2[method](val + halfSize));
+      if (dim === "Angle") {
+        result2 = result2 * Math.PI / 180;
+      }
+      return result2;
+    }, this);
+  }
+  function _default68(coordSys) {
+    var radiusAxis2 = coordSys.getRadiusAxis();
+    var angleAxis2 = coordSys.getAngleAxis();
+    var radius = radiusAxis2.getExtent();
+    radius[0] > radius[1] && radius.reverse();
+    return {
+      coordSys: {
+        type: "polar",
+        cx: coordSys.cx,
+        cy: coordSys.cy,
+        r: radius[1],
+        r0: radius[0]
+      },
+      api: {
+        coord: zrUtil2.bind(function(data2) {
+          var radius2 = radiusAxis2.dataToRadius(data2[0]);
+          var angle = angleAxis2.dataToAngle(data2[1]);
+          var coord = coordSys.coordToPoint([radius2, angle]);
+          coord.push(radius2, angle * Math.PI / 180);
+          return coord;
+        }),
+        size: zrUtil2.bind(dataToCoordSize2, coordSys)
+      }
+    };
+  }
+  prepareCustom$1 = _default68;
+  return prepareCustom$1;
+}
+var prepareCustom;
+var hasRequiredPrepareCustom;
+function requirePrepareCustom() {
+  if (hasRequiredPrepareCustom)
+    return prepareCustom;
+  hasRequiredPrepareCustom = 1;
+  function _default68(coordSys) {
+    var rect = coordSys.getRect();
+    var rangeInfo = coordSys.getRangeInfo();
+    return {
+      coordSys: {
+        type: "calendar",
+        x: rect.x,
+        y: rect.y,
+        width: rect.width,
+        height: rect.height,
+        cellWidth: coordSys.getCellWidth(),
+        cellHeight: coordSys.getCellHeight(),
+        rangeInfo: {
+          start: rangeInfo.start,
+          end: rangeInfo.end,
+          weeks: rangeInfo.weeks,
+          dayCount: rangeInfo.allDay
+        }
+      },
+      api: {
+        coord: function(data2, clamp2) {
+          return coordSys.dataToPoint(data2, clamp2);
+        }
+      }
+    };
+  }
+  prepareCustom = _default68;
+  return prepareCustom;
+}
+var hasRequiredCustom;
+function requireCustom() {
+  if (hasRequiredCustom)
+    return custom;
+  hasRequiredCustom = 1;
+  var zrUtil2 = util$a;
+  var graphicUtil2 = graphic$6;
+  var _labelHelper = requireLabelHelper();
+  var getDefaultLabel2 = _labelHelper.getDefaultLabel;
+  var createListFromArray = requireCreateListFromArray();
+  var _barGrid = requireBarGrid();
+  var getLayoutOnAxis2 = _barGrid.getLayoutOnAxis;
+  var DataDiffer2 = requireDataDiffer();
+  var SeriesModel2 = Series;
+  var Model2 = Model_1;
+  var ChartView2 = Chart_1;
+  var _createClipPathFromCoordSys = requireCreateClipPathFromCoordSys();
+  var createClipPath2 = _createClipPathFromCoordSys.createClipPath;
+  var prepareCartesian2d = requirePrepareCustom$4();
+  var prepareGeo = requirePrepareCustom$3();
+  var prepareSingleAxis = requirePrepareCustom$2();
+  var preparePolar = requirePrepareCustom$1();
+  var prepareCalendar = requirePrepareCustom();
+  var CACHED_LABEL_STYLE_PROPERTIES2 = graphicUtil2.CACHED_LABEL_STYLE_PROPERTIES;
+  var ITEM_STYLE_NORMAL_PATH = ["itemStyle"];
+  var ITEM_STYLE_EMPHASIS_PATH = ["emphasis", "itemStyle"];
+  var LABEL_NORMAL = ["label"];
+  var LABEL_EMPHASIS = ["emphasis", "label"];
+  var GROUP_DIFF_PREFIX2 = "e\0\0";
+  var prepareCustoms2 = {
+    cartesian2d: prepareCartesian2d,
+    geo: prepareGeo,
+    singleAxis: prepareSingleAxis,
+    polar: preparePolar,
+    calendar: prepareCalendar
+  };
+  SeriesModel2.extend({
+    type: "series.custom",
+    dependencies: ["grid", "polar", "geo", "singleAxis", "calendar"],
+    defaultOption: {
+      coordinateSystem: "cartesian2d",
+      // Can be set as 'none'
+      zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      useTransform: true,
+      // Custom series will not clip by default.
+      // Some case will use custom series to draw label
+      // For example https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
+      // Only works on polar and cartesian2d coordinate system.
+      clip: false
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Polar coordinate system
+      // polarIndex: 0,
+      // Geo coordinate system
+      // geoIndex: 0,
+      // label: {}
+      // itemStyle: {}
+    },
+    /**
+     * @override
+     */
+    getInitialData: function(option, ecModel) {
+      return createListFromArray(this.getSource(), this);
+    },
+    /**
+     * @override
+     */
+    getDataParams: function(dataIndex, dataType, el) {
+      var params2 = SeriesModel2.prototype.getDataParams.apply(this, arguments);
+      el && (params2.info = el.info);
+      return params2;
+    }
+  });
+  ChartView2.extend({
+    type: "custom",
+    /**
+     * @private
+     * @type {module:echarts/data/List}
+     */
+    _data: null,
+    /**
+     * @override
+     */
+    render: function(customSeries, ecModel, api2, payload) {
+      var oldData = this._data;
+      var data2 = customSeries.getData();
+      var group = this.group;
+      var renderItem = makeRenderItem2(customSeries, data2, ecModel, api2);
+      data2.diff(oldData).add(function(newIdx) {
+        createOrUpdate2(null, newIdx, renderItem(newIdx, payload), customSeries, group, data2);
+      }).update(function(newIdx, oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        createOrUpdate2(el, newIdx, renderItem(newIdx, payload), customSeries, group, data2);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && group.remove(el);
+      }).execute();
+      var clipPath = customSeries.get("clip", true) ? createClipPath2(customSeries.coordinateSystem, false, customSeries) : null;
+      if (clipPath) {
+        group.setClipPath(clipPath);
+      } else {
+        group.removeClipPath();
+      }
+      this._data = data2;
+    },
+    incrementalPrepareRender: function(customSeries, ecModel, api2) {
+      this.group.removeAll();
+      this._data = null;
+    },
+    incrementalRender: function(params2, customSeries, ecModel, api2, payload) {
+      var data2 = customSeries.getData();
+      var renderItem = makeRenderItem2(customSeries, data2, ecModel, api2);
+      function setIncrementalAndHoverLayer(el2) {
+        if (!el2.isGroup) {
+          el2.incremental = true;
+          el2.useHoverLayer = true;
+        }
+      }
+      for (var idx = params2.start; idx < params2.end; idx++) {
+        var el = createOrUpdate2(null, idx, renderItem(idx, payload), customSeries, this.group, data2);
+        el.traverse(setIncrementalAndHoverLayer);
+      }
+    },
+    /**
+     * @override
+     */
+    dispose: zrUtil2.noop,
+    /**
+     * @override
+     */
+    filterForExposedEvent: function(eventType, query, targetEl, packedEvent) {
+      var elementName = query.element;
+      if (elementName == null || targetEl.name === elementName) {
+        return true;
+      }
+      while ((targetEl = targetEl.parent) && targetEl !== this.group) {
+        if (targetEl.name === elementName) {
+          return true;
+        }
+      }
+      return false;
+    }
+  });
+  function createEl2(elOption) {
+    var graphicType = elOption.type;
+    var el;
+    if (graphicType === "path") {
+      var shape = elOption.shape;
+      var pathRect = shape.width != null && shape.height != null ? {
+        x: shape.x || 0,
+        y: shape.y || 0,
+        width: shape.width,
+        height: shape.height
+      } : null;
+      var pathData = getPathData2(shape);
+      el = graphicUtil2.makePath(pathData, null, pathRect, shape.layout || "center");
+      el.__customPathData = pathData;
+    } else if (graphicType === "image") {
+      el = new graphicUtil2.Image({});
+      el.__customImagePath = elOption.style.image;
+    } else if (graphicType === "text") {
+      el = new graphicUtil2.Text({});
+      el.__customText = elOption.style.text;
+    } else if (graphicType === "group") {
+      el = new graphicUtil2.Group();
+    } else if (graphicType === "compoundPath") {
+      throw new Error('"compoundPath" is not supported yet.');
+    } else {
+      var Clz = graphicUtil2.getShapeClass(graphicType);
+      el = new Clz();
+    }
+    el.__customGraphicType = graphicType;
+    el.name = elOption.name;
+    return el;
+  }
+  function updateEl(el, dataIndex, elOption, animatableModel, data2, isInit, isRoot) {
+    var transitionProps = {};
+    var elOptionStyle = elOption.style || {};
+    elOption.shape && (transitionProps.shape = zrUtil2.clone(elOption.shape));
+    elOption.position && (transitionProps.position = elOption.position.slice());
+    elOption.scale && (transitionProps.scale = elOption.scale.slice());
+    elOption.origin && (transitionProps.origin = elOption.origin.slice());
+    elOption.rotation && (transitionProps.rotation = elOption.rotation);
+    if (el.type === "image" && elOption.style) {
+      var targetStyle = transitionProps.style = {};
+      zrUtil2.each(["x", "y", "width", "height"], function(prop2) {
+        prepareStyleTransition(prop2, targetStyle, elOptionStyle, el.style, isInit);
+      });
+    }
+    if (el.type === "text" && elOption.style) {
+      var targetStyle = transitionProps.style = {};
+      zrUtil2.each(["x", "y"], function(prop2) {
+        prepareStyleTransition(prop2, targetStyle, elOptionStyle, el.style, isInit);
+      });
+      !elOptionStyle.hasOwnProperty("textFill") && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);
+      !elOptionStyle.hasOwnProperty("textStroke") && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);
+    }
+    if (el.type !== "group") {
+      el.useStyle(elOptionStyle);
+      if (isInit) {
+        el.style.opacity = 0;
+        var targetOpacity = elOptionStyle.opacity;
+        targetOpacity == null && (targetOpacity = 1);
+        graphicUtil2.initProps(el, {
+          style: {
+            opacity: targetOpacity
+          }
+        }, animatableModel, dataIndex);
+      }
+    }
+    if (isInit) {
+      el.attr(transitionProps);
+    } else {
+      graphicUtil2.updateProps(el, transitionProps, animatableModel, dataIndex);
+    }
+    elOption.hasOwnProperty("z2") && el.attr("z2", elOption.z2 || 0);
+    elOption.hasOwnProperty("silent") && el.attr("silent", elOption.silent);
+    elOption.hasOwnProperty("invisible") && el.attr("invisible", elOption.invisible);
+    elOption.hasOwnProperty("ignore") && el.attr("ignore", elOption.ignore);
+    elOption.hasOwnProperty("info") && el.attr("info", elOption.info);
+    var styleEmphasis = elOption.styleEmphasis;
+    graphicUtil2.setElementHoverStyle(el, styleEmphasis);
+    if (isRoot) {
+      graphicUtil2.setAsHighDownDispatcher(el, styleEmphasis !== false);
+    }
+  }
+  function prepareStyleTransition(prop2, targetStyle, elOptionStyle, oldElStyle, isInit) {
+    if (elOptionStyle[prop2] != null && !isInit) {
+      targetStyle[prop2] = elOptionStyle[prop2];
+      elOptionStyle[prop2] = oldElStyle[prop2];
+    }
+  }
+  function makeRenderItem2(customSeries, data2, ecModel, api2) {
+    var renderItem = customSeries.get("renderItem");
+    var coordSys = customSeries.coordinateSystem;
+    var prepareResult2 = {};
+    if (coordSys) {
+      prepareResult2 = coordSys.prepareCustoms ? coordSys.prepareCustoms() : prepareCustoms2[coordSys.type](coordSys);
+    }
+    var userAPI = zrUtil2.defaults({
+      getWidth: api2.getWidth,
+      getHeight: api2.getHeight,
+      getZr: api2.getZr,
+      getDevicePixelRatio: api2.getDevicePixelRatio,
+      value,
+      style: style2,
+      styleEmphasis,
+      visual,
+      barLayout,
+      currentSeriesIndices,
+      font
+    }, prepareResult2.api || {});
+    var userParams = {
+      // The life cycle of context: current round of rendering.
+      // The global life cycle is probably not necessary, because
+      // user can store global status by themselves.
+      context: {},
+      seriesId: customSeries.id,
+      seriesName: customSeries.name,
+      seriesIndex: customSeries.seriesIndex,
+      coordSys: prepareResult2.coordSys,
+      dataInsideLength: data2.count(),
+      encode: wrapEncodeDef2(customSeries.getData())
+    };
+    var currDataIndexInside;
+    var currDirty = true;
+    var currItemModel;
+    var currLabelNormalModel;
+    var currLabelEmphasisModel;
+    var currVisualColor;
+    return function(dataIndexInside, payload) {
+      currDataIndexInside = dataIndexInside;
+      currDirty = true;
+      return renderItem && renderItem(zrUtil2.defaults({
+        dataIndexInside,
+        dataIndex: data2.getRawIndex(dataIndexInside),
+        // Can be used for optimization when zoom or roam.
+        actionType: payload ? payload.type : null
+      }, userParams), userAPI);
+    };
+    function updateCache(dataIndexInside) {
+      dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+      if (currDirty) {
+        currItemModel = data2.getItemModel(dataIndexInside);
+        currLabelNormalModel = currItemModel.getModel(LABEL_NORMAL);
+        currLabelEmphasisModel = currItemModel.getModel(LABEL_EMPHASIS);
+        currVisualColor = data2.getItemVisual(dataIndexInside, "color");
+        currDirty = false;
+      }
+    }
+    function value(dim, dataIndexInside) {
+      dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+      return data2.get(data2.getDimension(dim || 0), dataIndexInside);
+    }
+    function style2(extra, dataIndexInside) {
+      dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+      updateCache(dataIndexInside);
+      var itemStyle2 = currItemModel.getModel(ITEM_STYLE_NORMAL_PATH).getItemStyle();
+      currVisualColor != null && (itemStyle2.fill = currVisualColor);
+      var opacity = data2.getItemVisual(dataIndexInside, "opacity");
+      opacity != null && (itemStyle2.opacity = opacity);
+      var labelModel = extra ? applyExtraBefore(extra, currLabelNormalModel) : currLabelNormalModel;
+      graphicUtil2.setTextStyle(itemStyle2, labelModel, null, {
+        autoColor: currVisualColor,
+        isRectText: true
+      });
+      itemStyle2.text = labelModel.getShallow("show") ? zrUtil2.retrieve2(customSeries.getFormattedLabel(dataIndexInside, "normal"), getDefaultLabel2(data2, dataIndexInside)) : null;
+      extra && applyExtraAfter(itemStyle2, extra);
+      return itemStyle2;
+    }
+    function styleEmphasis(extra, dataIndexInside) {
+      dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+      updateCache(dataIndexInside);
+      var itemStyle2 = currItemModel.getModel(ITEM_STYLE_EMPHASIS_PATH).getItemStyle();
+      var labelModel = extra ? applyExtraBefore(extra, currLabelEmphasisModel) : currLabelEmphasisModel;
+      graphicUtil2.setTextStyle(itemStyle2, labelModel, null, {
+        isRectText: true
+      }, true);
+      itemStyle2.text = labelModel.getShallow("show") ? zrUtil2.retrieve3(customSeries.getFormattedLabel(dataIndexInside, "emphasis"), customSeries.getFormattedLabel(dataIndexInside, "normal"), getDefaultLabel2(data2, dataIndexInside)) : null;
+      extra && applyExtraAfter(itemStyle2, extra);
+      return itemStyle2;
+    }
+    function visual(visualType, dataIndexInside) {
+      dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+      return data2.getItemVisual(dataIndexInside, visualType);
+    }
+    function barLayout(opt) {
+      if (coordSys.getBaseAxis) {
+        var baseAxis = coordSys.getBaseAxis();
+        return getLayoutOnAxis2(zrUtil2.defaults({
+          axis: baseAxis
+        }, opt), api2);
+      }
+    }
+    function currentSeriesIndices() {
+      return ecModel.getCurrentSeriesIndices();
+    }
+    function font(opt) {
+      return graphicUtil2.getFont(opt, ecModel);
+    }
+  }
+  function wrapEncodeDef2(data2) {
+    var encodeDef = {};
+    zrUtil2.each(data2.dimensions, function(dimName, dataDimIndex) {
+      var dimInfo = data2.getDimensionInfo(dimName);
+      if (!dimInfo.isExtraCoord) {
+        var coordDim = dimInfo.coordDim;
+        var dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];
+        dataDims[dimInfo.coordDimIndex] = dataDimIndex;
+      }
+    });
+    return encodeDef;
+  }
+  function createOrUpdate2(el, dataIndex, elOption, animatableModel, group, data2) {
+    el = doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data2, true);
+    el && data2.setItemGraphicEl(dataIndex, el);
+    return el;
+  }
+  function doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data2, isRoot) {
+    var simplyRemove = !elOption;
+    elOption = elOption || {};
+    var elOptionType = elOption.type;
+    var elOptionShape = elOption.shape;
+    var elOptionStyle = elOption.style;
+    if (el && (simplyRemove || elOptionType != null && elOptionType !== el.__customGraphicType || elOptionType === "path" && hasOwnPathData2(elOptionShape) && getPathData2(elOptionShape) !== el.__customPathData || elOptionType === "image" && hasOwn2(elOptionStyle, "image") && elOptionStyle.image !== el.__customImagePath || elOptionType === "text" && hasOwn2(elOptionShape, "text") && elOptionStyle.text !== el.__customText)) {
+      group.remove(el);
+      el = null;
+    }
+    if (simplyRemove) {
+      return;
+    }
+    var isInit = !el;
+    !el && (el = createEl2(elOption));
+    updateEl(el, dataIndex, elOption, animatableModel, data2, isInit, isRoot);
+    if (elOptionType === "group") {
+      mergeChildren2(el, dataIndex, elOption, animatableModel, data2);
+    }
+    group.add(el);
+    return el;
+  }
+  function mergeChildren2(el, dataIndex, elOption, animatableModel, data2) {
+    var newChildren = elOption.children;
+    var newLen = newChildren ? newChildren.length : 0;
+    var mergeChildren3 = elOption.$mergeChildren;
+    var byName = mergeChildren3 === "byName" || elOption.diffChildrenByName;
+    var notMerge = mergeChildren3 === false;
+    if (!newLen && !byName && !notMerge) {
+      return;
+    }
+    if (byName) {
+      diffGroupChildren2({
+        oldChildren: el.children() || [],
+        newChildren: newChildren || [],
+        dataIndex,
+        animatableModel,
+        group: el,
+        data: data2
+      });
+      return;
+    }
+    notMerge && el.removeAll();
+    var index3 = 0;
+    for (; index3 < newLen; index3++) {
+      newChildren[index3] && doCreateOrUpdate(el.childAt(index3), dataIndex, newChildren[index3], animatableModel, el, data2);
+    }
+  }
+  function diffGroupChildren2(context) {
+    new DataDiffer2(context.oldChildren, context.newChildren, getKey2, getKey2, context).add(processAddUpdate2).update(processAddUpdate2).remove(processRemove2).execute();
+  }
+  function getKey2(item, idx) {
+    var name2 = item && item.name;
+    return name2 != null ? name2 : GROUP_DIFF_PREFIX2 + idx;
+  }
+  function processAddUpdate2(newIndex, oldIndex) {
+    var context = this.context;
+    var childOption = newIndex != null ? context.newChildren[newIndex] : null;
+    var child = oldIndex != null ? context.oldChildren[oldIndex] : null;
+    doCreateOrUpdate(child, context.dataIndex, childOption, context.animatableModel, context.group, context.data);
+  }
+  function applyExtraBefore(extra, model2) {
+    var dummyModel = new Model2({}, model2);
+    zrUtil2.each(CACHED_LABEL_STYLE_PROPERTIES2, function(stylePropName, modelPropName) {
+      if (extra.hasOwnProperty(stylePropName)) {
+        dummyModel.option[modelPropName] = extra[stylePropName];
+      }
+    });
+    return dummyModel;
+  }
+  function applyExtraAfter(itemStyle2, extra) {
+    for (var key2 in extra) {
+      if (extra.hasOwnProperty(key2) || !CACHED_LABEL_STYLE_PROPERTIES2.hasOwnProperty(key2)) {
+        itemStyle2[key2] = extra[key2];
+      }
+    }
+  }
+  function processRemove2(oldIndex) {
+    var context = this.context;
+    var child = context.oldChildren[oldIndex];
+    child && context.group.remove(child);
+  }
+  function getPathData2(shape) {
+    return shape && (shape.pathData || shape.d);
+  }
+  function hasOwnPathData2(shape) {
+    return shape && (shape.hasOwnProperty("pathData") || shape.hasOwnProperty("d"));
+  }
+  function hasOwn2(host, prop2) {
+    return host && host.hasOwnProperty(prop2);
+  }
+  return custom;
+}
+var grid = {};
+var hasRequiredGrid;
+function requireGrid() {
+  if (hasRequiredGrid)
+    return grid;
+  hasRequiredGrid = 1;
+  requireGridSimple();
+  requireCartesianAxisPointer();
+  requireAxisPointer();
+  return grid;
+}
+var polar = {};
+var barPolar;
+var hasRequiredBarPolar;
+function requireBarPolar() {
+  if (hasRequiredBarPolar)
+    return barPolar;
+  hasRequiredBarPolar = 1;
+  var zrUtil2 = util$a;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var _dataStackHelper = requireDataStackHelper();
+  var isDimensionStacked2 = _dataStackHelper.isDimensionStacked;
+  function getSeriesStackId2(seriesModel) {
+    return seriesModel.get("stack") || "__ec_stack_" + seriesModel.seriesIndex;
+  }
+  function getAxisKey2(polar2, axis2) {
+    return axis2.dim + polar2.model.componentIndex;
+  }
+  function barLayoutPolar2(seriesType2, ecModel, api2) {
+    var lastStackCoords = {};
+    var barWidthAndOffset = calRadialBar2(zrUtil2.filter(ecModel.getSeriesByType(seriesType2), function(seriesModel) {
+      return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === "polar";
+    }));
+    ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+      if (seriesModel.coordinateSystem.type !== "polar") {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var polar2 = seriesModel.coordinateSystem;
+      var baseAxis = polar2.getBaseAxis();
+      var axisKey = getAxisKey2(polar2, baseAxis);
+      var stackId = getSeriesStackId2(seriesModel);
+      var columnLayoutInfo = barWidthAndOffset[axisKey][stackId];
+      var columnOffset = columnLayoutInfo.offset;
+      var columnWidth = columnLayoutInfo.width;
+      var valueAxis2 = polar2.getOtherAxis(baseAxis);
+      var cx = seriesModel.coordinateSystem.cx;
+      var cy = seriesModel.coordinateSystem.cy;
+      var barMinHeight = seriesModel.get("barMinHeight") || 0;
+      var barMinAngle = seriesModel.get("barMinAngle") || 0;
+      lastStackCoords[stackId] = lastStackCoords[stackId] || [];
+      var valueDim = data2.mapDimension(valueAxis2.dim);
+      var baseDim = data2.mapDimension(baseAxis.dim);
+      var stacked = isDimensionStacked2(
+        data2,
+        valueDim
+        /*, baseDim*/
+      );
+      var clampLayout = baseAxis.dim !== "radius" || !seriesModel.get("roundCap", true);
+      var valueAxisStart = valueAxis2.dim === "radius" ? valueAxis2.dataToRadius(0) : valueAxis2.dataToAngle(0);
+      for (var idx = 0, len2 = data2.count(); idx < len2; idx++) {
+        var value = data2.get(valueDim, idx);
+        var baseValue = data2.get(baseDim, idx);
+        var sign = value >= 0 ? "p" : "n";
+        var baseCoord = valueAxisStart;
+        if (stacked) {
+          if (!lastStackCoords[stackId][baseValue]) {
+            lastStackCoords[stackId][baseValue] = {
+              p: valueAxisStart,
+              // Positive stack
+              n: valueAxisStart
+              // Negative stack
+            };
+          }
+          baseCoord = lastStackCoords[stackId][baseValue][sign];
+        }
+        var r0;
+        var r2;
+        var startAngle;
+        var endAngle;
+        if (valueAxis2.dim === "radius") {
+          var radiusSpan = valueAxis2.dataToRadius(value) - valueAxisStart;
+          var angle = baseAxis.dataToAngle(baseValue);
+          if (Math.abs(radiusSpan) < barMinHeight) {
+            radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;
+          }
+          r0 = baseCoord;
+          r2 = baseCoord + radiusSpan;
+          startAngle = angle - columnOffset;
+          endAngle = startAngle - columnWidth;
+          stacked && (lastStackCoords[stackId][baseValue][sign] = r2);
+        } else {
+          var angleSpan = valueAxis2.dataToAngle(value, clampLayout) - valueAxisStart;
+          var radius = baseAxis.dataToRadius(baseValue);
+          if (Math.abs(angleSpan) < barMinAngle) {
+            angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;
+          }
+          r0 = radius + columnOffset;
+          r2 = r0 + columnWidth;
+          startAngle = baseCoord;
+          endAngle = baseCoord + angleSpan;
+          stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);
+        }
+        data2.setItemLayout(idx, {
+          cx,
+          cy,
+          r0,
+          r: r2,
+          // Consider that positive angle is anti-clockwise,
+          // while positive radian of sector is clockwise
+          startAngle: -startAngle * Math.PI / 180,
+          endAngle: -endAngle * Math.PI / 180
+        });
+      }
+    }, this);
+  }
+  function calRadialBar2(barSeries, api2) {
+    var columnsMap = {};
+    zrUtil2.each(barSeries, function(seriesModel, idx) {
+      var data2 = seriesModel.getData();
+      var polar2 = seriesModel.coordinateSystem;
+      var baseAxis = polar2.getBaseAxis();
+      var axisKey = getAxisKey2(polar2, baseAxis);
+      var axisExtent = baseAxis.getExtent();
+      var bandWidth = baseAxis.type === "category" ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data2.count();
+      var columnsOnAxis = columnsMap[axisKey] || {
+        bandWidth,
+        remainedWidth: bandWidth,
+        autoWidthCount: 0,
+        categoryGap: "20%",
+        gap: "30%",
+        stacks: {}
+      };
+      var stacks = columnsOnAxis.stacks;
+      columnsMap[axisKey] = columnsOnAxis;
+      var stackId = getSeriesStackId2(seriesModel);
+      if (!stacks[stackId]) {
+        columnsOnAxis.autoWidthCount++;
+      }
+      stacks[stackId] = stacks[stackId] || {
+        width: 0,
+        maxWidth: 0
+      };
+      var barWidth = parsePercent2(seriesModel.get("barWidth"), bandWidth);
+      var barMaxWidth = parsePercent2(seriesModel.get("barMaxWidth"), bandWidth);
+      var barGap = seriesModel.get("barGap");
+      var barCategoryGap = seriesModel.get("barCategoryGap");
+      if (barWidth && !stacks[stackId].width) {
+        barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);
+        stacks[stackId].width = barWidth;
+        columnsOnAxis.remainedWidth -= barWidth;
+      }
+      barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);
+      barGap != null && (columnsOnAxis.gap = barGap);
+      barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);
+    });
+    var result2 = {};
+    zrUtil2.each(columnsMap, function(columnsOnAxis, coordSysName) {
+      result2[coordSysName] = {};
+      var stacks = columnsOnAxis.stacks;
+      var bandWidth = columnsOnAxis.bandWidth;
+      var categoryGap = parsePercent2(columnsOnAxis.categoryGap, bandWidth);
+      var barGapPercent = parsePercent2(columnsOnAxis.gap, 1);
+      var remainedWidth = columnsOnAxis.remainedWidth;
+      var autoWidthCount = columnsOnAxis.autoWidthCount;
+      var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+      autoWidth = Math.max(autoWidth, 0);
+      zrUtil2.each(stacks, function(column, stack) {
+        var maxWidth = column.maxWidth;
+        if (maxWidth && maxWidth < autoWidth) {
+          maxWidth = Math.min(maxWidth, remainedWidth);
+          if (column.width) {
+            maxWidth = Math.min(maxWidth, column.width);
+          }
+          remainedWidth -= maxWidth;
+          column.width = maxWidth;
+          autoWidthCount--;
+        }
+      });
+      autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+      autoWidth = Math.max(autoWidth, 0);
+      var widthSum = 0;
+      var lastColumn;
+      zrUtil2.each(stacks, function(column, idx) {
+        if (!column.width) {
+          column.width = autoWidth;
+        }
+        lastColumn = column;
+        widthSum += column.width * (1 + barGapPercent);
+      });
+      if (lastColumn) {
+        widthSum -= lastColumn.width * barGapPercent;
+      }
+      var offset2 = -widthSum / 2;
+      zrUtil2.each(stacks, function(column, stackId) {
+        result2[coordSysName][stackId] = result2[coordSysName][stackId] || {
+          offset: offset2,
+          width: column.width
+        };
+        offset2 += column.width * (1 + barGapPercent);
+      });
+    });
+    return result2;
+  }
+  var _default68 = barLayoutPolar2;
+  barPolar = _default68;
+  return barPolar;
+}
+var polarCreator$2 = {};
+var RadiusAxis_1;
+var hasRequiredRadiusAxis$1;
+function requireRadiusAxis$1() {
+  if (hasRequiredRadiusAxis$1)
+    return RadiusAxis_1;
+  hasRequiredRadiusAxis$1 = 1;
+  var zrUtil2 = util$a;
+  var Axis2 = requireAxis$1();
+  function RadiusAxis2(scale2, radiusExtent) {
+    Axis2.call(this, "radius", scale2, radiusExtent);
+    this.type = "category";
+  }
+  RadiusAxis2.prototype = {
+    constructor: RadiusAxis2,
+    /**
+     * @override
+     */
+    pointToData: function(point, clamp2) {
+      return this.polar.pointToData(point, clamp2)[this.dim === "radius" ? 0 : 1];
+    },
+    dataToRadius: Axis2.prototype.dataToCoord,
+    radiusToData: Axis2.prototype.coordToData
+  };
+  zrUtil2.inherits(RadiusAxis2, Axis2);
+  var _default68 = RadiusAxis2;
+  RadiusAxis_1 = _default68;
+  return RadiusAxis_1;
+}
+var AngleAxis_1;
+var hasRequiredAngleAxis$1;
+function requireAngleAxis$1() {
+  if (hasRequiredAngleAxis$1)
+    return AngleAxis_1;
+  hasRequiredAngleAxis$1 = 1;
+  var zrUtil2 = util$a;
+  var textContain2 = text;
+  var Axis2 = requireAxis$1();
+  var _model2 = model;
+  var makeInner2 = _model2.makeInner;
+  var inner2 = makeInner2();
+  function AngleAxis2(scale2, angleExtent) {
+    angleExtent = angleExtent || [0, 360];
+    Axis2.call(this, "angle", scale2, angleExtent);
+    this.type = "category";
+  }
+  AngleAxis2.prototype = {
+    constructor: AngleAxis2,
+    /**
+     * @override
+     */
+    pointToData: function(point, clamp2) {
+      return this.polar.pointToData(point, clamp2)[this.dim === "radius" ? 0 : 1];
+    },
+    dataToAngle: Axis2.prototype.dataToCoord,
+    angleToData: Axis2.prototype.coordToData,
+    /**
+     * Only be called in category axis.
+     * Angle axis uses text height to decide interval
+     *
+     * @override
+     * @return {number} Auto interval for cateogry axis tick and label
+     */
+    calculateCategoryInterval: function() {
+      var axis2 = this;
+      var labelModel = axis2.getLabelModel();
+      var ordinalScale = axis2.scale;
+      var ordinalExtent = ordinalScale.getExtent();
+      var tickCount = ordinalScale.count();
+      if (ordinalExtent[1] - ordinalExtent[0] < 1) {
+        return 0;
+      }
+      var tickValue = ordinalExtent[0];
+      var unitSpan = axis2.dataToCoord(tickValue + 1) - axis2.dataToCoord(tickValue);
+      var unitH = Math.abs(unitSpan);
+      var rect = textContain2.getBoundingRect(tickValue, labelModel.getFont(), "center", "top");
+      var maxH = Math.max(rect.height, 7);
+      var dh = maxH / unitH;
+      isNaN(dh) && (dh = Infinity);
+      var interval = Math.max(0, Math.floor(dh));
+      var cache = inner2(axis2.model);
+      var lastAutoInterval = cache.lastAutoInterval;
+      var lastTickCount = cache.lastTickCount;
+      if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 && lastAutoInterval > interval) {
+        interval = lastAutoInterval;
+      } else {
+        cache.lastTickCount = tickCount;
+        cache.lastAutoInterval = interval;
+      }
+      return interval;
+    }
+  };
+  zrUtil2.inherits(AngleAxis2, Axis2);
+  var _default68 = AngleAxis2;
+  AngleAxis_1 = _default68;
+  return AngleAxis_1;
+}
+var Polar_1;
+var hasRequiredPolar$1;
+function requirePolar$1() {
+  if (hasRequiredPolar$1)
+    return Polar_1;
+  hasRequiredPolar$1 = 1;
+  var RadiusAxis2 = requireRadiusAxis$1();
+  var AngleAxis2 = requireAngleAxis$1();
+  var Polar2 = function(name2) {
+    this.name = name2 || "";
+    this.cx = 0;
+    this.cy = 0;
+    this._radiusAxis = new RadiusAxis2();
+    this._angleAxis = new AngleAxis2();
+    this._radiusAxis.polar = this._angleAxis.polar = this;
+  };
+  Polar2.prototype = {
+    type: "polar",
+    axisPointerEnabled: true,
+    constructor: Polar2,
+    /**
+     * @param {Array.<string>}
+     * @readOnly
+     */
+    dimensions: ["radius", "angle"],
+    /**
+     * @type {module:echarts/coord/PolarModel}
+     */
+    model: null,
+    /**
+     * If contain coord
+     * @param {Array.<number>} point
+     * @return {boolean}
+     */
+    containPoint: function(point) {
+      var coord = this.pointToCoord(point);
+      return this._radiusAxis.contain(coord[0]) && this._angleAxis.contain(coord[1]);
+    },
+    /**
+     * If contain data
+     * @param {Array.<number>} data
+     * @return {boolean}
+     */
+    containData: function(data2) {
+      return this._radiusAxis.containData(data2[0]) && this._angleAxis.containData(data2[1]);
+    },
+    /**
+     * @param {string} dim
+     * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}
+     */
+    getAxis: function(dim) {
+      return this["_" + dim + "Axis"];
+    },
+    /**
+     * @return {Array.<module:echarts/coord/Axis>}
+     */
+    getAxes: function() {
+      return [this._radiusAxis, this._angleAxis];
+    },
+    /**
+     * Get axes by type of scale
+     * @param {string} scaleType
+     * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}
+     */
+    getAxesByScale: function(scaleType) {
+      var axes = [];
+      var angleAxis2 = this._angleAxis;
+      var radiusAxis2 = this._radiusAxis;
+      angleAxis2.scale.type === scaleType && axes.push(angleAxis2);
+      radiusAxis2.scale.type === scaleType && axes.push(radiusAxis2);
+      return axes;
+    },
+    /**
+     * @return {module:echarts/coord/polar/AngleAxis}
+     */
+    getAngleAxis: function() {
+      return this._angleAxis;
+    },
+    /**
+     * @return {module:echarts/coord/polar/RadiusAxis}
+     */
+    getRadiusAxis: function() {
+      return this._radiusAxis;
+    },
+    /**
+     * @param {module:echarts/coord/polar/Axis}
+     * @return {module:echarts/coord/polar/Axis}
+     */
+    getOtherAxis: function(axis2) {
+      var angleAxis2 = this._angleAxis;
+      return axis2 === angleAxis2 ? this._radiusAxis : angleAxis2;
+    },
+    /**
+     * Base axis will be used on stacking.
+     *
+     * @return {module:echarts/coord/polar/Axis}
+     */
+    getBaseAxis: function() {
+      return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAngleAxis();
+    },
+    /**
+     * @param {string} [dim] 'radius' or 'angle' or 'auto' or null/undefined
+     * @return {Object} {baseAxes: [], otherAxes: []}
+     */
+    getTooltipAxes: function(dim) {
+      var baseAxis = dim != null && dim !== "auto" ? this.getAxis(dim) : this.getBaseAxis();
+      return {
+        baseAxes: [baseAxis],
+        otherAxes: [this.getOtherAxis(baseAxis)]
+      };
+    },
+    /**
+     * Convert a single data item to (x, y) point.
+     * Parameter data is an array which the first element is radius and the second is angle
+     * @param {Array.<number>} data
+     * @param {boolean} [clamp=false]
+     * @return {Array.<number>}
+     */
+    dataToPoint: function(data2, clamp2) {
+      return this.coordToPoint([this._radiusAxis.dataToRadius(data2[0], clamp2), this._angleAxis.dataToAngle(data2[1], clamp2)]);
+    },
+    /**
+     * Convert a (x, y) point to data
+     * @param {Array.<number>} point
+     * @param {boolean} [clamp=false]
+     * @return {Array.<number>}
+     */
+    pointToData: function(point, clamp2) {
+      var coord = this.pointToCoord(point);
+      return [this._radiusAxis.radiusToData(coord[0], clamp2), this._angleAxis.angleToData(coord[1], clamp2)];
+    },
+    /**
+     * Convert a (x, y) point to (radius, angle) coord
+     * @param {Array.<number>} point
+     * @return {Array.<number>}
+     */
+    pointToCoord: function(point) {
+      var dx = point[0] - this.cx;
+      var dy = point[1] - this.cy;
+      var angleAxis2 = this.getAngleAxis();
+      var extent3 = angleAxis2.getExtent();
+      var minAngle = Math.min(extent3[0], extent3[1]);
+      var maxAngle = Math.max(extent3[0], extent3[1]);
+      angleAxis2.inverse ? minAngle = maxAngle - 360 : maxAngle = minAngle + 360;
+      var radius = Math.sqrt(dx * dx + dy * dy);
+      dx /= radius;
+      dy /= radius;
+      var radian = Math.atan2(-dy, dx) / Math.PI * 180;
+      var dir3 = radian < minAngle ? 1 : -1;
+      while (radian < minAngle || radian > maxAngle) {
+        radian += dir3 * 360;
+      }
+      return [radius, radian];
+    },
+    /**
+     * Convert a (radius, angle) coord to (x, y) point
+     * @param {Array.<number>} coord
+     * @return {Array.<number>}
+     */
+    coordToPoint: function(coord) {
+      var radius = coord[0];
+      var radian = coord[1] / 180 * Math.PI;
+      var x2 = Math.cos(radian) * radius + this.cx;
+      var y2 = -Math.sin(radian) * radius + this.cy;
+      return [x2, y2];
+    },
+    /**
+     * Get ring area of cartesian.
+     * Area will have a contain function to determine if a point is in the coordinate system.
+     * @return {Ring}
+     */
+    getArea: function() {
+      var angleAxis2 = this.getAngleAxis();
+      var radiusAxis2 = this.getRadiusAxis();
+      var radiusExtent = radiusAxis2.getExtent().slice();
+      radiusExtent[0] > radiusExtent[1] && radiusExtent.reverse();
+      var angleExtent = angleAxis2.getExtent();
+      var RADIAN2 = Math.PI / 180;
+      return {
+        cx: this.cx,
+        cy: this.cy,
+        r0: radiusExtent[0],
+        r: radiusExtent[1],
+        startAngle: -angleExtent[0] * RADIAN2,
+        endAngle: -angleExtent[1] * RADIAN2,
+        clockwise: angleAxis2.inverse,
+        contain: function(x2, y2) {
+          var dx = x2 - this.cx;
+          var dy = y2 - this.cy;
+          var d2 = dx * dx + dy * dy;
+          var r2 = this.r;
+          var r0 = this.r0;
+          return d2 <= r2 * r2 && d2 >= r0 * r0;
+        }
+      };
+    }
+  };
+  var _default68 = Polar2;
+  Polar_1 = _default68;
+  return Polar_1;
+}
+var AxisModel = {};
+var hasRequiredAxisModel;
+function requireAxisModel() {
+  if (hasRequiredAxisModel)
+    return AxisModel;
+  hasRequiredAxisModel = 1;
+  var zrUtil2 = util$a;
+  var ComponentModel2 = Component$1;
+  var axisModelCreator2 = requireAxisModelCreator();
+  var axisModelCommonMixin2 = requireAxisModelCommonMixin();
+  var PolarAxisModel2 = ComponentModel2.extend({
+    type: "polarAxis",
+    /**
+     * @type {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}
+     */
+    axis: null,
+    /**
+     * @override
+     */
+    getCoordSysModel: function() {
+      return this.ecModel.queryComponents({
+        mainType: "polar",
+        index: this.option.polarIndex,
+        id: this.option.polarId
+      })[0];
+    }
+  });
+  zrUtil2.merge(PolarAxisModel2.prototype, axisModelCommonMixin2);
+  var polarAxisDefaultExtendedOption = {
+    angle: {
+      // polarIndex: 0,
+      // polarId: '',
+      startAngle: 90,
+      clockwise: true,
+      splitNumber: 12,
+      axisLabel: {
+        rotate: false
+      }
+    },
+    radius: {
+      // polarIndex: 0,
+      // polarId: '',
+      splitNumber: 5
+    }
+  };
+  function getAxisType2(axisDim, option) {
+    return option.type || (option.data ? "category" : "value");
+  }
+  axisModelCreator2("angle", PolarAxisModel2, getAxisType2, polarAxisDefaultExtendedOption.angle);
+  axisModelCreator2("radius", PolarAxisModel2, getAxisType2, polarAxisDefaultExtendedOption.radius);
+  return AxisModel;
+}
+var PolarModel$2;
+var hasRequiredPolarModel;
+function requirePolarModel() {
+  if (hasRequiredPolarModel)
+    return PolarModel$2;
+  hasRequiredPolarModel = 1;
+  var echarts2 = echarts$1;
+  requireAxisModel();
+  var _default68 = echarts2.extendComponentModel({
+    type: "polar",
+    dependencies: ["polarAxis", "angleAxis"],
+    /**
+     * @type {module:echarts/coord/polar/Polar}
+     */
+    coordinateSystem: null,
+    /**
+     * @param {string} axisType
+     * @return {module:echarts/coord/polar/AxisModel}
+     */
+    findAxisModel: function(axisType) {
+      var foundAxisModel;
+      var ecModel = this.ecModel;
+      ecModel.eachComponent(axisType, function(axisModel) {
+        if (axisModel.getCoordSysModel() === this) {
+          foundAxisModel = axisModel;
+        }
+      }, this);
+      return foundAxisModel;
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 0,
+      center: ["50%", "50%"],
+      radius: "80%"
+    }
+  });
+  PolarModel$2 = _default68;
+  return PolarModel$2;
+}
+var hasRequiredPolarCreator;
+function requirePolarCreator() {
+  if (hasRequiredPolarCreator)
+    return polarCreator$2;
+  hasRequiredPolarCreator = 1;
+  var zrUtil2 = util$a;
+  var Polar2 = requirePolar$1();
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var _axisHelper = requireAxisHelper();
+  var createScaleByModel2 = _axisHelper.createScaleByModel;
+  var niceScaleExtent2 = _axisHelper.niceScaleExtent;
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var _dataStackHelper = requireDataStackHelper();
+  var getStackedDimension2 = _dataStackHelper.getStackedDimension;
+  requirePolarModel();
+  function resizePolar2(polar2, polarModel, api2) {
+    var center2 = polarModel.get("center");
+    var width = api2.getWidth();
+    var height = api2.getHeight();
+    polar2.cx = parsePercent2(center2[0], width);
+    polar2.cy = parsePercent2(center2[1], height);
+    var radiusAxis2 = polar2.getRadiusAxis();
+    var size = Math.min(width, height) / 2;
+    var radius = polarModel.get("radius");
+    if (radius == null) {
+      radius = [0, "100%"];
+    } else if (!zrUtil2.isArray(radius)) {
+      radius = [0, radius];
+    }
+    radius = [parsePercent2(radius[0], size), parsePercent2(radius[1], size)];
+    radiusAxis2.inverse ? radiusAxis2.setExtent(radius[1], radius[0]) : radiusAxis2.setExtent(radius[0], radius[1]);
+  }
+  function updatePolarScale2(ecModel, api2) {
+    var polar2 = this;
+    var angleAxis2 = polar2.getAngleAxis();
+    var radiusAxis2 = polar2.getRadiusAxis();
+    angleAxis2.scale.setExtent(Infinity, -Infinity);
+    radiusAxis2.scale.setExtent(Infinity, -Infinity);
+    ecModel.eachSeries(function(seriesModel) {
+      if (seriesModel.coordinateSystem === polar2) {
+        var data2 = seriesModel.getData();
+        zrUtil2.each(data2.mapDimension("radius", true), function(dim) {
+          radiusAxis2.scale.unionExtentFromData(data2, getStackedDimension2(data2, dim));
+        });
+        zrUtil2.each(data2.mapDimension("angle", true), function(dim) {
+          angleAxis2.scale.unionExtentFromData(data2, getStackedDimension2(data2, dim));
+        });
+      }
+    });
+    niceScaleExtent2(angleAxis2.scale, angleAxis2.model);
+    niceScaleExtent2(radiusAxis2.scale, radiusAxis2.model);
+    if (angleAxis2.type === "category" && !angleAxis2.onBand) {
+      var extent3 = angleAxis2.getExtent();
+      var diff = 360 / angleAxis2.scale.count();
+      angleAxis2.inverse ? extent3[1] += diff : extent3[1] -= diff;
+      angleAxis2.setExtent(extent3[0], extent3[1]);
+    }
+  }
+  function setAxis2(axis2, axisModel) {
+    axis2.type = axisModel.get("type");
+    axis2.scale = createScaleByModel2(axisModel);
+    axis2.onBand = axisModel.get("boundaryGap") && axis2.type === "category";
+    axis2.inverse = axisModel.get("inverse");
+    if (axisModel.mainType === "angleAxis") {
+      axis2.inverse ^= axisModel.get("clockwise");
+      var startAngle = axisModel.get("startAngle");
+      axis2.setExtent(startAngle, startAngle + (axis2.inverse ? -360 : 360));
+    }
+    axisModel.axis = axis2;
+    axis2.model = axisModel;
+  }
+  var polarCreator2 = {
+    dimensions: Polar2.prototype.dimensions,
+    create: function(ecModel, api2) {
+      var polarList = [];
+      ecModel.eachComponent("polar", function(polarModel, idx) {
+        var polar2 = new Polar2(idx);
+        polar2.update = updatePolarScale2;
+        var radiusAxis2 = polar2.getRadiusAxis();
+        var angleAxis2 = polar2.getAngleAxis();
+        var radiusAxisModel = polarModel.findAxisModel("radiusAxis");
+        var angleAxisModel = polarModel.findAxisModel("angleAxis");
+        setAxis2(radiusAxis2, radiusAxisModel);
+        setAxis2(angleAxis2, angleAxisModel);
+        resizePolar2(polar2, polarModel, api2);
+        polarList.push(polar2);
+        polarModel.coordinateSystem = polar2;
+        polar2.model = polarModel;
+      });
+      ecModel.eachSeries(function(seriesModel) {
+        if (seriesModel.get("coordinateSystem") === "polar") {
+          var polarModel = ecModel.queryComponents({
+            mainType: "polar",
+            index: seriesModel.get("polarIndex"),
+            id: seriesModel.get("polarId")
+          })[0];
+          seriesModel.coordinateSystem = polarModel.coordinateSystem;
+        }
+      });
+      return polarList;
+    }
+  };
+  CoordinateSystem2.register("polar", polarCreator2);
+  return polarCreator$2;
+}
+var angleAxis = {};
+var AngleAxisView$2;
+var hasRequiredAngleAxisView;
+function requireAngleAxisView() {
+  if (hasRequiredAngleAxisView)
+    return AngleAxisView$2;
+  hasRequiredAngleAxisView = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var Model2 = Model_1;
+  var AxisView2 = requireAxisView();
+  var AxisBuilder2 = requireAxisBuilder();
+  var elementList2 = ["axisLine", "axisLabel", "axisTick", "minorTick", "splitLine", "minorSplitLine", "splitArea"];
+  function getAxisLineShape2(polar2, rExtent, angle) {
+    rExtent[1] > rExtent[0] && (rExtent = rExtent.slice().reverse());
+    var start2 = polar2.coordToPoint([rExtent[0], angle]);
+    var end2 = polar2.coordToPoint([rExtent[1], angle]);
+    return {
+      x1: start2[0],
+      y1: start2[1],
+      x2: end2[0],
+      y2: end2[1]
+    };
+  }
+  function getRadiusIdx2(polar2) {
+    var radiusAxis2 = polar2.getRadiusAxis();
+    return radiusAxis2.inverse ? 0 : 1;
+  }
+  function fixAngleOverlap2(list2) {
+    var firstItem = list2[0];
+    var lastItem = list2[list2.length - 1];
+    if (firstItem && lastItem && Math.abs(Math.abs(firstItem.coord - lastItem.coord) - 360) < 1e-4) {
+      list2.pop();
+    }
+  }
+  var _default68 = AxisView2.extend({
+    type: "angleAxis",
+    axisPointerClass: "PolarAxisPointer",
+    render: function(angleAxisModel, ecModel) {
+      this.group.removeAll();
+      if (!angleAxisModel.get("show")) {
+        return;
+      }
+      var angleAxis2 = angleAxisModel.axis;
+      var polar2 = angleAxis2.polar;
+      var radiusExtent = polar2.getRadiusAxis().getExtent();
+      var ticksAngles = angleAxis2.getTicksCoords();
+      var minorTickAngles = angleAxis2.getMinorTicksCoords();
+      var labels = zrUtil2.map(angleAxis2.getViewLabels(), function(labelItem) {
+        var labelItem = zrUtil2.clone(labelItem);
+        labelItem.coord = angleAxis2.dataToCoord(labelItem.tickValue);
+        return labelItem;
+      });
+      fixAngleOverlap2(labels);
+      fixAngleOverlap2(ticksAngles);
+      zrUtil2.each(elementList2, function(name2) {
+        if (angleAxisModel.get(name2 + ".show") && (!angleAxis2.scale.isBlank() || name2 === "axisLine")) {
+          this["_" + name2](angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent, labels);
+        }
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _axisLine: function(angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+      var lineStyleModel = angleAxisModel.getModel("axisLine.lineStyle");
+      var rId = getRadiusIdx2(polar2);
+      var r0Id = rId ? 0 : 1;
+      var shape;
+      if (radiusExtent[r0Id] === 0) {
+        shape = new graphic2.Circle({
+          shape: {
+            cx: polar2.cx,
+            cy: polar2.cy,
+            r: radiusExtent[rId]
+          },
+          style: lineStyleModel.getLineStyle(),
+          z2: 1,
+          silent: true
+        });
+      } else {
+        shape = new graphic2.Ring({
+          shape: {
+            cx: polar2.cx,
+            cy: polar2.cy,
+            r: radiusExtent[rId],
+            r0: radiusExtent[r0Id]
+          },
+          style: lineStyleModel.getLineStyle(),
+          z2: 1,
+          silent: true
+        });
+      }
+      shape.style.fill = null;
+      this.group.add(shape);
+    },
+    /**
+     * @private
+     */
+    _axisTick: function(angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+      var tickModel = angleAxisModel.getModel("axisTick");
+      var tickLen = (tickModel.get("inside") ? -1 : 1) * tickModel.get("length");
+      var radius = radiusExtent[getRadiusIdx2(polar2)];
+      var lines2 = zrUtil2.map(ticksAngles, function(tickAngleItem) {
+        return new graphic2.Line({
+          shape: getAxisLineShape2(polar2, [radius, radius + tickLen], tickAngleItem.coord)
+        });
+      });
+      this.group.add(graphic2.mergePath(lines2, {
+        style: zrUtil2.defaults(tickModel.getModel("lineStyle").getLineStyle(), {
+          stroke: angleAxisModel.get("axisLine.lineStyle.color")
+        })
+      }));
+    },
+    /**
+     * @private
+     */
+    _minorTick: function(angleAxisModel, polar2, tickAngles, minorTickAngles, radiusExtent) {
+      if (!minorTickAngles.length) {
+        return;
+      }
+      var tickModel = angleAxisModel.getModel("axisTick");
+      var minorTickModel = angleAxisModel.getModel("minorTick");
+      var tickLen = (tickModel.get("inside") ? -1 : 1) * minorTickModel.get("length");
+      var radius = radiusExtent[getRadiusIdx2(polar2)];
+      var lines2 = [];
+      for (var i2 = 0; i2 < minorTickAngles.length; i2++) {
+        for (var k2 = 0; k2 < minorTickAngles[i2].length; k2++) {
+          lines2.push(new graphic2.Line({
+            shape: getAxisLineShape2(polar2, [radius, radius + tickLen], minorTickAngles[i2][k2].coord)
+          }));
+        }
+      }
+      this.group.add(graphic2.mergePath(lines2, {
+        style: zrUtil2.defaults(minorTickModel.getModel("lineStyle").getLineStyle(), zrUtil2.defaults(tickModel.getLineStyle(), {
+          stroke: angleAxisModel.get("axisLine.lineStyle.color")
+        }))
+      }));
+    },
+    /**
+     * @private
+     */
+    _axisLabel: function(angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent, labels) {
+      var rawCategoryData = angleAxisModel.getCategories(true);
+      var commonLabelModel = angleAxisModel.getModel("axisLabel");
+      var labelMargin = commonLabelModel.get("margin");
+      var triggerEvent = angleAxisModel.get("triggerEvent");
+      zrUtil2.each(labels, function(labelItem, idx) {
+        var labelModel = commonLabelModel;
+        var tickValue = labelItem.tickValue;
+        var r2 = radiusExtent[getRadiusIdx2(polar2)];
+        var p2 = polar2.coordToPoint([r2 + labelMargin, labelItem.coord]);
+        var cx = polar2.cx;
+        var cy = polar2.cy;
+        var labelTextAlign = Math.abs(p2[0] - cx) / r2 < 0.3 ? "center" : p2[0] > cx ? "left" : "right";
+        var labelTextVerticalAlign = Math.abs(p2[1] - cy) / r2 < 0.3 ? "middle" : p2[1] > cy ? "top" : "bottom";
+        if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {
+          labelModel = new Model2(rawCategoryData[tickValue].textStyle, commonLabelModel, commonLabelModel.ecModel);
+        }
+        var textEl = new graphic2.Text({
+          silent: AxisBuilder2.isLabelSilent(angleAxisModel)
+        });
+        this.group.add(textEl);
+        graphic2.setTextStyle(textEl.style, labelModel, {
+          x: p2[0],
+          y: p2[1],
+          textFill: labelModel.getTextColor() || angleAxisModel.get("axisLine.lineStyle.color"),
+          text: labelItem.formattedLabel,
+          textAlign: labelTextAlign,
+          textVerticalAlign: labelTextVerticalAlign
+        });
+        if (triggerEvent) {
+          textEl.eventData = AxisBuilder2.makeAxisEventDataBase(angleAxisModel);
+          textEl.eventData.targetType = "axisLabel";
+          textEl.eventData.value = labelItem.rawLabel;
+        }
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _splitLine: function(angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+      var splitLineModel = angleAxisModel.getModel("splitLine");
+      var lineStyleModel = splitLineModel.getModel("lineStyle");
+      var lineColors = lineStyleModel.get("color");
+      var lineCount = 0;
+      lineColors = lineColors instanceof Array ? lineColors : [lineColors];
+      var splitLines = [];
+      for (var i2 = 0; i2 < ticksAngles.length; i2++) {
+        var colorIndex = lineCount++ % lineColors.length;
+        splitLines[colorIndex] = splitLines[colorIndex] || [];
+        splitLines[colorIndex].push(new graphic2.Line({
+          shape: getAxisLineShape2(polar2, radiusExtent, ticksAngles[i2].coord)
+        }));
+      }
+      for (var i2 = 0; i2 < splitLines.length; i2++) {
+        this.group.add(graphic2.mergePath(splitLines[i2], {
+          style: zrUtil2.defaults({
+            stroke: lineColors[i2 % lineColors.length]
+          }, lineStyleModel.getLineStyle()),
+          silent: true,
+          z: angleAxisModel.get("z")
+        }));
+      }
+    },
+    /**
+     * @private
+     */
+    _minorSplitLine: function(angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+      if (!minorTickAngles.length) {
+        return;
+      }
+      var minorSplitLineModel = angleAxisModel.getModel("minorSplitLine");
+      var lineStyleModel = minorSplitLineModel.getModel("lineStyle");
+      var lines2 = [];
+      for (var i2 = 0; i2 < minorTickAngles.length; i2++) {
+        for (var k2 = 0; k2 < minorTickAngles[i2].length; k2++) {
+          lines2.push(new graphic2.Line({
+            shape: getAxisLineShape2(polar2, radiusExtent, minorTickAngles[i2][k2].coord)
+          }));
+        }
+      }
+      this.group.add(graphic2.mergePath(lines2, {
+        style: lineStyleModel.getLineStyle(),
+        silent: true,
+        z: angleAxisModel.get("z")
+      }));
+    },
+    /**
+     * @private
+     */
+    _splitArea: function(angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+      if (!ticksAngles.length) {
+        return;
+      }
+      var splitAreaModel = angleAxisModel.getModel("splitArea");
+      var areaStyleModel = splitAreaModel.getModel("areaStyle");
+      var areaColors = areaStyleModel.get("color");
+      var lineCount = 0;
+      areaColors = areaColors instanceof Array ? areaColors : [areaColors];
+      var splitAreas = [];
+      var RADIAN2 = Math.PI / 180;
+      var prevAngle = -ticksAngles[0].coord * RADIAN2;
+      var r0 = Math.min(radiusExtent[0], radiusExtent[1]);
+      var r1 = Math.max(radiusExtent[0], radiusExtent[1]);
+      var clockwise = angleAxisModel.get("clockwise");
+      for (var i2 = 1; i2 < ticksAngles.length; i2++) {
+        var colorIndex = lineCount++ % areaColors.length;
+        splitAreas[colorIndex] = splitAreas[colorIndex] || [];
+        splitAreas[colorIndex].push(new graphic2.Sector({
+          shape: {
+            cx: polar2.cx,
+            cy: polar2.cy,
+            r0,
+            r: r1,
+            startAngle: prevAngle,
+            endAngle: -ticksAngles[i2].coord * RADIAN2,
+            clockwise
+          },
+          silent: true
+        }));
+        prevAngle = -ticksAngles[i2].coord * RADIAN2;
+      }
+      for (var i2 = 0; i2 < splitAreas.length; i2++) {
+        this.group.add(graphic2.mergePath(splitAreas[i2], {
+          style: zrUtil2.defaults({
+            fill: areaColors[i2 % areaColors.length]
+          }, areaStyleModel.getAreaStyle()),
+          silent: true
+        }));
+      }
+    }
+  });
+  AngleAxisView$2 = _default68;
+  return AngleAxisView$2;
+}
+var hasRequiredAngleAxis;
+function requireAngleAxis() {
+  if (hasRequiredAngleAxis)
+    return angleAxis;
+  hasRequiredAngleAxis = 1;
+  requirePolarCreator();
+  requireAngleAxisView();
+  return angleAxis;
+}
+var radiusAxis = {};
+var RadiusAxisView$2;
+var hasRequiredRadiusAxisView;
+function requireRadiusAxisView() {
+  if (hasRequiredRadiusAxisView)
+    return RadiusAxisView$2;
+  hasRequiredRadiusAxisView = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var AxisBuilder2 = requireAxisBuilder();
+  var AxisView2 = requireAxisView();
+  var axisBuilderAttrs2 = ["axisLine", "axisTickLabel", "axisName"];
+  var selfBuilderAttrs2 = ["splitLine", "splitArea", "minorSplitLine"];
+  var _default68 = AxisView2.extend({
+    type: "radiusAxis",
+    axisPointerClass: "PolarAxisPointer",
+    render: function(radiusAxisModel, ecModel) {
+      this.group.removeAll();
+      if (!radiusAxisModel.get("show")) {
+        return;
+      }
+      var radiusAxis2 = radiusAxisModel.axis;
+      var polar2 = radiusAxis2.polar;
+      var angleAxis2 = polar2.getAngleAxis();
+      var ticksCoords = radiusAxis2.getTicksCoords();
+      var minorTicksCoords = radiusAxis2.getMinorTicksCoords();
+      var axisAngle = angleAxis2.getExtent()[0];
+      var radiusExtent = radiusAxis2.getExtent();
+      var layout2 = layoutAxis2(polar2, radiusAxisModel, axisAngle);
+      var axisBuilder = new AxisBuilder2(radiusAxisModel, layout2);
+      zrUtil2.each(axisBuilderAttrs2, axisBuilder.add, axisBuilder);
+      this.group.add(axisBuilder.getGroup());
+      zrUtil2.each(selfBuilderAttrs2, function(name2) {
+        if (radiusAxisModel.get(name2 + ".show") && !radiusAxis2.scale.isBlank()) {
+          this["_" + name2](radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);
+        }
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _splitLine: function(radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords) {
+      var splitLineModel = radiusAxisModel.getModel("splitLine");
+      var lineStyleModel = splitLineModel.getModel("lineStyle");
+      var lineColors = lineStyleModel.get("color");
+      var lineCount = 0;
+      lineColors = lineColors instanceof Array ? lineColors : [lineColors];
+      var splitLines = [];
+      for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+        var colorIndex = lineCount++ % lineColors.length;
+        splitLines[colorIndex] = splitLines[colorIndex] || [];
+        splitLines[colorIndex].push(new graphic2.Circle({
+          shape: {
+            cx: polar2.cx,
+            cy: polar2.cy,
+            r: ticksCoords[i2].coord
+          }
+        }));
+      }
+      for (var i2 = 0; i2 < splitLines.length; i2++) {
+        this.group.add(graphic2.mergePath(splitLines[i2], {
+          style: zrUtil2.defaults({
+            stroke: lineColors[i2 % lineColors.length],
+            fill: null
+          }, lineStyleModel.getLineStyle()),
+          silent: true
+        }));
+      }
+    },
+    /**
+     * @private
+     */
+    _minorSplitLine: function(radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords, minorTicksCoords) {
+      if (!minorTicksCoords.length) {
+        return;
+      }
+      var minorSplitLineModel = radiusAxisModel.getModel("minorSplitLine");
+      var lineStyleModel = minorSplitLineModel.getModel("lineStyle");
+      var lines2 = [];
+      for (var i2 = 0; i2 < minorTicksCoords.length; i2++) {
+        for (var k2 = 0; k2 < minorTicksCoords[i2].length; k2++) {
+          lines2.push(new graphic2.Circle({
+            shape: {
+              cx: polar2.cx,
+              cy: polar2.cy,
+              r: minorTicksCoords[i2][k2].coord
+            }
+          }));
+        }
+      }
+      this.group.add(graphic2.mergePath(lines2, {
+        style: zrUtil2.defaults({
+          fill: null
+        }, lineStyleModel.getLineStyle()),
+        silent: true
+      }));
+    },
+    /**
+     * @private
+     */
+    _splitArea: function(radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords) {
+      if (!ticksCoords.length) {
+        return;
+      }
+      var splitAreaModel = radiusAxisModel.getModel("splitArea");
+      var areaStyleModel = splitAreaModel.getModel("areaStyle");
+      var areaColors = areaStyleModel.get("color");
+      var lineCount = 0;
+      areaColors = areaColors instanceof Array ? areaColors : [areaColors];
+      var splitAreas = [];
+      var prevRadius = ticksCoords[0].coord;
+      for (var i2 = 1; i2 < ticksCoords.length; i2++) {
+        var colorIndex = lineCount++ % areaColors.length;
+        splitAreas[colorIndex] = splitAreas[colorIndex] || [];
+        splitAreas[colorIndex].push(new graphic2.Sector({
+          shape: {
+            cx: polar2.cx,
+            cy: polar2.cy,
+            r0: prevRadius,
+            r: ticksCoords[i2].coord,
+            startAngle: 0,
+            endAngle: Math.PI * 2
+          },
+          silent: true
+        }));
+        prevRadius = ticksCoords[i2].coord;
+      }
+      for (var i2 = 0; i2 < splitAreas.length; i2++) {
+        this.group.add(graphic2.mergePath(splitAreas[i2], {
+          style: zrUtil2.defaults({
+            fill: areaColors[i2 % areaColors.length]
+          }, areaStyleModel.getAreaStyle()),
+          silent: true
+        }));
+      }
+    }
+  });
+  function layoutAxis2(polar2, radiusAxisModel, axisAngle) {
+    return {
+      position: [polar2.cx, polar2.cy],
+      rotation: axisAngle / 180 * Math.PI,
+      labelDirection: -1,
+      tickDirection: -1,
+      nameDirection: 1,
+      labelRotate: radiusAxisModel.getModel("axisLabel").get("rotate"),
+      // Over splitLine and splitArea
+      z2: 1
+    };
+  }
+  RadiusAxisView$2 = _default68;
+  return RadiusAxisView$2;
+}
+var hasRequiredRadiusAxis;
+function requireRadiusAxis() {
+  if (hasRequiredRadiusAxis)
+    return radiusAxis;
+  hasRequiredRadiusAxis = 1;
+  requirePolarCreator();
+  requireRadiusAxisView();
+  return radiusAxis;
+}
+var PolarAxisPointer_1;
+var hasRequiredPolarAxisPointer;
+function requirePolarAxisPointer() {
+  if (hasRequiredPolarAxisPointer)
+    return PolarAxisPointer_1;
+  hasRequiredPolarAxisPointer = 1;
+  var formatUtil2 = format$6;
+  var BaseAxisPointer2 = requireBaseAxisPointer();
+  var graphic2 = graphic$6;
+  var viewHelper2 = requireViewHelper();
+  var matrix2 = matrix$5;
+  var AxisBuilder2 = requireAxisBuilder();
+  var AxisView2 = requireAxisView();
+  var PolarAxisPointer2 = BaseAxisPointer2.extend({
+    /**
+     * @override
+     */
+    makeElOption: function(elOption, value, axisModel, axisPointerModel, api2) {
+      var axis2 = axisModel.axis;
+      if (axis2.dim === "angle") {
+        this.animationThreshold = Math.PI / 18;
+      }
+      var polar2 = axis2.polar;
+      var otherAxis = polar2.getOtherAxis(axis2);
+      var otherExtent = otherAxis.getExtent();
+      var coordValue;
+      coordValue = axis2["dataTo" + formatUtil2.capitalFirst(axis2.dim)](value);
+      var axisPointerType = axisPointerModel.get("type");
+      if (axisPointerType && axisPointerType !== "none") {
+        var elStyle = viewHelper2.buildElStyle(axisPointerModel);
+        var pointerOption = pointerShapeBuilder2[axisPointerType](axis2, polar2, coordValue, otherExtent, elStyle);
+        pointerOption.style = elStyle;
+        elOption.graphicKey = pointerOption.type;
+        elOption.pointer = pointerOption;
+      }
+      var labelMargin = axisPointerModel.get("label.margin");
+      var labelPos = getLabelPosition2(value, axisModel, axisPointerModel, polar2, labelMargin);
+      viewHelper2.buildLabelElOption(elOption, axisModel, axisPointerModel, api2, labelPos);
+    }
+    // Do not support handle, utill any user requires it.
+  });
+  function getLabelPosition2(value, axisModel, axisPointerModel, polar2, labelMargin) {
+    var axis2 = axisModel.axis;
+    var coord = axis2.dataToCoord(value);
+    var axisAngle = polar2.getAngleAxis().getExtent()[0];
+    axisAngle = axisAngle / 180 * Math.PI;
+    var radiusExtent = polar2.getRadiusAxis().getExtent();
+    var position2;
+    var align;
+    var verticalAlign;
+    if (axis2.dim === "radius") {
+      var transform3 = matrix2.create();
+      matrix2.rotate(transform3, transform3, axisAngle);
+      matrix2.translate(transform3, transform3, [polar2.cx, polar2.cy]);
+      position2 = graphic2.applyTransform([coord, -labelMargin], transform3);
+      var labelRotation = axisModel.getModel("axisLabel").get("rotate") || 0;
+      var labelLayout2 = AxisBuilder2.innerTextLayout(axisAngle, labelRotation * Math.PI / 180, -1);
+      align = labelLayout2.textAlign;
+      verticalAlign = labelLayout2.textVerticalAlign;
+    } else {
+      var r2 = radiusExtent[1];
+      position2 = polar2.coordToPoint([r2 + labelMargin, coord]);
+      var cx = polar2.cx;
+      var cy = polar2.cy;
+      align = Math.abs(position2[0] - cx) / r2 < 0.3 ? "center" : position2[0] > cx ? "left" : "right";
+      verticalAlign = Math.abs(position2[1] - cy) / r2 < 0.3 ? "middle" : position2[1] > cy ? "top" : "bottom";
+    }
+    return {
+      position: position2,
+      align,
+      verticalAlign
+    };
+  }
+  var pointerShapeBuilder2 = {
+    line: function(axis2, polar2, coordValue, otherExtent, elStyle) {
+      return axis2.dim === "angle" ? {
+        type: "Line",
+        shape: viewHelper2.makeLineShape(polar2.coordToPoint([otherExtent[0], coordValue]), polar2.coordToPoint([otherExtent[1], coordValue]))
+      } : {
+        type: "Circle",
+        shape: {
+          cx: polar2.cx,
+          cy: polar2.cy,
+          r: coordValue
+        }
+      };
+    },
+    shadow: function(axis2, polar2, coordValue, otherExtent, elStyle) {
+      var bandWidth = Math.max(1, axis2.getBandWidth());
+      var radian = Math.PI / 180;
+      return axis2.dim === "angle" ? {
+        type: "Sector",
+        shape: viewHelper2.makeSectorShape(
+          polar2.cx,
+          polar2.cy,
+          otherExtent[0],
+          otherExtent[1],
+          // In ECharts y is negative if angle is positive
+          (-coordValue - bandWidth / 2) * radian,
+          (-coordValue + bandWidth / 2) * radian
+        )
+      } : {
+        type: "Sector",
+        shape: viewHelper2.makeSectorShape(polar2.cx, polar2.cy, coordValue - bandWidth / 2, coordValue + bandWidth / 2, 0, Math.PI * 2)
+      };
+    }
+  };
+  AxisView2.registerAxisPointerClass("PolarAxisPointer", PolarAxisPointer2);
+  var _default68 = PolarAxisPointer2;
+  PolarAxisPointer_1 = _default68;
+  return PolarAxisPointer_1;
+}
+var hasRequiredPolar;
+function requirePolar() {
+  if (hasRequiredPolar)
+    return polar;
+  hasRequiredPolar = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var barPolar2 = requireBarPolar();
+  requirePolarCreator();
+  requireAngleAxis();
+  requireRadiusAxis();
+  requireAxisPointer();
+  requirePolarAxisPointer();
+  echarts2.registerLayout(zrUtil2.curry(barPolar2, "bar"));
+  echarts2.extendComponentView({
+    type: "polar"
+  });
+  return polar;
+}
+var geo = {};
+var GeoModel_1;
+var hasRequiredGeoModel;
+function requireGeoModel() {
+  if (hasRequiredGeoModel)
+    return GeoModel_1;
+  hasRequiredGeoModel = 1;
+  var zrUtil2 = util$a;
+  var modelUtil2 = model;
+  var ComponentModel2 = Component$1;
+  var Model2 = Model_1;
+  var selectableMixin2 = requireSelectableMixin();
+  var geoCreator2 = requireGeoCreator();
+  var GeoModel2 = ComponentModel2.extend({
+    type: "geo",
+    /**
+     * @type {module:echarts/coord/geo/Geo}
+     */
+    coordinateSystem: null,
+    layoutMode: "box",
+    init: function(option) {
+      ComponentModel2.prototype.init.apply(this, arguments);
+      modelUtil2.defaultEmphasis(option, "label", ["show"]);
+    },
+    optionUpdated: function() {
+      var option = this.option;
+      var self2 = this;
+      option.regions = geoCreator2.getFilledRegions(option.regions, option.map, option.nameMap);
+      this._optionModelMap = zrUtil2.reduce(option.regions || [], function(optionModelMap, regionOpt) {
+        if (regionOpt.name) {
+          optionModelMap.set(regionOpt.name, new Model2(regionOpt, self2));
+        }
+        return optionModelMap;
+      }, zrUtil2.createHashMap());
+      this.updateSelectedMap(option.regions);
+    },
+    defaultOption: {
+      zlevel: 0,
+      z: 0,
+      show: true,
+      left: "center",
+      top: "center",
+      // width:,
+      // height:,
+      // right
+      // bottom
+      // Aspect is width / height. Inited to be geoJson bbox aspect
+      // This parameter is used for scale this aspect
+      // If svg used, aspectScale is 1 by default.
+      // aspectScale: 0.75,
+      aspectScale: null,
+      ///// Layout with center and size
+      // If you wan't to put map in a fixed size box with right aspect ratio
+      // This two properties may more conveninet
+      // layoutCenter: [50%, 50%]
+      // layoutSize: 100
+      silent: false,
+      // Map type
+      map: "",
+      // Define left-top, right-bottom coords to control view
+      // For example, [ [180, 90], [-180, -90] ]
+      boundingCoords: null,
+      // Default on center of map
+      center: null,
+      zoom: 1,
+      scaleLimit: null,
+      // selectedMode: false
+      label: {
+        show: false,
+        color: "#000"
+      },
+      itemStyle: {
+        // color: 各异,
+        borderWidth: 0.5,
+        borderColor: "#444",
+        color: "#eee"
+      },
+      emphasis: {
+        label: {
+          show: true,
+          color: "rgb(100,0,0)"
+        },
+        itemStyle: {
+          color: "rgba(255,215,0,0.8)"
+        }
+      },
+      regions: []
+    },
+    /**
+     * Get model of region
+     * @param  {string} name
+     * @return {module:echarts/model/Model}
+     */
+    getRegionModel: function(name2) {
+      return this._optionModelMap.get(name2) || new Model2(null, this, this.ecModel);
+    },
+    /**
+     * Format label
+     * @param {string} name Region name
+     * @param {string} [status='normal'] 'normal' or 'emphasis'
+     * @return {string}
+     */
+    getFormattedLabel: function(name2, status) {
+      status = status || "normal";
+      var regionModel = this.getRegionModel(name2);
+      var formatter = regionModel.get((status === "normal" ? "" : status + ".") + "label.formatter");
+      var params2 = {
+        name: name2
+      };
+      if (typeof formatter === "function") {
+        params2.status = status;
+        return formatter(params2);
+      } else if (typeof formatter === "string") {
+        return formatter.replace("{a}", name2 != null ? name2 : "");
+      }
+    },
+    setZoom: function(zoom) {
+      this.option.zoom = zoom;
+    },
+    setCenter: function(center2) {
+      this.option.center = center2;
+    }
+  });
+  zrUtil2.mixin(GeoModel2, selectableMixin2);
+  var _default68 = GeoModel2;
+  GeoModel_1 = _default68;
+  return GeoModel_1;
+}
+var GeoView$2;
+var hasRequiredGeoView;
+function requireGeoView() {
+  if (hasRequiredGeoView)
+    return GeoView$2;
+  hasRequiredGeoView = 1;
+  var MapDraw2 = requireMapDraw();
+  var echarts2 = echarts$1;
+  var _default68 = echarts2.extendComponentView({
+    type: "geo",
+    init: function(ecModel, api2) {
+      var mapDraw = new MapDraw2(api2, true);
+      this._mapDraw = mapDraw;
+      this.group.add(mapDraw.group);
+    },
+    render: function(geoModel, ecModel, api2, payload) {
+      if (payload && payload.type === "geoToggleSelect" && payload.from === this.uid) {
+        return;
+      }
+      var mapDraw = this._mapDraw;
+      if (geoModel.get("show")) {
+        mapDraw.draw(geoModel, ecModel, api2, this, payload);
+      } else {
+        this._mapDraw.group.removeAll();
+      }
+      this.group.silent = geoModel.get("silent");
+    },
+    dispose: function() {
+      this._mapDraw && this._mapDraw.remove();
+    }
+  });
+  GeoView$2 = _default68;
+  return GeoView$2;
+}
+var hasRequiredGeo;
+function requireGeo() {
+  if (hasRequiredGeo)
+    return geo;
+  hasRequiredGeo = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  requireGeoModel();
+  requireGeoCreator();
+  requireGeoView();
+  requireGeoRoam();
+  function makeAction(method, actionInfo2) {
+    actionInfo2.update = "updateView";
+    echarts2.registerAction(actionInfo2, function(payload, ecModel) {
+      var selected = {};
+      ecModel.eachComponent({
+        mainType: "geo",
+        query: payload
+      }, function(geoModel) {
+        geoModel[method](payload.name);
+        var geo2 = geoModel.coordinateSystem;
+        zrUtil2.each(geo2.regions, function(region) {
+          selected[region.name] = geoModel.isSelected(region.name) || false;
+        });
+      });
+      return {
+        selected,
+        name: payload.name
+      };
+    });
+  }
+  makeAction("toggleSelected", {
+    type: "geoToggleSelect",
+    event: "geoselectchanged"
+  });
+  makeAction("select", {
+    type: "geoSelect",
+    event: "geoselected"
+  });
+  makeAction("unSelect", {
+    type: "geoUnSelect",
+    event: "geounselected"
+  });
+  return geo;
+}
+var calendar = {};
+var Calendar_1;
+var hasRequiredCalendar$1;
+function requireCalendar$1() {
+  if (hasRequiredCalendar$1)
+    return Calendar_1;
+  hasRequiredCalendar$1 = 1;
+  var zrUtil2 = util$a;
+  var layout2 = layout$5;
+  var numberUtil2 = requireNumber();
+  var CoordinateSystem2 = CoordinateSystem$1;
+  var PROXIMATE_ONE_DAY2 = 864e5;
+  function Calendar2(calendarModel, ecModel, api2) {
+    this._model = calendarModel;
+  }
+  Calendar2.prototype = {
+    constructor: Calendar2,
+    type: "calendar",
+    dimensions: ["time", "value"],
+    // Required in createListFromData
+    getDimensionsInfo: function() {
+      return [{
+        name: "time",
+        type: "time"
+      }, "value"];
+    },
+    getRangeInfo: function() {
+      return this._rangeInfo;
+    },
+    getModel: function() {
+      return this._model;
+    },
+    getRect: function() {
+      return this._rect;
+    },
+    getCellWidth: function() {
+      return this._sw;
+    },
+    getCellHeight: function() {
+      return this._sh;
+    },
+    getOrient: function() {
+      return this._orient;
+    },
+    /**
+     * getFirstDayOfWeek
+     *
+     * @example
+     *     0 : start at Sunday
+     *     1 : start at Monday
+     *
+     * @return {number}
+     */
+    getFirstDayOfWeek: function() {
+      return this._firstDayOfWeek;
+    },
+    /**
+     * get date info
+     *
+     * @param  {string|number} date date
+     * @return {Object}
+     * {
+     *      y: string, local full year, eg., '1940',
+     *      m: string, local month, from '01' ot '12',
+     *      d: string, local date, from '01' to '31' (if exists),
+     *      day: It is not date.getDay(). It is the location of the cell in a week, from 0 to 6,
+     *      time: timestamp,
+     *      formatedDate: string, yyyy-MM-dd,
+     *      date: original date object.
+     * }
+     */
+    getDateInfo: function(date) {
+      date = numberUtil2.parseDate(date);
+      var y2 = date.getFullYear();
+      var m2 = date.getMonth() + 1;
+      m2 = m2 < 10 ? "0" + m2 : m2;
+      var d2 = date.getDate();
+      d2 = d2 < 10 ? "0" + d2 : d2;
+      var day = date.getDay();
+      day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);
+      return {
+        y: y2,
+        m: m2,
+        d: d2,
+        day,
+        time: date.getTime(),
+        formatedDate: y2 + "-" + m2 + "-" + d2,
+        date
+      };
+    },
+    getNextNDay: function(date, n2) {
+      n2 = n2 || 0;
+      if (n2 === 0) {
+        return this.getDateInfo(date);
+      }
+      date = new Date(this.getDateInfo(date).time);
+      date.setDate(date.getDate() + n2);
+      return this.getDateInfo(date);
+    },
+    update: function(ecModel, api2) {
+      this._firstDayOfWeek = +this._model.getModel("dayLabel").get("firstDay");
+      this._orient = this._model.get("orient");
+      this._lineWidth = this._model.getModel("itemStyle").getItemStyle().lineWidth || 0;
+      this._rangeInfo = this._getRangeInfo(this._initRangeOption());
+      var weeks2 = this._rangeInfo.weeks || 1;
+      var whNames = ["width", "height"];
+      var cellSize = this._model.get("cellSize").slice();
+      var layoutParams = this._model.getBoxLayoutParams();
+      var cellNumbers = this._orient === "horizontal" ? [weeks2, 7] : [7, weeks2];
+      zrUtil2.each([0, 1], function(idx) {
+        if (cellSizeSpecified(cellSize, idx)) {
+          layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];
+        }
+      });
+      var whGlobal = {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      };
+      var calendarRect = this._rect = layout2.getLayoutRect(layoutParams, whGlobal);
+      zrUtil2.each([0, 1], function(idx) {
+        if (!cellSizeSpecified(cellSize, idx)) {
+          cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];
+        }
+      });
+      function cellSizeSpecified(cellSize2, idx) {
+        return cellSize2[idx] != null && cellSize2[idx] !== "auto";
+      }
+      this._sw = cellSize[0];
+      this._sh = cellSize[1];
+    },
+    /**
+     * Convert a time data(time, value) item to (x, y) point.
+     *
+     * @override
+     * @param  {Array|number} data data
+     * @param  {boolean} [clamp=true] out of range
+     * @return {Array} point
+     */
+    dataToPoint: function(data2, clamp2) {
+      zrUtil2.isArray(data2) && (data2 = data2[0]);
+      clamp2 == null && (clamp2 = true);
+      var dayInfo = this.getDateInfo(data2);
+      var range2 = this._rangeInfo;
+      var date = dayInfo.formatedDate;
+      if (clamp2 && !(dayInfo.time >= range2.start.time && dayInfo.time < range2.end.time + PROXIMATE_ONE_DAY2)) {
+        return [NaN, NaN];
+      }
+      var week = dayInfo.day;
+      var nthWeek = this._getRangeInfo([range2.start.time, date]).nthWeek;
+      if (this._orient === "vertical") {
+        return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];
+      }
+      return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];
+    },
+    /**
+     * Convert a (x, y) point to time data
+     *
+     * @override
+     * @param  {string} point point
+     * @return {string}       data
+     */
+    pointToData: function(point) {
+      var date = this.pointToDate(point);
+      return date && date.time;
+    },
+    /**
+     * Convert a time date item to (x, y) four point.
+     *
+     * @param  {Array} data  date[0] is date
+     * @param  {boolean} [clamp=true]  out of range
+     * @return {Object}       point
+     */
+    dataToRect: function(data2, clamp2) {
+      var point = this.dataToPoint(data2, clamp2);
+      return {
+        contentShape: {
+          x: point[0] - (this._sw - this._lineWidth) / 2,
+          y: point[1] - (this._sh - this._lineWidth) / 2,
+          width: this._sw - this._lineWidth,
+          height: this._sh - this._lineWidth
+        },
+        center: point,
+        tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],
+        tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],
+        br: [point[0] + this._sw / 2, point[1] + this._sh / 2],
+        bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]
+      };
+    },
+    /**
+     * Convert a (x, y) point to time date
+     *
+     * @param  {Array} point point
+     * @return {Object}       date
+     */
+    pointToDate: function(point) {
+      var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;
+      var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;
+      var range2 = this._rangeInfo.range;
+      if (this._orient === "vertical") {
+        return this._getDateByWeeksAndDay(nthY, nthX - 1, range2);
+      }
+      return this._getDateByWeeksAndDay(nthX, nthY - 1, range2);
+    },
+    /**
+     * @inheritDoc
+     */
+    convertToPixel: zrUtil2.curry(doConvert, "dataToPoint"),
+    /**
+     * @inheritDoc
+     */
+    convertFromPixel: zrUtil2.curry(doConvert, "pointToData"),
+    /**
+     * initRange
+     *
+     * @private
+     * @return {Array} [start, end]
+     */
+    _initRangeOption: function() {
+      var range2 = this._model.get("range");
+      var rg = range2;
+      if (zrUtil2.isArray(rg) && rg.length === 1) {
+        rg = rg[0];
+      }
+      if (/^\d{4}$/.test(rg)) {
+        range2 = [rg + "-01-01", rg + "-12-31"];
+      }
+      if (/^\d{4}[\/|-]\d{1,2}$/.test(rg)) {
+        var start2 = this.getDateInfo(rg);
+        var firstDay = start2.date;
+        firstDay.setMonth(firstDay.getMonth() + 1);
+        var end2 = this.getNextNDay(firstDay, -1);
+        range2 = [start2.formatedDate, end2.formatedDate];
+      }
+      if (/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(rg)) {
+        range2 = [rg, rg];
+      }
+      var tmp = this._getRangeInfo(range2);
+      if (tmp.start.time > tmp.end.time) {
+        range2.reverse();
+      }
+      return range2;
+    },
+    /**
+     * range info
+     *
+     * @private
+     * @param  {Array} range range ['2017-01-01', '2017-07-08']
+     *  If range[0] > range[1], they will not be reversed.
+     * @return {Object}       obj
+     */
+    _getRangeInfo: function(range2) {
+      range2 = [this.getDateInfo(range2[0]), this.getDateInfo(range2[1])];
+      var reversed;
+      if (range2[0].time > range2[1].time) {
+        reversed = true;
+        range2.reverse();
+      }
+      var allDay = Math.floor(range2[1].time / PROXIMATE_ONE_DAY2) - Math.floor(range2[0].time / PROXIMATE_ONE_DAY2) + 1;
+      var date = new Date(range2[0].time);
+      var startDateNum = date.getDate();
+      var endDateNum = range2[1].date.getDate();
+      date.setDate(startDateNum + allDay - 1);
+      var dateNum = date.getDate();
+      if (dateNum !== endDateNum) {
+        var sign = date.getTime() - range2[1].time > 0 ? 1 : -1;
+        while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - range2[1].time) * sign > 0) {
+          allDay -= sign;
+          date.setDate(dateNum - sign);
+        }
+      }
+      var weeks2 = Math.floor((allDay + range2[0].day + 6) / 7);
+      var nthWeek = reversed ? -weeks2 + 1 : weeks2 - 1;
+      reversed && range2.reverse();
+      return {
+        range: [range2[0].formatedDate, range2[1].formatedDate],
+        start: range2[0],
+        end: range2[1],
+        allDay,
+        weeks: weeks2,
+        // From 0.
+        nthWeek,
+        fweek: range2[0].day,
+        lweek: range2[1].day
+      };
+    },
+    /**
+     * get date by nthWeeks and week day in range
+     *
+     * @private
+     * @param  {number} nthWeek the week
+     * @param  {number} day   the week day
+     * @param  {Array} range [d1, d2]
+     * @return {Object}
+     */
+    _getDateByWeeksAndDay: function(nthWeek, day, range2) {
+      var rangeInfo = this._getRangeInfo(range2);
+      if (nthWeek > rangeInfo.weeks || nthWeek === 0 && day < rangeInfo.fweek || nthWeek === rangeInfo.weeks && day > rangeInfo.lweek) {
+        return false;
+      }
+      var nthDay = (nthWeek - 1) * 7 - rangeInfo.fweek + day;
+      var date = new Date(rangeInfo.start.time);
+      date.setDate(rangeInfo.start.d + nthDay);
+      return this.getDateInfo(date);
+    }
+  };
+  Calendar2.dimensions = Calendar2.prototype.dimensions;
+  Calendar2.getDimensionsInfo = Calendar2.prototype.getDimensionsInfo;
+  Calendar2.create = function(ecModel, api2) {
+    var calendarList = [];
+    ecModel.eachComponent("calendar", function(calendarModel) {
+      var calendar2 = new Calendar2(calendarModel);
+      calendarList.push(calendar2);
+      calendarModel.coordinateSystem = calendar2;
+    });
+    ecModel.eachSeries(function(calendarSeries) {
+      if (calendarSeries.get("coordinateSystem") === "calendar") {
+        calendarSeries.coordinateSystem = calendarList[calendarSeries.get("calendarIndex") || 0];
+      }
+    });
+    return calendarList;
+  };
+  function doConvert(methodName, ecModel, finder, value) {
+    var calendarModel = finder.calendarModel;
+    var seriesModel = finder.seriesModel;
+    var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;
+    return coordSys === this ? coordSys[methodName](value) : null;
+  }
+  CoordinateSystem2.register("calendar", Calendar2);
+  var _default68 = Calendar2;
+  Calendar_1 = _default68;
+  return Calendar_1;
+}
+var CalendarModel_1;
+var hasRequiredCalendarModel;
+function requireCalendarModel() {
+  if (hasRequiredCalendarModel)
+    return CalendarModel_1;
+  hasRequiredCalendarModel = 1;
+  var zrUtil2 = util$a;
+  var ComponentModel2 = Component$1;
+  var _layout2 = layout$5;
+  var getLayoutParams2 = _layout2.getLayoutParams;
+  var sizeCalculable2 = _layout2.sizeCalculable;
+  var mergeLayoutParam2 = _layout2.mergeLayoutParam;
+  var CalendarModel2 = ComponentModel2.extend({
+    type: "calendar",
+    /**
+     * @type {module:echarts/coord/calendar/Calendar}
+     */
+    coordinateSystem: null,
+    defaultOption: {
+      zlevel: 0,
+      z: 2,
+      left: 80,
+      top: 60,
+      cellSize: 20,
+      // horizontal vertical
+      orient: "horizontal",
+      // month separate line style
+      splitLine: {
+        show: true,
+        lineStyle: {
+          color: "#000",
+          width: 1,
+          type: "solid"
+        }
+      },
+      // rect style  temporarily unused emphasis
+      itemStyle: {
+        color: "#fff",
+        borderWidth: 1,
+        borderColor: "#ccc"
+      },
+      // week text style
+      dayLabel: {
+        show: true,
+        // a week first day
+        firstDay: 0,
+        // start end
+        position: "start",
+        margin: "50%",
+        // 50% of cellSize
+        nameMap: "en",
+        color: "#000"
+      },
+      // month text style
+      monthLabel: {
+        show: true,
+        // start end
+        position: "start",
+        margin: 5,
+        // center or left
+        align: "center",
+        // cn en []
+        nameMap: "en",
+        formatter: null,
+        color: "#000"
+      },
+      // year text style
+      yearLabel: {
+        show: true,
+        // top bottom left right
+        position: null,
+        margin: 30,
+        formatter: null,
+        color: "#ccc",
+        fontFamily: "sans-serif",
+        fontWeight: "bolder",
+        fontSize: 20
+      }
+    },
+    /**
+     * @override
+     */
+    init: function(option, parentModel, ecModel, extraOpt) {
+      var inputPositionParams = getLayoutParams2(option);
+      CalendarModel2.superApply(this, "init", arguments);
+      mergeAndNormalizeLayoutParams2(option, inputPositionParams);
+    },
+    /**
+     * @override
+     */
+    mergeOption: function(option, extraOpt) {
+      CalendarModel2.superApply(this, "mergeOption", arguments);
+      mergeAndNormalizeLayoutParams2(this.option, option);
+    }
+  });
+  function mergeAndNormalizeLayoutParams2(target, raw) {
+    var cellSize = target.cellSize;
+    if (!zrUtil2.isArray(cellSize)) {
+      cellSize = target.cellSize = [cellSize, cellSize];
+    } else if (cellSize.length === 1) {
+      cellSize[1] = cellSize[0];
+    }
+    var ignoreSize = zrUtil2.map([0, 1], function(hvIdx) {
+      if (sizeCalculable2(raw, hvIdx)) {
+        cellSize[hvIdx] = "auto";
+      }
+      return cellSize[hvIdx] != null && cellSize[hvIdx] !== "auto";
+    });
+    mergeLayoutParam2(target, raw, {
+      type: "box",
+      ignoreSize
+    });
+  }
+  var _default68 = CalendarModel2;
+  CalendarModel_1 = _default68;
+  return CalendarModel_1;
+}
+var CalendarView$2;
+var hasRequiredCalendarView;
+function requireCalendarView() {
+  if (hasRequiredCalendarView)
+    return CalendarView$2;
+  hasRequiredCalendarView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var formatUtil2 = format$6;
+  var numberUtil2 = requireNumber();
+  var MONTH_TEXT = {
+    EN: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+    CN: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
+  };
+  var WEEK_TEXT = {
+    EN: ["S", "M", "T", "W", "T", "F", "S"],
+    CN: ["日", "一", "二", "三", "四", "五", "六"]
+  };
+  var _default68 = echarts2.extendComponentView({
+    type: "calendar",
+    /**
+     * top/left line points
+     *  @private
+     */
+    _tlpoints: null,
+    /**
+     * bottom/right line points
+     *  @private
+     */
+    _blpoints: null,
+    /**
+     * first day of month
+     *  @private
+     */
+    _firstDayOfMonth: null,
+    /**
+     * first day point of month
+     *  @private
+     */
+    _firstDayPoints: null,
+    render: function(calendarModel, ecModel, api2) {
+      var group = this.group;
+      group.removeAll();
+      var coordSys = calendarModel.coordinateSystem;
+      var rangeData = coordSys.getRangeInfo();
+      var orient = coordSys.getOrient();
+      this._renderDayRect(calendarModel, rangeData, group);
+      this._renderLines(calendarModel, rangeData, orient, group);
+      this._renderYearText(calendarModel, rangeData, orient, group);
+      this._renderMonthText(calendarModel, orient, group);
+      this._renderWeekText(calendarModel, rangeData, orient, group);
+    },
+    // render day rect
+    _renderDayRect: function(calendarModel, rangeData, group) {
+      var coordSys = calendarModel.coordinateSystem;
+      var itemRectStyleModel = calendarModel.getModel("itemStyle").getItemStyle();
+      var sw = coordSys.getCellWidth();
+      var sh = coordSys.getCellHeight();
+      for (var i2 = rangeData.start.time; i2 <= rangeData.end.time; i2 = coordSys.getNextNDay(i2, 1).time) {
+        var point = coordSys.dataToRect([i2], false).tl;
+        var rect = new graphic2.Rect({
+          shape: {
+            x: point[0],
+            y: point[1],
+            width: sw,
+            height: sh
+          },
+          cursor: "default",
+          style: itemRectStyleModel
+        });
+        group.add(rect);
+      }
+    },
+    // render separate line
+    _renderLines: function(calendarModel, rangeData, orient, group) {
+      var self2 = this;
+      var coordSys = calendarModel.coordinateSystem;
+      var lineStyleModel = calendarModel.getModel("splitLine.lineStyle").getLineStyle();
+      var show2 = calendarModel.get("splitLine.show");
+      var lineWidth = lineStyleModel.lineWidth;
+      this._tlpoints = [];
+      this._blpoints = [];
+      this._firstDayOfMonth = [];
+      this._firstDayPoints = [];
+      var firstDay = rangeData.start;
+      for (var i2 = 0; firstDay.time <= rangeData.end.time; i2++) {
+        addPoints(firstDay.formatedDate);
+        if (i2 === 0) {
+          firstDay = coordSys.getDateInfo(rangeData.start.y + "-" + rangeData.start.m);
+        }
+        var date = firstDay.date;
+        date.setMonth(date.getMonth() + 1);
+        firstDay = coordSys.getDateInfo(date);
+      }
+      addPoints(coordSys.getNextNDay(rangeData.end.time, 1).formatedDate);
+      function addPoints(date2) {
+        self2._firstDayOfMonth.push(coordSys.getDateInfo(date2));
+        self2._firstDayPoints.push(coordSys.dataToRect([date2], false).tl);
+        var points2 = self2._getLinePointsOfOneWeek(calendarModel, date2, orient);
+        self2._tlpoints.push(points2[0]);
+        self2._blpoints.push(points2[points2.length - 1]);
+        show2 && self2._drawSplitline(points2, lineStyleModel, group);
+      }
+      show2 && this._drawSplitline(self2._getEdgesPoints(self2._tlpoints, lineWidth, orient), lineStyleModel, group);
+      show2 && this._drawSplitline(self2._getEdgesPoints(self2._blpoints, lineWidth, orient), lineStyleModel, group);
+    },
+    // get points at both ends
+    _getEdgesPoints: function(points2, lineWidth, orient) {
+      var rs = [points2[0].slice(), points2[points2.length - 1].slice()];
+      var idx = orient === "horizontal" ? 0 : 1;
+      rs[0][idx] = rs[0][idx] - lineWidth / 2;
+      rs[1][idx] = rs[1][idx] + lineWidth / 2;
+      return rs;
+    },
+    // render split line
+    _drawSplitline: function(points2, lineStyleModel, group) {
+      var poyline = new graphic2.Polyline({
+        z2: 20,
+        shape: {
+          points: points2
+        },
+        style: lineStyleModel
+      });
+      group.add(poyline);
+    },
+    // render month line of one week points
+    _getLinePointsOfOneWeek: function(calendarModel, date, orient) {
+      var coordSys = calendarModel.coordinateSystem;
+      date = coordSys.getDateInfo(date);
+      var points2 = [];
+      for (var i2 = 0; i2 < 7; i2++) {
+        var tmpD = coordSys.getNextNDay(date.time, i2);
+        var point = coordSys.dataToRect([tmpD.time], false);
+        points2[2 * tmpD.day] = point.tl;
+        points2[2 * tmpD.day + 1] = point[orient === "horizontal" ? "bl" : "tr"];
+      }
+      return points2;
+    },
+    _formatterLabel: function(formatter, params2) {
+      if (typeof formatter === "string" && formatter) {
+        return formatUtil2.formatTplSimple(formatter, params2);
+      }
+      if (typeof formatter === "function") {
+        return formatter(params2);
+      }
+      return params2.nameMap;
+    },
+    _yearTextPositionControl: function(textEl, point, orient, position2, margin) {
+      point = point.slice();
+      var aligns = ["center", "bottom"];
+      if (position2 === "bottom") {
+        point[1] += margin;
+        aligns = ["center", "top"];
+      } else if (position2 === "left") {
+        point[0] -= margin;
+      } else if (position2 === "right") {
+        point[0] += margin;
+        aligns = ["center", "top"];
+      } else {
+        point[1] -= margin;
+      }
+      var rotate2 = 0;
+      if (position2 === "left" || position2 === "right") {
+        rotate2 = Math.PI / 2;
+      }
+      return {
+        rotation: rotate2,
+        position: point,
+        style: {
+          textAlign: aligns[0],
+          textVerticalAlign: aligns[1]
+        }
+      };
+    },
+    // render year
+    _renderYearText: function(calendarModel, rangeData, orient, group) {
+      var yearLabel = calendarModel.getModel("yearLabel");
+      if (!yearLabel.get("show")) {
+        return;
+      }
+      var margin = yearLabel.get("margin");
+      var pos = yearLabel.get("position");
+      if (!pos) {
+        pos = orient !== "horizontal" ? "top" : "left";
+      }
+      var points2 = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]];
+      var xc = (points2[0][0] + points2[1][0]) / 2;
+      var yc = (points2[0][1] + points2[1][1]) / 2;
+      var idx = orient === "horizontal" ? 0 : 1;
+      var posPoints = {
+        top: [xc, points2[idx][1]],
+        bottom: [xc, points2[1 - idx][1]],
+        left: [points2[1 - idx][0], yc],
+        right: [points2[idx][0], yc]
+      };
+      var name2 = rangeData.start.y;
+      if (+rangeData.end.y > +rangeData.start.y) {
+        name2 = name2 + "-" + rangeData.end.y;
+      }
+      var formatter = yearLabel.get("formatter");
+      var params2 = {
+        start: rangeData.start.y,
+        end: rangeData.end.y,
+        nameMap: name2
+      };
+      var content = this._formatterLabel(formatter, params2);
+      var yearText = new graphic2.Text({
+        z2: 30
+      });
+      graphic2.setTextStyle(yearText.style, yearLabel, {
+        text: content
+      }), yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));
+      group.add(yearText);
+    },
+    _monthTextPositionControl: function(point, isCenter, orient, position2, margin) {
+      var align = "left";
+      var vAlign = "top";
+      var x2 = point[0];
+      var y2 = point[1];
+      if (orient === "horizontal") {
+        y2 = y2 + margin;
+        if (isCenter) {
+          align = "center";
+        }
+        if (position2 === "start") {
+          vAlign = "bottom";
+        }
+      } else {
+        x2 = x2 + margin;
+        if (isCenter) {
+          vAlign = "middle";
+        }
+        if (position2 === "start") {
+          align = "right";
+        }
+      }
+      return {
+        x: x2,
+        y: y2,
+        textAlign: align,
+        textVerticalAlign: vAlign
+      };
+    },
+    // render month and year text
+    _renderMonthText: function(calendarModel, orient, group) {
+      var monthLabel = calendarModel.getModel("monthLabel");
+      if (!monthLabel.get("show")) {
+        return;
+      }
+      var nameMap = monthLabel.get("nameMap");
+      var margin = monthLabel.get("margin");
+      var pos = monthLabel.get("position");
+      var align = monthLabel.get("align");
+      var termPoints = [this._tlpoints, this._blpoints];
+      if (zrUtil2.isString(nameMap)) {
+        nameMap = MONTH_TEXT[nameMap.toUpperCase()] || [];
+      }
+      var idx = pos === "start" ? 0 : 1;
+      var axis2 = orient === "horizontal" ? 0 : 1;
+      margin = pos === "start" ? -margin : margin;
+      var isCenter = align === "center";
+      for (var i2 = 0; i2 < termPoints[idx].length - 1; i2++) {
+        var tmp = termPoints[idx][i2].slice();
+        var firstDay = this._firstDayOfMonth[i2];
+        if (isCenter) {
+          var firstDayPoints = this._firstDayPoints[i2];
+          tmp[axis2] = (firstDayPoints[axis2] + termPoints[0][i2 + 1][axis2]) / 2;
+        }
+        var formatter = monthLabel.get("formatter");
+        var name2 = nameMap[+firstDay.m - 1];
+        var params2 = {
+          yyyy: firstDay.y,
+          yy: (firstDay.y + "").slice(2),
+          MM: firstDay.m,
+          M: +firstDay.m,
+          nameMap: name2
+        };
+        var content = this._formatterLabel(formatter, params2);
+        var monthText = new graphic2.Text({
+          z2: 30
+        });
+        zrUtil2.extend(graphic2.setTextStyle(monthText.style, monthLabel, {
+          text: content
+        }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin));
+        group.add(monthText);
+      }
+    },
+    _weekTextPositionControl: function(point, orient, position2, margin, cellSize) {
+      var align = "center";
+      var vAlign = "middle";
+      var x2 = point[0];
+      var y2 = point[1];
+      var isStart = position2 === "start";
+      if (orient === "horizontal") {
+        x2 = x2 + margin + (isStart ? 1 : -1) * cellSize[0] / 2;
+        align = isStart ? "right" : "left";
+      } else {
+        y2 = y2 + margin + (isStart ? 1 : -1) * cellSize[1] / 2;
+        vAlign = isStart ? "bottom" : "top";
+      }
+      return {
+        x: x2,
+        y: y2,
+        textAlign: align,
+        textVerticalAlign: vAlign
+      };
+    },
+    // render weeks
+    _renderWeekText: function(calendarModel, rangeData, orient, group) {
+      var dayLabel = calendarModel.getModel("dayLabel");
+      if (!dayLabel.get("show")) {
+        return;
+      }
+      var coordSys = calendarModel.coordinateSystem;
+      var pos = dayLabel.get("position");
+      var nameMap = dayLabel.get("nameMap");
+      var margin = dayLabel.get("margin");
+      var firstDayOfWeek = coordSys.getFirstDayOfWeek();
+      if (zrUtil2.isString(nameMap)) {
+        nameMap = WEEK_TEXT[nameMap.toUpperCase()] || [];
+      }
+      var start2 = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;
+      var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];
+      margin = numberUtil2.parsePercent(margin, cellSize[orient === "horizontal" ? 0 : 1]);
+      if (pos === "start") {
+        start2 = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;
+        margin = -margin;
+      }
+      for (var i2 = 0; i2 < 7; i2++) {
+        var tmpD = coordSys.getNextNDay(start2, i2);
+        var point = coordSys.dataToRect([tmpD.time], false).center;
+        var day = i2;
+        day = Math.abs((i2 + firstDayOfWeek) % 7);
+        var weekText = new graphic2.Text({
+          z2: 30
+        });
+        zrUtil2.extend(graphic2.setTextStyle(weekText.style, dayLabel, {
+          text: nameMap[day]
+        }), this._weekTextPositionControl(point, orient, pos, margin, cellSize));
+        group.add(weekText);
+      }
+    }
+  });
+  CalendarView$2 = _default68;
+  return CalendarView$2;
+}
+var hasRequiredCalendar;
+function requireCalendar() {
+  if (hasRequiredCalendar)
+    return calendar;
+  hasRequiredCalendar = 1;
+  requireCalendar$1();
+  requireCalendarModel();
+  requireCalendarView();
+  return calendar;
+}
+var graphic$4 = {};
+var hasRequiredGraphic$2;
+function requireGraphic$2() {
+  if (hasRequiredGraphic$2)
+    return graphic$4;
+  hasRequiredGraphic$2 = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var modelUtil2 = model;
+  var graphicUtil2 = graphic$6;
+  var layoutUtil = layout$5;
+  var _number2 = requireNumber();
+  var parsePercent2 = _number2.parsePercent;
+  var _nonShapeGraphicElements = {
+    // Reserved but not supported in graphic component.
+    path: null,
+    compoundPath: null,
+    // Supported in graphic component.
+    group: graphicUtil2.Group,
+    image: graphicUtil2.Image,
+    text: graphicUtil2.Text
+  };
+  echarts2.registerPreprocessor(function(option) {
+    var graphicOption = option.graphic;
+    if (zrUtil2.isArray(graphicOption)) {
+      if (!graphicOption[0] || !graphicOption[0].elements) {
+        option.graphic = [{
+          elements: graphicOption
+        }];
+      } else {
+        option.graphic = [option.graphic[0]];
+      }
+    } else if (graphicOption && !graphicOption.elements) {
+      option.graphic = [{
+        elements: [graphicOption]
+      }];
+    }
+  });
+  var GraphicModel = echarts2.extendComponentModel({
+    type: "graphic",
+    defaultOption: {
+      // Extra properties for each elements:
+      //
+      // left/right/top/bottom: (like 12, '22%', 'center', default undefined)
+      //      If left/rigth is set, shape.x/shape.cx/position will not be used.
+      //      If top/bottom is set, shape.y/shape.cy/position will not be used.
+      //      This mechanism is useful when you want to position a group/element
+      //      against the right side or the center of this container.
+      //
+      // width/height: (can only be pixel value, default 0)
+      //      Only be used to specify contianer(group) size, if needed. And
+      //      can not be percentage value (like '33%'). See the reason in the
+      //      layout algorithm below.
+      //
+      // bounding: (enum: 'all' (default) | 'raw')
+      //      Specify how to calculate boundingRect when locating.
+      //      'all': Get uioned and transformed boundingRect
+      //          from both itself and its descendants.
+      //          This mode simplies confining a group of elements in the bounding
+      //          of their ancester container (e.g., using 'right: 0').
+      //      'raw': Only use the boundingRect of itself and before transformed.
+      //          This mode is similar to css behavior, which is useful when you
+      //          want an element to be able to overflow its container. (Consider
+      //          a rotated circle needs to be located in a corner.)
+      // info: custom info. enables user to mount some info on elements and use them
+      //      in event handlers. Update them only when user specified, otherwise, remain.
+      // Note: elements is always behind its ancestors in this elements array.
+      elements: [],
+      parentId: null
+    },
+    /**
+     * Save el options for the sake of the performance (only update modified graphics).
+     * The order is the same as those in option. (ancesters -> descendants)
+     *
+     * @private
+     * @type {Array.<Object>}
+     */
+    _elOptionsToUpdate: null,
+    /**
+     * @override
+     */
+    mergeOption: function(option) {
+      var elements = this.option.elements;
+      this.option.elements = null;
+      GraphicModel.superApply(this, "mergeOption", arguments);
+      this.option.elements = elements;
+    },
+    /**
+     * @override
+     */
+    optionUpdated: function(newOption, isInit) {
+      var thisOption = this.option;
+      var newList = (isInit ? thisOption : newOption).elements;
+      var existList = thisOption.elements = isInit ? [] : thisOption.elements;
+      var flattenedList = [];
+      this._flatten(newList, flattenedList);
+      var mappingResult = modelUtil2.mappingToExists(existList, flattenedList);
+      modelUtil2.makeIdAndName(mappingResult);
+      var elOptionsToUpdate = this._elOptionsToUpdate = [];
+      zrUtil2.each(mappingResult, function(resultItem, index3) {
+        var newElOption = resultItem.option;
+        if (!newElOption) {
+          return;
+        }
+        elOptionsToUpdate.push(newElOption);
+        setKeyInfoToNewElOption2(resultItem, newElOption);
+        mergeNewElOptionToExist2(existList, index3, newElOption);
+        setLayoutInfoToExist2(existList[index3], newElOption);
+      }, this);
+      for (var i2 = existList.length - 1; i2 >= 0; i2--) {
+        if (existList[i2] == null) {
+          existList.splice(i2, 1);
+        } else {
+          delete existList[i2].$action;
+        }
+      }
+    },
+    /**
+     * Convert
+     * [{
+     *  type: 'group',
+     *  id: 'xx',
+     *  children: [{type: 'circle'}, {type: 'polygon'}]
+     * }]
+     * to
+     * [
+     *  {type: 'group', id: 'xx'},
+     *  {type: 'circle', parentId: 'xx'},
+     *  {type: 'polygon', parentId: 'xx'}
+     * ]
+     *
+     * @private
+     * @param {Array.<Object>} optionList option list
+     * @param {Array.<Object>} result result of flatten
+     * @param {Object} parentOption parent option
+     */
+    _flatten: function(optionList, result2, parentOption) {
+      zrUtil2.each(optionList, function(option) {
+        if (!option) {
+          return;
+        }
+        if (parentOption) {
+          option.parentOption = parentOption;
+        }
+        result2.push(option);
+        var children3 = option.children;
+        if (option.type === "group" && children3) {
+          this._flatten(children3, result2, option);
+        }
+        delete option.children;
+      }, this);
+    },
+    // FIXME
+    // Pass to view using payload? setOption has a payload?
+    useElOptionsToUpdate: function() {
+      var els = this._elOptionsToUpdate;
+      this._elOptionsToUpdate = null;
+      return els;
+    }
+  });
+  echarts2.extendComponentView({
+    type: "graphic",
+    /**
+     * @override
+     */
+    init: function(ecModel, api2) {
+      this._elMap = zrUtil2.createHashMap();
+      this._lastGraphicModel;
+    },
+    /**
+     * @override
+     */
+    render: function(graphicModel, ecModel, api2) {
+      if (graphicModel !== this._lastGraphicModel) {
+        this._clear();
+      }
+      this._lastGraphicModel = graphicModel;
+      this._updateElements(graphicModel);
+      this._relocate(graphicModel, api2);
+    },
+    /**
+     * Update graphic elements.
+     *
+     * @private
+     * @param {Object} graphicModel graphic model
+     */
+    _updateElements: function(graphicModel) {
+      var elOptionsToUpdate = graphicModel.useElOptionsToUpdate();
+      if (!elOptionsToUpdate) {
+        return;
+      }
+      var elMap = this._elMap;
+      var rootGroup = this.group;
+      zrUtil2.each(elOptionsToUpdate, function(elOption) {
+        var $action = elOption.$action;
+        var id = elOption.id;
+        var existEl = elMap.get(id);
+        var parentId = elOption.parentId;
+        var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;
+        var elOptionStyle = elOption.style;
+        if (elOption.type === "text" && elOptionStyle) {
+          if (elOption.hv && elOption.hv[1]) {
+            elOptionStyle.textVerticalAlign = elOptionStyle.textBaseline = null;
+          }
+          !elOptionStyle.hasOwnProperty("textFill") && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);
+          !elOptionStyle.hasOwnProperty("textStroke") && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);
+        }
+        var elOptionCleaned = getCleanedElOption2(elOption);
+        if (!$action || $action === "merge") {
+          existEl ? existEl.attr(elOptionCleaned) : createEl2(id, targetElParent, elOptionCleaned, elMap);
+        } else if ($action === "replace") {
+          removeEl2(existEl, elMap);
+          createEl2(id, targetElParent, elOptionCleaned, elMap);
+        } else if ($action === "remove") {
+          removeEl2(existEl, elMap);
+        }
+        var el = elMap.get(id);
+        if (el) {
+          el.__ecGraphicWidthOption = elOption.width;
+          el.__ecGraphicHeightOption = elOption.height;
+          setEventData2(el, graphicModel);
+        }
+      });
+    },
+    /**
+     * Locate graphic elements.
+     *
+     * @private
+     * @param {Object} graphicModel graphic model
+     * @param {module:echarts/ExtensionAPI} api extension API
+     */
+    _relocate: function(graphicModel, api2) {
+      var elOptions = graphicModel.option.elements;
+      var rootGroup = this.group;
+      var elMap = this._elMap;
+      var apiWidth = api2.getWidth();
+      var apiHeight = api2.getHeight();
+      for (var i2 = 0; i2 < elOptions.length; i2++) {
+        var elOption = elOptions[i2];
+        var el = elMap.get(elOption.id);
+        if (!el || !el.isGroup) {
+          continue;
+        }
+        var parentEl = el.parent;
+        var isParentRoot = parentEl === rootGroup;
+        el.__ecGraphicWidth = parsePercent2(el.__ecGraphicWidthOption, isParentRoot ? apiWidth : parentEl.__ecGraphicWidth) || 0;
+        el.__ecGraphicHeight = parsePercent2(el.__ecGraphicHeightOption, isParentRoot ? apiHeight : parentEl.__ecGraphicHeight) || 0;
+      }
+      for (var i2 = elOptions.length - 1; i2 >= 0; i2--) {
+        var elOption = elOptions[i2];
+        var el = elMap.get(elOption.id);
+        if (!el) {
+          continue;
+        }
+        var parentEl = el.parent;
+        var containerInfo = parentEl === rootGroup ? {
+          width: apiWidth,
+          height: apiHeight
+        } : {
+          width: parentEl.__ecGraphicWidth,
+          height: parentEl.__ecGraphicHeight
+        };
+        layoutUtil.positionElement(el, elOption, containerInfo, null, {
+          hv: elOption.hv,
+          boundingMode: elOption.bounding
+        });
+      }
+    },
+    /**
+     * Clear all elements.
+     *
+     * @private
+     */
+    _clear: function() {
+      var elMap = this._elMap;
+      elMap.each(function(el) {
+        removeEl2(el, elMap);
+      });
+      this._elMap = zrUtil2.createHashMap();
+    },
+    /**
+     * @override
+     */
+    dispose: function() {
+      this._clear();
+    }
+  });
+  function createEl2(id, targetElParent, elOption, elMap) {
+    var graphicType = elOption.type;
+    var Clz = _nonShapeGraphicElements.hasOwnProperty(graphicType) ? _nonShapeGraphicElements[graphicType] : graphicUtil2.getShapeClass(graphicType);
+    var el = new Clz(elOption);
+    targetElParent.add(el);
+    elMap.set(id, el);
+    el.__ecGraphicId = id;
+  }
+  function removeEl2(existEl, elMap) {
+    var existElParent = existEl && existEl.parent;
+    if (existElParent) {
+      existEl.type === "group" && existEl.traverse(function(el) {
+        removeEl2(el, elMap);
+      });
+      elMap.removeKey(existEl.__ecGraphicId);
+      existElParent.remove(existEl);
+    }
+  }
+  function getCleanedElOption2(elOption) {
+    elOption = zrUtil2.extend({}, elOption);
+    zrUtil2.each(["id", "parentId", "$action", "hv", "bounding"].concat(layoutUtil.LOCATION_PARAMS), function(name2) {
+      delete elOption[name2];
+    });
+    return elOption;
+  }
+  function isSetLoc2(obj2, props2) {
+    var isSet;
+    zrUtil2.each(props2, function(prop2) {
+      obj2[prop2] != null && obj2[prop2] !== "auto" && (isSet = true);
+    });
+    return isSet;
+  }
+  function setKeyInfoToNewElOption2(resultItem, newElOption) {
+    var existElOption = resultItem.exist;
+    newElOption.id = resultItem.keyInfo.id;
+    !newElOption.type && existElOption && (newElOption.type = existElOption.type);
+    if (newElOption.parentId == null) {
+      var newElParentOption = newElOption.parentOption;
+      if (newElParentOption) {
+        newElOption.parentId = newElParentOption.id;
+      } else if (existElOption) {
+        newElOption.parentId = existElOption.parentId;
+      }
+    }
+    newElOption.parentOption = null;
+  }
+  function mergeNewElOptionToExist2(existList, index3, newElOption) {
+    var newElOptCopy = zrUtil2.extend({}, newElOption);
+    var existElOption = existList[index3];
+    var $action = newElOption.$action || "merge";
+    if ($action === "merge") {
+      if (existElOption) {
+        zrUtil2.merge(existElOption, newElOptCopy, true);
+        layoutUtil.mergeLayoutParam(existElOption, newElOptCopy, {
+          ignoreSize: true
+        });
+        layoutUtil.copyLayoutParams(newElOption, existElOption);
+      } else {
+        existList[index3] = newElOptCopy;
+      }
+    } else if ($action === "replace") {
+      existList[index3] = newElOptCopy;
+    } else if ($action === "remove") {
+      existElOption && (existList[index3] = null);
+    }
+  }
+  function setLayoutInfoToExist2(existItem, newElOption) {
+    if (!existItem) {
+      return;
+    }
+    existItem.hv = newElOption.hv = [
+      // Rigid body, dont care `width`.
+      isSetLoc2(newElOption, ["left", "right"]),
+      // Rigid body, dont care `height`.
+      isSetLoc2(newElOption, ["top", "bottom"])
+    ];
+    if (existItem.type === "group") {
+      existItem.width == null && (existItem.width = newElOption.width = 0);
+      existItem.height == null && (existItem.height = newElOption.height = 0);
+    }
+  }
+  function setEventData2(el, graphicModel, elOption) {
+    var eventData = el.eventData;
+    if (!el.silent && !el.ignore && !eventData) {
+      eventData = el.eventData = {
+        componentType: "graphic",
+        componentIndex: graphicModel.componentIndex,
+        name: el.name
+      };
+    }
+    if (eventData) {
+      eventData.info = el.info;
+    }
+  }
+  return graphic$4;
+}
+var toolbox = {};
+var featureManager = {};
+var hasRequiredFeatureManager;
+function requireFeatureManager() {
+  if (hasRequiredFeatureManager)
+    return featureManager;
+  hasRequiredFeatureManager = 1;
+  var features2 = {};
+  function register2(name2, ctor) {
+    features2[name2] = ctor;
+  }
+  function get2(name2) {
+    return features2[name2];
+  }
+  featureManager.register = register2;
+  featureManager.get = get2;
+  return featureManager;
+}
+var ToolboxModel_1;
+var hasRequiredToolboxModel;
+function requireToolboxModel() {
+  if (hasRequiredToolboxModel)
+    return ToolboxModel_1;
+  hasRequiredToolboxModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var featureManager2 = requireFeatureManager();
+  var ToolboxModel2 = echarts2.extendComponentModel({
+    type: "toolbox",
+    layoutMode: {
+      type: "box",
+      ignoreSize: true
+    },
+    optionUpdated: function() {
+      ToolboxModel2.superApply(this, "optionUpdated", arguments);
+      zrUtil2.each(this.option.feature, function(featureOpt, featureName) {
+        var Feature = featureManager2.get(featureName);
+        Feature && zrUtil2.merge(featureOpt, Feature.defaultOption);
+      });
+    },
+    defaultOption: {
+      show: true,
+      z: 6,
+      zlevel: 0,
+      orient: "horizontal",
+      left: "right",
+      top: "top",
+      // right
+      // bottom
+      backgroundColor: "transparent",
+      borderColor: "#ccc",
+      borderRadius: 0,
+      borderWidth: 0,
+      padding: 5,
+      itemSize: 15,
+      itemGap: 8,
+      showTitle: true,
+      iconStyle: {
+        borderColor: "#666",
+        color: "none"
+      },
+      emphasis: {
+        iconStyle: {
+          borderColor: "#3E98C5"
+        }
+      },
+      // textStyle: {},
+      // feature
+      tooltip: {
+        show: false
+      }
+    }
+  });
+  var _default68 = ToolboxModel2;
+  ToolboxModel_1 = _default68;
+  return ToolboxModel_1;
+}
+var listComponent = {};
+var hasRequiredListComponent;
+function requireListComponent() {
+  if (hasRequiredListComponent)
+    return listComponent;
+  hasRequiredListComponent = 1;
+  var _layout2 = layout$5;
+  var getLayoutRect2 = _layout2.getLayoutRect;
+  var layoutBox = _layout2.box;
+  var positionElement2 = _layout2.positionElement;
+  var formatUtil2 = format$6;
+  var graphic2 = graphic$6;
+  function layout2(group, componentModel, api2) {
+    var boxLayoutParams = componentModel.getBoxLayoutParams();
+    var padding = componentModel.get("padding");
+    var viewportSize = {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    };
+    var rect = getLayoutRect2(boxLayoutParams, viewportSize, padding);
+    layoutBox(componentModel.get("orient"), group, componentModel.get("itemGap"), rect.width, rect.height);
+    positionElement2(group, boxLayoutParams, viewportSize, padding);
+  }
+  function makeBackground2(rect, componentModel) {
+    var padding = formatUtil2.normalizeCssArray(componentModel.get("padding"));
+    var style2 = componentModel.getItemStyle(["color", "opacity"]);
+    style2.fill = componentModel.get("backgroundColor");
+    var rect = new graphic2.Rect({
+      shape: {
+        x: rect.x - padding[3],
+        y: rect.y - padding[0],
+        width: rect.width + padding[1] + padding[3],
+        height: rect.height + padding[0] + padding[2],
+        r: componentModel.get("borderRadius")
+      },
+      style: style2,
+      silent: true,
+      z2: -1
+    });
+    return rect;
+  }
+  listComponent.layout = layout2;
+  listComponent.makeBackground = makeBackground2;
+  return listComponent;
+}
+var ToolboxView$2;
+var hasRequiredToolboxView;
+function requireToolboxView() {
+  if (hasRequiredToolboxView)
+    return ToolboxView$2;
+  hasRequiredToolboxView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var textContain2 = text;
+  var featureManager2 = requireFeatureManager();
+  var graphic2 = graphic$6;
+  var Model2 = Model_1;
+  var DataDiffer2 = requireDataDiffer();
+  var listComponentHelper = requireListComponent();
+  var _default68 = echarts2.extendComponentView({
+    type: "toolbox",
+    render: function(toolboxModel, ecModel, api2, payload) {
+      var group = this.group;
+      group.removeAll();
+      if (!toolboxModel.get("show")) {
+        return;
+      }
+      var itemSize = +toolboxModel.get("itemSize");
+      var featureOpts = toolboxModel.get("feature") || {};
+      var features2 = this._features || (this._features = {});
+      var featureNames = [];
+      zrUtil2.each(featureOpts, function(opt, name2) {
+        featureNames.push(name2);
+      });
+      new DataDiffer2(this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(zrUtil2.curry(processFeature, null)).execute();
+      this._featureNames = featureNames;
+      function processFeature(newIndex, oldIndex) {
+        var featureName = featureNames[newIndex];
+        var oldName = featureNames[oldIndex];
+        var featureOpt = featureOpts[featureName];
+        var featureModel = new Model2(featureOpt, toolboxModel, toolboxModel.ecModel);
+        var feature;
+        if (payload && payload.newTitle != null && payload.featureName === featureName) {
+          featureOpt.title = payload.newTitle;
+        }
+        if (featureName && !oldName) {
+          if (isUserFeatureName2(featureName)) {
+            feature = {
+              model: featureModel,
+              onclick: featureModel.option.onclick,
+              featureName
+            };
+          } else {
+            var Feature = featureManager2.get(featureName);
+            if (!Feature) {
+              return;
+            }
+            feature = new Feature(featureModel, ecModel, api2);
+          }
+          features2[featureName] = feature;
+        } else {
+          feature = features2[oldName];
+          if (!feature) {
+            return;
+          }
+          feature.model = featureModel;
+          feature.ecModel = ecModel;
+          feature.api = api2;
+        }
+        if (!featureName && oldName) {
+          feature.dispose && feature.dispose(ecModel, api2);
+          return;
+        }
+        if (!featureModel.get("show") || feature.unusable) {
+          feature.remove && feature.remove(ecModel, api2);
+          return;
+        }
+        createIconPaths(featureModel, feature, featureName);
+        featureModel.setIconStatus = function(iconName, status) {
+          var option = this.option;
+          var iconPaths = this.iconPaths;
+          option.iconStatus = option.iconStatus || {};
+          option.iconStatus[iconName] = status;
+          iconPaths[iconName] && iconPaths[iconName].trigger(status);
+        };
+        if (feature.render) {
+          feature.render(featureModel, ecModel, api2, payload);
+        }
+      }
+      function createIconPaths(featureModel, feature, featureName) {
+        var iconStyleModel = featureModel.getModel("iconStyle");
+        var iconStyleEmphasisModel = featureModel.getModel("emphasis.iconStyle");
+        var icons = feature.getIcons ? feature.getIcons() : featureModel.get("icon");
+        var titles = featureModel.get("title") || {};
+        if (typeof icons === "string") {
+          var icon = icons;
+          var title2 = titles;
+          icons = {};
+          titles = {};
+          icons[featureName] = icon;
+          titles[featureName] = title2;
+        }
+        var iconPaths = featureModel.iconPaths = {};
+        zrUtil2.each(icons, function(iconStr, iconName) {
+          var path2 = graphic2.createIcon(iconStr, {}, {
+            x: -itemSize / 2,
+            y: -itemSize / 2,
+            width: itemSize,
+            height: itemSize
+          });
+          path2.setStyle(iconStyleModel.getItemStyle());
+          path2.hoverStyle = iconStyleEmphasisModel.getItemStyle();
+          path2.setStyle({
+            text: titles[iconName],
+            textAlign: iconStyleEmphasisModel.get("textAlign"),
+            textBorderRadius: iconStyleEmphasisModel.get("textBorderRadius"),
+            textPadding: iconStyleEmphasisModel.get("textPadding"),
+            textFill: null
+          });
+          var tooltipModel = toolboxModel.getModel("tooltip");
+          if (tooltipModel && tooltipModel.get("show")) {
+            path2.attr("tooltip", zrUtil2.extend({
+              content: titles[iconName],
+              formatter: tooltipModel.get("formatter", true) || function() {
+                return titles[iconName];
+              },
+              formatterParams: {
+                componentType: "toolbox",
+                name: iconName,
+                title: titles[iconName],
+                $vars: ["name", "title"]
+              },
+              position: tooltipModel.get("position", true) || "bottom"
+            }, tooltipModel.option));
+          }
+          graphic2.setHoverStyle(path2);
+          if (toolboxModel.get("showTitle")) {
+            path2.__title = titles[iconName];
+            path2.on("mouseover", function() {
+              var hoverStyle = iconStyleEmphasisModel.getItemStyle();
+              var defaultTextPosition = toolboxModel.get("orient") === "vertical" ? toolboxModel.get("right") == null ? "right" : "left" : toolboxModel.get("bottom") == null ? "bottom" : "top";
+              path2.setStyle({
+                textFill: iconStyleEmphasisModel.get("textFill") || hoverStyle.fill || hoverStyle.stroke || "#000",
+                textBackgroundColor: iconStyleEmphasisModel.get("textBackgroundColor"),
+                textPosition: iconStyleEmphasisModel.get("textPosition") || defaultTextPosition
+              });
+            }).on("mouseout", function() {
+              path2.setStyle({
+                textFill: null,
+                textBackgroundColor: null
+              });
+            });
+          }
+          path2.trigger(featureModel.get("iconStatus." + iconName) || "normal");
+          group.add(path2);
+          path2.on("click", zrUtil2.bind(feature.onclick, feature, ecModel, api2, iconName));
+          iconPaths[iconName] = path2;
+        });
+      }
+      listComponentHelper.layout(group, toolboxModel, api2);
+      group.add(listComponentHelper.makeBackground(group.getBoundingRect(), toolboxModel));
+      group.eachChild(function(icon) {
+        var titleText = icon.__title;
+        var hoverStyle = icon.hoverStyle;
+        if (hoverStyle && titleText) {
+          var rect = textContain2.getBoundingRect(titleText, textContain2.makeFont(hoverStyle));
+          var offsetX = icon.position[0] + group.position[0];
+          var offsetY = icon.position[1] + group.position[1] + itemSize;
+          var needPutOnTop = false;
+          if (offsetY + rect.height > api2.getHeight()) {
+            hoverStyle.textPosition = "top";
+            needPutOnTop = true;
+          }
+          var topOffset = needPutOnTop ? -5 - rect.height : itemSize + 8;
+          if (offsetX + rect.width / 2 > api2.getWidth()) {
+            hoverStyle.textPosition = ["100%", topOffset];
+            hoverStyle.textAlign = "right";
+          } else if (offsetX - rect.width / 2 < 0) {
+            hoverStyle.textPosition = [0, topOffset];
+            hoverStyle.textAlign = "left";
+          }
+        }
+      });
+    },
+    updateView: function(toolboxModel, ecModel, api2, payload) {
+      zrUtil2.each(this._features, function(feature) {
+        feature.updateView && feature.updateView(feature.model, ecModel, api2, payload);
+      });
+    },
+    // updateLayout: function (toolboxModel, ecModel, api, payload) {
+    //     zrUtil.each(this._features, function (feature) {
+    //         feature.updateLayout && feature.updateLayout(feature.model, ecModel, api, payload);
+    //     });
+    // },
+    remove: function(ecModel, api2) {
+      zrUtil2.each(this._features, function(feature) {
+        feature.remove && feature.remove(ecModel, api2);
+      });
+      this.group.removeAll();
+    },
+    dispose: function(ecModel, api2) {
+      zrUtil2.each(this._features, function(feature) {
+        feature.dispose && feature.dispose(ecModel, api2);
+      });
+    }
+  });
+  function isUserFeatureName2(featureName) {
+    return featureName.indexOf("my") === 0;
+  }
+  ToolboxView$2 = _default68;
+  return ToolboxView$2;
+}
+var SaveAsImage_1;
+var hasRequiredSaveAsImage;
+function requireSaveAsImage() {
+  if (hasRequiredSaveAsImage)
+    return SaveAsImage_1;
+  hasRequiredSaveAsImage = 1;
+  var env2 = env_1;
+  var lang2 = lang$2;
+  var featureManager2 = requireFeatureManager();
+  var saveAsImageLang = lang2.toolbox.saveAsImage;
+  function SaveAsImage2(model2) {
+    this.model = model2;
+  }
+  SaveAsImage2.defaultOption = {
+    show: true,
+    icon: "M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",
+    title: saveAsImageLang.title,
+    type: "png",
+    // Default use option.backgroundColor
+    // backgroundColor: '#fff',
+    connectedBackgroundColor: "#fff",
+    name: "",
+    excludeComponents: ["toolbox"],
+    pixelRatio: 1,
+    lang: saveAsImageLang.lang.slice()
+  };
+  SaveAsImage2.prototype.unusable = !env2.canvasSupported;
+  var proto2 = SaveAsImage2.prototype;
+  proto2.onclick = function(ecModel, api2) {
+    var model2 = this.model;
+    var title2 = model2.get("name") || ecModel.get("title.0.text") || "echarts";
+    var isSvg = api2.getZr().painter.getType() === "svg";
+    var type2 = isSvg ? "svg" : model2.get("type", true) || "png";
+    var url = api2.getConnectedDataURL({
+      type: type2,
+      backgroundColor: model2.get("backgroundColor", true) || ecModel.get("backgroundColor") || "#fff",
+      connectedBackgroundColor: model2.get("connectedBackgroundColor"),
+      excludeComponents: model2.get("excludeComponents"),
+      pixelRatio: model2.get("pixelRatio")
+    });
+    if (typeof MouseEvent === "function" && !env2.browser.ie && !env2.browser.edge) {
+      var $a = document.createElement("a");
+      $a.download = title2 + "." + type2;
+      $a.target = "_blank";
+      $a.href = url;
+      var evt = new MouseEvent("click", {
+        // some micro front-end framework, window maybe is a Proxy
+        view: document.defaultView,
+        bubbles: true,
+        cancelable: false
+      });
+      $a.dispatchEvent(evt);
+    } else {
+      if (window.navigator.msSaveOrOpenBlob) {
+        var bstr = atob(url.split(",")[1]);
+        var n2 = bstr.length;
+        var u8arr = new Uint8Array(n2);
+        while (n2--) {
+          u8arr[n2] = bstr.charCodeAt(n2);
+        }
+        var blob = new Blob([u8arr]);
+        window.navigator.msSaveOrOpenBlob(blob, title2 + "." + type2);
+      } else {
+        var lang3 = model2.get("lang");
+        var html = '<body style="margin:0;"><img src="' + url + '" style="max-width:100%;" title="' + (lang3 && lang3[0] || "") + '" /></body>';
+        var tab = window.open();
+        tab.document.write(html);
+      }
+    }
+  };
+  featureManager2.register("saveAsImage", SaveAsImage2);
+  var _default68 = SaveAsImage2;
+  SaveAsImage_1 = _default68;
+  return SaveAsImage_1;
+}
+var MagicType_1;
+var hasRequiredMagicType;
+function requireMagicType() {
+  if (hasRequiredMagicType)
+    return MagicType_1;
+  hasRequiredMagicType = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var lang2 = lang$2;
+  var featureManager2 = requireFeatureManager();
+  var magicTypeLang = lang2.toolbox.magicType;
+  var INNER_STACK_KEYWORD2 = "__ec_magicType_stack__";
+  function MagicType2(model2) {
+    this.model = model2;
+  }
+  MagicType2.defaultOption = {
+    show: true,
+    type: [],
+    // Icon group
+    icon: {
+      /* eslint-disable */
+      line: "M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",
+      bar: "M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",
+      stack: "M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"
+      // jshint ignore:line
+      /* eslint-enable */
+    },
+    // `line`, `bar`, `stack`, `tiled`
+    title: zrUtil2.clone(magicTypeLang.title),
+    option: {},
+    seriesIndex: {}
+  };
+  var proto2 = MagicType2.prototype;
+  proto2.getIcons = function() {
+    var model2 = this.model;
+    var availableIcons = model2.get("icon");
+    var icons = {};
+    zrUtil2.each(model2.get("type"), function(type2) {
+      if (availableIcons[type2]) {
+        icons[type2] = availableIcons[type2];
+      }
+    });
+    return icons;
+  };
+  var seriesOptGenreator2 = {
+    "line": function(seriesType2, seriesId, seriesModel, model2) {
+      if (seriesType2 === "bar") {
+        return zrUtil2.merge({
+          id: seriesId,
+          type: "line",
+          // Preserve data related option
+          data: seriesModel.get("data"),
+          stack: seriesModel.get("stack"),
+          markPoint: seriesModel.get("markPoint"),
+          markLine: seriesModel.get("markLine")
+        }, model2.get("option.line") || {}, true);
+      }
+    },
+    "bar": function(seriesType2, seriesId, seriesModel, model2) {
+      if (seriesType2 === "line") {
+        return zrUtil2.merge({
+          id: seriesId,
+          type: "bar",
+          // Preserve data related option
+          data: seriesModel.get("data"),
+          stack: seriesModel.get("stack"),
+          markPoint: seriesModel.get("markPoint"),
+          markLine: seriesModel.get("markLine")
+        }, model2.get("option.bar") || {}, true);
+      }
+    },
+    "stack": function(seriesType2, seriesId, seriesModel, model2) {
+      var isStack = seriesModel.get("stack") === INNER_STACK_KEYWORD2;
+      if (seriesType2 === "line" || seriesType2 === "bar") {
+        model2.setIconStatus("stack", isStack ? "normal" : "emphasis");
+        return zrUtil2.merge({
+          id: seriesId,
+          stack: isStack ? "" : INNER_STACK_KEYWORD2
+        }, model2.get("option.stack") || {}, true);
+      }
+    }
+  };
+  var radioTypes2 = [["line", "bar"], ["stack"]];
+  proto2.onclick = function(ecModel, api2, type2) {
+    var model2 = this.model;
+    var seriesIndex = model2.get("seriesIndex." + type2);
+    if (!seriesOptGenreator2[type2]) {
+      return;
+    }
+    var newOption = {
+      series: []
+    };
+    var generateNewSeriesTypes = function(seriesModel) {
+      var seriesType2 = seriesModel.subType;
+      var seriesId = seriesModel.id;
+      var newSeriesOpt = seriesOptGenreator2[type2](seriesType2, seriesId, seriesModel, model2);
+      if (newSeriesOpt) {
+        zrUtil2.defaults(newSeriesOpt, seriesModel.option);
+        newOption.series.push(newSeriesOpt);
+      }
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys && coordSys.type === "cartesian2d" && (type2 === "line" || type2 === "bar")) {
+        var categoryAxis2 = coordSys.getAxesByScale("ordinal")[0];
+        if (categoryAxis2) {
+          var axisDim = categoryAxis2.dim;
+          var axisType = axisDim + "Axis";
+          var axisModel = ecModel.queryComponents({
+            mainType: axisType,
+            index: seriesModel.get(name + "Index"),
+            id: seriesModel.get(name + "Id")
+          })[0];
+          var axisIndex = axisModel.componentIndex;
+          newOption[axisType] = newOption[axisType] || [];
+          for (var i2 = 0; i2 <= axisIndex; i2++) {
+            newOption[axisType][axisIndex] = newOption[axisType][axisIndex] || {};
+          }
+          newOption[axisType][axisIndex].boundaryGap = type2 === "bar";
+        }
+      }
+    };
+    zrUtil2.each(radioTypes2, function(radio) {
+      if (zrUtil2.indexOf(radio, type2) >= 0) {
+        zrUtil2.each(radio, function(item) {
+          model2.setIconStatus(item, "normal");
+        });
+      }
+    });
+    model2.setIconStatus(type2, "emphasis");
+    ecModel.eachComponent({
+      mainType: "series",
+      query: seriesIndex == null ? null : {
+        seriesIndex
+      }
+    }, generateNewSeriesTypes);
+    var newTitle;
+    if (type2 === "stack") {
+      var isStack = newOption.series && newOption.series[0] && newOption.series[0].stack === INNER_STACK_KEYWORD2;
+      newTitle = isStack ? zrUtil2.merge({
+        stack: magicTypeLang.title.tiled
+      }, magicTypeLang.title) : zrUtil2.clone(magicTypeLang.title);
+    }
+    api2.dispatchAction({
+      type: "changeMagicType",
+      currentType: type2,
+      newOption,
+      newTitle,
+      featureName: "magicType"
+    });
+  };
+  echarts2.registerAction({
+    type: "changeMagicType",
+    event: "magicTypeChanged",
+    update: "prepareAndUpdate"
+  }, function(payload, ecModel) {
+    ecModel.mergeOption(payload.newOption);
+  });
+  featureManager2.register("magicType", MagicType2);
+  var _default68 = MagicType2;
+  MagicType_1 = _default68;
+  return MagicType_1;
+}
+var _DataView;
+var hasRequired_DataView;
+function require_DataView() {
+  if (hasRequired_DataView)
+    return _DataView;
+  hasRequired_DataView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var eventTool2 = event$1;
+  var lang2 = lang$2;
+  var featureManager2 = requireFeatureManager();
+  var dataViewLang = lang2.toolbox.dataView;
+  var BLOCK_SPLITER2 = new Array(60).join("-");
+  var ITEM_SPLITER2 = "	";
+  function groupSeries2(ecModel) {
+    var seriesGroupByCategoryAxis = {};
+    var otherSeries = [];
+    var meta = [];
+    ecModel.eachRawSeries(function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys && (coordSys.type === "cartesian2d" || coordSys.type === "polar")) {
+        var baseAxis = coordSys.getBaseAxis();
+        if (baseAxis.type === "category") {
+          var key2 = baseAxis.dim + "_" + baseAxis.index;
+          if (!seriesGroupByCategoryAxis[key2]) {
+            seriesGroupByCategoryAxis[key2] = {
+              categoryAxis: baseAxis,
+              valueAxis: coordSys.getOtherAxis(baseAxis),
+              series: []
+            };
+            meta.push({
+              axisDim: baseAxis.dim,
+              axisIndex: baseAxis.index
+            });
+          }
+          seriesGroupByCategoryAxis[key2].series.push(seriesModel);
+        } else {
+          otherSeries.push(seriesModel);
+        }
+      } else {
+        otherSeries.push(seriesModel);
+      }
+    });
+    return {
+      seriesGroupByCategoryAxis,
+      other: otherSeries,
+      meta
+    };
+  }
+  function assembleSeriesWithCategoryAxis2(series) {
+    var tables = [];
+    zrUtil2.each(series, function(group, key2) {
+      var categoryAxis2 = group.categoryAxis;
+      var valueAxis2 = group.valueAxis;
+      var valueAxisDim = valueAxis2.dim;
+      var headers = [" "].concat(zrUtil2.map(group.series, function(series2) {
+        return series2.name;
+      }));
+      var columns = [categoryAxis2.model.getCategories()];
+      zrUtil2.each(group.series, function(series2) {
+        var rawData = series2.getRawData();
+        columns.push(series2.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function(val) {
+          return val;
+        }));
+      });
+      var lines2 = [headers.join(ITEM_SPLITER2)];
+      for (var i2 = 0; i2 < columns[0].length; i2++) {
+        var items = [];
+        for (var j2 = 0; j2 < columns.length; j2++) {
+          items.push(columns[j2][i2]);
+        }
+        lines2.push(items.join(ITEM_SPLITER2));
+      }
+      tables.push(lines2.join("\n"));
+    });
+    return tables.join("\n\n" + BLOCK_SPLITER2 + "\n\n");
+  }
+  function assembleOtherSeries2(series) {
+    return zrUtil2.map(series, function(series2) {
+      var data2 = series2.getRawData();
+      var lines2 = [series2.name];
+      var vals = [];
+      data2.each(data2.dimensions, function() {
+        var argLen = arguments.length;
+        var dataIndex = arguments[argLen - 1];
+        var name2 = data2.getName(dataIndex);
+        for (var i2 = 0; i2 < argLen - 1; i2++) {
+          vals[i2] = arguments[i2];
+        }
+        lines2.push((name2 ? name2 + ITEM_SPLITER2 : "") + vals.join(ITEM_SPLITER2));
+      });
+      return lines2.join("\n");
+    }).join("\n\n" + BLOCK_SPLITER2 + "\n\n");
+  }
+  function getContentFromModel2(ecModel) {
+    var result2 = groupSeries2(ecModel);
+    return {
+      value: zrUtil2.filter([assembleSeriesWithCategoryAxis2(result2.seriesGroupByCategoryAxis), assembleOtherSeries2(result2.other)], function(str) {
+        return str.replace(/[\n\t\s]/g, "");
+      }).join("\n\n" + BLOCK_SPLITER2 + "\n\n"),
+      meta: result2.meta
+    };
+  }
+  function trim2(str) {
+    return str.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
+  }
+  function isTSVFormat2(block) {
+    var firstLine = block.slice(0, block.indexOf("\n"));
+    if (firstLine.indexOf(ITEM_SPLITER2) >= 0) {
+      return true;
+    }
+  }
+  var itemSplitRegex2 = new RegExp("[" + ITEM_SPLITER2 + "]+", "g");
+  function parseTSVContents2(tsv) {
+    var tsvLines = tsv.split(/\n+/g);
+    var headers = trim2(tsvLines.shift()).split(itemSplitRegex2);
+    var categories = [];
+    var series = zrUtil2.map(headers, function(header) {
+      return {
+        name: header,
+        data: []
+      };
+    });
+    for (var i2 = 0; i2 < tsvLines.length; i2++) {
+      var items = trim2(tsvLines[i2]).split(itemSplitRegex2);
+      categories.push(items.shift());
+      for (var j2 = 0; j2 < items.length; j2++) {
+        series[j2] && (series[j2].data[i2] = items[j2]);
+      }
+    }
+    return {
+      series,
+      categories
+    };
+  }
+  function parseListContents2(str) {
+    var lines2 = str.split(/\n+/g);
+    var seriesName = trim2(lines2.shift());
+    var data2 = [];
+    for (var i2 = 0; i2 < lines2.length; i2++) {
+      var line2 = trim2(lines2[i2]);
+      if (!line2) {
+        continue;
+      }
+      var items = line2.split(itemSplitRegex2);
+      var name2 = "";
+      var value;
+      var hasName = false;
+      if (isNaN(items[0])) {
+        hasName = true;
+        name2 = items[0];
+        items = items.slice(1);
+        data2[i2] = {
+          name: name2,
+          value: []
+        };
+        value = data2[i2].value;
+      } else {
+        value = data2[i2] = [];
+      }
+      for (var j2 = 0; j2 < items.length; j2++) {
+        value.push(+items[j2]);
+      }
+      if (value.length === 1) {
+        hasName ? data2[i2].value = value[0] : data2[i2] = value[0];
+      }
+    }
+    return {
+      name: seriesName,
+      data: data2
+    };
+  }
+  function parseContents2(str, blockMetaList) {
+    var blocks = str.split(new RegExp("\n*" + BLOCK_SPLITER2 + "\n*", "g"));
+    var newOption = {
+      series: []
+    };
+    zrUtil2.each(blocks, function(block, idx) {
+      if (isTSVFormat2(block)) {
+        var result2 = parseTSVContents2(block);
+        var blockMeta = blockMetaList[idx];
+        var axisKey = blockMeta.axisDim + "Axis";
+        if (blockMeta) {
+          newOption[axisKey] = newOption[axisKey] || [];
+          newOption[axisKey][blockMeta.axisIndex] = {
+            data: result2.categories
+          };
+          newOption.series = newOption.series.concat(result2.series);
+        }
+      } else {
+        var result2 = parseListContents2(block);
+        newOption.series.push(result2);
+      }
+    });
+    return newOption;
+  }
+  function DataView2(model2) {
+    this._dom = null;
+    this.model = model2;
+  }
+  DataView2.defaultOption = {
+    show: true,
+    readOnly: false,
+    optionToContent: null,
+    contentToOption: null,
+    icon: "M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",
+    title: zrUtil2.clone(dataViewLang.title),
+    lang: zrUtil2.clone(dataViewLang.lang),
+    backgroundColor: "#fff",
+    textColor: "#000",
+    textareaColor: "#fff",
+    textareaBorderColor: "#333",
+    buttonColor: "#c23531",
+    buttonTextColor: "#fff"
+  };
+  DataView2.prototype.onclick = function(ecModel, api2) {
+    var container = api2.getDom();
+    var model2 = this.model;
+    if (this._dom) {
+      container.removeChild(this._dom);
+    }
+    var root = document.createElement("div");
+    root.style.cssText = "position:absolute;left:5px;top:5px;bottom:5px;right:5px;";
+    root.style.backgroundColor = model2.get("backgroundColor") || "#fff";
+    var header = document.createElement("h4");
+    var lang3 = model2.get("lang") || [];
+    header.innerHTML = lang3[0] || model2.get("title");
+    header.style.cssText = "margin: 10px 20px;";
+    header.style.color = model2.get("textColor");
+    var viewMain = document.createElement("div");
+    var textarea = document.createElement("textarea");
+    viewMain.style.cssText = "display:block;width:100%;overflow:auto;";
+    var optionToContent = model2.get("optionToContent");
+    var contentToOption = model2.get("contentToOption");
+    var result2 = getContentFromModel2(ecModel);
+    if (typeof optionToContent === "function") {
+      var htmlOrDom = optionToContent(api2.getOption());
+      if (typeof htmlOrDom === "string") {
+        viewMain.innerHTML = htmlOrDom;
+      } else if (zrUtil2.isDom(htmlOrDom)) {
+        viewMain.appendChild(htmlOrDom);
+      }
+    } else {
+      viewMain.appendChild(textarea);
+      textarea.readOnly = model2.get("readOnly");
+      textarea.style.cssText = "width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;";
+      textarea.style.color = model2.get("textColor");
+      textarea.style.borderColor = model2.get("textareaBorderColor");
+      textarea.style.backgroundColor = model2.get("textareaColor");
+      textarea.value = result2.value;
+    }
+    var blockMetaList = result2.meta;
+    var buttonContainer = document.createElement("div");
+    buttonContainer.style.cssText = "position:absolute;bottom:0;left:0;right:0;";
+    var buttonStyle = "float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px";
+    var closeButton = document.createElement("div");
+    var refreshButton = document.createElement("div");
+    buttonStyle += ";background-color:" + model2.get("buttonColor");
+    buttonStyle += ";color:" + model2.get("buttonTextColor");
+    var self2 = this;
+    function close2() {
+      container.removeChild(root);
+      self2._dom = null;
+    }
+    eventTool2.addEventListener(closeButton, "click", close2);
+    eventTool2.addEventListener(refreshButton, "click", function() {
+      var newOption;
+      try {
+        if (typeof contentToOption === "function") {
+          newOption = contentToOption(viewMain, api2.getOption());
+        } else {
+          newOption = parseContents2(textarea.value, blockMetaList);
+        }
+      } catch (e2) {
+        close2();
+        throw new Error("Data view format error " + e2);
+      }
+      if (newOption) {
+        api2.dispatchAction({
+          type: "changeDataView",
+          newOption
+        });
+      }
+      close2();
+    });
+    closeButton.innerHTML = lang3[1];
+    refreshButton.innerHTML = lang3[2];
+    refreshButton.style.cssText = buttonStyle;
+    closeButton.style.cssText = buttonStyle;
+    !model2.get("readOnly") && buttonContainer.appendChild(refreshButton);
+    buttonContainer.appendChild(closeButton);
+    root.appendChild(header);
+    root.appendChild(viewMain);
+    root.appendChild(buttonContainer);
+    viewMain.style.height = container.clientHeight - 80 + "px";
+    container.appendChild(root);
+    this._dom = root;
+  };
+  DataView2.prototype.remove = function(ecModel, api2) {
+    this._dom && api2.getDom().removeChild(this._dom);
+  };
+  DataView2.prototype.dispose = function(ecModel, api2) {
+    this.remove(ecModel, api2);
+  };
+  function tryMergeDataOption2(newData, originalData) {
+    return zrUtil2.map(newData, function(newVal, idx) {
+      var original = originalData && originalData[idx];
+      if (zrUtil2.isObject(original) && !zrUtil2.isArray(original)) {
+        var newValIsObject = zrUtil2.isObject(newVal) && !zrUtil2.isArray(newVal);
+        if (!newValIsObject) {
+          newVal = {
+            value: newVal
+          };
+        }
+        var shouldDeleteName = original.name != null && newVal.name == null;
+        newVal = zrUtil2.defaults(newVal, original);
+        shouldDeleteName && delete newVal.name;
+        return newVal;
+      } else {
+        return newVal;
+      }
+    });
+  }
+  featureManager2.register("dataView", DataView2);
+  echarts2.registerAction({
+    type: "changeDataView",
+    event: "dataViewChanged",
+    update: "prepareAndUpdate"
+  }, function(payload, ecModel) {
+    var newSeriesOptList = [];
+    zrUtil2.each(payload.newOption.series, function(seriesOpt) {
+      var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];
+      if (!seriesModel) {
+        newSeriesOptList.push(zrUtil2.extend({
+          // Default is scatter
+          type: "scatter"
+        }, seriesOpt));
+      } else {
+        var originalData = seriesModel.get("data");
+        newSeriesOptList.push({
+          name: seriesOpt.name,
+          data: tryMergeDataOption2(seriesOpt.data, originalData)
+        });
+      }
+    });
+    ecModel.mergeOption(zrUtil2.defaults({
+      series: newSeriesOptList
+    }, payload.newOption));
+  });
+  var _default68 = DataView2;
+  _DataView = _default68;
+  return _DataView;
+}
+var BrushTargetManager_1;
+var hasRequiredBrushTargetManager;
+function requireBrushTargetManager() {
+  if (hasRequiredBrushTargetManager)
+    return BrushTargetManager_1;
+  hasRequiredBrushTargetManager = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var modelUtil2 = model;
+  var brushHelper2 = requireBrushHelper();
+  var each2 = zrUtil2.each;
+  var indexOf2 = zrUtil2.indexOf;
+  var curry2 = zrUtil2.curry;
+  var COORD_CONVERTS = ["dataToPoint", "pointToData"];
+  var INCLUDE_FINDER_MAIN_TYPES2 = ["grid", "xAxis", "yAxis", "geo", "graph", "polar", "radiusAxis", "angleAxis", "bmap"];
+  function BrushTargetManager2(option, ecModel, opt) {
+    var targetInfoList = this._targetInfoList = [];
+    var info = {};
+    var foundCpts = parseFinder2(ecModel, option);
+    each2(targetInfoBuilders2, function(builder, type2) {
+      if (!opt || !opt.include || indexOf2(opt.include, type2) >= 0) {
+        builder(foundCpts, targetInfoList, info);
+      }
+    });
+  }
+  var proto2 = BrushTargetManager2.prototype;
+  proto2.setOutputRanges = function(areas, ecModel) {
+    this.matchOutputRanges(areas, ecModel, function(area, coordRange, coordSys) {
+      (area.coordRanges || (area.coordRanges = [])).push(coordRange);
+      if (!area.coordRange) {
+        area.coordRange = coordRange;
+        var result2 = coordConvert2[area.brushType](0, coordSys, coordRange);
+        area.__rangeOffset = {
+          offset: diffProcessor2[area.brushType](result2.values, area.range, [1, 1]),
+          xyMinMax: result2.xyMinMax
+        };
+      }
+    });
+  };
+  proto2.matchOutputRanges = function(areas, ecModel, cb) {
+    each2(areas, function(area) {
+      var targetInfo = this.findTargetInfo(area, ecModel);
+      if (targetInfo && targetInfo !== true) {
+        zrUtil2.each(targetInfo.coordSyses, function(coordSys) {
+          var result2 = coordConvert2[area.brushType](1, coordSys, area.range);
+          cb(area, result2.values, coordSys, ecModel);
+        });
+      }
+    }, this);
+  };
+  proto2.setInputRanges = function(areas, ecModel) {
+    each2(areas, function(area) {
+      var targetInfo = this.findTargetInfo(area, ecModel);
+      area.range = area.range || [];
+      if (targetInfo && targetInfo !== true) {
+        area.panelId = targetInfo.panelId;
+        var result2 = coordConvert2[area.brushType](0, targetInfo.coordSys, area.coordRange);
+        var rangeOffset = area.__rangeOffset;
+        area.range = rangeOffset ? diffProcessor2[area.brushType](result2.values, rangeOffset.offset, getScales2(result2.xyMinMax, rangeOffset.xyMinMax)) : result2.values;
+      }
+    }, this);
+  };
+  proto2.makePanelOpts = function(api2, getDefaultBrushType) {
+    return zrUtil2.map(this._targetInfoList, function(targetInfo) {
+      var rect = targetInfo.getPanelRect();
+      return {
+        panelId: targetInfo.panelId,
+        defaultBrushType: getDefaultBrushType && getDefaultBrushType(targetInfo),
+        clipPath: brushHelper2.makeRectPanelClipPath(rect),
+        isTargetByCursor: brushHelper2.makeRectIsTargetByCursor(rect, api2, targetInfo.coordSysModel),
+        getLinearBrushOtherExtent: brushHelper2.makeLinearBrushOtherExtent(rect)
+      };
+    });
+  };
+  proto2.controlSeries = function(area, seriesModel, ecModel) {
+    var targetInfo = this.findTargetInfo(area, ecModel);
+    return targetInfo === true || targetInfo && indexOf2(targetInfo.coordSyses, seriesModel.coordinateSystem) >= 0;
+  };
+  proto2.findTargetInfo = function(area, ecModel) {
+    var targetInfoList = this._targetInfoList;
+    var foundCpts = parseFinder2(ecModel, area);
+    for (var i2 = 0; i2 < targetInfoList.length; i2++) {
+      var targetInfo = targetInfoList[i2];
+      var areaPanelId = area.panelId;
+      if (areaPanelId) {
+        if (targetInfo.panelId === areaPanelId) {
+          return targetInfo;
+        }
+      } else {
+        for (var i2 = 0; i2 < targetInfoMatchers2.length; i2++) {
+          if (targetInfoMatchers2[i2](foundCpts, targetInfo)) {
+            return targetInfo;
+          }
+        }
+      }
+    }
+    return true;
+  };
+  function formatMinMax2(minMax) {
+    minMax[0] > minMax[1] && minMax.reverse();
+    return minMax;
+  }
+  function parseFinder2(ecModel, option) {
+    return modelUtil2.parseFinder(ecModel, option, {
+      includeMainTypes: INCLUDE_FINDER_MAIN_TYPES2
+    });
+  }
+  var targetInfoBuilders2 = {
+    grid: function(foundCpts, targetInfoList) {
+      var xAxisModels = foundCpts.xAxisModels;
+      var yAxisModels = foundCpts.yAxisModels;
+      var gridModels = foundCpts.gridModels;
+      var gridModelMap = zrUtil2.createHashMap();
+      var xAxesHas = {};
+      var yAxesHas = {};
+      if (!xAxisModels && !yAxisModels && !gridModels) {
+        return;
+      }
+      each2(xAxisModels, function(axisModel) {
+        var gridModel = axisModel.axis.grid.model;
+        gridModelMap.set(gridModel.id, gridModel);
+        xAxesHas[gridModel.id] = true;
+      });
+      each2(yAxisModels, function(axisModel) {
+        var gridModel = axisModel.axis.grid.model;
+        gridModelMap.set(gridModel.id, gridModel);
+        yAxesHas[gridModel.id] = true;
+      });
+      each2(gridModels, function(gridModel) {
+        gridModelMap.set(gridModel.id, gridModel);
+        xAxesHas[gridModel.id] = true;
+        yAxesHas[gridModel.id] = true;
+      });
+      gridModelMap.each(function(gridModel) {
+        var grid2 = gridModel.coordinateSystem;
+        var cartesians = [];
+        each2(grid2.getCartesians(), function(cartesian, index3) {
+          if (indexOf2(xAxisModels, cartesian.getAxis("x").model) >= 0 || indexOf2(yAxisModels, cartesian.getAxis("y").model) >= 0) {
+            cartesians.push(cartesian);
+          }
+        });
+        targetInfoList.push({
+          panelId: "grid--" + gridModel.id,
+          gridModel,
+          coordSysModel: gridModel,
+          // Use the first one as the representitive coordSys.
+          coordSys: cartesians[0],
+          coordSyses: cartesians,
+          getPanelRect: panelRectBuilder.grid,
+          xAxisDeclared: xAxesHas[gridModel.id],
+          yAxisDeclared: yAxesHas[gridModel.id]
+        });
+      });
+    },
+    geo: function(foundCpts, targetInfoList) {
+      each2(foundCpts.geoModels, function(geoModel) {
+        var coordSys = geoModel.coordinateSystem;
+        targetInfoList.push({
+          panelId: "geo--" + geoModel.id,
+          geoModel,
+          coordSysModel: geoModel,
+          coordSys,
+          coordSyses: [coordSys],
+          getPanelRect: panelRectBuilder.geo
+        });
+      });
+    }
+  };
+  var targetInfoMatchers2 = [
+    // grid
+    function(foundCpts, targetInfo) {
+      var xAxisModel = foundCpts.xAxisModel;
+      var yAxisModel = foundCpts.yAxisModel;
+      var gridModel = foundCpts.gridModel;
+      !gridModel && xAxisModel && (gridModel = xAxisModel.axis.grid.model);
+      !gridModel && yAxisModel && (gridModel = yAxisModel.axis.grid.model);
+      return gridModel && gridModel === targetInfo.gridModel;
+    },
+    // geo
+    function(foundCpts, targetInfo) {
+      var geoModel = foundCpts.geoModel;
+      return geoModel && geoModel === targetInfo.geoModel;
+    }
+  ];
+  var panelRectBuilder = {
+    grid: function() {
+      return this.coordSys.grid.getRect().clone();
+    },
+    geo: function() {
+      var coordSys = this.coordSys;
+      var rect = coordSys.getBoundingRect().clone();
+      rect.applyTransform(graphic2.getTransform(coordSys));
+      return rect;
+    }
+  };
+  var coordConvert2 = {
+    lineX: curry2(axisConvert2, 0),
+    lineY: curry2(axisConvert2, 1),
+    rect: function(to, coordSys, rangeOrCoordRange) {
+      var xminymin = coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]]);
+      var xmaxymax = coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]]);
+      var values = [formatMinMax2([xminymin[0], xmaxymax[0]]), formatMinMax2([xminymin[1], xmaxymax[1]])];
+      return {
+        values,
+        xyMinMax: values
+      };
+    },
+    polygon: function(to, coordSys, rangeOrCoordRange) {
+      var xyMinMax = [[Infinity, -Infinity], [Infinity, -Infinity]];
+      var values = zrUtil2.map(rangeOrCoordRange, function(item) {
+        var p2 = coordSys[COORD_CONVERTS[to]](item);
+        xyMinMax[0][0] = Math.min(xyMinMax[0][0], p2[0]);
+        xyMinMax[1][0] = Math.min(xyMinMax[1][0], p2[1]);
+        xyMinMax[0][1] = Math.max(xyMinMax[0][1], p2[0]);
+        xyMinMax[1][1] = Math.max(xyMinMax[1][1], p2[1]);
+        return p2;
+      });
+      return {
+        values,
+        xyMinMax
+      };
+    }
+  };
+  function axisConvert2(axisNameIndex, to, coordSys, rangeOrCoordRange) {
+    var axis2 = coordSys.getAxis(["x", "y"][axisNameIndex]);
+    var values = formatMinMax2(zrUtil2.map([0, 1], function(i2) {
+      return to ? axis2.coordToData(axis2.toLocalCoord(rangeOrCoordRange[i2])) : axis2.toGlobalCoord(axis2.dataToCoord(rangeOrCoordRange[i2]));
+    }));
+    var xyMinMax = [];
+    xyMinMax[axisNameIndex] = values;
+    xyMinMax[1 - axisNameIndex] = [NaN, NaN];
+    return {
+      values,
+      xyMinMax
+    };
+  }
+  var diffProcessor2 = {
+    lineX: curry2(axisDiffProcessor2, 0),
+    lineY: curry2(axisDiffProcessor2, 1),
+    rect: function(values, refer, scales) {
+      return [[values[0][0] - scales[0] * refer[0][0], values[0][1] - scales[0] * refer[0][1]], [values[1][0] - scales[1] * refer[1][0], values[1][1] - scales[1] * refer[1][1]]];
+    },
+    polygon: function(values, refer, scales) {
+      return zrUtil2.map(values, function(item, idx) {
+        return [item[0] - scales[0] * refer[idx][0], item[1] - scales[1] * refer[idx][1]];
+      });
+    }
+  };
+  function axisDiffProcessor2(axisNameIndex, values, refer, scales) {
+    return [values[0] - scales[axisNameIndex] * refer[0], values[1] - scales[axisNameIndex] * refer[1]];
+  }
+  function getScales2(xyMinMaxCurr, xyMinMaxOrigin) {
+    var sizeCurr = getSize2(xyMinMaxCurr);
+    var sizeOrigin = getSize2(xyMinMaxOrigin);
+    var scales = [sizeCurr[0] / sizeOrigin[0], sizeCurr[1] / sizeOrigin[1]];
+    isNaN(scales[0]) && (scales[0] = 1);
+    isNaN(scales[1]) && (scales[1] = 1);
+    return scales;
+  }
+  function getSize2(xyMinMax) {
+    return xyMinMax ? [xyMinMax[0][1] - xyMinMax[0][0], xyMinMax[1][1] - xyMinMax[1][0]] : [NaN, NaN];
+  }
+  var _default68 = BrushTargetManager2;
+  BrushTargetManager_1 = _default68;
+  return BrushTargetManager_1;
+}
+var history = {};
+var hasRequiredHistory;
+function requireHistory() {
+  if (hasRequiredHistory)
+    return history;
+  hasRequiredHistory = 1;
+  var zrUtil2 = util$a;
+  var each2 = zrUtil2.each;
+  var ATTR2 = "\0_ec_hist_store";
+  function push2(ecModel, newSnapshot) {
+    var store = giveStore(ecModel);
+    each2(newSnapshot, function(batchItem, dataZoomId) {
+      var i2 = store.length - 1;
+      for (; i2 >= 0; i2--) {
+        var snapshot = store[i2];
+        if (snapshot[dataZoomId]) {
+          break;
+        }
+      }
+      if (i2 < 0) {
+        var dataZoomModel = ecModel.queryComponents({
+          mainType: "dataZoom",
+          subType: "select",
+          id: dataZoomId
+        })[0];
+        if (dataZoomModel) {
+          var percentRange = dataZoomModel.getPercentRange();
+          store[0][dataZoomId] = {
+            dataZoomId,
+            start: percentRange[0],
+            end: percentRange[1]
+          };
+        }
+      }
+    });
+    store.push(newSnapshot);
+  }
+  function pop2(ecModel) {
+    var store = giveStore(ecModel);
+    var head = store[store.length - 1];
+    store.length > 1 && store.pop();
+    var snapshot = {};
+    each2(head, function(batchItem, dataZoomId) {
+      for (var i2 = store.length - 1; i2 >= 0; i2--) {
+        var batchItem = store[i2][dataZoomId];
+        if (batchItem) {
+          snapshot[dataZoomId] = batchItem;
+          break;
+        }
+      }
+    });
+    return snapshot;
+  }
+  function clear2(ecModel) {
+    ecModel[ATTR2] = null;
+  }
+  function count2(ecModel) {
+    return giveStore(ecModel).length;
+  }
+  function giveStore(ecModel) {
+    var store = ecModel[ATTR2];
+    if (!store) {
+      store = ecModel[ATTR2] = [{}];
+    }
+    return store;
+  }
+  history.push = push2;
+  history.pop = pop2;
+  history.clear = clear2;
+  history.count = count2;
+  return history;
+}
+var dataZoomSelect = {};
+var typeDefaulter$2 = {};
+var hasRequiredTypeDefaulter$2;
+function requireTypeDefaulter$2() {
+  if (hasRequiredTypeDefaulter$2)
+    return typeDefaulter$2;
+  hasRequiredTypeDefaulter$2 = 1;
+  var Component2 = Component$1;
+  Component2.registerSubTypeDefaulter("dataZoom", function() {
+    return "slider";
+  });
+  return typeDefaulter$2;
+}
+var helper$2 = {};
+var hasRequiredHelper$1;
+function requireHelper$1() {
+  if (hasRequiredHelper$1)
+    return helper$2;
+  hasRequiredHelper$1 = 1;
+  var zrUtil2 = util$a;
+  var formatUtil2 = format$6;
+  var AXIS_DIMS = ["x", "y", "z", "radius", "angle", "single"];
+  var COORDS = ["cartesian2d", "polar", "singleAxis"];
+  function isCoordSupported2(coordType) {
+    return zrUtil2.indexOf(COORDS, coordType) >= 0;
+  }
+  function createNameEach(names, attrs) {
+    names = names.slice();
+    var capitalNames = zrUtil2.map(names, formatUtil2.capitalFirst);
+    attrs = (attrs || []).slice();
+    var capitalAttrs = zrUtil2.map(attrs, formatUtil2.capitalFirst);
+    return function(callback, context) {
+      zrUtil2.each(names, function(name2, index3) {
+        var nameObj = {
+          name: name2,
+          capital: capitalNames[index3]
+        };
+        for (var j2 = 0; j2 < attrs.length; j2++) {
+          nameObj[attrs[j2]] = name2 + capitalAttrs[j2];
+        }
+        callback.call(context, nameObj);
+      });
+    };
+  }
+  var eachAxisDim = createNameEach(AXIS_DIMS, ["axisIndex", "axis", "index", "id"]);
+  function createLinkedNodesFinder(forEachNode, forEachEdgeType, edgeIdGetter) {
+    return function(sourceNode) {
+      var result2 = {
+        nodes: [],
+        records: {}
+        // key: edgeType.name, value: Object (key: edge id, value: boolean).
+      };
+      forEachEdgeType(function(edgeType) {
+        result2.records[edgeType.name] = {};
+      });
+      if (!sourceNode) {
+        return result2;
+      }
+      absorb(sourceNode, result2);
+      var existsLink;
+      do {
+        existsLink = false;
+        forEachNode(processSingleNode);
+      } while (existsLink);
+      function processSingleNode(node) {
+        if (!isNodeAbsorded(node, result2) && isLinked(node, result2)) {
+          absorb(node, result2);
+          existsLink = true;
+        }
+      }
+      return result2;
+    };
+    function isNodeAbsorded(node, result2) {
+      return zrUtil2.indexOf(result2.nodes, node) >= 0;
+    }
+    function isLinked(node, result2) {
+      var hasLink = false;
+      forEachEdgeType(function(edgeType) {
+        zrUtil2.each(edgeIdGetter(node, edgeType) || [], function(edgeId) {
+          result2.records[edgeType.name][edgeId] && (hasLink = true);
+        });
+      });
+      return hasLink;
+    }
+    function absorb(node, result2) {
+      result2.nodes.push(node);
+      forEachEdgeType(function(edgeType) {
+        zrUtil2.each(edgeIdGetter(node, edgeType) || [], function(edgeId) {
+          result2.records[edgeType.name][edgeId] = true;
+        });
+      });
+    }
+  }
+  helper$2.isCoordSupported = isCoordSupported2;
+  helper$2.createNameEach = createNameEach;
+  helper$2.eachAxisDim = eachAxisDim;
+  helper$2.createLinkedNodesFinder = createLinkedNodesFinder;
+  return helper$2;
+}
+var AxisProxy_1;
+var hasRequiredAxisProxy;
+function requireAxisProxy() {
+  if (hasRequiredAxisProxy)
+    return AxisProxy_1;
+  hasRequiredAxisProxy = 1;
+  var zrUtil2 = util$a;
+  var numberUtil2 = requireNumber();
+  var helper2 = requireHelper$1();
+  var sliderMove2 = requireSliderMove();
+  var each2 = zrUtil2.each;
+  var asc2 = numberUtil2.asc;
+  var AxisProxy2 = function(dimName, axisIndex, dataZoomModel, ecModel) {
+    this._dimName = dimName;
+    this._axisIndex = axisIndex;
+    this._valueWindow;
+    this._percentWindow;
+    this._dataExtent;
+    this._minMaxSpan;
+    this.ecModel = ecModel;
+    this._dataZoomModel = dataZoomModel;
+  };
+  AxisProxy2.prototype = {
+    constructor: AxisProxy2,
+    /**
+     * Whether the axisProxy is hosted by dataZoomModel.
+     *
+     * @public
+     * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel
+     * @return {boolean}
+     */
+    hostedBy: function(dataZoomModel) {
+      return this._dataZoomModel === dataZoomModel;
+    },
+    /**
+     * @return {Array.<number>} Value can only be NaN or finite value.
+     */
+    getDataValueWindow: function() {
+      return this._valueWindow.slice();
+    },
+    /**
+     * @return {Array.<number>}
+     */
+    getDataPercentWindow: function() {
+      return this._percentWindow.slice();
+    },
+    /**
+     * @public
+     * @param {number} axisIndex
+     * @return {Array} seriesModels
+     */
+    getTargetSeriesModels: function() {
+      var seriesModels = [];
+      var ecModel = this.ecModel;
+      ecModel.eachSeries(function(seriesModel) {
+        if (helper2.isCoordSupported(seriesModel.get("coordinateSystem"))) {
+          var dimName = this._dimName;
+          var axisModel = ecModel.queryComponents({
+            mainType: dimName + "Axis",
+            index: seriesModel.get(dimName + "AxisIndex"),
+            id: seriesModel.get(dimName + "AxisId")
+          })[0];
+          if (this._axisIndex === (axisModel && axisModel.componentIndex)) {
+            seriesModels.push(seriesModel);
+          }
+        }
+      }, this);
+      return seriesModels;
+    },
+    getAxisModel: function() {
+      return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex);
+    },
+    getOtherAxisModel: function() {
+      var axisDim = this._dimName;
+      var ecModel = this.ecModel;
+      var axisModel = this.getAxisModel();
+      var isCartesian = axisDim === "x" || axisDim === "y";
+      var otherAxisDim;
+      var coordSysIndexName;
+      if (isCartesian) {
+        coordSysIndexName = "gridIndex";
+        otherAxisDim = axisDim === "x" ? "y" : "x";
+      } else {
+        coordSysIndexName = "polarIndex";
+        otherAxisDim = axisDim === "angle" ? "radius" : "angle";
+      }
+      var foundOtherAxisModel;
+      ecModel.eachComponent(otherAxisDim + "Axis", function(otherAxisModel) {
+        if ((otherAxisModel.get(coordSysIndexName) || 0) === (axisModel.get(coordSysIndexName) || 0)) {
+          foundOtherAxisModel = otherAxisModel;
+        }
+      });
+      return foundOtherAxisModel;
+    },
+    getMinMaxSpan: function() {
+      return zrUtil2.clone(this._minMaxSpan);
+    },
+    /**
+     * Only calculate by given range and this._dataExtent, do not change anything.
+     *
+     * @param {Object} opt
+     * @param {number} [opt.start]
+     * @param {number} [opt.end]
+     * @param {number} [opt.startValue]
+     * @param {number} [opt.endValue]
+     */
+    calculateDataWindow: function(opt) {
+      var dataExtent = this._dataExtent;
+      var axisModel = this.getAxisModel();
+      var scale2 = axisModel.axis.scale;
+      var rangePropMode = this._dataZoomModel.getRangePropMode();
+      var percentExtent = [0, 100];
+      var percentWindow = [];
+      var valueWindow = [];
+      var hasPropModeValue;
+      each2(["start", "end"], function(prop2, idx) {
+        var boundPercent = opt[prop2];
+        var boundValue = opt[prop2 + "Value"];
+        if (rangePropMode[idx] === "percent") {
+          boundPercent == null && (boundPercent = percentExtent[idx]);
+          boundValue = scale2.parse(numberUtil2.linearMap(boundPercent, percentExtent, dataExtent));
+        } else {
+          hasPropModeValue = true;
+          boundValue = boundValue == null ? dataExtent[idx] : scale2.parse(boundValue);
+          boundPercent = numberUtil2.linearMap(boundValue, dataExtent, percentExtent);
+        }
+        valueWindow[idx] = boundValue;
+        percentWindow[idx] = boundPercent;
+      });
+      asc2(valueWindow);
+      asc2(percentWindow);
+      var spans = this._minMaxSpan;
+      hasPropModeValue ? restrictSet(valueWindow, percentWindow, dataExtent, percentExtent, false) : restrictSet(percentWindow, valueWindow, percentExtent, dataExtent, true);
+      function restrictSet(fromWindow, toWindow, fromExtent, toExtent, toValue2) {
+        var suffix = toValue2 ? "Span" : "ValueSpan";
+        sliderMove2(0, fromWindow, fromExtent, "all", spans["min" + suffix], spans["max" + suffix]);
+        for (var i2 = 0; i2 < 2; i2++) {
+          toWindow[i2] = numberUtil2.linearMap(fromWindow[i2], fromExtent, toExtent, true);
+          toValue2 && (toWindow[i2] = scale2.parse(toWindow[i2]));
+        }
+      }
+      return {
+        valueWindow,
+        percentWindow
+      };
+    },
+    /**
+     * Notice: reset should not be called before series.restoreData() called,
+     * so it is recommanded to be called in "process stage" but not "model init
+     * stage".
+     *
+     * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel
+     */
+    reset: function(dataZoomModel) {
+      if (dataZoomModel !== this._dataZoomModel) {
+        return;
+      }
+      var targetSeries = this.getTargetSeriesModels();
+      this._dataExtent = calculateDataExtent2(this, this._dimName, targetSeries);
+      setMinMaxSpan(this);
+      var dataWindow = this.calculateDataWindow(dataZoomModel.settledOption);
+      this._valueWindow = dataWindow.valueWindow;
+      this._percentWindow = dataWindow.percentWindow;
+      setAxisModel(this);
+    },
+    /**
+     * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel
+     */
+    restore: function(dataZoomModel) {
+      if (dataZoomModel !== this._dataZoomModel) {
+        return;
+      }
+      this._valueWindow = this._percentWindow = null;
+      setAxisModel(this, true);
+    },
+    /**
+     * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel
+     */
+    filterData: function(dataZoomModel, api2) {
+      if (dataZoomModel !== this._dataZoomModel) {
+        return;
+      }
+      var axisDim = this._dimName;
+      var seriesModels = this.getTargetSeriesModels();
+      var filterMode = dataZoomModel.get("filterMode");
+      var valueWindow = this._valueWindow;
+      if (filterMode === "none") {
+        return;
+      }
+      each2(seriesModels, function(seriesModel) {
+        var seriesData = seriesModel.getData();
+        var dataDims = seriesData.mapDimension(axisDim, true);
+        if (!dataDims.length) {
+          return;
+        }
+        if (filterMode === "weakFilter") {
+          seriesData.filterSelf(function(dataIndex) {
+            var leftOut;
+            var rightOut;
+            var hasValue;
+            for (var i2 = 0; i2 < dataDims.length; i2++) {
+              var value = seriesData.get(dataDims[i2], dataIndex);
+              var thisHasValue = !isNaN(value);
+              var thisLeftOut = value < valueWindow[0];
+              var thisRightOut = value > valueWindow[1];
+              if (thisHasValue && !thisLeftOut && !thisRightOut) {
+                return true;
+              }
+              thisHasValue && (hasValue = true);
+              thisLeftOut && (leftOut = true);
+              thisRightOut && (rightOut = true);
+            }
+            return hasValue && leftOut && rightOut;
+          });
+        } else {
+          each2(dataDims, function(dim) {
+            if (filterMode === "empty") {
+              seriesModel.setData(seriesData = seriesData.map(dim, function(value) {
+                return !isInWindow(value) ? NaN : value;
+              }));
+            } else {
+              var range2 = {};
+              range2[dim] = valueWindow;
+              seriesData.selectRange(range2);
+            }
+          });
+        }
+        each2(dataDims, function(dim) {
+          seriesData.setApproximateExtent(valueWindow, dim);
+        });
+      });
+      function isInWindow(value) {
+        return value >= valueWindow[0] && value <= valueWindow[1];
+      }
+    }
+  };
+  function calculateDataExtent2(axisProxy, axisDim, seriesModels) {
+    var dataExtent = [Infinity, -Infinity];
+    each2(seriesModels, function(seriesModel) {
+      var seriesData = seriesModel.getData();
+      if (seriesData) {
+        each2(seriesData.mapDimension(axisDim, true), function(dim) {
+          var seriesExtent = seriesData.getApproximateExtent(dim);
+          seriesExtent[0] < dataExtent[0] && (dataExtent[0] = seriesExtent[0]);
+          seriesExtent[1] > dataExtent[1] && (dataExtent[1] = seriesExtent[1]);
+        });
+      }
+    });
+    if (dataExtent[1] < dataExtent[0]) {
+      dataExtent = [NaN, NaN];
+    }
+    fixExtentByAxis(axisProxy, dataExtent);
+    return dataExtent;
+  }
+  function fixExtentByAxis(axisProxy, dataExtent) {
+    var axisModel = axisProxy.getAxisModel();
+    var min3 = axisModel.getMin(true);
+    var isCategoryAxis = axisModel.get("type") === "category";
+    var axisDataLen = isCategoryAxis && axisModel.getCategories().length;
+    if (min3 != null && min3 !== "dataMin" && typeof min3 !== "function") {
+      dataExtent[0] = min3;
+    } else if (isCategoryAxis) {
+      dataExtent[0] = axisDataLen > 0 ? 0 : NaN;
+    }
+    var max3 = axisModel.getMax(true);
+    if (max3 != null && max3 !== "dataMax" && typeof max3 !== "function") {
+      dataExtent[1] = max3;
+    } else if (isCategoryAxis) {
+      dataExtent[1] = axisDataLen > 0 ? axisDataLen - 1 : NaN;
+    }
+    if (!axisModel.get("scale", true)) {
+      dataExtent[0] > 0 && (dataExtent[0] = 0);
+      dataExtent[1] < 0 && (dataExtent[1] = 0);
+    }
+    return dataExtent;
+  }
+  function setAxisModel(axisProxy, isRestore) {
+    var axisModel = axisProxy.getAxisModel();
+    var percentWindow = axisProxy._percentWindow;
+    var valueWindow = axisProxy._valueWindow;
+    if (!percentWindow) {
+      return;
+    }
+    var precision = numberUtil2.getPixelPrecision(valueWindow, [0, 500]);
+    precision = Math.min(precision, 20);
+    var useOrigin = isRestore || percentWindow[0] === 0 && percentWindow[1] === 100;
+    axisModel.setRange(useOrigin ? null : +valueWindow[0].toFixed(precision), useOrigin ? null : +valueWindow[1].toFixed(precision));
+  }
+  function setMinMaxSpan(axisProxy) {
+    var minMaxSpan = axisProxy._minMaxSpan = {};
+    var dataZoomModel = axisProxy._dataZoomModel;
+    var dataExtent = axisProxy._dataExtent;
+    each2(["min", "max"], function(minMax) {
+      var percentSpan = dataZoomModel.get(minMax + "Span");
+      var valueSpan = dataZoomModel.get(minMax + "ValueSpan");
+      valueSpan != null && (valueSpan = axisProxy.getAxisModel().axis.scale.parse(valueSpan));
+      if (valueSpan != null) {
+        percentSpan = numberUtil2.linearMap(dataExtent[0] + valueSpan, dataExtent, [0, 100], true);
+      } else if (percentSpan != null) {
+        valueSpan = numberUtil2.linearMap(percentSpan, [0, 100], dataExtent, true) - dataExtent[0];
+      }
+      minMaxSpan[minMax + "Span"] = percentSpan;
+      minMaxSpan[minMax + "ValueSpan"] = valueSpan;
+    });
+  }
+  var _default68 = AxisProxy2;
+  AxisProxy_1 = _default68;
+  return AxisProxy_1;
+}
+var DataZoomModel_1;
+var hasRequiredDataZoomModel;
+function requireDataZoomModel() {
+  if (hasRequiredDataZoomModel)
+    return DataZoomModel_1;
+  hasRequiredDataZoomModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var env2 = env_1;
+  var modelUtil2 = model;
+  var helper2 = requireHelper$1();
+  var AxisProxy2 = requireAxisProxy();
+  var each2 = zrUtil2.each;
+  var eachAxisDim = helper2.eachAxisDim;
+  var DataZoomModel2 = echarts2.extendComponentModel({
+    type: "dataZoom",
+    dependencies: ["xAxis", "yAxis", "zAxis", "radiusAxis", "angleAxis", "singleAxis", "series"],
+    /**
+     * @protected
+     */
+    defaultOption: {
+      zlevel: 0,
+      z: 4,
+      // Higher than normal component (z: 2).
+      orient: null,
+      // Default auto by axisIndex. Possible value: 'horizontal', 'vertical'.
+      xAxisIndex: null,
+      // Default the first horizontal category axis.
+      yAxisIndex: null,
+      // Default the first vertical category axis.
+      filterMode: "filter",
+      // Possible values: 'filter' or 'empty' or 'weakFilter'.
+      // 'filter': data items which are out of window will be removed. This option is
+      //          applicable when filtering outliers. For each data item, it will be
+      //          filtered if one of the relevant dimensions is out of the window.
+      // 'weakFilter': data items which are out of window will be removed. This option
+      //          is applicable when filtering outliers. For each data item, it will be
+      //          filtered only if all  of the relevant dimensions are out of the same
+      //          side of the window.
+      // 'empty': data items which are out of window will be set to empty.
+      //          This option is applicable when user should not neglect
+      //          that there are some data items out of window.
+      // 'none': Do not filter.
+      // Taking line chart as an example, line will be broken in
+      // the filtered points when filterModel is set to 'empty', but
+      // be connected when set to 'filter'.
+      throttle: null,
+      // Dispatch action by the fixed rate, avoid frequency.
+      // default 100. Do not throttle when use null/undefined.
+      // If animation === true and animationDurationUpdate > 0,
+      // default value is 100, otherwise 20.
+      start: 0,
+      // Start percent. 0 ~ 100
+      end: 100,
+      // End percent. 0 ~ 100
+      startValue: null,
+      // Start value. If startValue specified, start is ignored.
+      endValue: null,
+      // End value. If endValue specified, end is ignored.
+      minSpan: null,
+      // 0 ~ 100
+      maxSpan: null,
+      // 0 ~ 100
+      minValueSpan: null,
+      // The range of dataZoom can not be smaller than that.
+      maxValueSpan: null,
+      // The range of dataZoom can not be larger than that.
+      rangeMode: null
+      // Array, can be 'value' or 'percent'.
+    },
+    /**
+     * @override
+     */
+    init: function(option, parentModel, ecModel) {
+      this._dataIntervalByAxis = {};
+      this._dataInfo = {};
+      this._axisProxies = {};
+      this.textStyleModel;
+      this._autoThrottle = true;
+      this._rangePropMode = ["percent", "percent"];
+      var inputRawOption = retrieveRawOption2(option);
+      this.settledOption = inputRawOption;
+      this.mergeDefaultAndTheme(option, ecModel);
+      this.doInit(inputRawOption);
+    },
+    /**
+     * @override
+     */
+    mergeOption: function(newOption) {
+      var inputRawOption = retrieveRawOption2(newOption);
+      zrUtil2.merge(this.option, newOption, true);
+      zrUtil2.merge(this.settledOption, inputRawOption, true);
+      this.doInit(inputRawOption);
+    },
+    /**
+     * @protected
+     */
+    doInit: function(inputRawOption) {
+      var thisOption = this.option;
+      if (!env2.canvasSupported) {
+        thisOption.realtime = false;
+      }
+      this._setDefaultThrottle(inputRawOption);
+      updateRangeUse(this, inputRawOption);
+      var settledOption = this.settledOption;
+      each2([["start", "startValue"], ["end", "endValue"]], function(names, index3) {
+        if (this._rangePropMode[index3] === "value") {
+          thisOption[names[0]] = settledOption[names[0]] = null;
+        }
+      }, this);
+      this.textStyleModel = this.getModel("textStyle");
+      this._resetTarget();
+      this._giveAxisProxies();
+    },
+    /**
+     * @private
+     */
+    _giveAxisProxies: function() {
+      var axisProxies = this._axisProxies;
+      this.eachTargetAxis(function(dimNames, axisIndex, dataZoomModel, ecModel) {
+        var axisModel = this.dependentModels[dimNames.axis][axisIndex];
+        var axisProxy = axisModel.__dzAxisProxy || // Use the first dataZoomModel as the main model of axisProxy.
+        (axisModel.__dzAxisProxy = new AxisProxy2(dimNames.name, axisIndex, this, ecModel));
+        axisProxies[dimNames.name + "_" + axisIndex] = axisProxy;
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _resetTarget: function() {
+      var thisOption = this.option;
+      var autoMode = this._judgeAutoMode();
+      eachAxisDim(function(dimNames) {
+        var axisIndexName = dimNames.axisIndex;
+        thisOption[axisIndexName] = modelUtil2.normalizeToArray(thisOption[axisIndexName]);
+      }, this);
+      if (autoMode === "axisIndex") {
+        this._autoSetAxisIndex();
+      } else if (autoMode === "orient") {
+        this._autoSetOrient();
+      }
+    },
+    /**
+     * @private
+     */
+    _judgeAutoMode: function() {
+      var thisOption = this.option;
+      var hasIndexSpecified = false;
+      eachAxisDim(function(dimNames) {
+        if (thisOption[dimNames.axisIndex] != null) {
+          hasIndexSpecified = true;
+        }
+      }, this);
+      var orient = thisOption.orient;
+      if (orient == null && hasIndexSpecified) {
+        return "orient";
+      } else if (!hasIndexSpecified) {
+        if (orient == null) {
+          thisOption.orient = "horizontal";
+        }
+        return "axisIndex";
+      }
+    },
+    /**
+     * @private
+     */
+    _autoSetAxisIndex: function() {
+      var autoAxisIndex = true;
+      var orient = this.get("orient", true);
+      var thisOption = this.option;
+      var dependentModels = this.dependentModels;
+      if (autoAxisIndex) {
+        var dimName = orient === "vertical" ? "y" : "x";
+        if (dependentModels[dimName + "Axis"].length) {
+          thisOption[dimName + "AxisIndex"] = [0];
+          autoAxisIndex = false;
+        } else {
+          each2(dependentModels.singleAxis, function(singleAxisModel) {
+            if (autoAxisIndex && singleAxisModel.get("orient", true) === orient) {
+              thisOption.singleAxisIndex = [singleAxisModel.componentIndex];
+              autoAxisIndex = false;
+            }
+          });
+        }
+      }
+      if (autoAxisIndex) {
+        eachAxisDim(function(dimNames) {
+          if (!autoAxisIndex) {
+            return;
+          }
+          var axisIndices = [];
+          var axisModels = this.dependentModels[dimNames.axis];
+          if (axisModels.length && !axisIndices.length) {
+            for (var i2 = 0, len2 = axisModels.length; i2 < len2; i2++) {
+              if (axisModels[i2].get("type") === "category") {
+                axisIndices.push(i2);
+              }
+            }
+          }
+          thisOption[dimNames.axisIndex] = axisIndices;
+          if (axisIndices.length) {
+            autoAxisIndex = false;
+          }
+        }, this);
+      }
+      if (autoAxisIndex) {
+        this.ecModel.eachSeries(function(seriesModel) {
+          if (this._isSeriesHasAllAxesTypeOf(seriesModel, "value")) {
+            eachAxisDim(function(dimNames) {
+              var axisIndices = thisOption[dimNames.axisIndex];
+              var axisIndex = seriesModel.get(dimNames.axisIndex);
+              var axisId = seriesModel.get(dimNames.axisId);
+              var axisModel = seriesModel.ecModel.queryComponents({
+                mainType: dimNames.axis,
+                index: axisIndex,
+                id: axisId
+              })[0];
+              axisIndex = axisModel.componentIndex;
+              if (zrUtil2.indexOf(axisIndices, axisIndex) < 0) {
+                axisIndices.push(axisIndex);
+              }
+            });
+          }
+        }, this);
+      }
+    },
+    /**
+     * @private
+     */
+    _autoSetOrient: function() {
+      var dim;
+      this.eachTargetAxis(function(dimNames) {
+        !dim && (dim = dimNames.name);
+      }, this);
+      this.option.orient = dim === "y" ? "vertical" : "horizontal";
+    },
+    /**
+     * @private
+     */
+    _isSeriesHasAllAxesTypeOf: function(seriesModel, axisType) {
+      var is = true;
+      eachAxisDim(function(dimNames) {
+        var seriesAxisIndex = seriesModel.get(dimNames.axisIndex);
+        var axisModel = this.dependentModels[dimNames.axis][seriesAxisIndex];
+        if (!axisModel || axisModel.get("type") !== axisType) {
+          is = false;
+        }
+      }, this);
+      return is;
+    },
+    /**
+     * @private
+     */
+    _setDefaultThrottle: function(inputRawOption) {
+      if (inputRawOption.hasOwnProperty("throttle")) {
+        this._autoThrottle = false;
+      }
+      if (this._autoThrottle) {
+        var globalOption = this.ecModel.option;
+        this.option.throttle = globalOption.animation && globalOption.animationDurationUpdate > 0 ? 100 : 20;
+      }
+    },
+    /**
+     * @public
+     */
+    getFirstTargetAxisModel: function() {
+      var firstAxisModel;
+      eachAxisDim(function(dimNames) {
+        if (firstAxisModel == null) {
+          var indices = this.get(dimNames.axisIndex);
+          if (indices.length) {
+            firstAxisModel = this.dependentModels[dimNames.axis][indices[0]];
+          }
+        }
+      }, this);
+      return firstAxisModel;
+    },
+    /**
+     * @public
+     * @param {Function} callback param: axisModel, dimNames, axisIndex, dataZoomModel, ecModel
+     */
+    eachTargetAxis: function(callback, context) {
+      var ecModel = this.ecModel;
+      eachAxisDim(function(dimNames) {
+        each2(this.get(dimNames.axisIndex), function(axisIndex) {
+          callback.call(context, dimNames, axisIndex, this, ecModel);
+        }, this);
+      }, this);
+    },
+    /**
+     * @param {string} dimName
+     * @param {number} axisIndex
+     * @return {module:echarts/component/dataZoom/AxisProxy} If not found, return null/undefined.
+     */
+    getAxisProxy: function(dimName, axisIndex) {
+      return this._axisProxies[dimName + "_" + axisIndex];
+    },
+    /**
+     * @param {string} dimName
+     * @param {number} axisIndex
+     * @return {module:echarts/model/Model} If not found, return null/undefined.
+     */
+    getAxisModel: function(dimName, axisIndex) {
+      var axisProxy = this.getAxisProxy(dimName, axisIndex);
+      return axisProxy && axisProxy.getAxisModel();
+    },
+    /**
+     * If not specified, set to undefined.
+     *
+     * @public
+     * @param {Object} opt
+     * @param {number} [opt.start]
+     * @param {number} [opt.end]
+     * @param {number} [opt.startValue]
+     * @param {number} [opt.endValue]
+     */
+    setRawRange: function(opt) {
+      var thisOption = this.option;
+      var settledOption = this.settledOption;
+      each2([["start", "startValue"], ["end", "endValue"]], function(names) {
+        if (opt[names[0]] != null || opt[names[1]] != null) {
+          thisOption[names[0]] = settledOption[names[0]] = opt[names[0]];
+          thisOption[names[1]] = settledOption[names[1]] = opt[names[1]];
+        }
+      }, this);
+      updateRangeUse(this, opt);
+    },
+    /**
+     * @public
+     * @param {Object} opt
+     * @param {number} [opt.start]
+     * @param {number} [opt.end]
+     * @param {number} [opt.startValue]
+     * @param {number} [opt.endValue]
+     */
+    setCalculatedRange: function(opt) {
+      var option = this.option;
+      each2(["start", "startValue", "end", "endValue"], function(name2) {
+        option[name2] = opt[name2];
+      });
+    },
+    /**
+     * @public
+     * @return {Array.<number>} [startPercent, endPercent]
+     */
+    getPercentRange: function() {
+      var axisProxy = this.findRepresentativeAxisProxy();
+      if (axisProxy) {
+        return axisProxy.getDataPercentWindow();
+      }
+    },
+    /**
+     * @public
+     * For example, chart.getModel().getComponent('dataZoom').getValueRange('y', 0);
+     *
+     * @param {string} [axisDimName]
+     * @param {number} [axisIndex]
+     * @return {Array.<number>} [startValue, endValue] value can only be '-' or finite number.
+     */
+    getValueRange: function(axisDimName, axisIndex) {
+      if (axisDimName == null && axisIndex == null) {
+        var axisProxy = this.findRepresentativeAxisProxy();
+        if (axisProxy) {
+          return axisProxy.getDataValueWindow();
+        }
+      } else {
+        return this.getAxisProxy(axisDimName, axisIndex).getDataValueWindow();
+      }
+    },
+    /**
+     * @public
+     * @param {module:echarts/model/Model} [axisModel] If axisModel given, find axisProxy
+     *      corresponding to the axisModel
+     * @return {module:echarts/component/dataZoom/AxisProxy}
+     */
+    findRepresentativeAxisProxy: function(axisModel) {
+      if (axisModel) {
+        return axisModel.__dzAxisProxy;
+      }
+      var axisProxies = this._axisProxies;
+      for (var key2 in axisProxies) {
+        if (axisProxies.hasOwnProperty(key2) && axisProxies[key2].hostedBy(this)) {
+          return axisProxies[key2];
+        }
+      }
+      for (var key2 in axisProxies) {
+        if (axisProxies.hasOwnProperty(key2) && !axisProxies[key2].hostedBy(this)) {
+          return axisProxies[key2];
+        }
+      }
+    },
+    /**
+     * @return {Array.<string>}
+     */
+    getRangePropMode: function() {
+      return this._rangePropMode.slice();
+    }
+  });
+  function retrieveRawOption2(option) {
+    var ret = {};
+    each2(["start", "end", "startValue", "endValue", "throttle"], function(name2) {
+      option.hasOwnProperty(name2) && (ret[name2] = option[name2]);
+    });
+    return ret;
+  }
+  function updateRangeUse(dataZoomModel, inputRawOption) {
+    var rangePropMode = dataZoomModel._rangePropMode;
+    var rangeModeInOption = dataZoomModel.get("rangeMode");
+    each2([["start", "startValue"], ["end", "endValue"]], function(names, index3) {
+      var percentSpecified = inputRawOption[names[0]] != null;
+      var valueSpecified = inputRawOption[names[1]] != null;
+      if (percentSpecified && !valueSpecified) {
+        rangePropMode[index3] = "percent";
+      } else if (!percentSpecified && valueSpecified) {
+        rangePropMode[index3] = "value";
+      } else if (rangeModeInOption) {
+        rangePropMode[index3] = rangeModeInOption[index3];
+      } else if (percentSpecified) {
+        rangePropMode[index3] = "percent";
+      }
+    });
+  }
+  var _default68 = DataZoomModel2;
+  DataZoomModel_1 = _default68;
+  return DataZoomModel_1;
+}
+var DataZoomView$2;
+var hasRequiredDataZoomView;
+function requireDataZoomView() {
+  if (hasRequiredDataZoomView)
+    return DataZoomView$2;
+  hasRequiredDataZoomView = 1;
+  var ComponentView2 = Component_1;
+  var _default68 = ComponentView2.extend({
+    type: "dataZoom",
+    render: function(dataZoomModel, ecModel, api2, payload) {
+      this.dataZoomModel = dataZoomModel;
+      this.ecModel = ecModel;
+      this.api = api2;
+    },
+    /**
+     * Find the first target coordinate system.
+     *
+     * @protected
+     * @return {Object} {
+     *                   grid: [
+     *                       {model: coord0, axisModels: [axis1, axis3], coordIndex: 1},
+     *                       {model: coord1, axisModels: [axis0, axis2], coordIndex: 0},
+     *                       ...
+     *                   ],  // cartesians must not be null/undefined.
+     *                   polar: [
+     *                       {model: coord0, axisModels: [axis4], coordIndex: 0},
+     *                       ...
+     *                   ],  // polars must not be null/undefined.
+     *                   singleAxis: [
+     *                       {model: coord0, axisModels: [], coordIndex: 0}
+     *                   ]
+     */
+    getTargetCoordInfo: function() {
+      var dataZoomModel = this.dataZoomModel;
+      var ecModel = this.ecModel;
+      var coordSysLists = {};
+      dataZoomModel.eachTargetAxis(function(dimNames, axisIndex) {
+        var axisModel = ecModel.getComponent(dimNames.axis, axisIndex);
+        if (axisModel) {
+          var coordModel = axisModel.getCoordSysModel();
+          coordModel && save(coordModel, axisModel, coordSysLists[coordModel.mainType] || (coordSysLists[coordModel.mainType] = []), coordModel.componentIndex);
+        }
+      }, this);
+      function save(coordModel, axisModel, store, coordIndex) {
+        var item;
+        for (var i2 = 0; i2 < store.length; i2++) {
+          if (store[i2].model === coordModel) {
+            item = store[i2];
+            break;
+          }
+        }
+        if (!item) {
+          store.push(item = {
+            model: coordModel,
+            axisModels: [],
+            coordIndex
+          });
+        }
+        item.axisModels.push(axisModel);
+      }
+      return coordSysLists;
+    }
+  });
+  DataZoomView$2 = _default68;
+  return DataZoomView$2;
+}
+var SelectZoomModel$1;
+var hasRequiredSelectZoomModel;
+function requireSelectZoomModel() {
+  if (hasRequiredSelectZoomModel)
+    return SelectZoomModel$1;
+  hasRequiredSelectZoomModel = 1;
+  var DataZoomModel2 = requireDataZoomModel();
+  var _default68 = DataZoomModel2.extend({
+    type: "dataZoom.select"
+  });
+  SelectZoomModel$1 = _default68;
+  return SelectZoomModel$1;
+}
+var SelectZoomView$1;
+var hasRequiredSelectZoomView;
+function requireSelectZoomView() {
+  if (hasRequiredSelectZoomView)
+    return SelectZoomView$1;
+  hasRequiredSelectZoomView = 1;
+  var DataZoomView2 = requireDataZoomView();
+  var _default68 = DataZoomView2.extend({
+    type: "dataZoom.select"
+  });
+  SelectZoomView$1 = _default68;
+  return SelectZoomView$1;
+}
+var dataZoomProcessor$2 = {};
+var hasRequiredDataZoomProcessor;
+function requireDataZoomProcessor() {
+  if (hasRequiredDataZoomProcessor)
+    return dataZoomProcessor$2;
+  hasRequiredDataZoomProcessor = 1;
+  var echarts2 = echarts$1;
+  var _util2 = util$a;
+  var createHashMap2 = _util2.createHashMap;
+  var each2 = _util2.each;
+  echarts2.registerProcessor({
+    // `dataZoomProcessor` will only be performed in needed series. Consider if
+    // there is a line series and a pie series, it is better not to update the
+    // line series if only pie series is needed to be updated.
+    getTargetSeries: function(ecModel) {
+      var seriesModelMap = createHashMap2();
+      ecModel.eachComponent("dataZoom", function(dataZoomModel) {
+        dataZoomModel.eachTargetAxis(function(dimNames, axisIndex, dataZoomModel2) {
+          var axisProxy = dataZoomModel2.getAxisProxy(dimNames.name, axisIndex);
+          each2(axisProxy.getTargetSeriesModels(), function(seriesModel) {
+            seriesModelMap.set(seriesModel.uid, seriesModel);
+          });
+        });
+      });
+      return seriesModelMap;
+    },
+    modifyOutputEnd: true,
+    // Consider appendData, where filter should be performed. Because data process is
+    // in block mode currently, it is not need to worry about that the overallProgress
+    // execute every frame.
+    overallReset: function(ecModel, api2) {
+      ecModel.eachComponent("dataZoom", function(dataZoomModel) {
+        dataZoomModel.eachTargetAxis(function(dimNames, axisIndex, dataZoomModel2) {
+          dataZoomModel2.getAxisProxy(dimNames.name, axisIndex).reset(dataZoomModel2, api2);
+        });
+        dataZoomModel.eachTargetAxis(function(dimNames, axisIndex, dataZoomModel2) {
+          dataZoomModel2.getAxisProxy(dimNames.name, axisIndex).filterData(dataZoomModel2, api2);
+        });
+      });
+      ecModel.eachComponent("dataZoom", function(dataZoomModel) {
+        var axisProxy = dataZoomModel.findRepresentativeAxisProxy();
+        var percentRange = axisProxy.getDataPercentWindow();
+        var valueRange = axisProxy.getDataValueWindow();
+        dataZoomModel.setCalculatedRange({
+          start: percentRange[0],
+          end: percentRange[1],
+          startValue: valueRange[0],
+          endValue: valueRange[1]
+        });
+      });
+    }
+  });
+  return dataZoomProcessor$2;
+}
+var dataZoomAction = {};
+var hasRequiredDataZoomAction;
+function requireDataZoomAction() {
+  if (hasRequiredDataZoomAction)
+    return dataZoomAction;
+  hasRequiredDataZoomAction = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var helper2 = requireHelper$1();
+  echarts2.registerAction("dataZoom", function(payload, ecModel) {
+    var linkedNodesFinder = helper2.createLinkedNodesFinder(zrUtil2.bind(ecModel.eachComponent, ecModel, "dataZoom"), helper2.eachAxisDim, function(model2, dimNames) {
+      return model2.get(dimNames.axisIndex);
+    });
+    var effectedModels = [];
+    ecModel.eachComponent({
+      mainType: "dataZoom",
+      query: payload
+    }, function(model2, index3) {
+      effectedModels.push.apply(effectedModels, linkedNodesFinder(model2).nodes);
+    });
+    zrUtil2.each(effectedModels, function(dataZoomModel, index3) {
+      dataZoomModel.setRawRange({
+        start: payload.start,
+        end: payload.end,
+        startValue: payload.startValue,
+        endValue: payload.endValue
+      });
+    });
+  });
+  return dataZoomAction;
+}
+var hasRequiredDataZoomSelect;
+function requireDataZoomSelect() {
+  if (hasRequiredDataZoomSelect)
+    return dataZoomSelect;
+  hasRequiredDataZoomSelect = 1;
+  requireTypeDefaulter$2();
+  requireDataZoomModel();
+  requireDataZoomView();
+  requireSelectZoomModel();
+  requireSelectZoomView();
+  requireDataZoomProcessor();
+  requireDataZoomAction();
+  return dataZoomSelect;
+}
+var DataZoom_1;
+var hasRequiredDataZoom$1;
+function requireDataZoom$1() {
+  if (hasRequiredDataZoom$1)
+    return DataZoom_1;
+  hasRequiredDataZoom$1 = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var BrushController2 = requireBrushController();
+  var BrushTargetManager2 = requireBrushTargetManager();
+  var history2 = requireHistory();
+  var sliderMove2 = requireSliderMove();
+  var lang2 = lang$2;
+  var featureManager2 = requireFeatureManager();
+  requireDataZoomSelect();
+  var dataZoomLang = lang2.toolbox.dataZoom;
+  var each2 = zrUtil2.each;
+  var DATA_ZOOM_ID_BASE2 = "\0_ec_\0toolbox-dataZoom_";
+  function DataZoom2(model2, ecModel, api2) {
+    (this._brushController = new BrushController2(api2.getZr())).on("brush", zrUtil2.bind(this._onBrush, this)).mount();
+    this._isZoomActive;
+  }
+  DataZoom2.defaultOption = {
+    show: true,
+    filterMode: "filter",
+    // Icon group
+    icon: {
+      zoom: "M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",
+      back: "M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"
+    },
+    // `zoom`, `back`
+    title: zrUtil2.clone(dataZoomLang.title),
+    brushStyle: {
+      borderWidth: 0,
+      color: "rgba(0,0,0,0.2)"
+    }
+  };
+  var proto2 = DataZoom2.prototype;
+  proto2.render = function(featureModel, ecModel, api2, payload) {
+    this.model = featureModel;
+    this.ecModel = ecModel;
+    this.api = api2;
+    updateZoomBtnStatus2(featureModel, ecModel, this, payload, api2);
+    updateBackBtnStatus2(featureModel, ecModel);
+  };
+  proto2.onclick = function(ecModel, api2, type2) {
+    handlers2[type2].call(this);
+  };
+  proto2.remove = function(ecModel, api2) {
+    this._brushController.unmount();
+  };
+  proto2.dispose = function(ecModel, api2) {
+    this._brushController.dispose();
+  };
+  var handlers2 = {
+    zoom: function() {
+      var nextActive = !this._isZoomActive;
+      this.api.dispatchAction({
+        type: "takeGlobalCursor",
+        key: "dataZoomSelect",
+        dataZoomSelectActive: nextActive
+      });
+    },
+    back: function() {
+      this._dispatchZoomAction(history2.pop(this.ecModel));
+    }
+  };
+  proto2._onBrush = function(areas, opt) {
+    if (!opt.isEnd || !areas.length) {
+      return;
+    }
+    var snapshot = {};
+    var ecModel = this.ecModel;
+    this._brushController.updateCovers([]);
+    var brushTargetManager = new BrushTargetManager2(retrieveAxisSetting(this.model.option), ecModel, {
+      include: ["grid"]
+    });
+    brushTargetManager.matchOutputRanges(areas, ecModel, function(area, coordRange, coordSys) {
+      if (coordSys.type !== "cartesian2d") {
+        return;
+      }
+      var brushType = area.brushType;
+      if (brushType === "rect") {
+        setBatch("x", coordSys, coordRange[0]);
+        setBatch("y", coordSys, coordRange[1]);
+      } else {
+        setBatch({
+          lineX: "x",
+          lineY: "y"
+        }[brushType], coordSys, coordRange);
+      }
+    });
+    history2.push(ecModel, snapshot);
+    this._dispatchZoomAction(snapshot);
+    function setBatch(dimName, coordSys, minMax) {
+      var axis2 = coordSys.getAxis(dimName);
+      var axisModel = axis2.model;
+      var dataZoomModel = findDataZoom(dimName, axisModel, ecModel);
+      var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy(axisModel).getMinMaxSpan();
+      if (minMaxSpan.minValueSpan != null || minMaxSpan.maxValueSpan != null) {
+        minMax = sliderMove2(0, minMax.slice(), axis2.scale.getExtent(), 0, minMaxSpan.minValueSpan, minMaxSpan.maxValueSpan);
+      }
+      dataZoomModel && (snapshot[dataZoomModel.id] = {
+        dataZoomId: dataZoomModel.id,
+        startValue: minMax[0],
+        endValue: minMax[1]
+      });
+    }
+    function findDataZoom(dimName, axisModel, ecModel2) {
+      var found;
+      ecModel2.eachComponent({
+        mainType: "dataZoom",
+        subType: "select"
+      }, function(dzModel) {
+        var has2 = dzModel.getAxisModel(dimName, axisModel.componentIndex);
+        has2 && (found = dzModel);
+      });
+      return found;
+    }
+  };
+  proto2._dispatchZoomAction = function(snapshot) {
+    var batch = [];
+    each2(snapshot, function(batchItem, dataZoomId) {
+      batch.push(zrUtil2.clone(batchItem));
+    });
+    batch.length && this.api.dispatchAction({
+      type: "dataZoom",
+      from: this.uid,
+      batch
+    });
+  };
+  function retrieveAxisSetting(option) {
+    var setting = {};
+    zrUtil2.each(["xAxisIndex", "yAxisIndex"], function(name2) {
+      setting[name2] = option[name2];
+      setting[name2] == null && (setting[name2] = "all");
+      (setting[name2] === false || setting[name2] === "none") && (setting[name2] = []);
+    });
+    return setting;
+  }
+  function updateBackBtnStatus2(featureModel, ecModel) {
+    featureModel.setIconStatus("back", history2.count(ecModel) > 1 ? "emphasis" : "normal");
+  }
+  function updateZoomBtnStatus2(featureModel, ecModel, view, payload, api2) {
+    var zoomActive = view._isZoomActive;
+    if (payload && payload.type === "takeGlobalCursor") {
+      zoomActive = payload.key === "dataZoomSelect" ? payload.dataZoomSelectActive : false;
+    }
+    view._isZoomActive = zoomActive;
+    featureModel.setIconStatus("zoom", zoomActive ? "emphasis" : "normal");
+    var brushTargetManager = new BrushTargetManager2(retrieveAxisSetting(featureModel.option), ecModel, {
+      include: ["grid"]
+    });
+    view._brushController.setPanels(brushTargetManager.makePanelOpts(api2, function(targetInfo) {
+      return targetInfo.xAxisDeclared && !targetInfo.yAxisDeclared ? "lineX" : !targetInfo.xAxisDeclared && targetInfo.yAxisDeclared ? "lineY" : "rect";
+    })).enableBrush(zoomActive ? {
+      brushType: "auto",
+      brushStyle: featureModel.getModel("brushStyle").getItemStyle()
+    } : false);
+  }
+  featureManager2.register("dataZoom", DataZoom2);
+  echarts2.registerPreprocessor(function(option) {
+    if (!option) {
+      return;
+    }
+    var dataZoomOpts = option.dataZoom || (option.dataZoom = []);
+    if (!zrUtil2.isArray(dataZoomOpts)) {
+      option.dataZoom = dataZoomOpts = [dataZoomOpts];
+    }
+    var toolboxOpt = option.toolbox;
+    if (toolboxOpt) {
+      if (zrUtil2.isArray(toolboxOpt)) {
+        toolboxOpt = toolboxOpt[0];
+      }
+      if (toolboxOpt && toolboxOpt.feature) {
+        var dataZoomOpt = toolboxOpt.feature.dataZoom;
+        addForAxis("xAxis", dataZoomOpt);
+        addForAxis("yAxis", dataZoomOpt);
+      }
+    }
+    function addForAxis(axisName, dataZoomOpt2) {
+      if (!dataZoomOpt2) {
+        return;
+      }
+      var axisIndicesName = axisName + "Index";
+      var givenAxisIndices = dataZoomOpt2[axisIndicesName];
+      if (givenAxisIndices != null && givenAxisIndices !== "all" && !zrUtil2.isArray(givenAxisIndices)) {
+        givenAxisIndices = givenAxisIndices === false || givenAxisIndices === "none" ? [] : [givenAxisIndices];
+      }
+      forEachComponent(axisName, function(axisOpt, axisIndex) {
+        if (givenAxisIndices != null && givenAxisIndices !== "all" && zrUtil2.indexOf(givenAxisIndices, axisIndex) === -1) {
+          return;
+        }
+        var newOpt = {
+          type: "select",
+          $fromToolbox: true,
+          // Default to be filter
+          filterMode: dataZoomOpt2.filterMode || "filter",
+          // Id for merge mapping.
+          id: DATA_ZOOM_ID_BASE2 + axisName + axisIndex
+        };
+        newOpt[axisIndicesName] = axisIndex;
+        dataZoomOpts.push(newOpt);
+      });
+    }
+    function forEachComponent(mainType, cb) {
+      var opts2 = option[mainType];
+      if (!zrUtil2.isArray(opts2)) {
+        opts2 = opts2 ? [opts2] : [];
+      }
+      each2(opts2, cb);
+    }
+  });
+  var _default68 = DataZoom2;
+  DataZoom_1 = _default68;
+  return DataZoom_1;
+}
+var Restore_1;
+var hasRequiredRestore;
+function requireRestore() {
+  if (hasRequiredRestore)
+    return Restore_1;
+  hasRequiredRestore = 1;
+  var echarts2 = echarts$1;
+  var history2 = requireHistory();
+  var lang2 = lang$2;
+  var featureManager2 = requireFeatureManager();
+  var restoreLang = lang2.toolbox.restore;
+  function Restore2(model2) {
+    this.model = model2;
+  }
+  Restore2.defaultOption = {
+    show: true,
+    /* eslint-disable */
+    icon: "M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",
+    /* eslint-enable */
+    title: restoreLang.title
+  };
+  var proto2 = Restore2.prototype;
+  proto2.onclick = function(ecModel, api2, type2) {
+    history2.clear(ecModel);
+    api2.dispatchAction({
+      type: "restore",
+      from: this.uid
+    });
+  };
+  featureManager2.register("restore", Restore2);
+  echarts2.registerAction({
+    type: "restore",
+    event: "restore",
+    update: "prepareAndUpdate"
+  }, function(payload, ecModel) {
+    ecModel.resetOption("recreate");
+  });
+  var _default68 = Restore2;
+  Restore_1 = _default68;
+  return Restore_1;
+}
+var hasRequiredToolbox;
+function requireToolbox() {
+  if (hasRequiredToolbox)
+    return toolbox;
+  hasRequiredToolbox = 1;
+  requireToolboxModel();
+  requireToolboxView();
+  requireSaveAsImage();
+  requireMagicType();
+  require_DataView();
+  requireDataZoom$1();
+  requireRestore();
+  return toolbox;
+}
+var tooltip = {};
+var TooltipModel$2;
+var hasRequiredTooltipModel;
+function requireTooltipModel() {
+  if (hasRequiredTooltipModel)
+    return TooltipModel$2;
+  hasRequiredTooltipModel = 1;
+  var echarts2 = echarts$1;
+  var _default68 = echarts2.extendComponentModel({
+    type: "tooltip",
+    dependencies: ["axisPointer"],
+    defaultOption: {
+      zlevel: 0,
+      z: 60,
+      show: true,
+      // tooltip主体内容
+      showContent: true,
+      // 'trigger' only works on coordinate system.
+      // 'item' | 'axis' | 'none'
+      trigger: "item",
+      // 'click' | 'mousemove' | 'none'
+      triggerOn: "mousemove|click",
+      alwaysShowContent: false,
+      displayMode: "single",
+      // 'single' | 'multipleByCoordSys'
+      renderMode: "auto",
+      // 'auto' | 'html' | 'richText'
+      // 'auto': use html by default, and use non-html if `document` is not defined
+      // 'html': use html for tooltip
+      // 'richText': use canvas, svg, and etc. for tooltip
+      // 位置 {Array} | {Function}
+      // position: null
+      // Consider triggered from axisPointer handle, verticalAlign should be 'middle'
+      // align: null,
+      // verticalAlign: null,
+      // 是否约束 content 在 viewRect 中。默认 false 是为了兼容以前版本。
+      confine: false,
+      // 内容格式器:{string}(Template) ¦ {Function}
+      // formatter: null
+      showDelay: 0,
+      // 隐藏延迟,单位ms
+      hideDelay: 100,
+      // 动画变换时间,单位s
+      transitionDuration: 0.4,
+      enterable: false,
+      // 提示背景颜色,默认为透明度为0.7的黑色
+      backgroundColor: "rgba(50,50,50,0.7)",
+      // 提示边框颜色
+      borderColor: "#333",
+      // 提示边框圆角,单位px,默认为4
+      borderRadius: 4,
+      // 提示边框线宽,单位px,默认为0(无边框)
+      borderWidth: 0,
+      // 提示内边距,单位px,默认各方向内边距为5,
+      // 接受数组分别设定上右下左边距,同css
+      padding: 5,
+      // Extra css text
+      extraCssText: "",
+      // 坐标轴指示器,坐标轴触发有效
+      axisPointer: {
+        // 默认为直线
+        // 可选为:'line' | 'shadow' | 'cross'
+        type: "line",
+        // type 为 line 的时候有效,指定 tooltip line 所在的轴,可选
+        // 可选 'x' | 'y' | 'angle' | 'radius' | 'auto'
+        // 默认 'auto',会选择类型为 category 的轴,对于双数值轴,笛卡尔坐标系会默认选择 x 轴
+        // 极坐标系会默认选择 angle 轴
+        axis: "auto",
+        animation: "auto",
+        animationDurationUpdate: 200,
+        animationEasingUpdate: "exponentialOut",
+        crossStyle: {
+          color: "#999",
+          width: 1,
+          type: "dashed",
+          // TODO formatter
+          textStyle: {}
+          // lineStyle and shadowStyle should not be specified here,
+          // otherwise it will always override those styles on option.axisPointer.
+        }
+      },
+      textStyle: {
+        color: "#fff",
+        fontSize: 14
+      }
+    }
+  });
+  TooltipModel$2 = _default68;
+  return TooltipModel$2;
+}
+var TooltipContent_1;
+var hasRequiredTooltipContent;
+function requireTooltipContent() {
+  if (hasRequiredTooltipContent)
+    return TooltipContent_1;
+  hasRequiredTooltipContent = 1;
+  var zrUtil2 = util$a;
+  var zrColor = color$2;
+  var eventUtil2 = event$1;
+  var domUtil = dom;
+  var env2 = env_1;
+  var formatUtil2 = format$6;
+  var each2 = zrUtil2.each;
+  var toCamelCase2 = formatUtil2.toCamelCase;
+  var vendors = ["", "-webkit-", "-moz-", "-o-"];
+  var gCssText2 = "position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";
+  function assembleTransition2(duration) {
+    var transitionCurve = "cubic-bezier(0.23, 1, 0.32, 1)";
+    var transitionText = "left " + duration + "s " + transitionCurve + ",top " + duration + "s " + transitionCurve;
+    return zrUtil2.map(vendors, function(vendorPrefix) {
+      return vendorPrefix + "transition:" + transitionText;
+    }).join(";");
+  }
+  function assembleFont2(textStyleModel) {
+    var cssText = [];
+    var fontSize = textStyleModel.get("fontSize");
+    var color2 = textStyleModel.getTextColor();
+    color2 && cssText.push("color:" + color2);
+    cssText.push("font:" + textStyleModel.getFont());
+    var lineHeight = textStyleModel.get("lineHeight");
+    if (lineHeight == null) {
+      lineHeight = Math.round(fontSize * 3 / 2);
+    }
+    fontSize && cssText.push("line-height:" + lineHeight + "px");
+    var shadowColor = textStyleModel.get("textShadowColor");
+    var shadowBlur = textStyleModel.get("textShadowBlur") || 0;
+    var shadowOffsetX = textStyleModel.get("textShadowOffsetX") || 0;
+    var shadowOffsetY = textStyleModel.get("textShadowOffsetY") || 0;
+    shadowBlur && cssText.push("text-shadow:" + shadowOffsetX + "px " + shadowOffsetY + "px " + shadowBlur + "px " + shadowColor);
+    each2(["decoration", "align"], function(name2) {
+      var val = textStyleModel.get(name2);
+      val && cssText.push("text-" + name2 + ":" + val);
+    });
+    return cssText.join(";");
+  }
+  function assembleCssText2(tooltipModel) {
+    var cssText = [];
+    var transitionDuration = tooltipModel.get("transitionDuration");
+    var backgroundColor2 = tooltipModel.get("backgroundColor");
+    var textStyleModel = tooltipModel.getModel("textStyle");
+    var padding = tooltipModel.get("padding");
+    transitionDuration && cssText.push(assembleTransition2(transitionDuration));
+    if (backgroundColor2) {
+      if (env2.canvasSupported) {
+        cssText.push("background-Color:" + backgroundColor2);
+      } else {
+        cssText.push("background-Color:#" + zrColor.toHex(backgroundColor2));
+        cssText.push("filter:alpha(opacity=70)");
+      }
+    }
+    each2(["width", "color", "radius"], function(name2) {
+      var borderName = "border-" + name2;
+      var camelCase2 = toCamelCase2(borderName);
+      var val = tooltipModel.get(camelCase2);
+      val != null && cssText.push(borderName + ":" + val + (name2 === "color" ? "" : "px"));
+    });
+    cssText.push(assembleFont2(textStyleModel));
+    if (padding != null) {
+      cssText.push("padding:" + formatUtil2.normalizeCssArray(padding).join("px ") + "px");
+    }
+    return cssText.join(";") + ";";
+  }
+  function makeStyleCoord2(out2, zr, appendToBody, zrX, zrY) {
+    var zrPainter = zr && zr.painter;
+    if (appendToBody) {
+      var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();
+      if (zrViewportRoot) {
+        domUtil.transformLocalCoord(out2, zrViewportRoot, document.body, zrX, zrY);
+      }
+    } else {
+      out2[0] = zrX;
+      out2[1] = zrY;
+      var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();
+      if (viewportRootOffset) {
+        out2[0] += viewportRootOffset.offsetLeft;
+        out2[1] += viewportRootOffset.offsetTop;
+      }
+    }
+    out2[2] = out2[0] / zr.getWidth();
+    out2[3] = out2[1] / zr.getHeight();
+  }
+  function TooltipContent(container, api2, opt) {
+    if (env2.wxa) {
+      return null;
+    }
+    var el = document.createElement("div");
+    el.domBelongToZr = true;
+    this.el = el;
+    var zr = this._zr = api2.getZr();
+    var appendToBody = this._appendToBody = opt && opt.appendToBody;
+    this._styleCoord = [0, 0, 0, 0];
+    makeStyleCoord2(this._styleCoord, zr, appendToBody, api2.getWidth() / 2, api2.getHeight() / 2);
+    if (appendToBody) {
+      document.body.appendChild(el);
+    } else {
+      container.appendChild(el);
+    }
+    this._container = container;
+    this._show = false;
+    this._hideTimeout;
+    var self2 = this;
+    el.onmouseenter = function() {
+      if (self2._enterable) {
+        clearTimeout(self2._hideTimeout);
+        self2._show = true;
+      }
+      self2._inContent = true;
+    };
+    el.onmousemove = function(e2) {
+      e2 = e2 || window.event;
+      if (!self2._enterable) {
+        var handler = zr.handler;
+        var zrViewportRoot = zr.painter.getViewportRoot();
+        eventUtil2.normalizeEvent(zrViewportRoot, e2, true);
+        handler.dispatch("mousemove", e2);
+      }
+    };
+    el.onmouseleave = function() {
+      if (self2._enterable) {
+        if (self2._show) {
+          self2.hideLater(self2._hideDelay);
+        }
+      }
+      self2._inContent = false;
+    };
+  }
+  TooltipContent.prototype = {
+    constructor: TooltipContent,
+    /**
+     * @private
+     * @type {boolean}
+     */
+    _enterable: true,
+    /**
+     * Update when tooltip is rendered
+     */
+    update: function(tooltipModel) {
+      var container = this._container;
+      var stl = container.currentStyle || document.defaultView.getComputedStyle(container);
+      var domStyle = container.style;
+      if (domStyle.position !== "absolute" && stl.position !== "absolute") {
+        domStyle.position = "relative";
+      }
+      var alwaysShowContent = tooltipModel.get("alwaysShowContent");
+      alwaysShowContent && this._moveTooltipIfResized();
+    },
+    /**
+     * when `alwaysShowContent` is true,
+     * we should move the tooltip after chart resized
+     */
+    _moveTooltipIfResized: function() {
+      var ratioX = this._styleCoord[2];
+      var ratioY = this._styleCoord[3];
+      var realX = ratioX * this._zr.getWidth();
+      var realY = ratioY * this._zr.getHeight();
+      this.moveTo(realX, realY);
+    },
+    show: function(tooltipModel) {
+      clearTimeout(this._hideTimeout);
+      var el = this.el;
+      var styleCoord = this._styleCoord;
+      el.style.cssText = gCssText2 + assembleCssText2(tooltipModel) + ";left:" + styleCoord[0] + "px;top:" + styleCoord[1] + "px;" + (tooltipModel.get("extraCssText") || "");
+      el.style.display = el.innerHTML ? "block" : "none";
+      el.style.pointerEvents = this._enterable ? "auto" : "none";
+      this._show = true;
+    },
+    setContent: function(content) {
+      this.el.innerHTML = content == null ? "" : content;
+    },
+    setEnterable: function(enterable) {
+      this._enterable = enterable;
+    },
+    getSize: function() {
+      var el = this.el;
+      return [el.clientWidth, el.clientHeight];
+    },
+    moveTo: function(zrX, zrY) {
+      var styleCoord = this._styleCoord;
+      makeStyleCoord2(styleCoord, this._zr, this._appendToBody, zrX, zrY);
+      var style2 = this.el.style;
+      style2.left = styleCoord[0] + "px";
+      style2.top = styleCoord[1] + "px";
+    },
+    hide: function() {
+      this.el.style.display = "none";
+      this._show = false;
+    },
+    hideLater: function(time2) {
+      if (this._show && !(this._inContent && this._enterable)) {
+        if (time2) {
+          this._hideDelay = time2;
+          this._show = false;
+          this._hideTimeout = setTimeout(zrUtil2.bind(this.hide, this), time2);
+        } else {
+          this.hide();
+        }
+      }
+    },
+    isShow: function() {
+      return this._show;
+    },
+    dispose: function() {
+      this.el.parentNode.removeChild(this.el);
+    },
+    getOuterSize: function() {
+      var width = this.el.clientWidth;
+      var height = this.el.clientHeight;
+      if (document.defaultView && document.defaultView.getComputedStyle) {
+        var stl = document.defaultView.getComputedStyle(this.el);
+        if (stl) {
+          width += parseInt(stl.borderLeftWidth, 10) + parseInt(stl.borderRightWidth, 10);
+          height += parseInt(stl.borderTopWidth, 10) + parseInt(stl.borderBottomWidth, 10);
+        }
+      }
+      return {
+        width,
+        height
+      };
+    }
+  };
+  var _default68 = TooltipContent;
+  TooltipContent_1 = _default68;
+  return TooltipContent_1;
+}
+var TooltipRichContent_1;
+var hasRequiredTooltipRichContent;
+function requireTooltipRichContent() {
+  if (hasRequiredTooltipRichContent)
+    return TooltipRichContent_1;
+  hasRequiredTooltipRichContent = 1;
+  var zrUtil2 = util$a;
+  var Text2 = Text_1;
+  var graphicUtil2 = graphic$6;
+  function makeStyleCoord2(out2, zr, zrX, zrY) {
+    out2[0] = zrX;
+    out2[1] = zrY;
+    out2[2] = out2[0] / zr.getWidth();
+    out2[3] = out2[1] / zr.getHeight();
+  }
+  function TooltipRichContent2(api2) {
+    var zr = this._zr = api2.getZr();
+    this._styleCoord = [0, 0, 0, 0];
+    makeStyleCoord2(this._styleCoord, zr, api2.getWidth() / 2, api2.getHeight() / 2);
+    this._show = false;
+    this._hideTimeout;
+  }
+  TooltipRichContent2.prototype = {
+    constructor: TooltipRichContent2,
+    /**
+     * @private
+     * @type {boolean}
+     */
+    _enterable: true,
+    /**
+     * Update when tooltip is rendered
+     */
+    update: function(tooltipModel) {
+      var alwaysShowContent = tooltipModel.get("alwaysShowContent");
+      alwaysShowContent && this._moveTooltipIfResized();
+    },
+    /**
+     * when `alwaysShowContent` is true,
+     * we should move the tooltip after chart resized
+     */
+    _moveTooltipIfResized: function() {
+      var ratioX = this._styleCoord[2];
+      var ratioY = this._styleCoord[3];
+      var realX = ratioX * this._zr.getWidth();
+      var realY = ratioY * this._zr.getHeight();
+      this.moveTo(realX, realY);
+    },
+    show: function(tooltipModel) {
+      if (this._hideTimeout) {
+        clearTimeout(this._hideTimeout);
+      }
+      this.el.attr("show", true);
+      this._show = true;
+    },
+    /**
+     * Set tooltip content
+     *
+     * @param {string} content rich text string of content
+     * @param {Object} markerRich rich text style
+     * @param {Object} tooltipModel tooltip model
+     */
+    setContent: function(content, markerRich, tooltipModel) {
+      if (this.el) {
+        this._zr.remove(this.el);
+      }
+      var markers = {};
+      var text2 = content;
+      var prefix = "{marker";
+      var suffix = "|}";
+      var startId = text2.indexOf(prefix);
+      while (startId >= 0) {
+        var endId = text2.indexOf(suffix);
+        var name2 = text2.substr(startId + prefix.length, endId - startId - prefix.length);
+        if (name2.indexOf("sub") > -1) {
+          markers["marker" + name2] = {
+            textWidth: 4,
+            textHeight: 4,
+            textBorderRadius: 2,
+            textBackgroundColor: markerRich[name2],
+            // TODO: textOffset is not implemented for rich text
+            textOffset: [3, 0]
+          };
+        } else {
+          markers["marker" + name2] = {
+            textWidth: 10,
+            textHeight: 10,
+            textBorderRadius: 5,
+            textBackgroundColor: markerRich[name2]
+          };
+        }
+        text2 = text2.substr(endId + 1);
+        startId = text2.indexOf("{marker");
+      }
+      var textStyleModel = tooltipModel.getModel("textStyle");
+      var fontSize = textStyleModel.get("fontSize");
+      var lineHeight = tooltipModel.get("textLineHeight");
+      if (lineHeight == null) {
+        lineHeight = Math.round(fontSize * 3 / 2);
+      }
+      this.el = new Text2({
+        style: graphicUtil2.setTextStyle({}, textStyleModel, {
+          rich: markers,
+          text: content,
+          textBackgroundColor: tooltipModel.get("backgroundColor"),
+          textBorderRadius: tooltipModel.get("borderRadius"),
+          textFill: tooltipModel.get("textStyle.color"),
+          textPadding: tooltipModel.get("padding"),
+          textLineHeight: lineHeight
+        }),
+        z: tooltipModel.get("z")
+      });
+      this._zr.add(this.el);
+      var self2 = this;
+      this.el.on("mouseover", function() {
+        if (self2._enterable) {
+          clearTimeout(self2._hideTimeout);
+          self2._show = true;
+        }
+        self2._inContent = true;
+      });
+      this.el.on("mouseout", function() {
+        if (self2._enterable) {
+          if (self2._show) {
+            self2.hideLater(self2._hideDelay);
+          }
+        }
+        self2._inContent = false;
+      });
+    },
+    setEnterable: function(enterable) {
+      this._enterable = enterable;
+    },
+    getSize: function() {
+      var bounding = this.el.getBoundingRect();
+      return [bounding.width, bounding.height];
+    },
+    moveTo: function(x2, y2) {
+      if (this.el) {
+        var styleCoord = this._styleCoord;
+        makeStyleCoord2(styleCoord, this._zr, x2, y2);
+        this.el.attr("position", [styleCoord[0], styleCoord[1]]);
+      }
+    },
+    hide: function() {
+      if (this.el) {
+        this.el.hide();
+      }
+      this._show = false;
+    },
+    hideLater: function(time2) {
+      if (this._show && !(this._inContent && this._enterable)) {
+        if (time2) {
+          this._hideDelay = time2;
+          this._show = false;
+          this._hideTimeout = setTimeout(zrUtil2.bind(this.hide, this), time2);
+        } else {
+          this.hide();
+        }
+      }
+    },
+    isShow: function() {
+      return this._show;
+    },
+    dispose: function() {
+      clearTimeout(this._hideTimeout);
+      if (this.el) {
+        this._zr.remove(this.el);
+      }
+    },
+    getOuterSize: function() {
+      var size = this.getSize();
+      return {
+        width: size[0],
+        height: size[1]
+      };
+    }
+  };
+  var _default68 = TooltipRichContent2;
+  TooltipRichContent_1 = _default68;
+  return TooltipRichContent_1;
+}
+var TooltipView$2;
+var hasRequiredTooltipView;
+function requireTooltipView() {
+  if (hasRequiredTooltipView)
+    return TooltipView$2;
+  hasRequiredTooltipView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var env2 = env_1;
+  var TooltipContent = requireTooltipContent();
+  var TooltipRichContent2 = requireTooltipRichContent();
+  var formatUtil2 = format$6;
+  var numberUtil2 = requireNumber();
+  var graphic2 = graphic$6;
+  var findPointFromSeries2 = requireFindPointFromSeries();
+  var layoutUtil = layout$5;
+  var Model2 = Model_1;
+  var globalListener2 = requireGlobalListener();
+  var axisHelper2 = requireAxisHelper();
+  var axisPointerViewHelper = requireViewHelper();
+  var _model2 = model;
+  var getTooltipRenderMode2 = _model2.getTooltipRenderMode;
+  var bind4 = zrUtil2.bind;
+  var each2 = zrUtil2.each;
+  var parsePercent2 = numberUtil2.parsePercent;
+  var proxyRect2 = new graphic2.Rect({
+    shape: {
+      x: -1,
+      y: -1,
+      width: 2,
+      height: 2
+    }
+  });
+  var _default68 = echarts2.extendComponentView({
+    type: "tooltip",
+    init: function(ecModel, api2) {
+      if (env2.node) {
+        return;
+      }
+      var tooltipModel = ecModel.getComponent("tooltip");
+      var renderMode = tooltipModel.get("renderMode");
+      this._renderMode = getTooltipRenderMode2(renderMode);
+      var tooltipContent;
+      if (this._renderMode === "html") {
+        tooltipContent = new TooltipContent(api2.getDom(), api2, {
+          appendToBody: tooltipModel.get("appendToBody", true)
+        });
+        this._newLine = "<br/>";
+      } else {
+        tooltipContent = new TooltipRichContent2(api2);
+        this._newLine = "\n";
+      }
+      this._tooltipContent = tooltipContent;
+    },
+    render: function(tooltipModel, ecModel, api2) {
+      if (env2.node) {
+        return;
+      }
+      this.group.removeAll();
+      this._tooltipModel = tooltipModel;
+      this._ecModel = ecModel;
+      this._api = api2;
+      this._lastDataByCoordSys = null;
+      this._alwaysShowContent = tooltipModel.get("alwaysShowContent");
+      var tooltipContent = this._tooltipContent;
+      tooltipContent.update(tooltipModel);
+      tooltipContent.setEnterable(tooltipModel.get("enterable"));
+      this._initGlobalListener();
+      this._keepShow();
+    },
+    _initGlobalListener: function() {
+      var tooltipModel = this._tooltipModel;
+      var triggerOn = tooltipModel.get("triggerOn");
+      globalListener2.register("itemTooltip", this._api, bind4(function(currTrigger, e2, dispatchAction2) {
+        if (triggerOn !== "none") {
+          if (triggerOn.indexOf(currTrigger) >= 0) {
+            this._tryShow(e2, dispatchAction2);
+          } else if (currTrigger === "leave") {
+            this._hide(dispatchAction2);
+          }
+        }
+      }, this));
+    },
+    _keepShow: function() {
+      var tooltipModel = this._tooltipModel;
+      var ecModel = this._ecModel;
+      var api2 = this._api;
+      if (this._lastX != null && this._lastY != null && tooltipModel.get("triggerOn") !== "none") {
+        var self2 = this;
+        clearTimeout(this._refreshUpdateTimeout);
+        this._refreshUpdateTimeout = setTimeout(function() {
+          !api2.isDisposed() && self2.manuallyShowTip(tooltipModel, ecModel, api2, {
+            x: self2._lastX,
+            y: self2._lastY
+          });
+        });
+      }
+    },
+    /**
+     * Show tip manually by
+     * dispatchAction({
+     *     type: 'showTip',
+     *     x: 10,
+     *     y: 10
+     * });
+     * Or
+     * dispatchAction({
+     *      type: 'showTip',
+     *      seriesIndex: 0,
+     *      dataIndex or dataIndexInside or name
+     * });
+     *
+     *  TODO Batch
+     */
+    manuallyShowTip: function(tooltipModel, ecModel, api2, payload) {
+      if (payload.from === this.uid || env2.node) {
+        return;
+      }
+      var dispatchAction2 = makeDispatchAction2(payload, api2);
+      this._ticket = "";
+      var dataByCoordSys = payload.dataByCoordSys;
+      if (payload.tooltip && payload.x != null && payload.y != null) {
+        var el = proxyRect2;
+        el.position = [payload.x, payload.y];
+        el.update();
+        el.tooltip = payload.tooltip;
+        this._tryShow({
+          offsetX: payload.x,
+          offsetY: payload.y,
+          target: el
+        }, dispatchAction2);
+      } else if (dataByCoordSys) {
+        this._tryShow({
+          offsetX: payload.x,
+          offsetY: payload.y,
+          position: payload.position,
+          dataByCoordSys: payload.dataByCoordSys,
+          tooltipOption: payload.tooltipOption
+        }, dispatchAction2);
+      } else if (payload.seriesIndex != null) {
+        if (this._manuallyAxisShowTip(tooltipModel, ecModel, api2, payload)) {
+          return;
+        }
+        var pointInfo = findPointFromSeries2(payload, ecModel);
+        var cx = pointInfo.point[0];
+        var cy = pointInfo.point[1];
+        if (cx != null && cy != null) {
+          this._tryShow({
+            offsetX: cx,
+            offsetY: cy,
+            position: payload.position,
+            target: pointInfo.el
+          }, dispatchAction2);
+        }
+      } else if (payload.x != null && payload.y != null) {
+        api2.dispatchAction({
+          type: "updateAxisPointer",
+          x: payload.x,
+          y: payload.y
+        });
+        this._tryShow({
+          offsetX: payload.x,
+          offsetY: payload.y,
+          position: payload.position,
+          target: api2.getZr().findHover(payload.x, payload.y).target
+        }, dispatchAction2);
+      }
+    },
+    manuallyHideTip: function(tooltipModel, ecModel, api2, payload) {
+      var tooltipContent = this._tooltipContent;
+      if (!this._alwaysShowContent && this._tooltipModel) {
+        tooltipContent.hideLater(this._tooltipModel.get("hideDelay"));
+      }
+      this._lastX = this._lastY = null;
+      if (payload.from !== this.uid) {
+        this._hide(makeDispatchAction2(payload, api2));
+      }
+    },
+    // Be compatible with previous design, that is, when tooltip.type is 'axis' and
+    // dispatchAction 'showTip' with seriesIndex and dataIndex will trigger axis pointer
+    // and tooltip.
+    _manuallyAxisShowTip: function(tooltipModel, ecModel, api2, payload) {
+      var seriesIndex = payload.seriesIndex;
+      var dataIndex = payload.dataIndex;
+      var coordSysAxesInfo = ecModel.getComponent("axisPointer").coordSysAxesInfo;
+      if (seriesIndex == null || dataIndex == null || coordSysAxesInfo == null) {
+        return;
+      }
+      var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
+      if (!seriesModel) {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var tooltipModel = buildTooltipModel2([data2.getItemModel(dataIndex), seriesModel, (seriesModel.coordinateSystem || {}).model, tooltipModel]);
+      if (tooltipModel.get("trigger") !== "axis") {
+        return;
+      }
+      api2.dispatchAction({
+        type: "updateAxisPointer",
+        seriesIndex,
+        dataIndex,
+        position: payload.position
+      });
+      return true;
+    },
+    _tryShow: function(e2, dispatchAction2) {
+      var el = e2.target;
+      var tooltipModel = this._tooltipModel;
+      if (!tooltipModel) {
+        return;
+      }
+      this._lastX = e2.offsetX;
+      this._lastY = e2.offsetY;
+      var dataByCoordSys = e2.dataByCoordSys;
+      if (dataByCoordSys && dataByCoordSys.length) {
+        this._showAxisTooltip(dataByCoordSys, e2);
+      } else if (el && el.dataIndex != null) {
+        this._lastDataByCoordSys = null;
+        this._showSeriesItemTooltip(e2, el, dispatchAction2);
+      } else if (el && el.tooltip) {
+        this._lastDataByCoordSys = null;
+        this._showComponentItemTooltip(e2, el, dispatchAction2);
+      } else {
+        this._lastDataByCoordSys = null;
+        this._hide(dispatchAction2);
+      }
+    },
+    _showOrMove: function(tooltipModel, cb) {
+      var delay = tooltipModel.get("showDelay");
+      cb = zrUtil2.bind(cb, this);
+      clearTimeout(this._showTimout);
+      delay > 0 ? this._showTimout = setTimeout(cb, delay) : cb();
+    },
+    _showAxisTooltip: function(dataByCoordSys, e2) {
+      var ecModel = this._ecModel;
+      var globalTooltipModel = this._tooltipModel;
+      var point = [e2.offsetX, e2.offsetY];
+      var singleDefaultHTML = [];
+      var singleParamsList = [];
+      var singleTooltipModel = buildTooltipModel2([e2.tooltipOption, globalTooltipModel]);
+      var renderMode = this._renderMode;
+      var newLine = this._newLine;
+      var markers = {};
+      each2(dataByCoordSys, function(itemCoordSys) {
+        each2(itemCoordSys.dataByAxis, function(item) {
+          var axisModel = ecModel.getComponent(item.axisDim + "Axis", item.axisIndex);
+          var axisValue = item.value;
+          var seriesDefaultHTML = [];
+          if (!axisModel || axisValue == null) {
+            return;
+          }
+          var valueLabel = axisPointerViewHelper.getValueLabel(axisValue, axisModel.axis, ecModel, item.seriesDataIndices, item.valueLabelOpt);
+          zrUtil2.each(item.seriesDataIndices, function(idxItem) {
+            var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);
+            var dataIndex = idxItem.dataIndexInside;
+            var dataParams = series && series.getDataParams(dataIndex);
+            dataParams.axisDim = item.axisDim;
+            dataParams.axisIndex = item.axisIndex;
+            dataParams.axisType = item.axisType;
+            dataParams.axisId = item.axisId;
+            dataParams.axisValue = axisHelper2.getAxisRawValue(axisModel.axis, axisValue);
+            dataParams.axisValueLabel = valueLabel;
+            if (dataParams) {
+              singleParamsList.push(dataParams);
+              var seriesTooltip = series.formatTooltip(dataIndex, true, null, renderMode);
+              var html;
+              if (zrUtil2.isObject(seriesTooltip)) {
+                html = seriesTooltip.html;
+                var newMarkers = seriesTooltip.markers;
+                zrUtil2.merge(markers, newMarkers);
+              } else {
+                html = seriesTooltip;
+              }
+              seriesDefaultHTML.push(html);
+            }
+          });
+          var firstLine = valueLabel;
+          if (renderMode !== "html") {
+            singleDefaultHTML.push(seriesDefaultHTML.join(newLine));
+          } else {
+            singleDefaultHTML.push((firstLine ? formatUtil2.encodeHTML(firstLine) + newLine : "") + seriesDefaultHTML.join(newLine));
+          }
+        });
+      }, this);
+      singleDefaultHTML.reverse();
+      singleDefaultHTML = singleDefaultHTML.join(this._newLine + this._newLine);
+      var positionExpr = e2.position;
+      this._showOrMove(singleTooltipModel, function() {
+        if (this._updateContentNotChangedOnAxis(dataByCoordSys)) {
+          this._updatePosition(singleTooltipModel, positionExpr, point[0], point[1], this._tooltipContent, singleParamsList);
+        } else {
+          this._showTooltipContent(singleTooltipModel, singleDefaultHTML, singleParamsList, Math.random(), point[0], point[1], positionExpr, void 0, markers);
+        }
+      });
+    },
+    _showSeriesItemTooltip: function(e2, el, dispatchAction2) {
+      var ecModel = this._ecModel;
+      var seriesIndex = el.seriesIndex;
+      var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
+      var dataModel = el.dataModel || seriesModel;
+      var dataIndex = el.dataIndex;
+      var dataType = el.dataType;
+      var data2 = dataModel.getData(dataType);
+      var tooltipModel = buildTooltipModel2([data2.getItemModel(dataIndex), dataModel, seriesModel && (seriesModel.coordinateSystem || {}).model, this._tooltipModel]);
+      var tooltipTrigger = tooltipModel.get("trigger");
+      if (tooltipTrigger != null && tooltipTrigger !== "item") {
+        return;
+      }
+      var params2 = dataModel.getDataParams(dataIndex, dataType);
+      var seriesTooltip = dataModel.formatTooltip(dataIndex, false, dataType, this._renderMode);
+      var defaultHtml;
+      var markers;
+      if (zrUtil2.isObject(seriesTooltip)) {
+        defaultHtml = seriesTooltip.html;
+        markers = seriesTooltip.markers;
+      } else {
+        defaultHtml = seriesTooltip;
+        markers = null;
+      }
+      var asyncTicket = "item_" + dataModel.name + "_" + dataIndex;
+      this._showOrMove(tooltipModel, function() {
+        this._showTooltipContent(tooltipModel, defaultHtml, params2, asyncTicket, e2.offsetX, e2.offsetY, e2.position, e2.target, markers);
+      });
+      dispatchAction2({
+        type: "showTip",
+        dataIndexInside: dataIndex,
+        dataIndex: data2.getRawIndex(dataIndex),
+        seriesIndex,
+        from: this.uid
+      });
+    },
+    _showComponentItemTooltip: function(e2, el, dispatchAction2) {
+      var tooltipOpt = el.tooltip;
+      if (typeof tooltipOpt === "string") {
+        var content = tooltipOpt;
+        tooltipOpt = {
+          content,
+          // Fixed formatter
+          formatter: content
+        };
+      }
+      var subTooltipModel = new Model2(tooltipOpt, this._tooltipModel, this._ecModel);
+      var defaultHtml = subTooltipModel.get("content");
+      var asyncTicket = Math.random();
+      this._showOrMove(subTooltipModel, function() {
+        this._showTooltipContent(subTooltipModel, defaultHtml, subTooltipModel.get("formatterParams") || {}, asyncTicket, e2.offsetX, e2.offsetY, e2.position, el);
+      });
+      dispatchAction2({
+        type: "showTip",
+        from: this.uid
+      });
+    },
+    _showTooltipContent: function(tooltipModel, defaultHtml, params2, asyncTicket, x2, y2, positionExpr, el, markers) {
+      this._ticket = "";
+      if (!tooltipModel.get("showContent") || !tooltipModel.get("show")) {
+        return;
+      }
+      var tooltipContent = this._tooltipContent;
+      var formatter = tooltipModel.get("formatter");
+      positionExpr = positionExpr || tooltipModel.get("position");
+      var html = defaultHtml;
+      if (formatter && typeof formatter === "string") {
+        html = formatUtil2.formatTpl(formatter, params2, true);
+      } else if (typeof formatter === "function") {
+        var callback = bind4(function(cbTicket, html2) {
+          if (cbTicket === this._ticket) {
+            tooltipContent.setContent(html2, markers, tooltipModel);
+            this._updatePosition(tooltipModel, positionExpr, x2, y2, tooltipContent, params2, el);
+          }
+        }, this);
+        this._ticket = asyncTicket;
+        html = formatter(params2, asyncTicket, callback);
+      }
+      tooltipContent.setContent(html, markers, tooltipModel);
+      tooltipContent.show(tooltipModel);
+      this._updatePosition(tooltipModel, positionExpr, x2, y2, tooltipContent, params2, el);
+    },
+    /**
+     * @param  {string|Function|Array.<number>|Object} positionExpr
+     * @param  {number} x Mouse x
+     * @param  {number} y Mouse y
+     * @param  {boolean} confine Whether confine tooltip content in view rect.
+     * @param  {Object|<Array.<Object>} params
+     * @param  {module:zrender/Element} el target element
+     * @param  {module:echarts/ExtensionAPI} api
+     * @return {Array.<number>}
+     */
+    _updatePosition: function(tooltipModel, positionExpr, x2, y2, content, params2, el) {
+      var viewWidth = this._api.getWidth();
+      var viewHeight = this._api.getHeight();
+      positionExpr = positionExpr || tooltipModel.get("position");
+      var contentSize = content.getSize();
+      var align = tooltipModel.get("align");
+      var vAlign = tooltipModel.get("verticalAlign");
+      var rect = el && el.getBoundingRect().clone();
+      el && rect.applyTransform(el.transform);
+      if (typeof positionExpr === "function") {
+        positionExpr = positionExpr([x2, y2], params2, content.el, rect, {
+          viewSize: [viewWidth, viewHeight],
+          contentSize: contentSize.slice()
+        });
+      }
+      if (zrUtil2.isArray(positionExpr)) {
+        x2 = parsePercent2(positionExpr[0], viewWidth);
+        y2 = parsePercent2(positionExpr[1], viewHeight);
+      } else if (zrUtil2.isObject(positionExpr)) {
+        positionExpr.width = contentSize[0];
+        positionExpr.height = contentSize[1];
+        var layoutRect = layoutUtil.getLayoutRect(positionExpr, {
+          width: viewWidth,
+          height: viewHeight
+        });
+        x2 = layoutRect.x;
+        y2 = layoutRect.y;
+        align = null;
+        vAlign = null;
+      } else if (typeof positionExpr === "string" && el) {
+        var pos = calcTooltipPosition2(positionExpr, rect, contentSize);
+        x2 = pos[0];
+        y2 = pos[1];
+      } else {
+        var pos = refixTooltipPosition2(x2, y2, content, viewWidth, viewHeight, align ? null : 20, vAlign ? null : 20);
+        x2 = pos[0];
+        y2 = pos[1];
+      }
+      align && (x2 -= isCenterAlign2(align) ? contentSize[0] / 2 : align === "right" ? contentSize[0] : 0);
+      vAlign && (y2 -= isCenterAlign2(vAlign) ? contentSize[1] / 2 : vAlign === "bottom" ? contentSize[1] : 0);
+      if (tooltipModel.get("confine")) {
+        var pos = confineTooltipPosition2(x2, y2, content, viewWidth, viewHeight);
+        x2 = pos[0];
+        y2 = pos[1];
+      }
+      content.moveTo(x2, y2);
+    },
+    // FIXME
+    // Should we remove this but leave this to user?
+    _updateContentNotChangedOnAxis: function(dataByCoordSys) {
+      var lastCoordSys = this._lastDataByCoordSys;
+      var contentNotChanged = !!lastCoordSys && lastCoordSys.length === dataByCoordSys.length;
+      contentNotChanged && each2(lastCoordSys, function(lastItemCoordSys, indexCoordSys) {
+        var lastDataByAxis = lastItemCoordSys.dataByAxis || {};
+        var thisItemCoordSys = dataByCoordSys[indexCoordSys] || {};
+        var thisDataByAxis = thisItemCoordSys.dataByAxis || [];
+        contentNotChanged &= lastDataByAxis.length === thisDataByAxis.length;
+        contentNotChanged && each2(lastDataByAxis, function(lastItem, indexAxis) {
+          var thisItem = thisDataByAxis[indexAxis] || {};
+          var lastIndices = lastItem.seriesDataIndices || [];
+          var newIndices = thisItem.seriesDataIndices || [];
+          contentNotChanged &= lastItem.value === thisItem.value && lastItem.axisType === thisItem.axisType && lastItem.axisId === thisItem.axisId && lastIndices.length === newIndices.length;
+          contentNotChanged && each2(lastIndices, function(lastIdxItem, j2) {
+            var newIdxItem = newIndices[j2];
+            contentNotChanged &= lastIdxItem.seriesIndex === newIdxItem.seriesIndex && lastIdxItem.dataIndex === newIdxItem.dataIndex;
+          });
+        });
+      });
+      this._lastDataByCoordSys = dataByCoordSys;
+      return !!contentNotChanged;
+    },
+    _hide: function(dispatchAction2) {
+      this._lastDataByCoordSys = null;
+      dispatchAction2({
+        type: "hideTip",
+        from: this.uid
+      });
+    },
+    dispose: function(ecModel, api2) {
+      if (env2.node) {
+        return;
+      }
+      this._tooltipContent.dispose();
+      globalListener2.unregister("itemTooltip", api2);
+    }
+  });
+  function buildTooltipModel2(modelCascade) {
+    var resultModel = modelCascade.pop();
+    while (modelCascade.length) {
+      var tooltipOpt = modelCascade.pop();
+      if (tooltipOpt) {
+        if (Model2.isInstance(tooltipOpt)) {
+          tooltipOpt = tooltipOpt.get("tooltip", true);
+        }
+        if (typeof tooltipOpt === "string") {
+          tooltipOpt = {
+            formatter: tooltipOpt
+          };
+        }
+        resultModel = new Model2(tooltipOpt, resultModel, resultModel.ecModel);
+      }
+    }
+    return resultModel;
+  }
+  function makeDispatchAction2(payload, api2) {
+    return payload.dispatchAction || zrUtil2.bind(api2.dispatchAction, api2);
+  }
+  function refixTooltipPosition2(x2, y2, content, viewWidth, viewHeight, gapH, gapV) {
+    var size = content.getOuterSize();
+    var width = size.width;
+    var height = size.height;
+    if (gapH != null) {
+      if (x2 + width + gapH > viewWidth) {
+        x2 -= width + gapH;
+      } else {
+        x2 += gapH;
+      }
+    }
+    if (gapV != null) {
+      if (y2 + height + gapV > viewHeight) {
+        y2 -= height + gapV;
+      } else {
+        y2 += gapV;
+      }
+    }
+    return [x2, y2];
+  }
+  function confineTooltipPosition2(x2, y2, content, viewWidth, viewHeight) {
+    var size = content.getOuterSize();
+    var width = size.width;
+    var height = size.height;
+    x2 = Math.min(x2 + width, viewWidth) - width;
+    y2 = Math.min(y2 + height, viewHeight) - height;
+    x2 = Math.max(x2, 0);
+    y2 = Math.max(y2, 0);
+    return [x2, y2];
+  }
+  function calcTooltipPosition2(position2, rect, contentSize) {
+    var domWidth = contentSize[0];
+    var domHeight = contentSize[1];
+    var gap = 5;
+    var x2 = 0;
+    var y2 = 0;
+    var rectWidth = rect.width;
+    var rectHeight = rect.height;
+    switch (position2) {
+      case "inside":
+        x2 = rect.x + rectWidth / 2 - domWidth / 2;
+        y2 = rect.y + rectHeight / 2 - domHeight / 2;
+        break;
+      case "top":
+        x2 = rect.x + rectWidth / 2 - domWidth / 2;
+        y2 = rect.y - domHeight - gap;
+        break;
+      case "bottom":
+        x2 = rect.x + rectWidth / 2 - domWidth / 2;
+        y2 = rect.y + rectHeight + gap;
+        break;
+      case "left":
+        x2 = rect.x - domWidth - gap;
+        y2 = rect.y + rectHeight / 2 - domHeight / 2;
+        break;
+      case "right":
+        x2 = rect.x + rectWidth + gap;
+        y2 = rect.y + rectHeight / 2 - domHeight / 2;
+    }
+    return [x2, y2];
+  }
+  function isCenterAlign2(align) {
+    return align === "center" || align === "middle";
+  }
+  TooltipView$2 = _default68;
+  return TooltipView$2;
+}
+var hasRequiredTooltip;
+function requireTooltip() {
+  if (hasRequiredTooltip)
+    return tooltip;
+  hasRequiredTooltip = 1;
+  var echarts2 = echarts$1;
+  requireAxisPointer();
+  requireTooltipModel();
+  requireTooltipView();
+  echarts2.registerAction(
+    {
+      type: "showTip",
+      event: "showTip",
+      update: "tooltip:manuallyShowTip"
+    },
+    // noop
+    function() {
+    }
+  );
+  echarts2.registerAction(
+    {
+      type: "hideTip",
+      event: "hideTip",
+      update: "tooltip:manuallyHideTip"
+    },
+    // noop
+    function() {
+    }
+  );
+  return tooltip;
+}
+var brush$2 = {};
+var preprocessor$2;
+var hasRequiredPreprocessor$2;
+function requirePreprocessor$2() {
+  if (hasRequiredPreprocessor$2)
+    return preprocessor$2;
+  hasRequiredPreprocessor$2 = 1;
+  var zrUtil2 = util$a;
+  var DEFAULT_TOOLBOX_BTNS2 = ["rect", "polygon", "keep", "clear"];
+  function _default68(option, isNew) {
+    var brushComponents = option && option.brush;
+    if (!zrUtil2.isArray(brushComponents)) {
+      brushComponents = brushComponents ? [brushComponents] : [];
+    }
+    if (!brushComponents.length) {
+      return;
+    }
+    var brushComponentSpecifiedBtns = [];
+    zrUtil2.each(brushComponents, function(brushOpt) {
+      var tbs = brushOpt.hasOwnProperty("toolbox") ? brushOpt.toolbox : [];
+      if (tbs instanceof Array) {
+        brushComponentSpecifiedBtns = brushComponentSpecifiedBtns.concat(tbs);
+      }
+    });
+    var toolbox2 = option && option.toolbox;
+    if (zrUtil2.isArray(toolbox2)) {
+      toolbox2 = toolbox2[0];
+    }
+    if (!toolbox2) {
+      toolbox2 = {
+        feature: {}
+      };
+      option.toolbox = [toolbox2];
+    }
+    var toolboxFeature = toolbox2.feature || (toolbox2.feature = {});
+    var toolboxBrush = toolboxFeature.brush || (toolboxFeature.brush = {});
+    var brushTypes = toolboxBrush.type || (toolboxBrush.type = []);
+    brushTypes.push.apply(brushTypes, brushComponentSpecifiedBtns);
+    removeDuplicate2(brushTypes);
+    if (isNew && !brushTypes.length) {
+      brushTypes.push.apply(brushTypes, DEFAULT_TOOLBOX_BTNS2);
+    }
+  }
+  function removeDuplicate2(arr) {
+    var map2 = {};
+    zrUtil2.each(arr, function(val) {
+      map2[val] = 1;
+    });
+    arr.length = 0;
+    zrUtil2.each(map2, function(flag, val) {
+      arr.push(val);
+    });
+  }
+  preprocessor$2 = _default68;
+  return preprocessor$2;
+}
+var visualEncoding$1 = {};
+var visualSolution = {};
+var hasRequiredVisualSolution;
+function requireVisualSolution() {
+  if (hasRequiredVisualSolution)
+    return visualSolution;
+  hasRequiredVisualSolution = 1;
+  var zrUtil2 = util$a;
+  var VisualMapping2 = requireVisualMapping();
+  var each2 = zrUtil2.each;
+  function hasKeys2(obj2) {
+    if (obj2) {
+      for (var name2 in obj2) {
+        if (obj2.hasOwnProperty(name2)) {
+          return true;
+        }
+      }
+    }
+  }
+  function createVisualMappings2(option, stateList, supplementVisualOption) {
+    var visualMappings = {};
+    each2(stateList, function(state) {
+      var mappings = visualMappings[state] = createMappings();
+      each2(option[state], function(visualData, visualType) {
+        if (!VisualMapping2.isValidType(visualType)) {
+          return;
+        }
+        var mappingOption = {
+          type: visualType,
+          visual: visualData
+        };
+        supplementVisualOption && supplementVisualOption(mappingOption, state);
+        mappings[visualType] = new VisualMapping2(mappingOption);
+        if (visualType === "opacity") {
+          mappingOption = zrUtil2.clone(mappingOption);
+          mappingOption.type = "colorAlpha";
+          mappings.__hidden.__alphaForOpacity = new VisualMapping2(mappingOption);
+        }
+      });
+    });
+    return visualMappings;
+    function createMappings() {
+      var Creater = function() {
+      };
+      Creater.prototype.__hidden = Creater.prototype;
+      var obj2 = new Creater();
+      return obj2;
+    }
+  }
+  function replaceVisualOption2(thisOption, newOption, keys2) {
+    var has2;
+    zrUtil2.each(keys2, function(key2) {
+      if (newOption.hasOwnProperty(key2) && hasKeys2(newOption[key2])) {
+        has2 = true;
+      }
+    });
+    has2 && zrUtil2.each(keys2, function(key2) {
+      if (newOption.hasOwnProperty(key2) && hasKeys2(newOption[key2])) {
+        thisOption[key2] = zrUtil2.clone(newOption[key2]);
+      } else {
+        delete thisOption[key2];
+      }
+    });
+  }
+  function applyVisual2(stateList, visualMappings, data2, getValueState, scope, dimension) {
+    var visualTypesMap = {};
+    zrUtil2.each(stateList, function(state) {
+      var visualTypes = VisualMapping2.prepareVisualTypes(visualMappings[state]);
+      visualTypesMap[state] = visualTypes;
+    });
+    var dataIndex;
+    function getVisual(key2) {
+      return data2.getItemVisual(dataIndex, key2);
+    }
+    function setVisual(key2, value) {
+      data2.setItemVisual(dataIndex, key2, value);
+    }
+    if (dimension == null) {
+      data2.each(eachItem);
+    } else {
+      data2.each([dimension], eachItem);
+    }
+    function eachItem(valueOrIndex, index3) {
+      dataIndex = dimension == null ? valueOrIndex : index3;
+      var rawDataItem = data2.getRawDataItem(dataIndex);
+      if (rawDataItem && rawDataItem.visualMap === false) {
+        return;
+      }
+      var valueState = getValueState.call(scope, valueOrIndex);
+      var mappings = visualMappings[valueState];
+      var visualTypes = visualTypesMap[valueState];
+      for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+        var type2 = visualTypes[i2];
+        mappings[type2] && mappings[type2].applyVisual(valueOrIndex, getVisual, setVisual);
+      }
+    }
+  }
+  function incrementalApplyVisual2(stateList, visualMappings, getValueState, dim) {
+    var visualTypesMap = {};
+    zrUtil2.each(stateList, function(state) {
+      var visualTypes = VisualMapping2.prepareVisualTypes(visualMappings[state]);
+      visualTypesMap[state] = visualTypes;
+    });
+    function progress(params2, data2) {
+      if (dim != null) {
+        dim = data2.getDimension(dim);
+      }
+      function getVisual(key2) {
+        return data2.getItemVisual(dataIndex, key2);
+      }
+      function setVisual(key2, value2) {
+        data2.setItemVisual(dataIndex, key2, value2);
+      }
+      var dataIndex;
+      while ((dataIndex = params2.next()) != null) {
+        var rawDataItem = data2.getRawDataItem(dataIndex);
+        if (rawDataItem && rawDataItem.visualMap === false) {
+          continue;
+        }
+        var value = dim != null ? data2.get(dim, dataIndex, true) : dataIndex;
+        var valueState = getValueState(value);
+        var mappings = visualMappings[valueState];
+        var visualTypes = visualTypesMap[valueState];
+        for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+          var type2 = visualTypes[i2];
+          mappings[type2] && mappings[type2].applyVisual(value, getVisual, setVisual);
+        }
+      }
+    }
+    return {
+      progress
+    };
+  }
+  visualSolution.createVisualMappings = createVisualMappings2;
+  visualSolution.replaceVisualOption = replaceVisualOption2;
+  visualSolution.applyVisual = applyVisual2;
+  visualSolution.incrementalApplyVisual = incrementalApplyVisual2;
+  return visualSolution;
+}
+var selector_1;
+var hasRequiredSelector;
+function requireSelector() {
+  if (hasRequiredSelector)
+    return selector_1;
+  hasRequiredSelector = 1;
+  var polygonContain = requirePolygon();
+  var BoundingRect2 = BoundingRect_1;
+  var _graphic = graphic$6;
+  var linePolygonIntersect2 = _graphic.linePolygonIntersect;
+  var selector2 = {
+    lineX: getLineSelectors2(0),
+    lineY: getLineSelectors2(1),
+    rect: {
+      point: function(itemLayout, selectors, area) {
+        return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]);
+      },
+      rect: function(itemLayout, selectors, area) {
+        return itemLayout && area.boundingRect.intersect(itemLayout);
+      }
+    },
+    polygon: {
+      point: function(itemLayout, selectors, area) {
+        return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]) && polygonContain.contain(area.range, itemLayout[0], itemLayout[1]);
+      },
+      rect: function(itemLayout, selectors, area) {
+        var points2 = area.range;
+        if (!itemLayout || points2.length <= 1) {
+          return false;
+        }
+        var x2 = itemLayout.x;
+        var y2 = itemLayout.y;
+        var width = itemLayout.width;
+        var height = itemLayout.height;
+        var p2 = points2[0];
+        if (polygonContain.contain(points2, x2, y2) || polygonContain.contain(points2, x2 + width, y2) || polygonContain.contain(points2, x2, y2 + height) || polygonContain.contain(points2, x2 + width, y2 + height) || BoundingRect2.create(itemLayout).contain(p2[0], p2[1]) || linePolygonIntersect2(x2, y2, x2 + width, y2, points2) || linePolygonIntersect2(x2, y2, x2, y2 + height, points2) || linePolygonIntersect2(x2 + width, y2, x2 + width, y2 + height, points2) || linePolygonIntersect2(x2, y2 + height, x2 + width, y2 + height, points2)) {
+          return true;
+        }
+      }
+    }
+  };
+  function getLineSelectors2(xyIndex) {
+    var xy = ["x", "y"];
+    var wh = ["width", "height"];
+    return {
+      point: function(itemLayout, selectors, area) {
+        if (itemLayout) {
+          var range2 = area.range;
+          var p2 = itemLayout[xyIndex];
+          return inLineRange2(p2, range2);
+        }
+      },
+      rect: function(itemLayout, selectors, area) {
+        if (itemLayout) {
+          var range2 = area.range;
+          var layoutRange = [itemLayout[xy[xyIndex]], itemLayout[xy[xyIndex]] + itemLayout[wh[xyIndex]]];
+          layoutRange[1] < layoutRange[0] && layoutRange.reverse();
+          return inLineRange2(layoutRange[0], range2) || inLineRange2(layoutRange[1], range2) || inLineRange2(range2[0], layoutRange) || inLineRange2(range2[1], layoutRange);
+        }
+      }
+    };
+  }
+  function inLineRange2(p2, range2) {
+    return range2[0] <= p2 && p2 <= range2[1];
+  }
+  var _default68 = selector2;
+  selector_1 = _default68;
+  return selector_1;
+}
+var hasRequiredVisualEncoding$1;
+function requireVisualEncoding$1() {
+  if (hasRequiredVisualEncoding$1)
+    return visualEncoding$1;
+  hasRequiredVisualEncoding$1 = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var BoundingRect2 = BoundingRect_1;
+  var visualSolution2 = requireVisualSolution();
+  var selector2 = requireSelector();
+  var throttleUtil = throttle$3;
+  var BrushTargetManager2 = requireBrushTargetManager();
+  var STATE_LIST2 = ["inBrush", "outOfBrush"];
+  var DISPATCH_METHOD2 = "__ecBrushSelect";
+  var DISPATCH_FLAG2 = "__ecInBrushSelectEvent";
+  var PRIORITY_BRUSH = echarts2.PRIORITY.VISUAL.BRUSH;
+  echarts2.registerLayout(PRIORITY_BRUSH, function(ecModel, api2, payload) {
+    ecModel.eachComponent({
+      mainType: "brush"
+    }, function(brushModel) {
+      payload && payload.type === "takeGlobalCursor" && brushModel.setBrushOption(payload.key === "brush" ? payload.brushOption : {
+        brushType: false
+      });
+    });
+    layoutCovers2(ecModel);
+  });
+  function layoutCovers2(ecModel) {
+    ecModel.eachComponent({
+      mainType: "brush"
+    }, function(brushModel) {
+      var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager2(brushModel.option, ecModel);
+      brushTargetManager.setInputRanges(brushModel.areas, ecModel);
+    });
+  }
+  echarts2.registerVisual(PRIORITY_BRUSH, function(ecModel, api2, payload) {
+    var brushSelected = [];
+    var throttleType;
+    var throttleDelay;
+    ecModel.eachComponent({
+      mainType: "brush"
+    }, function(brushModel, brushIndex) {
+      var thisBrushSelected = {
+        brushId: brushModel.id,
+        brushIndex,
+        brushName: brushModel.name,
+        areas: zrUtil2.clone(brushModel.areas),
+        selected: []
+      };
+      brushSelected.push(thisBrushSelected);
+      var brushOption = brushModel.option;
+      var brushLink = brushOption.brushLink;
+      var linkedSeriesMap = [];
+      var selectedDataIndexForLink = [];
+      var rangeInfoBySeries = [];
+      var hasBrushExists = 0;
+      if (!brushIndex) {
+        throttleType = brushOption.throttleType;
+        throttleDelay = brushOption.throttleDelay;
+      }
+      var areas = zrUtil2.map(brushModel.areas, function(area) {
+        return bindSelector(zrUtil2.defaults({
+          boundingRect: boundingRectBuilders2[area.brushType](area)
+        }, area));
+      });
+      var visualMappings = visualSolution2.createVisualMappings(brushModel.option, STATE_LIST2, function(mappingOption) {
+        mappingOption.mappingMethod = "fixed";
+      });
+      zrUtil2.isArray(brushLink) && zrUtil2.each(brushLink, function(seriesIndex) {
+        linkedSeriesMap[seriesIndex] = 1;
+      });
+      function linkOthers(seriesIndex) {
+        return brushLink === "all" || linkedSeriesMap[seriesIndex];
+      }
+      function brushed(rangeInfoList) {
+        return !!rangeInfoList.length;
+      }
+      ecModel.eachSeries(function(seriesModel, seriesIndex) {
+        var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];
+        seriesModel.subType === "parallel" ? stepAParallel(seriesModel, seriesIndex) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);
+      });
+      function stepAParallel(seriesModel, seriesIndex) {
+        var coordSys = seriesModel.coordinateSystem;
+        hasBrushExists |= coordSys.hasAxisBrushed();
+        linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function(activeState, dataIndex) {
+          activeState === "active" && (selectedDataIndexForLink[dataIndex] = 1);
+        });
+      }
+      function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {
+        var selectorsByBrushType = getSelectorsByBrushType(seriesModel);
+        if (!selectorsByBrushType || brushModelNotControll2(brushModel, seriesIndex)) {
+          return;
+        }
+        zrUtil2.each(areas, function(area) {
+          selectorsByBrushType[area.brushType] && brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel) && rangeInfoList.push(area);
+          hasBrushExists |= brushed(rangeInfoList);
+        });
+        if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {
+          var data2 = seriesModel.getData();
+          data2.each(function(dataIndex) {
+            if (checkInRange2(selectorsByBrushType, rangeInfoList, data2, dataIndex)) {
+              selectedDataIndexForLink[dataIndex] = 1;
+            }
+          });
+        }
+      }
+      ecModel.eachSeries(function(seriesModel, seriesIndex) {
+        var seriesBrushSelected = {
+          seriesId: seriesModel.id,
+          seriesIndex,
+          seriesName: seriesModel.name,
+          dataIndex: []
+        };
+        thisBrushSelected.selected.push(seriesBrushSelected);
+        var selectorsByBrushType = getSelectorsByBrushType(seriesModel);
+        var rangeInfoList = rangeInfoBySeries[seriesIndex];
+        var data2 = seriesModel.getData();
+        var getValueState = linkOthers(seriesIndex) ? function(dataIndex) {
+          return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data2.getRawIndex(dataIndex)), "inBrush") : "outOfBrush";
+        } : function(dataIndex) {
+          return checkInRange2(selectorsByBrushType, rangeInfoList, data2, dataIndex) ? (seriesBrushSelected.dataIndex.push(data2.getRawIndex(dataIndex)), "inBrush") : "outOfBrush";
+        };
+        (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && visualSolution2.applyVisual(STATE_LIST2, visualMappings, data2, getValueState);
+      });
+    });
+    dispatchAction2(api2, throttleType, throttleDelay, brushSelected, payload);
+  });
+  function dispatchAction2(api2, throttleType, throttleDelay, brushSelected, payload) {
+    if (!payload) {
+      return;
+    }
+    var zr = api2.getZr();
+    if (zr[DISPATCH_FLAG2]) {
+      return;
+    }
+    if (!zr[DISPATCH_METHOD2]) {
+      zr[DISPATCH_METHOD2] = doDispatch2;
+    }
+    var fn = throttleUtil.createOrUpdate(zr, DISPATCH_METHOD2, throttleDelay, throttleType);
+    fn(api2, brushSelected);
+  }
+  function doDispatch2(api2, brushSelected) {
+    if (!api2.isDisposed()) {
+      var zr = api2.getZr();
+      zr[DISPATCH_FLAG2] = true;
+      api2.dispatchAction({
+        type: "brushSelect",
+        batch: brushSelected
+      });
+      zr[DISPATCH_FLAG2] = false;
+    }
+  }
+  function checkInRange2(selectorsByBrushType, rangeInfoList, data2, dataIndex) {
+    for (var i2 = 0, len2 = rangeInfoList.length; i2 < len2; i2++) {
+      var area = rangeInfoList[i2];
+      if (selectorsByBrushType[area.brushType](dataIndex, data2, area.selectors, area)) {
+        return true;
+      }
+    }
+  }
+  function getSelectorsByBrushType(seriesModel) {
+    var brushSelector = seriesModel.brushSelector;
+    if (zrUtil2.isString(brushSelector)) {
+      var sels = [];
+      zrUtil2.each(selector2, function(selectorsByElementType, brushType) {
+        sels[brushType] = function(dataIndex, data2, selectors, area) {
+          var itemLayout = data2.getItemLayout(dataIndex);
+          return selectorsByElementType[brushSelector](itemLayout, selectors, area);
+        };
+      });
+      return sels;
+    } else if (zrUtil2.isFunction(brushSelector)) {
+      var bSelector = {};
+      zrUtil2.each(selector2, function(sel, brushType) {
+        bSelector[brushType] = brushSelector;
+      });
+      return bSelector;
+    }
+    return brushSelector;
+  }
+  function brushModelNotControll2(brushModel, seriesIndex) {
+    var seriesIndices = brushModel.option.seriesIndex;
+    return seriesIndices != null && seriesIndices !== "all" && (zrUtil2.isArray(seriesIndices) ? zrUtil2.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);
+  }
+  function bindSelector(area) {
+    var selectors = area.selectors = {};
+    zrUtil2.each(selector2[area.brushType], function(selFn, elType) {
+      selectors[elType] = function(itemLayout) {
+        return selFn(itemLayout, selectors, area);
+      };
+    });
+    return area;
+  }
+  var boundingRectBuilders2 = {
+    lineX: zrUtil2.noop,
+    lineY: zrUtil2.noop,
+    rect: function(area) {
+      return getBoundingRectFromMinMax2(area.range);
+    },
+    polygon: function(area) {
+      var minMax;
+      var range2 = area.range;
+      for (var i2 = 0, len2 = range2.length; i2 < len2; i2++) {
+        minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];
+        var rg = range2[i2];
+        rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);
+        rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);
+        rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);
+        rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);
+      }
+      return minMax && getBoundingRectFromMinMax2(minMax);
+    }
+  };
+  function getBoundingRectFromMinMax2(minMax) {
+    return new BoundingRect2(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);
+  }
+  visualEncoding$1.layoutCovers = layoutCovers2;
+  return visualEncoding$1;
+}
+var BrushModel_1;
+var hasRequiredBrushModel;
+function requireBrushModel() {
+  if (hasRequiredBrushModel)
+    return BrushModel_1;
+  hasRequiredBrushModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var visualSolution2 = requireVisualSolution();
+  var Model2 = Model_1;
+  var DEFAULT_OUT_OF_BRUSH_COLOR2 = ["#ddd"];
+  var BrushModel2 = echarts2.extendComponentModel({
+    type: "brush",
+    dependencies: ["geo", "grid", "xAxis", "yAxis", "parallel", "series"],
+    /**
+     * @protected
+     */
+    defaultOption: {
+      // inBrush: null,
+      // outOfBrush: null,
+      toolbox: null,
+      // Default value see preprocessor.
+      brushLink: null,
+      // Series indices array, broadcast using dataIndex.
+      // or 'all', which means all series. 'none' or null means no series.
+      seriesIndex: "all",
+      // seriesIndex array, specify series controlled by this brush component.
+      geoIndex: null,
+      //
+      xAxisIndex: null,
+      yAxisIndex: null,
+      brushType: "rect",
+      // Default brushType, see BrushController.
+      brushMode: "single",
+      // Default brushMode, 'single' or 'multiple'
+      transformable: true,
+      // Default transformable.
+      brushStyle: {
+        // Default brushStyle
+        borderWidth: 1,
+        color: "rgba(120,140,180,0.3)",
+        borderColor: "rgba(120,140,180,0.8)"
+      },
+      throttleType: "fixRate",
+      // Throttle in brushSelected event. 'fixRate' or 'debounce'.
+      // If null, no throttle. Valid only in the first brush component
+      throttleDelay: 0,
+      // Unit: ms, 0 means every event will be triggered.
+      // FIXME
+      // 试验效果
+      removeOnClick: true,
+      z: 1e4
+    },
+    /**
+     * @readOnly
+     * @type {Array.<Object>}
+     */
+    areas: [],
+    /**
+     * Current activated brush type.
+     * If null, brush is inactived.
+     * see module:echarts/component/helper/BrushController
+     * @readOnly
+     * @type {string}
+     */
+    brushType: null,
+    /**
+     * Current brush opt.
+     * see module:echarts/component/helper/BrushController
+     * @readOnly
+     * @type {Object}
+     */
+    brushOption: {},
+    /**
+     * @readOnly
+     * @type {Array.<Object>}
+     */
+    coordInfoList: [],
+    optionUpdated: function(newOption, isInit) {
+      var thisOption = this.option;
+      !isInit && visualSolution2.replaceVisualOption(thisOption, newOption, ["inBrush", "outOfBrush"]);
+      var inBrush = thisOption.inBrush = thisOption.inBrush || {};
+      thisOption.outOfBrush = thisOption.outOfBrush || {
+        color: DEFAULT_OUT_OF_BRUSH_COLOR2
+      };
+      if (!inBrush.hasOwnProperty("liftZ")) {
+        inBrush.liftZ = 5;
+      }
+    },
+    /**
+     * If ranges is null/undefined, range state remain.
+     *
+     * @param {Array.<Object>} [ranges]
+     */
+    setAreas: function(areas) {
+      if (!areas) {
+        return;
+      }
+      this.areas = zrUtil2.map(areas, function(area) {
+        return generateBrushOption2(this.option, area);
+      }, this);
+    },
+    /**
+     * see module:echarts/component/helper/BrushController
+     * @param {Object} brushOption
+     */
+    setBrushOption: function(brushOption) {
+      this.brushOption = generateBrushOption2(this.option, brushOption);
+      this.brushType = this.brushOption.brushType;
+    }
+  });
+  function generateBrushOption2(option, brushOption) {
+    return zrUtil2.merge({
+      brushType: option.brushType,
+      brushMode: option.brushMode,
+      transformable: option.transformable,
+      brushStyle: new Model2(option.brushStyle).getItemStyle(),
+      removeOnClick: option.removeOnClick,
+      z: option.z
+    }, brushOption, true);
+  }
+  var _default68 = BrushModel2;
+  BrushModel_1 = _default68;
+  return BrushModel_1;
+}
+var BrushView$2;
+var hasRequiredBrushView;
+function requireBrushView() {
+  if (hasRequiredBrushView)
+    return BrushView$2;
+  hasRequiredBrushView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var BrushController2 = requireBrushController();
+  var _visualEncoding = requireVisualEncoding$1();
+  var layoutCovers2 = _visualEncoding.layoutCovers;
+  var _default68 = echarts2.extendComponentView({
+    type: "brush",
+    init: function(ecModel, api2) {
+      this.ecModel = ecModel;
+      this.api = api2;
+      this.model;
+      (this._brushController = new BrushController2(api2.getZr())).on("brush", zrUtil2.bind(this._onBrush, this)).mount();
+    },
+    /**
+     * @override
+     */
+    render: function(brushModel) {
+      this.model = brushModel;
+      return updateController.apply(this, arguments);
+    },
+    /**
+     * @override
+     */
+    updateTransform: function(brushModel, ecModel) {
+      layoutCovers2(ecModel);
+      return updateController.apply(this, arguments);
+    },
+    /**
+     * @override
+     */
+    updateView: updateController,
+    // /**
+    //  * @override
+    //  */
+    // updateLayout: updateController,
+    // /**
+    //  * @override
+    //  */
+    // updateVisual: updateController,
+    /**
+     * @override
+     */
+    dispose: function() {
+      this._brushController.dispose();
+    },
+    /**
+     * @private
+     */
+    _onBrush: function(areas, opt) {
+      var modelId = this.model.id;
+      this.model.brushTargetManager.setOutputRanges(areas, this.ecModel);
+      (!opt.isEnd || opt.removeOnClick) && this.api.dispatchAction({
+        type: "brush",
+        brushId: modelId,
+        areas: zrUtil2.clone(areas),
+        $from: modelId
+      });
+      opt.isEnd && this.api.dispatchAction({
+        type: "brushEnd",
+        brushId: modelId,
+        areas: zrUtil2.clone(areas),
+        $from: modelId
+      });
+    }
+  });
+  function updateController(brushModel, ecModel, api2, payload) {
+    (!payload || payload.$from !== brushModel.id) && this._brushController.setPanels(brushModel.brushTargetManager.makePanelOpts(api2)).enableBrush(brushModel.brushOption).updateCovers(brushModel.areas.slice());
+  }
+  BrushView$2 = _default68;
+  return BrushView$2;
+}
+var brushAction = {};
+var hasRequiredBrushAction;
+function requireBrushAction() {
+  if (hasRequiredBrushAction)
+    return brushAction;
+  hasRequiredBrushAction = 1;
+  var echarts2 = echarts$1;
+  echarts2.registerAction({
+    type: "brush",
+    event: "brush"
+    /*, update: 'updateView' */
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "brush",
+      query: payload
+    }, function(brushModel) {
+      brushModel.setAreas(payload.areas);
+    });
+  });
+  echarts2.registerAction({
+    type: "brushSelect",
+    event: "brushSelected",
+    update: "none"
+  }, function() {
+  });
+  echarts2.registerAction({
+    type: "brushEnd",
+    event: "brushEnd",
+    update: "none"
+  }, function() {
+  });
+  return brushAction;
+}
+var Brush_1;
+var hasRequiredBrush$1;
+function requireBrush$1() {
+  if (hasRequiredBrush$1)
+    return Brush_1;
+  hasRequiredBrush$1 = 1;
+  var zrUtil2 = util$a;
+  var featureManager2 = requireFeatureManager();
+  var lang2 = lang$2;
+  var brushLang = lang2.toolbox.brush;
+  function Brush(model2, ecModel, api2) {
+    this.model = model2;
+    this.ecModel = ecModel;
+    this.api = api2;
+    this._brushType;
+    this._brushMode;
+  }
+  Brush.defaultOption = {
+    show: true,
+    type: ["rect", "polygon", "lineX", "lineY", "keep", "clear"],
+    icon: {
+      /* eslint-disable */
+      rect: "M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",
+      // jshint ignore:line
+      polygon: "M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",
+      // jshint ignore:line
+      lineX: "M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",
+      // jshint ignore:line
+      lineY: "M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",
+      // jshint ignore:line
+      keep: "M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",
+      // jshint ignore:line
+      clear: "M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"
+      // jshint ignore:line
+      /* eslint-enable */
+    },
+    // `rect`, `polygon`, `lineX`, `lineY`, `keep`, `clear`
+    title: zrUtil2.clone(brushLang.title)
+  };
+  var proto2 = Brush.prototype;
+  proto2.render = /* eslint-enable */
+  proto2.updateView = function(featureModel, ecModel, api2) {
+    var brushType;
+    var brushMode;
+    var isBrushed;
+    ecModel.eachComponent({
+      mainType: "brush"
+    }, function(brushModel) {
+      brushType = brushModel.brushType;
+      brushMode = brushModel.brushOption.brushMode || "single";
+      isBrushed |= brushModel.areas.length;
+    });
+    this._brushType = brushType;
+    this._brushMode = brushMode;
+    zrUtil2.each(featureModel.get("type", true), function(type2) {
+      featureModel.setIconStatus(type2, (type2 === "keep" ? brushMode === "multiple" : type2 === "clear" ? isBrushed : type2 === brushType) ? "emphasis" : "normal");
+    });
+  };
+  proto2.getIcons = function() {
+    var model2 = this.model;
+    var availableIcons = model2.get("icon", true);
+    var icons = {};
+    zrUtil2.each(model2.get("type", true), function(type2) {
+      if (availableIcons[type2]) {
+        icons[type2] = availableIcons[type2];
+      }
+    });
+    return icons;
+  };
+  proto2.onclick = function(ecModel, api2, type2) {
+    var brushType = this._brushType;
+    var brushMode = this._brushMode;
+    if (type2 === "clear") {
+      api2.dispatchAction({
+        type: "axisAreaSelect",
+        intervals: []
+      });
+      api2.dispatchAction({
+        type: "brush",
+        command: "clear",
+        // Clear all areas of all brush components.
+        areas: []
+      });
+    } else {
+      api2.dispatchAction({
+        type: "takeGlobalCursor",
+        key: "brush",
+        brushOption: {
+          brushType: type2 === "keep" ? brushType : brushType === type2 ? false : type2,
+          brushMode: type2 === "keep" ? brushMode === "multiple" ? "single" : "multiple" : brushMode
+        }
+      });
+    }
+  };
+  featureManager2.register("brush", Brush);
+  var _default68 = Brush;
+  Brush_1 = _default68;
+  return Brush_1;
+}
+var hasRequiredBrush;
+function requireBrush() {
+  if (hasRequiredBrush)
+    return brush$2;
+  hasRequiredBrush = 1;
+  var echarts2 = echarts$1;
+  var preprocessor2 = requirePreprocessor$2();
+  requireVisualEncoding$1();
+  requireBrushModel();
+  requireBrushView();
+  requireBrushAction();
+  requireBrush$1();
+  echarts2.registerPreprocessor(preprocessor2);
+  return brush$2;
+}
+var title = {};
+var hasRequiredTitle;
+function requireTitle() {
+  if (hasRequiredTitle)
+    return title;
+  hasRequiredTitle = 1;
+  var zrUtil2 = util$a;
+  var echarts2 = echarts$1;
+  var graphic2 = graphic$6;
+  var _layout2 = layout$5;
+  var getLayoutRect2 = _layout2.getLayoutRect;
+  var _format2 = format$6;
+  var windowOpen2 = _format2.windowOpen;
+  echarts2.extendComponentModel({
+    type: "title",
+    layoutMode: {
+      type: "box",
+      ignoreSize: true
+    },
+    defaultOption: {
+      // 一级层叠
+      zlevel: 0,
+      // 二级层叠
+      z: 6,
+      show: true,
+      text: "",
+      // 超链接跳转
+      // link: null,
+      // 仅支持self | blank
+      target: "blank",
+      subtext: "",
+      // 超链接跳转
+      // sublink: null,
+      // 仅支持self | blank
+      subtarget: "blank",
+      // 'center' ¦ 'left' ¦ 'right'
+      // ¦ {number}(x坐标,单位px)
+      left: 0,
+      // 'top' ¦ 'bottom' ¦ 'center'
+      // ¦ {number}(y坐标,单位px)
+      top: 0,
+      // 水平对齐
+      // 'auto' | 'left' | 'right' | 'center'
+      // 默认根据 left 的位置判断是左对齐还是右对齐
+      // textAlign: null
+      //
+      // 垂直对齐
+      // 'auto' | 'top' | 'bottom' | 'middle'
+      // 默认根据 top 位置判断是上对齐还是下对齐
+      // textVerticalAlign: null
+      // textBaseline: null // The same as textVerticalAlign.
+      backgroundColor: "rgba(0,0,0,0)",
+      // 标题边框颜色
+      borderColor: "#ccc",
+      // 标题边框线宽,单位px,默认为0(无边框)
+      borderWidth: 0,
+      // 标题内边距,单位px,默认各方向内边距为5,
+      // 接受数组分别设定上右下左边距,同css
+      padding: 5,
+      // 主副标题纵向间隔,单位px,默认为10,
+      itemGap: 10,
+      textStyle: {
+        fontSize: 18,
+        fontWeight: "bolder",
+        color: "#333"
+      },
+      subtextStyle: {
+        color: "#aaa"
+      }
+    }
+  });
+  echarts2.extendComponentView({
+    type: "title",
+    render: function(titleModel, ecModel, api2) {
+      this.group.removeAll();
+      if (!titleModel.get("show")) {
+        return;
+      }
+      var group = this.group;
+      var textStyleModel = titleModel.getModel("textStyle");
+      var subtextStyleModel = titleModel.getModel("subtextStyle");
+      var textAlign = titleModel.get("textAlign");
+      var textVerticalAlign = zrUtil2.retrieve2(titleModel.get("textBaseline"), titleModel.get("textVerticalAlign"));
+      var textEl = new graphic2.Text({
+        style: graphic2.setTextStyle({}, textStyleModel, {
+          text: titleModel.get("text"),
+          textFill: textStyleModel.getTextColor()
+        }, {
+          disableBox: true
+        }),
+        z2: 10
+      });
+      var textRect = textEl.getBoundingRect();
+      var subText = titleModel.get("subtext");
+      var subTextEl = new graphic2.Text({
+        style: graphic2.setTextStyle({}, subtextStyleModel, {
+          text: subText,
+          textFill: subtextStyleModel.getTextColor(),
+          y: textRect.height + titleModel.get("itemGap"),
+          textVerticalAlign: "top"
+        }, {
+          disableBox: true
+        }),
+        z2: 10
+      });
+      var link = titleModel.get("link");
+      var sublink = titleModel.get("sublink");
+      var triggerEvent = titleModel.get("triggerEvent", true);
+      textEl.silent = !link && !triggerEvent;
+      subTextEl.silent = !sublink && !triggerEvent;
+      if (link) {
+        textEl.on("click", function() {
+          windowOpen2(link, "_" + titleModel.get("target"));
+        });
+      }
+      if (sublink) {
+        subTextEl.on("click", function() {
+          windowOpen2(sublink, "_" + titleModel.get("subtarget"));
+        });
+      }
+      textEl.eventData = subTextEl.eventData = triggerEvent ? {
+        componentType: "title",
+        componentIndex: titleModel.componentIndex
+      } : null;
+      group.add(textEl);
+      subText && group.add(subTextEl);
+      var groupRect = group.getBoundingRect();
+      var layoutOption = titleModel.getBoxLayoutParams();
+      layoutOption.width = groupRect.width;
+      layoutOption.height = groupRect.height;
+      var layoutRect = getLayoutRect2(layoutOption, {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      }, titleModel.get("padding"));
+      if (!textAlign) {
+        textAlign = titleModel.get("left") || titleModel.get("right");
+        if (textAlign === "middle") {
+          textAlign = "center";
+        }
+        if (textAlign === "right") {
+          layoutRect.x += layoutRect.width;
+        } else if (textAlign === "center") {
+          layoutRect.x += layoutRect.width / 2;
+        }
+      }
+      if (!textVerticalAlign) {
+        textVerticalAlign = titleModel.get("top") || titleModel.get("bottom");
+        if (textVerticalAlign === "center") {
+          textVerticalAlign = "middle";
+        }
+        if (textVerticalAlign === "bottom") {
+          layoutRect.y += layoutRect.height;
+        } else if (textVerticalAlign === "middle") {
+          layoutRect.y += layoutRect.height / 2;
+        }
+        textVerticalAlign = textVerticalAlign || "top";
+      }
+      group.attr("position", [layoutRect.x, layoutRect.y]);
+      var alignStyle = {
+        textAlign,
+        textVerticalAlign
+      };
+      textEl.setStyle(alignStyle);
+      subTextEl.setStyle(alignStyle);
+      groupRect = group.getBoundingRect();
+      var padding = layoutRect.margin;
+      var style2 = titleModel.getItemStyle(["color", "opacity"]);
+      style2.fill = titleModel.get("backgroundColor");
+      var rect = new graphic2.Rect({
+        shape: {
+          x: groupRect.x - padding[3],
+          y: groupRect.y - padding[0],
+          width: groupRect.width + padding[1] + padding[3],
+          height: groupRect.height + padding[0] + padding[2],
+          r: titleModel.get("borderRadius")
+        },
+        style: style2,
+        subPixelOptimize: true,
+        silent: true
+      });
+      group.add(rect);
+    }
+  });
+  return title;
+}
+var timeline = {};
+var preprocessor$1;
+var hasRequiredPreprocessor$1;
+function requirePreprocessor$1() {
+  if (hasRequiredPreprocessor$1)
+    return preprocessor$1;
+  hasRequiredPreprocessor$1 = 1;
+  var zrUtil2 = util$a;
+  function _default68(option) {
+    var timelineOpt = option && option.timeline;
+    if (!zrUtil2.isArray(timelineOpt)) {
+      timelineOpt = timelineOpt ? [timelineOpt] : [];
+    }
+    zrUtil2.each(timelineOpt, function(opt) {
+      if (!opt) {
+        return;
+      }
+      compatibleEC22(opt);
+    });
+  }
+  function compatibleEC22(opt) {
+    var type2 = opt.type;
+    var ec2Types = {
+      "number": "value",
+      "time": "time"
+    };
+    if (ec2Types[type2]) {
+      opt.axisType = ec2Types[type2];
+      delete opt.type;
+    }
+    transferItem2(opt);
+    if (has2(opt, "controlPosition")) {
+      var controlStyle = opt.controlStyle || (opt.controlStyle = {});
+      if (!has2(controlStyle, "position")) {
+        controlStyle.position = opt.controlPosition;
+      }
+      if (controlStyle.position === "none" && !has2(controlStyle, "show")) {
+        controlStyle.show = false;
+        delete controlStyle.position;
+      }
+      delete opt.controlPosition;
+    }
+    zrUtil2.each(opt.data || [], function(dataItem) {
+      if (zrUtil2.isObject(dataItem) && !zrUtil2.isArray(dataItem)) {
+        if (!has2(dataItem, "value") && has2(dataItem, "name")) {
+          dataItem.value = dataItem.name;
+        }
+        transferItem2(dataItem);
+      }
+    });
+  }
+  function transferItem2(opt) {
+    var itemStyle2 = opt.itemStyle || (opt.itemStyle = {});
+    var itemStyleEmphasis = itemStyle2.emphasis || (itemStyle2.emphasis = {});
+    var label = opt.label || opt.label || {};
+    var labelNormal = label.normal || (label.normal = {});
+    var excludeLabelAttr = {
+      normal: 1,
+      emphasis: 1
+    };
+    zrUtil2.each(label, function(value, name2) {
+      if (!excludeLabelAttr[name2] && !has2(labelNormal, name2)) {
+        labelNormal[name2] = value;
+      }
+    });
+    if (itemStyleEmphasis.label && !has2(label, "emphasis")) {
+      label.emphasis = itemStyleEmphasis.label;
+      delete itemStyleEmphasis.label;
+    }
+  }
+  function has2(obj2, attr) {
+    return obj2.hasOwnProperty(attr);
+  }
+  preprocessor$1 = _default68;
+  return preprocessor$1;
+}
+var typeDefaulter$1 = {};
+var hasRequiredTypeDefaulter$1;
+function requireTypeDefaulter$1() {
+  if (hasRequiredTypeDefaulter$1)
+    return typeDefaulter$1;
+  hasRequiredTypeDefaulter$1 = 1;
+  var Component2 = Component$1;
+  Component2.registerSubTypeDefaulter("timeline", function() {
+    return "slider";
+  });
+  return typeDefaulter$1;
+}
+var timelineAction = {};
+var hasRequiredTimelineAction;
+function requireTimelineAction() {
+  if (hasRequiredTimelineAction)
+    return timelineAction;
+  hasRequiredTimelineAction = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  echarts2.registerAction({
+    type: "timelineChange",
+    event: "timelineChanged",
+    update: "prepareAndUpdate"
+  }, function(payload, ecModel) {
+    var timelineModel = ecModel.getComponent("timeline");
+    if (timelineModel && payload.currentIndex != null) {
+      timelineModel.setCurrentIndex(payload.currentIndex);
+      if (!timelineModel.get("loop", true) && timelineModel.isIndexMax()) {
+        timelineModel.setPlayState(false);
+      }
+    }
+    ecModel.resetOption("timeline");
+    return zrUtil2.defaults({
+      currentIndex: timelineModel.option.currentIndex
+    }, payload);
+  });
+  echarts2.registerAction({
+    type: "timelinePlayChange",
+    event: "timelinePlayChanged",
+    update: "update"
+  }, function(payload, ecModel) {
+    var timelineModel = ecModel.getComponent("timeline");
+    if (timelineModel && payload.playState != null) {
+      timelineModel.setPlayState(payload.playState);
+    }
+  });
+  return timelineAction;
+}
+var TimelineModel_1;
+var hasRequiredTimelineModel;
+function requireTimelineModel() {
+  if (hasRequiredTimelineModel)
+    return TimelineModel_1;
+  hasRequiredTimelineModel = 1;
+  var zrUtil2 = util$a;
+  var ComponentModel2 = Component$1;
+  var List = requireList();
+  var modelUtil2 = model;
+  var TimelineModel2 = ComponentModel2.extend({
+    type: "timeline",
+    layoutMode: "box",
+    /**
+     * @protected
+     */
+    defaultOption: {
+      zlevel: 0,
+      // 一级层叠
+      z: 4,
+      // 二级层叠
+      show: true,
+      axisType: "time",
+      // 模式是时间类型,支持 value, category
+      realtime: true,
+      left: "20%",
+      top: null,
+      right: "20%",
+      bottom: 0,
+      width: null,
+      height: 40,
+      padding: 5,
+      controlPosition: "left",
+      // 'left' 'right' 'top' 'bottom' 'none'
+      autoPlay: false,
+      rewind: false,
+      // 反向播放
+      loop: true,
+      playInterval: 2e3,
+      // 播放时间间隔,单位ms
+      currentIndex: 0,
+      itemStyle: {},
+      label: {
+        color: "#000"
+      },
+      data: []
+    },
+    /**
+     * @override
+     */
+    init: function(option, parentModel, ecModel) {
+      this._data;
+      this._names;
+      this.mergeDefaultAndTheme(option, ecModel);
+      this._initData();
+    },
+    /**
+     * @override
+     */
+    mergeOption: function(option) {
+      TimelineModel2.superApply(this, "mergeOption", arguments);
+      this._initData();
+    },
+    /**
+     * @param {number} [currentIndex]
+     */
+    setCurrentIndex: function(currentIndex) {
+      if (currentIndex == null) {
+        currentIndex = this.option.currentIndex;
+      }
+      var count2 = this._data.count();
+      if (this.option.loop) {
+        currentIndex = (currentIndex % count2 + count2) % count2;
+      } else {
+        currentIndex >= count2 && (currentIndex = count2 - 1);
+        currentIndex < 0 && (currentIndex = 0);
+      }
+      this.option.currentIndex = currentIndex;
+    },
+    /**
+     * @return {number} currentIndex
+     */
+    getCurrentIndex: function() {
+      return this.option.currentIndex;
+    },
+    /**
+     * @return {boolean}
+     */
+    isIndexMax: function() {
+      return this.getCurrentIndex() >= this._data.count() - 1;
+    },
+    /**
+     * @param {boolean} state true: play, false: stop
+     */
+    setPlayState: function(state) {
+      this.option.autoPlay = !!state;
+    },
+    /**
+     * @return {boolean} true: play, false: stop
+     */
+    getPlayState: function() {
+      return !!this.option.autoPlay;
+    },
+    /**
+     * @private
+     */
+    _initData: function() {
+      var thisOption = this.option;
+      var dataArr = thisOption.data || [];
+      var axisType = thisOption.axisType;
+      var names = this._names = [];
+      if (axisType === "category") {
+        var idxArr = [];
+        zrUtil2.each(dataArr, function(item, index3) {
+          var value = modelUtil2.getDataItemValue(item);
+          var newItem;
+          if (zrUtil2.isObject(item)) {
+            newItem = zrUtil2.clone(item);
+            newItem.value = index3;
+          } else {
+            newItem = index3;
+          }
+          idxArr.push(newItem);
+          if (!zrUtil2.isString(value) && (value == null || isNaN(value))) {
+            value = "";
+          }
+          names.push(value + "");
+        });
+        dataArr = idxArr;
+      }
+      var dimType = {
+        category: "ordinal",
+        time: "time"
+      }[axisType] || "number";
+      var data2 = this._data = new List([{
+        name: "value",
+        type: dimType
+      }], this);
+      data2.initData(dataArr, names);
+    },
+    getData: function() {
+      return this._data;
+    },
+    /**
+     * @public
+     * @return {Array.<string>} categoreis
+     */
+    getCategories: function() {
+      if (this.get("axisType") === "category") {
+        return this._names.slice();
+      }
+    }
+  });
+  var _default68 = TimelineModel2;
+  TimelineModel_1 = _default68;
+  return TimelineModel_1;
+}
+var SliderTimelineModel_1;
+var hasRequiredSliderTimelineModel;
+function requireSliderTimelineModel() {
+  if (hasRequiredSliderTimelineModel)
+    return SliderTimelineModel_1;
+  hasRequiredSliderTimelineModel = 1;
+  var zrUtil2 = util$a;
+  var TimelineModel2 = requireTimelineModel();
+  var dataFormatMixin2 = dataFormat;
+  var SliderTimelineModel2 = TimelineModel2.extend({
+    type: "timeline.slider",
+    /**
+     * @protected
+     */
+    defaultOption: {
+      backgroundColor: "rgba(0,0,0,0)",
+      // 时间轴背景颜色
+      borderColor: "#ccc",
+      // 时间轴边框颜色
+      borderWidth: 0,
+      // 时间轴边框线宽,单位px,默认为0(无边框)
+      orient: "horizontal",
+      // 'vertical'
+      inverse: false,
+      tooltip: {
+        // boolean or Object
+        trigger: "item"
+        // data item may also have tootip attr.
+      },
+      symbol: "emptyCircle",
+      symbolSize: 10,
+      lineStyle: {
+        show: true,
+        width: 2,
+        color: "#304654"
+      },
+      label: {
+        // 文本标签
+        position: "auto",
+        // auto left right top bottom
+        // When using number, label position is not
+        // restricted by viewRect.
+        // positive: right/bottom, negative: left/top
+        show: true,
+        interval: "auto",
+        rotate: 0,
+        // formatter: null,
+        // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+        color: "#304654"
+      },
+      itemStyle: {
+        color: "#304654",
+        borderWidth: 1
+      },
+      checkpointStyle: {
+        symbol: "circle",
+        symbolSize: 13,
+        color: "#c23531",
+        borderWidth: 5,
+        borderColor: "rgba(194,53,49, 0.5)",
+        animation: true,
+        animationDuration: 300,
+        animationEasing: "quinticInOut"
+      },
+      controlStyle: {
+        show: true,
+        showPlayBtn: true,
+        showPrevBtn: true,
+        showNextBtn: true,
+        itemSize: 22,
+        itemGap: 12,
+        position: "left",
+        // 'left' 'right' 'top' 'bottom'
+        playIcon: "path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",
+        // jshint ignore:line
+        stopIcon: "path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",
+        // jshint ignore:line
+        nextIcon: "path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",
+        // jshint ignore:line
+        prevIcon: "path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",
+        // jshint ignore:line
+        color: "#304654",
+        borderColor: "#304654",
+        borderWidth: 1
+      },
+      emphasis: {
+        label: {
+          show: true,
+          // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+          color: "#c23531"
+        },
+        itemStyle: {
+          color: "#c23531"
+        },
+        controlStyle: {
+          color: "#c23531",
+          borderColor: "#c23531",
+          borderWidth: 2
+        }
+      },
+      data: []
+    }
+  });
+  zrUtil2.mixin(SliderTimelineModel2, dataFormatMixin2);
+  var _default68 = SliderTimelineModel2;
+  SliderTimelineModel_1 = _default68;
+  return SliderTimelineModel_1;
+}
+var TimelineView$2;
+var hasRequiredTimelineView;
+function requireTimelineView() {
+  if (hasRequiredTimelineView)
+    return TimelineView$2;
+  hasRequiredTimelineView = 1;
+  var ComponentView2 = Component_1;
+  var _default68 = ComponentView2.extend({
+    type: "timeline"
+  });
+  TimelineView$2 = _default68;
+  return TimelineView$2;
+}
+var TimelineAxis_1;
+var hasRequiredTimelineAxis;
+function requireTimelineAxis() {
+  if (hasRequiredTimelineAxis)
+    return TimelineAxis_1;
+  hasRequiredTimelineAxis = 1;
+  var zrUtil2 = util$a;
+  var Axis2 = requireAxis$1();
+  var TimelineAxis2 = function(dim, scale2, coordExtent, axisType) {
+    Axis2.call(this, dim, scale2, coordExtent);
+    this.type = axisType || "value";
+    this.model = null;
+  };
+  TimelineAxis2.prototype = {
+    constructor: TimelineAxis2,
+    /**
+     * @override
+     */
+    getLabelModel: function() {
+      return this.model.getModel("label");
+    },
+    /**
+     * @override
+     */
+    isHorizontal: function() {
+      return this.model.get("orient") === "horizontal";
+    }
+  };
+  zrUtil2.inherits(TimelineAxis2, Axis2);
+  var _default68 = TimelineAxis2;
+  TimelineAxis_1 = _default68;
+  return TimelineAxis_1;
+}
+var SliderTimelineView$2;
+var hasRequiredSliderTimelineView;
+function requireSliderTimelineView() {
+  if (hasRequiredSliderTimelineView)
+    return SliderTimelineView$2;
+  hasRequiredSliderTimelineView = 1;
+  var zrUtil2 = util$a;
+  var BoundingRect2 = BoundingRect_1;
+  var matrix2 = matrix$5;
+  var graphic2 = graphic$6;
+  var layout2 = layout$5;
+  var TimelineView2 = requireTimelineView();
+  var TimelineAxis2 = requireTimelineAxis();
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var axisHelper2 = requireAxisHelper();
+  var numberUtil2 = requireNumber();
+  var _format2 = format$6;
+  var encodeHTML2 = _format2.encodeHTML;
+  var bind4 = zrUtil2.bind;
+  var each2 = zrUtil2.each;
+  var PI3 = Math.PI;
+  var _default68 = TimelineView2.extend({
+    type: "timeline.slider",
+    init: function(ecModel, api2) {
+      this.api = api2;
+      this._axis;
+      this._viewRect;
+      this._timer;
+      this._currentPointer;
+      this._mainGroup;
+      this._labelGroup;
+    },
+    /**
+     * @override
+     */
+    render: function(timelineModel, ecModel, api2, payload) {
+      this.model = timelineModel;
+      this.api = api2;
+      this.ecModel = ecModel;
+      this.group.removeAll();
+      if (timelineModel.get("show", true)) {
+        var layoutInfo = this._layout(timelineModel, api2);
+        var mainGroup = this._createGroup("mainGroup");
+        var labelGroup = this._createGroup("labelGroup");
+        var axis2 = this._axis = this._createAxis(layoutInfo, timelineModel);
+        timelineModel.formatTooltip = function(dataIndex) {
+          return encodeHTML2(axis2.scale.getLabel(dataIndex));
+        };
+        each2(["AxisLine", "AxisTick", "Control", "CurrentPointer"], function(name2) {
+          this["_render" + name2](layoutInfo, mainGroup, axis2, timelineModel);
+        }, this);
+        this._renderAxisLabel(layoutInfo, labelGroup, axis2, timelineModel);
+        this._position(layoutInfo, timelineModel);
+      }
+      this._doPlayStop();
+    },
+    /**
+     * @override
+     */
+    remove: function() {
+      this._clearTimer();
+      this.group.removeAll();
+    },
+    /**
+     * @override
+     */
+    dispose: function() {
+      this._clearTimer();
+    },
+    _layout: function(timelineModel, api2) {
+      var labelPosOpt = timelineModel.get("label.position");
+      var orient = timelineModel.get("orient");
+      var viewRect2 = getViewRect2(timelineModel, api2);
+      if (labelPosOpt == null || labelPosOpt === "auto") {
+        labelPosOpt = orient === "horizontal" ? viewRect2.y + viewRect2.height / 2 < api2.getHeight() / 2 ? "-" : "+" : viewRect2.x + viewRect2.width / 2 < api2.getWidth() / 2 ? "+" : "-";
+      } else if (isNaN(labelPosOpt)) {
+        labelPosOpt = {
+          horizontal: {
+            top: "-",
+            bottom: "+"
+          },
+          vertical: {
+            left: "-",
+            right: "+"
+          }
+        }[orient][labelPosOpt];
+      }
+      var labelAlignMap = {
+        horizontal: "center",
+        vertical: labelPosOpt >= 0 || labelPosOpt === "+" ? "left" : "right"
+      };
+      var labelBaselineMap = {
+        horizontal: labelPosOpt >= 0 || labelPosOpt === "+" ? "top" : "bottom",
+        vertical: "middle"
+      };
+      var rotationMap = {
+        horizontal: 0,
+        vertical: PI3 / 2
+      };
+      var mainLength = orient === "vertical" ? viewRect2.height : viewRect2.width;
+      var controlModel = timelineModel.getModel("controlStyle");
+      var showControl = controlModel.get("show", true);
+      var controlSize = showControl ? controlModel.get("itemSize") : 0;
+      var controlGap = showControl ? controlModel.get("itemGap") : 0;
+      var sizePlusGap = controlSize + controlGap;
+      var labelRotation = timelineModel.get("label.rotate") || 0;
+      labelRotation = labelRotation * PI3 / 180;
+      var playPosition;
+      var prevBtnPosition;
+      var nextBtnPosition;
+      var axisExtent;
+      var controlPosition = controlModel.get("position", true);
+      var showPlayBtn = showControl && controlModel.get("showPlayBtn", true);
+      var showPrevBtn = showControl && controlModel.get("showPrevBtn", true);
+      var showNextBtn = showControl && controlModel.get("showNextBtn", true);
+      var xLeft = 0;
+      var xRight = mainLength;
+      if (controlPosition === "left" || controlPosition === "bottom") {
+        showPlayBtn && (playPosition = [0, 0], xLeft += sizePlusGap);
+        showPrevBtn && (prevBtnPosition = [xLeft, 0], xLeft += sizePlusGap);
+        showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);
+      } else {
+        showPlayBtn && (playPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);
+        showPrevBtn && (prevBtnPosition = [0, 0], xLeft += sizePlusGap);
+        showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);
+      }
+      axisExtent = [xLeft, xRight];
+      if (timelineModel.get("inverse")) {
+        axisExtent.reverse();
+      }
+      return {
+        viewRect: viewRect2,
+        mainLength,
+        orient,
+        rotation: rotationMap[orient],
+        labelRotation,
+        labelPosOpt,
+        labelAlign: timelineModel.get("label.align") || labelAlignMap[orient],
+        labelBaseline: timelineModel.get("label.verticalAlign") || timelineModel.get("label.baseline") || labelBaselineMap[orient],
+        // Based on mainGroup.
+        playPosition,
+        prevBtnPosition,
+        nextBtnPosition,
+        axisExtent,
+        controlSize,
+        controlGap
+      };
+    },
+    _position: function(layoutInfo, timelineModel) {
+      var mainGroup = this._mainGroup;
+      var labelGroup = this._labelGroup;
+      var viewRect2 = layoutInfo.viewRect;
+      if (layoutInfo.orient === "vertical") {
+        var m2 = matrix2.create();
+        var rotateOriginX = viewRect2.x;
+        var rotateOriginY = viewRect2.y + viewRect2.height;
+        matrix2.translate(m2, m2, [-rotateOriginX, -rotateOriginY]);
+        matrix2.rotate(m2, m2, -PI3 / 2);
+        matrix2.translate(m2, m2, [rotateOriginX, rotateOriginY]);
+        viewRect2 = viewRect2.clone();
+        viewRect2.applyTransform(m2);
+      }
+      var viewBound = getBound(viewRect2);
+      var mainBound = getBound(mainGroup.getBoundingRect());
+      var labelBound = getBound(labelGroup.getBoundingRect());
+      var mainPosition = mainGroup.position;
+      var labelsPosition = labelGroup.position;
+      labelsPosition[0] = mainPosition[0] = viewBound[0][0];
+      var labelPosOpt = layoutInfo.labelPosOpt;
+      if (isNaN(labelPosOpt)) {
+        var mainBoundIdx = labelPosOpt === "+" ? 0 : 1;
+        toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);
+        toBound(labelsPosition, labelBound, viewBound, 1, 1 - mainBoundIdx);
+      } else {
+        var mainBoundIdx = labelPosOpt >= 0 ? 0 : 1;
+        toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);
+        labelsPosition[1] = mainPosition[1] + labelPosOpt;
+      }
+      mainGroup.attr("position", mainPosition);
+      labelGroup.attr("position", labelsPosition);
+      mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;
+      setOrigin(mainGroup);
+      setOrigin(labelGroup);
+      function setOrigin(targetGroup) {
+        var pos = targetGroup.position;
+        targetGroup.origin = [viewBound[0][0] - pos[0], viewBound[1][0] - pos[1]];
+      }
+      function getBound(rect) {
+        return [[rect.x, rect.x + rect.width], [rect.y, rect.y + rect.height]];
+      }
+      function toBound(fromPos, from, to, dimIdx, boundIdx) {
+        fromPos[dimIdx] += to[dimIdx][boundIdx] - from[dimIdx][boundIdx];
+      }
+    },
+    _createAxis: function(layoutInfo, timelineModel) {
+      var data2 = timelineModel.getData();
+      var axisType = timelineModel.get("axisType");
+      var scale2 = axisHelper2.createScaleByModel(timelineModel, axisType);
+      scale2.getTicks = function() {
+        return data2.mapArray(["value"], function(value) {
+          return value;
+        });
+      };
+      var dataExtent = data2.getDataExtent("value");
+      scale2.setExtent(dataExtent[0], dataExtent[1]);
+      scale2.niceTicks();
+      var axis2 = new TimelineAxis2("value", scale2, layoutInfo.axisExtent, axisType);
+      axis2.model = timelineModel;
+      return axis2;
+    },
+    _createGroup: function(name2) {
+      var newGroup = this["_" + name2] = new graphic2.Group();
+      this.group.add(newGroup);
+      return newGroup;
+    },
+    _renderAxisLine: function(layoutInfo, group, axis2, timelineModel) {
+      var axisExtent = axis2.getExtent();
+      if (!timelineModel.get("lineStyle.show")) {
+        return;
+      }
+      group.add(new graphic2.Line({
+        shape: {
+          x1: axisExtent[0],
+          y1: 0,
+          x2: axisExtent[1],
+          y2: 0
+        },
+        style: zrUtil2.extend({
+          lineCap: "round"
+        }, timelineModel.getModel("lineStyle").getLineStyle()),
+        silent: true,
+        z2: 1
+      }));
+    },
+    /**
+     * @private
+     */
+    _renderAxisTick: function(layoutInfo, group, axis2, timelineModel) {
+      var data2 = timelineModel.getData();
+      var ticks = axis2.scale.getTicks();
+      each2(ticks, function(value) {
+        var tickCoord = axis2.dataToCoord(value);
+        var itemModel = data2.getItemModel(value);
+        var itemStyleModel = itemModel.getModel("itemStyle");
+        var hoverStyleModel = itemModel.getModel("emphasis.itemStyle");
+        var symbolOpt = {
+          position: [tickCoord, 0],
+          onclick: bind4(this._changeTimeline, this, value)
+        };
+        var el = giveSymbol2(itemModel, itemStyleModel, group, symbolOpt);
+        graphic2.setHoverStyle(el, hoverStyleModel.getItemStyle());
+        if (itemModel.get("tooltip")) {
+          el.dataIndex = value;
+          el.dataModel = timelineModel;
+        } else {
+          el.dataIndex = el.dataModel = null;
+        }
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _renderAxisLabel: function(layoutInfo, group, axis2, timelineModel) {
+      var labelModel = axis2.getLabelModel();
+      if (!labelModel.get("show")) {
+        return;
+      }
+      var data2 = timelineModel.getData();
+      var labels = axis2.getViewLabels();
+      each2(labels, function(labelItem) {
+        var dataIndex = labelItem.tickValue;
+        var itemModel = data2.getItemModel(dataIndex);
+        var normalLabelModel = itemModel.getModel("label");
+        var hoverLabelModel = itemModel.getModel("emphasis.label");
+        var tickCoord = axis2.dataToCoord(labelItem.tickValue);
+        var textEl = new graphic2.Text({
+          position: [tickCoord, 0],
+          rotation: layoutInfo.labelRotation - layoutInfo.rotation,
+          onclick: bind4(this._changeTimeline, this, dataIndex),
+          silent: false
+        });
+        graphic2.setTextStyle(textEl.style, normalLabelModel, {
+          text: labelItem.formattedLabel,
+          textAlign: layoutInfo.labelAlign,
+          textVerticalAlign: layoutInfo.labelBaseline
+        });
+        group.add(textEl);
+        graphic2.setHoverStyle(textEl, graphic2.setTextStyle({}, hoverLabelModel));
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _renderControl: function(layoutInfo, group, axis2, timelineModel) {
+      var controlSize = layoutInfo.controlSize;
+      var rotation = layoutInfo.rotation;
+      var itemStyle2 = timelineModel.getModel("controlStyle").getItemStyle();
+      var hoverStyle = timelineModel.getModel("emphasis.controlStyle").getItemStyle();
+      var rect = [0, -controlSize / 2, controlSize, controlSize];
+      var playState = timelineModel.getPlayState();
+      var inverse = timelineModel.get("inverse", true);
+      makeBtn(layoutInfo.nextBtnPosition, "controlStyle.nextIcon", bind4(this._changeTimeline, this, inverse ? "-" : "+"));
+      makeBtn(layoutInfo.prevBtnPosition, "controlStyle.prevIcon", bind4(this._changeTimeline, this, inverse ? "+" : "-"));
+      makeBtn(layoutInfo.playPosition, "controlStyle." + (playState ? "stopIcon" : "playIcon"), bind4(this._handlePlayClick, this, !playState), true);
+      function makeBtn(position2, iconPath, onclick, willRotate) {
+        if (!position2) {
+          return;
+        }
+        var opt = {
+          position: position2,
+          origin: [controlSize / 2, 0],
+          rotation: willRotate ? -rotation : 0,
+          rectHover: true,
+          style: itemStyle2,
+          onclick
+        };
+        var btn = makeIcon(timelineModel, iconPath, rect, opt);
+        group.add(btn);
+        graphic2.setHoverStyle(btn, hoverStyle);
+      }
+    },
+    _renderCurrentPointer: function(layoutInfo, group, axis2, timelineModel) {
+      var data2 = timelineModel.getData();
+      var currentIndex = timelineModel.getCurrentIndex();
+      var pointerModel = data2.getItemModel(currentIndex).getModel("checkpointStyle");
+      var me = this;
+      var callback = {
+        onCreate: function(pointer) {
+          pointer.draggable = true;
+          pointer.drift = bind4(me._handlePointerDrag, me);
+          pointer.ondragend = bind4(me._handlePointerDragend, me);
+          pointerMoveTo2(pointer, currentIndex, axis2, timelineModel, true);
+        },
+        onUpdate: function(pointer) {
+          pointerMoveTo2(pointer, currentIndex, axis2, timelineModel);
+        }
+      };
+      this._currentPointer = giveSymbol2(pointerModel, pointerModel, this._mainGroup, {}, this._currentPointer, callback);
+    },
+    _handlePlayClick: function(nextState) {
+      this._clearTimer();
+      this.api.dispatchAction({
+        type: "timelinePlayChange",
+        playState: nextState,
+        from: this.uid
+      });
+    },
+    _handlePointerDrag: function(dx, dy, e2) {
+      this._clearTimer();
+      this._pointerChangeTimeline([e2.offsetX, e2.offsetY]);
+    },
+    _handlePointerDragend: function(e2) {
+      this._pointerChangeTimeline([e2.offsetX, e2.offsetY], true);
+    },
+    _pointerChangeTimeline: function(mousePos, trigger2) {
+      var toCoord = this._toAxisCoord(mousePos)[0];
+      var axis2 = this._axis;
+      var axisExtent = numberUtil2.asc(axis2.getExtent().slice());
+      toCoord > axisExtent[1] && (toCoord = axisExtent[1]);
+      toCoord < axisExtent[0] && (toCoord = axisExtent[0]);
+      this._currentPointer.position[0] = toCoord;
+      this._currentPointer.dirty();
+      var targetDataIndex = this._findNearestTick(toCoord);
+      var timelineModel = this.model;
+      if (trigger2 || targetDataIndex !== timelineModel.getCurrentIndex() && timelineModel.get("realtime")) {
+        this._changeTimeline(targetDataIndex);
+      }
+    },
+    _doPlayStop: function() {
+      this._clearTimer();
+      if (this.model.getPlayState()) {
+        this._timer = setTimeout(bind4(handleFrame, this), this.model.get("playInterval"));
+      }
+      function handleFrame() {
+        var timelineModel = this.model;
+        this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get("rewind", true) ? -1 : 1));
+      }
+    },
+    _toAxisCoord: function(vertex) {
+      var trans = this._mainGroup.getLocalTransform();
+      return graphic2.applyTransform(vertex, trans, true);
+    },
+    _findNearestTick: function(axisCoord) {
+      var data2 = this.model.getData();
+      var dist2 = Infinity;
+      var targetDataIndex;
+      var axis2 = this._axis;
+      data2.each(["value"], function(value, dataIndex) {
+        var coord = axis2.dataToCoord(value);
+        var d2 = Math.abs(coord - axisCoord);
+        if (d2 < dist2) {
+          dist2 = d2;
+          targetDataIndex = dataIndex;
+        }
+      });
+      return targetDataIndex;
+    },
+    _clearTimer: function() {
+      if (this._timer) {
+        clearTimeout(this._timer);
+        this._timer = null;
+      }
+    },
+    _changeTimeline: function(nextIndex) {
+      var currentIndex = this.model.getCurrentIndex();
+      if (nextIndex === "+") {
+        nextIndex = currentIndex + 1;
+      } else if (nextIndex === "-") {
+        nextIndex = currentIndex - 1;
+      }
+      this.api.dispatchAction({
+        type: "timelineChange",
+        currentIndex: nextIndex,
+        from: this.uid
+      });
+    }
+  });
+  function getViewRect2(model2, api2) {
+    return layout2.getLayoutRect(model2.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    }, model2.get("padding"));
+  }
+  function makeIcon(timelineModel, objPath, rect, opts2) {
+    var style2 = opts2.style;
+    var icon = graphic2.createIcon(timelineModel.get(objPath), opts2 || {}, new BoundingRect2(rect[0], rect[1], rect[2], rect[3]));
+    if (style2) {
+      icon.setStyle(style2);
+    }
+    return icon;
+  }
+  function giveSymbol2(hostModel, itemStyleModel, group, opt, symbol2, callback) {
+    var color2 = itemStyleModel.get("color");
+    if (!symbol2) {
+      var symbolType = hostModel.get("symbol");
+      symbol2 = createSymbol2(symbolType, -1, -1, 2, 2, color2);
+      symbol2.setStyle("strokeNoScale", true);
+      group.add(symbol2);
+      callback && callback.onCreate(symbol2);
+    } else {
+      symbol2.setColor(color2);
+      group.add(symbol2);
+      callback && callback.onUpdate(symbol2);
+    }
+    var itemStyle2 = itemStyleModel.getItemStyle(["color", "symbol", "symbolSize"]);
+    symbol2.setStyle(itemStyle2);
+    opt = zrUtil2.merge({
+      rectHover: true,
+      z2: 100
+    }, opt, true);
+    var symbolSize = hostModel.get("symbolSize");
+    symbolSize = symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];
+    symbolSize[0] /= 2;
+    symbolSize[1] /= 2;
+    opt.scale = symbolSize;
+    var symbolOffset = hostModel.get("symbolOffset");
+    if (symbolOffset) {
+      var pos = opt.position = opt.position || [0, 0];
+      pos[0] += numberUtil2.parsePercent(symbolOffset[0], symbolSize[0]);
+      pos[1] += numberUtil2.parsePercent(symbolOffset[1], symbolSize[1]);
+    }
+    var symbolRotate = hostModel.get("symbolRotate");
+    opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+    symbol2.attr(opt);
+    symbol2.updateTransform();
+    return symbol2;
+  }
+  function pointerMoveTo2(pointer, dataIndex, axis2, timelineModel, noAnimation) {
+    if (pointer.dragging) {
+      return;
+    }
+    var pointerModel = timelineModel.getModel("checkpointStyle");
+    var toCoord = axis2.dataToCoord(timelineModel.getData().get(["value"], dataIndex));
+    if (noAnimation || !pointerModel.get("animation", true)) {
+      pointer.attr({
+        position: [toCoord, 0]
+      });
+    } else {
+      pointer.stopAnimation(true);
+      pointer.animateTo({
+        position: [toCoord, 0]
+      }, pointerModel.get("animationDuration", true), pointerModel.get("animationEasing", true));
+    }
+  }
+  SliderTimelineView$2 = _default68;
+  return SliderTimelineView$2;
+}
+var hasRequiredTimeline;
+function requireTimeline() {
+  if (hasRequiredTimeline)
+    return timeline;
+  hasRequiredTimeline = 1;
+  var echarts2 = echarts$1;
+  var preprocessor2 = requirePreprocessor$1();
+  requireTypeDefaulter$1();
+  requireTimelineAction();
+  requireSliderTimelineModel();
+  requireSliderTimelineView();
+  echarts2.registerPreprocessor(preprocessor2);
+  return timeline;
+}
+var markPoint = {};
+var MarkerModel_1;
+var hasRequiredMarkerModel;
+function requireMarkerModel() {
+  if (hasRequiredMarkerModel)
+    return MarkerModel_1;
+  hasRequiredMarkerModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var env2 = env_1;
+  var modelUtil2 = model;
+  var formatUtil2 = format$6;
+  var dataFormatMixin2 = dataFormat;
+  var addCommas2 = formatUtil2.addCommas;
+  var encodeHTML2 = formatUtil2.encodeHTML;
+  function fillLabel2(opt) {
+    modelUtil2.defaultEmphasis(opt, "label", ["show"]);
+  }
+  var MarkerModel2 = echarts2.extendComponentModel({
+    type: "marker",
+    dependencies: ["series", "grid", "polar", "geo"],
+    /**
+     * @overrite
+     */
+    init: function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+      this._mergeOption(option, ecModel, false, true);
+    },
+    /**
+     * @return {boolean}
+     */
+    isAnimationEnabled: function() {
+      if (env2.node) {
+        return false;
+      }
+      var hostSeries = this.__hostSeries;
+      return this.getShallow("animation") && hostSeries && hostSeries.isAnimationEnabled();
+    },
+    /**
+     * @overrite
+     */
+    mergeOption: function(newOpt, ecModel) {
+      this._mergeOption(newOpt, ecModel, false, false);
+    },
+    _mergeOption: function(newOpt, ecModel, createdBySelf, isInit) {
+      var MarkerModel3 = this.constructor;
+      var modelPropName = this.mainType + "Model";
+      if (!createdBySelf) {
+        ecModel.eachSeries(function(seriesModel) {
+          var markerOpt = seriesModel.get(this.mainType, true);
+          var markerModel = seriesModel[modelPropName];
+          if (!markerOpt || !markerOpt.data) {
+            seriesModel[modelPropName] = null;
+            return;
+          }
+          if (!markerModel) {
+            if (isInit) {
+              fillLabel2(markerOpt);
+            }
+            zrUtil2.each(markerOpt.data, function(item) {
+              if (item instanceof Array) {
+                fillLabel2(item[0]);
+                fillLabel2(item[1]);
+              } else {
+                fillLabel2(item);
+              }
+            });
+            markerModel = new MarkerModel3(markerOpt, this, ecModel);
+            zrUtil2.extend(markerModel, {
+              mainType: this.mainType,
+              // Use the same series index and name
+              seriesIndex: seriesModel.seriesIndex,
+              name: seriesModel.name,
+              createdBySelf: true
+            });
+            markerModel.__hostSeries = seriesModel;
+          } else {
+            markerModel._mergeOption(markerOpt, ecModel, true);
+          }
+          seriesModel[modelPropName] = markerModel;
+        }, this);
+      }
+    },
+    formatTooltip: function(dataIndex, multipleSeries, dataType, renderMode) {
+      var data2 = this.getData();
+      var value = this.getRawValue(dataIndex);
+      var formattedValue = zrUtil2.isArray(value) ? zrUtil2.map(value, addCommas2).join(", ") : addCommas2(value);
+      var name2 = data2.getName(dataIndex);
+      var html = encodeHTML2(this.name);
+      var newLine = renderMode === "html" ? "<br/>" : "\n";
+      if (value != null || name2) {
+        html += newLine;
+      }
+      if (name2) {
+        html += encodeHTML2(name2);
+        if (value != null) {
+          html += " : ";
+        }
+      }
+      if (value != null) {
+        html += encodeHTML2(formattedValue);
+      }
+      return html;
+    },
+    getData: function() {
+      return this._data;
+    },
+    setData: function(data2) {
+      this._data = data2;
+    }
+  });
+  zrUtil2.mixin(MarkerModel2, dataFormatMixin2);
+  var _default68 = MarkerModel2;
+  MarkerModel_1 = _default68;
+  return MarkerModel_1;
+}
+var MarkPointModel$2;
+var hasRequiredMarkPointModel;
+function requireMarkPointModel() {
+  if (hasRequiredMarkPointModel)
+    return MarkPointModel$2;
+  hasRequiredMarkPointModel = 1;
+  var MarkerModel2 = requireMarkerModel();
+  var _default68 = MarkerModel2.extend({
+    type: "markPoint",
+    defaultOption: {
+      zlevel: 0,
+      z: 5,
+      symbol: "pin",
+      symbolSize: 50,
+      //symbolRotate: 0,
+      //symbolOffset: [0, 0]
+      tooltip: {
+        trigger: "item"
+      },
+      label: {
+        show: true,
+        position: "inside"
+      },
+      itemStyle: {
+        borderWidth: 2
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      }
+    }
+  });
+  MarkPointModel$2 = _default68;
+  return MarkPointModel$2;
+}
+var markerHelper = {};
+var hasRequiredMarkerHelper;
+function requireMarkerHelper() {
+  if (hasRequiredMarkerHelper)
+    return markerHelper;
+  hasRequiredMarkerHelper = 1;
+  var zrUtil2 = util$a;
+  var numberUtil2 = requireNumber();
+  var _dataStackHelper = requireDataStackHelper();
+  var isDimensionStacked2 = _dataStackHelper.isDimensionStacked;
+  var indexOf2 = zrUtil2.indexOf;
+  function hasXOrY2(item) {
+    return !(isNaN(parseFloat(item.x)) && isNaN(parseFloat(item.y)));
+  }
+  function hasXAndY2(item) {
+    return !isNaN(parseFloat(item.x)) && !isNaN(parseFloat(item.y));
+  }
+  function markerTypeCalculatorWithExtent2(mlType, data2, otherDataDim, targetDataDim, otherCoordIndex, targetCoordIndex) {
+    var coordArr = [];
+    var stacked = isDimensionStacked2(
+      data2,
+      targetDataDim
+      /*, otherDataDim*/
+    );
+    var calcDataDim = stacked ? data2.getCalculationInfo("stackResultDimension") : targetDataDim;
+    var value = numCalculate2(data2, calcDataDim, mlType);
+    var dataIndex = data2.indicesOfNearest(calcDataDim, value)[0];
+    coordArr[otherCoordIndex] = data2.get(otherDataDim, dataIndex);
+    coordArr[targetCoordIndex] = data2.get(calcDataDim, dataIndex);
+    var coordArrValue = data2.get(targetDataDim, dataIndex);
+    var precision = numberUtil2.getPrecision(data2.get(targetDataDim, dataIndex));
+    precision = Math.min(precision, 20);
+    if (precision >= 0) {
+      coordArr[targetCoordIndex] = +coordArr[targetCoordIndex].toFixed(precision);
+    }
+    return [coordArr, coordArrValue];
+  }
+  var curry2 = zrUtil2.curry;
+  var markerTypeCalculator2 = {
+    /**
+     * @method
+     * @param {module:echarts/data/List} data
+     * @param {string} baseAxisDim
+     * @param {string} valueAxisDim
+     */
+    min: curry2(markerTypeCalculatorWithExtent2, "min"),
+    /**
+     * @method
+     * @param {module:echarts/data/List} data
+     * @param {string} baseAxisDim
+     * @param {string} valueAxisDim
+     */
+    max: curry2(markerTypeCalculatorWithExtent2, "max"),
+    /**
+     * @method
+     * @param {module:echarts/data/List} data
+     * @param {string} baseAxisDim
+     * @param {string} valueAxisDim
+     */
+    average: curry2(markerTypeCalculatorWithExtent2, "average")
+  };
+  function dataTransform2(seriesModel, item) {
+    var data2 = seriesModel.getData();
+    var coordSys = seriesModel.coordinateSystem;
+    if (item && !hasXAndY2(item) && !zrUtil2.isArray(item.coord) && coordSys) {
+      var dims = coordSys.dimensions;
+      var axisInfo = getAxisInfo2(item, data2, coordSys, seriesModel);
+      item = zrUtil2.clone(item);
+      if (item.type && markerTypeCalculator2[item.type] && axisInfo.baseAxis && axisInfo.valueAxis) {
+        var otherCoordIndex = indexOf2(dims, axisInfo.baseAxis.dim);
+        var targetCoordIndex = indexOf2(dims, axisInfo.valueAxis.dim);
+        var coordInfo = markerTypeCalculator2[item.type](data2, axisInfo.baseDataDim, axisInfo.valueDataDim, otherCoordIndex, targetCoordIndex);
+        item.coord = coordInfo[0];
+        item.value = coordInfo[1];
+      } else {
+        var coord = [item.xAxis != null ? item.xAxis : item.radiusAxis, item.yAxis != null ? item.yAxis : item.angleAxis];
+        for (var i2 = 0; i2 < 2; i2++) {
+          if (markerTypeCalculator2[coord[i2]]) {
+            coord[i2] = numCalculate2(data2, data2.mapDimension(dims[i2]), coord[i2]);
+          }
+        }
+        item.coord = coord;
+      }
+    }
+    return item;
+  }
+  function getAxisInfo2(item, data2, coordSys, seriesModel) {
+    var ret = {};
+    if (item.valueIndex != null || item.valueDim != null) {
+      ret.valueDataDim = item.valueIndex != null ? data2.getDimension(item.valueIndex) : item.valueDim;
+      ret.valueAxis = coordSys.getAxis(dataDimToCoordDim2(seriesModel, ret.valueDataDim));
+      ret.baseAxis = coordSys.getOtherAxis(ret.valueAxis);
+      ret.baseDataDim = data2.mapDimension(ret.baseAxis.dim);
+    } else {
+      ret.baseAxis = seriesModel.getBaseAxis();
+      ret.valueAxis = coordSys.getOtherAxis(ret.baseAxis);
+      ret.baseDataDim = data2.mapDimension(ret.baseAxis.dim);
+      ret.valueDataDim = data2.mapDimension(ret.valueAxis.dim);
+    }
+    return ret;
+  }
+  function dataDimToCoordDim2(seriesModel, dataDim) {
+    var data2 = seriesModel.getData();
+    var dimensions = data2.dimensions;
+    dataDim = data2.getDimension(dataDim);
+    for (var i2 = 0; i2 < dimensions.length; i2++) {
+      var dimItem = data2.getDimensionInfo(dimensions[i2]);
+      if (dimItem.name === dataDim) {
+        return dimItem.coordDim;
+      }
+    }
+  }
+  function dataFilter2(coordSys, item) {
+    return coordSys && coordSys.containData && item.coord && !hasXOrY2(item) ? coordSys.containData(item.coord) : true;
+  }
+  function dimValueGetter(item, dimName, dataIndex, dimIndex) {
+    if (dimIndex < 2) {
+      return item.coord && item.coord[dimIndex];
+    }
+    return item.value;
+  }
+  function numCalculate2(data2, valueDataDim, type2) {
+    if (type2 === "average") {
+      var sum2 = 0;
+      var count2 = 0;
+      data2.each(valueDataDim, function(val, idx) {
+        if (!isNaN(val)) {
+          sum2 += val;
+          count2++;
+        }
+      });
+      return sum2 / count2;
+    } else if (type2 === "median") {
+      return data2.getMedian(valueDataDim);
+    } else {
+      return data2.getDataExtent(valueDataDim, true)[type2 === "max" ? 1 : 0];
+    }
+  }
+  markerHelper.dataTransform = dataTransform2;
+  markerHelper.getAxisInfo = getAxisInfo2;
+  markerHelper.dataFilter = dataFilter2;
+  markerHelper.dimValueGetter = dimValueGetter;
+  markerHelper.numCalculate = numCalculate2;
+  return markerHelper;
+}
+var MarkerView$2;
+var hasRequiredMarkerView;
+function requireMarkerView() {
+  if (hasRequiredMarkerView)
+    return MarkerView$2;
+  hasRequiredMarkerView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var _default68 = echarts2.extendComponentView({
+    type: "marker",
+    init: function() {
+      this.markerGroupMap = zrUtil2.createHashMap();
+    },
+    render: function(markerModel, ecModel, api2) {
+      var markerGroupMap = this.markerGroupMap;
+      markerGroupMap.each(function(item) {
+        item.__keep = false;
+      });
+      var markerModelKey = this.type + "Model";
+      ecModel.eachSeries(function(seriesModel) {
+        var markerModel2 = seriesModel[markerModelKey];
+        markerModel2 && this.renderSeries(seriesModel, markerModel2, ecModel, api2);
+      }, this);
+      markerGroupMap.each(function(item) {
+        !item.__keep && this.group.remove(item.group);
+      }, this);
+    },
+    renderSeries: function() {
+    }
+  });
+  MarkerView$2 = _default68;
+  return MarkerView$2;
+}
+var MarkPointView$2;
+var hasRequiredMarkPointView;
+function requireMarkPointView() {
+  if (hasRequiredMarkPointView)
+    return MarkPointView$2;
+  hasRequiredMarkPointView = 1;
+  var zrUtil2 = util$a;
+  var SymbolDraw2 = requireSymbolDraw();
+  var numberUtil2 = requireNumber();
+  var List = requireList();
+  var markerHelper2 = requireMarkerHelper();
+  var MarkerView2 = requireMarkerView();
+  function updateMarkerLayout2(mpData, seriesModel, api2) {
+    var coordSys = seriesModel.coordinateSystem;
+    mpData.each(function(idx) {
+      var itemModel = mpData.getItemModel(idx);
+      var point;
+      var xPx = numberUtil2.parsePercent(itemModel.get("x"), api2.getWidth());
+      var yPx = numberUtil2.parsePercent(itemModel.get("y"), api2.getHeight());
+      if (!isNaN(xPx) && !isNaN(yPx)) {
+        point = [xPx, yPx];
+      } else if (seriesModel.getMarkerPosition) {
+        point = seriesModel.getMarkerPosition(mpData.getValues(mpData.dimensions, idx));
+      } else if (coordSys) {
+        var x2 = mpData.get(coordSys.dimensions[0], idx);
+        var y2 = mpData.get(coordSys.dimensions[1], idx);
+        point = coordSys.dataToPoint([x2, y2]);
+      }
+      if (!isNaN(xPx)) {
+        point[0] = xPx;
+      }
+      if (!isNaN(yPx)) {
+        point[1] = yPx;
+      }
+      mpData.setItemLayout(idx, point);
+    });
+  }
+  var _default68 = MarkerView2.extend({
+    type: "markPoint",
+    // updateLayout: function (markPointModel, ecModel, api) {
+    //     ecModel.eachSeries(function (seriesModel) {
+    //         var mpModel = seriesModel.markPointModel;
+    //         if (mpModel) {
+    //             updateMarkerLayout(mpModel.getData(), seriesModel, api);
+    //             this.markerGroupMap.get(seriesModel.id).updateLayout(mpModel);
+    //         }
+    //     }, this);
+    // },
+    updateTransform: function(markPointModel, ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        var mpModel = seriesModel.markPointModel;
+        if (mpModel) {
+          updateMarkerLayout2(mpModel.getData(), seriesModel, api2);
+          this.markerGroupMap.get(seriesModel.id).updateLayout(mpModel);
+        }
+      }, this);
+    },
+    renderSeries: function(seriesModel, mpModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesId = seriesModel.id;
+      var seriesData = seriesModel.getData();
+      var symbolDrawMap = this.markerGroupMap;
+      var symbolDraw = symbolDrawMap.get(seriesId) || symbolDrawMap.set(seriesId, new SymbolDraw2());
+      var mpData = createList2(coordSys, seriesModel, mpModel);
+      mpModel.setData(mpData);
+      updateMarkerLayout2(mpModel.getData(), seriesModel, api2);
+      mpData.each(function(idx) {
+        var itemModel = mpData.getItemModel(idx);
+        var symbol2 = itemModel.getShallow("symbol");
+        var symbolSize = itemModel.getShallow("symbolSize");
+        var symbolRotate = itemModel.getShallow("symbolRotate");
+        var isFnSymbol = zrUtil2.isFunction(symbol2);
+        var isFnSymbolSize = zrUtil2.isFunction(symbolSize);
+        var isFnSymbolRotate = zrUtil2.isFunction(symbolRotate);
+        if (isFnSymbol || isFnSymbolSize || isFnSymbolRotate) {
+          var rawIdx = mpModel.getRawValue(idx);
+          var dataParams = mpModel.getDataParams(idx);
+          if (isFnSymbol) {
+            symbol2 = symbol2(rawIdx, dataParams);
+          }
+          if (isFnSymbolSize) {
+            symbolSize = symbolSize(rawIdx, dataParams);
+          }
+          if (isFnSymbolRotate) {
+            symbolRotate = symbolRotate(rawIdx, dataParams);
+          }
+        }
+        mpData.setItemVisual(idx, {
+          symbol: symbol2,
+          symbolSize,
+          symbolRotate,
+          color: itemModel.get("itemStyle.color") || seriesData.getVisual("color")
+        });
+      });
+      symbolDraw.updateData(mpData);
+      this.group.add(symbolDraw.group);
+      mpData.eachItemGraphicEl(function(el) {
+        el.traverse(function(child) {
+          child.dataModel = mpModel;
+        });
+      });
+      symbolDraw.__keep = true;
+      symbolDraw.group.silent = mpModel.get("silent") || seriesModel.get("silent");
+    }
+  });
+  function createList2(coordSys, seriesModel, mpModel) {
+    var coordDimsInfos;
+    if (coordSys) {
+      coordDimsInfos = zrUtil2.map(coordSys && coordSys.dimensions, function(coordDim) {
+        var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {};
+        return zrUtil2.defaults({
+          name: coordDim
+        }, info);
+      });
+    } else {
+      coordDimsInfos = [{
+        name: "value",
+        type: "float"
+      }];
+    }
+    var mpData = new List(coordDimsInfos, mpModel);
+    var dataOpt = zrUtil2.map(mpModel.get("data"), zrUtil2.curry(markerHelper2.dataTransform, seriesModel));
+    if (coordSys) {
+      dataOpt = zrUtil2.filter(dataOpt, zrUtil2.curry(markerHelper2.dataFilter, coordSys));
+    }
+    mpData.initData(dataOpt, null, coordSys ? markerHelper2.dimValueGetter : function(item) {
+      return item.value;
+    });
+    return mpData;
+  }
+  MarkPointView$2 = _default68;
+  return MarkPointView$2;
+}
+var hasRequiredMarkPoint;
+function requireMarkPoint() {
+  if (hasRequiredMarkPoint)
+    return markPoint;
+  hasRequiredMarkPoint = 1;
+  var echarts2 = echarts$1;
+  requireMarkPointModel();
+  requireMarkPointView();
+  echarts2.registerPreprocessor(function(opt) {
+    opt.markPoint = opt.markPoint || {};
+  });
+  return markPoint;
+}
+var markLine = {};
+var MarkLineModel$2;
+var hasRequiredMarkLineModel;
+function requireMarkLineModel() {
+  if (hasRequiredMarkLineModel)
+    return MarkLineModel$2;
+  hasRequiredMarkLineModel = 1;
+  var MarkerModel2 = requireMarkerModel();
+  var _default68 = MarkerModel2.extend({
+    type: "markLine",
+    defaultOption: {
+      zlevel: 0,
+      z: 5,
+      symbol: ["circle", "arrow"],
+      symbolSize: [8, 16],
+      //symbolRotate: 0,
+      precision: 2,
+      tooltip: {
+        trigger: "item"
+      },
+      label: {
+        show: true,
+        position: "end",
+        distance: 5
+      },
+      lineStyle: {
+        type: "dashed"
+      },
+      emphasis: {
+        label: {
+          show: true
+        },
+        lineStyle: {
+          width: 3
+        }
+      },
+      animationEasing: "linear"
+    }
+  });
+  MarkLineModel$2 = _default68;
+  return MarkLineModel$2;
+}
+var MarkLineView$2;
+var hasRequiredMarkLineView;
+function requireMarkLineView() {
+  if (hasRequiredMarkLineView)
+    return MarkLineView$2;
+  hasRequiredMarkLineView = 1;
+  var zrUtil2 = util$a;
+  var List = requireList();
+  var numberUtil2 = requireNumber();
+  var markerHelper2 = requireMarkerHelper();
+  var LineDraw2 = requireLineDraw();
+  var MarkerView2 = requireMarkerView();
+  var _dataStackHelper = requireDataStackHelper();
+  var getStackedDimension2 = _dataStackHelper.getStackedDimension;
+  var markLineTransform2 = function(seriesModel, coordSys, mlModel, item) {
+    var data2 = seriesModel.getData();
+    var mlType = item.type;
+    if (!zrUtil2.isArray(item) && (mlType === "min" || mlType === "max" || mlType === "average" || mlType === "median" || item.xAxis != null || item.yAxis != null)) {
+      var valueAxis2;
+      var value;
+      if (item.yAxis != null || item.xAxis != null) {
+        valueAxis2 = coordSys.getAxis(item.yAxis != null ? "y" : "x");
+        value = zrUtil2.retrieve(item.yAxis, item.xAxis);
+      } else {
+        var axisInfo = markerHelper2.getAxisInfo(item, data2, coordSys, seriesModel);
+        valueAxis2 = axisInfo.valueAxis;
+        var valueDataDim = getStackedDimension2(data2, axisInfo.valueDataDim);
+        value = markerHelper2.numCalculate(data2, valueDataDim, mlType);
+      }
+      var valueIndex = valueAxis2.dim === "x" ? 0 : 1;
+      var baseIndex = 1 - valueIndex;
+      var mlFrom = zrUtil2.clone(item);
+      var mlTo = {};
+      mlFrom.type = null;
+      mlFrom.coord = [];
+      mlTo.coord = [];
+      mlFrom.coord[baseIndex] = -Infinity;
+      mlTo.coord[baseIndex] = Infinity;
+      var precision = mlModel.get("precision");
+      if (precision >= 0 && typeof value === "number") {
+        value = +value.toFixed(Math.min(precision, 20));
+      }
+      mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;
+      item = [mlFrom, mlTo, {
+        // Extra option for tooltip and label
+        type: mlType,
+        valueIndex: item.valueIndex,
+        // Force to use the value of calculated value.
+        value
+      }];
+    }
+    item = [markerHelper2.dataTransform(seriesModel, item[0]), markerHelper2.dataTransform(seriesModel, item[1]), zrUtil2.extend({}, item[2])];
+    item[2].type = item[2].type || "";
+    zrUtil2.merge(item[2], item[0]);
+    zrUtil2.merge(item[2], item[1]);
+    return item;
+  };
+  function isInifinity(val) {
+    return !isNaN(val) && !isFinite(val);
+  }
+  function ifMarkLineHasOnlyDim2(dimIndex, fromCoord, toCoord, coordSys) {
+    var otherDimIndex = 1 - dimIndex;
+    var dimName = coordSys.dimensions[dimIndex];
+    return isInifinity(fromCoord[otherDimIndex]) && isInifinity(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);
+  }
+  function markLineFilter2(coordSys, item) {
+    if (coordSys.type === "cartesian2d") {
+      var fromCoord = item[0].coord;
+      var toCoord = item[1].coord;
+      if (fromCoord && toCoord && (ifMarkLineHasOnlyDim2(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim2(0, fromCoord, toCoord, coordSys))) {
+        return true;
+      }
+    }
+    return markerHelper2.dataFilter(coordSys, item[0]) && markerHelper2.dataFilter(coordSys, item[1]);
+  }
+  function updateSingleMarkerEndLayout2(data2, idx, isFrom, seriesModel, api2) {
+    var coordSys = seriesModel.coordinateSystem;
+    var itemModel = data2.getItemModel(idx);
+    var point;
+    var xPx = numberUtil2.parsePercent(itemModel.get("x"), api2.getWidth());
+    var yPx = numberUtil2.parsePercent(itemModel.get("y"), api2.getHeight());
+    if (!isNaN(xPx) && !isNaN(yPx)) {
+      point = [xPx, yPx];
+    } else {
+      if (seriesModel.getMarkerPosition) {
+        point = seriesModel.getMarkerPosition(data2.getValues(data2.dimensions, idx));
+      } else {
+        var dims = coordSys.dimensions;
+        var x2 = data2.get(dims[0], idx);
+        var y2 = data2.get(dims[1], idx);
+        point = coordSys.dataToPoint([x2, y2]);
+      }
+      if (coordSys.type === "cartesian2d") {
+        var xAxis = coordSys.getAxis("x");
+        var yAxis = coordSys.getAxis("y");
+        var dims = coordSys.dimensions;
+        if (isInifinity(data2.get(dims[0], idx))) {
+          point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);
+        } else if (isInifinity(data2.get(dims[1], idx))) {
+          point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 0 : 1]);
+        }
+      }
+      if (!isNaN(xPx)) {
+        point[0] = xPx;
+      }
+      if (!isNaN(yPx)) {
+        point[1] = yPx;
+      }
+    }
+    data2.setItemLayout(idx, point);
+  }
+  var _default68 = MarkerView2.extend({
+    type: "markLine",
+    // updateLayout: function (markLineModel, ecModel, api) {
+    //     ecModel.eachSeries(function (seriesModel) {
+    //         var mlModel = seriesModel.markLineModel;
+    //         if (mlModel) {
+    //             var mlData = mlModel.getData();
+    //             var fromData = mlModel.__from;
+    //             var toData = mlModel.__to;
+    //             // Update visual and layout of from symbol and to symbol
+    //             fromData.each(function (idx) {
+    //                 updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);
+    //                 updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);
+    //             });
+    //             // Update layout of line
+    //             mlData.each(function (idx) {
+    //                 mlData.setItemLayout(idx, [
+    //                     fromData.getItemLayout(idx),
+    //                     toData.getItemLayout(idx)
+    //                 ]);
+    //             });
+    //             this.markerGroupMap.get(seriesModel.id).updateLayout();
+    //         }
+    //     }, this);
+    // },
+    updateTransform: function(markLineModel, ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        var mlModel = seriesModel.markLineModel;
+        if (mlModel) {
+          var mlData = mlModel.getData();
+          var fromData = mlModel.__from;
+          var toData = mlModel.__to;
+          fromData.each(function(idx) {
+            updateSingleMarkerEndLayout2(fromData, idx, true, seriesModel, api2);
+            updateSingleMarkerEndLayout2(toData, idx, false, seriesModel, api2);
+          });
+          mlData.each(function(idx) {
+            mlData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);
+          });
+          this.markerGroupMap.get(seriesModel.id).updateLayout();
+        }
+      }, this);
+    },
+    renderSeries: function(seriesModel, mlModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesId = seriesModel.id;
+      var seriesData = seriesModel.getData();
+      var lineDrawMap = this.markerGroupMap;
+      var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new LineDraw2());
+      this.group.add(lineDraw.group);
+      var mlData = createList2(coordSys, seriesModel, mlModel);
+      var fromData = mlData.from;
+      var toData = mlData.to;
+      var lineData = mlData.line;
+      mlModel.__from = fromData;
+      mlModel.__to = toData;
+      mlModel.setData(lineData);
+      var symbolType = mlModel.get("symbol");
+      var symbolSize = mlModel.get("symbolSize");
+      if (!zrUtil2.isArray(symbolType)) {
+        symbolType = [symbolType, symbolType];
+      }
+      if (typeof symbolSize === "number") {
+        symbolSize = [symbolSize, symbolSize];
+      }
+      mlData.from.each(function(idx) {
+        updateDataVisualAndLayout(fromData, idx, true);
+        updateDataVisualAndLayout(toData, idx, false);
+      });
+      lineData.each(function(idx) {
+        var lineColor = lineData.getItemModel(idx).get("lineStyle.color");
+        lineData.setItemVisual(idx, {
+          color: lineColor || fromData.getItemVisual(idx, "color")
+        });
+        lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);
+        lineData.setItemVisual(idx, {
+          "fromSymbolRotate": fromData.getItemVisual(idx, "symbolRotate"),
+          "fromSymbolSize": fromData.getItemVisual(idx, "symbolSize"),
+          "fromSymbol": fromData.getItemVisual(idx, "symbol"),
+          "toSymbolRotate": toData.getItemVisual(idx, "symbolRotate"),
+          "toSymbolSize": toData.getItemVisual(idx, "symbolSize"),
+          "toSymbol": toData.getItemVisual(idx, "symbol")
+        });
+      });
+      lineDraw.updateData(lineData);
+      mlData.line.eachItemGraphicEl(function(el, idx) {
+        el.traverse(function(child) {
+          child.dataModel = mlModel;
+        });
+      });
+      function updateDataVisualAndLayout(data2, idx, isFrom) {
+        var itemModel = data2.getItemModel(idx);
+        updateSingleMarkerEndLayout2(data2, idx, isFrom, seriesModel, api2);
+        data2.setItemVisual(idx, {
+          symbolRotate: itemModel.get("symbolRotate"),
+          symbolSize: itemModel.get("symbolSize") || symbolSize[isFrom ? 0 : 1],
+          symbol: itemModel.get("symbol", true) || symbolType[isFrom ? 0 : 1],
+          color: itemModel.get("itemStyle.color") || seriesData.getVisual("color")
+        });
+      }
+      lineDraw.__keep = true;
+      lineDraw.group.silent = mlModel.get("silent") || seriesModel.get("silent");
+    }
+  });
+  function createList2(coordSys, seriesModel, mlModel) {
+    var coordDimsInfos;
+    if (coordSys) {
+      coordDimsInfos = zrUtil2.map(coordSys && coordSys.dimensions, function(coordDim) {
+        var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {};
+        return zrUtil2.defaults({
+          name: coordDim
+        }, info);
+      });
+    } else {
+      coordDimsInfos = [{
+        name: "value",
+        type: "float"
+      }];
+    }
+    var fromData = new List(coordDimsInfos, mlModel);
+    var toData = new List(coordDimsInfos, mlModel);
+    var lineData = new List([], mlModel);
+    var optData = zrUtil2.map(mlModel.get("data"), zrUtil2.curry(markLineTransform2, seriesModel, coordSys, mlModel));
+    if (coordSys) {
+      optData = zrUtil2.filter(optData, zrUtil2.curry(markLineFilter2, coordSys));
+    }
+    var dimValueGetter = coordSys ? markerHelper2.dimValueGetter : function(item) {
+      return item.value;
+    };
+    fromData.initData(zrUtil2.map(optData, function(item) {
+      return item[0];
+    }), null, dimValueGetter);
+    toData.initData(zrUtil2.map(optData, function(item) {
+      return item[1];
+    }), null, dimValueGetter);
+    lineData.initData(zrUtil2.map(optData, function(item) {
+      return item[2];
+    }));
+    lineData.hasItemOption = true;
+    return {
+      from: fromData,
+      to: toData,
+      line: lineData
+    };
+  }
+  MarkLineView$2 = _default68;
+  return MarkLineView$2;
+}
+var hasRequiredMarkLine;
+function requireMarkLine() {
+  if (hasRequiredMarkLine)
+    return markLine;
+  hasRequiredMarkLine = 1;
+  var echarts2 = echarts$1;
+  requireMarkLineModel();
+  requireMarkLineView();
+  echarts2.registerPreprocessor(function(opt) {
+    opt.markLine = opt.markLine || {};
+  });
+  return markLine;
+}
+var markArea = {};
+var MarkAreaModel$2;
+var hasRequiredMarkAreaModel;
+function requireMarkAreaModel() {
+  if (hasRequiredMarkAreaModel)
+    return MarkAreaModel$2;
+  hasRequiredMarkAreaModel = 1;
+  var MarkerModel2 = requireMarkerModel();
+  var _default68 = MarkerModel2.extend({
+    type: "markArea",
+    defaultOption: {
+      zlevel: 0,
+      // PENDING
+      z: 1,
+      tooltip: {
+        trigger: "item"
+      },
+      // markArea should fixed on the coordinate system
+      animation: false,
+      label: {
+        show: true,
+        position: "top"
+      },
+      itemStyle: {
+        // color and borderColor default to use color from series
+        // color: 'auto'
+        // borderColor: 'auto'
+        borderWidth: 0
+      },
+      emphasis: {
+        label: {
+          show: true,
+          position: "top"
+        }
+      }
+    }
+  });
+  MarkAreaModel$2 = _default68;
+  return MarkAreaModel$2;
+}
+var MarkAreaView$2 = {};
+var hasRequiredMarkAreaView;
+function requireMarkAreaView() {
+  if (hasRequiredMarkAreaView)
+    return MarkAreaView$2;
+  hasRequiredMarkAreaView = 1;
+  var zrUtil2 = util$a;
+  var colorUtil = color$2;
+  var List = requireList();
+  var numberUtil2 = requireNumber();
+  var graphic2 = graphic$6;
+  var markerHelper2 = requireMarkerHelper();
+  var MarkerView2 = requireMarkerView();
+  var markAreaTransform2 = function(seriesModel, coordSys, maModel, item) {
+    var lt2 = markerHelper2.dataTransform(seriesModel, item[0]);
+    var rb2 = markerHelper2.dataTransform(seriesModel, item[1]);
+    var retrieve4 = zrUtil2.retrieve;
+    var ltCoord = lt2.coord;
+    var rbCoord = rb2.coord;
+    ltCoord[0] = retrieve4(ltCoord[0], -Infinity);
+    ltCoord[1] = retrieve4(ltCoord[1], -Infinity);
+    rbCoord[0] = retrieve4(rbCoord[0], Infinity);
+    rbCoord[1] = retrieve4(rbCoord[1], Infinity);
+    var result2 = zrUtil2.mergeAll([{}, lt2, rb2]);
+    result2.coord = [lt2.coord, rb2.coord];
+    result2.x0 = lt2.x;
+    result2.y0 = lt2.y;
+    result2.x1 = rb2.x;
+    result2.y1 = rb2.y;
+    return result2;
+  };
+  function isInifinity(val) {
+    return !isNaN(val) && !isFinite(val);
+  }
+  function ifMarkLineHasOnlyDim2(dimIndex, fromCoord, toCoord, coordSys) {
+    var otherDimIndex = 1 - dimIndex;
+    return isInifinity(fromCoord[otherDimIndex]) && isInifinity(toCoord[otherDimIndex]);
+  }
+  function markAreaFilter2(coordSys, item) {
+    var fromCoord = item.coord[0];
+    var toCoord = item.coord[1];
+    if (coordSys.type === "cartesian2d") {
+      if (fromCoord && toCoord && (ifMarkLineHasOnlyDim2(1, fromCoord, toCoord) || ifMarkLineHasOnlyDim2(0, fromCoord, toCoord))) {
+        return true;
+      }
+    }
+    return markerHelper2.dataFilter(coordSys, {
+      coord: fromCoord,
+      x: item.x0,
+      y: item.y0
+    }) || markerHelper2.dataFilter(coordSys, {
+      coord: toCoord,
+      x: item.x1,
+      y: item.y1
+    });
+  }
+  function getSingleMarkerEndPoint2(data2, idx, dims, seriesModel, api2) {
+    var coordSys = seriesModel.coordinateSystem;
+    var itemModel = data2.getItemModel(idx);
+    var point;
+    var xPx = numberUtil2.parsePercent(itemModel.get(dims[0]), api2.getWidth());
+    var yPx = numberUtil2.parsePercent(itemModel.get(dims[1]), api2.getHeight());
+    if (!isNaN(xPx) && !isNaN(yPx)) {
+      point = [xPx, yPx];
+    } else {
+      if (seriesModel.getMarkerPosition) {
+        point = seriesModel.getMarkerPosition(data2.getValues(dims, idx));
+      } else {
+        var x2 = data2.get(dims[0], idx);
+        var y2 = data2.get(dims[1], idx);
+        var pt = [x2, y2];
+        coordSys.clampData && coordSys.clampData(pt, pt);
+        point = coordSys.dataToPoint(pt, true);
+      }
+      if (coordSys.type === "cartesian2d") {
+        var xAxis = coordSys.getAxis("x");
+        var yAxis = coordSys.getAxis("y");
+        var x2 = data2.get(dims[0], idx);
+        var y2 = data2.get(dims[1], idx);
+        if (isInifinity(x2)) {
+          point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[dims[0] === "x0" ? 0 : 1]);
+        } else if (isInifinity(y2)) {
+          point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[dims[1] === "y0" ? 0 : 1]);
+        }
+      }
+      if (!isNaN(xPx)) {
+        point[0] = xPx;
+      }
+      if (!isNaN(yPx)) {
+        point[1] = yPx;
+      }
+    }
+    return point;
+  }
+  var dimPermutations2 = [["x0", "y0"], ["x1", "y0"], ["x1", "y1"], ["x0", "y1"]];
+  MarkerView2.extend({
+    type: "markArea",
+    // updateLayout: function (markAreaModel, ecModel, api) {
+    //     ecModel.eachSeries(function (seriesModel) {
+    //         var maModel = seriesModel.markAreaModel;
+    //         if (maModel) {
+    //             var areaData = maModel.getData();
+    //             areaData.each(function (idx) {
+    //                 var points = zrUtil.map(dimPermutations, function (dim) {
+    //                     return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api);
+    //                 });
+    //                 // Layout
+    //                 areaData.setItemLayout(idx, points);
+    //                 var el = areaData.getItemGraphicEl(idx);
+    //                 el.setShape('points', points);
+    //             });
+    //         }
+    //     }, this);
+    // },
+    updateTransform: function(markAreaModel, ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        var maModel = seriesModel.markAreaModel;
+        if (maModel) {
+          var areaData = maModel.getData();
+          areaData.each(function(idx) {
+            var points2 = zrUtil2.map(dimPermutations2, function(dim) {
+              return getSingleMarkerEndPoint2(areaData, idx, dim, seriesModel, api2);
+            });
+            areaData.setItemLayout(idx, points2);
+            var el = areaData.getItemGraphicEl(idx);
+            el.setShape("points", points2);
+          });
+        }
+      }, this);
+    },
+    renderSeries: function(seriesModel, maModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesId = seriesModel.id;
+      var seriesData = seriesModel.getData();
+      var areaGroupMap = this.markerGroupMap;
+      var polygonGroup = areaGroupMap.get(seriesId) || areaGroupMap.set(seriesId, {
+        group: new graphic2.Group()
+      });
+      this.group.add(polygonGroup.group);
+      polygonGroup.__keep = true;
+      var areaData = createList2(coordSys, seriesModel, maModel);
+      maModel.setData(areaData);
+      areaData.each(function(idx) {
+        var points2 = zrUtil2.map(dimPermutations2, function(dim) {
+          return getSingleMarkerEndPoint2(areaData, idx, dim, seriesModel, api2);
+        });
+        var allClipped = true;
+        zrUtil2.each(dimPermutations2, function(dim) {
+          if (!allClipped) {
+            return;
+          }
+          var xValue = areaData.get(dim[0], idx);
+          var yValue = areaData.get(dim[1], idx);
+          if ((isInifinity(xValue) || coordSys.getAxis("x").containData(xValue)) && (isInifinity(yValue) || coordSys.getAxis("y").containData(yValue))) {
+            allClipped = false;
+          }
+        });
+        areaData.setItemLayout(idx, {
+          points: points2,
+          allClipped
+        });
+        areaData.setItemVisual(idx, {
+          color: seriesData.getVisual("color")
+        });
+      });
+      areaData.diff(polygonGroup.__data).add(function(idx) {
+        var layout2 = areaData.getItemLayout(idx);
+        if (!layout2.allClipped) {
+          var polygon2 = new graphic2.Polygon({
+            shape: {
+              points: layout2.points
+            }
+          });
+          areaData.setItemGraphicEl(idx, polygon2);
+          polygonGroup.group.add(polygon2);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var polygon2 = polygonGroup.__data.getItemGraphicEl(oldIdx);
+        var layout2 = areaData.getItemLayout(newIdx);
+        if (!layout2.allClipped) {
+          if (polygon2) {
+            graphic2.updateProps(polygon2, {
+              shape: {
+                points: layout2.points
+              }
+            }, maModel, newIdx);
+          } else {
+            polygon2 = new graphic2.Polygon({
+              shape: {
+                points: layout2.points
+              }
+            });
+          }
+          areaData.setItemGraphicEl(newIdx, polygon2);
+          polygonGroup.group.add(polygon2);
+        } else if (polygon2) {
+          polygonGroup.group.remove(polygon2);
+        }
+      }).remove(function(idx) {
+        var polygon2 = polygonGroup.__data.getItemGraphicEl(idx);
+        polygonGroup.group.remove(polygon2);
+      }).execute();
+      areaData.eachItemGraphicEl(function(polygon2, idx) {
+        var itemModel = areaData.getItemModel(idx);
+        var labelModel = itemModel.getModel("label");
+        var labelHoverModel = itemModel.getModel("emphasis.label");
+        var color2 = areaData.getItemVisual(idx, "color");
+        polygon2.useStyle(zrUtil2.defaults(itemModel.getModel("itemStyle").getItemStyle(), {
+          fill: colorUtil.modifyAlpha(color2, 0.4),
+          stroke: color2
+        }));
+        polygon2.hoverStyle = itemModel.getModel("emphasis.itemStyle").getItemStyle();
+        graphic2.setLabelStyle(polygon2.style, polygon2.hoverStyle, labelModel, labelHoverModel, {
+          labelFetcher: maModel,
+          labelDataIndex: idx,
+          defaultText: areaData.getName(idx) || "",
+          isRectText: true,
+          autoColor: color2
+        });
+        graphic2.setHoverStyle(polygon2, {});
+        polygon2.dataModel = maModel;
+      });
+      polygonGroup.__data = areaData;
+      polygonGroup.group.silent = maModel.get("silent") || seriesModel.get("silent");
+    }
+  });
+  function createList2(coordSys, seriesModel, maModel) {
+    var coordDimsInfos;
+    var areaData;
+    var dims = ["x0", "y0", "x1", "y1"];
+    if (coordSys) {
+      coordDimsInfos = zrUtil2.map(coordSys && coordSys.dimensions, function(coordDim) {
+        var data2 = seriesModel.getData();
+        var info = data2.getDimensionInfo(data2.mapDimension(coordDim)) || {};
+        return zrUtil2.defaults({
+          name: coordDim
+        }, info);
+      });
+      areaData = new List(zrUtil2.map(dims, function(dim, idx) {
+        return {
+          name: dim,
+          type: coordDimsInfos[idx % 2].type
+        };
+      }), maModel);
+    } else {
+      coordDimsInfos = [{
+        name: "value",
+        type: "float"
+      }];
+      areaData = new List(coordDimsInfos, maModel);
+    }
+    var optData = zrUtil2.map(maModel.get("data"), zrUtil2.curry(markAreaTransform2, seriesModel, coordSys, maModel));
+    if (coordSys) {
+      optData = zrUtil2.filter(optData, zrUtil2.curry(markAreaFilter2, coordSys));
+    }
+    var dimValueGetter = coordSys ? function(item, dimName, dataIndex, dimIndex) {
+      return item.coord[Math.floor(dimIndex / 2)][dimIndex % 2];
+    } : function(item) {
+      return item.value;
+    };
+    areaData.initData(optData, null, dimValueGetter);
+    areaData.hasItemOption = true;
+    return areaData;
+  }
+  return MarkAreaView$2;
+}
+var hasRequiredMarkArea;
+function requireMarkArea() {
+  if (hasRequiredMarkArea)
+    return markArea;
+  hasRequiredMarkArea = 1;
+  var echarts2 = echarts$1;
+  requireMarkAreaModel();
+  requireMarkAreaView();
+  echarts2.registerPreprocessor(function(opt) {
+    opt.markArea = opt.markArea || {};
+  });
+  return markArea;
+}
+var legendScroll = {};
+var legend = {};
+var LegendModel_1;
+var hasRequiredLegendModel;
+function requireLegendModel() {
+  if (hasRequiredLegendModel)
+    return LegendModel_1;
+  hasRequiredLegendModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var Model2 = Model_1;
+  var _model2 = model;
+  var isNameSpecified2 = _model2.isNameSpecified;
+  var lang2 = lang$2;
+  var langSelector = lang2.legend.selector;
+  var defaultSelectorOption = {
+    all: {
+      type: "all",
+      title: zrUtil2.clone(langSelector.all)
+    },
+    inverse: {
+      type: "inverse",
+      title: zrUtil2.clone(langSelector.inverse)
+    }
+  };
+  var LegendModel2 = echarts2.extendComponentModel({
+    type: "legend.plain",
+    dependencies: ["series"],
+    layoutMode: {
+      type: "box",
+      // legend.width/height are maxWidth/maxHeight actually,
+      // whereas realy width/height is calculated by its content.
+      // (Setting {left: 10, right: 10} does not make sense).
+      // So consider the case:
+      // `setOption({legend: {left: 10});`
+      // then `setOption({legend: {right: 10});`
+      // The previous `left` should be cleared by setting `ignoreSize`.
+      ignoreSize: true
+    },
+    init: function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+      option.selected = option.selected || {};
+      this._updateSelector(option);
+    },
+    mergeOption: function(option) {
+      LegendModel2.superCall(this, "mergeOption", option);
+      this._updateSelector(option);
+    },
+    _updateSelector: function(option) {
+      var selector2 = option.selector;
+      if (selector2 === true) {
+        selector2 = option.selector = ["all", "inverse"];
+      }
+      if (zrUtil2.isArray(selector2)) {
+        zrUtil2.each(selector2, function(item, index3) {
+          zrUtil2.isString(item) && (item = {
+            type: item
+          });
+          selector2[index3] = zrUtil2.merge(item, defaultSelectorOption[item.type]);
+        });
+      }
+    },
+    optionUpdated: function() {
+      this._updateData(this.ecModel);
+      var legendData = this._data;
+      if (legendData[0] && this.get("selectedMode") === "single") {
+        var hasSelected = false;
+        for (var i2 = 0; i2 < legendData.length; i2++) {
+          var name2 = legendData[i2].get("name");
+          if (this.isSelected(name2)) {
+            this.select(name2);
+            hasSelected = true;
+            break;
+          }
+        }
+        !hasSelected && this.select(legendData[0].get("name"));
+      }
+    },
+    _updateData: function(ecModel) {
+      var potentialData = [];
+      var availableNames = [];
+      ecModel.eachRawSeries(function(seriesModel) {
+        var seriesName = seriesModel.name;
+        availableNames.push(seriesName);
+        var isPotential;
+        if (seriesModel.legendVisualProvider) {
+          var provider = seriesModel.legendVisualProvider;
+          var names = provider.getAllNames();
+          if (!ecModel.isSeriesFiltered(seriesModel)) {
+            availableNames = availableNames.concat(names);
+          }
+          if (names.length) {
+            potentialData = potentialData.concat(names);
+          } else {
+            isPotential = true;
+          }
+        } else {
+          isPotential = true;
+        }
+        if (isPotential && isNameSpecified2(seriesModel)) {
+          potentialData.push(seriesModel.name);
+        }
+      });
+      this._availableNames = availableNames;
+      var rawData = this.get("data") || potentialData;
+      var legendData = zrUtil2.map(rawData, function(dataItem) {
+        if (typeof dataItem === "string" || typeof dataItem === "number") {
+          dataItem = {
+            name: dataItem
+          };
+        }
+        return new Model2(dataItem, this, this.ecModel);
+      }, this);
+      this._data = legendData;
+    },
+    /**
+     * @return {Array.<module:echarts/model/Model>}
+     */
+    getData: function() {
+      return this._data;
+    },
+    /**
+     * @param {string} name
+     */
+    select: function(name2) {
+      var selected = this.option.selected;
+      var selectedMode = this.get("selectedMode");
+      if (selectedMode === "single") {
+        var data2 = this._data;
+        zrUtil2.each(data2, function(dataItem) {
+          selected[dataItem.get("name")] = false;
+        });
+      }
+      selected[name2] = true;
+    },
+    /**
+     * @param {string} name
+     */
+    unSelect: function(name2) {
+      if (this.get("selectedMode") !== "single") {
+        this.option.selected[name2] = false;
+      }
+    },
+    /**
+     * @param {string} name
+     */
+    toggleSelected: function(name2) {
+      var selected = this.option.selected;
+      if (!selected.hasOwnProperty(name2)) {
+        selected[name2] = true;
+      }
+      this[selected[name2] ? "unSelect" : "select"](name2);
+    },
+    allSelect: function() {
+      var data2 = this._data;
+      var selected = this.option.selected;
+      zrUtil2.each(data2, function(dataItem) {
+        selected[dataItem.get("name", true)] = true;
+      });
+    },
+    inverseSelect: function() {
+      var data2 = this._data;
+      var selected = this.option.selected;
+      zrUtil2.each(data2, function(dataItem) {
+        var name2 = dataItem.get("name", true);
+        if (!selected.hasOwnProperty(name2)) {
+          selected[name2] = true;
+        }
+        selected[name2] = !selected[name2];
+      });
+    },
+    /**
+     * @param {string} name
+     */
+    isSelected: function(name2) {
+      var selected = this.option.selected;
+      return !(selected.hasOwnProperty(name2) && !selected[name2]) && zrUtil2.indexOf(this._availableNames, name2) >= 0;
+    },
+    getOrient: function() {
+      return this.get("orient") === "vertical" ? {
+        index: 1,
+        name: "vertical"
+      } : {
+        index: 0,
+        name: "horizontal"
+      };
+    },
+    defaultOption: {
+      // 一级层叠
+      zlevel: 0,
+      // 二级层叠
+      z: 4,
+      show: true,
+      // 布局方式,默认为水平布局,可选为:
+      // 'horizontal' | 'vertical'
+      orient: "horizontal",
+      left: "center",
+      // right: 'center',
+      top: 0,
+      // bottom: null,
+      // 水平对齐
+      // 'auto' | 'left' | 'right'
+      // 默认为 'auto', 根据 x 的位置判断是左对齐还是右对齐
+      align: "auto",
+      backgroundColor: "rgba(0,0,0,0)",
+      // 图例边框颜色
+      borderColor: "#ccc",
+      borderRadius: 0,
+      // 图例边框线宽,单位px,默认为0(无边框)
+      borderWidth: 0,
+      // 图例内边距,单位px,默认各方向内边距为5,
+      // 接受数组分别设定上右下左边距,同css
+      padding: 5,
+      // 各个item之间的间隔,单位px,默认为10,
+      // 横向布局时为水平间隔,纵向布局时为纵向间隔
+      itemGap: 10,
+      // the width of legend symbol
+      itemWidth: 25,
+      // the height of legend symbol
+      itemHeight: 14,
+      // the color of unselected legend symbol
+      inactiveColor: "#ccc",
+      // the borderColor of unselected legend symbol
+      inactiveBorderColor: "#ccc",
+      itemStyle: {
+        // the default borderWidth of legend symbol
+        borderWidth: 0
+      },
+      textStyle: {
+        // 图例文字颜色
+        color: "#333"
+      },
+      // formatter: '',
+      // 选择模式,默认开启图例开关
+      selectedMode: true,
+      // 配置默认选中状态,可配合LEGEND.SELECTED事件做动态数据载入
+      // selected: null,
+      // 图例内容(详见legend.data,数组中每一项代表一个item
+      // data: [],
+      // Usage:
+      // selector: [{type: 'all or inverse', title: xxx}]
+      // or
+      // selector: true
+      // or
+      // selector: ['all', 'inverse']
+      selector: false,
+      selectorLabel: {
+        show: true,
+        borderRadius: 10,
+        padding: [3, 5, 3, 5],
+        fontSize: 12,
+        fontFamily: " sans-serif",
+        color: "#666",
+        borderWidth: 1,
+        borderColor: "#666"
+      },
+      emphasis: {
+        selectorLabel: {
+          show: true,
+          color: "#eee",
+          backgroundColor: "#666"
+        }
+      },
+      // Value can be 'start' or 'end'
+      selectorPosition: "auto",
+      selectorItemGap: 7,
+      selectorButtonGap: 10,
+      // Tooltip 相关配置
+      tooltip: {
+        show: false
+      }
+    }
+  });
+  var _default68 = LegendModel2;
+  LegendModel_1 = _default68;
+  return LegendModel_1;
+}
+var legendAction = {};
+var hasRequiredLegendAction;
+function requireLegendAction() {
+  if (hasRequiredLegendAction)
+    return legendAction;
+  hasRequiredLegendAction = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  function legendSelectActionHandler2(methodName, payload, ecModel) {
+    var selectedMap = {};
+    var isToggleSelect = methodName === "toggleSelected";
+    var isSelected;
+    ecModel.eachComponent("legend", function(legendModel) {
+      if (isToggleSelect && isSelected != null) {
+        legendModel[isSelected ? "select" : "unSelect"](payload.name);
+      } else if (methodName === "allSelect" || methodName === "inverseSelect") {
+        legendModel[methodName]();
+      } else {
+        legendModel[methodName](payload.name);
+        isSelected = legendModel.isSelected(payload.name);
+      }
+      var legendData = legendModel.getData();
+      zrUtil2.each(legendData, function(model2) {
+        var name2 = model2.get("name");
+        if (name2 === "\n" || name2 === "") {
+          return;
+        }
+        var isItemSelected = legendModel.isSelected(name2);
+        if (selectedMap.hasOwnProperty(name2)) {
+          selectedMap[name2] = selectedMap[name2] && isItemSelected;
+        } else {
+          selectedMap[name2] = isItemSelected;
+        }
+      });
+    });
+    return methodName === "allSelect" || methodName === "inverseSelect" ? {
+      selected: selectedMap
+    } : {
+      name: payload.name,
+      selected: selectedMap
+    };
+  }
+  echarts2.registerAction("legendToggleSelect", "legendselectchanged", zrUtil2.curry(legendSelectActionHandler2, "toggleSelected"));
+  echarts2.registerAction("legendAllSelect", "legendselectall", zrUtil2.curry(legendSelectActionHandler2, "allSelect"));
+  echarts2.registerAction("legendInverseSelect", "legendinverseselect", zrUtil2.curry(legendSelectActionHandler2, "inverseSelect"));
+  echarts2.registerAction("legendSelect", "legendselected", zrUtil2.curry(legendSelectActionHandler2, "select"));
+  echarts2.registerAction("legendUnSelect", "legendunselected", zrUtil2.curry(legendSelectActionHandler2, "unSelect"));
+  return legendAction;
+}
+var LegendView$2;
+var hasRequiredLegendView;
+function requireLegendView() {
+  if (hasRequiredLegendView)
+    return LegendView$2;
+  hasRequiredLegendView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var graphic2 = graphic$6;
+  var _listComponent = requireListComponent();
+  var makeBackground2 = _listComponent.makeBackground;
+  var layoutUtil = layout$5;
+  var curry2 = zrUtil2.curry;
+  var each2 = zrUtil2.each;
+  var Group2 = graphic2.Group;
+  var _default68 = echarts2.extendComponentView({
+    type: "legend.plain",
+    newlineDisabled: false,
+    /**
+     * @override
+     */
+    init: function() {
+      this.group.add(this._contentGroup = new Group2());
+      this._backgroundEl;
+      this.group.add(this._selectorGroup = new Group2());
+      this._isFirstRender = true;
+    },
+    /**
+     * @protected
+     */
+    getContentGroup: function() {
+      return this._contentGroup;
+    },
+    /**
+     * @protected
+     */
+    getSelectorGroup: function() {
+      return this._selectorGroup;
+    },
+    /**
+     * @override
+     */
+    render: function(legendModel, ecModel, api2) {
+      var isFirstRender = this._isFirstRender;
+      this._isFirstRender = false;
+      this.resetInner();
+      if (!legendModel.get("show", true)) {
+        return;
+      }
+      var itemAlign = legendModel.get("align");
+      var orient = legendModel.get("orient");
+      if (!itemAlign || itemAlign === "auto") {
+        itemAlign = legendModel.get("left") === "right" && orient === "vertical" ? "right" : "left";
+      }
+      var selector2 = legendModel.get("selector", true);
+      var selectorPosition = legendModel.get("selectorPosition", true);
+      if (selector2 && (!selectorPosition || selectorPosition === "auto")) {
+        selectorPosition = orient === "horizontal" ? "end" : "start";
+      }
+      this.renderInner(itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition);
+      var positionInfo = legendModel.getBoxLayoutParams();
+      var viewportSize = {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      };
+      var padding = legendModel.get("padding");
+      var maxSize = layoutUtil.getLayoutRect(positionInfo, viewportSize, padding);
+      var mainRect = this.layoutInner(legendModel, itemAlign, maxSize, isFirstRender, selector2, selectorPosition);
+      var layoutRect = layoutUtil.getLayoutRect(zrUtil2.defaults({
+        width: mainRect.width,
+        height: mainRect.height
+      }, positionInfo), viewportSize, padding);
+      this.group.attr("position", [layoutRect.x - mainRect.x, layoutRect.y - mainRect.y]);
+      this.group.add(this._backgroundEl = makeBackground2(mainRect, legendModel));
+    },
+    /**
+     * @protected
+     */
+    resetInner: function() {
+      this.getContentGroup().removeAll();
+      this._backgroundEl && this.group.remove(this._backgroundEl);
+      this.getSelectorGroup().removeAll();
+    },
+    /**
+     * @protected
+     */
+    renderInner: function(itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition) {
+      var contentGroup = this.getContentGroup();
+      var legendDrawnMap = zrUtil2.createHashMap();
+      var selectMode = legendModel.get("selectedMode");
+      var excludeSeriesId = [];
+      ecModel.eachRawSeries(function(seriesModel) {
+        !seriesModel.get("legendHoverLink") && excludeSeriesId.push(seriesModel.id);
+      });
+      each2(legendModel.getData(), function(itemModel, dataIndex) {
+        var name2 = itemModel.get("name");
+        if (!this.newlineDisabled && (name2 === "" || name2 === "\n")) {
+          contentGroup.add(new Group2({
+            newline: true
+          }));
+          return;
+        }
+        var seriesModel = ecModel.getSeriesByName(name2)[0];
+        if (legendDrawnMap.get(name2)) {
+          return;
+        }
+        if (seriesModel) {
+          var data2 = seriesModel.getData();
+          var color2 = data2.getVisual("color");
+          var borderColor = data2.getVisual("borderColor");
+          if (typeof color2 === "function") {
+            color2 = color2(seriesModel.getDataParams(0));
+          }
+          if (typeof borderColor === "function") {
+            borderColor = borderColor(seriesModel.getDataParams(0));
+          }
+          var legendSymbolType = data2.getVisual("legendSymbol") || "roundRect";
+          var symbolType = data2.getVisual("symbol");
+          var itemGroup = this._createItem(name2, dataIndex, itemModel, legendModel, legendSymbolType, symbolType, itemAlign, color2, borderColor, selectMode);
+          itemGroup.on("click", curry2(dispatchSelectAction2, name2, null, api2, excludeSeriesId)).on("mouseover", curry2(dispatchHighlightAction2, seriesModel.name, null, api2, excludeSeriesId)).on("mouseout", curry2(dispatchDownplayAction2, seriesModel.name, null, api2, excludeSeriesId));
+          legendDrawnMap.set(name2, true);
+        } else {
+          ecModel.eachRawSeries(function(seriesModel2) {
+            if (legendDrawnMap.get(name2)) {
+              return;
+            }
+            if (seriesModel2.legendVisualProvider) {
+              var provider = seriesModel2.legendVisualProvider;
+              if (!provider.containName(name2)) {
+                return;
+              }
+              var idx = provider.indexOfName(name2);
+              var color3 = provider.getItemVisual(idx, "color");
+              var borderColor2 = provider.getItemVisual(idx, "borderColor");
+              var legendSymbolType2 = "roundRect";
+              var itemGroup2 = this._createItem(name2, dataIndex, itemModel, legendModel, legendSymbolType2, null, itemAlign, color3, borderColor2, selectMode);
+              itemGroup2.on("click", curry2(dispatchSelectAction2, null, name2, api2, excludeSeriesId)).on("mouseover", curry2(dispatchHighlightAction2, null, name2, api2, excludeSeriesId)).on("mouseout", curry2(dispatchDownplayAction2, null, name2, api2, excludeSeriesId));
+              legendDrawnMap.set(name2, true);
+            }
+          }, this);
+        }
+      }, this);
+      if (selector2) {
+        this._createSelector(selector2, legendModel, api2, orient, selectorPosition);
+      }
+    },
+    _createSelector: function(selector2, legendModel, api2, orient, selectorPosition) {
+      var selectorGroup = this.getSelectorGroup();
+      each2(selector2, function(selectorItem) {
+        createSelectorButton(selectorItem);
+      });
+      function createSelectorButton(selectorItem) {
+        var type2 = selectorItem.type;
+        var labelText = new graphic2.Text({
+          style: {
+            x: 0,
+            y: 0,
+            align: "center",
+            verticalAlign: "middle"
+          },
+          onclick: function() {
+            api2.dispatchAction({
+              type: type2 === "all" ? "legendAllSelect" : "legendInverseSelect"
+            });
+          }
+        });
+        selectorGroup.add(labelText);
+        var labelModel = legendModel.getModel("selectorLabel");
+        var emphasisLabelModel = legendModel.getModel("emphasis.selectorLabel");
+        graphic2.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, emphasisLabelModel, {
+          defaultText: selectorItem.title,
+          isRectText: false
+        });
+        graphic2.setHoverStyle(labelText);
+      }
+    },
+    _createItem: function(name2, dataIndex, itemModel, legendModel, legendSymbolType, symbolType, itemAlign, color2, borderColor, selectMode) {
+      var itemWidth = legendModel.get("itemWidth");
+      var itemHeight = legendModel.get("itemHeight");
+      var inactiveColor = legendModel.get("inactiveColor");
+      var inactiveBorderColor = legendModel.get("inactiveBorderColor");
+      var symbolKeepAspect = legendModel.get("symbolKeepAspect");
+      var legendModelItemStyle = legendModel.getModel("itemStyle");
+      var isSelected = legendModel.isSelected(name2);
+      var itemGroup = new Group2();
+      var textStyleModel = itemModel.getModel("textStyle");
+      var itemIcon = itemModel.get("icon");
+      var tooltipModel = itemModel.getModel("tooltip");
+      var legendGlobalTooltipModel = tooltipModel.parentModel;
+      legendSymbolType = itemIcon || legendSymbolType;
+      var legendSymbol = createSymbol2(
+        legendSymbolType,
+        0,
+        0,
+        itemWidth,
+        itemHeight,
+        isSelected ? color2 : inactiveColor,
+        // symbolKeepAspect default true for legend
+        symbolKeepAspect == null ? true : symbolKeepAspect
+      );
+      itemGroup.add(setSymbolStyle(legendSymbol, legendSymbolType, legendModelItemStyle, borderColor, inactiveBorderColor, isSelected));
+      if (!itemIcon && symbolType && (symbolType !== legendSymbolType || symbolType === "none")) {
+        var size = itemHeight * 0.8;
+        if (symbolType === "none") {
+          symbolType = "circle";
+        }
+        var legendSymbolCenter = createSymbol2(
+          symbolType,
+          (itemWidth - size) / 2,
+          (itemHeight - size) / 2,
+          size,
+          size,
+          isSelected ? color2 : inactiveColor,
+          // symbolKeepAspect default true for legend
+          symbolKeepAspect == null ? true : symbolKeepAspect
+        );
+        itemGroup.add(setSymbolStyle(legendSymbolCenter, symbolType, legendModelItemStyle, borderColor, inactiveBorderColor, isSelected));
+      }
+      var textX = itemAlign === "left" ? itemWidth + 5 : -5;
+      var textAlign = itemAlign;
+      var formatter = legendModel.get("formatter");
+      var content = name2;
+      if (typeof formatter === "string" && formatter) {
+        content = formatter.replace("{name}", name2 != null ? name2 : "");
+      } else if (typeof formatter === "function") {
+        content = formatter(name2);
+      }
+      itemGroup.add(new graphic2.Text({
+        style: graphic2.setTextStyle({}, textStyleModel, {
+          text: content,
+          x: textX,
+          y: itemHeight / 2,
+          textFill: isSelected ? textStyleModel.getTextColor() : inactiveColor,
+          textAlign,
+          textVerticalAlign: "middle"
+        })
+      }));
+      var hitRect = new graphic2.Rect({
+        shape: itemGroup.getBoundingRect(),
+        invisible: true,
+        tooltip: tooltipModel.get("show") ? zrUtil2.extend({
+          content: name2,
+          // Defaul formatter
+          formatter: legendGlobalTooltipModel.get("formatter", true) || function() {
+            return name2;
+          },
+          formatterParams: {
+            componentType: "legend",
+            legendIndex: legendModel.componentIndex,
+            name: name2,
+            $vars: ["name"]
+          }
+        }, tooltipModel.option) : null
+      });
+      itemGroup.add(hitRect);
+      itemGroup.eachChild(function(child) {
+        child.silent = true;
+      });
+      hitRect.silent = !selectMode;
+      this.getContentGroup().add(itemGroup);
+      graphic2.setHoverStyle(itemGroup);
+      itemGroup.__legendDataIndex = dataIndex;
+      return itemGroup;
+    },
+    /**
+     * @protected
+     */
+    layoutInner: function(legendModel, itemAlign, maxSize, isFirstRender, selector2, selectorPosition) {
+      var contentGroup = this.getContentGroup();
+      var selectorGroup = this.getSelectorGroup();
+      layoutUtil.box(legendModel.get("orient"), contentGroup, legendModel.get("itemGap"), maxSize.width, maxSize.height);
+      var contentRect = contentGroup.getBoundingRect();
+      var contentPos = [-contentRect.x, -contentRect.y];
+      if (selector2) {
+        layoutUtil.box(
+          // Buttons in selectorGroup always layout horizontally
+          "horizontal",
+          selectorGroup,
+          legendModel.get("selectorItemGap", true)
+        );
+        var selectorRect = selectorGroup.getBoundingRect();
+        var selectorPos = [-selectorRect.x, -selectorRect.y];
+        var selectorButtonGap = legendModel.get("selectorButtonGap", true);
+        var orientIdx = legendModel.getOrient().index;
+        var wh = orientIdx === 0 ? "width" : "height";
+        var hw = orientIdx === 0 ? "height" : "width";
+        var yx = orientIdx === 0 ? "y" : "x";
+        if (selectorPosition === "end") {
+          selectorPos[orientIdx] += contentRect[wh] + selectorButtonGap;
+        } else {
+          contentPos[orientIdx] += selectorRect[wh] + selectorButtonGap;
+        }
+        selectorPos[1 - orientIdx] += contentRect[hw] / 2 - selectorRect[hw] / 2;
+        selectorGroup.attr("position", selectorPos);
+        contentGroup.attr("position", contentPos);
+        var mainRect = {
+          x: 0,
+          y: 0
+        };
+        mainRect[wh] = contentRect[wh] + selectorButtonGap + selectorRect[wh];
+        mainRect[hw] = Math.max(contentRect[hw], selectorRect[hw]);
+        mainRect[yx] = Math.min(0, selectorRect[yx] + selectorPos[1 - orientIdx]);
+        return mainRect;
+      } else {
+        contentGroup.attr("position", contentPos);
+        return this.group.getBoundingRect();
+      }
+    },
+    /**
+     * @protected
+     */
+    remove: function() {
+      this.getContentGroup().removeAll();
+      this._isFirstRender = true;
+    }
+  });
+  function setSymbolStyle(symbol2, symbolType, legendModelItemStyle, borderColor, inactiveBorderColor, isSelected) {
+    var itemStyle2;
+    if (symbolType !== "line" && symbolType.indexOf("empty") < 0) {
+      itemStyle2 = legendModelItemStyle.getItemStyle();
+      symbol2.style.stroke = borderColor;
+      if (!isSelected) {
+        itemStyle2.stroke = inactiveBorderColor;
+      }
+    } else {
+      itemStyle2 = legendModelItemStyle.getItemStyle(["borderWidth", "borderColor"]);
+    }
+    return symbol2.setStyle(itemStyle2);
+  }
+  function dispatchSelectAction2(seriesName, dataName, api2, excludeSeriesId) {
+    dispatchDownplayAction2(seriesName, dataName, api2, excludeSeriesId);
+    api2.dispatchAction({
+      type: "legendToggleSelect",
+      name: seriesName != null ? seriesName : dataName
+    });
+    dispatchHighlightAction2(seriesName, dataName, api2, excludeSeriesId);
+  }
+  function dispatchHighlightAction2(seriesName, dataName, api2, excludeSeriesId) {
+    var el = api2.getZr().storage.getDisplayList()[0];
+    if (!(el && el.useHoverLayer)) {
+      api2.dispatchAction({
+        type: "highlight",
+        seriesName,
+        name: dataName,
+        excludeSeriesId
+      });
+    }
+  }
+  function dispatchDownplayAction2(seriesName, dataName, api2, excludeSeriesId) {
+    var el = api2.getZr().storage.getDisplayList()[0];
+    if (!(el && el.useHoverLayer)) {
+      api2.dispatchAction({
+        type: "downplay",
+        seriesName,
+        name: dataName,
+        excludeSeriesId
+      });
+    }
+  }
+  LegendView$2 = _default68;
+  return LegendView$2;
+}
+var legendFilter$1;
+var hasRequiredLegendFilter;
+function requireLegendFilter() {
+  if (hasRequiredLegendFilter)
+    return legendFilter$1;
+  hasRequiredLegendFilter = 1;
+  function _default68(ecModel) {
+    var legendModels = ecModel.findComponents({
+      mainType: "legend"
+    });
+    if (legendModels && legendModels.length) {
+      ecModel.filterSeries(function(series) {
+        for (var i2 = 0; i2 < legendModels.length; i2++) {
+          if (!legendModels[i2].isSelected(series.name)) {
+            return false;
+          }
+        }
+        return true;
+      });
+    }
+  }
+  legendFilter$1 = _default68;
+  return legendFilter$1;
+}
+var hasRequiredLegend;
+function requireLegend() {
+  if (hasRequiredLegend)
+    return legend;
+  hasRequiredLegend = 1;
+  var echarts2 = echarts$1;
+  requireLegendModel();
+  requireLegendAction();
+  requireLegendView();
+  var legendFilter2 = requireLegendFilter();
+  var Component2 = Component$1;
+  echarts2.registerProcessor(echarts2.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter2);
+  Component2.registerSubTypeDefaulter("legend", function() {
+    return "plain";
+  });
+  return legend;
+}
+var ScrollableLegendModel_1;
+var hasRequiredScrollableLegendModel;
+function requireScrollableLegendModel() {
+  if (hasRequiredScrollableLegendModel)
+    return ScrollableLegendModel_1;
+  hasRequiredScrollableLegendModel = 1;
+  var LegendModel2 = requireLegendModel();
+  var _layout2 = layout$5;
+  var mergeLayoutParam2 = _layout2.mergeLayoutParam;
+  var getLayoutParams2 = _layout2.getLayoutParams;
+  var ScrollableLegendModel2 = LegendModel2.extend({
+    type: "legend.scroll",
+    /**
+     * @param {number} scrollDataIndex
+     */
+    setScrollDataIndex: function(scrollDataIndex) {
+      this.option.scrollDataIndex = scrollDataIndex;
+    },
+    defaultOption: {
+      scrollDataIndex: 0,
+      pageButtonItemGap: 5,
+      pageButtonGap: null,
+      pageButtonPosition: "end",
+      // 'start' or 'end'
+      pageFormatter: "{current}/{total}",
+      // If null/undefined, do not show page.
+      pageIcons: {
+        horizontal: ["M0,0L12,-10L12,10z", "M0,0L-12,-10L-12,10z"],
+        vertical: ["M0,0L20,0L10,-20z", "M0,0L20,0L10,20z"]
+      },
+      pageIconColor: "#2f4554",
+      pageIconInactiveColor: "#aaa",
+      pageIconSize: 15,
+      // Can be [10, 3], which represents [width, height]
+      pageTextStyle: {
+        color: "#333"
+      },
+      animationDurationUpdate: 800
+    },
+    /**
+     * @override
+     */
+    init: function(option, parentModel, ecModel, extraOpt) {
+      var inputPositionParams = getLayoutParams2(option);
+      ScrollableLegendModel2.superCall(this, "init", option, parentModel, ecModel, extraOpt);
+      mergeAndNormalizeLayoutParams2(this, option, inputPositionParams);
+    },
+    /**
+     * @override
+     */
+    mergeOption: function(option, extraOpt) {
+      ScrollableLegendModel2.superCall(this, "mergeOption", option, extraOpt);
+      mergeAndNormalizeLayoutParams2(this, this.option, option);
+    }
+  });
+  function mergeAndNormalizeLayoutParams2(legendModel, target, raw) {
+    var orient = legendModel.getOrient();
+    var ignoreSize = [1, 1];
+    ignoreSize[orient.index] = 0;
+    mergeLayoutParam2(target, raw, {
+      type: "box",
+      ignoreSize
+    });
+  }
+  var _default68 = ScrollableLegendModel2;
+  ScrollableLegendModel_1 = _default68;
+  return ScrollableLegendModel_1;
+}
+var ScrollableLegendView_1;
+var hasRequiredScrollableLegendView;
+function requireScrollableLegendView() {
+  if (hasRequiredScrollableLegendView)
+    return ScrollableLegendView_1;
+  hasRequiredScrollableLegendView = 1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var layoutUtil = layout$5;
+  var LegendView2 = requireLegendView();
+  var Group2 = graphic2.Group;
+  var WH2 = ["width", "height"];
+  var XY2 = ["x", "y"];
+  var ScrollableLegendView2 = LegendView2.extend({
+    type: "legend.scroll",
+    newlineDisabled: true,
+    init: function() {
+      ScrollableLegendView2.superCall(this, "init");
+      this._currentIndex = 0;
+      this.group.add(this._containerGroup = new Group2());
+      this._containerGroup.add(this.getContentGroup());
+      this.group.add(this._controllerGroup = new Group2());
+      this._showController;
+    },
+    /**
+     * @override
+     */
+    resetInner: function() {
+      ScrollableLegendView2.superCall(this, "resetInner");
+      this._controllerGroup.removeAll();
+      this._containerGroup.removeClipPath();
+      this._containerGroup.__rectSize = null;
+    },
+    /**
+     * @override
+     */
+    renderInner: function(itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition) {
+      var me = this;
+      ScrollableLegendView2.superCall(this, "renderInner", itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition);
+      var controllerGroup = this._controllerGroup;
+      var pageIconSize = legendModel.get("pageIconSize", true);
+      if (!zrUtil2.isArray(pageIconSize)) {
+        pageIconSize = [pageIconSize, pageIconSize];
+      }
+      createPageButton("pagePrev", 0);
+      var pageTextStyleModel = legendModel.getModel("pageTextStyle");
+      controllerGroup.add(new graphic2.Text({
+        name: "pageText",
+        style: {
+          textFill: pageTextStyleModel.getTextColor(),
+          font: pageTextStyleModel.getFont(),
+          textVerticalAlign: "middle",
+          textAlign: "center"
+        },
+        silent: true
+      }));
+      createPageButton("pageNext", 1);
+      function createPageButton(name2, iconIdx) {
+        var pageDataIndexName = name2 + "DataIndex";
+        var icon = graphic2.createIcon(legendModel.get("pageIcons", true)[legendModel.getOrient().name][iconIdx], {
+          // Buttons will be created in each render, so we do not need
+          // to worry about avoiding using legendModel kept in scope.
+          onclick: zrUtil2.bind(me._pageGo, me, pageDataIndexName, legendModel, api2)
+        }, {
+          x: -pageIconSize[0] / 2,
+          y: -pageIconSize[1] / 2,
+          width: pageIconSize[0],
+          height: pageIconSize[1]
+        });
+        icon.name = name2;
+        controllerGroup.add(icon);
+      }
+    },
+    /**
+     * @override
+     */
+    layoutInner: function(legendModel, itemAlign, maxSize, isFirstRender, selector2, selectorPosition) {
+      var selectorGroup = this.getSelectorGroup();
+      var orientIdx = legendModel.getOrient().index;
+      var wh = WH2[orientIdx];
+      var xy = XY2[orientIdx];
+      var hw = WH2[1 - orientIdx];
+      var yx = XY2[1 - orientIdx];
+      selector2 && layoutUtil.box(
+        // Buttons in selectorGroup always layout horizontally
+        "horizontal",
+        selectorGroup,
+        legendModel.get("selectorItemGap", true)
+      );
+      var selectorButtonGap = legendModel.get("selectorButtonGap", true);
+      var selectorRect = selectorGroup.getBoundingRect();
+      var selectorPos = [-selectorRect.x, -selectorRect.y];
+      var processMaxSize = zrUtil2.clone(maxSize);
+      selector2 && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);
+      var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx);
+      if (selector2) {
+        if (selectorPosition === "end") {
+          selectorPos[orientIdx] += mainRect[wh] + selectorButtonGap;
+        } else {
+          var offset2 = selectorRect[wh] + selectorButtonGap;
+          selectorPos[orientIdx] -= offset2;
+          mainRect[xy] -= offset2;
+        }
+        mainRect[wh] += selectorRect[wh] + selectorButtonGap;
+        selectorPos[1 - orientIdx] += mainRect[yx] + mainRect[hw] / 2 - selectorRect[hw] / 2;
+        mainRect[hw] = Math.max(mainRect[hw], selectorRect[hw]);
+        mainRect[yx] = Math.min(mainRect[yx], selectorRect[yx] + selectorPos[1 - orientIdx]);
+        selectorGroup.attr("position", selectorPos);
+      }
+      return mainRect;
+    },
+    _layoutContentAndController: function(legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx) {
+      var contentGroup = this.getContentGroup();
+      var containerGroup = this._containerGroup;
+      var controllerGroup = this._controllerGroup;
+      layoutUtil.box(legendModel.get("orient"), contentGroup, legendModel.get("itemGap"), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);
+      layoutUtil.box(
+        // Buttons in controller are layout always horizontally.
+        "horizontal",
+        controllerGroup,
+        legendModel.get("pageButtonItemGap", true)
+      );
+      var contentRect = contentGroup.getBoundingRect();
+      var controllerRect = controllerGroup.getBoundingRect();
+      var showController = this._showController = contentRect[wh] > maxSize[wh];
+      var contentPos = [-contentRect.x, -contentRect.y];
+      if (!isFirstRender) {
+        contentPos[orientIdx] = contentGroup.position[orientIdx];
+      }
+      var containerPos = [0, 0];
+      var controllerPos = [-controllerRect.x, -controllerRect.y];
+      var pageButtonGap = zrUtil2.retrieve2(legendModel.get("pageButtonGap", true), legendModel.get("itemGap", true));
+      if (showController) {
+        var pageButtonPosition = legendModel.get("pageButtonPosition", true);
+        if (pageButtonPosition === "end") {
+          controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];
+        } else {
+          containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;
+        }
+      }
+      controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;
+      contentGroup.attr("position", contentPos);
+      containerGroup.attr("position", containerPos);
+      controllerGroup.attr("position", controllerPos);
+      var mainRect = {
+        x: 0,
+        y: 0
+      };
+      mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];
+      mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]);
+      mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);
+      containerGroup.__rectSize = maxSize[wh];
+      if (showController) {
+        var clipShape = {
+          x: 0,
+          y: 0
+        };
+        clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);
+        clipShape[hw] = mainRect[hw];
+        containerGroup.setClipPath(new graphic2.Rect({
+          shape: clipShape
+        }));
+        containerGroup.__rectSize = clipShape[wh];
+      } else {
+        controllerGroup.eachChild(function(child) {
+          child.attr({
+            invisible: true,
+            silent: true
+          });
+        });
+      }
+      var pageInfo = this._getPageInfo(legendModel);
+      pageInfo.pageIndex != null && graphic2.updateProps(
+        contentGroup,
+        {
+          position: pageInfo.contentPosition
+        },
+        // When switch from "show controller" to "not show controller", view should be
+        // updated immediately without animation, otherwise causes weird effect.
+        showController ? legendModel : false
+      );
+      this._updatePageInfoView(legendModel, pageInfo);
+      return mainRect;
+    },
+    _pageGo: function(to, legendModel, api2) {
+      var scrollDataIndex = this._getPageInfo(legendModel)[to];
+      scrollDataIndex != null && api2.dispatchAction({
+        type: "legendScroll",
+        scrollDataIndex,
+        legendId: legendModel.id
+      });
+    },
+    _updatePageInfoView: function(legendModel, pageInfo) {
+      var controllerGroup = this._controllerGroup;
+      zrUtil2.each(["pagePrev", "pageNext"], function(name2) {
+        var canJump = pageInfo[name2 + "DataIndex"] != null;
+        var icon = controllerGroup.childOfName(name2);
+        if (icon) {
+          icon.setStyle("fill", canJump ? legendModel.get("pageIconColor", true) : legendModel.get("pageIconInactiveColor", true));
+          icon.cursor = canJump ? "pointer" : "default";
+        }
+      });
+      var pageText = controllerGroup.childOfName("pageText");
+      var pageFormatter = legendModel.get("pageFormatter");
+      var pageIndex = pageInfo.pageIndex;
+      var current = pageIndex != null ? pageIndex + 1 : 0;
+      var total = pageInfo.pageCount;
+      pageText && pageFormatter && pageText.setStyle("text", zrUtil2.isString(pageFormatter) ? pageFormatter.replace("{current}", current).replace("{total}", total) : pageFormatter({
+        current,
+        total
+      }));
+    },
+    /**
+     * @param {module:echarts/model/Model} legendModel
+     * @return {Object} {
+     *  contentPosition: Array.<number>, null when data item not found.
+     *  pageIndex: number, null when data item not found.
+     *  pageCount: number, always be a number, can be 0.
+     *  pagePrevDataIndex: number, null when no previous page.
+     *  pageNextDataIndex: number, null when no next page.
+     * }
+     */
+    _getPageInfo: function(legendModel) {
+      var scrollDataIndex = legendModel.get("scrollDataIndex", true);
+      var contentGroup = this.getContentGroup();
+      var containerRectSize = this._containerGroup.__rectSize;
+      var orientIdx = legendModel.getOrient().index;
+      var wh = WH2[orientIdx];
+      var xy = XY2[orientIdx];
+      var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);
+      var children3 = contentGroup.children();
+      var targetItem = children3[targetItemIndex];
+      var itemCount = children3.length;
+      var pCount = !itemCount ? 0 : 1;
+      var result2 = {
+        contentPosition: contentGroup.position.slice(),
+        pageCount: pCount,
+        pageIndex: pCount - 1,
+        pagePrevDataIndex: null,
+        pageNextDataIndex: null
+      };
+      if (!targetItem) {
+        return result2;
+      }
+      var targetItemInfo = getItemInfo(targetItem);
+      result2.contentPosition[orientIdx] = -targetItemInfo.s;
+      for (var i2 = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i2 <= itemCount; ++i2) {
+        currItemInfo = getItemInfo(children3[i2]);
+        if (
+          // Half of the last item is out of the window.
+          !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page
+          // can be started at the current item or the last item.
+          currItemInfo && !intersect2(currItemInfo, winStartItemInfo.s)
+        ) {
+          if (winEndItemInfo.i > winStartItemInfo.i) {
+            winStartItemInfo = winEndItemInfo;
+          } else {
+            winStartItemInfo = currItemInfo;
+          }
+          if (winStartItemInfo) {
+            if (result2.pageNextDataIndex == null) {
+              result2.pageNextDataIndex = winStartItemInfo.i;
+            }
+            ++result2.pageCount;
+          }
+        }
+        winEndItemInfo = currItemInfo;
+      }
+      for (var i2 = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i2 >= -1; --i2) {
+        currItemInfo = getItemInfo(children3[i2]);
+        if (
+          // If the the end item does not intersect with the window started
+          // from the current item, a page can be settled.
+          (!currItemInfo || !intersect2(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.
+          winStartItemInfo.i < winEndItemInfo.i
+        ) {
+          winEndItemInfo = winStartItemInfo;
+          if (result2.pagePrevDataIndex == null) {
+            result2.pagePrevDataIndex = winStartItemInfo.i;
+          }
+          ++result2.pageCount;
+          ++result2.pageIndex;
+        }
+        winStartItemInfo = currItemInfo;
+      }
+      return result2;
+      function getItemInfo(el) {
+        if (el) {
+          var itemRect = el.getBoundingRect();
+          var start2 = itemRect[xy] + el.position[orientIdx];
+          return {
+            s: start2,
+            e: start2 + itemRect[wh],
+            i: el.__legendDataIndex
+          };
+        }
+      }
+      function intersect2(itemInfo, winStart) {
+        return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;
+      }
+    },
+    _findTargetItemIndex: function(targetDataIndex) {
+      if (!this._showController) {
+        return 0;
+      }
+      var index3;
+      var contentGroup = this.getContentGroup();
+      var defaultIndex;
+      contentGroup.eachChild(function(child, idx) {
+        var legendDataIdx = child.__legendDataIndex;
+        if (defaultIndex == null && legendDataIdx != null) {
+          defaultIndex = idx;
+        }
+        if (legendDataIdx === targetDataIndex) {
+          index3 = idx;
+        }
+      });
+      return index3 != null ? index3 : defaultIndex;
+    }
+  });
+  var _default68 = ScrollableLegendView2;
+  ScrollableLegendView_1 = _default68;
+  return ScrollableLegendView_1;
+}
+var scrollableLegendAction = {};
+var hasRequiredScrollableLegendAction;
+function requireScrollableLegendAction() {
+  if (hasRequiredScrollableLegendAction)
+    return scrollableLegendAction;
+  hasRequiredScrollableLegendAction = 1;
+  var echarts2 = echarts$1;
+  echarts2.registerAction("legendScroll", "legendscroll", function(payload, ecModel) {
+    var scrollDataIndex = payload.scrollDataIndex;
+    scrollDataIndex != null && ecModel.eachComponent({
+      mainType: "legend",
+      subType: "scroll",
+      query: payload
+    }, function(legendModel) {
+      legendModel.setScrollDataIndex(scrollDataIndex);
+    });
+  });
+  return scrollableLegendAction;
+}
+var hasRequiredLegendScroll;
+function requireLegendScroll() {
+  if (hasRequiredLegendScroll)
+    return legendScroll;
+  hasRequiredLegendScroll = 1;
+  requireLegend();
+  requireScrollableLegendModel();
+  requireScrollableLegendView();
+  requireScrollableLegendAction();
+  return legendScroll;
+}
+var dataZoom = {};
+var dataZoomSlider = {};
+var SliderZoomModel_1;
+var hasRequiredSliderZoomModel;
+function requireSliderZoomModel() {
+  if (hasRequiredSliderZoomModel)
+    return SliderZoomModel_1;
+  hasRequiredSliderZoomModel = 1;
+  var DataZoomModel2 = requireDataZoomModel();
+  var SliderZoomModel2 = DataZoomModel2.extend({
+    type: "dataZoom.slider",
+    layoutMode: "box",
+    /**
+     * @protected
+     */
+    defaultOption: {
+      show: true,
+      // ph => placeholder. Using placehoder here because
+      // deault value can only be drived in view stage.
+      right: "ph",
+      // Default align to grid rect.
+      top: "ph",
+      // Default align to grid rect.
+      width: "ph",
+      // Default align to grid rect.
+      height: "ph",
+      // Default align to grid rect.
+      left: null,
+      // Default align to grid rect.
+      bottom: null,
+      // Default align to grid rect.
+      backgroundColor: "rgba(47,69,84,0)",
+      // Background of slider zoom component.
+      // dataBackgroundColor: '#ddd',         // Background coor of data shadow and border of box,
+      // highest priority, remain for compatibility of
+      // previous version, but not recommended any more.
+      dataBackground: {
+        lineStyle: {
+          color: "#2f4554",
+          width: 0.5,
+          opacity: 0.3
+        },
+        areaStyle: {
+          color: "rgba(47,69,84,0.3)",
+          opacity: 0.3
+        }
+      },
+      borderColor: "#ddd",
+      // border color of the box. For compatibility,
+      // if dataBackgroundColor is set, borderColor
+      // is ignored.
+      fillerColor: "rgba(167,183,204,0.4)",
+      // Color of selected area.
+      // handleColor: 'rgba(89,170,216,0.95)',     // Color of handle.
+      // handleIcon: 'path://M4.9,17.8c0-1.4,4.5-10.5,5.5-12.4c0-0.1,0.6-1.1,0.9-1.1c0.4,0,0.9,1,0.9,1.1c1.1,2.2,5.4,11,5.4,12.4v17.8c0,1.5-0.6,2.1-1.3,2.1H6.1c-0.7,0-1.3-0.6-1.3-2.1V17.8z',
+      /* eslint-disable */
+      handleIcon: "M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",
+      /* eslint-enable */
+      // Percent of the slider height
+      handleSize: "100%",
+      handleStyle: {
+        color: "#a7b7cc"
+      },
+      labelPrecision: null,
+      labelFormatter: null,
+      showDetail: true,
+      showDataShadow: "auto",
+      // Default auto decision.
+      realtime: true,
+      zoomLock: false,
+      // Whether disable zoom.
+      textStyle: {
+        color: "#333"
+      }
+    }
+  });
+  var _default68 = SliderZoomModel2;
+  SliderZoomModel_1 = _default68;
+  return SliderZoomModel_1;
+}
+var SliderZoomView_1;
+var hasRequiredSliderZoomView;
+function requireSliderZoomView() {
+  if (hasRequiredSliderZoomView)
+    return SliderZoomView_1;
+  hasRequiredSliderZoomView = 1;
+  var zrUtil2 = util$a;
+  var eventTool2 = event$1;
+  var graphic2 = graphic$6;
+  var throttle2 = throttle$3;
+  var DataZoomView2 = requireDataZoomView();
+  var numberUtil2 = requireNumber();
+  var layout2 = layout$5;
+  var sliderMove2 = requireSliderMove();
+  var Rect2 = graphic2.Rect;
+  var linearMap2 = numberUtil2.linearMap;
+  var asc2 = numberUtil2.asc;
+  var bind4 = zrUtil2.bind;
+  var each2 = zrUtil2.each;
+  var DEFAULT_LOCATION_EDGE_GAP2 = 7;
+  var DEFAULT_FRAME_BORDER_WIDTH2 = 1;
+  var DEFAULT_FILLER_SIZE2 = 30;
+  var HORIZONTAL2 = "horizontal";
+  var VERTICAL2 = "vertical";
+  var LABEL_GAP2 = 5;
+  var SHOW_DATA_SHADOW_SERIES_TYPE2 = ["line", "bar", "candlestick", "scatter"];
+  var SliderZoomView2 = DataZoomView2.extend({
+    type: "dataZoom.slider",
+    init: function(ecModel, api2) {
+      this._displayables = {};
+      this._orient;
+      this._range;
+      this._handleEnds;
+      this._size;
+      this._handleWidth;
+      this._handleHeight;
+      this._location;
+      this._dragging;
+      this._dataShadowInfo;
+      this.api = api2;
+    },
+    /**
+     * @override
+     */
+    render: function(dataZoomModel, ecModel, api2, payload) {
+      SliderZoomView2.superApply(this, "render", arguments);
+      throttle2.createOrUpdate(this, "_dispatchZoomAction", this.dataZoomModel.get("throttle"), "fixRate");
+      this._orient = dataZoomModel.get("orient");
+      if (this.dataZoomModel.get("show") === false) {
+        this.group.removeAll();
+        return;
+      }
+      if (!payload || payload.type !== "dataZoom" || payload.from !== this.uid) {
+        this._buildView();
+      }
+      this._updateView();
+    },
+    /**
+     * @override
+     */
+    remove: function() {
+      SliderZoomView2.superApply(this, "remove", arguments);
+      throttle2.clear(this, "_dispatchZoomAction");
+    },
+    /**
+     * @override
+     */
+    dispose: function() {
+      SliderZoomView2.superApply(this, "dispose", arguments);
+      throttle2.clear(this, "_dispatchZoomAction");
+    },
+    _buildView: function() {
+      var thisGroup = this.group;
+      thisGroup.removeAll();
+      this._resetLocation();
+      this._resetInterval();
+      var barGroup = this._displayables.barGroup = new graphic2.Group();
+      this._renderBackground();
+      this._renderHandle();
+      this._renderDataShadow();
+      thisGroup.add(barGroup);
+      this._positionGroup();
+    },
+    /**
+     * @private
+     */
+    _resetLocation: function() {
+      var dataZoomModel = this.dataZoomModel;
+      var api2 = this.api;
+      var coordRect = this._findCoordRect();
+      var ecSize = {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      };
+      var positionInfo = this._orient === HORIZONTAL2 ? {
+        // Why using 'right', because right should be used in vertical,
+        // and it is better to be consistent for dealing with position param merge.
+        right: ecSize.width - coordRect.x - coordRect.width,
+        top: ecSize.height - DEFAULT_FILLER_SIZE2 - DEFAULT_LOCATION_EDGE_GAP2,
+        width: coordRect.width,
+        height: DEFAULT_FILLER_SIZE2
+      } : {
+        // vertical
+        right: DEFAULT_LOCATION_EDGE_GAP2,
+        top: coordRect.y,
+        width: DEFAULT_FILLER_SIZE2,
+        height: coordRect.height
+      };
+      var layoutParams = layout2.getLayoutParams(dataZoomModel.option);
+      zrUtil2.each(["right", "top", "width", "height"], function(name2) {
+        if (layoutParams[name2] === "ph") {
+          layoutParams[name2] = positionInfo[name2];
+        }
+      });
+      var layoutRect = layout2.getLayoutRect(layoutParams, ecSize, dataZoomModel.padding);
+      this._location = {
+        x: layoutRect.x,
+        y: layoutRect.y
+      };
+      this._size = [layoutRect.width, layoutRect.height];
+      this._orient === VERTICAL2 && this._size.reverse();
+    },
+    /**
+     * @private
+     */
+    _positionGroup: function() {
+      var thisGroup = this.group;
+      var location2 = this._location;
+      var orient = this._orient;
+      var targetAxisModel = this.dataZoomModel.getFirstTargetAxisModel();
+      var inverse = targetAxisModel && targetAxisModel.get("inverse");
+      var barGroup = this._displayables.barGroup;
+      var otherAxisInverse = (this._dataShadowInfo || {}).otherAxisInverse;
+      barGroup.attr(orient === HORIZONTAL2 && !inverse ? {
+        scale: otherAxisInverse ? [1, 1] : [1, -1]
+      } : orient === HORIZONTAL2 && inverse ? {
+        scale: otherAxisInverse ? [-1, 1] : [-1, -1]
+      } : orient === VERTICAL2 && !inverse ? {
+        scale: otherAxisInverse ? [1, -1] : [1, 1],
+        rotation: Math.PI / 2
+        // Dont use Math.PI, considering shadow direction.
+      } : {
+        scale: otherAxisInverse ? [-1, -1] : [-1, 1],
+        rotation: Math.PI / 2
+      });
+      var rect = thisGroup.getBoundingRect([barGroup]);
+      thisGroup.attr("position", [location2.x - rect.x, location2.y - rect.y]);
+    },
+    /**
+     * @private
+     */
+    _getViewExtent: function() {
+      return [0, this._size[0]];
+    },
+    _renderBackground: function() {
+      var dataZoomModel = this.dataZoomModel;
+      var size = this._size;
+      var barGroup = this._displayables.barGroup;
+      barGroup.add(new Rect2({
+        silent: true,
+        shape: {
+          x: 0,
+          y: 0,
+          width: size[0],
+          height: size[1]
+        },
+        style: {
+          fill: dataZoomModel.get("backgroundColor")
+        },
+        z2: -40
+      }));
+      barGroup.add(new Rect2({
+        shape: {
+          x: 0,
+          y: 0,
+          width: size[0],
+          height: size[1]
+        },
+        style: {
+          fill: "transparent"
+        },
+        z2: 0,
+        onclick: zrUtil2.bind(this._onClickPanelClick, this)
+      }));
+    },
+    _renderDataShadow: function() {
+      var info = this._dataShadowInfo = this._prepareDataShadowInfo();
+      if (!info) {
+        return;
+      }
+      var size = this._size;
+      var seriesModel = info.series;
+      var data2 = seriesModel.getRawData();
+      var otherDim = seriesModel.getShadowDim ? seriesModel.getShadowDim() : info.otherDim;
+      if (otherDim == null) {
+        return;
+      }
+      var otherDataExtent = data2.getDataExtent(otherDim);
+      var otherOffset = (otherDataExtent[1] - otherDataExtent[0]) * 0.3;
+      otherDataExtent = [otherDataExtent[0] - otherOffset, otherDataExtent[1] + otherOffset];
+      var otherShadowExtent = [0, size[1]];
+      var thisShadowExtent = [0, size[0]];
+      var areaPoints = [[size[0], 0], [0, 0]];
+      var linePoints = [];
+      var step2 = thisShadowExtent[1] / (data2.count() - 1);
+      var thisCoord = 0;
+      var stride = Math.round(data2.count() / size[0]);
+      var lastIsEmpty;
+      data2.each([otherDim], function(value, index3) {
+        if (stride > 0 && index3 % stride) {
+          thisCoord += step2;
+          return;
+        }
+        var isEmpty = value == null || isNaN(value) || value === "";
+        var otherCoord = isEmpty ? 0 : linearMap2(value, otherDataExtent, otherShadowExtent, true);
+        if (isEmpty && !lastIsEmpty && index3) {
+          areaPoints.push([areaPoints[areaPoints.length - 1][0], 0]);
+          linePoints.push([linePoints[linePoints.length - 1][0], 0]);
+        } else if (!isEmpty && lastIsEmpty) {
+          areaPoints.push([thisCoord, 0]);
+          linePoints.push([thisCoord, 0]);
+        }
+        areaPoints.push([thisCoord, otherCoord]);
+        linePoints.push([thisCoord, otherCoord]);
+        thisCoord += step2;
+        lastIsEmpty = isEmpty;
+      });
+      var dataZoomModel = this.dataZoomModel;
+      this._displayables.barGroup.add(new graphic2.Polygon({
+        shape: {
+          points: areaPoints
+        },
+        style: zrUtil2.defaults({
+          fill: dataZoomModel.get("dataBackgroundColor")
+        }, dataZoomModel.getModel("dataBackground.areaStyle").getAreaStyle()),
+        silent: true,
+        z2: -20
+      }));
+      this._displayables.barGroup.add(new graphic2.Polyline({
+        shape: {
+          points: linePoints
+        },
+        style: dataZoomModel.getModel("dataBackground.lineStyle").getLineStyle(),
+        silent: true,
+        z2: -19
+      }));
+    },
+    _prepareDataShadowInfo: function() {
+      var dataZoomModel = this.dataZoomModel;
+      var showDataShadow = dataZoomModel.get("showDataShadow");
+      if (showDataShadow === false) {
+        return;
+      }
+      var result2;
+      var ecModel = this.ecModel;
+      dataZoomModel.eachTargetAxis(function(dimNames, axisIndex) {
+        var seriesModels = dataZoomModel.getAxisProxy(dimNames.name, axisIndex).getTargetSeriesModels();
+        zrUtil2.each(seriesModels, function(seriesModel) {
+          if (result2) {
+            return;
+          }
+          if (showDataShadow !== true && zrUtil2.indexOf(SHOW_DATA_SHADOW_SERIES_TYPE2, seriesModel.get("type")) < 0) {
+            return;
+          }
+          var thisAxis = ecModel.getComponent(dimNames.axis, axisIndex).axis;
+          var otherDim = getOtherDim2(dimNames.name);
+          var otherAxisInverse;
+          var coordSys = seriesModel.coordinateSystem;
+          if (otherDim != null && coordSys.getOtherAxis) {
+            otherAxisInverse = coordSys.getOtherAxis(thisAxis).inverse;
+          }
+          otherDim = seriesModel.getData().mapDimension(otherDim);
+          result2 = {
+            thisAxis,
+            series: seriesModel,
+            thisDim: dimNames.name,
+            otherDim,
+            otherAxisInverse
+          };
+        }, this);
+      }, this);
+      return result2;
+    },
+    _renderHandle: function() {
+      var displaybles = this._displayables;
+      var handles = displaybles.handles = [];
+      var handleLabels = displaybles.handleLabels = [];
+      var barGroup = this._displayables.barGroup;
+      var size = this._size;
+      var dataZoomModel = this.dataZoomModel;
+      barGroup.add(displaybles.filler = new Rect2({
+        draggable: true,
+        cursor: getCursor2(this._orient),
+        drift: bind4(this._onDragMove, this, "all"),
+        ondragstart: bind4(this._showDataInfo, this, true),
+        ondragend: bind4(this._onDragEnd, this),
+        onmouseover: bind4(this._showDataInfo, this, true),
+        onmouseout: bind4(this._showDataInfo, this, false),
+        style: {
+          fill: dataZoomModel.get("fillerColor"),
+          textPosition: "inside"
+        }
+      }));
+      barGroup.add(new Rect2({
+        silent: true,
+        subPixelOptimize: true,
+        shape: {
+          x: 0,
+          y: 0,
+          width: size[0],
+          height: size[1]
+        },
+        style: {
+          stroke: dataZoomModel.get("dataBackgroundColor") || dataZoomModel.get("borderColor"),
+          lineWidth: DEFAULT_FRAME_BORDER_WIDTH2,
+          fill: "rgba(0,0,0,0)"
+        }
+      }));
+      each2([0, 1], function(handleIndex) {
+        var path2 = graphic2.createIcon(dataZoomModel.get("handleIcon"), {
+          cursor: getCursor2(this._orient),
+          draggable: true,
+          drift: bind4(this._onDragMove, this, handleIndex),
+          ondragend: bind4(this._onDragEnd, this),
+          onmouseover: bind4(this._showDataInfo, this, true),
+          onmouseout: bind4(this._showDataInfo, this, false)
+        }, {
+          x: -1,
+          y: 0,
+          width: 2,
+          height: 2
+        });
+        var bRect = path2.getBoundingRect();
+        this._handleHeight = numberUtil2.parsePercent(dataZoomModel.get("handleSize"), this._size[1]);
+        this._handleWidth = bRect.width / bRect.height * this._handleHeight;
+        path2.setStyle(dataZoomModel.getModel("handleStyle").getItemStyle());
+        var handleColor = dataZoomModel.get("handleColor");
+        if (handleColor != null) {
+          path2.style.fill = handleColor;
+        }
+        barGroup.add(handles[handleIndex] = path2);
+        var textStyleModel = dataZoomModel.textStyleModel;
+        this.group.add(handleLabels[handleIndex] = new graphic2.Text({
+          silent: true,
+          invisible: true,
+          style: {
+            x: 0,
+            y: 0,
+            text: "",
+            textVerticalAlign: "middle",
+            textAlign: "center",
+            textFill: textStyleModel.getTextColor(),
+            textFont: textStyleModel.getFont()
+          },
+          z2: 10
+        }));
+      }, this);
+    },
+    /**
+     * @private
+     */
+    _resetInterval: function() {
+      var range2 = this._range = this.dataZoomModel.getPercentRange();
+      var viewExtent = this._getViewExtent();
+      this._handleEnds = [linearMap2(range2[0], [0, 100], viewExtent, true), linearMap2(range2[1], [0, 100], viewExtent, true)];
+    },
+    /**
+     * @private
+     * @param {(number|string)} handleIndex 0 or 1 or 'all'
+     * @param {number} delta
+     * @return {boolean} changed
+     */
+    _updateInterval: function(handleIndex, delta) {
+      var dataZoomModel = this.dataZoomModel;
+      var handleEnds = this._handleEnds;
+      var viewExtend = this._getViewExtent();
+      var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
+      var percentExtent = [0, 100];
+      sliderMove2(delta, handleEnds, viewExtend, dataZoomModel.get("zoomLock") ? "all" : handleIndex, minMaxSpan.minSpan != null ? linearMap2(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null, minMaxSpan.maxSpan != null ? linearMap2(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null);
+      var lastRange = this._range;
+      var range2 = this._range = asc2([linearMap2(handleEnds[0], viewExtend, percentExtent, true), linearMap2(handleEnds[1], viewExtend, percentExtent, true)]);
+      return !lastRange || lastRange[0] !== range2[0] || lastRange[1] !== range2[1];
+    },
+    /**
+     * @private
+     */
+    _updateView: function(nonRealtime) {
+      var displaybles = this._displayables;
+      var handleEnds = this._handleEnds;
+      var handleInterval = asc2(handleEnds.slice());
+      var size = this._size;
+      each2([0, 1], function(handleIndex) {
+        var handle2 = displaybles.handles[handleIndex];
+        var handleHeight = this._handleHeight;
+        handle2.attr({
+          scale: [handleHeight / 2, handleHeight / 2],
+          position: [handleEnds[handleIndex], size[1] / 2 - handleHeight / 2]
+        });
+      }, this);
+      displaybles.filler.setShape({
+        x: handleInterval[0],
+        y: 0,
+        width: handleInterval[1] - handleInterval[0],
+        height: size[1]
+      });
+      this._updateDataInfo(nonRealtime);
+    },
+    /**
+     * @private
+     */
+    _updateDataInfo: function(nonRealtime) {
+      var dataZoomModel = this.dataZoomModel;
+      var displaybles = this._displayables;
+      var handleLabels = displaybles.handleLabels;
+      var orient = this._orient;
+      var labelTexts = ["", ""];
+      if (dataZoomModel.get("showDetail")) {
+        var axisProxy = dataZoomModel.findRepresentativeAxisProxy();
+        if (axisProxy) {
+          var axis2 = axisProxy.getAxisModel().axis;
+          var range2 = this._range;
+          var dataInterval = nonRealtime ? axisProxy.calculateDataWindow({
+            start: range2[0],
+            end: range2[1]
+          }).valueWindow : axisProxy.getDataValueWindow();
+          labelTexts = [this._formatLabel(dataInterval[0], axis2), this._formatLabel(dataInterval[1], axis2)];
+        }
+      }
+      var orderedHandleEnds = asc2(this._handleEnds.slice());
+      setLabel.call(this, 0);
+      setLabel.call(this, 1);
+      function setLabel(handleIndex) {
+        var barTransform = graphic2.getTransform(displaybles.handles[handleIndex].parent, this.group);
+        var direction = graphic2.transformDirection(handleIndex === 0 ? "right" : "left", barTransform);
+        var offset2 = this._handleWidth / 2 + LABEL_GAP2;
+        var textPoint = graphic2.applyTransform([orderedHandleEnds[handleIndex] + (handleIndex === 0 ? -offset2 : offset2), this._size[1] / 2], barTransform);
+        handleLabels[handleIndex].setStyle({
+          x: textPoint[0],
+          y: textPoint[1],
+          textVerticalAlign: orient === HORIZONTAL2 ? "middle" : direction,
+          textAlign: orient === HORIZONTAL2 ? direction : "center",
+          text: labelTexts[handleIndex]
+        });
+      }
+    },
+    /**
+     * @private
+     */
+    _formatLabel: function(value, axis2) {
+      var dataZoomModel = this.dataZoomModel;
+      var labelFormatter = dataZoomModel.get("labelFormatter");
+      var labelPrecision = dataZoomModel.get("labelPrecision");
+      if (labelPrecision == null || labelPrecision === "auto") {
+        labelPrecision = axis2.getPixelPrecision();
+      }
+      var valueStr = value == null || isNaN(value) ? "" : axis2.type === "category" || axis2.type === "time" ? axis2.scale.getLabel(Math.round(value)) : value.toFixed(Math.min(labelPrecision, 20));
+      return zrUtil2.isFunction(labelFormatter) ? labelFormatter(value, valueStr) : zrUtil2.isString(labelFormatter) ? labelFormatter.replace("{value}", valueStr) : valueStr;
+    },
+    /**
+     * @private
+     * @param {boolean} showOrHide true: show, false: hide
+     */
+    _showDataInfo: function(showOrHide) {
+      showOrHide = this._dragging || showOrHide;
+      var handleLabels = this._displayables.handleLabels;
+      handleLabels[0].attr("invisible", !showOrHide);
+      handleLabels[1].attr("invisible", !showOrHide);
+    },
+    _onDragMove: function(handleIndex, dx, dy, event2) {
+      this._dragging = true;
+      eventTool2.stop(event2.event);
+      var barTransform = this._displayables.barGroup.getLocalTransform();
+      var vertex = graphic2.applyTransform([dx, dy], barTransform, true);
+      var changed = this._updateInterval(handleIndex, vertex[0]);
+      var realtime = this.dataZoomModel.get("realtime");
+      this._updateView(!realtime);
+      changed && realtime && this._dispatchZoomAction();
+    },
+    _onDragEnd: function() {
+      this._dragging = false;
+      this._showDataInfo(false);
+      var realtime = this.dataZoomModel.get("realtime");
+      !realtime && this._dispatchZoomAction();
+    },
+    _onClickPanelClick: function(e2) {
+      var size = this._size;
+      var localPoint = this._displayables.barGroup.transformCoordToLocal(e2.offsetX, e2.offsetY);
+      if (localPoint[0] < 0 || localPoint[0] > size[0] || localPoint[1] < 0 || localPoint[1] > size[1]) {
+        return;
+      }
+      var handleEnds = this._handleEnds;
+      var center2 = (handleEnds[0] + handleEnds[1]) / 2;
+      var changed = this._updateInterval("all", localPoint[0] - center2);
+      this._updateView();
+      changed && this._dispatchZoomAction();
+    },
+    /**
+     * This action will be throttled.
+     * @private
+     */
+    _dispatchZoomAction: function() {
+      var range2 = this._range;
+      this.api.dispatchAction({
+        type: "dataZoom",
+        from: this.uid,
+        dataZoomId: this.dataZoomModel.id,
+        start: range2[0],
+        end: range2[1]
+      });
+    },
+    /**
+     * @private
+     */
+    _findCoordRect: function() {
+      var rect;
+      each2(this.getTargetCoordInfo(), function(coordInfoList) {
+        if (!rect && coordInfoList.length) {
+          var coordSys = coordInfoList[0].model.coordinateSystem;
+          rect = coordSys.getRect && coordSys.getRect();
+        }
+      });
+      if (!rect) {
+        var width = this.api.getWidth();
+        var height = this.api.getHeight();
+        rect = {
+          x: width * 0.2,
+          y: height * 0.2,
+          width: width * 0.6,
+          height: height * 0.6
+        };
+      }
+      return rect;
+    }
+  });
+  function getOtherDim2(thisDim) {
+    var map2 = {
+      x: "y",
+      y: "x",
+      radius: "angle",
+      angle: "radius"
+    };
+    return map2[thisDim];
+  }
+  function getCursor2(orient) {
+    return orient === "vertical" ? "ns-resize" : "ew-resize";
+  }
+  var _default68 = SliderZoomView2;
+  SliderZoomView_1 = _default68;
+  return SliderZoomView_1;
+}
+var hasRequiredDataZoomSlider;
+function requireDataZoomSlider() {
+  if (hasRequiredDataZoomSlider)
+    return dataZoomSlider;
+  hasRequiredDataZoomSlider = 1;
+  requireTypeDefaulter$2();
+  requireDataZoomModel();
+  requireDataZoomView();
+  requireSliderZoomModel();
+  requireSliderZoomView();
+  requireDataZoomProcessor();
+  requireDataZoomAction();
+  return dataZoomSlider;
+}
+var dataZoomInside = {};
+var InsideZoomModel$2;
+var hasRequiredInsideZoomModel;
+function requireInsideZoomModel() {
+  if (hasRequiredInsideZoomModel)
+    return InsideZoomModel$2;
+  hasRequiredInsideZoomModel = 1;
+  var DataZoomModel2 = requireDataZoomModel();
+  var _default68 = DataZoomModel2.extend({
+    type: "dataZoom.inside",
+    /**
+     * @protected
+     */
+    defaultOption: {
+      disabled: false,
+      // Whether disable this inside zoom.
+      zoomLock: false,
+      // Whether disable zoom but only pan.
+      zoomOnMouseWheel: true,
+      // Can be: true / false / 'shift' / 'ctrl' / 'alt'.
+      moveOnMouseMove: true,
+      // Can be: true / false / 'shift' / 'ctrl' / 'alt'.
+      moveOnMouseWheel: false,
+      // Can be: true / false / 'shift' / 'ctrl' / 'alt'.
+      preventDefaultMouseMove: true
+    }
+  });
+  InsideZoomModel$2 = _default68;
+  return InsideZoomModel$2;
+}
+var roams = {};
+var hasRequiredRoams;
+function requireRoams() {
+  if (hasRequiredRoams)
+    return roams;
+  hasRequiredRoams = 1;
+  var zrUtil2 = util$a;
+  var RoamController2 = requireRoamController();
+  var throttleUtil = throttle$3;
+  var ATTR2 = "\0_ec_dataZoom_roams";
+  function register2(api2, dataZoomInfo) {
+    var store = giveStore(api2);
+    var theDataZoomId = dataZoomInfo.dataZoomId;
+    var theCoordId = dataZoomInfo.coordId;
+    zrUtil2.each(store, function(record2, coordId) {
+      var dataZoomInfos = record2.dataZoomInfos;
+      if (dataZoomInfos[theDataZoomId] && zrUtil2.indexOf(dataZoomInfo.allCoordIds, theCoordId) < 0) {
+        delete dataZoomInfos[theDataZoomId];
+        record2.count--;
+      }
+    });
+    cleanStore(store);
+    var record = store[theCoordId];
+    if (!record) {
+      record = store[theCoordId] = {
+        coordId: theCoordId,
+        dataZoomInfos: {},
+        count: 0
+      };
+      record.controller = createController(api2, record);
+      record.dispatchAction = zrUtil2.curry(dispatchAction2, api2);
+    }
+    !record.dataZoomInfos[theDataZoomId] && record.count++;
+    record.dataZoomInfos[theDataZoomId] = dataZoomInfo;
+    var controllerParams = mergeControllerParams2(record.dataZoomInfos);
+    record.controller.enable(controllerParams.controlType, controllerParams.opt);
+    record.controller.setPointerChecker(dataZoomInfo.containsPoint);
+    throttleUtil.createOrUpdate(record, "dispatchAction", dataZoomInfo.dataZoomModel.get("throttle", true), "fixRate");
+  }
+  function unregister2(api2, dataZoomId) {
+    var store = giveStore(api2);
+    zrUtil2.each(store, function(record) {
+      record.controller.dispose();
+      var dataZoomInfos = record.dataZoomInfos;
+      if (dataZoomInfos[dataZoomId]) {
+        delete dataZoomInfos[dataZoomId];
+        record.count--;
+      }
+    });
+    cleanStore(store);
+  }
+  function generateCoordId(coordModel) {
+    return coordModel.type + "\0_" + coordModel.id;
+  }
+  function giveStore(api2) {
+    var zr = api2.getZr();
+    return zr[ATTR2] || (zr[ATTR2] = {});
+  }
+  function createController(api2, newRecord) {
+    var controller = new RoamController2(api2.getZr());
+    zrUtil2.each(["pan", "zoom", "scrollMove"], function(eventName) {
+      controller.on(eventName, function(event2) {
+        var batch = [];
+        zrUtil2.each(newRecord.dataZoomInfos, function(info) {
+          if (!event2.isAvailableBehavior(info.dataZoomModel.option)) {
+            return;
+          }
+          var method = (info.getRange || {})[eventName];
+          var range2 = method && method(newRecord.controller, event2);
+          !info.dataZoomModel.get("disabled", true) && range2 && batch.push({
+            dataZoomId: info.dataZoomId,
+            start: range2[0],
+            end: range2[1]
+          });
+        });
+        batch.length && newRecord.dispatchAction(batch);
+      });
+    });
+    return controller;
+  }
+  function cleanStore(store) {
+    zrUtil2.each(store, function(record, coordId) {
+      if (!record.count) {
+        record.controller.dispose();
+        delete store[coordId];
+      }
+    });
+  }
+  function dispatchAction2(api2, batch) {
+    api2.dispatchAction({
+      type: "dataZoom",
+      batch
+    });
+  }
+  function mergeControllerParams2(dataZoomInfos) {
+    var controlType;
+    var prefix = "type_";
+    var typePriority = {
+      "type_true": 2,
+      "type_move": 1,
+      "type_false": 0,
+      "type_undefined": -1
+    };
+    var preventDefaultMouseMove = true;
+    zrUtil2.each(dataZoomInfos, function(dataZoomInfo) {
+      var dataZoomModel = dataZoomInfo.dataZoomModel;
+      var oneType = dataZoomModel.get("disabled", true) ? false : dataZoomModel.get("zoomLock", true) ? "move" : true;
+      if (typePriority[prefix + oneType] > typePriority[prefix + controlType]) {
+        controlType = oneType;
+      }
+      preventDefaultMouseMove &= dataZoomModel.get("preventDefaultMouseMove", true);
+    });
+    return {
+      controlType,
+      opt: {
+        // RoamController will enable all of these functionalities,
+        // and the final behavior is determined by its event listener
+        // provided by each inside zoom.
+        zoomOnMouseWheel: true,
+        moveOnMouseMove: true,
+        moveOnMouseWheel: true,
+        preventDefaultMouseMove: !!preventDefaultMouseMove
+      }
+    };
+  }
+  roams.register = register2;
+  roams.unregister = unregister2;
+  roams.generateCoordId = generateCoordId;
+  return roams;
+}
+var InsideZoomView_1;
+var hasRequiredInsideZoomView;
+function requireInsideZoomView() {
+  if (hasRequiredInsideZoomView)
+    return InsideZoomView_1;
+  hasRequiredInsideZoomView = 1;
+  var zrUtil2 = util$a;
+  var DataZoomView2 = requireDataZoomView();
+  var sliderMove2 = requireSliderMove();
+  var roams2 = requireRoams();
+  var bind4 = zrUtil2.bind;
+  var InsideZoomView2 = DataZoomView2.extend({
+    type: "dataZoom.inside",
+    /**
+     * @override
+     */
+    init: function(ecModel, api2) {
+      this._range;
+    },
+    /**
+     * @override
+     */
+    render: function(dataZoomModel, ecModel, api2, payload) {
+      InsideZoomView2.superApply(this, "render", arguments);
+      this._range = dataZoomModel.getPercentRange();
+      zrUtil2.each(this.getTargetCoordInfo(), function(coordInfoList, coordSysName) {
+        var allCoordIds = zrUtil2.map(coordInfoList, function(coordInfo) {
+          return roams2.generateCoordId(coordInfo.model);
+        });
+        zrUtil2.each(coordInfoList, function(coordInfo) {
+          var coordModel = coordInfo.model;
+          var getRange = {};
+          zrUtil2.each(["pan", "zoom", "scrollMove"], function(eventName) {
+            getRange[eventName] = bind4(roamHandlers[eventName], this, coordInfo, coordSysName);
+          }, this);
+          roams2.register(api2, {
+            coordId: roams2.generateCoordId(coordModel),
+            allCoordIds,
+            containsPoint: function(e2, x2, y2) {
+              return coordModel.coordinateSystem.containPoint([x2, y2]);
+            },
+            dataZoomId: dataZoomModel.id,
+            dataZoomModel,
+            getRange
+          });
+        }, this);
+      }, this);
+    },
+    /**
+     * @override
+     */
+    dispose: function() {
+      roams2.unregister(this.api, this.dataZoomModel.id);
+      InsideZoomView2.superApply(this, "dispose", arguments);
+      this._range = null;
+    }
+  });
+  var roamHandlers = {
+    /**
+     * @this {module:echarts/component/dataZoom/InsideZoomView}
+     */
+    zoom: function(coordInfo, coordSysName, controller, e2) {
+      var lastRange = this._range;
+      var range2 = lastRange.slice();
+      var axisModel = coordInfo.axisModels[0];
+      if (!axisModel) {
+        return;
+      }
+      var directionInfo = getDirectionInfo2[coordSysName](null, [e2.originX, e2.originY], axisModel, controller, coordInfo);
+      var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range2[1] - range2[0]) + range2[0];
+      var scale2 = Math.max(1 / e2.scale, 0);
+      range2[0] = (range2[0] - percentPoint) * scale2 + percentPoint;
+      range2[1] = (range2[1] - percentPoint) * scale2 + percentPoint;
+      var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
+      sliderMove2(0, range2, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);
+      this._range = range2;
+      if (lastRange[0] !== range2[0] || lastRange[1] !== range2[1]) {
+        return range2;
+      }
+    },
+    /**
+     * @this {module:echarts/component/dataZoom/InsideZoomView}
+     */
+    pan: makeMover2(function(range2, axisModel, coordInfo, coordSysName, controller, e2) {
+      var directionInfo = getDirectionInfo2[coordSysName]([e2.oldX, e2.oldY], [e2.newX, e2.newY], axisModel, controller, coordInfo);
+      return directionInfo.signal * (range2[1] - range2[0]) * directionInfo.pixel / directionInfo.pixelLength;
+    }),
+    /**
+     * @this {module:echarts/component/dataZoom/InsideZoomView}
+     */
+    scrollMove: makeMover2(function(range2, axisModel, coordInfo, coordSysName, controller, e2) {
+      var directionInfo = getDirectionInfo2[coordSysName]([0, 0], [e2.scrollDelta, e2.scrollDelta], axisModel, controller, coordInfo);
+      return directionInfo.signal * (range2[1] - range2[0]) * e2.scrollDelta;
+    })
+  };
+  function makeMover2(getPercentDelta) {
+    return function(coordInfo, coordSysName, controller, e2) {
+      var lastRange = this._range;
+      var range2 = lastRange.slice();
+      var axisModel = coordInfo.axisModels[0];
+      if (!axisModel) {
+        return;
+      }
+      var percentDelta = getPercentDelta(range2, axisModel, coordInfo, coordSysName, controller, e2);
+      sliderMove2(percentDelta, range2, [0, 100], "all");
+      this._range = range2;
+      if (lastRange[0] !== range2[0] || lastRange[1] !== range2[1]) {
+        return range2;
+      }
+    };
+  }
+  var getDirectionInfo2 = {
+    grid: function(oldPoint, newPoint, axisModel, controller, coordInfo) {
+      var axis2 = axisModel.axis;
+      var ret = {};
+      var rect = coordInfo.model.coordinateSystem.getRect();
+      oldPoint = oldPoint || [0, 0];
+      if (axis2.dim === "x") {
+        ret.pixel = newPoint[0] - oldPoint[0];
+        ret.pixelLength = rect.width;
+        ret.pixelStart = rect.x;
+        ret.signal = axis2.inverse ? 1 : -1;
+      } else {
+        ret.pixel = newPoint[1] - oldPoint[1];
+        ret.pixelLength = rect.height;
+        ret.pixelStart = rect.y;
+        ret.signal = axis2.inverse ? -1 : 1;
+      }
+      return ret;
+    },
+    polar: function(oldPoint, newPoint, axisModel, controller, coordInfo) {
+      var axis2 = axisModel.axis;
+      var ret = {};
+      var polar2 = coordInfo.model.coordinateSystem;
+      var radiusExtent = polar2.getRadiusAxis().getExtent();
+      var angleExtent = polar2.getAngleAxis().getExtent();
+      oldPoint = oldPoint ? polar2.pointToCoord(oldPoint) : [0, 0];
+      newPoint = polar2.pointToCoord(newPoint);
+      if (axisModel.mainType === "radiusAxis") {
+        ret.pixel = newPoint[0] - oldPoint[0];
+        ret.pixelLength = radiusExtent[1] - radiusExtent[0];
+        ret.pixelStart = radiusExtent[0];
+        ret.signal = axis2.inverse ? 1 : -1;
+      } else {
+        ret.pixel = newPoint[1] - oldPoint[1];
+        ret.pixelLength = angleExtent[1] - angleExtent[0];
+        ret.pixelStart = angleExtent[0];
+        ret.signal = axis2.inverse ? -1 : 1;
+      }
+      return ret;
+    },
+    singleAxis: function(oldPoint, newPoint, axisModel, controller, coordInfo) {
+      var axis2 = axisModel.axis;
+      var rect = coordInfo.model.coordinateSystem.getRect();
+      var ret = {};
+      oldPoint = oldPoint || [0, 0];
+      if (axis2.orient === "horizontal") {
+        ret.pixel = newPoint[0] - oldPoint[0];
+        ret.pixelLength = rect.width;
+        ret.pixelStart = rect.x;
+        ret.signal = axis2.inverse ? 1 : -1;
+      } else {
+        ret.pixel = newPoint[1] - oldPoint[1];
+        ret.pixelLength = rect.height;
+        ret.pixelStart = rect.y;
+        ret.signal = axis2.inverse ? -1 : 1;
+      }
+      return ret;
+    }
+  };
+  var _default68 = InsideZoomView2;
+  InsideZoomView_1 = _default68;
+  return InsideZoomView_1;
+}
+var hasRequiredDataZoomInside;
+function requireDataZoomInside() {
+  if (hasRequiredDataZoomInside)
+    return dataZoomInside;
+  hasRequiredDataZoomInside = 1;
+  requireTypeDefaulter$2();
+  requireDataZoomModel();
+  requireDataZoomView();
+  requireInsideZoomModel();
+  requireInsideZoomView();
+  requireDataZoomProcessor();
+  requireDataZoomAction();
+  return dataZoomInside;
+}
+var hasRequiredDataZoom;
+function requireDataZoom() {
+  if (hasRequiredDataZoom)
+    return dataZoom;
+  hasRequiredDataZoom = 1;
+  requireDataZoomSlider();
+  requireDataZoomInside();
+  return dataZoom;
+}
+var visualMap = {};
+var visualMapContinuous = {};
+var preprocessor;
+var hasRequiredPreprocessor;
+function requirePreprocessor() {
+  if (hasRequiredPreprocessor)
+    return preprocessor;
+  hasRequiredPreprocessor = 1;
+  var zrUtil2 = util$a;
+  var each2 = zrUtil2.each;
+  function _default68(option) {
+    var visualMap2 = option && option.visualMap;
+    if (!zrUtil2.isArray(visualMap2)) {
+      visualMap2 = visualMap2 ? [visualMap2] : [];
+    }
+    each2(visualMap2, function(opt) {
+      if (!opt) {
+        return;
+      }
+      if (has2(opt, "splitList") && !has2(opt, "pieces")) {
+        opt.pieces = opt.splitList;
+        delete opt.splitList;
+      }
+      var pieces = opt.pieces;
+      if (pieces && zrUtil2.isArray(pieces)) {
+        each2(pieces, function(piece) {
+          if (zrUtil2.isObject(piece)) {
+            if (has2(piece, "start") && !has2(piece, "min")) {
+              piece.min = piece.start;
+            }
+            if (has2(piece, "end") && !has2(piece, "max")) {
+              piece.max = piece.end;
+            }
+          }
+        });
+      }
+    });
+  }
+  function has2(obj2, name2) {
+    return obj2 && obj2.hasOwnProperty && obj2.hasOwnProperty(name2);
+  }
+  preprocessor = _default68;
+  return preprocessor;
+}
+var typeDefaulter = {};
+var hasRequiredTypeDefaulter;
+function requireTypeDefaulter() {
+  if (hasRequiredTypeDefaulter)
+    return typeDefaulter;
+  hasRequiredTypeDefaulter = 1;
+  var Component2 = Component$1;
+  Component2.registerSubTypeDefaulter("visualMap", function(option) {
+    return !option.categories && (!(option.pieces ? option.pieces.length > 0 : option.splitNumber > 0) || option.calculable) ? "continuous" : "piecewise";
+  });
+  return typeDefaulter;
+}
+var visualEncoding = {};
+var hasRequiredVisualEncoding;
+function requireVisualEncoding() {
+  if (hasRequiredVisualEncoding)
+    return visualEncoding;
+  hasRequiredVisualEncoding = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var visualSolution2 = requireVisualSolution();
+  var VisualMapping2 = requireVisualMapping();
+  var VISUAL_PRIORITY = echarts2.PRIORITY.VISUAL.COMPONENT;
+  echarts2.registerVisual(VISUAL_PRIORITY, {
+    createOnAllSeries: true,
+    reset: function(seriesModel, ecModel) {
+      var resetDefines = [];
+      ecModel.eachComponent("visualMap", function(visualMapModel) {
+        var pipelineContext = seriesModel.pipelineContext;
+        if (!visualMapModel.isTargetSeries(seriesModel) || pipelineContext && pipelineContext.large) {
+          return;
+        }
+        resetDefines.push(visualSolution2.incrementalApplyVisual(visualMapModel.stateList, visualMapModel.targetVisuals, zrUtil2.bind(visualMapModel.getValueState, visualMapModel), visualMapModel.getDataDimension(seriesModel.getData())));
+      });
+      return resetDefines;
+    }
+  });
+  echarts2.registerVisual(VISUAL_PRIORITY, {
+    createOnAllSeries: true,
+    reset: function(seriesModel, ecModel) {
+      var data2 = seriesModel.getData();
+      var visualMetaList = [];
+      ecModel.eachComponent("visualMap", function(visualMapModel) {
+        if (visualMapModel.isTargetSeries(seriesModel)) {
+          var visualMeta = visualMapModel.getVisualMeta(zrUtil2.bind(getColorVisual2, null, seriesModel, visualMapModel)) || {
+            stops: [],
+            outerColors: []
+          };
+          var concreteDim = visualMapModel.getDataDimension(data2);
+          var dimInfo = data2.getDimensionInfo(concreteDim);
+          if (dimInfo != null) {
+            visualMeta.dimension = dimInfo.index;
+            visualMetaList.push(visualMeta);
+          }
+        }
+      });
+      seriesModel.getData().setVisual("visualMeta", visualMetaList);
+    }
+  });
+  function getColorVisual2(seriesModel, visualMapModel, value, valueState) {
+    var mappings = visualMapModel.targetVisuals[valueState];
+    var visualTypes = VisualMapping2.prepareVisualTypes(mappings);
+    var resultVisual = {
+      color: seriesModel.getData().getVisual("color")
+      // default color.
+    };
+    for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+      var type2 = visualTypes[i2];
+      var mapping3 = mappings[type2 === "opacity" ? "__alphaForOpacity" : type2];
+      mapping3 && mapping3.applyVisual(value, getVisual, setVisual);
+    }
+    return resultVisual.color;
+    function getVisual(key2) {
+      return resultVisual[key2];
+    }
+    function setVisual(key2, value2) {
+      resultVisual[key2] = value2;
+    }
+  }
+  return visualEncoding;
+}
+var visualDefault_1;
+var hasRequiredVisualDefault;
+function requireVisualDefault() {
+  if (hasRequiredVisualDefault)
+    return visualDefault_1;
+  hasRequiredVisualDefault = 1;
+  var zrUtil2 = util$a;
+  var visualDefault2 = {
+    /**
+     * @public
+     */
+    get: function(visualType, key2, isCategory2) {
+      var value = zrUtil2.clone((defaultOption2[visualType] || {})[key2]);
+      return isCategory2 ? zrUtil2.isArray(value) ? value[value.length - 1] : value : value;
+    }
+  };
+  var defaultOption2 = {
+    color: {
+      active: ["#006edd", "#e0ffff"],
+      inactive: ["rgba(0,0,0,0)"]
+    },
+    colorHue: {
+      active: [0, 360],
+      inactive: [0, 0]
+    },
+    colorSaturation: {
+      active: [0.3, 1],
+      inactive: [0, 0]
+    },
+    colorLightness: {
+      active: [0.9, 0.5],
+      inactive: [0, 0]
+    },
+    colorAlpha: {
+      active: [0.3, 1],
+      inactive: [0, 0]
+    },
+    opacity: {
+      active: [0.3, 1],
+      inactive: [0, 0]
+    },
+    symbol: {
+      active: ["circle", "roundRect", "diamond"],
+      inactive: ["none"]
+    },
+    symbolSize: {
+      active: [10, 50],
+      inactive: [0, 0]
+    }
+  };
+  var _default68 = visualDefault2;
+  visualDefault_1 = _default68;
+  return visualDefault_1;
+}
+var VisualMapModel_1;
+var hasRequiredVisualMapModel;
+function requireVisualMapModel() {
+  if (hasRequiredVisualMapModel)
+    return VisualMapModel_1;
+  hasRequiredVisualMapModel = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var env2 = env_1;
+  var visualDefault2 = requireVisualDefault();
+  var VisualMapping2 = requireVisualMapping();
+  var visualSolution2 = requireVisualSolution();
+  var modelUtil2 = model;
+  var numberUtil2 = requireNumber();
+  var mapVisual2 = VisualMapping2.mapVisual;
+  var eachVisual2 = VisualMapping2.eachVisual;
+  var isArray2 = zrUtil2.isArray;
+  var each2 = zrUtil2.each;
+  var asc2 = numberUtil2.asc;
+  var linearMap2 = numberUtil2.linearMap;
+  var noop2 = zrUtil2.noop;
+  var VisualMapModel2 = echarts2.extendComponentModel({
+    type: "visualMap",
+    dependencies: ["series"],
+    /**
+     * @readOnly
+     * @type {Array.<string>}
+     */
+    stateList: ["inRange", "outOfRange"],
+    /**
+     * @readOnly
+     * @type {Array.<string>}
+     */
+    replacableOptionKeys: ["inRange", "outOfRange", "target", "controller", "color"],
+    /**
+     * [lowerBound, upperBound]
+     *
+     * @readOnly
+     * @type {Array.<number>}
+     */
+    dataBound: [-Infinity, Infinity],
+    /**
+     * @readOnly
+     * @type {string|Object}
+     */
+    layoutMode: {
+      type: "box",
+      ignoreSize: true
+    },
+    /**
+     * @protected
+     */
+    defaultOption: {
+      show: true,
+      zlevel: 0,
+      z: 4,
+      seriesIndex: "all",
+      // 'all' or null/undefined: all series.
+      // A number or an array of number: the specified series.
+      // set min: 0, max: 200, only for campatible with ec2.
+      // In fact min max should not have default value.
+      min: 0,
+      // min value, must specified if pieces is not specified.
+      max: 200,
+      // max value, must specified if pieces is not specified.
+      dimension: null,
+      inRange: null,
+      // 'color', 'colorHue', 'colorSaturation', 'colorLightness', 'colorAlpha',
+      // 'symbol', 'symbolSize'
+      outOfRange: null,
+      // 'color', 'colorHue', 'colorSaturation',
+      // 'colorLightness', 'colorAlpha',
+      // 'symbol', 'symbolSize'
+      left: 0,
+      // 'center' ¦ 'left' ¦ 'right' ¦ {number} (px)
+      right: null,
+      // The same as left.
+      top: null,
+      // 'top' ¦ 'bottom' ¦ 'center' ¦ {number} (px)
+      bottom: 0,
+      // The same as top.
+      itemWidth: null,
+      itemHeight: null,
+      inverse: false,
+      orient: "vertical",
+      // 'horizontal' ¦ 'vertical'
+      backgroundColor: "rgba(0,0,0,0)",
+      borderColor: "#ccc",
+      // 值域边框颜色
+      contentColor: "#5793f3",
+      inactiveColor: "#aaa",
+      borderWidth: 0,
+      // 值域边框线宽,单位px,默认为0(无边框)
+      padding: 5,
+      // 值域内边距,单位px,默认各方向内边距为5,
+      // 接受数组分别设定上右下左边距,同css
+      textGap: 10,
+      //
+      precision: 0,
+      // 小数精度,默认为0,无小数点
+      color: null,
+      //颜色(deprecated,兼容ec2,顺序同pieces,不同于inRange/outOfRange)
+      formatter: null,
+      text: null,
+      // 文本,如['高', '低'],兼容ec2,text[0]对应高值,text[1]对应低值
+      textStyle: {
+        color: "#333"
+        // 值域文字颜色
+      }
+    },
+    /**
+     * @protected
+     */
+    init: function(option, parentModel, ecModel) {
+      this._dataExtent;
+      this.targetVisuals = {};
+      this.controllerVisuals = {};
+      this.textStyleModel;
+      this.itemSize;
+      this.mergeDefaultAndTheme(option, ecModel);
+    },
+    /**
+     * @protected
+     */
+    optionUpdated: function(newOption, isInit) {
+      var thisOption = this.option;
+      if (!env2.canvasSupported) {
+        thisOption.realtime = false;
+      }
+      !isInit && visualSolution2.replaceVisualOption(thisOption, newOption, this.replacableOptionKeys);
+      this.textStyleModel = this.getModel("textStyle");
+      this.resetItemSize();
+      this.completeVisualOption();
+    },
+    /**
+     * @protected
+     */
+    resetVisual: function(supplementVisualOption) {
+      var stateList = this.stateList;
+      supplementVisualOption = zrUtil2.bind(supplementVisualOption, this);
+      this.controllerVisuals = visualSolution2.createVisualMappings(this.option.controller, stateList, supplementVisualOption);
+      this.targetVisuals = visualSolution2.createVisualMappings(this.option.target, stateList, supplementVisualOption);
+    },
+    /**
+     * @protected
+     * @return {Array.<number>} An array of series indices.
+     */
+    getTargetSeriesIndices: function() {
+      var optionSeriesIndex = this.option.seriesIndex;
+      var seriesIndices = [];
+      if (optionSeriesIndex == null || optionSeriesIndex === "all") {
+        this.ecModel.eachSeries(function(seriesModel, index3) {
+          seriesIndices.push(index3);
+        });
+      } else {
+        seriesIndices = modelUtil2.normalizeToArray(optionSeriesIndex);
+      }
+      return seriesIndices;
+    },
+    /**
+     * @public
+     */
+    eachTargetSeries: function(callback, context) {
+      zrUtil2.each(this.getTargetSeriesIndices(), function(seriesIndex) {
+        callback.call(context, this.ecModel.getSeriesByIndex(seriesIndex));
+      }, this);
+    },
+    /**
+     * @pubilc
+     */
+    isTargetSeries: function(seriesModel) {
+      var is = false;
+      this.eachTargetSeries(function(model2) {
+        model2 === seriesModel && (is = true);
+      });
+      return is;
+    },
+    /**
+     * @example
+     * this.formatValueText(someVal); // format single numeric value to text.
+     * this.formatValueText(someVal, true); // format single category value to text.
+     * this.formatValueText([min, max]); // format numeric min-max to text.
+     * this.formatValueText([this.dataBound[0], max]); // using data lower bound.
+     * this.formatValueText([min, this.dataBound[1]]); // using data upper bound.
+     *
+     * @param {number|Array.<number>} value Real value, or this.dataBound[0 or 1].
+     * @param {boolean} [isCategory=false] Only available when value is number.
+     * @param {Array.<string>} edgeSymbols Open-close symbol when value is interval.
+     * @return {string}
+     * @protected
+     */
+    formatValueText: function(value, isCategory2, edgeSymbols) {
+      var option = this.option;
+      var precision = option.precision;
+      var dataBound = this.dataBound;
+      var formatter = option.formatter;
+      var isMinMax;
+      var textValue;
+      edgeSymbols = edgeSymbols || ["<", ">"];
+      if (zrUtil2.isArray(value)) {
+        value = value.slice();
+        isMinMax = true;
+      }
+      textValue = isCategory2 ? value : isMinMax ? [toFixed2(value[0]), toFixed2(value[1])] : toFixed2(value);
+      if (zrUtil2.isString(formatter)) {
+        return formatter.replace("{value}", isMinMax ? textValue[0] : textValue).replace("{value2}", isMinMax ? textValue[1] : textValue);
+      } else if (zrUtil2.isFunction(formatter)) {
+        return isMinMax ? formatter(value[0], value[1]) : formatter(value);
+      }
+      if (isMinMax) {
+        if (value[0] === dataBound[0]) {
+          return edgeSymbols[0] + " " + textValue[1];
+        } else if (value[1] === dataBound[1]) {
+          return edgeSymbols[1] + " " + textValue[0];
+        } else {
+          return textValue[0] + " - " + textValue[1];
+        }
+      } else {
+        return textValue;
+      }
+      function toFixed2(val) {
+        return val === dataBound[0] ? "min" : val === dataBound[1] ? "max" : (+val).toFixed(Math.min(precision, 20));
+      }
+    },
+    /**
+     * @protected
+     */
+    resetExtent: function() {
+      var thisOption = this.option;
+      var extent3 = asc2([thisOption.min, thisOption.max]);
+      this._dataExtent = extent3;
+    },
+    /**
+     * @public
+     * @param {module:echarts/data/List} list
+     * @return {string} Concrete dimention. If return null/undefined,
+     *                  no dimension used.
+     */
+    getDataDimension: function(list2) {
+      var optDim = this.option.dimension;
+      var listDimensions = list2.dimensions;
+      if (optDim == null && !listDimensions.length) {
+        return;
+      }
+      if (optDim != null) {
+        return list2.getDimension(optDim);
+      }
+      var dimNames = list2.dimensions;
+      for (var i2 = dimNames.length - 1; i2 >= 0; i2--) {
+        var dimName = dimNames[i2];
+        var dimInfo = list2.getDimensionInfo(dimName);
+        if (!dimInfo.isCalculationCoord) {
+          return dimName;
+        }
+      }
+    },
+    /**
+     * @public
+     * @override
+     */
+    getExtent: function() {
+      return this._dataExtent.slice();
+    },
+    /**
+     * @protected
+     */
+    completeVisualOption: function() {
+      var ecModel = this.ecModel;
+      var thisOption = this.option;
+      var base2 = {
+        inRange: thisOption.inRange,
+        outOfRange: thisOption.outOfRange
+      };
+      var target = thisOption.target || (thisOption.target = {});
+      var controller = thisOption.controller || (thisOption.controller = {});
+      zrUtil2.merge(target, base2);
+      zrUtil2.merge(controller, base2);
+      var isCategory2 = this.isCategory();
+      completeSingle.call(this, target);
+      completeSingle.call(this, controller);
+      completeInactive.call(this, target, "inRange", "outOfRange");
+      completeController.call(this, controller);
+      function completeSingle(base3) {
+        if (isArray2(thisOption.color) && !base3.inRange) {
+          base3.inRange = {
+            color: thisOption.color.slice().reverse()
+          };
+        }
+        base3.inRange = base3.inRange || {
+          color: ecModel.get("gradientColor")
+        };
+        each2(this.stateList, function(state) {
+          var visualType = base3[state];
+          if (zrUtil2.isString(visualType)) {
+            var defa = visualDefault2.get(visualType, "active", isCategory2);
+            if (defa) {
+              base3[state] = {};
+              base3[state][visualType] = defa;
+            } else {
+              delete base3[state];
+            }
+          }
+        }, this);
+      }
+      function completeInactive(base3, stateExist, stateAbsent) {
+        var optExist = base3[stateExist];
+        var optAbsent = base3[stateAbsent];
+        if (optExist && !optAbsent) {
+          optAbsent = base3[stateAbsent] = {};
+          each2(optExist, function(visualData, visualType) {
+            if (!VisualMapping2.isValidType(visualType)) {
+              return;
+            }
+            var defa = visualDefault2.get(visualType, "inactive", isCategory2);
+            if (defa != null) {
+              optAbsent[visualType] = defa;
+              if (visualType === "color" && !optAbsent.hasOwnProperty("opacity") && !optAbsent.hasOwnProperty("colorAlpha")) {
+                optAbsent.opacity = [0, 0];
+              }
+            }
+          });
+        }
+      }
+      function completeController(controller2) {
+        var symbolExists = (controller2.inRange || {}).symbol || (controller2.outOfRange || {}).symbol;
+        var symbolSizeExists = (controller2.inRange || {}).symbolSize || (controller2.outOfRange || {}).symbolSize;
+        var inactiveColor = this.get("inactiveColor");
+        each2(this.stateList, function(state) {
+          var itemSize = this.itemSize;
+          var visuals = controller2[state];
+          if (!visuals) {
+            visuals = controller2[state] = {
+              color: isCategory2 ? inactiveColor : [inactiveColor]
+            };
+          }
+          if (visuals.symbol == null) {
+            visuals.symbol = symbolExists && zrUtil2.clone(symbolExists) || (isCategory2 ? "roundRect" : ["roundRect"]);
+          }
+          if (visuals.symbolSize == null) {
+            visuals.symbolSize = symbolSizeExists && zrUtil2.clone(symbolSizeExists) || (isCategory2 ? itemSize[0] : [itemSize[0], itemSize[0]]);
+          }
+          visuals.symbol = mapVisual2(visuals.symbol, function(symbol2) {
+            return symbol2 === "none" || symbol2 === "square" ? "roundRect" : symbol2;
+          });
+          var symbolSize = visuals.symbolSize;
+          if (symbolSize != null) {
+            var max3 = -Infinity;
+            eachVisual2(symbolSize, function(value) {
+              value > max3 && (max3 = value);
+            });
+            visuals.symbolSize = mapVisual2(symbolSize, function(value) {
+              return linearMap2(value, [0, max3], [0, itemSize[0]], true);
+            });
+          }
+        }, this);
+      }
+    },
+    /**
+     * @protected
+     */
+    resetItemSize: function() {
+      this.itemSize = [parseFloat(this.get("itemWidth")), parseFloat(this.get("itemHeight"))];
+    },
+    /**
+     * @public
+     */
+    isCategory: function() {
+      return !!this.option.categories;
+    },
+    /**
+     * @public
+     * @abstract
+     */
+    setSelected: noop2,
+    /**
+     * @public
+     * @abstract
+     * @param {*|module:echarts/data/List} valueOrData
+     * @param {number} dataIndex
+     * @return {string} state See this.stateList
+     */
+    getValueState: noop2,
+    /**
+     * FIXME
+     * Do not publish to thirt-part-dev temporarily
+     * util the interface is stable. (Should it return
+     * a function but not visual meta?)
+     *
+     * @pubilc
+     * @abstract
+     * @param {Function} getColorVisual
+     *        params: value, valueState
+     *        return: color
+     * @return {Object} visualMeta
+     *        should includes {stops, outerColors}
+     *        outerColor means [colorBeyondMinValue, colorBeyondMaxValue]
+     */
+    getVisualMeta: noop2
+  });
+  var _default68 = VisualMapModel2;
+  VisualMapModel_1 = _default68;
+  return VisualMapModel_1;
+}
+var ContinuousModel_1;
+var hasRequiredContinuousModel;
+function requireContinuousModel() {
+  if (hasRequiredContinuousModel)
+    return ContinuousModel_1;
+  hasRequiredContinuousModel = 1;
+  var zrUtil2 = util$a;
+  var VisualMapModel2 = requireVisualMapModel();
+  var numberUtil2 = requireNumber();
+  var DEFAULT_BAR_BOUND2 = [20, 140];
+  var ContinuousModel2 = VisualMapModel2.extend({
+    type: "visualMap.continuous",
+    /**
+     * @protected
+     */
+    defaultOption: {
+      align: "auto",
+      // 'auto', 'left', 'right', 'top', 'bottom'
+      calculable: false,
+      // This prop effect default component type determine,
+      // See echarts/component/visualMap/typeDefaulter.
+      range: null,
+      // selected range. In default case `range` is [min, max]
+      // and can auto change along with modification of min max,
+      // util use specifid a range.
+      realtime: true,
+      // Whether realtime update.
+      itemHeight: null,
+      // The length of the range control edge.
+      itemWidth: null,
+      // The length of the other side.
+      hoverLink: true,
+      // Enable hover highlight.
+      hoverLinkDataSize: null,
+      // The size of hovered data.
+      hoverLinkOnHandle: null
+      // Whether trigger hoverLink when hover handle.
+      // If not specified, follow the value of `realtime`.
+    },
+    /**
+     * @override
+     */
+    optionUpdated: function(newOption, isInit) {
+      ContinuousModel2.superApply(this, "optionUpdated", arguments);
+      this.resetExtent();
+      this.resetVisual(function(mappingOption) {
+        mappingOption.mappingMethod = "linear";
+        mappingOption.dataExtent = this.getExtent();
+      });
+      this._resetRange();
+    },
+    /**
+     * @protected
+     * @override
+     */
+    resetItemSize: function() {
+      ContinuousModel2.superApply(this, "resetItemSize", arguments);
+      var itemSize = this.itemSize;
+      this._orient === "horizontal" && itemSize.reverse();
+      (itemSize[0] == null || isNaN(itemSize[0])) && (itemSize[0] = DEFAULT_BAR_BOUND2[0]);
+      (itemSize[1] == null || isNaN(itemSize[1])) && (itemSize[1] = DEFAULT_BAR_BOUND2[1]);
+    },
+    /**
+     * @private
+     */
+    _resetRange: function() {
+      var dataExtent = this.getExtent();
+      var range2 = this.option.range;
+      if (!range2 || range2.auto) {
+        dataExtent.auto = 1;
+        this.option.range = dataExtent;
+      } else if (zrUtil2.isArray(range2)) {
+        if (range2[0] > range2[1]) {
+          range2.reverse();
+        }
+        range2[0] = Math.max(range2[0], dataExtent[0]);
+        range2[1] = Math.min(range2[1], dataExtent[1]);
+      }
+    },
+    /**
+     * @protected
+     * @override
+     */
+    completeVisualOption: function() {
+      VisualMapModel2.prototype.completeVisualOption.apply(this, arguments);
+      zrUtil2.each(this.stateList, function(state) {
+        var symbolSize = this.option.controller[state].symbolSize;
+        if (symbolSize && symbolSize[0] !== symbolSize[1]) {
+          symbolSize[0] = 0;
+        }
+      }, this);
+    },
+    /**
+     * @override
+     */
+    setSelected: function(selected) {
+      this.option.range = selected.slice();
+      this._resetRange();
+    },
+    /**
+     * @public
+     */
+    getSelected: function() {
+      var dataExtent = this.getExtent();
+      var dataInterval = numberUtil2.asc((this.get("range") || []).slice());
+      dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);
+      dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);
+      dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);
+      dataInterval[1] < dataExtent[0] && (dataInterval[1] = dataExtent[0]);
+      return dataInterval;
+    },
+    /**
+     * @override
+     */
+    getValueState: function(value) {
+      var range2 = this.option.range;
+      var dataExtent = this.getExtent();
+      return (range2[0] <= dataExtent[0] || range2[0] <= value) && (range2[1] >= dataExtent[1] || value <= range2[1]) ? "inRange" : "outOfRange";
+    },
+    /**
+     * @params {Array.<number>} range target value: range[0] <= value && value <= range[1]
+     * @return {Array.<Object>} [{seriesId, dataIndices: <Array.<number>>}, ...]
+     */
+    findTargetDataIndices: function(range2) {
+      var result2 = [];
+      this.eachTargetSeries(function(seriesModel) {
+        var dataIndices = [];
+        var data2 = seriesModel.getData();
+        data2.each(this.getDataDimension(data2), function(value, dataIndex) {
+          range2[0] <= value && value <= range2[1] && dataIndices.push(dataIndex);
+        }, this);
+        result2.push({
+          seriesId: seriesModel.id,
+          dataIndex: dataIndices
+        });
+      }, this);
+      return result2;
+    },
+    /**
+     * @implement
+     */
+    getVisualMeta: function(getColorVisual2) {
+      var oVals = getColorStopValues2(this, "outOfRange", this.getExtent());
+      var iVals = getColorStopValues2(this, "inRange", this.option.range.slice());
+      var stops = [];
+      function setStop(value, valueState) {
+        stops.push({
+          value,
+          color: getColorVisual2(value, valueState)
+        });
+      }
+      var iIdx = 0;
+      var oIdx = 0;
+      var iLen = iVals.length;
+      var oLen = oVals.length;
+      for (; oIdx < oLen && (!iVals.length || oVals[oIdx] <= iVals[0]); oIdx++) {
+        if (oVals[oIdx] < iVals[iIdx]) {
+          setStop(oVals[oIdx], "outOfRange");
+        }
+      }
+      for (var first = 1; iIdx < iLen; iIdx++, first = 0) {
+        first && stops.length && setStop(iVals[iIdx], "outOfRange");
+        setStop(iVals[iIdx], "inRange");
+      }
+      for (var first = 1; oIdx < oLen; oIdx++) {
+        if (!iVals.length || iVals[iVals.length - 1] < oVals[oIdx]) {
+          if (first) {
+            stops.length && setStop(stops[stops.length - 1].value, "outOfRange");
+            first = 0;
+          }
+          setStop(oVals[oIdx], "outOfRange");
+        }
+      }
+      var stopsLen = stops.length;
+      return {
+        stops,
+        outerColors: [stopsLen ? stops[0].color : "transparent", stopsLen ? stops[stopsLen - 1].color : "transparent"]
+      };
+    }
+  });
+  function getColorStopValues2(visualMapModel, valueState, dataExtent) {
+    if (dataExtent[0] === dataExtent[1]) {
+      return dataExtent.slice();
+    }
+    var count2 = 200;
+    var step2 = (dataExtent[1] - dataExtent[0]) / count2;
+    var value = dataExtent[0];
+    var stopValues = [];
+    for (var i2 = 0; i2 <= count2 && value < dataExtent[1]; i2++) {
+      stopValues.push(value);
+      value += step2;
+    }
+    stopValues.push(dataExtent[1]);
+    return stopValues;
+  }
+  var _default68 = ContinuousModel2;
+  ContinuousModel_1 = _default68;
+  return ContinuousModel_1;
+}
+var VisualMapView$2;
+var hasRequiredVisualMapView;
+function requireVisualMapView() {
+  if (hasRequiredVisualMapView)
+    return VisualMapView$2;
+  hasRequiredVisualMapView = 1;
+  var echarts2 = echarts$1;
+  var zrUtil2 = util$a;
+  var graphic2 = graphic$6;
+  var formatUtil2 = format$6;
+  var layout2 = layout$5;
+  var VisualMapping2 = requireVisualMapping();
+  var _default68 = echarts2.extendComponentView({
+    type: "visualMap",
+    /**
+     * @readOnly
+     * @type {Object}
+     */
+    autoPositionValues: {
+      left: 1,
+      right: 1,
+      top: 1,
+      bottom: 1
+    },
+    init: function(ecModel, api2) {
+      this.ecModel = ecModel;
+      this.api = api2;
+      this.visualMapModel;
+    },
+    /**
+     * @protected
+     */
+    render: function(visualMapModel, ecModel, api2, payload) {
+      this.visualMapModel = visualMapModel;
+      if (visualMapModel.get("show") === false) {
+        this.group.removeAll();
+        return;
+      }
+      this.doRender.apply(this, arguments);
+    },
+    /**
+     * @protected
+     */
+    renderBackground: function(group) {
+      var visualMapModel = this.visualMapModel;
+      var padding = formatUtil2.normalizeCssArray(visualMapModel.get("padding") || 0);
+      var rect = group.getBoundingRect();
+      group.add(new graphic2.Rect({
+        z2: -1,
+        // Lay background rect on the lowest layer.
+        silent: true,
+        shape: {
+          x: rect.x - padding[3],
+          y: rect.y - padding[0],
+          width: rect.width + padding[3] + padding[1],
+          height: rect.height + padding[0] + padding[2]
+        },
+        style: {
+          fill: visualMapModel.get("backgroundColor"),
+          stroke: visualMapModel.get("borderColor"),
+          lineWidth: visualMapModel.get("borderWidth")
+        }
+      }));
+    },
+    /**
+     * @protected
+     * @param {number} targetValue can be Infinity or -Infinity
+     * @param {string=} visualCluster Only can be 'color' 'opacity' 'symbol' 'symbolSize'
+     * @param {Object} [opts]
+     * @param {string=} [opts.forceState] Specify state, instead of using getValueState method.
+     * @param {string=} [opts.convertOpacityToAlpha=false] For color gradient in controller widget.
+     * @return {*} Visual value.
+     */
+    getControllerVisual: function(targetValue, visualCluster, opts2) {
+      opts2 = opts2 || {};
+      var forceState = opts2.forceState;
+      var visualMapModel = this.visualMapModel;
+      var visualObj = {};
+      if (visualCluster === "symbol") {
+        visualObj.symbol = visualMapModel.get("itemSymbol");
+      }
+      if (visualCluster === "color") {
+        var defaultColor = visualMapModel.get("contentColor");
+        visualObj.color = defaultColor;
+      }
+      function getter(key2) {
+        return visualObj[key2];
+      }
+      function setter(key2, value) {
+        visualObj[key2] = value;
+      }
+      var mappings = visualMapModel.controllerVisuals[forceState || visualMapModel.getValueState(targetValue)];
+      var visualTypes = VisualMapping2.prepareVisualTypes(mappings);
+      zrUtil2.each(visualTypes, function(type2) {
+        var visualMapping = mappings[type2];
+        if (opts2.convertOpacityToAlpha && type2 === "opacity") {
+          type2 = "colorAlpha";
+          visualMapping = mappings.__alphaForOpacity;
+        }
+        if (VisualMapping2.dependsOn(type2, visualCluster)) {
+          visualMapping && visualMapping.applyVisual(targetValue, getter, setter);
+        }
+      });
+      return visualObj[visualCluster];
+    },
+    /**
+     * @protected
+     */
+    positionGroup: function(group) {
+      var model2 = this.visualMapModel;
+      var api2 = this.api;
+      layout2.positionElement(group, model2.getBoxLayoutParams(), {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+    },
+    /**
+     * @protected
+     * @abstract
+     */
+    doRender: zrUtil2.noop
+  });
+  VisualMapView$2 = _default68;
+  return VisualMapView$2;
+}
+var helper$1 = {};
+var hasRequiredHelper;
+function requireHelper() {
+  if (hasRequiredHelper)
+    return helper$1;
+  hasRequiredHelper = 1;
+  var zrUtil2 = util$a;
+  var _layout2 = layout$5;
+  var getLayoutRect2 = _layout2.getLayoutRect;
+  function getItemAlign2(visualMapModel, api2, itemSize) {
+    var modelOption = visualMapModel.option;
+    var itemAlign = modelOption.align;
+    if (itemAlign != null && itemAlign !== "auto") {
+      return itemAlign;
+    }
+    var ecSize = {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    };
+    var realIndex = modelOption.orient === "horizontal" ? 1 : 0;
+    var paramsSet2 = [["left", "right", "width"], ["top", "bottom", "height"]];
+    var reals = paramsSet2[realIndex];
+    var fakeValue = [0, null, 10];
+    var layoutInput = {};
+    for (var i2 = 0; i2 < 3; i2++) {
+      layoutInput[paramsSet2[1 - realIndex][i2]] = fakeValue[i2];
+      layoutInput[reals[i2]] = i2 === 2 ? itemSize[0] : modelOption[reals[i2]];
+    }
+    var rParam = [["x", "width", 3], ["y", "height", 0]][realIndex];
+    var rect = getLayoutRect2(layoutInput, ecSize, modelOption.padding);
+    return reals[(rect.margin[rParam[2]] || 0) + rect[rParam[0]] + rect[rParam[1]] * 0.5 < ecSize[rParam[1]] * 0.5 ? 0 : 1];
+  }
+  function makeHighDownBatch2(batch, visualMapModel) {
+    zrUtil2.each(batch || [], function(batchItem) {
+      if (batchItem.dataIndex != null) {
+        batchItem.dataIndexInside = batchItem.dataIndex;
+        batchItem.dataIndex = null;
+      }
+      batchItem.highlightKey = "visualMap" + (visualMapModel ? visualMapModel.componentIndex : "");
+    });
+    return batch;
+  }
+  helper$1.getItemAlign = getItemAlign2;
+  helper$1.makeHighDownBatch = makeHighDownBatch2;
+  return helper$1;
+}
+var ContinuousView_1;
+var hasRequiredContinuousView;
+function requireContinuousView() {
+  if (hasRequiredContinuousView)
+    return ContinuousView_1;
+  hasRequiredContinuousView = 1;
+  var zrUtil2 = util$a;
+  var LinearGradient2 = LinearGradient_1;
+  var eventTool2 = event$1;
+  var VisualMapView2 = requireVisualMapView();
+  var graphic2 = graphic$6;
+  var numberUtil2 = requireNumber();
+  var sliderMove2 = requireSliderMove();
+  var helper2 = requireHelper();
+  var modelUtil2 = model;
+  var linearMap2 = numberUtil2.linearMap;
+  var each2 = zrUtil2.each;
+  var mathMin2 = Math.min;
+  var mathMax2 = Math.max;
+  var HOVER_LINK_SIZE2 = 12;
+  var HOVER_LINK_OUT2 = 6;
+  var ContinuousView2 = VisualMapView2.extend({
+    type: "visualMap.continuous",
+    /**
+     * @override
+     */
+    init: function() {
+      ContinuousView2.superApply(this, "init", arguments);
+      this._shapes = {};
+      this._dataInterval = [];
+      this._handleEnds = [];
+      this._orient;
+      this._useHandle;
+      this._hoverLinkDataIndices = [];
+      this._dragging;
+      this._hovering;
+    },
+    /**
+     * @protected
+     * @override
+     */
+    doRender: function(visualMapModel, ecModel, api2, payload) {
+      if (!payload || payload.type !== "selectDataRange" || payload.from !== this.uid) {
+        this._buildView();
+      }
+    },
+    /**
+     * @private
+     */
+    _buildView: function() {
+      this.group.removeAll();
+      var visualMapModel = this.visualMapModel;
+      var thisGroup = this.group;
+      this._orient = visualMapModel.get("orient");
+      this._useHandle = visualMapModel.get("calculable");
+      this._resetInterval();
+      this._renderBar(thisGroup);
+      var dataRangeText = visualMapModel.get("text");
+      this._renderEndsText(thisGroup, dataRangeText, 0);
+      this._renderEndsText(thisGroup, dataRangeText, 1);
+      this._updateView(true);
+      this.renderBackground(thisGroup);
+      this._updateView();
+      this._enableHoverLinkToSeries();
+      this._enableHoverLinkFromSeries();
+      this.positionGroup(thisGroup);
+    },
+    /**
+     * @private
+     */
+    _renderEndsText: function(group, dataRangeText, endsIndex) {
+      if (!dataRangeText) {
+        return;
+      }
+      var text2 = dataRangeText[1 - endsIndex];
+      text2 = text2 != null ? text2 + "" : "";
+      var visualMapModel = this.visualMapModel;
+      var textGap = visualMapModel.get("textGap");
+      var itemSize = visualMapModel.itemSize;
+      var barGroup = this._shapes.barGroup;
+      var position2 = this._applyTransform([itemSize[0] / 2, endsIndex === 0 ? -textGap : itemSize[1] + textGap], barGroup);
+      var align = this._applyTransform(endsIndex === 0 ? "bottom" : "top", barGroup);
+      var orient = this._orient;
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      this.group.add(new graphic2.Text({
+        style: {
+          x: position2[0],
+          y: position2[1],
+          textVerticalAlign: orient === "horizontal" ? "middle" : align,
+          textAlign: orient === "horizontal" ? align : "center",
+          text: text2,
+          textFont: textStyleModel.getFont(),
+          textFill: textStyleModel.getTextColor()
+        }
+      }));
+    },
+    /**
+     * @private
+     */
+    _renderBar: function(targetGroup) {
+      var visualMapModel = this.visualMapModel;
+      var shapes = this._shapes;
+      var itemSize = visualMapModel.itemSize;
+      var orient = this._orient;
+      var useHandle = this._useHandle;
+      var itemAlign = helper2.getItemAlign(visualMapModel, this.api, itemSize);
+      var barGroup = shapes.barGroup = this._createBarGroup(itemAlign);
+      barGroup.add(shapes.outOfRange = createPolygon2());
+      barGroup.add(shapes.inRange = createPolygon2(null, useHandle ? getCursor2(this._orient) : null, zrUtil2.bind(this._dragHandle, this, "all", false), zrUtil2.bind(this._dragHandle, this, "all", true)));
+      var textRect = visualMapModel.textStyleModel.getTextRect("国");
+      var textSize = mathMax2(textRect.width, textRect.height);
+      if (useHandle) {
+        shapes.handleThumbs = [];
+        shapes.handleLabels = [];
+        shapes.handleLabelPoints = [];
+        this._createHandle(barGroup, 0, itemSize, textSize, orient, itemAlign);
+        this._createHandle(barGroup, 1, itemSize, textSize, orient, itemAlign);
+      }
+      this._createIndicator(barGroup, itemSize, textSize, orient);
+      targetGroup.add(barGroup);
+    },
+    /**
+     * @private
+     */
+    _createHandle: function(barGroup, handleIndex, itemSize, textSize, orient) {
+      var onDrift = zrUtil2.bind(this._dragHandle, this, handleIndex, false);
+      var onDragEnd = zrUtil2.bind(this._dragHandle, this, handleIndex, true);
+      var handleThumb = createPolygon2(createHandlePoints(handleIndex, textSize), getCursor2(this._orient), onDrift, onDragEnd);
+      handleThumb.position[0] = itemSize[0];
+      barGroup.add(handleThumb);
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      var handleLabel = new graphic2.Text({
+        draggable: true,
+        drift: onDrift,
+        onmousemove: function(e2) {
+          eventTool2.stop(e2.event);
+        },
+        ondragend: onDragEnd,
+        style: {
+          x: 0,
+          y: 0,
+          text: "",
+          textFont: textStyleModel.getFont(),
+          textFill: textStyleModel.getTextColor()
+        }
+      });
+      this.group.add(handleLabel);
+      var handleLabelPoint = [orient === "horizontal" ? textSize / 2 : textSize * 1.5, orient === "horizontal" ? handleIndex === 0 ? -(textSize * 1.5) : textSize * 1.5 : handleIndex === 0 ? -textSize / 2 : textSize / 2];
+      var shapes = this._shapes;
+      shapes.handleThumbs[handleIndex] = handleThumb;
+      shapes.handleLabelPoints[handleIndex] = handleLabelPoint;
+      shapes.handleLabels[handleIndex] = handleLabel;
+    },
+    /**
+     * @private
+     */
+    _createIndicator: function(barGroup, itemSize, textSize, orient) {
+      var indicator = createPolygon2([[0, 0]], "move");
+      indicator.position[0] = itemSize[0];
+      indicator.attr({
+        invisible: true,
+        silent: true
+      });
+      barGroup.add(indicator);
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      var indicatorLabel = new graphic2.Text({
+        silent: true,
+        invisible: true,
+        style: {
+          x: 0,
+          y: 0,
+          text: "",
+          textFont: textStyleModel.getFont(),
+          textFill: textStyleModel.getTextColor()
+        }
+      });
+      this.group.add(indicatorLabel);
+      var indicatorLabelPoint = [orient === "horizontal" ? textSize / 2 : HOVER_LINK_OUT2 + 3, 0];
+      var shapes = this._shapes;
+      shapes.indicator = indicator;
+      shapes.indicatorLabel = indicatorLabel;
+      shapes.indicatorLabelPoint = indicatorLabelPoint;
+    },
+    /**
+     * @private
+     */
+    _dragHandle: function(handleIndex, isEnd, dx, dy) {
+      if (!this._useHandle) {
+        return;
+      }
+      this._dragging = !isEnd;
+      if (!isEnd) {
+        var vertex = this._applyTransform([dx, dy], this._shapes.barGroup, true);
+        this._updateInterval(handleIndex, vertex[1]);
+        this._updateView();
+      }
+      if (isEnd === !this.visualMapModel.get("realtime")) {
+        this.api.dispatchAction({
+          type: "selectDataRange",
+          from: this.uid,
+          visualMapId: this.visualMapModel.id,
+          selected: this._dataInterval.slice()
+        });
+      }
+      if (isEnd) {
+        !this._hovering && this._clearHoverLinkToSeries();
+      } else if (useHoverLinkOnHandle2(this.visualMapModel)) {
+        this._doHoverLinkToSeries(this._handleEnds[handleIndex], false);
+      }
+    },
+    /**
+     * @private
+     */
+    _resetInterval: function() {
+      var visualMapModel = this.visualMapModel;
+      var dataInterval = this._dataInterval = visualMapModel.getSelected();
+      var dataExtent = visualMapModel.getExtent();
+      var sizeExtent = [0, visualMapModel.itemSize[1]];
+      this._handleEnds = [linearMap2(dataInterval[0], dataExtent, sizeExtent, true), linearMap2(dataInterval[1], dataExtent, sizeExtent, true)];
+    },
+    /**
+     * @private
+     * @param {(number|string)} handleIndex 0 or 1 or 'all'
+     * @param {number} dx
+     * @param {number} dy
+     */
+    _updateInterval: function(handleIndex, delta) {
+      delta = delta || 0;
+      var visualMapModel = this.visualMapModel;
+      var handleEnds = this._handleEnds;
+      var sizeExtent = [0, visualMapModel.itemSize[1]];
+      sliderMove2(
+        delta,
+        handleEnds,
+        sizeExtent,
+        handleIndex,
+        // cross is forbiden
+        0
+      );
+      var dataExtent = visualMapModel.getExtent();
+      this._dataInterval = [linearMap2(handleEnds[0], sizeExtent, dataExtent, true), linearMap2(handleEnds[1], sizeExtent, dataExtent, true)];
+    },
+    /**
+     * @private
+     */
+    _updateView: function(forSketch) {
+      var visualMapModel = this.visualMapModel;
+      var dataExtent = visualMapModel.getExtent();
+      var shapes = this._shapes;
+      var outOfRangeHandleEnds = [0, visualMapModel.itemSize[1]];
+      var inRangeHandleEnds = forSketch ? outOfRangeHandleEnds : this._handleEnds;
+      var visualInRange = this._createBarVisual(this._dataInterval, dataExtent, inRangeHandleEnds, "inRange");
+      var visualOutOfRange = this._createBarVisual(dataExtent, dataExtent, outOfRangeHandleEnds, "outOfRange");
+      shapes.inRange.setStyle({
+        fill: visualInRange.barColor,
+        opacity: visualInRange.opacity
+      }).setShape("points", visualInRange.barPoints);
+      shapes.outOfRange.setStyle({
+        fill: visualOutOfRange.barColor,
+        opacity: visualOutOfRange.opacity
+      }).setShape("points", visualOutOfRange.barPoints);
+      this._updateHandle(inRangeHandleEnds, visualInRange);
+    },
+    /**
+     * @private
+     */
+    _createBarVisual: function(dataInterval, dataExtent, handleEnds, forceState) {
+      var opts2 = {
+        forceState,
+        convertOpacityToAlpha: true
+      };
+      var colorStops = this._makeColorGradient(dataInterval, opts2);
+      var symbolSizes = [this.getControllerVisual(dataInterval[0], "symbolSize", opts2), this.getControllerVisual(dataInterval[1], "symbolSize", opts2)];
+      var barPoints = this._createBarPoints(handleEnds, symbolSizes);
+      return {
+        barColor: new LinearGradient2(0, 0, 0, 1, colorStops),
+        barPoints,
+        handlesColor: [colorStops[0].color, colorStops[colorStops.length - 1].color]
+      };
+    },
+    /**
+     * @private
+     */
+    _makeColorGradient: function(dataInterval, opts2) {
+      var sampleNumber = 100;
+      var colorStops = [];
+      var step2 = (dataInterval[1] - dataInterval[0]) / sampleNumber;
+      colorStops.push({
+        color: this.getControllerVisual(dataInterval[0], "color", opts2),
+        offset: 0
+      });
+      for (var i2 = 1; i2 < sampleNumber; i2++) {
+        var currValue = dataInterval[0] + step2 * i2;
+        if (currValue > dataInterval[1]) {
+          break;
+        }
+        colorStops.push({
+          color: this.getControllerVisual(currValue, "color", opts2),
+          offset: i2 / sampleNumber
+        });
+      }
+      colorStops.push({
+        color: this.getControllerVisual(dataInterval[1], "color", opts2),
+        offset: 1
+      });
+      return colorStops;
+    },
+    /**
+     * @private
+     */
+    _createBarPoints: function(handleEnds, symbolSizes) {
+      var itemSize = this.visualMapModel.itemSize;
+      return [[itemSize[0] - symbolSizes[0], handleEnds[0]], [itemSize[0], handleEnds[0]], [itemSize[0], handleEnds[1]], [itemSize[0] - symbolSizes[1], handleEnds[1]]];
+    },
+    /**
+     * @private
+     */
+    _createBarGroup: function(itemAlign) {
+      var orient = this._orient;
+      var inverse = this.visualMapModel.get("inverse");
+      return new graphic2.Group(orient === "horizontal" && !inverse ? {
+        scale: itemAlign === "bottom" ? [1, 1] : [-1, 1],
+        rotation: Math.PI / 2
+      } : orient === "horizontal" && inverse ? {
+        scale: itemAlign === "bottom" ? [-1, 1] : [1, 1],
+        rotation: -Math.PI / 2
+      } : orient === "vertical" && !inverse ? {
+        scale: itemAlign === "left" ? [1, -1] : [-1, -1]
+      } : {
+        scale: itemAlign === "left" ? [1, 1] : [-1, 1]
+      });
+    },
+    /**
+     * @private
+     */
+    _updateHandle: function(handleEnds, visualInRange) {
+      if (!this._useHandle) {
+        return;
+      }
+      var shapes = this._shapes;
+      var visualMapModel = this.visualMapModel;
+      var handleThumbs = shapes.handleThumbs;
+      var handleLabels = shapes.handleLabels;
+      each2([0, 1], function(handleIndex) {
+        var handleThumb = handleThumbs[handleIndex];
+        handleThumb.setStyle("fill", visualInRange.handlesColor[handleIndex]);
+        handleThumb.position[1] = handleEnds[handleIndex];
+        var textPoint = graphic2.applyTransform(shapes.handleLabelPoints[handleIndex], graphic2.getTransform(handleThumb, this.group));
+        handleLabels[handleIndex].setStyle({
+          x: textPoint[0],
+          y: textPoint[1],
+          text: visualMapModel.formatValueText(this._dataInterval[handleIndex]),
+          textVerticalAlign: "middle",
+          textAlign: this._applyTransform(this._orient === "horizontal" ? handleIndex === 0 ? "bottom" : "top" : "left", shapes.barGroup)
+        });
+      }, this);
+    },
+    /**
+     * @private
+     * @param {number} cursorValue
+     * @param {number} textValue
+     * @param {string} [rangeSymbol]
+     * @param {number} [halfHoverLinkSize]
+     */
+    _showIndicator: function(cursorValue, textValue, rangeSymbol, halfHoverLinkSize) {
+      var visualMapModel = this.visualMapModel;
+      var dataExtent = visualMapModel.getExtent();
+      var itemSize = visualMapModel.itemSize;
+      var sizeExtent = [0, itemSize[1]];
+      var pos = linearMap2(cursorValue, dataExtent, sizeExtent, true);
+      var shapes = this._shapes;
+      var indicator = shapes.indicator;
+      if (!indicator) {
+        return;
+      }
+      indicator.position[1] = pos;
+      indicator.attr("invisible", false);
+      indicator.setShape("points", createIndicatorPoints(!!rangeSymbol, halfHoverLinkSize, pos, itemSize[1]));
+      var opts2 = {
+        convertOpacityToAlpha: true
+      };
+      var color2 = this.getControllerVisual(cursorValue, "color", opts2);
+      indicator.setStyle("fill", color2);
+      var textPoint = graphic2.applyTransform(shapes.indicatorLabelPoint, graphic2.getTransform(indicator, this.group));
+      var indicatorLabel = shapes.indicatorLabel;
+      indicatorLabel.attr("invisible", false);
+      var align = this._applyTransform("left", shapes.barGroup);
+      var orient = this._orient;
+      indicatorLabel.setStyle({
+        text: (rangeSymbol ? rangeSymbol : "") + visualMapModel.formatValueText(textValue),
+        textVerticalAlign: orient === "horizontal" ? align : "middle",
+        textAlign: orient === "horizontal" ? "center" : align,
+        x: textPoint[0],
+        y: textPoint[1]
+      });
+    },
+    /**
+     * @private
+     */
+    _enableHoverLinkToSeries: function() {
+      var self2 = this;
+      this._shapes.barGroup.on("mousemove", function(e2) {
+        self2._hovering = true;
+        if (!self2._dragging) {
+          var itemSize = self2.visualMapModel.itemSize;
+          var pos = self2._applyTransform([e2.offsetX, e2.offsetY], self2._shapes.barGroup, true, true);
+          pos[1] = mathMin2(mathMax2(0, pos[1]), itemSize[1]);
+          self2._doHoverLinkToSeries(pos[1], 0 <= pos[0] && pos[0] <= itemSize[0]);
+        }
+      }).on("mouseout", function() {
+        self2._hovering = false;
+        !self2._dragging && self2._clearHoverLinkToSeries();
+      });
+    },
+    /**
+     * @private
+     */
+    _enableHoverLinkFromSeries: function() {
+      var zr = this.api.getZr();
+      if (this.visualMapModel.option.hoverLink) {
+        zr.on("mouseover", this._hoverLinkFromSeriesMouseOver, this);
+        zr.on("mouseout", this._hideIndicator, this);
+      } else {
+        this._clearHoverLinkFromSeries();
+      }
+    },
+    /**
+     * @private
+     */
+    _doHoverLinkToSeries: function(cursorPos, hoverOnBar) {
+      var visualMapModel = this.visualMapModel;
+      var itemSize = visualMapModel.itemSize;
+      if (!visualMapModel.option.hoverLink) {
+        return;
+      }
+      var sizeExtent = [0, itemSize[1]];
+      var dataExtent = visualMapModel.getExtent();
+      cursorPos = mathMin2(mathMax2(sizeExtent[0], cursorPos), sizeExtent[1]);
+      var halfHoverLinkSize = getHalfHoverLinkSize2(visualMapModel, dataExtent, sizeExtent);
+      var hoverRange = [cursorPos - halfHoverLinkSize, cursorPos + halfHoverLinkSize];
+      var cursorValue = linearMap2(cursorPos, sizeExtent, dataExtent, true);
+      var valueRange = [linearMap2(hoverRange[0], sizeExtent, dataExtent, true), linearMap2(hoverRange[1], sizeExtent, dataExtent, true)];
+      hoverRange[0] < sizeExtent[0] && (valueRange[0] = -Infinity);
+      hoverRange[1] > sizeExtent[1] && (valueRange[1] = Infinity);
+      if (hoverOnBar) {
+        if (valueRange[0] === -Infinity) {
+          this._showIndicator(cursorValue, valueRange[1], "< ", halfHoverLinkSize);
+        } else if (valueRange[1] === Infinity) {
+          this._showIndicator(cursorValue, valueRange[0], "> ", halfHoverLinkSize);
+        } else {
+          this._showIndicator(cursorValue, cursorValue, "≈ ", halfHoverLinkSize);
+        }
+      }
+      var oldBatch = this._hoverLinkDataIndices;
+      var newBatch = [];
+      if (hoverOnBar || useHoverLinkOnHandle2(visualMapModel)) {
+        newBatch = this._hoverLinkDataIndices = visualMapModel.findTargetDataIndices(valueRange);
+      }
+      var resultBatches = modelUtil2.compressBatches(oldBatch, newBatch);
+      this._dispatchHighDown("downplay", helper2.makeHighDownBatch(resultBatches[0], visualMapModel));
+      this._dispatchHighDown("highlight", helper2.makeHighDownBatch(resultBatches[1], visualMapModel));
+    },
+    /**
+     * @private
+     */
+    _hoverLinkFromSeriesMouseOver: function(e2) {
+      var el = e2.target;
+      var visualMapModel = this.visualMapModel;
+      if (!el || el.dataIndex == null) {
+        return;
+      }
+      var dataModel = this.ecModel.getSeriesByIndex(el.seriesIndex);
+      if (!visualMapModel.isTargetSeries(dataModel)) {
+        return;
+      }
+      var data2 = dataModel.getData(el.dataType);
+      var value = data2.get(visualMapModel.getDataDimension(data2), el.dataIndex, true);
+      if (!isNaN(value)) {
+        this._showIndicator(value, value);
+      }
+    },
+    /**
+     * @private
+     */
+    _hideIndicator: function() {
+      var shapes = this._shapes;
+      shapes.indicator && shapes.indicator.attr("invisible", true);
+      shapes.indicatorLabel && shapes.indicatorLabel.attr("invisible", true);
+    },
+    /**
+     * @private
+     */
+    _clearHoverLinkToSeries: function() {
+      this._hideIndicator();
+      var indices = this._hoverLinkDataIndices;
+      this._dispatchHighDown("downplay", helper2.makeHighDownBatch(indices, this.visualMapModel));
+      indices.length = 0;
+    },
+    /**
+     * @private
+     */
+    _clearHoverLinkFromSeries: function() {
+      this._hideIndicator();
+      var zr = this.api.getZr();
+      zr.off("mouseover", this._hoverLinkFromSeriesMouseOver);
+      zr.off("mouseout", this._hideIndicator);
+    },
+    /**
+     * @private
+     */
+    _applyTransform: function(vertex, element, inverse, global2) {
+      var transform3 = graphic2.getTransform(element, global2 ? null : this.group);
+      return graphic2[zrUtil2.isArray(vertex) ? "applyTransform" : "transformDirection"](vertex, transform3, inverse);
+    },
+    /**
+     * @private
+     */
+    _dispatchHighDown: function(type2, batch) {
+      batch && batch.length && this.api.dispatchAction({
+        type: type2,
+        batch
+      });
+    },
+    /**
+     * @override
+     */
+    dispose: function() {
+      this._clearHoverLinkFromSeries();
+      this._clearHoverLinkToSeries();
+    },
+    /**
+     * @override
+     */
+    remove: function() {
+      this._clearHoverLinkFromSeries();
+      this._clearHoverLinkToSeries();
+    }
+  });
+  function createPolygon2(points2, cursor, onDrift, onDragEnd) {
+    return new graphic2.Polygon({
+      shape: {
+        points: points2
+      },
+      draggable: !!onDrift,
+      cursor,
+      drift: onDrift,
+      onmousemove: function(e2) {
+        eventTool2.stop(e2.event);
+      },
+      ondragend: onDragEnd
+    });
+  }
+  function createHandlePoints(handleIndex, textSize) {
+    return handleIndex === 0 ? [[0, 0], [textSize, 0], [textSize, -textSize]] : [[0, 0], [textSize, 0], [textSize, textSize]];
+  }
+  function createIndicatorPoints(isRange, halfHoverLinkSize, pos, extentMax) {
+    return isRange ? [
+      // indicate range
+      [0, -mathMin2(halfHoverLinkSize, mathMax2(pos, 0))],
+      [HOVER_LINK_OUT2, 0],
+      [0, mathMin2(halfHoverLinkSize, mathMax2(extentMax - pos, 0))]
+    ] : [
+      // indicate single value
+      [0, 0],
+      [5, -5],
+      [5, 5]
+    ];
+  }
+  function getHalfHoverLinkSize2(visualMapModel, dataExtent, sizeExtent) {
+    var halfHoverLinkSize = HOVER_LINK_SIZE2 / 2;
+    var hoverLinkDataSize = visualMapModel.get("hoverLinkDataSize");
+    if (hoverLinkDataSize) {
+      halfHoverLinkSize = linearMap2(hoverLinkDataSize, dataExtent, sizeExtent, true) / 2;
+    }
+    return halfHoverLinkSize;
+  }
+  function useHoverLinkOnHandle2(visualMapModel) {
+    var hoverLinkOnHandle = visualMapModel.get("hoverLinkOnHandle");
+    return !!(hoverLinkOnHandle == null ? visualMapModel.get("realtime") : hoverLinkOnHandle);
+  }
+  function getCursor2(orient) {
+    return orient === "vertical" ? "ns-resize" : "ew-resize";
+  }
+  var _default68 = ContinuousView2;
+  ContinuousView_1 = _default68;
+  return ContinuousView_1;
+}
+var visualMapAction = {};
+var hasRequiredVisualMapAction;
+function requireVisualMapAction() {
+  if (hasRequiredVisualMapAction)
+    return visualMapAction;
+  hasRequiredVisualMapAction = 1;
+  var echarts2 = echarts$1;
+  var actionInfo2 = {
+    type: "selectDataRange",
+    event: "dataRangeSelected",
+    // FIXME use updateView appears wrong
+    update: "update"
+  };
+  echarts2.registerAction(actionInfo2, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "visualMap",
+      query: payload
+    }, function(model2) {
+      model2.setSelected(payload.selected);
+    });
+  });
+  return visualMapAction;
+}
+var hasRequiredVisualMapContinuous;
+function requireVisualMapContinuous() {
+  if (hasRequiredVisualMapContinuous)
+    return visualMapContinuous;
+  hasRequiredVisualMapContinuous = 1;
+  var echarts2 = echarts$1;
+  var preprocessor2 = requirePreprocessor();
+  requireTypeDefaulter();
+  requireVisualEncoding();
+  requireContinuousModel();
+  requireContinuousView();
+  requireVisualMapAction();
+  echarts2.registerPreprocessor(preprocessor2);
+  return visualMapContinuous;
+}
+var visualMapPiecewise = {};
+var PiecewiseModel_1;
+var hasRequiredPiecewiseModel;
+function requirePiecewiseModel() {
+  if (hasRequiredPiecewiseModel)
+    return PiecewiseModel_1;
+  hasRequiredPiecewiseModel = 1;
+  var zrUtil2 = util$a;
+  var VisualMapModel2 = requireVisualMapModel();
+  var VisualMapping2 = requireVisualMapping();
+  var visualDefault2 = requireVisualDefault();
+  var _number2 = requireNumber();
+  var reformIntervals2 = _number2.reformIntervals;
+  var PiecewiseModel2 = VisualMapModel2.extend({
+    type: "visualMap.piecewise",
+    /**
+     * Order Rule:
+     *
+     * option.categories / option.pieces / option.text / option.selected:
+     *     If !option.inverse,
+     *     Order when vertical: ['top', ..., 'bottom'].
+     *     Order when horizontal: ['left', ..., 'right'].
+     *     If option.inverse, the meaning of
+     *     the order should be reversed.
+     *
+     * this._pieceList:
+     *     The order is always [low, ..., high].
+     *
+     * Mapping from location to low-high:
+     *     If !option.inverse
+     *     When vertical, top is high.
+     *     When horizontal, right is high.
+     *     If option.inverse, reverse.
+     */
+    /**
+     * @protected
+     */
+    defaultOption: {
+      selected: null,
+      // Object. If not specified, means selected.
+      // When pieces and splitNumber: {'0': true, '5': true}
+      // When categories: {'cate1': false, 'cate3': true}
+      // When selected === false, means all unselected.
+      minOpen: false,
+      // Whether include values that smaller than `min`.
+      maxOpen: false,
+      // Whether include values that bigger than `max`.
+      align: "auto",
+      // 'auto', 'left', 'right'
+      itemWidth: 20,
+      // When put the controller vertically, it is the length of
+      // horizontal side of each item. Otherwise, vertical side.
+      itemHeight: 14,
+      // When put the controller vertically, it is the length of
+      // vertical side of each item. Otherwise, horizontal side.
+      itemSymbol: "roundRect",
+      pieceList: null,
+      // Each item is Object, with some of those attrs:
+      // {min, max, lt, gt, lte, gte, value,
+      // color, colorSaturation, colorAlpha, opacity,
+      // symbol, symbolSize}, which customize the range or visual
+      // coding of the certain piece. Besides, see "Order Rule".
+      categories: null,
+      // category names, like: ['some1', 'some2', 'some3'].
+      // Attr min/max are ignored when categories set. See "Order Rule"
+      splitNumber: 5,
+      // If set to 5, auto split five pieces equally.
+      // If set to 0 and component type not set, component type will be
+      // determined as "continuous". (It is less reasonable but for ec2
+      // compatibility, see echarts/component/visualMap/typeDefaulter)
+      selectedMode: "multiple",
+      // Can be 'multiple' or 'single'.
+      itemGap: 10,
+      // The gap between two items, in px.
+      hoverLink: true,
+      // Enable hover highlight.
+      showLabel: null
+      // By default, when text is used, label will hide (the logic
+      // is remained for compatibility reason)
+    },
+    /**
+     * @override
+     */
+    optionUpdated: function(newOption, isInit) {
+      PiecewiseModel2.superApply(this, "optionUpdated", arguments);
+      this._pieceList = [];
+      this.resetExtent();
+      var mode = this._mode = this._determineMode();
+      resetMethods2[this._mode].call(this);
+      this._resetSelected(newOption, isInit);
+      var categories = this.option.categories;
+      this.resetVisual(function(mappingOption, state) {
+        if (mode === "categories") {
+          mappingOption.mappingMethod = "category";
+          mappingOption.categories = zrUtil2.clone(categories);
+        } else {
+          mappingOption.dataExtent = this.getExtent();
+          mappingOption.mappingMethod = "piecewise";
+          mappingOption.pieceList = zrUtil2.map(this._pieceList, function(piece) {
+            var piece = zrUtil2.clone(piece);
+            if (state !== "inRange") {
+              piece.visual = null;
+            }
+            return piece;
+          });
+        }
+      });
+    },
+    /**
+     * @protected
+     * @override
+     */
+    completeVisualOption: function() {
+      var option = this.option;
+      var visualTypesInPieces = {};
+      var visualTypes = VisualMapping2.listVisualTypes();
+      var isCategory2 = this.isCategory();
+      zrUtil2.each(option.pieces, function(piece) {
+        zrUtil2.each(visualTypes, function(visualType) {
+          if (piece.hasOwnProperty(visualType)) {
+            visualTypesInPieces[visualType] = 1;
+          }
+        });
+      });
+      zrUtil2.each(visualTypesInPieces, function(v4, visualType) {
+        var exists = 0;
+        zrUtil2.each(this.stateList, function(state) {
+          exists |= has2(option, state, visualType) || has2(option.target, state, visualType);
+        }, this);
+        !exists && zrUtil2.each(this.stateList, function(state) {
+          (option[state] || (option[state] = {}))[visualType] = visualDefault2.get(visualType, state === "inRange" ? "active" : "inactive", isCategory2);
+        });
+      }, this);
+      function has2(obj2, state, visualType) {
+        return obj2 && obj2[state] && (zrUtil2.isObject(obj2[state]) ? obj2[state].hasOwnProperty(visualType) : obj2[state] === visualType);
+      }
+      VisualMapModel2.prototype.completeVisualOption.apply(this, arguments);
+    },
+    _resetSelected: function(newOption, isInit) {
+      var thisOption = this.option;
+      var pieceList = this._pieceList;
+      var selected = (isInit ? thisOption : newOption).selected || {};
+      thisOption.selected = selected;
+      zrUtil2.each(pieceList, function(piece, index3) {
+        var key2 = this.getSelectedMapKey(piece);
+        if (!selected.hasOwnProperty(key2)) {
+          selected[key2] = true;
+        }
+      }, this);
+      if (thisOption.selectedMode === "single") {
+        var hasSel = false;
+        zrUtil2.each(pieceList, function(piece, index3) {
+          var key2 = this.getSelectedMapKey(piece);
+          if (selected[key2]) {
+            hasSel ? selected[key2] = false : hasSel = true;
+          }
+        }, this);
+      }
+    },
+    /**
+     * @public
+     */
+    getSelectedMapKey: function(piece) {
+      return this._mode === "categories" ? piece.value + "" : piece.index + "";
+    },
+    /**
+     * @public
+     */
+    getPieceList: function() {
+      return this._pieceList;
+    },
+    /**
+     * @private
+     * @return {string}
+     */
+    _determineMode: function() {
+      var option = this.option;
+      return option.pieces && option.pieces.length > 0 ? "pieces" : this.option.categories ? "categories" : "splitNumber";
+    },
+    /**
+     * @public
+     * @override
+     */
+    setSelected: function(selected) {
+      this.option.selected = zrUtil2.clone(selected);
+    },
+    /**
+     * @public
+     * @override
+     */
+    getValueState: function(value) {
+      var index3 = VisualMapping2.findPieceIndex(value, this._pieceList);
+      return index3 != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index3])] ? "inRange" : "outOfRange" : "outOfRange";
+    },
+    /**
+     * @public
+     * @params {number} pieceIndex piece index in visualMapModel.getPieceList()
+     * @return {Array.<Object>} [{seriesId, dataIndex: <Array.<number>>}, ...]
+     */
+    findTargetDataIndices: function(pieceIndex) {
+      var result2 = [];
+      this.eachTargetSeries(function(seriesModel) {
+        var dataIndices = [];
+        var data2 = seriesModel.getData();
+        data2.each(this.getDataDimension(data2), function(value, dataIndex) {
+          var pIdx = VisualMapping2.findPieceIndex(value, this._pieceList);
+          pIdx === pieceIndex && dataIndices.push(dataIndex);
+        }, this);
+        result2.push({
+          seriesId: seriesModel.id,
+          dataIndex: dataIndices
+        });
+      }, this);
+      return result2;
+    },
+    /**
+     * @private
+     * @param {Object} piece piece.value or piece.interval is required.
+     * @return {number} Can be Infinity or -Infinity
+     */
+    getRepresentValue: function(piece) {
+      var representValue;
+      if (this.isCategory()) {
+        representValue = piece.value;
+      } else {
+        if (piece.value != null) {
+          representValue = piece.value;
+        } else {
+          var pieceInterval = piece.interval || [];
+          representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;
+        }
+      }
+      return representValue;
+    },
+    getVisualMeta: function(getColorVisual2) {
+      if (this.isCategory()) {
+        return;
+      }
+      var stops = [];
+      var outerColors = [];
+      var visualMapModel = this;
+      function setStop(interval, valueState) {
+        var representValue = visualMapModel.getRepresentValue({
+          interval
+        });
+        if (!valueState) {
+          valueState = visualMapModel.getValueState(representValue);
+        }
+        var color2 = getColorVisual2(representValue, valueState);
+        if (interval[0] === -Infinity) {
+          outerColors[0] = color2;
+        } else if (interval[1] === Infinity) {
+          outerColors[1] = color2;
+        } else {
+          stops.push({
+            value: interval[0],
+            color: color2
+          }, {
+            value: interval[1],
+            color: color2
+          });
+        }
+      }
+      var pieceList = this._pieceList.slice();
+      if (!pieceList.length) {
+        pieceList.push({
+          interval: [-Infinity, Infinity]
+        });
+      } else {
+        var edge = pieceList[0].interval[0];
+        edge !== -Infinity && pieceList.unshift({
+          interval: [-Infinity, edge]
+        });
+        edge = pieceList[pieceList.length - 1].interval[1];
+        edge !== Infinity && pieceList.push({
+          interval: [edge, Infinity]
+        });
+      }
+      var curr = -Infinity;
+      zrUtil2.each(pieceList, function(piece) {
+        var interval = piece.interval;
+        if (interval) {
+          interval[0] > curr && setStop([curr, interval[0]], "outOfRange");
+          setStop(interval.slice());
+          curr = interval[1];
+        }
+      }, this);
+      return {
+        stops,
+        outerColors
+      };
+    }
+  });
+  var resetMethods2 = {
+    splitNumber: function() {
+      var thisOption = this.option;
+      var pieceList = this._pieceList;
+      var precision = Math.min(thisOption.precision, 20);
+      var dataExtent = this.getExtent();
+      var splitNumber = thisOption.splitNumber;
+      splitNumber = Math.max(parseInt(splitNumber, 10), 1);
+      thisOption.splitNumber = splitNumber;
+      var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber;
+      while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {
+        precision++;
+      }
+      thisOption.precision = precision;
+      splitStep = +splitStep.toFixed(precision);
+      if (thisOption.minOpen) {
+        pieceList.push({
+          interval: [-Infinity, dataExtent[0]],
+          close: [0, 0]
+        });
+      }
+      for (var index3 = 0, curr = dataExtent[0]; index3 < splitNumber; curr += splitStep, index3++) {
+        var max3 = index3 === splitNumber - 1 ? dataExtent[1] : curr + splitStep;
+        pieceList.push({
+          interval: [curr, max3],
+          close: [1, 1]
+        });
+      }
+      if (thisOption.maxOpen) {
+        pieceList.push({
+          interval: [dataExtent[1], Infinity],
+          close: [0, 0]
+        });
+      }
+      reformIntervals2(pieceList);
+      zrUtil2.each(pieceList, function(piece, index4) {
+        piece.index = index4;
+        piece.text = this.formatValueText(piece.interval);
+      }, this);
+    },
+    categories: function() {
+      var thisOption = this.option;
+      zrUtil2.each(thisOption.categories, function(cate) {
+        this._pieceList.push({
+          text: this.formatValueText(cate, true),
+          value: cate
+        });
+      }, this);
+      normalizeReverse2(thisOption, this._pieceList);
+    },
+    pieces: function() {
+      var thisOption = this.option;
+      var pieceList = this._pieceList;
+      zrUtil2.each(thisOption.pieces, function(pieceListItem, index3) {
+        if (!zrUtil2.isObject(pieceListItem)) {
+          pieceListItem = {
+            value: pieceListItem
+          };
+        }
+        var item = {
+          text: "",
+          index: index3
+        };
+        if (pieceListItem.label != null) {
+          item.text = pieceListItem.label;
+        }
+        if (pieceListItem.hasOwnProperty("value")) {
+          var value = item.value = pieceListItem.value;
+          item.interval = [value, value];
+          item.close = [1, 1];
+        } else {
+          var interval = item.interval = [];
+          var close2 = item.close = [0, 0];
+          var closeList = [1, 0, 1];
+          var infinityList = [-Infinity, Infinity];
+          var useMinMax = [];
+          for (var lg = 0; lg < 2; lg++) {
+            var names = [["gte", "gt", "min"], ["lte", "lt", "max"]][lg];
+            for (var i2 = 0; i2 < 3 && interval[lg] == null; i2++) {
+              interval[lg] = pieceListItem[names[i2]];
+              close2[lg] = closeList[i2];
+              useMinMax[lg] = i2 === 2;
+            }
+            interval[lg] == null && (interval[lg] = infinityList[lg]);
+          }
+          useMinMax[0] && interval[1] === Infinity && (close2[0] = 0);
+          useMinMax[1] && interval[0] === -Infinity && (close2[1] = 0);
+          if (interval[0] === interval[1] && close2[0] && close2[1]) {
+            item.value = interval[0];
+          }
+        }
+        item.visual = VisualMapping2.retrieveVisuals(pieceListItem);
+        pieceList.push(item);
+      }, this);
+      normalizeReverse2(thisOption, pieceList);
+      reformIntervals2(pieceList);
+      zrUtil2.each(pieceList, function(piece) {
+        var close2 = piece.close;
+        var edgeSymbols = [["<", "≤"][close2[1]], [">", "≥"][close2[0]]];
+        piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);
+      }, this);
+    }
+  };
+  function normalizeReverse2(thisOption, pieceList) {
+    var inverse = thisOption.inverse;
+    if (thisOption.orient === "vertical" ? !inverse : inverse) {
+      pieceList.reverse();
+    }
+  }
+  var _default68 = PiecewiseModel2;
+  PiecewiseModel_1 = _default68;
+  return PiecewiseModel_1;
+}
+var PiecewiseView$1;
+var hasRequiredPiecewiseView;
+function requirePiecewiseView() {
+  if (hasRequiredPiecewiseView)
+    return PiecewiseView$1;
+  hasRequiredPiecewiseView = 1;
+  var zrUtil2 = util$a;
+  var VisualMapView2 = requireVisualMapView();
+  var graphic2 = graphic$6;
+  var _symbol = requireSymbol$1();
+  var createSymbol2 = _symbol.createSymbol;
+  var layout2 = layout$5;
+  var helper2 = requireHelper();
+  var PiecewiseVisualMapView2 = VisualMapView2.extend({
+    type: "visualMap.piecewise",
+    /**
+     * @protected
+     * @override
+     */
+    doRender: function() {
+      var thisGroup = this.group;
+      thisGroup.removeAll();
+      var visualMapModel = this.visualMapModel;
+      var textGap = visualMapModel.get("textGap");
+      var textStyleModel = visualMapModel.textStyleModel;
+      var textFont = textStyleModel.getFont();
+      var textFill = textStyleModel.getTextColor();
+      var itemAlign = this._getItemAlign();
+      var itemSize = visualMapModel.itemSize;
+      var viewData = this._getViewData();
+      var endsText = viewData.endsText;
+      var showLabel = zrUtil2.retrieve(visualMapModel.get("showLabel", true), !endsText);
+      endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);
+      zrUtil2.each(viewData.viewPieceList, renderItem, this);
+      endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);
+      layout2.box(visualMapModel.get("orient"), thisGroup, visualMapModel.get("itemGap"));
+      this.renderBackground(thisGroup);
+      this.positionGroup(thisGroup);
+      function renderItem(item) {
+        var piece = item.piece;
+        var itemGroup = new graphic2.Group();
+        itemGroup.onclick = zrUtil2.bind(this._onItemClick, this, piece);
+        this._enableHoverLink(itemGroup, item.indexInModelPieceList);
+        var representValue = visualMapModel.getRepresentValue(piece);
+        this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);
+        if (showLabel) {
+          var visualState = this.visualMapModel.getValueState(representValue);
+          itemGroup.add(new graphic2.Text({
+            style: {
+              x: itemAlign === "right" ? -textGap : itemSize[0] + textGap,
+              y: itemSize[1] / 2,
+              text: piece.text,
+              textVerticalAlign: "middle",
+              textAlign: itemAlign,
+              textFont,
+              textFill,
+              opacity: visualState === "outOfRange" ? 0.5 : 1
+            }
+          }));
+        }
+        thisGroup.add(itemGroup);
+      }
+    },
+    /**
+     * @private
+     */
+    _enableHoverLink: function(itemGroup, pieceIndex) {
+      itemGroup.on("mouseover", zrUtil2.bind(onHoverLink, this, "highlight")).on("mouseout", zrUtil2.bind(onHoverLink, this, "downplay"));
+      function onHoverLink(method) {
+        var visualMapModel = this.visualMapModel;
+        visualMapModel.option.hoverLink && this.api.dispatchAction({
+          type: method,
+          batch: helper2.makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)
+        });
+      }
+    },
+    /**
+     * @private
+     */
+    _getItemAlign: function() {
+      var visualMapModel = this.visualMapModel;
+      var modelOption = visualMapModel.option;
+      if (modelOption.orient === "vertical") {
+        return helper2.getItemAlign(visualMapModel, this.api, visualMapModel.itemSize);
+      } else {
+        var align = modelOption.align;
+        if (!align || align === "auto") {
+          align = "left";
+        }
+        return align;
+      }
+    },
+    /**
+     * @private
+     */
+    _renderEndsText: function(group, text2, itemSize, showLabel, itemAlign) {
+      if (!text2) {
+        return;
+      }
+      var itemGroup = new graphic2.Group();
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      itemGroup.add(new graphic2.Text({
+        style: {
+          x: showLabel ? itemAlign === "right" ? itemSize[0] : 0 : itemSize[0] / 2,
+          y: itemSize[1] / 2,
+          textVerticalAlign: "middle",
+          textAlign: showLabel ? itemAlign : "center",
+          text: text2,
+          textFont: textStyleModel.getFont(),
+          textFill: textStyleModel.getTextColor()
+        }
+      }));
+      group.add(itemGroup);
+    },
+    /**
+     * @private
+     * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.
+     */
+    _getViewData: function() {
+      var visualMapModel = this.visualMapModel;
+      var viewPieceList = zrUtil2.map(visualMapModel.getPieceList(), function(piece, index3) {
+        return {
+          piece,
+          indexInModelPieceList: index3
+        };
+      });
+      var endsText = visualMapModel.get("text");
+      var orient = visualMapModel.get("orient");
+      var inverse = visualMapModel.get("inverse");
+      if (orient === "horizontal" ? inverse : !inverse) {
+        viewPieceList.reverse();
+      } else if (endsText) {
+        endsText = endsText.slice().reverse();
+      }
+      return {
+        viewPieceList,
+        endsText
+      };
+    },
+    /**
+     * @private
+     */
+    _createItemSymbol: function(group, representValue, shapeParam) {
+      group.add(createSymbol2(this.getControllerVisual(representValue, "symbol"), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], this.getControllerVisual(representValue, "color")));
+    },
+    /**
+     * @private
+     */
+    _onItemClick: function(piece) {
+      var visualMapModel = this.visualMapModel;
+      var option = visualMapModel.option;
+      var selected = zrUtil2.clone(option.selected);
+      var newKey = visualMapModel.getSelectedMapKey(piece);
+      if (option.selectedMode === "single") {
+        selected[newKey] = true;
+        zrUtil2.each(selected, function(o2, key2) {
+          selected[key2] = key2 === newKey;
+        });
+      } else {
+        selected[newKey] = !selected[newKey];
+      }
+      this.api.dispatchAction({
+        type: "selectDataRange",
+        from: this.uid,
+        visualMapId: this.visualMapModel.id,
+        selected
+      });
+    }
+  });
+  var _default68 = PiecewiseVisualMapView2;
+  PiecewiseView$1 = _default68;
+  return PiecewiseView$1;
+}
+var hasRequiredVisualMapPiecewise;
+function requireVisualMapPiecewise() {
+  if (hasRequiredVisualMapPiecewise)
+    return visualMapPiecewise;
+  hasRequiredVisualMapPiecewise = 1;
+  var echarts2 = echarts$1;
+  var preprocessor2 = requirePreprocessor();
+  requireTypeDefaulter();
+  requireVisualEncoding();
+  requirePiecewiseModel();
+  requirePiecewiseView();
+  requireVisualMapAction();
+  echarts2.registerPreprocessor(preprocessor2);
+  return visualMapPiecewise;
+}
+var hasRequiredVisualMap;
+function requireVisualMap() {
+  if (hasRequiredVisualMap)
+    return visualMap;
+  hasRequiredVisualMap = 1;
+  requireVisualMapContinuous();
+  requireVisualMapPiecewise();
+  return visualMap;
+}
+var vml = {};
+var graphic$3 = {};
+var core$2 = {};
+var hasRequiredCore$1;
+function requireCore$1() {
+  if (hasRequiredCore$1)
+    return core$2;
+  hasRequiredCore$1 = 1;
+  var env2 = env_1;
+  var urn = "urn:schemas-microsoft-com:vml";
+  var win = typeof window === "undefined" ? null : window;
+  var vmlInited = false;
+  var doc = win && win.document;
+  function createNode(tagName) {
+    return doCreateNode(tagName);
+  }
+  var doCreateNode;
+  if (doc && !env2.canvasSupported) {
+    try {
+      !doc.namespaces.zrvml && doc.namespaces.add("zrvml", urn);
+      doCreateNode = function(tagName) {
+        return doc.createElement("<zrvml:" + tagName + ' class="zrvml">');
+      };
+    } catch (e2) {
+      doCreateNode = function(tagName) {
+        return doc.createElement("<" + tagName + ' xmlns="' + urn + '" class="zrvml">');
+      };
+    }
+  }
+  function initVML() {
+    if (vmlInited || !doc) {
+      return;
+    }
+    vmlInited = true;
+    var styleSheets = doc.styleSheets;
+    if (styleSheets.length < 31) {
+      doc.createStyleSheet().addRule(".zrvml", "behavior:url(#default#VML)");
+    } else {
+      styleSheets[0].addRule(".zrvml", "behavior:url(#default#VML)");
+    }
+  }
+  core$2.doc = doc;
+  core$2.createNode = createNode;
+  core$2.initVML = initVML;
+  return core$2;
+}
+var hasRequiredGraphic$1;
+function requireGraphic$1() {
+  if (hasRequiredGraphic$1)
+    return graphic$3;
+  hasRequiredGraphic$1 = 1;
+  var env2 = env_1;
+  var _vector2 = vector$3;
+  var applyTransform2 = _vector2.applyTransform;
+  var BoundingRect2 = BoundingRect_1;
+  var colorTool2 = color$2;
+  var textContain2 = text;
+  var textHelper2 = text$1;
+  var RectText2 = requireRectText();
+  var Displayable2 = Displayable_1;
+  var ZImage2 = Image$2;
+  var Text2 = Text_1;
+  var Path2 = Path_1;
+  var PathProxy2 = PathProxy_1;
+  var Gradient2 = Gradient_1;
+  var vmlCore = requireCore$1();
+  var CMD2 = PathProxy2.CMD;
+  var round2 = Math.round;
+  var sqrt = Math.sqrt;
+  var abs2 = Math.abs;
+  var cos = Math.cos;
+  var sin = Math.sin;
+  var mathMax2 = Math.max;
+  if (!env2.canvasSupported) {
+    var comma = ",";
+    var imageTransformPrefix = "progid:DXImageTransform.Microsoft";
+    var Z2 = 21600;
+    var Z22 = Z2 / 2;
+    var ZLEVEL_BASE = 1e5;
+    var Z_BASE = 1e3;
+    var initRootElStyle = function(el) {
+      el.style.cssText = "position:absolute;left:0;top:0;width:1px;height:1px;";
+      el.coordsize = Z2 + "," + Z2;
+      el.coordorigin = "0,0";
+    };
+    var encodeHtmlAttribute = function(s2) {
+      return String(s2).replace(/&/g, "&amp;").replace(/"/g, "&quot;");
+    };
+    var rgb2Str = function(r2, g2, b2) {
+      return "rgb(" + [r2, g2, b2].join(",") + ")";
+    };
+    var append3 = function(parent3, child) {
+      if (child && parent3 && child.parentNode !== parent3) {
+        parent3.appendChild(child);
+      }
+    };
+    var remove2 = function(parent3, child) {
+      if (child && parent3 && child.parentNode === parent3) {
+        parent3.removeChild(child);
+      }
+    };
+    var getZIndex = function(zlevel, z2, z22) {
+      return (parseFloat(zlevel) || 0) * ZLEVEL_BASE + (parseFloat(z2) || 0) * Z_BASE + z22;
+    };
+    var parsePercent2 = textHelper2.parsePercent;
+    var setColorAndOpacity = function(el, color2, opacity) {
+      var colorArr = colorTool2.parse(color2);
+      opacity = +opacity;
+      if (isNaN(opacity)) {
+        opacity = 1;
+      }
+      if (colorArr) {
+        el.color = rgb2Str(colorArr[0], colorArr[1], colorArr[2]);
+        el.opacity = opacity * colorArr[3];
+      }
+    };
+    var getColorAndAlpha = function(color2) {
+      var colorArr = colorTool2.parse(color2);
+      return [rgb2Str(colorArr[0], colorArr[1], colorArr[2]), colorArr[3]];
+    };
+    var updateFillNode = function(el, style2, zrEl) {
+      var fill = style2.fill;
+      if (fill != null) {
+        if (fill instanceof Gradient2) {
+          var gradientType;
+          var angle = 0;
+          var focus2 = [0, 0];
+          var shift = 0;
+          var expansion = 1;
+          var rect = zrEl.getBoundingRect();
+          var rectWidth = rect.width;
+          var rectHeight = rect.height;
+          if (fill.type === "linear") {
+            gradientType = "gradient";
+            var transform3 = zrEl.transform;
+            var p0 = [fill.x * rectWidth, fill.y * rectHeight];
+            var p1 = [fill.x2 * rectWidth, fill.y2 * rectHeight];
+            if (transform3) {
+              applyTransform2(p0, p0, transform3);
+              applyTransform2(p1, p1, transform3);
+            }
+            var dx = p1[0] - p0[0];
+            var dy = p1[1] - p0[1];
+            angle = Math.atan2(dx, dy) * 180 / Math.PI;
+            if (angle < 0) {
+              angle += 360;
+            }
+            if (angle < 1e-6) {
+              angle = 0;
+            }
+          } else {
+            gradientType = "gradientradial";
+            var p0 = [fill.x * rectWidth, fill.y * rectHeight];
+            var transform3 = zrEl.transform;
+            var scale2 = zrEl.scale;
+            var width = rectWidth;
+            var height = rectHeight;
+            focus2 = [
+              // Percent in bounding rect
+              (p0[0] - rect.x) / width,
+              (p0[1] - rect.y) / height
+            ];
+            if (transform3) {
+              applyTransform2(p0, p0, transform3);
+            }
+            width /= scale2[0] * Z2;
+            height /= scale2[1] * Z2;
+            var dimension = mathMax2(width, height);
+            shift = 2 * 0 / dimension;
+            expansion = 2 * fill.r / dimension - shift;
+          }
+          var stops = fill.colorStops.slice();
+          stops.sort(function(cs1, cs2) {
+            return cs1.offset - cs2.offset;
+          });
+          var length2 = stops.length;
+          var colorAndAlphaList = [];
+          var colors = [];
+          for (var i3 = 0; i3 < length2; i3++) {
+            var stop2 = stops[i3];
+            var colorAndAlpha = getColorAndAlpha(stop2.color);
+            colors.push(stop2.offset * expansion + shift + " " + colorAndAlpha[0]);
+            if (i3 === 0 || i3 === length2 - 1) {
+              colorAndAlphaList.push(colorAndAlpha);
+            }
+          }
+          if (length2 >= 2) {
+            var color1 = colorAndAlphaList[0][0];
+            var color2 = colorAndAlphaList[1][0];
+            var opacity1 = colorAndAlphaList[0][1] * style2.opacity;
+            var opacity2 = colorAndAlphaList[1][1] * style2.opacity;
+            el.type = gradientType;
+            el.method = "none";
+            el.focus = "100%";
+            el.angle = angle;
+            el.color = color1;
+            el.color2 = color2;
+            el.colors = colors.join(",");
+            el.opacity = opacity2;
+            el.opacity2 = opacity1;
+          }
+          if (gradientType === "radial") {
+            el.focusposition = focus2.join(",");
+          }
+        } else {
+          setColorAndOpacity(el, fill, style2.opacity);
+        }
+      }
+    };
+    var updateStrokeNode = function(el, style2) {
+      if (style2.lineDash) {
+        el.dashstyle = style2.lineDash.join(" ");
+      }
+      if (style2.stroke != null && !(style2.stroke instanceof Gradient2)) {
+        setColorAndOpacity(el, style2.stroke, style2.opacity);
+      }
+    };
+    var updateFillAndStroke = function(vmlEl, type2, style2, zrEl) {
+      var isFill = type2 === "fill";
+      var el = vmlEl.getElementsByTagName(type2)[0];
+      if (style2[type2] != null && style2[type2] !== "none" && (isFill || !isFill && style2.lineWidth)) {
+        vmlEl[isFill ? "filled" : "stroked"] = "true";
+        if (style2[type2] instanceof Gradient2) {
+          remove2(vmlEl, el);
+        }
+        if (!el) {
+          el = vmlCore.createNode(type2);
+        }
+        isFill ? updateFillNode(el, style2, zrEl) : updateStrokeNode(el, style2);
+        append3(vmlEl, el);
+      } else {
+        vmlEl[isFill ? "filled" : "stroked"] = "false";
+        remove2(vmlEl, el);
+      }
+    };
+    var points2 = [[], [], []];
+    var pathDataToString = function(path2, m2) {
+      var M2 = CMD2.M;
+      var C2 = CMD2.C;
+      var L2 = CMD2.L;
+      var A2 = CMD2.A;
+      var Q2 = CMD2.Q;
+      var str = [];
+      var nPoint;
+      var cmdStr;
+      var cmd;
+      var i3;
+      var xi;
+      var yi;
+      var data2 = path2.data;
+      var dataLength = path2.len();
+      for (i3 = 0; i3 < dataLength; ) {
+        cmd = data2[i3++];
+        cmdStr = "";
+        nPoint = 0;
+        switch (cmd) {
+          case M2:
+            cmdStr = " m ";
+            nPoint = 1;
+            xi = data2[i3++];
+            yi = data2[i3++];
+            points2[0][0] = xi;
+            points2[0][1] = yi;
+            break;
+          case L2:
+            cmdStr = " l ";
+            nPoint = 1;
+            xi = data2[i3++];
+            yi = data2[i3++];
+            points2[0][0] = xi;
+            points2[0][1] = yi;
+            break;
+          case Q2:
+          case C2:
+            cmdStr = " c ";
+            nPoint = 3;
+            var x1 = data2[i3++];
+            var y1 = data2[i3++];
+            var x2 = data2[i3++];
+            var y2 = data2[i3++];
+            var x3;
+            var y3;
+            if (cmd === Q2) {
+              x3 = x2;
+              y3 = y2;
+              x2 = (x2 + 2 * x1) / 3;
+              y2 = (y2 + 2 * y1) / 3;
+              x1 = (xi + 2 * x1) / 3;
+              y1 = (yi + 2 * y1) / 3;
+            } else {
+              x3 = data2[i3++];
+              y3 = data2[i3++];
+            }
+            points2[0][0] = x1;
+            points2[0][1] = y1;
+            points2[1][0] = x2;
+            points2[1][1] = y2;
+            points2[2][0] = x3;
+            points2[2][1] = y3;
+            xi = x3;
+            yi = y3;
+            break;
+          case A2:
+            var x4 = 0;
+            var y4 = 0;
+            var sx = 1;
+            var sy = 1;
+            var angle = 0;
+            if (m2) {
+              x4 = m2[4];
+              y4 = m2[5];
+              sx = sqrt(m2[0] * m2[0] + m2[1] * m2[1]);
+              sy = sqrt(m2[2] * m2[2] + m2[3] * m2[3]);
+              angle = Math.atan2(-m2[1] / sy, m2[0] / sx);
+            }
+            var cx = data2[i3++];
+            var cy = data2[i3++];
+            var rx = data2[i3++];
+            var ry = data2[i3++];
+            var startAngle = data2[i3++] + angle;
+            var endAngle = data2[i3++] + startAngle + angle;
+            i3++;
+            var clockwise = data2[i3++];
+            var x0 = cx + cos(startAngle) * rx;
+            var y0 = cy + sin(startAngle) * ry;
+            var x1 = cx + cos(endAngle) * rx;
+            var y1 = cy + sin(endAngle) * ry;
+            var type2 = clockwise ? " wa " : " at ";
+            if (Math.abs(x0 - x1) < 1e-4) {
+              if (Math.abs(endAngle - startAngle) > 0.01) {
+                if (clockwise) {
+                  x0 += 270 / Z2;
+                }
+              } else {
+                if (Math.abs(y0 - cy) < 1e-4) {
+                  if (clockwise && x0 < cx || !clockwise && x0 > cx) {
+                    y1 -= 270 / Z2;
+                  } else {
+                    y1 += 270 / Z2;
+                  }
+                } else if (clockwise && y0 < cy || !clockwise && y0 > cy) {
+                  x1 += 270 / Z2;
+                } else {
+                  x1 -= 270 / Z2;
+                }
+              }
+            }
+            str.push(type2, round2(((cx - rx) * sx + x4) * Z2 - Z22), comma, round2(((cy - ry) * sy + y4) * Z2 - Z22), comma, round2(((cx + rx) * sx + x4) * Z2 - Z22), comma, round2(((cy + ry) * sy + y4) * Z2 - Z22), comma, round2((x0 * sx + x4) * Z2 - Z22), comma, round2((y0 * sy + y4) * Z2 - Z22), comma, round2((x1 * sx + x4) * Z2 - Z22), comma, round2((y1 * sy + y4) * Z2 - Z22));
+            xi = x1;
+            yi = y1;
+            break;
+          case CMD2.R:
+            var p0 = points2[0];
+            var p1 = points2[1];
+            p0[0] = data2[i3++];
+            p0[1] = data2[i3++];
+            p1[0] = p0[0] + data2[i3++];
+            p1[1] = p0[1] + data2[i3++];
+            if (m2) {
+              applyTransform2(p0, p0, m2);
+              applyTransform2(p1, p1, m2);
+            }
+            p0[0] = round2(p0[0] * Z2 - Z22);
+            p1[0] = round2(p1[0] * Z2 - Z22);
+            p0[1] = round2(p0[1] * Z2 - Z22);
+            p1[1] = round2(p1[1] * Z2 - Z22);
+            str.push(
+              // x0, y0
+              " m ",
+              p0[0],
+              comma,
+              p0[1],
+              // x1, y0
+              " l ",
+              p1[0],
+              comma,
+              p0[1],
+              // x1, y1
+              " l ",
+              p1[0],
+              comma,
+              p1[1],
+              // x0, y1
+              " l ",
+              p0[0],
+              comma,
+              p1[1]
+            );
+            break;
+          case CMD2.Z:
+            str.push(" x ");
+        }
+        if (nPoint > 0) {
+          str.push(cmdStr);
+          for (var k2 = 0; k2 < nPoint; k2++) {
+            var p2 = points2[k2];
+            m2 && applyTransform2(p2, p2, m2);
+            str.push(round2(p2[0] * Z2 - Z22), comma, round2(p2[1] * Z2 - Z22), k2 < nPoint - 1 ? comma : "");
+          }
+        }
+      }
+      return str.join("");
+    };
+    Path2.prototype.brushVML = function(vmlRoot) {
+      var style2 = this.style;
+      var vmlEl = this._vmlEl;
+      if (!vmlEl) {
+        vmlEl = vmlCore.createNode("shape");
+        initRootElStyle(vmlEl);
+        this._vmlEl = vmlEl;
+      }
+      updateFillAndStroke(vmlEl, "fill", style2, this);
+      updateFillAndStroke(vmlEl, "stroke", style2, this);
+      var m2 = this.transform;
+      var needTransform = m2 != null;
+      var strokeEl = vmlEl.getElementsByTagName("stroke")[0];
+      if (strokeEl) {
+        var lineWidth = style2.lineWidth;
+        if (needTransform && !style2.strokeNoScale) {
+          var det = m2[0] * m2[3] - m2[1] * m2[2];
+          lineWidth *= sqrt(abs2(det));
+        }
+        strokeEl.weight = lineWidth + "px";
+      }
+      var path2 = this.path || (this.path = new PathProxy2());
+      if (this.__dirtyPath) {
+        path2.beginPath();
+        path2.subPixelOptimize = false;
+        this.buildPath(path2, this.shape);
+        path2.toStatic();
+        this.__dirtyPath = false;
+      }
+      vmlEl.path = pathDataToString(path2, this.transform);
+      vmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2);
+      append3(vmlRoot, vmlEl);
+      if (style2.text != null) {
+        this.drawRectText(vmlRoot, this.getBoundingRect());
+      } else {
+        this.removeRectText(vmlRoot);
+      }
+    };
+    Path2.prototype.onRemove = function(vmlRoot) {
+      remove2(vmlRoot, this._vmlEl);
+      this.removeRectText(vmlRoot);
+    };
+    Path2.prototype.onAdd = function(vmlRoot) {
+      append3(vmlRoot, this._vmlEl);
+      this.appendRectText(vmlRoot);
+    };
+    var isImage = function(img) {
+      return typeof img === "object" && img.tagName && img.tagName.toUpperCase() === "IMG";
+    };
+    ZImage2.prototype.brushVML = function(vmlRoot) {
+      var style2 = this.style;
+      var image2 = style2.image;
+      var ow;
+      var oh;
+      if (isImage(image2)) {
+        var src = image2.src;
+        if (src === this._imageSrc) {
+          ow = this._imageWidth;
+          oh = this._imageHeight;
+        } else {
+          var imageRuntimeStyle = image2.runtimeStyle;
+          var oldRuntimeWidth = imageRuntimeStyle.width;
+          var oldRuntimeHeight = imageRuntimeStyle.height;
+          imageRuntimeStyle.width = "auto";
+          imageRuntimeStyle.height = "auto";
+          ow = image2.width;
+          oh = image2.height;
+          imageRuntimeStyle.width = oldRuntimeWidth;
+          imageRuntimeStyle.height = oldRuntimeHeight;
+          this._imageSrc = src;
+          this._imageWidth = ow;
+          this._imageHeight = oh;
+        }
+        image2 = src;
+      } else {
+        if (image2 === this._imageSrc) {
+          ow = this._imageWidth;
+          oh = this._imageHeight;
+        }
+      }
+      if (!image2) {
+        return;
+      }
+      var x2 = style2.x || 0;
+      var y2 = style2.y || 0;
+      var dw = style2.width;
+      var dh = style2.height;
+      var sw = style2.sWidth;
+      var sh = style2.sHeight;
+      var sx = style2.sx || 0;
+      var sy = style2.sy || 0;
+      var hasCrop = sw && sh;
+      var vmlEl = this._vmlEl;
+      if (!vmlEl) {
+        vmlEl = vmlCore.doc.createElement("div");
+        initRootElStyle(vmlEl);
+        this._vmlEl = vmlEl;
+      }
+      var vmlElStyle = vmlEl.style;
+      var hasRotation = false;
+      var m2;
+      var scaleX = 1;
+      var scaleY = 1;
+      if (this.transform) {
+        m2 = this.transform;
+        scaleX = sqrt(m2[0] * m2[0] + m2[1] * m2[1]);
+        scaleY = sqrt(m2[2] * m2[2] + m2[3] * m2[3]);
+        hasRotation = m2[1] || m2[2];
+      }
+      if (hasRotation) {
+        var p0 = [x2, y2];
+        var p1 = [x2 + dw, y2];
+        var p2 = [x2, y2 + dh];
+        var p3 = [x2 + dw, y2 + dh];
+        applyTransform2(p0, p0, m2);
+        applyTransform2(p1, p1, m2);
+        applyTransform2(p2, p2, m2);
+        applyTransform2(p3, p3, m2);
+        var maxX = mathMax2(p0[0], p1[0], p2[0], p3[0]);
+        var maxY = mathMax2(p0[1], p1[1], p2[1], p3[1]);
+        var transformFilter = [];
+        transformFilter.push("M11=", m2[0] / scaleX, comma, "M12=", m2[2] / scaleY, comma, "M21=", m2[1] / scaleX, comma, "M22=", m2[3] / scaleY, comma, "Dx=", round2(x2 * scaleX + m2[4]), comma, "Dy=", round2(y2 * scaleY + m2[5]));
+        vmlElStyle.padding = "0 " + round2(maxX) + "px " + round2(maxY) + "px 0";
+        vmlElStyle.filter = imageTransformPrefix + ".Matrix(" + transformFilter.join("") + ", SizingMethod=clip)";
+      } else {
+        if (m2) {
+          x2 = x2 * scaleX + m2[4];
+          y2 = y2 * scaleY + m2[5];
+        }
+        vmlElStyle.filter = "";
+        vmlElStyle.left = round2(x2) + "px";
+        vmlElStyle.top = round2(y2) + "px";
+      }
+      var imageEl = this._imageEl;
+      var cropEl = this._cropEl;
+      if (!imageEl) {
+        imageEl = vmlCore.doc.createElement("div");
+        this._imageEl = imageEl;
+      }
+      var imageELStyle = imageEl.style;
+      if (hasCrop) {
+        if (!(ow && oh)) {
+          var tmpImage = new Image();
+          var self2 = this;
+          tmpImage.onload = function() {
+            tmpImage.onload = null;
+            ow = tmpImage.width;
+            oh = tmpImage.height;
+            imageELStyle.width = round2(scaleX * ow * dw / sw) + "px";
+            imageELStyle.height = round2(scaleY * oh * dh / sh) + "px";
+            self2._imageWidth = ow;
+            self2._imageHeight = oh;
+            self2._imageSrc = image2;
+          };
+          tmpImage.src = image2;
+        } else {
+          imageELStyle.width = round2(scaleX * ow * dw / sw) + "px";
+          imageELStyle.height = round2(scaleY * oh * dh / sh) + "px";
+        }
+        if (!cropEl) {
+          cropEl = vmlCore.doc.createElement("div");
+          cropEl.style.overflow = "hidden";
+          this._cropEl = cropEl;
+        }
+        var cropElStyle = cropEl.style;
+        cropElStyle.width = round2((dw + sx * dw / sw) * scaleX);
+        cropElStyle.height = round2((dh + sy * dh / sh) * scaleY);
+        cropElStyle.filter = imageTransformPrefix + ".Matrix(Dx=" + -sx * dw / sw * scaleX + ",Dy=" + -sy * dh / sh * scaleY + ")";
+        if (!cropEl.parentNode) {
+          vmlEl.appendChild(cropEl);
+        }
+        if (imageEl.parentNode !== cropEl) {
+          cropEl.appendChild(imageEl);
+        }
+      } else {
+        imageELStyle.width = round2(scaleX * dw) + "px";
+        imageELStyle.height = round2(scaleY * dh) + "px";
+        vmlEl.appendChild(imageEl);
+        if (cropEl && cropEl.parentNode) {
+          vmlEl.removeChild(cropEl);
+          this._cropEl = null;
+        }
+      }
+      var filterStr = "";
+      var alpha = style2.opacity;
+      if (alpha < 1) {
+        filterStr += ".Alpha(opacity=" + round2(alpha * 100) + ") ";
+      }
+      filterStr += imageTransformPrefix + ".AlphaImageLoader(src=" + image2 + ", SizingMethod=scale)";
+      imageELStyle.filter = filterStr;
+      vmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2);
+      append3(vmlRoot, vmlEl);
+      if (style2.text != null) {
+        this.drawRectText(vmlRoot, this.getBoundingRect());
+      }
+    };
+    ZImage2.prototype.onRemove = function(vmlRoot) {
+      remove2(vmlRoot, this._vmlEl);
+      this._vmlEl = null;
+      this._cropEl = null;
+      this._imageEl = null;
+      this.removeRectText(vmlRoot);
+    };
+    ZImage2.prototype.onAdd = function(vmlRoot) {
+      append3(vmlRoot, this._vmlEl);
+      this.appendRectText(vmlRoot);
+    };
+    var DEFAULT_STYLE_NORMAL = "normal";
+    var fontStyleCache = {};
+    var fontStyleCacheCount = 0;
+    var MAX_FONT_CACHE_SIZE = 100;
+    var fontEl = document.createElement("div");
+    var getFontStyle = function(fontString) {
+      var fontStyle = fontStyleCache[fontString];
+      if (!fontStyle) {
+        if (fontStyleCacheCount > MAX_FONT_CACHE_SIZE) {
+          fontStyleCacheCount = 0;
+          fontStyleCache = {};
+        }
+        var style2 = fontEl.style;
+        var fontFamily;
+        try {
+          style2.font = fontString;
+          fontFamily = style2.fontFamily.split(",")[0];
+        } catch (e2) {
+        }
+        fontStyle = {
+          style: style2.fontStyle || DEFAULT_STYLE_NORMAL,
+          variant: style2.fontVariant || DEFAULT_STYLE_NORMAL,
+          weight: style2.fontWeight || DEFAULT_STYLE_NORMAL,
+          size: parseFloat(style2.fontSize || 12) | 0,
+          family: fontFamily || "Microsoft YaHei"
+        };
+        fontStyleCache[fontString] = fontStyle;
+        fontStyleCacheCount++;
+      }
+      return fontStyle;
+    };
+    var textMeasureEl;
+    textContain2.$override("measureText", function(text2, textFont) {
+      var doc = vmlCore.doc;
+      if (!textMeasureEl) {
+        textMeasureEl = doc.createElement("div");
+        textMeasureEl.style.cssText = "position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;";
+        vmlCore.doc.body.appendChild(textMeasureEl);
+      }
+      try {
+        textMeasureEl.style.font = textFont;
+      } catch (ex) {
+      }
+      textMeasureEl.innerHTML = "";
+      textMeasureEl.appendChild(doc.createTextNode(text2));
+      return {
+        width: textMeasureEl.offsetWidth
+      };
+    });
+    var tmpRect2 = new BoundingRect2();
+    var drawRectText = function(vmlRoot, rect, textRect, fromTextEl) {
+      var style2 = this.style;
+      this.__dirty && textHelper2.normalizeTextStyle(style2, true);
+      var text2 = style2.text;
+      text2 != null && (text2 += "");
+      if (!text2) {
+        return;
+      }
+      if (style2.rich) {
+        var contentBlock = textContain2.parseRichText(text2, style2);
+        text2 = [];
+        for (var i3 = 0; i3 < contentBlock.lines.length; i3++) {
+          var tokens = contentBlock.lines[i3].tokens;
+          var textLine = [];
+          for (var j2 = 0; j2 < tokens.length; j2++) {
+            textLine.push(tokens[j2].text);
+          }
+          text2.push(textLine.join(""));
+        }
+        text2 = text2.join("\n");
+      }
+      var x2;
+      var y2;
+      var align = style2.textAlign;
+      var verticalAlign = style2.textVerticalAlign;
+      var fontStyle = getFontStyle(style2.font);
+      var font = fontStyle.style + " " + fontStyle.variant + " " + fontStyle.weight + " " + fontStyle.size + 'px "' + fontStyle.family + '"';
+      textRect = textRect || textContain2.getBoundingRect(text2, font, align, verticalAlign, style2.textPadding, style2.textLineHeight);
+      var m2 = this.transform;
+      if (m2 && !fromTextEl) {
+        tmpRect2.copy(rect);
+        tmpRect2.applyTransform(m2);
+        rect = tmpRect2;
+      }
+      if (!fromTextEl) {
+        var textPosition = style2.textPosition;
+        if (textPosition instanceof Array) {
+          x2 = rect.x + parsePercent2(textPosition[0], rect.width);
+          y2 = rect.y + parsePercent2(textPosition[1], rect.height);
+          align = align || "left";
+        } else {
+          var res = this.calculateTextPosition ? this.calculateTextPosition({}, style2, rect) : textContain2.calculateTextPosition({}, style2, rect);
+          x2 = res.x;
+          y2 = res.y;
+          align = align || res.textAlign;
+          verticalAlign = verticalAlign || res.textVerticalAlign;
+        }
+      } else {
+        x2 = rect.x;
+        y2 = rect.y;
+      }
+      x2 = textContain2.adjustTextX(x2, textRect.width, align);
+      y2 = textContain2.adjustTextY(y2, textRect.height, verticalAlign);
+      y2 += textRect.height / 2;
+      var createNode = vmlCore.createNode;
+      var textVmlEl = this._textVmlEl;
+      var pathEl;
+      var textPathEl;
+      var skewEl;
+      if (!textVmlEl) {
+        textVmlEl = createNode("line");
+        pathEl = createNode("path");
+        textPathEl = createNode("textpath");
+        skewEl = createNode("skew");
+        textPathEl.style["v-text-align"] = "left";
+        initRootElStyle(textVmlEl);
+        pathEl.textpathok = true;
+        textPathEl.on = true;
+        textVmlEl.from = "0 0";
+        textVmlEl.to = "1000 0.05";
+        append3(textVmlEl, skewEl);
+        append3(textVmlEl, pathEl);
+        append3(textVmlEl, textPathEl);
+        this._textVmlEl = textVmlEl;
+      } else {
+        skewEl = textVmlEl.firstChild;
+        pathEl = skewEl.nextSibling;
+        textPathEl = pathEl.nextSibling;
+      }
+      var coords = [x2, y2];
+      var textVmlElStyle = textVmlEl.style;
+      if (m2 && fromTextEl) {
+        applyTransform2(coords, coords, m2);
+        skewEl.on = true;
+        skewEl.matrix = m2[0].toFixed(3) + comma + m2[2].toFixed(3) + comma + m2[1].toFixed(3) + comma + m2[3].toFixed(3) + ",0,0";
+        skewEl.offset = (round2(coords[0]) || 0) + "," + (round2(coords[1]) || 0);
+        skewEl.origin = "0 0";
+        textVmlElStyle.left = "0px";
+        textVmlElStyle.top = "0px";
+      } else {
+        skewEl.on = false;
+        textVmlElStyle.left = round2(x2) + "px";
+        textVmlElStyle.top = round2(y2) + "px";
+      }
+      textPathEl.string = encodeHtmlAttribute(text2);
+      try {
+        textPathEl.style.font = font;
+      } catch (e2) {
+      }
+      updateFillAndStroke(textVmlEl, "fill", {
+        fill: style2.textFill,
+        opacity: style2.opacity
+      }, this);
+      updateFillAndStroke(textVmlEl, "stroke", {
+        stroke: style2.textStroke,
+        opacity: style2.opacity,
+        lineDash: style2.lineDash || null
+        // style.lineDash can be `false`.
+      }, this);
+      textVmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2);
+      append3(vmlRoot, textVmlEl);
+    };
+    var removeRectText = function(vmlRoot) {
+      remove2(vmlRoot, this._textVmlEl);
+      this._textVmlEl = null;
+    };
+    var appendRectText = function(vmlRoot) {
+      append3(vmlRoot, this._textVmlEl);
+    };
+    var list2 = [RectText2, Displayable2, ZImage2, Path2, Text2];
+    for (var i2 = 0; i2 < list2.length; i2++) {
+      var proto2 = list2[i2].prototype;
+      proto2.drawRectText = drawRectText;
+      proto2.removeRectText = removeRectText;
+      proto2.appendRectText = appendRectText;
+    }
+    Text2.prototype.brushVML = function(vmlRoot) {
+      var style2 = this.style;
+      if (style2.text != null) {
+        this.drawRectText(vmlRoot, {
+          x: style2.x || 0,
+          y: style2.y || 0,
+          width: 0,
+          height: 0
+        }, this.getBoundingRect(), true);
+      } else {
+        this.removeRectText(vmlRoot);
+      }
+    };
+    Text2.prototype.onRemove = function(vmlRoot) {
+      this.removeRectText(vmlRoot);
+    };
+    Text2.prototype.onAdd = function(vmlRoot) {
+      this.appendRectText(vmlRoot);
+    };
+  }
+  return graphic$3;
+}
+var Painter$1;
+var hasRequiredPainter$1;
+function requirePainter$1() {
+  if (hasRequiredPainter$1)
+    return Painter$1;
+  hasRequiredPainter$1 = 1;
+  var logError2 = log$2;
+  var vmlCore = requireCore$1();
+  var _util2 = util$a;
+  var each2 = _util2.each;
+  function parseInt102(val) {
+    return parseInt(val, 10);
+  }
+  function VMLPainter(root, storage2) {
+    vmlCore.initVML();
+    this.root = root;
+    this.storage = storage2;
+    var vmlViewport = document.createElement("div");
+    var vmlRoot = document.createElement("div");
+    vmlViewport.style.cssText = "display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;";
+    vmlRoot.style.cssText = "position:absolute;left:0;top:0;";
+    root.appendChild(vmlViewport);
+    this._vmlRoot = vmlRoot;
+    this._vmlViewport = vmlViewport;
+    this.resize();
+    var oldDelFromStorage = storage2.delFromStorage;
+    var oldAddToStorage = storage2.addToStorage;
+    storage2.delFromStorage = function(el) {
+      oldDelFromStorage.call(storage2, el);
+      if (el) {
+        el.onRemove && el.onRemove(vmlRoot);
+      }
+    };
+    storage2.addToStorage = function(el) {
+      el.onAdd && el.onAdd(vmlRoot);
+      oldAddToStorage.call(storage2, el);
+    };
+    this._firstPaint = true;
+  }
+  VMLPainter.prototype = {
+    constructor: VMLPainter,
+    getType: function() {
+      return "vml";
+    },
+    /**
+     * @return {HTMLDivElement}
+     */
+    getViewportRoot: function() {
+      return this._vmlViewport;
+    },
+    getViewportRootOffset: function() {
+      var viewportRoot = this.getViewportRoot();
+      if (viewportRoot) {
+        return {
+          offsetLeft: viewportRoot.offsetLeft || 0,
+          offsetTop: viewportRoot.offsetTop || 0
+        };
+      }
+    },
+    /**
+     * 刷新
+     */
+    refresh: function() {
+      var list2 = this.storage.getDisplayList(true, true);
+      this._paintList(list2);
+    },
+    _paintList: function(list2) {
+      var vmlRoot = this._vmlRoot;
+      for (var i2 = 0; i2 < list2.length; i2++) {
+        var el = list2[i2];
+        if (el.invisible || el.ignore) {
+          if (!el.__alreadyNotVisible) {
+            el.onRemove(vmlRoot);
+          }
+          el.__alreadyNotVisible = true;
+        } else {
+          if (el.__alreadyNotVisible) {
+            el.onAdd(vmlRoot);
+          }
+          el.__alreadyNotVisible = false;
+          if (el.__dirty) {
+            el.beforeBrush && el.beforeBrush();
+            (el.brushVML || el.brush).call(el, vmlRoot);
+            el.afterBrush && el.afterBrush();
+          }
+        }
+        el.__dirty = false;
+      }
+      if (this._firstPaint) {
+        this._vmlViewport.appendChild(vmlRoot);
+        this._firstPaint = false;
+      }
+    },
+    resize: function(width, height) {
+      var width = width == null ? this._getWidth() : width;
+      var height = height == null ? this._getHeight() : height;
+      if (this._width !== width || this._height !== height) {
+        this._width = width;
+        this._height = height;
+        var vmlViewportStyle = this._vmlViewport.style;
+        vmlViewportStyle.width = width + "px";
+        vmlViewportStyle.height = height + "px";
+      }
+    },
+    dispose: function() {
+      this.root.innerHTML = "";
+      this._vmlRoot = this._vmlViewport = this.storage = null;
+    },
+    getWidth: function() {
+      return this._width;
+    },
+    getHeight: function() {
+      return this._height;
+    },
+    clear: function() {
+      if (this._vmlViewport) {
+        this.root.removeChild(this._vmlViewport);
+      }
+    },
+    _getWidth: function() {
+      var root = this.root;
+      var stl = root.currentStyle;
+      return (root.clientWidth || parseInt102(stl.width)) - parseInt102(stl.paddingLeft) - parseInt102(stl.paddingRight) | 0;
+    },
+    _getHeight: function() {
+      var root = this.root;
+      var stl = root.currentStyle;
+      return (root.clientHeight || parseInt102(stl.height)) - parseInt102(stl.paddingTop) - parseInt102(stl.paddingBottom) | 0;
+    }
+  };
+  function createMethodNotSupport2(method) {
+    return function() {
+      logError2('In IE8.0 VML mode painter not support method "' + method + '"');
+    };
+  }
+  each2(["getLayer", "insertLayer", "eachLayer", "eachBuiltinLayer", "eachOtherLayer", "getLayers", "modLayer", "delLayer", "clearLayer", "toDataURL", "pathToImage"], function(name2) {
+    VMLPainter.prototype[name2] = createMethodNotSupport2(name2);
+  });
+  var _default68 = VMLPainter;
+  Painter$1 = _default68;
+  return Painter$1;
+}
+var hasRequiredVml;
+function requireVml() {
+  if (hasRequiredVml)
+    return vml;
+  hasRequiredVml = 1;
+  requireGraphic$1();
+  var _zrender = zrender$1;
+  var registerPainter2 = _zrender.registerPainter;
+  var Painter2 = requirePainter$1();
+  registerPainter2("vml", Painter2);
+  return vml;
+}
+var svg$1 = {};
+var graphic$2 = {};
+var core$1 = {};
+var hasRequiredCore;
+function requireCore() {
+  if (hasRequiredCore)
+    return core$1;
+  hasRequiredCore = 1;
+  var svgURI = "http://www.w3.org/2000/svg";
+  function createElement2(name2) {
+    return document.createElementNS(svgURI, name2);
+  }
+  core$1.createElement = createElement2;
+  return core$1;
+}
+var hasRequiredGraphic;
+function requireGraphic() {
+  if (hasRequiredGraphic)
+    return graphic$2;
+  hasRequiredGraphic = 1;
+  var _core = requireCore();
+  var createElement2 = _core.createElement;
+  var PathProxy2 = PathProxy_1;
+  var BoundingRect2 = BoundingRect_1;
+  var matrix2 = matrix$5;
+  var textContain2 = text;
+  var textHelper2 = text$1;
+  var Text2 = Text_1;
+  var CMD2 = PathProxy2.CMD;
+  var arrayJoin = Array.prototype.join;
+  var NONE2 = "none";
+  var mathRound2 = Math.round;
+  var mathSin2 = Math.sin;
+  var mathCos2 = Math.cos;
+  var PI3 = Math.PI;
+  var PI22 = Math.PI * 2;
+  var degree2 = 180 / PI3;
+  var EPSILON2 = 1e-4;
+  function round42(val) {
+    return mathRound2(val * 1e4) / 1e4;
+  }
+  function isAroundZero2(val) {
+    return val < EPSILON2 && val > -EPSILON2;
+  }
+  function pathHasFill2(style2, isText) {
+    var fill = isText ? style2.textFill : style2.fill;
+    return fill != null && fill !== NONE2;
+  }
+  function pathHasStroke2(style2, isText) {
+    var stroke = isText ? style2.textStroke : style2.stroke;
+    return stroke != null && stroke !== NONE2;
+  }
+  function setTransform2(svgEl, m2) {
+    if (m2) {
+      attr(svgEl, "transform", "matrix(" + arrayJoin.call(m2, ",") + ")");
+    }
+  }
+  function attr(el, key2, val) {
+    if (!val || val.type !== "linear" && val.type !== "radial") {
+      el.setAttribute(key2, val);
+    }
+  }
+  function attrXLink(el, key2, val) {
+    el.setAttributeNS("http://www.w3.org/1999/xlink", key2, val);
+  }
+  function bindStyle(svgEl, style2, isText, el) {
+    if (pathHasFill2(style2, isText)) {
+      var fill = isText ? style2.textFill : style2.fill;
+      fill = fill === "transparent" ? NONE2 : fill;
+      attr(svgEl, "fill", fill);
+      attr(svgEl, "fill-opacity", style2.fillOpacity != null ? style2.fillOpacity * style2.opacity : style2.opacity);
+    } else {
+      attr(svgEl, "fill", NONE2);
+    }
+    if (pathHasStroke2(style2, isText)) {
+      var stroke = isText ? style2.textStroke : style2.stroke;
+      stroke = stroke === "transparent" ? NONE2 : stroke;
+      attr(svgEl, "stroke", stroke);
+      var strokeWidth = isText ? style2.textStrokeWidth : style2.lineWidth;
+      var strokeScale = !isText && style2.strokeNoScale ? el.getLineScale() : 1;
+      attr(svgEl, "stroke-width", strokeWidth / strokeScale);
+      attr(svgEl, "paint-order", isText ? "stroke" : "fill");
+      attr(svgEl, "stroke-opacity", style2.strokeOpacity != null ? style2.strokeOpacity : style2.opacity);
+      var lineDash = style2.lineDash;
+      if (lineDash) {
+        attr(svgEl, "stroke-dasharray", style2.lineDash.join(","));
+        attr(svgEl, "stroke-dashoffset", mathRound2(style2.lineDashOffset || 0));
+      } else {
+        attr(svgEl, "stroke-dasharray", "");
+      }
+      style2.lineCap && attr(svgEl, "stroke-linecap", style2.lineCap);
+      style2.lineJoin && attr(svgEl, "stroke-linejoin", style2.lineJoin);
+      style2.miterLimit && attr(svgEl, "stroke-miterlimit", style2.miterLimit);
+    } else {
+      attr(svgEl, "stroke", NONE2);
+    }
+  }
+  function pathDataToString(path2) {
+    var str = [];
+    var data2 = path2.data;
+    var dataLength = path2.len();
+    for (var i2 = 0; i2 < dataLength; ) {
+      var cmd = data2[i2++];
+      var cmdStr = "";
+      var nData = 0;
+      switch (cmd) {
+        case CMD2.M:
+          cmdStr = "M";
+          nData = 2;
+          break;
+        case CMD2.L:
+          cmdStr = "L";
+          nData = 2;
+          break;
+        case CMD2.Q:
+          cmdStr = "Q";
+          nData = 4;
+          break;
+        case CMD2.C:
+          cmdStr = "C";
+          nData = 6;
+          break;
+        case CMD2.A:
+          var cx = data2[i2++];
+          var cy = data2[i2++];
+          var rx = data2[i2++];
+          var ry = data2[i2++];
+          var theta = data2[i2++];
+          var dTheta = data2[i2++];
+          var psi = data2[i2++];
+          var clockwise = data2[i2++];
+          var dThetaPositive = Math.abs(dTheta);
+          var isCircle = isAroundZero2(dThetaPositive - PI22) || (clockwise ? dTheta >= PI22 : -dTheta >= PI22);
+          var unifiedTheta = dTheta > 0 ? dTheta % PI22 : dTheta % PI22 + PI22;
+          var large = false;
+          if (isCircle) {
+            large = true;
+          } else if (isAroundZero2(dThetaPositive)) {
+            large = false;
+          } else {
+            large = unifiedTheta >= PI3 === !!clockwise;
+          }
+          var x0 = round42(cx + rx * mathCos2(theta));
+          var y0 = round42(cy + ry * mathSin2(theta));
+          if (isCircle) {
+            if (clockwise) {
+              dTheta = PI22 - 1e-4;
+            } else {
+              dTheta = -PI22 + 1e-4;
+            }
+            large = true;
+            if (i2 === 9) {
+              str.push("M", x0, y0);
+            }
+          }
+          var x2 = round42(cx + rx * mathCos2(theta + dTheta));
+          var y2 = round42(cy + ry * mathSin2(theta + dTheta));
+          str.push("A", round42(rx), round42(ry), mathRound2(psi * degree2), +large, +clockwise, x2, y2);
+          break;
+        case CMD2.Z:
+          cmdStr = "Z";
+          break;
+        case CMD2.R:
+          var x2 = round42(data2[i2++]);
+          var y2 = round42(data2[i2++]);
+          var w2 = round42(data2[i2++]);
+          var h3 = round42(data2[i2++]);
+          str.push("M", x2, y2, "L", x2 + w2, y2, "L", x2 + w2, y2 + h3, "L", x2, y2 + h3, "L", x2, y2);
+          break;
+      }
+      cmdStr && str.push(cmdStr);
+      for (var j2 = 0; j2 < nData; j2++) {
+        str.push(round42(data2[i2++]));
+      }
+    }
+    return str.join(" ");
+  }
+  var svgPath = {};
+  svgPath.brush = function(el) {
+    var style2 = el.style;
+    var svgEl = el.__svgEl;
+    if (!svgEl) {
+      svgEl = createElement2("path");
+      el.__svgEl = svgEl;
+    }
+    if (!el.path) {
+      el.createPathProxy();
+    }
+    var path2 = el.path;
+    if (el.__dirtyPath) {
+      path2.beginPath();
+      path2.subPixelOptimize = false;
+      el.buildPath(path2, el.shape);
+      el.__dirtyPath = false;
+      var pathStr = pathDataToString(path2);
+      if (pathStr.indexOf("NaN") < 0) {
+        attr(svgEl, "d", pathStr);
+      }
+    }
+    bindStyle(svgEl, style2, false, el);
+    setTransform2(svgEl, el.transform);
+    if (style2.text != null) {
+      svgTextDrawRectText(el, el.getBoundingRect());
+    } else {
+      removeOldTextNode(el);
+    }
+  };
+  var svgImage = {};
+  svgImage.brush = function(el) {
+    var style2 = el.style;
+    var image2 = style2.image;
+    if (image2 instanceof HTMLImageElement) {
+      var src = image2.src;
+      image2 = src;
+    }
+    if (!image2) {
+      return;
+    }
+    var x2 = style2.x || 0;
+    var y2 = style2.y || 0;
+    var dw = style2.width;
+    var dh = style2.height;
+    var svgEl = el.__svgEl;
+    if (!svgEl) {
+      svgEl = createElement2("image");
+      el.__svgEl = svgEl;
+    }
+    if (image2 !== el.__imageSrc) {
+      attrXLink(svgEl, "href", image2);
+      el.__imageSrc = image2;
+    }
+    attr(svgEl, "width", dw);
+    attr(svgEl, "height", dh);
+    attr(svgEl, "x", x2);
+    attr(svgEl, "y", y2);
+    setTransform2(svgEl, el.transform);
+    if (style2.text != null) {
+      svgTextDrawRectText(el, el.getBoundingRect());
+    } else {
+      removeOldTextNode(el);
+    }
+  };
+  var svgText = {};
+  var _tmpTextHostRect = new BoundingRect2();
+  var _tmpTextBoxPos = {};
+  var _tmpTextTransform = [];
+  var TEXT_ALIGN_TO_ANCHRO = {
+    left: "start",
+    right: "end",
+    center: "middle",
+    middle: "middle"
+  };
+  var svgTextDrawRectText = function(el, hostRect) {
+    var style2 = el.style;
+    var elTransform = el.transform;
+    var needTransformTextByHostEl = el instanceof Text2 || style2.transformText;
+    el.__dirty && textHelper2.normalizeTextStyle(style2, true);
+    var text2 = style2.text;
+    text2 != null && (text2 += "");
+    if (!textHelper2.needDrawText(text2, style2)) {
+      return;
+    }
+    text2 == null && (text2 = "");
+    if (!needTransformTextByHostEl && elTransform) {
+      _tmpTextHostRect.copy(hostRect);
+      _tmpTextHostRect.applyTransform(elTransform);
+      hostRect = _tmpTextHostRect;
+    }
+    var textSvgEl = el.__textSvgEl;
+    if (!textSvgEl) {
+      textSvgEl = createElement2("text");
+      el.__textSvgEl = textSvgEl;
+    }
+    var textSvgElStyle = textSvgEl.style;
+    var font = style2.font || textContain2.DEFAULT_FONT;
+    var computedFont = textSvgEl.__computedFont;
+    if (font !== textSvgEl.__styleFont) {
+      textSvgElStyle.font = textSvgEl.__styleFont = font;
+      computedFont = textSvgEl.__computedFont = textSvgElStyle.font;
+    }
+    var textPadding = style2.textPadding;
+    var textLineHeight = style2.textLineHeight;
+    var contentBlock = el.__textCotentBlock;
+    if (!contentBlock || el.__dirtyText) {
+      contentBlock = el.__textCotentBlock = textContain2.parsePlainText(text2, computedFont, textPadding, textLineHeight, style2.truncate);
+    }
+    var outerHeight = contentBlock.outerHeight;
+    var lineHeight = contentBlock.lineHeight;
+    textHelper2.getBoxPosition(_tmpTextBoxPos, el, style2, hostRect);
+    var baseX = _tmpTextBoxPos.baseX;
+    var baseY = _tmpTextBoxPos.baseY;
+    var textAlign = _tmpTextBoxPos.textAlign || "left";
+    var textVerticalAlign = _tmpTextBoxPos.textVerticalAlign;
+    setTextTransform(textSvgEl, needTransformTextByHostEl, elTransform, style2, hostRect, baseX, baseY);
+    var boxY = textContain2.adjustTextY(baseY, outerHeight, textVerticalAlign);
+    var textX = baseX;
+    var textY = boxY;
+    if (textPadding) {
+      textX = getTextXForPadding2(baseX, textAlign, textPadding);
+      textY += textPadding[0];
+    }
+    textY += lineHeight / 2;
+    bindStyle(textSvgEl, style2, true, el);
+    var canCacheByTextString = contentBlock.canCacheByTextString;
+    var tspanList = el.__tspanList || (el.__tspanList = []);
+    var tspanOriginLen = tspanList.length;
+    if (canCacheByTextString && el.__canCacheByTextString && el.__text === text2) {
+      if (el.__dirtyText && tspanOriginLen) {
+        for (var idx = 0; idx < tspanOriginLen; ++idx) {
+          updateTextLocation(tspanList[idx], textAlign, textX, textY + idx * lineHeight);
+        }
+      }
+    } else {
+      el.__text = text2;
+      el.__canCacheByTextString = canCacheByTextString;
+      var textLines = contentBlock.lines;
+      var nTextLines = textLines.length;
+      var idx = 0;
+      for (; idx < nTextLines; idx++) {
+        var tspan = tspanList[idx];
+        var singleLineText = textLines[idx];
+        if (!tspan) {
+          tspan = tspanList[idx] = createElement2("tspan");
+          textSvgEl.appendChild(tspan);
+          tspan.appendChild(document.createTextNode(singleLineText));
+        } else if (tspan.__zrText !== singleLineText) {
+          tspan.innerHTML = "";
+          tspan.appendChild(document.createTextNode(singleLineText));
+        }
+        updateTextLocation(tspan, textAlign, textX, textY + idx * lineHeight);
+      }
+      if (tspanOriginLen > nTextLines) {
+        for (; idx < tspanOriginLen; idx++) {
+          textSvgEl.removeChild(tspanList[idx]);
+        }
+        tspanList.length = nTextLines;
+      }
+    }
+  };
+  function setTextTransform(textSvgEl, needTransformTextByHostEl, elTransform, style2, hostRect, baseX, baseY) {
+    matrix2.identity(_tmpTextTransform);
+    if (needTransformTextByHostEl && elTransform) {
+      matrix2.copy(_tmpTextTransform, elTransform);
+    }
+    var textRotation = style2.textRotation;
+    if (hostRect && textRotation) {
+      var origin2 = style2.textOrigin;
+      if (origin2 === "center") {
+        baseX = hostRect.width / 2 + hostRect.x;
+        baseY = hostRect.height / 2 + hostRect.y;
+      } else if (origin2) {
+        baseX = origin2[0] + hostRect.x;
+        baseY = origin2[1] + hostRect.y;
+      }
+      _tmpTextTransform[4] -= baseX;
+      _tmpTextTransform[5] -= baseY;
+      matrix2.rotate(_tmpTextTransform, _tmpTextTransform, textRotation);
+      _tmpTextTransform[4] += baseX;
+      _tmpTextTransform[5] += baseY;
+    }
+    setTransform2(textSvgEl, _tmpTextTransform);
+  }
+  function getTextXForPadding2(x2, textAlign, textPadding) {
+    return textAlign === "right" ? x2 - textPadding[1] : textAlign === "center" ? x2 + textPadding[3] / 2 - textPadding[1] / 2 : x2 + textPadding[3];
+  }
+  function updateTextLocation(tspan, textAlign, x2, y2) {
+    attr(tspan, "dominant-baseline", "middle");
+    attr(tspan, "text-anchor", TEXT_ALIGN_TO_ANCHRO[textAlign]);
+    attr(tspan, "x", x2);
+    attr(tspan, "y", y2);
+  }
+  function removeOldTextNode(el) {
+    if (el && el.__textSvgEl) {
+      if (el.__textSvgEl.parentNode) {
+        el.__textSvgEl.parentNode.removeChild(el.__textSvgEl);
+      }
+      el.__textSvgEl = null;
+      el.__tspanList = [];
+      el.__text = null;
+    }
+  }
+  svgText.drawRectText = svgTextDrawRectText;
+  svgText.brush = function(el) {
+    var style2 = el.style;
+    if (style2.text != null) {
+      svgTextDrawRectText(el, false);
+    } else {
+      removeOldTextNode(el);
+    }
+  };
+  graphic$2.path = svgPath;
+  graphic$2.image = svgImage;
+  graphic$2.text = svgText;
+  return graphic$2;
+}
+var arrayDiff2;
+var hasRequiredArrayDiff2;
+function requireArrayDiff2() {
+  if (hasRequiredArrayDiff2)
+    return arrayDiff2;
+  hasRequiredArrayDiff2 = 1;
+  function Diff() {
+  }
+  Diff.prototype = {
+    diff: function(oldArr, newArr, equals) {
+      if (!equals) {
+        equals = function(a2, b2) {
+          return a2 === b2;
+        };
+      }
+      this.equals = equals;
+      var self2 = this;
+      oldArr = oldArr.slice();
+      newArr = newArr.slice();
+      var newLen = newArr.length;
+      var oldLen = oldArr.length;
+      var editLength = 1;
+      var maxEditLength = newLen + oldLen;
+      var bestPath = [{
+        newPos: -1,
+        components: []
+      }];
+      var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);
+      if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
+        var indices = [];
+        for (var i2 = 0; i2 < newArr.length; i2++) {
+          indices.push(i2);
+        }
+        return [{
+          indices,
+          count: newArr.length
+        }];
+      }
+      function execEditLength() {
+        for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
+          var basePath;
+          var addPath = bestPath[diagonalPath - 1];
+          var removePath = bestPath[diagonalPath + 1];
+          var oldPos2 = (removePath ? removePath.newPos : 0) - diagonalPath;
+          if (addPath) {
+            bestPath[diagonalPath - 1] = void 0;
+          }
+          var canAdd = addPath && addPath.newPos + 1 < newLen;
+          var canRemove = removePath && 0 <= oldPos2 && oldPos2 < oldLen;
+          if (!canAdd && !canRemove) {
+            bestPath[diagonalPath] = void 0;
+            continue;
+          }
+          if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
+            basePath = clonePath2(removePath);
+            self2.pushComponent(basePath.components, void 0, true);
+          } else {
+            basePath = addPath;
+            basePath.newPos++;
+            self2.pushComponent(basePath.components, true, void 0);
+          }
+          oldPos2 = self2.extractCommon(basePath, newArr, oldArr, diagonalPath);
+          if (basePath.newPos + 1 >= newLen && oldPos2 + 1 >= oldLen) {
+            return buildValues(self2, basePath.components);
+          } else {
+            bestPath[diagonalPath] = basePath;
+          }
+        }
+        editLength++;
+      }
+      while (editLength <= maxEditLength) {
+        var ret = execEditLength();
+        if (ret) {
+          return ret;
+        }
+      }
+    },
+    pushComponent: function(components, added, removed) {
+      var last = components[components.length - 1];
+      if (last && last.added === added && last.removed === removed) {
+        components[components.length - 1] = {
+          count: last.count + 1,
+          added,
+          removed
+        };
+      } else {
+        components.push({
+          count: 1,
+          added,
+          removed
+        });
+      }
+    },
+    extractCommon: function(basePath, newArr, oldArr, diagonalPath) {
+      var newLen = newArr.length;
+      var oldLen = oldArr.length;
+      var newPos = basePath.newPos;
+      var oldPos = newPos - diagonalPath;
+      var commonCount = 0;
+      while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {
+        newPos++;
+        oldPos++;
+        commonCount++;
+      }
+      if (commonCount) {
+        basePath.components.push({
+          count: commonCount
+        });
+      }
+      basePath.newPos = newPos;
+      return oldPos;
+    },
+    tokenize: function(value) {
+      return value.slice();
+    },
+    join: function(value) {
+      return value.slice();
+    }
+  };
+  function buildValues(diff, components, newArr, oldArr) {
+    var componentPos = 0;
+    var componentLen = components.length;
+    var newPos = 0;
+    var oldPos = 0;
+    for (; componentPos < componentLen; componentPos++) {
+      var component2 = components[componentPos];
+      if (!component2.removed) {
+        var indices = [];
+        for (var i2 = newPos; i2 < newPos + component2.count; i2++) {
+          indices.push(i2);
+        }
+        component2.indices = indices;
+        newPos += component2.count;
+        if (!component2.added) {
+          oldPos += component2.count;
+        }
+      } else {
+        var indices = [];
+        for (var i2 = oldPos; i2 < oldPos + component2.count; i2++) {
+          indices.push(i2);
+        }
+        component2.indices = indices;
+        oldPos += component2.count;
+      }
+    }
+    return components;
+  }
+  function clonePath2(path2) {
+    return {
+      newPos: path2.newPos,
+      components: path2.components.slice(0)
+    };
+  }
+  var arrayDiff = new Diff();
+  function _default68(oldArr, newArr, callback) {
+    return arrayDiff.diff(oldArr, newArr, callback);
+  }
+  arrayDiff2 = _default68;
+  return arrayDiff2;
+}
+var Definable_1;
+var hasRequiredDefinable;
+function requireDefinable() {
+  if (hasRequiredDefinable)
+    return Definable_1;
+  hasRequiredDefinable = 1;
+  var _core = requireCore();
+  var createElement2 = _core.createElement;
+  var zrUtil2 = util$a;
+  var Path2 = Path_1;
+  var ZImage2 = Image$2;
+  var ZText = Text_1;
+  var _graphic = requireGraphic();
+  var svgPath = _graphic.path;
+  var svgImage = _graphic.image;
+  var svgText = _graphic.text;
+  var MARK_UNUSED = "0";
+  var MARK_USED = "1";
+  function Definable(zrId, svgRoot, tagNames, markLabel, domName) {
+    this._zrId = zrId;
+    this._svgRoot = svgRoot;
+    this._tagNames = typeof tagNames === "string" ? [tagNames] : tagNames;
+    this._markLabel = markLabel;
+    this._domName = domName || "_dom";
+    this.nextId = 0;
+  }
+  Definable.prototype.createElement = createElement2;
+  Definable.prototype.getDefs = function(isForceCreating) {
+    var svgRoot = this._svgRoot;
+    var defs = this._svgRoot.getElementsByTagName("defs");
+    if (defs.length === 0) {
+      if (isForceCreating) {
+        defs = svgRoot.insertBefore(
+          this.createElement("defs"),
+          // Create new tag
+          svgRoot.firstChild
+          // Insert in the front of svg
+        );
+        if (!defs.contains) {
+          defs.contains = function(el) {
+            var children3 = defs.children;
+            if (!children3) {
+              return false;
+            }
+            for (var i2 = children3.length - 1; i2 >= 0; --i2) {
+              if (children3[i2] === el) {
+                return true;
+              }
+            }
+            return false;
+          };
+        }
+        return defs;
+      } else {
+        return null;
+      }
+    } else {
+      return defs[0];
+    }
+  };
+  Definable.prototype.update = function(element, onUpdate) {
+    if (!element) {
+      return;
+    }
+    var defs = this.getDefs(false);
+    if (element[this._domName] && defs.contains(element[this._domName])) {
+      if (typeof onUpdate === "function") {
+        onUpdate(element);
+      }
+    } else {
+      var dom2 = this.add(element);
+      if (dom2) {
+        element[this._domName] = dom2;
+      }
+    }
+  };
+  Definable.prototype.addDom = function(dom2) {
+    var defs = this.getDefs(true);
+    defs.appendChild(dom2);
+  };
+  Definable.prototype.removeDom = function(element) {
+    var defs = this.getDefs(false);
+    if (defs && element[this._domName]) {
+      defs.removeChild(element[this._domName]);
+      element[this._domName] = null;
+    }
+  };
+  Definable.prototype.getDoms = function() {
+    var defs = this.getDefs(false);
+    if (!defs) {
+      return [];
+    }
+    var doms = [];
+    zrUtil2.each(this._tagNames, function(tagName) {
+      var tags = defs.getElementsByTagName(tagName);
+      doms = doms.concat([].slice.call(tags));
+    });
+    return doms;
+  };
+  Definable.prototype.markAllUnused = function() {
+    var doms = this.getDoms();
+    var that = this;
+    zrUtil2.each(doms, function(dom2) {
+      dom2[that._markLabel] = MARK_UNUSED;
+    });
+  };
+  Definable.prototype.markUsed = function(dom2) {
+    if (dom2) {
+      dom2[this._markLabel] = MARK_USED;
+    }
+  };
+  Definable.prototype.removeUnused = function() {
+    var defs = this.getDefs(false);
+    if (!defs) {
+      return;
+    }
+    var doms = this.getDoms();
+    var that = this;
+    zrUtil2.each(doms, function(dom2) {
+      if (dom2[that._markLabel] !== MARK_USED) {
+        defs.removeChild(dom2);
+      }
+    });
+  };
+  Definable.prototype.getSvgProxy = function(displayable) {
+    if (displayable instanceof Path2) {
+      return svgPath;
+    } else if (displayable instanceof ZImage2) {
+      return svgImage;
+    } else if (displayable instanceof ZText) {
+      return svgText;
+    } else {
+      return svgPath;
+    }
+  };
+  Definable.prototype.getTextSvgElement = function(displayable) {
+    return displayable.__textSvgEl;
+  };
+  Definable.prototype.getSvgElement = function(displayable) {
+    return displayable.__svgEl;
+  };
+  var _default68 = Definable;
+  Definable_1 = _default68;
+  return Definable_1;
+}
+var GradientManager_1;
+var hasRequiredGradientManager;
+function requireGradientManager() {
+  if (hasRequiredGradientManager)
+    return GradientManager_1;
+  hasRequiredGradientManager = 1;
+  var Definable = requireDefinable();
+  var zrUtil2 = util$a;
+  var logError2 = log$2;
+  var colorTool2 = color$2;
+  function GradientManager(zrId, svgRoot) {
+    Definable.call(this, zrId, svgRoot, ["linearGradient", "radialGradient"], "__gradient_in_use__");
+  }
+  zrUtil2.inherits(GradientManager, Definable);
+  GradientManager.prototype.addWithoutUpdate = function(svgElement, displayable) {
+    if (displayable && displayable.style) {
+      var that = this;
+      zrUtil2.each(["fill", "stroke"], function(fillOrStroke) {
+        if (displayable.style[fillOrStroke] && (displayable.style[fillOrStroke].type === "linear" || displayable.style[fillOrStroke].type === "radial")) {
+          var gradient = displayable.style[fillOrStroke];
+          var defs = that.getDefs(true);
+          var dom2;
+          if (gradient._dom) {
+            dom2 = gradient._dom;
+            if (!defs.contains(gradient._dom)) {
+              that.addDom(dom2);
+            }
+          } else {
+            dom2 = that.add(gradient);
+          }
+          that.markUsed(displayable);
+          var id = dom2.getAttribute("id");
+          svgElement.setAttribute(fillOrStroke, "url(#" + id + ")");
+        }
+      });
+    }
+  };
+  GradientManager.prototype.add = function(gradient) {
+    var dom2;
+    if (gradient.type === "linear") {
+      dom2 = this.createElement("linearGradient");
+    } else if (gradient.type === "radial") {
+      dom2 = this.createElement("radialGradient");
+    } else {
+      logError2("Illegal gradient type.");
+      return null;
+    }
+    gradient.id = gradient.id || this.nextId++;
+    dom2.setAttribute("id", "zr" + this._zrId + "-gradient-" + gradient.id);
+    this.updateDom(gradient, dom2);
+    this.addDom(dom2);
+    return dom2;
+  };
+  GradientManager.prototype.update = function(gradient) {
+    var that = this;
+    Definable.prototype.update.call(this, gradient, function() {
+      var type2 = gradient.type;
+      var tagName = gradient._dom.tagName;
+      if (type2 === "linear" && tagName === "linearGradient" || type2 === "radial" && tagName === "radialGradient") {
+        that.updateDom(gradient, gradient._dom);
+      } else {
+        that.removeDom(gradient);
+        that.add(gradient);
+      }
+    });
+  };
+  GradientManager.prototype.updateDom = function(gradient, dom2) {
+    if (gradient.type === "linear") {
+      dom2.setAttribute("x1", gradient.x);
+      dom2.setAttribute("y1", gradient.y);
+      dom2.setAttribute("x2", gradient.x2);
+      dom2.setAttribute("y2", gradient.y2);
+    } else if (gradient.type === "radial") {
+      dom2.setAttribute("cx", gradient.x);
+      dom2.setAttribute("cy", gradient.y);
+      dom2.setAttribute("r", gradient.r);
+    } else {
+      logError2("Illegal gradient type.");
+      return;
+    }
+    if (gradient.global) {
+      dom2.setAttribute("gradientUnits", "userSpaceOnUse");
+    } else {
+      dom2.setAttribute("gradientUnits", "objectBoundingBox");
+    }
+    dom2.innerHTML = "";
+    var colors = gradient.colorStops;
+    for (var i2 = 0, len2 = colors.length; i2 < len2; ++i2) {
+      var stop2 = this.createElement("stop");
+      stop2.setAttribute("offset", colors[i2].offset * 100 + "%");
+      var color2 = colors[i2].color;
+      if (color2.indexOf("rgba") > -1) {
+        var opacity = colorTool2.parse(color2)[3];
+        var hex = colorTool2.toHex(color2);
+        stop2.setAttribute("stop-color", "#" + hex);
+        stop2.setAttribute("stop-opacity", opacity);
+      } else {
+        stop2.setAttribute("stop-color", colors[i2].color);
+      }
+      dom2.appendChild(stop2);
+    }
+    gradient._dom = dom2;
+  };
+  GradientManager.prototype.markUsed = function(displayable) {
+    if (displayable.style) {
+      var gradient = displayable.style.fill;
+      if (gradient && gradient._dom) {
+        Definable.prototype.markUsed.call(this, gradient._dom);
+      }
+      gradient = displayable.style.stroke;
+      if (gradient && gradient._dom) {
+        Definable.prototype.markUsed.call(this, gradient._dom);
+      }
+    }
+  };
+  var _default68 = GradientManager;
+  GradientManager_1 = _default68;
+  return GradientManager_1;
+}
+var ClippathManager_1;
+var hasRequiredClippathManager;
+function requireClippathManager() {
+  if (hasRequiredClippathManager)
+    return ClippathManager_1;
+  hasRequiredClippathManager = 1;
+  var Definable = requireDefinable();
+  var zrUtil2 = util$a;
+  var matrix2 = matrix$5;
+  function ClippathManager(zrId, svgRoot) {
+    Definable.call(this, zrId, svgRoot, "clipPath", "__clippath_in_use__");
+  }
+  zrUtil2.inherits(ClippathManager, Definable);
+  ClippathManager.prototype.update = function(displayable) {
+    var svgEl = this.getSvgElement(displayable);
+    if (svgEl) {
+      this.updateDom(svgEl, displayable.__clipPaths, false);
+    }
+    var textEl = this.getTextSvgElement(displayable);
+    if (textEl) {
+      this.updateDom(textEl, displayable.__clipPaths, true);
+    }
+    this.markUsed(displayable);
+  };
+  ClippathManager.prototype.updateDom = function(parentEl, clipPaths, isText) {
+    if (clipPaths && clipPaths.length > 0) {
+      var defs = this.getDefs(true);
+      var clipPath = clipPaths[0];
+      var clipPathEl;
+      var id;
+      var dom2 = isText ? "_textDom" : "_dom";
+      if (clipPath[dom2]) {
+        id = clipPath[dom2].getAttribute("id");
+        clipPathEl = clipPath[dom2];
+        if (!defs.contains(clipPathEl)) {
+          defs.appendChild(clipPathEl);
+        }
+      } else {
+        id = "zr" + this._zrId + "-clip-" + this.nextId;
+        ++this.nextId;
+        clipPathEl = this.createElement("clipPath");
+        clipPathEl.setAttribute("id", id);
+        defs.appendChild(clipPathEl);
+        clipPath[dom2] = clipPathEl;
+      }
+      var svgProxy = this.getSvgProxy(clipPath);
+      if (clipPath.transform && clipPath.parent.invTransform && !isText) {
+        var transform3 = Array.prototype.slice.call(clipPath.transform);
+        matrix2.mul(clipPath.transform, clipPath.parent.invTransform, clipPath.transform);
+        svgProxy.brush(clipPath);
+        clipPath.transform = transform3;
+      } else {
+        svgProxy.brush(clipPath);
+      }
+      var pathEl = this.getSvgElement(clipPath);
+      clipPathEl.innerHTML = "";
+      clipPathEl.appendChild(pathEl.cloneNode());
+      parentEl.setAttribute("clip-path", "url(#" + id + ")");
+      if (clipPaths.length > 1) {
+        this.updateDom(clipPathEl, clipPaths.slice(1), isText);
+      }
+    } else {
+      if (parentEl) {
+        parentEl.setAttribute("clip-path", "none");
+      }
+    }
+  };
+  ClippathManager.prototype.markUsed = function(displayable) {
+    var that = this;
+    if (displayable.__clipPaths) {
+      zrUtil2.each(displayable.__clipPaths, function(clipPath) {
+        if (clipPath._dom) {
+          Definable.prototype.markUsed.call(that, clipPath._dom);
+        }
+        if (clipPath._textDom) {
+          Definable.prototype.markUsed.call(that, clipPath._textDom);
+        }
+      });
+    }
+  };
+  var _default68 = ClippathManager;
+  ClippathManager_1 = _default68;
+  return ClippathManager_1;
+}
+var ShadowManager_1;
+var hasRequiredShadowManager;
+function requireShadowManager() {
+  if (hasRequiredShadowManager)
+    return ShadowManager_1;
+  hasRequiredShadowManager = 1;
+  var Definable = requireDefinable();
+  var zrUtil2 = util$a;
+  function ShadowManager(zrId, svgRoot) {
+    Definable.call(this, zrId, svgRoot, ["filter"], "__filter_in_use__", "_shadowDom");
+  }
+  zrUtil2.inherits(ShadowManager, Definable);
+  ShadowManager.prototype.addWithoutUpdate = function(svgElement, displayable) {
+    if (displayable && hasShadow2(displayable.style)) {
+      var dom2;
+      if (displayable._shadowDom) {
+        dom2 = displayable._shadowDom;
+        var defs = this.getDefs(true);
+        if (!defs.contains(displayable._shadowDom)) {
+          this.addDom(dom2);
+        }
+      } else {
+        dom2 = this.add(displayable);
+      }
+      this.markUsed(displayable);
+      var id = dom2.getAttribute("id");
+      svgElement.style.filter = "url(#" + id + ")";
+    }
+  };
+  ShadowManager.prototype.add = function(displayable) {
+    var dom2 = this.createElement("filter");
+    displayable._shadowDomId = displayable._shadowDomId || this.nextId++;
+    dom2.setAttribute("id", "zr" + this._zrId + "-shadow-" + displayable._shadowDomId);
+    this.updateDom(displayable, dom2);
+    this.addDom(dom2);
+    return dom2;
+  };
+  ShadowManager.prototype.update = function(svgElement, displayable) {
+    var style2 = displayable.style;
+    if (hasShadow2(style2)) {
+      var that = this;
+      Definable.prototype.update.call(this, displayable, function() {
+        that.updateDom(displayable, displayable._shadowDom);
+      });
+    } else {
+      this.remove(svgElement, displayable);
+    }
+  };
+  ShadowManager.prototype.remove = function(svgElement, displayable) {
+    if (displayable._shadowDomId != null) {
+      this.removeDom(svgElement);
+      svgElement.style.filter = "";
+    }
+  };
+  ShadowManager.prototype.updateDom = function(displayable, dom2) {
+    var domChild = dom2.getElementsByTagName("feDropShadow");
+    if (domChild.length === 0) {
+      domChild = this.createElement("feDropShadow");
+    } else {
+      domChild = domChild[0];
+    }
+    var style2 = displayable.style;
+    var scaleX = displayable.scale ? displayable.scale[0] || 1 : 1;
+    var scaleY = displayable.scale ? displayable.scale[1] || 1 : 1;
+    var offsetX;
+    var offsetY;
+    var blur2;
+    var color2;
+    if (style2.shadowBlur || style2.shadowOffsetX || style2.shadowOffsetY) {
+      offsetX = style2.shadowOffsetX || 0;
+      offsetY = style2.shadowOffsetY || 0;
+      blur2 = style2.shadowBlur;
+      color2 = style2.shadowColor;
+    } else if (style2.textShadowBlur) {
+      offsetX = style2.textShadowOffsetX || 0;
+      offsetY = style2.textShadowOffsetY || 0;
+      blur2 = style2.textShadowBlur;
+      color2 = style2.textShadowColor;
+    } else {
+      this.removeDom(dom2, style2);
+      return;
+    }
+    domChild.setAttribute("dx", offsetX / scaleX);
+    domChild.setAttribute("dy", offsetY / scaleY);
+    domChild.setAttribute("flood-color", color2);
+    var stdDx = blur2 / 2 / scaleX;
+    var stdDy = blur2 / 2 / scaleY;
+    var stdDeviation = stdDx + " " + stdDy;
+    domChild.setAttribute("stdDeviation", stdDeviation);
+    dom2.setAttribute("x", "-100%");
+    dom2.setAttribute("y", "-100%");
+    dom2.setAttribute("width", Math.ceil(blur2 / 2 * 200) + "%");
+    dom2.setAttribute("height", Math.ceil(blur2 / 2 * 200) + "%");
+    dom2.appendChild(domChild);
+    displayable._shadowDom = dom2;
+  };
+  ShadowManager.prototype.markUsed = function(displayable) {
+    if (displayable._shadowDom) {
+      Definable.prototype.markUsed.call(this, displayable._shadowDom);
+    }
+  };
+  function hasShadow2(style2) {
+    return style2 && (style2.shadowBlur || style2.shadowOffsetX || style2.shadowOffsetY || style2.textShadowBlur || style2.textShadowOffsetX || style2.textShadowOffsetY);
+  }
+  var _default68 = ShadowManager;
+  ShadowManager_1 = _default68;
+  return ShadowManager_1;
+}
+var Painter;
+var hasRequiredPainter;
+function requirePainter() {
+  if (hasRequiredPainter)
+    return Painter;
+  hasRequiredPainter = 1;
+  var _core = requireCore();
+  var createElement2 = _core.createElement;
+  var util2 = util$a;
+  var logError2 = log$2;
+  var Path2 = Path_1;
+  var ZImage2 = Image$2;
+  var ZText = Text_1;
+  var arrayDiff = requireArrayDiff2();
+  var GradientManager = requireGradientManager();
+  var ClippathManager = requireClippathManager();
+  var ShadowManager = requireShadowManager();
+  var _graphic = requireGraphic();
+  var svgPath = _graphic.path;
+  var svgImage = _graphic.image;
+  var svgText = _graphic.text;
+  function parseInt102(val) {
+    return parseInt(val, 10);
+  }
+  function getSvgProxy(el) {
+    if (el instanceof Path2) {
+      return svgPath;
+    } else if (el instanceof ZImage2) {
+      return svgImage;
+    } else if (el instanceof ZText) {
+      return svgText;
+    } else {
+      return svgPath;
+    }
+  }
+  function checkParentAvailable(parent3, child) {
+    return child && parent3 && child.parentNode !== parent3;
+  }
+  function insertAfter2(parent3, child, prevSibling) {
+    if (checkParentAvailable(parent3, child) && prevSibling) {
+      var nextSibling2 = prevSibling.nextSibling;
+      nextSibling2 ? parent3.insertBefore(child, nextSibling2) : parent3.appendChild(child);
+    }
+  }
+  function prepend(parent3, child) {
+    if (checkParentAvailable(parent3, child)) {
+      var firstChild = parent3.firstChild;
+      firstChild ? parent3.insertBefore(child, firstChild) : parent3.appendChild(child);
+    }
+  }
+  function remove2(parent3, child) {
+    if (child && parent3 && child.parentNode === parent3) {
+      parent3.removeChild(child);
+    }
+  }
+  function getTextSvgElement(displayable) {
+    return displayable.__textSvgEl;
+  }
+  function getSvgElement(displayable) {
+    return displayable.__svgEl;
+  }
+  var SVGPainter2 = function(root, storage2, opts2, zrId) {
+    this.root = root;
+    this.storage = storage2;
+    this._opts = opts2 = util2.extend({}, opts2 || {});
+    var svgDom = createElement2("svg");
+    svgDom.setAttribute("xmlns", "http://www.w3.org/2000/svg");
+    svgDom.setAttribute("version", "1.1");
+    svgDom.setAttribute("baseProfile", "full");
+    svgDom.style.cssText = "user-select:none;position:absolute;left:0;top:0;";
+    var bgRoot = createElement2("g");
+    svgDom.appendChild(bgRoot);
+    var svgRoot = createElement2("g");
+    svgDom.appendChild(svgRoot);
+    this.gradientManager = new GradientManager(zrId, svgRoot);
+    this.clipPathManager = new ClippathManager(zrId, svgRoot);
+    this.shadowManager = new ShadowManager(zrId, svgRoot);
+    var viewport = document.createElement("div");
+    viewport.style.cssText = "overflow:hidden;position:relative";
+    this._svgDom = svgDom;
+    this._svgRoot = svgRoot;
+    this._backgroundRoot = bgRoot;
+    this._viewport = viewport;
+    root.appendChild(viewport);
+    viewport.appendChild(svgDom);
+    this.resize(opts2.width, opts2.height);
+    this._visibleList = [];
+  };
+  SVGPainter2.prototype = {
+    constructor: SVGPainter2,
+    getType: function() {
+      return "svg";
+    },
+    getViewportRoot: function() {
+      return this._viewport;
+    },
+    getSvgDom: function() {
+      return this._svgDom;
+    },
+    getSvgRoot: function() {
+      return this._svgRoot;
+    },
+    getViewportRootOffset: function() {
+      var viewportRoot = this.getViewportRoot();
+      if (viewportRoot) {
+        return {
+          offsetLeft: viewportRoot.offsetLeft || 0,
+          offsetTop: viewportRoot.offsetTop || 0
+        };
+      }
+    },
+    refresh: function() {
+      var list2 = this.storage.getDisplayList(true);
+      this._paintList(list2);
+    },
+    setBackgroundColor: function(backgroundColor2) {
+      if (this._backgroundRoot && this._backgroundNode) {
+        this._backgroundRoot.removeChild(this._backgroundNode);
+      }
+      var bgNode = createElement2("rect");
+      bgNode.setAttribute("width", this.getWidth());
+      bgNode.setAttribute("height", this.getHeight());
+      bgNode.setAttribute("x", 0);
+      bgNode.setAttribute("y", 0);
+      bgNode.setAttribute("id", 0);
+      bgNode.style.fill = backgroundColor2;
+      this._backgroundRoot.appendChild(bgNode);
+      this._backgroundNode = bgNode;
+    },
+    _paintList: function(list2) {
+      this.gradientManager.markAllUnused();
+      this.clipPathManager.markAllUnused();
+      this.shadowManager.markAllUnused();
+      var svgRoot = this._svgRoot;
+      var visibleList = this._visibleList;
+      var listLen = list2.length;
+      var newVisibleList = [];
+      var i2;
+      for (i2 = 0; i2 < listLen; i2++) {
+        var displayable = list2[i2];
+        var svgProxy = getSvgProxy(displayable);
+        var svgElement = getSvgElement(displayable) || getTextSvgElement(displayable);
+        if (!displayable.invisible) {
+          if (displayable.__dirty) {
+            svgProxy && svgProxy.brush(displayable);
+            this.clipPathManager.update(displayable);
+            if (displayable.style) {
+              this.gradientManager.update(displayable.style.fill);
+              this.gradientManager.update(displayable.style.stroke);
+              this.shadowManager.update(svgElement, displayable);
+            }
+            displayable.__dirty = false;
+          }
+          newVisibleList.push(displayable);
+        }
+      }
+      var diff = arrayDiff(visibleList, newVisibleList);
+      var prevSvgElement;
+      for (i2 = 0; i2 < diff.length; i2++) {
+        var item = diff[i2];
+        if (item.removed) {
+          for (var k2 = 0; k2 < item.count; k2++) {
+            var displayable = visibleList[item.indices[k2]];
+            var svgElement = getSvgElement(displayable);
+            var textSvgElement = getTextSvgElement(displayable);
+            remove2(svgRoot, svgElement);
+            remove2(svgRoot, textSvgElement);
+          }
+        }
+      }
+      for (i2 = 0; i2 < diff.length; i2++) {
+        var item = diff[i2];
+        if (item.added) {
+          for (var k2 = 0; k2 < item.count; k2++) {
+            var displayable = newVisibleList[item.indices[k2]];
+            var svgElement = getSvgElement(displayable);
+            var textSvgElement = getTextSvgElement(displayable);
+            prevSvgElement ? insertAfter2(svgRoot, svgElement, prevSvgElement) : prepend(svgRoot, svgElement);
+            if (svgElement) {
+              insertAfter2(svgRoot, textSvgElement, svgElement);
+            } else if (prevSvgElement) {
+              insertAfter2(svgRoot, textSvgElement, prevSvgElement);
+            } else {
+              prepend(svgRoot, textSvgElement);
+            }
+            insertAfter2(svgRoot, textSvgElement, svgElement);
+            prevSvgElement = textSvgElement || svgElement || prevSvgElement;
+            this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
+            this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
+            this.clipPathManager.markUsed(displayable);
+          }
+        } else if (!item.removed) {
+          for (var k2 = 0; k2 < item.count; k2++) {
+            var displayable = newVisibleList[item.indices[k2]];
+            var svgElement = getSvgElement(displayable);
+            var textSvgElement = getTextSvgElement(displayable);
+            var svgElement = getSvgElement(displayable);
+            var textSvgElement = getTextSvgElement(displayable);
+            this.gradientManager.markUsed(displayable);
+            this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
+            this.shadowManager.markUsed(displayable);
+            this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
+            this.clipPathManager.markUsed(displayable);
+            if (textSvgElement) {
+              insertAfter2(svgRoot, textSvgElement, svgElement);
+            }
+            prevSvgElement = svgElement || textSvgElement || prevSvgElement;
+          }
+        }
+      }
+      this.gradientManager.removeUnused();
+      this.clipPathManager.removeUnused();
+      this.shadowManager.removeUnused();
+      this._visibleList = newVisibleList;
+    },
+    _getDefs: function(isForceCreating) {
+      var svgRoot = this._svgDom;
+      var defs = svgRoot.getElementsByTagName("defs");
+      if (defs.length === 0) {
+        if (isForceCreating) {
+          var defs = svgRoot.insertBefore(
+            createElement2("defs"),
+            // Create new tag
+            svgRoot.firstChild
+            // Insert in the front of svg
+          );
+          if (!defs.contains) {
+            defs.contains = function(el) {
+              var children3 = defs.children;
+              if (!children3) {
+                return false;
+              }
+              for (var i2 = children3.length - 1; i2 >= 0; --i2) {
+                if (children3[i2] === el) {
+                  return true;
+                }
+              }
+              return false;
+            };
+          }
+          return defs;
+        } else {
+          return null;
+        }
+      } else {
+        return defs[0];
+      }
+    },
+    resize: function(width, height) {
+      var viewport = this._viewport;
+      viewport.style.display = "none";
+      var opts2 = this._opts;
+      width != null && (opts2.width = width);
+      height != null && (opts2.height = height);
+      width = this._getSize(0);
+      height = this._getSize(1);
+      viewport.style.display = "";
+      if (this._width !== width || this._height !== height) {
+        this._width = width;
+        this._height = height;
+        var viewportStyle = viewport.style;
+        viewportStyle.width = width + "px";
+        viewportStyle.height = height + "px";
+        var svgRoot = this._svgDom;
+        svgRoot.setAttribute("width", width);
+        svgRoot.setAttribute("height", height);
+      }
+      if (this._backgroundNode) {
+        this._backgroundNode.setAttribute("width", width);
+        this._backgroundNode.setAttribute("height", height);
+      }
+    },
+    /**
+     * 获取绘图区域宽度
+     */
+    getWidth: function() {
+      return this._width;
+    },
+    /**
+     * 获取绘图区域高度
+     */
+    getHeight: function() {
+      return this._height;
+    },
+    _getSize: function(whIdx) {
+      var opts2 = this._opts;
+      var wh = ["width", "height"][whIdx];
+      var cwh = ["clientWidth", "clientHeight"][whIdx];
+      var plt = ["paddingLeft", "paddingTop"][whIdx];
+      var prb = ["paddingRight", "paddingBottom"][whIdx];
+      if (opts2[wh] != null && opts2[wh] !== "auto") {
+        return parseFloat(opts2[wh]);
+      }
+      var root = this.root;
+      var stl = document.defaultView.getComputedStyle(root);
+      return (root[cwh] || parseInt102(stl[wh]) || parseInt102(root.style[wh])) - (parseInt102(stl[plt]) || 0) - (parseInt102(stl[prb]) || 0) | 0;
+    },
+    dispose: function() {
+      this.root.innerHTML = "";
+      this._svgRoot = this._backgroundRoot = this._svgDom = this._backgroundNode = this._viewport = this.storage = null;
+    },
+    clear: function() {
+      if (this._viewport) {
+        this.root.removeChild(this._viewport);
+      }
+    },
+    toDataURL: function() {
+      this.refresh();
+      var html = encodeURIComponent(this._svgDom.outerHTML.replace(/></g, ">\n\r<"));
+      return "data:image/svg+xml;charset=UTF-8," + html;
+    }
+  };
+  function createMethodNotSupport2(method) {
+    return function() {
+      logError2('In SVG mode painter not support method "' + method + '"');
+    };
+  }
+  util2.each(["getLayer", "insertLayer", "eachLayer", "eachBuiltinLayer", "eachOtherLayer", "getLayers", "modLayer", "delLayer", "clearLayer", "pathToImage"], function(name2) {
+    SVGPainter2.prototype[name2] = createMethodNotSupport2(name2);
+  });
+  var _default68 = SVGPainter2;
+  Painter = _default68;
+  return Painter;
+}
+var hasRequiredSvg;
+function requireSvg() {
+  if (hasRequiredSvg)
+    return svg$1;
+  hasRequiredSvg = 1;
+  requireGraphic();
+  var _zrender = zrender$1;
+  var registerPainter2 = _zrender.registerPainter;
+  var Painter2 = requirePainter();
+  registerPainter2("svg", Painter2);
+  return svg$1;
+}
+(function(exports2) {
+  var _echarts = echarts$1;
+  (function() {
+    for (var key2 in _echarts) {
+      if (_echarts == null || !_echarts.hasOwnProperty(key2) || key2 === "default" || key2 === "__esModule")
+        return;
+      exports2[key2] = _echarts[key2];
+    }
+  })();
+  var _export2 = require_export();
+  (function() {
+    for (var key2 in _export2) {
+      if (_export2 == null || !_export2.hasOwnProperty(key2) || key2 === "default" || key2 === "__esModule")
+        return;
+      exports2[key2] = _export2[key2];
+    }
+  })();
+  requireDataset();
+  requireLine$1();
+  requireBar();
+  requirePie();
+  requireScatter();
+  requireRadar();
+  requireMap();
+  requireTree();
+  requireTreemap();
+  requireGraph();
+  requireGauge();
+  requireFunnel();
+  requireParallel();
+  requireSankey();
+  requireBoxplot();
+  requireCandlestick();
+  requireEffectScatter();
+  requireLines();
+  requireHeatmap();
+  requirePictorialBar();
+  requireThemeRiver();
+  requireSunburst();
+  requireCustom();
+  requireGrid();
+  requirePolar();
+  requireGeo();
+  requireSingleAxis();
+  requireParallel$1();
+  requireCalendar();
+  requireGraphic$2();
+  requireToolbox();
+  requireTooltip();
+  requireAxisPointer();
+  requireBrush();
+  requireTitle();
+  requireTimeline();
+  requireMarkPoint();
+  requireMarkLine();
+  requireMarkArea();
+  requireLegendScroll();
+  requireLegend();
+  requireDataZoom();
+  requireDataZoomInside();
+  requireDataZoomSlider();
+  requireVisualMap();
+  requireVisualMapContinuous();
+  requireVisualMapPiecewise();
+  requireVml();
+  requireSvg();
+})(echarts4);
+const __viteBrowserExternal = {};
+const __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: __viteBrowserExternal
+}, Symbol.toStringTag, { value: "Module" }));
+const require$$0$1 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);
+var __defProp$1 = Object.defineProperty;
+var __defNormalProp$1 = (obj2, key2, value) => key2 in obj2 ? __defProp$1(obj2, key2, { enumerable: true, configurable: true, writable: true, value }) : obj2[key2] = value;
+var __publicField = (obj2, key2, value) => {
+  __defNormalProp$1(obj2, typeof key2 !== "symbol" ? key2 + "" : key2, value);
+  return value;
+};
+function _mergeNamespaces(n2, m2) {
+  m2.forEach(function(e2) {
+    e2 && typeof e2 !== "string" && !Array.isArray(e2) && Object.keys(e2).forEach(function(k2) {
+      if (k2 !== "default" && !(k2 in n2)) {
+        var d2 = Object.getOwnPropertyDescriptor(e2, k2);
+        Object.defineProperty(n2, k2, d2.get ? d2 : {
+          enumerable: true,
+          get: function() {
+            return e2[k2];
+          }
+        });
+      }
+    });
+  });
+  return Object.freeze(Object.defineProperty(n2, Symbol.toStringTag, { value: "Module" }));
+}
+var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
+function commonjsRequire(path2) {
+  throw new Error('Could not dynamically require "' + path2 + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
+}
+var queryString = {};
+var strictUriEncode = (str) => encodeURIComponent(str).replace(/[!'()*]/g, (x2) => `%${x2.charCodeAt(0).toString(16).toUpperCase()}`);
+var token = "%[a-f0-9]{2}";
+var singleMatcher = new RegExp("(" + token + ")|([^%]+?)", "gi");
+var multiMatcher = new RegExp("(" + token + ")+", "gi");
+function decodeComponents(components, split2) {
+  try {
+    return [decodeURIComponent(components.join(""))];
+  } catch (err) {
+  }
+  if (components.length === 1) {
+    return components;
+  }
+  split2 = split2 || 1;
+  var left = components.slice(0, split2);
+  var right = components.slice(split2);
+  return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));
+}
+function decode$1(input) {
+  try {
+    return decodeURIComponent(input);
+  } catch (err) {
+    var tokens = input.match(singleMatcher) || [];
+    for (var i2 = 1; i2 < tokens.length; i2++) {
+      input = decodeComponents(tokens, i2).join("");
+      tokens = input.match(singleMatcher) || [];
+    }
+    return input;
+  }
+}
+function customDecodeURIComponent(input) {
+  var replaceMap2 = {
+    "%FE%FF": "��",
+    "%FF%FE": "��"
+  };
+  var match = multiMatcher.exec(input);
+  while (match) {
+    try {
+      replaceMap2[match[0]] = decodeURIComponent(match[0]);
+    } catch (err) {
+      var result2 = decode$1(match[0]);
+      if (result2 !== match[0]) {
+        replaceMap2[match[0]] = result2;
+      }
+    }
+    match = multiMatcher.exec(input);
+  }
+  replaceMap2["%C2"] = "�";
+  var entries = Object.keys(replaceMap2);
+  for (var i2 = 0; i2 < entries.length; i2++) {
+    var key2 = entries[i2];
+    input = input.replace(new RegExp(key2, "g"), replaceMap2[key2]);
+  }
+  return input;
+}
+var decodeUriComponent = function(encodedURI) {
+  if (typeof encodedURI !== "string") {
+    throw new TypeError("Expected `encodedURI` to be of type `string`, got `" + typeof encodedURI + "`");
+  }
+  try {
+    encodedURI = encodedURI.replace(/\+/g, " ");
+    return decodeURIComponent(encodedURI);
+  } catch (err) {
+    return customDecodeURIComponent(encodedURI);
+  }
+};
+var splitOnFirst = (string, separator) => {
+  if (!(typeof string === "string" && typeof separator === "string")) {
+    throw new TypeError("Expected the arguments to be of type `string`");
+  }
+  if (separator === "") {
+    return [string];
+  }
+  const separatorIndex = string.indexOf(separator);
+  if (separatorIndex === -1) {
+    return [string];
+  }
+  return [
+    string.slice(0, separatorIndex),
+    string.slice(separatorIndex + separator.length)
+  ];
+};
+var filterObj = function(obj2, predicate) {
+  var ret = {};
+  var keys2 = Object.keys(obj2);
+  var isArr = Array.isArray(predicate);
+  for (var i2 = 0; i2 < keys2.length; i2++) {
+    var key2 = keys2[i2];
+    var val = obj2[key2];
+    if (isArr ? predicate.indexOf(key2) !== -1 : predicate(key2, val, obj2)) {
+      ret[key2] = val;
+    }
+  }
+  return ret;
+};
+(function(exports2) {
+  const strictUriEncode$1 = strictUriEncode;
+  const decodeComponent = decodeUriComponent;
+  const splitOnFirst$1 = splitOnFirst;
+  const filterObject = filterObj;
+  const isNullOrUndefined = (value) => value === null || value === void 0;
+  const encodeFragmentIdentifier = Symbol("encodeFragmentIdentifier");
+  function encoderForArrayFormat(options2) {
+    switch (options2.arrayFormat) {
+      case "index":
+        return (key2) => (result2, value) => {
+          const index3 = result2.length;
+          if (value === void 0 || options2.skipNull && value === null || options2.skipEmptyString && value === "") {
+            return result2;
+          }
+          if (value === null) {
+            return [...result2, [encode2(key2, options2), "[", index3, "]"].join("")];
+          }
+          return [
+            ...result2,
+            [encode2(key2, options2), "[", encode2(index3, options2), "]=", encode2(value, options2)].join("")
+          ];
+        };
+      case "bracket":
+        return (key2) => (result2, value) => {
+          if (value === void 0 || options2.skipNull && value === null || options2.skipEmptyString && value === "") {
+            return result2;
+          }
+          if (value === null) {
+            return [...result2, [encode2(key2, options2), "[]"].join("")];
+          }
+          return [...result2, [encode2(key2, options2), "[]=", encode2(value, options2)].join("")];
+        };
+      case "colon-list-separator":
+        return (key2) => (result2, value) => {
+          if (value === void 0 || options2.skipNull && value === null || options2.skipEmptyString && value === "") {
+            return result2;
+          }
+          if (value === null) {
+            return [...result2, [encode2(key2, options2), ":list="].join("")];
+          }
+          return [...result2, [encode2(key2, options2), ":list=", encode2(value, options2)].join("")];
+        };
+      case "comma":
+      case "separator":
+      case "bracket-separator": {
+        const keyValueSep = options2.arrayFormat === "bracket-separator" ? "[]=" : "=";
+        return (key2) => (result2, value) => {
+          if (value === void 0 || options2.skipNull && value === null || options2.skipEmptyString && value === "") {
+            return result2;
+          }
+          value = value === null ? "" : value;
+          if (result2.length === 0) {
+            return [[encode2(key2, options2), keyValueSep, encode2(value, options2)].join("")];
+          }
+          return [[result2, encode2(value, options2)].join(options2.arrayFormatSeparator)];
+        };
+      }
+      default:
+        return (key2) => (result2, value) => {
+          if (value === void 0 || options2.skipNull && value === null || options2.skipEmptyString && value === "") {
+            return result2;
+          }
+          if (value === null) {
+            return [...result2, encode2(key2, options2)];
+          }
+          return [...result2, [encode2(key2, options2), "=", encode2(value, options2)].join("")];
+        };
+    }
+  }
+  function parserForArrayFormat(options2) {
+    let result2;
+    switch (options2.arrayFormat) {
+      case "index":
+        return (key2, value, accumulator) => {
+          result2 = /\[(\d*)\]$/.exec(key2);
+          key2 = key2.replace(/\[\d*\]$/, "");
+          if (!result2) {
+            accumulator[key2] = value;
+            return;
+          }
+          if (accumulator[key2] === void 0) {
+            accumulator[key2] = {};
+          }
+          accumulator[key2][result2[1]] = value;
+        };
+      case "bracket":
+        return (key2, value, accumulator) => {
+          result2 = /(\[\])$/.exec(key2);
+          key2 = key2.replace(/\[\]$/, "");
+          if (!result2) {
+            accumulator[key2] = value;
+            return;
+          }
+          if (accumulator[key2] === void 0) {
+            accumulator[key2] = [value];
+            return;
+          }
+          accumulator[key2] = [].concat(accumulator[key2], value);
+        };
+      case "colon-list-separator":
+        return (key2, value, accumulator) => {
+          result2 = /(:list)$/.exec(key2);
+          key2 = key2.replace(/:list$/, "");
+          if (!result2) {
+            accumulator[key2] = value;
+            return;
+          }
+          if (accumulator[key2] === void 0) {
+            accumulator[key2] = [value];
+            return;
+          }
+          accumulator[key2] = [].concat(accumulator[key2], value);
+        };
+      case "comma":
+      case "separator":
+        return (key2, value, accumulator) => {
+          const isArray2 = typeof value === "string" && value.includes(options2.arrayFormatSeparator);
+          const isEncodedArray = typeof value === "string" && !isArray2 && decode2(value, options2).includes(options2.arrayFormatSeparator);
+          value = isEncodedArray ? decode2(value, options2) : value;
+          const newValue = isArray2 || isEncodedArray ? value.split(options2.arrayFormatSeparator).map((item) => decode2(item, options2)) : value === null ? value : decode2(value, options2);
+          accumulator[key2] = newValue;
+        };
+      case "bracket-separator":
+        return (key2, value, accumulator) => {
+          const isArray2 = /(\[\])$/.test(key2);
+          key2 = key2.replace(/\[\]$/, "");
+          if (!isArray2) {
+            accumulator[key2] = value ? decode2(value, options2) : value;
+            return;
+          }
+          const arrayValue = value === null ? [] : value.split(options2.arrayFormatSeparator).map((item) => decode2(item, options2));
+          if (accumulator[key2] === void 0) {
+            accumulator[key2] = arrayValue;
+            return;
+          }
+          accumulator[key2] = [].concat(accumulator[key2], arrayValue);
+        };
+      default:
+        return (key2, value, accumulator) => {
+          if (accumulator[key2] === void 0) {
+            accumulator[key2] = value;
+            return;
+          }
+          accumulator[key2] = [].concat(accumulator[key2], value);
+        };
+    }
+  }
+  function validateArrayFormatSeparator(value) {
+    if (typeof value !== "string" || value.length !== 1) {
+      throw new TypeError("arrayFormatSeparator must be single character string");
+    }
+  }
+  function encode2(value, options2) {
+    if (options2.encode) {
+      return options2.strict ? strictUriEncode$1(value) : encodeURIComponent(value);
+    }
+    return value;
+  }
+  function decode2(value, options2) {
+    if (options2.decode) {
+      return decodeComponent(value);
+    }
+    return value;
+  }
+  function keysSorter(input) {
+    if (Array.isArray(input)) {
+      return input.sort();
+    }
+    if (typeof input === "object") {
+      return keysSorter(Object.keys(input)).sort((a2, b2) => Number(a2) - Number(b2)).map((key2) => input[key2]);
+    }
+    return input;
+  }
+  function removeHash(input) {
+    const hashStart = input.indexOf("#");
+    if (hashStart !== -1) {
+      input = input.slice(0, hashStart);
+    }
+    return input;
+  }
+  function getHash(url) {
+    let hash = "";
+    const hashStart = url.indexOf("#");
+    if (hashStart !== -1) {
+      hash = url.slice(hashStart);
+    }
+    return hash;
+  }
+  function extract(input) {
+    input = removeHash(input);
+    const queryStart = input.indexOf("?");
+    if (queryStart === -1) {
+      return "";
+    }
+    return input.slice(queryStart + 1);
+  }
+  function parseValue(value, options2) {
+    if (options2.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === "string" && value.trim() !== "")) {
+      value = Number(value);
+    } else if (options2.parseBooleans && value !== null && (value.toLowerCase() === "true" || value.toLowerCase() === "false")) {
+      value = value.toLowerCase() === "true";
+    }
+    return value;
+  }
+  function parse2(query, options2) {
+    options2 = Object.assign({
+      decode: true,
+      sort: true,
+      arrayFormat: "none",
+      arrayFormatSeparator: ",",
+      parseNumbers: false,
+      parseBooleans: false
+    }, options2);
+    validateArrayFormatSeparator(options2.arrayFormatSeparator);
+    const formatter = parserForArrayFormat(options2);
+    const ret = /* @__PURE__ */ Object.create(null);
+    if (typeof query !== "string") {
+      return ret;
+    }
+    query = query.trim().replace(/^[?#&]/, "");
+    if (!query) {
+      return ret;
+    }
+    for (const param2 of query.split("&")) {
+      if (param2 === "") {
+        continue;
+      }
+      let [key2, value] = splitOnFirst$1(options2.decode ? param2.replace(/\+/g, " ") : param2, "=");
+      value = value === void 0 ? null : ["comma", "separator", "bracket-separator"].includes(options2.arrayFormat) ? value : decode2(value, options2);
+      formatter(decode2(key2, options2), value, ret);
+    }
+    for (const key2 of Object.keys(ret)) {
+      const value = ret[key2];
+      if (typeof value === "object" && value !== null) {
+        for (const k2 of Object.keys(value)) {
+          value[k2] = parseValue(value[k2], options2);
+        }
+      } else {
+        ret[key2] = parseValue(value, options2);
+      }
+    }
+    if (options2.sort === false) {
+      return ret;
+    }
+    return (options2.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options2.sort)).reduce((result2, key2) => {
+      const value = ret[key2];
+      if (Boolean(value) && typeof value === "object" && !Array.isArray(value)) {
+        result2[key2] = keysSorter(value);
+      } else {
+        result2[key2] = value;
+      }
+      return result2;
+    }, /* @__PURE__ */ Object.create(null));
+  }
+  exports2.extract = extract;
+  exports2.parse = parse2;
+  exports2.stringify = (object, options2) => {
+    if (!object) {
+      return "";
+    }
+    options2 = Object.assign({
+      encode: true,
+      strict: true,
+      arrayFormat: "none",
+      arrayFormatSeparator: ","
+    }, options2);
+    validateArrayFormatSeparator(options2.arrayFormatSeparator);
+    const shouldFilter = (key2) => options2.skipNull && isNullOrUndefined(object[key2]) || options2.skipEmptyString && object[key2] === "";
+    const formatter = encoderForArrayFormat(options2);
+    const objectCopy = {};
+    for (const key2 of Object.keys(object)) {
+      if (!shouldFilter(key2)) {
+        objectCopy[key2] = object[key2];
+      }
+    }
+    const keys2 = Object.keys(objectCopy);
+    if (options2.sort !== false) {
+      keys2.sort(options2.sort);
+    }
+    return keys2.map((key2) => {
+      const value = object[key2];
+      if (value === void 0) {
+        return "";
+      }
+      if (value === null) {
+        return encode2(key2, options2);
+      }
+      if (Array.isArray(value)) {
+        if (value.length === 0 && options2.arrayFormat === "bracket-separator") {
+          return encode2(key2, options2) + "[]";
+        }
+        return value.reduce(formatter(key2), []).join("&");
+      }
+      return encode2(key2, options2) + "=" + encode2(value, options2);
+    }).filter((x2) => x2.length > 0).join("&");
+  };
+  exports2.parseUrl = (url, options2) => {
+    options2 = Object.assign({
+      decode: true
+    }, options2);
+    const [url_, hash] = splitOnFirst$1(url, "#");
+    return Object.assign(
+      {
+        url: url_.split("?")[0] || "",
+        query: parse2(extract(url), options2)
+      },
+      options2 && options2.parseFragmentIdentifier && hash ? { fragmentIdentifier: decode2(hash, options2) } : {}
+    );
+  };
+  exports2.stringifyUrl = (object, options2) => {
+    options2 = Object.assign({
+      encode: true,
+      strict: true,
+      [encodeFragmentIdentifier]: true
+    }, options2);
+    const url = removeHash(object.url).split("?")[0] || "";
+    const queryFromUrl = exports2.extract(object.url);
+    const parsedQueryFromUrl = exports2.parse(queryFromUrl, { sort: false });
+    const query = Object.assign(parsedQueryFromUrl, object.query);
+    let queryString2 = exports2.stringify(query, options2);
+    if (queryString2) {
+      queryString2 = `?${queryString2}`;
+    }
+    let hash = getHash(object.url);
+    if (object.fragmentIdentifier) {
+      hash = `#${options2[encodeFragmentIdentifier] ? encode2(object.fragmentIdentifier, options2) : object.fragmentIdentifier}`;
+    }
+    return `${url}${queryString2}${hash}`;
+  };
+  exports2.pick = (input, filter4, options2) => {
+    options2 = Object.assign({
+      parseFragmentIdentifier: true,
+      [encodeFragmentIdentifier]: false
+    }, options2);
+    const { url, query, fragmentIdentifier } = exports2.parseUrl(input, options2);
+    return exports2.stringifyUrl({
+      url,
+      query: filterObject(query, filter4),
+      fragmentIdentifier
+    }, options2);
+  };
+  exports2.exclude = (input, filter4, options2) => {
+    const exclusionFilter = Array.isArray(filter4) ? (key2) => !filter4.includes(key2) : (key2, value) => !filter4(key2, value);
+    return exports2.pick(input, exclusionFilter, options2);
+  };
+})(queryString);
+var hmacSha256 = { exports: {} };
+var core = { exports: {} };
+(function(module2, exports2) {
+  (function(root, factory) {
+    {
+      module2.exports = factory();
+    }
+  })(commonjsGlobal, function() {
+    var CryptoJS = CryptoJS || function(Math2, undefined$1) {
+      var crypto2;
+      if (typeof window !== "undefined" && window.crypto) {
+        crypto2 = window.crypto;
+      }
+      if (typeof self !== "undefined" && self.crypto) {
+        crypto2 = self.crypto;
+      }
+      if (typeof globalThis !== "undefined" && globalThis.crypto) {
+        crypto2 = globalThis.crypto;
+      }
+      if (!crypto2 && typeof window !== "undefined" && window.msCrypto) {
+        crypto2 = window.msCrypto;
+      }
+      if (!crypto2 && typeof commonjsGlobal !== "undefined" && commonjsGlobal.crypto) {
+        crypto2 = commonjsGlobal.crypto;
+      }
+      if (!crypto2 && typeof commonjsRequire === "function") {
+        try {
+          crypto2 = require$$0$1;
+        } catch (err) {
+        }
+      }
+      var cryptoSecureRandomInt = function() {
+        if (crypto2) {
+          if (typeof crypto2.getRandomValues === "function") {
+            try {
+              return crypto2.getRandomValues(new Uint32Array(1))[0];
+            } catch (err) {
+            }
+          }
+          if (typeof crypto2.randomBytes === "function") {
+            try {
+              return crypto2.randomBytes(4).readInt32LE();
+            } catch (err) {
+            }
+          }
+        }
+        throw new Error("Native crypto module could not be used to get secure random number.");
+      };
+      var create2 = Object.create || function() {
+        function F2() {
+        }
+        return function(obj2) {
+          var subtype;
+          F2.prototype = obj2;
+          subtype = new F2();
+          F2.prototype = null;
+          return subtype;
+        };
+      }();
+      var C2 = {};
+      var C_lib = C2.lib = {};
+      var Base2 = C_lib.Base = function() {
+        return {
+          extend: function(overrides) {
+            var subtype = create2(this);
+            if (overrides) {
+              subtype.mixIn(overrides);
+            }
+            if (!subtype.hasOwnProperty("init") || this.init === subtype.init) {
+              subtype.init = function() {
+                subtype.$super.init.apply(this, arguments);
+              };
+            }
+            subtype.init.prototype = subtype;
+            subtype.$super = this;
+            return subtype;
+          },
+          create: function() {
+            var instance = this.extend();
+            instance.init.apply(instance, arguments);
+            return instance;
+          },
+          init: function() {
+          },
+          mixIn: function(properties) {
+            for (var propertyName in properties) {
+              if (properties.hasOwnProperty(propertyName)) {
+                this[propertyName] = properties[propertyName];
+              }
+            }
+            if (properties.hasOwnProperty("toString")) {
+              this.toString = properties.toString;
+            }
+          },
+          clone: function() {
+            return this.init.prototype.extend(this);
+          }
+        };
+      }();
+      var WordArray = C_lib.WordArray = Base2.extend({
+        init: function(words, sigBytes) {
+          words = this.words = words || [];
+          if (sigBytes != undefined$1) {
+            this.sigBytes = sigBytes;
+          } else {
+            this.sigBytes = words.length * 4;
+          }
+        },
+        toString: function(encoder) {
+          return (encoder || Hex2).stringify(this);
+        },
+        concat: function(wordArray) {
+          var thisWords = this.words;
+          var thatWords = wordArray.words;
+          var thisSigBytes = this.sigBytes;
+          var thatSigBytes = wordArray.sigBytes;
+          this.clamp();
+          if (thisSigBytes % 4) {
+            for (var i2 = 0; i2 < thatSigBytes; i2++) {
+              var thatByte = thatWords[i2 >>> 2] >>> 24 - i2 % 4 * 8 & 255;
+              thisWords[thisSigBytes + i2 >>> 2] |= thatByte << 24 - (thisSigBytes + i2) % 4 * 8;
+            }
+          } else {
+            for (var j2 = 0; j2 < thatSigBytes; j2 += 4) {
+              thisWords[thisSigBytes + j2 >>> 2] = thatWords[j2 >>> 2];
+            }
+          }
+          this.sigBytes += thatSigBytes;
+          return this;
+        },
+        clamp: function() {
+          var words = this.words;
+          var sigBytes = this.sigBytes;
+          words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8;
+          words.length = Math2.ceil(sigBytes / 4);
+        },
+        clone: function() {
+          var clone2 = Base2.clone.call(this);
+          clone2.words = this.words.slice(0);
+          return clone2;
+        },
+        random: function(nBytes) {
+          var words = [];
+          for (var i2 = 0; i2 < nBytes; i2 += 4) {
+            words.push(cryptoSecureRandomInt());
+          }
+          return new WordArray.init(words, nBytes);
+        }
+      });
+      var C_enc = C2.enc = {};
+      var Hex2 = C_enc.Hex = {
+        stringify: function(wordArray) {
+          var words = wordArray.words;
+          var sigBytes = wordArray.sigBytes;
+          var hexChars = [];
+          for (var i2 = 0; i2 < sigBytes; i2++) {
+            var bite = words[i2 >>> 2] >>> 24 - i2 % 4 * 8 & 255;
+            hexChars.push((bite >>> 4).toString(16));
+            hexChars.push((bite & 15).toString(16));
+          }
+          return hexChars.join("");
+        },
+        parse: function(hexStr) {
+          var hexStrLength = hexStr.length;
+          var words = [];
+          for (var i2 = 0; i2 < hexStrLength; i2 += 2) {
+            words[i2 >>> 3] |= parseInt(hexStr.substr(i2, 2), 16) << 24 - i2 % 8 * 4;
+          }
+          return new WordArray.init(words, hexStrLength / 2);
+        }
+      };
+      var Latin1 = C_enc.Latin1 = {
+        stringify: function(wordArray) {
+          var words = wordArray.words;
+          var sigBytes = wordArray.sigBytes;
+          var latin1Chars = [];
+          for (var i2 = 0; i2 < sigBytes; i2++) {
+            var bite = words[i2 >>> 2] >>> 24 - i2 % 4 * 8 & 255;
+            latin1Chars.push(String.fromCharCode(bite));
+          }
+          return latin1Chars.join("");
+        },
+        parse: function(latin1Str) {
+          var latin1StrLength = latin1Str.length;
+          var words = [];
+          for (var i2 = 0; i2 < latin1StrLength; i2++) {
+            words[i2 >>> 2] |= (latin1Str.charCodeAt(i2) & 255) << 24 - i2 % 4 * 8;
+          }
+          return new WordArray.init(words, latin1StrLength);
+        }
+      };
+      var Utf8 = C_enc.Utf8 = {
+        stringify: function(wordArray) {
+          try {
+            return decodeURIComponent(escape(Latin1.stringify(wordArray)));
+          } catch (e2) {
+            throw new Error("Malformed UTF-8 data");
+          }
+        },
+        parse: function(utf8Str) {
+          return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
+        }
+      };
+      var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base2.extend({
+        reset: function() {
+          this._data = new WordArray.init();
+          this._nDataBytes = 0;
+        },
+        _append: function(data2) {
+          if (typeof data2 == "string") {
+            data2 = Utf8.parse(data2);
+          }
+          this._data.concat(data2);
+          this._nDataBytes += data2.sigBytes;
+        },
+        _process: function(doFlush) {
+          var processedWords;
+          var data2 = this._data;
+          var dataWords = data2.words;
+          var dataSigBytes = data2.sigBytes;
+          var blockSize = this.blockSize;
+          var blockSizeBytes = blockSize * 4;
+          var nBlocksReady = dataSigBytes / blockSizeBytes;
+          if (doFlush) {
+            nBlocksReady = Math2.ceil(nBlocksReady);
+          } else {
+            nBlocksReady = Math2.max((nBlocksReady | 0) - this._minBufferSize, 0);
+          }
+          var nWordsReady = nBlocksReady * blockSize;
+          var nBytesReady = Math2.min(nWordsReady * 4, dataSigBytes);
+          if (nWordsReady) {
+            for (var offset2 = 0; offset2 < nWordsReady; offset2 += blockSize) {
+              this._doProcessBlock(dataWords, offset2);
+            }
+            processedWords = dataWords.splice(0, nWordsReady);
+            data2.sigBytes -= nBytesReady;
+          }
+          return new WordArray.init(processedWords, nBytesReady);
+        },
+        clone: function() {
+          var clone2 = Base2.clone.call(this);
+          clone2._data = this._data.clone();
+          return clone2;
+        },
+        _minBufferSize: 0
+      });
+      C_lib.Hasher = BufferedBlockAlgorithm.extend({
+        cfg: Base2.extend(),
+        init: function(cfg) {
+          this.cfg = this.cfg.extend(cfg);
+          this.reset();
+        },
+        reset: function() {
+          BufferedBlockAlgorithm.reset.call(this);
+          this._doReset();
+        },
+        update: function(messageUpdate) {
+          this._append(messageUpdate);
+          this._process();
+          return this;
+        },
+        finalize: function(messageUpdate) {
+          if (messageUpdate) {
+            this._append(messageUpdate);
+          }
+          var hash = this._doFinalize();
+          return hash;
+        },
+        blockSize: 512 / 32,
+        _createHelper: function(hasher) {
+          return function(message, cfg) {
+            return new hasher.init(cfg).finalize(message);
+          };
+        },
+        _createHmacHelper: function(hasher) {
+          return function(message, key2) {
+            return new C_algo.HMAC.init(hasher, key2).finalize(message);
+          };
+        }
+      });
+      var C_algo = C2.algo = {};
+      return C2;
+    }(Math);
+    return CryptoJS;
+  });
+})(core);
+var sha256 = { exports: {} };
+(function(module2, exports2) {
+  (function(root, factory) {
+    {
+      module2.exports = factory(core.exports);
+    }
+  })(commonjsGlobal, function(CryptoJS) {
+    (function(Math2) {
+      var C2 = CryptoJS;
+      var C_lib = C2.lib;
+      var WordArray = C_lib.WordArray;
+      var Hasher = C_lib.Hasher;
+      var C_algo = C2.algo;
+      var H2 = [];
+      var K2 = [];
+      (function() {
+        function isPrime(n3) {
+          var sqrtN = Math2.sqrt(n3);
+          for (var factor = 2; factor <= sqrtN; factor++) {
+            if (!(n3 % factor)) {
+              return false;
+            }
+          }
+          return true;
+        }
+        function getFractionalBits(n3) {
+          return (n3 - (n3 | 0)) * 4294967296 | 0;
+        }
+        var n2 = 2;
+        var nPrime = 0;
+        while (nPrime < 64) {
+          if (isPrime(n2)) {
+            if (nPrime < 8) {
+              H2[nPrime] = getFractionalBits(Math2.pow(n2, 1 / 2));
+            }
+            K2[nPrime] = getFractionalBits(Math2.pow(n2, 1 / 3));
+            nPrime++;
+          }
+          n2++;
+        }
+      })();
+      var W2 = [];
+      var SHA2562 = C_algo.SHA256 = Hasher.extend({
+        _doReset: function() {
+          this._hash = new WordArray.init(H2.slice(0));
+        },
+        _doProcessBlock: function(M2, offset2) {
+          var H3 = this._hash.words;
+          var a2 = H3[0];
+          var b2 = H3[1];
+          var c2 = H3[2];
+          var d2 = H3[3];
+          var e2 = H3[4];
+          var f2 = H3[5];
+          var g2 = H3[6];
+          var h22 = H3[7];
+          for (var i2 = 0; i2 < 64; i2++) {
+            if (i2 < 16) {
+              W2[i2] = M2[offset2 + i2] | 0;
+            } else {
+              var gamma0x = W2[i2 - 15];
+              var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
+              var gamma1x = W2[i2 - 2];
+              var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
+              W2[i2] = gamma0 + W2[i2 - 7] + gamma1 + W2[i2 - 16];
+            }
+            var ch = e2 & f2 ^ ~e2 & g2;
+            var maj = a2 & b2 ^ a2 & c2 ^ b2 & c2;
+            var sigma0 = (a2 << 30 | a2 >>> 2) ^ (a2 << 19 | a2 >>> 13) ^ (a2 << 10 | a2 >>> 22);
+            var sigma1 = (e2 << 26 | e2 >>> 6) ^ (e2 << 21 | e2 >>> 11) ^ (e2 << 7 | e2 >>> 25);
+            var t1 = h22 + sigma1 + ch + K2[i2] + W2[i2];
+            var t2 = sigma0 + maj;
+            h22 = g2;
+            g2 = f2;
+            f2 = e2;
+            e2 = d2 + t1 | 0;
+            d2 = c2;
+            c2 = b2;
+            b2 = a2;
+            a2 = t1 + t2 | 0;
+          }
+          H3[0] = H3[0] + a2 | 0;
+          H3[1] = H3[1] + b2 | 0;
+          H3[2] = H3[2] + c2 | 0;
+          H3[3] = H3[3] + d2 | 0;
+          H3[4] = H3[4] + e2 | 0;
+          H3[5] = H3[5] + f2 | 0;
+          H3[6] = H3[6] + g2 | 0;
+          H3[7] = H3[7] + h22 | 0;
+        },
+        _doFinalize: function() {
+          var data2 = this._data;
+          var dataWords = data2.words;
+          var nBitsTotal = this._nDataBytes * 8;
+          var nBitsLeft = data2.sigBytes * 8;
+          dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
+          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math2.floor(nBitsTotal / 4294967296);
+          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
+          data2.sigBytes = dataWords.length * 4;
+          this._process();
+          return this._hash;
+        },
+        clone: function() {
+          var clone2 = Hasher.clone.call(this);
+          clone2._hash = this._hash.clone();
+          return clone2;
+        }
+      });
+      C2.SHA256 = Hasher._createHelper(SHA2562);
+      C2.HmacSHA256 = Hasher._createHmacHelper(SHA2562);
+    })(Math);
+    return CryptoJS.SHA256;
+  });
+})(sha256);
+var SHA256 = sha256.exports;
+var hmac = { exports: {} };
+(function(module2, exports2) {
+  (function(root, factory) {
+    {
+      module2.exports = factory(core.exports);
+    }
+  })(commonjsGlobal, function(CryptoJS) {
+    (function() {
+      var C2 = CryptoJS;
+      var C_lib = C2.lib;
+      var Base2 = C_lib.Base;
+      var C_enc = C2.enc;
+      var Utf8 = C_enc.Utf8;
+      var C_algo = C2.algo;
+      C_algo.HMAC = Base2.extend({
+        init: function(hasher, key2) {
+          hasher = this._hasher = new hasher.init();
+          if (typeof key2 == "string") {
+            key2 = Utf8.parse(key2);
+          }
+          var hasherBlockSize = hasher.blockSize;
+          var hasherBlockSizeBytes = hasherBlockSize * 4;
+          if (key2.sigBytes > hasherBlockSizeBytes) {
+            key2 = hasher.finalize(key2);
+          }
+          key2.clamp();
+          var oKey = this._oKey = key2.clone();
+          var iKey = this._iKey = key2.clone();
+          var oKeyWords = oKey.words;
+          var iKeyWords = iKey.words;
+          for (var i2 = 0; i2 < hasherBlockSize; i2++) {
+            oKeyWords[i2] ^= 1549556828;
+            iKeyWords[i2] ^= 909522486;
+          }
+          oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
+          this.reset();
+        },
+        reset: function() {
+          var hasher = this._hasher;
+          hasher.reset();
+          hasher.update(this._iKey);
+        },
+        update: function(messageUpdate) {
+          this._hasher.update(messageUpdate);
+          return this;
+        },
+        finalize: function(messageUpdate) {
+          var hasher = this._hasher;
+          var innerHash = hasher.finalize(messageUpdate);
+          hasher.reset();
+          var hmac2 = hasher.finalize(this._oKey.clone().concat(innerHash));
+          return hmac2;
+        }
+      });
+    })();
+  });
+})(hmac);
+(function(module2, exports2) {
+  (function(root, factory, undef) {
+    {
+      module2.exports = factory(core.exports, sha256.exports, hmac.exports);
+    }
+  })(commonjsGlobal, function(CryptoJS) {
+    return CryptoJS.HmacSHA256;
+  });
+})(hmacSha256);
+var HmacSHA256 = hmacSha256.exports;
+var encHex = { exports: {} };
+(function(module2, exports2) {
+  (function(root, factory) {
+    {
+      module2.exports = factory(core.exports);
+    }
+  })(commonjsGlobal, function(CryptoJS) {
+    return CryptoJS.enc.Hex;
+  });
+})(encHex);
+var Hex = encHex.exports;
+var crypto_wrapper = {
+  hmacsha256: function(keyByte, message) {
+    return Hex.stringify(HmacSHA256(message, keyByte));
+  },
+  HexEncodeSHA256Hash: function(body) {
+    return SHA256(body);
+  }
+};
+var Algorithm = "SDK-HMAC-SHA256";
+var HeaderXDate = "X-Sdk-Date";
+var HeaderAuthorization = "Authorization";
+var HeaderContentSha256 = "x-sdk-content-sha256";
+const hexTable = new Array(256);
+for (var i$1$1 = 0; i$1$1 < 256; ++i$1$1)
+  hexTable[i$1$1] = "%" + ((i$1$1 < 16 ? "0" : "") + i$1$1.toString(16)).toUpperCase();
+const noEscape = [
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  1,
+  1,
+  0,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  0,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  0,
+  0,
+  0,
+  0,
+  1,
+  0,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  1,
+  0,
+  0,
+  0,
+  1,
+  0
+];
+function urlEncode(str) {
+  if (typeof str !== "string") {
+    if (typeof str === "object")
+      str = String(str);
+    else
+      str += "";
+  }
+  var out2 = "";
+  var lastPos = 0;
+  for (var i2 = 0; i2 < str.length; ++i2) {
+    var c2 = str.charCodeAt(i2);
+    if (c2 < 128) {
+      if (noEscape[c2] === 1)
+        continue;
+      if (lastPos < i2)
+        out2 += str.slice(lastPos, i2);
+      lastPos = i2 + 1;
+      out2 += hexTable[c2];
+      continue;
+    }
+    if (lastPos < i2)
+      out2 += str.slice(lastPos, i2);
+    if (c2 < 2048) {
+      lastPos = i2 + 1;
+      out2 += hexTable[192 | c2 >> 6] + hexTable[128 | c2 & 63];
+      continue;
+    }
+    if (c2 < 55296 || c2 >= 57344) {
+      lastPos = i2 + 1;
+      out2 += hexTable[224 | c2 >> 12] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
+      continue;
+    }
+    ++i2;
+    if (i2 >= str.length)
+      throw new errors.URIError("ERR_INVALID_URI");
+    var c22 = str.charCodeAt(i2) & 1023;
+    lastPos = i2 + 1;
+    c2 = 65536 + ((c2 & 1023) << 10 | c22);
+    out2 += hexTable[240 | c2 >> 18] + hexTable[128 | c2 >> 12 & 63] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
+  }
+  if (lastPos === 0)
+    return str;
+  if (lastPos < str.length)
+    return out2 + str.slice(lastPos);
+  return out2;
+}
+function HttpRequest(method, url, headers, body) {
+  if (method === void 0) {
+    this.method = "";
+  } else {
+    this.method = method;
+  }
+  if (url === void 0) {
+    this.host = "";
+    this.uri = "";
+    this.query = {};
+  } else {
+    this.query = {};
+    var host, path2;
+    var i2 = url.indexOf("://");
+    if (i2 !== -1) {
+      url = url.substr(i2 + 3);
+    }
+    var i2 = url.indexOf("?");
+    if (i2 !== -1) {
+      var query_str = url.substr(i2 + 1);
+      url = url.substr(0, i2);
+      var spl = query_str.split("&");
+      for (var i2 in spl) {
+        var kv = spl[i2];
+        var index3 = kv.indexOf("=");
+        var key2, value;
+        if (index3 >= 0) {
+          key2 = kv.substr(0, index3);
+          value = kv.substr(index3 + 1);
+        } else {
+          key2 = kv;
+          value = "";
+        }
+        if (key2 !== "") {
+          key2 = decodeURI(key2);
+          value = decodeURI(value);
+          if (this.query[key2] === void 0) {
+            this.query[key2] = [value];
+          } else {
+            this.query[key2].push(value);
+          }
+        }
+      }
+    }
+    var i2 = url.indexOf("/");
+    if (i2 === -1) {
+      host = url;
+      path2 = "/";
+    } else {
+      host = url.substr(0, i2);
+      path2 = url.substr(i2);
+    }
+    this.host = host;
+    this.uri = decodeURI(path2);
+  }
+  if (headers === void 0) {
+    this.headers = {};
+  } else {
+    this.headers = headers;
+  }
+  if (body === void 0) {
+    this.body = "";
+  } else {
+    this.body = body;
+  }
+}
+function findHeader(r2, header) {
+  for (var k2 in r2.headers) {
+    if (k2.toLowerCase() === header.toLowerCase()) {
+      return r2.headers[k2];
+    }
+  }
+  return null;
+}
+function CanonicalRequest(r2, signedHeaders) {
+  var hexencode = findHeader(r2, HeaderContentSha256);
+  if (hexencode === null) {
+    var data2 = RequestPayload(r2);
+    hexencode = crypto_wrapper.HexEncodeSHA256Hash(data2);
+  }
+  return r2.method + "\n" + CanonicalURI(r2) + "\n" + CanonicalQueryString(r2) + "\n" + CanonicalHeaders(r2, signedHeaders) + "\n" + signedHeaders.join(";") + "\n" + hexencode;
+}
+function CanonicalURI(r2) {
+  var pattens = r2.uri.split("/");
+  var uri = [];
+  for (var k2 in pattens) {
+    var v22 = pattens[k2];
+    uri.push(urlEncode(v22));
+  }
+  var urlpath = uri.join("/");
+  if (urlpath[urlpath.length - 1] !== "/") {
+    urlpath = urlpath + "/";
+  }
+  return urlpath;
+}
+function CanonicalQueryString(r2) {
+  var keys2 = [];
+  for (var key2 in r2.query) {
+    keys2.push(key2);
+  }
+  keys2.sort();
+  var a2 = [];
+  for (var i2 in keys2) {
+    var key2 = urlEncode(keys2[i2]);
+    var value = r2.query[keys2[i2]];
+    if (Array.isArray(value)) {
+      value.sort();
+      for (var iv in value) {
+        a2.push(key2 + "=" + urlEncode(value[iv]));
+      }
+    } else {
+      a2.push(key2 + "=" + urlEncode(value));
+    }
+  }
+  return a2.join("&");
+}
+function CanonicalHeaders(r2, signedHeaders) {
+  var headers = {};
+  for (var key2 in r2.headers) {
+    headers[key2.toLowerCase()] = r2.headers[key2];
+  }
+  var a2 = [];
+  for (var i2 in signedHeaders) {
+    var value = headers[signedHeaders[i2]];
+    a2.push(signedHeaders[i2] + ":" + value.trim());
+  }
+  return a2.join("\n") + "\n";
+}
+function SignedHeaders(r2) {
+  var a2 = [];
+  for (var key2 in r2.headers) {
+    a2.push(key2.toLowerCase());
+  }
+  a2.sort();
+  return a2;
+}
+function RequestPayload(r2) {
+  return r2.body;
+}
+function StringToSign(canonicalRequest, t2) {
+  var bytes = crypto_wrapper.HexEncodeSHA256Hash(canonicalRequest);
+  return Algorithm + "\n" + t2 + "\n" + bytes;
+}
+function SignStringToSign(stringToSign, signingKey) {
+  return crypto_wrapper.hmacsha256(signingKey, stringToSign);
+}
+function AuthHeaderValue(signature, Key, signedHeaders) {
+  return Algorithm + " Access=" + Key + ", SignedHeaders=" + signedHeaders.join(";") + ", Signature=" + signature;
+}
+function twoChar(s2) {
+  if (s2 >= 10) {
+    return "" + s2;
+  } else {
+    return "0" + s2;
+  }
+}
+function getTime$1() {
+  var date = /* @__PURE__ */ new Date();
+  return "" + date.getUTCFullYear() + twoChar(date.getUTCMonth() + 1) + twoChar(date.getUTCDate()) + "T" + twoChar(date.getUTCHours()) + twoChar(date.getUTCMinutes()) + twoChar(date.getUTCSeconds()) + "Z";
+}
+function Signer$1() {
+  this.Key = "";
+  this.Secret = "";
+}
+Signer$1.prototype.Sign = function(r2) {
+  var headerTime = findHeader(r2, HeaderXDate);
+  if (headerTime === null) {
+    headerTime = getTime$1();
+    r2.headers[HeaderXDate] = headerTime;
+  }
+  if (r2.method !== "PUT" && r2.method !== "PATCH" && r2.method !== "POST") {
+    r2.body = "";
+  }
+  var queryString2 = CanonicalQueryString(r2);
+  if (queryString2 !== "") {
+    queryString2 = "?" + queryString2;
+  }
+  var options2 = {
+    hostname: r2.host,
+    path: encodeURI(r2.uri) + queryString2,
+    method: r2.method,
+    headers: r2.headers
+  };
+  if (findHeader(r2, "host") === null) {
+    r2.headers.host = r2.host;
+  }
+  var signedHeaders = SignedHeaders(r2);
+  var canonicalRequest = CanonicalRequest(r2, signedHeaders);
+  var stringToSign = StringToSign(canonicalRequest, headerTime);
+  var signature = SignStringToSign(stringToSign, this.Secret);
+  options2.headers[HeaderAuthorization] = AuthHeaderValue(signature, this.Key, signedHeaders);
+  return options2;
+};
+class Signer {
+  constructor(ak, sk) {
+    __publicField(this, "signer");
+    this.signer = new Signer$1();
+    this.signer.Key = ak;
+    this.signer.Secret = sk;
+  }
+  fetch(option) {
+    option.method = option.method.toUpperCase() || "GET";
+    if (option.path && !option.path.startsWith("/")) {
+      option.path = "/" + option.path;
+    }
+    option.body = option.body || "";
+    let realUrl = option.url ? option.url : option.host + option.path;
+    if (option.query) {
+      realUrl = `${realUrl}?${queryString.stringify(option.query)}`;
+    }
+    const signReq = new HttpRequest(option.method, realUrl, option.headers, option.body);
+    const signedReq = this.signer.Sign(signReq);
+    const reqHeaders = new Headers();
+    for (const head in signedReq.headers) {
+      reqHeaders.append(head, signedReq.headers[head]);
+    }
+    const reqInit = {
+      method: signedReq.method,
+      headers: reqHeaders
+    };
+    if (reqInit.method != "GET" && reqInit.method != "HEAD") {
+      reqInit.body = option.body;
+    }
+    const request2 = new Request(realUrl, reqInit);
+    return fetch(request2);
+  }
+}
+var URI$1 = { exports: {} };
+var punycode = { exports: {} };
+/*! https://mths.be/punycode v1.4.0 by @mathias */
+(function(module2, exports2) {
+  (function(root) {
+    var freeExports = exports2 && !exports2.nodeType && exports2;
+    var freeModule = module2 && !module2.nodeType && module2;
+    var freeGlobal = typeof commonjsGlobal == "object" && commonjsGlobal;
+    if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {
+      root = freeGlobal;
+    }
+    var punycode2, maxInt = 2147483647, base2 = 36, tMin = 1, tMax = 26, skew = 38, damp = 700, initialBias = 72, initialN = 128, delimiter = "-", regexPunycode = /^xn--/, regexNonASCII = /[^\x20-\x7E]/, regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, errors2 = {
+      "overflow": "Overflow: input needs wider integers to process",
+      "not-basic": "Illegal input >= 0x80 (not a basic code point)",
+      "invalid-input": "Invalid input"
+    }, baseMinusTMin = base2 - tMin, floor = Math.floor, stringFromCharCode = String.fromCharCode, key2;
+    function error(type2) {
+      throw new RangeError(errors2[type2]);
+    }
+    function map2(array, fn) {
+      var length2 = array.length;
+      var result2 = [];
+      while (length2--) {
+        result2[length2] = fn(array[length2]);
+      }
+      return result2;
+    }
+    function mapDomain(string, fn) {
+      var parts2 = string.split("@");
+      var result2 = "";
+      if (parts2.length > 1) {
+        result2 = parts2[0] + "@";
+        string = parts2[1];
+      }
+      string = string.replace(regexSeparators, ".");
+      var labels = string.split(".");
+      var encoded = map2(labels, fn).join(".");
+      return result2 + encoded;
+    }
+    function ucs2decode(string) {
+      var output = [], counter = 0, length2 = string.length, value, extra;
+      while (counter < length2) {
+        value = string.charCodeAt(counter++);
+        if (value >= 55296 && value <= 56319 && counter < length2) {
+          extra = string.charCodeAt(counter++);
+          if ((extra & 64512) == 56320) {
+            output.push(((value & 1023) << 10) + (extra & 1023) + 65536);
+          } else {
+            output.push(value);
+            counter--;
+          }
+        } else {
+          output.push(value);
+        }
+      }
+      return output;
+    }
+    function ucs2encode(array) {
+      return map2(array, function(value) {
+        var output = "";
+        if (value > 65535) {
+          value -= 65536;
+          output += stringFromCharCode(value >>> 10 & 1023 | 55296);
+          value = 56320 | value & 1023;
+        }
+        output += stringFromCharCode(value);
+        return output;
+      }).join("");
+    }
+    function basicToDigit(codePoint) {
+      if (codePoint - 48 < 10) {
+        return codePoint - 22;
+      }
+      if (codePoint - 65 < 26) {
+        return codePoint - 65;
+      }
+      if (codePoint - 97 < 26) {
+        return codePoint - 97;
+      }
+      return base2;
+    }
+    function digitToBasic(digit, flag) {
+      return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
+    }
+    function adapt(delta, numPoints, firstTime) {
+      var k2 = 0;
+      delta = firstTime ? floor(delta / damp) : delta >> 1;
+      delta += floor(delta / numPoints);
+      for (; delta > baseMinusTMin * tMax >> 1; k2 += base2) {
+        delta = floor(delta / baseMinusTMin);
+      }
+      return floor(k2 + (baseMinusTMin + 1) * delta / (delta + skew));
+    }
+    function decode2(input) {
+      var output = [], inputLength = input.length, out2, i2 = 0, n2 = initialN, bias = initialBias, basic, j2, index3, oldi, w2, k2, digit, t2, baseMinusT;
+      basic = input.lastIndexOf(delimiter);
+      if (basic < 0) {
+        basic = 0;
+      }
+      for (j2 = 0; j2 < basic; ++j2) {
+        if (input.charCodeAt(j2) >= 128) {
+          error("not-basic");
+        }
+        output.push(input.charCodeAt(j2));
+      }
+      for (index3 = basic > 0 ? basic + 1 : 0; index3 < inputLength; ) {
+        for (oldi = i2, w2 = 1, k2 = base2; ; k2 += base2) {
+          if (index3 >= inputLength) {
+            error("invalid-input");
+          }
+          digit = basicToDigit(input.charCodeAt(index3++));
+          if (digit >= base2 || digit > floor((maxInt - i2) / w2)) {
+            error("overflow");
+          }
+          i2 += digit * w2;
+          t2 = k2 <= bias ? tMin : k2 >= bias + tMax ? tMax : k2 - bias;
+          if (digit < t2) {
+            break;
+          }
+          baseMinusT = base2 - t2;
+          if (w2 > floor(maxInt / baseMinusT)) {
+            error("overflow");
+          }
+          w2 *= baseMinusT;
+        }
+        out2 = output.length + 1;
+        bias = adapt(i2 - oldi, out2, oldi == 0);
+        if (floor(i2 / out2) > maxInt - n2) {
+          error("overflow");
+        }
+        n2 += floor(i2 / out2);
+        i2 %= out2;
+        output.splice(i2++, 0, n2);
+      }
+      return ucs2encode(output);
+    }
+    function encode2(input) {
+      var n2, delta, handledCPCount, basicLength, bias, j2, m2, q2, k2, t2, currentValue, output = [], inputLength, handledCPCountPlusOne, baseMinusT, qMinusT;
+      input = ucs2decode(input);
+      inputLength = input.length;
+      n2 = initialN;
+      delta = 0;
+      bias = initialBias;
+      for (j2 = 0; j2 < inputLength; ++j2) {
+        currentValue = input[j2];
+        if (currentValue < 128) {
+          output.push(stringFromCharCode(currentValue));
+        }
+      }
+      handledCPCount = basicLength = output.length;
+      if (basicLength) {
+        output.push(delimiter);
+      }
+      while (handledCPCount < inputLength) {
+        for (m2 = maxInt, j2 = 0; j2 < inputLength; ++j2) {
+          currentValue = input[j2];
+          if (currentValue >= n2 && currentValue < m2) {
+            m2 = currentValue;
+          }
+        }
+        handledCPCountPlusOne = handledCPCount + 1;
+        if (m2 - n2 > floor((maxInt - delta) / handledCPCountPlusOne)) {
+          error("overflow");
+        }
+        delta += (m2 - n2) * handledCPCountPlusOne;
+        n2 = m2;
+        for (j2 = 0; j2 < inputLength; ++j2) {
+          currentValue = input[j2];
+          if (currentValue < n2 && ++delta > maxInt) {
+            error("overflow");
+          }
+          if (currentValue == n2) {
+            for (q2 = delta, k2 = base2; ; k2 += base2) {
+              t2 = k2 <= bias ? tMin : k2 >= bias + tMax ? tMax : k2 - bias;
+              if (q2 < t2) {
+                break;
+              }
+              qMinusT = q2 - t2;
+              baseMinusT = base2 - t2;
+              output.push(
+                stringFromCharCode(digitToBasic(t2 + qMinusT % baseMinusT, 0))
+              );
+              q2 = floor(qMinusT / baseMinusT);
+            }
+            output.push(stringFromCharCode(digitToBasic(q2, 0)));
+            bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
+            delta = 0;
+            ++handledCPCount;
+          }
+        }
+        ++delta;
+        ++n2;
+      }
+      return output.join("");
+    }
+    function toUnicode(input) {
+      return mapDomain(input, function(string) {
+        return regexPunycode.test(string) ? decode2(string.slice(4).toLowerCase()) : string;
+      });
+    }
+    function toASCII(input) {
+      return mapDomain(input, function(string) {
+        return regexNonASCII.test(string) ? "xn--" + encode2(string) : string;
+      });
+    }
+    punycode2 = {
+      "version": "1.3.2",
+      "ucs2": {
+        "decode": ucs2decode,
+        "encode": ucs2encode
+      },
+      "decode": decode2,
+      "encode": encode2,
+      "toASCII": toASCII,
+      "toUnicode": toUnicode
+    };
+    if (freeExports && freeModule) {
+      if (module2.exports == freeExports) {
+        freeModule.exports = punycode2;
+      } else {
+        for (key2 in punycode2) {
+          punycode2.hasOwnProperty(key2) && (freeExports[key2] = punycode2[key2]);
+        }
+      }
+    } else {
+      root.punycode = punycode2;
+    }
+  })(commonjsGlobal);
+})(punycode, punycode.exports);
+var IPv6 = { exports: {} };
+/*!
+ * URI.js - Mutating URLs
+ * IPv6 Support
+ *
+ * Version: 1.19.11
+ *
+ * Author: Rodney Rehm
+ * Web: http://medialize.github.io/URI.js/
+ *
+ * Licensed under
+ *   MIT License http://www.opensource.org/licenses/mit-license
+ *
+ */
+(function(module2) {
+  (function(root, factory) {
+    if (module2.exports) {
+      module2.exports = factory();
+    } else {
+      root.IPv6 = factory(root);
+    }
+  })(commonjsGlobal, function(root) {
+    var _IPv6 = root && root.IPv6;
+    function bestPresentation(address) {
+      var _address = address.toLowerCase();
+      var segments = _address.split(":");
+      var length2 = segments.length;
+      var total = 8;
+      if (segments[0] === "" && segments[1] === "" && segments[2] === "") {
+        segments.shift();
+        segments.shift();
+      } else if (segments[0] === "" && segments[1] === "") {
+        segments.shift();
+      } else if (segments[length2 - 1] === "" && segments[length2 - 2] === "") {
+        segments.pop();
+      }
+      length2 = segments.length;
+      if (segments[length2 - 1].indexOf(".") !== -1) {
+        total = 7;
+      }
+      var pos;
+      for (pos = 0; pos < length2; pos++) {
+        if (segments[pos] === "") {
+          break;
+        }
+      }
+      if (pos < total) {
+        segments.splice(pos, 1, "0000");
+        while (segments.length < total) {
+          segments.splice(pos, 0, "0000");
+        }
+      }
+      var _segments;
+      for (var i2 = 0; i2 < total; i2++) {
+        _segments = segments[i2].split("");
+        for (var j2 = 0; j2 < 3; j2++) {
+          if (_segments[0] === "0" && _segments.length > 1) {
+            _segments.splice(0, 1);
+          } else {
+            break;
+          }
+        }
+        segments[i2] = _segments.join("");
+      }
+      var best = -1;
+      var _best = 0;
+      var _current = 0;
+      var current = -1;
+      var inzeroes = false;
+      for (i2 = 0; i2 < total; i2++) {
+        if (inzeroes) {
+          if (segments[i2] === "0") {
+            _current += 1;
+          } else {
+            inzeroes = false;
+            if (_current > _best) {
+              best = current;
+              _best = _current;
+            }
+          }
+        } else {
+          if (segments[i2] === "0") {
+            inzeroes = true;
+            current = i2;
+            _current = 1;
+          }
+        }
+      }
+      if (_current > _best) {
+        best = current;
+        _best = _current;
+      }
+      if (_best > 1) {
+        segments.splice(best, _best, "");
+      }
+      length2 = segments.length;
+      var result2 = "";
+      if (segments[0] === "") {
+        result2 = ":";
+      }
+      for (i2 = 0; i2 < length2; i2++) {
+        result2 += segments[i2];
+        if (i2 === length2 - 1) {
+          break;
+        }
+        result2 += ":";
+      }
+      if (segments[length2 - 1] === "") {
+        result2 += ":";
+      }
+      return result2;
+    }
+    function noConflict() {
+      if (root.IPv6 === this) {
+        root.IPv6 = _IPv6;
+      }
+      return this;
+    }
+    return {
+      best: bestPresentation,
+      noConflict
+    };
+  });
+})(IPv6);
+var SecondLevelDomains = { exports: {} };
+/*!
+ * URI.js - Mutating URLs
+ * Second Level Domain (SLD) Support
+ *
+ * Version: 1.19.11
+ *
+ * Author: Rodney Rehm
+ * Web: http://medialize.github.io/URI.js/
+ *
+ * Licensed under
+ *   MIT License http://www.opensource.org/licenses/mit-license
+ *
+ */
+(function(module2) {
+  (function(root, factory) {
+    if (module2.exports) {
+      module2.exports = factory();
+    } else {
+      root.SecondLevelDomains = factory(root);
+    }
+  })(commonjsGlobal, function(root) {
+    var _SecondLevelDomains = root && root.SecondLevelDomains;
+    var SLD = {
+      list: {
+        "ac": " com gov mil net org ",
+        "ae": " ac co gov mil name net org pro sch ",
+        "af": " com edu gov net org ",
+        "al": " com edu gov mil net org ",
+        "ao": " co ed gv it og pb ",
+        "ar": " com edu gob gov int mil net org tur ",
+        "at": " ac co gv or ",
+        "au": " asn com csiro edu gov id net org ",
+        "ba": " co com edu gov mil net org rs unbi unmo unsa untz unze ",
+        "bb": " biz co com edu gov info net org store tv ",
+        "bh": " biz cc com edu gov info net org ",
+        "bn": " com edu gov net org ",
+        "bo": " com edu gob gov int mil net org tv ",
+        "br": " adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",
+        "bs": " com edu gov net org ",
+        "bz": " du et om ov rg ",
+        "ca": " ab bc mb nb nf nl ns nt nu on pe qc sk yk ",
+        "ck": " biz co edu gen gov info net org ",
+        "cn": " ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",
+        "co": " com edu gov mil net nom org ",
+        "cr": " ac c co ed fi go or sa ",
+        "cy": " ac biz com ekloges gov ltd name net org parliament press pro tm ",
+        "do": " art com edu gob gov mil net org sld web ",
+        "dz": " art asso com edu gov net org pol ",
+        "ec": " com edu fin gov info med mil net org pro ",
+        "eg": " com edu eun gov mil name net org sci ",
+        "er": " com edu gov ind mil net org rochest w ",
+        "es": " com edu gob nom org ",
+        "et": " biz com edu gov info name net org ",
+        "fj": " ac biz com info mil name net org pro ",
+        "fk": " ac co gov net nom org ",
+        "fr": " asso com f gouv nom prd presse tm ",
+        "gg": " co net org ",
+        "gh": " com edu gov mil org ",
+        "gn": " ac com gov net org ",
+        "gr": " com edu gov mil net org ",
+        "gt": " com edu gob ind mil net org ",
+        "gu": " com edu gov net org ",
+        "hk": " com edu gov idv net org ",
+        "hu": " 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",
+        "id": " ac co go mil net or sch web ",
+        "il": " ac co gov idf k12 muni net org ",
+        "in": " ac co edu ernet firm gen gov i ind mil net nic org res ",
+        "iq": " com edu gov i mil net org ",
+        "ir": " ac co dnssec gov i id net org sch ",
+        "it": " edu gov ",
+        "je": " co net org ",
+        "jo": " com edu gov mil name net org sch ",
+        "jp": " ac ad co ed go gr lg ne or ",
+        "ke": " ac co go info me mobi ne or sc ",
+        "kh": " com edu gov mil net org per ",
+        "ki": " biz com de edu gov info mob net org tel ",
+        "km": " asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",
+        "kn": " edu gov net org ",
+        "kr": " ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",
+        "kw": " com edu gov net org ",
+        "ky": " com edu gov net org ",
+        "kz": " com edu gov mil net org ",
+        "lb": " com edu gov net org ",
+        "lk": " assn com edu gov grp hotel int ltd net ngo org sch soc web ",
+        "lr": " com edu gov net org ",
+        "lv": " asn com conf edu gov id mil net org ",
+        "ly": " com edu gov id med net org plc sch ",
+        "ma": " ac co gov m net org press ",
+        "mc": " asso tm ",
+        "me": " ac co edu gov its net org priv ",
+        "mg": " com edu gov mil nom org prd tm ",
+        "mk": " com edu gov inf name net org pro ",
+        "ml": " com edu gov net org presse ",
+        "mn": " edu gov org ",
+        "mo": " com edu gov net org ",
+        "mt": " com edu gov net org ",
+        "mv": " aero biz com coop edu gov info int mil museum name net org pro ",
+        "mw": " ac co com coop edu gov int museum net org ",
+        "mx": " com edu gob net org ",
+        "my": " com edu gov mil name net org sch ",
+        "nf": " arts com firm info net other per rec store web ",
+        "ng": " biz com edu gov mil mobi name net org sch ",
+        "ni": " ac co com edu gob mil net nom org ",
+        "np": " com edu gov mil net org ",
+        "nr": " biz com edu gov info net org ",
+        "om": " ac biz co com edu gov med mil museum net org pro sch ",
+        "pe": " com edu gob mil net nom org sld ",
+        "ph": " com edu gov i mil net ngo org ",
+        "pk": " biz com edu fam gob gok gon gop gos gov net org web ",
+        "pl": " art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",
+        "pr": " ac biz com edu est gov info isla name net org pro prof ",
+        "ps": " com edu gov net org plo sec ",
+        "pw": " belau co ed go ne or ",
+        "ro": " arts com firm info nom nt org rec store tm www ",
+        "rs": " ac co edu gov in org ",
+        "sb": " com edu gov net org ",
+        "sc": " com edu gov net org ",
+        "sh": " co com edu gov net nom org ",
+        "sl": " com edu gov net org ",
+        "st": " co com consulado edu embaixada gov mil net org principe saotome store ",
+        "sv": " com edu gob org red ",
+        "sz": " ac co org ",
+        "tr": " av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",
+        "tt": " aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",
+        "tw": " club com ebiz edu game gov idv mil net org ",
+        "mu": " ac co com gov net or org ",
+        "mz": " ac co edu gov org ",
+        "na": " co com ",
+        "nz": " ac co cri geek gen govt health iwi maori mil net org parliament school ",
+        "pa": " abo ac com edu gob ing med net nom org sld ",
+        "pt": " com edu gov int net nome org publ ",
+        "py": " com edu gov mil net org ",
+        "qa": " com edu gov mil net org ",
+        "re": " asso com nom ",
+        "ru": " ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",
+        "rw": " ac co com edu gouv gov int mil net ",
+        "sa": " com edu gov med net org pub sch ",
+        "sd": " com edu gov info med net org tv ",
+        "se": " a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",
+        "sg": " com edu gov idn net org per ",
+        "sn": " art com edu gouv org perso univ ",
+        "sy": " com edu gov mil net news org ",
+        "th": " ac co go in mi net or ",
+        "tj": " ac biz co com edu go gov info int mil name net nic org test web ",
+        "tn": " agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",
+        "tz": " ac co go ne or ",
+        "ua": " biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",
+        "ug": " ac co go ne or org sc ",
+        "uk": " ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",
+        "us": " dni fed isa kids nsn ",
+        "uy": " com edu gub mil net org ",
+        "ve": " co com edu gob info mil net org web ",
+        "vi": " co com k12 net org ",
+        "vn": " ac biz com edu gov health info int name net org pro ",
+        "ye": " co com gov ltd me net org plc ",
+        "yu": " ac co edu gov org ",
+        "za": " ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",
+        "zm": " ac co com edu gov net org sch ",
+        "com": "ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",
+        "net": "gb jp se uk ",
+        "org": "ae",
+        "de": "com "
+      },
+      has: function(domain) {
+        var tldOffset = domain.lastIndexOf(".");
+        if (tldOffset <= 0 || tldOffset >= domain.length - 1) {
+          return false;
+        }
+        var sldOffset = domain.lastIndexOf(".", tldOffset - 1);
+        if (sldOffset <= 0 || sldOffset >= tldOffset - 1) {
+          return false;
+        }
+        var sldList = SLD.list[domain.slice(tldOffset + 1)];
+        if (!sldList) {
+          return false;
+        }
+        return sldList.indexOf(" " + domain.slice(sldOffset + 1, tldOffset) + " ") >= 0;
+      },
+      is: function(domain) {
+        var tldOffset = domain.lastIndexOf(".");
+        if (tldOffset <= 0 || tldOffset >= domain.length - 1) {
+          return false;
+        }
+        var sldOffset = domain.lastIndexOf(".", tldOffset - 1);
+        if (sldOffset >= 0) {
+          return false;
+        }
+        var sldList = SLD.list[domain.slice(tldOffset + 1)];
+        if (!sldList) {
+          return false;
+        }
+        return sldList.indexOf(" " + domain.slice(0, tldOffset) + " ") >= 0;
+      },
+      get: function(domain) {
+        var tldOffset = domain.lastIndexOf(".");
+        if (tldOffset <= 0 || tldOffset >= domain.length - 1) {
+          return null;
+        }
+        var sldOffset = domain.lastIndexOf(".", tldOffset - 1);
+        if (sldOffset <= 0 || sldOffset >= tldOffset - 1) {
+          return null;
+        }
+        var sldList = SLD.list[domain.slice(tldOffset + 1)];
+        if (!sldList) {
+          return null;
+        }
+        if (sldList.indexOf(" " + domain.slice(sldOffset + 1, tldOffset) + " ") < 0) {
+          return null;
+        }
+        return domain.slice(sldOffset + 1);
+      },
+      noConflict: function() {
+        if (root.SecondLevelDomains === this) {
+          root.SecondLevelDomains = _SecondLevelDomains;
+        }
+        return this;
+      }
+    };
+    return SLD;
+  });
+})(SecondLevelDomains);
+/*!
+ * URI.js - Mutating URLs
+ *
+ * Version: 1.19.11
+ *
+ * Author: Rodney Rehm
+ * Web: http://medialize.github.io/URI.js/
+ *
+ * Licensed under
+ *   MIT License http://www.opensource.org/licenses/mit-license
+ *
+ */
+(function(module2) {
+  (function(root, factory) {
+    if (module2.exports) {
+      module2.exports = factory(punycode.exports, IPv6.exports, SecondLevelDomains.exports);
+    } else {
+      root.URI = factory(root.punycode, root.IPv6, root.SecondLevelDomains, root);
+    }
+  })(commonjsGlobal, function(punycode2, IPv62, SLD, root) {
+    var _URI = root && root.URI;
+    function URI2(url, base2) {
+      var _urlSupplied = arguments.length >= 1;
+      var _baseSupplied = arguments.length >= 2;
+      if (!(this instanceof URI2)) {
+        if (_urlSupplied) {
+          if (_baseSupplied) {
+            return new URI2(url, base2);
+          }
+          return new URI2(url);
+        }
+        return new URI2();
+      }
+      if (url === void 0) {
+        if (_urlSupplied) {
+          throw new TypeError("undefined is not a valid argument for URI");
+        }
+        if (typeof location !== "undefined") {
+          url = location.href + "";
+        } else {
+          url = "";
+        }
+      }
+      if (url === null) {
+        if (_urlSupplied) {
+          throw new TypeError("null is not a valid argument for URI");
+        }
+      }
+      this.href(url);
+      if (base2 !== void 0) {
+        return this.absoluteTo(base2);
+      }
+      return this;
+    }
+    function isInteger2(value) {
+      return /^[0-9]+$/.test(value);
+    }
+    URI2.version = "1.19.11";
+    var p2 = URI2.prototype;
+    var hasOwn2 = Object.prototype.hasOwnProperty;
+    function escapeRegEx(string) {
+      return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1");
+    }
+    function getType(value) {
+      if (value === void 0) {
+        return "Undefined";
+      }
+      return String(Object.prototype.toString.call(value)).slice(8, -1);
+    }
+    function isArray2(obj2) {
+      return getType(obj2) === "Array";
+    }
+    function filterArrayValues(data2, value) {
+      var lookup = {};
+      var i2, length2;
+      if (getType(value) === "RegExp") {
+        lookup = null;
+      } else if (isArray2(value)) {
+        for (i2 = 0, length2 = value.length; i2 < length2; i2++) {
+          lookup[value[i2]] = true;
+        }
+      } else {
+        lookup[value] = true;
+      }
+      for (i2 = 0, length2 = data2.length; i2 < length2; i2++) {
+        var _match = lookup && lookup[data2[i2]] !== void 0 || !lookup && value.test(data2[i2]);
+        if (_match) {
+          data2.splice(i2, 1);
+          length2--;
+          i2--;
+        }
+      }
+      return data2;
+    }
+    function arrayContains(list2, value) {
+      var i2, length2;
+      if (isArray2(value)) {
+        for (i2 = 0, length2 = value.length; i2 < length2; i2++) {
+          if (!arrayContains(list2, value[i2])) {
+            return false;
+          }
+        }
+        return true;
+      }
+      var _type = getType(value);
+      for (i2 = 0, length2 = list2.length; i2 < length2; i2++) {
+        if (_type === "RegExp") {
+          if (typeof list2[i2] === "string" && list2[i2].match(value)) {
+            return true;
+          }
+        } else if (list2[i2] === value) {
+          return true;
+        }
+      }
+      return false;
+    }
+    function arraysEqual(one, two) {
+      if (!isArray2(one) || !isArray2(two)) {
+        return false;
+      }
+      if (one.length !== two.length) {
+        return false;
+      }
+      one.sort();
+      two.sort();
+      for (var i2 = 0, l2 = one.length; i2 < l2; i2++) {
+        if (one[i2] !== two[i2]) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function trimSlashes(text2) {
+      var trim_expression = /^\/+|\/+$/g;
+      return text2.replace(trim_expression, "");
+    }
+    URI2._parts = function() {
+      return {
+        protocol: null,
+        username: null,
+        password: null,
+        hostname: null,
+        urn: null,
+        port: null,
+        path: null,
+        query: null,
+        fragment: null,
+        preventInvalidHostname: URI2.preventInvalidHostname,
+        duplicateQueryParameters: URI2.duplicateQueryParameters,
+        escapeQuerySpace: URI2.escapeQuerySpace
+      };
+    };
+    URI2.preventInvalidHostname = false;
+    URI2.duplicateQueryParameters = false;
+    URI2.escapeQuerySpace = true;
+    URI2.protocol_expression = /^[a-z][a-z0-9.+-]*$/i;
+    URI2.idn_expression = /[^a-z0-9\._-]/i;
+    URI2.punycode_expression = /(xn--)/i;
+    URI2.ip4_expression = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
+    URI2.ip6_expression = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/;
+    URI2.find_uri_expression = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig;
+    URI2.findUri = {
+      start: /\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,
+      end: /[\s\r\n]|$/,
+      trim: /[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,
+      parens: /(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g
+    };
+    URI2.leading_whitespace_expression = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/;
+    URI2.ascii_tab_whitespace = /[\u0009\u000A\u000D]+/g;
+    URI2.defaultPorts = {
+      http: "80",
+      https: "443",
+      ftp: "21",
+      gopher: "70",
+      ws: "80",
+      wss: "443"
+    };
+    URI2.hostProtocols = [
+      "http",
+      "https"
+    ];
+    URI2.invalid_hostname_characters = /[^a-zA-Z0-9\.\-:_]/;
+    URI2.domAttributes = {
+      "a": "href",
+      "blockquote": "cite",
+      "link": "href",
+      "base": "href",
+      "script": "src",
+      "form": "action",
+      "img": "src",
+      "area": "href",
+      "iframe": "src",
+      "embed": "src",
+      "source": "src",
+      "track": "src",
+      "input": "src",
+      "audio": "src",
+      "video": "src"
+    };
+    URI2.getDomAttribute = function(node) {
+      if (!node || !node.nodeName) {
+        return void 0;
+      }
+      var nodeName = node.nodeName.toLowerCase();
+      if (nodeName === "input" && node.type !== "image") {
+        return void 0;
+      }
+      return URI2.domAttributes[nodeName];
+    };
+    function escapeForDumbFirefox36(value) {
+      return escape(value);
+    }
+    function strictEncodeURIComponent(string) {
+      return encodeURIComponent(string).replace(/[!'()*]/g, escapeForDumbFirefox36).replace(/\*/g, "%2A");
+    }
+    URI2.encode = strictEncodeURIComponent;
+    URI2.decode = decodeURIComponent;
+    URI2.iso8859 = function() {
+      URI2.encode = escape;
+      URI2.decode = unescape;
+    };
+    URI2.unicode = function() {
+      URI2.encode = strictEncodeURIComponent;
+      URI2.decode = decodeURIComponent;
+    };
+    URI2.characters = {
+      pathname: {
+        encode: {
+          expression: /%(24|26|2B|2C|3B|3D|3A|40)/ig,
+          map: {
+            "%24": "$",
+            "%26": "&",
+            "%2B": "+",
+            "%2C": ",",
+            "%3B": ";",
+            "%3D": "=",
+            "%3A": ":",
+            "%40": "@"
+          }
+        },
+        decode: {
+          expression: /[\/\?#]/g,
+          map: {
+            "/": "%2F",
+            "?": "%3F",
+            "#": "%23"
+          }
+        }
+      },
+      reserved: {
+        encode: {
+          expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,
+          map: {
+            "%3A": ":",
+            "%2F": "/",
+            "%3F": "?",
+            "%23": "#",
+            "%5B": "[",
+            "%5D": "]",
+            "%40": "@",
+            "%21": "!",
+            "%24": "$",
+            "%26": "&",
+            "%27": "'",
+            "%28": "(",
+            "%29": ")",
+            "%2A": "*",
+            "%2B": "+",
+            "%2C": ",",
+            "%3B": ";",
+            "%3D": "="
+          }
+        }
+      },
+      urnpath: {
+        encode: {
+          expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,
+          map: {
+            "%21": "!",
+            "%24": "$",
+            "%27": "'",
+            "%28": "(",
+            "%29": ")",
+            "%2A": "*",
+            "%2B": "+",
+            "%2C": ",",
+            "%3B": ";",
+            "%3D": "=",
+            "%40": "@"
+          }
+        },
+        decode: {
+          expression: /[\/\?#:]/g,
+          map: {
+            "/": "%2F",
+            "?": "%3F",
+            "#": "%23",
+            ":": "%3A"
+          }
+        }
+      }
+    };
+    URI2.encodeQuery = function(string, escapeQuerySpace) {
+      var escaped = URI2.encode(string + "");
+      if (escapeQuerySpace === void 0) {
+        escapeQuerySpace = URI2.escapeQuerySpace;
+      }
+      return escapeQuerySpace ? escaped.replace(/%20/g, "+") : escaped;
+    };
+    URI2.decodeQuery = function(string, escapeQuerySpace) {
+      string += "";
+      if (escapeQuerySpace === void 0) {
+        escapeQuerySpace = URI2.escapeQuerySpace;
+      }
+      try {
+        return URI2.decode(escapeQuerySpace ? string.replace(/\+/g, "%20") : string);
+      } catch (e2) {
+        return string;
+      }
+    };
+    var _parts = { "encode": "encode", "decode": "decode" };
+    var _part;
+    var generateAccessor = function(_group, _part2) {
+      return function(string) {
+        try {
+          return URI2[_part2](string + "").replace(URI2.characters[_group][_part2].expression, function(c2) {
+            return URI2.characters[_group][_part2].map[c2];
+          });
+        } catch (e2) {
+          return string;
+        }
+      };
+    };
+    for (_part in _parts) {
+      URI2[_part + "PathSegment"] = generateAccessor("pathname", _parts[_part]);
+      URI2[_part + "UrnPathSegment"] = generateAccessor("urnpath", _parts[_part]);
+    }
+    var generateSegmentedPathFunction = function(_sep, _codingFuncName, _innerCodingFuncName) {
+      return function(string) {
+        var actualCodingFunc;
+        if (!_innerCodingFuncName) {
+          actualCodingFunc = URI2[_codingFuncName];
+        } else {
+          actualCodingFunc = function(string2) {
+            return URI2[_codingFuncName](URI2[_innerCodingFuncName](string2));
+          };
+        }
+        var segments = (string + "").split(_sep);
+        for (var i2 = 0, length2 = segments.length; i2 < length2; i2++) {
+          segments[i2] = actualCodingFunc(segments[i2]);
+        }
+        return segments.join(_sep);
+      };
+    };
+    URI2.decodePath = generateSegmentedPathFunction("/", "decodePathSegment");
+    URI2.decodeUrnPath = generateSegmentedPathFunction(":", "decodeUrnPathSegment");
+    URI2.recodePath = generateSegmentedPathFunction("/", "encodePathSegment", "decode");
+    URI2.recodeUrnPath = generateSegmentedPathFunction(":", "encodeUrnPathSegment", "decode");
+    URI2.encodeReserved = generateAccessor("reserved", "encode");
+    URI2.parse = function(string, parts2) {
+      var pos;
+      if (!parts2) {
+        parts2 = {
+          preventInvalidHostname: URI2.preventInvalidHostname
+        };
+      }
+      string = string.replace(URI2.leading_whitespace_expression, "");
+      string = string.replace(URI2.ascii_tab_whitespace, "");
+      pos = string.indexOf("#");
+      if (pos > -1) {
+        parts2.fragment = string.substring(pos + 1) || null;
+        string = string.substring(0, pos);
+      }
+      pos = string.indexOf("?");
+      if (pos > -1) {
+        parts2.query = string.substring(pos + 1) || null;
+        string = string.substring(0, pos);
+      }
+      string = string.replace(/^(https?|ftp|wss?)?:+[/\\]*/i, "$1://");
+      string = string.replace(/^[/\\]{2,}/i, "//");
+      if (string.substring(0, 2) === "//") {
+        parts2.protocol = null;
+        string = string.substring(2);
+        string = URI2.parseAuthority(string, parts2);
+      } else {
+        pos = string.indexOf(":");
+        if (pos > -1) {
+          parts2.protocol = string.substring(0, pos) || null;
+          if (parts2.protocol && !parts2.protocol.match(URI2.protocol_expression)) {
+            parts2.protocol = void 0;
+          } else if (string.substring(pos + 1, pos + 3).replace(/\\/g, "/") === "//") {
+            string = string.substring(pos + 3);
+            string = URI2.parseAuthority(string, parts2);
+          } else {
+            string = string.substring(pos + 1);
+            parts2.urn = true;
+          }
+        }
+      }
+      parts2.path = string;
+      return parts2;
+    };
+    URI2.parseHost = function(string, parts2) {
+      if (!string) {
+        string = "";
+      }
+      string = string.replace(/\\/g, "/");
+      var pos = string.indexOf("/");
+      var bracketPos;
+      var t2;
+      if (pos === -1) {
+        pos = string.length;
+      }
+      if (string.charAt(0) === "[") {
+        bracketPos = string.indexOf("]");
+        parts2.hostname = string.substring(1, bracketPos) || null;
+        parts2.port = string.substring(bracketPos + 2, pos) || null;
+        if (parts2.port === "/") {
+          parts2.port = null;
+        }
+      } else {
+        var firstColon = string.indexOf(":");
+        var firstSlash = string.indexOf("/");
+        var nextColon = string.indexOf(":", firstColon + 1);
+        if (nextColon !== -1 && (firstSlash === -1 || nextColon < firstSlash)) {
+          parts2.hostname = string.substring(0, pos) || null;
+          parts2.port = null;
+        } else {
+          t2 = string.substring(0, pos).split(":");
+          parts2.hostname = t2[0] || null;
+          parts2.port = t2[1] || null;
+        }
+      }
+      if (parts2.hostname && string.substring(pos).charAt(0) !== "/") {
+        pos++;
+        string = "/" + string;
+      }
+      if (parts2.preventInvalidHostname) {
+        URI2.ensureValidHostname(parts2.hostname, parts2.protocol);
+      }
+      if (parts2.port) {
+        URI2.ensureValidPort(parts2.port);
+      }
+      return string.substring(pos) || "/";
+    };
+    URI2.parseAuthority = function(string, parts2) {
+      string = URI2.parseUserinfo(string, parts2);
+      return URI2.parseHost(string, parts2);
+    };
+    URI2.parseUserinfo = function(string, parts2) {
+      var _string = string;
+      var firstBackSlash = string.indexOf("\\");
+      if (firstBackSlash !== -1) {
+        string = string.replace(/\\/g, "/");
+      }
+      var firstSlash = string.indexOf("/");
+      var pos = string.lastIndexOf("@", firstSlash > -1 ? firstSlash : string.length - 1);
+      var t2;
+      if (pos > -1 && (firstSlash === -1 || pos < firstSlash)) {
+        t2 = string.substring(0, pos).split(":");
+        parts2.username = t2[0] ? URI2.decode(t2[0]) : null;
+        t2.shift();
+        parts2.password = t2[0] ? URI2.decode(t2.join(":")) : null;
+        string = _string.substring(pos + 1);
+      } else {
+        parts2.username = null;
+        parts2.password = null;
+      }
+      return string;
+    };
+    URI2.parseQuery = function(string, escapeQuerySpace) {
+      if (!string) {
+        return {};
+      }
+      string = string.replace(/&+/g, "&").replace(/^\?*&*|&+$/g, "");
+      if (!string) {
+        return {};
+      }
+      var items = {};
+      var splits = string.split("&");
+      var length2 = splits.length;
+      var v22, name2, value;
+      for (var i2 = 0; i2 < length2; i2++) {
+        v22 = splits[i2].split("=");
+        name2 = URI2.decodeQuery(v22.shift(), escapeQuerySpace);
+        value = v22.length ? URI2.decodeQuery(v22.join("="), escapeQuerySpace) : null;
+        if (name2 === "__proto__") {
+          continue;
+        } else if (hasOwn2.call(items, name2)) {
+          if (typeof items[name2] === "string" || items[name2] === null) {
+            items[name2] = [items[name2]];
+          }
+          items[name2].push(value);
+        } else {
+          items[name2] = value;
+        }
+      }
+      return items;
+    };
+    URI2.build = function(parts2) {
+      var t2 = "";
+      var requireAbsolutePath = false;
+      if (parts2.protocol) {
+        t2 += parts2.protocol + ":";
+      }
+      if (!parts2.urn && (t2 || parts2.hostname)) {
+        t2 += "//";
+        requireAbsolutePath = true;
+      }
+      t2 += URI2.buildAuthority(parts2) || "";
+      if (typeof parts2.path === "string") {
+        if (parts2.path.charAt(0) !== "/" && requireAbsolutePath) {
+          t2 += "/";
+        }
+        t2 += parts2.path;
+      }
+      if (typeof parts2.query === "string" && parts2.query) {
+        t2 += "?" + parts2.query;
+      }
+      if (typeof parts2.fragment === "string" && parts2.fragment) {
+        t2 += "#" + parts2.fragment;
+      }
+      return t2;
+    };
+    URI2.buildHost = function(parts2) {
+      var t2 = "";
+      if (!parts2.hostname) {
+        return "";
+      } else if (URI2.ip6_expression.test(parts2.hostname)) {
+        t2 += "[" + parts2.hostname + "]";
+      } else {
+        t2 += parts2.hostname;
+      }
+      if (parts2.port) {
+        t2 += ":" + parts2.port;
+      }
+      return t2;
+    };
+    URI2.buildAuthority = function(parts2) {
+      return URI2.buildUserinfo(parts2) + URI2.buildHost(parts2);
+    };
+    URI2.buildUserinfo = function(parts2) {
+      var t2 = "";
+      if (parts2.username) {
+        t2 += URI2.encode(parts2.username);
+      }
+      if (parts2.password) {
+        t2 += ":" + URI2.encode(parts2.password);
+      }
+      if (t2) {
+        t2 += "@";
+      }
+      return t2;
+    };
+    URI2.buildQuery = function(data2, duplicateQueryParameters, escapeQuerySpace) {
+      var t2 = "";
+      var unique, key2, i2, length2;
+      for (key2 in data2) {
+        if (key2 === "__proto__") {
+          continue;
+        } else if (hasOwn2.call(data2, key2)) {
+          if (isArray2(data2[key2])) {
+            unique = {};
+            for (i2 = 0, length2 = data2[key2].length; i2 < length2; i2++) {
+              if (data2[key2][i2] !== void 0 && unique[data2[key2][i2] + ""] === void 0) {
+                t2 += "&" + URI2.buildQueryParameter(key2, data2[key2][i2], escapeQuerySpace);
+                if (duplicateQueryParameters !== true) {
+                  unique[data2[key2][i2] + ""] = true;
+                }
+              }
+            }
+          } else if (data2[key2] !== void 0) {
+            t2 += "&" + URI2.buildQueryParameter(key2, data2[key2], escapeQuerySpace);
+          }
+        }
+      }
+      return t2.substring(1);
+    };
+    URI2.buildQueryParameter = function(name2, value, escapeQuerySpace) {
+      return URI2.encodeQuery(name2, escapeQuerySpace) + (value !== null ? "=" + URI2.encodeQuery(value, escapeQuerySpace) : "");
+    };
+    URI2.addQuery = function(data2, name2, value) {
+      if (typeof name2 === "object") {
+        for (var key2 in name2) {
+          if (hasOwn2.call(name2, key2)) {
+            URI2.addQuery(data2, key2, name2[key2]);
+          }
+        }
+      } else if (typeof name2 === "string") {
+        if (data2[name2] === void 0) {
+          data2[name2] = value;
+          return;
+        } else if (typeof data2[name2] === "string") {
+          data2[name2] = [data2[name2]];
+        }
+        if (!isArray2(value)) {
+          value = [value];
+        }
+        data2[name2] = (data2[name2] || []).concat(value);
+      } else {
+        throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");
+      }
+    };
+    URI2.setQuery = function(data2, name2, value) {
+      if (typeof name2 === "object") {
+        for (var key2 in name2) {
+          if (hasOwn2.call(name2, key2)) {
+            URI2.setQuery(data2, key2, name2[key2]);
+          }
+        }
+      } else if (typeof name2 === "string") {
+        data2[name2] = value === void 0 ? null : value;
+      } else {
+        throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");
+      }
+    };
+    URI2.removeQuery = function(data2, name2, value) {
+      var i2, length2, key2;
+      if (isArray2(name2)) {
+        for (i2 = 0, length2 = name2.length; i2 < length2; i2++) {
+          data2[name2[i2]] = void 0;
+        }
+      } else if (getType(name2) === "RegExp") {
+        for (key2 in data2) {
+          if (name2.test(key2)) {
+            data2[key2] = void 0;
+          }
+        }
+      } else if (typeof name2 === "object") {
+        for (key2 in name2) {
+          if (hasOwn2.call(name2, key2)) {
+            URI2.removeQuery(data2, key2, name2[key2]);
+          }
+        }
+      } else if (typeof name2 === "string") {
+        if (value !== void 0) {
+          if (getType(value) === "RegExp") {
+            if (!isArray2(data2[name2]) && value.test(data2[name2])) {
+              data2[name2] = void 0;
+            } else {
+              data2[name2] = filterArrayValues(data2[name2], value);
+            }
+          } else if (data2[name2] === String(value) && (!isArray2(value) || value.length === 1)) {
+            data2[name2] = void 0;
+          } else if (isArray2(data2[name2])) {
+            data2[name2] = filterArrayValues(data2[name2], value);
+          }
+        } else {
+          data2[name2] = void 0;
+        }
+      } else {
+        throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");
+      }
+    };
+    URI2.hasQuery = function(data2, name2, value, withinArray) {
+      switch (getType(name2)) {
+        case "String":
+          break;
+        case "RegExp":
+          for (var key2 in data2) {
+            if (hasOwn2.call(data2, key2)) {
+              if (name2.test(key2) && (value === void 0 || URI2.hasQuery(data2, key2, value))) {
+                return true;
+              }
+            }
+          }
+          return false;
+        case "Object":
+          for (var _key in name2) {
+            if (hasOwn2.call(name2, _key)) {
+              if (!URI2.hasQuery(data2, _key, name2[_key])) {
+                return false;
+              }
+            }
+          }
+          return true;
+        default:
+          throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter");
+      }
+      switch (getType(value)) {
+        case "Undefined":
+          return name2 in data2;
+        case "Boolean":
+          var _booly = Boolean(isArray2(data2[name2]) ? data2[name2].length : data2[name2]);
+          return value === _booly;
+        case "Function":
+          return !!value(data2[name2], name2, data2);
+        case "Array":
+          if (!isArray2(data2[name2])) {
+            return false;
+          }
+          var op = withinArray ? arrayContains : arraysEqual;
+          return op(data2[name2], value);
+        case "RegExp":
+          if (!isArray2(data2[name2])) {
+            return Boolean(data2[name2] && data2[name2].match(value));
+          }
+          if (!withinArray) {
+            return false;
+          }
+          return arrayContains(data2[name2], value);
+        case "Number":
+          value = String(value);
+        case "String":
+          if (!isArray2(data2[name2])) {
+            return data2[name2] === value;
+          }
+          if (!withinArray) {
+            return false;
+          }
+          return arrayContains(data2[name2], value);
+        default:
+          throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter");
+      }
+    };
+    URI2.joinPaths = function() {
+      var input = [];
+      var segments = [];
+      var nonEmptySegments = 0;
+      for (var i2 = 0; i2 < arguments.length; i2++) {
+        var url = new URI2(arguments[i2]);
+        input.push(url);
+        var _segments = url.segment();
+        for (var s2 = 0; s2 < _segments.length; s2++) {
+          if (typeof _segments[s2] === "string") {
+            segments.push(_segments[s2]);
+          }
+          if (_segments[s2]) {
+            nonEmptySegments++;
+          }
+        }
+      }
+      if (!segments.length || !nonEmptySegments) {
+        return new URI2("");
+      }
+      var uri = new URI2("").segment(segments);
+      if (input[0].path() === "" || input[0].path().slice(0, 1) === "/") {
+        uri.path("/" + uri.path());
+      }
+      return uri.normalize();
+    };
+    URI2.commonPath = function(one, two) {
+      var length2 = Math.min(one.length, two.length);
+      var pos;
+      for (pos = 0; pos < length2; pos++) {
+        if (one.charAt(pos) !== two.charAt(pos)) {
+          pos--;
+          break;
+        }
+      }
+      if (pos < 1) {
+        return one.charAt(0) === two.charAt(0) && one.charAt(0) === "/" ? "/" : "";
+      }
+      if (one.charAt(pos) !== "/" || two.charAt(pos) !== "/") {
+        pos = one.substring(0, pos).lastIndexOf("/");
+      }
+      return one.substring(0, pos + 1);
+    };
+    URI2.withinString = function(string, callback, options2) {
+      options2 || (options2 = {});
+      var _start = options2.start || URI2.findUri.start;
+      var _end = options2.end || URI2.findUri.end;
+      var _trim2 = options2.trim || URI2.findUri.trim;
+      var _parens = options2.parens || URI2.findUri.parens;
+      var _attributeOpen = /[a-z0-9-]=["']?$/i;
+      _start.lastIndex = 0;
+      while (true) {
+        var match = _start.exec(string);
+        if (!match) {
+          break;
+        }
+        var start2 = match.index;
+        if (options2.ignoreHtml) {
+          var attributeOpen = string.slice(Math.max(start2 - 3, 0), start2);
+          if (attributeOpen && _attributeOpen.test(attributeOpen)) {
+            continue;
+          }
+        }
+        var end2 = start2 + string.slice(start2).search(_end);
+        var slice2 = string.slice(start2, end2);
+        var parensEnd = -1;
+        while (true) {
+          var parensMatch = _parens.exec(slice2);
+          if (!parensMatch) {
+            break;
+          }
+          var parensMatchEnd = parensMatch.index + parensMatch[0].length;
+          parensEnd = Math.max(parensEnd, parensMatchEnd);
+        }
+        if (parensEnd > -1) {
+          slice2 = slice2.slice(0, parensEnd) + slice2.slice(parensEnd).replace(_trim2, "");
+        } else {
+          slice2 = slice2.replace(_trim2, "");
+        }
+        if (slice2.length <= match[0].length) {
+          continue;
+        }
+        if (options2.ignore && options2.ignore.test(slice2)) {
+          continue;
+        }
+        end2 = start2 + slice2.length;
+        var result2 = callback(slice2, start2, end2, string);
+        if (result2 === void 0) {
+          _start.lastIndex = end2;
+          continue;
+        }
+        result2 = String(result2);
+        string = string.slice(0, start2) + result2 + string.slice(end2);
+        _start.lastIndex = start2 + result2.length;
+      }
+      _start.lastIndex = 0;
+      return string;
+    };
+    URI2.ensureValidHostname = function(v22, protocol) {
+      var hasHostname = !!v22;
+      var hasProtocol = !!protocol;
+      var rejectEmptyHostname = false;
+      if (hasProtocol) {
+        rejectEmptyHostname = arrayContains(URI2.hostProtocols, protocol);
+      }
+      if (rejectEmptyHostname && !hasHostname) {
+        throw new TypeError("Hostname cannot be empty, if protocol is " + protocol);
+      } else if (v22 && v22.match(URI2.invalid_hostname_characters)) {
+        if (!punycode2) {
+          throw new TypeError('Hostname "' + v22 + '" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');
+        }
+        if (punycode2.toASCII(v22).match(URI2.invalid_hostname_characters)) {
+          throw new TypeError('Hostname "' + v22 + '" contains characters other than [A-Z0-9.-:_]');
+        }
+      }
+    };
+    URI2.ensureValidPort = function(v22) {
+      if (!v22) {
+        return;
+      }
+      var port = Number(v22);
+      if (isInteger2(port) && port > 0 && port < 65536) {
+        return;
+      }
+      throw new TypeError('Port "' + v22 + '" is not a valid port');
+    };
+    URI2.noConflict = function(removeAll) {
+      if (removeAll) {
+        var unconflicted = {
+          URI: this.noConflict()
+        };
+        if (root.URITemplate && typeof root.URITemplate.noConflict === "function") {
+          unconflicted.URITemplate = root.URITemplate.noConflict();
+        }
+        if (root.IPv6 && typeof root.IPv6.noConflict === "function") {
+          unconflicted.IPv6 = root.IPv6.noConflict();
+        }
+        if (root.SecondLevelDomains && typeof root.SecondLevelDomains.noConflict === "function") {
+          unconflicted.SecondLevelDomains = root.SecondLevelDomains.noConflict();
+        }
+        return unconflicted;
+      } else if (root.URI === this) {
+        root.URI = _URI;
+      }
+      return this;
+    };
+    p2.build = function(deferBuild) {
+      if (deferBuild === true) {
+        this._deferred_build = true;
+      } else if (deferBuild === void 0 || this._deferred_build) {
+        this._string = URI2.build(this._parts);
+        this._deferred_build = false;
+      }
+      return this;
+    };
+    p2.clone = function() {
+      return new URI2(this);
+    };
+    p2.valueOf = p2.toString = function() {
+      return this.build(false)._string;
+    };
+    function generateSimpleAccessor(_part2) {
+      return function(v22, build) {
+        if (v22 === void 0) {
+          return this._parts[_part2] || "";
+        } else {
+          this._parts[_part2] = v22 || null;
+          this.build(!build);
+          return this;
+        }
+      };
+    }
+    function generatePrefixAccessor(_part2, _key) {
+      return function(v22, build) {
+        if (v22 === void 0) {
+          return this._parts[_part2] || "";
+        } else {
+          if (v22 !== null) {
+            v22 = v22 + "";
+            if (v22.charAt(0) === _key) {
+              v22 = v22.substring(1);
+            }
+          }
+          this._parts[_part2] = v22;
+          this.build(!build);
+          return this;
+        }
+      };
+    }
+    p2.protocol = generateSimpleAccessor("protocol");
+    p2.username = generateSimpleAccessor("username");
+    p2.password = generateSimpleAccessor("password");
+    p2.hostname = generateSimpleAccessor("hostname");
+    p2.port = generateSimpleAccessor("port");
+    p2.query = generatePrefixAccessor("query", "?");
+    p2.fragment = generatePrefixAccessor("fragment", "#");
+    p2.search = function(v22, build) {
+      var t2 = this.query(v22, build);
+      return typeof t2 === "string" && t2.length ? "?" + t2 : t2;
+    };
+    p2.hash = function(v22, build) {
+      var t2 = this.fragment(v22, build);
+      return typeof t2 === "string" && t2.length ? "#" + t2 : t2;
+    };
+    p2.pathname = function(v22, build) {
+      if (v22 === void 0 || v22 === true) {
+        var res = this._parts.path || (this._parts.hostname ? "/" : "");
+        return v22 ? (this._parts.urn ? URI2.decodeUrnPath : URI2.decodePath)(res) : res;
+      } else {
+        if (this._parts.urn) {
+          this._parts.path = v22 ? URI2.recodeUrnPath(v22) : "";
+        } else {
+          this._parts.path = v22 ? URI2.recodePath(v22) : "/";
+        }
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.path = p2.pathname;
+    p2.href = function(href, build) {
+      var key2;
+      if (href === void 0) {
+        return this.toString();
+      }
+      this._string = "";
+      this._parts = URI2._parts();
+      var _URI2 = href instanceof URI2;
+      var _object = typeof href === "object" && (href.hostname || href.path || href.pathname);
+      if (href.nodeName) {
+        var attribute = URI2.getDomAttribute(href);
+        href = href[attribute] || "";
+        _object = false;
+      }
+      if (!_URI2 && _object && href.pathname !== void 0) {
+        href = href.toString();
+      }
+      if (typeof href === "string" || href instanceof String) {
+        this._parts = URI2.parse(String(href), this._parts);
+      } else if (_URI2 || _object) {
+        var src = _URI2 ? href._parts : href;
+        for (key2 in src) {
+          if (key2 === "query") {
+            continue;
+          }
+          if (hasOwn2.call(this._parts, key2)) {
+            this._parts[key2] = src[key2];
+          }
+        }
+        if (src.query) {
+          this.query(src.query, false);
+        }
+      } else {
+        throw new TypeError("invalid input");
+      }
+      this.build(!build);
+      return this;
+    };
+    p2.is = function(what) {
+      var ip = false;
+      var ip4 = false;
+      var ip6 = false;
+      var name2 = false;
+      var sld = false;
+      var idn = false;
+      var punycode3 = false;
+      var relative = !this._parts.urn;
+      if (this._parts.hostname) {
+        relative = false;
+        ip4 = URI2.ip4_expression.test(this._parts.hostname);
+        ip6 = URI2.ip6_expression.test(this._parts.hostname);
+        ip = ip4 || ip6;
+        name2 = !ip;
+        sld = name2 && SLD && SLD.has(this._parts.hostname);
+        idn = name2 && URI2.idn_expression.test(this._parts.hostname);
+        punycode3 = name2 && URI2.punycode_expression.test(this._parts.hostname);
+      }
+      switch (what.toLowerCase()) {
+        case "relative":
+          return relative;
+        case "absolute":
+          return !relative;
+        case "domain":
+        case "name":
+          return name2;
+        case "sld":
+          return sld;
+        case "ip":
+          return ip;
+        case "ip4":
+        case "ipv4":
+        case "inet4":
+          return ip4;
+        case "ip6":
+        case "ipv6":
+        case "inet6":
+          return ip6;
+        case "idn":
+          return idn;
+        case "url":
+          return !this._parts.urn;
+        case "urn":
+          return !!this._parts.urn;
+        case "punycode":
+          return punycode3;
+      }
+      return null;
+    };
+    var _protocol = p2.protocol;
+    var _port = p2.port;
+    var _hostname = p2.hostname;
+    p2.protocol = function(v22, build) {
+      if (v22) {
+        v22 = v22.replace(/:(\/\/)?$/, "");
+        if (!v22.match(URI2.protocol_expression)) {
+          throw new TypeError('Protocol "' + v22 + `" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);
+        }
+      }
+      return _protocol.call(this, v22, build);
+    };
+    p2.scheme = p2.protocol;
+    p2.port = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 !== void 0) {
+        if (v22 === 0) {
+          v22 = null;
+        }
+        if (v22) {
+          v22 += "";
+          if (v22.charAt(0) === ":") {
+            v22 = v22.substring(1);
+          }
+          URI2.ensureValidPort(v22);
+        }
+      }
+      return _port.call(this, v22, build);
+    };
+    p2.hostname = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 !== void 0) {
+        var x2 = { preventInvalidHostname: this._parts.preventInvalidHostname };
+        var res = URI2.parseHost(v22, x2);
+        if (res !== "/") {
+          throw new TypeError('Hostname "' + v22 + '" contains characters other than [A-Z0-9.-]');
+        }
+        v22 = x2.hostname;
+        if (this._parts.preventInvalidHostname) {
+          URI2.ensureValidHostname(v22, this._parts.protocol);
+        }
+      }
+      return _hostname.call(this, v22, build);
+    };
+    p2.origin = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0) {
+        var protocol = this.protocol();
+        var authority = this.authority();
+        if (!authority) {
+          return "";
+        }
+        return (protocol ? protocol + "://" : "") + this.authority();
+      } else {
+        var origin2 = URI2(v22);
+        this.protocol(origin2.protocol()).authority(origin2.authority()).build(!build);
+        return this;
+      }
+    };
+    p2.host = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0) {
+        return this._parts.hostname ? URI2.buildHost(this._parts) : "";
+      } else {
+        var res = URI2.parseHost(v22, this._parts);
+        if (res !== "/") {
+          throw new TypeError('Hostname "' + v22 + '" contains characters other than [A-Z0-9.-]');
+        }
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.authority = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0) {
+        return this._parts.hostname ? URI2.buildAuthority(this._parts) : "";
+      } else {
+        var res = URI2.parseAuthority(v22, this._parts);
+        if (res !== "/") {
+          throw new TypeError('Hostname "' + v22 + '" contains characters other than [A-Z0-9.-]');
+        }
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.userinfo = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0) {
+        var t2 = URI2.buildUserinfo(this._parts);
+        return t2 ? t2.substring(0, t2.length - 1) : t2;
+      } else {
+        if (v22[v22.length - 1] !== "@") {
+          v22 += "@";
+        }
+        URI2.parseUserinfo(v22, this._parts);
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.resource = function(v22, build) {
+      var parts2;
+      if (v22 === void 0) {
+        return this.path() + this.search() + this.hash();
+      }
+      parts2 = URI2.parse(v22);
+      this._parts.path = parts2.path;
+      this._parts.query = parts2.query;
+      this._parts.fragment = parts2.fragment;
+      this.build(!build);
+      return this;
+    };
+    p2.subdomain = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0) {
+        if (!this._parts.hostname || this.is("IP")) {
+          return "";
+        }
+        var end2 = this._parts.hostname.length - this.domain().length - 1;
+        return this._parts.hostname.substring(0, end2) || "";
+      } else {
+        var e2 = this._parts.hostname.length - this.domain().length;
+        var sub2 = this._parts.hostname.substring(0, e2);
+        var replace = new RegExp("^" + escapeRegEx(sub2));
+        if (v22 && v22.charAt(v22.length - 1) !== ".") {
+          v22 += ".";
+        }
+        if (v22.indexOf(":") !== -1) {
+          throw new TypeError("Domains cannot contain colons");
+        }
+        if (v22) {
+          URI2.ensureValidHostname(v22, this._parts.protocol);
+        }
+        this._parts.hostname = this._parts.hostname.replace(replace, v22);
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.domain = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (typeof v22 === "boolean") {
+        build = v22;
+        v22 = void 0;
+      }
+      if (v22 === void 0) {
+        if (!this._parts.hostname || this.is("IP")) {
+          return "";
+        }
+        var t2 = this._parts.hostname.match(/\./g);
+        if (t2 && t2.length < 2) {
+          return this._parts.hostname;
+        }
+        var end2 = this._parts.hostname.length - this.tld(build).length - 1;
+        end2 = this._parts.hostname.lastIndexOf(".", end2 - 1) + 1;
+        return this._parts.hostname.substring(end2) || "";
+      } else {
+        if (!v22) {
+          throw new TypeError("cannot set domain empty");
+        }
+        if (v22.indexOf(":") !== -1) {
+          throw new TypeError("Domains cannot contain colons");
+        }
+        URI2.ensureValidHostname(v22, this._parts.protocol);
+        if (!this._parts.hostname || this.is("IP")) {
+          this._parts.hostname = v22;
+        } else {
+          var replace = new RegExp(escapeRegEx(this.domain()) + "$");
+          this._parts.hostname = this._parts.hostname.replace(replace, v22);
+        }
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.tld = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (typeof v22 === "boolean") {
+        build = v22;
+        v22 = void 0;
+      }
+      if (v22 === void 0) {
+        if (!this._parts.hostname || this.is("IP")) {
+          return "";
+        }
+        var pos = this._parts.hostname.lastIndexOf(".");
+        var tld = this._parts.hostname.substring(pos + 1);
+        if (build !== true && SLD && SLD.list[tld.toLowerCase()]) {
+          return SLD.get(this._parts.hostname) || tld;
+        }
+        return tld;
+      } else {
+        var replace;
+        if (!v22) {
+          throw new TypeError("cannot set TLD empty");
+        } else if (v22.match(/[^a-zA-Z0-9-]/)) {
+          if (SLD && SLD.is(v22)) {
+            replace = new RegExp(escapeRegEx(this.tld()) + "$");
+            this._parts.hostname = this._parts.hostname.replace(replace, v22);
+          } else {
+            throw new TypeError('TLD "' + v22 + '" contains characters other than [A-Z0-9]');
+          }
+        } else if (!this._parts.hostname || this.is("IP")) {
+          throw new ReferenceError("cannot set TLD on non-domain host");
+        } else {
+          replace = new RegExp(escapeRegEx(this.tld()) + "$");
+          this._parts.hostname = this._parts.hostname.replace(replace, v22);
+        }
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.directory = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0 || v22 === true) {
+        if (!this._parts.path && !this._parts.hostname) {
+          return "";
+        }
+        if (this._parts.path === "/") {
+          return "/";
+        }
+        var end2 = this._parts.path.length - this.filename().length - 1;
+        var res = this._parts.path.substring(0, end2) || (this._parts.hostname ? "/" : "");
+        return v22 ? URI2.decodePath(res) : res;
+      } else {
+        var e2 = this._parts.path.length - this.filename().length;
+        var directory = this._parts.path.substring(0, e2);
+        var replace = new RegExp("^" + escapeRegEx(directory));
+        if (!this.is("relative")) {
+          if (!v22) {
+            v22 = "/";
+          }
+          if (v22.charAt(0) !== "/") {
+            v22 = "/" + v22;
+          }
+        }
+        if (v22 && v22.charAt(v22.length - 1) !== "/") {
+          v22 += "/";
+        }
+        v22 = URI2.recodePath(v22);
+        this._parts.path = this._parts.path.replace(replace, v22);
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.filename = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (typeof v22 !== "string") {
+        if (!this._parts.path || this._parts.path === "/") {
+          return "";
+        }
+        var pos = this._parts.path.lastIndexOf("/");
+        var res = this._parts.path.substring(pos + 1);
+        return v22 ? URI2.decodePathSegment(res) : res;
+      } else {
+        var mutatedDirectory = false;
+        if (v22.charAt(0) === "/") {
+          v22 = v22.substring(1);
+        }
+        if (v22.match(/\.?\//)) {
+          mutatedDirectory = true;
+        }
+        var replace = new RegExp(escapeRegEx(this.filename()) + "$");
+        v22 = URI2.recodePath(v22);
+        this._parts.path = this._parts.path.replace(replace, v22);
+        if (mutatedDirectory) {
+          this.normalizePath(build);
+        } else {
+          this.build(!build);
+        }
+        return this;
+      }
+    };
+    p2.suffix = function(v22, build) {
+      if (this._parts.urn) {
+        return v22 === void 0 ? "" : this;
+      }
+      if (v22 === void 0 || v22 === true) {
+        if (!this._parts.path || this._parts.path === "/") {
+          return "";
+        }
+        var filename = this.filename();
+        var pos = filename.lastIndexOf(".");
+        var s2, res;
+        if (pos === -1) {
+          return "";
+        }
+        s2 = filename.substring(pos + 1);
+        res = /^[a-z0-9%]+$/i.test(s2) ? s2 : "";
+        return v22 ? URI2.decodePathSegment(res) : res;
+      } else {
+        if (v22.charAt(0) === ".") {
+          v22 = v22.substring(1);
+        }
+        var suffix = this.suffix();
+        var replace;
+        if (!suffix) {
+          if (!v22) {
+            return this;
+          }
+          this._parts.path += "." + URI2.recodePath(v22);
+        } else if (!v22) {
+          replace = new RegExp(escapeRegEx("." + suffix) + "$");
+        } else {
+          replace = new RegExp(escapeRegEx(suffix) + "$");
+        }
+        if (replace) {
+          v22 = URI2.recodePath(v22);
+          this._parts.path = this._parts.path.replace(replace, v22);
+        }
+        this.build(!build);
+        return this;
+      }
+    };
+    p2.segment = function(segment, v22, build) {
+      var separator = this._parts.urn ? ":" : "/";
+      var path2 = this.path();
+      var absolute = path2.substring(0, 1) === "/";
+      var segments = path2.split(separator);
+      if (segment !== void 0 && typeof segment !== "number") {
+        build = v22;
+        v22 = segment;
+        segment = void 0;
+      }
+      if (segment !== void 0 && typeof segment !== "number") {
+        throw new Error('Bad segment "' + segment + '", must be 0-based integer');
+      }
+      if (absolute) {
+        segments.shift();
+      }
+      if (segment < 0) {
+        segment = Math.max(segments.length + segment, 0);
+      }
+      if (v22 === void 0) {
+        return segment === void 0 ? segments : segments[segment];
+      } else if (segment === null || segments[segment] === void 0) {
+        if (isArray2(v22)) {
+          segments = [];
+          for (var i2 = 0, l2 = v22.length; i2 < l2; i2++) {
+            if (!v22[i2].length && (!segments.length || !segments[segments.length - 1].length)) {
+              continue;
+            }
+            if (segments.length && !segments[segments.length - 1].length) {
+              segments.pop();
+            }
+            segments.push(trimSlashes(v22[i2]));
+          }
+        } else if (v22 || typeof v22 === "string") {
+          v22 = trimSlashes(v22);
+          if (segments[segments.length - 1] === "") {
+            segments[segments.length - 1] = v22;
+          } else {
+            segments.push(v22);
+          }
+        }
+      } else {
+        if (v22) {
+          segments[segment] = trimSlashes(v22);
+        } else {
+          segments.splice(segment, 1);
+        }
+      }
+      if (absolute) {
+        segments.unshift("");
+      }
+      return this.path(segments.join(separator), build);
+    };
+    p2.segmentCoded = function(segment, v22, build) {
+      var segments, i2, l2;
+      if (typeof segment !== "number") {
+        build = v22;
+        v22 = segment;
+        segment = void 0;
+      }
+      if (v22 === void 0) {
+        segments = this.segment(segment, v22, build);
+        if (!isArray2(segments)) {
+          segments = segments !== void 0 ? URI2.decode(segments) : void 0;
+        } else {
+          for (i2 = 0, l2 = segments.length; i2 < l2; i2++) {
+            segments[i2] = URI2.decode(segments[i2]);
+          }
+        }
+        return segments;
+      }
+      if (!isArray2(v22)) {
+        v22 = typeof v22 === "string" || v22 instanceof String ? URI2.encode(v22) : v22;
+      } else {
+        for (i2 = 0, l2 = v22.length; i2 < l2; i2++) {
+          v22[i2] = URI2.encode(v22[i2]);
+        }
+      }
+      return this.segment(segment, v22, build);
+    };
+    var q2 = p2.query;
+    p2.query = function(v22, build) {
+      if (v22 === true) {
+        return URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace);
+      } else if (typeof v22 === "function") {
+        var data2 = URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace);
+        var result2 = v22.call(this, data2);
+        this._parts.query = URI2.buildQuery(result2 || data2, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);
+        this.build(!build);
+        return this;
+      } else if (v22 !== void 0 && typeof v22 !== "string") {
+        this._parts.query = URI2.buildQuery(v22, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);
+        this.build(!build);
+        return this;
+      } else {
+        return q2.call(this, v22, build);
+      }
+    };
+    p2.setQuery = function(name2, value, build) {
+      var data2 = URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace);
+      if (typeof name2 === "string" || name2 instanceof String) {
+        data2[name2] = value !== void 0 ? value : null;
+      } else if (typeof name2 === "object") {
+        for (var key2 in name2) {
+          if (hasOwn2.call(name2, key2)) {
+            data2[key2] = name2[key2];
+          }
+        }
+      } else {
+        throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");
+      }
+      this._parts.query = URI2.buildQuery(data2, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);
+      if (typeof name2 !== "string") {
+        build = value;
+      }
+      this.build(!build);
+      return this;
+    };
+    p2.addQuery = function(name2, value, build) {
+      var data2 = URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace);
+      URI2.addQuery(data2, name2, value === void 0 ? null : value);
+      this._parts.query = URI2.buildQuery(data2, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);
+      if (typeof name2 !== "string") {
+        build = value;
+      }
+      this.build(!build);
+      return this;
+    };
+    p2.removeQuery = function(name2, value, build) {
+      var data2 = URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace);
+      URI2.removeQuery(data2, name2, value);
+      this._parts.query = URI2.buildQuery(data2, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);
+      if (typeof name2 !== "string") {
+        build = value;
+      }
+      this.build(!build);
+      return this;
+    };
+    p2.hasQuery = function(name2, value, withinArray) {
+      var data2 = URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace);
+      return URI2.hasQuery(data2, name2, value, withinArray);
+    };
+    p2.setSearch = p2.setQuery;
+    p2.addSearch = p2.addQuery;
+    p2.removeSearch = p2.removeQuery;
+    p2.hasSearch = p2.hasQuery;
+    p2.normalize = function() {
+      if (this._parts.urn) {
+        return this.normalizeProtocol(false).normalizePath(false).normalizeQuery(false).normalizeFragment(false).build();
+      }
+      return this.normalizeProtocol(false).normalizeHostname(false).normalizePort(false).normalizePath(false).normalizeQuery(false).normalizeFragment(false).build();
+    };
+    p2.normalizeProtocol = function(build) {
+      if (typeof this._parts.protocol === "string") {
+        this._parts.protocol = this._parts.protocol.toLowerCase();
+        this.build(!build);
+      }
+      return this;
+    };
+    p2.normalizeHostname = function(build) {
+      if (this._parts.hostname) {
+        if (this.is("IDN") && punycode2) {
+          this._parts.hostname = punycode2.toASCII(this._parts.hostname);
+        } else if (this.is("IPv6") && IPv62) {
+          this._parts.hostname = IPv62.best(this._parts.hostname);
+        }
+        this._parts.hostname = this._parts.hostname.toLowerCase();
+        this.build(!build);
+      }
+      return this;
+    };
+    p2.normalizePort = function(build) {
+      if (typeof this._parts.protocol === "string" && this._parts.port === URI2.defaultPorts[this._parts.protocol]) {
+        this._parts.port = null;
+        this.build(!build);
+      }
+      return this;
+    };
+    p2.normalizePath = function(build) {
+      var _path2 = this._parts.path;
+      if (!_path2) {
+        return this;
+      }
+      if (this._parts.urn) {
+        this._parts.path = URI2.recodeUrnPath(this._parts.path);
+        this.build(!build);
+        return this;
+      }
+      if (this._parts.path === "/") {
+        return this;
+      }
+      _path2 = URI2.recodePath(_path2);
+      var _was_relative;
+      var _leadingParents = "";
+      var _parent, _pos;
+      if (_path2.charAt(0) !== "/") {
+        _was_relative = true;
+        _path2 = "/" + _path2;
+      }
+      if (_path2.slice(-3) === "/.." || _path2.slice(-2) === "/.") {
+        _path2 += "/";
+      }
+      _path2 = _path2.replace(/(\/(\.\/)+)|(\/\.$)/g, "/").replace(/\/{2,}/g, "/");
+      if (_was_relative) {
+        _leadingParents = _path2.substring(1).match(/^(\.\.\/)+/) || "";
+        if (_leadingParents) {
+          _leadingParents = _leadingParents[0];
+        }
+      }
+      while (true) {
+        _parent = _path2.search(/\/\.\.(\/|$)/);
+        if (_parent === -1) {
+          break;
+        } else if (_parent === 0) {
+          _path2 = _path2.substring(3);
+          continue;
+        }
+        _pos = _path2.substring(0, _parent).lastIndexOf("/");
+        if (_pos === -1) {
+          _pos = _parent;
+        }
+        _path2 = _path2.substring(0, _pos) + _path2.substring(_parent + 3);
+      }
+      if (_was_relative && this.is("relative")) {
+        _path2 = _leadingParents + _path2.substring(1);
+      }
+      this._parts.path = _path2;
+      this.build(!build);
+      return this;
+    };
+    p2.normalizePathname = p2.normalizePath;
+    p2.normalizeQuery = function(build) {
+      if (typeof this._parts.query === "string") {
+        if (!this._parts.query.length) {
+          this._parts.query = null;
+        } else {
+          this.query(URI2.parseQuery(this._parts.query, this._parts.escapeQuerySpace));
+        }
+        this.build(!build);
+      }
+      return this;
+    };
+    p2.normalizeFragment = function(build) {
+      if (!this._parts.fragment) {
+        this._parts.fragment = null;
+        this.build(!build);
+      }
+      return this;
+    };
+    p2.normalizeSearch = p2.normalizeQuery;
+    p2.normalizeHash = p2.normalizeFragment;
+    p2.iso8859 = function() {
+      var e2 = URI2.encode;
+      var d2 = URI2.decode;
+      URI2.encode = escape;
+      URI2.decode = decodeURIComponent;
+      try {
+        this.normalize();
+      } finally {
+        URI2.encode = e2;
+        URI2.decode = d2;
+      }
+      return this;
+    };
+    p2.unicode = function() {
+      var e2 = URI2.encode;
+      var d2 = URI2.decode;
+      URI2.encode = strictEncodeURIComponent;
+      URI2.decode = unescape;
+      try {
+        this.normalize();
+      } finally {
+        URI2.encode = e2;
+        URI2.decode = d2;
+      }
+      return this;
+    };
+    p2.readable = function() {
+      var uri = this.clone();
+      uri.username("").password("").normalize();
+      var t2 = "";
+      if (uri._parts.protocol) {
+        t2 += uri._parts.protocol + "://";
+      }
+      if (uri._parts.hostname) {
+        if (uri.is("punycode") && punycode2) {
+          t2 += punycode2.toUnicode(uri._parts.hostname);
+          if (uri._parts.port) {
+            t2 += ":" + uri._parts.port;
+          }
+        } else {
+          t2 += uri.host();
+        }
+      }
+      if (uri._parts.hostname && uri._parts.path && uri._parts.path.charAt(0) !== "/") {
+        t2 += "/";
+      }
+      t2 += uri.path(true);
+      if (uri._parts.query) {
+        var q3 = "";
+        for (var i2 = 0, qp = uri._parts.query.split("&"), l2 = qp.length; i2 < l2; i2++) {
+          var kv = (qp[i2] || "").split("=");
+          q3 += "&" + URI2.decodeQuery(kv[0], this._parts.escapeQuerySpace).replace(/&/g, "%26");
+          if (kv[1] !== void 0) {
+            q3 += "=" + URI2.decodeQuery(kv[1], this._parts.escapeQuerySpace).replace(/&/g, "%26");
+          }
+        }
+        t2 += "?" + q3.substring(1);
+      }
+      t2 += URI2.decodeQuery(uri.hash(), true);
+      return t2;
+    };
+    p2.absoluteTo = function(base2) {
+      var resolved = this.clone();
+      var properties = ["protocol", "username", "password", "hostname", "port"];
+      var basedir, i2, p3;
+      if (this._parts.urn) {
+        throw new Error("URNs do not have any generally defined hierarchical components");
+      }
+      if (!(base2 instanceof URI2)) {
+        base2 = new URI2(base2);
+      }
+      if (resolved._parts.protocol) {
+        return resolved;
+      } else {
+        resolved._parts.protocol = base2._parts.protocol;
+      }
+      if (this._parts.hostname) {
+        return resolved;
+      }
+      for (i2 = 0; p3 = properties[i2]; i2++) {
+        resolved._parts[p3] = base2._parts[p3];
+      }
+      if (!resolved._parts.path) {
+        resolved._parts.path = base2._parts.path;
+        if (!resolved._parts.query) {
+          resolved._parts.query = base2._parts.query;
+        }
+      } else {
+        if (resolved._parts.path.substring(-2) === "..") {
+          resolved._parts.path += "/";
+        }
+        if (resolved.path().charAt(0) !== "/") {
+          basedir = base2.directory();
+          basedir = basedir ? basedir : base2.path().indexOf("/") === 0 ? "/" : "";
+          resolved._parts.path = (basedir ? basedir + "/" : "") + resolved._parts.path;
+          resolved.normalizePath();
+        }
+      }
+      resolved.build();
+      return resolved;
+    };
+    p2.relativeTo = function(base2) {
+      var relative = this.clone().normalize();
+      var relativeParts, baseParts, common, relativePath, basePath;
+      if (relative._parts.urn) {
+        throw new Error("URNs do not have any generally defined hierarchical components");
+      }
+      base2 = new URI2(base2).normalize();
+      relativeParts = relative._parts;
+      baseParts = base2._parts;
+      relativePath = relative.path();
+      basePath = base2.path();
+      if (relativePath.charAt(0) !== "/") {
+        throw new Error("URI is already relative");
+      }
+      if (basePath.charAt(0) !== "/") {
+        throw new Error("Cannot calculate a URI relative to another relative URI");
+      }
+      if (relativeParts.protocol === baseParts.protocol) {
+        relativeParts.protocol = null;
+      }
+      if (relativeParts.username !== baseParts.username || relativeParts.password !== baseParts.password) {
+        return relative.build();
+      }
+      if (relativeParts.protocol !== null || relativeParts.username !== null || relativeParts.password !== null) {
+        return relative.build();
+      }
+      if (relativeParts.hostname === baseParts.hostname && relativeParts.port === baseParts.port) {
+        relativeParts.hostname = null;
+        relativeParts.port = null;
+      } else {
+        return relative.build();
+      }
+      if (relativePath === basePath) {
+        relativeParts.path = "";
+        return relative.build();
+      }
+      common = URI2.commonPath(relativePath, basePath);
+      if (!common) {
+        return relative.build();
+      }
+      var parents = baseParts.path.substring(common.length).replace(/[^\/]*$/, "").replace(/.*?\//g, "../");
+      relativeParts.path = parents + relativeParts.path.substring(common.length) || "./";
+      return relative.build();
+    };
+    p2.equals = function(uri) {
+      var one = this.clone();
+      var two = new URI2(uri);
+      var one_map = {};
+      var two_map = {};
+      var checked = {};
+      var one_query, two_query, key2;
+      one.normalize();
+      two.normalize();
+      if (one.toString() === two.toString()) {
+        return true;
+      }
+      one_query = one.query();
+      two_query = two.query();
+      one.query("");
+      two.query("");
+      if (one.toString() !== two.toString()) {
+        return false;
+      }
+      if (one_query.length !== two_query.length) {
+        return false;
+      }
+      one_map = URI2.parseQuery(one_query, this._parts.escapeQuerySpace);
+      two_map = URI2.parseQuery(two_query, this._parts.escapeQuerySpace);
+      for (key2 in one_map) {
+        if (hasOwn2.call(one_map, key2)) {
+          if (!isArray2(one_map[key2])) {
+            if (one_map[key2] !== two_map[key2]) {
+              return false;
+            }
+          } else if (!arraysEqual(one_map[key2], two_map[key2])) {
+            return false;
+          }
+          checked[key2] = true;
+        }
+      }
+      for (key2 in two_map) {
+        if (hasOwn2.call(two_map, key2)) {
+          if (!checked[key2]) {
+            return false;
+          }
+        }
+      }
+      return true;
+    };
+    p2.preventInvalidHostname = function(v22) {
+      this._parts.preventInvalidHostname = !!v22;
+      return this;
+    };
+    p2.duplicateQueryParameters = function(v22) {
+      this._parts.duplicateQueryParameters = !!v22;
+      return this;
+    };
+    p2.escapeQuerySpace = function(v22) {
+      this._parts.escapeQuerySpace = !!v22;
+      return this;
+    };
+    return URI2;
+  });
+})(URI$1);
+var URI = URI$1.exports;
+var axios$2 = { exports: {} };
+var bind$2$1 = function bind3(fn, thisArg) {
+  return function wrap() {
+    var args = new Array(arguments.length);
+    for (var i2 = 0; i2 < args.length; i2++) {
+      args[i2] = arguments[i2];
+    }
+    return fn.apply(thisArg, args);
+  };
+};
+var bind$1$1 = bind$2$1;
+var toString$2 = Object.prototype.toString;
+function isArray$1$1(val) {
+  return Array.isArray(val);
+}
+function isUndefined$1(val) {
+  return typeof val === "undefined";
+}
+function isBuffer$1(val) {
+  return val !== null && !isUndefined$1(val) && val.constructor !== null && !isUndefined$1(val.constructor) && typeof val.constructor.isBuffer === "function" && val.constructor.isBuffer(val);
+}
+function isArrayBuffer$1(val) {
+  return toString$2.call(val) === "[object ArrayBuffer]";
+}
+function isFormData$1(val) {
+  return toString$2.call(val) === "[object FormData]";
+}
+function isArrayBufferView$1(val) {
+  var result2;
+  if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
+    result2 = ArrayBuffer.isView(val);
+  } else {
+    result2 = val && val.buffer && isArrayBuffer$1(val.buffer);
+  }
+  return result2;
+}
+function isString$2(val) {
+  return typeof val === "string";
+}
+function isNumber$3(val) {
+  return typeof val === "number";
+}
+function isObject$1$1(val) {
+  return val !== null && typeof val === "object";
+}
+function isPlainObject$2(val) {
+  if (toString$2.call(val) !== "[object Object]") {
+    return false;
+  }
+  var prototype2 = Object.getPrototypeOf(val);
+  return prototype2 === null || prototype2 === Object.prototype;
+}
+function isDate$3(val) {
+  return toString$2.call(val) === "[object Date]";
+}
+function isFile$1(val) {
+  return toString$2.call(val) === "[object File]";
+}
+function isBlob$1(val) {
+  return toString$2.call(val) === "[object Blob]";
+}
+function isFunction$3(val) {
+  return toString$2.call(val) === "[object Function]";
+}
+function isStream$1(val) {
+  return isObject$1$1(val) && isFunction$3(val.pipe);
+}
+function isURLSearchParams$1(val) {
+  return toString$2.call(val) === "[object URLSearchParams]";
+}
+function trim$3(str) {
+  return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, "");
+}
+function isStandardBrowserEnv() {
+  if (typeof navigator !== "undefined" && (navigator.product === "ReactNative" || navigator.product === "NativeScript" || navigator.product === "NS")) {
+    return false;
+  }
+  return typeof window !== "undefined" && typeof document !== "undefined";
+}
+function forEach$1(obj2, fn) {
+  if (obj2 === null || typeof obj2 === "undefined") {
+    return;
+  }
+  if (typeof obj2 !== "object") {
+    obj2 = [obj2];
+  }
+  if (isArray$1$1(obj2)) {
+    for (var i2 = 0, l2 = obj2.length; i2 < l2; i2++) {
+      fn.call(null, obj2[i2], i2, obj2);
+    }
+  } else {
+    for (var key2 in obj2) {
+      if (Object.prototype.hasOwnProperty.call(obj2, key2)) {
+        fn.call(null, obj2[key2], key2, obj2);
+      }
+    }
+  }
+}
+function merge$3() {
+  var result2 = {};
+  function assignValue(val, key2) {
+    if (isPlainObject$2(result2[key2]) && isPlainObject$2(val)) {
+      result2[key2] = merge$3(result2[key2], val);
+    } else if (isPlainObject$2(val)) {
+      result2[key2] = merge$3({}, val);
+    } else if (isArray$1$1(val)) {
+      result2[key2] = val.slice();
+    } else {
+      result2[key2] = val;
+    }
+  }
+  for (var i2 = 0, l2 = arguments.length; i2 < l2; i2++) {
+    forEach$1(arguments[i2], assignValue);
+  }
+  return result2;
+}
+function extend$5(a2, b2, thisArg) {
+  forEach$1(b2, function assignValue(val, key2) {
+    if (thisArg && typeof val === "function") {
+      a2[key2] = bind$1$1(val, thisArg);
+    } else {
+      a2[key2] = val;
+    }
+  });
+  return a2;
+}
+function stripBOM$1(content) {
+  if (content.charCodeAt(0) === 65279) {
+    content = content.slice(1);
+  }
+  return content;
+}
+var utils$e = {
+  isArray: isArray$1$1,
+  isArrayBuffer: isArrayBuffer$1,
+  isBuffer: isBuffer$1,
+  isFormData: isFormData$1,
+  isArrayBufferView: isArrayBufferView$1,
+  isString: isString$2,
+  isNumber: isNumber$3,
+  isObject: isObject$1$1,
+  isPlainObject: isPlainObject$2,
+  isUndefined: isUndefined$1,
+  isDate: isDate$3,
+  isFile: isFile$1,
+  isBlob: isBlob$1,
+  isFunction: isFunction$3,
+  isStream: isStream$1,
+  isURLSearchParams: isURLSearchParams$1,
+  isStandardBrowserEnv,
+  forEach: forEach$1,
+  merge: merge$3,
+  extend: extend$5,
+  trim: trim$3,
+  stripBOM: stripBOM$1
+};
+var utils$d = utils$e;
+function encode$1$1(val) {
+  return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
+}
+var buildURL$2 = function buildURL3(url, params2, paramsSerializer) {
+  if (!params2) {
+    return url;
+  }
+  var serializedParams;
+  if (paramsSerializer) {
+    serializedParams = paramsSerializer(params2);
+  } else if (utils$d.isURLSearchParams(params2)) {
+    serializedParams = params2.toString();
+  } else {
+    var parts2 = [];
+    utils$d.forEach(params2, function serialize(val, key2) {
+      if (val === null || typeof val === "undefined") {
+        return;
+      }
+      if (utils$d.isArray(val)) {
+        key2 = key2 + "[]";
+      } else {
+        val = [val];
+      }
+      utils$d.forEach(val, function parseValue(v22) {
+        if (utils$d.isDate(v22)) {
+          v22 = v22.toISOString();
+        } else if (utils$d.isObject(v22)) {
+          v22 = JSON.stringify(v22);
+        }
+        parts2.push(encode$1$1(key2) + "=" + encode$1$1(v22));
+      });
+    });
+    serializedParams = parts2.join("&");
+  }
+  if (serializedParams) {
+    var hashmarkIndex = url.indexOf("#");
+    if (hashmarkIndex !== -1) {
+      url = url.slice(0, hashmarkIndex);
+    }
+    url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
+  }
+  return url;
+};
+var utils$c = utils$e;
+function InterceptorManager$1$1() {
+  this.handlers = [];
+}
+InterceptorManager$1$1.prototype.use = function use2(fulfilled, rejected, options2) {
+  this.handlers.push({
+    fulfilled,
+    rejected,
+    synchronous: options2 ? options2.synchronous : false,
+    runWhen: options2 ? options2.runWhen : null
+  });
+  return this.handlers.length - 1;
+};
+InterceptorManager$1$1.prototype.eject = function eject(id) {
+  if (this.handlers[id]) {
+    this.handlers[id] = null;
+  }
+};
+InterceptorManager$1$1.prototype.forEach = function forEach2(fn) {
+  utils$c.forEach(this.handlers, function forEachHandler(h22) {
+    if (h22 !== null) {
+      fn(h22);
+    }
+  });
+};
+var InterceptorManager_1 = InterceptorManager$1$1;
+var utils$b = utils$e;
+var normalizeHeaderName$1 = function normalizeHeaderName(headers, normalizedName) {
+  utils$b.forEach(headers, function processHeader(value, name2) {
+    if (name2 !== normalizedName && name2.toUpperCase() === normalizedName.toUpperCase()) {
+      headers[normalizedName] = value;
+      delete headers[name2];
+    }
+  });
+};
+var enhanceError$2 = function enhanceError(error, config2, code, request2, response) {
+  error.config = config2;
+  if (code) {
+    error.code = code;
+  }
+  error.request = request2;
+  error.response = response;
+  error.isAxiosError = true;
+  error.toJSON = function toJSON2() {
+    return {
+      message: this.message,
+      name: this.name,
+      description: this.description,
+      number: this.number,
+      fileName: this.fileName,
+      lineNumber: this.lineNumber,
+      columnNumber: this.columnNumber,
+      stack: this.stack,
+      config: this.config,
+      code: this.code,
+      status: this.response && this.response.status ? this.response.status : null
+    };
+  };
+  return error;
+};
+var transitional = {
+  silentJSONParsing: true,
+  forcedJSONParsing: true,
+  clarifyTimeoutError: false
+};
+var enhanceError$1 = enhanceError$2;
+var createError$2 = function createError(message, config2, code, request2, response) {
+  var error = new Error(message);
+  return enhanceError$1(error, config2, code, request2, response);
+};
+var createError$1 = createError$2;
+var settle$1 = function settle3(resolve, reject, response) {
+  var validateStatus22 = response.config.validateStatus;
+  if (!response.status || !validateStatus22 || validateStatus22(response.status)) {
+    resolve(response);
+  } else {
+    reject(createError$1(
+      "Request failed with status code " + response.status,
+      response.config,
+      null,
+      response.request,
+      response
+    ));
+  }
+};
+var utils$a = utils$e;
+var cookies$1 = utils$a.isStandardBrowserEnv() ? function standardBrowserEnv() {
+  return {
+    write: function write(name2, value, expires, path2, domain, secure) {
+      var cookie = [];
+      cookie.push(name2 + "=" + encodeURIComponent(value));
+      if (utils$a.isNumber(expires)) {
+        cookie.push("expires=" + new Date(expires).toGMTString());
+      }
+      if (utils$a.isString(path2)) {
+        cookie.push("path=" + path2);
+      }
+      if (utils$a.isString(domain)) {
+        cookie.push("domain=" + domain);
+      }
+      if (secure === true) {
+        cookie.push("secure");
+      }
+      document.cookie = cookie.join("; ");
+    },
+    read: function read(name2) {
+      var match = document.cookie.match(new RegExp("(^|;\\s*)(" + name2 + ")=([^;]*)"));
+      return match ? decodeURIComponent(match[3]) : null;
+    },
+    remove: function remove2(name2) {
+      this.write(name2, "", Date.now() - 864e5);
+    }
+  };
+}() : function nonStandardBrowserEnv() {
+  return {
+    write: function write() {
+    },
+    read: function read() {
+      return null;
+    },
+    remove: function remove2() {
+    }
+  };
+}();
+var isAbsoluteURL$1 = function isAbsoluteURL3(url) {
+  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
+};
+var combineURLs$1 = function combineURLs3(baseURL, relativeURL) {
+  return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
+};
+var isAbsoluteURL2 = isAbsoluteURL$1;
+var combineURLs2 = combineURLs$1;
+var buildFullPath$1 = function buildFullPath3(baseURL, requestedURL) {
+  if (baseURL && !isAbsoluteURL2(requestedURL)) {
+    return combineURLs2(baseURL, requestedURL);
+  }
+  return requestedURL;
+};
+var utils$9 = utils$e;
+var ignoreDuplicateOf$1 = [
+  "age",
+  "authorization",
+  "content-length",
+  "content-type",
+  "etag",
+  "expires",
+  "from",
+  "host",
+  "if-modified-since",
+  "if-unmodified-since",
+  "last-modified",
+  "location",
+  "max-forwards",
+  "proxy-authorization",
+  "referer",
+  "retry-after",
+  "user-agent"
+];
+var parseHeaders$1 = function parseHeaders3(headers) {
+  var parsed = {};
+  var key2;
+  var val;
+  var i2;
+  if (!headers) {
+    return parsed;
+  }
+  utils$9.forEach(headers.split("\n"), function parser2(line2) {
+    i2 = line2.indexOf(":");
+    key2 = utils$9.trim(line2.substr(0, i2)).toLowerCase();
+    val = utils$9.trim(line2.substr(i2 + 1));
+    if (key2) {
+      if (parsed[key2] && ignoreDuplicateOf$1.indexOf(key2) >= 0) {
+        return;
+      }
+      if (key2 === "set-cookie") {
+        parsed[key2] = (parsed[key2] ? parsed[key2] : []).concat([val]);
+      } else {
+        parsed[key2] = parsed[key2] ? parsed[key2] + ", " + val : val;
+      }
+    }
+  });
+  return parsed;
+};
+var utils$8 = utils$e;
+var isURLSameOrigin$1 = utils$8.isStandardBrowserEnv() ? function standardBrowserEnv2() {
+  var msie = /(msie|trident)/i.test(navigator.userAgent);
+  var urlParsingNode = document.createElement("a");
+  var originURL;
+  function resolveURL(url) {
+    var href = url;
+    if (msie) {
+      urlParsingNode.setAttribute("href", href);
+      href = urlParsingNode.href;
+    }
+    urlParsingNode.setAttribute("href", href);
+    return {
+      href: urlParsingNode.href,
+      protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
+      host: urlParsingNode.host,
+      search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
+      hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
+      hostname: urlParsingNode.hostname,
+      port: urlParsingNode.port,
+      pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
+    };
+  }
+  originURL = resolveURL(window.location.href);
+  return function isURLSameOrigin2(requestURL) {
+    var parsed = utils$8.isString(requestURL) ? resolveURL(requestURL) : requestURL;
+    return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
+  };
+}() : function nonStandardBrowserEnv2() {
+  return function isURLSameOrigin2() {
+    return true;
+  };
+}();
+function Cancel$3(message) {
+  this.message = message;
+}
+Cancel$3.prototype.toString = function toString2() {
+  return "Cancel" + (this.message ? ": " + this.message : "");
+};
+Cancel$3.prototype.__CANCEL__ = true;
+var Cancel_1 = Cancel$3;
+var utils$7 = utils$e;
+var settle2 = settle$1;
+var cookies$2 = cookies$1;
+var buildURL$1 = buildURL$2;
+var buildFullPath2 = buildFullPath$1;
+var parseHeaders2 = parseHeaders$1;
+var isURLSameOrigin$2 = isURLSameOrigin$1;
+var createError2 = createError$2;
+var transitionalDefaults$1 = transitional;
+var Cancel$2 = Cancel_1;
+var xhr = function xhrAdapter2(config2) {
+  return new Promise(function dispatchXhrRequest(resolve, reject) {
+    var requestData = config2.data;
+    var requestHeaders = config2.headers;
+    var responseType = config2.responseType;
+    var onCanceled;
+    function done() {
+      if (config2.cancelToken) {
+        config2.cancelToken.unsubscribe(onCanceled);
+      }
+      if (config2.signal) {
+        config2.signal.removeEventListener("abort", onCanceled);
+      }
+    }
+    if (utils$7.isFormData(requestData)) {
+      delete requestHeaders["Content-Type"];
+    }
+    var request2 = new XMLHttpRequest();
+    if (config2.auth) {
+      var username = config2.auth.username || "";
+      var password = config2.auth.password ? unescape(encodeURIComponent(config2.auth.password)) : "";
+      requestHeaders.Authorization = "Basic " + btoa(username + ":" + password);
+    }
+    var fullPath = buildFullPath2(config2.baseURL, config2.url);
+    request2.open(config2.method.toUpperCase(), buildURL$1(fullPath, config2.params, config2.paramsSerializer), true);
+    request2.timeout = config2.timeout;
+    function onloadend() {
+      if (!request2) {
+        return;
+      }
+      var responseHeaders = "getAllResponseHeaders" in request2 ? parseHeaders2(request2.getAllResponseHeaders()) : null;
+      var responseData = !responseType || responseType === "text" || responseType === "json" ? request2.responseText : request2.response;
+      var response = {
+        data: responseData,
+        status: request2.status,
+        statusText: request2.statusText,
+        headers: responseHeaders,
+        config: config2,
+        request: request2
+      };
+      settle2(function _resolve(value) {
+        resolve(value);
+        done();
+      }, function _reject(err) {
+        reject(err);
+        done();
+      }, response);
+      request2 = null;
+    }
+    if ("onloadend" in request2) {
+      request2.onloadend = onloadend;
+    } else {
+      request2.onreadystatechange = function handleLoad() {
+        if (!request2 || request2.readyState !== 4) {
+          return;
+        }
+        if (request2.status === 0 && !(request2.responseURL && request2.responseURL.indexOf("file:") === 0)) {
+          return;
+        }
+        setTimeout(onloadend);
+      };
+    }
+    request2.onabort = function handleAbort() {
+      if (!request2) {
+        return;
+      }
+      reject(createError2("Request aborted", config2, "ECONNABORTED", request2));
+      request2 = null;
+    };
+    request2.onerror = function handleError() {
+      reject(createError2("Network Error", config2, null, request2));
+      request2 = null;
+    };
+    request2.ontimeout = function handleTimeout() {
+      var timeoutErrorMessage = config2.timeout ? "timeout of " + config2.timeout + "ms exceeded" : "timeout exceeded";
+      var transitional32 = config2.transitional || transitionalDefaults$1;
+      if (config2.timeoutErrorMessage) {
+        timeoutErrorMessage = config2.timeoutErrorMessage;
+      }
+      reject(createError2(
+        timeoutErrorMessage,
+        config2,
+        transitional32.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED",
+        request2
+      ));
+      request2 = null;
+    };
+    if (utils$7.isStandardBrowserEnv()) {
+      var xsrfValue = (config2.withCredentials || isURLSameOrigin$2(fullPath)) && config2.xsrfCookieName ? cookies$2.read(config2.xsrfCookieName) : void 0;
+      if (xsrfValue) {
+        requestHeaders[config2.xsrfHeaderName] = xsrfValue;
+      }
+    }
+    if ("setRequestHeader" in request2) {
+      utils$7.forEach(requestHeaders, function setRequestHeader(val, key2) {
+        if (typeof requestData === "undefined" && key2.toLowerCase() === "content-type") {
+          delete requestHeaders[key2];
+        } else {
+          request2.setRequestHeader(key2, val);
+        }
+      });
+    }
+    if (!utils$7.isUndefined(config2.withCredentials)) {
+      request2.withCredentials = !!config2.withCredentials;
+    }
+    if (responseType && responseType !== "json") {
+      request2.responseType = config2.responseType;
+    }
+    if (typeof config2.onDownloadProgress === "function") {
+      request2.addEventListener("progress", config2.onDownloadProgress);
+    }
+    if (typeof config2.onUploadProgress === "function" && request2.upload) {
+      request2.upload.addEventListener("progress", config2.onUploadProgress);
+    }
+    if (config2.cancelToken || config2.signal) {
+      onCanceled = function(cancel) {
+        if (!request2) {
+          return;
+        }
+        reject(!cancel || cancel && cancel.type ? new Cancel$2("canceled") : cancel);
+        request2.abort();
+        request2 = null;
+      };
+      config2.cancelToken && config2.cancelToken.subscribe(onCanceled);
+      if (config2.signal) {
+        config2.signal.aborted ? onCanceled() : config2.signal.addEventListener("abort", onCanceled);
+      }
+    }
+    if (!requestData) {
+      requestData = null;
+    }
+    request2.send(requestData);
+  });
+};
+var utils$6 = utils$e;
+var normalizeHeaderName2 = normalizeHeaderName$1;
+var enhanceError2 = enhanceError$2;
+var transitionalDefaults$2 = transitional;
+var DEFAULT_CONTENT_TYPE = {
+  "Content-Type": "application/x-www-form-urlencoded"
+};
+function setContentTypeIfUnset(headers, value) {
+  if (!utils$6.isUndefined(headers) && utils$6.isUndefined(headers["Content-Type"])) {
+    headers["Content-Type"] = value;
+  }
+}
+function getDefaultAdapter() {
+  var adapter;
+  if (typeof XMLHttpRequest !== "undefined") {
+    adapter = xhr;
+  } else if (typeof process !== "undefined" && Object.prototype.toString.call(process) === "[object process]") {
+    adapter = xhr;
+  }
+  return adapter;
+}
+function stringifySafely$1(rawValue, parser2, encoder) {
+  if (utils$6.isString(rawValue)) {
+    try {
+      (parser2 || JSON.parse)(rawValue);
+      return utils$6.trim(rawValue);
+    } catch (e2) {
+      if (e2.name !== "SyntaxError") {
+        throw e2;
+      }
+    }
+  }
+  return (encoder || JSON.stringify)(rawValue);
+}
+var defaults$3 = {
+  transitional: transitionalDefaults$2,
+  adapter: getDefaultAdapter(),
+  transformRequest: [function transformRequest(data2, headers) {
+    normalizeHeaderName2(headers, "Accept");
+    normalizeHeaderName2(headers, "Content-Type");
+    if (utils$6.isFormData(data2) || utils$6.isArrayBuffer(data2) || utils$6.isBuffer(data2) || utils$6.isStream(data2) || utils$6.isFile(data2) || utils$6.isBlob(data2)) {
+      return data2;
+    }
+    if (utils$6.isArrayBufferView(data2)) {
+      return data2.buffer;
+    }
+    if (utils$6.isURLSearchParams(data2)) {
+      setContentTypeIfUnset(headers, "application/x-www-form-urlencoded;charset=utf-8");
+      return data2.toString();
+    }
+    if (utils$6.isObject(data2) || headers && headers["Content-Type"] === "application/json") {
+      setContentTypeIfUnset(headers, "application/json");
+      return stringifySafely$1(data2);
+    }
+    return data2;
+  }],
+  transformResponse: [function transformResponse(data2) {
+    var transitional32 = this.transitional || defaults$3.transitional;
+    var silentJSONParsing = transitional32 && transitional32.silentJSONParsing;
+    var forcedJSONParsing = transitional32 && transitional32.forcedJSONParsing;
+    var strictJSONParsing = !silentJSONParsing && this.responseType === "json";
+    if (strictJSONParsing || forcedJSONParsing && utils$6.isString(data2) && data2.length) {
+      try {
+        return JSON.parse(data2);
+      } catch (e2) {
+        if (strictJSONParsing) {
+          if (e2.name === "SyntaxError") {
+            throw enhanceError2(e2, this, "E_JSON_PARSE");
+          }
+          throw e2;
+        }
+      }
+    }
+    return data2;
+  }],
+  timeout: 0,
+  xsrfCookieName: "XSRF-TOKEN",
+  xsrfHeaderName: "X-XSRF-TOKEN",
+  maxContentLength: -1,
+  maxBodyLength: -1,
+  validateStatus: function validateStatus(status) {
+    return status >= 200 && status < 300;
+  },
+  headers: {
+    common: {
+      "Accept": "application/json, text/plain, */*"
+    }
+  }
+};
+utils$6.forEach(["delete", "get", "head"], function forEachMethodNoData(method) {
+  defaults$3.headers[method] = {};
+});
+utils$6.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
+  defaults$3.headers[method] = utils$6.merge(DEFAULT_CONTENT_TYPE);
+});
+var defaults_1 = defaults$3;
+var utils$5 = utils$e;
+var defaults$2$1 = defaults_1;
+var transformData$1 = function transformData3(data2, headers, fns) {
+  var context = this || defaults$2$1;
+  utils$5.forEach(fns, function transform3(fn) {
+    data2 = fn.call(context, data2, headers);
+  });
+  return data2;
+};
+var isCancel$1 = function isCancel3(value) {
+  return !!(value && value.__CANCEL__);
+};
+var utils$4 = utils$e;
+var transformData2 = transformData$1;
+var isCancel2 = isCancel$1;
+var defaults$1$1 = defaults_1;
+var Cancel$1 = Cancel_1;
+function throwIfCancellationRequested$1(config2) {
+  if (config2.cancelToken) {
+    config2.cancelToken.throwIfRequested();
+  }
+  if (config2.signal && config2.signal.aborted) {
+    throw new Cancel$1("canceled");
+  }
+}
+var dispatchRequest$1 = function dispatchRequest3(config2) {
+  throwIfCancellationRequested$1(config2);
+  config2.headers = config2.headers || {};
+  config2.data = transformData2.call(
+    config2,
+    config2.data,
+    config2.headers,
+    config2.transformRequest
+  );
+  config2.headers = utils$4.merge(
+    config2.headers.common || {},
+    config2.headers[config2.method] || {},
+    config2.headers
+  );
+  utils$4.forEach(
+    ["delete", "get", "head", "post", "put", "patch", "common"],
+    function cleanHeaderConfig(method) {
+      delete config2.headers[method];
+    }
+  );
+  var adapter = config2.adapter || defaults$1$1.adapter;
+  return adapter(config2).then(function onAdapterResolution(response) {
+    throwIfCancellationRequested$1(config2);
+    response.data = transformData2.call(
+      config2,
+      response.data,
+      response.headers,
+      config2.transformResponse
+    );
+    return response;
+  }, function onAdapterRejection(reason) {
+    if (!isCancel2(reason)) {
+      throwIfCancellationRequested$1(config2);
+      if (reason && reason.response) {
+        reason.response.data = transformData2.call(
+          config2,
+          reason.response.data,
+          reason.response.headers,
+          config2.transformResponse
+        );
+      }
+    }
+    return Promise.reject(reason);
+  });
+};
+var utils$3 = utils$e;
+var mergeConfig$2 = function mergeConfig3(config1, config2) {
+  config2 = config2 || {};
+  var config3 = {};
+  function getMergedValue(target, source2) {
+    if (utils$3.isPlainObject(target) && utils$3.isPlainObject(source2)) {
+      return utils$3.merge(target, source2);
+    } else if (utils$3.isPlainObject(source2)) {
+      return utils$3.merge({}, source2);
+    } else if (utils$3.isArray(source2)) {
+      return source2.slice();
+    }
+    return source2;
+  }
+  function mergeDeepProperties(prop2) {
+    if (!utils$3.isUndefined(config2[prop2])) {
+      return getMergedValue(config1[prop2], config2[prop2]);
+    } else if (!utils$3.isUndefined(config1[prop2])) {
+      return getMergedValue(void 0, config1[prop2]);
+    }
+  }
+  function valueFromConfig2(prop2) {
+    if (!utils$3.isUndefined(config2[prop2])) {
+      return getMergedValue(void 0, config2[prop2]);
+    }
+  }
+  function defaultToConfig2(prop2) {
+    if (!utils$3.isUndefined(config2[prop2])) {
+      return getMergedValue(void 0, config2[prop2]);
+    } else if (!utils$3.isUndefined(config1[prop2])) {
+      return getMergedValue(void 0, config1[prop2]);
+    }
+  }
+  function mergeDirectKeys(prop2) {
+    if (prop2 in config2) {
+      return getMergedValue(config1[prop2], config2[prop2]);
+    } else if (prop2 in config1) {
+      return getMergedValue(void 0, config1[prop2]);
+    }
+  }
+  var mergeMap = {
+    "url": valueFromConfig2,
+    "method": valueFromConfig2,
+    "data": valueFromConfig2,
+    "baseURL": defaultToConfig2,
+    "transformRequest": defaultToConfig2,
+    "transformResponse": defaultToConfig2,
+    "paramsSerializer": defaultToConfig2,
+    "timeout": defaultToConfig2,
+    "timeoutMessage": defaultToConfig2,
+    "withCredentials": defaultToConfig2,
+    "adapter": defaultToConfig2,
+    "responseType": defaultToConfig2,
+    "xsrfCookieName": defaultToConfig2,
+    "xsrfHeaderName": defaultToConfig2,
+    "onUploadProgress": defaultToConfig2,
+    "onDownloadProgress": defaultToConfig2,
+    "decompress": defaultToConfig2,
+    "maxContentLength": defaultToConfig2,
+    "maxBodyLength": defaultToConfig2,
+    "transport": defaultToConfig2,
+    "httpAgent": defaultToConfig2,
+    "httpsAgent": defaultToConfig2,
+    "cancelToken": defaultToConfig2,
+    "socketPath": defaultToConfig2,
+    "responseEncoding": defaultToConfig2,
+    "validateStatus": mergeDirectKeys
+  };
+  utils$3.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop2) {
+    var merge2 = mergeMap[prop2] || mergeDeepProperties;
+    var configValue = merge2(prop2);
+    utils$3.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config3[prop2] = configValue);
+  });
+  return config3;
+};
+var data = {
+  "version": "0.26.1"
+};
+var VERSION$1 = data.version;
+var validators$1$1 = {};
+["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type2, i2) {
+  validators$1$1[type2] = function validator25(thing) {
+    return typeof thing === type2 || "a" + (i2 < 1 ? "n " : " ") + type2;
+  };
+});
+var deprecatedWarnings$1 = {};
+validators$1$1.transitional = function transitional2(validator25, version2, message) {
+  function formatMessage(opt, desc) {
+    return "[Axios v" + VERSION$1 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
+  }
+  return function(value, opt, opts2) {
+    if (validator25 === false) {
+      throw new Error(formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")));
+    }
+    if (version2 && !deprecatedWarnings$1[opt]) {
+      deprecatedWarnings$1[opt] = true;
+      console.warn(
+        formatMessage(
+          opt,
+          " has been deprecated since v" + version2 + " and will be removed in the near future"
+        )
+      );
+    }
+    return validator25 ? validator25(value, opt, opts2) : true;
+  };
+};
+function assertOptions$1(options2, schema, allowUnknown) {
+  if (typeof options2 !== "object") {
+    throw new TypeError("options must be an object");
+  }
+  var keys2 = Object.keys(options2);
+  var i2 = keys2.length;
+  while (i2-- > 0) {
+    var opt = keys2[i2];
+    var validator25 = schema[opt];
+    if (validator25) {
+      var value = options2[opt];
+      var result2 = value === void 0 || validator25(value, opt, options2);
+      if (result2 !== true) {
+        throw new TypeError("option " + opt + " must be " + result2);
+      }
+      continue;
+    }
+    if (allowUnknown !== true) {
+      throw Error("Unknown option " + opt);
+    }
+  }
+}
+var validator$1 = {
+  assertOptions: assertOptions$1,
+  validators: validators$1$1
+};
+var utils$2 = utils$e;
+var buildURL2 = buildURL$2;
+var InterceptorManager$2 = InterceptorManager_1;
+var dispatchRequest2 = dispatchRequest$1;
+var mergeConfig$1 = mergeConfig$2;
+var validator$2 = validator$1;
+var validators$2 = validator$2.validators;
+function Axios$1$1(instanceConfig) {
+  this.defaults = instanceConfig;
+  this.interceptors = {
+    request: new InterceptorManager$2(),
+    response: new InterceptorManager$2()
+  };
+}
+Axios$1$1.prototype.request = function request(configOrUrl, config2) {
+  if (typeof configOrUrl === "string") {
+    config2 = config2 || {};
+    config2.url = configOrUrl;
+  } else {
+    config2 = configOrUrl || {};
+  }
+  config2 = mergeConfig$1(this.defaults, config2);
+  if (config2.method) {
+    config2.method = config2.method.toLowerCase();
+  } else if (this.defaults.method) {
+    config2.method = this.defaults.method.toLowerCase();
+  } else {
+    config2.method = "get";
+  }
+  var transitional32 = config2.transitional;
+  if (transitional32 !== void 0) {
+    validator$2.assertOptions(transitional32, {
+      silentJSONParsing: validators$2.transitional(validators$2.boolean),
+      forcedJSONParsing: validators$2.transitional(validators$2.boolean),
+      clarifyTimeoutError: validators$2.transitional(validators$2.boolean)
+    }, false);
+  }
+  var requestInterceptorChain = [];
+  var synchronousRequestInterceptors = true;
+  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
+    if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config2) === false) {
+      return;
+    }
+    synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
+    requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
+  });
+  var responseInterceptorChain = [];
+  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
+    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
+  });
+  var promise;
+  if (!synchronousRequestInterceptors) {
+    var chain = [dispatchRequest2, void 0];
+    Array.prototype.unshift.apply(chain, requestInterceptorChain);
+    chain = chain.concat(responseInterceptorChain);
+    promise = Promise.resolve(config2);
+    while (chain.length) {
+      promise = promise.then(chain.shift(), chain.shift());
+    }
+    return promise;
+  }
+  var newConfig = config2;
+  while (requestInterceptorChain.length) {
+    var onFulfilled = requestInterceptorChain.shift();
+    var onRejected = requestInterceptorChain.shift();
+    try {
+      newConfig = onFulfilled(newConfig);
+    } catch (error) {
+      onRejected(error);
+      break;
+    }
+  }
+  try {
+    promise = dispatchRequest2(newConfig);
+  } catch (error) {
+    return Promise.reject(error);
+  }
+  while (responseInterceptorChain.length) {
+    promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
+  }
+  return promise;
+};
+Axios$1$1.prototype.getUri = function getUri(config2) {
+  config2 = mergeConfig$1(this.defaults, config2);
+  return buildURL2(config2.url, config2.params, config2.paramsSerializer).replace(/^\?/, "");
+};
+utils$2.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) {
+  Axios$1$1.prototype[method] = function(url, config2) {
+    return this.request(mergeConfig$1(config2 || {}, {
+      method,
+      url,
+      data: (config2 || {}).data
+    }));
+  };
+});
+utils$2.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) {
+  Axios$1$1.prototype[method] = function(url, data2, config2) {
+    return this.request(mergeConfig$1(config2 || {}, {
+      method,
+      url,
+      data: data2
+    }));
+  };
+});
+var Axios_1 = Axios$1$1;
+var Cancel = Cancel_1;
+function CancelToken$2(executor) {
+  if (typeof executor !== "function") {
+    throw new TypeError("executor must be a function.");
+  }
+  var resolvePromise;
+  this.promise = new Promise(function promiseExecutor(resolve) {
+    resolvePromise = resolve;
+  });
+  var token2 = this;
+  this.promise.then(function(cancel) {
+    if (!token2._listeners)
+      return;
+    var i2;
+    var l2 = token2._listeners.length;
+    for (i2 = 0; i2 < l2; i2++) {
+      token2._listeners[i2](cancel);
+    }
+    token2._listeners = null;
+  });
+  this.promise.then = function(onfulfilled) {
+    var _resolve;
+    var promise = new Promise(function(resolve) {
+      token2.subscribe(resolve);
+      _resolve = resolve;
+    }).then(onfulfilled);
+    promise.cancel = function reject() {
+      token2.unsubscribe(_resolve);
+    };
+    return promise;
+  };
+  executor(function cancel(message) {
+    if (token2.reason) {
+      return;
+    }
+    token2.reason = new Cancel(message);
+    resolvePromise(token2.reason);
+  });
+}
+CancelToken$2.prototype.throwIfRequested = function throwIfRequested() {
+  if (this.reason) {
+    throw this.reason;
+  }
+};
+CancelToken$2.prototype.subscribe = function subscribe(listener) {
+  if (this.reason) {
+    listener(this.reason);
+    return;
+  }
+  if (this._listeners) {
+    this._listeners.push(listener);
+  } else {
+    this._listeners = [listener];
+  }
+};
+CancelToken$2.prototype.unsubscribe = function unsubscribe(listener) {
+  if (!this._listeners) {
+    return;
+  }
+  var index3 = this._listeners.indexOf(listener);
+  if (index3 !== -1) {
+    this._listeners.splice(index3, 1);
+  }
+};
+CancelToken$2.source = function source() {
+  var cancel;
+  var token2 = new CancelToken$2(function executor(c2) {
+    cancel = c2;
+  });
+  return {
+    token: token2,
+    cancel
+  };
+};
+var CancelToken_1 = CancelToken$2;
+var spread$1 = function spread2(callback) {
+  return function wrap(arr) {
+    return callback.apply(null, arr);
+  };
+};
+var utils$1$1 = utils$e;
+var isAxiosError$1 = function isAxiosError2(payload) {
+  return utils$1$1.isObject(payload) && payload.isAxiosError === true;
+};
+var utils$f = utils$e;
+var bind2 = bind$2$1;
+var Axios$2 = Axios_1;
+var mergeConfig2 = mergeConfig$2;
+var defaults$4 = defaults_1;
+function createInstance$1(defaultConfig) {
+  var context = new Axios$2(defaultConfig);
+  var instance = bind2(Axios$2.prototype.request, context);
+  utils$f.extend(instance, Axios$2.prototype, context);
+  utils$f.extend(instance, context);
+  instance.create = function create2(instanceConfig) {
+    return createInstance$1(mergeConfig2(defaultConfig, instanceConfig));
+  };
+  return instance;
+}
+var axios$1$1 = createInstance$1(defaults$4);
+axios$1$1.Axios = Axios$2;
+axios$1$1.Cancel = Cancel_1;
+axios$1$1.CancelToken = CancelToken_1;
+axios$1$1.isCancel = isCancel$1;
+axios$1$1.VERSION = data.version;
+axios$1$1.all = function all(promises) {
+  return Promise.all(promises);
+};
+axios$1$1.spread = spread$1;
+axios$1$1.isAxiosError = isAxiosError$1;
+axios$2.exports = axios$1$1;
+axios$2.exports.default = axios$1$1;
+var axios$3 = axios$2.exports;
+const t$3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+function n$1(t2, n2, e2, r2) {
+  let i2, s2, o2;
+  const h22 = n2 || [0], u2 = (e2 = e2 || 0) >>> 3, w2 = -1 === r2 ? 3 : 0;
+  for (i2 = 0; i2 < t2.length; i2 += 1)
+    o2 = i2 + u2, s2 = o2 >>> 2, h22.length <= s2 && h22.push(0), h22[s2] |= t2[i2] << 8 * (w2 + r2 * (o2 % 4));
+  return { value: h22, binLen: 8 * t2.length + e2 };
+}
+function e$2(e2, r2, i2) {
+  switch (r2) {
+    case "UTF8":
+    case "UTF16BE":
+    case "UTF16LE":
+      break;
+    default:
+      throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE");
+  }
+  switch (e2) {
+    case "HEX":
+      return function(t2, n2, e3) {
+        return function(t3, n3, e4, r3) {
+          let i3, s2, o2, h22;
+          if (0 != t3.length % 2)
+            throw new Error("String of HEX type must be in byte increments");
+          const u2 = n3 || [0], w2 = (e4 = e4 || 0) >>> 3, c2 = -1 === r3 ? 3 : 0;
+          for (i3 = 0; i3 < t3.length; i3 += 2) {
+            if (s2 = parseInt(t3.substr(i3, 2), 16), isNaN(s2))
+              throw new Error("String of HEX type contains invalid characters");
+            for (h22 = (i3 >>> 1) + w2, o2 = h22 >>> 2; u2.length <= o2; )
+              u2.push(0);
+            u2[o2] |= s2 << 8 * (c2 + r3 * (h22 % 4));
+          }
+          return { value: u2, binLen: 4 * t3.length + e4 };
+        }(t2, n2, e3, i2);
+      };
+    case "TEXT":
+      return function(t2, n2, e3) {
+        return function(t3, n3, e4, r3, i3) {
+          let s2, o2, h22, u2, w2, c2, f2, a2, l2 = 0;
+          const A2 = e4 || [0], E2 = (r3 = r3 || 0) >>> 3;
+          if ("UTF8" === n3)
+            for (f2 = -1 === i3 ? 3 : 0, h22 = 0; h22 < t3.length; h22 += 1)
+              for (s2 = t3.charCodeAt(h22), o2 = [], 128 > s2 ? o2.push(s2) : 2048 > s2 ? (o2.push(192 | s2 >>> 6), o2.push(128 | 63 & s2)) : 55296 > s2 || 57344 <= s2 ? o2.push(224 | s2 >>> 12, 128 | s2 >>> 6 & 63, 128 | 63 & s2) : (h22 += 1, s2 = 65536 + ((1023 & s2) << 10 | 1023 & t3.charCodeAt(h22)), o2.push(240 | s2 >>> 18, 128 | s2 >>> 12 & 63, 128 | s2 >>> 6 & 63, 128 | 63 & s2)), u2 = 0; u2 < o2.length; u2 += 1) {
+                for (c2 = l2 + E2, w2 = c2 >>> 2; A2.length <= w2; )
+                  A2.push(0);
+                A2[w2] |= o2[u2] << 8 * (f2 + i3 * (c2 % 4)), l2 += 1;
+              }
+          else
+            for (f2 = -1 === i3 ? 2 : 0, a2 = "UTF16LE" === n3 && 1 !== i3 || "UTF16LE" !== n3 && 1 === i3, h22 = 0; h22 < t3.length; h22 += 1) {
+              for (s2 = t3.charCodeAt(h22), true === a2 && (u2 = 255 & s2, s2 = u2 << 8 | s2 >>> 8), c2 = l2 + E2, w2 = c2 >>> 2; A2.length <= w2; )
+                A2.push(0);
+              A2[w2] |= s2 << 8 * (f2 + i3 * (c2 % 4)), l2 += 2;
+            }
+          return { value: A2, binLen: 8 * l2 + r3 };
+        }(t2, r2, n2, e3, i2);
+      };
+    case "B64":
+      return function(n2, e3, r3) {
+        return function(n3, e4, r4, i3) {
+          let s2, o2, h22, u2, w2, c2, f2, a2 = 0;
+          const l2 = e4 || [0], A2 = (r4 = r4 || 0) >>> 3, E2 = -1 === i3 ? 3 : 0, H2 = n3.indexOf("=");
+          if (-1 === n3.search(/^[a-zA-Z0-9=+/]+$/))
+            throw new Error("Invalid character in base-64 string");
+          if (n3 = n3.replace(/=/g, ""), -1 !== H2 && H2 < n3.length)
+            throw new Error("Invalid '=' found in base-64 string");
+          for (o2 = 0; o2 < n3.length; o2 += 4) {
+            for (w2 = n3.substr(o2, 4), u2 = 0, h22 = 0; h22 < w2.length; h22 += 1)
+              s2 = t$3.indexOf(w2.charAt(h22)), u2 |= s2 << 18 - 6 * h22;
+            for (h22 = 0; h22 < w2.length - 1; h22 += 1) {
+              for (f2 = a2 + A2, c2 = f2 >>> 2; l2.length <= c2; )
+                l2.push(0);
+              l2[c2] |= (u2 >>> 16 - 8 * h22 & 255) << 8 * (E2 + i3 * (f2 % 4)), a2 += 1;
+            }
+          }
+          return { value: l2, binLen: 8 * a2 + r4 };
+        }(n2, e3, r3, i2);
+      };
+    case "BYTES":
+      return function(t2, n2, e3) {
+        return function(t3, n3, e4, r3) {
+          let i3, s2, o2, h22;
+          const u2 = n3 || [0], w2 = (e4 = e4 || 0) >>> 3, c2 = -1 === r3 ? 3 : 0;
+          for (s2 = 0; s2 < t3.length; s2 += 1)
+            i3 = t3.charCodeAt(s2), h22 = s2 + w2, o2 = h22 >>> 2, u2.length <= o2 && u2.push(0), u2[o2] |= i3 << 8 * (c2 + r3 * (h22 % 4));
+          return { value: u2, binLen: 8 * t3.length + e4 };
+        }(t2, n2, e3, i2);
+      };
+    case "ARRAYBUFFER":
+      try {
+        new ArrayBuffer(0);
+      } catch (t2) {
+        throw new Error("ARRAYBUFFER not supported by this environment");
+      }
+      return function(t2, e3, r3) {
+        return function(t3, e4, r4, i3) {
+          return n$1(new Uint8Array(t3), e4, r4, i3);
+        }(t2, e3, r3, i2);
+      };
+    case "UINT8ARRAY":
+      try {
+        new Uint8Array(0);
+      } catch (t2) {
+        throw new Error("UINT8ARRAY not supported by this environment");
+      }
+      return function(t2, e3, r3) {
+        return n$1(t2, e3, r3, i2);
+      };
+    default:
+      throw new Error("format must be HEX, TEXT, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY");
+  }
+}
+function r$1(n2, e2, r2, i2) {
+  switch (n2) {
+    case "HEX":
+      return function(t2) {
+        return function(t3, n3, e3, r3) {
+          const i3 = "0123456789abcdef";
+          let s2, o2, h22 = "";
+          const u2 = n3 / 8, w2 = -1 === e3 ? 3 : 0;
+          for (s2 = 0; s2 < u2; s2 += 1)
+            o2 = t3[s2 >>> 2] >>> 8 * (w2 + e3 * (s2 % 4)), h22 += i3.charAt(o2 >>> 4 & 15) + i3.charAt(15 & o2);
+          return r3.outputUpper ? h22.toUpperCase() : h22;
+        }(t2, e2, r2, i2);
+      };
+    case "B64":
+      return function(n3) {
+        return function(n4, e3, r3, i3) {
+          let s2, o2, h22, u2, w2, c2 = "";
+          const f2 = e3 / 8, a2 = -1 === r3 ? 3 : 0;
+          for (s2 = 0; s2 < f2; s2 += 3)
+            for (u2 = s2 + 1 < f2 ? n4[s2 + 1 >>> 2] : 0, w2 = s2 + 2 < f2 ? n4[s2 + 2 >>> 2] : 0, h22 = (n4[s2 >>> 2] >>> 8 * (a2 + r3 * (s2 % 4)) & 255) << 16 | (u2 >>> 8 * (a2 + r3 * ((s2 + 1) % 4)) & 255) << 8 | w2 >>> 8 * (a2 + r3 * ((s2 + 2) % 4)) & 255, o2 = 0; o2 < 4; o2 += 1)
+              c2 += 8 * s2 + 6 * o2 <= e3 ? t$3.charAt(h22 >>> 6 * (3 - o2) & 63) : i3.b64Pad;
+          return c2;
+        }(n3, e2, r2, i2);
+      };
+    case "BYTES":
+      return function(t2) {
+        return function(t3, n3, e3) {
+          let r3, i3, s2 = "";
+          const o2 = n3 / 8, h22 = -1 === e3 ? 3 : 0;
+          for (r3 = 0; r3 < o2; r3 += 1)
+            i3 = t3[r3 >>> 2] >>> 8 * (h22 + e3 * (r3 % 4)) & 255, s2 += String.fromCharCode(i3);
+          return s2;
+        }(t2, e2, r2);
+      };
+    case "ARRAYBUFFER":
+      try {
+        new ArrayBuffer(0);
+      } catch (t2) {
+        throw new Error("ARRAYBUFFER not supported by this environment");
+      }
+      return function(t2) {
+        return function(t3, n3, e3) {
+          let r3;
+          const i3 = n3 / 8, s2 = new ArrayBuffer(i3), o2 = new Uint8Array(s2), h22 = -1 === e3 ? 3 : 0;
+          for (r3 = 0; r3 < i3; r3 += 1)
+            o2[r3] = t3[r3 >>> 2] >>> 8 * (h22 + e3 * (r3 % 4)) & 255;
+          return s2;
+        }(t2, e2, r2);
+      };
+    case "UINT8ARRAY":
+      try {
+        new Uint8Array(0);
+      } catch (t2) {
+        throw new Error("UINT8ARRAY not supported by this environment");
+      }
+      return function(t2) {
+        return function(t3, n3, e3) {
+          let r3;
+          const i3 = n3 / 8, s2 = -1 === e3 ? 3 : 0, o2 = new Uint8Array(i3);
+          for (r3 = 0; r3 < i3; r3 += 1)
+            o2[r3] = t3[r3 >>> 2] >>> 8 * (s2 + e3 * (r3 % 4)) & 255;
+          return o2;
+        }(t2, e2, r2);
+      };
+    default:
+      throw new Error("format must be HEX, B64, BYTES, ARRAYBUFFER, or UINT8ARRAY");
+  }
+}
+const i$2 = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], s$1 = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428], o$1 = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], h$1 = "Chosen SHA variant is not supported";
+function u$1(t2, n2) {
+  let e2, r2;
+  const i2 = t2.binLen >>> 3, s2 = n2.binLen >>> 3, o2 = i2 << 3, h22 = 4 - i2 << 3;
+  if (i2 % 4 != 0) {
+    for (e2 = 0; e2 < s2; e2 += 4)
+      r2 = i2 + e2 >>> 2, t2.value[r2] |= n2.value[e2 >>> 2] << o2, t2.value.push(0), t2.value[r2 + 1] |= n2.value[e2 >>> 2] >>> h22;
+    return (t2.value.length << 2) - 4 >= s2 + i2 && t2.value.pop(), { value: t2.value, binLen: t2.binLen + n2.binLen };
+  }
+  return { value: t2.value.concat(n2.value), binLen: t2.binLen + n2.binLen };
+}
+function w(t2) {
+  const n2 = { outputUpper: false, b64Pad: "=", outputLen: -1 }, e2 = t2 || {}, r2 = "Output length must be a multiple of 8";
+  if (n2.outputUpper = e2.outputUpper || false, e2.b64Pad && (n2.b64Pad = e2.b64Pad), e2.outputLen) {
+    if (e2.outputLen % 8 != 0)
+      throw new Error(r2);
+    n2.outputLen = e2.outputLen;
+  } else if (e2.shakeLen) {
+    if (e2.shakeLen % 8 != 0)
+      throw new Error(r2);
+    n2.outputLen = e2.shakeLen;
+  }
+  if ("boolean" != typeof n2.outputUpper)
+    throw new Error("Invalid outputUpper formatting option");
+  if ("string" != typeof n2.b64Pad)
+    throw new Error("Invalid b64Pad formatting option");
+  return n2;
+}
+function c$1(t2, n2, r2, i2) {
+  const s2 = t2 + " must include a value and format";
+  if (!n2) {
+    if (!i2)
+      throw new Error(s2);
+    return i2;
+  }
+  if (void 0 === n2.value || !n2.format)
+    throw new Error(s2);
+  return e$2(n2.format, n2.encoding || "UTF8", r2)(n2.value);
+}
+class f {
+  constructor(t2, n2, e2) {
+    const r2 = e2 || {};
+    if (this.t = n2, this.i = r2.encoding || "UTF8", this.numRounds = r2.numRounds || 1, isNaN(this.numRounds) || this.numRounds !== parseInt(this.numRounds, 10) || 1 > this.numRounds)
+      throw new Error("numRounds must a integer >= 1");
+    this.o = t2, this.h = [], this.u = 0, this.l = false, this.A = 0, this.H = false, this.S = [], this.p = [];
+  }
+  update(t2) {
+    let n2, e2 = 0;
+    const r2 = this.m >>> 5, i2 = this.C(t2, this.h, this.u), s2 = i2.binLen, o2 = i2.value, h22 = s2 >>> 5;
+    for (n2 = 0; n2 < h22; n2 += r2)
+      e2 + this.m <= s2 && (this.R = this.U(o2.slice(n2, n2 + r2), this.R), e2 += this.m);
+    return this.A += e2, this.h = o2.slice(e2 >>> 5), this.u = s2 % this.m, this.l = true, this;
+  }
+  getHash(t2, n2) {
+    let e2, i2, s2 = this.v;
+    const o2 = w(n2);
+    if (this.K) {
+      if (-1 === o2.outputLen)
+        throw new Error("Output length must be specified in options");
+      s2 = o2.outputLen;
+    }
+    const h22 = r$1(t2, s2, this.T, o2);
+    if (this.H && this.F)
+      return h22(this.F(o2));
+    for (i2 = this.g(this.h.slice(), this.u, this.A, this.B(this.R), s2), e2 = 1; e2 < this.numRounds; e2 += 1)
+      this.K && s2 % 32 != 0 && (i2[i2.length - 1] &= 16777215 >>> 24 - s2 % 32), i2 = this.g(i2, s2, 0, this.L(this.o), s2);
+    return h22(i2);
+  }
+  setHMACKey(t2, n2, r2) {
+    if (!this.M)
+      throw new Error("Variant does not support HMAC");
+    if (this.l)
+      throw new Error("Cannot set MAC key after calling update");
+    const i2 = e$2(n2, (r2 || {}).encoding || "UTF8", this.T);
+    this.k(i2(t2));
+  }
+  k(t2) {
+    const n2 = this.m >>> 3, e2 = n2 / 4 - 1;
+    let r2;
+    if (1 !== this.numRounds)
+      throw new Error("Cannot set numRounds with MAC");
+    if (this.H)
+      throw new Error("MAC key already set");
+    for (n2 < t2.binLen / 8 && (t2.value = this.g(t2.value, t2.binLen, 0, this.L(this.o), this.v)); t2.value.length <= e2; )
+      t2.value.push(0);
+    for (r2 = 0; r2 <= e2; r2 += 1)
+      this.S[r2] = 909522486 ^ t2.value[r2], this.p[r2] = 1549556828 ^ t2.value[r2];
+    this.R = this.U(this.S, this.R), this.A = this.m, this.H = true;
+  }
+  getHMAC(t2, n2) {
+    const e2 = w(n2);
+    return r$1(t2, this.v, this.T, e2)(this.Y());
+  }
+  Y() {
+    let t2;
+    if (!this.H)
+      throw new Error("Cannot call getHMAC without first setting MAC key");
+    const n2 = this.g(this.h.slice(), this.u, this.A, this.B(this.R), this.v);
+    return t2 = this.U(this.p, this.L(this.o)), t2 = this.g(n2, this.v, this.m, t2, this.v), t2;
+  }
+}
+function a$1(t2, n2) {
+  return t2 << n2 | t2 >>> 32 - n2;
+}
+function l$1(t2, n2) {
+  return t2 >>> n2 | t2 << 32 - n2;
+}
+function A(t2, n2) {
+  return t2 >>> n2;
+}
+function E(t2, n2, e2) {
+  return t2 ^ n2 ^ e2;
+}
+function H(t2, n2, e2) {
+  return t2 & n2 ^ ~t2 & e2;
+}
+function S(t2, n2, e2) {
+  return t2 & n2 ^ t2 & e2 ^ n2 & e2;
+}
+function b(t2) {
+  return l$1(t2, 2) ^ l$1(t2, 13) ^ l$1(t2, 22);
+}
+function p(t2, n2) {
+  const e2 = (65535 & t2) + (65535 & n2);
+  return (65535 & (t2 >>> 16) + (n2 >>> 16) + (e2 >>> 16)) << 16 | 65535 & e2;
+}
+function d$1(t2, n2, e2, r2) {
+  const i2 = (65535 & t2) + (65535 & n2) + (65535 & e2) + (65535 & r2);
+  return (65535 & (t2 >>> 16) + (n2 >>> 16) + (e2 >>> 16) + (r2 >>> 16) + (i2 >>> 16)) << 16 | 65535 & i2;
+}
+function m$2(t2, n2, e2, r2, i2) {
+  const s2 = (65535 & t2) + (65535 & n2) + (65535 & e2) + (65535 & r2) + (65535 & i2);
+  return (65535 & (t2 >>> 16) + (n2 >>> 16) + (e2 >>> 16) + (r2 >>> 16) + (i2 >>> 16) + (s2 >>> 16)) << 16 | 65535 & s2;
+}
+function C(t2) {
+  return l$1(t2, 7) ^ l$1(t2, 18) ^ A(t2, 3);
+}
+function y(t2) {
+  return l$1(t2, 6) ^ l$1(t2, 11) ^ l$1(t2, 25);
+}
+function R(t2) {
+  return [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
+}
+function U(t2, n2) {
+  let e2, r2, i2, s2, o2, h22, u2;
+  const w2 = [];
+  for (e2 = n2[0], r2 = n2[1], i2 = n2[2], s2 = n2[3], o2 = n2[4], u2 = 0; u2 < 80; u2 += 1)
+    w2[u2] = u2 < 16 ? t2[u2] : a$1(w2[u2 - 3] ^ w2[u2 - 8] ^ w2[u2 - 14] ^ w2[u2 - 16], 1), h22 = u2 < 20 ? m$2(a$1(e2, 5), H(r2, i2, s2), o2, 1518500249, w2[u2]) : u2 < 40 ? m$2(a$1(e2, 5), E(r2, i2, s2), o2, 1859775393, w2[u2]) : u2 < 60 ? m$2(a$1(e2, 5), S(r2, i2, s2), o2, 2400959708, w2[u2]) : m$2(a$1(e2, 5), E(r2, i2, s2), o2, 3395469782, w2[u2]), o2 = s2, s2 = i2, i2 = a$1(r2, 30), r2 = e2, e2 = h22;
+  return n2[0] = p(e2, n2[0]), n2[1] = p(r2, n2[1]), n2[2] = p(i2, n2[2]), n2[3] = p(s2, n2[3]), n2[4] = p(o2, n2[4]), n2;
+}
+function v(t2, n2, e2, r2) {
+  let i2;
+  const s2 = 15 + (n2 + 65 >>> 9 << 4), o2 = n2 + e2;
+  for (; t2.length <= s2; )
+    t2.push(0);
+  for (t2[n2 >>> 5] |= 128 << 24 - n2 % 32, t2[s2] = 4294967295 & o2, t2[s2 - 1] = o2 / 4294967296 | 0, i2 = 0; i2 < t2.length; i2 += 16)
+    r2 = U(t2.slice(i2, i2 + 16), r2);
+  return r2;
+}
+class K extends f {
+  constructor(t2, n2, r2) {
+    if ("SHA-1" !== t2)
+      throw new Error(h$1);
+    super(t2, n2, r2);
+    const i2 = r2 || {};
+    this.M = true, this.F = this.Y, this.T = -1, this.C = e$2(this.t, this.i, this.T), this.U = U, this.B = function(t3) {
+      return t3.slice();
+    }, this.L = R, this.g = v, this.R = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.m = 512, this.v = 160, this.K = false, i2.hmacKey && this.k(c$1("hmacKey", i2.hmacKey, this.T));
+  }
+}
+function T(t2) {
+  let n2;
+  return n2 = "SHA-224" == t2 ? s$1.slice() : o$1.slice(), n2;
+}
+function F(t2, n2) {
+  let e2, r2, s2, o2, h22, u2, w2, c2, f2, a2, E2;
+  const R2 = [];
+  for (e2 = n2[0], r2 = n2[1], s2 = n2[2], o2 = n2[3], h22 = n2[4], u2 = n2[5], w2 = n2[6], c2 = n2[7], E2 = 0; E2 < 64; E2 += 1)
+    R2[E2] = E2 < 16 ? t2[E2] : d$1(l$1(U2 = R2[E2 - 2], 17) ^ l$1(U2, 19) ^ A(U2, 10), R2[E2 - 7], C(R2[E2 - 15]), R2[E2 - 16]), f2 = m$2(c2, y(h22), H(h22, u2, w2), i$2[E2], R2[E2]), a2 = p(b(e2), S(e2, r2, s2)), c2 = w2, w2 = u2, u2 = h22, h22 = p(o2, f2), o2 = s2, s2 = r2, r2 = e2, e2 = p(f2, a2);
+  var U2;
+  return n2[0] = p(e2, n2[0]), n2[1] = p(r2, n2[1]), n2[2] = p(s2, n2[2]), n2[3] = p(o2, n2[3]), n2[4] = p(h22, n2[4]), n2[5] = p(u2, n2[5]), n2[6] = p(w2, n2[6]), n2[7] = p(c2, n2[7]), n2;
+}
+class g extends f {
+  constructor(t2, n2, r2) {
+    if ("SHA-224" !== t2 && "SHA-256" !== t2)
+      throw new Error(h$1);
+    super(t2, n2, r2);
+    const i2 = r2 || {};
+    this.F = this.Y, this.M = true, this.T = -1, this.C = e$2(this.t, this.i, this.T), this.U = F, this.B = function(t3) {
+      return t3.slice();
+    }, this.L = T, this.g = function(n3, e2, r3, i3) {
+      return function(t3, n4, e3, r4, i4) {
+        let s2, o2;
+        const h22 = 15 + (n4 + 65 >>> 9 << 4), u2 = n4 + e3;
+        for (; t3.length <= h22; )
+          t3.push(0);
+        for (t3[n4 >>> 5] |= 128 << 24 - n4 % 32, t3[h22] = 4294967295 & u2, t3[h22 - 1] = u2 / 4294967296 | 0, s2 = 0; s2 < t3.length; s2 += 16)
+          r4 = F(t3.slice(s2, s2 + 16), r4);
+        return o2 = "SHA-224" === i4 ? [r4[0], r4[1], r4[2], r4[3], r4[4], r4[5], r4[6]] : r4, o2;
+      }(n3, e2, r3, i3, t2);
+    }, this.R = T(t2), this.m = 512, this.v = "SHA-224" === t2 ? 224 : 256, this.K = false, i2.hmacKey && this.k(c$1("hmacKey", i2.hmacKey, this.T));
+  }
+}
+class B {
+  constructor(t2, n2) {
+    this.N = t2, this.I = n2;
+  }
+}
+function L(t2, n2) {
+  let e2;
+  return n2 > 32 ? (e2 = 64 - n2, new B(t2.I << n2 | t2.N >>> e2, t2.N << n2 | t2.I >>> e2)) : 0 !== n2 ? (e2 = 32 - n2, new B(t2.N << n2 | t2.I >>> e2, t2.I << n2 | t2.N >>> e2)) : t2;
+}
+function M(t2, n2) {
+  let e2;
+  return n2 < 32 ? (e2 = 32 - n2, new B(t2.N >>> n2 | t2.I << e2, t2.I >>> n2 | t2.N << e2)) : (e2 = 64 - n2, new B(t2.I >>> n2 | t2.N << e2, t2.N >>> n2 | t2.I << e2));
+}
+function k$1(t2, n2) {
+  return new B(t2.N >>> n2, t2.I >>> n2 | t2.N << 32 - n2);
+}
+function Y(t2, n2, e2) {
+  return new B(t2.N & n2.N ^ t2.N & e2.N ^ n2.N & e2.N, t2.I & n2.I ^ t2.I & e2.I ^ n2.I & e2.I);
+}
+function N(t2) {
+  const n2 = M(t2, 28), e2 = M(t2, 34), r2 = M(t2, 39);
+  return new B(n2.N ^ e2.N ^ r2.N, n2.I ^ e2.I ^ r2.I);
+}
+function I(t2, n2) {
+  let e2, r2;
+  e2 = (65535 & t2.I) + (65535 & n2.I), r2 = (t2.I >>> 16) + (n2.I >>> 16) + (e2 >>> 16);
+  const i2 = (65535 & r2) << 16 | 65535 & e2;
+  e2 = (65535 & t2.N) + (65535 & n2.N) + (r2 >>> 16), r2 = (t2.N >>> 16) + (n2.N >>> 16) + (e2 >>> 16);
+  return new B((65535 & r2) << 16 | 65535 & e2, i2);
+}
+function X(t2, n2, e2, r2) {
+  let i2, s2;
+  i2 = (65535 & t2.I) + (65535 & n2.I) + (65535 & e2.I) + (65535 & r2.I), s2 = (t2.I >>> 16) + (n2.I >>> 16) + (e2.I >>> 16) + (r2.I >>> 16) + (i2 >>> 16);
+  const o2 = (65535 & s2) << 16 | 65535 & i2;
+  i2 = (65535 & t2.N) + (65535 & n2.N) + (65535 & e2.N) + (65535 & r2.N) + (s2 >>> 16), s2 = (t2.N >>> 16) + (n2.N >>> 16) + (e2.N >>> 16) + (r2.N >>> 16) + (i2 >>> 16);
+  return new B((65535 & s2) << 16 | 65535 & i2, o2);
+}
+function z(t2, n2, e2, r2, i2) {
+  let s2, o2;
+  s2 = (65535 & t2.I) + (65535 & n2.I) + (65535 & e2.I) + (65535 & r2.I) + (65535 & i2.I), o2 = (t2.I >>> 16) + (n2.I >>> 16) + (e2.I >>> 16) + (r2.I >>> 16) + (i2.I >>> 16) + (s2 >>> 16);
+  const h22 = (65535 & o2) << 16 | 65535 & s2;
+  s2 = (65535 & t2.N) + (65535 & n2.N) + (65535 & e2.N) + (65535 & r2.N) + (65535 & i2.N) + (o2 >>> 16), o2 = (t2.N >>> 16) + (n2.N >>> 16) + (e2.N >>> 16) + (r2.N >>> 16) + (i2.N >>> 16) + (s2 >>> 16);
+  return new B((65535 & o2) << 16 | 65535 & s2, h22);
+}
+function x(t2, n2) {
+  return new B(t2.N ^ n2.N, t2.I ^ n2.I);
+}
+function _$4(t2) {
+  const n2 = M(t2, 19), e2 = M(t2, 61), r2 = k$1(t2, 6);
+  return new B(n2.N ^ e2.N ^ r2.N, n2.I ^ e2.I ^ r2.I);
+}
+function O(t2) {
+  const n2 = M(t2, 1), e2 = M(t2, 8), r2 = k$1(t2, 7);
+  return new B(n2.N ^ e2.N ^ r2.N, n2.I ^ e2.I ^ r2.I);
+}
+function P(t2) {
+  const n2 = M(t2, 14), e2 = M(t2, 18), r2 = M(t2, 41);
+  return new B(n2.N ^ e2.N ^ r2.N, n2.I ^ e2.I ^ r2.I);
+}
+const V = [new B(i$2[0], 3609767458), new B(i$2[1], 602891725), new B(i$2[2], 3964484399), new B(i$2[3], 2173295548), new B(i$2[4], 4081628472), new B(i$2[5], 3053834265), new B(i$2[6], 2937671579), new B(i$2[7], 3664609560), new B(i$2[8], 2734883394), new B(i$2[9], 1164996542), new B(i$2[10], 1323610764), new B(i$2[11], 3590304994), new B(i$2[12], 4068182383), new B(i$2[13], 991336113), new B(i$2[14], 633803317), new B(i$2[15], 3479774868), new B(i$2[16], 2666613458), new B(i$2[17], 944711139), new B(i$2[18], 2341262773), new B(i$2[19], 2007800933), new B(i$2[20], 1495990901), new B(i$2[21], 1856431235), new B(i$2[22], 3175218132), new B(i$2[23], 2198950837), new B(i$2[24], 3999719339), new B(i$2[25], 766784016), new B(i$2[26], 2566594879), new B(i$2[27], 3203337956), new B(i$2[28], 1034457026), new B(i$2[29], 2466948901), new B(i$2[30], 3758326383), new B(i$2[31], 168717936), new B(i$2[32], 1188179964), new B(i$2[33], 1546045734), new B(i$2[34], 1522805485), new B(i$2[35], 2643833823), new B(i$2[36], 2343527390), new B(i$2[37], 1014477480), new B(i$2[38], 1206759142), new B(i$2[39], 344077627), new B(i$2[40], 1290863460), new B(i$2[41], 3158454273), new B(i$2[42], 3505952657), new B(i$2[43], 106217008), new B(i$2[44], 3606008344), new B(i$2[45], 1432725776), new B(i$2[46], 1467031594), new B(i$2[47], 851169720), new B(i$2[48], 3100823752), new B(i$2[49], 1363258195), new B(i$2[50], 3750685593), new B(i$2[51], 3785050280), new B(i$2[52], 3318307427), new B(i$2[53], 3812723403), new B(i$2[54], 2003034995), new B(i$2[55], 3602036899), new B(i$2[56], 1575990012), new B(i$2[57], 1125592928), new B(i$2[58], 2716904306), new B(i$2[59], 442776044), new B(i$2[60], 593698344), new B(i$2[61], 3733110249), new B(i$2[62], 2999351573), new B(i$2[63], 3815920427), new B(3391569614, 3928383900), new B(3515267271, 566280711), new B(3940187606, 3454069534), new B(4118630271, 4000239992), new B(116418474, 1914138554), new B(174292421, 2731055270), new B(289380356, 3203993006), new B(460393269, 320620315), new B(685471733, 587496836), new B(852142971, 1086792851), new B(1017036298, 365543100), new B(1126000580, 2618297676), new B(1288033470, 3409855158), new B(1501505948, 4234509866), new B(1607167915, 987167468), new B(1816402316, 1246189591)];
+function Z(t2) {
+  return "SHA-384" === t2 ? [new B(3418070365, s$1[0]), new B(1654270250, s$1[1]), new B(2438529370, s$1[2]), new B(355462360, s$1[3]), new B(1731405415, s$1[4]), new B(41048885895, s$1[5]), new B(3675008525, s$1[6]), new B(1203062813, s$1[7])] : [new B(o$1[0], 4089235720), new B(o$1[1], 2227873595), new B(o$1[2], 4271175723), new B(o$1[3], 1595750129), new B(o$1[4], 2917565137), new B(o$1[5], 725511199), new B(o$1[6], 4215389547), new B(o$1[7], 327033209)];
+}
+function j(t2, n2) {
+  let e2, r2, i2, s2, o2, h22, u2, w2, c2, f2, a2, l2;
+  const A2 = [];
+  for (e2 = n2[0], r2 = n2[1], i2 = n2[2], s2 = n2[3], o2 = n2[4], h22 = n2[5], u2 = n2[6], w2 = n2[7], a2 = 0; a2 < 80; a2 += 1)
+    a2 < 16 ? (l2 = 2 * a2, A2[a2] = new B(t2[l2], t2[l2 + 1])) : A2[a2] = X(_$4(A2[a2 - 2]), A2[a2 - 7], O(A2[a2 - 15]), A2[a2 - 16]), c2 = z(w2, P(o2), (H2 = h22, S2 = u2, new B((E2 = o2).N & H2.N ^ ~E2.N & S2.N, E2.I & H2.I ^ ~E2.I & S2.I)), V[a2], A2[a2]), f2 = I(N(e2), Y(e2, r2, i2)), w2 = u2, u2 = h22, h22 = o2, o2 = I(s2, c2), s2 = i2, i2 = r2, r2 = e2, e2 = I(c2, f2);
+  var E2, H2, S2;
+  return n2[0] = I(e2, n2[0]), n2[1] = I(r2, n2[1]), n2[2] = I(i2, n2[2]), n2[3] = I(s2, n2[3]), n2[4] = I(o2, n2[4]), n2[5] = I(h22, n2[5]), n2[6] = I(u2, n2[6]), n2[7] = I(w2, n2[7]), n2;
+}
+class q extends f {
+  constructor(t2, n2, r2) {
+    if ("SHA-384" !== t2 && "SHA-512" !== t2)
+      throw new Error(h$1);
+    super(t2, n2, r2);
+    const i2 = r2 || {};
+    this.F = this.Y, this.M = true, this.T = -1, this.C = e$2(this.t, this.i, this.T), this.U = j, this.B = function(t3) {
+      return t3.slice();
+    }, this.L = Z, this.g = function(n3, e2, r3, i3) {
+      return function(t3, n4, e3, r4, i4) {
+        let s2, o2;
+        const h22 = 31 + (n4 + 129 >>> 10 << 5), u2 = n4 + e3;
+        for (; t3.length <= h22; )
+          t3.push(0);
+        for (t3[n4 >>> 5] |= 128 << 24 - n4 % 32, t3[h22] = 4294967295 & u2, t3[h22 - 1] = u2 / 4294967296 | 0, s2 = 0; s2 < t3.length; s2 += 32)
+          r4 = j(t3.slice(s2, s2 + 32), r4);
+        return o2 = "SHA-384" === i4 ? [r4[0].N, r4[0].I, r4[1].N, r4[1].I, r4[2].N, r4[2].I, r4[3].N, r4[3].I, r4[4].N, r4[4].I, r4[5].N, r4[5].I] : [r4[0].N, r4[0].I, r4[1].N, r4[1].I, r4[2].N, r4[2].I, r4[3].N, r4[3].I, r4[4].N, r4[4].I, r4[5].N, r4[5].I, r4[6].N, r4[6].I, r4[7].N, r4[7].I], o2;
+      }(n3, e2, r3, i3, t2);
+    }, this.R = Z(t2), this.m = 1024, this.v = "SHA-384" === t2 ? 384 : 512, this.K = false, i2.hmacKey && this.k(c$1("hmacKey", i2.hmacKey, this.T));
+  }
+}
+const D = [new B(0, 1), new B(0, 32898), new B(2147483648, 32906), new B(2147483648, 2147516416), new B(0, 32907), new B(0, 2147483649), new B(2147483648, 2147516545), new B(2147483648, 32777), new B(0, 138), new B(0, 136), new B(0, 2147516425), new B(0, 2147483658), new B(0, 2147516555), new B(2147483648, 139), new B(2147483648, 32905), new B(2147483648, 32771), new B(2147483648, 32770), new B(2147483648, 128), new B(0, 32778), new B(2147483648, 2147483658), new B(2147483648, 2147516545), new B(2147483648, 32896), new B(0, 2147483649), new B(2147483648, 2147516424)], G = [[0, 36, 3, 41, 18], [1, 44, 10, 45, 2], [62, 6, 43, 15, 61], [28, 55, 25, 21, 56], [27, 20, 39, 8, 14]];
+function J(t2) {
+  let n2;
+  const e2 = [];
+  for (n2 = 0; n2 < 5; n2 += 1)
+    e2[n2] = [new B(0, 0), new B(0, 0), new B(0, 0), new B(0, 0), new B(0, 0)];
+  return e2;
+}
+function Q(t2) {
+  let n2;
+  const e2 = [];
+  for (n2 = 0; n2 < 5; n2 += 1)
+    e2[n2] = t2[n2].slice();
+  return e2;
+}
+function W(t2, n2) {
+  let e2, r2, i2, s2;
+  const o2 = [], h22 = [];
+  if (null !== t2)
+    for (r2 = 0; r2 < t2.length; r2 += 2)
+      n2[(r2 >>> 1) % 5][(r2 >>> 1) / 5 | 0] = x(n2[(r2 >>> 1) % 5][(r2 >>> 1) / 5 | 0], new B(t2[r2 + 1], t2[r2]));
+  for (e2 = 0; e2 < 24; e2 += 1) {
+    for (s2 = J(), r2 = 0; r2 < 5; r2 += 1)
+      o2[r2] = (u2 = n2[r2][0], w2 = n2[r2][1], c2 = n2[r2][2], f2 = n2[r2][3], a2 = n2[r2][4], new B(u2.N ^ w2.N ^ c2.N ^ f2.N ^ a2.N, u2.I ^ w2.I ^ c2.I ^ f2.I ^ a2.I));
+    for (r2 = 0; r2 < 5; r2 += 1)
+      h22[r2] = x(o2[(r2 + 4) % 5], L(o2[(r2 + 1) % 5], 1));
+    for (r2 = 0; r2 < 5; r2 += 1)
+      for (i2 = 0; i2 < 5; i2 += 1)
+        n2[r2][i2] = x(n2[r2][i2], h22[r2]);
+    for (r2 = 0; r2 < 5; r2 += 1)
+      for (i2 = 0; i2 < 5; i2 += 1)
+        s2[i2][(2 * r2 + 3 * i2) % 5] = L(n2[r2][i2], G[r2][i2]);
+    for (r2 = 0; r2 < 5; r2 += 1)
+      for (i2 = 0; i2 < 5; i2 += 1)
+        n2[r2][i2] = x(s2[r2][i2], new B(~s2[(r2 + 1) % 5][i2].N & s2[(r2 + 2) % 5][i2].N, ~s2[(r2 + 1) % 5][i2].I & s2[(r2 + 2) % 5][i2].I));
+    n2[0][0] = x(n2[0][0], D[e2]);
+  }
+  var u2, w2, c2, f2, a2;
+  return n2;
+}
+function $(t2) {
+  let n2, e2, r2 = 0;
+  const i2 = [0, 0], s2 = [4294967295 & t2, t2 / 4294967296 & 2097151];
+  for (n2 = 6; n2 >= 0; n2--)
+    e2 = s2[n2 >> 2] >>> 8 * n2 & 255, 0 === e2 && 0 === r2 || (i2[r2 + 1 >> 2] |= e2 << 8 * (r2 + 1), r2 += 1);
+  return r2 = 0 !== r2 ? r2 : 1, i2[0] |= r2, { value: r2 + 1 > 4 ? i2 : [i2[0]], binLen: 8 + 8 * r2 };
+}
+function tt(t2) {
+  return u$1($(t2.binLen), t2);
+}
+function nt(t2, n2) {
+  let e2, r2 = $(n2);
+  r2 = u$1(r2, t2);
+  const i2 = n2 >>> 2, s2 = (i2 - r2.value.length % i2) % i2;
+  for (e2 = 0; e2 < s2; e2++)
+    r2.value.push(0);
+  return r2.value;
+}
+class et extends f {
+  constructor(t2, n2, r2) {
+    let i2 = 6, s2 = 0;
+    super(t2, n2, r2);
+    const o2 = r2 || {};
+    if (1 !== this.numRounds) {
+      if (o2.kmacKey || o2.hmacKey)
+        throw new Error("Cannot set numRounds with MAC");
+      if ("CSHAKE128" === this.o || "CSHAKE256" === this.o)
+        throw new Error("Cannot set numRounds for CSHAKE variants");
+    }
+    switch (this.T = 1, this.C = e$2(this.t, this.i, this.T), this.U = W, this.B = Q, this.L = J, this.R = J(), this.K = false, t2) {
+      case "SHA3-224":
+        this.m = s2 = 1152, this.v = 224, this.M = true, this.F = this.Y;
+        break;
+      case "SHA3-256":
+        this.m = s2 = 1088, this.v = 256, this.M = true, this.F = this.Y;
+        break;
+      case "SHA3-384":
+        this.m = s2 = 832, this.v = 384, this.M = true, this.F = this.Y;
+        break;
+      case "SHA3-512":
+        this.m = s2 = 576, this.v = 512, this.M = true, this.F = this.Y;
+        break;
+      case "SHAKE128":
+        i2 = 31, this.m = s2 = 1344, this.v = -1, this.K = true, this.M = false, this.F = null;
+        break;
+      case "SHAKE256":
+        i2 = 31, this.m = s2 = 1088, this.v = -1, this.K = true, this.M = false, this.F = null;
+        break;
+      case "KMAC128":
+        i2 = 4, this.m = s2 = 1344, this.X(r2), this.v = -1, this.K = true, this.M = false, this.F = this._;
+        break;
+      case "KMAC256":
+        i2 = 4, this.m = s2 = 1088, this.X(r2), this.v = -1, this.K = true, this.M = false, this.F = this._;
+        break;
+      case "CSHAKE128":
+        this.m = s2 = 1344, i2 = this.O(r2), this.v = -1, this.K = true, this.M = false, this.F = null;
+        break;
+      case "CSHAKE256":
+        this.m = s2 = 1088, i2 = this.O(r2), this.v = -1, this.K = true, this.M = false, this.F = null;
+        break;
+      default:
+        throw new Error(h$1);
+    }
+    this.g = function(t3, n3, e2, r3, o3) {
+      return function(t4, n4, e3, r4, i3, s3, o4) {
+        let h22, u2, w2 = 0;
+        const c2 = [], f2 = i3 >>> 5, a2 = n4 >>> 5;
+        for (h22 = 0; h22 < a2 && n4 >= i3; h22 += f2)
+          r4 = W(t4.slice(h22, h22 + f2), r4), n4 -= i3;
+        for (t4 = t4.slice(h22), n4 %= i3; t4.length < f2; )
+          t4.push(0);
+        for (h22 = n4 >>> 3, t4[h22 >> 2] ^= s3 << h22 % 4 * 8, t4[f2 - 1] ^= 2147483648, r4 = W(t4, r4); 32 * c2.length < o4 && (u2 = r4[w2 % 5][w2 / 5 | 0], c2.push(u2.I), !(32 * c2.length >= o4)); )
+          c2.push(u2.N), w2 += 1, 0 == 64 * w2 % i3 && (W(null, r4), w2 = 0);
+        return c2;
+      }(t3, n3, 0, r3, s2, i2, o3);
+    }, o2.hmacKey && this.k(c$1("hmacKey", o2.hmacKey, this.T));
+  }
+  O(t2, n2) {
+    const e2 = function(t3) {
+      const n3 = t3 || {};
+      return { funcName: c$1("funcName", n3.funcName, 1, { value: [], binLen: 0 }), customization: c$1("Customization", n3.customization, 1, { value: [], binLen: 0 }) };
+    }(t2 || {});
+    n2 && (e2.funcName = n2);
+    const r2 = u$1(tt(e2.funcName), tt(e2.customization));
+    if (0 !== e2.customization.binLen || 0 !== e2.funcName.binLen) {
+      const t3 = nt(r2, this.m >>> 3);
+      for (let n3 = 0; n3 < t3.length; n3 += this.m >>> 5)
+        this.R = this.U(t3.slice(n3, n3 + (this.m >>> 5)), this.R), this.A += this.m;
+      return 4;
+    }
+    return 31;
+  }
+  X(t2) {
+    const n2 = function(t3) {
+      const n3 = t3 || {};
+      return { kmacKey: c$1("kmacKey", n3.kmacKey, 1), funcName: { value: [1128353099], binLen: 32 }, customization: c$1("Customization", n3.customization, 1, { value: [], binLen: 0 }) };
+    }(t2 || {});
+    this.O(t2, n2.funcName);
+    const e2 = nt(tt(n2.kmacKey), this.m >>> 3);
+    for (let t3 = 0; t3 < e2.length; t3 += this.m >>> 5)
+      this.R = this.U(e2.slice(t3, t3 + (this.m >>> 5)), this.R), this.A += this.m;
+    this.H = true;
+  }
+  _(t2) {
+    const n2 = u$1({ value: this.h.slice(), binLen: this.u }, function(t3) {
+      let n3, e2, r2 = 0;
+      const i2 = [0, 0], s2 = [4294967295 & t3, t3 / 4294967296 & 2097151];
+      for (n3 = 6; n3 >= 0; n3--)
+        e2 = s2[n3 >> 2] >>> 8 * n3 & 255, 0 === e2 && 0 === r2 || (i2[r2 >> 2] |= e2 << 8 * r2, r2 += 1);
+      return r2 = 0 !== r2 ? r2 : 1, i2[r2 >> 2] |= r2 << 8 * r2, { value: r2 + 1 > 4 ? i2 : [i2[0]], binLen: 8 + 8 * r2 };
+    }(t2.outputLen));
+    return this.g(n2.value, n2.binLen, this.A, this.B(this.R), t2.outputLen);
+  }
+}
+let rt$1 = class rt2 {
+  constructor(t2, n2, e2) {
+    if ("SHA-1" == t2)
+      this.P = new K(t2, n2, e2);
+    else if ("SHA-224" == t2 || "SHA-256" == t2)
+      this.P = new g(t2, n2, e2);
+    else if ("SHA-384" == t2 || "SHA-512" == t2)
+      this.P = new q(t2, n2, e2);
+    else {
+      if ("SHA3-224" != t2 && "SHA3-256" != t2 && "SHA3-384" != t2 && "SHA3-512" != t2 && "SHAKE128" != t2 && "SHAKE256" != t2 && "CSHAKE128" != t2 && "CSHAKE256" != t2 && "KMAC128" != t2 && "KMAC256" != t2)
+        throw new Error(h$1);
+      this.P = new et(t2, n2, e2);
+    }
+  }
+  update(t2) {
+    return this.P.update(t2), this;
+  }
+  getHash(t2, n2) {
+    return this.P.getHash(t2, n2);
+  }
+  setHMACKey(t2, n2, e2) {
+    this.P.setHMACKey(t2, n2, e2);
+  }
+  getHMAC(t2, n2) {
+    return this.P.getHMAC(t2, n2);
+  }
+};
+const version$n = "3.7.5";
+const VERSION$2 = version$n;
+const _hasatob = typeof atob === "function";
+const _hasbtoa = typeof btoa === "function";
+const _hasBuffer = typeof Buffer === "function";
+const _TD = typeof TextDecoder === "function" ? new TextDecoder() : void 0;
+const _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0;
+const b64ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+const b64chs = Array.prototype.slice.call(b64ch);
+const b64tab = ((a2) => {
+  let tab = {};
+  a2.forEach((c2, i2) => tab[c2] = i2);
+  return tab;
+})(b64chs);
+const b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
+const _fromCC = String.fromCharCode.bind(String);
+const _U8Afrom = typeof Uint8Array.from === "function" ? Uint8Array.from.bind(Uint8Array) : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));
+const _mkUriSafe = (src) => src.replace(/=/g, "").replace(/[+\/]/g, (m0) => m0 == "+" ? "-" : "_");
+const _tidyB64 = (s2) => s2.replace(/[^A-Za-z0-9\+\/]/g, "");
+const btoaPolyfill = (bin) => {
+  let u32, c0, c1, c2, asc2 = "";
+  const pad2 = bin.length % 3;
+  for (let i2 = 0; i2 < bin.length; ) {
+    if ((c0 = bin.charCodeAt(i2++)) > 255 || (c1 = bin.charCodeAt(i2++)) > 255 || (c2 = bin.charCodeAt(i2++)) > 255)
+      throw new TypeError("invalid character found");
+    u32 = c0 << 16 | c1 << 8 | c2;
+    asc2 += b64chs[u32 >> 18 & 63] + b64chs[u32 >> 12 & 63] + b64chs[u32 >> 6 & 63] + b64chs[u32 & 63];
+  }
+  return pad2 ? asc2.slice(0, pad2 - 3) + "===".substring(pad2) : asc2;
+};
+const _btoa = _hasbtoa ? (bin) => btoa(bin) : _hasBuffer ? (bin) => Buffer.from(bin, "binary").toString("base64") : btoaPolyfill;
+const _fromUint8Array = _hasBuffer ? (u8a) => Buffer.from(u8a).toString("base64") : (u8a) => {
+  const maxargs = 4096;
+  let strs = [];
+  for (let i2 = 0, l2 = u8a.length; i2 < l2; i2 += maxargs) {
+    strs.push(_fromCC.apply(null, u8a.subarray(i2, i2 + maxargs)));
+  }
+  return _btoa(strs.join(""));
+};
+const fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);
+const cb_utob = (c2) => {
+  if (c2.length < 2) {
+    var cc = c2.charCodeAt(0);
+    return cc < 128 ? c2 : cc < 2048 ? _fromCC(192 | cc >>> 6) + _fromCC(128 | cc & 63) : _fromCC(224 | cc >>> 12 & 15) + _fromCC(128 | cc >>> 6 & 63) + _fromCC(128 | cc & 63);
+  } else {
+    var cc = 65536 + (c2.charCodeAt(0) - 55296) * 1024 + (c2.charCodeAt(1) - 56320);
+    return _fromCC(240 | cc >>> 18 & 7) + _fromCC(128 | cc >>> 12 & 63) + _fromCC(128 | cc >>> 6 & 63) + _fromCC(128 | cc & 63);
+  }
+};
+const re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
+const utob = (u2) => u2.replace(re_utob, cb_utob);
+const _encode = _hasBuffer ? (s2) => Buffer.from(s2, "utf8").toString("base64") : _TE ? (s2) => _fromUint8Array(_TE.encode(s2)) : (s2) => _btoa(utob(s2));
+const encode$2 = (src, urlsafe = false) => urlsafe ? _mkUriSafe(_encode(src)) : _encode(src);
+const encodeURI$1 = (src) => encode$2(src, true);
+const re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g;
+const cb_btou = (cccc) => {
+  switch (cccc.length) {
+    case 4:
+      var cp = (7 & cccc.charCodeAt(0)) << 18 | (63 & cccc.charCodeAt(1)) << 12 | (63 & cccc.charCodeAt(2)) << 6 | 63 & cccc.charCodeAt(3), offset2 = cp - 65536;
+      return _fromCC((offset2 >>> 10) + 55296) + _fromCC((offset2 & 1023) + 56320);
+    case 3:
+      return _fromCC((15 & cccc.charCodeAt(0)) << 12 | (63 & cccc.charCodeAt(1)) << 6 | 63 & cccc.charCodeAt(2));
+    default:
+      return _fromCC((31 & cccc.charCodeAt(0)) << 6 | 63 & cccc.charCodeAt(1));
+  }
+};
+const btou = (b2) => b2.replace(re_btou, cb_btou);
+const atobPolyfill = (asc2) => {
+  asc2 = asc2.replace(/\s+/g, "");
+  if (!b64re.test(asc2))
+    throw new TypeError("malformed base64.");
+  asc2 += "==".slice(2 - (asc2.length & 3));
+  let u24, bin = "", r1, r2;
+  for (let i2 = 0; i2 < asc2.length; ) {
+    u24 = b64tab[asc2.charAt(i2++)] << 18 | b64tab[asc2.charAt(i2++)] << 12 | (r1 = b64tab[asc2.charAt(i2++)]) << 6 | (r2 = b64tab[asc2.charAt(i2++)]);
+    bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);
+  }
+  return bin;
+};
+const _atob = _hasatob ? (asc2) => atob(_tidyB64(asc2)) : _hasBuffer ? (asc2) => Buffer.from(asc2, "base64").toString("binary") : atobPolyfill;
+const _toUint8Array = _hasBuffer ? (a2) => _U8Afrom(Buffer.from(a2, "base64")) : (a2) => _U8Afrom(_atob(a2).split("").map((c2) => c2.charCodeAt(0)));
+const toUint8Array = (a2) => _toUint8Array(_unURI(a2));
+const _decode = _hasBuffer ? (a2) => Buffer.from(a2, "base64").toString("utf8") : _TD ? (a2) => _TD.decode(_toUint8Array(a2)) : (a2) => btou(_atob(a2));
+const _unURI = (a2) => _tidyB64(a2.replace(/[-_]/g, (m0) => m0 == "-" ? "+" : "/"));
+const decode$2 = (src) => _decode(_unURI(src));
+const isValid = (src) => {
+  if (typeof src !== "string")
+    return false;
+  const s2 = src.replace(/\s+/g, "").replace(/={0,2}$/, "");
+  return !/[^\s0-9a-zA-Z\+/]/.test(s2) || !/[^\s0-9a-zA-Z\-_]/.test(s2);
+};
+const _noEnum = (v22) => {
+  return {
+    value: v22,
+    enumerable: false,
+    writable: true,
+    configurable: true
+  };
+};
+const extendString = function() {
+  const _add = (name2, body) => Object.defineProperty(String.prototype, name2, _noEnum(body));
+  _add("fromBase64", function() {
+    return decode$2(this);
+  });
+  _add("toBase64", function(urlsafe) {
+    return encode$2(this, urlsafe);
+  });
+  _add("toBase64URI", function() {
+    return encode$2(this, true);
+  });
+  _add("toBase64URL", function() {
+    return encode$2(this, true);
+  });
+  _add("toUint8Array", function() {
+    return toUint8Array(this);
+  });
+};
+const extendUint8Array = function() {
+  const _add = (name2, body) => Object.defineProperty(Uint8Array.prototype, name2, _noEnum(body));
+  _add("toBase64", function(urlsafe) {
+    return fromUint8Array(this, urlsafe);
+  });
+  _add("toBase64URI", function() {
+    return fromUint8Array(this, true);
+  });
+  _add("toBase64URL", function() {
+    return fromUint8Array(this, true);
+  });
+};
+const extendBuiltins = () => {
+  extendString();
+  extendUint8Array();
+};
+const gBase64 = {
+  version: version$n,
+  VERSION: VERSION$2,
+  atob: _atob,
+  atobPolyfill,
+  btoa: _btoa,
+  btoaPolyfill,
+  fromBase64: decode$2,
+  toBase64: encode$2,
+  encode: encode$2,
+  encodeURI: encodeURI$1,
+  encodeURL: encodeURI$1,
+  utob,
+  btou,
+  decode: decode$2,
+  isValid,
+  fromUint8Array,
+  toUint8Array,
+  extendString,
+  extendUint8Array,
+  extendBuiltins
+};
+var md5$1 = { exports: {} };
+(function(module2) {
+  (function($2) {
+    function safeAdd(x2, y2) {
+      var lsw = (x2 & 65535) + (y2 & 65535);
+      var msw = (x2 >> 16) + (y2 >> 16) + (lsw >> 16);
+      return msw << 16 | lsw & 65535;
+    }
+    function bitRotateLeft(num, cnt) {
+      return num << cnt | num >>> 32 - cnt;
+    }
+    function md5cmn(q2, a2, b2, x2, s2, t2) {
+      return safeAdd(bitRotateLeft(safeAdd(safeAdd(a2, q2), safeAdd(x2, t2)), s2), b2);
+    }
+    function md5ff(a2, b2, c2, d2, x2, s2, t2) {
+      return md5cmn(b2 & c2 | ~b2 & d2, a2, b2, x2, s2, t2);
+    }
+    function md5gg(a2, b2, c2, d2, x2, s2, t2) {
+      return md5cmn(b2 & d2 | c2 & ~d2, a2, b2, x2, s2, t2);
+    }
+    function md5hh(a2, b2, c2, d2, x2, s2, t2) {
+      return md5cmn(b2 ^ c2 ^ d2, a2, b2, x2, s2, t2);
+    }
+    function md5ii(a2, b2, c2, d2, x2, s2, t2) {
+      return md5cmn(c2 ^ (b2 | ~d2), a2, b2, x2, s2, t2);
+    }
+    function binlMD5(x2, len2) {
+      x2[len2 >> 5] |= 128 << len2 % 32;
+      x2[(len2 + 64 >>> 9 << 4) + 14] = len2;
+      var i2;
+      var olda;
+      var oldb;
+      var oldc;
+      var oldd;
+      var a2 = 1732584193;
+      var b2 = -271733879;
+      var c2 = -1732584194;
+      var d2 = 271733878;
+      for (i2 = 0; i2 < x2.length; i2 += 16) {
+        olda = a2;
+        oldb = b2;
+        oldc = c2;
+        oldd = d2;
+        a2 = md5ff(a2, b2, c2, d2, x2[i2], 7, -680876936);
+        d2 = md5ff(d2, a2, b2, c2, x2[i2 + 1], 12, -389564586);
+        c2 = md5ff(c2, d2, a2, b2, x2[i2 + 2], 17, 606105819);
+        b2 = md5ff(b2, c2, d2, a2, x2[i2 + 3], 22, -1044525330);
+        a2 = md5ff(a2, b2, c2, d2, x2[i2 + 4], 7, -176418897);
+        d2 = md5ff(d2, a2, b2, c2, x2[i2 + 5], 12, 1200080426);
+        c2 = md5ff(c2, d2, a2, b2, x2[i2 + 6], 17, -1473231341);
+        b2 = md5ff(b2, c2, d2, a2, x2[i2 + 7], 22, -45705983);
+        a2 = md5ff(a2, b2, c2, d2, x2[i2 + 8], 7, 1770035416);
+        d2 = md5ff(d2, a2, b2, c2, x2[i2 + 9], 12, -1958414417);
+        c2 = md5ff(c2, d2, a2, b2, x2[i2 + 10], 17, -42063);
+        b2 = md5ff(b2, c2, d2, a2, x2[i2 + 11], 22, -1990404162);
+        a2 = md5ff(a2, b2, c2, d2, x2[i2 + 12], 7, 1804603682);
+        d2 = md5ff(d2, a2, b2, c2, x2[i2 + 13], 12, -40341101);
+        c2 = md5ff(c2, d2, a2, b2, x2[i2 + 14], 17, -1502002290);
+        b2 = md5ff(b2, c2, d2, a2, x2[i2 + 15], 22, 1236535329);
+        a2 = md5gg(a2, b2, c2, d2, x2[i2 + 1], 5, -165796510);
+        d2 = md5gg(d2, a2, b2, c2, x2[i2 + 6], 9, -1069501632);
+        c2 = md5gg(c2, d2, a2, b2, x2[i2 + 11], 14, 643717713);
+        b2 = md5gg(b2, c2, d2, a2, x2[i2], 20, -373897302);
+        a2 = md5gg(a2, b2, c2, d2, x2[i2 + 5], 5, -701558691);
+        d2 = md5gg(d2, a2, b2, c2, x2[i2 + 10], 9, 38016083);
+        c2 = md5gg(c2, d2, a2, b2, x2[i2 + 15], 14, -660478335);
+        b2 = md5gg(b2, c2, d2, a2, x2[i2 + 4], 20, -405537848);
+        a2 = md5gg(a2, b2, c2, d2, x2[i2 + 9], 5, 568446438);
+        d2 = md5gg(d2, a2, b2, c2, x2[i2 + 14], 9, -1019803690);
+        c2 = md5gg(c2, d2, a2, b2, x2[i2 + 3], 14, -187363961);
+        b2 = md5gg(b2, c2, d2, a2, x2[i2 + 8], 20, 1163531501);
+        a2 = md5gg(a2, b2, c2, d2, x2[i2 + 13], 5, -1444681467);
+        d2 = md5gg(d2, a2, b2, c2, x2[i2 + 2], 9, -51403784);
+        c2 = md5gg(c2, d2, a2, b2, x2[i2 + 7], 14, 1735328473);
+        b2 = md5gg(b2, c2, d2, a2, x2[i2 + 12], 20, -1926607734);
+        a2 = md5hh(a2, b2, c2, d2, x2[i2 + 5], 4, -378558);
+        d2 = md5hh(d2, a2, b2, c2, x2[i2 + 8], 11, -2022574463);
+        c2 = md5hh(c2, d2, a2, b2, x2[i2 + 11], 16, 1839030562);
+        b2 = md5hh(b2, c2, d2, a2, x2[i2 + 14], 23, -35309556);
+        a2 = md5hh(a2, b2, c2, d2, x2[i2 + 1], 4, -1530992060);
+        d2 = md5hh(d2, a2, b2, c2, x2[i2 + 4], 11, 1272893353);
+        c2 = md5hh(c2, d2, a2, b2, x2[i2 + 7], 16, -155497632);
+        b2 = md5hh(b2, c2, d2, a2, x2[i2 + 10], 23, -1094730640);
+        a2 = md5hh(a2, b2, c2, d2, x2[i2 + 13], 4, 681279174);
+        d2 = md5hh(d2, a2, b2, c2, x2[i2], 11, -358537222);
+        c2 = md5hh(c2, d2, a2, b2, x2[i2 + 3], 16, -722521979);
+        b2 = md5hh(b2, c2, d2, a2, x2[i2 + 6], 23, 76029189);
+        a2 = md5hh(a2, b2, c2, d2, x2[i2 + 9], 4, -640364487);
+        d2 = md5hh(d2, a2, b2, c2, x2[i2 + 12], 11, -421815835);
+        c2 = md5hh(c2, d2, a2, b2, x2[i2 + 15], 16, 530742520);
+        b2 = md5hh(b2, c2, d2, a2, x2[i2 + 2], 23, -995338651);
+        a2 = md5ii(a2, b2, c2, d2, x2[i2], 6, -198630844);
+        d2 = md5ii(d2, a2, b2, c2, x2[i2 + 7], 10, 1126891415);
+        c2 = md5ii(c2, d2, a2, b2, x2[i2 + 14], 15, -1416354905);
+        b2 = md5ii(b2, c2, d2, a2, x2[i2 + 5], 21, -57434055);
+        a2 = md5ii(a2, b2, c2, d2, x2[i2 + 12], 6, 1700485571);
+        d2 = md5ii(d2, a2, b2, c2, x2[i2 + 3], 10, -1894986606);
+        c2 = md5ii(c2, d2, a2, b2, x2[i2 + 10], 15, -1051523);
+        b2 = md5ii(b2, c2, d2, a2, x2[i2 + 1], 21, -2054922799);
+        a2 = md5ii(a2, b2, c2, d2, x2[i2 + 8], 6, 1873313359);
+        d2 = md5ii(d2, a2, b2, c2, x2[i2 + 15], 10, -30611744);
+        c2 = md5ii(c2, d2, a2, b2, x2[i2 + 6], 15, -1560198380);
+        b2 = md5ii(b2, c2, d2, a2, x2[i2 + 13], 21, 1309151649);
+        a2 = md5ii(a2, b2, c2, d2, x2[i2 + 4], 6, -145523070);
+        d2 = md5ii(d2, a2, b2, c2, x2[i2 + 11], 10, -1120210379);
+        c2 = md5ii(c2, d2, a2, b2, x2[i2 + 2], 15, 718787259);
+        b2 = md5ii(b2, c2, d2, a2, x2[i2 + 9], 21, -343485551);
+        a2 = safeAdd(a2, olda);
+        b2 = safeAdd(b2, oldb);
+        c2 = safeAdd(c2, oldc);
+        d2 = safeAdd(d2, oldd);
+      }
+      return [a2, b2, c2, d2];
+    }
+    function binl2rstr(input) {
+      var i2;
+      var output = "";
+      var length32 = input.length * 32;
+      for (i2 = 0; i2 < length32; i2 += 8) {
+        output += String.fromCharCode(input[i2 >> 5] >>> i2 % 32 & 255);
+      }
+      return output;
+    }
+    function rstr2binl(input) {
+      var i2;
+      var output = [];
+      output[(input.length >> 2) - 1] = void 0;
+      for (i2 = 0; i2 < output.length; i2 += 1) {
+        output[i2] = 0;
+      }
+      var length8 = input.length * 8;
+      for (i2 = 0; i2 < length8; i2 += 8) {
+        output[i2 >> 5] |= (input.charCodeAt(i2 / 8) & 255) << i2 % 32;
+      }
+      return output;
+    }
+    function rstrMD5(s2) {
+      return binl2rstr(binlMD5(rstr2binl(s2), s2.length * 8));
+    }
+    function rstrHMACMD5(key2, data2) {
+      var i2;
+      var bkey = rstr2binl(key2);
+      var ipad = [];
+      var opad = [];
+      var hash;
+      ipad[15] = opad[15] = void 0;
+      if (bkey.length > 16) {
+        bkey = binlMD5(bkey, key2.length * 8);
+      }
+      for (i2 = 0; i2 < 16; i2 += 1) {
+        ipad[i2] = bkey[i2] ^ 909522486;
+        opad[i2] = bkey[i2] ^ 1549556828;
+      }
+      hash = binlMD5(ipad.concat(rstr2binl(data2)), 512 + data2.length * 8);
+      return binl2rstr(binlMD5(opad.concat(hash), 512 + 128));
+    }
+    function rstr2hex(input) {
+      var hexTab = "0123456789abcdef";
+      var output = "";
+      var x2;
+      var i2;
+      for (i2 = 0; i2 < input.length; i2 += 1) {
+        x2 = input.charCodeAt(i2);
+        output += hexTab.charAt(x2 >>> 4 & 15) + hexTab.charAt(x2 & 15);
+      }
+      return output;
+    }
+    function str2rstrUTF8(input) {
+      return unescape(encodeURIComponent(input));
+    }
+    function rawMD5(s2) {
+      return rstrMD5(str2rstrUTF8(s2));
+    }
+    function hexMD5(s2) {
+      return rstr2hex(rawMD5(s2));
+    }
+    function rawHMACMD5(k2, d2) {
+      return rstrHMACMD5(str2rstrUTF8(k2), str2rstrUTF8(d2));
+    }
+    function hexHMACMD5(k2, d2) {
+      return rstr2hex(rawHMACMD5(k2, d2));
+    }
+    function md52(string, key2, raw) {
+      if (!key2) {
+        if (!raw) {
+          return hexMD5(string);
+        }
+        return rawMD5(string);
+      }
+      if (!raw) {
+        return hexHMACMD5(key2, string);
+      }
+      return rawHMACMD5(key2, string);
+    }
+    if (module2.exports) {
+      module2.exports = md52;
+    } else {
+      $2.md5 = md52;
+    }
+  })(commonjsGlobal);
+})(md5$1);
+var md5 = md5$1.exports;
+function Xml2Json() {
+  let json2Str = function(jsonObj) {
+    let rejsn = JSON.stringify(jsonObj, void 0, 2).replace(
+      /(\\t|\\r|\\n)/g,
+      ""
+    ).replace(/"",[\n\t\r\s]+""[,]*/g, "").replace(/(\n[\t\s\r]*\n)/g, "").replace(
+      /[\s\t]{2,}""[,]{0,1}/g,
+      ""
+    ).replace(
+      /"[\s\t]{1,}"[,]{0,1}/g,
+      ""
+    );
+    return rejsn.indexOf('"parsererror": {') === -1 ? rejsn : "Invalid XML format";
+  };
+  let setJsonObj = function(xmlDoc) {
+    let jsonObj = {};
+    if (xmlDoc.nodeType === 1) {
+      if (xmlDoc.attributes.length > 0) {
+        jsonObj["@attributes"] = {};
+        for (let j2 = 0; j2 < xmlDoc.attributes.length; j2++) {
+          let attribute = xmlDoc.attributes.item(j2);
+          jsonObj["@attributes"][attribute.nodeName] = attribute.value;
+        }
+      }
+    } else if (xmlDoc.nodeType === 3) {
+      jsonObj = xmlDoc.nodeValue;
+    }
+    if (xmlDoc.hasChildNodes()) {
+      for (let i2 = 0; i2 < xmlDoc.childNodes.length; i2++) {
+        let item = xmlDoc.childNodes.item(i2);
+        let nodeName = item.nodeName;
+        if (jsonObj[nodeName] === void 0) {
+          jsonObj[nodeName] = setJsonObj(item);
+        } else {
+          if (jsonObj[nodeName].push === void 0) {
+            let old = jsonObj[nodeName];
+            jsonObj[nodeName] = [];
+            jsonObj[nodeName].push(old);
+          }
+          jsonObj[nodeName].push(setJsonObj(item));
+        }
+      }
+    }
+    return jsonObj;
+  };
+  let self2 = this;
+  self2.parseString = function(xml, rstr) {
+    let xmlDoc;
+    if (window.DOMParser) {
+      xmlDoc = new window.DOMParser().parseFromString(xml, "text/xml");
+    } else {
+      xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
+      xmlDoc.async = "false";
+    }
+    let ret = json2Str(setJsonObj(xmlDoc));
+    return rstr === void 0 ? JSON.parse(ret) : ret;
+  };
+}
+var xml2js = new Xml2Json();
+const owner$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "Owner",
+  "parameters": {
+    "ID": {
+      "sentAs": "ID"
+    }
+  }
+};
+const initiator$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "Initiator",
+  "parameters": {
+    "ID": {
+      "sentAs": "ID"
+    }
+  }
+};
+const BackToSourceRules$1 = {
+  "sentAs": "BackToSourceRule",
+  "required": true,
+  "location": "xml",
+  "type": "array",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "Condition": {
+        "sentAs": "Condition",
+        "type": "object",
+        "parameters": {
+          "ObjectKeyPrefixEquals": {
+            "sentAs": "ObjectKeyPrefixEquals"
+          },
+          "HttpErrorCodeReturnedEquals": {
+            "sentAs": "HttpErrorCodeReturnedEquals"
+          }
+        }
+      },
+      "Redirect": {
+        "sentAs": "Redirect",
+        "type": "object",
+        "parameters": {
+          "HttpRedirectCode": {
+            "sentAs": "HttpRedirectCode"
+          },
+          "SourceEndpoint": {
+            "sentAs": "SourceEndpoint"
+          },
+          "SourceBucketName": {
+            "sentAs": "SourceBucketName"
+          },
+          "ReplaceKeyWith": {
+            "sentAs": "ReplaceKeyWith"
+          },
+          "StaticUri": {
+            "sentAs": "StaticUri"
+          },
+          "ReplaceKeyPrefixWith": {
+            "sentAs": "ReplaceKeyPrefixWith"
+          },
+          "MigrationConfiguration": {
+            "sentAs": "MigrationConfiguration",
+            "type": "object",
+            "parameters": {
+              "Agency": {
+                "sentAs": "Agency"
+              },
+              "LogBucketName": {
+                "sentAs": "LogBucketName"
+              },
+              "PrivateBucketConfiguration": {
+                "sentAs": "PrivateBucketConfiguration",
+                "type": "object",
+                "parameters": {
+                  "SourceStorageProvider": {
+                    "sentAs": "SourceStorageProvider"
+                  },
+                  "SourceBucketAK": {
+                    "sentAs": "SourceBucketAK"
+                  },
+                  "SourceBucketSK": {
+                    "sentAs": "SourceBucketSK"
+                  },
+                  "SourceBucketZone": {
+                    "sentAs": "SourceBucketZone"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+};
+const commonPrefixes$1 = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "CommonPrefixes",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Prefix": {
+        "decode": true,
+        "sentAs": "Prefix"
+      },
+      "MTime": {
+        "sentAs": "MTime"
+      },
+      "InodeNo": {
+        "sentAs": "InodeNo"
+      }
+    }
+  }
+};
+const grants$1 = {
+  "type": "array",
+  "location": "xml",
+  "wrapper": "AccessControlList",
+  "sentAs": "Grant",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Grantee": {
+        "type": "object",
+        "sentAs": "Grantee",
+        "parameters": {
+          "Type": {
+            "type": "ignore"
+          },
+          "ID": {
+            "sentAs": "ID",
+            "notAllowEmpty": true
+          },
+          "URI": {
+            "sentAs": "Canned",
+            "type": "adapter",
+            "notAllowEmpty": true
+          }
+        }
+      },
+      "Permission": {
+        "sentAs": "Permission"
+      },
+      "Delivered": {
+        "sentAs": "Delivered"
+      }
+    }
+  }
+};
+const loggingEnabled$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "LoggingEnabled",
+  "parameters": {
+    "TargetBucket": {
+      "sentAs": "TargetBucket"
+    },
+    "TargetPrefix": {
+      "sentAs": "TargetPrefix"
+    },
+    "TargetGrants": {
+      "type": "array",
+      "wrapper": "TargetGrants",
+      "sentAs": "Grant",
+      "items": {
+        "type": "object",
+        "parameters": {
+          "Grantee": {
+            "type": "object",
+            "sentAs": "Grantee",
+            "parameters": {
+              "Type": {
+                "type": "ignore"
+              },
+              "ID": {
+                "sentAs": "ID"
+              },
+              "URI": {
+                "sentAs": "Canned",
+                "type": "adapter"
+              }
+            }
+          },
+          "Permission": {
+            "sentAs": "Permission"
+          }
+        }
+      }
+    }
+  }
+};
+const rules$1 = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "sentAs": "Rule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "Prefix": {
+        "sentAs": "Prefix"
+      },
+      "Status": {
+        "sentAs": "Status"
+      },
+      "Transitions": {
+        "type": "array",
+        "sentAs": "Transition",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "StorageClass": {
+              "sentAs": "StorageClass",
+              "type": "adapter"
+            },
+            "Date": {
+              "sentAs": "Date"
+            },
+            "Days": {
+              "type": "number",
+              "sentAs": "Days"
+            }
+          }
+        }
+      },
+      "Expiration": {
+        "type": "object",
+        "sentAs": "Expiration",
+        "parameters": {
+          "Date": {
+            "sentAs": "Date"
+          },
+          "Days": {
+            "type": "number",
+            "sentAs": "Days"
+          }
+        }
+      },
+      "AbortIncompleteMultipartUpload": {
+        "type": "object",
+        "sentAs": "AbortIncompleteMultipartUpload",
+        "parameters": {
+          "DaysAfterInitiation": {
+            "type": "number",
+            "sentAs": "DaysAfterInitiation"
+          }
+        }
+      },
+      "NoncurrentVersionTransitions": {
+        "type": "array",
+        "sentAs": "NoncurrentVersionTransition",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "StorageClass": {
+              "sentAs": "StorageClass",
+              "type": "adapter"
+            },
+            "NoncurrentDays": {
+              "type": "number",
+              "sentAs": "NoncurrentDays"
+            }
+          }
+        }
+      },
+      "NoncurrentVersionExpiration": {
+        "type": "object",
+        "sentAs": "NoncurrentVersionExpiration",
+        "parameters": {
+          "NoncurrentDays": {
+            "type": "number",
+            "sentAs": "NoncurrentDays"
+          }
+        }
+      }
+    }
+  }
+};
+const redirectAllRequestsTo$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "RedirectAllRequestsTo",
+  "parameters": {
+    "HostName": {
+      "sentAs": "HostName"
+    },
+    "Protocol": {
+      "sentAs": "Protocol"
+    }
+  }
+};
+const routingRules$1 = {
+  "type": "array",
+  "wrapper": "RoutingRules",
+  "location": "xml",
+  "sentAs": "RoutingRule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Condition": {
+        "type": "object",
+        "sentAs": "Condition",
+        "parameters": {
+          "HttpErrorCodeReturnedEquals": {
+            "sentAs": "HttpErrorCodeReturnedEquals"
+          },
+          "KeyPrefixEquals": {
+            "sentAs": "KeyPrefixEquals"
+          }
+        }
+      },
+      "Redirect": {
+        "type": "object",
+        "sentAs": "Redirect",
+        "parameters": {
+          "HostName": {
+            "sentAs": "HostName"
+          },
+          "HttpRedirectCode": {
+            "sentAs": "HttpRedirectCode"
+          },
+          "Protocol": {
+            "sentAs": "Protocol"
+          },
+          "ReplaceKeyPrefixWith": {
+            "sentAs": "ReplaceKeyPrefixWith"
+          },
+          "ReplaceKeyWith": {
+            "sentAs": "ReplaceKeyWith"
+          }
+        }
+      }
+    }
+  }
+};
+const indexDocument$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "IndexDocument",
+  "parameters": {
+    "Suffix": {
+      "sentAs": "Suffix"
+    }
+  }
+};
+const errorDocument$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "ErrorDocument",
+  "parameters": {
+    "Key": {
+      "sentAs": "Key"
+    }
+  }
+};
+const corsRule$1 = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "sentAs": "CORSRule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "AllowedMethod": {
+        "type": "array",
+        "sentAs": "AllowedMethod",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AllowedOrigin": {
+        "type": "array",
+        "sentAs": "AllowedOrigin",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AllowedHeader": {
+        "type": "array",
+        "sentAs": "AllowedHeader",
+        "items": {
+          "type": "string"
+        }
+      },
+      "MaxAgeSeconds": {
+        "type": "number",
+        "sentAs": "MaxAgeSeconds"
+      },
+      "ExposeHeader": {
+        "type": "array",
+        "sentAs": "ExposeHeader",
+        "items": {
+          "type": "string"
+        }
+      }
+    }
+  }
+};
+const functionGraphConfiguration$1 = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "FunctionGraphConfiguration",
+  "items": {
+    "type": "object",
+    "location": "xml",
+    "parameters": {
+      "ID": {
+        "sentAs": "Id"
+      },
+      "Filter": {
+        "type": "object",
+        "parameters": {
+          "FilterRules": {
+            "wrapper": "Object",
+            "type": "array",
+            "sentAs": "FilterRule",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Name": {},
+                "Value": {}
+              }
+            }
+          }
+        }
+      },
+      "FunctionGraph": {},
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        }
+      }
+    }
+  }
+};
+const topicConfiguration$1 = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "TopicConfiguration",
+  "items": {
+    "type": "object",
+    "location": "xml",
+    "parameters": {
+      "ID": {
+        "sentAs": "Id"
+      },
+      "Filter": {
+        "type": "object",
+        "parameters": {
+          "FilterRules": {
+            "wrapper": "Object",
+            "type": "array",
+            "sentAs": "FilterRule",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Name": {},
+                "Value": {}
+              }
+            }
+          }
+        }
+      },
+      "Topic": {},
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        }
+      }
+    }
+  }
+};
+const functionStageConfiguration$1 = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "FunctionStageConfiguration",
+  "items": {
+    "type": "object",
+    "location": "xml",
+    "parameters": {
+      "ID": {
+        "sentAs": "Id"
+      },
+      "Filter": {
+        "type": "object",
+        "parameters": {
+          "FilterRules": {
+            "wrapper": "Object",
+            "type": "array",
+            "sentAs": "FilterRule",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Name": {},
+                "Value": {}
+              }
+            }
+          }
+        }
+      },
+      "FunctionStage": {},
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        }
+      }
+    }
+  }
+};
+const tagSet$1 = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "wrapper": "TagSet",
+  "sentAs": "Tag",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Key": {
+        "sentAs": "Key"
+      },
+      "Value": {
+        "sentAs": "Value"
+      }
+    }
+  }
+};
+const replicationRules$1 = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "sentAs": "Rule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "Prefix": {
+        "sentAs": "Prefix"
+      },
+      "Status": {
+        "sentAs": "Status"
+      },
+      "Destination": {
+        "type": "object",
+        "sentAs": "Destination",
+        "parameters": {
+          "Bucket": {
+            "sentAs": "Bucket",
+            "type": "adapter"
+          },
+          "StorageClass": {
+            "sentAs": "StorageClass",
+            "type": "adapter"
+          },
+          "DeleteData": {
+            "sentAs": "DeleteData",
+            "type": "string"
+          }
+        }
+      },
+      "HistoricalObjectReplication": {
+        "sentAs": "HistoricalObjectReplication"
+      }
+    }
+  }
+};
+const bucketEncryptionRule$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "Rule",
+  "parameters": {
+    "ApplyServerSideEncryptionByDefault": {
+      "type": "object",
+      "sentAs": "ApplyServerSideEncryptionByDefault",
+      "parameters": {
+        "SSEAlgorithm": {
+          "sentAs": "SSEAlgorithm"
+        },
+        "KMSMasterKeyID": {
+          "sentAs": "KMSMasterKeyID"
+        },
+        "ProjectID": {
+          "sentAs": "ProjectID"
+        }
+      }
+    }
+  }
+};
+const InventoryConfiguration$1 = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "InventoryConfiguration",
+  "parameters": {
+    "Id": {
+      "sentAs": "Id"
+    },
+    "IsEnabled": {
+      "sentAs": "IsEnabled"
+    },
+    "Filter": {
+      "type": "object",
+      "sentAs": "Filter",
+      "parameters": {
+        "Prefix": {
+          "sentAs": "Prefix"
+        }
+      }
+    },
+    "Destination": {
+      "type": "object",
+      "sentAs": "Destination",
+      "parameters": {
+        "Format": {
+          "sentAs": "Format"
+        },
+        "Bucket": {
+          "sentAs": "Bucket"
+        },
+        "Prefix": {
+          "sentAs": "Prefix"
+        },
+        "Encryption": {
+          "type": "object",
+          "sentAs": "Encryption",
+          "parameters": {
+            "SSE-KMS": {
+              "type": "object",
+              "sentAs": "SSE-KMS",
+              "parameters": {
+                "KeyId": {
+                  "sentAs": "KeyId",
+                  "type": "adapter"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "Schedule": {
+      "type": "object",
+      "sentAs": "Schedule",
+      "parameters": {
+        "Frequency": {
+          "sentAs": "Frequency"
+        }
+      }
+    },
+    "IncludedObjectVersions": {
+      "sentAs": "IncludedObjectVersions"
+    },
+    "OptionalFields": {
+      "type": "object",
+      "location": "xml",
+      "sentAs": "OptionalFields",
+      "parameters": {
+        "Field": {
+          "type": "array",
+          "sentAs": "Field",
+          "items": {
+            "type": "string"
+          }
+        }
+      }
+    }
+  }
+};
+const CDNNotifyConfiguration$1 = {
+  "location": "xml",
+  "sentAs": "Domain",
+  "type": "array",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Name": {
+        "type": "string",
+        "sentAs": "Name"
+      },
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        },
+        "sentAs": "Event"
+      }
+    }
+  }
+};
+const operations$1 = {
+  "HeadBucket": {
+    "httpMethod": "HEAD",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "HeadApiVersion": {
+    "httpMethod": "HEAD",
+    "urlPath": "apiversion",
+    "parameters": {
+      "Bucket": {
+        "location": "uri"
+      }
+    }
+  },
+  "HeadApiVersionOutput": {
+    "parameters": {
+      "ApiVersion": {
+        "location": "header",
+        "sentAs": "x-obs-api"
+      }
+    }
+  },
+  "CreateBucket": {
+    "httpMethod": "PUT",
+    "data": {
+      "xmlRoot": "CreateBucketConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true
+      },
+      "StorageType": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "FileInterface": {
+        "location": "header",
+        "sentAs": "fs-file-interface",
+        "withPrefix": true
+      },
+      "Type": {
+        "location": "header",
+        "sentAs": "bucket-type",
+        "withPrefix": true
+      },
+      "MultiAz": {
+        "location": "header",
+        "sentAs": "az-redundancy",
+        "withPrefix": true
+      },
+      "Cluster": {
+        "location": "header",
+        "sentAs": "location-clustergroup-id",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadACP": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWrite": {
+        "location": "header",
+        "sentAs": "grant-write",
+        "withPrefix": true
+      },
+      "GrantWriteACP": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "ClusterType": {
+        "location": "header",
+        "sentAs": "cluster-type",
+        "withPrefix": true
+      },
+      "MultiEnterprise": { "location": "header", "sentAs": "epid", "withPrefix": true },
+      "Location": {
+        "location": "xml",
+        "sentAs": "Location"
+      }
+    }
+  },
+  "GetBucketMetadata": {
+    "httpMethod": "HEAD",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      }
+    }
+  },
+  "GetBucketMetadataOutput": {
+    "parameters": {
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "ObsVersion": {
+        "location": "header",
+        "sentAs": "version",
+        "withPrefix": true
+      },
+      "Location": {
+        "location": "header",
+        "sentAs": "bucket-location",
+        "withPrefix": true
+      },
+      "FileInterface": {
+        "location": "header",
+        "sentAs": "fs-file-interface",
+        "withPrefix": true
+      },
+      "Type": {
+        "location": "header",
+        "sentAs": "bucket-type",
+        "withPrefix": true
+      },
+      "MultiAz": {
+        "location": "header",
+        "sentAs": "az-redundancy",
+        "withPrefix": true
+      },
+      "Cluster": {
+        "location": "header",
+        "sentAs": "location-clustergroup-id",
+        "withPrefix": true
+      },
+      "MultiEnterprise": {
+        "location": "header",
+        "sentAs": "epid",
+        "withPrefix": true
+      },
+      "ClusterType": {
+        "location": "header",
+        "sentAs": "cluster-type",
+        "withPrefix": true
+      },
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      }
+    }
+  },
+  "DeleteBucket": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "ListBuckets": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Type": {
+        "sentAs": "x-obs-bucket-type",
+        "location": "header"
+      },
+      "Location": {
+        "sentAs": "location",
+        "location": "header",
+        "withPrefix": true
+      }
+    }
+  },
+  "ListBucketsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListAllMyBucketsResult"
+    },
+    "parameters": {
+      Buckets: {
+        location: "xml",
+        sentAs: "Bucket",
+        type: "array",
+        wrapper: "Buckets",
+        items: {
+          type: "object",
+          location: "xml",
+          sentAs: "Bucket",
+          parameters: {
+            Name: {
+              sentAs: "Name"
+            },
+            CreationDate: {
+              sentAs: "CreationDate"
+            },
+            Location: {
+              sentAs: "Location"
+            },
+            ClusterType: {
+              sentAs: "ClusterType"
+            }
+          }
+        }
+      },
+      "Owner": {
+        "type": "object",
+        "location": "xml",
+        "sentAs": "Owner",
+        "parameters": {
+          "ID": {
+            "sentAs": "ID"
+          },
+          "DisplayName": {
+            "sentAs": "DisplayName"
+          }
+        }
+      }
+    }
+  },
+  "ListObjects": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Prefix": {
+        "location": "urlPath",
+        "sentAs": "prefix"
+      },
+      "Marker": {
+        "location": "urlPath",
+        "sentAs": "marker"
+      },
+      "MaxKeys": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-keys"
+      },
+      "Delimiter": {
+        "location": "urlPath",
+        "sentAs": "delimiter"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListObjectsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListBucketResult"
+    },
+    "parameters": {
+      "Location": {
+        "location": "header",
+        "sentAs": "bucket-location",
+        "withPrefix": true
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Name"
+      },
+      "Delimiter": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Delimiter"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "Prefix": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Prefix"
+      },
+      "Marker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Marker"
+      },
+      "NextMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "NextMarker"
+      },
+      "MaxKeys": {
+        "location": "xml",
+        "sentAs": "MaxKeys"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Contents": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Contents",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            },
+            "Size": {
+              "sentAs": "Size"
+            },
+            "Type": {
+              "sentAs": "Type"
+            },
+            "StorageClass": {
+              "sentAs": "StorageClass"
+            },
+            "Owner": owner$1
+          }
+        }
+      },
+      "CommonPrefixes": commonPrefixes$1
+    }
+  },
+  "ListVersions": {
+    "httpMethod": "GET",
+    "urlPath": "versions",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Prefix": {
+        "location": "urlPath",
+        "sentAs": "prefix"
+      },
+      "KeyMarker": {
+        "location": "urlPath",
+        "sentAs": "key-marker"
+      },
+      "MaxKeys": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-keys"
+      },
+      "Delimiter": {
+        "location": "urlPath",
+        "sentAs": "delimiter"
+      },
+      "VersionIdMarker": {
+        "location": "urlPath",
+        "sentAs": "version-id-marker"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListVersionsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListVersionsResult"
+    },
+    "parameters": {
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Location": {
+        "location": "header",
+        "sentAs": "bucket-location",
+        "withPrefix": true
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Name"
+      },
+      "Prefix": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Prefix"
+      },
+      "Delimiter": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Delimiter"
+      },
+      "KeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "KeyMarker"
+      },
+      "VersionIdMarker": {
+        "location": "xml",
+        "sentAs": "VersionIdMarker"
+      },
+      "NextKeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "NextKeyMarker"
+      },
+      "NextVersionIdMarker": {
+        "location": "xml",
+        "sentAs": "NextVersionIdMarker"
+      },
+      "MaxKeys": {
+        "location": "xml",
+        "sentAs": "MaxKeys"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "Versions": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Version",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "IsLatest": {
+              "sentAs": "IsLatest"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            },
+            "Size": {
+              "sentAs": "Size"
+            },
+            "Type": {
+              "sentAs": "Type"
+            },
+            "Owner": owner$1,
+            "StorageClass": {
+              "sentAs": "StorageClass"
+            }
+          }
+        }
+      },
+      "DeleteMarkers": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "DeleteMarker",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "IsLatest": {
+              "sentAs": "IsLatest"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "Owner": owner$1
+          }
+        }
+      },
+      "CommonPrefixes": commonPrefixes$1
+    }
+  },
+  "PutBackToSource": {
+    "httpMethod": "PUT",
+    "data": {
+      "xmlRoot": "BackToSourceConfiguration"
+    },
+    "urlPath": "backtosource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "BackToSourceRules": BackToSourceRules$1,
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      }
+    }
+  },
+  "DeleteBackToSource": {
+    "httpMethod": "DELETE",
+    "urlPath": "backtosource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBackToSource": {
+    "httpMethod": "GET",
+    "urlPath": "backtosource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBackToSourceOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "BackToSourceConfiguration"
+    },
+    "parameters": {
+      "BackToSourceRules": BackToSourceRules$1
+    }
+  },
+  "GetBucketLocation": {
+    "httpMethod": "GET",
+    "urlPath": "location",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketLocationOutput": {
+    "data": {
+      "type": "xml"
+    },
+    "parameters": {
+      "Location": {
+        "location": "xml",
+        "sentAs": "Location"
+      }
+    }
+  },
+  "GetBucketStorageInfo": {
+    "httpMethod": "GET",
+    "urlPath": "storageinfo",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketStorageInfoOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "GetBucketStorageInfoResult"
+    },
+    "parameters": {
+      "Size": {
+        "location": "xml",
+        "sentAs": "Size"
+      },
+      "ObjectNumber": {
+        "location": "xml",
+        "sentAs": "ObjectNumber"
+      }
+    }
+  },
+  "SetBucketQuota": {
+    "httpMethod": "PUT",
+    "urlPath": "quota",
+    "data": {
+      "xmlRoot": "Quota"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "StorageQuota": {
+        "required": true,
+        "location": "xml",
+        "sentAs": "StorageQuota"
+      }
+    }
+  },
+  "GetBucketQuota": {
+    "httpMethod": "GET",
+    "urlPath": "quota",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketQuotaOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "Quota"
+    },
+    "parameters": {
+      "StorageQuota": {
+        "location": "xml",
+        "sentAs": "StorageQuota"
+      }
+    }
+  },
+  "SetBucketAcl": {
+    "httpMethod": "PUT",
+    "urlPath": "acl",
+    "data": {
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Owner": owner$1,
+      "Grants": grants$1
+    }
+  },
+  "GetBucketInventory": {
+    "httpMethod": "GET",
+    "urlPath": "inventory",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketInventoryOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListInventoryConfiguration"
+    },
+    "parameters": {
+      "Rules": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "InventoryConfiguration",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Id": {
+              "sentAs": "Id"
+            },
+            "IsEnabled": {
+              "sentAs": "IsEnabled"
+            },
+            "Filter": {
+              "type": "object",
+              "sentAs": "Filter",
+              "parameters": {
+                "Prefix": {
+                  "sentAs": "Prefix"
+                }
+              }
+            },
+            "Destination": {
+              "type": "object",
+              "sentAs": "Destination",
+              "parameters": {
+                "Format": {
+                  "sentAs": "Format"
+                },
+                "Bucket": {
+                  "sentAs": "Bucket"
+                },
+                "Prefix": {
+                  "sentAs": "Prefix"
+                }
+              }
+            },
+            "Schedule": {
+              "type": "object",
+              "sentAs": "Schedule",
+              "parameters": {
+                "Frequency": {
+                  "sentAs": "Frequency"
+                }
+              }
+            },
+            "IncludedObjectVersions": {
+              "sentAs": "IncludedObjectVersions"
+            },
+            "OptionalFields": {
+              "type": "object",
+              "location": "xml",
+              "sentAs": "OptionalFields",
+              "parameters": {
+                "Field": {
+                  "type": "array",
+                  "sentAs": "Field",
+                  "items": {
+                    "type": "string"
+                  }
+                }
+              }
+            },
+            "LastExportTime": {
+              "sentAs": "LastExportTime"
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetBucketInventory": {
+    "httpMethod": "PUT",
+    "urlPath": "inventory",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Id": {
+        "location": "urlPath",
+        "sentAs": "id"
+      },
+      "InventoryConfiguration": InventoryConfiguration$1
+    }
+  },
+  "SetBucketInventoryOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "InventoryConfiguration"
+    },
+    "parameters": {
+      "InventoryConfiguration": InventoryConfiguration$1
+    }
+  },
+  "DeleteBucketInventory": {
+    "httpMethod": "DELETE",
+    "urlPath": "inventory",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Id": {
+        "location": "urlPath",
+        "sentAs": "id"
+      }
+    }
+  },
+  "DeleteBucketInventoryOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "InventoryConfiguration"
+    },
+    "parameters": {
+      "InventoryConfiguration": InventoryConfiguration$1
+    }
+  },
+  "GetBucketAcl": {
+    "httpMethod": "GET",
+    "urlPath": "acl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketAclOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "Owner": owner$1,
+      "Grants": grants$1
+    }
+  },
+  "SetBucketLoggingConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "logging",
+    "data": {
+      "xmlRoot": "BucketLoggingStatus",
+      "xmlAllowEmpty": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Agency": {
+        "location": "xml",
+        "sentAs": "Agency"
+      },
+      "LoggingEnabled": loggingEnabled$1
+    }
+  },
+  "GetBucketLoggingConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "logging",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketLoggingConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "BucketLoggingStatus"
+    },
+    "parameters": {
+      "Agency": {
+        "location": "xml",
+        "sentAs": "Agency"
+      },
+      "LoggingEnabled": loggingEnabled$1
+    }
+  },
+  "SetSFSAcl": {
+    "httpMethod": "PUT",
+    "urlPath": "sfsacl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Policy": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetSFSAcl": {
+    "httpMethod": "GET",
+    "urlPath": "sfsacl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetSFSAclOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Policy": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteSFSAcl": {
+    "httpMethod": "DELETE",
+    "urlPath": "sfsacl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketPolicy": {
+    "httpMethod": "PUT",
+    "urlPath": "policy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Policy": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetBucketPolicy": {
+    "httpMethod": "GET",
+    "urlPath": "policy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketPolicyOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Policy": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteBucketPolicy": {
+    "httpMethod": "DELETE",
+    "urlPath": "policy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketDisPolicy": {
+    "httpMethod": "PUT",
+    "urlPath": "disPolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Rules": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetBucketDisPolicy": {
+    "httpMethod": "GET",
+    "urlPath": "disPolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      }
+    }
+  },
+  "GetBucketDisPolicyOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Rules": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteBucketDisPolicy": {
+    "httpMethod": "DELETE",
+    "urlPath": "disPolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketLifecycleConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "lifecycle",
+    "data": {
+      "xmlRoot": "LifecycleConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Rules": rules$1
+    }
+  },
+  "GetBucketLifecycleConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "lifecycle",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketLifecycleConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "LifecycleConfiguration"
+    },
+    "parameters": {
+      "Rules": rules$1
+    }
+  },
+  "DeleteBucketLifecycleConfiguration": {
+    "httpMethod": "DELETE",
+    "urlPath": "lifecycle",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketWebsiteConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "website",
+    "data": {
+      "xmlRoot": "WebsiteConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "RedirectAllRequestsTo": redirectAllRequestsTo$1,
+      "IndexDocument": indexDocument$1,
+      "ErrorDocument": errorDocument$1,
+      "RoutingRules": routingRules$1
+    }
+  },
+  "GetBucketWebsiteConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "website",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketWebsiteConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "WebsiteConfiguration"
+    },
+    "parameters": {
+      "RedirectAllRequestsTo": redirectAllRequestsTo$1,
+      "IndexDocument": indexDocument$1,
+      "ErrorDocument": errorDocument$1,
+      "RoutingRules": routingRules$1
+    }
+  },
+  "DeleteBucketWebsiteConfiguration": {
+    "httpMethod": "DELETE",
+    "urlPath": "website",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketVersioningConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "versioning",
+    "data": {
+      "xmlRoot": "VersioningConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionStatus": {
+        "required": true,
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "GetBucketVersioningConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "versioning",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketVersioningConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "VersioningConfiguration"
+    },
+    "parameters": {
+      "VersionStatus": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "SetBucketCors": {
+    "httpMethod": "PUT",
+    "urlPath": "cors",
+    "data": {
+      "xmlRoot": "CORSConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "CorsRules": corsRule$1
+    }
+  },
+  "GetBucketCors": {
+    "httpMethod": "GET",
+    "urlPath": "cors",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketCorsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CORSConfiguration"
+    },
+    "parameters": {
+      "CorsRules": corsRule$1
+    }
+  },
+  "DeleteBucketCors": {
+    "httpMethod": "DELETE",
+    "urlPath": "cors",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketNotification": {
+    "httpMethod": "PUT",
+    "urlPath": "notification",
+    "data": {
+      "xmlRoot": "NotificationConfiguration",
+      "xmlAllowEmpty": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "TopicConfigurations": topicConfiguration$1,
+      "FunctionGraphConfigurations": functionGraphConfiguration$1,
+      "FunctionStageConfigurations": functionStageConfiguration$1
+    }
+  },
+  "GetBucketNotification": {
+    "httpMethod": "GET",
+    "urlPath": "notification",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketNotificationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "NotificationConfiguration"
+    },
+    "parameters": {
+      "RequestId": {
+        "location": "header",
+        "sentAs": "x-obs-request-id"
+      },
+      "TopicConfigurations": topicConfiguration$1,
+      "FunctionGraphConfigurations": functionGraphConfiguration$1,
+      "FunctionStageConfigurations": functionStageConfiguration$1
+    }
+  },
+  "SetBucketTagging": {
+    "httpMethod": "PUT",
+    "urlPath": "tagging",
+    "data": {
+      "xmlRoot": "Tagging",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Tags": tagSet$1
+    }
+  },
+  "DeleteBucketTagging": {
+    "httpMethod": "DELETE",
+    "urlPath": "tagging",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketTagging": {
+    "httpMethod": "GET",
+    "urlPath": "tagging",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketTaggingOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "Tagging"
+    },
+    "parameters": {
+      "Tags": tagSet$1
+    }
+  },
+  "SetBucketStoragePolicy": {
+    "httpMethod": "PUT",
+    "urlPath": "storageClass",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "StorageClass": {
+        "required": true,
+        "location": "xml",
+        "type": "adapter",
+        "sentAs": "StorageClass"
+      }
+    }
+  },
+  "GetBucketStoragePolicy": {
+    "httpMethod": "GET",
+    "urlPath": "storageClass",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketStoragePolicyOutput": {
+    "data": {
+      "type": "xml"
+    },
+    "parameters": {
+      "StorageClass": {
+        "location": "xml",
+        "type": "string",
+        "sentAs": "StorageClass"
+      }
+    }
+  },
+  "SetBucketReplication": {
+    "httpMethod": "PUT",
+    "urlPath": "replication",
+    "data": {
+      "xmlRoot": "ReplicationConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Agency": {
+        "location": "xml",
+        "sentAs": "Agency"
+      },
+      "Rules": replicationRules$1
+    }
+  },
+  "GetBucketReplication": {
+    "httpMethod": "GET",
+    "urlPath": "replication",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketReplicationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ReplicationConfiguration"
+    },
+    "parameters": {
+      "Agency": {
+        "location": "xml",
+        "sentAs": "Agency"
+      },
+      "Rules": replicationRules$1
+    }
+  },
+  "DeleteBucketReplication": {
+    "httpMethod": "DELETE",
+    "urlPath": "replication",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "PutObject": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Offset": {
+        "type": "plain"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length",
+        "type": "plain"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition",
+        "encodingSafe": ' ;/?:@&=+$,"'
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "expires",
+        "type": "number",
+        "withPrefix": true
+      },
+      "SuccessActionRedirect": {
+        "location": "header",
+        "sentAs": "success-action-redirect"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "Body": {
+        "location": "body"
+      },
+      "SourceFile": {
+        "type": "srcFile"
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "PutObjectOutput": {
+    "parameters": {
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "AppendObject": {
+    "httpMethod": "POST",
+    "urlPath": "append",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "Position": {
+        "location": "urlPath",
+        "sentAs": "position",
+        "type": "number"
+      },
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Offset": {
+        "type": "plain"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length",
+        "type": "plain"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "expires",
+        "type": "number",
+        "withPrefix": true
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "Body": {
+        "location": "body"
+      },
+      "SourceFile": {
+        "type": "srcFile"
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "AppendObjectOutput": {
+    "parameters": {
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "NextPosition": {
+        "location": "header",
+        "sentAs": "next-append-position",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "GetObject": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ResponseCacheControl": {
+        "location": "urlPath",
+        "sentAs": "response-cache-control"
+      },
+      "ResponseContentDisposition": {
+        "location": "urlPath",
+        "sentAs": "response-content-disposition"
+      },
+      "ResponseContentEncoding": {
+        "location": "urlPath",
+        "sentAs": "response-content-encoding"
+      },
+      "ResponseContentLanguage": {
+        "location": "urlPath",
+        "sentAs": "response-content-language"
+      },
+      "ResponseContentType": {
+        "location": "urlPath",
+        "sentAs": "response-content-type"
+      },
+      "ResponseExpires": {
+        "location": "urlPath",
+        "sentAs": "response-expires"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "ImageProcess": {
+        "location": "urlPath",
+        "sentAs": "x-image-process"
+      },
+      "IfMatch": {
+        "location": "header",
+        "sentAs": "If-Match"
+      },
+      "IfModifiedSince": {
+        "location": "header",
+        "sentAs": "If-Modified-Since"
+      },
+      "IfNoneMatch": {
+        "location": "header",
+        "sentAs": "If-None-Match"
+      },
+      "IfUnmodifiedSince": {
+        "location": "header",
+        "sentAs": "If-Unmodified-Since"
+      },
+      "Range": {
+        "location": "header",
+        "sentAs": "Range"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      },
+      "SaveByType": {
+        "type": "dstFile"
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "GetObjectOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Content": {
+        "location": "body"
+      },
+      "Expiration": {
+        "location": "header",
+        "sentAs": "expiration",
+        "withPrefix": true
+      },
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length"
+      },
+      "DeleteMarker": {
+        "location": "header",
+        "sentAs": "delete-marker",
+        "withPrefix": true
+      },
+      "LastModified": {
+        "location": "header",
+        "sentAs": "Last-Modified"
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "Restore": {
+        "location": "header",
+        "sentAs": "restore",
+        "withPrefix": true
+      },
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      },
+      "Metadata": {
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      }
+    }
+  },
+  "CopyObject": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "CopySource": {
+        "required": true,
+        "location": "header",
+        "sentAs": "copy-source",
+        "withPrefix": true,
+        "skipEncoding": true
+      },
+      "CopySourceIfMatch": {
+        "location": "header",
+        "sentAs": "copy-source-if-match",
+        "withPrefix": true
+      },
+      "CopySourceIfModifiedSince": {
+        "location": "header",
+        "sentAs": "copy-source-if-modified-since",
+        "withPrefix": true
+      },
+      "CopySourceIfNoneMatch": {
+        "location": "header",
+        "sentAs": "copy-source-if-none-match",
+        "withPrefix": true
+      },
+      "CopySourceIfUnmodifiedSince": {
+        "location": "header",
+        "sentAs": "copy-source-if-unmodified-since",
+        "withPrefix": true
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "content-encoding"
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "content-language"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "content-disposition"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "cache-control"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "expires"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "MetadataDirective": {
+        "location": "header",
+        "sentAs": "metadata-directive",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "SuccessActionRedirect": {
+        "location": "header",
+        "sentAs": "success-action-redirect"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "CopySourceSseC": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "CopySourceSseCKey": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "CopyObjectOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CopyObjectResult"
+    },
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "CopySourceVersionId": {
+        "location": "header",
+        "sentAs": "copy-source-version-id",
+        "withPrefix": true
+      },
+      "ETag": {
+        "location": "xml",
+        "sentAs": "ETag"
+      },
+      "LastModified": {
+        "location": "xml",
+        "sentAs": "LastModified"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "RestoreObject": {
+    "httpMethod": "POST",
+    "urlPath": "restore",
+    "data": {
+      "xmlRoot": "RestoreRequest",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "Days": {
+        "location": "xml",
+        "sentAs": "Days"
+      },
+      "Tier": {
+        "wrapper": "RestoreJob",
+        "location": "xml",
+        "sentAs": "Tier"
+      }
+    }
+  },
+  "GetObjectMetadata": {
+    "httpMethod": "HEAD",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "GetObjectMetadataOutput": {
+    "parameters": {
+      "Expiration": {
+        "location": "header",
+        "sentAs": "expiration",
+        "withPrefix": true
+      },
+      "LastModified": {
+        "location": "header",
+        "sentAs": "Last-Modified"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "Restore": {
+        "location": "header",
+        "sentAs": "restore",
+        "withPrefix": true
+      },
+      "ObjectType": {
+        "location": "header",
+        "sentAs": "x-obs-object-type"
+      },
+      "NextPosition": {
+        "location": "header",
+        "sentAs": "x-obs-next-append-position"
+      },
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "x-obs-server-side-encryption-kms-key-id"
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      },
+      "Metadata": {
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "ReplicationStatus": {
+        "location": "header",
+        "sentAs": "replication-status",
+        "withPrefix": true
+      }
+    }
+  },
+  "SetObjectMetadata": {
+    "httpMethod": "PUT",
+    "urlPath": "metadata",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition",
+        "encodingSafe": ' ;/?:@&=+$,"'
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "Metadata": {
+        "shape": "Sy",
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "MetadataDirective": {
+        "location": "header",
+        "sentAs": "metadata-directive",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      }
+    }
+  },
+  "SetObjectMetadataOutput": {
+    "parameters": {
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition"
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      }
+    }
+  },
+  "SetObjectAcl": {
+    "httpMethod": "PUT",
+    "urlPath": "acl",
+    "data": {
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Delivered": {
+        "location": "xml",
+        "sentAs": "Delivered"
+      },
+      "Owner": owner$1,
+      "Grants": grants$1
+    }
+  },
+  "SetObjectAclOutput": {
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      }
+    }
+  },
+  "GetObjectAcl": {
+    "httpMethod": "GET",
+    "urlPath": "acl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      }
+    }
+  },
+  "GetObjectAclOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "Delivered": {
+        "location": "xml",
+        "sentAs": "Delivered"
+      },
+      "Owner": owner$1,
+      "Grants": grants$1
+    }
+  },
+  "DeleteObject": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      }
+    }
+  },
+  "DeleteObjectOutput": {
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "DeleteMarker": {
+        "location": "header",
+        "sentAs": "delete-marker",
+        "withPrefix": true
+      }
+    }
+  },
+  "DeleteObjects": {
+    "httpMethod": "POST",
+    "urlPath": "delete",
+    "data": {
+      "xmlRoot": "Delete",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Quiet": {
+        "location": "xml",
+        "sentAs": "Quiet"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Objects": {
+        "required": true,
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Object",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            }
+          }
+        }
+      }
+    }
+  },
+  "DeleteObjectsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DeleteResult"
+    },
+    "EncodingType": {
+      "location": "xml",
+      "sentAs": "EncodingType"
+    },
+    "parameters": {
+      "Deleteds": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Deleted",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "DeleteMarker": {
+              "sentAs": "DeleteMarker"
+            },
+            "DeleteMarkerVersionId": {
+              "sentAs": "DeleteMarkerVersionId"
+            }
+          }
+        }
+      },
+      "Errors": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Error",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "Code": {
+              "sentAs": "Code"
+            },
+            "Message": {
+              "sentAs": "Message"
+            }
+          }
+        }
+      }
+    }
+  },
+  "InitiateMultipartUpload": {
+    "httpMethod": "POST",
+    "urlPath": "uploads",
+    "parameters": {
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      },
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "expires",
+        "type": "number",
+        "withPrefix": true
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "InitiateMultipartUploadOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "InitiateMultipartUploadResult"
+    },
+    "parameters": {
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "Key": {
+        "location": "xml",
+        "sentAs": "Key"
+      },
+      "UploadId": {
+        "location": "xml",
+        "sentAs": "UploadId"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "ListMultipartUploads": {
+    "httpMethod": "GET",
+    "urlPath": "uploads",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Delimiter": {
+        "location": "urlPath",
+        "sentAs": "delimiter"
+      },
+      "KeyMarker": {
+        "location": "urlPath",
+        "sentAs": "key-marker"
+      },
+      "MaxUploads": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-uploads"
+      },
+      "Prefix": {
+        "location": "urlPath",
+        "sentAs": "prefix"
+      },
+      "UploadIdMarker": {
+        "location": "urlPath",
+        "sentAs": "upload-id-marker"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListMultipartUploadsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListMultipartUploadsResult"
+    },
+    "parameters": {
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "KeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "KeyMarker"
+      },
+      "UploadIdMarker": {
+        "location": "xml",
+        "sentAs": "UploadIdMarker"
+      },
+      "NextKeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "NextKeyMarker"
+      },
+      "Prefix": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Prefix"
+      },
+      "Delimiter": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Delimiter"
+      },
+      "NextUploadIdMarker": {
+        "location": "xml",
+        "sentAs": "NextUploadIdMarker"
+      },
+      "MaxUploads": {
+        "location": "xml",
+        "sentAs": "MaxUploads"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Uploads": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Upload",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "UploadId": {
+              "sentAs": "UploadId"
+            },
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "Initiated": {
+              "sentAs": "Initiated"
+            },
+            "StorageClass": {
+              "sentAs": "StorageClass"
+            },
+            "Owner": owner$1,
+            "Initiator": initiator$1
+          }
+        }
+      },
+      "CommonPrefixes": commonPrefixes$1
+    }
+  },
+  "UploadPart": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "PartNumber": {
+        "required": true,
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "partNumber"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      },
+      "Body": {
+        "location": "body"
+      },
+      "SourceFile": {
+        "type": "srcFile"
+      },
+      "Offset": {
+        "type": "plain"
+      },
+      "PartSize": {
+        "type": "plain"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "UploadPartOutput": {
+    "parameters": {
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "ListParts": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "MaxParts": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-parts"
+      },
+      "PartNumberMarker": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "part-number-marker"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListPartsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListPartsResult"
+    },
+    "parameters": {
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "Key": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Key"
+      },
+      "UploadId": {
+        "location": "xml",
+        "sentAs": "UploadId"
+      },
+      "PartNumberMarker": {
+        "location": "xml",
+        "sentAs": "PartNumberMarker"
+      },
+      "NextPartNumberMarker": {
+        "location": "xml",
+        "sentAs": "NextPartNumberMarker"
+      },
+      "MaxParts": {
+        "location": "xml",
+        "sentAs": "MaxParts"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "StorageClass": {
+        "location": "xml",
+        "sentAs": "StorageClass"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "EncodingType"
+      },
+      "Initiator": initiator$1,
+      "Owner": owner$1,
+      "Parts": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Part",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "PartNumber": {
+              "sentAs": "PartNumber"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            },
+            "Size": {
+              "sentAs": "Size"
+            }
+          }
+        }
+      }
+    }
+  },
+  "CopyPart": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "PartNumber": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "partNumber",
+        "type": "number"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "CopySource": {
+        "required": true,
+        "location": "header",
+        "sentAs": "copy-source",
+        "skipEncoding": true,
+        "withPrefix": true
+      },
+      "CopySourceRange": {
+        "location": "header",
+        "sentAs": "copy-source-range",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "CopySourceSseC": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "CopySourceSseCKey": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "CopyPartOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CopyPartResult"
+    },
+    "parameters": {
+      "LastModified": {
+        "location": "xml",
+        "sentAs": "LastModified"
+      },
+      "ETag": {
+        "location": "xml",
+        "sentAs": "ETag"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "AbortMultipartUpload": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      }
+    }
+  },
+  "CompleteMultipartUpload": {
+    "httpMethod": "POST",
+    "data": {
+      "xmlRoot": "CompleteMultipartUpload"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "Parts": {
+        "required": true,
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Part",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "PartNumber": {
+              "sentAs": "PartNumber"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            }
+          }
+        }
+      },
+      "Callback": {
+        "location": "header",
+        "sentAs": "callback",
+        "withPrefix": true,
+        "type": "callback",
+        "parameters": {
+          "CallbackUrl": {
+            "required": true
+          },
+          "CallbackBody": {
+            "required": true
+          },
+          "CallbackHost": {},
+          "CallbackBodyType": {}
+        }
+      }
+    }
+  },
+  "CompleteMultipartUploadOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CompleteMultipartUploadResult"
+    },
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "Location": {
+        "location": "xml",
+        "sentAs": "Location"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "Key": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Key"
+      },
+      "ETag": {
+        "location": "xml",
+        "sentAs": "ETag"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    },
+    "CallbackResponse": {
+      "location": "body",
+      "sentAs": "CallbackResponseBody"
+    }
+  },
+  "OptionsBucket": {
+    "httpMethod": "OPTIONS",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Origin": {
+        "required": true,
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "AccessControlRequestMethods": {
+        "required": true,
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Method",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AccessControlRequestHeaders": {
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers",
+        "items": {
+          "type": "string"
+        }
+      }
+    }
+  },
+  "OptionsBucketOutput": {
+    "parameters": {
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      }
+    }
+  },
+  "OptionsObject": {
+    "httpMethod": "OPTIONS",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "Origin": {
+        "required": true,
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "AccessControlRequestMethods": {
+        "required": true,
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Method",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AccessControlRequestHeaders": {
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers",
+        "items": {
+          "type": "string"
+        }
+      }
+    }
+  },
+  "OptionsObjectOutput": {
+    "parameters": {
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      }
+    }
+  },
+  "GetBucketEncryption": {
+    "httpMethod": "GET",
+    "urlPath": "encryption",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketEncryptionOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Rule": {
+        "type": "object",
+        "location": "xml",
+        "sentAs": "Rule",
+        "parameters": {
+          "ApplyServerSideEncryptionByDefault": {
+            "type": "object",
+            "sentAs": "ApplyServerSideEncryptionByDefault",
+            "parameters": {
+              "SSEAlgorithm": {
+                "sentAs": "SSEAlgorithm"
+              },
+              "KMSMasterKeyID": {
+                "sentAs": "KMSMasterKeyID"
+              },
+              "ProjectID": {
+                "sentAs": "ProjectID"
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetBucketEncryption": {
+    "httpMethod": "PUT",
+    "urlPath": "encryption",
+    "data": {
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Rule": bucketEncryptionRule$1
+    }
+  },
+  "SetBucketEncryptionOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Rule": bucketEncryptionRule$1
+    }
+  },
+  "DeleteBucketEncryption": {
+    "httpMethod": "DELETE",
+    "urlPath": "encryption",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "DeleteBucketEncryptionOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Rule": bucketEncryptionRule$1
+    }
+  },
+  "GetBucketRequesterPay": {
+    "httpMethod": "GET",
+    "urlPath": "requestPayment",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketRequesterPayOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "RequestPaymentConfiguration"
+    },
+    "parameters": {
+      "Payer": {
+        "location": "xml",
+        "sentAs": "Payer"
+      }
+    }
+  },
+  "SetBucketRequesterPay": {
+    "httpMethod": "PUT",
+    "urlPath": "requestPayment",
+    "data": {
+      "xmlRoot": "RequestPaymentConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Payer": {
+        "location": "xml",
+        "sentAs": "Payer"
+      }
+    }
+  },
+  "SetBucketRequesterPayOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "RequestPaymentConfiguration"
+    },
+    "parameters": {
+      "Payer": {
+        "location": "xml",
+        "sentAs": "Payer"
+      }
+    }
+  },
+  "SetMirrorBackToSource": {
+    "httpMethod": "PUT",
+    "urlPath": "mirrorBackToSource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Rules": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "SetMirrorBackToSourceOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Rules": {
+        "location": "body"
+      }
+    }
+  },
+  "GetMirrorBackToSource": {
+    "httpMethod": "GET",
+    "urlPath": "mirrorBackToSource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetMirrorBackToSourceOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Rules": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteMirrorBackToSource": {
+    "httpMethod": "DELETE",
+    "urlPath": "mirrorBackToSource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketDirectColdAccess": {
+    "httpMethod": "GET",
+    "urlPath": "directcoldaccess",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketDirectColdAccessOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DirectColdAccessConfiguration"
+    },
+    "parameters": {
+      "Status": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "SetBucketDirectColdAccess": {
+    "httpMethod": "PUT",
+    "urlPath": "directcoldaccess",
+    "data": {
+      "xmlRoot": "DirectColdAccessConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Status": {
+        "required": true,
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "SetBucketDirectColdAccessOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DirectColdAccessConfiguration"
+    },
+    "parameters": {
+      "Status": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "DeleteBucketDirectColdAccess": {
+    "httpMethod": "DELETE",
+    "urlPath": "directcoldaccess",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "DeleteBucketDirectColdAccessOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DirectColdAccessConfiguration"
+    },
+    "parameters": {
+      "Status": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "GetBucketCustomDomain": {
+    "httpMethod": "GET",
+    "urlPath": "customdomain",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketCustomDomainOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListBucketCustomDomainsResult"
+    },
+    "parameters": {
+      "Domains": {
+        "location": "xml",
+        "type": "array",
+        "sentAs": "Domains",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "DomainName": {
+              "sentAs": "DomainName"
+            },
+            "Value": {
+              "sentAs": "CreateTime"
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetBucketCustomDomain": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "DomainName": {
+        "location": "urlPath",
+        "sentAs": "customdomain"
+      }
+    }
+  },
+  "DeleteBucketCustomDomain": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "DomainName": {
+        "location": "urlPath",
+        "sentAs": "customdomain"
+      }
+    }
+  },
+  "GetCDNNotifyConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "CDNNotifyConfiguration",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetCDNNotifyConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CDNNotifyConfiguration"
+    },
+    "parameters": {
+      "Domain": {
+        "location": "xml",
+        "type": "array",
+        "sentAs": "Domain",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Name": {
+              "sentAs": "Name"
+            },
+            "Events": {
+              "type": "array",
+              "items": {
+                "type": "adapter"
+              },
+              "sentAs": "Event"
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetCdnNotifyConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "CDNNotifyConfiguration",
+    "data": {
+      "xmlRoot": "CDNNotifyConfiguration",
+      "xmlAllowEmpty": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Domain": CDNNotifyConfiguration$1
+    }
+  },
+  "GetQuota": {
+    "httpMethod": "GET",
+    "urlPath": "quota"
+  },
+  "GetQuotaOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "MaxBucketNumber"
+    },
+    "parameters": {
+      "Size": {
+        "location": "xml",
+        "sentAs": "Number"
+      }
+    }
+  },
+  "GetWorkflowTrigger": {
+    "httpMethod": "GET",
+    "urlPath": "obsworkflowtriggerpolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetWorkflowTriggerOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "rules": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteWorkflowTrigger": {
+    "httpMethod": "DELETE",
+    "urlPath": "obsworkflowtriggerpolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "CreateWorkflowTrigger": {
+    "httpMethod": "PUT",
+    "urlPath": "obsworkflowtriggerpolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Rule": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "RestoreFailedWorkflowExecution": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "required": true,
+        "location": "uri",
+        "sentAs": "execution_name"
+      },
+      "GraphName": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "x-workflow-graph-name"
+      }
+    }
+  },
+  "CreateTemplate": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Template": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "CreateWorkflow": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "required": true,
+        "location": "uri",
+        "sentAs": "graph_name"
+      },
+      "Workflow_create": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-create"
+      },
+      "Workflow": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "DeleteWorkflow": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "graph_name"
+      }
+    }
+  },
+  "UpdateWorkflow": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "graph_name"
+      },
+      "Graph_name": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowList": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "graph_name_prefix"
+      },
+      "XObsLimit": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-limit"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      },
+      "XObsStart": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-start"
+      }
+    }
+  },
+  "GetWorkflowListOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "workflows": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowTemplateList": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "Start": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-start"
+      },
+      "Limit": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-limit"
+      },
+      "X-workflow-prefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetWorkflowTemplateListOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "templates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowInstanceList": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "execution_name_prefix"
+      },
+      "Start": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-start"
+      },
+      "Limit": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-limit"
+      },
+      "Graph_name": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-graph-name"
+      },
+      "State": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-execution-state"
+      },
+      "X-workflow-prefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetWorkflowInstanceListOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "instances": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteTemplate": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "GetActionTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      },
+      "XObsCategory": {
+        "type": "String",
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      }
+    }
+  },
+  "GetActionTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "actions": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowAuthorization": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetWorkflowAuthorizationOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "authorization": {
+        "location": "body"
+      }
+    }
+  },
+  "OpenWorkflowAuthorization": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "CreateOnlineDecom": {
+    "httpMethod": "PUT",
+    "urlPath": "obscompresspolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Decom": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetOnlineDecom": {
+    "httpMethod": "GET",
+    "urlPath": "obscompresspolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetOnlineDecomOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Decom": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteOnlineDecom": {
+    "httpMethod": "DELETE",
+    "urlPath": "obscompresspolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetPublicationTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsCategory": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      },
+      "XObsOtatus": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-status"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetPublicationTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "PublishedTemplates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetPublicationTemplateDetail": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "GetPublicationTemplateDetailOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "PublishTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowAgreements": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "XWorkflowType": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "x-workflow-type"
+      }
+    }
+  },
+  "GetWorkflowAgreementsOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "authorization": {
+        "location": "body"
+      }
+    }
+  },
+  "OpenWorkflowAgreements": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "XWorkflowType": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "x-workflow-type"
+      }
+    }
+  },
+  "CreateMyActionTemplate": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "ActionTemplate": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "CreateMyActionTemplateOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "GetMyActionTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsCategory": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      },
+      "XObsOtatus": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-status"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetMyActionTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetMyactiontemplateDetail": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "GetMyactiontemplateDetailOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "UpdateMyActionTemplate": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "ActionTemplate": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "UpdateMyActionTemplateOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteMyActionTemplate": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "ForbidMyActionTemplate": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "XObsForbid": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-forbid"
+      }
+    }
+  },
+  "UpdatePublicActionTemplate": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "PublicAction": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetOmPublicActionTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsCategory": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      },
+      "XObsOtatus": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-status"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetOmPublicActionTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Templates": {
+        "location": "body"
+      }
+    }
+  },
+  "SetBucketAlias": {
+    "httpMethod": "PUT",
+    "urlPath": "obsbucketalias",
+    "data": {
+      "xmlRoot": "CreateBucketAlias"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "BucketList": {
+        "location": "xml",
+        "type": "object",
+        "sentAs": "BucketList",
+        "parameters": {
+          "Bucket": {
+            "location": "xml",
+            "type": "array",
+            "items": {
+              "parameters": {
+                "sentAs": "Bucket"
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "GetBucketAlias": {
+    "httpMethod": "GET",
+    "urlPath": "obsalias",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketAliasOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "AliasList"
+    },
+    "parameters": {
+      "BucketAlias": {
+        "location": "xml",
+        "type": "object",
+        "sentAs": "BucketAlias",
+        "parameters": {
+          "Alias": {
+            "sentAs": "Alias"
+          },
+          "BucketList": {
+            "sentAs": "Bucket",
+            "location": "xml",
+            "type": "array",
+            "wrapper": "BucketList",
+            "items": {
+              "type": "string"
+            }
+          }
+        }
+      }
+    }
+  },
+  "DeleteBucketAlias": {
+    "httpMethod": "DELETE",
+    "urlPath": "obsbucketalias",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "BindBucketAlias": {
+    "httpMethod": "PUT",
+    "urlPath": "obsalias",
+    "data": {
+      "xmlRoot": "AliasList"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Alias": {
+        "location": "xml",
+        "type": "string",
+        "sentAs": "Alias"
+      }
+    }
+  },
+  "BindBucketAliasOutput": {
+    "data": {
+      "xmlRoot": "AliasList"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Alias": {
+        "location": "xml",
+        "type": "string",
+        "sentAs": "Alias"
+      }
+    }
+  },
+  "UnbindBucketAlias": {
+    "httpMethod": "DELETE",
+    "urlPath": "obsalias",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "ListBucketsAlias": {
+    "httpMethod": "GET",
+    "urlPath": "obsbucketalias"
+  },
+  "ListBucketsAliasOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListBucketAliasResult"
+    },
+    "parameters": {
+      "BucketAliasList": {
+        "location": "xml",
+        "sentAs": "BucketAliasList",
+        "type": "object",
+        "parameters": {
+          "BucketAlias": {
+            "location": "xml",
+            "type": "array",
+            "sentAs": "BucketAlias",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Alias": {
+                  "sentAs": "Alias"
+                },
+                "CreationDate": {
+                  "sentAs": "CreationDate"
+                },
+                "BucketList": {
+                  "location": "xml",
+                  "type": "object",
+                  "sentAs": "BucketList",
+                  "parameters": {
+                    "Bucket": {
+                      "location": "xml",
+                      "type": "array",
+                      "items": {
+                        "parameters": {
+                          "sentAs": "Bucket"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      },
+      "Owner": {
+        "location": "xml",
+        "sentAs": "Owner",
+        "type": "object",
+        "parameters": {
+          "ID": {
+            "sentAs": "ID"
+          }
+        }
+      }
+    }
+  }
+};
+const owner = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "Owner",
+  "parameters": {
+    "ID": {
+      "sentAs": "ID"
+    },
+    "Name": {
+      "sentAs": "DisplayName"
+    }
+  }
+};
+const bucketEncryptionRule = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "Rule",
+  "parameters": {
+    "ApplyServerSideEncryptionByDefault": {
+      "type": "object",
+      "sentAs": "ApplyServerSideEncryptionByDefault",
+      "parameters": {
+        "SSEAlgorithm": {
+          "sentAs": "SSEAlgorithm"
+        },
+        "KMSMasterKeyID": {
+          "sentAs": "KMSMasterKeyID"
+        },
+        "ProjectID": {
+          "sentAs": "ProjectID"
+        }
+      }
+    }
+  }
+};
+const InventoryConfiguration = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "InventoryConfiguration",
+  "parameters": {
+    "Id": {
+      "sentAs": "Id"
+    },
+    "IsEnabled": {
+      "sentAs": "IsEnabled"
+    },
+    "Filter": {
+      "type": "object",
+      "sentAs": "Filter",
+      "parameters": {
+        "Prefix": {
+          "sentAs": "Prefix"
+        }
+      }
+    },
+    "Destination": {
+      "type": "object",
+      "sentAs": "Destination",
+      "parameters": {
+        "Format": {
+          "sentAs": "Format"
+        },
+        "Bucket": {
+          "sentAs": "Bucket"
+        },
+        "Prefix": {
+          "sentAs": "Prefix"
+        },
+        "Encryption": {
+          "type": "object",
+          "sentAs": "Encryption",
+          "parameters": {
+            "SSE-KMS": {
+              "type": "object",
+              "sentAs": "SSE-KMS",
+              "parameters": {
+                "KeyId": {
+                  "sentAs": "KeyId",
+                  "type": "adapter"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "Schedule": {
+      "type": "object",
+      "sentAs": "Schedule",
+      "parameters": {
+        "Frequency": {
+          "sentAs": "Frequency"
+        }
+      }
+    },
+    "IncludedObjectVersions": {
+      "sentAs": "IncludedObjectVersions"
+    },
+    "OptionalFields": {
+      "type": "object",
+      "location": "xml",
+      "sentAs": "OptionalFields",
+      "parameters": {
+        "Field": {
+          "type": "array",
+          "sentAs": "Field",
+          "items": {
+            "type": "string"
+          }
+        }
+      }
+    }
+  }
+};
+const initiator = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "Initiator",
+  "parameters": {
+    "ID": {
+      "sentAs": "ID"
+    },
+    "Name": {
+      "sentAs": "DisplayName"
+    }
+  }
+};
+const BackToSourceRules = {
+  "sentAs": "BackToSourceRule",
+  "required": true,
+  "location": "xml",
+  "type": "array",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "Condition": {
+        "sentAs": "Condition",
+        "type": "object",
+        "parameters": {
+          "ObjectKeyPrefixEquals": {
+            "sentAs": "ObjectKeyPrefixEquals"
+          },
+          "HttpErrorCodeReturnedEquals": {
+            "sentAs": "HttpErrorCodeReturnedEquals"
+          }
+        }
+      },
+      "Redirect": {
+        "sentAs": "Redirect",
+        "type": "object",
+        "parameters": {
+          "HttpRedirectCode": {
+            "sentAs": "HttpRedirectCode"
+          },
+          "SourceEndpoint": {
+            "sentAs": "SourceEndpoint"
+          },
+          "SourceBucketName": {
+            "sentAs": "SourceBucketName"
+          },
+          "ReplaceKeyWith": {
+            "sentAs": "ReplaceKeyWith"
+          },
+          "StaticUri": {
+            "sentAs": "StaticUri"
+          },
+          "ReplaceKeyPrefixWith": {
+            "sentAs": "ReplaceKeyPrefixWith"
+          },
+          "MigrationConfiguration": {
+            "sentAs": "MigrationConfiguration",
+            "type": "object",
+            "parameters": {
+              "Agency": {
+                "sentAs": "Agency"
+              },
+              "LogBucketName": {
+                "sentAs": "LogBucketName"
+              },
+              "PrivateBucketConfiguration": {
+                "sentAs": "PrivateBucketConfiguration",
+                "type": "object",
+                "parameters": {
+                  "SourceStorageProvider": {
+                    "sentAs": "SourceStorageProvider"
+                  },
+                  "SourceBucketAK": {
+                    "sentAs": "SourceBucketAK"
+                  },
+                  "SourceBucketSK": {
+                    "sentAs": "SourceBucketSK"
+                  },
+                  "SourceBucketZone": {
+                    "sentAs": "SourceBucketZone"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+};
+const commonPrefixes = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "CommonPrefixes",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Prefix": {
+        "decode": true,
+        "sentAs": "Prefix"
+      },
+      "MTime": {
+        "sentAs": "MTime"
+      },
+      "InodeNo": {
+        "sentAs": "InodeNo"
+      }
+    }
+  }
+};
+const grants = {
+  "type": "array",
+  "location": "xml",
+  "wrapper": "AccessControlList",
+  "sentAs": "Grant",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Grantee": {
+        "data": {
+          "xsiNamespace": "http://www.w3.org/2001/XMLSchema-instance",
+          "xsiType": "Type"
+        },
+        "type": "object",
+        "sentAs": "Grantee",
+        "parameters": {
+          "Type": {
+            "type": "ignore"
+          },
+          "ID": {
+            "sentAs": "ID",
+            "notAllowEmpty": true
+          },
+          "Name": {
+            "sentAs": "DisplayName"
+          },
+          "URI": {
+            "sentAs": "URI",
+            "type": "adapter",
+            "notAllowEmpty": true
+          }
+        }
+      },
+      "Permission": {
+        "sentAs": "Permission"
+      }
+    }
+  }
+};
+const loggingEnabled = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "LoggingEnabled",
+  "parameters": {
+    "TargetBucket": {
+      "sentAs": "TargetBucket"
+    },
+    "TargetPrefix": {
+      "sentAs": "TargetPrefix"
+    },
+    "TargetGrants": {
+      "type": "array",
+      "wrapper": "TargetGrants",
+      "sentAs": "Grant",
+      "items": {
+        "type": "object",
+        "parameters": {
+          "Grantee": {
+            "data": {
+              "xsiNamespace": "http://www.w3.org/2001/XMLSchema-instance",
+              "xsiType": "Type"
+            },
+            "type": "object",
+            "sentAs": "Grantee",
+            "parameters": {
+              "Type": {
+                "type": "ignore"
+              },
+              "ID": {
+                "sentAs": "ID"
+              },
+              "Name": {
+                "sentAs": "DisplayName"
+              },
+              "URI": {
+                "sentAs": "URI",
+                "type": "adapter"
+              }
+            }
+          },
+          "Permission": {
+            "sentAs": "Permission"
+          }
+        }
+      }
+    }
+  }
+};
+const rules = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "sentAs": "Rule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "Prefix": {
+        "sentAs": "Prefix"
+      },
+      "Status": {
+        "sentAs": "Status"
+      },
+      "Transitions": {
+        "type": "array",
+        "sentAs": "Transition",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "StorageClass": {
+              "sentAs": "StorageClass",
+              "type": "adapter"
+            },
+            "Date": {
+              "sentAs": "Date"
+            },
+            "Days": {
+              "type": "number",
+              "sentAs": "Days"
+            }
+          }
+        }
+      },
+      "Expiration": {
+        "type": "object",
+        "sentAs": "Expiration",
+        "parameters": {
+          "Date": {
+            "sentAs": "Date"
+          },
+          "Days": {
+            "type": "number",
+            "sentAs": "Days"
+          }
+        }
+      },
+      "AbortIncompleteMultipartUpload": {
+        "type": "object",
+        "sentAs": "AbortIncompleteMultipartUpload",
+        "parameters": {
+          "DaysAfterInitiation": {
+            "type": "number",
+            "sentAs": "DaysAfterInitiation"
+          }
+        }
+      },
+      "NoncurrentVersionTransitions": {
+        "type": "array",
+        "sentAs": "NoncurrentVersionTransition",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "StorageClass": {
+              "sentAs": "StorageClass",
+              "type": "adapter"
+            },
+            "NoncurrentDays": {
+              "type": "number",
+              "sentAs": "NoncurrentDays"
+            }
+          }
+        }
+      },
+      "NoncurrentVersionExpiration": {
+        "type": "object",
+        "sentAs": "NoncurrentVersionExpiration",
+        "parameters": {
+          "NoncurrentDays": {
+            "type": "number",
+            "sentAs": "NoncurrentDays"
+          }
+        }
+      }
+    }
+  }
+};
+const redirectAllRequestsTo = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "RedirectAllRequestsTo",
+  "parameters": {
+    "HostName": {
+      "sentAs": "HostName"
+    },
+    "Protocol": {
+      "sentAs": "Protocol"
+    }
+  }
+};
+const routingRules = {
+  "type": "array",
+  "wrapper": "RoutingRules",
+  "location": "xml",
+  "sentAs": "RoutingRule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Condition": {
+        "type": "object",
+        "sentAs": "Condition",
+        "parameters": {
+          "HttpErrorCodeReturnedEquals": {
+            "sentAs": "HttpErrorCodeReturnedEquals"
+          },
+          "KeyPrefixEquals": {
+            "sentAs": "KeyPrefixEquals"
+          }
+        }
+      },
+      "Redirect": {
+        "type": "object",
+        "sentAs": "Redirect",
+        "parameters": {
+          "HostName": {
+            "sentAs": "HostName"
+          },
+          "HttpRedirectCode": {
+            "sentAs": "HttpRedirectCode"
+          },
+          "Protocol": {
+            "sentAs": "Protocol"
+          },
+          "ReplaceKeyPrefixWith": {
+            "sentAs": "ReplaceKeyPrefixWith"
+          },
+          "ReplaceKeyWith": {
+            "sentAs": "ReplaceKeyWith"
+          }
+        }
+      }
+    }
+  }
+};
+const indexDocument = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "IndexDocument",
+  "parameters": {
+    "Suffix": {
+      "sentAs": "Suffix"
+    }
+  }
+};
+const errorDocument = {
+  "type": "object",
+  "location": "xml",
+  "sentAs": "ErrorDocument",
+  "parameters": {
+    "Key": {
+      "sentAs": "Key"
+    }
+  }
+};
+const corsRule = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "sentAs": "CORSRule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "AllowedMethod": {
+        "type": "array",
+        "sentAs": "AllowedMethod",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AllowedOrigin": {
+        "type": "array",
+        "sentAs": "AllowedOrigin",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AllowedHeader": {
+        "type": "array",
+        "sentAs": "AllowedHeader",
+        "items": {
+          "type": "string"
+        }
+      },
+      "MaxAgeSeconds": {
+        "type": "number",
+        "sentAs": "MaxAgeSeconds"
+      },
+      "ExposeHeader": {
+        "type": "array",
+        "sentAs": "ExposeHeader",
+        "items": {
+          "type": "string"
+        }
+      }
+    }
+  }
+};
+const functionGraphConfiguration = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "FunctionGraphConfiguration",
+  "items": {
+    "type": "object",
+    "location": "xml",
+    "parameters": {
+      "ID": {
+        "sentAs": "Id"
+      },
+      "Filter": {
+        "type": "object",
+        "parameters": {
+          "FilterRules": {
+            "wrapper": "S3Key",
+            "type": "array",
+            "sentAs": "FilterRule",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Name": {},
+                "Value": {}
+              }
+            }
+          }
+        }
+      },
+      "FunctionGraph": {},
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        }
+      }
+    }
+  }
+};
+const functionStageConfiguration = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "FunctionStageConfiguration",
+  "items": {
+    "type": "object",
+    "location": "xml",
+    "parameters": {
+      "ID": {
+        "sentAs": "Id"
+      },
+      "Filter": {
+        "type": "object",
+        "parameters": {
+          "FilterRules": {
+            "wrapper": "S3Key",
+            "type": "array",
+            "sentAs": "FilterRule",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Name": {},
+                "Value": {}
+              }
+            }
+          }
+        }
+      },
+      "FunctionStage": {},
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        }
+      }
+    }
+  }
+};
+const topicConfiguration = {
+  "type": "array",
+  "location": "xml",
+  "sentAs": "TopicConfiguration",
+  "items": {
+    "type": "object",
+    "location": "xml",
+    "parameters": {
+      "ID": {
+        "sentAs": "Id"
+      },
+      "Filter": {
+        "type": "object",
+        "parameters": {
+          "FilterRules": {
+            "wrapper": "S3Key",
+            "type": "array",
+            "sentAs": "FilterRule",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Name": {},
+                "Value": {}
+              }
+            }
+          }
+        }
+      },
+      "Topic": {},
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        }
+      }
+    }
+  }
+};
+const tagSet = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "wrapper": "TagSet",
+  "sentAs": "Tag",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Key": {
+        "sentAs": "Key"
+      },
+      "Value": {
+        "sentAs": "Value"
+      }
+    }
+  }
+};
+const replicationRules = {
+  "required": true,
+  "type": "array",
+  "location": "xml",
+  "sentAs": "Rule",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "ID": {
+        "sentAs": "ID"
+      },
+      "Prefix": {
+        "sentAs": "Prefix"
+      },
+      "Status": {
+        "sentAs": "Status"
+      },
+      "Destination": {
+        "type": "object",
+        "sentAs": "Destination",
+        "parameters": {
+          "Bucket": {
+            "sentAs": "Bucket",
+            "type": "adapter"
+          },
+          "StorageClass": {
+            "sentAs": "StorageClass",
+            "type": "adapter"
+          },
+          "DeleteData": {
+            "sentAs": "DeleteData",
+            "type": "string"
+          }
+        }
+      },
+      "HistoricalObjectReplication": {
+        "sentAs": "HistoricalObjectReplication"
+      }
+    }
+  }
+};
+const CDNNotifyConfiguration = {
+  "location": "xml",
+  "sentAs": "Domain",
+  "type": "array",
+  "items": {
+    "type": "object",
+    "parameters": {
+      "Name": {
+        "type": "string",
+        "sentAs": "Name"
+      },
+      "Event": {
+        "type": "array",
+        "items": {
+          "type": "adapter"
+        },
+        "sentAs": "Event"
+      }
+    }
+  }
+};
+const operations = {
+  "HeadBucket": {
+    "httpMethod": "HEAD",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "HeadApiVersion": {
+    "httpMethod": "HEAD",
+    "urlPath": "apiversion",
+    "parameters": {
+      "Bucket": {
+        "location": "uri"
+      }
+    }
+  },
+  "HeadApiVersionOutput": {
+    "parameters": {
+      "ApiVersion": {
+        "location": "header",
+        "sentAs": "x-obs-api"
+      }
+    }
+  },
+  "CreateBucket": {
+    "httpMethod": "PUT",
+    "data": {
+      "xmlRoot": "CreateBucketConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true
+      },
+      "StorageType": {
+        "location": "header",
+        "sentAs": "x-default-storage-class"
+      },
+      "FileInterface": {
+        "location": "header",
+        "sentAs": "fs-file-interface",
+        "withPrefix": true
+      },
+      "Type": {
+        "location": "header",
+        "sentAs": "bucket-type",
+        "withPrefix": true
+      },
+      "MultiAz": {
+        "location": "header",
+        "sentAs": "x-obs-az-redundancy"
+      },
+      "Cluster": {
+        "location": "header",
+        "sentAs": "location-clustergroup-id",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadACP": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWrite": {
+        "location": "header",
+        "sentAs": "grant-write",
+        "withPrefix": true
+      },
+      "GrantWriteACP": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "ClusterType": {
+        "location": "header",
+        "sentAs": "cluster-type",
+        "withPrefix": true
+      },
+      "MultiEnterprise": { "location": "header", "sentAs": "epid", "withPrefix": true },
+      "Location": {
+        "location": "xml",
+        "sentAs": "LocationConstraint"
+      }
+    }
+  },
+  "GetBucketMetadata": {
+    "httpMethod": "HEAD",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      }
+    }
+  },
+  "GetBucketMetadataOutput": {
+    "parameters": {
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "x-default-storage-class"
+      },
+      "ObsVersion": {
+        "location": "header",
+        "sentAs": "x-obs-version"
+      },
+      "Location": {
+        "location": "header",
+        "sentAs": "bucket-region",
+        "withPrefix": true
+      },
+      "FileInterface": {
+        "location": "header",
+        "sentAs": "fs-file-interface",
+        "withPrefix": true
+      },
+      "Type": {
+        "location": "header",
+        "sentAs": "bucket-type",
+        "withPrefix": true
+      },
+      "MultiAz": {
+        "location": "header",
+        "sentAs": "x-obs-az-redundancy"
+      },
+      "MultiEnterprise": {
+        "location": "header",
+        "sentAs": "epid",
+        "withPrefix": true
+      },
+      "ClusterType": {
+        "location": "header",
+        "sentAs": "cluster-type",
+        "withPrefix": true
+      },
+      "Cluster": {
+        "location": "header",
+        "sentAs": "location-clustergroup-id",
+        "withPrefix": true
+      },
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      }
+    }
+  },
+  "DeleteBucket": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "ListBuckets": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Type": {
+        "sentAs": "x-obs-bucket-type",
+        "location": "header"
+      },
+      "Location": {
+        "sentAs": "location",
+        "location": "header",
+        "withPrefix": true
+      }
+    }
+  },
+  "ListBucketsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListAllMyBucketsResult"
+    },
+    "parameters": {
+      Buckets: {
+        location: "xml",
+        sentAs: "Bucket",
+        type: "array",
+        wrapper: "Buckets",
+        items: {
+          type: "object",
+          location: "xml",
+          sentAs: "Bucket",
+          parameters: {
+            Name: {
+              sentAs: "Name"
+            },
+            CreationDate: {
+              sentAs: "CreationDate"
+            },
+            Location: {
+              sentAs: "Location"
+            },
+            ClusterType: {
+              sentAs: "ClusterType"
+            }
+          }
+        }
+      },
+      "Owner": {
+        "type": "object",
+        "location": "xml",
+        "sentAs": "Owner",
+        "parameters": {
+          "ID": {
+            "sentAs": "ID"
+          },
+          "DisplayName": {
+            "sentAs": "DisplayName"
+          }
+        }
+      }
+    }
+  },
+  "ListObjects": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Prefix": {
+        "location": "urlPath",
+        "sentAs": "prefix"
+      },
+      "Marker": {
+        "location": "urlPath",
+        "sentAs": "marker"
+      },
+      "MaxKeys": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-keys"
+      },
+      "Delimiter": {
+        "location": "urlPath",
+        "sentAs": "delimiter"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListObjectsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListBucketResult"
+    },
+    "parameters": {
+      "Location": {
+        "location": "header",
+        "sentAs": "bucket-region",
+        "withPrefix": true
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Name"
+      },
+      "Delimiter": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Delimiter"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "Prefix": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Prefix"
+      },
+      "Marker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Marker"
+      },
+      "NextMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "NextMarker"
+      },
+      "MaxKeys": {
+        "location": "xml",
+        "sentAs": "MaxKeys"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Contents": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Contents",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            },
+            "Size": {
+              "sentAs": "Size"
+            },
+            "Type": {
+              "sentAs": "Type"
+            },
+            "StorageClass": {
+              "sentAs": "StorageClass"
+            },
+            "Owner": owner
+          }
+        }
+      },
+      "CommonPrefixes": commonPrefixes
+    }
+  },
+  "ListVersions": {
+    "httpMethod": "GET",
+    "urlPath": "versions",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Prefix": {
+        "location": "urlPath",
+        "sentAs": "prefix"
+      },
+      "KeyMarker": {
+        "location": "urlPath",
+        "sentAs": "key-marker"
+      },
+      "MaxKeys": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-keys"
+      },
+      "Delimiter": {
+        "location": "urlPath",
+        "sentAs": "delimiter"
+      },
+      "VersionIdMarker": {
+        "location": "urlPath",
+        "sentAs": "version-id-marker"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListVersionsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListVersionsResult"
+    },
+    "parameters": {
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Location": {
+        "location": "header",
+        "sentAs": "bucket-region",
+        "withPrefix": true
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Name"
+      },
+      "Prefix": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Prefix"
+      },
+      "Delimiter": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Delimiter"
+      },
+      "KeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "KeyMarker"
+      },
+      "VersionIdMarker": {
+        "location": "xml",
+        "sentAs": "VersionIdMarker"
+      },
+      "NextKeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "NextKeyMarker"
+      },
+      "NextVersionIdMarker": {
+        "location": "xml",
+        "sentAs": "NextVersionIdMarker"
+      },
+      "MaxKeys": {
+        "location": "xml",
+        "sentAs": "MaxKeys"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "Versions": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Version",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "IsLatest": {
+              "sentAs": "IsLatest"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            },
+            "Size": {
+              "sentAs": "Size"
+            },
+            "Type": {
+              "sentAs": "Type"
+            },
+            "Owner": owner,
+            "StorageClass": {
+              "sentAs": "StorageClass"
+            }
+          }
+        }
+      },
+      "DeleteMarkers": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "DeleteMarker",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "IsLatest": {
+              "sentAs": "IsLatest"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "Owner": owner
+          }
+        }
+      },
+      "CommonPrefixes": commonPrefixes
+    }
+  },
+  "PutBackToSource": {
+    "httpMethod": "PUT",
+    "data": {
+      "xmlRoot": "BackToSourceConfiguration"
+    },
+    "urlPath": "backtosource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "BackToSourceRules": BackToSourceRules,
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      }
+    }
+  },
+  "DeleteBackToSource": {
+    "httpMethod": "DELETE",
+    "urlPath": "backtosource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBackToSource": {
+    "httpMethod": "GET",
+    "urlPath": "backtosource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBackToSourceOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "BackToSourceConfiguration"
+    },
+    "parameters": {
+      "BackToSourceRules": BackToSourceRules
+    }
+  },
+  "GetBucketLocation": {
+    "httpMethod": "GET",
+    "urlPath": "location",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketLocationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CreateBucketConfiguration"
+    },
+    "parameters": {
+      "Location": {
+        "location": "xml",
+        "sentAs": "LocationConstraint"
+      }
+    }
+  },
+  "GetBucketStorageInfo": {
+    "httpMethod": "GET",
+    "urlPath": "storageinfo",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketStorageInfoOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "GetBucketStorageInfoResult"
+    },
+    "parameters": {
+      "Size": {
+        "location": "xml",
+        "sentAs": "Size"
+      },
+      "ObjectNumber": {
+        "location": "xml",
+        "sentAs": "ObjectNumber"
+      }
+    }
+  },
+  "SetBucketQuota": {
+    "httpMethod": "PUT",
+    "urlPath": "quota",
+    "data": {
+      "xmlRoot": "Quota"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "StorageQuota": {
+        "required": true,
+        "location": "xml",
+        "sentAs": "StorageQuota"
+      }
+    }
+  },
+  "GetBucketQuota": {
+    "httpMethod": "GET",
+    "urlPath": "quota",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketQuotaOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "Quota"
+    },
+    "parameters": {
+      "StorageQuota": {
+        "location": "xml",
+        "sentAs": "StorageQuota"
+      }
+    }
+  },
+  "SetBucketAcl": {
+    "httpMethod": "PUT",
+    "urlPath": "acl",
+    "data": {
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Owner": owner,
+      "Grants": grants
+    }
+  },
+  "GetBucketAcl": {
+    "httpMethod": "GET",
+    "urlPath": "acl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketAclOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "Owner": owner,
+      "Grants": grants
+    }
+  },
+  "SetBucketLoggingConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "logging",
+    "data": {
+      "xmlRoot": "BucketLoggingStatus",
+      "xmlAllowEmpty": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "LoggingEnabled": loggingEnabled
+    }
+  },
+  "GetBucketLoggingConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "logging",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketLoggingConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "BucketLoggingStatus"
+    },
+    "parameters": {
+      "LoggingEnabled": loggingEnabled
+    }
+  },
+  "SetBucketPolicy": {
+    "httpMethod": "PUT",
+    "urlPath": "policy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Policy": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "SetSFSAcl": {
+    "httpMethod": "PUT",
+    "urlPath": "sfsacl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Policy": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetSFSAcl": {
+    "httpMethod": "GET",
+    "urlPath": "sfsacl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetSFSAclOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Policy": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteSFSAcl": {
+    "httpMethod": "DELETE",
+    "urlPath": "sfsacl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketPolicy": {
+    "httpMethod": "GET",
+    "urlPath": "policy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketPolicyOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Policy": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteBucketPolicy": {
+    "httpMethod": "DELETE",
+    "urlPath": "policy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketDisPolicy": {
+    "httpMethod": "PUT",
+    "urlPath": "disPolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Rules": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetBucketDisPolicy": {
+    "httpMethod": "GET",
+    "urlPath": "disPolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      }
+    }
+  },
+  "GetBucketDisPolicyOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Rules": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteBucketDisPolicy": {
+    "httpMethod": "DELETE",
+    "urlPath": "disPolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketLifecycleConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "lifecycle",
+    "data": {
+      "xmlRoot": "LifecycleConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Rules": rules
+    }
+  },
+  "GetBucketLifecycleConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "lifecycle",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketLifecycleConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "LifecycleConfiguration"
+    },
+    "parameters": {
+      "Rules": rules
+    }
+  },
+  "DeleteBucketLifecycleConfiguration": {
+    "httpMethod": "DELETE",
+    "urlPath": "lifecycle",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketWebsiteConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "website",
+    "data": {
+      "xmlRoot": "WebsiteConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "RedirectAllRequestsTo": redirectAllRequestsTo,
+      "IndexDocument": indexDocument,
+      "ErrorDocument": errorDocument,
+      "RoutingRules": routingRules
+    }
+  },
+  "GetBucketWebsiteConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "website",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketWebsiteConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "WebsiteConfiguration"
+    },
+    "parameters": {
+      "RedirectAllRequestsTo": redirectAllRequestsTo,
+      "IndexDocument": indexDocument,
+      "ErrorDocument": errorDocument,
+      "RoutingRules": routingRules
+    }
+  },
+  "DeleteBucketWebsiteConfiguration": {
+    "httpMethod": "DELETE",
+    "urlPath": "website",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketVersioningConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "versioning",
+    "data": {
+      "xmlRoot": "VersioningConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionStatus": {
+        "required": true,
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "GetBucketVersioningConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "versioning",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketVersioningConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "VersioningConfiguration"
+    },
+    "parameters": {
+      "VersionStatus": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "SetBucketCors": {
+    "httpMethod": "PUT",
+    "urlPath": "cors",
+    "data": {
+      "xmlRoot": "CORSConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "CorsRules": corsRule
+    }
+  },
+  "GetBucketCors": {
+    "httpMethod": "GET",
+    "urlPath": "cors",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketCorsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CORSConfiguration"
+    },
+    "parameters": {
+      "CorsRules": corsRule
+    }
+  },
+  "DeleteBucketCors": {
+    "httpMethod": "DELETE",
+    "urlPath": "cors",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "SetBucketNotification": {
+    "httpMethod": "PUT",
+    "urlPath": "notification",
+    "data": {
+      "xmlRoot": "NotificationConfiguration",
+      "xmlAllowEmpty": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "TopicConfigurations": topicConfiguration,
+      "FunctionGraphConfigurations": functionGraphConfiguration,
+      "FunctionStageConfigurations": functionStageConfiguration
+    }
+  },
+  "GetBucketNotification": {
+    "httpMethod": "GET",
+    "urlPath": "notification",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketNotificationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "NotificationConfiguration"
+    },
+    "parameters": {
+      "TopicConfigurations": topicConfiguration,
+      "FunctionGraphConfigurations": functionGraphConfiguration,
+      "FunctionStageConfigurations": functionStageConfiguration
+    }
+  },
+  "SetBucketTagging": {
+    "httpMethod": "PUT",
+    "urlPath": "tagging",
+    "data": {
+      "xmlRoot": "Tagging",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Tags": tagSet
+    }
+  },
+  "DeleteBucketTagging": {
+    "httpMethod": "DELETE",
+    "urlPath": "tagging",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketTagging": {
+    "httpMethod": "GET",
+    "urlPath": "tagging",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketTaggingOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "Tagging"
+    },
+    "parameters": {
+      "Tags": tagSet
+    }
+  },
+  "SetBucketStoragePolicy": {
+    "httpMethod": "PUT",
+    "urlPath": "storagePolicy",
+    "data": {
+      "xmlRoot": "StoragePolicy"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "StorageClass": {
+        "required": true,
+        "location": "xml",
+        "type": "adapter",
+        "sentAs": "DefaultStorageClass"
+      }
+    }
+  },
+  "GetBucketStoragePolicy": {
+    "httpMethod": "GET",
+    "urlPath": "storagePolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketStoragePolicyOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "StoragePolicy"
+    },
+    "parameters": {
+      "StorageClass": {
+        "location": "xml",
+        "type": "string",
+        "sentAs": "DefaultStorageClass"
+      }
+    }
+  },
+  "SetBucketReplication": {
+    "httpMethod": "PUT",
+    "urlPath": "replication",
+    "data": {
+      "xmlRoot": "ReplicationConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Agency": {
+        "location": "xml",
+        "sentAs": "Agency"
+      },
+      "Rules": replicationRules
+    }
+  },
+  "GetBucketReplication": {
+    "httpMethod": "GET",
+    "urlPath": "replication",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketReplicationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ReplicationConfiguration"
+    },
+    "parameters": {
+      "Agency": {
+        "location": "xml",
+        "sentAs": "Agency"
+      },
+      "Rules": replicationRules
+    }
+  },
+  "DeleteBucketReplication": {
+    "httpMethod": "DELETE",
+    "urlPath": "replication",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "PutObject": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Offset": {
+        "type": "plain"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length",
+        "type": "plain"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition",
+        "encodingSafe": ' ;/?:@&=+$,"'
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "x-obs-expires",
+        "type": "number"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "Body": {
+        "location": "body"
+      },
+      "SourceFile": {
+        "type": "srcFile"
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "PutObjectOutput": {
+    "parameters": {
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseKmsProjectId": {
+        "location": "header",
+        "sentAs": "sse-kms-key-project-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "AppendObject": {
+    "httpMethod": "POST",
+    "urlPath": "append",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "Position": {
+        "location": "urlPath",
+        "sentAs": "position",
+        "type": "number"
+      },
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      },
+      "Offset": {
+        "type": "plain"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length",
+        "type": "plain"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "x-obs-expires",
+        "type": "number"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "Body": {
+        "location": "body"
+      },
+      "SourceFile": {
+        "type": "srcFile"
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "AppendObjectOutput": {
+    "parameters": {
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "NextPosition": {
+        "location": "header",
+        "sentAs": "x-obs-next-append-position"
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "GetObject": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ResponseCacheControl": {
+        "location": "urlPath",
+        "sentAs": "response-cache-control"
+      },
+      "ResponseContentDisposition": {
+        "location": "urlPath",
+        "sentAs": "response-content-disposition"
+      },
+      "ResponseContentEncoding": {
+        "location": "urlPath",
+        "sentAs": "response-content-encoding"
+      },
+      "ResponseContentLanguage": {
+        "location": "urlPath",
+        "sentAs": "response-content-language"
+      },
+      "ResponseContentType": {
+        "location": "urlPath",
+        "sentAs": "response-content-type"
+      },
+      "ResponseExpires": {
+        "location": "urlPath",
+        "sentAs": "response-expires"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "ImageProcess": {
+        "location": "urlPath",
+        "sentAs": "x-image-process"
+      },
+      "IfMatch": {
+        "location": "header",
+        "sentAs": "If-Match"
+      },
+      "IfModifiedSince": {
+        "location": "header",
+        "sentAs": "If-Modified-Since"
+      },
+      "IfNoneMatch": {
+        "location": "header",
+        "sentAs": "If-None-Match"
+      },
+      "IfUnmodifiedSince": {
+        "location": "header",
+        "sentAs": "If-Unmodified-Since"
+      },
+      "Range": {
+        "location": "header",
+        "sentAs": "Range"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      },
+      "SaveByType": {
+        "type": "dstFile"
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "GetObjectOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Content": {
+        "location": "body"
+      },
+      "Expiration": {
+        "location": "header",
+        "sentAs": "expiration",
+        "withPrefix": true
+      },
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length"
+      },
+      "DeleteMarker": {
+        "location": "header",
+        "sentAs": "delete-marker",
+        "withPrefix": true
+      },
+      "LastModified": {
+        "location": "header",
+        "sentAs": "Last-Modified"
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "Restore": {
+        "location": "header",
+        "sentAs": "restore",
+        "withPrefix": true
+      },
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      },
+      "Metadata": {
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      }
+    }
+  },
+  "CopyObject": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "CopySource": {
+        "required": true,
+        "location": "header",
+        "sentAs": "copy-source",
+        "withPrefix": true,
+        "skipEncoding": true
+      },
+      "CopySourceIfMatch": {
+        "location": "header",
+        "sentAs": "copy-source-if-match",
+        "withPrefix": true
+      },
+      "CopySourceIfModifiedSince": {
+        "location": "header",
+        "sentAs": "copy-source-if-modified-since",
+        "withPrefix": true
+      },
+      "CopySourceIfNoneMatch": {
+        "location": "header",
+        "sentAs": "copy-source-if-none-match",
+        "withPrefix": true
+      },
+      "CopySourceIfUnmodifiedSince": {
+        "location": "header",
+        "sentAs": "copy-source-if-unmodified-since",
+        "withPrefix": true
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "content-encoding"
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "content-language"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "content-disposition"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "cache-control"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "expires"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "MetadataDirective": {
+        "location": "header",
+        "sentAs": "metadata-directive",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "CopySourceSseC": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "CopySourceSseCKey": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "CopyObjectOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CopyObjectResult"
+    },
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "CopySourceVersionId": {
+        "location": "header",
+        "sentAs": "copy-source-version-id",
+        "withPrefix": true
+      },
+      "ETag": {
+        "location": "xml",
+        "sentAs": "ETag"
+      },
+      "LastModified": {
+        "location": "xml",
+        "sentAs": "LastModified"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "RestoreObject": {
+    "httpMethod": "POST",
+    "urlPath": "restore",
+    "data": {
+      "xmlRoot": "RestoreRequest",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "Days": {
+        "location": "xml",
+        "sentAs": "Days"
+      },
+      "Tier": {
+        "wrapper": "GlacierJobParameters",
+        "location": "xml",
+        "sentAs": "Tier"
+      }
+    }
+  },
+  "GetObjectMetadata": {
+    "httpMethod": "HEAD",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "GetObjectMetadataOutput": {
+    "parameters": {
+      "Expiration": {
+        "location": "header",
+        "sentAs": "expiration",
+        "withPrefix": true
+      },
+      "LastModified": {
+        "location": "header",
+        "sentAs": "Last-Modified"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "Restore": {
+        "location": "header",
+        "sentAs": "restore",
+        "withPrefix": true
+      },
+      "ObjectType": {
+        "location": "header",
+        "sentAs": "x-obs-object-type"
+      },
+      "NextPosition": {
+        "location": "header",
+        "sentAs": "x-obs-next-append-position"
+      },
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      },
+      "Metadata": {
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "ReplicationStatus": {
+        "location": "header",
+        "sentAs": "replication-status",
+        "withPrefix": true
+      }
+    }
+  },
+  "SetObjectMetadata": {
+    "httpMethod": "PUT",
+    "urlPath": "metadata",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "Origin": {
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "RequestHeader": {
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition",
+        "encodingSafe": ' ;/?:@&=+$,"'
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "ContentEncoding": {
+        "location": "header",
+        "sentAs": "Content-Encoding"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "Metadata": {
+        "shape": "Sy",
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "MetadataDirective": {
+        "location": "header",
+        "sentAs": "metadata-directive",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      }
+    }
+  },
+  "SetObjectMetadataOutput": {
+    "parameters": {
+      "Expires": {
+        "location": "header",
+        "sentAs": "Expires"
+      },
+      "ContentLength": {
+        "location": "header",
+        "sentAs": "Content-Length"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "ContentLanguage": {
+        "location": "header",
+        "sentAs": "Content-Language"
+      },
+      "CacheControl": {
+        "location": "header",
+        "sentAs": "Cache-Control"
+      },
+      "ContentDisposition": {
+        "location": "header",
+        "sentAs": "Content-Disposition"
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "location": "header",
+        "type": "object",
+        "sentAs": "meta-",
+        "withPrefix": true
+      }
+    }
+  },
+  "SetObjectAcl": {
+    "httpMethod": "PUT",
+    "urlPath": "acl",
+    "data": {
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Owner": owner,
+      "Grants": grants
+    }
+  },
+  "SetObjectAclOutput": {
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      }
+    }
+  },
+  "GetObjectAcl": {
+    "httpMethod": "GET",
+    "urlPath": "acl",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      }
+    }
+  },
+  "GetObjectAclOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "AccessControlPolicy"
+    },
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "Owner": owner,
+      "Grants": grants
+    }
+  },
+  "DeleteObject": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "VersionId": {
+        "location": "urlPath",
+        "sentAs": "versionId"
+      }
+    }
+  },
+  "DeleteObjectOutput": {
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "DeleteMarker": {
+        "location": "header",
+        "sentAs": "delete-marker",
+        "withPrefix": true
+      }
+    }
+  },
+  "DeleteObjects": {
+    "httpMethod": "POST",
+    "urlPath": "delete",
+    "data": {
+      "xmlRoot": "Delete",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Quiet": {
+        "location": "xml",
+        "sentAs": "Quiet"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Objects": {
+        "required": true,
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Object",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            }
+          }
+        }
+      }
+    }
+  },
+  "DeleteObjectsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DeleteResult"
+    },
+    "parameters": {
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Deleteds": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Deleted",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "DeleteMarker": {
+              "sentAs": "DeleteMarker"
+            },
+            "DeleteMarkerVersionId": {
+              "sentAs": "DeleteMarkerVersionId"
+            }
+          }
+        }
+      },
+      "Errors": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Error",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "VersionId": {
+              "sentAs": "VersionId"
+            },
+            "Code": {
+              "sentAs": "Code"
+            },
+            "Message": {
+              "sentAs": "Message"
+            }
+          }
+        }
+      }
+    }
+  },
+  "InitiateMultipartUpload": {
+    "httpMethod": "POST",
+    "urlPath": "uploads",
+    "parameters": {
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      },
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "ACL": {
+        "location": "header",
+        "sentAs": "acl",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "GrantRead": {
+        "location": "header",
+        "sentAs": "grant-read",
+        "withPrefix": true
+      },
+      "GrantReadAcp": {
+        "location": "header",
+        "sentAs": "grant-read-acp",
+        "withPrefix": true
+      },
+      "GrantWriteAcp": {
+        "location": "header",
+        "sentAs": "grant-write-acp",
+        "withPrefix": true
+      },
+      "GrantFullControl": {
+        "location": "header",
+        "sentAs": "grant-full-control",
+        "withPrefix": true
+      },
+      "StorageClass": {
+        "location": "header",
+        "sentAs": "storage-class",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "Metadata": {
+        "type": "object",
+        "location": "header",
+        "sentAs": "meta-",
+        "withPrefix": true
+      },
+      "WebsiteRedirectLocation": {
+        "location": "header",
+        "sentAs": "website-redirect-location",
+        "withPrefix": true
+      },
+      "Expires": {
+        "location": "header",
+        "sentAs": "x-obs-expires",
+        "type": "number"
+      },
+      "ContentType": {
+        "location": "header",
+        "sentAs": "Content-Type"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true,
+        "type": "adapter"
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "InitiateMultipartUploadOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "InitiateMultipartUploadResult"
+    },
+    "parameters": {
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "Key": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Key"
+      },
+      "UploadId": {
+        "location": "xml",
+        "sentAs": "UploadId"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "ListMultipartUploads": {
+    "httpMethod": "GET",
+    "urlPath": "uploads",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Delimiter": {
+        "location": "urlPath",
+        "sentAs": "delimiter"
+      },
+      "KeyMarker": {
+        "location": "urlPath",
+        "sentAs": "key-marker"
+      },
+      "MaxUploads": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-uploads"
+      },
+      "Prefix": {
+        "location": "urlPath",
+        "sentAs": "prefix"
+      },
+      "UploadIdMarker": {
+        "location": "urlPath",
+        "sentAs": "upload-id-marker"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListMultipartUploadsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListMultipartUploadsResult"
+    },
+    "parameters": {
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "KeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "KeyMarker"
+      },
+      "UploadIdMarker": {
+        "location": "xml",
+        "sentAs": "UploadIdMarker"
+      },
+      "NextKeyMarker": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "NextKeyMarker"
+      },
+      "Prefix": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Prefix"
+      },
+      "Delimiter": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Delimiter"
+      },
+      "NextUploadIdMarker": {
+        "location": "xml",
+        "sentAs": "NextUploadIdMarker"
+      },
+      "MaxUploads": {
+        "location": "xml",
+        "sentAs": "MaxUploads"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Uploads": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Upload",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "UploadId": {
+              "sentAs": "UploadId"
+            },
+            "Key": {
+              "decode": true,
+              "sentAs": "Key"
+            },
+            "Initiated": {
+              "sentAs": "Initiated"
+            },
+            "StorageClass": {
+              "sentAs": "StorageClass"
+            },
+            "Owner": owner,
+            "Initiator": initiator
+          }
+        }
+      },
+      "CommonPrefixes": commonPrefixes
+    }
+  },
+  "UploadPart": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "PartNumber": {
+        "required": true,
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "partNumber"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "ContentMD5": {
+        "location": "header",
+        "sentAs": "Content-MD5"
+      },
+      "Body": {
+        "location": "body"
+      },
+      "SourceFile": {
+        "type": "srcFile"
+      },
+      "Offset": {
+        "type": "plain"
+      },
+      "PartSize": {
+        "type": "plain"
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "ProgressCallback": {
+        "type": "plain"
+      }
+    }
+  },
+  "UploadPartOutput": {
+    "parameters": {
+      "ETag": {
+        "location": "header",
+        "sentAs": "etag"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "ListParts": {
+    "httpMethod": "GET",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "MaxParts": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "max-parts"
+      },
+      "PartNumberMarker": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "part-number-marker"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      }
+    }
+  },
+  "ListPartsOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListPartsResult"
+    },
+    "parameters": {
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "Key": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Key"
+      },
+      "UploadId": {
+        "location": "xml",
+        "sentAs": "UploadId"
+      },
+      "PartNumberMarker": {
+        "location": "xml",
+        "sentAs": "PartNumberMarker"
+      },
+      "NextPartNumberMarker": {
+        "location": "xml",
+        "sentAs": "NextPartNumberMarker"
+      },
+      "MaxParts": {
+        "location": "xml",
+        "sentAs": "MaxParts"
+      },
+      "IsTruncated": {
+        "location": "xml",
+        "sentAs": "IsTruncated"
+      },
+      "StorageClass": {
+        "location": "xml",
+        "sentAs": "StorageClass"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "EncodingType"
+      },
+      "Initiator": initiator,
+      "Owner": owner,
+      "Parts": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Part",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "PartNumber": {
+              "sentAs": "PartNumber"
+            },
+            "LastModified": {
+              "sentAs": "LastModified"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            },
+            "Size": {
+              "sentAs": "Size"
+            }
+          }
+        }
+      }
+    }
+  },
+  "CopyPart": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "PartNumber": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "partNumber",
+        "type": "number"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "CopySource": {
+        "required": true,
+        "location": "header",
+        "sentAs": "copy-source",
+        "skipEncoding": true,
+        "withPrefix": true
+      },
+      "CopySourceRange": {
+        "location": "header",
+        "sentAs": "copy-source-range",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      },
+      "CopySourceSseC": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "CopySourceSseCKey": {
+        "location": "header",
+        "sentAs": "copy-source-server-side-encryption-customer-key",
+        "type": "password",
+        "withPrefix": true
+      }
+    }
+  },
+  "CopyPartOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CopyPartResult"
+    },
+    "parameters": {
+      "LastModified": {
+        "location": "xml",
+        "sentAs": "LastModified"
+      },
+      "ETag": {
+        "location": "xml",
+        "sentAs": "ETag"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    }
+  },
+  "AbortMultipartUpload": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      }
+    }
+  },
+  "CompleteMultipartUpload": {
+    "httpMethod": "POST",
+    "data": {
+      "xmlRoot": "CompleteMultipartUpload"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "UploadId": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "uploadId"
+      },
+      "EncodingType": {
+        "location": "urlPath",
+        "sentAs": "encoding-type"
+      },
+      "Parts": {
+        "required": true,
+        "type": "array",
+        "location": "xml",
+        "sentAs": "Part",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "PartNumber": {
+              "sentAs": "PartNumber"
+            },
+            "ETag": {
+              "sentAs": "ETag"
+            }
+          }
+        }
+      },
+      "Callback": {
+        "location": "header",
+        "sentAs": "callback",
+        "withPrefix": true,
+        "type": "callback",
+        "parameters": {
+          "CallbackUrl": {
+            "required": true
+          },
+          "CallbackBody": {
+            "required": true
+          },
+          "CallbackHost": {},
+          "CallbackBodyType": {}
+        }
+      }
+    }
+  },
+  "CompleteMultipartUploadOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CompleteMultipartUploadResult"
+    },
+    "parameters": {
+      "VersionId": {
+        "location": "header",
+        "sentAs": "version-id",
+        "withPrefix": true
+      },
+      "Location": {
+        "location": "xml",
+        "sentAs": "Location"
+      },
+      "EncodingType": {
+        "location": "xml",
+        "sentAs": "EncodingType"
+      },
+      "Bucket": {
+        "location": "xml",
+        "sentAs": "Bucket"
+      },
+      "Key": {
+        "decode": true,
+        "location": "xml",
+        "sentAs": "Key"
+      },
+      "ETag": {
+        "location": "xml",
+        "sentAs": "ETag"
+      },
+      "SseKms": {
+        "location": "header",
+        "sentAs": "server-side-encryption",
+        "withPrefix": true
+      },
+      "SseKmsKey": {
+        "location": "header",
+        "sentAs": "server-side-encryption-aws-kms-key-id",
+        "withPrefix": true
+      },
+      "SseC": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-algorithm",
+        "withPrefix": true
+      },
+      "SseCKeyMd5": {
+        "location": "header",
+        "sentAs": "server-side-encryption-customer-key-MD5",
+        "withPrefix": true
+      }
+    },
+    "CallbackResponse": {
+      "location": "body",
+      "sentAs": "CallbackResponseBody"
+    }
+  },
+  "GetBucketInventory": {
+    "httpMethod": "GET",
+    "urlPath": "inventory",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketInventoryOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListInventoryConfiguration"
+    },
+    "parameters": {
+      "Rules": {
+        "type": "array",
+        "location": "xml",
+        "sentAs": "InventoryConfiguration",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Id": {
+              "sentAs": "Id"
+            },
+            "IsEnabled": {
+              "sentAs": "IsEnabled"
+            },
+            "Filter": {
+              "type": "object",
+              "sentAs": "Filter",
+              "parameters": {
+                "Prefix": {
+                  "sentAs": "Prefix"
+                }
+              }
+            },
+            "Destination": {
+              "type": "object",
+              "sentAs": "Destination",
+              "parameters": {
+                "Format": {
+                  "sentAs": "Format"
+                },
+                "Bucket": {
+                  "sentAs": "Bucket"
+                },
+                "Prefix": {
+                  "sentAs": "Prefix"
+                }
+              }
+            },
+            "Schedule": {
+              "type": "object",
+              "sentAs": "Schedule",
+              "parameters": {
+                "Frequency": {
+                  "sentAs": "Frequency"
+                }
+              }
+            },
+            "IncludedObjectVersions": {
+              "sentAs": "IncludedObjectVersions"
+            },
+            "OptionalFields": {
+              "type": "object",
+              "location": "xml",
+              "sentAs": "OptionalFields",
+              "parameters": {
+                "Field": {
+                  "type": "array",
+                  "sentAs": "Field",
+                  "items": {
+                    "type": "string"
+                  }
+                }
+              }
+            },
+            "LastExportTime": {
+              "sentAs": "LastExportTime"
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetBucketInventory": {
+    "httpMethod": "PUT",
+    "urlPath": "inventory",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Id": {
+        "location": "urlPath",
+        "sentAs": "id"
+      },
+      "InventoryConfiguration": InventoryConfiguration
+    }
+  },
+  "SetBucketInventoryOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "InventoryConfiguration"
+    },
+    "parameters": {
+      "InventoryConfiguration": InventoryConfiguration
+    }
+  },
+  "DeleteInventory": {
+    "httpMethod": "DELETE",
+    "urlPath": "inventory",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Id": {
+        "location": "urlPath",
+        "sentAs": "id"
+      }
+    }
+  },
+  "DeleteInventoryOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "InventoryConfiguration"
+    },
+    "parameters": {
+      "InventoryConfiguration": InventoryConfiguration
+    }
+  },
+  "GetBucketEncryption": {
+    "httpMethod": "GET",
+    "urlPath": "encryption",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketEncryptionOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Rule": {
+        "type": "object",
+        "location": "xml",
+        "sentAs": "Rule",
+        "parameters": {
+          "ApplyServerSideEncryptionByDefault": {
+            "type": "object",
+            "sentAs": "ApplyServerSideEncryptionByDefault",
+            "parameters": {
+              "SSEAlgorithm": {
+                "sentAs": "SSEAlgorithm"
+              },
+              "KMSMasterKeyID": {
+                "sentAs": "KMSMasterKeyID"
+              },
+              "ProjectID": {
+                "sentAs": "ProjectID"
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetBucketEncryption": {
+    "httpMethod": "PUT",
+    "urlPath": "encryption",
+    "data": {
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Rule": bucketEncryptionRule
+    }
+  },
+  "SetBucketEncryptionOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Rule": bucketEncryptionRule
+    }
+  },
+  "DeleteBucketEncryption": {
+    "httpMethod": "DELETE",
+    "urlPath": "encryption",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "DeleteBucketEncryptionOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ServerSideEncryptionConfiguration"
+    },
+    "parameters": {
+      "Rule": bucketEncryptionRule
+    }
+  },
+  "GetBucketRequesterPay": {
+    "httpMethod": "GET",
+    "urlPath": "requestPayment",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketRequesterPayOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "RequestPaymentConfiguration"
+    },
+    "parameters": {
+      "Payer": {
+        "location": "xml",
+        "sentAs": "Payer"
+      }
+    }
+  },
+  "SetBucketRequesterPay": {
+    "httpMethod": "PUT",
+    "urlPath": "requestPayment",
+    "data": {
+      "xmlRoot": "RequestPaymentConfiguration"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Payer": {
+        "location": "xml",
+        "sentAs": "Payer"
+      }
+    }
+  },
+  "SetBucketRequesterPayOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "RequestPaymentConfiguration"
+    },
+    "parameters": {
+      "Payer": {
+        "location": "xml",
+        "sentAs": "Payer"
+      }
+    }
+  },
+  "OptionsBucket": {
+    "httpMethod": "OPTIONS",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Origin": {
+        "required": true,
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "AccessControlRequestMethods": {
+        "required": true,
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Method",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AccessControlRequestHeaders": {
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers",
+        "items": {
+          "type": "string"
+        }
+      }
+    }
+  },
+  "OptionsBucketOutput": {
+    "parameters": {
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      }
+    }
+  },
+  "OptionsObject": {
+    "httpMethod": "OPTIONS",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Key": {
+        "required": true,
+        "location": "uri"
+      },
+      "Origin": {
+        "required": true,
+        "location": "header",
+        "sentAs": "Origin"
+      },
+      "AccessControlRequestMethods": {
+        "required": true,
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Method",
+        "items": {
+          "type": "string"
+        }
+      },
+      "AccessControlRequestHeaders": {
+        "type": "array",
+        "location": "header",
+        "sentAs": "Access-Control-Request-Headers",
+        "items": {
+          "type": "string"
+        }
+      }
+    }
+  },
+  "OptionsObjectOutput": {
+    "parameters": {
+      "AllowOrigin": {
+        "location": "header",
+        "sentAs": "access-control-allow-origin"
+      },
+      "AllowHeader": {
+        "location": "header",
+        "sentAs": "access-control-allow-headers"
+      },
+      "AllowMethod": {
+        "location": "header",
+        "sentAs": "access-control-allow-methods"
+      },
+      "ExposeHeader": {
+        "location": "header",
+        "sentAs": "access-control-expose-headers"
+      },
+      "MaxAgeSeconds": {
+        "location": "header",
+        "sentAs": "access-control-max-age"
+      }
+    }
+  },
+  "SetMirrorBackToSource": {
+    "httpMethod": "PUT",
+    "urlPath": "mirrorBackToSource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Rules": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "SetMirrorBackToSourceOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Rules": {
+        "location": "body"
+      }
+    }
+  },
+  "GetMirrorBackToSource": {
+    "httpMethod": "GET",
+    "urlPath": "mirrorBackToSource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetMirrorBackToSourceOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Rules": {
+        "location": "body"
+      }
+    }
+  },
+  "deleteMirrorBackToSource": {
+    "httpMethod": "DELETE",
+    "urlPath": "mirrorBackToSource",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketDirectColdAccess": {
+    "httpMethod": "GET",
+    "urlPath": "directcoldaccess",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketDirectColdAccessOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DirectColdAccessConfiguration"
+    },
+    "parameters": {
+      "Status": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "SetBucketDirectColdAccess": {
+    "httpMethod": "PUT",
+    "urlPath": "directcoldaccess",
+    "data": {
+      "xmlRoot": "DirectColdAccessConfiguration",
+      "md5": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Status": {
+        "required": true,
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "SetBucketDirectColdAccessOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DirectColdAccessConfiguration"
+    },
+    "parameters": {
+      "Status": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "DeleteBucketDirectColdAccess": {
+    "httpMethod": "DELETE",
+    "urlPath": "directcoldaccess",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "DeleteBucketDirectColdAccessOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "DirectColdAccessConfiguration"
+    },
+    "parameters": {
+      "Status": {
+        "location": "xml",
+        "sentAs": "Status"
+      }
+    }
+  },
+  "GetBucketCustomDomain": {
+    "httpMethod": "GET",
+    "urlPath": "customdomain",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketCustomDomainOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListBucketCustomDomainsResult"
+    },
+    "parameters": {
+      "Domains": {
+        "location": "xml",
+        "type": "array",
+        "sentAs": "Domains",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "DomainName": {
+              "sentAs": "DomainName"
+            },
+            "Value": {
+              "sentAs": "CreateTime"
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetBucketCustomDomain": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "DomainName": {
+        "location": "urlPath",
+        "sentAs": "customdomain"
+      }
+    }
+  },
+  "DeleteBucketCustomDomain": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "DomainName": {
+        "location": "urlPath",
+        "sentAs": "customdomain"
+      }
+    }
+  },
+  "GetCDNNotifyConfiguration": {
+    "httpMethod": "GET",
+    "urlPath": "CDNNotifyConfiguration",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetCDNNotifyConfigurationOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "CDNNotifyConfiguration"
+    },
+    "parameters": {
+      "Domain": {
+        "location": "xml",
+        "type": "array",
+        "sentAs": "Domain",
+        "items": {
+          "type": "object",
+          "parameters": {
+            "Name": {
+              "sentAs": "Name"
+            },
+            "Events": {
+              "type": "array",
+              "items": {
+                "type": "adapter"
+              },
+              "sentAs": "Event"
+            }
+          }
+        }
+      }
+    }
+  },
+  "SetCdnNotifyConfiguration": {
+    "httpMethod": "PUT",
+    "urlPath": "CDNNotifyConfiguration",
+    "data": {
+      "xmlRoot": "CDNNotifyConfiguration",
+      "xmlAllowEmpty": true
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Domain": CDNNotifyConfiguration
+    }
+  },
+  "GetQuota": {
+    "httpMethod": "GET",
+    "urlPath": "quota"
+  },
+  "GetQuotaOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "MaxBucketNumber"
+    },
+    "parameters": {
+      "Size": {
+        "location": "xml",
+        "sentAs": "Number"
+      }
+    }
+  },
+  "GetWorkflowTrigger": {
+    "httpMethod": "GET",
+    "urlPath": "triggerpolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetWorkflowTriggerOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "rules": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteWorkflowTrigger": {
+    "httpMethod": "DELETE",
+    "urlPath": "triggerpolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "CreateWorkflowTrigger": {
+    "httpMethod": "PUT",
+    "urlPath": "triggerpolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Rule": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "RestoreFailedWorkflowExecution": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "required": true,
+        "location": "uri",
+        "sentAs": "execution_name"
+      },
+      "GraphName": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "x-workflow-graph-name"
+      }
+    }
+  },
+  "CreateTemplate": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Template": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "CreateWorkflow": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "required": true,
+        "location": "uri",
+        "sentAs": "graph_name"
+      },
+      "Workflow_create": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-create"
+      },
+      "Workflow": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "DeleteWorkflow": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "graph_name"
+      }
+    }
+  },
+  "UpdateWorkflow": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "graph_name"
+      },
+      "Graph_name": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowList": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "graph_name_prefix"
+      },
+      "XObsLimit": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-limit"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      },
+      "XObsStart": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-start"
+      }
+    }
+  },
+  "GetWorkflowListOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "workflows": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowTemplateList": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "Start": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-start"
+      },
+      "Limit": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-limit"
+      },
+      "X-workflow-prefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetWorkflowTemplateListOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "templates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowInstanceList": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "execution_name_prefix"
+      },
+      "Start": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-start"
+      },
+      "Limit": {
+        "type": "number",
+        "location": "urlPath",
+        "sentAs": "x-workflow-limit"
+      },
+      "Graph_name": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-graph-name"
+      },
+      "State": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-execution-state"
+      },
+      "X-workflow-prefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetWorkflowInstanceListOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "instances": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteTemplate": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "GetActionTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "Other_parameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      },
+      "XObsCategory": {
+        "type": "String",
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      }
+    }
+  },
+  "GetActionTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "templates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowAuthorization": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "GetWorkflowAuthorizationOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "authorization": {
+        "location": "body"
+      }
+    }
+  },
+  "OpenWorkflowAuthorization": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      }
+    }
+  },
+  "CreateOnlineDecom": {
+    "httpMethod": "PUT",
+    "urlPath": "obscompresspolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Decom": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetOnlineDecom": {
+    "httpMethod": "GET",
+    "urlPath": "obscompresspolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetOnlineDecomOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Decom": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteOnlineDecom": {
+    "httpMethod": "DELETE",
+    "urlPath": "obscompresspolicy",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetPublicationTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsCategory": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      },
+      "XObsOtatus": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-status"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetPublicationTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "PublishedTemplates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetPublicationTemplateDetail": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "GetPublicationTemplateDetailOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "PublishTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "GetWorkflowAgreements": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "XWorkflowType": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "x-workflow-type"
+      }
+    }
+  },
+  "GetWorkflowAgreementsOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "authorization": {
+        "location": "body"
+      }
+    }
+  },
+  "OpenWorkflowAgreements": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "XWorkflowType": {
+        "required": true,
+        "location": "urlPath",
+        "sentAs": "x-workflow-type"
+      }
+    }
+  },
+  "CreateMyActionTemplate": {
+    "httpMethod": "POST",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "ActionTemplate": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "CreateMyActionTemplateOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "GetMyActionTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsCategory": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      },
+      "XObsOtatus": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-status"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetMyActionTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplates": {
+        "location": "body"
+      }
+    }
+  },
+  "GetMyactiontemplateDetail": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "GetMyactiontemplateDetailOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "UpdateMyActionTemplate": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "ActionTemplate": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "UpdateMyActionTemplateOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "ActionTemplate": {
+        "location": "body"
+      }
+    }
+  },
+  "DeleteMyActionTemplate": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      }
+    }
+  },
+  "ForbidMyActionTemplate": {
+    "httpMethod": "DELETE",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "XObsForbid": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-forbid"
+      }
+    }
+  },
+  "UpdatePublicActionTemplate": {
+    "httpMethod": "PUT",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name"
+      },
+      "PublicAction": {
+        "required": true,
+        "location": "body"
+      }
+    }
+  },
+  "GetOmPublicActionTemplates": {
+    "httpMethod": "GET",
+    "parameters": {
+      "ApiPath": {
+        "location": "uri"
+      },
+      "OtherParameter": {
+        "location": "uri",
+        "sentAs": "template_name_prefix"
+      },
+      "XObsCategory": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-category"
+      },
+      "XObsOtatus": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-status"
+      },
+      "XObsPrefix": {
+        "location": "urlPath",
+        "sentAs": "x-workflow-prefix"
+      }
+    }
+  },
+  "GetOmPublicActionTemplatesOutput": {
+    "data": {
+      "type": "body"
+    },
+    "parameters": {
+      "Templates": {
+        "location": "body"
+      }
+    }
+  },
+  "SetBucketAlias": {
+    "httpMethod": "PUT",
+    "urlPath": "obsbucketalias",
+    "data": {
+      "xmlRoot": "CreateBucketAlias"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "BucketList": {
+        "location": "xml",
+        "type": "object",
+        "sentAs": "BucketList",
+        "parameters": {
+          "Bucket": {
+            "location": "xml",
+            "type": "array",
+            "items": {
+              "parameters": {
+                "sentAs": "Bucket"
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "GetBucketAlias": {
+    "httpMethod": "GET",
+    "urlPath": "obsalias",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "GetBucketAliasOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "AliasList"
+    },
+    "parameters": {
+      "BucketAlias": {
+        "location": "xml",
+        "type": "object",
+        "sentAs": "BucketAlias",
+        "parameters": {
+          "Alias": {
+            "sentAs": "Alias"
+          },
+          "BucketList": {
+            "sentAs": "Bucket",
+            "location": "xml",
+            "type": "array",
+            "wrapper": "BucketList",
+            "items": {
+              "type": "string"
+            }
+          }
+        }
+      }
+    }
+  },
+  "DeleteBucketAlias": {
+    "httpMethod": "DELETE",
+    "urlPath": "obsbucketalias",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "BindBucketAlias": {
+    "httpMethod": "PUT",
+    "urlPath": "obsalias",
+    "data": {
+      "xmlRoot": "AliasList"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Alias": {
+        "location": "xml",
+        "type": "string",
+        "sentAs": "Alias"
+      }
+    }
+  },
+  "BindBucketAliasOutput": {
+    "data": {
+      "xmlRoot": "AliasList"
+    },
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      },
+      "Alias": {
+        "location": "xml",
+        "type": "string",
+        "sentAs": "Alias"
+      }
+    }
+  },
+  "UnbindBucketAlias": {
+    "httpMethod": "DELETE",
+    "urlPath": "obsalias",
+    "parameters": {
+      "Bucket": {
+        "required": true,
+        "location": "uri"
+      }
+    }
+  },
+  "ListBucketsAlias": {
+    "httpMethod": "GET",
+    "urlPath": "obsbucketalias"
+  },
+  "ListBucketsAliasOutput": {
+    "data": {
+      "type": "xml",
+      "xmlRoot": "ListBucketAliasResult"
+    },
+    "parameters": {
+      "BucketAliasList": {
+        "location": "xml",
+        "sentAs": "BucketAliasList",
+        "type": "object",
+        "parameters": {
+          "BucketAlias": {
+            "location": "xml",
+            "type": "array",
+            "sentAs": "BucketAlias",
+            "items": {
+              "type": "object",
+              "parameters": {
+                "Alias": {
+                  "sentAs": "Alias"
+                },
+                "CreationDate": {
+                  "sentAs": "CreationDate"
+                },
+                "BucketList": {
+                  "location": "xml",
+                  "type": "object",
+                  "sentAs": "BucketList",
+                  "parameters": {
+                    "Bucket": {
+                      "location": "xml",
+                      "type": "array",
+                      "items": {
+                        "parameters": {
+                          "sentAs": "Bucket"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      },
+      "Owner": {
+        "location": "xml",
+        "sentAs": "Owner",
+        "type": "object",
+        "parameters": {
+          "ID": {
+            "sentAs": "ID"
+          }
+        }
+      }
+    }
+  }
+};
+const crypto = {
+  createHmac: function(algorithm, key2) {
+    let algorithmKey;
+    if (algorithm === "sha1") {
+      algorithmKey = "SHA-1";
+    } else if (algorithm === "sha512") {
+      algorithmKey = "SHA-512";
+    } else {
+      algorithmKey = "SHA-256";
+    }
+    let shaObj = new rt$1(algorithmKey, "TEXT");
+    shaObj.setHMACKey(key2, key2 instanceof ArrayBuffer ? "ARRAYBUFFER" : "TEXT");
+    return {
+      update: function(message) {
+        shaObj.update(message);
+        return this;
+      },
+      digest: function(type2) {
+        if (type2 === "hex") {
+          return shaObj.getHMAC("HEX");
+        }
+        if (type2 === "base64") {
+          return shaObj.getHMAC("B64");
+        }
+        return shaObj.getHMAC("ARRAYBUFFER");
+      }
+    };
+  },
+  createHash: function(algorithm) {
+    if (algorithm === "md5") {
+      return {
+        update: function(message) {
+          if (!this.message) {
+            this.message = message;
+          } else {
+            this.message += message;
+          }
+          return this;
+        },
+        digest: function(type2) {
+          if (type2 === "hex") {
+            return md5(this.message);
+          }
+          if (type2 === "base64") {
+            let encodeFunc = window.btoa ? window.btoa : gBase64.encode;
+            return encodeFunc(md5(this.message, false, true));
+          }
+          if (type2 === "rawbase64") {
+            let encodeFunc = window.btoa ? window.btoa : gBase64.encode;
+            return encodeFunc(md5(this.message, false, true));
+          }
+          return md5(this.message, false, true);
+        }
+      };
+    }
+    let algorithmKey;
+    if (algorithm === "sha1") {
+      algorithmKey = "SHA-1";
+    } else if (algorithm === "sha512") {
+      algorithmKey = "SHA-512";
+    } else {
+      algorithmKey = "SHA-256";
+    }
+    let shaObj = new rt$1(algorithmKey, "TEXT");
+    return {
+      update: function(message) {
+        shaObj.update(message);
+        return this;
+      },
+      digest: function(type2) {
+        if (type2 === "hex") {
+          return shaObj.getHash("HEX");
+        }
+        if (type2 === "base64") {
+          return shaObj.getHash("B64");
+        }
+        return shaObj.getHash("ARRAYBUFFER");
+      }
+    };
+  }
+};
+const urlLib = {
+  parse: function(url) {
+    let uri = URI.parse(url);
+    return {
+      hostname: uri.hostname,
+      port: uri.port,
+      host: uri.hostname,
+      protocol: uri.protocol ? uri.protocol + ":" : "",
+      query: uri.query,
+      path: uri.path + (uri.query ? "?" + uri.query : ""),
+      pathname: uri.path,
+      search: uri.query ? "?" + uri.query : ""
+    };
+  }
+};
+const CONTENT_SHA256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
+const OBS_SDK_VERSION = "3.22.3";
+const mimeTypes = {
+  "7z": "application/x-7z-compressed",
+  "aac": "audio/x-aac",
+  "ai": "application/postscript",
+  "aif": "audio/x-aiff",
+  "asc": "text/plain",
+  "asf": "video/x-ms-asf",
+  "atom": "application/atom+xml",
+  "avi": "video/x-msvideo",
+  "bmp": "image/bmp",
+  "bz2": "application/x-bzip2",
+  "cer": "application/pkix-cert",
+  "crl": "application/pkix-crl",
+  "crt": "application/x-x509-ca-cert",
+  "css": "text/css",
+  "csv": "text/csv",
+  "cu": "application/cu-seeme",
+  "deb": "application/x-debian-package",
+  "doc": "application/msword",
+  "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+  "dvi": "application/x-dvi",
+  "eot": "application/vnd.ms-fontobject",
+  "eps": "application/postscript",
+  "epub": "application/epub+zip",
+  "etx": "text/x-setext",
+  "flac": "audio/flac",
+  "flv": "video/x-flv",
+  "gif": "image/gif",
+  "gz": "application/gzip",
+  "htm": "text/html",
+  "html": "text/html",
+  "ico": "image/x-icon",
+  "ics": "text/calendar",
+  "ini": "text/plain",
+  "iso": "application/x-iso9660-image",
+  "jar": "application/java-archive",
+  "jpe": "image/jpeg",
+  "jpeg": "image/jpeg",
+  "jpg": "image/jpeg",
+  "js": "text/javascript",
+  "json": "application/json",
+  "latex": "application/x-latex",
+  "log": "text/plain",
+  "m4a": "audio/mp4",
+  "m4v": "video/mp4",
+  "mid": "audio/midi",
+  "midi": "audio/midi",
+  "mov": "video/quicktime",
+  "mp3": "audio/mpeg",
+  "mp4": "video/mp4",
+  "mp4a": "audio/mp4",
+  "mp4v": "video/mp4",
+  "mpe": "video/mpeg",
+  "mpeg": "video/mpeg",
+  "mpg": "video/mpeg",
+  "mpg4": "video/mp4",
+  "oga": "audio/ogg",
+  "ogg": "audio/ogg",
+  "ogv": "video/ogg",
+  "ogx": "application/ogg",
+  "pbm": "image/x-portable-bitmap",
+  "pdf": "application/pdf",
+  "pgm": "image/x-portable-graymap",
+  "png": "image/png",
+  "pnm": "image/x-portable-anymap",
+  "ppm": "image/x-portable-pixmap",
+  "ppt": "application/vnd.ms-powerpoint",
+  "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+  "ps": "application/postscript",
+  "qt": "video/quicktime",
+  "rar": "application/x-rar-compressed",
+  "ras": "image/x-cmu-raster",
+  "rss": "application/rss+xml",
+  "rtf": "application/rtf",
+  "sgm": "text/sgml",
+  "sgml": "text/sgml",
+  "svg": "image/svg+xml",
+  "swf": "application/x-shockwave-flash",
+  "tar": "application/x-tar",
+  "tif": "image/tiff",
+  "tiff": "image/tiff",
+  "torrent": "application/x-bittorrent",
+  "ttf": "application/x-font-ttf",
+  "txt": "text/plain",
+  "wav": "audio/x-wav",
+  "webm": "video/webm",
+  "wma": "audio/x-ms-wma",
+  "wmv": "video/x-ms-wmv",
+  "woff": "application/x-font-woff",
+  "wsdl": "application/wsdl+xml",
+  "xbm": "image/x-xbitmap",
+  "xls": "application/vnd.ms-excel",
+  "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+  "xml": "application/xml",
+  "xpm": "image/x-xpixmap",
+  "xwd": "image/x-xwindowdump",
+  "yaml": "text/yaml",
+  "yml": "text/yaml",
+  "zip": "application/zip"
+};
+const allowedResourceParameterNames = [
+  "inventory",
+  "acl",
+  "backtosource",
+  "policy",
+  "torrent",
+  "logging",
+  "location",
+  "storageinfo",
+  "quota",
+  "storageclass",
+  "storagepolicy",
+  "mirrorbacktosource",
+  "requestpayment",
+  "versions",
+  "versioning",
+  "versionid",
+  "uploads",
+  "uploadid",
+  "partnumber",
+  "website",
+  "notification",
+  "replication",
+  "lifecycle",
+  "deletebucket",
+  "delete",
+  "cors",
+  "restore",
+  "tagging",
+  "append",
+  "position",
+  "response-content-type",
+  "response-content-language",
+  "response-expires",
+  "response-cache-control",
+  "response-content-disposition",
+  "response-content-encoding",
+  "x-image-process",
+  "x-oss-process",
+  "encryption",
+  "obsworkflowtriggerpolicy",
+  "x-workflow-limit",
+  "x-workflow-prefix",
+  "x-workflow-start",
+  "x-workflow-template-name",
+  "x-workflow-graph-name",
+  "x-workflow-execution-state",
+  "x-workflow-category",
+  "x-workflow-prefix",
+  "x-workflow-create",
+  "directcoldaccess",
+  "customdomain",
+  "cdnnotifyconfiguration",
+  "metadata",
+  "dispolicy",
+  "obscompresspolicy",
+  "template_name",
+  "template_name_prefix",
+  "x-workflow-status",
+  "x-workflow-type",
+  "x-workflow-forbid",
+  "sfsacl",
+  "obsbucketalias",
+  "obsalias"
+];
+const allowedResponseHttpHeaderMetadataNames = [
+  "content-type",
+  "content-md5",
+  "content-length",
+  "content-language",
+  "expires",
+  "origin",
+  "cache-control",
+  "content-disposition",
+  "content-encoding",
+  "x-default-storage-class",
+  "location",
+  "date",
+  "etag",
+  "host",
+  "last-modified",
+  "content-range",
+  "x-reserved",
+  "access-control-allow-origin",
+  "access-control-allow-headers",
+  "access-control-max-age",
+  "access-control-allow-methods",
+  "access-control-expose-headers",
+  "connection",
+  "x-obs-location-clustergroup-id"
+];
+const commonHeaders = {
+  "content-length": "ContentLength",
+  "date": "Date",
+  "x-reserved": "Reserved"
+};
+const obsAllowedStorageClass = ["STANDARD", "WARM", "COLD"];
+const v2AllowedStorageClass = ["STANDARD", "STANDARD_IA", "GLACIER"];
+const obsAllowedAcl = ["private", "public-read", "public-read-write", "public-read-delivered", "public-read-write-delivered"];
+const v2AllowedAcl = ["private", "public-read", "public-read-write", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control", "log-delivery-write"];
+const obsAllowedUri = ["Everyone", "LogDelivery"];
+const v2AllowedUri = ["http://acs.amazonaws.com/groups/global/AllUsers", "http://acs.amazonaws.com/groups/global/AuthenticatedUsers", "http://acs.amazonaws.com/groups/s3/LogDelivery"];
+const obsAllowedEvent = [
+  "ObjectCreated",
+  "ObjectRemoved",
+  "ObjectCreated:*",
+  "ObjectCreated:Put",
+  "ObjectCreated:Post",
+  "ObjectCreated:Copy",
+  "ObjectCreated:CompleteMultipartUpload",
+  "ObjectRemoved:*",
+  "ObjectRemoved:Delete",
+  "ObjectRemoved:DeleteMarkerCreated"
+];
+const v2AllowedEvent = [
+  "ObjectCreated",
+  "ObjectRemoved",
+  "s3:ObjectCreated:*",
+  "s3:ObjectCreated:Put",
+  "s3:ObjectCreated:Post",
+  "s3:ObjectCreated:Copy",
+  "s3:ObjectCreated:CompleteMultipartUpload",
+  "s3:ObjectRemoved:*",
+  "s3:ObjectRemoved:Delete",
+  "s3:ObjectRemoved:DeleteMarkerCreated"
+];
+const ignoreNegotiationMethod = ["CreateBucket", "SetBucketAlias", "BindBucketAlias", "UnbindBucketAlias", "DeleteBucketAlias", "GetBucketAlias"];
+const negotiateMethod = "HeadApiVersion";
+const obsSignatureContext = {
+  signature: "obs",
+  headerPrefix: "x-obs-",
+  headerMetaPrefix: "x-obs-meta-",
+  authPrefix: "OBS"
+};
+const v2SignatureContext = {
+  signature: "v2",
+  headerPrefix: "x-amz-",
+  headerMetaPrefix: "x-amz-meta-",
+  authPrefix: "AWS"
+};
+function encodeURIWithSafe(str, safe, skipEncoding) {
+  str = String(str);
+  if (str.length === 0) {
+    return "";
+  }
+  if (skipEncoding) {
+    return str;
+  }
+  let ret;
+  if (safe) {
+    ret = [];
+    for (const element of str) {
+      ret.push(safe.indexOf(element) >= 0 ? element : encodeURIComponent(element));
+    }
+    ret = ret.join("");
+  } else {
+    ret = encodeURIComponent(str);
+  }
+  return ret.replace(/!/g, "%21").replace(/\*/g, "%2A").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29");
+}
+function headerTostring(obj2) {
+  return JSON ? JSON.stringify(obj2) : "";
+}
+function parseObjectFromHeaders(sentAs, headers) {
+  let metadata = {};
+  for (let key2 in headers) {
+    if ({}.hasOwnProperty.call(headers, key2)) {
+      let k2 = String(key2).toLowerCase();
+      if (k2.indexOf(sentAs) === 0) {
+        metadata[k2.slice(sentAs.length)] = headers[key2];
+      }
+    }
+  }
+  return metadata;
+}
+function isArray$3(obj2) {
+  return Object.prototype.toString.call(obj2) === "[object Array]";
+}
+function isFunction$2$1(obj2) {
+  return Object.prototype.toString.call(obj2) === "[object Function]";
+}
+function isObject$6(obj2) {
+  return Object.prototype.toString.call(obj2) === "[object Object]";
+}
+function makeObjFromXml(xml, bc) {
+  if (typeof xml === "object") {
+    return bc(null, xml);
+  }
+  try {
+    return bc(null, xml2js.parseString(xml));
+  } catch (err) {
+    return bc(err, null);
+  }
+}
+function getExpireDate(utcDateStr) {
+  let date = new Date(Date.parse(utcDateStr));
+  let hour = date.getUTCHours();
+  let min3 = date.getUTCMinutes();
+  let sec = date.getUTCSeconds();
+  let day = date.getUTCDate();
+  let moth = date.getUTCMonth() + 1;
+  let year = date.getUTCFullYear();
+  let expireDate = "";
+  expireDate += year + "-";
+  if (moth < 10) {
+    expireDate += "0";
+  }
+  expireDate += moth + "-";
+  if (day < 10) {
+    expireDate += "0";
+  }
+  expireDate += day + "T";
+  if (hour < 10) {
+    expireDate += "0";
+  }
+  expireDate += hour + ":";
+  if (min3 < 10) {
+    expireDate += "0";
+  }
+  expireDate += min3 + ":";
+  if (sec < 10) {
+    expireDate += "0";
+  }
+  expireDate += sec + "Z";
+  return expireDate;
+}
+function getDates(utcDateStr) {
+  let date = new Date(Date.parse(utcDateStr));
+  let hour = date.getUTCHours();
+  let min3 = date.getUTCMinutes();
+  let sec = date.getUTCSeconds();
+  let day = date.getUTCDate();
+  let moth = date.getUTCMonth() + 1;
+  let year = date.getUTCFullYear();
+  let shortDate = "";
+  let longDate = "";
+  shortDate += year;
+  if (moth < 10) {
+    shortDate += "0";
+  }
+  shortDate += moth;
+  if (day < 10) {
+    shortDate += "0";
+  }
+  shortDate += day;
+  longDate += shortDate + "T";
+  if (hour < 10) {
+    longDate += "0";
+  }
+  longDate += hour;
+  if (min3 < 10) {
+    longDate += "0";
+  }
+  longDate += min3;
+  if (sec < 10) {
+    longDate += "0";
+  }
+  longDate += sec + "Z";
+  return [shortDate, longDate];
+}
+function getSignedAndCanonicalHeaders(header) {
+  let arrheadKey = [];
+  let arrhead = {};
+  for (let key2 in header) {
+    if ({}.hasOwnProperty.call(header, key2)) {
+      arrheadKey.push(key2.toLowerCase());
+      arrhead[key2.toLowerCase()] = header[key2];
+    }
+  }
+  arrheadKey = arrheadKey.sort();
+  let signedHeaders = "";
+  let canonicalHeaders = "";
+  for (let i2 = 0; i2 < arrheadKey.length; i2++) {
+    if (i2 !== 0) {
+      signedHeaders += ";";
+    }
+    signedHeaders += arrheadKey[i2];
+    canonicalHeaders += arrheadKey[i2] + ":" + arrhead[arrheadKey[i2]] + "\n";
+  }
+  return [signedHeaders, canonicalHeaders];
+}
+function createV4Signature(shortDate, sk, region, stringToSign) {
+  let dateKey = crypto.createHmac("sha256", "AWS4" + sk).update(shortDate).digest();
+  let dateRegionKey = crypto.createHmac("sha256", dateKey).update(region).digest();
+  let dateRegionServiceKey = crypto.createHmac("sha256", dateRegionKey).update("s3").digest();
+  let signingKey = crypto.createHmac("sha256", dateRegionServiceKey).update("aws4_request").digest();
+  let signature = crypto.createHmac("sha256", signingKey).update(stringToSign).digest("hex");
+  return signature;
+}
+function getV4Signature(shortDate, longDate, sk, region, canonicalRequest) {
+  let scop = shortDate + "/" + region + "/s3/aws4_request";
+  let stringToSign = "AWS4-HMAC-SHA256\n";
+  stringToSign += longDate + "\n";
+  stringToSign += scop + "\n";
+  stringToSign += crypto.createHash("sha256").update(canonicalRequest).digest("hex");
+  return createV4Signature(shortDate, sk, region, stringToSign);
+}
+function Utils(log_in) {
+  this.log = log_in;
+  this.ak = null;
+  this.sk = null;
+  this.securityToken = null;
+  this.isSecure = true;
+  this.server = null;
+  this.pathStyle = false;
+  this.signatureContext = null;
+  this.isSignatureNegotiation = true;
+  this.bucketSignatureCache = {};
+  this.region = "region";
+  this.port = null;
+  this.timeout = 300;
+  this.obsSdkVersion = OBS_SDK_VERSION;
+  this.isCname = false;
+  this.bucketEventEmitters = {};
+  this.useRawXhr = false;
+}
+Utils.prototype.encodeURIWithSafe = encodeURIWithSafe;
+Utils.prototype.mimeTypes = mimeTypes;
+Utils.prototype.refresh = function(ak, sk, securityToken) {
+  this.ak = ak ? String(ak).trim() : null;
+  this.sk = sk ? String(sk).trim() : null;
+  this.securityToken = securityToken ? String(securityToken).trim() : null;
+};
+Utils.prototype.initFactory = function(ak, sk, isSecure, server, pathStyle, signature, region, port, timeout, securityToken, isSignatureNegotiation, isCname, urlPrefix, regionDomains, setRequestHeaderHook, useRawXhr) {
+  this.refresh(ak, sk, securityToken);
+  this.urlPrefix = urlPrefix || "";
+  this.regionDomains = regionDomains || null;
+  this.setRequestHeaderHook = setRequestHeaderHook || null;
+  if (!server) {
+    throw new Error("Server is not set");
+  }
+  server = String(server).trim();
+  if (server.indexOf("https://") === 0) {
+    server = server.slice("https://".length);
+    isSecure = true;
+  } else if (server.indexOf("http://") === 0) {
+    server = server.slice("http://".length);
+    isSecure = false;
+  }
+  let index3 = server.lastIndexOf("/");
+  while (index3 >= 0) {
+    server = server.slice(0, index3);
+    index3 = server.lastIndexOf("/");
+  }
+  index3 = server.indexOf(":");
+  if (index3 >= 0) {
+    port = server.slice(index3 + 1);
+    server = server.slice(0, index3);
+  }
+  this.server = server;
+  if (/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/.test(this.server)) {
+    pathStyle = true;
+  }
+  if (isSecure !== void 0) {
+    this.isSecure = isSecure;
+  }
+  if (pathStyle !== void 0) {
+    this.pathStyle = pathStyle;
+  }
+  if (signature !== void 0) {
+    signature = String(signature).trim().toLowerCase();
+  } else {
+    signature = "obs";
+  }
+  if (isSignatureNegotiation !== void 0) {
+    this.isSignatureNegotiation = isSignatureNegotiation;
+  }
+  this.isCname = isCname;
+  if (this.pathStyle || this.isCname) {
+    this.isSignatureNegotiation = false;
+    if (signature === "obs") {
+      signature = "v2";
+    }
+  }
+  this.signatureContext = signature === "obs" ? obsSignatureContext : v2SignatureContext;
+  if (region !== void 0) {
+    this.region = String(region);
+  }
+  this.port = port ? parseInt(port, 10) : this.isSecure ? 443 : 80;
+  if (timeout !== void 0) {
+    this.timeout = parseInt(timeout, 10);
+  }
+  if (useRawXhr !== void 0) {
+    this.useRawXhr = useRawXhr;
+  }
+};
+Utils.prototype.SseKmsAdapter = function(value, signatureContext) {
+  value = value || "";
+  value = String(value);
+  let index3 = value.indexOf("aws:");
+  if (signatureContext.signature === "obs") {
+    return index3 === 0 ? value.slice(4) : value;
+  }
+  return index3 === 0 ? value : "aws:" + value;
+};
+Utils.prototype.BucketAdapter = function(value, signatureContext) {
+  value = value || "";
+  value = String(value);
+  let index3 = value.indexOf("arn:aws:s3:::");
+  if (signatureContext.signature === "obs") {
+    return index3 === 0 ? value.slice("arn:aws:s3:::".length) : value;
+  }
+  return index3 === 0 ? value : "arn:aws:s3:::" + value;
+};
+Utils.prototype.EventAdapter = function(value, signatureContext) {
+  value = value || "";
+  value = String(value);
+  if (signatureContext.signature === "obs") {
+    if (obsAllowedEvent.indexOf(value) >= 0) {
+      return value;
+    }
+    if (v2AllowedEvent.indexOf(value) >= 0) {
+      return value.substring(3);
+    }
+    return "";
+  }
+  if (v2AllowedEvent.indexOf(value) >= 0) {
+    return value;
+  }
+  if (obsAllowedEvent.indexOf(value) >= 0) {
+    return "s3:" + value;
+  }
+  return "";
+};
+Utils.prototype.URIAdapter = function(value, signatureContext) {
+  value = value || "";
+  value = String(value);
+  if (signatureContext.signature === "obs") {
+    if (obsAllowedUri.indexOf(value) >= 0) {
+      return value;
+    }
+    if (value === "AllUsers" || value === "http://acs.amazonaws.com/groups/global/AllUsers") {
+      return "Everyone";
+    }
+    return "";
+  }
+  if (v2AllowedUri.indexOf(value) >= 0) {
+    return value;
+  }
+  if (value === "Everyone" || value === "AllUsers") {
+    return "http://acs.amazonaws.com/groups/global/AllUsers";
+  }
+  if (value === "AuthenticatedUsers") {
+    return "http://acs.amazonaws.com/groups/global/AuthenticatedUsers";
+  }
+  if (value === "LogDelivery") {
+    return "http://acs.amazonaws.com/groups/s3/LogDelivery";
+  }
+  return "";
+};
+Utils.prototype.StorageClassAdapter = function(value, signatureContext) {
+  value = value || "";
+  value = String(value).toUpperCase();
+  if (signatureContext.signature === "obs") {
+    if (obsAllowedStorageClass.indexOf(value) >= 0) {
+      return value;
+    }
+    if (value === "STANDARD_IA") {
+      return "WARM";
+    }
+    if (value === "GLACIER") {
+      return "COLD";
+    }
+    return "";
+  }
+  if (v2AllowedStorageClass.indexOf(value) >= 0) {
+    return value;
+  }
+  if (value === "WARM") {
+    return "STANDARD_IA";
+  }
+  if (value === "COLD") {
+    return "GLACIER";
+  }
+  return "";
+};
+Utils.prototype.ACLAdapter = function(value, signatureContext) {
+  value = value || "";
+  value = String(value).toLowerCase();
+  if (signatureContext.signature === "obs") {
+    if (obsAllowedAcl.indexOf(value) >= 0) {
+      return value;
+    }
+    return "";
+  }
+  if (value === "public-read-delivered") {
+    value = "public-read";
+  } else if (value === "public-read-write-delivered") {
+    value = "public-read-write";
+  }
+  if (v2AllowedAcl.indexOf(value) >= 0) {
+    return value;
+  }
+  return "";
+};
+Utils.prototype.doExec = function(funcName, param2, callback) {
+  let opt = this.makeParam(funcName, param2);
+  if ("err" in opt) {
+    return callback(opt.err, null);
+  }
+  this.sendRequest(funcName, opt, callback);
+};
+Utils.prototype.doNegotiation = function(funcName, param2, callback, checkBucket, checkCache, setCache) {
+  let o2 = null;
+  let that = this;
+  if (checkCache && param2.Bucket) {
+    let item = this.bucketSignatureCache[param2.Bucket];
+    if (item && item.signatureContext && item.expireTime > (/* @__PURE__ */ new Date()).getTime()) {
+      param2.signatureContext = item.signatureContext;
+      let opt = this.makeParam(funcName, param2);
+      if ("err" in opt) {
+        return callback(opt.err, null);
+      }
+      opt.signatureContext = item.signatureContext;
+      return this.sendRequest(funcName, opt, callback);
+    }
+    o2 = this.bucketEventEmitters[param2.Bucket];
+    if (!o2) {
+      o2 = {
+        s: 0,
+        n: function() {
+          while (this.e && this.e.length > 0) {
+            this.e.shift()();
+          }
+        }
+      };
+      this.bucketEventEmitters[param2.Bucket] = o2;
+    }
+    if (o2.s) {
+      o2.e.push(function() {
+        that.doNegotiation(funcName, param2, callback, checkBucket, checkCache, setCache);
+      });
+      return;
+    }
+    o2.e = [];
+    o2.s = 1;
+  }
+  this.doExec(negotiateMethod, checkBucket ? { Bucket: param2.Bucket } : {}, function(err, result2) {
+    if (err) {
+      callback(err, null);
+      if (o2) {
+        o2.s = 0;
+        o2.n();
+      }
+      return;
+    }
+    if (checkBucket && result2.CommonMsg.Status === 404 || result2.CommonMsg.Status >= 500) {
+      callback(err, result2);
+      if (o2) {
+        o2.s = 0;
+        o2.n();
+      }
+      return;
+    }
+    let signatureContext = v2SignatureContext;
+    if (result2.CommonMsg.Status < 300 && result2.InterfaceResult && result2.InterfaceResult.ApiVersion >= "3.0") {
+      signatureContext = obsSignatureContext;
+    }
+    if (setCache) {
+      that.bucketSignatureCache[param2.Bucket] = {
+        signatureContext,
+        expireTime: (/* @__PURE__ */ new Date()).getTime() + 15 + Math.ceil(Math.random() * 5) * 60 * 1e3
+      };
+    }
+    if (o2) {
+      o2.s = 0;
+      o2.n();
+    }
+    param2.signatureContext = signatureContext;
+    let opt = that.makeParam(funcName, param2);
+    if ("err" in opt) {
+      return callback(opt.err, null);
+    }
+    opt.signatureContext = signatureContext;
+    that.sendRequest(funcName, opt, callback);
+  });
+};
+Utils.prototype.exec = function(funcName, param2, callback) {
+  let that = this;
+  if (that.isSignatureNegotiation && funcName !== negotiateMethod) {
+    if (funcName === "ListBuckets") {
+      that.doNegotiation(funcName, param2, callback, false, false, false);
+    } else if (ignoreNegotiationMethod.indexOf(funcName) > -1) {
+      let _callback = function(err, result2) {
+        if (!err && result2.CommonMsg.Status === 400 && result2.CommonMsg.Message === "Unsupported Authorization Type" && param2.signatureContext && param2.signatureContext.signature === "v2") {
+          param2.signatureContext = v2SignatureContext;
+          let opt = that.makeParam(funcName, param2);
+          if ("err" in opt) {
+            return callback(opt.err, null);
+          }
+          opt.signatureContext = param2.signatureContext;
+          that.sendRequest(funcName, opt, callback);
+          return;
+        }
+        callback(err, result2);
+      };
+      that.doNegotiation(funcName, param2, _callback, false, true, false);
+    } else {
+      that.doNegotiation(funcName, param2, callback, true, true, true);
+    }
+    return;
+  }
+  that.doExec(funcName, param2, callback);
+};
+Utils.prototype.sliceBlob = function(blob, start2, end2, type2) {
+  type2 = type2 || blob.type;
+  if (blob.mozSlice) {
+    return blob.mozSlice(start2, end2, type2);
+  }
+  if (blob.webkitSlice) {
+    return blob.webkitSlice(start2, end2, type2);
+  }
+  return blob.slice(start2, end2, type2);
+};
+Utils.prototype.toXml = function(mXml, xmlMeta, root, sentAs, signatureContext) {
+  let xml = "";
+  if (root !== null) {
+    xml += this.buildXml(mXml, xmlMeta, root, sentAs, signatureContext);
+    return xml;
+  }
+  for (let key2 in xmlMeta) {
+    if (key2 in mXml) {
+      let _sentAs = xmlMeta[key2].sentAs || key2;
+      xml += this.buildXml(mXml, xmlMeta[key2], key2, _sentAs, signatureContext);
+    }
+  }
+  return xml;
+};
+Utils.prototype.buildXml = function(mXml, xmlMeta, key2, sentAs, signatureContext) {
+  let xml = "";
+  let type2 = xmlMeta.type;
+  if (type2 === "array") {
+    for (let i2 = 0; i2 < mXml[key2].length; i2++) {
+      if (xmlMeta.items.type === "object") {
+        if (!mXml[key2][i2]) {
+          return xml;
+        }
+        let result2 = this.toXml(mXml[key2][i2], xmlMeta.items.parameters, null, null, signatureContext);
+        if (result2 !== "") {
+          xml += "<" + sentAs + ">" + result2 + "</" + sentAs + ">";
+        }
+      } else if (xmlMeta.items.type === "adapter") {
+        xml += "<" + sentAs + ">" + String(this[key2 + "Adapter"](mXml[key2][i2], signatureContext)).replace(/&/g, "&amp;").replace(/'/g, "&apos;").replace(/"/g, "&quot;") + "</" + sentAs + ">";
+      } else if (xmlMeta.items.type !== "array") {
+        xml += "<" + sentAs + ">" + String(mXml[key2][i2]).replace(/&/g, "&amp;").replace(/'/g, "&apos;").replace(/"/g, "&quot;") + "</" + sentAs + ">";
+      }
+    }
+  } else if (type2 === "object") {
+    if (!mXml[key2]) {
+      return xml;
+    }
+    let result2 = this.toXml(mXml[key2], xmlMeta.parameters, null, null, signatureContext);
+    if (result2 !== "") {
+      xml += "<" + sentAs;
+      if ("data" in xmlMeta) {
+        if ("xsiNamespace" in xmlMeta.data) {
+          xml += ' xmlns:xsi="' + xmlMeta.data.xsiNamespace + '"';
+        }
+        if ("xsiType" in xmlMeta.data) {
+          xml += ' xsi:type="' + mXml[key2][xmlMeta.data.xsiType] + '"';
+        }
+      }
+      xml += ">";
+      xml += result2 + "</" + sentAs + ">";
+    }
+  } else if (type2 === "adapter") {
+    xml += "<" + sentAs + ">" + String(this[key2 + "Adapter"](mXml[key2], signatureContext)).replace(/&/g, "&amp;").replace(/'/g, "&apos;").replace(/"/g, "&quot;") + "</" + sentAs + ">";
+  } else if (type2 !== "ignore") {
+    xml += "<" + sentAs + ">" + String(mXml[key2]).replace(/&/g, "&amp;").replace(/'/g, "&apos;").replace(/"/g, "&quot;") + "</" + sentAs + ">";
+  }
+  if (xml && xmlMeta.wrapper) {
+    let _wrapper = xmlMeta.wrapper;
+    xml = "<" + _wrapper + ">" + xml + "</" + _wrapper + ">";
+  }
+  return xml;
+};
+Utils.prototype.jsonToObject = function(model2, obj2, root, ifRootXMlDecode) {
+  let opt = {};
+  if (root !== null) {
+    this.buildObject(model2, obj2, root, opt, ifRootXMlDecode);
+  } else {
+    for (let key2 in model2) {
+      if ({}.hasOwnProperty.call(model2, key2)) {
+        this.buildObject(model2, obj2, key2, opt, ifRootXMlDecode);
+      }
+    }
+  }
+  return opt;
+};
+Utils.prototype.buildObject = function(model2, obj2, key2, opt, ifRootXMlDecode) {
+  let setValue = function(value) {
+    return value && model2[key2].decode && ifRootXMlDecode ? decodeURIComponent(value.replace(/\+/g, "%20")) : value;
+  };
+  if (isObject$6(obj2)) {
+    let flag = true;
+    let wrapper = model2[key2].wrapper;
+    if (wrapper && wrapper in obj2) {
+      obj2 = obj2[wrapper];
+      flag = isObject$6(obj2);
+    }
+    if (flag) {
+      let sentAs = model2[key2].sentAs || key2;
+      if (sentAs in obj2) {
+        if (model2[key2].type === "object") {
+          opt[key2] = this.jsonToObject(model2[key2].parameters, obj2[sentAs], null, ifRootXMlDecode);
+        } else if (model2[key2].type === "array") {
+          let arr = [];
+          if (!isArray$3(obj2[sentAs])) {
+            arr[0] = model2[key2].items.type === "object" ? this.jsonToObject(model2[key2].items.parameters, obj2[sentAs], null, ifRootXMlDecode) : setValue(obj2[sentAs]["#text"] || "");
+          } else {
+            for (let i2 = 0; i2 < obj2[sentAs].length; i2++) {
+              arr[i2] = model2[key2].items.type === "object" ? this.jsonToObject(model2[key2].items.parameters, obj2[sentAs][i2], null, ifRootXMlDecode) : setValue(obj2[sentAs][i2]["#text"]);
+            }
+          }
+          opt[key2] = arr;
+        } else {
+          opt[key2] = setValue(obj2[sentAs]["#text"]);
+        }
+      }
+    }
+  }
+  if (opt[key2] === void 0) {
+    if (model2[key2].type === "object") {
+      opt[key2] = model2[key2].parameters ? this.jsonToObject(model2[key2].parameters, null, null, ifRootXMlDecode) : {};
+    } else if (model2[key2].type === "array") {
+      opt[key2] = [];
+    }
+  }
+};
+Utils.prototype.makeParam = function(methodName, param2) {
+  let signatureContext = param2.signatureContext || this.signatureContext;
+  let model2 = signatureContext.signature === "obs" ? operations$1[methodName] : operations[methodName];
+  let method = model2.httpMethod;
+  let uri = "/";
+  let urlPath = "";
+  let xml = "";
+  let exheaders = {};
+  let opt = {};
+  opt.$requestParam = param2;
+  if ("urlPath" in model2) {
+    urlPath += "?";
+    urlPath += model2.urlPath;
+  }
+  for (let key2 in model2.parameters) {
+    if ({}.hasOwnProperty.call(model2.parameters, key2)) {
+      let meta = model2.parameters[key2];
+      if (key2 === "Bucket" && this.isCname) {
+        continue;
+      }
+      let _value = param2[key2];
+      if (meta.type === "callback" && _value === void 0 && meta.parameters && (param2["CallbackUrl"] !== void 0 || param2["CallbackBody"] !== void 0)) {
+        _value = {};
+        for (let _key of Object.keys(meta.parameters)) {
+          const _meta = meta.parameters[_key];
+          const _keyValue = param2[_key];
+          if (_meta.required && (_keyValue === null || _keyValue === void 0 || Object.prototype.toString.call(_keyValue) === "[object String]" && _keyValue === "")) {
+            opt.err = _key + " is a required element!";
+            this.log.runLog("error", methodName, opt.err);
+            return opt;
+          }
+          const newKey = _key.slice(0, 1).toLowerCase() + _key.slice(1);
+          _value[newKey] = _keyValue;
+        }
+      }
+      if (meta.required && (_value === null || _value === void 0 || Object.prototype.toString.call(_value) === "[object String]" && _value === "")) {
+        opt.err = key2 + " is a required element!";
+        this.log.runLog("error", methodName, opt.err);
+        return opt;
+      }
+      if (_value !== null && _value !== void 0) {
+        if (meta.type === "srcFile" || meta.type === "dstFile") {
+          opt[meta.type] = _value;
+          continue;
+        }
+        if (meta.type === "plain") {
+          opt[key2] = _value;
+        }
+        let sentAs = meta.sentAs || key2;
+        if (meta.withPrefix) {
+          sentAs = signatureContext.headerPrefix + sentAs;
+        }
+        if (meta.location === "uri") {
+          if (uri !== "/") {
+            uri += "/";
+          }
+          uri += _value;
+        } else if (meta.location === "header") {
+          let safe = meta.encodingSafe || " ;/?:@&=+$,";
+          if (meta.type === "object") {
+            if (signatureContext.headerMetaPrefix === sentAs) {
+              for (let item in _value) {
+                if ({}.hasOwnProperty.call(_value, item)) {
+                  let value = _value[item];
+                  item = String(item).trim().toLowerCase();
+                  exheaders[item.indexOf(sentAs) === 0 ? item : sentAs + item] = encodeURIWithSafe(value, safe);
+                }
+              }
+            }
+          } else if (meta.type === "array") {
+            let arr = [];
+            for (let item in _value) {
+              if ({}.hasOwnProperty.call(_value, item)) {
+                arr[item] = encodeURIWithSafe(_value[item], safe);
+              }
+            }
+            exheaders[sentAs] = arr;
+          } else if (meta.type === "password") {
+            let encodeFunc = window.btoa ? window.btoa : gBase64.encode;
+            exheaders[sentAs] = encodeFunc(_value);
+            let pwdSentAs = meta.pwdSentAs || sentAs + "-MD5";
+            exheaders[pwdSentAs] = this.rawBufMD5(_value);
+          } else if (meta.type === "number" && Number(_value)) {
+            exheaders[sentAs] = encodeURIWithSafe(String(_value), safe);
+          } else if (meta.type === "boolean") {
+            exheaders[sentAs] = encodeURIWithSafe(_value ? "true" : "false", safe);
+          } else if (meta.type === "callback") {
+            exheaders[sentAs] = gBase64.encode(JSON.stringify(_value));
+          } else if (meta.type === "adapter") {
+            let val = this[key2 + "Adapter"](_value, signatureContext);
+            if (val) {
+              exheaders[sentAs] = encodeURIWithSafe(String(val), safe);
+            }
+          } else {
+            exheaders[sentAs] = encodeURIWithSafe(String(_value), safe, meta.skipEncoding);
+          }
+        } else if (meta.location === "urlPath") {
+          let sep = urlPath === "" ? "?" : "&";
+          let value = _value;
+          if (meta.type !== "number" || meta.type === "number" && Number(value) >= 0) {
+            urlPath += sep + encodeURIWithSafe(sentAs, "/") + "=" + encodeURIWithSafe(String(value), "/");
+          }
+        } else if (meta.location === "xml") {
+          let mxml = this.toXml(param2, meta, key2, sentAs, signatureContext);
+          if (mxml) {
+            xml += mxml;
+          }
+        } else if (meta["location"] === "body") {
+          xml = _value;
+        }
+      }
+    }
+  }
+  let isFile2 = opt.dstFile === "file";
+  if (!("Content-Type" in exheaders) && !isFile2) {
+    exheaders["Content-Type"] = "binary/octet-stream";
+  }
+  if ("data" in model2 && "xmlRoot" in model2.data) {
+    if (xml || model2.data.xmlAllowEmpty) {
+      let xmlRoot = model2.data.xmlRoot;
+      xml = "<" + xmlRoot + ">" + xml + "</" + xmlRoot + ">";
+      exheaders["Content-Type"] = "application/xml";
+    }
+  }
+  if (isFile2) {
+    opt.rawUri = uri;
+  }
+  exheaders.Host = this.server + (this.port === 80 || this.port === 443 ? "" : ":" + this.port);
+  if (!this.pathStyle && !this.isCname) {
+    let uriList = uri.split("/");
+    if (uriList.length >= 2 && uriList[1]) {
+      exheaders.Host = uriList[1] + "." + exheaders.Host;
+      let requestUri = uri.replace(uriList[1], "");
+      if (requestUri.indexOf("//") === 0) {
+        requestUri = requestUri.slice(1);
+      }
+      if (signatureContext.signature === "v4") {
+        uri = requestUri;
+      } else if (requestUri === "/") {
+        uri += "/";
+      }
+      opt.requestUri = encodeURIWithSafe(requestUri, "/");
+    }
+  }
+  opt.method = method;
+  opt.uri = encodeURIWithSafe(uri, "/");
+  opt.urlPath = urlPath;
+  if (xml) {
+    if (model2.data && model2.data.md5) {
+      exheaders["Content-MD5"] = this.bufMD5(xml);
+      exheaders["Content-Length"] = xml.length === 0 ? "0" : String(xml.length);
+    }
+    opt.xml = xml;
+    this.log.runLog("debug", methodName, "request content:" + xml);
+  }
+  opt.headers = exheaders;
+  if ("srcFile" in opt) {
+    if (opt.srcFile instanceof window.File || opt.srcFile instanceof window.Blob) {
+      let fileSize = opt.srcFile.size;
+      if ("Content-Length" in opt.headers || "PartSize" in opt || "Offset" in opt) {
+        let offset2 = opt.Offset;
+        offset2 = offset2 && offset2 >= 0 && offset2 < fileSize ? offset2 : 0;
+        let partSize;
+        if ("PartSize" in opt) {
+          partSize = opt.PartSize;
+        } else if ("Content-Length" in opt.headers) {
+          partSize = parseInt(opt.headers["Content-Length"], 10);
+        } else {
+          partSize = fileSize;
+        }
+        partSize = partSize && partSize > 0 && partSize <= fileSize - offset2 ? partSize : fileSize - offset2;
+        opt.PartSize = partSize;
+        opt.Offset = offset2;
+        opt.headers["Content-Length"] = String(opt.PartSize);
+      }
+    }
+  }
+  return opt;
+};
+Utils.prototype.parseCommonHeaders = function(opt, headers, signatureContext) {
+  for (let key2 in commonHeaders) {
+    if ({}.hasOwnProperty.call(commonHeaders, key2)) {
+      opt.InterfaceResult[commonHeaders[key2]] = headers[key2];
+    }
+  }
+  opt.InterfaceResult.RequestId = headers[signatureContext.headerPrefix + "request-id"];
+  opt.InterfaceResult.Id2 = headers[signatureContext.headerPrefix + "id-2"];
+  opt.CommonMsg.RequestId = opt.InterfaceResult.RequestId;
+  opt.CommonMsg.Id2 = opt.InterfaceResult.Id2;
+};
+Utils.prototype.contrustCommonMsg = function(opt, obj2, headers, signatureContext) {
+  opt.InterfaceResult = {};
+  this.parseCommonHeaders(opt, headers, signatureContext);
+  for (let key2 in obj2) {
+    if (obj2[key2].location !== "header") {
+      continue;
+    }
+    let sentAs = obj2[key2].sentAs || key2;
+    if (obj2[key2].withPrefix) {
+      sentAs = signatureContext.headerPrefix + sentAs;
+    }
+    if (obj2[key2].type === "object") {
+      opt.InterfaceResult[key2] = parseObjectFromHeaders(sentAs, headers);
+    } else {
+      let val = null;
+      if (sentAs in headers) {
+        val = headers[sentAs];
+      } else if (sentAs.toLowerCase() in headers) {
+        val = headers[sentAs.toLowerCase()];
+      }
+      if (val !== null) {
+        opt.InterfaceResult[key2] = val;
+      }
+    }
+  }
+};
+Utils.prototype.getRequest = function(methodName, serverback, signatureContext, retryCount, params2, bc) {
+  let regionDomains = this.regionDomains;
+  let opt = {};
+  let log2 = this.log;
+  let model2 = signatureContext.signature === "obs" ? operations$1[methodName + "Output"] : operations[methodName + "Output"];
+  model2 = model2 || {};
+  let obj2 = model2.parameters || {};
+  opt.CommonMsg = {
+    Status: serverback.status,
+    Code: "",
+    Message: "",
+    HostId: "",
+    RequestId: "",
+    InterfaceResult: null
+  };
+  let headers = serverback.headers;
+  let headersStr = headerTostring(headers);
+  log2.runLog("info", methodName, "get response start, statusCode:" + serverback.status);
+  log2.runLog("debug", methodName, "response msg :statusCode:" + serverback.status + ", headers:" + headersStr);
+  let doLog = function() {
+    let logMsg = "Status:" + opt.CommonMsg.Status + ", Code:" + opt.CommonMsg.Code + ", Message:" + opt.CommonMsg.Message;
+    log2.runLog("debug", methodName, "exec interface " + methodName + " finish, " + logMsg);
+    bc(null, opt);
+  };
+  if (serverback.status >= 300 && serverback.status < 400 && serverback.status !== 304 && retryCount <= 5) {
+    let location2 = headers.location || headers.Location;
+    if (location2) {
+      let err = "http code is 3xx, need to redirect to " + location2;
+      log2.runLog("warn", methodName, err);
+      let redirectErr = new Error("redirect");
+      redirectErr.location = location2;
+      redirectErr.bucketLocation = headers["x-amz-bucket-region"] || headers["x-obs-bucket-region"];
+      return bc(redirectErr);
+    }
+    let bucketLocation = headers["x-amz-bucket-region"] || headers["x-obs-bucket-location"];
+    if (bucketLocation && regionDomains[bucketLocation]) {
+      let regionServer = (this.isSecure ? "https://" : "http://") + regionDomains[bucketLocation];
+      if (isFunction$2$1(this.setRequestHeaderHook)) {
+        this.setRequestHeaderHook(headers, params2, methodName, regionDomains[bucketLocation]);
+      }
+      let err = "get redirect code 3xx, need to redirect to" + regionServer;
+      log2.runLog("error", methodName, err);
+      let redirectErr = new Error("redirect");
+      redirectErr.location = regionServer;
+      return bc(redirectErr);
+    }
+    log2.runLog("error", methodName, "get redirect code 3xx, but no location in headers");
+  }
+  if (serverback.status < 300) {
+    let body2 = serverback.data;
+    this.contrustCommonMsg(opt, obj2, headers, signatureContext);
+    let respMsg2 = "Status: " + opt.CommonMsg.Status + ", headers: " + headersStr;
+    if (body2) {
+      respMsg2 += "body length: " + body2.length;
+      log2.runLog("debug", methodName, "response body length:" + body2.length);
+    }
+    log2.runLog("debug", methodName, respMsg2);
+    if (body2 && "data" in model2) {
+      if (params2.CallbackUrl && model2.CallbackResponse) {
+        opt.InterfaceResult[model2.CallbackResponse.sentAs] = body2;
+        doLog();
+        return;
+      }
+      if (model2.data.type === "xml") {
+        let that = this;
+        return makeObjFromXml(body2, function(err, result2) {
+          if (err) {
+            log2.runLog("error", methodName, "change xml to json err [" + headerTostring(err) + "]");
+            return bc(err, null);
+          }
+          let tempResult = result2;
+          if (model2.data.xmlRoot && model2.data.xmlRoot in tempResult) {
+            tempResult = result2[model2.data.xmlRoot];
+          }
+          let ifRootXMlDecode = tempResult.EncodingType ? true : false;
+          if (isObject$6(tempResult)) {
+            for (let key2 in obj2) {
+              if (obj2[key2].location === "xml") {
+                opt.InterfaceResult[key2] = that.jsonToObject(obj2, tempResult, key2, ifRootXMlDecode)[key2];
+              }
+            }
+          }
+          doLog();
+        });
+      }
+      if (model2.data.type === "body") {
+        for (let key2 in obj2) {
+          if (obj2[key2].location === "body") {
+            opt.InterfaceResult[key2] = body2;
+            break;
+          }
+        }
+      }
+    }
+    return doLog();
+  }
+  let body = serverback.data;
+  let respMsg = "Status: " + opt.CommonMsg.Status + ", headers: " + headersStr;
+  if (body !== "") {
+    respMsg += "body: " + body;
+    log2.runLog("debug", methodName, "response body :" + body);
+  }
+  opt.CommonMsg.RequestId = headers[signatureContext.headerPrefix + "request-id"];
+  opt.CommonMsg.Id2 = headers[signatureContext.headerPrefix + "id2"];
+  opt.CommonMsg.Indicator = headers["x-reserved-indicator"];
+  log2.runLog("info", methodName, "request finished with request id:" + opt.CommonMsg.RequestId);
+  log2.runLog("debug", methodName, respMsg);
+  if (!body) {
+    return doLog();
+  }
+  return makeObjFromXml(body, function(err, re2) {
+    if (err) {
+      log2.runLog("error", methodName, "change xml to json err [" + headerTostring(err) + "]");
+      opt.CommonMsg.Message = err.message;
+    } else if (re2) {
+      if ("Error" in re2) {
+        let errMsg = re2.Error;
+        for (let param2 in errMsg) {
+          if (errMsg[param2] && errMsg[param2]["#text"]) {
+            opt.CommonMsg[param2] = errMsg[param2]["#text"];
+          }
+        }
+      } else {
+        let errMsg = re2;
+        if ("code" in errMsg) {
+          opt.CommonMsg.Code = errMsg.code;
+        }
+        if ("message" in errMsg) {
+          opt.CommonMsg.Message = errMsg.message;
+        }
+        if ("hostId" in errMsg) {
+          opt.CommonMsg.HostId = errMsg.hostId;
+        }
+        if ("request_id" in errMsg && errMsg.request_id) {
+          opt.CommonMsg.RequestId = errMsg.request_id;
+        }
+      }
+      log2.runLog("error", methodName, "request error with error code:" + opt.CommonMsg.Code + ", error message:" + opt.CommonMsg.Message + ", request id:" + opt.CommonMsg.RequestId);
+    }
+    doLog();
+  });
+};
+Utils.prototype.makeRequest = function(methodName, opt, retryCount, bc) {
+  let log2 = this.log;
+  let body = opt.xml || null;
+  let signatureContext = opt.signatureContext || this.signatureContext;
+  delete opt.headers.Authorization;
+  if (opt.dstFile === "file") {
+    let queryParams = {};
+    if (opt.urlPath) {
+      let path22 = opt.urlPath.slice(1);
+      let arrPath = path22.split("&");
+      for (let i2 = 0; i2 < arrPath.length; i2++) {
+        if (arrPath[i2].indexOf("=") === -1) {
+          queryParams[arrPath[i2]] = "";
+        } else {
+          let temp = arrPath[i2].split("=");
+          queryParams[temp[0]] = temp[1];
+        }
+      }
+    }
+    let rawUri = opt.rawUri.split("/");
+    let bucketName = rawUri[1];
+    let objectKey = opt.rawUri.slice(("/" + bucketName + "/").length);
+    let ret = {};
+    ret.CommonMsg = {
+      Status: 0,
+      Code: "",
+      Message: "",
+      HostId: ""
+    };
+    ret.InterfaceResult = {};
+    let model2 = signatureContext.signature === "obs" ? operations$1[methodName + "Output"] : operations[methodName + "Output"];
+    let obj2 = model2.parameters;
+    for (let key2 in obj2) {
+      if (obj2[key2].location === "body") {
+        ret.InterfaceResult[key2] = this.createSignedUrlSync({
+          Method: opt.method,
+          Bucket: bucketName,
+          Key: objectKey,
+          Expires: 3600,
+          Headers: opt.headers,
+          QueryParams: queryParams,
+          signatureContext
+        });
+        break;
+      }
+    }
+    return bc(null, ret);
+  }
+  let requestDate = opt.$requestParam.RequestDate;
+  let nowDate;
+  let requestDateType = Object.prototype.toString.call(requestDate);
+  if (requestDateType === "[object Date]") {
+    nowDate = requestDate;
+  } else if (requestDateType === "[object String]") {
+    try {
+      nowDate = /* @__PURE__ */ new Date();
+      nowDate.setTime(Date.parse(requestDate));
+    } catch (e2) {
+    }
+  }
+  if (!nowDate) {
+    nowDate = /* @__PURE__ */ new Date();
+  }
+  let utcDateStr = nowDate.toUTCString();
+  let isV4 = signatureContext.signature.toLowerCase() === "v4";
+  opt.headers[signatureContext.headerPrefix + "date"] = isV4 ? getDates(utcDateStr)[1] : utcDateStr;
+  let path2 = (opt.requestUri ? opt.requestUri : opt.uri) + opt.urlPath;
+  if (this.ak && this.sk && methodName !== negotiateMethod) {
+    if (this.securityToken) {
+      opt.headers[signatureContext.headerPrefix + "security-token"] = this.securityToken;
+    }
+    if (isV4) {
+      this.v4Auth(opt, methodName, signatureContext);
+    } else {
+      this.doAuth(opt, methodName, signatureContext);
+    }
+  }
+  let ex = opt.headers;
+  if (isFunction$2$1(this.setRequestHeaderHook)) {
+    this.setRequestHeaderHook(ex, opt.$requestParam, methodName);
+  }
+  let host = ex.Host;
+  let method = opt.method;
+  let header_msg = {};
+  for (let key2 in ex) {
+    if ({}.hasOwnProperty.call(ex, key2)) {
+      header_msg[key2] = ex[key2];
+    }
+  }
+  header_msg.Authorization = "****";
+  let msg = "method:" + method + ", path:" + path2 + "headers:" + headerTostring(header_msg);
+  if (body) {
+    msg += "body:" + body;
+  }
+  log2.runLog("info", methodName, "prepare request parameters ok,then Send request to service start");
+  log2.runLog("debug", methodName, "request msg:" + msg);
+  let _isSecure = opt.protocol ? opt.protocol.toLowerCase().indexOf("https") === 0 : this.isSecure;
+  let port = opt.port || this.port;
+  delete ex.Host;
+  delete ex["Content-Length"];
+  let responseType = "text";
+  if (opt.dstFile && opt.dstFile !== "file" && (opt.dstFile === "arraybuffer" || opt.dstFile === "blob")) {
+    responseType = String(opt.dstFile);
+  }
+  let start2 = nowDate.getTime();
+  let that = this;
+  let dealingError = function(err) {
+    try {
+      let headerStr = headerTostring(err);
+      log2.runLog("error", methodName, "Send request to service error [" + headerStr + "]");
+    } catch (e2) {
+      if (err.toString) {
+        log2.runLog("error", methodName, "Send request to service error [" + err.toString() + "]");
+      }
+    }
+    log2.runLog("info", methodName, "http cost " + ((/* @__PURE__ */ new Date()).getTime() - start2) + " ms");
+    bc(err, null);
+  };
+  if (!this.useRawXhr) {
+    let onUploadProgress = null;
+    let onDownloadProgress = null;
+    if (isFunction$2$1(opt.ProgressCallback)) {
+      let progressListener = function(event2) {
+        if (event2.lengthComputable) {
+          opt.ProgressCallback(event2.loaded, event2.total, ((/* @__PURE__ */ new Date()).getTime() - start2) / 1e3);
+        }
+      };
+      if (method === "GET") {
+        onDownloadProgress = progressListener;
+      } else if (method === "PUT" || method === "POST") {
+        onUploadProgress = progressListener;
+      }
+    }
+    let portInfo = ":" + port;
+    if (host.indexOf(":") >= 0) {
+      portInfo = "";
+    }
+    let baseUrl = "";
+    let httpPrefix = _isSecure ? "https://" : "http://";
+    if (this.urlPrefix && isFunction$2$1(this.setRequestHeaderHook) && methodName !== "InitiateMultipartUpload" && methodName !== "UploadPart" && methodName !== "CompleteMultipartUpload") {
+      let defaultRegion = true;
+      if (opt.$requestParam["hasRegion"] || opt.$requestParam["redirectRegion"]) {
+        defaultRegion = false;
+      }
+      let portFlag = "";
+      if (port === 5443) {
+        portFlag = "-5443";
+      }
+      if (defaultRegion) {
+        if (opt.$requestParam["Bucket"]) {
+          if (opt.$requestParam["Bucket"].indexOf(".") !== -1) {
+            baseUrl = httpPrefix + this.urlPrefix + "/bucket" + portFlag;
+          }
+          baseUrl = httpPrefix + this.urlPrefix + "/bucket" + portFlag;
+        } else {
+          if (path2.split("?")[0] === "/") {
+            baseUrl = httpPrefix + this.urlPrefix + portFlag;
+          } else {
+            baseUrl = httpPrefix + this.urlPrefix + "/place" + portFlag;
+          }
+        }
+      } else {
+        if (opt.$requestParam["Bucket"]) {
+          baseUrl = httpPrefix + this.urlPrefix + "/region-bucket" + portFlag;
+        } else {
+          baseUrl = httpPrefix + this.urlPrefix + "/region" + portFlag;
+        }
+      }
+    } else {
+      baseUrl = httpPrefix + host + portInfo;
+    }
+    let reopt = {
+      method,
+      url: baseUrl + path2,
+      withCredentials: false,
+      headers: ex,
+      validateStatus: function(status) {
+        return status >= 200;
+      },
+      maxRedirects: 0,
+      responseType,
+      data: body,
+      timeout: this.timeout * 1e3,
+      onUploadProgress,
+      onDownloadProgress,
+      cancelToken: new axios$3.CancelToken(function(cancelHook) {
+        opt.$requestParam.cancelHook = cancelHook;
+      })
+    };
+    if (opt.srcFile) {
+      if (!(opt.srcFile instanceof window.File) && !(opt.srcFile instanceof window.Blob)) {
+        return bc(new Error("source file must be an instance of window.File or window.Blob"), null);
+      }
+      let srcFile = opt.srcFile;
+      try {
+        if (opt.Offset >= 0 && opt.PartSize > 0) {
+          srcFile = this.sliceBlob(srcFile, opt.Offset, opt.Offset + opt.PartSize);
+        } else if ("ContentLength" in opt) {
+          let contentLength = parseInt(opt.ContentLength, 10);
+          if (contentLength > 0) {
+            srcFile = this.sliceBlob(srcFile, 0, contentLength);
+          }
+        }
+      } catch (e2) {
+        return bc(e2);
+      }
+      reopt.data = srcFile;
+    }
+    axios$3.request(reopt).then(function(response) {
+      log2.runLog("info", methodName, "http cost " + ((/* @__PURE__ */ new Date()).getTime() - start2) + " ms");
+      that.getRequest(methodName, response, signatureContext, retryCount, opt.$requestParam, bc);
+    }).catch(function(err) {
+      dealingError(err);
+    });
+    return;
+  }
+  let xhr2 = null;
+  try {
+    xhr2 = new XMLHttpRequest();
+  } catch (e2) {
+    try {
+      xhr2 = new ActiveXObject("Msxml2.XMLHTTP");
+    } catch (e1) {
+      try {
+        xhr2 = new ActiveXObject("Microsoft.XMLHTTP");
+      } catch (e22) {
+      }
+    }
+  }
+  if (xhr2 === null) {
+    return bc(new Error("XHR is not available"), null);
+  }
+  if (opt.srcFile) {
+    if (!(opt.srcFile instanceof window.File) && !(opt.srcFile instanceof window.Blob)) {
+      return bc(new Error("source file must be an instance of window.File or window.Blob"), null);
+    }
+    try {
+      let srcFile = opt.srcFile;
+      if (opt.Offset >= 0 && opt.PartSize > 0) {
+        srcFile = this.sliceBlob(srcFile, opt.Offset, opt.Offset + opt.PartSize);
+      } else if ("ContentLength" in opt) {
+        let contentLength = parseInt(opt.ContentLength, 10);
+        if (contentLength > 0) {
+          srcFile = this.sliceBlob(srcFile, 0, contentLength);
+        }
+      }
+      body = srcFile;
+    } catch (e2) {
+      return bc(e2);
+    }
+  }
+  xhr2.open(method, (_isSecure ? "https://" + this.urlPrefix + host : "http://" + this.urlPrefix + host) + path2);
+  xhr2.withCredentials = false;
+  for (let key2 in ex) {
+    if ({}.hasOwnProperty.call(ex, key2)) {
+      xhr2.setRequestHeader(key2, ex[key2]);
+    }
+  }
+  xhr2.timeout = that.timeout * 1e3;
+  xhr2.responseType = responseType;
+  opt.$requestParam.cancelHook = function() {
+    xhr2.abort();
+  };
+  xhr2.onreadystatechange = function() {
+    if (xhr2.readyState === 4 && xhr2.status >= 200) {
+      log2.runLog("info", methodName, "http cost " + ((/* @__PURE__ */ new Date()).getTime() - start2) + " ms");
+      let headers = xhr2.getAllResponseHeaders();
+      let arr = headers.trim().split(/[\r\n]+/);
+      let headerMap = {};
+      for (let i2 = 0; i2 < arr.length; i2++) {
+        let line2 = arr[i2];
+        let parts2 = line2.split(": ");
+        let header = parts2.shift();
+        let value = parts2.join(": ");
+        headerMap[header.toLowerCase()] = value;
+      }
+      let data2 = xhr2.response;
+      if (!data2 && (responseType === "" || responseType === "text")) {
+        data2 = xhr2.responseText;
+      }
+      let response = {
+        status: xhr2.status,
+        headers: headerMap,
+        data: data2
+      };
+      that.getRequest(methodName, response, signatureContext, retryCount, opt.$requestParam, bc);
+    }
+  };
+  let handled = false;
+  let errHandler = function(err) {
+    if (handled) {
+      return;
+    }
+    handled = true;
+    dealingError(err);
+  };
+  xhr2.ontimeout = function() {
+    errHandler(new Error("timeout of " + xhr2.timeout + "ms exceed"));
+  };
+  xhr2.onerror = function() {
+    errHandler(new Error("Network Error"));
+  };
+  xhr2.onabort = function() {
+    errHandler(new Error("Cancel"));
+  };
+  if (xhr2.upload) {
+    xhr2.upload.ontimeout = function() {
+      errHandler(new Error("timeout of " + xhr2.timeout + "ms exceed"));
+    };
+    xhr2.upload.onerror = function() {
+      errHandler(new Error("Network Error"));
+    };
+    xhr2.upload.onabort = function(e2) {
+      errHandler(new Error("Cancel"));
+    };
+  }
+  if (isFunction$2$1(opt.ProgressCallback)) {
+    if (method === "GET" || !xhr2.upload) {
+      xhr2.onprogress = function(event2) {
+        if (event2.lengthComputable) {
+          opt.ProgressCallback(event2.loaded, event2.total, ((/* @__PURE__ */ new Date()).getTime() - start2) / 1e3);
+        }
+      };
+    } else if (method === "PUT" || method === "POST") {
+      xhr2.upload.onprogress = function(event2) {
+        if (event2.lengthComputable) {
+          opt.ProgressCallback(event2.loaded, event2.total, ((/* @__PURE__ */ new Date()).getTime() - start2) / 1e3);
+        }
+      };
+    }
+  }
+  xhr2.send(body);
+};
+Utils.prototype.sendRequest = function(funcName, opt, backcall, retryCount) {
+  if (retryCount === void 0) {
+    retryCount = 1;
+  }
+  let that = this;
+  that.makeRequest(funcName, opt, retryCount, function(err, msg) {
+    if (err && err.message === "redirect") {
+      let uri = urlLib.parse(err.location);
+      if (err.bucketLocation && uri.hostname.indexOf(opt.$requestParam["Bucket"]) !== -1) {
+        opt.$requestParam.redirectRegion = err.bucketLocation;
+      }
+      opt.headers.Host = uri.hostname;
+      opt.protocol = uri.protocol;
+      opt.port = uri.port || (opt.protocol && opt.protocol.toLowerCase().indexOf("https") === 0 ? 443 : 80);
+      that.sendRequest(funcName, opt, backcall, retryCount + 1);
+    } else {
+      backcall(err, msg);
+    }
+  });
+};
+Utils.prototype.doAuth = function(opt, methodName, signatureContext) {
+  let interestHeader = ["Content-MD5", "Content-Type"];
+  let stringToSign = opt.method + "\n";
+  for (let i2 = 0; i2 < interestHeader.length; i2++) {
+    if (interestHeader[i2] in opt.headers) {
+      stringToSign += opt.headers[interestHeader[i2]];
+    }
+    stringToSign += "\n";
+  }
+  if (!(signatureContext.headerPrefix + "date" in opt.headers)) {
+    stringToSign += opt.headers.Date;
+  }
+  stringToSign += "\n";
+  let temp = [];
+  for (let originKey in opt.headers) {
+    if ({}.hasOwnProperty.call(opt.headers, originKey)) {
+      let lowerKey = originKey.toLowerCase();
+      if (lowerKey.indexOf(signatureContext.headerPrefix) === 0) {
+        temp.push({
+          key: lowerKey,
+          value: opt.headers[originKey]
+        });
+      }
+    }
+  }
+  temp = temp.sort(function(obj1, obj2) {
+    if (obj1.key < obj2.key) {
+      return -1;
+    }
+    if (obj1.key > obj2.key) {
+      return 1;
+    }
+    return 0;
+  });
+  for (let i2 = 0; i2 < temp.length; i2++) {
+    let key2 = temp[i2].key;
+    let val = key2.indexOf(signatureContext.headerMetaPrefix) === 0 ? temp[i2].value.trim() : temp[i2].value;
+    stringToSign += key2 + ":" + val + "\n";
+  }
+  let path2 = opt.uri;
+  if (this.isCname) {
+    if (path2 === "/") {
+      path2 += opt.headers.Host + "/";
+    } else if (path2.indexOf("/") === 0) {
+      path2 = "/" + opt.headers.Host + path2;
+    }
+  }
+  if (opt.urlPath) {
+    let _path2 = opt.urlPath.slice(1);
+    let arrPath = _path2.split("&").sort();
+    let urlPath = "";
+    for (let i2 = 0; i2 < arrPath.length; i2++) {
+      let listvar = arrPath[i2].split("=");
+      let key2 = decodeURIComponent(listvar[0]);
+      if (allowedResourceParameterNames.indexOf(key2.toLowerCase()) >= 0) {
+        urlPath += urlPath === "" ? "?" : "&";
+        urlPath += key2;
+        if (listvar.length === 2 && listvar[1]) {
+          urlPath += "=" + decodeURIComponent(listvar[1]);
+        }
+      }
+    }
+    path2 += urlPath;
+  }
+  stringToSign += path2;
+  this.log.runLog("debug", methodName, "stringToSign:" + stringToSign);
+  opt.headers.Authorization = signatureContext.authPrefix + " " + this.ak + ":" + crypto.createHmac("sha1", this.sk).update(stringToSign).digest("base64");
+};
+Utils.prototype.v4Auth = function(opt, methodName, signatureContext) {
+  opt.headers[signatureContext.headerPrefix + "content-sha256"] = CONTENT_SHA256;
+  let header = opt.headers;
+  let log2 = this.log;
+  let shortDate = null;
+  let longDate = null;
+  if (signatureContext.headerPrefix + "date" in header) {
+    longDate = header[signatureContext.headerPrefix + "date"];
+    shortDate = longDate.slice(0, longDate.indexOf("T"));
+  } else {
+    let dates = getDates(header.Date);
+    shortDate = dates[0];
+    longDate = dates[1];
+  }
+  let credenttial = this.ak + "/" + shortDate + "/" + this.region + "/s3/aws4_request";
+  let signedAndCanonicalHeaders = getSignedAndCanonicalHeaders(header);
+  let signedHeaders = signedAndCanonicalHeaders[0];
+  let canonicalHeaders = signedAndCanonicalHeaders[1];
+  let canonicalQueryString = "";
+  if (opt.urlPath) {
+    let path2 = opt.urlPath.slice(1);
+    let arrPath = path2.split("&");
+    arrPath = arrPath.sort();
+    for (let i2 = 0; i2 < arrPath.length; i2++) {
+      canonicalQueryString += arrPath[i2];
+      if (arrPath[i2].indexOf("=") === -1) {
+        canonicalQueryString += "=";
+      }
+      if (i2 !== arrPath.length - 1) {
+        canonicalQueryString += "&";
+      }
+    }
+  }
+  let canonicalRequest = opt.method + "\n";
+  canonicalRequest += opt.uri + "\n";
+  canonicalRequest += canonicalQueryString + "\n";
+  canonicalRequest += canonicalHeaders + "\n";
+  canonicalRequest += signedHeaders + "\n";
+  canonicalRequest += CONTENT_SHA256;
+  log2.runLog("debug", methodName, "canonicalRequest:" + canonicalRequest);
+  let signature = getV4Signature(shortDate, longDate, this.sk, this.region, canonicalRequest);
+  opt.headers.Authorization = "AWS4-HMAC-SHA256 Credential=" + credenttial + ",SignedHeaders=" + signedHeaders + ",Signature=" + signature;
+};
+Utils.prototype.bufMD5 = function(buf) {
+  return crypto.createHash("md5").update(buf).digest("base64");
+};
+Utils.prototype.rawBufMD5 = function(buf) {
+  return crypto.createHash("md5").update(buf).digest("rawbase64");
+};
+Utils.prototype.createSignedUrlSync = function(param2) {
+  let signatureContext = param2.signatureContext || this.signatureContext;
+  return signatureContext.signature.toLowerCase() === "v4" ? this.createV4SignedUrlSync(param2) : this.createV2SignedUrlSync(param2);
+};
+Utils.prototype.createV2SignedUrlSync = function(param2) {
+  param2 = param2 || {};
+  let signatureContext = param2.signatureContext || this.signatureContext;
+  let method = param2.Method ? String(param2.Method) : "GET";
+  let bucketName = param2.Bucket ? String(param2.Bucket) : null;
+  let objectKey = param2.Key ? String(param2.Key) : null;
+  let specialParam = param2.SpecialParam ? String(param2.SpecialParam) : null;
+  if (signatureContext.signature.toLowerCase() === "obs" && specialParam === "storagePolicy") {
+    specialParam = "storageClass";
+  } else if (signatureContext.signature.toLowerCase() === "v2" && specialParam === "storageClass") {
+    specialParam = "storagePolicy";
+  }
+  let policy = param2.Policy ? String(param2.Policy) : null;
+  let prefix = param2.Prefix ? String(param2.Prefix) : null;
+  let expires = param2.Expires ? parseInt(param2.Expires, 10) : 300;
+  let headers = {};
+  if (param2.Headers && param2.Headers instanceof Object && !(param2.Headers instanceof Array)) {
+    for (let key2 in param2.Headers) {
+      if ({}.hasOwnProperty.call(param2.Headers, key2)) {
+        headers[key2] = param2.Headers[key2];
+      }
+    }
+  }
+  let queryParams = {};
+  if (param2.QueryParams && param2.QueryParams instanceof Object && !(param2.QueryParams instanceof Array)) {
+    for (let key2 in param2.QueryParams) {
+      if ({}.hasOwnProperty.call(param2.QueryParams, key2)) {
+        queryParams[key2] = param2.QueryParams[key2];
+      }
+    }
+  }
+  if (this.securityToken && !queryParams[signatureContext.headerPrefix + "security-token"]) {
+    queryParams[signatureContext.headerPrefix + "security-token"] = this.securityToken;
+  }
+  let result2 = "";
+  let resource = "";
+  let host = this.server;
+  if (this.isCname) {
+    resource += "/" + host + "/";
+  } else if (bucketName) {
+    resource += "/" + bucketName;
+    if (this.pathStyle) {
+      result2 += "/" + bucketName;
+    } else {
+      host = bucketName + "." + host;
+      resource += "/";
+    }
+  }
+  if (objectKey) {
+    objectKey = encodeURIWithSafe(objectKey, "/");
+    result2 += "/" + objectKey;
+    if (resource.lastIndexOf("/") !== resource.length - 1) {
+      resource += "/";
+    }
+    resource += objectKey;
+  }
+  if (resource === "") {
+    resource = "/";
+  }
+  result2 += "?";
+  if (specialParam) {
+    queryParams[specialParam] = "";
+  }
+  if (signatureContext.signature.toLowerCase() === "v2") {
+    queryParams.AWSAccessKeyId = this.ak;
+  } else {
+    queryParams.AccessKeyId = this.ak;
+  }
+  if (expires < 0) {
+    expires = 300;
+  }
+  expires = parseInt((/* @__PURE__ */ new Date()).getTime() / 1e3, 10) + expires;
+  if (policy && prefix) {
+    queryParams.Policy = policy;
+    queryParams.prefix = prefix;
+  } else {
+    queryParams.Expires = String(expires);
+  }
+  let interestHeaders = {};
+  for (let name2 in headers) {
+    if ({}.hasOwnProperty.call(headers, name2)) {
+      let key2 = String(name2).toLowerCase();
+      if (key2 === "content-type" || key2 === "content-md5" || key2.length > signatureContext.headerPrefix.length && key2.slice(0, signatureContext.headerPrefix.length) === signatureContext.headerPrefix) {
+        interestHeaders[key2] = headers[name2];
+      }
+    }
+  }
+  let queryParamsKeys = [];
+  for (let key2 in queryParams) {
+    if ({}.hasOwnProperty.call(queryParams, key2)) {
+      queryParamsKeys.push(key2);
+    }
+  }
+  queryParamsKeys.sort();
+  let isShareFolder = policy && prefix;
+  let flag = false;
+  let _resource = [];
+  let safeKey = policy && prefix ? "" : "/";
+  for (let i2 = 0; i2 < queryParamsKeys.length; i2++) {
+    let key2 = queryParamsKeys[i2];
+    let val = queryParams[key2];
+    key2 = encodeURIWithSafe(key2, safeKey);
+    val = encodeURIWithSafe(val, safeKey);
+    result2 += key2;
+    if (val) {
+      result2 += "=" + val;
+    }
+    if ((!isShareFolder || key2.toLowerCase() !== "policy") && (allowedResourceParameterNames.indexOf(key2.toLowerCase()) >= 0 || key2.toLowerCase().indexOf(signatureContext.headerPrefix) === 0)) {
+      flag = true;
+      let _val = val ? key2 + "=" + decodeURIComponent(val) : key2;
+      _resource.push(_val);
+    }
+    result2 += "&";
+  }
+  _resource = _resource.join("&");
+  if (flag) {
+    _resource = "?" + _resource;
+  }
+  resource += _resource;
+  let stringToSign = [method];
+  stringToSign.push("\n");
+  if ("content-md5" in interestHeaders) {
+    stringToSign.push(interestHeaders["content-md5"]);
+  }
+  stringToSign.push("\n");
+  if ("content-type" in interestHeaders) {
+    stringToSign.push(interestHeaders["content-type"]);
+  }
+  stringToSign.push("\n");
+  if (isShareFolder) {
+    stringToSign.push(policy);
+  } else {
+    stringToSign.push(String(expires));
+  }
+  stringToSign.push("\n");
+  if (!isShareFolder) {
+    let temp = [];
+    let i2 = 0;
+    for (let key2 in interestHeaders) {
+      if (key2.length > signatureContext.headerPrefix.length && key2.slice(0, signatureContext.headerPrefix.length) === signatureContext.headerPrefix) {
+        temp[i2++] = key2;
+      }
+    }
+    temp = temp.sort();
+    for (let j2 = 0; j2 < temp.length; j2++) {
+      stringToSign.push(temp[j2]);
+      stringToSign.push(":");
+      stringToSign.push(interestHeaders[temp[j2]]);
+      stringToSign.push("\n");
+    }
+    stringToSign.push(resource);
+  } else {
+    stringToSign.push(_resource);
+  }
+  let hmac2 = crypto.createHmac("sha1", this.sk);
+  hmac2.update(stringToSign.join(""));
+  if (isShareFolder) {
+    result2 += "Signature=" + encodeURIWithSafe(hmac2.digest("base64"));
+  } else {
+    result2 += "Signature=" + encodeURIWithSafe(hmac2.digest("base64"), "/");
+  }
+  return {
+    ActualSignedRequestHeaders: headers,
+    SignedUrl: (this.isSecure ? "https" : "http") + "://" + host + ":" + this.port + result2
+  };
+};
+Utils.prototype.createV4SignedUrlSync = function(param2) {
+  param2 = param2 || {};
+  let signatureContext = param2.signatureContext || this.signatureContext;
+  let method = param2.Method ? String(param2.Method) : "GET";
+  let bucketName = param2.Bucket ? String(param2.Bucket) : null;
+  let objectKey = param2.Key ? String(param2.Key) : null;
+  let specialParam = param2.SpecialParam ? String(param2.SpecialParam) : null;
+  if (specialParam === "storageClass") {
+    specialParam = "storagePolicy";
+  }
+  let expires = param2.Expires ? parseInt(param2.Expires, 10) : 300;
+  let headers = {};
+  if (param2.Headers && param2.Headers instanceof Object && !(param2.Headers instanceof Array)) {
+    for (let key2 in param2.Headers) {
+      if ({}.hasOwnProperty.call(param2.Headers, key2)) {
+        headers[key2] = param2.Headers[key2];
+      }
+    }
+  }
+  let queryParams = {};
+  if (param2.QueryParams && param2.QueryParams instanceof Object && !(param2.QueryParams instanceof Array)) {
+    for (let key2 in param2.QueryParams) {
+      if ({}.hasOwnProperty.call(param2.QueryParams, key2)) {
+        queryParams[key2] = param2.QueryParams[key2];
+      }
+    }
+  }
+  if (this.securityToken && !queryParams[signatureContext.headerPrefix + "security-token"]) {
+    queryParams[signatureContext.headerPrefix + "security-token"] = this.securityToken;
+  }
+  let result2 = "";
+  let resource = "";
+  let host = this.server;
+  if (bucketName) {
+    if (this.pathStyle) {
+      result2 += "/" + bucketName;
+      resource += "/" + bucketName;
+    } else {
+      host = bucketName + "." + host;
+    }
+  }
+  if (objectKey) {
+    objectKey = encodeURIWithSafe(objectKey, "/");
+    result2 += "/" + objectKey;
+    resource += "/" + objectKey;
+  }
+  if (resource === "") {
+    resource = "/";
+  }
+  result2 += "?";
+  if (specialParam) {
+    queryParams[specialParam] = "";
+  }
+  if (expires < 0) {
+    expires = 300;
+  }
+  let utcDateStr = headers["date"] || headers["Date"] || (/* @__PURE__ */ new Date()).toUTCString();
+  let dates = getDates(utcDateStr);
+  let shortDate = dates[0];
+  let longDate = dates[1];
+  headers.Host = host + (this.port === 80 || this.port === 443 ? "" : ":" + this.port);
+  queryParams["X-Amz-Algorithm"] = "AWS4-HMAC-SHA256";
+  queryParams["X-Amz-Credential"] = this.ak + "/" + shortDate + "/" + this.region + "/s3/aws4_request";
+  queryParams["X-Amz-Date"] = longDate;
+  queryParams["X-Amz-Expires"] = String(expires);
+  let signedAndCanonicalHeaders = getSignedAndCanonicalHeaders(headers);
+  queryParams["X-Amz-SignedHeaders"] = signedAndCanonicalHeaders[0];
+  let _queryParams = {};
+  let queryParamsKeys = [];
+  for (let key2 in queryParams) {
+    if ({}.hasOwnProperty.call(queryParams, key2)) {
+      let val = queryParams[key2];
+      key2 = encodeURIWithSafe(key2, "/");
+      val = encodeURIWithSafe(val);
+      _queryParams[key2] = val;
+      queryParamsKeys.push(key2);
+      result2 += key2;
+      if (val) {
+        result2 += "=" + val;
+      }
+      result2 += "&";
+    }
+  }
+  let canonicalQueryString = "";
+  queryParamsKeys.sort();
+  for (let i2 = 0; i2 < queryParamsKeys.length; ) {
+    canonicalQueryString += queryParamsKeys[i2] + "=" + _queryParams[queryParamsKeys[i2]];
+    if (++i2 !== queryParamsKeys.length) {
+      canonicalQueryString += "&";
+    }
+  }
+  let canonicalRequest = method + "\n";
+  canonicalRequest += resource + "\n";
+  canonicalRequest += canonicalQueryString + "\n";
+  canonicalRequest += signedAndCanonicalHeaders[1] + "\n";
+  canonicalRequest += signedAndCanonicalHeaders[0] + "\n";
+  canonicalRequest += "UNSIGNED-PAYLOAD";
+  let signature = getV4Signature(shortDate, longDate, this.sk, this.region, canonicalRequest);
+  result2 += "X-Amz-Signature=" + encodeURIWithSafe(signature);
+  return {
+    ActualSignedRequestHeaders: headers,
+    SignedUrl: (this.isSecure ? "https" : "http") + "://" + host + ":" + this.port + result2
+  };
+};
+Utils.prototype.createPostSignatureSync = function(param2) {
+  let signatureContext = param2.signatureContext || this.signatureContext;
+  if (signatureContext.signature === "v4") {
+    return this.createV4PostSignatureSync(param2);
+  }
+  param2 = param2 || {};
+  let bucketName = param2.Bucket ? String(param2.Bucket) : null;
+  let objectKey = param2.Key ? String(param2.Key) : null;
+  let expires = param2.Expires ? parseInt(param2.Expires, 10) : 300;
+  let formParams = {};
+  if (param2.FormParams && param2.FormParams instanceof Object && !(param2.FormParams instanceof Array)) {
+    for (let key2 in param2.FormParams) {
+      if ({}.hasOwnProperty.call(param2.FormParams, key2)) {
+        formParams[key2] = param2.FormParams[key2];
+      }
+    }
+  }
+  if (this.securityToken && !formParams[signatureContext.headerPrefix + "security-token"]) {
+    formParams[signatureContext.headerPrefix + "security-token"] = this.securityToken;
+  }
+  let expireDate = /* @__PURE__ */ new Date();
+  expireDate.setTime(parseInt((/* @__PURE__ */ new Date()).getTime(), 10) + expires * 1e3);
+  expireDate = getExpireDate(expireDate.toUTCString());
+  if (bucketName) {
+    formParams.bucket = bucketName;
+  }
+  if (objectKey) {
+    formParams.key = objectKey;
+  }
+  let policy = [];
+  policy.push('{"expiration":"');
+  policy.push(expireDate);
+  policy.push('", "conditions":[');
+  let matchAnyBucket = true;
+  let matchAnyKey = true;
+  let conditionAllowKeys = ["acl", "bucket", "key", "success_action_redirect", "redirect", "success_action_status"];
+  for (let key2 in formParams) {
+    if (!key2) {
+      continue;
+    }
+    let val = formParams[key2];
+    key2 = String(key2).toLowerCase();
+    if (key2 === "bucket") {
+      matchAnyBucket = false;
+    } else if (key2 === "key") {
+      matchAnyKey = false;
+    }
+    if (allowedResponseHttpHeaderMetadataNames.indexOf(key2) < 0 && conditionAllowKeys.indexOf(key2) < 0 && key2.indexOf(signatureContext.headerPrefix) !== 0) {
+      continue;
+    }
+    policy.push('{"');
+    policy.push(key2);
+    policy.push('":"');
+    policy.push(val !== null ? String(val) : "");
+    policy.push('"},');
+  }
+  if (matchAnyBucket) {
+    policy.push('["starts-with", "$bucket", ""],');
+  }
+  if (matchAnyKey) {
+    policy.push('["starts-with", "$key", ""],');
+  }
+  policy.push("]}");
+  let originPolicy = policy.join("");
+  if (window.btoa) {
+    policy = window.btoa(originPolicy);
+  } else {
+    policy = gBase64.encode(originPolicy);
+  }
+  let signature = crypto.createHmac("sha1", this.sk).update(policy).digest("base64");
+  return {
+    OriginPolicy: originPolicy,
+    Policy: policy,
+    Signature: signature,
+    Token: this.ak + ":" + signature + ":" + policy
+  };
+};
+Utils.prototype.createV4PostSignatureSync = function(param2) {
+  param2 = param2 || {};
+  let signatureContext = param2.signatureContext || this.signatureContext;
+  let bucketName = param2.Bucket ? String(param2.Bucket) : null;
+  let objectKey = param2.Key ? String(param2.Key) : null;
+  let expires = param2.Expires ? parseInt(param2.Expires, 10) : 300;
+  let formParams = {};
+  if (param2.FormParams && param2.FormParams instanceof Object && !(param2.FormParams instanceof Array)) {
+    for (let key2 in param2.FormParams) {
+      if ({}.hasOwnProperty.call(param2.FormParams, key2)) {
+        formParams[key2] = param2.FormParams[key2];
+      }
+    }
+  }
+  if (this.securityToken && !formParams[signatureContext.headerPrefix + "security-token"]) {
+    formParams[signatureContext.headerPrefix + "security-token"] = this.securityToken;
+  }
+  let utcDateStr = (/* @__PURE__ */ new Date()).toUTCString();
+  let dates = getDates(utcDateStr);
+  let shortDate = dates[0];
+  let longDate = dates[1];
+  let credential = this.ak + "/" + shortDate + "/" + this.region + "/s3/aws4_request";
+  let expireDate = /* @__PURE__ */ new Date();
+  expireDate.setTime(parseInt((/* @__PURE__ */ new Date()).getTime(), 10) + expires * 1e3);
+  expireDate = getExpireDate(expireDate.toUTCString());
+  formParams["X-Amz-Algorithm"] = "AWS4-HMAC-SHA256";
+  formParams["X-Amz-Date"] = longDate;
+  formParams["X-Amz-Credential"] = credential;
+  if (bucketName) {
+    formParams.bucket = bucketName;
+  }
+  if (objectKey) {
+    formParams.key = objectKey;
+  }
+  let policy = [];
+  policy.push('{"expiration":"');
+  policy.push(expireDate);
+  policy.push('", "conditions":[');
+  let matchAnyBucket = true;
+  let matchAnyKey = true;
+  let conditionAllowKeys = ["acl", "bucket", "key", "success_action_redirect", "redirect", "success_action_status"];
+  for (let key2 in formParams) {
+    if (!key2) {
+      continue;
+    }
+    let val = formParams[key2];
+    key2 = String(key2).toLowerCase();
+    if (key2 === "bucket") {
+      matchAnyBucket = false;
+    } else if (key2 === "key") {
+      matchAnyKey = false;
+    }
+    if (allowedResponseHttpHeaderMetadataNames.indexOf(key2) < 0 && conditionAllowKeys.indexOf(key2) < 0 && key2.indexOf(signatureContext.headerPrefix) !== 0) {
+      continue;
+    }
+    policy.push('{"');
+    policy.push(key2);
+    policy.push('":"');
+    policy.push(val !== null ? String(val) : "");
+    policy.push('"},');
+  }
+  if (matchAnyBucket) {
+    policy.push('["starts-with", "$bucket", ""],');
+  }
+  if (matchAnyKey) {
+    policy.push('["starts-with", "$key", ""],');
+  }
+  policy.push("]}");
+  let originPolicy = policy.join("");
+  if (window.btoa) {
+    policy = window.btoa(originPolicy);
+  } else {
+    policy = gBase64.encode(originPolicy);
+  }
+  let signature = createV4Signature(shortDate, this.sk, this.region, policy);
+  return {
+    OriginPolicy: originPolicy,
+    Policy: policy,
+    Algorithm: formParams["X-Amz-Algorithm"],
+    Credential: formParams["X-Amz-Credential"],
+    Date: formParams["X-Amz-Date"],
+    Signature: signature
+  };
+};
+const OFF = Number.MAX_VALUE;
+const DEBUG = 10;
+const INFO = 20;
+const WARN = 30;
+const ERROR = 40;
+function LogUtil() {
+  this.consoleLog = window.console;
+  this._level = OFF;
+}
+LogUtil.prototype.setLevel = function(level) {
+  if (!level) {
+    return;
+  }
+  level = String(level).toLowerCase();
+  if (level === "info") {
+    level = INFO;
+  } else if (level === "warn") {
+    level = WARN;
+  } else if (level === "error") {
+    level = ERROR;
+  } else if (level === "debug") {
+    level = DEBUG;
+  } else {
+    level = OFF;
+  }
+  this._level = level;
+};
+LogUtil.prototype.runLog = function(level, methodName, msg) {
+  if (!level) {
+    return;
+  }
+  let form2 = [(/* @__PURE__ */ new Date()).toLocaleString(), level.toLowerCase(), methodName, msg].join("|");
+  if (level.toLowerCase() === "debug" && this._level <= DEBUG) {
+    this.consoleLog.debug(form2);
+  } else if (level.toLowerCase() === "info" && this._level <= INFO) {
+    this.consoleLog.info(form2);
+  } else if (level.toLowerCase() === "warn" && this._level <= WARN) {
+    this.consoleLog.warn(form2);
+  } else if (level.toLowerCase() === "error" && this._level <= ERROR) {
+    this.consoleLog.error(form2);
+  }
+};
+var enums$1 = {};
+var AclPrivate = enums$1.AclPrivate = "private";
+var AclPublicRead = enums$1.AclPublicRead = "public-read";
+var AclPublicReadWrite = enums$1.AclPublicReadWrite = "public-read-write";
+var AclPublicReadDelivered = enums$1.AclPublicReadDelivered = "public-read-delivered";
+var AclPublicReadWriteDelivered = enums$1.AclPublicReadWriteDelivered = "public-read-write-delivered";
+var AclAuthenticatedRead = enums$1.AclAuthenticatedRead = "authenticated-read";
+var AclBucketOwnerRead = enums$1.AclBucketOwnerRead = "bucket-owner-read";
+var AclBucketOwnerFullControl = enums$1.AclBucketOwnerFullControl = "bucket-owner-full-control";
+var AclLogDeliveryWrite = enums$1.AclLogDeliveryWrite = "log-delivery-write";
+var StorageClassStandard = enums$1.StorageClassStandard = "STANDARD";
+var StorageClassWarm = enums$1.StorageClassWarm = "WARM";
+var StorageClassCold = enums$1.StorageClassCold = "COLD";
+var PermissionRead = enums$1.PermissionRead = "READ";
+var PermissionWrite = enums$1.PermissionWrite = "WRITE";
+var PermissionReadAcp = enums$1.PermissionReadAcp = "READ_ACP";
+var PermissionWriteAcp = enums$1.PermissionWriteAcp = "WRITE_ACP";
+var PermissionFullControl = enums$1.PermissionFullControl = "FULL_CONTROL";
+var GroupAllUsers = enums$1.GroupAllUsers = "AllUsers";
+var GroupAuthenticatedUsers = enums$1.GroupAuthenticatedUsers = "AuthenticatedUsers";
+var GroupLogDelivery = enums$1.GroupLogDelivery = "LogDelivery";
+var RestoreTierExpedited = enums$1.RestoreTierExpedited = "Expedited";
+var RestoreTierStandard = enums$1.RestoreTierStandard = "Standard";
+var RestoreTierBulk = enums$1.RestoreTierBulk = "Bulk";
+var GranteeGroup = enums$1.GranteeGroup = "Group";
+var GranteeUser = enums$1.GranteeUser = "CanonicalUser";
+var CopyMetadata = enums$1.CopyMetadata = "COPY";
+var ReplaceMetadata = enums$1.ReplaceMetadata = "REPLACE";
+var EventObjectCreatedAll = enums$1.EventObjectCreatedAll = "ObjectCreated:*";
+var EventObjectCreatedPut = enums$1.EventObjectCreatedPut = "ObjectCreated:Put";
+var EventObjectCreatedPost = enums$1.EventObjectCreatedPost = "ObjectCreated:Post";
+var EventObjectCreatedCopy = enums$1.EventObjectCreatedCopy = "ObjectCreated:Copy";
+var EventObjectCreatedCompleteMultipartUpload = enums$1.EventObjectCreatedCompleteMultipartUpload = "ObjectCreated:CompleteMultipartUpload";
+var EventObjectRemovedAll = enums$1.EventObjectRemovedAll = "ObjectRemoved:*";
+var EventObjectRemovedDelete = enums$1.EventObjectRemovedDelete = "ObjectRemoved:Delete";
+var EventObjectRemovedDeleteMarkerCreated = enums$1.EventObjectRemovedDeleteMarkerCreated = "ObjectRemoved:DeleteMarkerCreated";
+var enums = /* @__PURE__ */ _mergeNamespaces({
+  __proto__: null,
+  "default": enums$1,
+  AclPrivate,
+  AclPublicRead,
+  AclPublicReadWrite,
+  AclPublicReadDelivered,
+  AclPublicReadWriteDelivered,
+  AclAuthenticatedRead,
+  AclBucketOwnerRead,
+  AclBucketOwnerFullControl,
+  AclLogDeliveryWrite,
+  StorageClassStandard,
+  StorageClassWarm,
+  StorageClassCold,
+  PermissionRead,
+  PermissionWrite,
+  PermissionReadAcp,
+  PermissionWriteAcp,
+  PermissionFullControl,
+  GroupAllUsers,
+  GroupAuthenticatedUsers,
+  GroupLogDelivery,
+  RestoreTierExpedited,
+  RestoreTierStandard,
+  RestoreTierBulk,
+  GranteeGroup,
+  GranteeUser,
+  CopyMetadata,
+  ReplaceMetadata,
+  EventObjectCreatedAll,
+  EventObjectCreatedPut,
+  EventObjectCreatedPost,
+  EventObjectCreatedCopy,
+  EventObjectCreatedCompleteMultipartUpload,
+  EventObjectRemovedAll,
+  EventObjectRemovedDelete,
+  EventObjectRemovedDeleteMarkerCreated
+}, [enums$1]);
+let wrapCallback$1 = function(callback, log2, methodName) {
+  callback = callback || function() {
+  };
+  let start2 = (/* @__PURE__ */ new Date()).getTime();
+  return function(err, result2) {
+    log2.runLog("info", methodName, "ObsClient cost " + ((/* @__PURE__ */ new Date()).getTime() - start2) + " ms");
+    if (Object.prototype.toString.call(err) === "[object String]") {
+      return callback(new Error(err), result2);
+    }
+    return callback(err, result2);
+  };
+};
+let wrapEventCallback$1 = function(eventCallback) {
+  eventCallback = eventCallback || function() {
+  };
+  return function(t2, key2, result2) {
+    if (Object.prototype.toString.call(result2) === "[object Error]") {
+      return eventCallback(t2, key2, result2);
+    }
+    if (Object.prototype.toString.call(result2) === "[object String]") {
+      return eventCallback(t2, key2, new Error(result2));
+    }
+    if (!result2) {
+      return;
+    }
+    if (result2.CommonMsg.Status > 300) {
+      return eventCallback(t2, key2, new Error("status:" + result2.CommonMsg.Status + ", code:" + result2.CommonMsg.Code + ", message:" + result2.CommonMsg.Message));
+    }
+    eventCallback(t2, key2, result2);
+  };
+};
+let checkPrefix = function(prefix) {
+  if (Object.prototype.toString.call(prefix) === "[object String]" && prefix.lastIndexOf("/") !== prefix.length - 1) {
+    prefix += "/";
+  }
+  return prefix;
+};
+let posix = {};
+posix.extend = function(ObsClient2) {
+  ObsClient2.prototype.dropFile = function(param2, callback) {
+    this.deleteObject(param2, callback);
+  };
+  ObsClient2.prototype.dropFolder = function(param2, callback) {
+    let that = this;
+    param2 = param2 || {};
+    let _callback = wrapCallback$1(callback, that.log, "dropFolder");
+    let eventCallback = wrapEventCallback$1(param2.EventCallback);
+    let taskNum = param2.TaskNum || 1;
+    let runningTask = 0;
+    let taskQueue = [];
+    let doNext = function() {
+      while (runningTask < taskNum && taskQueue.length > 0) {
+        taskQueue.shift()();
+      }
+    };
+    let doDropOne = function(key2, ctx, done, dryRun) {
+      if (dryRun) {
+        ctx.finished++;
+        done(ctx);
+        return;
+      }
+      let task2 = function() {
+        runningTask++;
+        that.dropFile({
+          Bucket: ctx.bucket,
+          Key: key2
+        }, function(err, result2) {
+          runningTask--;
+          ctx.finished++;
+          doNext();
+          if (err) {
+            eventCallback("dropFileFailed", key2, err);
+            ctx.subDeleted = false;
+          } else if (result2.CommonMsg.Status >= 300) {
+            eventCallback("dropFileFailed", key2, result2);
+            ctx.subDeleted = false;
+          } else {
+            eventCallback("dropFileSucceed", key2, result2);
+          }
+          done(ctx);
+        });
+      };
+      if (runningTask < taskNum) {
+        task2();
+      } else {
+        taskQueue.push(task2);
+      }
+    };
+    let delimiter = "/";
+    let createDone = function(subFolder, ctx, done) {
+      return function(subCtx) {
+        if (!subCtx.isTruncated && subCtx.finished === subCtx.total && subCtx.subDeleted) {
+          doDropOne(subFolder, ctx, done, false);
+        }
+      };
+    };
+    let recursiveDropByFolder = function(ctx, bucket, prefix, marker, done) {
+      runningTask++;
+      that.listObjects({
+        Bucket: bucket,
+        Prefix: prefix,
+        Delimiter: delimiter,
+        Marker: marker
+      }, function(err, result2) {
+        runningTask--;
+        if (err) {
+          return _callback(err);
+        }
+        if (result2.CommonMsg.Status >= 300) {
+          return _callback(null, result2);
+        }
+        ctx.total += result2.InterfaceResult.Contents.length;
+        ctx.total += result2.InterfaceResult.CommonPrefixes.length;
+        if (ctx.total === 0) {
+          done(ctx);
+          return;
+        }
+        ctx.isTruncated = result2.InterfaceResult.IsTruncated === "true";
+        let createRecursiveDropByFolderTask = function(subFolder) {
+          return function() {
+            recursiveDropByFolder({ total: 0, finished: 0, isTruncated: false, bucket, subDeleted: true }, bucket, subFolder, null, createDone(subFolder, ctx, done));
+          };
+        };
+        for (let j2 = 0; j2 < result2.InterfaceResult.CommonPrefixes.length; j2++) {
+          let subFolder = checkPrefix(result2.InterfaceResult.CommonPrefixes[j2]["Prefix"]);
+          if (runningTask < taskNum) {
+            recursiveDropByFolder({ total: 0, finished: 0, isTruncated: false, bucket, subDeleted: true }, bucket, subFolder, null, createDone(subFolder, ctx, done));
+          } else {
+            taskQueue.push(createRecursiveDropByFolderTask(subFolder));
+          }
+        }
+        for (let j2 = 0; j2 < result2.InterfaceResult.Contents.length; j2++) {
+          let key2 = result2.InterfaceResult.Contents[j2]["Key"];
+          doDropOne(key2, ctx, done, key2.lastIndexOf(delimiter) === key2.length - 1);
+        }
+        if (ctx.isTruncated) {
+          if (runningTask < taskNum) {
+            recursiveDropByFolder(ctx, bucket, prefix, result2.InterfaceResult.NextMarker, done);
+          } else {
+            taskQueue.push(function() {
+              recursiveDropByFolder(ctx, bucket, prefix, result2.InterfaceResult.NextMarker, done);
+            });
+          }
+        }
+      });
+    };
+    let folder = checkPrefix(param2.Prefix);
+    recursiveDropByFolder({ total: 0, finished: 0, isTruncated: false, bucket: param2.Bucket, subDeleted: true }, param2.Bucket, folder, null, function(ctx) {
+      if (ctx.isTruncated || ctx.finished !== ctx.total) {
+        return;
+      }
+      if (ctx.subDeleted) {
+        that.dropFile({
+          Bucket: ctx.bucket,
+          Key: folder
+        }, function(err, result2) {
+          if (err) {
+            eventCallback("dropFileFailed", folder, err);
+            return _callback(err);
+          }
+          if (result2.CommonMsg.Status >= 300) {
+            eventCallback("dropFileFailed", folder, result2);
+            return _callback(null, result2);
+          }
+          eventCallback("dropFileSucceed", folder, result2);
+          return _callback(null, result2);
+        });
+        return;
+      }
+      let errMessage = "drop folder " + folder + " failed due to child file deletion failed";
+      eventCallback("dropFileFailed", folder, new Error(errMessage));
+      _callback(errMessage);
+    });
+  };
+};
+const minPartSize = 100 * 1024;
+const defaultPartSize = 9 * 1024 * 1024;
+const maxPartSize = 5 * 1024 * 1024 * 1024;
+let wrapCallback = function(callback, log2, methodName) {
+  callback = callback || function() {
+  };
+  let start2 = (/* @__PURE__ */ new Date()).getTime();
+  return function(err, result2) {
+    log2.runLog("info", methodName, "ObsClient cost " + ((/* @__PURE__ */ new Date()).getTime() - start2) + " ms");
+    if (Object.prototype.toString.call(err) === "[object String]") {
+      return callback(new Error(err), result2);
+    }
+    return callback(err, result2);
+  };
+};
+let isFunction$1$1 = function(obj2) {
+  return Object.prototype.toString.call(obj2) === "[object Function]";
+};
+let wrapEventCallback = function(eventCallback) {
+  eventCallback = eventCallback || function() {
+  };
+  return function(t2, eventParam, result2) {
+    if (Object.prototype.toString.call(result2) === "[object Error]") {
+      return eventCallback(t2, eventParam, result2);
+    }
+    if (Object.prototype.toString.call(result2) === "[object String]") {
+      return eventCallback(t2, eventParam, new Error(result2));
+    }
+    if (!result2) {
+      return;
+    }
+    if (result2.CommonMsg.Status > 300) {
+      return eventCallback(t2, eventParam, new Error("status:" + result2.CommonMsg.Status + ", code:" + result2.CommonMsg.Code + ", message:" + result2.CommonMsg.Message));
+    }
+    eventCallback(t2, eventParam, result2);
+  };
+};
+let calculateUploadCheckpointMD5 = function(uploadCheckpoint) {
+  let data2 = [];
+  data2.push(uploadCheckpoint.bucket);
+  data2.push(uploadCheckpoint.key);
+  data2.push(uploadCheckpoint.sourceFile.name);
+  data2.push(String(uploadCheckpoint.partSize));
+  data2.push(String(uploadCheckpoint.partCount));
+  data2.push(String(uploadCheckpoint.fileStat.fileSize));
+  data2.push(String(uploadCheckpoint.fileStat.lastModified));
+  if (uploadCheckpoint.uploadId) {
+    data2.push(uploadCheckpoint.uploadId);
+  }
+  if (uploadCheckpoint.sseC) {
+    data2.push(uploadCheckpoint.sseC);
+  }
+  if (uploadCheckpoint.sseCKey) {
+    data2.push(uploadCheckpoint.sseCKey);
+  }
+  if (uploadCheckpoint.parts) {
+    for (let i2 = 0; i2 < uploadCheckpoint.parts.length; i2++) {
+      let part = uploadCheckpoint.parts[i2];
+      if (!part) {
+        continue;
+      }
+      data2.push(String(part.partNumber));
+      data2.push(String(part.offset));
+      data2.push(String(part.partSize));
+      data2.push(String(part.isCompleted));
+      if (part.etag) {
+        data2.push(String(part.etag));
+      }
+    }
+  }
+  return window.btoa(md5(data2.join(""), false, true));
+};
+let abortRequest = function(uploadCheckpoint, funcName, that) {
+  if (uploadCheckpoint && uploadCheckpoint.uploadId) {
+    that.abortMultipartUpload({
+      Bucket: uploadCheckpoint.bucket,
+      Key: uploadCheckpoint.key,
+      RequestDate: uploadCheckpoint.requestDate,
+      UploadId: uploadCheckpoint.uploadId
+    }, function(err, result2) {
+      if (err) {
+        that.log.runLog("warn", funcName, "abort multipart upload failed, bucket:" + uploadCheckpoint.bucket + ", key:" + uploadCheckpoint.key + ", uploadId:" + uploadCheckpoint.uploadId + ", err:" + err);
+        return;
+      }
+      if (result2.CommonMsg.Status >= 300) {
+        that.log.runLog("warn", funcName, "abort multipart upload failed, bucket:" + uploadCheckpoint.bucket + ", key:" + uploadCheckpoint.key + ", uploadId:" + uploadCheckpoint.uploadId + ", status:" + result2.CommonMsg.Status + ", code:" + result2.CommonMsg.Code + ", message:" + result2.CommonMsg.Message);
+        return;
+      }
+      delete uploadCheckpoint.uploadId;
+      that.log.runLog("warn", funcName, "abort multipart upload succeed, bucket:" + uploadCheckpoint.bucket + ", key:" + uploadCheckpoint.key + ", uploadId:" + uploadCheckpoint.uploadId);
+    });
+  }
+};
+let completedRequest = function(ctx) {
+  if (ctx.finishedCount < ctx.uploadCheckpoint.partCount) {
+    return;
+  }
+  if (ctx.isAbort) {
+    abortRequest(ctx.uploadCheckpoint, ctx.funcName, ctx.that);
+    return ctx.callback("uploadFile failed the upload task is aborted");
+  }
+  if (ctx.isSuspend) {
+    return ctx.callback("the process of uploadFile is suspened, you can retry with the uploadCheckpoint");
+  }
+  if (ctx.hasError) {
+    return ctx.callback("uploadFile finished with error, you can retry with the uploadCheckpoint");
+  }
+  let parts2 = [];
+  for (let i2 = 0; i2 < ctx.uploadCheckpoint.partCount; i2++) {
+    let part = ctx.uploadCheckpoint.parts[i2];
+    parts2.push({
+      PartNumber: part.partNumber,
+      ETag: part.etag
+    });
+  }
+  ctx.that.completeMultipartUpload({
+    Bucket: ctx.uploadCheckpoint.bucket,
+    Key: ctx.uploadCheckpoint.key,
+    RequestDate: ctx.uploadCheckpoint.requestDate,
+    UploadId: ctx.uploadCheckpoint.uploadId,
+    Parts: parts2,
+    CallbackUrl: ctx.callbackUrl,
+    CallbackHost: ctx.callbackHost,
+    CallbackBody: ctx.callbackBody,
+    CallbackBodyType: ctx.callbackBodyType
+  }, function(err, result2) {
+    let eventParam = { bucket: ctx.uploadCheckpoint.bucket, key: ctx.uploadCheckpoint.key, uploadId: ctx.uploadCheckpoint.uploadId };
+    if (err) {
+      ctx.eventCallback("completeMultipartUploadFailed", eventParam, err);
+      return ctx.callback(err);
+    }
+    if (result2.CommonMsg.Status >= 500) {
+      ctx.eventCallback("completeMultipartUploadFailed", eventParam, result2);
+      return ctx.callback(null, result2);
+    }
+    if (result2.CommonMsg.Status >= 300 && result2.CommonMsg.Status < 500) {
+      ctx.eventCallback("completeMultipartUploadAborted", eventParam, result2);
+      abortRequest(ctx.uploadCheckpoint, ctx.funcName, ctx.that);
+      return ctx.callback(null, result2);
+    }
+    ctx.eventCallback("completeMultipartUploadSucceed", eventParam, result2);
+    ctx.callback(null, result2);
+  });
+};
+let startToUploadFile = function(ctx) {
+  ctx.resumeCallback({
+    cancel: function() {
+      ctx.isSuspend = true;
+      for (let i2 = 0; i2 < ctx.uploadPartParams.length; i2++) {
+        let cancelHook = ctx.uploadPartParams[i2].cancelHook;
+        if (isFunction$1$1(cancelHook)) {
+          cancelHook();
+        }
+      }
+    }
+  }, ctx.uploadCheckpoint);
+  let taskQueue = [];
+  let doNext = function() {
+    while (ctx.runningTask < ctx.taskNum && taskQueue.length > 0) {
+      taskQueue.shift()();
+    }
+    if (taskQueue.length === 0) {
+      completedRequest(ctx);
+    }
+  };
+  let createProgressCallbackByPartNumber = function(partNumber) {
+    return function(loaded, total, cost) {
+      ctx.progressCallback(partNumber, loaded);
+    };
+  };
+  let sliceBlob = function(blob, start2, end2, type2) {
+    type2 = type2 || blob.type;
+    if (blob.mozSlice) {
+      return blob.mozSlice(start2, end2, type2);
+    }
+    if (blob.webkitSlice) {
+      return blob.webkitSlice(start2, end2, type2);
+    }
+    return blob.slice(start2, end2, type2);
+  };
+  let encodeFunc = window.btoa ? window.btoa : gBase64.encode;
+  let transArrayBufferToBinaryString = function(buf) {
+    let readSize = 16 * 1024;
+    buf = new Uint8Array(buf);
+    let start2 = 0;
+    let data2;
+    while (start2 < buf.length) {
+      let end2 = start2 + readSize;
+      end2 = end2 <= buf.length ? end2 : buf.length;
+      if (!data2) {
+        data2 = String.fromCharCode.apply(null, buf.slice(start2, end2));
+      } else {
+        data2 += String.fromCharCode.apply(null, buf.slice(start2, end2));
+      }
+      start2 = end2;
+    }
+    buf = null;
+    return data2;
+  };
+  let createUploadPartTask = function(part) {
+    return function() {
+      ctx.runningTask++;
+      if (ctx.isSuspend || ctx.isAbort) {
+        ctx.runningTask--;
+        ctx.finishedCount++;
+        ctx.finishedCount += taskQueue.length;
+        taskQueue = [];
+        return doNext();
+      }
+      let started = 0;
+      let doUploadPart = function(contentMd5) {
+        if (started) {
+          return;
+        }
+        started = 1;
+        let uploadPartParam = {
+          Bucket: ctx.uploadCheckpoint.bucket,
+          Key: ctx.uploadCheckpoint.key,
+          RequestDate: ctx.uploadCheckpoint.requestDate,
+          PartNumber: part.partNumber,
+          UploadId: ctx.uploadCheckpoint.uploadId,
+          SourceFile: ctx.uploadCheckpoint.sourceFile,
+          Offset: part.offset,
+          PartSize: part.partSize,
+          SseC: ctx.uploadCheckpoint.sseC,
+          SseCKey: ctx.uploadCheckpoint.sseCKey,
+          ProgressCallback: createProgressCallbackByPartNumber(part.partNumber),
+          ContentMD5: contentMd5
+        };
+        ctx.uploadPartParams.push(uploadPartParam);
+        ctx.that.uploadPart(uploadPartParam, function(err, result2) {
+          ctx.runningTask--;
+          ctx.finishedCount++;
+          if (ctx.isSuspend) {
+            return doNext();
+          }
+          let eventParam = { partNumber: part.partNumber, bucket: ctx.uploadCheckpoint.bucket, key: ctx.uploadCheckpoint.key, uploadId: ctx.uploadCheckpoint.uploadId };
+          if (err) {
+            ctx.eventCallback("uploadPartFailed", eventParam, err);
+            ctx.hasError = true;
+          } else if (result2.CommonMsg.Status >= 500 || result2.CommonMsg.Status === 400 && result2.CommonMsg.Code === "BadDigest") {
+            ctx.eventCallback("uploadPartFailed", eventParam, result2);
+            ctx.hasError = true;
+          } else if (result2.CommonMsg.Status >= 300 && result2.CommonMsg.Status < 500) {
+            ctx.isAbort = true;
+            ctx.hasError = true;
+            ctx.eventCallback("uploadPartAborted", eventParam, result2);
+          } else {
+            part.etag = result2.InterfaceResult.ETag;
+            part.isCompleted = true;
+            eventParam.etag = part.etag;
+            ctx.uploadCheckpoint.md5 = calculateUploadCheckpointMD5(ctx.uploadCheckpoint);
+            ctx.eventCallback("uploadPartSucceed", eventParam, result2);
+            ctx.that.log.runLog("debug", ctx.funcName, "Part " + String(part.partNumber) + " is finished, uploadId " + ctx.uploadCheckpoint.uploadId);
+          }
+          doNext();
+        });
+      };
+      if (ctx.verifyMd5 && window.FileReader && (ctx.uploadCheckpoint.sourceFile instanceof window.File || ctx.uploadCheckpoint.sourceFile instanceof window.Blob)) {
+        let _sourceFile = sliceBlob(ctx.uploadCheckpoint.sourceFile, part.offset, part.offset + part.partSize);
+        let fr = new window.FileReader();
+        fr.onload = function(e2) {
+          let data2 = transArrayBufferToBinaryString(e2.target.result);
+          let contentMd5 = encodeFunc(md5(data2, false, true));
+          data2 = null;
+          doUploadPart(contentMd5);
+        };
+        fr.onerror = function(ex) {
+          ctx.that.log.runLog("error", ctx.funcName, "Caculate md5 for part " + String(part.partNumber) + " failed");
+          doUploadPart();
+        };
+        fr.readAsArrayBuffer(_sourceFile);
+        return;
+      }
+      doUploadPart();
+    };
+  };
+  if (!ctx.isSuspend) {
+    for (let i2 = 0; i2 < ctx.uploadCheckpoint.partCount; i2++) {
+      let part = ctx.uploadCheckpoint.parts[i2];
+      if (part.isCompleted) {
+        ctx.finishedCount++;
+        ctx.finishedBytes += part.partSize;
+      } else {
+        taskQueue.push(createUploadPartTask(part));
+      }
+    }
+    if (taskQueue.length === 0) {
+      return completedRequest(ctx);
+    }
+    return doNext();
+  }
+  ctx.callback("the process of uploadFile is suspened, you can retry with the uploadCheckpoint");
+};
+let resumable = {};
+resumable.extend = function(ObsClient2) {
+  ObsClient2.prototype.uploadFile = function(param2, callback) {
+    let that = this;
+    param2 = param2 || {};
+    let funcName = "uploadFile";
+    let _callback = wrapCallback(callback, that.log, funcName);
+    let eventCallback = wrapEventCallback(param2.EventCallback);
+    let taskNum = param2.TaskNum || 1;
+    let progressCallback = param2.ProgressCallback || function() {
+    };
+    let resumeCallback = param2.ResumeCallback || function() {
+    };
+    let verifyMd5 = param2.VerifyMd5 || false;
+    that.log.runLog("info", funcName, "enter " + funcName + "...");
+    let uploadCheckpoint = null;
+    if (param2.UploadCheckpoint && param2.UploadCheckpoint.sourceFile && param2.UploadCheckpoint.fileStat && param2.UploadCheckpoint.uploadId && param2.UploadCheckpoint.md5 === calculateUploadCheckpointMD5(param2.UploadCheckpoint)) {
+      uploadCheckpoint = param2.UploadCheckpoint;
+    } else {
+      abortRequest(param2.UploadCheckpoint, funcName, that);
+    }
+    if (!uploadCheckpoint) {
+      let sourceFile = param2.SourceFile;
+      if (!(sourceFile instanceof window.File) && !(sourceFile instanceof window.Blob)) {
+        return _callback("source file is not valid, must be an instanceof [File | Blob]");
+      }
+      if (!sourceFile.mozSlice && !sourceFile.webkitSlice && !sourceFile.slice) {
+        return _callback("your browser cannot support the slice method for [File | Blob]");
+      }
+      that.log.runLog("debug", funcName, "Begin to uploadFile to OBS from file:" + sourceFile.name);
+      let fileSize = sourceFile.size;
+      let partSize = parseInt(param2.PartSize, 10);
+      let partCount = 0;
+      let parts2 = [];
+      if (fileSize === 0) {
+        partSize = 0;
+        partCount = 1;
+        parts2.push({ partNumber: 1, offset: 0, partSize: 0, isCompleted: false });
+      } else {
+        partSize = isNaN(partSize) ? defaultPartSize : partSize < minPartSize ? defaultPartSize : partSize > maxPartSize ? maxPartSize : partSize;
+        partCount = Math.floor(fileSize / partSize);
+        if (partCount >= 1e4) {
+          partSize = Math.floor(fileSize / 1e4);
+          if (fileSize % 1e4 !== 0) {
+            partSize += 1;
+          }
+          partCount = Math.floor(fileSize / partSize);
+        }
+        if (partSize > maxPartSize) {
+          return _callback("The source file " + sourceFile.name + " is too large");
+        }
+        let lastPartSize = fileSize % partSize;
+        if (lastPartSize !== 0) {
+          partCount++;
+        }
+        for (let i2 = 0; i2 < partCount; i2++) {
+          parts2.push({
+            partNumber: i2 + 1,
+            offset: i2 * partSize,
+            partSize,
+            isCompleted: false
+          });
+        }
+        if (lastPartSize !== 0) {
+          parts2[partCount - 1].partSize = lastPartSize;
+        }
+      }
+      that.log.runLog("debug", funcName, "Total parts count " + partCount);
+      uploadCheckpoint = { bucket: param2.Bucket, key: param2.Key, sourceFile, partSize, partCount, parts: parts2 };
+      uploadCheckpoint.fileStat = {
+        fileSize,
+        lastModified: sourceFile.lastModified
+      };
+      if (param2.SseC && param2.SseCKey) {
+        uploadCheckpoint.sseC = param2.SseC;
+        uploadCheckpoint.sseCKey = param2.SseCKey;
+      }
+      uploadCheckpoint.md5 = calculateUploadCheckpointMD5(uploadCheckpoint);
+    } else {
+      let sourceFile = uploadCheckpoint.sourceFile;
+      if (!(sourceFile instanceof window.File) && !(sourceFile instanceof window.Blob)) {
+        return _callback("source file is not valid, must be an instanceof [File | Blob]");
+      }
+      if (!sourceFile.mozSlice && !sourceFile.webkitSlice && !sourceFile.slice) {
+        return _callback("your browser cannot support the slice method for [File | Blob]");
+      }
+    }
+    uploadCheckpoint.requestDate = param2.RequestDate;
+    let ctx = {
+      start: (/* @__PURE__ */ new Date()).getTime(),
+      uploadCheckpoint,
+      funcName,
+      taskNum,
+      callback: _callback,
+      that,
+      runningTask: 0,
+      finishedCount: 0,
+      hasError: false,
+      finishedBytes: 0,
+      isAbort: false,
+      resumeCallback,
+      isSuspend: false,
+      partsLoaded: {},
+      requestDate: param2.RequestDate,
+      uploadPartParams: [],
+      verifyMd5,
+      callbackUrl: param2.CallbackUrl,
+      callbackHost: param2.CallbackHost,
+      callbackBody: param2.CallbackBody,
+      callbackBodyType: param2.CallbackBodyType
+    };
+    ctx.eventCallback = function(t2, eventParam, result2) {
+      if (ctx.isSuspend) {
+        return;
+      }
+      eventCallback(t2, eventParam, result2);
+    };
+    ctx.progressCallback = function(partNumber, loaded) {
+      if (ctx.isSuspend) {
+        return;
+      }
+      ctx.finishedBytes += loaded;
+      if (ctx.partsLoaded[partNumber]) {
+        ctx.finishedBytes -= ctx.partsLoaded[partNumber];
+      }
+      ctx.partsLoaded[partNumber] = loaded;
+      progressCallback(ctx.finishedBytes, ctx.uploadCheckpoint.fileStat.fileSize, ((/* @__PURE__ */ new Date()).getTime() - ctx.start) / 1e3);
+    };
+    if (!uploadCheckpoint.uploadId) {
+      let contentType = param2.ContentType;
+      if (!contentType && uploadCheckpoint.key) {
+        contentType = that.util.mimeTypes[uploadCheckpoint.key.substring(uploadCheckpoint.key.lastIndexOf(".") + 1)];
+      }
+      if (!contentType && uploadCheckpoint.sourceFile.name) {
+        contentType = that.util.mimeTypes[uploadCheckpoint.sourceFile.name.substring(uploadCheckpoint.sourceFile.name.lastIndexOf(".") + 1)];
+      }
+      that.initiateMultipartUpload({
+        Bucket: param2.Bucket,
+        Key: param2.Key,
+        RequestDate: param2.RequestDate,
+        ACL: param2.ACL,
+        Metadata: param2.Metadata,
+        WebsiteRedirectLocation: param2.WebsiteRedirectLocation,
+        StorageClass: param2.StorageClass,
+        ContentType: contentType,
+        Expires: param2.Expires,
+        SseKms: param2.SseKms,
+        SseKmsKey: param2.SseKmsKey,
+        SseC: param2.SseC,
+        SseCKey: param2.SseCKey
+      }, function(err, result2) {
+        let eventParam = { bucket: param2.Bucket, key: param2.Key };
+        if (err) {
+          ctx.eventCallback("initiateMultipartUploadFailed", eventParam, err);
+          return _callback(err);
+        }
+        if (result2.CommonMsg.Status >= 300) {
+          ctx.eventCallback("initiateMultipartUploadFailed", eventParam, result2);
+          return _callback(null, result2);
+        }
+        let uploadId = result2.InterfaceResult.UploadId;
+        uploadCheckpoint.uploadId = uploadId;
+        uploadCheckpoint.md5 = calculateUploadCheckpointMD5(uploadCheckpoint);
+        ctx.uploadCheckpoint = uploadCheckpoint;
+        eventParam.uploadId = uploadId;
+        that.log.runLog("info", funcName, "Claim a new upload id " + uploadId);
+        ctx.eventCallback("initiateMultipartUploadSucceed", eventParam, result2);
+        startToUploadFile(ctx);
+      });
+      return;
+    }
+    startToUploadFile(ctx);
+  };
+};
+function ObsClient(param2) {
+  this.factory(param2);
+}
+function capitalize$1(key2) {
+  return key2.slice(0, 1).toUpperCase() + key2.slice(1);
+}
+const methods = [
+  "createBucket",
+  "listBuckets",
+  "getBucketMetadata",
+  "headBucket",
+  "deleteBucket",
+  "setBucketQuota",
+  "getBucketQuota",
+  "getBucketStorageInfo",
+  "setBucketPolicy",
+  "getBucketPolicy",
+  "deleteBucketPolicy",
+  "setBucketVersioningConfiguration",
+  "getBucketVersioningConfiguration",
+  "putBackToSource",
+  "deleteBackToSource",
+  "getBackToSource",
+  "getBucketLocation",
+  "listVersions",
+  "listObjects",
+  "setBucketLifecycleConfiguration",
+  "getBucketLifecycleConfiguration",
+  "deleteBucketLifecycleConfiguration",
+  "setBucketAcl",
+  "getBucketAcl",
+  "setBucketLoggingConfiguration",
+  "getBucketLoggingConfiguration",
+  "setBucketWebsiteConfiguration",
+  "getBucketWebsiteConfiguration",
+  "deleteBucketWebsiteConfiguration",
+  "setBucketNotification",
+  "getBucketNotification",
+  "setBucketTagging",
+  "getBucketTagging",
+  "deleteBucketTagging",
+  "getBucketCors",
+  "deleteBucketCors",
+  "setBucketStoragePolicy",
+  "getBucketStoragePolicy",
+  "getObject",
+  "getObjectMetadata",
+  "setObjectMetadata",
+  "setObjectAcl",
+  "getObjectAcl",
+  "deleteObject",
+  "deleteObjects",
+  "listMultipartUploads",
+  "listParts",
+  "abortMultipartUpload",
+  "completeMultipartUpload",
+  "getBucketInventory",
+  "setBucketInventory",
+  "deleteBucketInventory",
+  "getBucketEncryption",
+  "setBucketEncryption",
+  "deleteBucketEncryption",
+  "getBucketRequesterPay",
+  "setBucketRequesterPay",
+  "setMirrorBackToSource",
+  "getMirrorBackToSource",
+  "deleteMirrorBackToSource",
+  "getWorkflowTrigger",
+  "deleteWorkflowTrigger",
+  "createWorkflowTrigger",
+  "restoreFailedWorkflowExecution",
+  "createTemplate",
+  "createWorkflow",
+  "getWorkflowList",
+  "deleteWorkflow",
+  "getWorkflowTemplateList",
+  "getWorkflowInstanceList",
+  "deleteTemplate",
+  "updateWorkflow",
+  "getActionTemplates",
+  "getWorkflowAuthorization",
+  "openWorkflowAuthorization",
+  "getBucketDirectColdAccess",
+  "setBucketDirectColdAccess",
+  "deleteBucketDirectColdAccess",
+  "getBucketCustomDomain",
+  "setBucketCustomDomain",
+  "deleteBucketCustomDomain",
+  "setBucketCors",
+  "getBucketReplication",
+  "setBucketReplication",
+  "deleteBucketReplication",
+  "getCDNNotifyConfiguration",
+  "setCdnNotifyConfiguration",
+  "getQuota",
+  "getBucketDisPolicy",
+  "setBucketDisPolicy",
+  "deleteBucketDisPolicy",
+  "createOnlineDecom",
+  "getOnlineDecom",
+  "getWorkflowAgreements",
+  "openWorkflowAgreements",
+  "deleteOnlineDecom",
+  "getMyActionTemplates",
+  "createMyActionTemplate",
+  "getMyactiontemplateDetail",
+  "updateMyActionTemplate",
+  "deleteMyActionTemplate",
+  "forbidMyActionTemplate",
+  "updatePublicActionTemplate",
+  "getOmPublicActionTemplates",
+  "setSFSAcl",
+  "getSFSAcl",
+  "deleteSFSAcl",
+  "setBucketAlias",
+  "bindBucketAlias",
+  "unbindBucketAlias",
+  "deleteBucketAlias",
+  "listBucketsAlias",
+  "getBucketAlias"
+];
+function createAction(method) {
+  return function(param2, callback) {
+    this.exec(capitalize$1(method), param2, callback);
+  };
+}
+for (let i2 = 0; i2 < methods.length; i2++) {
+  let method = methods[i2];
+  ObsClient.prototype[method] = createAction(method);
+}
+ObsClient.prototype.createTemplate = function(param2, callback) {
+  param2.ApiPath = "v2/workflowtemplates";
+  this.exec("CreateTemplate", param2, callback);
+};
+ObsClient.prototype.createWorkflow = function(param2, callback) {
+  param2.ApiPath = "v2/workflows";
+  this.exec("CreateWorkflow", param2, callback);
+};
+ObsClient.prototype.restoreFailedWorkflowExecution = function(param2, callback) {
+  param2.ApiPath = "v2/workflowexecutions";
+  this.exec("RestoreFailedWorkflowExecution", param2, callback);
+};
+ObsClient.prototype.getWorkflowList = function(param2, callback) {
+  param2.ApiPath = "v2/workflows";
+  this.exec("GetWorkflowList", param2, callback);
+};
+ObsClient.prototype.deleteWorkflow = function(param2, callback) {
+  param2.ApiPath = "v2/workflows";
+  this.exec("DeleteWorkflow", param2, callback);
+};
+ObsClient.prototype.deleteTemplate = function(param2, callback) {
+  param2.ApiPath = "v2/workflowtemplates";
+  this.exec("DeleteTemplate", param2, callback);
+};
+ObsClient.prototype.getWorkflowTemplateList = function(param2, callback) {
+  param2.ApiPath = "v2/workflowtemplates";
+  this.exec("GetWorkflowTemplateList", param2, callback);
+};
+ObsClient.prototype.getWorkflowInstanceList = function(param2, callback) {
+  param2.ApiPath = "v2/workflowexecutions";
+  this.exec("GetWorkflowInstanceList", param2, callback);
+};
+ObsClient.prototype.updateWorkflow = function(param2, callback) {
+  param2.ApiPath = "v2/workflows";
+  this.exec("UpdateWorkflow", param2, callback);
+};
+ObsClient.prototype.getActionTemplates = function(param2, callback) {
+  param2.ApiPath = "v2/actiontemplates";
+  this.exec("GetActionTemplates", param2, callback);
+};
+ObsClient.prototype.getWorkflowAuthorization = function(param2, callback) {
+  param2.ApiPath = "v2/workflow-authorization";
+  this.exec("GetWorkflowAuthorization", param2, callback);
+};
+ObsClient.prototype.openWorkflowAuthorization = function(param2, callback) {
+  param2.ApiPath = "v2/workflow-authorization";
+  this.exec("OpenWorkflowAuthorization", param2, callback);
+};
+ObsClient.prototype.getPublicationTemplates = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/publicactiontemplates";
+  this.exec("GetPublicationTemplates", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.getPublicationTemplateDetail = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/publicactiontemplates";
+  this.exec("GetPublicationTemplateDetail", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.getWorkflowAgreements = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/workflow-agreements";
+  this.exec("GetWorkflowAgreements", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.openWorkflowAgreements = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/workflow-agreements";
+  this.exec("OpenWorkflowAgreements", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.createMyActionTemplate = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/myactiontemplates";
+  this.exec("CreateMyActionTemplate", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.getMyActionTemplates = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/myactiontemplates";
+  this.exec("GetMyActionTemplates", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.getMyactiontemplateDetail = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/myactiontemplates";
+  this.exec("GetMyactiontemplateDetail", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.updateMyActionTemplate = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/myactiontemplates";
+  this.exec("UpdateMyActionTemplate", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.deleteMyActionTemplate = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/myactiontemplates";
+  this.exec("DeleteMyActionTemplate", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.forbidMyActionTemplate = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/myactiontemplates";
+  this.exec("ForbidMyActionTemplate", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.updatePublicActionTemplate = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/ompublicactiontemplates";
+  this.exec("UpdatePublicActionTemplate", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.getOmPublicActionTemplates = function(param2, callback) {
+  this.util.pathStyle = true;
+  param2.ApiPath = "v2/ompublicactiontemplates";
+  this.exec("GetOmPublicActionTemplates", param2, callback);
+  this.util.pathStyle = false;
+};
+ObsClient.prototype.putObject = function(param2, callback) {
+  if ("Body" in param2 && "SourceFile" in param2) {
+    let err = "the input body and sourcefile exist at same time,please specify one of eigther a string or file to be send!";
+    this.log.runLog("error", "PutObject", err);
+    return callback(new Error(err), null);
+  }
+  if (!("ContentType" in param2)) {
+    if ("Key" in param2) {
+      param2.ContentType = this.util.mimeTypes[param2.Key.substring(param2.Key.lastIndexOf(".") + 1)];
+    }
+    if (!param2.ContentType && "SourceFile" in param2) {
+      let fileName = param2.SourceFile.name;
+      param2.ContentType = this.util.mimeTypes[fileName.substring(fileName.lastIndexOf(".") + 1)];
+    }
+  }
+  this.exec("PutObject", param2, callback);
+};
+ObsClient.prototype.appendObject = function(param2, callback) {
+  if ("Body" in param2 && "SourceFile" in param2) {
+    let err = "the input body and sourcefile exist at same time,please specify one of eigther a string or file to be send!";
+    if (this.log.isLevelEnabled("error")) {
+      this.log.runLog("error", "PutObject", err);
+    }
+    return callback(new Error(err), null);
+  }
+  if (!("ContentType" in param2)) {
+    if ("Key" in param2) {
+      param2.ContentType = this.util.mimeTypes[param2.Key.substring(param2.Key.lastIndexOf(".") + 1)];
+    }
+    if (!param2.ContentType && "SourceFile" in param2) {
+      param2.ContentType = this.util.mimeTypes[param2.SourceFile.substring(param2.SourceFile.lastIndexOf(".") + 1)];
+    }
+  }
+  this.exec("AppendObject", param2, callback);
+};
+ObsClient.prototype.copyObject = function(param2, callback) {
+  let key2 = "CopySource";
+  if (key2 in param2) {
+    let val = param2[key2];
+    let index3 = val.lastIndexOf("?versionId=");
+    if (index3 > 0) {
+      param2[key2] = this.util.encodeURIWithSafe(val.slice(0, index3)) + val.slice(index3);
+    } else {
+      param2[key2] = this.util.encodeURIWithSafe(val);
+    }
+  }
+  this.exec("CopyObject", param2, callback);
+};
+ObsClient.prototype.copyPart = function(param2, callback) {
+  let key2 = "CopySource";
+  if (key2 in param2) {
+    let val = param2[key2];
+    let index3 = val.lastIndexOf("?versionId=");
+    if (index3 > 0) {
+      param2[key2] = this.util.encodeURIWithSafe(val.slice(0, index3)) + val.slice(index3);
+    } else {
+      param2[key2] = this.util.encodeURIWithSafe(val);
+    }
+  }
+  this.exec("CopyPart", param2, callback);
+};
+ObsClient.prototype.restoreObject = function(param2, callback) {
+  this.exec("RestoreObject", param2, function(err, result2) {
+    if (!err && result2.InterfaceResult && result2.CommonMsg.Status < 300) {
+      result2.InterfaceResult.RestoreStatus = result2.CommonMsg.Status === 200 ? "AVALIABLE" : "INPROGRESS";
+    }
+    callback(err, result2);
+  });
+};
+ObsClient.prototype.initiateMultipartUpload = function(param2, callback) {
+  if (!("ContentType" in param2)) {
+    if ("Key" in param2) {
+      param2.ContentType = this.util.mimeTypes[param2.Key.substring(param2.Key.lastIndexOf(".") + 1)];
+    }
+  }
+  this.exec("InitiateMultipartUpload", param2, callback);
+};
+ObsClient.prototype.uploadPart = function(param2, callback) {
+  if ("Body" in param2 && "SourceFile" in param2) {
+    let err = "the input body and sourcefile exist at same time, please specify one of eigther a string or file to be send!";
+    this.log.runLog("error", "UploadPart", err);
+    return callback(new Error(err), null);
+  }
+  this.exec("UploadPart", param2, callback);
+};
+posix.extend(ObsClient);
+resumable.extend(ObsClient);
+function isFunction$4(obj2) {
+  return Object.prototype.toString.call(obj2) === "[object Function]";
+}
+function createPromise(current) {
+  return function(param2, callback) {
+    if (isFunction$4(param2)) {
+      current.call(this, null, param2);
+      return;
+    }
+    if (isFunction$4(callback)) {
+      current.call(this, param2, callback);
+      return;
+    }
+    let that = this;
+    return new Promise(function(resolve, reject) {
+      current.call(that, param2, function(err, result2) {
+        if (err) {
+          return reject(err);
+        }
+        resolve(result2);
+      });
+    });
+  };
+}
+if (isFunction$4(Promise)) {
+  for (let key2 in ObsClient.prototype) {
+    if ({}.hasOwnProperty.call(ObsClient.prototype, key2)) {
+      let current = ObsClient.prototype[key2];
+      ObsClient.prototype[key2] = createPromise(current);
+    }
+  }
+}
+ObsClient.prototype.exec = function(funcName, param2, callback) {
+  let _log = this.log;
+  _log.runLog("info", funcName, "enter " + funcName + "...");
+  let start2 = (/* @__PURE__ */ new Date()).getTime();
+  param2 = param2 || {};
+  callback = callback || function() {
+  };
+  let _callback = function(err, msg) {
+    if (_callback.$called) {
+      return;
+    }
+    _callback.$called = true;
+    if (err && !(err instanceof Error)) {
+      err = new Error(err);
+    }
+    _log.runLog("debug", funcName, "ObsClient cost " + ((/* @__PURE__ */ new Date()).getTime() - start2) + " ms");
+    callback(err, msg);
+  };
+  this.util.exec(funcName, param2, _callback);
+};
+ObsClient.prototype.initLog = function(param2) {
+  param2 = param2 || {};
+  this.log.setLevel(param2.level);
+  let msg = ["[OBS SDK Version=" + this.util.obsSdkVersion];
+  if (this.util.server) {
+    let port = this.util.port ? ":" + this.util.port : "";
+    msg.push("Endpoint=" + (this.util.is_secure ? "https" : "http") + "://" + this.util.server + port);
+  }
+  msg.push("Access Mode=" + (this.util.path_style ? "Path" : "Virtual Hosting") + "]");
+  this.log.runLog("warn", "init", msg.join("];["));
+};
+ObsClient.prototype.factory = function(param2) {
+  this.log = new LogUtil();
+  this.util = new Utils(this.log);
+  param2 = param2 || {};
+  this.util.initFactory(
+    param2.access_key_id,
+    param2.secret_access_key,
+    param2.is_secure,
+    param2.server,
+    param2.path_style,
+    param2.signature,
+    param2.region,
+    param2.port,
+    param2.timeout,
+    param2.security_token,
+    param2.is_signature_negotiation,
+    param2.is_cname,
+    param2.url_prefix,
+    param2.region_domains,
+    param2.setRequestHeaderHook,
+    param2.useRawXhr
+  );
+};
+ObsClient.prototype.refresh = function(access_key_id, secret_access_key, security_token) {
+  this.util.refresh(access_key_id, secret_access_key, security_token);
+};
+ObsClient.prototype.createSignedUrlSync = function(param2) {
+  return this.util.createSignedUrlSync(param2);
+};
+ObsClient.prototype.createV2SignedUrlSync = function(param2) {
+  return this.util.createV2SignedUrlSync(param2);
+};
+ObsClient.prototype.createV4SignedUrlSync = function(param2) {
+  return this.util.createV4SignedUrlSync(param2);
+};
+ObsClient.prototype.createPostSignatureSync = function(param2) {
+  return this.util.createPostSignatureSync(param2);
+};
+ObsClient.prototype.createV4PostSignatureSync = function(param2) {
+  return this.util.createV4PostSignatureSync(param2);
+};
+ObsClient.prototype.enums = enums;
+for (let key2 in ObsClient.prototype) {
+  if ({}.hasOwnProperty.call(ObsClient.prototype, key2)) {
+    ObsClient.prototype[capitalize$1(key2)] = ObsClient.prototype[key2];
+  }
+}
+for (let key2 in ObsClient.prototype) {
+  if ({}.hasOwnProperty.call(ObsClient.prototype, key2)) {
+    let index3 = key2.indexOf("Configuration");
+    if (index3 > 0 && index3 + "Configuration".length === key2.length) {
+      ObsClient.prototype[key2.slice(0, index3)] = ObsClient.prototype[key2];
+    }
+  }
+}
+function obsBuilder(config2) {
+  const obsClient = new ObsClient({
+    access_key_id: config2.accessKey,
+    secret_access_key: config2.secretKey,
+    server: `https://obs.${config2.regionId}.myhuaweicloud.com`
+  });
+  obsClient.config = config2;
+  obsClient.queryBucketList = () => {
+    var _a2;
+    return ((_a2 = config2.obs) == null ? void 0 : _a2.bucketList) || [];
+  };
+  return obsClient;
+}
+var lodash = { exports: {} };
+/**
+ * @license
+ * Lodash <https://lodash.com/>
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
+ * Released under MIT license <https://lodash.com/license>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+(function(module2, exports2) {
+  (function() {
+    var undefined$1;
+    var VERSION2 = "4.17.21";
+    var LARGE_ARRAY_SIZE = 200;
+    var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
+    var HASH_UNDEFINED = "__lodash_hash_undefined__";
+    var MAX_MEMOIZE_SIZE = 500;
+    var PLACEHOLDER = "__lodash_placeholder__";
+    var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
+    var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
+    var WRAP_BIND_FLAG = 1, WRAP_BIND_KEY_FLAG = 2, WRAP_CURRY_BOUND_FLAG = 4, WRAP_CURRY_FLAG = 8, WRAP_CURRY_RIGHT_FLAG = 16, WRAP_PARTIAL_FLAG = 32, WRAP_PARTIAL_RIGHT_FLAG = 64, WRAP_ARY_FLAG = 128, WRAP_REARG_FLAG = 256, WRAP_FLIP_FLAG = 512;
+    var DEFAULT_TRUNC_LENGTH = 30, DEFAULT_TRUNC_OMISSION = "...";
+    var HOT_COUNT = 800, HOT_SPAN = 16;
+    var LAZY_FILTER_FLAG = 1, LAZY_MAP_FLAG = 2, LAZY_WHILE_FLAG = 3;
+    var INFINITY = 1 / 0, MAX_SAFE_INTEGER2 = 9007199254740991, MAX_INTEGER = 17976931348623157e292, NAN = 0 / 0;
+    var MAX_ARRAY_LENGTH = 4294967295, MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
+    var wrapFlags = [
+      ["ary", WRAP_ARY_FLAG],
+      ["bind", WRAP_BIND_FLAG],
+      ["bindKey", WRAP_BIND_KEY_FLAG],
+      ["curry", WRAP_CURRY_FLAG],
+      ["curryRight", WRAP_CURRY_RIGHT_FLAG],
+      ["flip", WRAP_FLIP_FLAG],
+      ["partial", WRAP_PARTIAL_FLAG],
+      ["partialRight", WRAP_PARTIAL_RIGHT_FLAG],
+      ["rearg", WRAP_REARG_FLAG]
+    ];
+    var argsTag = "[object Arguments]", arrayTag = "[object Array]", asyncTag = "[object AsyncFunction]", boolTag = "[object Boolean]", dateTag = "[object Date]", domExcTag = "[object DOMException]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", nullTag = "[object Null]", objectTag = "[object Object]", promiseTag = "[object Promise]", proxyTag = "[object Proxy]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", undefinedTag = "[object Undefined]", weakMapTag = "[object WeakMap]", weakSetTag = "[object WeakSet]";
+    var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
+    var reEmptyStringLeading = /\b__p \+= '';/g, reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
+    var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, reUnescapedHtml = /[&<>"']/g, reHasEscapedHtml = RegExp(reEscapedHtml.source), reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
+    var reEscape = /<%-([\s\S]+?)%>/g, reEvaluate = /<%([\s\S]+?)%>/g, reInterpolate = /<%=([\s\S]+?)%>/g;
+    var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/, rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
+    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source);
+    var reTrimStart = /^\s+/;
+    var reWhitespace = /\s/;
+    var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, reSplitDetails = /,? & /;
+    var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
+    var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/;
+    var reEscapeChar = /\\(\\)?/g;
+    var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
+    var reFlags = /\w*$/;
+    var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+    var reIsBinary = /^0b[01]+$/i;
+    var reIsHostCtor = /^\[object .+?Constructor\]$/;
+    var reIsOctal = /^0o[0-7]+$/i;
+    var reIsUint = /^(?:0|[1-9]\d*)$/;
+    var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
+    var reNoMatch = /($^)/;
+    var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
+    var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
+    var rsApos = "['’]", rsAstral = "[" + rsAstralRange + "]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
+    var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq, rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
+    var reApos = RegExp(rsApos, "g");
+    var reComboMark = RegExp(rsCombo, "g");
+    var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
+    var reUnicodeWord = RegExp([
+      rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")",
+      rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")",
+      rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower,
+      rsUpper + "+" + rsOptContrUpper,
+      rsOrdUpper,
+      rsOrdLower,
+      rsDigits,
+      rsEmoji
+    ].join("|"), "g");
+    var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
+    var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
+    var contextProps = [
+      "Array",
+      "Buffer",
+      "DataView",
+      "Date",
+      "Error",
+      "Float32Array",
+      "Float64Array",
+      "Function",
+      "Int8Array",
+      "Int16Array",
+      "Int32Array",
+      "Map",
+      "Math",
+      "Object",
+      "Promise",
+      "RegExp",
+      "Set",
+      "String",
+      "Symbol",
+      "TypeError",
+      "Uint8Array",
+      "Uint8ClampedArray",
+      "Uint16Array",
+      "Uint32Array",
+      "WeakMap",
+      "_",
+      "clearTimeout",
+      "isFinite",
+      "parseInt",
+      "setTimeout"
+    ];
+    var templateCounter = -1;
+    var typedArrayTags = {};
+    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
+    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+    var cloneableTags = {};
+    cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
+    cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
+    var deburredLetters = {
+      "À": "A",
+      "Á": "A",
+      "Â": "A",
+      "Ã": "A",
+      "Ä": "A",
+      "Å": "A",
+      "à": "a",
+      "á": "a",
+      "â": "a",
+      "ã": "a",
+      "ä": "a",
+      "å": "a",
+      "Ç": "C",
+      "ç": "c",
+      "Ð": "D",
+      "ð": "d",
+      "È": "E",
+      "É": "E",
+      "Ê": "E",
+      "Ë": "E",
+      "è": "e",
+      "é": "e",
+      "ê": "e",
+      "ë": "e",
+      "Ì": "I",
+      "Í": "I",
+      "Î": "I",
+      "Ï": "I",
+      "ì": "i",
+      "í": "i",
+      "î": "i",
+      "ï": "i",
+      "Ñ": "N",
+      "ñ": "n",
+      "Ò": "O",
+      "Ó": "O",
+      "Ô": "O",
+      "Õ": "O",
+      "Ö": "O",
+      "Ø": "O",
+      "ò": "o",
+      "ó": "o",
+      "ô": "o",
+      "õ": "o",
+      "ö": "o",
+      "ø": "o",
+      "Ù": "U",
+      "Ú": "U",
+      "Û": "U",
+      "Ü": "U",
+      "ù": "u",
+      "ú": "u",
+      "û": "u",
+      "ü": "u",
+      "Ý": "Y",
+      "ý": "y",
+      "ÿ": "y",
+      "Æ": "Ae",
+      "æ": "ae",
+      "Þ": "Th",
+      "þ": "th",
+      "ß": "ss",
+      "Ā": "A",
+      "Ă": "A",
+      "Ą": "A",
+      "ā": "a",
+      "ă": "a",
+      "ą": "a",
+      "Ć": "C",
+      "Ĉ": "C",
+      "Ċ": "C",
+      "Č": "C",
+      "ć": "c",
+      "ĉ": "c",
+      "ċ": "c",
+      "č": "c",
+      "Ď": "D",
+      "Đ": "D",
+      "ď": "d",
+      "đ": "d",
+      "Ē": "E",
+      "Ĕ": "E",
+      "Ė": "E",
+      "Ę": "E",
+      "Ě": "E",
+      "ē": "e",
+      "ĕ": "e",
+      "ė": "e",
+      "ę": "e",
+      "ě": "e",
+      "Ĝ": "G",
+      "Ğ": "G",
+      "Ġ": "G",
+      "Ģ": "G",
+      "ĝ": "g",
+      "ğ": "g",
+      "ġ": "g",
+      "ģ": "g",
+      "Ĥ": "H",
+      "Ħ": "H",
+      "ĥ": "h",
+      "ħ": "h",
+      "Ĩ": "I",
+      "Ī": "I",
+      "Ĭ": "I",
+      "Į": "I",
+      "İ": "I",
+      "ĩ": "i",
+      "ī": "i",
+      "ĭ": "i",
+      "į": "i",
+      "ı": "i",
+      "Ĵ": "J",
+      "ĵ": "j",
+      "Ķ": "K",
+      "ķ": "k",
+      "ĸ": "k",
+      "Ĺ": "L",
+      "Ļ": "L",
+      "Ľ": "L",
+      "Ŀ": "L",
+      "Ł": "L",
+      "ĺ": "l",
+      "ļ": "l",
+      "ľ": "l",
+      "ŀ": "l",
+      "ł": "l",
+      "Ń": "N",
+      "Ņ": "N",
+      "Ň": "N",
+      "Ŋ": "N",
+      "ń": "n",
+      "ņ": "n",
+      "ň": "n",
+      "ŋ": "n",
+      "Ō": "O",
+      "Ŏ": "O",
+      "Ő": "O",
+      "ō": "o",
+      "ŏ": "o",
+      "ő": "o",
+      "Ŕ": "R",
+      "Ŗ": "R",
+      "Ř": "R",
+      "ŕ": "r",
+      "ŗ": "r",
+      "ř": "r",
+      "Ś": "S",
+      "Ŝ": "S",
+      "Ş": "S",
+      "Š": "S",
+      "ś": "s",
+      "ŝ": "s",
+      "ş": "s",
+      "š": "s",
+      "Ţ": "T",
+      "Ť": "T",
+      "Ŧ": "T",
+      "ţ": "t",
+      "ť": "t",
+      "ŧ": "t",
+      "Ũ": "U",
+      "Ū": "U",
+      "Ŭ": "U",
+      "Ů": "U",
+      "Ű": "U",
+      "Ų": "U",
+      "ũ": "u",
+      "ū": "u",
+      "ŭ": "u",
+      "ů": "u",
+      "ű": "u",
+      "ų": "u",
+      "Ŵ": "W",
+      "ŵ": "w",
+      "Ŷ": "Y",
+      "ŷ": "y",
+      "Ÿ": "Y",
+      "Ź": "Z",
+      "Ż": "Z",
+      "Ž": "Z",
+      "ź": "z",
+      "ż": "z",
+      "ž": "z",
+      "IJ": "IJ",
+      "ij": "ij",
+      "Œ": "Oe",
+      "œ": "oe",
+      "ʼn": "'n",
+      "ſ": "s"
+    };
+    var htmlEscapes = {
+      "&": "&amp;",
+      "<": "&lt;",
+      ">": "&gt;",
+      '"': "&quot;",
+      "'": "&#39;"
+    };
+    var htmlUnescapes = {
+      "&amp;": "&",
+      "&lt;": "<",
+      "&gt;": ">",
+      "&quot;": '"',
+      "&#39;": "'"
+    };
+    var stringEscapes = {
+      "\\": "\\",
+      "'": "'",
+      "\n": "n",
+      "\r": "r",
+      "\u2028": "u2028",
+      "\u2029": "u2029"
+    };
+    var freeParseFloat = parseFloat, freeParseInt = parseInt;
+    var freeGlobal = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
+    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
+    var root = freeGlobal || freeSelf || Function("return this")();
+    var freeExports = exports2 && !exports2.nodeType && exports2;
+    var freeModule = freeExports && true && module2 && !module2.nodeType && module2;
+    var moduleExports = freeModule && freeModule.exports === freeExports;
+    var freeProcess = moduleExports && freeGlobal.process;
+    var nodeUtil = function() {
+      try {
+        var types2 = freeModule && freeModule.require && freeModule.require("util").types;
+        if (types2) {
+          return types2;
+        }
+        return freeProcess && freeProcess.binding && freeProcess.binding("util");
+      } catch (e2) {
+      }
+    }();
+    var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, nodeIsDate = nodeUtil && nodeUtil.isDate, nodeIsMap = nodeUtil && nodeUtil.isMap, nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, nodeIsSet = nodeUtil && nodeUtil.isSet, nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
+    function apply(func, thisArg, args) {
+      switch (args.length) {
+        case 0:
+          return func.call(thisArg);
+        case 1:
+          return func.call(thisArg, args[0]);
+        case 2:
+          return func.call(thisArg, args[0], args[1]);
+        case 3:
+          return func.call(thisArg, args[0], args[1], args[2]);
+      }
+      return func.apply(thisArg, args);
+    }
+    function arrayAggregator(array, setter, iteratee, accumulator) {
+      var index3 = -1, length2 = array == null ? 0 : array.length;
+      while (++index3 < length2) {
+        var value = array[index3];
+        setter(accumulator, value, iteratee(value), array);
+      }
+      return accumulator;
+    }
+    function arrayEach(array, iteratee) {
+      var index3 = -1, length2 = array == null ? 0 : array.length;
+      while (++index3 < length2) {
+        if (iteratee(array[index3], index3, array) === false) {
+          break;
+        }
+      }
+      return array;
+    }
+    function arrayEachRight(array, iteratee) {
+      var length2 = array == null ? 0 : array.length;
+      while (length2--) {
+        if (iteratee(array[length2], length2, array) === false) {
+          break;
+        }
+      }
+      return array;
+    }
+    function arrayEvery(array, predicate) {
+      var index3 = -1, length2 = array == null ? 0 : array.length;
+      while (++index3 < length2) {
+        if (!predicate(array[index3], index3, array)) {
+          return false;
+        }
+      }
+      return true;
+    }
+    function arrayFilter(array, predicate) {
+      var index3 = -1, length2 = array == null ? 0 : array.length, resIndex = 0, result2 = [];
+      while (++index3 < length2) {
+        var value = array[index3];
+        if (predicate(value, index3, array)) {
+          result2[resIndex++] = value;
+        }
+      }
+      return result2;
+    }
+    function arrayIncludes(array, value) {
+      var length2 = array == null ? 0 : array.length;
+      return !!length2 && baseIndexOf(array, value, 0) > -1;
+    }
+    function arrayIncludesWith(array, value, comparator) {
+      var index3 = -1, length2 = array == null ? 0 : array.length;
+      while (++index3 < length2) {
+        if (comparator(value, array[index3])) {
+          return true;
+        }
+      }
+      return false;
+    }
+    function arrayMap(array, iteratee) {
+      var index3 = -1, length2 = array == null ? 0 : array.length, result2 = Array(length2);
+      while (++index3 < length2) {
+        result2[index3] = iteratee(array[index3], index3, array);
+      }
+      return result2;
+    }
+    function arrayPush(array, values) {
+      var index3 = -1, length2 = values.length, offset2 = array.length;
+      while (++index3 < length2) {
+        array[offset2 + index3] = values[index3];
+      }
+      return array;
+    }
+    function arrayReduce(array, iteratee, accumulator, initAccum) {
+      var index3 = -1, length2 = array == null ? 0 : array.length;
+      if (initAccum && length2) {
+        accumulator = array[++index3];
+      }
+      while (++index3 < length2) {
+        accumulator = iteratee(accumulator, array[index3], index3, array);
+      }
+      return accumulator;
+    }
+    function arrayReduceRight(array, iteratee, accumulator, initAccum) {
+      var length2 = array == null ? 0 : array.length;
+      if (initAccum && length2) {
+        accumulator = array[--length2];
+      }
+      while (length2--) {
+        accumulator = iteratee(accumulator, array[length2], length2, array);
+      }
+      return accumulator;
+    }
+    function arraySome(array, predicate) {
+      var index3 = -1, length2 = array == null ? 0 : array.length;
+      while (++index3 < length2) {
+        if (predicate(array[index3], index3, array)) {
+          return true;
+        }
+      }
+      return false;
+    }
+    var asciiSize = baseProperty("length");
+    function asciiToArray(string) {
+      return string.split("");
+    }
+    function asciiWords(string) {
+      return string.match(reAsciiWord) || [];
+    }
+    function baseFindKey(collection, predicate, eachFunc) {
+      var result2;
+      eachFunc(collection, function(value, key2, collection2) {
+        if (predicate(value, key2, collection2)) {
+          result2 = key2;
+          return false;
+        }
+      });
+      return result2;
+    }
+    function baseFindIndex(array, predicate, fromIndex, fromRight) {
+      var length2 = array.length, index3 = fromIndex + (fromRight ? 1 : -1);
+      while (fromRight ? index3-- : ++index3 < length2) {
+        if (predicate(array[index3], index3, array)) {
+          return index3;
+        }
+      }
+      return -1;
+    }
+    function baseIndexOf(array, value, fromIndex) {
+      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
+    }
+    function baseIndexOfWith(array, value, fromIndex, comparator) {
+      var index3 = fromIndex - 1, length2 = array.length;
+      while (++index3 < length2) {
+        if (comparator(array[index3], value)) {
+          return index3;
+        }
+      }
+      return -1;
+    }
+    function baseIsNaN(value) {
+      return value !== value;
+    }
+    function baseMean(array, iteratee) {
+      var length2 = array == null ? 0 : array.length;
+      return length2 ? baseSum(array, iteratee) / length2 : NAN;
+    }
+    function baseProperty(key2) {
+      return function(object) {
+        return object == null ? undefined$1 : object[key2];
+      };
+    }
+    function basePropertyOf(object) {
+      return function(key2) {
+        return object == null ? undefined$1 : object[key2];
+      };
+    }
+    function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
+      eachFunc(collection, function(value, index3, collection2) {
+        accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index3, collection2);
+      });
+      return accumulator;
+    }
+    function baseSortBy(array, comparer) {
+      var length2 = array.length;
+      array.sort(comparer);
+      while (length2--) {
+        array[length2] = array[length2].value;
+      }
+      return array;
+    }
+    function baseSum(array, iteratee) {
+      var result2, index3 = -1, length2 = array.length;
+      while (++index3 < length2) {
+        var current = iteratee(array[index3]);
+        if (current !== undefined$1) {
+          result2 = result2 === undefined$1 ? current : result2 + current;
+        }
+      }
+      return result2;
+    }
+    function baseTimes(n2, iteratee) {
+      var index3 = -1, result2 = Array(n2);
+      while (++index3 < n2) {
+        result2[index3] = iteratee(index3);
+      }
+      return result2;
+    }
+    function baseToPairs(object, props2) {
+      return arrayMap(props2, function(key2) {
+        return [key2, object[key2]];
+      });
+    }
+    function baseTrim(string) {
+      return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
+    }
+    function baseUnary(func) {
+      return function(value) {
+        return func(value);
+      };
+    }
+    function baseValues(object, props2) {
+      return arrayMap(props2, function(key2) {
+        return object[key2];
+      });
+    }
+    function cacheHas(cache, key2) {
+      return cache.has(key2);
+    }
+    function charsStartIndex(strSymbols, chrSymbols) {
+      var index3 = -1, length2 = strSymbols.length;
+      while (++index3 < length2 && baseIndexOf(chrSymbols, strSymbols[index3], 0) > -1) {
+      }
+      return index3;
+    }
+    function charsEndIndex(strSymbols, chrSymbols) {
+      var index3 = strSymbols.length;
+      while (index3-- && baseIndexOf(chrSymbols, strSymbols[index3], 0) > -1) {
+      }
+      return index3;
+    }
+    function countHolders(array, placeholder2) {
+      var length2 = array.length, result2 = 0;
+      while (length2--) {
+        if (array[length2] === placeholder2) {
+          ++result2;
+        }
+      }
+      return result2;
+    }
+    var deburrLetter = basePropertyOf(deburredLetters);
+    var escapeHtmlChar = basePropertyOf(htmlEscapes);
+    function escapeStringChar(chr) {
+      return "\\" + stringEscapes[chr];
+    }
+    function getValue(object, key2) {
+      return object == null ? undefined$1 : object[key2];
+    }
+    function hasUnicode(string) {
+      return reHasUnicode.test(string);
+    }
+    function hasUnicodeWord(string) {
+      return reHasUnicodeWord.test(string);
+    }
+    function iteratorToArray(iterator2) {
+      var data2, result2 = [];
+      while (!(data2 = iterator2.next()).done) {
+        result2.push(data2.value);
+      }
+      return result2;
+    }
+    function mapToArray(map2) {
+      var index3 = -1, result2 = Array(map2.size);
+      map2.forEach(function(value, key2) {
+        result2[++index3] = [key2, value];
+      });
+      return result2;
+    }
+    function overArg(func, transform3) {
+      return function(arg) {
+        return func(transform3(arg));
+      };
+    }
+    function replaceHolders(array, placeholder2) {
+      var index3 = -1, length2 = array.length, resIndex = 0, result2 = [];
+      while (++index3 < length2) {
+        var value = array[index3];
+        if (value === placeholder2 || value === PLACEHOLDER) {
+          array[index3] = PLACEHOLDER;
+          result2[resIndex++] = index3;
+        }
+      }
+      return result2;
+    }
+    function setToArray(set2) {
+      var index3 = -1, result2 = Array(set2.size);
+      set2.forEach(function(value) {
+        result2[++index3] = value;
+      });
+      return result2;
+    }
+    function setToPairs(set2) {
+      var index3 = -1, result2 = Array(set2.size);
+      set2.forEach(function(value) {
+        result2[++index3] = [value, value];
+      });
+      return result2;
+    }
+    function strictIndexOf(array, value, fromIndex) {
+      var index3 = fromIndex - 1, length2 = array.length;
+      while (++index3 < length2) {
+        if (array[index3] === value) {
+          return index3;
+        }
+      }
+      return -1;
+    }
+    function strictLastIndexOf(array, value, fromIndex) {
+      var index3 = fromIndex + 1;
+      while (index3--) {
+        if (array[index3] === value) {
+          return index3;
+        }
+      }
+      return index3;
+    }
+    function stringSize(string) {
+      return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
+    }
+    function stringToArray(string) {
+      return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
+    }
+    function trimmedEndIndex(string) {
+      var index3 = string.length;
+      while (index3-- && reWhitespace.test(string.charAt(index3))) {
+      }
+      return index3;
+    }
+    var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
+    function unicodeSize(string) {
+      var result2 = reUnicode.lastIndex = 0;
+      while (reUnicode.test(string)) {
+        ++result2;
+      }
+      return result2;
+    }
+    function unicodeToArray(string) {
+      return string.match(reUnicode) || [];
+    }
+    function unicodeWords(string) {
+      return string.match(reUnicodeWord) || [];
+    }
+    var runInContext = function runInContext2(context) {
+      context = context == null ? root : _2.defaults(root.Object(), context, _2.pick(root, contextProps));
+      var Array2 = context.Array, Date2 = context.Date, Error2 = context.Error, Function2 = context.Function, Math2 = context.Math, Object2 = context.Object, RegExp2 = context.RegExp, String2 = context.String, TypeError2 = context.TypeError;
+      var arrayProto2 = Array2.prototype, funcProto = Function2.prototype, objectProto = Object2.prototype;
+      var coreJsData = context["__core-js_shared__"];
+      var funcToString = funcProto.toString;
+      var hasOwnProperty2 = objectProto.hasOwnProperty;
+      var idCounter = 0;
+      var maskSrcKey = function() {
+        var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
+        return uid ? "Symbol(src)_1." + uid : "";
+      }();
+      var nativeObjectToString = objectProto.toString;
+      var objectCtorString = funcToString.call(Object2);
+      var oldDash = root._;
+      var reIsNative = RegExp2(
+        "^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
+      );
+      var Buffer2 = moduleExports ? context.Buffer : undefined$1, Symbol2 = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : undefined$1, getPrototype = overArg(Object2.getPrototypeOf, Object2), objectCreate = Object2.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto2.splice, spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : undefined$1, symIterator = Symbol2 ? Symbol2.iterator : undefined$1, symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined$1;
+      var defineProperty = function() {
+        try {
+          var func = getNative(Object2, "defineProperty");
+          func({}, "", {});
+          return func;
+        } catch (e2) {
+        }
+      }();
+      var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, ctxNow = Date2 && Date2.now !== root.Date.now && Date2.now, ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
+      var nativeCeil = Math2.ceil, nativeFloor = Math2.floor, nativeGetSymbols = Object2.getOwnPropertySymbols, nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined$1, nativeIsFinite = context.isFinite, nativeJoin = arrayProto2.join, nativeKeys = overArg(Object2.keys, Object2), nativeMax = Math2.max, nativeMin = Math2.min, nativeNow = Date2.now, nativeParseInt = context.parseInt, nativeRandom = Math2.random, nativeReverse = arrayProto2.reverse;
+      var DataView2 = getNative(context, "DataView"), Map2 = getNative(context, "Map"), Promise2 = getNative(context, "Promise"), Set2 = getNative(context, "Set"), WeakMap2 = getNative(context, "WeakMap"), nativeCreate = getNative(Object2, "create");
+      var metaMap = WeakMap2 && new WeakMap2();
+      var realNames = {};
+      var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2);
+      var symbolProto = Symbol2 ? Symbol2.prototype : undefined$1, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined$1, symbolToString = symbolProto ? symbolProto.toString : undefined$1;
+      function lodash2(value) {
+        if (isObjectLike(value) && !isArray2(value) && !(value instanceof LazyWrapper)) {
+          if (value instanceof LodashWrapper) {
+            return value;
+          }
+          if (hasOwnProperty2.call(value, "__wrapped__")) {
+            return wrapperClone(value);
+          }
+        }
+        return new LodashWrapper(value);
+      }
+      var baseCreate = function() {
+        function object() {
+        }
+        return function(proto2) {
+          if (!isObject2(proto2)) {
+            return {};
+          }
+          if (objectCreate) {
+            return objectCreate(proto2);
+          }
+          object.prototype = proto2;
+          var result22 = new object();
+          object.prototype = undefined$1;
+          return result22;
+        };
+      }();
+      function baseLodash() {
+      }
+      function LodashWrapper(value, chainAll) {
+        this.__wrapped__ = value;
+        this.__actions__ = [];
+        this.__chain__ = !!chainAll;
+        this.__index__ = 0;
+        this.__values__ = undefined$1;
+      }
+      lodash2.templateSettings = {
+        "escape": reEscape,
+        "evaluate": reEvaluate,
+        "interpolate": reInterpolate,
+        "variable": "",
+        "imports": {
+          "_": lodash2
+        }
+      };
+      lodash2.prototype = baseLodash.prototype;
+      lodash2.prototype.constructor = lodash2;
+      LodashWrapper.prototype = baseCreate(baseLodash.prototype);
+      LodashWrapper.prototype.constructor = LodashWrapper;
+      function LazyWrapper(value) {
+        this.__wrapped__ = value;
+        this.__actions__ = [];
+        this.__dir__ = 1;
+        this.__filtered__ = false;
+        this.__iteratees__ = [];
+        this.__takeCount__ = MAX_ARRAY_LENGTH;
+        this.__views__ = [];
+      }
+      function lazyClone() {
+        var result22 = new LazyWrapper(this.__wrapped__);
+        result22.__actions__ = copyArray2(this.__actions__);
+        result22.__dir__ = this.__dir__;
+        result22.__filtered__ = this.__filtered__;
+        result22.__iteratees__ = copyArray2(this.__iteratees__);
+        result22.__takeCount__ = this.__takeCount__;
+        result22.__views__ = copyArray2(this.__views__);
+        return result22;
+      }
+      function lazyReverse() {
+        if (this.__filtered__) {
+          var result22 = new LazyWrapper(this);
+          result22.__dir__ = -1;
+          result22.__filtered__ = true;
+        } else {
+          result22 = this.clone();
+          result22.__dir__ *= -1;
+        }
+        return result22;
+      }
+      function lazyValue() {
+        var array = this.__wrapped__.value(), dir3 = this.__dir__, isArr = isArray2(array), isRight = dir3 < 0, arrLength = isArr ? array.length : 0, view = getView(0, arrLength, this.__views__), start2 = view.start, end2 = view.end, length2 = end2 - start2, index3 = isRight ? end2 : start2 - 1, iteratees = this.__iteratees__, iterLength = iteratees.length, resIndex = 0, takeCount = nativeMin(length2, this.__takeCount__);
+        if (!isArr || !isRight && arrLength == length2 && takeCount == length2) {
+          return baseWrapperValue(array, this.__actions__);
+        }
+        var result22 = [];
+        outer:
+          while (length2-- && resIndex < takeCount) {
+            index3 += dir3;
+            var iterIndex = -1, value = array[index3];
+            while (++iterIndex < iterLength) {
+              var data2 = iteratees[iterIndex], iteratee2 = data2.iteratee, type2 = data2.type, computed2 = iteratee2(value);
+              if (type2 == LAZY_MAP_FLAG) {
+                value = computed2;
+              } else if (!computed2) {
+                if (type2 == LAZY_FILTER_FLAG) {
+                  continue outer;
+                } else {
+                  break outer;
+                }
+              }
+            }
+            result22[resIndex++] = value;
+          }
+        return result22;
+      }
+      LazyWrapper.prototype = baseCreate(baseLodash.prototype);
+      LazyWrapper.prototype.constructor = LazyWrapper;
+      function Hash(entries) {
+        var index3 = -1, length2 = entries == null ? 0 : entries.length;
+        this.clear();
+        while (++index3 < length2) {
+          var entry = entries[index3];
+          this.set(entry[0], entry[1]);
+        }
+      }
+      function hashClear() {
+        this.__data__ = nativeCreate ? nativeCreate(null) : {};
+        this.size = 0;
+      }
+      function hashDelete(key2) {
+        var result22 = this.has(key2) && delete this.__data__[key2];
+        this.size -= result22 ? 1 : 0;
+        return result22;
+      }
+      function hashGet(key2) {
+        var data2 = this.__data__;
+        if (nativeCreate) {
+          var result22 = data2[key2];
+          return result22 === HASH_UNDEFINED ? undefined$1 : result22;
+        }
+        return hasOwnProperty2.call(data2, key2) ? data2[key2] : undefined$1;
+      }
+      function hashHas(key2) {
+        var data2 = this.__data__;
+        return nativeCreate ? data2[key2] !== undefined$1 : hasOwnProperty2.call(data2, key2);
+      }
+      function hashSet(key2, value) {
+        var data2 = this.__data__;
+        this.size += this.has(key2) ? 0 : 1;
+        data2[key2] = nativeCreate && value === undefined$1 ? HASH_UNDEFINED : value;
+        return this;
+      }
+      Hash.prototype.clear = hashClear;
+      Hash.prototype["delete"] = hashDelete;
+      Hash.prototype.get = hashGet;
+      Hash.prototype.has = hashHas;
+      Hash.prototype.set = hashSet;
+      function ListCache(entries) {
+        var index3 = -1, length2 = entries == null ? 0 : entries.length;
+        this.clear();
+        while (++index3 < length2) {
+          var entry = entries[index3];
+          this.set(entry[0], entry[1]);
+        }
+      }
+      function listCacheClear() {
+        this.__data__ = [];
+        this.size = 0;
+      }
+      function listCacheDelete(key2) {
+        var data2 = this.__data__, index3 = assocIndexOf(data2, key2);
+        if (index3 < 0) {
+          return false;
+        }
+        var lastIndex = data2.length - 1;
+        if (index3 == lastIndex) {
+          data2.pop();
+        } else {
+          splice.call(data2, index3, 1);
+        }
+        --this.size;
+        return true;
+      }
+      function listCacheGet2(key2) {
+        var data2 = this.__data__, index3 = assocIndexOf(data2, key2);
+        return index3 < 0 ? undefined$1 : data2[index3][1];
+      }
+      function listCacheHas(key2) {
+        return assocIndexOf(this.__data__, key2) > -1;
+      }
+      function listCacheSet2(key2, value) {
+        var data2 = this.__data__, index3 = assocIndexOf(data2, key2);
+        if (index3 < 0) {
+          ++this.size;
+          data2.push([key2, value]);
+        } else {
+          data2[index3][1] = value;
+        }
+        return this;
+      }
+      ListCache.prototype.clear = listCacheClear;
+      ListCache.prototype["delete"] = listCacheDelete;
+      ListCache.prototype.get = listCacheGet2;
+      ListCache.prototype.has = listCacheHas;
+      ListCache.prototype.set = listCacheSet2;
+      function MapCache(entries) {
+        var index3 = -1, length2 = entries == null ? 0 : entries.length;
+        this.clear();
+        while (++index3 < length2) {
+          var entry = entries[index3];
+          this.set(entry[0], entry[1]);
+        }
+      }
+      function mapCacheClear() {
+        this.size = 0;
+        this.__data__ = {
+          "hash": new Hash(),
+          "map": new (Map2 || ListCache)(),
+          "string": new Hash()
+        };
+      }
+      function mapCacheDelete(key2) {
+        var result22 = getMapData(this, key2)["delete"](key2);
+        this.size -= result22 ? 1 : 0;
+        return result22;
+      }
+      function mapCacheGet(key2) {
+        return getMapData(this, key2).get(key2);
+      }
+      function mapCacheHas(key2) {
+        return getMapData(this, key2).has(key2);
+      }
+      function mapCacheSet(key2, value) {
+        var data2 = getMapData(this, key2), size2 = data2.size;
+        data2.set(key2, value);
+        this.size += data2.size == size2 ? 0 : 1;
+        return this;
+      }
+      MapCache.prototype.clear = mapCacheClear;
+      MapCache.prototype["delete"] = mapCacheDelete;
+      MapCache.prototype.get = mapCacheGet;
+      MapCache.prototype.has = mapCacheHas;
+      MapCache.prototype.set = mapCacheSet;
+      function SetCache(values2) {
+        var index3 = -1, length2 = values2 == null ? 0 : values2.length;
+        this.__data__ = new MapCache();
+        while (++index3 < length2) {
+          this.add(values2[index3]);
+        }
+      }
+      function setCacheAdd(value) {
+        this.__data__.set(value, HASH_UNDEFINED);
+        return this;
+      }
+      function setCacheHas(value) {
+        return this.__data__.has(value);
+      }
+      SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+      SetCache.prototype.has = setCacheHas;
+      function Stack(entries) {
+        var data2 = this.__data__ = new ListCache(entries);
+        this.size = data2.size;
+      }
+      function stackClear() {
+        this.__data__ = new ListCache();
+        this.size = 0;
+      }
+      function stackDelete(key2) {
+        var data2 = this.__data__, result22 = data2["delete"](key2);
+        this.size = data2.size;
+        return result22;
+      }
+      function stackGet(key2) {
+        return this.__data__.get(key2);
+      }
+      function stackHas(key2) {
+        return this.__data__.has(key2);
+      }
+      function stackSet(key2, value) {
+        var data2 = this.__data__;
+        if (data2 instanceof ListCache) {
+          var pairs = data2.__data__;
+          if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
+            pairs.push([key2, value]);
+            this.size = ++data2.size;
+            return this;
+          }
+          data2 = this.__data__ = new MapCache(pairs);
+        }
+        data2.set(key2, value);
+        this.size = data2.size;
+        return this;
+      }
+      Stack.prototype.clear = stackClear;
+      Stack.prototype["delete"] = stackDelete;
+      Stack.prototype.get = stackGet;
+      Stack.prototype.has = stackHas;
+      Stack.prototype.set = stackSet;
+      function arrayLikeKeys(value, inherited) {
+        var isArr = isArray2(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer2(value), isType = !isArr && !isArg && !isBuff && isTypedArray2(value), skipIndexes = isArr || isArg || isBuff || isType, result22 = skipIndexes ? baseTimes(value.length, String2) : [], length2 = result22.length;
+        for (var key2 in value) {
+          if ((inherited || hasOwnProperty2.call(value, key2)) && !(skipIndexes && (key2 == "length" || isBuff && (key2 == "offset" || key2 == "parent") || isType && (key2 == "buffer" || key2 == "byteLength" || key2 == "byteOffset") || isIndex(key2, length2)))) {
+            result22.push(key2);
+          }
+        }
+        return result22;
+      }
+      function arraySample(array) {
+        var length2 = array.length;
+        return length2 ? array[baseRandom(0, length2 - 1)] : undefined$1;
+      }
+      function arraySampleSize(array, n2) {
+        return shuffleSelf(copyArray2(array), baseClamp(n2, 0, array.length));
+      }
+      function arrayShuffle(array) {
+        return shuffleSelf(copyArray2(array));
+      }
+      function assignMergeValue(object, key2, value) {
+        if (value !== undefined$1 && !eq(object[key2], value) || value === undefined$1 && !(key2 in object)) {
+          baseAssignValue(object, key2, value);
+        }
+      }
+      function assignValue(object, key2, value) {
+        var objValue = object[key2];
+        if (!(hasOwnProperty2.call(object, key2) && eq(objValue, value)) || value === undefined$1 && !(key2 in object)) {
+          baseAssignValue(object, key2, value);
+        }
+      }
+      function assocIndexOf(array, key2) {
+        var length2 = array.length;
+        while (length2--) {
+          if (eq(array[length2][0], key2)) {
+            return length2;
+          }
+        }
+        return -1;
+      }
+      function baseAggregator(collection, setter, iteratee2, accumulator) {
+        baseEach(collection, function(value, key2, collection2) {
+          setter(accumulator, value, iteratee2(value), collection2);
+        });
+        return accumulator;
+      }
+      function baseAssign(object, source2) {
+        return object && copyObject(source2, keys2(source2), object);
+      }
+      function baseAssignIn(object, source2) {
+        return object && copyObject(source2, keysIn(source2), object);
+      }
+      function baseAssignValue(object, key2, value) {
+        if (key2 == "__proto__" && defineProperty) {
+          defineProperty(object, key2, {
+            "configurable": true,
+            "enumerable": true,
+            "value": value,
+            "writable": true
+          });
+        } else {
+          object[key2] = value;
+        }
+      }
+      function baseAt(object, paths) {
+        var index3 = -1, length2 = paths.length, result22 = Array2(length2), skip = object == null;
+        while (++index3 < length2) {
+          result22[index3] = skip ? undefined$1 : get2(object, paths[index3]);
+        }
+        return result22;
+      }
+      function baseClamp(number2, lower, upper) {
+        if (number2 === number2) {
+          if (upper !== undefined$1) {
+            number2 = number2 <= upper ? number2 : upper;
+          }
+          if (lower !== undefined$1) {
+            number2 = number2 >= lower ? number2 : lower;
+          }
+        }
+        return number2;
+      }
+      function baseClone(value, bitmask, customizer, key2, object, stack) {
+        var result22, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
+        if (customizer) {
+          result22 = object ? customizer(value, key2, object, stack) : customizer(value);
+        }
+        if (result22 !== undefined$1) {
+          return result22;
+        }
+        if (!isObject2(value)) {
+          return value;
+        }
+        var isArr = isArray2(value);
+        if (isArr) {
+          result22 = initCloneArray(value);
+          if (!isDeep) {
+            return copyArray2(value, result22);
+          }
+        } else {
+          var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;
+          if (isBuffer2(value)) {
+            return cloneBuffer(value, isDeep);
+          }
+          if (tag == objectTag || tag == argsTag || isFunc && !object) {
+            result22 = isFlat || isFunc ? {} : initCloneObject(value);
+            if (!isDeep) {
+              return isFlat ? copySymbolsIn(value, baseAssignIn(result22, value)) : copySymbols(value, baseAssign(result22, value));
+            }
+          } else {
+            if (!cloneableTags[tag]) {
+              return object ? value : {};
+            }
+            result22 = initCloneByTag(value, tag, isDeep);
+          }
+        }
+        stack || (stack = new Stack());
+        var stacked = stack.get(value);
+        if (stacked) {
+          return stacked;
+        }
+        stack.set(value, result22);
+        if (isSet(value)) {
+          value.forEach(function(subValue) {
+            result22.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
+          });
+        } else if (isMap(value)) {
+          value.forEach(function(subValue, key22) {
+            result22.set(key22, baseClone(subValue, bitmask, customizer, key22, value, stack));
+          });
+        }
+        var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys2;
+        var props2 = isArr ? undefined$1 : keysFunc(value);
+        arrayEach(props2 || value, function(subValue, key22) {
+          if (props2) {
+            key22 = subValue;
+            subValue = value[key22];
+          }
+          assignValue(result22, key22, baseClone(subValue, bitmask, customizer, key22, value, stack));
+        });
+        return result22;
+      }
+      function baseConforms(source2) {
+        var props2 = keys2(source2);
+        return function(object) {
+          return baseConformsTo(object, source2, props2);
+        };
+      }
+      function baseConformsTo(object, source2, props2) {
+        var length2 = props2.length;
+        if (object == null) {
+          return !length2;
+        }
+        object = Object2(object);
+        while (length2--) {
+          var key2 = props2[length2], predicate = source2[key2], value = object[key2];
+          if (value === undefined$1 && !(key2 in object) || !predicate(value)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      function baseDelay(func, wait, args) {
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        return setTimeout2(function() {
+          func.apply(undefined$1, args);
+        }, wait);
+      }
+      function baseDifference(array, values2, iteratee2, comparator) {
+        var index3 = -1, includes2 = arrayIncludes, isCommon = true, length2 = array.length, result22 = [], valuesLength = values2.length;
+        if (!length2) {
+          return result22;
+        }
+        if (iteratee2) {
+          values2 = arrayMap(values2, baseUnary(iteratee2));
+        }
+        if (comparator) {
+          includes2 = arrayIncludesWith;
+          isCommon = false;
+        } else if (values2.length >= LARGE_ARRAY_SIZE) {
+          includes2 = cacheHas;
+          isCommon = false;
+          values2 = new SetCache(values2);
+        }
+        outer:
+          while (++index3 < length2) {
+            var value = array[index3], computed2 = iteratee2 == null ? value : iteratee2(value);
+            value = comparator || value !== 0 ? value : 0;
+            if (isCommon && computed2 === computed2) {
+              var valuesIndex = valuesLength;
+              while (valuesIndex--) {
+                if (values2[valuesIndex] === computed2) {
+                  continue outer;
+                }
+              }
+              result22.push(value);
+            } else if (!includes2(values2, computed2, comparator)) {
+              result22.push(value);
+            }
+          }
+        return result22;
+      }
+      var baseEach = createBaseEach(baseForOwn);
+      var baseEachRight = createBaseEach(baseForOwnRight, true);
+      function baseEvery(collection, predicate) {
+        var result22 = true;
+        baseEach(collection, function(value, index3, collection2) {
+          result22 = !!predicate(value, index3, collection2);
+          return result22;
+        });
+        return result22;
+      }
+      function baseExtremum(array, iteratee2, comparator) {
+        var index3 = -1, length2 = array.length;
+        while (++index3 < length2) {
+          var value = array[index3], current = iteratee2(value);
+          if (current != null && (computed2 === undefined$1 ? current === current && !isSymbol(current) : comparator(current, computed2))) {
+            var computed2 = current, result22 = value;
+          }
+        }
+        return result22;
+      }
+      function baseFill(array, value, start2, end2) {
+        var length2 = array.length;
+        start2 = toInteger(start2);
+        if (start2 < 0) {
+          start2 = -start2 > length2 ? 0 : length2 + start2;
+        }
+        end2 = end2 === undefined$1 || end2 > length2 ? length2 : toInteger(end2);
+        if (end2 < 0) {
+          end2 += length2;
+        }
+        end2 = start2 > end2 ? 0 : toLength(end2);
+        while (start2 < end2) {
+          array[start2++] = value;
+        }
+        return array;
+      }
+      function baseFilter(collection, predicate) {
+        var result22 = [];
+        baseEach(collection, function(value, index3, collection2) {
+          if (predicate(value, index3, collection2)) {
+            result22.push(value);
+          }
+        });
+        return result22;
+      }
+      function baseFlatten(array, depth, predicate, isStrict, result22) {
+        var index3 = -1, length2 = array.length;
+        predicate || (predicate = isFlattenable);
+        result22 || (result22 = []);
+        while (++index3 < length2) {
+          var value = array[index3];
+          if (depth > 0 && predicate(value)) {
+            if (depth > 1) {
+              baseFlatten(value, depth - 1, predicate, isStrict, result22);
+            } else {
+              arrayPush(result22, value);
+            }
+          } else if (!isStrict) {
+            result22[result22.length] = value;
+          }
+        }
+        return result22;
+      }
+      var baseFor = createBaseFor();
+      var baseForRight = createBaseFor(true);
+      function baseForOwn(object, iteratee2) {
+        return object && baseFor(object, iteratee2, keys2);
+      }
+      function baseForOwnRight(object, iteratee2) {
+        return object && baseForRight(object, iteratee2, keys2);
+      }
+      function baseFunctions(object, props2) {
+        return arrayFilter(props2, function(key2) {
+          return isFunction2(object[key2]);
+        });
+      }
+      function baseGet(object, path2) {
+        path2 = castPath(path2, object);
+        var index3 = 0, length2 = path2.length;
+        while (object != null && index3 < length2) {
+          object = object[toKey(path2[index3++])];
+        }
+        return index3 && index3 == length2 ? object : undefined$1;
+      }
+      function baseGetAllKeys(object, keysFunc, symbolsFunc) {
+        var result22 = keysFunc(object);
+        return isArray2(object) ? result22 : arrayPush(result22, symbolsFunc(object));
+      }
+      function baseGetTag(value) {
+        if (value == null) {
+          return value === undefined$1 ? undefinedTag : nullTag;
+        }
+        return symToStringTag && symToStringTag in Object2(value) ? getRawTag(value) : objectToString(value);
+      }
+      function baseGt(value, other) {
+        return value > other;
+      }
+      function baseHas(object, key2) {
+        return object != null && hasOwnProperty2.call(object, key2);
+      }
+      function baseHasIn(object, key2) {
+        return object != null && key2 in Object2(object);
+      }
+      function baseInRange(number2, start2, end2) {
+        return number2 >= nativeMin(start2, end2) && number2 < nativeMax(start2, end2);
+      }
+      function baseIntersection(arrays, iteratee2, comparator) {
+        var includes2 = comparator ? arrayIncludesWith : arrayIncludes, length2 = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array2(othLength), maxLength = Infinity, result22 = [];
+        while (othIndex--) {
+          var array = arrays[othIndex];
+          if (othIndex && iteratee2) {
+            array = arrayMap(array, baseUnary(iteratee2));
+          }
+          maxLength = nativeMin(array.length, maxLength);
+          caches[othIndex] = !comparator && (iteratee2 || length2 >= 120 && array.length >= 120) ? new SetCache(othIndex && array) : undefined$1;
+        }
+        array = arrays[0];
+        var index3 = -1, seen2 = caches[0];
+        outer:
+          while (++index3 < length2 && result22.length < maxLength) {
+            var value = array[index3], computed2 = iteratee2 ? iteratee2(value) : value;
+            value = comparator || value !== 0 ? value : 0;
+            if (!(seen2 ? cacheHas(seen2, computed2) : includes2(result22, computed2, comparator))) {
+              othIndex = othLength;
+              while (--othIndex) {
+                var cache = caches[othIndex];
+                if (!(cache ? cacheHas(cache, computed2) : includes2(arrays[othIndex], computed2, comparator))) {
+                  continue outer;
+                }
+              }
+              if (seen2) {
+                seen2.push(computed2);
+              }
+              result22.push(value);
+            }
+          }
+        return result22;
+      }
+      function baseInverter(object, setter, iteratee2, accumulator) {
+        baseForOwn(object, function(value, key2, object2) {
+          setter(accumulator, iteratee2(value), key2, object2);
+        });
+        return accumulator;
+      }
+      function baseInvoke(object, path2, args) {
+        path2 = castPath(path2, object);
+        object = parent3(object, path2);
+        var func = object == null ? object : object[toKey(last(path2))];
+        return func == null ? undefined$1 : apply(func, object, args);
+      }
+      function baseIsArguments(value) {
+        return isObjectLike(value) && baseGetTag(value) == argsTag;
+      }
+      function baseIsArrayBuffer(value) {
+        return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;
+      }
+      function baseIsDate(value) {
+        return isObjectLike(value) && baseGetTag(value) == dateTag;
+      }
+      function baseIsEqual(value, other, bitmask, customizer, stack) {
+        if (value === other) {
+          return true;
+        }
+        if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
+          return value !== value && other !== other;
+        }
+        return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
+      }
+      function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
+        var objIsArr = isArray2(object), othIsArr = isArray2(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
+        objTag = objTag == argsTag ? objectTag : objTag;
+        othTag = othTag == argsTag ? objectTag : othTag;
+        var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
+        if (isSameTag && isBuffer2(object)) {
+          if (!isBuffer2(other)) {
+            return false;
+          }
+          objIsArr = true;
+          objIsObj = false;
+        }
+        if (isSameTag && !objIsObj) {
+          stack || (stack = new Stack());
+          return objIsArr || isTypedArray2(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
+        }
+        if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
+          var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
+          if (objIsWrapped || othIsWrapped) {
+            var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
+            stack || (stack = new Stack());
+            return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
+          }
+        }
+        if (!isSameTag) {
+          return false;
+        }
+        stack || (stack = new Stack());
+        return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
+      }
+      function baseIsMap(value) {
+        return isObjectLike(value) && getTag(value) == mapTag;
+      }
+      function baseIsMatch(object, source2, matchData, customizer) {
+        var index3 = matchData.length, length2 = index3, noCustomizer = !customizer;
+        if (object == null) {
+          return !length2;
+        }
+        object = Object2(object);
+        while (index3--) {
+          var data2 = matchData[index3];
+          if (noCustomizer && data2[2] ? data2[1] !== object[data2[0]] : !(data2[0] in object)) {
+            return false;
+          }
+        }
+        while (++index3 < length2) {
+          data2 = matchData[index3];
+          var key2 = data2[0], objValue = object[key2], srcValue = data2[1];
+          if (noCustomizer && data2[2]) {
+            if (objValue === undefined$1 && !(key2 in object)) {
+              return false;
+            }
+          } else {
+            var stack = new Stack();
+            if (customizer) {
+              var result22 = customizer(objValue, srcValue, key2, object, source2, stack);
+            }
+            if (!(result22 === undefined$1 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result22)) {
+              return false;
+            }
+          }
+        }
+        return true;
+      }
+      function baseIsNative(value) {
+        if (!isObject2(value) || isMasked(value)) {
+          return false;
+        }
+        var pattern = isFunction2(value) ? reIsNative : reIsHostCtor;
+        return pattern.test(toSource(value));
+      }
+      function baseIsRegExp(value) {
+        return isObjectLike(value) && baseGetTag(value) == regexpTag;
+      }
+      function baseIsSet(value) {
+        return isObjectLike(value) && getTag(value) == setTag;
+      }
+      function baseIsTypedArray(value) {
+        return isObjectLike(value) && isLength2(value.length) && !!typedArrayTags[baseGetTag(value)];
+      }
+      function baseIteratee(value) {
+        if (typeof value == "function") {
+          return value;
+        }
+        if (value == null) {
+          return identity2;
+        }
+        if (typeof value == "object") {
+          return isArray2(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
+        }
+        return property(value);
+      }
+      function baseKeys(object) {
+        if (!isPrototype(object)) {
+          return nativeKeys(object);
+        }
+        var result22 = [];
+        for (var key2 in Object2(object)) {
+          if (hasOwnProperty2.call(object, key2) && key2 != "constructor") {
+            result22.push(key2);
+          }
+        }
+        return result22;
+      }
+      function baseKeysIn(object) {
+        if (!isObject2(object)) {
+          return nativeKeysIn(object);
+        }
+        var isProto = isPrototype(object), result22 = [];
+        for (var key2 in object) {
+          if (!(key2 == "constructor" && (isProto || !hasOwnProperty2.call(object, key2)))) {
+            result22.push(key2);
+          }
+        }
+        return result22;
+      }
+      function baseLt(value, other) {
+        return value < other;
+      }
+      function baseMap(collection, iteratee2) {
+        var index3 = -1, result22 = isArrayLike2(collection) ? Array2(collection.length) : [];
+        baseEach(collection, function(value, key2, collection2) {
+          result22[++index3] = iteratee2(value, key2, collection2);
+        });
+        return result22;
+      }
+      function baseMatches(source2) {
+        var matchData = getMatchData(source2);
+        if (matchData.length == 1 && matchData[0][2]) {
+          return matchesStrictComparable(matchData[0][0], matchData[0][1]);
+        }
+        return function(object) {
+          return object === source2 || baseIsMatch(object, source2, matchData);
+        };
+      }
+      function baseMatchesProperty(path2, srcValue) {
+        if (isKey(path2) && isStrictComparable(srcValue)) {
+          return matchesStrictComparable(toKey(path2), srcValue);
+        }
+        return function(object) {
+          var objValue = get2(object, path2);
+          return objValue === undefined$1 && objValue === srcValue ? hasIn(object, path2) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
+        };
+      }
+      function baseMerge(object, source2, srcIndex, customizer, stack) {
+        if (object === source2) {
+          return;
+        }
+        baseFor(source2, function(srcValue, key2) {
+          stack || (stack = new Stack());
+          if (isObject2(srcValue)) {
+            baseMergeDeep(object, source2, key2, srcIndex, baseMerge, customizer, stack);
+          } else {
+            var newValue = customizer ? customizer(safeGet(object, key2), srcValue, key2 + "", object, source2, stack) : undefined$1;
+            if (newValue === undefined$1) {
+              newValue = srcValue;
+            }
+            assignMergeValue(object, key2, newValue);
+          }
+        }, keysIn);
+      }
+      function baseMergeDeep(object, source2, key2, srcIndex, mergeFunc, customizer, stack) {
+        var objValue = safeGet(object, key2), srcValue = safeGet(source2, key2), stacked = stack.get(srcValue);
+        if (stacked) {
+          assignMergeValue(object, key2, stacked);
+          return;
+        }
+        var newValue = customizer ? customizer(objValue, srcValue, key2 + "", object, source2, stack) : undefined$1;
+        var isCommon = newValue === undefined$1;
+        if (isCommon) {
+          var isArr = isArray2(srcValue), isBuff = !isArr && isBuffer2(srcValue), isTyped = !isArr && !isBuff && isTypedArray2(srcValue);
+          newValue = srcValue;
+          if (isArr || isBuff || isTyped) {
+            if (isArray2(objValue)) {
+              newValue = objValue;
+            } else if (isArrayLikeObject(objValue)) {
+              newValue = copyArray2(objValue);
+            } else if (isBuff) {
+              isCommon = false;
+              newValue = cloneBuffer(srcValue, true);
+            } else if (isTyped) {
+              isCommon = false;
+              newValue = cloneTypedArray(srcValue, true);
+            } else {
+              newValue = [];
+            }
+          } else if (isPlainObject2(srcValue) || isArguments(srcValue)) {
+            newValue = objValue;
+            if (isArguments(objValue)) {
+              newValue = toPlainObject(objValue);
+            } else if (!isObject2(objValue) || isFunction2(objValue)) {
+              newValue = initCloneObject(srcValue);
+            }
+          } else {
+            isCommon = false;
+          }
+        }
+        if (isCommon) {
+          stack.set(srcValue, newValue);
+          mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
+          stack["delete"](srcValue);
+        }
+        assignMergeValue(object, key2, newValue);
+      }
+      function baseNth(array, n2) {
+        var length2 = array.length;
+        if (!length2) {
+          return;
+        }
+        n2 += n2 < 0 ? length2 : 0;
+        return isIndex(n2, length2) ? array[n2] : undefined$1;
+      }
+      function baseOrderBy(collection, iteratees, orders) {
+        if (iteratees.length) {
+          iteratees = arrayMap(iteratees, function(iteratee2) {
+            if (isArray2(iteratee2)) {
+              return function(value) {
+                return baseGet(value, iteratee2.length === 1 ? iteratee2[0] : iteratee2);
+              };
+            }
+            return iteratee2;
+          });
+        } else {
+          iteratees = [identity2];
+        }
+        var index3 = -1;
+        iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
+        var result22 = baseMap(collection, function(value, key2, collection2) {
+          var criteria = arrayMap(iteratees, function(iteratee2) {
+            return iteratee2(value);
+          });
+          return { "criteria": criteria, "index": ++index3, "value": value };
+        });
+        return baseSortBy(result22, function(object, other) {
+          return compareMultiple(object, other, orders);
+        });
+      }
+      function basePick(object, paths) {
+        return basePickBy(object, paths, function(value, path2) {
+          return hasIn(object, path2);
+        });
+      }
+      function basePickBy(object, paths, predicate) {
+        var index3 = -1, length2 = paths.length, result22 = {};
+        while (++index3 < length2) {
+          var path2 = paths[index3], value = baseGet(object, path2);
+          if (predicate(value, path2)) {
+            baseSet(result22, castPath(path2, object), value);
+          }
+        }
+        return result22;
+      }
+      function basePropertyDeep(path2) {
+        return function(object) {
+          return baseGet(object, path2);
+        };
+      }
+      function basePullAll(array, values2, iteratee2, comparator) {
+        var indexOf22 = comparator ? baseIndexOfWith : baseIndexOf, index3 = -1, length2 = values2.length, seen2 = array;
+        if (array === values2) {
+          values2 = copyArray2(values2);
+        }
+        if (iteratee2) {
+          seen2 = arrayMap(array, baseUnary(iteratee2));
+        }
+        while (++index3 < length2) {
+          var fromIndex = 0, value = values2[index3], computed2 = iteratee2 ? iteratee2(value) : value;
+          while ((fromIndex = indexOf22(seen2, computed2, fromIndex, comparator)) > -1) {
+            if (seen2 !== array) {
+              splice.call(seen2, fromIndex, 1);
+            }
+            splice.call(array, fromIndex, 1);
+          }
+        }
+        return array;
+      }
+      function basePullAt(array, indexes) {
+        var length2 = array ? indexes.length : 0, lastIndex = length2 - 1;
+        while (length2--) {
+          var index3 = indexes[length2];
+          if (length2 == lastIndex || index3 !== previous) {
+            var previous = index3;
+            if (isIndex(index3)) {
+              splice.call(array, index3, 1);
+            } else {
+              baseUnset(array, index3);
+            }
+          }
+        }
+        return array;
+      }
+      function baseRandom(lower, upper) {
+        return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
+      }
+      function baseRange(start2, end2, step2, fromRight) {
+        var index3 = -1, length2 = nativeMax(nativeCeil((end2 - start2) / (step2 || 1)), 0), result22 = Array2(length2);
+        while (length2--) {
+          result22[fromRight ? length2 : ++index3] = start2;
+          start2 += step2;
+        }
+        return result22;
+      }
+      function baseRepeat(string, n2) {
+        var result22 = "";
+        if (!string || n2 < 1 || n2 > MAX_SAFE_INTEGER2) {
+          return result22;
+        }
+        do {
+          if (n2 % 2) {
+            result22 += string;
+          }
+          n2 = nativeFloor(n2 / 2);
+          if (n2) {
+            string += string;
+          }
+        } while (n2);
+        return result22;
+      }
+      function baseRest(func, start2) {
+        return setToString(overRest(func, start2, identity2), func + "");
+      }
+      function baseSample(collection) {
+        return arraySample(values(collection));
+      }
+      function baseSampleSize(collection, n2) {
+        var array = values(collection);
+        return shuffleSelf(array, baseClamp(n2, 0, array.length));
+      }
+      function baseSet(object, path2, value, customizer) {
+        if (!isObject2(object)) {
+          return object;
+        }
+        path2 = castPath(path2, object);
+        var index3 = -1, length2 = path2.length, lastIndex = length2 - 1, nested = object;
+        while (nested != null && ++index3 < length2) {
+          var key2 = toKey(path2[index3]), newValue = value;
+          if (key2 === "__proto__" || key2 === "constructor" || key2 === "prototype") {
+            return object;
+          }
+          if (index3 != lastIndex) {
+            var objValue = nested[key2];
+            newValue = customizer ? customizer(objValue, key2, nested) : undefined$1;
+            if (newValue === undefined$1) {
+              newValue = isObject2(objValue) ? objValue : isIndex(path2[index3 + 1]) ? [] : {};
+            }
+          }
+          assignValue(nested, key2, newValue);
+          nested = nested[key2];
+        }
+        return object;
+      }
+      var baseSetData = !metaMap ? identity2 : function(func, data2) {
+        metaMap.set(func, data2);
+        return func;
+      };
+      var baseSetToString = !defineProperty ? identity2 : function(func, string) {
+        return defineProperty(func, "toString", {
+          "configurable": true,
+          "enumerable": false,
+          "value": constant2(string),
+          "writable": true
+        });
+      };
+      function baseShuffle(collection) {
+        return shuffleSelf(values(collection));
+      }
+      function baseSlice(array, start2, end2) {
+        var index3 = -1, length2 = array.length;
+        if (start2 < 0) {
+          start2 = -start2 > length2 ? 0 : length2 + start2;
+        }
+        end2 = end2 > length2 ? length2 : end2;
+        if (end2 < 0) {
+          end2 += length2;
+        }
+        length2 = start2 > end2 ? 0 : end2 - start2 >>> 0;
+        start2 >>>= 0;
+        var result22 = Array2(length2);
+        while (++index3 < length2) {
+          result22[index3] = array[index3 + start2];
+        }
+        return result22;
+      }
+      function baseSome(collection, predicate) {
+        var result22;
+        baseEach(collection, function(value, index3, collection2) {
+          result22 = predicate(value, index3, collection2);
+          return !result22;
+        });
+        return !!result22;
+      }
+      function baseSortedIndex(array, value, retHighest) {
+        var low = 0, high = array == null ? low : array.length;
+        if (typeof value == "number" && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
+          while (low < high) {
+            var mid = low + high >>> 1, computed2 = array[mid];
+            if (computed2 !== null && !isSymbol(computed2) && (retHighest ? computed2 <= value : computed2 < value)) {
+              low = mid + 1;
+            } else {
+              high = mid;
+            }
+          }
+          return high;
+        }
+        return baseSortedIndexBy(array, value, identity2, retHighest);
+      }
+      function baseSortedIndexBy(array, value, iteratee2, retHighest) {
+        var low = 0, high = array == null ? 0 : array.length;
+        if (high === 0) {
+          return 0;
+        }
+        value = iteratee2(value);
+        var valIsNaN = value !== value, valIsNull = value === null, valIsSymbol = isSymbol(value), valIsUndefined = value === undefined$1;
+        while (low < high) {
+          var mid = nativeFloor((low + high) / 2), computed2 = iteratee2(array[mid]), othIsDefined = computed2 !== undefined$1, othIsNull = computed2 === null, othIsReflexive = computed2 === computed2, othIsSymbol = isSymbol(computed2);
+          if (valIsNaN) {
+            var setLow = retHighest || othIsReflexive;
+          } else if (valIsUndefined) {
+            setLow = othIsReflexive && (retHighest || othIsDefined);
+          } else if (valIsNull) {
+            setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
+          } else if (valIsSymbol) {
+            setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
+          } else if (othIsNull || othIsSymbol) {
+            setLow = false;
+          } else {
+            setLow = retHighest ? computed2 <= value : computed2 < value;
+          }
+          if (setLow) {
+            low = mid + 1;
+          } else {
+            high = mid;
+          }
+        }
+        return nativeMin(high, MAX_ARRAY_INDEX);
+      }
+      function baseSortedUniq(array, iteratee2) {
+        var index3 = -1, length2 = array.length, resIndex = 0, result22 = [];
+        while (++index3 < length2) {
+          var value = array[index3], computed2 = iteratee2 ? iteratee2(value) : value;
+          if (!index3 || !eq(computed2, seen2)) {
+            var seen2 = computed2;
+            result22[resIndex++] = value === 0 ? 0 : value;
+          }
+        }
+        return result22;
+      }
+      function baseToNumber(value) {
+        if (typeof value == "number") {
+          return value;
+        }
+        if (isSymbol(value)) {
+          return NAN;
+        }
+        return +value;
+      }
+      function baseToString(value) {
+        if (typeof value == "string") {
+          return value;
+        }
+        if (isArray2(value)) {
+          return arrayMap(value, baseToString) + "";
+        }
+        if (isSymbol(value)) {
+          return symbolToString ? symbolToString.call(value) : "";
+        }
+        var result22 = value + "";
+        return result22 == "0" && 1 / value == -INFINITY ? "-0" : result22;
+      }
+      function baseUniq(array, iteratee2, comparator) {
+        var index3 = -1, includes2 = arrayIncludes, length2 = array.length, isCommon = true, result22 = [], seen2 = result22;
+        if (comparator) {
+          isCommon = false;
+          includes2 = arrayIncludesWith;
+        } else if (length2 >= LARGE_ARRAY_SIZE) {
+          var set22 = iteratee2 ? null : createSet(array);
+          if (set22) {
+            return setToArray(set22);
+          }
+          isCommon = false;
+          includes2 = cacheHas;
+          seen2 = new SetCache();
+        } else {
+          seen2 = iteratee2 ? [] : result22;
+        }
+        outer:
+          while (++index3 < length2) {
+            var value = array[index3], computed2 = iteratee2 ? iteratee2(value) : value;
+            value = comparator || value !== 0 ? value : 0;
+            if (isCommon && computed2 === computed2) {
+              var seenIndex = seen2.length;
+              while (seenIndex--) {
+                if (seen2[seenIndex] === computed2) {
+                  continue outer;
+                }
+              }
+              if (iteratee2) {
+                seen2.push(computed2);
+              }
+              result22.push(value);
+            } else if (!includes2(seen2, computed2, comparator)) {
+              if (seen2 !== result22) {
+                seen2.push(computed2);
+              }
+              result22.push(value);
+            }
+          }
+        return result22;
+      }
+      function baseUnset(object, path2) {
+        path2 = castPath(path2, object);
+        object = parent3(object, path2);
+        return object == null || delete object[toKey(last(path2))];
+      }
+      function baseUpdate(object, path2, updater, customizer) {
+        return baseSet(object, path2, updater(baseGet(object, path2)), customizer);
+      }
+      function baseWhile(array, predicate, isDrop, fromRight) {
+        var length2 = array.length, index3 = fromRight ? length2 : -1;
+        while ((fromRight ? index3-- : ++index3 < length2) && predicate(array[index3], index3, array)) {
+        }
+        return isDrop ? baseSlice(array, fromRight ? 0 : index3, fromRight ? index3 + 1 : length2) : baseSlice(array, fromRight ? index3 + 1 : 0, fromRight ? length2 : index3);
+      }
+      function baseWrapperValue(value, actions2) {
+        var result22 = value;
+        if (result22 instanceof LazyWrapper) {
+          result22 = result22.value();
+        }
+        return arrayReduce(actions2, function(result3, action) {
+          return action.func.apply(action.thisArg, arrayPush([result3], action.args));
+        }, result22);
+      }
+      function baseXor(arrays, iteratee2, comparator) {
+        var length2 = arrays.length;
+        if (length2 < 2) {
+          return length2 ? baseUniq(arrays[0]) : [];
+        }
+        var index3 = -1, result22 = Array2(length2);
+        while (++index3 < length2) {
+          var array = arrays[index3], othIndex = -1;
+          while (++othIndex < length2) {
+            if (othIndex != index3) {
+              result22[index3] = baseDifference(result22[index3] || array, arrays[othIndex], iteratee2, comparator);
+            }
+          }
+        }
+        return baseUniq(baseFlatten(result22, 1), iteratee2, comparator);
+      }
+      function baseZipObject(props2, values2, assignFunc) {
+        var index3 = -1, length2 = props2.length, valsLength = values2.length, result22 = {};
+        while (++index3 < length2) {
+          var value = index3 < valsLength ? values2[index3] : undefined$1;
+          assignFunc(result22, props2[index3], value);
+        }
+        return result22;
+      }
+      function castArrayLikeObject(value) {
+        return isArrayLikeObject(value) ? value : [];
+      }
+      function castFunction(value) {
+        return typeof value == "function" ? value : identity2;
+      }
+      function castPath(value, object) {
+        if (isArray2(value)) {
+          return value;
+        }
+        return isKey(value, object) ? [value] : stringToPath(toString32(value));
+      }
+      var castRest = baseRest;
+      function castSlice(array, start2, end2) {
+        var length2 = array.length;
+        end2 = end2 === undefined$1 ? length2 : end2;
+        return !start2 && end2 >= length2 ? array : baseSlice(array, start2, end2);
+      }
+      var clearTimeout2 = ctxClearTimeout || function(id) {
+        return root.clearTimeout(id);
+      };
+      function cloneBuffer(buffer, isDeep) {
+        if (isDeep) {
+          return buffer.slice();
+        }
+        var length2 = buffer.length, result22 = allocUnsafe ? allocUnsafe(length2) : new buffer.constructor(length2);
+        buffer.copy(result22);
+        return result22;
+      }
+      function cloneArrayBuffer(arrayBuffer) {
+        var result22 = new arrayBuffer.constructor(arrayBuffer.byteLength);
+        new Uint8Array2(result22).set(new Uint8Array2(arrayBuffer));
+        return result22;
+      }
+      function cloneDataView(dataView, isDeep) {
+        var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
+        return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
+      }
+      function cloneRegExp(regexp2) {
+        var result22 = new regexp2.constructor(regexp2.source, reFlags.exec(regexp2));
+        result22.lastIndex = regexp2.lastIndex;
+        return result22;
+      }
+      function cloneSymbol(symbol2) {
+        return symbolValueOf ? Object2(symbolValueOf.call(symbol2)) : {};
+      }
+      function cloneTypedArray(typedArray, isDeep) {
+        var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
+        return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
+      }
+      function compareAscending(value, other) {
+        if (value !== other) {
+          var valIsDefined = value !== undefined$1, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value);
+          var othIsDefined = other !== undefined$1, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other);
+          if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
+            return 1;
+          }
+          if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
+            return -1;
+          }
+        }
+        return 0;
+      }
+      function compareMultiple(object, other, orders) {
+        var index3 = -1, objCriteria = object.criteria, othCriteria = other.criteria, length2 = objCriteria.length, ordersLength = orders.length;
+        while (++index3 < length2) {
+          var result22 = compareAscending(objCriteria[index3], othCriteria[index3]);
+          if (result22) {
+            if (index3 >= ordersLength) {
+              return result22;
+            }
+            var order = orders[index3];
+            return result22 * (order == "desc" ? -1 : 1);
+          }
+        }
+        return object.index - other.index;
+      }
+      function composeArgs(args, partials, holders, isCurried) {
+        var argsIndex = -1, argsLength = args.length, holdersLength = holders.length, leftIndex = -1, leftLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result22 = Array2(leftLength + rangeLength), isUncurried = !isCurried;
+        while (++leftIndex < leftLength) {
+          result22[leftIndex] = partials[leftIndex];
+        }
+        while (++argsIndex < holdersLength) {
+          if (isUncurried || argsIndex < argsLength) {
+            result22[holders[argsIndex]] = args[argsIndex];
+          }
+        }
+        while (rangeLength--) {
+          result22[leftIndex++] = args[argsIndex++];
+        }
+        return result22;
+      }
+      function composeArgsRight(args, partials, holders, isCurried) {
+        var argsIndex = -1, argsLength = args.length, holdersIndex = -1, holdersLength = holders.length, rightIndex = -1, rightLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result22 = Array2(rangeLength + rightLength), isUncurried = !isCurried;
+        while (++argsIndex < rangeLength) {
+          result22[argsIndex] = args[argsIndex];
+        }
+        var offset2 = argsIndex;
+        while (++rightIndex < rightLength) {
+          result22[offset2 + rightIndex] = partials[rightIndex];
+        }
+        while (++holdersIndex < holdersLength) {
+          if (isUncurried || argsIndex < argsLength) {
+            result22[offset2 + holders[holdersIndex]] = args[argsIndex++];
+          }
+        }
+        return result22;
+      }
+      function copyArray2(source2, array) {
+        var index3 = -1, length2 = source2.length;
+        array || (array = Array2(length2));
+        while (++index3 < length2) {
+          array[index3] = source2[index3];
+        }
+        return array;
+      }
+      function copyObject(source2, props2, object, customizer) {
+        var isNew = !object;
+        object || (object = {});
+        var index3 = -1, length2 = props2.length;
+        while (++index3 < length2) {
+          var key2 = props2[index3];
+          var newValue = customizer ? customizer(object[key2], source2[key2], key2, object, source2) : undefined$1;
+          if (newValue === undefined$1) {
+            newValue = source2[key2];
+          }
+          if (isNew) {
+            baseAssignValue(object, key2, newValue);
+          } else {
+            assignValue(object, key2, newValue);
+          }
+        }
+        return object;
+      }
+      function copySymbols(source2, object) {
+        return copyObject(source2, getSymbols(source2), object);
+      }
+      function copySymbolsIn(source2, object) {
+        return copyObject(source2, getSymbolsIn(source2), object);
+      }
+      function createAggregator(setter, initializer) {
+        return function(collection, iteratee2) {
+          var func = isArray2(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {};
+          return func(collection, setter, getIteratee(iteratee2, 2), accumulator);
+        };
+      }
+      function createAssigner(assigner) {
+        return baseRest(function(object, sources) {
+          var index3 = -1, length2 = sources.length, customizer = length2 > 1 ? sources[length2 - 1] : undefined$1, guard = length2 > 2 ? sources[2] : undefined$1;
+          customizer = assigner.length > 3 && typeof customizer == "function" ? (length2--, customizer) : undefined$1;
+          if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+            customizer = length2 < 3 ? undefined$1 : customizer;
+            length2 = 1;
+          }
+          object = Object2(object);
+          while (++index3 < length2) {
+            var source2 = sources[index3];
+            if (source2) {
+              assigner(object, source2, index3, customizer);
+            }
+          }
+          return object;
+        });
+      }
+      function createBaseEach(eachFunc, fromRight) {
+        return function(collection, iteratee2) {
+          if (collection == null) {
+            return collection;
+          }
+          if (!isArrayLike2(collection)) {
+            return eachFunc(collection, iteratee2);
+          }
+          var length2 = collection.length, index3 = fromRight ? length2 : -1, iterable = Object2(collection);
+          while (fromRight ? index3-- : ++index3 < length2) {
+            if (iteratee2(iterable[index3], index3, iterable) === false) {
+              break;
+            }
+          }
+          return collection;
+        };
+      }
+      function createBaseFor(fromRight) {
+        return function(object, iteratee2, keysFunc) {
+          var index3 = -1, iterable = Object2(object), props2 = keysFunc(object), length2 = props2.length;
+          while (length2--) {
+            var key2 = props2[fromRight ? length2 : ++index3];
+            if (iteratee2(iterable[key2], key2, iterable) === false) {
+              break;
+            }
+          }
+          return object;
+        };
+      }
+      function createBind(func, bitmask, thisArg) {
+        var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
+        function wrapper() {
+          var fn = this && this !== root && this instanceof wrapper ? Ctor : func;
+          return fn.apply(isBind ? thisArg : this, arguments);
+        }
+        return wrapper;
+      }
+      function createCaseFirst(methodName) {
+        return function(string) {
+          string = toString32(string);
+          var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined$1;
+          var chr = strSymbols ? strSymbols[0] : string.charAt(0);
+          var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
+          return chr[methodName]() + trailing;
+        };
+      }
+      function createCompounder(callback) {
+        return function(string) {
+          return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
+        };
+      }
+      function createCtor(Ctor) {
+        return function() {
+          var args = arguments;
+          switch (args.length) {
+            case 0:
+              return new Ctor();
+            case 1:
+              return new Ctor(args[0]);
+            case 2:
+              return new Ctor(args[0], args[1]);
+            case 3:
+              return new Ctor(args[0], args[1], args[2]);
+            case 4:
+              return new Ctor(args[0], args[1], args[2], args[3]);
+            case 5:
+              return new Ctor(args[0], args[1], args[2], args[3], args[4]);
+            case 6:
+              return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
+            case 7:
+              return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+          }
+          var thisBinding = baseCreate(Ctor.prototype), result22 = Ctor.apply(thisBinding, args);
+          return isObject2(result22) ? result22 : thisBinding;
+        };
+      }
+      function createCurry(func, bitmask, arity) {
+        var Ctor = createCtor(func);
+        function wrapper() {
+          var length2 = arguments.length, args = Array2(length2), index3 = length2, placeholder2 = getHolder(wrapper);
+          while (index3--) {
+            args[index3] = arguments[index3];
+          }
+          var holders = length2 < 3 && args[0] !== placeholder2 && args[length2 - 1] !== placeholder2 ? [] : replaceHolders(args, placeholder2);
+          length2 -= holders.length;
+          if (length2 < arity) {
+            return createRecurry(
+              func,
+              bitmask,
+              createHybrid,
+              wrapper.placeholder,
+              undefined$1,
+              args,
+              holders,
+              undefined$1,
+              undefined$1,
+              arity - length2
+            );
+          }
+          var fn = this && this !== root && this instanceof wrapper ? Ctor : func;
+          return apply(fn, this, args);
+        }
+        return wrapper;
+      }
+      function createFind(findIndexFunc) {
+        return function(collection, predicate, fromIndex) {
+          var iterable = Object2(collection);
+          if (!isArrayLike2(collection)) {
+            var iteratee2 = getIteratee(predicate, 3);
+            collection = keys2(collection);
+            predicate = function(key2) {
+              return iteratee2(iterable[key2], key2, iterable);
+            };
+          }
+          var index3 = findIndexFunc(collection, predicate, fromIndex);
+          return index3 > -1 ? iterable[iteratee2 ? collection[index3] : index3] : undefined$1;
+        };
+      }
+      function createFlow(fromRight) {
+        return flatRest(function(funcs) {
+          var length2 = funcs.length, index3 = length2, prereq = LodashWrapper.prototype.thru;
+          if (fromRight) {
+            funcs.reverse();
+          }
+          while (index3--) {
+            var func = funcs[index3];
+            if (typeof func != "function") {
+              throw new TypeError2(FUNC_ERROR_TEXT);
+            }
+            if (prereq && !wrapper && getFuncName(func) == "wrapper") {
+              var wrapper = new LodashWrapper([], true);
+            }
+          }
+          index3 = wrapper ? index3 : length2;
+          while (++index3 < length2) {
+            func = funcs[index3];
+            var funcName = getFuncName(func), data2 = funcName == "wrapper" ? getData(func) : undefined$1;
+            if (data2 && isLaziable(data2[0]) && data2[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data2[4].length && data2[9] == 1) {
+              wrapper = wrapper[getFuncName(data2[0])].apply(wrapper, data2[3]);
+            } else {
+              wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
+            }
+          }
+          return function() {
+            var args = arguments, value = args[0];
+            if (wrapper && args.length == 1 && isArray2(value)) {
+              return wrapper.plant(value).value();
+            }
+            var index244 = 0, result22 = length2 ? funcs[index244].apply(this, args) : value;
+            while (++index244 < length2) {
+              result22 = funcs[index244].call(this, result22);
+            }
+            return result22;
+          };
+        });
+      }
+      function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary2, arity) {
+        var isAry = bitmask & WRAP_ARY_FLAG, isBind = bitmask & WRAP_BIND_FLAG, isBindKey = bitmask & WRAP_BIND_KEY_FLAG, isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), isFlip = bitmask & WRAP_FLIP_FLAG, Ctor = isBindKey ? undefined$1 : createCtor(func);
+        function wrapper() {
+          var length2 = arguments.length, args = Array2(length2), index3 = length2;
+          while (index3--) {
+            args[index3] = arguments[index3];
+          }
+          if (isCurried) {
+            var placeholder2 = getHolder(wrapper), holdersCount = countHolders(args, placeholder2);
+          }
+          if (partials) {
+            args = composeArgs(args, partials, holders, isCurried);
+          }
+          if (partialsRight) {
+            args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
+          }
+          length2 -= holdersCount;
+          if (isCurried && length2 < arity) {
+            var newHolders = replaceHolders(args, placeholder2);
+            return createRecurry(
+              func,
+              bitmask,
+              createHybrid,
+              wrapper.placeholder,
+              thisArg,
+              args,
+              newHolders,
+              argPos,
+              ary2,
+              arity - length2
+            );
+          }
+          var thisBinding = isBind ? thisArg : this, fn = isBindKey ? thisBinding[func] : func;
+          length2 = args.length;
+          if (argPos) {
+            args = reorder(args, argPos);
+          } else if (isFlip && length2 > 1) {
+            args.reverse();
+          }
+          if (isAry && ary2 < length2) {
+            args.length = ary2;
+          }
+          if (this && this !== root && this instanceof wrapper) {
+            fn = Ctor || createCtor(fn);
+          }
+          return fn.apply(thisBinding, args);
+        }
+        return wrapper;
+      }
+      function createInverter(setter, toIteratee) {
+        return function(object, iteratee2) {
+          return baseInverter(object, setter, toIteratee(iteratee2), {});
+        };
+      }
+      function createMathOperation(operator, defaultValue) {
+        return function(value, other) {
+          var result22;
+          if (value === undefined$1 && other === undefined$1) {
+            return defaultValue;
+          }
+          if (value !== undefined$1) {
+            result22 = value;
+          }
+          if (other !== undefined$1) {
+            if (result22 === undefined$1) {
+              return other;
+            }
+            if (typeof value == "string" || typeof other == "string") {
+              value = baseToString(value);
+              other = baseToString(other);
+            } else {
+              value = baseToNumber(value);
+              other = baseToNumber(other);
+            }
+            result22 = operator(value, other);
+          }
+          return result22;
+        };
+      }
+      function createOver(arrayFunc) {
+        return flatRest(function(iteratees) {
+          iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
+          return baseRest(function(args) {
+            var thisArg = this;
+            return arrayFunc(iteratees, function(iteratee2) {
+              return apply(iteratee2, thisArg, args);
+            });
+          });
+        });
+      }
+      function createPadding(length2, chars) {
+        chars = chars === undefined$1 ? " " : baseToString(chars);
+        var charsLength = chars.length;
+        if (charsLength < 2) {
+          return charsLength ? baseRepeat(chars, length2) : chars;
+        }
+        var result22 = baseRepeat(chars, nativeCeil(length2 / stringSize(chars)));
+        return hasUnicode(chars) ? castSlice(stringToArray(result22), 0, length2).join("") : result22.slice(0, length2);
+      }
+      function createPartial(func, bitmask, thisArg, partials) {
+        var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
+        function wrapper() {
+          var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength), fn = this && this !== root && this instanceof wrapper ? Ctor : func;
+          while (++leftIndex < leftLength) {
+            args[leftIndex] = partials[leftIndex];
+          }
+          while (argsLength--) {
+            args[leftIndex++] = arguments[++argsIndex];
+          }
+          return apply(fn, isBind ? thisArg : this, args);
+        }
+        return wrapper;
+      }
+      function createRange(fromRight) {
+        return function(start2, end2, step2) {
+          if (step2 && typeof step2 != "number" && isIterateeCall(start2, end2, step2)) {
+            end2 = step2 = undefined$1;
+          }
+          start2 = toFinite(start2);
+          if (end2 === undefined$1) {
+            end2 = start2;
+            start2 = 0;
+          } else {
+            end2 = toFinite(end2);
+          }
+          step2 = step2 === undefined$1 ? start2 < end2 ? 1 : -1 : toFinite(step2);
+          return baseRange(start2, end2, step2, fromRight);
+        };
+      }
+      function createRelationalOperation(operator) {
+        return function(value, other) {
+          if (!(typeof value == "string" && typeof other == "string")) {
+            value = toNumber2(value);
+            other = toNumber2(other);
+          }
+          return operator(value, other);
+        };
+      }
+      function createRecurry(func, bitmask, wrapFunc, placeholder2, thisArg, partials, holders, argPos, ary2, arity) {
+        var isCurry = bitmask & WRAP_CURRY_FLAG, newHolders = isCurry ? holders : undefined$1, newHoldersRight = isCurry ? undefined$1 : holders, newPartials = isCurry ? partials : undefined$1, newPartialsRight = isCurry ? undefined$1 : partials;
+        bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG;
+        bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
+        if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
+          bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
+        }
+        var newData = [
+          func,
+          bitmask,
+          thisArg,
+          newPartials,
+          newHolders,
+          newPartialsRight,
+          newHoldersRight,
+          argPos,
+          ary2,
+          arity
+        ];
+        var result22 = wrapFunc.apply(undefined$1, newData);
+        if (isLaziable(func)) {
+          setData(result22, newData);
+        }
+        result22.placeholder = placeholder2;
+        return setWrapToString(result22, func, bitmask);
+      }
+      function createRound(methodName) {
+        var func = Math2[methodName];
+        return function(number2, precision) {
+          number2 = toNumber2(number2);
+          precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
+          if (precision && nativeIsFinite(number2)) {
+            var pair = (toString32(number2) + "e").split("e"), value = func(pair[0] + "e" + (+pair[1] + precision));
+            pair = (toString32(value) + "e").split("e");
+            return +(pair[0] + "e" + (+pair[1] - precision));
+          }
+          return func(number2);
+        };
+      }
+      var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop2 : function(values2) {
+        return new Set2(values2);
+      };
+      function createToPairs(keysFunc) {
+        return function(object) {
+          var tag = getTag(object);
+          if (tag == mapTag) {
+            return mapToArray(object);
+          }
+          if (tag == setTag) {
+            return setToPairs(object);
+          }
+          return baseToPairs(object, keysFunc(object));
+        };
+      }
+      function createWrap2(func, bitmask, thisArg, partials, holders, argPos, ary2, arity) {
+        var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
+        if (!isBindKey && typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        var length2 = partials ? partials.length : 0;
+        if (!length2) {
+          bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
+          partials = holders = undefined$1;
+        }
+        ary2 = ary2 === undefined$1 ? ary2 : nativeMax(toInteger(ary2), 0);
+        arity = arity === undefined$1 ? arity : toInteger(arity);
+        length2 -= holders ? holders.length : 0;
+        if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
+          var partialsRight = partials, holdersRight = holders;
+          partials = holders = undefined$1;
+        }
+        var data2 = isBindKey ? undefined$1 : getData(func);
+        var newData = [
+          func,
+          bitmask,
+          thisArg,
+          partials,
+          holders,
+          partialsRight,
+          holdersRight,
+          argPos,
+          ary2,
+          arity
+        ];
+        if (data2) {
+          mergeData(newData, data2);
+        }
+        func = newData[0];
+        bitmask = newData[1];
+        thisArg = newData[2];
+        partials = newData[3];
+        holders = newData[4];
+        arity = newData[9] = newData[9] === undefined$1 ? isBindKey ? 0 : func.length : nativeMax(newData[9] - length2, 0);
+        if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
+          bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
+        }
+        if (!bitmask || bitmask == WRAP_BIND_FLAG) {
+          var result22 = createBind(func, bitmask, thisArg);
+        } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
+          result22 = createCurry(func, bitmask, arity);
+        } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
+          result22 = createPartial(func, bitmask, thisArg, partials);
+        } else {
+          result22 = createHybrid.apply(undefined$1, newData);
+        }
+        var setter = data2 ? baseSetData : setData;
+        return setWrapToString(setter(result22, newData), func, bitmask);
+      }
+      function customDefaultsAssignIn(objValue, srcValue, key2, object) {
+        if (objValue === undefined$1 || eq(objValue, objectProto[key2]) && !hasOwnProperty2.call(object, key2)) {
+          return srcValue;
+        }
+        return objValue;
+      }
+      function customDefaultsMerge(objValue, srcValue, key2, object, source2, stack) {
+        if (isObject2(objValue) && isObject2(srcValue)) {
+          stack.set(srcValue, objValue);
+          baseMerge(objValue, srcValue, undefined$1, customDefaultsMerge, stack);
+          stack["delete"](srcValue);
+        }
+        return objValue;
+      }
+      function customOmitClone(value) {
+        return isPlainObject2(value) ? undefined$1 : value;
+      }
+      function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
+        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
+        if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
+          return false;
+        }
+        var arrStacked = stack.get(array);
+        var othStacked = stack.get(other);
+        if (arrStacked && othStacked) {
+          return arrStacked == other && othStacked == array;
+        }
+        var index3 = -1, result22 = true, seen2 = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined$1;
+        stack.set(array, other);
+        stack.set(other, array);
+        while (++index3 < arrLength) {
+          var arrValue = array[index3], othValue = other[index3];
+          if (customizer) {
+            var compared = isPartial ? customizer(othValue, arrValue, index3, other, array, stack) : customizer(arrValue, othValue, index3, array, other, stack);
+          }
+          if (compared !== undefined$1) {
+            if (compared) {
+              continue;
+            }
+            result22 = false;
+            break;
+          }
+          if (seen2) {
+            if (!arraySome(other, function(othValue2, othIndex) {
+              if (!cacheHas(seen2, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
+                return seen2.push(othIndex);
+              }
+            })) {
+              result22 = false;
+              break;
+            }
+          } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
+            result22 = false;
+            break;
+          }
+        }
+        stack["delete"](array);
+        stack["delete"](other);
+        return result22;
+      }
+      function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
+        switch (tag) {
+          case dataViewTag:
+            if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
+              return false;
+            }
+            object = object.buffer;
+            other = other.buffer;
+          case arrayBufferTag:
+            if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
+              return false;
+            }
+            return true;
+          case boolTag:
+          case dateTag:
+          case numberTag:
+            return eq(+object, +other);
+          case errorTag:
+            return object.name == other.name && object.message == other.message;
+          case regexpTag:
+          case stringTag:
+            return object == other + "";
+          case mapTag:
+            var convert = mapToArray;
+          case setTag:
+            var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
+            convert || (convert = setToArray);
+            if (object.size != other.size && !isPartial) {
+              return false;
+            }
+            var stacked = stack.get(object);
+            if (stacked) {
+              return stacked == other;
+            }
+            bitmask |= COMPARE_UNORDERED_FLAG;
+            stack.set(object, other);
+            var result22 = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
+            stack["delete"](object);
+            return result22;
+          case symbolTag:
+            if (symbolValueOf) {
+              return symbolValueOf.call(object) == symbolValueOf.call(other);
+            }
+        }
+        return false;
+      }
+      function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
+        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
+        if (objLength != othLength && !isPartial) {
+          return false;
+        }
+        var index3 = objLength;
+        while (index3--) {
+          var key2 = objProps[index3];
+          if (!(isPartial ? key2 in other : hasOwnProperty2.call(other, key2))) {
+            return false;
+          }
+        }
+        var objStacked = stack.get(object);
+        var othStacked = stack.get(other);
+        if (objStacked && othStacked) {
+          return objStacked == other && othStacked == object;
+        }
+        var result22 = true;
+        stack.set(object, other);
+        stack.set(other, object);
+        var skipCtor = isPartial;
+        while (++index3 < objLength) {
+          key2 = objProps[index3];
+          var objValue = object[key2], othValue = other[key2];
+          if (customizer) {
+            var compared = isPartial ? customizer(othValue, objValue, key2, other, object, stack) : customizer(objValue, othValue, key2, object, other, stack);
+          }
+          if (!(compared === undefined$1 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
+            result22 = false;
+            break;
+          }
+          skipCtor || (skipCtor = key2 == "constructor");
+        }
+        if (result22 && !skipCtor) {
+          var objCtor = object.constructor, othCtor = other.constructor;
+          if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
+            result22 = false;
+          }
+        }
+        stack["delete"](object);
+        stack["delete"](other);
+        return result22;
+      }
+      function flatRest(func) {
+        return setToString(overRest(func, undefined$1, flatten), func + "");
+      }
+      function getAllKeys(object) {
+        return baseGetAllKeys(object, keys2, getSymbols);
+      }
+      function getAllKeysIn(object) {
+        return baseGetAllKeys(object, keysIn, getSymbolsIn);
+      }
+      var getData = !metaMap ? noop2 : function(func) {
+        return metaMap.get(func);
+      };
+      function getFuncName(func) {
+        var result22 = func.name + "", array = realNames[result22], length2 = hasOwnProperty2.call(realNames, result22) ? array.length : 0;
+        while (length2--) {
+          var data2 = array[length2], otherFunc = data2.func;
+          if (otherFunc == null || otherFunc == func) {
+            return data2.name;
+          }
+        }
+        return result22;
+      }
+      function getHolder(func) {
+        var object = hasOwnProperty2.call(lodash2, "placeholder") ? lodash2 : func;
+        return object.placeholder;
+      }
+      function getIteratee() {
+        var result22 = lodash2.iteratee || iteratee;
+        result22 = result22 === iteratee ? baseIteratee : result22;
+        return arguments.length ? result22(arguments[0], arguments[1]) : result22;
+      }
+      function getMapData(map22, key2) {
+        var data2 = map22.__data__;
+        return isKeyable(key2) ? data2[typeof key2 == "string" ? "string" : "hash"] : data2.map;
+      }
+      function getMatchData(object) {
+        var result22 = keys2(object), length2 = result22.length;
+        while (length2--) {
+          var key2 = result22[length2], value = object[key2];
+          result22[length2] = [key2, value, isStrictComparable(value)];
+        }
+        return result22;
+      }
+      function getNative(object, key2) {
+        var value = getValue(object, key2);
+        return baseIsNative(value) ? value : undefined$1;
+      }
+      function getRawTag(value) {
+        var isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag];
+        try {
+          value[symToStringTag] = undefined$1;
+          var unmasked = true;
+        } catch (e2) {
+        }
+        var result22 = nativeObjectToString.call(value);
+        if (unmasked) {
+          if (isOwn) {
+            value[symToStringTag] = tag;
+          } else {
+            delete value[symToStringTag];
+          }
+        }
+        return result22;
+      }
+      var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
+        if (object == null) {
+          return [];
+        }
+        object = Object2(object);
+        return arrayFilter(nativeGetSymbols(object), function(symbol2) {
+          return propertyIsEnumerable.call(object, symbol2);
+        });
+      };
+      var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
+        var result22 = [];
+        while (object) {
+          arrayPush(result22, getSymbols(object));
+          object = getPrototype(object);
+        }
+        return result22;
+      };
+      var getTag = baseGetTag;
+      if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
+        getTag = function(value) {
+          var result22 = baseGetTag(value), Ctor = result22 == objectTag ? value.constructor : undefined$1, ctorString = Ctor ? toSource(Ctor) : "";
+          if (ctorString) {
+            switch (ctorString) {
+              case dataViewCtorString:
+                return dataViewTag;
+              case mapCtorString:
+                return mapTag;
+              case promiseCtorString:
+                return promiseTag;
+              case setCtorString:
+                return setTag;
+              case weakMapCtorString:
+                return weakMapTag;
+            }
+          }
+          return result22;
+        };
+      }
+      function getView(start2, end2, transforms) {
+        var index3 = -1, length2 = transforms.length;
+        while (++index3 < length2) {
+          var data2 = transforms[index3], size2 = data2.size;
+          switch (data2.type) {
+            case "drop":
+              start2 += size2;
+              break;
+            case "dropRight":
+              end2 -= size2;
+              break;
+            case "take":
+              end2 = nativeMin(end2, start2 + size2);
+              break;
+            case "takeRight":
+              start2 = nativeMax(start2, end2 - size2);
+              break;
+          }
+        }
+        return { "start": start2, "end": end2 };
+      }
+      function getWrapDetails(source2) {
+        var match = source2.match(reWrapDetails);
+        return match ? match[1].split(reSplitDetails) : [];
+      }
+      function hasPath(object, path2, hasFunc) {
+        path2 = castPath(path2, object);
+        var index3 = -1, length2 = path2.length, result22 = false;
+        while (++index3 < length2) {
+          var key2 = toKey(path2[index3]);
+          if (!(result22 = object != null && hasFunc(object, key2))) {
+            break;
+          }
+          object = object[key2];
+        }
+        if (result22 || ++index3 != length2) {
+          return result22;
+        }
+        length2 = object == null ? 0 : object.length;
+        return !!length2 && isLength2(length2) && isIndex(key2, length2) && (isArray2(object) || isArguments(object));
+      }
+      function initCloneArray(array) {
+        var length2 = array.length, result22 = new array.constructor(length2);
+        if (length2 && typeof array[0] == "string" && hasOwnProperty2.call(array, "index")) {
+          result22.index = array.index;
+          result22.input = array.input;
+        }
+        return result22;
+      }
+      function initCloneObject(object) {
+        return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
+      }
+      function initCloneByTag(object, tag, isDeep) {
+        var Ctor = object.constructor;
+        switch (tag) {
+          case arrayBufferTag:
+            return cloneArrayBuffer(object);
+          case boolTag:
+          case dateTag:
+            return new Ctor(+object);
+          case dataViewTag:
+            return cloneDataView(object, isDeep);
+          case float32Tag:
+          case float64Tag:
+          case int8Tag:
+          case int16Tag:
+          case int32Tag:
+          case uint8Tag:
+          case uint8ClampedTag:
+          case uint16Tag:
+          case uint32Tag:
+            return cloneTypedArray(object, isDeep);
+          case mapTag:
+            return new Ctor();
+          case numberTag:
+          case stringTag:
+            return new Ctor(object);
+          case regexpTag:
+            return cloneRegExp(object);
+          case setTag:
+            return new Ctor();
+          case symbolTag:
+            return cloneSymbol(object);
+        }
+      }
+      function insertWrapDetails(source2, details) {
+        var length2 = details.length;
+        if (!length2) {
+          return source2;
+        }
+        var lastIndex = length2 - 1;
+        details[lastIndex] = (length2 > 1 ? "& " : "") + details[lastIndex];
+        details = details.join(length2 > 2 ? ", " : " ");
+        return source2.replace(reWrapComment, "{\n/* [wrapped with " + details + "] */\n");
+      }
+      function isFlattenable(value) {
+        return isArray2(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
+      }
+      function isIndex(value, length2) {
+        var type2 = typeof value;
+        length2 = length2 == null ? MAX_SAFE_INTEGER2 : length2;
+        return !!length2 && (type2 == "number" || type2 != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length2);
+      }
+      function isIterateeCall(value, index3, object) {
+        if (!isObject2(object)) {
+          return false;
+        }
+        var type2 = typeof index3;
+        if (type2 == "number" ? isArrayLike2(object) && isIndex(index3, object.length) : type2 == "string" && index3 in object) {
+          return eq(object[index3], value);
+        }
+        return false;
+      }
+      function isKey(value, object) {
+        if (isArray2(value)) {
+          return false;
+        }
+        var type2 = typeof value;
+        if (type2 == "number" || type2 == "symbol" || type2 == "boolean" || value == null || isSymbol(value)) {
+          return true;
+        }
+        return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object2(object);
+      }
+      function isKeyable(value) {
+        var type2 = typeof value;
+        return type2 == "string" || type2 == "number" || type2 == "symbol" || type2 == "boolean" ? value !== "__proto__" : value === null;
+      }
+      function isLaziable(func) {
+        var funcName = getFuncName(func), other = lodash2[funcName];
+        if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) {
+          return false;
+        }
+        if (func === other) {
+          return true;
+        }
+        var data2 = getData(other);
+        return !!data2 && func === data2[0];
+      }
+      function isMasked(func) {
+        return !!maskSrcKey && maskSrcKey in func;
+      }
+      var isMaskable = coreJsData ? isFunction2 : stubFalse;
+      function isPrototype(value) {
+        var Ctor = value && value.constructor, proto2 = typeof Ctor == "function" && Ctor.prototype || objectProto;
+        return value === proto2;
+      }
+      function isStrictComparable(value) {
+        return value === value && !isObject2(value);
+      }
+      function matchesStrictComparable(key2, srcValue) {
+        return function(object) {
+          if (object == null) {
+            return false;
+          }
+          return object[key2] === srcValue && (srcValue !== undefined$1 || key2 in Object2(object));
+        };
+      }
+      function memoizeCapped(func) {
+        var result22 = memoize(func, function(key2) {
+          if (cache.size === MAX_MEMOIZE_SIZE) {
+            cache.clear();
+          }
+          return key2;
+        });
+        var cache = result22.cache;
+        return result22;
+      }
+      function mergeData(data2, source2) {
+        var bitmask = data2[1], srcBitmask = source2[1], newBitmask = bitmask | srcBitmask, isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
+        var isCombo = srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_CURRY_FLAG || srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_REARG_FLAG && data2[7].length <= source2[8] || srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG) && source2[7].length <= source2[8] && bitmask == WRAP_CURRY_FLAG;
+        if (!(isCommon || isCombo)) {
+          return data2;
+        }
+        if (srcBitmask & WRAP_BIND_FLAG) {
+          data2[2] = source2[2];
+          newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
+        }
+        var value = source2[3];
+        if (value) {
+          var partials = data2[3];
+          data2[3] = partials ? composeArgs(partials, value, source2[4]) : value;
+          data2[4] = partials ? replaceHolders(data2[3], PLACEHOLDER) : source2[4];
+        }
+        value = source2[5];
+        if (value) {
+          partials = data2[5];
+          data2[5] = partials ? composeArgsRight(partials, value, source2[6]) : value;
+          data2[6] = partials ? replaceHolders(data2[5], PLACEHOLDER) : source2[6];
+        }
+        value = source2[7];
+        if (value) {
+          data2[7] = value;
+        }
+        if (srcBitmask & WRAP_ARY_FLAG) {
+          data2[8] = data2[8] == null ? source2[8] : nativeMin(data2[8], source2[8]);
+        }
+        if (data2[9] == null) {
+          data2[9] = source2[9];
+        }
+        data2[0] = source2[0];
+        data2[1] = newBitmask;
+        return data2;
+      }
+      function nativeKeysIn(object) {
+        var result22 = [];
+        if (object != null) {
+          for (var key2 in Object2(object)) {
+            result22.push(key2);
+          }
+        }
+        return result22;
+      }
+      function objectToString(value) {
+        return nativeObjectToString.call(value);
+      }
+      function overRest(func, start2, transform22) {
+        start2 = nativeMax(start2 === undefined$1 ? func.length - 1 : start2, 0);
+        return function() {
+          var args = arguments, index3 = -1, length2 = nativeMax(args.length - start2, 0), array = Array2(length2);
+          while (++index3 < length2) {
+            array[index3] = args[start2 + index3];
+          }
+          index3 = -1;
+          var otherArgs = Array2(start2 + 1);
+          while (++index3 < start2) {
+            otherArgs[index3] = args[index3];
+          }
+          otherArgs[start2] = transform22(array);
+          return apply(func, this, otherArgs);
+        };
+      }
+      function parent3(object, path2) {
+        return path2.length < 2 ? object : baseGet(object, baseSlice(path2, 0, -1));
+      }
+      function reorder(array, indexes) {
+        var arrLength = array.length, length2 = nativeMin(indexes.length, arrLength), oldArray = copyArray2(array);
+        while (length2--) {
+          var index3 = indexes[length2];
+          array[length2] = isIndex(index3, arrLength) ? oldArray[index3] : undefined$1;
+        }
+        return array;
+      }
+      function safeGet(object, key2) {
+        if (key2 === "constructor" && typeof object[key2] === "function") {
+          return;
+        }
+        if (key2 == "__proto__") {
+          return;
+        }
+        return object[key2];
+      }
+      var setData = shortOut(baseSetData);
+      var setTimeout2 = ctxSetTimeout || function(func, wait) {
+        return root.setTimeout(func, wait);
+      };
+      var setToString = shortOut(baseSetToString);
+      function setWrapToString(wrapper, reference, bitmask) {
+        var source2 = reference + "";
+        return setToString(wrapper, insertWrapDetails(source2, updateWrapDetails(getWrapDetails(source2), bitmask)));
+      }
+      function shortOut(func) {
+        var count2 = 0, lastCalled = 0;
+        return function() {
+          var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
+          lastCalled = stamp;
+          if (remaining > 0) {
+            if (++count2 >= HOT_COUNT) {
+              return arguments[0];
+            }
+          } else {
+            count2 = 0;
+          }
+          return func.apply(undefined$1, arguments);
+        };
+      }
+      function shuffleSelf(array, size2) {
+        var index3 = -1, length2 = array.length, lastIndex = length2 - 1;
+        size2 = size2 === undefined$1 ? length2 : size2;
+        while (++index3 < size2) {
+          var rand = baseRandom(index3, lastIndex), value = array[rand];
+          array[rand] = array[index3];
+          array[index3] = value;
+        }
+        array.length = size2;
+        return array;
+      }
+      var stringToPath = memoizeCapped(function(string) {
+        var result22 = [];
+        if (string.charCodeAt(0) === 46) {
+          result22.push("");
+        }
+        string.replace(rePropName, function(match, number2, quote, subString) {
+          result22.push(quote ? subString.replace(reEscapeChar, "$1") : number2 || match);
+        });
+        return result22;
+      });
+      function toKey(value) {
+        if (typeof value == "string" || isSymbol(value)) {
+          return value;
+        }
+        var result22 = value + "";
+        return result22 == "0" && 1 / value == -INFINITY ? "-0" : result22;
+      }
+      function toSource(func) {
+        if (func != null) {
+          try {
+            return funcToString.call(func);
+          } catch (e2) {
+          }
+          try {
+            return func + "";
+          } catch (e2) {
+          }
+        }
+        return "";
+      }
+      function updateWrapDetails(details, bitmask) {
+        arrayEach(wrapFlags, function(pair) {
+          var value = "_." + pair[0];
+          if (bitmask & pair[1] && !arrayIncludes(details, value)) {
+            details.push(value);
+          }
+        });
+        return details.sort();
+      }
+      function wrapperClone(wrapper) {
+        if (wrapper instanceof LazyWrapper) {
+          return wrapper.clone();
+        }
+        var result22 = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
+        result22.__actions__ = copyArray2(wrapper.__actions__);
+        result22.__index__ = wrapper.__index__;
+        result22.__values__ = wrapper.__values__;
+        return result22;
+      }
+      function chunk(array, size2, guard) {
+        if (guard ? isIterateeCall(array, size2, guard) : size2 === undefined$1) {
+          size2 = 1;
+        } else {
+          size2 = nativeMax(toInteger(size2), 0);
+        }
+        var length2 = array == null ? 0 : array.length;
+        if (!length2 || size2 < 1) {
+          return [];
+        }
+        var index3 = 0, resIndex = 0, result22 = Array2(nativeCeil(length2 / size2));
+        while (index3 < length2) {
+          result22[resIndex++] = baseSlice(array, index3, index3 += size2);
+        }
+        return result22;
+      }
+      function compact(array) {
+        var index3 = -1, length2 = array == null ? 0 : array.length, resIndex = 0, result22 = [];
+        while (++index3 < length2) {
+          var value = array[index3];
+          if (value) {
+            result22[resIndex++] = value;
+          }
+        }
+        return result22;
+      }
+      function concat() {
+        var length2 = arguments.length;
+        if (!length2) {
+          return [];
+        }
+        var args = Array2(length2 - 1), array = arguments[0], index3 = length2;
+        while (index3--) {
+          args[index3 - 1] = arguments[index3];
+        }
+        return arrayPush(isArray2(array) ? copyArray2(array) : [array], baseFlatten(args, 1));
+      }
+      var difference = baseRest(function(array, values2) {
+        return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true)) : [];
+      });
+      var differenceBy = baseRest(function(array, values2) {
+        var iteratee2 = last(values2);
+        if (isArrayLikeObject(iteratee2)) {
+          iteratee2 = undefined$1;
+        }
+        return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2)) : [];
+      });
+      var differenceWith = baseRest(function(array, values2) {
+        var comparator = last(values2);
+        if (isArrayLikeObject(comparator)) {
+          comparator = undefined$1;
+        }
+        return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), undefined$1, comparator) : [];
+      });
+      function drop(array, n2, guard) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return [];
+        }
+        n2 = guard || n2 === undefined$1 ? 1 : toInteger(n2);
+        return baseSlice(array, n2 < 0 ? 0 : n2, length2);
+      }
+      function dropRight(array, n2, guard) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return [];
+        }
+        n2 = guard || n2 === undefined$1 ? 1 : toInteger(n2);
+        n2 = length2 - n2;
+        return baseSlice(array, 0, n2 < 0 ? 0 : n2);
+      }
+      function dropRightWhile(array, predicate) {
+        return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true, true) : [];
+      }
+      function dropWhile(array, predicate) {
+        return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true) : [];
+      }
+      function fill(array, value, start2, end2) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return [];
+        }
+        if (start2 && typeof start2 != "number" && isIterateeCall(array, value, start2)) {
+          start2 = 0;
+          end2 = length2;
+        }
+        return baseFill(array, value, start2, end2);
+      }
+      function findIndex(array, predicate, fromIndex) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return -1;
+        }
+        var index3 = fromIndex == null ? 0 : toInteger(fromIndex);
+        if (index3 < 0) {
+          index3 = nativeMax(length2 + index3, 0);
+        }
+        return baseFindIndex(array, getIteratee(predicate, 3), index3);
+      }
+      function findLastIndex(array, predicate, fromIndex) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return -1;
+        }
+        var index3 = length2 - 1;
+        if (fromIndex !== undefined$1) {
+          index3 = toInteger(fromIndex);
+          index3 = fromIndex < 0 ? nativeMax(length2 + index3, 0) : nativeMin(index3, length2 - 1);
+        }
+        return baseFindIndex(array, getIteratee(predicate, 3), index3, true);
+      }
+      function flatten(array) {
+        var length2 = array == null ? 0 : array.length;
+        return length2 ? baseFlatten(array, 1) : [];
+      }
+      function flattenDeep(array) {
+        var length2 = array == null ? 0 : array.length;
+        return length2 ? baseFlatten(array, INFINITY) : [];
+      }
+      function flattenDepth(array, depth) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return [];
+        }
+        depth = depth === undefined$1 ? 1 : toInteger(depth);
+        return baseFlatten(array, depth);
+      }
+      function fromPairs(pairs) {
+        var index3 = -1, length2 = pairs == null ? 0 : pairs.length, result22 = {};
+        while (++index3 < length2) {
+          var pair = pairs[index3];
+          result22[pair[0]] = pair[1];
+        }
+        return result22;
+      }
+      function head(array) {
+        return array && array.length ? array[0] : undefined$1;
+      }
+      function indexOf2(array, value, fromIndex) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return -1;
+        }
+        var index3 = fromIndex == null ? 0 : toInteger(fromIndex);
+        if (index3 < 0) {
+          index3 = nativeMax(length2 + index3, 0);
+        }
+        return baseIndexOf(array, value, index3);
+      }
+      function initial(array) {
+        var length2 = array == null ? 0 : array.length;
+        return length2 ? baseSlice(array, 0, -1) : [];
+      }
+      var intersection = baseRest(function(arrays) {
+        var mapped = arrayMap(arrays, castArrayLikeObject);
+        return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];
+      });
+      var intersectionBy = baseRest(function(arrays) {
+        var iteratee2 = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject);
+        if (iteratee2 === last(mapped)) {
+          iteratee2 = undefined$1;
+        } else {
+          mapped.pop();
+        }
+        return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, getIteratee(iteratee2, 2)) : [];
+      });
+      var intersectionWith = baseRest(function(arrays) {
+        var comparator = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject);
+        comparator = typeof comparator == "function" ? comparator : undefined$1;
+        if (comparator) {
+          mapped.pop();
+        }
+        return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined$1, comparator) : [];
+      });
+      function join(array, separator) {
+        return array == null ? "" : nativeJoin.call(array, separator);
+      }
+      function last(array) {
+        var length2 = array == null ? 0 : array.length;
+        return length2 ? array[length2 - 1] : undefined$1;
+      }
+      function lastIndexOf(array, value, fromIndex) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return -1;
+        }
+        var index3 = length2;
+        if (fromIndex !== undefined$1) {
+          index3 = toInteger(fromIndex);
+          index3 = index3 < 0 ? nativeMax(length2 + index3, 0) : nativeMin(index3, length2 - 1);
+        }
+        return value === value ? strictLastIndexOf(array, value, index3) : baseFindIndex(array, baseIsNaN, index3, true);
+      }
+      function nth(array, n2) {
+        return array && array.length ? baseNth(array, toInteger(n2)) : undefined$1;
+      }
+      var pull = baseRest(pullAll);
+      function pullAll(array, values2) {
+        return array && array.length && values2 && values2.length ? basePullAll(array, values2) : array;
+      }
+      function pullAllBy(array, values2, iteratee2) {
+        return array && array.length && values2 && values2.length ? basePullAll(array, values2, getIteratee(iteratee2, 2)) : array;
+      }
+      function pullAllWith(array, values2, comparator) {
+        return array && array.length && values2 && values2.length ? basePullAll(array, values2, undefined$1, comparator) : array;
+      }
+      var pullAt = flatRest(function(array, indexes) {
+        var length2 = array == null ? 0 : array.length, result22 = baseAt(array, indexes);
+        basePullAt(array, arrayMap(indexes, function(index3) {
+          return isIndex(index3, length2) ? +index3 : index3;
+        }).sort(compareAscending));
+        return result22;
+      });
+      function remove2(array, predicate) {
+        var result22 = [];
+        if (!(array && array.length)) {
+          return result22;
+        }
+        var index3 = -1, indexes = [], length2 = array.length;
+        predicate = getIteratee(predicate, 3);
+        while (++index3 < length2) {
+          var value = array[index3];
+          if (predicate(value, index3, array)) {
+            result22.push(value);
+            indexes.push(index3);
+          }
+        }
+        basePullAt(array, indexes);
+        return result22;
+      }
+      function reverse2(array) {
+        return array == null ? array : nativeReverse.call(array);
+      }
+      function slice2(array, start2, end2) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return [];
+        }
+        if (end2 && typeof end2 != "number" && isIterateeCall(array, start2, end2)) {
+          start2 = 0;
+          end2 = length2;
+        } else {
+          start2 = start2 == null ? 0 : toInteger(start2);
+          end2 = end2 === undefined$1 ? length2 : toInteger(end2);
+        }
+        return baseSlice(array, start2, end2);
+      }
+      function sortedIndex(array, value) {
+        return baseSortedIndex(array, value);
+      }
+      function sortedIndexBy(array, value, iteratee2) {
+        return baseSortedIndexBy(array, value, getIteratee(iteratee2, 2));
+      }
+      function sortedIndexOf(array, value) {
+        var length2 = array == null ? 0 : array.length;
+        if (length2) {
+          var index3 = baseSortedIndex(array, value);
+          if (index3 < length2 && eq(array[index3], value)) {
+            return index3;
+          }
+        }
+        return -1;
+      }
+      function sortedLastIndex(array, value) {
+        return baseSortedIndex(array, value, true);
+      }
+      function sortedLastIndexBy(array, value, iteratee2) {
+        return baseSortedIndexBy(array, value, getIteratee(iteratee2, 2), true);
+      }
+      function sortedLastIndexOf(array, value) {
+        var length2 = array == null ? 0 : array.length;
+        if (length2) {
+          var index3 = baseSortedIndex(array, value, true) - 1;
+          if (eq(array[index3], value)) {
+            return index3;
+          }
+        }
+        return -1;
+      }
+      function sortedUniq(array) {
+        return array && array.length ? baseSortedUniq(array) : [];
+      }
+      function sortedUniqBy(array, iteratee2) {
+        return array && array.length ? baseSortedUniq(array, getIteratee(iteratee2, 2)) : [];
+      }
+      function tail(array) {
+        var length2 = array == null ? 0 : array.length;
+        return length2 ? baseSlice(array, 1, length2) : [];
+      }
+      function take2(array, n2, guard) {
+        if (!(array && array.length)) {
+          return [];
+        }
+        n2 = guard || n2 === undefined$1 ? 1 : toInteger(n2);
+        return baseSlice(array, 0, n2 < 0 ? 0 : n2);
+      }
+      function takeRight(array, n2, guard) {
+        var length2 = array == null ? 0 : array.length;
+        if (!length2) {
+          return [];
+        }
+        n2 = guard || n2 === undefined$1 ? 1 : toInteger(n2);
+        n2 = length2 - n2;
+        return baseSlice(array, n2 < 0 ? 0 : n2, length2);
+      }
+      function takeRightWhile(array, predicate) {
+        return array && array.length ? baseWhile(array, getIteratee(predicate, 3), false, true) : [];
+      }
+      function takeWhile(array, predicate) {
+        return array && array.length ? baseWhile(array, getIteratee(predicate, 3)) : [];
+      }
+      var union = baseRest(function(arrays) {
+        return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
+      });
+      var unionBy = baseRest(function(arrays) {
+        var iteratee2 = last(arrays);
+        if (isArrayLikeObject(iteratee2)) {
+          iteratee2 = undefined$1;
+        }
+        return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2));
+      });
+      var unionWith = baseRest(function(arrays) {
+        var comparator = last(arrays);
+        comparator = typeof comparator == "function" ? comparator : undefined$1;
+        return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined$1, comparator);
+      });
+      function uniq(array) {
+        return array && array.length ? baseUniq(array) : [];
+      }
+      function uniqBy(array, iteratee2) {
+        return array && array.length ? baseUniq(array, getIteratee(iteratee2, 2)) : [];
+      }
+      function uniqWith(array, comparator) {
+        comparator = typeof comparator == "function" ? comparator : undefined$1;
+        return array && array.length ? baseUniq(array, undefined$1, comparator) : [];
+      }
+      function unzip(array) {
+        if (!(array && array.length)) {
+          return [];
+        }
+        var length2 = 0;
+        array = arrayFilter(array, function(group) {
+          if (isArrayLikeObject(group)) {
+            length2 = nativeMax(group.length, length2);
+            return true;
+          }
+        });
+        return baseTimes(length2, function(index3) {
+          return arrayMap(array, baseProperty(index3));
+        });
+      }
+      function unzipWith(array, iteratee2) {
+        if (!(array && array.length)) {
+          return [];
+        }
+        var result22 = unzip(array);
+        if (iteratee2 == null) {
+          return result22;
+        }
+        return arrayMap(result22, function(group) {
+          return apply(iteratee2, undefined$1, group);
+        });
+      }
+      var without = baseRest(function(array, values2) {
+        return isArrayLikeObject(array) ? baseDifference(array, values2) : [];
+      });
+      var xor = baseRest(function(arrays) {
+        return baseXor(arrayFilter(arrays, isArrayLikeObject));
+      });
+      var xorBy = baseRest(function(arrays) {
+        var iteratee2 = last(arrays);
+        if (isArrayLikeObject(iteratee2)) {
+          iteratee2 = undefined$1;
+        }
+        return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee2, 2));
+      });
+      var xorWith = baseRest(function(arrays) {
+        var comparator = last(arrays);
+        comparator = typeof comparator == "function" ? comparator : undefined$1;
+        return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined$1, comparator);
+      });
+      var zip = baseRest(unzip);
+      function zipObject(props2, values2) {
+        return baseZipObject(props2 || [], values2 || [], assignValue);
+      }
+      function zipObjectDeep(props2, values2) {
+        return baseZipObject(props2 || [], values2 || [], baseSet);
+      }
+      var zipWith = baseRest(function(arrays) {
+        var length2 = arrays.length, iteratee2 = length2 > 1 ? arrays[length2 - 1] : undefined$1;
+        iteratee2 = typeof iteratee2 == "function" ? (arrays.pop(), iteratee2) : undefined$1;
+        return unzipWith(arrays, iteratee2);
+      });
+      function chain(value) {
+        var result22 = lodash2(value);
+        result22.__chain__ = true;
+        return result22;
+      }
+      function tap2(value, interceptor) {
+        interceptor(value);
+        return value;
+      }
+      function thru(value, interceptor) {
+        return interceptor(value);
+      }
+      var wrapperAt = flatRest(function(paths) {
+        var length2 = paths.length, start2 = length2 ? paths[0] : 0, value = this.__wrapped__, interceptor = function(object) {
+          return baseAt(object, paths);
+        };
+        if (length2 > 1 || this.__actions__.length || !(value instanceof LazyWrapper) || !isIndex(start2)) {
+          return this.thru(interceptor);
+        }
+        value = value.slice(start2, +start2 + (length2 ? 1 : 0));
+        value.__actions__.push({
+          "func": thru,
+          "args": [interceptor],
+          "thisArg": undefined$1
+        });
+        return new LodashWrapper(value, this.__chain__).thru(function(array) {
+          if (length2 && !array.length) {
+            array.push(undefined$1);
+          }
+          return array;
+        });
+      });
+      function wrapperChain() {
+        return chain(this);
+      }
+      function wrapperCommit() {
+        return new LodashWrapper(this.value(), this.__chain__);
+      }
+      function wrapperNext() {
+        if (this.__values__ === undefined$1) {
+          this.__values__ = toArray2(this.value());
+        }
+        var done = this.__index__ >= this.__values__.length, value = done ? undefined$1 : this.__values__[this.__index__++];
+        return { "done": done, "value": value };
+      }
+      function wrapperToIterator() {
+        return this;
+      }
+      function wrapperPlant(value) {
+        var result22, parent22 = this;
+        while (parent22 instanceof baseLodash) {
+          var clone22 = wrapperClone(parent22);
+          clone22.__index__ = 0;
+          clone22.__values__ = undefined$1;
+          if (result22) {
+            previous.__wrapped__ = clone22;
+          } else {
+            result22 = clone22;
+          }
+          var previous = clone22;
+          parent22 = parent22.__wrapped__;
+        }
+        previous.__wrapped__ = value;
+        return result22;
+      }
+      function wrapperReverse() {
+        var value = this.__wrapped__;
+        if (value instanceof LazyWrapper) {
+          var wrapped = value;
+          if (this.__actions__.length) {
+            wrapped = new LazyWrapper(this);
+          }
+          wrapped = wrapped.reverse();
+          wrapped.__actions__.push({
+            "func": thru,
+            "args": [reverse2],
+            "thisArg": undefined$1
+          });
+          return new LodashWrapper(wrapped, this.__chain__);
+        }
+        return this.thru(reverse2);
+      }
+      function wrapperValue() {
+        return baseWrapperValue(this.__wrapped__, this.__actions__);
+      }
+      var countBy = createAggregator(function(result22, value, key2) {
+        if (hasOwnProperty2.call(result22, key2)) {
+          ++result22[key2];
+        } else {
+          baseAssignValue(result22, key2, 1);
+        }
+      });
+      function every(collection, predicate, guard) {
+        var func = isArray2(collection) ? arrayEvery : baseEvery;
+        if (guard && isIterateeCall(collection, predicate, guard)) {
+          predicate = undefined$1;
+        }
+        return func(collection, getIteratee(predicate, 3));
+      }
+      function filter4(collection, predicate) {
+        var func = isArray2(collection) ? arrayFilter : baseFilter;
+        return func(collection, getIteratee(predicate, 3));
+      }
+      var find2 = createFind(findIndex);
+      var findLast = createFind(findLastIndex);
+      function flatMap(collection, iteratee2) {
+        return baseFlatten(map2(collection, iteratee2), 1);
+      }
+      function flatMapDeep(collection, iteratee2) {
+        return baseFlatten(map2(collection, iteratee2), INFINITY);
+      }
+      function flatMapDepth(collection, iteratee2, depth) {
+        depth = depth === undefined$1 ? 1 : toInteger(depth);
+        return baseFlatten(map2(collection, iteratee2), depth);
+      }
+      function forEach3(collection, iteratee2) {
+        var func = isArray2(collection) ? arrayEach : baseEach;
+        return func(collection, getIteratee(iteratee2, 3));
+      }
+      function forEachRight(collection, iteratee2) {
+        var func = isArray2(collection) ? arrayEachRight : baseEachRight;
+        return func(collection, getIteratee(iteratee2, 3));
+      }
+      var groupBy = createAggregator(function(result22, value, key2) {
+        if (hasOwnProperty2.call(result22, key2)) {
+          result22[key2].push(value);
+        } else {
+          baseAssignValue(result22, key2, [value]);
+        }
+      });
+      function includes(collection, value, fromIndex, guard) {
+        collection = isArrayLike2(collection) ? collection : values(collection);
+        fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0;
+        var length2 = collection.length;
+        if (fromIndex < 0) {
+          fromIndex = nativeMax(length2 + fromIndex, 0);
+        }
+        return isString2(collection) ? fromIndex <= length2 && collection.indexOf(value, fromIndex) > -1 : !!length2 && baseIndexOf(collection, value, fromIndex) > -1;
+      }
+      var invokeMap = baseRest(function(collection, path2, args) {
+        var index3 = -1, isFunc = typeof path2 == "function", result22 = isArrayLike2(collection) ? Array2(collection.length) : [];
+        baseEach(collection, function(value) {
+          result22[++index3] = isFunc ? apply(path2, value, args) : baseInvoke(value, path2, args);
+        });
+        return result22;
+      });
+      var keyBy = createAggregator(function(result22, value, key2) {
+        baseAssignValue(result22, key2, value);
+      });
+      function map2(collection, iteratee2) {
+        var func = isArray2(collection) ? arrayMap : baseMap;
+        return func(collection, getIteratee(iteratee2, 3));
+      }
+      function orderBy(collection, iteratees, orders, guard) {
+        if (collection == null) {
+          return [];
+        }
+        if (!isArray2(iteratees)) {
+          iteratees = iteratees == null ? [] : [iteratees];
+        }
+        orders = guard ? undefined$1 : orders;
+        if (!isArray2(orders)) {
+          orders = orders == null ? [] : [orders];
+        }
+        return baseOrderBy(collection, iteratees, orders);
+      }
+      var partition = createAggregator(function(result22, value, key2) {
+        result22[key2 ? 0 : 1].push(value);
+      }, function() {
+        return [[], []];
+      });
+      function reduce2(collection, iteratee2, accumulator) {
+        var func = isArray2(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
+        return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEach);
+      }
+      function reduceRight(collection, iteratee2, accumulator) {
+        var func = isArray2(collection) ? arrayReduceRight : baseReduce, initAccum = arguments.length < 3;
+        return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEachRight);
+      }
+      function reject(collection, predicate) {
+        var func = isArray2(collection) ? arrayFilter : baseFilter;
+        return func(collection, negate2(getIteratee(predicate, 3)));
+      }
+      function sample(collection) {
+        var func = isArray2(collection) ? arraySample : baseSample;
+        return func(collection);
+      }
+      function sampleSize(collection, n2, guard) {
+        if (guard ? isIterateeCall(collection, n2, guard) : n2 === undefined$1) {
+          n2 = 1;
+        } else {
+          n2 = toInteger(n2);
+        }
+        var func = isArray2(collection) ? arraySampleSize : baseSampleSize;
+        return func(collection, n2);
+      }
+      function shuffle(collection) {
+        var func = isArray2(collection) ? arrayShuffle : baseShuffle;
+        return func(collection);
+      }
+      function size(collection) {
+        if (collection == null) {
+          return 0;
+        }
+        if (isArrayLike2(collection)) {
+          return isString2(collection) ? stringSize(collection) : collection.length;
+        }
+        var tag = getTag(collection);
+        if (tag == mapTag || tag == setTag) {
+          return collection.size;
+        }
+        return baseKeys(collection).length;
+      }
+      function some(collection, predicate, guard) {
+        var func = isArray2(collection) ? arraySome : baseSome;
+        if (guard && isIterateeCall(collection, predicate, guard)) {
+          predicate = undefined$1;
+        }
+        return func(collection, getIteratee(predicate, 3));
+      }
+      var sortBy = baseRest(function(collection, iteratees) {
+        if (collection == null) {
+          return [];
+        }
+        var length2 = iteratees.length;
+        if (length2 > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
+          iteratees = [];
+        } else if (length2 > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
+          iteratees = [iteratees[0]];
+        }
+        return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
+      });
+      var now = ctxNow || function() {
+        return root.Date.now();
+      };
+      function after(n2, func) {
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        n2 = toInteger(n2);
+        return function() {
+          if (--n2 < 1) {
+            return func.apply(this, arguments);
+          }
+        };
+      }
+      function ary(func, n2, guard) {
+        n2 = guard ? undefined$1 : n2;
+        n2 = func && n2 == null ? func.length : n2;
+        return createWrap2(func, WRAP_ARY_FLAG, undefined$1, undefined$1, undefined$1, undefined$1, n2);
+      }
+      function before(n2, func) {
+        var result22;
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        n2 = toInteger(n2);
+        return function() {
+          if (--n2 > 0) {
+            result22 = func.apply(this, arguments);
+          }
+          if (n2 <= 1) {
+            func = undefined$1;
+          }
+          return result22;
+        };
+      }
+      var bind32 = baseRest(function(func, thisArg, partials) {
+        var bitmask = WRAP_BIND_FLAG;
+        if (partials.length) {
+          var holders = replaceHolders(partials, getHolder(bind32));
+          bitmask |= WRAP_PARTIAL_FLAG;
+        }
+        return createWrap2(func, bitmask, thisArg, partials, holders);
+      });
+      var bindKey = baseRest(function(object, key2, partials) {
+        var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
+        if (partials.length) {
+          var holders = replaceHolders(partials, getHolder(bindKey));
+          bitmask |= WRAP_PARTIAL_FLAG;
+        }
+        return createWrap2(key2, bitmask, object, partials, holders);
+      });
+      function curry2(func, arity, guard) {
+        arity = guard ? undefined$1 : arity;
+        var result22 = createWrap2(func, WRAP_CURRY_FLAG, undefined$1, undefined$1, undefined$1, undefined$1, undefined$1, arity);
+        result22.placeholder = curry2.placeholder;
+        return result22;
+      }
+      function curryRight(func, arity, guard) {
+        arity = guard ? undefined$1 : arity;
+        var result22 = createWrap2(func, WRAP_CURRY_RIGHT_FLAG, undefined$1, undefined$1, undefined$1, undefined$1, undefined$1, arity);
+        result22.placeholder = curryRight.placeholder;
+        return result22;
+      }
+      function debounce(func, wait, options2) {
+        var lastArgs, lastThis, maxWait, result22, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        wait = toNumber2(wait) || 0;
+        if (isObject2(options2)) {
+          leading = !!options2.leading;
+          maxing = "maxWait" in options2;
+          maxWait = maxing ? nativeMax(toNumber2(options2.maxWait) || 0, wait) : maxWait;
+          trailing = "trailing" in options2 ? !!options2.trailing : trailing;
+        }
+        function invokeFunc(time2) {
+          var args = lastArgs, thisArg = lastThis;
+          lastArgs = lastThis = undefined$1;
+          lastInvokeTime = time2;
+          result22 = func.apply(thisArg, args);
+          return result22;
+        }
+        function leadingEdge(time2) {
+          lastInvokeTime = time2;
+          timerId = setTimeout2(timerExpired, wait);
+          return leading ? invokeFunc(time2) : result22;
+        }
+        function remainingWait(time2) {
+          var timeSinceLastCall = time2 - lastCallTime, timeSinceLastInvoke = time2 - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
+          return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
+        }
+        function shouldInvoke(time2) {
+          var timeSinceLastCall = time2 - lastCallTime, timeSinceLastInvoke = time2 - lastInvokeTime;
+          return lastCallTime === undefined$1 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
+        }
+        function timerExpired() {
+          var time2 = now();
+          if (shouldInvoke(time2)) {
+            return trailingEdge(time2);
+          }
+          timerId = setTimeout2(timerExpired, remainingWait(time2));
+        }
+        function trailingEdge(time2) {
+          timerId = undefined$1;
+          if (trailing && lastArgs) {
+            return invokeFunc(time2);
+          }
+          lastArgs = lastThis = undefined$1;
+          return result22;
+        }
+        function cancel() {
+          if (timerId !== undefined$1) {
+            clearTimeout2(timerId);
+          }
+          lastInvokeTime = 0;
+          lastArgs = lastCallTime = lastThis = timerId = undefined$1;
+        }
+        function flush() {
+          return timerId === undefined$1 ? result22 : trailingEdge(now());
+        }
+        function debounced() {
+          var time2 = now(), isInvoking = shouldInvoke(time2);
+          lastArgs = arguments;
+          lastThis = this;
+          lastCallTime = time2;
+          if (isInvoking) {
+            if (timerId === undefined$1) {
+              return leadingEdge(lastCallTime);
+            }
+            if (maxing) {
+              clearTimeout2(timerId);
+              timerId = setTimeout2(timerExpired, wait);
+              return invokeFunc(lastCallTime);
+            }
+          }
+          if (timerId === undefined$1) {
+            timerId = setTimeout2(timerExpired, wait);
+          }
+          return result22;
+        }
+        debounced.cancel = cancel;
+        debounced.flush = flush;
+        return debounced;
+      }
+      var defer = baseRest(function(func, args) {
+        return baseDelay(func, 1, args);
+      });
+      var delay = baseRest(function(func, wait, args) {
+        return baseDelay(func, toNumber2(wait) || 0, args);
+      });
+      function flip(func) {
+        return createWrap2(func, WRAP_FLIP_FLAG);
+      }
+      function memoize(func, resolver) {
+        if (typeof func != "function" || resolver != null && typeof resolver != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        var memoized = function() {
+          var args = arguments, key2 = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
+          if (cache.has(key2)) {
+            return cache.get(key2);
+          }
+          var result22 = func.apply(this, args);
+          memoized.cache = cache.set(key2, result22) || cache;
+          return result22;
+        };
+        memoized.cache = new (memoize.Cache || MapCache)();
+        return memoized;
+      }
+      memoize.Cache = MapCache;
+      function negate2(predicate) {
+        if (typeof predicate != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        return function() {
+          var args = arguments;
+          switch (args.length) {
+            case 0:
+              return !predicate.call(this);
+            case 1:
+              return !predicate.call(this, args[0]);
+            case 2:
+              return !predicate.call(this, args[0], args[1]);
+            case 3:
+              return !predicate.call(this, args[0], args[1], args[2]);
+          }
+          return !predicate.apply(this, args);
+        };
+      }
+      function once2(func) {
+        return before(2, func);
+      }
+      var overArgs = castRest(function(func, transforms) {
+        transforms = transforms.length == 1 && isArray2(transforms[0]) ? arrayMap(transforms[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));
+        var funcsLength = transforms.length;
+        return baseRest(function(args) {
+          var index3 = -1, length2 = nativeMin(args.length, funcsLength);
+          while (++index3 < length2) {
+            args[index3] = transforms[index3].call(this, args[index3]);
+          }
+          return apply(func, this, args);
+        });
+      });
+      var partial = baseRest(function(func, partials) {
+        var holders = replaceHolders(partials, getHolder(partial));
+        return createWrap2(func, WRAP_PARTIAL_FLAG, undefined$1, partials, holders);
+      });
+      var partialRight = baseRest(function(func, partials) {
+        var holders = replaceHolders(partials, getHolder(partialRight));
+        return createWrap2(func, WRAP_PARTIAL_RIGHT_FLAG, undefined$1, partials, holders);
+      });
+      var rearg = flatRest(function(func, indexes) {
+        return createWrap2(func, WRAP_REARG_FLAG, undefined$1, undefined$1, undefined$1, indexes);
+      });
+      function rest(func, start2) {
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        start2 = start2 === undefined$1 ? start2 : toInteger(start2);
+        return baseRest(func, start2);
+      }
+      function spread3(func, start2) {
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        start2 = start2 == null ? 0 : nativeMax(toInteger(start2), 0);
+        return baseRest(function(args) {
+          var array = args[start2], otherArgs = castSlice(args, 0, start2);
+          if (array) {
+            arrayPush(otherArgs, array);
+          }
+          return apply(func, this, otherArgs);
+        });
+      }
+      function throttle2(func, wait, options2) {
+        var leading = true, trailing = true;
+        if (typeof func != "function") {
+          throw new TypeError2(FUNC_ERROR_TEXT);
+        }
+        if (isObject2(options2)) {
+          leading = "leading" in options2 ? !!options2.leading : leading;
+          trailing = "trailing" in options2 ? !!options2.trailing : trailing;
+        }
+        return debounce(func, wait, {
+          "leading": leading,
+          "maxWait": wait,
+          "trailing": trailing
+        });
+      }
+      function unary(func) {
+        return ary(func, 1);
+      }
+      function wrap(value, wrapper) {
+        return partial(castFunction(wrapper), value);
+      }
+      function castArray() {
+        if (!arguments.length) {
+          return [];
+        }
+        var value = arguments[0];
+        return isArray2(value) ? value : [value];
+      }
+      function clone2(value) {
+        return baseClone(value, CLONE_SYMBOLS_FLAG);
+      }
+      function cloneWith(value, customizer) {
+        customizer = typeof customizer == "function" ? customizer : undefined$1;
+        return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
+      }
+      function cloneDeep(value) {
+        return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
+      }
+      function cloneDeepWith(value, customizer) {
+        customizer = typeof customizer == "function" ? customizer : undefined$1;
+        return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
+      }
+      function conformsTo(object, source2) {
+        return source2 == null || baseConformsTo(object, source2, keys2(source2));
+      }
+      function eq(value, other) {
+        return value === other || value !== value && other !== other;
+      }
+      var gt = createRelationalOperation(baseGt);
+      var gte = createRelationalOperation(function(value, other) {
+        return value >= other;
+      });
+      var isArguments = baseIsArguments(function() {
+        return arguments;
+      }()) ? baseIsArguments : function(value) {
+        return isObjectLike(value) && hasOwnProperty2.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
+      };
+      var isArray2 = Array2.isArray;
+      var isArrayBuffer2 = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
+      function isArrayLike2(value) {
+        return value != null && isLength2(value.length) && !isFunction2(value);
+      }
+      function isArrayLikeObject(value) {
+        return isObjectLike(value) && isArrayLike2(value);
+      }
+      function isBoolean2(value) {
+        return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag;
+      }
+      var isBuffer2 = nativeIsBuffer || stubFalse;
+      var isDate2 = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
+      function isElement(value) {
+        return isObjectLike(value) && value.nodeType === 1 && !isPlainObject2(value);
+      }
+      function isEmpty(value) {
+        if (value == null) {
+          return true;
+        }
+        if (isArrayLike2(value) && (isArray2(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer2(value) || isTypedArray2(value) || isArguments(value))) {
+          return !value.length;
+        }
+        var tag = getTag(value);
+        if (tag == mapTag || tag == setTag) {
+          return !value.size;
+        }
+        if (isPrototype(value)) {
+          return !baseKeys(value).length;
+        }
+        for (var key2 in value) {
+          if (hasOwnProperty2.call(value, key2)) {
+            return false;
+          }
+        }
+        return true;
+      }
+      function isEqual2(value, other) {
+        return baseIsEqual(value, other);
+      }
+      function isEqualWith(value, other, customizer) {
+        customizer = typeof customizer == "function" ? customizer : undefined$1;
+        var result22 = customizer ? customizer(value, other) : undefined$1;
+        return result22 === undefined$1 ? baseIsEqual(value, other, undefined$1, customizer) : !!result22;
+      }
+      function isError(value) {
+        if (!isObjectLike(value)) {
+          return false;
+        }
+        var tag = baseGetTag(value);
+        return tag == errorTag || tag == domExcTag || typeof value.message == "string" && typeof value.name == "string" && !isPlainObject2(value);
+      }
+      function isFinite2(value) {
+        return typeof value == "number" && nativeIsFinite(value);
+      }
+      function isFunction2(value) {
+        if (!isObject2(value)) {
+          return false;
+        }
+        var tag = baseGetTag(value);
+        return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
+      }
+      function isInteger2(value) {
+        return typeof value == "number" && value == toInteger(value);
+      }
+      function isLength2(value) {
+        return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
+      }
+      function isObject2(value) {
+        var type2 = typeof value;
+        return value != null && (type2 == "object" || type2 == "function");
+      }
+      function isObjectLike(value) {
+        return value != null && typeof value == "object";
+      }
+      var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
+      function isMatch(object, source2) {
+        return object === source2 || baseIsMatch(object, source2, getMatchData(source2));
+      }
+      function isMatchWith(object, source2, customizer) {
+        customizer = typeof customizer == "function" ? customizer : undefined$1;
+        return baseIsMatch(object, source2, getMatchData(source2), customizer);
+      }
+      function isNaN2(value) {
+        return isNumber2(value) && value != +value;
+      }
+      function isNative(value) {
+        if (isMaskable(value)) {
+          throw new Error2(CORE_ERROR_TEXT);
+        }
+        return baseIsNative(value);
+      }
+      function isNull2(value) {
+        return value === null;
+      }
+      function isNil(value) {
+        return value == null;
+      }
+      function isNumber2(value) {
+        return typeof value == "number" || isObjectLike(value) && baseGetTag(value) == numberTag;
+      }
+      function isPlainObject2(value) {
+        if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
+          return false;
+        }
+        var proto2 = getPrototype(value);
+        if (proto2 === null) {
+          return true;
+        }
+        var Ctor = hasOwnProperty2.call(proto2, "constructor") && proto2.constructor;
+        return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+      }
+      var isRegExp2 = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
+      function isSafeInteger(value) {
+        return isInteger2(value) && value >= -MAX_SAFE_INTEGER2 && value <= MAX_SAFE_INTEGER2;
+      }
+      var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
+      function isString2(value) {
+        return typeof value == "string" || !isArray2(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
+      }
+      function isSymbol(value) {
+        return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
+      }
+      var isTypedArray2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
+      function isUndefined2(value) {
+        return value === undefined$1;
+      }
+      function isWeakMap(value) {
+        return isObjectLike(value) && getTag(value) == weakMapTag;
+      }
+      function isWeakSet(value) {
+        return isObjectLike(value) && baseGetTag(value) == weakSetTag;
+      }
+      var lt2 = createRelationalOperation(baseLt);
+      var lte = createRelationalOperation(function(value, other) {
+        return value <= other;
+      });
+      function toArray2(value) {
+        if (!value) {
+          return [];
+        }
+        if (isArrayLike2(value)) {
+          return isString2(value) ? stringToArray(value) : copyArray2(value);
+        }
+        if (symIterator && value[symIterator]) {
+          return iteratorToArray(value[symIterator]());
+        }
+        var tag = getTag(value), func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values;
+        return func(value);
+      }
+      function toFinite(value) {
+        if (!value) {
+          return value === 0 ? value : 0;
+        }
+        value = toNumber2(value);
+        if (value === INFINITY || value === -INFINITY) {
+          var sign = value < 0 ? -1 : 1;
+          return sign * MAX_INTEGER;
+        }
+        return value === value ? value : 0;
+      }
+      function toInteger(value) {
+        var result22 = toFinite(value), remainder = result22 % 1;
+        return result22 === result22 ? remainder ? result22 - remainder : result22 : 0;
+      }
+      function toLength(value) {
+        return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
+      }
+      function toNumber2(value) {
+        if (typeof value == "number") {
+          return value;
+        }
+        if (isSymbol(value)) {
+          return NAN;
+        }
+        if (isObject2(value)) {
+          var other = typeof value.valueOf == "function" ? value.valueOf() : value;
+          value = isObject2(other) ? other + "" : other;
+        }
+        if (typeof value != "string") {
+          return value === 0 ? value : +value;
+        }
+        value = baseTrim(value);
+        var isBinary = reIsBinary.test(value);
+        return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
+      }
+      function toPlainObject(value) {
+        return copyObject(value, keysIn(value));
+      }
+      function toSafeInteger(value) {
+        return value ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER2, MAX_SAFE_INTEGER2) : value === 0 ? value : 0;
+      }
+      function toString32(value) {
+        return value == null ? "" : baseToString(value);
+      }
+      var assign = createAssigner(function(object, source2) {
+        if (isPrototype(source2) || isArrayLike2(source2)) {
+          copyObject(source2, keys2(source2), object);
+          return;
+        }
+        for (var key2 in source2) {
+          if (hasOwnProperty2.call(source2, key2)) {
+            assignValue(object, key2, source2[key2]);
+          }
+        }
+      });
+      var assignIn = createAssigner(function(object, source2) {
+        copyObject(source2, keysIn(source2), object);
+      });
+      var assignInWith = createAssigner(function(object, source2, srcIndex, customizer) {
+        copyObject(source2, keysIn(source2), object, customizer);
+      });
+      var assignWith = createAssigner(function(object, source2, srcIndex, customizer) {
+        copyObject(source2, keys2(source2), object, customizer);
+      });
+      var at = flatRest(baseAt);
+      function create2(prototype2, properties) {
+        var result22 = baseCreate(prototype2);
+        return properties == null ? result22 : baseAssign(result22, properties);
+      }
+      var defaults2 = baseRest(function(object, sources) {
+        object = Object2(object);
+        var index3 = -1;
+        var length2 = sources.length;
+        var guard = length2 > 2 ? sources[2] : undefined$1;
+        if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+          length2 = 1;
+        }
+        while (++index3 < length2) {
+          var source2 = sources[index3];
+          var props2 = keysIn(source2);
+          var propsIndex = -1;
+          var propsLength = props2.length;
+          while (++propsIndex < propsLength) {
+            var key2 = props2[propsIndex];
+            var value = object[key2];
+            if (value === undefined$1 || eq(value, objectProto[key2]) && !hasOwnProperty2.call(object, key2)) {
+              object[key2] = source2[key2];
+            }
+          }
+        }
+        return object;
+      });
+      var defaultsDeep = baseRest(function(args) {
+        args.push(undefined$1, customDefaultsMerge);
+        return apply(mergeWith, undefined$1, args);
+      });
+      function findKey2(object, predicate) {
+        return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);
+      }
+      function findLastKey(object, predicate) {
+        return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);
+      }
+      function forIn(object, iteratee2) {
+        return object == null ? object : baseFor(object, getIteratee(iteratee2, 3), keysIn);
+      }
+      function forInRight(object, iteratee2) {
+        return object == null ? object : baseForRight(object, getIteratee(iteratee2, 3), keysIn);
+      }
+      function forOwn(object, iteratee2) {
+        return object && baseForOwn(object, getIteratee(iteratee2, 3));
+      }
+      function forOwnRight(object, iteratee2) {
+        return object && baseForOwnRight(object, getIteratee(iteratee2, 3));
+      }
+      function functions(object) {
+        return object == null ? [] : baseFunctions(object, keys2(object));
+      }
+      function functionsIn(object) {
+        return object == null ? [] : baseFunctions(object, keysIn(object));
+      }
+      function get2(object, path2, defaultValue) {
+        var result22 = object == null ? undefined$1 : baseGet(object, path2);
+        return result22 === undefined$1 ? defaultValue : result22;
+      }
+      function has2(object, path2) {
+        return object != null && hasPath(object, path2, baseHas);
+      }
+      function hasIn(object, path2) {
+        return object != null && hasPath(object, path2, baseHasIn);
+      }
+      var invert2 = createInverter(function(result22, value, key2) {
+        if (value != null && typeof value.toString != "function") {
+          value = nativeObjectToString.call(value);
+        }
+        result22[value] = key2;
+      }, constant2(identity2));
+      var invertBy = createInverter(function(result22, value, key2) {
+        if (value != null && typeof value.toString != "function") {
+          value = nativeObjectToString.call(value);
+        }
+        if (hasOwnProperty2.call(result22, value)) {
+          result22[value].push(key2);
+        } else {
+          result22[value] = [key2];
+        }
+      }, getIteratee);
+      var invoke = baseRest(baseInvoke);
+      function keys2(object) {
+        return isArrayLike2(object) ? arrayLikeKeys(object) : baseKeys(object);
+      }
+      function keysIn(object) {
+        return isArrayLike2(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
+      }
+      function mapKeys(object, iteratee2) {
+        var result22 = {};
+        iteratee2 = getIteratee(iteratee2, 3);
+        baseForOwn(object, function(value, key2, object2) {
+          baseAssignValue(result22, iteratee2(value, key2, object2), value);
+        });
+        return result22;
+      }
+      function mapValues(object, iteratee2) {
+        var result22 = {};
+        iteratee2 = getIteratee(iteratee2, 3);
+        baseForOwn(object, function(value, key2, object2) {
+          baseAssignValue(result22, key2, iteratee2(value, key2, object2));
+        });
+        return result22;
+      }
+      var merge2 = createAssigner(function(object, source2, srcIndex) {
+        baseMerge(object, source2, srcIndex);
+      });
+      var mergeWith = createAssigner(function(object, source2, srcIndex, customizer) {
+        baseMerge(object, source2, srcIndex, customizer);
+      });
+      var omit = flatRest(function(object, paths) {
+        var result22 = {};
+        if (object == null) {
+          return result22;
+        }
+        var isDeep = false;
+        paths = arrayMap(paths, function(path2) {
+          path2 = castPath(path2, object);
+          isDeep || (isDeep = path2.length > 1);
+          return path2;
+        });
+        copyObject(object, getAllKeysIn(object), result22);
+        if (isDeep) {
+          result22 = baseClone(result22, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
+        }
+        var length2 = paths.length;
+        while (length2--) {
+          baseUnset(result22, paths[length2]);
+        }
+        return result22;
+      });
+      function omitBy(object, predicate) {
+        return pickBy(object, negate2(getIteratee(predicate)));
+      }
+      var pick = flatRest(function(object, paths) {
+        return object == null ? {} : basePick(object, paths);
+      });
+      function pickBy(object, predicate) {
+        if (object == null) {
+          return {};
+        }
+        var props2 = arrayMap(getAllKeysIn(object), function(prop2) {
+          return [prop2];
+        });
+        predicate = getIteratee(predicate);
+        return basePickBy(object, props2, function(value, path2) {
+          return predicate(value, path2[0]);
+        });
+      }
+      function result2(object, path2, defaultValue) {
+        path2 = castPath(path2, object);
+        var index3 = -1, length2 = path2.length;
+        if (!length2) {
+          length2 = 1;
+          object = undefined$1;
+        }
+        while (++index3 < length2) {
+          var value = object == null ? undefined$1 : object[toKey(path2[index3])];
+          if (value === undefined$1) {
+            index3 = length2;
+            value = defaultValue;
+          }
+          object = isFunction2(value) ? value.call(object) : value;
+        }
+        return object;
+      }
+      function set2(object, path2, value) {
+        return object == null ? object : baseSet(object, path2, value);
+      }
+      function setWith(object, path2, value, customizer) {
+        customizer = typeof customizer == "function" ? customizer : undefined$1;
+        return object == null ? object : baseSet(object, path2, value, customizer);
+      }
+      var toPairs = createToPairs(keys2);
+      var toPairsIn = createToPairs(keysIn);
+      function transform3(object, iteratee2, accumulator) {
+        var isArr = isArray2(object), isArrLike = isArr || isBuffer2(object) || isTypedArray2(object);
+        iteratee2 = getIteratee(iteratee2, 4);
+        if (accumulator == null) {
+          var Ctor = object && object.constructor;
+          if (isArrLike) {
+            accumulator = isArr ? new Ctor() : [];
+          } else if (isObject2(object)) {
+            accumulator = isFunction2(Ctor) ? baseCreate(getPrototype(object)) : {};
+          } else {
+            accumulator = {};
+          }
+        }
+        (isArrLike ? arrayEach : baseForOwn)(object, function(value, index3, object2) {
+          return iteratee2(accumulator, value, index3, object2);
+        });
+        return accumulator;
+      }
+      function unset(object, path2) {
+        return object == null ? true : baseUnset(object, path2);
+      }
+      function update(object, path2, updater) {
+        return object == null ? object : baseUpdate(object, path2, castFunction(updater));
+      }
+      function updateWith(object, path2, updater, customizer) {
+        customizer = typeof customizer == "function" ? customizer : undefined$1;
+        return object == null ? object : baseUpdate(object, path2, castFunction(updater), customizer);
+      }
+      function values(object) {
+        return object == null ? [] : baseValues(object, keys2(object));
+      }
+      function valuesIn(object) {
+        return object == null ? [] : baseValues(object, keysIn(object));
+      }
+      function clamp2(number2, lower, upper) {
+        if (upper === undefined$1) {
+          upper = lower;
+          lower = undefined$1;
+        }
+        if (upper !== undefined$1) {
+          upper = toNumber2(upper);
+          upper = upper === upper ? upper : 0;
+        }
+        if (lower !== undefined$1) {
+          lower = toNumber2(lower);
+          lower = lower === lower ? lower : 0;
+        }
+        return baseClamp(toNumber2(number2), lower, upper);
+      }
+      function inRange(number2, start2, end2) {
+        start2 = toFinite(start2);
+        if (end2 === undefined$1) {
+          end2 = start2;
+          start2 = 0;
+        } else {
+          end2 = toFinite(end2);
+        }
+        number2 = toNumber2(number2);
+        return baseInRange(number2, start2, end2);
+      }
+      function random2(lower, upper, floating) {
+        if (floating && typeof floating != "boolean" && isIterateeCall(lower, upper, floating)) {
+          upper = floating = undefined$1;
+        }
+        if (floating === undefined$1) {
+          if (typeof upper == "boolean") {
+            floating = upper;
+            upper = undefined$1;
+          } else if (typeof lower == "boolean") {
+            floating = lower;
+            lower = undefined$1;
+          }
+        }
+        if (lower === undefined$1 && upper === undefined$1) {
+          lower = 0;
+          upper = 1;
+        } else {
+          lower = toFinite(lower);
+          if (upper === undefined$1) {
+            upper = lower;
+            lower = 0;
+          } else {
+            upper = toFinite(upper);
+          }
+        }
+        if (lower > upper) {
+          var temp = lower;
+          lower = upper;
+          upper = temp;
+        }
+        if (floating || lower % 1 || upper % 1) {
+          var rand = nativeRandom();
+          return nativeMin(lower + rand * (upper - lower + freeParseFloat("1e-" + ((rand + "").length - 1))), upper);
+        }
+        return baseRandom(lower, upper);
+      }
+      var camelCase2 = createCompounder(function(result22, word2, index3) {
+        word2 = word2.toLowerCase();
+        return result22 + (index3 ? capitalize2(word2) : word2);
+      });
+      function capitalize2(string) {
+        return upperFirst(toString32(string).toLowerCase());
+      }
+      function deburr(string) {
+        string = toString32(string);
+        return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
+      }
+      function endsWith2(string, target, position2) {
+        string = toString32(string);
+        target = baseToString(target);
+        var length2 = string.length;
+        position2 = position2 === undefined$1 ? length2 : baseClamp(toInteger(position2), 0, length2);
+        var end2 = position2;
+        position2 -= target.length;
+        return position2 >= 0 && string.slice(position2, end2) == target;
+      }
+      function escape2(string) {
+        string = toString32(string);
+        return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string;
+      }
+      function escapeRegExp(string) {
+        string = toString32(string);
+        return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string;
+      }
+      var kebabCase = createCompounder(function(result22, word2, index3) {
+        return result22 + (index3 ? "-" : "") + word2.toLowerCase();
+      });
+      var lowerCase = createCompounder(function(result22, word2, index3) {
+        return result22 + (index3 ? " " : "") + word2.toLowerCase();
+      });
+      var lowerFirst = createCaseFirst("toLowerCase");
+      function pad2(string, length2, chars) {
+        string = toString32(string);
+        length2 = toInteger(length2);
+        var strLength = length2 ? stringSize(string) : 0;
+        if (!length2 || strLength >= length2) {
+          return string;
+        }
+        var mid = (length2 - strLength) / 2;
+        return createPadding(nativeFloor(mid), chars) + string + createPadding(nativeCeil(mid), chars);
+      }
+      function padEnd(string, length2, chars) {
+        string = toString32(string);
+        length2 = toInteger(length2);
+        var strLength = length2 ? stringSize(string) : 0;
+        return length2 && strLength < length2 ? string + createPadding(length2 - strLength, chars) : string;
+      }
+      function padStart(string, length2, chars) {
+        string = toString32(string);
+        length2 = toInteger(length2);
+        var strLength = length2 ? stringSize(string) : 0;
+        return length2 && strLength < length2 ? createPadding(length2 - strLength, chars) + string : string;
+      }
+      function parseInt2(string, radix, guard) {
+        if (guard || radix == null) {
+          radix = 0;
+        } else if (radix) {
+          radix = +radix;
+        }
+        return nativeParseInt(toString32(string).replace(reTrimStart, ""), radix || 0);
+      }
+      function repeat(string, n2, guard) {
+        if (guard ? isIterateeCall(string, n2, guard) : n2 === undefined$1) {
+          n2 = 1;
+        } else {
+          n2 = toInteger(n2);
+        }
+        return baseRepeat(toString32(string), n2);
+      }
+      function replace() {
+        var args = arguments, string = toString32(args[0]);
+        return args.length < 3 ? string : string.replace(args[1], args[2]);
+      }
+      var snakeCase = createCompounder(function(result22, word2, index3) {
+        return result22 + (index3 ? "_" : "") + word2.toLowerCase();
+      });
+      function split2(string, separator, limit) {
+        if (limit && typeof limit != "number" && isIterateeCall(string, separator, limit)) {
+          separator = limit = undefined$1;
+        }
+        limit = limit === undefined$1 ? MAX_ARRAY_LENGTH : limit >>> 0;
+        if (!limit) {
+          return [];
+        }
+        string = toString32(string);
+        if (string && (typeof separator == "string" || separator != null && !isRegExp2(separator))) {
+          separator = baseToString(separator);
+          if (!separator && hasUnicode(string)) {
+            return castSlice(stringToArray(string), 0, limit);
+          }
+        }
+        return string.split(separator, limit);
+      }
+      var startCase = createCompounder(function(result22, word2, index3) {
+        return result22 + (index3 ? " " : "") + upperFirst(word2);
+      });
+      function startsWith(string, target, position2) {
+        string = toString32(string);
+        position2 = position2 == null ? 0 : baseClamp(toInteger(position2), 0, string.length);
+        target = baseToString(target);
+        return string.slice(position2, position2 + target.length) == target;
+      }
+      function template3(string, options2, guard) {
+        var settings = lodash2.templateSettings;
+        if (guard && isIterateeCall(string, options2, guard)) {
+          options2 = undefined$1;
+        }
+        string = toString32(string);
+        options2 = assignInWith({}, options2, settings, customDefaultsAssignIn);
+        var imports = assignInWith({}, options2.imports, settings.imports, customDefaultsAssignIn), importsKeys = keys2(imports), importsValues = baseValues(imports, importsKeys);
+        var isEscaping, isEvaluating, index3 = 0, interpolate2 = options2.interpolate || reNoMatch, source2 = "__p += '";
+        var reDelimiters = RegExp2(
+          (options2.escape || reNoMatch).source + "|" + interpolate2.source + "|" + (interpolate2 === reInterpolate ? reEsTemplate : reNoMatch).source + "|" + (options2.evaluate || reNoMatch).source + "|$",
+          "g"
+        );
+        var sourceURL = "//# sourceURL=" + (hasOwnProperty2.call(options2, "sourceURL") ? (options2.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++templateCounter + "]") + "\n";
+        string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset2) {
+          interpolateValue || (interpolateValue = esTemplateValue);
+          source2 += string.slice(index3, offset2).replace(reUnescapedString, escapeStringChar);
+          if (escapeValue) {
+            isEscaping = true;
+            source2 += "' +\n__e(" + escapeValue + ") +\n'";
+          }
+          if (evaluateValue) {
+            isEvaluating = true;
+            source2 += "';\n" + evaluateValue + ";\n__p += '";
+          }
+          if (interpolateValue) {
+            source2 += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
+          }
+          index3 = offset2 + match.length;
+          return match;
+        });
+        source2 += "';\n";
+        var variable = hasOwnProperty2.call(options2, "variable") && options2.variable;
+        if (!variable) {
+          source2 = "with (obj) {\n" + source2 + "\n}\n";
+        } else if (reForbiddenIdentifierChars.test(variable)) {
+          throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT);
+        }
+        source2 = (isEvaluating ? source2.replace(reEmptyStringLeading, "") : source2).replace(reEmptyStringMiddle, "$1").replace(reEmptyStringTrailing, "$1;");
+        source2 = "function(" + (variable || "obj") + ") {\n" + (variable ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (isEscaping ? ", __e = _.escape" : "") + (isEvaluating ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + source2 + "return __p\n}";
+        var result22 = attempt(function() {
+          return Function2(importsKeys, sourceURL + "return " + source2).apply(undefined$1, importsValues);
+        });
+        result22.source = source2;
+        if (isError(result22)) {
+          throw result22;
+        }
+        return result22;
+      }
+      function toLower(value) {
+        return toString32(value).toLowerCase();
+      }
+      function toUpper(value) {
+        return toString32(value).toUpperCase();
+      }
+      function trim2(string, chars, guard) {
+        string = toString32(string);
+        if (string && (guard || chars === undefined$1)) {
+          return baseTrim(string);
+        }
+        if (!string || !(chars = baseToString(chars))) {
+          return string;
+        }
+        var strSymbols = stringToArray(string), chrSymbols = stringToArray(chars), start2 = charsStartIndex(strSymbols, chrSymbols), end2 = charsEndIndex(strSymbols, chrSymbols) + 1;
+        return castSlice(strSymbols, start2, end2).join("");
+      }
+      function trimEnd(string, chars, guard) {
+        string = toString32(string);
+        if (string && (guard || chars === undefined$1)) {
+          return string.slice(0, trimmedEndIndex(string) + 1);
+        }
+        if (!string || !(chars = baseToString(chars))) {
+          return string;
+        }
+        var strSymbols = stringToArray(string), end2 = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
+        return castSlice(strSymbols, 0, end2).join("");
+      }
+      function trimStart(string, chars, guard) {
+        string = toString32(string);
+        if (string && (guard || chars === undefined$1)) {
+          return string.replace(reTrimStart, "");
+        }
+        if (!string || !(chars = baseToString(chars))) {
+          return string;
+        }
+        var strSymbols = stringToArray(string), start2 = charsStartIndex(strSymbols, stringToArray(chars));
+        return castSlice(strSymbols, start2).join("");
+      }
+      function truncate2(string, options2) {
+        var length2 = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION;
+        if (isObject2(options2)) {
+          var separator = "separator" in options2 ? options2.separator : separator;
+          length2 = "length" in options2 ? toInteger(options2.length) : length2;
+          omission = "omission" in options2 ? baseToString(options2.omission) : omission;
+        }
+        string = toString32(string);
+        var strLength = string.length;
+        if (hasUnicode(string)) {
+          var strSymbols = stringToArray(string);
+          strLength = strSymbols.length;
+        }
+        if (length2 >= strLength) {
+          return string;
+        }
+        var end2 = length2 - stringSize(omission);
+        if (end2 < 1) {
+          return omission;
+        }
+        var result22 = strSymbols ? castSlice(strSymbols, 0, end2).join("") : string.slice(0, end2);
+        if (separator === undefined$1) {
+          return result22 + omission;
+        }
+        if (strSymbols) {
+          end2 += result22.length - end2;
+        }
+        if (isRegExp2(separator)) {
+          if (string.slice(end2).search(separator)) {
+            var match, substring = result22;
+            if (!separator.global) {
+              separator = RegExp2(separator.source, toString32(reFlags.exec(separator)) + "g");
+            }
+            separator.lastIndex = 0;
+            while (match = separator.exec(substring)) {
+              var newEnd = match.index;
+            }
+            result22 = result22.slice(0, newEnd === undefined$1 ? end2 : newEnd);
+          }
+        } else if (string.indexOf(baseToString(separator), end2) != end2) {
+          var index3 = result22.lastIndexOf(separator);
+          if (index3 > -1) {
+            result22 = result22.slice(0, index3);
+          }
+        }
+        return result22 + omission;
+      }
+      function unescape2(string) {
+        string = toString32(string);
+        return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string;
+      }
+      var upperCase = createCompounder(function(result22, word2, index3) {
+        return result22 + (index3 ? " " : "") + word2.toUpperCase();
+      });
+      var upperFirst = createCaseFirst("toUpperCase");
+      function words(string, pattern, guard) {
+        string = toString32(string);
+        pattern = guard ? undefined$1 : pattern;
+        if (pattern === undefined$1) {
+          return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
+        }
+        return string.match(pattern) || [];
+      }
+      var attempt = baseRest(function(func, args) {
+        try {
+          return apply(func, undefined$1, args);
+        } catch (e2) {
+          return isError(e2) ? e2 : new Error2(e2);
+        }
+      });
+      var bindAll = flatRest(function(object, methodNames) {
+        arrayEach(methodNames, function(key2) {
+          key2 = toKey(key2);
+          baseAssignValue(object, key2, bind32(object[key2], object));
+        });
+        return object;
+      });
+      function cond(pairs) {
+        var length2 = pairs == null ? 0 : pairs.length, toIteratee = getIteratee();
+        pairs = !length2 ? [] : arrayMap(pairs, function(pair) {
+          if (typeof pair[1] != "function") {
+            throw new TypeError2(FUNC_ERROR_TEXT);
+          }
+          return [toIteratee(pair[0]), pair[1]];
+        });
+        return baseRest(function(args) {
+          var index3 = -1;
+          while (++index3 < length2) {
+            var pair = pairs[index3];
+            if (apply(pair[0], this, args)) {
+              return apply(pair[1], this, args);
+            }
+          }
+        });
+      }
+      function conforms(source2) {
+        return baseConforms(baseClone(source2, CLONE_DEEP_FLAG));
+      }
+      function constant2(value) {
+        return function() {
+          return value;
+        };
+      }
+      function defaultTo(value, defaultValue) {
+        return value == null || value !== value ? defaultValue : value;
+      }
+      var flow = createFlow();
+      var flowRight = createFlow(true);
+      function identity2(value) {
+        return value;
+      }
+      function iteratee(func) {
+        return baseIteratee(typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG));
+      }
+      function matches(source2) {
+        return baseMatches(baseClone(source2, CLONE_DEEP_FLAG));
+      }
+      function matchesProperty(path2, srcValue) {
+        return baseMatchesProperty(path2, baseClone(srcValue, CLONE_DEEP_FLAG));
+      }
+      var method = baseRest(function(path2, args) {
+        return function(object) {
+          return baseInvoke(object, path2, args);
+        };
+      });
+      var methodOf = baseRest(function(object, args) {
+        return function(path2) {
+          return baseInvoke(object, path2, args);
+        };
+      });
+      function mixin2(object, source2, options2) {
+        var props2 = keys2(source2), methodNames = baseFunctions(source2, props2);
+        if (options2 == null && !(isObject2(source2) && (methodNames.length || !props2.length))) {
+          options2 = source2;
+          source2 = object;
+          object = this;
+          methodNames = baseFunctions(source2, keys2(source2));
+        }
+        var chain2 = !(isObject2(options2) && "chain" in options2) || !!options2.chain, isFunc = isFunction2(object);
+        arrayEach(methodNames, function(methodName) {
+          var func = source2[methodName];
+          object[methodName] = func;
+          if (isFunc) {
+            object.prototype[methodName] = function() {
+              var chainAll = this.__chain__;
+              if (chain2 || chainAll) {
+                var result22 = object(this.__wrapped__), actions2 = result22.__actions__ = copyArray2(this.__actions__);
+                actions2.push({ "func": func, "args": arguments, "thisArg": object });
+                result22.__chain__ = chainAll;
+                return result22;
+              }
+              return func.apply(object, arrayPush([this.value()], arguments));
+            };
+          }
+        });
+        return object;
+      }
+      function noConflict() {
+        if (root._ === this) {
+          root._ = oldDash;
+        }
+        return this;
+      }
+      function noop2() {
+      }
+      function nthArg(n2) {
+        n2 = toInteger(n2);
+        return baseRest(function(args) {
+          return baseNth(args, n2);
+        });
+      }
+      var over = createOver(arrayMap);
+      var overEvery = createOver(arrayEvery);
+      var overSome = createOver(arraySome);
+      function property(path2) {
+        return isKey(path2) ? baseProperty(toKey(path2)) : basePropertyDeep(path2);
+      }
+      function propertyOf(object) {
+        return function(path2) {
+          return object == null ? undefined$1 : baseGet(object, path2);
+        };
+      }
+      var range2 = createRange();
+      var rangeRight = createRange(true);
+      function stubArray() {
+        return [];
+      }
+      function stubFalse() {
+        return false;
+      }
+      function stubObject() {
+        return {};
+      }
+      function stubString() {
+        return "";
+      }
+      function stubTrue() {
+        return true;
+      }
+      function times(n2, iteratee2) {
+        n2 = toInteger(n2);
+        if (n2 < 1 || n2 > MAX_SAFE_INTEGER2) {
+          return [];
+        }
+        var index3 = MAX_ARRAY_LENGTH, length2 = nativeMin(n2, MAX_ARRAY_LENGTH);
+        iteratee2 = getIteratee(iteratee2);
+        n2 -= MAX_ARRAY_LENGTH;
+        var result22 = baseTimes(length2, iteratee2);
+        while (++index3 < n2) {
+          iteratee2(index3);
+        }
+        return result22;
+      }
+      function toPath(value) {
+        if (isArray2(value)) {
+          return arrayMap(value, toKey);
+        }
+        return isSymbol(value) ? [value] : copyArray2(stringToPath(toString32(value)));
+      }
+      function uniqueId(prefix) {
+        var id = ++idCounter;
+        return toString32(prefix) + id;
+      }
+      var add2 = createMathOperation(function(augend, addend) {
+        return augend + addend;
+      }, 0);
+      var ceil = createRound("ceil");
+      var divide = createMathOperation(function(dividend, divisor) {
+        return dividend / divisor;
+      }, 1);
+      var floor = createRound("floor");
+      function max3(array) {
+        return array && array.length ? baseExtremum(array, identity2, baseGt) : undefined$1;
+      }
+      function maxBy(array, iteratee2) {
+        return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseGt) : undefined$1;
+      }
+      function mean(array) {
+        return baseMean(array, identity2);
+      }
+      function meanBy(array, iteratee2) {
+        return baseMean(array, getIteratee(iteratee2, 2));
+      }
+      function min3(array) {
+        return array && array.length ? baseExtremum(array, identity2, baseLt) : undefined$1;
+      }
+      function minBy(array, iteratee2) {
+        return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseLt) : undefined$1;
+      }
+      var multiply = createMathOperation(function(multiplier, multiplicand) {
+        return multiplier * multiplicand;
+      }, 1);
+      var round2 = createRound("round");
+      var subtract = createMathOperation(function(minuend, subtrahend) {
+        return minuend - subtrahend;
+      }, 0);
+      function sum2(array) {
+        return array && array.length ? baseSum(array, identity2) : 0;
+      }
+      function sumBy(array, iteratee2) {
+        return array && array.length ? baseSum(array, getIteratee(iteratee2, 2)) : 0;
+      }
+      lodash2.after = after;
+      lodash2.ary = ary;
+      lodash2.assign = assign;
+      lodash2.assignIn = assignIn;
+      lodash2.assignInWith = assignInWith;
+      lodash2.assignWith = assignWith;
+      lodash2.at = at;
+      lodash2.before = before;
+      lodash2.bind = bind32;
+      lodash2.bindAll = bindAll;
+      lodash2.bindKey = bindKey;
+      lodash2.castArray = castArray;
+      lodash2.chain = chain;
+      lodash2.chunk = chunk;
+      lodash2.compact = compact;
+      lodash2.concat = concat;
+      lodash2.cond = cond;
+      lodash2.conforms = conforms;
+      lodash2.constant = constant2;
+      lodash2.countBy = countBy;
+      lodash2.create = create2;
+      lodash2.curry = curry2;
+      lodash2.curryRight = curryRight;
+      lodash2.debounce = debounce;
+      lodash2.defaults = defaults2;
+      lodash2.defaultsDeep = defaultsDeep;
+      lodash2.defer = defer;
+      lodash2.delay = delay;
+      lodash2.difference = difference;
+      lodash2.differenceBy = differenceBy;
+      lodash2.differenceWith = differenceWith;
+      lodash2.drop = drop;
+      lodash2.dropRight = dropRight;
+      lodash2.dropRightWhile = dropRightWhile;
+      lodash2.dropWhile = dropWhile;
+      lodash2.fill = fill;
+      lodash2.filter = filter4;
+      lodash2.flatMap = flatMap;
+      lodash2.flatMapDeep = flatMapDeep;
+      lodash2.flatMapDepth = flatMapDepth;
+      lodash2.flatten = flatten;
+      lodash2.flattenDeep = flattenDeep;
+      lodash2.flattenDepth = flattenDepth;
+      lodash2.flip = flip;
+      lodash2.flow = flow;
+      lodash2.flowRight = flowRight;
+      lodash2.fromPairs = fromPairs;
+      lodash2.functions = functions;
+      lodash2.functionsIn = functionsIn;
+      lodash2.groupBy = groupBy;
+      lodash2.initial = initial;
+      lodash2.intersection = intersection;
+      lodash2.intersectionBy = intersectionBy;
+      lodash2.intersectionWith = intersectionWith;
+      lodash2.invert = invert2;
+      lodash2.invertBy = invertBy;
+      lodash2.invokeMap = invokeMap;
+      lodash2.iteratee = iteratee;
+      lodash2.keyBy = keyBy;
+      lodash2.keys = keys2;
+      lodash2.keysIn = keysIn;
+      lodash2.map = map2;
+      lodash2.mapKeys = mapKeys;
+      lodash2.mapValues = mapValues;
+      lodash2.matches = matches;
+      lodash2.matchesProperty = matchesProperty;
+      lodash2.memoize = memoize;
+      lodash2.merge = merge2;
+      lodash2.mergeWith = mergeWith;
+      lodash2.method = method;
+      lodash2.methodOf = methodOf;
+      lodash2.mixin = mixin2;
+      lodash2.negate = negate2;
+      lodash2.nthArg = nthArg;
+      lodash2.omit = omit;
+      lodash2.omitBy = omitBy;
+      lodash2.once = once2;
+      lodash2.orderBy = orderBy;
+      lodash2.over = over;
+      lodash2.overArgs = overArgs;
+      lodash2.overEvery = overEvery;
+      lodash2.overSome = overSome;
+      lodash2.partial = partial;
+      lodash2.partialRight = partialRight;
+      lodash2.partition = partition;
+      lodash2.pick = pick;
+      lodash2.pickBy = pickBy;
+      lodash2.property = property;
+      lodash2.propertyOf = propertyOf;
+      lodash2.pull = pull;
+      lodash2.pullAll = pullAll;
+      lodash2.pullAllBy = pullAllBy;
+      lodash2.pullAllWith = pullAllWith;
+      lodash2.pullAt = pullAt;
+      lodash2.range = range2;
+      lodash2.rangeRight = rangeRight;
+      lodash2.rearg = rearg;
+      lodash2.reject = reject;
+      lodash2.remove = remove2;
+      lodash2.rest = rest;
+      lodash2.reverse = reverse2;
+      lodash2.sampleSize = sampleSize;
+      lodash2.set = set2;
+      lodash2.setWith = setWith;
+      lodash2.shuffle = shuffle;
+      lodash2.slice = slice2;
+      lodash2.sortBy = sortBy;
+      lodash2.sortedUniq = sortedUniq;
+      lodash2.sortedUniqBy = sortedUniqBy;
+      lodash2.split = split2;
+      lodash2.spread = spread3;
+      lodash2.tail = tail;
+      lodash2.take = take2;
+      lodash2.takeRight = takeRight;
+      lodash2.takeRightWhile = takeRightWhile;
+      lodash2.takeWhile = takeWhile;
+      lodash2.tap = tap2;
+      lodash2.throttle = throttle2;
+      lodash2.thru = thru;
+      lodash2.toArray = toArray2;
+      lodash2.toPairs = toPairs;
+      lodash2.toPairsIn = toPairsIn;
+      lodash2.toPath = toPath;
+      lodash2.toPlainObject = toPlainObject;
+      lodash2.transform = transform3;
+      lodash2.unary = unary;
+      lodash2.union = union;
+      lodash2.unionBy = unionBy;
+      lodash2.unionWith = unionWith;
+      lodash2.uniq = uniq;
+      lodash2.uniqBy = uniqBy;
+      lodash2.uniqWith = uniqWith;
+      lodash2.unset = unset;
+      lodash2.unzip = unzip;
+      lodash2.unzipWith = unzipWith;
+      lodash2.update = update;
+      lodash2.updateWith = updateWith;
+      lodash2.values = values;
+      lodash2.valuesIn = valuesIn;
+      lodash2.without = without;
+      lodash2.words = words;
+      lodash2.wrap = wrap;
+      lodash2.xor = xor;
+      lodash2.xorBy = xorBy;
+      lodash2.xorWith = xorWith;
+      lodash2.zip = zip;
+      lodash2.zipObject = zipObject;
+      lodash2.zipObjectDeep = zipObjectDeep;
+      lodash2.zipWith = zipWith;
+      lodash2.entries = toPairs;
+      lodash2.entriesIn = toPairsIn;
+      lodash2.extend = assignIn;
+      lodash2.extendWith = assignInWith;
+      mixin2(lodash2, lodash2);
+      lodash2.add = add2;
+      lodash2.attempt = attempt;
+      lodash2.camelCase = camelCase2;
+      lodash2.capitalize = capitalize2;
+      lodash2.ceil = ceil;
+      lodash2.clamp = clamp2;
+      lodash2.clone = clone2;
+      lodash2.cloneDeep = cloneDeep;
+      lodash2.cloneDeepWith = cloneDeepWith;
+      lodash2.cloneWith = cloneWith;
+      lodash2.conformsTo = conformsTo;
+      lodash2.deburr = deburr;
+      lodash2.defaultTo = defaultTo;
+      lodash2.divide = divide;
+      lodash2.endsWith = endsWith2;
+      lodash2.eq = eq;
+      lodash2.escape = escape2;
+      lodash2.escapeRegExp = escapeRegExp;
+      lodash2.every = every;
+      lodash2.find = find2;
+      lodash2.findIndex = findIndex;
+      lodash2.findKey = findKey2;
+      lodash2.findLast = findLast;
+      lodash2.findLastIndex = findLastIndex;
+      lodash2.findLastKey = findLastKey;
+      lodash2.floor = floor;
+      lodash2.forEach = forEach3;
+      lodash2.forEachRight = forEachRight;
+      lodash2.forIn = forIn;
+      lodash2.forInRight = forInRight;
+      lodash2.forOwn = forOwn;
+      lodash2.forOwnRight = forOwnRight;
+      lodash2.get = get2;
+      lodash2.gt = gt;
+      lodash2.gte = gte;
+      lodash2.has = has2;
+      lodash2.hasIn = hasIn;
+      lodash2.head = head;
+      lodash2.identity = identity2;
+      lodash2.includes = includes;
+      lodash2.indexOf = indexOf2;
+      lodash2.inRange = inRange;
+      lodash2.invoke = invoke;
+      lodash2.isArguments = isArguments;
+      lodash2.isArray = isArray2;
+      lodash2.isArrayBuffer = isArrayBuffer2;
+      lodash2.isArrayLike = isArrayLike2;
+      lodash2.isArrayLikeObject = isArrayLikeObject;
+      lodash2.isBoolean = isBoolean2;
+      lodash2.isBuffer = isBuffer2;
+      lodash2.isDate = isDate2;
+      lodash2.isElement = isElement;
+      lodash2.isEmpty = isEmpty;
+      lodash2.isEqual = isEqual2;
+      lodash2.isEqualWith = isEqualWith;
+      lodash2.isError = isError;
+      lodash2.isFinite = isFinite2;
+      lodash2.isFunction = isFunction2;
+      lodash2.isInteger = isInteger2;
+      lodash2.isLength = isLength2;
+      lodash2.isMap = isMap;
+      lodash2.isMatch = isMatch;
+      lodash2.isMatchWith = isMatchWith;
+      lodash2.isNaN = isNaN2;
+      lodash2.isNative = isNative;
+      lodash2.isNil = isNil;
+      lodash2.isNull = isNull2;
+      lodash2.isNumber = isNumber2;
+      lodash2.isObject = isObject2;
+      lodash2.isObjectLike = isObjectLike;
+      lodash2.isPlainObject = isPlainObject2;
+      lodash2.isRegExp = isRegExp2;
+      lodash2.isSafeInteger = isSafeInteger;
+      lodash2.isSet = isSet;
+      lodash2.isString = isString2;
+      lodash2.isSymbol = isSymbol;
+      lodash2.isTypedArray = isTypedArray2;
+      lodash2.isUndefined = isUndefined2;
+      lodash2.isWeakMap = isWeakMap;
+      lodash2.isWeakSet = isWeakSet;
+      lodash2.join = join;
+      lodash2.kebabCase = kebabCase;
+      lodash2.last = last;
+      lodash2.lastIndexOf = lastIndexOf;
+      lodash2.lowerCase = lowerCase;
+      lodash2.lowerFirst = lowerFirst;
+      lodash2.lt = lt2;
+      lodash2.lte = lte;
+      lodash2.max = max3;
+      lodash2.maxBy = maxBy;
+      lodash2.mean = mean;
+      lodash2.meanBy = meanBy;
+      lodash2.min = min3;
+      lodash2.minBy = minBy;
+      lodash2.stubArray = stubArray;
+      lodash2.stubFalse = stubFalse;
+      lodash2.stubObject = stubObject;
+      lodash2.stubString = stubString;
+      lodash2.stubTrue = stubTrue;
+      lodash2.multiply = multiply;
+      lodash2.nth = nth;
+      lodash2.noConflict = noConflict;
+      lodash2.noop = noop2;
+      lodash2.now = now;
+      lodash2.pad = pad2;
+      lodash2.padEnd = padEnd;
+      lodash2.padStart = padStart;
+      lodash2.parseInt = parseInt2;
+      lodash2.random = random2;
+      lodash2.reduce = reduce2;
+      lodash2.reduceRight = reduceRight;
+      lodash2.repeat = repeat;
+      lodash2.replace = replace;
+      lodash2.result = result2;
+      lodash2.round = round2;
+      lodash2.runInContext = runInContext2;
+      lodash2.sample = sample;
+      lodash2.size = size;
+      lodash2.snakeCase = snakeCase;
+      lodash2.some = some;
+      lodash2.sortedIndex = sortedIndex;
+      lodash2.sortedIndexBy = sortedIndexBy;
+      lodash2.sortedIndexOf = sortedIndexOf;
+      lodash2.sortedLastIndex = sortedLastIndex;
+      lodash2.sortedLastIndexBy = sortedLastIndexBy;
+      lodash2.sortedLastIndexOf = sortedLastIndexOf;
+      lodash2.startCase = startCase;
+      lodash2.startsWith = startsWith;
+      lodash2.subtract = subtract;
+      lodash2.sum = sum2;
+      lodash2.sumBy = sumBy;
+      lodash2.template = template3;
+      lodash2.times = times;
+      lodash2.toFinite = toFinite;
+      lodash2.toInteger = toInteger;
+      lodash2.toLength = toLength;
+      lodash2.toLower = toLower;
+      lodash2.toNumber = toNumber2;
+      lodash2.toSafeInteger = toSafeInteger;
+      lodash2.toString = toString32;
+      lodash2.toUpper = toUpper;
+      lodash2.trim = trim2;
+      lodash2.trimEnd = trimEnd;
+      lodash2.trimStart = trimStart;
+      lodash2.truncate = truncate2;
+      lodash2.unescape = unescape2;
+      lodash2.uniqueId = uniqueId;
+      lodash2.upperCase = upperCase;
+      lodash2.upperFirst = upperFirst;
+      lodash2.each = forEach3;
+      lodash2.eachRight = forEachRight;
+      lodash2.first = head;
+      mixin2(lodash2, function() {
+        var source2 = {};
+        baseForOwn(lodash2, function(func, methodName) {
+          if (!hasOwnProperty2.call(lodash2.prototype, methodName)) {
+            source2[methodName] = func;
+          }
+        });
+        return source2;
+      }(), { "chain": false });
+      lodash2.VERSION = VERSION2;
+      arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
+        lodash2[methodName].placeholder = lodash2;
+      });
+      arrayEach(["drop", "take"], function(methodName, index3) {
+        LazyWrapper.prototype[methodName] = function(n2) {
+          n2 = n2 === undefined$1 ? 1 : nativeMax(toInteger(n2), 0);
+          var result22 = this.__filtered__ && !index3 ? new LazyWrapper(this) : this.clone();
+          if (result22.__filtered__) {
+            result22.__takeCount__ = nativeMin(n2, result22.__takeCount__);
+          } else {
+            result22.__views__.push({
+              "size": nativeMin(n2, MAX_ARRAY_LENGTH),
+              "type": methodName + (result22.__dir__ < 0 ? "Right" : "")
+            });
+          }
+          return result22;
+        };
+        LazyWrapper.prototype[methodName + "Right"] = function(n2) {
+          return this.reverse()[methodName](n2).reverse();
+        };
+      });
+      arrayEach(["filter", "map", "takeWhile"], function(methodName, index3) {
+        var type2 = index3 + 1, isFilter = type2 == LAZY_FILTER_FLAG || type2 == LAZY_WHILE_FLAG;
+        LazyWrapper.prototype[methodName] = function(iteratee2) {
+          var result22 = this.clone();
+          result22.__iteratees__.push({
+            "iteratee": getIteratee(iteratee2, 3),
+            "type": type2
+          });
+          result22.__filtered__ = result22.__filtered__ || isFilter;
+          return result22;
+        };
+      });
+      arrayEach(["head", "last"], function(methodName, index3) {
+        var takeName = "take" + (index3 ? "Right" : "");
+        LazyWrapper.prototype[methodName] = function() {
+          return this[takeName](1).value()[0];
+        };
+      });
+      arrayEach(["initial", "tail"], function(methodName, index3) {
+        var dropName = "drop" + (index3 ? "" : "Right");
+        LazyWrapper.prototype[methodName] = function() {
+          return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
+        };
+      });
+      LazyWrapper.prototype.compact = function() {
+        return this.filter(identity2);
+      };
+      LazyWrapper.prototype.find = function(predicate) {
+        return this.filter(predicate).head();
+      };
+      LazyWrapper.prototype.findLast = function(predicate) {
+        return this.reverse().find(predicate);
+      };
+      LazyWrapper.prototype.invokeMap = baseRest(function(path2, args) {
+        if (typeof path2 == "function") {
+          return new LazyWrapper(this);
+        }
+        return this.map(function(value) {
+          return baseInvoke(value, path2, args);
+        });
+      });
+      LazyWrapper.prototype.reject = function(predicate) {
+        return this.filter(negate2(getIteratee(predicate)));
+      };
+      LazyWrapper.prototype.slice = function(start2, end2) {
+        start2 = toInteger(start2);
+        var result22 = this;
+        if (result22.__filtered__ && (start2 > 0 || end2 < 0)) {
+          return new LazyWrapper(result22);
+        }
+        if (start2 < 0) {
+          result22 = result22.takeRight(-start2);
+        } else if (start2) {
+          result22 = result22.drop(start2);
+        }
+        if (end2 !== undefined$1) {
+          end2 = toInteger(end2);
+          result22 = end2 < 0 ? result22.dropRight(-end2) : result22.take(end2 - start2);
+        }
+        return result22;
+      };
+      LazyWrapper.prototype.takeRightWhile = function(predicate) {
+        return this.reverse().takeWhile(predicate).reverse();
+      };
+      LazyWrapper.prototype.toArray = function() {
+        return this.take(MAX_ARRAY_LENGTH);
+      };
+      baseForOwn(LazyWrapper.prototype, function(func, methodName) {
+        var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash2[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName);
+        if (!lodashFunc) {
+          return;
+        }
+        lodash2.prototype[methodName] = function() {
+          var value = this.__wrapped__, args = isTaker ? [1] : arguments, isLazy = value instanceof LazyWrapper, iteratee2 = args[0], useLazy = isLazy || isArray2(value);
+          var interceptor = function(value2) {
+            var result3 = lodashFunc.apply(lodash2, arrayPush([value2], args));
+            return isTaker && chainAll ? result3[0] : result3;
+          };
+          if (useLazy && checkIteratee && typeof iteratee2 == "function" && iteratee2.length != 1) {
+            isLazy = useLazy = false;
+          }
+          var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid;
+          if (!retUnwrapped && useLazy) {
+            value = onlyLazy ? value : new LazyWrapper(this);
+            var result22 = func.apply(value, args);
+            result22.__actions__.push({ "func": thru, "args": [interceptor], "thisArg": undefined$1 });
+            return new LodashWrapper(result22, chainAll);
+          }
+          if (isUnwrapped && onlyLazy) {
+            return func.apply(this, args);
+          }
+          result22 = this.thru(interceptor);
+          return isUnwrapped ? isTaker ? result22.value()[0] : result22.value() : result22;
+        };
+      });
+      arrayEach(["pop", "push", "shift", "sort", "splice", "unshift"], function(methodName) {
+        var func = arrayProto2[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName);
+        lodash2.prototype[methodName] = function() {
+          var args = arguments;
+          if (retUnwrapped && !this.__chain__) {
+            var value = this.value();
+            return func.apply(isArray2(value) ? value : [], args);
+          }
+          return this[chainName](function(value2) {
+            return func.apply(isArray2(value2) ? value2 : [], args);
+          });
+        };
+      });
+      baseForOwn(LazyWrapper.prototype, function(func, methodName) {
+        var lodashFunc = lodash2[methodName];
+        if (lodashFunc) {
+          var key2 = lodashFunc.name + "";
+          if (!hasOwnProperty2.call(realNames, key2)) {
+            realNames[key2] = [];
+          }
+          realNames[key2].push({ "name": methodName, "func": lodashFunc });
+        }
+      });
+      realNames[createHybrid(undefined$1, WRAP_BIND_KEY_FLAG).name] = [{
+        "name": "wrapper",
+        "func": undefined$1
+      }];
+      LazyWrapper.prototype.clone = lazyClone;
+      LazyWrapper.prototype.reverse = lazyReverse;
+      LazyWrapper.prototype.value = lazyValue;
+      lodash2.prototype.at = wrapperAt;
+      lodash2.prototype.chain = wrapperChain;
+      lodash2.prototype.commit = wrapperCommit;
+      lodash2.prototype.next = wrapperNext;
+      lodash2.prototype.plant = wrapperPlant;
+      lodash2.prototype.reverse = wrapperReverse;
+      lodash2.prototype.toJSON = lodash2.prototype.valueOf = lodash2.prototype.value = wrapperValue;
+      lodash2.prototype.first = lodash2.prototype.head;
+      if (symIterator) {
+        lodash2.prototype[symIterator] = wrapperToIterator;
+      }
+      return lodash2;
+    };
+    var _2 = runInContext();
+    if (freeModule) {
+      (freeModule.exports = _2)._ = _2;
+      freeExports._ = _2;
+    } else {
+      root._ = _2;
+    }
+  }).call(commonjsGlobal);
+})(lodash, lodash.exports);
+function getUrlByPathParams(uri, pathParams) {
+  if (uri.includes("{")) {
+    const url = lodash.exports.template(uri)(pathParams);
+    if (url.includes("{")) {
+      throw new Error(`调用${uri} 时,传入的路由参数不足!`);
+    }
+    return url;
+  }
+  return uri;
+}
+function reqBuildBySigner(api2, req = {}, ak, sk) {
+  const signer = new Signer(ak, sk);
+  const headers = req.headers || {};
+  headers["x-stage"] = api2.run_env_name || "";
+  const reqOption = {
+    method: api2.req_method,
+    url: getUrlByPathParams(api2.req_uri, req.pathParams || {}),
+    headers,
+    body: req.body || "",
+    query: req.query
+  };
+  return signer.fetch(reqOption);
+}
+function reqBuildByFetch(api2, req = {}) {
+  req.headers = req.headers || {};
+  const reqOption = {
+    method: api2.req_method,
+    headers: {
+      ...req.headers,
+      "x-stage": api2.run_env_name || ""
+    }
+  };
+  if (api2.req_method !== "GET" && api2.req_method !== "HEAD") {
+    reqOption.body = req.body || "";
+  }
+  const url = getUrlByPathParams(api2.req_uri, req.pathParams || {});
+  return fetch(`${url}?${queryString.stringify(req.query)}`, reqOption);
+}
+const getFullUri = (req_protocol, sl_domain, req_uri) => {
+  let protocol = req_protocol.toLowerCase();
+  protocol = protocol === "both" ? "https" : protocol;
+  let uri = req_uri;
+  if (uri.includes("+")) {
+    uri = uri.replace(/\+/g, "");
+  }
+  return `${protocol}://${sl_domain}${req_uri}`;
+};
+class ApigClient {
+  constructor(config2) {
+    __publicField(this, "apigList", null);
+    this.config = config2;
+    if (config2.apigList && config2.apigGroupsList) {
+      const apigGroupsList = config2.apigGroupsList;
+      this.apigList = config2.apigList.map((apig) => {
+        const {
+          group_id,
+          id,
+          name: name2,
+          req_protocol,
+          req_method,
+          req_uri,
+          auth_type,
+          auth_opt,
+          match_mode,
+          cors,
+          run_env_name
+        } = apig;
+        const group = apigGroupsList.find((group2) => group2.id === group_id);
+        return {
+          id,
+          name: name2,
+          req_protocol,
+          req_method: req_method === "ANY" ? "POST" : req_method,
+          req_uri: getFullUri(req_protocol, group == null ? void 0 : group.sl_domain, req_uri),
+          auth_type,
+          auth_opt,
+          match_mode,
+          cors,
+          run_env_name,
+          group
+        };
+      }).filter((apig) => apig.req_method !== "OPTIONS" && apig.group);
+    }
+  }
+  exec(groupName, name2, data2) {
+    var _a2;
+    const apig = (_a2 = this.apigList) == null ? void 0 : _a2.find((a2) => {
+      var _a22;
+      return ((_a22 = a2.group) == null ? void 0 : _a22.name) === groupName && a2.name === name2;
+    });
+    if (apig) {
+      if (apig.auth_type === "NONE" || apig.auth_type === "AUTHORIZER") {
+        return reqBuildByFetch(apig, data2);
+      } else if (apig.auth_type === "IAM") {
+        return reqBuildBySigner(apig, data2, this.config.accessKey, this.config.secretKey);
+      } else {
+        return null;
+      }
+    } else {
+      return null;
+    }
+  }
+}
+function apigBuilder(config2) {
+  return new ApigClient(config2);
+}
+class HWCClient {
+  constructor() {
+    __publicField(this, "config");
+    __publicField(this, "signer");
+    __publicField(this, "obsClient");
+    __publicField(this, "apigClient");
+  }
+  configure(config2) {
+    this.config = config2;
+    this.signer = new Signer(config2.accessKey, config2.secretKey);
+    this.obsClient = obsBuilder(config2);
+    this.apigClient = apigBuilder(config2);
+  }
+}
+const HwcClient = new HWCClient();
+var __defProp = Object.defineProperty;
+var __defProps = Object.defineProperties;
+var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
+var __getOwnPropSymbols = Object.getOwnPropertySymbols;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __propIsEnum = Object.prototype.propertyIsEnumerable;
+var __defNormalProp = (obj2, key2, value) => key2 in obj2 ? __defProp(obj2, key2, { enumerable: true, configurable: true, writable: true, value }) : obj2[key2] = value;
+var __spreadValues = (a2, b2) => {
+  for (var prop2 in b2 || (b2 = {}))
+    if (__hasOwnProp.call(b2, prop2))
+      __defNormalProp(a2, prop2, b2[prop2]);
+  if (__getOwnPropSymbols)
+    for (var prop2 of __getOwnPropSymbols(b2)) {
+      if (__propIsEnum.call(b2, prop2))
+        __defNormalProp(a2, prop2, b2[prop2]);
+    }
+  return a2;
+};
+var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2));
+var __objRest = (source2, exclude) => {
+  var target = {};
+  for (var prop2 in source2)
+    if (__hasOwnProp.call(source2, prop2) && exclude.indexOf(prop2) < 0)
+      target[prop2] = source2[prop2];
+  if (source2 != null && __getOwnPropSymbols)
+    for (var prop2 of __getOwnPropSymbols(source2)) {
+      if (exclude.indexOf(prop2) < 0 && __propIsEnum.call(source2, prop2))
+        target[prop2] = source2[prop2];
+    }
+  return target;
+};
+const toString$1 = Object.prototype.toString;
+const hasOwn$1 = Object.prototype.hasOwnProperty;
+const getProto = Object.getPrototypeOf;
+const fnToString = hasOwn$1.toString;
+const ObjectFunctionString = fnToString.call(Object);
+const class2type = {
+  "[object Error]": "error",
+  "[object Object]": "object",
+  "[object RegExp]": "regExp",
+  "[object Date]": "date",
+  "[object Array]": "array",
+  "[object Function]": "function",
+  "[object AsyncFunction]": "asyncFunction",
+  "[object String]": "string",
+  "[object Number]": "number",
+  "[object Boolean]": "boolean"
+};
+const isNull$2 = (x2) => x2 === null || x2 === void 0;
+const typeOf = (obj2) => isNull$2(obj2) ? String(obj2) : class2type[toString$1.call(obj2)] || "object";
+const isObject$5 = (obj2) => typeOf(obj2) === "object";
+const isFunction$2 = (fn) => ["asyncFunction", "function"].includes(typeOf(fn));
+const isPlainObject$1 = (obj2) => {
+  if (!obj2 || toString$1.call(obj2) !== "[object Object]") {
+    return false;
+  }
+  const proto2 = getProto(obj2);
+  if (!proto2) {
+    return true;
+  }
+  const Ctor = hasOwn$1.call(proto2, "constructor") && proto2.constructor;
+  return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString;
+};
+const isEmptyObject = (obj2) => {
+  const type2 = typeOf(obj2);
+  if (type2 === "object" || type2 === "array") {
+    for (const name2 in obj2) {
+      if (hasOwn$1.call(obj2, name2)) {
+        return false;
+      }
+    }
+  }
+  return true;
+};
+const isNumber$2 = (value) => typeof value === "number" && isFinite(value);
+const isNumeric$1 = (value) => value - parseFloat(value) >= 0;
+const isDate$2 = (value) => typeOf(value) === "date";
+const isSame = (x2, y2) => x2 === y2 || typeof x2 === "number" && typeof y2 === "number" && isNaN(x2) && isNaN(y2);
+const isRegExp$2 = (value) => typeOf(value) === "regExp";
+const each$g = (obj2, handle2) => {
+  if (typeof handle2 !== "function") {
+    return;
+  }
+  for (const name2 in obj2) {
+    if (hasOwn$1.call(obj2, name2)) {
+      if (handle2(name2, obj2[name2]) === false) {
+        break;
+      }
+    }
+  }
+};
+let extend$4;
+const getObj = (data2, names, isExceptRoot) => {
+  if (!data2 || !isPlainObject$1(data2) || !names || typeof names !== "string") {
+    return;
+  }
+  const nameArr = names.split(".");
+  let obj2 = data2;
+  const len2 = nameArr.length;
+  if (len2 > 1) {
+    const startIndex = isExceptRoot ? 1 : 0;
+    for (let i2 = startIndex; i2 < len2; i2++) {
+      obj2 = obj2[nameArr[i2]];
+      if (isNull$2(obj2)) {
+        return obj2;
+      }
+    }
+    return obj2;
+  } else {
+    return obj2[nameArr[0]];
+  }
+};
+const setObj = (data2, names, value, isMerge) => {
+  if (!data2 || !isPlainObject$1(data2) || !names || typeof names !== "string") {
+    return data2;
+  }
+  const nameArr = names.split(".");
+  const obj2 = data2;
+  let len2 = nameArr.length;
+  let item = nameArr[0];
+  if (len2 > 1) {
+    len2--;
+    let tmpl = obj2;
+    let name2, target;
+    for (let i2 = 0; i2 < len2; i2++) {
+      name2 = nameArr[i2];
+      target = tmpl[name2];
+      if (target === null || !isPlainObject$1(target)) {
+        tmpl[name2] = {};
+        target = tmpl[name2];
+      }
+      tmpl = target;
+    }
+    item = nameArr[len2];
+    isMerge ? isPlainObject$1(tmpl[item]) ? extend$4(true, tmpl[item], value) : tmpl[item] = value : tmpl[item] = value;
+  } else {
+    isMerge ? isPlainObject$1(obj2[item]) ? extend$4(true, obj2[item], value) : obj2[item] = value : obj2[item] = value;
+  }
+  return obj2;
+};
+const copyField = (data2, fields, isMerge, isExclude) => {
+  const setValue = (obj2, result2, name2, key2, isMerge2) => {
+    const include = key2.indexOf(name2) === 0;
+    const keySplit = key2.split(name2);
+    const hasNextDot = keySplit[1] && keySplit[1].indexOf(".") === 0;
+    if (name2 === key2 || include && hasNextDot) {
+      if (name2 !== key2) {
+        each$g(getObj(obj2, name2), (field) => {
+          setValue(obj2, result2, `${name2}.${field}`, key2);
+          return true;
+        });
+      }
+    } else {
+      if (fields && !fields.includes(name2)) {
+        setObj(result2, name2, getObj(obj2, name2), isMerge2);
+      }
+    }
+  };
+  const innerCopyFields = (obj2, fields2, isMerge2, isExclude2) => {
+    const result2 = {};
+    if (isExclude2) {
+      each$g(obj2, (name2) => fields2.forEach((key2) => setValue(obj2, result2, name2, key2, isMerge2)));
+    } else {
+      fields2.forEach((field) => setObj(result2, field, getObj(obj2, field), isMerge2));
+    }
+    return result2;
+  };
+  if (isPlainObject$1(data2)) {
+    return Array.isArray(fields) ? innerCopyFields(data2, fields, isMerge, isExclude) : extend$4(isMerge !== false, {}, data2);
+  }
+  return data2;
+};
+const copyArray = (arr) => {
+  return Array.isArray(arr) ? arr.map((item) => copyField(item)) : arr;
+};
+const deepCopy = (target, name2, deep, copy2, src) => {
+  let copyIsArray;
+  if (deep && copy2 && (isPlainObject$1(copy2) || (copyIsArray = Array.isArray(copy2)))) {
+    if (copyIsArray) {
+      copyIsArray = false;
+      target[name2] = copyArray(copy2);
+    } else {
+      const clone2 = src && isPlainObject$1(src) ? src : {};
+      target[name2] = extend$4(deep, clone2, copy2);
+    }
+  } else if (copy2 !== void 0) {
+    try {
+      target[name2] = copy2;
+    } catch (e2) {
+    }
+  }
+};
+extend$4 = function(...args) {
+  const length2 = args.length;
+  let target = args[0] || {};
+  let i2 = 1;
+  let deep = false;
+  if (typeOf(target) === "boolean") {
+    deep = target;
+    target = args[i2] || {};
+    i2++;
+  }
+  if (!isObject$5(target) && typeOf(target) !== "function") {
+    target = {};
+  }
+  for (; i2 < length2; i2++) {
+    const options2 = args[i2];
+    if (options2 !== null && isObject$5(options2)) {
+      const names = Object.keys(options2);
+      for (const name2 of names) {
+        const src = target[name2];
+        const copy2 = options2[name2];
+        if (target !== copy2) {
+          deepCopy(target, name2, deep, copy2, src);
+        }
+      }
+    }
+  }
+  return target;
+};
+let isEachEqual;
+const isEqual = (sourceData, targetData, deep, fields) => {
+  if (typeOf(sourceData) === typeOf(targetData)) {
+    deep = deep !== false;
+    if (Array.isArray(fields)) {
+      const _sourceData = copyField(sourceData, fields);
+      const _targetData = copyField(targetData, fields);
+      return isEqual(_sourceData, _targetData, deep);
+    }
+    const source2 = isEachEqual(sourceData, targetData, deep);
+    const target = isEachEqual(targetData, sourceData, deep);
+    return source2 && target;
+  }
+  return false;
+};
+isEachEqual = (data1, data2, deep) => {
+  if (!isPlainObject$1(data1)) {
+    if (!Array.isArray(data1)) {
+      return data1 === data2;
+    }
+    if (data1.length !== data2.length) {
+      return false;
+    }
+    for (let i2 = 0, length2 = data1.length; i2 < length2; i2++) {
+      const result2 = isEqual(data1[i2], data2[i2], deep);
+      if (!result2) {
+        return false;
+      }
+    }
+    return true;
+  }
+  let bEqual = true;
+  const names = Object.keys(data1);
+  for (const name2 of names) {
+    if (hasOwn$1.call(data2, name2)) {
+      const _data1 = data1[name2];
+      const _data2 = data2[name2];
+      if (deep && isObject$5(_data1) || Array.isArray(_data1)) {
+        bEqual = isEachEqual(_data1, _data2, deep);
+      } else {
+        bEqual = _data1 === _data2;
+      }
+    } else {
+      bEqual = false;
+    }
+    if (bEqual === false) {
+      break;
+    }
+  }
+  return bEqual;
+};
+const toJsonStr = (obj2) => {
+  try {
+    return JSON.stringify(obj2);
+  } catch (e2) {
+    return void 0;
+  }
+};
+const merge$2 = function(target, ...rest) {
+  for (let i2 = 0, len2 = rest.length; i2 < len2; i2++) {
+    const source2 = rest[i2] || {};
+    for (const prop2 in source2) {
+      if (hasOwn$1.call(source2, prop2)) {
+        const value = source2[prop2];
+        if (value !== void 0) {
+          target[prop2] = value;
+        }
+      }
+    }
+  }
+  return target;
+};
+const getIEVersion = () => {
+  let version2 = 8;
+  if (!!document.addEventListener && !!window.performance) {
+    version2 = 9;
+    if (!!window.atob && !!window.matchMedia) {
+      version2 = 10;
+      if (!window.attachEvent && !document.all) {
+        version2 = 11;
+      }
+    }
+  }
+  return version2;
+};
+const isEdge = (browser) => {
+  if (browser.chrome && ~navigator.userAgent.indexOf("Edg")) {
+    browser.name = "edge";
+    browser.edge = true;
+    delete browser.chrome;
+  } else if (!document.documentMode && !!window.StyleMedia) {
+    browser.name = "edge";
+    browser.edge = true;
+  }
+};
+const isBrowser = typeof window !== "undefined" && typeof document !== "undefined" && window.document === document;
+var browser_default = (() => {
+  const browser = {
+    name: void 0,
+    version: void 0,
+    isDoc: typeof document !== "undefined",
+    isMobile: false,
+    isPC: true,
+    isNode: typeof window === "undefined"
+  };
+  if (isBrowser) {
+    const isMobile = /(Android|webOS|iPhone|iPad|iPod|SymbianOS|BlackBerry|Windows Phone)/.test(navigator.userAgent);
+    browser.isMobile = isMobile;
+    browser.isPC = !isMobile;
+    let matches;
+    if (!!window.chrome && (!!window.chrome.webstore || /^Google\b/.test(window.navigator.vendor))) {
+      browser.name = "chrome";
+      browser.chrome = true;
+      matches = navigator.userAgent.match(/chrome\/(\d+)/i);
+      browser.version = !!matches && !!matches[1] && parseInt(matches[1], 10);
+      matches = void 0;
+    } else if (!!document.all || !!document.documentMode) {
+      browser.name = "ie";
+      browser.version = getIEVersion();
+      browser.ie = true;
+    } else if (typeof window.InstallTrigger !== "undefined") {
+      browser.name = "firefox";
+      browser.firefox = true;
+    } else if (Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0) {
+      browser.name = "safari";
+      browser.safari = true;
+    } else if (!!window.opr && !!window.opr.addons || !!window.opera) {
+      browser.name = "opera";
+      browser.opera = true;
+    }
+    isEdge(browser);
+    if (!~["ie", "chrome"].indexOf(browser.name)) {
+      const reg = browser.name + "/(\\d+)";
+      matches = navigator.userAgent.match(new RegExp(reg, "i"));
+      browser.version = !!matches && !!matches[1] && parseInt(matches[1], 10);
+      matches = void 0;
+    }
+    if (browser.isDoc) {
+      const bodyEl = document.body || document.documentElement;
+      ["webkit", "khtml", "moz", "ms", "o"].forEach((core2) => {
+        browser["-" + core2] = !!bodyEl[core2 + "MatchesSelector"];
+      });
+    }
+  }
+  return browser;
+})();
+const BigInt = isBrowser ? window.BigInt : global.BigInt;
+function supportBigInt() {
+  return typeof BigInt === "function";
+}
+function trimNumber(numStr) {
+  let string = numStr.toString().trim();
+  let negative2 = string.startsWith("-");
+  if (negative2) {
+    string = string.slice(1);
+  }
+  string = string.replace(/(\.\d*[^0])0*$/, "$1").replace(/\.0*$/, "").replace(/^0+/, "");
+  if (string.startsWith(".")) {
+    string = "0".concat(string);
+  }
+  let trimStr = string || "0";
+  let splitNumber = trimStr.split(".");
+  let integerStr = splitNumber[0] || "0";
+  let decimalStr = splitNumber[1] || "0";
+  if (integerStr === "0" && decimalStr === "0") {
+    negative2 = false;
+  }
+  let negativeStr = negative2 ? "-" : "";
+  return {
+    negative: negative2,
+    negativeStr,
+    trimStr,
+    integerStr,
+    decimalStr,
+    fullStr: "".concat(negativeStr).concat(trimStr)
+  };
+}
+function isE(number2) {
+  let str = String(number2);
+  return !isNaN(Number(str)) && ~str.indexOf("e");
+}
+function validateNumber(num) {
+  if (typeof num === "number") {
+    return !isNaN(num);
+  }
+  if (!num) {
+    return false;
+  }
+  return (
+    // Normal type: 11.28
+    /^\s*-?\d+(\.\d+)?\s*$/.test(num) || // Pre-number: 1.
+    /^\s*-?\d+\.\s*$/.test(num) || // Post-number: .1
+    /^\s*-?\.\d+\s*$/.test(num)
+  );
+}
+function getNumberPrecision(number2) {
+  let numStr = String(number2);
+  if (isE(number2)) {
+    let precision = Number(numStr.slice(numStr.indexOf("e-") + 2));
+    let decimalMatch = numStr.match(/\.(\d+)/);
+    if (decimalMatch === null || decimalMatch === void 0 ? void 0 : decimalMatch[1]) {
+      precision += decimalMatch[1].length;
+    }
+    return precision;
+  }
+  return ~numStr.indexOf(".") && validateNumber(numStr) ? numStr.length - numStr.indexOf(".") - 1 : 0;
+}
+function num2str(number2) {
+  let numStr = String(number2);
+  if (isE(number2)) {
+    if (number2 > Number.MAX_SAFE_INTEGER) {
+      return String(supportBigInt() ? BigInt(number2).toString() : Number.MAX_SAFE_INTEGER);
+    }
+    if (number2 < Number.MIN_SAFE_INTEGER) {
+      return String(supportBigInt() ? BigInt(number2).toString() : Number.MIN_SAFE_INTEGER);
+    }
+    numStr = number2.toFixed(getNumberPrecision(numStr));
+  }
+  return trimNumber(numStr).fullStr;
+}
+function pluginDecimal(decimal) {
+  if (!decimal.add) {
+    Object.assign(decimal, {
+      add: decimal.plus,
+      lessEquals: decimal.isLessThan,
+      equals: decimal.isEqualTo
+    });
+  }
+  return decimal;
+}
+const DecimalCls = {
+  CLS: null
+};
+let setDecimalClass;
+function getMiniDecimal(value, decimal) {
+  if (!DecimalCls.CLS) {
+    setDecimalClass(decimal);
+  }
+  return pluginDecimal(new DecimalCls.CLS(value));
+}
+class BigIntDecimal {
+  constructor(value) {
+    if (!value && value !== 0 || !String(value).trim()) {
+      this.empty = true;
+      return;
+    }
+    this.origin = String(value);
+    this.negative = void 0;
+    this.integer = void 0;
+    this.decimal = void 0;
+    this.decimalLen = void 0;
+    this.empty = void 0;
+    this.nan = void 0;
+    if (value === "-") {
+      this.nan = true;
+      return;
+    }
+    let mergedValue = isE(value) ? Number(value) : value;
+    if (typeof mergedValue !== "string") {
+      num2str(mergedValue);
+    }
+    const f2 = Function;
+    const convertBigInt = (str) => {
+      const validStr = str.replace(/^0+/, "") || "0";
+      return f2(`return BigInt('${validStr}')`)();
+    };
+    if (validateNumber(mergedValue)) {
+      const trimRet = trimNumber(mergedValue);
+      this.negative = trimRet.negative;
+      const numbers = trimRet.trimStr.split(".");
+      this.integer = !numbers[0].includes("e") ? BigInt(numbers[0]) : numbers[0];
+      const decimalStr = numbers[1] || "0";
+      this.decimal = decimalStr.includes("e") ? convertBigInt(decimalStr) : BigInt(decimalStr);
+      this.decimalLen = decimalStr.length;
+    } else {
+      this.nan = true;
+    }
+  }
+  getDecimalStr() {
+    return this.decimal.toString().padStart(this.decimalLen, "0");
+  }
+  getIntegerStr() {
+    return this.integer.toString();
+  }
+  getMark() {
+    return this.negative ? "-" : "";
+  }
+  /**
+   * Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000
+   * This is used for add function only.
+   */
+  alignDecimal(decimalLength) {
+    const string = `${this.getMark()}${this.getIntegerStr()}${this.getDecimalStr().padEnd(decimalLength, "0")}`;
+    return BigInt(string);
+  }
+  add(value) {
+    if (this.isInvalidate()) {
+      return new BigIntDecimal(value);
+    }
+    const offsetObj = new BigIntDecimal(value);
+    if (offsetObj.isInvalidate()) {
+      return this;
+    }
+    const maxDecimalLength = Math.max(this.getDecimalStr().length, offsetObj.getDecimalStr().length);
+    const offsetAlignedDecimal = offsetObj.alignDecimal(maxDecimalLength);
+    const myAlignedDecimal = this.alignDecimal(maxDecimalLength);
+    const valueStr = `${myAlignedDecimal + offsetAlignedDecimal}`;
+    const { negativeStr: str, trimStr } = trimNumber(valueStr);
+    const hydrateValueStr = `${str}${trimStr.padStart(maxDecimalLength + 1, "0")}`;
+    return getMiniDecimal(`${hydrateValueStr.slice(0, -maxDecimalLength)}.${hydrateValueStr.slice(-maxDecimalLength)}`);
+  }
+  negate() {
+    const clone2 = new BigIntDecimal(this.toString());
+    clone2.negative = !clone2.negative;
+    return clone2;
+  }
+  isNaN() {
+    return this.nan;
+  }
+  isEmpty() {
+    return this.empty;
+  }
+  isInvalidate() {
+    return this.isEmpty() || this.isNaN();
+  }
+  lessEquals(target) {
+    return this.add(target.negate().toString()).toNumber() <= 0;
+  }
+  equals(target) {
+    return this.toString() === (target && target.toString());
+  }
+  toNumber() {
+    if (this.isNaN()) {
+      return NaN;
+    }
+    return Number(this.toString());
+  }
+  toString(safe = true) {
+    if (!safe) {
+      return this.origin;
+    }
+    if (this.isInvalidate()) {
+      return "";
+    }
+    return trimNumber(`${this.getMark()}${this.getIntegerStr()}.${this.getDecimalStr()}`).fullStr;
+  }
+}
+class NumberDecimal {
+  constructor(value = "") {
+    if (!value && value !== 0 || !String(value).trim()) {
+      this.empty = true;
+      return;
+    }
+    this.origin = "";
+    this.number = void 0;
+    this.empty = void 0;
+    this.origin = String(value);
+    this.number = Number(value);
+  }
+  negate() {
+    return new NumberDecimal(-this.toNumber());
+  }
+  add(value) {
+    if (this.isInvalidate()) {
+      return new NumberDecimal(value);
+    }
+    const target = Number(value);
+    if (isNaN(target)) {
+      return this;
+    }
+    const number2 = this.number + target;
+    if (number2 < Number.MIN_SAFE_INTEGER) {
+      return new NumberDecimal(Number.MIN_SAFE_INTEGER);
+    }
+    if (number2 > Number.MAX_SAFE_INTEGER) {
+      return new NumberDecimal(Number.MAX_SAFE_INTEGER);
+    }
+    const maxPrecision = Math.max(getNumberPrecision(target), getNumberPrecision(this.number));
+    return new NumberDecimal(number2.toFixed(maxPrecision));
+  }
+  isNaN() {
+    return isNaN(this.number);
+  }
+  isEmpty() {
+    return this.empty;
+  }
+  isInvalidate() {
+    return this.isEmpty() || this.isNaN();
+  }
+  equals(target) {
+    return this.toNumber() === (target && target.toNumber());
+  }
+  lessEquals(target) {
+    return this.add(target.negate().toString()).toNumber() <= 0;
+  }
+  toNumber() {
+    return this.number;
+  }
+  toString(safe = true) {
+    if (!safe) {
+      return this.origin;
+    }
+    if (this.isInvalidate()) {
+      return "";
+    }
+    return num2str(this.number);
+  }
+}
+setDecimalClass = function(decimaljs) {
+  DecimalCls.CLS = supportBigInt() ? BigIntDecimal : typeof decimaljs === "function" ? decimaljs : NumberDecimal;
+};
+function toFixed$1(numStr, precision, rounding = 5) {
+  if (numStr === "") {
+    return "";
+  }
+  const separatorStr = ".";
+  const { negativeStr, integerStr, decimalStr } = trimNumber(numStr);
+  const precisionDecimalStr = `${separatorStr}${decimalStr}`;
+  const numberWithoutDecimal = `${negativeStr}${integerStr}`;
+  if (precision >= 0) {
+    const advancedNum = Number(decimalStr[precision]);
+    if (advancedNum >= rounding && rounding !== 0) {
+      const advancedDecimal = getMiniDecimal(`${integerStr}${separatorStr}${decimalStr}`).add(
+        `0.${fillChar("", precision, true)}${10 - advancedNum}`
+      );
+      return toFixed$1(negativeStr + advancedDecimal.toString(), precision, 0);
+    }
+    if (precision === 0) {
+      return numberWithoutDecimal;
+    }
+    return `${numberWithoutDecimal}${separatorStr}${fillChar(decimalStr, precision, true).slice(0, precision)}`;
+  }
+  if (precisionDecimalStr === ".0") {
+    return numberWithoutDecimal;
+  }
+  return `${numberWithoutDecimal}${precisionDecimalStr}`;
+}
+const DECIMAL_SEPARATOR = ".";
+const asInteger = (number2) => {
+  const tokens = number2.split(DECIMAL_SEPARATOR);
+  const integer = tokens[0];
+  const fractional = tokens[1];
+  let value;
+  let exp;
+  if (fractional) {
+    value = parseInt(number2.split(DECIMAL_SEPARATOR).join(""), 10);
+    exp = fractional.length * -1;
+  } else {
+    const trailingZeros = integer.match(/0+$/);
+    if (trailingZeros) {
+      const length2 = trailingZeros[0].length;
+      value = integer.substr(0, integer.length - length2);
+      exp = length2;
+    } else {
+      value = integer;
+      exp = 0;
+    }
+  }
+  return { value, exp };
+};
+const zero = (exp) => {
+  let result2;
+  if (exp <= 0) {
+    result2 = "";
+  } else if (String.prototype.repeat) {
+    result2 = "0".repeat(exp);
+  } else {
+    result2 = ((times) => {
+      const zeros = [];
+      for (let i2 = 0; i2 < times; i2++) {
+        zeros.push(0);
+      }
+      return zeros.join("");
+    })(exp);
+  }
+  return result2;
+};
+const negExp = (str, position2) => {
+  position2 = Math.abs(position2);
+  const offset2 = position2 - str.length;
+  let sep = DECIMAL_SEPARATOR;
+  if (offset2 >= 0) {
+    str = zero(offset2) + str;
+    sep = "0.";
+  }
+  const length2 = str.length;
+  const dif = length2 - position2;
+  const head = str.substr(0, dif);
+  const tail = str.substring(dif, length2);
+  return head + sep + tail;
+};
+const posExp = (str, exp) => String(str + zero(exp));
+const format$5 = (num, exp) => (exp >= 0 ? posExp : negExp)(String(num), exp);
+function Decimal(num) {
+  if (!this || this.constructor !== Decimal) {
+    return new Decimal(num);
+  }
+  if (num instanceof Decimal) {
+    return num;
+  }
+  this.internal = String(num);
+  this.asInt = asInteger(this.internal);
+  this.add = (target) => {
+    const operands = [this, new Decimal(target)];
+    operands.sort((x22, y22) => x22.asInt.exp - y22.asInt.exp);
+    const smallest = operands[0].asInt.exp;
+    const biggest = operands[1].asInt.exp;
+    const x2 = Number(format$5(operands[1].asInt.value, biggest - smallest));
+    const y2 = Number(operands[0].asInt.value);
+    return new Decimal(format$5(String(x2 + y2), smallest));
+  };
+  this.sub = (target) => new Decimal(this.add(target * -1));
+  this.mul = (target) => {
+    target = new Decimal(target);
+    const result2 = String(this.asInt.value * target.asInt.value);
+    const exp = this.asInt.exp + target.asInt.exp;
+    return new Decimal(format$5(result2, exp));
+  };
+  this.div = (target) => {
+    target = new Decimal(target);
+    const smallest = Math.min(this.asInt.exp, target.asInt.exp);
+    const absSmallest = 10 ** Math.abs(smallest);
+    const x2 = Decimal.mul(absSmallest, this);
+    const y2 = Decimal.mul(absSmallest, target);
+    return new Decimal(x2 / y2);
+  };
+  this.toString = () => this.internal;
+  this.toNumber = () => Number(this.internal);
+}
+Decimal.add = (a2, b2) => new Decimal(a2).add(b2);
+Decimal.mul = (a2, b2) => new Decimal(a2).mul(b2);
+Decimal.sub = (a2, b2) => new Decimal(a2).sub(b2);
+Decimal.div = (a2, b2) => new Decimal(a2).div(b2);
+const toFixed = (num, fraction = 0) => {
+  const sign = num < 0 ? "-" : "";
+  num = Math.abs(num);
+  const npmPow = num.toString().length < (2 ** 53).toString().length - 1 ? 10 ** fraction : 10 ** (fraction - 1);
+  const result2 = new Decimal(Math.round(new Decimal(num).mul(npmPow))).div(npmPow).toString();
+  const numResult = Number(result2);
+  return numResult ? sign + numResult.toFixed(fraction) : numResult.toFixed(fraction);
+};
+const formatInteger = (value, { secondaryGroupSize = 3, groupSize = 0, groupSeparator = "," }) => {
+  const negative2 = /^-\d+/.test(value);
+  let result2 = negative2 ? value.slice(1) : value;
+  const secSize = secondaryGroupSize || groupSize;
+  if (groupSize && result2.length > groupSize) {
+    let left = result2.slice(0, 0 - groupSize);
+    const right = result2.slice(0 - groupSize);
+    left = left.replace(new RegExp(`\\B(?=(\\d{${secSize}})+(?!\\d))`, "g"), groupSeparator);
+    result2 = `${left}${groupSeparator}${right}`;
+  }
+  return `${negative2 ? "-" : ""}${result2}`;
+};
+const reverseString = (str) => {
+  const arr = [];
+  for (let i2 = 0; i2 < str.length; i2++) {
+    arr.push(str[i2]);
+  }
+  return arr.reverse().join("");
+};
+const formatDecimal = (num, { fractionGroupSize = 0, fractionGroupSeparator = " " }) => {
+  const RE2 = new RegExp(`\\B(?=(\\d{${fractionGroupSize}})+(?!\\d))`, "g");
+  return reverseString(reverseString(num).replace(RE2, fractionGroupSeparator));
+};
+const formatNumber = (value, format2 = {}) => {
+  const { fraction, rounding, prefix = "", decimalSeparator = ".", suffix = "" } = format2;
+  let reslut = getMiniDecimal(value);
+  if (reslut.isNaN() || !reslut.toString()) {
+    return value;
+  }
+  reslut = toFixed$1(reslut.toString(), fraction, rounding);
+  format2.zeroize === false && reslut.match(/\./) && (reslut = reslut.replace(/\.?0+$/g, ""));
+  const number2 = reslut.toString().split(".").slice(0, 2).map((str, index3) => index3 ? formatDecimal(str, format2) : formatInteger(str, format2)).join(decimalSeparator);
+  return `${prefix}${number2}${suffix}`;
+};
+const recoverNumber = (number2, format2 = {}) => {
+  const { prefix = "", suffix = "", decimalSeparator = "." } = format2;
+  let result2 = number2;
+  if (typeof number2 === "string") {
+    result2 = number2.replace(new RegExp(`^${prefix}(.+)${suffix}$`), ($1, $2) => $2).split(decimalSeparator).map((s2) => s2.replace(/[^\d]/g, "")).join(".");
+  }
+  return Number(result2);
+};
+const formatTypes = {
+  text: "text",
+  url: "url",
+  html: "html",
+  tmpl: "tmpl"
+};
+const escapeChars = {
+  "&": "&#38;",
+  "<": "&#60;",
+  ">": "&#62;",
+  '"': "&#34;",
+  "'": "&#x27;",
+  "[": "&#91;",
+  "]": "&#93;"
+};
+const isNullOrEmpty = (value) => value === null || value === void 0 || typeof value === "string" && value.trim().length === 0;
+function cached(fn) {
+  let cache = /* @__PURE__ */ Object.create(null);
+  return function cachedFn(str) {
+    const hit = cache[str];
+    return hit || (cache[str] = fn(str));
+  };
+}
+const camelizeRE = /-(\w)/g;
+const camelize = cached((str) => str.replace(camelizeRE, (_2, c2) => c2 ? c2.toUpperCase() : ""));
+const capitalize = cached((str) => str.charAt(0).toUpperCase() + str.slice(1));
+const hyphenateRE = /\B([A-Z])/g;
+const hyphenate = cached((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
+function getLengthInUtf16(string) {
+  const len2 = string.length;
+  let count2 = 0;
+  for (let i2 = 0; i2 < len2; i2++) {
+    let charCode = string.charCodeAt(i2);
+    if (charCode <= 65535) {
+      count2 += 2;
+    } else {
+      count2 += 4;
+    }
+  }
+  return count2;
+}
+function getLengthInUtf8(string) {
+  const len2 = string.length;
+  let count2 = 0;
+  for (let i2 = 0; i2 < len2; i2++) {
+    let charCode = string.charCodeAt(i2);
+    if (charCode <= 127) {
+      count2 += 1;
+    } else if (charCode <= 2047) {
+      count2 += 2;
+    } else if (charCode <= 65535) {
+      count2 += 3;
+    } else {
+      count2 += 4;
+    }
+  }
+  return count2;
+}
+function getLengthDefault(string) {
+  const len2 = string.length;
+  let count2 = 0;
+  for (let i2 = 0; i2 < len2; i2++) {
+    count2++;
+    if (string.charCodeAt(i2) >> 8) {
+      count2++;
+    }
+  }
+  return count2;
+}
+const getLength = (string, regular) => {
+  if (!string || typeof string !== "string") {
+    return 0;
+  }
+  let count2 = 0;
+  if (typeof regular === "string") {
+    regular = regular.toLowerCase();
+    if (regular === "utf-16" || regular === "utf16") {
+      count2 = getLengthInUtf16(string);
+    } else if (regular === "utf-8" || regular === "utf8") {
+      count2 = getLengthInUtf8(string);
+    } else {
+      count2 = string.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length;
+    }
+  } else if (typeof regular === "function") {
+    return regular(string);
+  } else {
+    count2 = getLengthDefault(string);
+  }
+  return count2;
+};
+const fillChar = (string, length2, append3, chr = "0") => {
+  if (typeof string === "string" && typeof chr === "string" && isNumber$2(length2)) {
+    let len2 = string.length - length2;
+    if (len2 > 0) {
+      return append3 ? string.substr(0, length2) : string.substr(len2, length2);
+    } else {
+      const appendStr = [];
+      len2 = Math.abs(len2) / chr.length;
+      for (; len2 > 0; len2--) {
+        appendStr.push(chr);
+      }
+      const s2 = appendStr.join("");
+      return append3 ? string + s2 : s2 + string;
+    }
+  }
+};
+const random$1 = () => {
+  let MAX_UINT32_PLUS_ONE = 4294967296;
+  return window.crypto.getRandomValues(new window.Uint32Array(1))[0] / MAX_UINT32_PLUS_ONE;
+};
+const guid$1 = (prefix = "", length2 = 8) => prefix + random$1().toString().substr(2, length2);
+const escapeHtml$1 = (string, isReplaceSpace) => {
+  if (!string || typeof string !== "string") {
+    return string;
+  }
+  string = string.replace(/[&<>"']/g, (chr) => escapeChars[chr]);
+  return isReplaceSpace ? string.replace(/\s/g, "&#160;") : string;
+};
+const getFormat = ({ sign, format: format2, hasSign }) => {
+  switch (sign) {
+    case "#":
+      format2 = formatTypes.text;
+      break;
+    case "@":
+      format2 = formatTypes.url;
+      break;
+    case "$":
+      format2 = formatTypes.html;
+      break;
+    case "%":
+      format2 = formatTypes.tmpl;
+      break;
+    default:
+      hasSign = false;
+      break;
+  }
+  return { format: format2, hasSign };
+};
+const fieldFormat = (string, data2, type2 = "html") => {
+  if (typeof string === "string") {
+    return string.replace(/(\/)?\{\{([\s\S]*?)}}/g, (match, slash = "", offset2 = "") => {
+      const sign = offset2.substr(0, 1);
+      let hasSign = true;
+      let format2 = formatTypes.html;
+      let ret = getFormat({ sign, format: format2, hasSign });
+      format2 = ret.format;
+      hasSign = ret.hasSign;
+      if (hasSign) {
+        offset2 = (offset2 || "").substring(1);
+      } else if (type2) {
+        format2 = type2;
+      }
+      let value = getObj(data2, offset2);
+      if (isNull$2(value)) {
+        value = "";
+      }
+      if (format2 === formatTypes.tmpl) {
+        value = `{{${value}}}`;
+      } else {
+        if (format2 === formatTypes.url) {
+          value = encodeURIComponent(value);
+        } else {
+          value = format2 === formatTypes.html ? escapeHtml$1(value) : value;
+        }
+      }
+      return format2 === formatTypes.url && value.length === 0 ? "" : slash + value;
+    });
+  }
+};
+const getFormatText = () => (str, reg, args, format2) => str.replace(reg, (m2, i2, j2, k2) => {
+  if (!isNullOrEmpty(i2) && !isNullOrEmpty(k2)) {
+    return `{${j2}}`;
+  }
+  const value = args[j2];
+  const string = isPlainObject$1(value) ? toJsonStr(value) : value;
+  if (isNullOrEmpty(value)) {
+    return "";
+  }
+  return typeof value === "string" && typeof format2 === "function" ? format2(string) : string;
+});
+const getResult = ({ type: type2, res, formatText, string, reg, args }) => {
+  if (type2 === formatTypes.url) {
+    res = formatText(string, reg, args, encodeURIComponent);
+  } else if (type2 === formatTypes.html) {
+    res = formatText(string, reg, args, escapeHtml$1);
+  } else {
+    res = formatText(string, reg, args);
+  }
+  return res;
+};
+const judgForFunc = (args, formatTypes2, type2) => {
+  const lastArg = args[args.length - 1];
+  if (lastArg !== formatTypes2.text && lastArg !== formatTypes2.url && lastArg !== formatTypes2.html) {
+    args = Array.prototype.slice.call(args, 1);
+  } else {
+    args = Array.prototype.slice.call(args, 1, args.length - 1);
+    type2 = lastArg;
+  }
+  return { args, type: type2 };
+};
+const checkParam = ({ data: data2, args, type: type2, _arguments }) => {
+  if (Array.isArray(data2)) {
+    args = data2;
+  } else {
+    const judgObj = judgForFunc(_arguments, formatTypes, type2);
+    args = judgObj.args;
+    type2 = judgObj.type;
+  }
+  return { args, type: type2 };
+};
+const format$4 = function(string, data2, type2 = "text") {
+  if (typeof string !== "string" || arguments.length < 2) {
+    return string;
+  }
+  let args, res;
+  if (isPlainObject$1(data2)) {
+    return fieldFormat(string, data2, type2);
+  }
+  const ret = checkParam({ data: data2, args, type: type2, _arguments: arguments });
+  args = ret.args;
+  type2 = ret.type;
+  const reg = /(\\)?\{(\d+)(\\)?}/g;
+  const formatText = getFormatText();
+  res = getResult({ type: type2, res, formatText, string, reg, args });
+  return res;
+};
+const getTruthyValue = ({ string, length: length2, ellipsis }) => {
+  const flag = typeof string === "string" && isNumber$2(length2) && length2 < string.length;
+  const truthyValue = flag && format$4(ellipsis, string.substr(0, length2));
+  return { flag, truthyValue };
+};
+const truncate = (string, length2, ellipsis = "{0}...") => {
+  const { flag, truthyValue } = getTruthyValue({ string, length: length2, ellipsis });
+  return flag ? truthyValue : string;
+};
+const tryToConvert = (convert, defaultValue, ...args) => {
+  const result2 = convert.apply(null, args);
+  return isNaN(result2) ? defaultValue : result2;
+};
+const toInt = (value) => isNumber$2(value) ? Number(value.toFixed(0)) : typeof value === "string" ? parseInt(value, 10) : NaN;
+const tryToInt = (value, defaultValue) => tryToConvert(toInt, defaultValue, value);
+const toNumber = (value) => isNumber$2(value) ? value : typeof value === "string" ? parseFloat(value) : NaN;
+const toDecimal = (value, fraction = 2, isTruncate = false) => {
+  let result2 = NaN;
+  if (isNumber$2(value)) {
+    result2 = value;
+  }
+  if (typeof value === "string") {
+    const val = parseFloat(value);
+    if (!isNaN(val)) {
+      result2 = val;
+    }
+  }
+  if (isNumber$2(result2)) {
+    if (isTruncate) {
+      result2 = toFixed(
+        value.toString().split(".").slice(0, 2).map((str, index3) => index3 ? str.slice(0, fraction) : str).join("."),
+        fraction
+      );
+    } else {
+      result2 = toFixed(result2, fraction);
+    }
+  }
+  return result2;
+};
+const tryToDecimal = (value, fraction, isTruncate, defaultValue) => tryToConvert(toDecimal, defaultValue, value, fraction, isTruncate);
+const toCurrency = (value, fraction, placeholder2, isTruncate) => {
+  if (isNumeric$1(value)) {
+    let val = toDecimal(Number(value), fraction, isTruncate);
+    val = String(val).replace(/(^|[^\w.])(\d{4,})/g, ($0, $1, $2) => $1 + $2.replace(/\d(?=(?:\d\d\d)+(?!\d))/g, "$&,"));
+    return placeholder2 ? format$4(placeholder2, val) : val;
+  }
+  return NaN;
+};
+const tryToCurrency = (value, fraction, placeholder2, defaultValue) => isNaN(toNumber(value)) ? defaultValue : toCurrency(value, fraction, placeholder2);
+const toBoolValue = (value) => {
+  if (isNumber$2(value)) {
+    return value ? 1 : 0;
+  } else if (isNull$2(value) || value === "false") {
+    return false;
+  } else if (value === "true") {
+    return true;
+  } else if (typeof value === "boolean") {
+    return value;
+  }
+  return !!value;
+};
+const toRate = (value, total = 1, fraction = 2) => isNumber$2(value) && isNumber$2(total) ? toDecimal(Decimal(value).mul(100).div(total).toNumber(), fraction) + "%" : value;
+const toFileSize = (value, unit, currUnit) => {
+  if (isNumeric$1(value)) {
+    value = Number(value);
+    if (value === 0) {
+      return `0${currUnit || unit || "B"}`;
+    }
+    const fileSize = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
+    let index3 = fileSize.indexOf(currUnit);
+    if (index3 > -1) {
+      for (let i2 = 0; i2 < index3; i2++) {
+        value *= 1024;
+      }
+    }
+    index3 = fileSize.indexOf(unit);
+    if (index3 < 0) {
+      index3 = fileSize.length - 1;
+    }
+    let level = 0;
+    for (let i2 = 0; i2 < index3 && (value <= -1024 || value >= 1024); i2++) {
+      value /= 1024;
+      level++;
+    }
+    return toDecimal(value, 2) + fileSize[level];
+  }
+  return value;
+};
+const isKorean$1 = (text2) => /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(text2);
+const omitText = (text2, font, w2) => {
+  const canvas = document.createElement("canvas");
+  const ctx = canvas.getContext("2d");
+  ctx.font = font;
+  let metric = ctx.measureText(text2);
+  let t2;
+  if (metric.width < w2) {
+    return { t: text2, o: false };
+  } else {
+    for (let i2 = -1; ; i2--) {
+      t2 = text2.slice(0, i2) + "...";
+      metric = ctx.measureText(t2);
+      if (metric.width < w2) {
+        return { t: t2, o: true };
+      }
+    }
+  }
+};
+const daysInMonths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+const yyyymmddReg = new RegExp(
+  "^(\\d{4})(/|-)(((0)?[1-9])|(1[0-2]))((/|-)(((0)?[1-9])|([1-2][0-9])|(3[0-1])))?( ((0)?[0-9]|1[0-9]|20|21|22|23):([0-5]?[0-9])((:([0-5]?[0-9]))?(.([0-9]{1,6}))?)?)?$"
+);
+const mmddyyyyReg = new RegExp(
+  "^(((0)?[1-9])|(1[0-2]))(/|-)(((0)?[1-9])|([1-2][0-9])|(3[0-1]))?(/|-)?(\\d{4})( ((0)?[0-9]|1[0-9]|20|21|22|23):([0-5]?[0-9])((:([0-5]?[0-9]))?(.([0-9]{1,6}))?)?)?$"
+);
+const iso8601Reg = new RegExp(
+  "^(\\d{4})-(((0)?[1-9])|(1[0-2]))-(((0)?[1-9])|([1-2][0-9])|(3[0-1]))T(((0)?[0-9]|1[0-9]|20|21|22|23):([0-5]?[0-9])((:([0-5]?[0-9]))?(.([0-9]{1,6}))?)?)?(Z|([+-])((0)?[0-9]|1[0-9]|20|21|22|23):?([0-5]?[0-9]))$"
+);
+const dateFormatRegs = {
+  "y{1,4}": /y{1,4}/,
+  "M{1,2}": /M{1,2}/,
+  "d{1,2}": /d{1,2}/,
+  "h{1,2}": /h{1,2}/,
+  "H{1,2}": /H{1,2}/,
+  "m{1,2}": /m{1,2}/,
+  "s{1,2}": /s{1,2}/,
+  "S{1,3}": /S{1,3}/,
+  "Z{1,1}": /Z{1,1}/
+};
+const maxDateValues = {
+  YEAR: 9999,
+  MONTH: 11,
+  DATE: 31,
+  HOUR: 23,
+  MINUTE: 59,
+  SECOND: 59,
+  MILLISECOND: 999
+};
+const timezone1 = "-12:00,-11:00,-10:00,-09:30,-08:00,-07:00,-06:00,-05:00,-04:30,-04:00,-03:30,-02:00,-01:00";
+const timezone2 = "-00:00,+00:00,+01:00,+02:00,+03:00,+03:30,+04:00,+04:30,+05:00,+05:30,+05:45,+06:00";
+const timezone3 = "+06:30,+07:00,+08:00,+09:00,+10:00,+10:30,+11:00,+11:30,+12:00,+12:45,+13:00,+14:00";
+const timezones = [].concat(timezone1.split(","), timezone2.split(","), timezone3.split(","));
+const getTimezone = (date) => {
+  const timezoneoffset = 0 - date.getTimezoneOffset() / 60;
+  let timezone;
+  if (timezoneoffset === 0) {
+    timezone = "Z";
+  } else if (timezoneoffset > 0) {
+    timezone = "+" + (timezoneoffset > 10 ? timezoneoffset : "0" + timezoneoffset) + "00";
+  } else {
+    timezone = (timezoneoffset < -10 ? timezoneoffset : "-0" + -timezoneoffset) + "00";
+  }
+  return timezone;
+};
+const isLeapYear = (year) => year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
+const getMilliseconds = (milliseconds) => milliseconds > maxDateValues.MILLISECOND ? Number(String(milliseconds).substring(0, 3)) : milliseconds;
+const getDateFromData = ({ year, month, date, hours, minutes, seconds, milliseconds }) => {
+  let daysInMonth = daysInMonths[month];
+  if (isLeapYear(year) && month === 1) {
+    daysInMonth += 1;
+  }
+  if (date <= daysInMonth) {
+    return new Date(year, month, date, hours, minutes, seconds, getMilliseconds(milliseconds));
+  }
+};
+const yyyymmddDateParser = (m2) => {
+  if (m2.length === 23) {
+    const year = Number(m2[1]);
+    const month = m2[3] - 1;
+    const date = Number(m2[9] || 1);
+    const hours = m2[15] || 0;
+    const minutes = m2[17] || 0;
+    const seconds = m2[20] || 0;
+    const milliseconds = m2[22] || 0;
+    return getDateFromData({
+      date,
+      year,
+      hours,
+      month,
+      seconds,
+      minutes,
+      milliseconds
+    });
+  }
+};
+const mmddyyyyDateParser = (m2) => {
+  if (m2.length === 22) {
+    const year = Number(m2[12]);
+    const month = m2[1] - 1;
+    const date = Number(m2[6] || 1);
+    const hours = m2[14] || 0;
+    const minutes = m2[16] || 0;
+    const seconds = m2[19] || 0;
+    const milliseconds = m2[21] || 0;
+    return getDateFromData({
+      year,
+      month,
+      date,
+      hours,
+      minutes,
+      seconds,
+      milliseconds
+    });
+  }
+};
+const iso8601DateParser = (m2) => {
+  if (m2.length !== 25) {
+    return;
+  }
+  const year = Number(m2[1]);
+  const month = m2[2] - 1;
+  const date = Number(m2[6]);
+  const offset2 = new Date(year, month, date).getTimezoneOffset();
+  const hours = m2[12] || 0;
+  const minutes = m2[14] || 0;
+  const seconds = m2[17] || 0;
+  const milliseconds = m2[19] || 0;
+  let timeZone = m2[20];
+  const sign = m2[21];
+  const offsetHours = m2[22] || 0;
+  const offsetMinutes = m2[24] || 0;
+  let daysInMonth = daysInMonths[month];
+  let actHours;
+  let actMinutes;
+  if (isLeapYear(year) && month === 1) {
+    daysInMonth += 1;
+  }
+  if (date <= daysInMonth) {
+    if (timeZone === "Z") {
+      actHours = hours - offset2 / 60;
+      actMinutes = minutes;
+    } else {
+      if (!timeZone.includes(":")) {
+        timeZone = timeZone.substr(0, 3) + ":" + timeZone.substr(3);
+      }
+      if (!timezones.includes(timeZone)) {
+        return;
+      }
+      actHours = sign === "+" ? hours - offsetHours - offset2 / 60 : Number(hours) + Number(offsetHours) - offset2 / 60;
+      actMinutes = sign === "+" ? minutes - offsetMinutes : Number(minutes) + Number(offsetMinutes);
+    }
+    return new Date(year, month, date, actHours, actMinutes, seconds, getMilliseconds(milliseconds));
+  }
+};
+const dateParsers = [
+  [yyyymmddReg, yyyymmddDateParser],
+  [mmddyyyyReg, mmddyyyyDateParser],
+  [iso8601Reg, iso8601DateParser]
+];
+const parseDate$2 = (str) => {
+  for (let i2 = 0, len2 = dateParsers.length; i2 < len2; i2++) {
+    const m2 = dateParsers[i2][0].exec(str);
+    if (m2 && m2.length > 0) {
+      return dateParsers[i2][1](m2);
+    }
+  }
+};
+const matchDateArray = (arr, value, text2) => {
+  if (text2) {
+    switch (text2) {
+      case "yyyy":
+      case "yy":
+        arr[0] = value;
+        break;
+      case "M":
+      case "MM":
+        arr[1] = value - 1;
+        break;
+      case "d":
+      case "dd":
+        arr[2] = value;
+        break;
+      case "h":
+      case "hh":
+        arr[3] = value;
+        break;
+      case "m":
+      case "mm":
+        arr[4] = value;
+        break;
+      case "s":
+      case "ss":
+        arr[5] = value;
+        break;
+      case "S":
+      case "SS":
+      case "SSS":
+        arr[6] = value;
+        break;
+    }
+  }
+};
+const getDateArray = (str, dateFormat) => {
+  const arr = [0, -1, 0, 0, 0, 0];
+  if (str.length !== dateFormat.length) {
+    return arr;
+  }
+  let valuePos = 0;
+  let textPos = 0;
+  for (let i2 = 0, len2 = str.length; i2 < len2; i2++) {
+    const charValue = str.substr(i2, 1);
+    const notNum = isNaN(Number(charValue)) || charValue.trim() === "";
+    if (notNum && charValue === dateFormat.substr(i2, 1) || i2 === len2 - 1) {
+      let value;
+      let text2;
+      if (notNum) {
+        value = str.substring(valuePos, i2);
+        valuePos = i2 + 1;
+        const end2 = dateFormat.indexOf(charValue, textPos);
+        text2 = dateFormat.substring(textPos, end2 === -1 ? dateFormat.length : end2);
+        textPos = end2 + 1;
+      } else {
+        value = str.substring(valuePos, len2);
+        text2 = dateFormat.substring(textPos, len2);
+      }
+      if (value.length === text2.length || value) {
+        matchDateArray(arr, value, text2);
+      }
+    }
+  }
+  return arr;
+};
+const invalideTime = (time2, min3, max3) => isNaN(time2) || time2 < min3 || time2 > max3;
+const invalideValue = ({ year, month, date, hours, minutes, seconds, milliseconds }) => invalideTime(year, 0, maxDateValues.YEAR) || invalideTime(month, 0, maxDateValues.MONTH) || invalideTime(date, 0, maxDateValues.DATE) || invalideTime(hours, 0, maxDateValues.HOUR) || invalideTime(minutes, 0, maxDateValues.MINUTE) || invalideTime(seconds, 0, maxDateValues.SECOND) || invalideTime(milliseconds, 0, maxDateValues.MILLISECOND);
+const innerParse = (value, dateFormat) => {
+  if (typeof dateFormat === "string") {
+    const arr = getDateArray(value, dateFormat);
+    const year = Number(arr[0]);
+    const month = Number(arr[1]);
+    const date = Number(arr[2] || 1);
+    const hours = Number(arr[3] || 0);
+    const minutes = Number(arr[4] || 0);
+    const seconds = Number(arr[5] || 0);
+    const milliseconds = Number(arr[6] || 0);
+    if (invalideValue({
+      year,
+      month,
+      date,
+      hours,
+      minutes,
+      seconds,
+      milliseconds
+    })) {
+      return;
+    }
+    return getDateFromData({
+      year,
+      date,
+      month,
+      minutes,
+      hours,
+      milliseconds,
+      seconds
+    });
+  } else {
+    return parseDate$2(value);
+  }
+};
+const toDate$1 = (value, dateFormat, minDate) => {
+  let date;
+  if (isNumber$2(value)) {
+    date = new Date(value);
+  } else if (typeof value === "string") {
+    date = innerParse(value, dateFormat);
+  }
+  if (minDate) {
+    const min3 = minDate && toDate$1(minDate) || new Date(1, 1, 1, 0, 0, 0);
+    return date && date < min3 ? min3 : date;
+  }
+  return date;
+};
+const format$3 = function(date, dateFormat = "yyyy/MM/dd hh:mm:ss") {
+  if (isDate$2(date)) {
+    if (typeof dateFormat === "string") {
+      const o2 = {
+        "y{1,4}": date.getFullYear(),
+        "M{1,2}": date.getMonth() + 1,
+        "d{1,2}": date.getDate(),
+        "h{1,2}": date.getHours(),
+        "H{1,2}": date.getHours(),
+        "m{1,2}": date.getMinutes(),
+        "s{1,2}": date.getSeconds(),
+        "S{1,3}": date.getMilliseconds(),
+        "Z{1,1}": getTimezone(date)
+      };
+      Object.keys(o2).forEach((k2) => {
+        const m2 = dateFormat.match(dateFormatRegs[k2]);
+        if (k2 && m2 && m2.length) {
+          dateFormat = dateFormat.replace(m2[0], k2 === "Z{1,1}" ? o2[k2] : fillChar(o2[k2].toString(), m2[0].length));
+        }
+      });
+      return dateFormat;
+    }
+  } else if (typeof date === "string" && arguments.length >= 2) {
+    let afterFormat = dateFormat;
+    if (arguments.length === 2) {
+      dateFormat = void 0;
+    } else {
+      afterFormat = arguments[2];
+    }
+    const dateValue = toDate$1(date, dateFormat);
+    return dateValue ? format$3(dateValue, afterFormat) : "";
+  }
+};
+const getDateWithNewTimezone = (date, otz, ntz, timezoneOffset = 0) => {
+  if (!isDate$2(date) || !isNumeric$1(otz) || !isNumeric$1(ntz) || !isNumeric$1(timezoneOffset)) {
+    return;
+  }
+  const otzOffset = -otz * 60;
+  const ntzOffset = -ntz * 60;
+  const dstOffeset = timezoneOffset * 60;
+  const utc = date.getTime() + otzOffset * 6e4;
+  return new Date(utc - (ntzOffset - dstOffeset) * 6e4);
+};
+const toDateStr = (date, dateFormat, timezone) => {
+  if (date && isNumeric$1(timezone)) {
+    timezone = parseFloat(parseFloat(timezone).toFixed(2));
+    date = getDateWithNewTimezone(isDate$2(date) ? date : new Date(toDate$1(date)), 0, timezone);
+  }
+  return format$3(date, dateFormat);
+};
+const TZRE$1 = /(-|\+)(\d{2}):?(\d{2})$/;
+const getLocalTimezone = () => 0 - (/* @__PURE__ */ new Date()).getTimezoneOffset() / 60;
+const getStrTimezone$1 = (value) => {
+  const localTimeZone = getLocalTimezone();
+  const match = typeof value === "string" && value.match(TZRE$1);
+  if (match) {
+    const minoffset = Number(match[2]) + Number(match[3]) / 60;
+    value = minoffset * `${match[1]}1`;
+  }
+  if (isNumber$2(value) && value >= -12 && value <= 12) {
+    return value;
+  }
+  return localTimeZone;
+};
+var lib$1 = { exports: {} };
+var _default$1 = {};
+var lib = { exports: {} };
+var _default = {};
+function getDefaultWhiteList$1() {
+  var whiteList = {};
+  whiteList["align-content"] = false;
+  whiteList["align-items"] = false;
+  whiteList["align-self"] = false;
+  whiteList["alignment-adjust"] = false;
+  whiteList["alignment-baseline"] = false;
+  whiteList["all"] = false;
+  whiteList["anchor-point"] = false;
+  whiteList["animation"] = false;
+  whiteList["animation-delay"] = false;
+  whiteList["animation-direction"] = false;
+  whiteList["animation-duration"] = false;
+  whiteList["animation-fill-mode"] = false;
+  whiteList["animation-iteration-count"] = false;
+  whiteList["animation-name"] = false;
+  whiteList["animation-play-state"] = false;
+  whiteList["animation-timing-function"] = false;
+  whiteList["azimuth"] = false;
+  whiteList["backface-visibility"] = false;
+  whiteList["background"] = true;
+  whiteList["background-attachment"] = true;
+  whiteList["background-clip"] = true;
+  whiteList["background-color"] = true;
+  whiteList["background-image"] = true;
+  whiteList["background-origin"] = true;
+  whiteList["background-position"] = true;
+  whiteList["background-repeat"] = true;
+  whiteList["background-size"] = true;
+  whiteList["baseline-shift"] = false;
+  whiteList["binding"] = false;
+  whiteList["bleed"] = false;
+  whiteList["bookmark-label"] = false;
+  whiteList["bookmark-level"] = false;
+  whiteList["bookmark-state"] = false;
+  whiteList["border"] = true;
+  whiteList["border-bottom"] = true;
+  whiteList["border-bottom-color"] = true;
+  whiteList["border-bottom-left-radius"] = true;
+  whiteList["border-bottom-right-radius"] = true;
+  whiteList["border-bottom-style"] = true;
+  whiteList["border-bottom-width"] = true;
+  whiteList["border-collapse"] = true;
+  whiteList["border-color"] = true;
+  whiteList["border-image"] = true;
+  whiteList["border-image-outset"] = true;
+  whiteList["border-image-repeat"] = true;
+  whiteList["border-image-slice"] = true;
+  whiteList["border-image-source"] = true;
+  whiteList["border-image-width"] = true;
+  whiteList["border-left"] = true;
+  whiteList["border-left-color"] = true;
+  whiteList["border-left-style"] = true;
+  whiteList["border-left-width"] = true;
+  whiteList["border-radius"] = true;
+  whiteList["border-right"] = true;
+  whiteList["border-right-color"] = true;
+  whiteList["border-right-style"] = true;
+  whiteList["border-right-width"] = true;
+  whiteList["border-spacing"] = true;
+  whiteList["border-style"] = true;
+  whiteList["border-top"] = true;
+  whiteList["border-top-color"] = true;
+  whiteList["border-top-left-radius"] = true;
+  whiteList["border-top-right-radius"] = true;
+  whiteList["border-top-style"] = true;
+  whiteList["border-top-width"] = true;
+  whiteList["border-width"] = true;
+  whiteList["bottom"] = false;
+  whiteList["box-decoration-break"] = true;
+  whiteList["box-shadow"] = true;
+  whiteList["box-sizing"] = true;
+  whiteList["box-snap"] = true;
+  whiteList["box-suppress"] = true;
+  whiteList["break-after"] = true;
+  whiteList["break-before"] = true;
+  whiteList["break-inside"] = true;
+  whiteList["caption-side"] = false;
+  whiteList["chains"] = false;
+  whiteList["clear"] = true;
+  whiteList["clip"] = false;
+  whiteList["clip-path"] = false;
+  whiteList["clip-rule"] = false;
+  whiteList["color"] = true;
+  whiteList["color-interpolation-filters"] = true;
+  whiteList["column-count"] = false;
+  whiteList["column-fill"] = false;
+  whiteList["column-gap"] = false;
+  whiteList["column-rule"] = false;
+  whiteList["column-rule-color"] = false;
+  whiteList["column-rule-style"] = false;
+  whiteList["column-rule-width"] = false;
+  whiteList["column-span"] = false;
+  whiteList["column-width"] = false;
+  whiteList["columns"] = false;
+  whiteList["contain"] = false;
+  whiteList["content"] = false;
+  whiteList["counter-increment"] = false;
+  whiteList["counter-reset"] = false;
+  whiteList["counter-set"] = false;
+  whiteList["crop"] = false;
+  whiteList["cue"] = false;
+  whiteList["cue-after"] = false;
+  whiteList["cue-before"] = false;
+  whiteList["cursor"] = false;
+  whiteList["direction"] = false;
+  whiteList["display"] = true;
+  whiteList["display-inside"] = true;
+  whiteList["display-list"] = true;
+  whiteList["display-outside"] = true;
+  whiteList["dominant-baseline"] = false;
+  whiteList["elevation"] = false;
+  whiteList["empty-cells"] = false;
+  whiteList["filter"] = false;
+  whiteList["flex"] = false;
+  whiteList["flex-basis"] = false;
+  whiteList["flex-direction"] = false;
+  whiteList["flex-flow"] = false;
+  whiteList["flex-grow"] = false;
+  whiteList["flex-shrink"] = false;
+  whiteList["flex-wrap"] = false;
+  whiteList["float"] = false;
+  whiteList["float-offset"] = false;
+  whiteList["flood-color"] = false;
+  whiteList["flood-opacity"] = false;
+  whiteList["flow-from"] = false;
+  whiteList["flow-into"] = false;
+  whiteList["font"] = true;
+  whiteList["font-family"] = true;
+  whiteList["font-feature-settings"] = true;
+  whiteList["font-kerning"] = true;
+  whiteList["font-language-override"] = true;
+  whiteList["font-size"] = true;
+  whiteList["font-size-adjust"] = true;
+  whiteList["font-stretch"] = true;
+  whiteList["font-style"] = true;
+  whiteList["font-synthesis"] = true;
+  whiteList["font-variant"] = true;
+  whiteList["font-variant-alternates"] = true;
+  whiteList["font-variant-caps"] = true;
+  whiteList["font-variant-east-asian"] = true;
+  whiteList["font-variant-ligatures"] = true;
+  whiteList["font-variant-numeric"] = true;
+  whiteList["font-variant-position"] = true;
+  whiteList["font-weight"] = true;
+  whiteList["grid"] = false;
+  whiteList["grid-area"] = false;
+  whiteList["grid-auto-columns"] = false;
+  whiteList["grid-auto-flow"] = false;
+  whiteList["grid-auto-rows"] = false;
+  whiteList["grid-column"] = false;
+  whiteList["grid-column-end"] = false;
+  whiteList["grid-column-start"] = false;
+  whiteList["grid-row"] = false;
+  whiteList["grid-row-end"] = false;
+  whiteList["grid-row-start"] = false;
+  whiteList["grid-template"] = false;
+  whiteList["grid-template-areas"] = false;
+  whiteList["grid-template-columns"] = false;
+  whiteList["grid-template-rows"] = false;
+  whiteList["hanging-punctuation"] = false;
+  whiteList["height"] = true;
+  whiteList["hyphens"] = false;
+  whiteList["icon"] = false;
+  whiteList["image-orientation"] = false;
+  whiteList["image-resolution"] = false;
+  whiteList["ime-mode"] = false;
+  whiteList["initial-letters"] = false;
+  whiteList["inline-box-align"] = false;
+  whiteList["justify-content"] = false;
+  whiteList["justify-items"] = false;
+  whiteList["justify-self"] = false;
+  whiteList["left"] = false;
+  whiteList["letter-spacing"] = true;
+  whiteList["lighting-color"] = true;
+  whiteList["line-box-contain"] = false;
+  whiteList["line-break"] = false;
+  whiteList["line-grid"] = false;
+  whiteList["line-height"] = false;
+  whiteList["line-snap"] = false;
+  whiteList["line-stacking"] = false;
+  whiteList["line-stacking-ruby"] = false;
+  whiteList["line-stacking-shift"] = false;
+  whiteList["line-stacking-strategy"] = false;
+  whiteList["list-style"] = true;
+  whiteList["list-style-image"] = true;
+  whiteList["list-style-position"] = true;
+  whiteList["list-style-type"] = true;
+  whiteList["margin"] = true;
+  whiteList["margin-bottom"] = true;
+  whiteList["margin-left"] = true;
+  whiteList["margin-right"] = true;
+  whiteList["margin-top"] = true;
+  whiteList["marker-offset"] = false;
+  whiteList["marker-side"] = false;
+  whiteList["marks"] = false;
+  whiteList["mask"] = false;
+  whiteList["mask-box"] = false;
+  whiteList["mask-box-outset"] = false;
+  whiteList["mask-box-repeat"] = false;
+  whiteList["mask-box-slice"] = false;
+  whiteList["mask-box-source"] = false;
+  whiteList["mask-box-width"] = false;
+  whiteList["mask-clip"] = false;
+  whiteList["mask-image"] = false;
+  whiteList["mask-origin"] = false;
+  whiteList["mask-position"] = false;
+  whiteList["mask-repeat"] = false;
+  whiteList["mask-size"] = false;
+  whiteList["mask-source-type"] = false;
+  whiteList["mask-type"] = false;
+  whiteList["max-height"] = true;
+  whiteList["max-lines"] = false;
+  whiteList["max-width"] = true;
+  whiteList["min-height"] = true;
+  whiteList["min-width"] = true;
+  whiteList["move-to"] = false;
+  whiteList["nav-down"] = false;
+  whiteList["nav-index"] = false;
+  whiteList["nav-left"] = false;
+  whiteList["nav-right"] = false;
+  whiteList["nav-up"] = false;
+  whiteList["object-fit"] = false;
+  whiteList["object-position"] = false;
+  whiteList["opacity"] = false;
+  whiteList["order"] = false;
+  whiteList["orphans"] = false;
+  whiteList["outline"] = false;
+  whiteList["outline-color"] = false;
+  whiteList["outline-offset"] = false;
+  whiteList["outline-style"] = false;
+  whiteList["outline-width"] = false;
+  whiteList["overflow"] = false;
+  whiteList["overflow-wrap"] = false;
+  whiteList["overflow-x"] = false;
+  whiteList["overflow-y"] = false;
+  whiteList["padding"] = true;
+  whiteList["padding-bottom"] = true;
+  whiteList["padding-left"] = true;
+  whiteList["padding-right"] = true;
+  whiteList["padding-top"] = true;
+  whiteList["page"] = false;
+  whiteList["page-break-after"] = false;
+  whiteList["page-break-before"] = false;
+  whiteList["page-break-inside"] = false;
+  whiteList["page-policy"] = false;
+  whiteList["pause"] = false;
+  whiteList["pause-after"] = false;
+  whiteList["pause-before"] = false;
+  whiteList["perspective"] = false;
+  whiteList["perspective-origin"] = false;
+  whiteList["pitch"] = false;
+  whiteList["pitch-range"] = false;
+  whiteList["play-during"] = false;
+  whiteList["position"] = false;
+  whiteList["presentation-level"] = false;
+  whiteList["quotes"] = false;
+  whiteList["region-fragment"] = false;
+  whiteList["resize"] = false;
+  whiteList["rest"] = false;
+  whiteList["rest-after"] = false;
+  whiteList["rest-before"] = false;
+  whiteList["richness"] = false;
+  whiteList["right"] = false;
+  whiteList["rotation"] = false;
+  whiteList["rotation-point"] = false;
+  whiteList["ruby-align"] = false;
+  whiteList["ruby-merge"] = false;
+  whiteList["ruby-position"] = false;
+  whiteList["shape-image-threshold"] = false;
+  whiteList["shape-outside"] = false;
+  whiteList["shape-margin"] = false;
+  whiteList["size"] = false;
+  whiteList["speak"] = false;
+  whiteList["speak-as"] = false;
+  whiteList["speak-header"] = false;
+  whiteList["speak-numeral"] = false;
+  whiteList["speak-punctuation"] = false;
+  whiteList["speech-rate"] = false;
+  whiteList["stress"] = false;
+  whiteList["string-set"] = false;
+  whiteList["tab-size"] = false;
+  whiteList["table-layout"] = false;
+  whiteList["text-align"] = true;
+  whiteList["text-align-last"] = true;
+  whiteList["text-combine-upright"] = true;
+  whiteList["text-decoration"] = true;
+  whiteList["text-decoration-color"] = true;
+  whiteList["text-decoration-line"] = true;
+  whiteList["text-decoration-skip"] = true;
+  whiteList["text-decoration-style"] = true;
+  whiteList["text-emphasis"] = true;
+  whiteList["text-emphasis-color"] = true;
+  whiteList["text-emphasis-position"] = true;
+  whiteList["text-emphasis-style"] = true;
+  whiteList["text-height"] = true;
+  whiteList["text-indent"] = true;
+  whiteList["text-justify"] = true;
+  whiteList["text-orientation"] = true;
+  whiteList["text-overflow"] = true;
+  whiteList["text-shadow"] = true;
+  whiteList["text-space-collapse"] = true;
+  whiteList["text-transform"] = true;
+  whiteList["text-underline-position"] = true;
+  whiteList["text-wrap"] = true;
+  whiteList["top"] = false;
+  whiteList["transform"] = false;
+  whiteList["transform-origin"] = false;
+  whiteList["transform-style"] = false;
+  whiteList["transition"] = false;
+  whiteList["transition-delay"] = false;
+  whiteList["transition-duration"] = false;
+  whiteList["transition-property"] = false;
+  whiteList["transition-timing-function"] = false;
+  whiteList["unicode-bidi"] = false;
+  whiteList["vertical-align"] = false;
+  whiteList["visibility"] = false;
+  whiteList["voice-balance"] = false;
+  whiteList["voice-duration"] = false;
+  whiteList["voice-family"] = false;
+  whiteList["voice-pitch"] = false;
+  whiteList["voice-range"] = false;
+  whiteList["voice-rate"] = false;
+  whiteList["voice-stress"] = false;
+  whiteList["voice-volume"] = false;
+  whiteList["volume"] = false;
+  whiteList["white-space"] = false;
+  whiteList["widows"] = false;
+  whiteList["width"] = true;
+  whiteList["will-change"] = false;
+  whiteList["word-break"] = true;
+  whiteList["word-spacing"] = true;
+  whiteList["word-wrap"] = true;
+  whiteList["wrap-flow"] = false;
+  whiteList["wrap-through"] = false;
+  whiteList["writing-mode"] = false;
+  whiteList["z-index"] = false;
+  return whiteList;
+}
+function onAttr(name2, value, options2) {
+}
+function onIgnoreAttr(name2, value, options2) {
+}
+var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
+function safeAttrValue$1(name2, value) {
+  if (REGEXP_URL_JAVASCRIPT.test(value))
+    return "";
+  return value;
+}
+_default.whiteList = getDefaultWhiteList$1();
+_default.getDefaultWhiteList = getDefaultWhiteList$1;
+_default.onAttr = onAttr;
+_default.onIgnoreAttr = onIgnoreAttr;
+_default.safeAttrValue = safeAttrValue$1;
+var util$3 = {
+  indexOf: function(arr, item) {
+    var i2, j2;
+    if (Array.prototype.indexOf) {
+      return arr.indexOf(item);
+    }
+    for (i2 = 0, j2 = arr.length; i2 < j2; i2++) {
+      if (arr[i2] === item) {
+        return i2;
+      }
+    }
+    return -1;
+  },
+  forEach: function(arr, fn, scope) {
+    var i2, j2;
+    if (Array.prototype.forEach) {
+      return arr.forEach(fn, scope);
+    }
+    for (i2 = 0, j2 = arr.length; i2 < j2; i2++) {
+      fn.call(scope, arr[i2], i2, arr);
+    }
+  },
+  trim: function(str) {
+    if (String.prototype.trim) {
+      return str.trim();
+    }
+    return str.replace(/(^\s*)|(\s*$)/g, "");
+  },
+  trimRight: function(str) {
+    if (String.prototype.trimRight) {
+      return str.trimRight();
+    }
+    return str.replace(/(\s*$)/g, "");
+  }
+};
+var _$3 = util$3;
+function parseStyle$1(css2, onAttr2) {
+  css2 = _$3.trimRight(css2);
+  if (css2[css2.length - 1] !== ";")
+    css2 += ";";
+  var cssLength = css2.length;
+  var isParenthesisOpen = false;
+  var lastPos = 0;
+  var i2 = 0;
+  var retCSS = "";
+  function addNewAttr() {
+    if (!isParenthesisOpen) {
+      var source2 = _$3.trim(css2.slice(lastPos, i2));
+      var j3 = source2.indexOf(":");
+      if (j3 !== -1) {
+        var name2 = _$3.trim(source2.slice(0, j3));
+        var value = _$3.trim(source2.slice(j3 + 1));
+        if (name2) {
+          var ret = onAttr2(lastPos, retCSS.length, name2, value, source2);
+          if (ret)
+            retCSS += ret + "; ";
+        }
+      }
+    }
+    lastPos = i2 + 1;
+  }
+  for (; i2 < cssLength; i2++) {
+    var c2 = css2[i2];
+    if (c2 === "/" && css2[i2 + 1] === "*") {
+      var j2 = css2.indexOf("*/", i2 + 2);
+      if (j2 === -1)
+        break;
+      i2 = j2 + 1;
+      lastPos = i2 + 1;
+      isParenthesisOpen = false;
+    } else if (c2 === "(") {
+      isParenthesisOpen = true;
+    } else if (c2 === ")") {
+      isParenthesisOpen = false;
+    } else if (c2 === ";") {
+      if (isParenthesisOpen)
+        ;
+      else {
+        addNewAttr();
+      }
+    } else if (c2 === "\n") {
+      addNewAttr();
+    }
+  }
+  return _$3.trim(retCSS);
+}
+var parser$2 = parseStyle$1;
+var DEFAULT$1 = _default;
+var parseStyle = parser$2;
+function isNull$1(obj2) {
+  return obj2 === void 0 || obj2 === null;
+}
+function shallowCopyObject$1(obj2) {
+  var ret = {};
+  for (var i2 in obj2) {
+    ret[i2] = obj2[i2];
+  }
+  return ret;
+}
+function FilterCSS$2(options2) {
+  options2 = shallowCopyObject$1(options2 || {});
+  options2.whiteList = options2.whiteList || DEFAULT$1.whiteList;
+  options2.onAttr = options2.onAttr || DEFAULT$1.onAttr;
+  options2.onIgnoreAttr = options2.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;
+  options2.safeAttrValue = options2.safeAttrValue || DEFAULT$1.safeAttrValue;
+  this.options = options2;
+}
+FilterCSS$2.prototype.process = function(css2) {
+  css2 = css2 || "";
+  css2 = css2.toString();
+  if (!css2)
+    return "";
+  var me = this;
+  var options2 = me.options;
+  var whiteList = options2.whiteList;
+  var onAttr2 = options2.onAttr;
+  var onIgnoreAttr2 = options2.onIgnoreAttr;
+  var safeAttrValue2 = options2.safeAttrValue;
+  var retCSS = parseStyle(css2, function(sourcePosition, position2, name2, value, source2) {
+    var check2 = whiteList[name2];
+    var isWhite = false;
+    if (check2 === true)
+      isWhite = check2;
+    else if (typeof check2 === "function")
+      isWhite = check2(value);
+    else if (check2 instanceof RegExp)
+      isWhite = check2.test(value);
+    if (isWhite !== true)
+      isWhite = false;
+    value = safeAttrValue2(name2, value);
+    if (!value)
+      return;
+    var opts2 = {
+      position: position2,
+      sourcePosition,
+      source: source2,
+      isWhite
+    };
+    if (isWhite) {
+      var ret = onAttr2(name2, value, opts2);
+      if (isNull$1(ret)) {
+        return name2 + ":" + value;
+      } else {
+        return ret;
+      }
+    } else {
+      var ret = onIgnoreAttr2(name2, value, opts2);
+      if (!isNull$1(ret)) {
+        return ret;
+      }
+    }
+  });
+  return retCSS;
+};
+var css = FilterCSS$2;
+(function(module2, exports2) {
+  var DEFAULT2 = _default;
+  var FilterCSS2 = css;
+  function filterCSS(html, options2) {
+    var xss2 = new FilterCSS2(options2);
+    return xss2.process(html);
+  }
+  exports2 = module2.exports = filterCSS;
+  exports2.FilterCSS = FilterCSS2;
+  for (var i2 in DEFAULT2)
+    exports2[i2] = DEFAULT2[i2];
+  if (typeof window !== "undefined") {
+    window.filterCSS = module2.exports;
+  }
+})(lib, lib.exports);
+var libExports$1 = lib.exports;
+var util$2 = {
+  indexOf: function(arr, item) {
+    var i2, j2;
+    if (Array.prototype.indexOf) {
+      return arr.indexOf(item);
+    }
+    for (i2 = 0, j2 = arr.length; i2 < j2; i2++) {
+      if (arr[i2] === item) {
+        return i2;
+      }
+    }
+    return -1;
+  },
+  forEach: function(arr, fn, scope) {
+    var i2, j2;
+    if (Array.prototype.forEach) {
+      return arr.forEach(fn, scope);
+    }
+    for (i2 = 0, j2 = arr.length; i2 < j2; i2++) {
+      fn.call(scope, arr[i2], i2, arr);
+    }
+  },
+  trim: function(str) {
+    if (String.prototype.trim) {
+      return str.trim();
+    }
+    return str.replace(/(^\s*)|(\s*$)/g, "");
+  },
+  spaceIndex: function(str) {
+    var reg = /\s|\n|\t/;
+    var match = reg.exec(str);
+    return match ? match.index : -1;
+  }
+};
+var FilterCSS$1 = libExports$1.FilterCSS;
+var getDefaultCSSWhiteList = libExports$1.getDefaultWhiteList;
+var _$2 = util$2;
+function getDefaultWhiteList() {
+  return {
+    a: ["target", "href", "title"],
+    abbr: ["title"],
+    address: [],
+    area: ["shape", "coords", "href", "alt"],
+    article: [],
+    aside: [],
+    audio: [
+      "autoplay",
+      "controls",
+      "crossorigin",
+      "loop",
+      "muted",
+      "preload",
+      "src"
+    ],
+    b: [],
+    bdi: ["dir"],
+    bdo: ["dir"],
+    big: [],
+    blockquote: ["cite"],
+    br: [],
+    caption: [],
+    center: [],
+    cite: [],
+    code: [],
+    col: ["align", "valign", "span", "width"],
+    colgroup: ["align", "valign", "span", "width"],
+    dd: [],
+    del: ["datetime"],
+    details: ["open"],
+    div: [],
+    dl: [],
+    dt: [],
+    em: [],
+    figcaption: [],
+    figure: [],
+    font: ["color", "size", "face"],
+    footer: [],
+    h1: [],
+    h2: [],
+    h3: [],
+    h4: [],
+    h5: [],
+    h6: [],
+    header: [],
+    hr: [],
+    i: [],
+    img: ["src", "alt", "title", "width", "height"],
+    ins: ["datetime"],
+    li: [],
+    mark: [],
+    nav: [],
+    ol: [],
+    p: [],
+    pre: [],
+    s: [],
+    section: [],
+    small: [],
+    span: [],
+    sub: [],
+    summary: [],
+    sup: [],
+    strong: [],
+    strike: [],
+    table: ["width", "border", "align", "valign"],
+    tbody: ["align", "valign"],
+    td: ["width", "rowspan", "colspan", "align", "valign"],
+    tfoot: ["align", "valign"],
+    th: ["width", "rowspan", "colspan", "align", "valign"],
+    thead: ["align", "valign"],
+    tr: ["rowspan", "align", "valign"],
+    tt: [],
+    u: [],
+    ul: [],
+    video: [
+      "autoplay",
+      "controls",
+      "crossorigin",
+      "loop",
+      "muted",
+      "playsinline",
+      "poster",
+      "preload",
+      "src",
+      "height",
+      "width"
+    ]
+  };
+}
+var defaultCSSFilter = new FilterCSS$1();
+function onTag(tag, html, options2) {
+}
+function onIgnoreTag(tag, html, options2) {
+}
+function onTagAttr(tag, name2, value) {
+}
+function onIgnoreTagAttr(tag, name2, value) {
+}
+function escapeHtml(html) {
+  return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
+}
+function safeAttrValue(tag, name2, value, cssFilter) {
+  value = friendlyAttrValue(value);
+  if (name2 === "href" || name2 === "src") {
+    value = _$2.trim(value);
+    if (value === "#")
+      return "#";
+    if (!(value.substr(0, 7) === "http://" || value.substr(0, 8) === "https://" || value.substr(0, 7) === "mailto:" || value.substr(0, 4) === "tel:" || value.substr(0, 11) === "data:image/" || value.substr(0, 6) === "ftp://" || value.substr(0, 2) === "./" || value.substr(0, 3) === "../" || value[0] === "#" || value[0] === "/")) {
+      return "";
+    }
+  } else if (name2 === "background") {
+    REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
+    if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
+      return "";
+    }
+  } else if (name2 === "style") {
+    REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
+    if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
+      return "";
+    }
+    REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
+    if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
+      REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
+      if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
+        return "";
+      }
+    }
+    if (cssFilter !== false) {
+      cssFilter = cssFilter || defaultCSSFilter;
+      value = cssFilter.process(value);
+    }
+  }
+  value = escapeAttrValue(value);
+  return value;
+}
+var REGEXP_LT = /</g;
+var REGEXP_GT = />/g;
+var REGEXP_QUOTE = /"/g;
+var REGEXP_QUOTE_2 = /&quot;/g;
+var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
+var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
+var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
+var REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi;
+var REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
+var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
+function escapeQuote(str) {
+  return str.replace(REGEXP_QUOTE, "&quot;");
+}
+function unescapeQuote(str) {
+  return str.replace(REGEXP_QUOTE_2, '"');
+}
+function escapeHtmlEntities(str) {
+  return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str2, code) {
+    return code[0] === "x" || code[0] === "X" ? String.fromCharCode(parseInt(code.substr(1), 16)) : String.fromCharCode(parseInt(code, 10));
+  });
+}
+function escapeDangerHtml5Entities(str) {
+  return str.replace(REGEXP_ATTR_VALUE_COLON, ":").replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
+}
+function clearNonPrintableCharacter(str) {
+  var str2 = "";
+  for (var i2 = 0, len2 = str.length; i2 < len2; i2++) {
+    str2 += str.charCodeAt(i2) < 32 ? " " : str.charAt(i2);
+  }
+  return _$2.trim(str2);
+}
+function friendlyAttrValue(str) {
+  str = unescapeQuote(str);
+  str = escapeHtmlEntities(str);
+  str = escapeDangerHtml5Entities(str);
+  str = clearNonPrintableCharacter(str);
+  return str;
+}
+function escapeAttrValue(str) {
+  str = escapeQuote(str);
+  str = escapeHtml(str);
+  return str;
+}
+function onIgnoreTagStripAll() {
+  return "";
+}
+function StripTagBody(tags, next) {
+  if (typeof next !== "function") {
+    next = function() {
+    };
+  }
+  var isRemoveAllTag = !Array.isArray(tags);
+  function isRemoveTag(tag) {
+    if (isRemoveAllTag)
+      return true;
+    return _$2.indexOf(tags, tag) !== -1;
+  }
+  var removeList = [];
+  var posStart = false;
+  return {
+    onIgnoreTag: function(tag, html, options2) {
+      if (isRemoveTag(tag)) {
+        if (options2.isClosing) {
+          var ret = "[/removed]";
+          var end2 = options2.position + ret.length;
+          removeList.push([
+            posStart !== false ? posStart : options2.position,
+            end2
+          ]);
+          posStart = false;
+          return ret;
+        } else {
+          if (!posStart) {
+            posStart = options2.position;
+          }
+          return "[removed]";
+        }
+      } else {
+        return next(tag, html, options2);
+      }
+    },
+    remove: function(html) {
+      var rethtml = "";
+      var lastPos = 0;
+      _$2.forEach(removeList, function(pos) {
+        rethtml += html.slice(lastPos, pos[0]);
+        lastPos = pos[1];
+      });
+      rethtml += html.slice(lastPos);
+      return rethtml;
+    }
+  };
+}
+function stripCommentTag(html) {
+  var retHtml = "";
+  var lastPos = 0;
+  while (lastPos < html.length) {
+    var i2 = html.indexOf("<!--", lastPos);
+    if (i2 === -1) {
+      retHtml += html.slice(lastPos);
+      break;
+    }
+    retHtml += html.slice(lastPos, i2);
+    var j2 = html.indexOf("-->", i2);
+    if (j2 === -1) {
+      break;
+    }
+    lastPos = j2 + 3;
+  }
+  return retHtml;
+}
+function stripBlankChar(html) {
+  var chars = html.split("");
+  chars = chars.filter(function(char) {
+    var c2 = char.charCodeAt(0);
+    if (c2 === 127)
+      return false;
+    if (c2 <= 31) {
+      if (c2 === 10 || c2 === 13)
+        return true;
+      return false;
+    }
+    return true;
+  });
+  return chars.join("");
+}
+_default$1.whiteList = getDefaultWhiteList();
+_default$1.getDefaultWhiteList = getDefaultWhiteList;
+_default$1.onTag = onTag;
+_default$1.onIgnoreTag = onIgnoreTag;
+_default$1.onTagAttr = onTagAttr;
+_default$1.onIgnoreTagAttr = onIgnoreTagAttr;
+_default$1.safeAttrValue = safeAttrValue;
+_default$1.escapeHtml = escapeHtml;
+_default$1.escapeQuote = escapeQuote;
+_default$1.unescapeQuote = unescapeQuote;
+_default$1.escapeHtmlEntities = escapeHtmlEntities;
+_default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
+_default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;
+_default$1.friendlyAttrValue = friendlyAttrValue;
+_default$1.escapeAttrValue = escapeAttrValue;
+_default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;
+_default$1.StripTagBody = StripTagBody;
+_default$1.stripCommentTag = stripCommentTag;
+_default$1.stripBlankChar = stripBlankChar;
+_default$1.cssFilter = defaultCSSFilter;
+_default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
+var parser$1 = {};
+var _$1 = util$2;
+function getTagName(html) {
+  var i2 = _$1.spaceIndex(html);
+  if (i2 === -1) {
+    var tagName = html.slice(1, -1);
+  } else {
+    var tagName = html.slice(1, i2 + 1);
+  }
+  tagName = _$1.trim(tagName).toLowerCase();
+  if (tagName.slice(0, 1) === "/")
+    tagName = tagName.slice(1);
+  if (tagName.slice(-1) === "/")
+    tagName = tagName.slice(0, -1);
+  return tagName;
+}
+function isClosing(html) {
+  return html.slice(0, 2) === "</";
+}
+function parseTag$1(html, onTag2, escapeHtml2) {
+  var rethtml = "";
+  var lastPos = 0;
+  var tagStart = false;
+  var quoteStart = false;
+  var currentPos = 0;
+  var len2 = html.length;
+  var currentTagName = "";
+  var currentHtml = "";
+  chariterator:
+    for (currentPos = 0; currentPos < len2; currentPos++) {
+      var c2 = html.charAt(currentPos);
+      if (tagStart === false) {
+        if (c2 === "<") {
+          tagStart = currentPos;
+          continue;
+        }
+      } else {
+        if (quoteStart === false) {
+          if (c2 === "<") {
+            rethtml += escapeHtml2(html.slice(lastPos, currentPos));
+            tagStart = currentPos;
+            lastPos = currentPos;
+            continue;
+          }
+          if (c2 === ">") {
+            rethtml += escapeHtml2(html.slice(lastPos, tagStart));
+            currentHtml = html.slice(tagStart, currentPos + 1);
+            currentTagName = getTagName(currentHtml);
+            rethtml += onTag2(
+              tagStart,
+              rethtml.length,
+              currentTagName,
+              currentHtml,
+              isClosing(currentHtml)
+            );
+            lastPos = currentPos + 1;
+            tagStart = false;
+            continue;
+          }
+          if (c2 === '"' || c2 === "'") {
+            var i2 = 1;
+            var ic = html.charAt(currentPos - i2);
+            while (ic.trim() === "" || ic === "=") {
+              if (ic === "=") {
+                quoteStart = c2;
+                continue chariterator;
+              }
+              ic = html.charAt(currentPos - ++i2);
+            }
+          }
+        } else {
+          if (c2 === quoteStart) {
+            quoteStart = false;
+            continue;
+          }
+        }
+      }
+    }
+  if (lastPos < html.length) {
+    rethtml += escapeHtml2(html.substr(lastPos));
+  }
+  return rethtml;
+}
+var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\.\-]/gim;
+function parseAttr$1(html, onAttr2) {
+  var lastPos = 0;
+  var retAttrs = [];
+  var tmpName = false;
+  var len2 = html.length;
+  function addAttr(name2, value) {
+    name2 = _$1.trim(name2);
+    name2 = name2.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
+    if (name2.length < 1)
+      return;
+    var ret = onAttr2(name2, value || "");
+    if (ret)
+      retAttrs.push(ret);
+  }
+  for (var i2 = 0; i2 < len2; i2++) {
+    var c2 = html.charAt(i2);
+    var v4, j2;
+    if (tmpName === false && c2 === "=") {
+      tmpName = html.slice(lastPos, i2);
+      lastPos = i2 + 1;
+      continue;
+    }
+    if (tmpName !== false) {
+      if (i2 === lastPos && (c2 === '"' || c2 === "'") && html.charAt(i2 - 1) === "=") {
+        j2 = html.indexOf(c2, i2 + 1);
+        if (j2 === -1) {
+          break;
+        } else {
+          v4 = _$1.trim(html.slice(lastPos + 1, j2));
+          addAttr(tmpName, v4);
+          tmpName = false;
+          i2 = j2;
+          lastPos = i2 + 1;
+          continue;
+        }
+      }
+    }
+    if (/\s|\n|\t/.test(c2)) {
+      html = html.replace(/\s|\n|\t/g, " ");
+      if (tmpName === false) {
+        j2 = findNextEqual(html, i2);
+        if (j2 === -1) {
+          v4 = _$1.trim(html.slice(lastPos, i2));
+          addAttr(v4);
+          tmpName = false;
+          lastPos = i2 + 1;
+          continue;
+        } else {
+          i2 = j2 - 1;
+          continue;
+        }
+      } else {
+        j2 = findBeforeEqual(html, i2 - 1);
+        if (j2 === -1) {
+          v4 = _$1.trim(html.slice(lastPos, i2));
+          v4 = stripQuoteWrap(v4);
+          addAttr(tmpName, v4);
+          tmpName = false;
+          lastPos = i2 + 1;
+          continue;
+        } else {
+          continue;
+        }
+      }
+    }
+  }
+  if (lastPos < html.length) {
+    if (tmpName === false) {
+      addAttr(html.slice(lastPos));
+    } else {
+      addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
+    }
+  }
+  return _$1.trim(retAttrs.join(" "));
+}
+function findNextEqual(str, i2) {
+  for (; i2 < str.length; i2++) {
+    var c2 = str[i2];
+    if (c2 === " ")
+      continue;
+    if (c2 === "=")
+      return i2;
+    return -1;
+  }
+}
+function findBeforeEqual(str, i2) {
+  for (; i2 > 0; i2--) {
+    var c2 = str[i2];
+    if (c2 === " ")
+      continue;
+    if (c2 === "=")
+      return i2;
+    return -1;
+  }
+}
+function isQuoteWrapString(text2) {
+  if (text2[0] === '"' && text2[text2.length - 1] === '"' || text2[0] === "'" && text2[text2.length - 1] === "'") {
+    return true;
+  } else {
+    return false;
+  }
+}
+function stripQuoteWrap(text2) {
+  if (isQuoteWrapString(text2)) {
+    return text2.substr(1, text2.length - 2);
+  } else {
+    return text2;
+  }
+}
+parser$1.parseTag = parseTag$1;
+parser$1.parseAttr = parseAttr$1;
+var FilterCSS = libExports$1.FilterCSS;
+var DEFAULT = _default$1;
+var parser = parser$1;
+var parseTag = parser.parseTag;
+var parseAttr = parser.parseAttr;
+var _ = util$2;
+function isNull(obj2) {
+  return obj2 === void 0 || obj2 === null;
+}
+function getAttrs(html) {
+  var i2 = _.spaceIndex(html);
+  if (i2 === -1) {
+    return {
+      html: "",
+      closing: html[html.length - 2] === "/"
+    };
+  }
+  html = _.trim(html.slice(i2 + 1, -1));
+  var isClosing2 = html[html.length - 1] === "/";
+  if (isClosing2)
+    html = _.trim(html.slice(0, -1));
+  return {
+    html,
+    closing: isClosing2
+  };
+}
+function shallowCopyObject(obj2) {
+  var ret = {};
+  for (var i2 in obj2) {
+    ret[i2] = obj2[i2];
+  }
+  return ret;
+}
+function FilterXSS(options2) {
+  options2 = shallowCopyObject(options2 || {});
+  if (options2.stripIgnoreTag) {
+    if (options2.onIgnoreTag) {
+      console.error(
+        'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'
+      );
+    }
+    options2.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;
+  }
+  options2.whiteList = options2.whiteList || options2.allowList || DEFAULT.whiteList;
+  options2.onTag = options2.onTag || DEFAULT.onTag;
+  options2.onTagAttr = options2.onTagAttr || DEFAULT.onTagAttr;
+  options2.onIgnoreTag = options2.onIgnoreTag || DEFAULT.onIgnoreTag;
+  options2.onIgnoreTagAttr = options2.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;
+  options2.safeAttrValue = options2.safeAttrValue || DEFAULT.safeAttrValue;
+  options2.escapeHtml = options2.escapeHtml || DEFAULT.escapeHtml;
+  this.options = options2;
+  if (options2.css === false) {
+    this.cssFilter = false;
+  } else {
+    options2.css = options2.css || {};
+    this.cssFilter = new FilterCSS(options2.css);
+  }
+}
+FilterXSS.prototype.process = function(html) {
+  html = html || "";
+  html = html.toString();
+  if (!html)
+    return "";
+  var me = this;
+  var options2 = me.options;
+  var whiteList = options2.whiteList;
+  var onTag2 = options2.onTag;
+  var onIgnoreTag2 = options2.onIgnoreTag;
+  var onTagAttr2 = options2.onTagAttr;
+  var onIgnoreTagAttr2 = options2.onIgnoreTagAttr;
+  var safeAttrValue2 = options2.safeAttrValue;
+  var escapeHtml2 = options2.escapeHtml;
+  var cssFilter = me.cssFilter;
+  if (options2.stripBlankChar) {
+    html = DEFAULT.stripBlankChar(html);
+  }
+  if (!options2.allowCommentTag) {
+    html = DEFAULT.stripCommentTag(html);
+  }
+  var stripIgnoreTagBody = false;
+  if (options2.stripIgnoreTagBody) {
+    var stripIgnoreTagBody = DEFAULT.StripTagBody(
+      options2.stripIgnoreTagBody,
+      onIgnoreTag2
+    );
+    onIgnoreTag2 = stripIgnoreTagBody.onIgnoreTag;
+  }
+  var retHtml = parseTag(
+    html,
+    function(sourcePosition, position2, tag, html2, isClosing2) {
+      var info = {
+        sourcePosition,
+        position: position2,
+        isClosing: isClosing2,
+        isWhite: whiteList.hasOwnProperty(tag)
+      };
+      var ret = onTag2(tag, html2, info);
+      if (!isNull(ret))
+        return ret;
+      if (info.isWhite) {
+        if (info.isClosing) {
+          return "</" + tag + ">";
+        }
+        var attrs = getAttrs(html2);
+        var whiteAttrList = whiteList[tag];
+        var attrsHtml = parseAttr(attrs.html, function(name2, value) {
+          var isWhiteAttr = _.indexOf(whiteAttrList, name2) !== -1;
+          var ret2 = onTagAttr2(tag, name2, value, isWhiteAttr);
+          if (!isNull(ret2))
+            return ret2;
+          if (isWhiteAttr) {
+            value = safeAttrValue2(tag, name2, value, cssFilter);
+            if (value) {
+              return name2 + '="' + value + '"';
+            } else {
+              return name2;
+            }
+          } else {
+            var ret2 = onIgnoreTagAttr2(tag, name2, value, isWhiteAttr);
+            if (!isNull(ret2))
+              return ret2;
+            return;
+          }
+        });
+        var html2 = "<" + tag;
+        if (attrsHtml)
+          html2 += " " + attrsHtml;
+        if (attrs.closing)
+          html2 += " /";
+        html2 += ">";
+        return html2;
+      } else {
+        var ret = onIgnoreTag2(tag, html2, info);
+        if (!isNull(ret))
+          return ret;
+        return escapeHtml2(html2);
+      }
+    },
+    escapeHtml2
+  );
+  if (stripIgnoreTagBody) {
+    retHtml = stripIgnoreTagBody.remove(retHtml);
+  }
+  return retHtml;
+};
+var xss$1 = FilterXSS;
+(function(module2, exports2) {
+  var DEFAULT2 = _default$1;
+  var parser2 = parser$1;
+  var FilterXSS2 = xss$1;
+  function filterXSS(html, options2) {
+    var xss2 = new FilterXSS2(options2);
+    return xss2.process(html);
+  }
+  exports2 = module2.exports = filterXSS;
+  exports2.filterXSS = filterXSS;
+  exports2.FilterXSS = FilterXSS2;
+  for (var i2 in DEFAULT2)
+    exports2[i2] = DEFAULT2[i2];
+  for (var i2 in parser2)
+    exports2[i2] = parser2[i2];
+  if (typeof window !== "undefined") {
+    window.filterXSS = module2.exports;
+  }
+  function isWorkerEnv() {
+    return typeof self !== "undefined" && typeof DedicatedWorkerGlobalScope !== "undefined" && self instanceof DedicatedWorkerGlobalScope;
+  }
+  if (isWorkerEnv()) {
+    self.filterXSS = module2.exports;
+  }
+})(lib$1, lib$1.exports);
+var libExports = lib$1.exports;
+let getWindow = function() {
+  return typeof window === "undefined" ? global : window;
+};
+let xssOptions = {
+  enableAttrs: true,
+  enableHtml: true,
+  enableUrl: true,
+  html: {
+    whiteList: {
+      a: ["class", "style", "contenteditable", "data-id", "data-title", "data-size", "data-last-modified"],
+      address: ["class", "style"],
+      area: ["class", "style"],
+      article: ["class", "style"],
+      aside: ["class", "style"],
+      audio: ["class", "style"],
+      b: ["class", "style"],
+      bdi: ["class", "style"],
+      bdo: ["class", "style"],
+      big: ["class", "style"],
+      blockquote: ["class", "style"],
+      br: ["class", "style"],
+      caption: ["class", "style"],
+      center: ["class", "style"],
+      cite: ["class", "style"],
+      code: ["class", "style"],
+      col: ["class", "style"],
+      colgroup: ["class", "style"],
+      dd: ["class", "style"],
+      del: ["class", "style"],
+      details: ["class", "style"],
+      div: [
+        "class",
+        "style",
+        "spellcheck",
+        "data-gramm",
+        "spellcheck",
+        "data-mode",
+        "data-position",
+        "data-row",
+        "data-cell",
+        "data-rowspan",
+        "data-colspan",
+        "data-cell-bg",
+        "data-parent-bg"
+      ],
+      dl: ["class", "style"],
+      dt: ["class", "style"],
+      em: ["class", "style"],
+      figcaption: ["class", "style"],
+      figure: ["class", "style"],
+      font: ["class", "style"],
+      footer: ["class", "style"],
+      h1: ["class", "style"],
+      h2: ["class", "style"],
+      h3: ["class", "style"],
+      h4: ["class", "style"],
+      h5: ["class", "style"],
+      h6: ["class", "style"],
+      header: ["class", "style"],
+      hr: ["class", "style"],
+      i: ["class", "style", "data-image-id", "data-image"],
+      img: ["class", "style", "devui-editorx-image", "style", "data-image-id"],
+      input: ["class", "style", "data-formula", "data-link", "data-video"],
+      ins: ["class", "style"],
+      li: ["class", "style"],
+      mark: ["class", "style"],
+      nav: ["class", "style"],
+      ol: ["class", "style"],
+      p: ["class", "style"],
+      pre: ["class", "style"],
+      s: ["class", "style"],
+      section: ["class", "style"],
+      small: ["class", "style"],
+      span: ["class", "style", "contenteditable", "color", "style"],
+      sub: ["class", "style"],
+      summary: ["class", "style"],
+      sup: ["class", "style"],
+      strong: ["class", "style"],
+      strike: ["class", "style"],
+      svg: ["class", "style", "t", "viewBox", "version", "xmlns", "p-id", "xmlns:xlink"],
+      path: ["d", "p-id"],
+      table: ["class", "style"],
+      tbody: ["class", "style"],
+      td: ["class", "style", "data-row", "data-cell", "data-cell-bg", "data-parent-bg"],
+      tfoot: ["class", "style"],
+      th: ["class", "style"],
+      thead: ["class", "style"],
+      tr: ["class", "style", "data-row"],
+      tt: ["class", "style"],
+      u: ["class", "style"],
+      ul: ["class", "style"],
+      video: ["class", "style"]
+    }
+  }
+};
+let defaultWhiteList = libExports.getDefaultWhiteList && libExports.getDefaultWhiteList() || {};
+xssOptions.html.whiteList = Object.assign(defaultWhiteList, xssOptions.html.whiteList);
+let xssFilterHtml = new libExports.FilterXSS(xssOptions.html);
+let getXssOption = function() {
+  return xssOptions;
+};
+let setXssOption = function(option) {
+  let _a2;
+  let whiteList;
+  if ((_a2 = option === null || option === void 0 ? void 0 : option.html) === null || _a2 === void 0 ? void 0 : _a2.whiteList) {
+    whiteList = Object.assign(xssOptions.html.whiteList, option.html.whiteList);
+  }
+  xssOptions = Object.assign(xssOptions, option);
+  if (whiteList) {
+    xssOptions.html.whiteList = whiteList;
+  }
+  xssFilterHtml = new libExports.FilterXSS(xssOptions.html);
+};
+let filterHtml = function(content) {
+  if (!xssOptions.enableHtml || typeof content !== "string") {
+    return content;
+  }
+  return xssFilterHtml.process(content);
+};
+let setFilterHtml = function(filter4) {
+  filterHtml = filter4;
+};
+let filterAttrs$1 = function(content) {
+  if (!xssOptions.enableAttrs || typeof content !== "string") {
+    return content;
+  }
+  return content.replace(/<.*?>/gi, "").replace(/on[a-z]+=/gi, "");
+};
+let setFilterAttrs = function(filter4) {
+  filterAttrs$1 = filter4;
+};
+let filterUrl = function(content) {
+  if (!xssOptions.enableUrl || typeof content !== "string") {
+    return content;
+  }
+  let filteredUrl = content.replace(/&#(\w+)(^\w|;)?/g, (match, dec) => String.fromCharCode(dec)).trim();
+  if (!filteredUrl) {
+    return "";
+  }
+  if ([".", "/"].includes(filteredUrl[0])) {
+    return filteredUrl;
+  }
+  let urlParse = filteredUrl.match(/^([^:]+):/gm);
+  if (!urlParse) {
+    return filteredUrl;
+  }
+  if (/^([^\w]*)(javascript|data|vbscript)/im.test(urlParse[0])) {
+    return "";
+  }
+  return filteredUrl;
+};
+let setFilterUrl = function(filter4) {
+  filterUrl = filter4;
+};
+let index$1g = {
+  getXssOption,
+  setXssOption,
+  filterHtml,
+  setFilterHtml,
+  filterAttrs: filterAttrs$1,
+  setFilterAttrs,
+  filterUrl,
+  setFilterUrl
+};
+let xss = Object.freeze({
+  __proto__: null,
+  getXssOption,
+  setXssOption,
+  get filterHtml() {
+    return filterHtml;
+  },
+  setFilterHtml,
+  get filterAttrs() {
+    return filterAttrs$1;
+  },
+  setFilterAttrs,
+  get filterUrl() {
+    return filterUrl;
+  },
+  setFilterUrl,
+  "default": index$1g
+});
+let log$1 = { logger: getWindow().console };
+const KEY_CODE = {
+  Backspace: 8,
+  Tab: 9,
+  Clear: 12,
+  Enter: 13,
+  Shift: 16,
+  Control: 17,
+  Alt: 18,
+  CapsLock: 20,
+  Escape: 27,
+  Space: 32,
+  PageUp: 33,
+  PageDown: 34,
+  End: 35,
+  Home: 36,
+  "ArrowLeft": 37,
+  "ArrowUp": 38,
+  "ArrowRight": 39,
+  "ArrowDown": 40,
+  Insert: 45,
+  Delete: 46,
+  Colon: 58,
+  Semicolon: 59,
+  LessThan: 60,
+  Equals: 61,
+  GreaterThan: 62,
+  QuestionMark: 63,
+  AtMark: 64,
+  KeyA: 65,
+  KeyB: 66,
+  KeyC: 67,
+  KeyD: 68,
+  "KeyE": 69,
+  "KeyF": 70,
+  "KeyG": 71,
+  "KeyH": 72,
+  KeyI: 73,
+  KeyJ: 74,
+  KeyK: 75,
+  KeyL: 76,
+  KeyM: 77,
+  KeyN: 78,
+  KeyO: 79,
+  KeyP: 80,
+  KeyQ: 81,
+  "KeyR": 82,
+  "KeyS": 83,
+  "KeyT": 84,
+  "KeyU": 85,
+  KeyV: 86,
+  KeyW: 87,
+  KeyX: 88,
+  KeyY: 89,
+  KeyZ: 90,
+  "Digit0": 48,
+  "Digit1": 49,
+  "Digit2": 50,
+  "Digit3": 51,
+  Digit4: 52,
+  Digit5: 53,
+  Digit6: 54,
+  Digit7: 55,
+  Digit8: 56,
+  Digit9: 57,
+  "F1": 112,
+  "F2": 113,
+  "F3": 114,
+  "F4": 115,
+  F5: 116,
+  F6: 117,
+  F7: 118,
+  F8: 119,
+  F9: 120,
+  F10: 121,
+  F11: 122,
+  F12: 123,
+  "NumLock": 144,
+  "Numpad0": 96,
+  "Numpad1": 97,
+  "Numpad2": 98,
+  Numpad3: 99,
+  Numpad4: 100,
+  Numpad5: 101,
+  Numpad6: 102,
+  Numpad7: 103,
+  Numpad8: 104,
+  Numpad9: 105,
+  "NumpadMultiply": 106,
+  "NumpadAdd": 107,
+  "NumpadEnter": 13,
+  "NumpadSubtract": 109,
+  NumpadDecimal: 110,
+  NumpadDivide: 111,
+  NumpadComma: 190
+};
+const POSITION = { Left: "left", Right: "right", Top: "top", Bottom: "bottom" };
+const DATE = {
+  FullDatetime: "yyyy-MM-dd hh:mm:ss.SSS",
+  LongDatetime: "yyyy-MM-dd hh:mm:ss",
+  Datetime: "yyyy-MM-dd hh:mm",
+  Date: "yyyy-MM-dd",
+  FullTime: "hh:mm:ss.SSS",
+  LongTime: "hh:mm:ss",
+  Time: "hh:mm",
+  YearMonth: "yyyy-MM"
+};
+const TriggerTypes = "date,datetime,time,time-select,week,month,year,years,yearrange,daterange,monthrange,timerange,datetimerange,dates,quarter";
+const DATEPICKER = {
+  Day: "day",
+  Date: "date",
+  Dates: "dates",
+  Year: "year",
+  Years: "years",
+  YearRange: "yearrange",
+  PanelYearNum: 12,
+  Month: "month",
+  Week: "week",
+  Normal: "normal",
+  Today: "today",
+  PreMonth: "pre-month",
+  NextMonth: "next-month",
+  YearI18n: "ui.datepicker.year",
+  List: [38, 40, 37, 39],
+  YearObj: { 38: -4, 40: 4, 37: -1, 39: 1 },
+  WeekObj: { 38: -1, 40: 1, 37: -1, 39: 1 },
+  DayObj: { 38: -7, 40: 7, 37: -1, 39: 1 },
+  Aviailable: "available",
+  Default: "default",
+  Current: "current",
+  InRange: "in-range",
+  StartDate: "start-date",
+  EndDate: "end-date",
+  Selected: "selected",
+  Disabled: "disabled",
+  Range: "range",
+  fullMonths: "January,February,March,April,May,June,July,August,September,October,November,December".split(","),
+  fullWeeks: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
+  MonhtList: ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"],
+  Weeks: ["sun", "mon", "tue", "wed", "thu", "fri", "sat"],
+  PlacementMap: {
+    left: "bottom-start",
+    center: "bottom",
+    right: "bottom-end"
+  },
+  QuarterMap: {
+    0: 0,
+    1: 3,
+    2: 6,
+    3: 9
+  },
+  MonthQuarterMap: {
+    0: 1,
+    3: 2,
+    6: 3,
+    9: 4
+  },
+  TriggerTypes: TriggerTypes.split(","),
+  DateFormats: {
+    year: "yyyy",
+    years: "yyyy",
+    yearrange: "yyyy",
+    month: "yyyy-MM",
+    time: "HH:mm:ss",
+    week: "yyyywWW",
+    date: "yyyy-MM-dd",
+    timerange: "HH:mm:ss",
+    monthrange: "yyyy-MM",
+    daterange: "yyyy-MM-dd",
+    datetime: "yyyy-MM-dd HH:mm:ss",
+    datetimerange: "yyyy-MM-dd HH:mm:ss"
+  },
+  Time: "time",
+  TimeRange: "timerange",
+  Quarter: "quarter",
+  IconTime: "icon-time",
+  IconDate: "icon-Calendar",
+  DateRange: "daterange",
+  DateTimeRange: "datetimerange",
+  MonthRange: "monthrange",
+  TimeSelect: "time-select",
+  TimesTamp: "timestamp",
+  DateTime: "datetime",
+  SelectbaleRange: "selectableRange",
+  Start: "09:00",
+  End: "18:00",
+  Step: "00:30",
+  CompareOne: "-1:-1",
+  CompareHundred: "100:100",
+  selClass: ".selected",
+  queryClass: ".tiny-picker-panel__content",
+  disableClass: ".time-select-item:not(.disabled)",
+  defaultClass: ".default",
+  Qurtyli: '[data-tag="li"]',
+  MappingKeyCode: { 40: 1, 38: -1 },
+  DatePicker: "DatePicker",
+  TimePicker: "TimePicker"
+};
+const BROWSER_NAME = {
+  IE: "ie",
+  Edge: "edge",
+  Chrome: "chrome",
+  Firefox: "firefox"
+};
+const VALIDATE_STATE = {
+  Validating: "validating",
+  Success: "success",
+  Error: "error"
+};
+const log = (data2, type2 = "log") => {
+  log$1.logger[type2](data2);
+};
+const fecha = {};
+const digitsReg = ["\\d\\d?", "\\d{3}", "\\d{4}"];
+const twoDigits = digitsReg[0];
+const threeDigits = digitsReg[1];
+const fourDigits = digitsReg[2];
+const word = "[^\\s]+";
+const literal = /\[([^]*?)\]/gm;
+const noop$3 = () => void 0;
+const formats = {
+  shortDate: "M/D/yy",
+  mediumDate: "MMM d, yyyy",
+  longDate: "MMMM d, yyyy",
+  fullDate: "dddd, MMMM d, yyyy",
+  default: "ddd MMM dd yyyy HH:mm:ss",
+  shortTime: "HH:mm",
+  mediumTime: "HH:mm:ss",
+  longTime: "HH:mm:ss.SSS"
+};
+const shorten = (arr, sLen) => {
+  let newArr = [];
+  for (let i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+    newArr.push(arr[i2].substr(0, sLen));
+  }
+  return newArr;
+};
+const monthUpdate = (arrName) => (date, value, i18n2) => {
+  const index3 = i18n2[arrName].indexOf(value.charAt(0).toUpperCase() + value.substr(1).toLowerCase());
+  if (~index3) {
+    date.month = index3;
+  }
+};
+const pad$1 = (val, len2) => {
+  val = String(val);
+  len2 = len2 || 2;
+  while (val.length < len2) {
+    val = "0" + val;
+  }
+  return val;
+};
+const regexEscape = (str) => str.replace(/[|\\{()[^$+*?.-]/g, "\\$&");
+const fullTimeReg = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g;
+const dayNames = DATEPICKER.fullWeeks;
+const monthNames = DATEPICKER.fullMonths;
+const monthNamesShort = shorten(monthNames, 3);
+const dayNamesShort = shorten(dayNames, 3);
+const parts = ["th", "st", "nd", "rd"];
+fecha.i18n = {
+  dayNames,
+  monthNames,
+  dayNamesShort,
+  monthNamesShort,
+  amPm: ["am", "pm"],
+  doFn: (D2) => D2 + parts[D2 % 10 > 3 ? 0 : (D2 - D2 % 10 !== 10) * D2 % 10]
+};
+const formatFlags = {
+  D: (dateObj) => dateObj.getDay(),
+  DD: (dateObj) => pad$1(dateObj.getDay()),
+  Do: (dateObj, i18n2) => i18n2.doFn(dateObj.getDate()),
+  d: (dateObj) => dateObj.getDate(),
+  dd: (dateObj) => pad$1(dateObj.getDate()),
+  ddd: (dateObj, i18n2) => i18n2.dayNamesShort[dateObj.getDay()],
+  dddd: (dateObj, i18n2) => i18n2.dayNames[dateObj.getDay()],
+  M: (dateObj) => dateObj.getMonth() + 1,
+  MM: (dateObj) => pad$1(dateObj.getMonth() + 1),
+  MMM: (dateObj, i18n2) => i18n2.monthNamesShort[dateObj.getMonth()],
+  MMMM: (dateObj, i18n2) => i18n2.monthNames[dateObj.getMonth()],
+  yy: (dateObj) => pad$1(String(dateObj.getFullYear()), 4).substr(2),
+  yyyy: (dateObj) => pad$1(dateObj.getFullYear(), 4),
+  h: (dateObj) => dateObj.getHours() % 12 || 12,
+  hh: (dateObj) => pad$1(dateObj.getHours() % 12 || 12),
+  H: (dateObj) => dateObj.getHours(),
+  HH: (dateObj) => pad$1(dateObj.getHours()),
+  m: (dateObj) => dateObj.getMinutes(),
+  mm: (dateObj) => pad$1(dateObj.getMinutes()),
+  s: (dateObj) => dateObj.getSeconds(),
+  ss: (dateObj) => pad$1(dateObj.getSeconds()),
+  S: (dateObj) => Math.round(dateObj.getMilliseconds() / 100),
+  SS: (dateObj) => pad$1(Math.round(dateObj.getMilliseconds() / 10), 2),
+  SSS: (dateObj) => pad$1(dateObj.getMilliseconds(), 3),
+  a: (dateObj, i18n2) => dateObj.getHours() < 12 ? i18n2.amPm[0] : i18n2.amPm[1],
+  A: (dateObj, i18n2) => dateObj.getHours() < 12 ? i18n2.amPm[0].toUpperCase() : i18n2.amPm[1].toUpperCase(),
+  ZZ: (dateObj) => {
+    const offset2 = dateObj.getTimezoneOffset();
+    return (offset2 > 0 ? "-" : "+") + pad$1(Math.floor(Math.abs(offset2) / 60) * 100 + Math.abs(offset2) % 60, 4);
+  }
+};
+const parseFlags = {
+  d: [
+    twoDigits,
+    (date, value) => {
+      date.day = value;
+    }
+  ],
+  Do: [
+    twoDigits + word,
+    (date, value) => {
+      date.day = parseInt(value, 10);
+    }
+  ],
+  M: [
+    twoDigits,
+    (date, value) => {
+      date.month = value - 1;
+    }
+  ],
+  yy: [
+    twoDigits,
+    (date, value) => {
+      const now = /* @__PURE__ */ new Date();
+      const cent = Number(String(now.getFullYear()).substr(0, 2));
+      date.year = String(value > 68 ? cent - 1 : cent) + value;
+    }
+  ],
+  h: [
+    twoDigits,
+    (date, value) => {
+      date.hour = value;
+    }
+  ],
+  m: [
+    twoDigits,
+    (date, value) => {
+      date.minute = value;
+    }
+  ],
+  s: [
+    twoDigits,
+    (date, value) => {
+      date.second = value;
+    }
+  ],
+  yyyy: [
+    fourDigits,
+    (date, value) => {
+      date.year = value;
+    }
+  ],
+  S: [
+    "\\d",
+    (date, value) => {
+      date.millisecond = value * 100;
+    }
+  ],
+  SS: [
+    "\\d{2}",
+    (date, value) => {
+      date.millisecond = value * 10;
+    }
+  ],
+  SSS: [
+    threeDigits,
+    (date, value) => {
+      date.millisecond = value;
+    }
+  ],
+  D: [twoDigits, noop$3],
+  ddd: [word, noop$3],
+  MMM: [word, monthUpdate("monthNamesShort")],
+  MMMM: [word, monthUpdate("monthNames")],
+  a: [
+    word,
+    (date, value, i18n2) => {
+      const val = value.toLowerCase();
+      if (val === i18n2.amPm[0]) {
+        date.isPm = false;
+      } else if (val === i18n2.amPm[1]) {
+        date.isPm = true;
+      }
+    }
+  ],
+  ZZ: [
+    "[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",
+    (date, value) => {
+      let parts2 = String(value).match(/([+-]|\d\d)/gi);
+      let minutes;
+      if (parts2) {
+        minutes = Number(parts2[1] * 60) + parseInt(parts2[2], 10);
+        date.timezoneOffset = parts2[0] === "+" ? minutes : -minutes;
+      }
+    }
+  ]
+};
+const fmts = ["A", "DD", "dd", "mm", "hh", "MM", "ss", "hh", "H", "HH"];
+fecha.masks = formats;
+parseFlags.dddd = parseFlags.ddd;
+fmts.forEach((name2) => {
+  if (name2 === "MM") {
+    parseFlags[name2] = parseFlags[name2.substr(0, 1)];
+  } else {
+    parseFlags[name2] = parseFlags[name2.substr(0, 1).toLowerCase()];
+  }
+});
+fecha.format = (dateObj, mask, i18nSettings) => {
+  const i18n2 = i18nSettings || fecha.i18n;
+  if (typeof dateObj === "number") {
+    dateObj = new Date(dateObj);
+  }
+  if (!isDate$2(dateObj) || isNaN(dateObj.getTime())) {
+    throw new Error("Invalid Date in fecha.format");
+  }
+  mask = fecha.masks[mask] || mask || fecha.masks.default;
+  let literals = [];
+  mask = mask.replace(literal, ($0, $1) => {
+    literals.push($1);
+    return "@@@";
+  });
+  mask = mask.replace(
+    fullTimeReg,
+    ($0) => $0 in formatFlags ? formatFlags[$0](dateObj, i18n2) : $0.slice(1, $0.length - 1)
+  );
+  return mask.replace(/@@@/g, () => literals.shift());
+};
+const getNewFormat = (format2, parseInfo) => {
+  let literals = [];
+  let newFormat = regexEscape(format2).replace(fullTimeReg, ($0) => {
+    if (parseFlags[$0]) {
+      const info = parseFlags[$0];
+      parseInfo.push(info[1]);
+      return "(" + info[0] + ")";
+    }
+    return $0;
+  });
+  newFormat = newFormat.replace(/@@@/g, () => literals.shift());
+  return newFormat;
+};
+const getDate = (dateInfo) => {
+  let date;
+  const today = /* @__PURE__ */ new Date();
+  if (!isNull$2(dateInfo.timezoneOffset)) {
+    dateInfo.minute = Number(dateInfo.minute || 0) - Number(dateInfo.timezoneOffset);
+    const { year, month, day, hour, minute, second, millisecond } = dateInfo;
+    date = new Date(
+      Date.UTC(year || today.getFullYear(), month || 0, day || 1, hour || 0, minute || 0, second || 0, millisecond || 0)
+    );
+  } else {
+    const { year, month, day, hour, minute, second, millisecond } = dateInfo;
+    date = new Date(
+      year || today.getFullYear(),
+      month || 0,
+      day || 1,
+      hour || 0,
+      minute || 0,
+      second || 0,
+      millisecond || 0
+    );
+  }
+  return date;
+};
+fecha.parse = (dateStr, format2, i18nSettings) => {
+  const i18n2 = i18nSettings || fecha.i18n;
+  if (typeof format2 !== "string") {
+    throw new TypeError("Invalid format in fecha.parse");
+  }
+  format2 = fecha.masks[format2] || format2;
+  if (dateStr.length > 1e3) {
+    return null;
+  }
+  let dateInfo = {};
+  let parseInfo = [];
+  format2 = format2.replace(literal, ($0, $1) => {
+    return "@@@";
+  });
+  const newFormat = getNewFormat(format2, parseInfo);
+  const matches = dateStr.match(new RegExp(newFormat, "i"));
+  if (!matches) {
+    return null;
+  }
+  for (let i2 = 1, len2 = matches.length; i2 < len2; i2++) {
+    parseInfo[i2 - 1](dateInfo, matches[i2], i18n2);
+  }
+  if (dateInfo.isPm === true && !isNull$2(dateInfo.hour) && Number(dateInfo.hour) !== 12) {
+    dateInfo.hour = Number(dateInfo.hour) + 12;
+  } else if (dateInfo.isPm === false && Number(dateInfo.hour) === 12) {
+    dateInfo.hour = 0;
+  }
+  return getDate(dateInfo);
+};
+var date_default = fecha;
+const weeks = DATEPICKER.Weeks;
+const months = DATEPICKER.MonhtList;
+const defaultYMD = DATEPICKER.DateFormats.date;
+const defaultHMS = DATEPICKER.DateFormats.time;
+const newArray = (start2, end2) => {
+  let res = [];
+  for (let i2 = start2; i2 <= end2; i2++) {
+    res.push(i2);
+  }
+  return res;
+};
+const getI18nSettings = (t2) => ({
+  dayNamesShort: weeks.map((week) => t2(`ui.datepicker.weeks.${week}`)),
+  dayNames: weeks.map((week) => t2(`ui.datepicker.weeks.${week}`)),
+  monthNamesShort: months.map((month) => t2(`ui.datepicker.months.${month}`)),
+  monthNames: months.map((month, index3) => t2(`ui.datepicker.month${index3 + 1}`)),
+  amPm: ["am", "pm"]
+});
+const isDate$1 = function(date) {
+  if (isNull$2(date)) {
+    return false;
+  }
+  if (isNaN(new Date(date).getTime())) {
+    return false;
+  }
+  if (Array.isArray(date)) {
+    return false;
+  }
+  return true;
+};
+const toDate = (date) => isDate$1(date) ? new Date(date) : null;
+const isDateObject = (val) => val instanceof Date;
+const formatDate = (date, format2, t2) => {
+  date = toDate(date);
+  if (!date) {
+    return "";
+  }
+  return date_default.format(date, format2 || defaultYMD, getI18nSettings(t2));
+};
+const parseDate$1 = (string, format2, t2) => date_default.parse(string, format2 || defaultYMD, getI18nSettings(t2));
+const getDayCountOfMonth = (year, month) => {
+  if (~[3, 5, 8, 10].indexOf(month)) {
+    return 30;
+  }
+  if (month === 1) {
+    return isLeapYear(year) ? 29 : 28;
+  }
+  return 31;
+};
+const getDayCountOfYear = (year) => isLeapYear(year) ? 366 : 365;
+const getFirstDayOfMonth = (date) => {
+  const temp = new Date(date.getTime());
+  temp.setDate(1);
+  return temp.getDay();
+};
+const prevDate = (date, amount = 1) => new Date(date.getFullYear(), date.getMonth(), date.getDate() - amount);
+const nextDate = (date, amount = 1) => new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount);
+const getStartDateOfMonth = (year, month, offsetDay = 0) => {
+  const res = new Date(year, month, 1);
+  const day = res.getDay();
+  const _day = day === 0 ? 7 : day;
+  const offset2 = _day + offsetDay <= 0 ? 7 + _day : _day;
+  return prevDate(res, offset2);
+};
+const getWeekNumber = (src) => {
+  if (!isDate$1(src)) {
+    return null;
+  }
+  const date = new Date(src.getTime());
+  date.setHours(0, 0, 0, 0);
+  date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);
+  const week1 = new Date(date.getFullYear(), 0, 4);
+  return 1 + Math.round(((date.getTime() - week1.getTime()) / 864e5 - 3 + (week1.getDay() + 6) % 7) / 7);
+};
+const getRangeHours = (ranges = []) => {
+  const hours = [];
+  let disHours = [];
+  ranges.forEach((range2) => {
+    const value = range2.map((date) => date.getHours());
+    disHours = disHours.concat(newArray(value[0], value[1]));
+  });
+  let isDisabled2;
+  if (disHours.length) {
+    isDisabled2 = (i2) => !~disHours.indexOf(i2);
+  } else {
+    isDisabled2 = () => false;
+  }
+  for (let i2 = 0; i2 < 24; i2++) {
+    hours[i2] = isDisabled2(i2);
+  }
+  return hours;
+};
+const setRangeData = (arr, start2, end2, value) => {
+  for (let i2 = start2; i2 < end2; i2++) {
+    arr[i2] = value;
+  }
+};
+const range = (length2) => Array.apply(null, { length: length2 }).map((_2, n2) => n2);
+const getRangeMinutes = (ranges, hour) => {
+  const sixty = 60;
+  const minutes = new Array(sixty);
+  if (ranges.length > 0) {
+    ranges.forEach((range2) => {
+      const [startDate, endDate] = range2;
+      const startHour = startDate.getHours();
+      const startMinute = startDate.getMinutes();
+      const endHour = endDate.getHours();
+      const endMinute = endDate.getMinutes();
+      const equealStartHour = startHour === hour;
+      if (equealStartHour && endHour !== hour) {
+        setRangeData(minutes, startMinute, sixty, true);
+      } else if (equealStartHour && endHour === hour) {
+        setRangeData(minutes, startMinute, endMinute + 1, true);
+      } else if (!equealStartHour && endHour === hour) {
+        setRangeData(minutes, 0, endMinute + 1, true);
+      } else if (startHour < hour && endHour > hour) {
+        setRangeData(minutes, 0, sixty, true);
+      }
+    });
+  } else {
+    setRangeData(minutes, 0, sixty, true);
+  }
+  return minutes;
+};
+const modifyDate = (date, y2, m2, d2) => {
+  date = toDate(date);
+  return new Date(y2, m2, d2, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
+};
+const modifyTime = (date, h3, m2, s2) => {
+  date = toDate(date);
+  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), h3, m2, s2, date.getMilliseconds());
+};
+const modifyWithTimeString = (date, time2, t2) => {
+  if (isNull$2(date) || !time2) {
+    return date;
+  }
+  time2 = parseDate$1(time2, defaultHMS, t2);
+  return modifyTime(date, time2.getHours(), time2.getMinutes(), time2.getSeconds());
+};
+const clearTime = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());
+const clearMilliseconds = (date) => new Date(
+  date.getFullYear(),
+  date.getMonth(),
+  date.getDate(),
+  date.getHours(),
+  date.getMinutes(),
+  date.getSeconds(),
+  0
+);
+const limitTimeRange = (date, ranges, format2 = defaultHMS) => {
+  if (ranges.length === 0) {
+    return date;
+  }
+  const normalizeDate = (date2) => date_default.parse(date_default.format(date2, format2), format2);
+  const ndate = normalizeDate(date);
+  const nranges = ranges.map((range2) => range2.map(normalizeDate));
+  if (nranges.some((nrange) => ndate >= nrange[0] && ndate <= nrange[1])) {
+    return date;
+  }
+  let minDate = nranges[0][0];
+  let maxDate = minDate;
+  nranges.forEach((nrange) => {
+    let minTempDate = minDate = new Date(Math.min(nrange[0], minDate));
+    maxDate = new Date(Math.max(nrange[1], minTempDate));
+  });
+  const ret = ndate < minDate ? minDate : maxDate;
+  return modifyDate(ret, date.getFullYear(), date.getMonth(), date.getDate());
+};
+const timeWithinRange = (date, selectableRange, format2) => {
+  const limitedDate = limitTimeRange(date, selectableRange, format2);
+  return limitedDate.getTime() === date.getTime();
+};
+const changeYearMonthAndClampDate = (date, year, month) => {
+  const monthDate = Math.min(date.getDate(), getDayCountOfMonth(year, month));
+  return modifyDate(date, year, month, monthDate);
+};
+const nextMonth = (date) => {
+  const year = date.getFullYear();
+  const month = date.getMonth();
+  const isLast = month === 11;
+  return isLast ? changeYearMonthAndClampDate(date, year + 1, 0) : changeYearMonthAndClampDate(date, year, month + 1);
+};
+const prevMonth = (date) => {
+  const year = date.getFullYear();
+  const month = date.getMonth();
+  const isFirst = month === 0;
+  return isFirst ? changeYearMonthAndClampDate(date, year - 1, 11) : changeYearMonthAndClampDate(date, year, month - 1);
+};
+const nextYear = (date, next = 1) => {
+  const year = date.getFullYear();
+  const month = date.getMonth();
+  return changeYearMonthAndClampDate(date, year + next, month);
+};
+const prevYear = (date, prev = 1) => {
+  const year = date.getFullYear();
+  const month = date.getMonth();
+  return changeYearMonthAndClampDate(date, year - prev, month);
+};
+const extractTimeFormat = (dateFormat) => dateFormat.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g, "").trim();
+const extractDateFormat = (dateFormat) => dateFormat.replace(/\W?m{1,2}|\W?ZZ/g, "").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi, "").trim();
+function _extends$s() {
+  _extends$s = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$s.apply(this, arguments);
+}
+var zhCN$1 = {
+  "en-US": "English",
+  "zh-CN": "中文",
+  "zh-TW": "中国台湾",
+  hello: "你好 {name}",
+  code: "zh-CN",
+  yes: "是",
+  no: "否",
+  ui: {
+    numeric: {
+      equalTo: "等于",
+      notEqualTo: "不等于",
+      moreThan: "大于",
+      moreThanOrEqualTo: "大于等于",
+      lessThan: "小于",
+      lessThanOrEqualTo: "小于等于",
+      empty: "为空",
+      nonEmpty: "不为空"
+    },
+    queryBuilder: {
+      addItem: "新增条件",
+      addGroup: "新增子条件组",
+      removeGroup: "移除条件组"
+    },
+    wizard: {
+      previousStep: "上一步",
+      nextStep: "下一步",
+      save: "保存",
+      submit: "提交"
+    },
+    linkMenu: {
+      title: "消息",
+      placeholder: "请输入关键字过滤...",
+      sure: "确定",
+      cancel: "取消"
+    },
+    todoList: {
+      add: "提交",
+      placeholder: "请输入内容..."
+    },
+    alert: {
+      error: "错误",
+      info: "消息",
+      success: "成功",
+      title: "消息提示",
+      warning: "警告"
+    },
+    amount: {
+      currency: "币种",
+      amount: "金额",
+      date: "日期",
+      equalTo: "等于",
+      notEqualTo: "不等于",
+      moreThan: "大于",
+      moreThanOrEqualTo: "大于等于",
+      lessThan: "小于",
+      lessThanOrEqualTo: "小于等于",
+      empty: "为空",
+      nonEmpty: "不为空"
+    },
+    actionMenu: {
+      moreText: "更多"
+    },
+    base: {
+      all: "全部",
+      cancel: "取消",
+      confirm: "确定",
+      delete: "删除",
+      edit: "编辑",
+      more: "更多",
+      reset: "重置",
+      clear: "清空",
+      comma: ","
+    },
+    button: {
+      cancel: "取消",
+      confirm: "确定"
+    },
+    buttonMessage: {
+      cancel: "取消",
+      confirm: "确定"
+    },
+    cell: {
+      placeholder: "请选择"
+    },
+    cascader: {
+      noMatch: "无匹配数据",
+      loading: "加载中",
+      placeholder: "请选择",
+      noData: "暂无数据"
+    },
+    chart: {
+      auxiliary: "辅助",
+      emptyText: "暂无数据",
+      kName: "日K",
+      other: "其他",
+      summation: "总量",
+      total: "总计",
+      value: "数值"
+    },
+    colorSelectPanel: {
+      confirm: "选择",
+      cancel: "取消",
+      predefine: "预定义颜色",
+      history: "历史记录",
+      empty: "暂无"
+    },
+    crop: {
+      cropImage: "图片裁剪",
+      croppedImage: "裁剪后图像"
+    },
+    datepicker: {
+      clear: "清空",
+      cancel: "取消",
+      endDate: "结束日期",
+      confirm: "确定",
+      month: "月",
+      endTime: "结束时间",
+      month2: "2 月",
+      month1: "1 月",
+      month4: "4 月",
+      month3: "3 月",
+      month6: "6 月",
+      month5: "5 月",
+      month8: "8 月",
+      month7: "7 月",
+      month10: "10 月",
+      month9: "9 月",
+      month12: "12 月",
+      month11: "11 月",
+      months: {
+        feb: "二月",
+        jan: "一月",
+        apr: "四月",
+        mar: "三月",
+        jun: "六月",
+        may: "五月",
+        aug: "八月",
+        jul: "七月",
+        oct: "十月",
+        sep: "九月",
+        dec: "十二月",
+        nov: "十一月"
+      },
+      nextYear: "后一年",
+      nextMonth: "下个月",
+      prevMonth: "上个月",
+      now: "此刻",
+      selectDate: "选择日期",
+      prevYear: "前一年",
+      startDate: "开始日期",
+      selectTime: "选择时间",
+      today: "今天",
+      currentMonth: "本月",
+      startTime: "开始时间",
+      week: "周次",
+      weeks: {
+        mon: "一",
+        sun: "日",
+        wed: "三",
+        tue: "二",
+        fri: "五",
+        thu: "四",
+        sat: "六"
+      },
+      timezone: "选择时区",
+      year: "年",
+      to: "至",
+      yearMonth: "{year}年{month}月",
+      yearMonthDay: "{year}年{month}月{day}日"
+    },
+    richTextEditor: {
+      bold: "加粗",
+      italic: "斜体",
+      link: "链接",
+      unlink: "移除链接",
+      highlight: "高亮",
+      underline: "下划线",
+      strike: "中划线",
+      subscript: "下标",
+      superscript: "上标",
+      code: "代码",
+      unorderedlist: "无序列表",
+      orderedlist: "有序列表",
+      taskList: "任务列表",
+      quote: "引用",
+      codeBlock: "代码块",
+      formatClear: "清除标记",
+      nodeDelete: "删除节点",
+      undo: "回退",
+      redo: "前进",
+      left: "左对齐",
+      center: "居中",
+      right: "右对齐",
+      fontSize: "字号",
+      lineHeight: "行高",
+      hBox: "段落标题",
+      img: "图片",
+      color: "颜色",
+      table: "表格",
+      backgroundColor: "文字背景色"
+    },
+    calendar: {
+      showType: {
+        year: "年"
+      }
+    },
+    dept: {
+      code: "编码",
+      company: "公司",
+      dept1: "一级部门",
+      dept2: "二级部门",
+      dept3: "三级部门",
+      dept4: "四级部门",
+      dept5: "五级部门",
+      dept6: "六级部门",
+      dept7: "七级部门",
+      dept8: "八级部门",
+      input: "可输入部门编码或名称",
+      name: "名称",
+      search: "辅助查询",
+      selected: "已选"
+    },
+    dialogBox: {
+      confirm: "确定",
+      cancel: "取消"
+    },
+    load: {
+      dot: "加载中"
+    },
+    exception: {
+      build: "模块正在建设中",
+      busy: "系统繁忙,请稍等一下",
+      noperm: "茫茫大海,找不到页面",
+      weaknet: "网络不给力",
+      pcview: "请到PC上查看文件",
+      nodata: "休息一下",
+      create: "创建",
+      provide: "TINY 开发团队提供",
+      nodatamf: "暂无数据",
+      nopermmf: "无访问权限",
+      weaknetmf: "网络异常",
+      noresult: "无相关搜索结果",
+      nonews: "暂无最新消息",
+      pagenoperm: "403:无访问权限",
+      pageweaknet: "网络异常",
+      pagenothing: "404:你访问的页面不存在",
+      pageservererror: "500:服务器异常"
+    },
+    fileUpload: {
+      largefile: "文件过大,将会分片上传,请耐心等待!",
+      folder: "文件所在文件夹层数已超过 5 层,将不会上传该文件",
+      init: "服务报错,请重试",
+      token: "请先进行 EDM 鉴权,获取 token",
+      exceed: "文件大小超过限制({maxSize})",
+      largeFile: "文件大小超出限制 2G !!",
+      fileSize: "文件大小低于限制({minSize}{sizeUnit})",
+      deleteTip: "按 delete 键可删除",
+      downloadFile: "下载文件",
+      previewFile: "预览文件",
+      updateFile: "更新文件",
+      reUploadFile: "重新上传",
+      cancelFile: "取消上传",
+      deleteFile: "删除文件",
+      empty: "是空文件!",
+      kiaScanTip: "抱歉,从公网接入下载文档,需要通过KIA检测;当前文档正在KIA检测中,请稍后几分钟后再下载!",
+      fileNameExceeds: "超过255个字符,请修改文件名。",
+      fileName: "该文件名",
+      calcHash: "文档正在计算加密中",
+      uploadFile: "文件上传",
+      downloadAll: "全部下载",
+      onlySupport: "仅支持{type}格式文件",
+      fileNotLessThan: "单个文件不能小于",
+      fileNotMoreThan: "单个文件不能超过",
+      notSupport: "格式(.{format})暂不支持",
+      notSupportNoSuffix: "暂不支持无后缀文件",
+      notSupportSpecialCharacters: "文件名包含特殊字符,请重命名后上传",
+      attachment: "附件",
+      uploadList: "上传列表",
+      numberExceed: "批量上传个数超过限制({number})",
+      numberLimit: "最多上传{number}个文件",
+      encryptDialogTitle: "水印及加密设置",
+      addWatermark: "添加水印",
+      encrypted: "加密",
+      docPreview: "文档预览",
+      networkError: "网络出错",
+      pictureNetworkError: "网络出错,上传失败",
+      reUploadTip: "{number}个文件上传失败!"
+    },
+    uploadList: {
+      pictureUploading: "图片上传中",
+      uploadFailed: "上传失败",
+      uploading: "上传中",
+      download: "下载",
+      reUpload: "重新上传",
+      delete: "删除",
+      noAttachments: "暂无附件",
+      cancel: "取消",
+      preview: "预览",
+      releaseAndUpload: "释放鼠标,上传文件",
+      dragOrClickImport: "将文件拖到此处,或点击导入",
+      shoot: "拍摄",
+      selectFromAlbum: "从相册选择",
+      uploadFailedAndReupload: "上传失败,点击重新上传"
+    },
+    upload: {
+      addPicture: "添加图片",
+      addAudio: "添加音频",
+      addVideo: "添加视频"
+    },
+    grid: {
+      dataUnchanged: "数据未改动!",
+      deleteSelectRecord: "您确定要删除所选记录吗?",
+      emptyText: "暂无数据",
+      error: {
+        cellEditRender: "渲染器 cell-render 和 edit-render 不能同时使用",
+        delGetAllRecords: "方法 getAllRecords 已废弃,请使用 getRecordset",
+        delGetRecords: "方法 getRecords 已废弃,请使用 getData",
+        delLabel: "参数 label 已废弃,请使用 title",
+        delProp: "参数 prop 已废弃,请使用 field",
+        delRevert: "方法 revert 已废弃,请使用 revertData",
+        groupFixed: "如果使用分组表头,固定列必须在左右两侧",
+        notDelete: "Delete 方法不存在",
+        notMouse: "虚拟滚动不支持 mouse-config",
+        notQuery: "query 方法不存在",
+        notResizable: "横向虚拟滚动不支持 resizable",
+        notSave: "save 方法不存在",
+        reqModule: "缺少 {{name}} 模块",
+        rowIdEmpty: "参数 row-id 不允许为空",
+        scrollOriginal: "虚拟滚动启用后只能导出源数据,请将设置 original=true",
+        scrollYHeight: "启用虚拟滚动必须要设置 height 或 max-height",
+        toolbarId: "工具栏需要设置唯一 id",
+        treeFixedExpand: "树结构的固定列与展开行功能有冲突",
+        treeInsert: "树结构不支持 insert 操作",
+        treeRemove: "树结构不支持 remove 操作",
+        unableInsert: "无法插入到指定位置",
+        dargSelf: "不允许自己给自己拖动",
+        dargFixed: "固定列不允许拖动",
+        remoteMethod: "个性化模板管理远端存储需要设置 multipleHistory.remoteMethod",
+        remoteSelectedMethod: "个性化模板管理远端存储需要设置 multipleHistory.remoteSelectedMethod",
+        chainCallError: "列的默认插槽中存在语法错误,请检查。",
+        renderParamError: "期望配置一个生成 VNode 的渲染方法。",
+        classComponentError: "类组件渲染出错。",
+        groupColumnFixedError: "同一个分组内不能设置不同的固定类型。",
+        missingValueFormat: "渲染器无法格式化日期字符串,需要提供 valueFormat 源日期格式配置。"
+      },
+      filter: {
+        allFilter: "全部",
+        allSelect: "(全选)",
+        endDate: "结束日期",
+        startDate: "开始日期",
+        dateTips: "请至少输入一个日期",
+        clear: "清除当前列筛选",
+        clearAll: "清除所有列筛选",
+        confirmFilter: "筛选",
+        empty: "为空",
+        emptyText: "暂无数据",
+        equal: "等于",
+        include: "包含",
+        prefix: "开头是",
+        resetFilter: "重置",
+        unempty: "不为空"
+      },
+      individuation: {
+        cancelBtn: "取消",
+        colConfigs: {
+          visible: "显示",
+          invisible: "隐藏",
+          asc: "正序",
+          desc: "倒序",
+          unsorted: "未排序",
+          frozenLeft: "左冻结",
+          frozenRight: "右冻结",
+          unfrozen: "未冻结",
+          unfreeze: "取消冻结",
+          unsort: "取消排序"
+        },
+        toolbar: {
+          set: "设置",
+          selected: "已选",
+          freeze: "冻结",
+          sort: "排序",
+          clear: "清空",
+          search: "搜索",
+          all: "全选"
+        },
+        columnSet: "列设置",
+        overwriteSave: "覆盖保存",
+        saveAs: "另存为",
+        saveTemplate: "存模板",
+        selectTemplate: "选择模板",
+        hideMsg: "至少保留一列显示",
+        maxFreezeNumMsg: "冻结列不可超过6项",
+        defaultTemplateName: "请输入名称,如未填写由系统按时间生成",
+        reserveTemplateName: "如未填写名称将保留之前的名称",
+        resetBtn: "重置",
+        saveBtn: "确定",
+        hideAll: "全部隐藏",
+        showAll: "全部显示",
+        tabs: {
+          base: {
+            title: "基础设置",
+            tips: "点击图标按钮设置个性化"
+          },
+          other: {
+            title: "其他设置",
+            tips: "设置服务器排序或客户端排序、每页条数大小。",
+            sortType: "排序类型",
+            currPageSort: "当前页数据排序",
+            allDataSort: "所有数据排序",
+            pageSize: "每页条数"
+          }
+        },
+        title: "个性化设置",
+        switchtitle: "模板管理",
+        switchsave: "保存配置",
+        switchlabel: "配置列表:",
+        switchapply: "使用",
+        switchedit: "编辑",
+        switchdel: "删除",
+        switchconfirm: "确定",
+        switchonlytemp: "保存模板",
+        switchtempapply: "保存并使用模板",
+        switchtempoverwrite: "覆盖并使用模板",
+        switchdelcon: "确定要删除这个模板?",
+        switchdelyes: "确定",
+        switchdelno: "取消",
+        switchapplycon: "确定要使用这个模板?"
+      },
+      removeSelectRecord: "您确定要移除所选记录吗?",
+      saveSuccess: "保存成功",
+      selectOneRecord: "请至少选择一条记录!",
+      isSaveMsg: "有修改的数据,是否要保存?"
+    },
+    hrapprover: {
+      approver: "权签人",
+      noselected: "没有选择权签人",
+      noapprover: "没有权签人",
+      remark: "备注"
+    },
+    imageViewer: {
+      loadErrorAlt: "加载失败",
+      save: "保存图片",
+      del: "删除图片",
+      thumbnail: "缩略图",
+      menu: "目录",
+      hide: "隐藏侧边栏",
+      show: "显示侧边栏"
+    },
+    navMenu: {
+      moreText: "更多"
+    },
+    logout: {
+      in: "登录",
+      out: "注销"
+    },
+    page: {
+      goto: "前往",
+      item: "条",
+      next: "下一页",
+      page: "条/页",
+      pageClassifier: "页",
+      pagesize: "条/页",
+      prev: "上一页",
+      total: "共",
+      totals: "总条数:",
+      jump: "跳至",
+      hundredThousand: "10万+",
+      million: "100万+",
+      tenMillion: "1千万+",
+      loadingTotals: "加载总条数…"
+    },
+    popeditor: {
+      cancel: "取 消",
+      confirm: "确 认",
+      historyLists: "历史数据列表",
+      reset: "重 置",
+      search: "查 询",
+      selectionLists: "选择数据列表",
+      sourceLists: "所有数据列表",
+      title: "选择",
+      filterNode: "输入内容进行筛选"
+    },
+    popupload: {
+      fileName: "文件名",
+      fileSize: "文件大小",
+      fileStatus: "文件状态",
+      uploadError: "上传失败",
+      dialogTitle: "文件上传",
+      cancelButtonText: "取消",
+      tipsFileText: "上传提示",
+      saveButtonText: "开始上传",
+      uploadSuccess: "上传成功!",
+      uploadButtonText: "选择文件",
+      uploadsButtonText: "选择批量文件",
+      errorTypeTips: "上传文件类型不匹配",
+      errorNumTips: "上传文件数量超出限制,已取消该操作",
+      errorSizeTips: "上传文件大小超出限制",
+      limitUploadFileNumber: "上传文件数限制为",
+      limitUploadFileType: "上传文件类型限制为",
+      limitUploadFileSize: "上传文件大小不超过"
+    },
+    rate: {
+      level: {
+        average: "一般",
+        excellent: "很好",
+        fair: "差",
+        good: "好",
+        poor: "很差"
+      }
+    },
+    select: {
+      loading: "加载中",
+      noMatch: "无匹配数据",
+      noData: "暂无相关数据",
+      placeholder: "请选择",
+      pleaseSearch: "请搜索",
+      search: "搜索",
+      selected: "已选",
+      selectedNum: "已选 {num} 个",
+      noSearchData: "无相关搜索结果,请重新输入",
+      add: "新增",
+      collapse: "收起"
+    },
+    search: {
+      placeholder: "搜索"
+    },
+    signature: {
+      confirm: "确认",
+      rewrite: "重写",
+      cancel: "取消",
+      tips: "请手写签名",
+      resign: "重新签名",
+      placeholder: "请在此签名(必填)"
+    },
+    tabs: {
+      moreItem: "更多"
+    },
+    tag: {
+      add: "添加"
+    },
+    toggleMenu: {
+      placeholder: "请输入内容进行筛选"
+    },
+    treeMenu: {
+      placeholder: "请输入内容进行筛选"
+    },
+    transfer: {
+      filterPlaceholder: "请输入搜索内容",
+      hasCheckedFormat: "已选 {checked}/{total} 项",
+      noCheckedFormat: "共 {total} 项",
+      noData: "无数据",
+      noMatch: "无匹配数据",
+      titles: ["列表 1", "列表 2"]
+    },
+    tree: {
+      loading: "加载中",
+      emptyText: "暂无数据",
+      switchText: "同时勾选下级",
+      edit: "编辑",
+      delete: "删除",
+      addChild: "新增下级",
+      newNodeTitle: "新增下级",
+      deleteTip1: "删除后数据不可恢复,确定删除吗?",
+      deleteTip2: "该节点存在下级节点,是否保留下级节点数据?",
+      deleteTip3: "保留下级节点数据"
+    },
+    usercard: {
+      address: "地址",
+      collapse: "收起",
+      department: "部门",
+      email: "邮箱",
+      employeeId: "员工 ID",
+      "employee_id": "员工 ID",
+      empno: "工号",
+      expand: "展开",
+      fax: "传真",
+      internal: "内线",
+      manager: "主管",
+      mobile: "手机",
+      other: "其他",
+      phone: "固定电话",
+      timezone: "时区",
+      title: "用户信息: {0}",
+      travelcode: "出差联系信息",
+      viop: "VIOP",
+      zipcode: "邮编"
+    },
+    richText: {
+      bold: "加粗",
+      italic: "倾斜",
+      underline: "下划线",
+      header: "段落格式",
+      strike: "删除线",
+      blockquote: "块引用",
+      codeBlock: "插入代码段",
+      size: "字体大小",
+      listOrdered: "编号列表",
+      listBullet: "项目列表",
+      header1: "h1",
+      header2: "h2",
+      align: "对齐方式",
+      color: "字体颜色",
+      background: "背景颜色",
+      image: "图像",
+      video: "视频",
+      link: "添加链接",
+      formula: "插入公式",
+      clean: "清除格式",
+      indent1: "向左缩进",
+      indent2: "向右缩进",
+      pickerLabel: "标题大小",
+      headerPicker1: "标题一",
+      headerPicker2: "标题二",
+      headerPicker3: "标题三",
+      headerPicker4: "标题四",
+      headerPicker5: "标题五",
+      headerPicker6: "标题六",
+      normal: "标准",
+      sizeSmall: "小号",
+      sizeLarge: "大号",
+      sizeHuge: "超大号",
+      alignPicker1: "居左对齐",
+      alignPicker2: "居中对齐",
+      alignPicker3: "居右对齐",
+      alignPicker4: "两端对齐",
+      subScript: "下标",
+      superScript: "上标",
+      directionRTL: "从右到左",
+      font: "字体",
+      file: "文件",
+      betterTable: "表格",
+      fullscreen: "全屏",
+      insertColumnRight: "右插入列",
+      insertColumnLeft: "左插入列",
+      insertRowUp: "上插入行",
+      insertRowDown: "下插入行",
+      mergeCells: "合并单元格",
+      unmergeCells: "拆分单元格",
+      deleteColumn: "删除当前列",
+      deleteRow: "删除当前行",
+      deleteTable: "删除表格",
+      colorPicker: "背景颜色",
+      placeholder: "在此处插入文本...",
+      maxLength: "文本长度超过限制,支持的最大长度是 "
+    },
+    steps: {
+      done: "已完成",
+      doing: "进行中",
+      wait: "等待中"
+    },
+    actionSheet: {
+      cancel: "取消"
+    },
+    image: {
+      loadFail: "加载失败"
+    },
+    miniPicker: {
+      cancel: "取消",
+      confirm: "确定"
+    },
+    pullRefresh: {
+      pullingDown: "下拉即可刷新",
+      pullingUp: "上拉即可刷新",
+      pulling: "下拉即可刷新",
+      loosing: "释放即可刷新",
+      success: "刷新成功",
+      failed: "刷新失败",
+      noMore: "没有更多了"
+    },
+    currency: {
+      defaultCurrency: "默认币种",
+      setDefault: "设为默认",
+      chooseCurrency: "选择币种"
+    },
+    calendarBar: {
+      week: {
+        0: "日",
+        1: "一",
+        2: "二",
+        3: "三",
+        4: "四",
+        5: "五",
+        6: "六"
+      },
+      year: "%s年",
+      yearMonth: "%y年%m月",
+      month: {
+        1: "1月",
+        2: "2月",
+        3: "3月",
+        4: "4月",
+        5: "5月",
+        6: "6月",
+        7: "7月",
+        8: "8月",
+        9: "9月",
+        10: "10月",
+        11: "11月",
+        12: "12月"
+      },
+      monthAbbr: {
+        1: "1",
+        2: "2",
+        3: "3",
+        4: "4",
+        5: "5",
+        6: "6",
+        7: "7",
+        8: "8",
+        9: "9",
+        10: "10",
+        11: "11",
+        12: "12"
+      }
+    },
+    calendarView: {
+      week: {
+        0: "日",
+        1: "一",
+        2: "二",
+        3: "三",
+        4: "四",
+        5: "五",
+        6: "六"
+      },
+      weekDays: {
+        0: "周日",
+        1: "周一",
+        2: "周二",
+        3: "周三",
+        4: "周四",
+        5: "周五",
+        6: "周六"
+      },
+      backToday: "回今天",
+      new: "新增",
+      noSchedule: "暂无日程",
+      year: "年",
+      month: "月",
+      dateFormat: "yyyy 年 MM 月"
+    },
+    selectedBox: {
+      select: "已选(%s)",
+      allSelect: "已全选(%s)",
+      clear: "清空"
+    },
+    record: {
+      record: "录音",
+      cancel: "取消",
+      confirm: "确定",
+      clickToStartRecording: "点击开始录音",
+      clickToResumeRecording: "点击继续录音"
+    },
+    dialogSelect: {
+      treeSearch: "请输入关键字并回车"
+    }
+  },
+  validation: {
+    array: {
+      len: "%s 的长度必须为 %s",
+      min: "%s 长度不能小于 %s",
+      max: "%s 的长度不能大于 %s",
+      range: "%s 的长度必须介于 %s 和 %s 之间"
+    },
+    date: {
+      format: "%s 日期 %s 对于格式 %s 无效",
+      invalid: "%s 日期 %s 无效",
+      parse: "无法分析 %s 日期, %s 无效"
+    },
+    default: "%s 字段校验错误",
+    enum: "%s 必须是 %s 中的一个",
+    number: {
+      len: "%s 必须等于 %s",
+      min: "%s 不能小于 %s",
+      max: "%s 不能大于 %s",
+      range: "%s 必须介于 %s 和 %s 之间"
+    },
+    pattern: {
+      mismatch: "%s 值%s 与模式 %s 不匹配"
+    },
+    required: "必填",
+    string: {
+      len: "%s 必须是 %s 个字符",
+      min: "%s 必须至少为 %s 个字符",
+      max: "%s 不能大于 %s 个字符",
+      range: "%s 必须介于 %s 和 %s 个字符之间"
+    },
+    types: {
+      acceptFile: "只接受文件",
+      acceptImg: "只接受图片格式",
+      array: "非法数组",
+      boolean: "非法布尔值",
+      date: "不符合规则的日期格式",
+      dateTime: "不符合规则的日期时间格式",
+      dateYM: "不符合规则的日期格式(yyyy-mm)",
+      dateYMD: "不符合规则的日期格式(yyyy-MM-dd)",
+      digits: "非法纯数字",
+      email: "非法邮件地址",
+      fileSize: "文件大小的格式不正确,应如 3kb",
+      float: "非法浮点数",
+      hex: "非法十六进制",
+      integer: "非法整数",
+      longDateTime: "不符合规则的长日期格式",
+      method: "必须是函数(Function)",
+      number: "非法数字",
+      object: "非法对象",
+      regexp: "非法正则表达式",
+      specialch: "只能包含数字、字母、下划线、横杠、点号",
+      specialch2: "只能包含数字、字母、下划线、横杠",
+      speczh: "只能包含数字、字母、下划线、汉",
+      string: "非法字符串",
+      time: "不符合规则的时间格式",
+      url: "非法 URL 地址",
+      version: "非法版本格式"
+    },
+    whitespace: "%s 不能为空"
+  }
+};
+var enUS$1 = {
+  "en-US": "English",
+  "zh-CN": "中文",
+  "zh-TW": "中国台湾",
+  hello: "Hello {name}",
+  code: "en-US",
+  yes: "Yes",
+  no: "No",
+  ui: {
+    numeric: {
+      equalTo: "Equal to",
+      notEqualTo: "Not equal to",
+      moreThan: "More than",
+      moreThanOrEqualTo: "More than or equal to",
+      lessThan: "Less than",
+      lessThanOrEqualTo: "Less than or equal to",
+      empty: "Empty",
+      nonEmpty: "Non-empty"
+    },
+    queryBuilder: {
+      addItem: "Add Rule",
+      addGroup: "Add Rule Group",
+      removeGroup: "Del Rule Group"
+    },
+    wizard: {
+      previousStep: "LastStep",
+      nextStep: "NextStep",
+      save: "Save",
+      submit: "Submit"
+    },
+    linkMenu: {
+      title: "news",
+      placeholder: "Please enter keywords to filter...",
+      sure: "Determine",
+      cancel: "cancel"
+    },
+    todoList: {
+      add: "Add",
+      placeholder: "please input your todo things"
+    },
+    alert: {
+      error: "Error",
+      info: "Info",
+      success: "Success",
+      title: "Message notification",
+      warning: "Warning"
+    },
+    amount: {
+      currency: "Currency",
+      amount: "Amount",
+      date: "Date",
+      equalTo: "Equal to",
+      notEqualTo: "Not equal to",
+      moreThan: "More than",
+      moreThanOrEqualTo: "More than or equal to",
+      lessThan: "Less than",
+      lessThanOrEqualTo: "Less than or equal to",
+      empty: "Empty",
+      nonEmpty: "Non-empty"
+    },
+    base: {
+      all: "All",
+      cancel: "Cancel",
+      confirm: "OK",
+      delete: "Delete",
+      edit: "Edit",
+      more: "More",
+      reset: "Reset",
+      clear: "Clear",
+      comma: ","
+    },
+    button: {
+      cancel: "Cancel",
+      confirm: "Confirm"
+    },
+    buttonMessage: {
+      cancel: "Cancel",
+      confirm: "Confirm"
+    },
+    cell: {
+      placeholder: "Select"
+    },
+    cascader: {
+      noMatch: "No matching data",
+      loading: "Loading",
+      placeholder: "Select",
+      noData: "No data"
+    },
+    chart: {
+      auxiliary: "Auxiliary",
+      emptyText: "No Data",
+      kName: "Day K",
+      other: "Other",
+      summation: "Summation",
+      total: "Total",
+      value: "Value"
+    },
+    colorSelectPanel: {
+      confirm: "Ok",
+      cancel: "Cancel",
+      predefine: "Predefine Color",
+      history: "History",
+      empty: "Empty"
+    },
+    crop: {
+      cropImage: "crop image",
+      croppedImage: "Post-Crop Image"
+    },
+    datepicker: {
+      clear: "Clear",
+      cancel: "Cancel",
+      endDate: "End Date",
+      confirm: "OK",
+      month: "month",
+      endTime: "End Time",
+      month2: "February",
+      month1: "January",
+      month4: "April",
+      month3: "March",
+      month6: "June",
+      month5: "May",
+      month8: "August",
+      month7: "July",
+      month10: "October",
+      month9: "September",
+      month12: "December",
+      month11: "November",
+      months: {
+        feb: "Feb",
+        jan: "Jan",
+        apr: "Apr",
+        mar: "Mar",
+        jun: "Jun",
+        may: "May",
+        aug: "Aug",
+        jul: "Jul",
+        oct: "Oct",
+        sep: "Sep",
+        dec: "Dec",
+        nov: "Nov"
+      },
+      nextYear: "Next Year",
+      nextMonth: "Next Month",
+      prevMonth: "Previous Month",
+      now: "Now",
+      selectDate: "Select date",
+      prevYear: "Previous Year",
+      startDate: "Start Date",
+      selectTime: "Select time",
+      today: "Today",
+      currentMonth: "Current Month",
+      startTime: "Start Time",
+      week: "week",
+      weeks: {
+        mon: "Mon",
+        sun: "Sun",
+        wed: "Wed",
+        tue: "Tue",
+        thu: "Thu",
+        sat: "Sat",
+        fri: "Fri"
+      },
+      timezone: "selecting a timezone",
+      year: "",
+      to: "to",
+      yearMonth: "{year} / {month}",
+      yearMonthDay: "{year} / {month} / {day}"
+    },
+    richTextEditor: {
+      bold: "bold",
+      italic: "italic",
+      link: "link",
+      unlink: "unlink",
+      highlight: "high light",
+      underline: "underline",
+      strike: "strike",
+      subscript: "subscript",
+      superscript: "superscript",
+      code: "code",
+      unorderedlist: "unorderedlist",
+      orderedlist: "orderedlist",
+      taskList: "taskList",
+      quote: "quote",
+      codeBlock: "code block",
+      formatClear: "format clear",
+      nodeDelete: "node delete",
+      undo: "undo",
+      redo: "redo",
+      left: "left",
+      center: "center",
+      right: "right",
+      fontSize: "font size",
+      lineHeight: "line height",
+      hBox: "h box",
+      img: "img",
+      color: "color",
+      table: "table",
+      backgroundColor: "backgroundColor"
+    },
+    calendar: {
+      showType: {
+        year: "year"
+      }
+    },
+    dept: {
+      code: "Code",
+      company: "Company",
+      dept1: "First Level Department",
+      dept2: "Second Level Department",
+      dept3: "Third Level Department",
+      dept4: "Fourth Level Department",
+      dept5: "Fifth Level Department",
+      dept6: "Sixth Level Department",
+      dept7: "Seventh Level Department",
+      dept8: "Eighth Level Department",
+      input: "Input Dept Code or Name is available",
+      name: "Name",
+      search: "Quick Search",
+      selected: "Selected"
+    },
+    dialogBox: {
+      confirm: "confirm",
+      cancel: "cancel"
+    },
+    load: {
+      dot: "Loading"
+    },
+    exception: {
+      build: "Building",
+      busy: "The network is busy. Please wait",
+      noperm: "Not find the page",
+      weaknet: "Poor network performance",
+      pcview: "View the file on the PC",
+      nodata: "Get some rest",
+      create: "Create",
+      provide: "Provided by the TINY Team DEV",
+      nodatamf: "No data",
+      nopermmf: "No access",
+      weaknetmf: "Network anomaly",
+      noresult: "No result",
+      nonews: "No latest news",
+      pagenoperm: "403:No access",
+      pageweaknet: "Network anomaly",
+      pagenothing: "404:The page you visited does not exist",
+      pageservererror: "500:Server exception"
+    },
+    fileUpload: {
+      largefile: " is too large and will be uploaded in segments. Please wait.",
+      folder: " has more than five layers of folders. The file will not be uploaded",
+      init: "Service error. Please try again.",
+      token: "Perform EDM authentication first and obtain the token",
+      exceed: "The file size exceeds the limit of {maxSize}.",
+      largeFile: "The file size exceeds the upper limit by 2 GB !!",
+      fileSize: "The file size is lower than the limit of {minSize}{sizeUnit}",
+      deleteTip: "Press delete to remove",
+      downloadFile: "DownLoad file",
+      previewFile: "Preview file",
+      updateFile: "Update file",
+      reUploadFile: "refresh upload file",
+      cancelFile: "Cancel Upload",
+      deleteFile: "Delete file",
+      empty: "is empty!",
+      kiaScanTip: "Sorry, unable to download. Please pass the KIA test first to download a file using public network. Current document is being checked by the KIA, Please wait a while then redownload.",
+      fileNameExceeds: "exceeds 255 characters. Please change the file name.",
+      fileName: "The file name",
+      calcHash: "Document is calculating encryption",
+      uploadFile: "Upload file",
+      downloadAll: "Download all",
+      onlySupport: "Only support {type} file",
+      fileNotLessThan: "The size of single file cannot be less than ",
+      fileNotMoreThan: "The size of single file cannot be more than ",
+      notSupport: "The format (.{format}) is not allowed.",
+      notSupportNoSuffix: "Files without suffixes are not supported currently",
+      notSupportSpecialCharacters: "The file name contains special characters, please rename the file and upload again",
+      attachment: "Attachment",
+      uploadList: "Upload List",
+      numberExceed: "The number of files exceeds the limit of {number}",
+      numberLimit: "Maximum upload of {number} files.",
+      encryptDialogTitle: "Watermark and encryption settings",
+      addWatermark: "Add Watermark",
+      encrypted: "Encrypted",
+      docPreview: "Document Preview",
+      networkError: "Network Error",
+      pictureNetworkError: "Network error, upload failed",
+      reUploadTip: "{number} files failed to upload!"
+    },
+    uploadList: {
+      pictureUploading: "Picture uploading",
+      uploadFailed: "Upload failed",
+      uploading: "Uploading",
+      download: "Download",
+      reUpload: "Re-upload",
+      delete: "Delete",
+      noAttachments: "No attachments",
+      cancel: "Cancel",
+      preview: "Preview",
+      releaseAndUpload: "Release the mouse and upload the file",
+      dragOrClickImport: "Drag the file here, or click Import",
+      shoot: "Shoot",
+      selectFromAlbum: "Select from album",
+      uploadFailedAndReupload: "Upload failed, click to reupload"
+    },
+    upload: {
+      addPicture: "Add picture",
+      addAudio: "Add audio",
+      addVideo: "Add video"
+    },
+    grid: {
+      dataUnchanged: "Data unchanged!",
+      deleteSelectRecord: "Are you sure you want to delete the selected record?",
+      emptyText: "No Data",
+      error: {
+        cellEditRender: "The renderer cell-render and edit-render cannot be used together.",
+        delGetAllRecords: "The function getAllRecords is deprecated, please use getRecordset.",
+        delGetRecords: "The function getRecords is deprecated, please use getData.",
+        delLabel: "The property label is deprecated, please use title.",
+        delProp: "The property prop is deprecated, please use field.",
+        delRevert: "The function revert is deprecated, please use revertData.",
+        groupFixed: "If grouping headers are used, fixed columns must be on the left and right sides.",
+        notDelete: "delete method not exist.",
+        notMouse: "Horizontal virtual scrolling does not support mouse-config.",
+        notQuery: "query method not exist.",
+        notResizable: "Horizontal virtual scrolling does not support resizable.",
+        notSave: "save method not exist.",
+        reqModule: "require {{name}} module.",
+        rowIdEmpty: "The property row-id is not allowed to be empty.",
+        scrollOriginal: "Virtual scrolling can only export source data, please set original=true.",
+        scrollYHeight: "You must set the height or max-height to enable virtual scrolling.",
+        toolbarId: "Toolbar must have a unique id",
+        treeFixedExpand: "The fixed columns of the tree structure conflict with the expanded row.",
+        treeInsert: "The tree structure does not support insert operations.",
+        treeRemove: "The tree structure does not support remove operations.",
+        unableInsert: "Unable to insert to the specified location.",
+        dargSelf: "Self dragging is not allowed.",
+        dargFixed: "Fixed columns cannot be dragged.",
+        remoteMethod: '"remoteMethod" needs to be set for remote storage for personalized template management.',
+        remoteSelectedMethod: '"remoteSelectedMethod" needs to be set for remote storage for personalized template management.',
+        chainCallError: "There is a syntax error in the default slot for the column, please check.",
+        renderParamError: "Expect to configure a rendering method for generating a VNode.",
+        classComponentError: "Class component rendering error.",
+        groupColumnFixedError: "Different fixed types cannot be set in the same group.",
+        missingValueFormat: 'The renderer cannot format the date string. You should provide the "valueFormat" source date format configuration.'
+      },
+      filter: {
+        allFilter: "All",
+        allSelect: "(All)",
+        endDate: "End Date",
+        startDate: "Start Date",
+        dateTips: "Please enter at least one date",
+        clear: "Clear Current Filter",
+        clearAll: "Clear All Filters",
+        confirmFilter: "OK",
+        empty: "Is Empty",
+        emptyText: "No Data",
+        equal: "Equal",
+        include: "Include",
+        prefix: "Starts With",
+        resetFilter: "Reset",
+        unempty: "Is not Empty"
+      },
+      individuation: {
+        cancelBtn: "Cancel",
+        colConfigs: {
+          asc: "Ascending",
+          desc: "Descending",
+          frozenLeft: "Frozen on the left",
+          frozenRight: "Frozen on the right",
+          invisible: "Invisible",
+          unsorted: "No sortting",
+          unfrozen: "Unfrozen",
+          visible: "Visible",
+          unfreeze: "Unfrozen",
+          unsort: "Unsort"
+        },
+        toolbar: {
+          set: "Set",
+          selected: "Selected",
+          freeze: "Freeze",
+          sort: "Sort",
+          clear: "Clear",
+          search: "Search",
+          all: "All"
+        },
+        columnSet: "Column Setting",
+        overwriteSave: "Overwrite Save",
+        saveAs: "Save as",
+        saveTemplate: "Save Template",
+        selectTemplate: "Select Template",
+        hideMsg: "Leave one column to show at least.",
+        maxFreezeNumMsg: "Maxium number of frozen columns is 6",
+        defaultTemplateName: "Please enter a name, if not filled in, it will be generated by the system according to time",
+        reserveTemplateName: "If the name is not filled in, the previous name will be retained",
+        resetBtn: "Reset",
+        saveBtn: "OK",
+        hideAll: "Hide All",
+        showAll: "Show All",
+        tabs: {
+          base: {
+            title: "Base Setting",
+            tips: "Click the icon to set personalized."
+          },
+          other: {
+            allDataSort: "Remote Data Sorting",
+            currPageSort: "Current Page Data Sorting",
+            pageSize: "Page Size",
+            title: "Other Setting",
+            tips: "Settings for Sorting and Pagesize.",
+            sortType: "Sorting Type"
+          }
+        },
+        title: "Personalized Settings",
+        switchtitle: "Template Management",
+        switchsave: "Save configuration",
+        switchlabel: "List:",
+        switchapply: "Apply",
+        switchedit: "Edit",
+        switchdel: "Delete",
+        switchconfirm: "Confirm",
+        switchonlytemp: "Save as template only",
+        switchtempapply: "Save as template and use",
+        switchtempoverwrite: "Overwrite template and use",
+        switchdelcon: "Are you sure to delete this template?",
+        switchdelyes: "Yes",
+        switchdelno: "No",
+        switchapplycon: "Are you sure to use this template?"
+      },
+      removeSelectRecord: "Are you sure you want to remove the selected record?",
+      saveSuccess: "Save successfully.",
+      selectOneRecord: "Please choose at least one piece of record!",
+      isSaveMsg: "There are change records, do you want to save them?"
+    },
+    hrapprover: {
+      approver: "Approver",
+      noapprover: "There is no approver",
+      noselected: "Select one record!",
+      remark: "Remarks"
+    },
+    imageViewer: {
+      loadErrorAlt: "Load Error",
+      save: "Save picture",
+      del: "Delete Picture",
+      thumbnail: "Thumbnail",
+      menu: "Menu",
+      hide: "Hide Sidebar",
+      show: "Show Sidebar"
+    },
+    navMenu: {
+      moreText: "more"
+    },
+    logout: {
+      in: "Login",
+      out: "Logout"
+    },
+    page: {
+      goto: "Go to",
+      item: "",
+      next: "Next",
+      page: "Records/Page",
+      pageClassifier: "",
+      pagesize: "Records/Page",
+      prev: "Prev",
+      total: "Total ",
+      totals: "Total: ",
+      jump: "Go to",
+      hundredThousand: "100K+",
+      million: "1M+",
+      tenMillion: "10M+",
+      loadingTotals: "Loading Totals..."
+    },
+    popeditor: {
+      cancel: "Cancel",
+      confirm: "OK",
+      historyLists: "History options",
+      reset: "Reset",
+      search: "Search",
+      selectionLists: "Selected Items",
+      sourceLists: "Available Items",
+      title: "Select",
+      filterNode: "input text to filter node"
+    },
+    popupload: {
+      fileName: "File Name",
+      fileSize: "File Size",
+      fileStatus: "File Status",
+      dialogTitle: "File Upload",
+      cancelButtonText: "Cancel",
+      tipsFileText: "upload hints",
+      uploadError: "Upload failure!",
+      uploadButtonText: "select file",
+      uploadSuccess: "Upload Success!",
+      saveButtonText: "Click To Upload",
+      uploadsButtonText: "select files",
+      errorTypeTips: "Upload file type mismatch",
+      errorSizeTips: "Upload file size exceeds limit",
+      limitUploadFileType: "Upload file type is limited to",
+      limitUploadFileNumber: "Limit the number of uploaded files to",
+      limitUploadFileSize: "The size of the uploaded file does not exceed",
+      errorNumTips: "The number of uploaded files exceeds the limit. The operation has been cancelled"
+    },
+    rate: {
+      level: {
+        average: "Average",
+        excellent: "Excellent",
+        fair: "Fair",
+        good: "Good",
+        poor: "Poor"
+      }
+    },
+    select: {
+      loading: "Loading",
+      noData: "No data",
+      noMatch: "No matching data",
+      placeholder: "Select",
+      pleaseSearch: "Please search",
+      search: "Search",
+      selected: "Selected",
+      selectedNum: "{num} selected",
+      noSearchData: "No search results. Please try again",
+      add: "Add",
+      collapse: "Collapse"
+    },
+    search: {
+      placeholder: "search"
+    },
+    signature: {
+      confirm: "Confirm",
+      rewrite: "Rewrite",
+      cancel: "Cancel",
+      tips: "Please sign by hand",
+      resign: "Resign",
+      placeholder: "Please sign here (required)"
+    },
+    tabs: {
+      moreItem: "more"
+    },
+    tag: {
+      add: "Add"
+    },
+    toggleMenu: {
+      placeholder: "please input filter content"
+    },
+    treeMenu: {
+      placeholder: "please input filter content"
+    },
+    transfer: {
+      filterPlaceholder: "Enter keyword",
+      hasCheckedFormat: "{checked}/{total} checked",
+      noData: "No data",
+      noMatch: "No matching data",
+      noCheckedFormat: "{total} items",
+      titles: ["List 1", "List 2"]
+    },
+    tree: {
+      loading: "Loading",
+      emptyText: "No data",
+      switchText: "check easily",
+      edit: "Edit",
+      delete: "Delete",
+      addChild: "Add Child",
+      newNodeTitle: "Add Child Nodes",
+      deleteTip1: "The deleted data cannot be restored. Are you sure you want to delete it?",
+      deleteTip2: "This node has lower-level nodes. Do you want to retain the lower-level node data?",
+      deleteTip3: "Retain the lower-level node data"
+    },
+    usercard: {
+      address: "Address",
+      collapse: "Collapse",
+      department: "Department",
+      email: "email",
+      employeeId: "Employee ID",
+      "employee_id": "Employee ID",
+      empno: "Employee Number",
+      expand: "Expand",
+      fax: "Fax",
+      internal: "Internal",
+      manager: "Manager",
+      mobile: "Mobile",
+      other: "Other",
+      phone: "Telephone",
+      timezone: "Time zone",
+      title: "User information: {0}",
+      travelcode: "Travel code",
+      viop: "VIOP",
+      zipcode: "Postal Code"
+    },
+    richText: {
+      bold: "Bold",
+      italic: "Tilt",
+      underline: "Underline",
+      header: "Paragraph Format",
+      strike: "Delete Line",
+      blockquote: "Block Reference",
+      codeBlock: "Insert Code Segment",
+      size: "Font Size",
+      listOrdered: "No. List",
+      listBullet: "Project List",
+      header1: "H1",
+      header2: "H2",
+      align: "Alignment Mode",
+      color: "Font Color",
+      background: "Background Color",
+      image: "Image",
+      video: "Video",
+      link: "Add Link",
+      formula: "Insert Function",
+      clean: "Clear Format",
+      indent1: "Indent To The Left",
+      indent2: "Indent To The Right",
+      pickerLabel: "Title Size",
+      headerPicker1: "Title 1",
+      headerPicker2: "Title 2",
+      headerPicker3: "Title 3",
+      headerPicker4: "Title 4",
+      headerPicker5: "Title 5",
+      headerPicker6: "Title 6",
+      normal: "Normal",
+      sizeSmall: "Small",
+      sizeLarge: "Large",
+      sizeHuge: "Super Large Size",
+      alignPicker1: "Align To The Left",
+      alignPicker2: "Align In The Center",
+      alignPicker3: "Align To The Right",
+      alignPicker4: "Align The Two Ends",
+      subScript: "Subscript",
+      superScript: "Superscript",
+      directionRTL: "Right To Left",
+      font: "Font",
+      file: "File",
+      betterTable: "Table",
+      fullscreen: "Fullscreen",
+      insertColumnRight: "Insert Column Right",
+      insertColumnLeft: "Insert Column Left",
+      insertRowUp: "Insert Row Up",
+      insertRowDown: "Insert Row Down",
+      mergeCells: "Merge Cells",
+      unmergeCells: "Split Cells",
+      deleteColumn: "Delete Current Column",
+      deleteRow: "Delete Current Row",
+      deleteTable: "Delete Table",
+      colorPicker: "Background Color",
+      placeholder: "Insert text here...",
+      maxLength: "Text Length exceeds the Limit, max Length config is "
+    },
+    steps: {
+      done: "Completed",
+      doing: "Ongoing",
+      wait: "Waiting"
+    },
+    actionSheet: {
+      cancel: "Cancel"
+    },
+    image: {
+      loadFail: "Loading failed"
+    },
+    miniPicker: {
+      cancel: "Cancel",
+      confirm: "Confirm"
+    },
+    pullRefresh: {
+      pullingDown: "Pull down to refresh",
+      pullingUp: "Pull up to refresh",
+      pulling: "Pull down to refresh",
+      loosing: "Release to refresh",
+      success: "Refresh success",
+      failed: "Refresh failed",
+      noMore: "There is no more"
+    },
+    currency: {
+      defaultCurrency: "Default currency",
+      setDefault: "Set as default",
+      chooseCurrency: "Choose currency"
+    },
+    calendarBar: {
+      week: {
+        0: "SUN",
+        1: "MON",
+        2: "TUE",
+        3: "WED",
+        4: "THU",
+        5: "FRI",
+        6: "SAT"
+      },
+      year: "Year %s",
+      yearMonth: "%m %y",
+      month: {
+        1: "January",
+        2: "February",
+        3: "March",
+        4: "April",
+        5: "May",
+        6: "June",
+        7: "July",
+        8: "August",
+        9: "September",
+        10: "October",
+        11: "November",
+        12: "December"
+      },
+      monthAbbr: {
+        1: "Jan",
+        2: "Feb",
+        3: "Mar",
+        4: "Apr",
+        5: "May",
+        6: "Jun",
+        7: "Jul",
+        8: "Aug",
+        9: "Sept",
+        10: "Oct",
+        11: "Nov",
+        12: "Dec"
+      }
+    },
+    calendarView: {
+      week: {
+        0: "SUN",
+        1: "MON",
+        2: "TUE",
+        3: "WED",
+        4: "THU",
+        5: "FRI",
+        6: "SAT"
+      },
+      weekDays: {
+        0: "SUN",
+        1: "MON",
+        2: "TUE",
+        3: "WED",
+        4: "THU",
+        5: "FRI",
+        6: "SAT"
+      },
+      backToday: "back to today",
+      new: "New",
+      noSchedule: "No Schedule",
+      year: "year",
+      month: "month",
+      dateFormat: "yyyy-MM"
+    },
+    selectedBox: {
+      select: "Selected (%s)",
+      allSelect: "All selected (%s)",
+      clear: "Clear"
+    },
+    record: {
+      record: "Record",
+      cancel: "Cancel",
+      confirm: "Confirm",
+      clickToStartRecording: "Click to start recording",
+      clickToResumeRecording: "Click to resume recording"
+    },
+    dialogSelect: {
+      treeSearch: "Enter a keyword and press Enter"
+    }
+  },
+  validation: {
+    array: {
+      len: "must be exactly %s in length",
+      min: "cannot be less than %s in length",
+      max: "cannot be greater than %s in length",
+      range: "must be between %s and %s in length"
+    },
+    date: {
+      format: "date %s is invalid for format %s",
+      invalid: "date %s is invalid",
+      parse: "date could not be parsed, %s is invalid "
+    },
+    default: "Validation error on field %s",
+    enum: "must be one of %s",
+    number: {
+      len: "%s must equal %s",
+      min: "%s cannot be less than %s",
+      max: "%s cannot be greater than %s",
+      range: "%s must be between %s and %s"
+    },
+    pattern: {
+      mismatch: "value %s does not match pattern %s"
+    },
+    required: "required",
+    string: {
+      len: "%s must be exactly %s characters",
+      min: "%s must be at least %s characters",
+      max: "%s cannot be longer than %s characters",
+      range: "%s must be between %s and %s characters"
+    },
+    types: {
+      acceptFile: "not a valid %s",
+      acceptImg: "not a valid %s",
+      array: "not an %s",
+      boolean: "not a %s",
+      date: "not a %s",
+      dateTime: "not a valid %s",
+      dateYM: "not a valid %s",
+      dateYMD: "not a valid %s",
+      digits: "not a valid %s",
+      email: "not a valid %s",
+      fileSize: "not a valid %s",
+      float: "not a %s",
+      hex: "not a valid %s",
+      integer: "not an %s",
+      longDateTime: "not a valid %s",
+      method: "not a %s (function)",
+      number: "not a %s",
+      object: "not an %s",
+      regexp: "not a valid %s",
+      specialch: "not a valid %s",
+      specialch2: "not a valid %s",
+      speczh: "not a valid %s",
+      string: "not a %s",
+      time: "not a valid %s",
+      url: "not a valid %s",
+      version: "not a valid %s"
+    },
+    whitespace: "cannot be empty"
+  }
+};
+var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
+function format$2(string) {
+  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+    args[_key - 1] = arguments[_key];
+  }
+  if (args.length === 1 && typeof args[0] === "object") {
+    args = args[0];
+  }
+  if (!args || !args.hasOwnProperty) {
+    args = {};
+  }
+  return string.replace(RE_NARGS, function(match, prefix, i2, index244) {
+    var result2;
+    if (string[index244 - 1] === "{" && string[index244 + match.length] === "}") {
+      return i2;
+    } else {
+      result2 = Object.prototype.hasOwnProperty.call(args, i2) ? args[i2] : null;
+      if (result2 === null || result2 === void 0) {
+        return "";
+      }
+      return result2;
+    }
+  });
+}
+var lang = zhCN$1;
+var i18nHandler = null;
+var t$1 = function t$12(path2, options2) {
+  if (options2 === void 0) {
+    options2 = void 0;
+  }
+  if (i18nHandler)
+    return i18nHandler.apply(this, arguments);
+  var array = path2.split(".");
+  var value = null;
+  var current = lang;
+  for (var i2 = 0, j2 = array.length; i2 < j2; i2++) {
+    var property = array[i2];
+    value = current[property] || "";
+    if (i2 === j2 - 1)
+      return format$2(value, options2);
+    if (!value)
+      return "";
+    current = value;
+  }
+  return "";
+};
+var use$1 = function use$12(l2) {
+  lang = l2 || lang;
+  return lang;
+};
+var language$1 = function language$12() {
+  return lang.code;
+};
+var i18n$1 = function i18n$12(fn) {
+  i18nHandler = fn || t$1;
+  return i18nHandler;
+};
+var extend$1$1 = extend$4;
+var initI18n$1 = function initI18n$12(_ref) {
+  var app2 = _ref.app, createI18n2 = _ref.createI18n, _ref$messages = _ref.messages, messages = _ref$messages === void 0 ? {} : _ref$messages, _ref$i18n = _ref.i18n, i18n2 = _ref$i18n === void 0 ? {} : _ref$i18n, merge2 = _ref.merge;
+  if (typeof merge2 !== "function") {
+    merge2 = function merge22(_ref2) {
+      var lang3 = _ref2.lang, i18n3 = _ref2.i18n, messages2 = _ref2.messages;
+      return extend$1$1(true, lang3, i18n3.messages, messages2);
+    };
+  }
+  var lang2 = {
+    zhCN: zhCN$1,
+    enUS: enUS$1
+  };
+  if (typeof createI18n2 === "function") {
+    var vueI18n = createI18n2({
+      locale: i18n2.locale || "zhCN",
+      messages: merge2({
+        lang: lang2,
+        i18n: i18n2,
+        messages
+      })
+    });
+    i18nHandler = function i18nHandler2(key2, value) {
+      return vueI18n.global.t(key2, value);
+    };
+    return vueI18n;
+  }
+  if (app2 && app2.config && app2.config.globalProperties) {
+    app2.config.globalProperties.$t = t$1;
+  }
+  return merge2({
+    lang: lang2,
+    i18n: i18n2,
+    messages
+  });
+};
+var isVue2$1 = true;
+var isVue3 = false;
+var index$1$1 = {
+  isVue2: isVue2$1,
+  isVue3,
+  use: use$1,
+  t: t$1,
+  i18n: i18n$1,
+  initI18n: initI18n$1,
+  extend: extend$1$1,
+  zhCN: zhCN$1,
+  enUS: enUS$1
+};
+var vue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: index$1$1,
+  enUS: enUS$1,
+  extend: extend$1$1,
+  i18n: i18n$1,
+  initI18n: initI18n$1,
+  isVue2: isVue2$1,
+  isVue3,
+  language: language$1,
+  t: t$1,
+  use: use$1,
+  zhCN: zhCN$1
+}, Symbol.toStringTag, {
+  value: "Module"
+}));
+var getNumberFormat = function getNumberFormat2(config2) {
+  var groupSize = 3;
+  var groupSeparator = ",";
+  var decimalSeparator = ".";
+  if (isPlainObject$1(config2)) {
+    return config2;
+  }
+  if (typeof config2 === "string") {
+    var match = config2.match(/\d{2}([^\d]?)\d{3}([^\d]?)\d{2}/);
+    if (match && match.length === 3) {
+      groupSeparator = match[1];
+      decimalSeparator = match[2];
+    }
+  }
+  return {
+    groupSeparator,
+    groupSize,
+    decimalSeparator
+  };
+};
+var getDateFormat = function getDateFormat2(config2) {
+  var _config$DateFormat = config2.DateFormat, DateFormat = _config$DateFormat === void 0 ? "yyyy-MM-dd" : _config$DateFormat, _config$TimeFormat = config2.TimeFormat, TimeFormat = _config$TimeFormat === void 0 ? "HH:mm:ss" : _config$TimeFormat;
+  return {
+    DateFormat,
+    DateTimeFormat: DateFormat + " " + TimeFormat,
+    TimeFormat
+  };
+};
+var TZRE = /(-|\+)(\d{2}):?(\d{2})$/;
+var getStrTimezone = function getStrTimezone2(value) {
+  var localTimeZone = 0 - (/* @__PURE__ */ new Date()).getTimezoneOffset() / 60;
+  var match = typeof value === "string" && value.match(TZRE);
+  if (match) {
+    var minoffset = match[2] * 1 + match[3] * 1 / 60;
+    value = minoffset * (match[1] + "1");
+  }
+  if (isNumber$2(value) && value >= -12 && value <= 12) {
+    return value;
+  }
+  return localTimeZone;
+};
+function glob(t2) {
+  return function(config2) {
+    var opt = _extends$s({}, getDateFormat(config2), {
+      NumberFormat: getNumberFormat(config2.NumberFormat),
+      DbTimezone: getStrTimezone(config2.DbTimezone),
+      Timezone: getStrTimezone(config2.Timezone),
+      TimezoneOffset: config2.TimezoneOffset
+    });
+    var tools3 = {
+      getFormatConfig: function getFormatConfig() {
+        return opt;
+      },
+      setFormatConfig: function setFormatConfig(obj2) {
+        Object.assign(opt, obj2);
+      },
+      getNumberFormat: function getNumberFormat3() {
+        return opt.NumberFormat;
+      },
+      getDateFormat: function getDateFormat3() {
+        return {
+          DateTimeFormat: opt.DateTimeFormat,
+          TimeFormat: opt.TimeFormat,
+          Timezone: opt.Timezone,
+          DateFormat: opt.DateFormat,
+          DbTimezone: opt.DbTimezone,
+          TimezoneOffset: opt.TimezoneOffset
+        };
+      },
+      /**
+       *
+       * @param {Date|String} value 日期或日期字符串
+       * @param {String} format 格式化模式
+       * @returns {String}
+       */
+      formatDate: function formatDate$1(value, format2) {
+        if (isNull$2(value)) {
+          return value;
+        }
+        var date = isDate$2(value) ? value : toDate$1(value);
+        var dbtimezone = opt.DbTimezone;
+        var includeTz = value.match && value.match(TZRE);
+        var convers = format2 === false || arguments[2] === false;
+        if (includeTz) {
+          dbtimezone = getStrTimezone(value);
+          date = toDate$1(value.replace("T", " ").slice(0, -5));
+        }
+        if (!convers) {
+          date = this.getDateWithNewTimezone(date, dbtimezone, opt.Timezone, opt.TimezoneOffset);
+        }
+        return isDate$2(date) ? formatDate(date, format2 || opt.DateFormat, t2) : null;
+      },
+      /**
+       *
+       * @param {Number} value 数字
+       * @param {Object} format 格式化选项
+       * @returns {String}
+       */
+      formatNumber: function formatNumber$1(value, format2) {
+        return formatNumber(value, _extends$s({}, opt.NumberFormat, format2));
+      },
+      /**
+       *
+       * @param {String} value 格式化后的字符串
+       * @param {Object} format 格式化选项
+       * @returns {Number}
+       */
+      recoverNumber: function recoverNumber$1(value, format2) {
+        return recoverNumber(value, _extends$s({}, opt.NumberFormat, format2));
+      },
+      /**
+       *
+       * @param {Date} value Date
+       * @param {Number} from
+       * @param {Number} to
+       * @returns {String}
+       */
+      getDateWithNewTimezone: function getDateWithNewTimezone$1(value, from, to, timezoneOffset) {
+        from = from === 0 ? from : from || opt.DbTimezone;
+        to = to === 0 ? to : to || opt.Timezone;
+        timezoneOffset = timezoneOffset === 0 ? timezoneOffset : timezoneOffset || opt.TimezoneOffset;
+        return getDateWithNewTimezone(value, from, to, timezoneOffset);
+      }
+    };
+    return tools3;
+  };
+}
+vue.use;
+var t$2 = vue.t;
+vue.i18n;
+vue.initI18n;
+vue.extend;
+vue.zhCN;
+vue.enUS;
+var language = vue.language;
+var globalization = glob(t$2);
+var index$1f = _extends$s({}, index$1$1, {
+  language,
+  globalization
+});
+const index$1e = "";
+const globalConfig = {
+  viewportWindow: null
+  // 获取真实视口的window,解决在微前端中某些bug
+};
+const getViewportWindow = () => globalConfig.viewportWindow || window;
+var global_default = globalConfig;
+const isServer$4 = typeof window === "undefined";
+const SPECIAL_CHARS_REGEXP = /([:\-_]+(.))/g;
+const MOZ_HACK_REGEXP = /^moz([A-Z])/;
+const camelCase = (name2) => name2.replace(SPECIAL_CHARS_REGEXP, (_2, separator, letter, offset2) => offset2 ? letter.toUpperCase() : letter).replace(MOZ_HACK_REGEXP, "Moz$1");
+const on = (el, event2, handler, options2 = false) => {
+  if (el && event2 && handler) {
+    el.addEventListener(event2, handler, options2);
+  }
+};
+const off = (el, event2, handler, options2 = false) => {
+  if (el && event2) {
+    el.removeEventListener(event2, handler, options2);
+  }
+};
+const once = (el, event2, fn) => {
+  const listener = function() {
+    if (fn) {
+      fn.apply(this, arguments);
+    }
+    off(el, event2, listener);
+  };
+  on(el, event2, listener);
+};
+const hasClass = (el, clazz2) => {
+  if (!el || !clazz2) {
+    return false;
+  }
+  if (clazz2.includes(" ")) {
+    throw new Error("className should not contain space.");
+  }
+  if (el.classList) {
+    return el.classList.contains(clazz2);
+  }
+};
+const addClass = (el, clazz2 = "") => {
+  if (!el) {
+    return;
+  }
+  const classes2 = clazz2.split(" ").filter((name2) => name2);
+  classes2.forEach((clsName) => el.classList.add(clsName));
+};
+const removeClass = (el, clazz2) => {
+  if (!el || !clazz2) {
+    return;
+  }
+  const classes2 = clazz2.split(" ").filter((name2) => name2);
+  classes2.forEach((clsName) => el.classList.remove(clsName));
+};
+const getStyle$1 = (el, styleName) => {
+  if (isServer$4) {
+    return;
+  }
+  if (!el || !styleName) {
+    return null;
+  }
+  styleName = camelCase(styleName);
+  if (styleName === "float") {
+    styleName = "cssFloat";
+  }
+  try {
+    if (el.style[styleName]) {
+      return el.style[styleName];
+    }
+    const computed2 = window.getComputedStyle(el);
+    return computed2 ? computed2[styleName] : null;
+  } catch (e2) {
+    return el.style[styleName];
+  }
+};
+const getDomNode = () => {
+  const viewportWindow = global_default.viewportWindow || window;
+  let documentElement = viewportWindow.document.documentElement;
+  let bodyElem = viewportWindow.document.body;
+  return {
+    scrollTop: documentElement.scrollTop || bodyElem.scrollTop,
+    scrollLeft: documentElement.scrollLeft || bodyElem.scrollLeft,
+    visibleHeight: documentElement.clientHeight || bodyElem.clientHeight,
+    visibleWidth: documentElement.clientWidth || bodyElem.clientWidth
+  };
+};
+const isDisplayNone = (elm) => {
+  if (isServer$4)
+    return false;
+  if (elm) {
+    const computedStyle2 = getComputedStyle(elm);
+    if (computedStyle2.getPropertyValue("position") === "fixed") {
+      if (computedStyle2.getPropertyValue("display") === "none") {
+        return true;
+      } else if (elm.parentNode !== document.body) {
+        return isDisplayNone(elm.parentNode);
+      }
+    } else {
+      return elm.offsetParent === null;
+    }
+  }
+  return false;
+};
+function throttle_default(delay, noTrailing, callback, debounceMode) {
+  let timeoutID;
+  let lastExec = 0;
+  if (typeof noTrailing !== "boolean") {
+    debounceMode = callback;
+    callback = noTrailing;
+    noTrailing = void 0;
+  }
+  function wrapper() {
+    const me = this;
+    const elapsed = (/* @__PURE__ */ new Date()).valueOf() - lastExec;
+    const args = arguments;
+    function exec() {
+      lastExec = (/* @__PURE__ */ new Date()).valueOf();
+      callback.apply(me, args);
+    }
+    function clear2() {
+      timeoutID = void 0;
+    }
+    if (debounceMode && !timeoutID) {
+      exec();
+    }
+    if (timeoutID) {
+      clearTimeout(timeoutID);
+    }
+    const isUndMode = debounceMode === void 0;
+    if (isUndMode && elapsed > delay) {
+      exec();
+    } else if (noTrailing !== true) {
+      timeoutID = setTimeout(debounceMode ? clear2 : exec, isUndMode ? delay - elapsed : delay);
+    }
+  }
+  return wrapper;
+}
+function debounce_default(delay, atBegin, callback) {
+  return callback === void 0 ? throttle_default(delay, atBegin, false) : throttle_default(delay, callback, atBegin !== false);
+}
+function _extends2() {
+  _extends2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends2.apply(this, arguments);
+}
+var emitter$1 = function emitter2() {
+  var listeners = {};
+  var on2 = function on22(event2, callback, once2) {
+    if (once2 === void 0) {
+      once2 = false;
+    }
+    if (event2 && typeof event2 === "string" && typeof callback === "function") {
+      var callbacks = listeners[event2] || [];
+      listeners[event2] = callbacks;
+      callbacks.push(callback);
+      callback.once = once2;
+    }
+  };
+  var emitter22 = {
+    emit: function emit(eventName) {
+      var _arguments = arguments;
+      var callbacks = listeners[eventName];
+      if (callbacks) {
+        callbacks.forEach(function(callback) {
+          return callback.apply(null, [].slice.call(_arguments, 1));
+        });
+        listeners[eventName] = callbacks.filter(function(callback) {
+          return !callback.once;
+        });
+      }
+    },
+    on: on2,
+    once: function once2(event2, callback) {
+      on2(event2, callback, true);
+    },
+    off: function off2(event2, callback) {
+      if (event2 && typeof event2 === "string") {
+        var callbacks = listeners[event2];
+        if (typeof callback === "function") {
+          listeners[event2] = callbacks.filter(function(cb) {
+            return cb !== callback;
+          });
+        } else {
+          delete listeners[event2];
+        }
+      } else {
+        listeners = {};
+      }
+    }
+  };
+  return emitter22;
+};
+var bindFilter = function bindFilter2(props2, attrs) {
+  if (attrs === void 0) {
+    attrs = {};
+  }
+  var properties = {};
+  for (var name2 in props2) {
+    if (name2.indexOf("_") !== 0) {
+      properties[name2] = props2[name2];
+    }
+  }
+  for (var _name in attrs) {
+    properties[_name] = attrs[_name];
+  }
+  return properties;
+};
+var getElementCssClass = function getElementCssClass2(classes2, key2) {
+  if (classes2 === void 0) {
+    classes2 = {};
+  }
+  if (typeof key2 === "object") {
+    var keys2 = Array.isArray(key2) ? key2 : Object.keys(key2).filter(function(k2) {
+      return key2[k2];
+    });
+    var cls = "";
+    keys2.forEach(function(k2) {
+      if (classes2[k2])
+        cls += classes2[k2] + " ";
+    });
+    return cls;
+  } else {
+    return classes2[key2] || "";
+  }
+};
+var defineAsyncComponent = defineAsyncComponent$1;
+var markRaw = markRaw$1;
+var renderComponent = function renderComponent2(_ref6) {
+  var _ref6$view = _ref6.view, view = _ref6$view === void 0 ? void 0 : _ref6$view, _ref6$component = _ref6.component, component2 = _ref6$component === void 0 ? void 0 : _ref6$component, props2 = _ref6.props, _ref6$context = _ref6.context, attrs = _ref6$context.attrs, slots = _ref6$context.slots, _ref6$extend = _ref6.extend, extend2 = _ref6$extend === void 0 ? {} : _ref6$extend;
+  return function() {
+    return h$2(view && view.value || component2, _extends2({}, props2, attrs, extend2), slots);
+  };
+};
+var rootConfig = function rootConfig2(context) {
+  var instance = getCurrentInstance();
+  context && setInstanceEmitter(instance);
+  return instance == null ? void 0 : instance.appContext.config.globalProperties;
+};
+var getComponentName = function getComponentName2() {
+  var _instance$type;
+  var instance = getCurrentInstance();
+  var componentName = instance == null ? void 0 : (_instance$type = instance.type) == null ? void 0 : _instance$type.name;
+  if (!componentName) {
+    var _instance$parent, _instance$parent$type;
+    componentName = instance == null ? void 0 : (_instance$parent = instance.parent) == null ? void 0 : (_instance$parent$type = _instance$parent.type) == null ? void 0 : _instance$parent$type.name;
+  }
+  return componentName || "";
+};
+var appContext = function appContext2() {
+  var _hooks$getCurrentInst;
+  return ((_hooks$getCurrentInst = getCurrentInstance()) == null ? void 0 : _hooks$getCurrentInst.appContext) || {
+    component: function component2() {
+    }
+  };
+};
+var appProperties = function appProperties2() {
+  var instance = getCurrentInstance();
+  return (instance == null ? void 0 : instance.appContext.config.globalProperties) || {};
+};
+var useRouter = function useRouter2(instance) {
+  var _instance;
+  if (instance === void 0) {
+    instance = getCurrentInstance();
+  }
+  var router2 = (_instance = instance) == null ? void 0 : _instance.appContext.config.globalProperties.$router;
+  var route = router2 && router2.currentRoute.value;
+  return {
+    route,
+    router: router2
+  };
+};
+var setInstanceEmitter = function setInstanceEmitter2(instance) {
+  var $emitter = emitter$1();
+  if (typeof instance.$emitter === "undefined")
+    Object.defineProperty(instance, "$emitter", {
+      get: function get2() {
+        return $emitter;
+      }
+    });
+};
+var emitEvent = function emitEvent2(vm) {
+  var _broadcast = function broadcast(vm2, componentName, eventName, params2) {
+    var children22 = vm2.subTree && vm2.subTree.children || vm2.children;
+    Array.isArray(children22) && children22.forEach(function(child) {
+      var name2 = child.type && child.type.componentName;
+      var component2 = child.component;
+      if (name2 === componentName) {
+        component2.emit(eventName, params2);
+        component2.$emitter && component2.$emitter.emit(eventName, params2);
+      } else {
+        _broadcast(child, componentName, eventName, params2);
+      }
+    });
+  };
+  return {
+    dispatch: function dispatch(componentName, eventName, params2) {
+      var parent22 = vm.parent || vm.root;
+      var name2 = parent22.type && parent22.type.componentName;
+      while (parent22 && (!name2 || name2 !== componentName)) {
+        parent22 = parent22.parent;
+        if (parent22)
+          name2 = parent22.type && parent22.type.componentName;
+      }
+      if (parent22) {
+        var _parent, _parent2$$emitter;
+        (_parent = parent22).emit.apply(_parent, [eventName].concat(params2));
+        parent22.$emitter && (_parent2$$emitter = parent22.$emitter).emit.apply(_parent2$$emitter, [eventName].concat(params2));
+      }
+    },
+    broadcast: function broadcast(componentName, eventName, params2) {
+      _broadcast(vm, componentName, eventName, params2);
+    }
+  };
+};
+var getRealParent = function getRealParent2(vm) {
+  if (vm && vm.parent)
+    return vm.parent.type.name === "AsyncComponentWrapper" && vm.parent.parent ? vm.parent.parent : vm.parent;
+};
+var parent = function parent2(vm) {
+  return function(handler) {
+    var parent22 = getRealParent(vm);
+    var level = 0;
+    var parentObject = function parentObject2(parent3) {
+      return {
+        level,
+        vm: createVm({}, parent3),
+        el: parent3.vnode.el,
+        options: parent3.type
+      };
+    };
+    if (typeof handler !== "function")
+      return parent22 ? parentObject(parent22) : {};
+    level++;
+    while (parent22) {
+      if (handler(parentObject(parent22)))
+        break;
+      parent22 = getRealParent(parent22);
+      level++;
+    }
+  };
+};
+var children = function children2(vm) {
+  return function(handler) {
+    if (typeof handler !== "function")
+      return generateChildren(vm.subTree);
+    var layer = 1;
+    var broadcast = function broadcast2(subTree) {
+      if (subTree) {
+        var children22 = subTree.children || subTree.dynamicChildren;
+        var level = layer++;
+        if (Array.isArray(children22)) {
+          if (children22.some(function(child) {
+            return child.component && handler({
+              level,
+              vm: createVm({}, child.component),
+              el: child.el,
+              options: child.type,
+              isLevel1: true
+            });
+          }))
+            return;
+          children22.forEach(function(child) {
+            return broadcast2(child);
+          });
+        }
+      }
+    };
+    broadcast(vm.subTree);
+  };
+};
+var regEventPrefix = /^on[A-Z]/;
+var generateListeners = function generateListeners2(attrs) {
+  var $attrs = {};
+  var $listeners = {};
+  for (var name2 in attrs) {
+    var event2 = attrs[name2];
+    if (regEventPrefix.test(name2) && typeof event2 === "function") {
+      $listeners[hyphenate(name2.substr(2))] = event2;
+      continue;
+    }
+    $attrs[name2] = event2;
+  }
+  return {
+    $attrs,
+    $listeners
+  };
+};
+var generateChildren = function generateChildren2(subTree) {
+  var children22 = [];
+  children22.refs = {};
+  if (subTree) {
+    var arr = subTree.dynamicChildren || subTree.children;
+    if (Array.isArray(arr)) {
+      arr.forEach(function(child) {
+        if (child.component) {
+          var vm = createVm({}, child.component);
+          children22.push(vm);
+          child.props.ref && (children22.refs[child.props.ref] = vm);
+        }
+      });
+    } else if (subTree.component) {
+      children22.push(createVm({}, subTree.component));
+    }
+  }
+  return children22;
+};
+var defineProperties = function defineProperties2(vm, instance, property, filter22) {
+  var _loop = function _loop2(name22) {
+    if (typeof filter22 === "function" && filter22(name22))
+      return 1;
+    Object.defineProperty(vm, name22, {
+      configurable: true,
+      enumerable: true,
+      get: function get2() {
+        return instance[property][name22];
+      },
+      set: function set2(value) {
+        return instance[property][name22] = value;
+      }
+    });
+  };
+  for (var name2 in instance[property]) {
+    if (_loop(name2))
+      continue;
+  }
+  return vm;
+};
+var filter$2 = function filter2(name2) {
+  return name2.indexOf("_") === 0;
+};
+var defineInstanceVm = function defineInstanceVm2(vm, instance) {
+  defineProperties(vm, instance, "setupState", null);
+  defineProperties(vm, instance, "props", filter$2);
+  defineProperties(vm, instance, "ctx", filter$2);
+  return vm;
+};
+var createVm = function createVm2(vm, instance, context) {
+  if (context === void 0) {
+    context = null;
+  }
+  var _generateListeners = generateListeners(instance.attrs), $attrs = _generateListeners.$attrs, $listeners = _generateListeners.$listeners;
+  var $emitter = instance.$emitter;
+  if (!$emitter) {
+    setInstanceEmitter(instance);
+    $emitter = instance.$emitter;
+  }
+  var emit = function emit2() {
+    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+      args[_key2] = arguments[_key2];
+    }
+    instance.emit.apply(instance, args);
+    $emitter.emit.apply(vm, args);
+  };
+  var $set = function $set2(target, propertyName, value) {
+    return target[propertyName] = value;
+  };
+  context || defineInstanceVm(vm, instance);
+  Object.defineProperties(vm, {
+    $attrs: {
+      get: function get2() {
+        return $attrs;
+      }
+    },
+    $children: {
+      get: function get2() {
+        return generateChildren(instance.subTree);
+      }
+    },
+    $constants: {
+      get: function get2() {
+        return instance.props._constants;
+      }
+    },
+    $emit: {
+      get: function get2() {
+        return emit;
+      }
+    },
+    $el: {
+      get: function get2() {
+        return instance.vnode.el;
+      }
+    },
+    $listeners: {
+      get: function get2() {
+        return $listeners;
+      }
+    },
+    $mode: {
+      get: function get2() {
+        return instance._tiny_mode;
+      }
+    },
+    $nextTick: {
+      get: function get2() {
+        return nextTick;
+      }
+    },
+    $off: {
+      get: function get2() {
+        return $emitter.off;
+      }
+    },
+    $on: {
+      get: function get2() {
+        return $emitter.on;
+      }
+    },
+    $once: {
+      get: function get2() {
+        return $emitter.once;
+      }
+    },
+    $options: {
+      get: function get2() {
+        return {
+          componentName: instance.type.componentName
+        };
+      }
+    },
+    $parent: {
+      get: function get2() {
+        return instance.parent && createVm2({}, getRealParent(instance));
+      }
+    },
+    $refs: {
+      get: function get2() {
+        return instance.refs;
+      }
+    },
+    $renderless: {
+      get: function get2() {
+        return instance.props.tiny_renderless;
+      }
+    },
+    $scopedSlots: {
+      get: function get2() {
+        return instance.slots;
+      }
+    },
+    $set: {
+      get: function get2() {
+        return $set;
+      }
+    },
+    $slots: {
+      get: function get2() {
+        return instance.slots;
+      }
+    },
+    $template: {
+      get: function get2() {
+        return instance.props.tiny_template;
+      }
+    }
+  });
+  return vm;
+};
+var onBeforeMount = function onBeforeMount2(instance, refs) {
+  for (var name2 in instance.refs) {
+    if (Object.prototype.hasOwnProperty.call(instance.refs, name2)) {
+      refs[name2] = instance.refs[name2];
+    }
+  }
+};
+var tools = function tools2(context, mode) {
+  var _instance$proxy, _instance$proxy$$root;
+  var instance = getCurrentInstance();
+  var root = instance == null ? void 0 : instance.appContext.config.globalProperties;
+  var _useRouter = useRouter(instance), route = _useRouter.route, router2 = _useRouter.router;
+  var i18n2 = instance == null ? void 0 : (_instance$proxy = instance.proxy) == null ? void 0 : (_instance$proxy$$root = _instance$proxy.$root) == null ? void 0 : _instance$proxy$$root.$i18n;
+  var _emitEvent = emitEvent(instance), dispatch = _emitEvent.dispatch, broadcast = _emitEvent.broadcast;
+  var parentHandler = parent(instance);
+  var childrenHandler = children(instance);
+  var vm = createVm({}, instance, context);
+  var emit = context.emit;
+  var refs = {};
+  var grandParent = typeof instance.props.tiny_template === "undefined" && getRealParent(instance);
+  var parentVm = grandParent ? createVm({}, grandParent) : instance.parent ? createVm({}, instance.parent) : null;
+  var setParentAttribute = function setParentAttribute2(_ref7) {
+    var _instance$parent2;
+    var name2 = _ref7.name, value = _ref7.value;
+    var ctx = grandParent ? grandParent.ctx : instance == null ? void 0 : (_instance$parent2 = instance.parent) == null ? void 0 : _instance$parent2.ctx;
+    ctx[name2] = value;
+    parentVm[name2] = value;
+  };
+  var defineInstanceProperties = function defineInstanceProperties2(props2) {
+    Object.defineProperties(vm, props2);
+    Object.defineProperties(instance == null ? void 0 : instance.ctx, props2);
+  };
+  var defineParentInstanceProperties = function defineParentInstanceProperties2(props2) {
+    parentVm && Object.defineProperties(parentVm, props2);
+  };
+  onBeforeMount$1(function() {
+    return defineInstanceVm(vm, instance);
+  });
+  onMounted(function() {
+    return onBeforeMount(instance, refs);
+  });
+  return {
+    framework: "vue3",
+    vm,
+    emit,
+    emitter: emitter$1,
+    route,
+    router: router2,
+    dispatch,
+    broadcast,
+    parentHandler,
+    childrenHandler,
+    i18n: i18n2,
+    refs,
+    slots: instance == null ? void 0 : instance.slots,
+    scopedSlots: instance == null ? void 0 : instance.slots,
+    attrs: context.attrs,
+    parent: parentVm,
+    nextTick,
+    constants: instance == null ? void 0 : instance.props._constants,
+    mode,
+    isPCMode: mode === "pc",
+    isMobileMode: mode === "mobile",
+    service: root == null ? void 0 : root.$service,
+    getService: function getService() {
+      return root == null ? void 0 : root.$getService(vm);
+    },
+    setParentAttribute,
+    defineInstanceProperties,
+    defineParentInstanceProperties
+  };
+};
+var mapping = function mapping2(content, before, after) {
+  if (typeof content[before] !== "undefined") {
+    var fn = content[before];
+    content[after] = function(el, binding, vnode) {
+      vnode.context = binding.instance;
+      fn(el, binding, vnode);
+    };
+    delete content[before];
+  }
+};
+var directive$1 = function directive2(directives) {
+  for (var name2 in directives) {
+    var content = directives[name2];
+    mapping(content, "bind", "beforeMount");
+    mapping(content, "update", "updated");
+    mapping(content, "unbind", "unmounted");
+  }
+  return directives;
+};
+var parseVnode = function parseVnode2(vnode) {
+  return vnode;
+};
+var Text = Text$4, Comment = Comment$1;
+var isEmptyVnode = function isEmptyVnode2(vnode) {
+  return !vnode || !vnode.type || [Text, Comment].includes(vnode.type);
+};
+var parseProps = function parseProps2(propsData) {
+  var props2 = {};
+  for (var name2 in propsData) {
+    if (name2 === "class" || name2 === "style") {
+      props2[name2] = propsData[name2];
+    } else if (name2 === "on" || name2 === "nativeOn") {
+      var events = propsData[name2];
+      for (var eventName in events)
+        props2["on" + capitalize(camelize(eventName))] = events[eventName];
+    } else if (name2 === "attrs" || name2 === "props" || name2 === "domProps") {
+      var attrs = propsData[name2];
+      for (var key2 in attrs)
+        props2[key2] = attrs[key2];
+    } else {
+      props2[name2] = propsData[name2];
+    }
+  }
+  return props2;
+};
+var customResolveComponent = function customResolveComponent2(component2) {
+  var type2 = component2;
+  var customElement = false;
+  if (typeof component2 === "string" && typeof document !== "undefined") {
+    var el = document.createElement(component2);
+    var svgTagNames = ["SVG", "CIRCLE", "PATH"];
+    if (el instanceof HTMLUnknownElement && !svgTagNames.includes(el.nodeName) || component2.includes("-")) {
+      component2 = component2.toLowerCase();
+      customElement = true;
+      if (component2 === "transition")
+        type2 = Transition$1;
+      else if (component2 === "transition-group")
+        type2 = TransitionGroup;
+      else
+        type2 = resolveComponent(component2);
+    } else {
+      type2 = component2;
+    }
+  }
+  return {
+    type: type2,
+    component: component2,
+    customElement
+  };
+};
+var h = function h2(component2, propsData, childData) {
+  var props2 = {};
+  var children22 = childData;
+  var ret = customResolveComponent(component2);
+  var customElement = ret.customElement;
+  var type2 = ret.type;
+  component2 = ret.component;
+  if (propsData && typeof propsData === "object" && !Array.isArray(propsData)) {
+    props2 = parseProps(propsData);
+    propsData.scopedSlots && (children22 = propsData.scopedSlots);
+  } else if (typeof propsData === "string" || Array.isArray(propsData)) {
+    childData = propsData;
+  }
+  if (typeof childData === "string" || Array.isArray(childData))
+    children22 = typeof component2 !== "string" || customElement ? function() {
+      return childData;
+    } : childData;
+  return h$2(type2, props2, children22);
+};
+var createComponentFn = function createComponentFn2(design2) {
+  return function(_ref8) {
+    var _provide;
+    var component2 = _ref8.component, propsData = _ref8.propsData, el = _ref8.el;
+    var comp = Object.assign(component2, {
+      provide: (_provide = {}, _provide[design2.configKey] = design2.configInstance, _provide)
+    });
+    var vnode = createVNode$1(comp, propsData);
+    render$J(vnode, el);
+    return createVm({}, vnode.component);
+  };
+};
+var defineComponent = defineComponent$1;
+var isVue2 = false;
+var isVnode = isVNode;
+var KeepAlive = KeepAlive$1;
+var stringifyCssClassObject = function stringifyCssClassObject2(cssClassObject) {
+  var allCssClass = [];
+  Object.keys(cssClassObject).forEach(function(cssClass) {
+    return cssClassObject[cssClass] && allCssClass.push(cssClass);
+  });
+  return allCssClass.join(" ");
+};
+var stringifyCssClassArray = function stringifyCssClassArray2(cssClassArray) {
+  var allCssClass = [];
+  cssClassArray.forEach(function(cssClass) {
+    if (typeof cssClass === "string") {
+      allCssClass.push(cssClass);
+    } else if (typeof cssClass === "object") {
+      allCssClass.push(stringifyCssClassObject(cssClass));
+    }
+  });
+  return allCssClass.join(" ");
+};
+var stringifyCssClass = function stringifyCssClass2(cssClasses) {
+  if (!cssClasses || Array.isArray(cssClasses) && !cssClasses.length)
+    return "";
+  var allCssClass = [];
+  cssClasses.forEach(function(cssClass) {
+    if (cssClass) {
+      if (typeof cssClass === "string") {
+        allCssClass.push(cssClass);
+      } else if (Array.isArray(cssClass)) {
+        allCssClass.push(stringifyCssClassArray(cssClass));
+      } else if (typeof cssClass === "object") {
+        allCssClass.push(stringifyCssClassObject(cssClass));
+      }
+    }
+  });
+  return allCssClass.join(" ");
+};
+function twJoin() {
+  var index244 = 0;
+  var argument;
+  var resolvedValue;
+  var string = "";
+  while (index244 < arguments.length) {
+    if (argument = arguments[index244++]) {
+      if (resolvedValue = toValue(argument)) {
+        string && (string += " ");
+        string += resolvedValue;
+      }
+    }
+  }
+  return string;
+}
+function toValue(mix) {
+  if (typeof mix === "string") {
+    return mix;
+  }
+  var resolvedValue;
+  var string = "";
+  for (var k2 = 0; k2 < mix.length; k2++) {
+    if (mix[k2]) {
+      if (resolvedValue = toValue(mix[k2])) {
+        string && (string += " ");
+        string += resolvedValue;
+      }
+    }
+  }
+  return string;
+}
+function _extends$r() {
+  _extends$r = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$r.apply(this, arguments);
+}
+function createLruCache(maxCacheSize) {
+  if (maxCacheSize < 1) {
+    return {
+      get: function get2() {
+        return void 0;
+      },
+      set: function set2() {
+      }
+    };
+  }
+  var cacheSize = 0;
+  var cache = /* @__PURE__ */ new Map();
+  var previousCache = /* @__PURE__ */ new Map();
+  function update(key2, value) {
+    cache.set(key2, value);
+    cacheSize++;
+    if (cacheSize > maxCacheSize) {
+      cacheSize = 0;
+      previousCache = cache;
+      cache = /* @__PURE__ */ new Map();
+    }
+  }
+  return {
+    get: function get2(key2) {
+      var value = cache.get(key2);
+      if (value !== void 0) {
+        return value;
+      }
+      if ((value = previousCache.get(key2)) !== void 0) {
+        update(key2, value);
+        return value;
+      }
+    },
+    set: function set2(key2, value) {
+      if (cache.has(key2)) {
+        cache.set(key2, value);
+      } else {
+        update(key2, value);
+      }
+    }
+  };
+}
+var CLASS_PART_SEPARATOR = "-";
+function createClassUtils(config2) {
+  var classMap = createClassMap(config2);
+  function getClassGroupId(className) {
+    var classParts = className.split(CLASS_PART_SEPARATOR);
+    if (classParts[0] === "" && classParts.length !== 1) {
+      classParts.shift();
+    }
+    return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
+  }
+  function getConflictingClassGroupIds(classGroupId) {
+    return config2.conflictingClassGroups[classGroupId] || [];
+  }
+  return {
+    getClassGroupId,
+    getConflictingClassGroupIds
+  };
+}
+function getGroupRecursive(classParts, classPartObject) {
+  var _classPartObject$vali;
+  if (classParts.length === 0) {
+    return classPartObject.classGroupId;
+  }
+  var currentClassPart = classParts[0];
+  var nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
+  var classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
+  if (classGroupFromNextClassPart) {
+    return classGroupFromNextClassPart;
+  }
+  if (classPartObject.validators.length === 0) {
+    return void 0;
+  }
+  var classRest = classParts.join(CLASS_PART_SEPARATOR);
+  return (_classPartObject$vali = classPartObject.validators.find(function(_ref) {
+    var validator16 = _ref.validator;
+    return validator16(classRest);
+  })) == null ? void 0 : _classPartObject$vali.classGroupId;
+}
+var arbitraryPropertyRegex = /^\[(.+)\]$/;
+function getGroupIdForArbitraryProperty(className) {
+  if (arbitraryPropertyRegex.test(className)) {
+    var arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
+    var property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(":"));
+    if (property) {
+      return "arbitrary.." + property;
+    }
+  }
+}
+function createClassMap(config2) {
+  var theme2 = config2.theme, prefix = config2.prefix;
+  var classMap = {
+    nextPart: /* @__PURE__ */ new Map(),
+    validators: []
+  };
+  var prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config2.classGroups), prefix);
+  prefixedClassGroupEntries.forEach(function(_ref2) {
+    var classGroupId = _ref2[0], classGroup = _ref2[1];
+    processClassesRecursively(classGroup, classMap, classGroupId, theme2);
+  });
+  return classMap;
+}
+function processClassesRecursively(classGroup, classPartObject, classGroupId, theme2) {
+  classGroup.forEach(function(classDefinition) {
+    if (typeof classDefinition === "string") {
+      var classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
+      classPartObjectToEdit.classGroupId = classGroupId;
+      return;
+    }
+    if (typeof classDefinition === "function") {
+      if (isThemeGetter(classDefinition)) {
+        processClassesRecursively(classDefinition(theme2), classPartObject, classGroupId, theme2);
+        return;
+      }
+      classPartObject.validators.push({
+        validator: classDefinition,
+        classGroupId
+      });
+      return;
+    }
+    Object.entries(classDefinition).forEach(function(_ref3) {
+      var key2 = _ref3[0], classGroup2 = _ref3[1];
+      processClassesRecursively(classGroup2, getPart(classPartObject, key2), classGroupId, theme2);
+    });
+  });
+}
+function getPart(classPartObject, path2) {
+  var currentClassPartObject = classPartObject;
+  path2.split(CLASS_PART_SEPARATOR).forEach(function(pathPart) {
+    if (!currentClassPartObject.nextPart.has(pathPart)) {
+      currentClassPartObject.nextPart.set(pathPart, {
+        nextPart: /* @__PURE__ */ new Map(),
+        validators: []
+      });
+    }
+    currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
+  });
+  return currentClassPartObject;
+}
+function isThemeGetter(func) {
+  return func.isThemeGetter;
+}
+function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
+  if (!prefix) {
+    return classGroupEntries;
+  }
+  return classGroupEntries.map(function(_ref4) {
+    var classGroupId = _ref4[0], classGroup = _ref4[1];
+    var prefixedClassGroup = classGroup.map(function(classDefinition) {
+      if (typeof classDefinition === "string") {
+        return prefix + classDefinition;
+      }
+      if (typeof classDefinition === "object") {
+        return Object.fromEntries(Object.entries(classDefinition).map(function(_ref5) {
+          var key2 = _ref5[0], value = _ref5[1];
+          return [prefix + key2, value];
+        }));
+      }
+      return classDefinition;
+    });
+    return [classGroupId, prefixedClassGroup];
+  });
+}
+var IMPORTANT_MODIFIER = "!";
+function createSplitModifiers(config2) {
+  var separator = config2.separator || ":";
+  return function splitModifiers(className) {
+    var bracketDepth = 0;
+    var modifiers2 = [];
+    var modifierStart = 0;
+    for (var index244 = 0; index244 < className.length; index244++) {
+      var _char = className[index244];
+      if (bracketDepth === 0 && _char === separator[0]) {
+        if (separator.length === 1 || className.slice(index244, index244 + separator.length) === separator) {
+          modifiers2.push(className.slice(modifierStart, index244));
+          modifierStart = index244 + separator.length;
+        }
+      }
+      if (_char === "[") {
+        bracketDepth++;
+      } else if (_char === "]") {
+        bracketDepth--;
+      }
+    }
+    var baseClassNameWithImportantModifier = modifiers2.length === 0 ? className : className.substring(modifierStart);
+    var hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
+    var baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
+    return {
+      modifiers: modifiers2,
+      hasImportantModifier,
+      baseClassName
+    };
+  };
+}
+function sortModifiers(modifiers2) {
+  if (modifiers2.length <= 1) {
+    return modifiers2;
+  }
+  var sortedModifiers = [];
+  var unsortedModifiers = [];
+  modifiers2.forEach(function(modifier) {
+    var isArbitraryVariant = modifier[0] === "[";
+    if (isArbitraryVariant) {
+      sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort().concat([modifier]));
+      unsortedModifiers = [];
+    } else {
+      unsortedModifiers.push(modifier);
+    }
+  });
+  sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort());
+  return sortedModifiers;
+}
+function createConfigUtils(config2) {
+  return _extends$r({
+    cache: createLruCache(config2.cacheSize),
+    splitModifiers: createSplitModifiers(config2)
+  }, createClassUtils(config2));
+}
+var SPLIT_CLASSES_REGEX = /\s+/;
+function mergeClassList(classList, configUtils) {
+  var splitModifiers = configUtils.splitModifiers, getClassGroupId = configUtils.getClassGroupId, getConflictingClassGroupIds = configUtils.getConflictingClassGroupIds;
+  var classGroupsInConflict = /* @__PURE__ */ new Set();
+  return classList.trim().split(SPLIT_CLASSES_REGEX).map(function(originalClassName) {
+    var _splitModifiers = splitModifiers(originalClassName), modifiers2 = _splitModifiers.modifiers, hasImportantModifier = _splitModifiers.hasImportantModifier, baseClassName = _splitModifiers.baseClassName;
+    var classGroupId = getClassGroupId(baseClassName);
+    if (!classGroupId) {
+      return {
+        isTailwindClass: false,
+        originalClassName
+      };
+    }
+    var variantModifier = sortModifiers(modifiers2).join(":");
+    var modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
+    return {
+      isTailwindClass: true,
+      modifierId,
+      classGroupId,
+      originalClassName
+    };
+  }).reverse().filter(function(parsed) {
+    if (!parsed.isTailwindClass) {
+      return true;
+    }
+    var modifierId = parsed.modifierId, classGroupId = parsed.classGroupId;
+    var classId = modifierId + classGroupId;
+    if (classGroupsInConflict.has(classId)) {
+      return false;
+    }
+    classGroupsInConflict.add(classId);
+    getConflictingClassGroupIds(classGroupId).forEach(function(group) {
+      return classGroupsInConflict.add(modifierId + group);
+    });
+    return true;
+  }).reverse().map(function(parsed) {
+    return parsed.originalClassName;
+  }).join(" ");
+}
+function createTailwindMerge() {
+  for (var _len = arguments.length, createConfig = new Array(_len), _key = 0; _key < _len; _key++) {
+    createConfig[_key] = arguments[_key];
+  }
+  var configUtils;
+  var cacheGet;
+  var cacheSet;
+  var functionToCall = initTailwindMerge;
+  function initTailwindMerge(classList) {
+    var firstCreateConfig = createConfig[0], restCreateConfig = createConfig.slice(1);
+    var config2 = restCreateConfig.reduce(function(previousConfig, createConfigCurrent) {
+      return createConfigCurrent(previousConfig);
+    }, firstCreateConfig());
+    configUtils = createConfigUtils(config2);
+    cacheGet = configUtils.cache.get;
+    cacheSet = configUtils.cache.set;
+    functionToCall = tailwindMerge;
+    return tailwindMerge(classList);
+  }
+  function tailwindMerge(classList) {
+    var cachedResult = cacheGet(classList);
+    if (cachedResult) {
+      return cachedResult;
+    }
+    var result2 = mergeClassList(classList, configUtils);
+    cacheSet(classList, result2);
+    return result2;
+  }
+  return function callTailwindMerge() {
+    return functionToCall(twJoin.apply(null, arguments));
+  };
+}
+function fromTheme(key2) {
+  var themeGetter = function themeGetter2(theme2) {
+    return theme2[key2] || [];
+  };
+  themeGetter.isThemeGetter = true;
+  return themeGetter;
+}
+var arbitraryValueRegex = /^\[(.+)\]$/;
+var fractionRegex = /^\d+\/\d+$/;
+var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
+var tshirtUnitRegex = /^(\d+)?(xs|sm|md|lg|xl)$/;
+var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh)/;
+var shadowRegex = /^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
+function isLength(classPart) {
+  return !Number.isNaN(Number(classPart)) || stringLengths.has(classPart) || fractionRegex.test(classPart) || isArbitraryLength(classPart);
+}
+function isArbitraryLength(classPart) {
+  var _arbitraryValueRegex$;
+  var arbitraryValue = (_arbitraryValueRegex$ = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$[1];
+  if (arbitraryValue) {
+    return arbitraryValue.startsWith("length:") || lengthUnitRegex.test(arbitraryValue);
+  }
+  return false;
+}
+function isArbitrarySize(classPart) {
+  var _arbitraryValueRegex$2;
+  var arbitraryValue = (_arbitraryValueRegex$2 = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$2[1];
+  return arbitraryValue ? arbitraryValue.startsWith("size:") : false;
+}
+function isArbitraryPosition(classPart) {
+  var _arbitraryValueRegex$3;
+  var arbitraryValue = (_arbitraryValueRegex$3 = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$3[1];
+  return arbitraryValue ? arbitraryValue.startsWith("position:") : false;
+}
+function isArbitraryUrl(classPart) {
+  var _arbitraryValueRegex$4;
+  var arbitraryValue = (_arbitraryValueRegex$4 = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$4[1];
+  return arbitraryValue ? arbitraryValue.startsWith("url(") || arbitraryValue.startsWith("url:") : false;
+}
+function isArbitraryNumber(classPart) {
+  var _arbitraryValueRegex$5;
+  var arbitraryValue = (_arbitraryValueRegex$5 = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$5[1];
+  return arbitraryValue ? !Number.isNaN(Number(arbitraryValue)) || arbitraryValue.startsWith("number:") : false;
+}
+function isInteger(classPart) {
+  var _arbitraryValueRegex$6;
+  var arbitraryValue = (_arbitraryValueRegex$6 = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$6[1];
+  if (arbitraryValue) {
+    return Number.isInteger(Number(arbitraryValue));
+  }
+  return Number.isInteger(Number(classPart));
+}
+function isArbitraryValue(classPart) {
+  return arbitraryValueRegex.test(classPart);
+}
+function isAny() {
+  return true;
+}
+function isTshirtSize(classPart) {
+  return tshirtUnitRegex.test(classPart);
+}
+function isArbitraryShadow(classPart) {
+  var _arbitraryValueRegex$7;
+  var arbitraryValue = (_arbitraryValueRegex$7 = arbitraryValueRegex.exec(classPart)) == null ? void 0 : _arbitraryValueRegex$7[1];
+  if (arbitraryValue) {
+    return shadowRegex.test(arbitraryValue);
+  }
+  return false;
+}
+function getDefaultConfig() {
+  var colors = fromTheme("colors");
+  var spacing = fromTheme("spacing");
+  var blur2 = fromTheme("blur");
+  var brightness = fromTheme("brightness");
+  var borderColor = fromTheme("borderColor");
+  var borderRadius = fromTheme("borderRadius");
+  var borderSpacing = fromTheme("borderSpacing");
+  var borderWidth = fromTheme("borderWidth");
+  var contrast = fromTheme("contrast");
+  var grayscale = fromTheme("grayscale");
+  var hueRotate = fromTheme("hueRotate");
+  var invert2 = fromTheme("invert");
+  var gap = fromTheme("gap");
+  var gradientColorStops = fromTheme("gradientColorStops");
+  var inset = fromTheme("inset");
+  var margin = fromTheme("margin");
+  var opacity = fromTheme("opacity");
+  var padding = fromTheme("padding");
+  var saturate = fromTheme("saturate");
+  var scale2 = fromTheme("scale");
+  var sepia = fromTheme("sepia");
+  var skew = fromTheme("skew");
+  var space = fromTheme("space");
+  var translate2 = fromTheme("translate");
+  var getOverscroll = function getOverscroll2() {
+    return ["auto", "contain", "none"];
+  };
+  var getOverflow = function getOverflow2() {
+    return ["auto", "hidden", "clip", "visible", "scroll"];
+  };
+  var getSpacingWithAuto = function getSpacingWithAuto2() {
+    return ["auto", spacing];
+  };
+  var getLengthWithEmpty = function getLengthWithEmpty2() {
+    return ["", isLength];
+  };
+  var getIntegerWithAuto = function getIntegerWithAuto2() {
+    return ["auto", isInteger];
+  };
+  var getPositions = function getPositions2() {
+    return ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
+  };
+  var getLineStyles = function getLineStyles2() {
+    return ["solid", "dashed", "dotted", "double", "none"];
+  };
+  var getBlendModes = function getBlendModes2() {
+    return ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity", "plus-lighter"];
+  };
+  var getAlign = function getAlign2() {
+    return ["start", "end", "center", "between", "around", "evenly"];
+  };
+  var getZeroAndEmpty = function getZeroAndEmpty2() {
+    return ["", "0", isArbitraryValue];
+  };
+  var getBreaks = function getBreaks2() {
+    return ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
+  };
+  return {
+    cacheSize: 500,
+    theme: {
+      colors: [isAny],
+      spacing: [isLength],
+      blur: ["none", "", isTshirtSize, isArbitraryLength],
+      brightness: [isInteger],
+      borderColor: [colors],
+      borderRadius: ["none", "", "full", isTshirtSize, isArbitraryLength],
+      borderSpacing: [spacing],
+      borderWidth: getLengthWithEmpty(),
+      contrast: [isInteger],
+      grayscale: getZeroAndEmpty(),
+      hueRotate: [isInteger],
+      invert: getZeroAndEmpty(),
+      gap: [spacing],
+      gradientColorStops: [colors],
+      inset: getSpacingWithAuto(),
+      margin: getSpacingWithAuto(),
+      opacity: [isInteger],
+      padding: [spacing],
+      saturate: [isInteger],
+      scale: [isInteger],
+      sepia: getZeroAndEmpty(),
+      skew: [isInteger, isArbitraryValue],
+      space: [spacing],
+      translate: [spacing]
+    },
+    classGroups: {
+      // Layout
+      /**
+       * Aspect Ratio
+       * @see https://tailwindcss.com/docs/aspect-ratio
+       */
+      aspect: [{
+        aspect: ["auto", "square", "video", isArbitraryValue]
+      }],
+      /**
+       * Container
+       * @see https://tailwindcss.com/docs/container
+       */
+      container: ["container"],
+      /**
+       * Columns
+       * @see https://tailwindcss.com/docs/columns
+       */
+      columns: [{
+        columns: [isTshirtSize]
+      }],
+      /**
+       * Break After
+       * @see https://tailwindcss.com/docs/break-after
+       */
+      "break-after": [{
+        "break-after": getBreaks()
+      }],
+      /**
+       * Break Before
+       * @see https://tailwindcss.com/docs/break-before
+       */
+      "break-before": [{
+        "break-before": getBreaks()
+      }],
+      /**
+       * Break Inside
+       * @see https://tailwindcss.com/docs/break-inside
+       */
+      "break-inside": [{
+        "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
+      }],
+      /**
+       * Box Decoration Break
+       * @see https://tailwindcss.com/docs/box-decoration-break
+       */
+      "box-decoration": [{
+        "box-decoration": ["slice", "clone"]
+      }],
+      /**
+       * Box Sizing
+       * @see https://tailwindcss.com/docs/box-sizing
+       */
+      box: [{
+        box: ["border", "content"]
+      }],
+      /**
+       * Display
+       * @see https://tailwindcss.com/docs/display
+       */
+      display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
+      /**
+       * Floats
+       * @see https://tailwindcss.com/docs/float
+       */
+      "float": [{
+        "float": ["right", "left", "none"]
+      }],
+      /**
+       * Clear
+       * @see https://tailwindcss.com/docs/clear
+       */
+      clear: [{
+        clear: ["left", "right", "both", "none"]
+      }],
+      /**
+       * Isolation
+       * @see https://tailwindcss.com/docs/isolation
+       */
+      isolation: ["isolate", "isolation-auto"],
+      /**
+       * Object Fit
+       * @see https://tailwindcss.com/docs/object-fit
+       */
+      "object-fit": [{
+        object: ["contain", "cover", "fill", "none", "scale-down"]
+      }],
+      /**
+       * Object Position
+       * @see https://tailwindcss.com/docs/object-position
+       */
+      "object-position": [{
+        object: [].concat(getPositions(), [isArbitraryValue])
+      }],
+      /**
+       * Overflow
+       * @see https://tailwindcss.com/docs/overflow
+       */
+      overflow: [{
+        overflow: getOverflow()
+      }],
+      /**
+       * Overflow X
+       * @see https://tailwindcss.com/docs/overflow
+       */
+      "overflow-x": [{
+        "overflow-x": getOverflow()
+      }],
+      /**
+       * Overflow Y
+       * @see https://tailwindcss.com/docs/overflow
+       */
+      "overflow-y": [{
+        "overflow-y": getOverflow()
+      }],
+      /**
+       * Overscroll Behavior
+       * @see https://tailwindcss.com/docs/overscroll-behavior
+       */
+      overscroll: [{
+        overscroll: getOverscroll()
+      }],
+      /**
+       * Overscroll Behavior X
+       * @see https://tailwindcss.com/docs/overscroll-behavior
+       */
+      "overscroll-x": [{
+        "overscroll-x": getOverscroll()
+      }],
+      /**
+       * Overscroll Behavior Y
+       * @see https://tailwindcss.com/docs/overscroll-behavior
+       */
+      "overscroll-y": [{
+        "overscroll-y": getOverscroll()
+      }],
+      /**
+       * Position
+       * @see https://tailwindcss.com/docs/position
+       */
+      position: ["static", "fixed", "absolute", "relative", "sticky"],
+      /**
+       * Top / Right / Bottom / Left
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      inset: [{
+        inset: [inset]
+      }],
+      /**
+       * Right / Left
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      "inset-x": [{
+        "inset-x": [inset]
+      }],
+      /**
+       * Top / Bottom
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      "inset-y": [{
+        "inset-y": [inset]
+      }],
+      /**
+       * Top
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      top: [{
+        top: [inset]
+      }],
+      /**
+       * Right
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      right: [{
+        right: [inset]
+      }],
+      /**
+       * Bottom
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      bottom: [{
+        bottom: [inset]
+      }],
+      /**
+       * Left
+       * @see https://tailwindcss.com/docs/top-right-bottom-left
+       */
+      left: [{
+        left: [inset]
+      }],
+      /**
+       * Visibility
+       * @see https://tailwindcss.com/docs/visibility
+       */
+      visibility: ["visible", "invisible", "collapse"],
+      /**
+       * Z-Index
+       * @see https://tailwindcss.com/docs/z-index
+       */
+      z: [{
+        z: [isInteger]
+      }],
+      // Flexbox and Grid
+      /**
+       * Flex Basis
+       * @see https://tailwindcss.com/docs/flex-basis
+       */
+      basis: [{
+        basis: [spacing]
+      }],
+      /**
+       * Flex Direction
+       * @see https://tailwindcss.com/docs/flex-direction
+       */
+      "flex-direction": [{
+        flex: ["row", "row-reverse", "col", "col-reverse"]
+      }],
+      /**
+       * Flex Wrap
+       * @see https://tailwindcss.com/docs/flex-wrap
+       */
+      "flex-wrap": [{
+        flex: ["wrap", "wrap-reverse", "nowrap"]
+      }],
+      /**
+       * Flex
+       * @see https://tailwindcss.com/docs/flex
+       */
+      flex: [{
+        flex: ["1", "auto", "initial", "none", isArbitraryValue]
+      }],
+      /**
+       * Flex Grow
+       * @see https://tailwindcss.com/docs/flex-grow
+       */
+      grow: [{
+        grow: getZeroAndEmpty()
+      }],
+      /**
+       * Flex Shrink
+       * @see https://tailwindcss.com/docs/flex-shrink
+       */
+      shrink: [{
+        shrink: getZeroAndEmpty()
+      }],
+      /**
+       * Order
+       * @see https://tailwindcss.com/docs/order
+       */
+      order: [{
+        order: ["first", "last", "none", isInteger]
+      }],
+      /**
+       * Grid Template Columns
+       * @see https://tailwindcss.com/docs/grid-template-columns
+       */
+      "grid-cols": [{
+        "grid-cols": [isAny]
+      }],
+      /**
+       * Grid Column Start / End
+       * @see https://tailwindcss.com/docs/grid-column
+       */
+      "col-start-end": [{
+        col: ["auto", {
+          span: [isInteger]
+        }]
+      }],
+      /**
+       * Grid Column Start
+       * @see https://tailwindcss.com/docs/grid-column
+       */
+      "col-start": [{
+        "col-start": getIntegerWithAuto()
+      }],
+      /**
+       * Grid Column End
+       * @see https://tailwindcss.com/docs/grid-column
+       */
+      "col-end": [{
+        "col-end": getIntegerWithAuto()
+      }],
+      /**
+       * Grid Template Rows
+       * @see https://tailwindcss.com/docs/grid-template-rows
+       */
+      "grid-rows": [{
+        "grid-rows": [isAny]
+      }],
+      /**
+       * Grid Row Start / End
+       * @see https://tailwindcss.com/docs/grid-row
+       */
+      "row-start-end": [{
+        row: ["auto", {
+          span: [isInteger]
+        }]
+      }],
+      /**
+       * Grid Row Start
+       * @see https://tailwindcss.com/docs/grid-row
+       */
+      "row-start": [{
+        "row-start": getIntegerWithAuto()
+      }],
+      /**
+       * Grid Row End
+       * @see https://tailwindcss.com/docs/grid-row
+       */
+      "row-end": [{
+        "row-end": getIntegerWithAuto()
+      }],
+      /**
+       * Grid Auto Flow
+       * @see https://tailwindcss.com/docs/grid-auto-flow
+       */
+      "grid-flow": [{
+        "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
+      }],
+      /**
+       * Grid Auto Columns
+       * @see https://tailwindcss.com/docs/grid-auto-columns
+       */
+      "auto-cols": [{
+        "auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
+      }],
+      /**
+       * Grid Auto Rows
+       * @see https://tailwindcss.com/docs/grid-auto-rows
+       */
+      "auto-rows": [{
+        "auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
+      }],
+      /**
+       * Gap
+       * @see https://tailwindcss.com/docs/gap
+       */
+      gap: [{
+        gap: [gap]
+      }],
+      /**
+       * Gap X
+       * @see https://tailwindcss.com/docs/gap
+       */
+      "gap-x": [{
+        "gap-x": [gap]
+      }],
+      /**
+       * Gap Y
+       * @see https://tailwindcss.com/docs/gap
+       */
+      "gap-y": [{
+        "gap-y": [gap]
+      }],
+      /**
+       * Justify Content
+       * @see https://tailwindcss.com/docs/justify-content
+       */
+      "justify-content": [{
+        justify: getAlign()
+      }],
+      /**
+       * Justify Items
+       * @see https://tailwindcss.com/docs/justify-items
+       */
+      "justify-items": [{
+        "justify-items": ["start", "end", "center", "stretch"]
+      }],
+      /**
+       * Justify Self
+       * @see https://tailwindcss.com/docs/justify-self
+       */
+      "justify-self": [{
+        "justify-self": ["auto", "start", "end", "center", "stretch"]
+      }],
+      /**
+       * Align Content
+       * @see https://tailwindcss.com/docs/align-content
+       */
+      "align-content": [{
+        content: [].concat(getAlign(), ["baseline"])
+      }],
+      /**
+       * Align Items
+       * @see https://tailwindcss.com/docs/align-items
+       */
+      "align-items": [{
+        items: ["start", "end", "center", "baseline", "stretch"]
+      }],
+      /**
+       * Align Self
+       * @see https://tailwindcss.com/docs/align-self
+       */
+      "align-self": [{
+        self: ["auto", "start", "end", "center", "stretch", "baseline"]
+      }],
+      /**
+       * Place Content
+       * @see https://tailwindcss.com/docs/place-content
+       */
+      "place-content": [{
+        "place-content": [].concat(getAlign(), ["baseline", "stretch"])
+      }],
+      /**
+       * Place Items
+       * @see https://tailwindcss.com/docs/place-items
+       */
+      "place-items": [{
+        "place-items": ["start", "end", "center", "baseline", "stretch"]
+      }],
+      /**
+       * Place Self
+       * @see https://tailwindcss.com/docs/place-self
+       */
+      "place-self": [{
+        "place-self": ["auto", "start", "end", "center", "stretch"]
+      }],
+      // Spacing
+      /**
+       * Padding
+       * @see https://tailwindcss.com/docs/padding
+       */
+      p: [{
+        p: [padding]
+      }],
+      /**
+       * Padding X
+       * @see https://tailwindcss.com/docs/padding
+       */
+      px: [{
+        px: [padding]
+      }],
+      /**
+       * Padding Y
+       * @see https://tailwindcss.com/docs/padding
+       */
+      py: [{
+        py: [padding]
+      }],
+      /**
+       * Padding Top
+       * @see https://tailwindcss.com/docs/padding
+       */
+      pt: [{
+        pt: [padding]
+      }],
+      /**
+       * Padding Right
+       * @see https://tailwindcss.com/docs/padding
+       */
+      pr: [{
+        pr: [padding]
+      }],
+      /**
+       * Padding Bottom
+       * @see https://tailwindcss.com/docs/padding
+       */
+      pb: [{
+        pb: [padding]
+      }],
+      /**
+       * Padding Left
+       * @see https://tailwindcss.com/docs/padding
+       */
+      pl: [{
+        pl: [padding]
+      }],
+      /**
+       * Margin
+       * @see https://tailwindcss.com/docs/margin
+       */
+      m: [{
+        m: [margin]
+      }],
+      /**
+       * Margin X
+       * @see https://tailwindcss.com/docs/margin
+       */
+      mx: [{
+        mx: [margin]
+      }],
+      /**
+       * Margin Y
+       * @see https://tailwindcss.com/docs/margin
+       */
+      my: [{
+        my: [margin]
+      }],
+      /**
+       * Margin Top
+       * @see https://tailwindcss.com/docs/margin
+       */
+      mt: [{
+        mt: [margin]
+      }],
+      /**
+       * Margin Right
+       * @see https://tailwindcss.com/docs/margin
+       */
+      mr: [{
+        mr: [margin]
+      }],
+      /**
+       * Margin Bottom
+       * @see https://tailwindcss.com/docs/margin
+       */
+      mb: [{
+        mb: [margin]
+      }],
+      /**
+       * Margin Left
+       * @see https://tailwindcss.com/docs/margin
+       */
+      ml: [{
+        ml: [margin]
+      }],
+      /**
+       * Space Between X
+       * @see https://tailwindcss.com/docs/space
+       */
+      "space-x": [{
+        "space-x": [space]
+      }],
+      /**
+       * Space Between X Reverse
+       * @see https://tailwindcss.com/docs/space
+       */
+      "space-x-reverse": ["space-x-reverse"],
+      /**
+       * Space Between Y
+       * @see https://tailwindcss.com/docs/space
+       */
+      "space-y": [{
+        "space-y": [space]
+      }],
+      /**
+       * Space Between Y Reverse
+       * @see https://tailwindcss.com/docs/space
+       */
+      "space-y-reverse": ["space-y-reverse"],
+      // Sizing
+      /**
+       * Width
+       * @see https://tailwindcss.com/docs/width
+       */
+      w: [{
+        w: ["auto", "min", "max", "fit", spacing]
+      }],
+      /**
+       * Min-Width
+       * @see https://tailwindcss.com/docs/min-width
+       */
+      "min-w": [{
+        "min-w": ["min", "max", "fit", isLength]
+      }],
+      /**
+       * Max-Width
+       * @see https://tailwindcss.com/docs/max-width
+       */
+      "max-w": [{
+        "max-w": ["0", "none", "full", "min", "max", "fit", "prose", {
+          screen: [isTshirtSize]
+        }, isTshirtSize, isArbitraryLength]
+      }],
+      /**
+       * Height
+       * @see https://tailwindcss.com/docs/height
+       */
+      h: [{
+        h: [spacing, "auto", "min", "max", "fit"]
+      }],
+      /**
+       * Min-Height
+       * @see https://tailwindcss.com/docs/min-height
+       */
+      "min-h": [{
+        "min-h": ["min", "max", "fit", isLength]
+      }],
+      /**
+       * Max-Height
+       * @see https://tailwindcss.com/docs/max-height
+       */
+      "max-h": [{
+        "max-h": [spacing, "min", "max", "fit"]
+      }],
+      // Typography
+      /**
+       * Font Size
+       * @see https://tailwindcss.com/docs/font-size
+       */
+      "font-size": [{
+        text: ["base", isTshirtSize, isArbitraryLength]
+      }],
+      /**
+       * Font Smoothing
+       * @see https://tailwindcss.com/docs/font-smoothing
+       */
+      "font-smoothing": ["antialiased", "subpixel-antialiased"],
+      /**
+       * Font Style
+       * @see https://tailwindcss.com/docs/font-style
+       */
+      "font-style": ["italic", "not-italic"],
+      /**
+       * Font Weight
+       * @see https://tailwindcss.com/docs/font-weight
+       */
+      "font-weight": [{
+        font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
+      }],
+      /**
+       * Font Family
+       * @see https://tailwindcss.com/docs/font-family
+       */
+      "font-family": [{
+        font: [isAny]
+      }],
+      /**
+       * Font Variant Numeric
+       * @see https://tailwindcss.com/docs/font-variant-numeric
+       */
+      "fvn-normal": ["normal-nums"],
+      /**
+       * Font Variant Numeric
+       * @see https://tailwindcss.com/docs/font-variant-numeric
+       */
+      "fvn-ordinal": ["ordinal"],
+      /**
+       * Font Variant Numeric
+       * @see https://tailwindcss.com/docs/font-variant-numeric
+       */
+      "fvn-slashed-zero": ["slashed-zero"],
+      /**
+       * Font Variant Numeric
+       * @see https://tailwindcss.com/docs/font-variant-numeric
+       */
+      "fvn-figure": ["lining-nums", "oldstyle-nums"],
+      /**
+       * Font Variant Numeric
+       * @see https://tailwindcss.com/docs/font-variant-numeric
+       */
+      "fvn-spacing": ["proportional-nums", "tabular-nums"],
+      /**
+       * Font Variant Numeric
+       * @see https://tailwindcss.com/docs/font-variant-numeric
+       */
+      "fvn-fraction": ["diagonal-fractions", "stacked-fractons"],
+      /**
+       * Letter Spacing
+       * @see https://tailwindcss.com/docs/letter-spacing
+       */
+      tracking: [{
+        tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryLength]
+      }],
+      /**
+       * Line Height
+       * @see https://tailwindcss.com/docs/line-height
+       */
+      leading: [{
+        leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength]
+      }],
+      /**
+       * List Style Type
+       * @see https://tailwindcss.com/docs/list-style-type
+       */
+      "list-style-type": [{
+        list: ["none", "disc", "decimal", isArbitraryValue]
+      }],
+      /**
+       * List Style Position
+       * @see https://tailwindcss.com/docs/list-style-position
+       */
+      "list-style-position": [{
+        list: ["inside", "outside"]
+      }],
+      /**
+       * Placeholder Color
+       * @deprecated since Tailwind CSS v3.0.0
+       * @see https://tailwindcss.com/docs/placeholder-color
+       */
+      "placeholder-color": [{
+        placeholder: [colors]
+      }],
+      /**
+       * Placeholder Opacity
+       * @see https://tailwindcss.com/docs/placeholder-opacity
+       */
+      "placeholder-opacity": [{
+        "placeholder-opacity": [opacity]
+      }],
+      /**
+       * Text Alignment
+       * @see https://tailwindcss.com/docs/text-align
+       */
+      "text-alignment": [{
+        text: ["left", "center", "right", "justify", "start", "end"]
+      }],
+      /**
+       * Text Color
+       * @see https://tailwindcss.com/docs/text-color
+       */
+      "text-color": [{
+        text: [colors]
+      }],
+      /**
+       * Text Opacity
+       * @see https://tailwindcss.com/docs/text-opacity
+       */
+      "text-opacity": [{
+        "text-opacity": [opacity]
+      }],
+      /**
+       * Text Decoration
+       * @see https://tailwindcss.com/docs/text-decoration
+       */
+      "text-decoration": ["underline", "overline", "line-through", "no-underline"],
+      /**
+       * Text Decoration Style
+       * @see https://tailwindcss.com/docs/text-decoration-style
+       */
+      "text-decoration-style": [{
+        decoration: [].concat(getLineStyles(), ["wavy"])
+      }],
+      /**
+       * Text Decoration Thickness
+       * @see https://tailwindcss.com/docs/text-decoration-thickness
+       */
+      "text-decoration-thickness": [{
+        decoration: ["auto", "from-font", isLength]
+      }],
+      /**
+       * Text Underline Offset
+       * @see https://tailwindcss.com/docs/text-underline-offset
+       */
+      "underline-offset": [{
+        "underline-offset": ["auto", isLength]
+      }],
+      /**
+       * Text Decoration Color
+       * @see https://tailwindcss.com/docs/text-decoration-color
+       */
+      "text-decoration-color": [{
+        decoration: [colors]
+      }],
+      /**
+       * Text Transform
+       * @see https://tailwindcss.com/docs/text-transform
+       */
+      "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
+      /**
+       * Text Overflow
+       * @see https://tailwindcss.com/docs/text-overflow
+       */
+      "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
+      /**
+       * Text Indent
+       * @see https://tailwindcss.com/docs/text-indent
+       */
+      indent: [{
+        indent: [spacing]
+      }],
+      /**
+       * Vertical Alignment
+       * @see https://tailwindcss.com/docs/vertical-align
+       */
+      "vertical-align": [{
+        align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryLength]
+      }],
+      /**
+       * Whitespace
+       * @see https://tailwindcss.com/docs/whitespace
+       */
+      whitespace: [{
+        whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap"]
+      }],
+      /**
+       * Word Break
+       * @see https://tailwindcss.com/docs/word-break
+       */
+      "break": [{
+        "break": ["normal", "words", "all", "keep"]
+      }],
+      /**
+       * Content
+       * @see https://tailwindcss.com/docs/content
+       */
+      content: [{
+        content: ["none", isArbitraryValue]
+      }],
+      // Backgrounds
+      /**
+       * Background Attachment
+       * @see https://tailwindcss.com/docs/background-attachment
+       */
+      "bg-attachment": [{
+        bg: ["fixed", "local", "scroll"]
+      }],
+      /**
+       * Background Clip
+       * @see https://tailwindcss.com/docs/background-clip
+       */
+      "bg-clip": [{
+        "bg-clip": ["border", "padding", "content", "text"]
+      }],
+      /**
+       * Background Opacity
+       * @deprecated since Tailwind CSS v3.0.0
+       * @see https://tailwindcss.com/docs/background-opacity
+       */
+      "bg-opacity": [{
+        "bg-opacity": [opacity]
+      }],
+      /**
+       * Background Origin
+       * @see https://tailwindcss.com/docs/background-origin
+       */
+      "bg-origin": [{
+        "bg-origin": ["border", "padding", "content"]
+      }],
+      /**
+       * Background Position
+       * @see https://tailwindcss.com/docs/background-position
+       */
+      "bg-position": [{
+        bg: [].concat(getPositions(), [isArbitraryPosition])
+      }],
+      /**
+       * Background Repeat
+       * @see https://tailwindcss.com/docs/background-repeat
+       */
+      "bg-repeat": [{
+        bg: ["no-repeat", {
+          repeat: ["", "x", "y", "round", "space"]
+        }]
+      }],
+      /**
+       * Background Size
+       * @see https://tailwindcss.com/docs/background-size
+       */
+      "bg-size": [{
+        bg: ["auto", "cover", "contain", isArbitrarySize]
+      }],
+      /**
+       * Background Image
+       * @see https://tailwindcss.com/docs/background-image
+       */
+      "bg-image": [{
+        bg: ["none", {
+          "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
+        }, isArbitraryUrl]
+      }],
+      /**
+       * Background Color
+       * @see https://tailwindcss.com/docs/background-color
+       */
+      "bg-color": [{
+        bg: [colors]
+      }],
+      /**
+       * Gradient Color Stops From
+       * @see https://tailwindcss.com/docs/gradient-color-stops
+       */
+      "gradient-from": [{
+        from: [gradientColorStops]
+      }],
+      /**
+       * Gradient Color Stops Via
+       * @see https://tailwindcss.com/docs/gradient-color-stops
+       */
+      "gradient-via": [{
+        via: [gradientColorStops]
+      }],
+      /**
+       * Gradient Color Stops To
+       * @see https://tailwindcss.com/docs/gradient-color-stops
+       */
+      "gradient-to": [{
+        to: [gradientColorStops]
+      }],
+      // Borders
+      /**
+       * Border Radius
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      rounded: [{
+        rounded: [borderRadius]
+      }],
+      /**
+       * Border Radius Top
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-t": [{
+        "rounded-t": [borderRadius]
+      }],
+      /**
+       * Border Radius Right
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-r": [{
+        "rounded-r": [borderRadius]
+      }],
+      /**
+       * Border Radius Bottom
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-b": [{
+        "rounded-b": [borderRadius]
+      }],
+      /**
+       * Border Radius Left
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-l": [{
+        "rounded-l": [borderRadius]
+      }],
+      /**
+       * Border Radius Top Left
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-tl": [{
+        "rounded-tl": [borderRadius]
+      }],
+      /**
+       * Border Radius Top Right
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-tr": [{
+        "rounded-tr": [borderRadius]
+      }],
+      /**
+       * Border Radius Bottom Right
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-br": [{
+        "rounded-br": [borderRadius]
+      }],
+      /**
+       * Border Radius Bottom Left
+       * @see https://tailwindcss.com/docs/border-radius
+       */
+      "rounded-bl": [{
+        "rounded-bl": [borderRadius]
+      }],
+      /**
+       * Border Width
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w": [{
+        border: [borderWidth]
+      }],
+      /**
+       * Border Width X
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w-x": [{
+        "border-x": [borderWidth]
+      }],
+      /**
+       * Border Width Y
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w-y": [{
+        "border-y": [borderWidth]
+      }],
+      /**
+       * Border Width Top
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w-t": [{
+        "border-t": [borderWidth]
+      }],
+      /**
+       * Border Width Right
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w-r": [{
+        "border-r": [borderWidth]
+      }],
+      /**
+       * Border Width Bottom
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w-b": [{
+        "border-b": [borderWidth]
+      }],
+      /**
+       * Border Width Left
+       * @see https://tailwindcss.com/docs/border-width
+       */
+      "border-w-l": [{
+        "border-l": [borderWidth]
+      }],
+      /**
+       * Border Opacity
+       * @see https://tailwindcss.com/docs/border-opacity
+       */
+      "border-opacity": [{
+        "border-opacity": [opacity]
+      }],
+      /**
+       * Border Style
+       * @see https://tailwindcss.com/docs/border-style
+       */
+      "border-style": [{
+        border: [].concat(getLineStyles(), ["hidden"])
+      }],
+      /**
+       * Divide Width X
+       * @see https://tailwindcss.com/docs/divide-width
+       */
+      "divide-x": [{
+        "divide-x": [borderWidth]
+      }],
+      /**
+       * Divide Width X Reverse
+       * @see https://tailwindcss.com/docs/divide-width
+       */
+      "divide-x-reverse": ["divide-x-reverse"],
+      /**
+       * Divide Width Y
+       * @see https://tailwindcss.com/docs/divide-width
+       */
+      "divide-y": [{
+        "divide-y": [borderWidth]
+      }],
+      /**
+       * Divide Width Y Reverse
+       * @see https://tailwindcss.com/docs/divide-width
+       */
+      "divide-y-reverse": ["divide-y-reverse"],
+      /**
+       * Divide Opacity
+       * @see https://tailwindcss.com/docs/divide-opacity
+       */
+      "divide-opacity": [{
+        "divide-opacity": [opacity]
+      }],
+      /**
+       * Divide Style
+       * @see https://tailwindcss.com/docs/divide-style
+       */
+      "divide-style": [{
+        divide: getLineStyles()
+      }],
+      /**
+       * Border Color
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color": [{
+        border: [borderColor]
+      }],
+      /**
+       * Border Color X
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color-x": [{
+        "border-x": [borderColor]
+      }],
+      /**
+       * Border Color Y
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color-y": [{
+        "border-y": [borderColor]
+      }],
+      /**
+       * Border Color Top
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color-t": [{
+        "border-t": [borderColor]
+      }],
+      /**
+       * Border Color Right
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color-r": [{
+        "border-r": [borderColor]
+      }],
+      /**
+       * Border Color Bottom
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color-b": [{
+        "border-b": [borderColor]
+      }],
+      /**
+       * Border Color Left
+       * @see https://tailwindcss.com/docs/border-color
+       */
+      "border-color-l": [{
+        "border-l": [borderColor]
+      }],
+      /**
+       * Divide Color
+       * @see https://tailwindcss.com/docs/divide-color
+       */
+      "divide-color": [{
+        divide: [borderColor]
+      }],
+      /**
+       * Outline Style
+       * @see https://tailwindcss.com/docs/outline-style
+       */
+      "outline-style": [{
+        outline: [""].concat(getLineStyles())
+      }],
+      /**
+       * Outline Offset
+       * @see https://tailwindcss.com/docs/outline-offset
+       */
+      "outline-offset": [{
+        "outline-offset": [isLength]
+      }],
+      /**
+       * Outline Width
+       * @see https://tailwindcss.com/docs/outline-width
+       */
+      "outline-w": [{
+        outline: [isLength]
+      }],
+      /**
+       * Outline Color
+       * @see https://tailwindcss.com/docs/outline-color
+       */
+      "outline-color": [{
+        outline: [colors]
+      }],
+      /**
+       * Ring Width
+       * @see https://tailwindcss.com/docs/ring-width
+       */
+      "ring-w": [{
+        ring: getLengthWithEmpty()
+      }],
+      /**
+       * Ring Width Inset
+       * @see https://tailwindcss.com/docs/ring-width
+       */
+      "ring-w-inset": ["ring-inset"],
+      /**
+       * Ring Color
+       * @see https://tailwindcss.com/docs/ring-color
+       */
+      "ring-color": [{
+        ring: [colors]
+      }],
+      /**
+       * Ring Opacity
+       * @see https://tailwindcss.com/docs/ring-opacity
+       */
+      "ring-opacity": [{
+        "ring-opacity": [opacity]
+      }],
+      /**
+       * Ring Offset Width
+       * @see https://tailwindcss.com/docs/ring-offset-width
+       */
+      "ring-offset-w": [{
+        "ring-offset": [isLength]
+      }],
+      /**
+       * Ring Offset Color
+       * @see https://tailwindcss.com/docs/ring-offset-color
+       */
+      "ring-offset-color": [{
+        "ring-offset": [colors]
+      }],
+      // Effects
+      /**
+       * Box Shadow
+       * @see https://tailwindcss.com/docs/box-shadow
+       */
+      shadow: [{
+        shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
+      }],
+      /**
+       * Box Shadow Color
+       * @see https://tailwindcss.com/docs/box-shadow-color
+       */
+      "shadow-color": [{
+        shadow: [isAny]
+      }],
+      /**
+       * Opacity
+       * @see https://tailwindcss.com/docs/opacity
+       */
+      opacity: [{
+        opacity: [opacity]
+      }],
+      /**
+       * Mix Beldn Mode
+       * @see https://tailwindcss.com/docs/mix-blend-mode
+       */
+      "mix-blend": [{
+        "mix-blend": getBlendModes()
+      }],
+      /**
+       * Background Blend Mode
+       * @see https://tailwindcss.com/docs/background-blend-mode
+       */
+      "bg-blend": [{
+        "bg-blend": getBlendModes()
+      }],
+      // Filters
+      /**
+       * Filter
+       * @deprecated since Tailwind CSS v3.0.0
+       * @see https://tailwindcss.com/docs/filter
+       */
+      filter: [{
+        filter: ["", "none"]
+      }],
+      /**
+       * Blur
+       * @see https://tailwindcss.com/docs/blur
+       */
+      blur: [{
+        blur: [blur2]
+      }],
+      /**
+       * Brightness
+       * @see https://tailwindcss.com/docs/brightness
+       */
+      brightness: [{
+        brightness: [brightness]
+      }],
+      /**
+       * Contrast
+       * @see https://tailwindcss.com/docs/contrast
+       */
+      contrast: [{
+        contrast: [contrast]
+      }],
+      /**
+       * Drop Shadow
+       * @see https://tailwindcss.com/docs/drop-shadow
+       */
+      "drop-shadow": [{
+        "drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
+      }],
+      /**
+       * Grayscale
+       * @see https://tailwindcss.com/docs/grayscale
+       */
+      grayscale: [{
+        grayscale: [grayscale]
+      }],
+      /**
+       * Hue Rotate
+       * @see https://tailwindcss.com/docs/hue-rotate
+       */
+      "hue-rotate": [{
+        "hue-rotate": [hueRotate]
+      }],
+      /**
+       * Invert
+       * @see https://tailwindcss.com/docs/invert
+       */
+      invert: [{
+        invert: [invert2]
+      }],
+      /**
+       * Saturate
+       * @see https://tailwindcss.com/docs/saturate
+       */
+      saturate: [{
+        saturate: [saturate]
+      }],
+      /**
+       * Sepia
+       * @see https://tailwindcss.com/docs/sepia
+       */
+      sepia: [{
+        sepia: [sepia]
+      }],
+      /**
+       * Backdrop Filter
+       * @deprecated since Tailwind CSS v3.0.0
+       * @see https://tailwindcss.com/docs/backdrop-filter
+       */
+      "backdrop-filter": [{
+        "backdrop-filter": ["", "none"]
+      }],
+      /**
+       * Backdrop Blur
+       * @see https://tailwindcss.com/docs/backdrop-blur
+       */
+      "backdrop-blur": [{
+        "backdrop-blur": [blur2]
+      }],
+      /**
+       * Backdrop Brightness
+       * @see https://tailwindcss.com/docs/backdrop-brightness
+       */
+      "backdrop-brightness": [{
+        "backdrop-brightness": [brightness]
+      }],
+      /**
+       * Backdrop Contrast
+       * @see https://tailwindcss.com/docs/backdrop-contrast
+       */
+      "backdrop-contrast": [{
+        "backdrop-contrast": [contrast]
+      }],
+      /**
+       * Backdrop Grayscale
+       * @see https://tailwindcss.com/docs/backdrop-grayscale
+       */
+      "backdrop-grayscale": [{
+        "backdrop-grayscale": [grayscale]
+      }],
+      /**
+       * Backdrop Hue Rotate
+       * @see https://tailwindcss.com/docs/backdrop-hue-rotate
+       */
+      "backdrop-hue-rotate": [{
+        "backdrop-hue-rotate": [hueRotate]
+      }],
+      /**
+       * Backdrop Invert
+       * @see https://tailwindcss.com/docs/backdrop-invert
+       */
+      "backdrop-invert": [{
+        "backdrop-invert": [invert2]
+      }],
+      /**
+       * Backdrop Opacity
+       * @see https://tailwindcss.com/docs/backdrop-opacity
+       */
+      "backdrop-opacity": [{
+        "backdrop-opacity": [opacity]
+      }],
+      /**
+       * Backdrop Saturate
+       * @see https://tailwindcss.com/docs/backdrop-saturate
+       */
+      "backdrop-saturate": [{
+        "backdrop-saturate": [saturate]
+      }],
+      /**
+       * Backdrop Sepia
+       * @see https://tailwindcss.com/docs/backdrop-sepia
+       */
+      "backdrop-sepia": [{
+        "backdrop-sepia": [sepia]
+      }],
+      // Tables
+      /**
+       * Border Collapse
+       * @see https://tailwindcss.com/docs/border-collapse
+       */
+      "border-collapse": [{
+        border: ["collapse", "separate"]
+      }],
+      /**
+       * Border Spacing
+       * @see https://tailwindcss.com/docs/border-spacing
+       */
+      "border-spacing": [{
+        "border-spacing": [borderSpacing]
+      }],
+      /**
+       * Border Spacing X
+       * @see https://tailwindcss.com/docs/border-spacing
+       */
+      "border-spacing-x": [{
+        "border-spacing-x": [borderSpacing]
+      }],
+      /**
+       * Border Spacing Y
+       * @see https://tailwindcss.com/docs/border-spacing
+       */
+      "border-spacing-y": [{
+        "border-spacing-y": [borderSpacing]
+      }],
+      /**
+       * Table Layout
+       * @see https://tailwindcss.com/docs/table-layout
+       */
+      "table-layout": [{
+        table: ["auto", "fixed"]
+      }],
+      // Transitions and Animation
+      /**
+       * Tranisition Property
+       * @see https://tailwindcss.com/docs/transition-property
+       */
+      transition: [{
+        transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
+      }],
+      /**
+       * Transition Duration
+       * @see https://tailwindcss.com/docs/transition-duration
+       */
+      duration: [{
+        duration: [isInteger]
+      }],
+      /**
+       * Transition Timing Function
+       * @see https://tailwindcss.com/docs/transition-timing-function
+       */
+      ease: [{
+        ease: ["linear", "in", "out", "in-out", isArbitraryValue]
+      }],
+      /**
+       * Transition Delay
+       * @see https://tailwindcss.com/docs/transition-delay
+       */
+      delay: [{
+        delay: [isInteger]
+      }],
+      /**
+       * Animation
+       * @see https://tailwindcss.com/docs/animation
+       */
+      animate: [{
+        animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
+      }],
+      // Transforms
+      /**
+       * Transform
+       * @see https://tailwindcss.com/docs/transform
+       */
+      transform: [{
+        transform: ["", "gpu", "none"]
+      }],
+      /**
+       * Scale
+       * @see https://tailwindcss.com/docs/scale
+       */
+      scale: [{
+        scale: [scale2]
+      }],
+      /**
+       * Scale X
+       * @see https://tailwindcss.com/docs/scale
+       */
+      "scale-x": [{
+        "scale-x": [scale2]
+      }],
+      /**
+       * Scale Y
+       * @see https://tailwindcss.com/docs/scale
+       */
+      "scale-y": [{
+        "scale-y": [scale2]
+      }],
+      /**
+       * Rotate
+       * @see https://tailwindcss.com/docs/rotate
+       */
+      rotate: [{
+        rotate: [isInteger, isArbitraryValue]
+      }],
+      /**
+       * Translate X
+       * @see https://tailwindcss.com/docs/translate
+       */
+      "translate-x": [{
+        "translate-x": [translate2]
+      }],
+      /**
+       * Translate Y
+       * @see https://tailwindcss.com/docs/translate
+       */
+      "translate-y": [{
+        "translate-y": [translate2]
+      }],
+      /**
+       * Skew X
+       * @see https://tailwindcss.com/docs/skew
+       */
+      "skew-x": [{
+        "skew-x": [skew]
+      }],
+      /**
+       * Skew Y
+       * @see https://tailwindcss.com/docs/skew
+       */
+      "skew-y": [{
+        "skew-y": [skew]
+      }],
+      /**
+       * Transform Origin
+       * @see https://tailwindcss.com/docs/transform-origin
+       */
+      "transform-origin": [{
+        origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
+      }],
+      // Interactivity
+      /**
+       * Accent Color
+       * @see https://tailwindcss.com/docs/accent-color
+       */
+      accent: [{
+        accent: ["auto", colors]
+      }],
+      /**
+       * Appearance
+       * @see https://tailwindcss.com/docs/appearance
+       */
+      appearance: ["appearance-none"],
+      /**
+       * Cursor
+       * @see https://tailwindcss.com/docs/cursor
+       */
+      cursor: [{
+        cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", isArbitraryValue]
+      }],
+      /**
+       * Caret Color
+       * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
+       */
+      "caret-color": [{
+        caret: [colors]
+      }],
+      /**
+       * Pointer Events
+       * @see https://tailwindcss.com/docs/pointer-events
+       */
+      "pointer-events": [{
+        "pointer-events": ["none", "auto"]
+      }],
+      /**
+       * Resize
+       * @see https://tailwindcss.com/docs/resize
+       */
+      resize: [{
+        resize: ["none", "y", "x", ""]
+      }],
+      /**
+       * Scroll Behavior
+       * @see https://tailwindcss.com/docs/scroll-behavior
+       */
+      "scroll-behavior": [{
+        scroll: ["auto", "smooth"]
+      }],
+      /**
+       * Scroll Margin
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-m": [{
+        "scroll-m": [spacing]
+      }],
+      /**
+       * Scroll Margin X
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-mx": [{
+        "scroll-mx": [spacing]
+      }],
+      /**
+       * Scroll Margin Y
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-my": [{
+        "scroll-my": [spacing]
+      }],
+      /**
+       * Scroll Margin Top
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-mt": [{
+        "scroll-mt": [spacing]
+      }],
+      /**
+       * Scroll Margin Right
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-mr": [{
+        "scroll-mr": [spacing]
+      }],
+      /**
+       * Scroll Margin Bottom
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-mb": [{
+        "scroll-mb": [spacing]
+      }],
+      /**
+       * Scroll Margin Left
+       * @see https://tailwindcss.com/docs/scroll-margin
+       */
+      "scroll-ml": [{
+        "scroll-ml": [spacing]
+      }],
+      /**
+       * Scroll Padding
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-p": [{
+        "scroll-p": [spacing]
+      }],
+      /**
+       * Scroll Padding X
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-px": [{
+        "scroll-px": [spacing]
+      }],
+      /**
+       * Scroll Padding Y
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-py": [{
+        "scroll-py": [spacing]
+      }],
+      /**
+       * Scroll Padding Top
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-pt": [{
+        "scroll-pt": [spacing]
+      }],
+      /**
+       * Scroll Padding Right
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-pr": [{
+        "scroll-pr": [spacing]
+      }],
+      /**
+       * Scroll Padding Bottom
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-pb": [{
+        "scroll-pb": [spacing]
+      }],
+      /**
+       * Scroll Padding Left
+       * @see https://tailwindcss.com/docs/scroll-padding
+       */
+      "scroll-pl": [{
+        "scroll-pl": [spacing]
+      }],
+      /**
+       * Scroll Snap Align
+       * @see https://tailwindcss.com/docs/scroll-snap-align
+       */
+      "snap-align": [{
+        snap: ["start", "end", "center", "align-none"]
+      }],
+      /**
+       * Scroll Snap Stop
+       * @see https://tailwindcss.com/docs/scroll-snap-stop
+       */
+      "snap-stop": [{
+        snap: ["normal", "always"]
+      }],
+      /**
+       * Scroll Snap Type
+       * @see https://tailwindcss.com/docs/scroll-snap-type
+       */
+      "snap-type": [{
+        snap: ["none", "x", "y", "both"]
+      }],
+      /**
+       * Scroll Snap Type Strictness
+       * @see https://tailwindcss.com/docs/scroll-snap-type
+       */
+      "snap-strictness": [{
+        snap: ["mandatory", "proximity"]
+      }],
+      /**
+       * Touch Action
+       * @see https://tailwindcss.com/docs/touch-action
+       */
+      touch: [{
+        touch: ["auto", "none", "pinch-zoom", "manipulation", {
+          pan: ["x", "left", "right", "y", "up", "down"]
+        }]
+      }],
+      /**
+       * User Select
+       * @see https://tailwindcss.com/docs/user-select
+       */
+      select: [{
+        select: ["none", "text", "all", "auto"]
+      }],
+      /**
+       * Will Change
+       * @see https://tailwindcss.com/docs/will-change
+       */
+      "will-change": [{
+        "will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
+      }],
+      // SVG
+      /**
+       * Fill
+       * @see https://tailwindcss.com/docs/fill
+       */
+      fill: [{
+        fill: [colors, "none"]
+      }],
+      /**
+       * Stroke Width
+       * @see https://tailwindcss.com/docs/stroke-width
+       */
+      "stroke-w": [{
+        stroke: [isLength, isArbitraryNumber]
+      }],
+      /**
+       * Stroke
+       * @see https://tailwindcss.com/docs/stroke
+       */
+      stroke: [{
+        stroke: [colors, "none"]
+      }],
+      // Accessibility
+      /**
+       * Screen Readers
+       * @see https://tailwindcss.com/docs/screen-readers
+       */
+      sr: ["sr-only", "not-sr-only"]
+    },
+    conflictingClassGroups: {
+      overflow: ["overflow-x", "overflow-y"],
+      overscroll: ["overscroll-x", "overscroll-y"],
+      inset: ["inset-x", "inset-y", "top", "right", "bottom", "left"],
+      "inset-x": ["right", "left"],
+      "inset-y": ["top", "bottom"],
+      flex: ["basis", "grow", "shrink"],
+      "col-start-end": ["col-start", "col-end"],
+      "row-start-end": ["row-start", "row-end"],
+      gap: ["gap-x", "gap-y"],
+      p: ["px", "py", "pt", "pr", "pb", "pl"],
+      px: ["pr", "pl"],
+      py: ["pt", "pb"],
+      m: ["mx", "my", "mt", "mr", "mb", "ml"],
+      mx: ["mr", "ml"],
+      my: ["mt", "mb"],
+      "font-size": ["leading"],
+      "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
+      "fvn-ordinal": ["fvn-normal"],
+      "fvn-slashed-zero": ["fvn-normal"],
+      "fvn-figure": ["fvn-normal"],
+      "fvn-spacing": ["fvn-normal"],
+      "fvn-fraction": ["fvn-normal"],
+      rounded: ["rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
+      "rounded-t": ["rounded-tl", "rounded-tr"],
+      "rounded-r": ["rounded-tr", "rounded-br"],
+      "rounded-b": ["rounded-br", "rounded-bl"],
+      "rounded-l": ["rounded-tl", "rounded-bl"],
+      "border-spacing": ["border-spacing-x", "border-spacing-y"],
+      "border-w": ["border-w-t", "border-w-r", "border-w-b", "border-w-l"],
+      "border-w-x": ["border-w-r", "border-w-l"],
+      "border-w-y": ["border-w-t", "border-w-b"],
+      "border-color": ["border-color-t", "border-color-r", "border-color-b", "border-color-l"],
+      "border-color-x": ["border-color-r", "border-color-l"],
+      "border-color-y": ["border-color-t", "border-color-b"],
+      "scroll-m": ["scroll-mx", "scroll-my", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
+      "scroll-mx": ["scroll-mr", "scroll-ml"],
+      "scroll-my": ["scroll-mt", "scroll-mb"],
+      "scroll-p": ["scroll-px", "scroll-py", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
+      "scroll-px": ["scroll-pr", "scroll-pl"],
+      "scroll-py": ["scroll-pt", "scroll-pb"]
+    }
+  };
+}
+var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
+var useBreakpoint = function useBreakpoint2() {
+  if (isServer$4)
+    return;
+  var activeBreakpoint = ref("");
+  var prefixes = ["2xl", "xl", "lg", "md", "sm"];
+  var mediaQuerys = {
+    "2xl": window.matchMedia("(min-width:1536px)"),
+    "xl": window.matchMedia("(min-width:1280px)"),
+    "lg": window.matchMedia("(min-width:1024px)"),
+    "md": window.matchMedia("(min-width:768px)"),
+    "sm": window.matchMedia("(min-width:640px)")
+  };
+  var setActiveBreakpoint = function setActiveBreakpoint2() {
+    for (var i2 = 0; i2 < prefixes.length; i2++) {
+      var key2 = prefixes[i2];
+      if (mediaQuerys[key2].matches) {
+        activeBreakpoint.value = key2;
+        return;
+      }
+    }
+    activeBreakpoint.value = "default";
+  };
+  var mediaQueryListener = debounce_default(0, function() {
+    return setActiveBreakpoint();
+  });
+  setActiveBreakpoint();
+  prefixes.forEach(function(key2) {
+    return mediaQuerys[key2].addEventListener("change", mediaQueryListener);
+  });
+  onBeforeUnmount(function() {
+    prefixes.forEach(function(key2) {
+      return mediaQuerys[key2].removeEventListener("change", mediaQueryListener);
+    });
+  });
+  return {
+    current: activeBreakpoint
+  };
+};
+function useDefer(maxCount) {
+  if (maxCount === void 0) {
+    maxCount = 100;
+  }
+  var frameCount = ref(0);
+  var rafId;
+  function updateFrameCount() {
+    rafId = requestAnimationFrame(function() {
+      frameCount.value++;
+      if (frameCount.value >= maxCount) {
+        return;
+      }
+      updateFrameCount();
+    });
+  }
+  function cancel() {
+    if (rafId) {
+      cancelAnimationFrame(rafId);
+      rafId = 0;
+    }
+  }
+  updateFrameCount();
+  onBeforeUnmount(function() {
+    return cancel();
+  });
+  return {
+    defer: function defer(n2) {
+      return frameCount.value >= n2;
+    },
+    reset: function reset2() {
+      cancel();
+      frameCount.value = 0;
+      updateFrameCount();
+    },
+    cancel
+  };
+}
+var $prefix = "Tiny";
+var $props = {
+  "tiny_mode": String,
+  "tiny_mode_root": Boolean,
+  "tiny_template": [Function, Object],
+  "tiny_renderless": Function,
+  "tiny_theme": String,
+  "tiny_chart_theme": Object
+};
+var props = ["tiny_mode", "tiny_mode_root", "tiny_template", "tiny_renderless", "_constants", "tiny_theme", "tiny_chart_theme"];
+var resolveMode = function resolveMode2(props2, context) {
+  var isRightMode = function isRightMode2(mode) {
+    return ~["pc", "mobile", "mobile-first"].indexOf(mode);
+  };
+  var config2 = rootConfig(context);
+  var tinyModeProp = typeof props2.tiny_mode === "string" ? props2.tiny_mode : null;
+  var tinyModeInject = inject("TinyMode", null);
+  var tinyModeGlobal;
+  if (typeof config2.tiny_mode === "string") {
+    tinyModeGlobal = config2.tiny_mode;
+  } else if (config2.tiny_mode) {
+    tinyModeGlobal = config2.tiny_mode.value;
+  }
+  if (!isRightMode(tinyModeProp))
+    tinyModeProp = null;
+  if (!isRightMode(tinyModeInject))
+    tinyModeInject = null;
+  if (!isRightMode(tinyModeGlobal))
+    tinyModeGlobal = null;
+  var tinyMode = tinyModeProp || tinyModeInject || tinyModeGlobal || "pc";
+  if (props2.tiny_mode_root) {
+    provide("TinyMode", tinyMode);
+  }
+  var instance = getCurrentInstance();
+  Object.defineProperty(instance, "_tiny_mode", {
+    value: tinyMode
+  });
+  return tinyMode;
+};
+var resolveTheme = function resolveTheme2(props2, context) {
+  var isRightTheme = function isRightTheme2(theme2) {
+    return ~["tiny", "saas"].indexOf(theme2);
+  };
+  var config2 = rootConfig(context);
+  var tinyThemeProp = typeof props2.tiny_theme === "string" ? props2.tiny_theme : null;
+  var tinyThemeInject = inject("TinyTheme", null);
+  var tinyThemeGlobal = config2.tiny_theme && config2.tiny_theme.value;
+  if (!isRightTheme(tinyThemeProp))
+    tinyThemeProp = null;
+  if (!isRightTheme(tinyThemeInject))
+    tinyThemeInject = null;
+  if (!isRightTheme(tinyThemeGlobal))
+    tinyThemeGlobal = null;
+  var tinyTheme = tinyThemeProp || tinyThemeInject || tinyThemeGlobal || "tiny";
+  return tinyTheme;
+};
+var resolveChartTheme = function resolveChartTheme2(props2, context) {
+  var config2 = rootConfig(context);
+  var tinyChartProp = typeof props2.tiny_chart_theme === "object" ? props2.tiny_chart_theme : null;
+  var tinyChartInject = inject("TinyChartTheme", null);
+  var tinyChartGlobal = config2.tiny_chart_theme && config2.tiny_chart_theme.value;
+  var tinyChartTheme = tinyChartProp || tinyChartInject || tinyChartGlobal || null;
+  return tinyChartTheme;
+};
+var $setup = function $setup2(_ref9) {
+  var props2 = _ref9.props, context = _ref9.context, template3 = _ref9.template, _ref9$extend = _ref9.extend, extend2 = _ref9$extend === void 0 ? {} : _ref9$extend;
+  var mode = resolveMode(props2, context);
+  var view = computed(function() {
+    if (typeof props2.tiny_template !== "undefined")
+      return props2.tiny_template;
+    var component2 = template3(mode, props2);
+    return typeof component2 === "function" ? defineAsyncComponent(component2) : component2;
+  });
+  return renderComponent({
+    view,
+    props: props2,
+    context,
+    extend: extend2
+  });
+};
+var mergeClass = function mergeClass2() {
+  for (var _len3 = arguments.length, cssClasses = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
+    cssClasses[_key3] = arguments[_key3];
+  }
+  return twMerge(stringifyCssClass(cssClasses));
+};
+var design = {
+  configKey: Symbol("designConfigKey"),
+  configInstance: null
+};
+var createComponent = createComponentFn(design);
+var setup = function setup2(_ref10) {
+  var _globalDesignConfig$c, _process$env;
+  var props2 = _ref10.props, context = _ref10.context, renderless2 = _ref10.renderless, api2 = _ref10.api, _ref10$extendOptions = _ref10.extendOptions, extendOptions = _ref10$extendOptions === void 0 ? {} : _ref10$extendOptions, _ref10$mono = _ref10.mono, mono = _ref10$mono === void 0 ? false : _ref10$mono, _ref10$classes = _ref10.classes, classes2 = _ref10$classes === void 0 ? {} : _ref10$classes;
+  var render8 = typeof props2.tiny_renderless === "function" ? props2.tiny_renderless : renderless2;
+  var globalDesignConfig = inject(design.configKey, {});
+  var designConfig = globalDesignConfig == null ? void 0 : (_globalDesignConfig$c = globalDesignConfig.components) == null ? void 0 : _globalDesignConfig$c[getComponentName().replace($prefix, "")];
+  var specifyPc = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  var utils2 = _extends2({
+    $prefix,
+    t: t$2
+  }, tools(context, resolveMode(props2, context)), {
+    designConfig,
+    globalDesignConfig,
+    useBreakpoint
+  });
+  if (specifyPc !== "pc") {
+    utils2.mergeClass = mergeClass;
+  }
+  utils2.vm.theme = resolveTheme(props2, context);
+  utils2.vm.chartTheme = resolveChartTheme(props2, context);
+  var sdk = render8(props2, hooks, utils2, extendOptions);
+  if (typeof (designConfig == null ? void 0 : designConfig.renderless) === "function") {
+    Object.assign(sdk, designConfig.renderless(props2, hooks, utils2, sdk));
+  }
+  var attrs = {
+    t: t$2,
+    vm: utils2.vm,
+    f: bindFilter,
+    a: filterAttrs,
+    d: utils2.defineInstanceProperties,
+    dp: utils2.defineParentInstanceProperties,
+    gcls: function gcls(key2) {
+      return getElementCssClass(classes2, key2);
+    }
+  };
+  if (specifyPc !== "pc") {
+    attrs.m = mergeClass;
+  }
+  attrs.d({
+    slots: {
+      get: function get2() {
+        return utils2.vm.$slots;
+      },
+      configurable: true
+    },
+    scopedSlots: {
+      get: function get2() {
+        return utils2.vm.$scopedSlots;
+      },
+      configurable: true
+    }
+  });
+  attrs.dp({
+    slots: {
+      get: function get2() {
+        return utils2.parent.$slots;
+      },
+      configurable: true
+    },
+    scopedSlots: {
+      get: function get2() {
+        return utils2.parent.$scopedSlots;
+      },
+      configurable: true
+    }
+  });
+  initComponent();
+  if (Array.isArray(api2)) {
+    if (Array.isArray(designConfig == null ? void 0 : designConfig.api)) {
+      api2 = api2.concat(designConfig.api);
+    }
+    api2.forEach(function(name2) {
+      var value = sdk[name2];
+      if (typeof value !== "undefined") {
+        attrs[name2] = value;
+        if (!mono) {
+          utils2.setParentAttribute({
+            name: name2,
+            value
+          });
+        }
+      }
+    });
+  }
+  return attrs;
+};
+function svg(_ref11) {
+  var _ref11$name = _ref11.name, name2 = _ref11$name === void 0 ? "Icon" : _ref11$name, component2 = _ref11.component;
+  return function(propData) {
+    return markRaw(defineComponent({
+      name: $prefix + name2,
+      setup: function setup32(props2, context) {
+        var _process$env2;
+        var _ref12 = context.attrs || {}, fill = _ref12.fill, width = _ref12.width, height = _ref12.height, customClass = _ref12["custom-class"];
+        var mergeProps2 = Object.assign({}, props2, propData || null);
+        var mode = resolveMode(mergeProps2, context);
+        var isMobileFirst = mode === "mobile-first";
+        var tinyTag = {
+          "data-tag": isMobileFirst ? "tiny-svg" : null
+        };
+        var attrs = tinyTag;
+        var className = "tiny-svg";
+        var specifyPc = typeof process === "object" ? (_process$env2 = {}) == null ? void 0 : _process$env2.TINY_MODE : null;
+        if (specifyPc !== "pc" && isMobileFirst) {
+          className = mergeClass("h-4 w-4 inline-block", customClass || "", mergeProps2.class || "");
+        }
+        var extend2 = Object.assign({
+          style: {
+            fill,
+            width,
+            height
+          },
+          class: className,
+          isSvg: true
+        }, attrs);
+        {
+          extend2.nativeOn = context.listeners;
+        }
+        return renderComponent({
+          component: component2,
+          props: mergeProps2,
+          context,
+          extend: extend2
+        });
+      }
+    }));
+  };
+}
+var filterAttrs = function filterAttrs2(attrs, filters, include) {
+  var props2 = {};
+  var _loop2 = function _loop22(name22) {
+    var find2 = filters.some(function(r2) {
+      return new RegExp(r2).test(name22);
+    });
+    if (include && find2 || !include && !find2) {
+      props2[name22] = attrs[name22];
+    }
+  };
+  for (var name2 in attrs) {
+    _loop2(name2);
+  }
+  return props2;
+};
+var setupComponent = {};
+var initComponent = function initComponent2() {
+  for (var name2 in setupComponent) {
+    var component2 = setupComponent[name2];
+    if (typeof component2.install === "function") {
+      component2.install(appContext());
+    }
+    if (typeof component2.init === "function") {
+      component2.init(appProperties());
+    }
+  }
+  setupComponent = {};
+};
+var $install = function $install2(component2) {
+  component2.install = function(Vue) {
+    Vue.component(component2.name, component2);
+  };
+};
+var _hoisted_1$1i = {
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$1c = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M884.364 535.273c51.2 0 93.09 41.89 93.09 93.09v256c0 51.2-41.89 93.092-93.09 93.092h-256c-51.2 0-93.091-41.891-93.091-93.091v-256c0-51.2 41.89-93.091 93.09-93.091h256zm23.272 349.09v-256c0-12.613-10.659-23.272-23.272-23.272h-256c-12.614 0-23.273 10.659-23.273 23.273v256c0 12.613 10.659 23.272 23.273 23.272h256c12.613 0 23.272-10.659 23.272-23.272zM884.364 46.546c51.2 0 93.09 41.891 93.09 93.091v256c0 51.2-41.89 93.091-93.09 93.091h-256c-51.2 0-93.091-41.89-93.091-93.09v-256c0-51.2 41.89-93.092 93.09-93.092h256zm23.272 349.091v-256c0-12.613-10.659-23.272-23.272-23.272h-256c-12.614 0-23.273 10.659-23.273 23.272v256c0 12.614 10.659 23.273 23.273 23.273h256c12.613 0 23.272-10.659 23.272-23.273zm-768-349.09h256c51.2 0 93.091 41.89 93.091 93.09v256c0 51.2-41.89 93.091-93.09 93.091h-256c-51.2 0-93.092-41.89-93.092-93.09v-256c0-51.2 41.891-93.092 93.091-93.092zm279.273 349.09v-256c0-12.613-10.659-23.272-23.273-23.272h-256c-12.613 0-23.272 10.659-23.272 23.272v256c0 12.614 10.659 23.273 23.272 23.273h256c12.614 0 23.273-10.659 23.273-23.273zm-23.273 139.637c51.2 0 93.091 41.89 93.091 93.09v256c0 51.2-41.89 93.092-93.09 93.092h-256c-51.2 0-93.092-41.891-93.092-93.091v-256c0-51.2 41.891-93.091 93.091-93.091h256zm23.273 349.09v-256c0-12.613-10.659-23.272-23.273-23.272h-256c-12.613 0-23.272 10.659-23.272 23.273v256c0 12.613 10.659 23.272 23.272 23.272h256c12.614 0 23.273-10.659 23.273-23.272z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$17 = [_hoisted_2$1c];
+function render$I(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1i, [].concat(_hoisted_3$17));
+}
+var Application = {
+  render: render$I
+};
+var index$1d = function index2() {
+  return svg({
+    name: "IconApplication",
+    component: Application
+  })();
+};
+var _hoisted_1$1h = {
+  viewBox: "0 0 14 14",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$1b = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M3.284 4h7.432a1 1 0 0 1 .735 1.678L7.735 9.704a1 1 0 0 1-1.47 0L2.55 5.678A1 1 0 0 1 3.284 4Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$16 = [_hoisted_2$1b];
+function render$H(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1h, [].concat(_hoisted_3$16));
+}
+var ArrowBottom = {
+  render: render$H
+};
+var index$1c = function index22() {
+  return svg({
+    name: "IconArrowBottom",
+    component: ArrowBottom
+  })();
+};
+var _hoisted_1$1g = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$1a = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "check-out_svg__svg-checkout-r1",
+    d: "M6 5h7c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1s.4-1 1-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$15 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "check-out_svg__svg-checkout-r2",
+    d: "M6 9h5c.6 0 1 .4 1 1s-.4 1-1 1H6c-.6 0-1-.4-1-1s.4-1 1-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$B = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "check-out_svg__svg-checkout-c",
+    d: "m16.1 20 5.7-5.7c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6.4 6.4c-.4.4-1 .4-1.4 0l-3.5-3.5c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l2.8 2.8z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_5$m = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "check-out_svg__svg-checkout-w",
+    d: "M18 1H4c-.9 0-2 1.1-2 2v18c0 .9 1.1 2 2 2h6c.5 0 1-.5 1-1s-.5-1-1-1H4V3h14v9c0 .5.5 1 1 1s1-.5 1-1V3c0-.9-1.1-2-2-2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_6$j = [_hoisted_2$1a, _hoisted_3$15, _hoisted_4$B, _hoisted_5$m];
+function render$G(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1g, [].concat(_hoisted_6$j));
+}
+var CheckOut = {
+  render: render$G
+};
+var index$1b = function index23() {
+  return svg({
+    name: "IconCheckOut",
+    component: CheckOut
+  })();
+};
+var _hoisted_1$1f = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$19 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M13 2H3a1 1 0 0 0-.993.883L2 3v10a1 1 0 0 0 .883.993L3 14h10a1 1 0 0 0 .993-.883L14 13V3a1 1 0 0 0-.883-.993L13 2Z",
+    fill: "#FFF"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$14 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10Zm0 1H3a1 1 0 0 0-.993.883L2 3v10a1 1 0 0 0 .883.993L3 14h10a1 1 0 0 0 .993-.883L14 13V3a1 1 0 0 0-.883-.993L13 2Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$A = [_hoisted_2$19, _hoisted_3$14];
+function render$F(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1f, [].concat(_hoisted_4$A));
+}
+var Check = {
+  render: render$F
+};
+var index$1a = function index24() {
+  return svg({
+    name: "IconCheck",
+    component: Check
+  })();
+};
+var _hoisted_1$1e = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$18 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M12.9 1c1.16 0 2.1.94 2.1 2.1v9.8a2.1 2.1 0 0 1-2.1 2.1H3.1A2.1 2.1 0 0 1 1 12.9V3.1C1 1.94 1.94 1 3.1 1h9.8Zm-.335 4.115a.7.7 0 0 0-.924-.058l-.066.058L7.119 9.57 4.645 7.095a.7.7 0 0 0-1.048.924l.058.066 2.97 2.97a.7.7 0 0 0 .924.058l.066-.058 4.95-4.95a.7.7 0 0 0 0-.99Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$13 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M12.565 5.115a.7.7 0 0 0-.924-.058l-.066.058L7.119 9.57 4.645 7.095a.7.7 0 0 0-1.048.924l.058.066 2.97 2.97a.7.7 0 0 0 .924.058l.066-.058 4.95-4.95a.7.7 0 0 0 0-.99Z",
+    fill: "#FFF"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$z = [_hoisted_2$18, _hoisted_3$13];
+function render$E(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1e, [].concat(_hoisted_4$z));
+}
+var CheckedSur = {
+  render: render$E
+};
+var index$19 = function index25() {
+  return svg({
+    name: "IconCheckedSur",
+    component: CheckedSur
+  })();
+};
+var _hoisted_1$1d = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$17 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "chevron-right_svg__st0",
+    d: "M7 21c.2 0 .5-.1.6-.2l9.9-8c.2-.2.4-.5.4-.8 0-.3-.1-.6-.4-.8L7.6 3.3c-.4-.4-1.1-.3-1.4.2-.4.4-.3 1.1.2 1.4l8.9 7.2-8.9 7.2c-.4.4-.5 1-.2 1.4.2.2.5.3.8.3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$12 = [_hoisted_2$17];
+function render$D(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1d, [].concat(_hoisted_3$12));
+}
+var ChevronRight = {
+  render: render$D
+};
+var index$18 = function index26() {
+  return svg({
+    name: "IconChevronRight",
+    component: ChevronRight
+  })();
+};
+var _hoisted_1$1c = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$16 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "close_svg__st0",
+    d: "m13.4 12 6.3-6.3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L12 10.6 5.7 4.3c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4l6.3 6.3-6.3 6.3c-.4.4-.4 1 0 1.4.2.2.4.3.7.3.3 0 .5-.1.7-.3l6.3-6.3 6.3 6.3c.2.2.4.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4L13.4 12z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$11 = [_hoisted_2$16];
+function render$C(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1c, [].concat(_hoisted_3$11));
+}
+var Close = {
+  render: render$C
+};
+var index$17 = function index27() {
+  return svg({
+    name: "IconClose",
+    component: Close
+  })();
+};
+var _hoisted_1$1b = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$15 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "cue-l_svg__st0",
+    d: "M12 2c1.4 0 2.7.3 3.9.8 1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2zm0-2C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm0 16c-.5 0-1-.4-1-1V6c0-.5.5-1 1-1s1 .4 1 1v9c0 .6-.5 1-1 1zm-1.1 2c0 .6.5 1 1.1 1s1.1-.4 1.1-1-.5-1-1.1-1-1.1.4-1.1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$10 = [_hoisted_2$15];
+function render$B(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1b, [].concat(_hoisted_3$10));
+}
+var CueL = {
+  render: render$B
+};
+var index$16 = function index28() {
+  return svg({
+    name: "IconCueL",
+    component: CueL
+  })();
+};
+var _hoisted_1$1a = {
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$14 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M509.4 900.5c-11.6 0-21-9.4-21-21v-168c0-11.6 9.4-21 21-21s21 9.4 21 21v168c0 11.6-9.4 21-21 21z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$$ = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M509.4 933.3c-5.4 0-10.7-2.1-14.8-6.2-8.2-8.2-8.2-21.5 0-29.7l74.2-74.3c8.2-8.2 21.5-8.2 29.7 0s8.2 21.5 0 29.7l-74.2 74.3c-4.2 4.1-9.6 6.2-14.9 6.2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$y = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M509.4 933.3c-5.4 0-10.7-2.1-14.8-6.2l-74.2-74.2c-8.2-8.2-8.2-21.5 0-29.7s21.5-8.2 29.7 0l74.2 74.2c8.2 8.2 8.2 21.5 0 29.7-4.2 4.1-9.6 6.2-14.9 6.2zm233.3-130.2c-56 0-110.1-20.3-152.2-57.2-8.7-7.6-9.6-20.9-1.9-29.6 7.6-8.7 20.9-9.6 29.6-1.9 34.4 30.2 78.6 46.8 124.5 46.8 104.2 0 189-84.8 189-189 0-91.8-65.6-170-156.1-185.9l-16.2-2.8-1.1-16.4c-9.2-131.4-119.5-234.3-251.1-234.3-120.4 0-224.4 85.7-247.3 203.8l-2.7 13.8-13.8 2.8C155.8 371 92.2 448.9 92.2 538.4c0 104.2 84.8 189 189 189 43.1 0 83.6-14.1 117.3-40.9 9.1-7.2 22.3-5.7 29.5 3.4 7.2 9.1 5.7 22.3-3.4 29.5-41.2 32.7-90.7 50-143.4 50-127.4 0-231-103.6-231-231 0-104.8 71.3-196.5 171.4-223.2C253.4 184.3 371.4 90.7 507.2 90.7c148.3 0 273.3 111.8 291.5 257.5 102.3 25.4 175 117.1 175 224 0 127.3-103.6 230.9-231 230.9z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_5$l = [_hoisted_2$14, _hoisted_3$$, _hoisted_4$y];
+function render$A(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1a, [].concat(_hoisted_5$l));
+}
+var DownloadCloud = {
+  render: render$A
+};
+var index$15 = function index29() {
+  return svg({
+    name: "IconDownloadCloud",
+    component: DownloadCloud
+  })();
+};
+var _hoisted_1$19 = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$13 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M14.8 1.2c-1.1-1.1-2.9-1.1-4 0L3.2 8.8c-.3.3-.5.6-.7 1L0 16l6.2-2.5c.4-.2.7-.4 1-.7l7.7-7.7c1-1 1-2.8-.1-3.9zm-8.3 11c-.2.2-.4.3-.7.4l-4 1.6 1.6-4c.1-.2.3-.5.5-.7l6-6 2.6 2.6-6 6.1zm7.6-7.7-1 1-2.6-2.6 1-1c.3-.3.8-.5 1.3-.5s1 .2 1.3.5c.7.7.7 1.9 0 2.6z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$_ = [_hoisted_2$13];
+function render$z(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$19, [].concat(_hoisted_3$_));
+}
+var Edit = {
+  render: render$z
+};
+var index$14 = function index210() {
+  return svg({
+    name: "IconEdit",
+    component: Edit
+  })();
+};
+var _hoisted_1$18 = {
+  class: "error_svg__tiny-icon-error",
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 14 14",
+  style: {
+    "enable-background": "new 0 0 14 14"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$12 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M14 7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7 7 3.13 7 7z",
+    style: {
+      "fill-rule": "evenodd",
+      "clip-rule": "evenodd"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$Z = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M9.96 9.29c.09.09.14.21.14.34 0 .13-.05.25-.14.33a.47.47 0 0 1-.67 0L7 7.67 4.71 9.96c-.18.18-.49.18-.67 0a.483.483 0 0 1 0-.67L6.33 7 4.04 4.71c-.09-.09-.14-.21-.14-.34s.05-.25.14-.34c.18-.18.49-.18.67 0L7 6.33l2.29-2.29c.19-.18.49-.18.67 0 .09.09.14.21.14.34s-.05.25-.14.34L7.67 7l2.29 2.29z",
+    style: {
+      "fill": "#fff"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$x = [_hoisted_2$12, _hoisted_3$Z];
+function render$y(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$18, [].concat(_hoisted_4$x));
+}
+var Error$1 = {
+  render: render$y
+};
+var index$13 = function index211() {
+  return svg({
+    name: "IconError",
+    component: Error$1
+  })();
+};
+var _hoisted_1$17 = {
+  viewBox: "0 0 16 12",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$11 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "m3.486 3.207.712.712-.233.187c-.154.127-.307.261-.458.402l-.287.276c-.374.373-.712.762-1.011 1.151l-.047.061-.044.06-.184.251.275.374.232.291c.318.388.675.773 1.066 1.136l.244.22C5.059 9.47 6.489 10.14 8 10.14l.295-.009a5.472 5.472 0 0 0 1.722-.392l.76.762-.295.13c-.792.33-1.62.51-2.482.51l-.298-.007c-1.78-.086-3.414-.937-4.876-2.294l-.312-.3A12.91 12.91 0 0 1 1.416 7.29l-.051-.068-.05-.065-.174-.237-.135-.197-.099-.153-.04-.083a.501.501 0 0 1-.001-.357l.041-.084.099-.153.135-.197.174-.237.101-.133.252-.317c.346-.421.732-.839 1.158-1.234.216-.201.437-.39.66-.568ZM3.757.858l.096.01a.506.506 0 0 1 .258.137l1.112 1.11A6.491 6.491 0 0 1 8 1.474l.298.007c1.78.086 3.414.937 4.876 2.294l.312.3c.406.406.772.829 1.098 1.251l.051.068.05.065.173.237.136.197.098.153.042.083a.497.497 0 0 1 0 .357l-.042.084-.098.153-.136.197-.173.237-.101.133-.252.317c-.346.42-.732.838-1.158 1.234l-.288.26c-.123.106-.247.209-.372.308l.789.788.058.07a.5.5 0 0 1-.058.637l-.07.058a.499.499 0 0 1-.637-.058l-.907-.907v.002l-.727-.728V9.27l-.841-.841-.707-.706v-.002l-6.01-6.009-.058-.07a.5.5 0 0 1 .411-.784Zm1.535 4.157.775.775-.037.169c-.02.114-.03.23-.03.35l.005.15A2 2 0 0 0 8 8.308l.177-.008c.116-.01.23-.03.34-.06l.777.774-.2.087A2.99 2.99 0 0 1 8 9.308l-.176-.005a3 3 0 0 1-2.532-4.288ZM8 2.475l-.28.008a5.465 5.465 0 0 0-1.736.393l.722.724c.392-.187.83-.292 1.294-.292l.176.005A3 3 0 0 1 11 6.31l-.007.205a2.977 2.977 0 0 1-.285 1.087L11.8 8.697c.235-.182.465-.378.692-.589l.287-.276c.374-.373.712-.762 1.011-1.151l.047-.062.044-.059.183-.253-.274-.372-.232-.291a11.566 11.566 0 0 0-1.066-1.136l-.244-.22C10.941 3.146 9.511 2.475 8 2.475Zm0 1.833-.182.008c-.115.01-.227.03-.335.06l2.45 2.45c.043-.165.067-.338.067-.517l-.005-.15A2 2 0 0 0 8 4.309Z",
+    "fill-rule": "evenodd"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$Y = [_hoisted_2$11];
+function render$x(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$17, [].concat(_hoisted_3$Y));
+}
+var Eyeclose = {
+  render: render$x
+};
+var index$12 = function index212() {
+  return svg({
+    name: "IconEyeclose",
+    component: Eyeclose
+  })();
+};
+var _hoisted_1$16 = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$10 = /* @__PURE__ */ createStaticVNode('<defs><filter x="-52.5%" y="-80.8%" width="204.9%" height="261.6%" filterUnits="objectBoundingBox" id="eyeopen_svg__a"><feOffset dx="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur><feColorMatrix values="0 0 0 0 0.145098039 0 0 0 0 0.168627451 0 0 0 0 0.22745098 0 0 0 0.08 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix><feMerge><feMergeNode in="shadowMatrixOuter1"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><g fill="none" fill-rule="evenodd"><path d="M0 16h16V0H0z"></path><g filter="url(#eyeopen_svg__a)" transform="translate(1.327 3.667)" stroke="currentColor"><path d="M6.673 8.666c-1.66 0-3.286-.729-4.833-2.166A12.238 12.238 0 0 1 .485 5.01l-.267-.361L0 4.322l.227-.318.261-.353c.414-.537.87-1.038 1.352-1.485C3.387.729 5.013 0 6.673 0c1.66 0 3.286.729 4.833 2.166.482.448.938.949 1.355 1.49l.267.361.218.327-.227.318-.261.353c-.414.537-.87 1.038-1.352 1.485-1.547 1.437-3.173 2.166-4.833 2.166Z" stroke-linejoin="round"></path><path d="M6.673 6.833a2.503 2.503 0 0 1-2.5-2.5c0-1.378 1.122-2.5 2.5-2.5s2.5 1.122 2.5 2.5-1.122 2.5-2.5 2.5Z"></path></g></g>', 2);
+var _hoisted_4$w = [_hoisted_2$10];
+function render$w(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$16, [].concat(_hoisted_4$w));
+}
+var Eyeopen = {
+  render: render$w
+};
+var index$11 = function index213() {
+  return svg({
+    name: "IconEyeopen",
+    component: Eyeopen
+  })();
+};
+var _hoisted_1$15 = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$$ = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M13.5 12.833a.5.5 0 0 1 .068.996l-.068.004h-11a.5.5 0 0 1-.068-.995l.068-.005h11ZM4.597 5.362c.21-.21.57-.06.57.236v4.805c0 .296-.36.445-.57.236l-2.26-2.262a.532.532 0 0 1 0-.754ZM13.5 9.278a.5.5 0 0 1 .068.995l-.068.005H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.556a.5.5 0 0 1 .068.996l-.068.004H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.555a.5.5 0 0 1 .068.995l-.068.005h-11a.5.5 0 0 1-.068-.996l.068-.004h11Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$X = [_hoisted_2$$];
+function render$v(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$15, [].concat(_hoisted_3$X));
+}
+var EditorMenuLeft = {
+  render: render$v
+};
+var index$10 = function index214() {
+  return svg({
+    name: "EditorMenuLeft",
+    component: EditorMenuLeft
+  })();
+};
+var _hoisted_1$14 = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$_ = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M13.5 12.833a.5.5 0 0 1 .068.996l-.068.004h-11a.5.5 0 0 1-.068-.995l.068-.005h11ZM2.167 5.598c0-.297.358-.446.569-.236l2.26 2.261a.532.532 0 0 1 0 .754l-2.26 2.261a.333.333 0 0 1-.57-.235ZM13.5 9.278a.5.5 0 0 1 .068.995l-.068.005H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.556a.5.5 0 0 1 .068.996l-.068.004H6.833a.5.5 0 0 1-.068-.995l.068-.005H13.5Zm0-3.555a.5.5 0 0 1 .068.995l-.068.005h-11a.5.5 0 0 1-.068-.996l.068-.004h11Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$W = [_hoisted_2$_];
+function render$u(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$14, [].concat(_hoisted_3$W));
+}
+var EditorMenuRight = {
+  render: render$u
+};
+var index$$ = function index215() {
+  return svg({
+    name: "EditorMenuRight",
+    component: EditorMenuRight
+  })();
+};
+var _hoisted_1$13 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 525.84 484",
+  "xml:space": "preserve"
+};
+var _hoisted_2$Z = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M390.801 0H134.559C60.238 0 0 60.641 0 134.559v214.882C0 423.762 60.641 484 134.559 484h256.722c74.32 0 134.559-60.641 134.559-134.559V134.559C525.762 60.641 465.121 0 390.801 0zM491.68 349.441h-.078c0 55.359-45.043 100.398-100.402 100.398H134.56c-55.36 0-100.399-45.039-100.399-100.398V134.559C34.161 79.199 79.2 34.16 134.56 34.16h256.32c55.602 0 100.801 45.039 100.801 100.399v214.882z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$V = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M410.879 152H332.32c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h78.559c9.441 0 17.121-7.679 17.121-17.117 0-9.441-7.68-17.121-17.121-17.121zM272.078 152H116.16c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h155.918c9.441 0 17.121-7.679 17.121-17.117 0-9.441-7.679-17.121-17.121-17.121zM271.078 288H115.16c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h155.918c9.441 0 17.121-7.68 17.121-17.117 0-9.441-7.679-17.121-17.121-17.121zM409.879 288H331.32c-9.441 0-17.121 7.68-17.121 17.121 0 9.438 7.68 17.117 17.121 17.117h78.559c9.441 0 17.121-7.68 17.121-17.117 0-9.441-7.68-17.121-17.121-17.121z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$v = [_hoisted_2$Z, _hoisted_3$V];
+function render$t(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$13, [].concat(_hoisted_4$v));
+}
+var Files = {
+  render: render$t
+};
+var index$_ = function index216() {
+  return svg({
+    name: "IconFiles",
+    component: Files
+  })();
+};
+var _hoisted_1$12 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$Y = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "filetext_svg__st0",
+    d: "M20.5 7.1 14 .5l-.3-.3s-.1 0-.1-.1h-.1c-.2 0-.5-.1-.7-.1H4.7C3.8 0 3 .8 3 1.7v20.6c0 .9.8 1.7 1.7 1.7h14.6c.9 0 1.7-.8 1.7-1.7v-14c0-.5-.2-.9-.5-1.2zM18 8h-5V3l5 5zm1 14H5V2h6v5.5c0 .9 1.7 2.5 2.6 2.5H19v12z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$U = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "filetext_svg__st0",
+    d: "M7 18h7c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.5-1 1-1zM7 12h5c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.5-1 1-1zM7 15h10c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.5-1 1-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$u = [_hoisted_2$Y, _hoisted_3$U];
+function render$s(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$12, [].concat(_hoisted_4$u));
+}
+var Filetext = {
+  render: render$s
+};
+var index$Z = function index217() {
+  return svg({
+    name: "IconFiletext",
+    component: Filetext
+  })();
+};
+var _hoisted_1$11 = {
+  viewBox: "0 0 24 24",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$X = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "m14.946 13.897.084.073 4.469 4.468.001-3.937a.75.75 0 0 1 .648-.743l.102-.007a.75.75 0 0 1 .743.648l.007.102v5.779l-.004.043.004-.073a.754.754 0 0 1-.301.601l.081-.07a.753.753 0 0 1-.428.212L20.25 21H14.5a.75.75 0 0 1-.102-1.493l.102-.007h3.939l-4.47-4.47a.75.75 0 0 1 .977-1.133ZM9.5 3a.75.75 0 0 1 .102 1.493L9.5 4.5H5.561l4.47 4.47a.75.75 0 0 1-.976 1.134l-.084-.073L4.499 5.56 4.5 9.501a.75.75 0 0 1-.648.743l-.102.007a.75.75 0 0 1-.743-.648L3 9.5V3.734c0-.02.002-.041.004-.061L3 3.75a.754.754 0 0 1 .304-.603l-.084.073a.753.753 0 0 1 .428-.213L3.75 3H9.5Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$T = [_hoisted_2$X];
+function render$r(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$11, [].concat(_hoisted_3$T));
+}
+var FullscreenLeft = {
+  render: render$r
+};
+var index$Y = function index218() {
+  return svg({
+    name: "IconFullscreenLeft",
+    component: FullscreenLeft
+  })();
+};
+var _hoisted_1$10 = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$W = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10Zm-2.66 4H5.66a.66.66 0 0 0-.653.562L5 5.66v4.68a.66.66 0 0 0 .562.653L5.66 11h4.68a.66.66 0 0 0 .653-.562L11 10.34V5.66a.66.66 0 0 0-.562-.653L10.34 5Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$S = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M10.34 5H5.66a.66.66 0 0 0-.653.562L5 5.66v4.68a.66.66 0 0 0 .562.653L5.66 11h4.68a.66.66 0 0 0 .653-.562L11 10.34V5.66a.66.66 0 0 0-.562-.653L10.34 5Z",
+    fill: "#FFF"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$t = [_hoisted_2$W, _hoisted_3$S];
+function render$q(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$10, [].concat(_hoisted_4$t));
+}
+var Halfselect = {
+  render: render$q
+};
+var index$X = function index219() {
+  return svg({
+    name: "IconHalfselect",
+    component: Halfselect
+  })();
+};
+var _hoisted_1$$ = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$V = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "help-circle_svg__st0",
+    d: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.3 19.3c-.9.9-2.1 1.7-3.3 2.2-1.3.5-2.6.8-4 .8s-2.7-.3-4-.8c-1.2-.5-2.3-1.3-3.3-2.2-.9-1-1.7-2.1-2.2-3.3-.5-1.3-.8-2.6-.8-4s.3-2.7.8-4C3 6.8 3.8 5.7 4.7 4.7 5.7 3.8 6.8 3 8 2.5c1.3-.5 2.6-.8 4-.8s2.7.3 4 .8c1.2.5 2.3 1.3 3.3 2.2.9 1 1.7 2.1 2.2 3.3.5 1.3.8 2.6.8 4s-.3 2.7-.8 4c-.5 1.2-1.3 2.3-2.2 3.3zm-7.4-3.7s-.1 0 0 0c-.5 0-.9-.5-.8-.9.1-1.2 1-2.1 1.9-3.1 1.5-1.5 1.5-2 1.6-2.5 0-.6-.2-1.2-.6-1.6-.5-.5-1.2-.8-1.9-.8-1.4 0-2.5 1.1-2.5 2.5 0 .5-.4.8-.8.8-.5 0-.8-.4-.8-.8-.2-1.2.2-2.2 1-3S10.9 5 12 5c1.2 0 2.3.5 3.1 1.3.8.8 1.1 1.8 1.1 2.9-.1 1.1-.4 1.9-2.1 3.6-.8.8-1.4 1.5-1.4 2 0 .4-.4.8-.8.8zM10.8 18c0 .4.2.7.5.9.3.2.7.2 1 0 .3-.2.5-.5.5-.9 0-.6-.5-1-1-1s-1 .5-1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$R = [_hoisted_2$V];
+function render$p(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$$, [].concat(_hoisted_3$R));
+}
+var HelpCircle = {
+  render: render$p
+};
+var index$W = function index220() {
+  return svg({
+    name: "IconHelpCircle",
+    component: HelpCircle
+  })();
+};
+var _hoisted_1$_ = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$U = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "help-solid_svg__st0",
+    d: "M12 24C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm4-15.6c.1-1.1-.3-2.2-1-3-.8-.9-1.9-1.4-3-1.4s-2.1.5-2.8 1.3C8.4 6.1 8 7.2 8 8.4c0 .5.4.9.8.9s.8-.4.8-.9c0-1.4 1.1-2.6 2.4-2.6.7 0 1.3.3 1.8.8.4.5.6 1.1.6 1.7 0 .5 0 1-1.5 2.6-.9 1-1.7 2-1.8 3.2 0 .5.3.9.7 1h.1c.4 0 .8-.3.8-.8.1-.6.6-1.2 1.4-2.1 1.5-1.8 1.8-2.7 1.9-3.8zM12 19c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$Q = [_hoisted_2$U];
+function render$o(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$_, [].concat(_hoisted_3$Q));
+}
+var HelpSolid = {
+  render: render$o
+};
+var index$V = function index221() {
+  return svg({
+    name: "IconHelpSolid",
+    component: HelpSolid
+  })();
+};
+var _hoisted_1$Z = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$T = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "info-circle_svg__st0",
+    d: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.1 19.1c-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2s2.7.3 3.9.8c1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2zM15 16h-2V9c0-.5-.5-1-1-1h-2c-.5 0-1 .5-1 1s.5 1 1 1h1v6H9c-.5 0-1 .5-1 1s.5 1 1 1h6c.5 0 1-.5 1-1s-.5-1-1-1zm-3-9c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$P = [_hoisted_2$T];
+function render$n(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$Z, [].concat(_hoisted_3$P));
+}
+var InfoCircle = {
+  render: render$n
+};
+var index$U = function index222() {
+  return svg({
+    name: "IconInfoCircle",
+    component: InfoCircle
+  })();
+};
+var _hoisted_1$Y = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$S = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "info-solid_svg__st0",
+    d: "M12 8h-2c-.6 0-1 .4-1 1s.4 1 1 1h1v6H9c-.6 0-1 .4-1 1s.4 1 1 1h6c.6 0 1-.4 1-1s-.4-1-1-1h-2V9c0-.6-.4-1-1-1zm0 16C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm0-17c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$O = [_hoisted_2$S];
+function render$m(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$Y, [].concat(_hoisted_3$O));
+}
+var InfoSolid = {
+  render: render$m
+};
+var index$T = function index223() {
+  return svg({
+    name: "IconInfoSolid",
+    component: InfoSolid
+  })();
+};
+var _hoisted_1$X = {
+  class: "loading_svg__icon",
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$R = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M511.883 287.998h-.362a31.999 31.999 0 0 1-31.66-31.977v-.361c0-.105.117-11.723.117-63.659v-96a31.999 31.999 0 1 1 64.001 0v96c0 52.586-.112 63.882-.12 64.338a32.003 32.003 0 0 1-31.976 31.66zm.115 672A31.999 31.999 0 0 1 480 928v-96.38c0-51.61-.112-63.174-.115-63.286s0-.242 0-.361a31.999 31.999 0 0 1 63.998-.314c0 .455.119 11.711.119 64.034v96.307a31.999 31.999 0 0 1-32.003 32zM330.9 363.021a31.898 31.898 0 0 1-22.866-9.612c-.076-.076-8.208-8.37-44.932-45.095l-67.903-67.885a31.999 31.999 0 0 1 45.257-45.253l67.881 67.882c37.183 37.183 45.09 45.253 45.412 45.578A31.999 31.999 0 0 1 330.9 363.02zm475.238 475.094a31.901 31.901 0 0 1-22.628-9.375l-67.885-67.88c-36.724-36.725-45.018-44.86-45.098-44.94a31.999 31.999 0 0 1 44.777-45.73c.325.318 8.395 8.23 45.578 45.412l67.881 67.882a31.999 31.999 0 0 1-22.625 54.63zm-582.137 0a31.901 31.901 0 0 0 22.628-9.375l67.882-67.88c36.724-36.725 45.022-44.86 45.097-44.94a31.999 31.999 0 0 0-44.776-45.73c-.325.318-8.395 8.23-45.578 45.412l-67.881 67.885A31.999 31.999 0 0 0 224 838.115zm31.949-294.056h-.362c-.104 0-11.722-.116-63.658-.116H95.943a31.999 31.999 0 1 1 0-64.002h95.997c52.586 0 63.882.112 64.337.12a31.999 31.999 0 0 1 31.66 31.977v.361a32.003 32.003 0 0 1-31.988 31.66zm511.99 0a32.003 32.003 0 0 1-31.995-31.667v-.361a31.999 31.999 0 0 1 31.66-31.97c.455 0 11.754-.12 64.34-.12h96.001a31.999 31.999 0 0 1 0 64.002h-96c-51.936 0-63.554.112-63.666.116h-.336zM693 363.018a31.999 31.999 0 0 1-22.863-54.382c.318-.325 8.23-8.395 45.412-45.578l67.882-67.885a31.999 31.999 0 1 1 45.263 45.256l-67.892 67.882c-31.02 31.023-41.644 41.76-44.241 44.393l-.697.723a31.909 31.909 0 0 1-22.864 9.59z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$N = [_hoisted_2$R];
+function render$l(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$X, [].concat(_hoisted_3$N));
+}
+var Loading = {
+  render: render$l
+};
+var index$S = function index224() {
+  return svg({
+    name: "IconLoading",
+    component: Loading
+  })();
+};
+var _hoisted_1$W = {
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$Q = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "m520 875.2-29.9-33.6c-3-3.4-74.3-83.8-146.7-185.2-42.9-60.2-77.3-115.2-102-163.6C208.2 427.9 192 375.3 192 332c0-44.3 8.7-87.2 25.8-127.7 16.5-39.1 40.2-74.1 70.3-104.2 30.1-30.1 65.2-53.8 104.2-70.3C432.8 12.7 475.7 4 520 4s87.2 8.7 127.7 25.8c39.1 16.5 74.1 40.2 104.2 70.3 30.1 30.1 53.8 65.2 70.3 104.2C839.3 244.8 848 287.7 848 332c0 43.3-16.2 95.9-49.4 160.8-24.8 48.4-59.1 103.4-102 163.6-72.4 101.4-143.7 181.8-146.7 185.2L520 875.2zM520 84c-136.7 0-248 111.3-248 248 0 32.3 17.7 111.3 136.2 277.3 42 59 84.5 111.5 111.8 144.1 27.3-32.7 69.8-85.2 111.8-144.1C750.3 443.3 768 364.3 768 332c0-136.7-111.3-248-248-248z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$M = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M520 476c-80 0-145-65-145-145s65-145 145-145 145 65 145 145-65 145-145 145zm0-210c-35.8 0-65 29.2-65 65s29.2 65 65 65 65-29.2 65-65-29.2-65-65-65zm-.4 758c-125.6 0-244.4-17.7-334.3-49.9-46.2-16.5-83.1-36.3-109.6-58.8C34.6 880.4 26 845 26 821.5c0-28.1 12.1-69.8 69.8-108.9 37.4-25.4 88.5-46.4 151.8-62.5l19.7 77.5c-53.5 13.6-97.3 31.3-126.6 51.2-22.1 15-34.7 30.5-34.7 42.7 0 19.5 32.9 50.9 106.4 77.2C293.9 927.9 403 944 519.7 944c116.7 0 225.8-16.1 307.3-45.3 73.5-26.3 106.4-57.8 106.4-77.2 0-12.2-12.7-27.7-34.7-42.7-29.3-19.9-73.1-37.6-126.6-51.2l19.7-77.5c63.3 16.1 114.3 37.1 151.8 62.5 57.7 39.1 69.8 80.8 69.8 108.9 0 23.5-8.6 58.9-49.8 93.8-26.5 22.5-63.4 42.2-109.6 58.8-90 32.2-208.7 49.9-334.4 49.9z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$s = [_hoisted_2$Q, _hoisted_3$M];
+function render$k(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$W, [].concat(_hoisted_4$s));
+}
+var MarkOn = {
+  render: render$k
+};
+var index$R = function index225() {
+  return svg({
+    name: "IconMarkOn",
+    component: MarkOn
+  })();
+};
+var _hoisted_1$V = {
+  viewBox: "0 0 24 24",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$P = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M20.25 13.75a.75.75 0 0 1 .102 1.493l-.102.007h-3.94l4.47 4.47a.75.75 0 0 1-.976 1.133l-.084-.073-4.471-4.47.001 3.94a.75.75 0 0 1-.648.742L14.5 21a.75.75 0 0 1-.743-.648l-.007-.102v-5.765c0-.02.002-.041.004-.061l-.004.077a.754.754 0 0 1 .304-.603l-.084.073a.753.753 0 0 1 .428-.213l.102-.007h5.75ZM9.5 3a.75.75 0 0 1 .744.648l.007.102V9.518c0 .02-.002.04-.004.06l.004-.077a.754.754 0 0 1-.301.601l.081-.07a.753.753 0 0 1-.428.212l-.102.007H3.75a.75.75 0 0 1-.102-1.493l.102-.007H7.69l-4.47-4.47a.75.75 0 0 1 .976-1.134l.084.073 4.47 4.469V3.75a.75.75 0 0 1 .65-.743L9.5 3Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$L = [_hoisted_2$P];
+function render$j(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$V, [].concat(_hoisted_3$L));
+}
+var MinscreenLeft = {
+  render: render$j
+};
+var index$Q = function index226() {
+  return svg({
+    name: "IconMinscreenLeft",
+    component: MinscreenLeft
+  })();
+};
+var _hoisted_1$U = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$O = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "minus-square_svg__st0",
+    d: "M3 1h18c.9 0 2 1.1 2 2v18c0 .9-1 2-2 2H3c-.9 0-2-1.1-2-2V3c0-.9 1.1-2 2-2zm0 2v18h18V3H3zm4 8h10c.6 0 1 .4 1 1s-.4 1-1 1H7c-.6 0-1-.4-1-1s.4-1 1-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$K = [_hoisted_2$O];
+function render$i(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$U, [].concat(_hoisted_3$K));
+}
+var MinusSquare = {
+  render: render$i
+};
+var index$P = function index227() {
+  return svg({
+    name: "IconMinusSquare",
+    component: MinusSquare
+  })();
+};
+var _hoisted_1$T = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$N = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "operationfaild-l_svg__st0",
+    d: "M16.8 7.2c-.3-.3-.9-.3-1.2 0L12 10.8 8.4 7.2c-.3-.3-.9-.3-1.2 0-.3.3-.3.9 0 1.2l3.6 3.6-3.6 3.6c-.3.3-.3.9 0 1.2.2.1.4.2.6.2s.4-.1.6-.2l3.6-3.6 3.6 3.6c.2.2.4.2.6.2.2 0 .4-.1.6-.2.3-.3.3-.9 0-1.2L13.2 12l3.6-3.6c.3-.3.3-.8 0-1.2zM12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.1 19.1c-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2s2.7.3 3.9.8c1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$J = [_hoisted_2$N];
+function render$h(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$T, [].concat(_hoisted_3$J));
+}
+var OperationfaildL = {
+  render: render$h
+};
+var index$O = function index228() {
+  return svg({
+    name: "IconOperationfaildL",
+    component: OperationfaildL
+  })();
+};
+var _hoisted_1$S = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$M = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "plus-square_svg__st0",
+    d: "M13 11h4c.6 0 1 .4 1 1s-.4 1-1 1h-4v4c0 .6-.4 1-1 1s-1-.4-1-1v-4H7c-.6 0-1-.4-1-1s.4-1 1-1h4V7c0-.6.4-1 1-1s1 .4 1 1v4zM3 1h18c.9 0 2 1.1 2 2v18c0 .9-1 2-2 2H3c-.9 0-2-1.1-2-2V3c0-.9 1.1-2 2-2zm0 2v18h18V3H3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$I = [_hoisted_2$M];
+function render$g(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$S, [].concat(_hoisted_3$I));
+}
+var PlusSquare = {
+  render: render$g
+};
+var index$N = function index229() {
+  return svg({
+    name: "IconPlusSquare",
+    component: PlusSquare
+  })();
+};
+var _hoisted_1$R = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$L = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1Zm0 1a6 6 0 1 0 0 12A6 6 0 0 0 8 2Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$H = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M3.757 12.243a6 6 0 1 0 8.486-8.486 6 6 0 0 0-8.486 8.486Z",
+    fill: "#FFF"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$r = [_hoisted_2$L, _hoisted_3$H];
+function render$f(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$R, [].concat(_hoisted_4$r));
+}
+var Radio$1 = {
+  render: render$f
+};
+var index$M = function index230() {
+  return svg({
+    name: "IconRadio",
+    component: Radio$1
+  })();
+};
+var _hoisted_1$Q = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$K = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M3.05 12.95a7 7 0 1 1 9.9-9.9 7 7 0 0 1-9.9 9.9Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$G = /* @__PURE__ */ createBaseVNode(
+  "circle",
+  {
+    fill: "#FFF",
+    cx: "8",
+    cy: "8",
+    r: "3"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$q = [_hoisted_2$K, _hoisted_3$G];
+function render$e(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$Q, [].concat(_hoisted_4$q));
+}
+var Radioselected = {
+  render: render$e
+};
+var index$L = function index231() {
+  return svg({
+    name: "IconRadioselected",
+    component: Radioselected
+  })();
+};
+var _hoisted_1$P = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$J = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "replace_svg__st0",
+    d: "m17.6 5-2.4-2.4c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l3.7 3.7c.2 0 .4.1.5.3.2.2.3.5.3.8 0 .3-.1.6-.3.8-.1.1-.3.2-.5.3l-3.7 3.7c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4L17.6 7H8c-2.8 0-5 2.2-5 5 0 .6-.4 1-1 1s-1-.4-1-1c0-3.9 3.1-7 7-7h9.6zM12 19H8h4zM6.5 18.9l2.4 2.4c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L3.8 19c-.2 0-.4-.1-.5-.3-.2-.2-.3-.5-.3-.8 0-.3.1-.6.3-.8.1-.1.3-.2.5-.3l3.7-3.7c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-2.4 2.4h9.6c2.8 0 5-2.2 5-5 0-.6.4-1 1-1s1 .4 1 1c0 3.9-3.1 7-7 7H6.5zm5.6-14h4-4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$F = [_hoisted_2$J];
+function render$d(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$P, [].concat(_hoisted_3$F));
+}
+var Replace = {
+  render: render$d
+};
+var index$K = function index232() {
+  return svg({
+    name: "IconReplace",
+    component: Replace
+  })();
+};
+var _hoisted_1$O = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$I = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "search_svg__st0",
+    d: "M22.8 21.6 18 16.8c1.3-1.6 2.1-3.6 2.1-5.7 0-5-4-9-9-9s-9 4-9 9 4 9 9 9c2.2 0 4.2-.8 5.7-2.1l4.8 4.8c.2.2.4.2.6.2s.4-.1.6-.2c.3-.4.3-.9 0-1.2zm-9.1-4.1c-.8.3-1.8.5-2.7.5s-1.9-.2-2.7-.5c-.8-.4-1.6-.9-2.2-1.5-.6-.6-1.1-1.4-1.5-2.2-.4-.9-.6-1.9-.6-2.8s.2-1.9.5-2.7c.4-.8.9-1.6 1.5-2.2S7.4 5 8.2 4.6c.9-.4 1.9-.6 2.8-.6s1.9.2 2.7.5c.8.4 1.6.9 2.2 1.5.6.6 1.1 1.4 1.5 2.2.4.9.5 1.8.5 2.7s-.2 1.9-.5 2.7c-.4.8-.9 1.6-1.5 2.2-.6.8-1.3 1.3-2.2 1.7z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$E = [_hoisted_2$I];
+function render$c(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$O, [].concat(_hoisted_3$E));
+}
+var Search = {
+  render: render$c
+};
+var index$J = function index233() {
+  return svg({
+    name: "IconSearch",
+    component: Search
+  })();
+};
+var _hoisted_1$N = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$H = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "setting_svg__st0",
+    d: "m22.9 10.3-.1-.6-1.8-.6c-.2-.5-.3-.9-.6-1.4l.9-1.7-.3-.5c-.7-.9-1.5-1.8-2.5-2.5l-.5-.3-1.7.8c-.4-.2-.9-.4-1.4-.6l-.6-1.8-.6-.1H12c-.5 0-1.1 0-1.7.2l-.6.1L9.1 3c-.5.2-1 .4-1.4.6L6 2.8l-.4.3c-1 .7-1.8 1.5-2.5 2.5l-.4.4.8 1.7c-.1.4-.3.9-.5 1.4l-1.8.6-.1.6C1 10.9 1 11.5 1 12s0 1.1.1 1.7l.1.6 1.8.6c.2.5.3.9.6 1.4L2.8 18l.3.5c.4.5.7.9 1.1 1.3.4.4.8.7 1.3 1.1l.5.3 1.7-.8c.4.2.9.4 1.4.6l.6 1.8.6.1c.6.1 1.2.1 1.7.1s1.1 0 1.7-.1l.6-.1.6-1.8c.5-.2.9-.3 1.4-.6l1.7.8.5-.3c.5-.4 1-.7 1.3-1.1.4-.4.8-.8 1.1-1.3l.3-.5-.8-1.7c.2-.4.4-.9.6-1.4l1.8-.6.1-.6c.1-.6.1-1.2.1-1.7s0-1.1-.1-1.7zM21 12c0 .3 0 .6-.1 1l-.8.3-.7.2-.2.7c-.1.4-.3.8-.5 1.2l-.4.7.7 1.5c-.2.3-.4.5-.7.7-.2.2-.5.4-.7.6l-1.5-.7-.7.4c-.4.2-.8.4-1.3.5l-.7.2-.2.7-.2.9c-.3 0-.7.1-1 .1-.3 0-.6 0-1-.1l-.3-.8-.2-.7-.7-.2c-.4-.1-.9-.3-1.2-.5l-.7-.4-.7.3-.8.4c-.3-.2-.5-.4-.7-.7-.2-.2-.4-.5-.7-.7l.7-1.5-.4-.7c-.2-.4-.4-.8-.5-1.2l-.2-.7-1.5-.5c-.1-.4-.1-.7-.1-1s0-.6.1-1l1.6-.5.2-.7c.1-.5.2-.9.5-1.3l.4-.7-.4-.6-.4-.8c.4-.5.9-1 1.4-1.4l1.5.7.7-.4c.4-.2.8-.4 1.2-.5l.7-.2.2-.7.3-.8c.4-.1.7-.1 1-.1.3 0 .6 0 1 .1l.5 1.6.7.2c.4.1.8.3 1.2.5l.7.4 1.5-.8c.5.4 1 .9 1.4 1.4l-.7 1.5.4.7c.2.4.4.8.5 1.3l.2.7.7.2.8.3c.1.3.1.6.1.9zm-9-4c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm1.4 5.4c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.4-.4-.6-.9-.6-1.4s.2-1 .6-1.4c.4-.4.9-.6 1.4-.6s1 .2 1.4.6c.4.4.6.9.6 1.4s-.2 1-.6 1.4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$D = [_hoisted_2$H];
+function render$b(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$N, [].concat(_hoisted_3$D));
+}
+var Setting = {
+  render: render$b
+};
+var index$I = function index234() {
+  return svg({
+    name: "IconSetting",
+    component: Setting
+  })();
+};
+var _hoisted_1$M = {
+  class: "success_svg__tiny-icon-success",
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 14 14",
+  style: {
+    "enable-background": "new 0 0 14 14"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$G = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M14 7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7 7 3.13 7 7z",
+    style: {
+      "fill-rule": "evenodd",
+      "clip-rule": "evenodd"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$C = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M10.02 5.61 6.74 8.89c-.17.17-.4.27-.64.27s-.47-.1-.64-.27L3.98 7.41a.463.463 0 0 1-.13-.32c0-.12.05-.23.13-.32.18-.18.46-.18.64 0L6.1 8.26l3.28-3.28c.17-.17.47-.17.64 0 .17.17.17.46 0 .63z",
+    style: {
+      "fill": "#fff"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$p = [_hoisted_2$G, _hoisted_3$C];
+function render$a(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$M, [].concat(_hoisted_4$p));
+}
+var Success = {
+  render: render$a
+};
+var index$H = function index235() {
+  return svg({
+    name: "IconSuccess",
+    component: Success
+  })();
+};
+var _hoisted_1$L = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$F = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "successful_svg__st0",
+    d: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.3 19.3c-.9.9-2.1 1.7-3.3 2.2-1.3.5-2.6.8-4 .8s-2.7-.3-4-.8c-1.2-.5-2.3-1.3-3.3-2.2-.9-1-1.7-2.1-2.2-3.3-.5-1.3-.8-2.6-.8-4s.3-2.7.8-4C3 6.8 3.8 5.7 4.7 4.7 5.7 3.8 6.8 3 8 2.5c1.3-.5 2.6-.8 4-.8s2.7.3 4 .8c1.2.5 2.3 1.3 3.3 2.2.9 1 1.7 2.1 2.2 3.3.5 1.3.8 2.6.8 4s-.3 2.7-.8 4c-.5 1.2-1.3 2.3-2.2 3.3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$B = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "successful_svg__st0",
+    d: "M10.6 16c-.2 0-.5-.1-.7-.3l-3.7-3.6c-.4-.3-.4-.9 0-1.3.4-.3.9-.3 1.3 0l3 2.9 5.8-5.6c.4-.3.9-.3 1.3 0s.4.9 0 1.3l-6.5 6.2c0 .3-.2.4-.5.4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$o = [_hoisted_2$F, _hoisted_3$B];
+function render$9(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$L, [].concat(_hoisted_4$o));
+}
+var Successful = {
+  render: render$9
+};
+var index$G = function index236() {
+  return svg({
+    name: "IconSuccessful",
+    component: Successful
+  })();
+};
+var _hoisted_1$K = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$E = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "user_svg__st0",
+    d: "M19.2 18.6c-.4-.9-1-1.8-1.7-2.5S16 14.8 15 14.4c-.3-.1-.6-.2-1-.3.9-.3 1.8-.8 2.5-1.6 1.2-1.2 1.9-2.8 1.9-4.6s-.7-3.3-1.9-4.6c-1.2-1.2-2.8-1.9-4.6-1.9s-3.3.7-4.6 1.9C6.2 4.7 5.5 6.3 5.5 8s.7 3.3 1.9 4.6c.7.7 1.6 1.2 2.5 1.6-.3.1-.7.2-1 .3-.9.4-1.8 1-2.5 1.7s-1.3 1.6-1.7 2.5c-.4 1-.6 2-.6 3 0 .5.4.8.8.8.5 0 .8-.4.8-.8 0-1.6.6-3.2 1.8-4.3s2.7-1.8 4.3-1.8 3.2.6 4.3 1.8c1.2 1.2 1.8 2.7 1.8 4.3 0 .5.4.8.8.8.5 0 .8-.4.8-.8.3-1.1.1-2.1-.3-3.1zM7.2 8c0-2.6 2.1-4.8 4.8-4.8s4.8 2.1 4.8 4.8-2.1 4.8-4.8 4.8S7.2 10.6 7.2 8z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$A = [_hoisted_2$E];
+function render$8(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$K, [].concat(_hoisted_3$A));
+}
+var User = {
+  render: render$8
+};
+var index$F = function index237() {
+  return svg({
+    name: "IconUser",
+    component: User
+  })();
+};
+var _hoisted_1$J = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$D = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "warning_svg__st0",
+    d: "M12 24C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12zm0-19c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1s1-.4 1-1V6c0-.6-.4-1-1-1zm0 13c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$z = [_hoisted_2$D];
+function render$7(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$J, [].concat(_hoisted_3$z));
+}
+var Warning = {
+  render: render$7
+};
+var index$E = function index238() {
+  return svg({
+    name: "IconWarning",
+    component: Warning
+  })();
+};
+var _hoisted_1$I = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$C = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "writing_svg__st0",
+    d: "m14.6 6.6-7.5 7.6c-.3.3-.3.7 0 1 .1.1.4.2.5.2.1 0 .4-.1.5-.2l7.5-7.5c.3-.3.3-.7 0-1-.3-.3-.7-.3-1-.1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$y = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "writing_svg__st0",
+    d: "M10.7 21 22 9.5c.4-.4.6-.9.6-1.4 0-.6-.2-1.1-.6-1.4l-4.2-4.3c-.8-.8-2.1-.8-2.8 0L2.7 14.8l-.1.1c-.4.4-.6.9-.6 1.5v4.3c0 .6.2 1.1.6 1.4s.9.6 1.4.6h4.2c.6 0 1.1-.2 1.4-.6l.1-.1 1-1c-.1.1-.1.1 0 0 0 .1 0 0 0 0zm7-12.3c-.3-.3-.7-.3-1 0l-8.5 8.5-3-3 9.4-9.5 5 5-9.6 9.4-1-1 8.5-8.5c.5-.2.5-.7.2-.9zm-.9-5.4L21 7.5c.1.1.1.3.1.4s0 .3-.1.5l-.4.4-5-5 .4-.5c.2-.2.5-.2.8 0zM8.6 20.7c-.1.1-.3.2-.4.2H4c-.1 0-.3-.1-.4-.1-.1-.1-.1-.3-.1-.4v-4.2c0-.2.1-.4.2-.4l.1-.1v-.1l.4-.4 5 5-.4.4-.2.1zM21.9 21H12c-.4 0-.7.4-.7 1s.3 1 .7 1h9.9c.4 0 .7-.4.7-1s-.3-1-.7-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$n = [_hoisted_2$C, _hoisted_3$y];
+function render$6(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$I, [].concat(_hoisted_4$n));
+}
+var Writing = {
+  render: render$6
+};
+var index$D = function index239() {
+  return svg({
+    name: "IconWriting",
+    component: Writing
+  })();
+};
+var _hoisted_1$H = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$B = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "yes_svg__st0",
+    d: "m9.9 15.6 9.4-9.4c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-10 10.1c-.4.4-1 .4-1.4 0-.1 0-.1-.1-.2-.1l-5.8-5.8c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.2 5.2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$x = [_hoisted_2$B];
+function render$5(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$H, [].concat(_hoisted_3$x));
+}
+var Yes = {
+  render: render$5
+};
+var index$C = function index240() {
+  return svg({
+    name: "IconYes",
+    component: Yes
+  })();
+};
+var _hoisted_1$G = {
+  viewBox: "0 0 20 20",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$A = /* @__PURE__ */ createBaseVNode(
+  "g",
+  {
+    "fill-rule": "nonzero"
+  },
+  [/* @__PURE__ */ createBaseVNode("path", {
+    d: "M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Z",
+    fill: "#FFF"
+  }), /* @__PURE__ */ createBaseVNode("path", {
+    d: "M10 1a9 9 0 1 1 0 18 9 9 0 0 1 0-18Zm0 1a8 8 0 1 0 0 16 8 8 0 0 0 0-16Z"
+  })],
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$w = [_hoisted_2$A];
+function render$4(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$G, [].concat(_hoisted_3$w));
+}
+var MobileRadio = {
+  render: render$4
+};
+var index$B = function index241() {
+  return svg({
+    name: "IconMobileRadio",
+    component: MobileRadio
+  })();
+};
+var _hoisted_1$F = {
+  viewBox: "0 0 20 20",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$z = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M16.364 3.636A9 9 0 1 1 3.636 16.364 9 9 0 0 1 16.364 3.636ZM10 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z",
+    "fill-rule": "evenodd"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$v = [_hoisted_2$z];
+function render$3(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$F, [].concat(_hoisted_3$v));
+}
+var MobileRadioSelected = {
+  render: render$3
+};
+var index$A = function index242() {
+  return svg({
+    name: "IconMobileRadioSelected",
+    component: MobileRadioSelected
+  })();
+};
+var _hoisted_1$E = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 16 16",
+  style: {
+    "enable-background": "new 0 0 16 16"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$y = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "m5.84 8.78-.09-.1a1.06 1.06 0 0 1 .09-1.46L9.6 3.65l.07-.06c.21-.13.49-.12.67.06.21.2.21.51 0 .71L6.58 7.93l-.02.03c-.02.04-.01.08.02.11l3.76 3.57.06.07c.14.19.12.46-.06.64-.21.2-.54.2-.74 0L5.84 8.78z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$u = [_hoisted_2$y];
+function render$2(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$E, [].concat(_hoisted_3$u));
+}
+var LeftWardArrow = {
+  render: render$2
+};
+var index$z = function index243() {
+  return svg({
+    name: "IconLeftWardArrow",
+    component: LeftWardArrow
+  })();
+};
+var _hoisted_1$D = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 16 16"
+};
+var _hoisted_2$x = /* @__PURE__ */ createBaseVNode(
+  "g",
+  {
+    filter: "url(#finish_svg__filter-1)",
+    "fill-rule": "evenodd"
+  },
+  [/* @__PURE__ */ createBaseVNode("path", {
+    d: "M14.477 2.962a.75.75 0 0 1 1.12.993l-.074.083-9.26 9a.75.75 0 0 1-.954.076l-.092-.076-4.74-4.606a.75.75 0 0 1 .96-1.148l.086.072 4.216 4.098 8.738-8.492Z"
+  })],
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$t = [_hoisted_2$x];
+function render$1(_ctx2, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$D, [].concat(_hoisted_3$t));
+}
+var Finish = {
+  render: render$1
+};
+var index$y = svg({
+  name: "IconFinish",
+  component: Finish
+});
+const handleClick$3 = ({ emit, props: props2, state }) => (event2) => {
+  const urlHref = xss.filterUrl(props2.href);
+  if (urlHref) {
+    location.href = urlHref;
+  } else if (props2.nativeType === "button" && props2.resetTime > 0) {
+    state.disabled = true;
+    state.timer = window.setTimeout(() => {
+      state.disabled = false;
+    }, props2.resetTime);
+  }
+  emit("click", event2);
+};
+const clearTimer = (state) => () => clearTimeout(state.timer);
+const api$l = ["state", "handleClick"];
+const renderless$l = (props2, { computed: computed2, onBeforeUnmount: onBeforeUnmount2, reactive, watch: watch2, inject: inject2 }, { emit, parent: parent3 }) => {
+  parent3.tinyForm = parent3.tinyForm || inject2("form", null);
+  const state = reactive({
+    timer: 0,
+    disabled: props2.disabled,
+    plain: computed2(() => props2.plain || (parent3.buttonGroup || {}).plain),
+    formDisabled: computed2(() => (parent3.tinyForm || {}).disabled),
+    buttonDisabled: computed2(
+      () => props2.disabled || state.disabled || (parent3.buttonGroup || {}).disabled || state.formDisabled
+    )
+  });
+  watch2(
+    () => props2.disabled,
+    (value) => {
+      state.disabled = value;
+    },
+    { immediate: true }
+  );
+  const api2 = {
+    state,
+    clearTimer: clearTimer(state),
+    handleClick: handleClick$3({ emit, props: props2, state })
+  };
+  onBeforeUnmount2(api2.clearTimer);
+  return api2;
+};
+const index$x = "";
+function _createForOfIteratorHelperLoose$C(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$C(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$C(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$C(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$C(o2, minLen);
+}
+function _arrayLikeToArray$C(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$D = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$C(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$Q = defineComponent({
+  emits: ["click", "hook-updated"],
+  props: [].concat(props, ["type", "text", "size", "icon", "resetTime", "nativeType", "loading", "disabled", "plain", "autofocus", "round", "circle", "tabindex", "customClass", "ghost"]),
+  components: {
+    IconLoading: index$S()
+  },
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$l,
+      api: api$l
+    });
+  }
+});
+var _hoisted_1$C = ["disabled", "autofocus", "type", "tabindex"];
+function _sfc_render$E(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_loading = resolveComponent("icon-loading");
+  return openBlock(), createElementBlock("button", mergeProps({
+    class: ["tiny-button", [_ctx2.type ? "tiny-button--" + _ctx2.type : "", _ctx2.size ? "tiny-button--" + _ctx2.size : "", {
+      "is-disabled": _ctx2.state.buttonDisabled,
+      "is-loading": _ctx2.loading,
+      "is-plain": _ctx2.state.plain,
+      "is-ghost": _ctx2.ghost,
+      "is-round": _ctx2.round,
+      "is-circle": _ctx2.circle,
+      "is-icon": _ctx2.icon && !_ctx2.loading && (_ctx2.text || _ctx2.slots.default),
+      "is-only-icon": _ctx2.icon && !_ctx2.loading && !(_ctx2.text || _ctx2.slots.default)
+    }]],
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx2.handleClick && _ctx2.handleClick.apply(_ctx2, arguments);
+    }),
+    disabled: _ctx2.state.buttonDisabled || _ctx2.loading,
+    autofocus: _ctx2.autofocus,
+    type: _ctx2.nativeType,
+    tabindex: _ctx2.tabindex
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style", "title", "id"], true)), [_ctx2.loading ? (openBlock(), createBlock(_component_icon_loading, {
+    key: 0,
+    class: "tiny-icon-loading tiny-svg-size"
+  })) : createCommentVNode("v-if", true), _ctx2.icon && !_ctx2.loading ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.icon), {
+    key: 1,
+    class: normalizeClass({
+      "is-text": _ctx2.text || _ctx2.slots.default
+    })
+  }, null, 8, ["class"])) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {}, function() {
+    return [createBaseVNode(
+      "span",
+      null,
+      toDisplayString(_ctx2.text),
+      1
+      /* TEXT */
+    )];
+  })], 16, _hoisted_1$C);
+}
+var pc$g = /* @__PURE__ */ _export_sfc$D(_sfc_main$Q, [["render", _sfc_render$E]]);
+const index$w = "";
+function _createForOfIteratorHelperLoose$B(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$B(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$B(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$B(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$B(o2, minLen);
+}
+function _arrayLikeToArray$B(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$C = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$B(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$P = defineComponent({
+  emits: ["hook-updated", "click"],
+  props: [].concat(props, ["type", "text", "size", "icon", "resetTime", "nativeType", "loading", "disabled", "customClass"]),
+  components: {},
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$l,
+      api: api$l
+    });
+  }
+});
+var _hoisted_1$B = ["disabled", "type"];
+var _hoisted_2$w = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "tiny-mobile-button-loading-inner"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$s = [_hoisted_2$w];
+function _sfc_render$D(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("button", mergeProps({
+    class: ["tiny-mobile-button", [_ctx2.type ? "tiny-mobile-button--" + _ctx2.type : "", _ctx2.size ? "tiny-mobile-button--" + _ctx2.size : "", {
+      "is-disabled": _ctx2.state.buttonDisabled,
+      "is-loading": _ctx2.loading
+    }]],
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx2.handleClick && _ctx2.handleClick.apply(_ctx2, arguments);
+    }),
+    disabled: _ctx2.state.buttonDisabled || _ctx2.loading,
+    type: _ctx2.nativeType
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style"], true)), [_ctx2.loading ? (openBlock(), createElementBlock(
+    "div",
+    {
+      key: 0,
+      class: normalizeClass(["tiny-mobile-button-loading", "tiny-mobile-button-loading-" + (_ctx2.type === "primary" ? "white" : "black")])
+    },
+    _hoisted_3$s,
+    2
+    /* CLASS */
+  )) : createCommentVNode("v-if", true), _ctx2.icon && !_ctx2.loading ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.icon), {
+    key: 1,
+    class: normalizeClass(["tiny-icon", "is-icon", _ctx2.text ? "small" : null])
+  }, null, 8, ["class"])) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {}, function() {
+    return [createBaseVNode(
+      "span",
+      {
+        style: normalizeStyle$2({
+          marginLeft: _ctx2.text && (_ctx2.icon || _ctx2.loading) ? "4px" : 0
+        })
+      },
+      toDisplayString(_ctx2.text),
+      5
+      /* TEXT, STYLE */
+    )];
+  })], 16, _hoisted_1$B);
+}
+var mobile$9 = /* @__PURE__ */ _export_sfc$C(_sfc_main$P, [["render", _sfc_render$D]]);
+function _createForOfIteratorHelperLoose$A(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$A(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$A(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$A(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$A(o2, minLen);
+}
+function _arrayLikeToArray$A(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$B = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$A(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var classes$5 = {
+  "button": "inline-block text-center overflow-hidden overflow-ellipsis whitespace-nowrap transition-button duration-300 delay-[0ms] active:transition-all active:scale-[0.95] active:ease-[cubic-bezier(0.33,0,0.67,1)]",
+  "button-base-width": "sm:max-w-[theme(spacing.36)]",
+  "size-default": "h-10 text-sm sm:h-7",
+  "size-medium": "h-10 text-sm sm:h-8",
+  "size-small": "h-8 text-sm sm:h-7",
+  "size-mini": "h-7 sm:h-6 sm:text-xs",
+  "type-default": "text-color-text-primary border-color-border hover:border-color-border-hover active:border-color-border-hover sm:cursor-pointer",
+  "type-primary": "text-color-text-inverse border-color-brand bg-color-brand hover:border-color-brand-hover hover:bg-color-brand-hover active:border-color-brand-active active:bg-color-brand-active sm:cursor-pointer",
+  "type-success": "text-color-text-inverse border-color-success bg-color-success hover:border-color-success-hover hover:bg-color-success-hover active:border-color-success-active active:bg-color-success-active sm:cursor-pointer",
+  "type-info": "text-color-text-inverse border-color-info-secondary bg-color-info-secondary hover:border-color-info-secondary-hover hover:bg-color-info-secondary-hover active:border-color-info-secondary-active active:bg-color-info-secondary-active sm:cursor-pointer",
+  "type-warning": "text-color-text-inverse border-color-warning bg-color-warning hover:border-color-warning-hover hover:bg-color-warning-hover active:border-color-warning-active active:bg-color-warning-active sm:cursor-pointer",
+  "type-danger": "text-color-text-inverse border-color-error bg-color-error hover:border-color-error-hover hover:bg-color-error-hover active:border-color-error-active active:bg-color-error-active sm:cursor-pointer",
+  "type-text": "border-none bg-transparent cursor-pointer text-color-text-placeholder active:text-color-text-primary sm:hover:text-color-text-primary sm:active:!text-color-brand-active",
+  "type-default-disabled": "text-color-text-disabled bg-color-bg-3 border-transparent hover:cursor-not-allowed",
+  "type-primary-disabled": "text-color-text-inverse bg-color-brand-disabled border-transparent hover:cursor-not-allowed",
+  "type-success-disabled": "text-color-text-inverse bg-color-success-disabled border-transparent hover:cursor-not-allowed",
+  "type-info-disabled": "text-color-text-inverse bg-color-info-secondary-disabled border-transparent hover:cursor-not-allowed",
+  "type-warning-disabled": "text-color-text-inverse bg-color-alert-disabled border-transparent hover:cursor-not-allowed",
+  "type-danger-disabled": "text-color-text-inverse bg-color-error-disabled border-transparent hover:cursor-not-allowed",
+  "type-text-disabled": "text-color-text-disabled hover:cursor-not-allowed",
+  "type-default-plain": "text-color-text-primary border-color-border hover:border-color-border-hover active:border-color-border-hover sm:cursor-pointer",
+  "type-primary-plain": "text-color-brand border-color-brand hover:text-color-brand-hover hover:border-color-brand-hover active:text-color-brand-active active:border-color-brand-active bg-color-bg-1 sm:cursor-pointer",
+  "type-success-plain": "text-color-success border-color-success hover:text-color-success-hover hover:border-color-success-hover active:text-color-success-active active:border-color-success-active bg-color-bg-1 sm:cursor-pointer",
+  "type-info-plain": "text-color-info-secondary border-color-info-secondary hover:text-color-info-secondary-hover hover:border-color-info-secondary-hover active:text-color-info-secondary-active active:border-color-info-secondary-active bg-color-bg-1 sm:cursor-pointer",
+  "type-warning-plain": "text-color-warning border-color-warning hover:text-color-warning-hover hover:border-color-warning-hover active:text-color-warning-active active:border-color-warning-active bg-color-bg-1 sm:cursor-pointer",
+  "type-danger-plain": "text-color-error border-color-error hover:text-color-error-hover hover:border-color-error-hover active:text-color-error-active active:border-color-error-active bg-color-bg-1 sm:cursor-pointer",
+  "type-text-plain": "text-color-brand hover:text-color-brand-hover active:text-color-brand-active",
+  "type-default-plain-disabled": "text-color-text-disabled bg-color-bg-1 border-color-text-disabled hover:cursor-not-allowed",
+  "type-primary-plain-disabled": "text-color-brand-disabled bg-color-bg-1 border-color-brand-disabled hover:cursor-not-allowed",
+  "type-success-plain-disabled": "text-color-success-disabled bg-color-bg-1 border-color-success-disabled hover:cursor-not-allowed",
+  "type-info-plain-disabled": "text-color-info-secondary-disabled bg-color-bg-1 border-color-info-secondary-disabled hover:cursor-not-allowed",
+  "type-warning-plain-disabled": "text-color-alert-disabled bg-color-bg-1 border-color-alert-disabled hover:cursor-not-allowed",
+  "type-danger-plain-disabled": "text-color-error-disabled bg-color-bg-1 border-color-error-disabled hover:cursor-not-allowed",
+  "type-text-plain-disabled": "text-color-text-disabled hover:cursor-not-allowed",
+  "no-round": "rounded",
+  "is-round": "rounded-full",
+  "is-border": "border-0.5 sm:border",
+  "no-circle": "sm:min-w-[theme(spacing.18)] pl-3 pr-3",
+  "is-circle": "sm:min-w-[theme(spacing.18)] sm:rounded-full sm:pl-2 sm:pr-2",
+  "button-icon": "-mt-0.5 sm:text-base fill-current",
+  "button-icon-default": "text-color-icon-primary hover:text-color-icon-hover active:text-color-icon-active",
+  "button-icon-disabled": "text-color-icon-disabled hover:cursor-not-allowed",
+  "loading-svg": "animate-spin-2 mr-1 fill-current -left-0.5 -right-0.5 -top-0.5 -bottom-0.5",
+  "button-link": "text-color-link hover:text-color-link-hover active:color-link-hover active:hover:text-color-link-hover sm:hover:text-color-link-hover",
+  "button-banner": " w-[calc(100%-theme(spacing.8))] mx-4"
+};
+var _sfc_main$O = defineComponent({
+  emits: ["click", "hook-updated"],
+  props: [].concat(props, ["type", "text", "size", "icon", "resetTime", "nativeType", "loading", "disabled", "plain", "autofocus", "round", "circle", "tabindex", "href", "customClass", "banner"]),
+  components: {
+    IconLoading: index$S()
+  },
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$l,
+      api: api$l,
+      classes: classes$5
+    });
+  }
+});
+var _hoisted_1$A = ["disabled", "autofocus", "type", "tabindex"];
+function _sfc_render$C(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_loading = resolveComponent("icon-loading");
+  return openBlock(), createElementBlock("button", mergeProps({
+    "data-tag": "tiny-button",
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx2.handleClick && _ctx2.handleClick.apply(_ctx2, arguments);
+    }),
+    disabled: _ctx2.state.buttonDisabled || _ctx2.loading,
+    autofocus: _ctx2.autofocus,
+    type: _ctx2.nativeType,
+    class: _ctx2.m(_ctx2.gcls("button"), _ctx2.gcls(_ctx2.banner ? "button-banner" : "button-base-width"), _ctx2.gcls("size-" + (_ctx2.size || "default")), _ctx2.gcls("type-" + (_ctx2.type || "default") + (_ctx2.icon ? "-icon" : _ctx2.state.plain ? "-plain" : "") + (_ctx2.state.buttonDisabled ? "-disabled" : "")), _ctx2.gcls(_ctx2.round ? "is-round" : "no-round"), _ctx2.gcls(_ctx2.circle ? "is-circle" : "no-circle"), _ctx2.gcls({
+      "is-border": _ctx2.circle || !(_ctx2.type === "text" || _ctx2.icon)
+    }), _ctx2.gcls({
+      "button-link": _ctx2.href
+    }), _ctx2.customClass),
+    tabindex: _ctx2.tabindex
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style", "id"], true)), [_ctx2.loading ? (openBlock(), createBlock(_component_icon_loading, {
+    key: 0,
+    class: normalizeClass(_ctx2.gcls("loading-svg"))
+  }, null, 8, ["class"])) : createCommentVNode("v-if", true), _ctx2.icon && !_ctx2.loading ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.icon), {
+    key: 1,
+    class: normalizeClass([_ctx2.gcls("button-icon"), _ctx2.gcls("button-icon-" + (_ctx2.state.buttonDisabled ? "disabled" : "default"))])
+  }, null, 8, ["class"])) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {}, function() {
+    return [createBaseVNode(
+      "span",
+      null,
+      toDisplayString(_ctx2.text),
+      1
+      /* TEXT */
+    )];
+  })], 16, _hoisted_1$A);
+}
+var mobileFirst$a = /* @__PURE__ */ _export_sfc$B(_sfc_main$O, [["render", _sfc_render$C]]);
+function _extends$q() {
+  _extends$q = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$q.apply(this, arguments);
+}
+var template$j = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$g;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$9;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$a;
+  }
+  return pc$g;
+};
+var buttonProps = _extends$q({}, $props, {
+  type: {
+    type: String,
+    default: "default"
+  },
+  tabindex: {
+    type: String,
+    default: "0"
+  },
+  icon: {
+    type: [Object, String],
+    default: ""
+  },
+  text: {
+    type: String,
+    default: ""
+  },
+  resetTime: {
+    type: Number,
+    default: 1e3
+  },
+  nativeType: {
+    type: String,
+    default: "button"
+  },
+  href: {
+    type: String,
+    default: ""
+  },
+  size: {
+    type: String,
+    default: "",
+    validator: function validator2(val) {
+      return ["large", "medium", "small", "mini", ""].includes(val);
+    }
+  },
+  round: Boolean,
+  plain: Boolean,
+  circle: Boolean,
+  loading: Boolean,
+  disabled: Boolean,
+  autofocus: Boolean,
+  customClass: {
+    type: String,
+    default: ""
+  },
+  banner: {
+    type: Boolean,
+    default: false
+  },
+  ghost: Boolean
+});
+var Button = defineComponent({
+  name: $prefix + "Button",
+  inject: {
+    buttonGroup: {
+      default: ""
+    }
+  },
+  props: buttonProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$j
+    });
+  }
+});
+var version$m = "3.16.0";
+Button.install = function(Vue) {
+  Vue.component(Button.name, Button);
+};
+Button.version = version$m;
+const processTrigger = ({
+  api: api2,
+  state,
+  props: props2,
+  nextTick: nextTick2
+}) => {
+  const { referenceElm, popperElm } = state;
+  if (props2.trigger === "click") {
+    on(referenceElm, "click", api2.doToggle);
+    on(document, "click", api2.handleDocumentClick);
+  } else if (props2.trigger === "hover") {
+    on(referenceElm, "mouseenter", api2.handleMouseEnter);
+    on(popperElm, "mouseenter", api2.handleMouseEnter);
+    on(referenceElm, "mouseleave", api2.handleMouseLeave);
+    on(popperElm, "mouseleave", api2.handleMouseLeave);
+  } else if (props2.trigger === "focus") {
+    if (referenceElm.querySelector("input, textarea")) {
+      on(referenceElm, "focusin", api2.doShow);
+      on(referenceElm, "focusout", api2.doClose);
+    } else {
+      on(referenceElm, "mousedown", api2.doShow);
+      on(referenceElm, "mouseup", api2.doClose);
+    }
+  } else if (props2.trigger === "manual") {
+    if (props2.modelValue) {
+      nextTick2(api2.doShow);
+    }
+  }
+};
+const mounted$3 = ({
+  api: api2,
+  state,
+  constants,
+  props: props2,
+  nextTick: nextTick2,
+  mode
+}) => () => {
+  state.mounted = true;
+  const { referenceElm, popperElm, tooltipId } = state;
+  if (referenceElm) {
+    if (mode !== "mobile-first") {
+      addClass(referenceElm, `${constants.IDPREFIX}__reference`);
+    }
+    referenceElm.setAttribute("aria-describedby", tooltipId);
+    referenceElm.setAttribute("tabindex", props2.tabindex.toString());
+    popperElm.setAttribute("tabindex", 0);
+    if (props2.trigger !== "click") {
+      on(referenceElm, "focusin", () => {
+        api2.handleFocus();
+        const instance = referenceElm.__vue__;
+        if (instance && typeof instance.focus === "function") {
+          instance.focus();
+        }
+      });
+      on(popperElm, "focusin", api2.handleFocus);
+      on(referenceElm, "focusout", api2.handleBlur);
+      on(popperElm, "focusout", api2.handleBlur);
+    }
+    on(referenceElm, "keydown", api2.handleKeydown);
+    on(referenceElm, "click", api2.handleClick);
+  }
+  processTrigger({ api: api2, state, props: props2, nextTick: nextTick2 });
+};
+const doToggle = (state) => () => {
+  state.showPopper = !state.showPopper;
+};
+const doShow = (state) => () => {
+  state.showPopper = true;
+};
+const doClose = (state) => () => {
+  state.showPopper = false;
+};
+const handleFocus$2 = ({ props: props2, state }) => () => {
+  addClass(state.referenceElm, "focusing");
+  if (props2.trigger === "click" || props2.trigger === "focus") {
+    state.showPopper = true;
+  }
+};
+const handleClick$2 = (state) => (event2) => {
+  const popperElm = state.popperElm;
+  if ((event2 == null ? void 0 : event2.target) && popperElm) {
+    state.webCompEventTarget = event2.target;
+  }
+  removeClass(state.referenceElm, "focusing");
+};
+const handleBlur$2 = ({ props: props2, state }) => () => {
+  removeClass(state.referenceElm, "focusing");
+  if (props2.trigger === "click" || props2.trigger === "focus") {
+    state.showPopper = false;
+  }
+};
+const handleMouseEnter = ({ props: props2, state }) => () => {
+  clearTimeout(state.timer);
+  if (props2.openDelay) {
+    state.timer = window.setTimeout(() => {
+      state.showPopper = true;
+    }, props2.openDelay);
+  } else {
+    state.showPopper = true;
+  }
+};
+const handleKeydown$1 = ({ api: api2, props: props2 }) => (event2) => {
+  if (event2.keyCode === KEY_CODE.Escape && props2.trigger !== "manual") {
+    api2.doClose();
+  }
+};
+const handleMouseLeave = ({ props: props2, state }) => () => {
+  clearTimeout(state.timer);
+  if (props2.closeDelay) {
+    state.timer = window.setTimeout(() => {
+      state.showPopper = false;
+    }, props2.closeDelay);
+  } else {
+    state.showPopper = false;
+  }
+};
+const handleDocumentClick$2 = ({ vm, state }) => (event2) => {
+  const reference = state.referenceElm;
+  const popperElm = state.popperElm;
+  const $el = vm.$refs.root;
+  let target = event2.target;
+  if ((target == null ? void 0 : target.shadowRoot) && popperElm) {
+    target = state.webCompEventTarget;
+  }
+  if (!$el || !reference || $el.contains(target) || reference.contains(target) || !popperElm || popperElm.contains(target)) {
+    return false;
+  } else {
+    state.showPopper = false;
+    return true;
+  }
+};
+const handleAfterEnter = (emit) => () => {
+  emit("after-enter");
+};
+const handleAfterLeave = (emit) => () => {
+  emit("after-leave");
+};
+const handleItemClick = ({ emit, state }) => (item) => {
+  state.showPopper = false;
+  emit("item-click", item);
+};
+const cleanup = ({ props: props2, state }) => () => {
+  if (props2.openDelay) {
+    clearTimeout(state.timer);
+  }
+};
+const destroyed$1 = ({ state, api: api2 }) => () => {
+  const { referenceElm, popperElm } = state;
+  off(referenceElm, "click", api2.doToggle);
+  off(referenceElm, "mouseup", api2.doClose);
+  off(referenceElm, "mousedown", api2.doShow);
+  off(referenceElm, "focusin", api2.doShow);
+  off(referenceElm, "focusout", api2.doClose);
+  off(referenceElm, "mouseleave", api2.handleMouseLeave);
+  off(referenceElm, "mouseenter", api2.handleMouseEnter);
+  off(document, "click", api2.handleDocumentClick);
+  off(popperElm, "focusin", api2.handleFocus);
+  off(popperElm, "focusout", api2.handleBlur);
+  off(popperElm, "mouseenter", api2.handleMouseEnter);
+  off(popperElm, "mouseleave", api2.handleMouseLeave);
+  off(referenceElm, "click", api2.handleClick);
+  off(referenceElm, "focusout", api2.handleBlur);
+  off(referenceElm, "keydown", api2.handleKeydown);
+};
+const computedTooltipId = (constants) => () => `${constants.IDPREFIX}-${guid$1("", 4)}`;
+const wrapMounted$1 = ({ api: api2, props: props2, vm, state }) => () => {
+  const { reference, popper, wrapper } = vm.$refs;
+  const referenceElm = state.referenceElm = props2.reference || reference;
+  state.popperElm = state.popperElm || popper;
+  if (!referenceElm && wrapper.children) {
+    state.referenceElm = wrapper.children[0] || wrapper;
+  }
+  state.referenceElm && api2.mounted();
+};
+const observeCallback$1 = ({ state, vm }) => (mutationsList) => {
+  for (let mutation of mutationsList) {
+    if (mutation.type === "attributes" && mutation.attributeName === "x-placement") {
+      state.xPlacement = vm.$refs.popper.getAttribute("x-placement") || "bottom";
+    }
+  }
+};
+const isServer$3 = typeof window === "undefined";
+const instances$2 = {};
+const classes$4 = {
+  leave: "v-modal-leave",
+  enter: "v-modal-enter",
+  modal: "v-modal"
+};
+const removeStack = (modalStack, id) => {
+  for (let i2 = modalStack.length - 1; i2 >= 0; i2--) {
+    if (modalStack[i2].id === id) {
+      modalStack.splice(i2, 1);
+      break;
+    }
+  }
+};
+let getModal;
+const PopupManager = {
+  step: 2,
+  zIndex: 2e3,
+  globalScroll: false,
+  // 是否打开全局滚动监听
+  modalFade: true,
+  modalStack: [],
+  modalDom: null,
+  // 当前model挂载的div.
+  hasModal: false,
+  // 当前是否有Modal
+  popLockClass: "popup-parent--hidden",
+  oldBodyBorder: "",
+  viewportWindow: null,
+  fixBodyBorder() {
+    const barWidth = window.innerWidth - document.documentElement.clientWidth;
+    if (barWidth) {
+      this.oldBodyBorder = document.documentElement.style.borderRight;
+      document.body.style.borderRight = `${barWidth}px solid transparent`;
+    }
+  },
+  resetBodyBorder() {
+    document.body.style.borderRight = this.oldBodyBorder;
+    this.oldBodyBorder = "";
+  },
+  /** 全局反注册 */
+  deregister: (id) => {
+    if (id) {
+      instances$2[id] = null;
+      delete instances$2[id];
+    }
+  },
+  /** 返回全局实例 */
+  getInstance: (id) => instances$2[id],
+  /** 全局注册   仅vue-popup.ts中使用,instance就是vm, 把vm注册到 vm._popupId 这个键值上 */
+  register: (id, instance) => {
+    if (id && instance) {
+      instances$2[id] = instance;
+    }
+  },
+  nextZIndex: () => {
+    const zIndex = PopupManager.zIndex;
+    PopupManager.zIndex += PopupManager.step;
+    return zIndex;
+  },
+  /** 打开遮罩层, 仅vue-popup.ts中使用。 dom = vm.$el 或者 undefined (appendtoBody时)  */
+  openModal(id, zIndex, dom2, modalClass, modalFade) {
+    if (isServer$3) {
+      return;
+    }
+    if (!id || zIndex === void 0) {
+      return;
+    }
+    this.modalFade = modalFade;
+    for (let i2 = 0, len2 = this.modalStack.length; i2 < len2; i2++) {
+      const modal2 = this.modalStack[i2];
+      if (modal2.id === id) {
+        return;
+      }
+    }
+    const modalDom = getModal();
+    addClass(modalDom, classes$4.modal);
+    if (this.modalFade && !PopupManager.hasModal) {
+      addClass(modalDom, classes$4.enter);
+    }
+    if (modalClass) {
+      const classArr = modalClass.trim().split(/\s+/);
+      classArr.forEach((cls) => addClass(modalDom, cls));
+    }
+    setTimeout(() => {
+      removeClass(modalDom, classes$4.enter);
+    }, 200);
+    if (zIndex) {
+      modalDom.style.zIndex = zIndex.toString();
+    }
+    modalDom.style.display = "";
+    modalDom.tabIndex = 0;
+    let parentNode2;
+    if (dom2 && dom2.parentNode && dom2.parentNode.nodeType !== 11) {
+      parentNode2 = dom2.parentNode;
+    } else {
+      parentNode2 = document.body;
+    }
+    parentNode2.appendChild(modalDom);
+    this.modalStack.push({ id, zIndex, modalClass });
+  },
+  /** 点击背景遮罩层时,调用栈顶的popup,调用它的close() */
+  doOnModalClick: () => {
+    const modalStack = PopupManager.modalStack;
+    const topPopup = modalStack[modalStack.length - 1];
+    if (!topPopup) {
+      return;
+    }
+    const instance = PopupManager.getInstance(topPopup.id);
+    if (instance && instance.closeOnClickModal) {
+      typeof instance.close === "function" && instance.close();
+    }
+  },
+  closeModal(id) {
+    const modalStack = this.modalStack;
+    const modalDom = getModal();
+    if (modalStack.length > 0) {
+      const topPopup = modalStack[modalStack.length - 1];
+      if (topPopup.id === id) {
+        if (topPopup.modalClass) {
+          const classArr = topPopup.modalClass.trim().split(/\s+/);
+          classArr.forEach((cls) => removeClass(modalDom, cls));
+        }
+        modalStack.pop();
+        const stackSize = modalStack.length;
+        if (stackSize > 0) {
+          modalDom.style.zIndex = modalStack[stackSize - 1].zIndex.toString();
+        }
+      } else {
+        removeStack(modalStack, id);
+      }
+    }
+    if (modalStack.length === 0) {
+      this.modalFade && addClass(modalDom, classes$4.leave);
+      removeClass(document.body, this.popLockClass);
+      this.resetBodyBorder();
+      setTimeout(() => {
+        if (modalStack.length === 0) {
+          if (modalDom.parentNode) {
+            modalDom.parentNode.removeChild(modalDom);
+          }
+          modalDom.style.display = "none";
+          PopupManager.modalDom = null;
+        }
+        removeClass(modalDom, classes$4.leave);
+      }, 200);
+    }
+  }
+};
+getModal = () => {
+  if (isServer$3) {
+    return null;
+  }
+  let modalDom = PopupManager.modalDom;
+  if (modalDom) {
+    PopupManager.hasModal = true;
+  } else {
+    PopupManager.hasModal = false;
+    modalDom = document.createElement("div");
+    PopupManager.modalDom = modalDom;
+    modalDom.addEventListener(
+      "touchmove",
+      (event2) => {
+        event2.preventDefault();
+        event2.stopPropagation();
+      },
+      { passive: true }
+    );
+    on(modalDom, "click", () => {
+      PopupManager.doOnModalClick();
+    });
+  }
+  return modalDom;
+};
+if (!isServer$3) {
+  on(window, "keydown", (event2) => {
+    if (event2.keyCode === KEY_CODE.Escape) {
+      const modalStack = PopupManager.modalStack;
+      if (modalStack.length > 0) {
+        const topPopup = modalStack[modalStack.length - 1];
+        if (!topPopup) {
+          return;
+        }
+        const topPopupVm = PopupManager.getInstance(topPopup.id);
+        if (topPopupVm && topPopupVm.closeOnPressEscape) {
+          if (topPopupVm.handleClose) {
+            topPopupVm.handleClose("esc");
+          } else if (topPopupVm.handleAction) {
+            topPopupVm.handleAction("cancel");
+          } else {
+            topPopupVm.close();
+          }
+        }
+      }
+    }
+  });
+}
+var popup_manager_default = PopupManager;
+const positions = ["left", "right", "top", "bottom"];
+const modifiers = ["shift", "offset", "preventOverflow", "keepTogether", "arrow", "flip", "applyStyle"];
+const DEFAULTS = {
+  arrowOffset: 0,
+  arrowElement: "[x-arrow]",
+  boundariesElement: "viewport",
+  boundariesPadding: 5,
+  flipBehavior: "flip",
+  // 全局没有修改过它,所以它一直是flip
+  forceAbsolute: false,
+  gpuAcceleration: true,
+  offset: 0,
+  placement: "bottom",
+  preventOverflowOrder: positions,
+  modifiers,
+  // 此处是string数组, 构造函数调用之后转为函数数组
+  updateHiddenPopperOnScroll: false
+  // 滚动过程中是否更新隐藏的弹出层位置
+};
+const setStyle = (el, styles) => {
+  const isNumeric2 = (n2) => n2 !== "" && !isNaN(parseFloat(n2)) && isFinite(n2);
+  Object.keys(styles).forEach((prop2) => {
+    let unit = "";
+    if (~["width", "height", "top", "right", "bottom", "left"].indexOf(prop2) && isNumeric2(styles[prop2])) {
+      unit = "px";
+    }
+    el.style[prop2] = styles[prop2] + unit;
+  });
+};
+const getOffsetParent = (el) => {
+  let offsetParent = el.offsetParent;
+  return offsetParent === window.document.body || !offsetParent ? window.document.documentElement : offsetParent;
+};
+const getStyleComputedProperty = (el, property) => {
+  if (!el || el.nodeType !== 1) {
+    return;
+  }
+  let css2 = window.getComputedStyle(el, null);
+  return css2[property];
+};
+const isFixed = (el) => {
+  if (el === window.document.body) {
+    return false;
+  }
+  if (getStyleComputedProperty(el, "position") === "fixed") {
+    return true;
+  }
+  return el.parentNode ? isFixed(el.parentNode) : false;
+};
+const getBoundingClientRect = (el) => {
+  let rect = el.getBoundingClientRect();
+  return {
+    left: rect.left,
+    top: rect.top,
+    right: rect.right,
+    bottom: rect.bottom,
+    width: rect.right - rect.left,
+    height: rect.bottom - rect.top
+  };
+};
+const isScrollElement = (el) => {
+  const scrollTypes = ["scroll", "auto"];
+  return scrollTypes.includes(getStyleComputedProperty(el, "overflow")) || scrollTypes.includes(getStyleComputedProperty(el, "overflow-x")) || scrollTypes.includes(getStyleComputedProperty(el, "overflow-y"));
+};
+const getAdjustOffset = (parent3) => {
+  const placeholder2 = document.createElement("div");
+  setStyle(placeholder2, {
+    opacity: 0,
+    position: "fixed",
+    width: 1,
+    height: 1,
+    top: 0,
+    left: 0,
+    "z-index": "-99"
+  });
+  parent3.appendChild(placeholder2);
+  const result2 = getBoundingClientRect(placeholder2);
+  parent3.removeChild(placeholder2);
+  return result2;
+};
+const getScrollParent = (el) => {
+  let parent3 = el.parentNode;
+  if (!parent3) {
+    return el;
+  }
+  if (parent3 === window.document) {
+    if (window.document.body.scrollTop || window.document.body.scrollLeft) {
+      return window.document.body;
+    }
+    return window.document.documentElement;
+  }
+  if (isScrollElement(parent3)) {
+    return parent3;
+  }
+  return getScrollParent(parent3);
+};
+const getOffsetRectRelativeToCustomParent = (el, parent3, fixed, popper) => {
+  let { top, left, width, height } = getBoundingClientRect(el);
+  if (fixed) {
+    if (popper.parentElement) {
+      const { top: adjustTop, left: adjustLeft } = getAdjustOffset(popper.parentElement);
+      top -= adjustTop;
+      left -= adjustLeft;
+    }
+    return {
+      top,
+      left,
+      bottom: top + height,
+      right: left + width,
+      width,
+      height
+    };
+  }
+  let parentRect = getBoundingClientRect(parent3);
+  let rect = {
+    top: top - parentRect.top,
+    left: left - parentRect.left,
+    bottom: top - parentRect.top + height,
+    right: left - parentRect.left + width,
+    width,
+    height
+  };
+  return rect;
+};
+const getScrollTopValue = (el) => el === document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : el.scrollTop;
+const getScrollLeftValue = (el) => el === document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : el.scrollLeft;
+const getMaxWH = (body, html) => {
+  const height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
+  const width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
+  return { width, height };
+};
+const getOuterSizes = (el) => {
+  let _display = el.style.display;
+  let _visibility = el.style.visibility;
+  el.style.display = "block";
+  el.style.visibility = "hidden";
+  let styles = window.getComputedStyle(el);
+  let x2 = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
+  let y2 = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
+  let result2 = { width: el.offsetWidth + y2, height: el.offsetHeight + x2 };
+  el.style.display = _display;
+  el.style.visibility = _visibility;
+  return result2;
+};
+const getOppositePlacement = (placement) => {
+  let hash = { left: "right", right: "left", bottom: "top", top: "bottom" };
+  return placement.replace(/left|right|bottom|top/g, (matched) => hash[matched]);
+};
+const getPopperClientRect = (popperOffsets) => {
+  let offsets = __spreadValues({}, popperOffsets);
+  offsets.right = offsets.left + offsets.width;
+  offsets.bottom = offsets.top + offsets.height;
+  return offsets;
+};
+const getAllScrollParents = (el, parents = []) => {
+  const parent3 = el.parentNode;
+  if (parent3) {
+    isScrollElement(parent3) && parents.push(parent3);
+    if (getStyleComputedProperty(parent3, "position") === "fixed") {
+      return parents;
+    }
+    return getAllScrollParents(parent3, parents);
+  }
+  return parents;
+};
+const getOffsetRect = (el) => {
+  const elementRect = {
+    width: el.offsetWidth,
+    height: el.offsetHeight,
+    left: el.offsetLeft,
+    top: el.offsetTop,
+    right: 0,
+    bottom: 0
+  };
+  elementRect.right = elementRect.left + elementRect.width;
+  elementRect.bottom = elementRect.top + elementRect.height;
+  return elementRect;
+};
+const stopFn = (ev) => {
+  ev.stopPropagation();
+};
+class Popper {
+  constructor(reference, popper, options2) {
+    this.modifiers = {};
+    this.popperOuterSize = null;
+    this._reference = reference;
+    this._popper = popper;
+    this.state = {};
+    this._options = __spreadValues(__spreadValues({}, DEFAULTS), options2);
+    this._options.modifierFns = modifiers.map((modifier) => {
+      return this[modifier];
+    });
+    this._popper.setAttribute("x-placement", this._options.placement);
+    this.state.position = this._getPopperPositionByRefernce(this._reference);
+    setStyle(this._popper, { position: this.state.position, top: 0 });
+    this.update();
+    this._setupEventListeners();
+  }
+  destroy() {
+    this._popper.removeAttribute("x-placement");
+    this._popper.style.display = "none";
+    this._removeEventListeners();
+    this._options.removeOnDestroy && this._popper.remove();
+    return this;
+  }
+  onUpdate(callback) {
+    this.state.updateCallback = callback;
+    return this;
+  }
+  update() {
+    let data2 = { instance: this, styles: {} };
+    this.stopEventBubble();
+    this.popperOuterSize = null;
+    data2.placement = data2._originalPlacement = this._options.placement;
+    data2.offsets = this._getRefPopOffsets(this._popper, this._reference, data2.placement);
+    data2.boundaries = this._getBoundaries(data2, this._options.boundariesPadding, this._options.boundariesElement);
+    data2 = this.runModifiers(data2, this._options.modifierFns);
+    typeof this.state.updateCallback === "function" && this.state.updateCallback(data2);
+  }
+  // 阻止popper的mousewheel等事件冒泡。 通过 onxxx 绑定,是为了避免重复绑定事件
+  stopEventBubble() {
+    if (!this._popper)
+      return;
+    if (!this._popper.onmousewheel)
+      this._popper.onmousewheel = stopFn;
+    if (!this._popper.onwheel)
+      this._popper.onwheel = stopFn;
+  }
+  /** 按顺序执行Modifiers, 如果传入终点modifier,则执行到指定位置 */
+  runModifiers(data2, modifiers2, ends) {
+    let modifiersToRun = modifiers2.slice();
+    const _options = this._options;
+    if (ends !== void 0) {
+      modifiersToRun = this._options.modifierFns.slice(
+        0,
+        _options.modifierFns.findIndex((m2) => m2 === ends)
+      );
+    }
+    modifiersToRun.forEach((modifier) => {
+      if (typeOf(modifier) === "function") {
+        data2 = modifier.call(this, data2);
+      }
+    });
+    return data2;
+  }
+  // 此时才把offsets.popper 赋值给popper dom,  offsets.array赋值给array dom
+  applyStyle(data2) {
+    let styles = { position: data2.offsets.popper.position };
+    let left = Math.round(data2.offsets.popper.left);
+    let top = Math.round(data2.offsets.popper.top);
+    if (this._options.gpuAcceleration) {
+      styles.transform = `translate3d(${left}px, ${top}px, 0)`;
+      Object.assign(styles, { top: 0, left: 0 });
+    } else {
+      Object.assign(styles, { top, left });
+    }
+    Object.assign(styles, data2.styles);
+    setStyle(this._popper, styles);
+    this._popper.setAttribute("x-placement", data2.placement);
+    if (data2.offsets.arrow) {
+      setStyle(data2.arrowElement, data2.offsets.arrow);
+    }
+    return data2;
+  }
+  // 判断 placement是不是2段式的,是则处理一下偏移。 修改data.offsets.popper的值
+  shift(data2) {
+    let placement = data2.placement;
+    let basePlacement = placement.split("-")[0];
+    let shiftVariation = placement.split("-")[1];
+    if (shiftVariation) {
+      let { top, left, height, width } = data2.offsets.reference;
+      let popper = getPopperClientRect(data2.offsets.popper);
+      let shiftOffsets = {
+        y: {
+          start: { top },
+          end: { top: top + height - popper.height }
+        },
+        x: {
+          start: { left },
+          end: { left: left + width - popper.width }
+        }
+      };
+      let axis2 = ~["bottom", "top"].indexOf(basePlacement) ? "x" : "y";
+      data2.offsets.popper = Object.assign(popper, shiftOffsets[axis2][shiftVariation]);
+    }
+    return data2;
+  }
+  // 校正popper的位置在boundaries 的内部
+  preventOverflow(data2) {
+    let order = this._options.preventOverflowOrder;
+    let popper = getPopperClientRect(data2.offsets.popper);
+    let check2 = {
+      top: () => {
+        let { top } = popper;
+        if (top < data2.boundaries.top) {
+          top = Math.max(top, data2.boundaries.top);
+        }
+        return { top };
+      },
+      right: () => {
+        let { left } = popper;
+        if (popper.right > data2.boundaries.right) {
+          left = Math.min(left, data2.boundaries.right - popper.width);
+        }
+        return { left };
+      },
+      bottom: () => {
+        let { top } = popper;
+        if (popper.bottom > data2.boundaries.bottom) {
+          top = Math.min(top, data2.boundaries.bottom - popper.height);
+        }
+        return { top };
+      },
+      left: () => {
+        let { left } = popper;
+        if (popper.left < data2.boundaries.left) {
+          left = Math.max(left, data2.boundaries.left);
+        }
+        return { left };
+      }
+    };
+    order.forEach((direction) => {
+      data2.offsets.popper = Object.assign(popper, check2[direction]());
+    });
+    return data2;
+  }
+  // 校正popper的位置在reference的边上。 如果2个分离了,重新调整popper的位置。 可能是担心 modifiers.offset 带来的副作用吧
+  keepTogether(data2) {
+    let popper = getPopperClientRect(data2.offsets.popper);
+    let reference = data2.offsets.reference;
+    if (popper.right < Math.floor(reference.left)) {
+      data2.offsets.popper.left = Math.floor(reference.left) - popper.width;
+    }
+    if (popper.left > Math.floor(reference.right)) {
+      data2.offsets.popper.left = Math.floor(reference.right);
+    }
+    if (popper.bottom < Math.floor(reference.top)) {
+      data2.offsets.popper.top = Math.floor(reference.top) - popper.height;
+    }
+    if (popper.top > Math.floor(reference.bottom)) {
+      data2.offsets.popper.top = Math.floor(reference.bottom);
+    }
+    return data2;
+  }
+  // 根据flip的策略,计算当前应该显示的位置。 空间不够要计算出flip的位置。 可能是担心preventOverflow 时,造成pop, reference会重叠。 重叠了就要flip一下
+  flip(data2) {
+    if (data2.flipped && data2.placement === data2._originalPlacement) {
+      return data2;
+    }
+    const placements = data2.placement.split("-");
+    let placement = placements[0];
+    let placementOpposite = getOppositePlacement(placement);
+    let variation = placements[1] || "";
+    let flipOrderArr = [placement, placementOpposite];
+    flipOrderArr.forEach((step2, index3) => {
+      if (placement !== step2 || flipOrderArr.length === index3 + 1) {
+        return;
+      }
+      placement = data2.placement.split("-")[0];
+      placementOpposite = getOppositePlacement(placement);
+      let popperOffsets = getPopperClientRect(data2.offsets.popper);
+      let a2 = ~["right", "bottom"].indexOf(placement);
+      let p2 = Math.floor(data2.offsets.reference[placement]);
+      let po = Math.floor(popperOffsets[placementOpposite]);
+      if (a2 && p2 > po || !a2 && p2 < po) {
+        data2.flipped = true;
+        data2.placement = flipOrderArr[index3 + 1];
+        if (variation) {
+          data2.placement += `-${variation}`;
+        }
+        data2.offsets.popper = this._getRefPopOffsets(this._popper, this._reference, data2.placement).popper;
+        data2 = this.runModifiers(data2, this._options.modifierFns, this.flip);
+      }
+    });
+    return data2;
+  }
+  // 根据入参option上的offset, 给data.offset.popper进行校正
+  offset(data2) {
+    let offset2 = this._options.offset;
+    let popper = data2.offsets.popper;
+    if (~data2.placement.indexOf("left")) {
+      popper.top -= offset2;
+    } else if (~data2.placement.indexOf("right")) {
+      popper.top += offset2;
+    } else if (~data2.placement.indexOf("top")) {
+      popper.left -= offset2;
+    } else if (~data2.placement.indexOf("bottom")) {
+      popper.left += offset2;
+    }
+    return data2;
+  }
+  // 计算arrow的位置,保存在data.offsets.arrow ={top,left}
+  arrow(data2) {
+    let arrow = this._options.arrowElement;
+    let arrowOffset = this._options.arrowOffset;
+    if (typeof arrow === "string") {
+      arrow = this._popper.querySelector(arrow);
+    }
+    if (!arrow || !this._popper.contains(arrow)) {
+      return data2;
+    }
+    let arrowStyle = {};
+    let placement = data2.placement.split("-")[0];
+    let popper = getPopperClientRect(data2.offsets.popper);
+    let reference = data2.offsets.reference;
+    let isVertical = ~["left", "right"].indexOf(placement);
+    let calcProp = isVertical ? "height" : "width";
+    let opSide = isVertical ? "bottom" : "right";
+    let altSide = isVertical ? "left" : "top";
+    let side = isVertical ? "top" : "left";
+    let popperRect = this.popperOuterSize ? this.popperOuterSize : this.popperOuterSize = getOuterSizes(this._popper);
+    let arrowRect = getOuterSizes(arrow);
+    let arrowSize = arrowRect[calcProp];
+    if (reference[opSide] - arrowSize < popper[side]) {
+      data2.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);
+    }
+    if (reference[side] + arrowSize > popper[opSide]) {
+      data2.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];
+    }
+    let center2 = reference[side] + (arrowOffset || reference[calcProp] / 2 - arrowSize / 2);
+    let sideValue = center2 - popper[side];
+    sideValue = Math.max(Math.min(popper[calcProp] - arrowSize - 8, sideValue), 8);
+    arrowStyle[side] = sideValue;
+    arrowStyle[altSide] = "";
+    const params2 = this._options.placement.split("-");
+    if (this._options.adjustArrow && ~["top", "bottom"].indexOf(params2[0]) && side === "left") {
+      if (params2[1] === "start") {
+        arrowStyle.left = 8;
+      } else if (!params2[1]) {
+        arrowStyle.left = (popperRect.width - arrowRect.width) / 2;
+      }
+    }
+    data2.offsets.arrow = arrowStyle;
+    data2.arrowElement = arrow;
+    return data2;
+  }
+  /** 判断 reference 的 offsetParent 元素是fix还是abs, 这个值会赋值给popper 的dom */
+  _getPopperPositionByRefernce(reference) {
+    if (this._options.forceAbsolute) {
+      return "absolute";
+    }
+    let isParentFixed = isFixed(reference);
+    return isParentFixed ? "fixed" : "absolute";
+  }
+  /** 实时计算一下popper, reference的 位置信息, 用于 */
+  _getRefPopOffsets(popper, reference, placement) {
+    placement = placement.split("-")[0];
+    let popperOffsets = { position: this.state.position };
+    let isParentFixed = popperOffsets.position === "fixed";
+    let referenceOffsets = getOffsetRectRelativeToCustomParent(
+      reference,
+      getOffsetParent(popper),
+      isParentFixed,
+      popper
+    );
+    const { width, height } = this.popperOuterSize ? this.popperOuterSize : this.popperOuterSize = getOuterSizes(popper);
+    if (~["right", "left"].indexOf(placement)) {
+      popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - height / 2;
+      if (placement === "left") {
+        popperOffsets.left = referenceOffsets.left - width;
+      } else {
+        popperOffsets.left = referenceOffsets.right;
+      }
+    } else {
+      popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - width / 2;
+      if (placement === "top") {
+        popperOffsets.top = referenceOffsets.top - height;
+      } else {
+        popperOffsets.top = referenceOffsets.bottom;
+      }
+    }
+    popperOffsets.width = width;
+    popperOffsets.height = height;
+    return {
+      popper: popperOffsets,
+      reference: referenceOffsets
+    };
+  }
+  _setupEventListeners() {
+    var _a2, _b2;
+    this.state.updateBoundFn = this.update.bind(this);
+    this.state.scrollUpdate = () => {
+      if (this._options.updateHiddenPopperOnScroll) {
+        this.state.updateBoundFn();
+      } else {
+        if (isDisplayNone(this._popper))
+          return;
+        this.state.updateBoundFn();
+      }
+    };
+    on(window, "resize", this.state.updateBoundFn);
+    if (this._options.boundariesElement !== "window") {
+      let target = getScrollParent(this._reference);
+      const customTargets = [];
+      if ((_b2 = (_a2 = target == null ? void 0 : target.dataset) == null ? void 0 : _a2.tag) == null ? void 0 : _b2.includes("-form")) {
+        customTargets.push(target);
+        let realTarget = getScrollParent(target);
+        if (realTarget === window.document.body || realTarget === window.document.documentElement) {
+          realTarget = window;
+        }
+        customTargets.push(realTarget);
+      }
+      if (target === window.document.body || target === window.document.documentElement) {
+        target = window;
+      }
+      this.state.scrollTarget = target;
+      if (this._options.bubbling || popup_manager_default.globalScroll) {
+        let targets = getAllScrollParents(this._reference);
+        this.state.scrollTargets = targets || [];
+        targets.forEach((target2) => {
+          on(target2, "scroll", this.state.scrollUpdate);
+        });
+      } else {
+        if (customTargets.length) {
+          this.state.scrollTargets = customTargets;
+          customTargets.forEach((target2) => {
+            on(target2, "scroll", this.state.scrollUpdate);
+          });
+        } else {
+          on(target, "scroll", this.state.scrollUpdate);
+        }
+      }
+    }
+  }
+  _removeEventListeners() {
+    off(window, "resize", this.state.updateBoundFn);
+    if (this._options.boundariesElement !== "window" && this.state.scrollTarget) {
+      off(this.state.scrollTarget, "scroll", this.state.scrollUpdate);
+      this.state.scrollTarget = null;
+      if (this._options.bubbling || popup_manager_default.globalScroll) {
+        let targets = this.state.scrollTargets || [];
+        targets.forEach((target) => {
+          off(target, "scroll", this.state.scrollUpdate);
+        });
+        this.state.scrollTargets = null;
+      }
+    }
+    this.state.updateBoundFn = null;
+    this.state.scrollUpdate = null;
+  }
+  /** 实时计算一下Boundary的位置 */
+  _getBoundaries(data2, padding, boundariesElement) {
+    let boundaries = { right: 0, left: 0, top: 0, bottom: 0 };
+    if (boundariesElement === "window" || boundariesElement === "body") {
+      let body = window.document.body;
+      let html = window.document.documentElement;
+      let { width, height } = getMaxWH(body, html);
+      boundaries = { top: 0, right: width, bottom: height, left: 0 };
+    } else if (boundariesElement === "viewport") {
+      let offsetParent = getOffsetParent(this._popper);
+      let scrollParent = getScrollParent(this._popper);
+      let offsetParentRect = getOffsetRect(offsetParent);
+      let isFixed2 = data2.offsets.popper.position === "fixed";
+      const noScroll = isFixed2 || !this._options.appendToBody && ["right", "left"].includes(this._options.placement);
+      let scrollTop = noScroll ? 0 : getScrollTopValue(scrollParent);
+      let scrollLeft = noScroll ? 0 : getScrollLeftValue(scrollParent);
+      const viewportWindow = global_default.viewportWindow || popup_manager_default.viewportWindow || window;
+      boundaries = {
+        top: 0 - (offsetParentRect.top - scrollTop),
+        right: viewportWindow.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),
+        bottom: viewportWindow.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),
+        left: 0 - (offsetParentRect.left - scrollLeft)
+      };
+    } else {
+      if (getOffsetParent(this._popper) === boundariesElement) {
+        const { clientWidth, clientHeight } = boundariesElement;
+        boundaries = {
+          right: clientWidth,
+          bottom: clientHeight,
+          top: 0,
+          left: 0
+        };
+      } else {
+        boundaries = getOffsetRect(boundariesElement);
+      }
+    }
+    boundaries.right -= padding;
+    boundaries.left += padding;
+    boundaries.bottom = boundaries.bottom - padding;
+    boundaries.top = boundaries.top + padding;
+    return boundaries;
+  }
+}
+var popper_default = Popper;
+const stop$1 = (e2) => e2.stopPropagation();
+const isServer$2 = typeof window === "undefined";
+const getReference = ({ state, props: props2, vm, slots }) => {
+  let reference = state.referenceElm || props2.reference || vm.$refs.reference && vm.$refs.reference.$el || vm.$refs.reference;
+  if (!reference && slots.reference && slots.reference()[0]) {
+    state.referenceElm = slots.reference()[0].elm || slots.reference()[0].el;
+    reference = state.referenceElm;
+  }
+  return reference;
+};
+const getReferMaxZIndex = (reference) => {
+  if (!reference || !reference.nodeType)
+    return;
+  let getZIndex = (dom2) => parseInt(window.getComputedStyle(dom2).zIndex, 10) || 0;
+  let max3 = getZIndex(reference);
+  let z2;
+  do {
+    reference = reference.parentNode;
+    if (reference) {
+      z2 = getZIndex(reference);
+    } else {
+      break;
+    }
+    max3 = z2 > max3 ? z2 : max3;
+  } while (reference !== document.body);
+  return max3 + 1 + "";
+};
+var vue_popper_default = (options2) => {
+  const {
+    parent: parent3,
+    emit,
+    nextTick: nextTick2,
+    onBeforeUnmount: onBeforeUnmount2,
+    onDeactivated,
+    props: props2,
+    watch: watch2,
+    reactive,
+    vm,
+    slots,
+    toRefs,
+    popperVmRef
+  } = options2;
+  const state = reactive({
+    popperJS: null,
+    appended: false,
+    // arrow 是否添加
+    popperElm: null,
+    showPopper: props2.manual ? Boolean(props2.modelValue) : false,
+    referenceElm: null,
+    currentPlacement: ""
+  });
+  const appendArrow = (el) => {
+    if (state.appended) {
+      return;
+    }
+    state.appended = true;
+    const div2 = document.createElement("div");
+    div2.setAttribute("x-arrow", "");
+    div2.className = "popper__arrow";
+    el.appendChild(div2);
+  };
+  const followHide = (popperInstance) => {
+    const { followReferenceHide = true } = (props2 == null ? void 0 : props2.popperOptions) || {};
+    const { _popper: popper, _reference: reference } = popperInstance;
+    if (followReferenceHide && isDisplayNone(reference)) {
+      popper.style.display = "none";
+    }
+  };
+  const nextZIndex = (reference) => {
+    return props2.zIndex === "relative" ? getReferMaxZIndex(reference) : popup_manager_default.nextZIndex();
+  };
+  const createPopper = (dom2) => {
+    if (isServer$2) {
+      return;
+    }
+    state.currentPlacement = state.currentPlacement || props2.placement;
+    if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(state.currentPlacement)) {
+      return;
+    }
+    const options22 = props2.popperOptions || { gpuAcceleration: false };
+    state.popperElm = state.popperElm || props2.popper || vm.$refs.popper || popperVmRef.popper || dom2;
+    const popper = state.popperElm;
+    let reference = getReference({ state, props: props2, vm, slots });
+    if (!popper || !reference || reference.nodeType !== Node.ELEMENT_NODE) {
+      return;
+    }
+    if (props2.visibleArrow) {
+      appendArrow(popper);
+    }
+    if (props2.appendToBody || props2.popperAppendToBody) {
+      document.body.appendChild(state.popperElm);
+    } else {
+      parent3 && parent3.$el && parent3.$el.appendChild(state.popperElm);
+      options22.forceAbsolute = true;
+    }
+    options22.placement = state.currentPlacement;
+    options22.offset = props2.offset || 0;
+    options22.arrowOffset = props2.arrowOffset || 0;
+    options22.adjustArrow = props2.adjustArrow || false;
+    options22.appendToBody = props2.appendToBody || props2.popperAppendToBody;
+    state.popperJS = new popper_default(reference, popper, options22);
+    emit("created", state);
+    if (typeof options22.onUpdate === "function") {
+      state.popperJS.onUpdate(options22.onUpdate);
+    }
+    state.popperJS._popper.style.zIndex = nextZIndex(state.popperJS._reference);
+    followHide(state.popperJS);
+    on(state.popperElm, "click", stop$1);
+  };
+  const updatePopper = (popperElmOrTrue) => {
+    if (popperElmOrTrue && popperElmOrTrue !== true) {
+      state.popperElm = popperElmOrTrue;
+    }
+    const popperJS = state.popperJS;
+    if (popperJS) {
+      popperJS.update();
+      if (popperJS._popper && popperElmOrTrue !== true) {
+        popperJS._popper.style.zIndex = nextZIndex(popperJS._reference);
+        followHide(state.popperJS);
+      }
+    } else {
+      createPopper(popperElmOrTrue && popperElmOrTrue !== true ? popperElmOrTrue : void 0);
+    }
+  };
+  const doDestroy = (forceDestroy) => {
+    if (!state.popperJS || state.showPopper && !forceDestroy) {
+      return;
+    }
+    state.popperJS.destroy();
+    state.popperJS = null;
+  };
+  const destroyPopper = (remove2) => {
+    if (remove2) {
+      if (state.popperElm) {
+        off(state.popperElm, "click", stop$1);
+        state.popperElm.remove();
+      }
+    }
+  };
+  watch2(
+    () => state.showPopper,
+    (val) => {
+      if (props2.disabled) {
+        return;
+      }
+      if (val) {
+        nextTick2(updatePopper);
+      }
+      props2.trigger === "manual" && emit("update:modelValue", val);
+    }
+  );
+  onBeforeUnmount2(() => {
+    nextTick2(() => {
+      doDestroy(true);
+      if (props2.appendToBody || props2.popperAppendToBody) {
+        destroyPopper("remove");
+      }
+    });
+  });
+  onDeactivated(() => {
+    doDestroy(true);
+    if (props2.appendToBody || props2.popperAppendToBody) {
+      destroyPopper("remove");
+    }
+  });
+  return __spreadValues({ updatePopper, destroyPopper, doDestroy }, toRefs(state));
+};
+const api$k = [
+  "state",
+  "handleAfterEnter",
+  "handleAfterLeave",
+  "doToggle",
+  "doShow",
+  "doClose",
+  "doDestroy",
+  "handleItemClick",
+  "handleDocumentClick"
+];
+const initState$6 = ({
+  reactive,
+  computed: computed2,
+  api: api2,
+  popperElm,
+  showPopper,
+  referenceElm
+}) => {
+  const state = reactive({
+    popperElm,
+    referenceElm,
+    /** popper 元素是否显示。 它是通过v-show 绑定到页面上,造成隐藏时,popperJs并没有destory,有一定的性能影响 */
+    showPopper,
+    timer: 0,
+    mounted: false,
+    xPlacement: "bottom",
+    tooltipId: computed2(() => api2.computedTooltipId()),
+    webCompEventTarget: null
+  });
+  return state;
+};
+const initApi$5 = ({ api: api2, props: props2, state, emit, doDestroy, constants, nextTick: nextTick2, vm, mode }) => {
+  Object.assign(api2, {
+    state,
+    mounted: mounted$3({ api: api2, state, constants, props: props2, nextTick: nextTick2, mode }),
+    cleanup: cleanup({ state, props: props2 }),
+    destroyed: destroyed$1({ state, api: api2 }),
+    doDestroy,
+    computedTooltipId: computedTooltipId(constants),
+    doShow: doShow(state),
+    doClose: doClose(state),
+    doToggle: doToggle(state),
+    handleClick: handleClick$2(state),
+    handleAfterEnter: handleAfterEnter(emit),
+    handleBlur: handleBlur$2({ props: props2, state }),
+    handleFocus: handleFocus$2({ props: props2, state }),
+    handleKeydown: handleKeydown$1({ api: api2, props: props2 }),
+    handleMouseLeave: handleMouseLeave({ props: props2, state }),
+    handleAfterLeave: handleAfterLeave(emit),
+    handleMouseEnter: handleMouseEnter({ props: props2, state }),
+    handleDocumentClick: handleDocumentClick$2({ vm, state }),
+    wrapMounted: wrapMounted$1({ api: api2, props: props2, vm, state }),
+    handleItemClick: handleItemClick({ emit, state }),
+    observeCallback: observeCallback$1({ vm, state })
+  });
+};
+const initWatch$1 = ({
+  watch: watch2,
+  props: props2,
+  state,
+  emit,
+  api: api2,
+  nextTick: nextTick2,
+  updatePopper,
+  mode
+}) => {
+  watch2(
+    () => state.showPopper,
+    (val) => {
+      if (props2.disabled) {
+        return;
+      }
+      if (val) {
+        nextTick2(() => updatePopper());
+      }
+      val ? emit("show") : emit("hide");
+    }
+  );
+  watch2(
+    () => props2.reference,
+    (val, oldVal) => {
+      if (val !== oldVal) {
+        api2.destroyed();
+        nextTick2(() => {
+          api2.wrapMounted();
+        });
+      }
+    }
+  );
+  watch2(
+    () => props2.modelValue,
+    (val) => {
+      if (props2.trigger === "manual") {
+        state.showPopper = val;
+        emit("update:modelValue", val);
+      }
+    }
+  );
+};
+const renderless$k = (props2, {
+  reactive,
+  computed: computed2,
+  watch: watch2,
+  toRefs,
+  onBeforeUnmount: onBeforeUnmount2,
+  onMounted: onMounted2,
+  onUnmounted,
+  onActivated,
+  onDeactivated
+}, { $prefix: $prefix2, emit, vm, slots, nextTick: nextTick2, mode }) => {
+  const api2 = {};
+  const constants = { IDPREFIX: `${$prefix2.toLowerCase()}-popover` };
+  const options2 = { emit, onBeforeUnmount: onBeforeUnmount2, nextTick: nextTick2, reactive, props: props2, watch: watch2, onDeactivated, vm, slots, toRefs };
+  const { showPopper, popperElm, referenceElm, doDestroy, updatePopper } = vue_popper_default(options2);
+  const state = initState$6({ reactive, computed: computed2, api: api2, popperElm, showPopper, referenceElm });
+  initApi$5({ api: api2, constants, props: props2, state, emit, doDestroy, nextTick: nextTick2, vm, mode });
+  onDeactivated(() => {
+    api2.destroyed();
+    api2.cleanup();
+  });
+  onMounted2(() => {
+    api2.wrapMounted();
+    if (props2.genArrowByHtml) {
+      const config2 = { attributes: true, childList: false, subtree: false };
+      api2.observer = new MutationObserver(api2.observeCallback);
+      api2.observer.observe(vm.$refs.popper, config2);
+    }
+  });
+  onActivated(api2.mounted);
+  onUnmounted(() => {
+    api2.destroyed();
+    api2.observer && api2.observer.disconnect();
+  });
+  onBeforeUnmount2(api2.cleanup);
+  initWatch$1({ watch: watch2, props: props2, state, emit, api: api2, nextTick: nextTick2, updatePopper, mode });
+  return api2;
+};
+const index$v = "";
+function _createForOfIteratorHelperLoose$z(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$z(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$z(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$z(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$z(o2, minLen);
+}
+function _arrayLikeToArray$z(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$A = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$z(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$N = defineComponent({
+  emits: ["update:modelValue", "hide", "show", "after-enter", "after-leave", "created"],
+  props: [].concat(props, ["appendToBody", "arrowOffset", "boundariesPadding", "closeDelay", "content", "disabled", "modelValue", "offset", "openDelay", "placement", "popper", "popperClass", "popperOptions", "reference", "tabindex", "title", "transition", "trigger", "visibleArrow", "width", "height"]),
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$k,
+      api: api$k
+    });
+  }
+});
+var _hoisted_1$z = {
+  ref: "root"
+};
+var _hoisted_2$v = ["id", "aria-hidden"];
+var _hoisted_3$r = ["textContent"];
+function _sfc_render$B(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "span",
+    _hoisted_1$z,
+    [createVNode$1(Transition$1, {
+      name: _ctx2.transition,
+      onAfterEnter: _ctx2.handleAfterEnter,
+      onAfterLeave: _ctx2.handleAfterLeave,
+      persisted: ""
+    }, {
+      default: withCtx(function() {
+        return [withDirectives(createBaseVNode("div", {
+          class: normalizeClass(["tiny-popover tiny-popper", [_ctx2.popperClass, _ctx2.content && "tiny-popover__plain", {
+            "no-arrow": !_ctx2.visibleArrow
+          }]]),
+          ref: "popper",
+          style: normalizeStyle$2({
+            width: _ctx2.width === "auto" ? _ctx2.width : _ctx2.width + "px",
+            height: _ctx2.height === "auto" ? _ctx2.height : _ctx2.height + "px"
+          }),
+          role: "tooltip",
+          id: _ctx2.state.tooltipId,
+          "aria-hidden": _ctx2.disabled || !_ctx2.state.showPopper ? "true" : "false"
+        }, [_ctx2.title ? (openBlock(), createElementBlock("div", {
+          key: 0,
+          class: "tiny-popover__title",
+          textContent: toDisplayString(_ctx2.title)
+        }, null, 8, _hoisted_3$r)) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {}, function() {
+          return [createTextVNode(
+            toDisplayString(_ctx2.content),
+            1
+            /* TEXT */
+          )];
+        })], 14, _hoisted_2$v), [[vShow, !_ctx2.disabled && _ctx2.state.showPopper]])];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["name", "onAfterEnter", "onAfterLeave"]), createBaseVNode(
+      "span",
+      {
+        ref: "wrapper",
+        class: normalizeClass(["reference-wrapper", {
+          "reference-wrapper-show": !_ctx2.disabled && _ctx2.state.showPopper
+        }])
+      },
+      [renderSlot(_ctx2.$slots, "reference")],
+      2
+      /* CLASS */
+    )],
+    512
+    /* NEED_PATCH */
+  );
+}
+var pc$f = /* @__PURE__ */ _export_sfc$A(_sfc_main$N, [["render", _sfc_render$B]]);
+const index$u = "";
+function _createForOfIteratorHelperLoose$y(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$y(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$y(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$y(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$y(o2, minLen);
+}
+function _arrayLikeToArray$y(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$z = function _export_sfc25(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$y(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$M = defineComponent({
+  emits: ["update:modelValue", "hide", "show", "after-enter", "after-leave", "created", "itemClick"],
+  props: [].concat(props, ["appendToBody", "arrowOffset", "boundariesPadding", "closeDelay", "disabled", "modelValue", "offset", "openDelay", "placement", "popper", "popperClass", "popperOptions", "reference", "tabindex", "title", "transition", "trigger", "visibleArrow", "width", "maxHeight", "listData"]),
+  setup: function setup$15(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$k,
+      api: api$k
+    });
+  }
+});
+var _hoisted_1$y = {
+  ref: "root"
+};
+var _hoisted_2$u = ["id", "aria-hidden"];
+var _hoisted_3$q = ["textContent"];
+var _hoisted_4$m = ["onClick"];
+var _hoisted_5$k = ["src"];
+var _hoisted_6$i = {
+  class: "label-view"
+};
+var _hoisted_7$e = {
+  class: "main"
+};
+var _hoisted_8$b = {
+  key: 0,
+  class: "sub"
+};
+var _hoisted_9$a = {
+  key: 0,
+  class: "line"
+};
+function _sfc_render$A(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "span",
+    _hoisted_1$y,
+    [createVNode$1(Transition$1, {
+      name: _ctx2.transition,
+      onAfterEnter: _ctx2.handleAfterEnter,
+      onAfterLeave: _ctx2.handleAfterLeave,
+      persisted: ""
+    }, {
+      default: withCtx(function() {
+        return [withDirectives(createBaseVNode("div", {
+          class: normalizeClass(["tiny-mobile-popover tiny-mobile-popper", [_ctx2.popperClass, "tiny-mobile-popover__plain", {
+            "no-arrow": !_ctx2.visibleArrow
+          }]]),
+          ref: "popper",
+          style: normalizeStyle$2({
+            width: _ctx2.width === "auto" ? _ctx2.width : _ctx2.width + "px",
+            maxHeight: _ctx2.maxHeight === "auto" ? _ctx2.maxHeight : _ctx2.maxHeight + "px"
+          }),
+          role: "tooltip",
+          id: _ctx2.state.tooltipId,
+          "aria-hidden": _ctx2.disabled || !_ctx2.state.showPopper ? "true" : "false"
+        }, [_ctx2.title ? (openBlock(), createElementBlock("div", {
+          key: 0,
+          class: "tiny-mobile-popover__title",
+          textContent: toDisplayString(_ctx2.title)
+        }, null, 8, _hoisted_3$q)) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {}, function() {
+          return [createBaseVNode(
+            "div",
+            {
+              class: "list-content",
+              style: normalizeStyle$2({
+                maxHeight: _ctx2.maxHeight === "auto" ? _ctx2.maxHeight : _ctx2.maxHeight + "px"
+              })
+            },
+            [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx2.listData, function(item, index3) {
+                return openBlock(), createElementBlock("div", {
+                  key: item.id,
+                  class: normalizeClass(["list-view", item.subLabel ? "list-view-height" : ""]),
+                  onClick: function onClick($event) {
+                    return _ctx2.handleItemClick(item);
+                  }
+                }, [createBaseVNode("img", {
+                  src: item.icon,
+                  class: "icon"
+                }, null, 8, _hoisted_5$k), createBaseVNode("div", _hoisted_6$i, [createBaseVNode(
+                  "div",
+                  _hoisted_7$e,
+                  toDisplayString(item.label),
+                  1
+                  /* TEXT */
+                ), item.subLabel ? (openBlock(), createElementBlock(
+                  "div",
+                  _hoisted_8$b,
+                  toDisplayString(item.subLabel),
+                  1
+                  /* TEXT */
+                )) : createCommentVNode("v-if", true)]), index3 !== _ctx2.listData.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_9$a)) : createCommentVNode("v-if", true)], 10, _hoisted_4$m);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))],
+            4
+            /* STYLE */
+          )];
+        })], 14, _hoisted_2$u), [[vShow, !_ctx2.disabled && _ctx2.state.showPopper]])];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["name", "onAfterEnter", "onAfterLeave"]), createBaseVNode(
+      "span",
+      {
+        ref: "wrapper",
+        class: normalizeClass(["reference-wrapper", {
+          "reference-wrapper-show": !_ctx2.disabled && _ctx2.state.showPopper
+        }])
+      },
+      [renderSlot(_ctx2.$slots, "reference")],
+      2
+      /* CLASS */
+    )],
+    512
+    /* NEED_PATCH */
+  );
+}
+var mobile$8 = /* @__PURE__ */ _export_sfc$z(_sfc_main$M, [["render", _sfc_render$A]]);
+function _createForOfIteratorHelperLoose$x(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$x(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$x(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$x(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$x(o2, minLen);
+}
+function _arrayLikeToArray$x(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$y = function _export_sfc26(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$x(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+function _extends$p() {
+  _extends$p = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$p.apply(this, arguments);
+}
+var classes$3 = {
+  "title": "text-color-icon-primary font-bold text-xs",
+  "popper": "sm:leading-5 sm:absolute sm:px-4 sm:py-3 sm:z-[2000] sm:text-justify sm:text-xs break-all sm:max-w-[theme(spacing.96)] sm:shadow-md sm:bg-color-bg-1 sm:rounded sm:[&[x-placement^=top]]:mb-2.5 sm:[&[x-placement^=bottom]]:mt-2.5 sm:[&[x-placement^=right]]:ml-2.5 sm:[&[x-placement^=left]]:mr-2.5",
+  "arrow": 'absolute ml-0.5 border-b-color-bg-1 border-l-color-bg-1 rounded-bl-sm block w-0 h-0 border-4 border-transparent border-solid after:absolute after:block after:border-transparent after:border-solid after:content-[""]',
+  "placement-top": "-bottom-1 left-1/2 -rotate-45",
+  "placement-bottom": "-top-1 left-1/2 rotate-[135deg]",
+  "placement-right": "-left-1.5 top-1/2 rotate-45",
+  "placement-left": "top-1/2 -right-1 rotate-[225deg]"
+};
+var _sfc_main$L = defineComponent({
+  inheritAttrs: false,
+  name: $prefix + "Popover",
+  components: {
+    IconClose: index$17()
+  },
+  emits: ["update:modelValue", "hide", "show", "after-enter", "after-leave", "created"],
+  props: _extends$p({}, $props, {
+    appendToBody: {
+      type: Boolean,
+      default: true
+    },
+    arrowOffset: {
+      type: Number,
+      default: 0
+    },
+    boundariesPadding: {
+      type: Number,
+      default: 5
+    },
+    closeDelay: {
+      type: Number,
+      default: 200
+    },
+    content: String,
+    disabled: Boolean,
+    modelValue: Boolean,
+    offset: {
+      default: 0
+    },
+    openDelay: {
+      type: Number,
+      default: 0
+    },
+    placement: {
+      type: String,
+      default: "bottom"
+    },
+    popper: {},
+    popperClass: String,
+    popperOptions: {
+      type: Object,
+      default: function _default2() {
+        return {
+          gpuAcceleration: false
+        };
+      }
+    },
+    reference: {},
+    tabindex: {
+      type: Number,
+      default: 0
+    },
+    title: String,
+    transformOrigin: {
+      type: [Boolean, String],
+      default: true
+    },
+    transition: {
+      type: String,
+      default: "fade-in-linear"
+    },
+    trigger: {
+      type: String,
+      default: "click",
+      validator: function validator3(value) {
+        return ~["click", "focus", "hover", "manual"].indexOf(value);
+      }
+    },
+    visibleArrow: {
+      default: true
+    },
+    genArrowByHtml: {
+      type: Boolean,
+      default: function _default22() {
+        return true;
+      }
+    },
+    width: {}
+  }),
+  setup: function setup$16(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$k,
+      api: api$k,
+      classes: classes$3
+    });
+  }
+});
+var _hoisted_1$x = ["id", "aria-hidden"];
+var _hoisted_2$t = {
+  class: "hidden sm:block leading-5.5",
+  "data-tag": "tiny-popover-arrow"
+};
+var _hoisted_3$p = ["textContent"];
+var _hoisted_4$l = {
+  "data-tag": "tiny-popover-body",
+  class: /* @__PURE__ */ normalizeClass(["sm:hidden block fixed left-0 right-0 top-0 bottom-0 text-sm text-color-text-primary transition-top ease-out duration-300", "before:content-[''] before:fixed before:left-0 before:right-0 before:top-0 before:bottom-0 before:w-full before:h-full before:bg-color-bg-7"])
+};
+var _hoisted_5$j = {
+  class: /* @__PURE__ */ normalizeClass(["absolute bottom-0 top-auto left-1/2 -translate-x-1/2 w-full max-h-full p-3 pointer-events-auto"])
+};
+var _hoisted_6$h = {
+  class: "flex flex-col w-full h-full rounded-lg overflow-hidden shadow-xl bg-color-bg-1"
+};
+var _hoisted_7$d = {
+  "data-tag": "tiny-popover-header",
+  class: "flex items-center leading-6 text-sm px-6 pt-5"
+};
+var _hoisted_8$a = {
+  class: "flex-auto text-base truncate font-semibold"
+};
+var _hoisted_9$9 = {
+  "data-tag": "tiny-popover-content",
+  class: "flex flex-auto leading-5 overflow-auto mx-6 mt-4 mb-5"
+};
+var _hoisted_10$8 = {
+  key: 0,
+  "data-tag": "tiny-popover-footer",
+  class: "w-full py-2.5 px-6 border-t-0.5 border-color-border-separator text-center"
+};
+var _hoisted_11$8 = {
+  "data-tag": "tiny-popover-reference",
+  ref: "wrapper"
+};
+function _sfc_render$z(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createElementBlock(
+    "span",
+    {
+      ref: "root",
+      class: normalizeClass(_ctx2.$attrs.class)
+    },
+    [createVNode$1(Transition$1, {
+      name: _ctx2.transition,
+      onAfterEnter: _ctx2.handleAfterEnter,
+      onAfterLeave: _ctx2.handleAfterLeave,
+      persisted: ""
+    }, {
+      default: withCtx(function() {
+        return [withDirectives(createBaseVNode("div", {
+          "data-tag": "tiny-popover tiny-popper",
+          class: normalizeClass([_ctx2.m(_ctx2.gcls("popper"), _ctx2.popperClass)]),
+          ref: "popper",
+          style: normalizeStyle$2({
+            width: _ctx2.width + "px"
+          }),
+          role: "tooltip",
+          id: _ctx2.state.tooltipId,
+          "aria-hidden": _ctx2.disabled || !_ctx2.state.showPopper ? "true" : "false"
+        }, [createBaseVNode("div", _hoisted_2$t, [_ctx2.slots.header ? renderSlot(_ctx2.$slots, "header", {
+          key: 0
+        }) : _ctx2.title ? (openBlock(), createElementBlock("div", {
+          key: 1,
+          class: normalizeClass([_ctx2.gcls("title")]),
+          textContent: toDisplayString(_ctx2.title)
+        }, null, 10, _hoisted_3$p)) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {}, function() {
+          return [createTextVNode(
+            toDisplayString(_ctx2.content),
+            1
+            /* TEXT */
+          )];
+        }), renderSlot(_ctx2.$slots, "footer"), _ctx2.visibleArrow ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 2,
+            "data-tag": "tiny-popover-visible",
+            "x-arrow": "",
+            class: normalizeClass([_ctx2.gcls("arrow"), _ctx2.gcls("placement-" + _ctx2.state.xPlacement.split("-")[0])])
+          },
+          null,
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true)]), createBaseVNode("div", _hoisted_4$l, [createBaseVNode("div", _hoisted_5$j, [createBaseVNode("div", _hoisted_6$h, [createBaseVNode("div", _hoisted_7$d, [createBaseVNode(
+          "span",
+          _hoisted_8$a,
+          toDisplayString(_ctx2.title || _ctx2.t("ui.alert.title")),
+          1
+          /* TEXT */
+        ), createVNode$1(_component_icon_close, {
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx2.state.showPopper = false;
+          })
+        })]), createBaseVNode("div", _hoisted_9$9, [renderSlot(_ctx2.$slots, "default", {}, function() {
+          return [createTextVNode(
+            toDisplayString(_ctx2.content),
+            1
+            /* TEXT */
+          )];
+        })]), _ctx2.slots.footer ? (openBlock(), createElementBlock("div", _hoisted_10$8, [renderSlot(_ctx2.$slots, "footer")])) : createCommentVNode("v-if", true)])])])], 14, _hoisted_1$x), [[vShow, !_ctx2.disabled && _ctx2.state.showPopper]])];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["name", "onAfterEnter", "onAfterLeave"]), createBaseVNode(
+      "span",
+      _hoisted_11$8,
+      [renderSlot(_ctx2.$slots, "reference")],
+      512
+      /* NEED_PATCH */
+    )],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst$9 = /* @__PURE__ */ _export_sfc$y(_sfc_main$L, [["render", _sfc_render$z]]);
+function _extends$o() {
+  _extends$o = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$o.apply(this, arguments);
+}
+var template$i = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$f;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$8;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$9;
+  }
+  return pc$f;
+};
+var popoverProps = _extends$o({}, $props, {
+  appendToBody: {
+    type: Boolean,
+    default: true
+  },
+  arrowOffset: {
+    type: Number,
+    default: 0
+  },
+  boundariesPadding: {
+    type: Number,
+    default: 5
+  },
+  closeDelay: {
+    type: Number,
+    default: 200
+  },
+  content: String,
+  disabled: Boolean,
+  modelValue: Boolean,
+  offset: {
+    default: 0
+  },
+  openDelay: {
+    type: Number,
+    default: 0
+  },
+  placement: {
+    type: String,
+    default: "bottom"
+  },
+  popper: {},
+  popperClass: String,
+  popperOptions: {
+    type: Object,
+    default: function _default3() {
+      return {
+        gpuAcceleration: false
+      };
+    }
+  },
+  reference: {},
+  tabindex: {
+    type: Number,
+    default: 0
+  },
+  title: String,
+  transition: {
+    type: String,
+    default: "fade-in-linear"
+  },
+  trigger: {
+    type: String,
+    default: "click",
+    validator: function validator4(value) {
+      return Boolean(~["click", "focus", "hover", "manual"].indexOf(value));
+    }
+  },
+  visibleArrow: {
+    default: true
+  },
+  width: {
+    type: [String, Number]
+  },
+  height: {
+    type: [String, Number]
+  },
+  maxHeight: {
+    type: [String, Number]
+  },
+  listData: [Object, Array],
+  genArrowByHtml: {
+    type: Boolean,
+    default: function _default23() {
+      return true;
+    }
+  }
+});
+var Popover = defineComponent({
+  inheritAttrs: true,
+  name: $prefix + "Popover",
+  props: popoverProps,
+  setup: function setup4(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$i
+    });
+  }
+});
+var version$l = "3.16.0";
+Popover.install = function(Vue) {
+  Vue.component(Popover.name, Popover);
+};
+Popover.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Popover.version = version$l;
+const isServer$1 = typeof window === "undefined";
+const nodeList = [];
+const nameSpace = "@@clickoutsideContext";
+let startClick;
+let seed = 0;
+if (!isServer$1) {
+  on(document, "mousedown", (event2) => startClick = event2);
+  on(document, "mouseup", (event2) => {
+    nodeList.forEach((node) => node[nameSpace].documentHandler(event2, startClick));
+    startClick = void 0;
+  });
+}
+const createDocumentHandler = (el, binding, vnode) => function(mouseup2 = {}, mousedown2 = {}) {
+  let popperElm = vnode.context.popperElm || vnode.context.state && vnode.context.state.popperElm;
+  if (!mouseup2 || !mouseup2.target || !mousedown2 || !mousedown2.target || el.contains(mouseup2.target) || el.contains(mousedown2.target) || el === mouseup2.target || popperElm && (popperElm.contains(mouseup2.target) || popperElm.contains(mousedown2.target))) {
+    return;
+  }
+  if (binding.expression && el[nameSpace].methodName && vnode.context[el[nameSpace].methodName]) {
+    vnode.context[el[nameSpace].methodName]();
+  } else {
+    el[nameSpace].bindingFn && el[nameSpace].bindingFn();
+  }
+};
+var clickoutside_default = {
+  bind: (el, binding, vnode) => {
+    nodeList.push(el);
+    const id = seed++;
+    el[nameSpace] = {
+      id,
+      documentHandler: createDocumentHandler(el, binding, vnode),
+      methodName: binding.expression,
+      bindingFn: binding.value
+    };
+  },
+  update: (el, binding, vnode) => {
+    el[nameSpace].documentHandler = createDocumentHandler(el, binding, vnode);
+    el[nameSpace].methodName = binding.expression;
+    el[nameSpace].bindingFn = binding.value;
+  },
+  unbind: (el) => {
+    if (el.nodeType !== Node.ELEMENT_NODE) {
+      return;
+    }
+    let len2 = nodeList.length;
+    for (let i2 = 0; i2 < len2; i2++) {
+      if (nodeList[i2][nameSpace].id === el[nameSpace].id) {
+        nodeList.splice(i2, 1);
+        break;
+      }
+    }
+    if (nodeList.length === 0 && startClick) {
+      startClick = null;
+    }
+    delete el[nameSpace];
+  }
+};
+const show$1 = ({ api: api2, state, props: props2 }) => (event2) => {
+  const defaultDelay = 200;
+  const delay = event2 && event2.type === "mouseenter" ? defaultDelay : 0;
+  if (props2.visible === "auto") {
+    const { clientWidth, scrollWidth } = state.referenceElm;
+    if (scrollWidth <= clientWidth) {
+      return;
+    }
+  }
+  api2.setExpectedState(true);
+  api2.handleShowPopper(delay);
+};
+const hide$2 = (api2) => () => {
+  api2.setExpectedState(false);
+  api2.debounceClose();
+};
+const handleFocus$1 = ({ api: api2, state }) => () => {
+  state.focusing = true;
+  api2.show();
+};
+const handleBlur$1 = ({ api: api2, state }) => () => {
+  state.focusing = false;
+  api2.hide();
+};
+const removeFocusing = ({ api: api2, state }) => () => {
+  state.focusing = false;
+  api2.show();
+};
+const handleShowPopper = ({ props: props2, state }) => (delay) => {
+  if (!state.expectedState || props2.manual) {
+    return;
+  }
+  clearTimeout(state.timeout);
+  state.timeout = window.setTimeout(() => {
+    state.showPopper = true;
+  }, props2.openDelay || delay);
+  if (props2.hideAfter > 0) {
+    state.timeoutPending = window.setTimeout(() => {
+      state.showPopper = false;
+    }, props2.hideAfter);
+  }
+};
+const handleClosePopper = ({ api: api2, props: props2, state }) => () => {
+  if (props2.enterable && state.expectedState || props2.manual) {
+    return;
+  }
+  clearTimeout(state.timeout);
+  if (state.timeoutPending) {
+    clearTimeout(state.timeoutPending);
+  }
+  state.showPopper = false;
+  if (props2.disabled) {
+    api2.doDestroy();
+  }
+};
+const handleDocumentClick$1 = ({ props: props2, api: api2, state, popperVmRef }) => (event2) => {
+  if (props2.manual)
+    return;
+  const reference = state.referenceElm;
+  const $el = popperVmRef.popper;
+  if (!$el || !reference || $el.contains(event2.target) || reference.contains(event2.target)) {
+    return;
+  }
+  if (state.showPopper) {
+    api2.setExpectedState(false);
+    api2.debounceClose();
+  }
+};
+const setExpectedState = ({ state }) => (value) => {
+  if (state.expectedState === false) {
+    clearTimeout(state.timeoutPending);
+  }
+  state.expectedState = value;
+};
+const destroyed = ({ state, api: api2, vm }) => () => {
+  const reference = state.referenceElm;
+  state.showPopper = false;
+  if (reference && reference.nodeType === 1) {
+    off(document, "click", api2.handleDocumentClick);
+    off(reference, "mouseenter", api2.show);
+    off(reference, "mouseleave", api2.hide);
+    off(reference, "focus", api2.focusHandler);
+    off(reference, "blur", api2.handleBlur);
+    off(reference, "click", api2.removeFocusing);
+  }
+  if (vm.popperVM) {
+    typeof vm.popperVM.$destroy === "function" && vm.popperVM.$destroy();
+    vm.popperVM = null;
+  }
+};
+const debounceClose = ({ api: api2, props: props2 }) => debounce_default(props2.closeDelay, () => {
+  api2.handleClosePopper();
+});
+const watchFocusing = (state) => (value) => {
+  if (value) {
+    addClass(state.referenceElm, "focusing");
+  } else {
+    removeClass(state.referenceElm, "focusing");
+  }
+};
+const focusHandler = ({ slots, api: api2 }) => () => {
+  if (!slots.default || !slots.default().length) {
+    api2.handleFocus();
+    return;
+  }
+  let instance = slots.default()[0];
+  instance = instance.elm || instance.el;
+  if (instance && instance.focus) {
+    instance.focus();
+  } else {
+    api2.handleFocus();
+  }
+};
+const bindEvent = ({ api: api2, state, vm }) => (reference) => {
+  let referenceElm = null;
+  if (vm.$el.nodeType === 8) {
+    referenceElm = reference;
+  } else if (vm.$el.nodeType === 1) {
+    referenceElm = vm.$el;
+  }
+  if (!referenceElm || referenceElm.nodeType === 8 || state.referenceElm) {
+    return;
+  }
+  state.referenceElm = referenceElm;
+  referenceElm.setAttribute("aria-describedby", state.tooltipId);
+  referenceElm.setAttribute("tabindex", state.tabindex.toString());
+  on(document, "click", api2.handleDocumentClick);
+  on(referenceElm, "mouseenter", api2.show);
+  on(referenceElm, "mouseleave", api2.hide);
+  on(referenceElm, "focus", api2.focusHandler);
+  on(referenceElm, "blur", api2.handleBlur);
+  on(referenceElm, "click", api2.removeFocusing);
+};
+const observeCallback = ({ state, popperVmRef }) => (mutationsList) => {
+  for (let mutation of mutationsList) {
+    if (mutation.type === "attributes" && mutation.attributeName === "x-placement") {
+      state.xPlacement = popperVmRef.popper.getAttribute("x-placement") || "bottom";
+    }
+  }
+};
+const bindPopper = ({ vm, nextTick: nextTick2, popperVmRef }) => (el) => {
+  nextTick2(() => vm.bindEvent(el));
+  let popperVM = vm.popperVM;
+  if (!vm.$refs.popper) {
+    popperVmRef.popper = popperVM.$el;
+  } else {
+    popperVmRef.popper = vm.$refs.popper;
+  }
+  nextTick2(() => {
+    if (vm.modelValue) {
+      vm.updatePopper();
+    }
+  });
+};
+const api$j = [
+  "state",
+  "bindEvent",
+  "hide",
+  "show",
+  "doDestroy",
+  "handleFocus",
+  "debounceClose",
+  "handleShowPopper",
+  "handleClosePopper",
+  "setExpectedState",
+  "updatePopper",
+  "focusHandler"
+];
+const initState$5 = ({ reactive, showPopper, popperElm, referenceElm, props: props2, inject: inject2 }) => reactive({
+  showPopper,
+  popperElm,
+  referenceElm,
+  timeout: null,
+  focusing: false,
+  expectedState: void 0,
+  tooltipId: guid$1("tiny-tooltip-", 4),
+  tabindex: props2.tabindex,
+  xPlacement: "bottom",
+  showContent: inject2("showContent", null),
+  tipsMaxWidth: inject2("tips-max-width", null)
+});
+const renderless$j = (props2, {
+  watch: watch2,
+  toRefs,
+  reactive,
+  onBeforeUnmount: onBeforeUnmount2,
+  onDeactivated,
+  onMounted: onMounted2,
+  onUnmounted,
+  inject: inject2
+}, { vm, emit, slots, nextTick: nextTick2, parent: parent3 }) => {
+  const api2 = {};
+  const popperVmRef = {};
+  const popperParam = { emit, props: props2, nextTick: nextTick2, toRefs, reactive, parent: parent3.$parent, vm, popperVmRef };
+  Object.assign(popperParam, { slots, onBeforeUnmount: onBeforeUnmount2, onDeactivated, watch: watch2 });
+  const { showPopper, updatePopper, popperElm, referenceElm, doDestroy } = vue_popper_default(popperParam);
+  const state = initState$5({ reactive, showPopper, popperElm, referenceElm, props: props2, inject: inject2 });
+  Object.assign(api2, {
+    state,
+    doDestroy,
+    updatePopper,
+    show: show$1({ api: api2, state, props: props2 }),
+    hide: hide$2(api2),
+    destroyed: destroyed({ state, api: api2, vm }),
+    bindPopper: bindPopper({ vm, nextTick: nextTick2, popperVmRef }),
+    watchFocusing: watchFocusing(state),
+    removeFocusing: removeFocusing({ api: api2, state }),
+    handleBlur: handleBlur$1({ api: api2, state }),
+    handleFocus: handleFocus$1({ api: api2, state }),
+    debounceClose: debounceClose({ api: api2, props: props2 }),
+    setExpectedState: setExpectedState({ state }),
+    handleShowPopper: handleShowPopper({ props: props2, state }),
+    handleClosePopper: handleClosePopper({ api: api2, props: props2, state }),
+    bindEvent: bindEvent({ api: api2, state, vm }),
+    focusHandler: focusHandler({ slots, api: api2 }),
+    handleDocumentClick: handleDocumentClick$1({ props: props2, api: api2, state, popperVmRef }),
+    observeCallback: observeCallback({ state, popperVmRef })
+  });
+  watch2(() => state.focusing, api2.watchFocusing);
+  watch2(
+    () => props2.modelValue,
+    (val) => nextTick2(() => props2.manual && (state.showPopper = val))
+  );
+  onMounted2(() => {
+    api2.bindPopper();
+    if (props2.genArrowByHtml) {
+      const config2 = { attributes: true, childList: false, subtree: false };
+      api2.observer = new MutationObserver(api2.observeCallback);
+      api2.observer.observe(popperVmRef.popper, config2);
+    }
+  });
+  vm.$on("tooltip-update", api2.bindPopper);
+  onUnmounted(() => {
+    api2.destroyed();
+    api2.observer && api2.observer.disconnect();
+  });
+  return api2;
+};
+const index$t = "";
+function _extends$n() {
+  _extends$n = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$n.apply(this, arguments);
+}
+var _sfc_main$K = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Tooltip",
+  componentName: "Tooltip",
+  props: _extends$n({}, $props, {
+    visible: {
+      type: String,
+      default: function _default4() {
+        return "always";
+      },
+      validator: function validator5(value) {
+        return ["always", "auto"].includes(value);
+      }
+    },
+    adjustArrow: {
+      type: Boolean,
+      default: function _default24() {
+        return false;
+      }
+    },
+    appendToBody: {
+      type: Boolean,
+      default: function _default32() {
+        return true;
+      }
+    },
+    arrowOffset: {
+      type: Number,
+      default: function _default42() {
+        return 0;
+      }
+    },
+    boundariesPadding: {
+      type: Number,
+      default: function _default5() {
+        return 5;
+      }
+    },
+    closeDelay: {
+      type: Number,
+      default: function _default6() {
+        return 300;
+      }
+    },
+    content: {
+      type: [String, Object]
+    },
+    disabled: {
+      type: Boolean
+    },
+    effect: {
+      type: String,
+      default: function _default7() {
+        return "dark";
+      }
+    },
+    enterable: {
+      type: Boolean,
+      default: function _default8() {
+        return true;
+      }
+    },
+    hideAfter: {
+      type: Number,
+      default: function _default9() {
+        return 0;
+      }
+    },
+    manual: {
+      type: Boolean
+    },
+    modelValue: {
+      type: Boolean
+    },
+    offset: {
+      default: function _default10() {
+        return 0;
+      }
+    },
+    openDelay: {
+      type: Number,
+      default: function _default11() {
+        return 0;
+      }
+    },
+    placement: {
+      type: String,
+      default: function _default12() {
+        return "bottom";
+      }
+    },
+    popper: {},
+    popperClass: {
+      type: String
+    },
+    popperOptions: {
+      default: function _default13() {
+        return {
+          gpuAcceleration: false,
+          boundariesPadding: 10
+        };
+      }
+    },
+    pre: {
+      type: Boolean
+    },
+    reference: {},
+    renderContent: {
+      type: Function
+    },
+    tabindex: {
+      type: Number,
+      default: function _default14() {
+        return 0;
+      }
+    },
+    transition: {
+      type: String,
+      default: function _default15() {
+        return "tiny-fade-in-linear";
+      }
+    },
+    type: {
+      type: String,
+      validator: function validator22(value) {
+        return Boolean(~["normal", "warning", "error", "info", "success"].indexOf(value));
+      }
+    },
+    visibleArrow: {
+      type: Boolean,
+      default: function _default16() {
+        return true;
+      }
+    },
+    zIndex: {
+      type: String,
+      default: function _default17() {
+        return "next";
+      }
+    }
+  }),
+  setup: function setup$17(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$j,
+      api: api$j
+    });
+  },
+  render: function render2() {
+    var _this = this;
+    var getContent = function getContent2(vm) {
+      var slotContent = vm.slots.content && vm.slots.content();
+      if (slotContent && (!Comment$1 || slotContent[0].type !== Comment$1)) {
+        return slotContent;
+      }
+      var attrContent;
+      if (vm.renderContent) {
+        attrContent = vm.renderContent(h, vm.content);
+      } else if (vm.pre) {
+        attrContent = vm.content ? h("pre", vm.content) : null;
+      } else {
+        attrContent = vm.content;
+      }
+      return attrContent;
+    };
+    if (!Object.prototype.hasOwnProperty.call(this, "popperVM")) {
+      var popperVM = createComponent({
+        el: document.createElement("div"),
+        propsData: null,
+        component: {
+          render: function render23() {
+            var content = getContent(_this);
+            var propsData = {
+              attrs: {
+                name: _this.transition
+              },
+              on: {
+                "after-leave": _this.doDestroy
+              }
+            };
+            var typeClass = "is-" + (_this.type || _this.effect || "dark");
+            var mouseenter = function mouseenter2() {
+              return _this.setExpectedState(true);
+            };
+            var mouseleave = function mouseleave2() {
+              _this.setExpectedState(false);
+              _this.debounceClose();
+            };
+            _this.$nextTick(function() {
+              if (!_this.disabled && _this.state.showPopper && content) {
+                _this.updatePopper();
+              }
+            });
+            return h("transition", propsData, [withDirectives(createVNode$1("div", {
+              "ref": "popper",
+              "id": _this.state.tooltipId,
+              "class": ["tiny-tooltip", "tiny-tooltip__popper", typeClass, _this.popperClass, {
+                "tiny-tooltip__show-tips": _this.state.showContent
+              }],
+              "style": "max-width:" + _this.state.tipsMaxWidth + "px",
+              "role": "tooltip",
+              "aria-hidden": _this.disabled || !_this.state.showPopper ? "true" : "false",
+              "onMouseenter": function onMouseenter() {
+                return mouseenter();
+              },
+              "onMouseleave": function onMouseleave() {
+                return mouseleave();
+              }
+            }, [content]), [[vShow, !_this.disabled && _this.state.showPopper && content]])]);
+          }
+        }
+      });
+      this.d({
+        popperVM: {
+          get: function get2() {
+            return popperVM;
+          },
+          set: function set2(v4) {
+            return popperVM = v4;
+          }
+        }
+      });
+    }
+    var stringifyClassObj = function stringifyClassObj2(classObj) {
+      return Object.keys(classObj).filter(function(key2) {
+        return classObj[key2];
+      }).join(" ");
+    };
+    var stringifyClassArr = function stringifyClassArr2(classArr) {
+      return classArr.filter(function(item) {
+        return item;
+      }).map(function(item) {
+        return typeof item === "string" ? item.trim() : typeof item === "object" ? stringifyClassObj(item) : "";
+      }).join(" ");
+    };
+    var addTooltipClass = function addTooltipClass2(bindClass) {
+      var className = "";
+      if (bindClass) {
+        if (typeof bindClass === "string") {
+          className = bindClass.trim();
+        } else if (Array.isArray(bindClass)) {
+          className = stringifyClassArr(bindClass);
+        } else if (typeof bindClass === "object") {
+          className = stringifyClassObj(bindClass);
+        }
+      }
+      return "tiny-tooltip " + className.replace(/\btiny-tooltip\b/g, "").trim();
+    };
+    var getFirstElement = function getFirstElement2() {
+      var slots = _this.slots.default && _this.slots.default();
+      if (!Array.isArray(slots))
+        return null;
+      var element = null;
+      for (var index3 = 0; index3 < slots.length; index3++) {
+        var vnode = parseVnode(slots[index3]);
+        if (!isEmptyVnode(vnode)) {
+          element = vnode;
+          break;
+        }
+      }
+      return element;
+    };
+    var firstElement = getFirstElement();
+    if (!firstElement)
+      return null;
+    var data2 = firstElement.data || firstElement.props || (firstElement.props = {});
+    data2.class = addTooltipClass(data2.class);
+    return firstElement;
+  }
+});
+function _extends$m() {
+  _extends$m = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$m.apply(this, arguments);
+}
+var classes$2 = {
+  "tooltip": "absolute bg-color-text-primary text-color-text-inverse shadow-none -left-[9999px] py-2 px-3 sm:py-1.5 sm:px-2 text-sm sm:text-xs leading-tight min-w-[theme(spacing.12)] max-w-[theme(spacing.80)] sm:max-w-[theme(spacing.112)] z-[2000] break-words rounded [&[x-placement^=top]]:mb-2.5 [&[x-placement^=bottom]]:mt-2.5 [&[x-placement^=right]]:ml-2.5 [&[x-placement^=left]]:mr-2.5",
+  "tooltip-sm": "sm:bg-color-bg-1 sm:text-color-text-primary sm:shadow-md",
+  "arrow": 'drop-shadow-none absolute block w-0 h-0 border-[0.375rem] border-transparent border-solid after:absolute after:block after:w-0 after:h-0 after:border-[0.3125rem] after:border-transparent after:border-solid after:content-[""]',
+  "placement-top": "-bottom-3 border-t-color-text-primary border-b-w-0 after:-bottom-1 after:-ml-1.5 after:border-t-color-text-primary after:border-b-w-0",
+  "placement-bottom": "-top-3 border-t-w-0 border-b-color-text-primary after:-top-1 after:-ml-1.5 after:border-t-w-0 after:border-b-color-text-primary",
+  "placement-right": "-left-3 border-r-color-text-primary border-l-w-0 after:-bottom-1 after:-left-1 after:border-r-color-text-primary after:border-l-w-0",
+  "placement-left": "-right-1.5 border-l-color-text-primary border-r-0 after:-bottom-1 after:right-px after:-ml-1.5 after:border-l-color-text-primary after:border-r-0",
+  "placement-top-sm": "sm:drop-shadow-[0_2px_2px_rgba(0,0,0,0.08)] sm:border-t-color-bg-1 sm:after:border-t-color-bg-1",
+  "placement-bottom-sm": "sm:drop-shadow-[0_-2px_2px_rgba(0,0,0,0.08)] sm:border-b-color-bg-1 sm:after:border-b-color-bg-1",
+  "placement-right-sm": "sm:drop-shadow-[-2px_0px_2px_rgba(0,0,0,0.08)] sm:border-r-color-bg-1 sm:after:border-r-color-bg-1",
+  "placement-left-sm": "sm:drop-shadow-[2px_0_2px_rgba(0,0,0,0.08)] sm:border-l-color-bg-1 sm:after:border-l-color-bg-1",
+  "placement-top-light": "border-t-color-bg-1 drop-shadow-[0_2px_2px_rgba(0,0,0,0.08)] after:border-t-color-bg-1",
+  "placement-bottom-light": "border-b-color-bg-1 drop-shadow-[0_-2px_2px_rgba(0,0,0,0.08)] after:border-b-color-bg-1",
+  "placement-left-light": "border-l-color-bg-1 drop-shadow-[2px_0_2px_rgba(0,0,0,0.08)] after:border-l-color-bg-1",
+  "placement-right-light": "border-r-color-bg-1 drop-shadow-[-2px_0px_2px_rgba(0,0,0,0.08)] after:border-r-color-bg-1",
+  "placement-top-dark": "border-t-color-text-primary after:border-t-color-text-primary",
+  "placement-bottom-dark": "border-b-color-text-primary after:border-b-color-text-primary",
+  "placement-left-dark": "border-l-color-text-primary after:border-l-color-text-primary",
+  "placement-right-dark": "border-r-color-text-primary after:border-r-color-text-primary",
+  "effect-dark": "bg-color-text-primary text-color-text-inverse shadow-none",
+  "effect-light": "bg-color-bg-1 text-color-text-primary shadow-md",
+  "is-warning": "text-color-text-inverse bg-color-warning border-color-warning",
+  "is-error": "text-color-text-inverse bg-color-error border-color-error",
+  "is-info": "text-color-text-inverse bg-color-info-secondary border-color-info-secondary",
+  "is-success": "text-color-text-inverse bg-color-success border-color-success",
+  "arrow-top-warning": "border-t-color-warning after:border-t-color-warning",
+  "arrow-bottom-warning": "border-b-color-warning after:border-b-color-warning",
+  "arrow-left-warning": "border-l-color-warning after:border-l-color-warning",
+  "arrow-right-warning": "border-r-color-warning after:border-r-color-warning",
+  "arrow-top-error": "border-t-color-error after:border-t-color-error",
+  "arrow-bottom-error": "border-b-color-error after:border-b-color-error",
+  "arrow-left-error": "border-l-color-error after:border-l-color-error",
+  "arrow-right-error": "border-r-color-error after:border-r-color-error",
+  "arrow-top-info": "border-t-color-info-secondary after:border-t-color-info-secondary",
+  "arrow-bottom-info": "border-b-color-info-secondary after:border-b-color-info-secondary",
+  "arrow-left-info": "border-l-color-info-secondary after:border-l-color-info-secondary",
+  "arrow-right-info": "border-r-color-info-secondary after:border-r-color-info-secondary",
+  "arrow-top-success": "border-t-color-success after:border-t-color-success",
+  "arrow-bottom-success": "border-b-color-success after:border-b-color-success",
+  "arrow-left-success": "border-l-color-success after:border-l-color-success",
+  "arrow-right-success": "border-r-color-success after:border-r-color-success"
+};
+var _sfc_main$J = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Tooltip",
+  componentName: "Tooltip",
+  props: _extends$m({}, $props, {
+    adjustArrow: {
+      type: Boolean,
+      default: function _default18() {
+        return false;
+      }
+    },
+    appendToBody: {
+      type: Boolean,
+      default: function _default25() {
+        return true;
+      }
+    },
+    arrowOffset: {
+      type: Number,
+      default: function _default33() {
+        return 0;
+      }
+    },
+    boundariesPadding: {
+      type: Number,
+      default: function _default43() {
+        return 5;
+      }
+    },
+    closeDelay: {
+      type: Number,
+      default: function _default52() {
+        return 100;
+      }
+    },
+    content: {
+      type: String
+    },
+    disabled: {
+      type: Boolean
+    },
+    effect: {
+      type: String,
+      default: function _default62() {
+        return "";
+      }
+    },
+    enterable: {
+      type: Boolean,
+      default: function _default72() {
+        return true;
+      }
+    },
+    hideAfter: {
+      type: Number,
+      default: function _default82() {
+        return 0;
+      }
+    },
+    manual: {
+      type: Boolean
+    },
+    modelValue: {
+      type: Boolean
+    },
+    offset: {
+      default: function _default92() {
+        return 0;
+      }
+    },
+    openDelay: {
+      type: Number,
+      default: function _default102() {
+        return 0;
+      }
+    },
+    placement: {
+      type: String,
+      default: function _default112() {
+        return "bottom";
+      }
+    },
+    popper: {},
+    popperClass: {
+      type: String
+    },
+    popperOptions: {
+      default: function _default122() {
+        return {
+          gpuAcceleration: false,
+          boundariesPadding: 10
+        };
+      }
+    },
+    pre: {
+      type: Boolean
+    },
+    reference: {},
+    renderContent: {
+      type: Function
+    },
+    tabindex: {
+      type: Number,
+      default: function _default132() {
+        return 0;
+      }
+    },
+    transformOrigin: {
+      type: [Boolean, String],
+      default: function _default142() {
+        return true;
+      }
+    },
+    type: {
+      type: String,
+      validator: function validator6(value) {
+        return ~["normal", "warning", "error", "info", "success"].indexOf(value);
+      }
+    },
+    visibleArrow: {
+      type: Boolean,
+      default: function _default152() {
+        return true;
+      }
+    },
+    genArrowByHtml: {
+      type: Boolean,
+      default: function _default162() {
+        return true;
+      }
+    },
+    zIndex: {
+      type: String,
+      default: function _default172() {
+        return "next";
+      }
+    }
+  }),
+  setup: function setup$18(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$j,
+      api: api$j
+    });
+  },
+  render: function render3() {
+    var _this = this;
+    var getContent = function getContent2(vm) {
+      var slotContent = vm.slots.content && vm.slots.content();
+      if (slotContent) {
+        return slotContent;
+      }
+      var attrContent;
+      if (vm.renderContent) {
+        attrContent = vm.renderContent(h, vm.content);
+      } else if (vm.pre) {
+        attrContent = vm.content ? h("pre", {
+          class: "whitespace-pre-wrap"
+        }, vm.content) : null;
+      } else {
+        attrContent = vm.content;
+      }
+      return attrContent;
+    };
+    if (!Object.hasOwnProperty.call(this, "popperVM")) {
+      var popperVM = createComponent({
+        el: document.createElement("div"),
+        component: {
+          render: function render23() {
+            var content = getContent(_this);
+            var propsData = {
+              on: {
+                "after-leave": _this.doDestroy
+              }
+            };
+            var mouseenter = function mouseenter2() {
+              return _this.setExpectedState(true);
+            };
+            var mouseleave = function mouseleave2() {
+              _this.setExpectedState(false);
+              _this.debounceClose();
+            };
+            var xPlacement = _this.state.xPlacement || "";
+            return h("transition", propsData, [withDirectives(createVNode$1("div", {
+              "data-tag": "tiny-tooltip",
+              "ref": "popper",
+              "id": _this.state.tooltipId,
+              "appendToBody": _this.appendToBody,
+              "class": mergeClass([classes$2.tooltip, !_this.effect && !_this.type && classes$2["tooltip-sm"], _this.effect && classes$2["effect-" + _this.effect], _this.type && classes$2["is-" + _this.type], _this.disabled || !_this.state.showPopper ? "hidden" : "", _this.popperClass]),
+              "role": "tooltip",
+              "aria-hidden": _this.disabled || !_this.state.showPopper ? "true" : "false",
+              "onMouseenter": function onMouseenter() {
+                return mouseenter();
+              },
+              "onMouseleave": function onMouseleave() {
+                return mouseleave();
+              }
+            }, [content, _this.visibleArrow ? createVNode$1("div", {
+              "x-arrow": true,
+              "class": mergeClass([classes$2.arrow, classes$2["placement-" + xPlacement.split("-")[0]], !_this.effect && !_this.type && classes$2["placement-" + xPlacement.split("-")[0] + "-sm"], _this.effect === "light" ? classes$2["placement-" + xPlacement.split("-")[0] + "-light"] : "", _this.effect === "dark" ? classes$2["placement-" + xPlacement.split("-")[0] + "-dark"] : "", _this.type ? classes$2["arrow-" + xPlacement.split("-")[0] + "-" + _this.type] : ""])
+            }, null) : ""]), [[vShow, !_this.disabled && _this.state.showPopper && content]])]);
+          }
+        }
+      });
+      this.d({
+        popperVM: {
+          get: function get2() {
+            return popperVM;
+          },
+          set: function set2(v4) {
+            return popperVM = v4;
+          }
+        }
+      });
+    }
+    var stringifyBindClass = function stringifyBindClass2(bindClass, removeClassRE) {
+      var trimStr = function trimStr2(str) {
+        return str ? str.trim() : str;
+      };
+      var stringifyClassArr = function stringifyClassArr2(classArr) {
+        var arr = [];
+        classArr.forEach(function(item) {
+          if (item && typeof item === "string") {
+            arr.push(trimStr(item));
+          } else if (item && typeof item === "object") {
+            arr.push(stringifyClassObj(item));
+          }
+        });
+        return arr.join(" ");
+      };
+      var stringifyClassObj = function stringifyClassObj2(classObj) {
+        var arr = [];
+        Object.keys(classObj).forEach(function(key2) {
+          if (classObj[key2]) {
+            arr.push(key2);
+          }
+        });
+        return arr.join(" ");
+      };
+      var className = "";
+      if (bindClass) {
+        if (typeof bindClass === "string") {
+          className = className + trimStr(bindClass);
+        } else if (Array.isArray(bindClass)) {
+          className = className + stringifyClassArr(bindClass);
+        } else if (typeof bindClass === "object") {
+          className = className + stringifyClassObj(bindClass);
+        }
+      }
+      return trimStr(className.replace(removeClassRE, ""));
+    };
+    var addTooltipClass = function addTooltipClass2(bindClass) {
+      var className = stringifyBindClass(bindClass, /\btiny-tooltip\b/g);
+      return "tiny-tooltip " + className;
+    };
+    var getFirstElement = function getFirstElement2() {
+      var slots = _this.slots.default && _this.slots.default();
+      if (!Array.isArray(slots))
+        return null;
+      var element = null;
+      for (var index3 = 0; index3 < slots.length; index3++) {
+        var vnode = parseVnode(slots[index3]);
+        if (!isEmptyVnode(vnode)) {
+          element = vnode;
+          break;
+        }
+      }
+      return element;
+    };
+    var firstElement = getFirstElement();
+    if (!firstElement)
+      return null;
+    var data2 = firstElement.data || firstElement.props || (firstElement.props = {});
+    data2.class = addTooltipClass(data2.class);
+    return firstElement;
+  }
+});
+function _extends$l() {
+  _extends$l = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$l.apply(this, arguments);
+}
+var template$h = function template23(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return _sfc_main$K;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$J;
+  }
+  return _sfc_main$K;
+};
+var tooltipProps = _extends$l({}, $props, {
+  visible: {
+    type: String,
+    default: function _default19() {
+      return "always";
+    },
+    validator: function validator7(value) {
+      return ["always", "auto"].includes(value);
+    }
+  },
+  adjustArrow: {
+    type: Boolean,
+    default: function _default26() {
+      return false;
+    }
+  },
+  appendToBody: {
+    type: Boolean,
+    default: function _default34() {
+      return true;
+    }
+  },
+  arrowOffset: {
+    type: Number,
+    default: function _default44() {
+      return 0;
+    }
+  },
+  content: {
+    type: [String, Object]
+  },
+  disabled: {
+    type: Boolean
+  },
+  enterable: {
+    type: Boolean,
+    default: function _default53() {
+      return true;
+    }
+  },
+  hideAfter: {
+    type: Number,
+    default: function _default63() {
+      return 0;
+    }
+  },
+  manual: {
+    type: Boolean
+  },
+  modelValue: {
+    type: Boolean
+  },
+  offset: {
+    default: function _default73() {
+      return 0;
+    }
+  },
+  effect: {
+    type: String,
+    default: function _default83() {
+      return "";
+    }
+  },
+  openDelay: {
+    type: Number,
+    default: function _default93() {
+      return 0;
+    }
+  },
+  closeDelay: {
+    type: Number,
+    default: function _default103() {
+      return 100;
+    }
+  },
+  placement: {
+    type: String,
+    default: function _default113() {
+      return "bottom";
+    }
+  },
+  popper: {},
+  popperClass: {
+    type: String
+  },
+  popperOptions: {
+    default: function _default123() {
+      return {};
+    }
+  },
+  pre: {
+    type: Boolean
+  },
+  reference: {},
+  renderContent: {
+    type: Function
+  },
+  tabindex: {
+    type: Number,
+    default: function _default133() {
+      return 0;
+    }
+  },
+  transition: {
+    type: String,
+    default: function _default143() {
+      return "tiny-fade-in-linear";
+    }
+  },
+  type: {
+    type: String,
+    validator: function validator23(value) {
+      return Boolean(~["normal", "warning", "error", "info", "success"].indexOf(value));
+    }
+  },
+  visibleArrow: {
+    type: Boolean,
+    default: function _default153() {
+      return true;
+    }
+  },
+  genArrowByHtml: {
+    type: Boolean,
+    default: function _default163() {
+      return true;
+    }
+  },
+  zIndex: {
+    type: String,
+    default: function _default173() {
+      return "next";
+    }
+  }
+});
+var Tooltip = defineComponent({
+  name: $prefix + "Tooltip",
+  componentName: "Tooltip",
+  props: tooltipProps,
+  setup: function setup5(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$h
+    });
+  }
+});
+var version$k = "3.16.0";
+Tooltip.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Tooltip.install = function(Vue) {
+  Vue.component(Tooltip.name, Tooltip);
+};
+Tooltip.version = version$k;
+const setSheetStyle = ({ state, props: props2 }) => () => {
+  if (props2.contentPosition) {
+    state.sheetMaskStyle = {
+      "position": "absolute"
+    };
+    state.sheetContentStyle = {
+      "position": "absolute",
+      "max-height": props2.height
+    };
+  } else {
+    state.sheetMaskStyle = {
+      "position": "fixed"
+    };
+    state.sheetContentStyle = {
+      "position": "fixed",
+      "max-height": props2.height
+    };
+  }
+  state.contentStyle = props2.contentStyle ? props2.contentStyle : "";
+};
+const initScrollMenu = ({ state, nextTick: nextTick2, refs, BScroll: BScroll2 }) => () => {
+  nextTick2(() => {
+    const { scrollMenu } = refs;
+    if (!scrollMenu) {
+      return;
+    }
+    if (!state.scroll) {
+      state.scroll = new BScroll2(scrollMenu, {
+        probeType: 3,
+        tap: "tap"
+      });
+    } else {
+      state.scroll.refresh();
+    }
+  });
+};
+const visibleHandle = ({ emit, state }) => () => {
+  state.scroll = null;
+  emit("update:visible", false);
+  emit("close", false);
+};
+const watchVisible$2 = ({ emit, state }) => (bool) => {
+  setTimeout(() => {
+    state.toggle = bool;
+  }, 0);
+  emit("update:visible", bool);
+};
+const menuHandle = ({ emit, state }) => (item) => {
+  state.active = item.id;
+  state.scroll = null;
+  emit("update:visible", false);
+  emit("update:modelValue", item.id);
+  emit("click", item);
+};
+const close$2 = ({ api: api2 }) => () => {
+  api2.handleClose("close", false);
+};
+const hide$1 = ({ api: api2 }) => () => {
+  api2.handleClose("hide", false);
+};
+const selectOption = ({ emit, props: props2 }) => (option) => {
+  const { valueField } = props2;
+  emit("update:visible", false);
+  emit("update:modelValue", option[valueField]);
+  emit("click", option);
+};
+const confirm$2 = ({ state, api: api2 }) => () => {
+  api2.handleClose("confirm", state);
+};
+const actionSelectOption = ({ emit }) => (option, index3) => {
+  emit("update:visible", false);
+  emit("click", option, index3);
+};
+const handleClose$1 = ({ vm, emit, props: props2 }) => (type2, show2) => {
+  if (typeof props2.beforeClose === "function" && props2.beforeClose(type2) === false)
+    return;
+  if (type2 === "close") {
+    vm.$refs.drawer.close(true);
+  } else {
+    emit("update:visible", false);
+  }
+  emit(type2, show2);
+};
+const api$i = [
+  "state",
+  "setSheetStyle",
+  "initScrollMenu",
+  "visibleHandle",
+  "watchVisible",
+  "menuHandle",
+  "close",
+  "selectOption",
+  "confirm",
+  "actionSelectOption",
+  "hide"
+];
+const renderless$i = (props2, { reactive, watch: watch2 }, { emit, nextTick: nextTick2, refs, vm }, { BScroll: BScroll2 }) => {
+  const state = reactive({
+    toggle: false,
+    sheetMaskStyle: {},
+    sheetContentStyle: {},
+    scroll: null
+  });
+  const api2 = {};
+  Object.assign(api2, {
+    state,
+    setSheetStyle: setSheetStyle({ state, props: props2 }),
+    initScrollMenu: initScrollMenu({ state, nextTick: nextTick2, refs, BScroll: BScroll2 }),
+    visibleHandle: visibleHandle({ emit, state }),
+    watchVisible: watchVisible$2({ emit, state }),
+    menuHandle: menuHandle({ state, emit }),
+    confirm: confirm$2({ state, api: api2 }),
+    selectOption: selectOption({ emit, props: props2 }),
+    actionSelectOption: actionSelectOption({ emit }),
+    hide: hide$1({ api: api2 }),
+    close: close$2({ api: api2 }),
+    handleClose: handleClose$1({ vm, emit, props: props2 })
+  });
+  watch2(
+    () => props2.visible,
+    (value) => {
+      if (value) {
+        api2.setSheetStyle({ state, props: props2 });
+        api2.initScrollMenu({ state, nextTick: nextTick2, refs, BScroll: BScroll2 });
+      }
+      api2.watchVisible(value);
+    }
+  );
+  watch2(() => props2.visible, api2.watchVisible, { immediate: true });
+  return api2;
+};
+const index$s = "";
+/*!
+ * better-scroll / core
+ * (c) 2016-2022 ustbhuangyi
+ * Released under the MIT License.
+ */
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+var extendStatics$1 = function(d2, b2) {
+  extendStatics$1 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
+    d3.__proto__ = b3;
+  } || function(d3, b3) {
+    for (var p2 in b3)
+      if (Object.prototype.hasOwnProperty.call(b3, p2))
+        d3[p2] = b3[p2];
+  };
+  return extendStatics$1(d2, b2);
+};
+function __extends$1(d2, b2) {
+  extendStatics$1(d2, b2);
+  function __() {
+    this.constructor = d2;
+  }
+  d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
+}
+var __assign = function() {
+  __assign = Object.assign || function __assign2(t2) {
+    for (var s2, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {
+      s2 = arguments[i2];
+      for (var p2 in s2)
+        if (Object.prototype.hasOwnProperty.call(s2, p2))
+          t2[p2] = s2[p2];
+    }
+    return t2;
+  };
+  return __assign.apply(this, arguments);
+};
+function __spreadArrays() {
+  for (var s2 = 0, i2 = 0, il = arguments.length; i2 < il; i2++)
+    s2 += arguments[i2].length;
+  for (var r2 = Array(s2), k2 = 0, i2 = 0; i2 < il; i2++)
+    for (var a2 = arguments[i2], j2 = 0, jl = a2.length; j2 < jl; j2++, k2++)
+      r2[k2] = a2[j2];
+  return r2;
+}
+var propertiesConfig = [
+  {
+    sourceKey: "scroller.scrollBehaviorX.currentPos",
+    key: "x"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.currentPos",
+    key: "y"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorX.hasScroll",
+    key: "hasHorizontalScroll"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.hasScroll",
+    key: "hasVerticalScroll"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorX.contentSize",
+    key: "scrollerWidth"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.contentSize",
+    key: "scrollerHeight"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorX.maxScrollPos",
+    key: "maxScrollX"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.maxScrollPos",
+    key: "maxScrollY"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorX.minScrollPos",
+    key: "minScrollX"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.minScrollPos",
+    key: "minScrollY"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorX.movingDirection",
+    key: "movingDirectionX"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.movingDirection",
+    key: "movingDirectionY"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorX.direction",
+    key: "directionX"
+  },
+  {
+    sourceKey: "scroller.scrollBehaviorY.direction",
+    key: "directionY"
+  },
+  {
+    sourceKey: "scroller.actions.enabled",
+    key: "enabled"
+  },
+  {
+    sourceKey: "scroller.animater.pending",
+    key: "pending"
+  },
+  {
+    sourceKey: "scroller.animater.stop",
+    key: "stop"
+  },
+  {
+    sourceKey: "scroller.scrollTo",
+    key: "scrollTo"
+  },
+  {
+    sourceKey: "scroller.scrollBy",
+    key: "scrollBy"
+  },
+  {
+    sourceKey: "scroller.scrollToElement",
+    key: "scrollToElement"
+  },
+  {
+    sourceKey: "scroller.resetPosition",
+    key: "resetPosition"
+  }
+];
+function warn$1(msg) {
+  console.error("[BScroll warn]: " + msg);
+}
+var inBrowser = typeof window !== "undefined";
+var ua = inBrowser && navigator.userAgent.toLowerCase();
+var isWeChatDevTools = !!(ua && /wechatdevtools/.test(ua));
+var isAndroid = ua && ua.indexOf("android") > 0;
+var isIOSBadVersion = function() {
+  if (typeof ua === "string") {
+    var regex = /os (\d\d?_\d(_\d)?)/;
+    var matches = regex.exec(ua);
+    if (!matches)
+      return false;
+    var parts2 = matches[1].split("_").map(function(item) {
+      return parseInt(item, 10);
+    });
+    return !!(parts2[0] === 13 && parts2[1] >= 4);
+  }
+  return false;
+}();
+var supportsPassive = false;
+if (inBrowser) {
+  var EventName = "test-passive";
+  try {
+    var opts = {};
+    Object.defineProperty(opts, "passive", {
+      get: function() {
+        supportsPassive = true;
+      }
+    });
+    window.addEventListener(EventName, function() {
+    }, opts);
+  } catch (e2) {
+  }
+}
+function getNow() {
+  return window.performance && window.performance.now && window.performance.timing ? window.performance.now() + window.performance.timing.navigationStart : +/* @__PURE__ */ new Date();
+}
+var extend$3 = function(target, source2) {
+  for (var key2 in source2) {
+    target[key2] = source2[key2];
+  }
+  return target;
+};
+function isUndef$1(v4) {
+  return v4 === void 0 || v4 === null;
+}
+function between(x2, min3, max3) {
+  if (x2 < min3) {
+    return min3;
+  }
+  if (x2 > max3) {
+    return max3;
+  }
+  return x2;
+}
+var elementStyle = inBrowser && document.createElement("div").style;
+var vendor = function() {
+  if (!inBrowser) {
+    return false;
+  }
+  var transformNames = [
+    {
+      key: "standard",
+      value: "transform"
+    },
+    {
+      key: "webkit",
+      value: "webkitTransform"
+    },
+    {
+      key: "Moz",
+      value: "MozTransform"
+    },
+    {
+      key: "O",
+      value: "OTransform"
+    },
+    {
+      key: "ms",
+      value: "msTransform"
+    }
+  ];
+  for (var _i = 0, transformNames_1 = transformNames; _i < transformNames_1.length; _i++) {
+    var obj2 = transformNames_1[_i];
+    if (elementStyle[obj2.value] !== void 0) {
+      return obj2.key;
+    }
+  }
+  return false;
+}();
+function prefixStyle(style2) {
+  if (vendor === false) {
+    return style2;
+  }
+  if (vendor === "standard") {
+    if (style2 === "transitionEnd") {
+      return "transitionend";
+    }
+    return style2;
+  }
+  return vendor + style2.charAt(0).toUpperCase() + style2.substr(1);
+}
+function getElement(el) {
+  return typeof el === "string" ? document.querySelector(el) : el;
+}
+function addEvent(el, type2, fn, capture) {
+  var useCapture = supportsPassive ? {
+    passive: false,
+    capture: !!capture
+  } : !!capture;
+  el.addEventListener(type2, fn, useCapture);
+}
+function removeEvent(el, type2, fn, capture) {
+  el.removeEventListener(type2, fn, {
+    capture: !!capture
+  });
+}
+function maybePrevent(e2) {
+  if (e2.cancelable) {
+    e2.preventDefault();
+  }
+}
+function offset(el) {
+  var left = 0;
+  var top = 0;
+  while (el) {
+    left -= el.offsetLeft;
+    top -= el.offsetTop;
+    el = el.offsetParent;
+  }
+  return {
+    left,
+    top
+  };
+}
+vendor && vendor !== "standard" ? "-" + vendor.toLowerCase() + "-" : "";
+var transform = prefixStyle("transform");
+var transition = prefixStyle("transition");
+var hasPerspective = inBrowser && prefixStyle("perspective") in elementStyle;
+var hasTouch = inBrowser && ("ontouchstart" in window || isWeChatDevTools);
+var hasTransition = inBrowser && transition in elementStyle;
+var style = {
+  transform,
+  transition,
+  transitionTimingFunction: prefixStyle("transitionTimingFunction"),
+  transitionDuration: prefixStyle("transitionDuration"),
+  transitionDelay: prefixStyle("transitionDelay"),
+  transformOrigin: prefixStyle("transformOrigin"),
+  transitionEnd: prefixStyle("transitionEnd"),
+  transitionProperty: prefixStyle("transitionProperty")
+};
+var eventTypeMap = {
+  touchstart: 1,
+  touchmove: 1,
+  touchend: 1,
+  touchcancel: 1,
+  mousedown: 2,
+  mousemove: 2,
+  mouseup: 2
+};
+function getRect(el) {
+  if (el instanceof window.SVGElement) {
+    var rect = el.getBoundingClientRect();
+    return {
+      top: rect.top,
+      left: rect.left,
+      width: rect.width,
+      height: rect.height
+    };
+  } else {
+    return {
+      top: el.offsetTop,
+      left: el.offsetLeft,
+      width: el.offsetWidth,
+      height: el.offsetHeight
+    };
+  }
+}
+function preventDefaultExceptionFn(el, exceptions) {
+  for (var i2 in exceptions) {
+    if (exceptions[i2].test(el[i2])) {
+      return true;
+    }
+  }
+  return false;
+}
+var tagExceptionFn = preventDefaultExceptionFn;
+function tap(e2, eventName) {
+  var ev = document.createEvent("Event");
+  ev.initEvent(eventName, true, true);
+  ev.pageX = e2.pageX;
+  ev.pageY = e2.pageY;
+  e2.target.dispatchEvent(ev);
+}
+function click(e2, event2) {
+  if (event2 === void 0) {
+    event2 = "click";
+  }
+  var eventSource;
+  if (e2.type === "mouseup") {
+    eventSource = e2;
+  } else if (e2.type === "touchend" || e2.type === "touchcancel") {
+    eventSource = e2.changedTouches[0];
+  }
+  var posSrc = {};
+  if (eventSource) {
+    posSrc.screenX = eventSource.screenX || 0;
+    posSrc.screenY = eventSource.screenY || 0;
+    posSrc.clientX = eventSource.clientX || 0;
+    posSrc.clientY = eventSource.clientY || 0;
+  }
+  var ev;
+  var bubbles = true;
+  var cancelable = true;
+  var ctrlKey = e2.ctrlKey, shiftKey = e2.shiftKey, altKey = e2.altKey, metaKey = e2.metaKey;
+  var pressedKeysMap = {
+    ctrlKey,
+    shiftKey,
+    altKey,
+    metaKey
+  };
+  if (typeof MouseEvent !== "undefined") {
+    try {
+      ev = new MouseEvent(event2, extend$3(__assign({
+        bubbles,
+        cancelable
+      }, pressedKeysMap), posSrc));
+    } catch (e3) {
+      createEvent();
+    }
+  } else {
+    createEvent();
+  }
+  function createEvent() {
+    ev = document.createEvent("Event");
+    ev.initEvent(event2, bubbles, cancelable);
+    extend$3(ev, posSrc);
+  }
+  ev.forwardedTouchEvent = true;
+  ev._constructed = true;
+  e2.target.dispatchEvent(ev);
+}
+function dblclick(e2) {
+  click(e2, "dblclick");
+}
+var ease = {
+  // easeOutQuint
+  swipe: {
+    style: "cubic-bezier(0.23, 1, 0.32, 1)",
+    fn: function(t2) {
+      return 1 + --t2 * t2 * t2 * t2 * t2;
+    }
+  },
+  // easeOutQuard
+  swipeBounce: {
+    style: "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
+    fn: function(t2) {
+      return t2 * (2 - t2);
+    }
+  },
+  // easeOutQuart
+  bounce: {
+    style: "cubic-bezier(0.165, 0.84, 0.44, 1)",
+    fn: function(t2) {
+      return 1 - --t2 * t2 * t2 * t2;
+    }
+  }
+};
+var DEFAULT_INTERVAL = 1e3 / 60;
+var windowCompat = inBrowser && window;
+function noop$1$1() {
+}
+var requestAnimationFrame$3 = function() {
+  if (!inBrowser) {
+    return noop$1$1;
+  }
+  return windowCompat.requestAnimationFrame || windowCompat.webkitRequestAnimationFrame || windowCompat.mozRequestAnimationFrame || windowCompat.oRequestAnimationFrame || // if all else fails, use setTimeout
+  function(callback) {
+    return window.setTimeout(callback, callback.interval || DEFAULT_INTERVAL);
+  };
+}();
+var cancelAnimationFrame$1 = function() {
+  if (!inBrowser) {
+    return noop$1$1;
+  }
+  return windowCompat.cancelAnimationFrame || windowCompat.webkitCancelAnimationFrame || windowCompat.mozCancelAnimationFrame || windowCompat.oCancelAnimationFrame || function(id) {
+    window.clearTimeout(id);
+  };
+}();
+var noop$2 = function(val) {
+};
+var sharedPropertyDefinition = {
+  enumerable: true,
+  configurable: true,
+  get: noop$2,
+  set: noop$2
+};
+var getProperty = function(obj2, key2) {
+  var keys2 = key2.split(".");
+  for (var i2 = 0; i2 < keys2.length - 1; i2++) {
+    obj2 = obj2[keys2[i2]];
+    if (typeof obj2 !== "object" || !obj2)
+      return;
+  }
+  var lastKey = keys2.pop();
+  if (typeof obj2[lastKey] === "function") {
+    return function() {
+      return obj2[lastKey].apply(obj2, arguments);
+    };
+  } else {
+    return obj2[lastKey];
+  }
+};
+var setProperty = function(obj2, key2, value) {
+  var keys2 = key2.split(".");
+  var temp;
+  for (var i2 = 0; i2 < keys2.length - 1; i2++) {
+    temp = keys2[i2];
+    if (!obj2[temp])
+      obj2[temp] = {};
+    obj2 = obj2[temp];
+  }
+  obj2[keys2.pop()] = value;
+};
+function propertiesProxy(target, sourceKey, key2) {
+  sharedPropertyDefinition.get = function proxyGetter() {
+    return getProperty(this, sourceKey);
+  };
+  sharedPropertyDefinition.set = function proxySetter(val) {
+    setProperty(this, sourceKey, val);
+  };
+  Object.defineProperty(target, key2, sharedPropertyDefinition);
+}
+var EventEmitter = (
+  /** @class */
+  function() {
+    function EventEmitter2(names) {
+      this.events = {};
+      this.eventTypes = {};
+      this.registerType(names);
+    }
+    EventEmitter2.prototype.on = function(type2, fn, context) {
+      if (context === void 0) {
+        context = this;
+      }
+      this.hasType(type2);
+      if (!this.events[type2]) {
+        this.events[type2] = [];
+      }
+      this.events[type2].push([fn, context]);
+      return this;
+    };
+    EventEmitter2.prototype.once = function(type2, fn, context) {
+      var _this = this;
+      if (context === void 0) {
+        context = this;
+      }
+      this.hasType(type2);
+      var magic = function() {
+        var args = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+          args[_i] = arguments[_i];
+        }
+        _this.off(type2, magic);
+        var ret = fn.apply(context, args);
+        if (ret === true) {
+          return ret;
+        }
+      };
+      magic.fn = fn;
+      this.on(type2, magic);
+      return this;
+    };
+    EventEmitter2.prototype.off = function(type2, fn) {
+      if (!type2 && !fn) {
+        this.events = {};
+        return this;
+      }
+      if (type2) {
+        this.hasType(type2);
+        if (!fn) {
+          this.events[type2] = [];
+          return this;
+        }
+        var events = this.events[type2];
+        if (!events) {
+          return this;
+        }
+        var count2 = events.length;
+        while (count2--) {
+          if (events[count2][0] === fn || events[count2][0] && events[count2][0].fn === fn) {
+            events.splice(count2, 1);
+          }
+        }
+        return this;
+      }
+    };
+    EventEmitter2.prototype.trigger = function(type2) {
+      var args = [];
+      for (var _i = 1; _i < arguments.length; _i++) {
+        args[_i - 1] = arguments[_i];
+      }
+      this.hasType(type2);
+      var events = this.events[type2];
+      if (!events) {
+        return;
+      }
+      var len2 = events.length;
+      var eventsCopy = __spreadArrays(events);
+      var ret;
+      for (var i2 = 0; i2 < len2; i2++) {
+        var event_1 = eventsCopy[i2];
+        var fn = event_1[0], context = event_1[1];
+        if (fn) {
+          ret = fn.apply(context, args);
+          if (ret === true) {
+            return ret;
+          }
+        }
+      }
+    };
+    EventEmitter2.prototype.registerType = function(names) {
+      var _this = this;
+      names.forEach(function(type2) {
+        _this.eventTypes[type2] = type2;
+      });
+    };
+    EventEmitter2.prototype.destroy = function() {
+      this.events = {};
+      this.eventTypes = {};
+    };
+    EventEmitter2.prototype.hasType = function(type2) {
+      var types2 = this.eventTypes;
+      var isType = types2[type2] === type2;
+      if (!isType) {
+        warn$1('EventEmitter has used unknown event type: "' + type2 + '", should be oneof [' + ("" + Object.keys(types2).map(function(_2) {
+          return JSON.stringify(_2);
+        })) + "]");
+      }
+    };
+    return EventEmitter2;
+  }()
+);
+var EventRegister = (
+  /** @class */
+  function() {
+    function EventRegister2(wrapper, events) {
+      this.wrapper = wrapper;
+      this.events = events;
+      this.addDOMEvents();
+    }
+    EventRegister2.prototype.destroy = function() {
+      this.removeDOMEvents();
+      this.events = [];
+    };
+    EventRegister2.prototype.addDOMEvents = function() {
+      this.handleDOMEvents(addEvent);
+    };
+    EventRegister2.prototype.removeDOMEvents = function() {
+      this.handleDOMEvents(removeEvent);
+    };
+    EventRegister2.prototype.handleDOMEvents = function(eventOperation) {
+      var _this = this;
+      var wrapper = this.wrapper;
+      this.events.forEach(function(event2) {
+        eventOperation(wrapper, event2.name, _this, !!event2.capture);
+      });
+    };
+    EventRegister2.prototype.handleEvent = function(e2) {
+      var eventType = e2.type;
+      this.events.some(function(event2) {
+        if (event2.name === eventType) {
+          event2.handler(e2);
+          return true;
+        }
+        return false;
+      });
+    };
+    return EventRegister2;
+  }()
+);
+var CustomOptions = (
+  /** @class */
+  function() {
+    function CustomOptions2() {
+    }
+    return CustomOptions2;
+  }()
+);
+var OptionsConstructor = (
+  /** @class */
+  function(_super) {
+    __extends$1(OptionsConstructor2, _super);
+    function OptionsConstructor2() {
+      var _this = _super.call(this) || this;
+      _this.startX = 0;
+      _this.startY = 0;
+      _this.scrollX = false;
+      _this.scrollY = true;
+      _this.freeScroll = false;
+      _this.directionLockThreshold = 0;
+      _this.eventPassthrough = "";
+      _this.click = false;
+      _this.dblclick = false;
+      _this.tap = "";
+      _this.bounce = {
+        top: true,
+        bottom: true,
+        left: true,
+        right: true
+      };
+      _this.bounceTime = 800;
+      _this.momentum = true;
+      _this.momentumLimitTime = 300;
+      _this.momentumLimitDistance = 15;
+      _this.swipeTime = 2500;
+      _this.swipeBounceTime = 500;
+      _this.deceleration = 15e-4;
+      _this.flickLimitTime = 200;
+      _this.flickLimitDistance = 100;
+      _this.resizePolling = 60;
+      _this.probeType = 0;
+      _this.stopPropagation = false;
+      _this.preventDefault = true;
+      _this.preventDefaultException = {
+        tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|AUDIO)$/
+      };
+      _this.tagException = {
+        tagName: /^TEXTAREA$/
+      };
+      _this.HWCompositing = true;
+      _this.useTransition = true;
+      _this.bindToWrapper = false;
+      _this.bindToTarget = false;
+      _this.disableMouse = hasTouch;
+      _this.disableTouch = !hasTouch;
+      _this.autoBlur = true;
+      _this.autoEndDistance = 5;
+      _this.outOfBoundaryDampingFactor = 1 / 3;
+      _this.specifiedIndexAsContent = 0;
+      _this.quadrant = 1;
+      return _this;
+    }
+    OptionsConstructor2.prototype.merge = function(options2) {
+      if (!options2)
+        return this;
+      for (var key2 in options2) {
+        if (key2 === "bounce") {
+          this.bounce = this.resolveBounce(options2[key2]);
+          continue;
+        }
+        this[key2] = options2[key2];
+      }
+      return this;
+    };
+    OptionsConstructor2.prototype.process = function() {
+      this.translateZ = this.HWCompositing && hasPerspective ? " translateZ(1px)" : "";
+      this.useTransition = this.useTransition && hasTransition;
+      this.preventDefault = !this.eventPassthrough && this.preventDefault;
+      this.scrollX = this.eventPassthrough === "horizontal" ? false : this.scrollX;
+      this.scrollY = this.eventPassthrough === "vertical" ? false : this.scrollY;
+      this.freeScroll = this.freeScroll && !this.eventPassthrough;
+      this.scrollX = this.freeScroll ? true : this.scrollX;
+      this.scrollY = this.freeScroll ? true : this.scrollY;
+      this.directionLockThreshold = this.eventPassthrough ? 0 : this.directionLockThreshold;
+      return this;
+    };
+    OptionsConstructor2.prototype.resolveBounce = function(bounceOptions) {
+      var DEFAULT_BOUNCE = {
+        top: true,
+        right: true,
+        bottom: true,
+        left: true
+      };
+      var NEGATED_BOUNCE = {
+        top: false,
+        right: false,
+        bottom: false,
+        left: false
+      };
+      var ret;
+      if (typeof bounceOptions === "object") {
+        ret = extend$3(DEFAULT_BOUNCE, bounceOptions);
+      } else {
+        ret = bounceOptions ? DEFAULT_BOUNCE : NEGATED_BOUNCE;
+      }
+      return ret;
+    };
+    return OptionsConstructor2;
+  }(CustomOptions)
+);
+var ActionsHandler = (
+  /** @class */
+  function() {
+    function ActionsHandler2(wrapper, options2) {
+      this.wrapper = wrapper;
+      this.options = options2;
+      this.hooks = new EventEmitter([
+        "beforeStart",
+        "start",
+        "move",
+        "end",
+        "click"
+      ]);
+      this.handleDOMEvents();
+    }
+    ActionsHandler2.prototype.handleDOMEvents = function() {
+      var _a2 = this.options, bindToWrapper = _a2.bindToWrapper, disableMouse = _a2.disableMouse, disableTouch = _a2.disableTouch, click2 = _a2.click;
+      var wrapper = this.wrapper;
+      var target = bindToWrapper ? wrapper : window;
+      var wrapperEvents = [];
+      var targetEvents = [];
+      var shouldRegisterTouch = !disableTouch;
+      var shouldRegisterMouse = !disableMouse;
+      if (click2) {
+        wrapperEvents.push({
+          name: "click",
+          handler: this.click.bind(this),
+          capture: true
+        });
+      }
+      if (shouldRegisterTouch) {
+        wrapperEvents.push({
+          name: "touchstart",
+          handler: this.start.bind(this)
+        });
+        targetEvents.push({
+          name: "touchmove",
+          handler: this.move.bind(this)
+        }, {
+          name: "touchend",
+          handler: this.end.bind(this)
+        }, {
+          name: "touchcancel",
+          handler: this.end.bind(this)
+        });
+      }
+      if (shouldRegisterMouse) {
+        wrapperEvents.push({
+          name: "mousedown",
+          handler: this.start.bind(this)
+        });
+        targetEvents.push({
+          name: "mousemove",
+          handler: this.move.bind(this)
+        }, {
+          name: "mouseup",
+          handler: this.end.bind(this)
+        });
+      }
+      this.wrapperEventRegister = new EventRegister(wrapper, wrapperEvents);
+      this.targetEventRegister = new EventRegister(target, targetEvents);
+    };
+    ActionsHandler2.prototype.beforeHandler = function(e2, type2) {
+      var _a2 = this.options, preventDefault2 = _a2.preventDefault, stopPropagation = _a2.stopPropagation, preventDefaultException = _a2.preventDefaultException;
+      var preventDefaultConditions = {
+        start: function() {
+          return preventDefault2 && !preventDefaultExceptionFn(e2.target, preventDefaultException);
+        },
+        end: function() {
+          return preventDefault2 && !preventDefaultExceptionFn(e2.target, preventDefaultException);
+        },
+        move: function() {
+          return preventDefault2;
+        }
+      };
+      if (preventDefaultConditions[type2]()) {
+        e2.preventDefault();
+      }
+      if (stopPropagation) {
+        e2.stopPropagation();
+      }
+    };
+    ActionsHandler2.prototype.setInitiated = function(type2) {
+      if (type2 === void 0) {
+        type2 = 0;
+      }
+      this.initiated = type2;
+    };
+    ActionsHandler2.prototype.start = function(e2) {
+      var _eventType = eventTypeMap[e2.type];
+      if (this.initiated && this.initiated !== _eventType) {
+        return;
+      }
+      this.setInitiated(_eventType);
+      if (tagExceptionFn(e2.target, this.options.tagException)) {
+        this.setInitiated();
+        return;
+      }
+      if (_eventType === 2 && e2.button !== 0)
+        return;
+      if (this.hooks.trigger(this.hooks.eventTypes.beforeStart, e2)) {
+        return;
+      }
+      this.beforeHandler(e2, "start");
+      var point = e2.touches ? e2.touches[0] : e2;
+      this.pointX = point.pageX;
+      this.pointY = point.pageY;
+      this.hooks.trigger(this.hooks.eventTypes.start, e2);
+    };
+    ActionsHandler2.prototype.move = function(e2) {
+      if (eventTypeMap[e2.type] !== this.initiated) {
+        return;
+      }
+      this.beforeHandler(e2, "move");
+      var point = e2.touches ? e2.touches[0] : e2;
+      var deltaX = point.pageX - this.pointX;
+      var deltaY = point.pageY - this.pointY;
+      this.pointX = point.pageX;
+      this.pointY = point.pageY;
+      if (this.hooks.trigger(this.hooks.eventTypes.move, {
+        deltaX,
+        deltaY,
+        e: e2
+      })) {
+        return;
+      }
+      var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;
+      var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
+      var pX = this.pointX - scrollLeft;
+      var pY = this.pointY - scrollTop;
+      var autoEndDistance = this.options.autoEndDistance;
+      if (pX > document.documentElement.clientWidth - autoEndDistance || pY > document.documentElement.clientHeight - autoEndDistance || pX < autoEndDistance || pY < autoEndDistance) {
+        this.end(e2);
+      }
+    };
+    ActionsHandler2.prototype.end = function(e2) {
+      if (eventTypeMap[e2.type] !== this.initiated) {
+        return;
+      }
+      this.setInitiated();
+      this.beforeHandler(e2, "end");
+      this.hooks.trigger(this.hooks.eventTypes.end, e2);
+    };
+    ActionsHandler2.prototype.click = function(e2) {
+      this.hooks.trigger(this.hooks.eventTypes.click, e2);
+    };
+    ActionsHandler2.prototype.setContent = function(content) {
+      if (content !== this.wrapper) {
+        this.wrapper = content;
+        this.rebindDOMEvents();
+      }
+    };
+    ActionsHandler2.prototype.rebindDOMEvents = function() {
+      this.wrapperEventRegister.destroy();
+      this.targetEventRegister.destroy();
+      this.handleDOMEvents();
+    };
+    ActionsHandler2.prototype.destroy = function() {
+      this.wrapperEventRegister.destroy();
+      this.targetEventRegister.destroy();
+      this.hooks.destroy();
+    };
+    return ActionsHandler2;
+  }()
+);
+var translaterMetaData = {
+  x: ["translateX", "px"],
+  y: ["translateY", "px"]
+};
+var Translater = (
+  /** @class */
+  function() {
+    function Translater2(content) {
+      this.setContent(content);
+      this.hooks = new EventEmitter(["beforeTranslate", "translate"]);
+    }
+    Translater2.prototype.getComputedPosition = function() {
+      var cssStyle = window.getComputedStyle(this.content, null);
+      var matrix2 = cssStyle[style.transform].split(")")[0].split(", ");
+      var x2 = +(matrix2[12] || matrix2[4]) || 0;
+      var y2 = +(matrix2[13] || matrix2[5]) || 0;
+      return {
+        x: x2,
+        y: y2
+      };
+    };
+    Translater2.prototype.translate = function(point) {
+      var transformStyle = [];
+      Object.keys(point).forEach(function(key2) {
+        if (!translaterMetaData[key2]) {
+          return;
+        }
+        var transformFnName = translaterMetaData[key2][0];
+        if (transformFnName) {
+          var transformFnArgUnit = translaterMetaData[key2][1];
+          var transformFnArg = point[key2];
+          transformStyle.push(transformFnName + "(" + transformFnArg + transformFnArgUnit + ")");
+        }
+      });
+      this.hooks.trigger(this.hooks.eventTypes.beforeTranslate, transformStyle, point);
+      this.style[style.transform] = transformStyle.join(" ");
+      this.hooks.trigger(this.hooks.eventTypes.translate, point);
+    };
+    Translater2.prototype.setContent = function(content) {
+      if (this.content !== content) {
+        this.content = content;
+        this.style = content.style;
+      }
+    };
+    Translater2.prototype.destroy = function() {
+      this.hooks.destroy();
+    };
+    return Translater2;
+  }()
+);
+var Base = (
+  /** @class */
+  function() {
+    function Base2(content, translater, options2) {
+      this.translater = translater;
+      this.options = options2;
+      this.timer = 0;
+      this.hooks = new EventEmitter([
+        "move",
+        "end",
+        "beforeForceStop",
+        "forceStop",
+        "callStop",
+        "time",
+        "timeFunction"
+      ]);
+      this.setContent(content);
+    }
+    Base2.prototype.translate = function(endPoint) {
+      this.translater.translate(endPoint);
+    };
+    Base2.prototype.setPending = function(pending) {
+      this.pending = pending;
+    };
+    Base2.prototype.setForceStopped = function(forceStopped) {
+      this.forceStopped = forceStopped;
+    };
+    Base2.prototype.setCallStop = function(called) {
+      this.callStopWhenPending = called;
+    };
+    Base2.prototype.setContent = function(content) {
+      if (this.content !== content) {
+        this.content = content;
+        this.style = content.style;
+        this.stop();
+      }
+    };
+    Base2.prototype.clearTimer = function() {
+      if (this.timer) {
+        cancelAnimationFrame$1(this.timer);
+        this.timer = 0;
+      }
+    };
+    Base2.prototype.destroy = function() {
+      this.hooks.destroy();
+      cancelAnimationFrame$1(this.timer);
+    };
+    return Base2;
+  }()
+);
+var isValidPostion = function(startPoint, endPoint, currentPos, prePos) {
+  var computeDirection = function(endValue, startValue) {
+    var delta = endValue - startValue;
+    var direction = delta > 0 ? -1 : delta < 0 ? 1 : 0;
+    return direction;
+  };
+  var directionX = computeDirection(endPoint.x, startPoint.x);
+  var directionY = computeDirection(endPoint.y, startPoint.y);
+  var deltaX = currentPos.x - prePos.x;
+  var deltaY = currentPos.y - prePos.y;
+  return directionX * deltaX <= 0 && directionY * deltaY <= 0;
+};
+var Transition = (
+  /** @class */
+  function(_super) {
+    __extends$1(Transition2, _super);
+    function Transition2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    Transition2.prototype.startProbe = function(startPoint, endPoint) {
+      var _this = this;
+      var prePos = startPoint;
+      var probe = function() {
+        var pos = _this.translater.getComputedPosition();
+        if (isValidPostion(startPoint, endPoint, pos, prePos)) {
+          _this.hooks.trigger(_this.hooks.eventTypes.move, pos);
+        }
+        if (!_this.pending) {
+          if (_this.callStopWhenPending) {
+            _this.callStopWhenPending = false;
+          } else {
+            _this.hooks.trigger(_this.hooks.eventTypes.end, pos);
+          }
+        }
+        prePos = pos;
+        if (_this.pending) {
+          _this.timer = requestAnimationFrame$3(probe);
+        }
+      };
+      if (this.callStopWhenPending) {
+        this.setCallStop(false);
+      }
+      cancelAnimationFrame$1(this.timer);
+      probe();
+    };
+    Transition2.prototype.transitionTime = function(time2) {
+      if (time2 === void 0) {
+        time2 = 0;
+      }
+      this.style[style.transitionDuration] = time2 + "ms";
+      this.hooks.trigger(this.hooks.eventTypes.time, time2);
+    };
+    Transition2.prototype.transitionTimingFunction = function(easing2) {
+      this.style[style.transitionTimingFunction] = easing2;
+      this.hooks.trigger(this.hooks.eventTypes.timeFunction, easing2);
+    };
+    Transition2.prototype.transitionProperty = function() {
+      this.style[style.transitionProperty] = style.transform;
+    };
+    Transition2.prototype.move = function(startPoint, endPoint, time2, easingFn) {
+      this.setPending(time2 > 0);
+      this.transitionTimingFunction(easingFn);
+      this.transitionProperty();
+      this.transitionTime(time2);
+      this.translate(endPoint);
+      var isRealtimeProbeType = this.options.probeType === 3;
+      if (time2 && isRealtimeProbeType) {
+        this.startProbe(startPoint, endPoint);
+      }
+      if (!time2) {
+        this._reflow = this.content.offsetHeight;
+        if (isRealtimeProbeType) {
+          this.hooks.trigger(this.hooks.eventTypes.move, endPoint);
+        }
+        this.hooks.trigger(this.hooks.eventTypes.end, endPoint);
+      }
+    };
+    Transition2.prototype.doStop = function() {
+      var pending = this.pending;
+      this.setForceStopped(false);
+      this.setCallStop(false);
+      if (pending) {
+        this.setPending(false);
+        cancelAnimationFrame$1(this.timer);
+        var _a2 = this.translater.getComputedPosition(), x2 = _a2.x, y2 = _a2.y;
+        this.transitionTime();
+        this.translate({ x: x2, y: y2 });
+        this.setForceStopped(true);
+        this.setCallStop(true);
+        this.hooks.trigger(this.hooks.eventTypes.forceStop, { x: x2, y: y2 });
+      }
+      return pending;
+    };
+    Transition2.prototype.stop = function() {
+      var stopFromTransition = this.doStop();
+      if (stopFromTransition) {
+        this.hooks.trigger(this.hooks.eventTypes.callStop);
+      }
+    };
+    return Transition2;
+  }(Base)
+);
+var Animation$2 = (
+  /** @class */
+  function(_super) {
+    __extends$1(Animation2, _super);
+    function Animation2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    Animation2.prototype.move = function(startPoint, endPoint, time2, easingFn) {
+      if (!time2) {
+        this.translate(endPoint);
+        if (this.options.probeType === 3) {
+          this.hooks.trigger(this.hooks.eventTypes.move, endPoint);
+        }
+        this.hooks.trigger(this.hooks.eventTypes.end, endPoint);
+        return;
+      }
+      this.animate(startPoint, endPoint, time2, easingFn);
+    };
+    Animation2.prototype.animate = function(startPoint, endPoint, duration, easingFn) {
+      var _this = this;
+      var startTime = getNow();
+      var destTime = startTime + duration;
+      var isRealtimeProbeType = this.options.probeType === 3;
+      var step2 = function() {
+        var now = getNow();
+        if (now >= destTime) {
+          _this.translate(endPoint);
+          if (isRealtimeProbeType) {
+            _this.hooks.trigger(_this.hooks.eventTypes.move, endPoint);
+          }
+          _this.hooks.trigger(_this.hooks.eventTypes.end, endPoint);
+          return;
+        }
+        now = (now - startTime) / duration;
+        var easing2 = easingFn(now);
+        var newPoint = {};
+        Object.keys(endPoint).forEach(function(key2) {
+          var startValue = startPoint[key2];
+          var endValue = endPoint[key2];
+          newPoint[key2] = (endValue - startValue) * easing2 + startValue;
+        });
+        _this.translate(newPoint);
+        if (isRealtimeProbeType) {
+          _this.hooks.trigger(_this.hooks.eventTypes.move, newPoint);
+        }
+        if (_this.pending) {
+          _this.timer = requestAnimationFrame$3(step2);
+        }
+        if (!_this.pending) {
+          if (_this.callStopWhenPending) {
+            _this.callStopWhenPending = false;
+          } else {
+            _this.hooks.trigger(_this.hooks.eventTypes.end, endPoint);
+          }
+        }
+      };
+      this.setPending(true);
+      if (this.callStopWhenPending) {
+        this.setCallStop(false);
+      }
+      cancelAnimationFrame$1(this.timer);
+      step2();
+    };
+    Animation2.prototype.doStop = function() {
+      var pending = this.pending;
+      this.setForceStopped(false);
+      this.setCallStop(false);
+      if (pending) {
+        this.setPending(false);
+        cancelAnimationFrame$1(this.timer);
+        var pos = this.translater.getComputedPosition();
+        this.setForceStopped(true);
+        this.setCallStop(true);
+        this.hooks.trigger(this.hooks.eventTypes.forceStop, pos);
+      }
+      return pending;
+    };
+    Animation2.prototype.stop = function() {
+      var stopFromAnimation = this.doStop();
+      if (stopFromAnimation) {
+        this.hooks.trigger(this.hooks.eventTypes.callStop);
+      }
+    };
+    return Animation2;
+  }(Base)
+);
+function createAnimater(element, translater, options2) {
+  var useTransition = options2.useTransition;
+  var animaterOptions = {};
+  Object.defineProperty(animaterOptions, "probeType", {
+    enumerable: true,
+    configurable: false,
+    get: function() {
+      return options2.probeType;
+    }
+  });
+  if (useTransition) {
+    return new Transition(element, translater, animaterOptions);
+  } else {
+    return new Animation$2(element, translater, animaterOptions);
+  }
+}
+var Behavior = (
+  /** @class */
+  function() {
+    function Behavior2(wrapper, content, options2) {
+      this.wrapper = wrapper;
+      this.options = options2;
+      this.hooks = new EventEmitter([
+        "beforeComputeBoundary",
+        "computeBoundary",
+        "momentum",
+        "end",
+        "ignoreHasScroll"
+      ]);
+      this.refresh(content);
+    }
+    Behavior2.prototype.start = function() {
+      this.dist = 0;
+      this.setMovingDirection(
+        0
+        /* Default */
+      );
+      this.setDirection(
+        0
+        /* Default */
+      );
+    };
+    Behavior2.prototype.move = function(delta) {
+      delta = this.hasScroll ? delta : 0;
+      this.setMovingDirection(delta);
+      return this.performDampingAlgorithm(delta, this.options.outOfBoundaryDampingFactor);
+    };
+    Behavior2.prototype.setMovingDirection = function(delta) {
+      this.movingDirection = delta > 0 ? -1 : delta < 0 ? 1 : 0;
+    };
+    Behavior2.prototype.setDirection = function(delta) {
+      this.direction = delta > 0 ? -1 : delta < 0 ? 1 : 0;
+    };
+    Behavior2.prototype.performDampingAlgorithm = function(delta, dampingFactor) {
+      var newPos = this.currentPos + delta;
+      if (newPos > this.minScrollPos || newPos < this.maxScrollPos) {
+        if (newPos > this.minScrollPos && this.options.bounces[0] || newPos < this.maxScrollPos && this.options.bounces[1]) {
+          newPos = this.currentPos + delta * dampingFactor;
+        } else {
+          newPos = newPos > this.minScrollPos ? this.minScrollPos : this.maxScrollPos;
+        }
+      }
+      return newPos;
+    };
+    Behavior2.prototype.end = function(duration) {
+      var momentumInfo = {
+        duration: 0
+      };
+      var absDist = Math.abs(this.currentPos - this.startPos);
+      if (this.options.momentum && duration < this.options.momentumLimitTime && absDist > this.options.momentumLimitDistance) {
+        var wrapperSize = this.direction === -1 && this.options.bounces[0] || this.direction === 1 && this.options.bounces[1] ? this.wrapperSize : 0;
+        momentumInfo = this.hasScroll ? this.momentum(this.currentPos, this.startPos, duration, this.maxScrollPos, this.minScrollPos, wrapperSize, this.options) : { destination: this.currentPos, duration: 0 };
+      } else {
+        this.hooks.trigger(this.hooks.eventTypes.end, momentumInfo);
+      }
+      return momentumInfo;
+    };
+    Behavior2.prototype.momentum = function(current, start2, time2, lowerMargin, upperMargin, wrapperSize, options2) {
+      if (options2 === void 0) {
+        options2 = this.options;
+      }
+      var distance2 = current - start2;
+      var speed = Math.abs(distance2) / time2;
+      var deceleration = options2.deceleration, swipeBounceTime = options2.swipeBounceTime, swipeTime = options2.swipeTime;
+      var duration = Math.min(swipeTime, speed * 2 / deceleration);
+      var momentumData = {
+        destination: current + speed * speed / deceleration * (distance2 < 0 ? -1 : 1),
+        duration,
+        rate: 15
+      };
+      this.hooks.trigger(this.hooks.eventTypes.momentum, momentumData, distance2);
+      if (momentumData.destination < lowerMargin) {
+        momentumData.destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / momentumData.rate * speed) : lowerMargin;
+        momentumData.duration = swipeBounceTime;
+      } else if (momentumData.destination > upperMargin) {
+        momentumData.destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / momentumData.rate * speed) : upperMargin;
+        momentumData.duration = swipeBounceTime;
+      }
+      momentumData.destination = Math.round(momentumData.destination);
+      return momentumData;
+    };
+    Behavior2.prototype.updateDirection = function() {
+      var absDist = this.currentPos - this.absStartPos;
+      this.setDirection(absDist);
+    };
+    Behavior2.prototype.refresh = function(content) {
+      var _a2 = this.options.rect, size = _a2.size, position2 = _a2.position;
+      var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === "static";
+      var wrapperRect = getRect(this.wrapper);
+      this.wrapperSize = this.wrapper[size === "width" ? "clientWidth" : "clientHeight"];
+      this.setContent(content);
+      var contentRect = getRect(this.content);
+      this.contentSize = contentRect[size];
+      this.relativeOffset = contentRect[position2];
+      if (isWrapperStatic) {
+        this.relativeOffset -= wrapperRect[position2];
+      }
+      this.computeBoundary();
+      this.setDirection(
+        0
+        /* Default */
+      );
+    };
+    Behavior2.prototype.setContent = function(content) {
+      if (content !== this.content) {
+        this.content = content;
+        this.resetState();
+      }
+    };
+    Behavior2.prototype.resetState = function() {
+      this.currentPos = 0;
+      this.startPos = 0;
+      this.dist = 0;
+      this.setDirection(
+        0
+        /* Default */
+      );
+      this.setMovingDirection(
+        0
+        /* Default */
+      );
+      this.resetStartPos();
+    };
+    Behavior2.prototype.computeBoundary = function() {
+      this.hooks.trigger(this.hooks.eventTypes.beforeComputeBoundary);
+      var boundary = {
+        minScrollPos: 0,
+        maxScrollPos: this.wrapperSize - this.contentSize
+      };
+      if (boundary.maxScrollPos < 0) {
+        boundary.maxScrollPos -= this.relativeOffset;
+        if (this.options.specifiedIndexAsContent === 0) {
+          boundary.minScrollPos = -this.relativeOffset;
+        }
+      }
+      this.hooks.trigger(this.hooks.eventTypes.computeBoundary, boundary);
+      this.minScrollPos = boundary.minScrollPos;
+      this.maxScrollPos = boundary.maxScrollPos;
+      this.hasScroll = this.options.scrollable && this.maxScrollPos < this.minScrollPos;
+      if (!this.hasScroll && this.minScrollPos < this.maxScrollPos) {
+        this.maxScrollPos = this.minScrollPos;
+        this.contentSize = this.wrapperSize;
+      }
+    };
+    Behavior2.prototype.updatePosition = function(pos) {
+      this.currentPos = pos;
+    };
+    Behavior2.prototype.getCurrentPos = function() {
+      return this.currentPos;
+    };
+    Behavior2.prototype.checkInBoundary = function() {
+      var position2 = this.adjustPosition(this.currentPos);
+      var inBoundary = position2 === this.getCurrentPos();
+      return {
+        position: position2,
+        inBoundary
+      };
+    };
+    Behavior2.prototype.adjustPosition = function(pos) {
+      if (!this.hasScroll && !this.hooks.trigger(this.hooks.eventTypes.ignoreHasScroll)) {
+        pos = this.minScrollPos;
+      } else if (pos > this.minScrollPos) {
+        pos = this.minScrollPos;
+      } else if (pos < this.maxScrollPos) {
+        pos = this.maxScrollPos;
+      }
+      return pos;
+    };
+    Behavior2.prototype.updateStartPos = function() {
+      this.startPos = this.currentPos;
+    };
+    Behavior2.prototype.updateAbsStartPos = function() {
+      this.absStartPos = this.currentPos;
+    };
+    Behavior2.prototype.resetStartPos = function() {
+      this.updateStartPos();
+      this.updateAbsStartPos();
+    };
+    Behavior2.prototype.getAbsDist = function(delta) {
+      this.dist += delta;
+      return Math.abs(this.dist);
+    };
+    Behavior2.prototype.destroy = function() {
+      this.hooks.destroy();
+    };
+    return Behavior2;
+  }()
+);
+var _a$1, _b$1, _c$1, _d;
+var PassthroughHandlers = (_a$1 = {}, _a$1[
+  "yes"
+  /* Yes */
+] = function(e2) {
+  return true;
+}, _a$1[
+  "no"
+  /* No */
+] = function(e2) {
+  maybePrevent(e2);
+  return false;
+}, _a$1);
+var DirectionMap = (_b$1 = {}, _b$1[
+  "horizontal"
+  /* Horizontal */
+] = (_c$1 = {}, _c$1[
+  "yes"
+  /* Yes */
+] = "horizontal", _c$1[
+  "no"
+  /* No */
+] = "vertical", _c$1), _b$1[
+  "vertical"
+  /* Vertical */
+] = (_d = {}, _d[
+  "yes"
+  /* Yes */
+] = "vertical", _d[
+  "no"
+  /* No */
+] = "horizontal", _d), _b$1);
+var DirectionLockAction = (
+  /** @class */
+  function() {
+    function DirectionLockAction2(directionLockThreshold, freeScroll, eventPassthrough) {
+      this.directionLockThreshold = directionLockThreshold;
+      this.freeScroll = freeScroll;
+      this.eventPassthrough = eventPassthrough;
+      this.reset();
+    }
+    DirectionLockAction2.prototype.reset = function() {
+      this.directionLocked = "";
+    };
+    DirectionLockAction2.prototype.checkMovingDirection = function(absDistX, absDistY, e2) {
+      this.computeDirectionLock(absDistX, absDistY);
+      return this.handleEventPassthrough(e2);
+    };
+    DirectionLockAction2.prototype.adjustDelta = function(deltaX, deltaY) {
+      if (this.directionLocked === "horizontal") {
+        deltaY = 0;
+      } else if (this.directionLocked === "vertical") {
+        deltaX = 0;
+      }
+      return {
+        deltaX,
+        deltaY
+      };
+    };
+    DirectionLockAction2.prototype.computeDirectionLock = function(absDistX, absDistY) {
+      if (this.directionLocked === "" && !this.freeScroll) {
+        if (absDistX > absDistY + this.directionLockThreshold) {
+          this.directionLocked = "horizontal";
+        } else if (absDistY >= absDistX + this.directionLockThreshold) {
+          this.directionLocked = "vertical";
+        } else {
+          this.directionLocked = "none";
+        }
+      }
+    };
+    DirectionLockAction2.prototype.handleEventPassthrough = function(e2) {
+      var handleMap = DirectionMap[this.directionLocked];
+      if (handleMap) {
+        if (this.eventPassthrough === handleMap[
+          "yes"
+          /* Yes */
+        ]) {
+          return PassthroughHandlers[
+            "yes"
+            /* Yes */
+          ](e2);
+        } else if (this.eventPassthrough === handleMap[
+          "no"
+          /* No */
+        ]) {
+          return PassthroughHandlers[
+            "no"
+            /* No */
+          ](e2);
+        }
+      }
+      return false;
+    };
+    return DirectionLockAction2;
+  }()
+);
+var applyQuadrantTransformation = function(deltaX, deltaY, quadrant) {
+  if (quadrant === 2) {
+    return [deltaY, -deltaX];
+  } else if (quadrant === 3) {
+    return [-deltaX, -deltaY];
+  } else if (quadrant === 4) {
+    return [-deltaY, deltaX];
+  } else {
+    return [deltaX, deltaY];
+  }
+};
+var ScrollerActions = (
+  /** @class */
+  function() {
+    function ScrollerActions2(scrollBehaviorX, scrollBehaviorY, actionsHandler, animater, options2) {
+      this.hooks = new EventEmitter([
+        "start",
+        "beforeMove",
+        "scrollStart",
+        "scroll",
+        "beforeEnd",
+        "end",
+        "scrollEnd",
+        "contentNotMoved",
+        "detectMovingDirection",
+        "coordinateTransformation"
+      ]);
+      this.scrollBehaviorX = scrollBehaviorX;
+      this.scrollBehaviorY = scrollBehaviorY;
+      this.actionsHandler = actionsHandler;
+      this.animater = animater;
+      this.options = options2;
+      this.directionLockAction = new DirectionLockAction(options2.directionLockThreshold, options2.freeScroll, options2.eventPassthrough);
+      this.enabled = true;
+      this.bindActionsHandler();
+    }
+    ScrollerActions2.prototype.bindActionsHandler = function() {
+      var _this = this;
+      this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.start, function(e2) {
+        if (!_this.enabled)
+          return true;
+        return _this.handleStart(e2);
+      });
+      this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.move, function(_a2) {
+        var deltaX = _a2.deltaX, deltaY = _a2.deltaY, e2 = _a2.e;
+        if (!_this.enabled)
+          return true;
+        var _b2 = applyQuadrantTransformation(deltaX, deltaY, _this.options.quadrant), transformateDeltaX = _b2[0], transformateDeltaY = _b2[1];
+        var transformateDeltaData = {
+          deltaX: transformateDeltaX,
+          deltaY: transformateDeltaY
+        };
+        _this.hooks.trigger(_this.hooks.eventTypes.coordinateTransformation, transformateDeltaData);
+        return _this.handleMove(transformateDeltaData.deltaX, transformateDeltaData.deltaY, e2);
+      });
+      this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.end, function(e2) {
+        if (!_this.enabled)
+          return true;
+        return _this.handleEnd(e2);
+      });
+      this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.click, function(e2) {
+        if (_this.enabled && !e2._constructed) {
+          _this.handleClick(e2);
+        }
+      });
+    };
+    ScrollerActions2.prototype.handleStart = function(e2) {
+      var timestamp = getNow();
+      this.fingerMoved = false;
+      this.contentMoved = false;
+      this.startTime = timestamp;
+      this.directionLockAction.reset();
+      this.scrollBehaviorX.start();
+      this.scrollBehaviorY.start();
+      this.animater.doStop();
+      this.scrollBehaviorX.resetStartPos();
+      this.scrollBehaviorY.resetStartPos();
+      this.hooks.trigger(this.hooks.eventTypes.start, e2);
+    };
+    ScrollerActions2.prototype.handleMove = function(deltaX, deltaY, e2) {
+      if (this.hooks.trigger(this.hooks.eventTypes.beforeMove, e2)) {
+        return;
+      }
+      var absDistX = this.scrollBehaviorX.getAbsDist(deltaX);
+      var absDistY = this.scrollBehaviorY.getAbsDist(deltaY);
+      var timestamp = getNow();
+      if (this.checkMomentum(absDistX, absDistY, timestamp)) {
+        return true;
+      }
+      if (this.directionLockAction.checkMovingDirection(absDistX, absDistY, e2)) {
+        this.actionsHandler.setInitiated();
+        return true;
+      }
+      var delta = this.directionLockAction.adjustDelta(deltaX, deltaY);
+      var prevX = this.scrollBehaviorX.getCurrentPos();
+      var newX = this.scrollBehaviorX.move(delta.deltaX);
+      var prevY = this.scrollBehaviorY.getCurrentPos();
+      var newY = this.scrollBehaviorY.move(delta.deltaY);
+      if (this.hooks.trigger(this.hooks.eventTypes.detectMovingDirection)) {
+        return;
+      }
+      if (!this.fingerMoved) {
+        this.fingerMoved = true;
+      }
+      var positionChanged = newX !== prevX || newY !== prevY;
+      if (!this.contentMoved && !positionChanged) {
+        this.hooks.trigger(this.hooks.eventTypes.contentNotMoved);
+      }
+      if (!this.contentMoved && positionChanged) {
+        this.contentMoved = true;
+        this.hooks.trigger(this.hooks.eventTypes.scrollStart);
+      }
+      if (this.contentMoved && positionChanged) {
+        this.animater.translate({
+          x: newX,
+          y: newY
+        });
+        this.dispatchScroll(timestamp);
+      }
+    };
+    ScrollerActions2.prototype.dispatchScroll = function(timestamp) {
+      if (timestamp - this.startTime > this.options.momentumLimitTime) {
+        this.startTime = timestamp;
+        this.scrollBehaviorX.updateStartPos();
+        this.scrollBehaviorY.updateStartPos();
+        if (this.options.probeType === 1) {
+          this.hooks.trigger(this.hooks.eventTypes.scroll, this.getCurrentPos());
+        }
+      }
+      if (this.options.probeType > 1) {
+        this.hooks.trigger(this.hooks.eventTypes.scroll, this.getCurrentPos());
+      }
+    };
+    ScrollerActions2.prototype.checkMomentum = function(absDistX, absDistY, timestamp) {
+      return timestamp - this.endTime > this.options.momentumLimitTime && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance;
+    };
+    ScrollerActions2.prototype.handleEnd = function(e2) {
+      if (this.hooks.trigger(this.hooks.eventTypes.beforeEnd, e2)) {
+        return;
+      }
+      var currentPos = this.getCurrentPos();
+      this.scrollBehaviorX.updateDirection();
+      this.scrollBehaviorY.updateDirection();
+      if (this.hooks.trigger(this.hooks.eventTypes.end, e2, currentPos)) {
+        return true;
+      }
+      currentPos = this.ensureIntegerPos(currentPos);
+      this.animater.translate(currentPos);
+      this.endTime = getNow();
+      var duration = this.endTime - this.startTime;
+      this.hooks.trigger(this.hooks.eventTypes.scrollEnd, currentPos, duration);
+    };
+    ScrollerActions2.prototype.ensureIntegerPos = function(currentPos) {
+      this.ensuringInteger = true;
+      var x2 = currentPos.x, y2 = currentPos.y;
+      var _a2 = this.scrollBehaviorX, minScrollPosX = _a2.minScrollPos, maxScrollPosX = _a2.maxScrollPos;
+      var _b2 = this.scrollBehaviorY, minScrollPosY = _b2.minScrollPos, maxScrollPosY = _b2.maxScrollPos;
+      x2 = x2 > 0 ? Math.ceil(x2) : Math.floor(x2);
+      y2 = y2 > 0 ? Math.ceil(y2) : Math.floor(y2);
+      x2 = between(x2, maxScrollPosX, minScrollPosX);
+      y2 = between(y2, maxScrollPosY, minScrollPosY);
+      return { x: x2, y: y2 };
+    };
+    ScrollerActions2.prototype.handleClick = function(e2) {
+      if (!preventDefaultExceptionFn(e2.target, this.options.preventDefaultException)) {
+        maybePrevent(e2);
+        e2.stopPropagation();
+      }
+    };
+    ScrollerActions2.prototype.getCurrentPos = function() {
+      return {
+        x: this.scrollBehaviorX.getCurrentPos(),
+        y: this.scrollBehaviorY.getCurrentPos()
+      };
+    };
+    ScrollerActions2.prototype.refresh = function() {
+      this.endTime = 0;
+    };
+    ScrollerActions2.prototype.destroy = function() {
+      this.hooks.destroy();
+    };
+    return ScrollerActions2;
+  }()
+);
+function createActionsHandlerOptions(bsOptions) {
+  var options2 = [
+    "click",
+    "bindToWrapper",
+    "disableMouse",
+    "disableTouch",
+    "preventDefault",
+    "stopPropagation",
+    "tagException",
+    "preventDefaultException",
+    "autoEndDistance"
+  ].reduce(function(prev, cur) {
+    prev[cur] = bsOptions[cur];
+    return prev;
+  }, {});
+  return options2;
+}
+function createBehaviorOptions(bsOptions, extraProp, bounces, rect) {
+  var options2 = [
+    "momentum",
+    "momentumLimitTime",
+    "momentumLimitDistance",
+    "deceleration",
+    "swipeBounceTime",
+    "swipeTime",
+    "outOfBoundaryDampingFactor",
+    "specifiedIndexAsContent"
+  ].reduce(function(prev, cur) {
+    prev[cur] = bsOptions[cur];
+    return prev;
+  }, {});
+  options2.scrollable = !!bsOptions[extraProp];
+  options2.bounces = bounces;
+  options2.rect = rect;
+  return options2;
+}
+function bubbling(source2, target, events) {
+  events.forEach(function(event2) {
+    var sourceEvent;
+    var targetEvent;
+    if (typeof event2 === "string") {
+      sourceEvent = targetEvent = event2;
+    } else {
+      sourceEvent = event2.source;
+      targetEvent = event2.target;
+    }
+    source2.on(sourceEvent, function() {
+      var args = [];
+      for (var _i = 0; _i < arguments.length; _i++) {
+        args[_i] = arguments[_i];
+      }
+      return target.trigger.apply(target, __spreadArrays([targetEvent], args));
+    });
+  });
+}
+function isSamePoint(startPoint, endPoint) {
+  var keys2 = Object.keys(startPoint);
+  for (var _i = 0, keys_1 = keys2; _i < keys_1.length; _i++) {
+    var key2 = keys_1[_i];
+    if (startPoint[key2] !== endPoint[key2])
+      return false;
+  }
+  return true;
+}
+var MIN_SCROLL_DISTANCE = 1;
+var Scroller = (
+  /** @class */
+  function() {
+    function Scroller2(wrapper, content, options2) {
+      this.wrapper = wrapper;
+      this.content = content;
+      this.resizeTimeout = 0;
+      this.hooks = new EventEmitter([
+        "beforeStart",
+        "beforeMove",
+        "beforeScrollStart",
+        "scrollStart",
+        "scroll",
+        "beforeEnd",
+        "scrollEnd",
+        "resize",
+        "touchEnd",
+        "end",
+        "flick",
+        "scrollCancel",
+        "momentum",
+        "scrollTo",
+        "minDistanceScroll",
+        "scrollToElement",
+        "beforeRefresh"
+      ]);
+      this.options = options2;
+      var _a2 = this.options.bounce, left = _a2.left, right = _a2.right, top = _a2.top, bottom = _a2.bottom;
+      this.scrollBehaviorX = new Behavior(wrapper, content, createBehaviorOptions(options2, "scrollX", [left, right], {
+        size: "width",
+        position: "left"
+      }));
+      this.scrollBehaviorY = new Behavior(wrapper, content, createBehaviorOptions(options2, "scrollY", [top, bottom], {
+        size: "height",
+        position: "top"
+      }));
+      this.translater = new Translater(this.content);
+      this.animater = createAnimater(this.content, this.translater, this.options);
+      this.actionsHandler = new ActionsHandler(this.options.bindToTarget ? this.content : wrapper, createActionsHandlerOptions(this.options));
+      this.actions = new ScrollerActions(this.scrollBehaviorX, this.scrollBehaviorY, this.actionsHandler, this.animater, this.options);
+      var resizeHandler = this.resize.bind(this);
+      this.resizeRegister = new EventRegister(window, [
+        {
+          name: "orientationchange",
+          handler: resizeHandler
+        },
+        {
+          name: "resize",
+          handler: resizeHandler
+        }
+      ]);
+      this.registerTransitionEnd();
+      this.init();
+    }
+    Scroller2.prototype.init = function() {
+      var _this = this;
+      this.bindTranslater();
+      this.bindAnimater();
+      this.bindActions();
+      this.hooks.on(this.hooks.eventTypes.scrollEnd, function() {
+        _this.togglePointerEvents(true);
+      });
+    };
+    Scroller2.prototype.registerTransitionEnd = function() {
+      this.transitionEndRegister = new EventRegister(this.content, [
+        {
+          name: style.transitionEnd,
+          handler: this.transitionEnd.bind(this)
+        }
+      ]);
+    };
+    Scroller2.prototype.bindTranslater = function() {
+      var _this = this;
+      var hooks2 = this.translater.hooks;
+      hooks2.on(hooks2.eventTypes.beforeTranslate, function(transformStyle) {
+        if (_this.options.translateZ) {
+          transformStyle.push(_this.options.translateZ);
+        }
+      });
+      hooks2.on(hooks2.eventTypes.translate, function(pos) {
+        var prevPos = _this.getCurrentPos();
+        _this.updatePositions(pos);
+        if (_this.actions.ensuringInteger === true) {
+          _this.actions.ensuringInteger = false;
+          return;
+        }
+        if (pos.x !== prevPos.x || pos.y !== prevPos.y) {
+          _this.togglePointerEvents(false);
+        }
+      });
+    };
+    Scroller2.prototype.bindAnimater = function() {
+      var _this = this;
+      this.animater.hooks.on(this.animater.hooks.eventTypes.end, function(pos) {
+        if (!_this.resetPosition(_this.options.bounceTime)) {
+          _this.animater.setPending(false);
+          _this.hooks.trigger(_this.hooks.eventTypes.scrollEnd, pos);
+        }
+      });
+      bubbling(this.animater.hooks, this.hooks, [
+        {
+          source: this.animater.hooks.eventTypes.move,
+          target: this.hooks.eventTypes.scroll
+        },
+        {
+          source: this.animater.hooks.eventTypes.forceStop,
+          target: this.hooks.eventTypes.scrollEnd
+        }
+      ]);
+    };
+    Scroller2.prototype.bindActions = function() {
+      var _this = this;
+      var actions2 = this.actions;
+      bubbling(actions2.hooks, this.hooks, [
+        {
+          source: actions2.hooks.eventTypes.start,
+          target: this.hooks.eventTypes.beforeStart
+        },
+        {
+          source: actions2.hooks.eventTypes.start,
+          target: this.hooks.eventTypes.beforeScrollStart
+        },
+        {
+          source: actions2.hooks.eventTypes.beforeMove,
+          target: this.hooks.eventTypes.beforeMove
+        },
+        {
+          source: actions2.hooks.eventTypes.scrollStart,
+          target: this.hooks.eventTypes.scrollStart
+        },
+        {
+          source: actions2.hooks.eventTypes.scroll,
+          target: this.hooks.eventTypes.scroll
+        },
+        {
+          source: actions2.hooks.eventTypes.beforeEnd,
+          target: this.hooks.eventTypes.beforeEnd
+        }
+      ]);
+      actions2.hooks.on(actions2.hooks.eventTypes.end, function(e2, pos) {
+        _this.hooks.trigger(_this.hooks.eventTypes.touchEnd, pos);
+        if (_this.hooks.trigger(_this.hooks.eventTypes.end, pos)) {
+          return true;
+        }
+        if (!actions2.fingerMoved) {
+          _this.hooks.trigger(_this.hooks.eventTypes.scrollCancel);
+          if (_this.checkClick(e2)) {
+            return true;
+          }
+        }
+        if (_this.resetPosition(_this.options.bounceTime, ease.bounce)) {
+          _this.animater.setForceStopped(false);
+          return true;
+        }
+      });
+      actions2.hooks.on(actions2.hooks.eventTypes.scrollEnd, function(pos, duration) {
+        var deltaX = Math.abs(pos.x - _this.scrollBehaviorX.startPos);
+        var deltaY = Math.abs(pos.y - _this.scrollBehaviorY.startPos);
+        if (_this.checkFlick(duration, deltaX, deltaY)) {
+          _this.animater.setForceStopped(false);
+          _this.hooks.trigger(_this.hooks.eventTypes.flick);
+          return;
+        }
+        if (_this.momentum(pos, duration)) {
+          _this.animater.setForceStopped(false);
+          return;
+        }
+        if (actions2.contentMoved) {
+          _this.hooks.trigger(_this.hooks.eventTypes.scrollEnd, pos);
+        }
+        if (_this.animater.forceStopped) {
+          _this.animater.setForceStopped(false);
+        }
+      });
+    };
+    Scroller2.prototype.checkFlick = function(duration, deltaX, deltaY) {
+      var flickMinMovingDistance = 1;
+      if (this.hooks.events.flick.length > 1 && duration < this.options.flickLimitTime && deltaX < this.options.flickLimitDistance && deltaY < this.options.flickLimitDistance && (deltaY > flickMinMovingDistance || deltaX > flickMinMovingDistance)) {
+        return true;
+      }
+    };
+    Scroller2.prototype.momentum = function(pos, duration) {
+      var meta = {
+        time: 0,
+        easing: ease.swiper,
+        newX: pos.x,
+        newY: pos.y
+      };
+      var momentumX = this.scrollBehaviorX.end(duration);
+      var momentumY = this.scrollBehaviorY.end(duration);
+      meta.newX = isUndef$1(momentumX.destination) ? meta.newX : momentumX.destination;
+      meta.newY = isUndef$1(momentumY.destination) ? meta.newY : momentumY.destination;
+      meta.time = Math.max(momentumX.duration, momentumY.duration);
+      this.hooks.trigger(this.hooks.eventTypes.momentum, meta, this);
+      if (meta.newX !== pos.x || meta.newY !== pos.y) {
+        if (meta.newX > this.scrollBehaviorX.minScrollPos || meta.newX < this.scrollBehaviorX.maxScrollPos || meta.newY > this.scrollBehaviorY.minScrollPos || meta.newY < this.scrollBehaviorY.maxScrollPos) {
+          meta.easing = ease.swipeBounce;
+        }
+        this.scrollTo(meta.newX, meta.newY, meta.time, meta.easing);
+        return true;
+      }
+    };
+    Scroller2.prototype.checkClick = function(e2) {
+      var cancelable = {
+        preventClick: this.animater.forceStopped
+      };
+      if (this.hooks.trigger(this.hooks.eventTypes.checkClick)) {
+        this.animater.setForceStopped(false);
+        return true;
+      }
+      if (!cancelable.preventClick) {
+        var _dblclick = this.options.dblclick;
+        var dblclickTrigged = false;
+        if (_dblclick && this.lastClickTime) {
+          var _a2 = _dblclick.delay, delay = _a2 === void 0 ? 300 : _a2;
+          if (getNow() - this.lastClickTime < delay) {
+            dblclickTrigged = true;
+            dblclick(e2);
+          }
+        }
+        if (this.options.tap) {
+          tap(e2, this.options.tap);
+        }
+        if (this.options.click && !preventDefaultExceptionFn(e2.target, this.options.preventDefaultException)) {
+          click(e2);
+        }
+        this.lastClickTime = dblclickTrigged ? null : getNow();
+        return true;
+      }
+      return false;
+    };
+    Scroller2.prototype.resize = function() {
+      var _this = this;
+      if (!this.actions.enabled) {
+        return;
+      }
+      if (isAndroid) {
+        this.wrapper.scrollTop = 0;
+      }
+      clearTimeout(this.resizeTimeout);
+      this.resizeTimeout = window.setTimeout(function() {
+        _this.hooks.trigger(_this.hooks.eventTypes.resize);
+      }, this.options.resizePolling);
+    };
+    Scroller2.prototype.transitionEnd = function(e2) {
+      if (e2.target !== this.content || !this.animater.pending) {
+        return;
+      }
+      var animater = this.animater;
+      animater.transitionTime();
+      if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {
+        this.animater.setPending(false);
+        if (this.options.probeType !== 3) {
+          this.hooks.trigger(this.hooks.eventTypes.scrollEnd, this.getCurrentPos());
+        }
+      }
+    };
+    Scroller2.prototype.togglePointerEvents = function(enabled) {
+      if (enabled === void 0) {
+        enabled = true;
+      }
+      var el = this.content.children.length ? this.content.children : [this.content];
+      var pointerEvents = enabled ? "auto" : "none";
+      for (var i2 = 0; i2 < el.length; i2++) {
+        var node = el[i2];
+        if (node.isBScrollContainer) {
+          continue;
+        }
+        node.style.pointerEvents = pointerEvents;
+      }
+    };
+    Scroller2.prototype.refresh = function(content) {
+      var contentChanged = this.setContent(content);
+      this.hooks.trigger(this.hooks.eventTypes.beforeRefresh);
+      this.scrollBehaviorX.refresh(content);
+      this.scrollBehaviorY.refresh(content);
+      if (contentChanged) {
+        this.translater.setContent(content);
+        this.animater.setContent(content);
+        this.transitionEndRegister.destroy();
+        this.registerTransitionEnd();
+        if (this.options.bindToTarget) {
+          this.actionsHandler.setContent(content);
+        }
+      }
+      this.actions.refresh();
+      this.wrapperOffset = offset(this.wrapper);
+    };
+    Scroller2.prototype.setContent = function(content) {
+      var contentChanged = content !== this.content;
+      if (contentChanged) {
+        this.content = content;
+      }
+      return contentChanged;
+    };
+    Scroller2.prototype.scrollBy = function(deltaX, deltaY, time2, easing2) {
+      if (time2 === void 0) {
+        time2 = 0;
+      }
+      var _a2 = this.getCurrentPos(), x2 = _a2.x, y2 = _a2.y;
+      easing2 = !easing2 ? ease.bounce : easing2;
+      deltaX += x2;
+      deltaY += y2;
+      this.scrollTo(deltaX, deltaY, time2, easing2);
+    };
+    Scroller2.prototype.scrollTo = function(x2, y2, time2, easing2, extraTransform) {
+      if (time2 === void 0) {
+        time2 = 0;
+      }
+      if (easing2 === void 0) {
+        easing2 = ease.bounce;
+      }
+      if (extraTransform === void 0) {
+        extraTransform = {
+          start: {},
+          end: {}
+        };
+      }
+      var easingFn = this.options.useTransition ? easing2.style : easing2.fn;
+      var currentPos = this.getCurrentPos();
+      var startPoint = __assign({ x: currentPos.x, y: currentPos.y }, extraTransform.start);
+      var endPoint = __assign({
+        x: x2,
+        y: y2
+      }, extraTransform.end);
+      this.hooks.trigger(this.hooks.eventTypes.scrollTo, endPoint);
+      if (isSamePoint(startPoint, endPoint))
+        return;
+      var deltaX = Math.abs(endPoint.x - startPoint.x);
+      var deltaY = Math.abs(endPoint.y - startPoint.y);
+      if (deltaX < MIN_SCROLL_DISTANCE && deltaY < MIN_SCROLL_DISTANCE) {
+        time2 = 0;
+        this.hooks.trigger(this.hooks.eventTypes.minDistanceScroll);
+      }
+      this.animater.move(startPoint, endPoint, time2, easingFn);
+    };
+    Scroller2.prototype.scrollToElement = function(el, time2, offsetX, offsetY, easing2) {
+      var targetEle = getElement(el);
+      var pos = offset(targetEle);
+      var getOffset = function(offset2, size, wrapperSize) {
+        if (typeof offset2 === "number") {
+          return offset2;
+        }
+        return offset2 ? Math.round(size / 2 - wrapperSize / 2) : 0;
+      };
+      offsetX = getOffset(offsetX, targetEle.offsetWidth, this.wrapper.offsetWidth);
+      offsetY = getOffset(offsetY, targetEle.offsetHeight, this.wrapper.offsetHeight);
+      var getPos = function(pos2, wrapperPos, offset2, scrollBehavior) {
+        pos2 -= wrapperPos;
+        pos2 = scrollBehavior.adjustPosition(pos2 - offset2);
+        return pos2;
+      };
+      pos.left = getPos(pos.left, this.wrapperOffset.left, offsetX, this.scrollBehaviorX);
+      pos.top = getPos(pos.top, this.wrapperOffset.top, offsetY, this.scrollBehaviorY);
+      if (this.hooks.trigger(this.hooks.eventTypes.scrollToElement, targetEle, pos)) {
+        return;
+      }
+      this.scrollTo(pos.left, pos.top, time2, easing2);
+    };
+    Scroller2.prototype.resetPosition = function(time2, easing2) {
+      if (time2 === void 0) {
+        time2 = 0;
+      }
+      if (easing2 === void 0) {
+        easing2 = ease.bounce;
+      }
+      var _a2 = this.scrollBehaviorX.checkInBoundary(), x2 = _a2.position, xInBoundary = _a2.inBoundary;
+      var _b2 = this.scrollBehaviorY.checkInBoundary(), y2 = _b2.position, yInBoundary = _b2.inBoundary;
+      if (xInBoundary && yInBoundary) {
+        return false;
+      }
+      if (isIOSBadVersion) {
+        this.reflow();
+      }
+      this.scrollTo(x2, y2, time2, easing2);
+      return true;
+    };
+    Scroller2.prototype.reflow = function() {
+      this._reflow = this.content.offsetHeight;
+    };
+    Scroller2.prototype.updatePositions = function(pos) {
+      this.scrollBehaviorX.updatePosition(pos.x);
+      this.scrollBehaviorY.updatePosition(pos.y);
+    };
+    Scroller2.prototype.getCurrentPos = function() {
+      return this.actions.getCurrentPos();
+    };
+    Scroller2.prototype.enable = function() {
+      this.actions.enabled = true;
+    };
+    Scroller2.prototype.disable = function() {
+      cancelAnimationFrame$1(this.animater.timer);
+      this.actions.enabled = false;
+    };
+    Scroller2.prototype.destroy = function() {
+      var _this = this;
+      var keys2 = [
+        "resizeRegister",
+        "transitionEndRegister",
+        "actionsHandler",
+        "actions",
+        "hooks",
+        "animater",
+        "translater",
+        "scrollBehaviorX",
+        "scrollBehaviorY"
+      ];
+      keys2.forEach(function(key2) {
+        return _this[key2].destroy();
+      });
+    };
+    return Scroller2;
+  }()
+);
+var BScrollConstructor = (
+  /** @class */
+  function(_super) {
+    __extends$1(BScrollConstructor2, _super);
+    function BScrollConstructor2(el, options2) {
+      var _this = _super.call(this, [
+        "refresh",
+        "contentChanged",
+        "enable",
+        "disable",
+        "beforeScrollStart",
+        "scrollStart",
+        "scroll",
+        "scrollEnd",
+        "scrollCancel",
+        "touchEnd",
+        "flick",
+        "destroy"
+      ]) || this;
+      var wrapper = getElement(el);
+      if (!wrapper) {
+        warn$1("Can not resolve the wrapper DOM.");
+        return _this;
+      }
+      _this.plugins = {};
+      _this.options = new OptionsConstructor().merge(options2).process();
+      if (!_this.setContent(wrapper).valid) {
+        return _this;
+      }
+      _this.hooks = new EventEmitter([
+        "refresh",
+        "enable",
+        "disable",
+        "destroy",
+        "beforeInitialScrollTo",
+        "contentChanged"
+      ]);
+      _this.init(wrapper);
+      return _this;
+    }
+    BScrollConstructor2.use = function(ctor) {
+      var name2 = ctor.pluginName;
+      var installed2 = BScrollConstructor2.plugins.some(function(plugin) {
+        return ctor === plugin.ctor;
+      });
+      if (installed2)
+        return BScrollConstructor2;
+      if (isUndef$1(name2)) {
+        warn$1("Plugin Class must specify plugin's name in static property by 'pluginName' field.");
+        return BScrollConstructor2;
+      }
+      BScrollConstructor2.pluginsMap[name2] = true;
+      BScrollConstructor2.plugins.push({
+        name: name2,
+        applyOrder: ctor.applyOrder,
+        ctor
+      });
+      return BScrollConstructor2;
+    };
+    BScrollConstructor2.prototype.setContent = function(wrapper) {
+      var contentChanged = false;
+      var valid = true;
+      var content = wrapper.children[this.options.specifiedIndexAsContent];
+      if (!content) {
+        warn$1("The wrapper need at least one child element to be content element to scroll.");
+        valid = false;
+      } else {
+        contentChanged = this.content !== content;
+        if (contentChanged) {
+          this.content = content;
+        }
+      }
+      return {
+        valid,
+        contentChanged
+      };
+    };
+    BScrollConstructor2.prototype.init = function(wrapper) {
+      var _this = this;
+      this.wrapper = wrapper;
+      wrapper.isBScrollContainer = true;
+      this.scroller = new Scroller(wrapper, this.content, this.options);
+      this.scroller.hooks.on(this.scroller.hooks.eventTypes.resize, function() {
+        _this.refresh();
+      });
+      this.eventBubbling();
+      this.handleAutoBlur();
+      this.enable();
+      this.proxy(propertiesConfig);
+      this.applyPlugins();
+      this.refreshWithoutReset(this.content);
+      var _a2 = this.options, startX = _a2.startX, startY = _a2.startY;
+      var position2 = {
+        x: startX,
+        y: startY
+      };
+      if (this.hooks.trigger(this.hooks.eventTypes.beforeInitialScrollTo, position2)) {
+        return;
+      }
+      this.scroller.scrollTo(position2.x, position2.y);
+    };
+    BScrollConstructor2.prototype.applyPlugins = function() {
+      var _this = this;
+      var options2 = this.options;
+      BScrollConstructor2.plugins.sort(function(a2, b2) {
+        var _a2;
+        var applyOrderMap = (_a2 = {}, _a2[
+          "pre"
+          /* Pre */
+        ] = -1, _a2[
+          "post"
+          /* Post */
+        ] = 1, _a2);
+        var aOrder = a2.applyOrder ? applyOrderMap[a2.applyOrder] : 0;
+        var bOrder = b2.applyOrder ? applyOrderMap[b2.applyOrder] : 0;
+        return aOrder - bOrder;
+      }).forEach(function(item) {
+        var ctor = item.ctor;
+        if (options2[item.name] && typeof ctor === "function") {
+          _this.plugins[item.name] = new ctor(_this);
+        }
+      });
+    };
+    BScrollConstructor2.prototype.handleAutoBlur = function() {
+      if (this.options.autoBlur) {
+        this.on(this.eventTypes.beforeScrollStart, function() {
+          var activeElement = document.activeElement;
+          if (activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA")) {
+            activeElement.blur();
+          }
+        });
+      }
+    };
+    BScrollConstructor2.prototype.eventBubbling = function() {
+      bubbling(this.scroller.hooks, this, [
+        this.eventTypes.beforeScrollStart,
+        this.eventTypes.scrollStart,
+        this.eventTypes.scroll,
+        this.eventTypes.scrollEnd,
+        this.eventTypes.scrollCancel,
+        this.eventTypes.touchEnd,
+        this.eventTypes.flick
+      ]);
+    };
+    BScrollConstructor2.prototype.refreshWithoutReset = function(content) {
+      this.scroller.refresh(content);
+      this.hooks.trigger(this.hooks.eventTypes.refresh, content);
+      this.trigger(this.eventTypes.refresh, content);
+    };
+    BScrollConstructor2.prototype.proxy = function(propertiesConfig2) {
+      var _this = this;
+      propertiesConfig2.forEach(function(_a2) {
+        var key2 = _a2.key, sourceKey = _a2.sourceKey;
+        propertiesProxy(_this, sourceKey, key2);
+      });
+    };
+    BScrollConstructor2.prototype.refresh = function() {
+      var _a2 = this.setContent(this.wrapper), contentChanged = _a2.contentChanged, valid = _a2.valid;
+      if (valid) {
+        var content = this.content;
+        this.refreshWithoutReset(content);
+        if (contentChanged) {
+          this.hooks.trigger(this.hooks.eventTypes.contentChanged, content);
+          this.trigger(this.eventTypes.contentChanged, content);
+        }
+        this.scroller.resetPosition();
+      }
+    };
+    BScrollConstructor2.prototype.enable = function() {
+      this.scroller.enable();
+      this.hooks.trigger(this.hooks.eventTypes.enable);
+      this.trigger(this.eventTypes.enable);
+    };
+    BScrollConstructor2.prototype.disable = function() {
+      this.scroller.disable();
+      this.hooks.trigger(this.hooks.eventTypes.disable);
+      this.trigger(this.eventTypes.disable);
+    };
+    BScrollConstructor2.prototype.destroy = function() {
+      this.hooks.trigger(this.hooks.eventTypes.destroy);
+      this.trigger(this.eventTypes.destroy);
+      this.scroller.destroy();
+    };
+    BScrollConstructor2.prototype.eventRegister = function(names) {
+      this.registerType(names);
+    };
+    BScrollConstructor2.plugins = [];
+    BScrollConstructor2.pluginsMap = {};
+    return BScrollConstructor2;
+  }(EventEmitter)
+);
+function createBScroll(el, options2) {
+  var bs = new BScrollConstructor(el, options2);
+  return bs;
+}
+createBScroll.use = BScrollConstructor.use;
+createBScroll.plugins = BScrollConstructor.plugins;
+createBScroll.pluginsMap = BScrollConstructor.pluginsMap;
+var BScroll = createBScroll;
+function _createForOfIteratorHelperLoose$w(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$w(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$w(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$w(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$w(o2, minLen);
+}
+function _arrayLikeToArray$w(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$x = function _export_sfc27(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$w(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$I = defineComponent({
+  name: $prefix + "ActionSheet",
+  props: [].concat(props, ["menus", "modelValue", "visible", "ellipsis", "contentPosition", "contentStyle", "height", "valueField", "textField", "contentClass"]),
+  setup: function setup$19(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$i,
+      api: api$i,
+      extendOptions: {
+        BScroll
+      }
+    });
+  }
+});
+var _hoisted_1$w = ["onClick"];
+var _hoisted_2$s = {
+  key: 1,
+  class: "tiny-mobile-action-sheet__action"
+};
+function _sfc_render$y(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    {
+      class: "tiny-mobile-action-sheet",
+      onClick: _cache[1] || (_cache[1] = function() {
+        return _ctx2.hide && _ctx2.hide.apply(_ctx2, arguments);
+      })
+    },
+    [!_ctx2.contentPosition ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        class: "tiny-mobile-action-sheet__mask",
+        style: normalizeStyle$2(_ctx2.state.sheetMaskStyle)
+      },
+      null,
+      4
+      /* STYLE */
+    )) : createCommentVNode("v-if", true), createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(["tiny-mobile-action-sheet__content", _ctx2.state.toggle ? "is-toggle" : "", _ctx2.contentPosition ? "" : "is-not-content"]),
+        style: normalizeStyle$2([_ctx2.state.sheetContentStyle]),
+        ref: "scrollMenu"
+      },
+      [createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-mobile-action-sheet__menu", _ctx2.ellipsis ? "is-ellipsis" : ""])
+        },
+        [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx2.menus, function(item, index3) {
+            return openBlock(), createElementBlock("div", {
+              class: normalizeClass(["tiny-mobile-action-sheet__item", item.warn ? "is-warn" : "", item[_ctx2.valueField] === _ctx2.modelValue ? "is-active" : ""]),
+              style: normalizeStyle$2(_ctx2.state.contentStyle),
+              key: index3,
+              onClick: function onClick($event) {
+                return _ctx2.selectOption(item, index3);
+              }
+            }, [renderSlot(_ctx2.$slots, "item", {
+              item
+            }, function() {
+              return [createTextVNode(
+                toDisplayString(item[_ctx2.textField]),
+                1
+                /* TEXT */
+              )];
+            })], 14, _hoisted_1$w);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))],
+        2
+        /* CLASS */
+      )],
+      6
+      /* CLASS, STYLE */
+    ), _ctx2.contentPosition ? (openBlock(), createElementBlock("div", _hoisted_2$s, [renderSlot(_ctx2.$slots, "action", {}, function() {
+      return [createBaseVNode(
+        "div",
+        {
+          class: "tiny-mobile-action-sheet__cancel",
+          onClick: _cache[0] || (_cache[0] = function() {
+            return _ctx2.hide && _ctx2.hide.apply(_ctx2, arguments);
+          })
+        },
+        toDisplayString(_ctx2.t("ui.actionSheet.cancel")),
+        1
+        /* TEXT */
+      )];
+    })])) : createCommentVNode("v-if", true)],
+    512
+    /* NEED_PATCH */
+  )), [[vShow, _ctx2.visible]]);
+}
+var mobile$7 = /* @__PURE__ */ _export_sfc$x(_sfc_main$I, [["render", _sfc_render$y]]);
+const computedWidth = ({
+  state,
+  designConfig,
+  props: props2,
+  constants
+}) => () => {
+  var _a2;
+  if (state.width) {
+    return state.width + "px";
+  }
+  return props2.width || ((_a2 = designConfig == null ? void 0 : designConfig.constants) == null ? void 0 : _a2.DEFAULT_WIDTH) || constants.DEFAULT_WIDTH;
+};
+const close$1 = ({ api: api2 }) => (force = false) => {
+  api2.handleClose("close", force);
+};
+const watchVisible$1 = ({ state }) => (bool) => {
+  setTimeout(() => {
+    state.toggle = bool;
+  }, 0);
+};
+const watchToggle = ({ emit }) => (bool) => {
+  setTimeout(() => {
+    emit("update:visible", bool);
+  }, 0);
+};
+const confirm$1 = ({ api: api2 }) => () => {
+  api2.handleClose("confirm");
+};
+const handleClose = ({ emit, props: props2, state }) => (type2, force) => {
+  const isMaskNotClosable = type2 === "mask" && !props2.maskClosable;
+  const isBlockClose = !force && typeof props2.beforeClose === "function" && props2.beforeClose(type2) === false;
+  if (isMaskNotClosable || isBlockClose) {
+    return;
+  }
+  if (type2 !== "confirm") {
+    state.toggle = false;
+  }
+  emit(["close", "confirm"].includes(type2) ? type2 : "close");
+};
+const mousedown$1 = ({ state, vm }) => (event2) => {
+  event2.preventDefault();
+  const touch = event2.touches ? event2.touches[0] : event2;
+  const drawerBox = vm.$refs.drawerBox;
+  state.dragEvent.isDrag = true;
+  state.dragEvent.x = touch.clientX;
+  state.dragEvent.y = touch.clientY;
+  state.dragEvent.offsetWidth = drawerBox.offsetWidth;
+  state.dragEvent.offsetHeight = drawerBox.offsetHeight;
+};
+const mousemove = ({ state, props: props2 }) => debounce_default(1, (event2) => {
+  if (!state.dragEvent.isDrag) {
+    return;
+  }
+  event2.preventDefault();
+  const { placement } = props2;
+  const {
+    dragEvent: { x: x2, y: y2, offsetWidth, offsetHeight }
+  } = state;
+  const { touches, targetTouches, changedTouches } = event2;
+  const touch = touches && touches[0] || targetTouches && targetTouches[0] || changedTouches && changedTouches[0];
+  const { clientX, clientY } = touch || event2;
+  const offsetX = clientX - x2;
+  const offsetY = clientY - y2;
+  if (placement === "left") {
+    state.width = offsetWidth + offsetX;
+  } else if (placement === "right") {
+    state.width = offsetWidth - offsetX;
+  } else if (placement === "top") {
+    const height = offsetHeight + offsetY;
+    state.height = height > 10 ? height : 10;
+  } else if (placement === "bottom") {
+    const height = offsetHeight - offsetY;
+    state.height = height > 10 ? height : 10;
+  }
+});
+const mouseup = ({ state }) => () => {
+  if (!state.dragEvent.isDrag) {
+    return;
+  }
+  event.preventDefault();
+  state.dragEvent.isDrag = false;
+};
+const addDragEvent = ({ api: api2, vm }) => () => {
+  const el = vm.$refs.dragBar;
+  el.addEventListener("mousedown", api2.mousedown);
+  document.addEventListener("mousemove", api2.mousemove);
+  document.addEventListener("mouseup", api2.mouseup);
+  el.addEventListener("touchstart", api2.mousedown);
+  el.addEventListener("touchmove", api2.mousemove);
+  el.addEventListener("touchend", api2.mouseup);
+};
+const removeDragEvent = ({ api: api2, vm }) => () => {
+  const el = vm.$refs.dragBar;
+  el.removeEventListener("mousedown", api2.mousedown);
+  document.removeEventListener("mousemove", api2.mousemove);
+  document.removeEventListener("mouseup", api2.mouseup);
+  el.removeEventListener("touchstart", api2.mousedown);
+  el.removeEventListener("touchmove", api2.mousemove);
+  el.removeEventListener("touchend", api2.mouseup);
+};
+const showScrollbar$1 = (lockScrollClass) => () => {
+  addClass(document.body, lockScrollClass);
+};
+const hideScrollbar$1 = (lockScrollClass) => () => {
+  removeClass(document.body, lockScrollClass);
+};
+const watchVisibleNotImmediate = ({ api: api2, props: props2 }) => (visible) => {
+  if (props2.lockScroll) {
+    visible ? api2.showScrollbar() : api2.hideScrollbar();
+  }
+};
+const api$h = ["state", "close", "confirm", "handleClose"];
+const renderless$h = (props2, { reactive, watch: watch2, onMounted: onMounted2, onBeforeUnmount: onBeforeUnmount2, computed: computed2 }, { emit, vm, mode, constants, designConfig }) => {
+  var _a2;
+  const lockScrollClass = constants.SCROLL_LOCK_CLASS(mode);
+  const api2 = {};
+  const state = reactive({
+    toggle: false,
+    width: 0,
+    height: 0,
+    dragEvent: { x: 0, y: 0, isDrag: false, offsetWidth: 0, offsetHeight: 0 },
+    computedWidth: computed2(() => api2.computedWidth()),
+    btnOrderReversed: vm.theme === "saas" || ((_a2 = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a2.btnOrderReversed)
+  });
+  Object.assign(api2, {
+    state,
+    confirm: confirm$1({ api: api2 }),
+    close: close$1({ api: api2 }),
+    handleClose: handleClose({ emit, props: props2, state }),
+    mousedown: mousedown$1({ state, vm }),
+    mousemove: mousemove({ state, props: props2 }),
+    mouseup: mouseup({ state }),
+    addDragEvent: addDragEvent({ api: api2, vm }),
+    removeDragEvent: removeDragEvent({ api: api2, vm }),
+    watchVisible: watchVisible$1({ state }),
+    watchToggle: watchToggle({ emit }),
+    showScrollbar: showScrollbar$1(lockScrollClass),
+    hideScrollbar: hideScrollbar$1(lockScrollClass),
+    watchVisibleNotImmediate: watchVisibleNotImmediate({ api: api2, props: props2 }),
+    computedWidth: computedWidth({ state, designConfig, props: props2, constants })
+  });
+  onMounted2(() => {
+    props2.dragable && api2.addDragEvent();
+    if (props2.lockScroll && props2.visible) {
+      api2.showScrollbar();
+    }
+  });
+  onBeforeUnmount2(() => {
+    props2.dragable && api2.removeDragEvent();
+    props2.lockScroll && api2.hideScrollbar();
+  });
+  watch2(() => props2.visible, api2.watchVisible, { immediate: true });
+  watch2(() => state.toggle, api2.watchToggle);
+  watch2(
+    () => props2.width,
+    () => state.width = 0
+  );
+  return api2;
+};
+const index$r = "";
+function _createForOfIteratorHelperLoose$v(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$v(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$v(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$v(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$v(o2, minLen);
+}
+function _arrayLikeToArray$v(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$w = function _export_sfc28(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$v(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$H = defineComponent({
+  components: {
+    TinyButton: Button,
+    TinyTooltip: Tooltip,
+    IconClose: index$17(),
+    IconHelpCircle: index$W()
+  },
+  props: [].concat(props, ["visible", "title", "showHeader", "showFooter", "customClass", "placement", "width", "mask", "dragable", "maskClosable", "lockScroll", "flex", "showClose", "zIndex", "beforeClose", "tipsProps"]),
+  setup: function setup$110(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$h,
+      api: api$h
+    });
+  }
+});
+var _hoisted_1$v = {
+  "data-tag": "tiny-drawer",
+  class: "tiny-drawer"
+};
+var _hoisted_2$r = {
+  class: "tiny-drawer__box"
+};
+var _hoisted_3$o = {
+  key: 0,
+  "data-tag": "drawer-header",
+  ref: "header",
+  class: "tiny-drawer__header-wrapper"
+};
+var _hoisted_4$k = {
+  class: "tiny-drawer__header"
+};
+var _hoisted_5$i = {
+  class: "tiny-drawer__header-left"
+};
+var _hoisted_6$g = {
+  key: 0,
+  class: "tiny-drawer__title"
+};
+var _hoisted_7$c = {
+  class: "tiny-drawer__header-right"
+};
+var _hoisted_8$9 = {
+  key: 1,
+  "data-tag": "drawer-footer",
+  ref: "footer",
+  class: "tiny-drawer__footer"
+};
+function _sfc_render$x(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_help_circle = resolveComponent("icon-help-circle");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  return openBlock(), createElementBlock("div", _hoisted_1$v, [createVNode$1(Transition$1, {
+    name: "drawer-fade"
+  }, {
+    default: withCtx(function() {
+      return [_ctx2.mask && _ctx2.visible ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          ref: "mask",
+          class: normalizeClass(["tiny-drawer__mask", {
+            "show-bg-color": _ctx2.state.toggle
+          }]),
+          style: normalizeStyle$2({
+            zIndex: _ctx2.zIndex
+          }),
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx2.handleClose("mask");
+          })
+        },
+        null,
+        6
+        /* CLASS, STYLE */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    _: 1
+    /* STABLE */
+  }), createVNode$1(Transition$1, {
+    name: "drawer-slide-" + _ctx2.placement,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-drawer-main",
+          ref: "drawerBox",
+          class: normalizeClass(["tiny-drawer__main", {
+            "is-left": _ctx2.placement === "left",
+            "is-right": _ctx2.placement === "right",
+            "is-top": _ctx2.placement === "top",
+            "is-bottom": _ctx2.placement === "bottom",
+            "drag-effects": !_ctx2.state.dragEvent.isDrag,
+            "toggle": _ctx2.state.toggle
+          }, "tiny-drawer-main", _ctx2.customClass]),
+          style: normalizeStyle$2({
+            width: ["left", "right"].includes(_ctx2.placement) ? _ctx2.state.computedWidth : null,
+            height: ["top", "bottom"].includes(_ctx2.placement) && _ctx2.dragable && _ctx2.state.height ? _ctx2.state.height + "px" : null,
+            zIndex: _ctx2.zIndex
+          })
+        },
+        [_ctx2.dragable ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 0,
+            "data-tag": "drawer-drag-bar",
+            ref: "dragBar",
+            class: normalizeClass(["tiny-drawer__drag-bar", ["left", "right"].includes(_ctx2.placement) && "p-left-Right", ["top", "bottom"].includes(_ctx2.placement) && "p-top-Bottom", _ctx2.placement === "left" && "p-left", _ctx2.placement === "right" && "p-right", _ctx2.placement === "top" && "p-top", _ctx2.placement === "bottom" && "p-bottom"])
+          },
+          null,
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_2$r, [_ctx2.showHeader ? (openBlock(), createElementBlock(
+          "div",
+          _hoisted_3$o,
+          [renderSlot(_ctx2.$slots, "header", {}, function() {
+            return [createBaseVNode("div", _hoisted_4$k, [createBaseVNode("div", _hoisted_5$i, [_ctx2.title ? (openBlock(), createElementBlock(
+              "div",
+              _hoisted_6$g,
+              toDisplayString(_ctx2.title),
+              1
+              /* TEXT */
+            )) : createCommentVNode("v-if", true), _ctx2.tipsProps ? (openBlock(), createBlock(
+              _component_tiny_tooltip,
+              normalizeProps(mergeProps({
+                key: 1
+              }, _ctx2.tipsProps)),
+              {
+                default: withCtx(function() {
+                  return [createVNode$1(_component_icon_help_circle, {
+                    class: "tiny-drawer__help-icon"
+                  })];
+                }),
+                _: 1
+                /* STABLE */
+              },
+              16
+              /* FULL_PROPS */
+            )) : createCommentVNode("v-if", true)]), createBaseVNode("div", _hoisted_7$c, [renderSlot(_ctx2.$slots, "header-right")])])];
+          }), _ctx2.showClose ? (openBlock(), createElementBlock("button", {
+            key: 0,
+            type: "button",
+            class: "tiny-drawer__headerbtn",
+            "aria-label": "Close",
+            onClick: _cache[1] || (_cache[1] = function($event) {
+              return _ctx2.handleClose("close");
+            })
+          }, [createVNode$1(_component_icon_close, {
+            class: "tiny-svg-size tiny-drawer__close"
+          })])) : createCommentVNode("v-if", true)],
+          512
+          /* NEED_PATCH */
+        )) : createCommentVNode("v-if", true), createBaseVNode(
+          "div",
+          {
+            "data-tag": "drawer-body",
+            ref: "body",
+            class: normalizeClass(["tiny-drawer__body", {
+              "flex flex-col": _ctx2.flex
+            }, "drawer-body"])
+          },
+          [renderSlot(_ctx2.$slots, "default")],
+          2
+          /* CLASS */
+        ), _ctx2.showFooter ? (openBlock(), createElementBlock(
+          "div",
+          _hoisted_8$9,
+          [renderSlot(_ctx2.$slots, "footer", {}, function() {
+            return [createVNode$1(_component_tiny_button, {
+              type: "primary",
+              class: normalizeClass(["tiny-drawer__confirm-btn", {
+                reverse: _ctx2.state.btnOrderReversed
+              }]),
+              onClick: _cache[2] || (_cache[2] = function($event) {
+                return _ctx2.handleClose("confirm");
+              })
+            }, {
+              default: withCtx(function() {
+                return [createTextVNode(
+                  toDisplayString(_ctx2.t("ui.button.confirm")),
+                  1
+                  /* TEXT */
+                )];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["class"]), createVNode$1(_component_tiny_button, {
+              plain: "",
+              class: normalizeClass(["tiny-drawer__cancel-btn", {
+                reverse: _ctx2.state.btnOrderReversed
+              }]),
+              onClick: _cache[3] || (_cache[3] = function($event) {
+                return _ctx2.handleClose("cancel");
+              })
+            }, {
+              default: withCtx(function() {
+                return [createTextVNode(
+                  toDisplayString(_ctx2.t("ui.button.cancel")),
+                  1
+                  /* TEXT */
+                )];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["class"])];
+          })],
+          512
+          /* NEED_PATCH */
+        )) : createCommentVNode("v-if", true)])],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx2.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["name"])]);
+}
+var pc$e = /* @__PURE__ */ _export_sfc$w(_sfc_main$H, [["render", _sfc_render$x]]);
+function _createForOfIteratorHelperLoose$u(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$u(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$u(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$u(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$u(o2, minLen);
+}
+function _arrayLikeToArray$u(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$v = function _export_sfc29(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$u(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$G = defineComponent({
+  components: {
+    TinyButton: Button,
+    IconClose: index$17()
+  },
+  props: [].concat(props, ["visible", "title", "showHeader", "showFooter", "customClass", "placement", "width", "mask", "dragable", "maskClosable", "lockScroll", "flex", "beforeClose"]),
+  setup: function setup$111(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$h,
+      api: api$h
+    });
+  }
+});
+var _hoisted_1$u = {
+  "data-tag": "tiny-drawer",
+  class: "text-sm"
+};
+var _hoisted_2$q = {
+  class: /* @__PURE__ */ normalizeClass(["flex-auto flex-col flex max-h-full overflow-hidden"])
+};
+var _hoisted_3$n = {
+  key: 0,
+  "data-tag": "drawer-header",
+  ref: "header",
+  class: "flex-none flex leading-6 p-4 text-base items-center"
+};
+var _hoisted_4$j = {
+  key: 0,
+  class: "max-w-[80%] pr-4 text-left truncate text-color-text-primary"
+};
+var _hoisted_5$h = {
+  class: "flex-1 flex items-center justify-end"
+};
+var _hoisted_6$f = {
+  key: 1,
+  "data-tag": "drawer-footer",
+  ref: "footer",
+  class: "px-4 py-3"
+};
+var _hoisted_7$b = {
+  class: "flex-1 text-right"
+};
+function _sfc_render$w(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_IconClose = resolveComponent("IconClose");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    _hoisted_1$u,
+    [_ctx2.mask ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        ref: "mask",
+        class: normalizeClass(_ctx2.m("fixed z-50 left-0 right-0 top-0 bottom-0 w-full h-full transition-opacity ease-linear duration-200", {
+          "bg-color-bg-7": _ctx2.state.toggle
+        })),
+        onClick: _cache[0] || (_cache[0] = function($event) {
+          return _ctx2.handleClose("mask");
+        })
+      },
+      null,
+      2
+      /* CLASS */
+    )) : createCommentVNode("v-if", true), createBaseVNode(
+      "div",
+      {
+        "data-tag": "tiny-drawer-main",
+        ref: "drawerBox",
+        class: normalizeClass(_ctx2.m("fixed w-full max-w-full flex flex-col bg-color-bg-1 z-50 shadow-sm border-color-border-separator", {
+          "transition-all ease-linear duration-200": !_ctx2.state.dragEvent.isDrag
+        }, {
+          "h-full": ["left", "right"].includes(_ctx2.placement)
+        }, {
+          "max-h-full": ["top", "bottom"].includes(_ctx2.placement)
+        }, {
+          "left-0 bottom-0 translate-y-full border-t-0.5 rounded-t-lg": _ctx2.placement === "bottom"
+        }, {
+          "left-0 top-0 -translate-y-full border-b-0.5 rounded-b-lg": _ctx2.placement === "top"
+        }, {
+          "translate-y-0": ["top", "bottom"].includes(_ctx2.placement) && _ctx2.state.toggle
+        }, {
+          "left-0 top-0 -translate-x-full border-r-0.5 rounded-r-lg": _ctx2.placement === "left"
+        }, {
+          "right-0 top-0 translate-x-full border-l-0.5 rounded-l-lg": _ctx2.placement === "right"
+        }, {
+          "translate-x-0": ["left", "right"].includes(_ctx2.placement) && _ctx2.state.toggle
+        }, _ctx2.customClass)),
+        style: normalizeStyle$2({
+          width: ["left", "right"].includes(_ctx2.placement) ? _ctx2.state.computedWidth : null,
+          height: ["top", "bottom"].includes(_ctx2.placement) && _ctx2.dragable && _ctx2.state.height ? _ctx2.state.height + "px" : null
+        })
+      },
+      [_ctx2.dragable ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          "data-tag": "drawer-drag-bar",
+          ref: "dragBar",
+          class: normalizeClass(["absolute", ["left", "right"].includes(_ctx2.placement) && "cursor-e-resize h-full top-0 w-2", ["top", "bottom"].includes(_ctx2.placement) && "cursor-n-resize w-full h-2 left-0", _ctx2.placement === "left" && "-right-1", _ctx2.placement === "right" && "-left-1", _ctx2.placement === "top" && "-bottom-1", _ctx2.placement === "bottom" && "-top-1"])
+        },
+        null,
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_2$q, [_ctx2.showHeader ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_3$n,
+        [renderSlot(_ctx2.$slots, "header", {}, function() {
+          return [_ctx2.title ? (openBlock(), createElementBlock(
+            "div",
+            _hoisted_4$j,
+            toDisplayString(_ctx2.title),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_5$h, [renderSlot(_ctx2.$slots, "header-right", {}, function() {
+            return [createVNode$1(_component_IconClose, {
+              "custom-class": "h-5 w-5 cursor-pointer",
+              class: "fill-color-icon-primary",
+              onClick: _cache[1] || (_cache[1] = function($event) {
+                return _ctx2.handleClose("close");
+              })
+            })];
+          })])];
+        })],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), createBaseVNode(
+        "div",
+        {
+          "data-tag": "drawer-body",
+          ref: "body",
+          class: normalizeClass(["flex-auto overflow-auto", {
+            "flex flex-col": _ctx2.flex
+          }])
+        },
+        [renderSlot(_ctx2.$slots, "default")],
+        2
+        /* CLASS */
+      ), _ctx2.showFooter ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_6$f,
+        [createBaseVNode("div", _hoisted_7$b, [renderSlot(_ctx2.$slots, "footer", {}, function() {
+          return [createVNode$1(_component_tiny_button, {
+            tiny_mode: "mobile-first",
+            onClick: _cache[2] || (_cache[2] = function($event) {
+              return _ctx2.handleClose("cancel");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx2.t("ui.button.cancel")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }), createVNode$1(_component_tiny_button, {
+            tiny_mode: "mobile-first",
+            class: "ml-2",
+            type: "primary",
+            onClick: _cache[3] || (_cache[3] = function($event) {
+              return _ctx2.handleClose("confirm");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx2.t("ui.button.confirm")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          })];
+        })])],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true)])],
+      6
+      /* CLASS, STYLE */
+    )],
+    512
+    /* NEED_PATCH */
+  )), [[vShow, _ctx2.visible]]);
+}
+var mobileFirst$8 = /* @__PURE__ */ _export_sfc$v(_sfc_main$G, [["render", _sfc_render$w]]);
+function _extends$k() {
+  _extends$k = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$k.apply(this, arguments);
+}
+var template$g = function template24(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$e;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$8;
+  }
+  return pc$e;
+};
+var $constants$d = {
+  SCROLL_LOCK_CLASS: function SCROLL_LOCK_CLASS(mode) {
+    var scrollLockClasses = {
+      "mobile-first": "overflow-hidden",
+      "pc": "tiny-popup-parent--hidden tiny-dialog-box__scroll-lock"
+    };
+    return scrollLockClasses[mode] || "";
+  },
+  DEFAULT_WIDTH: "500px"
+};
+var drawerProps = _extends$k({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default20() {
+      return $constants$d;
+    }
+  },
+  visible: {
+    type: Boolean,
+    default: false
+  },
+  customClass: [String, Object, Array],
+  placement: {
+    type: String,
+    default: "right"
+  },
+  width: {
+    type: String
+  },
+  title: String,
+  showClose: {
+    type: Boolean,
+    default: true
+  },
+  showHeader: {
+    type: Boolean,
+    default: true
+  },
+  showFooter: {
+    type: Boolean,
+    default: false
+  },
+  mask: {
+    type: Boolean,
+    default: true
+  },
+  maskClosable: {
+    type: Boolean,
+    default: true
+  },
+  dragable: Boolean,
+  lockScroll: {
+    type: Boolean,
+    default: true
+  },
+  flex: {
+    type: Boolean,
+    default: false
+  },
+  zIndex: {
+    type: Number,
+    default: 2e3
+  },
+  beforeClose: Function,
+  tipsProps: Object
+});
+var Drawer = defineComponent({
+  name: $prefix + "Drawer",
+  props: drawerProps,
+  setup: function setup6(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$g
+    });
+  }
+});
+var version$j = "3.16.0";
+Drawer.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Drawer.install = function(Vue) {
+  Vue.component(Drawer.name, Drawer);
+};
+Drawer.version = version$j;
+function _createForOfIteratorHelperLoose$t(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$t(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$t(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$t(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$t(o2, minLen);
+}
+function _arrayLikeToArray$t(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$u = function _export_sfc210(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$t(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$F = defineComponent({
+  components: {
+    TinyButton: Button,
+    TinyDrawer: Drawer,
+    IconClose: index$17()
+  },
+  emits: ["update:modelValue", "update:visible", "hide", "close", "click"],
+  props: [].concat(props, ["modelValue", "visible", "title", "showHeader", "showFooter", "showClose", "fullscreen", "customClass", "menus", "type", "mask", "maskClosable", "lockScroll", "flex", "beforeClose"]),
+  setup: function setup$112(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$i,
+      api: api$i,
+      extendOptions: {
+        BScroll
+      }
+    });
+  }
+});
+var _hoisted_1$t = {
+  "data-tag": "tiny-action-sheet",
+  class: "text-sm"
+};
+var _hoisted_2$p = {
+  key: 0,
+  "data-tag": "action-sheet-header",
+  ref: "header",
+  class: "flex flex-none leading-6 pb-4 px-4 text-base items-center"
+};
+var _hoisted_3$m = {
+  class: "flex-1 flex items-center text-left"
+};
+var _hoisted_4$i = {
+  class: "min-w-[50%] max-w-[80%] px-4 text-center truncate font-bold"
+};
+var _hoisted_5$g = {
+  class: "flex-1 flex items-center justify-end"
+};
+var _hoisted_6$e = {
+  key: 0,
+  "data-tag": "action-box",
+  class: "flex flex-col h-full text-center"
+};
+var _hoisted_7$a = {
+  key: 0,
+  "data-tag": "action-title",
+  class: "flex-none flex items-center justify-center py-2.5 leading-5 text-sm text-color-none-hover border-b-0.5 border-color-bg-2"
+};
+var _hoisted_8$8 = {
+  class: "px-4"
+};
+var _hoisted_9$8 = {
+  class: "flex-auto min-h-[theme(spacing.12)]"
+};
+var _hoisted_10$7 = ["onClick"];
+var _hoisted_11$7 = {
+  class: "truncate px-4 text-color-text-primary font-medium"
+};
+var _hoisted_12$7 = {
+  key: 1,
+  "data-tag": "action-sheet-footer",
+  ref: "footer",
+  class: "flex flex-none pt-2 justify-center"
+};
+function _sfc_render$v(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_drawer = resolveComponent("tiny-drawer");
+  return openBlock(), createElementBlock("div", _hoisted_1$t, [createVNode$1(_component_tiny_drawer, {
+    ref: "drawer",
+    title: _ctx2.title,
+    mask: _ctx2.mask,
+    flex: "",
+    "before-close": _ctx2.beforeClose,
+    "mask-closable": _ctx2.maskClosable,
+    "lock-scroll": _ctx2.lockScroll,
+    "show-header": false,
+    "custom-class": _ctx2.m("rounded-t-lg", {
+      "h-full": _ctx2.fullscreen
+    }, {
+      "max-h-[90%]": !_ctx2.fullscreen
+    }, {
+      "min-h-[theme(spacing.64)]": _ctx2.type !== "action"
+    }, {
+      "py-4": _ctx2.showHeader && _ctx2.type !== "action"
+    }, _ctx2.customClass),
+    placement: "bottom",
+    visible: _ctx2.visible,
+    "onUpdate:visible": _cache[1] || (_cache[1] = function($event) {
+      return _ctx2.$emit("update:visible", $event);
+    })
+  }, {
+    default: withCtx(function() {
+      return [_ctx2.showHeader && _ctx2.type !== "action" ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_2$p,
+        [createBaseVNode("div", _hoisted_3$m, [renderSlot(_ctx2.$slots, "header-left")]), createBaseVNode(
+          "div",
+          _hoisted_4$i,
+          toDisplayString(_ctx2.title),
+          1
+          /* TEXT */
+        ), createBaseVNode("div", _hoisted_5$g, [renderSlot(_ctx2.$slots, "header-right", {}, function() {
+          return [_ctx2.showClose ? (openBlock(), createBlock(_component_icon_close, {
+            key: 0,
+            "custom-class": "h-5 w-5 cursor-pointer",
+            onClick: _ctx2.close
+          }, null, 8, ["onClick"])) : createCommentVNode("v-if", true)];
+        })])],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "body-top"), createBaseVNode(
+        "div",
+        {
+          "data-tag": "action-sheet-body",
+          ref: "body",
+          class: normalizeClass(["flex-auto overflow-auto scrollbar-size-0", {
+            "flex flex-col": _ctx2.flex
+          }])
+        },
+        [_ctx2.type === "action" ? (openBlock(), createElementBlock("div", _hoisted_6$e, [_ctx2.title ? (openBlock(), createElementBlock("div", _hoisted_7$a, [createBaseVNode(
+          "span",
+          _hoisted_8$8,
+          toDisplayString(_ctx2.title),
+          1
+          /* TEXT */
+        )])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_9$8, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx2.menus, function(item, index3) {
+            return openBlock(), createElementBlock("div", {
+              key: index3,
+              class: "flex-none flex items-center justify-center h-12 text-base border-b-0.5 border-color-bg-2 cursor-pointer",
+              onClick: withModifiers(function($event) {
+                return _ctx2.actionSelectOption(item, index3);
+              }, ["stop"])
+            }, [renderSlot(_ctx2.$slots, "default", {
+              data: item,
+              index: index3
+            }, function() {
+              return [createBaseVNode(
+                "span",
+                _hoisted_11$7,
+                toDisplayString(item),
+                1
+                /* TEXT */
+              )];
+            })], 8, _hoisted_10$7);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))]), createBaseVNode(
+          "div",
+          {
+            class: "flex-none flex items-center justify-center h-16 text-base border-t-8 border-color-bg-2 px-4 cursor-pointer",
+            onClick: _cache[0] || (_cache[0] = withModifiers(function() {
+              return _ctx2.close && _ctx2.close.apply(_ctx2, arguments);
+            }, ["stop"]))
+          },
+          toDisplayString(_ctx2.t("ui.base.cancel")),
+          1
+          /* TEXT */
+        )])) : renderSlot(_ctx2.$slots, "default", {
+          key: 1
+        })],
+        2
+        /* CLASS */
+      ), renderSlot(_ctx2.$slots, "body-bottom"), _ctx2.showFooter ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_12$7,
+        [renderSlot(_ctx2.$slots, "footer", {
+          beforeClose: _ctx2.beforeClose
+        }, function() {
+          return [createVNode$1(_component_tiny_button, {
+            tiny_mode: "mobile-first",
+            class: "flex-1 mx-4 sm:mx-0",
+            type: "primary",
+            onClick: _ctx2.confirm
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx2.t("ui.button.confirm")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["onClick"])];
+        })],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["title", "mask", "before-close", "mask-closable", "lock-scroll", "custom-class", "visible"])]);
+}
+var mobileFirst$7 = /* @__PURE__ */ _export_sfc$u(_sfc_main$F, [["render", _sfc_render$v]]);
+function _extends$j() {
+  _extends$j = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$j.apply(this, arguments);
+}
+var template$f = function template25(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$7;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$7;
+  }
+  return mobile$7;
+};
+var actionSheetProps = _extends$j({}, $props, {
+  menus: {
+    type: Array,
+    default: function _default21() {
+      return [];
+    }
+  },
+  modelValue: [Number, String, Array],
+  beforeClose: Function,
+  visible: {
+    type: Boolean,
+    default: false
+  },
+  ellipsis: {
+    type: Boolean,
+    default: false
+  },
+  height: {
+    type: String,
+    default: "100%"
+  },
+  valueField: {
+    type: String,
+    default: "id"
+  },
+  textField: {
+    type: String,
+    default: "label"
+  },
+  title: String,
+  showHeader: {
+    type: Boolean,
+    default: true
+  },
+  showFooter: {
+    type: Boolean,
+    default: false
+  },
+  showClose: {
+    type: Boolean,
+    default: function _default27() {
+      return true;
+    }
+  },
+  fullscreen: {
+    type: Boolean,
+    default: function _default35() {
+      return false;
+    }
+  },
+  customClass: [String, Object, Array],
+  contentClass: String,
+  type: {
+    type: String,
+    default: "normal"
+  },
+  mask: {
+    type: Boolean,
+    default: true
+  },
+  maskClosable: {
+    type: Boolean,
+    default: true
+  },
+  lockScroll: {
+    type: Boolean,
+    default: true
+  },
+  flex: {
+    type: Boolean,
+    default: true
+  },
+  contentPosition: {
+    type: Boolean,
+    default: false
+  },
+  contentStyle: {
+    type: Object,
+    default: function _default45() {
+      return {};
+    }
+  }
+});
+var ActionSheet = defineComponent({
+  name: $prefix + "ActionSheet",
+  props: actionSheetProps,
+  setup: function setup7(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$f
+    });
+  }
+});
+var version$i = "3.16.0";
+ActionSheet.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+ActionSheet.install = function(Vue) {
+  Vue.component(ActionSheet.name, ActionSheet);
+};
+ActionSheet.version = version$i;
+const HIDDEN_STYLE = `
+height:0 !important;visibility:hidden !important;overflow:hidden !important;
+position:absolute !important;z-index:-1000 !important;top:0 !important;right:0 !important
+`;
+const CONTEXT_STYLE = [
+  "width",
+  "line-height",
+  "padding-top",
+  "padding-bottom",
+  "padding-left",
+  "padding-right",
+  "border-width",
+  "box-sizing",
+  "letter-spacing",
+  "font-family",
+  "font-weight",
+  "font-size",
+  "text-rendering",
+  "text-transform",
+  "text-indent"
+];
+const STYLE = {
+  BoxSizing: "box-sizing",
+  BorderBox: "border-box",
+  ContentBox: "content-box",
+  PaddingTop: "padding-top",
+  PaddingBottom: "padding-bottom",
+  BorderTopWidth: "border-top-width",
+  BorderBottomWidth: "border-bottom-width"
+};
+const isServer = typeof window === "undefined";
+const isKorean = (text2) => /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(text2);
+const showBox = (state) => () => {
+  if (state.inputDisabled) {
+    return false;
+  }
+  state.boxVisibility = true;
+};
+const inputStyle = ({ props: props2 }) => () => {
+  return {
+    textAlign: props2.textAlign
+  };
+};
+const calculateNodeStyling = () => (targetElement) => {
+  const style2 = window.getComputedStyle(targetElement);
+  const boxSizing = style2.getPropertyValue(STYLE.BoxSizing);
+  const paddingSize = parseFloat(style2.getPropertyValue(STYLE.PaddingBottom)) + parseFloat(style2.getPropertyValue(STYLE.PaddingTop));
+  const borderSize = parseFloat(style2.getPropertyValue(STYLE.BorderBottomWidth)) + parseFloat(style2.getPropertyValue(STYLE.BorderTopWidth));
+  const contextStyle = CONTEXT_STYLE.map((name2) => `${name2}:${style2.getPropertyValue(name2)}`).join(";");
+  return { contextStyle, paddingSize, borderSize, boxSizing };
+};
+const calcTextareaHeight = ({
+  api: api2,
+  hiddenTextarea,
+  props: props2,
+  state,
+  mode,
+  constants
+}) => (targetElement, minRows = 1, maxRows = null) => {
+  if (!targetElement) {
+    return {
+      minHeight: "",
+      height: ""
+    };
+  }
+  if (!hiddenTextarea) {
+    hiddenTextarea = document.createElement("textarea");
+    document.body.appendChild(hiddenTextarea);
+  }
+  const { paddingSize, borderSize, boxSizing, contextStyle } = api2.calculateNodeStyling(targetElement);
+  hiddenTextarea.setAttribute("style", `${contextStyle};${HIDDEN_STYLE}`);
+  hiddenTextarea.value = targetElement.value || targetElement.placeholder || "";
+  let height = hiddenTextarea.scrollHeight;
+  const textareaStyle = {};
+  if (mode === "mobile") {
+    height = Math.max(hiddenTextarea.scrollHeight, constants.TEXTAREA_HEIGHT_MOBILE);
+  }
+  if (boxSizing === STYLE.ContentBox) {
+    height = height - paddingSize;
+  }
+  hiddenTextarea.value = "";
+  const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
+  if (minRows !== null) {
+    let minHeight = singleRowHeight * minRows;
+    if (boxSizing === STYLE.BorderBox) {
+      minHeight = minHeight + paddingSize + borderSize;
+    }
+    if (props2.size) {
+      minHeight = props2.size === "mini" ? minHeight * 0.67 : props2.size === "small" ? minHeight : minHeight * 1.17;
+    }
+    if (props2.height) {
+      minHeight = props2.height;
+    }
+    if (!state.isDisplayOnly) {
+      height = Math.max(minHeight, height);
+      textareaStyle.minHeight = `${minHeight}px`;
+    } else {
+      textareaStyle.minHeight = `0px`;
+    }
+  }
+  if (maxRows !== null) {
+    let maxHeight = singleRowHeight * maxRows;
+    if (boxSizing === STYLE.BorderBox) {
+      maxHeight += borderSize + paddingSize;
+    }
+    height = Math.min(maxHeight, height);
+  }
+  textareaStyle.height = `${height}px`;
+  hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);
+  hiddenTextarea = null;
+  return textareaStyle;
+};
+const getInput = (vm) => () => vm.$refs.input || vm.$refs.textarea;
+const blur = (api2) => () => api2.getInput().blur();
+const focus = (api2) => () => api2.getInput().focus();
+const select = (api2) => () => api2.getInput().select();
+const handleBlur = ({
+  api: api2,
+  componentName,
+  eventName,
+  emit,
+  props: props2,
+  state,
+  vm
+}) => (event2) => {
+  state.focused = false;
+  emit("blur", event2);
+  api2.isMemoryStorage.value = false;
+  if (props2.validateEvent) {
+    api2.dispatch(componentName, eventName, [props2.modelValue]);
+  }
+  if (props2.hoverExpand) {
+    vm.$refs.textarea.scrollTop = 0;
+  }
+};
+const handleFocus = ({ api: api2, emit, state }) => (event2) => {
+  state.focused = true;
+  emit("focus", event2);
+  api2.searchMemory(event2.target.value);
+};
+const handleInput = ({ api: api2, emit, nextTick: nextTick2, state }) => (event2) => {
+  if (state.isComposing) {
+    return;
+  }
+  if (event2.target.value === state.nativeInputValue) {
+    return;
+  }
+  emit("update:modelValue", event2.target.value);
+  emit("input", event2);
+  api2.searchMemory(event2.target.value);
+  nextTick2(api2.setNativeInputValue);
+};
+const handleChange$3 = (emit) => (event2) => emit("change", event2.target.value);
+const resizeTextarea = ({ api: api2, parent: parent3, vm, state, props: props2 }) => () => {
+  if (isServer) {
+    return;
+  }
+  const { autosize, type: type2 } = parent3;
+  if (type2 !== "textarea") {
+    return;
+  }
+  if (props2.hoverExpand && !state.enteredTextarea) {
+    state.textareaCalcStyle = {
+      minHeight: state.textareaHeight,
+      height: state.textareaHeight
+    };
+    return;
+  }
+  if (!autosize) {
+    state.textareaCalcStyle = {
+      minHeight: api2.calcTextareaHeight(vm.$refs.textarea).minHeight
+    };
+    return;
+  }
+  const minRows = autosize.minRows;
+  const maxRows = autosize.maxRows;
+  state.textareaCalcStyle = api2.calcTextareaHeight(vm.$refs.textarea, minRows, maxRows);
+};
+const setNativeInputValue = ({ api: api2, state }) => () => {
+  const input = api2.getInput();
+  if (!input) {
+    return;
+  }
+  if (input.value === state.nativeInputValue) {
+    return;
+  }
+  input.value = state.nativeInputValue;
+};
+const handleCompositionStart = (state) => () => state.isComposing = true;
+const handleCompositionUpdate = (state) => (event2) => {
+  const text2 = event2.target.value;
+  const lastCharacter = text2[text2.length - 1] || "";
+  state.isComposing = !isKorean(lastCharacter);
+};
+const handleCompositionEnd = ({ api: api2, state }) => (event2) => {
+  if (state.isComposing) {
+    state.isComposing = false;
+    api2.handleInput(event2);
+  }
+};
+const calcIconOffset = ({ CLASS_PREFIX, parent: parent3 }) => (place) => {
+  const elList = [].slice.call(
+    parent3.$el.querySelectorAll(`.${CLASS_PREFIX.Input}${place}`) || []
+  );
+  if (!elList.length) {
+    return;
+  }
+  let el = null;
+  for (let i2 = 0, len2 = elList.length; i2 < len2; i2++) {
+    if (elList[i2].parentNode === parent3.$el) {
+      el = elList[i2];
+      break;
+    }
+  }
+  if (!el) {
+    return;
+  }
+  const pendantMap = { suffix: "append", prefix: "prepend" };
+  const pendant = pendantMap[place];
+  if (parent3.$slots[pendant]) {
+    const dom2 = parent3.$el.querySelector(`.${CLASS_PREFIX.InputGroup}${pendant}`);
+    let transform3;
+    if (place === "suffix") {
+      transform3 = `translateX(-${dom2.offsetWidth}px)`;
+    } else if (place === "prefix") {
+      transform3 = `translate(${dom2.offsetWidth}px, -50%)`;
+    }
+    el.style.transform = transform3;
+  } else {
+    el.removeAttribute("style");
+  }
+};
+const updateIconOffset = (api2) => () => {
+  api2.calcIconOffset("prefix");
+  api2.calcIconOffset("suffix");
+};
+const clear$2 = (emit) => () => {
+  emit("update:modelValue", "");
+  emit("change", "");
+  emit("clear");
+};
+const handlePasswordVisible = ({ api: api2, nextTick: nextTick2, state }) => () => {
+  state.passwordVisible = !state.passwordVisible;
+  nextTick2(api2.focus);
+};
+const getSuffixVisible = ({ parent: parent3, props: props2, state }) => () => parent3.$slots.suffix || props2.suffixIcon || state.showClear || props2.showPassword || state.isWordLimitVisible || state.validateState && state.needStatusIcon || props2.mask && state.inputDisabled;
+const textLength = (value) => {
+  if (typeof value === "number") {
+    return String(value).length;
+  }
+  return (value || "").length;
+};
+const watchFormSelect = ({ emit, props: props2, state }) => (value) => {
+  if (props2.isSelect) {
+    emit("update:modelValue", value);
+    emit("change", value);
+    const filterData = props2.selectMenu.length && props2.selectMenu.filter((item) => item.id === value).shift();
+    state.checkedLabel = filterData ? filterData.label : "";
+  }
+};
+const hasSelection = (api2) => () => {
+  const input = api2.getInput();
+  return input && input.selectionStart !== input.selectionEnd;
+};
+const handleEnterDisplayOnlyContent = ({ state, props: props2 }) => ($event, type2) => {
+  const target = $event.target;
+  state.displayOnlyTooltip = "";
+  if (!target) {
+    return;
+  }
+  const isOverText = target.scrollWidth > target.offsetWidth || type2 === "textarea" && target.scrollHeight > target.offsetHeight;
+  if (isOverText) {
+    state.displayOnlyTooltip = props2.displayOnlyContent || state.nativeInputValue;
+  } else {
+    let isOverTextWhenMask = false;
+    if (props2.mask && state.maskValueVisible) {
+      const text2 = target.textContent;
+      const font = window.getComputedStyle(target).font;
+      const rect = target.getBoundingClientRect();
+      const iconWidth = 16 + 15;
+      isOverTextWhenMask = omitText(text2, font, rect.width - iconWidth).o;
+    }
+    if (isOverTextWhenMask) {
+      state.displayOnlyTooltip = props2.displayOnlyContent || state.nativeInputValue;
+    }
+  }
+};
+const hiddenPassword = ({ state, props: props2 }) => () => {
+  let str = "";
+  const password = props2.displayOnlyContent || state.nativeInputValue;
+  for (let i2 = 0; i2 < password.length; i2++) {
+    str += "*";
+  }
+  return str;
+};
+const getDisplayedMaskValue = ({ state }) => () => {
+  if (state.maskValueVisible) {
+    return state.nativeInputValue;
+  } else {
+    return state.nativeInputValue && state.maskSymbol;
+  }
+};
+const setInputDomValue = ({ state, props: props2, nextTick: nextTick2, vm }) => (type2) => {
+  nextTick2(() => {
+    const input = vm.$refs.input;
+    if (props2.mask && state.nativeInputValue && input) {
+      input.value = state.maskValueVisible || !state.inputDisabled ? state.nativeInputValue : state.maskSymbol;
+    }
+    if (type2 === "mask" && !props2.mask && input) {
+      input.value = state.nativeInputValue;
+    }
+  });
+};
+const handleEnterTextarea = ({ api: api2, state, props: props2, nextTick: nextTick2 }) => () => {
+  if (props2.hoverExpand && !state.isDisplayOnly) {
+    state.enteredTextarea = true;
+    nextTick2(api2.resizeTextarea);
+  }
+};
+const handleLeaveTextarea = ({ api: api2, state, props: props2, nextTick: nextTick2, vm }) => () => {
+  if (props2.hoverExpand && !state.isDisplayOnly) {
+    state.enteredTextarea = false;
+    nextTick2(() => {
+      api2.resizeTextarea();
+      vm.$refs.textarea.scrollTop = 0;
+    });
+  }
+};
+const getDisplayOnlyText = ({ parent: parent3, state, props: props2 }) => () => {
+  const text2 = props2.displayOnlyContent || state.nativeInputValue;
+  const showEmptyValue = typeof props2.showEmptyValue === "boolean" ? props2.showEmptyValue : (parent3.tinyForm || {}).showEmptyValue;
+  return showEmptyValue ? text2 : text2 || "-";
+};
+const mousedown = (event2) => {
+  if (event2 && event2.preventDefault) {
+    event2.preventDefault();
+  } else {
+    window.event.returnValue = false;
+  }
+  return false;
+};
+const selectItem = ({ emit, state }) => (value) => {
+  state.hoverValue = "";
+  emit("selected", value);
+};
+const keydown = ({ emit, props: props2, state }) => () => {
+  const key2 = window.event.keyCode;
+  const index3 = props2.localstorageData.indexOf(state.hoverValue);
+  const endIndex = props2.localstorageData.length - 1;
+  if (key2 === KEY_CODE.ArrowUp && props2.isMemoryStorage) {
+    if (index3 > 0 && index3 <= endIndex) {
+      state.hoverValue = props2.localstorageData[index3 - 1];
+    } else {
+      state.hoverValue = props2.localstorageData[endIndex];
+    }
+    return false;
+  }
+  if (key2 === KEY_CODE.ArrowDown && props2.isMemoryStorage) {
+    if (index3 >= 0 && index3 < endIndex) {
+      state.hoverValue = props2.localstorageData[index3 + 1];
+    } else {
+      state.hoverValue = props2.localstorageData[0];
+    }
+    return false;
+  }
+  if (key2 === KEY_CODE.NumpadEnter) {
+    if (props2.isMemoryStorage && state.hoverValue && state.hoverValue.length > 0) {
+      emit("selected", state.hoverValue);
+    }
+  }
+};
+const sortDeduplication = (array, memorySpace = 5) => {
+  const length2 = array.length;
+  let newArray2 = [];
+  let fillterObj = {};
+  for (let i2 = 0, j2 = 1; j2 <= memorySpace; j2++) {
+    if (i2 < 0 || i2 >= length2) {
+      break;
+    }
+    if (fillterObj[array[i2]]) {
+      j2 = j2 - 1;
+    } else {
+      fillterObj[array[i2]] = true;
+      newArray2.push(array[i2]);
+    }
+    if (j2 === length2) {
+      break;
+    }
+    i2++;
+  }
+  return newArray2;
+};
+const isJSONobject = (string, type2) => {
+  if (typeof string === "string") {
+    try {
+      const obj2 = JSON.parse(string);
+      if (typeof obj2 === "object" && obj2 && (type2 ? obj2.constructor === type2 : true)) {
+        return true;
+      } else {
+        return false;
+      }
+    } catch (error) {
+      return false;
+    }
+  }
+};
+const setLocalStorageage = (name2, value, memorySpace = 5) => {
+  if (typeof value === "string") {
+    const oldValue = localStorage.getItem(name2);
+    const isArray2 = isJSONobject(oldValue, Array);
+    let newValue = "";
+    if (oldValue && isArray2) {
+      let oldArray = JSON.parse(localStorage.getItem(name2));
+      oldArray.unshift(value);
+      oldArray = sortDeduplication(oldArray, memorySpace);
+      newValue = JSON.stringify(oldArray);
+    } else if (oldValue === null || oldValue === value) {
+      newValue = JSON.stringify([value]);
+    } else {
+      newValue = JSON.stringify([value, oldValue]);
+    }
+    localStorage.setItem(name2, newValue);
+  }
+};
+const addMemory = (props2) => (value) => {
+  if (props2.name && value) {
+    setLocalStorageage(props2.name, value, props2.memorySpace);
+  }
+};
+const searchMemory = ({ props: props2, state }) => (inputVal) => {
+  if (!props2.name) {
+    return;
+  }
+  const memoryBox = localStorage.getItem(props2.name);
+  let storageData = [];
+  let isMemoryStorage = true;
+  if (isJSONobject(memoryBox)) {
+    const memoryArry = JSON.parse(memoryBox);
+    if (!inputVal) {
+      storageData = JSON.parse(memoryBox);
+    } else {
+      for (let i2 = 0, len2 = memoryArry.length; i2 < len2; i2++) {
+        memoryArry[i2].includes(inputVal) && storageData.push(memoryArry[i2]);
+      }
+    }
+    if (storageData.length === 0) {
+      isMemoryStorage = false;
+    }
+  } else {
+    if (memoryBox === null) {
+      isMemoryStorage = false;
+    } else {
+      storageData.push(memoryBox);
+    }
+  }
+  state.storageData = storageData;
+  state.isMemoryStorage = isMemoryStorage;
+};
+const selectedMemory = ({ api: api2, state }) => (value) => {
+  api2.getInput().value = value;
+  api2.handleInput({ target: { value } });
+  api2.handleChange({ target: { value } });
+  state.isMemoryStorage = false;
+};
+var vue_storage_box_default = ({ api: api2, props: props2, reactive, toRefs }) => {
+  const state = reactive({
+    storageData: [],
+    isMemoryStorage: false
+  });
+  return __spreadProps(__spreadValues({}, toRefs(state)), {
+    addMemory: addMemory(props2),
+    searchMemory: searchMemory({ props: props2, state }),
+    selectedMemory: selectedMemory({ api: api2, state })
+  });
+};
+const api$g = [
+  "blur",
+  "showBox",
+  "clear",
+  "focus",
+  "state",
+  "select",
+  "getInput",
+  "handleBlur",
+  "handleInput",
+  "handleFocus",
+  "handleChange",
+  "calcIconOffset",
+  "resizeTextarea",
+  "getSuffixVisible",
+  "updateIconOffset",
+  "calcTextareaHeight",
+  "setNativeInputValue",
+  "calculateNodeStyling",
+  "handleCompositionEnd",
+  "handlePasswordVisible",
+  "handleCompositionStart",
+  "handleCompositionUpdate",
+  "addMemory",
+  "searchMemory",
+  "selectedMemory",
+  "storageData",
+  "isMemoryStorage",
+  "hasSelection",
+  "handleEnterDisplayOnlyContent",
+  "hiddenPassword",
+  "inputStyle",
+  "handleEnterTextarea",
+  "handleLeaveTextarea"
+];
+const initState$4 = ({
+  reactive,
+  computed: computed2,
+  mode,
+  props: props2,
+  parent: parent3,
+  constants,
+  api: api2,
+  vm
+}) => {
+  const state = reactive({
+    mode,
+    maskSymbol: constants.MASKSYMBOL,
+    focused: false,
+    hovering: false,
+    isComposing: false,
+    passwordVisible: false,
+    maskValueVisible: false,
+    boxVisibility: false,
+    textareaCalcStyle: {},
+    checkedLabel: "",
+    enteredTextarea: false,
+    sheetvalue: props2.modelValue,
+    inputSize: computed2(() => props2.size || state.formItemSize || (parent3.tinyForm || {}).size),
+    inputSizeMf: computed2(() => props2.size || state.formItemSize || (parent3.tinyForm || {}).size),
+    showClear: computed2(
+      () => props2.clearable && !state.inputDisabled && !props2.readonly && state.nativeInputValue && (state.focused || state.hovering)
+    ),
+    textareaHeight: vm.theme === "saas" ? "28px" : "30px",
+    upperLimit: computed2(() => parent3.$attrs.maxlength),
+    textLength: computed2(() => textLength(props2.modelValue)),
+    inputExceed: computed2(() => state.isWordLimitVisible && state.textLength > state.upperLimit),
+    formItemSize: computed2(() => (parent3.formItem || {}).formItemSize),
+    validateIcon: computed2(() => constants.VALIDATE_ICON[state.validateState]),
+    showWordLimit: computed2(() => props2.showWordLimit && parent3.$attrs.maxlength),
+    inputDisabled: computed2(
+      () => props2.disabled || (parent3.tinyForm || {}).disabled || state.isDisplayOnly || (parent3.tinyForm || {}).displayOnly
+    ),
+    validateState: computed2(() => parent3.formItem ? parent3.formItem.validateState : ""),
+    inputStyle: computed2(() => api2.inputStyle()),
+    textareaStyle: computed2(() => __spreadProps(__spreadValues({}, state.textareaCalcStyle), {
+      resize: props2.resize,
+      textAlign: props2.textAlign
+    })),
+    needStatusIcon: computed2(() => parent3.tinyForm ? parent3.tinyForm.statusIcon : false),
+    showPwdVisible: computed2(
+      () => props2.showPassword && !state.inputDisabled && !props2.readonly && (!!state.nativeInputValue || state.focused)
+    ),
+    nativeInputValue: computed2(
+      () => props2.modelValue === null || props2.modelValue === void 0 ? "" : String(props2.modelValue)
+    ),
+    isWordLimitVisible: computed2(
+      () => (props2.showWordLimit && parent3.$attrs.maxlength || props2.counter) && (parent3.type === "text" || parent3.type === "textarea") && !state.inputDisabled && !props2.readonly && !props2.showPassword
+    ),
+    isDisplayOnly: computed2(
+      () => (props2.displayOnly || (parent3.tinyForm || {}).displayOnly) && ["text", "textarea", "password", "number"].includes(props2.type)
+    ),
+    displayOnlyTooltip: "",
+    hiddenPassword: computed2(() => api2.hiddenPassword()),
+    displayedMaskValue: computed2(() => api2.getDisplayedMaskValue()),
+    displayOnlyText: computed2(() => api2.getDisplayOnlyText())
+  });
+  return state;
+};
+const initApi$4 = ({
+  api: api2,
+  state,
+  dispatch,
+  broadcast,
+  emit,
+  vm,
+  props: props2,
+  CLASS_PREFIX,
+  parent: parent3,
+  nextTick: nextTick2
+}) => {
+  Object.assign(api2, {
+    state,
+    dispatch,
+    broadcast,
+    showBox: showBox(state),
+    clear: clear$2(emit),
+    getInput: getInput(vm),
+    handleChange: handleChange$3(emit),
+    watchFormSelect: watchFormSelect({ emit, props: props2, state }),
+    calcIconOffset: calcIconOffset({ CLASS_PREFIX, parent: parent3 }),
+    getSuffixVisible: getSuffixVisible({ parent: parent3, props: props2, state }),
+    calculateNodeStyling: calculateNodeStyling(),
+    handleCompositionStart: handleCompositionStart(state),
+    handleCompositionUpdate: handleCompositionUpdate(state),
+    setInputDomValue: setInputDomValue({ state, props: props2, nextTick: nextTick2, vm }),
+    getDisplayOnlyText: getDisplayOnlyText({ parent: parent3, props: props2, state }),
+    handleEnterTextarea: handleEnterTextarea({ api: api2, state, props: props2, nextTick: nextTick2 }),
+    handleLeaveTextarea: handleLeaveTextarea({ api: api2, state, props: props2, nextTick: nextTick2, vm }),
+    inputStyle: inputStyle({ props: props2 })
+  });
+};
+const mergeApi = ({
+  storages,
+  api: api2,
+  componentName,
+  props: props2,
+  emit,
+  eventName,
+  nextTick: nextTick2,
+  parent: parent3,
+  state,
+  vm,
+  mode,
+  constants
+}) => {
+  const { storageData, isMemoryStorage, addMemory: addMemory2, searchMemory: searchMemory2, selectedMemory: selectedMemory2 } = storages;
+  return Object.assign(api2, {
+    addMemory: addMemory2,
+    storageData,
+    searchMemory: searchMemory2,
+    selectedMemory: selectedMemory2,
+    isMemoryStorage,
+    blur: blur(api2),
+    focus: focus(api2),
+    select: select(api2),
+    handleBlur: handleBlur({
+      api: api2,
+      componentName,
+      emit,
+      eventName: eventName.blur,
+      props: props2,
+      state,
+      vm
+    }),
+    handleFocus: handleFocus({ api: api2, emit, state }),
+    handleInput: handleInput({ api: api2, emit, nextTick: nextTick2, state }),
+    resizeTextarea: resizeTextarea({ api: api2, parent: parent3, vm, state, props: props2 }),
+    updateIconOffset: updateIconOffset(api2),
+    calcTextareaHeight: calcTextareaHeight({
+      api: api2,
+      hiddenTextarea: null,
+      props: props2,
+      state,
+      mode,
+      constants
+    }),
+    setNativeInputValue: setNativeInputValue({ api: api2, state }),
+    handleCompositionEnd: handleCompositionEnd({ api: api2, state }),
+    handlePasswordVisible: handlePasswordVisible({ api: api2, nextTick: nextTick2, state }),
+    hasSelection: hasSelection(api2),
+    handleEnterDisplayOnlyContent: handleEnterDisplayOnlyContent({ state, props: props2 }),
+    hiddenPassword: hiddenPassword({ state, props: props2 }),
+    getDisplayedMaskValue: getDisplayedMaskValue({ state })
+  });
+};
+const initWatch = ({
+  watch: watch2,
+  state,
+  api: api2,
+  props: props2,
+  nextTick: nextTick2,
+  emit,
+  componentName,
+  eventName
+}) => {
+  watch2(
+    () => props2.modelValue,
+    (value) => {
+      if (state.mode === "mobile") {
+        state.sheetvalue = value;
+        emit("update:modelValue", value);
+      }
+      nextTick2(api2.resizeTextarea);
+      if (props2.validateEvent) {
+        api2.dispatch(componentName, eventName.change, [value]);
+      }
+      api2.setInputDomValue();
+    }
+  );
+  watch2(() => state.maskValueVisible, api2.setInputDomValue);
+  watch2(() => state.inputDisabled, api2.setInputDomValue);
+  watch2(
+    () => props2.mask,
+    () => {
+      api2.setInputDomValue("mask");
+    }
+  );
+  watch2(
+    () => props2.size,
+    () => nextTick2(api2.resizeTextarea),
+    { immediate: true }
+  );
+  watch2(
+    () => state.nativeInputValue,
+    () => {
+      api2.setNativeInputValue();
+    }
+  );
+  watch2(
+    () => props2.type,
+    () => {
+      nextTick2(() => {
+        api2.setNativeInputValue();
+        api2.resizeTextarea();
+        api2.updateIconOffset();
+      });
+    }
+  );
+  watch2(
+    () => state.isDisplayOnly,
+    () => {
+      nextTick2(() => {
+        api2.setNativeInputValue();
+        api2.resizeTextarea();
+        api2.updateIconOffset();
+      });
+    }
+  );
+  watch2(
+    () => state.sheetvalue,
+    (value) => api2.watchFormSelect(value),
+    { immediate: true }
+  );
+};
+const renderless$g = (props2, { computed: computed2, onMounted: onMounted2, onUpdated, reactive, toRefs, watch: watch2, inject: inject2 }, { vm, refs, parent: parent3, emit, constants, nextTick: nextTick2, broadcast, dispatch, mode }) => {
+  const api2 = {};
+  const componentName = constants.COMPONENT_NAME.FormItem;
+  const eventName = { change: "form.change", blur: "form.blur" };
+  const CLASS_PREFIX = {
+    Input: constants.inputMode(mode),
+    InputGroup: constants.inputGroupMode(mode)
+  };
+  const state = initState$4({ reactive, computed: computed2, mode, props: props2, parent: parent3, constants, api: api2, vm });
+  initApi$4({ api: api2, state, dispatch, broadcast, emit, refs, props: props2, CLASS_PREFIX, parent: parent3, vm, nextTick: nextTick2 });
+  const storages = vue_storage_box_default({ api: api2, props: props2, reactive, toRefs });
+  parent3.tinyForm = parent3.tinyForm || inject2("form", null);
+  mergeApi({ api: api2, storages, componentName, emit, eventName, props: props2, state, nextTick: nextTick2, parent: parent3, vm, mode, constants });
+  initWatch({ watch: watch2, state, api: api2, props: props2, nextTick: nextTick2, emit, componentName, eventName });
+  onMounted2(() => {
+    api2.setNativeInputValue();
+    api2.resizeTextarea();
+    api2.updateIconOffset();
+    api2.setInputDomValue();
+    dispatch("Select", "input-mounted", vm.$el);
+    dispatch("Tooltip", "tooltip-update", vm.$el);
+  });
+  onUpdated(() => {
+    nextTick2(api2.updateIconOffset);
+  });
+  return api2;
+};
+const api$f = ["state", "mousedown", "selectItem"];
+const renderless$f = (props2, { onUnmounted, reactive, watch: watch2 }, { emit }) => {
+  const state = reactive({
+    hoverValue: ""
+  });
+  const api2 = {
+    state,
+    mousedown,
+    selectItem: selectItem({ emit, state }),
+    keydown: keydown({ emit, props: props2, state })
+  };
+  watch2(
+    () => props2.isMemoryStorage,
+    (value) => !value && (state.hoverValue = ""),
+    { immediate: true }
+  );
+  onUnmounted(() => {
+    state.hoverValue = "";
+    off(document, "keydown", api2.keydown);
+  });
+  on(document, "keydown", api2.keydown);
+  return api2;
+};
+const index$q = "";
+const index$p = "";
+const index$o = "";
+function _createForOfIteratorHelperLoose$s(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$s(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$s(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$s(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$s(o2, minLen);
+}
+function _arrayLikeToArray$s(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$t = function _export_sfc211(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$s(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$1$3 = defineComponent({
+  name: $prefix + "TallStorage",
+  inheritAttrs: false,
+  props: {
+    isMemoryStorage: Boolean,
+    localstorageData: Array
+  },
+  setup: function setup$113(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$f,
+      api: api$f
+    });
+  }
+});
+var _hoisted_1$1$3 = {
+  class: "tiny-storage-list-style"
+};
+var _hoisted_2$1$3 = ["onClick"];
+function _sfc_render$1$3(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: "tiny-tall-storage",
+      onMousedown: _cache[1] || (_cache[1] = function() {
+        return _ctx2.mousedown && _ctx2.mousedown.apply(_ctx2, arguments);
+      })
+    },
+    [createBaseVNode("div", _hoisted_1$1$3, [createBaseVNode(
+      "ul",
+      {
+        onKeydown: _cache[0] || (_cache[0] = withKeys(function() {
+          return _ctx2.keydownEvent && _ctx2.keydownEvent.apply(_ctx2, arguments);
+        }, ["enter"])),
+        class: "tiny-storage-list"
+      },
+      [(openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList(_ctx2.localstorageData, function(item) {
+          return openBlock(), createElementBlock("li", {
+            key: item,
+            class: normalizeClass(["tiny-storage-item", [_ctx2.state.hoverValue === item ? "item-hover" : ""]]),
+            onClick: function onClick($event) {
+              return _ctx2.selectItem(item);
+            }
+          }, toDisplayString(item), 11, _hoisted_2$1$3);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))],
+      32
+      /* NEED_HYDRATION */
+    )])],
+    32
+    /* NEED_HYDRATION */
+  );
+}
+var tallStorage$1 = /* @__PURE__ */ _export_sfc$t(_sfc_main$1$3, [["render", _sfc_render$1$3]]);
+var _sfc_main$E = defineComponent({
+  emits: ["update:modelValue", "change", "clear", "focus", "blur", "keyup", "keydown", "paste", "mouseenter", "mouseleave", "click", "input"],
+  components: {
+    IconClose: index$17(),
+    IconEyeopen: index$11(),
+    IconEyeclose: index$12(),
+    TinyTallStorage: tallStorage$1,
+    TinyTooltip: Tooltip
+  },
+  props: [].concat(props, ["name", "size", "form", "type", "mask", "label", "modelValue", "height", "resize", "counter", "autosize", "disabled", "readonly", "tabindex", "clearable", "suffixIcon", "prefixIcon", "autocomplete", "showPassword", "memorySpace", "validateEvent", "showWordLimit", "displayOnly", "displayOnlyContent", "frontClearIcon", "showEmptyValue", "hoverExpand"]),
+  setup: function setup$114(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$g,
+      api: api$g
+    });
+  }
+});
+var _hoisted_1$s = {
+  key: 0,
+  class: "tiny-input-group__prepend",
+  ref: "prepend"
+};
+var _hoisted_2$o = {
+  class: "tiny-input-display-only"
+};
+var _hoisted_3$l = {
+  key: 0,
+  class: "tiny-input-display-only__content"
+};
+var _hoisted_4$h = {
+  key: 1,
+  class: "tiny-input-display-only__mask"
+};
+var _hoisted_5$f = {
+  class: "tiny-input-display-only__mask-text"
+};
+var _hoisted_6$d = {
+  key: 2,
+  class: "tiny-input-display-only__content"
+};
+var _hoisted_7$9 = ["name", "tabindex", "type", "disabled", "readonly", "unselectable", "autocomplete", "aria-label"];
+var _hoisted_8$7 = {
+  key: 2,
+  class: "tiny-input__prefix",
+  ref: "prefix"
+};
+var _hoisted_9$7 = {
+  key: 0,
+  class: "tiny-input__suffix",
+  ref: "suffix"
+};
+var _hoisted_10$6 = {
+  class: "tiny-input__suffix-inner"
+};
+var _hoisted_11$6 = {
+  key: 5,
+  class: "tiny-input__count"
+};
+var _hoisted_12$6 = {
+  class: "tiny-input__count-inner"
+};
+var _hoisted_13$5 = {
+  class: "tiny-input__count-text-length"
+};
+var _hoisted_14$4 = {
+  class: "tiny-input__count-upper-limit"
+};
+var _hoisted_15$3 = {
+  key: 3,
+  class: "tiny-input-group__append",
+  ref: "append"
+};
+var _hoisted_16$3 = {
+  key: 4,
+  class: "tiny-input-group__panel",
+  ref: "panel"
+};
+var _hoisted_17 = {
+  class: "tiny-textarea-display-only__content"
+};
+var _hoisted_18 = ["tabindex", "disabled", "readonly", "unselectable", "autocomplete", "aria-label"];
+var _hoisted_19 = {
+  key: 2,
+  class: "tiny-input__count"
+};
+var _hoisted_20 = {
+  class: "tiny-input__count-inner"
+};
+var _hoisted_21 = {
+  class: "tiny-input__count-text-length"
+};
+var _hoisted_22 = {
+  class: "tiny-input__count-upper-limit"
+};
+function _sfc_render$u(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_tall_storage = resolveComponent("tiny-tall-storage");
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass([_ctx2.$attrs.class, _ctx2.type === "textarea" ? "tiny-textarea" : "tiny-input", _ctx2.state.inputSize ? "tiny-input-" + _ctx2.state.inputSize : "", {
+        "is-disabled": _ctx2.state.inputDisabled,
+        "is-exceed": _ctx2.state.inputExceed,
+        "tiny-input-group": _ctx2.slots.prepend || _ctx2.slots.append,
+        "tiny-input-group-append": _ctx2.slots.append,
+        "tiny-input-group-prepend": _ctx2.slots.prepend,
+        "tiny-input-prefix": _ctx2.slots.prefix || _ctx2.prefixIcon,
+        "tiny-input-suffix": _ctx2.slots.suffix || _ctx2.suffixIcon || _ctx2.clearable || _ctx2.showPassword || _ctx2.mask && _ctx2.state.inputDisabled,
+        "tiny-input-word-limit": _ctx2.state.isWordLimitVisible,
+        "is-display-only": _ctx2.state.isDisplayOnly
+      }]),
+      style: normalizeStyle$2(_ctx2.$attrs.style),
+      onMouseenter: _cache[27] || (_cache[27] = function($event) {
+        _ctx2.state.hovering = true;
+        _ctx2.$emit("mouseenter", $event);
+      }),
+      onMouseleave: _cache[28] || (_cache[28] = function($event) {
+        _ctx2.state.hovering = false;
+        _ctx2.$emit("mouseleave", $event);
+      }),
+      onClick: _cache[29] || (_cache[29] = function($event) {
+        return _ctx2.$emit("click", $event);
+      })
+    },
+    [_ctx2.type !== "textarea" ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [_ctx2.slots.prepend ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_1$s,
+        [renderSlot(_ctx2.$slots, "prepend")],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), createBaseVNode("span", _hoisted_2$o, [_ctx2.state.isDisplayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+        key: 0,
+        effect: "light",
+        content: _ctx2.state.displayOnlyTooltip,
+        display: _ctx2.type === "password",
+        placement: "top",
+        onMouseenter: _ctx2.handleEnterDisplayOnlyContent
+      }, {
+        default: withCtx(function() {
+          return [_ctx2.type === "password" ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_3$l,
+            toDisplayString(_ctx2.state.hiddenPassword),
+            1
+            /* TEXT */
+          )) : _ctx2.mask ? (openBlock(), createElementBlock("span", _hoisted_4$h, [createBaseVNode(
+            "span",
+            _hoisted_5$f,
+            toDisplayString(_ctx2.state.displayedMaskValue),
+            1
+            /* TEXT */
+          ), (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.maskValueVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+            onClick: _cache[0] || (_cache[0] = function($event) {
+              return _ctx2.state.maskValueVisible = !_ctx2.state.maskValueVisible;
+            })
+          }))])) : (openBlock(), createElementBlock(
+            "span",
+            _hoisted_6$d,
+            toDisplayString(_ctx2.state.displayOnlyText),
+            1
+            /* TEXT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content", "display", "onMouseenter"])) : createCommentVNode("v-if", true), _ctx2.type !== "textarea" ? (openBlock(), createElementBlock("input", mergeProps({
+        key: 1,
+        ref: "input",
+        name: _ctx2.name,
+        "data-tag": "tiny-input-inner"
+      }, _ctx2.a(_ctx2.$attrs, ["type", "class", "style", "^on[A-Z]", "id"]), {
+        class: ["tiny-input__inner", _ctx2.mask && _ctx2.state.inputDisabled && !_ctx2.state.maskValueVisible && "tiny-input__mask"],
+        tabindex: _ctx2.tabindex,
+        type: _ctx2.showPassword ? _ctx2.state.passwordVisible ? "text" : "password" : _ctx2.type,
+        disabled: _ctx2.state.inputDisabled,
+        readonly: _ctx2.readonly,
+        unselectable: _ctx2.readonly ? "on" : "off",
+        autocomplete: _ctx2.autocomplete,
+        onCompositionend: _cache[1] || (_cache[1] = function() {
+          return _ctx2.handleCompositionEnd && _ctx2.handleCompositionEnd.apply(_ctx2, arguments);
+        }),
+        onCompositionupdate: _cache[2] || (_cache[2] = function() {
+          return _ctx2.handleCompositionUpdate && _ctx2.handleCompositionUpdate.apply(_ctx2, arguments);
+        }),
+        onCompositionstart: _cache[3] || (_cache[3] = function() {
+          return _ctx2.handleCompositionStart && _ctx2.handleCompositionStart.apply(_ctx2, arguments);
+        }),
+        onBlur: _cache[4] || (_cache[4] = function() {
+          return _ctx2.handleBlur && _ctx2.handleBlur.apply(_ctx2, arguments);
+        }),
+        onFocus: _cache[5] || (_cache[5] = function() {
+          return _ctx2.handleFocus && _ctx2.handleFocus.apply(_ctx2, arguments);
+        }),
+        onInput: _cache[6] || (_cache[6] = function() {
+          return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+        }),
+        onChange: _cache[7] || (_cache[7] = function() {
+          return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+        }),
+        "aria-label": _ctx2.label,
+        onKeyup: _cache[8] || (_cache[8] = function($event) {
+          return _ctx2.$emit("keyup", $event);
+        }),
+        onKeydown: _cache[9] || (_cache[9] = function($event) {
+          return _ctx2.$emit("keydown", $event);
+        }),
+        onPaste: _cache[10] || (_cache[10] = function($event) {
+          return _ctx2.$emit("paste", $event);
+        })
+      }), null, 16, _hoisted_7$9)) : createCommentVNode("v-if", true)]), _ctx2.isMemoryStorage ? (openBlock(), createBlock(_component_tiny_tall_storage, {
+        key: 1,
+        name: _ctx2.name,
+        "localstorage-data": _ctx2.storageData,
+        "is-memory-storage": _ctx2.isMemoryStorage,
+        onSelected: _ctx2.selectedMemory
+      }, null, 8, ["name", "localstorage-data", "is-memory-storage", "onSelected"])) : createCommentVNode("v-if", true), !_ctx2.state.isDisplayOnly && (_ctx2.slots.prefix || _ctx2.prefixIcon) ? (openBlock(), createElementBlock(
+        "span",
+        _hoisted_8$7,
+        [renderSlot(_ctx2.$slots, "prefix"), _ctx2.prefixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.prefixIcon), {
+          key: 0,
+          class: "tiny-svg-size tiny-input__icon"
+        })) : createCommentVNode("v-if", true)],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), createBaseVNode("div", null, [createVNode$1(Transition$1, {
+        name: "tiny-transition-icon-out-in"
+      }, {
+        default: withCtx(function() {
+          return [!_ctx2.state.isDisplayOnly && _ctx2.getSuffixVisible() ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_9$7,
+            [createBaseVNode("span", _hoisted_10$6, [_ctx2.frontClearIcon && _ctx2.state.showClear ? (openBlock(), createBlock(_component_icon_close, {
+              key: 0,
+              class: "tiny-svg-size tiny-input__icon tiny-input__clear",
+              onMousedown: _cache[11] || (_cache[11] = withModifiers(function() {
+              }, ["prevent"])),
+              onClick: _ctx2.clear
+            }, null, 8, ["onClick"])) : createCommentVNode("v-if", true), !_ctx2.state.showClear || !_ctx2.state.showPwdVisible || !_ctx2.state.isWordLimitVisible ? (openBlock(), createElementBlock(
+              Fragment,
+              {
+                key: 1
+              },
+              [renderSlot(_ctx2.$slots, "suffix"), _ctx2.suffixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.suffixIcon), {
+                key: 0,
+                class: "tiny-svg-size tiny-input__icon"
+              })) : createCommentVNode("v-if", true)],
+              64
+              /* STABLE_FRAGMENT */
+            )) : createCommentVNode("v-if", true), !_ctx2.frontClearIcon && _ctx2.state.showClear ? (openBlock(), createBlock(_component_icon_close, {
+              key: 2,
+              class: "tiny-svg-size tiny-input__icon tiny-input__clear",
+              onMousedown: _cache[12] || (_cache[12] = withModifiers(function() {
+              }, ["prevent"])),
+              onClick: _ctx2.clear
+            }, null, 8, ["onClick"])) : createCommentVNode("v-if", true), _ctx2.showPassword ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.passwordVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+              key: 3,
+              class: "tiny-svg-size tiny-input__icon",
+              onClick: _ctx2.handlePasswordVisible
+            }, null, 8, ["onClick"])) : createCommentVNode("v-if", true), _ctx2.mask && _ctx2.state.inputDisabled ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.maskValueVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+              key: 4,
+              class: "tiny-svg-size tiny-input__icon",
+              onClick: _cache[13] || (_cache[13] = function($event) {
+                return _ctx2.state.maskValueVisible = !_ctx2.state.maskValueVisible;
+              })
+            })) : createCommentVNode("v-if", true), _ctx2.state.isWordLimitVisible ? (openBlock(), createElementBlock("span", _hoisted_11$6, [createBaseVNode("span", _hoisted_12$6, [createBaseVNode(
+              "span",
+              _hoisted_13$5,
+              toDisplayString(_ctx2.state.showWordLimit ? "" + _ctx2.state.textLength : ""),
+              1
+              /* TEXT */
+            ), createBaseVNode(
+              "span",
+              _hoisted_14$4,
+              toDisplayString(_ctx2.state.showWordLimit ? "/" + _ctx2.state.upperLimit : _ctx2.state.textLength),
+              1
+              /* TEXT */
+            )])])) : createCommentVNode("v-if", true)]), _ctx2.state.validateState ? (openBlock(), createElementBlock(
+              "i",
+              {
+                key: 0,
+                class: normalizeClass(["tiny-input__icon", ["tiny-input__validateIcon", _ctx2.validateIcon]])
+              },
+              null,
+              2
+              /* CLASS */
+            )) : createCommentVNode("v-if", true)],
+            512
+            /* NEED_PATCH */
+          )) : createCommentVNode("v-if", true)];
+        }),
+        _: 3
+        /* FORWARDED */
+      })]), _ctx2.slots.append ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_15$3,
+        [renderSlot(_ctx2.$slots, "append")],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), _ctx2.slots.panel ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_16$3,
+        [renderSlot(_ctx2.$slots, "panel")],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true)],
+      64
+      /* STABLE_FRAGMENT */
+    )) : (openBlock(), createElementBlock(
+      "span",
+      {
+        key: 1,
+        class: normalizeClass([_ctx2.autosize ? "tiny-textarea-autosize-display-only" : "tiny-textarea-display-only", _ctx2.hoverExpand && "tiny-textarea__inner-con"])
+      },
+      [_ctx2.state.isDisplayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+        key: 0,
+        effect: "light",
+        content: _ctx2.state.displayOnlyTooltip,
+        placement: "top",
+        onMouseenter: _cache[14] || (_cache[14] = function($event) {
+          return _ctx2.handleEnterDisplayOnlyContent($event, "textarea");
+        })
+      }, {
+        default: withCtx(function() {
+          return [createBaseVNode(
+            "span",
+            _hoisted_17,
+            toDisplayString(_ctx2.state.displayOnlyText),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content"])) : createCommentVNode("v-if", true), createBaseVNode("textarea", mergeProps({
+        ref: "textarea"
+      }, _ctx2.a(_ctx2.$attrs, ["type", "class", "style", "id"]), {
+        tabindex: _ctx2.tabindex,
+        class: ["tiny-textarea__inner", _ctx2.hoverExpand && !_ctx2.state.enteredTextarea && "tiny-textarea__fix-height"],
+        onCompositionstart: _cache[15] || (_cache[15] = function() {
+          return _ctx2.handleCompositionStart && _ctx2.handleCompositionStart.apply(_ctx2, arguments);
+        }),
+        onCompositionupdate: _cache[16] || (_cache[16] = function() {
+          return _ctx2.handleCompositionUpdate && _ctx2.handleCompositionUpdate.apply(_ctx2, arguments);
+        }),
+        onCompositionend: _cache[17] || (_cache[17] = function() {
+          return _ctx2.handleCompositionEnd && _ctx2.handleCompositionEnd.apply(_ctx2, arguments);
+        }),
+        onInput: _cache[18] || (_cache[18] = function() {
+          return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+        }),
+        disabled: _ctx2.state.inputDisabled,
+        readonly: _ctx2.readonly,
+        unselectable: _ctx2.readonly ? "on" : "off",
+        autocomplete: _ctx2.autocomplete,
+        style: _ctx2.state.textareaStyle,
+        onFocus: _cache[19] || (_cache[19] = function() {
+          return _ctx2.handleFocus && _ctx2.handleFocus.apply(_ctx2, arguments);
+        }),
+        onBlur: _cache[20] || (_cache[20] = function() {
+          return _ctx2.handleBlur && _ctx2.handleBlur.apply(_ctx2, arguments);
+        }),
+        onChange: _cache[21] || (_cache[21] = function() {
+          return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+        }),
+        onMouseenter: _cache[22] || (_cache[22] = function($event) {
+          return _ctx2.handleEnterTextarea($event);
+        }),
+        onMouseleave: _cache[23] || (_cache[23] = function($event) {
+          return _ctx2.handleLeaveTextarea($event);
+        }),
+        "aria-label": _ctx2.label,
+        onKeyup: _cache[24] || (_cache[24] = function($event) {
+          return _ctx2.$emit("keyup", $event);
+        }),
+        onKeydown: _cache[25] || (_cache[25] = function($event) {
+          return _ctx2.$emit("keydown", $event);
+        }),
+        onPaste: _cache[26] || (_cache[26] = function($event) {
+          return _ctx2.$emit("paste", $event);
+        })
+      }), "\n      ", 16, _hoisted_18)],
+      2
+      /* CLASS */
+    )), _ctx2.state.isWordLimitVisible && _ctx2.type === "textarea" ? (openBlock(), createElementBlock("span", _hoisted_19, [createBaseVNode("span", _hoisted_20, [createBaseVNode(
+      "span",
+      _hoisted_21,
+      toDisplayString(_ctx2.state.showWordLimit ? "" + _ctx2.state.textLength : ""),
+      1
+      /* TEXT */
+    ), createBaseVNode(
+      "span",
+      _hoisted_22,
+      toDisplayString(_ctx2.state.showWordLimit ? "/" + _ctx2.state.upperLimit : _ctx2.state.textLength),
+      1
+      /* TEXT */
+    )])])) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default")],
+    38
+    /* CLASS, STYLE, NEED_HYDRATION */
+  );
+}
+var pc$d = /* @__PURE__ */ _export_sfc$t(_sfc_main$E, [["render", _sfc_render$u]]);
+const index$n = "";
+function _createForOfIteratorHelperLoose$r(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$r(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$r(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$r(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$r(o2, minLen);
+}
+function _arrayLikeToArray$r(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$s = function _export_sfc212(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$r(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+function _extends$i() {
+  _extends$i = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$i.apply(this, arguments);
+}
+var _sfc_main$D = defineComponent({
+  emits: ["update:modelValue", "change", "clear", "focus", "blur", "keyup", "keydown", "paste", "mouseenter", "mouseleave", "input"],
+  components: {
+    IconClose: index$17(),
+    IconChevronRight: index$18(),
+    IconEyeopen: index$11(),
+    IconEyeclose: index$12(),
+    TinyActionSheet: ActionSheet
+  },
+  props: [].concat(props, ["name", "selectMenu", "ellipsis", "contentStyle", "labelWidth", "tips", "isSelect", "type", "label", "modelValue", "disabled", "readonly", "clearable", "suffixIcon", "prefixIcon", "autocomplete", "showPassword", "validateEvent", "showWordLimit", "title", "counter", "autosize", "tabindex", "width", "textAlign", "resize"]),
+  setup: function setup$115(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$g,
+      api: api$g
+    });
+  }
+});
+var _hoisted_1$r = {
+  key: 0,
+  class: "tiny-mobile-input__title"
+};
+var _hoisted_2$n = {
+  key: 1,
+  class: "tiny-mobile-input__wrapper"
+};
+var _hoisted_3$k = ["value", "disabled", "name", "aria-label", "tabindex"];
+var _hoisted_4$g = ["name", "tabindex", "type", "disabled", "readonly", "autocomplete", "aria-label"];
+var _hoisted_5$e = {
+  key: 1,
+  class: "tiny-mobile-input-group__prepend"
+};
+var _hoisted_6$c = {
+  key: 2,
+  class: "tiny-mobile-input__prefix"
+};
+var _hoisted_7$8 = {
+  key: 3,
+  class: "tiny-mobile-input__suffix"
+};
+var _hoisted_8$6 = {
+  key: 3,
+  class: "tiny-mobile-input__count"
+};
+var _hoisted_9$6 = {
+  class: "tiny-mobile-input__count-inner"
+};
+var _hoisted_10$5 = {
+  key: 4,
+  class: "tiny-mobile-input-group__append"
+};
+var _hoisted_11$5 = {
+  key: 2,
+  class: "tiny-mobile-textarea__wrapper"
+};
+var _hoisted_12$5 = ["name", "tabindex", "disabled", "readonly", "autocomplete", "aria-label"];
+var _hoisted_13$4 = {
+  key: 3,
+  class: "tiny-mobile-textarea__count"
+};
+var _hoisted_14$3 = {
+  key: 4,
+  class: "tiny-mobile-input__tips"
+};
+function _sfc_render$t(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_IconChevronRight = resolveComponent("IconChevronRight");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_action_sheet = resolveComponent("tiny-action-sheet");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass([_ctx2.type === "textarea" ? "tiny-mobile-textarea" : "tiny-mobile-input", _ctx2.state.inputSize ? "tiny-mobile-input-" + _ctx2.state.inputSize : "", {
+        "is-focus": _ctx2.state.focused,
+        "is-disabled": _ctx2.state.inputDisabled,
+        "is-exceed": _ctx2.state.inputExceed,
+        "is-showlimit": _ctx2.state.isWordLimitVisible && _ctx2.type === "textarea",
+        "tiny-mobile-input-group": _ctx2.slots.prepend || _ctx2.slots.append,
+        "tiny-mobile-input-group-append": _ctx2.slots.append,
+        "tiny-mobile-input-group-prepend": _ctx2.slots.prepend
+      }]),
+      style: normalizeStyle$2(_ctx2.$attrs.style),
+      onMouseenter: _cache[23] || (_cache[23] = function($event) {
+        return _ctx2.state.hovering = true;
+      }),
+      onMouseleave: _cache[24] || (_cache[24] = function($event) {
+        return _ctx2.state.hovering = false;
+      })
+    },
+    [_ctx2.slots.title || _ctx2.title ? (openBlock(), createElementBlock("div", _hoisted_1$r, [renderSlot(_ctx2.$slots, "title", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.title),
+        1
+        /* TEXT */
+      )];
+    })])) : createCommentVNode("v-if", true), _ctx2.type !== "textarea" ? (openBlock(), createElementBlock("div", _hoisted_2$n, [_ctx2.isSelect ? (openBlock(), createElementBlock("div", {
+      key: 0,
+      class: "tiny-mobile-input__select",
+      onClick: _cache[2] || (_cache[2] = function() {
+        return _ctx2.showBox && _ctx2.showBox.apply(_ctx2, arguments);
+      })
+    }, [createBaseVNode("input", mergeProps({
+      type: "text",
+      readonly: "",
+      class: "tiny-mobile-input__inner"
+    }, _ctx2.a(_ctx2.$attrs, ["size", "class", "style", "^on[A-Z]"]), {
+      value: _ctx2.state.checkedLabel,
+      disabled: _ctx2.state.inputDisabled,
+      name: _ctx2.name,
+      "aria-label": _ctx2.label,
+      style: _ctx2.state.inputStyle,
+      tabindex: _ctx2.tabindex,
+      onInput: _cache[0] || (_cache[0] = function() {
+        return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+      }),
+      onChange: _cache[1] || (_cache[1] = function() {
+        return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+      })
+    }), null, 16, _hoisted_3$k), createBaseVNode(
+      "div",
+      {
+        class: "tiny-mobile-input__select-icon",
+        style: normalizeStyle$2({
+          transform: _ctx2.state.boxVisibility ? "rotate(90deg)" : "none"
+        })
+      },
+      [createVNode$1(_component_IconChevronRight)],
+      4
+      /* STYLE */
+    )])) : (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 1
+      },
+      [_ctx2.type !== "textarea" ? (openBlock(), createElementBlock("input", mergeProps({
+        key: 0,
+        ref: "input",
+        name: _ctx2.name
+      }, _ctx2.a(_ctx2.$attrs, ["size", "class", "style", "^on[A-Z]"]), {
+        class: "tiny-mobile-input__inner",
+        style: _ctx2.state.inputStyle,
+        tabindex: _ctx2.tabindex,
+        type: _ctx2.showPassword ? _ctx2.state.passwordVisible ? "text" : "password" : _ctx2.type,
+        disabled: _ctx2.state.inputDisabled,
+        readonly: _ctx2.readonly,
+        autocomplete: _ctx2.autocomplete,
+        onCompositionstart: _cache[3] || (_cache[3] = function() {
+          return _ctx2.handleCompositionStart && _ctx2.handleCompositionStart.apply(_ctx2, arguments);
+        }),
+        onCompositionupdate: _cache[4] || (_cache[4] = function() {
+          return _ctx2.handleCompositionUpdate && _ctx2.handleCompositionUpdate.apply(_ctx2, arguments);
+        }),
+        onCompositionend: _cache[5] || (_cache[5] = function() {
+          return _ctx2.handleCompositionEnd && _ctx2.handleCompositionEnd.apply(_ctx2, arguments);
+        }),
+        onInput: _cache[6] || (_cache[6] = function() {
+          return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+        }),
+        onFocus: _cache[7] || (_cache[7] = function() {
+          return _ctx2.handleFocus && _ctx2.handleFocus.apply(_ctx2, arguments);
+        }),
+        onBlur: _cache[8] || (_cache[8] = function() {
+          return _ctx2.handleBlur && _ctx2.handleBlur.apply(_ctx2, arguments);
+        }),
+        onChange: _cache[9] || (_cache[9] = function() {
+          return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+        }),
+        "aria-label": _ctx2.label
+      }), null, 16, _hoisted_4$g)) : createCommentVNode("v-if", true), _ctx2.slots.prepend ? (openBlock(), createElementBlock("div", _hoisted_5$e, [createBaseVNode("span", null, [renderSlot(_ctx2.$slots, "prepend")])])) : createCommentVNode("v-if", true), _ctx2.slots.prefix || _ctx2.prefixIcon ? (openBlock(), createElementBlock("div", _hoisted_6$c, [renderSlot(_ctx2.$slots, "prefix"), _ctx2.prefixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.prefixIcon), {
+        key: 0,
+        class: "tiny-mobile-input__icon"
+      })) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), _ctx2.getSuffixVisible() ? (openBlock(), createElementBlock("span", _hoisted_7$8, [!_ctx2.state.showClear || !_ctx2.state.showPwdVisible || !_ctx2.state.isWordLimitVisible ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        [renderSlot(_ctx2.$slots, "suffix"), _ctx2.suffixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.suffixIcon), {
+          key: 0,
+          class: "tiny-mobile-input__icon"
+        })) : createCommentVNode("v-if", true)],
+        64
+        /* STABLE_FRAGMENT */
+      )) : createCommentVNode("v-if", true), _ctx2.state.showClear ? (openBlock(), createBlock(_component_icon_close, {
+        key: 1,
+        class: "tiny-mobile-input__icon tiny-mobile-input__clear",
+        onMousedown: _cache[10] || (_cache[10] = withModifiers(function() {
+        }, ["prevent"])),
+        onClick: _ctx2.clear
+      }, null, 8, ["onClick"])) : createCommentVNode("v-if", true), _ctx2.state.showPwdVisible ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.passwordVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+        key: 2,
+        class: "tiny-mobile-input__icon",
+        onClick: _ctx2.handlePasswordVisible
+      }, null, 8, ["onClick"])) : createCommentVNode("v-if", true), _ctx2.state.isWordLimitVisible ? (openBlock(), createElementBlock("span", _hoisted_8$6, [createBaseVNode(
+        "span",
+        _hoisted_9$6,
+        toDisplayString(_ctx2.state.showWordLimit ? _ctx2.state.textLength + "/" + _ctx2.state.upperLimit : _ctx2.state.textLength),
+        1
+        /* TEXT */
+      )])) : createCommentVNode("v-if", true), _ctx2.state.validateState ? (openBlock(), createElementBlock(
+        "i",
+        {
+          key: 4,
+          class: normalizeClass(["tiny-mobile-input__icon", ["tiny-mobile-input__validateIcon", _ctx2.validateIcon]])
+        },
+        null,
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), _ctx2.slots.append ? (openBlock(), createElementBlock("div", _hoisted_10$5, [renderSlot(_ctx2.$slots, "append")])) : createCommentVNode("v-if", true)],
+      64
+      /* STABLE_FRAGMENT */
+    ))])) : (openBlock(), createElementBlock("div", _hoisted_11$5, [createBaseVNode("textarea", mergeProps({
+      ref: "textarea",
+      name: _ctx2.name
+    }, _ctx2.a(_ctx2.$attrs, ["type", "class", "style", "^on[A-Z]"]), {
+      class: ["tiny-mobile-textarea__inner", {
+        "is-focus": _ctx2.state.focused,
+        "is-autosize": _ctx2.autosize
+      }],
+      tabindex: _ctx2.tabindex,
+      disabled: _ctx2.state.inputDisabled,
+      readonly: _ctx2.readonly,
+      autocomplete: _ctx2.autocomplete,
+      style: _extends$i({}, _ctx2.state.textareaStyle, {
+        width: _ctx2.$attrs.cols ? "auto" : "100%",
+        height: _ctx2.$attrs.cols || _ctx2.autosize ? "auto" : ""
+      }),
+      "aria-label": _ctx2.label,
+      onFocus: _cache[11] || (_cache[11] = function() {
+        return _ctx2.handleFocus && _ctx2.handleFocus.apply(_ctx2, arguments);
+      }),
+      onBlur: _cache[12] || (_cache[12] = function() {
+        return _ctx2.handleBlur && _ctx2.handleBlur.apply(_ctx2, arguments);
+      }),
+      onChange: _cache[13] || (_cache[13] = function() {
+        return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+      }),
+      onCompositionstart: _cache[14] || (_cache[14] = function() {
+        return _ctx2.handleCompositionStart && _ctx2.handleCompositionStart.apply(_ctx2, arguments);
+      }),
+      onCompositionupdate: _cache[15] || (_cache[15] = function() {
+        return _ctx2.handleCompositionUpdate && _ctx2.handleCompositionUpdate.apply(_ctx2, arguments);
+      }),
+      onCompositionend: _cache[16] || (_cache[16] = function() {
+        return _ctx2.handleCompositionEnd && _ctx2.handleCompositionEnd.apply(_ctx2, arguments);
+      }),
+      onInput: _cache[17] || (_cache[17] = function() {
+        return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+      }),
+      onKeyup: _cache[18] || (_cache[18] = function($event) {
+        return _ctx2.$emit("keyup", $event);
+      }),
+      onKeydown: _cache[19] || (_cache[19] = function($event) {
+        return _ctx2.$emit("keydown", $event);
+      }),
+      onPaste: _cache[20] || (_cache[20] = function($event) {
+        return _ctx2.$emit("paste", $event);
+      })
+    }), "\n      ", 16, _hoisted_12$5)])), _ctx2.state.isWordLimitVisible && _ctx2.type === "textarea" ? (openBlock(), createElementBlock(
+      "span",
+      _hoisted_13$4,
+      toDisplayString(_ctx2.state.showWordLimit ? _ctx2.state.textLength + "/" + _ctx2.state.upperLimit : _ctx2.state.textLength),
+      1
+      /* TEXT */
+    )) : createCommentVNode("v-if", true), _ctx2.slots.tips || _ctx2.tips ? (openBlock(), createElementBlock("div", _hoisted_14$3, [renderSlot(_ctx2.$slots, "tips", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.tips),
+        1
+        /* TEXT */
+      )];
+    })])) : createCommentVNode("v-if", true), createVNode$1(_component_tiny_action_sheet, {
+      modelValue: _ctx2.state.sheetvalue,
+      "onUpdate:modelValue": _cache[21] || (_cache[21] = function($event) {
+        return _ctx2.state.sheetvalue = $event;
+      }),
+      menus: _ctx2.selectMenu,
+      ellipsis: _ctx2.ellipsis,
+      "content-style": _ctx2.contentStyle,
+      visible: _ctx2.state.boxVisibility,
+      "onUpdate:visible": _cache[22] || (_cache[22] = function($event) {
+        return _ctx2.state.boxVisibility = $event;
+      })
+    }, null, 8, ["modelValue", "menus", "ellipsis", "content-style", "visible"])],
+    38
+    /* CLASS, STYLE, NEED_HYDRATION */
+  );
+}
+var mobile$6 = /* @__PURE__ */ _export_sfc$s(_sfc_main$D, [["render", _sfc_render$t]]);
+function _createForOfIteratorHelperLoose$q(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$q(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$q(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$q(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$q(o2, minLen);
+}
+function _arrayLikeToArray$q(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$r = function _export_sfc213(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$q(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$1$2 = defineComponent({
+  name: $prefix + "TallStorage",
+  inheritAttrs: false,
+  props: {
+    isMemoryStorage: Boolean,
+    localstorageData: Array
+  },
+  setup: function setup$116(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$f,
+      api: api$f
+    });
+  }
+});
+var _hoisted_1$1$2 = {
+  class: "tiny-storage-list-style"
+};
+var _hoisted_2$1$2 = ["onClick"];
+function _sfc_render$1$2(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: "tiny-tall-storage",
+      onMousedown: _cache[1] || (_cache[1] = function() {
+        return _ctx2.mousedown && _ctx2.mousedown.apply(_ctx2, arguments);
+      })
+    },
+    [createBaseVNode("div", _hoisted_1$1$2, [createBaseVNode(
+      "ul",
+      {
+        onKeydown: _cache[0] || (_cache[0] = withKeys(function() {
+          return _ctx2.keydownEvent && _ctx2.keydownEvent.apply(_ctx2, arguments);
+        }, ["enter"])),
+        class: "tiny-storage-list"
+      },
+      [(openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList(_ctx2.localstorageData, function(item) {
+          return openBlock(), createElementBlock("li", {
+            key: item,
+            class: normalizeClass(["tiny-storage-item", [_ctx2.state.hoverValue === item ? "item-hover" : ""]]),
+            onClick: function onClick($event) {
+              return _ctx2.selectItem(item);
+            }
+          }, toDisplayString(item), 11, _hoisted_2$1$2);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))],
+      32
+      /* NEED_HYDRATION */
+    )])],
+    32
+    /* NEED_HYDRATION */
+  );
+}
+var tallStorage = /* @__PURE__ */ _export_sfc$r(_sfc_main$1$2, [["render", _sfc_render$1$2]]);
+var _sfc_main$C = defineComponent({
+  inheritAttrs: false,
+  emits: ["update:modelValue", "change", "clear", "focus", "blur", "keyup", "keydown", "paste", "mouseenter", "mouseleave", "click", "input"],
+  components: {
+    IconClose: index$17(),
+    IconError: index$13(),
+    IconEyeopen: index$11(),
+    IconEyeclose: index$12(),
+    TinyTallStorage: tallStorage,
+    TinyTooltip: Tooltip
+  },
+  props: [].concat(props, ["name", "size", "form", "type", "mask", "label", "modelValue", "height", "resize", "counter", "autosize", "disabled", "readonly", "tabindex", "clearable", "suffixIcon", "prefixIcon", "autocomplete", "showPassword", "validateEvent", "showWordLimit", "customClass", "displayOnly", "displayOnlyContent", "showEmptyValue"]),
+  setup: function setup$117(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$g,
+      api: api$g
+    });
+  }
+});
+var _hoisted_1$q = {
+  key: 0,
+  "data-tag": "tiny-input-prepend",
+  ref: "prepend",
+  class: "border-r-0 rounded-tr-none rounded-br-none bg-color-bg-2 text-color-text-placeholder border border-solid border-color-border rounded px-3 py-0 w-px align-middle table-cell relative whitespace-nowrap"
+};
+var _hoisted_2$m = {
+  key: 0,
+  class: "absolute top-0 left-0 max-w-full overflow-hidden text-ellipsis whitespace-nowrap leading-7 sm:leading-normal text-color-text-primary"
+};
+var _hoisted_3$j = {
+  key: 1,
+  class: "absolute top-0 left-0 max-w-full flex items-center leading-7 sm:leading-normal text-color-text-primary"
+};
+var _hoisted_4$f = {
+  class: "flex-1 overflow-hidden text-ellipsis whitespace-nowrap mr-4"
+};
+var _hoisted_5$d = {
+  key: 2,
+  class: "absolute top-0 left-0 max-w-full overflow-hidden text-ellipsis whitespace-nowrap leading-7 sm:leading-normal text-color-text-primary"
+};
+var _hoisted_6$b = ["name", "tabindex", "type", "disabled", "readonly", "unselectable", "autocomplete", "aria-label"];
+var _hoisted_7$7 = {
+  key: 2,
+  "data-tag": "tiny-input-prefix",
+  ref: "prefix",
+  class: "left-2 transition-all duration-300 ease-in-out text-xs sm:text-sm absolute top-1/2 -translate-y-1/2 text-center text-color-text-placeholder flex items-center"
+};
+var _hoisted_8$5 = {
+  key: 3,
+  "data-tag": "tiny-input-suffix",
+  ref: "suffix",
+  class: "right-2 transition-all duration-300 ease-in-out pointer-events-none text-xs absolute top-1/2 -translate-y-1/2 text-center text-color-text-placeholder flex items-center z-[1]"
+};
+var _hoisted_9$5 = {
+  class: "pointer-events-auto text-xs flex justify-start items-center"
+};
+var _hoisted_10$4 = {
+  key: 5,
+  class: "h-full inline-flex items-center text-xs sm:text-sm text-color-text-placeholder"
+};
+var _hoisted_11$4 = {
+  class: "bg-color-bg-1 leading-none inline-block"
+};
+var _hoisted_12$4 = {
+  key: 4,
+  ref: "append",
+  class: "border-l-0 rounded-tl-none rounded-bl-none bg-color-bg-2 text-color-text-placeholder border border-solid border-color-border rounded-tr rounded-br px-3 py-0 w-px align-middle table-cell relative whitespace-nowrap"
+};
+var _hoisted_13$3 = {
+  key: 5,
+  ref: "panel"
+};
+var _hoisted_14$2 = {
+  key: 1,
+  "data-tag": "tiny-input-textarea"
+};
+var _hoisted_15$2 = ["tabindex", "disabled", "readonly", "unselectable", "autocomplete", "aria-label"];
+var _hoisted_16$2 = {
+  key: 2,
+  "data-tag": "tiny-input-limit",
+  class: "bg-color-bg-1 text-color-text-placeholder text-xs sm:text-sm absolute bottom-1 right-3"
+};
+function _sfc_render$s(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_tall_storage = resolveComponent("tiny-tall-storage");
+  var _component_icon_error = resolveComponent("icon-error");
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(_ctx2.m("relative text-xs sm:text-sm", _ctx2.type !== "textarea" || _ctx2.slots.prepend || _ctx2.slots.append ? "inline-table" : "", _ctx2.type !== "textarea" ? "w-full" : "align-bottom", _ctx2.slots.prepend || _ctx2.slots.append ? "leading-normal border-separate border-spacing-0" : "", _ctx2.$attrs.class)),
+      "data-tag": "tiny-input",
+      style: normalizeStyle$2(_ctx2.$attrs.style),
+      onMouseenter: _cache[22] || (_cache[22] = function($event) {
+        _ctx2.state.hovering = true;
+        _ctx2.$emit("mouseenter", $event);
+      }),
+      onMouseleave: _cache[23] || (_cache[23] = function($event) {
+        _ctx2.state.hovering = false;
+        _ctx2.$emit("mouseleave", $event);
+      }),
+      onClick: _cache[24] || (_cache[24] = function($event) {
+        return _ctx2.$emit("click", $event);
+      })
+    },
+    [_ctx2.type !== "textarea" ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [_ctx2.slots.prepend && !_ctx2.state.isDisplayOnly ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_1$q,
+        [renderSlot(_ctx2.$slots, "prepend")],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), createBaseVNode(
+        "span",
+        {
+          class: normalizeClass(["relative text-sm", [_ctx2.state.inputSizeMf !== "mini" ? "sm:text-sm" : "sm:text-xs"]]),
+          "data-tag": "tiny-input-display-only"
+        },
+        [_ctx2.state.isDisplayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+          key: 0,
+          effect: "light",
+          content: _ctx2.state.displayOnlyTooltip,
+          display: _ctx2.type === "password",
+          placement: "top",
+          "popper-options": {
+            bubbling: true
+          },
+          onMouseenter: _ctx2.handleEnterDisplayOnlyContent
+        }, {
+          default: withCtx(function() {
+            return [_ctx2.type === "password" ? (openBlock(), createElementBlock(
+              "span",
+              _hoisted_2$m,
+              toDisplayString(_ctx2.state.hiddenPassword),
+              1
+              /* TEXT */
+            )) : _ctx2.mask ? (openBlock(), createElementBlock("span", _hoisted_3$j, [createBaseVNode(
+              "span",
+              _hoisted_4$f,
+              toDisplayString(_ctx2.state.displayedMaskValue),
+              1
+              /* TEXT */
+            ), (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.maskValueVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+              onClick: _cache[0] || (_cache[0] = function($event) {
+                return _ctx2.state.maskValueVisible = !_ctx2.state.maskValueVisible;
+              })
+            }))])) : (openBlock(), createElementBlock(
+              "span",
+              _hoisted_5$d,
+              toDisplayString(_ctx2.state.displayOnlyText),
+              1
+              /* TEXT */
+            ))];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["content", "display", "onMouseenter"])) : createCommentVNode("v-if", true), _ctx2.type !== "textarea" ? (openBlock(), createElementBlock("input", mergeProps({
+          key: 1,
+          ref: "input",
+          "data-tag": "tiny-input-inner",
+          name: _ctx2.name
+        }, _ctx2.a(_ctx2.$attrs, ["type", "class", "style", "^on[A-Z]"]), {
+          class: _ctx2.m("w-full border-0 sm:border px-0 sm:px-3 sm:border-solid sm:border-color-border sm:hover:border-color-border-hover sm:focus:border-color-brand-focus sm:disabled:border-color-border-separator placeholder:text-color-text-placeholder placeholder:text-sm sm:disabled:placeholder:text-color-text-disabled text-sm text-color-text-primary bg-color-bg-1 disabled:cursor-not-allowed disabled:text-color-text-disabled sm:disabled:text-color-text-secondary sm:disabled:bg-color-bg-6 py-0 outline-0 transition-colors duration-200 ease-in-out ", _ctx2.state.inputSizeMf === "medium" ? "h-8 leading-8 " + _ctx2.m("sm:text-sm") + " placeholder:text-sm" : _ctx2.state.inputSizeMf === "mini" ? "h-6 leading-6 text-xs placeholder:text-xs" : "h-7 leading-7", _ctx2.slots.prepend || _ctx2.slots.append ? "align-middle table-cell" : "inline-block", _ctx2.slots.prepend && _ctx2.slots.append ? "rounded-none" : _ctx2.slots.prepend ? "rounded-tl-none rounded-bl-none rounded-tr rounded-br" : _ctx2.slots.append ? "rounded-tl rounded-bl rounded-tr-none rounded-br-none" : "rounded", _ctx2.readonly ? " text-ellipsis overflow-hidden whitespace-nowrap" : "sm:border", (_ctx2.slots.prefix || _ctx2.prefixIcon) && (_ctx2.slots.suffix || _ctx2.suffixIcon || _ctx2.clearable || _ctx2.showPassword) ? "px-6 sm:px-6" : _ctx2.slots.prefix || _ctx2.prefixIcon ? "pl-6 sm:pl-6 pr-0 sm:pr-3" : _ctx2.slots.suffix || _ctx2.suffixIcon || _ctx2.clearable || _ctx2.showPassword ? "pl-0 sm:pl-3 pr-6 sm:pr-6" : "", _ctx2.mask && _ctx2.state.inputDisabled ? !_ctx2.state.maskValueVisible ? "font-[serif] pr-6 sm:pr-6" : "pr-6 sm:pr-6" : "", (_ctx2.slots.suffix || _ctx2.suffixIcon || _ctx2.showPassword) && _ctx2.clearable ? "pr-10 sm:pr-10" : "", _ctx2.state.isDisplayOnly ? "invisible h-auto leading-none border-0" : "", _ctx2.state.isWordLimitVisible ? _ctx2.clearable ? "pr-18 sm:pr-18" : "pr-14 sm:pr-14" : "", _ctx2.customClass),
+          tabindex: _ctx2.tabindex,
+          type: _ctx2.showPassword ? _ctx2.state.passwordVisible ? "text" : "password" : _ctx2.type,
+          disabled: _ctx2.state.inputDisabled,
+          readonly: _ctx2.readonly,
+          unselectable: _ctx2.readonly ? "on" : "off",
+          autocomplete: _ctx2.autocomplete,
+          onCompositionstart: _cache[1] || (_cache[1] = function() {
+            return _ctx2.handleCompositionStart && _ctx2.handleCompositionStart.apply(_ctx2, arguments);
+          }),
+          onCompositionupdate: _cache[2] || (_cache[2] = function() {
+            return _ctx2.handleCompositionUpdate && _ctx2.handleCompositionUpdate.apply(_ctx2, arguments);
+          }),
+          onCompositionend: _cache[3] || (_cache[3] = function() {
+            return _ctx2.handleCompositionEnd && _ctx2.handleCompositionEnd.apply(_ctx2, arguments);
+          }),
+          onInput: _cache[4] || (_cache[4] = function() {
+            return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+          }),
+          onFocus: _cache[5] || (_cache[5] = function() {
+            return _ctx2.handleFocus && _ctx2.handleFocus.apply(_ctx2, arguments);
+          }),
+          onBlur: _cache[6] || (_cache[6] = function() {
+            return _ctx2.handleBlur && _ctx2.handleBlur.apply(_ctx2, arguments);
+          }),
+          onChange: _cache[7] || (_cache[7] = function() {
+            return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+          }),
+          "aria-label": _ctx2.label,
+          onKeyup: _cache[8] || (_cache[8] = function($event) {
+            return _ctx2.$emit("keyup", $event);
+          }),
+          onKeydown: _cache[9] || (_cache[9] = function($event) {
+            return _ctx2.$emit("keydown", $event);
+          }),
+          onPaste: _cache[10] || (_cache[10] = function($event) {
+            return _ctx2.$emit("paste", $event);
+          })
+        }), null, 16, _hoisted_6$b)) : createCommentVNode("v-if", true)],
+        2
+        /* CLASS */
+      ), _ctx2.isMemoryStorage ? (openBlock(), createBlock(_component_tiny_tall_storage, {
+        key: 1,
+        name: _ctx2.name,
+        "localstorage-data": _ctx2.storageData,
+        "is-memory-storage": _ctx2.isMemoryStorage,
+        onSelected: _ctx2.selectedMemory
+      }, null, 8, ["name", "localstorage-data", "is-memory-storage", "onSelected"])) : createCommentVNode("v-if", true), (_ctx2.slots.prefix || _ctx2.prefixIcon) && !_ctx2.state.isDisplayOnly ? (openBlock(), createElementBlock(
+        "span",
+        _hoisted_7$7,
+        [renderSlot(_ctx2.$slots, "prefix"), _ctx2.prefixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.prefixIcon), {
+          key: 0,
+          class: normalizeClass(_ctx2.m("text-center transition-all duration-300 ease-in-out text-xs sm:text-sm", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7"))
+        }, null, 8, ["class"])) : createCommentVNode("v-if", true)],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), !_ctx2.state.isDisplayOnly && _ctx2.getSuffixVisible() ? (openBlock(), createElementBlock(
+        "span",
+        _hoisted_8$5,
+        [createBaseVNode("span", _hoisted_9$5, [!_ctx2.state.showClear || !_ctx2.state.showPwdVisible || !_ctx2.state.isWordLimitVisible ? (openBlock(), createElementBlock(
+          Fragment,
+          {
+            key: 0
+          },
+          [renderSlot(_ctx2.$slots, "suffix"), _ctx2.suffixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.suffixIcon), {
+            key: 0,
+            class: normalizeClass(_ctx2.m("text-center transition-all duration-300 ease-in-out text-xs", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7"))
+          }, null, 8, ["class"])) : createCommentVNode("v-if", true)],
+          64
+          /* STABLE_FRAGMENT */
+        )) : createCommentVNode("v-if", true), _ctx2.state.showClear ? (openBlock(), createBlock(_component_icon_error, {
+          key: 1,
+          class: normalizeClass(_ctx2.m("text-center transition-all duration-300 ease-in-out text-xs cursor-pointer fill-color-none-hover block sm:hidden", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7")),
+          onMousedown: _cache[11] || (_cache[11] = withModifiers(function() {
+          }, ["prevent"])),
+          onClick: _ctx2.clear
+        }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true), _ctx2.state.showClear ? (openBlock(), createBlock(_component_icon_close, {
+          key: 2,
+          class: normalizeClass(_ctx2.m("hidden sm:block text-center transition-all duration-300 ease-in-out text-xs cursor-pointer", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7")),
+          onMousedown: _cache[12] || (_cache[12] = withModifiers(function() {
+          }, ["prevent"])),
+          onClick: _ctx2.clear
+        }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true), _ctx2.showPassword ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.passwordVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+          key: 3,
+          class: normalizeClass(_ctx2.m("text-center transition-all duration-300 ease-in-out text-xs", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7")),
+          onClick: _ctx2.handlePasswordVisible
+        }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true), _ctx2.mask && _ctx2.state.inputDisabled ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.maskValueVisible ? "icon-eyeopen" : "icon-eyeclose"), {
+          key: 4,
+          class: normalizeClass(_ctx2.m("text-center transition-all duration-300 ease-in-out text-xs fill-color-text-placeholder", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7")),
+          onClick: _cache[13] || (_cache[13] = function($event) {
+            return _ctx2.state.maskValueVisible = !_ctx2.state.maskValueVisible;
+          })
+        }, null, 8, ["class"])) : createCommentVNode("v-if", true), _ctx2.state.isWordLimitVisible ? (openBlock(), createElementBlock("span", _hoisted_10$4, [createBaseVNode(
+          "span",
+          _hoisted_11$4,
+          toDisplayString(_ctx2.state.showWordLimit ? _ctx2.state.textLength + "/" + _ctx2.state.upperLimit : _ctx2.state.textLength),
+          1
+          /* TEXT */
+        )])) : createCommentVNode("v-if", true)]), _ctx2.state.validateState ? (openBlock(), createElementBlock(
+          "i",
+          {
+            key: 0,
+            class: normalizeClass(_ctx2.m("text-center transition-all duration-300 ease-in-out text-xs pointer-events-none", _ctx2.state.inputSizeMf === "medium" ? "leading-8" : _ctx2.state.inputSizeMf === "mini" ? "leading-6" : "leading-7", _ctx2.state.validateIcon))
+          },
+          null,
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true)],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), _ctx2.slots.append && !_ctx2.state.isDisplayOnly ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_12$4,
+        [renderSlot(_ctx2.$slots, "append")],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true), _ctx2.slots.panel && !_ctx2.state.isDisplayOnly ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_13$3,
+        [renderSlot(_ctx2.$slots, "panel")],
+        512
+        /* NEED_PATCH */
+      )) : createCommentVNode("v-if", true)],
+      64
+      /* STABLE_FRAGMENT */
+    )) : (openBlock(), createElementBlock("span", _hoisted_14$2, [_ctx2.state.isDisplayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+      key: 0,
+      effect: "light",
+      content: _ctx2.state.displayOnlyTooltip,
+      placement: "top",
+      "popper-options": {
+        bubbling: true
+      },
+      onMouseenter: _cache[14] || (_cache[14] = function($event) {
+        return _ctx2.handleEnterDisplayOnlyContent($event, "textarea");
+      })
+    }, {
+      default: withCtx(function() {
+        return [createBaseVNode(
+          "span",
+          {
+            class: normalizeClass(["max-w-full text-ellipsis break-words line-clamp-5 text-sm pt-1.5 text-color-text-primary", [_ctx2.state.inputSizeMf !== "mini" ? "sm:text-sm" : "sm:text-xs"]])
+          },
+          toDisplayString(_ctx2.state.displayOnlyText),
+          3
+          /* TEXT, CLASS */
+        )];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["content"])) : createCommentVNode("v-if", true), createBaseVNode("textarea", mergeProps({
+      ref: "textarea"
+    }, _ctx2.a(_ctx2.$attrs, ["type", "class", "style", "^on[A-Z]"]), {
+      tabindex: _ctx2.tabindex,
+      class: ["block w-full border-0 sm:border-solid sm:border-color-border sm:hover:border-color-border-hover sm:focus:border-color-brand-focus sm:disabled:border-color-border-separator outline-0 rounded placeholder:text-color-text-placeholder placeholder:text-sm sm:disabled:placeholder:text-color-text-disabled text-sm text-color-text-primary bg-color-bg-1 disabled:cursor-not-allowed disabled:text-color-text-disabled sm:disabled:text-color-text-secondary sm:disabled:bg-color-bg-6 leading-normal", [_ctx2.readonly ? "sm:border-0 px-0 py-0" : "sm:border px-3 py-2", _ctx2.state.isDisplayOnly ? "hidden" : "", _ctx2.state.inputSizeMf !== "mini" ? "sm:placeholder:text-sm sm:text-sm" : "sm:placeholder:text-xs sm:text-xs"]],
+      onCompositionstart: _cache[15] || (_cache[15] = function() {
+        return _ctx2.handleCompositionStart && _ctx2.handleCompositionStart.apply(_ctx2, arguments);
+      }),
+      onCompositionupdate: _cache[16] || (_cache[16] = function() {
+        return _ctx2.handleCompositionUpdate && _ctx2.handleCompositionUpdate.apply(_ctx2, arguments);
+      }),
+      onCompositionend: _cache[17] || (_cache[17] = function() {
+        return _ctx2.handleCompositionEnd && _ctx2.handleCompositionEnd.apply(_ctx2, arguments);
+      }),
+      onInput: _cache[18] || (_cache[18] = function() {
+        return _ctx2.handleInput && _ctx2.handleInput.apply(_ctx2, arguments);
+      }),
+      disabled: _ctx2.state.inputDisabled,
+      readonly: _ctx2.readonly,
+      unselectable: _ctx2.readonly ? "on" : "off",
+      autocomplete: _ctx2.autocomplete,
+      style: _ctx2.state.textareaStyle,
+      onFocus: _cache[19] || (_cache[19] = function() {
+        return _ctx2.handleFocus && _ctx2.handleFocus.apply(_ctx2, arguments);
+      }),
+      onBlur: _cache[20] || (_cache[20] = function() {
+        return _ctx2.handleBlur && _ctx2.handleBlur.apply(_ctx2, arguments);
+      }),
+      onChange: _cache[21] || (_cache[21] = function() {
+        return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+      }),
+      "aria-label": _ctx2.label
+    }), "\n      ", 16, _hoisted_15$2)])), _ctx2.state.isWordLimitVisible && _ctx2.type === "textarea" ? (openBlock(), createElementBlock(
+      "span",
+      _hoisted_16$2,
+      toDisplayString(_ctx2.state.showWordLimit ? _ctx2.state.textLength + "/" + _ctx2.state.upperLimit : _ctx2.state.textLength),
+      1
+      /* TEXT */
+    )) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default")],
+    38
+    /* CLASS, STYLE, NEED_HYDRATION */
+  );
+}
+var mobileFirst$6 = /* @__PURE__ */ _export_sfc$r(_sfc_main$C, [["render", _sfc_render$s]]);
+function _extends$h() {
+  _extends$h = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$h.apply(this, arguments);
+}
+var template$e = function template26(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$d;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$6;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$6;
+  }
+  return pc$d;
+};
+var $constants$c = {
+  INPUT_PC: "tiny-input__",
+  INPUTGROUP_PC: "tiny-input-group__",
+  INPUT_MOBILE: "tiny-mobile-input__",
+  INPUTGROUP_MOBILE: "tiny-mobile-input-group__",
+  Mode: "pc",
+  inputMode: function inputMode(mode) {
+    return mode === this.Mode ? this.INPUT_PC : this.INPUT_MOBILE;
+  },
+  inputGroupMode: function inputGroupMode(mode) {
+    return mode === this.Mode ? this.INPUTGROUP_PC : this.INPUTGROUP_MOBILE;
+  },
+  VALIDATE_ICON: {
+    Validating: "tiny-icon-loading",
+    Success: "tiny-icon-circle-check",
+    Error: "tiny-icon-circle-close"
+  },
+  COMPONENT_NAME: {
+    FormItem: "FormItem"
+  },
+  MASKSYMBOL: "******",
+  TEXTAREA_HEIGHT_MOBILE: 108
+};
+var inputProps = _extends$h({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default28() {
+      return $constants$c;
+    }
+  },
+  name: String,
+  size: String,
+  form: String,
+  label: String,
+  height: Number,
+  resize: String,
+  tabindex: {
+    type: String,
+    default: "1"
+  },
+  disabled: Boolean,
+  readonly: Boolean,
+  hoverExpand: Boolean,
+  mask: Boolean,
+  suffixIcon: [Object, String],
+  prefixIcon: [Object, String],
+  modelValue: [String, Number],
+  type: {
+    type: String,
+    default: "text"
+  },
+  memorySpace: {
+    type: Number,
+    default: 5
+  },
+  vertical: {
+    type: Boolean,
+    default: false
+  },
+  selectMenu: {
+    type: Array,
+    default: function _default29() {
+      return [];
+    }
+  },
+  ellipsis: {
+    type: Boolean,
+    default: false
+  },
+  contentStyle: {
+    type: Object,
+    default: function _default36() {
+      return {};
+    }
+  },
+  isSelect: {
+    type: Boolean,
+    default: false
+  },
+  tips: String,
+  counter: {
+    type: Boolean,
+    default: false
+  },
+  autosize: {
+    type: [Boolean, Object],
+    default: false
+  },
+  clearable: {
+    type: Boolean,
+    default: false
+  },
+  autocomplete: {
+    type: String,
+    default: "off"
+  },
+  showPassword: {
+    type: Boolean,
+    default: false
+  },
+  showWordLimit: {
+    type: Boolean,
+    default: false
+  },
+  showTitle: {
+    type: Boolean,
+    default: false
+  },
+  validateEvent: {
+    type: Boolean,
+    default: true
+  },
+  // mobile特有属性
+  textareaTitle: {
+    type: String,
+    default: ""
+  },
+  displayOnly: {
+    type: Boolean,
+    default: false
+  },
+  displayOnlyContent: {
+    type: String,
+    default: ""
+  },
+  customClass: {
+    type: String,
+    default: ""
+  },
+  frontClearIcon: {
+    type: Boolean,
+    default: false
+  },
+  showEmptyValue: {
+    type: Boolean,
+    default: false
+  },
+  textAlign: {
+    type: String,
+    default: "left"
+  },
+  width: {
+    type: [String, Number]
+  }
+});
+var Input = defineComponent({
+  name: $prefix + "Input",
+  inheritAttrs: false,
+  props: inputProps,
+  setup: function setup8(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$e
+    });
+  }
+});
+var version$h = "3.16.0";
+Input.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Input.install = function(Vue) {
+  Vue.component(Input.name, Input);
+};
+Input.version = version$h;
+const indexOf$1 = (arr, data2, predicate = isSame) => {
+  if (Array.isArray(arr) && typeof predicate === "function") {
+    for (let i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+      if (predicate(arr[i2], data2)) {
+        return i2;
+      }
+    }
+  }
+  return -1;
+};
+const find$1 = (arr, predicate) => {
+  const index3 = indexOf$1(arr, void 0, predicate);
+  return index3 !== -1 ? arr[index3] : void 0;
+};
+const extend$2 = (to, _from) => {
+  Object.keys(_from).forEach((key2) => to[key2] = _from[key2]);
+  return to;
+};
+const toObject = (arr) => {
+  const res = {};
+  for (let i2 = 0; i2 < arr.length; i2++) {
+    if (arr[i2]) {
+      extend$2(res, arr[i2]);
+    }
+  }
+  return res;
+};
+const transformPidToChildren = (data2, pidName = "pId", childrenName = "children", idName = "id") => {
+  const result2 = [];
+  Array.isArray(data2) && data2.forEach((item) => {
+    if (item[pidName] == "0") {
+      result2.push(item);
+    } else {
+      const parent3 = find$1(data2, (i2) => i2[idName] == item[pidName]);
+      if (!parent3) {
+        return;
+      }
+      if (!parent3[childrenName]) {
+        parent3[childrenName] = [];
+      }
+      parent3[childrenName].push(item);
+    }
+    delete item[pidName];
+  });
+  return result2;
+};
+const transformTreeData = (data2, key2 = "id", parentKey = "pId") => {
+  if (!Array.isArray(data2)) {
+    data2 = [data2];
+  }
+  data2 = data2.map((item) => __spreadValues({}, item));
+  const treeData2 = transformPidToChildren(data2, parentKey, "children", key2);
+  return treeData2;
+};
+const getFilterStr = (filters) => {
+  const filterArr = {};
+  Object.keys(filters).forEach((property) => {
+    const { type: type2, value } = filters[property];
+    if (type2 === "enum") {
+      filterArr[property] = { type: value.map(() => 0), value };
+      if (value.length > 1) {
+        filters[property].relation = "or";
+      }
+    }
+    if (type2 === "input") {
+      const { relation, text: text2 } = value;
+      filterArr[property] = {
+        type: [relation === "startwith" ? 8 : relation === "equals" ? 0 : 6],
+        value: text2
+      };
+    }
+  });
+  return JSON.stringify(filterArr);
+};
+const getNsObj = (obj2, names) => {
+  const arr = Array.isArray(names) ? names : names.split(".");
+  const curkey = arr.shift();
+  const curObj = obj2[curkey];
+  if (isObject$5(curObj) && arr.length) {
+    return getNsObj(curObj, arr);
+  }
+  return curObj;
+};
+const handlerArgs = (options2, args) => {
+  if (args) {
+    const { page, sort: sort2, filters } = args;
+    const { currentPage, pageSize } = page || {};
+    const filterStr = getFilterStr(filters || {});
+    const orderBy = sort2 && sort2.property ? sort2.property + " " + sort2.order : "";
+    options2.url = format$4(options2.url, {
+      curPage: currentPage,
+      pageSize,
+      filterStr,
+      orderBy
+    });
+  }
+};
+const transForm = (response, tree2) => {
+  const { result: result2, pageVO } = response;
+  const { key: key2 = "id", parentKey } = tree2 || {};
+  let data2 = result2 || response;
+  if (parentKey) {
+    data2 = transformTreeData(data2, key2, parentKey);
+  }
+  return pageVO ? { result: data2, page: { total: pageVO.totalRows } } : data2;
+};
+const getDataset = ({ dataset: dataset2, service, tree: tree2 }, args) => new Promise((resolve, reject) => {
+  const { source: source2, value, api: api2 } = dataset2 || {};
+  const $service = service || dataset2 && dataset2.service;
+  if (Array.isArray(dataset2)) {
+    return resolve(transForm(dataset2, tree2));
+  }
+  if (Array.isArray(value)) {
+    return resolve(transForm(value, tree2));
+  }
+  if (!$service) {
+    return resolve([]);
+  }
+  if (isObject$5(source2) && source2.url) {
+    const _a2 = source2, { type: type2 = "GET", data: data2, beforeRequest, afterRequest, success, hideErr, url, method } = _a2, options2 = __objRest(_a2, ["type", "data", "beforeRequest", "afterRequest", "success", "hideErr", "url", "method"]);
+    options2.url = url;
+    options2.method = method || type2.toLocaleLowerCase();
+    const mergeTarget = options2.method === "get" ? "params" : "data";
+    options2[mergeTarget] = data2 || {};
+    const afterRequestFn = afterRequest || success;
+    const config2 = __spreadValues({}, options2);
+    handlerArgs(config2, args);
+    beforeRequest && beforeRequest(config2, args);
+    $service.network.request(config2).then((response) => {
+      afterRequestFn && afterRequestFn(response.data);
+      resolve(transForm(response.data, tree2));
+    }).catch((error) => {
+      hideErr || reject(error);
+    });
+  } else if (api2) {
+    const fetchFn = getNsObj($service, api2.name);
+    fetchFn && fetchFn(__spreadValues(__spreadValues({}, api2.data), args)).then((response) => {
+      resolve(transForm(response, tree2));
+    }).catch((error) => {
+      reject(error);
+    });
+  }
+});
+const addToStore = ({ state, props: props2 }) => () => {
+  if (Array.isArray(state.model) && !state.model.includes(props2.label)) {
+    state.model.push(props2.label);
+  } else {
+    state.model = props2.trueLabel || true;
+  }
+};
+const removeFromStore = ({ state, props: props2 }) => () => {
+  if (Array.isArray(state.model)) {
+    const index3 = state.model.indexOf(props2.label);
+    index3 !== -1 && state.model.splice(index3, 1);
+  } else {
+    state.model = props2.falseLabel !== void 0 && props2.falseLabel;
+  }
+};
+const handleChange$2 = ({
+  state,
+  props: props2,
+  emit,
+  nextTick: nextTick2,
+  dispatch,
+  constants
+}) => (event2) => {
+  if (state.isLimitExceeded) {
+    return;
+  }
+  let moduleValue;
+  const { trueLabel, falseLabel } = props2;
+  if (event2.target.checked) {
+    moduleValue = trueLabel === void 0 ? true : trueLabel;
+  } else {
+    moduleValue = falseLabel === void 0 ? false : falseLabel;
+  }
+  emit("change", moduleValue, event2);
+  nextTick2(() => {
+    state.isGroup && dispatch(constants.CHECKBOX_GROUP, "change", [state.checkboxGroup.modelValue]);
+  });
+};
+const computedGetModelGet$1 = ({ state, props: props2 }) => () => {
+  const model2 = state.isGroup ? state.store : props2.modelValue !== void 0 ? props2.modelValue : state.selfModel;
+  return isNull$2(model2) ? state.isGroup ? [] : "" : model2;
+};
+const computedGetModelSet$1 = ({
+  state,
+  dispatch,
+  emit,
+  constants
+}) => (value) => {
+  if (state.isGroup) {
+    state.isLimitExceeded = false;
+    state.checkboxGroup.min !== void 0 && value.length < state.checkboxGroup.min && (state.isLimitExceeded = true);
+    state.checkboxGroup.max !== void 0 && value.length > state.checkboxGroup.max && (state.isLimitExceeded = true);
+    state.isLimitExceeded === false && dispatch(constants.CHECKBOX_GROUP, "update:modelValue", [value]);
+  } else {
+    emit("update:modelValue", value);
+    state.selfModel = value;
+  }
+};
+const computedIsChecked = ({ state, props: props2 }) => () => {
+  if (typeof state.model === "boolean") {
+    return state.model;
+  } else if (Array.isArray(state.model)) {
+    return state.model.includes(props2.label);
+  } else if (!isNull$2(state.model)) {
+    return state.model === props2.trueLabel;
+  }
+  return false;
+};
+const computedIsGroup = ({ state, parent: parent3, constants }) => () => {
+  let parentObj = parent3.$parent;
+  while (parentObj) {
+    if (parentObj.$options.componentName !== constants.CHECKBOX_GROUP) {
+      parentObj = parentObj.$parent;
+    } else {
+      state.checkboxGroup = parentObj;
+      return true;
+    }
+  }
+  return false;
+};
+const computedStore = ({ state, props: props2 }) => () => state.checkboxGroup ? state.checkboxGroup.modelValue : props2.modelValue;
+const computedIsLimitDisabled = (state) => () => {
+  const { max: max3, min: min3 } = state.checkboxGroup;
+  return !!(max3 || min3) && state.model.length >= max3 && !state.isChecked || state.model.length <= min3 && state.isChecked;
+};
+const computedIsDisabled$1 = ({ state, props: props2 }) => () => (state.isGroup ? state.checkboxGroup.disabled || state.checkboxGroup.displayOnly || props2.disabled || props2.displayOnly || state.isLimitDisabled : props2.disabled) || state.formDisabled;
+const computedFormItemSize$2 = (props2) => () => (props2.formItem || {}).formItemSize;
+const computedCheckboxSize = ({ state, props: props2, formItemSize }) => () => {
+  const tempCheckboxSize = props2.size || formItemSize.value;
+  return state.isGroup ? state.checkboxGroup.state.checkboxGroupSize || tempCheckboxSize : tempCheckboxSize;
+};
+const mounted$2 = ({ props: props2, emit, api: api2, parent: parent3 }) => () => {
+  props2.checked && api2.addToStore();
+  props2.indeterminate && parent3.$el.setAttribute("aria-controls", props2.controls);
+  emit("complete", true);
+};
+const toggleEvent$2 = ({
+  parent: parent3,
+  props: props2,
+  type: type2
+}) => {
+  const inputEl = parent3.$el;
+  for (let ev in props2.events) {
+    inputEl[type2 + "EventListener"](ev, props2.events[ev]);
+  }
+};
+const computedIsDisplayOnly = ({ state, props: props2 }) => () => props2.displayOnly || state.formDisplayOnly;
+const computedIsGroupDisplayOnly = ({ state }) => () => state.isGroup && (state.checkboxGroup.displayOnly || state.formDisplayOnly);
+const computedDisplayLabel = ({ state, props: props2, t: t2 }) => () => {
+  state.showLabel = true;
+  if (props2.trueLabel !== void 0 && props2.falseLabel !== void 0) {
+    return props2.modelValue ? String(props2.trueLabel) : String(props2.falseLabel);
+  } else {
+    return props2.modelValue ? t2("yes") : t2("no");
+  }
+};
+const computedIsShowText = ({ props: props2 }) => () => !isNull$2(props2.text) || !isNull$2(props2.label);
+const computedShowText = ({ props: props2 }) => () => {
+  if (props2.text || !isNull$2(props2.text)) {
+    return props2.text;
+  } else {
+    return props2.label;
+  }
+};
+const handleLabelMouseenter = ({ state, vm }) => (e2) => {
+  const label = e2.target;
+  if (label && label.scrollWidth > label.offsetWidth) {
+    const tooltip2 = vm.$refs.tooltip;
+    tooltip2.state.referenceElm = label;
+    tooltip2.state.popperElm && (tooltip2.state.popperElm.style.display = "none");
+    tooltip2.doDestroy();
+    state.tooltipVisible = true;
+    state.displayedValue = label.textContent;
+    setTimeout(tooltip2.updatePopper, 20);
+  }
+};
+const handleMouseleave = (state) => () => {
+  state.tooltipVisible = false;
+};
+const api$e = ["state", "handleChange", "computedStore", "handleLabelMouseenter", "handleMouseleave"];
+const initState$3 = ({ reactive, computed: computed2, parent: parent3, api: api2, inject: inject2, props: props2 }) => {
+  const state = reactive({
+    size: computed2(() => props2.size || inject2("size", null) || (parent3.tinyForm || {}).size),
+    vertical: inject2("vertical", null),
+    iconPosition: props2.iconPosition || inject2("iconPosition", "center"),
+    focus: false,
+    selfModel: false,
+    showLabel: false,
+    isLimitExceeded: false,
+    checkboxGroup: null,
+    store: computed2(() => api2.computedStore()),
+    isGroup: computed2(() => api2.computedIsGroup()),
+    isChecked: computed2(() => api2.computedIsChecked()),
+    isDisabled: computed2(() => api2.computedIsDisabled()),
+    checkboxSize: computed2(() => api2.computedCheckboxSize()),
+    isLimitDisabled: computed2(() => api2.computedIsLimitDisabled()),
+    formDisabled: computed2(() => (parent3.tinyForm || {}).disabled),
+    formDisplayOnly: computed2(() => (parent3.tinyForm || {}).displayOnly),
+    isDisplayOnly: computed2(() => api2.computedIsDisplayOnly()),
+    isGroupDisplayOnly: computed2(() => api2.computedIsGroupDisplayOnly()),
+    displayLabel: computed2(() => api2.computedDisplayLabel()),
+    inputDisabled: computed2(() => state.isDisabled || state.isDisplayOnly || state.isGroupDisplayOnly),
+    model: computed2({
+      get: () => api2.computedGetModelGet(),
+      set: (value) => api2.computedGetModelSet(value)
+    }),
+    showText: computed2(() => api2.computedShowText()),
+    isShowText: computed2(() => api2.computedIsShowText()),
+    shape: inject2("shape", null) || props2.shape,
+    tooltipVisible: false,
+    displayedValue: ""
+  });
+  return state;
+};
+const initApi$3 = ({
+  api: api2,
+  state,
+  dispatch,
+  props: props2,
+  parent: parent3,
+  constants,
+  formItemSize,
+  emit,
+  nextTick: nextTick2,
+  t: t2,
+  vm
+}) => {
+  Object.assign(api2, {
+    state,
+    addToStore: addToStore({ state, props: props2 }),
+    removeFromStore: removeFromStore({ state, props: props2 }),
+    computedStore: computedStore({ state, props: props2 }),
+    computedFormItemSize: computedFormItemSize$2(props2),
+    computedIsChecked: computedIsChecked({ state, props: props2 }),
+    computedIsLimitDisabled: computedIsLimitDisabled(state),
+    computedIsDisabled: computedIsDisabled$1({ state, props: props2 }),
+    computedIsDisplayOnly: computedIsDisplayOnly({ state, props: props2 }),
+    computedIsGroupDisplayOnly: computedIsGroupDisplayOnly({ state }),
+    computedGetModelGet: computedGetModelGet$1({ state, props: props2 }),
+    computedIsGroup: computedIsGroup({ state, parent: parent3, constants }),
+    computedCheckboxSize: computedCheckboxSize({ state, props: props2, formItemSize }),
+    computedGetModelSet: computedGetModelSet$1({ state, dispatch, emit, constants }),
+    mounted: mounted$2({ emit, props: props2, api: api2, parent: parent3 }),
+    handleChange: handleChange$2({ state, props: props2, emit, nextTick: nextTick2, dispatch, constants }),
+    computedDisplayLabel: computedDisplayLabel({ state, props: props2, t: t2 }),
+    computedIsShowText: computedIsShowText({ props: props2 }),
+    computedShowText: computedShowText({ props: props2 }),
+    handleLabelMouseenter: handleLabelMouseenter({ state, vm }),
+    handleMouseleave: handleMouseleave(state)
+  });
+};
+const renderless$e = (props2, { computed: computed2, onMounted: onMounted2, onBeforeUnmount: onBeforeUnmount2, reactive, watch: watch2, inject: inject2 }, { vm, parent: parent3, emit, constants, nextTick: nextTick2, dispatch, t: t2 }) => {
+  const api2 = { dispatch };
+  const formItemSize = computed2(() => api2.computedFormItemSize());
+  const state = initState$3({ reactive, computed: computed2, parent: parent3, api: api2, inject: inject2, props: props2 });
+  parent3.tinyForm = parent3.tinyForm || inject2("form", null);
+  initApi$3({ api: api2, state, dispatch, props: props2, parent: parent3, constants, formItemSize, emit, nextTick: nextTick2, t: t2, vm });
+  watch2(
+    () => props2.modelValue,
+    (value) => props2.validateEvent && api2.dispatch(constants.FORM_ITEM, constants.FORM_CHANGE, value)
+  );
+  watch2(
+    () => props2.checked,
+    (value) => {
+      value ? api2.addToStore() : api2.removeFromStore();
+    }
+  );
+  onBeforeUnmount2(() => {
+    toggleEvent$2({ parent: parent3, props: props2, type: "remove" });
+  });
+  onMounted2(() => {
+    dispatch("Tooltip", "tooltip-update");
+    toggleEvent$2({ parent: parent3, props: props2, type: "add" });
+    api2.mounted();
+  });
+  return api2;
+};
+const index$m = "";
+function _createForOfIteratorHelperLoose$p(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$p(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$p(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$p(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$p(o2, minLen);
+}
+function _arrayLikeToArray$p(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$q = function _export_sfc214(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$p(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$B = defineComponent({
+  // tiny 新增。 renderless中,没有emit('click')的地方。 此处勿声明,否则会造成丢失click事件。
+  emits: ["update:modelValue", "change", "complete"],
+  props: [].concat(props, ["modelValue", "text", "events", "label", "indeterminate", "disabled", "checked", "name", "trueLabel", "falseLabel", "id", "controls", "size", "border", "validateEvent", "displayOnly", "shape", "tabindex"]),
+  components: {
+    IconHalfselect: index$X(),
+    IconCheckedSur: index$19(),
+    IconCheck: index$1a(),
+    TinyTooltip: Tooltip
+  },
+  setup: function setup$118(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$e,
+      api: api$e
+    });
+  }
+});
+var _hoisted_1$p = ["id"];
+var _hoisted_2$l = ["role", "aria-checked"];
+var _hoisted_3$i = ["tabindex", "aria-hidden", "name", "disabled", "true-value", "false-value"];
+var _hoisted_4$e = ["tabindex", "aria-hidden", "disabled", "value", "name"];
+var _hoisted_5$c = {
+  class: "tiny-checkbox__inner"
+};
+function _sfc_render$r(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_halfselect = resolveComponent("icon-halfselect");
+  var _component_icon_checked_sur = resolveComponent("icon-checked-sur");
+  var _component_icon_check = resolveComponent("icon-check");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  return openBlock(), createElementBlock("label", mergeProps({
+    class: ["tiny-checkbox", [_ctx2.border && _ctx2.state.checkboxSize ? "tiny-checkbox--" + _ctx2.state.checkboxSize : "", {
+      "is-disabled": _ctx2.state.isDisabled || _ctx2.state.isDisplayOnly
+    }, {
+      "is-bordered": _ctx2.border
+    }, {
+      "is-checked": _ctx2.state.isChecked
+    }, {
+      "is-group-display-only": _ctx2.state.isGroupDisplayOnly
+    }, {
+      "is-display-only": _ctx2.state.isDisplayOnly
+    }, {
+      "is-filter": _ctx2.state.shape === "filter"
+    }]],
+    id: _ctx2.id,
+    tabindex: "-1"
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style", "onClick"], true)), [createBaseVNode("span", {
+    class: normalizeClass(["tiny-checkbox__input", {
+      "is-disabled": _ctx2.state.isDisabled || _ctx2.state.isDisplayOnly,
+      "is-checked": _ctx2.state.isChecked,
+      "is-indeterminate": _ctx2.indeterminate,
+      "is-focus": _ctx2.state.focus
+    }]),
+    role: _ctx2.indeterminate ? "checkbox" : void 0,
+    "aria-checked": _ctx2.indeterminate ? "mixed" : false
+  }, [_ctx2.trueLabel || _ctx2.falseLabel ? withDirectives((openBlock(), createElementBlock("input", {
+    key: 0,
+    class: "tiny-checkbox__original",
+    type: "checkbox",
+    tabindex: _ctx2.tabindex,
+    "aria-hidden": _ctx2.indeterminate ? "true" : "false",
+    name: _ctx2.name,
+    disabled: _ctx2.state.isDisabled || _ctx2.state.isDisplayOnly,
+    "true-value": _ctx2.trueLabel,
+    "false-value": _ctx2.falseLabel,
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[1] || (_cache[1] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[3] || (_cache[3] = function($event) {
+      return _ctx2.state.focus = false;
+    }),
+    onClick: _cache[4] || (_cache[4] = withModifiers(function() {
+    }, ["stop"]))
+  }, null, 40, _hoisted_3$i)), [[vModelCheckbox, _ctx2.state.model]]) : withDirectives((openBlock(), createElementBlock("input", {
+    key: 1,
+    class: "tiny-checkbox__original",
+    type: "checkbox",
+    tabindex: _ctx2.tabindex,
+    "aria-hidden": _ctx2.indeterminate ? "true" : "false",
+    disabled: _ctx2.state.isDisabled || _ctx2.state.isDisplayOnly,
+    value: _ctx2.label,
+    name: _ctx2.name,
+    "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[6] || (_cache[6] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[7] || (_cache[7] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[8] || (_cache[8] = function($event) {
+      return _ctx2.state.focus = false;
+    }),
+    onClick: _cache[9] || (_cache[9] = withModifiers(function() {
+    }, ["stop"]))
+  }, null, 40, _hoisted_4$e)), [[vModelCheckbox, _ctx2.state.model]]), createBaseVNode("span", _hoisted_5$c, [_ctx2.indeterminate && _ctx2.state.shape !== "filter" ? (openBlock(), createBlock(_component_icon_halfselect, {
+    key: 0,
+    class: "tiny-svg-size icon-halfselect"
+  })) : _ctx2.state.isChecked ? (openBlock(), createBlock(_component_icon_checked_sur, {
+    key: 1,
+    class: "tiny-svg-size icon-checked-sur"
+  })) : (openBlock(), createBlock(_component_icon_check, {
+    key: 2,
+    class: "tiny-svg-size icon-check"
+  }))])], 10, _hoisted_2$l), _ctx2.slots.default && _ctx2.slots.default() || _ctx2.state.isShowText ? (openBlock(), createElementBlock(
+    "span",
+    {
+      key: 0,
+      class: "tiny-checkbox__label tiny-checkbox-display-only",
+      onMouseenter: _cache[11] || (_cache[11] = function() {
+        return _ctx2.handleLabelMouseenter && _ctx2.handleLabelMouseenter.apply(_ctx2, arguments);
+      }),
+      onMouseleave: _cache[12] || (_cache[12] = function() {
+        return _ctx2.handleMouseleave && _ctx2.handleMouseleave.apply(_ctx2, arguments);
+      })
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.state.showText),
+        1
+        /* TEXT */
+      )];
+    }), createVNode$1(_component_tiny_tooltip, {
+      ref: "tooltip",
+      modelValue: _ctx2.state.tooltipVisible,
+      "onUpdate:modelValue": _cache[10] || (_cache[10] = function($event) {
+        return _ctx2.state.tooltipVisible = $event;
+      }),
+      manual: true,
+      effect: "light",
+      content: _ctx2.state.displayedValue,
+      placement: "top"
+    }, null, 8, ["modelValue", "content"])],
+    32
+    /* NEED_HYDRATION */
+  )) : createCommentVNode("v-if", true)], 16, _hoisted_1$p);
+}
+var pc$c = /* @__PURE__ */ _export_sfc$q(_sfc_main$B, [["render", _sfc_render$r]]);
+const index$l = "";
+function _createForOfIteratorHelperLoose$o(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$o(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$o(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$o(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$o(o2, minLen);
+}
+function _arrayLikeToArray$o(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$p = function _export_sfc215(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$o(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$A = defineComponent({
+  props: [].concat(props, ["modelValue", "text", "events", "label", "indeterminate", "disabled", "checked", "name", "trueLabel", "falseLabel", "id", "iconPosition"]),
+  emits: ["update:modelValue", "change", "complete", "click"],
+  setup: function setup$119(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$e,
+      api: api$e
+    });
+  }
+});
+var _hoisted_1$o = ["id"];
+var _hoisted_2$k = ["tabindex", "role", "aria-checked"];
+var _hoisted_3$h = /* @__PURE__ */ createBaseVNode(
+  "span",
+  {
+    class: "tiny-mobile-checkbox__inner"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$d = ["aria-hidden", "name", "disabled", "true-value", "false-value"];
+var _hoisted_5$b = ["aria-hidden", "disabled", "value", "name"];
+var _hoisted_6$a = {
+  key: 0,
+  class: "tiny-mobile-checkbox__label"
+};
+function _sfc_render$q(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("label", {
+    class: normalizeClass(["tiny-mobile-checkbox", {
+      "is-disabled": _ctx2.state.isDisabled,
+      "is-checked": _ctx2.state.isChecked,
+      "is-indeterminate": _ctx2.indeterminate,
+      "is-focus": _ctx2.state.focus,
+      "icon-position-top": _ctx2.state.iconPosition === "top"
+    }]),
+    id: _ctx2.id
+  }, [createBaseVNode("span", {
+    class: "tiny-mobile-checkbox__input",
+    tabindex: _ctx2.indeterminate ? 0 : false,
+    role: _ctx2.indeterminate ? "checkbox" : false,
+    "aria-checked": _ctx2.indeterminate ? "mixed" : false
+  }, [_hoisted_3$h, _ctx2.trueLabel || _ctx2.falseLabel ? withDirectives((openBlock(), createElementBlock("input", {
+    key: 0,
+    class: "tiny-mobile-checkbox__original",
+    type: "checkbox",
+    "aria-hidden": _ctx2.indeterminate ? "true" : "false",
+    name: _ctx2.name,
+    disabled: _ctx2.state.isDisabled,
+    "true-value": _ctx2.trueLabel,
+    "false-value": _ctx2.falseLabel,
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[1] || (_cache[1] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[3] || (_cache[3] = function($event) {
+      return _ctx2.state.focus = false;
+    })
+  }, null, 40, _hoisted_4$d)), [[vModelCheckbox, _ctx2.state.model]]) : withDirectives((openBlock(), createElementBlock("input", {
+    key: 1,
+    class: "tiny-mobile-checkbox__original",
+    type: "checkbox",
+    "aria-hidden": _ctx2.indeterminate ? "true" : "false",
+    disabled: _ctx2.state.isDisabled,
+    value: _ctx2.label,
+    name: _ctx2.name,
+    "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[5] || (_cache[5] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[6] || (_cache[6] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[7] || (_cache[7] = function($event) {
+      return _ctx2.state.focus = false;
+    })
+  }, null, 40, _hoisted_5$b)), [[vModelCheckbox, _ctx2.state.model]])], 8, _hoisted_2$k), _ctx2.slots.default && _ctx2.slots.default() || _ctx2.state.isShowText ? (openBlock(), createElementBlock("span", _hoisted_6$a, [renderSlot(_ctx2.$slots, "default", {}, function() {
+    return [createTextVNode(
+      toDisplayString(_ctx2.state.showText),
+      1
+      /* TEXT */
+    )];
+  })])) : createCommentVNode("v-if", true)], 10, _hoisted_1$o);
+}
+var mobile$5 = /* @__PURE__ */ _export_sfc$p(_sfc_main$A, [["render", _sfc_render$q]]);
+function _createForOfIteratorHelperLoose$n(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$n(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$n(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$n(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$n(o2, minLen);
+}
+function _arrayLikeToArray$n(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$o = function _export_sfc216(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$n(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$z = defineComponent({
+  inheritAttrs: false,
+  emits: ["update:modelValue", "change", "complete"],
+  props: [].concat(props, ["modelValue", "text", "events", "label", "indeterminate", "disabled", "checked", "name", "trueLabel", "falseLabel", "id", "controls", "size", "border", "validateEvent", "customClass", "displayOnly"]),
+  components: {
+    IconHalfselect: index$X(),
+    IconCheckedSur: index$19(),
+    IconCheck: index$1a()
+  },
+  setup: function setup$120(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$e,
+      api: api$e
+    });
+  }
+});
+var _hoisted_1$n = ["id"];
+var _hoisted_2$j = ["role", "aria-checked"];
+var _hoisted_3$g = {
+  tabindex: "1"
+};
+var _hoisted_4$c = ["aria-hidden", "name", "disabled", "true-value", "false-value"];
+var _hoisted_5$a = ["aria-hidden", "disabled", "value", "name"];
+var _hoisted_6$9 = {
+  key: 0,
+  class: "text-color-text-primary cursor-default"
+};
+function _sfc_render$p(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_check = resolveComponent("icon-check");
+  var _component_icon_halfselect = resolveComponent("icon-halfselect");
+  var _component_icon_checked_sur = resolveComponent("icon-checked-sur");
+  return openBlock(), createElementBlock("label", mergeProps({
+    "data-tag": "tiny-checkbox",
+    class: _ctx2.m("inline-flex sm:items-center text-sm leading-5 cursor-pointer", _ctx2.state.size !== "mini" ? "sm:text-sm" : "sm:text-xs", {
+      "sm:py-2": _ctx2.state.vertical
+    }, _ctx2.state.isDisplayOnly || _ctx2.state.isGroupDisplayOnly ? _ctx2.state.isChecked ? "cursor-default after:content-[';'] after:inline-block last:after:content-['']" : "hidden" : "", _ctx2.state.showLabel ? "inline-flex" : "", _ctx2.customClass),
+    id: _ctx2.id,
+    tabindex: "-1"
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style", "onClick"], true)), [createBaseVNode("span", {
+    class: normalizeClass(["relative w-7 h-7 mr-2 sm:mr-0 sm:p-0", _ctx2.state.size === "medium" ? "sm:w-6 sm:h-6" : "sm:h-4 sm:w-4", _ctx2.state.isDisplayOnly || _ctx2.state.isGroupDisplayOnly ? "hidden" : ""]),
+    role: _ctx2.indeterminate ? "checkbox" : false,
+    "aria-checked": _ctx2.indeterminate ? "mixed" : false
+  }, [createBaseVNode("span", _hoisted_3$g, [createVNode$1(_component_icon_check, {
+    "data-tag": "icon-check",
+    class: normalizeClass(_ctx2.m("w-5 h-5 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-0", _ctx2.state.size === "medium" ? "sm:w-6 sm:h-6" : "sm:w-4 sm:h-4", _ctx2.state.isDisabled ? "[&_path:nth-of-type(2)]:fill-color-icon-disabled [&_path:nth-of-type(1)]:fill-color-bg-3 cursor-not-allowed" : "[&_path:nth-of-type(1)]:fill-color-icon-inverse [&_path:nth-of-type(2)]:fill-color-none-hover"))
+  }, null, 8, ["class"]), createVNode$1(_component_icon_halfselect, {
+    "data-tag": "icon-halfselect",
+    class: normalizeClass(_ctx2.m("w-5 h-5 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all [&_path:nth-of-type(2)]:fill-color-icon-inverse", _ctx2.indeterminate ? "opacity-100 scale-100 z-10" : "opacity-0 scale-0 z-0", _ctx2.state.isDisabled ? "[&_path:nth-of-type(1)]:fill-color-brand-disabled cursor-not-allowed" : "[&_path:nth-of-type(1)]:fill-color-brand [&_path:nth-of-type(1)]:shadow-xsm", _ctx2.state.size === "medium" ? "sm:w-6 sm:h-6" : "sm:w-4 sm:h-4"))
+  }, null, 8, ["class"]), createVNode$1(_component_icon_checked_sur, {
+    "data-tag": "icon-checked-sur",
+    class: normalizeClass(_ctx2.m("w-5 h-5", _ctx2.state.size === "medium" ? "sm:w-6 sm:h-6" : "sm:w-4 sm:h-4", "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all [&_path:nth-of-type(2)]:fill-color-icon-inverse", _ctx2.state.isChecked && !_ctx2.indeterminate ? "opacity-100 scale-100 z-10" : "opacity-0 scale-0 z-0", _ctx2.state.isDisabled ? "[&_path:nth-of-type(1)]:fill-color-brand-disabled cursor-not-allowed" : "[&_path:nth-of-type(1)]:fill-color-brand [&_path:nth-of-type(2)]:shadow-xsm"))
+  }, null, 8, ["class"])]), _ctx2.trueLabel || _ctx2.falseLabel ? withDirectives((openBlock(), createElementBlock("input", {
+    key: 0,
+    class: "absolute left-0 right-0 top-0 bottom-0 w-0 h-0 -z-10 opacity-0",
+    type: "checkbox",
+    "aria-hidden": _ctx2.indeterminate ? "true" : "false",
+    name: _ctx2.name,
+    disabled: _ctx2.state.inputDisabled,
+    "true-value": _ctx2.trueLabel,
+    "false-value": _ctx2.falseLabel,
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[1] || (_cache[1] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[3] || (_cache[3] = function($event) {
+      return _ctx2.state.focus = false;
+    }),
+    onClick: _cache[4] || (_cache[4] = withModifiers(function() {
+    }, ["stop"]))
+  }, null, 40, _hoisted_4$c)), [[vModelCheckbox, _ctx2.state.model]]) : withDirectives((openBlock(), createElementBlock("input", {
+    key: 1,
+    class: "absolute left-0 right-0 top-0 bottom-0 w-0 h-0 -z-10 opacity-0",
+    type: "checkbox",
+    "aria-hidden": _ctx2.indeterminate ? "true" : "false",
+    disabled: _ctx2.state.inputDisabled,
+    value: _ctx2.label,
+    name: _ctx2.name,
+    "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[6] || (_cache[6] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[7] || (_cache[7] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[8] || (_cache[8] = function($event) {
+      return _ctx2.state.focus = false;
+    }),
+    onClick: _cache[9] || (_cache[9] = withModifiers(function() {
+    }, ["stop"]))
+  }, null, 40, _hoisted_5$a)), [[vModelCheckbox, _ctx2.state.model]])], 10, _hoisted_2$j), _ctx2.slots.default && _ctx2.slots.default() || _ctx2.text || _ctx2.label ? (openBlock(), createElementBlock(
+    "span",
+    {
+      key: 0,
+      ref: "label",
+      class: normalizeClass(_ctx2.m("py-0 pl-0 sm:pl-2 mr-5 flex-auto leading-7 sm:leading-none", _ctx2.state.isDisabled ? "cursor-not-allowed text-color-text-secondary" : "text-color-text-primary", _ctx2.state.isDisplayOnly || _ctx2.state.isGroupDisplayOnly ? "p-0 sm:p-0 m-0 text-color-text-primary cursor-default" : ""))
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.text || _ctx2.label),
+        1
+        /* TEXT */
+      )];
+    })],
+    2
+    /* CLASS */
+  )) : (openBlock(), createElementBlock(
+    Fragment,
+    {
+      key: 1
+    },
+    [_ctx2.state.isDisplayOnly ? (openBlock(), createElementBlock(
+      "span",
+      _hoisted_6$9,
+      toDisplayString(_ctx2.state.displayLabel),
+      1
+      /* TEXT */
+    )) : createCommentVNode("v-if", true)],
+    64
+    /* STABLE_FRAGMENT */
+  ))], 16, _hoisted_1$n);
+}
+var mobileFirst$5 = /* @__PURE__ */ _export_sfc$o(_sfc_main$z, [["render", _sfc_render$p]]);
+function _extends$g() {
+  _extends$g = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$g.apply(this, arguments);
+}
+var template$d = function template27(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$c;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$5;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$5;
+  }
+  return pc$c;
+};
+var $constants$b = {
+  FORM_ITEM: "FormItem",
+  FORM_CHANGE: "form.change",
+  CHECKBOX: $prefix + "Checkbox",
+  CHECKBOX_GROUP: "CheckboxGroup"
+};
+var checkboxProps = _extends$g({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default30() {
+      return $constants$b;
+    }
+  },
+  modelValue: {
+    type: [String, Number, Boolean]
+  },
+  label: {
+    type: [String, Number, Boolean],
+    default: ""
+  },
+  indeterminate: Boolean,
+  disabled: Boolean,
+  checked: Boolean,
+  name: String,
+  trueLabel: [String, Number],
+  falseLabel: [String, Number],
+  /*
+   * 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系
+   */
+  id: String,
+  /*
+   * 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系
+   */
+  controls: {
+    type: String,
+    default: ""
+  },
+  border: Boolean,
+  size: String,
+  text: String,
+  customClass: [String, Object, Array],
+  validateEvent: {
+    type: Boolean,
+    default: true
+  },
+  events: {
+    type: Object,
+    default: function _default210() {
+      return {};
+    }
+  },
+  displayOnly: {
+    type: Boolean,
+    default: false
+  },
+  iconPosition: String,
+  shape: {
+    type: String,
+    default: ""
+  },
+  tabindex: {
+    type: String,
+    default: "0"
+  }
+});
+var Checkbox = defineComponent({
+  name: $prefix + "Checkbox",
+  props: checkboxProps,
+  setup: function setup9(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$d
+    });
+  }
+});
+var version$g = "3.16.0";
+Checkbox.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Checkbox.install = function(Vue) {
+  Vue.component(Checkbox.name, Checkbox);
+};
+Checkbox.version = version$g;
+const DragClass = "is__drag";
+let timer;
+const emitZoom = ({ params: params2, parent: parent3, emit, event: event2 }) => {
+  let { $listeners, events = {} } = parent3;
+  if ($listeners.zoom) {
+    emit("zoom", params2, event2);
+  } else if (events.zoom) {
+    events.zoom.call(parent3, params2, event2);
+  }
+};
+const MsgQueue = [];
+const computedIsMsg = () => (props2) => props2.type === "message";
+const computedBoxStyle = ({ props: props2, isMobileFirstMode }) => () => {
+  if (isMobileFirstMode) {
+    return {};
+  }
+  let width = "";
+  let height = "";
+  if (props2.width) {
+    width = isNaN(props2.width) ? props2.width : `${props2.width}px`;
+  }
+  if (props2.height) {
+    height = isNaN(props2.height) ? props2.height : `${props2.height}px`;
+  }
+  return { width, height };
+};
+const watchValue = (api2) => (visible) => visible ? api2.open() : api2.close("hide");
+const watchVisible = ({ api: api2, props: props2 }) => (visible) => {
+  if (props2.lockScroll) {
+    visible ? api2.showScrollbar() : api2.hideScrollbar();
+  }
+};
+const created$2 = ({ api: api2, props: props2, state }) => () => {
+  if (props2.modelValue) {
+    api2.open();
+  }
+  state.modalZindex = props2.zIndex || popup_manager_default.nextZIndex();
+};
+const mounted$1 = ({
+  api: api2,
+  parent: parent3,
+  props: props2,
+  isMobileFirstMode,
+  state
+}) => () => {
+  if (!isMobileFirstMode) {
+    let modalBoxElem = api2.getBox();
+    Object.assign(modalBoxElem.style, {
+      width: props2.width ? isNaN(props2.width) ? props2.width : `${props2.width}px` : null,
+      height: props2.height ? isNaN(props2.height) ? props2.height : `${props2.height}px` : null
+    });
+    if (props2.lockScroll && state.visible) {
+      api2.showScrollbar();
+    }
+  } else {
+    on(window, "resize", api2.resetDragStyle);
+  }
+  if (props2.escClosable) {
+    on(document, "keydown", api2.handleGlobalKeydownEvent);
+  }
+  on(window, "hashchange", api2.handleHashChange);
+  document.body.appendChild(parent3.$el);
+};
+const beforeUnmouted = ({ api: api2, parent: parent3, isMobileFirstMode }) => () => {
+  isMobileFirstMode && off(window, "resize", api2.resetDragStyle);
+  off(document, "keydown", api2.handleGlobalKeydownEvent);
+  off(window, "hashchange", api2.handleHashChange);
+  api2.removeMsgQueue();
+  api2.hideScrollbar();
+  if (parent3.$el.parentNode) {
+    parent3.$el.parentNode.removeChild(parent3.$el);
+  }
+};
+const selfClickEvent = ({ api: api2, parent: parent3, props: props2 }) => (event2) => {
+  if (props2.maskClosable && event2.target === parent3.$el) {
+    api2.close("mask");
+  }
+};
+const mouseEnterEvent = () => () => {
+  clearTimeout(timer);
+};
+const mouseLeaveEvent = ({ api: api2, props: props2 }) => () => {
+  api2.addMsgQueue();
+  timer = window.setTimeout(
+    () => {
+      api2.close("close");
+    },
+    parseFloat(props2.duration)
+  );
+};
+const updateZindex = ({ state, props: props2 }) => () => {
+  state.modalZindex = props2.zIndex || popup_manager_default.nextZIndex();
+};
+const handleEvent = ({
+  api: api2,
+  emit,
+  parent: parent3,
+  props: props2,
+  isMobileFirstMode
+}) => (type2, event2, options2) => {
+  if (~["close", "confirm", "cancel"].indexOf(type2) && typeof props2.beforeClose === "function" && props2.beforeClose(type2) === false) {
+    return;
+  }
+  const { events = {} } = parent3;
+  const params2 = {
+    type: type2,
+    $modal: parent3
+  };
+  if (isMobileFirstMode && type2 === "confirm") {
+    params2.options = options2;
+  }
+  emit(type2, params2, event2);
+  events[type2] && events[type2].call(parent3, params2);
+  api2.close(type2);
+};
+const closeEvent = (api2) => (event2) => {
+  api2.handleEvent("close", event2);
+};
+const confirmEvent = ({ api: api2, state }) => (event2) => {
+  api2.handleEvent("confirm", event2, state.options);
+};
+const cancelEvent = (api2) => (event2) => {
+  api2.handleEvent("cancel", event2);
+};
+const open = ({
+  api: api2,
+  emit,
+  nextTick: nextTick2,
+  parent: parent3,
+  props: props2,
+  state,
+  isMobileFirstMode
+}) => () => {
+  let { $listeners, events = {} } = parent3;
+  if (!state.visible) {
+    let params2 = { type: "show", $modal: parent3 };
+    state.visible = true;
+    state.contentVisible = false;
+    api2.updateZindex();
+    if (!events.show) {
+      emit("update:modelValue", true);
+      emit("show", params2);
+    }
+    setTimeout(() => {
+      state.contentVisible = true;
+      if (!$listeners.show && events.show) {
+        nextTick2(() => {
+          events.show.call(parent3, params2);
+        });
+      }
+    }, 10);
+    if (state.isMsg) {
+      api2.addMsgQueue();
+      timer = window.setTimeout(
+        () => {
+          api2.close(params2.type);
+        },
+        parseFloat(props2.duration)
+      );
+    } else {
+      nextTick2(() => {
+        if (!isMobileFirstMode) {
+          let modalBoxElem = api2.getBox();
+          const viewportWindow = getViewportWindow();
+          let clientVisibleWidth = viewportWindow.document.documentElement.clientWidth || viewportWindow.document.body.clientWidth;
+          let clientVisibleHeight = viewportWindow.document.documentElement.clientHeight || viewportWindow.document.body.clientHeight;
+          let width = isNaN(props2.width) ? props2.width : `${props2.width}px`;
+          if (width) {
+            modalBoxElem.style.left = "calc((100vw - " + width + ") / 2)";
+          } else {
+            modalBoxElem.style.left = `${clientVisibleWidth / 2 - modalBoxElem.offsetWidth / 2}px`;
+          }
+          if (modalBoxElem.offsetHeight + modalBoxElem.offsetTop + props2.marginSize > clientVisibleHeight) {
+            modalBoxElem.style.top = `${props2.marginSize}px`;
+          }
+        }
+        if (props2.fullscreen) {
+          nextTick2(api2.maximize);
+        }
+      });
+    }
+  }
+};
+const addMsgQueue = ({ api: api2, parent: parent3 }) => () => {
+  if (!~MsgQueue.indexOf(parent3)) {
+    MsgQueue.push(parent3);
+  }
+  api2.updateStyle();
+};
+const removeMsgQueue = ({ api: api2, parent: parent3 }) => () => {
+  const index3 = MsgQueue.indexOf(parent3);
+  if (~index3) {
+    MsgQueue.splice(index3, 1);
+  }
+  api2.updateStyle();
+};
+const updateStyle$1 = ({ nextTick: nextTick2, props: props2 }) => () => {
+  nextTick2(() => {
+    let offsetTop = 0;
+    let distance2 = props2.top;
+    MsgQueue.forEach((comp) => {
+      offsetTop += parseFloat(distance2);
+      comp.state.modalTop = offsetTop;
+      const modalBox = comp.$refs.modalBox;
+      offsetTop += modalBox.clientHeight;
+      distance2 = 15;
+    });
+  });
+};
+const close = ({ emit, parent: parent3, props: props2, state }) => (type2) => {
+  if (!~["close", "confirm", "cancel"].indexOf(type2) && typeof props2.beforeClose === "function" && props2.beforeClose(type2) === false) {
+    return;
+  }
+  let { events = {} } = parent3;
+  state.emitter.emit("boxclose", props2.isFormReset);
+  if (state.visible) {
+    state.contentVisible = false;
+    setTimeout(() => {
+      state.visible = false;
+      let params2 = { type: type2, $modal: parent3 };
+      if (events.hide) {
+        events.hide.call(parent3, params2);
+      } else {
+        emit("update:modelValue", false);
+        emit("hide", params2);
+      }
+    }, 200);
+  }
+};
+const handleGlobalKeydownEvent = (api2) => (event2) => {
+  if (event2.keyCode === KEY_CODE.Escape) {
+    api2.close("esc");
+  }
+};
+const handleHashChange = (api2) => () => {
+  api2.close("hide");
+};
+const getBox = ({ vm }) => () => vm.$refs.modalBox;
+const maximize = ({
+  api: api2,
+  nextTick: nextTick2,
+  props: props2,
+  state,
+  isMobileFirstMode
+}) => () => {
+  return nextTick2().then(() => {
+    if (!state.zoomLocat) {
+      let marginSize = props2.marginSize;
+      let modalBoxElement = api2.getBox();
+      let { visibleHeight, visibleWidth } = getDomNode();
+      state.zoomLocat = {
+        top: modalBoxElement.offsetTop,
+        left: modalBoxElement.offsetLeft,
+        width: modalBoxElement.clientWidth,
+        height: modalBoxElement.clientHeight
+      };
+      if (!isMobileFirstMode) {
+        Object.assign(modalBoxElement.style, {
+          width: `${visibleWidth - marginSize * 2}px`,
+          height: `${visibleHeight - marginSize * 2}px`,
+          top: `${marginSize}px`,
+          left: `${marginSize}px`
+        });
+      }
+      state.emitter.emit("boxdrag");
+    }
+  });
+};
+const revert = ({
+  api: api2,
+  nextTick: nextTick2,
+  state,
+  isMobileFirstMode
+}) => () => {
+  return nextTick2().then(() => {
+    let zoomLocat = state.zoomLocat;
+    if (zoomLocat) {
+      let modalBoxElement = api2.getBox();
+      state.zoomLocat = null;
+      if (!isMobileFirstMode) {
+        Object.assign(modalBoxElement.style, {
+          width: `${zoomLocat.width}px`,
+          height: `${zoomLocat.height}px`,
+          top: `${zoomLocat.top}px`,
+          left: `${zoomLocat.left}px`
+        });
+      }
+      state.emitter.emit("boxdrag");
+    }
+  });
+};
+const toggleZoomEvent = ({
+  api: api2,
+  emit,
+  parent: parent3,
+  state,
+  isMobileFirstMode
+}) => (event2) => {
+  let params2 = { type: state.zoomLocat ? "min" : "max", $modal: parent3 };
+  const callback = state.zoomLocat ? api2.revert : api2.maximize;
+  isMobileFirstMode && api2.resetDragStyle();
+  return callback().then(() => {
+    emitZoom({ params: params2, parent: parent3, emit, event: event2 });
+  });
+};
+function getEventTargetNode(event2, container, queryCls) {
+  let targetElem;
+  let target = event2.target;
+  while (target && target.nodeType && target !== document) {
+    if (queryCls && hasClass(target, queryCls)) {
+      targetElem = target;
+    } else if (target === container) {
+      return {
+        flag: queryCls ? !!targetElem : true,
+        container,
+        targetElem
+      };
+    }
+    target = target.parentNode;
+  }
+  return { flag: false };
+}
+const mousedownEvent = ({
+  api: api2,
+  nextTick: nextTick2,
+  props: props2,
+  state,
+  emit,
+  isMobileFirstMode
+}) => (event2) => {
+  let modalBoxElement = api2.getBox();
+  if (!state.zoomLocat && event2.button === 0 && !getEventTargetNode(event2, modalBoxElement, "trigger__btn").flag) {
+    event2.preventDefault();
+    let demMousemove = document.onmousemove;
+    let demMouseup = document.onmouseup;
+    let disX = event2.clientX - modalBoxElement.offsetLeft;
+    let disY = event2.clientY - modalBoxElement.offsetTop;
+    let { visibleHeight, visibleWidth } = getDomNode();
+    document.onmousemove = (event22) => {
+      event22.preventDefault();
+      state.emitter.emit("boxdrag");
+      let offsetWidth = modalBoxElement.offsetWidth;
+      let offsetHeight = modalBoxElement.offsetHeight;
+      let left = event22.clientX - disX;
+      let top = event22.clientY - disY;
+      let minX, maxX, minY, maxY;
+      if (isMobileFirstMode) {
+        minX = offsetWidth / 2 + props2.marginSize;
+        maxX = visibleWidth - offsetWidth / 2 - props2.marginSize;
+        minY = offsetHeight / 2 + props2.marginSize;
+        maxY = visibleHeight - offsetHeight / 2 - props2.marginSize;
+      } else {
+        minX = props2.marginSize;
+        maxX = visibleWidth - offsetWidth - props2.marginSize;
+        minY = props2.marginSize;
+        maxY = visibleHeight - offsetHeight - props2.marginSize;
+      }
+      if (left < minX) {
+        left = minX;
+      }
+      if (left > maxX) {
+        left = maxX;
+      }
+      if (top < minY) {
+        top = minY;
+      }
+      if (top > maxY) {
+        top = maxY;
+      }
+      modalBoxElement.style.left = `${left}px`;
+      modalBoxElement.style.top = `${top}px`;
+      addClass(modalBoxElement, DragClass);
+      emit("custom-mousemove", event22);
+    };
+    document.onmouseup = (event22) => {
+      document.onmousemove = demMousemove;
+      document.onmouseup = demMouseup;
+      nextTick2(() => {
+        removeClass(modalBoxElement, DragClass);
+      });
+      emit("custom-mouseup", event22);
+    };
+    emit("custom-mousedown", event2);
+  }
+};
+const computeLeft = ({
+  width,
+  offsetWidth,
+  x: x2,
+  minWidth,
+  temp,
+  offsetLeft,
+  marginSize,
+  left
+}) => {
+  width = offsetWidth - x2;
+  width = width < minWidth ? minWidth : width;
+  temp = offsetLeft + offsetWidth - marginSize;
+  width = width > temp ? temp : width;
+  left = offsetLeft + offsetWidth - width;
+  return { width, left };
+};
+const computeTop = ({
+  height,
+  offsetHeight,
+  y: y2,
+  minHeight,
+  temp,
+  offsetTop,
+  marginSize,
+  top
+}) => {
+  height = offsetHeight - y2;
+  height = height < minHeight ? minHeight : height;
+  temp = offsetTop + offsetHeight - marginSize;
+  height = height > temp ? temp : height;
+  top = offsetTop + offsetHeight - height;
+  return { height, top };
+};
+const computeRight = ({
+  width,
+  offsetWidth,
+  x: x2,
+  minWidth,
+  temp,
+  visibleWidth,
+  offsetLeft,
+  marginSize
+}) => {
+  width = offsetWidth + x2;
+  width = width < minWidth ? minWidth : width;
+  temp = visibleWidth - offsetLeft - marginSize;
+  width = width > temp ? temp : width;
+  return { width };
+};
+const computeBottom = ({
+  height,
+  offsetHeight,
+  y: y2,
+  minHeight,
+  temp,
+  visibleHeight,
+  offsetTop,
+  marginSize
+}) => {
+  height = offsetHeight + y2;
+  height = height < minHeight ? minHeight : height;
+  temp = visibleHeight - offsetTop - marginSize;
+  height = height > temp ? temp : height;
+  return { height };
+};
+const updateModalBox = ({
+  ret: { width, left, height, top },
+  modalBoxElem: modalBoxElement
+}) => {
+  if (width) {
+    modalBoxElement.style.width = `${width}px`;
+  }
+  if (left) {
+    modalBoxElement.style.left = `${left}px`;
+  }
+  if (height) {
+    modalBoxElement.style.height = `${height}px`;
+  }
+  if (top) {
+    modalBoxElement.style.top = `${top}px`;
+  }
+};
+const updateWl = ({
+  width,
+  offsetWidth,
+  x: x2,
+  minWidth,
+  temp,
+  offsetLeft,
+  marginSize,
+  left,
+  modalBoxElem
+}) => {
+  updateModalBox({
+    ret: computeLeft({ width, offsetWidth, x: x2, minWidth, temp, offsetLeft, marginSize, left }),
+    modalBoxElem
+  });
+};
+const updateWr = ({
+  width,
+  offsetWidth,
+  x: x2,
+  minWidth,
+  temp,
+  visibleWidth,
+  offsetLeft,
+  marginSize,
+  modalBoxElem
+}) => {
+  updateModalBox({
+    ret: computeRight({ width, offsetWidth, x: x2, minWidth, temp, visibleWidth, offsetLeft, marginSize }),
+    modalBoxElem
+  });
+};
+const updateSt = ({
+  height,
+  offsetHeight,
+  y: y2,
+  minHeight,
+  temp,
+  offsetTop,
+  marginSize,
+  top,
+  modalBoxElem
+}) => {
+  updateModalBox({
+    ret: computeTop({ height, offsetHeight, y: y2, minHeight, temp, offsetTop, marginSize, top }),
+    modalBoxElem
+  });
+};
+const updateSb = ({
+  height,
+  offsetHeight,
+  y: y2,
+  minHeight,
+  temp,
+  visibleHeight,
+  offsetTop,
+  marginSize,
+  modalBoxElem
+}) => {
+  updateModalBox({
+    ret: computeBottom({ height, offsetHeight, y: y2, minHeight, temp, visibleHeight, offsetTop, marginSize }),
+    modalBoxElem
+  });
+};
+const setModalBoxStyle = ({ params: params2, delta: { x: x2, y: y2 } }) => {
+  const { visibleHeight, visibleWidth, modalBoxElem, type: type2, props: props2 } = params2;
+  const { offsetWidth, offsetHeight, offsetLeft, offsetTop } = modalBoxElem;
+  const { minWidth, minHeight, marginSize } = props2;
+  const [width, left, temp, height, top] = [0, 0, 0, 0, 0];
+  switch (type2) {
+    case "wl":
+      updateWl({ offsetWidth, width, minWidth, x: x2, offsetLeft, temp, marginSize, left, modalBoxElem });
+      break;
+    case "wr":
+      updateWr({ width, offsetWidth, x: x2, minWidth, temp, visibleWidth, offsetLeft, marginSize, modalBoxElem });
+      break;
+    case "st":
+      updateSt({ height, offsetHeight, y: y2, minHeight, temp, offsetTop, marginSize, top, modalBoxElem });
+      break;
+    case "sb":
+      updateSb({ height, offsetHeight, y: y2, minHeight, temp, visibleHeight, offsetTop, marginSize, modalBoxElem });
+      break;
+    case "swst":
+      updateWl({ width, offsetWidth, x: x2, minWidth, temp, offsetLeft, marginSize, left, modalBoxElem });
+      updateSt({ height, offsetHeight, y: y2, minHeight, temp, offsetTop, marginSize, top, modalBoxElem });
+      break;
+    case "sest":
+      updateWr({ offsetWidth, width, x: x2, temp, minWidth, marginSize, visibleWidth, offsetLeft, modalBoxElem });
+      updateSt({ height, offsetHeight, y: y2, minHeight, temp, offsetTop, marginSize, top, modalBoxElem });
+      break;
+    case "swlb":
+      updateWl({ width, offsetWidth, minWidth, x: x2, temp, marginSize, offsetLeft, modalBoxElem, left });
+      updateSb({ height, offsetHeight, y: y2, minHeight, temp, visibleHeight, offsetTop, marginSize, modalBoxElem });
+      break;
+    case "selb":
+      updateWr({ width, offsetWidth, minWidth, x: x2, visibleWidth, offsetLeft, marginSize, temp, modalBoxElem });
+      updateSb({ height, offsetHeight, y: y2, minHeight, temp, visibleHeight, offsetTop, marginSize, modalBoxElem });
+      break;
+  }
+};
+const updateDelta = ({ event: event2, delta, state }) => {
+  if (state.prevEvent) {
+    delta.x += event2.screenX - state.prevEvent.screenX;
+    delta.y += event2.screenY - state.prevEvent.screenY;
+  }
+  state.prevEvent = event2;
+};
+function _findFormComponent(vm, formList) {
+  const children3 = vm.$children;
+  if (children3 && children3.length === 0) {
+    return;
+  }
+  children3.forEach((child) => {
+    const tag = child.$options.componentName;
+    if (/^Form$/.test(tag)) {
+      formList.push(child);
+    }
+    _findFormComponent(child, formList);
+  });
+}
+function findFormComponent(vm) {
+  const formList = [];
+  _findFormComponent(vm, formList);
+  return formList;
+}
+const updateFormTip = (parent3) => {
+  const formList = findFormComponent(parent3);
+  if (formList.length > 0) {
+    formList.forEach((form2) => {
+      form2.updateTip();
+    });
+  }
+};
+const dragEvent = ({ api: api2, emit, parent: parent3, props: props2, state }) => (event2) => {
+  var _a2;
+  event2.preventDefault();
+  const delta = { x: 0, y: 0 };
+  const { visibleHeight, visibleWidth } = getDomNode();
+  const modalBoxElem = api2.getBox();
+  const demMousemove = document.onmousemove;
+  const demMouseup = document.onmouseup;
+  const params2 = {
+    props: props2,
+    offsetTop: modalBoxElem.offsetTop,
+    offsetLeft: modalBoxElem.offsetLeft,
+    visibleWidth,
+    modalBoxElem,
+    visibleHeight,
+    disX: event2.clientX,
+    disY: event2.clientY,
+    type: (_a2 = event2.target) == null ? void 0 : _a2.dataset.type
+  };
+  document.onmousemove = (event22) => {
+    updateFormTip(parent3);
+    updateDelta({ event: event22, delta, state });
+    setModalBoxStyle({ params: params2, delta });
+    delta.x = delta.y = 0;
+    addClass(modalBoxElem, DragClass);
+    emitZoom({
+      params: { type: "resize", $modal: parent3 },
+      parent: parent3,
+      emit,
+      event: event22
+    });
+  };
+  document.onmouseup = () => {
+    state.zoomLocat = null;
+    document.onmousemove = demMousemove;
+    document.onmouseup = demMouseup;
+    setTimeout(() => {
+      removeClass(modalBoxElem, DragClass);
+      state.prevEvent = null;
+    }, 50);
+  };
+};
+const resetDragStyle = (api2) => () => {
+  const modalBoxElement = api2.getBox();
+  modalBoxElement.style.left = "";
+  modalBoxElement.style.top = "";
+};
+const showScrollbar = (lockScrollClass) => () => {
+  addClass(document.body, lockScrollClass);
+};
+const hideScrollbar = (lockScrollClass) => () => {
+  removeClass(document.body, lockScrollClass);
+};
+const api$d = [
+  "state",
+  "dragEvent",
+  "mousedownEvent",
+  "toggleZoomEvent",
+  "revert",
+  "maximize",
+  "getBox",
+  "close",
+  "updateStyle",
+  "selfClickEvent",
+  "mouseEnterEvent",
+  "mouseLeaveEvent",
+  "updateZindex",
+  "closeEvent",
+  "confirmEvent",
+  "cancelEvent",
+  "open",
+  "beforeUnmouted",
+  "resetDragStyle"
+];
+const renderless$d = (props2, { computed: computed2, onMounted: onMounted2, onBeforeUnmount: onBeforeUnmount2, reactive, watch: watch2 }, { vm, emit, emitter: emitter3, nextTick: nextTick2, broadcast, vm: parent3, constants, mode }, { isMobileFirstMode }) => {
+  const api2 = {};
+  const lockScrollClass = constants.SCROLL_LOCK_CLASS(mode);
+  const state = reactive({
+    emitter: emitter3(),
+    visible: false,
+    contentVisible: false,
+    cumsumZindex: 0,
+    modalTop: 0,
+    modalZindex: 0,
+    zoomLocat: null,
+    isMsg: computed2(() => api2.computedIsMsg(props2)),
+    prevEvent: null,
+    options: [],
+    theme: props2.tiny_theme,
+    boxStyle: computed2(() => api2.computedBoxStyle())
+  });
+  Object.assign(api2, {
+    state,
+    broadcast,
+    computedIsMsg: computedIsMsg(),
+    updateStyle: updateStyle$1({ nextTick: nextTick2, props: props2 }),
+    getBox: getBox({ vm }),
+    watchValue: watchValue(api2),
+    created: created$2({ api: api2, props: props2, state }),
+    mounted: mounted$1({ api: api2, parent: parent3, props: props2, isMobileFirstMode, state }),
+    beforeUnmouted: beforeUnmouted({ api: api2, parent: parent3, isMobileFirstMode }),
+    selfClickEvent: selfClickEvent({ api: api2, parent: parent3, props: props2 }),
+    mouseEnterEvent: mouseEnterEvent(),
+    mouseLeaveEvent: mouseLeaveEvent({ api: api2, props: props2 }),
+    updateZindex: updateZindex({ state, props: props2 }),
+    handleEvent: handleEvent({ api: api2, emit, parent: parent3, props: props2, isMobileFirstMode }),
+    closeEvent: closeEvent(api2),
+    confirmEvent: confirmEvent({ api: api2, state }),
+    cancelEvent: cancelEvent(api2),
+    open: open({ api: api2, emit, nextTick: nextTick2, parent: parent3, props: props2, state, isMobileFirstMode }),
+    addMsgQueue: addMsgQueue({ api: api2, parent: parent3 }),
+    removeMsgQueue: removeMsgQueue({ api: api2, parent: parent3 }),
+    close: close({ emit, parent: parent3, props: props2, state }),
+    handleGlobalKeydownEvent: handleGlobalKeydownEvent(api2),
+    handleHashChange: handleHashChange(api2),
+    maximize: maximize({ api: api2, nextTick: nextTick2, props: props2, state, isMobileFirstMode }),
+    revert: revert({ api: api2, nextTick: nextTick2, state, isMobileFirstMode }),
+    toggleZoomEvent: toggleZoomEvent({ api: api2, emit, parent: parent3, state, isMobileFirstMode }),
+    mousedownEvent: mousedownEvent({ api: api2, nextTick: nextTick2, props: props2, state, emit, isMobileFirstMode }),
+    dragEvent: dragEvent({ api: api2, emit, parent: parent3, props: props2, state }),
+    resetDragStyle: resetDragStyle(api2),
+    computedBoxStyle: computedBoxStyle({ props: props2, isMobileFirstMode }),
+    watchVisible: watchVisible({ api: api2, props: props2 }),
+    hideScrollbar: hideScrollbar(lockScrollClass),
+    showScrollbar: showScrollbar(lockScrollClass)
+  });
+  watch2(() => props2.modelValue, api2.watchValue);
+  watch2(() => state.visible, api2.watchVisible);
+  api2.created();
+  onMounted2(api2.mounted);
+  onBeforeUnmount2(api2.beforeUnmouted);
+  return api2;
+};
+const index$k = "";
+function _extends$f() {
+  _extends$f = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$f.apply(this, arguments);
+}
+var _sfc_main$y = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["_constants", "animat", "beforeClose", "duration", "escClosable", "events", "fullscreen", "height", "id", "isFormReset", "lockScroll", "lockView", "marginSize", "mask", "maskClosable", "message", "minHeight", "minWidth", "modelValue", "resize", "showFooter", "showHeader", "status", "title", "top", "type", "vSize", "width", "zIndex", "showClose", "messageClosable", "confirmContent", "cancelContent", "confirmBtnProps", "cancelBtnProps", "footerDragable", "tiny_theme", "slots"]),
+  emits: ["update:modelValue", "show", "close", "confirm", "cancel", "hide", "custom-mousedown", "custom-mouseup", "custom-mousemove"],
+  provide: function provide2() {
+    return {
+      dialog: this
+    };
+  },
+  setup: function setup$121(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$d,
+      api: api$d
+    });
+  },
+  render: function render4() {
+    var _ref, _ref2, _ref3, _this = this;
+    var _this$$props = this.$props, $props2 = _this$$props === void 0 ? {} : _this$$props, state = this.state, scopedSlots = this.scopedSlots, vSize = this.vSize, type2 = this.type, resize = this.resize, animat = this.animat, status = this.status, showHeader = this.showHeader, messageClosable = this.messageClosable;
+    var showFooter = this.showFooter, title2 = this.title, message = this.message, lockScroll = this.lockScroll, lockView = this.lockView, mask = this.mask, constants = this._constants, t2 = this.t;
+    var confirmContent = this.confirmContent, cancelContent = this.cancelContent, confirmBtnProps = this.confirmBtnProps, cancelBtnProps = this.cancelBtnProps;
+    var zoomLocat = state.zoomLocat, visible = state.visible, contentVisible = state.contentVisible, modalTop = state.modalTop, isMsg = state.isMsg;
+    var _$props$slots = $props2.slots, propSlots = _$props$slots === void 0 ? {} : _$props$slots;
+    var defaultSlot = scopedSlots.default || propSlots.default;
+    var footerSlot = scopedSlots.footer || propSlots.footer;
+    var footerSlotParams = {
+      $modal: this,
+      beforeClose: this.beforeClose,
+      confirm: this.confirmEvent,
+      cancel: this.cancelEvent
+    };
+    var confirmButtonProps = Object.prototype.toString.call(confirmBtnProps) === "[object Object]" ? confirmBtnProps : {};
+    var cancelButtonProps = Object.prototype.toString.call(cancelBtnProps) === "[object Object]" ? cancelBtnProps : {};
+    var confirmButtonText = (_ref = confirmContent != null ? confirmContent : confirmBtnProps.text) != null ? _ref : t2("ui.button.confirm");
+    var cancelButtonText = (_ref2 = cancelContent != null ? cancelContent : cancelButtonProps.text) != null ? _ref2 : t2("ui.button.cancel");
+    var STATUS_MAPPING_COMPINENT2 = {
+      QUESTION: index$V(),
+      INFO: index$T(),
+      SUCCESS: index$H(),
+      WARNING: index$E(),
+      ERROR: index$13(),
+      LOADING: index$S()
+    };
+    return h("div", {
+      class: ["tiny-modal", "tiny-modal__wrapper", "type__" + type2, (_ref3 = {}, _ref3["size__" + vSize] = vSize, _ref3["status__" + status] = typeof status === "string", _ref3.is__animat = animat, _ref3.lock__scroll = lockScroll, _ref3.lock__view = lockView, _ref3.is__mask = mask, _ref3.is__maximize = zoomLocat, _ref3.is__visible = contentVisible, _ref3.active = visible, _ref3)],
+      style: {
+        zIndex: state.modalZindex,
+        top: modalTop ? modalTop + "px" : null
+      },
+      on: {
+        click: this.selfClickEvent
+      }
+    }, [h("div", {
+      class: "tiny-modal__box",
+      style: state.boxStyle,
+      ref: "modalBox",
+      on: _extends$f({}, type2 === "message" ? {
+        mouseenter: this.mouseEnterEvent,
+        mouseleave: this.mouseLeaveEvent
+      } : {})
+    }, [showHeader ? h("div", {
+      class: ["tiny-modal__header", status && state.theme === "saas" ? "tiny-modal__header-icon" : ""],
+      on: {
+        mousedown: this.mousedownEvent
+      }
+    }, [status && state.theme === "saas" ? h("div", {
+      class: "tiny-modal__status-wrapper"
+    }, [typeof status === "string" ? h(STATUS_MAPPING_COMPINENT2[status.toUpperCase()], {
+      class: [constants.STATUS_MAPPING_CLASSS[status.toUpperCase()]]
+    }) : h(status, {
+      class: ["tiny-modal__status-icon"]
+    })]) : null, h("span", {
+      class: "tiny-modal__title"
+    }, [typeof status === "string" ? h(STATUS_MAPPING_COMPINENT2[status.toUpperCase()], {
+      class: [constants.STATUS_MAPPING_CLASSS[status.toUpperCase()]],
+      style: "display: inline-block; margin-right: 5px;"
+    }) : h(status, {
+      class: ["tiny-modal__status-icon"],
+      style: "display: inline-block; margin-right: 5px;"
+    }), h("span", title2 || t2("ui.alert.title"))]), resize ? h(zoomLocat ? index$Q() : index$Y(), {
+      class: ["tiny-modal__zoom-btn", "trigger__btn"],
+      on: {
+        click: this.toggleZoomEvent
+      }
+    }) : null, h(index$17(), {
+      class: ["tiny-modal__close-btn", "trigger__btn"],
+      on: {
+        click: this.closeEvent
+      }
+    })]) : null, h("div", {
+      class: ["tiny-modal__body", type2 === "message" ? "is-message" : ""]
+    }, [status && state.theme !== "saas" ? h("div", {
+      class: "tiny-modal__status-wrapper"
+    }, [typeof status === "string" && type2 === "message" ? h(STATUS_MAPPING_COMPINENT2[status.toUpperCase()], {
+      class: [constants.STATUS_MAPPING_CLASSS[status.toUpperCase()]]
+    }) : h(status, {
+      class: ["tiny-modal__status-icon"]
+    })]) : null, h("div", {
+      class: "tiny-modal__content"
+    }, defaultSlot ? defaultSlot.call(this, {
+      $modal: this
+    }, h) : [h("div", {
+      class: "tiny-modal__text"
+    }, typeof message === "function" ? message.call(this, h) : [message])]), messageClosable ? h("div", {
+      class: "tiny-modal__close-wrapper"
+    }, h(index$17(), {
+      class: ["tiny-modal__close-btn"],
+      on: {
+        click: this.closeEvent
+      }
+    })) : null]), showFooter ? h("div", {
+      class: ["tiny-modal__footer", this.footerDragable ? "tiny-modal__footer-move" : ""],
+      on: {
+        mousedown: this.footerDragable ? this.mousedownEvent : function() {
+        }
+      }
+    }, footerSlot ? footerSlot.call(this, footerSlotParams, h) : state.theme === "saas" ? [type2 === "confirm" ? h(Button, {
+      on: {
+        click: this.cancelEvent
+      }
+    }, cancelContent || t2("ui.button.cancel")) : null, h(Button, {
+      props: {
+        type: "primary"
+      },
+      on: {
+        click: this.confirmEvent
+      }
+    }, confirmContent || t2("ui.button.confirm"))] : [h(Button, {
+      props: _extends$f({
+        type: "primary"
+      }, confirmButtonProps),
+      on: {
+        click: this.confirmEvent
+      }
+    }, confirmButtonText), type2 === "confirm" ? h(Button, {
+      on: {
+        click: this.cancelEvent
+      },
+      props: _extends$f({}, cancelButtonProps)
+    }, cancelButtonText) : null]) : null, !isMsg && resize ? h("span", {
+      class: "tiny-modal__resize"
+    }, ["wl", "wr", "swst", "sest", "st", "swlb", "selb", "sb"].map(function(type22) {
+      return h("span", {
+        class: type22 + "-resize",
+        attrs: {
+          "data-type": type22
+        },
+        on: {
+          mousedown: _this.dragEvent
+        }
+      });
+    })) : null])]);
+  }
+});
+const index$j = "";
+var _sfc_main$x = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["_constants", "animat", "beforeClose", "duration", "escClosable", "events", "fullscreen", "height", "id", "isFormReset", "lockScroll", "lockView", "marginSize", "mask", "maskClosable", "message", "minHeight", "minWidth", "modelValue", "resize", "showFooter", "showHeader", "title", "top", "type", "vSize", "width", "zIndex"]),
+  components: {
+    Button
+  },
+  provide: function provide3() {
+    return {
+      dialog: this
+    };
+  },
+  setup: function setup$122(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$d,
+      api: api$d
+    });
+  },
+  render: function render5() {
+    var _ref, _this = this;
+    var state = this.state, scopedSlots = this.scopedSlots, vSize = this.vSize, type2 = this.type, resize = this.resize, animat = this.animat, showHeader = this.showHeader;
+    var showFooter = this.showFooter, title2 = this.title, message = this.message, lockScroll = this.lockScroll, lockView = this.lockView, mask = this.mask, t2 = this.t;
+    var zoomLocat = state.zoomLocat, visible = state.visible, contentVisible = state.contentVisible, modalTop = state.modalTop, isMsg = state.isMsg;
+    var defaultSlot = scopedSlots.default;
+    var footerSlot = scopedSlots.footer;
+    return h("div", {
+      class: ["tiny-mobile-modal", "tiny-mobile-modal__wrapper", "type__" + type2, (_ref = {}, _ref["size__" + vSize] = vSize, _ref.is__animat = animat, _ref.lock__scroll = lockScroll, _ref.lock__view = lockView, _ref.is__mask = mask, _ref.is__maximize = zoomLocat, _ref.is__visible = contentVisible, _ref.active = visible, _ref)],
+      style: {
+        zIndex: this.state.modalZindex,
+        top: modalTop ? modalTop + "px" : null
+      },
+      on: {
+        click: this.selfClickEvent
+      }
+    }, [h("div", {
+      class: "tiny-mobile-modal__box",
+      ref: "modalBox"
+    }, [showHeader ? h("div", {
+      class: "tiny-mobile-modal__header",
+      on: {
+        mousedown: this.mousedownEvent
+      }
+    }, [h("span", {
+      class: "tiny-mobile-modal__title"
+    }, title2 || t2("ui.alert.title")), resize ? h(zoomLocat ? index$Q() : index$Y(), {
+      class: ["tiny-mobile-modal__zoom-btn", "trigger__btn"],
+      on: {
+        click: this.toggleZoomEvent
+      }
+    }) : null]) : null, h("div", {
+      class: "tiny-mobile-modal__body"
+    }, [isMsg ? h("div", {
+      class: "tiny-mobile-modal__status-wrapper"
+    }) : null, h("div", {
+      class: "tiny-mobile-modal__content"
+    }, defaultSlot ? defaultSlot.call(this, {
+      $modal: this
+    }, h) : [h("div", {
+      class: "tiny-mobile-modal__text"
+    }, typeof message === "function" ? message.call(this, h) : message)])]), showFooter ? h("div", {
+      class: "tiny-mobile-modal__footer"
+    }, footerSlot ? footerSlot.call(this, {
+      $modal: this,
+      beforeClose: this.beforeClose
+    }, h) : [type2 === "confirm" ? h(Button, {
+      props: {
+        class: ["tiny-mobile-button", "tiny-mobile-button--default"]
+      },
+      on: {
+        click: this.cancelEvent
+      }
+    }, t2("ui.button.cancel")) : null, h(Button, {
+      props: {
+        type: "primary",
+        class: ["tiny-mobile-button", type2 !== "confirm" ? "tiny-mobile-button__single" : ""]
+      },
+      on: {
+        click: this.confirmEvent
+      }
+    }, t2("ui.button.confirm"))]) : null, !isMsg && resize ? h("span", {
+      class: "tiny-mobile-modal__resize"
+    }, ["wl", "wr", "swst", "sest", "st", "swlb", "selb", "sb"].map(function(type22) {
+      return h("span", {
+        class: type22 + "-resize",
+        attrs: {
+          "data-type": type22
+        },
+        on: {
+          mousedown: _this.dragEvent
+        }
+      });
+    })) : null])]);
+  }
+});
+const computedFormItemSize$1 = (props2) => () => (props2.formItem || {}).formItemSize;
+const computedCheckboxGroupSize = ({ props: props2, formItemSize }) => () => props2.size || formItemSize.value;
+const api$c = ["state"];
+const renderless$c = (props2, { computed: computed2, reactive, watch: watch2, provide: provide8 }, { dispatch, constants }) => {
+  const api2 = {
+    computedFormItemSize: computedFormItemSize$1(props2)
+  };
+  const formItemSize = computed2(() => api2.computedFormItemSize());
+  const state = reactive({
+    checkboxGroupSize: computed2(() => api2.computedCheckboxGroupSize())
+  });
+  Object.assign(api2, {
+    state,
+    computedCheckboxGroupSize: computedCheckboxGroupSize({ props: props2, formItemSize })
+  });
+  watch2(
+    () => props2.modelValue,
+    (value) => dispatch(constants.FORM_ITEM, constants.FORM_CHANGE, [value])
+  );
+  provide8("size", props2.size);
+  provide8("vertical", props2.vertical);
+  provide8("iconPosition", props2.iconPosition);
+  provide8("shape", props2.shape);
+  return api2;
+};
+const handleChange$1 = ({ state, props: props2, emit, nextTick: nextTick2, dispatch, constants }) => (event2) => {
+  if (state.isLimitExceeded) {
+    return;
+  }
+  let value;
+  if (event2.target.checked) {
+    value = props2.trueLabel === void 0 ? true : props2.trueLabel;
+  } else {
+    value = props2.falseLabel === void 0 ? false : props2.falseLabel;
+  }
+  emit("change", value, event2);
+  nextTick2(() => {
+    if (state.checkboxGroup) {
+      dispatch(constants.CHECKBOX_GROUP, "change", [state.checkboxGroup.modelValue]);
+    }
+  });
+};
+const computedGetModelGet = ({ state, props: props2 }) => () => state.checkboxGroup ? state.store : props2.modelValue !== void 0 ? props2.modelValue : state.selfModel;
+const computedGetModelSet = ({ state, props: props2, emit, dispatch, constants }) => (value) => {
+  if (state.checkboxGroup) {
+    state.isLimitExceeded = false;
+    state.checkboxGroup.min !== void 0 && value.length < state.checkboxGroup.min && (state.isLimitExceeded = true);
+    state.checkboxGroup.max !== void 0 && value.length > state.checkboxGroup.max && (state.isLimitExceeded = true);
+    state.isLimitExceeded === false && dispatch(constants.CHECKBOX_GROUP, "update:modelValue", [value]);
+  } else if (props2.modelValue !== void 0) {
+    emit("update:modelValue", value);
+  } else {
+    state.selfModel = value;
+  }
+};
+const computedCheckboxGroup = ({ parent: parent3, constants }) => () => {
+  let parentObj = parent3.$parent;
+  while (parentObj) {
+    if (parentObj.$options.componentName !== constants.CHECKBOX_GROUP) {
+      parentObj = parentObj.$parent;
+    } else {
+      return parentObj;
+    }
+  }
+  return false;
+};
+const computedIsDisabled = ({ state, props: props2 }) => () => state.checkboxGroup ? state.checkboxGroup.disabled || props2.disabled || state.isLimitDisabled : props2.disabled;
+const computedActiveStyle = (state) => () => ({
+  backgroundColor: state.checkboxGroup.fill || "",
+  borderColor: state.checkboxGroup.fill || "",
+  color: state.checkboxGroup.textColor || "",
+  "box-shadow": "-1px 0 0 0 " + state.checkboxGroup.fill
+});
+const computedFormItemSize = (props2) => () => (props2.formItem || {}).formItemSize;
+const computedSize = ({ state, formItemSize }) => () => state.checkboxGroup && state.checkboxGroup.state.checkboxGroupSize || formItemSize.value;
+const toggleEvent$1 = ({ parent: parent3, props: props2, type: type2 }) => {
+  const inputEl = parent3.$el.querySelector("input");
+  Object.keys(props2.events).forEach((ev) => {
+    inputEl[type2 + "EventListener"](ev, props2.events[ev]);
+  });
+};
+const api$b = ["state", "handleChange"];
+const initState$2 = ({ reactive, computed: computed2, api: api2 }) => {
+  const state = reactive({
+    focus: false,
+    selfModel: false,
+    isLimitExceeded: false,
+    model: computed2({
+      get: () => api2.computedGetModelGet(),
+      set: (value) => api2.computedGetModelSet(value)
+    }),
+    size: computed2(() => api2.computedSize()),
+    store: computed2(() => api2.computedStore()),
+    isChecked: computed2(() => api2.computedIsChecked()),
+    isDisabled: computed2(() => api2.computedIsDisabled()),
+    activeStyle: computed2(() => api2.computedActiveStyle()),
+    checkboxGroup: computed2(() => api2.computedCheckboxGroup()),
+    isLimitDisabled: computed2(() => api2.computedIsLimitDisabled()),
+    showText: computed2(() => api2.computedShowText()),
+    isShowText: computed2(() => api2.computedIsShowText())
+  });
+  return state;
+};
+const initApi$2 = ({ api: api2, state, props: props2, formItemSize, parent: parent3, constants, emit, nextTick: nextTick2, dispatch }) => {
+  Object.assign(api2, {
+    state,
+    addToStore: addToStore({ state, props: props2 }),
+    computedStore: computedStore({ state, props: props2 }),
+    computedActiveStyle: computedActiveStyle(state),
+    computedFormItemSize: computedFormItemSize(props2),
+    computedSize: computedSize({ state, formItemSize }),
+    computedIsChecked: computedIsChecked({ state, props: props2 }),
+    computedIsLimitDisabled: computedIsLimitDisabled(state),
+    computedIsDisabled: computedIsDisabled({ state, props: props2 }),
+    computedGetModelGet: computedGetModelGet({ state, props: props2 }),
+    computedCheckboxGroup: computedCheckboxGroup({ parent: parent3, constants }),
+    handleChange: handleChange$1({ state, props: props2, emit, nextTick: nextTick2, dispatch, constants }),
+    computedGetModelSet: computedGetModelSet({ state, props: props2, emit, dispatch, constants }),
+    computedIsShowText: computedIsShowText({ props: props2 }),
+    computedShowText: computedShowText({ props: props2 })
+  });
+};
+const renderless$b = (props2, { computed: computed2, onMounted: onMounted2, onBeforeUnmount: onBeforeUnmount2, reactive }, { parent: parent3, emit, dispatch, constants, nextTick: nextTick2 }) => {
+  const api2 = {};
+  const formItemSize = computed2(() => api2.computedFormItemSize());
+  const state = initState$2({ reactive, computed: computed2, api: api2 });
+  initApi$2({ api: api2, state, props: props2, formItemSize, parent: parent3, constants, emit, nextTick: nextTick2, dispatch });
+  onBeforeUnmount2(() => {
+    toggleEvent$1({ parent: parent3, props: props2, type: "remove" });
+  });
+  onMounted2(() => {
+    toggleEvent$1({ parent: parent3, props: props2, type: "add" });
+    props2.checked && api2.addToStore();
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$m(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$m(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$m(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$m(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$m(o2, minLen);
+}
+function _arrayLikeToArray$m(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$n = function _export_sfc217(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$m(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$w = /* @__PURE__ */ defineComponent({
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["modelValue", "label", "text", "events", "disabled", "checked", "name", "trueLabel", "falseLabel", "tabindex"]),
+  setup: function setup$123(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$b,
+      api: api$b
+    });
+  }
+});
+var _hoisted_1$m = ["aria-checked", "aria-disabled"];
+var _hoisted_2$i = ["name", "tabindex", "disabled", "true-value", "false-value"];
+var _hoisted_3$f = ["name", "tabindex", "disabled", "value"];
+function _sfc_render$o(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("label", {
+    class: normalizeClass(["tiny-checkbox-button", [_ctx2.state.size ? "tiny-checkbox-button--" + _ctx2.state.size : "", {
+      "is-disabled": _ctx2.state.isDisabled
+    }, {
+      "is-checked": _ctx2.state.isChecked
+    }, {
+      "is-focus": _ctx2.state.focus
+    }]]),
+    role: "checkbox",
+    "aria-checked": _ctx2.state.isChecked,
+    "aria-disabled": _ctx2.state.isDisabled
+  }, [_ctx2.trueLabel || _ctx2.falseLabel ? withDirectives((openBlock(), createElementBlock("input", {
+    key: 0,
+    class: "tiny-checkbox-button__original",
+    type: "checkbox",
+    name: _ctx2.name,
+    tabindex: _ctx2.tabindex,
+    disabled: _ctx2.state.isDisabled,
+    "true-value": _ctx2.trueLabel,
+    "false-value": _ctx2.falseLabel,
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[1] || (_cache[1] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[3] || (_cache[3] = function($event) {
+      return _ctx2.state.focus = false;
+    })
+  }, null, 40, _hoisted_2$i)), [[vModelCheckbox, _ctx2.state.model]]) : withDirectives((openBlock(), createElementBlock("input", {
+    key: 1,
+    class: "tiny-checkbox-button__original",
+    type: "checkbox",
+    name: _ctx2.name,
+    tabindex: _ctx2.tabindex,
+    disabled: _ctx2.state.isDisabled,
+    value: _ctx2.label,
+    "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onChange: _cache[5] || (_cache[5] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    onFocus: _cache[6] || (_cache[6] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[7] || (_cache[7] = function($event) {
+      return _ctx2.state.focus = false;
+    })
+  }, null, 40, _hoisted_3$f)), [[vModelCheckbox, _ctx2.state.model]]), _ctx2.slots.default || _ctx2.state.isShowText ? (openBlock(), createElementBlock(
+    "span",
+    {
+      key: 2,
+      class: "tiny-checkbox-button__inner",
+      style: normalizeStyle$2(_ctx2.state.isChecked ? _ctx2.state.activeStyle : null)
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.state.showText),
+        1
+        /* TEXT */
+      )];
+    })],
+    4
+    /* STYLE */
+  )) : createCommentVNode("v-if", true)], 10, _hoisted_1$m);
+}
+var pc$b = /* @__PURE__ */ _export_sfc$n(_sfc_main$w, [["render", _sfc_render$o]]);
+const index$i = "";
+function _extends$e() {
+  _extends$e = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$e.apply(this, arguments);
+}
+var template$c = function template28(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$b;
+};
+var $constants$a = {
+  CHECKBOX_GROUP: "CheckboxGroup"
+};
+var CheckboxButton = defineComponent({
+  name: $prefix + "CheckboxButton",
+  props: _extends$e({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default31() {
+        return $constants$a;
+      }
+    },
+    modelValue: {},
+    label: {},
+    disabled: Boolean,
+    checked: Boolean,
+    name: String,
+    trueLabel: [String, Number],
+    falseLabel: [String, Number],
+    text: String,
+    events: {
+      type: Object,
+      default: function _default211() {
+        return {};
+      }
+    },
+    tabindex: {
+      type: String,
+      default: "0"
+    }
+  }),
+  setup: function setup10(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$c
+    });
+  }
+});
+var version$f = "3.16.0";
+CheckboxButton.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+CheckboxButton.install = function(Vue) {
+  Vue.component(CheckboxButton.name, CheckboxButton);
+};
+CheckboxButton.version = version$f;
+const index$h = "";
+function _createForOfIteratorHelperLoose$l(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$l(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$l(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$l(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$l(o2, minLen);
+}
+function _arrayLikeToArray$l(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$m = function _export_sfc218(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$l(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$v = /* @__PURE__ */ defineComponent({
+  components: {
+    Checkbox,
+    CheckboxButton
+  },
+  props: [].concat(props, ["modelValue", "type", "options", "disabled", "min", "max", "size", "fill", "textColor", "vertical", "displayOnly", "shape"]),
+  setup: function setup$124(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c
+    });
+  }
+});
+function _sfc_render$n(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_checkbox = resolveComponent("checkbox");
+  var _component_checkbox_button = resolveComponent("checkbox-button");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-checkbox-group", _ctx2.vertical ? "is-vertical" : ""]),
+      role: "group",
+      "aria-label": "checkbox-group"
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [_ctx2.type === "checkbox" ? (openBlock(true), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        renderList(_ctx2.options, function(item, index3) {
+          return openBlock(), createBlock(
+            _component_checkbox,
+            mergeProps({
+              key: index3
+            }, item),
+            null,
+            16
+            /* FULL_PROPS */
+          );
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      )) : createCommentVNode("v-if", true), _ctx2.type === "button" ? (openBlock(true), createElementBlock(
+        Fragment,
+        {
+          key: 1
+        },
+        renderList(_ctx2.options, function(item, index3) {
+          return openBlock(), createBlock(
+            _component_checkbox_button,
+            mergeProps({
+              key: index3
+            }, item),
+            null,
+            16
+            /* FULL_PROPS */
+          );
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      )) : createCommentVNode("v-if", true)];
+    })],
+    2
+    /* CLASS */
+  );
+}
+var pc$a = /* @__PURE__ */ _export_sfc$m(_sfc_main$v, [["render", _sfc_render$n]]);
+const index$g = "";
+function _createForOfIteratorHelperLoose$k(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$k(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$k(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$k(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$k(o2, minLen);
+}
+function _arrayLikeToArray$k(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$l = function _export_sfc219(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$k(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$u = /* @__PURE__ */ defineComponent({
+  components: {
+    Checkbox
+  },
+  props: [].concat(props, ["modelValue", "type", "options", "disabled", "vertical", "max", "min", "iconPosition"]),
+  setup: function setup$125(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c
+    });
+  }
+});
+function _sfc_render$m(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_checkbox = resolveComponent("checkbox");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-mobile-checkbox-group", _ctx2.vertical ? "is-vertical" : ""]),
+      role: "group",
+      "aria-label": "checkbox-group"
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [_ctx2.type === "checkbox" ? (openBlock(true), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        renderList(_ctx2.options, function(item, index3) {
+          return openBlock(), createBlock(
+            _component_checkbox,
+            mergeProps({
+              key: index3
+            }, item),
+            null,
+            16
+            /* FULL_PROPS */
+          );
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      )) : createCommentVNode("v-if", true)];
+    })],
+    2
+    /* CLASS */
+  );
+}
+var mobile$4 = /* @__PURE__ */ _export_sfc$l(_sfc_main$u, [["render", _sfc_render$m]]);
+function _createForOfIteratorHelperLoose$j(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$j(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$j(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$j(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$j(o2, minLen);
+}
+function _arrayLikeToArray$j(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$k = function _export_sfc220(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$j(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$t = defineComponent({
+  components: {
+    Checkbox,
+    CheckboxButton
+  },
+  inheritAttrs: false,
+  props: [].concat(props, ["modelValue", "type", "options", "disabled", "min", "max", "size", "fill", "textColor", "vertical", "displayOnly"]),
+  setup: function setup$126(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c
+    });
+  }
+});
+function _sfc_render$l(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_checkbox = resolveComponent("checkbox");
+  var _component_checkbox_button = resolveComponent("checkbox-button");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-checkbox-group",
+      class: normalizeClass(["inline-flex flex-col", {
+        "sm:flex-row": !_ctx2.vertical
+      }]),
+      role: "group",
+      "aria-label": "checkbox-group"
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [_ctx2.type === "checkbox" ? (openBlock(true), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        renderList(_ctx2.options, function(item, index3) {
+          return openBlock(), createBlock(
+            _component_checkbox,
+            mergeProps({
+              key: index3
+            }, item),
+            null,
+            16
+            /* FULL_PROPS */
+          );
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      )) : createCommentVNode("v-if", true), _ctx2.type === "button" ? (openBlock(true), createElementBlock(
+        Fragment,
+        {
+          key: 1
+        },
+        renderList(_ctx2.options, function(item, index3) {
+          return openBlock(), createBlock(
+            _component_checkbox_button,
+            mergeProps({
+              key: index3
+            }, item),
+            null,
+            16
+            /* FULL_PROPS */
+          );
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      )) : createCommentVNode("v-if", true)];
+    })],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst$4 = /* @__PURE__ */ _export_sfc$k(_sfc_main$t, [["render", _sfc_render$l]]);
+function _extends$d() {
+  _extends$d = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$d.apply(this, arguments);
+}
+var template$b = function template29(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$a;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$4;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$4;
+  }
+  return pc$a;
+};
+var $constants$9 = {
+  FORM_ITEM: "FormItem",
+  FORM_CHANGE: "form.change"
+};
+var CheckboxGroup = defineComponent({
+  name: $prefix + "CheckboxGroup",
+  componentName: "CheckboxGroup",
+  emits: ["change", "update:modelValue"],
+  props: _extends$d({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default37() {
+        return $constants$9;
+      }
+    },
+    modelValue: {},
+    disabled: Boolean,
+    min: Number,
+    max: Number,
+    size: String,
+    fill: String,
+    textColor: String,
+    vertical: Boolean,
+    options: {
+      type: Array,
+      default: function _default212() {
+        return [];
+      }
+    },
+    type: {
+      type: String,
+      default: "checkbox"
+    },
+    displayOnly: {
+      type: Boolean,
+      default: false
+    },
+    iconPosition: String,
+    shape: {
+      type: String,
+      default: ""
+    }
+  }),
+  setup: function setup11(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$b
+    });
+  }
+});
+var version$e = "3.16.0";
+CheckboxGroup.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+CheckboxGroup.install = function(Vue) {
+  Vue.component(CheckboxGroup.name, CheckboxGroup);
+};
+CheckboxGroup.version = version$e;
+function _extends$c() {
+  _extends$c = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$c.apply(this, arguments);
+}
+var STATUS_MAPPING_COMPINENT = {
+  QUESTION: index$V(),
+  INFO: index$T(),
+  SUCCESS: index$H(),
+  WARNING: index$E(),
+  ERROR: index$13(),
+  LOADING: index$S()
+};
+var MOBILE_STATUS_MAPPING_COMPINENT = {
+  INFO: index$U(),
+  SUCCESS: index$G(),
+  WARNING: index$16(),
+  ERROR: index$O(),
+  LOADING: index$S()
+};
+var _sfc_main$s = defineComponent({
+  props: _extends$c({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default38() {
+        return {};
+      }
+    },
+    beforeClose: Function,
+    duration: {
+      type: [Number, String],
+      default: function _default213() {
+        return 3e3;
+      }
+    },
+    escClosable: Boolean,
+    events: Object,
+    fullscreen: Boolean,
+    height: [Number, String],
+    id: String,
+    isFormReset: {
+      type: Boolean,
+      default: true
+    },
+    lockScroll: Boolean,
+    lockView: {
+      type: Boolean,
+      default: function _default39() {
+        return true;
+      }
+    },
+    marginSize: {
+      type: [Number, String],
+      default: 10
+    },
+    mask: {
+      type: Boolean,
+      default: function _default46() {
+        return true;
+      }
+    },
+    maskClosable: Boolean,
+    message: [String, Function],
+    minHeight: {
+      type: [Number, String],
+      default: function _default54() {
+        return 200;
+      }
+    },
+    minWidth: {
+      type: [Number, String],
+      default: function _default64() {
+        return 340;
+      }
+    },
+    modelValue: Boolean,
+    resize: Boolean,
+    showFooter: Boolean,
+    showHeader: {
+      type: Boolean,
+      default: true
+    },
+    status: {
+      type: [String, Object],
+      default: ""
+    },
+    title: String,
+    top: {
+      type: [Number, String],
+      default: 80
+    },
+    type: {
+      type: String,
+      default: "alert"
+    },
+    width: [Number, String],
+    zIndex: [Number, String],
+    description: String,
+    options: Array,
+    showClose: {
+      type: Boolean,
+      default: true
+    },
+    confirmContent: String,
+    cancelContent: String,
+    position: String,
+    customClass: String,
+    slots: Object
+  }),
+  emits: ["update:modelValue", "show", "close", "confirm", "cancel", "hide", "custom-mousedown", "custom-mouseup", "custom-mousemove"],
+  components: {
+    Checkbox,
+    CheckboxGroup
+  },
+  provide: function provide4() {
+    return {
+      dialog: this
+    };
+  },
+  setup: function setup$127(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$d,
+      api: api$d,
+      extendOptions: {
+        isMobileFirstMode: true
+      }
+    });
+  },
+  render: function render6() {
+    var _this = this;
+    var _this$$props = this.$props, $props2 = _this$$props === void 0 ? {} : _this$$props, state = this.state, slots = this.slots, type2 = this.type, resize = this.resize, status = this.status, showHeader = this.showHeader, showFooter = this.showFooter, title2 = this.title, message = this.message, mask = this.mask, t2 = this.t, description = this.description, options2 = this.options, showClose = this.showClose, confirmContent = this.confirmContent, cancelContent = this.cancelContent, m2 = this.m, position2 = this.position, customClass = this.customClass;
+    var _$props2$slots = $props2.slots, propSlots = _$props2$slots === void 0 ? {} : _$props2$slots;
+    var zoomLocat = state.zoomLocat, visible = state.visible, contentVisible = state.contentVisible, modalTop = state.modalTop, isMsg = state.isMsg;
+    var defaultSlot = slots.default || propSlots.default;
+    var footerSlot = slots.footer || propSlots.footer;
+    var footerSlotParams = {
+      $modal: this,
+      beforeClose: this.beforeClose,
+      confirm: this.confirmEvent,
+      cancel: this.cancelEvent
+    };
+    var isBottomRight = position2 === "bottom-right";
+    var statusIcon = typeof status === "string" ? STATUS_MAPPING_COMPINENT[status.toUpperCase()] : status;
+    var mobileStatusIcon = typeof status === "string" ? MOBILE_STATUS_MAPPING_COMPINENT[status.toUpperCase()] : status;
+    var messageHtml = typeof message === "function" ? message.call(this, h) : message;
+    var optionsComponent = options2 ? h(CheckboxGroup, {
+      props: {
+        tiny_mode: "mobile-first",
+        modelValue: state.options,
+        vertical: true
+      },
+      on: {
+        "update:modelValue": function updateModelValue(value) {
+          state.options = value;
+        }
+      }
+    }, [options2.map(function(item) {
+      return h(Checkbox, {
+        props: {
+          tiny_mode: "mobile-first",
+          label: item.value,
+          name: item.name
+        }
+      }, [item.label]);
+    })]) : null;
+    var footerBottom = [h(
+      "div",
+      // pc 端按钮
+      {
+        attrs: {
+          "data-tag": "tiny-footer-bottom"
+        },
+        class: "hidden sm:block"
+      },
+      [type2 === "confirm" ? h(Button, {
+        class: "ml-2 min-w-[theme(spacing.18)]",
+        props: {
+          tiny_mode: "mobile-first"
+        },
+        on: {
+          click: this.cancelEvent
+        }
+      }, cancelContent || t2("ui.button.cancel")) : null, h(Button, {
+        class: "ml-2 min-w-[theme(spacing.18)]",
+        props: {
+          tiny_mode: "mobile-first",
+          type: "primary"
+        },
+        on: {
+          click: this.confirmEvent
+        }
+      }, confirmContent || t2("ui.button.confirm"))]
+    ), h(
+      "div",
+      // mobile 端按钮
+      {
+        attrs: {
+          "data-tag": "tiny-footer-bottom"
+        },
+        class: "flex sm:hidden text-base justify-center"
+      },
+      [type2 === "confirm" ? h(Button, {
+        props: {
+          tiny_mode: "mobile-first",
+          type: "text",
+          customClass: "flex-1 text-color-text-secondary active:text-color-text-secondary"
+        },
+        on: {
+          click: this.cancelEvent
+        }
+      }, cancelContent || t2("ui.button.cancel")) : null, type2 === "confirm" ? h("span", {
+        class: "border-r border-r-color-border-separator"
+      }) : null, h(Button, {
+        props: {
+          tiny_mode: "mobile-first",
+          type: "text",
+          customClass: "flex-1 text-color-brand active:text-color-brand"
+        },
+        on: {
+          click: this.confirmEvent
+        }
+      }, confirmContent || t2("ui.button.confirm"))]
+    )];
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-modal"
+      },
+      class: ["fixed left-0 right-0 top-0 bottom-0 w-full h-full text-sm text-color-text-primary transition-top ease-out duration-300", {
+        'before:content-[""] before:fixed before:left-0 before:right-0 before:top-0 before:bottom-0 before:w-full before:h-full before:bg-color-bg-7': mask,
+        "before:pointer-events-none pointer-events-none": !mask,
+        "hidden": !contentVisible && !visible
+      }, {
+        "flex items-center top-0 sm:flex-none sm:items-start": type2 === "message"
+      }],
+      style: {
+        zIndex: this.state.modalZindex,
+        top: modalTop ? modalTop + "px" : null
+      },
+      on: {
+        click: this.selfClickEvent
+      }
+    }, [h("div", {
+      ref: "modalBox",
+      attrs: {
+        "data-tag": "tiny-grid-modal__box"
+      },
+      class: m2("absolute pointer-events-auto box-border p-3 sm:p-0", {
+        "bottom-0 sm:bottom-auto top-auto w-full flex sm:block max-h-full": !isMsg
+      }, {
+        "h-full": zoomLocat
+      }, {
+        "sm:max-h-[60%]": !zoomLocat
+      }, {
+        "sm:w-[theme(spacing.112)]": !zoomLocat && type2 !== "message"
+      }, {
+        "left-1/2 -translate-x-1/2": !isBottomRight && !zoomLocat
+      }, {
+        "sm:top-1/2 sm:-translate-y-1/2": !isBottomRight && !isMsg && !zoomLocat
+      }, {
+        "sm:bottom-0 sm:right-0": isBottomRight
+      }, {
+        "rounded m-0 px-3 py-2 sm:px-4 sm:py-2.5 sm:w-auto min-w-[theme(spacing.20)] max-w-[theme(spacing.64)] sm:min-w-[theme(spacing.32)] sm:max-w-[theme(spacing.144)] box-border sm:shadow-lg": type2 === "message"
+      }, {
+        "bg-color-icon-primary opacity-80 sm:opacity-100 text-color-text-inverse sm:text-color-text-primary sm:bg-color-bg-1 ": type2 === "message"
+      }, customClass)
+    }, [h("div", {
+      class: ["flex flex-col w-full max-h-full rounded-lg sm:rounded  overflow-hidden", {
+        "shadow-xl bg-color-bg-1": type2 !== "message"
+      }, {
+        "h-full": zoomLocat
+      }]
+    }, [[showHeader || type2 === "message" ? h("div", {
+      attrs: {
+        "data-tag": "tiny-message"
+      },
+      class: ["flex text-sm items-center justify-center sm:justify-start", {
+        "px-6 pt-5 sm:pt-6 leading-6": type2 !== "message"
+      }, {
+        "leading-4 sm:leading-5.5 sm:h-auto bg-color-icon-primary text-color-text-inverse sm:text-color-text-primary sm:bg-color-bg-1": type2 === "message"
+      }],
+      on: {
+        mousedown: this.mousedownEvent
+      }
+    }, [status ? [h(statusIcon, {
+      props: {
+        tiny_mode: "mobile-first"
+      },
+      attrs: {
+        "data-tag": "tiny-status-icon"
+      },
+      class: m2("hidden sm:inline-block mr-2 fill-current", type2 === "message" ? "h-4.5 w-4.5 self-start shrink-0 mt-0.5" : "h-6 w-auto", {
+        "text-color-success": status === "success"
+      }, {
+        "text-color-info-secondary": ["info", "question"].includes(status)
+      }, {
+        "text-color-warning": status === "warning"
+      }, {
+        "text-color-error": status === "error"
+      })
+    }), h(mobileStatusIcon, {
+      props: {
+        tiny_mode: "mobile-first"
+      },
+      class: ["inline-block sm:hidden mr-1.5 fill-current", type2 === "message" ? "w-5 h-5 self-center shrink-0" : "h-6 w-auto"]
+    })] : null, h("span", {
+      class: ["sm:flex-auto text-base sm:text-sm w-full flex-1", {
+        "truncate font-semibold": type2 !== "message"
+      }, {
+        "line-clamp-2 text-center leading-5.5 sm:text-left": type2 === "message"
+      }],
+      attrs: {
+        title: title2 || t2("ui.alert.title")
+      }
+    }, type2 === "message" ? messageHtml : title2 || t2("ui.alert.title")), resize ? h(zoomLocat ? index$Q() : index$Y(), {
+      class: "flex-none h-4 w-4 ml-2 cursor-pointer",
+      on: {
+        click: this.toggleZoomEvent
+      }
+    }) : null, showClose ? h(index$17(), {
+      class: ["hidden sm:block flex-none cursor-pointer", {
+        "h-4 w-4 ml-2": type2 !== "message"
+      }, {
+        "w-4 h-4 ml-4 self-start sm:mt-0.5 sm:translate-y-px": type2 === "message"
+      }],
+      on: {
+        click: this.closeEvent
+      }
+    }) : null]) : null, type2 !== "message" ? h("div", {
+      class: "flex-auto flex mx-6 mt-4 mb-5 sm:my-6 leading-5 overflow-auto"
+    }, [status ? h("div", {
+      class: "hidden sm:block mr-8"
+    }) : null, h("div", {
+      class: "w-full"
+    }, defaultSlot ? defaultSlot.call(this, {
+      $modal: this
+    }, h) : [h("div", {
+      class: ["leading-normal", {
+        "font-medium": description
+      }]
+    }, messageHtml), description ? h("div", {
+      class: "leading-normal pt-2 sm:pt-4 text-color-text-secondary"
+    }, [description]) : null, options2 ? h("div", {
+      class: "leading-normal pt-2 sm:pt-4 text-color-text-secondary"
+    }, [optionsComponent]) : null])]) : null, showFooter ? h("div", {
+      attrs: {
+        "data-tag": "tiny-modal-footer"
+      },
+      class: "py-2.5 sm:pb-6 sm:pt-0 px-6 border-t-0.5 sm:border-t-0 border-color-border-separator text-center sm:text-right"
+    }, footerSlot ? footerSlot.call(this, footerSlotParams, h) : footerBottom) : null, !isMsg && resize ? h("span", ["wl", "wr", "swst", "sest", "st", "swlb", "selb", "sb"].map(function(type22) {
+      return h("span", {
+        attrs: {
+          "data-type": type22
+        },
+        on: {
+          mousedown: _this.dragEvent
+        }
+      });
+    })) : null]])])]);
+  }
+});
+const hide = ({ state, emit }) => () => {
+  state.isLock = true;
+  setTimeout(() => {
+    state.isLock = false;
+  }, 300);
+  state.showPopover = false;
+};
+const show = ({ state, props: props2, emit }) => (trigger2) => {
+  if ((trigger2 ? props2.trigger !== trigger2 : !props2.reference) || state.isLock || state.showPopover) {
+    return;
+  }
+  state.showPopover = true;
+};
+const confirm = ({ state, api: api2 }) => () => {
+  state.showPopover = false;
+  api2.handleEmit("confirm");
+};
+const handleEmit = ({ state, emit, vm }) => (type2) => {
+  let { events = {} } = vm;
+  if (events[type2]) {
+    events[type2].call(vm, { $modal: vm, type: type2 });
+  } else {
+    emit(type2, state);
+  }
+};
+const handleDocumentClick = ({ vm, api: api2 }) => (event2) => {
+  if (vm.$refs.popover.handleDocumentClick(event2)) {
+    api2.hide();
+  }
+};
+const api$a = ["state", "show", "hide", "confirm", "handleEmit"];
+const renderless$a = (props2, { computed: computed2, reactive, onMounted: onMounted2, onBeforeUnmount: onBeforeUnmount2 }, { emit, constants, designConfig, vm }) => {
+  var _a2;
+  const api2 = {};
+  const designIcon = (_a2 = designConfig == null ? void 0 : designConfig.icons) == null ? void 0 : _a2[props2.type];
+  const state = reactive({
+    isLock: false,
+    showPopover: false,
+    getIcon: computed2(
+      () => typeof props2.type === "object" ? props2.type : designIcon || constants.ICON_MAP[props2.type]
+    )
+  });
+  Object.assign(api2, {
+    state,
+    show: show({ state, emit, props: props2 }),
+    hide: hide({ state, emit }),
+    confirm: confirm({ state, api: api2 }),
+    handleEmit: handleEmit({ state, emit, vm }),
+    handleDocumentClick: handleDocumentClick({ api: api2, vm })
+  });
+  onMounted2(() => {
+    props2.closeOnClickOutside && on(document, "click", api2.handleDocumentClick);
+  });
+  onBeforeUnmount2(() => {
+    props2.closeOnClickOutside && off(document, "click", api2.handleDocumentClick);
+  });
+  return api2;
+};
+const index$f = "";
+function _createForOfIteratorHelperLoose$i(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$i(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$i(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$i(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$i(o2, minLen);
+}
+function _arrayLikeToArray$i(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$j = function _export_sfc221(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$i(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$r = defineComponent({
+  name: $prefix + "Popconfirm",
+  components: {
+    TinyPopover: Popover,
+    TinyButton: Button,
+    IconSuccess: index$H(),
+    IconInfoSolid: index$T(),
+    IconWarning: index$E(),
+    IconError: index$13()
+  },
+  props: {
+    _constants: {
+      type: Object,
+      default: function _default40() {
+        return {};
+      }
+    },
+    popperOptions: Object,
+    message: String,
+    customClass: String,
+    trigger: {
+      type: String,
+      default: "hover",
+      validator: function validator8(value) {
+        return ["click", "hover"].includes(value);
+      }
+    },
+    cancelButton: {
+      type: Boolean,
+      default: true
+    },
+    closeOnClickOutside: {
+      type: Boolean,
+      default: true
+    },
+    title: String,
+    placement: {
+      type: String,
+      default: "top"
+    },
+    width: {
+      type: [String, Number],
+      default: "350"
+    },
+    type: [String, Object],
+    reference: {},
+    events: Object,
+    popperAppendToBody: {
+      type: Boolean,
+      default: true
+    }
+  },
+  emits: ["hide", "show", "confirm"],
+  setup: function setup$128(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$a,
+      api: api$a
+    });
+  }
+});
+var _hoisted_1$l = {
+  class: "tiny-popconfirm"
+};
+var _hoisted_2$h = {
+  class: "tiny-popconfirm-popover__container"
+};
+var _hoisted_3$e = {
+  class: "tiny-popconfirm-popover__header"
+};
+var _hoisted_4$b = {
+  class: "tiny-popconfirm-popover__title"
+};
+var _hoisted_5$9 = {
+  class: "tiny-popconfirm-popover__content"
+};
+var _hoisted_6$8 = {
+  class: "tiny-popconfirm-popover__footer"
+};
+function _sfc_render$k(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_popover = resolveComponent("tiny-popover");
+  return openBlock(), createElementBlock("div", _hoisted_1$l, [createBaseVNode("div", null, [createVNode$1(_component_tiny_popover, {
+    ref: "popover",
+    modelValue: _ctx2.state.showPopover,
+    "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.showPopover = $event;
+    }),
+    placement: _ctx2.placement,
+    trigger: "manual",
+    width: _ctx2.width,
+    title: _ctx2.title,
+    "popper-class": _ctx2.m("tiny-popconfirm-popover", _ctx2.customClass),
+    "popper-options": _ctx2.popperOptions,
+    "append-to-body": _ctx2.popperAppendToBody,
+    reference: _ctx2.reference,
+    onShow: _cache[3] || (_cache[3] = function($event) {
+      return _ctx2.handleEmit("show");
+    }),
+    onHide: _cache[4] || (_cache[4] = function($event) {
+      return _ctx2.handleEmit("hide");
+    })
+  }, {
+    reference: withCtx(function() {
+      return [createBaseVNode(
+        "div",
+        {
+          class: "tiny-popconfirm__reference",
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx2.show("click");
+          }),
+          onMouseenter: _cache[1] || (_cache[1] = function($event) {
+            return _ctx2.show("hover");
+          })
+        },
+        [renderSlot(_ctx2.$slots, "reference")],
+        32
+        /* NEED_HYDRATION */
+      )];
+    }),
+    default: withCtx(function() {
+      return [createBaseVNode("div", _hoisted_2$h, [createBaseVNode("div", _hoisted_3$e, [_ctx2.type ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.getIcon), {
+        key: 0,
+        class: normalizeClass(["tiny-popconfirm-popover__icon", _ctx2.type ? "tiny-popconfirm-popover--" + _ctx2.type : ""])
+      }, null, 8, ["class"])) : createCommentVNode("v-if", true), createBaseVNode(
+        "div",
+        _hoisted_4$b,
+        toDisplayString(_ctx2.title),
+        1
+        /* TEXT */
+      )]), createBaseVNode(
+        "div",
+        _hoisted_5$9,
+        toDisplayString(_ctx2.message),
+        1
+        /* TEXT */
+      ), createBaseVNode("div", _hoisted_6$8, [renderSlot(_ctx2.$slots, "footer", {}, function() {
+        return [_ctx2.cancelButton ? (openBlock(), createBlock(_component_tiny_button, {
+          key: 0,
+          class: "tiny-popconfirm-popover__cancel-button",
+          size: "mini",
+          onClick: _ctx2.hide
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.button.cancel")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])) : createCommentVNode("v-if", true), createVNode$1(_component_tiny_button, {
+          class: "tiny-popconfirm-popover__confirm-button",
+          size: "mini",
+          type: "primary",
+          onClick: _ctx2.confirm
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.button.confirm")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])];
+      })])])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["modelValue", "placement", "width", "title", "popper-class", "popper-options", "append-to-body", "reference"])])]);
+}
+var pc$9 = /* @__PURE__ */ _export_sfc$j(_sfc_main$r, [["render", _sfc_render$k]]);
+function _createForOfIteratorHelperLoose$h(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$h(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$h(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$h(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$h(o2, minLen);
+}
+function _arrayLikeToArray$h(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$i = function _export_sfc222(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$h(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var $constants$8 = {
+  ICON_MAP: {
+    success: "icon-success",
+    error: "icon-error",
+    info: "icon-info-solid",
+    warning: "icon-warning"
+  }
+};
+var _sfc_main$q = defineComponent({
+  name: $prefix + "Popconfirm",
+  components: {
+    TinyPopover: Popover,
+    TinyButton: Button,
+    IconSuccess: index$H(),
+    IconInfoSolid: index$T(),
+    IconWarning: index$E(),
+    IconError: index$13()
+  },
+  props: {
+    _constants: {
+      type: Object,
+      default: function _default41() {
+        return $constants$8;
+      }
+    },
+    message: String,
+    customClass: String,
+    trigger: {
+      type: String,
+      default: "hover",
+      validator: function validator9(value) {
+        return ~["click", "hover"].indexOf(value);
+      }
+    },
+    cancelButton: {
+      type: Boolean,
+      default: true
+    },
+    closeOnClickOutside: {
+      type: Boolean,
+      default: true
+    },
+    title: String,
+    placement: {
+      type: String,
+      default: "top"
+    },
+    width: {
+      type: [String, Number],
+      default: ""
+    },
+    type: [String, Object],
+    reference: {},
+    events: Object,
+    popperAppendToBody: {
+      type: Boolean,
+      default: true
+    }
+  },
+  emits: ["hide", "show", "confirm", "handleEmit"],
+  setup: function setup$129(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$a,
+      api: api$a
+    });
+  }
+});
+var _hoisted_1$k = {
+  "data-tag": "tiny-popconfirm",
+  class: "inline-block"
+};
+var _hoisted_2$g = {
+  "data-tag": "tiny-popconfirm-header",
+  class: "flex items-center leading-6 sm:pt-1"
+};
+var _hoisted_3$d = {
+  class: "flex-auto"
+};
+var _hoisted_4$a = {
+  "data-tag": "tiny-popconfirm-content"
+};
+var _hoisted_5$8 = {
+  class: "sm:leading-6 sm:text-xs sm:text-color-text-secondary"
+};
+var _hoisted_6$7 = {
+  "data-tag": "tiny-popconfirm-footer",
+  class: "sm:pb-1"
+};
+var _hoisted_7$6 = {
+  class: "hidden sm:flex mt-4 justify-end"
+};
+var _hoisted_8$4 = {
+  class: "flex sm:hidden text-base justify-center"
+};
+var _hoisted_9$4 = {
+  key: 1,
+  class: "border-r border-r-color-border-separator"
+};
+function _sfc_render$j(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_popover = resolveComponent("tiny-popover");
+  return openBlock(), createElementBlock("div", _hoisted_1$k, [createVNode$1(_component_tiny_popover, {
+    ref: "popover",
+    tiny_mode: "mobile-first",
+    modelValue: _ctx2.state.showPopover,
+    "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.showPopover = $event;
+    }),
+    placement: _ctx2.placement,
+    trigger: "manual",
+    width: _ctx2.width,
+    title: _ctx2.title,
+    "popper-class": _ctx2.m("min-w-[theme(spacing.44)] max-w-[theme(spacing.96)]", _ctx2.customClass),
+    "append-to-body": _ctx2.popperAppendToBody,
+    reference: _ctx2.reference,
+    onShow: _cache[3] || (_cache[3] = function($event) {
+      return _ctx2.handleEmit("show");
+    }),
+    onHide: _cache[4] || (_cache[4] = function($event) {
+      return _ctx2.handleEmit("hide");
+    })
+  }, {
+    header: withCtx(function() {
+      return [createBaseVNode("div", _hoisted_2$g, [_ctx2.type ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.getIcon), {
+        key: 0,
+        class: normalizeClass(_ctx2.m("h-6 w-6 mr-2", {
+          "fill-color-info-secondary": _ctx2.type === "info"
+        }, {
+          "fill-color-error": _ctx2.type === "error"
+        }, {
+          "fill-color-warning": _ctx2.type === "warning"
+        }, {
+          "fill-color-success": _ctx2.type === "success"
+        }))
+      }, null, 8, ["class"])) : createCommentVNode("v-if", true), createBaseVNode(
+        "div",
+        _hoisted_3$d,
+        toDisplayString(_ctx2.title),
+        1
+        /* TEXT */
+      )])];
+    }),
+    default: withCtx(function() {
+      return [createBaseVNode("div", _hoisted_4$a, [createBaseVNode(
+        "div",
+        _hoisted_5$8,
+        toDisplayString(_ctx2.message),
+        1
+        /* TEXT */
+      )])];
+    }),
+    footer: withCtx(function() {
+      return [createBaseVNode("div", _hoisted_6$7, [createBaseVNode("div", _hoisted_7$6, [renderSlot(_ctx2.$slots, "footer", {}, function() {
+        return [_ctx2.cancelButton ? (openBlock(), createBlock(_component_tiny_button, {
+          key: 0,
+          class: "mr-2 w-16",
+          size: "mini",
+          tiny_mode: "mobile-first",
+          onClick: _ctx2.hide
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.buttonMessage.cancel")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])) : createCommentVNode("v-if", true), createVNode$1(_component_tiny_button, {
+          class: "w-16",
+          size: "mini",
+          tiny_mode: "mobile-first",
+          type: "primary",
+          onClick: _ctx2.confirm
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.buttonMessage.confirm")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])];
+      })]), createBaseVNode("div", _hoisted_8$4, [renderSlot(_ctx2.$slots, "footer", {}, function() {
+        return [_ctx2.cancelButton ? (openBlock(), createBlock(_component_tiny_button, {
+          key: 0,
+          "custom-class": "flex-1 text-color-text-secondary",
+          tiny_mode: "mobile-first",
+          type: "text",
+          onClick: _ctx2.hide
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.buttonMessage.cancel")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])) : createCommentVNode("v-if", true), _ctx2.cancelButton ? (openBlock(), createElementBlock("span", _hoisted_9$4)) : createCommentVNode("v-if", true), createVNode$1(_component_tiny_button, {
+          "custom-class": "flex-1 text-color-brand tiny-modal-mf-button",
+          tiny_mode: "mobile-first",
+          type: "text",
+          onClick: _ctx2.confirm
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.buttonMessage.confirm")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])];
+      })])])];
+    }),
+    reference: withCtx(function() {
+      return [createBaseVNode(
+        "div",
+        {
+          class: "inline-block",
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx2.show("click");
+          }),
+          onMouseover: _cache[1] || (_cache[1] = function($event) {
+            return _ctx2.show("hover");
+          })
+        },
+        [renderSlot(_ctx2.$slots, "reference")],
+        32
+        /* NEED_HYDRATION */
+      )];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["modelValue", "placement", "width", "title", "popper-class", "append-to-body", "reference"])]);
+}
+var mobileFirst$3 = /* @__PURE__ */ _export_sfc$i(_sfc_main$q, [["render", _sfc_render$j]]);
+function _extends$b() {
+  _extends$b = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$b.apply(this, arguments);
+}
+var template$a = function template210(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$9;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$3;
+  }
+  return pc$9;
+};
+var $constants$7 = {
+  PC_PREFIXCLS: "tiny-popconfim",
+  MOBILE_PREFIXCLS: "tiny-mobile-popconfim",
+  Mode: "pc",
+  prefixcls: function prefixcls(mode) {
+    return mode === this.Mode ? this.PC_PREFIXCLS : this.MOBILE_PREFIXCLS;
+  },
+  ICON_MAP: {
+    success: "icon-success",
+    error: "icon-error",
+    info: "icon-info-solid",
+    warning: "icon-warning"
+  }
+};
+var popConfirmProps = _extends$b({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default47() {
+      return $constants$7;
+    }
+  },
+  message: String,
+  customClass: String,
+  popperOptions: Object,
+  trigger: {
+    type: String,
+    default: "hover",
+    validator: function validator10(value) {
+      return ["click", "hover"].includes(value);
+    }
+  },
+  cancelButton: {
+    type: Boolean,
+    default: true
+  },
+  closeOnClickOutside: {
+    type: Boolean,
+    default: true
+  },
+  title: String,
+  placement: {
+    type: String,
+    default: "top"
+  },
+  width: [String, Number],
+  type: [String, Object],
+  reference: {},
+  events: Object,
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  }
+});
+var Popconfirm = defineComponent({
+  name: $prefix + "Popconfim",
+  props: popConfirmProps,
+  setup: function setup12(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$a
+    });
+  }
+});
+var version$d = "3.16.0";
+Popconfirm.install = function(Vue) {
+  Vue.component(Popconfirm.name, Popconfirm);
+};
+Popconfirm.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Popconfirm.version = version$d;
+function _extends$a() {
+  _extends$a = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$a.apply(this, arguments);
+}
+var template$9 = function template211(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return _sfc_main$y;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return _sfc_main$x;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$s;
+  }
+  return _sfc_main$y;
+};
+var $constants$6 = {
+  MODAL_STATUS: {
+    INFO: "info",
+    SUCCESS: "success",
+    WARNING: "warning",
+    ERROR: "error",
+    LOADING: "loading"
+  },
+  NODAL_TYPE: {
+    ALERT: "alert",
+    CONFIRM: "confirm",
+    MESSAGE: "message"
+  },
+  STATUS_MAPPING_CLASSS: {
+    INFO: "tiny-modal-svg__info",
+    SUCCESS: "tiny-modal-svg__success",
+    WARNING: "tiny-modal-svg__warning",
+    ERROR: "tiny-modal-svg__error",
+    LOADING: "tiny-modal-svg__refresh roll"
+  },
+  PC_SCROLL_LOCK_CLASS: "tiny-dialog-box__scroll-lock",
+  MOBILE_FIRST_SCROLL_LOCK_CLASS: "tiny-modal-lockscroll",
+  Mode: "pc",
+  SCROLL_LOCK_CLASS: function SCROLL_LOCK_CLASS2(mode) {
+    return mode === this.Mode ? this.PC_SCROLL_LOCK_CLASS : this.MOBILE_FIRST_SCROLL_LOCK_CLASS;
+  }
+};
+var modalProps = _extends$a({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default48() {
+      return $constants$6;
+    }
+  },
+  animat: {
+    type: Boolean,
+    default: function _default214() {
+      return true;
+    }
+  },
+  beforeClose: Function,
+  duration: {
+    type: [Number, String],
+    default: function _default310() {
+      return 3e3;
+    }
+  },
+  escClosable: Boolean,
+  events: Object,
+  fullscreen: Boolean,
+  height: [Number, String],
+  id: String,
+  isFormReset: {
+    type: Boolean,
+    default: true
+  },
+  lockScroll: Boolean,
+  lockView: {
+    type: Boolean,
+    default: function _default49() {
+      return true;
+    }
+  },
+  marginSize: {
+    type: [Number, String],
+    default: 10
+  },
+  mask: {
+    type: Boolean,
+    default: function _default55() {
+      return true;
+    }
+  },
+  maskClosable: Boolean,
+  message: [String, Function, Object],
+  minHeight: {
+    type: [Number, String],
+    default: function _default65() {
+      return 200;
+    }
+  },
+  minWidth: {
+    type: [Number, String],
+    default: function _default74() {
+      return 340;
+    }
+  },
+  modelValue: Boolean,
+  resize: Boolean,
+  showFooter: Boolean,
+  showHeader: {
+    type: Boolean,
+    default: true
+  },
+  status: {
+    type: [String, Object],
+    default: ""
+  },
+  title: String,
+  top: {
+    type: [Number, String],
+    default: 80
+  },
+  type: {
+    type: String,
+    default: "alert"
+  },
+  vSize: String,
+  width: [Number, String],
+  zIndex: [Number, String],
+  description: String,
+  options: Array,
+  showClose: {
+    type: Boolean,
+    default: true
+  },
+  confirmContent: String,
+  cancelContent: String,
+  position: {
+    type: String,
+    default: "",
+    validator: function validator11(val) {
+      return ["", "bottom-right"].includes(val);
+    }
+  },
+  customClass: String,
+  confirmBtnProps: {
+    type: Object,
+    default: function _default84() {
+      return {};
+    }
+  },
+  cancelBtnProps: {
+    type: Object,
+    default: function _default94() {
+      return {};
+    }
+  },
+  footerDragable: Boolean,
+  tiny_theme: String,
+  slots: Object
+});
+var TINYModal = defineComponent({
+  name: $prefix + "Modal",
+  componentName: "Modal",
+  props: modalProps,
+  setup: function setup13(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$9
+    });
+  }
+});
+var version$c = "3.16.0";
+TINYModal.version = version$c;
+TINYModal.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+function Modal(options2) {
+  var modalPromise = new Promise(function(resolve) {
+    if (options2 && options2.id && MsgQueue.some(function(comp) {
+      return comp.id === options2.id;
+    })) {
+      resolve("exist");
+    } else {
+      var events = options2.events || {};
+      var $modal;
+      options2.events = Object.assign({}, events, {
+        hide: function hide2(params2) {
+          events.hide && events.hide.call(this, params2);
+          if ($modal.beforeUnmouted) {
+            $modal.beforeUnmouted();
+          }
+          resolve(params2.type);
+        },
+        confirm: function confirm2(params2) {
+          events.confirm && events.confirm.call(this, params2);
+        },
+        show: function show2(params2) {
+          events.show && events.show.call(this, params2);
+        }
+      });
+      $modal = createComponent({
+        el: document.createElement("div"),
+        propsData: Object.assign({
+          "tiny_mode": TINYModal.tiny_mode,
+          "tiny_theme": TINYModal.tiny_theme
+        }, options2),
+        component: options2.componentType === "popconfirm" ? Popconfirm : TINYModal
+      });
+      var open2 = $modal[options2.componentType === "popconfirm" ? "show" : "open"];
+      if (open2) {
+        open2();
+      }
+      setTimeout(function() {
+        return modalPromise.vm = $modal;
+      }, 0);
+    }
+  });
+  return modalPromise;
+}
+var modal = Modal;
+var types = ["alert", "confirm", "message", "popconfirm"];
+var defOpts = {
+  alert: {
+    showFooter: true,
+    type: "alert"
+  },
+  confirm: {
+    showFooter: true,
+    status: "question",
+    type: "confirm"
+  },
+  message: {
+    mask: false,
+    lockView: false,
+    showHeader: false,
+    showClose: false,
+    type: "message"
+  },
+  popconfirm: {}
+};
+types.forEach(function(type2) {
+  TINYModal[type2] = Modal[type2] = function(message2, title2, options2) {
+    var opts2;
+    if (typeof message2 === "object" && message2 !== null) {
+      opts2 = message2;
+    } else if (title2) {
+      opts2 = {
+        title: title2
+      };
+    }
+    if (message2 === void 0 || message2 === null) {
+      message2 = "";
+    }
+    return modal(_extends$a({
+      message: message2.toString()
+    }, defOpts[type2], opts2, options2, {
+      componentType: type2
+    }));
+  };
+});
+TINYModal.installed = false;
+setupComponent.TINYModal = {
+  install: function install2(Vue) {
+    var _process$env2;
+    if (TINYModal.installed)
+      return;
+    var isVue22 = !!Vue.component;
+    var tinyMode = isVue22 ? Vue.prototype.tiny_mode : Vue.config.globalProperties.tiny_mode;
+    var tinyTheme = isVue22 ? Vue.prototype.tiny_theme : Vue.config.globalProperties.tiny_theme;
+    var specifyPc = typeof process === "object" ? (_process$env2 = {}) == null ? void 0 : _process$env2.TINY_MODE : null;
+    TINYModal.tiny_mode = specifyPc || tinyMode && tinyMode.value;
+    TINYModal.tiny_theme = tinyTheme && tinyTheme.value;
+    TINYModal.installed = true;
+  },
+  init: function init2(root) {
+    var prefix = root.$TinyModalApiPrefix || root.$apiPrefix || "$";
+    root[prefix + "alert"] = Modal.alert;
+    root[prefix + "message"] = Modal.message;
+    root[prefix + "confirm"] = Modal.confirm;
+    root[prefix + "popconfirm"] = Modal.popconfirm;
+  }
+};
+TINYModal.install = function(Vue) {
+  Vue.component(TINYModal.name, TINYModal);
+};
+const NODE_KEY = "$treeNodeId";
+const getNodeKey$2 = function(key2, data2) {
+  if (!key2) {
+    return data2[NODE_KEY];
+  }
+  return data2[key2];
+};
+const markNodeData = function(node, data2) {
+  if (!data2 || data2[NODE_KEY]) {
+    return;
+  }
+  Object.defineProperty(data2, NODE_KEY, {
+    value: node.id,
+    enumerable: false,
+    configurable: false,
+    writable: false
+  });
+};
+const defaultChildrenKey = "children";
+const defaultIsLeafKey = "isLeaf";
+const getPropertyFromData = (node, prop2) => {
+  const props2 = node.store.props;
+  const dataData = node.data || {};
+  const config2 = props2[prop2];
+  if (typeOf(config2) === "string") {
+    return dataData[config2];
+  } else if (typeOf(config2) === "function") {
+    return config2(dataData, node);
+  } else if (typeof config2 === "undefined") {
+    const dataProp = dataData[prop2];
+    return dataProp === void 0 ? "" : dataProp;
+  }
+};
+const getChildState = (node) => {
+  let all3 = true;
+  let none = true;
+  let allWithoutDisable = true;
+  for (let i2 = 0, len2 = node.length; i2 < len2; i2++) {
+    const { checked, disabled, indeterminate } = node[i2];
+    if (checked !== true || indeterminate) {
+      all3 = false;
+      if (!disabled) {
+        allWithoutDisable = false;
+      }
+    }
+    if (checked !== false || indeterminate) {
+      none = false;
+    }
+  }
+  const half = !all3 && !none;
+  return { all: all3, none, allWithoutDisable, half };
+};
+const reInitChecked = (node) => {
+  const childNodes = node.childNodes;
+  if (childNodes.length === 0) {
+    return;
+  }
+  const { all: all3, none, half } = getChildState(childNodes);
+  if (all3) {
+    Object.assign(node, { checked: true, indeterminate: false });
+  } else if (half) {
+    Object.assign(node, { checked: false, indeterminate: true });
+  } else if (none) {
+    Object.assign(node, { checked: false, indeterminate: false });
+  }
+  const parent3 = node.parent;
+  if (!parent3 || parent3.level === 0) {
+    return;
+  }
+  !node.store.checkStrictly && reInitChecked(parent3);
+};
+let nodeIdSeed = 0;
+let Node$1 = class Node2 {
+  constructor(options2) {
+    this.init(options2);
+    const store = this.store;
+    if (!store) {
+      throw new Error("[TINY-Tree][Node]store is required!");
+    }
+    store.registerNode(this);
+    const props2 = store.props;
+    if (props2 && typeof props2.isLeaf !== "undefined") {
+      const isLeaf = getPropertyFromData(this, defaultIsLeafKey);
+      if (typeof isLeaf === "boolean") {
+        this.isLeafByUser = isLeaf;
+      }
+    }
+    this.initExpandState();
+    if (!Array.isArray(this.data)) {
+      markNodeData(this, this.data);
+    }
+    if (!this.data) {
+      return;
+    }
+    this.expandByDefaultKeys();
+    const { key: key2, lazy, currentNodeKey } = store;
+    if (key2 && currentNodeKey !== void 0 && this.key === currentNodeKey) {
+      store.currentNode = this;
+      store.currentNode.isCurrent = true;
+    }
+    lazy && store._initDefaultCheckedNode(this);
+    this.updateLeafState();
+  }
+  initExpandState() {
+    const { store, data: data2, level } = this;
+    if (store.lazy !== true && data2) {
+      this.setData(data2);
+      if (store.defaultExpandAll) {
+        this.expanded = true;
+        this.updateMethod(this, "expanded");
+      }
+    } else if (level > 0 && store.lazy && store.defaultExpandAll) {
+      this.expand();
+    }
+  }
+  init(options2) {
+    var _a2, _b2;
+    this.id = nodeIdSeed++;
+    this.checked = false;
+    this.indeterminate = false;
+    this.expanded = false;
+    this.visible = true;
+    this.isCurrent = false;
+    this.text = null;
+    this.data = null;
+    this.parent = null;
+    this.updateMethod = () => {
+    };
+    Object.keys(options2).forEach((key2) => {
+      if (hasOwn$1.call(options2, key2)) {
+        this[key2] = options2[key2];
+      }
+    });
+    const isLeafKey = ((_b2 = (_a2 = this.store) == null ? void 0 : _a2.props) == null ? void 0 : _b2.isLeaf) || defaultIsLeafKey;
+    this.isLeaf = !!(this.data && this.data[isLeafKey]);
+    this.loaded = this.isLeaf;
+    this.loading = false;
+    this.childNodes = [];
+    this.level = this.parent ? this.parent.level + 1 : 0;
+  }
+  expandByDefaultKeys() {
+    const { defaultExpandedKeys, key: key2, autoExpandParent } = this.store;
+    if (key2 && defaultExpandedKeys && ~defaultExpandedKeys.indexOf(this.key)) {
+      this.expand(null, autoExpandParent);
+    }
+  }
+  setData(data2) {
+    if (!Array.isArray(data2)) {
+      markNodeData(this, data2);
+    }
+    this.data = data2;
+    this.childNodes = [];
+    let children3;
+    if (this.level === 0 && Array.isArray(this.data)) {
+      children3 = this.data;
+    } else {
+      children3 = getPropertyFromData(this, defaultChildrenKey) || [];
+    }
+    for (let i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+      const data22 = children3[i2];
+      this.insertChild({ data: data22 });
+    }
+  }
+  get key() {
+    const { store, data: data2 } = this;
+    const nodeKey = store.key;
+    if (data2) {
+      return data2[nodeKey];
+    }
+    return null;
+  }
+  get label() {
+    return getPropertyFromData(this, "label");
+  }
+  get disabled() {
+    return getPropertyFromData(this, "disabled");
+  }
+  get nextSibling() {
+    const parent3 = this.parent;
+    if (parent3) {
+      const childNodes = parent3.childNodes;
+      const index3 = childNodes.indexOf(this);
+      if (~index3) {
+        return childNodes[index3 + 1];
+      }
+    }
+    return null;
+  }
+  get previousSibling() {
+    const parent3 = this.parent;
+    if (parent3) {
+      const childNodes = parent3.childNodes;
+      const index3 = childNodes.indexOf(this);
+      if (~index3) {
+        return index3 > 0 ? childNodes[index3 - 1] : null;
+      }
+    }
+    return null;
+  }
+  remove() {
+    const parent3 = this.parent;
+    parent3 && parent3.removeChild(this);
+  }
+  contains(target, deep = true) {
+    const walkTree = (parent3) => {
+      const children3 = parent3.childNodes || [];
+      let isContain = false;
+      for (let i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+        const child = children3[i2];
+        if (child === target || deep && walkTree(child)) {
+          isContain = true;
+          break;
+        }
+      }
+      return isContain;
+    };
+    return walkTree(this);
+  }
+  insertChild(child, index3, batch) {
+    if (!child) {
+      throw new Error("[TINY-Tree] insertChild error: child is required.");
+    }
+    const insertNode = ({ arr, index: index244, item }) => {
+      if (typeof index244 === "undefined" || index244 < 0) {
+        arr.push(item);
+      } else {
+        arr.splice(index244, 0, item);
+      }
+    };
+    if (!(child instanceof Node2)) {
+      if (!batch) {
+        const children3 = this.getChildren(true) || [];
+        if (!~children3.indexOf(child.data)) {
+          insertNode({ arr: children3, index: index3, item: child.data });
+        }
+      }
+      merge$2(child, { parent: this, store: this.store });
+      child = new Node2(child);
+    }
+    child.level = this.level + 1;
+    insertNode({ arr: this.childNodes, index: index3, item: child });
+    this.updateLeafState();
+  }
+  insertBefore(child, beforeNode) {
+    let index3;
+    if (beforeNode) {
+      index3 = this.childNodes.indexOf(beforeNode);
+    }
+    this.insertChild(child, index3);
+  }
+  insertAfter(child, afterNode) {
+    let index3;
+    if (afterNode) {
+      index3 = this.childNodes.indexOf(afterNode);
+      if (~index3) {
+        index3 += 1;
+      }
+    }
+    this.insertChild(child, index3);
+  }
+  removeChild(child) {
+    const children3 = this.getChildren() || [];
+    let index3 = children3.indexOf(child.data);
+    if (~index3) {
+      children3.splice(index3, 1);
+    }
+    index3 = this.childNodes.indexOf(child);
+    if (~index3) {
+      this.store && this.store.deregisterNode(child);
+      child.parent = null;
+      this.childNodes.splice(index3, 1);
+    }
+    this.updateLeafState();
+  }
+  removeChildByData(data2) {
+    let removeNode2 = null;
+    for (let i2 = 0, len2 = this.childNodes.length; i2 < len2; i2++) {
+      const child = this.childNodes[i2];
+      if (child.data === data2) {
+        removeNode2 = child;
+        break;
+      }
+    }
+    removeNode2 && this.removeChild(removeNode2);
+  }
+  expand(callback, expandParent) {
+    const expandNodes = () => {
+      if (expandParent) {
+        let parentNode2 = this.parent;
+        while (parentNode2.level > 0) {
+          parentNode2.expanded = true;
+          parentNode2.updateMethod(parentNode2, "expanded");
+          parentNode2 = parentNode2.parent;
+        }
+      }
+      this.expanded = true;
+      this.updateMethod(this, "expanded");
+      callback && callback();
+    };
+    if (this.shouldLoadData()) {
+      this.loadData((data2) => {
+        if (Array.isArray(data2)) {
+          if (this.checked) {
+            this.setChecked(true, true);
+          } else if (!this.store.checkStrictly) {
+            reInitChecked(this);
+          }
+          expandNodes();
+        }
+      });
+    } else {
+      expandNodes();
+    }
+  }
+  doCreateChildren(array, defaultProps = {}) {
+    array.forEach((data2) => {
+      this.insertChild(merge$2({ data: data2 }, defaultProps), void 0, true);
+    });
+  }
+  collapse() {
+    this.expanded = false;
+    this.updateMethod(this, "expanded");
+  }
+  shouldLoadData() {
+    return this.store.lazy === true && this.store.load && !this.loaded;
+  }
+  updateLeafState() {
+    const { store, loaded, isLeafByUser } = this;
+    const lazy = store.lazy;
+    if (lazy === true && loaded !== true && typeof isLeafByUser !== "undefined") {
+      this.isLeaf = isLeafByUser;
+      return;
+    }
+    const childs = this.childNodes;
+    if (!lazy || lazy === true && loaded === true) {
+      this.isLeaf = !childs || childs.length === 0;
+      return;
+    }
+    this.isLeaf = false;
+  }
+  getChildren(forceInit = false) {
+    const { level, data: data2 } = this;
+    if (level === 0) {
+      return data2;
+    }
+    if (!data2) {
+      return null;
+    }
+    const props2 = this.store.props;
+    let childrenKey = defaultChildrenKey;
+    if (props2) {
+      childrenKey = props2.children || defaultChildrenKey;
+    }
+    if (data2[childrenKey] === void 0) {
+      data2[childrenKey] = null;
+    }
+    if (forceInit && !data2[childrenKey]) {
+      data2[childrenKey] = [];
+    }
+    return data2[childrenKey];
+  }
+  setChecked(value, isDeepChecked, recursion, passValue, checkEasily) {
+    this.checked = value === true;
+    this.indeterminate = value === "half";
+    const { checkStrictly, checkDescendants } = this.store;
+    if (checkStrictly && !checkEasily) {
+      return;
+    }
+    let ret = this.setCheckedInner({
+      checkDescendants,
+      value,
+      isDeepChecked,
+      passValue,
+      checkEasily
+    });
+    let returnFlag = ret.returnFlag;
+    passValue = ret.passValue;
+    value = ret.value;
+    if (returnFlag || checkStrictly && checkEasily) {
+      return;
+    }
+    const parentNode2 = this.parent;
+    if (!parentNode2 || parentNode2.level === 0) {
+      return;
+    }
+    if (!recursion) {
+      reInitChecked(parentNode2);
+    }
+  }
+  setCheckedInner({ checkDescendants, value, isDeepChecked, passValue, checkEasily }) {
+    let returnFlag = false;
+    if (this.shouldLoadData() && !checkDescendants) {
+      return { value, passValue, returnFlag };
+    }
+    const { all: all3, allWithoutDisable } = getChildState(this.childNodes);
+    if (!this.isLeaf && !all3 && allWithoutDisable && !checkEasily) {
+      this.checked = false;
+      value = false;
+    }
+    const batchSetChecked = () => {
+      if (isDeepChecked) {
+        const childNodes = this.childNodes;
+        for (let i2 = 0, len2 = childNodes.length; i2 < len2; i2++) {
+          const childNode = childNodes[i2];
+          passValue = passValue || value !== false;
+          const isCheck = childNode.disabled ? childNode.checked : passValue;
+          childNode.setChecked(isCheck, isDeepChecked, true, passValue, checkEasily);
+        }
+        const { half, all: all22 } = getChildState(childNodes);
+        if (!all22 && !checkEasily) {
+          this.checked = all22;
+          this.indeterminate = half;
+        }
+      }
+    };
+    if (this.shouldLoadData()) {
+      const afterLoad = () => {
+        batchSetChecked();
+        reInitChecked(this);
+      };
+      this.loadData(afterLoad, { checked: value !== false });
+      returnFlag = true;
+    } else {
+      batchSetChecked();
+    }
+    return { value, passValue, returnFlag };
+  }
+  updateChildren() {
+    const children3 = this.getChildren() || [];
+    const oldChildren = this.childNodes.map((child) => child.data);
+    const newChildrenMap = {};
+    const newChildren = [];
+    children3.forEach((item, index3) => {
+      const key2 = item[NODE_KEY];
+      const isNodeExists = !!key2 && indexOf$1(oldChildren, key2, (item2, data2) => item2[NODE_KEY] === data2) >= 0;
+      if (isNodeExists) {
+        newChildrenMap[key2] = { index: index3, data: item };
+      } else {
+        newChildren.push({ index: index3, data: item });
+      }
+    });
+    if (!this.store.lazy) {
+      oldChildren.forEach((item) => {
+        if (!newChildrenMap[item[NODE_KEY]]) {
+          this.removeChildByData(item);
+        }
+      });
+    }
+    newChildren.forEach(({ data: data2, index: index3 }) => {
+      this.insertChild({ data: data2 }, index3);
+    });
+    this.updateLeafState();
+  }
+  loadData(callback, defaultProps = {}) {
+    const { lazy, load } = this.store;
+    if (lazy === true && load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {
+      this.loading = true;
+      this.store.load(this, (children3) => {
+        this.loading = false;
+        this.loaded = true;
+        this.childNodes = [];
+        this.doCreateChildren(children3, defaultProps);
+        this.updateLeafState();
+        callback && callback.call(this, children3);
+        typeof this.store.afterLoad === "function" && this.store.afterLoad({ data: children3 });
+      });
+    } else {
+      callback && callback.call(this);
+    }
+  }
+  getPathData(key2) {
+    const nodes = [key2 ? this.data[key2] : this.data];
+    let parentNode2 = this.parent;
+    while (parentNode2 && parentNode2.parent) {
+      nodes.unshift(key2 ? parentNode2.data[key2] : parentNode2.data);
+      parentNode2 = parentNode2.parent;
+    }
+    return nodes;
+  }
+  getPathText(key2, separator = ",") {
+    return (this.getPathData(key2) || []).join(separator);
+  }
+};
+class TreeStore {
+  constructor(options2) {
+    this.currentNode = null;
+    this.currentNodeKey = null;
+    for (let option in options2) {
+      if (hasOwn$1.call(options2, option)) {
+        this[option] = options2[option];
+      }
+    }
+    this.nodesMap = {};
+    this.root = new Node$1({ data: this.data, store: this });
+    if (this.lazy && this.load) {
+      this.load(this.root, (data2) => {
+        this.root.doCreateChildren(data2);
+        this._initDefaultCheckedNodes();
+        typeof this.afterLoad === "function" && this.afterLoad({ data: data2, init: true });
+      });
+    } else {
+      this._initDefaultCheckedNodes();
+    }
+  }
+  filter(value) {
+    const { lazy, filterNodeMethod } = this;
+    const walkTree = (node) => {
+      const childNodes = node.root ? node.root.childNodes : node.childNodes;
+      childNodes.forEach((child) => {
+        child.visible = filterNodeMethod.call(child, value, child.data, child);
+        walkTree(child);
+      });
+      if (!node.visible && childNodes.length) {
+        let allHidden = !childNodes.some(({ visible }) => visible);
+        if (node.root) {
+          node.root.visible = allHidden === false;
+        } else {
+          node.visible = allHidden === false;
+        }
+      }
+      if (!value) {
+        return;
+      }
+      if (node.visible && !node.isLeaf && !lazy) {
+        node.expand();
+      }
+    };
+    walkTree(this);
+  }
+  setData(newVal) {
+    if (newVal !== this.root.data) {
+      this.root.setData(newVal);
+      this._initDefaultCheckedNodes();
+    } else {
+      this.root.updateChildren();
+    }
+  }
+  getNode(data2) {
+    if (data2 instanceof Node$1) {
+      return data2;
+    }
+    const nodeKey = typeof data2 !== "object" ? data2 : getNodeKey$2(this.key, data2);
+    return this.nodesMap[nodeKey] || null;
+  }
+  insertBefore(data2, insertData) {
+    const refNode = this.getNode(insertData);
+    refNode.parent.insertBefore({ data: data2 }, refNode);
+  }
+  insertAfter(data2, insertData) {
+    const refNode = this.getNode(insertData);
+    refNode.parent.insertAfter({ data: data2 }, refNode);
+  }
+  remove(data2, isSaveChildNode, isNode) {
+    const treeNode = isNode ? data2 : this.getNode(data2);
+    if (treeNode && treeNode.parent) {
+      if (treeNode === this.currentNode) {
+        this.currentNode = null;
+      }
+      if (isSaveChildNode && treeNode.childNodes) {
+        treeNode.childNodes.forEach((child) => {
+          treeNode.parent.insertChild({ data: child.data });
+        });
+      }
+      treeNode.parent.removeChild(treeNode);
+    }
+  }
+  append(data2, parentData, index3) {
+    const parentNode2 = parentData ? this.getNode(parentData) : this.root;
+    parentNode2 && parentNode2.insertChild({ data: data2 }, index3);
+  }
+  setDefaultCheckedKey(newValue) {
+    if (newValue !== this.defaultCheckedKeys) {
+      this.defaultCheckedKeys = newValue;
+      this._initDefaultCheckedNodes();
+    }
+  }
+  _initDefaultCheckedNodes() {
+    const defaultCheckedKeys = this.defaultCheckedKeys || [];
+    const nodesMap = this.nodesMap;
+    defaultCheckedKeys.forEach((checkedKey) => {
+      const node = nodesMap[checkedKey];
+      node && node.setChecked(true, !this.checkStrictly);
+    });
+  }
+  _initDefaultCheckedNode(node) {
+    const defaultCheckedKeys = this.defaultCheckedKeys || [];
+    ~defaultCheckedKeys.indexOf(node.key) && node.setChecked(true, !this.checkStrictly);
+  }
+  getCheckedKeys(leafOnly = false) {
+    return this.getCheckedNodes(leafOnly).map((node) => (node || {})[this.key]);
+  }
+  getHalfCheckedKeys() {
+    return this.getHalfCheckedNodes().map((node) => (node || {})[this.key]);
+  }
+  deregisterNode(node) {
+    const key2 = this.key;
+    if (!key2 || !node || !node.data) {
+      return;
+    }
+    node.childNodes.forEach((child) => {
+      this.deregisterNode(child);
+    });
+    delete this.nodesMap[node.key];
+  }
+  registerNode(node) {
+    const key2 = this.key;
+    if (!key2 || !node || !node.data) {
+      return;
+    }
+    const nodeKey = node.key;
+    if (nodeKey !== void 0) {
+      this.nodesMap[nodeKey] = node;
+    }
+  }
+  getCheckedNodes(leafOnly = false, includeHalfChecked = false, isNode = false) {
+    const checkedNodes = [];
+    const walkTree = (node) => {
+      const childNodes = node.root ? node.root.childNodes : node.childNodes;
+      childNodes.forEach((child) => {
+        const { checked, indeterminate, isLeaf, data: data2 } = child;
+        if ((checked || includeHalfChecked && indeterminate) && (!leafOnly || leafOnly && isLeaf)) {
+          checkedNodes.push(isNode ? child : data2);
+        }
+        walkTree(child);
+      });
+    };
+    walkTree(this);
+    return checkedNodes;
+  }
+  getHalfCheckedNodes() {
+    const nodes = [];
+    const walkTree = (node) => {
+      const childNodes = node.root ? node.root.childNodes : node.childNodes;
+      childNodes.forEach((child) => {
+        const { indeterminate, data: data2 } = child;
+        indeterminate && nodes.push(data2);
+        walkTree(child);
+      });
+    };
+    walkTree(this);
+    return nodes;
+  }
+  _getAllNodes() {
+    const allNodes = [];
+    const nodesMap = this.nodesMap;
+    Object.keys(nodesMap).forEach((nodeKey) => {
+      hasOwn$1.call(nodesMap, nodeKey) && allNodes.push(nodesMap[nodeKey]);
+    });
+    return allNodes;
+  }
+  updateChildren(key2, data2) {
+    const node = this.nodesMap[key2];
+    if (!node) {
+      return;
+    }
+    const childNodes = node.childNodes;
+    for (let i2 = childNodes.length - 1; i2 >= 0; i2--) {
+      this.remove(childNodes[i2].data);
+    }
+    for (let i2 = 0, len2 = data2.length; i2 < len2; i2++) {
+      const child = data2[i2];
+      this.append(child, node.data);
+    }
+  }
+  _setCheckedKeys(key2, leafOnly = false, checkedKeys = {}) {
+    const nodes = this._getAllNodes().sort((prevNode, nextNode) => nextNode.level - prevNode.level);
+    const cache = /* @__PURE__ */ Object.create(null);
+    const keys2 = Object.keys(checkedKeys);
+    nodes.forEach((node) => {
+      node.setChecked(false, false);
+    });
+    for (let i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+      const node = nodes[i2];
+      const nodeKey = node.data[key2].toString();
+      let checked = ~keys2.indexOf(nodeKey);
+      if (!checked) {
+        if (node.checked && !cache[nodeKey]) {
+          node.setChecked(false, false);
+        }
+      } else {
+        let parentNode2 = node.parent;
+        while (parentNode2 && parentNode2.level > 0) {
+          cache[parentNode2.data[key2]] = true;
+          parentNode2 = parentNode2.parent;
+        }
+        if (node.isLeaf || this.checkStrictly) {
+          node.setChecked(true, false);
+        } else if (leafOnly) {
+          node.setChecked(false, false);
+          const walkTree = (node2) => {
+            const childNodes = node2.childNodes;
+            childNodes.forEach((child) => {
+              !child.isLeaf && child.setChecked(false, false);
+              walkTree(child);
+            });
+          };
+          walkTree(node);
+        } else {
+          node.setChecked(true, true);
+        }
+      }
+    }
+  }
+  setDefaultExpandedKeys(keys2) {
+    keys2 = keys2 || [];
+    this.defaultExpandedKeys = keys2;
+    keys2.forEach((key2) => {
+      const node = this.getNode(key2);
+      node && node.expand(null, this.autoExpandParent);
+    });
+  }
+  setCheckedKeys(keys2, leafOnly = false) {
+    this.defaultCheckedKeys = keys2;
+    const checkedKeys = {};
+    keys2.forEach((key2) => {
+      checkedKeys[key2] = true;
+    });
+    this._setCheckedKeys(this.key, leafOnly, checkedKeys);
+  }
+  setCheckedNodes(array, leafOnly = false) {
+    const key2 = this.key;
+    const checkedKeys = {};
+    array.forEach((item) => {
+      checkedKeys[(item || {})[key2]] = true;
+    });
+    this._setCheckedKeys(key2, leafOnly, checkedKeys);
+  }
+  setChecked(data2, checked, deep) {
+    const node = this.getNode(data2);
+    node && node.setChecked(!!checked, deep);
+  }
+  setCurrentNode(currentNode) {
+    const prevNode = this.currentNode;
+    if (prevNode) {
+      prevNode.isCurrent = false;
+    }
+    this.currentNode = currentNode;
+    if (currentNode) {
+      this.currentNode.isCurrent = true;
+    }
+  }
+  getCurrentNode() {
+    return this.currentNode;
+  }
+  setCurrentNodeKey(key2) {
+    if (isNull$2(key2)) {
+      this.currentNode && (this.currentNode.isCurrent = false);
+      this.currentNode = null;
+      return;
+    }
+    const node = this.getNode(key2);
+    node && this.setCurrentNode(node);
+  }
+  setUserCurrentNode(node) {
+    const key2 = node[this.key];
+    const currNode = this.nodesMap[key2];
+    this.setCurrentNode(currNode);
+  }
+  getData(data2) {
+    return (this.getNode(data2) || {}).data;
+  }
+  getAllData() {
+    const children3 = this.props.children;
+    const walkTree = (nodes) => {
+      return nodes.map((node) => {
+        return __spreadProps(__spreadValues({}, node.data), { [children3]: walkTree(node.childNodes) });
+      });
+    };
+    return walkTree(this.root.childNodes);
+  }
+}
+const setChildren = (props2) => (data2) => props2.data = data2;
+const getChildren = () => (props2) => props2.data;
+const computedTreeItemArray = () => (props2, state) => Array.prototype.slice.call(state.treeItems);
+const computedShowEmptyText = ({ constants, t: t2 }) => (props2) => props2.emptyText || t2(constants.EMPTY_TEXT_LOCAL);
+const computedIsEmpty = () => (props2, state) => {
+  const { childNodes } = state.root;
+  return !childNodes || childNodes.length === 0 || childNodes.every(({ visible }) => !visible) || props2.viewType === "plain" && state.plainNodeStore.filteredNodes.length === 0;
+};
+const watchDefaultCheckedKeys = (state) => (value) => {
+  state.store.setDefaultCheckedKey(value);
+};
+const watchDefaultExpandedKeys = ({ state, api: api2, nextTick: nextTick2 }) => (value) => {
+  api2.expandAllNodes(false);
+  nextTick2(() => {
+    state.store.defaultExpandedKeys = value;
+    state.store.setDefaultExpandedKeys(value);
+    api2.initIsCurrent();
+  });
+};
+const watchData = ({ state }) => (data2) => {
+  state.store.setData(data2);
+};
+const watchCheckboxItems = () => (value) => {
+  Array.prototype.forEach.call(value, (checkbox) => {
+    checkbox.setAttribute("tabindex", -1);
+  });
+};
+const watchCheckStrictly = (state) => (value) => {
+  state.store.checkStrictly = value;
+};
+const dragStart = ({ props: props2, state, emit }) => (event2, treeNode) => {
+  if (typeof props2.allowDrag === "function" && !props2.allowDrag(treeNode.node)) {
+    event2.preventDefault();
+    return false;
+  }
+  if (!event2.dataTransfer) {
+    return false;
+  }
+  event2.dataTransfer.effectAllowed = "copy";
+  try {
+    event2.dataTransfer.setData("text/plain", "");
+  } catch (e2) {
+  }
+  state.dragState.draggingNode = treeNode;
+  emit("node-drag-start", treeNode.node, event2);
+};
+const getDropType = (dropPrev, dropInner, dropNext, dropNode) => {
+  let dropType;
+  const targetPosition = dropNode.$el.getBoundingClientRect();
+  const prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;
+  const nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1;
+  const distance2 = event.clientY - targetPosition.top;
+  if (distance2 < targetPosition.height * prevPercent) {
+    dropType = "before";
+  } else if (distance2 > targetPosition.height * nextPercent) {
+    dropType = "after";
+  } else if (dropInner) {
+    dropType = "inner";
+  } else {
+    dropType = "none";
+  }
+  return dropType;
+};
+const setDropIndicatorTop = (dropNode, parent3, dropType) => {
+  const iconElement = dropNode.$el.querySelector(".tiny-tree-node");
+  const dropIndicator = parent3.$refs.dropIndicator;
+  if (iconElement) {
+    const treePosition = parent3.$el.getBoundingClientRect();
+    const iconPosition = iconElement.getBoundingClientRect();
+    let indicatorTop = -9999;
+    if (dropType === "before") {
+      indicatorTop = iconPosition.top - treePosition.top;
+    } else if (dropType === "after") {
+      indicatorTop = iconPosition.bottom - treePosition.top;
+    }
+    dropIndicator.style.top = indicatorTop + "px";
+  }
+  dropType === "inner" ? addClass(dropNode.$el, "is-drop-inner") : removeClass(dropNode.$el, "is-drop-inner");
+};
+const getDragDir = ({ draggingNode, dropNode, allowDrop, emit, dragState }) => {
+  let dropPrev = true;
+  let dropInner = true;
+  let dropNext = true;
+  let userAllowDropInner = true;
+  const oldDropNode = dragState.dropNode;
+  if (typeof allowDrop === "function") {
+    dropPrev = allowDrop(draggingNode.node, dropNode.node, "prev");
+    userAllowDropInner = dropInner = allowDrop(draggingNode.node, dropNode.node, "inner");
+    dropNext = allowDrop(draggingNode.node, dropNode.node, "next");
+  }
+  event.dataTransfer.dropEffect = dropInner ? "copy" : "none";
+  if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {
+    oldDropNode && emit("node-drag-leave", draggingNode.node, oldDropNode.node, event);
+    emit("node-drag-enter", draggingNode.node, dropNode.node, event);
+  }
+  if (dropPrev || dropInner || dropNext) {
+    dragState.dropNode = dropNode;
+  }
+  if (dropNode.node.previousSibling === draggingNode.node) {
+    dropPrev = false;
+  }
+  if (dropNode.node.nextSibling === draggingNode.node) {
+    dropNext = false;
+  }
+  if (dropNode.node.contains(draggingNode.node, false)) {
+    dropInner = false;
+  }
+  if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {
+    dropPrev = false;
+    dropInner = false;
+    dropNext = false;
+  }
+  return { dropPrev, dropInner, dropNext, userAllowDropInner };
+};
+const dragOver = ({ state, emit, props: props2, vm }) => (event2, dropNode) => {
+  const dragState = state.dragState;
+  const oldDropNode = dragState.dropNode;
+  if (oldDropNode && oldDropNode !== dropNode) {
+    removeClass(oldDropNode.$el, "is-drop-inner");
+  }
+  const draggingNode = dragState.draggingNode;
+  if (!draggingNode || !dropNode) {
+    return;
+  }
+  const { dropPrev, dropInner, dropNext, userAllowDropInner } = getDragDir({
+    draggingNode,
+    dropNode,
+    allowDrop: props2.allowDrop,
+    emit,
+    dragState
+  });
+  const dropType = getDropType(dropPrev, dropInner, dropNext, dropNode);
+  setDropIndicatorTop(dropNode, vm, dropType);
+  dragState.showDropIndicator = dropType === "before" || dropType === "after";
+  dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;
+  dragState.dropType = dropType;
+  emit("node-drag-over", draggingNode.node, dropNode.node, event2);
+};
+const dragEnd = ({ state, emit }) => (event2) => {
+  const dragState = state.dragState;
+  const { draggingNode, dropType, dropNode } = dragState;
+  event2.preventDefault();
+  if (!event2.dataTransfer) {
+    return;
+  }
+  event2.dataTransfer.dropEffect = "copy";
+  if (draggingNode && dropNode) {
+    const draggingNodeCopy = { data: draggingNode.node.data };
+    const normalType = dropType !== "none";
+    normalType && draggingNode.node.remove();
+    if (dropType === "before") {
+      dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);
+    } else if (dropType === "after") {
+      dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);
+    } else if (dropType === "inner") {
+      dropNode.node.insertChild(draggingNodeCopy);
+    }
+    normalType && state.store.registerNode(draggingNodeCopy);
+    removeClass(dropNode.$el, "is-drop-inner");
+    emit("node-drag-end", draggingNode.node, dropNode.node, dropType, event2);
+    normalType && emit("node-drop", draggingNode.node, dropNode.node, dropType, event2);
+  }
+  if (draggingNode && !dropNode) {
+    emit("node-drag-end", draggingNode.node, null, dropType, event2);
+  }
+  dragState.draggingNode = null;
+  dragState.dropNode = null;
+  dragState.allowDrop = true;
+  dragState.showDropIndicator = false;
+};
+const afterLoadHandler = ({ state, emit, props: props2, api: api2 }) => (params2) => {
+  const { lazy, afterLoad, showRadio } = props2;
+  state.loaded = true;
+  if (lazy) {
+    if (state.root) {
+      state.root.childNodes = [...state.root.childNodes];
+    }
+    if (showRadio) {
+      api2.setCurrentRadio();
+    }
+  }
+  emit("load-data", params2);
+  if (typeof afterLoad === "function") {
+    afterLoad(params2);
+  }
+};
+const initTreeStore = ({ api: api2, props: props2, state, emit }) => () => {
+  const { nodeKey, data: data2, lazy, load, currentNodeKey, checkStrictly, checkDescendants } = props2;
+  const { defaultCheckedKeys, defaultExpandedKeys, autoExpandParent, defaultExpandAll, filterNodeMethod } = props2;
+  state.store = new TreeStore({
+    key: nodeKey,
+    data: data2,
+    lazy,
+    props: props2.props,
+    load,
+    afterLoad: afterLoadHandler({ api: api2, emit, props: props2, state }),
+    currentNodeKey,
+    checkStrictly,
+    checkDescendants,
+    defaultCheckedKeys,
+    defaultExpandedKeys,
+    autoExpandParent,
+    defaultExpandAll,
+    filterNodeMethod
+  });
+  state.root = state.store.root;
+  api2.initIsCurrent();
+  if (props2.willChangeView) {
+    api2.initPlainNodeStore();
+  }
+};
+const created$1 = ({ api: api2, state }) => () => {
+  state.isTree = true;
+  api2.initTreeStore();
+  state.emitter.on("tree-node-drag-start", api2.dragStart);
+  state.emitter.on("tree-node-drag-over", api2.dragOver);
+  state.emitter.on("tree-node-drag-end", api2.dragEnd);
+  state.emitter.on("tree-node-save", api2.saveNode);
+  state.emitter.on("tree-node-edit", api2.editNode);
+  state.emitter.on("tree-node-delete", api2.deleteConfirm);
+  state.emitter.on("tree-node-add", api2.addNode);
+};
+const doClearCurrentStore = (state) => {
+  if (state.currentStore.node) {
+    state.currentStore.node.isCurrent = false;
+  }
+  state.currentStore.node = null;
+  state.currentStore.flag = false;
+};
+const setIsCurrent = (root, defaultExpandedKeys, defaultExpandedKeysHighlight, currentStore, nodeKey = "id") => {
+  if (currentStore.flag || !Array.isArray(root.childNodes)) {
+    return;
+  }
+  for (let i2 = 0; i2 < root.childNodes.length; i2++) {
+    const child = root.childNodes[i2];
+    if (child.data && child.data[nodeKey] && child.data[nodeKey] === defaultExpandedKeysHighlight) {
+      child.isCurrent = true;
+      currentStore.flag = true;
+      currentStore.node = child;
+      break;
+    }
+    setIsCurrent(child, defaultExpandedKeys, defaultExpandedKeysHighlight, currentStore, nodeKey);
+  }
+};
+const initIsCurrent = ({ props: props2, state }) => () => {
+  if (state.currentStore.flag) {
+    doClearCurrentStore(state);
+  }
+  if (state.store.getCurrentNode() && props2.defaultExpandedKeysHighlight) {
+    state.store.setCurrentNode(null);
+  }
+  if (props2.defaultExpandedKeysHighlight && Array.isArray(props2.defaultExpandedKeys) && (~props2.defaultExpandedKeys.indexOf(props2.defaultExpandedKeysHighlight) || props2.lazyCurrent)) {
+    setIsCurrent(
+      state.root,
+      props2.defaultExpandedKeys,
+      props2.defaultExpandedKeysHighlight,
+      state.currentStore,
+      props2.nodeKey
+    );
+  }
+};
+const mounted = ({ api: api2, vm }) => () => {
+  api2.initTabIndex();
+  on(vm.$el, "keydown", api2.handleKeydown);
+};
+const beforeUnmount = ({ api: api2, vm, state }) => () => {
+  state.action.popoverVisible = false;
+  off(vm.$el, "keydown", api2.handleKeydown);
+};
+const wrapMounted = ({ api: api2, props: props2, service }) => () => {
+  const { data: data2, nodeKey: key2, parentKey } = props2;
+  if (!data2 && props2.dataset) {
+    const dataset2 = {
+      service,
+      dataset: props2.dataset,
+      tree: { key: key2, parentKey }
+    };
+    getDataset(dataset2).then(api2.watchData);
+  }
+  api2.mounted();
+};
+const updated = ({ vm, state }) => () => {
+  state.treeItems = vm.$el.querySelectorAll("[role=treeitem]");
+  state.checkboxItems = vm.$el.querySelectorAll("input[type=checkbox]");
+};
+const filter$1 = ({ props: props2, state, api: api2 }) => (value) => {
+  if (!props2.filterNodeMethod) {
+    throw new Error("[Tree] filterNodeMethod is required when filter");
+  }
+  state.store.filter(value);
+  if (props2.willChangeView) {
+    api2.initPlainNodeStore();
+  }
+};
+const getNodeKey$1 = (props2) => (node) => getNodeKey$2(props2.nodekey, node.data);
+const getNodePath = ({ props: props2, state }) => (data2) => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in getNodePath");
+  }
+  const node = state.store.getNode(data2);
+  if (!node) {
+    return [];
+  }
+  const path2 = [node.data];
+  let parent3 = node.parent;
+  while (parent3 && parent3 !== state.root) {
+    path2.push(parent3.data);
+    parent3 = parent3.parent;
+  }
+  return path2.reverse();
+};
+const getCheckedNodes = (state) => (leafOnly, includeHalfChecked) => state.store.getCheckedNodes(leafOnly, includeHalfChecked);
+const getCheckedKeys = (state) => (leafOnly) => state.store.getCheckedKeys(leafOnly);
+const getCurrentNode$1 = (state) => () => {
+  const currentNode = state.store.getCurrentNode();
+  return currentNode ? currentNode.data : null;
+};
+const getCurrentKey$1 = ({ api: api2, props: props2 }) => () => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in getCurrentKey");
+  }
+  const currentNode = api2.getCurrentNode();
+  return currentNode ? currentNode[props2.nodeKey] : null;
+};
+const setCheckedNodes = ({ props: props2, state }) => (nodes, leafOnly) => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in setCheckedNodes");
+  }
+  state.store.setCheckedNodes(nodes, leafOnly);
+};
+const setCheckedKeys = ({ props: props2, state, api: api2 }) => (keys2, leafOnly) => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in setCheckedKeys");
+  }
+  if (props2.showRadio) {
+    api2.setCurrentRadio(keys2);
+  } else {
+    state.store.setCheckedKeys(keys2, leafOnly);
+  }
+};
+const setChecked = (state) => (data2, checked, deep) => {
+  state.store.setChecked(data2, checked, deep);
+};
+const getHalfCheckedNodes = (state) => () => state.store.getHalfCheckedNodes();
+const getHalfCheckedKeys = (state) => () => state.store.getHalfCheckedKeys();
+const setCurrentNode$1 = ({ props: props2, state }) => (node) => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in setCurrentNode");
+  }
+  state.store.setUserCurrentNode(node);
+};
+const setCurrentKey$1 = ({ props: props2, state }) => (key2) => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in setCurrentKey");
+  }
+  state.store.setCurrentNodeKey(key2);
+};
+const getNode = (state) => (data2) => state.store.getNode(data2);
+const remove = (state) => (data2, isSaveChildNode, isNode) => {
+  state.store.remove(data2, isSaveChildNode, isNode);
+};
+const append = (state) => (data2, parentNode2) => {
+  state.store.append(data2, parentNode2, 0);
+};
+const insertBefore$1 = (state) => (data2, refNode) => {
+  state.store.insertBefore(data2, refNode);
+};
+const insertAfter = (state) => (data2, refNode) => {
+  state.store.insertAfter(data2, refNode);
+};
+const handleNodeExpand = (emit) => (nodeData, node, instance) => {
+  emit("node-expand", nodeData, node, instance);
+};
+const updateKeyChildren = ({ props: props2, state }) => (key2, data2) => {
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in updateKeyChild");
+  }
+  state.store.updateChildren(key2, data2);
+};
+const initTabIndex = ({ vm, state }) => () => {
+  state.treeItems = vm.$el.querySelectorAll(".is-focusable[role=treeitem]");
+  state.checkboxItems = vm.$el.querySelectorAll("input[type=checkbox]");
+  const checkedItem = vm.$el.querySelectorAll(".is-checked[role=treeitem]");
+  if (checkedItem.length) {
+    checkedItem[0].setAttribute("tabindex", 0);
+    return;
+  }
+  state.treeItems[0] && state.treeItems[0].setAttribute("tabindex", 0);
+};
+const handleKeydown = ({ vm, state }) => (event2) => {
+  const currentItem = event2.target;
+  if (!JSON.stringify(currentItem.className).includes("tiny-tree-node")) {
+    return;
+  }
+  const keyCode = event2.keyCode;
+  state.treeItems = vm.$el.querySelectorAll(".is-focusable[role=treeitem]");
+  if ([KEY_CODE.ArrowUp, KEY_CODE.ArrowDown].includes(keyCode)) {
+    let nextIndex;
+    const currentIndex = state.treeItemArray.indexOf(currentItem);
+    event2.preventDefault();
+    if (keyCode === KEY_CODE.ArrowUp) {
+      nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;
+    } else {
+      nextIndex = currentIndex < state.treeItemArray.length - 1 ? currentIndex + 1 : 0;
+    }
+    state.treeItemArray[nextIndex].focus();
+  } else if ([KEY_CODE.ArrowLeft, KEY_CODE.ArrowRight].includes(keyCode)) {
+    event2.preventDefault();
+    currentItem.click();
+  } else if ([KEY_CODE.NumpadEnter, KEY_CODE.Space].includes(keyCode)) {
+    const hasInput = currentItem.querySelector('[type="checkbox"]');
+    if (hasInput) {
+      event2.preventDefault();
+      hasInput.click();
+    }
+  }
+};
+const initRadio = ({ node, nodeKey, checkedKey, state }) => {
+  let isFound = false;
+  if (node.data[nodeKey] === checkedKey) {
+    state.currentRadio.value = node.id;
+    isFound = true;
+    return isFound;
+  }
+  if (node.childNodes && node.childNodes.length) {
+    const childNodes = node.childNodes;
+    for (let i2 = 0; i2 < childNodes.length; i2++) {
+      isFound = initRadio({ node: childNodes[i2], nodeKey, checkedKey, state });
+      if (isFound) {
+        break;
+      }
+    }
+  }
+  return isFound;
+};
+const init$3 = ({ state, nodeKey, checkedKey }) => {
+  let isFound = false;
+  if (state.root && state.root.childNodes && state.root.childNodes.length) {
+    const rootChildNodes = state.root.childNodes;
+    for (let i2 = 0; i2 < rootChildNodes.length; i2++) {
+      isFound = initRadio({
+        node: rootChildNodes[i2],
+        nodeKey,
+        checkedKey,
+        state
+      });
+      if (isFound) {
+        break;
+      }
+    }
+  }
+};
+const setCurrentRadio = ({ props: props2, state }) => (paramCheckedKey) => {
+  if (!props2.showRadio) {
+    return;
+  }
+  if (!props2.nodeKey) {
+    throw new Error("[Tree] nodeKey is required in setCurrentRadio");
+  }
+  const nodeKey = props2.nodeKey;
+  const defaultCheckedKeys = props2.defaultCheckedKeys || paramCheckedKey || [];
+  const checkedKey = defaultCheckedKeys.length ? defaultCheckedKeys[0] : null;
+  if (!checkedKey) {
+    return;
+  }
+  init$3({ state, nodeKey, checkedKey });
+};
+const closeMenu$1 = (state) => () => state.emitter.emit("closeMenu");
+const clearCurrentStore = (state) => (node) => {
+  if (state.currentStore.flag && state.currentStore.node && state.currentStore.node.id !== node.id) {
+    doClearCurrentStore(state);
+  }
+};
+const innerExpandAllNodes = (nodes, expandFlag) => {
+  nodes.forEach((node) => {
+    if (expandFlag) {
+      if (node.childNodes.length && node.level > 1) {
+        node.expand();
+      }
+    } else {
+      node.collapse();
+    }
+    innerExpandAllNodes(node.childNodes, expandFlag);
+  });
+};
+const expandAllNodes = ({ state }) => (expandFlag) => {
+  const nodes = state.root.childNodes;
+  if (Array.isArray(nodes) && nodes.length) {
+    innerExpandAllNodes(nodes, expandFlag);
+    nodes.forEach((node) => {
+      if (expandFlag && node.childNodes.length) {
+        node.expand();
+      }
+    });
+  }
+};
+const switchToggle = ({ state }) => (val) => {
+  state.checkEasily = val;
+};
+const getSameDataIndex = (list2, data2, key2 = "$treeNodeId") => {
+  let index3 = -1;
+  list2.forEach((item, i2) => {
+    if (item[key2] === data2[key2]) {
+      index3 = i2;
+    }
+  });
+  return index3;
+};
+const editNode = ({ state }) => (node) => {
+  state.action.type = "edit";
+  state.action.label = node && node.data.label || "";
+  state.action.node = node;
+  state.action.popoverVisible = false;
+};
+const saveNode = ({ state, emit, api: api2 }) => () => {
+  const node = state.action.node;
+  if (!node) {
+    return;
+  } else if (state.action.label) {
+    node.data.label = state.action.label;
+    if (node.data._isNewNode) {
+      const index3 = api2.getSameDataIndex(state.treeEdit.addData, node.data);
+      index3 === -1 ? state.treeEdit.addData.push(node.data) : state.treeEdit.addData.splice(index3, 1, node.data);
+      emit("add-node", node);
+    } else {
+      const index3 = api2.getSameDataIndex(state.treeEdit.editData, node.data);
+      index3 === -1 ? state.treeEdit.editData.push(node.data) : state.treeEdit.editData.splice(index3, 1, node.data);
+      emit("edit-node", node);
+    }
+  } else if (node && node.data && node.data._isNewNode) {
+    api2.remove(node, false, true);
+  }
+  state.action.node = null;
+};
+const addNode$1 = ({ api: api2 }) => (node) => {
+  const newNode = { label: "" };
+  const isLeafField = node.store && node.store.props.isLeaf;
+  if (isLeafField) {
+    newNode[isLeafField] = true;
+  }
+  Object.defineProperty(newNode, "_isNewNode", {
+    value: true,
+    enumerable: false,
+    configurable: false,
+    writable: false
+  });
+  api2.append(newNode, node.data);
+  setTimeout(() => {
+    const childs = node.childNodes;
+    const child = childs[0];
+    api2.editNode(child);
+  }, 100);
+};
+const cancelDelete = ({ state }) => () => {
+  state.action.referenceElm = null;
+  state.action.popoverVisible = false;
+};
+const loopGetTreeData = (result2 = [], nodes = [], childKey = "childNodes") => {
+  nodes.forEach((node) => {
+    const index3 = getSameDataIndex(result2, node.data);
+    index3 === -1 && result2.push(node.data);
+    if (node[childKey] && node[childKey].length) {
+      result2 = loopGetTreeData(result2, node[childKey]);
+    }
+  });
+  return result2;
+};
+const deleteAction = ({ state, api: api2, emit }) => () => {
+  const { node, isSaveChildNode } = state.action;
+  state.action.referenceElm = null;
+  state.action.popoverVisible = false;
+  if (!node.data._isNewNode) {
+    state.treeEdit.deleteData.push(node.data);
+    if (!isSaveChildNode) {
+      state.treeEdit.deleteData = loopGetTreeData(state.treeEdit.deleteData, node.childNodes);
+    }
+  }
+  emit("delete-node", node);
+  api2.remove(state.action.node, isSaveChildNode, true);
+};
+const deleteConfirm = ({ state, props: props2, api: api2 }) => (event2, node) => {
+  state.action.type = "delete";
+  state.action.node = node;
+  state.action.isLeaf = !node.childNodes || !node.childNodes.length;
+  state.action.referenceElm = event2.currentTarget;
+  state.action.popoverVisible = false;
+  state.action.isSaveChildNode = false;
+  if (typeof props2.deleteNodeMethod === "function") {
+    const promise = props2.deleteNodeMethod({ event: event2, node });
+    if (promise && typeof promise.then === "function") {
+      promise.then((bool) => bool && api2.deleteAction());
+    } else if (promise) {
+      api2.deleteAction();
+    }
+    return;
+  }
+  setTimeout(() => {
+    state.action.popoverVisible = true;
+  }, 300);
+};
+const openEdit$1 = ({ props: props2, state, api: api2, emit }) => () => {
+  state.action.show = true;
+  state.action.data = copyArray(props2.data);
+  api2.watchData(state.action.data);
+  emit("open-edit");
+};
+const closeEdit = ({ props: props2, state, api: api2, emit }) => () => {
+  state.action.show = false;
+  state.action.popoverVisible = false;
+  api2.watchData(props2.data);
+  emit("close-edit");
+  state.treeEdit = { addData: [], deleteData: [], editData: [] };
+};
+const saveEdit$1 = ({ state, emit, props: props2 }) => () => {
+  const data2 = copyArray(state.action.show ? state.action.data : props2.data);
+  state.action.show = false;
+  state.action.popoverVisible = false;
+  emit("save-edit", state.treeEdit, data2);
+  state.treeEdit = { addData: [], deleteData: [], editData: [] };
+  return data2;
+};
+const setAddDisabledKeys = ({ state }) => (data2) => {
+  state.action.addDisabled = data2 || [];
+};
+const setEditDisabledKeys = ({ state }) => (data2) => {
+  state.action.editDisabled = data2 || [];
+};
+const setDeleteDisabledKeys = ({ state }) => (data2) => {
+  state.action.deleteDisabled = data2 || [];
+};
+const initPlainNodeStore = ({ props: props2, state }) => () => {
+  const { nodeKey, pathSplit, filterPlainMethod } = props2;
+  const prefixReg = new RegExp(`^\\${pathSplit}+`);
+  const plainNodeStore = { nodes: [], filteredNodes: [] };
+  const walkTree = (node, labelPath, nodeKeyPath) => {
+    if (node && node.data) {
+      labelPath += `${pathSplit}${node.data.label || ""}`;
+      nodeKeyPath += `${pathSplit}${node.data[nodeKey] || ""}`;
+      labelPath = labelPath.replace(prefixReg, "");
+      nodeKeyPath = nodeKeyPath.replace(prefixReg, "");
+      if (labelPath) {
+        const plainNode = { labelPath, nodeKeyPath, node };
+        const paths = labelPath.split(pathSplit);
+        const nodeKeyType = typeof node.data[nodeKey];
+        const nodeKeys = nodeKeyPath.split(pathSplit).map(nodeKeyType === "number" ? Number : String);
+        plainNode.title = paths[paths.length - 1];
+        plainNode.auxi = paths.slice(0, paths.length - 1).join(pathSplit);
+        plainNode.nodeKeyType = nodeKeyType;
+        plainNode.nodeKey = node.data[nodeKey];
+        plainNode.nodeKeys = nodeKeys;
+        plainNode.parentNodeKeys = nodeKeys.slice(0, nodeKeys.length - 1);
+        plainNodeStore.nodes.push(plainNode);
+      }
+    }
+    if (node.childNodes && node.childNodes.length) {
+      node.childNodes.forEach((n2) => walkTree(n2, labelPath, nodeKeyPath));
+    }
+  };
+  walkTree(state.root, "", "");
+  const filterPlainNode = (data2) => !filterPlainMethod || typeof filterPlainMethod === "function" && filterPlainMethod(data2);
+  plainNodeStore.filteredNodes = plainNodeStore.nodes.filter(
+    (plainNode) => plainNode.node.visible && filterPlainNode(plainNode.node.data)
+  );
+  state.plainNodeStore = plainNodeStore;
+};
+const handleCheckPlainNode = ({ props: props2, emit }) => (e2, plainNode) => {
+  if (props2.showCheckbox) {
+    plainNode.node.setChecked(e2, !props2.checkStrictly);
+  }
+  emit("check-plain", plainNode, e2);
+};
+const handleClickPlainNode = (emit) => (e2, plainNode) => {
+  emit("leave-plain-view", plainNode, e2);
+};
+const setCheckedByNodeKey = ({ props: props2, state }) => (key2, checked) => {
+  const { nodeKey, checkStrictly } = props2;
+  const { nodes: plainNodes } = state.plainNodeStore;
+  const plainNode = plainNodes.find((plainNode2) => plainNode2.node.data[nodeKey] === key2);
+  if (plainNode) {
+    plainNode.node.setChecked(checked, !checkStrictly);
+  }
+};
+const api$9 = [
+  "state",
+  "closeMenu",
+  "filter",
+  "getNodeKey",
+  "getNodePath",
+  "getCheckedNodes",
+  "getCheckedKeys",
+  "getCurrentNode",
+  "getCurrentKey",
+  "setCheckedNodes",
+  "setCheckedKeys",
+  "setChecked",
+  "getHalfCheckedNodes",
+  "getHalfCheckedKeys",
+  "setCurrentNode",
+  "setCurrentKey",
+  "getNode",
+  "remove",
+  "append",
+  "insertBefore",
+  "insertAfter",
+  "handleNodeExpand",
+  "updateKeyChildren",
+  "initTabIndex",
+  "handleKeydown",
+  "setCurrentRadio",
+  "expandAllNodes",
+  "clearCurrentStore",
+  "switchToggle",
+  "initTreeStore",
+  "getSameDataIndex",
+  "loopGetTreeData",
+  "cancelDelete",
+  "deleteAction",
+  "deleteConfirm",
+  "openEdit",
+  "saveNode",
+  "addNode",
+  "editNode",
+  "closeEdit",
+  "saveEdit",
+  "setAddDisabledKeys",
+  "setEditDisabledKeys",
+  "setDeleteDisabledKeys",
+  "handleCheckPlainNode",
+  "handleClickPlainNode",
+  "setCheckedByNodeKey"
+];
+const initState$1 = ({ reactive, emitter: emitter3, props: props2, computed: computed2, api: api2 }) => {
+  const state = reactive({
+    loaded: !props2.lazy,
+    checkEasily: false,
+    root: null,
+    store: null,
+    treeItems: null,
+    currentNode: null,
+    checkboxItems: [],
+    isEmpty: computed2(() => api2.computedIsEmpty(props2, state)),
+    emitter: emitter3(),
+    expandIcon: props2.expandIcon,
+    shrinkIcon: props2.shrinkIcon,
+    expandIconColor: props2.expandIconColor,
+    shrinkIconColor: props2.shrinkIconColor,
+    dragState: { showDropIndicator: false, draggingNode: null, dropNode: null, allowDrop: true },
+    currentRadio: { value: null },
+    children: computed2({
+      get: () => api2.getChildren(props2, state),
+      set: (data2) => api2.setChildren(data2)
+    }),
+    treeItemArray: computed2(() => api2.computedTreeItemArray(props2, state)),
+    showEmptyText: computed2(() => api2.computedShowEmptyText(props2, state)),
+    currentStore: { flag: false, node: null },
+    action: {
+      deleteDisabled: [],
+      editDisabled: [],
+      addDisabled: [],
+      show: false,
+      node: null,
+      data: [],
+      label: "",
+      type: "",
+      isLeaf: false,
+      isSaveChildNode: false,
+      referenceElm: null,
+      popoverVisible: false
+    },
+    treeEdit: {
+      addData: [],
+      deleteData: [],
+      editData: []
+    },
+    plainNodeStore: {}
+  });
+  return state;
+};
+const initApi$1 = ({ state, dispatch, broadcast, props: props2, vm, constants, t: t2, emit, api: api2 }) => ({
+  state,
+  dispatch,
+  broadcast,
+  setChildren: setChildren(props2),
+  getChildren: getChildren(),
+  computedTreeItemArray: computedTreeItemArray(),
+  computedIsEmpty: computedIsEmpty(),
+  watchDefaultCheckedKeys: watchDefaultCheckedKeys(state),
+  watchData: watchData({ state }),
+  watchCheckboxItems: watchCheckboxItems(),
+  watchCheckStrictly: watchCheckStrictly(state),
+  updated: updated({ vm, state }),
+  filter: filter$1({ props: props2, state, api: api2 }),
+  getNodeKey: getNodeKey$1(props2),
+  getNodePath: getNodePath({ props: props2, state }),
+  getCheckedNodes: getCheckedNodes(state),
+  getCheckedKeys: getCheckedKeys(state),
+  getCurrentNode: getCurrentNode$1(state),
+  setCheckedNodes: setCheckedNodes({ props: props2, state }),
+  setCheckedKeys: setCheckedKeys({ props: props2, state, api: api2 }),
+  setChecked: setChecked(state),
+  getHalfCheckedNodes: getHalfCheckedNodes(state),
+  getHalfCheckedKeys: getHalfCheckedKeys(state),
+  setCurrentNode: setCurrentNode$1({ props: props2, state }),
+  setCurrentKey: setCurrentKey$1({ props: props2, state }),
+  getNode: getNode(state),
+  remove: remove(state),
+  append: append(state),
+  insertBefore: insertBefore$1(state),
+  insertAfter: insertAfter(state),
+  updateKeyChildren: updateKeyChildren({ props: props2, state }),
+  initTabIndex: initTabIndex({ vm, state }),
+  handleKeydown: handleKeydown({ vm, state }),
+  computedShowEmptyText: computedShowEmptyText({ constants, t: t2 }),
+  setCurrentRadio: setCurrentRadio({ props: props2, state }),
+  expandAllNodes: expandAllNodes({ state }),
+  dragStart: dragStart({ props: props2, state, emit }),
+  dragOver: dragOver({ props: props2, state, emit, vm }),
+  dragEnd: dragEnd({ state, emit }),
+  clearCurrentStore: clearCurrentStore(state),
+  initIsCurrent: debounce_default(20, initIsCurrent({ props: props2, state })),
+  setCheckedByNodeKey: setCheckedByNodeKey({ props: props2, state })
+});
+const initWatcher$1 = ({ watch: watch2, props: props2, api: api2, state, isVue2: isVue22 }) => {
+  watch2(() => props2.defaultCheckedKeys, api2.watchDefaultCheckedKeys);
+  watch2(() => props2.defaultExpandedKeys, api2.watchDefaultExpandedKeys);
+  watch2(() => props2.defaultExpandedKeysHighlight, api2.initIsCurrent);
+  watch2(() => props2.data, api2.watchData, { deep: !isVue22 });
+  watch2(() => props2.checkboxItems, api2.watchCheckboxItems);
+  watch2(() => props2.checkStrictly, api2.watchCheckStrictly);
+  watch2(() => props2.defaultCheckedKeys, api2.setCurrentRadio, { immediate: true });
+  watch2(
+    () => props2.deleteDisabledKeys,
+    (value) => state.action.deleteDisabled = value || [],
+    { immediate: true }
+  );
+  watch2(
+    () => props2.editDisabledKeys,
+    (value) => state.action.editDisabled = value || [],
+    { immediate: true }
+  );
+  watch2(
+    () => props2.addDisabledKeys,
+    (value) => state.action.addDisabled = value || [],
+    { immediate: true }
+  );
+};
+const renderless$9 = (props2, { computed: computed2, onMounted: onMounted2, onUpdated, reactive, watch: watch2, provide: provide8, onBeforeUnmount: onBeforeUnmount2 }, { vm, t: t2, emit, constants, broadcast, dispatch, service, emitter: emitter3, nextTick: nextTick2 }, { isVue2: isVue22 }) => {
+  const api2 = {};
+  const state = initState$1({ reactive, emitter: emitter3, props: props2, computed: computed2, api: api2 });
+  provide8("parentEmitter", state.emitter);
+  Object.assign(api2, initApi$1({ state, dispatch, broadcast, props: props2, vm, constants, t: t2, emit, api: api2 }), {
+    closeMenu: closeMenu$1(state),
+    mounted: mounted({ api: api2, vm }),
+    created: created$1({ api: api2, props: props2, state }),
+    getCurrentKey: getCurrentKey$1({ api: api2, props: props2 }),
+    handleNodeExpand: handleNodeExpand(emit),
+    beforeUnmount: beforeUnmount({ api: api2, vm, state }),
+    wrapMounted: wrapMounted({ api: api2, props: props2, service }),
+    initTreeStore: initTreeStore({ api: api2, props: props2, state, emit }),
+    deleteAction: deleteAction({ state, api: api2, emit }),
+    deleteConfirm: deleteConfirm({ state, props: props2, api: api2 }),
+    getSameDataIndex,
+    loopGetTreeData,
+    cancelDelete: cancelDelete({ state }),
+    openEdit: openEdit$1({ props: props2, state, api: api2, emit }),
+    saveNode: saveNode({ state, emit, api: api2 }),
+    addNode: addNode$1({ api: api2 }),
+    editNode: editNode({ state }),
+    closeEdit: closeEdit({ props: props2, state, api: api2, emit }),
+    saveEdit: saveEdit$1({ props: props2, state, emit }),
+    setAddDisabledKeys: setAddDisabledKeys({ state }),
+    setEditDisabledKeys: setEditDisabledKeys({ state }),
+    setDeleteDisabledKeys: setDeleteDisabledKeys({ state }),
+    watchDefaultExpandedKeys: watchDefaultExpandedKeys({ state, api: api2, nextTick: nextTick2 }),
+    switchToggle: switchToggle({ state }),
+    initPlainNodeStore: initPlainNodeStore({ props: props2, state }),
+    handleCheckPlainNode: handleCheckPlainNode({ props: props2, emit }),
+    handleClickPlainNode: handleClickPlainNode(emit)
+  });
+  api2.created();
+  initWatcher$1({ watch: watch2, props: props2, api: api2, state, isVue2: isVue22 });
+  onMounted2(api2.wrapMounted);
+  onUpdated(api2.updated);
+  onBeforeUnmount2(api2.beforeUnmount);
+  return api2;
+};
+const toggle = ({ emit, props: props2, state }) => (event2) => {
+  event2.preventDefault();
+  if (state.disabled || props2.types === "loading") {
+    return;
+  }
+  const change = () => {
+    state.currentValue = state.currentValue === props2.trueValue ? props2.falseValue : props2.trueValue;
+    emit("update:modelValue", state.currentValue);
+    emit("change", state.currentValue);
+  };
+  props2.beforeChange ? props2.beforeChange(change) : change();
+};
+const computedWarpClasses = ({ prefixCls, props: props2, state }) => () => {
+  return [
+    {
+      [prefixCls]: true,
+      [`${prefixCls}-checked`]: state.currentValue === props2.trueValue,
+      [`${prefixCls}-disabled`]: state.disabled,
+      mini: props2.mini,
+      disabled: state.disabled
+    }
+  ];
+};
+const computedInnerClasses = ({ prefixCls }) => () => `${prefixCls}-inner`;
+const computedStyle$1 = ({ props: props2, state }) => () => {
+  return {
+    backgroundColor: props2.trueValue === state.currentValue ? props2.trueColor : props2.falseColor
+  };
+};
+const api$8 = ["toggle", "state"];
+const renderless$8 = (props2, { computed: computed2, watch: watch2, reactive, inject: inject2 }, { parent: parent3, constants, mode, emit, designConfig }) => {
+  const prefixCls = constants.prefixcls(mode);
+  parent3.tinyForm = parent3.tinyForm || inject2("form", null);
+  const state = reactive({
+    currentValue: props2.modelValue,
+    innerClasses: computed2(() => api2.computedInnerClasses()),
+    wrapClasses: computed2(() => api2.computedWarpClasses()),
+    style: computed2(() => api2.computedStyle()),
+    formDisabled: computed2(() => (parent3.tinyForm || {}).disabled),
+    disabled: computed2(() => props2.disabled || state.formDisabled || state.isDisplayOnly || props2.loading),
+    isDisplayOnly: computed2(() => props2.displayOnly || (parent3.tinyForm || {}).displayOnly),
+    showText: computed2(() => {
+      if (props2.showText === void 0) {
+        return (designConfig == null ? void 0 : designConfig.showText) || false;
+      } else {
+        return props2.showText;
+      }
+    })
+  });
+  const api2 = {
+    state,
+    computedInnerClasses: computedInnerClasses({ prefixCls }),
+    computedStyle: computedStyle$1({ props: props2, state }),
+    computedWarpClasses: computedWarpClasses({ prefixCls, props: props2, state }),
+    toggle: toggle({ emit, props: props2, state })
+  };
+  watch2(
+    () => props2.modelValue,
+    (value) => {
+      state.currentValue = typeof props2.falseValue !== "boolean" || typeof props2.trueValue !== "boolean" ? value : Boolean(value);
+    },
+    { immediate: true }
+  );
+  return api2;
+};
+const index$e = "";
+function _createForOfIteratorHelperLoose$g(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$g(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$g(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$g(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$g(o2, minLen);
+}
+function _arrayLikeToArray$g(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$h = function _export_sfc223(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$g(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$p = defineComponent({
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["modelValue", "trueValue", "falseValue", "disabled", "mini", "tabindex", "showText", "beforeChange", "displayOnly"]),
+  setup: function setup$130(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$8
+    });
+  }
+});
+var _hoisted_1$j = ["tabindex"];
+var _hoisted_2$f = {
+  key: 0
+};
+var _hoisted_3$c = {
+  key: 1
+};
+function _sfc_render$i(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return !_ctx2.state.isDisplayOnly ? (openBlock(), createElementBlock("span", {
+    key: 0,
+    class: normalizeClass([_ctx2.state.wrapClasses, _ctx2.state.showText ? "tiny-switch__text" : ""]),
+    tabindex: _ctx2.tabindex,
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }),
+    onKeydown: [_cache[1] || (_cache[1] = withKeys(function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }, ["space"])), _cache[2] || (_cache[2] = withKeys(function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }, ["enter"]))]
+  }, [createBaseVNode(
+    "span",
+    {
+      class: normalizeClass(_ctx2.state.innerClasses)
+    },
+    [!_ctx2.mini && _ctx2.state.showText ? (openBlock(), createElementBlock("div", _hoisted_2$f, [_ctx2.state.currentValue === _ctx2.trueValue ? renderSlot(_ctx2.$slots, "open", {
+      key: 0
+    }, function() {
+      return [createTextVNode("ON")];
+    }) : createCommentVNode("v-if", true), _ctx2.state.currentValue === _ctx2.falseValue ? renderSlot(_ctx2.$slots, "close", {
+      key: 1
+    }, function() {
+      return [createTextVNode("OFF")];
+    }) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  )], 42, _hoisted_1$j)) : (openBlock(), createElementBlock("span", _hoisted_3$c, [_ctx2.state.currentValue === _ctx2.trueValue ? renderSlot(_ctx2.$slots, "open", {
+    key: 0
+  }, function() {
+    return [createTextVNode(
+      toDisplayString(_ctx2.t("yes")),
+      1
+      /* TEXT */
+    )];
+  }) : createCommentVNode("v-if", true), _ctx2.state.currentValue === _ctx2.falseValue ? renderSlot(_ctx2.$slots, "close", {
+    key: 1
+  }, function() {
+    return [createTextVNode(
+      toDisplayString(_ctx2.t("no")),
+      1
+      /* TEXT */
+    )];
+  }) : createCommentVNode("v-if", true)]));
+}
+var pc$8 = /* @__PURE__ */ _export_sfc$h(_sfc_main$p, [["render", _sfc_render$i]]);
+const index$d = "";
+function _createForOfIteratorHelperLoose$f(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$f(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$f(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$f(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$f(o2, minLen);
+}
+function _arrayLikeToArray$f(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$g = function _export_sfc224(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$f(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$o = defineComponent({
+  props: [].concat(props, ["modelValue", "trueValue", "falseValue", "disabled", "loading", "mini"]),
+  setup: function setup$131(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$8
+    });
+  }
+});
+var _hoisted_1$i = ["disabled"];
+var _hoisted_2$e = {
+  key: 0,
+  class: "tiny-mobile-switch-loading"
+};
+var _hoisted_3$b = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "tiny-mobile-switch-loading-inner"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$9 = [_hoisted_3$b];
+function _sfc_render$h(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("span", {
+    class: normalizeClass(_ctx2.state.wrapClasses),
+    disabled: _ctx2.disabled,
+    tabindex: "0",
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }),
+    onKeydown: _cache[1] || (_cache[1] = withKeys(function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }, ["space"]))
+  }, [_ctx2.loading ? (openBlock(), createElementBlock("div", _hoisted_2$e, _hoisted_4$9)) : createCommentVNode("v-if", true)], 42, _hoisted_1$i);
+}
+var mobile$3 = /* @__PURE__ */ _export_sfc$g(_sfc_main$o, [["render", _sfc_render$h]]);
+function _createForOfIteratorHelperLoose$e(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$e(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$e(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$e(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$e(o2, minLen);
+}
+function _arrayLikeToArray$e(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$f = function _export_sfc225(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$e(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var classes$1 = {
+  "switch-default": "inline-block align-middle transition-all duration-200 ease-in-out rounded-full relative outline-0",
+  "switch-small": "w-10 h-6 sm:w-9 sm:h-5",
+  "switch-mini": "w-8 h-5 sm:w-7 sm:h-4",
+  "switch-medium": "w-10 h-6",
+  "switch-handle-default": 'before:content-[""] before:rounded-full before:bg-color-bg-1 before:absolute before:cursor-pointer before:transition-all before:duration-200 before:ease-in-out before:text-center before:top-0.5',
+  "switch-handle-small": "before:w-5 before:h-5 before:sm:w-4 before:sm:h-4",
+  "switch-handle-mini": "before:w-4 before:h-4 before:sm:w-3 before:sm:h-3",
+  "switch-handle-medium": "before:w-5 before:h-5",
+  "switch-true-disabled": "bg-color-brand-disabled cursor-not-allowed",
+  "switch-false-disabled": "bg-color-border-separator cursor-not-allowed",
+  "switch-true-not-disabled": "before:[&_span:nth-of-type(1)]:shadow-xsm bg-color-brand cursor-pointer",
+  "switch-false-not-disabled": "before:[&_span:nth-of-type(1)]:shadow-xsm bg-color-icon-disabled cursor-pointer",
+  "switch-handle-false-small": "before:left-0.5",
+  "switch-handle-false-medium": "before:left-0.5",
+  "switch-handle-false-mini": "before:left-0.5",
+  "switch-handle-false-small-disabled": "before:left-0.5",
+  "switch-handle-false-medium-disabled": "before:left-0.5",
+  "switch-handle-false-mini-disabled": "before:left-0.5",
+  "switch-handle-true-small": "before:left-4.5",
+  "switch-handle-true-medium": "before:left-4.5",
+  "switch-handle-true-mini": "before:left-3.5",
+  "switch-handle-true-small-disabled": "before:left-4.5",
+  "switch-handle-true-medium-disabled": "before:left-4.5",
+  "switch-handle-true-mini-disabled": "before:left-3.5",
+  "switch-inner-default": "absolute transition-all duration-200 ease-in-out text-color-bg-1 flex items-center justify-center top-0.5",
+  "switch-inner-small": "w-5 h-5 sm:w-4 sm:h-4",
+  "switch-inner-mini": "w-4 h-4 sm:w-3 sm:h-3",
+  "switch-inner-medium": "w-5 h-5",
+  "switch-inner-true-word": "left-px",
+  "switch-inner-false-small-word": "left-4.5",
+  "switch-inner-false-medium-word": "left-4.5",
+  "switch-inner-false-mini-word": "left-3.5",
+  "switch-inner-false-icon": "left-0.5",
+  "switch-inner-true-small-icon": "left-4.5",
+  "switch-inner-true-medium-icon": "left-4.5",
+  "switch-inner-true-mini-icon": "left-3.5",
+  "switch-icon-small": "w-4 h-4 sm:w-3 sm:h-3",
+  "switch-icon-medium": "w-4 h-4",
+  "switch-icon-mini": "w-3 h-3 sm:w-2 sm:h-2",
+  "switch-icon-false-disabled": "fill-color-border-separator",
+  "switch-icon-false-default": "fill-color-icon-disabled",
+  "switch-icon-true-disabled": "fill-color-brand-disabled",
+  "switch-icon-true-default": "fill-color-brand",
+  "switch-loading-small": "w-5 h-5 sm:w-4 sm:h-4",
+  "switch-loading-medium": "w-5 h-5",
+  "switch-loading-mini": "w-4 h-4 sm:w-3 sm:h-3 "
+};
+var _sfc_main$n = defineComponent({
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["modelValue", "trueValue", "falseValue", "disabled", "size", "tabindex", "types"]),
+  setup: function setup$132(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$8,
+      classes: classes$1
+    });
+  }
+});
+var _hoisted_1$h = ["tabindex"];
+var _hoisted_2$d = {
+  key: 0,
+  "data-tag": "tiny-switch-word",
+  class: "sm:text-xs text-sm"
+};
+var _hoisted_3$a = {
+  key: 1,
+  "data-tag": "tiny-switch-icon"
+};
+var _hoisted_4$8 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M9.9 15.6l9.4-9.4c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-10 10.1c-.4.4-1 .4-1.4 0-.1 0-.1-.1-.2-.1l-5.8-5.8c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.2 5.2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_5$7 = [_hoisted_4$8];
+var _hoisted_6$6 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M13.4 12l6.3-6.3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L12 10.6 5.7 4.3c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4l6.3 6.3-6.3 6.3c-.4.4-.4 1 0 1.4.2.2.4.3.7.3.3 0 .5-.1.7-.3l6.3-6.3 6.3 6.3c.2.2.4.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4L13.4 12z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_7$5 = [_hoisted_6$6];
+var _hoisted_8$3 = {
+  key: 2,
+  "data-tag": "tiny-switch-loading"
+};
+var _hoisted_9$3 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z",
+    transform: "rotate(275.098 75 75)"
+  },
+  [/* @__PURE__ */ createBaseVNode("animateTransform", {
+    attributeType: "xml",
+    attributeName: "transform",
+    type: "rotate",
+    from: "0 25 25",
+    to: "360 25 25",
+    dur: "1s",
+    repeatCount: "indefinite"
+  })],
+  -1
+  /* HOISTED */
+);
+var _hoisted_10$3 = [_hoisted_9$3];
+var _hoisted_11$3 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z",
+    transform: "rotate(275.098 75 75)"
+  },
+  [/* @__PURE__ */ createBaseVNode("animateTransform", {
+    attributeType: "xml",
+    attributeName: "transform",
+    type: "rotate",
+    from: "0 25 25",
+    to: "360 25 25",
+    dur: "1s",
+    repeatCount: "indefinite"
+  })],
+  -1
+  /* HOISTED */
+);
+var _hoisted_12$3 = [_hoisted_11$3];
+function _sfc_render$g(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("span", {
+    class: normalizeClass(_ctx2.m(_ctx2.gcls("switch-default"), _ctx2.gcls("switch-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls((_ctx2.state.currentValue === _ctx2.trueValue ? "switch-true" : "switch-false") + (_ctx2.disabled || _ctx2.types === "loading" ? "-disabled" : "-not-disabled")))),
+    "data-tag": "tiny-switch",
+    tabindex: _ctx2.tabindex,
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }),
+    onKeydown: _cache[1] || (_cache[1] = withKeys(function() {
+      return _ctx2.toggle && _ctx2.toggle.apply(_ctx2, arguments);
+    }, ["space"]))
+  }, [createBaseVNode(
+    "span",
+    {
+      "data-tag": "tiny-switch-handle",
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("switch-handle-default"), _ctx2.gcls("switch-handle-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls(_ctx2.state.currentValue === _ctx2.trueValue ? "switch-handle-true-" + (_ctx2.size ? _ctx2.size : "small") + (_ctx2.disabled || _ctx2.types === "loading" ? "-disabled" : "") : "switch-handle-false-" + (_ctx2.size ? _ctx2.size : "small") + (_ctx2.disabled || _ctx2.types === "loading" ? "-disabled" : ""))))
+    },
+    null,
+    2
+    /* CLASS */
+  ), createBaseVNode(
+    "span",
+    {
+      "data-tag": "tiny-switch-inner",
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("switch-inner-default"), _ctx2.gcls("switch-inner-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls(_ctx2.state.currentValue === _ctx2.trueValue ? _ctx2.types === "word" ? "switch-inner-true-word" : "switch-inner-true-" + (_ctx2.size ? _ctx2.size : "small") + "-icon" : _ctx2.types === "word" ? "switch-inner-false-" + (_ctx2.size ? _ctx2.size : "small") + "-word" : "switch-inner-false-icon")))
+    },
+    [_ctx2.types === "word" ? (openBlock(), createElementBlock("div", _hoisted_2$d, [_ctx2.state.currentValue === _ctx2.trueValue ? renderSlot(_ctx2.$slots, "open", {
+      key: 0
+    }, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.t("yes")),
+        1
+        /* TEXT */
+      )];
+    }) : createCommentVNode("v-if", true), _ctx2.state.currentValue === _ctx2.falseValue ? renderSlot(_ctx2.$slots, "close", {
+      key: 1
+    }, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.t("no")),
+        1
+        /* TEXT */
+      )];
+    }) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), _ctx2.types === "icon" ? (openBlock(), createElementBlock("div", _hoisted_3$a, [_ctx2.state.currentValue === _ctx2.trueValue ? renderSlot(_ctx2.$slots, "open", {
+      key: 0
+    }, function() {
+      return [(openBlock(), createElementBlock(
+        "svg",
+        {
+          viewBox: "0 0 24 24",
+          class: normalizeClass([_ctx2.gcls("switch-icon-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls("switch-icon-true-" + (_ctx2.disabled ? "disabled" : "default"))])
+        },
+        _hoisted_5$7,
+        2
+        /* CLASS */
+      ))];
+    }) : createCommentVNode("v-if", true), _ctx2.state.currentValue === _ctx2.falseValue ? renderSlot(_ctx2.$slots, "close", {
+      key: 1
+    }, function() {
+      return [(openBlock(), createElementBlock(
+        "svg",
+        {
+          viewBox: "0 0 24 24",
+          class: normalizeClass([_ctx2.gcls("switch-icon-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls("switch-icon-false-" + (_ctx2.disabled ? "disabled" : "default"))])
+        },
+        _hoisted_7$5,
+        2
+        /* CLASS */
+      ))];
+    }) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), _ctx2.types === "loading" ? (openBlock(), createElementBlock("div", _hoisted_8$3, [_ctx2.state.currentValue === _ctx2.trueValue ? renderSlot(_ctx2.$slots, "open", {
+      key: 0
+    }, function() {
+      return [(openBlock(), createElementBlock(
+        "svg",
+        {
+          viewBox: "0 0 48 48",
+          class: normalizeClass([_ctx2.gcls("switch-loading-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls("switch-icon-true-disabled")])
+        },
+        _hoisted_10$3,
+        2
+        /* CLASS */
+      ))];
+    }) : createCommentVNode("v-if", true), _ctx2.state.currentValue === _ctx2.falseValue ? renderSlot(_ctx2.$slots, "close", {
+      key: 1,
+      dataTag: "tiny-switch-close"
+    }, function() {
+      return [(openBlock(), createElementBlock(
+        "svg",
+        {
+          viewBox: "0 0 48 48",
+          class: normalizeClass([_ctx2.gcls("switch-loading-" + (_ctx2.size ? _ctx2.size : "small")), _ctx2.gcls("switch-icon-false-disabled")])
+        },
+        _hoisted_12$3,
+        2
+        /* CLASS */
+      ))];
+    }) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  )], 42, _hoisted_1$h);
+}
+var mobileFirst$2 = /* @__PURE__ */ _export_sfc$f(_sfc_main$n, [["render", _sfc_render$g]]);
+function _extends$9() {
+  _extends$9 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$9.apply(this, arguments);
+}
+var template$8 = function template212(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$8;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$3;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$2;
+  }
+  return pc$8;
+};
+var $constants$5 = {
+  PC_PREFIXCLS: "tiny-switch",
+  MOBILE_PREFIXCLS: "tiny-mobile-switch",
+  Mode: "pc",
+  prefixcls: function prefixcls2(mode) {
+    return mode === this.Mode ? this.PC_PREFIXCLS : this.MOBILE_PREFIXCLS;
+  }
+};
+var switchProps = _extends$9({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default50() {
+      return $constants$5;
+    }
+  },
+  disabled: {
+    type: Boolean,
+    default: false
+  },
+  showText: {
+    type: Boolean || void 0,
+    default: void 0
+  },
+  types: {
+    type: String
+  },
+  falseColor: String,
+  falseValue: {
+    type: [String, Number, Boolean],
+    default: false
+  },
+  mini: {
+    type: Boolean,
+    default: false
+  },
+  modelValue: {
+    type: [String, Number, Boolean],
+    default: false
+  },
+  size: [Number, String],
+  tabindex: {
+    type: String,
+    default: "1"
+  },
+  trueColor: String,
+  trueValue: {
+    type: [String, Number, Boolean],
+    default: true
+  },
+  beforeChange: Function,
+  displayOnly: {
+    type: Boolean,
+    default: false
+  },
+  loading: {
+    type: Boolean,
+    default: false
+  }
+});
+var Switch = defineComponent({
+  name: $prefix + "Switch",
+  props: switchProps,
+  setup: function setup14(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$8
+    });
+  }
+});
+var version$b = "3.16.0";
+Switch.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Switch.install = function(Vue) {
+  Vue.component(Switch.name, Switch);
+};
+Switch.version = version$b;
+const watchIndeterminate = ({ api: api2, props: props2 }) => (value) => api2.handleSelectChange(props2.node.checked, value);
+const watchChecked = ({ api: api2, props: props2 }) => (value) => api2.handleSelectChange(value, props2.node.indeterminate);
+const watchExpanded = ({ state }) => (value) => {
+  state.expanded = value;
+  if (value) {
+    state.childNodeRendered = true;
+  }
+};
+const getNodeKey = (state) => (node) => getNodeKey$2(state.tree.nodeKey, node.data);
+const getVisibleNodes = (treeNode, tree2) => {
+  if (treeNode.visible) {
+    const childNodes = treeNode.childNodes;
+    Object.assign(
+      tree2,
+      {
+        checked: treeNode.checked,
+        expanded: treeNode.expanded,
+        level: treeNode.level,
+        isLeaf: treeNode.isLeaf
+      },
+      treeNode.data,
+      { children: [] }
+    );
+    childNodes.forEach((node) => {
+      if (node.visible) {
+        const child = {};
+        getVisibleNodes(node, child);
+        tree2.children.push(child);
+      }
+    });
+    if (!tree2.children.length) {
+      delete tree2.children;
+    }
+  }
+};
+const handleSelectChange = ({ props: props2, state }) => (checked, indeterminate) => {
+  state.tree.state.store.setCurrentNode(props2.node);
+  if (state.oldChecked !== checked && state.oldIndeterminate !== indeterminate) {
+    const treeNodes = {};
+    getVisibleNodes(props2.node, treeNodes);
+    state.tree.$emit("check-change", treeNodes, checked, indeterminate);
+  }
+  state.oldChecked = checked;
+  state.indeterminate = indeterminate;
+};
+const handleClick$1 = ({ api: api2, vm, props: props2, state }) => (e2) => {
+  const store = state.tree.state.store;
+  state.tree.clearCurrentStore(props2.node);
+  if (!state.tree.onlyCheckChildren) {
+    store.setCurrentNode(props2.node);
+    !props2.node.disabled && state.tree.$emit("current-change", store.currentNode ? store.currentNode.data : null, store.currentNode);
+  } else if (props2.node.isLeaf && !props2.node.disabled) {
+    store.setCurrentNode(props2.node);
+    state.tree.$emit("current-change", store.currentNode ? store.currentNode.data : null, store.currentNode);
+  }
+  state.tree.currentNode = vm;
+  if (state.tree.checkOnClickNode && !props2.node.disabled) {
+    e2.target.checked = !props2.node.checked;
+    api2.handleCheckChange(null, e2);
+  }
+  const isCheck = props2.showCheckbox ? vm.$refs.checkbox && !vm.$refs.checkbox.$el.contains(e2.target) : true;
+  if (state.tree.onlyCheckChildren) {
+    if (props2.node.isLeaf && !props2.node.disabled) {
+      state.tree.$emit("node-click", props2.node.data, props2.node, vm);
+      return;
+    }
+    api2.handleExpandClick(false);
+  } else {
+    if (!state.tree.collapsible || !state.tree.expandOnClickNode) {
+      !props2.node.disabled && state.tree.$emit("node-click", props2.node.data, props2.node, vm);
+      return;
+    }
+    if (state.tree.expandOnClickNode && isCheck) {
+      api2.handleExpandClick(isCheck);
+    }
+  }
+};
+const closeMenu = (state) => () => {
+  state.showMenu = false;
+};
+const handleContextMenu = ({ treeRoot, vm, props: props2, state, nextTick: nextTick2 }) => (event2) => {
+  const listeners = treeRoot.vm.$listeners;
+  if (treeRoot.showContextmenu || listeners["node-contextmenu"]) {
+    event2.stopPropagation();
+    event2.preventDefault();
+  }
+  state.tree.$parent.$emit("node-contextmenu", event2, props2.node.data, props2.node, vm);
+  if (!treeRoot.showContextmenu) {
+    return;
+  }
+  state.showMenu = true;
+  state.tree.$parent.menuInstance = vm;
+  nextTick2(() => {
+    const menuWidth2 = vm.$refs.menuContext.offsetWidth;
+    const treeWidth = state.tree.$parent.$el.offsetWidth;
+    if (event2.clientY > -10) {
+      state.menuposition.top = `${vm.$refs.node.offsetTop + vm.$refs.node.childNodes[0].offsetHeight / 2}px`;
+    }
+    if (event2.clientX > -10) {
+      if (menuWidth2 > treeWidth) {
+        state.menuposition.left = 0;
+      } else {
+        state.menuposition.left = event2.offsetX + menuWidth2 > treeWidth ? `${treeWidth - menuWidth2}px` : `${event2.offsetX}px`;
+      }
+    }
+  });
+};
+const handleExpandIconClick = ({ api: api2, state }) => (event2, node) => {
+  if (!node.isLeaf) {
+    state.tree.iconTriggerClickNode ? api2.handleExpandClick(true) : api2.handleExpandClick(false);
+    event2.stopPropagation();
+  }
+};
+const handleExpandClick = ({ emit, vm, props: props2, state }) => (nodeClickFlag) => {
+  if (nodeClickFlag) {
+    state.tree.$parent.$emit("node-click", props2.node.data, props2.node, vm);
+  }
+  if (props2.node.isLeaf) {
+    return;
+  }
+  if (state.expanded) {
+    state.tree.$parent.$emit("node-collapse", props2.node.data, props2.node, vm);
+    props2.node.collapse();
+  } else {
+    props2.node.expand();
+    emit("node-expand", props2.node.data, props2.node, vm);
+  }
+};
+const handleCheckChange = ({ nextTick: nextTick2, props: props2, state }) => (value, event2 = {}) => {
+  if (event2.type === "click" || event2.type === "mousedown") {
+    props2.node.setChecked(event2.target.checked, !state.tree.checkStrictly);
+  }
+  if (props2.checkEasily && state.tree.checkStrictly) {
+    !state.tree.checkOnClickNode && props2.node.setChecked(event2.target.checked, true, false, false, true);
+  } else {
+    !state.tree.checkOnClickNode && props2.node.setChecked(event2.target.checked, !state.tree.checkStrictly);
+  }
+  nextTick2(() => {
+    const store = state.tree.state.store;
+    state.tree.$emit("check", props2.node.data, {
+      checkedNodes: store.getCheckedNodes(),
+      checkedKeys: store.getCheckedKeys(),
+      halfCheckedNodes: store.getHalfCheckedNodes(),
+      halfCheckedKeys: store.getHalfCheckedKeys()
+    });
+  });
+};
+const handleContentClick = ({ nextTick: nextTick2, props: props2, state, emit }) => (currentNode, currentRadio) => {
+  if (props2.showRadio) {
+    if (!currentNode.disabled && currentRadio.value !== currentNode.id) {
+      emit("radio-change", currentNode.id);
+      nextTick2(() => {
+        const param2 = __spreadValues({}, currentNode.data);
+        state.tree.$emit("check-change", param2);
+      });
+    }
+  }
+};
+const handleChildNodeExpand = (state) => (nodeData, node, instance) => {
+  state.tree.$emit("node-expand", nodeData, node, instance);
+};
+const handleDragStart = ({ state, vm }) => (event2) => {
+  if (!state.tree.draggable) {
+    return;
+  }
+  state.tree.state.emitter.emit("tree-node-drag-start", event2, vm);
+};
+const handleDragOver = ({ state, vm }) => (event2) => {
+  if (!state.tree.draggable) {
+    return;
+  }
+  state.tree.state.emitter.emit("tree-node-drag-over", event2, vm);
+  event2.preventDefault();
+};
+const handleDrop = () => (event2) => event2.preventDefault();
+const handleDragEnd$1 = ({ state, vm }) => (event2) => {
+  if (!state.tree.draggable) {
+    return;
+  }
+  state.tree.state.emitter.emit("tree-node-drag-end", event2, vm);
+};
+const created = ({ props: props2, state }) => (fn) => {
+  const tree2 = state.tree;
+  const property = tree2.props || {};
+  const childrenKey = property.children || "children";
+  fn(childrenKey);
+  if (props2.node.expanded) {
+    state.expanded = true;
+    state.childNodeRendered = true;
+  }
+};
+const onSiblingToggleExpand = ({ state, props: props2 }) => ({ isExpand, sibling }) => {
+  if (state.tree.accordion && isExpand && props2.node && sibling && props2.node.id !== sibling.id) {
+    props2.node.collapse();
+  }
+};
+const watchExpandedChange = ({ state, props: props2 }) => () => {
+  if (state.tree.accordion) {
+    state.parentEmitter.emit("sibling-node-toggle-expand", {
+      isExpand: props2.node.expanded,
+      sibling: props2.node
+    });
+  }
+};
+const openEdit = ({ state, vm }) => (node) => {
+  state.tree.state.emitter.emit("tree-node-edit", node);
+  setTimeout(() => {
+    const inputRef = vm.$refs.editInput || vm.$el.querySelector("input");
+    inputRef && inputRef.focus();
+  }, 300);
+};
+const saveEdit = ({ state }) => (event2) => {
+  event2.stopPropagation();
+  state.tree.state.emitter.emit("tree-node-save");
+};
+const deleteNode = ({ state }) => (event2, node) => {
+  state.tree.state.emitter.emit("tree-node-delete", event2, node);
+};
+const addNode = ({ state, props: props2, api: api2 }) => (event2, node) => {
+  props2.node.expand();
+  api2.openEdit();
+  state.tree.state.emitter.emit("tree-node-add", event2, node);
+};
+const computedExpandIcon = ({ designConfig }) => (treeRoot, state) => {
+  var _a2, _b2;
+  if (state.tree.icon) {
+    return state.tree.icon;
+  }
+  if (treeRoot.showLine) {
+    const expandIcon = ((_a2 = designConfig == null ? void 0 : designConfig.icons) == null ? void 0 : _a2.expanded) || "icon-minus-square";
+    const collapseIcon = ((_b2 = designConfig == null ? void 0 : designConfig.icons) == null ? void 0 : _b2.collapse) || "icon-plus-square";
+    return state.expanded ? expandIcon : collapseIcon;
+  }
+  return "icon-chevron-right";
+};
+const computedIndent = () => ({ node, showLine }, { tree: tree2 }) => {
+  return (node.level > 1 ? 1 : 0) * (parseInt(tree2.indent) + (showLine ? 8 : 0)) + parseInt(tree2.baseIndent) + "px";
+};
+const api$7 = [
+  "state",
+  "getNodeKey",
+  "handleClick",
+  "handleContentClick",
+  "closeMenu",
+  "handleDragEnd",
+  "handleDrop",
+  "handleDragOver",
+  "handleDragStart",
+  "handleChildNodeExpand",
+  "handleSelectChange",
+  "handleContextMenu",
+  "handleExpandIconClick",
+  "openEdit",
+  "addNode",
+  "saveEdit",
+  "deleteNode",
+  "handleCheckChange"
+];
+const initState = ({ reactive, treeRoot, props: props2, emitter: emitter3, $parentEmitter, vm, api: api2, computed: computed2 }) => {
+  const state = reactive({
+    tree: treeRoot,
+    expanded: false,
+    oldChecked: null,
+    indeterminate: null,
+    oldIndeterminate: null,
+    expandIcon: props2.expandIcon,
+    childNodeRendered: false,
+    showMenu: false,
+    menuposition: { position: "absolute", top: 0, left: 0 },
+    shrinkIcon: props2.shrinkIcon,
+    expandIconColor: props2.expandIconColor,
+    shrinkIconColor: props2.shrinkIconColor,
+    emitter: emitter3(),
+    parentEmitter: $parentEmitter,
+    isSaaSTheme: (props2.theme || vm.theme) === "saas",
+    computedExpandIcon: computed2(() => api2.computedExpandIcon(treeRoot, state)),
+    computedIndent: computed2(() => api2.computedIndent(props2, state))
+  });
+  return state;
+};
+const initApi = ({ api: api2, state, dispatch, broadcast, vm, props: props2, treeRoot, nextTick: nextTick2, emit, designConfig }) => {
+  Object.assign(api2, {
+    state,
+    dispatch,
+    broadcast,
+    watchExpanded: debounce_default(20, watchExpanded({ state })),
+    created: created({ props: props2, state }),
+    getNodeKey: getNodeKey(state),
+    closeMenu: closeMenu(state),
+    handleSelectChange: handleSelectChange({ props: props2, state }),
+    handleContextMenu: handleContextMenu({ vm, treeRoot, props: props2, state, nextTick: nextTick2 }),
+    handleExpandClick: handleExpandClick({ emit, vm, props: props2, state }),
+    handleCheckChange: handleCheckChange({ nextTick: nextTick2, props: props2, state }),
+    handleDragStart: handleDragStart({ state, vm }),
+    handleDragOver: handleDragOver({ state, vm }),
+    handleDrop: handleDrop(),
+    handleDragEnd: handleDragEnd$1({ state, vm }),
+    handleContentClick: handleContentClick({ nextTick: nextTick2, props: props2, state, emit }),
+    onSiblingToggleExpand: onSiblingToggleExpand({ state, props: props2 }),
+    watchExpandedChange: watchExpandedChange({ state, props: props2 }),
+    handleClick: handleClick$1({ api: api2, vm, props: props2, state }),
+    watchIndeterminate: watchIndeterminate({ api: api2, props: props2 }),
+    watchChecked: watchChecked({ api: api2, props: props2 }),
+    openEdit: openEdit({ state, vm }),
+    addNode: addNode({ state, props: props2, api: api2 }),
+    saveEdit: saveEdit({ state }),
+    deleteNode: deleteNode({ state }),
+    handleChildNodeExpand: handleChildNodeExpand(state),
+    handleExpandIconClick: handleExpandIconClick({ api: api2, state }),
+    computedExpandIcon: computedExpandIcon({ designConfig }),
+    computedIndent: computedIndent()
+  });
+};
+const initWatcher = ({ watch: watch2, state, api: api2, props: props2 }) => {
+  watch2(() => state.expanded, api2.watchExpandedChange);
+  watch2(() => props2.node.indeterminate, api2.watchIndeterminate, { deep: true });
+  watch2(() => props2.node.checked, api2.watchChecked, { deep: true });
+  watch2(() => props2.node.expanded, api2.watchExpanded, { deep: true });
+};
+const renderless$7 = (props2, { reactive, watch: watch2, inject: inject2, provide: provide8, computed: computed2 }, { vm, nextTick: nextTick2, emit, broadcast, dispatch, emitter: emitter3, designConfig }, { isVue2: isVue22 }) => {
+  const api2 = {};
+  const treeRoot = inject2("TreeRoot");
+  const $parentEmitter = inject2("parentEmitter");
+  const state = initState({ reactive, treeRoot, props: props2, emitter: emitter3, $parentEmitter, vm, api: api2, computed: computed2 });
+  if (state.tree.accordion) {
+    state.parentEmitter.on("sibling-node-toggle-expand", (event2) => api2.onSiblingToggleExpand(event2));
+  }
+  provide8("parentEmitter", state.emitter);
+  initApi({ api: api2, state, dispatch, broadcast, vm, props: props2, treeRoot, nextTick: nextTick2, emit, designConfig });
+  initWatcher({ watch: watch2, state, api: api2, props: props2 });
+  api2.created((childrenKey) => {
+    watch2(
+      () => props2.node.data[childrenKey],
+      () => {
+        props2.node.updateChildren();
+      }
+    );
+    if (!isVue22) {
+      props2.node.updateMethod = (node, field) => {
+        field === "expanded" && api2.watchExpanded(node[field]);
+      };
+    }
+  });
+  state.parentEmitter.on("closeMenu", () => {
+    api2.closeMenu();
+    state.emitter.emit("closeMenu");
+  });
+  return api2;
+};
+const index$c = "";
+function _createForOfIteratorHelperLoose$d(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$d(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$d(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$d(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$d(o2, minLen);
+}
+function _arrayLikeToArray$d(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$e = function _export_sfc226(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$d(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$m = defineComponent({
+  name: $prefix + "CollapseTransition",
+  setup: function setup15() {
+    return {
+      on: {
+        beforeEnter: function beforeEnter(elem) {
+          addClass(elem, "collapse-transition");
+          if (!elem.dataset)
+            elem.dataset = {};
+          elem.dataset.oldPaddingBottom = elem.style.paddingBottom;
+          elem.dataset.oldPaddingTop = elem.style.paddingTop;
+          elem.style.height = "0";
+          elem.style.paddingTop = 0;
+          elem.style.paddingBottom = 0;
+        },
+        enter: function enter(elem) {
+          elem.dataset.oldOverflow = elem.style.overflow;
+          if (elem.scrollHeight === 0) {
+            elem.style.height = "";
+            elem.style.paddingBottom = elem.dataset.oldPaddingBottom;
+            elem.style.paddingTop = elem.dataset.oldPaddingTop;
+          } else {
+            elem.style.height = elem.scrollHeight + "px";
+            elem.style.paddingBottom = elem.dataset.oldPaddingBottom;
+            elem.style.paddingTop = elem.dataset.oldPaddingTop;
+          }
+          elem.style.overflow = "hidden";
+        },
+        afterEnter: function afterEnter(elem) {
+          removeClass(elem, "collapse-transition");
+          elem.style.height = "";
+          elem.style.overflow = elem.dataset.oldOverflow;
+        },
+        beforeLeave: function beforeLeave(elem) {
+          if (!elem.dataset)
+            elem.dataset = {};
+          elem.dataset.oldOverflow = elem.style.overflow;
+          elem.dataset.oldPaddingBottom = elem.style.paddingBottom;
+          elem.dataset.oldPaddingTop = elem.style.paddingTop;
+          elem.style.height = elem.scrollHeight + "px";
+          elem.style.overflow = "hidden";
+        },
+        leave: function leave(elem) {
+          if (elem.scrollHeight === 0)
+            return;
+          addClass(elem, "collapse-transition");
+          elem.style.transitionProperty = "height";
+          elem.style.height = 0;
+          elem.style.paddingTop = 0;
+          elem.style.paddingBottom = 0;
+        },
+        afterLeave: function afterLeave(elem) {
+          removeClass(elem, "collapse-transition");
+          elem.style.height = "";
+          elem.style.overflow = elem.dataset.oldOverflow;
+          elem.style.paddingBottom = elem.dataset.oldPaddingBottom;
+          elem.style.paddingTop = elem.dataset.oldPaddingTop;
+        }
+      }
+    };
+  }
+});
+function _sfc_render$f(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createBlock(
+    Transition$1,
+    toHandlers(_ctx2.on),
+    {
+      default: withCtx(function() {
+        return [renderSlot(_ctx2.$slots, "default")];
+      }),
+      _: 3
+      /* FORWARDED */
+    },
+    16
+    /* FULL_PROPS */
+  );
+}
+var CollapseTransition = /* @__PURE__ */ _export_sfc$e(_sfc_main$m, [["render", _sfc_render$f]]);
+var version$a = "3.16.0";
+CollapseTransition.install = function(Vue) {
+  Vue.component(CollapseTransition.name, CollapseTransition);
+};
+CollapseTransition.version = version$a;
+const handleChange = ({
+  constants,
+  dispatch,
+  emit,
+  state,
+  nextTick: nextTick2
+}) => () => {
+  nextTick2(() => {
+    emit("change", state.model);
+    state.isGroup && dispatch(constants.RADIO_GROUP, "handleChange", [state.model]);
+  });
+};
+const isGroup = ({ constants, parent: $parent, state }) => () => {
+  let parent3 = $parent.$parent.$parent;
+  while (parent3) {
+    if (parent3.$options.componentName !== constants.RADIO_GROUP) {
+      parent3 = parent3.$parent;
+    } else {
+      state.radioGroup = parent3;
+      return true;
+    }
+  }
+  return false;
+};
+const radioSize = ({ props: props2, state }) => () => {
+  var _a2, _b2;
+  if (state.isGroup && ((_b2 = (_a2 = state.radioGroup) == null ? void 0 : _a2.state) == null ? void 0 : _b2.radioGroupSize)) {
+    return state.radioGroup.state.radioGroupSize;
+  } else {
+    return props2.size;
+  }
+};
+const isDisabled = ({ props: props2, state }) => () => {
+  var _a2;
+  return props2.disabled || ((_a2 = state.radioGroup) == null ? void 0 : _a2.disabled) || state.formDisabled;
+};
+const isDisplayOnly = ({ props: props2 }) => () => props2.displayOnly;
+const tabIndex = ({ props: props2, state }) => () => state.isDisabled || state.isGroup && state.model !== props2.label ? -1 : 0;
+const getModel = ({ props: props2, state }) => () => state.isGroup && state.radioGroup ? state.radioGroup.modelValue : props2.modelValue;
+const setModel = ({
+  constants,
+  dispatch,
+  emit,
+  props: props2,
+  vm,
+  state
+}) => (val) => {
+  if (state.isGroup) {
+    dispatch(constants.RADIO_GROUP, "update:modelValue", [val]);
+  } else {
+    emit("update:modelValue", val);
+  }
+  vm.$refs.radio && (vm.$refs.radio.checked = state.model === props2.label);
+};
+const toggleEvent = ({ props: props2, vm, type: type2 }) => {
+  const radioEl = vm.$refs.radio;
+  if (radioEl) {
+    Object.keys(props2.events).forEach((ev) => {
+      radioEl[type2 + "EventListener"](ev, props2.events[ev]);
+    });
+  }
+};
+const api$6 = ["state", "handleChange"];
+const renderless$6 = (props2, { onMounted: onMounted2, onBeforeUnmount: onBeforeUnmount2, computed: computed2, reactive, inject: inject2 }, { vm, parent: parent3, emit, constants, nextTick: nextTick2, dispatch }) => {
+  parent3.tinyForm = parent3.tinyForm || inject2("form", null);
+  const api2 = {};
+  const state = reactive({
+    vertical: inject2("radioVertical", false),
+    size: computed2(() => props2.size || inject2("size", null) || (parent3.tinyForm || {}).size),
+    focus: false,
+    radioGroup: null,
+    isGroup: computed2(() => api2.isGroup()),
+    radioSize: computed2(() => api2.radioSize()),
+    isDisabled: computed2(() => api2.isDisabled()),
+    isDisplayOnly: computed2(() => api2.isDisplayOnly() || (parent3.tinyForm || {}).displayOnly),
+    tabIndex: computed2(() => api2.tabIndex()),
+    formDisabled: computed2(() => (parent3.tinyForm || {}).disabled),
+    model: computed2({
+      get: () => api2.getModel(),
+      set: (val) => api2.setModel(val)
+    })
+  });
+  Object.assign(api2, {
+    state,
+    radioSize: radioSize({ props: props2, state }),
+    getModel: getModel({ props: props2, state }),
+    isGroup: isGroup({ constants, parent: parent3, state }),
+    tabIndex: tabIndex({ props: props2, state }),
+    isDisabled: isDisabled({ props: props2, state }),
+    isDisplayOnly: isDisplayOnly({ props: props2 }),
+    setModel: setModel({ constants, dispatch, emit, props: props2, vm, state }),
+    handleChange: handleChange({ constants, dispatch, emit, state, nextTick: nextTick2 })
+  });
+  onMounted2(() => {
+    dispatch("Tooltip", "tooltip-update");
+    toggleEvent({ props: props2, vm, type: "add" });
+  });
+  onBeforeUnmount2(() => {
+    toggleEvent({ props: props2, vm, type: "remove" });
+  });
+  return api2;
+};
+const index$b = "";
+function _createForOfIteratorHelperLoose$c(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$c(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$c(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$c(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$c(o2, minLen);
+}
+function _arrayLikeToArray$c(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$d = function _export_sfc227(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$c(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$l = defineComponent({
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["modelValue", "events", "label", "text", "disabled", "name", "border", "size", "tabindex", "displayOnly"]),
+  setup: function setup$133(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6
+    });
+  }
+});
+var _hoisted_1$g = ["aria-checked", "aria-disabled"];
+var _hoisted_2$c = ["tabindex"];
+var _hoisted_3$9 = ["value", "name", "disabled"];
+function _sfc_render$e(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return !_ctx2.state.isDisplayOnly || _ctx2.state.model === _ctx2.label ? (openBlock(), createElementBlock("label", mergeProps({
+    key: 0,
+    class: ["tiny-radio", [_ctx2.border && _ctx2.state.radioSize ? "tiny-radio--" + _ctx2.state.radioSize : "", {
+      "is-disabled": _ctx2.state.isDisabled
+    }, {
+      "is-focus": _ctx2.state.focus
+    }, {
+      "is-bordered": _ctx2.border
+    }, {
+      "is-checked": _ctx2.state.model === _ctx2.label
+    }, {
+      "is-display-only": _ctx2.state.isDisplayOnly
+    }]],
+    role: "radio",
+    "aria-checked": _ctx2.state.model === _ctx2.label,
+    "aria-disabled": _ctx2.state.isDisabled,
+    tabindex: "-1",
+    onKeydown: _cache[6] || (_cache[6] = withKeys(withModifiers(function($event) {
+      return _ctx2.state.model = _ctx2.state.isDisabled ? _ctx2.state.model : _ctx2.label;
+    }, ["stop", "prevent"]), ["space"]))
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style"], true)), [createBaseVNode(
+    "span",
+    {
+      class: normalizeClass(["tiny-radio__input", {
+        "is-disabled": _ctx2.state.isDisabled,
+        "is-checked": _ctx2.state.model === _ctx2.label
+      }])
+    },
+    [createBaseVNode("span", {
+      class: "tiny-radio__inner",
+      tabindex: _ctx2.tabindex
+    }, null, 8, _hoisted_2$c), withDirectives(createBaseVNode("input", {
+      ref: "radio",
+      class: "tiny-radio__original",
+      value: _ctx2.label,
+      type: "radio",
+      "aria-hidden": "true",
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx2.state.model = $event;
+      }),
+      onFocus: _cache[1] || (_cache[1] = function($event) {
+        return _ctx2.state.focus = true;
+      }),
+      onBlur: _cache[2] || (_cache[2] = function($event) {
+        return _ctx2.state.focus = false;
+      }),
+      onChange: _cache[3] || (_cache[3] = function() {
+        return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+      }),
+      name: _ctx2.name,
+      disabled: _ctx2.state.isDisabled,
+      onClick: _cache[4] || (_cache[4] = withModifiers(function() {
+      }, ["stop"]))
+    }, null, 40, _hoisted_3$9), [[vModelRadio, _ctx2.state.model]])],
+    2
+    /* CLASS */
+  ), createBaseVNode(
+    "span",
+    {
+      class: "tiny-radio__label",
+      onKeydown: _cache[5] || (_cache[5] = withModifiers(function() {
+      }, ["stop"]))
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.text || _ctx2.label),
+        1
+        /* TEXT */
+      )];
+    })],
+    32
+    /* NEED_HYDRATION */
+  )], 16, _hoisted_1$g)) : createCommentVNode("v-if", true);
+}
+var pc$7 = /* @__PURE__ */ _export_sfc$d(_sfc_main$l, [["render", _sfc_render$e]]);
+const index$a = "";
+function _createForOfIteratorHelperLoose$b(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$b(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$b(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$b(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$b(o2, minLen);
+}
+function _arrayLikeToArray$b(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$c = function _export_sfc228(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$b(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$k = defineComponent({
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["modelValue", "events", "label", "text", "disabled", "name"]),
+  setup: function setup$134(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6
+    });
+  }
+});
+var _hoisted_1$f = ["aria-checked", "aria-disabled", "tabindex"];
+var _hoisted_2$b = {
+  class: "tiny-mobile-radio__input"
+};
+var _hoisted_3$8 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "tiny-mobile-radio__outer"
+  },
+  [/* @__PURE__ */ createBaseVNode("div", {
+    class: "tiny-mobile-radio__inner"
+  })],
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$7 = ["value", "name", "disabled"];
+function _sfc_render$d(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("label", {
+    class: normalizeClass(["tiny-mobile-radio", [{
+      "is-disabled": _ctx2.state.isDisabled
+    }, {
+      "is-focus": _ctx2.state.focus
+    }, {
+      "is-checked": _ctx2.state.model === _ctx2.label
+    }]]),
+    role: "radio",
+    "aria-checked": _ctx2.state.model === _ctx2.label,
+    "aria-disabled": _ctx2.state.isDisabled,
+    tabindex: _ctx2.state.tabIndex,
+    onKeydown: _cache[5] || (_cache[5] = withKeys(withModifiers(function($event) {
+      return _ctx2.state.model = _ctx2.state.isDisabled ? _ctx2.state.model : _ctx2.label;
+    }, ["stop", "prevent"]), ["space"]))
+  }, [createBaseVNode("div", _hoisted_2$b, [_hoisted_3$8, withDirectives(createBaseVNode("input", {
+    ref: "radio",
+    class: "tiny-mobile-radio__original",
+    value: _ctx2.label,
+    type: "radio",
+    "aria-hidden": "true",
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx2.state.model = $event;
+    }),
+    onFocus: _cache[1] || (_cache[1] = function($event) {
+      return _ctx2.state.focus = true;
+    }),
+    onBlur: _cache[2] || (_cache[2] = function($event) {
+      return _ctx2.state.focus = false;
+    }),
+    onChange: _cache[3] || (_cache[3] = function() {
+      return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+    }),
+    name: _ctx2.name,
+    disabled: _ctx2.state.isDisabled,
+    tabindex: "-1"
+  }, null, 40, _hoisted_4$7), [[vModelRadio, _ctx2.state.model]])]), createBaseVNode(
+    "span",
+    {
+      class: "tiny-mobile-radio__label",
+      onKeydown: _cache[4] || (_cache[4] = withModifiers(function() {
+      }, ["stop"]))
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.text || _ctx2.label),
+        1
+        /* TEXT */
+      )];
+    })],
+    32
+    /* NEED_HYDRATION */
+  )], 42, _hoisted_1$f);
+}
+var mobile$2 = /* @__PURE__ */ _export_sfc$c(_sfc_main$k, [["render", _sfc_render$d]]);
+function _createForOfIteratorHelperLoose$a(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$a(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$a(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$a(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$a(o2, minLen);
+}
+function _arrayLikeToArray$a(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$b = function _export_sfc229(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$a(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var classes = {
+  "radio-default": "radio inline-flex items-center align-middle leading-4 cursor-pointer sm:flex-row py-px sm:py-0 h-fit",
+  "radio-label-common": "relative text-center w-7 h-7 mr-2 sm:mr-0",
+  "radio-label-size-common": "sm:w-4 sm:h-4",
+  "radio-label-size-medium": "sm:w-6 sm:h-6",
+  "radio-label-circle": "inline-flex p-3 sm:p-0",
+  "icon-common": "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-0 transition-all",
+  "icon-show": "opacity-100 scale-100 z-10",
+  "icon-hidden": "opacity-0 scale-0 z-0",
+  "icon-radioselected-common": "w-5 h-5 fill-color-bg-1 flex-1 [&_circle:nth-of-type(1)]:fill-color-bg-1",
+  "icon-radioselected-size-common": "sm:w-4 sm:h-4",
+  "icon-radioselected-size-medium": "sm:w-6 sm:h-6",
+  "icon-radioselected-disabled": "fill-color-brand-disabled cursor-not-allowed [&_circle:nth-of-type(1)]:fill-color-bg-1",
+  "icon-radioselected-default": "fill-color-brand [&_circle:nth-of-type(1)]:shadow-xsm",
+  "icon-radio-common": "w-5 h-5 flex-1",
+  "icon-radio-size-common": "sm:w-4 sm:h-4",
+  "icon-radio-size-medium": "sm:w-6 sm:h-6",
+  "icon-radio-default": "fill-color-bg-1 [&_path:nth-of-type(1)]:fill-color-icon-secondary",
+  "icon-radio-disabled": "[&_path:nth-of-type(1)]:fill-color-icon-disabled [&_path:nth-of-type(2)]:fill-color-bg-3 cursor-not-allowed",
+  "mobile-icon-radioselected-disabled": "fill-color-bg-1 [&_path:nth-of-type(1)]:fill-color-brand-disabled cursor-not-allowed",
+  "mobile-icon-radioselected-default": "fill-color-bg-1 [&_path:nth-of-type(1)]:fill-color-brand [&_path:nth-of-type(1)]:shadow-xsm",
+  "mobile-icon-radio-default": "[&_path:nth-of-type(2)]:fill-color-none-hover [&_path:nth-of-type(1)]:fill-color-bg-1",
+  "mobile-icon-radio-disabled": "[&_path:nth-of-type(2)]:fill-color-icon-disabled [&_path:nth-of-type(1)]:fill-color-bg-3 cursor-not-allowed",
+  "radio-input": "absolute left-0 right-0 top-0 bottom-0 w-0 h-0 -z-10 opacity-0",
+  "radio-text-common": "sm:h-4 text-center text-color-text-primary align-middle text-sm",
+  "radio-text-size-common": "sm:text-xs",
+  "radio-text-size-medium": "sm:text-sm",
+  "radio-hover": "sm:[&_path:nth-of-type(1)]:hover:fill-color-brand-hover",
+  "radio-hover-selected": "sm:[&_path:nth-of-type(1)]:hover:fill-color-brand-hover",
+  "radio-active": "sm:[&_path:nth-of-type(1)]:active:fill-color-brand-active",
+  "radio-active-selected": "sm:[&_path:nth-of-type(1)]:active:fill-color-brand-active",
+  "label-disabled": "text-color-text-secondary cursor-not-allowed",
+  "pc-show": "hidden sm:block",
+  "mobile-show": "block sm:hidden",
+  "readonly-is-checked": "sm:m-0",
+  "readonly-is-not-checked": "sm:hidden",
+  "not-readonly-common": "mr-5 sm:[&:last-child]:mr-0",
+  "hidden-radio": "sm:hidden",
+  "not-readly-common-label": "sm:py-0 sm:pl-2 -ml-0.5 sm:ml-0",
+  "readonly-checked-label": "sm:pl-0 text-color-text-primary",
+  "verticalStyle": "sm:mb-2 sm:[&:last-child]:mb-0 sm:mr-0"
+};
+var _sfc_main$j = defineComponent({
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["modelValue", "events", "label", "text", "disabled", "name", "border", "size", "tabindex", "displayOnly"]),
+  inheritAttrs: false,
+  components: {
+    IconRadio: index$M(),
+    IconRadioselected: index$L(),
+    IconMobileRadio: index$B(),
+    IconMobileRadioSelected: index$A()
+  },
+  setup: function setup$135(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6,
+      classes
+    });
+  }
+});
+var _hoisted_1$e = ["aria-checked", "aria-disabled"];
+var _hoisted_2$a = ["tabindex"];
+var _hoisted_3$7 = ["value", "name", "disabled"];
+function _sfc_render$c(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_radio = resolveComponent("icon-radio");
+  var _component_icon_radioselected = resolveComponent("icon-radioselected");
+  var _component_icon_mobile_radio = resolveComponent("icon-mobile-radio");
+  var _component_icon_mobile_radio_selected = resolveComponent("icon-mobile-radio-selected");
+  return openBlock(), createElementBlock("label", mergeProps({
+    "data-tag": "tiny-radio",
+    class: _ctx2.m(_ctx2.gcls("radio-default"), _ctx2.gcls(_ctx2.state.isDisplayOnly ? _ctx2.state.model === _ctx2.label ? "readonly-is-checked" : "readonly-is-not-checked" : "not-readonly-common"), _ctx2.gcls({
+      "verticalStyle": _ctx2.state.vertical
+    })),
+    role: "radio",
+    "aria-checked": _ctx2.state.model === _ctx2.label,
+    "aria-disabled": _ctx2.state.isDisabled,
+    tabindex: "-1",
+    onKeydown: _cache[6] || (_cache[6] = withKeys(withModifiers(function($event) {
+      return _ctx2.state.model = _ctx2.state.isDisabled ? _ctx2.state.model : _ctx2.label;
+    }, ["stop", "prevent"]), ["space"]))
+  }, _ctx2.a(_ctx2.$attrs, ["class", "style", "onClick"], true)), [createBaseVNode(
+    "span",
+    {
+      "data-tag": "tiny-radio-content",
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("radio-label-common"), _ctx2.gcls(_ctx2.state.size === "medium" ? "radio-label-size-medium" : "radio-label-size-common"), _ctx2.gcls(_ctx2.state.isDisplayOnly && _ctx2.state.model === _ctx2.label && "hidden-radio")))
+    },
+    [createBaseVNode("span", {
+      "data-tag": "tiny-radio-icon",
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("radio-label-circle"))),
+      tabindex: _ctx2.tabindex
+    }, [createVNode$1(_component_icon_radio, {
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("icon-common"), _ctx2.gcls("pc-show"), _ctx2.gcls({
+        "radio-active": !_ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "radio-hover": !_ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "icon-radio-disabled": _ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "icon-radio-default": !_ctx2.state.isDisabled
+      }), _ctx2.gcls("icon-radio-common"), _ctx2.gcls(_ctx2.state.size === "medium" ? "icon-radio-size-medium" : "icon-radio-size-common")))
+    }, null, 8, ["class"]), createVNode$1(_component_icon_radioselected, {
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("icon-common"), _ctx2.gcls("pc-show"), _ctx2.state.model === _ctx2.label ? _ctx2.gcls("icon-show") : _ctx2.gcls("icon-hidden"), _ctx2.gcls({
+        "radio-hover-selected": !_ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "radio-active-selected": !_ctx2.state.isDisabled
+      }), _ctx2.gcls("icon-radioselected-common"), _ctx2.gcls({
+        "icon-radioselected-disabled": _ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "icon-radioselected-default": !_ctx2.state.isDisabled
+      }), _ctx2.gcls(_ctx2.state.size === "medium" ? "icon-radioselected-size-medium" : "icon-radioselected-size-common")))
+    }, null, 8, ["class"]), createVNode$1(_component_icon_mobile_radio, {
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("icon-common"), _ctx2.gcls("mobile-show"), _ctx2.gcls({
+        "mobile-icon-radio-disabled": _ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "mobile-icon-radio-default": !_ctx2.state.isDisabled
+      }), _ctx2.gcls("icon-radio-common")))
+    }, null, 8, ["class"]), createVNode$1(_component_icon_mobile_radio_selected, {
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("icon-common"), _ctx2.gcls("mobile-show"), _ctx2.state.model === _ctx2.label ? _ctx2.gcls("icon-show") : _ctx2.gcls("icon-hidden"), _ctx2.gcls("icon-radioselected-common"), _ctx2.gcls({
+        "mobile-icon-radioselected-disabled": _ctx2.state.isDisabled
+      }), _ctx2.gcls({
+        "mobile-icon-radioselected-default": !_ctx2.state.isDisabled
+      })))
+    }, null, 8, ["class"])], 10, _hoisted_2$a), withDirectives(createBaseVNode("input", {
+      ref: "radio",
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("radio-input"))),
+      value: _ctx2.label,
+      type: "radio",
+      "aria-hidden": "true",
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx2.state.model = $event;
+      }),
+      onFocus: _cache[1] || (_cache[1] = function($event) {
+        return _ctx2.state.focus = true;
+      }),
+      onBlur: _cache[2] || (_cache[2] = function($event) {
+        return _ctx2.state.focus = false;
+      }),
+      onChange: _cache[3] || (_cache[3] = function() {
+        return _ctx2.handleChange && _ctx2.handleChange.apply(_ctx2, arguments);
+      }),
+      name: _ctx2.name,
+      disabled: _ctx2.state.isDisabled,
+      onClick: _cache[4] || (_cache[4] = withModifiers(function() {
+      }, ["stop"]))
+    }, null, 42, _hoisted_3$7), [[vModelRadio, _ctx2.state.model]])],
+    2
+    /* CLASS */
+  ), createBaseVNode(
+    "span",
+    {
+      "data-tag": "tiny-radio-label",
+      ref: "label",
+      class: normalizeClass(_ctx2.m(_ctx2.gcls("radio-text-common"), _ctx2.gcls(_ctx2.state.size !== "mini" ? "radio-text-size-medium" : "radio-text-size-common"), _ctx2.gcls({
+        "label-disabled": _ctx2.state.isDisabled
+      }), _ctx2.gcls(_ctx2.state.isDisplayOnly ? _ctx2.state.model === _ctx2.label ? "readonly-checked-label" : "" : "not-readly-common-label"))),
+      onKeydown: _cache[5] || (_cache[5] = withModifiers(function() {
+      }, ["stop"]))
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx2.text || _ctx2.label),
+        1
+        /* TEXT */
+      )];
+    })],
+    34
+    /* CLASS, NEED_HYDRATION */
+  )], 16, _hoisted_1$e);
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$b(_sfc_main$j, [["render", _sfc_render$c]]);
+function _extends$8() {
+  _extends$8 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$8.apply(this, arguments);
+}
+var template$7 = function template213(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$7;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$2;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$1;
+  }
+  return pc$7;
+};
+var $constants$4 = {
+  RADIO_GROUP: "RadioGroup"
+};
+var radioProps = _extends$8({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default51() {
+      return $constants$4;
+    }
+  },
+  modelValue: {},
+  label: {},
+  disabled: Boolean,
+  name: String,
+  border: Boolean,
+  size: {
+    type: String,
+    default: ""
+  },
+  text: String,
+  events: {
+    type: Object,
+    default: function _default215() {
+      return {};
+    }
+  },
+  tabindex: {
+    type: String,
+    default: "1"
+  },
+  displayOnly: {
+    type: Boolean,
+    default: false
+  }
+});
+var Radio = defineComponent({
+  name: $prefix + "Radio",
+  props: radioProps,
+  setup: function setup16(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$7
+    });
+  }
+});
+var version$9 = "3.16.0";
+Radio.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Radio.install = function(Vue) {
+  Vue.component(Radio.name, Radio);
+};
+Radio.version = version$9;
+function _createForOfIteratorHelperLoose$9(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$9(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$9(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$9(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$9(o2, minLen);
+}
+function _arrayLikeToArray$9(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$a = function _export_sfc230(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$9(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$1$1 = defineComponent({
+  name: "TreeNode",
+  componentName: "TreeNode",
+  directives: directive$1({
+    Clickoutside: clickoutside_default
+  }),
+  inject: ["TreeRoot"],
+  provide: function provide5() {
+    return {
+      parentTree: this
+    };
+  },
+  emits: ["update:modelValue", "hook-updated", "node-expand", "radio-change", "tree-node-expand", "closeMenu"],
+  props: {
+    node: {
+      default: function _default56() {
+        return {};
+      }
+    },
+    props: {},
+    expandIcon: Object,
+    shrinkIcon: Object,
+    expandIconColor: String,
+    shrinkIconColor: String,
+    renderContent: Function,
+    renderAfterExpand: {
+      type: Boolean,
+      default: true
+    },
+    showCheckbox: {
+      type: Boolean,
+      default: false
+    },
+    showRadio: {
+      type: Boolean,
+      default: false
+    },
+    currentRadio: {
+      type: Object,
+      default: function _default216() {
+        return {
+          value: null
+        };
+      }
+    },
+    showNumber: {
+      type: Boolean,
+      default: false
+    },
+    collapsible: {
+      type: Boolean,
+      default: true
+    },
+    nodeHeight: Number,
+    checkEasily: {
+      type: Boolean,
+      default: false
+    },
+    action: Object,
+    nodeKey: String,
+    theme: String,
+    showCheckedMark: Boolean,
+    showLine: Boolean
+  },
+  components: {
+    CollapseTransition,
+    TinyCheckbox: Checkbox,
+    TinyRadio: Radio,
+    TinyInput: Input,
+    IconChevronRight: index$18(),
+    IconLoading: index$S(),
+    IconArrowBottom: index$1c(),
+    IconEdit: index$14(),
+    IconMinusSquare: index$P(),
+    IconPlusSquare: index$N(),
+    IconFinish: index$y(),
+    MenuContext: {
+      props: {
+        node: {
+          required: true
+        }
+      },
+      render: function render7() {
+        var tree2 = this.$parent.state.tree;
+        var data2 = this.node.data;
+        return tree2 && tree2.scopedSlots && tree2.scopedSlots.contextmenu && tree2.scopedSlots.contextmenu({
+          data: data2,
+          node: this.node
+        });
+      }
+    },
+    NodeContent: {
+      props: {
+        node: {
+          required: true
+        },
+        renderContent: Function
+      },
+      inject: ["TreeRoot", "parentTree"],
+      render: function render22() {
+        var parent3 = this.$parent;
+        var tree2 = parent3.state.tree;
+        var node = this.node;
+        var data2 = node.data, store = node.store;
+        return this.renderContent ? this.renderContent(h, {
+          _self: this,
+          node,
+          data: data2,
+          store
+        }) : tree2.scopedSlots.default && tree2.scopedSlots.default({
+          node,
+          data: data2
+        }) || h("span", {
+          class: "tiny-tree-node__label"
+        }, node.label);
+      }
+    }
+  },
+  setup: function setup$136(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$7,
+      api: api$7,
+      mono: true,
+      extendOptions: {
+        isVue2
+      }
+    });
+  }
+});
+var _hoisted_1$1$1 = {
+  class: "tiny-tree-node__wrapper"
+};
+var _hoisted_2$1$1 = ["aria-expanded", "aria-disabled", "aria-checked", "draggable"];
+var _hoisted_3$1$1 = {
+  class: "tiny-tree-node__content-left"
+};
+var _hoisted_4$1$1 = {
+  key: 0,
+  class: "tree-node-number"
+};
+var _hoisted_5$1$1 = {
+  key: 4,
+  class: "tiny-tree-node__loading tiny-svg circular",
+  viewBox: "25 25 50 50"
+};
+var _hoisted_6$1$1 = /* @__PURE__ */ createBaseVNode(
+  "circle",
+  {
+    class: "path",
+    cx: "50",
+    cy: "50",
+    r: "24",
+    fill: "none"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_7$1$1 = [_hoisted_6$1$1];
+var _hoisted_8$1$1 = {
+  key: 6,
+  class: "tiny-tree-node__content-box"
+};
+var _hoisted_9$1$1 = {
+  key: 0,
+  class: "tiny-tree-node__checked-mark"
+};
+var _hoisted_10$1$1 = ["title"];
+var _hoisted_11$1 = ["title"];
+var _hoisted_12$1 = ["title"];
+var _hoisted_13$1 = ["aria-expanded"];
+function _sfc_render$1$1(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tiny_checkbox = resolveComponent("tiny-checkbox");
+  var _component_tiny_radio = resolveComponent("tiny-radio");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_node_content = resolveComponent("node-content");
+  var _component_icon_finish = resolveComponent("icon-finish");
+  var _component_icon_edit = resolveComponent("icon-edit");
+  var _component_icon_minus_square = resolveComponent("icon-minus-square");
+  var _component_icon_plus_square = resolveComponent("icon-plus-square");
+  var _component_tree_node = resolveComponent("tree-node", true);
+  var _component_collapse_transition = resolveComponent("collapse-transition");
+  var _component_menu_context = resolveComponent("menu-context");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createElementBlock("div", _hoisted_1$1$1, [withDirectives(createBaseVNode("div", {
+    class: normalizeClass(["tiny-tree-node", {
+      "is-indeterminate": !_ctx2.node.disabled && _ctx2.node.indeterminate,
+      "is-current": _ctx2.node.isCurrent,
+      "is-hidden": !_ctx2.node.visible,
+      "is-checked": !_ctx2.node.disabled && _ctx2.node.checked,
+      "is-focusable": !_ctx2.node.disabled,
+      "is-expanded": _ctx2.state.expanded,
+      "is-loading": _ctx2.node.loading,
+      "is-disabled": _ctx2.node.disabled,
+      "is-leaf": _ctx2.node.isLeaf,
+      "is-root": _ctx2.node.level === 1,
+      "show-line": _ctx2.showLine,
+      "show-checkbox": _ctx2.showCheckbox
+    }]),
+    role: "treeitem",
+    tabindex: "-1",
+    "aria-expanded": _ctx2.state.expanded,
+    "aria-disabled": _ctx2.node.disabled,
+    "aria-checked": _ctx2.node.checked,
+    draggable: _ctx2.state.tree.draggable,
+    onClick: _cache[11] || (_cache[11] = withModifiers(function() {
+      return _ctx2.handleClick && _ctx2.handleClick.apply(_ctx2, arguments);
+    }, ["stop"])),
+    onContextmenu: _cache[12] || (_cache[12] = withModifiers(function($event) {
+      return _ctx2.handleContextMenu($event);
+    }, ["stop"])),
+    onDragstart: _cache[13] || (_cache[13] = withModifiers(function() {
+      return _ctx2.handleDragStart && _ctx2.handleDragStart.apply(_ctx2, arguments);
+    }, ["stop"])),
+    onDragover: _cache[14] || (_cache[14] = withModifiers(function() {
+      return _ctx2.handleDragOver && _ctx2.handleDragOver.apply(_ctx2, arguments);
+    }, ["stop"])),
+    onDragend: _cache[15] || (_cache[15] = withModifiers(function() {
+      return _ctx2.handleDragEnd && _ctx2.handleDragEnd.apply(_ctx2, arguments);
+    }, ["stop"])),
+    onDrop: _cache[16] || (_cache[16] = withModifiers(function() {
+      return _ctx2.handleDrop && _ctx2.handleDrop.apply(_ctx2, arguments);
+    }, ["stop"])),
+    ref: "node"
+  }, [createBaseVNode(
+    "div",
+    {
+      class: normalizeClass({
+        "tiny-tree-node__content": true,
+        "tiny-tree-node__content-number": _ctx2.showNumber
+      }),
+      style: normalizeStyle$2({
+        "height": _ctx2.nodeHeight ? _ctx2.nodeHeight + "px" : void 0,
+        "line-height": _ctx2.nodeHeight ? _ctx2.nodeHeight + "px" : void 0
+      }),
+      onClick: _cache[9] || (_cache[9] = function($event) {
+        return _ctx2.handleContentClick(_ctx2.node, _ctx2.currentRadio);
+      })
+    },
+    [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx2.showLine ? 1 : _ctx2.node.level - 1, function(i2) {
+        return openBlock(), createElementBlock(
+          "span",
+          {
+            class: "tiny-tree-node__content-indent",
+            key: i2,
+            style: normalizeStyle$2({
+              width: _ctx2.state.computedIndent,
+              flexShrink: 0
+            })
+          },
+          null,
+          4
+          /* STYLE */
+        );
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    )), createBaseVNode("div", _hoisted_3$1$1, [_ctx2.showNumber ? (openBlock(), createElementBlock(
+      "span",
+      _hoisted_4$1$1,
+      toDisplayString(_ctx2.node.data.number),
+      1
+      /* TEXT */
+    )) : (openBlock(), createElementBlock(
+      "span",
+      {
+        key: 1,
+        class: normalizeClass(["tree-node-icon", {
+          "is-disabled": _ctx2.node.disabled
+        }]),
+        onClick: _cache[0] || (_cache[0] = function($event) {
+          return _ctx2.handleExpandIconClick($event, _ctx2.node);
+        })
+      },
+      [_ctx2.state.expandIcon !== void 0 && _ctx2.state.shrinkIcon !== void 0 ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.expanded ? _ctx2.state.shrinkIcon : _ctx2.state.expandIcon), {
+        key: 0,
+        fill: _ctx2.state.expanded ? _ctx2.state.shrinkIconColor : _ctx2.state.expandIconColor,
+        class: normalizeClass(["tiny-tree-node__expand-icon", {
+          "is-leaf": _ctx2.node.isLeaf
+        }])
+      }, null, 8, ["fill", "class"])) : (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.computedExpandIcon), {
+        key: 1,
+        class: normalizeClass(["tiny-tree-node__expand-icon", {
+          "is-leaf": _ctx2.node.isLeaf,
+          expanded: !_ctx2.node.isLeaf && _ctx2.state.expanded,
+          "is-saas-theme": _ctx2.state.isSaaSTheme
+        }])
+      }, null, 8, ["class"]))],
+      2
+      /* CLASS */
+    )), _ctx2.showCheckbox ? (openBlock(), createBlock(_component_tiny_checkbox, {
+      key: 2,
+      "model-value": _ctx2.node.checked,
+      ref: "checkbox",
+      indeterminate: _ctx2.node.indeterminate,
+      disabled: !!_ctx2.node.disabled,
+      "validate-event": false,
+      onChange: _ctx2.handleCheckChange
+    }, null, 8, ["model-value", "indeterminate", "disabled", "onChange"])) : createCommentVNode("v-if", true), _ctx2.showRadio ? (openBlock(), createBlock(_component_tiny_radio, {
+      key: 3,
+      "model-value": _ctx2.currentRadio.value,
+      "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
+        return _ctx2.$emit("radio-change", $event);
+      }),
+      "validate-event": false,
+      label: _ctx2.node.id,
+      disabled: !!_ctx2.node.disabled
+    }, null, 8, ["model-value", "label", "disabled"])) : createCommentVNode("v-if", true), _ctx2.node.loading ? (openBlock(), createElementBlock("svg", _hoisted_5$1$1, _hoisted_7$1$1)) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "prefix", {
+      node: _ctx2.node
+    }), _ctx2.action.type === "edit" && _ctx2.action.node && _ctx2.action.node === _ctx2.node ? (openBlock(), createBlock(_component_tiny_input, {
+      key: 5,
+      modelValue: _ctx2.action.label,
+      "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+        return _ctx2.action.label = $event;
+      }),
+      ref: "editInput",
+      autofocus: "",
+      clearable: "",
+      onKeyup: _cache[3] || (_cache[3] = withKeys(function($event) {
+        return _ctx2.saveEdit($event);
+      }, ["enter"])),
+      onBlur: _cache[4] || (_cache[4] = function($event) {
+        return _ctx2.saveEdit($event);
+      }),
+      onClick: _cache[5] || (_cache[5] = withModifiers(function($event) {
+        return $event.stopPropagation();
+      }, ["stop"]))
+    }, null, 8, ["modelValue"])) : (openBlock(), createElementBlock("div", _hoisted_8$1$1, [createVNode$1(_component_node_content, {
+      node: _ctx2.node,
+      "render-content": _ctx2.renderContent
+    }, null, 8, ["node", "render-content"])])), renderSlot(_ctx2.$slots, "suffix", {
+      node: _ctx2.node
+    })]), createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(["tiny-tree-node__content-right", {
+          "is-disabled": _ctx2.node.disabled
+        }])
+      },
+      [_ctx2.showCheckedMark && !_ctx2.showCheckbox && !_ctx2.node.disabled && _ctx2.node.isCurrent ? (openBlock(), createElementBlock("span", _hoisted_9$1$1, [createVNode$1(_component_icon_finish)])) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "operation", {
+        node: _ctx2.node
+      }), _ctx2.action.show ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 1
+        },
+        [createBaseVNode("span", {
+          title: _ctx2.t("ui.tree.edit")
+        }, [!_ctx2.action.editDisabled.includes(_ctx2.node.data[_ctx2.nodeKey]) ? (openBlock(), createBlock(_component_icon_edit, {
+          key: 0,
+          onClick: _cache[6] || (_cache[6] = withModifiers(function($event) {
+            return _ctx2.openEdit(_ctx2.node);
+          }, ["stop"]))
+        })) : createCommentVNode("v-if", true)], 8, _hoisted_10$1$1), createBaseVNode("span", {
+          title: _ctx2.t("ui.tree.delete")
+        }, [!_ctx2.action.deleteDisabled.includes(_ctx2.node.data[_ctx2.nodeKey]) ? (openBlock(), createBlock(_component_icon_minus_square, {
+          key: 0,
+          onClick: _cache[7] || (_cache[7] = withModifiers(function($event) {
+            return _ctx2.deleteNode($event, _ctx2.node);
+          }, ["stop"]))
+        })) : createCommentVNode("v-if", true)], 8, _hoisted_11$1), createBaseVNode("span", {
+          title: _ctx2.t("ui.tree.newNodeTitle")
+        }, [!_ctx2.node.data._isNewNode && !_ctx2.action.addDisabled.includes(_ctx2.node.data[_ctx2.nodeKey]) ? (openBlock(), createBlock(_component_icon_plus_square, {
+          key: 0,
+          onClick: _cache[8] || (_cache[8] = withModifiers(function($event) {
+            return _ctx2.addNode(_ctx2.node);
+          }, ["stop"]))
+        })) : createCommentVNode("v-if", true)], 8, _hoisted_12$1)],
+        64
+        /* STABLE_FRAGMENT */
+      )) : createCommentVNode("v-if", true)],
+      2
+      /* CLASS */
+    )],
+    6
+    /* CLASS, STYLE */
+  ), _ctx2.node.childNodes.length ? (openBlock(), createBlock(_component_collapse_transition, {
+    key: 0
+  }, {
+    default: withCtx(function() {
+      return [!_ctx2.renderAfterExpand || _ctx2.state.childNodeRendered ? withDirectives((openBlock(), createElementBlock("div", {
+        key: 0,
+        class: "tiny-tree-node__children",
+        role: "group",
+        "aria-expanded": _ctx2.state.expanded,
+        style: normalizeStyle$2({
+          "margin-left": _ctx2.showLine ? _ctx2.state.computedIndent : 0
+        })
+      }, [_ctx2.showLine ? (openBlock(), createElementBlock(
+        "span",
+        {
+          key: 0,
+          class: "tiny-tree-node__children-indent",
+          style: normalizeStyle$2({
+            width: _ctx2.state.computedIndent,
+            left: "-" + _ctx2.state.computedIndent
+          })
+        },
+        null,
+        4
+        /* STYLE */
+      )) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList(_ctx2.node.childNodes, function(child) {
+          return openBlock(), createBlock(_component_tree_node, {
+            action: _ctx2.action,
+            "show-radio": _ctx2.showRadio,
+            theme: _ctx2.theme,
+            "current-radio": _ctx2.currentRadio,
+            "render-content": _ctx2.renderContent,
+            "expand-icon": _ctx2.state.expandIcon,
+            "shrink-icon": _ctx2.state.shrinkIcon,
+            "expand-icon-color": _ctx2.state.expandIconColor,
+            "shrink-icon-color": _ctx2.state.shrinkIconColor,
+            "render-after-expand": _ctx2.renderAfterExpand,
+            "show-checkbox": _ctx2.showCheckbox,
+            "show-number": _ctx2.showNumber,
+            "node-height": _ctx2.nodeHeight,
+            "show-checked-mark": _ctx2.showCheckedMark,
+            key: _ctx2.getNodeKey(child),
+            "node-key": _ctx2.nodeKey,
+            "check-easily": _ctx2.checkEasily,
+            node: child,
+            "show-line": _ctx2.showLine,
+            onNodeExpand: _ctx2.handleChildNodeExpand,
+            onRadioChange: _cache[10] || (_cache[10] = function($event) {
+              return _ctx2.$emit("radio-change", $event);
+            })
+          }, {
+            prefix: withCtx(function(slotScoped) {
+              return [renderSlot(_ctx2.$slots, "prefix", {
+                node: slotScoped.node
+              })];
+            }),
+            suffix: withCtx(function(slotScoped) {
+              return [renderSlot(_ctx2.$slots, "suffix", {
+                node: slotScoped.node
+              })];
+            }),
+            operation: withCtx(function(slotScoped) {
+              return [renderSlot(_ctx2.$slots, "operation", {
+                node: slotScoped.node
+              })];
+            }),
+            _: 2
+            /* DYNAMIC */
+          }, 1032, ["action", "show-radio", "theme", "current-radio", "render-content", "expand-icon", "shrink-icon", "expand-icon-color", "shrink-icon-color", "render-after-expand", "show-checkbox", "show-number", "node-height", "show-checked-mark", "node-key", "check-easily", "node", "show-line", "onNodeExpand"]);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))], 12, _hoisted_13$1)), [[vShow, _ctx2.state.expanded]]) : createCommentVNode("v-if", true)];
+    }),
+    _: 3
+    /* FORWARDED */
+  })) : createCommentVNode("v-if", true)], 42, _hoisted_2$1$1), [[vShow, _ctx2.node.visible]]), _ctx2.state.showMenu && _ctx2.TreeRoot.showContextmenu ? withDirectives((openBlock(), createElementBlock(
+    "div",
+    {
+      key: 0,
+      ref: "menuContext",
+      class: "tiny-tree-node__menu",
+      style: normalizeStyle$2(_ctx2.state.menuposition),
+      onContextmenu: _cache[17] || (_cache[17] = withModifiers(function() {
+      }, ["stop"])),
+      onClick: _cache[18] || (_cache[18] = withModifiers(function() {
+      }, ["stop"]))
+    },
+    [createVNode$1(_component_menu_context, {
+      node: _ctx2.node
+    }, null, 8, ["node"])],
+    36
+    /* STYLE, NEED_HYDRATION */
+  )), [[_directive_clickoutside, _ctx2.closeMenu]]) : createCommentVNode("v-if", true)]);
+}
+var TreeNode$1 = /* @__PURE__ */ _export_sfc$a(_sfc_main$1$1, [["render", _sfc_render$1$1]]);
+var _sfc_main$i = /* @__PURE__ */ defineComponent({
+  directives: directive$1({
+    Clickoutside: clickoutside_default
+  }),
+  props: [].concat(props, ["data", "dataset", "parentKey", "expandIcon", "shrinkIcon", "expandIconColor", "shrinkIconColor", "emptyText", "renderAfterExpand", "nodeKey", "checkStrictly", "defaultExpandAll", "expandOnClickNode", "checkOnClickNode", "checkDescendants", "autoExpandParent", "defaultCheckedKeys", "defaultExpandedKeys", "defaultExpandedKeysHighlight", "currentNodeKey", "renderContent", "showCheckbox", "draggable", "allowDrag", "allowDrop", "props", "lazy", "highlightCurrent", "load", "filterNodeMethod", "accordion", "indent", "icon", "iconTriggerClickNode", "showRadio", "showContextmenu", "showNumber", "collapsible", "nodeHeight", "showCheckEasily", "size", "deleteDisabledKeys", "editDisabledKeys", "addDisabledKeys", "theme", "viewType", "showAuxi", "pathSplit", "filterPlainMethod", "afterLoad", "lazyCurrent", "baseIndent", "showLine", "onlyCheckChildren", "deleteNodeMethod", "showCheckedMark", "willChangeView"]),
+  components: {
+    TreeNode: TreeNode$1,
+    IconWarning: index$E(),
+    IconMarkOn: index$R(),
+    TinyPopover: Popover,
+    TinyCheckbox: Checkbox,
+    TinyButton: Button,
+    TinySwitch: Switch,
+    TinyRadio: Radio
+  },
+  emits: ["node-expand", "check-change", "check", "node-drag-over", "node-drag-enter", "node-drag-leave", "node-drag-start", "node-drag-end", "node-drop", "current-change", "node-click", "leave-plain-view", "check-plain", "load-data", "open-edit", "close-edit", "save-edit", "add-node", "edit-node", "delete-node", "closeMenu"],
+  provide: function provide22() {
+    return {
+      parentTree: this,
+      TreeRoot: this
+    };
+  },
+  setup: function setup22(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$9,
+      api: api$9,
+      extendOptions: {
+        isVue2
+      }
+    });
+  }
+});
+var _hoisted_1$d = {
+  class: "tiny-tree__plain-node-title"
+};
+var _hoisted_2$9 = {
+  class: "tiny-tree__plain-node-title-txt"
+};
+var _hoisted_3$6 = {
+  class: "tiny-tree__plain-node-title-loc"
+};
+var _hoisted_4$6 = {
+  key: 0,
+  class: "tiny-tree__plain-node-auxi"
+};
+var _hoisted_5$6 = {
+  key: 2,
+  class: "tiny-tree__empty-block"
+};
+var _hoisted_6$5 = {
+  class: "tiny-tree__empty-text"
+};
+var _hoisted_7$4 = {
+  class: "tiny-tree__drop-indicator",
+  ref: "dropIndicator"
+};
+var _hoisted_8$2 = {
+  key: 3,
+  class: "tiny-tree__strict-bottom"
+};
+var _hoisted_9$2 = {
+  class: "tiny-tree__strict-bottom-content"
+};
+var _hoisted_10$2 = {
+  class: "tiny-tree__bottom-text"
+};
+var _hoisted_11$2 = {
+  class: "tiny-tree__del-body"
+};
+var _hoisted_12$2 = {
+  class: "tiny-tree__del-icon"
+};
+var _hoisted_13$2 = {
+  class: "tiny-tree__del-content"
+};
+var _hoisted_14$1 = {
+  key: 0
+};
+var _hoisted_15$1 = {
+  class: "tiny-tree__del-checkbox"
+};
+var _hoisted_16$1 = {
+  class: "tiny-tree__del-footer"
+};
+function _sfc_render$b(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tree_node = resolveComponent("tree-node");
+  var _component_tiny_checkbox = resolveComponent("tiny-checkbox");
+  var _component_tiny_radio = resolveComponent("tiny-radio");
+  var _component_icon_mark_on = resolveComponent("icon-mark-on");
+  var _component_tiny_switch = resolveComponent("tiny-switch");
+  var _component_icon_warning = resolveComponent("icon-warning");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_popover = resolveComponent("tiny-popover");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-tree", {
+        "tiny-tree--highlight-current": _ctx2.highlightCurrent,
+        "is-dragging": !!_ctx2.state.dragState.draggingNode,
+        "is-drop-not-allow": !_ctx2.state.dragState.allowDrop,
+        "is-drop-inner": _ctx2.state.dragState.dropType === "inner",
+        "tiny-tree--small": _ctx2.size === "small"
+      }]),
+      role: "tree"
+    },
+    [_ctx2.viewType === "tree" ? (openBlock(true), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      renderList(_ctx2.state.root.childNodes, function(child) {
+        return openBlock(), createBlock(_component_tree_node, {
+          action: _ctx2.state.action,
+          "show-radio": _ctx2.showRadio,
+          theme: _ctx2.theme,
+          "show-number": _ctx2.showNumber,
+          collapsible: _ctx2.collapsible,
+          "node-height": _ctx2.nodeHeight,
+          "current-radio": _ctx2.state.currentRadio,
+          onRadioChange: _cache[0] || (_cache[0] = function($event) {
+            return _ctx2.state.currentRadio.value = $event;
+          }),
+          "expand-icon": _ctx2.expandIcon,
+          "shrink-icon": _ctx2.shrinkIcon,
+          "expand-icon-color": _ctx2.expandIconColor,
+          "shrink-icon-color": _ctx2.shrinkIconColor,
+          node: child,
+          props: _ctx2.props,
+          "render-after-expand": _ctx2.renderAfterExpand,
+          "show-checkbox": _ctx2.showCheckbox,
+          key: _ctx2.getNodeKey(child),
+          "node-key": _ctx2.nodeKey,
+          "render-content": _ctx2.renderContent,
+          onNodeExpand: _ctx2.handleNodeExpand,
+          "check-easily": _ctx2.state.checkEasily,
+          "show-line": _ctx2.showLine,
+          "show-checked-mark": _ctx2.showCheckedMark
+        }, {
+          prefix: withCtx(function(slotScoped) {
+            return [renderSlot(_ctx2.$slots, "prefix", {
+              node: slotScoped.node
+            })];
+          }),
+          suffix: withCtx(function(slotScoped) {
+            return [renderSlot(_ctx2.$slots, "suffix", {
+              node: slotScoped.node
+            })];
+          }),
+          operation: withCtx(function(slotScoped) {
+            return [renderSlot(_ctx2.$slots, "operation", {
+              node: slotScoped.node
+            })];
+          }),
+          _: 2
+          /* DYNAMIC */
+        }, 1032, ["action", "show-radio", "theme", "show-number", "collapsible", "node-height", "current-radio", "expand-icon", "shrink-icon", "expand-icon-color", "shrink-icon-color", "node", "props", "render-after-expand", "show-checkbox", "node-key", "render-content", "onNodeExpand", "check-easily", "show-line", "show-checked-mark"]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    )) : _ctx2.viewType === "plain" ? (openBlock(true), createElementBlock(
+      Fragment,
+      {
+        key: 1
+      },
+      renderList(_ctx2.state.plainNodeStore.filteredNodes, function(plainNode, i2) {
+        return openBlock(), createElementBlock("div", {
+          key: plainNode.nodeKeyPath + "-" + i2,
+          class: "tiny-tree__plain-node"
+        }, [createBaseVNode("div", _hoisted_1$d, [_ctx2.showCheckbox ? (openBlock(), createBlock(_component_tiny_checkbox, {
+          key: 0,
+          "model-value": plainNode.node.checked,
+          indeterminate: plainNode.node.indeterminate,
+          disabled: !!plainNode.node.disabled,
+          onChange: function onChange($event) {
+            return _ctx2.handleCheckPlainNode($event, plainNode);
+          }
+        }, null, 8, ["model-value", "indeterminate", "disabled", "onChange"])) : createCommentVNode("v-if", true), _ctx2.showRadio ? (openBlock(), createBlock(_component_tiny_radio, {
+          key: 1,
+          modelValue: _ctx2.state.currentRadio.value,
+          "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
+            return _ctx2.state.currentRadio.value = $event;
+          }),
+          "validate-event": false,
+          label: plainNode.node.id,
+          disabled: !!plainNode.node.disabled,
+          onChange: function onChange($event) {
+            return _ctx2.handleCheckPlainNode($event === plainNode.node.id, plainNode);
+          }
+        }, null, 8, ["modelValue", "label", "disabled", "onChange"])) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "prefix", {
+          node: plainNode.node
+        }), renderSlot(_ctx2.$slots, "default", {
+          node: plainNode.node
+        }, function() {
+          return [createBaseVNode(
+            "span",
+            _hoisted_2$9,
+            toDisplayString(plainNode.title),
+            1
+            /* TEXT */
+          )];
+        }), renderSlot(_ctx2.$slots, "suffix", {
+          node: plainNode.node
+        }, function() {
+          return [createBaseVNode("span", _hoisted_3$6, [createVNode$1(_component_icon_mark_on, {
+            onClick: function onClick($event) {
+              return _ctx2.handleClickPlainNode($event, plainNode);
+            }
+          }, null, 8, ["onClick"])])];
+        })]), _ctx2.showAuxi && plainNode.auxi ? (openBlock(), createElementBlock("div", _hoisted_4$6, [createBaseVNode(
+          "div",
+          null,
+          toDisplayString(plainNode.auxi),
+          1
+          /* TEXT */
+        )])) : createCommentVNode("v-if", true)]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    )) : createCommentVNode("v-if", true), _ctx2.state.isEmpty ? (openBlock(), createElementBlock("div", _hoisted_5$6, [renderSlot(_ctx2.$slots, "empty", {}, function() {
+      return [createBaseVNode(
+        "span",
+        _hoisted_6$5,
+        toDisplayString(_ctx2.state.loaded ? _ctx2.state.showEmptyText : _ctx2.t("ui.tree.loading")),
+        1
+        /* TEXT */
+      )];
+    })])) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+      "div",
+      _hoisted_7$4,
+      null,
+      512
+      /* NEED_PATCH */
+    ), [[vShow, _ctx2.state.dragState.showDropIndicator]]), _ctx2.state.store.checkStrictly && _ctx2.showCheckEasily ? (openBlock(), createElementBlock("div", _hoisted_8$2, [createBaseVNode("div", _hoisted_9$2, [createVNode$1(_component_tiny_switch, {
+      mini: "",
+      onChange: _ctx2.switchToggle,
+      modelValue: _ctx2.state.checkEasily,
+      "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+        return _ctx2.state.checkEasily = $event;
+      })
+    }, null, 8, ["onChange", "modelValue"]), createBaseVNode("div", _hoisted_10$2, [renderSlot(_ctx2.$slots, "switchText", {}, function() {
+      return [createBaseVNode(
+        "span",
+        null,
+        toDisplayString(_ctx2.t("ui.tree.switchText")),
+        1
+        /* TEXT */
+      )];
+    })])])])) : createCommentVNode("v-if", true), _ctx2.state.action.show ? withDirectives((openBlock(), createBlock(_component_tiny_popover, {
+      key: 4,
+      ref: "deletePopover",
+      modelValue: _ctx2.state.action.popoverVisible,
+      "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+        return _ctx2.state.action.popoverVisible = $event;
+      }),
+      "popper-class": "tiny-tree__del-popover",
+      placement: "top",
+      width: _ctx2.state.action.isLeaf ? 200 : 270,
+      trigger: "manual",
+      reference: _ctx2.state.action.referenceElm
+    }, {
+      default: withCtx(function() {
+        return [withDirectives((openBlock(), createElementBlock("div", _hoisted_11$2, [createBaseVNode("div", _hoisted_12$2, [createVNode$1(_component_icon_warning)]), createBaseVNode("div", _hoisted_13$2, [_ctx2.state.action.isLeaf ? (openBlock(), createElementBlock(
+          "div",
+          _hoisted_14$1,
+          toDisplayString(_ctx2.t("ui.tree.deleteTip1")),
+          1
+          /* TEXT */
+        )) : (openBlock(), createElementBlock(
+          Fragment,
+          {
+            key: 1
+          },
+          [createBaseVNode(
+            "div",
+            null,
+            toDisplayString(_ctx2.t("ui.tree.deleteTip2")),
+            1
+            /* TEXT */
+          ), createBaseVNode("div", _hoisted_15$1, [createVNode$1(_component_tiny_checkbox, {
+            modelValue: _ctx2.state.action.isSaveChildNode,
+            "onUpdate:modelValue": _cache[3] || (_cache[3] = function($event) {
+              return _ctx2.state.action.isSaveChildNode = $event;
+            }),
+            ref: "deleteCheckbox"
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx2.t("ui.tree.deleteTip3")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["modelValue"])])],
+          64
+          /* STABLE_FRAGMENT */
+        ))])])), [[_directive_clickoutside, _ctx2.cancelDelete]]), createBaseVNode("div", _hoisted_16$1, [createVNode$1(_component_tiny_button, {
+          onClick: _ctx2.cancelDelete
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.base.cancel")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"]), createVNode$1(_component_tiny_button, {
+          type: "primary",
+          onClick: _ctx2.deleteAction
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx2.t("ui.base.confirm")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])])];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["modelValue", "width", "reference"])), [[vShow, _ctx2.state.action.popoverVisible]]) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var pc$6 = /* @__PURE__ */ _export_sfc$a(_sfc_main$i, [["render", _sfc_render$b]]);
+const index$9 = "";
+function _extends$7() {
+  _extends$7 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$7.apply(this, arguments);
+}
+var template$6 = function template214(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$6;
+};
+var $constants$3 = {
+  EMPTY_TEXT_LOCAL: "ui.tree.emptyText"
+};
+var Tree$2 = defineComponent({
+  name: $prefix + "Tree",
+  props: _extends$7({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default57() {
+        return $constants$3;
+      }
+    },
+    accordion: Boolean,
+    allowDrag: Function,
+    allowDrop: Function,
+    autoExpandParent: {
+      type: Boolean,
+      default: true
+    },
+    checkDescendants: {
+      type: Boolean,
+      default: false
+    },
+    checkOnClickNode: Boolean,
+    checkStrictly: Boolean,
+    currentNodeKey: [String, Number],
+    data: {
+      type: Array
+    },
+    dataset: Object,
+    defaultCheckedKeys: Array,
+    defaultExpandAll: Boolean,
+    defaultExpandedKeys: Array,
+    defaultExpandedKeysHighlight: [Number, String],
+    draggable: {
+      type: Boolean,
+      default: false
+    },
+    emptyText: String,
+    expandIcon: Object,
+    expandOnClickNode: {
+      type: Boolean,
+      default: true
+    },
+    filterNodeMethod: Function,
+    highlightCurrent: Boolean,
+    icon: Object,
+    iconTriggerClickNode: {
+      type: Boolean,
+      default: true
+    },
+    indent: {
+      type: Number,
+      default: 16
+    },
+    lazy: {
+      type: Boolean,
+      default: false
+    },
+    load: Function,
+    nodeKey: String,
+    parentKey: String,
+    props: {
+      default: function _default217() {
+        return {
+          children: "children",
+          label: "label",
+          disabled: "disabled",
+          isLeaf: "isLeaf"
+        };
+      }
+    },
+    renderAfterExpand: {
+      type: Boolean,
+      default: true
+    },
+    renderContent: Function,
+    showCheckbox: {
+      type: Boolean,
+      default: false
+    },
+    showContextmenu: {
+      type: Boolean,
+      default: false
+    },
+    showRadio: {
+      type: Boolean,
+      default: false
+    },
+    showNumber: {
+      type: Boolean,
+      default: false
+    },
+    collapsible: {
+      type: Boolean,
+      default: true
+    },
+    showCheckEasily: {
+      type: Boolean,
+      default: false
+    },
+    nodeHeight: Number,
+    shrinkIcon: Object,
+    expandIconColor: String,
+    shrinkIconColor: String,
+    size: {
+      type: String,
+      default: "medium"
+    },
+    deleteDisabledKeys: Array,
+    editDisabledKeys: Array,
+    addDisabledKeys: Array,
+    theme: String,
+    viewType: {
+      type: String,
+      default: "tree",
+      validator: function validator12(value) {
+        return ~["tree", "plain"].indexOf(value);
+      }
+    },
+    // 平铺视图时,是否显示下面的辅助信息
+    showAuxi: {
+      type: Boolean,
+      default: true
+    },
+    pathSplit: {
+      type: String,
+      default: "/"
+    },
+    filterPlainMethod: Function,
+    afterLoad: Function,
+    lazyCurrent: Boolean,
+    baseIndent: {
+      type: Number,
+      default: 0
+    },
+    deleteNodeMethod: Function,
+    showCheckedMark: Boolean,
+    willChangeView: {
+      type: Boolean,
+      default: true
+    },
+    onlyCheckChildren: Boolean,
+    showLine: Boolean
+  }),
+  setup: function setup17(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$6
+    });
+  }
+});
+var version$8 = "3.16.0";
+Tree$2.install = function(Vue) {
+  Vue.component(Tree$2.name, Tree$2);
+};
+Tree$2.version = version$8;
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+var extendStatics = function(d2, b2) {
+  extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
+    d3.__proto__ = b3;
+  } || function(d3, b3) {
+    for (var p2 in b3)
+      if (Object.prototype.hasOwnProperty.call(b3, p2))
+        d3[p2] = b3[p2];
+  };
+  return extendStatics(d2, b2);
+};
+function __extends(d2, b2) {
+  if (typeof b2 !== "function" && b2 !== null)
+    throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
+  extendStatics(d2, b2);
+  function __() {
+    this.constructor = d2;
+  }
+  d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
+}
+var Browser = function() {
+  function Browser2() {
+    this.firefox = false;
+    this.ie = false;
+    this.edge = false;
+    this.newEdge = false;
+    this.weChat = false;
+  }
+  return Browser2;
+}();
+var Env = function() {
+  function Env2() {
+    this.browser = new Browser();
+    this.node = false;
+    this.wxa = false;
+    this.worker = false;
+    this.svgSupported = false;
+    this.touchEventsSupported = false;
+    this.pointerEventsSupported = false;
+    this.domSupported = false;
+    this.transformSupported = false;
+    this.transform3dSupported = false;
+    this.hasGlobalWindow = typeof window !== "undefined";
+  }
+  return Env2;
+}();
+var env = new Env();
+if (typeof wx === "object" && typeof wx.getSystemInfoSync === "function") {
+  env.wxa = true;
+  env.touchEventsSupported = true;
+} else if (typeof document === "undefined" && typeof self !== "undefined") {
+  env.worker = true;
+} else if (typeof navigator === "undefined") {
+  env.node = true;
+  env.svgSupported = true;
+} else {
+  detect(navigator.userAgent, env);
+}
+function detect(ua2, env2) {
+  var browser = env2.browser;
+  var firefox = ua2.match(/Firefox\/([\d.]+)/);
+  var ie = ua2.match(/MSIE\s([\d.]+)/) || ua2.match(/Trident\/.+?rv:(([\d.]+))/);
+  var edge = ua2.match(/Edge?\/([\d.]+)/);
+  var weChat = /micromessenger/i.test(ua2);
+  if (firefox) {
+    browser.firefox = true;
+    browser.version = firefox[1];
+  }
+  if (ie) {
+    browser.ie = true;
+    browser.version = ie[1];
+  }
+  if (edge) {
+    browser.edge = true;
+    browser.version = edge[1];
+    browser.newEdge = +edge[1].split(".")[0] > 18;
+  }
+  if (weChat) {
+    browser.weChat = true;
+  }
+  env2.svgSupported = typeof SVGRect !== "undefined";
+  env2.touchEventsSupported = "ontouchstart" in window && !browser.ie && !browser.edge;
+  env2.pointerEventsSupported = "onpointerdown" in window && (browser.edge || browser.ie && +browser.version >= 11);
+  env2.domSupported = typeof document !== "undefined";
+  var style2 = document.documentElement.style;
+  env2.transform3dSupported = (browser.ie && "transition" in style2 || browser.edge || "WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix() || "MozPerspective" in style2) && !("OTransition" in style2);
+  env2.transformSupported = env2.transform3dSupported || browser.ie && +browser.version >= 9;
+}
+const env$1 = env;
+var DEFAULT_FONT_SIZE = 12;
+var DEFAULT_FONT_FAMILY = "sans-serif";
+var DEFAULT_FONT = DEFAULT_FONT_SIZE + "px " + DEFAULT_FONT_FAMILY;
+var OFFSET = 20;
+var SCALE = 100;
+var defaultWidthMapStr = "007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";
+function getTextWidthMap(mapStr) {
+  var map2 = {};
+  if (typeof JSON === "undefined") {
+    return map2;
+  }
+  for (var i2 = 0; i2 < mapStr.length; i2++) {
+    var char = String.fromCharCode(i2 + 32);
+    var size = (mapStr.charCodeAt(i2) - OFFSET) / SCALE;
+    map2[char] = size;
+  }
+  return map2;
+}
+var DEFAULT_TEXT_WIDTH_MAP = getTextWidthMap(defaultWidthMapStr);
+var platformApi = {
+  createCanvas: function() {
+    return typeof document !== "undefined" && document.createElement("canvas");
+  },
+  measureText: function() {
+    var _ctx2;
+    var _cachedFont;
+    return function(text2, font) {
+      if (!_ctx2) {
+        var canvas = platformApi.createCanvas();
+        _ctx2 = canvas && canvas.getContext("2d");
+      }
+      if (_ctx2) {
+        if (_cachedFont !== font) {
+          _cachedFont = _ctx2.font = font || DEFAULT_FONT;
+        }
+        return _ctx2.measureText(text2);
+      } else {
+        text2 = text2 || "";
+        font = font || DEFAULT_FONT;
+        var res = /(\d+)px/.exec(font);
+        var fontSize = res && +res[1] || DEFAULT_FONT_SIZE;
+        var width = 0;
+        if (font.indexOf("mono") >= 0) {
+          width = fontSize * text2.length;
+        } else {
+          for (var i2 = 0; i2 < text2.length; i2++) {
+            var preCalcWidth = DEFAULT_TEXT_WIDTH_MAP[text2[i2]];
+            width += preCalcWidth == null ? fontSize : preCalcWidth * fontSize;
+          }
+        }
+        return { width };
+      }
+    };
+  }(),
+  loadImage: function(src, onload, onerror) {
+    var image2 = new Image();
+    image2.onload = onload;
+    image2.onerror = onerror;
+    image2.src = src;
+    return image2;
+  }
+};
+function setPlatformAPI(newPlatformApis) {
+  for (var key2 in platformApi) {
+    if (newPlatformApis[key2]) {
+      platformApi[key2] = newPlatformApis[key2];
+    }
+  }
+}
+var BUILTIN_OBJECT = reduce([
+  "Function",
+  "RegExp",
+  "Date",
+  "Error",
+  "CanvasGradient",
+  "CanvasPattern",
+  "Image",
+  "Canvas"
+], function(obj2, val) {
+  obj2["[object " + val + "]"] = true;
+  return obj2;
+}, {});
+var TYPED_ARRAY = reduce([
+  "Int8",
+  "Uint8",
+  "Uint8Clamped",
+  "Int16",
+  "Uint16",
+  "Int32",
+  "Uint32",
+  "Float32",
+  "Float64"
+], function(obj2, val) {
+  obj2["[object " + val + "Array]"] = true;
+  return obj2;
+}, {});
+var objToString = Object.prototype.toString;
+var arrayProto = Array.prototype;
+var nativeForEach = arrayProto.forEach;
+var nativeFilter = arrayProto.filter;
+var nativeSlice = arrayProto.slice;
+var nativeMap = arrayProto.map;
+var ctorFunction = (function() {
+}).constructor;
+var protoFunction = ctorFunction ? ctorFunction.prototype : null;
+var protoKey = "__proto__";
+var idStart = 2311;
+function guid() {
+  return idStart++;
+}
+function logError() {
+  var args = [];
+  for (var _i = 0; _i < arguments.length; _i++) {
+    args[_i] = arguments[_i];
+  }
+  if (typeof console !== "undefined") {
+    console.error.apply(console, args);
+  }
+}
+function clone$4(source2) {
+  if (source2 == null || typeof source2 !== "object") {
+    return source2;
+  }
+  var result2 = source2;
+  var typeStr = objToString.call(source2);
+  if (typeStr === "[object Array]") {
+    if (!isPrimitive(source2)) {
+      result2 = [];
+      for (var i2 = 0, len2 = source2.length; i2 < len2; i2++) {
+        result2[i2] = clone$4(source2[i2]);
+      }
+    }
+  } else if (TYPED_ARRAY[typeStr]) {
+    if (!isPrimitive(source2)) {
+      var Ctor = source2.constructor;
+      if (Ctor.from) {
+        result2 = Ctor.from(source2);
+      } else {
+        result2 = new Ctor(source2.length);
+        for (var i2 = 0, len2 = source2.length; i2 < len2; i2++) {
+          result2[i2] = source2[i2];
+        }
+      }
+    }
+  } else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source2) && !isDom(source2)) {
+    result2 = {};
+    for (var key2 in source2) {
+      if (source2.hasOwnProperty(key2) && key2 !== protoKey) {
+        result2[key2] = clone$4(source2[key2]);
+      }
+    }
+  }
+  return result2;
+}
+function merge$1(target, source2, overwrite) {
+  if (!isObject$4(source2) || !isObject$4(target)) {
+    return overwrite ? clone$4(source2) : target;
+  }
+  for (var key2 in source2) {
+    if (source2.hasOwnProperty(key2) && key2 !== protoKey) {
+      var targetProp = target[key2];
+      var sourceProp = source2[key2];
+      if (isObject$4(sourceProp) && isObject$4(targetProp) && !isArray$2(sourceProp) && !isArray$2(targetProp) && !isDom(sourceProp) && !isDom(targetProp) && !isBuiltInObject(sourceProp) && !isBuiltInObject(targetProp) && !isPrimitive(sourceProp) && !isPrimitive(targetProp)) {
+        merge$1(targetProp, sourceProp, overwrite);
+      } else if (overwrite || !(key2 in target)) {
+        target[key2] = clone$4(source2[key2]);
+      }
+    }
+  }
+  return target;
+}
+function mergeAll(targetAndSources, overwrite) {
+  var result2 = targetAndSources[0];
+  for (var i2 = 1, len2 = targetAndSources.length; i2 < len2; i2++) {
+    result2 = merge$1(result2, targetAndSources[i2], overwrite);
+  }
+  return result2;
+}
+function extend$1(target, source2) {
+  if (Object.assign) {
+    Object.assign(target, source2);
+  } else {
+    for (var key2 in source2) {
+      if (source2.hasOwnProperty(key2) && key2 !== protoKey) {
+        target[key2] = source2[key2];
+      }
+    }
+  }
+  return target;
+}
+function defaults$2(target, source2, overlay) {
+  var keysArr = keys(source2);
+  for (var i2 = 0; i2 < keysArr.length; i2++) {
+    var key2 = keysArr[i2];
+    if (overlay ? source2[key2] != null : target[key2] == null) {
+      target[key2] = source2[key2];
+    }
+  }
+  return target;
+}
+var createCanvas = platformApi.createCanvas;
+function indexOf(array, value) {
+  if (array) {
+    if (array.indexOf) {
+      return array.indexOf(value);
+    }
+    for (var i2 = 0, len2 = array.length; i2 < len2; i2++) {
+      if (array[i2] === value) {
+        return i2;
+      }
+    }
+  }
+  return -1;
+}
+function inherits$1(clazz2, baseClazz) {
+  var clazzPrototype = clazz2.prototype;
+  function F2() {
+  }
+  F2.prototype = baseClazz.prototype;
+  clazz2.prototype = new F2();
+  for (var prop2 in clazzPrototype) {
+    if (clazzPrototype.hasOwnProperty(prop2)) {
+      clazz2.prototype[prop2] = clazzPrototype[prop2];
+    }
+  }
+  clazz2.prototype.constructor = clazz2;
+  clazz2.superClass = baseClazz;
+}
+function mixin(target, source2, override) {
+  target = "prototype" in target ? target.prototype : target;
+  source2 = "prototype" in source2 ? source2.prototype : source2;
+  if (Object.getOwnPropertyNames) {
+    var keyList = Object.getOwnPropertyNames(source2);
+    for (var i2 = 0; i2 < keyList.length; i2++) {
+      var key2 = keyList[i2];
+      if (key2 !== "constructor") {
+        if (override ? source2[key2] != null : target[key2] == null) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+  } else {
+    defaults$2(target, source2, override);
+  }
+}
+function isArrayLike(data2) {
+  if (!data2) {
+    return false;
+  }
+  if (typeof data2 === "string") {
+    return false;
+  }
+  return typeof data2.length === "number";
+}
+function each$f(arr, cb, context) {
+  if (!(arr && cb)) {
+    return;
+  }
+  if (arr.forEach && arr.forEach === nativeForEach) {
+    arr.forEach(cb, context);
+  } else if (arr.length === +arr.length) {
+    for (var i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+      cb.call(context, arr[i2], i2, arr);
+    }
+  } else {
+    for (var key2 in arr) {
+      if (arr.hasOwnProperty(key2)) {
+        cb.call(context, arr[key2], key2, arr);
+      }
+    }
+  }
+}
+function map$1(arr, cb, context) {
+  if (!arr) {
+    return [];
+  }
+  if (!cb) {
+    return slice(arr);
+  }
+  if (arr.map && arr.map === nativeMap) {
+    return arr.map(cb, context);
+  } else {
+    var result2 = [];
+    for (var i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+      result2.push(cb.call(context, arr[i2], i2, arr));
+    }
+    return result2;
+  }
+}
+function reduce(arr, cb, memo, context) {
+  if (!(arr && cb)) {
+    return;
+  }
+  for (var i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+    memo = cb.call(context, memo, arr[i2], i2, arr);
+  }
+  return memo;
+}
+function filter(arr, cb, context) {
+  if (!arr) {
+    return [];
+  }
+  if (!cb) {
+    return slice(arr);
+  }
+  if (arr.filter && arr.filter === nativeFilter) {
+    return arr.filter(cb, context);
+  } else {
+    var result2 = [];
+    for (var i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+      if (cb.call(context, arr[i2], i2, arr)) {
+        result2.push(arr[i2]);
+      }
+    }
+    return result2;
+  }
+}
+function find(arr, cb, context) {
+  if (!(arr && cb)) {
+    return;
+  }
+  for (var i2 = 0, len2 = arr.length; i2 < len2; i2++) {
+    if (cb.call(context, arr[i2], i2, arr)) {
+      return arr[i2];
+    }
+  }
+}
+function keys(obj2) {
+  if (!obj2) {
+    return [];
+  }
+  if (Object.keys) {
+    return Object.keys(obj2);
+  }
+  var keyList = [];
+  for (var key2 in obj2) {
+    if (obj2.hasOwnProperty(key2)) {
+      keyList.push(key2);
+    }
+  }
+  return keyList;
+}
+function bindPolyfill(func, context) {
+  var args = [];
+  for (var _i = 2; _i < arguments.length; _i++) {
+    args[_i - 2] = arguments[_i];
+  }
+  return function() {
+    return func.apply(context, args.concat(nativeSlice.call(arguments)));
+  };
+}
+var bind$2 = protoFunction && isFunction$1(protoFunction.bind) ? protoFunction.call.bind(protoFunction.bind) : bindPolyfill;
+function curry$1(func) {
+  var args = [];
+  for (var _i = 1; _i < arguments.length; _i++) {
+    args[_i - 1] = arguments[_i];
+  }
+  return function() {
+    return func.apply(this, args.concat(nativeSlice.call(arguments)));
+  };
+}
+function isArray$2(value) {
+  if (Array.isArray) {
+    return Array.isArray(value);
+  }
+  return objToString.call(value) === "[object Array]";
+}
+function isFunction$1(value) {
+  return typeof value === "function";
+}
+function isString$1(value) {
+  return typeof value === "string";
+}
+function isStringSafe(value) {
+  return objToString.call(value) === "[object String]";
+}
+function isNumber$1(value) {
+  return typeof value === "number";
+}
+function isObject$4(value) {
+  var type2 = typeof value;
+  return type2 === "function" || !!value && type2 === "object";
+}
+function isBuiltInObject(value) {
+  return !!BUILTIN_OBJECT[objToString.call(value)];
+}
+function isTypedArray$1(value) {
+  return !!TYPED_ARRAY[objToString.call(value)];
+}
+function isDom(value) {
+  return typeof value === "object" && typeof value.nodeType === "number" && typeof value.ownerDocument === "object";
+}
+function isGradientObject(value) {
+  return value.colorStops != null;
+}
+function isImagePatternObject(value) {
+  return value.image != null;
+}
+function isRegExp$1(value) {
+  return objToString.call(value) === "[object RegExp]";
+}
+function eqNaN(value) {
+  return value !== value;
+}
+function retrieve() {
+  var args = [];
+  for (var _i = 0; _i < arguments.length; _i++) {
+    args[_i] = arguments[_i];
+  }
+  for (var i2 = 0, len2 = args.length; i2 < len2; i2++) {
+    if (args[i2] != null) {
+      return args[i2];
+    }
+  }
+}
+function retrieve2(value0, value1) {
+  return value0 != null ? value0 : value1;
+}
+function retrieve3(value0, value1, value2) {
+  return value0 != null ? value0 : value1 != null ? value1 : value2;
+}
+function slice(arr) {
+  var args = [];
+  for (var _i = 1; _i < arguments.length; _i++) {
+    args[_i - 1] = arguments[_i];
+  }
+  return nativeSlice.apply(arr, args);
+}
+function normalizeCssArray$1(val) {
+  if (typeof val === "number") {
+    return [val, val, val, val];
+  }
+  var len2 = val.length;
+  if (len2 === 2) {
+    return [val[0], val[1], val[0], val[1]];
+  } else if (len2 === 3) {
+    return [val[0], val[1], val[2], val[1]];
+  }
+  return val;
+}
+function assert(condition, message) {
+  if (!condition) {
+    throw new Error(message);
+  }
+}
+function trim$2(str) {
+  if (str == null) {
+    return null;
+  } else if (typeof str.trim === "function") {
+    return str.trim();
+  } else {
+    return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
+  }
+}
+var primitiveKey = "__ec_primitive__";
+function setAsPrimitive(obj2) {
+  obj2[primitiveKey] = true;
+}
+function isPrimitive(obj2) {
+  return obj2[primitiveKey];
+}
+var MapPolyfill = function() {
+  function MapPolyfill2() {
+    this.data = {};
+  }
+  MapPolyfill2.prototype["delete"] = function(key2) {
+    var existed = this.has(key2);
+    if (existed) {
+      delete this.data[key2];
+    }
+    return existed;
+  };
+  MapPolyfill2.prototype.has = function(key2) {
+    return this.data.hasOwnProperty(key2);
+  };
+  MapPolyfill2.prototype.get = function(key2) {
+    return this.data[key2];
+  };
+  MapPolyfill2.prototype.set = function(key2, value) {
+    this.data[key2] = value;
+    return this;
+  };
+  MapPolyfill2.prototype.keys = function() {
+    return keys(this.data);
+  };
+  MapPolyfill2.prototype.forEach = function(callback) {
+    var data2 = this.data;
+    for (var key2 in data2) {
+      if (data2.hasOwnProperty(key2)) {
+        callback(data2[key2], key2);
+      }
+    }
+  };
+  return MapPolyfill2;
+}();
+var isNativeMapSupported = typeof Map === "function";
+function maybeNativeMap() {
+  return isNativeMapSupported ? /* @__PURE__ */ new Map() : new MapPolyfill();
+}
+var HashMap = function() {
+  function HashMap2(obj2) {
+    var isArr = isArray$2(obj2);
+    this.data = maybeNativeMap();
+    var thisMap = this;
+    obj2 instanceof HashMap2 ? obj2.each(visit) : obj2 && each$f(obj2, visit);
+    function visit(value, key2) {
+      isArr ? thisMap.set(value, key2) : thisMap.set(key2, value);
+    }
+  }
+  HashMap2.prototype.hasKey = function(key2) {
+    return this.data.has(key2);
+  };
+  HashMap2.prototype.get = function(key2) {
+    return this.data.get(key2);
+  };
+  HashMap2.prototype.set = function(key2, value) {
+    this.data.set(key2, value);
+    return value;
+  };
+  HashMap2.prototype.each = function(cb, context) {
+    this.data.forEach(function(value, key2) {
+      cb.call(context, value, key2);
+    });
+  };
+  HashMap2.prototype.keys = function() {
+    var keys2 = this.data.keys();
+    return isNativeMapSupported ? Array.from(keys2) : keys2;
+  };
+  HashMap2.prototype.removeKey = function(key2) {
+    this.data["delete"](key2);
+  };
+  return HashMap2;
+}();
+function createHashMap(obj2) {
+  return new HashMap(obj2);
+}
+function concatArray(a2, b2) {
+  var newArray2 = new a2.constructor(a2.length + b2.length);
+  for (var i2 = 0; i2 < a2.length; i2++) {
+    newArray2[i2] = a2[i2];
+  }
+  var offset2 = a2.length;
+  for (var i2 = 0; i2 < b2.length; i2++) {
+    newArray2[i2 + offset2] = b2[i2];
+  }
+  return newArray2;
+}
+function createObject(proto2, properties) {
+  var obj2;
+  if (Object.create) {
+    obj2 = Object.create(proto2);
+  } else {
+    var StyleCtor = function() {
+    };
+    StyleCtor.prototype = proto2;
+    obj2 = new StyleCtor();
+  }
+  if (properties) {
+    extend$1(obj2, properties);
+  }
+  return obj2;
+}
+function disableUserSelect(dom2) {
+  var domStyle = dom2.style;
+  domStyle.webkitUserSelect = "none";
+  domStyle.userSelect = "none";
+  domStyle.webkitTapHighlightColor = "rgba(0,0,0,0)";
+  domStyle["-webkit-touch-callout"] = "none";
+}
+function hasOwn(own, prop2) {
+  return own.hasOwnProperty(prop2);
+}
+function noop$1() {
+}
+var RADIAN_TO_DEGREE = 180 / Math.PI;
+const util$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  HashMap,
+  RADIAN_TO_DEGREE,
+  assert,
+  bind: bind$2,
+  clone: clone$4,
+  concatArray,
+  createCanvas,
+  createHashMap,
+  createObject,
+  curry: curry$1,
+  defaults: defaults$2,
+  disableUserSelect,
+  each: each$f,
+  eqNaN,
+  extend: extend$1,
+  filter,
+  find,
+  guid,
+  hasOwn,
+  indexOf,
+  inherits: inherits$1,
+  isArray: isArray$2,
+  isArrayLike,
+  isBuiltInObject,
+  isDom,
+  isFunction: isFunction$1,
+  isGradientObject,
+  isImagePatternObject,
+  isNumber: isNumber$1,
+  isObject: isObject$4,
+  isPrimitive,
+  isRegExp: isRegExp$1,
+  isString: isString$1,
+  isStringSafe,
+  isTypedArray: isTypedArray$1,
+  keys,
+  logError,
+  map: map$1,
+  merge: merge$1,
+  mergeAll,
+  mixin,
+  noop: noop$1,
+  normalizeCssArray: normalizeCssArray$1,
+  reduce,
+  retrieve,
+  retrieve2,
+  retrieve3,
+  setAsPrimitive,
+  slice,
+  trim: trim$2
+}, Symbol.toStringTag, { value: "Module" }));
+function create$2(x2, y2) {
+  if (x2 == null) {
+    x2 = 0;
+  }
+  if (y2 == null) {
+    y2 = 0;
+  }
+  return [x2, y2];
+}
+function copy$1(out2, v4) {
+  out2[0] = v4[0];
+  out2[1] = v4[1];
+  return out2;
+}
+function clone$3(v4) {
+  return [v4[0], v4[1]];
+}
+function set$1(out2, a2, b2) {
+  out2[0] = a2;
+  out2[1] = b2;
+  return out2;
+}
+function add(out2, v12, v22) {
+  out2[0] = v12[0] + v22[0];
+  out2[1] = v12[1] + v22[1];
+  return out2;
+}
+function scaleAndAdd$1(out2, v12, v22, a2) {
+  out2[0] = v12[0] + v22[0] * a2;
+  out2[1] = v12[1] + v22[1] * a2;
+  return out2;
+}
+function sub(out2, v12, v22) {
+  out2[0] = v12[0] - v22[0];
+  out2[1] = v12[1] - v22[1];
+  return out2;
+}
+function len(v4) {
+  return Math.sqrt(lenSquare(v4));
+}
+var length = len;
+function lenSquare(v4) {
+  return v4[0] * v4[0] + v4[1] * v4[1];
+}
+var lengthSquare = lenSquare;
+function mul$1(out2, v12, v22) {
+  out2[0] = v12[0] * v22[0];
+  out2[1] = v12[1] * v22[1];
+  return out2;
+}
+function div(out2, v12, v22) {
+  out2[0] = v12[0] / v22[0];
+  out2[1] = v12[1] / v22[1];
+  return out2;
+}
+function dot(v12, v22) {
+  return v12[0] * v22[0] + v12[1] * v22[1];
+}
+function scale$2(out2, v4, s2) {
+  out2[0] = v4[0] * s2;
+  out2[1] = v4[1] * s2;
+  return out2;
+}
+function normalize$3(out2, v4) {
+  var d2 = len(v4);
+  if (d2 === 0) {
+    out2[0] = 0;
+    out2[1] = 0;
+  } else {
+    out2[0] = v4[0] / d2;
+    out2[1] = v4[1] / d2;
+  }
+  return out2;
+}
+function distance(v12, v22) {
+  return Math.sqrt((v12[0] - v22[0]) * (v12[0] - v22[0]) + (v12[1] - v22[1]) * (v12[1] - v22[1]));
+}
+var dist$1 = distance;
+function distanceSquare(v12, v22) {
+  return (v12[0] - v22[0]) * (v12[0] - v22[0]) + (v12[1] - v22[1]) * (v12[1] - v22[1]);
+}
+var distSquare = distanceSquare;
+function negate(out2, v4) {
+  out2[0] = -v4[0];
+  out2[1] = -v4[1];
+  return out2;
+}
+function lerp$1(out2, v12, v22, t2) {
+  out2[0] = v12[0] + t2 * (v22[0] - v12[0]);
+  out2[1] = v12[1] + t2 * (v22[1] - v12[1]);
+  return out2;
+}
+function applyTransform$1(out2, v4, m2) {
+  var x2 = v4[0];
+  var y2 = v4[1];
+  out2[0] = m2[0] * x2 + m2[2] * y2 + m2[4];
+  out2[1] = m2[1] * x2 + m2[3] * y2 + m2[5];
+  return out2;
+}
+function min$1(out2, v12, v22) {
+  out2[0] = Math.min(v12[0], v22[0]);
+  out2[1] = Math.min(v12[1], v22[1]);
+  return out2;
+}
+function max$1(out2, v12, v22) {
+  out2[0] = Math.max(v12[0], v22[0]);
+  out2[1] = Math.max(v12[1], v22[1]);
+  return out2;
+}
+const vector = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  add,
+  applyTransform: applyTransform$1,
+  clone: clone$3,
+  copy: copy$1,
+  create: create$2,
+  dist: dist$1,
+  distSquare,
+  distance,
+  distanceSquare,
+  div,
+  dot,
+  len,
+  lenSquare,
+  length,
+  lengthSquare,
+  lerp: lerp$1,
+  max: max$1,
+  min: min$1,
+  mul: mul$1,
+  negate,
+  normalize: normalize$3,
+  scale: scale$2,
+  scaleAndAdd: scaleAndAdd$1,
+  set: set$1,
+  sub
+}, Symbol.toStringTag, { value: "Module" }));
+var Param = function() {
+  function Param2(target, e2) {
+    this.target = target;
+    this.topTarget = e2 && e2.topTarget;
+  }
+  return Param2;
+}();
+var Draggable = function() {
+  function Draggable2(handler) {
+    this.handler = handler;
+    handler.on("mousedown", this._dragStart, this);
+    handler.on("mousemove", this._drag, this);
+    handler.on("mouseup", this._dragEnd, this);
+  }
+  Draggable2.prototype._dragStart = function(e2) {
+    var draggingTarget = e2.target;
+    while (draggingTarget && !draggingTarget.draggable) {
+      draggingTarget = draggingTarget.parent || draggingTarget.__hostTarget;
+    }
+    if (draggingTarget) {
+      this._draggingTarget = draggingTarget;
+      draggingTarget.dragging = true;
+      this._x = e2.offsetX;
+      this._y = e2.offsetY;
+      this.handler.dispatchToElement(new Param(draggingTarget, e2), "dragstart", e2.event);
+    }
+  };
+  Draggable2.prototype._drag = function(e2) {
+    var draggingTarget = this._draggingTarget;
+    if (draggingTarget) {
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      var dx = x2 - this._x;
+      var dy = y2 - this._y;
+      this._x = x2;
+      this._y = y2;
+      draggingTarget.drift(dx, dy, e2);
+      this.handler.dispatchToElement(new Param(draggingTarget, e2), "drag", e2.event);
+      var dropTarget = this.handler.findHover(x2, y2, draggingTarget).target;
+      var lastDropTarget = this._dropTarget;
+      this._dropTarget = dropTarget;
+      if (draggingTarget !== dropTarget) {
+        if (lastDropTarget && dropTarget !== lastDropTarget) {
+          this.handler.dispatchToElement(new Param(lastDropTarget, e2), "dragleave", e2.event);
+        }
+        if (dropTarget && dropTarget !== lastDropTarget) {
+          this.handler.dispatchToElement(new Param(dropTarget, e2), "dragenter", e2.event);
+        }
+      }
+    }
+  };
+  Draggable2.prototype._dragEnd = function(e2) {
+    var draggingTarget = this._draggingTarget;
+    if (draggingTarget) {
+      draggingTarget.dragging = false;
+    }
+    this.handler.dispatchToElement(new Param(draggingTarget, e2), "dragend", e2.event);
+    if (this._dropTarget) {
+      this.handler.dispatchToElement(new Param(this._dropTarget, e2), "drop", e2.event);
+    }
+    this._draggingTarget = null;
+    this._dropTarget = null;
+  };
+  return Draggable2;
+}();
+const Draggable$1 = Draggable;
+var Eventful = function() {
+  function Eventful2(eventProcessors) {
+    if (eventProcessors) {
+      this._$eventProcessor = eventProcessors;
+    }
+  }
+  Eventful2.prototype.on = function(event2, query, handler, context) {
+    if (!this._$handlers) {
+      this._$handlers = {};
+    }
+    var _h = this._$handlers;
+    if (typeof query === "function") {
+      context = handler;
+      handler = query;
+      query = null;
+    }
+    if (!handler || !event2) {
+      return this;
+    }
+    var eventProcessor = this._$eventProcessor;
+    if (query != null && eventProcessor && eventProcessor.normalizeQuery) {
+      query = eventProcessor.normalizeQuery(query);
+    }
+    if (!_h[event2]) {
+      _h[event2] = [];
+    }
+    for (var i2 = 0; i2 < _h[event2].length; i2++) {
+      if (_h[event2][i2].h === handler) {
+        return this;
+      }
+    }
+    var wrap = {
+      h: handler,
+      query,
+      ctx: context || this,
+      callAtLast: handler.zrEventfulCallAtLast
+    };
+    var lastIndex = _h[event2].length - 1;
+    var lastWrap = _h[event2][lastIndex];
+    lastWrap && lastWrap.callAtLast ? _h[event2].splice(lastIndex, 0, wrap) : _h[event2].push(wrap);
+    return this;
+  };
+  Eventful2.prototype.isSilent = function(eventName) {
+    var _h = this._$handlers;
+    return !_h || !_h[eventName] || !_h[eventName].length;
+  };
+  Eventful2.prototype.off = function(eventType, handler) {
+    var _h = this._$handlers;
+    if (!_h) {
+      return this;
+    }
+    if (!eventType) {
+      this._$handlers = {};
+      return this;
+    }
+    if (handler) {
+      if (_h[eventType]) {
+        var newList = [];
+        for (var i2 = 0, l2 = _h[eventType].length; i2 < l2; i2++) {
+          if (_h[eventType][i2].h !== handler) {
+            newList.push(_h[eventType][i2]);
+          }
+        }
+        _h[eventType] = newList;
+      }
+      if (_h[eventType] && _h[eventType].length === 0) {
+        delete _h[eventType];
+      }
+    } else {
+      delete _h[eventType];
+    }
+    return this;
+  };
+  Eventful2.prototype.trigger = function(eventType) {
+    var args = [];
+    for (var _i = 1; _i < arguments.length; _i++) {
+      args[_i - 1] = arguments[_i];
+    }
+    if (!this._$handlers) {
+      return this;
+    }
+    var _h = this._$handlers[eventType];
+    var eventProcessor = this._$eventProcessor;
+    if (_h) {
+      var argLen = args.length;
+      var len2 = _h.length;
+      for (var i2 = 0; i2 < len2; i2++) {
+        var hItem = _h[i2];
+        if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(eventType, hItem.query)) {
+          continue;
+        }
+        switch (argLen) {
+          case 0:
+            hItem.h.call(hItem.ctx);
+            break;
+          case 1:
+            hItem.h.call(hItem.ctx, args[0]);
+            break;
+          case 2:
+            hItem.h.call(hItem.ctx, args[0], args[1]);
+            break;
+          default:
+            hItem.h.apply(hItem.ctx, args);
+            break;
+        }
+      }
+    }
+    eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(eventType);
+    return this;
+  };
+  Eventful2.prototype.triggerWithContext = function(type2) {
+    var args = [];
+    for (var _i = 1; _i < arguments.length; _i++) {
+      args[_i - 1] = arguments[_i];
+    }
+    if (!this._$handlers) {
+      return this;
+    }
+    var _h = this._$handlers[type2];
+    var eventProcessor = this._$eventProcessor;
+    if (_h) {
+      var argLen = args.length;
+      var ctx = args[argLen - 1];
+      var len2 = _h.length;
+      for (var i2 = 0; i2 < len2; i2++) {
+        var hItem = _h[i2];
+        if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type2, hItem.query)) {
+          continue;
+        }
+        switch (argLen) {
+          case 0:
+            hItem.h.call(ctx);
+            break;
+          case 1:
+            hItem.h.call(ctx, args[0]);
+            break;
+          case 2:
+            hItem.h.call(ctx, args[0], args[1]);
+            break;
+          default:
+            hItem.h.apply(ctx, args.slice(1, argLen - 1));
+            break;
+        }
+      }
+    }
+    eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type2);
+    return this;
+  };
+  return Eventful2;
+}();
+const Eventful$1 = Eventful;
+var LN2 = Math.log(2);
+function determinant(rows, rank, rowStart, rowMask, colMask, detCache) {
+  var cacheKey = rowMask + "-" + colMask;
+  var fullRank = rows.length;
+  if (detCache.hasOwnProperty(cacheKey)) {
+    return detCache[cacheKey];
+  }
+  if (rank === 1) {
+    var colStart = Math.round(Math.log((1 << fullRank) - 1 & ~colMask) / LN2);
+    return rows[rowStart][colStart];
+  }
+  var subRowMask = rowMask | 1 << rowStart;
+  var subRowStart = rowStart + 1;
+  while (rowMask & 1 << subRowStart) {
+    subRowStart++;
+  }
+  var sum2 = 0;
+  for (var j2 = 0, colLocalIdx = 0; j2 < fullRank; j2++) {
+    var colTag = 1 << j2;
+    if (!(colTag & colMask)) {
+      sum2 += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j2] * determinant(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);
+      colLocalIdx++;
+    }
+  }
+  detCache[cacheKey] = sum2;
+  return sum2;
+}
+function buildTransformer(src, dest) {
+  var mA = [
+    [src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]],
+    [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]],
+    [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]],
+    [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]],
+    [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]],
+    [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]],
+    [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]],
+    [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]
+  ];
+  var detCache = {};
+  var det = determinant(mA, 8, 0, 0, 0, detCache);
+  if (det === 0) {
+    return;
+  }
+  var vh = [];
+  for (var i2 = 0; i2 < 8; i2++) {
+    for (var j2 = 0; j2 < 8; j2++) {
+      vh[j2] == null && (vh[j2] = 0);
+      vh[j2] += ((i2 + j2) % 2 ? -1 : 1) * determinant(mA, 7, i2 === 0 ? 1 : 0, 1 << i2, 1 << j2, detCache) / det * dest[i2];
+    }
+  }
+  return function(out2, srcPointX, srcPointY) {
+    var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;
+    out2[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;
+    out2[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;
+  };
+}
+var EVENT_SAVED_PROP = "___zrEVENTSAVED";
+var _calcOut$1 = [];
+function transformLocalCoord(out2, elFrom, elTarget, inX, inY) {
+  return transformCoordWithViewport(_calcOut$1, elFrom, inX, inY, true) && transformCoordWithViewport(out2, elTarget, _calcOut$1[0], _calcOut$1[1]);
+}
+function transformCoordWithViewport(out2, el, inX, inY, inverse) {
+  if (el.getBoundingClientRect && env$1.domSupported && !isCanvasEl(el)) {
+    var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});
+    var markers = prepareCoordMarkers(el, saved);
+    var transformer = preparePointerTransformer(markers, saved, inverse);
+    if (transformer) {
+      transformer(out2, inX, inY);
+      return true;
+    }
+  }
+  return false;
+}
+function prepareCoordMarkers(el, saved) {
+  var markers = saved.markers;
+  if (markers) {
+    return markers;
+  }
+  markers = saved.markers = [];
+  var propLR = ["left", "right"];
+  var propTB = ["top", "bottom"];
+  for (var i2 = 0; i2 < 4; i2++) {
+    var marker = document.createElement("div");
+    var stl = marker.style;
+    var idxLR = i2 % 2;
+    var idxTB = (i2 >> 1) % 2;
+    stl.cssText = [
+      "position: absolute",
+      "visibility: hidden",
+      "padding: 0",
+      "margin: 0",
+      "border-width: 0",
+      "user-select: none",
+      "width:0",
+      "height:0",
+      propLR[idxLR] + ":0",
+      propTB[idxTB] + ":0",
+      propLR[1 - idxLR] + ":auto",
+      propTB[1 - idxTB] + ":auto",
+      ""
+    ].join("!important;");
+    el.appendChild(marker);
+    markers.push(marker);
+  }
+  return markers;
+}
+function preparePointerTransformer(markers, saved, inverse) {
+  var transformerName = inverse ? "invTrans" : "trans";
+  var transformer = saved[transformerName];
+  var oldSrcCoords = saved.srcCoords;
+  var srcCoords = [];
+  var destCoords = [];
+  var oldCoordTheSame = true;
+  for (var i2 = 0; i2 < 4; i2++) {
+    var rect = markers[i2].getBoundingClientRect();
+    var ii = 2 * i2;
+    var x2 = rect.left;
+    var y2 = rect.top;
+    srcCoords.push(x2, y2);
+    oldCoordTheSame = oldCoordTheSame && oldSrcCoords && x2 === oldSrcCoords[ii] && y2 === oldSrcCoords[ii + 1];
+    destCoords.push(markers[i2].offsetLeft, markers[i2].offsetTop);
+  }
+  return oldCoordTheSame && transformer ? transformer : (saved.srcCoords = srcCoords, saved[transformerName] = inverse ? buildTransformer(destCoords, srcCoords) : buildTransformer(srcCoords, destCoords));
+}
+function isCanvasEl(el) {
+  return el.nodeName.toUpperCase() === "CANVAS";
+}
+var replaceReg = /([&<>"'])/g;
+var replaceMap = {
+  "&": "&amp;",
+  "<": "&lt;",
+  ">": "&gt;",
+  '"': "&quot;",
+  "'": "&#39;"
+};
+function encodeHTML(source2) {
+  return source2 == null ? "" : (source2 + "").replace(replaceReg, function(str, c2) {
+    return replaceMap[c2];
+  });
+}
+var MOUSE_EVENT_REG = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;
+var _calcOut = [];
+var firefoxNotSupportOffsetXY = env$1.browser.firefox && +env$1.browser.version.split(".")[0] < 39;
+function clientToLocal(el, e2, out2, calculate) {
+  out2 = out2 || {};
+  if (calculate) {
+    calculateZrXY(el, e2, out2);
+  } else if (firefoxNotSupportOffsetXY && e2.layerX != null && e2.layerX !== e2.offsetX) {
+    out2.zrX = e2.layerX;
+    out2.zrY = e2.layerY;
+  } else if (e2.offsetX != null) {
+    out2.zrX = e2.offsetX;
+    out2.zrY = e2.offsetY;
+  } else {
+    calculateZrXY(el, e2, out2);
+  }
+  return out2;
+}
+function calculateZrXY(el, e2, out2) {
+  if (env$1.domSupported && el.getBoundingClientRect) {
+    var ex = e2.clientX;
+    var ey = e2.clientY;
+    if (isCanvasEl(el)) {
+      var box2 = el.getBoundingClientRect();
+      out2.zrX = ex - box2.left;
+      out2.zrY = ey - box2.top;
+      return;
+    } else {
+      if (transformCoordWithViewport(_calcOut, el, ex, ey)) {
+        out2.zrX = _calcOut[0];
+        out2.zrY = _calcOut[1];
+        return;
+      }
+    }
+  }
+  out2.zrX = out2.zrY = 0;
+}
+function getNativeEvent(e2) {
+  return e2 || window.event;
+}
+function normalizeEvent(el, e2, calculate) {
+  e2 = getNativeEvent(e2);
+  if (e2.zrX != null) {
+    return e2;
+  }
+  var eventType = e2.type;
+  var isTouch = eventType && eventType.indexOf("touch") >= 0;
+  if (!isTouch) {
+    clientToLocal(el, e2, e2, calculate);
+    var wheelDelta = getWheelDeltaMayPolyfill(e2);
+    e2.zrDelta = wheelDelta ? wheelDelta / 120 : -(e2.detail || 0) / 3;
+  } else {
+    var touch = eventType !== "touchend" ? e2.targetTouches[0] : e2.changedTouches[0];
+    touch && clientToLocal(el, touch, e2, calculate);
+  }
+  var button = e2.button;
+  if (e2.which == null && button !== void 0 && MOUSE_EVENT_REG.test(e2.type)) {
+    e2.which = button & 1 ? 1 : button & 2 ? 3 : button & 4 ? 2 : 0;
+  }
+  return e2;
+}
+function getWheelDeltaMayPolyfill(e2) {
+  var rawWheelDelta = e2.wheelDelta;
+  if (rawWheelDelta) {
+    return rawWheelDelta;
+  }
+  var deltaX = e2.deltaX;
+  var deltaY = e2.deltaY;
+  if (deltaX == null || deltaY == null) {
+    return rawWheelDelta;
+  }
+  var delta = deltaY !== 0 ? Math.abs(deltaY) : Math.abs(deltaX);
+  var sign = deltaY > 0 ? -1 : deltaY < 0 ? 1 : deltaX > 0 ? -1 : 1;
+  return 3 * delta * sign;
+}
+function addEventListener(el, name2, handler, opt) {
+  el.addEventListener(name2, handler, opt);
+}
+function removeEventListener(el, name2, handler, opt) {
+  el.removeEventListener(name2, handler, opt);
+}
+var stop = function(e2) {
+  e2.preventDefault();
+  e2.stopPropagation();
+  e2.cancelBubble = true;
+};
+function isMiddleOrRightButtonOnMouseUpDown(e2) {
+  return e2.which === 2 || e2.which === 3;
+}
+var GestureMgr = function() {
+  function GestureMgr2() {
+    this._track = [];
+  }
+  GestureMgr2.prototype.recognize = function(event2, target, root) {
+    this._doTrack(event2, target, root);
+    return this._recognize(event2);
+  };
+  GestureMgr2.prototype.clear = function() {
+    this._track.length = 0;
+    return this;
+  };
+  GestureMgr2.prototype._doTrack = function(event2, target, root) {
+    var touches = event2.touches;
+    if (!touches) {
+      return;
+    }
+    var trackItem = {
+      points: [],
+      touches: [],
+      target,
+      event: event2
+    };
+    for (var i2 = 0, len2 = touches.length; i2 < len2; i2++) {
+      var touch = touches[i2];
+      var pos = clientToLocal(root, touch, {});
+      trackItem.points.push([pos.zrX, pos.zrY]);
+      trackItem.touches.push(touch);
+    }
+    this._track.push(trackItem);
+  };
+  GestureMgr2.prototype._recognize = function(event2) {
+    for (var eventName in recognizers) {
+      if (recognizers.hasOwnProperty(eventName)) {
+        var gestureInfo = recognizers[eventName](this._track, event2);
+        if (gestureInfo) {
+          return gestureInfo;
+        }
+      }
+    }
+  };
+  return GestureMgr2;
+}();
+function dist(pointPair) {
+  var dx = pointPair[1][0] - pointPair[0][0];
+  var dy = pointPair[1][1] - pointPair[0][1];
+  return Math.sqrt(dx * dx + dy * dy);
+}
+function center$1(pointPair) {
+  return [
+    (pointPair[0][0] + pointPair[1][0]) / 2,
+    (pointPair[0][1] + pointPair[1][1]) / 2
+  ];
+}
+var recognizers = {
+  pinch: function(tracks, event2) {
+    var trackLen = tracks.length;
+    if (!trackLen) {
+      return;
+    }
+    var pinchEnd = (tracks[trackLen - 1] || {}).points;
+    var pinchPre = (tracks[trackLen - 2] || {}).points || pinchEnd;
+    if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {
+      var pinchScale = dist(pinchEnd) / dist(pinchPre);
+      !isFinite(pinchScale) && (pinchScale = 1);
+      event2.pinchScale = pinchScale;
+      var pinchCenter = center$1(pinchEnd);
+      event2.pinchX = pinchCenter[0];
+      event2.pinchY = pinchCenter[1];
+      return {
+        type: "pinch",
+        target: tracks[0].target,
+        event: event2
+      };
+    }
+  }
+};
+function create$1() {
+  return [1, 0, 0, 1, 0, 0];
+}
+function identity(out2) {
+  out2[0] = 1;
+  out2[1] = 0;
+  out2[2] = 0;
+  out2[3] = 1;
+  out2[4] = 0;
+  out2[5] = 0;
+  return out2;
+}
+function copy(out2, m2) {
+  out2[0] = m2[0];
+  out2[1] = m2[1];
+  out2[2] = m2[2];
+  out2[3] = m2[3];
+  out2[4] = m2[4];
+  out2[5] = m2[5];
+  return out2;
+}
+function mul(out2, m1, m2) {
+  var out0 = m1[0] * m2[0] + m1[2] * m2[1];
+  var out1 = m1[1] * m2[0] + m1[3] * m2[1];
+  var out22 = m1[0] * m2[2] + m1[2] * m2[3];
+  var out3 = m1[1] * m2[2] + m1[3] * m2[3];
+  var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];
+  var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];
+  out2[0] = out0;
+  out2[1] = out1;
+  out2[2] = out22;
+  out2[3] = out3;
+  out2[4] = out4;
+  out2[5] = out5;
+  return out2;
+}
+function translate(out2, a2, v4) {
+  out2[0] = a2[0];
+  out2[1] = a2[1];
+  out2[2] = a2[2];
+  out2[3] = a2[3];
+  out2[4] = a2[4] + v4[0];
+  out2[5] = a2[5] + v4[1];
+  return out2;
+}
+function rotate(out2, a2, rad) {
+  var aa = a2[0];
+  var ac = a2[2];
+  var atx = a2[4];
+  var ab = a2[1];
+  var ad = a2[3];
+  var aty = a2[5];
+  var st = Math.sin(rad);
+  var ct = Math.cos(rad);
+  out2[0] = aa * ct + ab * st;
+  out2[1] = -aa * st + ab * ct;
+  out2[2] = ac * ct + ad * st;
+  out2[3] = -ac * st + ct * ad;
+  out2[4] = ct * atx + st * aty;
+  out2[5] = ct * aty - st * atx;
+  return out2;
+}
+function scale$1(out2, a2, v4) {
+  var vx = v4[0];
+  var vy = v4[1];
+  out2[0] = a2[0] * vx;
+  out2[1] = a2[1] * vy;
+  out2[2] = a2[2] * vx;
+  out2[3] = a2[3] * vy;
+  out2[4] = a2[4] * vx;
+  out2[5] = a2[5] * vy;
+  return out2;
+}
+function invert(out2, a2) {
+  var aa = a2[0];
+  var ac = a2[2];
+  var atx = a2[4];
+  var ab = a2[1];
+  var ad = a2[3];
+  var aty = a2[5];
+  var det = aa * ad - ab * ac;
+  if (!det) {
+    return null;
+  }
+  det = 1 / det;
+  out2[0] = ad * det;
+  out2[1] = -ab * det;
+  out2[2] = -ac * det;
+  out2[3] = aa * det;
+  out2[4] = (ac * aty - ad * atx) * det;
+  out2[5] = (ab * atx - aa * aty) * det;
+  return out2;
+}
+function clone$2(a2) {
+  var b2 = create$1();
+  copy(b2, a2);
+  return b2;
+}
+const matrix = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  clone: clone$2,
+  copy,
+  create: create$1,
+  identity,
+  invert,
+  mul,
+  rotate,
+  scale: scale$1,
+  translate
+}, Symbol.toStringTag, { value: "Module" }));
+var Point = function() {
+  function Point2(x2, y2) {
+    this.x = x2 || 0;
+    this.y = y2 || 0;
+  }
+  Point2.prototype.copy = function(other) {
+    this.x = other.x;
+    this.y = other.y;
+    return this;
+  };
+  Point2.prototype.clone = function() {
+    return new Point2(this.x, this.y);
+  };
+  Point2.prototype.set = function(x2, y2) {
+    this.x = x2;
+    this.y = y2;
+    return this;
+  };
+  Point2.prototype.equal = function(other) {
+    return other.x === this.x && other.y === this.y;
+  };
+  Point2.prototype.add = function(other) {
+    this.x += other.x;
+    this.y += other.y;
+    return this;
+  };
+  Point2.prototype.scale = function(scalar) {
+    this.x *= scalar;
+    this.y *= scalar;
+  };
+  Point2.prototype.scaleAndAdd = function(other, scalar) {
+    this.x += other.x * scalar;
+    this.y += other.y * scalar;
+  };
+  Point2.prototype.sub = function(other) {
+    this.x -= other.x;
+    this.y -= other.y;
+    return this;
+  };
+  Point2.prototype.dot = function(other) {
+    return this.x * other.x + this.y * other.y;
+  };
+  Point2.prototype.len = function() {
+    return Math.sqrt(this.x * this.x + this.y * this.y);
+  };
+  Point2.prototype.lenSquare = function() {
+    return this.x * this.x + this.y * this.y;
+  };
+  Point2.prototype.normalize = function() {
+    var len2 = this.len();
+    this.x /= len2;
+    this.y /= len2;
+    return this;
+  };
+  Point2.prototype.distance = function(other) {
+    var dx = this.x - other.x;
+    var dy = this.y - other.y;
+    return Math.sqrt(dx * dx + dy * dy);
+  };
+  Point2.prototype.distanceSquare = function(other) {
+    var dx = this.x - other.x;
+    var dy = this.y - other.y;
+    return dx * dx + dy * dy;
+  };
+  Point2.prototype.negate = function() {
+    this.x = -this.x;
+    this.y = -this.y;
+    return this;
+  };
+  Point2.prototype.transform = function(m2) {
+    if (!m2) {
+      return;
+    }
+    var x2 = this.x;
+    var y2 = this.y;
+    this.x = m2[0] * x2 + m2[2] * y2 + m2[4];
+    this.y = m2[1] * x2 + m2[3] * y2 + m2[5];
+    return this;
+  };
+  Point2.prototype.toArray = function(out2) {
+    out2[0] = this.x;
+    out2[1] = this.y;
+    return out2;
+  };
+  Point2.prototype.fromArray = function(input) {
+    this.x = input[0];
+    this.y = input[1];
+  };
+  Point2.set = function(p2, x2, y2) {
+    p2.x = x2;
+    p2.y = y2;
+  };
+  Point2.copy = function(p2, p22) {
+    p2.x = p22.x;
+    p2.y = p22.y;
+  };
+  Point2.len = function(p2) {
+    return Math.sqrt(p2.x * p2.x + p2.y * p2.y);
+  };
+  Point2.lenSquare = function(p2) {
+    return p2.x * p2.x + p2.y * p2.y;
+  };
+  Point2.dot = function(p0, p1) {
+    return p0.x * p1.x + p0.y * p1.y;
+  };
+  Point2.add = function(out2, p0, p1) {
+    out2.x = p0.x + p1.x;
+    out2.y = p0.y + p1.y;
+  };
+  Point2.sub = function(out2, p0, p1) {
+    out2.x = p0.x - p1.x;
+    out2.y = p0.y - p1.y;
+  };
+  Point2.scale = function(out2, p0, scalar) {
+    out2.x = p0.x * scalar;
+    out2.y = p0.y * scalar;
+  };
+  Point2.scaleAndAdd = function(out2, p0, p1, scalar) {
+    out2.x = p0.x + p1.x * scalar;
+    out2.y = p0.y + p1.y * scalar;
+  };
+  Point2.lerp = function(out2, p0, p1, t2) {
+    var onet = 1 - t2;
+    out2.x = onet * p0.x + t2 * p1.x;
+    out2.y = onet * p0.y + t2 * p1.y;
+  };
+  return Point2;
+}();
+const Point$1 = Point;
+var mathMin$a = Math.min;
+var mathMax$a = Math.max;
+var lt = new Point$1();
+var rb = new Point$1();
+var lb = new Point$1();
+var rt = new Point$1();
+var minTv$1 = new Point$1();
+var maxTv$1 = new Point$1();
+var BoundingRect = function() {
+  function BoundingRect2(x2, y2, width, height) {
+    if (width < 0) {
+      x2 = x2 + width;
+      width = -width;
+    }
+    if (height < 0) {
+      y2 = y2 + height;
+      height = -height;
+    }
+    this.x = x2;
+    this.y = y2;
+    this.width = width;
+    this.height = height;
+  }
+  BoundingRect2.prototype.union = function(other) {
+    var x2 = mathMin$a(other.x, this.x);
+    var y2 = mathMin$a(other.y, this.y);
+    if (isFinite(this.x) && isFinite(this.width)) {
+      this.width = mathMax$a(other.x + other.width, this.x + this.width) - x2;
+    } else {
+      this.width = other.width;
+    }
+    if (isFinite(this.y) && isFinite(this.height)) {
+      this.height = mathMax$a(other.y + other.height, this.y + this.height) - y2;
+    } else {
+      this.height = other.height;
+    }
+    this.x = x2;
+    this.y = y2;
+  };
+  BoundingRect2.prototype.applyTransform = function(m2) {
+    BoundingRect2.applyTransform(this, this, m2);
+  };
+  BoundingRect2.prototype.calculateTransform = function(b2) {
+    var a2 = this;
+    var sx = b2.width / a2.width;
+    var sy = b2.height / a2.height;
+    var m2 = create$1();
+    translate(m2, m2, [-a2.x, -a2.y]);
+    scale$1(m2, m2, [sx, sy]);
+    translate(m2, m2, [b2.x, b2.y]);
+    return m2;
+  };
+  BoundingRect2.prototype.intersect = function(b2, mtv) {
+    if (!b2) {
+      return false;
+    }
+    if (!(b2 instanceof BoundingRect2)) {
+      b2 = BoundingRect2.create(b2);
+    }
+    var a2 = this;
+    var ax0 = a2.x;
+    var ax1 = a2.x + a2.width;
+    var ay0 = a2.y;
+    var ay1 = a2.y + a2.height;
+    var bx0 = b2.x;
+    var bx1 = b2.x + b2.width;
+    var by0 = b2.y;
+    var by1 = b2.y + b2.height;
+    var overlap = !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);
+    if (mtv) {
+      var dMin = Infinity;
+      var dMax = 0;
+      var d0 = Math.abs(ax1 - bx0);
+      var d1 = Math.abs(bx1 - ax0);
+      var d2 = Math.abs(ay1 - by0);
+      var d3 = Math.abs(by1 - ay0);
+      var dx = Math.min(d0, d1);
+      var dy = Math.min(d2, d3);
+      if (ax1 < bx0 || bx1 < ax0) {
+        if (dx > dMax) {
+          dMax = dx;
+          if (d0 < d1) {
+            Point$1.set(maxTv$1, -d0, 0);
+          } else {
+            Point$1.set(maxTv$1, d1, 0);
+          }
+        }
+      } else {
+        if (dx < dMin) {
+          dMin = dx;
+          if (d0 < d1) {
+            Point$1.set(minTv$1, d0, 0);
+          } else {
+            Point$1.set(minTv$1, -d1, 0);
+          }
+        }
+      }
+      if (ay1 < by0 || by1 < ay0) {
+        if (dy > dMax) {
+          dMax = dy;
+          if (d2 < d3) {
+            Point$1.set(maxTv$1, 0, -d2);
+          } else {
+            Point$1.set(maxTv$1, 0, d3);
+          }
+        }
+      } else {
+        if (dx < dMin) {
+          dMin = dx;
+          if (d2 < d3) {
+            Point$1.set(minTv$1, 0, d2);
+          } else {
+            Point$1.set(minTv$1, 0, -d3);
+          }
+        }
+      }
+    }
+    if (mtv) {
+      Point$1.copy(mtv, overlap ? minTv$1 : maxTv$1);
+    }
+    return overlap;
+  };
+  BoundingRect2.prototype.contain = function(x2, y2) {
+    var rect = this;
+    return x2 >= rect.x && x2 <= rect.x + rect.width && y2 >= rect.y && y2 <= rect.y + rect.height;
+  };
+  BoundingRect2.prototype.clone = function() {
+    return new BoundingRect2(this.x, this.y, this.width, this.height);
+  };
+  BoundingRect2.prototype.copy = function(other) {
+    BoundingRect2.copy(this, other);
+  };
+  BoundingRect2.prototype.plain = function() {
+    return {
+      x: this.x,
+      y: this.y,
+      width: this.width,
+      height: this.height
+    };
+  };
+  BoundingRect2.prototype.isFinite = function() {
+    return isFinite(this.x) && isFinite(this.y) && isFinite(this.width) && isFinite(this.height);
+  };
+  BoundingRect2.prototype.isZero = function() {
+    return this.width === 0 || this.height === 0;
+  };
+  BoundingRect2.create = function(rect) {
+    return new BoundingRect2(rect.x, rect.y, rect.width, rect.height);
+  };
+  BoundingRect2.copy = function(target, source2) {
+    target.x = source2.x;
+    target.y = source2.y;
+    target.width = source2.width;
+    target.height = source2.height;
+  };
+  BoundingRect2.applyTransform = function(target, source2, m2) {
+    if (!m2) {
+      if (target !== source2) {
+        BoundingRect2.copy(target, source2);
+      }
+      return;
+    }
+    if (m2[1] < 1e-5 && m2[1] > -1e-5 && m2[2] < 1e-5 && m2[2] > -1e-5) {
+      var sx = m2[0];
+      var sy = m2[3];
+      var tx = m2[4];
+      var ty = m2[5];
+      target.x = source2.x * sx + tx;
+      target.y = source2.y * sy + ty;
+      target.width = source2.width * sx;
+      target.height = source2.height * sy;
+      if (target.width < 0) {
+        target.x += target.width;
+        target.width = -target.width;
+      }
+      if (target.height < 0) {
+        target.y += target.height;
+        target.height = -target.height;
+      }
+      return;
+    }
+    lt.x = lb.x = source2.x;
+    lt.y = rt.y = source2.y;
+    rb.x = rt.x = source2.x + source2.width;
+    rb.y = lb.y = source2.y + source2.height;
+    lt.transform(m2);
+    rt.transform(m2);
+    rb.transform(m2);
+    lb.transform(m2);
+    target.x = mathMin$a(lt.x, rb.x, lb.x, rt.x);
+    target.y = mathMin$a(lt.y, rb.y, lb.y, rt.y);
+    var maxX = mathMax$a(lt.x, rb.x, lb.x, rt.x);
+    var maxY = mathMax$a(lt.y, rb.y, lb.y, rt.y);
+    target.width = maxX - target.x;
+    target.height = maxY - target.y;
+  };
+  return BoundingRect2;
+}();
+const BoundingRect$1 = BoundingRect;
+var SILENT = "silent";
+function makeEventPacket(eveType, targetInfo, event2) {
+  return {
+    type: eveType,
+    event: event2,
+    target: targetInfo.target,
+    topTarget: targetInfo.topTarget,
+    cancelBubble: false,
+    offsetX: event2.zrX,
+    offsetY: event2.zrY,
+    gestureEvent: event2.gestureEvent,
+    pinchX: event2.pinchX,
+    pinchY: event2.pinchY,
+    pinchScale: event2.pinchScale,
+    wheelDelta: event2.zrDelta,
+    zrByTouch: event2.zrByTouch,
+    which: event2.which,
+    stop: stopEvent
+  };
+}
+function stopEvent() {
+  stop(this.event);
+}
+var EmptyProxy = function(_super) {
+  __extends(EmptyProxy2, _super);
+  function EmptyProxy2() {
+    var _this = _super !== null && _super.apply(this, arguments) || this;
+    _this.handler = null;
+    return _this;
+  }
+  EmptyProxy2.prototype.dispose = function() {
+  };
+  EmptyProxy2.prototype.setCursor = function() {
+  };
+  return EmptyProxy2;
+}(Eventful$1);
+var HoveredResult = function() {
+  function HoveredResult2(x2, y2) {
+    this.x = x2;
+    this.y = y2;
+  }
+  return HoveredResult2;
+}();
+var handlerNames = [
+  "click",
+  "dblclick",
+  "mousewheel",
+  "mouseout",
+  "mouseup",
+  "mousedown",
+  "mousemove",
+  "contextmenu"
+];
+var tmpRect$1 = new BoundingRect$1(0, 0, 0, 0);
+var Handler = function(_super) {
+  __extends(Handler2, _super);
+  function Handler2(storage2, painter, proxy, painterRoot, pointerSize) {
+    var _this = _super.call(this) || this;
+    _this._hovered = new HoveredResult(0, 0);
+    _this.storage = storage2;
+    _this.painter = painter;
+    _this.painterRoot = painterRoot;
+    _this._pointerSize = pointerSize;
+    proxy = proxy || new EmptyProxy();
+    _this.proxy = null;
+    _this.setHandlerProxy(proxy);
+    _this._draggingMgr = new Draggable$1(_this);
+    return _this;
+  }
+  Handler2.prototype.setHandlerProxy = function(proxy) {
+    if (this.proxy) {
+      this.proxy.dispose();
+    }
+    if (proxy) {
+      each$f(handlerNames, function(name2) {
+        proxy.on && proxy.on(name2, this[name2], this);
+      }, this);
+      proxy.handler = this;
+    }
+    this.proxy = proxy;
+  };
+  Handler2.prototype.mousemove = function(event2) {
+    var x2 = event2.zrX;
+    var y2 = event2.zrY;
+    var isOutside = isOutsideBoundary(this, x2, y2);
+    var lastHovered = this._hovered;
+    var lastHoveredTarget = lastHovered.target;
+    if (lastHoveredTarget && !lastHoveredTarget.__zr) {
+      lastHovered = this.findHover(lastHovered.x, lastHovered.y);
+      lastHoveredTarget = lastHovered.target;
+    }
+    var hovered = this._hovered = isOutside ? new HoveredResult(x2, y2) : this.findHover(x2, y2);
+    var hoveredTarget = hovered.target;
+    var proxy = this.proxy;
+    proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : "default");
+    if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {
+      this.dispatchToElement(lastHovered, "mouseout", event2);
+    }
+    this.dispatchToElement(hovered, "mousemove", event2);
+    if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {
+      this.dispatchToElement(hovered, "mouseover", event2);
+    }
+  };
+  Handler2.prototype.mouseout = function(event2) {
+    var eventControl = event2.zrEventControl;
+    if (eventControl !== "only_globalout") {
+      this.dispatchToElement(this._hovered, "mouseout", event2);
+    }
+    if (eventControl !== "no_globalout") {
+      this.trigger("globalout", { type: "globalout", event: event2 });
+    }
+  };
+  Handler2.prototype.resize = function() {
+    this._hovered = new HoveredResult(0, 0);
+  };
+  Handler2.prototype.dispatch = function(eventName, eventArgs) {
+    var handler = this[eventName];
+    handler && handler.call(this, eventArgs);
+  };
+  Handler2.prototype.dispose = function() {
+    this.proxy.dispose();
+    this.storage = null;
+    this.proxy = null;
+    this.painter = null;
+  };
+  Handler2.prototype.setCursorStyle = function(cursorStyle) {
+    var proxy = this.proxy;
+    proxy.setCursor && proxy.setCursor(cursorStyle);
+  };
+  Handler2.prototype.dispatchToElement = function(targetInfo, eventName, event2) {
+    targetInfo = targetInfo || {};
+    var el = targetInfo.target;
+    if (el && el.silent) {
+      return;
+    }
+    var eventKey = "on" + eventName;
+    var eventPacket = makeEventPacket(eventName, targetInfo, event2);
+    while (el) {
+      el[eventKey] && (eventPacket.cancelBubble = !!el[eventKey].call(el, eventPacket));
+      el.trigger(eventName, eventPacket);
+      el = el.__hostTarget ? el.__hostTarget : el.parent;
+      if (eventPacket.cancelBubble) {
+        break;
+      }
+    }
+    if (!eventPacket.cancelBubble) {
+      this.trigger(eventName, eventPacket);
+      if (this.painter && this.painter.eachOtherLayer) {
+        this.painter.eachOtherLayer(function(layer) {
+          if (typeof layer[eventKey] === "function") {
+            layer[eventKey].call(layer, eventPacket);
+          }
+          if (layer.trigger) {
+            layer.trigger(eventName, eventPacket);
+          }
+        });
+      }
+    }
+  };
+  Handler2.prototype.findHover = function(x2, y2, exclude) {
+    var list2 = this.storage.getDisplayList();
+    var out2 = new HoveredResult(x2, y2);
+    setHoverTarget(list2, out2, x2, y2, exclude);
+    if (this._pointerSize && !out2.target) {
+      var candidates = [];
+      var pointerSize = this._pointerSize;
+      var targetSizeHalf = pointerSize / 2;
+      var pointerRect = new BoundingRect$1(x2 - targetSizeHalf, y2 - targetSizeHalf, pointerSize, pointerSize);
+      for (var i2 = list2.length - 1; i2 >= 0; i2--) {
+        var el = list2[i2];
+        if (el !== exclude && !el.ignore && !el.ignoreCoarsePointer && (!el.parent || !el.parent.ignoreCoarsePointer)) {
+          tmpRect$1.copy(el.getBoundingRect());
+          if (el.transform) {
+            tmpRect$1.applyTransform(el.transform);
+          }
+          if (tmpRect$1.intersect(pointerRect)) {
+            candidates.push(el);
+          }
+        }
+      }
+      if (candidates.length) {
+        var rStep = 4;
+        var thetaStep = Math.PI / 12;
+        var PI22 = Math.PI * 2;
+        for (var r2 = 0; r2 < targetSizeHalf; r2 += rStep) {
+          for (var theta = 0; theta < PI22; theta += thetaStep) {
+            var x1 = x2 + r2 * Math.cos(theta);
+            var y1 = y2 + r2 * Math.sin(theta);
+            setHoverTarget(candidates, out2, x1, y1, exclude);
+            if (out2.target) {
+              return out2;
+            }
+          }
+        }
+      }
+    }
+    return out2;
+  };
+  Handler2.prototype.processGesture = function(event2, stage) {
+    if (!this._gestureMgr) {
+      this._gestureMgr = new GestureMgr();
+    }
+    var gestureMgr = this._gestureMgr;
+    stage === "start" && gestureMgr.clear();
+    var gestureInfo = gestureMgr.recognize(event2, this.findHover(event2.zrX, event2.zrY, null).target, this.proxy.dom);
+    stage === "end" && gestureMgr.clear();
+    if (gestureInfo) {
+      var type2 = gestureInfo.type;
+      event2.gestureEvent = type2;
+      var res = new HoveredResult();
+      res.target = gestureInfo.target;
+      this.dispatchToElement(res, type2, gestureInfo.event);
+    }
+  };
+  return Handler2;
+}(Eventful$1);
+each$f(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function(name2) {
+  Handler.prototype[name2] = function(event2) {
+    var x2 = event2.zrX;
+    var y2 = event2.zrY;
+    var isOutside = isOutsideBoundary(this, x2, y2);
+    var hovered;
+    var hoveredTarget;
+    if (name2 !== "mouseup" || !isOutside) {
+      hovered = this.findHover(x2, y2);
+      hoveredTarget = hovered.target;
+    }
+    if (name2 === "mousedown") {
+      this._downEl = hoveredTarget;
+      this._downPoint = [event2.zrX, event2.zrY];
+      this._upEl = hoveredTarget;
+    } else if (name2 === "mouseup") {
+      this._upEl = hoveredTarget;
+    } else if (name2 === "click") {
+      if (this._downEl !== this._upEl || !this._downPoint || dist$1(this._downPoint, [event2.zrX, event2.zrY]) > 4) {
+        return;
+      }
+      this._downPoint = null;
+    }
+    this.dispatchToElement(hovered, name2, event2);
+  };
+});
+function isHover(displayable, x2, y2) {
+  if (displayable[displayable.rectHover ? "rectContain" : "contain"](x2, y2)) {
+    var el = displayable;
+    var isSilent = void 0;
+    var ignoreClip = false;
+    while (el) {
+      if (el.ignoreClip) {
+        ignoreClip = true;
+      }
+      if (!ignoreClip) {
+        var clipPath = el.getClipPath();
+        if (clipPath && !clipPath.contain(x2, y2)) {
+          return false;
+        }
+        if (el.silent) {
+          isSilent = true;
+        }
+      }
+      var hostEl = el.__hostTarget;
+      el = hostEl ? hostEl : el.parent;
+    }
+    return isSilent ? SILENT : true;
+  }
+  return false;
+}
+function setHoverTarget(list2, out2, x2, y2, exclude) {
+  for (var i2 = list2.length - 1; i2 >= 0; i2--) {
+    var el = list2[i2];
+    var hoverCheckResult = void 0;
+    if (el !== exclude && !el.ignore && (hoverCheckResult = isHover(el, x2, y2))) {
+      !out2.topTarget && (out2.topTarget = el);
+      if (hoverCheckResult !== SILENT) {
+        out2.target = el;
+        break;
+      }
+    }
+  }
+}
+function isOutsideBoundary(handlerInstance, x2, y2) {
+  var painter = handlerInstance.painter;
+  return x2 < 0 || x2 > painter.getWidth() || y2 < 0 || y2 > painter.getHeight();
+}
+const Handler$1 = Handler;
+var DEFAULT_MIN_MERGE = 32;
+var DEFAULT_MIN_GALLOPING = 7;
+function minRunLength(n2) {
+  var r2 = 0;
+  while (n2 >= DEFAULT_MIN_MERGE) {
+    r2 |= n2 & 1;
+    n2 >>= 1;
+  }
+  return n2 + r2;
+}
+function makeAscendingRun(array, lo, hi, compare2) {
+  var runHi = lo + 1;
+  if (runHi === hi) {
+    return 1;
+  }
+  if (compare2(array[runHi++], array[lo]) < 0) {
+    while (runHi < hi && compare2(array[runHi], array[runHi - 1]) < 0) {
+      runHi++;
+    }
+    reverseRun(array, lo, runHi);
+  } else {
+    while (runHi < hi && compare2(array[runHi], array[runHi - 1]) >= 0) {
+      runHi++;
+    }
+  }
+  return runHi - lo;
+}
+function reverseRun(array, lo, hi) {
+  hi--;
+  while (lo < hi) {
+    var t2 = array[lo];
+    array[lo++] = array[hi];
+    array[hi--] = t2;
+  }
+}
+function binaryInsertionSort(array, lo, hi, start2, compare2) {
+  if (start2 === lo) {
+    start2++;
+  }
+  for (; start2 < hi; start2++) {
+    var pivot = array[start2];
+    var left = lo;
+    var right = start2;
+    var mid;
+    while (left < right) {
+      mid = left + right >>> 1;
+      if (compare2(pivot, array[mid]) < 0) {
+        right = mid;
+      } else {
+        left = mid + 1;
+      }
+    }
+    var n2 = start2 - left;
+    switch (n2) {
+      case 3:
+        array[left + 3] = array[left + 2];
+      case 2:
+        array[left + 2] = array[left + 1];
+      case 1:
+        array[left + 1] = array[left];
+        break;
+      default:
+        while (n2 > 0) {
+          array[left + n2] = array[left + n2 - 1];
+          n2--;
+        }
+    }
+    array[left] = pivot;
+  }
+}
+function gallopLeft(value, array, start2, length2, hint, compare2) {
+  var lastOffset = 0;
+  var maxOffset = 0;
+  var offset2 = 1;
+  if (compare2(value, array[start2 + hint]) > 0) {
+    maxOffset = length2 - hint;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint + offset2]) > 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    lastOffset += hint;
+    offset2 += hint;
+  } else {
+    maxOffset = hint + 1;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint - offset2]) <= 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    var tmp = lastOffset;
+    lastOffset = hint - offset2;
+    offset2 = hint - tmp;
+  }
+  lastOffset++;
+  while (lastOffset < offset2) {
+    var m2 = lastOffset + (offset2 - lastOffset >>> 1);
+    if (compare2(value, array[start2 + m2]) > 0) {
+      lastOffset = m2 + 1;
+    } else {
+      offset2 = m2;
+    }
+  }
+  return offset2;
+}
+function gallopRight(value, array, start2, length2, hint, compare2) {
+  var lastOffset = 0;
+  var maxOffset = 0;
+  var offset2 = 1;
+  if (compare2(value, array[start2 + hint]) < 0) {
+    maxOffset = hint + 1;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint - offset2]) < 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    var tmp = lastOffset;
+    lastOffset = hint - offset2;
+    offset2 = hint - tmp;
+  } else {
+    maxOffset = length2 - hint;
+    while (offset2 < maxOffset && compare2(value, array[start2 + hint + offset2]) >= 0) {
+      lastOffset = offset2;
+      offset2 = (offset2 << 1) + 1;
+      if (offset2 <= 0) {
+        offset2 = maxOffset;
+      }
+    }
+    if (offset2 > maxOffset) {
+      offset2 = maxOffset;
+    }
+    lastOffset += hint;
+    offset2 += hint;
+  }
+  lastOffset++;
+  while (lastOffset < offset2) {
+    var m2 = lastOffset + (offset2 - lastOffset >>> 1);
+    if (compare2(value, array[start2 + m2]) < 0) {
+      offset2 = m2;
+    } else {
+      lastOffset = m2 + 1;
+    }
+  }
+  return offset2;
+}
+function TimSort(array, compare2) {
+  var minGallop = DEFAULT_MIN_GALLOPING;
+  var runStart;
+  var runLength;
+  var stackSize = 0;
+  array.length;
+  var tmp = [];
+  runStart = [];
+  runLength = [];
+  function pushRun(_runStart, _runLength) {
+    runStart[stackSize] = _runStart;
+    runLength[stackSize] = _runLength;
+    stackSize += 1;
+  }
+  function mergeRuns() {
+    while (stackSize > 1) {
+      var n2 = stackSize - 2;
+      if (n2 >= 1 && runLength[n2 - 1] <= runLength[n2] + runLength[n2 + 1] || n2 >= 2 && runLength[n2 - 2] <= runLength[n2] + runLength[n2 - 1]) {
+        if (runLength[n2 - 1] < runLength[n2 + 1]) {
+          n2--;
+        }
+      } else if (runLength[n2] > runLength[n2 + 1]) {
+        break;
+      }
+      mergeAt(n2);
+    }
+  }
+  function forceMergeRuns() {
+    while (stackSize > 1) {
+      var n2 = stackSize - 2;
+      if (n2 > 0 && runLength[n2 - 1] < runLength[n2 + 1]) {
+        n2--;
+      }
+      mergeAt(n2);
+    }
+  }
+  function mergeAt(i2) {
+    var start1 = runStart[i2];
+    var length1 = runLength[i2];
+    var start2 = runStart[i2 + 1];
+    var length2 = runLength[i2 + 1];
+    runLength[i2] = length1 + length2;
+    if (i2 === stackSize - 3) {
+      runStart[i2 + 1] = runStart[i2 + 2];
+      runLength[i2 + 1] = runLength[i2 + 2];
+    }
+    stackSize--;
+    var k2 = gallopRight(array[start2], array, start1, length1, 0, compare2);
+    start1 += k2;
+    length1 -= k2;
+    if (length1 === 0) {
+      return;
+    }
+    length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare2);
+    if (length2 === 0) {
+      return;
+    }
+    if (length1 <= length2) {
+      mergeLow(start1, length1, start2, length2);
+    } else {
+      mergeHigh(start1, length1, start2, length2);
+    }
+  }
+  function mergeLow(start1, length1, start2, length2) {
+    var i2 = 0;
+    for (i2 = 0; i2 < length1; i2++) {
+      tmp[i2] = array[start1 + i2];
+    }
+    var cursor1 = 0;
+    var cursor2 = start2;
+    var dest = start1;
+    array[dest++] = array[cursor2++];
+    if (--length2 === 0) {
+      for (i2 = 0; i2 < length1; i2++) {
+        array[dest + i2] = tmp[cursor1 + i2];
+      }
+      return;
+    }
+    if (length1 === 1) {
+      for (i2 = 0; i2 < length2; i2++) {
+        array[dest + i2] = array[cursor2 + i2];
+      }
+      array[dest + length2] = tmp[cursor1];
+      return;
+    }
+    var _minGallop = minGallop;
+    var count1;
+    var count2;
+    var exit;
+    while (1) {
+      count1 = 0;
+      count2 = 0;
+      exit = false;
+      do {
+        if (compare2(array[cursor2], tmp[cursor1]) < 0) {
+          array[dest++] = array[cursor2++];
+          count2++;
+          count1 = 0;
+          if (--length2 === 0) {
+            exit = true;
+            break;
+          }
+        } else {
+          array[dest++] = tmp[cursor1++];
+          count1++;
+          count2 = 0;
+          if (--length1 === 1) {
+            exit = true;
+            break;
+          }
+        }
+      } while ((count1 | count2) < _minGallop);
+      if (exit) {
+        break;
+      }
+      do {
+        count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare2);
+        if (count1 !== 0) {
+          for (i2 = 0; i2 < count1; i2++) {
+            array[dest + i2] = tmp[cursor1 + i2];
+          }
+          dest += count1;
+          cursor1 += count1;
+          length1 -= count1;
+          if (length1 <= 1) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest++] = array[cursor2++];
+        if (--length2 === 0) {
+          exit = true;
+          break;
+        }
+        count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare2);
+        if (count2 !== 0) {
+          for (i2 = 0; i2 < count2; i2++) {
+            array[dest + i2] = array[cursor2 + i2];
+          }
+          dest += count2;
+          cursor2 += count2;
+          length2 -= count2;
+          if (length2 === 0) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest++] = tmp[cursor1++];
+        if (--length1 === 1) {
+          exit = true;
+          break;
+        }
+        _minGallop--;
+      } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);
+      if (exit) {
+        break;
+      }
+      if (_minGallop < 0) {
+        _minGallop = 0;
+      }
+      _minGallop += 2;
+    }
+    minGallop = _minGallop;
+    minGallop < 1 && (minGallop = 1);
+    if (length1 === 1) {
+      for (i2 = 0; i2 < length2; i2++) {
+        array[dest + i2] = array[cursor2 + i2];
+      }
+      array[dest + length2] = tmp[cursor1];
+    } else if (length1 === 0) {
+      throw new Error();
+    } else {
+      for (i2 = 0; i2 < length1; i2++) {
+        array[dest + i2] = tmp[cursor1 + i2];
+      }
+    }
+  }
+  function mergeHigh(start1, length1, start2, length2) {
+    var i2 = 0;
+    for (i2 = 0; i2 < length2; i2++) {
+      tmp[i2] = array[start2 + i2];
+    }
+    var cursor1 = start1 + length1 - 1;
+    var cursor2 = length2 - 1;
+    var dest = start2 + length2 - 1;
+    var customCursor = 0;
+    var customDest = 0;
+    array[dest--] = array[cursor1--];
+    if (--length1 === 0) {
+      customCursor = dest - (length2 - 1);
+      for (i2 = 0; i2 < length2; i2++) {
+        array[customCursor + i2] = tmp[i2];
+      }
+      return;
+    }
+    if (length2 === 1) {
+      dest -= length1;
+      cursor1 -= length1;
+      customDest = dest + 1;
+      customCursor = cursor1 + 1;
+      for (i2 = length1 - 1; i2 >= 0; i2--) {
+        array[customDest + i2] = array[customCursor + i2];
+      }
+      array[dest] = tmp[cursor2];
+      return;
+    }
+    var _minGallop = minGallop;
+    while (true) {
+      var count1 = 0;
+      var count2 = 0;
+      var exit = false;
+      do {
+        if (compare2(tmp[cursor2], array[cursor1]) < 0) {
+          array[dest--] = array[cursor1--];
+          count1++;
+          count2 = 0;
+          if (--length1 === 0) {
+            exit = true;
+            break;
+          }
+        } else {
+          array[dest--] = tmp[cursor2--];
+          count2++;
+          count1 = 0;
+          if (--length2 === 1) {
+            exit = true;
+            break;
+          }
+        }
+      } while ((count1 | count2) < _minGallop);
+      if (exit) {
+        break;
+      }
+      do {
+        count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare2);
+        if (count1 !== 0) {
+          dest -= count1;
+          cursor1 -= count1;
+          length1 -= count1;
+          customDest = dest + 1;
+          customCursor = cursor1 + 1;
+          for (i2 = count1 - 1; i2 >= 0; i2--) {
+            array[customDest + i2] = array[customCursor + i2];
+          }
+          if (length1 === 0) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest--] = tmp[cursor2--];
+        if (--length2 === 1) {
+          exit = true;
+          break;
+        }
+        count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare2);
+        if (count2 !== 0) {
+          dest -= count2;
+          cursor2 -= count2;
+          length2 -= count2;
+          customDest = dest + 1;
+          customCursor = cursor2 + 1;
+          for (i2 = 0; i2 < count2; i2++) {
+            array[customDest + i2] = tmp[customCursor + i2];
+          }
+          if (length2 <= 1) {
+            exit = true;
+            break;
+          }
+        }
+        array[dest--] = array[cursor1--];
+        if (--length1 === 0) {
+          exit = true;
+          break;
+        }
+        _minGallop--;
+      } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);
+      if (exit) {
+        break;
+      }
+      if (_minGallop < 0) {
+        _minGallop = 0;
+      }
+      _minGallop += 2;
+    }
+    minGallop = _minGallop;
+    if (minGallop < 1) {
+      minGallop = 1;
+    }
+    if (length2 === 1) {
+      dest -= length1;
+      cursor1 -= length1;
+      customDest = dest + 1;
+      customCursor = cursor1 + 1;
+      for (i2 = length1 - 1; i2 >= 0; i2--) {
+        array[customDest + i2] = array[customCursor + i2];
+      }
+      array[dest] = tmp[cursor2];
+    } else if (length2 === 0) {
+      throw new Error();
+    } else {
+      customCursor = dest - (length2 - 1);
+      for (i2 = 0; i2 < length2; i2++) {
+        array[customCursor + i2] = tmp[i2];
+      }
+    }
+  }
+  return {
+    mergeRuns,
+    forceMergeRuns,
+    pushRun
+  };
+}
+function sort$2(array, compare2, lo, hi) {
+  if (!lo) {
+    lo = 0;
+  }
+  if (!hi) {
+    hi = array.length;
+  }
+  var remaining = hi - lo;
+  if (remaining < 2) {
+    return;
+  }
+  var runLength = 0;
+  if (remaining < DEFAULT_MIN_MERGE) {
+    runLength = makeAscendingRun(array, lo, hi, compare2);
+    binaryInsertionSort(array, lo, hi, lo + runLength, compare2);
+    return;
+  }
+  var ts = TimSort(array, compare2);
+  var minRun = minRunLength(remaining);
+  do {
+    runLength = makeAscendingRun(array, lo, hi, compare2);
+    if (runLength < minRun) {
+      var force = remaining;
+      if (force > minRun) {
+        force = minRun;
+      }
+      binaryInsertionSort(array, lo, lo + force, lo + runLength, compare2);
+      runLength = force;
+    }
+    ts.pushRun(lo, runLength);
+    ts.mergeRuns();
+    remaining -= runLength;
+    lo += runLength;
+  } while (remaining !== 0);
+  ts.forceMergeRuns();
+}
+var REDRAW_BIT = 1;
+var STYLE_CHANGED_BIT = 2;
+var SHAPE_CHANGED_BIT = 4;
+var invalidZErrorLogged = false;
+function logInvalidZError() {
+  if (invalidZErrorLogged) {
+    return;
+  }
+  invalidZErrorLogged = true;
+  console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors");
+}
+function shapeCompareFunc(a2, b2) {
+  if (a2.zlevel === b2.zlevel) {
+    if (a2.z === b2.z) {
+      return a2.z2 - b2.z2;
+    }
+    return a2.z - b2.z;
+  }
+  return a2.zlevel - b2.zlevel;
+}
+var Storage = function() {
+  function Storage2() {
+    this._roots = [];
+    this._displayList = [];
+    this._displayListLen = 0;
+    this.displayableSortFunc = shapeCompareFunc;
+  }
+  Storage2.prototype.traverse = function(cb, context) {
+    for (var i2 = 0; i2 < this._roots.length; i2++) {
+      this._roots[i2].traverse(cb, context);
+    }
+  };
+  Storage2.prototype.getDisplayList = function(update, includeIgnore) {
+    includeIgnore = includeIgnore || false;
+    var displayList = this._displayList;
+    if (update || !displayList.length) {
+      this.updateDisplayList(includeIgnore);
+    }
+    return displayList;
+  };
+  Storage2.prototype.updateDisplayList = function(includeIgnore) {
+    this._displayListLen = 0;
+    var roots2 = this._roots;
+    var displayList = this._displayList;
+    for (var i2 = 0, len2 = roots2.length; i2 < len2; i2++) {
+      this._updateAndAddDisplayable(roots2[i2], null, includeIgnore);
+    }
+    displayList.length = this._displayListLen;
+    sort$2(displayList, shapeCompareFunc);
+  };
+  Storage2.prototype._updateAndAddDisplayable = function(el, clipPaths, includeIgnore) {
+    if (el.ignore && !includeIgnore) {
+      return;
+    }
+    el.beforeUpdate();
+    el.update();
+    el.afterUpdate();
+    var userSetClipPath = el.getClipPath();
+    if (el.ignoreClip) {
+      clipPaths = null;
+    } else if (userSetClipPath) {
+      if (clipPaths) {
+        clipPaths = clipPaths.slice();
+      } else {
+        clipPaths = [];
+      }
+      var currentClipPath = userSetClipPath;
+      var parentClipPath = el;
+      while (currentClipPath) {
+        currentClipPath.parent = parentClipPath;
+        currentClipPath.updateTransform();
+        clipPaths.push(currentClipPath);
+        parentClipPath = currentClipPath;
+        currentClipPath = currentClipPath.getClipPath();
+      }
+    }
+    if (el.childrenRef) {
+      var children3 = el.childrenRef();
+      for (var i2 = 0; i2 < children3.length; i2++) {
+        var child = children3[i2];
+        if (el.__dirty) {
+          child.__dirty |= REDRAW_BIT;
+        }
+        this._updateAndAddDisplayable(child, clipPaths, includeIgnore);
+      }
+      el.__dirty = 0;
+    } else {
+      var disp = el;
+      if (clipPaths && clipPaths.length) {
+        disp.__clipPaths = clipPaths;
+      } else if (disp.__clipPaths && disp.__clipPaths.length > 0) {
+        disp.__clipPaths = [];
+      }
+      if (isNaN(disp.z)) {
+        logInvalidZError();
+        disp.z = 0;
+      }
+      if (isNaN(disp.z2)) {
+        logInvalidZError();
+        disp.z2 = 0;
+      }
+      if (isNaN(disp.zlevel)) {
+        logInvalidZError();
+        disp.zlevel = 0;
+      }
+      this._displayList[this._displayListLen++] = disp;
+    }
+    var decalEl = el.getDecalElement && el.getDecalElement();
+    if (decalEl) {
+      this._updateAndAddDisplayable(decalEl, clipPaths, includeIgnore);
+    }
+    var textGuide = el.getTextGuideLine();
+    if (textGuide) {
+      this._updateAndAddDisplayable(textGuide, clipPaths, includeIgnore);
+    }
+    var textEl = el.getTextContent();
+    if (textEl) {
+      this._updateAndAddDisplayable(textEl, clipPaths, includeIgnore);
+    }
+  };
+  Storage2.prototype.addRoot = function(el) {
+    if (el.__zr && el.__zr.storage === this) {
+      return;
+    }
+    this._roots.push(el);
+  };
+  Storage2.prototype.delRoot = function(el) {
+    if (el instanceof Array) {
+      for (var i2 = 0, l2 = el.length; i2 < l2; i2++) {
+        this.delRoot(el[i2]);
+      }
+      return;
+    }
+    var idx = indexOf(this._roots, el);
+    if (idx >= 0) {
+      this._roots.splice(idx, 1);
+    }
+  };
+  Storage2.prototype.delAllRoots = function() {
+    this._roots = [];
+    this._displayList = [];
+    this._displayListLen = 0;
+    return;
+  };
+  Storage2.prototype.getRoots = function() {
+    return this._roots;
+  };
+  Storage2.prototype.dispose = function() {
+    this._displayList = null;
+    this._roots = null;
+  };
+  return Storage2;
+}();
+const Storage$1 = Storage;
+var requestAnimationFrame$1;
+requestAnimationFrame$1 = env$1.hasGlobalWindow && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function(func) {
+  return setTimeout(func, 16);
+};
+const requestAnimationFrame$2 = requestAnimationFrame$1;
+var easingFuncs = {
+  linear: function(k2) {
+    return k2;
+  },
+  quadraticIn: function(k2) {
+    return k2 * k2;
+  },
+  quadraticOut: function(k2) {
+    return k2 * (2 - k2);
+  },
+  quadraticInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2;
+    }
+    return -0.5 * (--k2 * (k2 - 2) - 1);
+  },
+  cubicIn: function(k2) {
+    return k2 * k2 * k2;
+  },
+  cubicOut: function(k2) {
+    return --k2 * k2 * k2 + 1;
+  },
+  cubicInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2 * k2;
+    }
+    return 0.5 * ((k2 -= 2) * k2 * k2 + 2);
+  },
+  quarticIn: function(k2) {
+    return k2 * k2 * k2 * k2;
+  },
+  quarticOut: function(k2) {
+    return 1 - --k2 * k2 * k2 * k2;
+  },
+  quarticInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2 * k2 * k2;
+    }
+    return -0.5 * ((k2 -= 2) * k2 * k2 * k2 - 2);
+  },
+  quinticIn: function(k2) {
+    return k2 * k2 * k2 * k2 * k2;
+  },
+  quinticOut: function(k2) {
+    return --k2 * k2 * k2 * k2 * k2 + 1;
+  },
+  quinticInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return 0.5 * k2 * k2 * k2 * k2 * k2;
+    }
+    return 0.5 * ((k2 -= 2) * k2 * k2 * k2 * k2 + 2);
+  },
+  sinusoidalIn: function(k2) {
+    return 1 - Math.cos(k2 * Math.PI / 2);
+  },
+  sinusoidalOut: function(k2) {
+    return Math.sin(k2 * Math.PI / 2);
+  },
+  sinusoidalInOut: function(k2) {
+    return 0.5 * (1 - Math.cos(Math.PI * k2));
+  },
+  exponentialIn: function(k2) {
+    return k2 === 0 ? 0 : Math.pow(1024, k2 - 1);
+  },
+  exponentialOut: function(k2) {
+    return k2 === 1 ? 1 : 1 - Math.pow(2, -10 * k2);
+  },
+  exponentialInOut: function(k2) {
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if ((k2 *= 2) < 1) {
+      return 0.5 * Math.pow(1024, k2 - 1);
+    }
+    return 0.5 * (-Math.pow(2, -10 * (k2 - 1)) + 2);
+  },
+  circularIn: function(k2) {
+    return 1 - Math.sqrt(1 - k2 * k2);
+  },
+  circularOut: function(k2) {
+    return Math.sqrt(1 - --k2 * k2);
+  },
+  circularInOut: function(k2) {
+    if ((k2 *= 2) < 1) {
+      return -0.5 * (Math.sqrt(1 - k2 * k2) - 1);
+    }
+    return 0.5 * (Math.sqrt(1 - (k2 -= 2) * k2) + 1);
+  },
+  elasticIn: function(k2) {
+    var s2;
+    var a2 = 0.1;
+    var p2 = 0.4;
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if (!a2 || a2 < 1) {
+      a2 = 1;
+      s2 = p2 / 4;
+    } else {
+      s2 = p2 * Math.asin(1 / a2) / (2 * Math.PI);
+    }
+    return -(a2 * Math.pow(2, 10 * (k2 -= 1)) * Math.sin((k2 - s2) * (2 * Math.PI) / p2));
+  },
+  elasticOut: function(k2) {
+    var s2;
+    var a2 = 0.1;
+    var p2 = 0.4;
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if (!a2 || a2 < 1) {
+      a2 = 1;
+      s2 = p2 / 4;
+    } else {
+      s2 = p2 * Math.asin(1 / a2) / (2 * Math.PI);
+    }
+    return a2 * Math.pow(2, -10 * k2) * Math.sin((k2 - s2) * (2 * Math.PI) / p2) + 1;
+  },
+  elasticInOut: function(k2) {
+    var s2;
+    var a2 = 0.1;
+    var p2 = 0.4;
+    if (k2 === 0) {
+      return 0;
+    }
+    if (k2 === 1) {
+      return 1;
+    }
+    if (!a2 || a2 < 1) {
+      a2 = 1;
+      s2 = p2 / 4;
+    } else {
+      s2 = p2 * Math.asin(1 / a2) / (2 * Math.PI);
+    }
+    if ((k2 *= 2) < 1) {
+      return -0.5 * (a2 * Math.pow(2, 10 * (k2 -= 1)) * Math.sin((k2 - s2) * (2 * Math.PI) / p2));
+    }
+    return a2 * Math.pow(2, -10 * (k2 -= 1)) * Math.sin((k2 - s2) * (2 * Math.PI) / p2) * 0.5 + 1;
+  },
+  backIn: function(k2) {
+    var s2 = 1.70158;
+    return k2 * k2 * ((s2 + 1) * k2 - s2);
+  },
+  backOut: function(k2) {
+    var s2 = 1.70158;
+    return --k2 * k2 * ((s2 + 1) * k2 + s2) + 1;
+  },
+  backInOut: function(k2) {
+    var s2 = 1.70158 * 1.525;
+    if ((k2 *= 2) < 1) {
+      return 0.5 * (k2 * k2 * ((s2 + 1) * k2 - s2));
+    }
+    return 0.5 * ((k2 -= 2) * k2 * ((s2 + 1) * k2 + s2) + 2);
+  },
+  bounceIn: function(k2) {
+    return 1 - easingFuncs.bounceOut(1 - k2);
+  },
+  bounceOut: function(k2) {
+    if (k2 < 1 / 2.75) {
+      return 7.5625 * k2 * k2;
+    } else if (k2 < 2 / 2.75) {
+      return 7.5625 * (k2 -= 1.5 / 2.75) * k2 + 0.75;
+    } else if (k2 < 2.5 / 2.75) {
+      return 7.5625 * (k2 -= 2.25 / 2.75) * k2 + 0.9375;
+    } else {
+      return 7.5625 * (k2 -= 2.625 / 2.75) * k2 + 0.984375;
+    }
+  },
+  bounceInOut: function(k2) {
+    if (k2 < 0.5) {
+      return easingFuncs.bounceIn(k2 * 2) * 0.5;
+    }
+    return easingFuncs.bounceOut(k2 * 2 - 1) * 0.5 + 0.5;
+  }
+};
+const easingFuncs$1 = easingFuncs;
+var mathPow$2 = Math.pow;
+var mathSqrt$3 = Math.sqrt;
+var EPSILON$4 = 1e-8;
+var EPSILON_NUMERIC = 1e-4;
+var THREE_SQRT = mathSqrt$3(3);
+var ONE_THIRD = 1 / 3;
+var _v0 = create$2();
+var _v1 = create$2();
+var _v2 = create$2();
+function isAroundZero$1(val) {
+  return val > -EPSILON$4 && val < EPSILON$4;
+}
+function isNotAroundZero$1(val) {
+  return val > EPSILON$4 || val < -EPSILON$4;
+}
+function cubicAt(p0, p1, p2, p3, t2) {
+  var onet = 1 - t2;
+  return onet * onet * (onet * p0 + 3 * t2 * p1) + t2 * t2 * (t2 * p3 + 3 * onet * p2);
+}
+function cubicDerivativeAt(p0, p1, p2, p3, t2) {
+  var onet = 1 - t2;
+  return 3 * (((p1 - p0) * onet + 2 * (p2 - p1) * t2) * onet + (p3 - p2) * t2 * t2);
+}
+function cubicRootAt(p0, p1, p2, p3, val, roots2) {
+  var a2 = p3 + 3 * (p1 - p2) - p0;
+  var b2 = 3 * (p2 - p1 * 2 + p0);
+  var c2 = 3 * (p1 - p0);
+  var d2 = p0 - val;
+  var A2 = b2 * b2 - 3 * a2 * c2;
+  var B2 = b2 * c2 - 9 * a2 * d2;
+  var C2 = c2 * c2 - 3 * b2 * d2;
+  var n2 = 0;
+  if (isAroundZero$1(A2) && isAroundZero$1(B2)) {
+    if (isAroundZero$1(b2)) {
+      roots2[0] = 0;
+    } else {
+      var t1 = -c2 / b2;
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    }
+  } else {
+    var disc = B2 * B2 - 4 * A2 * C2;
+    if (isAroundZero$1(disc)) {
+      var K2 = B2 / A2;
+      var t1 = -b2 / a2 + K2;
+      var t2 = -K2 / 2;
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        roots2[n2++] = t2;
+      }
+    } else if (disc > 0) {
+      var discSqrt = mathSqrt$3(disc);
+      var Y1 = A2 * b2 + 1.5 * a2 * (-B2 + discSqrt);
+      var Y2 = A2 * b2 + 1.5 * a2 * (-B2 - discSqrt);
+      if (Y1 < 0) {
+        Y1 = -mathPow$2(-Y1, ONE_THIRD);
+      } else {
+        Y1 = mathPow$2(Y1, ONE_THIRD);
+      }
+      if (Y2 < 0) {
+        Y2 = -mathPow$2(-Y2, ONE_THIRD);
+      } else {
+        Y2 = mathPow$2(Y2, ONE_THIRD);
+      }
+      var t1 = (-b2 - (Y1 + Y2)) / (3 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    } else {
+      var T2 = (2 * A2 * b2 - 3 * a2 * B2) / (2 * mathSqrt$3(A2 * A2 * A2));
+      var theta = Math.acos(T2) / 3;
+      var ASqrt = mathSqrt$3(A2);
+      var tmp = Math.cos(theta);
+      var t1 = (-b2 - 2 * ASqrt * tmp) / (3 * a2);
+      var t2 = (-b2 + ASqrt * (tmp + THREE_SQRT * Math.sin(theta))) / (3 * a2);
+      var t3 = (-b2 + ASqrt * (tmp - THREE_SQRT * Math.sin(theta))) / (3 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        roots2[n2++] = t2;
+      }
+      if (t3 >= 0 && t3 <= 1) {
+        roots2[n2++] = t3;
+      }
+    }
+  }
+  return n2;
+}
+function cubicExtrema(p0, p1, p2, p3, extrema2) {
+  var b2 = 6 * p2 - 12 * p1 + 6 * p0;
+  var a2 = 9 * p1 + 3 * p3 - 3 * p0 - 9 * p2;
+  var c2 = 3 * p1 - 3 * p0;
+  var n2 = 0;
+  if (isAroundZero$1(a2)) {
+    if (isNotAroundZero$1(b2)) {
+      var t1 = -c2 / b2;
+      if (t1 >= 0 && t1 <= 1) {
+        extrema2[n2++] = t1;
+      }
+    }
+  } else {
+    var disc = b2 * b2 - 4 * a2 * c2;
+    if (isAroundZero$1(disc)) {
+      extrema2[0] = -b2 / (2 * a2);
+    } else if (disc > 0) {
+      var discSqrt = mathSqrt$3(disc);
+      var t1 = (-b2 + discSqrt) / (2 * a2);
+      var t2 = (-b2 - discSqrt) / (2 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        extrema2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        extrema2[n2++] = t2;
+      }
+    }
+  }
+  return n2;
+}
+function cubicSubdivide(p0, p1, p2, p3, t2, out2) {
+  var p01 = (p1 - p0) * t2 + p0;
+  var p12 = (p2 - p1) * t2 + p1;
+  var p23 = (p3 - p2) * t2 + p2;
+  var p012 = (p12 - p01) * t2 + p01;
+  var p123 = (p23 - p12) * t2 + p12;
+  var p0123 = (p123 - p012) * t2 + p012;
+  out2[0] = p0;
+  out2[1] = p01;
+  out2[2] = p012;
+  out2[3] = p0123;
+  out2[4] = p0123;
+  out2[5] = p123;
+  out2[6] = p23;
+  out2[7] = p3;
+}
+function cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x4, y4, out2) {
+  var t2;
+  var interval = 5e-3;
+  var d2 = Infinity;
+  var prev;
+  var next;
+  var d1;
+  var d22;
+  _v0[0] = x4;
+  _v0[1] = y4;
+  for (var _t = 0; _t < 1; _t += 0.05) {
+    _v1[0] = cubicAt(x0, x1, x2, x3, _t);
+    _v1[1] = cubicAt(y0, y1, y2, y3, _t);
+    d1 = distSquare(_v0, _v1);
+    if (d1 < d2) {
+      t2 = _t;
+      d2 = d1;
+    }
+  }
+  d2 = Infinity;
+  for (var i2 = 0; i2 < 32; i2++) {
+    if (interval < EPSILON_NUMERIC) {
+      break;
+    }
+    prev = t2 - interval;
+    next = t2 + interval;
+    _v1[0] = cubicAt(x0, x1, x2, x3, prev);
+    _v1[1] = cubicAt(y0, y1, y2, y3, prev);
+    d1 = distSquare(_v1, _v0);
+    if (prev >= 0 && d1 < d2) {
+      t2 = prev;
+      d2 = d1;
+    } else {
+      _v2[0] = cubicAt(x0, x1, x2, x3, next);
+      _v2[1] = cubicAt(y0, y1, y2, y3, next);
+      d22 = distSquare(_v2, _v0);
+      if (next <= 1 && d22 < d2) {
+        t2 = next;
+        d2 = d22;
+      } else {
+        interval *= 0.5;
+      }
+    }
+  }
+  if (out2) {
+    out2[0] = cubicAt(x0, x1, x2, x3, t2);
+    out2[1] = cubicAt(y0, y1, y2, y3, t2);
+  }
+  return mathSqrt$3(d2);
+}
+function cubicLength(x0, y0, x1, y1, x2, y2, x3, y3, iteration) {
+  var px = x0;
+  var py = y0;
+  var d2 = 0;
+  var step2 = 1 / iteration;
+  for (var i2 = 1; i2 <= iteration; i2++) {
+    var t2 = i2 * step2;
+    var x4 = cubicAt(x0, x1, x2, x3, t2);
+    var y4 = cubicAt(y0, y1, y2, y3, t2);
+    var dx = x4 - px;
+    var dy = y4 - py;
+    d2 += Math.sqrt(dx * dx + dy * dy);
+    px = x4;
+    py = y4;
+  }
+  return d2;
+}
+function quadraticAt$1(p0, p1, p2, t2) {
+  var onet = 1 - t2;
+  return onet * (onet * p0 + 2 * t2 * p1) + t2 * t2 * p2;
+}
+function quadraticDerivativeAt(p0, p1, p2, t2) {
+  return 2 * ((1 - t2) * (p1 - p0) + t2 * (p2 - p1));
+}
+function quadraticRootAt(p0, p1, p2, val, roots2) {
+  var a2 = p0 - 2 * p1 + p2;
+  var b2 = 2 * (p1 - p0);
+  var c2 = p0 - val;
+  var n2 = 0;
+  if (isAroundZero$1(a2)) {
+    if (isNotAroundZero$1(b2)) {
+      var t1 = -c2 / b2;
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    }
+  } else {
+    var disc = b2 * b2 - 4 * a2 * c2;
+    if (isAroundZero$1(disc)) {
+      var t1 = -b2 / (2 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+    } else if (disc > 0) {
+      var discSqrt = mathSqrt$3(disc);
+      var t1 = (-b2 + discSqrt) / (2 * a2);
+      var t2 = (-b2 - discSqrt) / (2 * a2);
+      if (t1 >= 0 && t1 <= 1) {
+        roots2[n2++] = t1;
+      }
+      if (t2 >= 0 && t2 <= 1) {
+        roots2[n2++] = t2;
+      }
+    }
+  }
+  return n2;
+}
+function quadraticExtremum(p0, p1, p2) {
+  var divider = p0 + p2 - 2 * p1;
+  if (divider === 0) {
+    return 0.5;
+  } else {
+    return (p0 - p1) / divider;
+  }
+}
+function quadraticSubdivide(p0, p1, p2, t2, out2) {
+  var p01 = (p1 - p0) * t2 + p0;
+  var p12 = (p2 - p1) * t2 + p1;
+  var p012 = (p12 - p01) * t2 + p01;
+  out2[0] = p0;
+  out2[1] = p01;
+  out2[2] = p012;
+  out2[3] = p012;
+  out2[4] = p12;
+  out2[5] = p2;
+}
+function quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, out2) {
+  var t2;
+  var interval = 5e-3;
+  var d2 = Infinity;
+  _v0[0] = x3;
+  _v0[1] = y3;
+  for (var _t = 0; _t < 1; _t += 0.05) {
+    _v1[0] = quadraticAt$1(x0, x1, x2, _t);
+    _v1[1] = quadraticAt$1(y0, y1, y2, _t);
+    var d1 = distSquare(_v0, _v1);
+    if (d1 < d2) {
+      t2 = _t;
+      d2 = d1;
+    }
+  }
+  d2 = Infinity;
+  for (var i2 = 0; i2 < 32; i2++) {
+    if (interval < EPSILON_NUMERIC) {
+      break;
+    }
+    var prev = t2 - interval;
+    var next = t2 + interval;
+    _v1[0] = quadraticAt$1(x0, x1, x2, prev);
+    _v1[1] = quadraticAt$1(y0, y1, y2, prev);
+    var d1 = distSquare(_v1, _v0);
+    if (prev >= 0 && d1 < d2) {
+      t2 = prev;
+      d2 = d1;
+    } else {
+      _v2[0] = quadraticAt$1(x0, x1, x2, next);
+      _v2[1] = quadraticAt$1(y0, y1, y2, next);
+      var d22 = distSquare(_v2, _v0);
+      if (next <= 1 && d22 < d2) {
+        t2 = next;
+        d2 = d22;
+      } else {
+        interval *= 0.5;
+      }
+    }
+  }
+  if (out2) {
+    out2[0] = quadraticAt$1(x0, x1, x2, t2);
+    out2[1] = quadraticAt$1(y0, y1, y2, t2);
+  }
+  return mathSqrt$3(d2);
+}
+function quadraticLength(x0, y0, x1, y1, x2, y2, iteration) {
+  var px = x0;
+  var py = y0;
+  var d2 = 0;
+  var step2 = 1 / iteration;
+  for (var i2 = 1; i2 <= iteration; i2++) {
+    var t2 = i2 * step2;
+    var x3 = quadraticAt$1(x0, x1, x2, t2);
+    var y3 = quadraticAt$1(y0, y1, y2, t2);
+    var dx = x3 - px;
+    var dy = y3 - py;
+    d2 += Math.sqrt(dx * dx + dy * dy);
+    px = x3;
+    py = y3;
+  }
+  return d2;
+}
+var regexp = /cubic-bezier\(([0-9,\.e ]+)\)/;
+function createCubicEasingFunc(cubicEasingStr) {
+  var cubic2 = cubicEasingStr && regexp.exec(cubicEasingStr);
+  if (cubic2) {
+    var points2 = cubic2[1].split(",");
+    var a_1 = +trim$2(points2[0]);
+    var b_1 = +trim$2(points2[1]);
+    var c_1 = +trim$2(points2[2]);
+    var d_1 = +trim$2(points2[3]);
+    if (isNaN(a_1 + b_1 + c_1 + d_1)) {
+      return;
+    }
+    var roots_1 = [];
+    return function(p2) {
+      return p2 <= 0 ? 0 : p2 >= 1 ? 1 : cubicRootAt(0, a_1, c_1, 1, p2, roots_1) && cubicAt(0, b_1, d_1, 1, roots_1[0]);
+    };
+  }
+}
+var Clip = function() {
+  function Clip2(opts2) {
+    this._inited = false;
+    this._startTime = 0;
+    this._pausedTime = 0;
+    this._paused = false;
+    this._life = opts2.life || 1e3;
+    this._delay = opts2.delay || 0;
+    this.loop = opts2.loop || false;
+    this.onframe = opts2.onframe || noop$1;
+    this.ondestroy = opts2.ondestroy || noop$1;
+    this.onrestart = opts2.onrestart || noop$1;
+    opts2.easing && this.setEasing(opts2.easing);
+  }
+  Clip2.prototype.step = function(globalTime, deltaTime) {
+    if (!this._inited) {
+      this._startTime = globalTime + this._delay;
+      this._inited = true;
+    }
+    if (this._paused) {
+      this._pausedTime += deltaTime;
+      return;
+    }
+    var life = this._life;
+    var elapsedTime = globalTime - this._startTime - this._pausedTime;
+    var percent = elapsedTime / life;
+    if (percent < 0) {
+      percent = 0;
+    }
+    percent = Math.min(percent, 1);
+    var easingFunc = this.easingFunc;
+    var schedule = easingFunc ? easingFunc(percent) : percent;
+    this.onframe(schedule);
+    if (percent === 1) {
+      if (this.loop) {
+        var remainder = elapsedTime % life;
+        this._startTime = globalTime - remainder;
+        this._pausedTime = 0;
+        this.onrestart();
+      } else {
+        return true;
+      }
+    }
+    return false;
+  };
+  Clip2.prototype.pause = function() {
+    this._paused = true;
+  };
+  Clip2.prototype.resume = function() {
+    this._paused = false;
+  };
+  Clip2.prototype.setEasing = function(easing2) {
+    this.easing = easing2;
+    this.easingFunc = isFunction$1(easing2) ? easing2 : easingFuncs$1[easing2] || createCubicEasingFunc(easing2);
+  };
+  return Clip2;
+}();
+const Clip$1 = Clip;
+var Entry = function() {
+  function Entry2(val) {
+    this.value = val;
+  }
+  return Entry2;
+}();
+var LinkedList = function() {
+  function LinkedList2() {
+    this._len = 0;
+  }
+  LinkedList2.prototype.insert = function(val) {
+    var entry = new Entry(val);
+    this.insertEntry(entry);
+    return entry;
+  };
+  LinkedList2.prototype.insertEntry = function(entry) {
+    if (!this.head) {
+      this.head = this.tail = entry;
+    } else {
+      this.tail.next = entry;
+      entry.prev = this.tail;
+      entry.next = null;
+      this.tail = entry;
+    }
+    this._len++;
+  };
+  LinkedList2.prototype.remove = function(entry) {
+    var prev = entry.prev;
+    var next = entry.next;
+    if (prev) {
+      prev.next = next;
+    } else {
+      this.head = next;
+    }
+    if (next) {
+      next.prev = prev;
+    } else {
+      this.tail = prev;
+    }
+    entry.next = entry.prev = null;
+    this._len--;
+  };
+  LinkedList2.prototype.len = function() {
+    return this._len;
+  };
+  LinkedList2.prototype.clear = function() {
+    this.head = this.tail = null;
+    this._len = 0;
+  };
+  return LinkedList2;
+}();
+var LRU = function() {
+  function LRU2(maxSize) {
+    this._list = new LinkedList();
+    this._maxSize = 10;
+    this._map = {};
+    this._maxSize = maxSize;
+  }
+  LRU2.prototype.put = function(key2, value) {
+    var list2 = this._list;
+    var map2 = this._map;
+    var removed = null;
+    if (map2[key2] == null) {
+      var len2 = list2.len();
+      var entry = this._lastRemovedEntry;
+      if (len2 >= this._maxSize && len2 > 0) {
+        var leastUsedEntry = list2.head;
+        list2.remove(leastUsedEntry);
+        delete map2[leastUsedEntry.key];
+        removed = leastUsedEntry.value;
+        this._lastRemovedEntry = leastUsedEntry;
+      }
+      if (entry) {
+        entry.value = value;
+      } else {
+        entry = new Entry(value);
+      }
+      entry.key = key2;
+      list2.insertEntry(entry);
+      map2[key2] = entry;
+    }
+    return removed;
+  };
+  LRU2.prototype.get = function(key2) {
+    var entry = this._map[key2];
+    var list2 = this._list;
+    if (entry != null) {
+      if (entry !== list2.tail) {
+        list2.remove(entry);
+        list2.insertEntry(entry);
+      }
+      return entry.value;
+    }
+  };
+  LRU2.prototype.clear = function() {
+    this._list.clear();
+    this._map = {};
+  };
+  LRU2.prototype.len = function() {
+    return this._list.len();
+  };
+  return LRU2;
+}();
+const LRU$1 = LRU;
+var kCSSColorTable = {
+  "transparent": [0, 0, 0, 0],
+  "aliceblue": [240, 248, 255, 1],
+  "antiquewhite": [250, 235, 215, 1],
+  "aqua": [0, 255, 255, 1],
+  "aquamarine": [127, 255, 212, 1],
+  "azure": [240, 255, 255, 1],
+  "beige": [245, 245, 220, 1],
+  "bisque": [255, 228, 196, 1],
+  "black": [0, 0, 0, 1],
+  "blanchedalmond": [255, 235, 205, 1],
+  "blue": [0, 0, 255, 1],
+  "blueviolet": [138, 43, 226, 1],
+  "brown": [165, 42, 42, 1],
+  "burlywood": [222, 184, 135, 1],
+  "cadetblue": [95, 158, 160, 1],
+  "chartreuse": [127, 255, 0, 1],
+  "chocolate": [210, 105, 30, 1],
+  "coral": [255, 127, 80, 1],
+  "cornflowerblue": [100, 149, 237, 1],
+  "cornsilk": [255, 248, 220, 1],
+  "crimson": [220, 20, 60, 1],
+  "cyan": [0, 255, 255, 1],
+  "darkblue": [0, 0, 139, 1],
+  "darkcyan": [0, 139, 139, 1],
+  "darkgoldenrod": [184, 134, 11, 1],
+  "darkgray": [169, 169, 169, 1],
+  "darkgreen": [0, 100, 0, 1],
+  "darkgrey": [169, 169, 169, 1],
+  "darkkhaki": [189, 183, 107, 1],
+  "darkmagenta": [139, 0, 139, 1],
+  "darkolivegreen": [85, 107, 47, 1],
+  "darkorange": [255, 140, 0, 1],
+  "darkorchid": [153, 50, 204, 1],
+  "darkred": [139, 0, 0, 1],
+  "darksalmon": [233, 150, 122, 1],
+  "darkseagreen": [143, 188, 143, 1],
+  "darkslateblue": [72, 61, 139, 1],
+  "darkslategray": [47, 79, 79, 1],
+  "darkslategrey": [47, 79, 79, 1],
+  "darkturquoise": [0, 206, 209, 1],
+  "darkviolet": [148, 0, 211, 1],
+  "deeppink": [255, 20, 147, 1],
+  "deepskyblue": [0, 191, 255, 1],
+  "dimgray": [105, 105, 105, 1],
+  "dimgrey": [105, 105, 105, 1],
+  "dodgerblue": [30, 144, 255, 1],
+  "firebrick": [178, 34, 34, 1],
+  "floralwhite": [255, 250, 240, 1],
+  "forestgreen": [34, 139, 34, 1],
+  "fuchsia": [255, 0, 255, 1],
+  "gainsboro": [220, 220, 220, 1],
+  "ghostwhite": [248, 248, 255, 1],
+  "gold": [255, 215, 0, 1],
+  "goldenrod": [218, 165, 32, 1],
+  "gray": [128, 128, 128, 1],
+  "green": [0, 128, 0, 1],
+  "greenyellow": [173, 255, 47, 1],
+  "grey": [128, 128, 128, 1],
+  "honeydew": [240, 255, 240, 1],
+  "hotpink": [255, 105, 180, 1],
+  "indianred": [205, 92, 92, 1],
+  "indigo": [75, 0, 130, 1],
+  "ivory": [255, 255, 240, 1],
+  "khaki": [240, 230, 140, 1],
+  "lavender": [230, 230, 250, 1],
+  "lavenderblush": [255, 240, 245, 1],
+  "lawngreen": [124, 252, 0, 1],
+  "lemonchiffon": [255, 250, 205, 1],
+  "lightblue": [173, 216, 230, 1],
+  "lightcoral": [240, 128, 128, 1],
+  "lightcyan": [224, 255, 255, 1],
+  "lightgoldenrodyellow": [250, 250, 210, 1],
+  "lightgray": [211, 211, 211, 1],
+  "lightgreen": [144, 238, 144, 1],
+  "lightgrey": [211, 211, 211, 1],
+  "lightpink": [255, 182, 193, 1],
+  "lightsalmon": [255, 160, 122, 1],
+  "lightseagreen": [32, 178, 170, 1],
+  "lightskyblue": [135, 206, 250, 1],
+  "lightslategray": [119, 136, 153, 1],
+  "lightslategrey": [119, 136, 153, 1],
+  "lightsteelblue": [176, 196, 222, 1],
+  "lightyellow": [255, 255, 224, 1],
+  "lime": [0, 255, 0, 1],
+  "limegreen": [50, 205, 50, 1],
+  "linen": [250, 240, 230, 1],
+  "magenta": [255, 0, 255, 1],
+  "maroon": [128, 0, 0, 1],
+  "mediumaquamarine": [102, 205, 170, 1],
+  "mediumblue": [0, 0, 205, 1],
+  "mediumorchid": [186, 85, 211, 1],
+  "mediumpurple": [147, 112, 219, 1],
+  "mediumseagreen": [60, 179, 113, 1],
+  "mediumslateblue": [123, 104, 238, 1],
+  "mediumspringgreen": [0, 250, 154, 1],
+  "mediumturquoise": [72, 209, 204, 1],
+  "mediumvioletred": [199, 21, 133, 1],
+  "midnightblue": [25, 25, 112, 1],
+  "mintcream": [245, 255, 250, 1],
+  "mistyrose": [255, 228, 225, 1],
+  "moccasin": [255, 228, 181, 1],
+  "navajowhite": [255, 222, 173, 1],
+  "navy": [0, 0, 128, 1],
+  "oldlace": [253, 245, 230, 1],
+  "olive": [128, 128, 0, 1],
+  "olivedrab": [107, 142, 35, 1],
+  "orange": [255, 165, 0, 1],
+  "orangered": [255, 69, 0, 1],
+  "orchid": [218, 112, 214, 1],
+  "palegoldenrod": [238, 232, 170, 1],
+  "palegreen": [152, 251, 152, 1],
+  "paleturquoise": [175, 238, 238, 1],
+  "palevioletred": [219, 112, 147, 1],
+  "papayawhip": [255, 239, 213, 1],
+  "peachpuff": [255, 218, 185, 1],
+  "peru": [205, 133, 63, 1],
+  "pink": [255, 192, 203, 1],
+  "plum": [221, 160, 221, 1],
+  "powderblue": [176, 224, 230, 1],
+  "purple": [128, 0, 128, 1],
+  "red": [255, 0, 0, 1],
+  "rosybrown": [188, 143, 143, 1],
+  "royalblue": [65, 105, 225, 1],
+  "saddlebrown": [139, 69, 19, 1],
+  "salmon": [250, 128, 114, 1],
+  "sandybrown": [244, 164, 96, 1],
+  "seagreen": [46, 139, 87, 1],
+  "seashell": [255, 245, 238, 1],
+  "sienna": [160, 82, 45, 1],
+  "silver": [192, 192, 192, 1],
+  "skyblue": [135, 206, 235, 1],
+  "slateblue": [106, 90, 205, 1],
+  "slategray": [112, 128, 144, 1],
+  "slategrey": [112, 128, 144, 1],
+  "snow": [255, 250, 250, 1],
+  "springgreen": [0, 255, 127, 1],
+  "steelblue": [70, 130, 180, 1],
+  "tan": [210, 180, 140, 1],
+  "teal": [0, 128, 128, 1],
+  "thistle": [216, 191, 216, 1],
+  "tomato": [255, 99, 71, 1],
+  "turquoise": [64, 224, 208, 1],
+  "violet": [238, 130, 238, 1],
+  "wheat": [245, 222, 179, 1],
+  "white": [255, 255, 255, 1],
+  "whitesmoke": [245, 245, 245, 1],
+  "yellow": [255, 255, 0, 1],
+  "yellowgreen": [154, 205, 50, 1]
+};
+function clampCssByte(i2) {
+  i2 = Math.round(i2);
+  return i2 < 0 ? 0 : i2 > 255 ? 255 : i2;
+}
+function clampCssAngle(i2) {
+  i2 = Math.round(i2);
+  return i2 < 0 ? 0 : i2 > 360 ? 360 : i2;
+}
+function clampCssFloat(f2) {
+  return f2 < 0 ? 0 : f2 > 1 ? 1 : f2;
+}
+function parseCssInt(val) {
+  var str = val;
+  if (str.length && str.charAt(str.length - 1) === "%") {
+    return clampCssByte(parseFloat(str) / 100 * 255);
+  }
+  return clampCssByte(parseInt(str, 10));
+}
+function parseCssFloat(val) {
+  var str = val;
+  if (str.length && str.charAt(str.length - 1) === "%") {
+    return clampCssFloat(parseFloat(str) / 100);
+  }
+  return clampCssFloat(parseFloat(str));
+}
+function cssHueToRgb(m1, m2, h3) {
+  if (h3 < 0) {
+    h3 += 1;
+  } else if (h3 > 1) {
+    h3 -= 1;
+  }
+  if (h3 * 6 < 1) {
+    return m1 + (m2 - m1) * h3 * 6;
+  }
+  if (h3 * 2 < 1) {
+    return m2;
+  }
+  if (h3 * 3 < 2) {
+    return m1 + (m2 - m1) * (2 / 3 - h3) * 6;
+  }
+  return m1;
+}
+function lerpNumber(a2, b2, p2) {
+  return a2 + (b2 - a2) * p2;
+}
+function setRgba(out2, r2, g2, b2, a2) {
+  out2[0] = r2;
+  out2[1] = g2;
+  out2[2] = b2;
+  out2[3] = a2;
+  return out2;
+}
+function copyRgba(out2, a2) {
+  out2[0] = a2[0];
+  out2[1] = a2[1];
+  out2[2] = a2[2];
+  out2[3] = a2[3];
+  return out2;
+}
+var colorCache = new LRU$1(20);
+var lastRemovedArr = null;
+function putToCache(colorStr, rgbaArr) {
+  if (lastRemovedArr) {
+    copyRgba(lastRemovedArr, rgbaArr);
+  }
+  lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || rgbaArr.slice());
+}
+function parse$1(colorStr, rgbaArr) {
+  if (!colorStr) {
+    return;
+  }
+  rgbaArr = rgbaArr || [];
+  var cached2 = colorCache.get(colorStr);
+  if (cached2) {
+    return copyRgba(rgbaArr, cached2);
+  }
+  colorStr = colorStr + "";
+  var str = colorStr.replace(/ /g, "").toLowerCase();
+  if (str in kCSSColorTable) {
+    copyRgba(rgbaArr, kCSSColorTable[str]);
+    putToCache(colorStr, rgbaArr);
+    return rgbaArr;
+  }
+  var strLen = str.length;
+  if (str.charAt(0) === "#") {
+    if (strLen === 4 || strLen === 5) {
+      var iv = parseInt(str.slice(1, 4), 16);
+      if (!(iv >= 0 && iv <= 4095)) {
+        setRgba(rgbaArr, 0, 0, 0, 1);
+        return;
+      }
+      setRgba(rgbaArr, (iv & 3840) >> 4 | (iv & 3840) >> 8, iv & 240 | (iv & 240) >> 4, iv & 15 | (iv & 15) << 4, strLen === 5 ? parseInt(str.slice(4), 16) / 15 : 1);
+      putToCache(colorStr, rgbaArr);
+      return rgbaArr;
+    } else if (strLen === 7 || strLen === 9) {
+      var iv = parseInt(str.slice(1, 7), 16);
+      if (!(iv >= 0 && iv <= 16777215)) {
+        setRgba(rgbaArr, 0, 0, 0, 1);
+        return;
+      }
+      setRgba(rgbaArr, (iv & 16711680) >> 16, (iv & 65280) >> 8, iv & 255, strLen === 9 ? parseInt(str.slice(7), 16) / 255 : 1);
+      putToCache(colorStr, rgbaArr);
+      return rgbaArr;
+    }
+    return;
+  }
+  var op = str.indexOf("(");
+  var ep = str.indexOf(")");
+  if (op !== -1 && ep + 1 === strLen) {
+    var fname = str.substr(0, op);
+    var params2 = str.substr(op + 1, ep - (op + 1)).split(",");
+    var alpha = 1;
+    switch (fname) {
+      case "rgba":
+        if (params2.length !== 4) {
+          return params2.length === 3 ? setRgba(rgbaArr, +params2[0], +params2[1], +params2[2], 1) : setRgba(rgbaArr, 0, 0, 0, 1);
+        }
+        alpha = parseCssFloat(params2.pop());
+      case "rgb":
+        if (params2.length >= 3) {
+          setRgba(rgbaArr, parseCssInt(params2[0]), parseCssInt(params2[1]), parseCssInt(params2[2]), params2.length === 3 ? alpha : parseCssFloat(params2[3]));
+          putToCache(colorStr, rgbaArr);
+          return rgbaArr;
+        } else {
+          setRgba(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+      case "hsla":
+        if (params2.length !== 4) {
+          setRgba(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+        params2[3] = parseCssFloat(params2[3]);
+        hsla2rgba(params2, rgbaArr);
+        putToCache(colorStr, rgbaArr);
+        return rgbaArr;
+      case "hsl":
+        if (params2.length !== 3) {
+          setRgba(rgbaArr, 0, 0, 0, 1);
+          return;
+        }
+        hsla2rgba(params2, rgbaArr);
+        putToCache(colorStr, rgbaArr);
+        return rgbaArr;
+      default:
+        return;
+    }
+  }
+  setRgba(rgbaArr, 0, 0, 0, 1);
+  return;
+}
+function hsla2rgba(hsla, rgba) {
+  var h3 = (parseFloat(hsla[0]) % 360 + 360) % 360 / 360;
+  var s2 = parseCssFloat(hsla[1]);
+  var l2 = parseCssFloat(hsla[2]);
+  var m2 = l2 <= 0.5 ? l2 * (s2 + 1) : l2 + s2 - l2 * s2;
+  var m1 = l2 * 2 - m2;
+  rgba = rgba || [];
+  setRgba(rgba, clampCssByte(cssHueToRgb(m1, m2, h3 + 1 / 3) * 255), clampCssByte(cssHueToRgb(m1, m2, h3) * 255), clampCssByte(cssHueToRgb(m1, m2, h3 - 1 / 3) * 255), 1);
+  if (hsla.length === 4) {
+    rgba[3] = hsla[3];
+  }
+  return rgba;
+}
+function rgba2hsla(rgba) {
+  if (!rgba) {
+    return;
+  }
+  var R2 = rgba[0] / 255;
+  var G2 = rgba[1] / 255;
+  var B2 = rgba[2] / 255;
+  var vMin = Math.min(R2, G2, B2);
+  var vMax = Math.max(R2, G2, B2);
+  var delta = vMax - vMin;
+  var L2 = (vMax + vMin) / 2;
+  var H2;
+  var S2;
+  if (delta === 0) {
+    H2 = 0;
+    S2 = 0;
+  } else {
+    if (L2 < 0.5) {
+      S2 = delta / (vMax + vMin);
+    } else {
+      S2 = delta / (2 - vMax - vMin);
+    }
+    var deltaR = ((vMax - R2) / 6 + delta / 2) / delta;
+    var deltaG = ((vMax - G2) / 6 + delta / 2) / delta;
+    var deltaB = ((vMax - B2) / 6 + delta / 2) / delta;
+    if (R2 === vMax) {
+      H2 = deltaB - deltaG;
+    } else if (G2 === vMax) {
+      H2 = 1 / 3 + deltaR - deltaB;
+    } else if (B2 === vMax) {
+      H2 = 2 / 3 + deltaG - deltaR;
+    }
+    if (H2 < 0) {
+      H2 += 1;
+    }
+    if (H2 > 1) {
+      H2 -= 1;
+    }
+  }
+  var hsla = [H2 * 360, S2, L2];
+  if (rgba[3] != null) {
+    hsla.push(rgba[3]);
+  }
+  return hsla;
+}
+function lift(color2, level) {
+  var colorArr = parse$1(color2);
+  if (colorArr) {
+    for (var i2 = 0; i2 < 3; i2++) {
+      if (level < 0) {
+        colorArr[i2] = colorArr[i2] * (1 - level) | 0;
+      } else {
+        colorArr[i2] = (255 - colorArr[i2]) * level + colorArr[i2] | 0;
+      }
+      if (colorArr[i2] > 255) {
+        colorArr[i2] = 255;
+      } else if (colorArr[i2] < 0) {
+        colorArr[i2] = 0;
+      }
+    }
+    return stringify(colorArr, colorArr.length === 4 ? "rgba" : "rgb");
+  }
+}
+function toHex(color2) {
+  var colorArr = parse$1(color2);
+  if (colorArr) {
+    return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + +colorArr[2]).toString(16).slice(1);
+  }
+}
+function fastLerp(normalizedValue, colors, out2) {
+  if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {
+    return;
+  }
+  out2 = out2 || [];
+  var value = normalizedValue * (colors.length - 1);
+  var leftIndex = Math.floor(value);
+  var rightIndex = Math.ceil(value);
+  var leftColor = colors[leftIndex];
+  var rightColor = colors[rightIndex];
+  var dv = value - leftIndex;
+  out2[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));
+  out2[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));
+  out2[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));
+  out2[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));
+  return out2;
+}
+var fastMapToColor = fastLerp;
+function lerp(normalizedValue, colors, fullOutput) {
+  if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {
+    return;
+  }
+  var value = normalizedValue * (colors.length - 1);
+  var leftIndex = Math.floor(value);
+  var rightIndex = Math.ceil(value);
+  var leftColor = parse$1(colors[leftIndex]);
+  var rightColor = parse$1(colors[rightIndex]);
+  var dv = value - leftIndex;
+  var color2 = stringify([
+    clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),
+    clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),
+    clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),
+    clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))
+  ], "rgba");
+  return fullOutput ? {
+    color: color2,
+    leftIndex,
+    rightIndex,
+    value
+  } : color2;
+}
+var mapToColor = lerp;
+function modifyHSL(color2, h3, s2, l2) {
+  var colorArr = parse$1(color2);
+  if (color2) {
+    colorArr = rgba2hsla(colorArr);
+    h3 != null && (colorArr[0] = clampCssAngle(h3));
+    s2 != null && (colorArr[1] = parseCssFloat(s2));
+    l2 != null && (colorArr[2] = parseCssFloat(l2));
+    return stringify(hsla2rgba(colorArr), "rgba");
+  }
+}
+function modifyAlpha(color2, alpha) {
+  var colorArr = parse$1(color2);
+  if (colorArr && alpha != null) {
+    colorArr[3] = clampCssFloat(alpha);
+    return stringify(colorArr, "rgba");
+  }
+}
+function stringify(arrColor, type2) {
+  if (!arrColor || !arrColor.length) {
+    return;
+  }
+  var colorStr = arrColor[0] + "," + arrColor[1] + "," + arrColor[2];
+  if (type2 === "rgba" || type2 === "hsva" || type2 === "hsla") {
+    colorStr += "," + arrColor[3];
+  }
+  return type2 + "(" + colorStr + ")";
+}
+function lum(color2, backgroundLum) {
+  var arr = parse$1(color2);
+  return arr ? (0.299 * arr[0] + 0.587 * arr[1] + 0.114 * arr[2]) * arr[3] / 255 + (1 - arr[3]) * backgroundLum : 0;
+}
+function random() {
+  return stringify([
+    Math.round(Math.random() * 255),
+    Math.round(Math.random() * 255),
+    Math.round(Math.random() * 255)
+  ], "rgb");
+}
+const color = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  fastLerp,
+  fastMapToColor,
+  lerp,
+  lift,
+  lum,
+  mapToColor,
+  modifyAlpha,
+  modifyHSL,
+  parse: parse$1,
+  random,
+  stringify,
+  toHex
+}, Symbol.toStringTag, { value: "Module" }));
+var mathRound$1 = Math.round;
+function normalizeColor(color2) {
+  var opacity;
+  if (!color2 || color2 === "transparent") {
+    color2 = "none";
+  } else if (typeof color2 === "string" && color2.indexOf("rgba") > -1) {
+    var arr = parse$1(color2);
+    if (arr) {
+      color2 = "rgb(" + arr[0] + "," + arr[1] + "," + arr[2] + ")";
+      opacity = arr[3];
+    }
+  }
+  return {
+    color: color2,
+    opacity: opacity == null ? 1 : opacity
+  };
+}
+var EPSILON$3 = 1e-4;
+function isAroundZero(transform3) {
+  return transform3 < EPSILON$3 && transform3 > -EPSILON$3;
+}
+function round3(transform3) {
+  return mathRound$1(transform3 * 1e3) / 1e3;
+}
+function round4(transform3) {
+  return mathRound$1(transform3 * 1e4) / 1e4;
+}
+function getMatrixStr(m2) {
+  return "matrix(" + round3(m2[0]) + "," + round3(m2[1]) + "," + round3(m2[2]) + "," + round3(m2[3]) + "," + round4(m2[4]) + "," + round4(m2[5]) + ")";
+}
+var TEXT_ALIGN_TO_ANCHOR = {
+  left: "start",
+  right: "end",
+  center: "middle",
+  middle: "middle"
+};
+function adjustTextY$1(y2, lineHeight, textBaseline) {
+  if (textBaseline === "top") {
+    y2 += lineHeight / 2;
+  } else if (textBaseline === "bottom") {
+    y2 -= lineHeight / 2;
+  }
+  return y2;
+}
+function hasShadow(style2) {
+  return style2 && (style2.shadowBlur || style2.shadowOffsetX || style2.shadowOffsetY);
+}
+function getShadowKey(displayable) {
+  var style2 = displayable.style;
+  var globalScale = displayable.getGlobalScale();
+  return [
+    style2.shadowColor,
+    (style2.shadowBlur || 0).toFixed(2),
+    (style2.shadowOffsetX || 0).toFixed(2),
+    (style2.shadowOffsetY || 0).toFixed(2),
+    globalScale[0],
+    globalScale[1]
+  ].join(",");
+}
+function isImagePattern(val) {
+  return val && !!val.image;
+}
+function isSVGPattern(val) {
+  return val && !!val.svgElement;
+}
+function isPattern(val) {
+  return isImagePattern(val) || isSVGPattern(val);
+}
+function isLinearGradient(val) {
+  return val.type === "linear";
+}
+function isRadialGradient(val) {
+  return val.type === "radial";
+}
+function isGradient(val) {
+  return val && (val.type === "linear" || val.type === "radial");
+}
+function getIdURL(id) {
+  return "url(#" + id + ")";
+}
+function getPathPrecision(el) {
+  var scale2 = el.getGlobalScale();
+  var size = Math.max(scale2[0], scale2[1]);
+  return Math.max(Math.ceil(Math.log(size) / Math.log(10)), 1);
+}
+function getSRTTransformString(transform3) {
+  var x2 = transform3.x || 0;
+  var y2 = transform3.y || 0;
+  var rotation = (transform3.rotation || 0) * RADIAN_TO_DEGREE;
+  var scaleX = retrieve2(transform3.scaleX, 1);
+  var scaleY = retrieve2(transform3.scaleY, 1);
+  var skewX = transform3.skewX || 0;
+  var skewY = transform3.skewY || 0;
+  var res = [];
+  if (x2 || y2) {
+    res.push("translate(" + x2 + "px," + y2 + "px)");
+  }
+  if (rotation) {
+    res.push("rotate(" + rotation + ")");
+  }
+  if (scaleX !== 1 || scaleY !== 1) {
+    res.push("scale(" + scaleX + "," + scaleY + ")");
+  }
+  if (skewX || skewY) {
+    res.push("skew(" + mathRound$1(skewX * RADIAN_TO_DEGREE) + "deg, " + mathRound$1(skewY * RADIAN_TO_DEGREE) + "deg)");
+  }
+  return res.join(" ");
+}
+var encodeBase64 = function() {
+  if (env$1.hasGlobalWindow && isFunction$1(window.btoa)) {
+    return function(str) {
+      return window.btoa(unescape(encodeURIComponent(str)));
+    };
+  }
+  if (typeof Buffer !== "undefined") {
+    return function(str) {
+      return Buffer.from(str).toString("base64");
+    };
+  }
+  return function(str) {
+    return null;
+  };
+}();
+var arraySlice = Array.prototype.slice;
+function interpolateNumber$1(p0, p1, percent) {
+  return (p1 - p0) * percent + p0;
+}
+function interpolate1DArray(out2, p0, p1, percent) {
+  var len2 = p0.length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    out2[i2] = interpolateNumber$1(p0[i2], p1[i2], percent);
+  }
+  return out2;
+}
+function interpolate2DArray(out2, p0, p1, percent) {
+  var len2 = p0.length;
+  var len22 = len2 && p0[0].length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    if (!out2[i2]) {
+      out2[i2] = [];
+    }
+    for (var j2 = 0; j2 < len22; j2++) {
+      out2[i2][j2] = interpolateNumber$1(p0[i2][j2], p1[i2][j2], percent);
+    }
+  }
+  return out2;
+}
+function add1DArray(out2, p0, p1, sign) {
+  var len2 = p0.length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    out2[i2] = p0[i2] + p1[i2] * sign;
+  }
+  return out2;
+}
+function add2DArray(out2, p0, p1, sign) {
+  var len2 = p0.length;
+  var len22 = len2 && p0[0].length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    if (!out2[i2]) {
+      out2[i2] = [];
+    }
+    for (var j2 = 0; j2 < len22; j2++) {
+      out2[i2][j2] = p0[i2][j2] + p1[i2][j2] * sign;
+    }
+  }
+  return out2;
+}
+function fillColorStops(val0, val1) {
+  var len0 = val0.length;
+  var len1 = val1.length;
+  var shorterArr = len0 > len1 ? val1 : val0;
+  var shorterLen = Math.min(len0, len1);
+  var last = shorterArr[shorterLen - 1] || { color: [0, 0, 0, 0], offset: 0 };
+  for (var i2 = shorterLen; i2 < Math.max(len0, len1); i2++) {
+    shorterArr.push({
+      offset: last.offset,
+      color: last.color.slice()
+    });
+  }
+}
+function fillArray(val0, val1, arrDim) {
+  var arr0 = val0;
+  var arr1 = val1;
+  if (!arr0.push || !arr1.push) {
+    return;
+  }
+  var arr0Len = arr0.length;
+  var arr1Len = arr1.length;
+  if (arr0Len !== arr1Len) {
+    var isPreviousLarger = arr0Len > arr1Len;
+    if (isPreviousLarger) {
+      arr0.length = arr1Len;
+    } else {
+      for (var i2 = arr0Len; i2 < arr1Len; i2++) {
+        arr0.push(arrDim === 1 ? arr1[i2] : arraySlice.call(arr1[i2]));
+      }
+    }
+  }
+  var len2 = arr0[0] && arr0[0].length;
+  for (var i2 = 0; i2 < arr0.length; i2++) {
+    if (arrDim === 1) {
+      if (isNaN(arr0[i2])) {
+        arr0[i2] = arr1[i2];
+      }
+    } else {
+      for (var j2 = 0; j2 < len2; j2++) {
+        if (isNaN(arr0[i2][j2])) {
+          arr0[i2][j2] = arr1[i2][j2];
+        }
+      }
+    }
+  }
+}
+function cloneValue(value) {
+  if (isArrayLike(value)) {
+    var len2 = value.length;
+    if (isArrayLike(value[0])) {
+      var ret = [];
+      for (var i2 = 0; i2 < len2; i2++) {
+        ret.push(arraySlice.call(value[i2]));
+      }
+      return ret;
+    }
+    return arraySlice.call(value);
+  }
+  return value;
+}
+function rgba2String(rgba) {
+  rgba[0] = Math.floor(rgba[0]) || 0;
+  rgba[1] = Math.floor(rgba[1]) || 0;
+  rgba[2] = Math.floor(rgba[2]) || 0;
+  rgba[3] = rgba[3] == null ? 1 : rgba[3];
+  return "rgba(" + rgba.join(",") + ")";
+}
+function guessArrayDim(value) {
+  return isArrayLike(value && value[0]) ? 2 : 1;
+}
+var VALUE_TYPE_NUMBER = 0;
+var VALUE_TYPE_1D_ARRAY = 1;
+var VALUE_TYPE_2D_ARRAY = 2;
+var VALUE_TYPE_COLOR = 3;
+var VALUE_TYPE_LINEAR_GRADIENT = 4;
+var VALUE_TYPE_RADIAL_GRADIENT = 5;
+var VALUE_TYPE_UNKOWN = 6;
+function isGradientValueType(valType) {
+  return valType === VALUE_TYPE_LINEAR_GRADIENT || valType === VALUE_TYPE_RADIAL_GRADIENT;
+}
+function isArrayValueType(valType) {
+  return valType === VALUE_TYPE_1D_ARRAY || valType === VALUE_TYPE_2D_ARRAY;
+}
+var tmpRgba = [0, 0, 0, 0];
+var Track = function() {
+  function Track2(propName) {
+    this.keyframes = [];
+    this.discrete = false;
+    this._invalid = false;
+    this._needsSort = false;
+    this._lastFr = 0;
+    this._lastFrP = 0;
+    this.propName = propName;
+  }
+  Track2.prototype.isFinished = function() {
+    return this._finished;
+  };
+  Track2.prototype.setFinished = function() {
+    this._finished = true;
+    if (this._additiveTrack) {
+      this._additiveTrack.setFinished();
+    }
+  };
+  Track2.prototype.needsAnimate = function() {
+    return this.keyframes.length >= 1;
+  };
+  Track2.prototype.getAdditiveTrack = function() {
+    return this._additiveTrack;
+  };
+  Track2.prototype.addKeyframe = function(time2, rawValue, easing2) {
+    this._needsSort = true;
+    var keyframes = this.keyframes;
+    var len2 = keyframes.length;
+    var discrete = false;
+    var valType = VALUE_TYPE_UNKOWN;
+    var value = rawValue;
+    if (isArrayLike(rawValue)) {
+      var arrayDim = guessArrayDim(rawValue);
+      valType = arrayDim;
+      if (arrayDim === 1 && !isNumber$1(rawValue[0]) || arrayDim === 2 && !isNumber$1(rawValue[0][0])) {
+        discrete = true;
+      }
+    } else {
+      if (isNumber$1(rawValue) && !eqNaN(rawValue)) {
+        valType = VALUE_TYPE_NUMBER;
+      } else if (isString$1(rawValue)) {
+        if (!isNaN(+rawValue)) {
+          valType = VALUE_TYPE_NUMBER;
+        } else {
+          var colorArray = parse$1(rawValue);
+          if (colorArray) {
+            value = colorArray;
+            valType = VALUE_TYPE_COLOR;
+          }
+        }
+      } else if (isGradientObject(rawValue)) {
+        var parsedGradient = extend$1({}, value);
+        parsedGradient.colorStops = map$1(rawValue.colorStops, function(colorStop) {
+          return {
+            offset: colorStop.offset,
+            color: parse$1(colorStop.color)
+          };
+        });
+        if (isLinearGradient(rawValue)) {
+          valType = VALUE_TYPE_LINEAR_GRADIENT;
+        } else if (isRadialGradient(rawValue)) {
+          valType = VALUE_TYPE_RADIAL_GRADIENT;
+        }
+        value = parsedGradient;
+      }
+    }
+    if (len2 === 0) {
+      this.valType = valType;
+    } else if (valType !== this.valType || valType === VALUE_TYPE_UNKOWN) {
+      discrete = true;
+    }
+    this.discrete = this.discrete || discrete;
+    var kf = {
+      time: time2,
+      value,
+      rawValue,
+      percent: 0
+    };
+    if (easing2) {
+      kf.easing = easing2;
+      kf.easingFunc = isFunction$1(easing2) ? easing2 : easingFuncs$1[easing2] || createCubicEasingFunc(easing2);
+    }
+    keyframes.push(kf);
+    return kf;
+  };
+  Track2.prototype.prepare = function(maxTime, additiveTrack) {
+    var kfs = this.keyframes;
+    if (this._needsSort) {
+      kfs.sort(function(a2, b2) {
+        return a2.time - b2.time;
+      });
+    }
+    var valType = this.valType;
+    var kfsLen = kfs.length;
+    var lastKf = kfs[kfsLen - 1];
+    var isDiscrete = this.discrete;
+    var isArr = isArrayValueType(valType);
+    var isGradient2 = isGradientValueType(valType);
+    for (var i2 = 0; i2 < kfsLen; i2++) {
+      var kf = kfs[i2];
+      var value = kf.value;
+      var lastValue = lastKf.value;
+      kf.percent = kf.time / maxTime;
+      if (!isDiscrete) {
+        if (isArr && i2 !== kfsLen - 1) {
+          fillArray(value, lastValue, valType);
+        } else if (isGradient2) {
+          fillColorStops(value.colorStops, lastValue.colorStops);
+        }
+      }
+    }
+    if (!isDiscrete && valType !== VALUE_TYPE_RADIAL_GRADIENT && additiveTrack && this.needsAnimate() && additiveTrack.needsAnimate() && valType === additiveTrack.valType && !additiveTrack._finished) {
+      this._additiveTrack = additiveTrack;
+      var startValue = kfs[0].value;
+      for (var i2 = 0; i2 < kfsLen; i2++) {
+        if (valType === VALUE_TYPE_NUMBER) {
+          kfs[i2].additiveValue = kfs[i2].value - startValue;
+        } else if (valType === VALUE_TYPE_COLOR) {
+          kfs[i2].additiveValue = add1DArray([], kfs[i2].value, startValue, -1);
+        } else if (isArrayValueType(valType)) {
+          kfs[i2].additiveValue = valType === VALUE_TYPE_1D_ARRAY ? add1DArray([], kfs[i2].value, startValue, -1) : add2DArray([], kfs[i2].value, startValue, -1);
+        }
+      }
+    }
+  };
+  Track2.prototype.step = function(target, percent) {
+    if (this._finished) {
+      return;
+    }
+    if (this._additiveTrack && this._additiveTrack._finished) {
+      this._additiveTrack = null;
+    }
+    var isAdditive = this._additiveTrack != null;
+    var valueKey = isAdditive ? "additiveValue" : "value";
+    var valType = this.valType;
+    var keyframes = this.keyframes;
+    var kfsNum = keyframes.length;
+    var propName = this.propName;
+    var isValueColor = valType === VALUE_TYPE_COLOR;
+    var frameIdx;
+    var lastFrame = this._lastFr;
+    var mathMin2 = Math.min;
+    var frame;
+    var nextFrame;
+    if (kfsNum === 1) {
+      frame = nextFrame = keyframes[0];
+    } else {
+      if (percent < 0) {
+        frameIdx = 0;
+      } else if (percent < this._lastFrP) {
+        var start2 = mathMin2(lastFrame + 1, kfsNum - 1);
+        for (frameIdx = start2; frameIdx >= 0; frameIdx--) {
+          if (keyframes[frameIdx].percent <= percent) {
+            break;
+          }
+        }
+        frameIdx = mathMin2(frameIdx, kfsNum - 2);
+      } else {
+        for (frameIdx = lastFrame; frameIdx < kfsNum; frameIdx++) {
+          if (keyframes[frameIdx].percent > percent) {
+            break;
+          }
+        }
+        frameIdx = mathMin2(frameIdx - 1, kfsNum - 2);
+      }
+      nextFrame = keyframes[frameIdx + 1];
+      frame = keyframes[frameIdx];
+    }
+    if (!(frame && nextFrame)) {
+      return;
+    }
+    this._lastFr = frameIdx;
+    this._lastFrP = percent;
+    var interval = nextFrame.percent - frame.percent;
+    var w2 = interval === 0 ? 1 : mathMin2((percent - frame.percent) / interval, 1);
+    if (nextFrame.easingFunc) {
+      w2 = nextFrame.easingFunc(w2);
+    }
+    var targetArr = isAdditive ? this._additiveValue : isValueColor ? tmpRgba : target[propName];
+    if ((isArrayValueType(valType) || isValueColor) && !targetArr) {
+      targetArr = this._additiveValue = [];
+    }
+    if (this.discrete) {
+      target[propName] = w2 < 1 ? frame.rawValue : nextFrame.rawValue;
+    } else if (isArrayValueType(valType)) {
+      valType === VALUE_TYPE_1D_ARRAY ? interpolate1DArray(targetArr, frame[valueKey], nextFrame[valueKey], w2) : interpolate2DArray(targetArr, frame[valueKey], nextFrame[valueKey], w2);
+    } else if (isGradientValueType(valType)) {
+      var val = frame[valueKey];
+      var nextVal_1 = nextFrame[valueKey];
+      var isLinearGradient_1 = valType === VALUE_TYPE_LINEAR_GRADIENT;
+      target[propName] = {
+        type: isLinearGradient_1 ? "linear" : "radial",
+        x: interpolateNumber$1(val.x, nextVal_1.x, w2),
+        y: interpolateNumber$1(val.y, nextVal_1.y, w2),
+        colorStops: map$1(val.colorStops, function(colorStop, idx) {
+          var nextColorStop = nextVal_1.colorStops[idx];
+          return {
+            offset: interpolateNumber$1(colorStop.offset, nextColorStop.offset, w2),
+            color: rgba2String(interpolate1DArray([], colorStop.color, nextColorStop.color, w2))
+          };
+        }),
+        global: nextVal_1.global
+      };
+      if (isLinearGradient_1) {
+        target[propName].x2 = interpolateNumber$1(val.x2, nextVal_1.x2, w2);
+        target[propName].y2 = interpolateNumber$1(val.y2, nextVal_1.y2, w2);
+      } else {
+        target[propName].r = interpolateNumber$1(val.r, nextVal_1.r, w2);
+      }
+    } else if (isValueColor) {
+      interpolate1DArray(targetArr, frame[valueKey], nextFrame[valueKey], w2);
+      if (!isAdditive) {
+        target[propName] = rgba2String(targetArr);
+      }
+    } else {
+      var value = interpolateNumber$1(frame[valueKey], nextFrame[valueKey], w2);
+      if (isAdditive) {
+        this._additiveValue = value;
+      } else {
+        target[propName] = value;
+      }
+    }
+    if (isAdditive) {
+      this._addToTarget(target);
+    }
+  };
+  Track2.prototype._addToTarget = function(target) {
+    var valType = this.valType;
+    var propName = this.propName;
+    var additiveValue = this._additiveValue;
+    if (valType === VALUE_TYPE_NUMBER) {
+      target[propName] = target[propName] + additiveValue;
+    } else if (valType === VALUE_TYPE_COLOR) {
+      parse$1(target[propName], tmpRgba);
+      add1DArray(tmpRgba, tmpRgba, additiveValue, 1);
+      target[propName] = rgba2String(tmpRgba);
+    } else if (valType === VALUE_TYPE_1D_ARRAY) {
+      add1DArray(target[propName], target[propName], additiveValue, 1);
+    } else if (valType === VALUE_TYPE_2D_ARRAY) {
+      add2DArray(target[propName], target[propName], additiveValue, 1);
+    }
+  };
+  return Track2;
+}();
+var Animator = function() {
+  function Animator2(target, loop, allowDiscreteAnimation, additiveTo) {
+    this._tracks = {};
+    this._trackKeys = [];
+    this._maxTime = 0;
+    this._started = 0;
+    this._clip = null;
+    this._target = target;
+    this._loop = loop;
+    if (loop && additiveTo) {
+      logError("Can' use additive animation on looped animation.");
+      return;
+    }
+    this._additiveAnimators = additiveTo;
+    this._allowDiscrete = allowDiscreteAnimation;
+  }
+  Animator2.prototype.getMaxTime = function() {
+    return this._maxTime;
+  };
+  Animator2.prototype.getDelay = function() {
+    return this._delay;
+  };
+  Animator2.prototype.getLoop = function() {
+    return this._loop;
+  };
+  Animator2.prototype.getTarget = function() {
+    return this._target;
+  };
+  Animator2.prototype.changeTarget = function(target) {
+    this._target = target;
+  };
+  Animator2.prototype.when = function(time2, props2, easing2) {
+    return this.whenWithKeys(time2, props2, keys(props2), easing2);
+  };
+  Animator2.prototype.whenWithKeys = function(time2, props2, propNames, easing2) {
+    var tracks = this._tracks;
+    for (var i2 = 0; i2 < propNames.length; i2++) {
+      var propName = propNames[i2];
+      var track = tracks[propName];
+      if (!track) {
+        track = tracks[propName] = new Track(propName);
+        var initialValue = void 0;
+        var additiveTrack = this._getAdditiveTrack(propName);
+        if (additiveTrack) {
+          var addtiveTrackKfs = additiveTrack.keyframes;
+          var lastFinalKf = addtiveTrackKfs[addtiveTrackKfs.length - 1];
+          initialValue = lastFinalKf && lastFinalKf.value;
+          if (additiveTrack.valType === VALUE_TYPE_COLOR && initialValue) {
+            initialValue = rgba2String(initialValue);
+          }
+        } else {
+          initialValue = this._target[propName];
+        }
+        if (initialValue == null) {
+          continue;
+        }
+        if (time2 > 0) {
+          track.addKeyframe(0, cloneValue(initialValue), easing2);
+        }
+        this._trackKeys.push(propName);
+      }
+      track.addKeyframe(time2, cloneValue(props2[propName]), easing2);
+    }
+    this._maxTime = Math.max(this._maxTime, time2);
+    return this;
+  };
+  Animator2.prototype.pause = function() {
+    this._clip.pause();
+    this._paused = true;
+  };
+  Animator2.prototype.resume = function() {
+    this._clip.resume();
+    this._paused = false;
+  };
+  Animator2.prototype.isPaused = function() {
+    return !!this._paused;
+  };
+  Animator2.prototype.duration = function(duration) {
+    this._maxTime = duration;
+    this._force = true;
+    return this;
+  };
+  Animator2.prototype._doneCallback = function() {
+    this._setTracksFinished();
+    this._clip = null;
+    var doneList = this._doneCbs;
+    if (doneList) {
+      var len2 = doneList.length;
+      for (var i2 = 0; i2 < len2; i2++) {
+        doneList[i2].call(this);
+      }
+    }
+  };
+  Animator2.prototype._abortedCallback = function() {
+    this._setTracksFinished();
+    var animation2 = this.animation;
+    var abortedList = this._abortedCbs;
+    if (animation2) {
+      animation2.removeClip(this._clip);
+    }
+    this._clip = null;
+    if (abortedList) {
+      for (var i2 = 0; i2 < abortedList.length; i2++) {
+        abortedList[i2].call(this);
+      }
+    }
+  };
+  Animator2.prototype._setTracksFinished = function() {
+    var tracks = this._tracks;
+    var tracksKeys = this._trackKeys;
+    for (var i2 = 0; i2 < tracksKeys.length; i2++) {
+      tracks[tracksKeys[i2]].setFinished();
+    }
+  };
+  Animator2.prototype._getAdditiveTrack = function(trackName) {
+    var additiveTrack;
+    var additiveAnimators = this._additiveAnimators;
+    if (additiveAnimators) {
+      for (var i2 = 0; i2 < additiveAnimators.length; i2++) {
+        var track = additiveAnimators[i2].getTrack(trackName);
+        if (track) {
+          additiveTrack = track;
+        }
+      }
+    }
+    return additiveTrack;
+  };
+  Animator2.prototype.start = function(easing2) {
+    if (this._started > 0) {
+      return;
+    }
+    this._started = 1;
+    var self2 = this;
+    var tracks = [];
+    var maxTime = this._maxTime || 0;
+    for (var i2 = 0; i2 < this._trackKeys.length; i2++) {
+      var propName = this._trackKeys[i2];
+      var track = this._tracks[propName];
+      var additiveTrack = this._getAdditiveTrack(propName);
+      var kfs = track.keyframes;
+      var kfsNum = kfs.length;
+      track.prepare(maxTime, additiveTrack);
+      if (track.needsAnimate()) {
+        if (!this._allowDiscrete && track.discrete) {
+          var lastKf = kfs[kfsNum - 1];
+          if (lastKf) {
+            self2._target[track.propName] = lastKf.rawValue;
+          }
+          track.setFinished();
+        } else {
+          tracks.push(track);
+        }
+      }
+    }
+    if (tracks.length || this._force) {
+      var clip2 = new Clip$1({
+        life: maxTime,
+        loop: this._loop,
+        delay: this._delay || 0,
+        onframe: function(percent) {
+          self2._started = 2;
+          var additiveAnimators = self2._additiveAnimators;
+          if (additiveAnimators) {
+            var stillHasAdditiveAnimator = false;
+            for (var i3 = 0; i3 < additiveAnimators.length; i3++) {
+              if (additiveAnimators[i3]._clip) {
+                stillHasAdditiveAnimator = true;
+                break;
+              }
+            }
+            if (!stillHasAdditiveAnimator) {
+              self2._additiveAnimators = null;
+            }
+          }
+          for (var i3 = 0; i3 < tracks.length; i3++) {
+            tracks[i3].step(self2._target, percent);
+          }
+          var onframeList = self2._onframeCbs;
+          if (onframeList) {
+            for (var i3 = 0; i3 < onframeList.length; i3++) {
+              onframeList[i3](self2._target, percent);
+            }
+          }
+        },
+        ondestroy: function() {
+          self2._doneCallback();
+        }
+      });
+      this._clip = clip2;
+      if (this.animation) {
+        this.animation.addClip(clip2);
+      }
+      if (easing2) {
+        clip2.setEasing(easing2);
+      }
+    } else {
+      this._doneCallback();
+    }
+    return this;
+  };
+  Animator2.prototype.stop = function(forwardToLast) {
+    if (!this._clip) {
+      return;
+    }
+    var clip2 = this._clip;
+    if (forwardToLast) {
+      clip2.onframe(1);
+    }
+    this._abortedCallback();
+  };
+  Animator2.prototype.delay = function(time2) {
+    this._delay = time2;
+    return this;
+  };
+  Animator2.prototype.during = function(cb) {
+    if (cb) {
+      if (!this._onframeCbs) {
+        this._onframeCbs = [];
+      }
+      this._onframeCbs.push(cb);
+    }
+    return this;
+  };
+  Animator2.prototype.done = function(cb) {
+    if (cb) {
+      if (!this._doneCbs) {
+        this._doneCbs = [];
+      }
+      this._doneCbs.push(cb);
+    }
+    return this;
+  };
+  Animator2.prototype.aborted = function(cb) {
+    if (cb) {
+      if (!this._abortedCbs) {
+        this._abortedCbs = [];
+      }
+      this._abortedCbs.push(cb);
+    }
+    return this;
+  };
+  Animator2.prototype.getClip = function() {
+    return this._clip;
+  };
+  Animator2.prototype.getTrack = function(propName) {
+    return this._tracks[propName];
+  };
+  Animator2.prototype.getTracks = function() {
+    var _this = this;
+    return map$1(this._trackKeys, function(key2) {
+      return _this._tracks[key2];
+    });
+  };
+  Animator2.prototype.stopTracks = function(propNames, forwardToLast) {
+    if (!propNames.length || !this._clip) {
+      return true;
+    }
+    var tracks = this._tracks;
+    var tracksKeys = this._trackKeys;
+    for (var i2 = 0; i2 < propNames.length; i2++) {
+      var track = tracks[propNames[i2]];
+      if (track && !track.isFinished()) {
+        if (forwardToLast) {
+          track.step(this._target, 1);
+        } else if (this._started === 1) {
+          track.step(this._target, 0);
+        }
+        track.setFinished();
+      }
+    }
+    var allAborted = true;
+    for (var i2 = 0; i2 < tracksKeys.length; i2++) {
+      if (!tracks[tracksKeys[i2]].isFinished()) {
+        allAborted = false;
+        break;
+      }
+    }
+    if (allAborted) {
+      this._abortedCallback();
+    }
+    return allAborted;
+  };
+  Animator2.prototype.saveTo = function(target, trackKeys, firstOrLast) {
+    if (!target) {
+      return;
+    }
+    trackKeys = trackKeys || this._trackKeys;
+    for (var i2 = 0; i2 < trackKeys.length; i2++) {
+      var propName = trackKeys[i2];
+      var track = this._tracks[propName];
+      if (!track || track.isFinished()) {
+        continue;
+      }
+      var kfs = track.keyframes;
+      var kf = kfs[firstOrLast ? 0 : kfs.length - 1];
+      if (kf) {
+        target[propName] = cloneValue(kf.rawValue);
+      }
+    }
+  };
+  Animator2.prototype.__changeFinalValue = function(finalProps, trackKeys) {
+    trackKeys = trackKeys || keys(finalProps);
+    for (var i2 = 0; i2 < trackKeys.length; i2++) {
+      var propName = trackKeys[i2];
+      var track = this._tracks[propName];
+      if (!track) {
+        continue;
+      }
+      var kfs = track.keyframes;
+      if (kfs.length > 1) {
+        var lastKf = kfs.pop();
+        track.addKeyframe(lastKf.time, finalProps[propName]);
+        track.prepare(this._maxTime, track.getAdditiveTrack());
+      }
+    }
+  };
+  return Animator2;
+}();
+const Animator$1 = Animator;
+function getTime() {
+  return (/* @__PURE__ */ new Date()).getTime();
+}
+var Animation = function(_super) {
+  __extends(Animation2, _super);
+  function Animation2(opts2) {
+    var _this = _super.call(this) || this;
+    _this._running = false;
+    _this._time = 0;
+    _this._pausedTime = 0;
+    _this._pauseStart = 0;
+    _this._paused = false;
+    opts2 = opts2 || {};
+    _this.stage = opts2.stage || {};
+    return _this;
+  }
+  Animation2.prototype.addClip = function(clip2) {
+    if (clip2.animation) {
+      this.removeClip(clip2);
+    }
+    if (!this._head) {
+      this._head = this._tail = clip2;
+    } else {
+      this._tail.next = clip2;
+      clip2.prev = this._tail;
+      clip2.next = null;
+      this._tail = clip2;
+    }
+    clip2.animation = this;
+  };
+  Animation2.prototype.addAnimator = function(animator) {
+    animator.animation = this;
+    var clip2 = animator.getClip();
+    if (clip2) {
+      this.addClip(clip2);
+    }
+  };
+  Animation2.prototype.removeClip = function(clip2) {
+    if (!clip2.animation) {
+      return;
+    }
+    var prev = clip2.prev;
+    var next = clip2.next;
+    if (prev) {
+      prev.next = next;
+    } else {
+      this._head = next;
+    }
+    if (next) {
+      next.prev = prev;
+    } else {
+      this._tail = prev;
+    }
+    clip2.next = clip2.prev = clip2.animation = null;
+  };
+  Animation2.prototype.removeAnimator = function(animator) {
+    var clip2 = animator.getClip();
+    if (clip2) {
+      this.removeClip(clip2);
+    }
+    animator.animation = null;
+  };
+  Animation2.prototype.update = function(notTriggerFrameAndStageUpdate) {
+    var time2 = getTime() - this._pausedTime;
+    var delta = time2 - this._time;
+    var clip2 = this._head;
+    while (clip2) {
+      var nextClip = clip2.next;
+      var finished = clip2.step(time2, delta);
+      if (finished) {
+        clip2.ondestroy();
+        this.removeClip(clip2);
+        clip2 = nextClip;
+      } else {
+        clip2 = nextClip;
+      }
+    }
+    this._time = time2;
+    if (!notTriggerFrameAndStageUpdate) {
+      this.trigger("frame", delta);
+      this.stage.update && this.stage.update();
+    }
+  };
+  Animation2.prototype._startLoop = function() {
+    var self2 = this;
+    this._running = true;
+    function step2() {
+      if (self2._running) {
+        requestAnimationFrame$2(step2);
+        !self2._paused && self2.update();
+      }
+    }
+    requestAnimationFrame$2(step2);
+  };
+  Animation2.prototype.start = function() {
+    if (this._running) {
+      return;
+    }
+    this._time = getTime();
+    this._pausedTime = 0;
+    this._startLoop();
+  };
+  Animation2.prototype.stop = function() {
+    this._running = false;
+  };
+  Animation2.prototype.pause = function() {
+    if (!this._paused) {
+      this._pauseStart = getTime();
+      this._paused = true;
+    }
+  };
+  Animation2.prototype.resume = function() {
+    if (this._paused) {
+      this._pausedTime += getTime() - this._pauseStart;
+      this._paused = false;
+    }
+  };
+  Animation2.prototype.clear = function() {
+    var clip2 = this._head;
+    while (clip2) {
+      var nextClip = clip2.next;
+      clip2.prev = clip2.next = clip2.animation = null;
+      clip2 = nextClip;
+    }
+    this._head = this._tail = null;
+  };
+  Animation2.prototype.isFinished = function() {
+    return this._head == null;
+  };
+  Animation2.prototype.animate = function(target, options2) {
+    options2 = options2 || {};
+    this.start();
+    var animator = new Animator$1(target, options2.loop);
+    this.addAnimator(animator);
+    return animator;
+  };
+  return Animation2;
+}(Eventful$1);
+const Animation$1 = Animation;
+var TOUCH_CLICK_DELAY = 300;
+var globalEventSupported = env$1.domSupported;
+var localNativeListenerNames = function() {
+  var mouseHandlerNames = [
+    "click",
+    "dblclick",
+    "mousewheel",
+    "wheel",
+    "mouseout",
+    "mouseup",
+    "mousedown",
+    "mousemove",
+    "contextmenu"
+  ];
+  var touchHandlerNames = [
+    "touchstart",
+    "touchend",
+    "touchmove"
+  ];
+  var pointerEventNameMap = {
+    pointerdown: 1,
+    pointerup: 1,
+    pointermove: 1,
+    pointerout: 1
+  };
+  var pointerHandlerNames = map$1(mouseHandlerNames, function(name2) {
+    var nm = name2.replace("mouse", "pointer");
+    return pointerEventNameMap.hasOwnProperty(nm) ? nm : name2;
+  });
+  return {
+    mouse: mouseHandlerNames,
+    touch: touchHandlerNames,
+    pointer: pointerHandlerNames
+  };
+}();
+var globalNativeListenerNames = {
+  mouse: ["mousemove", "mouseup"],
+  pointer: ["pointermove", "pointerup"]
+};
+var wheelEventSupported = false;
+function isPointerFromTouch(event2) {
+  var pointerType = event2.pointerType;
+  return pointerType === "pen" || pointerType === "touch";
+}
+function setTouchTimer(scope) {
+  scope.touching = true;
+  if (scope.touchTimer != null) {
+    clearTimeout(scope.touchTimer);
+    scope.touchTimer = null;
+  }
+  scope.touchTimer = setTimeout(function() {
+    scope.touching = false;
+    scope.touchTimer = null;
+  }, 700);
+}
+function markTouch(event2) {
+  event2 && (event2.zrByTouch = true);
+}
+function normalizeGlobalEvent(instance, event2) {
+  return normalizeEvent(instance.dom, new FakeGlobalEvent(instance, event2), true);
+}
+function isLocalEl(instance, el) {
+  var elTmp = el;
+  var isLocal = false;
+  while (elTmp && elTmp.nodeType !== 9 && !(isLocal = elTmp.domBelongToZr || elTmp !== el && elTmp === instance.painterRoot)) {
+    elTmp = elTmp.parentNode;
+  }
+  return isLocal;
+}
+var FakeGlobalEvent = function() {
+  function FakeGlobalEvent2(instance, event2) {
+    this.stopPropagation = noop$1;
+    this.stopImmediatePropagation = noop$1;
+    this.preventDefault = noop$1;
+    this.type = event2.type;
+    this.target = this.currentTarget = instance.dom;
+    this.pointerType = event2.pointerType;
+    this.clientX = event2.clientX;
+    this.clientY = event2.clientY;
+  }
+  return FakeGlobalEvent2;
+}();
+var localDOMHandlers = {
+  mousedown: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    this.__mayPointerCapture = [event2.zrX, event2.zrY];
+    this.trigger("mousedown", event2);
+  },
+  mousemove: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    var downPoint = this.__mayPointerCapture;
+    if (downPoint && (event2.zrX !== downPoint[0] || event2.zrY !== downPoint[1])) {
+      this.__togglePointerCapture(true);
+    }
+    this.trigger("mousemove", event2);
+  },
+  mouseup: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    this.__togglePointerCapture(false);
+    this.trigger("mouseup", event2);
+  },
+  mouseout: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    var element = event2.toElement || event2.relatedTarget;
+    if (!isLocalEl(this, element)) {
+      if (this.__pointerCapturing) {
+        event2.zrEventControl = "no_globalout";
+      }
+      this.trigger("mouseout", event2);
+    }
+  },
+  wheel: function(event2) {
+    wheelEventSupported = true;
+    event2 = normalizeEvent(this.dom, event2);
+    this.trigger("mousewheel", event2);
+  },
+  mousewheel: function(event2) {
+    if (wheelEventSupported) {
+      return;
+    }
+    event2 = normalizeEvent(this.dom, event2);
+    this.trigger("mousewheel", event2);
+  },
+  touchstart: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    markTouch(event2);
+    this.__lastTouchMoment = /* @__PURE__ */ new Date();
+    this.handler.processGesture(event2, "start");
+    localDOMHandlers.mousemove.call(this, event2);
+    localDOMHandlers.mousedown.call(this, event2);
+  },
+  touchmove: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    markTouch(event2);
+    this.handler.processGesture(event2, "change");
+    localDOMHandlers.mousemove.call(this, event2);
+  },
+  touchend: function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    markTouch(event2);
+    this.handler.processGesture(event2, "end");
+    localDOMHandlers.mouseup.call(this, event2);
+    if (+/* @__PURE__ */ new Date() - +this.__lastTouchMoment < TOUCH_CLICK_DELAY) {
+      localDOMHandlers.click.call(this, event2);
+    }
+  },
+  pointerdown: function(event2) {
+    localDOMHandlers.mousedown.call(this, event2);
+  },
+  pointermove: function(event2) {
+    if (!isPointerFromTouch(event2)) {
+      localDOMHandlers.mousemove.call(this, event2);
+    }
+  },
+  pointerup: function(event2) {
+    localDOMHandlers.mouseup.call(this, event2);
+  },
+  pointerout: function(event2) {
+    if (!isPointerFromTouch(event2)) {
+      localDOMHandlers.mouseout.call(this, event2);
+    }
+  }
+};
+each$f(["click", "dblclick", "contextmenu"], function(name2) {
+  localDOMHandlers[name2] = function(event2) {
+    event2 = normalizeEvent(this.dom, event2);
+    this.trigger(name2, event2);
+  };
+});
+var globalDOMHandlers = {
+  pointermove: function(event2) {
+    if (!isPointerFromTouch(event2)) {
+      globalDOMHandlers.mousemove.call(this, event2);
+    }
+  },
+  pointerup: function(event2) {
+    globalDOMHandlers.mouseup.call(this, event2);
+  },
+  mousemove: function(event2) {
+    this.trigger("mousemove", event2);
+  },
+  mouseup: function(event2) {
+    var pointerCaptureReleasing = this.__pointerCapturing;
+    this.__togglePointerCapture(false);
+    this.trigger("mouseup", event2);
+    if (pointerCaptureReleasing) {
+      event2.zrEventControl = "only_globalout";
+      this.trigger("mouseout", event2);
+    }
+  }
+};
+function mountLocalDOMEventListeners(instance, scope) {
+  var domHandlers = scope.domHandlers;
+  if (env$1.pointerEventsSupported) {
+    each$f(localNativeListenerNames.pointer, function(nativeEventName) {
+      mountSingleDOMEventListener(scope, nativeEventName, function(event2) {
+        domHandlers[nativeEventName].call(instance, event2);
+      });
+    });
+  } else {
+    if (env$1.touchEventsSupported) {
+      each$f(localNativeListenerNames.touch, function(nativeEventName) {
+        mountSingleDOMEventListener(scope, nativeEventName, function(event2) {
+          domHandlers[nativeEventName].call(instance, event2);
+          setTouchTimer(scope);
+        });
+      });
+    }
+    each$f(localNativeListenerNames.mouse, function(nativeEventName) {
+      mountSingleDOMEventListener(scope, nativeEventName, function(event2) {
+        event2 = getNativeEvent(event2);
+        if (!scope.touching) {
+          domHandlers[nativeEventName].call(instance, event2);
+        }
+      });
+    });
+  }
+}
+function mountGlobalDOMEventListeners(instance, scope) {
+  if (env$1.pointerEventsSupported) {
+    each$f(globalNativeListenerNames.pointer, mount);
+  } else if (!env$1.touchEventsSupported) {
+    each$f(globalNativeListenerNames.mouse, mount);
+  }
+  function mount(nativeEventName) {
+    function nativeEventListener(event2) {
+      event2 = getNativeEvent(event2);
+      if (!isLocalEl(instance, event2.target)) {
+        event2 = normalizeGlobalEvent(instance, event2);
+        scope.domHandlers[nativeEventName].call(instance, event2);
+      }
+    }
+    mountSingleDOMEventListener(scope, nativeEventName, nativeEventListener, { capture: true });
+  }
+}
+function mountSingleDOMEventListener(scope, nativeEventName, listener, opt) {
+  scope.mounted[nativeEventName] = listener;
+  scope.listenerOpts[nativeEventName] = opt;
+  addEventListener(scope.domTarget, nativeEventName, listener, opt);
+}
+function unmountDOMEventListeners(scope) {
+  var mounted2 = scope.mounted;
+  for (var nativeEventName in mounted2) {
+    if (mounted2.hasOwnProperty(nativeEventName)) {
+      removeEventListener(scope.domTarget, nativeEventName, mounted2[nativeEventName], scope.listenerOpts[nativeEventName]);
+    }
+  }
+  scope.mounted = {};
+}
+var DOMHandlerScope = function() {
+  function DOMHandlerScope2(domTarget, domHandlers) {
+    this.mounted = {};
+    this.listenerOpts = {};
+    this.touching = false;
+    this.domTarget = domTarget;
+    this.domHandlers = domHandlers;
+  }
+  return DOMHandlerScope2;
+}();
+var HandlerDomProxy = function(_super) {
+  __extends(HandlerDomProxy2, _super);
+  function HandlerDomProxy2(dom2, painterRoot) {
+    var _this = _super.call(this) || this;
+    _this.__pointerCapturing = false;
+    _this.dom = dom2;
+    _this.painterRoot = painterRoot;
+    _this._localHandlerScope = new DOMHandlerScope(dom2, localDOMHandlers);
+    if (globalEventSupported) {
+      _this._globalHandlerScope = new DOMHandlerScope(document, globalDOMHandlers);
+    }
+    mountLocalDOMEventListeners(_this, _this._localHandlerScope);
+    return _this;
+  }
+  HandlerDomProxy2.prototype.dispose = function() {
+    unmountDOMEventListeners(this._localHandlerScope);
+    if (globalEventSupported) {
+      unmountDOMEventListeners(this._globalHandlerScope);
+    }
+  };
+  HandlerDomProxy2.prototype.setCursor = function(cursorStyle) {
+    this.dom.style && (this.dom.style.cursor = cursorStyle || "default");
+  };
+  HandlerDomProxy2.prototype.__togglePointerCapture = function(isPointerCapturing) {
+    this.__mayPointerCapture = null;
+    if (globalEventSupported && +this.__pointerCapturing ^ +isPointerCapturing) {
+      this.__pointerCapturing = isPointerCapturing;
+      var globalHandlerScope = this._globalHandlerScope;
+      isPointerCapturing ? mountGlobalDOMEventListeners(this, globalHandlerScope) : unmountDOMEventListeners(globalHandlerScope);
+    }
+  };
+  return HandlerDomProxy2;
+}(Eventful$1);
+const HandlerProxy = HandlerDomProxy;
+var dpr = 1;
+if (env$1.hasGlobalWindow) {
+  dpr = Math.max(window.devicePixelRatio || window.screen && window.screen.deviceXDPI / window.screen.logicalXDPI || 1, 1);
+}
+var devicePixelRatio = dpr;
+var DARK_MODE_THRESHOLD = 0.4;
+var DARK_LABEL_COLOR = "#333";
+var LIGHT_LABEL_COLOR = "#ccc";
+var LIGHTER_LABEL_COLOR = "#eee";
+var mIdentity = identity;
+var EPSILON$2 = 5e-5;
+function isNotAroundZero(val) {
+  return val > EPSILON$2 || val < -EPSILON$2;
+}
+var scaleTmp = [];
+var tmpTransform = [];
+var originTransform = create$1();
+var abs = Math.abs;
+var Transformable = function() {
+  function Transformable2() {
+  }
+  Transformable2.prototype.getLocalTransform = function(m2) {
+    return Transformable2.getLocalTransform(this, m2);
+  };
+  Transformable2.prototype.setPosition = function(arr) {
+    this.x = arr[0];
+    this.y = arr[1];
+  };
+  Transformable2.prototype.setScale = function(arr) {
+    this.scaleX = arr[0];
+    this.scaleY = arr[1];
+  };
+  Transformable2.prototype.setSkew = function(arr) {
+    this.skewX = arr[0];
+    this.skewY = arr[1];
+  };
+  Transformable2.prototype.setOrigin = function(arr) {
+    this.originX = arr[0];
+    this.originY = arr[1];
+  };
+  Transformable2.prototype.needLocalTransform = function() {
+    return isNotAroundZero(this.rotation) || isNotAroundZero(this.x) || isNotAroundZero(this.y) || isNotAroundZero(this.scaleX - 1) || isNotAroundZero(this.scaleY - 1) || isNotAroundZero(this.skewX) || isNotAroundZero(this.skewY);
+  };
+  Transformable2.prototype.updateTransform = function() {
+    var parentTransform = this.parent && this.parent.transform;
+    var needLocalTransform = this.needLocalTransform();
+    var m2 = this.transform;
+    if (!(needLocalTransform || parentTransform)) {
+      if (m2) {
+        mIdentity(m2);
+        this.invTransform = null;
+      }
+      return;
+    }
+    m2 = m2 || create$1();
+    if (needLocalTransform) {
+      this.getLocalTransform(m2);
+    } else {
+      mIdentity(m2);
+    }
+    if (parentTransform) {
+      if (needLocalTransform) {
+        mul(m2, parentTransform, m2);
+      } else {
+        copy(m2, parentTransform);
+      }
+    }
+    this.transform = m2;
+    this._resolveGlobalScaleRatio(m2);
+  };
+  Transformable2.prototype._resolveGlobalScaleRatio = function(m2) {
+    var globalScaleRatio = this.globalScaleRatio;
+    if (globalScaleRatio != null && globalScaleRatio !== 1) {
+      this.getGlobalScale(scaleTmp);
+      var relX = scaleTmp[0] < 0 ? -1 : 1;
+      var relY = scaleTmp[1] < 0 ? -1 : 1;
+      var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;
+      var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;
+      m2[0] *= sx;
+      m2[1] *= sx;
+      m2[2] *= sy;
+      m2[3] *= sy;
+    }
+    this.invTransform = this.invTransform || create$1();
+    invert(this.invTransform, m2);
+  };
+  Transformable2.prototype.getComputedTransform = function() {
+    var transformNode = this;
+    var ancestors = [];
+    while (transformNode) {
+      ancestors.push(transformNode);
+      transformNode = transformNode.parent;
+    }
+    while (transformNode = ancestors.pop()) {
+      transformNode.updateTransform();
+    }
+    return this.transform;
+  };
+  Transformable2.prototype.setLocalTransform = function(m2) {
+    if (!m2) {
+      return;
+    }
+    var sx = m2[0] * m2[0] + m2[1] * m2[1];
+    var sy = m2[2] * m2[2] + m2[3] * m2[3];
+    var rotation = Math.atan2(m2[1], m2[0]);
+    var shearX = Math.PI / 2 + rotation - Math.atan2(m2[3], m2[2]);
+    sy = Math.sqrt(sy) * Math.cos(shearX);
+    sx = Math.sqrt(sx);
+    this.skewX = shearX;
+    this.skewY = 0;
+    this.rotation = -rotation;
+    this.x = +m2[4];
+    this.y = +m2[5];
+    this.scaleX = sx;
+    this.scaleY = sy;
+    this.originX = 0;
+    this.originY = 0;
+  };
+  Transformable2.prototype.decomposeTransform = function() {
+    if (!this.transform) {
+      return;
+    }
+    var parent3 = this.parent;
+    var m2 = this.transform;
+    if (parent3 && parent3.transform) {
+      mul(tmpTransform, parent3.invTransform, m2);
+      m2 = tmpTransform;
+    }
+    var ox = this.originX;
+    var oy = this.originY;
+    if (ox || oy) {
+      originTransform[4] = ox;
+      originTransform[5] = oy;
+      mul(tmpTransform, m2, originTransform);
+      tmpTransform[4] -= ox;
+      tmpTransform[5] -= oy;
+      m2 = tmpTransform;
+    }
+    this.setLocalTransform(m2);
+  };
+  Transformable2.prototype.getGlobalScale = function(out2) {
+    var m2 = this.transform;
+    out2 = out2 || [];
+    if (!m2) {
+      out2[0] = 1;
+      out2[1] = 1;
+      return out2;
+    }
+    out2[0] = Math.sqrt(m2[0] * m2[0] + m2[1] * m2[1]);
+    out2[1] = Math.sqrt(m2[2] * m2[2] + m2[3] * m2[3]);
+    if (m2[0] < 0) {
+      out2[0] = -out2[0];
+    }
+    if (m2[3] < 0) {
+      out2[1] = -out2[1];
+    }
+    return out2;
+  };
+  Transformable2.prototype.transformCoordToLocal = function(x2, y2) {
+    var v22 = [x2, y2];
+    var invTransform = this.invTransform;
+    if (invTransform) {
+      applyTransform$1(v22, v22, invTransform);
+    }
+    return v22;
+  };
+  Transformable2.prototype.transformCoordToGlobal = function(x2, y2) {
+    var v22 = [x2, y2];
+    var transform3 = this.transform;
+    if (transform3) {
+      applyTransform$1(v22, v22, transform3);
+    }
+    return v22;
+  };
+  Transformable2.prototype.getLineScale = function() {
+    var m2 = this.transform;
+    return m2 && abs(m2[0] - 1) > 1e-10 && abs(m2[3] - 1) > 1e-10 ? Math.sqrt(abs(m2[0] * m2[3] - m2[2] * m2[1])) : 1;
+  };
+  Transformable2.prototype.copyTransform = function(source2) {
+    copyTransform(this, source2);
+  };
+  Transformable2.getLocalTransform = function(target, m2) {
+    m2 = m2 || [];
+    var ox = target.originX || 0;
+    var oy = target.originY || 0;
+    var sx = target.scaleX;
+    var sy = target.scaleY;
+    var ax = target.anchorX;
+    var ay = target.anchorY;
+    var rotation = target.rotation || 0;
+    var x2 = target.x;
+    var y2 = target.y;
+    var skewX = target.skewX ? Math.tan(target.skewX) : 0;
+    var skewY = target.skewY ? Math.tan(-target.skewY) : 0;
+    if (ox || oy || ax || ay) {
+      var dx = ox + ax;
+      var dy = oy + ay;
+      m2[4] = -dx * sx - skewX * dy * sy;
+      m2[5] = -dy * sy - skewY * dx * sx;
+    } else {
+      m2[4] = m2[5] = 0;
+    }
+    m2[0] = sx;
+    m2[3] = sy;
+    m2[1] = skewY * sx;
+    m2[2] = skewX * sy;
+    rotation && rotate(m2, m2, rotation);
+    m2[4] += ox + x2;
+    m2[5] += oy + y2;
+    return m2;
+  };
+  Transformable2.initDefaultProps = function() {
+    var proto2 = Transformable2.prototype;
+    proto2.scaleX = proto2.scaleY = proto2.globalScaleRatio = 1;
+    proto2.x = proto2.y = proto2.originX = proto2.originY = proto2.skewX = proto2.skewY = proto2.rotation = proto2.anchorX = proto2.anchorY = 0;
+  }();
+  return Transformable2;
+}();
+var TRANSFORMABLE_PROPS = [
+  "x",
+  "y",
+  "originX",
+  "originY",
+  "anchorX",
+  "anchorY",
+  "rotation",
+  "scaleX",
+  "scaleY",
+  "skewX",
+  "skewY"
+];
+function copyTransform(target, source2) {
+  for (var i2 = 0; i2 < TRANSFORMABLE_PROPS.length; i2++) {
+    var propName = TRANSFORMABLE_PROPS[i2];
+    target[propName] = source2[propName];
+  }
+}
+const Transformable$1 = Transformable;
+var textWidthCache = {};
+function getWidth(text2, font) {
+  font = font || DEFAULT_FONT;
+  var cacheOfFont = textWidthCache[font];
+  if (!cacheOfFont) {
+    cacheOfFont = textWidthCache[font] = new LRU$1(500);
+  }
+  var width = cacheOfFont.get(text2);
+  if (width == null) {
+    width = platformApi.measureText(text2, font).width;
+    cacheOfFont.put(text2, width);
+  }
+  return width;
+}
+function innerGetBoundingRect(text2, font, textAlign, textBaseline) {
+  var width = getWidth(text2, font);
+  var height = getLineHeight(font);
+  var x2 = adjustTextX(0, width, textAlign);
+  var y2 = adjustTextY(0, height, textBaseline);
+  var rect = new BoundingRect$1(x2, y2, width, height);
+  return rect;
+}
+function getBoundingRect(text2, font, textAlign, textBaseline) {
+  var textLines = ((text2 || "") + "").split("\n");
+  var len2 = textLines.length;
+  if (len2 === 1) {
+    return innerGetBoundingRect(textLines[0], font, textAlign, textBaseline);
+  } else {
+    var uniondRect = new BoundingRect$1(0, 0, 0, 0);
+    for (var i2 = 0; i2 < textLines.length; i2++) {
+      var rect = innerGetBoundingRect(textLines[i2], font, textAlign, textBaseline);
+      i2 === 0 ? uniondRect.copy(rect) : uniondRect.union(rect);
+    }
+    return uniondRect;
+  }
+}
+function adjustTextX(x2, width, textAlign) {
+  if (textAlign === "right") {
+    x2 -= width;
+  } else if (textAlign === "center") {
+    x2 -= width / 2;
+  }
+  return x2;
+}
+function adjustTextY(y2, height, verticalAlign) {
+  if (verticalAlign === "middle") {
+    y2 -= height / 2;
+  } else if (verticalAlign === "bottom") {
+    y2 -= height;
+  }
+  return y2;
+}
+function getLineHeight(font) {
+  return getWidth("国", font);
+}
+function parsePercent$1(value, maxValue) {
+  if (typeof value === "string") {
+    if (value.lastIndexOf("%") >= 0) {
+      return parseFloat(value) / 100 * maxValue;
+    }
+    return parseFloat(value);
+  }
+  return value;
+}
+function calculateTextPosition(out2, opts2, rect) {
+  var textPosition = opts2.position || "inside";
+  var distance2 = opts2.distance != null ? opts2.distance : 5;
+  var height = rect.height;
+  var width = rect.width;
+  var halfHeight = height / 2;
+  var x2 = rect.x;
+  var y2 = rect.y;
+  var textAlign = "left";
+  var textVerticalAlign = "top";
+  if (textPosition instanceof Array) {
+    x2 += parsePercent$1(textPosition[0], rect.width);
+    y2 += parsePercent$1(textPosition[1], rect.height);
+    textAlign = null;
+    textVerticalAlign = null;
+  } else {
+    switch (textPosition) {
+      case "left":
+        x2 -= distance2;
+        y2 += halfHeight;
+        textAlign = "right";
+        textVerticalAlign = "middle";
+        break;
+      case "right":
+        x2 += distance2 + width;
+        y2 += halfHeight;
+        textVerticalAlign = "middle";
+        break;
+      case "top":
+        x2 += width / 2;
+        y2 -= distance2;
+        textAlign = "center";
+        textVerticalAlign = "bottom";
+        break;
+      case "bottom":
+        x2 += width / 2;
+        y2 += height + distance2;
+        textAlign = "center";
+        break;
+      case "inside":
+        x2 += width / 2;
+        y2 += halfHeight;
+        textAlign = "center";
+        textVerticalAlign = "middle";
+        break;
+      case "insideLeft":
+        x2 += distance2;
+        y2 += halfHeight;
+        textVerticalAlign = "middle";
+        break;
+      case "insideRight":
+        x2 += width - distance2;
+        y2 += halfHeight;
+        textAlign = "right";
+        textVerticalAlign = "middle";
+        break;
+      case "insideTop":
+        x2 += width / 2;
+        y2 += distance2;
+        textAlign = "center";
+        break;
+      case "insideBottom":
+        x2 += width / 2;
+        y2 += height - distance2;
+        textAlign = "center";
+        textVerticalAlign = "bottom";
+        break;
+      case "insideTopLeft":
+        x2 += distance2;
+        y2 += distance2;
+        break;
+      case "insideTopRight":
+        x2 += width - distance2;
+        y2 += distance2;
+        textAlign = "right";
+        break;
+      case "insideBottomLeft":
+        x2 += distance2;
+        y2 += height - distance2;
+        textVerticalAlign = "bottom";
+        break;
+      case "insideBottomRight":
+        x2 += width - distance2;
+        y2 += height - distance2;
+        textAlign = "right";
+        textVerticalAlign = "bottom";
+        break;
+    }
+  }
+  out2 = out2 || {};
+  out2.x = x2;
+  out2.y = y2;
+  out2.align = textAlign;
+  out2.verticalAlign = textVerticalAlign;
+  return out2;
+}
+var PRESERVED_NORMAL_STATE = "__zr_normal__";
+var PRIMARY_STATES_KEYS$1 = TRANSFORMABLE_PROPS.concat(["ignore"]);
+var DEFAULT_ANIMATABLE_MAP = reduce(TRANSFORMABLE_PROPS, function(obj2, key2) {
+  obj2[key2] = true;
+  return obj2;
+}, { ignore: false });
+var tmpTextPosCalcRes = {};
+var tmpBoundingRect = new BoundingRect$1(0, 0, 0, 0);
+var Element = function() {
+  function Element2(props2) {
+    this.id = guid();
+    this.animators = [];
+    this.currentStates = [];
+    this.states = {};
+    this._init(props2);
+  }
+  Element2.prototype._init = function(props2) {
+    this.attr(props2);
+  };
+  Element2.prototype.drift = function(dx, dy, e2) {
+    switch (this.draggable) {
+      case "horizontal":
+        dy = 0;
+        break;
+      case "vertical":
+        dx = 0;
+        break;
+    }
+    var m2 = this.transform;
+    if (!m2) {
+      m2 = this.transform = [1, 0, 0, 1, 0, 0];
+    }
+    m2[4] += dx;
+    m2[5] += dy;
+    this.decomposeTransform();
+    this.markRedraw();
+  };
+  Element2.prototype.beforeUpdate = function() {
+  };
+  Element2.prototype.afterUpdate = function() {
+  };
+  Element2.prototype.update = function() {
+    this.updateTransform();
+    if (this.__dirty) {
+      this.updateInnerText();
+    }
+  };
+  Element2.prototype.updateInnerText = function(forceUpdate) {
+    var textEl = this._textContent;
+    if (textEl && (!textEl.ignore || forceUpdate)) {
+      if (!this.textConfig) {
+        this.textConfig = {};
+      }
+      var textConfig = this.textConfig;
+      var isLocal = textConfig.local;
+      var innerTransformable = textEl.innerTransformable;
+      var textAlign = void 0;
+      var textVerticalAlign = void 0;
+      var textStyleChanged = false;
+      innerTransformable.parent = isLocal ? this : null;
+      var innerOrigin = false;
+      innerTransformable.copyTransform(textEl);
+      if (textConfig.position != null) {
+        var layoutRect = tmpBoundingRect;
+        if (textConfig.layoutRect) {
+          layoutRect.copy(textConfig.layoutRect);
+        } else {
+          layoutRect.copy(this.getBoundingRect());
+        }
+        if (!isLocal) {
+          layoutRect.applyTransform(this.transform);
+        }
+        if (this.calculateTextPosition) {
+          this.calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);
+        } else {
+          calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);
+        }
+        innerTransformable.x = tmpTextPosCalcRes.x;
+        innerTransformable.y = tmpTextPosCalcRes.y;
+        textAlign = tmpTextPosCalcRes.align;
+        textVerticalAlign = tmpTextPosCalcRes.verticalAlign;
+        var textOrigin = textConfig.origin;
+        if (textOrigin && textConfig.rotation != null) {
+          var relOriginX = void 0;
+          var relOriginY = void 0;
+          if (textOrigin === "center") {
+            relOriginX = layoutRect.width * 0.5;
+            relOriginY = layoutRect.height * 0.5;
+          } else {
+            relOriginX = parsePercent$1(textOrigin[0], layoutRect.width);
+            relOriginY = parsePercent$1(textOrigin[1], layoutRect.height);
+          }
+          innerOrigin = true;
+          innerTransformable.originX = -innerTransformable.x + relOriginX + (isLocal ? 0 : layoutRect.x);
+          innerTransformable.originY = -innerTransformable.y + relOriginY + (isLocal ? 0 : layoutRect.y);
+        }
+      }
+      if (textConfig.rotation != null) {
+        innerTransformable.rotation = textConfig.rotation;
+      }
+      var textOffset = textConfig.offset;
+      if (textOffset) {
+        innerTransformable.x += textOffset[0];
+        innerTransformable.y += textOffset[1];
+        if (!innerOrigin) {
+          innerTransformable.originX = -textOffset[0];
+          innerTransformable.originY = -textOffset[1];
+        }
+      }
+      var isInside = textConfig.inside == null ? typeof textConfig.position === "string" && textConfig.position.indexOf("inside") >= 0 : textConfig.inside;
+      var innerTextDefaultStyle = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {});
+      var textFill = void 0;
+      var textStroke = void 0;
+      var autoStroke = void 0;
+      if (isInside && this.canBeInsideText()) {
+        textFill = textConfig.insideFill;
+        textStroke = textConfig.insideStroke;
+        if (textFill == null || textFill === "auto") {
+          textFill = this.getInsideTextFill();
+        }
+        if (textStroke == null || textStroke === "auto") {
+          textStroke = this.getInsideTextStroke(textFill);
+          autoStroke = true;
+        }
+      } else {
+        textFill = textConfig.outsideFill;
+        textStroke = textConfig.outsideStroke;
+        if (textFill == null || textFill === "auto") {
+          textFill = this.getOutsideFill();
+        }
+        if (textStroke == null || textStroke === "auto") {
+          textStroke = this.getOutsideStroke(textFill);
+          autoStroke = true;
+        }
+      }
+      textFill = textFill || "#000";
+      if (textFill !== innerTextDefaultStyle.fill || textStroke !== innerTextDefaultStyle.stroke || autoStroke !== innerTextDefaultStyle.autoStroke || textAlign !== innerTextDefaultStyle.align || textVerticalAlign !== innerTextDefaultStyle.verticalAlign) {
+        textStyleChanged = true;
+        innerTextDefaultStyle.fill = textFill;
+        innerTextDefaultStyle.stroke = textStroke;
+        innerTextDefaultStyle.autoStroke = autoStroke;
+        innerTextDefaultStyle.align = textAlign;
+        innerTextDefaultStyle.verticalAlign = textVerticalAlign;
+        textEl.setDefaultTextStyle(innerTextDefaultStyle);
+      }
+      textEl.__dirty |= REDRAW_BIT;
+      if (textStyleChanged) {
+        textEl.dirtyStyle(true);
+      }
+    }
+  };
+  Element2.prototype.canBeInsideText = function() {
+    return true;
+  };
+  Element2.prototype.getInsideTextFill = function() {
+    return "#fff";
+  };
+  Element2.prototype.getInsideTextStroke = function(textFill) {
+    return "#000";
+  };
+  Element2.prototype.getOutsideFill = function() {
+    return this.__zr && this.__zr.isDarkMode() ? LIGHT_LABEL_COLOR : DARK_LABEL_COLOR;
+  };
+  Element2.prototype.getOutsideStroke = function(textFill) {
+    var backgroundColor2 = this.__zr && this.__zr.getBackgroundColor();
+    var colorArr = typeof backgroundColor2 === "string" && parse$1(backgroundColor2);
+    if (!colorArr) {
+      colorArr = [255, 255, 255, 1];
+    }
+    var alpha = colorArr[3];
+    var isDark = this.__zr.isDarkMode();
+    for (var i2 = 0; i2 < 3; i2++) {
+      colorArr[i2] = colorArr[i2] * alpha + (isDark ? 0 : 255) * (1 - alpha);
+    }
+    colorArr[3] = 1;
+    return stringify(colorArr, "rgba");
+  };
+  Element2.prototype.traverse = function(cb, context) {
+  };
+  Element2.prototype.attrKV = function(key2, value) {
+    if (key2 === "textConfig") {
+      this.setTextConfig(value);
+    } else if (key2 === "textContent") {
+      this.setTextContent(value);
+    } else if (key2 === "clipPath") {
+      this.setClipPath(value);
+    } else if (key2 === "extra") {
+      this.extra = this.extra || {};
+      extend$1(this.extra, value);
+    } else {
+      this[key2] = value;
+    }
+  };
+  Element2.prototype.hide = function() {
+    this.ignore = true;
+    this.markRedraw();
+  };
+  Element2.prototype.show = function() {
+    this.ignore = false;
+    this.markRedraw();
+  };
+  Element2.prototype.attr = function(keyOrObj, value) {
+    if (typeof keyOrObj === "string") {
+      this.attrKV(keyOrObj, value);
+    } else if (isObject$4(keyOrObj)) {
+      var obj2 = keyOrObj;
+      var keysArr = keys(obj2);
+      for (var i2 = 0; i2 < keysArr.length; i2++) {
+        var key2 = keysArr[i2];
+        this.attrKV(key2, keyOrObj[key2]);
+      }
+    }
+    this.markRedraw();
+    return this;
+  };
+  Element2.prototype.saveCurrentToNormalState = function(toState) {
+    this._innerSaveToNormal(toState);
+    var normalState = this._normalState;
+    for (var i2 = 0; i2 < this.animators.length; i2++) {
+      var animator = this.animators[i2];
+      var fromStateTransition = animator.__fromStateTransition;
+      if (animator.getLoop() || fromStateTransition && fromStateTransition !== PRESERVED_NORMAL_STATE) {
+        continue;
+      }
+      var targetName = animator.targetName;
+      var target = targetName ? normalState[targetName] : normalState;
+      animator.saveTo(target);
+    }
+  };
+  Element2.prototype._innerSaveToNormal = function(toState) {
+    var normalState = this._normalState;
+    if (!normalState) {
+      normalState = this._normalState = {};
+    }
+    if (toState.textConfig && !normalState.textConfig) {
+      normalState.textConfig = this.textConfig;
+    }
+    this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS$1);
+  };
+  Element2.prototype._savePrimaryToNormal = function(toState, normalState, primaryKeys) {
+    for (var i2 = 0; i2 < primaryKeys.length; i2++) {
+      var key2 = primaryKeys[i2];
+      if (toState[key2] != null && !(key2 in normalState)) {
+        normalState[key2] = this[key2];
+      }
+    }
+  };
+  Element2.prototype.hasState = function() {
+    return this.currentStates.length > 0;
+  };
+  Element2.prototype.getState = function(name2) {
+    return this.states[name2];
+  };
+  Element2.prototype.ensureState = function(name2) {
+    var states = this.states;
+    if (!states[name2]) {
+      states[name2] = {};
+    }
+    return states[name2];
+  };
+  Element2.prototype.clearStates = function(noAnimation) {
+    this.useState(PRESERVED_NORMAL_STATE, false, noAnimation);
+  };
+  Element2.prototype.useState = function(stateName, keepCurrentStates, noAnimation, forceUseHoverLayer) {
+    var toNormalState = stateName === PRESERVED_NORMAL_STATE;
+    var hasStates = this.hasState();
+    if (!hasStates && toNormalState) {
+      return;
+    }
+    var currentStates = this.currentStates;
+    var animationCfg = this.stateTransition;
+    if (indexOf(currentStates, stateName) >= 0 && (keepCurrentStates || currentStates.length === 1)) {
+      return;
+    }
+    var state;
+    if (this.stateProxy && !toNormalState) {
+      state = this.stateProxy(stateName);
+    }
+    if (!state) {
+      state = this.states && this.states[stateName];
+    }
+    if (!state && !toNormalState) {
+      logError("State " + stateName + " not exists.");
+      return;
+    }
+    if (!toNormalState) {
+      this.saveCurrentToNormalState(state);
+    }
+    var useHoverLayer = !!(state && state.hoverLayer || forceUseHoverLayer);
+    if (useHoverLayer) {
+      this._toggleHoverLayerFlag(true);
+    }
+    this._applyStateObj(stateName, state, this._normalState, keepCurrentStates, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);
+    var textContent = this._textContent;
+    var textGuide = this._textGuide;
+    if (textContent) {
+      textContent.useState(stateName, keepCurrentStates, noAnimation, useHoverLayer);
+    }
+    if (textGuide) {
+      textGuide.useState(stateName, keepCurrentStates, noAnimation, useHoverLayer);
+    }
+    if (toNormalState) {
+      this.currentStates = [];
+      this._normalState = {};
+    } else {
+      if (!keepCurrentStates) {
+        this.currentStates = [stateName];
+      } else {
+        this.currentStates.push(stateName);
+      }
+    }
+    this._updateAnimationTargets();
+    this.markRedraw();
+    if (!useHoverLayer && this.__inHover) {
+      this._toggleHoverLayerFlag(false);
+      this.__dirty &= ~REDRAW_BIT;
+    }
+    return state;
+  };
+  Element2.prototype.useStates = function(states, noAnimation, forceUseHoverLayer) {
+    if (!states.length) {
+      this.clearStates();
+    } else {
+      var stateObjects = [];
+      var currentStates = this.currentStates;
+      var len2 = states.length;
+      var notChange = len2 === currentStates.length;
+      if (notChange) {
+        for (var i2 = 0; i2 < len2; i2++) {
+          if (states[i2] !== currentStates[i2]) {
+            notChange = false;
+            break;
+          }
+        }
+      }
+      if (notChange) {
+        return;
+      }
+      for (var i2 = 0; i2 < len2; i2++) {
+        var stateName = states[i2];
+        var stateObj = void 0;
+        if (this.stateProxy) {
+          stateObj = this.stateProxy(stateName, states);
+        }
+        if (!stateObj) {
+          stateObj = this.states[stateName];
+        }
+        if (stateObj) {
+          stateObjects.push(stateObj);
+        }
+      }
+      var lastStateObj = stateObjects[len2 - 1];
+      var useHoverLayer = !!(lastStateObj && lastStateObj.hoverLayer || forceUseHoverLayer);
+      if (useHoverLayer) {
+        this._toggleHoverLayerFlag(true);
+      }
+      var mergedState = this._mergeStates(stateObjects);
+      var animationCfg = this.stateTransition;
+      this.saveCurrentToNormalState(mergedState);
+      this._applyStateObj(states.join(","), mergedState, this._normalState, false, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);
+      var textContent = this._textContent;
+      var textGuide = this._textGuide;
+      if (textContent) {
+        textContent.useStates(states, noAnimation, useHoverLayer);
+      }
+      if (textGuide) {
+        textGuide.useStates(states, noAnimation, useHoverLayer);
+      }
+      this._updateAnimationTargets();
+      this.currentStates = states.slice();
+      this.markRedraw();
+      if (!useHoverLayer && this.__inHover) {
+        this._toggleHoverLayerFlag(false);
+        this.__dirty &= ~REDRAW_BIT;
+      }
+    }
+  };
+  Element2.prototype._updateAnimationTargets = function() {
+    for (var i2 = 0; i2 < this.animators.length; i2++) {
+      var animator = this.animators[i2];
+      if (animator.targetName) {
+        animator.changeTarget(this[animator.targetName]);
+      }
+    }
+  };
+  Element2.prototype.removeState = function(state) {
+    var idx = indexOf(this.currentStates, state);
+    if (idx >= 0) {
+      var currentStates = this.currentStates.slice();
+      currentStates.splice(idx, 1);
+      this.useStates(currentStates);
+    }
+  };
+  Element2.prototype.replaceState = function(oldState, newState, forceAdd) {
+    var currentStates = this.currentStates.slice();
+    var idx = indexOf(currentStates, oldState);
+    var newStateExists = indexOf(currentStates, newState) >= 0;
+    if (idx >= 0) {
+      if (!newStateExists) {
+        currentStates[idx] = newState;
+      } else {
+        currentStates.splice(idx, 1);
+      }
+    } else if (forceAdd && !newStateExists) {
+      currentStates.push(newState);
+    }
+    this.useStates(currentStates);
+  };
+  Element2.prototype.toggleState = function(state, enable) {
+    if (enable) {
+      this.useState(state, true);
+    } else {
+      this.removeState(state);
+    }
+  };
+  Element2.prototype._mergeStates = function(states) {
+    var mergedState = {};
+    var mergedTextConfig;
+    for (var i2 = 0; i2 < states.length; i2++) {
+      var state = states[i2];
+      extend$1(mergedState, state);
+      if (state.textConfig) {
+        mergedTextConfig = mergedTextConfig || {};
+        extend$1(mergedTextConfig, state.textConfig);
+      }
+    }
+    if (mergedTextConfig) {
+      mergedState.textConfig = mergedTextConfig;
+    }
+    return mergedState;
+  };
+  Element2.prototype._applyStateObj = function(stateName, state, normalState, keepCurrentStates, transition2, animationCfg) {
+    var needsRestoreToNormal = !(state && keepCurrentStates);
+    if (state && state.textConfig) {
+      this.textConfig = extend$1({}, keepCurrentStates ? this.textConfig : normalState.textConfig);
+      extend$1(this.textConfig, state.textConfig);
+    } else if (needsRestoreToNormal) {
+      if (normalState.textConfig) {
+        this.textConfig = normalState.textConfig;
+      }
+    }
+    var transitionTarget = {};
+    var hasTransition2 = false;
+    for (var i2 = 0; i2 < PRIMARY_STATES_KEYS$1.length; i2++) {
+      var key2 = PRIMARY_STATES_KEYS$1[i2];
+      var propNeedsTransition = transition2 && DEFAULT_ANIMATABLE_MAP[key2];
+      if (state && state[key2] != null) {
+        if (propNeedsTransition) {
+          hasTransition2 = true;
+          transitionTarget[key2] = state[key2];
+        } else {
+          this[key2] = state[key2];
+        }
+      } else if (needsRestoreToNormal) {
+        if (normalState[key2] != null) {
+          if (propNeedsTransition) {
+            hasTransition2 = true;
+            transitionTarget[key2] = normalState[key2];
+          } else {
+            this[key2] = normalState[key2];
+          }
+        }
+      }
+    }
+    if (!transition2) {
+      for (var i2 = 0; i2 < this.animators.length; i2++) {
+        var animator = this.animators[i2];
+        var targetName = animator.targetName;
+        if (!animator.getLoop()) {
+          animator.__changeFinalValue(targetName ? (state || normalState)[targetName] : state || normalState);
+        }
+      }
+    }
+    if (hasTransition2) {
+      this._transitionState(stateName, transitionTarget, animationCfg);
+    }
+  };
+  Element2.prototype._attachComponent = function(componentEl) {
+    if (componentEl.__zr && !componentEl.__hostTarget) {
+      return;
+    }
+    if (componentEl === this) {
+      return;
+    }
+    var zr = this.__zr;
+    if (zr) {
+      componentEl.addSelfToZr(zr);
+    }
+    componentEl.__zr = zr;
+    componentEl.__hostTarget = this;
+  };
+  Element2.prototype._detachComponent = function(componentEl) {
+    if (componentEl.__zr) {
+      componentEl.removeSelfFromZr(componentEl.__zr);
+    }
+    componentEl.__zr = null;
+    componentEl.__hostTarget = null;
+  };
+  Element2.prototype.getClipPath = function() {
+    return this._clipPath;
+  };
+  Element2.prototype.setClipPath = function(clipPath) {
+    if (this._clipPath && this._clipPath !== clipPath) {
+      this.removeClipPath();
+    }
+    this._attachComponent(clipPath);
+    this._clipPath = clipPath;
+    this.markRedraw();
+  };
+  Element2.prototype.removeClipPath = function() {
+    var clipPath = this._clipPath;
+    if (clipPath) {
+      this._detachComponent(clipPath);
+      this._clipPath = null;
+      this.markRedraw();
+    }
+  };
+  Element2.prototype.getTextContent = function() {
+    return this._textContent;
+  };
+  Element2.prototype.setTextContent = function(textEl) {
+    var previousTextContent = this._textContent;
+    if (previousTextContent === textEl) {
+      return;
+    }
+    if (previousTextContent && previousTextContent !== textEl) {
+      this.removeTextContent();
+    }
+    textEl.innerTransformable = new Transformable$1();
+    this._attachComponent(textEl);
+    this._textContent = textEl;
+    this.markRedraw();
+  };
+  Element2.prototype.setTextConfig = function(cfg) {
+    if (!this.textConfig) {
+      this.textConfig = {};
+    }
+    extend$1(this.textConfig, cfg);
+    this.markRedraw();
+  };
+  Element2.prototype.removeTextConfig = function() {
+    this.textConfig = null;
+    this.markRedraw();
+  };
+  Element2.prototype.removeTextContent = function() {
+    var textEl = this._textContent;
+    if (textEl) {
+      textEl.innerTransformable = null;
+      this._detachComponent(textEl);
+      this._textContent = null;
+      this._innerTextDefaultStyle = null;
+      this.markRedraw();
+    }
+  };
+  Element2.prototype.getTextGuideLine = function() {
+    return this._textGuide;
+  };
+  Element2.prototype.setTextGuideLine = function(guideLine) {
+    if (this._textGuide && this._textGuide !== guideLine) {
+      this.removeTextGuideLine();
+    }
+    this._attachComponent(guideLine);
+    this._textGuide = guideLine;
+    this.markRedraw();
+  };
+  Element2.prototype.removeTextGuideLine = function() {
+    var textGuide = this._textGuide;
+    if (textGuide) {
+      this._detachComponent(textGuide);
+      this._textGuide = null;
+      this.markRedraw();
+    }
+  };
+  Element2.prototype.markRedraw = function() {
+    this.__dirty |= REDRAW_BIT;
+    var zr = this.__zr;
+    if (zr) {
+      if (this.__inHover) {
+        zr.refreshHover();
+      } else {
+        zr.refresh();
+      }
+    }
+    if (this.__hostTarget) {
+      this.__hostTarget.markRedraw();
+    }
+  };
+  Element2.prototype.dirty = function() {
+    this.markRedraw();
+  };
+  Element2.prototype._toggleHoverLayerFlag = function(inHover) {
+    this.__inHover = inHover;
+    var textContent = this._textContent;
+    var textGuide = this._textGuide;
+    if (textContent) {
+      textContent.__inHover = inHover;
+    }
+    if (textGuide) {
+      textGuide.__inHover = inHover;
+    }
+  };
+  Element2.prototype.addSelfToZr = function(zr) {
+    if (this.__zr === zr) {
+      return;
+    }
+    this.__zr = zr;
+    var animators = this.animators;
+    if (animators) {
+      for (var i2 = 0; i2 < animators.length; i2++) {
+        zr.animation.addAnimator(animators[i2]);
+      }
+    }
+    if (this._clipPath) {
+      this._clipPath.addSelfToZr(zr);
+    }
+    if (this._textContent) {
+      this._textContent.addSelfToZr(zr);
+    }
+    if (this._textGuide) {
+      this._textGuide.addSelfToZr(zr);
+    }
+  };
+  Element2.prototype.removeSelfFromZr = function(zr) {
+    if (!this.__zr) {
+      return;
+    }
+    this.__zr = null;
+    var animators = this.animators;
+    if (animators) {
+      for (var i2 = 0; i2 < animators.length; i2++) {
+        zr.animation.removeAnimator(animators[i2]);
+      }
+    }
+    if (this._clipPath) {
+      this._clipPath.removeSelfFromZr(zr);
+    }
+    if (this._textContent) {
+      this._textContent.removeSelfFromZr(zr);
+    }
+    if (this._textGuide) {
+      this._textGuide.removeSelfFromZr(zr);
+    }
+  };
+  Element2.prototype.animate = function(key2, loop, allowDiscreteAnimation) {
+    var target = key2 ? this[key2] : this;
+    var animator = new Animator$1(target, loop, allowDiscreteAnimation);
+    key2 && (animator.targetName = key2);
+    this.addAnimator(animator, key2);
+    return animator;
+  };
+  Element2.prototype.addAnimator = function(animator, key2) {
+    var zr = this.__zr;
+    var el = this;
+    animator.during(function() {
+      el.updateDuringAnimation(key2);
+    }).done(function() {
+      var animators = el.animators;
+      var idx = indexOf(animators, animator);
+      if (idx >= 0) {
+        animators.splice(idx, 1);
+      }
+    });
+    this.animators.push(animator);
+    if (zr) {
+      zr.animation.addAnimator(animator);
+    }
+    zr && zr.wakeUp();
+  };
+  Element2.prototype.updateDuringAnimation = function(key2) {
+    this.markRedraw();
+  };
+  Element2.prototype.stopAnimation = function(scope, forwardToLast) {
+    var animators = this.animators;
+    var len2 = animators.length;
+    var leftAnimators = [];
+    for (var i2 = 0; i2 < len2; i2++) {
+      var animator = animators[i2];
+      if (!scope || scope === animator.scope) {
+        animator.stop(forwardToLast);
+      } else {
+        leftAnimators.push(animator);
+      }
+    }
+    this.animators = leftAnimators;
+    return this;
+  };
+  Element2.prototype.animateTo = function(target, cfg, animationProps) {
+    animateTo(this, target, cfg, animationProps);
+  };
+  Element2.prototype.animateFrom = function(target, cfg, animationProps) {
+    animateTo(this, target, cfg, animationProps, true);
+  };
+  Element2.prototype._transitionState = function(stateName, target, cfg, animationProps) {
+    var animators = animateTo(this, target, cfg, animationProps);
+    for (var i2 = 0; i2 < animators.length; i2++) {
+      animators[i2].__fromStateTransition = stateName;
+    }
+  };
+  Element2.prototype.getBoundingRect = function() {
+    return null;
+  };
+  Element2.prototype.getPaintRect = function() {
+    return null;
+  };
+  Element2.initDefaultProps = function() {
+    var elProto = Element2.prototype;
+    elProto.type = "element";
+    elProto.name = "";
+    elProto.ignore = elProto.silent = elProto.isGroup = elProto.draggable = elProto.dragging = elProto.ignoreClip = elProto.__inHover = false;
+    elProto.__dirty = REDRAW_BIT;
+    function createLegacyProperty(key2, privateKey, xKey, yKey) {
+      Object.defineProperty(elProto, key2, {
+        get: function() {
+          if (!this[privateKey]) {
+            var pos = this[privateKey] = [];
+            enhanceArray(this, pos);
+          }
+          return this[privateKey];
+        },
+        set: function(pos) {
+          this[xKey] = pos[0];
+          this[yKey] = pos[1];
+          this[privateKey] = pos;
+          enhanceArray(this, pos);
+        }
+      });
+      function enhanceArray(self2, pos) {
+        Object.defineProperty(pos, 0, {
+          get: function() {
+            return self2[xKey];
+          },
+          set: function(val) {
+            self2[xKey] = val;
+          }
+        });
+        Object.defineProperty(pos, 1, {
+          get: function() {
+            return self2[yKey];
+          },
+          set: function(val) {
+            self2[yKey] = val;
+          }
+        });
+      }
+    }
+    if (Object.defineProperty) {
+      createLegacyProperty("position", "_legacyPos", "x", "y");
+      createLegacyProperty("scale", "_legacyScale", "scaleX", "scaleY");
+      createLegacyProperty("origin", "_legacyOrigin", "originX", "originY");
+    }
+  }();
+  return Element2;
+}();
+mixin(Element, Eventful$1);
+mixin(Element, Transformable$1);
+function animateTo(animatable, target, cfg, animationProps, reverse2) {
+  cfg = cfg || {};
+  var animators = [];
+  animateToShallow(animatable, "", animatable, target, cfg, animationProps, animators, reverse2);
+  var finishCount = animators.length;
+  var doneHappened = false;
+  var cfgDone = cfg.done;
+  var cfgAborted = cfg.aborted;
+  var doneCb = function() {
+    doneHappened = true;
+    finishCount--;
+    if (finishCount <= 0) {
+      doneHappened ? cfgDone && cfgDone() : cfgAborted && cfgAborted();
+    }
+  };
+  var abortedCb = function() {
+    finishCount--;
+    if (finishCount <= 0) {
+      doneHappened ? cfgDone && cfgDone() : cfgAborted && cfgAborted();
+    }
+  };
+  if (!finishCount) {
+    cfgDone && cfgDone();
+  }
+  if (animators.length > 0 && cfg.during) {
+    animators[0].during(function(target2, percent) {
+      cfg.during(percent);
+    });
+  }
+  for (var i2 = 0; i2 < animators.length; i2++) {
+    var animator = animators[i2];
+    if (doneCb) {
+      animator.done(doneCb);
+    }
+    if (abortedCb) {
+      animator.aborted(abortedCb);
+    }
+    if (cfg.force) {
+      animator.duration(cfg.duration);
+    }
+    animator.start(cfg.easing);
+  }
+  return animators;
+}
+function copyArrShallow(source2, target, len2) {
+  for (var i2 = 0; i2 < len2; i2++) {
+    source2[i2] = target[i2];
+  }
+}
+function is2DArray(value) {
+  return isArrayLike(value[0]);
+}
+function copyValue(target, source2, key2) {
+  if (isArrayLike(source2[key2])) {
+    if (!isArrayLike(target[key2])) {
+      target[key2] = [];
+    }
+    if (isTypedArray$1(source2[key2])) {
+      var len2 = source2[key2].length;
+      if (target[key2].length !== len2) {
+        target[key2] = new source2[key2].constructor(len2);
+        copyArrShallow(target[key2], source2[key2], len2);
+      }
+    } else {
+      var sourceArr = source2[key2];
+      var targetArr = target[key2];
+      var len0 = sourceArr.length;
+      if (is2DArray(sourceArr)) {
+        var len1 = sourceArr[0].length;
+        for (var i2 = 0; i2 < len0; i2++) {
+          if (!targetArr[i2]) {
+            targetArr[i2] = Array.prototype.slice.call(sourceArr[i2]);
+          } else {
+            copyArrShallow(targetArr[i2], sourceArr[i2], len1);
+          }
+        }
+      } else {
+        copyArrShallow(targetArr, sourceArr, len0);
+      }
+      targetArr.length = sourceArr.length;
+    }
+  } else {
+    target[key2] = source2[key2];
+  }
+}
+function isValueSame(val1, val2) {
+  return val1 === val2 || isArrayLike(val1) && isArrayLike(val2) && is1DArraySame(val1, val2);
+}
+function is1DArraySame(arr0, arr1) {
+  var len2 = arr0.length;
+  if (len2 !== arr1.length) {
+    return false;
+  }
+  for (var i2 = 0; i2 < len2; i2++) {
+    if (arr0[i2] !== arr1[i2]) {
+      return false;
+    }
+  }
+  return true;
+}
+function animateToShallow(animatable, topKey, animateObj, target, cfg, animationProps, animators, reverse2) {
+  var targetKeys = keys(target);
+  var duration = cfg.duration;
+  var delay = cfg.delay;
+  var additive = cfg.additive;
+  var setToFinal = cfg.setToFinal;
+  var animateAll = !isObject$4(animationProps);
+  var existsAnimators = animatable.animators;
+  var animationKeys = [];
+  for (var k2 = 0; k2 < targetKeys.length; k2++) {
+    var innerKey = targetKeys[k2];
+    var targetVal = target[innerKey];
+    if (targetVal != null && animateObj[innerKey] != null && (animateAll || animationProps[innerKey])) {
+      if (isObject$4(targetVal) && !isArrayLike(targetVal) && !isGradientObject(targetVal)) {
+        if (topKey) {
+          if (!reverse2) {
+            animateObj[innerKey] = targetVal;
+            animatable.updateDuringAnimation(topKey);
+          }
+          continue;
+        }
+        animateToShallow(animatable, innerKey, animateObj[innerKey], targetVal, cfg, animationProps && animationProps[innerKey], animators, reverse2);
+      } else {
+        animationKeys.push(innerKey);
+      }
+    } else if (!reverse2) {
+      animateObj[innerKey] = targetVal;
+      animatable.updateDuringAnimation(topKey);
+      animationKeys.push(innerKey);
+    }
+  }
+  var keyLen = animationKeys.length;
+  if (!additive && keyLen) {
+    for (var i2 = 0; i2 < existsAnimators.length; i2++) {
+      var animator = existsAnimators[i2];
+      if (animator.targetName === topKey) {
+        var allAborted = animator.stopTracks(animationKeys);
+        if (allAborted) {
+          var idx = indexOf(existsAnimators, animator);
+          existsAnimators.splice(idx, 1);
+        }
+      }
+    }
+  }
+  if (!cfg.force) {
+    animationKeys = filter(animationKeys, function(key2) {
+      return !isValueSame(target[key2], animateObj[key2]);
+    });
+    keyLen = animationKeys.length;
+  }
+  if (keyLen > 0 || cfg.force && !animators.length) {
+    var revertedSource = void 0;
+    var reversedTarget = void 0;
+    var sourceClone = void 0;
+    if (reverse2) {
+      reversedTarget = {};
+      if (setToFinal) {
+        revertedSource = {};
+      }
+      for (var i2 = 0; i2 < keyLen; i2++) {
+        var innerKey = animationKeys[i2];
+        reversedTarget[innerKey] = animateObj[innerKey];
+        if (setToFinal) {
+          revertedSource[innerKey] = target[innerKey];
+        } else {
+          animateObj[innerKey] = target[innerKey];
+        }
+      }
+    } else if (setToFinal) {
+      sourceClone = {};
+      for (var i2 = 0; i2 < keyLen; i2++) {
+        var innerKey = animationKeys[i2];
+        sourceClone[innerKey] = cloneValue(animateObj[innerKey]);
+        copyValue(animateObj, target, innerKey);
+      }
+    }
+    var animator = new Animator$1(animateObj, false, false, additive ? filter(existsAnimators, function(animator2) {
+      return animator2.targetName === topKey;
+    }) : null);
+    animator.targetName = topKey;
+    if (cfg.scope) {
+      animator.scope = cfg.scope;
+    }
+    if (setToFinal && revertedSource) {
+      animator.whenWithKeys(0, revertedSource, animationKeys);
+    }
+    if (sourceClone) {
+      animator.whenWithKeys(0, sourceClone, animationKeys);
+    }
+    animator.whenWithKeys(duration == null ? 500 : duration, reverse2 ? reversedTarget : target, animationKeys).delay(delay || 0);
+    animatable.addAnimator(animator, topKey);
+    animators.push(animator);
+  }
+}
+const Element$1 = Element;
+var Group$3 = function(_super) {
+  __extends(Group2, _super);
+  function Group2(opts2) {
+    var _this = _super.call(this) || this;
+    _this.isGroup = true;
+    _this._children = [];
+    _this.attr(opts2);
+    return _this;
+  }
+  Group2.prototype.childrenRef = function() {
+    return this._children;
+  };
+  Group2.prototype.children = function() {
+    return this._children.slice();
+  };
+  Group2.prototype.childAt = function(idx) {
+    return this._children[idx];
+  };
+  Group2.prototype.childOfName = function(name2) {
+    var children3 = this._children;
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      if (children3[i2].name === name2) {
+        return children3[i2];
+      }
+    }
+  };
+  Group2.prototype.childCount = function() {
+    return this._children.length;
+  };
+  Group2.prototype.add = function(child) {
+    if (child) {
+      if (child !== this && child.parent !== this) {
+        this._children.push(child);
+        this._doAdd(child);
+      }
+    }
+    return this;
+  };
+  Group2.prototype.addBefore = function(child, nextSibling2) {
+    if (child && child !== this && child.parent !== this && nextSibling2 && nextSibling2.parent === this) {
+      var children3 = this._children;
+      var idx = children3.indexOf(nextSibling2);
+      if (idx >= 0) {
+        children3.splice(idx, 0, child);
+        this._doAdd(child);
+      }
+    }
+    return this;
+  };
+  Group2.prototype.replace = function(oldChild, newChild) {
+    var idx = indexOf(this._children, oldChild);
+    if (idx >= 0) {
+      this.replaceAt(newChild, idx);
+    }
+    return this;
+  };
+  Group2.prototype.replaceAt = function(child, index3) {
+    var children3 = this._children;
+    var old = children3[index3];
+    if (child && child !== this && child.parent !== this && child !== old) {
+      children3[index3] = child;
+      old.parent = null;
+      var zr = this.__zr;
+      if (zr) {
+        old.removeSelfFromZr(zr);
+      }
+      this._doAdd(child);
+    }
+    return this;
+  };
+  Group2.prototype._doAdd = function(child) {
+    if (child.parent) {
+      child.parent.remove(child);
+    }
+    child.parent = this;
+    var zr = this.__zr;
+    if (zr && zr !== child.__zr) {
+      child.addSelfToZr(zr);
+    }
+    zr && zr.refresh();
+  };
+  Group2.prototype.remove = function(child) {
+    var zr = this.__zr;
+    var children3 = this._children;
+    var idx = indexOf(children3, child);
+    if (idx < 0) {
+      return this;
+    }
+    children3.splice(idx, 1);
+    child.parent = null;
+    if (zr) {
+      child.removeSelfFromZr(zr);
+    }
+    zr && zr.refresh();
+    return this;
+  };
+  Group2.prototype.removeAll = function() {
+    var children3 = this._children;
+    var zr = this.__zr;
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      var child = children3[i2];
+      if (zr) {
+        child.removeSelfFromZr(zr);
+      }
+      child.parent = null;
+    }
+    children3.length = 0;
+    return this;
+  };
+  Group2.prototype.eachChild = function(cb, context) {
+    var children3 = this._children;
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      var child = children3[i2];
+      cb.call(context, child, i2);
+    }
+    return this;
+  };
+  Group2.prototype.traverse = function(cb, context) {
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      var stopped = cb.call(context, child);
+      if (child.isGroup && !stopped) {
+        child.traverse(cb, context);
+      }
+    }
+    return this;
+  };
+  Group2.prototype.addSelfToZr = function(zr) {
+    _super.prototype.addSelfToZr.call(this, zr);
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      child.addSelfToZr(zr);
+    }
+  };
+  Group2.prototype.removeSelfFromZr = function(zr) {
+    _super.prototype.removeSelfFromZr.call(this, zr);
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      child.removeSelfFromZr(zr);
+    }
+  };
+  Group2.prototype.getBoundingRect = function(includeChildren) {
+    var tmpRect2 = new BoundingRect$1(0, 0, 0, 0);
+    var children3 = includeChildren || this._children;
+    var tmpMat = [];
+    var rect = null;
+    for (var i2 = 0; i2 < children3.length; i2++) {
+      var child = children3[i2];
+      if (child.ignore || child.invisible) {
+        continue;
+      }
+      var childRect = child.getBoundingRect();
+      var transform3 = child.getLocalTransform(tmpMat);
+      if (transform3) {
+        BoundingRect$1.applyTransform(tmpRect2, childRect, transform3);
+        rect = rect || tmpRect2.clone();
+        rect.union(tmpRect2);
+      } else {
+        rect = rect || childRect.clone();
+        rect.union(childRect);
+      }
+    }
+    return rect || tmpRect2;
+  };
+  return Group2;
+}(Element$1);
+Group$3.prototype.type = "group";
+const Group$4 = Group$3;
+/*!
+* ZRender, a high performance 2d drawing library.
+*
+* Copyright (c) 2013, Baidu Inc.
+* All rights reserved.
+*
+* LICENSE
+* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
+*/
+var painterCtors = {};
+var instances$1 = {};
+function delInstance(id) {
+  delete instances$1[id];
+}
+function isDarkMode(backgroundColor2) {
+  if (!backgroundColor2) {
+    return false;
+  }
+  if (typeof backgroundColor2 === "string") {
+    return lum(backgroundColor2, 1) < DARK_MODE_THRESHOLD;
+  } else if (backgroundColor2.colorStops) {
+    var colorStops = backgroundColor2.colorStops;
+    var totalLum = 0;
+    var len2 = colorStops.length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      totalLum += lum(colorStops[i2].color, 1);
+    }
+    totalLum /= len2;
+    return totalLum < DARK_MODE_THRESHOLD;
+  }
+  return false;
+}
+var ZRender = function() {
+  function ZRender2(id, dom2, opts2) {
+    var _this = this;
+    this._sleepAfterStill = 10;
+    this._stillFrameAccum = 0;
+    this._needsRefresh = true;
+    this._needsRefreshHover = true;
+    this._darkMode = false;
+    opts2 = opts2 || {};
+    this.dom = dom2;
+    this.id = id;
+    var storage2 = new Storage$1();
+    var rendererType = opts2.renderer || "canvas";
+    if (!painterCtors[rendererType]) {
+      rendererType = keys(painterCtors)[0];
+    }
+    opts2.useDirtyRect = opts2.useDirtyRect == null ? false : opts2.useDirtyRect;
+    var painter = new painterCtors[rendererType](dom2, storage2, opts2, id);
+    var ssrMode = opts2.ssr || painter.ssrOnly;
+    this.storage = storage2;
+    this.painter = painter;
+    var handerProxy = !env$1.node && !env$1.worker && !ssrMode ? new HandlerProxy(painter.getViewportRoot(), painter.root) : null;
+    var useCoarsePointer = opts2.useCoarsePointer;
+    var usePointerSize = useCoarsePointer == null || useCoarsePointer === "auto" ? env$1.touchEventsSupported : !!useCoarsePointer;
+    var defaultPointerSize = 44;
+    var pointerSize;
+    if (usePointerSize) {
+      pointerSize = retrieve2(opts2.pointerSize, defaultPointerSize);
+    }
+    this.handler = new Handler$1(storage2, painter, handerProxy, painter.root, pointerSize);
+    this.animation = new Animation$1({
+      stage: {
+        update: ssrMode ? null : function() {
+          return _this._flush(true);
+        }
+      }
+    });
+    if (!ssrMode) {
+      this.animation.start();
+    }
+  }
+  ZRender2.prototype.add = function(el) {
+    if (!el) {
+      return;
+    }
+    this.storage.addRoot(el);
+    el.addSelfToZr(this);
+    this.refresh();
+  };
+  ZRender2.prototype.remove = function(el) {
+    if (!el) {
+      return;
+    }
+    this.storage.delRoot(el);
+    el.removeSelfFromZr(this);
+    this.refresh();
+  };
+  ZRender2.prototype.configLayer = function(zLevel, config2) {
+    if (this.painter.configLayer) {
+      this.painter.configLayer(zLevel, config2);
+    }
+    this.refresh();
+  };
+  ZRender2.prototype.setBackgroundColor = function(backgroundColor2) {
+    if (this.painter.setBackgroundColor) {
+      this.painter.setBackgroundColor(backgroundColor2);
+    }
+    this.refresh();
+    this._backgroundColor = backgroundColor2;
+    this._darkMode = isDarkMode(backgroundColor2);
+  };
+  ZRender2.prototype.getBackgroundColor = function() {
+    return this._backgroundColor;
+  };
+  ZRender2.prototype.setDarkMode = function(darkMode) {
+    this._darkMode = darkMode;
+  };
+  ZRender2.prototype.isDarkMode = function() {
+    return this._darkMode;
+  };
+  ZRender2.prototype.refreshImmediately = function(fromInside) {
+    if (!fromInside) {
+      this.animation.update(true);
+    }
+    this._needsRefresh = false;
+    this.painter.refresh();
+    this._needsRefresh = false;
+  };
+  ZRender2.prototype.refresh = function() {
+    this._needsRefresh = true;
+    this.animation.start();
+  };
+  ZRender2.prototype.flush = function() {
+    this._flush(false);
+  };
+  ZRender2.prototype._flush = function(fromInside) {
+    var triggerRendered;
+    var start2 = getTime();
+    if (this._needsRefresh) {
+      triggerRendered = true;
+      this.refreshImmediately(fromInside);
+    }
+    if (this._needsRefreshHover) {
+      triggerRendered = true;
+      this.refreshHoverImmediately();
+    }
+    var end2 = getTime();
+    if (triggerRendered) {
+      this._stillFrameAccum = 0;
+      this.trigger("rendered", {
+        elapsedTime: end2 - start2
+      });
+    } else if (this._sleepAfterStill > 0) {
+      this._stillFrameAccum++;
+      if (this._stillFrameAccum > this._sleepAfterStill) {
+        this.animation.stop();
+      }
+    }
+  };
+  ZRender2.prototype.setSleepAfterStill = function(stillFramesCount) {
+    this._sleepAfterStill = stillFramesCount;
+  };
+  ZRender2.prototype.wakeUp = function() {
+    this.animation.start();
+    this._stillFrameAccum = 0;
+  };
+  ZRender2.prototype.refreshHover = function() {
+    this._needsRefreshHover = true;
+  };
+  ZRender2.prototype.refreshHoverImmediately = function() {
+    this._needsRefreshHover = false;
+    if (this.painter.refreshHover && this.painter.getType() === "canvas") {
+      this.painter.refreshHover();
+    }
+  };
+  ZRender2.prototype.resize = function(opts2) {
+    opts2 = opts2 || {};
+    this.painter.resize(opts2.width, opts2.height);
+    this.handler.resize();
+  };
+  ZRender2.prototype.clearAnimation = function() {
+    this.animation.clear();
+  };
+  ZRender2.prototype.getWidth = function() {
+    return this.painter.getWidth();
+  };
+  ZRender2.prototype.getHeight = function() {
+    return this.painter.getHeight();
+  };
+  ZRender2.prototype.setCursorStyle = function(cursorStyle) {
+    this.handler.setCursorStyle(cursorStyle);
+  };
+  ZRender2.prototype.findHover = function(x2, y2) {
+    return this.handler.findHover(x2, y2);
+  };
+  ZRender2.prototype.on = function(eventName, eventHandler, context) {
+    this.handler.on(eventName, eventHandler, context);
+    return this;
+  };
+  ZRender2.prototype.off = function(eventName, eventHandler) {
+    this.handler.off(eventName, eventHandler);
+  };
+  ZRender2.prototype.trigger = function(eventName, event2) {
+    this.handler.trigger(eventName, event2);
+  };
+  ZRender2.prototype.clear = function() {
+    var roots2 = this.storage.getRoots();
+    for (var i2 = 0; i2 < roots2.length; i2++) {
+      if (roots2[i2] instanceof Group$4) {
+        roots2[i2].removeSelfFromZr(this);
+      }
+    }
+    this.storage.delAllRoots();
+    this.painter.clear();
+  };
+  ZRender2.prototype.dispose = function() {
+    this.animation.stop();
+    this.clear();
+    this.storage.dispose();
+    this.painter.dispose();
+    this.handler.dispose();
+    this.animation = this.storage = this.painter = this.handler = null;
+    delInstance(this.id);
+  };
+  return ZRender2;
+}();
+function init$2(dom2, opts2) {
+  var zr = new ZRender(guid(), dom2, opts2);
+  instances$1[zr.id] = zr;
+  return zr;
+}
+function dispose$1(zr) {
+  zr.dispose();
+}
+function disposeAll() {
+  for (var key2 in instances$1) {
+    if (instances$1.hasOwnProperty(key2)) {
+      instances$1[key2].dispose();
+    }
+  }
+  instances$1 = {};
+}
+function getInstance(id) {
+  return instances$1[id];
+}
+function registerPainter(name2, Ctor) {
+  painterCtors[name2] = Ctor;
+}
+var version$7 = "5.4.4";
+const zrender = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  dispose: dispose$1,
+  disposeAll,
+  getInstance,
+  init: init$2,
+  registerPainter,
+  version: version$7
+}, Symbol.toStringTag, { value: "Module" }));
+var RADIAN_EPSILON = 1e-4;
+var ROUND_SUPPORTED_PRECISION_MAX = 20;
+function _trim(str) {
+  return str.replace(/^\s+|\s+$/g, "");
+}
+function linearMap$2(val, domain, range2, clamp2) {
+  var d0 = domain[0];
+  var d1 = domain[1];
+  var r0 = range2[0];
+  var r1 = range2[1];
+  var subDomain = d1 - d0;
+  var subRange = r1 - r0;
+  if (subDomain === 0) {
+    return subRange === 0 ? r0 : (r0 + r1) / 2;
+  }
+  if (clamp2) {
+    if (subDomain > 0) {
+      if (val <= d0) {
+        return r0;
+      } else if (val >= d1) {
+        return r1;
+      }
+    } else {
+      if (val >= d0) {
+        return r0;
+      } else if (val <= d1) {
+        return r1;
+      }
+    }
+  } else {
+    if (val === d0) {
+      return r0;
+    }
+    if (val === d1) {
+      return r1;
+    }
+  }
+  return (val - d0) / subDomain * subRange + r0;
+}
+function parsePercent(percent, all3) {
+  switch (percent) {
+    case "center":
+    case "middle":
+      percent = "50%";
+      break;
+    case "left":
+    case "top":
+      percent = "0%";
+      break;
+    case "right":
+    case "bottom":
+      percent = "100%";
+      break;
+  }
+  if (isString$1(percent)) {
+    if (_trim(percent).match(/%$/)) {
+      return parseFloat(percent) / 100 * all3;
+    }
+    return parseFloat(percent);
+  }
+  return percent == null ? NaN : +percent;
+}
+function round$3(x2, precision, returnStr) {
+  if (precision == null) {
+    precision = 10;
+  }
+  precision = Math.min(Math.max(0, precision), ROUND_SUPPORTED_PRECISION_MAX);
+  x2 = (+x2).toFixed(precision);
+  return returnStr ? x2 : +x2;
+}
+function asc$2(arr) {
+  arr.sort(function(a2, b2) {
+    return a2 - b2;
+  });
+  return arr;
+}
+function getPrecision(val) {
+  val = +val;
+  if (isNaN(val)) {
+    return 0;
+  }
+  if (val > 1e-14) {
+    var e2 = 1;
+    for (var i2 = 0; i2 < 15; i2++, e2 *= 10) {
+      if (Math.round(val * e2) / e2 === val) {
+        return i2;
+      }
+    }
+  }
+  return getPrecisionSafe(val);
+}
+function getPrecisionSafe(val) {
+  var str = val.toString().toLowerCase();
+  var eIndex = str.indexOf("e");
+  var exp = eIndex > 0 ? +str.slice(eIndex + 1) : 0;
+  var significandPartLen = eIndex > 0 ? eIndex : str.length;
+  var dotIndex = str.indexOf(".");
+  var decimalPartLen = dotIndex < 0 ? 0 : significandPartLen - 1 - dotIndex;
+  return Math.max(0, decimalPartLen - exp);
+}
+function getPixelPrecision(dataExtent, pixelExtent) {
+  var log2 = Math.log;
+  var LN10 = Math.LN10;
+  var dataQuantity = Math.floor(log2(dataExtent[1] - dataExtent[0]) / LN10);
+  var sizeQuantity = Math.round(log2(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10);
+  var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);
+  return !isFinite(precision) ? 20 : precision;
+}
+function getPercentWithPrecision(valueList, idx, precision) {
+  if (!valueList[idx]) {
+    return 0;
+  }
+  var seats = getPercentSeats(valueList, precision);
+  return seats[idx] || 0;
+}
+function getPercentSeats(valueList, precision) {
+  var sum2 = reduce(valueList, function(acc, val) {
+    return acc + (isNaN(val) ? 0 : val);
+  }, 0);
+  if (sum2 === 0) {
+    return [];
+  }
+  var digits = Math.pow(10, precision);
+  var votesPerQuota = map$1(valueList, function(val) {
+    return (isNaN(val) ? 0 : val) / sum2 * digits * 100;
+  });
+  var targetSeats = digits * 100;
+  var seats = map$1(votesPerQuota, function(votes) {
+    return Math.floor(votes);
+  });
+  var currentSum = reduce(seats, function(acc, val) {
+    return acc + val;
+  }, 0);
+  var remainder = map$1(votesPerQuota, function(votes, idx) {
+    return votes - seats[idx];
+  });
+  while (currentSum < targetSeats) {
+    var max3 = Number.NEGATIVE_INFINITY;
+    var maxId = null;
+    for (var i2 = 0, len2 = remainder.length; i2 < len2; ++i2) {
+      if (remainder[i2] > max3) {
+        max3 = remainder[i2];
+        maxId = i2;
+      }
+    }
+    ++seats[maxId];
+    remainder[maxId] = 0;
+    ++currentSum;
+  }
+  return map$1(seats, function(seat) {
+    return seat / digits;
+  });
+}
+function addSafe(val0, val1) {
+  var maxPrecision = Math.max(getPrecision(val0), getPrecision(val1));
+  var sum2 = val0 + val1;
+  return maxPrecision > ROUND_SUPPORTED_PRECISION_MAX ? sum2 : round$3(sum2, maxPrecision);
+}
+var MAX_SAFE_INTEGER = 9007199254740991;
+function remRadian(radian) {
+  var pi2 = Math.PI * 2;
+  return (radian % pi2 + pi2) % pi2;
+}
+function isRadianAroundZero(val) {
+  return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;
+}
+var TIME_REG = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;
+function parseDate(value) {
+  if (value instanceof Date) {
+    return value;
+  } else if (isString$1(value)) {
+    var match = TIME_REG.exec(value);
+    if (!match) {
+      return /* @__PURE__ */ new Date(NaN);
+    }
+    if (!match[8]) {
+      return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0);
+    } else {
+      var hour = +match[4] || 0;
+      if (match[8].toUpperCase() !== "Z") {
+        hour -= +match[8].slice(0, 3);
+      }
+      return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0));
+    }
+  } else if (value == null) {
+    return /* @__PURE__ */ new Date(NaN);
+  }
+  return new Date(Math.round(value));
+}
+function quantity(val) {
+  return Math.pow(10, quantityExponent(val));
+}
+function quantityExponent(val) {
+  if (val === 0) {
+    return 0;
+  }
+  var exp = Math.floor(Math.log(val) / Math.LN10);
+  if (val / Math.pow(10, exp) >= 10) {
+    exp++;
+  }
+  return exp;
+}
+function nice(val, round2) {
+  var exponent = quantityExponent(val);
+  var exp10 = Math.pow(10, exponent);
+  var f2 = val / exp10;
+  var nf;
+  if (round2) {
+    if (f2 < 1.5) {
+      nf = 1;
+    } else if (f2 < 2.5) {
+      nf = 2;
+    } else if (f2 < 4) {
+      nf = 3;
+    } else if (f2 < 7) {
+      nf = 5;
+    } else {
+      nf = 10;
+    }
+  } else {
+    if (f2 < 1) {
+      nf = 1;
+    } else if (f2 < 2) {
+      nf = 2;
+    } else if (f2 < 3) {
+      nf = 3;
+    } else if (f2 < 5) {
+      nf = 5;
+    } else {
+      nf = 10;
+    }
+  }
+  val = nf * exp10;
+  return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;
+}
+function quantile(ascArr, p2) {
+  var H2 = (ascArr.length - 1) * p2 + 1;
+  var h3 = Math.floor(H2);
+  var v4 = +ascArr[h3 - 1];
+  var e2 = H2 - h3;
+  return e2 ? v4 + e2 * (ascArr[h3] - v4) : v4;
+}
+function reformIntervals(list2) {
+  list2.sort(function(a2, b2) {
+    return littleThan2(a2, b2, 0) ? -1 : 1;
+  });
+  var curr = -Infinity;
+  var currClose = 1;
+  for (var i2 = 0; i2 < list2.length; ) {
+    var interval = list2[i2].interval;
+    var close_1 = list2[i2].close;
+    for (var lg = 0; lg < 2; lg++) {
+      if (interval[lg] <= curr) {
+        interval[lg] = curr;
+        close_1[lg] = !lg ? 1 - currClose : 1;
+      }
+      curr = interval[lg];
+      currClose = close_1[lg];
+    }
+    if (interval[0] === interval[1] && close_1[0] * close_1[1] !== 1) {
+      list2.splice(i2, 1);
+    } else {
+      i2++;
+    }
+  }
+  return list2;
+  function littleThan2(a2, b2, lg2) {
+    return a2.interval[lg2] < b2.interval[lg2] || a2.interval[lg2] === b2.interval[lg2] && (a2.close[lg2] - b2.close[lg2] === (!lg2 ? 1 : -1) || !lg2 && littleThan2(a2, b2, 1));
+  }
+}
+function numericToNumber(val) {
+  var valFloat = parseFloat(val);
+  return valFloat == val && (valFloat !== 0 || !isString$1(val) || val.indexOf("x") <= 0) ? valFloat : NaN;
+}
+function isNumeric(val) {
+  return !isNaN(numericToNumber(val));
+}
+function getRandomIdBase() {
+  return Math.round(Math.random() * 9);
+}
+function getGreatestCommonDividor(a2, b2) {
+  if (b2 === 0) {
+    return a2;
+  }
+  return getGreatestCommonDividor(b2, a2 % b2);
+}
+function getLeastCommonMultiple(a2, b2) {
+  if (a2 == null) {
+    return b2;
+  }
+  if (b2 == null) {
+    return a2;
+  }
+  return a2 * b2 / getGreatestCommonDividor(a2, b2);
+}
+var ECHARTS_PREFIX = "[ECharts] ";
+var storedLogs = {};
+var hasConsole = typeof console !== "undefined" && console.warn && console.log;
+function outputLog(type2, str, onlyOnce) {
+  if (hasConsole) {
+    if (onlyOnce) {
+      if (storedLogs[str]) {
+        return;
+      }
+      storedLogs[str] = true;
+    }
+    console[type2](ECHARTS_PREFIX + str);
+  }
+}
+function warn(str, onlyOnce) {
+  outputLog("warn", str, onlyOnce);
+}
+function throwError(msg) {
+  throw new Error(msg);
+}
+function interpolateNumber(p0, p1, percent) {
+  return (p1 - p0) * percent + p0;
+}
+var DUMMY_COMPONENT_NAME_PREFIX = "series\0";
+var INTERNAL_COMPONENT_ID_PREFIX = "\0_ec_\0";
+function normalizeToArray(value) {
+  return value instanceof Array ? value : value == null ? [] : [value];
+}
+function defaultEmphasis(opt, key2, subOpts) {
+  if (opt) {
+    opt[key2] = opt[key2] || {};
+    opt.emphasis = opt.emphasis || {};
+    opt.emphasis[key2] = opt.emphasis[key2] || {};
+    for (var i2 = 0, len2 = subOpts.length; i2 < len2; i2++) {
+      var subOptName = subOpts[i2];
+      if (!opt.emphasis[key2].hasOwnProperty(subOptName) && opt[key2].hasOwnProperty(subOptName)) {
+        opt.emphasis[key2][subOptName] = opt[key2][subOptName];
+      }
+    }
+  }
+}
+var TEXT_STYLE_OPTIONS = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "rich", "tag", "color", "textBorderColor", "textBorderWidth", "width", "height", "lineHeight", "align", "verticalAlign", "baseline", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY", "backgroundColor", "borderColor", "borderWidth", "borderRadius", "padding"];
+function getDataItemValue(dataItem) {
+  return isObject$4(dataItem) && !isArray$2(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;
+}
+function isDataItemOption(dataItem) {
+  return isObject$4(dataItem) && !(dataItem instanceof Array);
+}
+function mappingToExists(existings, newCmptOptions, mode) {
+  var isNormalMergeMode = mode === "normalMerge";
+  var isReplaceMergeMode = mode === "replaceMerge";
+  var isReplaceAllMode = mode === "replaceAll";
+  existings = existings || [];
+  newCmptOptions = (newCmptOptions || []).slice();
+  var existingIdIdxMap = createHashMap();
+  each$f(newCmptOptions, function(cmptOption, index3) {
+    if (!isObject$4(cmptOption)) {
+      newCmptOptions[index3] = null;
+      return;
+    }
+  });
+  var result2 = prepareResult(existings, existingIdIdxMap, mode);
+  if (isNormalMergeMode || isReplaceMergeMode) {
+    mappingById(result2, existings, existingIdIdxMap, newCmptOptions);
+  }
+  if (isNormalMergeMode) {
+    mappingByName(result2, newCmptOptions);
+  }
+  if (isNormalMergeMode || isReplaceMergeMode) {
+    mappingByIndex(result2, newCmptOptions, isReplaceMergeMode);
+  } else if (isReplaceAllMode) {
+    mappingInReplaceAllMode(result2, newCmptOptions);
+  }
+  makeIdAndName(result2);
+  return result2;
+}
+function prepareResult(existings, existingIdIdxMap, mode) {
+  var result2 = [];
+  if (mode === "replaceAll") {
+    return result2;
+  }
+  for (var index3 = 0; index3 < existings.length; index3++) {
+    var existing = existings[index3];
+    if (existing && existing.id != null) {
+      existingIdIdxMap.set(existing.id, index3);
+    }
+    result2.push({
+      existing: mode === "replaceMerge" || isComponentIdInternal(existing) ? null : existing,
+      newOption: null,
+      keyInfo: null,
+      brandNew: null
+    });
+  }
+  return result2;
+}
+function mappingById(result2, existings, existingIdIdxMap, newCmptOptions) {
+  each$f(newCmptOptions, function(cmptOption, index3) {
+    if (!cmptOption || cmptOption.id == null) {
+      return;
+    }
+    var optionId = makeComparableKey(cmptOption.id);
+    var existingIdx = existingIdIdxMap.get(optionId);
+    if (existingIdx != null) {
+      var resultItem = result2[existingIdx];
+      assert(!resultItem.newOption, 'Duplicated option on id "' + optionId + '".');
+      resultItem.newOption = cmptOption;
+      resultItem.existing = existings[existingIdx];
+      newCmptOptions[index3] = null;
+    }
+  });
+}
+function mappingByName(result2, newCmptOptions) {
+  each$f(newCmptOptions, function(cmptOption, index3) {
+    if (!cmptOption || cmptOption.name == null) {
+      return;
+    }
+    for (var i2 = 0; i2 < result2.length; i2++) {
+      var existing = result2[i2].existing;
+      if (!result2[i2].newOption && existing && (existing.id == null || cmptOption.id == null) && !isComponentIdInternal(cmptOption) && !isComponentIdInternal(existing) && keyExistAndEqual("name", existing, cmptOption)) {
+        result2[i2].newOption = cmptOption;
+        newCmptOptions[index3] = null;
+        return;
+      }
+    }
+  });
+}
+function mappingByIndex(result2, newCmptOptions, brandNew) {
+  each$f(newCmptOptions, function(cmptOption) {
+    if (!cmptOption) {
+      return;
+    }
+    var resultItem;
+    var nextIdx = 0;
+    while (
+      // Be `!resultItem` only when `nextIdx >= result.length`.
+      (resultItem = result2[nextIdx]) && // (1) Existing models that already have id should be able to mapped to. Because
+      // after mapping performed, model will always be assigned with an id if user not given.
+      // After that all models have id.
+      // (2) If new option has id, it can only set to a hole or append to the last. It should
+      // not be merged to the existings with different id. Because id should not be overwritten.
+      // (3) Name can be overwritten, because axis use name as 'show label text'.
+      (resultItem.newOption || isComponentIdInternal(resultItem.existing) || // In mode "replaceMerge", here no not-mapped-non-internal-existing.
+      resultItem.existing && cmptOption.id != null && !keyExistAndEqual("id", cmptOption, resultItem.existing))
+    ) {
+      nextIdx++;
+    }
+    if (resultItem) {
+      resultItem.newOption = cmptOption;
+      resultItem.brandNew = brandNew;
+    } else {
+      result2.push({
+        newOption: cmptOption,
+        brandNew,
+        existing: null,
+        keyInfo: null
+      });
+    }
+    nextIdx++;
+  });
+}
+function mappingInReplaceAllMode(result2, newCmptOptions) {
+  each$f(newCmptOptions, function(cmptOption) {
+    result2.push({
+      newOption: cmptOption,
+      brandNew: true,
+      existing: null,
+      keyInfo: null
+    });
+  });
+}
+function makeIdAndName(mapResult) {
+  var idMap = createHashMap();
+  each$f(mapResult, function(item) {
+    var existing = item.existing;
+    existing && idMap.set(existing.id, item);
+  });
+  each$f(mapResult, function(item) {
+    var opt = item.newOption;
+    assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, "id duplicates: " + (opt && opt.id));
+    opt && opt.id != null && idMap.set(opt.id, item);
+    !item.keyInfo && (item.keyInfo = {});
+  });
+  each$f(mapResult, function(item, index3) {
+    var existing = item.existing;
+    var opt = item.newOption;
+    var keyInfo = item.keyInfo;
+    if (!isObject$4(opt)) {
+      return;
+    }
+    keyInfo.name = opt.name != null ? makeComparableKey(opt.name) : existing ? existing.name : DUMMY_COMPONENT_NAME_PREFIX + index3;
+    if (existing) {
+      keyInfo.id = makeComparableKey(existing.id);
+    } else if (opt.id != null) {
+      keyInfo.id = makeComparableKey(opt.id);
+    } else {
+      var idNum = 0;
+      do {
+        keyInfo.id = "\0" + keyInfo.name + "\0" + idNum++;
+      } while (idMap.get(keyInfo.id));
+    }
+    idMap.set(keyInfo.id, item);
+  });
+}
+function keyExistAndEqual(attr, obj1, obj2) {
+  var key1 = convertOptionIdName(obj1[attr], null);
+  var key2 = convertOptionIdName(obj2[attr], null);
+  return key1 != null && key2 != null && key1 === key2;
+}
+function makeComparableKey(val) {
+  return convertOptionIdName(val, "");
+}
+function convertOptionIdName(idOrName, defaultValue) {
+  if (idOrName == null) {
+    return defaultValue;
+  }
+  return isString$1(idOrName) ? idOrName : isNumber$1(idOrName) || isStringSafe(idOrName) ? idOrName + "" : defaultValue;
+}
+function isNameSpecified(componentModel) {
+  var name2 = componentModel.name;
+  return !!(name2 && name2.indexOf(DUMMY_COMPONENT_NAME_PREFIX));
+}
+function isComponentIdInternal(cmptOption) {
+  return cmptOption && cmptOption.id != null && makeComparableKey(cmptOption.id).indexOf(INTERNAL_COMPONENT_ID_PREFIX) === 0;
+}
+function makeInternalComponentId(idSuffix) {
+  return INTERNAL_COMPONENT_ID_PREFIX + idSuffix;
+}
+function setComponentTypeToKeyInfo(mappingResult, mainType, componentModelCtor) {
+  each$f(mappingResult, function(item) {
+    var newOption = item.newOption;
+    if (isObject$4(newOption)) {
+      item.keyInfo.mainType = mainType;
+      item.keyInfo.subType = determineSubType(mainType, newOption, item.existing, componentModelCtor);
+    }
+  });
+}
+function determineSubType(mainType, newCmptOption, existComponent, componentModelCtor) {
+  var subType = newCmptOption.type ? newCmptOption.type : existComponent ? existComponent.subType : componentModelCtor.determineSubType(mainType, newCmptOption);
+  return subType;
+}
+function compressBatches(batchA, batchB) {
+  var mapA = {};
+  var mapB = {};
+  makeMap(batchA || [], mapA);
+  makeMap(batchB || [], mapB, mapA);
+  return [mapToArray(mapA), mapToArray(mapB)];
+  function makeMap(sourceBatch, map2, otherMap) {
+    for (var i2 = 0, len2 = sourceBatch.length; i2 < len2; i2++) {
+      var seriesId = convertOptionIdName(sourceBatch[i2].seriesId, null);
+      if (seriesId == null) {
+        return;
+      }
+      var dataIndices = normalizeToArray(sourceBatch[i2].dataIndex);
+      var otherDataIndices = otherMap && otherMap[seriesId];
+      for (var j2 = 0, lenj = dataIndices.length; j2 < lenj; j2++) {
+        var dataIndex = dataIndices[j2];
+        if (otherDataIndices && otherDataIndices[dataIndex]) {
+          otherDataIndices[dataIndex] = null;
+        } else {
+          (map2[seriesId] || (map2[seriesId] = {}))[dataIndex] = 1;
+        }
+      }
+    }
+  }
+  function mapToArray(map2, isData) {
+    var result2 = [];
+    for (var i2 in map2) {
+      if (map2.hasOwnProperty(i2) && map2[i2] != null) {
+        if (isData) {
+          result2.push(+i2);
+        } else {
+          var dataIndices = mapToArray(map2[i2], true);
+          dataIndices.length && result2.push({
+            seriesId: i2,
+            dataIndex: dataIndices
+          });
+        }
+      }
+    }
+    return result2;
+  }
+}
+function queryDataIndex(data2, payload) {
+  if (payload.dataIndexInside != null) {
+    return payload.dataIndexInside;
+  } else if (payload.dataIndex != null) {
+    return isArray$2(payload.dataIndex) ? map$1(payload.dataIndex, function(value) {
+      return data2.indexOfRawIndex(value);
+    }) : data2.indexOfRawIndex(payload.dataIndex);
+  } else if (payload.name != null) {
+    return isArray$2(payload.name) ? map$1(payload.name, function(value) {
+      return data2.indexOfName(value);
+    }) : data2.indexOfName(payload.name);
+  }
+}
+function makeInner() {
+  var key2 = "__ec_inner_" + innerUniqueIndex++;
+  return function(hostObj) {
+    return hostObj[key2] || (hostObj[key2] = {});
+  };
+}
+var innerUniqueIndex = getRandomIdBase();
+function parseFinder$1(ecModel, finderInput, opt) {
+  var _a2 = preParseFinder(finderInput, opt), mainTypeSpecified = _a2.mainTypeSpecified, queryOptionMap = _a2.queryOptionMap, others = _a2.others;
+  var result2 = others;
+  var defaultMainType = opt ? opt.defaultMainType : null;
+  if (!mainTypeSpecified && defaultMainType) {
+    queryOptionMap.set(defaultMainType, {});
+  }
+  queryOptionMap.each(function(queryOption, mainType) {
+    var queryResult = queryReferringComponents(ecModel, mainType, queryOption, {
+      useDefault: defaultMainType === mainType,
+      enableAll: opt && opt.enableAll != null ? opt.enableAll : true,
+      enableNone: opt && opt.enableNone != null ? opt.enableNone : true
+    });
+    result2[mainType + "Models"] = queryResult.models;
+    result2[mainType + "Model"] = queryResult.models[0];
+  });
+  return result2;
+}
+function preParseFinder(finderInput, opt) {
+  var finder;
+  if (isString$1(finderInput)) {
+    var obj2 = {};
+    obj2[finderInput + "Index"] = 0;
+    finder = obj2;
+  } else {
+    finder = finderInput;
+  }
+  var queryOptionMap = createHashMap();
+  var others = {};
+  var mainTypeSpecified = false;
+  each$f(finder, function(value, key2) {
+    if (key2 === "dataIndex" || key2 === "dataIndexInside") {
+      others[key2] = value;
+      return;
+    }
+    var parsedKey = key2.match(/^(\w+)(Index|Id|Name)$/) || [];
+    var mainType = parsedKey[1];
+    var queryType = (parsedKey[2] || "").toLowerCase();
+    if (!mainType || !queryType || opt && opt.includeMainTypes && indexOf(opt.includeMainTypes, mainType) < 0) {
+      return;
+    }
+    mainTypeSpecified = mainTypeSpecified || !!mainType;
+    var queryOption = queryOptionMap.get(mainType) || queryOptionMap.set(mainType, {});
+    queryOption[queryType] = value;
+  });
+  return {
+    mainTypeSpecified,
+    queryOptionMap,
+    others
+  };
+}
+var SINGLE_REFERRING = {
+  useDefault: true,
+  enableAll: false,
+  enableNone: false
+};
+var MULTIPLE_REFERRING = {
+  useDefault: false,
+  enableAll: true,
+  enableNone: true
+};
+function queryReferringComponents(ecModel, mainType, userOption, opt) {
+  opt = opt || SINGLE_REFERRING;
+  var indexOption = userOption.index;
+  var idOption = userOption.id;
+  var nameOption = userOption.name;
+  var result2 = {
+    models: null,
+    specified: indexOption != null || idOption != null || nameOption != null
+  };
+  if (!result2.specified) {
+    var firstCmpt = void 0;
+    result2.models = opt.useDefault && (firstCmpt = ecModel.getComponent(mainType)) ? [firstCmpt] : [];
+    return result2;
+  }
+  if (indexOption === "none" || indexOption === false) {
+    assert(opt.enableNone, '`"none"` or `false` is not a valid value on index option.');
+    result2.models = [];
+    return result2;
+  }
+  if (indexOption === "all") {
+    assert(opt.enableAll, '`"all"` is not a valid value on index option.');
+    indexOption = idOption = nameOption = null;
+  }
+  result2.models = ecModel.queryComponents({
+    mainType,
+    index: indexOption,
+    id: idOption,
+    name: nameOption
+  });
+  return result2;
+}
+function setAttribute(dom2, key2, value) {
+  dom2.setAttribute ? dom2.setAttribute(key2, value) : dom2[key2] = value;
+}
+function getAttribute(dom2, key2) {
+  return dom2.getAttribute ? dom2.getAttribute(key2) : dom2[key2];
+}
+function getTooltipRenderMode(renderModeOption) {
+  if (renderModeOption === "auto") {
+    return env$1.domSupported ? "html" : "richText";
+  } else {
+    return renderModeOption || "html";
+  }
+}
+function groupData(array, getKey2) {
+  var buckets = createHashMap();
+  var keys2 = [];
+  each$f(array, function(item) {
+    var key2 = getKey2(item);
+    (buckets.get(key2) || (keys2.push(key2), buckets.set(key2, []))).push(item);
+  });
+  return {
+    keys: keys2,
+    buckets
+  };
+}
+function interpolateRawValues(data2, precision, sourceValue, targetValue, percent) {
+  var isAutoPrecision = precision == null || precision === "auto";
+  if (targetValue == null) {
+    return targetValue;
+  }
+  if (isNumber$1(targetValue)) {
+    var value = interpolateNumber(sourceValue || 0, targetValue, percent);
+    return round$3(value, isAutoPrecision ? Math.max(getPrecision(sourceValue || 0), getPrecision(targetValue)) : precision);
+  } else if (isString$1(targetValue)) {
+    return percent < 1 ? sourceValue : targetValue;
+  } else {
+    var interpolated = [];
+    var leftArr = sourceValue;
+    var rightArr = targetValue;
+    var length_1 = Math.max(leftArr ? leftArr.length : 0, rightArr.length);
+    for (var i2 = 0; i2 < length_1; ++i2) {
+      var info = data2.getDimensionInfo(i2);
+      if (info && info.type === "ordinal") {
+        interpolated[i2] = (percent < 1 && leftArr ? leftArr : rightArr)[i2];
+      } else {
+        var leftVal = leftArr && leftArr[i2] ? leftArr[i2] : 0;
+        var rightVal = rightArr[i2];
+        var value = interpolateNumber(leftVal, rightVal, percent);
+        interpolated[i2] = round$3(value, isAutoPrecision ? Math.max(getPrecision(leftVal), getPrecision(rightVal)) : precision);
+      }
+    }
+    return interpolated;
+  }
+}
+var TYPE_DELIMITER = ".";
+var IS_CONTAINER = "___EC__COMPONENT__CONTAINER___";
+var IS_EXTENDED_CLASS = "___EC__EXTENDED_CLASS___";
+function parseClassType(componentType) {
+  var ret = {
+    main: "",
+    sub: ""
+  };
+  if (componentType) {
+    var typeArr = componentType.split(TYPE_DELIMITER);
+    ret.main = typeArr[0] || "";
+    ret.sub = typeArr[1] || "";
+  }
+  return ret;
+}
+function checkClassType(componentType) {
+  assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType "' + componentType + '" illegal');
+}
+function isExtendedClass(clz) {
+  return !!(clz && clz[IS_EXTENDED_CLASS]);
+}
+function enableClassExtend(rootClz, mandatoryMethods) {
+  rootClz.$constructor = rootClz;
+  rootClz.extend = function(proto2) {
+    var superClass = this;
+    var ExtendedClass;
+    if (isESClass(superClass)) {
+      ExtendedClass = /** @class */
+      function(_super) {
+        __extends(class_1, _super);
+        function class_1() {
+          return _super.apply(this, arguments) || this;
+        }
+        return class_1;
+      }(superClass);
+    } else {
+      ExtendedClass = function() {
+        (proto2.$constructor || superClass).apply(this, arguments);
+      };
+      inherits$1(ExtendedClass, this);
+    }
+    extend$1(ExtendedClass.prototype, proto2);
+    ExtendedClass[IS_EXTENDED_CLASS] = true;
+    ExtendedClass.extend = this.extend;
+    ExtendedClass.superCall = superCall;
+    ExtendedClass.superApply = superApply;
+    ExtendedClass.superClass = superClass;
+    return ExtendedClass;
+  };
+}
+function isESClass(fn) {
+  return isFunction$1(fn) && /^class\s/.test(Function.prototype.toString.call(fn));
+}
+function mountExtend(SubClz, SupperClz) {
+  SubClz.extend = SupperClz.extend;
+}
+var classBase = Math.round(Math.random() * 10);
+function enableClassCheck(target) {
+  var classAttr = ["__\0is_clz", classBase++].join("_");
+  target.prototype[classAttr] = true;
+  target.isInstance = function(obj2) {
+    return !!(obj2 && obj2[classAttr]);
+  };
+}
+function superCall(context, methodName) {
+  var args = [];
+  for (var _i = 2; _i < arguments.length; _i++) {
+    args[_i - 2] = arguments[_i];
+  }
+  return this.superClass.prototype[methodName].apply(context, args);
+}
+function superApply(context, methodName, args) {
+  return this.superClass.prototype[methodName].apply(context, args);
+}
+function enableClassManagement(target) {
+  var storage2 = {};
+  target.registerClass = function(clz) {
+    var componentFullType = clz.type || clz.prototype.type;
+    if (componentFullType) {
+      checkClassType(componentFullType);
+      clz.prototype.type = componentFullType;
+      var componentTypeInfo = parseClassType(componentFullType);
+      if (!componentTypeInfo.sub) {
+        storage2[componentTypeInfo.main] = clz;
+      } else if (componentTypeInfo.sub !== IS_CONTAINER) {
+        var container = makeContainer(componentTypeInfo);
+        container[componentTypeInfo.sub] = clz;
+      }
+    }
+    return clz;
+  };
+  target.getClass = function(mainType, subType, throwWhenNotFound) {
+    var clz = storage2[mainType];
+    if (clz && clz[IS_CONTAINER]) {
+      clz = subType ? clz[subType] : null;
+    }
+    if (throwWhenNotFound && !clz) {
+      throw new Error(!subType ? mainType + ".type should be specified." : "Component " + mainType + "." + (subType || "") + " is used but not imported.");
+    }
+    return clz;
+  };
+  target.getClassesByMainType = function(componentType) {
+    var componentTypeInfo = parseClassType(componentType);
+    var result2 = [];
+    var obj2 = storage2[componentTypeInfo.main];
+    if (obj2 && obj2[IS_CONTAINER]) {
+      each$f(obj2, function(o2, type2) {
+        type2 !== IS_CONTAINER && result2.push(o2);
+      });
+    } else {
+      result2.push(obj2);
+    }
+    return result2;
+  };
+  target.hasClass = function(componentType) {
+    var componentTypeInfo = parseClassType(componentType);
+    return !!storage2[componentTypeInfo.main];
+  };
+  target.getAllClassMainTypes = function() {
+    var types2 = [];
+    each$f(storage2, function(obj2, type2) {
+      types2.push(type2);
+    });
+    return types2;
+  };
+  target.hasSubTypes = function(componentType) {
+    var componentTypeInfo = parseClassType(componentType);
+    var obj2 = storage2[componentTypeInfo.main];
+    return obj2 && obj2[IS_CONTAINER];
+  };
+  function makeContainer(componentTypeInfo) {
+    var container = storage2[componentTypeInfo.main];
+    if (!container || !container[IS_CONTAINER]) {
+      container = storage2[componentTypeInfo.main] = {};
+      container[IS_CONTAINER] = true;
+    }
+    return container;
+  }
+}
+function makeStyleMapper(properties, ignoreParent) {
+  for (var i2 = 0; i2 < properties.length; i2++) {
+    if (!properties[i2][1]) {
+      properties[i2][1] = properties[i2][0];
+    }
+  }
+  ignoreParent = ignoreParent || false;
+  return function(model2, excludes, includes) {
+    var style2 = {};
+    for (var i3 = 0; i3 < properties.length; i3++) {
+      var propName = properties[i3][1];
+      if (excludes && indexOf(excludes, propName) >= 0 || includes && indexOf(includes, propName) < 0) {
+        continue;
+      }
+      var val = model2.getShallow(propName, ignoreParent);
+      if (val != null) {
+        style2[properties[i3][0]] = val;
+      }
+    }
+    return style2;
+  };
+}
+var AREA_STYLE_KEY_MAP = [
+  ["fill", "color"],
+  ["shadowBlur"],
+  ["shadowOffsetX"],
+  ["shadowOffsetY"],
+  ["opacity"],
+  ["shadowColor"]
+  // Option decal is in `DecalObject` but style.decal is in `PatternObject`.
+  // So do not transfer decal directly.
+];
+var getAreaStyle = makeStyleMapper(AREA_STYLE_KEY_MAP);
+var AreaStyleMixin = (
+  /** @class */
+  function() {
+    function AreaStyleMixin2() {
+    }
+    AreaStyleMixin2.prototype.getAreaStyle = function(excludes, includes) {
+      return getAreaStyle(this, excludes, includes);
+    };
+    return AreaStyleMixin2;
+  }()
+);
+var globalImageCache = new LRU$1(50);
+function findExistImage(newImageOrSrc) {
+  if (typeof newImageOrSrc === "string") {
+    var cachedImgObj = globalImageCache.get(newImageOrSrc);
+    return cachedImgObj && cachedImgObj.image;
+  } else {
+    return newImageOrSrc;
+  }
+}
+function createOrUpdateImage(newImageOrSrc, image2, hostEl, onload, cbPayload) {
+  if (!newImageOrSrc) {
+    return image2;
+  } else if (typeof newImageOrSrc === "string") {
+    if (image2 && image2.__zrImageSrc === newImageOrSrc || !hostEl) {
+      return image2;
+    }
+    var cachedImgObj = globalImageCache.get(newImageOrSrc);
+    var pendingWrap = { hostEl, cb: onload, cbPayload };
+    if (cachedImgObj) {
+      image2 = cachedImgObj.image;
+      !isImageReady(image2) && cachedImgObj.pending.push(pendingWrap);
+    } else {
+      image2 = platformApi.loadImage(newImageOrSrc, imageOnLoad, imageOnLoad);
+      image2.__zrImageSrc = newImageOrSrc;
+      globalImageCache.put(newImageOrSrc, image2.__cachedImgObj = {
+        image: image2,
+        pending: [pendingWrap]
+      });
+    }
+    return image2;
+  } else {
+    return newImageOrSrc;
+  }
+}
+function imageOnLoad() {
+  var cachedImgObj = this.__cachedImgObj;
+  this.onload = this.onerror = this.__cachedImgObj = null;
+  for (var i2 = 0; i2 < cachedImgObj.pending.length; i2++) {
+    var pendingWrap = cachedImgObj.pending[i2];
+    var cb = pendingWrap.cb;
+    cb && cb(this, pendingWrap.cbPayload);
+    pendingWrap.hostEl.dirty();
+  }
+  cachedImgObj.pending.length = 0;
+}
+function isImageReady(image2) {
+  return image2 && image2.width && image2.height;
+}
+var STYLE_REG = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;
+function truncateText(text2, containerWidth, font, ellipsis, options2) {
+  if (!containerWidth) {
+    return "";
+  }
+  var textLines = (text2 + "").split("\n");
+  options2 = prepareTruncateOptions(containerWidth, font, ellipsis, options2);
+  for (var i2 = 0, len2 = textLines.length; i2 < len2; i2++) {
+    textLines[i2] = truncateSingleLine(textLines[i2], options2);
+  }
+  return textLines.join("\n");
+}
+function prepareTruncateOptions(containerWidth, font, ellipsis, options2) {
+  options2 = options2 || {};
+  var preparedOpts = extend$1({}, options2);
+  preparedOpts.font = font;
+  ellipsis = retrieve2(ellipsis, "...");
+  preparedOpts.maxIterations = retrieve2(options2.maxIterations, 2);
+  var minChar = preparedOpts.minChar = retrieve2(options2.minChar, 0);
+  preparedOpts.cnCharWidth = getWidth("国", font);
+  var ascCharWidth = preparedOpts.ascCharWidth = getWidth("a", font);
+  preparedOpts.placeholder = retrieve2(options2.placeholder, "");
+  var contentWidth = containerWidth = Math.max(0, containerWidth - 1);
+  for (var i2 = 0; i2 < minChar && contentWidth >= ascCharWidth; i2++) {
+    contentWidth -= ascCharWidth;
+  }
+  var ellipsisWidth = getWidth(ellipsis, font);
+  if (ellipsisWidth > contentWidth) {
+    ellipsis = "";
+    ellipsisWidth = 0;
+  }
+  contentWidth = containerWidth - ellipsisWidth;
+  preparedOpts.ellipsis = ellipsis;
+  preparedOpts.ellipsisWidth = ellipsisWidth;
+  preparedOpts.contentWidth = contentWidth;
+  preparedOpts.containerWidth = containerWidth;
+  return preparedOpts;
+}
+function truncateSingleLine(textLine, options2) {
+  var containerWidth = options2.containerWidth;
+  var font = options2.font;
+  var contentWidth = options2.contentWidth;
+  if (!containerWidth) {
+    return "";
+  }
+  var lineWidth = getWidth(textLine, font);
+  if (lineWidth <= containerWidth) {
+    return textLine;
+  }
+  for (var j2 = 0; ; j2++) {
+    if (lineWidth <= contentWidth || j2 >= options2.maxIterations) {
+      textLine += options2.ellipsis;
+      break;
+    }
+    var subLength = j2 === 0 ? estimateLength(textLine, contentWidth, options2.ascCharWidth, options2.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;
+    textLine = textLine.substr(0, subLength);
+    lineWidth = getWidth(textLine, font);
+  }
+  if (textLine === "") {
+    textLine = options2.placeholder;
+  }
+  return textLine;
+}
+function estimateLength(text2, contentWidth, ascCharWidth, cnCharWidth) {
+  var width = 0;
+  var i2 = 0;
+  for (var len2 = text2.length; i2 < len2 && width < contentWidth; i2++) {
+    var charCode = text2.charCodeAt(i2);
+    width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;
+  }
+  return i2;
+}
+function parsePlainText(text2, style2) {
+  text2 != null && (text2 += "");
+  var overflow = style2.overflow;
+  var padding = style2.padding;
+  var font = style2.font;
+  var truncate2 = overflow === "truncate";
+  var calculatedLineHeight = getLineHeight(font);
+  var lineHeight = retrieve2(style2.lineHeight, calculatedLineHeight);
+  var bgColorDrawn = !!style2.backgroundColor;
+  var truncateLineOverflow = style2.lineOverflow === "truncate";
+  var width = style2.width;
+  var lines2;
+  if (width != null && (overflow === "break" || overflow === "breakAll")) {
+    lines2 = text2 ? wrapText(text2, style2.font, width, overflow === "breakAll", 0).lines : [];
+  } else {
+    lines2 = text2 ? text2.split("\n") : [];
+  }
+  var contentHeight = lines2.length * lineHeight;
+  var height = retrieve2(style2.height, contentHeight);
+  if (contentHeight > height && truncateLineOverflow) {
+    var lineCount = Math.floor(height / lineHeight);
+    lines2 = lines2.slice(0, lineCount);
+  }
+  if (text2 && truncate2 && width != null) {
+    var options2 = prepareTruncateOptions(width, font, style2.ellipsis, {
+      minChar: style2.truncateMinChar,
+      placeholder: style2.placeholder
+    });
+    for (var i2 = 0; i2 < lines2.length; i2++) {
+      lines2[i2] = truncateSingleLine(lines2[i2], options2);
+    }
+  }
+  var outerHeight = height;
+  var contentWidth = 0;
+  for (var i2 = 0; i2 < lines2.length; i2++) {
+    contentWidth = Math.max(getWidth(lines2[i2], font), contentWidth);
+  }
+  if (width == null) {
+    width = contentWidth;
+  }
+  var outerWidth = contentWidth;
+  if (padding) {
+    outerHeight += padding[0] + padding[2];
+    outerWidth += padding[1] + padding[3];
+    width += padding[1] + padding[3];
+  }
+  if (bgColorDrawn) {
+    outerWidth = width;
+  }
+  return {
+    lines: lines2,
+    height,
+    outerWidth,
+    outerHeight,
+    lineHeight,
+    calculatedLineHeight,
+    contentWidth,
+    contentHeight,
+    width
+  };
+}
+var RichTextToken = function() {
+  function RichTextToken2() {
+  }
+  return RichTextToken2;
+}();
+var RichTextLine = function() {
+  function RichTextLine2(tokens) {
+    this.tokens = [];
+    if (tokens) {
+      this.tokens = tokens;
+    }
+  }
+  return RichTextLine2;
+}();
+var RichTextContentBlock = function() {
+  function RichTextContentBlock2() {
+    this.width = 0;
+    this.height = 0;
+    this.contentWidth = 0;
+    this.contentHeight = 0;
+    this.outerWidth = 0;
+    this.outerHeight = 0;
+    this.lines = [];
+  }
+  return RichTextContentBlock2;
+}();
+function parseRichText(text2, style2) {
+  var contentBlock = new RichTextContentBlock();
+  text2 != null && (text2 += "");
+  if (!text2) {
+    return contentBlock;
+  }
+  var topWidth = style2.width;
+  var topHeight = style2.height;
+  var overflow = style2.overflow;
+  var wrapInfo = (overflow === "break" || overflow === "breakAll") && topWidth != null ? { width: topWidth, accumWidth: 0, breakAll: overflow === "breakAll" } : null;
+  var lastIndex = STYLE_REG.lastIndex = 0;
+  var result2;
+  while ((result2 = STYLE_REG.exec(text2)) != null) {
+    var matchedIndex = result2.index;
+    if (matchedIndex > lastIndex) {
+      pushTokens(contentBlock, text2.substring(lastIndex, matchedIndex), style2, wrapInfo);
+    }
+    pushTokens(contentBlock, result2[2], style2, wrapInfo, result2[1]);
+    lastIndex = STYLE_REG.lastIndex;
+  }
+  if (lastIndex < text2.length) {
+    pushTokens(contentBlock, text2.substring(lastIndex, text2.length), style2, wrapInfo);
+  }
+  var pendingList = [];
+  var calculatedHeight = 0;
+  var calculatedWidth = 0;
+  var stlPadding = style2.padding;
+  var truncate2 = overflow === "truncate";
+  var truncateLine = style2.lineOverflow === "truncate";
+  function finishLine(line3, lineWidth2, lineHeight2) {
+    line3.width = lineWidth2;
+    line3.lineHeight = lineHeight2;
+    calculatedHeight += lineHeight2;
+    calculatedWidth = Math.max(calculatedWidth, lineWidth2);
+  }
+  outer:
+    for (var i2 = 0; i2 < contentBlock.lines.length; i2++) {
+      var line2 = contentBlock.lines[i2];
+      var lineHeight = 0;
+      var lineWidth = 0;
+      for (var j2 = 0; j2 < line2.tokens.length; j2++) {
+        var token2 = line2.tokens[j2];
+        var tokenStyle = token2.styleName && style2.rich[token2.styleName] || {};
+        var textPadding = token2.textPadding = tokenStyle.padding;
+        var paddingH = textPadding ? textPadding[1] + textPadding[3] : 0;
+        var font = token2.font = tokenStyle.font || style2.font;
+        token2.contentHeight = getLineHeight(font);
+        var tokenHeight = retrieve2(tokenStyle.height, token2.contentHeight);
+        token2.innerHeight = tokenHeight;
+        textPadding && (tokenHeight += textPadding[0] + textPadding[2]);
+        token2.height = tokenHeight;
+        token2.lineHeight = retrieve3(tokenStyle.lineHeight, style2.lineHeight, tokenHeight);
+        token2.align = tokenStyle && tokenStyle.align || style2.align;
+        token2.verticalAlign = tokenStyle && tokenStyle.verticalAlign || "middle";
+        if (truncateLine && topHeight != null && calculatedHeight + token2.lineHeight > topHeight) {
+          if (j2 > 0) {
+            line2.tokens = line2.tokens.slice(0, j2);
+            finishLine(line2, lineWidth, lineHeight);
+            contentBlock.lines = contentBlock.lines.slice(0, i2 + 1);
+          } else {
+            contentBlock.lines = contentBlock.lines.slice(0, i2);
+          }
+          break outer;
+        }
+        var styleTokenWidth = tokenStyle.width;
+        var tokenWidthNotSpecified = styleTokenWidth == null || styleTokenWidth === "auto";
+        if (typeof styleTokenWidth === "string" && styleTokenWidth.charAt(styleTokenWidth.length - 1) === "%") {
+          token2.percentWidth = styleTokenWidth;
+          pendingList.push(token2);
+          token2.contentWidth = getWidth(token2.text, font);
+        } else {
+          if (tokenWidthNotSpecified) {
+            var textBackgroundColor = tokenStyle.backgroundColor;
+            var bgImg = textBackgroundColor && textBackgroundColor.image;
+            if (bgImg) {
+              bgImg = findExistImage(bgImg);
+              if (isImageReady(bgImg)) {
+                token2.width = Math.max(token2.width, bgImg.width * tokenHeight / bgImg.height);
+              }
+            }
+          }
+          var remainTruncWidth = truncate2 && topWidth != null ? topWidth - lineWidth : null;
+          if (remainTruncWidth != null && remainTruncWidth < token2.width) {
+            if (!tokenWidthNotSpecified || remainTruncWidth < paddingH) {
+              token2.text = "";
+              token2.width = token2.contentWidth = 0;
+            } else {
+              token2.text = truncateText(token2.text, remainTruncWidth - paddingH, font, style2.ellipsis, { minChar: style2.truncateMinChar });
+              token2.width = token2.contentWidth = getWidth(token2.text, font);
+            }
+          } else {
+            token2.contentWidth = getWidth(token2.text, font);
+          }
+        }
+        token2.width += paddingH;
+        lineWidth += token2.width;
+        tokenStyle && (lineHeight = Math.max(lineHeight, token2.lineHeight));
+      }
+      finishLine(line2, lineWidth, lineHeight);
+    }
+  contentBlock.outerWidth = contentBlock.width = retrieve2(topWidth, calculatedWidth);
+  contentBlock.outerHeight = contentBlock.height = retrieve2(topHeight, calculatedHeight);
+  contentBlock.contentHeight = calculatedHeight;
+  contentBlock.contentWidth = calculatedWidth;
+  if (stlPadding) {
+    contentBlock.outerWidth += stlPadding[1] + stlPadding[3];
+    contentBlock.outerHeight += stlPadding[0] + stlPadding[2];
+  }
+  for (var i2 = 0; i2 < pendingList.length; i2++) {
+    var token2 = pendingList[i2];
+    var percentWidth = token2.percentWidth;
+    token2.width = parseInt(percentWidth, 10) / 100 * contentBlock.width;
+  }
+  return contentBlock;
+}
+function pushTokens(block, str, style2, wrapInfo, styleName) {
+  var isEmptyStr = str === "";
+  var tokenStyle = styleName && style2.rich[styleName] || {};
+  var lines2 = block.lines;
+  var font = tokenStyle.font || style2.font;
+  var newLine = false;
+  var strLines;
+  var linesWidths;
+  if (wrapInfo) {
+    var tokenPadding = tokenStyle.padding;
+    var tokenPaddingH = tokenPadding ? tokenPadding[1] + tokenPadding[3] : 0;
+    if (tokenStyle.width != null && tokenStyle.width !== "auto") {
+      var outerWidth_1 = parsePercent$1(tokenStyle.width, wrapInfo.width) + tokenPaddingH;
+      if (lines2.length > 0) {
+        if (outerWidth_1 + wrapInfo.accumWidth > wrapInfo.width) {
+          strLines = str.split("\n");
+          newLine = true;
+        }
+      }
+      wrapInfo.accumWidth = outerWidth_1;
+    } else {
+      var res = wrapText(str, font, wrapInfo.width, wrapInfo.breakAll, wrapInfo.accumWidth);
+      wrapInfo.accumWidth = res.accumWidth + tokenPaddingH;
+      linesWidths = res.linesWidths;
+      strLines = res.lines;
+    }
+  } else {
+    strLines = str.split("\n");
+  }
+  for (var i2 = 0; i2 < strLines.length; i2++) {
+    var text2 = strLines[i2];
+    var token2 = new RichTextToken();
+    token2.styleName = styleName;
+    token2.text = text2;
+    token2.isLineHolder = !text2 && !isEmptyStr;
+    if (typeof tokenStyle.width === "number") {
+      token2.width = tokenStyle.width;
+    } else {
+      token2.width = linesWidths ? linesWidths[i2] : getWidth(text2, font);
+    }
+    if (!i2 && !newLine) {
+      var tokens = (lines2[lines2.length - 1] || (lines2[0] = new RichTextLine())).tokens;
+      var tokensLen = tokens.length;
+      tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token2 : (text2 || !tokensLen || isEmptyStr) && tokens.push(token2);
+    } else {
+      lines2.push(new RichTextLine([token2]));
+    }
+  }
+}
+function isAlphabeticLetter(ch) {
+  var code = ch.charCodeAt(0);
+  return code >= 32 && code <= 591 || code >= 880 && code <= 4351 || code >= 4608 && code <= 5119 || code >= 7680 && code <= 8303;
+}
+var breakCharMap = reduce(",&?/;] ".split(""), function(obj2, ch) {
+  obj2[ch] = true;
+  return obj2;
+}, {});
+function isWordBreakChar(ch) {
+  if (isAlphabeticLetter(ch)) {
+    if (breakCharMap[ch]) {
+      return true;
+    }
+    return false;
+  }
+  return true;
+}
+function wrapText(text2, font, lineWidth, isBreakAll, lastAccumWidth) {
+  var lines2 = [];
+  var linesWidths = [];
+  var line2 = "";
+  var currentWord = "";
+  var currentWordWidth = 0;
+  var accumWidth = 0;
+  for (var i2 = 0; i2 < text2.length; i2++) {
+    var ch = text2.charAt(i2);
+    if (ch === "\n") {
+      if (currentWord) {
+        line2 += currentWord;
+        accumWidth += currentWordWidth;
+      }
+      lines2.push(line2);
+      linesWidths.push(accumWidth);
+      line2 = "";
+      currentWord = "";
+      currentWordWidth = 0;
+      accumWidth = 0;
+      continue;
+    }
+    var chWidth = getWidth(ch, font);
+    var inWord = isBreakAll ? false : !isWordBreakChar(ch);
+    if (!lines2.length ? lastAccumWidth + accumWidth + chWidth > lineWidth : accumWidth + chWidth > lineWidth) {
+      if (!accumWidth) {
+        if (inWord) {
+          lines2.push(currentWord);
+          linesWidths.push(currentWordWidth);
+          currentWord = ch;
+          currentWordWidth = chWidth;
+        } else {
+          lines2.push(ch);
+          linesWidths.push(chWidth);
+        }
+      } else if (line2 || currentWord) {
+        if (inWord) {
+          if (!line2) {
+            line2 = currentWord;
+            currentWord = "";
+            currentWordWidth = 0;
+            accumWidth = currentWordWidth;
+          }
+          lines2.push(line2);
+          linesWidths.push(accumWidth - currentWordWidth);
+          currentWord += ch;
+          currentWordWidth += chWidth;
+          line2 = "";
+          accumWidth = currentWordWidth;
+        } else {
+          if (currentWord) {
+            line2 += currentWord;
+            currentWord = "";
+            currentWordWidth = 0;
+          }
+          lines2.push(line2);
+          linesWidths.push(accumWidth);
+          line2 = ch;
+          accumWidth = chWidth;
+        }
+      }
+      continue;
+    }
+    accumWidth += chWidth;
+    if (inWord) {
+      currentWord += ch;
+      currentWordWidth += chWidth;
+    } else {
+      if (currentWord) {
+        line2 += currentWord;
+        currentWord = "";
+        currentWordWidth = 0;
+      }
+      line2 += ch;
+    }
+  }
+  if (!lines2.length && !line2) {
+    line2 = text2;
+    currentWord = "";
+    currentWordWidth = 0;
+  }
+  if (currentWord) {
+    line2 += currentWord;
+  }
+  if (line2) {
+    lines2.push(line2);
+    linesWidths.push(accumWidth);
+  }
+  if (lines2.length === 1) {
+    accumWidth += lastAccumWidth;
+  }
+  return {
+    accumWidth,
+    lines: lines2,
+    linesWidths
+  };
+}
+var STYLE_MAGIC_KEY = "__zr_style_" + Math.round(Math.random() * 10);
+var DEFAULT_COMMON_STYLE = {
+  shadowBlur: 0,
+  shadowOffsetX: 0,
+  shadowOffsetY: 0,
+  shadowColor: "#000",
+  opacity: 1,
+  blend: "source-over"
+};
+var DEFAULT_COMMON_ANIMATION_PROPS = {
+  style: {
+    shadowBlur: true,
+    shadowOffsetX: true,
+    shadowOffsetY: true,
+    shadowColor: true,
+    opacity: true
+  }
+};
+DEFAULT_COMMON_STYLE[STYLE_MAGIC_KEY] = true;
+var PRIMARY_STATES_KEYS = ["z", "z2", "invisible"];
+var PRIMARY_STATES_KEYS_IN_HOVER_LAYER = ["invisible"];
+var Displayable = function(_super) {
+  __extends(Displayable2, _super);
+  function Displayable2(props2) {
+    return _super.call(this, props2) || this;
+  }
+  Displayable2.prototype._init = function(props2) {
+    var keysArr = keys(props2);
+    for (var i2 = 0; i2 < keysArr.length; i2++) {
+      var key2 = keysArr[i2];
+      if (key2 === "style") {
+        this.useStyle(props2[key2]);
+      } else {
+        _super.prototype.attrKV.call(this, key2, props2[key2]);
+      }
+    }
+    if (!this.style) {
+      this.useStyle({});
+    }
+  };
+  Displayable2.prototype.beforeBrush = function() {
+  };
+  Displayable2.prototype.afterBrush = function() {
+  };
+  Displayable2.prototype.innerBeforeBrush = function() {
+  };
+  Displayable2.prototype.innerAfterBrush = function() {
+  };
+  Displayable2.prototype.shouldBePainted = function(viewWidth, viewHeight, considerClipPath, considerAncestors) {
+    var m2 = this.transform;
+    if (this.ignore || this.invisible || this.style.opacity === 0 || this.culling && isDisplayableCulled(this, viewWidth, viewHeight) || m2 && !m2[0] && !m2[3]) {
+      return false;
+    }
+    if (considerClipPath && this.__clipPaths) {
+      for (var i2 = 0; i2 < this.__clipPaths.length; ++i2) {
+        if (this.__clipPaths[i2].isZeroArea()) {
+          return false;
+        }
+      }
+    }
+    if (considerAncestors && this.parent) {
+      var parent_1 = this.parent;
+      while (parent_1) {
+        if (parent_1.ignore) {
+          return false;
+        }
+        parent_1 = parent_1.parent;
+      }
+    }
+    return true;
+  };
+  Displayable2.prototype.contain = function(x2, y2) {
+    return this.rectContain(x2, y2);
+  };
+  Displayable2.prototype.traverse = function(cb, context) {
+    cb.call(context, this);
+  };
+  Displayable2.prototype.rectContain = function(x2, y2) {
+    var coord = this.transformCoordToLocal(x2, y2);
+    var rect = this.getBoundingRect();
+    return rect.contain(coord[0], coord[1]);
+  };
+  Displayable2.prototype.getPaintRect = function() {
+    var rect = this._paintRect;
+    if (!this._paintRect || this.__dirty) {
+      var transform3 = this.transform;
+      var elRect = this.getBoundingRect();
+      var style2 = this.style;
+      var shadowSize = style2.shadowBlur || 0;
+      var shadowOffsetX = style2.shadowOffsetX || 0;
+      var shadowOffsetY = style2.shadowOffsetY || 0;
+      rect = this._paintRect || (this._paintRect = new BoundingRect$1(0, 0, 0, 0));
+      if (transform3) {
+        BoundingRect$1.applyTransform(rect, elRect, transform3);
+      } else {
+        rect.copy(elRect);
+      }
+      if (shadowSize || shadowOffsetX || shadowOffsetY) {
+        rect.width += shadowSize * 2 + Math.abs(shadowOffsetX);
+        rect.height += shadowSize * 2 + Math.abs(shadowOffsetY);
+        rect.x = Math.min(rect.x, rect.x + shadowOffsetX - shadowSize);
+        rect.y = Math.min(rect.y, rect.y + shadowOffsetY - shadowSize);
+      }
+      var tolerance = this.dirtyRectTolerance;
+      if (!rect.isZero()) {
+        rect.x = Math.floor(rect.x - tolerance);
+        rect.y = Math.floor(rect.y - tolerance);
+        rect.width = Math.ceil(rect.width + 1 + tolerance * 2);
+        rect.height = Math.ceil(rect.height + 1 + tolerance * 2);
+      }
+    }
+    return rect;
+  };
+  Displayable2.prototype.setPrevPaintRect = function(paintRect) {
+    if (paintRect) {
+      this._prevPaintRect = this._prevPaintRect || new BoundingRect$1(0, 0, 0, 0);
+      this._prevPaintRect.copy(paintRect);
+    } else {
+      this._prevPaintRect = null;
+    }
+  };
+  Displayable2.prototype.getPrevPaintRect = function() {
+    return this._prevPaintRect;
+  };
+  Displayable2.prototype.animateStyle = function(loop) {
+    return this.animate("style", loop);
+  };
+  Displayable2.prototype.updateDuringAnimation = function(targetKey) {
+    if (targetKey === "style") {
+      this.dirtyStyle();
+    } else {
+      this.markRedraw();
+    }
+  };
+  Displayable2.prototype.attrKV = function(key2, value) {
+    if (key2 !== "style") {
+      _super.prototype.attrKV.call(this, key2, value);
+    } else {
+      if (!this.style) {
+        this.useStyle(value);
+      } else {
+        this.setStyle(value);
+      }
+    }
+  };
+  Displayable2.prototype.setStyle = function(keyOrObj, value) {
+    if (typeof keyOrObj === "string") {
+      this.style[keyOrObj] = value;
+    } else {
+      extend$1(this.style, keyOrObj);
+    }
+    this.dirtyStyle();
+    return this;
+  };
+  Displayable2.prototype.dirtyStyle = function(notRedraw) {
+    if (!notRedraw) {
+      this.markRedraw();
+    }
+    this.__dirty |= STYLE_CHANGED_BIT;
+    if (this._rect) {
+      this._rect = null;
+    }
+  };
+  Displayable2.prototype.dirty = function() {
+    this.dirtyStyle();
+  };
+  Displayable2.prototype.styleChanged = function() {
+    return !!(this.__dirty & STYLE_CHANGED_BIT);
+  };
+  Displayable2.prototype.styleUpdated = function() {
+    this.__dirty &= ~STYLE_CHANGED_BIT;
+  };
+  Displayable2.prototype.createStyle = function(obj2) {
+    return createObject(DEFAULT_COMMON_STYLE, obj2);
+  };
+  Displayable2.prototype.useStyle = function(obj2) {
+    if (!obj2[STYLE_MAGIC_KEY]) {
+      obj2 = this.createStyle(obj2);
+    }
+    if (this.__inHover) {
+      this.__hoverStyle = obj2;
+    } else {
+      this.style = obj2;
+    }
+    this.dirtyStyle();
+  };
+  Displayable2.prototype.isStyleObject = function(obj2) {
+    return obj2[STYLE_MAGIC_KEY];
+  };
+  Displayable2.prototype._innerSaveToNormal = function(toState) {
+    _super.prototype._innerSaveToNormal.call(this, toState);
+    var normalState = this._normalState;
+    if (toState.style && !normalState.style) {
+      normalState.style = this._mergeStyle(this.createStyle(), this.style);
+    }
+    this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS);
+  };
+  Displayable2.prototype._applyStateObj = function(stateName, state, normalState, keepCurrentStates, transition2, animationCfg) {
+    _super.prototype._applyStateObj.call(this, stateName, state, normalState, keepCurrentStates, transition2, animationCfg);
+    var needsRestoreToNormal = !(state && keepCurrentStates);
+    var targetStyle;
+    if (state && state.style) {
+      if (transition2) {
+        if (keepCurrentStates) {
+          targetStyle = state.style;
+        } else {
+          targetStyle = this._mergeStyle(this.createStyle(), normalState.style);
+          this._mergeStyle(targetStyle, state.style);
+        }
+      } else {
+        targetStyle = this._mergeStyle(this.createStyle(), keepCurrentStates ? this.style : normalState.style);
+        this._mergeStyle(targetStyle, state.style);
+      }
+    } else if (needsRestoreToNormal) {
+      targetStyle = normalState.style;
+    }
+    if (targetStyle) {
+      if (transition2) {
+        var sourceStyle = this.style;
+        this.style = this.createStyle(needsRestoreToNormal ? {} : sourceStyle);
+        if (needsRestoreToNormal) {
+          var changedKeys = keys(sourceStyle);
+          for (var i2 = 0; i2 < changedKeys.length; i2++) {
+            var key2 = changedKeys[i2];
+            if (key2 in targetStyle) {
+              targetStyle[key2] = targetStyle[key2];
+              this.style[key2] = sourceStyle[key2];
+            }
+          }
+        }
+        var targetKeys = keys(targetStyle);
+        for (var i2 = 0; i2 < targetKeys.length; i2++) {
+          var key2 = targetKeys[i2];
+          this.style[key2] = this.style[key2];
+        }
+        this._transitionState(stateName, {
+          style: targetStyle
+        }, animationCfg, this.getAnimationStyleProps());
+      } else {
+        this.useStyle(targetStyle);
+      }
+    }
+    var statesKeys = this.__inHover ? PRIMARY_STATES_KEYS_IN_HOVER_LAYER : PRIMARY_STATES_KEYS;
+    for (var i2 = 0; i2 < statesKeys.length; i2++) {
+      var key2 = statesKeys[i2];
+      if (state && state[key2] != null) {
+        this[key2] = state[key2];
+      } else if (needsRestoreToNormal) {
+        if (normalState[key2] != null) {
+          this[key2] = normalState[key2];
+        }
+      }
+    }
+  };
+  Displayable2.prototype._mergeStates = function(states) {
+    var mergedState = _super.prototype._mergeStates.call(this, states);
+    var mergedStyle;
+    for (var i2 = 0; i2 < states.length; i2++) {
+      var state = states[i2];
+      if (state.style) {
+        mergedStyle = mergedStyle || {};
+        this._mergeStyle(mergedStyle, state.style);
+      }
+    }
+    if (mergedStyle) {
+      mergedState.style = mergedStyle;
+    }
+    return mergedState;
+  };
+  Displayable2.prototype._mergeStyle = function(targetStyle, sourceStyle) {
+    extend$1(targetStyle, sourceStyle);
+    return targetStyle;
+  };
+  Displayable2.prototype.getAnimationStyleProps = function() {
+    return DEFAULT_COMMON_ANIMATION_PROPS;
+  };
+  Displayable2.initDefaultProps = function() {
+    var dispProto = Displayable2.prototype;
+    dispProto.type = "displayable";
+    dispProto.invisible = false;
+    dispProto.z = 0;
+    dispProto.z2 = 0;
+    dispProto.zlevel = 0;
+    dispProto.culling = false;
+    dispProto.cursor = "pointer";
+    dispProto.rectHover = false;
+    dispProto.incremental = false;
+    dispProto._rect = null;
+    dispProto.dirtyRectTolerance = 0;
+    dispProto.__dirty = REDRAW_BIT | STYLE_CHANGED_BIT;
+  }();
+  return Displayable2;
+}(Element$1);
+var tmpRect = new BoundingRect$1(0, 0, 0, 0);
+var viewRect = new BoundingRect$1(0, 0, 0, 0);
+function isDisplayableCulled(el, width, height) {
+  tmpRect.copy(el.getBoundingRect());
+  if (el.transform) {
+    tmpRect.applyTransform(el.transform);
+  }
+  viewRect.width = width;
+  viewRect.height = height;
+  return !tmpRect.intersect(viewRect);
+}
+const Displayable$1 = Displayable;
+var mathMin$9 = Math.min;
+var mathMax$9 = Math.max;
+var mathSin$4 = Math.sin;
+var mathCos$4 = Math.cos;
+var PI2$8 = Math.PI * 2;
+var start = create$2();
+var end = create$2();
+var extremity = create$2();
+function fromPoints(points2, min3, max3) {
+  if (points2.length === 0) {
+    return;
+  }
+  var p2 = points2[0];
+  var left = p2[0];
+  var right = p2[0];
+  var top = p2[1];
+  var bottom = p2[1];
+  for (var i2 = 1; i2 < points2.length; i2++) {
+    p2 = points2[i2];
+    left = mathMin$9(left, p2[0]);
+    right = mathMax$9(right, p2[0]);
+    top = mathMin$9(top, p2[1]);
+    bottom = mathMax$9(bottom, p2[1]);
+  }
+  min3[0] = left;
+  min3[1] = top;
+  max3[0] = right;
+  max3[1] = bottom;
+}
+function fromLine(x0, y0, x1, y1, min3, max3) {
+  min3[0] = mathMin$9(x0, x1);
+  min3[1] = mathMin$9(y0, y1);
+  max3[0] = mathMax$9(x0, x1);
+  max3[1] = mathMax$9(y0, y1);
+}
+var xDim = [];
+var yDim = [];
+function fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min3, max3) {
+  var cubicExtrema$12 = cubicExtrema;
+  var cubicAt$12 = cubicAt;
+  var n2 = cubicExtrema$12(x0, x1, x2, x3, xDim);
+  min3[0] = Infinity;
+  min3[1] = Infinity;
+  max3[0] = -Infinity;
+  max3[1] = -Infinity;
+  for (var i2 = 0; i2 < n2; i2++) {
+    var x4 = cubicAt$12(x0, x1, x2, x3, xDim[i2]);
+    min3[0] = mathMin$9(x4, min3[0]);
+    max3[0] = mathMax$9(x4, max3[0]);
+  }
+  n2 = cubicExtrema$12(y0, y1, y2, y3, yDim);
+  for (var i2 = 0; i2 < n2; i2++) {
+    var y4 = cubicAt$12(y0, y1, y2, y3, yDim[i2]);
+    min3[1] = mathMin$9(y4, min3[1]);
+    max3[1] = mathMax$9(y4, max3[1]);
+  }
+  min3[0] = mathMin$9(x0, min3[0]);
+  max3[0] = mathMax$9(x0, max3[0]);
+  min3[0] = mathMin$9(x3, min3[0]);
+  max3[0] = mathMax$9(x3, max3[0]);
+  min3[1] = mathMin$9(y0, min3[1]);
+  max3[1] = mathMax$9(y0, max3[1]);
+  min3[1] = mathMin$9(y3, min3[1]);
+  max3[1] = mathMax$9(y3, max3[1]);
+}
+function fromQuadratic(x0, y0, x1, y1, x2, y2, min3, max3) {
+  var quadraticExtremum$12 = quadraticExtremum;
+  var quadraticAt2 = quadraticAt$1;
+  var tx = mathMax$9(mathMin$9(quadraticExtremum$12(x0, x1, x2), 1), 0);
+  var ty = mathMax$9(mathMin$9(quadraticExtremum$12(y0, y1, y2), 1), 0);
+  var x3 = quadraticAt2(x0, x1, x2, tx);
+  var y3 = quadraticAt2(y0, y1, y2, ty);
+  min3[0] = mathMin$9(x0, x2, x3);
+  min3[1] = mathMin$9(y0, y2, y3);
+  max3[0] = mathMax$9(x0, x2, x3);
+  max3[1] = mathMax$9(y0, y2, y3);
+}
+function fromArc(x2, y2, rx, ry, startAngle, endAngle, anticlockwise, min3, max3) {
+  var vec2Min = min$1;
+  var vec2Max = max$1;
+  var diff = Math.abs(startAngle - endAngle);
+  if (diff % PI2$8 < 1e-4 && diff > 1e-4) {
+    min3[0] = x2 - rx;
+    min3[1] = y2 - ry;
+    max3[0] = x2 + rx;
+    max3[1] = y2 + ry;
+    return;
+  }
+  start[0] = mathCos$4(startAngle) * rx + x2;
+  start[1] = mathSin$4(startAngle) * ry + y2;
+  end[0] = mathCos$4(endAngle) * rx + x2;
+  end[1] = mathSin$4(endAngle) * ry + y2;
+  vec2Min(min3, start, end);
+  vec2Max(max3, start, end);
+  startAngle = startAngle % PI2$8;
+  if (startAngle < 0) {
+    startAngle = startAngle + PI2$8;
+  }
+  endAngle = endAngle % PI2$8;
+  if (endAngle < 0) {
+    endAngle = endAngle + PI2$8;
+  }
+  if (startAngle > endAngle && !anticlockwise) {
+    endAngle += PI2$8;
+  } else if (startAngle < endAngle && anticlockwise) {
+    startAngle += PI2$8;
+  }
+  if (anticlockwise) {
+    var tmp = endAngle;
+    endAngle = startAngle;
+    startAngle = tmp;
+  }
+  for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {
+    if (angle > startAngle) {
+      extremity[0] = mathCos$4(angle) * rx + x2;
+      extremity[1] = mathSin$4(angle) * ry + y2;
+      vec2Min(min3, extremity, min3);
+      vec2Max(max3, extremity, max3);
+    }
+  }
+}
+var CMD$4 = {
+  M: 1,
+  L: 2,
+  C: 3,
+  Q: 4,
+  A: 5,
+  Z: 6,
+  R: 7
+};
+var tmpOutX = [];
+var tmpOutY = [];
+var min = [];
+var max = [];
+var min2 = [];
+var max2 = [];
+var mathMin$8 = Math.min;
+var mathMax$8 = Math.max;
+var mathCos$3 = Math.cos;
+var mathSin$3 = Math.sin;
+var mathAbs$2 = Math.abs;
+var PI$8 = Math.PI;
+var PI2$7 = PI$8 * 2;
+var hasTypedArray = typeof Float32Array !== "undefined";
+var tmpAngles = [];
+function modPI2(radian) {
+  var n2 = Math.round(radian / PI$8 * 1e8) / 1e8;
+  return n2 % 2 * PI$8;
+}
+function normalizeArcAngles(angles, anticlockwise) {
+  var newStartAngle = modPI2(angles[0]);
+  if (newStartAngle < 0) {
+    newStartAngle += PI2$7;
+  }
+  var delta = newStartAngle - angles[0];
+  var newEndAngle = angles[1];
+  newEndAngle += delta;
+  if (!anticlockwise && newEndAngle - newStartAngle >= PI2$7) {
+    newEndAngle = newStartAngle + PI2$7;
+  } else if (anticlockwise && newStartAngle - newEndAngle >= PI2$7) {
+    newEndAngle = newStartAngle - PI2$7;
+  } else if (!anticlockwise && newStartAngle > newEndAngle) {
+    newEndAngle = newStartAngle + (PI2$7 - modPI2(newStartAngle - newEndAngle));
+  } else if (anticlockwise && newStartAngle < newEndAngle) {
+    newEndAngle = newStartAngle - (PI2$7 - modPI2(newEndAngle - newStartAngle));
+  }
+  angles[0] = newStartAngle;
+  angles[1] = newEndAngle;
+}
+var PathProxy = function() {
+  function PathProxy2(notSaveData) {
+    this.dpr = 1;
+    this._xi = 0;
+    this._yi = 0;
+    this._x0 = 0;
+    this._y0 = 0;
+    this._len = 0;
+    if (notSaveData) {
+      this._saveData = false;
+    }
+    if (this._saveData) {
+      this.data = [];
+    }
+  }
+  PathProxy2.prototype.increaseVersion = function() {
+    this._version++;
+  };
+  PathProxy2.prototype.getVersion = function() {
+    return this._version;
+  };
+  PathProxy2.prototype.setScale = function(sx, sy, segmentIgnoreThreshold) {
+    segmentIgnoreThreshold = segmentIgnoreThreshold || 0;
+    if (segmentIgnoreThreshold > 0) {
+      this._ux = mathAbs$2(segmentIgnoreThreshold / devicePixelRatio / sx) || 0;
+      this._uy = mathAbs$2(segmentIgnoreThreshold / devicePixelRatio / sy) || 0;
+    }
+  };
+  PathProxy2.prototype.setDPR = function(dpr2) {
+    this.dpr = dpr2;
+  };
+  PathProxy2.prototype.setContext = function(ctx) {
+    this._ctx = ctx;
+  };
+  PathProxy2.prototype.getContext = function() {
+    return this._ctx;
+  };
+  PathProxy2.prototype.beginPath = function() {
+    this._ctx && this._ctx.beginPath();
+    this.reset();
+    return this;
+  };
+  PathProxy2.prototype.reset = function() {
+    if (this._saveData) {
+      this._len = 0;
+    }
+    if (this._pathSegLen) {
+      this._pathSegLen = null;
+      this._pathLen = 0;
+    }
+    this._version++;
+  };
+  PathProxy2.prototype.moveTo = function(x2, y2) {
+    this._drawPendingPt();
+    this.addData(CMD$4.M, x2, y2);
+    this._ctx && this._ctx.moveTo(x2, y2);
+    this._x0 = x2;
+    this._y0 = y2;
+    this._xi = x2;
+    this._yi = y2;
+    return this;
+  };
+  PathProxy2.prototype.lineTo = function(x2, y2) {
+    var dx = mathAbs$2(x2 - this._xi);
+    var dy = mathAbs$2(y2 - this._yi);
+    var exceedUnit = dx > this._ux || dy > this._uy;
+    this.addData(CMD$4.L, x2, y2);
+    if (this._ctx && exceedUnit) {
+      this._ctx.lineTo(x2, y2);
+    }
+    if (exceedUnit) {
+      this._xi = x2;
+      this._yi = y2;
+      this._pendingPtDist = 0;
+    } else {
+      var d2 = dx * dx + dy * dy;
+      if (d2 > this._pendingPtDist) {
+        this._pendingPtX = x2;
+        this._pendingPtY = y2;
+        this._pendingPtDist = d2;
+      }
+    }
+    return this;
+  };
+  PathProxy2.prototype.bezierCurveTo = function(x1, y1, x2, y2, x3, y3) {
+    this._drawPendingPt();
+    this.addData(CMD$4.C, x1, y1, x2, y2, x3, y3);
+    if (this._ctx) {
+      this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
+    }
+    this._xi = x3;
+    this._yi = y3;
+    return this;
+  };
+  PathProxy2.prototype.quadraticCurveTo = function(x1, y1, x2, y2) {
+    this._drawPendingPt();
+    this.addData(CMD$4.Q, x1, y1, x2, y2);
+    if (this._ctx) {
+      this._ctx.quadraticCurveTo(x1, y1, x2, y2);
+    }
+    this._xi = x2;
+    this._yi = y2;
+    return this;
+  };
+  PathProxy2.prototype.arc = function(cx, cy, r2, startAngle, endAngle, anticlockwise) {
+    this._drawPendingPt();
+    tmpAngles[0] = startAngle;
+    tmpAngles[1] = endAngle;
+    normalizeArcAngles(tmpAngles, anticlockwise);
+    startAngle = tmpAngles[0];
+    endAngle = tmpAngles[1];
+    var delta = endAngle - startAngle;
+    this.addData(CMD$4.A, cx, cy, r2, r2, startAngle, delta, 0, anticlockwise ? 0 : 1);
+    this._ctx && this._ctx.arc(cx, cy, r2, startAngle, endAngle, anticlockwise);
+    this._xi = mathCos$3(endAngle) * r2 + cx;
+    this._yi = mathSin$3(endAngle) * r2 + cy;
+    return this;
+  };
+  PathProxy2.prototype.arcTo = function(x1, y1, x2, y2, radius) {
+    this._drawPendingPt();
+    if (this._ctx) {
+      this._ctx.arcTo(x1, y1, x2, y2, radius);
+    }
+    return this;
+  };
+  PathProxy2.prototype.rect = function(x2, y2, w2, h3) {
+    this._drawPendingPt();
+    this._ctx && this._ctx.rect(x2, y2, w2, h3);
+    this.addData(CMD$4.R, x2, y2, w2, h3);
+    return this;
+  };
+  PathProxy2.prototype.closePath = function() {
+    this._drawPendingPt();
+    this.addData(CMD$4.Z);
+    var ctx = this._ctx;
+    var x0 = this._x0;
+    var y0 = this._y0;
+    if (ctx) {
+      ctx.closePath();
+    }
+    this._xi = x0;
+    this._yi = y0;
+    return this;
+  };
+  PathProxy2.prototype.fill = function(ctx) {
+    ctx && ctx.fill();
+    this.toStatic();
+  };
+  PathProxy2.prototype.stroke = function(ctx) {
+    ctx && ctx.stroke();
+    this.toStatic();
+  };
+  PathProxy2.prototype.len = function() {
+    return this._len;
+  };
+  PathProxy2.prototype.setData = function(data2) {
+    var len2 = data2.length;
+    if (!(this.data && this.data.length === len2) && hasTypedArray) {
+      this.data = new Float32Array(len2);
+    }
+    for (var i2 = 0; i2 < len2; i2++) {
+      this.data[i2] = data2[i2];
+    }
+    this._len = len2;
+  };
+  PathProxy2.prototype.appendPath = function(path2) {
+    if (!(path2 instanceof Array)) {
+      path2 = [path2];
+    }
+    var len2 = path2.length;
+    var appendSize = 0;
+    var offset2 = this._len;
+    for (var i2 = 0; i2 < len2; i2++) {
+      appendSize += path2[i2].len();
+    }
+    if (hasTypedArray && this.data instanceof Float32Array) {
+      this.data = new Float32Array(offset2 + appendSize);
+    }
+    for (var i2 = 0; i2 < len2; i2++) {
+      var appendPathData = path2[i2].data;
+      for (var k2 = 0; k2 < appendPathData.length; k2++) {
+        this.data[offset2++] = appendPathData[k2];
+      }
+    }
+    this._len = offset2;
+  };
+  PathProxy2.prototype.addData = function(cmd, a2, b2, c2, d2, e2, f2, g2, h3) {
+    if (!this._saveData) {
+      return;
+    }
+    var data2 = this.data;
+    if (this._len + arguments.length > data2.length) {
+      this._expandData();
+      data2 = this.data;
+    }
+    for (var i2 = 0; i2 < arguments.length; i2++) {
+      data2[this._len++] = arguments[i2];
+    }
+  };
+  PathProxy2.prototype._drawPendingPt = function() {
+    if (this._pendingPtDist > 0) {
+      this._ctx && this._ctx.lineTo(this._pendingPtX, this._pendingPtY);
+      this._pendingPtDist = 0;
+    }
+  };
+  PathProxy2.prototype._expandData = function() {
+    if (!(this.data instanceof Array)) {
+      var newData = [];
+      for (var i2 = 0; i2 < this._len; i2++) {
+        newData[i2] = this.data[i2];
+      }
+      this.data = newData;
+    }
+  };
+  PathProxy2.prototype.toStatic = function() {
+    if (!this._saveData) {
+      return;
+    }
+    this._drawPendingPt();
+    var data2 = this.data;
+    if (data2 instanceof Array) {
+      data2.length = this._len;
+      if (hasTypedArray && this._len > 11) {
+        this.data = new Float32Array(data2);
+      }
+    }
+  };
+  PathProxy2.prototype.getBoundingRect = function() {
+    min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;
+    max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;
+    var data2 = this.data;
+    var xi = 0;
+    var yi = 0;
+    var x0 = 0;
+    var y0 = 0;
+    var i2;
+    for (i2 = 0; i2 < this._len; ) {
+      var cmd = data2[i2++];
+      var isFirst = i2 === 1;
+      if (isFirst) {
+        xi = data2[i2];
+        yi = data2[i2 + 1];
+        x0 = xi;
+        y0 = yi;
+      }
+      switch (cmd) {
+        case CMD$4.M:
+          xi = x0 = data2[i2++];
+          yi = y0 = data2[i2++];
+          min2[0] = x0;
+          min2[1] = y0;
+          max2[0] = x0;
+          max2[1] = y0;
+          break;
+        case CMD$4.L:
+          fromLine(xi, yi, data2[i2], data2[i2 + 1], min2, max2);
+          xi = data2[i2++];
+          yi = data2[i2++];
+          break;
+        case CMD$4.C:
+          fromCubic(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], min2, max2);
+          xi = data2[i2++];
+          yi = data2[i2++];
+          break;
+        case CMD$4.Q:
+          fromQuadratic(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], min2, max2);
+          xi = data2[i2++];
+          yi = data2[i2++];
+          break;
+        case CMD$4.A:
+          var cx = data2[i2++];
+          var cy = data2[i2++];
+          var rx = data2[i2++];
+          var ry = data2[i2++];
+          var startAngle = data2[i2++];
+          var endAngle = data2[i2++] + startAngle;
+          i2 += 1;
+          var anticlockwise = !data2[i2++];
+          if (isFirst) {
+            x0 = mathCos$3(startAngle) * rx + cx;
+            y0 = mathSin$3(startAngle) * ry + cy;
+          }
+          fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);
+          xi = mathCos$3(endAngle) * rx + cx;
+          yi = mathSin$3(endAngle) * ry + cy;
+          break;
+        case CMD$4.R:
+          x0 = xi = data2[i2++];
+          y0 = yi = data2[i2++];
+          var width = data2[i2++];
+          var height = data2[i2++];
+          fromLine(x0, y0, x0 + width, y0 + height, min2, max2);
+          break;
+        case CMD$4.Z:
+          xi = x0;
+          yi = y0;
+          break;
+      }
+      min$1(min, min, min2);
+      max$1(max, max, max2);
+    }
+    if (i2 === 0) {
+      min[0] = min[1] = max[0] = max[1] = 0;
+    }
+    return new BoundingRect$1(min[0], min[1], max[0] - min[0], max[1] - min[1]);
+  };
+  PathProxy2.prototype._calculateLength = function() {
+    var data2 = this.data;
+    var len2 = this._len;
+    var ux = this._ux;
+    var uy = this._uy;
+    var xi = 0;
+    var yi = 0;
+    var x0 = 0;
+    var y0 = 0;
+    if (!this._pathSegLen) {
+      this._pathSegLen = [];
+    }
+    var pathSegLen = this._pathSegLen;
+    var pathTotalLen = 0;
+    var segCount = 0;
+    for (var i2 = 0; i2 < len2; ) {
+      var cmd = data2[i2++];
+      var isFirst = i2 === 1;
+      if (isFirst) {
+        xi = data2[i2];
+        yi = data2[i2 + 1];
+        x0 = xi;
+        y0 = yi;
+      }
+      var l2 = -1;
+      switch (cmd) {
+        case CMD$4.M:
+          xi = x0 = data2[i2++];
+          yi = y0 = data2[i2++];
+          break;
+        case CMD$4.L: {
+          var x2 = data2[i2++];
+          var y2 = data2[i2++];
+          var dx = x2 - xi;
+          var dy = y2 - yi;
+          if (mathAbs$2(dx) > ux || mathAbs$2(dy) > uy || i2 === len2 - 1) {
+            l2 = Math.sqrt(dx * dx + dy * dy);
+            xi = x2;
+            yi = y2;
+          }
+          break;
+        }
+        case CMD$4.C: {
+          var x1 = data2[i2++];
+          var y1 = data2[i2++];
+          var x2 = data2[i2++];
+          var y2 = data2[i2++];
+          var x3 = data2[i2++];
+          var y3 = data2[i2++];
+          l2 = cubicLength(xi, yi, x1, y1, x2, y2, x3, y3, 10);
+          xi = x3;
+          yi = y3;
+          break;
+        }
+        case CMD$4.Q: {
+          var x1 = data2[i2++];
+          var y1 = data2[i2++];
+          var x2 = data2[i2++];
+          var y2 = data2[i2++];
+          l2 = quadraticLength(xi, yi, x1, y1, x2, y2, 10);
+          xi = x2;
+          yi = y2;
+          break;
+        }
+        case CMD$4.A:
+          var cx = data2[i2++];
+          var cy = data2[i2++];
+          var rx = data2[i2++];
+          var ry = data2[i2++];
+          var startAngle = data2[i2++];
+          var delta = data2[i2++];
+          var endAngle = delta + startAngle;
+          i2 += 1;
+          !data2[i2++];
+          if (isFirst) {
+            x0 = mathCos$3(startAngle) * rx + cx;
+            y0 = mathSin$3(startAngle) * ry + cy;
+          }
+          l2 = mathMax$8(rx, ry) * mathMin$8(PI2$7, Math.abs(delta));
+          xi = mathCos$3(endAngle) * rx + cx;
+          yi = mathSin$3(endAngle) * ry + cy;
+          break;
+        case CMD$4.R: {
+          x0 = xi = data2[i2++];
+          y0 = yi = data2[i2++];
+          var width = data2[i2++];
+          var height = data2[i2++];
+          l2 = width * 2 + height * 2;
+          break;
+        }
+        case CMD$4.Z: {
+          var dx = x0 - xi;
+          var dy = y0 - yi;
+          l2 = Math.sqrt(dx * dx + dy * dy);
+          xi = x0;
+          yi = y0;
+          break;
+        }
+      }
+      if (l2 >= 0) {
+        pathSegLen[segCount++] = l2;
+        pathTotalLen += l2;
+      }
+    }
+    this._pathLen = pathTotalLen;
+    return pathTotalLen;
+  };
+  PathProxy2.prototype.rebuildPath = function(ctx, percent) {
+    var d2 = this.data;
+    var ux = this._ux;
+    var uy = this._uy;
+    var len2 = this._len;
+    var x0;
+    var y0;
+    var xi;
+    var yi;
+    var x2;
+    var y2;
+    var drawPart = percent < 1;
+    var pathSegLen;
+    var pathTotalLen;
+    var accumLength = 0;
+    var segCount = 0;
+    var displayedLength;
+    var pendingPtDist = 0;
+    var pendingPtX;
+    var pendingPtY;
+    if (drawPart) {
+      if (!this._pathSegLen) {
+        this._calculateLength();
+      }
+      pathSegLen = this._pathSegLen;
+      pathTotalLen = this._pathLen;
+      displayedLength = percent * pathTotalLen;
+      if (!displayedLength) {
+        return;
+      }
+    }
+    lo:
+      for (var i2 = 0; i2 < len2; ) {
+        var cmd = d2[i2++];
+        var isFirst = i2 === 1;
+        if (isFirst) {
+          xi = d2[i2];
+          yi = d2[i2 + 1];
+          x0 = xi;
+          y0 = yi;
+        }
+        if (cmd !== CMD$4.L && pendingPtDist > 0) {
+          ctx.lineTo(pendingPtX, pendingPtY);
+          pendingPtDist = 0;
+        }
+        switch (cmd) {
+          case CMD$4.M:
+            x0 = xi = d2[i2++];
+            y0 = yi = d2[i2++];
+            ctx.moveTo(xi, yi);
+            break;
+          case CMD$4.L: {
+            x2 = d2[i2++];
+            y2 = d2[i2++];
+            var dx = mathAbs$2(x2 - xi);
+            var dy = mathAbs$2(y2 - yi);
+            if (dx > ux || dy > uy) {
+              if (drawPart) {
+                var l2 = pathSegLen[segCount++];
+                if (accumLength + l2 > displayedLength) {
+                  var t2 = (displayedLength - accumLength) / l2;
+                  ctx.lineTo(xi * (1 - t2) + x2 * t2, yi * (1 - t2) + y2 * t2);
+                  break lo;
+                }
+                accumLength += l2;
+              }
+              ctx.lineTo(x2, y2);
+              xi = x2;
+              yi = y2;
+              pendingPtDist = 0;
+            } else {
+              var d22 = dx * dx + dy * dy;
+              if (d22 > pendingPtDist) {
+                pendingPtX = x2;
+                pendingPtY = y2;
+                pendingPtDist = d22;
+              }
+            }
+            break;
+          }
+          case CMD$4.C: {
+            var x1 = d2[i2++];
+            var y1 = d2[i2++];
+            var x22 = d2[i2++];
+            var y22 = d2[i2++];
+            var x3 = d2[i2++];
+            var y3 = d2[i2++];
+            if (drawPart) {
+              var l2 = pathSegLen[segCount++];
+              if (accumLength + l2 > displayedLength) {
+                var t2 = (displayedLength - accumLength) / l2;
+                cubicSubdivide(xi, x1, x22, x3, t2, tmpOutX);
+                cubicSubdivide(yi, y1, y22, y3, t2, tmpOutY);
+                ctx.bezierCurveTo(tmpOutX[1], tmpOutY[1], tmpOutX[2], tmpOutY[2], tmpOutX[3], tmpOutY[3]);
+                break lo;
+              }
+              accumLength += l2;
+            }
+            ctx.bezierCurveTo(x1, y1, x22, y22, x3, y3);
+            xi = x3;
+            yi = y3;
+            break;
+          }
+          case CMD$4.Q: {
+            var x1 = d2[i2++];
+            var y1 = d2[i2++];
+            var x22 = d2[i2++];
+            var y22 = d2[i2++];
+            if (drawPart) {
+              var l2 = pathSegLen[segCount++];
+              if (accumLength + l2 > displayedLength) {
+                var t2 = (displayedLength - accumLength) / l2;
+                quadraticSubdivide(xi, x1, x22, t2, tmpOutX);
+                quadraticSubdivide(yi, y1, y22, t2, tmpOutY);
+                ctx.quadraticCurveTo(tmpOutX[1], tmpOutY[1], tmpOutX[2], tmpOutY[2]);
+                break lo;
+              }
+              accumLength += l2;
+            }
+            ctx.quadraticCurveTo(x1, y1, x22, y22);
+            xi = x22;
+            yi = y22;
+            break;
+          }
+          case CMD$4.A:
+            var cx = d2[i2++];
+            var cy = d2[i2++];
+            var rx = d2[i2++];
+            var ry = d2[i2++];
+            var startAngle = d2[i2++];
+            var delta = d2[i2++];
+            var psi = d2[i2++];
+            var anticlockwise = !d2[i2++];
+            var r2 = rx > ry ? rx : ry;
+            var isEllipse = mathAbs$2(rx - ry) > 1e-3;
+            var endAngle = startAngle + delta;
+            var breakBuild = false;
+            if (drawPart) {
+              var l2 = pathSegLen[segCount++];
+              if (accumLength + l2 > displayedLength) {
+                endAngle = startAngle + delta * (displayedLength - accumLength) / l2;
+                breakBuild = true;
+              }
+              accumLength += l2;
+            }
+            if (isEllipse && ctx.ellipse) {
+              ctx.ellipse(cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise);
+            } else {
+              ctx.arc(cx, cy, r2, startAngle, endAngle, anticlockwise);
+            }
+            if (breakBuild) {
+              break lo;
+            }
+            if (isFirst) {
+              x0 = mathCos$3(startAngle) * rx + cx;
+              y0 = mathSin$3(startAngle) * ry + cy;
+            }
+            xi = mathCos$3(endAngle) * rx + cx;
+            yi = mathSin$3(endAngle) * ry + cy;
+            break;
+          case CMD$4.R:
+            x0 = xi = d2[i2];
+            y0 = yi = d2[i2 + 1];
+            x2 = d2[i2++];
+            y2 = d2[i2++];
+            var width = d2[i2++];
+            var height = d2[i2++];
+            if (drawPart) {
+              var l2 = pathSegLen[segCount++];
+              if (accumLength + l2 > displayedLength) {
+                var d_1 = displayedLength - accumLength;
+                ctx.moveTo(x2, y2);
+                ctx.lineTo(x2 + mathMin$8(d_1, width), y2);
+                d_1 -= width;
+                if (d_1 > 0) {
+                  ctx.lineTo(x2 + width, y2 + mathMin$8(d_1, height));
+                }
+                d_1 -= height;
+                if (d_1 > 0) {
+                  ctx.lineTo(x2 + mathMax$8(width - d_1, 0), y2 + height);
+                }
+                d_1 -= width;
+                if (d_1 > 0) {
+                  ctx.lineTo(x2, y2 + mathMax$8(height - d_1, 0));
+                }
+                break lo;
+              }
+              accumLength += l2;
+            }
+            ctx.rect(x2, y2, width, height);
+            break;
+          case CMD$4.Z:
+            if (drawPart) {
+              var l2 = pathSegLen[segCount++];
+              if (accumLength + l2 > displayedLength) {
+                var t2 = (displayedLength - accumLength) / l2;
+                ctx.lineTo(xi * (1 - t2) + x0 * t2, yi * (1 - t2) + y0 * t2);
+                break lo;
+              }
+              accumLength += l2;
+            }
+            ctx.closePath();
+            xi = x0;
+            yi = y0;
+        }
+      }
+  };
+  PathProxy2.prototype.clone = function() {
+    var newProxy = new PathProxy2();
+    var data2 = this.data;
+    newProxy.data = data2.slice ? data2.slice() : Array.prototype.slice.call(data2);
+    newProxy._len = this._len;
+    return newProxy;
+  };
+  PathProxy2.CMD = CMD$4;
+  PathProxy2.initDefaultProps = function() {
+    var proto2 = PathProxy2.prototype;
+    proto2._saveData = true;
+    proto2._ux = 0;
+    proto2._uy = 0;
+    proto2._pendingPtDist = 0;
+    proto2._version = 0;
+  }();
+  return PathProxy2;
+}();
+const PathProxy$1 = PathProxy;
+function containStroke$4(x0, y0, x1, y1, lineWidth, x2, y2) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  var _a2 = 0;
+  var _b2 = x0;
+  if (y2 > y0 + _l && y2 > y1 + _l || y2 < y0 - _l && y2 < y1 - _l || x2 > x0 + _l && x2 > x1 + _l || x2 < x0 - _l && x2 < x1 - _l) {
+    return false;
+  }
+  if (x0 !== x1) {
+    _a2 = (y0 - y1) / (x0 - x1);
+    _b2 = (x0 * y1 - x1 * y0) / (x0 - x1);
+  } else {
+    return Math.abs(x2 - x0) <= _l / 2;
+  }
+  var tmp = _a2 * x2 - y2 + _b2;
+  var _s = tmp * tmp / (_a2 * _a2 + 1);
+  return _s <= _l / 2 * _l / 2;
+}
+function containStroke$3(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x4, y4) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  if (y4 > y0 + _l && y4 > y1 + _l && y4 > y2 + _l && y4 > y3 + _l || y4 < y0 - _l && y4 < y1 - _l && y4 < y2 - _l && y4 < y3 - _l || x4 > x0 + _l && x4 > x1 + _l && x4 > x2 + _l && x4 > x3 + _l || x4 < x0 - _l && x4 < x1 - _l && x4 < x2 - _l && x4 < x3 - _l) {
+    return false;
+  }
+  var d2 = cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x4, y4, null);
+  return d2 <= _l / 2;
+}
+function containStroke$2(x0, y0, x1, y1, x2, y2, lineWidth, x3, y3) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  if (y3 > y0 + _l && y3 > y1 + _l && y3 > y2 + _l || y3 < y0 - _l && y3 < y1 - _l && y3 < y2 - _l || x3 > x0 + _l && x3 > x1 + _l && x3 > x2 + _l || x3 < x0 - _l && x3 < x1 - _l && x3 < x2 - _l) {
+    return false;
+  }
+  var d2 = quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, null);
+  return d2 <= _l / 2;
+}
+var PI2$6 = Math.PI * 2;
+function normalizeRadian(angle) {
+  angle %= PI2$6;
+  if (angle < 0) {
+    angle += PI2$6;
+  }
+  return angle;
+}
+var PI2$5 = Math.PI * 2;
+function containStroke$1(cx, cy, r2, startAngle, endAngle, anticlockwise, lineWidth, x2, y2) {
+  if (lineWidth === 0) {
+    return false;
+  }
+  var _l = lineWidth;
+  x2 -= cx;
+  y2 -= cy;
+  var d2 = Math.sqrt(x2 * x2 + y2 * y2);
+  if (d2 - _l > r2 || d2 + _l < r2) {
+    return false;
+  }
+  if (Math.abs(startAngle - endAngle) % PI2$5 < 1e-4) {
+    return true;
+  }
+  if (anticlockwise) {
+    var tmp = startAngle;
+    startAngle = normalizeRadian(endAngle);
+    endAngle = normalizeRadian(tmp);
+  } else {
+    startAngle = normalizeRadian(startAngle);
+    endAngle = normalizeRadian(endAngle);
+  }
+  if (startAngle > endAngle) {
+    endAngle += PI2$5;
+  }
+  var angle = Math.atan2(y2, x2);
+  if (angle < 0) {
+    angle += PI2$5;
+  }
+  return angle >= startAngle && angle <= endAngle || angle + PI2$5 >= startAngle && angle + PI2$5 <= endAngle;
+}
+function windingLine(x0, y0, x1, y1, x2, y2) {
+  if (y2 > y0 && y2 > y1 || y2 < y0 && y2 < y1) {
+    return 0;
+  }
+  if (y1 === y0) {
+    return 0;
+  }
+  var t2 = (y2 - y0) / (y1 - y0);
+  var dir3 = y1 < y0 ? 1 : -1;
+  if (t2 === 1 || t2 === 0) {
+    dir3 = y1 < y0 ? 0.5 : -0.5;
+  }
+  var x_ = t2 * (x1 - x0) + x0;
+  return x_ === x2 ? Infinity : x_ > x2 ? dir3 : 0;
+}
+var CMD$3 = PathProxy$1.CMD;
+var PI2$4 = Math.PI * 2;
+var EPSILON$1 = 1e-4;
+function isAroundEqual$1(a2, b2) {
+  return Math.abs(a2 - b2) < EPSILON$1;
+}
+var roots = [-1, -1, -1];
+var extrema = [-1, -1];
+function swapExtrema() {
+  var tmp = extrema[0];
+  extrema[0] = extrema[1];
+  extrema[1] = tmp;
+}
+function windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x4, y4) {
+  if (y4 > y0 && y4 > y1 && y4 > y2 && y4 > y3 || y4 < y0 && y4 < y1 && y4 < y2 && y4 < y3) {
+    return 0;
+  }
+  var nRoots = cubicRootAt(y0, y1, y2, y3, y4, roots);
+  if (nRoots === 0) {
+    return 0;
+  } else {
+    var w2 = 0;
+    var nExtrema = -1;
+    var y0_ = void 0;
+    var y1_ = void 0;
+    for (var i2 = 0; i2 < nRoots; i2++) {
+      var t2 = roots[i2];
+      var unit = t2 === 0 || t2 === 1 ? 0.5 : 1;
+      var x_ = cubicAt(x0, x1, x2, x3, t2);
+      if (x_ < x4) {
+        continue;
+      }
+      if (nExtrema < 0) {
+        nExtrema = cubicExtrema(y0, y1, y2, y3, extrema);
+        if (extrema[1] < extrema[0] && nExtrema > 1) {
+          swapExtrema();
+        }
+        y0_ = cubicAt(y0, y1, y2, y3, extrema[0]);
+        if (nExtrema > 1) {
+          y1_ = cubicAt(y0, y1, y2, y3, extrema[1]);
+        }
+      }
+      if (nExtrema === 2) {
+        if (t2 < extrema[0]) {
+          w2 += y0_ < y0 ? unit : -unit;
+        } else if (t2 < extrema[1]) {
+          w2 += y1_ < y0_ ? unit : -unit;
+        } else {
+          w2 += y3 < y1_ ? unit : -unit;
+        }
+      } else {
+        if (t2 < extrema[0]) {
+          w2 += y0_ < y0 ? unit : -unit;
+        } else {
+          w2 += y3 < y0_ ? unit : -unit;
+        }
+      }
+    }
+    return w2;
+  }
+}
+function windingQuadratic(x0, y0, x1, y1, x2, y2, x3, y3) {
+  if (y3 > y0 && y3 > y1 && y3 > y2 || y3 < y0 && y3 < y1 && y3 < y2) {
+    return 0;
+  }
+  var nRoots = quadraticRootAt(y0, y1, y2, y3, roots);
+  if (nRoots === 0) {
+    return 0;
+  } else {
+    var t2 = quadraticExtremum(y0, y1, y2);
+    if (t2 >= 0 && t2 <= 1) {
+      var w2 = 0;
+      var y_ = quadraticAt$1(y0, y1, y2, t2);
+      for (var i2 = 0; i2 < nRoots; i2++) {
+        var unit = roots[i2] === 0 || roots[i2] === 1 ? 0.5 : 1;
+        var x_ = quadraticAt$1(x0, x1, x2, roots[i2]);
+        if (x_ < x3) {
+          continue;
+        }
+        if (roots[i2] < t2) {
+          w2 += y_ < y0 ? unit : -unit;
+        } else {
+          w2 += y2 < y_ ? unit : -unit;
+        }
+      }
+      return w2;
+    } else {
+      var unit = roots[0] === 0 || roots[0] === 1 ? 0.5 : 1;
+      var x_ = quadraticAt$1(x0, x1, x2, roots[0]);
+      if (x_ < x3) {
+        return 0;
+      }
+      return y2 < y0 ? unit : -unit;
+    }
+  }
+}
+function windingArc(cx, cy, r2, startAngle, endAngle, anticlockwise, x2, y2) {
+  y2 -= cy;
+  if (y2 > r2 || y2 < -r2) {
+    return 0;
+  }
+  var tmp = Math.sqrt(r2 * r2 - y2 * y2);
+  roots[0] = -tmp;
+  roots[1] = tmp;
+  var dTheta = Math.abs(startAngle - endAngle);
+  if (dTheta < 1e-4) {
+    return 0;
+  }
+  if (dTheta >= PI2$4 - 1e-4) {
+    startAngle = 0;
+    endAngle = PI2$4;
+    var dir3 = anticlockwise ? 1 : -1;
+    if (x2 >= roots[0] + cx && x2 <= roots[1] + cx) {
+      return dir3;
+    } else {
+      return 0;
+    }
+  }
+  if (startAngle > endAngle) {
+    var tmp_1 = startAngle;
+    startAngle = endAngle;
+    endAngle = tmp_1;
+  }
+  if (startAngle < 0) {
+    startAngle += PI2$4;
+    endAngle += PI2$4;
+  }
+  var w2 = 0;
+  for (var i2 = 0; i2 < 2; i2++) {
+    var x_ = roots[i2];
+    if (x_ + cx > x2) {
+      var angle = Math.atan2(y2, x_);
+      var dir3 = anticlockwise ? 1 : -1;
+      if (angle < 0) {
+        angle = PI2$4 + angle;
+      }
+      if (angle >= startAngle && angle <= endAngle || angle + PI2$4 >= startAngle && angle + PI2$4 <= endAngle) {
+        if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {
+          dir3 = -dir3;
+        }
+        w2 += dir3;
+      }
+    }
+  }
+  return w2;
+}
+function containPath(path2, lineWidth, isStroke, x2, y2) {
+  var data2 = path2.data;
+  var len2 = path2.len();
+  var w2 = 0;
+  var xi = 0;
+  var yi = 0;
+  var x0 = 0;
+  var y0 = 0;
+  var x1;
+  var y1;
+  for (var i2 = 0; i2 < len2; ) {
+    var cmd = data2[i2++];
+    var isFirst = i2 === 1;
+    if (cmd === CMD$3.M && i2 > 1) {
+      if (!isStroke) {
+        w2 += windingLine(xi, yi, x0, y0, x2, y2);
+      }
+    }
+    if (isFirst) {
+      xi = data2[i2];
+      yi = data2[i2 + 1];
+      x0 = xi;
+      y0 = yi;
+    }
+    switch (cmd) {
+      case CMD$3.M:
+        x0 = data2[i2++];
+        y0 = data2[i2++];
+        xi = x0;
+        yi = y0;
+        break;
+      case CMD$3.L:
+        if (isStroke) {
+          if (containStroke$4(xi, yi, data2[i2], data2[i2 + 1], lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingLine(xi, yi, data2[i2], data2[i2 + 1], x2, y2) || 0;
+        }
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$3.C:
+        if (isStroke) {
+          if (containStroke$3(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingCubic(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], x2, y2) || 0;
+        }
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$3.Q:
+        if (isStroke) {
+          if (containStroke$2(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingQuadratic(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], x2, y2) || 0;
+        }
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$3.A:
+        var cx = data2[i2++];
+        var cy = data2[i2++];
+        var rx = data2[i2++];
+        var ry = data2[i2++];
+        var theta = data2[i2++];
+        var dTheta = data2[i2++];
+        i2 += 1;
+        var anticlockwise = !!(1 - data2[i2++]);
+        x1 = Math.cos(theta) * rx + cx;
+        y1 = Math.sin(theta) * ry + cy;
+        if (!isFirst) {
+          w2 += windingLine(xi, yi, x1, y1, x2, y2);
+        } else {
+          x0 = x1;
+          y0 = y1;
+        }
+        var _x = (x2 - cx) * ry / rx + cx;
+        if (isStroke) {
+          if (containStroke$1(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y2);
+        }
+        xi = Math.cos(theta + dTheta) * rx + cx;
+        yi = Math.sin(theta + dTheta) * ry + cy;
+        break;
+      case CMD$3.R:
+        x0 = xi = data2[i2++];
+        y0 = yi = data2[i2++];
+        var width = data2[i2++];
+        var height = data2[i2++];
+        x1 = x0 + width;
+        y1 = y0 + height;
+        if (isStroke) {
+          if (containStroke$4(x0, y0, x1, y0, lineWidth, x2, y2) || containStroke$4(x1, y0, x1, y1, lineWidth, x2, y2) || containStroke$4(x1, y1, x0, y1, lineWidth, x2, y2) || containStroke$4(x0, y1, x0, y0, lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingLine(x1, y0, x1, y1, x2, y2);
+          w2 += windingLine(x0, y1, x0, y0, x2, y2);
+        }
+        break;
+      case CMD$3.Z:
+        if (isStroke) {
+          if (containStroke$4(xi, yi, x0, y0, lineWidth, x2, y2)) {
+            return true;
+          }
+        } else {
+          w2 += windingLine(xi, yi, x0, y0, x2, y2);
+        }
+        xi = x0;
+        yi = y0;
+        break;
+    }
+  }
+  if (!isStroke && !isAroundEqual$1(yi, y0)) {
+    w2 += windingLine(xi, yi, x0, y0, x2, y2) || 0;
+  }
+  return w2 !== 0;
+}
+function contain$2(pathProxy, x2, y2) {
+  return containPath(pathProxy, 0, false, x2, y2);
+}
+function containStroke(pathProxy, lineWidth, x2, y2) {
+  return containPath(pathProxy, lineWidth, true, x2, y2);
+}
+var DEFAULT_PATH_STYLE = defaults$2({
+  fill: "#000",
+  stroke: null,
+  strokePercent: 1,
+  fillOpacity: 1,
+  strokeOpacity: 1,
+  lineDashOffset: 0,
+  lineWidth: 1,
+  lineCap: "butt",
+  miterLimit: 10,
+  strokeNoScale: false,
+  strokeFirst: false
+}, DEFAULT_COMMON_STYLE);
+var DEFAULT_PATH_ANIMATION_PROPS = {
+  style: defaults$2({
+    fill: true,
+    stroke: true,
+    strokePercent: true,
+    fillOpacity: true,
+    strokeOpacity: true,
+    lineDashOffset: true,
+    lineWidth: true,
+    miterLimit: true
+  }, DEFAULT_COMMON_ANIMATION_PROPS.style)
+};
+var pathCopyParams = TRANSFORMABLE_PROPS.concat([
+  "invisible",
+  "culling",
+  "z",
+  "z2",
+  "zlevel",
+  "parent"
+]);
+var Path = function(_super) {
+  __extends(Path2, _super);
+  function Path2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Path2.prototype.update = function() {
+    var _this = this;
+    _super.prototype.update.call(this);
+    var style2 = this.style;
+    if (style2.decal) {
+      var decalEl = this._decalEl = this._decalEl || new Path2();
+      if (decalEl.buildPath === Path2.prototype.buildPath) {
+        decalEl.buildPath = function(ctx) {
+          _this.buildPath(ctx, _this.shape);
+        };
+      }
+      decalEl.silent = true;
+      var decalElStyle = decalEl.style;
+      for (var key2 in style2) {
+        if (decalElStyle[key2] !== style2[key2]) {
+          decalElStyle[key2] = style2[key2];
+        }
+      }
+      decalElStyle.fill = style2.fill ? style2.decal : null;
+      decalElStyle.decal = null;
+      decalElStyle.shadowColor = null;
+      style2.strokeFirst && (decalElStyle.stroke = null);
+      for (var i2 = 0; i2 < pathCopyParams.length; ++i2) {
+        decalEl[pathCopyParams[i2]] = this[pathCopyParams[i2]];
+      }
+      decalEl.__dirty |= REDRAW_BIT;
+    } else if (this._decalEl) {
+      this._decalEl = null;
+    }
+  };
+  Path2.prototype.getDecalElement = function() {
+    return this._decalEl;
+  };
+  Path2.prototype._init = function(props2) {
+    var keysArr = keys(props2);
+    this.shape = this.getDefaultShape();
+    var defaultStyle = this.getDefaultStyle();
+    if (defaultStyle) {
+      this.useStyle(defaultStyle);
+    }
+    for (var i2 = 0; i2 < keysArr.length; i2++) {
+      var key2 = keysArr[i2];
+      var value = props2[key2];
+      if (key2 === "style") {
+        if (!this.style) {
+          this.useStyle(value);
+        } else {
+          extend$1(this.style, value);
+        }
+      } else if (key2 === "shape") {
+        extend$1(this.shape, value);
+      } else {
+        _super.prototype.attrKV.call(this, key2, value);
+      }
+    }
+    if (!this.style) {
+      this.useStyle({});
+    }
+  };
+  Path2.prototype.getDefaultStyle = function() {
+    return null;
+  };
+  Path2.prototype.getDefaultShape = function() {
+    return {};
+  };
+  Path2.prototype.canBeInsideText = function() {
+    return this.hasFill();
+  };
+  Path2.prototype.getInsideTextFill = function() {
+    var pathFill = this.style.fill;
+    if (pathFill !== "none") {
+      if (isString$1(pathFill)) {
+        var fillLum = lum(pathFill, 0);
+        if (fillLum > 0.5) {
+          return DARK_LABEL_COLOR;
+        } else if (fillLum > 0.2) {
+          return LIGHTER_LABEL_COLOR;
+        }
+        return LIGHT_LABEL_COLOR;
+      } else if (pathFill) {
+        return LIGHT_LABEL_COLOR;
+      }
+    }
+    return DARK_LABEL_COLOR;
+  };
+  Path2.prototype.getInsideTextStroke = function(textFill) {
+    var pathFill = this.style.fill;
+    if (isString$1(pathFill)) {
+      var zr = this.__zr;
+      var isDarkMode2 = !!(zr && zr.isDarkMode());
+      var isDarkLabel = lum(textFill, 0) < DARK_MODE_THRESHOLD;
+      if (isDarkMode2 === isDarkLabel) {
+        return pathFill;
+      }
+    }
+  };
+  Path2.prototype.buildPath = function(ctx, shapeCfg, inBatch) {
+  };
+  Path2.prototype.pathUpdated = function() {
+    this.__dirty &= ~SHAPE_CHANGED_BIT;
+  };
+  Path2.prototype.getUpdatedPathProxy = function(inBatch) {
+    !this.path && this.createPathProxy();
+    this.path.beginPath();
+    this.buildPath(this.path, this.shape, inBatch);
+    return this.path;
+  };
+  Path2.prototype.createPathProxy = function() {
+    this.path = new PathProxy$1(false);
+  };
+  Path2.prototype.hasStroke = function() {
+    var style2 = this.style;
+    var stroke = style2.stroke;
+    return !(stroke == null || stroke === "none" || !(style2.lineWidth > 0));
+  };
+  Path2.prototype.hasFill = function() {
+    var style2 = this.style;
+    var fill = style2.fill;
+    return fill != null && fill !== "none";
+  };
+  Path2.prototype.getBoundingRect = function() {
+    var rect = this._rect;
+    var style2 = this.style;
+    var needsUpdateRect = !rect;
+    if (needsUpdateRect) {
+      var firstInvoke = false;
+      if (!this.path) {
+        firstInvoke = true;
+        this.createPathProxy();
+      }
+      var path2 = this.path;
+      if (firstInvoke || this.__dirty & SHAPE_CHANGED_BIT) {
+        path2.beginPath();
+        this.buildPath(path2, this.shape, false);
+        this.pathUpdated();
+      }
+      rect = path2.getBoundingRect();
+    }
+    this._rect = rect;
+    if (this.hasStroke() && this.path && this.path.len() > 0) {
+      var rectStroke = this._rectStroke || (this._rectStroke = rect.clone());
+      if (this.__dirty || needsUpdateRect) {
+        rectStroke.copy(rect);
+        var lineScale = style2.strokeNoScale ? this.getLineScale() : 1;
+        var w2 = style2.lineWidth;
+        if (!this.hasFill()) {
+          var strokeContainThreshold = this.strokeContainThreshold;
+          w2 = Math.max(w2, strokeContainThreshold == null ? 4 : strokeContainThreshold);
+        }
+        if (lineScale > 1e-10) {
+          rectStroke.width += w2 / lineScale;
+          rectStroke.height += w2 / lineScale;
+          rectStroke.x -= w2 / lineScale / 2;
+          rectStroke.y -= w2 / lineScale / 2;
+        }
+      }
+      return rectStroke;
+    }
+    return rect;
+  };
+  Path2.prototype.contain = function(x2, y2) {
+    var localPos = this.transformCoordToLocal(x2, y2);
+    var rect = this.getBoundingRect();
+    var style2 = this.style;
+    x2 = localPos[0];
+    y2 = localPos[1];
+    if (rect.contain(x2, y2)) {
+      var pathProxy = this.path;
+      if (this.hasStroke()) {
+        var lineWidth = style2.lineWidth;
+        var lineScale = style2.strokeNoScale ? this.getLineScale() : 1;
+        if (lineScale > 1e-10) {
+          if (!this.hasFill()) {
+            lineWidth = Math.max(lineWidth, this.strokeContainThreshold);
+          }
+          if (containStroke(pathProxy, lineWidth / lineScale, x2, y2)) {
+            return true;
+          }
+        }
+      }
+      if (this.hasFill()) {
+        return contain$2(pathProxy, x2, y2);
+      }
+    }
+    return false;
+  };
+  Path2.prototype.dirtyShape = function() {
+    this.__dirty |= SHAPE_CHANGED_BIT;
+    if (this._rect) {
+      this._rect = null;
+    }
+    if (this._decalEl) {
+      this._decalEl.dirtyShape();
+    }
+    this.markRedraw();
+  };
+  Path2.prototype.dirty = function() {
+    this.dirtyStyle();
+    this.dirtyShape();
+  };
+  Path2.prototype.animateShape = function(loop) {
+    return this.animate("shape", loop);
+  };
+  Path2.prototype.updateDuringAnimation = function(targetKey) {
+    if (targetKey === "style") {
+      this.dirtyStyle();
+    } else if (targetKey === "shape") {
+      this.dirtyShape();
+    } else {
+      this.markRedraw();
+    }
+  };
+  Path2.prototype.attrKV = function(key2, value) {
+    if (key2 === "shape") {
+      this.setShape(value);
+    } else {
+      _super.prototype.attrKV.call(this, key2, value);
+    }
+  };
+  Path2.prototype.setShape = function(keyOrObj, value) {
+    var shape = this.shape;
+    if (!shape) {
+      shape = this.shape = {};
+    }
+    if (typeof keyOrObj === "string") {
+      shape[keyOrObj] = value;
+    } else {
+      extend$1(shape, keyOrObj);
+    }
+    this.dirtyShape();
+    return this;
+  };
+  Path2.prototype.shapeChanged = function() {
+    return !!(this.__dirty & SHAPE_CHANGED_BIT);
+  };
+  Path2.prototype.createStyle = function(obj2) {
+    return createObject(DEFAULT_PATH_STYLE, obj2);
+  };
+  Path2.prototype._innerSaveToNormal = function(toState) {
+    _super.prototype._innerSaveToNormal.call(this, toState);
+    var normalState = this._normalState;
+    if (toState.shape && !normalState.shape) {
+      normalState.shape = extend$1({}, this.shape);
+    }
+  };
+  Path2.prototype._applyStateObj = function(stateName, state, normalState, keepCurrentStates, transition2, animationCfg) {
+    _super.prototype._applyStateObj.call(this, stateName, state, normalState, keepCurrentStates, transition2, animationCfg);
+    var needsRestoreToNormal = !(state && keepCurrentStates);
+    var targetShape;
+    if (state && state.shape) {
+      if (transition2) {
+        if (keepCurrentStates) {
+          targetShape = state.shape;
+        } else {
+          targetShape = extend$1({}, normalState.shape);
+          extend$1(targetShape, state.shape);
+        }
+      } else {
+        targetShape = extend$1({}, keepCurrentStates ? this.shape : normalState.shape);
+        extend$1(targetShape, state.shape);
+      }
+    } else if (needsRestoreToNormal) {
+      targetShape = normalState.shape;
+    }
+    if (targetShape) {
+      if (transition2) {
+        this.shape = extend$1({}, this.shape);
+        var targetShapePrimaryProps = {};
+        var shapeKeys = keys(targetShape);
+        for (var i2 = 0; i2 < shapeKeys.length; i2++) {
+          var key2 = shapeKeys[i2];
+          if (typeof targetShape[key2] === "object") {
+            this.shape[key2] = targetShape[key2];
+          } else {
+            targetShapePrimaryProps[key2] = targetShape[key2];
+          }
+        }
+        this._transitionState(stateName, {
+          shape: targetShapePrimaryProps
+        }, animationCfg);
+      } else {
+        this.shape = targetShape;
+        this.dirtyShape();
+      }
+    }
+  };
+  Path2.prototype._mergeStates = function(states) {
+    var mergedState = _super.prototype._mergeStates.call(this, states);
+    var mergedShape;
+    for (var i2 = 0; i2 < states.length; i2++) {
+      var state = states[i2];
+      if (state.shape) {
+        mergedShape = mergedShape || {};
+        this._mergeStyle(mergedShape, state.shape);
+      }
+    }
+    if (mergedShape) {
+      mergedState.shape = mergedShape;
+    }
+    return mergedState;
+  };
+  Path2.prototype.getAnimationStyleProps = function() {
+    return DEFAULT_PATH_ANIMATION_PROPS;
+  };
+  Path2.prototype.isZeroArea = function() {
+    return false;
+  };
+  Path2.extend = function(defaultProps) {
+    var Sub = function(_super2) {
+      __extends(Sub2, _super2);
+      function Sub2(opts2) {
+        var _this = _super2.call(this, opts2) || this;
+        defaultProps.init && defaultProps.init.call(_this, opts2);
+        return _this;
+      }
+      Sub2.prototype.getDefaultStyle = function() {
+        return clone$4(defaultProps.style);
+      };
+      Sub2.prototype.getDefaultShape = function() {
+        return clone$4(defaultProps.shape);
+      };
+      return Sub2;
+    }(Path2);
+    for (var key2 in defaultProps) {
+      if (typeof defaultProps[key2] === "function") {
+        Sub.prototype[key2] = defaultProps[key2];
+      }
+    }
+    return Sub;
+  };
+  Path2.initDefaultProps = function() {
+    var pathProto = Path2.prototype;
+    pathProto.type = "path";
+    pathProto.strokeContainThreshold = 5;
+    pathProto.segmentIgnoreThreshold = 0;
+    pathProto.subPixelOptimize = false;
+    pathProto.autoBatch = false;
+    pathProto.__dirty = REDRAW_BIT | STYLE_CHANGED_BIT | SHAPE_CHANGED_BIT;
+  }();
+  return Path2;
+}(Displayable$1);
+const Path$1 = Path;
+var DEFAULT_TSPAN_STYLE = defaults$2({
+  strokeFirst: true,
+  font: DEFAULT_FONT,
+  x: 0,
+  y: 0,
+  textAlign: "left",
+  textBaseline: "top",
+  miterLimit: 2
+}, DEFAULT_PATH_STYLE);
+var TSpan = function(_super) {
+  __extends(TSpan2, _super);
+  function TSpan2() {
+    return _super !== null && _super.apply(this, arguments) || this;
+  }
+  TSpan2.prototype.hasStroke = function() {
+    var style2 = this.style;
+    var stroke = style2.stroke;
+    return stroke != null && stroke !== "none" && style2.lineWidth > 0;
+  };
+  TSpan2.prototype.hasFill = function() {
+    var style2 = this.style;
+    var fill = style2.fill;
+    return fill != null && fill !== "none";
+  };
+  TSpan2.prototype.createStyle = function(obj2) {
+    return createObject(DEFAULT_TSPAN_STYLE, obj2);
+  };
+  TSpan2.prototype.setBoundingRect = function(rect) {
+    this._rect = rect;
+  };
+  TSpan2.prototype.getBoundingRect = function() {
+    var style2 = this.style;
+    if (!this._rect) {
+      var text2 = style2.text;
+      text2 != null ? text2 += "" : text2 = "";
+      var rect = getBoundingRect(text2, style2.font, style2.textAlign, style2.textBaseline);
+      rect.x += style2.x || 0;
+      rect.y += style2.y || 0;
+      if (this.hasStroke()) {
+        var w2 = style2.lineWidth;
+        rect.x -= w2 / 2;
+        rect.y -= w2 / 2;
+        rect.width += w2;
+        rect.height += w2;
+      }
+      this._rect = rect;
+    }
+    return this._rect;
+  };
+  TSpan2.initDefaultProps = function() {
+    var tspanProto = TSpan2.prototype;
+    tspanProto.dirtyRectTolerance = 10;
+  }();
+  return TSpan2;
+}(Displayable$1);
+TSpan.prototype.type = "tspan";
+const TSpan$1 = TSpan;
+var DEFAULT_IMAGE_STYLE = defaults$2({
+  x: 0,
+  y: 0
+}, DEFAULT_COMMON_STYLE);
+var DEFAULT_IMAGE_ANIMATION_PROPS = {
+  style: defaults$2({
+    x: true,
+    y: true,
+    width: true,
+    height: true,
+    sx: true,
+    sy: true,
+    sWidth: true,
+    sHeight: true
+  }, DEFAULT_COMMON_ANIMATION_PROPS.style)
+};
+function isImageLike$1(source2) {
+  return !!(source2 && typeof source2 !== "string" && source2.width && source2.height);
+}
+var ZRImage = function(_super) {
+  __extends(ZRImage2, _super);
+  function ZRImage2() {
+    return _super !== null && _super.apply(this, arguments) || this;
+  }
+  ZRImage2.prototype.createStyle = function(obj2) {
+    return createObject(DEFAULT_IMAGE_STYLE, obj2);
+  };
+  ZRImage2.prototype._getSize = function(dim) {
+    var style2 = this.style;
+    var size = style2[dim];
+    if (size != null) {
+      return size;
+    }
+    var imageSource = isImageLike$1(style2.image) ? style2.image : this.__image;
+    if (!imageSource) {
+      return 0;
+    }
+    var otherDim = dim === "width" ? "height" : "width";
+    var otherDimSize = style2[otherDim];
+    if (otherDimSize == null) {
+      return imageSource[dim];
+    } else {
+      return imageSource[dim] / imageSource[otherDim] * otherDimSize;
+    }
+  };
+  ZRImage2.prototype.getWidth = function() {
+    return this._getSize("width");
+  };
+  ZRImage2.prototype.getHeight = function() {
+    return this._getSize("height");
+  };
+  ZRImage2.prototype.getAnimationStyleProps = function() {
+    return DEFAULT_IMAGE_ANIMATION_PROPS;
+  };
+  ZRImage2.prototype.getBoundingRect = function() {
+    var style2 = this.style;
+    if (!this._rect) {
+      this._rect = new BoundingRect$1(style2.x || 0, style2.y || 0, this.getWidth(), this.getHeight());
+    }
+    return this._rect;
+  };
+  return ZRImage2;
+}(Displayable$1);
+ZRImage.prototype.type = "image";
+const ZRImage$1 = ZRImage;
+function buildPath$2(ctx, shape) {
+  var x2 = shape.x;
+  var y2 = shape.y;
+  var width = shape.width;
+  var height = shape.height;
+  var r2 = shape.r;
+  var r1;
+  var r22;
+  var r3;
+  var r4;
+  if (width < 0) {
+    x2 = x2 + width;
+    width = -width;
+  }
+  if (height < 0) {
+    y2 = y2 + height;
+    height = -height;
+  }
+  if (typeof r2 === "number") {
+    r1 = r22 = r3 = r4 = r2;
+  } else if (r2 instanceof Array) {
+    if (r2.length === 1) {
+      r1 = r22 = r3 = r4 = r2[0];
+    } else if (r2.length === 2) {
+      r1 = r3 = r2[0];
+      r22 = r4 = r2[1];
+    } else if (r2.length === 3) {
+      r1 = r2[0];
+      r22 = r4 = r2[1];
+      r3 = r2[2];
+    } else {
+      r1 = r2[0];
+      r22 = r2[1];
+      r3 = r2[2];
+      r4 = r2[3];
+    }
+  } else {
+    r1 = r22 = r3 = r4 = 0;
+  }
+  var total;
+  if (r1 + r22 > width) {
+    total = r1 + r22;
+    r1 *= width / total;
+    r22 *= width / total;
+  }
+  if (r3 + r4 > width) {
+    total = r3 + r4;
+    r3 *= width / total;
+    r4 *= width / total;
+  }
+  if (r22 + r3 > height) {
+    total = r22 + r3;
+    r22 *= height / total;
+    r3 *= height / total;
+  }
+  if (r1 + r4 > height) {
+    total = r1 + r4;
+    r1 *= height / total;
+    r4 *= height / total;
+  }
+  ctx.moveTo(x2 + r1, y2);
+  ctx.lineTo(x2 + width - r22, y2);
+  r22 !== 0 && ctx.arc(x2 + width - r22, y2 + r22, r22, -Math.PI / 2, 0);
+  ctx.lineTo(x2 + width, y2 + height - r3);
+  r3 !== 0 && ctx.arc(x2 + width - r3, y2 + height - r3, r3, 0, Math.PI / 2);
+  ctx.lineTo(x2 + r4, y2 + height);
+  r4 !== 0 && ctx.arc(x2 + r4, y2 + height - r4, r4, Math.PI / 2, Math.PI);
+  ctx.lineTo(x2, y2 + r1);
+  r1 !== 0 && ctx.arc(x2 + r1, y2 + r1, r1, Math.PI, Math.PI * 1.5);
+}
+var round$2 = Math.round;
+function subPixelOptimizeLine$1(outputShape, inputShape, style2) {
+  if (!inputShape) {
+    return;
+  }
+  var x1 = inputShape.x1;
+  var x2 = inputShape.x2;
+  var y1 = inputShape.y1;
+  var y2 = inputShape.y2;
+  outputShape.x1 = x1;
+  outputShape.x2 = x2;
+  outputShape.y1 = y1;
+  outputShape.y2 = y2;
+  var lineWidth = style2 && style2.lineWidth;
+  if (!lineWidth) {
+    return outputShape;
+  }
+  if (round$2(x1 * 2) === round$2(x2 * 2)) {
+    outputShape.x1 = outputShape.x2 = subPixelOptimize$1(x1, lineWidth, true);
+  }
+  if (round$2(y1 * 2) === round$2(y2 * 2)) {
+    outputShape.y1 = outputShape.y2 = subPixelOptimize$1(y1, lineWidth, true);
+  }
+  return outputShape;
+}
+function subPixelOptimizeRect$1(outputShape, inputShape, style2) {
+  if (!inputShape) {
+    return;
+  }
+  var originX = inputShape.x;
+  var originY = inputShape.y;
+  var originWidth = inputShape.width;
+  var originHeight = inputShape.height;
+  outputShape.x = originX;
+  outputShape.y = originY;
+  outputShape.width = originWidth;
+  outputShape.height = originHeight;
+  var lineWidth = style2 && style2.lineWidth;
+  if (!lineWidth) {
+    return outputShape;
+  }
+  outputShape.x = subPixelOptimize$1(originX, lineWidth, true);
+  outputShape.y = subPixelOptimize$1(originY, lineWidth, true);
+  outputShape.width = Math.max(subPixelOptimize$1(originX + originWidth, lineWidth, false) - outputShape.x, originWidth === 0 ? 0 : 1);
+  outputShape.height = Math.max(subPixelOptimize$1(originY + originHeight, lineWidth, false) - outputShape.y, originHeight === 0 ? 0 : 1);
+  return outputShape;
+}
+function subPixelOptimize$1(position2, lineWidth, positiveOrNegative) {
+  if (!lineWidth) {
+    return position2;
+  }
+  var doubledPosition = round$2(position2 * 2);
+  return (doubledPosition + round$2(lineWidth)) % 2 === 0 ? doubledPosition / 2 : (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;
+}
+var RectShape = function() {
+  function RectShape2() {
+    this.x = 0;
+    this.y = 0;
+    this.width = 0;
+    this.height = 0;
+  }
+  return RectShape2;
+}();
+var subPixelOptimizeOutputShape$1 = {};
+var Rect$2 = function(_super) {
+  __extends(Rect2, _super);
+  function Rect2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Rect2.prototype.getDefaultShape = function() {
+    return new RectShape();
+  };
+  Rect2.prototype.buildPath = function(ctx, shape) {
+    var x2;
+    var y2;
+    var width;
+    var height;
+    if (this.subPixelOptimize) {
+      var optimizedShape = subPixelOptimizeRect$1(subPixelOptimizeOutputShape$1, shape, this.style);
+      x2 = optimizedShape.x;
+      y2 = optimizedShape.y;
+      width = optimizedShape.width;
+      height = optimizedShape.height;
+      optimizedShape.r = shape.r;
+      shape = optimizedShape;
+    } else {
+      x2 = shape.x;
+      y2 = shape.y;
+      width = shape.width;
+      height = shape.height;
+    }
+    if (!shape.r) {
+      ctx.rect(x2, y2, width, height);
+    } else {
+      buildPath$2(ctx, shape);
+    }
+  };
+  Rect2.prototype.isZeroArea = function() {
+    return !this.shape.width || !this.shape.height;
+  };
+  return Rect2;
+}(Path$1);
+Rect$2.prototype.type = "rect";
+const Rect$3 = Rect$2;
+var DEFAULT_RICH_TEXT_COLOR = {
+  fill: "#000"
+};
+var DEFAULT_STROKE_LINE_WIDTH = 2;
+var DEFAULT_TEXT_ANIMATION_PROPS = {
+  style: defaults$2({
+    fill: true,
+    stroke: true,
+    fillOpacity: true,
+    strokeOpacity: true,
+    lineWidth: true,
+    fontSize: true,
+    lineHeight: true,
+    width: true,
+    height: true,
+    textShadowColor: true,
+    textShadowBlur: true,
+    textShadowOffsetX: true,
+    textShadowOffsetY: true,
+    backgroundColor: true,
+    padding: true,
+    borderColor: true,
+    borderWidth: true,
+    borderRadius: true
+  }, DEFAULT_COMMON_ANIMATION_PROPS.style)
+};
+var ZRText = function(_super) {
+  __extends(ZRText2, _super);
+  function ZRText2(opts2) {
+    var _this = _super.call(this) || this;
+    _this.type = "text";
+    _this._children = [];
+    _this._defaultStyle = DEFAULT_RICH_TEXT_COLOR;
+    _this.attr(opts2);
+    return _this;
+  }
+  ZRText2.prototype.childrenRef = function() {
+    return this._children;
+  };
+  ZRText2.prototype.update = function() {
+    _super.prototype.update.call(this);
+    if (this.styleChanged()) {
+      this._updateSubTexts();
+    }
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      var child = this._children[i2];
+      child.zlevel = this.zlevel;
+      child.z = this.z;
+      child.z2 = this.z2;
+      child.culling = this.culling;
+      child.cursor = this.cursor;
+      child.invisible = this.invisible;
+    }
+  };
+  ZRText2.prototype.updateTransform = function() {
+    var innerTransformable = this.innerTransformable;
+    if (innerTransformable) {
+      innerTransformable.updateTransform();
+      if (innerTransformable.transform) {
+        this.transform = innerTransformable.transform;
+      }
+    } else {
+      _super.prototype.updateTransform.call(this);
+    }
+  };
+  ZRText2.prototype.getLocalTransform = function(m2) {
+    var innerTransformable = this.innerTransformable;
+    return innerTransformable ? innerTransformable.getLocalTransform(m2) : _super.prototype.getLocalTransform.call(this, m2);
+  };
+  ZRText2.prototype.getComputedTransform = function() {
+    if (this.__hostTarget) {
+      this.__hostTarget.getComputedTransform();
+      this.__hostTarget.updateInnerText(true);
+    }
+    return _super.prototype.getComputedTransform.call(this);
+  };
+  ZRText2.prototype._updateSubTexts = function() {
+    this._childCursor = 0;
+    normalizeTextStyle(this.style);
+    this.style.rich ? this._updateRichTexts() : this._updatePlainTexts();
+    this._children.length = this._childCursor;
+    this.styleUpdated();
+  };
+  ZRText2.prototype.addSelfToZr = function(zr) {
+    _super.prototype.addSelfToZr.call(this, zr);
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      this._children[i2].__zr = zr;
+    }
+  };
+  ZRText2.prototype.removeSelfFromZr = function(zr) {
+    _super.prototype.removeSelfFromZr.call(this, zr);
+    for (var i2 = 0; i2 < this._children.length; i2++) {
+      this._children[i2].__zr = null;
+    }
+  };
+  ZRText2.prototype.getBoundingRect = function() {
+    if (this.styleChanged()) {
+      this._updateSubTexts();
+    }
+    if (!this._rect) {
+      var tmpRect2 = new BoundingRect$1(0, 0, 0, 0);
+      var children3 = this._children;
+      var tmpMat = [];
+      var rect = null;
+      for (var i2 = 0; i2 < children3.length; i2++) {
+        var child = children3[i2];
+        var childRect = child.getBoundingRect();
+        var transform3 = child.getLocalTransform(tmpMat);
+        if (transform3) {
+          tmpRect2.copy(childRect);
+          tmpRect2.applyTransform(transform3);
+          rect = rect || tmpRect2.clone();
+          rect.union(tmpRect2);
+        } else {
+          rect = rect || childRect.clone();
+          rect.union(childRect);
+        }
+      }
+      this._rect = rect || tmpRect2;
+    }
+    return this._rect;
+  };
+  ZRText2.prototype.setDefaultTextStyle = function(defaultTextStyle) {
+    this._defaultStyle = defaultTextStyle || DEFAULT_RICH_TEXT_COLOR;
+  };
+  ZRText2.prototype.setTextContent = function(textContent) {
+  };
+  ZRText2.prototype._mergeStyle = function(targetStyle, sourceStyle) {
+    if (!sourceStyle) {
+      return targetStyle;
+    }
+    var sourceRich = sourceStyle.rich;
+    var targetRich = targetStyle.rich || sourceRich && {};
+    extend$1(targetStyle, sourceStyle);
+    if (sourceRich && targetRich) {
+      this._mergeRich(targetRich, sourceRich);
+      targetStyle.rich = targetRich;
+    } else if (targetRich) {
+      targetStyle.rich = targetRich;
+    }
+    return targetStyle;
+  };
+  ZRText2.prototype._mergeRich = function(targetRich, sourceRich) {
+    var richNames = keys(sourceRich);
+    for (var i2 = 0; i2 < richNames.length; i2++) {
+      var richName = richNames[i2];
+      targetRich[richName] = targetRich[richName] || {};
+      extend$1(targetRich[richName], sourceRich[richName]);
+    }
+  };
+  ZRText2.prototype.getAnimationStyleProps = function() {
+    return DEFAULT_TEXT_ANIMATION_PROPS;
+  };
+  ZRText2.prototype._getOrCreateChild = function(Ctor) {
+    var child = this._children[this._childCursor];
+    if (!child || !(child instanceof Ctor)) {
+      child = new Ctor();
+    }
+    this._children[this._childCursor++] = child;
+    child.__zr = this.__zr;
+    child.parent = this;
+    return child;
+  };
+  ZRText2.prototype._updatePlainTexts = function() {
+    var style2 = this.style;
+    var textFont = style2.font || DEFAULT_FONT;
+    var textPadding = style2.padding;
+    var text2 = getStyleText(style2);
+    var contentBlock = parsePlainText(text2, style2);
+    var needDrawBg = needDrawBackground(style2);
+    var bgColorDrawn = !!style2.backgroundColor;
+    var outerHeight = contentBlock.outerHeight;
+    var outerWidth = contentBlock.outerWidth;
+    var contentWidth = contentBlock.contentWidth;
+    var textLines = contentBlock.lines;
+    var lineHeight = contentBlock.lineHeight;
+    var defaultStyle = this._defaultStyle;
+    var baseX = style2.x || 0;
+    var baseY = style2.y || 0;
+    var textAlign = style2.align || defaultStyle.align || "left";
+    var verticalAlign = style2.verticalAlign || defaultStyle.verticalAlign || "top";
+    var textX = baseX;
+    var textY = adjustTextY(baseY, contentBlock.contentHeight, verticalAlign);
+    if (needDrawBg || textPadding) {
+      var boxX = adjustTextX(baseX, outerWidth, textAlign);
+      var boxY = adjustTextY(baseY, outerHeight, verticalAlign);
+      needDrawBg && this._renderBackground(style2, style2, boxX, boxY, outerWidth, outerHeight);
+    }
+    textY += lineHeight / 2;
+    if (textPadding) {
+      textX = getTextXForPadding(baseX, textAlign, textPadding);
+      if (verticalAlign === "top") {
+        textY += textPadding[0];
+      } else if (verticalAlign === "bottom") {
+        textY -= textPadding[2];
+      }
+    }
+    var defaultLineWidth = 0;
+    var useDefaultFill = false;
+    var textFill = getFill("fill" in style2 ? style2.fill : (useDefaultFill = true, defaultStyle.fill));
+    var textStroke = getStroke("stroke" in style2 ? style2.stroke : !bgColorDrawn && (!defaultStyle.autoStroke || useDefaultFill) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke) : null);
+    var hasShadow2 = style2.textShadowBlur > 0;
+    var fixedBoundingRect = style2.width != null && (style2.overflow === "truncate" || style2.overflow === "break" || style2.overflow === "breakAll");
+    var calculatedLineHeight = contentBlock.calculatedLineHeight;
+    for (var i2 = 0; i2 < textLines.length; i2++) {
+      var el = this._getOrCreateChild(TSpan$1);
+      var subElStyle = el.createStyle();
+      el.useStyle(subElStyle);
+      subElStyle.text = textLines[i2];
+      subElStyle.x = textX;
+      subElStyle.y = textY;
+      if (textAlign) {
+        subElStyle.textAlign = textAlign;
+      }
+      subElStyle.textBaseline = "middle";
+      subElStyle.opacity = style2.opacity;
+      subElStyle.strokeFirst = true;
+      if (hasShadow2) {
+        subElStyle.shadowBlur = style2.textShadowBlur || 0;
+        subElStyle.shadowColor = style2.textShadowColor || "transparent";
+        subElStyle.shadowOffsetX = style2.textShadowOffsetX || 0;
+        subElStyle.shadowOffsetY = style2.textShadowOffsetY || 0;
+      }
+      subElStyle.stroke = textStroke;
+      subElStyle.fill = textFill;
+      if (textStroke) {
+        subElStyle.lineWidth = style2.lineWidth || defaultLineWidth;
+        subElStyle.lineDash = style2.lineDash;
+        subElStyle.lineDashOffset = style2.lineDashOffset || 0;
+      }
+      subElStyle.font = textFont;
+      setSeparateFont(subElStyle, style2);
+      textY += lineHeight;
+      if (fixedBoundingRect) {
+        el.setBoundingRect(new BoundingRect$1(adjustTextX(subElStyle.x, style2.width, subElStyle.textAlign), adjustTextY(subElStyle.y, calculatedLineHeight, subElStyle.textBaseline), contentWidth, calculatedLineHeight));
+      }
+    }
+  };
+  ZRText2.prototype._updateRichTexts = function() {
+    var style2 = this.style;
+    var text2 = getStyleText(style2);
+    var contentBlock = parseRichText(text2, style2);
+    var contentWidth = contentBlock.width;
+    var outerWidth = contentBlock.outerWidth;
+    var outerHeight = contentBlock.outerHeight;
+    var textPadding = style2.padding;
+    var baseX = style2.x || 0;
+    var baseY = style2.y || 0;
+    var defaultStyle = this._defaultStyle;
+    var textAlign = style2.align || defaultStyle.align;
+    var verticalAlign = style2.verticalAlign || defaultStyle.verticalAlign;
+    var boxX = adjustTextX(baseX, outerWidth, textAlign);
+    var boxY = adjustTextY(baseY, outerHeight, verticalAlign);
+    var xLeft = boxX;
+    var lineTop = boxY;
+    if (textPadding) {
+      xLeft += textPadding[3];
+      lineTop += textPadding[0];
+    }
+    var xRight = xLeft + contentWidth;
+    if (needDrawBackground(style2)) {
+      this._renderBackground(style2, style2, boxX, boxY, outerWidth, outerHeight);
+    }
+    var bgColorDrawn = !!style2.backgroundColor;
+    for (var i2 = 0; i2 < contentBlock.lines.length; i2++) {
+      var line2 = contentBlock.lines[i2];
+      var tokens = line2.tokens;
+      var tokenCount = tokens.length;
+      var lineHeight = line2.lineHeight;
+      var remainedWidth = line2.width;
+      var leftIndex = 0;
+      var lineXLeft = xLeft;
+      var lineXRight = xRight;
+      var rightIndex = tokenCount - 1;
+      var token2 = void 0;
+      while (leftIndex < tokenCount && (token2 = tokens[leftIndex], !token2.align || token2.align === "left")) {
+        this._placeToken(token2, style2, lineHeight, lineTop, lineXLeft, "left", bgColorDrawn);
+        remainedWidth -= token2.width;
+        lineXLeft += token2.width;
+        leftIndex++;
+      }
+      while (rightIndex >= 0 && (token2 = tokens[rightIndex], token2.align === "right")) {
+        this._placeToken(token2, style2, lineHeight, lineTop, lineXRight, "right", bgColorDrawn);
+        remainedWidth -= token2.width;
+        lineXRight -= token2.width;
+        rightIndex--;
+      }
+      lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - remainedWidth) / 2;
+      while (leftIndex <= rightIndex) {
+        token2 = tokens[leftIndex];
+        this._placeToken(token2, style2, lineHeight, lineTop, lineXLeft + token2.width / 2, "center", bgColorDrawn);
+        lineXLeft += token2.width;
+        leftIndex++;
+      }
+      lineTop += lineHeight;
+    }
+  };
+  ZRText2.prototype._placeToken = function(token2, style2, lineHeight, lineTop, x2, textAlign, parentBgColorDrawn) {
+    var tokenStyle = style2.rich[token2.styleName] || {};
+    tokenStyle.text = token2.text;
+    var verticalAlign = token2.verticalAlign;
+    var y2 = lineTop + lineHeight / 2;
+    if (verticalAlign === "top") {
+      y2 = lineTop + token2.height / 2;
+    } else if (verticalAlign === "bottom") {
+      y2 = lineTop + lineHeight - token2.height / 2;
+    }
+    var needDrawBg = !token2.isLineHolder && needDrawBackground(tokenStyle);
+    needDrawBg && this._renderBackground(tokenStyle, style2, textAlign === "right" ? x2 - token2.width : textAlign === "center" ? x2 - token2.width / 2 : x2, y2 - token2.height / 2, token2.width, token2.height);
+    var bgColorDrawn = !!tokenStyle.backgroundColor;
+    var textPadding = token2.textPadding;
+    if (textPadding) {
+      x2 = getTextXForPadding(x2, textAlign, textPadding);
+      y2 -= token2.height / 2 - textPadding[0] - token2.innerHeight / 2;
+    }
+    var el = this._getOrCreateChild(TSpan$1);
+    var subElStyle = el.createStyle();
+    el.useStyle(subElStyle);
+    var defaultStyle = this._defaultStyle;
+    var useDefaultFill = false;
+    var defaultLineWidth = 0;
+    var textFill = getFill("fill" in tokenStyle ? tokenStyle.fill : "fill" in style2 ? style2.fill : (useDefaultFill = true, defaultStyle.fill));
+    var textStroke = getStroke("stroke" in tokenStyle ? tokenStyle.stroke : "stroke" in style2 ? style2.stroke : !bgColorDrawn && !parentBgColorDrawn && (!defaultStyle.autoStroke || useDefaultFill) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke) : null);
+    var hasShadow2 = tokenStyle.textShadowBlur > 0 || style2.textShadowBlur > 0;
+    subElStyle.text = token2.text;
+    subElStyle.x = x2;
+    subElStyle.y = y2;
+    if (hasShadow2) {
+      subElStyle.shadowBlur = tokenStyle.textShadowBlur || style2.textShadowBlur || 0;
+      subElStyle.shadowColor = tokenStyle.textShadowColor || style2.textShadowColor || "transparent";
+      subElStyle.shadowOffsetX = tokenStyle.textShadowOffsetX || style2.textShadowOffsetX || 0;
+      subElStyle.shadowOffsetY = tokenStyle.textShadowOffsetY || style2.textShadowOffsetY || 0;
+    }
+    subElStyle.textAlign = textAlign;
+    subElStyle.textBaseline = "middle";
+    subElStyle.font = token2.font || DEFAULT_FONT;
+    subElStyle.opacity = retrieve3(tokenStyle.opacity, style2.opacity, 1);
+    setSeparateFont(subElStyle, tokenStyle);
+    if (textStroke) {
+      subElStyle.lineWidth = retrieve3(tokenStyle.lineWidth, style2.lineWidth, defaultLineWidth);
+      subElStyle.lineDash = retrieve2(tokenStyle.lineDash, style2.lineDash);
+      subElStyle.lineDashOffset = style2.lineDashOffset || 0;
+      subElStyle.stroke = textStroke;
+    }
+    if (textFill) {
+      subElStyle.fill = textFill;
+    }
+    var textWidth = token2.contentWidth;
+    var textHeight = token2.contentHeight;
+    el.setBoundingRect(new BoundingRect$1(adjustTextX(subElStyle.x, textWidth, subElStyle.textAlign), adjustTextY(subElStyle.y, textHeight, subElStyle.textBaseline), textWidth, textHeight));
+  };
+  ZRText2.prototype._renderBackground = function(style2, topStyle, x2, y2, width, height) {
+    var textBackgroundColor = style2.backgroundColor;
+    var textBorderWidth = style2.borderWidth;
+    var textBorderColor = style2.borderColor;
+    var isImageBg = textBackgroundColor && textBackgroundColor.image;
+    var isPlainOrGradientBg = textBackgroundColor && !isImageBg;
+    var textBorderRadius = style2.borderRadius;
+    var self2 = this;
+    var rectEl;
+    var imgEl;
+    if (isPlainOrGradientBg || style2.lineHeight || textBorderWidth && textBorderColor) {
+      rectEl = this._getOrCreateChild(Rect$3);
+      rectEl.useStyle(rectEl.createStyle());
+      rectEl.style.fill = null;
+      var rectShape = rectEl.shape;
+      rectShape.x = x2;
+      rectShape.y = y2;
+      rectShape.width = width;
+      rectShape.height = height;
+      rectShape.r = textBorderRadius;
+      rectEl.dirtyShape();
+    }
+    if (isPlainOrGradientBg) {
+      var rectStyle = rectEl.style;
+      rectStyle.fill = textBackgroundColor || null;
+      rectStyle.fillOpacity = retrieve2(style2.fillOpacity, 1);
+    } else if (isImageBg) {
+      imgEl = this._getOrCreateChild(ZRImage$1);
+      imgEl.onload = function() {
+        self2.dirtyStyle();
+      };
+      var imgStyle = imgEl.style;
+      imgStyle.image = textBackgroundColor.image;
+      imgStyle.x = x2;
+      imgStyle.y = y2;
+      imgStyle.width = width;
+      imgStyle.height = height;
+    }
+    if (textBorderWidth && textBorderColor) {
+      var rectStyle = rectEl.style;
+      rectStyle.lineWidth = textBorderWidth;
+      rectStyle.stroke = textBorderColor;
+      rectStyle.strokeOpacity = retrieve2(style2.strokeOpacity, 1);
+      rectStyle.lineDash = style2.borderDash;
+      rectStyle.lineDashOffset = style2.borderDashOffset || 0;
+      rectEl.strokeContainThreshold = 0;
+      if (rectEl.hasFill() && rectEl.hasStroke()) {
+        rectStyle.strokeFirst = true;
+        rectStyle.lineWidth *= 2;
+      }
+    }
+    var commonStyle = (rectEl || imgEl).style;
+    commonStyle.shadowBlur = style2.shadowBlur || 0;
+    commonStyle.shadowColor = style2.shadowColor || "transparent";
+    commonStyle.shadowOffsetX = style2.shadowOffsetX || 0;
+    commonStyle.shadowOffsetY = style2.shadowOffsetY || 0;
+    commonStyle.opacity = retrieve3(style2.opacity, topStyle.opacity, 1);
+  };
+  ZRText2.makeFont = function(style2) {
+    var font = "";
+    if (hasSeparateFont(style2)) {
+      font = [
+        style2.fontStyle,
+        style2.fontWeight,
+        parseFontSize(style2.fontSize),
+        style2.fontFamily || "sans-serif"
+      ].join(" ");
+    }
+    return font && trim$2(font) || style2.textFont || style2.font;
+  };
+  return ZRText2;
+}(Displayable$1);
+var VALID_TEXT_ALIGN = { left: true, right: 1, center: 1 };
+var VALID_TEXT_VERTICAL_ALIGN = { top: 1, bottom: 1, middle: 1 };
+var FONT_PARTS = ["fontStyle", "fontWeight", "fontSize", "fontFamily"];
+function parseFontSize(fontSize) {
+  if (typeof fontSize === "string" && (fontSize.indexOf("px") !== -1 || fontSize.indexOf("rem") !== -1 || fontSize.indexOf("em") !== -1)) {
+    return fontSize;
+  } else if (!isNaN(+fontSize)) {
+    return fontSize + "px";
+  } else {
+    return DEFAULT_FONT_SIZE + "px";
+  }
+}
+function setSeparateFont(targetStyle, sourceStyle) {
+  for (var i2 = 0; i2 < FONT_PARTS.length; i2++) {
+    var fontProp = FONT_PARTS[i2];
+    var val = sourceStyle[fontProp];
+    if (val != null) {
+      targetStyle[fontProp] = val;
+    }
+  }
+}
+function hasSeparateFont(style2) {
+  return style2.fontSize != null || style2.fontFamily || style2.fontWeight;
+}
+function normalizeTextStyle(style2) {
+  normalizeStyle(style2);
+  each$f(style2.rich, normalizeStyle);
+  return style2;
+}
+function normalizeStyle(style2) {
+  if (style2) {
+    style2.font = ZRText.makeFont(style2);
+    var textAlign = style2.align;
+    textAlign === "middle" && (textAlign = "center");
+    style2.align = textAlign == null || VALID_TEXT_ALIGN[textAlign] ? textAlign : "left";
+    var verticalAlign = style2.verticalAlign;
+    verticalAlign === "center" && (verticalAlign = "middle");
+    style2.verticalAlign = verticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[verticalAlign] ? verticalAlign : "top";
+    var textPadding = style2.padding;
+    if (textPadding) {
+      style2.padding = normalizeCssArray$1(style2.padding);
+    }
+  }
+}
+function getStroke(stroke, lineWidth) {
+  return stroke == null || lineWidth <= 0 || stroke === "transparent" || stroke === "none" ? null : stroke.image || stroke.colorStops ? "#000" : stroke;
+}
+function getFill(fill) {
+  return fill == null || fill === "none" ? null : fill.image || fill.colorStops ? "#000" : fill;
+}
+function getTextXForPadding(x2, textAlign, textPadding) {
+  return textAlign === "right" ? x2 - textPadding[1] : textAlign === "center" ? x2 + textPadding[3] / 2 - textPadding[1] / 2 : x2 + textPadding[3];
+}
+function getStyleText(style2) {
+  var text2 = style2.text;
+  text2 != null && (text2 += "");
+  return text2;
+}
+function needDrawBackground(style2) {
+  return !!(style2.backgroundColor || style2.lineHeight || style2.borderWidth && style2.borderColor);
+}
+const ZRText$1 = ZRText;
+var getECData = makeInner();
+var setCommonECData = function(seriesIndex, dataType, dataIdx, el) {
+  if (el) {
+    var ecData = getECData(el);
+    ecData.dataIndex = dataIdx;
+    ecData.dataType = dataType;
+    ecData.seriesIndex = seriesIndex;
+    if (el.type === "group") {
+      el.traverse(function(child) {
+        var childECData = getECData(child);
+        childECData.seriesIndex = seriesIndex;
+        childECData.dataIndex = dataIdx;
+        childECData.dataType = dataType;
+      });
+    }
+  }
+};
+var _highlightNextDigit = 1;
+var _highlightKeyMap = {};
+var getSavedStates = makeInner();
+var getComponentStates = makeInner();
+var HOVER_STATE_NORMAL = 0;
+var HOVER_STATE_BLUR = 1;
+var HOVER_STATE_EMPHASIS = 2;
+var SPECIAL_STATES = ["emphasis", "blur", "select"];
+var DISPLAY_STATES = ["normal", "emphasis", "blur", "select"];
+var Z2_EMPHASIS_LIFT = 10;
+var Z2_SELECT_LIFT = 9;
+var HIGHLIGHT_ACTION_TYPE = "highlight";
+var DOWNPLAY_ACTION_TYPE = "downplay";
+var SELECT_ACTION_TYPE = "select";
+var UNSELECT_ACTION_TYPE = "unselect";
+var TOGGLE_SELECT_ACTION_TYPE = "toggleSelect";
+function hasFillOrStroke(fillOrStroke) {
+  return fillOrStroke != null && fillOrStroke !== "none";
+}
+var liftedColorCache = new LRU$1(100);
+function liftColor(color$12) {
+  if (isString$1(color$12)) {
+    var liftedColor = liftedColorCache.get(color$12);
+    if (!liftedColor) {
+      liftedColor = lift(color$12, -0.1);
+      liftedColorCache.put(color$12, liftedColor);
+    }
+    return liftedColor;
+  } else if (isGradientObject(color$12)) {
+    var ret = extend$1({}, color$12);
+    ret.colorStops = map$1(color$12.colorStops, function(stop2) {
+      return {
+        offset: stop2.offset,
+        color: lift(stop2.color, -0.1)
+      };
+    });
+    return ret;
+  }
+  return color$12;
+}
+function doChangeHoverState(el, stateName, hoverStateEnum) {
+  if (el.onHoverStateChange && (el.hoverState || 0) !== hoverStateEnum) {
+    el.onHoverStateChange(stateName);
+  }
+  el.hoverState = hoverStateEnum;
+}
+function singleEnterEmphasis(el) {
+  doChangeHoverState(el, "emphasis", HOVER_STATE_EMPHASIS);
+}
+function singleLeaveEmphasis(el) {
+  if (el.hoverState === HOVER_STATE_EMPHASIS) {
+    doChangeHoverState(el, "normal", HOVER_STATE_NORMAL);
+  }
+}
+function singleEnterBlur(el) {
+  doChangeHoverState(el, "blur", HOVER_STATE_BLUR);
+}
+function singleLeaveBlur(el) {
+  if (el.hoverState === HOVER_STATE_BLUR) {
+    doChangeHoverState(el, "normal", HOVER_STATE_NORMAL);
+  }
+}
+function singleEnterSelect(el) {
+  el.selected = true;
+}
+function singleLeaveSelect(el) {
+  el.selected = false;
+}
+function updateElementState(el, updater, commonParam) {
+  updater(el, commonParam);
+}
+function traverseUpdateState(el, updater, commonParam) {
+  updateElementState(el, updater, commonParam);
+  el.isGroup && el.traverse(function(child) {
+    updateElementState(child, updater, commonParam);
+  });
+}
+function setStatesFlag(el, stateName) {
+  switch (stateName) {
+    case "emphasis":
+      el.hoverState = HOVER_STATE_EMPHASIS;
+      break;
+    case "normal":
+      el.hoverState = HOVER_STATE_NORMAL;
+      break;
+    case "blur":
+      el.hoverState = HOVER_STATE_BLUR;
+      break;
+    case "select":
+      el.selected = true;
+  }
+}
+function getFromStateStyle(el, props2, toStateName, defaultValue) {
+  var style2 = el.style;
+  var fromState = {};
+  for (var i2 = 0; i2 < props2.length; i2++) {
+    var propName = props2[i2];
+    var val = style2[propName];
+    fromState[propName] = val == null ? defaultValue && defaultValue[propName] : val;
+  }
+  for (var i2 = 0; i2 < el.animators.length; i2++) {
+    var animator = el.animators[i2];
+    if (animator.__fromStateTransition && animator.__fromStateTransition.indexOf(toStateName) < 0 && animator.targetName === "style") {
+      animator.saveTo(fromState, props2);
+    }
+  }
+  return fromState;
+}
+function createEmphasisDefaultState(el, stateName, targetStates, state) {
+  var hasSelect = targetStates && indexOf(targetStates, "select") >= 0;
+  var cloned = false;
+  if (el instanceof Path$1) {
+    var store = getSavedStates(el);
+    var fromFill = hasSelect ? store.selectFill || store.normalFill : store.normalFill;
+    var fromStroke = hasSelect ? store.selectStroke || store.normalStroke : store.normalStroke;
+    if (hasFillOrStroke(fromFill) || hasFillOrStroke(fromStroke)) {
+      state = state || {};
+      var emphasisStyle = state.style || {};
+      if (emphasisStyle.fill === "inherit") {
+        cloned = true;
+        state = extend$1({}, state);
+        emphasisStyle = extend$1({}, emphasisStyle);
+        emphasisStyle.fill = fromFill;
+      } else if (!hasFillOrStroke(emphasisStyle.fill) && hasFillOrStroke(fromFill)) {
+        cloned = true;
+        state = extend$1({}, state);
+        emphasisStyle = extend$1({}, emphasisStyle);
+        emphasisStyle.fill = liftColor(fromFill);
+      } else if (!hasFillOrStroke(emphasisStyle.stroke) && hasFillOrStroke(fromStroke)) {
+        if (!cloned) {
+          state = extend$1({}, state);
+          emphasisStyle = extend$1({}, emphasisStyle);
+        }
+        emphasisStyle.stroke = liftColor(fromStroke);
+      }
+      state.style = emphasisStyle;
+    }
+  }
+  if (state) {
+    if (state.z2 == null) {
+      if (!cloned) {
+        state = extend$1({}, state);
+      }
+      var z2EmphasisLift = el.z2EmphasisLift;
+      state.z2 = el.z2 + (z2EmphasisLift != null ? z2EmphasisLift : Z2_EMPHASIS_LIFT);
+    }
+  }
+  return state;
+}
+function createSelectDefaultState(el, stateName, state) {
+  if (state) {
+    if (state.z2 == null) {
+      state = extend$1({}, state);
+      var z2SelectLift = el.z2SelectLift;
+      state.z2 = el.z2 + (z2SelectLift != null ? z2SelectLift : Z2_SELECT_LIFT);
+    }
+  }
+  return state;
+}
+function createBlurDefaultState(el, stateName, state) {
+  var hasBlur = indexOf(el.currentStates, stateName) >= 0;
+  var currentOpacity = el.style.opacity;
+  var fromState = !hasBlur ? getFromStateStyle(el, ["opacity"], stateName, {
+    opacity: 1
+  }) : null;
+  state = state || {};
+  var blurStyle = state.style || {};
+  if (blurStyle.opacity == null) {
+    state = extend$1({}, state);
+    blurStyle = extend$1({
+      // Already being applied 'emphasis'. DON'T mul opacity multiple times.
+      opacity: hasBlur ? currentOpacity : fromState.opacity * 0.1
+    }, blurStyle);
+    state.style = blurStyle;
+  }
+  return state;
+}
+function elementStateProxy(stateName, targetStates) {
+  var state = this.states[stateName];
+  if (this.style) {
+    if (stateName === "emphasis") {
+      return createEmphasisDefaultState(this, stateName, targetStates, state);
+    } else if (stateName === "blur") {
+      return createBlurDefaultState(this, stateName, state);
+    } else if (stateName === "select") {
+      return createSelectDefaultState(this, stateName, state);
+    }
+  }
+  return state;
+}
+function setDefaultStateProxy(el) {
+  el.stateProxy = elementStateProxy;
+  var textContent = el.getTextContent();
+  var textGuide = el.getTextGuideLine();
+  if (textContent) {
+    textContent.stateProxy = elementStateProxy;
+  }
+  if (textGuide) {
+    textGuide.stateProxy = elementStateProxy;
+  }
+}
+function enterEmphasisWhenMouseOver(el, e2) {
+  !shouldSilent(el, e2) && !el.__highByOuter && traverseUpdateState(el, singleEnterEmphasis);
+}
+function leaveEmphasisWhenMouseOut(el, e2) {
+  !shouldSilent(el, e2) && !el.__highByOuter && traverseUpdateState(el, singleLeaveEmphasis);
+}
+function enterEmphasis(el, highlightDigit) {
+  el.__highByOuter |= 1 << (highlightDigit || 0);
+  traverseUpdateState(el, singleEnterEmphasis);
+}
+function leaveEmphasis(el, highlightDigit) {
+  !(el.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdateState(el, singleLeaveEmphasis);
+}
+function enterBlur(el) {
+  traverseUpdateState(el, singleEnterBlur);
+}
+function leaveBlur(el) {
+  traverseUpdateState(el, singleLeaveBlur);
+}
+function enterSelect(el) {
+  traverseUpdateState(el, singleEnterSelect);
+}
+function leaveSelect(el) {
+  traverseUpdateState(el, singleLeaveSelect);
+}
+function shouldSilent(el, e2) {
+  return el.__highDownSilentOnTouch && e2.zrByTouch;
+}
+function allLeaveBlur(api2) {
+  var model2 = api2.getModel();
+  var leaveBlurredSeries = [];
+  var allComponentViews = [];
+  model2.eachComponent(function(componentType, componentModel) {
+    var componentStates = getComponentStates(componentModel);
+    var isSeries2 = componentType === "series";
+    var view = isSeries2 ? api2.getViewOfSeriesModel(componentModel) : api2.getViewOfComponentModel(componentModel);
+    !isSeries2 && allComponentViews.push(view);
+    if (componentStates.isBlured) {
+      view.group.traverse(function(child) {
+        singleLeaveBlur(child);
+      });
+      isSeries2 && leaveBlurredSeries.push(componentModel);
+    }
+    componentStates.isBlured = false;
+  });
+  each$f(allComponentViews, function(view) {
+    if (view && view.toggleBlurSeries) {
+      view.toggleBlurSeries(leaveBlurredSeries, false, model2);
+    }
+  });
+}
+function blurSeries(targetSeriesIndex, focus2, blurScope, api2) {
+  var ecModel = api2.getModel();
+  blurScope = blurScope || "coordinateSystem";
+  function leaveBlurOfIndices(data2, dataIndices) {
+    for (var i2 = 0; i2 < dataIndices.length; i2++) {
+      var itemEl = data2.getItemGraphicEl(dataIndices[i2]);
+      itemEl && leaveBlur(itemEl);
+    }
+  }
+  if (targetSeriesIndex == null) {
+    return;
+  }
+  if (!focus2 || focus2 === "none") {
+    return;
+  }
+  var targetSeriesModel = ecModel.getSeriesByIndex(targetSeriesIndex);
+  var targetCoordSys = targetSeriesModel.coordinateSystem;
+  if (targetCoordSys && targetCoordSys.master) {
+    targetCoordSys = targetCoordSys.master;
+  }
+  var blurredSeries = [];
+  ecModel.eachSeries(function(seriesModel) {
+    var sameSeries = targetSeriesModel === seriesModel;
+    var coordSys = seriesModel.coordinateSystem;
+    if (coordSys && coordSys.master) {
+      coordSys = coordSys.master;
+    }
+    var sameCoordSys = coordSys && targetCoordSys ? coordSys === targetCoordSys : sameSeries;
+    if (!// Not blur other series if blurScope series
+    (blurScope === "series" && !sameSeries || blurScope === "coordinateSystem" && !sameCoordSys || focus2 === "series" && sameSeries)) {
+      var view = api2.getViewOfSeriesModel(seriesModel);
+      view.group.traverse(function(child) {
+        if (child.__highByOuter && sameSeries && focus2 === "self") {
+          return;
+        }
+        singleEnterBlur(child);
+      });
+      if (isArrayLike(focus2)) {
+        leaveBlurOfIndices(seriesModel.getData(), focus2);
+      } else if (isObject$4(focus2)) {
+        var dataTypes = keys(focus2);
+        for (var d2 = 0; d2 < dataTypes.length; d2++) {
+          leaveBlurOfIndices(seriesModel.getData(dataTypes[d2]), focus2[dataTypes[d2]]);
+        }
+      }
+      blurredSeries.push(seriesModel);
+      getComponentStates(seriesModel).isBlured = true;
+    }
+  });
+  ecModel.eachComponent(function(componentType, componentModel) {
+    if (componentType === "series") {
+      return;
+    }
+    var view = api2.getViewOfComponentModel(componentModel);
+    if (view && view.toggleBlurSeries) {
+      view.toggleBlurSeries(blurredSeries, true, ecModel);
+    }
+  });
+}
+function blurComponent(componentMainType, componentIndex, api2) {
+  if (componentMainType == null || componentIndex == null) {
+    return;
+  }
+  var componentModel = api2.getModel().getComponent(componentMainType, componentIndex);
+  if (!componentModel) {
+    return;
+  }
+  getComponentStates(componentModel).isBlured = true;
+  var view = api2.getViewOfComponentModel(componentModel);
+  if (!view || !view.focusBlurEnabled) {
+    return;
+  }
+  view.group.traverse(function(child) {
+    singleEnterBlur(child);
+  });
+}
+function blurSeriesFromHighlightPayload(seriesModel, payload, api2) {
+  var seriesIndex = seriesModel.seriesIndex;
+  var data2 = seriesModel.getData(payload.dataType);
+  if (!data2) {
+    return;
+  }
+  var dataIndex = queryDataIndex(data2, payload);
+  dataIndex = (isArray$2(dataIndex) ? dataIndex[0] : dataIndex) || 0;
+  var el = data2.getItemGraphicEl(dataIndex);
+  if (!el) {
+    var count2 = data2.count();
+    var current = 0;
+    while (!el && current < count2) {
+      el = data2.getItemGraphicEl(current++);
+    }
+  }
+  if (el) {
+    var ecData = getECData(el);
+    blurSeries(seriesIndex, ecData.focus, ecData.blurScope, api2);
+  } else {
+    var focus_1 = seriesModel.get(["emphasis", "focus"]);
+    var blurScope = seriesModel.get(["emphasis", "blurScope"]);
+    if (focus_1 != null) {
+      blurSeries(seriesIndex, focus_1, blurScope, api2);
+    }
+  }
+}
+function findComponentHighDownDispatchers(componentMainType, componentIndex, name2, api2) {
+  var ret = {
+    focusSelf: false,
+    dispatchers: null
+  };
+  if (componentMainType == null || componentMainType === "series" || componentIndex == null || name2 == null) {
+    return ret;
+  }
+  var componentModel = api2.getModel().getComponent(componentMainType, componentIndex);
+  if (!componentModel) {
+    return ret;
+  }
+  var view = api2.getViewOfComponentModel(componentModel);
+  if (!view || !view.findHighDownDispatchers) {
+    return ret;
+  }
+  var dispatchers = view.findHighDownDispatchers(name2);
+  var focusSelf;
+  for (var i2 = 0; i2 < dispatchers.length; i2++) {
+    if (getECData(dispatchers[i2]).focus === "self") {
+      focusSelf = true;
+      break;
+    }
+  }
+  return {
+    focusSelf,
+    dispatchers
+  };
+}
+function handleGlobalMouseOverForHighDown(dispatcher, e2, api2) {
+  var ecData = getECData(dispatcher);
+  var _a2 = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api2), dispatchers = _a2.dispatchers, focusSelf = _a2.focusSelf;
+  if (dispatchers) {
+    if (focusSelf) {
+      blurComponent(ecData.componentMainType, ecData.componentIndex, api2);
+    }
+    each$f(dispatchers, function(dispatcher2) {
+      return enterEmphasisWhenMouseOver(dispatcher2, e2);
+    });
+  } else {
+    blurSeries(ecData.seriesIndex, ecData.focus, ecData.blurScope, api2);
+    if (ecData.focus === "self") {
+      blurComponent(ecData.componentMainType, ecData.componentIndex, api2);
+    }
+    enterEmphasisWhenMouseOver(dispatcher, e2);
+  }
+}
+function handleGlobalMouseOutForHighDown(dispatcher, e2, api2) {
+  allLeaveBlur(api2);
+  var ecData = getECData(dispatcher);
+  var dispatchers = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api2).dispatchers;
+  if (dispatchers) {
+    each$f(dispatchers, function(dispatcher2) {
+      return leaveEmphasisWhenMouseOut(dispatcher2, e2);
+    });
+  } else {
+    leaveEmphasisWhenMouseOut(dispatcher, e2);
+  }
+}
+function toggleSelectionFromPayload(seriesModel, payload, api2) {
+  if (!isSelectChangePayload(payload)) {
+    return;
+  }
+  var dataType = payload.dataType;
+  var data2 = seriesModel.getData(dataType);
+  var dataIndex = queryDataIndex(data2, payload);
+  if (!isArray$2(dataIndex)) {
+    dataIndex = [dataIndex];
+  }
+  seriesModel[payload.type === TOGGLE_SELECT_ACTION_TYPE ? "toggleSelect" : payload.type === SELECT_ACTION_TYPE ? "select" : "unselect"](dataIndex, dataType);
+}
+function updateSeriesElementSelection(seriesModel) {
+  var allData = seriesModel.getAllData();
+  each$f(allData, function(_a2) {
+    var data2 = _a2.data, type2 = _a2.type;
+    data2.eachItemGraphicEl(function(el, idx) {
+      seriesModel.isSelected(idx, type2) ? enterSelect(el) : leaveSelect(el);
+    });
+  });
+}
+function getAllSelectedIndices(ecModel) {
+  var ret = [];
+  ecModel.eachSeries(function(seriesModel) {
+    var allData = seriesModel.getAllData();
+    each$f(allData, function(_a2) {
+      _a2.data;
+      var type2 = _a2.type;
+      var dataIndices = seriesModel.getSelectedDataIndices();
+      if (dataIndices.length > 0) {
+        var item = {
+          dataIndex: dataIndices,
+          seriesIndex: seriesModel.seriesIndex
+        };
+        if (type2 != null) {
+          item.dataType = type2;
+        }
+        ret.push(item);
+      }
+    });
+  });
+  return ret;
+}
+function enableHoverEmphasis(el, focus2, blurScope) {
+  setAsHighDownDispatcher(el, true);
+  traverseUpdateState(el, setDefaultStateProxy);
+  enableHoverFocus(el, focus2, blurScope);
+}
+function disableHoverEmphasis(el) {
+  setAsHighDownDispatcher(el, false);
+}
+function toggleHoverEmphasis(el, focus2, blurScope, isDisabled2) {
+  isDisabled2 ? disableHoverEmphasis(el) : enableHoverEmphasis(el, focus2, blurScope);
+}
+function enableHoverFocus(el, focus2, blurScope) {
+  var ecData = getECData(el);
+  if (focus2 != null) {
+    ecData.focus = focus2;
+    ecData.blurScope = blurScope;
+  } else if (ecData.focus) {
+    ecData.focus = null;
+  }
+}
+var OTHER_STATES = ["emphasis", "blur", "select"];
+var defaultStyleGetterMap = {
+  itemStyle: "getItemStyle",
+  lineStyle: "getLineStyle",
+  areaStyle: "getAreaStyle"
+};
+function setStatesStylesFromModel(el, itemModel, styleType, getter) {
+  styleType = styleType || "itemStyle";
+  for (var i2 = 0; i2 < OTHER_STATES.length; i2++) {
+    var stateName = OTHER_STATES[i2];
+    var model2 = itemModel.getModel([stateName, styleType]);
+    var state = el.ensureState(stateName);
+    state.style = getter ? getter(model2) : model2[defaultStyleGetterMap[styleType]]();
+  }
+}
+function setAsHighDownDispatcher(el, asDispatcher) {
+  var disable = asDispatcher === false;
+  var extendedEl = el;
+  if (el.highDownSilentOnTouch) {
+    extendedEl.__highDownSilentOnTouch = el.highDownSilentOnTouch;
+  }
+  if (!disable || extendedEl.__highDownDispatcher) {
+    extendedEl.__highByOuter = extendedEl.__highByOuter || 0;
+    extendedEl.__highDownDispatcher = !disable;
+  }
+}
+function isHighDownDispatcher(el) {
+  return !!(el && el.__highDownDispatcher);
+}
+function enableComponentHighDownFeatures(el, componentModel, componentHighDownName) {
+  var ecData = getECData(el);
+  ecData.componentMainType = componentModel.mainType;
+  ecData.componentIndex = componentModel.componentIndex;
+  ecData.componentHighDownName = componentHighDownName;
+}
+function getHighlightDigit(highlightKey) {
+  var highlightDigit = _highlightKeyMap[highlightKey];
+  if (highlightDigit == null && _highlightNextDigit <= 32) {
+    highlightDigit = _highlightKeyMap[highlightKey] = _highlightNextDigit++;
+  }
+  return highlightDigit;
+}
+function isSelectChangePayload(payload) {
+  var payloadType = payload.type;
+  return payloadType === SELECT_ACTION_TYPE || payloadType === UNSELECT_ACTION_TYPE || payloadType === TOGGLE_SELECT_ACTION_TYPE;
+}
+function isHighDownPayload(payload) {
+  var payloadType = payload.type;
+  return payloadType === HIGHLIGHT_ACTION_TYPE || payloadType === DOWNPLAY_ACTION_TYPE;
+}
+function savePathStates(el) {
+  var store = getSavedStates(el);
+  store.normalFill = el.style.fill;
+  store.normalStroke = el.style.stroke;
+  var selectState = el.states.select || {};
+  store.selectFill = selectState.style && selectState.style.fill || null;
+  store.selectStroke = selectState.style && selectState.style.stroke || null;
+}
+var CMD$2 = PathProxy$1.CMD;
+var points$2 = [[], [], []];
+var mathSqrt$2 = Math.sqrt;
+var mathAtan2 = Math.atan2;
+function transformPath(path2, m2) {
+  if (!m2) {
+    return;
+  }
+  var data2 = path2.data;
+  var len2 = path2.len();
+  var cmd;
+  var nPoint;
+  var i2;
+  var j2;
+  var k2;
+  var p2;
+  var M2 = CMD$2.M;
+  var C2 = CMD$2.C;
+  var L2 = CMD$2.L;
+  var R2 = CMD$2.R;
+  var A2 = CMD$2.A;
+  var Q2 = CMD$2.Q;
+  for (i2 = 0, j2 = 0; i2 < len2; ) {
+    cmd = data2[i2++];
+    j2 = i2;
+    nPoint = 0;
+    switch (cmd) {
+      case M2:
+        nPoint = 1;
+        break;
+      case L2:
+        nPoint = 1;
+        break;
+      case C2:
+        nPoint = 3;
+        break;
+      case Q2:
+        nPoint = 2;
+        break;
+      case A2:
+        var x2 = m2[4];
+        var y2 = m2[5];
+        var sx = mathSqrt$2(m2[0] * m2[0] + m2[1] * m2[1]);
+        var sy = mathSqrt$2(m2[2] * m2[2] + m2[3] * m2[3]);
+        var angle = mathAtan2(-m2[1] / sy, m2[0] / sx);
+        data2[i2] *= sx;
+        data2[i2++] += x2;
+        data2[i2] *= sy;
+        data2[i2++] += y2;
+        data2[i2++] *= sx;
+        data2[i2++] *= sy;
+        data2[i2++] += angle;
+        data2[i2++] += angle;
+        i2 += 2;
+        j2 = i2;
+        break;
+      case R2:
+        p2[0] = data2[i2++];
+        p2[1] = data2[i2++];
+        applyTransform$1(p2, p2, m2);
+        data2[j2++] = p2[0];
+        data2[j2++] = p2[1];
+        p2[0] += data2[i2++];
+        p2[1] += data2[i2++];
+        applyTransform$1(p2, p2, m2);
+        data2[j2++] = p2[0];
+        data2[j2++] = p2[1];
+    }
+    for (k2 = 0; k2 < nPoint; k2++) {
+      var p_1 = points$2[k2];
+      p_1[0] = data2[i2++];
+      p_1[1] = data2[i2++];
+      applyTransform$1(p_1, p_1, m2);
+      data2[j2++] = p_1[0];
+      data2[j2++] = p_1[1];
+    }
+  }
+  path2.increaseVersion();
+}
+var mathSqrt$1 = Math.sqrt;
+var mathSin$2 = Math.sin;
+var mathCos$2 = Math.cos;
+var PI$7 = Math.PI;
+function vMag(v4) {
+  return Math.sqrt(v4[0] * v4[0] + v4[1] * v4[1]);
+}
+function vRatio(u2, v4) {
+  return (u2[0] * v4[0] + u2[1] * v4[1]) / (vMag(u2) * vMag(v4));
+}
+function vAngle(u2, v4) {
+  return (u2[0] * v4[1] < u2[1] * v4[0] ? -1 : 1) * Math.acos(vRatio(u2, v4));
+}
+function processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path2) {
+  var psi = psiDeg * (PI$7 / 180);
+  var xp = mathCos$2(psi) * (x1 - x2) / 2 + mathSin$2(psi) * (y1 - y2) / 2;
+  var yp = -1 * mathSin$2(psi) * (x1 - x2) / 2 + mathCos$2(psi) * (y1 - y2) / 2;
+  var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);
+  if (lambda > 1) {
+    rx *= mathSqrt$1(lambda);
+    ry *= mathSqrt$1(lambda);
+  }
+  var f2 = (fa === fs ? -1 : 1) * mathSqrt$1((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;
+  var cxp = f2 * rx * yp / ry;
+  var cyp = f2 * -ry * xp / rx;
+  var cx = (x1 + x2) / 2 + mathCos$2(psi) * cxp - mathSin$2(psi) * cyp;
+  var cy = (y1 + y2) / 2 + mathSin$2(psi) * cxp + mathCos$2(psi) * cyp;
+  var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);
+  var u2 = [(xp - cxp) / rx, (yp - cyp) / ry];
+  var v4 = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];
+  var dTheta = vAngle(u2, v4);
+  if (vRatio(u2, v4) <= -1) {
+    dTheta = PI$7;
+  }
+  if (vRatio(u2, v4) >= 1) {
+    dTheta = 0;
+  }
+  if (dTheta < 0) {
+    var n2 = Math.round(dTheta / PI$7 * 1e6) / 1e6;
+    dTheta = PI$7 * 2 + n2 % 2 * PI$7;
+  }
+  path2.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);
+}
+var commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig;
+var numberReg$1 = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;
+function createPathProxyFromString(data2) {
+  var path2 = new PathProxy$1();
+  if (!data2) {
+    return path2;
+  }
+  var cpx = 0;
+  var cpy = 0;
+  var subpathX = cpx;
+  var subpathY = cpy;
+  var prevCmd;
+  var CMD2 = PathProxy$1.CMD;
+  var cmdList = data2.match(commandReg);
+  if (!cmdList) {
+    return path2;
+  }
+  for (var l2 = 0; l2 < cmdList.length; l2++) {
+    var cmdText = cmdList[l2];
+    var cmdStr = cmdText.charAt(0);
+    var cmd = void 0;
+    var p2 = cmdText.match(numberReg$1) || [];
+    var pLen = p2.length;
+    for (var i2 = 0; i2 < pLen; i2++) {
+      p2[i2] = parseFloat(p2[i2]);
+    }
+    var off2 = 0;
+    while (off2 < pLen) {
+      var ctlPtx = void 0;
+      var ctlPty = void 0;
+      var rx = void 0;
+      var ry = void 0;
+      var psi = void 0;
+      var fa = void 0;
+      var fs = void 0;
+      var x1 = cpx;
+      var y1 = cpy;
+      var len2 = void 0;
+      var pathData = void 0;
+      switch (cmdStr) {
+        case "l":
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "L":
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "m":
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.M;
+          path2.addData(cmd, cpx, cpy);
+          subpathX = cpx;
+          subpathY = cpy;
+          cmdStr = "l";
+          break;
+        case "M":
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.M;
+          path2.addData(cmd, cpx, cpy);
+          subpathX = cpx;
+          subpathY = cpy;
+          cmdStr = "L";
+          break;
+        case "h":
+          cpx += p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "H":
+          cpx = p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "v":
+          cpy += p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "V":
+          cpy = p2[off2++];
+          cmd = CMD2.L;
+          path2.addData(cmd, cpx, cpy);
+          break;
+        case "C":
+          cmd = CMD2.C;
+          path2.addData(cmd, p2[off2++], p2[off2++], p2[off2++], p2[off2++], p2[off2++], p2[off2++]);
+          cpx = p2[off2 - 2];
+          cpy = p2[off2 - 1];
+          break;
+        case "c":
+          cmd = CMD2.C;
+          path2.addData(cmd, p2[off2++] + cpx, p2[off2++] + cpy, p2[off2++] + cpx, p2[off2++] + cpy, p2[off2++] + cpx, p2[off2++] + cpy);
+          cpx += p2[off2 - 2];
+          cpy += p2[off2 - 1];
+          break;
+        case "S":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          len2 = path2.len();
+          pathData = path2.data;
+          if (prevCmd === CMD2.C) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cmd = CMD2.C;
+          x1 = p2[off2++];
+          y1 = p2[off2++];
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          path2.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
+          break;
+        case "s":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          len2 = path2.len();
+          pathData = path2.data;
+          if (prevCmd === CMD2.C) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cmd = CMD2.C;
+          x1 = cpx + p2[off2++];
+          y1 = cpy + p2[off2++];
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          path2.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
+          break;
+        case "Q":
+          x1 = p2[off2++];
+          y1 = p2[off2++];
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, x1, y1, cpx, cpy);
+          break;
+        case "q":
+          x1 = p2[off2++] + cpx;
+          y1 = p2[off2++] + cpy;
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, x1, y1, cpx, cpy);
+          break;
+        case "T":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          len2 = path2.len();
+          pathData = path2.data;
+          if (prevCmd === CMD2.Q) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
+          break;
+        case "t":
+          ctlPtx = cpx;
+          ctlPty = cpy;
+          len2 = path2.len();
+          pathData = path2.data;
+          if (prevCmd === CMD2.Q) {
+            ctlPtx += cpx - pathData[len2 - 4];
+            ctlPty += cpy - pathData[len2 - 3];
+          }
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.Q;
+          path2.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
+          break;
+        case "A":
+          rx = p2[off2++];
+          ry = p2[off2++];
+          psi = p2[off2++];
+          fa = p2[off2++];
+          fs = p2[off2++];
+          x1 = cpx, y1 = cpy;
+          cpx = p2[off2++];
+          cpy = p2[off2++];
+          cmd = CMD2.A;
+          processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path2);
+          break;
+        case "a":
+          rx = p2[off2++];
+          ry = p2[off2++];
+          psi = p2[off2++];
+          fa = p2[off2++];
+          fs = p2[off2++];
+          x1 = cpx, y1 = cpy;
+          cpx += p2[off2++];
+          cpy += p2[off2++];
+          cmd = CMD2.A;
+          processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path2);
+          break;
+      }
+    }
+    if (cmdStr === "z" || cmdStr === "Z") {
+      cmd = CMD2.Z;
+      path2.addData(cmd);
+      cpx = subpathX;
+      cpy = subpathY;
+    }
+    prevCmd = cmd;
+  }
+  path2.toStatic();
+  return path2;
+}
+var SVGPath = function(_super) {
+  __extends(SVGPath2, _super);
+  function SVGPath2() {
+    return _super !== null && _super.apply(this, arguments) || this;
+  }
+  SVGPath2.prototype.applyTransform = function(m2) {
+  };
+  return SVGPath2;
+}(Path$1);
+function isPathProxy(path2) {
+  return path2.setData != null;
+}
+function createPathOptions(str, opts2) {
+  var pathProxy = createPathProxyFromString(str);
+  var innerOpts = extend$1({}, opts2);
+  innerOpts.buildPath = function(path2) {
+    if (isPathProxy(path2)) {
+      path2.setData(pathProxy.data);
+      var ctx = path2.getContext();
+      if (ctx) {
+        path2.rebuildPath(ctx, 1);
+      }
+    } else {
+      var ctx = path2;
+      pathProxy.rebuildPath(ctx, 1);
+    }
+  };
+  innerOpts.applyTransform = function(m2) {
+    transformPath(pathProxy, m2);
+    this.dirtyShape();
+  };
+  return innerOpts;
+}
+function createFromString(str, opts2) {
+  return new SVGPath(createPathOptions(str, opts2));
+}
+function extendFromString(str, defaultOpts) {
+  var innerOpts = createPathOptions(str, defaultOpts);
+  var Sub = function(_super) {
+    __extends(Sub2, _super);
+    function Sub2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.applyTransform = innerOpts.applyTransform;
+      _this.buildPath = innerOpts.buildPath;
+      return _this;
+    }
+    return Sub2;
+  }(SVGPath);
+  return Sub;
+}
+function mergePath$1(pathEls, opts2) {
+  var pathList = [];
+  var len2 = pathEls.length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    var pathEl = pathEls[i2];
+    pathList.push(pathEl.getUpdatedPathProxy(true));
+  }
+  var pathBundle = new Path$1(opts2);
+  pathBundle.createPathProxy();
+  pathBundle.buildPath = function(path2) {
+    if (isPathProxy(path2)) {
+      path2.appendPath(pathList);
+      var ctx = path2.getContext();
+      if (ctx) {
+        path2.rebuildPath(ctx, 1);
+      }
+    }
+  };
+  return pathBundle;
+}
+function clonePath(sourcePath, opts2) {
+  opts2 = opts2 || {};
+  var path2 = new Path$1();
+  if (sourcePath.shape) {
+    path2.setShape(sourcePath.shape);
+  }
+  path2.setStyle(sourcePath.style);
+  if (opts2.bakeTransform) {
+    transformPath(path2.path, sourcePath.getComputedTransform());
+  } else {
+    if (opts2.toLocal) {
+      path2.setLocalTransform(sourcePath.getComputedTransform());
+    } else {
+      path2.copyTransform(sourcePath);
+    }
+  }
+  path2.buildPath = sourcePath.buildPath;
+  path2.applyTransform = path2.applyTransform;
+  path2.z = sourcePath.z;
+  path2.z2 = sourcePath.z2;
+  path2.zlevel = sourcePath.zlevel;
+  return path2;
+}
+var CircleShape = function() {
+  function CircleShape2() {
+    this.cx = 0;
+    this.cy = 0;
+    this.r = 0;
+  }
+  return CircleShape2;
+}();
+var Circle = function(_super) {
+  __extends(Circle2, _super);
+  function Circle2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Circle2.prototype.getDefaultShape = function() {
+    return new CircleShape();
+  };
+  Circle2.prototype.buildPath = function(ctx, shape) {
+    ctx.moveTo(shape.cx + shape.r, shape.cy);
+    ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2);
+  };
+  return Circle2;
+}(Path$1);
+Circle.prototype.type = "circle";
+const Circle$1 = Circle;
+var EllipseShape = function() {
+  function EllipseShape2() {
+    this.cx = 0;
+    this.cy = 0;
+    this.rx = 0;
+    this.ry = 0;
+  }
+  return EllipseShape2;
+}();
+var Ellipse = function(_super) {
+  __extends(Ellipse2, _super);
+  function Ellipse2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Ellipse2.prototype.getDefaultShape = function() {
+    return new EllipseShape();
+  };
+  Ellipse2.prototype.buildPath = function(ctx, shape) {
+    var k2 = 0.5522848;
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var a2 = shape.rx;
+    var b2 = shape.ry;
+    var ox = a2 * k2;
+    var oy = b2 * k2;
+    ctx.moveTo(x2 - a2, y2);
+    ctx.bezierCurveTo(x2 - a2, y2 - oy, x2 - ox, y2 - b2, x2, y2 - b2);
+    ctx.bezierCurveTo(x2 + ox, y2 - b2, x2 + a2, y2 - oy, x2 + a2, y2);
+    ctx.bezierCurveTo(x2 + a2, y2 + oy, x2 + ox, y2 + b2, x2, y2 + b2);
+    ctx.bezierCurveTo(x2 - ox, y2 + b2, x2 - a2, y2 + oy, x2 - a2, y2);
+    ctx.closePath();
+  };
+  return Ellipse2;
+}(Path$1);
+Ellipse.prototype.type = "ellipse";
+const Ellipse$1 = Ellipse;
+var PI$6 = Math.PI;
+var PI2$3 = PI$6 * 2;
+var mathSin$1 = Math.sin;
+var mathCos$1 = Math.cos;
+var mathACos = Math.acos;
+var mathATan2 = Math.atan2;
+var mathAbs$1 = Math.abs;
+var mathSqrt = Math.sqrt;
+var mathMax$7 = Math.max;
+var mathMin$7 = Math.min;
+var e$1 = 1e-4;
+function intersect(x0, y0, x1, y1, x2, y2, x3, y3) {
+  var dx10 = x1 - x0;
+  var dy10 = y1 - y0;
+  var dx32 = x3 - x2;
+  var dy32 = y3 - y2;
+  var t2 = dy32 * dx10 - dx32 * dy10;
+  if (t2 * t2 < e$1) {
+    return;
+  }
+  t2 = (dx32 * (y0 - y2) - dy32 * (x0 - x2)) / t2;
+  return [x0 + t2 * dx10, y0 + t2 * dy10];
+}
+function computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) {
+  var x01 = x0 - x1;
+  var y01 = y0 - y1;
+  var lo = (clockwise ? cr : -cr) / mathSqrt(x01 * x01 + y01 * y01);
+  var ox = lo * y01;
+  var oy = -lo * x01;
+  var x11 = x0 + ox;
+  var y11 = y0 + oy;
+  var x10 = x1 + ox;
+  var y10 = y1 + oy;
+  var x00 = (x11 + x10) / 2;
+  var y00 = (y11 + y10) / 2;
+  var dx = x10 - x11;
+  var dy = y10 - y11;
+  var d2 = dx * dx + dy * dy;
+  var r2 = radius - cr;
+  var s2 = x11 * y10 - x10 * y11;
+  var d3 = (dy < 0 ? -1 : 1) * mathSqrt(mathMax$7(0, r2 * r2 * d2 - s2 * s2));
+  var cx0 = (s2 * dy - dx * d3) / d2;
+  var cy0 = (-s2 * dx - dy * d3) / d2;
+  var cx1 = (s2 * dy + dx * d3) / d2;
+  var cy1 = (-s2 * dx + dy * d3) / d2;
+  var dx0 = cx0 - x00;
+  var dy0 = cy0 - y00;
+  var dx1 = cx1 - x00;
+  var dy1 = cy1 - y00;
+  if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) {
+    cx0 = cx1;
+    cy0 = cy1;
+  }
+  return {
+    cx: cx0,
+    cy: cy0,
+    x0: -ox,
+    y0: -oy,
+    x1: cx0 * (radius / r2 - 1),
+    y1: cy0 * (radius / r2 - 1)
+  };
+}
+function normalizeCornerRadius(cr) {
+  var arr;
+  if (isArray$2(cr)) {
+    var len2 = cr.length;
+    if (!len2) {
+      return cr;
+    }
+    if (len2 === 1) {
+      arr = [cr[0], cr[0], 0, 0];
+    } else if (len2 === 2) {
+      arr = [cr[0], cr[0], cr[1], cr[1]];
+    } else if (len2 === 3) {
+      arr = cr.concat(cr[2]);
+    } else {
+      arr = cr;
+    }
+  } else {
+    arr = [cr, cr, cr, cr];
+  }
+  return arr;
+}
+function buildPath$1(ctx, shape) {
+  var _a2;
+  var radius = mathMax$7(shape.r, 0);
+  var innerRadius = mathMax$7(shape.r0 || 0, 0);
+  var hasRadius = radius > 0;
+  var hasInnerRadius = innerRadius > 0;
+  if (!hasRadius && !hasInnerRadius) {
+    return;
+  }
+  if (!hasRadius) {
+    radius = innerRadius;
+    innerRadius = 0;
+  }
+  if (innerRadius > radius) {
+    var tmp = radius;
+    radius = innerRadius;
+    innerRadius = tmp;
+  }
+  var startAngle = shape.startAngle, endAngle = shape.endAngle;
+  if (isNaN(startAngle) || isNaN(endAngle)) {
+    return;
+  }
+  var cx = shape.cx, cy = shape.cy;
+  var clockwise = !!shape.clockwise;
+  var arc2 = mathAbs$1(endAngle - startAngle);
+  var mod = arc2 > PI2$3 && arc2 % PI2$3;
+  mod > e$1 && (arc2 = mod);
+  if (!(radius > e$1)) {
+    ctx.moveTo(cx, cy);
+  } else if (arc2 > PI2$3 - e$1) {
+    ctx.moveTo(cx + radius * mathCos$1(startAngle), cy + radius * mathSin$1(startAngle));
+    ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
+    if (innerRadius > e$1) {
+      ctx.moveTo(cx + innerRadius * mathCos$1(endAngle), cy + innerRadius * mathSin$1(endAngle));
+      ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);
+    }
+  } else {
+    var icrStart = void 0;
+    var icrEnd = void 0;
+    var ocrStart = void 0;
+    var ocrEnd = void 0;
+    var ocrs = void 0;
+    var ocre = void 0;
+    var icrs = void 0;
+    var icre = void 0;
+    var ocrMax = void 0;
+    var icrMax = void 0;
+    var limitedOcrMax = void 0;
+    var limitedIcrMax = void 0;
+    var xre = void 0;
+    var yre = void 0;
+    var xirs = void 0;
+    var yirs = void 0;
+    var xrs = radius * mathCos$1(startAngle);
+    var yrs = radius * mathSin$1(startAngle);
+    var xire = innerRadius * mathCos$1(endAngle);
+    var yire = innerRadius * mathSin$1(endAngle);
+    var hasArc = arc2 > e$1;
+    if (hasArc) {
+      var cornerRadius = shape.cornerRadius;
+      if (cornerRadius) {
+        _a2 = normalizeCornerRadius(cornerRadius), icrStart = _a2[0], icrEnd = _a2[1], ocrStart = _a2[2], ocrEnd = _a2[3];
+      }
+      var halfRd = mathAbs$1(radius - innerRadius) / 2;
+      ocrs = mathMin$7(halfRd, ocrStart);
+      ocre = mathMin$7(halfRd, ocrEnd);
+      icrs = mathMin$7(halfRd, icrStart);
+      icre = mathMin$7(halfRd, icrEnd);
+      limitedOcrMax = ocrMax = mathMax$7(ocrs, ocre);
+      limitedIcrMax = icrMax = mathMax$7(icrs, icre);
+      if (ocrMax > e$1 || icrMax > e$1) {
+        xre = radius * mathCos$1(endAngle);
+        yre = radius * mathSin$1(endAngle);
+        xirs = innerRadius * mathCos$1(startAngle);
+        yirs = innerRadius * mathSin$1(startAngle);
+        if (arc2 < PI$6) {
+          var it_1 = intersect(xrs, yrs, xirs, yirs, xre, yre, xire, yire);
+          if (it_1) {
+            var x0 = xrs - it_1[0];
+            var y0 = yrs - it_1[1];
+            var x1 = xre - it_1[0];
+            var y1 = yre - it_1[1];
+            var a2 = 1 / mathSin$1(mathACos((x0 * x1 + y0 * y1) / (mathSqrt(x0 * x0 + y0 * y0) * mathSqrt(x1 * x1 + y1 * y1))) / 2);
+            var b2 = mathSqrt(it_1[0] * it_1[0] + it_1[1] * it_1[1]);
+            limitedOcrMax = mathMin$7(ocrMax, (radius - b2) / (a2 + 1));
+            limitedIcrMax = mathMin$7(icrMax, (innerRadius - b2) / (a2 - 1));
+          }
+        }
+      }
+    }
+    if (!hasArc) {
+      ctx.moveTo(cx + xrs, cy + yrs);
+    } else if (limitedOcrMax > e$1) {
+      var crStart = mathMin$7(ocrStart, limitedOcrMax);
+      var crEnd = mathMin$7(ocrEnd, limitedOcrMax);
+      var ct0 = computeCornerTangents(xirs, yirs, xrs, yrs, radius, crStart, clockwise);
+      var ct1 = computeCornerTangents(xre, yre, xire, yire, radius, crEnd, clockwise);
+      ctx.moveTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);
+      if (limitedOcrMax < ocrMax && crStart === crEnd) {
+        ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedOcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);
+      } else {
+        crStart > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crStart, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);
+        ctx.arc(cx, cy, radius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), !clockwise);
+        crEnd > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crEnd, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);
+      }
+    } else {
+      ctx.moveTo(cx + xrs, cy + yrs);
+      ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
+    }
+    if (!(innerRadius > e$1) || !hasArc) {
+      ctx.lineTo(cx + xire, cy + yire);
+    } else if (limitedIcrMax > e$1) {
+      var crStart = mathMin$7(icrStart, limitedIcrMax);
+      var crEnd = mathMin$7(icrEnd, limitedIcrMax);
+      var ct0 = computeCornerTangents(xire, yire, xre, yre, innerRadius, -crEnd, clockwise);
+      var ct1 = computeCornerTangents(xrs, yrs, xirs, yirs, innerRadius, -crStart, clockwise);
+      ctx.lineTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);
+      if (limitedIcrMax < icrMax && crStart === crEnd) {
+        ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedIcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);
+      } else {
+        crEnd > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crEnd, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);
+        ctx.arc(cx, cy, innerRadius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), clockwise);
+        crStart > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crStart, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);
+      }
+    } else {
+      ctx.lineTo(cx + xire, cy + yire);
+      ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);
+    }
+  }
+  ctx.closePath();
+}
+var SectorShape = function() {
+  function SectorShape2() {
+    this.cx = 0;
+    this.cy = 0;
+    this.r0 = 0;
+    this.r = 0;
+    this.startAngle = 0;
+    this.endAngle = Math.PI * 2;
+    this.clockwise = true;
+    this.cornerRadius = 0;
+  }
+  return SectorShape2;
+}();
+var Sector = function(_super) {
+  __extends(Sector2, _super);
+  function Sector2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Sector2.prototype.getDefaultShape = function() {
+    return new SectorShape();
+  };
+  Sector2.prototype.buildPath = function(ctx, shape) {
+    buildPath$1(ctx, shape);
+  };
+  Sector2.prototype.isZeroArea = function() {
+    return this.shape.startAngle === this.shape.endAngle || this.shape.r === this.shape.r0;
+  };
+  return Sector2;
+}(Path$1);
+Sector.prototype.type = "sector";
+const Sector$1 = Sector;
+var RingShape = function() {
+  function RingShape2() {
+    this.cx = 0;
+    this.cy = 0;
+    this.r = 0;
+    this.r0 = 0;
+  }
+  return RingShape2;
+}();
+var Ring = function(_super) {
+  __extends(Ring2, _super);
+  function Ring2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Ring2.prototype.getDefaultShape = function() {
+    return new RingShape();
+  };
+  Ring2.prototype.buildPath = function(ctx, shape) {
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var PI22 = Math.PI * 2;
+    ctx.moveTo(x2 + shape.r, y2);
+    ctx.arc(x2, y2, shape.r, 0, PI22, false);
+    ctx.moveTo(x2 + shape.r0, y2);
+    ctx.arc(x2, y2, shape.r0, 0, PI22, true);
+  };
+  return Ring2;
+}(Path$1);
+Ring.prototype.type = "ring";
+const Ring$1 = Ring;
+function smoothBezier(points2, smooth, isLoop, constraint) {
+  var cps = [];
+  var v4 = [];
+  var v12 = [];
+  var v22 = [];
+  var prevPoint;
+  var nextPoint;
+  var min3;
+  var max3;
+  if (constraint) {
+    min3 = [Infinity, Infinity];
+    max3 = [-Infinity, -Infinity];
+    for (var i2 = 0, len2 = points2.length; i2 < len2; i2++) {
+      min$1(min3, min3, points2[i2]);
+      max$1(max3, max3, points2[i2]);
+    }
+    min$1(min3, min3, constraint[0]);
+    max$1(max3, max3, constraint[1]);
+  }
+  for (var i2 = 0, len2 = points2.length; i2 < len2; i2++) {
+    var point = points2[i2];
+    if (isLoop) {
+      prevPoint = points2[i2 ? i2 - 1 : len2 - 1];
+      nextPoint = points2[(i2 + 1) % len2];
+    } else {
+      if (i2 === 0 || i2 === len2 - 1) {
+        cps.push(clone$3(points2[i2]));
+        continue;
+      } else {
+        prevPoint = points2[i2 - 1];
+        nextPoint = points2[i2 + 1];
+      }
+    }
+    sub(v4, nextPoint, prevPoint);
+    scale$2(v4, v4, smooth);
+    var d0 = distance(point, prevPoint);
+    var d1 = distance(point, nextPoint);
+    var sum2 = d0 + d1;
+    if (sum2 !== 0) {
+      d0 /= sum2;
+      d1 /= sum2;
+    }
+    scale$2(v12, v4, -d0);
+    scale$2(v22, v4, d1);
+    var cp0 = add([], point, v12);
+    var cp1 = add([], point, v22);
+    if (constraint) {
+      max$1(cp0, cp0, min3);
+      min$1(cp0, cp0, max3);
+      max$1(cp1, cp1, min3);
+      min$1(cp1, cp1, max3);
+    }
+    cps.push(cp0);
+    cps.push(cp1);
+  }
+  if (isLoop) {
+    cps.push(cps.shift());
+  }
+  return cps;
+}
+function buildPath(ctx, shape, closePath) {
+  var smooth = shape.smooth;
+  var points2 = shape.points;
+  if (points2 && points2.length >= 2) {
+    if (smooth) {
+      var controlPoints = smoothBezier(points2, smooth, closePath, shape.smoothConstraint);
+      ctx.moveTo(points2[0][0], points2[0][1]);
+      var len2 = points2.length;
+      for (var i2 = 0; i2 < (closePath ? len2 : len2 - 1); i2++) {
+        var cp1 = controlPoints[i2 * 2];
+        var cp2 = controlPoints[i2 * 2 + 1];
+        var p2 = points2[(i2 + 1) % len2];
+        ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p2[0], p2[1]);
+      }
+    } else {
+      ctx.moveTo(points2[0][0], points2[0][1]);
+      for (var i2 = 1, l2 = points2.length; i2 < l2; i2++) {
+        ctx.lineTo(points2[i2][0], points2[i2][1]);
+      }
+    }
+    closePath && ctx.closePath();
+  }
+}
+var PolygonShape = function() {
+  function PolygonShape2() {
+    this.points = null;
+    this.smooth = 0;
+    this.smoothConstraint = null;
+  }
+  return PolygonShape2;
+}();
+var Polygon = function(_super) {
+  __extends(Polygon2, _super);
+  function Polygon2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Polygon2.prototype.getDefaultShape = function() {
+    return new PolygonShape();
+  };
+  Polygon2.prototype.buildPath = function(ctx, shape) {
+    buildPath(ctx, shape, true);
+  };
+  return Polygon2;
+}(Path$1);
+Polygon.prototype.type = "polygon";
+const Polygon$1 = Polygon;
+var PolylineShape = function() {
+  function PolylineShape2() {
+    this.points = null;
+    this.percent = 1;
+    this.smooth = 0;
+    this.smoothConstraint = null;
+  }
+  return PolylineShape2;
+}();
+var Polyline$2 = function(_super) {
+  __extends(Polyline2, _super);
+  function Polyline2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Polyline2.prototype.getDefaultStyle = function() {
+    return {
+      stroke: "#000",
+      fill: null
+    };
+  };
+  Polyline2.prototype.getDefaultShape = function() {
+    return new PolylineShape();
+  };
+  Polyline2.prototype.buildPath = function(ctx, shape) {
+    buildPath(ctx, shape, false);
+  };
+  return Polyline2;
+}(Path$1);
+Polyline$2.prototype.type = "polyline";
+const Polyline$3 = Polyline$2;
+var subPixelOptimizeOutputShape = {};
+var LineShape = function() {
+  function LineShape2() {
+    this.x1 = 0;
+    this.y1 = 0;
+    this.x2 = 0;
+    this.y2 = 0;
+    this.percent = 1;
+  }
+  return LineShape2;
+}();
+var Line$2 = function(_super) {
+  __extends(Line2, _super);
+  function Line2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Line2.prototype.getDefaultStyle = function() {
+    return {
+      stroke: "#000",
+      fill: null
+    };
+  };
+  Line2.prototype.getDefaultShape = function() {
+    return new LineShape();
+  };
+  Line2.prototype.buildPath = function(ctx, shape) {
+    var x1;
+    var y1;
+    var x2;
+    var y2;
+    if (this.subPixelOptimize) {
+      var optimizedShape = subPixelOptimizeLine$1(subPixelOptimizeOutputShape, shape, this.style);
+      x1 = optimizedShape.x1;
+      y1 = optimizedShape.y1;
+      x2 = optimizedShape.x2;
+      y2 = optimizedShape.y2;
+    } else {
+      x1 = shape.x1;
+      y1 = shape.y1;
+      x2 = shape.x2;
+      y2 = shape.y2;
+    }
+    var percent = shape.percent;
+    if (percent === 0) {
+      return;
+    }
+    ctx.moveTo(x1, y1);
+    if (percent < 1) {
+      x2 = x1 * (1 - percent) + x2 * percent;
+      y2 = y1 * (1 - percent) + y2 * percent;
+    }
+    ctx.lineTo(x2, y2);
+  };
+  Line2.prototype.pointAt = function(p2) {
+    var shape = this.shape;
+    return [
+      shape.x1 * (1 - p2) + shape.x2 * p2,
+      shape.y1 * (1 - p2) + shape.y2 * p2
+    ];
+  };
+  return Line2;
+}(Path$1);
+Line$2.prototype.type = "line";
+const Line$3 = Line$2;
+var out = [];
+var BezierCurveShape = function() {
+  function BezierCurveShape2() {
+    this.x1 = 0;
+    this.y1 = 0;
+    this.x2 = 0;
+    this.y2 = 0;
+    this.cpx1 = 0;
+    this.cpy1 = 0;
+    this.percent = 1;
+  }
+  return BezierCurveShape2;
+}();
+function someVectorAt(shape, t2, isTangent) {
+  var cpx2 = shape.cpx2;
+  var cpy2 = shape.cpy2;
+  if (cpx2 != null || cpy2 != null) {
+    return [
+      (isTangent ? cubicDerivativeAt : cubicAt)(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t2),
+      (isTangent ? cubicDerivativeAt : cubicAt)(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t2)
+    ];
+  } else {
+    return [
+      (isTangent ? quadraticDerivativeAt : quadraticAt$1)(shape.x1, shape.cpx1, shape.x2, t2),
+      (isTangent ? quadraticDerivativeAt : quadraticAt$1)(shape.y1, shape.cpy1, shape.y2, t2)
+    ];
+  }
+}
+var BezierCurve = function(_super) {
+  __extends(BezierCurve2, _super);
+  function BezierCurve2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  BezierCurve2.prototype.getDefaultStyle = function() {
+    return {
+      stroke: "#000",
+      fill: null
+    };
+  };
+  BezierCurve2.prototype.getDefaultShape = function() {
+    return new BezierCurveShape();
+  };
+  BezierCurve2.prototype.buildPath = function(ctx, shape) {
+    var x1 = shape.x1;
+    var y1 = shape.y1;
+    var x2 = shape.x2;
+    var y2 = shape.y2;
+    var cpx1 = shape.cpx1;
+    var cpy1 = shape.cpy1;
+    var cpx2 = shape.cpx2;
+    var cpy2 = shape.cpy2;
+    var percent = shape.percent;
+    if (percent === 0) {
+      return;
+    }
+    ctx.moveTo(x1, y1);
+    if (cpx2 == null || cpy2 == null) {
+      if (percent < 1) {
+        quadraticSubdivide(x1, cpx1, x2, percent, out);
+        cpx1 = out[1];
+        x2 = out[2];
+        quadraticSubdivide(y1, cpy1, y2, percent, out);
+        cpy1 = out[1];
+        y2 = out[2];
+      }
+      ctx.quadraticCurveTo(cpx1, cpy1, x2, y2);
+    } else {
+      if (percent < 1) {
+        cubicSubdivide(x1, cpx1, cpx2, x2, percent, out);
+        cpx1 = out[1];
+        cpx2 = out[2];
+        x2 = out[3];
+        cubicSubdivide(y1, cpy1, cpy2, y2, percent, out);
+        cpy1 = out[1];
+        cpy2 = out[2];
+        y2 = out[3];
+      }
+      ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2);
+    }
+  };
+  BezierCurve2.prototype.pointAt = function(t2) {
+    return someVectorAt(this.shape, t2, false);
+  };
+  BezierCurve2.prototype.tangentAt = function(t2) {
+    var p2 = someVectorAt(this.shape, t2, true);
+    return normalize$3(p2, p2);
+  };
+  return BezierCurve2;
+}(Path$1);
+BezierCurve.prototype.type = "bezier-curve";
+const BezierCurve$1 = BezierCurve;
+var ArcShape = function() {
+  function ArcShape2() {
+    this.cx = 0;
+    this.cy = 0;
+    this.r = 0;
+    this.startAngle = 0;
+    this.endAngle = Math.PI * 2;
+    this.clockwise = true;
+  }
+  return ArcShape2;
+}();
+var Arc = function(_super) {
+  __extends(Arc2, _super);
+  function Arc2(opts2) {
+    return _super.call(this, opts2) || this;
+  }
+  Arc2.prototype.getDefaultStyle = function() {
+    return {
+      stroke: "#000",
+      fill: null
+    };
+  };
+  Arc2.prototype.getDefaultShape = function() {
+    return new ArcShape();
+  };
+  Arc2.prototype.buildPath = function(ctx, shape) {
+    var x2 = shape.cx;
+    var y2 = shape.cy;
+    var r2 = Math.max(shape.r, 0);
+    var startAngle = shape.startAngle;
+    var endAngle = shape.endAngle;
+    var clockwise = shape.clockwise;
+    var unitX = Math.cos(startAngle);
+    var unitY = Math.sin(startAngle);
+    ctx.moveTo(unitX * r2 + x2, unitY * r2 + y2);
+    ctx.arc(x2, y2, r2, startAngle, endAngle, !clockwise);
+  };
+  return Arc2;
+}(Path$1);
+Arc.prototype.type = "arc";
+const Arc$1 = Arc;
+var CompoundPath = function(_super) {
+  __extends(CompoundPath2, _super);
+  function CompoundPath2() {
+    var _this = _super !== null && _super.apply(this, arguments) || this;
+    _this.type = "compound";
+    return _this;
+  }
+  CompoundPath2.prototype._updatePathDirty = function() {
+    var paths = this.shape.paths;
+    var dirtyPath = this.shapeChanged();
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      dirtyPath = dirtyPath || paths[i2].shapeChanged();
+    }
+    if (dirtyPath) {
+      this.dirtyShape();
+    }
+  };
+  CompoundPath2.prototype.beforeBrush = function() {
+    this._updatePathDirty();
+    var paths = this.shape.paths || [];
+    var scale2 = this.getGlobalScale();
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      if (!paths[i2].path) {
+        paths[i2].createPathProxy();
+      }
+      paths[i2].path.setScale(scale2[0], scale2[1], paths[i2].segmentIgnoreThreshold);
+    }
+  };
+  CompoundPath2.prototype.buildPath = function(ctx, shape) {
+    var paths = shape.paths || [];
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      paths[i2].buildPath(ctx, paths[i2].shape, true);
+    }
+  };
+  CompoundPath2.prototype.afterBrush = function() {
+    var paths = this.shape.paths || [];
+    for (var i2 = 0; i2 < paths.length; i2++) {
+      paths[i2].pathUpdated();
+    }
+  };
+  CompoundPath2.prototype.getBoundingRect = function() {
+    this._updatePathDirty.call(this);
+    return Path$1.prototype.getBoundingRect.call(this);
+  };
+  return CompoundPath2;
+}(Path$1);
+const CompoundPath$1 = CompoundPath;
+var Gradient = function() {
+  function Gradient2(colorStops) {
+    this.colorStops = colorStops || [];
+  }
+  Gradient2.prototype.addColorStop = function(offset2, color2) {
+    this.colorStops.push({
+      offset: offset2,
+      color: color2
+    });
+  };
+  return Gradient2;
+}();
+const Gradient$1 = Gradient;
+var LinearGradient = function(_super) {
+  __extends(LinearGradient2, _super);
+  function LinearGradient2(x2, y2, x22, y22, colorStops, globalCoord) {
+    var _this = _super.call(this, colorStops) || this;
+    _this.x = x2 == null ? 0 : x2;
+    _this.y = y2 == null ? 0 : y2;
+    _this.x2 = x22 == null ? 1 : x22;
+    _this.y2 = y22 == null ? 0 : y22;
+    _this.type = "linear";
+    _this.global = globalCoord || false;
+    return _this;
+  }
+  return LinearGradient2;
+}(Gradient$1);
+const LinearGradient$1 = LinearGradient;
+var RadialGradient = function(_super) {
+  __extends(RadialGradient2, _super);
+  function RadialGradient2(x2, y2, r2, colorStops, globalCoord) {
+    var _this = _super.call(this, colorStops) || this;
+    _this.x = x2 == null ? 0.5 : x2;
+    _this.y = y2 == null ? 0.5 : y2;
+    _this.r = r2 == null ? 0.5 : r2;
+    _this.type = "radial";
+    _this.global = globalCoord || false;
+    return _this;
+  }
+  return RadialGradient2;
+}(Gradient$1);
+const RadialGradient$1 = RadialGradient;
+var extent = [0, 0];
+var extent2 = [0, 0];
+var minTv = new Point$1();
+var maxTv = new Point$1();
+var OrientedBoundingRect = function() {
+  function OrientedBoundingRect2(rect, transform3) {
+    this._corners = [];
+    this._axes = [];
+    this._origin = [0, 0];
+    for (var i2 = 0; i2 < 4; i2++) {
+      this._corners[i2] = new Point$1();
+    }
+    for (var i2 = 0; i2 < 2; i2++) {
+      this._axes[i2] = new Point$1();
+    }
+    if (rect) {
+      this.fromBoundingRect(rect, transform3);
+    }
+  }
+  OrientedBoundingRect2.prototype.fromBoundingRect = function(rect, transform3) {
+    var corners = this._corners;
+    var axes = this._axes;
+    var x2 = rect.x;
+    var y2 = rect.y;
+    var x22 = x2 + rect.width;
+    var y22 = y2 + rect.height;
+    corners[0].set(x2, y2);
+    corners[1].set(x22, y2);
+    corners[2].set(x22, y22);
+    corners[3].set(x2, y22);
+    if (transform3) {
+      for (var i2 = 0; i2 < 4; i2++) {
+        corners[i2].transform(transform3);
+      }
+    }
+    Point$1.sub(axes[0], corners[1], corners[0]);
+    Point$1.sub(axes[1], corners[3], corners[0]);
+    axes[0].normalize();
+    axes[1].normalize();
+    for (var i2 = 0; i2 < 2; i2++) {
+      this._origin[i2] = axes[i2].dot(corners[0]);
+    }
+  };
+  OrientedBoundingRect2.prototype.intersect = function(other, mtv) {
+    var overlapped = true;
+    var noMtv = !mtv;
+    minTv.set(Infinity, Infinity);
+    maxTv.set(0, 0);
+    if (!this._intersectCheckOneSide(this, other, minTv, maxTv, noMtv, 1)) {
+      overlapped = false;
+      if (noMtv) {
+        return overlapped;
+      }
+    }
+    if (!this._intersectCheckOneSide(other, this, minTv, maxTv, noMtv, -1)) {
+      overlapped = false;
+      if (noMtv) {
+        return overlapped;
+      }
+    }
+    if (!noMtv) {
+      Point$1.copy(mtv, overlapped ? minTv : maxTv);
+    }
+    return overlapped;
+  };
+  OrientedBoundingRect2.prototype._intersectCheckOneSide = function(self2, other, minTv2, maxTv2, noMtv, inverse) {
+    var overlapped = true;
+    for (var i2 = 0; i2 < 2; i2++) {
+      var axis2 = this._axes[i2];
+      this._getProjMinMaxOnAxis(i2, self2._corners, extent);
+      this._getProjMinMaxOnAxis(i2, other._corners, extent2);
+      if (extent[1] < extent2[0] || extent[0] > extent2[1]) {
+        overlapped = false;
+        if (noMtv) {
+          return overlapped;
+        }
+        var dist0 = Math.abs(extent2[0] - extent[1]);
+        var dist1 = Math.abs(extent[0] - extent2[1]);
+        if (Math.min(dist0, dist1) > maxTv2.len()) {
+          if (dist0 < dist1) {
+            Point$1.scale(maxTv2, axis2, -dist0 * inverse);
+          } else {
+            Point$1.scale(maxTv2, axis2, dist1 * inverse);
+          }
+        }
+      } else if (minTv2) {
+        var dist0 = Math.abs(extent2[0] - extent[1]);
+        var dist1 = Math.abs(extent[0] - extent2[1]);
+        if (Math.min(dist0, dist1) < minTv2.len()) {
+          if (dist0 < dist1) {
+            Point$1.scale(minTv2, axis2, dist0 * inverse);
+          } else {
+            Point$1.scale(minTv2, axis2, -dist1 * inverse);
+          }
+        }
+      }
+    }
+    return overlapped;
+  };
+  OrientedBoundingRect2.prototype._getProjMinMaxOnAxis = function(dim, corners, out2) {
+    var axis2 = this._axes[dim];
+    var origin2 = this._origin;
+    var proj = corners[0].dot(axis2) + origin2[dim];
+    var min3 = proj;
+    var max3 = proj;
+    for (var i2 = 1; i2 < corners.length; i2++) {
+      var proj_1 = corners[i2].dot(axis2) + origin2[dim];
+      min3 = Math.min(proj_1, min3);
+      max3 = Math.max(proj_1, max3);
+    }
+    out2[0] = min3;
+    out2[1] = max3;
+  };
+  return OrientedBoundingRect2;
+}();
+const OrientedBoundingRect$1 = OrientedBoundingRect;
+var m$1 = [];
+var IncrementalDisplayable = function(_super) {
+  __extends(IncrementalDisplayable2, _super);
+  function IncrementalDisplayable2() {
+    var _this = _super !== null && _super.apply(this, arguments) || this;
+    _this.notClear = true;
+    _this.incremental = true;
+    _this._displayables = [];
+    _this._temporaryDisplayables = [];
+    _this._cursor = 0;
+    return _this;
+  }
+  IncrementalDisplayable2.prototype.traverse = function(cb, context) {
+    cb.call(context, this);
+  };
+  IncrementalDisplayable2.prototype.useStyle = function() {
+    this.style = {};
+  };
+  IncrementalDisplayable2.prototype.getCursor = function() {
+    return this._cursor;
+  };
+  IncrementalDisplayable2.prototype.innerAfterBrush = function() {
+    this._cursor = this._displayables.length;
+  };
+  IncrementalDisplayable2.prototype.clearDisplaybles = function() {
+    this._displayables = [];
+    this._temporaryDisplayables = [];
+    this._cursor = 0;
+    this.markRedraw();
+    this.notClear = false;
+  };
+  IncrementalDisplayable2.prototype.clearTemporalDisplayables = function() {
+    this._temporaryDisplayables = [];
+  };
+  IncrementalDisplayable2.prototype.addDisplayable = function(displayable, notPersistent) {
+    if (notPersistent) {
+      this._temporaryDisplayables.push(displayable);
+    } else {
+      this._displayables.push(displayable);
+    }
+    this.markRedraw();
+  };
+  IncrementalDisplayable2.prototype.addDisplayables = function(displayables, notPersistent) {
+    notPersistent = notPersistent || false;
+    for (var i2 = 0; i2 < displayables.length; i2++) {
+      this.addDisplayable(displayables[i2], notPersistent);
+    }
+  };
+  IncrementalDisplayable2.prototype.getDisplayables = function() {
+    return this._displayables;
+  };
+  IncrementalDisplayable2.prototype.getTemporalDisplayables = function() {
+    return this._temporaryDisplayables;
+  };
+  IncrementalDisplayable2.prototype.eachPendingDisplayable = function(cb) {
+    for (var i2 = this._cursor; i2 < this._displayables.length; i2++) {
+      cb && cb(this._displayables[i2]);
+    }
+    for (var i2 = 0; i2 < this._temporaryDisplayables.length; i2++) {
+      cb && cb(this._temporaryDisplayables[i2]);
+    }
+  };
+  IncrementalDisplayable2.prototype.update = function() {
+    this.updateTransform();
+    for (var i2 = this._cursor; i2 < this._displayables.length; i2++) {
+      var displayable = this._displayables[i2];
+      displayable.parent = this;
+      displayable.update();
+      displayable.parent = null;
+    }
+    for (var i2 = 0; i2 < this._temporaryDisplayables.length; i2++) {
+      var displayable = this._temporaryDisplayables[i2];
+      displayable.parent = this;
+      displayable.update();
+      displayable.parent = null;
+    }
+  };
+  IncrementalDisplayable2.prototype.getBoundingRect = function() {
+    if (!this._rect) {
+      var rect = new BoundingRect$1(Infinity, Infinity, -Infinity, -Infinity);
+      for (var i2 = 0; i2 < this._displayables.length; i2++) {
+        var displayable = this._displayables[i2];
+        var childRect = displayable.getBoundingRect().clone();
+        if (displayable.needLocalTransform()) {
+          childRect.applyTransform(displayable.getLocalTransform(m$1));
+        }
+        rect.union(childRect);
+      }
+      this._rect = rect;
+    }
+    return this._rect;
+  };
+  IncrementalDisplayable2.prototype.contain = function(x2, y2) {
+    var localPos = this.transformCoordToLocal(x2, y2);
+    var rect = this.getBoundingRect();
+    if (rect.contain(localPos[0], localPos[1])) {
+      for (var i2 = 0; i2 < this._displayables.length; i2++) {
+        var displayable = this._displayables[i2];
+        if (displayable.contain(x2, y2)) {
+          return true;
+        }
+      }
+    }
+    return false;
+  };
+  return IncrementalDisplayable2;
+}(Displayable$1);
+const IncrementalDisplayable$1 = IncrementalDisplayable;
+var transitionStore = makeInner();
+function getAnimationConfig(animationType, animatableModel, dataIndex, extraOpts, extraDelayParams) {
+  var animationPayload;
+  if (animatableModel && animatableModel.ecModel) {
+    var updatePayload2 = animatableModel.ecModel.getUpdatePayload();
+    animationPayload = updatePayload2 && updatePayload2.animation;
+  }
+  var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();
+  var isUpdate = animationType === "update";
+  if (animationEnabled) {
+    var duration = void 0;
+    var easing2 = void 0;
+    var delay = void 0;
+    if (extraOpts) {
+      duration = retrieve2(extraOpts.duration, 200);
+      easing2 = retrieve2(extraOpts.easing, "cubicOut");
+      delay = 0;
+    } else {
+      duration = animatableModel.getShallow(isUpdate ? "animationDurationUpdate" : "animationDuration");
+      easing2 = animatableModel.getShallow(isUpdate ? "animationEasingUpdate" : "animationEasing");
+      delay = animatableModel.getShallow(isUpdate ? "animationDelayUpdate" : "animationDelay");
+    }
+    if (animationPayload) {
+      animationPayload.duration != null && (duration = animationPayload.duration);
+      animationPayload.easing != null && (easing2 = animationPayload.easing);
+      animationPayload.delay != null && (delay = animationPayload.delay);
+    }
+    if (isFunction$1(delay)) {
+      delay = delay(dataIndex, extraDelayParams);
+    }
+    if (isFunction$1(duration)) {
+      duration = duration(dataIndex);
+    }
+    var config2 = {
+      duration: duration || 0,
+      delay,
+      easing: easing2
+    };
+    return config2;
+  } else {
+    return null;
+  }
+}
+function animateOrSetProps(animationType, el, props2, animatableModel, dataIndex, cb, during) {
+  var isFrom = false;
+  var removeOpt;
+  if (isFunction$1(dataIndex)) {
+    during = cb;
+    cb = dataIndex;
+    dataIndex = null;
+  } else if (isObject$4(dataIndex)) {
+    cb = dataIndex.cb;
+    during = dataIndex.during;
+    isFrom = dataIndex.isFrom;
+    removeOpt = dataIndex.removeOpt;
+    dataIndex = dataIndex.dataIndex;
+  }
+  var isRemove = animationType === "leave";
+  if (!isRemove) {
+    el.stopAnimation("leave");
+  }
+  var animationConfig = getAnimationConfig(animationType, animatableModel, dataIndex, isRemove ? removeOpt || {} : null, animatableModel && animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);
+  if (animationConfig && animationConfig.duration > 0) {
+    var duration = animationConfig.duration;
+    var animationDelay = animationConfig.delay;
+    var animationEasing = animationConfig.easing;
+    var animateConfig = {
+      duration,
+      delay: animationDelay || 0,
+      easing: animationEasing,
+      done: cb,
+      force: !!cb || !!during,
+      // Set to final state in update/init animation.
+      // So the post processing based on the path shape can be done correctly.
+      setToFinal: !isRemove,
+      scope: animationType,
+      during
+    };
+    isFrom ? el.animateFrom(props2, animateConfig) : el.animateTo(props2, animateConfig);
+  } else {
+    el.stopAnimation();
+    !isFrom && el.attr(props2);
+    during && during(1);
+    cb && cb();
+  }
+}
+function updateProps$1(el, props2, animatableModel, dataIndex, cb, during) {
+  animateOrSetProps("update", el, props2, animatableModel, dataIndex, cb, during);
+}
+function initProps(el, props2, animatableModel, dataIndex, cb, during) {
+  animateOrSetProps("enter", el, props2, animatableModel, dataIndex, cb, during);
+}
+function isElementRemoved(el) {
+  if (!el.__zr) {
+    return true;
+  }
+  for (var i2 = 0; i2 < el.animators.length; i2++) {
+    var animator = el.animators[i2];
+    if (animator.scope === "leave") {
+      return true;
+    }
+  }
+  return false;
+}
+function removeElement(el, props2, animatableModel, dataIndex, cb, during) {
+  if (isElementRemoved(el)) {
+    return;
+  }
+  animateOrSetProps("leave", el, props2, animatableModel, dataIndex, cb, during);
+}
+function fadeOutDisplayable(el, animatableModel, dataIndex, done) {
+  el.removeTextContent();
+  el.removeTextGuideLine();
+  removeElement(el, {
+    style: {
+      opacity: 0
+    }
+  }, animatableModel, dataIndex, done);
+}
+function removeElementWithFadeOut(el, animatableModel, dataIndex) {
+  function doRemove() {
+    el.parent && el.parent.remove(el);
+  }
+  if (!el.isGroup) {
+    fadeOutDisplayable(el, animatableModel, dataIndex, doRemove);
+  } else {
+    el.traverse(function(disp) {
+      if (!disp.isGroup) {
+        fadeOutDisplayable(disp, animatableModel, dataIndex, doRemove);
+      }
+    });
+  }
+}
+function saveOldStyle(el) {
+  transitionStore(el).oldStyle = el.style;
+}
+function getOldStyle(el) {
+  return transitionStore(el).oldStyle;
+}
+var mathMax$6 = Math.max;
+var mathMin$6 = Math.min;
+var _customShapeMap = {};
+function extendShape(opts2) {
+  return Path$1.extend(opts2);
+}
+var extendPathFromString = extendFromString;
+function extendPath(pathData, opts2) {
+  return extendPathFromString(pathData, opts2);
+}
+function registerShape(name2, ShapeClass) {
+  _customShapeMap[name2] = ShapeClass;
+}
+function getShapeClass(name2) {
+  if (_customShapeMap.hasOwnProperty(name2)) {
+    return _customShapeMap[name2];
+  }
+}
+function makePath(pathData, opts2, rect, layout2) {
+  var path2 = createFromString(pathData, opts2);
+  if (rect) {
+    if (layout2 === "center") {
+      rect = centerGraphic(rect, path2.getBoundingRect());
+    }
+    resizePath(path2, rect);
+  }
+  return path2;
+}
+function makeImage(imageUrl, rect, layout2) {
+  var zrImg = new ZRImage$1({
+    style: {
+      image: imageUrl,
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height
+    },
+    onload: function(img) {
+      if (layout2 === "center") {
+        var boundingRect = {
+          width: img.width,
+          height: img.height
+        };
+        zrImg.setStyle(centerGraphic(rect, boundingRect));
+      }
+    }
+  });
+  return zrImg;
+}
+function centerGraphic(rect, boundingRect) {
+  var aspect = boundingRect.width / boundingRect.height;
+  var width = rect.height * aspect;
+  var height;
+  if (width <= rect.width) {
+    height = rect.height;
+  } else {
+    width = rect.width;
+    height = width / aspect;
+  }
+  var cx = rect.x + rect.width / 2;
+  var cy = rect.y + rect.height / 2;
+  return {
+    x: cx - width / 2,
+    y: cy - height / 2,
+    width,
+    height
+  };
+}
+var mergePath = mergePath$1;
+function resizePath(path2, rect) {
+  if (!path2.applyTransform) {
+    return;
+  }
+  var pathRect = path2.getBoundingRect();
+  var m2 = pathRect.calculateTransform(rect);
+  path2.applyTransform(m2);
+}
+function subPixelOptimizeLine(shape, lineWidth) {
+  subPixelOptimizeLine$1(shape, shape, {
+    lineWidth
+  });
+  return shape;
+}
+function subPixelOptimizeRect(param2) {
+  subPixelOptimizeRect$1(param2.shape, param2.shape, param2.style);
+  return param2;
+}
+var subPixelOptimize = subPixelOptimize$1;
+function getTransform$1(target, ancestor) {
+  var mat = identity([]);
+  while (target && target !== ancestor) {
+    mul(mat, target.getLocalTransform(), mat);
+    target = target.parent;
+  }
+  return mat;
+}
+function applyTransform(target, transform3, invert$12) {
+  if (transform3 && !isArrayLike(transform3)) {
+    transform3 = Transformable$1.getLocalTransform(transform3);
+  }
+  if (invert$12) {
+    transform3 = invert([], transform3);
+  }
+  return applyTransform$1([], target, transform3);
+}
+function transformDirection(direction, transform3, invert2) {
+  var hBase = transform3[4] === 0 || transform3[5] === 0 || transform3[0] === 0 ? 1 : Math.abs(2 * transform3[4] / transform3[0]);
+  var vBase = transform3[4] === 0 || transform3[5] === 0 || transform3[2] === 0 ? 1 : Math.abs(2 * transform3[4] / transform3[2]);
+  var vertex = [direction === "left" ? -hBase : direction === "right" ? hBase : 0, direction === "top" ? -vBase : direction === "bottom" ? vBase : 0];
+  vertex = applyTransform(vertex, transform3, invert2);
+  return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? "right" : "left" : vertex[1] > 0 ? "bottom" : "top";
+}
+function isNotGroup(el) {
+  return !el.isGroup;
+}
+function isPath$1(el) {
+  return el.shape != null;
+}
+function groupTransition(g1, g2, animatableModel) {
+  if (!g1 || !g2) {
+    return;
+  }
+  function getElMap(g3) {
+    var elMap = {};
+    g3.traverse(function(el) {
+      if (isNotGroup(el) && el.anid) {
+        elMap[el.anid] = el;
+      }
+    });
+    return elMap;
+  }
+  function getAnimatableProps(el) {
+    var obj2 = {
+      x: el.x,
+      y: el.y,
+      rotation: el.rotation
+    };
+    if (isPath$1(el)) {
+      obj2.shape = extend$1({}, el.shape);
+    }
+    return obj2;
+  }
+  var elMap1 = getElMap(g1);
+  g2.traverse(function(el) {
+    if (isNotGroup(el) && el.anid) {
+      var oldEl = elMap1[el.anid];
+      if (oldEl) {
+        var newProp = getAnimatableProps(el);
+        el.attr(getAnimatableProps(oldEl));
+        updateProps$1(el, newProp, animatableModel, getECData(el).dataIndex);
+      }
+    }
+  });
+}
+function clipPointsByRect(points2, rect) {
+  return map$1(points2, function(point) {
+    var x2 = point[0];
+    x2 = mathMax$6(x2, rect.x);
+    x2 = mathMin$6(x2, rect.x + rect.width);
+    var y2 = point[1];
+    y2 = mathMax$6(y2, rect.y);
+    y2 = mathMin$6(y2, rect.y + rect.height);
+    return [x2, y2];
+  });
+}
+function clipRectByRect(targetRect, rect) {
+  var x2 = mathMax$6(targetRect.x, rect.x);
+  var x22 = mathMin$6(targetRect.x + targetRect.width, rect.x + rect.width);
+  var y2 = mathMax$6(targetRect.y, rect.y);
+  var y22 = mathMin$6(targetRect.y + targetRect.height, rect.y + rect.height);
+  if (x22 >= x2 && y22 >= y2) {
+    return {
+      x: x2,
+      y: y2,
+      width: x22 - x2,
+      height: y22 - y2
+    };
+  }
+}
+function createIcon(iconStr, opt, rect) {
+  var innerOpts = extend$1({
+    rectHover: true
+  }, opt);
+  var style2 = innerOpts.style = {
+    strokeNoScale: true
+  };
+  rect = rect || {
+    x: -1,
+    y: -1,
+    width: 2,
+    height: 2
+  };
+  if (iconStr) {
+    return iconStr.indexOf("image://") === 0 ? (style2.image = iconStr.slice(8), defaults$2(style2, rect), new ZRImage$1(innerOpts)) : makePath(iconStr.replace("path://", ""), innerOpts, rect, "center");
+  }
+}
+function linePolygonIntersect(a1x, a1y, a2x, a2y, points2) {
+  for (var i2 = 0, p2 = points2[points2.length - 1]; i2 < points2.length; i2++) {
+    var p3 = points2[i2];
+    if (lineLineIntersect$1(a1x, a1y, a2x, a2y, p3[0], p3[1], p2[0], p2[1])) {
+      return true;
+    }
+    p2 = p3;
+  }
+}
+function lineLineIntersect$1(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {
+  var mx = a2x - a1x;
+  var my = a2y - a1y;
+  var nx = b2x - b1x;
+  var ny = b2y - b1y;
+  var nmCrossProduct = crossProduct2d$1(nx, ny, mx, my);
+  if (nearZero(nmCrossProduct)) {
+    return false;
+  }
+  var b1a1x = a1x - b1x;
+  var b1a1y = a1y - b1y;
+  var q2 = crossProduct2d$1(b1a1x, b1a1y, mx, my) / nmCrossProduct;
+  if (q2 < 0 || q2 > 1) {
+    return false;
+  }
+  var p2 = crossProduct2d$1(b1a1x, b1a1y, nx, ny) / nmCrossProduct;
+  if (p2 < 0 || p2 > 1) {
+    return false;
+  }
+  return true;
+}
+function crossProduct2d$1(x1, y1, x2, y2) {
+  return x1 * y2 - x2 * y1;
+}
+function nearZero(val) {
+  return val <= 1e-6 && val >= -1e-6;
+}
+function setTooltipConfig(opt) {
+  var itemTooltipOption = opt.itemTooltipOption;
+  var componentModel = opt.componentModel;
+  var itemName = opt.itemName;
+  var itemTooltipOptionObj = isString$1(itemTooltipOption) ? {
+    formatter: itemTooltipOption
+  } : itemTooltipOption;
+  var mainType = componentModel.mainType;
+  var componentIndex = componentModel.componentIndex;
+  var formatterParams = {
+    componentType: mainType,
+    name: itemName,
+    $vars: ["name"]
+  };
+  formatterParams[mainType + "Index"] = componentIndex;
+  var formatterParamsExtra = opt.formatterParamsExtra;
+  if (formatterParamsExtra) {
+    each$f(keys(formatterParamsExtra), function(key2) {
+      if (!hasOwn(formatterParams, key2)) {
+        formatterParams[key2] = formatterParamsExtra[key2];
+        formatterParams.$vars.push(key2);
+      }
+    });
+  }
+  var ecData = getECData(opt.el);
+  ecData.componentMainType = mainType;
+  ecData.componentIndex = componentIndex;
+  ecData.tooltipConfig = {
+    name: itemName,
+    option: defaults$2({
+      content: itemName,
+      formatterParams
+    }, itemTooltipOptionObj)
+  };
+}
+function traverseElement(el, cb) {
+  var stopped;
+  if (el.isGroup) {
+    stopped = cb(el);
+  }
+  if (!stopped) {
+    el.traverse(cb);
+  }
+}
+function traverseElements(els, cb) {
+  if (els) {
+    if (isArray$2(els)) {
+      for (var i2 = 0; i2 < els.length; i2++) {
+        traverseElement(els[i2], cb);
+      }
+    } else {
+      traverseElement(els, cb);
+    }
+  }
+}
+registerShape("circle", Circle$1);
+registerShape("ellipse", Ellipse$1);
+registerShape("sector", Sector$1);
+registerShape("ring", Ring$1);
+registerShape("polygon", Polygon$1);
+registerShape("polyline", Polyline$3);
+registerShape("rect", Rect$3);
+registerShape("line", Line$3);
+registerShape("bezierCurve", BezierCurve$1);
+registerShape("arc", Arc$1);
+const graphic$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  Arc: Arc$1,
+  BezierCurve: BezierCurve$1,
+  BoundingRect: BoundingRect$1,
+  Circle: Circle$1,
+  CompoundPath: CompoundPath$1,
+  Ellipse: Ellipse$1,
+  Group: Group$4,
+  Image: ZRImage$1,
+  IncrementalDisplayable: IncrementalDisplayable$1,
+  Line: Line$3,
+  LinearGradient: LinearGradient$1,
+  OrientedBoundingRect: OrientedBoundingRect$1,
+  Path: Path$1,
+  Point: Point$1,
+  Polygon: Polygon$1,
+  Polyline: Polyline$3,
+  RadialGradient: RadialGradient$1,
+  Rect: Rect$3,
+  Ring: Ring$1,
+  Sector: Sector$1,
+  Text: ZRText$1,
+  applyTransform,
+  clipPointsByRect,
+  clipRectByRect,
+  createIcon,
+  extendPath,
+  extendShape,
+  getShapeClass,
+  getTransform: getTransform$1,
+  groupTransition,
+  initProps,
+  isElementRemoved,
+  lineLineIntersect: lineLineIntersect$1,
+  linePolygonIntersect,
+  makeImage,
+  makePath,
+  mergePath,
+  registerShape,
+  removeElement,
+  removeElementWithFadeOut,
+  resizePath,
+  setTooltipConfig,
+  subPixelOptimize,
+  subPixelOptimizeLine,
+  subPixelOptimizeRect,
+  transformDirection,
+  traverseElements,
+  updateProps: updateProps$1
+}, Symbol.toStringTag, { value: "Module" }));
+var EMPTY_OBJ = {};
+function setLabelText(label, labelTexts) {
+  for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+    var stateName = SPECIAL_STATES[i2];
+    var text2 = labelTexts[stateName];
+    var state = label.ensureState(stateName);
+    state.style = state.style || {};
+    state.style.text = text2;
+  }
+  var oldStates = label.currentStates.slice();
+  label.clearStates(true);
+  label.setStyle({
+    text: labelTexts.normal
+  });
+  label.useStates(oldStates, true);
+}
+function getLabelText(opt, stateModels, interpolatedValue) {
+  var labelFetcher = opt.labelFetcher;
+  var labelDataIndex = opt.labelDataIndex;
+  var labelDimIndex = opt.labelDimIndex;
+  var normalModel = stateModels.normal;
+  var baseText;
+  if (labelFetcher) {
+    baseText = labelFetcher.getFormattedLabel(labelDataIndex, "normal", null, labelDimIndex, normalModel && normalModel.get("formatter"), interpolatedValue != null ? {
+      interpolatedValue
+    } : null);
+  }
+  if (baseText == null) {
+    baseText = isFunction$1(opt.defaultText) ? opt.defaultText(labelDataIndex, opt, interpolatedValue) : opt.defaultText;
+  }
+  var statesText = {
+    normal: baseText
+  };
+  for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+    var stateName = SPECIAL_STATES[i2];
+    var stateModel = stateModels[stateName];
+    statesText[stateName] = retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, stateName, null, labelDimIndex, stateModel && stateModel.get("formatter")) : null, baseText);
+  }
+  return statesText;
+}
+function setLabelStyle(targetEl, labelStatesModels, opt, stateSpecified) {
+  opt = opt || EMPTY_OBJ;
+  var isSetOnText = targetEl instanceof ZRText$1;
+  var needsCreateText = false;
+  for (var i2 = 0; i2 < DISPLAY_STATES.length; i2++) {
+    var stateModel = labelStatesModels[DISPLAY_STATES[i2]];
+    if (stateModel && stateModel.getShallow("show")) {
+      needsCreateText = true;
+      break;
+    }
+  }
+  var textContent = isSetOnText ? targetEl : targetEl.getTextContent();
+  if (needsCreateText) {
+    if (!isSetOnText) {
+      if (!textContent) {
+        textContent = new ZRText$1();
+        targetEl.setTextContent(textContent);
+      }
+      if (targetEl.stateProxy) {
+        textContent.stateProxy = targetEl.stateProxy;
+      }
+    }
+    var labelStatesTexts = getLabelText(opt, labelStatesModels);
+    var normalModel = labelStatesModels.normal;
+    var showNormal = !!normalModel.getShallow("show");
+    var normalStyle = createTextStyle$1(normalModel, stateSpecified && stateSpecified.normal, opt, false, !isSetOnText);
+    normalStyle.text = labelStatesTexts.normal;
+    if (!isSetOnText) {
+      targetEl.setTextConfig(createTextConfig(normalModel, opt, false));
+    }
+    for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+      var stateName = SPECIAL_STATES[i2];
+      var stateModel = labelStatesModels[stateName];
+      if (stateModel) {
+        var stateObj = textContent.ensureState(stateName);
+        var stateShow = !!retrieve2(stateModel.getShallow("show"), showNormal);
+        if (stateShow !== showNormal) {
+          stateObj.ignore = !stateShow;
+        }
+        stateObj.style = createTextStyle$1(stateModel, stateSpecified && stateSpecified[stateName], opt, true, !isSetOnText);
+        stateObj.style.text = labelStatesTexts[stateName];
+        if (!isSetOnText) {
+          var targetElEmphasisState = targetEl.ensureState(stateName);
+          targetElEmphasisState.textConfig = createTextConfig(stateModel, opt, true);
+        }
+      }
+    }
+    textContent.silent = !!normalModel.getShallow("silent");
+    if (textContent.style.x != null) {
+      normalStyle.x = textContent.style.x;
+    }
+    if (textContent.style.y != null) {
+      normalStyle.y = textContent.style.y;
+    }
+    textContent.ignore = !showNormal;
+    textContent.useStyle(normalStyle);
+    textContent.dirty();
+    if (opt.enableTextSetter) {
+      labelInner(textContent).setLabelText = function(interpolatedValue) {
+        var labelStatesTexts2 = getLabelText(opt, labelStatesModels, interpolatedValue);
+        setLabelText(textContent, labelStatesTexts2);
+      };
+    }
+  } else if (textContent) {
+    textContent.ignore = true;
+  }
+  targetEl.dirty();
+}
+function getLabelStatesModels(itemModel, labelName) {
+  labelName = labelName || "label";
+  var statesModels = {
+    normal: itemModel.getModel(labelName)
+  };
+  for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+    var stateName = SPECIAL_STATES[i2];
+    statesModels[stateName] = itemModel.getModel([stateName, labelName]);
+  }
+  return statesModels;
+}
+function createTextStyle$1(textStyleModel, specifiedTextStyle, opt, isNotNormal, isAttached) {
+  var textStyle2 = {};
+  setTextStyleCommon(textStyle2, textStyleModel, opt, isNotNormal, isAttached);
+  specifiedTextStyle && extend$1(textStyle2, specifiedTextStyle);
+  return textStyle2;
+}
+function createTextConfig(textStyleModel, opt, isNotNormal) {
+  opt = opt || {};
+  var textConfig = {};
+  var labelPosition;
+  var labelRotate = textStyleModel.getShallow("rotate");
+  var labelDistance = retrieve2(textStyleModel.getShallow("distance"), isNotNormal ? null : 5);
+  var labelOffset = textStyleModel.getShallow("offset");
+  labelPosition = textStyleModel.getShallow("position") || (isNotNormal ? null : "inside");
+  labelPosition === "outside" && (labelPosition = opt.defaultOutsidePosition || "top");
+  if (labelPosition != null) {
+    textConfig.position = labelPosition;
+  }
+  if (labelOffset != null) {
+    textConfig.offset = labelOffset;
+  }
+  if (labelRotate != null) {
+    labelRotate *= Math.PI / 180;
+    textConfig.rotation = labelRotate;
+  }
+  if (labelDistance != null) {
+    textConfig.distance = labelDistance;
+  }
+  textConfig.outsideFill = textStyleModel.get("color") === "inherit" ? opt.inheritColor || null : "auto";
+  return textConfig;
+}
+function setTextStyleCommon(textStyle2, textStyleModel, opt, isNotNormal, isAttached) {
+  opt = opt || EMPTY_OBJ;
+  var ecModel = textStyleModel.ecModel;
+  var globalTextStyle = ecModel && ecModel.option.textStyle;
+  var richItemNames = getRichItemNames(textStyleModel);
+  var richResult;
+  if (richItemNames) {
+    richResult = {};
+    for (var name_1 in richItemNames) {
+      if (richItemNames.hasOwnProperty(name_1)) {
+        var richTextStyle = textStyleModel.getModel(["rich", name_1]);
+        setTokenTextStyle(richResult[name_1] = {}, richTextStyle, globalTextStyle, opt, isNotNormal, isAttached, false, true);
+      }
+    }
+  }
+  if (richResult) {
+    textStyle2.rich = richResult;
+  }
+  var overflow = textStyleModel.get("overflow");
+  if (overflow) {
+    textStyle2.overflow = overflow;
+  }
+  var margin = textStyleModel.get("minMargin");
+  if (margin != null) {
+    textStyle2.margin = margin;
+  }
+  setTokenTextStyle(textStyle2, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, true, false);
+}
+function getRichItemNames(textStyleModel) {
+  var richItemNameMap;
+  while (textStyleModel && textStyleModel !== textStyleModel.ecModel) {
+    var rich = (textStyleModel.option || EMPTY_OBJ).rich;
+    if (rich) {
+      richItemNameMap = richItemNameMap || {};
+      var richKeys = keys(rich);
+      for (var i2 = 0; i2 < richKeys.length; i2++) {
+        var richKey = richKeys[i2];
+        richItemNameMap[richKey] = 1;
+      }
+    }
+    textStyleModel = textStyleModel.parentModel;
+  }
+  return richItemNameMap;
+}
+var TEXT_PROPS_WITH_GLOBAL = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"];
+var TEXT_PROPS_SELF = ["align", "lineHeight", "width", "height", "tag", "verticalAlign", "ellipsis"];
+var TEXT_PROPS_BOX = ["padding", "borderWidth", "borderRadius", "borderDashOffset", "backgroundColor", "borderColor", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"];
+function setTokenTextStyle(textStyle2, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, isBlock, inRich) {
+  globalTextStyle = !isNotNormal && globalTextStyle || EMPTY_OBJ;
+  var inheritColor = opt && opt.inheritColor;
+  var fillColor = textStyleModel.getShallow("color");
+  var strokeColor = textStyleModel.getShallow("textBorderColor");
+  var opacity = retrieve2(textStyleModel.getShallow("opacity"), globalTextStyle.opacity);
+  if (fillColor === "inherit" || fillColor === "auto") {
+    if (inheritColor) {
+      fillColor = inheritColor;
+    } else {
+      fillColor = null;
+    }
+  }
+  if (strokeColor === "inherit" || strokeColor === "auto") {
+    if (inheritColor) {
+      strokeColor = inheritColor;
+    } else {
+      strokeColor = null;
+    }
+  }
+  if (!isAttached) {
+    fillColor = fillColor || globalTextStyle.color;
+    strokeColor = strokeColor || globalTextStyle.textBorderColor;
+  }
+  if (fillColor != null) {
+    textStyle2.fill = fillColor;
+  }
+  if (strokeColor != null) {
+    textStyle2.stroke = strokeColor;
+  }
+  var textBorderWidth = retrieve2(textStyleModel.getShallow("textBorderWidth"), globalTextStyle.textBorderWidth);
+  if (textBorderWidth != null) {
+    textStyle2.lineWidth = textBorderWidth;
+  }
+  var textBorderType = retrieve2(textStyleModel.getShallow("textBorderType"), globalTextStyle.textBorderType);
+  if (textBorderType != null) {
+    textStyle2.lineDash = textBorderType;
+  }
+  var textBorderDashOffset = retrieve2(textStyleModel.getShallow("textBorderDashOffset"), globalTextStyle.textBorderDashOffset);
+  if (textBorderDashOffset != null) {
+    textStyle2.lineDashOffset = textBorderDashOffset;
+  }
+  if (!isNotNormal && opacity == null && !inRich) {
+    opacity = opt && opt.defaultOpacity;
+  }
+  if (opacity != null) {
+    textStyle2.opacity = opacity;
+  }
+  if (!isNotNormal && !isAttached) {
+    if (textStyle2.fill == null && opt.inheritColor) {
+      textStyle2.fill = opt.inheritColor;
+    }
+  }
+  for (var i2 = 0; i2 < TEXT_PROPS_WITH_GLOBAL.length; i2++) {
+    var key2 = TEXT_PROPS_WITH_GLOBAL[i2];
+    var val = retrieve2(textStyleModel.getShallow(key2), globalTextStyle[key2]);
+    if (val != null) {
+      textStyle2[key2] = val;
+    }
+  }
+  for (var i2 = 0; i2 < TEXT_PROPS_SELF.length; i2++) {
+    var key2 = TEXT_PROPS_SELF[i2];
+    var val = textStyleModel.getShallow(key2);
+    if (val != null) {
+      textStyle2[key2] = val;
+    }
+  }
+  if (textStyle2.verticalAlign == null) {
+    var baseline = textStyleModel.getShallow("baseline");
+    if (baseline != null) {
+      textStyle2.verticalAlign = baseline;
+    }
+  }
+  if (!isBlock || !opt.disableBox) {
+    for (var i2 = 0; i2 < TEXT_PROPS_BOX.length; i2++) {
+      var key2 = TEXT_PROPS_BOX[i2];
+      var val = textStyleModel.getShallow(key2);
+      if (val != null) {
+        textStyle2[key2] = val;
+      }
+    }
+    var borderType = textStyleModel.getShallow("borderType");
+    if (borderType != null) {
+      textStyle2.borderDash = borderType;
+    }
+    if ((textStyle2.backgroundColor === "auto" || textStyle2.backgroundColor === "inherit") && inheritColor) {
+      textStyle2.backgroundColor = inheritColor;
+    }
+    if ((textStyle2.borderColor === "auto" || textStyle2.borderColor === "inherit") && inheritColor) {
+      textStyle2.borderColor = inheritColor;
+    }
+  }
+}
+function getFont(opt, ecModel) {
+  var gTextStyleModel = ecModel && ecModel.getModel("textStyle");
+  return trim$2([
+    // FIXME in node-canvas fontWeight is before fontStyle
+    opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow("fontStyle") || "",
+    opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow("fontWeight") || "",
+    (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow("fontSize") || 12) + "px",
+    opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow("fontFamily") || "sans-serif"
+  ].join(" "));
+}
+var labelInner = makeInner();
+function setLabelValueAnimation(label, labelStatesModels, value, getDefaultText) {
+  if (!label) {
+    return;
+  }
+  var obj2 = labelInner(label);
+  obj2.prevValue = obj2.value;
+  obj2.value = value;
+  var normalLabelModel = labelStatesModels.normal;
+  obj2.valueAnimation = normalLabelModel.get("valueAnimation");
+  if (obj2.valueAnimation) {
+    obj2.precision = normalLabelModel.get("precision");
+    obj2.defaultInterpolatedText = getDefaultText;
+    obj2.statesModels = labelStatesModels;
+  }
+}
+function animateLabelValue(textEl, dataIndex, data2, animatableModel, labelFetcher) {
+  var labelInnerStore = labelInner(textEl);
+  if (!labelInnerStore.valueAnimation || labelInnerStore.prevValue === labelInnerStore.value) {
+    return;
+  }
+  var defaultInterpolatedText = labelInnerStore.defaultInterpolatedText;
+  var currValue = retrieve2(labelInnerStore.interpolatedValue, labelInnerStore.prevValue);
+  var targetValue = labelInnerStore.value;
+  function during(percent) {
+    var interpolated = interpolateRawValues(data2, labelInnerStore.precision, currValue, targetValue, percent);
+    labelInnerStore.interpolatedValue = percent === 1 ? null : interpolated;
+    var labelText = getLabelText({
+      labelDataIndex: dataIndex,
+      labelFetcher,
+      defaultText: defaultInterpolatedText ? defaultInterpolatedText(interpolated) : interpolated + ""
+    }, labelInnerStore.statesModels, interpolated);
+    setLabelText(textEl, labelText);
+  }
+  textEl.percent = 0;
+  (labelInnerStore.prevValue == null ? initProps : updateProps$1)(textEl, {
+    // percent is used to prevent animation from being aborted #15916
+    percent: 1
+  }, animatableModel, dataIndex, null, during);
+}
+var PATH_COLOR = ["textStyle", "color"];
+var textStyleParams = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "padding", "lineHeight", "rich", "width", "height", "overflow"];
+var tmpText = new ZRText$1();
+var TextStyleMixin = (
+  /** @class */
+  function() {
+    function TextStyleMixin2() {
+    }
+    TextStyleMixin2.prototype.getTextColor = function(isEmphasis) {
+      var ecModel = this.ecModel;
+      return this.getShallow("color") || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);
+    };
+    TextStyleMixin2.prototype.getFont = function() {
+      return getFont({
+        fontStyle: this.getShallow("fontStyle"),
+        fontWeight: this.getShallow("fontWeight"),
+        fontSize: this.getShallow("fontSize"),
+        fontFamily: this.getShallow("fontFamily")
+      }, this.ecModel);
+    };
+    TextStyleMixin2.prototype.getTextRect = function(text2) {
+      var style2 = {
+        text: text2,
+        verticalAlign: this.getShallow("verticalAlign") || this.getShallow("baseline")
+      };
+      for (var i2 = 0; i2 < textStyleParams.length; i2++) {
+        style2[textStyleParams[i2]] = this.getShallow(textStyleParams[i2]);
+      }
+      tmpText.useStyle(style2);
+      tmpText.update();
+      return tmpText.getBoundingRect();
+    };
+    return TextStyleMixin2;
+  }()
+);
+const TextStyleMixin$1 = TextStyleMixin;
+var LINE_STYLE_KEY_MAP = [
+  ["lineWidth", "width"],
+  ["stroke", "color"],
+  ["opacity"],
+  ["shadowBlur"],
+  ["shadowOffsetX"],
+  ["shadowOffsetY"],
+  ["shadowColor"],
+  ["lineDash", "type"],
+  ["lineDashOffset", "dashOffset"],
+  ["lineCap", "cap"],
+  ["lineJoin", "join"],
+  ["miterLimit"]
+  // Option decal is in `DecalObject` but style.decal is in `PatternObject`.
+  // So do not transfer decal directly.
+];
+var getLineStyle = makeStyleMapper(LINE_STYLE_KEY_MAP);
+var LineStyleMixin = (
+  /** @class */
+  function() {
+    function LineStyleMixin2() {
+    }
+    LineStyleMixin2.prototype.getLineStyle = function(excludes) {
+      return getLineStyle(this, excludes);
+    };
+    return LineStyleMixin2;
+  }()
+);
+var ITEM_STYLE_KEY_MAP = [
+  ["fill", "color"],
+  ["stroke", "borderColor"],
+  ["lineWidth", "borderWidth"],
+  ["opacity"],
+  ["shadowBlur"],
+  ["shadowOffsetX"],
+  ["shadowOffsetY"],
+  ["shadowColor"],
+  ["lineDash", "borderType"],
+  ["lineDashOffset", "borderDashOffset"],
+  ["lineCap", "borderCap"],
+  ["lineJoin", "borderJoin"],
+  ["miterLimit", "borderMiterLimit"]
+  // Option decal is in `DecalObject` but style.decal is in `PatternObject`.
+  // So do not transfer decal directly.
+];
+var getItemStyle = makeStyleMapper(ITEM_STYLE_KEY_MAP);
+var ItemStyleMixin = (
+  /** @class */
+  function() {
+    function ItemStyleMixin2() {
+    }
+    ItemStyleMixin2.prototype.getItemStyle = function(excludes, includes) {
+      return getItemStyle(this, excludes, includes);
+    };
+    return ItemStyleMixin2;
+  }()
+);
+var Model = (
+  /** @class */
+  function() {
+    function Model2(option, parentModel, ecModel) {
+      this.parentModel = parentModel;
+      this.ecModel = ecModel;
+      this.option = option;
+    }
+    Model2.prototype.init = function(option, parentModel, ecModel) {
+    };
+    Model2.prototype.mergeOption = function(option, ecModel) {
+      merge$1(this.option, option, true);
+    };
+    Model2.prototype.get = function(path2, ignoreParent) {
+      if (path2 == null) {
+        return this.option;
+      }
+      return this._doGet(this.parsePath(path2), !ignoreParent && this.parentModel);
+    };
+    Model2.prototype.getShallow = function(key2, ignoreParent) {
+      var option = this.option;
+      var val = option == null ? option : option[key2];
+      if (val == null && !ignoreParent) {
+        var parentModel = this.parentModel;
+        if (parentModel) {
+          val = parentModel.getShallow(key2);
+        }
+      }
+      return val;
+    };
+    Model2.prototype.getModel = function(path2, parentModel) {
+      var hasPath = path2 != null;
+      var pathFinal = hasPath ? this.parsePath(path2) : null;
+      var obj2 = hasPath ? this._doGet(pathFinal) : this.option;
+      parentModel = parentModel || this.parentModel && this.parentModel.getModel(this.resolveParentPath(pathFinal));
+      return new Model2(obj2, parentModel, this.ecModel);
+    };
+    Model2.prototype.isEmpty = function() {
+      return this.option == null;
+    };
+    Model2.prototype.restoreData = function() {
+    };
+    Model2.prototype.clone = function() {
+      var Ctor = this.constructor;
+      return new Ctor(clone$4(this.option));
+    };
+    Model2.prototype.parsePath = function(path2) {
+      if (typeof path2 === "string") {
+        return path2.split(".");
+      }
+      return path2;
+    };
+    Model2.prototype.resolveParentPath = function(path2) {
+      return path2;
+    };
+    Model2.prototype.isAnimationEnabled = function() {
+      if (!env$1.node && this.option) {
+        if (this.option.animation != null) {
+          return !!this.option.animation;
+        } else if (this.parentModel) {
+          return this.parentModel.isAnimationEnabled();
+        }
+      }
+    };
+    Model2.prototype._doGet = function(pathArr, parentModel) {
+      var obj2 = this.option;
+      if (!pathArr) {
+        return obj2;
+      }
+      for (var i2 = 0; i2 < pathArr.length; i2++) {
+        if (!pathArr[i2]) {
+          continue;
+        }
+        obj2 = obj2 && typeof obj2 === "object" ? obj2[pathArr[i2]] : null;
+        if (obj2 == null) {
+          break;
+        }
+      }
+      if (obj2 == null && parentModel) {
+        obj2 = parentModel._doGet(this.resolveParentPath(pathArr), parentModel.parentModel);
+      }
+      return obj2;
+    };
+    return Model2;
+  }()
+);
+enableClassExtend(Model);
+enableClassCheck(Model);
+mixin(Model, LineStyleMixin);
+mixin(Model, ItemStyleMixin);
+mixin(Model, AreaStyleMixin);
+mixin(Model, TextStyleMixin$1);
+const Model$1 = Model;
+var base = Math.round(Math.random() * 10);
+function getUID(type2) {
+  return [type2 || "", base++].join("_");
+}
+function enableSubTypeDefaulter(target) {
+  var subTypeDefaulters = {};
+  target.registerSubTypeDefaulter = function(componentType, defaulter) {
+    var componentTypeInfo = parseClassType(componentType);
+    subTypeDefaulters[componentTypeInfo.main] = defaulter;
+  };
+  target.determineSubType = function(componentType, option) {
+    var type2 = option.type;
+    if (!type2) {
+      var componentTypeMain = parseClassType(componentType).main;
+      if (target.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {
+        type2 = subTypeDefaulters[componentTypeMain](option);
+      }
+    }
+    return type2;
+  };
+}
+function enableTopologicalTravel(entity, dependencyGetter) {
+  entity.topologicalTravel = function(targetNameList, fullNameList, callback, context) {
+    if (!targetNameList.length) {
+      return;
+    }
+    var result2 = makeDepndencyGraph(fullNameList);
+    var graph2 = result2.graph;
+    var noEntryList = result2.noEntryList;
+    var targetNameSet = {};
+    each$f(targetNameList, function(name2) {
+      targetNameSet[name2] = true;
+    });
+    while (noEntryList.length) {
+      var currComponentType = noEntryList.pop();
+      var currVertex = graph2[currComponentType];
+      var isInTargetNameSet = !!targetNameSet[currComponentType];
+      if (isInTargetNameSet) {
+        callback.call(context, currComponentType, currVertex.originalDeps.slice());
+        delete targetNameSet[currComponentType];
+      }
+      each$f(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);
+    }
+    each$f(targetNameSet, function() {
+      var errMsg = "";
+      throw new Error(errMsg);
+    });
+    function removeEdge(succComponentType) {
+      graph2[succComponentType].entryCount--;
+      if (graph2[succComponentType].entryCount === 0) {
+        noEntryList.push(succComponentType);
+      }
+    }
+    function removeEdgeAndAdd(succComponentType) {
+      targetNameSet[succComponentType] = true;
+      removeEdge(succComponentType);
+    }
+  };
+  function makeDepndencyGraph(fullNameList) {
+    var graph2 = {};
+    var noEntryList = [];
+    each$f(fullNameList, function(name2) {
+      var thisItem = createDependencyGraphItem(graph2, name2);
+      var originalDeps = thisItem.originalDeps = dependencyGetter(name2);
+      var availableDeps = getAvailableDependencies(originalDeps, fullNameList);
+      thisItem.entryCount = availableDeps.length;
+      if (thisItem.entryCount === 0) {
+        noEntryList.push(name2);
+      }
+      each$f(availableDeps, function(dependentName) {
+        if (indexOf(thisItem.predecessor, dependentName) < 0) {
+          thisItem.predecessor.push(dependentName);
+        }
+        var thatItem = createDependencyGraphItem(graph2, dependentName);
+        if (indexOf(thatItem.successor, dependentName) < 0) {
+          thatItem.successor.push(name2);
+        }
+      });
+    });
+    return {
+      graph: graph2,
+      noEntryList
+    };
+  }
+  function createDependencyGraphItem(graph2, name2) {
+    if (!graph2[name2]) {
+      graph2[name2] = {
+        predecessor: [],
+        successor: []
+      };
+    }
+    return graph2[name2];
+  }
+  function getAvailableDependencies(originalDeps, fullNameList) {
+    var availableDeps = [];
+    each$f(originalDeps, function(dep) {
+      indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);
+    });
+    return availableDeps;
+  }
+}
+function inheritDefaultOption(superOption, subOption) {
+  return merge$1(merge$1({}, superOption, true), subOption, true);
+}
+const langEN = {
+  time: {
+    month: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
+    monthAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+    dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
+    dayOfWeekAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
+  },
+  legend: {
+    selector: {
+      all: "All",
+      inverse: "Inv"
+    }
+  },
+  toolbox: {
+    brush: {
+      title: {
+        rect: "Box Select",
+        polygon: "Lasso Select",
+        lineX: "Horizontally Select",
+        lineY: "Vertically Select",
+        keep: "Keep Selections",
+        clear: "Clear Selections"
+      }
+    },
+    dataView: {
+      title: "Data View",
+      lang: ["Data View", "Close", "Refresh"]
+    },
+    dataZoom: {
+      title: {
+        zoom: "Zoom",
+        back: "Zoom Reset"
+      }
+    },
+    magicType: {
+      title: {
+        line: "Switch to Line Chart",
+        bar: "Switch to Bar Chart",
+        stack: "Stack",
+        tiled: "Tile"
+      }
+    },
+    restore: {
+      title: "Restore"
+    },
+    saveAsImage: {
+      title: "Save as Image",
+      lang: ["Right Click to Save Image"]
+    }
+  },
+  series: {
+    typeNames: {
+      pie: "Pie chart",
+      bar: "Bar chart",
+      line: "Line chart",
+      scatter: "Scatter plot",
+      effectScatter: "Ripple scatter plot",
+      radar: "Radar chart",
+      tree: "Tree",
+      treemap: "Treemap",
+      boxplot: "Boxplot",
+      candlestick: "Candlestick",
+      k: "K line chart",
+      heatmap: "Heat map",
+      map: "Map",
+      parallel: "Parallel coordinate map",
+      lines: "Line graph",
+      graph: "Relationship graph",
+      sankey: "Sankey diagram",
+      funnel: "Funnel chart",
+      gauge: "Gauge",
+      pictorialBar: "Pictorial bar",
+      themeRiver: "Theme River Map",
+      sunburst: "Sunburst"
+    }
+  },
+  aria: {
+    general: {
+      withTitle: 'This is a chart about "{title}"',
+      withoutTitle: "This is a chart"
+    },
+    series: {
+      single: {
+        prefix: "",
+        withName: " with type {seriesType} named {seriesName}.",
+        withoutName: " with type {seriesType}."
+      },
+      multiple: {
+        prefix: ". It consists of {seriesCount} series count.",
+        withName: " The {seriesId} series is a {seriesType} representing {seriesName}.",
+        withoutName: " The {seriesId} series is a {seriesType}.",
+        separator: {
+          middle: "",
+          end: ""
+        }
+      }
+    },
+    data: {
+      allData: "The data is as follows: ",
+      partialData: "The first {displayCnt} items are: ",
+      withName: "the data for {name} is {value}",
+      withoutName: "{value}",
+      separator: {
+        middle: ", ",
+        end: ". "
+      }
+    }
+  }
+};
+const langZH = {
+  time: {
+    month: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
+    monthAbbr: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
+    dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
+    dayOfWeekAbbr: ["日", "一", "二", "三", "四", "五", "六"]
+  },
+  legend: {
+    selector: {
+      all: "全选",
+      inverse: "反选"
+    }
+  },
+  toolbox: {
+    brush: {
+      title: {
+        rect: "矩形选择",
+        polygon: "圈选",
+        lineX: "横向选择",
+        lineY: "纵向选择",
+        keep: "保持选择",
+        clear: "清除选择"
+      }
+    },
+    dataView: {
+      title: "数据视图",
+      lang: ["数据视图", "关闭", "刷新"]
+    },
+    dataZoom: {
+      title: {
+        zoom: "区域缩放",
+        back: "区域缩放还原"
+      }
+    },
+    magicType: {
+      title: {
+        line: "切换为折线图",
+        bar: "切换为柱状图",
+        stack: "切换为堆叠",
+        tiled: "切换为平铺"
+      }
+    },
+    restore: {
+      title: "还原"
+    },
+    saveAsImage: {
+      title: "保存为图片",
+      lang: ["右键另存为图片"]
+    }
+  },
+  series: {
+    typeNames: {
+      pie: "饼图",
+      bar: "柱状图",
+      line: "折线图",
+      scatter: "散点图",
+      effectScatter: "涟漪散点图",
+      radar: "雷达图",
+      tree: "树图",
+      treemap: "矩形树图",
+      boxplot: "箱型图",
+      candlestick: "K线图",
+      k: "K线图",
+      heatmap: "热力图",
+      map: "地图",
+      parallel: "平行坐标图",
+      lines: "线图",
+      graph: "关系图",
+      sankey: "桑基图",
+      funnel: "漏斗图",
+      gauge: "仪表盘图",
+      pictorialBar: "象形柱图",
+      themeRiver: "主题河流图",
+      sunburst: "旭日图"
+    }
+  },
+  aria: {
+    general: {
+      withTitle: "这是一个关于“{title}”的图表。",
+      withoutTitle: "这是一个图表,"
+    },
+    series: {
+      single: {
+        prefix: "",
+        withName: "图表类型是{seriesType},表示{seriesName}。",
+        withoutName: "图表类型是{seriesType}。"
+      },
+      multiple: {
+        prefix: "它由{seriesCount}个图表系列组成。",
+        withName: "第{seriesId}个系列是一个表示{seriesName}的{seriesType},",
+        withoutName: "第{seriesId}个系列是一个{seriesType},",
+        separator: {
+          middle: ";",
+          end: "。"
+        }
+      }
+    },
+    data: {
+      allData: "其数据是——",
+      partialData: "其中,前{displayCnt}项是——",
+      withName: "{name}的数据是{value}",
+      withoutName: "{value}",
+      separator: {
+        middle: ",",
+        end: ""
+      }
+    }
+  }
+};
+var LOCALE_ZH = "ZH";
+var LOCALE_EN = "EN";
+var DEFAULT_LOCALE = LOCALE_EN;
+var localeStorage = {};
+var localeModels = {};
+var SYSTEM_LANG = !env$1.domSupported ? DEFAULT_LOCALE : function() {
+  var langStr = (
+    /* eslint-disable-next-line */
+    (document.documentElement.lang || navigator.language || navigator.browserLanguage).toUpperCase()
+  );
+  return langStr.indexOf(LOCALE_ZH) > -1 ? LOCALE_ZH : DEFAULT_LOCALE;
+}();
+function registerLocale(locale, localeObj) {
+  locale = locale.toUpperCase();
+  localeModels[locale] = new Model$1(localeObj);
+  localeStorage[locale] = localeObj;
+}
+function createLocaleObject(locale) {
+  if (isString$1(locale)) {
+    var localeObj = localeStorage[locale.toUpperCase()] || {};
+    if (locale === LOCALE_ZH || locale === LOCALE_EN) {
+      return clone$4(localeObj);
+    } else {
+      return merge$1(clone$4(localeObj), clone$4(localeStorage[DEFAULT_LOCALE]), false);
+    }
+  } else {
+    return merge$1(clone$4(locale), clone$4(localeStorage[DEFAULT_LOCALE]), false);
+  }
+}
+function getLocaleModel(lang2) {
+  return localeModels[lang2];
+}
+function getDefaultLocaleModel() {
+  return localeModels[DEFAULT_LOCALE];
+}
+registerLocale(LOCALE_EN, langEN);
+registerLocale(LOCALE_ZH, langZH);
+var ONE_SECOND = 1e3;
+var ONE_MINUTE = ONE_SECOND * 60;
+var ONE_HOUR = ONE_MINUTE * 60;
+var ONE_DAY = ONE_HOUR * 24;
+var ONE_YEAR = ONE_DAY * 365;
+var defaultLeveledFormatter = {
+  year: "{yyyy}",
+  month: "{MMM}",
+  day: "{d}",
+  hour: "{HH}:{mm}",
+  minute: "{HH}:{mm}",
+  second: "{HH}:{mm}:{ss}",
+  millisecond: "{HH}:{mm}:{ss} {SSS}",
+  none: "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"
+};
+var fullDayFormatter = "{yyyy}-{MM}-{dd}";
+var fullLeveledFormatter = {
+  year: "{yyyy}",
+  month: "{yyyy}-{MM}",
+  day: fullDayFormatter,
+  hour: fullDayFormatter + " " + defaultLeveledFormatter.hour,
+  minute: fullDayFormatter + " " + defaultLeveledFormatter.minute,
+  second: fullDayFormatter + " " + defaultLeveledFormatter.second,
+  millisecond: defaultLeveledFormatter.none
+};
+var primaryTimeUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"];
+var timeUnits = ["year", "half-year", "quarter", "month", "week", "half-week", "day", "half-day", "quarter-day", "hour", "minute", "second", "millisecond"];
+function pad(str, len2) {
+  str += "";
+  return "0000".substr(0, len2 - str.length) + str;
+}
+function getPrimaryTimeUnit(timeUnit) {
+  switch (timeUnit) {
+    case "half-year":
+    case "quarter":
+      return "month";
+    case "week":
+    case "half-week":
+      return "day";
+    case "half-day":
+    case "quarter-day":
+      return "hour";
+    default:
+      return timeUnit;
+  }
+}
+function isPrimaryTimeUnit(timeUnit) {
+  return timeUnit === getPrimaryTimeUnit(timeUnit);
+}
+function getDefaultFormatPrecisionOfInterval(timeUnit) {
+  switch (timeUnit) {
+    case "year":
+    case "month":
+      return "day";
+    case "millisecond":
+      return "millisecond";
+    default:
+      return "second";
+  }
+}
+function format$1(time2, template3, isUTC, lang2) {
+  var date = parseDate(time2);
+  var y2 = date[fullYearGetterName(isUTC)]();
+  var M2 = date[monthGetterName(isUTC)]() + 1;
+  var q2 = Math.floor((M2 - 1) / 3) + 1;
+  var d2 = date[dateGetterName(isUTC)]();
+  var e2 = date["get" + (isUTC ? "UTC" : "") + "Day"]();
+  var H2 = date[hoursGetterName(isUTC)]();
+  var h3 = (H2 - 1) % 12 + 1;
+  var m2 = date[minutesGetterName(isUTC)]();
+  var s2 = date[secondsGetterName(isUTC)]();
+  var S2 = date[millisecondsGetterName(isUTC)]();
+  var localeModel = lang2 instanceof Model$1 ? lang2 : getLocaleModel(lang2 || SYSTEM_LANG) || getDefaultLocaleModel();
+  var timeModel = localeModel.getModel("time");
+  var month = timeModel.get("month");
+  var monthAbbr = timeModel.get("monthAbbr");
+  var dayOfWeek = timeModel.get("dayOfWeek");
+  var dayOfWeekAbbr = timeModel.get("dayOfWeekAbbr");
+  return (template3 || "").replace(/{yyyy}/g, y2 + "").replace(/{yy}/g, pad(y2 % 100 + "", 2)).replace(/{Q}/g, q2 + "").replace(/{MMMM}/g, month[M2 - 1]).replace(/{MMM}/g, monthAbbr[M2 - 1]).replace(/{MM}/g, pad(M2, 2)).replace(/{M}/g, M2 + "").replace(/{dd}/g, pad(d2, 2)).replace(/{d}/g, d2 + "").replace(/{eeee}/g, dayOfWeek[e2]).replace(/{ee}/g, dayOfWeekAbbr[e2]).replace(/{e}/g, e2 + "").replace(/{HH}/g, pad(H2, 2)).replace(/{H}/g, H2 + "").replace(/{hh}/g, pad(h3 + "", 2)).replace(/{h}/g, h3 + "").replace(/{mm}/g, pad(m2, 2)).replace(/{m}/g, m2 + "").replace(/{ss}/g, pad(s2, 2)).replace(/{s}/g, s2 + "").replace(/{SSS}/g, pad(S2, 3)).replace(/{S}/g, S2 + "");
+}
+function leveledFormat(tick, idx, formatter, lang2, isUTC) {
+  var template3 = null;
+  if (isString$1(formatter)) {
+    template3 = formatter;
+  } else if (isFunction$1(formatter)) {
+    template3 = formatter(tick.value, idx, {
+      level: tick.level
+    });
+  } else {
+    var defaults2 = extend$1({}, defaultLeveledFormatter);
+    if (tick.level > 0) {
+      for (var i2 = 0; i2 < primaryTimeUnits.length; ++i2) {
+        defaults2[primaryTimeUnits[i2]] = "{primary|" + defaults2[primaryTimeUnits[i2]] + "}";
+      }
+    }
+    var mergedFormatter = formatter ? formatter.inherit === false ? formatter : defaults$2(formatter, defaults2) : defaults2;
+    var unit = getUnitFromValue(tick.value, isUTC);
+    if (mergedFormatter[unit]) {
+      template3 = mergedFormatter[unit];
+    } else if (mergedFormatter.inherit) {
+      var targetId = timeUnits.indexOf(unit);
+      for (var i2 = targetId - 1; i2 >= 0; --i2) {
+        if (mergedFormatter[unit]) {
+          template3 = mergedFormatter[unit];
+          break;
+        }
+      }
+      template3 = template3 || defaults2.none;
+    }
+    if (isArray$2(template3)) {
+      var levelId = tick.level == null ? 0 : tick.level >= 0 ? tick.level : template3.length + tick.level;
+      levelId = Math.min(levelId, template3.length - 1);
+      template3 = template3[levelId];
+    }
+  }
+  return format$1(new Date(tick.value), template3, isUTC, lang2);
+}
+function getUnitFromValue(value, isUTC) {
+  var date = parseDate(value);
+  var M2 = date[monthGetterName(isUTC)]() + 1;
+  var d2 = date[dateGetterName(isUTC)]();
+  var h3 = date[hoursGetterName(isUTC)]();
+  var m2 = date[minutesGetterName(isUTC)]();
+  var s2 = date[secondsGetterName(isUTC)]();
+  var S2 = date[millisecondsGetterName(isUTC)]();
+  var isSecond = S2 === 0;
+  var isMinute = isSecond && s2 === 0;
+  var isHour = isMinute && m2 === 0;
+  var isDay = isHour && h3 === 0;
+  var isMonth = isDay && d2 === 1;
+  var isYear = isMonth && M2 === 1;
+  if (isYear) {
+    return "year";
+  } else if (isMonth) {
+    return "month";
+  } else if (isDay) {
+    return "day";
+  } else if (isHour) {
+    return "hour";
+  } else if (isMinute) {
+    return "minute";
+  } else if (isSecond) {
+    return "second";
+  } else {
+    return "millisecond";
+  }
+}
+function getUnitValue(value, unit, isUTC) {
+  var date = isNumber$1(value) ? parseDate(value) : value;
+  unit = unit || getUnitFromValue(value, isUTC);
+  switch (unit) {
+    case "year":
+      return date[fullYearGetterName(isUTC)]();
+    case "half-year":
+      return date[monthGetterName(isUTC)]() >= 6 ? 1 : 0;
+    case "quarter":
+      return Math.floor((date[monthGetterName(isUTC)]() + 1) / 4);
+    case "month":
+      return date[monthGetterName(isUTC)]();
+    case "day":
+      return date[dateGetterName(isUTC)]();
+    case "half-day":
+      return date[hoursGetterName(isUTC)]() / 24;
+    case "hour":
+      return date[hoursGetterName(isUTC)]();
+    case "minute":
+      return date[minutesGetterName(isUTC)]();
+    case "second":
+      return date[secondsGetterName(isUTC)]();
+    case "millisecond":
+      return date[millisecondsGetterName(isUTC)]();
+  }
+}
+function fullYearGetterName(isUTC) {
+  return isUTC ? "getUTCFullYear" : "getFullYear";
+}
+function monthGetterName(isUTC) {
+  return isUTC ? "getUTCMonth" : "getMonth";
+}
+function dateGetterName(isUTC) {
+  return isUTC ? "getUTCDate" : "getDate";
+}
+function hoursGetterName(isUTC) {
+  return isUTC ? "getUTCHours" : "getHours";
+}
+function minutesGetterName(isUTC) {
+  return isUTC ? "getUTCMinutes" : "getMinutes";
+}
+function secondsGetterName(isUTC) {
+  return isUTC ? "getUTCSeconds" : "getSeconds";
+}
+function millisecondsGetterName(isUTC) {
+  return isUTC ? "getUTCMilliseconds" : "getMilliseconds";
+}
+function fullYearSetterName(isUTC) {
+  return isUTC ? "setUTCFullYear" : "setFullYear";
+}
+function monthSetterName(isUTC) {
+  return isUTC ? "setUTCMonth" : "setMonth";
+}
+function dateSetterName(isUTC) {
+  return isUTC ? "setUTCDate" : "setDate";
+}
+function hoursSetterName(isUTC) {
+  return isUTC ? "setUTCHours" : "setHours";
+}
+function minutesSetterName(isUTC) {
+  return isUTC ? "setUTCMinutes" : "setMinutes";
+}
+function secondsSetterName(isUTC) {
+  return isUTC ? "setUTCSeconds" : "setSeconds";
+}
+function millisecondsSetterName(isUTC) {
+  return isUTC ? "setUTCMilliseconds" : "setMilliseconds";
+}
+function getTextRect(text2, font, align, verticalAlign, padding, rich, truncate2, lineHeight) {
+  var textEl = new ZRText$1({
+    style: {
+      text: text2,
+      font,
+      align,
+      verticalAlign,
+      padding,
+      rich,
+      overflow: truncate2 ? "truncate" : null,
+      lineHeight
+    }
+  });
+  return textEl.getBoundingRect();
+}
+function addCommas(x2) {
+  if (!isNumeric(x2)) {
+    return isString$1(x2) ? x2 : "-";
+  }
+  var parts2 = (x2 + "").split(".");
+  return parts2[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (parts2.length > 1 ? "." + parts2[1] : "");
+}
+function toCamelCase$1(str, upperCaseFirst) {
+  str = (str || "").toLowerCase().replace(/-(.)/g, function(match, group1) {
+    return group1.toUpperCase();
+  });
+  if (upperCaseFirst && str) {
+    str = str.charAt(0).toUpperCase() + str.slice(1);
+  }
+  return str;
+}
+var normalizeCssArray = normalizeCssArray$1;
+function makeValueReadable(value, valueType, useUTC) {
+  var USER_READABLE_DEFUALT_TIME_PATTERN = "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";
+  function stringToUserReadable(str) {
+    return str && trim$2(str) ? str : "-";
+  }
+  function isNumberUserReadable(num) {
+    return !!(num != null && !isNaN(num) && isFinite(num));
+  }
+  var isTypeTime = valueType === "time";
+  var isValueDate = value instanceof Date;
+  if (isTypeTime || isValueDate) {
+    var date = isTypeTime ? parseDate(value) : value;
+    if (!isNaN(+date)) {
+      return format$1(date, USER_READABLE_DEFUALT_TIME_PATTERN, useUTC);
+    } else if (isValueDate) {
+      return "-";
+    }
+  }
+  if (valueType === "ordinal") {
+    return isStringSafe(value) ? stringToUserReadable(value) : isNumber$1(value) ? isNumberUserReadable(value) ? value + "" : "-" : "-";
+  }
+  var numericResult = numericToNumber(value);
+  return isNumberUserReadable(numericResult) ? addCommas(numericResult) : isStringSafe(value) ? stringToUserReadable(value) : typeof value === "boolean" ? value + "" : "-";
+}
+var TPL_VAR_ALIAS = ["a", "b", "c", "d", "e", "f", "g"];
+var wrapVar = function(varName, seriesIdx) {
+  return "{" + varName + (seriesIdx == null ? "" : seriesIdx) + "}";
+};
+function formatTpl(tpl, paramsList, encode2) {
+  if (!isArray$2(paramsList)) {
+    paramsList = [paramsList];
+  }
+  var seriesLen = paramsList.length;
+  if (!seriesLen) {
+    return "";
+  }
+  var $vars = paramsList[0].$vars || [];
+  for (var i2 = 0; i2 < $vars.length; i2++) {
+    var alias = TPL_VAR_ALIAS[i2];
+    tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));
+  }
+  for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {
+    for (var k2 = 0; k2 < $vars.length; k2++) {
+      var val = paramsList[seriesIdx][$vars[k2]];
+      tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k2], seriesIdx), encode2 ? encodeHTML(val) : val);
+    }
+  }
+  return tpl;
+}
+function formatTplSimple(tpl, param2, encode2) {
+  each$f(param2, function(value, key2) {
+    tpl = tpl.replace("{" + key2 + "}", encode2 ? encodeHTML(value) : value);
+  });
+  return tpl;
+}
+function getTooltipMarker(inOpt, extraCssText) {
+  var opt = isString$1(inOpt) ? {
+    color: inOpt,
+    extraCssText
+  } : inOpt || {};
+  var color2 = opt.color;
+  var type2 = opt.type;
+  extraCssText = opt.extraCssText;
+  var renderMode = opt.renderMode || "html";
+  if (!color2) {
+    return "";
+  }
+  if (renderMode === "html") {
+    return type2 === "subItem" ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + encodeHTML(color2) + ";" + (extraCssText || "") + '"></span>' : '<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:' + encodeHTML(color2) + ";" + (extraCssText || "") + '"></span>';
+  } else {
+    var markerId = opt.markerId || "markerX";
+    return {
+      renderMode,
+      content: "{" + markerId + "|}  ",
+      style: type2 === "subItem" ? {
+        width: 4,
+        height: 4,
+        borderRadius: 2,
+        backgroundColor: color2
+      } : {
+        width: 10,
+        height: 10,
+        borderRadius: 5,
+        backgroundColor: color2
+      }
+    };
+  }
+}
+function formatTime(tpl, value, isUTC) {
+  if (tpl === "week" || tpl === "month" || tpl === "quarter" || tpl === "half-year" || tpl === "year") {
+    tpl = "MM-dd\nyyyy";
+  }
+  var date = parseDate(value);
+  var getUTC = isUTC ? "getUTC" : "get";
+  var y2 = date[getUTC + "FullYear"]();
+  var M2 = date[getUTC + "Month"]() + 1;
+  var d2 = date[getUTC + "Date"]();
+  var h3 = date[getUTC + "Hours"]();
+  var m2 = date[getUTC + "Minutes"]();
+  var s2 = date[getUTC + "Seconds"]();
+  var S2 = date[getUTC + "Milliseconds"]();
+  tpl = tpl.replace("MM", pad(M2, 2)).replace("M", M2).replace("yyyy", y2).replace("yy", pad(y2 % 100 + "", 2)).replace("dd", pad(d2, 2)).replace("d", d2).replace("hh", pad(h3, 2)).replace("h", h3).replace("mm", pad(m2, 2)).replace("m", m2).replace("ss", pad(s2, 2)).replace("s", s2).replace("SSS", pad(S2, 3));
+  return tpl;
+}
+function capitalFirst(str) {
+  return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;
+}
+function convertToColorString(color2, defaultColor) {
+  defaultColor = defaultColor || "transparent";
+  return isString$1(color2) ? color2 : isObject$4(color2) ? color2.colorStops && (color2.colorStops[0] || {}).color || defaultColor : defaultColor;
+}
+function windowOpen(link, target) {
+  if (target === "_blank" || target === "blank") {
+    var blank = window.open();
+    blank.opener = null;
+    blank.location.href = link;
+  } else {
+    window.open(link, target);
+  }
+}
+var each$e = each$f;
+var LOCATION_PARAMS = ["left", "right", "top", "bottom", "width", "height"];
+var HV_NAMES = [["width", "left", "right"], ["height", "top", "bottom"]];
+function boxLayout(orient, group, gap, maxWidth, maxHeight) {
+  var x2 = 0;
+  var y2 = 0;
+  if (maxWidth == null) {
+    maxWidth = Infinity;
+  }
+  if (maxHeight == null) {
+    maxHeight = Infinity;
+  }
+  var currentLineMaxSize = 0;
+  group.eachChild(function(child, idx) {
+    var rect = child.getBoundingRect();
+    var nextChild = group.childAt(idx + 1);
+    var nextChildRect = nextChild && nextChild.getBoundingRect();
+    var nextX;
+    var nextY;
+    if (orient === "horizontal") {
+      var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);
+      nextX = x2 + moveX;
+      if (nextX > maxWidth || child.newline) {
+        x2 = 0;
+        nextX = moveX;
+        y2 += currentLineMaxSize + gap;
+        currentLineMaxSize = rect.height;
+      } else {
+        currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);
+      }
+    } else {
+      var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);
+      nextY = y2 + moveY;
+      if (nextY > maxHeight || child.newline) {
+        x2 += currentLineMaxSize + gap;
+        y2 = 0;
+        nextY = moveY;
+        currentLineMaxSize = rect.width;
+      } else {
+        currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);
+      }
+    }
+    if (child.newline) {
+      return;
+    }
+    child.x = x2;
+    child.y = y2;
+    child.markRedraw();
+    orient === "horizontal" ? x2 = nextX + gap : y2 = nextY + gap;
+  });
+}
+var box = boxLayout;
+curry$1(boxLayout, "vertical");
+curry$1(boxLayout, "horizontal");
+function getAvailableSize(positionInfo, containerRect, margin) {
+  var containerWidth = containerRect.width;
+  var containerHeight = containerRect.height;
+  var x2 = parsePercent(positionInfo.left, containerWidth);
+  var y2 = parsePercent(positionInfo.top, containerHeight);
+  var x22 = parsePercent(positionInfo.right, containerWidth);
+  var y22 = parsePercent(positionInfo.bottom, containerHeight);
+  (isNaN(x2) || isNaN(parseFloat(positionInfo.left))) && (x2 = 0);
+  (isNaN(x22) || isNaN(parseFloat(positionInfo.right))) && (x22 = containerWidth);
+  (isNaN(y2) || isNaN(parseFloat(positionInfo.top))) && (y2 = 0);
+  (isNaN(y22) || isNaN(parseFloat(positionInfo.bottom))) && (y22 = containerHeight);
+  margin = normalizeCssArray(margin || 0);
+  return {
+    width: Math.max(x22 - x2 - margin[1] - margin[3], 0),
+    height: Math.max(y22 - y2 - margin[0] - margin[2], 0)
+  };
+}
+function getLayoutRect(positionInfo, containerRect, margin) {
+  margin = normalizeCssArray(margin || 0);
+  var containerWidth = containerRect.width;
+  var containerHeight = containerRect.height;
+  var left = parsePercent(positionInfo.left, containerWidth);
+  var top = parsePercent(positionInfo.top, containerHeight);
+  var right = parsePercent(positionInfo.right, containerWidth);
+  var bottom = parsePercent(positionInfo.bottom, containerHeight);
+  var width = parsePercent(positionInfo.width, containerWidth);
+  var height = parsePercent(positionInfo.height, containerHeight);
+  var verticalMargin = margin[2] + margin[0];
+  var horizontalMargin = margin[1] + margin[3];
+  var aspect = positionInfo.aspect;
+  if (isNaN(width)) {
+    width = containerWidth - right - horizontalMargin - left;
+  }
+  if (isNaN(height)) {
+    height = containerHeight - bottom - verticalMargin - top;
+  }
+  if (aspect != null) {
+    if (isNaN(width) && isNaN(height)) {
+      if (aspect > containerWidth / containerHeight) {
+        width = containerWidth * 0.8;
+      } else {
+        height = containerHeight * 0.8;
+      }
+    }
+    if (isNaN(width)) {
+      width = aspect * height;
+    }
+    if (isNaN(height)) {
+      height = width / aspect;
+    }
+  }
+  if (isNaN(left)) {
+    left = containerWidth - right - width - horizontalMargin;
+  }
+  if (isNaN(top)) {
+    top = containerHeight - bottom - height - verticalMargin;
+  }
+  switch (positionInfo.left || positionInfo.right) {
+    case "center":
+      left = containerWidth / 2 - width / 2 - margin[3];
+      break;
+    case "right":
+      left = containerWidth - width - horizontalMargin;
+      break;
+  }
+  switch (positionInfo.top || positionInfo.bottom) {
+    case "middle":
+    case "center":
+      top = containerHeight / 2 - height / 2 - margin[0];
+      break;
+    case "bottom":
+      top = containerHeight - height - verticalMargin;
+      break;
+  }
+  left = left || 0;
+  top = top || 0;
+  if (isNaN(width)) {
+    width = containerWidth - horizontalMargin - left - (right || 0);
+  }
+  if (isNaN(height)) {
+    height = containerHeight - verticalMargin - top - (bottom || 0);
+  }
+  var rect = new BoundingRect$1(left + margin[3], top + margin[0], width, height);
+  rect.margin = margin;
+  return rect;
+}
+function positionElement(el, positionInfo, containerRect, margin, opt, out2) {
+  var h3 = !opt || !opt.hv || opt.hv[0];
+  var v4 = !opt || !opt.hv || opt.hv[1];
+  var boundingMode = opt && opt.boundingMode || "all";
+  out2 = out2 || el;
+  out2.x = el.x;
+  out2.y = el.y;
+  if (!h3 && !v4) {
+    return false;
+  }
+  var rect;
+  if (boundingMode === "raw") {
+    rect = el.type === "group" ? new BoundingRect$1(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();
+  } else {
+    rect = el.getBoundingRect();
+    if (el.needLocalTransform()) {
+      var transform3 = el.getLocalTransform();
+      rect = rect.clone();
+      rect.applyTransform(transform3);
+    }
+  }
+  var layoutRect = getLayoutRect(defaults$2({
+    width: rect.width,
+    height: rect.height
+  }, positionInfo), containerRect, margin);
+  var dx = h3 ? layoutRect.x - rect.x : 0;
+  var dy = v4 ? layoutRect.y - rect.y : 0;
+  if (boundingMode === "raw") {
+    out2.x = dx;
+    out2.y = dy;
+  } else {
+    out2.x += dx;
+    out2.y += dy;
+  }
+  if (out2 === el) {
+    el.markRedraw();
+  }
+  return true;
+}
+function sizeCalculable(option, hvIdx) {
+  return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;
+}
+function fetchLayoutMode(ins) {
+  var layoutMode = ins.layoutMode || ins.constructor.layoutMode;
+  return isObject$4(layoutMode) ? layoutMode : layoutMode ? {
+    type: layoutMode
+  } : null;
+}
+function mergeLayoutParam(targetOption, newOption, opt) {
+  var ignoreSize = opt && opt.ignoreSize;
+  !isArray$2(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);
+  var hResult = merge2(HV_NAMES[0], 0);
+  var vResult = merge2(HV_NAMES[1], 1);
+  copy2(HV_NAMES[0], targetOption, hResult);
+  copy2(HV_NAMES[1], targetOption, vResult);
+  function merge2(names, hvIdx) {
+    var newParams = {};
+    var newValueCount = 0;
+    var merged = {};
+    var mergedValueCount = 0;
+    var enoughParamNumber = 2;
+    each$e(names, function(name2) {
+      merged[name2] = targetOption[name2];
+    });
+    each$e(names, function(name2) {
+      hasProp(newOption, name2) && (newParams[name2] = merged[name2] = newOption[name2]);
+      hasValue(newParams, name2) && newValueCount++;
+      hasValue(merged, name2) && mergedValueCount++;
+    });
+    if (ignoreSize[hvIdx]) {
+      if (hasValue(newOption, names[1])) {
+        merged[names[2]] = null;
+      } else if (hasValue(newOption, names[2])) {
+        merged[names[1]] = null;
+      }
+      return merged;
+    }
+    if (mergedValueCount === enoughParamNumber || !newValueCount) {
+      return merged;
+    } else if (newValueCount >= enoughParamNumber) {
+      return newParams;
+    } else {
+      for (var i2 = 0; i2 < names.length; i2++) {
+        var name_1 = names[i2];
+        if (!hasProp(newParams, name_1) && hasProp(targetOption, name_1)) {
+          newParams[name_1] = targetOption[name_1];
+          break;
+        }
+      }
+      return newParams;
+    }
+  }
+  function hasProp(obj2, name2) {
+    return obj2.hasOwnProperty(name2);
+  }
+  function hasValue(obj2, name2) {
+    return obj2[name2] != null && obj2[name2] !== "auto";
+  }
+  function copy2(names, target, source2) {
+    each$e(names, function(name2) {
+      target[name2] = source2[name2];
+    });
+  }
+}
+function getLayoutParams(source2) {
+  return copyLayoutParams({}, source2);
+}
+function copyLayoutParams(target, source2) {
+  source2 && target && each$e(LOCATION_PARAMS, function(name2) {
+    source2.hasOwnProperty(name2) && (target[name2] = source2[name2]);
+  });
+  return target;
+}
+var inner$l = makeInner();
+var ComponentModel = (
+  /** @class */
+  function(_super) {
+    __extends(ComponentModel2, _super);
+    function ComponentModel2(option, parentModel, ecModel) {
+      var _this = _super.call(this, option, parentModel, ecModel) || this;
+      _this.uid = getUID("ec_cpt_model");
+      return _this;
+    }
+    ComponentModel2.prototype.init = function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+    };
+    ComponentModel2.prototype.mergeDefaultAndTheme = function(option, ecModel) {
+      var layoutMode = fetchLayoutMode(this);
+      var inputPositionParams = layoutMode ? getLayoutParams(option) : {};
+      var themeModel = ecModel.getTheme();
+      merge$1(option, themeModel.get(this.mainType));
+      merge$1(option, this.getDefaultOption());
+      if (layoutMode) {
+        mergeLayoutParam(option, inputPositionParams, layoutMode);
+      }
+    };
+    ComponentModel2.prototype.mergeOption = function(option, ecModel) {
+      merge$1(this.option, option, true);
+      var layoutMode = fetchLayoutMode(this);
+      if (layoutMode) {
+        mergeLayoutParam(this.option, option, layoutMode);
+      }
+    };
+    ComponentModel2.prototype.optionUpdated = function(newCptOption, isInit) {
+    };
+    ComponentModel2.prototype.getDefaultOption = function() {
+      var ctor = this.constructor;
+      if (!isExtendedClass(ctor)) {
+        return ctor.defaultOption;
+      }
+      var fields = inner$l(this);
+      if (!fields.defaultOption) {
+        var optList = [];
+        var clz = ctor;
+        while (clz) {
+          var opt = clz.prototype.defaultOption;
+          opt && optList.push(opt);
+          clz = clz.superClass;
+        }
+        var defaultOption2 = {};
+        for (var i2 = optList.length - 1; i2 >= 0; i2--) {
+          defaultOption2 = merge$1(defaultOption2, optList[i2], true);
+        }
+        fields.defaultOption = defaultOption2;
+      }
+      return fields.defaultOption;
+    };
+    ComponentModel2.prototype.getReferringComponents = function(mainType, opt) {
+      var indexKey = mainType + "Index";
+      var idKey = mainType + "Id";
+      return queryReferringComponents(this.ecModel, mainType, {
+        index: this.get(indexKey, true),
+        id: this.get(idKey, true)
+      }, opt);
+    };
+    ComponentModel2.prototype.getBoxLayoutParams = function() {
+      var boxLayoutModel = this;
+      return {
+        left: boxLayoutModel.get("left"),
+        top: boxLayoutModel.get("top"),
+        right: boxLayoutModel.get("right"),
+        bottom: boxLayoutModel.get("bottom"),
+        width: boxLayoutModel.get("width"),
+        height: boxLayoutModel.get("height")
+      };
+    };
+    ComponentModel2.prototype.getZLevelKey = function() {
+      return "";
+    };
+    ComponentModel2.prototype.setZLevel = function(zlevel) {
+      this.option.zlevel = zlevel;
+    };
+    ComponentModel2.protoInitialize = function() {
+      var proto2 = ComponentModel2.prototype;
+      proto2.type = "component";
+      proto2.id = "";
+      proto2.name = "";
+      proto2.mainType = "";
+      proto2.subType = "";
+      proto2.componentIndex = 0;
+    }();
+    return ComponentModel2;
+  }(Model$1)
+);
+mountExtend(ComponentModel, Model$1);
+enableClassManagement(ComponentModel);
+enableSubTypeDefaulter(ComponentModel);
+enableTopologicalTravel(ComponentModel, getDependencies);
+function getDependencies(componentType) {
+  var deps = [];
+  each$f(ComponentModel.getClassesByMainType(componentType), function(clz) {
+    deps = deps.concat(clz.dependencies || clz.prototype.dependencies || []);
+  });
+  deps = map$1(deps, function(type2) {
+    return parseClassType(type2).main;
+  });
+  if (componentType !== "dataset" && indexOf(deps, "dataset") <= 0) {
+    deps.unshift("dataset");
+  }
+  return deps;
+}
+const ComponentModel$1 = ComponentModel;
+var platform$2 = "";
+if (typeof navigator !== "undefined") {
+  platform$2 = navigator.platform || "";
+}
+var decalColor = "rgba(0, 0, 0, 0.2)";
+const globalDefault = {
+  darkMode: "auto",
+  // backgroundColor: 'rgba(0,0,0,0)',
+  colorBy: "series",
+  color: ["#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#3ba272", "#fc8452", "#9a60b4", "#ea7ccc"],
+  gradientColor: ["#f6efa6", "#d88273", "#bf444c"],
+  aria: {
+    decal: {
+      decals: [{
+        color: decalColor,
+        dashArrayX: [1, 0],
+        dashArrayY: [2, 5],
+        symbolSize: 1,
+        rotation: Math.PI / 6
+      }, {
+        color: decalColor,
+        symbol: "circle",
+        dashArrayX: [[8, 8], [0, 8, 8, 0]],
+        dashArrayY: [6, 0],
+        symbolSize: 0.8
+      }, {
+        color: decalColor,
+        dashArrayX: [1, 0],
+        dashArrayY: [4, 3],
+        rotation: -Math.PI / 4
+      }, {
+        color: decalColor,
+        dashArrayX: [[6, 6], [0, 6, 6, 0]],
+        dashArrayY: [6, 0]
+      }, {
+        color: decalColor,
+        dashArrayX: [[1, 0], [1, 6]],
+        dashArrayY: [1, 0, 6, 0],
+        rotation: Math.PI / 4
+      }, {
+        color: decalColor,
+        symbol: "triangle",
+        dashArrayX: [[9, 9], [0, 9, 9, 0]],
+        dashArrayY: [7, 2],
+        symbolSize: 0.75
+      }]
+    }
+  },
+  // If xAxis and yAxis declared, grid is created by default.
+  // grid: {},
+  textStyle: {
+    // color: '#000',
+    // decoration: 'none',
+    // PENDING
+    fontFamily: platform$2.match(/^Win/) ? "Microsoft YaHei" : "sans-serif",
+    // fontFamily: 'Arial, Verdana, sans-serif',
+    fontSize: 12,
+    fontStyle: "normal",
+    fontWeight: "normal"
+  },
+  // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/
+  // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
+  // Default is source-over
+  blendMode: null,
+  stateAnimation: {
+    duration: 300,
+    easing: "cubicOut"
+  },
+  animation: "auto",
+  animationDuration: 1e3,
+  animationDurationUpdate: 500,
+  animationEasing: "cubicInOut",
+  animationEasingUpdate: "cubicInOut",
+  animationThreshold: 2e3,
+  // Configuration for progressive/incremental rendering
+  progressiveThreshold: 3e3,
+  progressive: 400,
+  // Threshold of if use single hover layer to optimize.
+  // It is recommended that `hoverLayerThreshold` is equivalent to or less than
+  // `progressiveThreshold`, otherwise hover will cause restart of progressive,
+  // which is unexpected.
+  // see example <echarts/test/heatmap-large.html>.
+  hoverLayerThreshold: 3e3,
+  // See: module:echarts/scale/Time
+  useUTC: false
+};
+var VISUAL_DIMENSIONS = createHashMap(["tooltip", "label", "itemName", "itemId", "itemGroupId", "seriesName"]);
+var SOURCE_FORMAT_ORIGINAL = "original";
+var SOURCE_FORMAT_ARRAY_ROWS = "arrayRows";
+var SOURCE_FORMAT_OBJECT_ROWS = "objectRows";
+var SOURCE_FORMAT_KEYED_COLUMNS = "keyedColumns";
+var SOURCE_FORMAT_TYPED_ARRAY = "typedArray";
+var SOURCE_FORMAT_UNKNOWN = "unknown";
+var SERIES_LAYOUT_BY_COLUMN = "column";
+var SERIES_LAYOUT_BY_ROW = "row";
+var BE_ORDINAL = {
+  Must: 1,
+  Might: 2,
+  Not: 3
+  // Other cases
+};
+var innerGlobalModel = makeInner();
+function resetSourceDefaulter(ecModel) {
+  innerGlobalModel(ecModel).datasetMap = createHashMap();
+}
+function makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source2) {
+  var encode2 = {};
+  var datasetModel = querySeriesUpstreamDatasetModel(seriesModel);
+  if (!datasetModel || !coordDimensions) {
+    return encode2;
+  }
+  var encodeItemName = [];
+  var encodeSeriesName = [];
+  var ecModel = seriesModel.ecModel;
+  var datasetMap = innerGlobalModel(ecModel).datasetMap;
+  var key2 = datasetModel.uid + "_" + source2.seriesLayoutBy;
+  var baseCategoryDimIndex;
+  var categoryWayValueDimStart;
+  coordDimensions = coordDimensions.slice();
+  each$f(coordDimensions, function(coordDimInfoLoose, coordDimIdx) {
+    var coordDimInfo = isObject$4(coordDimInfoLoose) ? coordDimInfoLoose : coordDimensions[coordDimIdx] = {
+      name: coordDimInfoLoose
+    };
+    if (coordDimInfo.type === "ordinal" && baseCategoryDimIndex == null) {
+      baseCategoryDimIndex = coordDimIdx;
+      categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimInfo);
+    }
+    encode2[coordDimInfo.name] = [];
+  });
+  var datasetRecord = datasetMap.get(key2) || datasetMap.set(key2, {
+    categoryWayDim: categoryWayValueDimStart,
+    valueWayDim: 0
+  });
+  each$f(coordDimensions, function(coordDimInfo, coordDimIdx) {
+    var coordDimName = coordDimInfo.name;
+    var count2 = getDataDimCountOnCoordDim(coordDimInfo);
+    if (baseCategoryDimIndex == null) {
+      var start2 = datasetRecord.valueWayDim;
+      pushDim(encode2[coordDimName], start2, count2);
+      pushDim(encodeSeriesName, start2, count2);
+      datasetRecord.valueWayDim += count2;
+    } else if (baseCategoryDimIndex === coordDimIdx) {
+      pushDim(encode2[coordDimName], 0, count2);
+      pushDim(encodeItemName, 0, count2);
+    } else {
+      var start2 = datasetRecord.categoryWayDim;
+      pushDim(encode2[coordDimName], start2, count2);
+      pushDim(encodeSeriesName, start2, count2);
+      datasetRecord.categoryWayDim += count2;
+    }
+  });
+  function pushDim(dimIdxArr, idxFrom, idxCount) {
+    for (var i2 = 0; i2 < idxCount; i2++) {
+      dimIdxArr.push(idxFrom + i2);
+    }
+  }
+  function getDataDimCountOnCoordDim(coordDimInfo) {
+    var dimsDef = coordDimInfo.dimsDef;
+    return dimsDef ? dimsDef.length : 1;
+  }
+  encodeItemName.length && (encode2.itemName = encodeItemName);
+  encodeSeriesName.length && (encode2.seriesName = encodeSeriesName);
+  return encode2;
+}
+function makeSeriesEncodeForNameBased(seriesModel, source2, dimCount) {
+  var encode2 = {};
+  var datasetModel = querySeriesUpstreamDatasetModel(seriesModel);
+  if (!datasetModel) {
+    return encode2;
+  }
+  var sourceFormat = source2.sourceFormat;
+  var dimensionsDefine = source2.dimensionsDefine;
+  var potentialNameDimIndex;
+  if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {
+    each$f(dimensionsDefine, function(dim, idx) {
+      if ((isObject$4(dim) ? dim.name : dim) === "name") {
+        potentialNameDimIndex = idx;
+      }
+    });
+  }
+  var idxResult = function() {
+    var idxRes0 = {};
+    var idxRes1 = {};
+    var guessRecords = [];
+    for (var i2 = 0, len2 = Math.min(5, dimCount); i2 < len2; i2++) {
+      var guessResult = doGuessOrdinal(source2.data, sourceFormat, source2.seriesLayoutBy, dimensionsDefine, source2.startIndex, i2);
+      guessRecords.push(guessResult);
+      var isPureNumber = guessResult === BE_ORDINAL.Not;
+      if (isPureNumber && idxRes0.v == null && i2 !== potentialNameDimIndex) {
+        idxRes0.v = i2;
+      }
+      if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {
+        idxRes0.n = i2;
+      }
+      if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {
+        return idxRes0;
+      }
+      if (!isPureNumber) {
+        if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i2 !== potentialNameDimIndex) {
+          idxRes1.v = i2;
+        }
+        if (idxRes1.n == null || idxRes1.n === idxRes1.v) {
+          idxRes1.n = i2;
+        }
+      }
+    }
+    function fulfilled(idxResult2) {
+      return idxResult2.v != null && idxResult2.n != null;
+    }
+    return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;
+  }();
+  if (idxResult) {
+    encode2.value = [idxResult.v];
+    var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n;
+    encode2.itemName = [nameDimIndex];
+    encode2.seriesName = [nameDimIndex];
+  }
+  return encode2;
+}
+function querySeriesUpstreamDatasetModel(seriesModel) {
+  var thisData = seriesModel.get("data", true);
+  if (!thisData) {
+    return queryReferringComponents(seriesModel.ecModel, "dataset", {
+      index: seriesModel.get("datasetIndex", true),
+      id: seriesModel.get("datasetId", true)
+    }, SINGLE_REFERRING).models[0];
+  }
+}
+function queryDatasetUpstreamDatasetModels(datasetModel) {
+  if (!datasetModel.get("transform", true) && !datasetModel.get("fromTransformResult", true)) {
+    return [];
+  }
+  return queryReferringComponents(datasetModel.ecModel, "dataset", {
+    index: datasetModel.get("fromDatasetIndex", true),
+    id: datasetModel.get("fromDatasetId", true)
+  }, SINGLE_REFERRING).models;
+}
+function guessOrdinal(source2, dimIndex) {
+  return doGuessOrdinal(source2.data, source2.sourceFormat, source2.seriesLayoutBy, source2.dimensionsDefine, source2.startIndex, dimIndex);
+}
+function doGuessOrdinal(data2, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {
+  var result2;
+  var maxLoop = 5;
+  if (isTypedArray$1(data2)) {
+    return BE_ORDINAL.Not;
+  }
+  var dimName;
+  var dimType;
+  if (dimensionsDefine) {
+    var dimDefItem = dimensionsDefine[dimIndex];
+    if (isObject$4(dimDefItem)) {
+      dimName = dimDefItem.name;
+      dimType = dimDefItem.type;
+    } else if (isString$1(dimDefItem)) {
+      dimName = dimDefItem;
+    }
+  }
+  if (dimType != null) {
+    return dimType === "ordinal" ? BE_ORDINAL.Must : BE_ORDINAL.Not;
+  }
+  if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {
+    var dataArrayRows = data2;
+    if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {
+      var sample = dataArrayRows[dimIndex];
+      for (var i2 = 0; i2 < (sample || []).length && i2 < maxLoop; i2++) {
+        if ((result2 = detectValue(sample[startIndex + i2])) != null) {
+          return result2;
+        }
+      }
+    } else {
+      for (var i2 = 0; i2 < dataArrayRows.length && i2 < maxLoop; i2++) {
+        var row = dataArrayRows[startIndex + i2];
+        if (row && (result2 = detectValue(row[dimIndex])) != null) {
+          return result2;
+        }
+      }
+    }
+  } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {
+    var dataObjectRows = data2;
+    if (!dimName) {
+      return BE_ORDINAL.Not;
+    }
+    for (var i2 = 0; i2 < dataObjectRows.length && i2 < maxLoop; i2++) {
+      var item = dataObjectRows[i2];
+      if (item && (result2 = detectValue(item[dimName])) != null) {
+        return result2;
+      }
+    }
+  } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {
+    var dataKeyedColumns = data2;
+    if (!dimName) {
+      return BE_ORDINAL.Not;
+    }
+    var sample = dataKeyedColumns[dimName];
+    if (!sample || isTypedArray$1(sample)) {
+      return BE_ORDINAL.Not;
+    }
+    for (var i2 = 0; i2 < sample.length && i2 < maxLoop; i2++) {
+      if ((result2 = detectValue(sample[i2])) != null) {
+        return result2;
+      }
+    }
+  } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {
+    var dataOriginal = data2;
+    for (var i2 = 0; i2 < dataOriginal.length && i2 < maxLoop; i2++) {
+      var item = dataOriginal[i2];
+      var val = getDataItemValue(item);
+      if (!isArray$2(val)) {
+        return BE_ORDINAL.Not;
+      }
+      if ((result2 = detectValue(val[dimIndex])) != null) {
+        return result2;
+      }
+    }
+  }
+  function detectValue(val2) {
+    var beStr = isString$1(val2);
+    if (val2 != null && isFinite(val2) && val2 !== "") {
+      return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;
+    } else if (beStr && val2 !== "-") {
+      return BE_ORDINAL.Must;
+    }
+  }
+  return BE_ORDINAL.Not;
+}
+var internalOptionCreatorMap = createHashMap();
+function registerInternalOptionCreator(mainType, creator) {
+  assert(internalOptionCreatorMap.get(mainType) == null && creator);
+  internalOptionCreatorMap.set(mainType, creator);
+}
+function concatInternalOptions(ecModel, mainType, newCmptOptionList) {
+  var internalOptionCreator = internalOptionCreatorMap.get(mainType);
+  if (!internalOptionCreator) {
+    return newCmptOptionList;
+  }
+  var internalOptions = internalOptionCreator(ecModel);
+  if (!internalOptions) {
+    return newCmptOptionList;
+  }
+  return newCmptOptionList.concat(internalOptions);
+}
+var innerColor = makeInner();
+var innerDecal = makeInner();
+var PaletteMixin = (
+  /** @class */
+  function() {
+    function PaletteMixin2() {
+    }
+    PaletteMixin2.prototype.getColorFromPalette = function(name2, scope, requestNum) {
+      var defaultPalette = normalizeToArray(this.get("color", true));
+      var layeredPalette = this.get("colorLayer", true);
+      return getFromPalette(this, innerColor, defaultPalette, layeredPalette, name2, scope, requestNum);
+    };
+    PaletteMixin2.prototype.clearColorPalette = function() {
+      clearPalette(this, innerColor);
+    };
+    return PaletteMixin2;
+  }()
+);
+function getDecalFromPalette(ecModel, name2, scope, requestNum) {
+  var defaultDecals = normalizeToArray(ecModel.get(["aria", "decal", "decals"]));
+  return getFromPalette(ecModel, innerDecal, defaultDecals, null, name2, scope, requestNum);
+}
+function getNearestPalette(palettes, requestColorNum) {
+  var paletteNum = palettes.length;
+  for (var i2 = 0; i2 < paletteNum; i2++) {
+    if (palettes[i2].length > requestColorNum) {
+      return palettes[i2];
+    }
+  }
+  return palettes[paletteNum - 1];
+}
+function getFromPalette(that, inner2, defaultPalette, layeredPalette, name2, scope, requestNum) {
+  scope = scope || that;
+  var scopeFields = inner2(scope);
+  var paletteIdx = scopeFields.paletteIdx || 0;
+  var paletteNameMap = scopeFields.paletteNameMap = scopeFields.paletteNameMap || {};
+  if (paletteNameMap.hasOwnProperty(name2)) {
+    return paletteNameMap[name2];
+  }
+  var palette = requestNum == null || !layeredPalette ? defaultPalette : getNearestPalette(layeredPalette, requestNum);
+  palette = palette || defaultPalette;
+  if (!palette || !palette.length) {
+    return;
+  }
+  var pickedPaletteItem = palette[paletteIdx];
+  if (name2) {
+    paletteNameMap[name2] = pickedPaletteItem;
+  }
+  scopeFields.paletteIdx = (paletteIdx + 1) % palette.length;
+  return pickedPaletteItem;
+}
+function clearPalette(that, inner2) {
+  inner2(that).paletteIdx = 0;
+  inner2(that).paletteNameMap = {};
+}
+var reCreateSeriesIndices;
+var assertSeriesInitialized;
+var initBase$1;
+var OPTION_INNER_KEY = "\0_ec_inner";
+var OPTION_INNER_VALUE = 1;
+var GlobalModel = (
+  /** @class */
+  function(_super) {
+    __extends(GlobalModel2, _super);
+    function GlobalModel2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    GlobalModel2.prototype.init = function(option, parentModel, ecModel, theme2, locale, optionManager) {
+      theme2 = theme2 || {};
+      this.option = null;
+      this._theme = new Model$1(theme2);
+      this._locale = new Model$1(locale);
+      this._optionManager = optionManager;
+    };
+    GlobalModel2.prototype.setOption = function(option, opts2, optionPreprocessorFuncs2) {
+      var innerOpt = normalizeSetOptionInput(opts2);
+      this._optionManager.setOption(option, optionPreprocessorFuncs2, innerOpt);
+      this._resetOption(null, innerOpt);
+    };
+    GlobalModel2.prototype.resetOption = function(type2, opt) {
+      return this._resetOption(type2, normalizeSetOptionInput(opt));
+    };
+    GlobalModel2.prototype._resetOption = function(type2, opt) {
+      var optionChanged = false;
+      var optionManager = this._optionManager;
+      if (!type2 || type2 === "recreate") {
+        var baseOption = optionManager.mountOption(type2 === "recreate");
+        if (!this.option || type2 === "recreate") {
+          initBase$1(this, baseOption);
+        } else {
+          this.restoreData();
+          this._mergeOption(baseOption, opt);
+        }
+        optionChanged = true;
+      }
+      if (type2 === "timeline" || type2 === "media") {
+        this.restoreData();
+      }
+      if (!type2 || type2 === "recreate" || type2 === "timeline") {
+        var timelineOption = optionManager.getTimelineOption(this);
+        if (timelineOption) {
+          optionChanged = true;
+          this._mergeOption(timelineOption, opt);
+        }
+      }
+      if (!type2 || type2 === "recreate" || type2 === "media") {
+        var mediaOptions = optionManager.getMediaOption(this);
+        if (mediaOptions.length) {
+          each$f(mediaOptions, function(mediaOption) {
+            optionChanged = true;
+            this._mergeOption(mediaOption, opt);
+          }, this);
+        }
+      }
+      return optionChanged;
+    };
+    GlobalModel2.prototype.mergeOption = function(option) {
+      this._mergeOption(option, null);
+    };
+    GlobalModel2.prototype._mergeOption = function(newOption, opt) {
+      var option = this.option;
+      var componentsMap = this._componentsMap;
+      var componentsCount = this._componentsCount;
+      var newCmptTypes = [];
+      var newCmptTypeMap = createHashMap();
+      var replaceMergeMainTypeMap = opt && opt.replaceMergeMainTypeMap;
+      resetSourceDefaulter(this);
+      each$f(newOption, function(componentOption, mainType) {
+        if (componentOption == null) {
+          return;
+        }
+        if (!ComponentModel$1.hasClass(mainType)) {
+          option[mainType] = option[mainType] == null ? clone$4(componentOption) : merge$1(option[mainType], componentOption, true);
+        } else if (mainType) {
+          newCmptTypes.push(mainType);
+          newCmptTypeMap.set(mainType, true);
+        }
+      });
+      if (replaceMergeMainTypeMap) {
+        replaceMergeMainTypeMap.each(function(val, mainTypeInReplaceMerge) {
+          if (ComponentModel$1.hasClass(mainTypeInReplaceMerge) && !newCmptTypeMap.get(mainTypeInReplaceMerge)) {
+            newCmptTypes.push(mainTypeInReplaceMerge);
+            newCmptTypeMap.set(mainTypeInReplaceMerge, true);
+          }
+        });
+      }
+      ComponentModel$1.topologicalTravel(newCmptTypes, ComponentModel$1.getAllClassMainTypes(), visitComponent, this);
+      function visitComponent(mainType) {
+        var newCmptOptionList = concatInternalOptions(this, mainType, normalizeToArray(newOption[mainType]));
+        var oldCmptList = componentsMap.get(mainType);
+        var mergeMode = (
+          // `!oldCmptList` means init. See the comment in `mappingToExists`
+          !oldCmptList ? "replaceAll" : replaceMergeMainTypeMap && replaceMergeMainTypeMap.get(mainType) ? "replaceMerge" : "normalMerge"
+        );
+        var mappingResult = mappingToExists(oldCmptList, newCmptOptionList, mergeMode);
+        setComponentTypeToKeyInfo(mappingResult, mainType, ComponentModel$1);
+        option[mainType] = null;
+        componentsMap.set(mainType, null);
+        componentsCount.set(mainType, 0);
+        var optionsByMainType = [];
+        var cmptsByMainType = [];
+        var cmptsCountByMainType = 0;
+        var tooltipExists;
+        each$f(mappingResult, function(resultItem, index3) {
+          var componentModel = resultItem.existing;
+          var newCmptOption = resultItem.newOption;
+          if (!newCmptOption) {
+            if (componentModel) {
+              componentModel.mergeOption({}, this);
+              componentModel.optionUpdated({}, false);
+            }
+          } else {
+            var isSeriesType = mainType === "series";
+            var ComponentModelClass = ComponentModel$1.getClass(
+              mainType,
+              resultItem.keyInfo.subType,
+              !isSeriesType
+              // Give a more detailed warn later if series don't exists
+            );
+            if (!ComponentModelClass) {
+              return;
+            }
+            if (mainType === "tooltip") {
+              if (tooltipExists) {
+                return;
+              }
+              tooltipExists = true;
+            }
+            if (componentModel && componentModel.constructor === ComponentModelClass) {
+              componentModel.name = resultItem.keyInfo.name;
+              componentModel.mergeOption(newCmptOption, this);
+              componentModel.optionUpdated(newCmptOption, false);
+            } else {
+              var extraOpt = extend$1({
+                componentIndex: index3
+              }, resultItem.keyInfo);
+              componentModel = new ComponentModelClass(newCmptOption, this, this, extraOpt);
+              extend$1(componentModel, extraOpt);
+              if (resultItem.brandNew) {
+                componentModel.__requireNewView = true;
+              }
+              componentModel.init(newCmptOption, this, this);
+              componentModel.optionUpdated(null, true);
+            }
+          }
+          if (componentModel) {
+            optionsByMainType.push(componentModel.option);
+            cmptsByMainType.push(componentModel);
+            cmptsCountByMainType++;
+          } else {
+            optionsByMainType.push(void 0);
+            cmptsByMainType.push(void 0);
+          }
+        }, this);
+        option[mainType] = optionsByMainType;
+        componentsMap.set(mainType, cmptsByMainType);
+        componentsCount.set(mainType, cmptsCountByMainType);
+        if (mainType === "series") {
+          reCreateSeriesIndices(this);
+        }
+      }
+      if (!this._seriesIndices) {
+        reCreateSeriesIndices(this);
+      }
+    };
+    GlobalModel2.prototype.getOption = function() {
+      var option = clone$4(this.option);
+      each$f(option, function(optInMainType, mainType) {
+        if (ComponentModel$1.hasClass(mainType)) {
+          var opts2 = normalizeToArray(optInMainType);
+          var realLen = opts2.length;
+          var metNonInner = false;
+          for (var i2 = realLen - 1; i2 >= 0; i2--) {
+            if (opts2[i2] && !isComponentIdInternal(opts2[i2])) {
+              metNonInner = true;
+            } else {
+              opts2[i2] = null;
+              !metNonInner && realLen--;
+            }
+          }
+          opts2.length = realLen;
+          option[mainType] = opts2;
+        }
+      });
+      delete option[OPTION_INNER_KEY];
+      return option;
+    };
+    GlobalModel2.prototype.getTheme = function() {
+      return this._theme;
+    };
+    GlobalModel2.prototype.getLocaleModel = function() {
+      return this._locale;
+    };
+    GlobalModel2.prototype.setUpdatePayload = function(payload) {
+      this._payload = payload;
+    };
+    GlobalModel2.prototype.getUpdatePayload = function() {
+      return this._payload;
+    };
+    GlobalModel2.prototype.getComponent = function(mainType, idx) {
+      var list2 = this._componentsMap.get(mainType);
+      if (list2) {
+        var cmpt = list2[idx || 0];
+        if (cmpt) {
+          return cmpt;
+        } else if (idx == null) {
+          for (var i2 = 0; i2 < list2.length; i2++) {
+            if (list2[i2]) {
+              return list2[i2];
+            }
+          }
+        }
+      }
+    };
+    GlobalModel2.prototype.queryComponents = function(condition) {
+      var mainType = condition.mainType;
+      if (!mainType) {
+        return [];
+      }
+      var index3 = condition.index;
+      var id = condition.id;
+      var name2 = condition.name;
+      var cmpts = this._componentsMap.get(mainType);
+      if (!cmpts || !cmpts.length) {
+        return [];
+      }
+      var result2;
+      if (index3 != null) {
+        result2 = [];
+        each$f(normalizeToArray(index3), function(idx) {
+          cmpts[idx] && result2.push(cmpts[idx]);
+        });
+      } else if (id != null) {
+        result2 = queryByIdOrName("id", id, cmpts);
+      } else if (name2 != null) {
+        result2 = queryByIdOrName("name", name2, cmpts);
+      } else {
+        result2 = filter(cmpts, function(cmpt) {
+          return !!cmpt;
+        });
+      }
+      return filterBySubType(result2, condition);
+    };
+    GlobalModel2.prototype.findComponents = function(condition) {
+      var query = condition.query;
+      var mainType = condition.mainType;
+      var queryCond = getQueryCond(query);
+      var result2 = queryCond ? this.queryComponents(queryCond) : filter(this._componentsMap.get(mainType), function(cmpt) {
+        return !!cmpt;
+      });
+      return doFilter(filterBySubType(result2, condition));
+      function getQueryCond(q2) {
+        var indexAttr = mainType + "Index";
+        var idAttr = mainType + "Id";
+        var nameAttr = mainType + "Name";
+        return q2 && (q2[indexAttr] != null || q2[idAttr] != null || q2[nameAttr] != null) ? {
+          mainType,
+          // subType will be filtered finally.
+          index: q2[indexAttr],
+          id: q2[idAttr],
+          name: q2[nameAttr]
+        } : null;
+      }
+      function doFilter(res) {
+        return condition.filter ? filter(res, condition.filter) : res;
+      }
+    };
+    GlobalModel2.prototype.eachComponent = function(mainType, cb, context) {
+      var componentsMap = this._componentsMap;
+      if (isFunction$1(mainType)) {
+        var ctxForAll_1 = cb;
+        var cbForAll_1 = mainType;
+        componentsMap.each(function(cmpts2, componentType) {
+          for (var i3 = 0; cmpts2 && i3 < cmpts2.length; i3++) {
+            var cmpt2 = cmpts2[i3];
+            cmpt2 && cbForAll_1.call(ctxForAll_1, componentType, cmpt2, cmpt2.componentIndex);
+          }
+        });
+      } else {
+        var cmpts = isString$1(mainType) ? componentsMap.get(mainType) : isObject$4(mainType) ? this.findComponents(mainType) : null;
+        for (var i2 = 0; cmpts && i2 < cmpts.length; i2++) {
+          var cmpt = cmpts[i2];
+          cmpt && cb.call(context, cmpt, cmpt.componentIndex);
+        }
+      }
+    };
+    GlobalModel2.prototype.getSeriesByName = function(name2) {
+      var nameStr = convertOptionIdName(name2, null);
+      return filter(this._componentsMap.get("series"), function(oneSeries) {
+        return !!oneSeries && nameStr != null && oneSeries.name === nameStr;
+      });
+    };
+    GlobalModel2.prototype.getSeriesByIndex = function(seriesIndex) {
+      return this._componentsMap.get("series")[seriesIndex];
+    };
+    GlobalModel2.prototype.getSeriesByType = function(subType) {
+      return filter(this._componentsMap.get("series"), function(oneSeries) {
+        return !!oneSeries && oneSeries.subType === subType;
+      });
+    };
+    GlobalModel2.prototype.getSeries = function() {
+      return filter(this._componentsMap.get("series"), function(oneSeries) {
+        return !!oneSeries;
+      });
+    };
+    GlobalModel2.prototype.getSeriesCount = function() {
+      return this._componentsCount.get("series");
+    };
+    GlobalModel2.prototype.eachSeries = function(cb, context) {
+      assertSeriesInitialized(this);
+      each$f(this._seriesIndices, function(rawSeriesIndex) {
+        var series = this._componentsMap.get("series")[rawSeriesIndex];
+        cb.call(context, series, rawSeriesIndex);
+      }, this);
+    };
+    GlobalModel2.prototype.eachRawSeries = function(cb, context) {
+      each$f(this._componentsMap.get("series"), function(series) {
+        series && cb.call(context, series, series.componentIndex);
+      });
+    };
+    GlobalModel2.prototype.eachSeriesByType = function(subType, cb, context) {
+      assertSeriesInitialized(this);
+      each$f(this._seriesIndices, function(rawSeriesIndex) {
+        var series = this._componentsMap.get("series")[rawSeriesIndex];
+        if (series.subType === subType) {
+          cb.call(context, series, rawSeriesIndex);
+        }
+      }, this);
+    };
+    GlobalModel2.prototype.eachRawSeriesByType = function(subType, cb, context) {
+      return each$f(this.getSeriesByType(subType), cb, context);
+    };
+    GlobalModel2.prototype.isSeriesFiltered = function(seriesModel) {
+      assertSeriesInitialized(this);
+      return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;
+    };
+    GlobalModel2.prototype.getCurrentSeriesIndices = function() {
+      return (this._seriesIndices || []).slice();
+    };
+    GlobalModel2.prototype.filterSeries = function(cb, context) {
+      assertSeriesInitialized(this);
+      var newSeriesIndices = [];
+      each$f(this._seriesIndices, function(seriesRawIdx) {
+        var series = this._componentsMap.get("series")[seriesRawIdx];
+        cb.call(context, series, seriesRawIdx) && newSeriesIndices.push(seriesRawIdx);
+      }, this);
+      this._seriesIndices = newSeriesIndices;
+      this._seriesIndicesMap = createHashMap(newSeriesIndices);
+    };
+    GlobalModel2.prototype.restoreData = function(payload) {
+      reCreateSeriesIndices(this);
+      var componentsMap = this._componentsMap;
+      var componentTypes = [];
+      componentsMap.each(function(components, componentType) {
+        if (ComponentModel$1.hasClass(componentType)) {
+          componentTypes.push(componentType);
+        }
+      });
+      ComponentModel$1.topologicalTravel(componentTypes, ComponentModel$1.getAllClassMainTypes(), function(componentType) {
+        each$f(componentsMap.get(componentType), function(component2) {
+          if (component2 && (componentType !== "series" || !isNotTargetSeries(component2, payload))) {
+            component2.restoreData();
+          }
+        });
+      });
+    };
+    GlobalModel2.internalField = function() {
+      reCreateSeriesIndices = function(ecModel) {
+        var seriesIndices = ecModel._seriesIndices = [];
+        each$f(ecModel._componentsMap.get("series"), function(series) {
+          series && seriesIndices.push(series.componentIndex);
+        });
+        ecModel._seriesIndicesMap = createHashMap(seriesIndices);
+      };
+      assertSeriesInitialized = function(ecModel) {
+      };
+      initBase$1 = function(ecModel, baseOption) {
+        ecModel.option = {};
+        ecModel.option[OPTION_INNER_KEY] = OPTION_INNER_VALUE;
+        ecModel._componentsMap = createHashMap({
+          series: []
+        });
+        ecModel._componentsCount = createHashMap();
+        var airaOption = baseOption.aria;
+        if (isObject$4(airaOption) && airaOption.enabled == null) {
+          airaOption.enabled = true;
+        }
+        mergeTheme(baseOption, ecModel._theme.option);
+        merge$1(baseOption, globalDefault, false);
+        ecModel._mergeOption(baseOption, null);
+      };
+    }();
+    return GlobalModel2;
+  }(Model$1)
+);
+function isNotTargetSeries(seriesModel, payload) {
+  if (payload) {
+    var index3 = payload.seriesIndex;
+    var id = payload.seriesId;
+    var name_1 = payload.seriesName;
+    return index3 != null && seriesModel.componentIndex !== index3 || id != null && seriesModel.id !== id || name_1 != null && seriesModel.name !== name_1;
+  }
+}
+function mergeTheme(option, theme2) {
+  var notMergeColorLayer = option.color && !option.colorLayer;
+  each$f(theme2, function(themeItem, name2) {
+    if (name2 === "colorLayer" && notMergeColorLayer) {
+      return;
+    }
+    if (!ComponentModel$1.hasClass(name2)) {
+      if (typeof themeItem === "object") {
+        option[name2] = !option[name2] ? clone$4(themeItem) : merge$1(option[name2], themeItem, false);
+      } else {
+        if (option[name2] == null) {
+          option[name2] = themeItem;
+        }
+      }
+    }
+  });
+}
+function queryByIdOrName(attr, idOrName, cmpts) {
+  if (isArray$2(idOrName)) {
+    var keyMap_1 = createHashMap();
+    each$f(idOrName, function(idOrNameItem) {
+      if (idOrNameItem != null) {
+        var idName = convertOptionIdName(idOrNameItem, null);
+        idName != null && keyMap_1.set(idOrNameItem, true);
+      }
+    });
+    return filter(cmpts, function(cmpt) {
+      return cmpt && keyMap_1.get(cmpt[attr]);
+    });
+  } else {
+    var idName_1 = convertOptionIdName(idOrName, null);
+    return filter(cmpts, function(cmpt) {
+      return cmpt && idName_1 != null && cmpt[attr] === idName_1;
+    });
+  }
+}
+function filterBySubType(components, condition) {
+  return condition.hasOwnProperty("subType") ? filter(components, function(cmpt) {
+    return cmpt && cmpt.subType === condition.subType;
+  }) : components;
+}
+function normalizeSetOptionInput(opts2) {
+  var replaceMergeMainTypeMap = createHashMap();
+  opts2 && each$f(normalizeToArray(opts2.replaceMerge), function(mainType) {
+    replaceMergeMainTypeMap.set(mainType, true);
+  });
+  return {
+    replaceMergeMainTypeMap
+  };
+}
+mixin(GlobalModel, PaletteMixin);
+const GlobalModel$1 = GlobalModel;
+var availableMethods = [
+  "getDom",
+  "getZr",
+  "getWidth",
+  "getHeight",
+  "getDevicePixelRatio",
+  "dispatchAction",
+  "isSSR",
+  "isDisposed",
+  "on",
+  "off",
+  "getDataURL",
+  "getConnectedDataURL",
+  // 'getModel',
+  "getOption",
+  // 'getViewOfComponentModel',
+  // 'getViewOfSeriesModel',
+  "getId",
+  "updateLabelLayout"
+];
+var ExtensionAPI = (
+  /** @class */
+  function() {
+    function ExtensionAPI2(ecInstance) {
+      each$f(availableMethods, function(methodName) {
+        this[methodName] = bind$2(ecInstance[methodName], ecInstance);
+      }, this);
+    }
+    return ExtensionAPI2;
+  }()
+);
+const ExtensionAPI$1 = ExtensionAPI;
+var coordinateSystemCreators = {};
+var CoordinateSystemManager = (
+  /** @class */
+  function() {
+    function CoordinateSystemManager2() {
+      this._coordinateSystems = [];
+    }
+    CoordinateSystemManager2.prototype.create = function(ecModel, api2) {
+      var coordinateSystems = [];
+      each$f(coordinateSystemCreators, function(creator, type2) {
+        var list2 = creator.create(ecModel, api2);
+        coordinateSystems = coordinateSystems.concat(list2 || []);
+      });
+      this._coordinateSystems = coordinateSystems;
+    };
+    CoordinateSystemManager2.prototype.update = function(ecModel, api2) {
+      each$f(this._coordinateSystems, function(coordSys) {
+        coordSys.update && coordSys.update(ecModel, api2);
+      });
+    };
+    CoordinateSystemManager2.prototype.getCoordinateSystems = function() {
+      return this._coordinateSystems.slice();
+    };
+    CoordinateSystemManager2.register = function(type2, creator) {
+      coordinateSystemCreators[type2] = creator;
+    };
+    CoordinateSystemManager2.get = function(type2) {
+      return coordinateSystemCreators[type2];
+    };
+    return CoordinateSystemManager2;
+  }()
+);
+const CoordinateSystem = CoordinateSystemManager;
+var QUERY_REG = /^(min|max)?(.+)$/;
+var OptionManager = (
+  /** @class */
+  function() {
+    function OptionManager2(api2) {
+      this._timelineOptions = [];
+      this._mediaList = [];
+      this._currentMediaIndices = [];
+      this._api = api2;
+    }
+    OptionManager2.prototype.setOption = function(rawOption, optionPreprocessorFuncs2, opt) {
+      if (rawOption) {
+        each$f(normalizeToArray(rawOption.series), function(series) {
+          series && series.data && isTypedArray$1(series.data) && setAsPrimitive(series.data);
+        });
+        each$f(normalizeToArray(rawOption.dataset), function(dataset2) {
+          dataset2 && dataset2.source && isTypedArray$1(dataset2.source) && setAsPrimitive(dataset2.source);
+        });
+      }
+      rawOption = clone$4(rawOption);
+      var optionBackup = this._optionBackup;
+      var newParsedOption = parseRawOption(rawOption, optionPreprocessorFuncs2, !optionBackup);
+      this._newBaseOption = newParsedOption.baseOption;
+      if (optionBackup) {
+        if (newParsedOption.timelineOptions.length) {
+          optionBackup.timelineOptions = newParsedOption.timelineOptions;
+        }
+        if (newParsedOption.mediaList.length) {
+          optionBackup.mediaList = newParsedOption.mediaList;
+        }
+        if (newParsedOption.mediaDefault) {
+          optionBackup.mediaDefault = newParsedOption.mediaDefault;
+        }
+      } else {
+        this._optionBackup = newParsedOption;
+      }
+    };
+    OptionManager2.prototype.mountOption = function(isRecreate) {
+      var optionBackup = this._optionBackup;
+      this._timelineOptions = optionBackup.timelineOptions;
+      this._mediaList = optionBackup.mediaList;
+      this._mediaDefault = optionBackup.mediaDefault;
+      this._currentMediaIndices = [];
+      return clone$4(isRecreate ? optionBackup.baseOption : this._newBaseOption);
+    };
+    OptionManager2.prototype.getTimelineOption = function(ecModel) {
+      var option;
+      var timelineOptions = this._timelineOptions;
+      if (timelineOptions.length) {
+        var timelineModel = ecModel.getComponent("timeline");
+        if (timelineModel) {
+          option = clone$4(
+            // FIXME:TS as TimelineModel or quivlant interface
+            timelineOptions[timelineModel.getCurrentIndex()]
+          );
+        }
+      }
+      return option;
+    };
+    OptionManager2.prototype.getMediaOption = function(ecModel) {
+      var ecWidth = this._api.getWidth();
+      var ecHeight = this._api.getHeight();
+      var mediaList = this._mediaList;
+      var mediaDefault = this._mediaDefault;
+      var indices = [];
+      var result2 = [];
+      if (!mediaList.length && !mediaDefault) {
+        return result2;
+      }
+      for (var i2 = 0, len2 = mediaList.length; i2 < len2; i2++) {
+        if (applyMediaQuery(mediaList[i2].query, ecWidth, ecHeight)) {
+          indices.push(i2);
+        }
+      }
+      if (!indices.length && mediaDefault) {
+        indices = [-1];
+      }
+      if (indices.length && !indicesEquals(indices, this._currentMediaIndices)) {
+        result2 = map$1(indices, function(index3) {
+          return clone$4(index3 === -1 ? mediaDefault.option : mediaList[index3].option);
+        });
+      }
+      this._currentMediaIndices = indices;
+      return result2;
+    };
+    return OptionManager2;
+  }()
+);
+function parseRawOption(rawOption, optionPreprocessorFuncs2, isNew) {
+  var mediaList = [];
+  var mediaDefault;
+  var baseOption;
+  var declaredBaseOption = rawOption.baseOption;
+  var timelineOnRoot = rawOption.timeline;
+  var timelineOptionsOnRoot = rawOption.options;
+  var mediaOnRoot = rawOption.media;
+  var hasMedia = !!rawOption.media;
+  var hasTimeline = !!(timelineOptionsOnRoot || timelineOnRoot || declaredBaseOption && declaredBaseOption.timeline);
+  if (declaredBaseOption) {
+    baseOption = declaredBaseOption;
+    if (!baseOption.timeline) {
+      baseOption.timeline = timelineOnRoot;
+    }
+  } else {
+    if (hasTimeline || hasMedia) {
+      rawOption.options = rawOption.media = null;
+    }
+    baseOption = rawOption;
+  }
+  if (hasMedia) {
+    if (isArray$2(mediaOnRoot)) {
+      each$f(mediaOnRoot, function(singleMedia) {
+        if (singleMedia && singleMedia.option) {
+          if (singleMedia.query) {
+            mediaList.push(singleMedia);
+          } else if (!mediaDefault) {
+            mediaDefault = singleMedia;
+          }
+        }
+      });
+    }
+  }
+  doPreprocess(baseOption);
+  each$f(timelineOptionsOnRoot, function(option) {
+    return doPreprocess(option);
+  });
+  each$f(mediaList, function(media) {
+    return doPreprocess(media.option);
+  });
+  function doPreprocess(option) {
+    each$f(optionPreprocessorFuncs2, function(preProcess) {
+      preProcess(option, isNew);
+    });
+  }
+  return {
+    baseOption,
+    timelineOptions: timelineOptionsOnRoot || [],
+    mediaDefault,
+    mediaList
+  };
+}
+function applyMediaQuery(query, ecWidth, ecHeight) {
+  var realMap = {
+    width: ecWidth,
+    height: ecHeight,
+    aspectratio: ecWidth / ecHeight
+    // lower case for convenience.
+  };
+  var applicable = true;
+  each$f(query, function(value, attr) {
+    var matched = attr.match(QUERY_REG);
+    if (!matched || !matched[1] || !matched[2]) {
+      return;
+    }
+    var operator = matched[1];
+    var realAttr = matched[2].toLowerCase();
+    if (!compare(realMap[realAttr], value, operator)) {
+      applicable = false;
+    }
+  });
+  return applicable;
+}
+function compare(real, expect, operator) {
+  if (operator === "min") {
+    return real >= expect;
+  } else if (operator === "max") {
+    return real <= expect;
+  } else {
+    return real === expect;
+  }
+}
+function indicesEquals(indices1, indices2) {
+  return indices1.join(",") === indices2.join(",");
+}
+const OptionManager$1 = OptionManager;
+var each$d = each$f;
+var isObject$3 = isObject$4;
+var POSSIBLE_STYLES = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"];
+function compatEC2ItemStyle(opt) {
+  var itemStyleOpt = opt && opt.itemStyle;
+  if (!itemStyleOpt) {
+    return;
+  }
+  for (var i2 = 0, len2 = POSSIBLE_STYLES.length; i2 < len2; i2++) {
+    var styleName = POSSIBLE_STYLES[i2];
+    var normalItemStyleOpt = itemStyleOpt.normal;
+    var emphasisItemStyleOpt = itemStyleOpt.emphasis;
+    if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {
+      opt[styleName] = opt[styleName] || {};
+      if (!opt[styleName].normal) {
+        opt[styleName].normal = normalItemStyleOpt[styleName];
+      } else {
+        merge$1(opt[styleName].normal, normalItemStyleOpt[styleName]);
+      }
+      normalItemStyleOpt[styleName] = null;
+    }
+    if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {
+      opt[styleName] = opt[styleName] || {};
+      if (!opt[styleName].emphasis) {
+        opt[styleName].emphasis = emphasisItemStyleOpt[styleName];
+      } else {
+        merge$1(opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);
+      }
+      emphasisItemStyleOpt[styleName] = null;
+    }
+  }
+}
+function convertNormalEmphasis(opt, optType, useExtend) {
+  if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {
+    var normalOpt = opt[optType].normal;
+    var emphasisOpt = opt[optType].emphasis;
+    if (normalOpt) {
+      if (useExtend) {
+        opt[optType].normal = opt[optType].emphasis = null;
+        defaults$2(opt[optType], normalOpt);
+      } else {
+        opt[optType] = normalOpt;
+      }
+    }
+    if (emphasisOpt) {
+      opt.emphasis = opt.emphasis || {};
+      opt.emphasis[optType] = emphasisOpt;
+      if (emphasisOpt.focus) {
+        opt.emphasis.focus = emphasisOpt.focus;
+      }
+      if (emphasisOpt.blurScope) {
+        opt.emphasis.blurScope = emphasisOpt.blurScope;
+      }
+    }
+  }
+}
+function removeEC3NormalStatus(opt) {
+  convertNormalEmphasis(opt, "itemStyle");
+  convertNormalEmphasis(opt, "lineStyle");
+  convertNormalEmphasis(opt, "areaStyle");
+  convertNormalEmphasis(opt, "label");
+  convertNormalEmphasis(opt, "labelLine");
+  convertNormalEmphasis(opt, "upperLabel");
+  convertNormalEmphasis(opt, "edgeLabel");
+}
+function compatTextStyle(opt, propName) {
+  var labelOptSingle = isObject$3(opt) && opt[propName];
+  var textStyle2 = isObject$3(labelOptSingle) && labelOptSingle.textStyle;
+  if (textStyle2) {
+    for (var i2 = 0, len2 = TEXT_STYLE_OPTIONS.length; i2 < len2; i2++) {
+      var textPropName = TEXT_STYLE_OPTIONS[i2];
+      if (textStyle2.hasOwnProperty(textPropName)) {
+        labelOptSingle[textPropName] = textStyle2[textPropName];
+      }
+    }
+  }
+}
+function compatEC3CommonStyles(opt) {
+  if (opt) {
+    removeEC3NormalStatus(opt);
+    compatTextStyle(opt, "label");
+    opt.emphasis && compatTextStyle(opt.emphasis, "label");
+  }
+}
+function processSeries(seriesOpt) {
+  if (!isObject$3(seriesOpt)) {
+    return;
+  }
+  compatEC2ItemStyle(seriesOpt);
+  removeEC3NormalStatus(seriesOpt);
+  compatTextStyle(seriesOpt, "label");
+  compatTextStyle(seriesOpt, "upperLabel");
+  compatTextStyle(seriesOpt, "edgeLabel");
+  if (seriesOpt.emphasis) {
+    compatTextStyle(seriesOpt.emphasis, "label");
+    compatTextStyle(seriesOpt.emphasis, "upperLabel");
+    compatTextStyle(seriesOpt.emphasis, "edgeLabel");
+  }
+  var markPoint2 = seriesOpt.markPoint;
+  if (markPoint2) {
+    compatEC2ItemStyle(markPoint2);
+    compatEC3CommonStyles(markPoint2);
+  }
+  var markLine2 = seriesOpt.markLine;
+  if (markLine2) {
+    compatEC2ItemStyle(markLine2);
+    compatEC3CommonStyles(markLine2);
+  }
+  var markArea2 = seriesOpt.markArea;
+  if (markArea2) {
+    compatEC3CommonStyles(markArea2);
+  }
+  var data2 = seriesOpt.data;
+  if (seriesOpt.type === "graph") {
+    data2 = data2 || seriesOpt.nodes;
+    var edgeData = seriesOpt.links || seriesOpt.edges;
+    if (edgeData && !isTypedArray$1(edgeData)) {
+      for (var i2 = 0; i2 < edgeData.length; i2++) {
+        compatEC3CommonStyles(edgeData[i2]);
+      }
+    }
+    each$f(seriesOpt.categories, function(opt) {
+      removeEC3NormalStatus(opt);
+    });
+  }
+  if (data2 && !isTypedArray$1(data2)) {
+    for (var i2 = 0; i2 < data2.length; i2++) {
+      compatEC3CommonStyles(data2[i2]);
+    }
+  }
+  markPoint2 = seriesOpt.markPoint;
+  if (markPoint2 && markPoint2.data) {
+    var mpData = markPoint2.data;
+    for (var i2 = 0; i2 < mpData.length; i2++) {
+      compatEC3CommonStyles(mpData[i2]);
+    }
+  }
+  markLine2 = seriesOpt.markLine;
+  if (markLine2 && markLine2.data) {
+    var mlData = markLine2.data;
+    for (var i2 = 0; i2 < mlData.length; i2++) {
+      if (isArray$2(mlData[i2])) {
+        compatEC3CommonStyles(mlData[i2][0]);
+        compatEC3CommonStyles(mlData[i2][1]);
+      } else {
+        compatEC3CommonStyles(mlData[i2]);
+      }
+    }
+  }
+  if (seriesOpt.type === "gauge") {
+    compatTextStyle(seriesOpt, "axisLabel");
+    compatTextStyle(seriesOpt, "title");
+    compatTextStyle(seriesOpt, "detail");
+  } else if (seriesOpt.type === "treemap") {
+    convertNormalEmphasis(seriesOpt.breadcrumb, "itemStyle");
+    each$f(seriesOpt.levels, function(opt) {
+      removeEC3NormalStatus(opt);
+    });
+  } else if (seriesOpt.type === "tree") {
+    removeEC3NormalStatus(seriesOpt.leaves);
+  }
+}
+function toArr(o2) {
+  return isArray$2(o2) ? o2 : o2 ? [o2] : [];
+}
+function toObj(o2) {
+  return (isArray$2(o2) ? o2[0] : o2) || {};
+}
+function globalCompatStyle(option, isTheme) {
+  each$d(toArr(option.series), function(seriesOpt) {
+    isObject$3(seriesOpt) && processSeries(seriesOpt);
+  });
+  var axes = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"];
+  isTheme && axes.push("valueAxis", "categoryAxis", "logAxis", "timeAxis");
+  each$d(axes, function(axisName) {
+    each$d(toArr(option[axisName]), function(axisOpt) {
+      if (axisOpt) {
+        compatTextStyle(axisOpt, "axisLabel");
+        compatTextStyle(axisOpt.axisPointer, "label");
+      }
+    });
+  });
+  each$d(toArr(option.parallel), function(parallelOpt) {
+    var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;
+    compatTextStyle(parallelAxisDefault, "axisLabel");
+    compatTextStyle(parallelAxisDefault && parallelAxisDefault.axisPointer, "label");
+  });
+  each$d(toArr(option.calendar), function(calendarOpt) {
+    convertNormalEmphasis(calendarOpt, "itemStyle");
+    compatTextStyle(calendarOpt, "dayLabel");
+    compatTextStyle(calendarOpt, "monthLabel");
+    compatTextStyle(calendarOpt, "yearLabel");
+  });
+  each$d(toArr(option.radar), function(radarOpt) {
+    compatTextStyle(radarOpt, "name");
+    if (radarOpt.name && radarOpt.axisName == null) {
+      radarOpt.axisName = radarOpt.name;
+      delete radarOpt.name;
+    }
+    if (radarOpt.nameGap != null && radarOpt.axisNameGap == null) {
+      radarOpt.axisNameGap = radarOpt.nameGap;
+      delete radarOpt.nameGap;
+    }
+  });
+  each$d(toArr(option.geo), function(geoOpt) {
+    if (isObject$3(geoOpt)) {
+      compatEC3CommonStyles(geoOpt);
+      each$d(toArr(geoOpt.regions), function(regionObj) {
+        compatEC3CommonStyles(regionObj);
+      });
+    }
+  });
+  each$d(toArr(option.timeline), function(timelineOpt) {
+    compatEC3CommonStyles(timelineOpt);
+    convertNormalEmphasis(timelineOpt, "label");
+    convertNormalEmphasis(timelineOpt, "itemStyle");
+    convertNormalEmphasis(timelineOpt, "controlStyle", true);
+    var data2 = timelineOpt.data;
+    isArray$2(data2) && each$f(data2, function(item) {
+      if (isObject$4(item)) {
+        convertNormalEmphasis(item, "label");
+        convertNormalEmphasis(item, "itemStyle");
+      }
+    });
+  });
+  each$d(toArr(option.toolbox), function(toolboxOpt) {
+    convertNormalEmphasis(toolboxOpt, "iconStyle");
+    each$d(toolboxOpt.feature, function(featureOpt) {
+      convertNormalEmphasis(featureOpt, "iconStyle");
+    });
+  });
+  compatTextStyle(toObj(option.axisPointer), "label");
+  compatTextStyle(toObj(option.tooltip).axisPointer, "label");
+}
+function get(opt, path2) {
+  var pathArr = path2.split(",");
+  var obj2 = opt;
+  for (var i2 = 0; i2 < pathArr.length; i2++) {
+    obj2 = obj2 && obj2[pathArr[i2]];
+    if (obj2 == null) {
+      break;
+    }
+  }
+  return obj2;
+}
+function set(opt, path2, val, overwrite) {
+  var pathArr = path2.split(",");
+  var obj2 = opt;
+  var key2;
+  var i2 = 0;
+  for (; i2 < pathArr.length - 1; i2++) {
+    key2 = pathArr[i2];
+    if (obj2[key2] == null) {
+      obj2[key2] = {};
+    }
+    obj2 = obj2[key2];
+  }
+  if (overwrite || obj2[pathArr[i2]] == null) {
+    obj2[pathArr[i2]] = val;
+  }
+}
+function compatLayoutProperties(option) {
+  option && each$f(LAYOUT_PROPERTIES, function(prop2) {
+    if (prop2[0] in option && !(prop2[1] in option)) {
+      option[prop2[1]] = option[prop2[0]];
+    }
+  });
+}
+var LAYOUT_PROPERTIES = [["x", "left"], ["y", "top"], ["x2", "right"], ["y2", "bottom"]];
+var COMPATITABLE_COMPONENTS = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"];
+var BAR_ITEM_STYLE_MAP = [["borderRadius", "barBorderRadius"], ["borderColor", "barBorderColor"], ["borderWidth", "barBorderWidth"]];
+function compatBarItemStyle(option) {
+  var itemStyle2 = option && option.itemStyle;
+  if (itemStyle2) {
+    for (var i2 = 0; i2 < BAR_ITEM_STYLE_MAP.length; i2++) {
+      var oldName = BAR_ITEM_STYLE_MAP[i2][1];
+      var newName = BAR_ITEM_STYLE_MAP[i2][0];
+      if (itemStyle2[oldName] != null) {
+        itemStyle2[newName] = itemStyle2[oldName];
+      }
+    }
+  }
+}
+function compatPieLabel(option) {
+  if (!option) {
+    return;
+  }
+  if (option.alignTo === "edge" && option.margin != null && option.edgeDistance == null) {
+    option.edgeDistance = option.margin;
+  }
+}
+function compatSunburstState(option) {
+  if (!option) {
+    return;
+  }
+  if (option.downplay && !option.blur) {
+    option.blur = option.downplay;
+  }
+}
+function compatGraphFocus(option) {
+  if (!option) {
+    return;
+  }
+  if (option.focusNodeAdjacency != null) {
+    option.emphasis = option.emphasis || {};
+    if (option.emphasis.focus == null) {
+      option.emphasis.focus = "adjacency";
+    }
+  }
+}
+function traverseTree(data2, cb) {
+  if (data2) {
+    for (var i2 = 0; i2 < data2.length; i2++) {
+      cb(data2[i2]);
+      data2[i2] && traverseTree(data2[i2].children, cb);
+    }
+  }
+}
+function globalBackwardCompat(option, isTheme) {
+  globalCompatStyle(option, isTheme);
+  option.series = normalizeToArray(option.series);
+  each$f(option.series, function(seriesOpt) {
+    if (!isObject$4(seriesOpt)) {
+      return;
+    }
+    var seriesType2 = seriesOpt.type;
+    if (seriesType2 === "line") {
+      if (seriesOpt.clipOverflow != null) {
+        seriesOpt.clip = seriesOpt.clipOverflow;
+      }
+    } else if (seriesType2 === "pie" || seriesType2 === "gauge") {
+      if (seriesOpt.clockWise != null) {
+        seriesOpt.clockwise = seriesOpt.clockWise;
+      }
+      compatPieLabel(seriesOpt.label);
+      var data2 = seriesOpt.data;
+      if (data2 && !isTypedArray$1(data2)) {
+        for (var i2 = 0; i2 < data2.length; i2++) {
+          compatPieLabel(data2[i2]);
+        }
+      }
+      if (seriesOpt.hoverOffset != null) {
+        seriesOpt.emphasis = seriesOpt.emphasis || {};
+        if (seriesOpt.emphasis.scaleSize = null) {
+          seriesOpt.emphasis.scaleSize = seriesOpt.hoverOffset;
+        }
+      }
+    } else if (seriesType2 === "gauge") {
+      var pointerColor = get(seriesOpt, "pointer.color");
+      pointerColor != null && set(seriesOpt, "itemStyle.color", pointerColor);
+    } else if (seriesType2 === "bar") {
+      compatBarItemStyle(seriesOpt);
+      compatBarItemStyle(seriesOpt.backgroundStyle);
+      compatBarItemStyle(seriesOpt.emphasis);
+      var data2 = seriesOpt.data;
+      if (data2 && !isTypedArray$1(data2)) {
+        for (var i2 = 0; i2 < data2.length; i2++) {
+          if (typeof data2[i2] === "object") {
+            compatBarItemStyle(data2[i2]);
+            compatBarItemStyle(data2[i2] && data2[i2].emphasis);
+          }
+        }
+      }
+    } else if (seriesType2 === "sunburst") {
+      var highlightPolicy = seriesOpt.highlightPolicy;
+      if (highlightPolicy) {
+        seriesOpt.emphasis = seriesOpt.emphasis || {};
+        if (!seriesOpt.emphasis.focus) {
+          seriesOpt.emphasis.focus = highlightPolicy;
+        }
+      }
+      compatSunburstState(seriesOpt);
+      traverseTree(seriesOpt.data, compatSunburstState);
+    } else if (seriesType2 === "graph" || seriesType2 === "sankey") {
+      compatGraphFocus(seriesOpt);
+    } else if (seriesType2 === "map") {
+      if (seriesOpt.mapType && !seriesOpt.map) {
+        seriesOpt.map = seriesOpt.mapType;
+      }
+      if (seriesOpt.mapLocation) {
+        defaults$2(seriesOpt, seriesOpt.mapLocation);
+      }
+    }
+    if (seriesOpt.hoverAnimation != null) {
+      seriesOpt.emphasis = seriesOpt.emphasis || {};
+      if (seriesOpt.emphasis && seriesOpt.emphasis.scale == null) {
+        seriesOpt.emphasis.scale = seriesOpt.hoverAnimation;
+      }
+    }
+    compatLayoutProperties(seriesOpt);
+  });
+  if (option.dataRange) {
+    option.visualMap = option.dataRange;
+  }
+  each$f(COMPATITABLE_COMPONENTS, function(componentName) {
+    var options2 = option[componentName];
+    if (options2) {
+      if (!isArray$2(options2)) {
+        options2 = [options2];
+      }
+      each$f(options2, function(option2) {
+        compatLayoutProperties(option2);
+      });
+    }
+  });
+}
+function dataStack$1(ecModel) {
+  var stackInfoMap = createHashMap();
+  ecModel.eachSeries(function(seriesModel) {
+    var stack = seriesModel.get("stack");
+    if (stack) {
+      var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);
+      var data2 = seriesModel.getData();
+      var stackInfo = {
+        // Used for calculate axis extent automatically.
+        // TODO: Type getCalculationInfo return more specific type?
+        stackResultDimension: data2.getCalculationInfo("stackResultDimension"),
+        stackedOverDimension: data2.getCalculationInfo("stackedOverDimension"),
+        stackedDimension: data2.getCalculationInfo("stackedDimension"),
+        stackedByDimension: data2.getCalculationInfo("stackedByDimension"),
+        isStackedByIndex: data2.getCalculationInfo("isStackedByIndex"),
+        data: data2,
+        seriesModel
+      };
+      if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {
+        return;
+      }
+      stackInfoList.length && data2.setCalculationInfo("stackedOnSeries", stackInfoList[stackInfoList.length - 1].seriesModel);
+      stackInfoList.push(stackInfo);
+    }
+  });
+  stackInfoMap.each(calculateStack);
+}
+function calculateStack(stackInfoList) {
+  each$f(stackInfoList, function(targetStackInfo, idxInStack) {
+    var resultVal = [];
+    var resultNaN = [NaN, NaN];
+    var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];
+    var targetData = targetStackInfo.data;
+    var isStackedByIndex = targetStackInfo.isStackedByIndex;
+    var stackStrategy = targetStackInfo.seriesModel.get("stackStrategy") || "samesign";
+    targetData.modify(dims, function(v0, v12, dataIndex) {
+      var sum2 = targetData.get(targetStackInfo.stackedDimension, dataIndex);
+      if (isNaN(sum2)) {
+        return resultNaN;
+      }
+      var byValue;
+      var stackedDataRawIndex;
+      if (isStackedByIndex) {
+        stackedDataRawIndex = targetData.getRawIndex(dataIndex);
+      } else {
+        byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);
+      }
+      var stackedOver = NaN;
+      for (var j2 = idxInStack - 1; j2 >= 0; j2--) {
+        var stackInfo = stackInfoList[j2];
+        if (!isStackedByIndex) {
+          stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);
+        }
+        if (stackedDataRawIndex >= 0) {
+          var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex);
+          if (stackStrategy === "all" || stackStrategy === "positive" && val > 0 || stackStrategy === "negative" && val < 0 || stackStrategy === "samesign" && sum2 >= 0 && val > 0 || stackStrategy === "samesign" && sum2 <= 0 && val < 0) {
+            sum2 = addSafe(sum2, val);
+            stackedOver = val;
+            break;
+          }
+        }
+      }
+      resultVal[0] = sum2;
+      resultVal[1] = stackedOver;
+      return resultVal;
+    });
+  });
+}
+var SourceImpl = (
+  /** @class */
+  function() {
+    function SourceImpl2(fields) {
+      this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);
+      this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN;
+      this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;
+      this.startIndex = fields.startIndex || 0;
+      this.dimensionsDetectedCount = fields.dimensionsDetectedCount;
+      this.metaRawOption = fields.metaRawOption;
+      var dimensionsDefine = this.dimensionsDefine = fields.dimensionsDefine;
+      if (dimensionsDefine) {
+        for (var i2 = 0; i2 < dimensionsDefine.length; i2++) {
+          var dim = dimensionsDefine[i2];
+          if (dim.type == null) {
+            if (guessOrdinal(this, i2) === BE_ORDINAL.Must) {
+              dim.type = "ordinal";
+            }
+          }
+        }
+      }
+    }
+    return SourceImpl2;
+  }()
+);
+function isSourceInstance(val) {
+  return val instanceof SourceImpl;
+}
+function createSource(sourceData, thisMetaRawOption, sourceFormat) {
+  sourceFormat = sourceFormat || detectSourceFormat(sourceData);
+  var seriesLayoutBy = thisMetaRawOption.seriesLayoutBy;
+  var determined = determineSourceDimensions(sourceData, sourceFormat, seriesLayoutBy, thisMetaRawOption.sourceHeader, thisMetaRawOption.dimensions);
+  var source2 = new SourceImpl({
+    data: sourceData,
+    sourceFormat,
+    seriesLayoutBy,
+    dimensionsDefine: determined.dimensionsDefine,
+    startIndex: determined.startIndex,
+    dimensionsDetectedCount: determined.dimensionsDetectedCount,
+    metaRawOption: clone$4(thisMetaRawOption)
+  });
+  return source2;
+}
+function createSourceFromSeriesDataOption(data2) {
+  return new SourceImpl({
+    data: data2,
+    sourceFormat: isTypedArray$1(data2) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL
+  });
+}
+function cloneSourceShallow(source2) {
+  return new SourceImpl({
+    data: source2.data,
+    sourceFormat: source2.sourceFormat,
+    seriesLayoutBy: source2.seriesLayoutBy,
+    dimensionsDefine: clone$4(source2.dimensionsDefine),
+    startIndex: source2.startIndex,
+    dimensionsDetectedCount: source2.dimensionsDetectedCount
+  });
+}
+function detectSourceFormat(data2) {
+  var sourceFormat = SOURCE_FORMAT_UNKNOWN;
+  if (isTypedArray$1(data2)) {
+    sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;
+  } else if (isArray$2(data2)) {
+    if (data2.length === 0) {
+      sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;
+    }
+    for (var i2 = 0, len2 = data2.length; i2 < len2; i2++) {
+      var item = data2[i2];
+      if (item == null) {
+        continue;
+      } else if (isArray$2(item)) {
+        sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;
+        break;
+      } else if (isObject$4(item)) {
+        sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;
+        break;
+      }
+    }
+  } else if (isObject$4(data2)) {
+    for (var key2 in data2) {
+      if (hasOwn(data2, key2) && isArrayLike(data2[key2])) {
+        sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;
+        break;
+      }
+    }
+  }
+  return sourceFormat;
+}
+function determineSourceDimensions(data2, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {
+  var dimensionsDetectedCount;
+  var startIndex;
+  if (!data2) {
+    return {
+      dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),
+      startIndex,
+      dimensionsDetectedCount
+    };
+  }
+  if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {
+    var dataArrayRows = data2;
+    if (sourceHeader === "auto" || sourceHeader == null) {
+      arrayRowsTravelFirst(function(val) {
+        if (val != null && val !== "-") {
+          if (isString$1(val)) {
+            startIndex == null && (startIndex = 1);
+          } else {
+            startIndex = 0;
+          }
+        }
+      }, seriesLayoutBy, dataArrayRows, 10);
+    } else {
+      startIndex = isNumber$1(sourceHeader) ? sourceHeader : sourceHeader ? 1 : 0;
+    }
+    if (!dimensionsDefine && startIndex === 1) {
+      dimensionsDefine = [];
+      arrayRowsTravelFirst(function(val, index3) {
+        dimensionsDefine[index3] = val != null ? val + "" : "";
+      }, seriesLayoutBy, dataArrayRows, Infinity);
+    }
+    dimensionsDetectedCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? dataArrayRows.length : dataArrayRows[0] ? dataArrayRows[0].length : null;
+  } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {
+    if (!dimensionsDefine) {
+      dimensionsDefine = objectRowsCollectDimensions(data2);
+    }
+  } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {
+    if (!dimensionsDefine) {
+      dimensionsDefine = [];
+      each$f(data2, function(colArr, key2) {
+        dimensionsDefine.push(key2);
+      });
+    }
+  } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {
+    var value0 = getDataItemValue(data2[0]);
+    dimensionsDetectedCount = isArray$2(value0) && value0.length || 1;
+  } else
+    ;
+  return {
+    startIndex,
+    dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),
+    dimensionsDetectedCount
+  };
+}
+function objectRowsCollectDimensions(data2) {
+  var firstIndex = 0;
+  var obj2;
+  while (firstIndex < data2.length && !(obj2 = data2[firstIndex++])) {
+  }
+  if (obj2) {
+    return keys(obj2);
+  }
+}
+function normalizeDimensionsOption(dimensionsDefine) {
+  if (!dimensionsDefine) {
+    return;
+  }
+  var nameMap = createHashMap();
+  return map$1(dimensionsDefine, function(rawItem, index3) {
+    rawItem = isObject$4(rawItem) ? rawItem : {
+      name: rawItem
+    };
+    var item = {
+      name: rawItem.name,
+      displayName: rawItem.displayName,
+      type: rawItem.type
+    };
+    if (item.name == null) {
+      return item;
+    }
+    item.name += "";
+    if (item.displayName == null) {
+      item.displayName = item.name;
+    }
+    var exist = nameMap.get(item.name);
+    if (!exist) {
+      nameMap.set(item.name, {
+        count: 1
+      });
+    } else {
+      item.name += "-" + exist.count++;
+    }
+    return item;
+  });
+}
+function arrayRowsTravelFirst(cb, seriesLayoutBy, data2, maxLoop) {
+  if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {
+    for (var i2 = 0; i2 < data2.length && i2 < maxLoop; i2++) {
+      cb(data2[i2] ? data2[i2][0] : null, i2);
+    }
+  } else {
+    var value0 = data2[0] || [];
+    for (var i2 = 0; i2 < value0.length && i2 < maxLoop; i2++) {
+      cb(value0[i2], i2);
+    }
+  }
+}
+function shouldRetrieveDataByName(source2) {
+  var sourceFormat = source2.sourceFormat;
+  return sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS;
+}
+var _a, _b, _c;
+var providerMethods;
+var mountMethods;
+var DefaultDataProvider = (
+  /** @class */
+  function() {
+    function DefaultDataProvider2(sourceParam, dimSize) {
+      var source2 = !isSourceInstance(sourceParam) ? createSourceFromSeriesDataOption(sourceParam) : sourceParam;
+      this._source = source2;
+      var data2 = this._data = source2.data;
+      if (source2.sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {
+        this._offset = 0;
+        this._dimSize = dimSize;
+        this._data = data2;
+      }
+      mountMethods(this, data2, source2);
+    }
+    DefaultDataProvider2.prototype.getSource = function() {
+      return this._source;
+    };
+    DefaultDataProvider2.prototype.count = function() {
+      return 0;
+    };
+    DefaultDataProvider2.prototype.getItem = function(idx, out2) {
+      return;
+    };
+    DefaultDataProvider2.prototype.appendData = function(newData) {
+    };
+    DefaultDataProvider2.prototype.clean = function() {
+    };
+    DefaultDataProvider2.protoInitialize = function() {
+      var proto2 = DefaultDataProvider2.prototype;
+      proto2.pure = false;
+      proto2.persistent = true;
+    }();
+    DefaultDataProvider2.internalField = function() {
+      var _a2;
+      mountMethods = function(provider, data2, source2) {
+        var sourceFormat = source2.sourceFormat;
+        var seriesLayoutBy = source2.seriesLayoutBy;
+        var startIndex = source2.startIndex;
+        var dimsDef = source2.dimensionsDefine;
+        var methods2 = providerMethods[getMethodMapKey(sourceFormat, seriesLayoutBy)];
+        extend$1(provider, methods2);
+        if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {
+          provider.getItem = getItemForTypedArray;
+          provider.count = countForTypedArray;
+          provider.fillStorage = fillStorageForTypedArray;
+        } else {
+          var rawItemGetter = getRawSourceItemGetter(sourceFormat, seriesLayoutBy);
+          provider.getItem = bind$2(rawItemGetter, null, data2, startIndex, dimsDef);
+          var rawCounter = getRawSourceDataCounter(sourceFormat, seriesLayoutBy);
+          provider.count = bind$2(rawCounter, null, data2, startIndex, dimsDef);
+        }
+      };
+      var getItemForTypedArray = function(idx, out2) {
+        idx = idx - this._offset;
+        out2 = out2 || [];
+        var data2 = this._data;
+        var dimSize = this._dimSize;
+        var offset2 = dimSize * idx;
+        for (var i2 = 0; i2 < dimSize; i2++) {
+          out2[i2] = data2[offset2 + i2];
+        }
+        return out2;
+      };
+      var fillStorageForTypedArray = function(start2, end2, storage2, extent3) {
+        var data2 = this._data;
+        var dimSize = this._dimSize;
+        for (var dim = 0; dim < dimSize; dim++) {
+          var dimExtent = extent3[dim];
+          var min3 = dimExtent[0] == null ? Infinity : dimExtent[0];
+          var max3 = dimExtent[1] == null ? -Infinity : dimExtent[1];
+          var count2 = end2 - start2;
+          var arr = storage2[dim];
+          for (var i2 = 0; i2 < count2; i2++) {
+            var val = data2[i2 * dimSize + dim];
+            arr[start2 + i2] = val;
+            val < min3 && (min3 = val);
+            val > max3 && (max3 = val);
+          }
+          dimExtent[0] = min3;
+          dimExtent[1] = max3;
+        }
+      };
+      var countForTypedArray = function() {
+        return this._data ? this._data.length / this._dimSize : 0;
+      };
+      providerMethods = (_a2 = {}, _a2[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = {
+        pure: true,
+        appendData: appendDataSimply2
+      }, _a2[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = {
+        pure: true,
+        appendData: function() {
+          throw new Error('Do not support appendData when set seriesLayoutBy: "row".');
+        }
+      }, _a2[SOURCE_FORMAT_OBJECT_ROWS] = {
+        pure: true,
+        appendData: appendDataSimply2
+      }, _a2[SOURCE_FORMAT_KEYED_COLUMNS] = {
+        pure: true,
+        appendData: function(newData) {
+          var data2 = this._data;
+          each$f(newData, function(newCol, key2) {
+            var oldCol = data2[key2] || (data2[key2] = []);
+            for (var i2 = 0; i2 < (newCol || []).length; i2++) {
+              oldCol.push(newCol[i2]);
+            }
+          });
+        }
+      }, _a2[SOURCE_FORMAT_ORIGINAL] = {
+        appendData: appendDataSimply2
+      }, _a2[SOURCE_FORMAT_TYPED_ARRAY] = {
+        persistent: false,
+        pure: true,
+        appendData: function(newData) {
+          this._data = newData;
+        },
+        // Clean self if data is already used.
+        clean: function() {
+          this._offset += this.count();
+          this._data = null;
+        }
+      }, _a2);
+      function appendDataSimply2(newData) {
+        for (var i2 = 0; i2 < newData.length; i2++) {
+          this._data.push(newData[i2]);
+        }
+      }
+    }();
+    return DefaultDataProvider2;
+  }()
+);
+var getItemSimply = function(rawData, startIndex, dimsDef, idx) {
+  return rawData[idx];
+};
+var rawSourceItemGetterMap = (_a = {}, _a[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = function(rawData, startIndex, dimsDef, idx) {
+  return rawData[idx + startIndex];
+}, _a[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = function(rawData, startIndex, dimsDef, idx, out2) {
+  idx += startIndex;
+  var item = out2 || [];
+  var data2 = rawData;
+  for (var i2 = 0; i2 < data2.length; i2++) {
+    var row = data2[i2];
+    item[i2] = row ? row[idx] : null;
+  }
+  return item;
+}, _a[SOURCE_FORMAT_OBJECT_ROWS] = getItemSimply, _a[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, startIndex, dimsDef, idx, out2) {
+  var item = out2 || [];
+  for (var i2 = 0; i2 < dimsDef.length; i2++) {
+    var dimName = dimsDef[i2].name;
+    var col = rawData[dimName];
+    item[i2] = col ? col[idx] : null;
+  }
+  return item;
+}, _a[SOURCE_FORMAT_ORIGINAL] = getItemSimply, _a);
+function getRawSourceItemGetter(sourceFormat, seriesLayoutBy) {
+  var method = rawSourceItemGetterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];
+  return method;
+}
+var countSimply = function(rawData, startIndex, dimsDef) {
+  return rawData.length;
+};
+var rawSourceDataCounterMap = (_b = {}, _b[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = function(rawData, startIndex, dimsDef) {
+  return Math.max(0, rawData.length - startIndex);
+}, _b[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = function(rawData, startIndex, dimsDef) {
+  var row = rawData[0];
+  return row ? Math.max(0, row.length - startIndex) : 0;
+}, _b[SOURCE_FORMAT_OBJECT_ROWS] = countSimply, _b[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, startIndex, dimsDef) {
+  var dimName = dimsDef[0].name;
+  var col = rawData[dimName];
+  return col ? col.length : 0;
+}, _b[SOURCE_FORMAT_ORIGINAL] = countSimply, _b);
+function getRawSourceDataCounter(sourceFormat, seriesLayoutBy) {
+  var method = rawSourceDataCounterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];
+  return method;
+}
+var getRawValueSimply = function(dataItem, dimIndex, property) {
+  return dataItem[dimIndex];
+};
+var rawSourceValueGetterMap = (_c = {}, _c[SOURCE_FORMAT_ARRAY_ROWS] = getRawValueSimply, _c[SOURCE_FORMAT_OBJECT_ROWS] = function(dataItem, dimIndex, property) {
+  return dataItem[property];
+}, _c[SOURCE_FORMAT_KEYED_COLUMNS] = getRawValueSimply, _c[SOURCE_FORMAT_ORIGINAL] = function(dataItem, dimIndex, property) {
+  var value = getDataItemValue(dataItem);
+  return !(value instanceof Array) ? value : value[dimIndex];
+}, _c[SOURCE_FORMAT_TYPED_ARRAY] = getRawValueSimply, _c);
+function getRawSourceValueGetter(sourceFormat) {
+  var method = rawSourceValueGetterMap[sourceFormat];
+  return method;
+}
+function getMethodMapKey(sourceFormat, seriesLayoutBy) {
+  return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS ? sourceFormat + "_" + seriesLayoutBy : sourceFormat;
+}
+function retrieveRawValue(data2, dataIndex, dim) {
+  if (!data2) {
+    return;
+  }
+  var dataItem = data2.getRawDataItem(dataIndex);
+  if (dataItem == null) {
+    return;
+  }
+  var store = data2.getStore();
+  var sourceFormat = store.getSource().sourceFormat;
+  if (dim != null) {
+    var dimIndex = data2.getDimensionIndex(dim);
+    var property = store.getDimensionProperty(dimIndex);
+    return getRawSourceValueGetter(sourceFormat)(dataItem, dimIndex, property);
+  } else {
+    var result2 = dataItem;
+    if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {
+      result2 = getDataItemValue(dataItem);
+    }
+    return result2;
+  }
+}
+var DIMENSION_LABEL_REG = /\{@(.+?)\}/g;
+var DataFormatMixin = (
+  /** @class */
+  function() {
+    function DataFormatMixin2() {
+    }
+    DataFormatMixin2.prototype.getDataParams = function(dataIndex, dataType) {
+      var data2 = this.getData(dataType);
+      var rawValue = this.getRawValue(dataIndex, dataType);
+      var rawDataIndex = data2.getRawIndex(dataIndex);
+      var name2 = data2.getName(dataIndex);
+      var itemOpt = data2.getRawDataItem(dataIndex);
+      var style2 = data2.getItemVisual(dataIndex, "style");
+      var color2 = style2 && style2[data2.getItemVisual(dataIndex, "drawType") || "fill"];
+      var borderColor = style2 && style2.stroke;
+      var mainType = this.mainType;
+      var isSeries2 = mainType === "series";
+      var userOutput = data2.userOutput && data2.userOutput.get();
+      return {
+        componentType: mainType,
+        componentSubType: this.subType,
+        componentIndex: this.componentIndex,
+        seriesType: isSeries2 ? this.subType : null,
+        seriesIndex: this.seriesIndex,
+        seriesId: isSeries2 ? this.id : null,
+        seriesName: isSeries2 ? this.name : null,
+        name: name2,
+        dataIndex: rawDataIndex,
+        data: itemOpt,
+        dataType,
+        value: rawValue,
+        color: color2,
+        borderColor,
+        dimensionNames: userOutput ? userOutput.fullDimensions : null,
+        encode: userOutput ? userOutput.encode : null,
+        // Param name list for mapping `a`, `b`, `c`, `d`, `e`
+        $vars: ["seriesName", "name", "value"]
+      };
+    };
+    DataFormatMixin2.prototype.getFormattedLabel = function(dataIndex, status, dataType, labelDimIndex, formatter, extendParams) {
+      status = status || "normal";
+      var data2 = this.getData(dataType);
+      var params2 = this.getDataParams(dataIndex, dataType);
+      if (extendParams) {
+        params2.value = extendParams.interpolatedValue;
+      }
+      if (labelDimIndex != null && isArray$2(params2.value)) {
+        params2.value = params2.value[labelDimIndex];
+      }
+      if (!formatter) {
+        var itemModel = data2.getItemModel(dataIndex);
+        formatter = itemModel.get(status === "normal" ? ["label", "formatter"] : [status, "label", "formatter"]);
+      }
+      if (isFunction$1(formatter)) {
+        params2.status = status;
+        params2.dimensionIndex = labelDimIndex;
+        return formatter(params2);
+      } else if (isString$1(formatter)) {
+        var str = formatTpl(formatter, params2);
+        return str.replace(DIMENSION_LABEL_REG, function(origin2, dimStr) {
+          var len2 = dimStr.length;
+          var dimLoose = dimStr;
+          if (dimLoose.charAt(0) === "[" && dimLoose.charAt(len2 - 1) === "]") {
+            dimLoose = +dimLoose.slice(1, len2 - 1);
+          }
+          var val = retrieveRawValue(data2, dataIndex, dimLoose);
+          if (extendParams && isArray$2(extendParams.interpolatedValue)) {
+            var dimIndex = data2.getDimensionIndex(dimLoose);
+            if (dimIndex >= 0) {
+              val = extendParams.interpolatedValue[dimIndex];
+            }
+          }
+          return val != null ? val + "" : "";
+        });
+      }
+    };
+    DataFormatMixin2.prototype.getRawValue = function(idx, dataType) {
+      return retrieveRawValue(this.getData(dataType), idx);
+    };
+    DataFormatMixin2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      return;
+    };
+    return DataFormatMixin2;
+  }()
+);
+function normalizeTooltipFormatResult(result2) {
+  var markupText;
+  var markupFragment;
+  if (isObject$4(result2)) {
+    if (result2.type) {
+      markupFragment = result2;
+    }
+  } else {
+    markupText = result2;
+  }
+  return {
+    text: markupText,
+    // markers: markers || markersExisting,
+    frag: markupFragment
+  };
+}
+function createTask(define) {
+  return new Task(define);
+}
+var Task = (
+  /** @class */
+  function() {
+    function Task2(define) {
+      define = define || {};
+      this._reset = define.reset;
+      this._plan = define.plan;
+      this._count = define.count;
+      this._onDirty = define.onDirty;
+      this._dirty = true;
+    }
+    Task2.prototype.perform = function(performArgs) {
+      var upTask = this._upstream;
+      var skip = performArgs && performArgs.skip;
+      if (this._dirty && upTask) {
+        var context = this.context;
+        context.data = context.outputData = upTask.context.outputData;
+      }
+      if (this.__pipeline) {
+        this.__pipeline.currentTask = this;
+      }
+      var planResult;
+      if (this._plan && !skip) {
+        planResult = this._plan(this.context);
+      }
+      var lastModBy = normalizeModBy(this._modBy);
+      var lastModDataCount = this._modDataCount || 0;
+      var modBy = normalizeModBy(performArgs && performArgs.modBy);
+      var modDataCount = performArgs && performArgs.modDataCount || 0;
+      if (lastModBy !== modBy || lastModDataCount !== modDataCount) {
+        planResult = "reset";
+      }
+      function normalizeModBy(val) {
+        !(val >= 1) && (val = 1);
+        return val;
+      }
+      var forceFirstProgress;
+      if (this._dirty || planResult === "reset") {
+        this._dirty = false;
+        forceFirstProgress = this._doReset(skip);
+      }
+      this._modBy = modBy;
+      this._modDataCount = modDataCount;
+      var step2 = performArgs && performArgs.step;
+      if (upTask) {
+        this._dueEnd = upTask._outputDueEnd;
+      } else {
+        this._dueEnd = this._count ? this._count(this.context) : Infinity;
+      }
+      if (this._progress) {
+        var start2 = this._dueIndex;
+        var end2 = Math.min(step2 != null ? this._dueIndex + step2 : Infinity, this._dueEnd);
+        if (!skip && (forceFirstProgress || start2 < end2)) {
+          var progress = this._progress;
+          if (isArray$2(progress)) {
+            for (var i2 = 0; i2 < progress.length; i2++) {
+              this._doProgress(progress[i2], start2, end2, modBy, modDataCount);
+            }
+          } else {
+            this._doProgress(progress, start2, end2, modBy, modDataCount);
+          }
+        }
+        this._dueIndex = end2;
+        var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end2;
+        this._outputDueEnd = outputDueEnd;
+      } else {
+        this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;
+      }
+      return this.unfinished();
+    };
+    Task2.prototype.dirty = function() {
+      this._dirty = true;
+      this._onDirty && this._onDirty(this.context);
+    };
+    Task2.prototype._doProgress = function(progress, start2, end2, modBy, modDataCount) {
+      iterator.reset(start2, end2, modBy, modDataCount);
+      this._callingProgress = progress;
+      this._callingProgress({
+        start: start2,
+        end: end2,
+        count: end2 - start2,
+        next: iterator.next
+      }, this.context);
+    };
+    Task2.prototype._doReset = function(skip) {
+      this._dueIndex = this._outputDueEnd = this._dueEnd = 0;
+      this._settedOutputEnd = null;
+      var progress;
+      var forceFirstProgress;
+      if (!skip && this._reset) {
+        progress = this._reset(this.context);
+        if (progress && progress.progress) {
+          forceFirstProgress = progress.forceFirstProgress;
+          progress = progress.progress;
+        }
+        if (isArray$2(progress) && !progress.length) {
+          progress = null;
+        }
+      }
+      this._progress = progress;
+      this._modBy = this._modDataCount = null;
+      var downstream = this._downstream;
+      downstream && downstream.dirty();
+      return forceFirstProgress;
+    };
+    Task2.prototype.unfinished = function() {
+      return this._progress && this._dueIndex < this._dueEnd;
+    };
+    Task2.prototype.pipe = function(downTask) {
+      if (this._downstream !== downTask || this._dirty) {
+        this._downstream = downTask;
+        downTask._upstream = this;
+        downTask.dirty();
+      }
+    };
+    Task2.prototype.dispose = function() {
+      if (this._disposed) {
+        return;
+      }
+      this._upstream && (this._upstream._downstream = null);
+      this._downstream && (this._downstream._upstream = null);
+      this._dirty = false;
+      this._disposed = true;
+    };
+    Task2.prototype.getUpstream = function() {
+      return this._upstream;
+    };
+    Task2.prototype.getDownstream = function() {
+      return this._downstream;
+    };
+    Task2.prototype.setOutputEnd = function(end2) {
+      this._outputDueEnd = this._settedOutputEnd = end2;
+    };
+    return Task2;
+  }()
+);
+var iterator = function() {
+  var end2;
+  var current;
+  var modBy;
+  var modDataCount;
+  var winCount;
+  var it = {
+    reset: function(s2, e2, sStep, sCount) {
+      current = s2;
+      end2 = e2;
+      modBy = sStep;
+      modDataCount = sCount;
+      winCount = Math.ceil(modDataCount / modBy);
+      it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;
+    }
+  };
+  return it;
+  function sequentialNext() {
+    return current < end2 ? current++ : null;
+  }
+  function modNext() {
+    var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);
+    var result2 = current >= end2 ? null : dataIndex < modDataCount ? dataIndex : current;
+    current++;
+    return result2;
+  }
+}();
+function parseDataValue(value, opt) {
+  var dimType = opt && opt.type;
+  if (dimType === "ordinal") {
+    return value;
+  }
+  if (dimType === "time" && !isNumber$1(value) && value != null && value !== "-") {
+    value = +parseDate(value);
+  }
+  return value == null || value === "" ? NaN : +value;
+}
+var valueParserMap = createHashMap({
+  "number": function(val) {
+    return parseFloat(val);
+  },
+  "time": function(val) {
+    return +parseDate(val);
+  },
+  "trim": function(val) {
+    return isString$1(val) ? trim$2(val) : val;
+  }
+});
+function getRawValueParser(type2) {
+  return valueParserMap.get(type2);
+}
+var ORDER_COMPARISON_OP_MAP = {
+  lt: function(lval, rval) {
+    return lval < rval;
+  },
+  lte: function(lval, rval) {
+    return lval <= rval;
+  },
+  gt: function(lval, rval) {
+    return lval > rval;
+  },
+  gte: function(lval, rval) {
+    return lval >= rval;
+  }
+};
+var FilterOrderComparator = (
+  /** @class */
+  function() {
+    function FilterOrderComparator2(op, rval) {
+      if (!isNumber$1(rval)) {
+        var errMsg = "";
+        throwError(errMsg);
+      }
+      this._opFn = ORDER_COMPARISON_OP_MAP[op];
+      this._rvalFloat = numericToNumber(rval);
+    }
+    FilterOrderComparator2.prototype.evaluate = function(lval) {
+      return isNumber$1(lval) ? this._opFn(lval, this._rvalFloat) : this._opFn(numericToNumber(lval), this._rvalFloat);
+    };
+    return FilterOrderComparator2;
+  }()
+);
+var SortOrderComparator = (
+  /** @class */
+  function() {
+    function SortOrderComparator2(order, incomparable) {
+      var isDesc = order === "desc";
+      this._resultLT = isDesc ? 1 : -1;
+      if (incomparable == null) {
+        incomparable = isDesc ? "min" : "max";
+      }
+      this._incomparable = incomparable === "min" ? -Infinity : Infinity;
+    }
+    SortOrderComparator2.prototype.evaluate = function(lval, rval) {
+      var lvalFloat = isNumber$1(lval) ? lval : numericToNumber(lval);
+      var rvalFloat = isNumber$1(rval) ? rval : numericToNumber(rval);
+      var lvalNotNumeric = isNaN(lvalFloat);
+      var rvalNotNumeric = isNaN(rvalFloat);
+      if (lvalNotNumeric) {
+        lvalFloat = this._incomparable;
+      }
+      if (rvalNotNumeric) {
+        rvalFloat = this._incomparable;
+      }
+      if (lvalNotNumeric && rvalNotNumeric) {
+        var lvalIsStr = isString$1(lval);
+        var rvalIsStr = isString$1(rval);
+        if (lvalIsStr) {
+          lvalFloat = rvalIsStr ? lval : 0;
+        }
+        if (rvalIsStr) {
+          rvalFloat = lvalIsStr ? rval : 0;
+        }
+      }
+      return lvalFloat < rvalFloat ? this._resultLT : lvalFloat > rvalFloat ? -this._resultLT : 0;
+    };
+    return SortOrderComparator2;
+  }()
+);
+var FilterEqualityComparator = (
+  /** @class */
+  function() {
+    function FilterEqualityComparator2(isEq, rval) {
+      this._rval = rval;
+      this._isEQ = isEq;
+      this._rvalTypeof = typeof rval;
+      this._rvalFloat = numericToNumber(rval);
+    }
+    FilterEqualityComparator2.prototype.evaluate = function(lval) {
+      var eqResult = lval === this._rval;
+      if (!eqResult) {
+        var lvalTypeof = typeof lval;
+        if (lvalTypeof !== this._rvalTypeof && (lvalTypeof === "number" || this._rvalTypeof === "number")) {
+          eqResult = numericToNumber(lval) === this._rvalFloat;
+        }
+      }
+      return this._isEQ ? eqResult : !eqResult;
+    };
+    return FilterEqualityComparator2;
+  }()
+);
+function createFilterComparator(op, rval) {
+  return op === "eq" || op === "ne" ? new FilterEqualityComparator(op === "eq", rval) : hasOwn(ORDER_COMPARISON_OP_MAP, op) ? new FilterOrderComparator(op, rval) : null;
+}
+var ExternalSource = (
+  /** @class */
+  function() {
+    function ExternalSource2() {
+    }
+    ExternalSource2.prototype.getRawData = function() {
+      throw new Error("not supported");
+    };
+    ExternalSource2.prototype.getRawDataItem = function(dataIndex) {
+      throw new Error("not supported");
+    };
+    ExternalSource2.prototype.cloneRawData = function() {
+      return;
+    };
+    ExternalSource2.prototype.getDimensionInfo = function(dim) {
+      return;
+    };
+    ExternalSource2.prototype.cloneAllDimensionInfo = function() {
+      return;
+    };
+    ExternalSource2.prototype.count = function() {
+      return;
+    };
+    ExternalSource2.prototype.retrieveValue = function(dataIndex, dimIndex) {
+      return;
+    };
+    ExternalSource2.prototype.retrieveValueFromItem = function(dataItem, dimIndex) {
+      return;
+    };
+    ExternalSource2.prototype.convertValue = function(rawVal, dimInfo) {
+      return parseDataValue(rawVal, dimInfo);
+    };
+    return ExternalSource2;
+  }()
+);
+function createExternalSource(internalSource, externalTransform) {
+  var extSource = new ExternalSource();
+  var data2 = internalSource.data;
+  var sourceFormat = extSource.sourceFormat = internalSource.sourceFormat;
+  var sourceHeaderCount = internalSource.startIndex;
+  var errMsg = "";
+  if (internalSource.seriesLayoutBy !== SERIES_LAYOUT_BY_COLUMN) {
+    throwError(errMsg);
+  }
+  var dimensions = [];
+  var dimsByName = {};
+  var dimsDef = internalSource.dimensionsDefine;
+  if (dimsDef) {
+    each$f(dimsDef, function(dimDef, idx) {
+      var name2 = dimDef.name;
+      var dimDefExt = {
+        index: idx,
+        name: name2,
+        displayName: dimDef.displayName
+      };
+      dimensions.push(dimDefExt);
+      if (name2 != null) {
+        var errMsg_1 = "";
+        if (hasOwn(dimsByName, name2)) {
+          throwError(errMsg_1);
+        }
+        dimsByName[name2] = dimDefExt;
+      }
+    });
+  } else {
+    for (var i2 = 0; i2 < internalSource.dimensionsDetectedCount || 0; i2++) {
+      dimensions.push({
+        index: i2
+      });
+    }
+  }
+  var rawItemGetter = getRawSourceItemGetter(sourceFormat, SERIES_LAYOUT_BY_COLUMN);
+  if (externalTransform.__isBuiltIn) {
+    extSource.getRawDataItem = function(dataIndex) {
+      return rawItemGetter(data2, sourceHeaderCount, dimensions, dataIndex);
+    };
+    extSource.getRawData = bind$2(getRawData, null, internalSource);
+  }
+  extSource.cloneRawData = bind$2(cloneRawData, null, internalSource);
+  var rawCounter = getRawSourceDataCounter(sourceFormat, SERIES_LAYOUT_BY_COLUMN);
+  extSource.count = bind$2(rawCounter, null, data2, sourceHeaderCount, dimensions);
+  var rawValueGetter = getRawSourceValueGetter(sourceFormat);
+  extSource.retrieveValue = function(dataIndex, dimIndex) {
+    var rawItem = rawItemGetter(data2, sourceHeaderCount, dimensions, dataIndex);
+    return retrieveValueFromItem(rawItem, dimIndex);
+  };
+  var retrieveValueFromItem = extSource.retrieveValueFromItem = function(dataItem, dimIndex) {
+    if (dataItem == null) {
+      return;
+    }
+    var dimDef = dimensions[dimIndex];
+    if (dimDef) {
+      return rawValueGetter(dataItem, dimIndex, dimDef.name);
+    }
+  };
+  extSource.getDimensionInfo = bind$2(getDimensionInfo, null, dimensions, dimsByName);
+  extSource.cloneAllDimensionInfo = bind$2(cloneAllDimensionInfo, null, dimensions);
+  return extSource;
+}
+function getRawData(upstream) {
+  var sourceFormat = upstream.sourceFormat;
+  if (!isSupportedSourceFormat(sourceFormat)) {
+    var errMsg = "";
+    throwError(errMsg);
+  }
+  return upstream.data;
+}
+function cloneRawData(upstream) {
+  var sourceFormat = upstream.sourceFormat;
+  var data2 = upstream.data;
+  if (!isSupportedSourceFormat(sourceFormat)) {
+    var errMsg = "";
+    throwError(errMsg);
+  }
+  if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {
+    var result2 = [];
+    for (var i2 = 0, len2 = data2.length; i2 < len2; i2++) {
+      result2.push(data2[i2].slice());
+    }
+    return result2;
+  } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {
+    var result2 = [];
+    for (var i2 = 0, len2 = data2.length; i2 < len2; i2++) {
+      result2.push(extend$1({}, data2[i2]));
+    }
+    return result2;
+  }
+}
+function getDimensionInfo(dimensions, dimsByName, dim) {
+  if (dim == null) {
+    return;
+  }
+  if (isNumber$1(dim) || !isNaN(dim) && !hasOwn(dimsByName, dim)) {
+    return dimensions[dim];
+  } else if (hasOwn(dimsByName, dim)) {
+    return dimsByName[dim];
+  }
+}
+function cloneAllDimensionInfo(dimensions) {
+  return clone$4(dimensions);
+}
+var externalTransformMap = createHashMap();
+function registerExternalTransform(externalTransform) {
+  externalTransform = clone$4(externalTransform);
+  var type2 = externalTransform.type;
+  var errMsg = "";
+  if (!type2) {
+    throwError(errMsg);
+  }
+  var typeParsed = type2.split(":");
+  if (typeParsed.length !== 2) {
+    throwError(errMsg);
+  }
+  var isBuiltIn = false;
+  if (typeParsed[0] === "echarts") {
+    type2 = typeParsed[1];
+    isBuiltIn = true;
+  }
+  externalTransform.__isBuiltIn = isBuiltIn;
+  externalTransformMap.set(type2, externalTransform);
+}
+function applyDataTransform(rawTransOption, sourceList, infoForPrint) {
+  var pipedTransOption = normalizeToArray(rawTransOption);
+  var pipeLen = pipedTransOption.length;
+  var errMsg = "";
+  if (!pipeLen) {
+    throwError(errMsg);
+  }
+  for (var i2 = 0, len2 = pipeLen; i2 < len2; i2++) {
+    var transOption = pipedTransOption[i2];
+    sourceList = applySingleDataTransform(transOption, sourceList);
+    if (i2 !== len2 - 1) {
+      sourceList.length = Math.max(sourceList.length, 1);
+    }
+  }
+  return sourceList;
+}
+function applySingleDataTransform(transOption, upSourceList, infoForPrint, pipeIndex) {
+  var errMsg = "";
+  if (!upSourceList.length) {
+    throwError(errMsg);
+  }
+  if (!isObject$4(transOption)) {
+    throwError(errMsg);
+  }
+  var transType = transOption.type;
+  var externalTransform = externalTransformMap.get(transType);
+  if (!externalTransform) {
+    throwError(errMsg);
+  }
+  var extUpSourceList = map$1(upSourceList, function(upSource) {
+    return createExternalSource(upSource, externalTransform);
+  });
+  var resultList = normalizeToArray(externalTransform.transform({
+    upstream: extUpSourceList[0],
+    upstreamList: extUpSourceList,
+    config: clone$4(transOption.config)
+  }));
+  return map$1(resultList, function(result2, resultIndex) {
+    var errMsg2 = "";
+    if (!isObject$4(result2)) {
+      throwError(errMsg2);
+    }
+    if (!result2.data) {
+      throwError(errMsg2);
+    }
+    var sourceFormat = detectSourceFormat(result2.data);
+    if (!isSupportedSourceFormat(sourceFormat)) {
+      throwError(errMsg2);
+    }
+    var resultMetaRawOption;
+    var firstUpSource = upSourceList[0];
+    if (firstUpSource && resultIndex === 0 && !result2.dimensions) {
+      var startIndex = firstUpSource.startIndex;
+      if (startIndex) {
+        result2.data = firstUpSource.data.slice(0, startIndex).concat(result2.data);
+      }
+      resultMetaRawOption = {
+        seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,
+        sourceHeader: startIndex,
+        dimensions: firstUpSource.metaRawOption.dimensions
+      };
+    } else {
+      resultMetaRawOption = {
+        seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,
+        sourceHeader: 0,
+        dimensions: result2.dimensions
+      };
+    }
+    return createSource(result2.data, resultMetaRawOption, null);
+  });
+}
+function isSupportedSourceFormat(sourceFormat) {
+  return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS || sourceFormat === SOURCE_FORMAT_OBJECT_ROWS;
+}
+var UNDEFINED = "undefined";
+var CtorUint32Array = typeof Uint32Array === UNDEFINED ? Array : Uint32Array;
+var CtorUint16Array = typeof Uint16Array === UNDEFINED ? Array : Uint16Array;
+var CtorInt32Array$1 = typeof Int32Array === UNDEFINED ? Array : Int32Array;
+var CtorFloat64Array = typeof Float64Array === UNDEFINED ? Array : Float64Array;
+var dataCtors = {
+  "float": CtorFloat64Array,
+  "int": CtorInt32Array$1,
+  // Ordinal data type can be string or int
+  "ordinal": Array,
+  "number": Array,
+  "time": CtorFloat64Array
+};
+var defaultDimValueGetters;
+function getIndicesCtor(rawCount) {
+  return rawCount > 65535 ? CtorUint32Array : CtorUint16Array;
+}
+function getInitialExtent() {
+  return [Infinity, -Infinity];
+}
+function cloneChunk(originalChunk) {
+  var Ctor = originalChunk.constructor;
+  return Ctor === Array ? originalChunk.slice() : new Ctor(originalChunk);
+}
+function prepareStore(store, dimIdx, dimType, end2, append3) {
+  var DataCtor = dataCtors[dimType || "float"];
+  if (append3) {
+    var oldStore = store[dimIdx];
+    var oldLen = oldStore && oldStore.length;
+    if (!(oldLen === end2)) {
+      var newStore = new DataCtor(end2);
+      for (var j2 = 0; j2 < oldLen; j2++) {
+        newStore[j2] = oldStore[j2];
+      }
+      store[dimIdx] = newStore;
+    }
+  } else {
+    store[dimIdx] = new DataCtor(end2);
+  }
+}
+var DataStore = (
+  /** @class */
+  function() {
+    function DataStore2() {
+      this._chunks = [];
+      this._rawExtent = [];
+      this._extent = [];
+      this._count = 0;
+      this._rawCount = 0;
+      this._calcDimNameToIdx = createHashMap();
+    }
+    DataStore2.prototype.initData = function(provider, inputDimensions, dimValueGetter) {
+      this._provider = provider;
+      this._chunks = [];
+      this._indices = null;
+      this.getRawIndex = this._getRawIdxIdentity;
+      var source2 = provider.getSource();
+      var defaultGetter2 = this.defaultDimValueGetter = defaultDimValueGetters[source2.sourceFormat];
+      this._dimValueGetter = dimValueGetter || defaultGetter2;
+      this._rawExtent = [];
+      shouldRetrieveDataByName(source2);
+      this._dimensions = map$1(inputDimensions, function(dim) {
+        return {
+          // Only pick these two props. Not leak other properties like orderMeta.
+          type: dim.type,
+          property: dim.property
+        };
+      });
+      this._initDataFromProvider(0, provider.count());
+    };
+    DataStore2.prototype.getProvider = function() {
+      return this._provider;
+    };
+    DataStore2.prototype.getSource = function() {
+      return this._provider.getSource();
+    };
+    DataStore2.prototype.ensureCalculationDimension = function(dimName, type2) {
+      var calcDimNameToIdx = this._calcDimNameToIdx;
+      var dimensions = this._dimensions;
+      var calcDimIdx = calcDimNameToIdx.get(dimName);
+      if (calcDimIdx != null) {
+        if (dimensions[calcDimIdx].type === type2) {
+          return calcDimIdx;
+        }
+      } else {
+        calcDimIdx = dimensions.length;
+      }
+      dimensions[calcDimIdx] = {
+        type: type2
+      };
+      calcDimNameToIdx.set(dimName, calcDimIdx);
+      this._chunks[calcDimIdx] = new dataCtors[type2 || "float"](this._rawCount);
+      this._rawExtent[calcDimIdx] = getInitialExtent();
+      return calcDimIdx;
+    };
+    DataStore2.prototype.collectOrdinalMeta = function(dimIdx, ordinalMeta) {
+      var chunk = this._chunks[dimIdx];
+      var dim = this._dimensions[dimIdx];
+      var rawExtents = this._rawExtent;
+      var offset2 = dim.ordinalOffset || 0;
+      var len2 = chunk.length;
+      if (offset2 === 0) {
+        rawExtents[dimIdx] = getInitialExtent();
+      }
+      var dimRawExtent = rawExtents[dimIdx];
+      for (var i2 = offset2; i2 < len2; i2++) {
+        var val = chunk[i2] = ordinalMeta.parseAndCollect(chunk[i2]);
+        if (!isNaN(val)) {
+          dimRawExtent[0] = Math.min(val, dimRawExtent[0]);
+          dimRawExtent[1] = Math.max(val, dimRawExtent[1]);
+        }
+      }
+      dim.ordinalMeta = ordinalMeta;
+      dim.ordinalOffset = len2;
+      dim.type = "ordinal";
+    };
+    DataStore2.prototype.getOrdinalMeta = function(dimIdx) {
+      var dimInfo = this._dimensions[dimIdx];
+      var ordinalMeta = dimInfo.ordinalMeta;
+      return ordinalMeta;
+    };
+    DataStore2.prototype.getDimensionProperty = function(dimIndex) {
+      var item = this._dimensions[dimIndex];
+      return item && item.property;
+    };
+    DataStore2.prototype.appendData = function(data2) {
+      var provider = this._provider;
+      var start2 = this.count();
+      provider.appendData(data2);
+      var end2 = provider.count();
+      if (!provider.persistent) {
+        end2 += start2;
+      }
+      if (start2 < end2) {
+        this._initDataFromProvider(start2, end2, true);
+      }
+      return [start2, end2];
+    };
+    DataStore2.prototype.appendValues = function(values, minFillLen) {
+      var chunks = this._chunks;
+      var dimensions = this._dimensions;
+      var dimLen = dimensions.length;
+      var rawExtent = this._rawExtent;
+      var start2 = this.count();
+      var end2 = start2 + Math.max(values.length, minFillLen || 0);
+      for (var i2 = 0; i2 < dimLen; i2++) {
+        var dim = dimensions[i2];
+        prepareStore(chunks, i2, dim.type, end2, true);
+      }
+      var emptyDataItem = [];
+      for (var idx = start2; idx < end2; idx++) {
+        var sourceIdx = idx - start2;
+        for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {
+          var dim = dimensions[dimIdx];
+          var val = defaultDimValueGetters.arrayRows.call(this, values[sourceIdx] || emptyDataItem, dim.property, sourceIdx, dimIdx);
+          chunks[dimIdx][idx] = val;
+          var dimRawExtent = rawExtent[dimIdx];
+          val < dimRawExtent[0] && (dimRawExtent[0] = val);
+          val > dimRawExtent[1] && (dimRawExtent[1] = val);
+        }
+      }
+      this._rawCount = this._count = end2;
+      return {
+        start: start2,
+        end: end2
+      };
+    };
+    DataStore2.prototype._initDataFromProvider = function(start2, end2, append3) {
+      var provider = this._provider;
+      var chunks = this._chunks;
+      var dimensions = this._dimensions;
+      var dimLen = dimensions.length;
+      var rawExtent = this._rawExtent;
+      var dimNames = map$1(dimensions, function(dim2) {
+        return dim2.property;
+      });
+      for (var i2 = 0; i2 < dimLen; i2++) {
+        var dim = dimensions[i2];
+        if (!rawExtent[i2]) {
+          rawExtent[i2] = getInitialExtent();
+        }
+        prepareStore(chunks, i2, dim.type, end2, append3);
+      }
+      if (provider.fillStorage) {
+        provider.fillStorage(start2, end2, chunks, rawExtent);
+      } else {
+        var dataItem = [];
+        for (var idx = start2; idx < end2; idx++) {
+          dataItem = provider.getItem(idx, dataItem);
+          for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {
+            var dimStorage = chunks[dimIdx];
+            var val = this._dimValueGetter(dataItem, dimNames[dimIdx], idx, dimIdx);
+            dimStorage[idx] = val;
+            var dimRawExtent = rawExtent[dimIdx];
+            val < dimRawExtent[0] && (dimRawExtent[0] = val);
+            val > dimRawExtent[1] && (dimRawExtent[1] = val);
+          }
+        }
+      }
+      if (!provider.persistent && provider.clean) {
+        provider.clean();
+      }
+      this._rawCount = this._count = end2;
+      this._extent = [];
+    };
+    DataStore2.prototype.count = function() {
+      return this._count;
+    };
+    DataStore2.prototype.get = function(dim, idx) {
+      if (!(idx >= 0 && idx < this._count)) {
+        return NaN;
+      }
+      var dimStore = this._chunks[dim];
+      return dimStore ? dimStore[this.getRawIndex(idx)] : NaN;
+    };
+    DataStore2.prototype.getValues = function(dimensions, idx) {
+      var values = [];
+      var dimArr = [];
+      if (idx == null) {
+        idx = dimensions;
+        dimensions = [];
+        for (var i2 = 0; i2 < this._dimensions.length; i2++) {
+          dimArr.push(i2);
+        }
+      } else {
+        dimArr = dimensions;
+      }
+      for (var i2 = 0, len2 = dimArr.length; i2 < len2; i2++) {
+        values.push(this.get(dimArr[i2], idx));
+      }
+      return values;
+    };
+    DataStore2.prototype.getByRawIndex = function(dim, rawIdx) {
+      if (!(rawIdx >= 0 && rawIdx < this._rawCount)) {
+        return NaN;
+      }
+      var dimStore = this._chunks[dim];
+      return dimStore ? dimStore[rawIdx] : NaN;
+    };
+    DataStore2.prototype.getSum = function(dim) {
+      var dimData = this._chunks[dim];
+      var sum2 = 0;
+      if (dimData) {
+        for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+          var value = this.get(dim, i2);
+          if (!isNaN(value)) {
+            sum2 += value;
+          }
+        }
+      }
+      return sum2;
+    };
+    DataStore2.prototype.getMedian = function(dim) {
+      var dimDataArray = [];
+      this.each([dim], function(val) {
+        if (!isNaN(val)) {
+          dimDataArray.push(val);
+        }
+      });
+      var sortedDimDataArray = dimDataArray.sort(function(a2, b2) {
+        return a2 - b2;
+      });
+      var len2 = this.count();
+      return len2 === 0 ? 0 : len2 % 2 === 1 ? sortedDimDataArray[(len2 - 1) / 2] : (sortedDimDataArray[len2 / 2] + sortedDimDataArray[len2 / 2 - 1]) / 2;
+    };
+    DataStore2.prototype.indexOfRawIndex = function(rawIndex) {
+      if (rawIndex >= this._rawCount || rawIndex < 0) {
+        return -1;
+      }
+      if (!this._indices) {
+        return rawIndex;
+      }
+      var indices = this._indices;
+      var rawDataIndex = indices[rawIndex];
+      if (rawDataIndex != null && rawDataIndex < this._count && rawDataIndex === rawIndex) {
+        return rawIndex;
+      }
+      var left = 0;
+      var right = this._count - 1;
+      while (left <= right) {
+        var mid = (left + right) / 2 | 0;
+        if (indices[mid] < rawIndex) {
+          left = mid + 1;
+        } else if (indices[mid] > rawIndex) {
+          right = mid - 1;
+        } else {
+          return mid;
+        }
+      }
+      return -1;
+    };
+    DataStore2.prototype.indicesOfNearest = function(dim, value, maxDistance) {
+      var chunks = this._chunks;
+      var dimData = chunks[dim];
+      var nearestIndices = [];
+      if (!dimData) {
+        return nearestIndices;
+      }
+      if (maxDistance == null) {
+        maxDistance = Infinity;
+      }
+      var minDist = Infinity;
+      var minDiff = -1;
+      var nearestIndicesLen = 0;
+      for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+        var dataIndex = this.getRawIndex(i2);
+        var diff = value - dimData[dataIndex];
+        var dist2 = Math.abs(diff);
+        if (dist2 <= maxDistance) {
+          if (dist2 < minDist || dist2 === minDist && diff >= 0 && minDiff < 0) {
+            minDist = dist2;
+            minDiff = diff;
+            nearestIndicesLen = 0;
+          }
+          if (diff === minDiff) {
+            nearestIndices[nearestIndicesLen++] = i2;
+          }
+        }
+      }
+      nearestIndices.length = nearestIndicesLen;
+      return nearestIndices;
+    };
+    DataStore2.prototype.getIndices = function() {
+      var newIndices;
+      var indices = this._indices;
+      if (indices) {
+        var Ctor = indices.constructor;
+        var thisCount = this._count;
+        if (Ctor === Array) {
+          newIndices = new Ctor(thisCount);
+          for (var i2 = 0; i2 < thisCount; i2++) {
+            newIndices[i2] = indices[i2];
+          }
+        } else {
+          newIndices = new Ctor(indices.buffer, 0, thisCount);
+        }
+      } else {
+        var Ctor = getIndicesCtor(this._rawCount);
+        newIndices = new Ctor(this.count());
+        for (var i2 = 0; i2 < newIndices.length; i2++) {
+          newIndices[i2] = i2;
+        }
+      }
+      return newIndices;
+    };
+    DataStore2.prototype.filter = function(dims, cb) {
+      if (!this._count) {
+        return this;
+      }
+      var newStore = this.clone();
+      var count2 = newStore.count();
+      var Ctor = getIndicesCtor(newStore._rawCount);
+      var newIndices = new Ctor(count2);
+      var value = [];
+      var dimSize = dims.length;
+      var offset2 = 0;
+      var dim0 = dims[0];
+      var chunks = newStore._chunks;
+      for (var i2 = 0; i2 < count2; i2++) {
+        var keep = void 0;
+        var rawIdx = newStore.getRawIndex(i2);
+        if (dimSize === 0) {
+          keep = cb(i2);
+        } else if (dimSize === 1) {
+          var val = chunks[dim0][rawIdx];
+          keep = cb(val, i2);
+        } else {
+          var k2 = 0;
+          for (; k2 < dimSize; k2++) {
+            value[k2] = chunks[dims[k2]][rawIdx];
+          }
+          value[k2] = i2;
+          keep = cb.apply(null, value);
+        }
+        if (keep) {
+          newIndices[offset2++] = rawIdx;
+        }
+      }
+      if (offset2 < count2) {
+        newStore._indices = newIndices;
+      }
+      newStore._count = offset2;
+      newStore._extent = [];
+      newStore._updateGetRawIdx();
+      return newStore;
+    };
+    DataStore2.prototype.selectRange = function(range2) {
+      var newStore = this.clone();
+      var len2 = newStore._count;
+      if (!len2) {
+        return this;
+      }
+      var dims = keys(range2);
+      var dimSize = dims.length;
+      if (!dimSize) {
+        return this;
+      }
+      var originalCount = newStore.count();
+      var Ctor = getIndicesCtor(newStore._rawCount);
+      var newIndices = new Ctor(originalCount);
+      var offset2 = 0;
+      var dim0 = dims[0];
+      var min3 = range2[dim0][0];
+      var max3 = range2[dim0][1];
+      var storeArr = newStore._chunks;
+      var quickFinished = false;
+      if (!newStore._indices) {
+        var idx = 0;
+        if (dimSize === 1) {
+          var dimStorage = storeArr[dims[0]];
+          for (var i2 = 0; i2 < len2; i2++) {
+            var val = dimStorage[i2];
+            if (val >= min3 && val <= max3 || isNaN(val)) {
+              newIndices[offset2++] = idx;
+            }
+            idx++;
+          }
+          quickFinished = true;
+        } else if (dimSize === 2) {
+          var dimStorage = storeArr[dims[0]];
+          var dimStorage2 = storeArr[dims[1]];
+          var min22 = range2[dims[1]][0];
+          var max22 = range2[dims[1]][1];
+          for (var i2 = 0; i2 < len2; i2++) {
+            var val = dimStorage[i2];
+            var val2 = dimStorage2[i2];
+            if ((val >= min3 && val <= max3 || isNaN(val)) && (val2 >= min22 && val2 <= max22 || isNaN(val2))) {
+              newIndices[offset2++] = idx;
+            }
+            idx++;
+          }
+          quickFinished = true;
+        }
+      }
+      if (!quickFinished) {
+        if (dimSize === 1) {
+          for (var i2 = 0; i2 < originalCount; i2++) {
+            var rawIndex = newStore.getRawIndex(i2);
+            var val = storeArr[dims[0]][rawIndex];
+            if (val >= min3 && val <= max3 || isNaN(val)) {
+              newIndices[offset2++] = rawIndex;
+            }
+          }
+        } else {
+          for (var i2 = 0; i2 < originalCount; i2++) {
+            var keep = true;
+            var rawIndex = newStore.getRawIndex(i2);
+            for (var k2 = 0; k2 < dimSize; k2++) {
+              var dimk = dims[k2];
+              var val = storeArr[dimk][rawIndex];
+              if (val < range2[dimk][0] || val > range2[dimk][1]) {
+                keep = false;
+              }
+            }
+            if (keep) {
+              newIndices[offset2++] = newStore.getRawIndex(i2);
+            }
+          }
+        }
+      }
+      if (offset2 < originalCount) {
+        newStore._indices = newIndices;
+      }
+      newStore._count = offset2;
+      newStore._extent = [];
+      newStore._updateGetRawIdx();
+      return newStore;
+    };
+    DataStore2.prototype.map = function(dims, cb) {
+      var target = this.clone(dims);
+      this._updateDims(target, dims, cb);
+      return target;
+    };
+    DataStore2.prototype.modify = function(dims, cb) {
+      this._updateDims(this, dims, cb);
+    };
+    DataStore2.prototype._updateDims = function(target, dims, cb) {
+      var targetChunks = target._chunks;
+      var tmpRetValue = [];
+      var dimSize = dims.length;
+      var dataCount = target.count();
+      var values = [];
+      var rawExtent = target._rawExtent;
+      for (var i2 = 0; i2 < dims.length; i2++) {
+        rawExtent[dims[i2]] = getInitialExtent();
+      }
+      for (var dataIndex = 0; dataIndex < dataCount; dataIndex++) {
+        var rawIndex = target.getRawIndex(dataIndex);
+        for (var k2 = 0; k2 < dimSize; k2++) {
+          values[k2] = targetChunks[dims[k2]][rawIndex];
+        }
+        values[dimSize] = dataIndex;
+        var retValue = cb && cb.apply(null, values);
+        if (retValue != null) {
+          if (typeof retValue !== "object") {
+            tmpRetValue[0] = retValue;
+            retValue = tmpRetValue;
+          }
+          for (var i2 = 0; i2 < retValue.length; i2++) {
+            var dim = dims[i2];
+            var val = retValue[i2];
+            var rawExtentOnDim = rawExtent[dim];
+            var dimStore = targetChunks[dim];
+            if (dimStore) {
+              dimStore[rawIndex] = val;
+            }
+            if (val < rawExtentOnDim[0]) {
+              rawExtentOnDim[0] = val;
+            }
+            if (val > rawExtentOnDim[1]) {
+              rawExtentOnDim[1] = val;
+            }
+          }
+        }
+      }
+    };
+    DataStore2.prototype.lttbDownSample = function(valueDimension, rate) {
+      var target = this.clone([valueDimension], true);
+      var targetStorage = target._chunks;
+      var dimStore = targetStorage[valueDimension];
+      var len2 = this.count();
+      var sampledIndex = 0;
+      var frameSize = Math.floor(1 / rate);
+      var currentRawIndex = this.getRawIndex(0);
+      var maxArea;
+      var area;
+      var nextRawIndex;
+      var newIndices = new (getIndicesCtor(this._rawCount))(Math.min((Math.ceil(len2 / frameSize) + 2) * 2, len2));
+      newIndices[sampledIndex++] = currentRawIndex;
+      for (var i2 = 1; i2 < len2 - 1; i2 += frameSize) {
+        var nextFrameStart = Math.min(i2 + frameSize, len2 - 1);
+        var nextFrameEnd = Math.min(i2 + frameSize * 2, len2);
+        var avgX = (nextFrameEnd + nextFrameStart) / 2;
+        var avgY = 0;
+        for (var idx = nextFrameStart; idx < nextFrameEnd; idx++) {
+          var rawIndex = this.getRawIndex(idx);
+          var y2 = dimStore[rawIndex];
+          if (isNaN(y2)) {
+            continue;
+          }
+          avgY += y2;
+        }
+        avgY /= nextFrameEnd - nextFrameStart;
+        var frameStart = i2;
+        var frameEnd = Math.min(i2 + frameSize, len2);
+        var pointAX = i2 - 1;
+        var pointAY = dimStore[currentRawIndex];
+        maxArea = -1;
+        nextRawIndex = frameStart;
+        var firstNaNIndex = -1;
+        var countNaN = 0;
+        for (var idx = frameStart; idx < frameEnd; idx++) {
+          var rawIndex = this.getRawIndex(idx);
+          var y2 = dimStore[rawIndex];
+          if (isNaN(y2)) {
+            countNaN++;
+            if (firstNaNIndex < 0) {
+              firstNaNIndex = rawIndex;
+            }
+            continue;
+          }
+          area = Math.abs((pointAX - avgX) * (y2 - pointAY) - (pointAX - idx) * (avgY - pointAY));
+          if (area > maxArea) {
+            maxArea = area;
+            nextRawIndex = rawIndex;
+          }
+        }
+        if (countNaN > 0 && countNaN < frameEnd - frameStart) {
+          newIndices[sampledIndex++] = Math.min(firstNaNIndex, nextRawIndex);
+          nextRawIndex = Math.max(firstNaNIndex, nextRawIndex);
+        }
+        newIndices[sampledIndex++] = nextRawIndex;
+        currentRawIndex = nextRawIndex;
+      }
+      newIndices[sampledIndex++] = this.getRawIndex(len2 - 1);
+      target._count = sampledIndex;
+      target._indices = newIndices;
+      target.getRawIndex = this._getRawIdx;
+      return target;
+    };
+    DataStore2.prototype.downSample = function(dimension, rate, sampleValue, sampleIndex) {
+      var target = this.clone([dimension], true);
+      var targetStorage = target._chunks;
+      var frameValues = [];
+      var frameSize = Math.floor(1 / rate);
+      var dimStore = targetStorage[dimension];
+      var len2 = this.count();
+      var rawExtentOnDim = target._rawExtent[dimension] = getInitialExtent();
+      var newIndices = new (getIndicesCtor(this._rawCount))(Math.ceil(len2 / frameSize));
+      var offset2 = 0;
+      for (var i2 = 0; i2 < len2; i2 += frameSize) {
+        if (frameSize > len2 - i2) {
+          frameSize = len2 - i2;
+          frameValues.length = frameSize;
+        }
+        for (var k2 = 0; k2 < frameSize; k2++) {
+          var dataIdx = this.getRawIndex(i2 + k2);
+          frameValues[k2] = dimStore[dataIdx];
+        }
+        var value = sampleValue(frameValues);
+        var sampleFrameIdx = this.getRawIndex(Math.min(i2 + sampleIndex(frameValues, value) || 0, len2 - 1));
+        dimStore[sampleFrameIdx] = value;
+        if (value < rawExtentOnDim[0]) {
+          rawExtentOnDim[0] = value;
+        }
+        if (value > rawExtentOnDim[1]) {
+          rawExtentOnDim[1] = value;
+        }
+        newIndices[offset2++] = sampleFrameIdx;
+      }
+      target._count = offset2;
+      target._indices = newIndices;
+      target._updateGetRawIdx();
+      return target;
+    };
+    DataStore2.prototype.each = function(dims, cb) {
+      if (!this._count) {
+        return;
+      }
+      var dimSize = dims.length;
+      var chunks = this._chunks;
+      for (var i2 = 0, len2 = this.count(); i2 < len2; i2++) {
+        var rawIdx = this.getRawIndex(i2);
+        switch (dimSize) {
+          case 0:
+            cb(i2);
+            break;
+          case 1:
+            cb(chunks[dims[0]][rawIdx], i2);
+            break;
+          case 2:
+            cb(chunks[dims[0]][rawIdx], chunks[dims[1]][rawIdx], i2);
+            break;
+          default:
+            var k2 = 0;
+            var value = [];
+            for (; k2 < dimSize; k2++) {
+              value[k2] = chunks[dims[k2]][rawIdx];
+            }
+            value[k2] = i2;
+            cb.apply(null, value);
+        }
+      }
+    };
+    DataStore2.prototype.getDataExtent = function(dim) {
+      var dimData = this._chunks[dim];
+      var initialExtent = getInitialExtent();
+      if (!dimData) {
+        return initialExtent;
+      }
+      var currEnd = this.count();
+      var useRaw = !this._indices;
+      var dimExtent;
+      if (useRaw) {
+        return this._rawExtent[dim].slice();
+      }
+      dimExtent = this._extent[dim];
+      if (dimExtent) {
+        return dimExtent.slice();
+      }
+      dimExtent = initialExtent;
+      var min3 = dimExtent[0];
+      var max3 = dimExtent[1];
+      for (var i2 = 0; i2 < currEnd; i2++) {
+        var rawIdx = this.getRawIndex(i2);
+        var value = dimData[rawIdx];
+        value < min3 && (min3 = value);
+        value > max3 && (max3 = value);
+      }
+      dimExtent = [min3, max3];
+      this._extent[dim] = dimExtent;
+      return dimExtent;
+    };
+    DataStore2.prototype.getRawDataItem = function(idx) {
+      var rawIdx = this.getRawIndex(idx);
+      if (!this._provider.persistent) {
+        var val = [];
+        var chunks = this._chunks;
+        for (var i2 = 0; i2 < chunks.length; i2++) {
+          val.push(chunks[i2][rawIdx]);
+        }
+        return val;
+      } else {
+        return this._provider.getItem(rawIdx);
+      }
+    };
+    DataStore2.prototype.clone = function(clonedDims, ignoreIndices) {
+      var target = new DataStore2();
+      var chunks = this._chunks;
+      var clonedDimsMap = clonedDims && reduce(clonedDims, function(obj2, dimIdx) {
+        obj2[dimIdx] = true;
+        return obj2;
+      }, {});
+      if (clonedDimsMap) {
+        for (var i2 = 0; i2 < chunks.length; i2++) {
+          target._chunks[i2] = !clonedDimsMap[i2] ? chunks[i2] : cloneChunk(chunks[i2]);
+        }
+      } else {
+        target._chunks = chunks;
+      }
+      this._copyCommonProps(target);
+      if (!ignoreIndices) {
+        target._indices = this._cloneIndices();
+      }
+      target._updateGetRawIdx();
+      return target;
+    };
+    DataStore2.prototype._copyCommonProps = function(target) {
+      target._count = this._count;
+      target._rawCount = this._rawCount;
+      target._provider = this._provider;
+      target._dimensions = this._dimensions;
+      target._extent = clone$4(this._extent);
+      target._rawExtent = clone$4(this._rawExtent);
+    };
+    DataStore2.prototype._cloneIndices = function() {
+      if (this._indices) {
+        var Ctor = this._indices.constructor;
+        var indices = void 0;
+        if (Ctor === Array) {
+          var thisCount = this._indices.length;
+          indices = new Ctor(thisCount);
+          for (var i2 = 0; i2 < thisCount; i2++) {
+            indices[i2] = this._indices[i2];
+          }
+        } else {
+          indices = new Ctor(this._indices);
+        }
+        return indices;
+      }
+      return null;
+    };
+    DataStore2.prototype._getRawIdxIdentity = function(idx) {
+      return idx;
+    };
+    DataStore2.prototype._getRawIdx = function(idx) {
+      if (idx < this._count && idx >= 0) {
+        return this._indices[idx];
+      }
+      return -1;
+    };
+    DataStore2.prototype._updateGetRawIdx = function() {
+      this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity;
+    };
+    DataStore2.internalField = function() {
+      function getDimValueSimply2(dataItem, property, dataIndex, dimIndex) {
+        return parseDataValue(dataItem[dimIndex], this._dimensions[dimIndex]);
+      }
+      defaultDimValueGetters = {
+        arrayRows: getDimValueSimply2,
+        objectRows: function(dataItem, property, dataIndex, dimIndex) {
+          return parseDataValue(dataItem[property], this._dimensions[dimIndex]);
+        },
+        keyedColumns: getDimValueSimply2,
+        original: function(dataItem, property, dataIndex, dimIndex) {
+          var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value);
+          return parseDataValue(value instanceof Array ? value[dimIndex] : value, this._dimensions[dimIndex]);
+        },
+        typedArray: function(dataItem, property, dataIndex, dimIndex) {
+          return dataItem[dimIndex];
+        }
+      };
+    }();
+    return DataStore2;
+  }()
+);
+const DataStore$1 = DataStore;
+var SourceManager = (
+  /** @class */
+  function() {
+    function SourceManager2(sourceHost) {
+      this._sourceList = [];
+      this._storeList = [];
+      this._upstreamSignList = [];
+      this._versionSignBase = 0;
+      this._dirty = true;
+      this._sourceHost = sourceHost;
+    }
+    SourceManager2.prototype.dirty = function() {
+      this._setLocalSource([], []);
+      this._storeList = [];
+      this._dirty = true;
+    };
+    SourceManager2.prototype._setLocalSource = function(sourceList, upstreamSignList) {
+      this._sourceList = sourceList;
+      this._upstreamSignList = upstreamSignList;
+      this._versionSignBase++;
+      if (this._versionSignBase > 9e10) {
+        this._versionSignBase = 0;
+      }
+    };
+    SourceManager2.prototype._getVersionSign = function() {
+      return this._sourceHost.uid + "_" + this._versionSignBase;
+    };
+    SourceManager2.prototype.prepareSource = function() {
+      if (this._isDirty()) {
+        this._createSource();
+        this._dirty = false;
+      }
+    };
+    SourceManager2.prototype._createSource = function() {
+      this._setLocalSource([], []);
+      var sourceHost = this._sourceHost;
+      var upSourceMgrList = this._getUpstreamSourceManagers();
+      var hasUpstream = !!upSourceMgrList.length;
+      var resultSourceList;
+      var upstreamSignList;
+      if (isSeries(sourceHost)) {
+        var seriesModel = sourceHost;
+        var data2 = void 0;
+        var sourceFormat = void 0;
+        var upSource = void 0;
+        if (hasUpstream) {
+          var upSourceMgr = upSourceMgrList[0];
+          upSourceMgr.prepareSource();
+          upSource = upSourceMgr.getSource();
+          data2 = upSource.data;
+          sourceFormat = upSource.sourceFormat;
+          upstreamSignList = [upSourceMgr._getVersionSign()];
+        } else {
+          data2 = seriesModel.get("data", true);
+          sourceFormat = isTypedArray$1(data2) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;
+          upstreamSignList = [];
+        }
+        var newMetaRawOption = this._getSourceMetaRawOption() || {};
+        var upMetaRawOption = upSource && upSource.metaRawOption || {};
+        var seriesLayoutBy = retrieve2(newMetaRawOption.seriesLayoutBy, upMetaRawOption.seriesLayoutBy) || null;
+        var sourceHeader = retrieve2(newMetaRawOption.sourceHeader, upMetaRawOption.sourceHeader);
+        var dimensions = retrieve2(newMetaRawOption.dimensions, upMetaRawOption.dimensions);
+        var needsCreateSource = seriesLayoutBy !== upMetaRawOption.seriesLayoutBy || !!sourceHeader !== !!upMetaRawOption.sourceHeader || dimensions;
+        resultSourceList = needsCreateSource ? [createSource(data2, {
+          seriesLayoutBy,
+          sourceHeader,
+          dimensions
+        }, sourceFormat)] : [];
+      } else {
+        var datasetModel = sourceHost;
+        if (hasUpstream) {
+          var result2 = this._applyTransform(upSourceMgrList);
+          resultSourceList = result2.sourceList;
+          upstreamSignList = result2.upstreamSignList;
+        } else {
+          var sourceData = datasetModel.get("source", true);
+          resultSourceList = [createSource(sourceData, this._getSourceMetaRawOption(), null)];
+          upstreamSignList = [];
+        }
+      }
+      this._setLocalSource(resultSourceList, upstreamSignList);
+    };
+    SourceManager2.prototype._applyTransform = function(upMgrList) {
+      var datasetModel = this._sourceHost;
+      var transformOption = datasetModel.get("transform", true);
+      var fromTransformResult = datasetModel.get("fromTransformResult", true);
+      if (fromTransformResult != null) {
+        var errMsg = "";
+        if (upMgrList.length !== 1) {
+          doThrow(errMsg);
+        }
+      }
+      var sourceList;
+      var upSourceList = [];
+      var upstreamSignList = [];
+      each$f(upMgrList, function(upMgr) {
+        upMgr.prepareSource();
+        var upSource = upMgr.getSource(fromTransformResult || 0);
+        var errMsg2 = "";
+        if (fromTransformResult != null && !upSource) {
+          doThrow(errMsg2);
+        }
+        upSourceList.push(upSource);
+        upstreamSignList.push(upMgr._getVersionSign());
+      });
+      if (transformOption) {
+        sourceList = applyDataTransform(transformOption, upSourceList, {
+          datasetIndex: datasetModel.componentIndex
+        });
+      } else if (fromTransformResult != null) {
+        sourceList = [cloneSourceShallow(upSourceList[0])];
+      }
+      return {
+        sourceList,
+        upstreamSignList
+      };
+    };
+    SourceManager2.prototype._isDirty = function() {
+      if (this._dirty) {
+        return true;
+      }
+      var upSourceMgrList = this._getUpstreamSourceManagers();
+      for (var i2 = 0; i2 < upSourceMgrList.length; i2++) {
+        var upSrcMgr = upSourceMgrList[i2];
+        if (
+          // Consider the case that there is ancestor diry, call it recursively.
+          // The performance is probably not an issue because usually the chain is not long.
+          upSrcMgr._isDirty() || this._upstreamSignList[i2] !== upSrcMgr._getVersionSign()
+        ) {
+          return true;
+        }
+      }
+    };
+    SourceManager2.prototype.getSource = function(sourceIndex) {
+      sourceIndex = sourceIndex || 0;
+      var source2 = this._sourceList[sourceIndex];
+      if (!source2) {
+        var upSourceMgrList = this._getUpstreamSourceManagers();
+        return upSourceMgrList[0] && upSourceMgrList[0].getSource(sourceIndex);
+      }
+      return source2;
+    };
+    SourceManager2.prototype.getSharedDataStore = function(seriesDimRequest) {
+      var schema = seriesDimRequest.makeStoreSchema();
+      return this._innerGetDataStore(schema.dimensions, seriesDimRequest.source, schema.hash);
+    };
+    SourceManager2.prototype._innerGetDataStore = function(storeDims, seriesSource, sourceReadKey) {
+      var sourceIndex = 0;
+      var storeList = this._storeList;
+      var cachedStoreMap = storeList[sourceIndex];
+      if (!cachedStoreMap) {
+        cachedStoreMap = storeList[sourceIndex] = {};
+      }
+      var cachedStore = cachedStoreMap[sourceReadKey];
+      if (!cachedStore) {
+        var upSourceMgr = this._getUpstreamSourceManagers()[0];
+        if (isSeries(this._sourceHost) && upSourceMgr) {
+          cachedStore = upSourceMgr._innerGetDataStore(storeDims, seriesSource, sourceReadKey);
+        } else {
+          cachedStore = new DataStore$1();
+          cachedStore.initData(new DefaultDataProvider(seriesSource, storeDims.length), storeDims);
+        }
+        cachedStoreMap[sourceReadKey] = cachedStore;
+      }
+      return cachedStore;
+    };
+    SourceManager2.prototype._getUpstreamSourceManagers = function() {
+      var sourceHost = this._sourceHost;
+      if (isSeries(sourceHost)) {
+        var datasetModel = querySeriesUpstreamDatasetModel(sourceHost);
+        return !datasetModel ? [] : [datasetModel.getSourceManager()];
+      } else {
+        return map$1(queryDatasetUpstreamDatasetModels(sourceHost), function(datasetModel2) {
+          return datasetModel2.getSourceManager();
+        });
+      }
+    };
+    SourceManager2.prototype._getSourceMetaRawOption = function() {
+      var sourceHost = this._sourceHost;
+      var seriesLayoutBy;
+      var sourceHeader;
+      var dimensions;
+      if (isSeries(sourceHost)) {
+        seriesLayoutBy = sourceHost.get("seriesLayoutBy", true);
+        sourceHeader = sourceHost.get("sourceHeader", true);
+        dimensions = sourceHost.get("dimensions", true);
+      } else if (!this._getUpstreamSourceManagers().length) {
+        var model2 = sourceHost;
+        seriesLayoutBy = model2.get("seriesLayoutBy", true);
+        sourceHeader = model2.get("sourceHeader", true);
+        dimensions = model2.get("dimensions", true);
+      }
+      return {
+        seriesLayoutBy,
+        sourceHeader,
+        dimensions
+      };
+    };
+    return SourceManager2;
+  }()
+);
+function disableTransformOptionMerge(datasetModel) {
+  var transformOption = datasetModel.option.transform;
+  transformOption && setAsPrimitive(datasetModel.option.transform);
+}
+function isSeries(sourceHost) {
+  return sourceHost.mainType === "series";
+}
+function doThrow(errMsg) {
+  throw new Error(errMsg);
+}
+var TOOLTIP_LINE_HEIGHT_CSS = "line-height:1";
+function getTooltipTextStyle(textStyle2, renderMode) {
+  var nameFontColor = textStyle2.color || "#6e7079";
+  var nameFontSize = textStyle2.fontSize || 12;
+  var nameFontWeight = textStyle2.fontWeight || "400";
+  var valueFontColor = textStyle2.color || "#464646";
+  var valueFontSize = textStyle2.fontSize || 14;
+  var valueFontWeight = textStyle2.fontWeight || "900";
+  if (renderMode === "html") {
+    return {
+      // eslint-disable-next-line max-len
+      nameStyle: "font-size:" + encodeHTML(nameFontSize + "") + "px;color:" + encodeHTML(nameFontColor) + ";font-weight:" + encodeHTML(nameFontWeight + ""),
+      // eslint-disable-next-line max-len
+      valueStyle: "font-size:" + encodeHTML(valueFontSize + "") + "px;color:" + encodeHTML(valueFontColor) + ";font-weight:" + encodeHTML(valueFontWeight + "")
+    };
+  } else {
+    return {
+      nameStyle: {
+        fontSize: nameFontSize,
+        fill: nameFontColor,
+        fontWeight: nameFontWeight
+      },
+      valueStyle: {
+        fontSize: valueFontSize,
+        fill: valueFontColor,
+        fontWeight: valueFontWeight
+      }
+    };
+  }
+}
+var HTML_GAPS = [0, 10, 20, 30];
+var RICH_TEXT_GAPS = ["", "\n", "\n\n", "\n\n\n"];
+function createTooltipMarkup(type2, option) {
+  option.type = type2;
+  return option;
+}
+function isSectionFragment(frag) {
+  return frag.type === "section";
+}
+function getBuilder(frag) {
+  return isSectionFragment(frag) ? buildSection : buildNameValue;
+}
+function getBlockGapLevel(frag) {
+  if (isSectionFragment(frag)) {
+    var gapLevel_1 = 0;
+    var subBlockLen = frag.blocks.length;
+    var hasInnerGap_1 = subBlockLen > 1 || subBlockLen > 0 && !frag.noHeader;
+    each$f(frag.blocks, function(subBlock) {
+      var subGapLevel = getBlockGapLevel(subBlock);
+      if (subGapLevel >= gapLevel_1) {
+        gapLevel_1 = subGapLevel + +(hasInnerGap_1 && // 0 always can not be readable gap level.
+        (!subGapLevel || isSectionFragment(subBlock) && !subBlock.noHeader));
+      }
+    });
+    return gapLevel_1;
+  }
+  return 0;
+}
+function buildSection(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {
+  var noHeader = fragment.noHeader;
+  var gaps = getGap(getBlockGapLevel(fragment));
+  var subMarkupTextList = [];
+  var subBlocks = fragment.blocks || [];
+  assert(!subBlocks || isArray$2(subBlocks));
+  subBlocks = subBlocks || [];
+  var orderMode = ctx.orderMode;
+  if (fragment.sortBlocks && orderMode) {
+    subBlocks = subBlocks.slice();
+    var orderMap = {
+      valueAsc: "asc",
+      valueDesc: "desc"
+    };
+    if (hasOwn(orderMap, orderMode)) {
+      var comparator_1 = new SortOrderComparator(orderMap[orderMode], null);
+      subBlocks.sort(function(a2, b2) {
+        return comparator_1.evaluate(a2.sortParam, b2.sortParam);
+      });
+    } else if (orderMode === "seriesDesc") {
+      subBlocks.reverse();
+    }
+  }
+  each$f(subBlocks, function(subBlock, idx) {
+    var valueFormatter = fragment.valueFormatter;
+    var subMarkupText2 = getBuilder(subBlock)(
+      // Inherit valueFormatter
+      valueFormatter ? extend$1(extend$1({}, ctx), {
+        valueFormatter
+      }) : ctx,
+      subBlock,
+      idx > 0 ? gaps.html : 0,
+      toolTipTextStyle
+    );
+    subMarkupText2 != null && subMarkupTextList.push(subMarkupText2);
+  });
+  var subMarkupText = ctx.renderMode === "richText" ? subMarkupTextList.join(gaps.richText) : wrapBlockHTML(subMarkupTextList.join(""), noHeader ? topMarginForOuterGap : gaps.html);
+  if (noHeader) {
+    return subMarkupText;
+  }
+  var displayableHeader = makeValueReadable(fragment.header, "ordinal", ctx.useUTC);
+  var nameStyle = getTooltipTextStyle(toolTipTextStyle, ctx.renderMode).nameStyle;
+  if (ctx.renderMode === "richText") {
+    return wrapInlineNameRichText(ctx, displayableHeader, nameStyle) + gaps.richText + subMarkupText;
+  } else {
+    return wrapBlockHTML('<div style="' + nameStyle + ";" + TOOLTIP_LINE_HEIGHT_CSS + ';">' + encodeHTML(displayableHeader) + "</div>" + subMarkupText, topMarginForOuterGap);
+  }
+}
+function buildNameValue(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {
+  var renderMode = ctx.renderMode;
+  var noName = fragment.noName;
+  var noValue = fragment.noValue;
+  var noMarker = !fragment.markerType;
+  var name2 = fragment.name;
+  var useUTC = ctx.useUTC;
+  var valueFormatter = fragment.valueFormatter || ctx.valueFormatter || function(value) {
+    value = isArray$2(value) ? value : [value];
+    return map$1(value, function(val, idx) {
+      return makeValueReadable(val, isArray$2(valueTypeOption) ? valueTypeOption[idx] : valueTypeOption, useUTC);
+    });
+  };
+  if (noName && noValue) {
+    return;
+  }
+  var markerStr = noMarker ? "" : ctx.markupStyleCreator.makeTooltipMarker(fragment.markerType, fragment.markerColor || "#333", renderMode);
+  var readableName = noName ? "" : makeValueReadable(name2, "ordinal", useUTC);
+  var valueTypeOption = fragment.valueType;
+  var readableValueList = noValue ? [] : valueFormatter(fragment.value);
+  var valueAlignRight = !noMarker || !noName;
+  var valueCloseToMarker = !noMarker && noName;
+  var _a2 = getTooltipTextStyle(toolTipTextStyle, renderMode), nameStyle = _a2.nameStyle, valueStyle = _a2.valueStyle;
+  return renderMode === "richText" ? (noMarker ? "" : markerStr) + (noName ? "" : wrapInlineNameRichText(ctx, readableName, nameStyle)) + (noValue ? "" : wrapInlineValueRichText(ctx, readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)) : wrapBlockHTML((noMarker ? "" : markerStr) + (noName ? "" : wrapInlineNameHTML(readableName, !noMarker, nameStyle)) + (noValue ? "" : wrapInlineValueHTML(readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)), topMarginForOuterGap);
+}
+function buildTooltipMarkup(fragment, markupStyleCreator, renderMode, orderMode, useUTC, toolTipTextStyle) {
+  if (!fragment) {
+    return;
+  }
+  var builder = getBuilder(fragment);
+  var ctx = {
+    useUTC,
+    renderMode,
+    orderMode,
+    markupStyleCreator,
+    valueFormatter: fragment.valueFormatter
+  };
+  return builder(ctx, fragment, 0, toolTipTextStyle);
+}
+function getGap(gapLevel) {
+  return {
+    html: HTML_GAPS[gapLevel],
+    richText: RICH_TEXT_GAPS[gapLevel]
+  };
+}
+function wrapBlockHTML(encodedContent, topGap) {
+  var clearfix = '<div style="clear:both"></div>';
+  var marginCSS = "margin: " + topGap + "px 0 0";
+  return '<div style="' + marginCSS + ";" + TOOLTIP_LINE_HEIGHT_CSS + ';">' + encodedContent + clearfix + "</div>";
+}
+function wrapInlineNameHTML(name2, leftHasMarker, style2) {
+  var marginCss = leftHasMarker ? "margin-left:2px" : "";
+  return '<span style="' + style2 + ";" + marginCss + '">' + encodeHTML(name2) + "</span>";
+}
+function wrapInlineValueHTML(valueList, alignRight, valueCloseToMarker, style2) {
+  var paddingStr = valueCloseToMarker ? "10px" : "20px";
+  var alignCSS = alignRight ? "float:right;margin-left:" + paddingStr : "";
+  valueList = isArray$2(valueList) ? valueList : [valueList];
+  return '<span style="' + alignCSS + ";" + style2 + '">' + map$1(valueList, function(value) {
+    return encodeHTML(value);
+  }).join("&nbsp;&nbsp;") + "</span>";
+}
+function wrapInlineNameRichText(ctx, name2, style2) {
+  return ctx.markupStyleCreator.wrapRichTextStyle(name2, style2);
+}
+function wrapInlineValueRichText(ctx, values, alignRight, valueCloseToMarker, style2) {
+  var styles = [style2];
+  var paddingLeft = valueCloseToMarker ? 10 : 20;
+  alignRight && styles.push({
+    padding: [0, 0, 0, paddingLeft],
+    align: "right"
+  });
+  return ctx.markupStyleCreator.wrapRichTextStyle(isArray$2(values) ? values.join("  ") : values, styles);
+}
+function retrieveVisualColorForTooltipMarker(series, dataIndex) {
+  var style2 = series.getData().getItemVisual(dataIndex, "style");
+  var color2 = style2[series.visualDrawType];
+  return convertToColorString(color2);
+}
+function getPaddingFromTooltipModel(model2, renderMode) {
+  var padding = model2.get("padding");
+  return padding != null ? padding : renderMode === "richText" ? [8, 10] : 10;
+}
+var TooltipMarkupStyleCreator = (
+  /** @class */
+  function() {
+    function TooltipMarkupStyleCreator2() {
+      this.richTextStyles = {};
+      this._nextStyleNameId = getRandomIdBase();
+    }
+    TooltipMarkupStyleCreator2.prototype._generateStyleName = function() {
+      return "__EC_aUTo_" + this._nextStyleNameId++;
+    };
+    TooltipMarkupStyleCreator2.prototype.makeTooltipMarker = function(markerType, colorStr, renderMode) {
+      var markerId = renderMode === "richText" ? this._generateStyleName() : null;
+      var marker = getTooltipMarker({
+        color: colorStr,
+        type: markerType,
+        renderMode,
+        markerId
+      });
+      if (isString$1(marker)) {
+        return marker;
+      } else {
+        this.richTextStyles[markerId] = marker.style;
+        return marker.content;
+      }
+    };
+    TooltipMarkupStyleCreator2.prototype.wrapRichTextStyle = function(text2, styles) {
+      var finalStl = {};
+      if (isArray$2(styles)) {
+        each$f(styles, function(stl) {
+          return extend$1(finalStl, stl);
+        });
+      } else {
+        extend$1(finalStl, styles);
+      }
+      var styleName = this._generateStyleName();
+      this.richTextStyles[styleName] = finalStl;
+      return "{" + styleName + "|" + text2 + "}";
+    };
+    return TooltipMarkupStyleCreator2;
+  }()
+);
+function defaultSeriesFormatTooltip(opt) {
+  var series = opt.series;
+  var dataIndex = opt.dataIndex;
+  var multipleSeries = opt.multipleSeries;
+  var data2 = series.getData();
+  var tooltipDims = data2.mapDimensionsAll("defaultedTooltip");
+  var tooltipDimLen = tooltipDims.length;
+  var value = series.getRawValue(dataIndex);
+  var isValueArr = isArray$2(value);
+  var markerColor = retrieveVisualColorForTooltipMarker(series, dataIndex);
+  var inlineValue;
+  var inlineValueType;
+  var subBlocks;
+  var sortParam;
+  if (tooltipDimLen > 1 || isValueArr && !tooltipDimLen) {
+    var formatArrResult = formatTooltipArrayValue(value, series, dataIndex, tooltipDims, markerColor);
+    inlineValue = formatArrResult.inlineValues;
+    inlineValueType = formatArrResult.inlineValueTypes;
+    subBlocks = formatArrResult.blocks;
+    sortParam = formatArrResult.inlineValues[0];
+  } else if (tooltipDimLen) {
+    var dimInfo = data2.getDimensionInfo(tooltipDims[0]);
+    sortParam = inlineValue = retrieveRawValue(data2, dataIndex, tooltipDims[0]);
+    inlineValueType = dimInfo.type;
+  } else {
+    sortParam = inlineValue = isValueArr ? value[0] : value;
+  }
+  var seriesNameSpecified = isNameSpecified(series);
+  var seriesName = seriesNameSpecified && series.name || "";
+  var itemName = data2.getName(dataIndex);
+  var inlineName = multipleSeries ? seriesName : itemName;
+  return createTooltipMarkup("section", {
+    header: seriesName,
+    // When series name is not specified, do not show a header line with only '-'.
+    // This case always happens in tooltip.trigger: 'item'.
+    noHeader: multipleSeries || !seriesNameSpecified,
+    sortParam,
+    blocks: [createTooltipMarkup("nameValue", {
+      markerType: "item",
+      markerColor,
+      // Do not mix display seriesName and itemName in one tooltip,
+      // which might confuses users.
+      name: inlineName,
+      // name dimension might be auto assigned, where the name might
+      // be not readable. So we check trim here.
+      noName: !trim$2(inlineName),
+      value: inlineValue,
+      valueType: inlineValueType
+    })].concat(subBlocks || [])
+  });
+}
+function formatTooltipArrayValue(value, series, dataIndex, tooltipDims, colorStr) {
+  var data2 = series.getData();
+  var isValueMultipleLine = reduce(value, function(isValueMultipleLine2, val, idx) {
+    var dimItem = data2.getDimensionInfo(idx);
+    return isValueMultipleLine2 = isValueMultipleLine2 || dimItem && dimItem.tooltip !== false && dimItem.displayName != null;
+  }, false);
+  var inlineValues = [];
+  var inlineValueTypes = [];
+  var blocks = [];
+  tooltipDims.length ? each$f(tooltipDims, function(dim) {
+    setEachItem(retrieveRawValue(data2, dataIndex, dim), dim);
+  }) : each$f(value, setEachItem);
+  function setEachItem(val, dim) {
+    var dimInfo = data2.getDimensionInfo(dim);
+    if (!dimInfo || dimInfo.otherDims.tooltip === false) {
+      return;
+    }
+    if (isValueMultipleLine) {
+      blocks.push(createTooltipMarkup("nameValue", {
+        markerType: "subItem",
+        markerColor: colorStr,
+        name: dimInfo.displayName,
+        value: val,
+        valueType: dimInfo.type
+      }));
+    } else {
+      inlineValues.push(val);
+      inlineValueTypes.push(dimInfo.type);
+    }
+  }
+  return {
+    inlineValues,
+    inlineValueTypes,
+    blocks
+  };
+}
+var inner$k = makeInner();
+function getSelectionKey(data2, dataIndex) {
+  return data2.getName(dataIndex) || data2.getId(dataIndex);
+}
+var SERIES_UNIVERSAL_TRANSITION_PROP = "__universalTransitionEnabled";
+var SeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(SeriesModel2, _super);
+    function SeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this._selectedDataIndicesMap = {};
+      return _this;
+    }
+    SeriesModel2.prototype.init = function(option, parentModel, ecModel) {
+      this.seriesIndex = this.componentIndex;
+      this.dataTask = createTask({
+        count: dataTaskCount,
+        reset: dataTaskReset
+      });
+      this.dataTask.context = {
+        model: this
+      };
+      this.mergeDefaultAndTheme(option, ecModel);
+      var sourceManager = inner$k(this).sourceManager = new SourceManager(this);
+      sourceManager.prepareSource();
+      var data2 = this.getInitialData(option, ecModel);
+      wrapData(data2, this);
+      this.dataTask.context.data = data2;
+      inner$k(this).dataBeforeProcessed = data2;
+      autoSeriesName(this);
+      this._initSelectedMapFromData(data2);
+    };
+    SeriesModel2.prototype.mergeDefaultAndTheme = function(option, ecModel) {
+      var layoutMode = fetchLayoutMode(this);
+      var inputPositionParams = layoutMode ? getLayoutParams(option) : {};
+      var themeSubType = this.subType;
+      if (ComponentModel$1.hasClass(themeSubType)) {
+        themeSubType += "Series";
+      }
+      merge$1(option, ecModel.getTheme().get(this.subType));
+      merge$1(option, this.getDefaultOption());
+      defaultEmphasis(option, "label", ["show"]);
+      this.fillDataTextStyle(option.data);
+      if (layoutMode) {
+        mergeLayoutParam(option, inputPositionParams, layoutMode);
+      }
+    };
+    SeriesModel2.prototype.mergeOption = function(newSeriesOption, ecModel) {
+      newSeriesOption = merge$1(this.option, newSeriesOption, true);
+      this.fillDataTextStyle(newSeriesOption.data);
+      var layoutMode = fetchLayoutMode(this);
+      if (layoutMode) {
+        mergeLayoutParam(this.option, newSeriesOption, layoutMode);
+      }
+      var sourceManager = inner$k(this).sourceManager;
+      sourceManager.dirty();
+      sourceManager.prepareSource();
+      var data2 = this.getInitialData(newSeriesOption, ecModel);
+      wrapData(data2, this);
+      this.dataTask.dirty();
+      this.dataTask.context.data = data2;
+      inner$k(this).dataBeforeProcessed = data2;
+      autoSeriesName(this);
+      this._initSelectedMapFromData(data2);
+    };
+    SeriesModel2.prototype.fillDataTextStyle = function(data2) {
+      if (data2 && !isTypedArray$1(data2)) {
+        var props2 = ["show"];
+        for (var i2 = 0; i2 < data2.length; i2++) {
+          if (data2[i2] && data2[i2].label) {
+            defaultEmphasis(data2[i2], "label", props2);
+          }
+        }
+      }
+    };
+    SeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return;
+    };
+    SeriesModel2.prototype.appendData = function(params2) {
+      var data2 = this.getRawData();
+      data2.appendData(params2.data);
+    };
+    SeriesModel2.prototype.getData = function(dataType) {
+      var task2 = getCurrentTask(this);
+      if (task2) {
+        var data2 = task2.context.data;
+        return dataType == null ? data2 : data2.getLinkedData(dataType);
+      } else {
+        return inner$k(this).data;
+      }
+    };
+    SeriesModel2.prototype.getAllData = function() {
+      var mainData = this.getData();
+      return mainData && mainData.getLinkedDataAll ? mainData.getLinkedDataAll() : [{
+        data: mainData
+      }];
+    };
+    SeriesModel2.prototype.setData = function(data2) {
+      var task2 = getCurrentTask(this);
+      if (task2) {
+        var context = task2.context;
+        context.outputData = data2;
+        if (task2 !== this.dataTask) {
+          context.data = data2;
+        }
+      }
+      inner$k(this).data = data2;
+    };
+    SeriesModel2.prototype.getEncode = function() {
+      var encode2 = this.get("encode", true);
+      if (encode2) {
+        return createHashMap(encode2);
+      }
+    };
+    SeriesModel2.prototype.getSourceManager = function() {
+      return inner$k(this).sourceManager;
+    };
+    SeriesModel2.prototype.getSource = function() {
+      return this.getSourceManager().getSource();
+    };
+    SeriesModel2.prototype.getRawData = function() {
+      return inner$k(this).dataBeforeProcessed;
+    };
+    SeriesModel2.prototype.getColorBy = function() {
+      var colorBy = this.get("colorBy");
+      return colorBy || "series";
+    };
+    SeriesModel2.prototype.isColorBySeries = function() {
+      return this.getColorBy() === "series";
+    };
+    SeriesModel2.prototype.getBaseAxis = function() {
+      var coordSys = this.coordinateSystem;
+      return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();
+    };
+    SeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      return defaultSeriesFormatTooltip({
+        series: this,
+        dataIndex,
+        multipleSeries
+      });
+    };
+    SeriesModel2.prototype.isAnimationEnabled = function() {
+      var ecModel = this.ecModel;
+      if (env$1.node && !(ecModel && ecModel.ssr)) {
+        return false;
+      }
+      var animationEnabled = this.getShallow("animation");
+      if (animationEnabled) {
+        if (this.getData().count() > this.getShallow("animationThreshold")) {
+          animationEnabled = false;
+        }
+      }
+      return !!animationEnabled;
+    };
+    SeriesModel2.prototype.restoreData = function() {
+      this.dataTask.dirty();
+    };
+    SeriesModel2.prototype.getColorFromPalette = function(name2, scope, requestColorNum) {
+      var ecModel = this.ecModel;
+      var color2 = PaletteMixin.prototype.getColorFromPalette.call(this, name2, scope, requestColorNum);
+      if (!color2) {
+        color2 = ecModel.getColorFromPalette(name2, scope, requestColorNum);
+      }
+      return color2;
+    };
+    SeriesModel2.prototype.coordDimToDataDim = function(coordDim) {
+      return this.getRawData().mapDimensionsAll(coordDim);
+    };
+    SeriesModel2.prototype.getProgressive = function() {
+      return this.get("progressive");
+    };
+    SeriesModel2.prototype.getProgressiveThreshold = function() {
+      return this.get("progressiveThreshold");
+    };
+    SeriesModel2.prototype.select = function(innerDataIndices, dataType) {
+      this._innerSelect(this.getData(dataType), innerDataIndices);
+    };
+    SeriesModel2.prototype.unselect = function(innerDataIndices, dataType) {
+      var selectedMap = this.option.selectedMap;
+      if (!selectedMap) {
+        return;
+      }
+      var selectedMode = this.option.selectedMode;
+      var data2 = this.getData(dataType);
+      if (selectedMode === "series" || selectedMap === "all") {
+        this.option.selectedMap = {};
+        this._selectedDataIndicesMap = {};
+        return;
+      }
+      for (var i2 = 0; i2 < innerDataIndices.length; i2++) {
+        var dataIndex = innerDataIndices[i2];
+        var nameOrId = getSelectionKey(data2, dataIndex);
+        selectedMap[nameOrId] = false;
+        this._selectedDataIndicesMap[nameOrId] = -1;
+      }
+    };
+    SeriesModel2.prototype.toggleSelect = function(innerDataIndices, dataType) {
+      var tmpArr2 = [];
+      for (var i2 = 0; i2 < innerDataIndices.length; i2++) {
+        tmpArr2[0] = innerDataIndices[i2];
+        this.isSelected(innerDataIndices[i2], dataType) ? this.unselect(tmpArr2, dataType) : this.select(tmpArr2, dataType);
+      }
+    };
+    SeriesModel2.prototype.getSelectedDataIndices = function() {
+      if (this.option.selectedMap === "all") {
+        return [].slice.call(this.getData().getIndices());
+      }
+      var selectedDataIndicesMap = this._selectedDataIndicesMap;
+      var nameOrIds = keys(selectedDataIndicesMap);
+      var dataIndices = [];
+      for (var i2 = 0; i2 < nameOrIds.length; i2++) {
+        var dataIndex = selectedDataIndicesMap[nameOrIds[i2]];
+        if (dataIndex >= 0) {
+          dataIndices.push(dataIndex);
+        }
+      }
+      return dataIndices;
+    };
+    SeriesModel2.prototype.isSelected = function(dataIndex, dataType) {
+      var selectedMap = this.option.selectedMap;
+      if (!selectedMap) {
+        return false;
+      }
+      var data2 = this.getData(dataType);
+      return (selectedMap === "all" || selectedMap[getSelectionKey(data2, dataIndex)]) && !data2.getItemModel(dataIndex).get(["select", "disabled"]);
+    };
+    SeriesModel2.prototype.isUniversalTransitionEnabled = function() {
+      if (this[SERIES_UNIVERSAL_TRANSITION_PROP]) {
+        return true;
+      }
+      var universalTransitionOpt = this.option.universalTransition;
+      if (!universalTransitionOpt) {
+        return false;
+      }
+      if (universalTransitionOpt === true) {
+        return true;
+      }
+      return universalTransitionOpt && universalTransitionOpt.enabled;
+    };
+    SeriesModel2.prototype._innerSelect = function(data2, innerDataIndices) {
+      var _a2, _b2;
+      var option = this.option;
+      var selectedMode = option.selectedMode;
+      var len2 = innerDataIndices.length;
+      if (!selectedMode || !len2) {
+        return;
+      }
+      if (selectedMode === "series") {
+        option.selectedMap = "all";
+      } else if (selectedMode === "multiple") {
+        if (!isObject$4(option.selectedMap)) {
+          option.selectedMap = {};
+        }
+        var selectedMap = option.selectedMap;
+        for (var i2 = 0; i2 < len2; i2++) {
+          var dataIndex = innerDataIndices[i2];
+          var nameOrId = getSelectionKey(data2, dataIndex);
+          selectedMap[nameOrId] = true;
+          this._selectedDataIndicesMap[nameOrId] = data2.getRawIndex(dataIndex);
+        }
+      } else if (selectedMode === "single" || selectedMode === true) {
+        var lastDataIndex = innerDataIndices[len2 - 1];
+        var nameOrId = getSelectionKey(data2, lastDataIndex);
+        option.selectedMap = (_a2 = {}, _a2[nameOrId] = true, _a2);
+        this._selectedDataIndicesMap = (_b2 = {}, _b2[nameOrId] = data2.getRawIndex(lastDataIndex), _b2);
+      }
+    };
+    SeriesModel2.prototype._initSelectedMapFromData = function(data2) {
+      if (this.option.selectedMap) {
+        return;
+      }
+      var dataIndices = [];
+      if (data2.hasItemOption) {
+        data2.each(function(idx) {
+          var rawItem = data2.getRawDataItem(idx);
+          if (rawItem && rawItem.selected) {
+            dataIndices.push(idx);
+          }
+        });
+      }
+      if (dataIndices.length > 0) {
+        this._innerSelect(data2, dataIndices);
+      }
+    };
+    SeriesModel2.registerClass = function(clz) {
+      return ComponentModel$1.registerClass(clz);
+    };
+    SeriesModel2.protoInitialize = function() {
+      var proto2 = SeriesModel2.prototype;
+      proto2.type = "series.__base__";
+      proto2.seriesIndex = 0;
+      proto2.ignoreStyleOnData = false;
+      proto2.hasSymbolVisual = false;
+      proto2.defaultSymbol = "circle";
+      proto2.visualStyleAccessPath = "itemStyle";
+      proto2.visualDrawType = "fill";
+    }();
+    return SeriesModel2;
+  }(ComponentModel$1)
+);
+mixin(SeriesModel, DataFormatMixin);
+mixin(SeriesModel, PaletteMixin);
+mountExtend(SeriesModel, ComponentModel$1);
+function autoSeriesName(seriesModel) {
+  var name2 = seriesModel.name;
+  if (!isNameSpecified(seriesModel)) {
+    seriesModel.name = getSeriesAutoName(seriesModel) || name2;
+  }
+}
+function getSeriesAutoName(seriesModel) {
+  var data2 = seriesModel.getRawData();
+  var dataDims = data2.mapDimensionsAll("seriesName");
+  var nameArr = [];
+  each$f(dataDims, function(dataDim) {
+    var dimInfo = data2.getDimensionInfo(dataDim);
+    dimInfo.displayName && nameArr.push(dimInfo.displayName);
+  });
+  return nameArr.join(" ");
+}
+function dataTaskCount(context) {
+  return context.model.getRawData().count();
+}
+function dataTaskReset(context) {
+  var seriesModel = context.model;
+  seriesModel.setData(seriesModel.getRawData().cloneShallow());
+  return dataTaskProgress;
+}
+function dataTaskProgress(param2, context) {
+  if (context.outputData && param2.end > context.outputData.count()) {
+    context.model.getRawData().cloneShallow(context.outputData);
+  }
+}
+function wrapData(data2, seriesModel) {
+  each$f(concatArray(data2.CHANGABLE_METHODS, data2.DOWNSAMPLE_METHODS), function(methodName) {
+    data2.wrapMethod(methodName, curry$1(onDataChange, seriesModel));
+  });
+}
+function onDataChange(seriesModel, newList) {
+  var task2 = getCurrentTask(seriesModel);
+  if (task2) {
+    task2.setOutputEnd((newList || this).count());
+  }
+  return newList;
+}
+function getCurrentTask(seriesModel) {
+  var scheduler = (seriesModel.ecModel || {}).scheduler;
+  var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);
+  if (pipeline) {
+    var task2 = pipeline.currentTask;
+    if (task2) {
+      var agentStubMap = task2.agentStubMap;
+      if (agentStubMap) {
+        task2 = agentStubMap.get(seriesModel.uid);
+      }
+    }
+    return task2;
+  }
+}
+const SeriesModel$1 = SeriesModel;
+var ComponentView = (
+  /** @class */
+  function() {
+    function ComponentView2() {
+      this.group = new Group$4();
+      this.uid = getUID("viewComponent");
+    }
+    ComponentView2.prototype.init = function(ecModel, api2) {
+    };
+    ComponentView2.prototype.render = function(model2, ecModel, api2, payload) {
+    };
+    ComponentView2.prototype.dispose = function(ecModel, api2) {
+    };
+    ComponentView2.prototype.updateView = function(model2, ecModel, api2, payload) {
+    };
+    ComponentView2.prototype.updateLayout = function(model2, ecModel, api2, payload) {
+    };
+    ComponentView2.prototype.updateVisual = function(model2, ecModel, api2, payload) {
+    };
+    ComponentView2.prototype.toggleBlurSeries = function(seriesModels, isBlur, ecModel) {
+    };
+    ComponentView2.prototype.eachRendered = function(cb) {
+      var group = this.group;
+      if (group) {
+        group.traverse(cb);
+      }
+    };
+    return ComponentView2;
+  }()
+);
+enableClassExtend(ComponentView);
+enableClassManagement(ComponentView);
+const ComponentView$1 = ComponentView;
+function createRenderPlanner() {
+  var inner2 = makeInner();
+  return function(seriesModel) {
+    var fields = inner2(seriesModel);
+    var pipelineContext = seriesModel.pipelineContext;
+    var originalLarge = !!fields.large;
+    var originalProgressive = !!fields.progressiveRender;
+    var large = fields.large = !!(pipelineContext && pipelineContext.large);
+    var progressive = fields.progressiveRender = !!(pipelineContext && pipelineContext.progressiveRender);
+    return !!(originalLarge !== large || originalProgressive !== progressive) && "reset";
+  };
+}
+var inner$j = makeInner();
+var renderPlanner = createRenderPlanner();
+var ChartView = (
+  /** @class */
+  function() {
+    function ChartView2() {
+      this.group = new Group$4();
+      this.uid = getUID("viewChart");
+      this.renderTask = createTask({
+        plan: renderTaskPlan,
+        reset: renderTaskReset
+      });
+      this.renderTask.context = {
+        view: this
+      };
+    }
+    ChartView2.prototype.init = function(ecModel, api2) {
+    };
+    ChartView2.prototype.render = function(seriesModel, ecModel, api2, payload) {
+    };
+    ChartView2.prototype.highlight = function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData(payload && payload.dataType);
+      if (!data2) {
+        return;
+      }
+      toggleHighlight(data2, payload, "emphasis");
+    };
+    ChartView2.prototype.downplay = function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData(payload && payload.dataType);
+      if (!data2) {
+        return;
+      }
+      toggleHighlight(data2, payload, "normal");
+    };
+    ChartView2.prototype.remove = function(ecModel, api2) {
+      this.group.removeAll();
+    };
+    ChartView2.prototype.dispose = function(ecModel, api2) {
+    };
+    ChartView2.prototype.updateView = function(seriesModel, ecModel, api2, payload) {
+      this.render(seriesModel, ecModel, api2, payload);
+    };
+    ChartView2.prototype.updateLayout = function(seriesModel, ecModel, api2, payload) {
+      this.render(seriesModel, ecModel, api2, payload);
+    };
+    ChartView2.prototype.updateVisual = function(seriesModel, ecModel, api2, payload) {
+      this.render(seriesModel, ecModel, api2, payload);
+    };
+    ChartView2.prototype.eachRendered = function(cb) {
+      traverseElements(this.group, cb);
+    };
+    ChartView2.markUpdateMethod = function(payload, methodName) {
+      inner$j(payload).updateMethod = methodName;
+    };
+    ChartView2.protoInitialize = function() {
+      var proto2 = ChartView2.prototype;
+      proto2.type = "chart";
+    }();
+    return ChartView2;
+  }()
+);
+function elSetState(el, state, highlightDigit) {
+  if (el && isHighDownDispatcher(el)) {
+    (state === "emphasis" ? enterEmphasis : leaveEmphasis)(el, highlightDigit);
+  }
+}
+function toggleHighlight(data2, payload, state) {
+  var dataIndex = queryDataIndex(data2, payload);
+  var highlightDigit = payload && payload.highlightKey != null ? getHighlightDigit(payload.highlightKey) : null;
+  if (dataIndex != null) {
+    each$f(normalizeToArray(dataIndex), function(dataIdx) {
+      elSetState(data2.getItemGraphicEl(dataIdx), state, highlightDigit);
+    });
+  } else {
+    data2.eachItemGraphicEl(function(el) {
+      elSetState(el, state, highlightDigit);
+    });
+  }
+}
+enableClassExtend(ChartView);
+enableClassManagement(ChartView);
+function renderTaskPlan(context) {
+  return renderPlanner(context.model);
+}
+function renderTaskReset(context) {
+  var seriesModel = context.model;
+  var ecModel = context.ecModel;
+  var api2 = context.api;
+  var payload = context.payload;
+  var progressiveRender = seriesModel.pipelineContext.progressiveRender;
+  var view = context.view;
+  var updateMethod = payload && inner$j(payload).updateMethod;
+  var methodName = progressiveRender ? "incrementalPrepareRender" : updateMethod && view[updateMethod] ? updateMethod : "render";
+  if (methodName !== "render") {
+    view[methodName](seriesModel, ecModel, api2, payload);
+  }
+  return progressMethodMap[methodName];
+}
+var progressMethodMap = {
+  incrementalPrepareRender: {
+    progress: function(params2, context) {
+      context.view.incrementalRender(params2, context.model, context.ecModel, context.api, context.payload);
+    }
+  },
+  render: {
+    // Put view.render in `progress` to support appendData. But in this case
+    // view.render should not be called in reset, otherwise it will be called
+    // twise. Use `forceFirstProgress` to make sure that view.render is called
+    // in any cases.
+    forceFirstProgress: true,
+    progress: function(params2, context) {
+      context.view.render(context.model, context.ecModel, context.api, context.payload);
+    }
+  }
+};
+const ChartView$1 = ChartView;
+var ORIGIN_METHOD = "\0__throttleOriginMethod";
+var RATE = "\0__throttleRate";
+var THROTTLE_TYPE = "\0__throttleType";
+function throttle$1(fn, delay, debounce) {
+  var currCall;
+  var lastCall = 0;
+  var lastExec = 0;
+  var timer2 = null;
+  var diff;
+  var scope;
+  var args;
+  var debounceNextCall;
+  delay = delay || 0;
+  function exec() {
+    lastExec = (/* @__PURE__ */ new Date()).getTime();
+    timer2 = null;
+    fn.apply(scope, args || []);
+  }
+  var cb = function() {
+    var cbArgs = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      cbArgs[_i] = arguments[_i];
+    }
+    currCall = (/* @__PURE__ */ new Date()).getTime();
+    scope = this;
+    args = cbArgs;
+    var thisDelay = debounceNextCall || delay;
+    var thisDebounce = debounceNextCall || debounce;
+    debounceNextCall = null;
+    diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;
+    clearTimeout(timer2);
+    if (thisDebounce) {
+      timer2 = setTimeout(exec, thisDelay);
+    } else {
+      if (diff >= 0) {
+        exec();
+      } else {
+        timer2 = setTimeout(exec, -diff);
+      }
+    }
+    lastCall = currCall;
+  };
+  cb.clear = function() {
+    if (timer2) {
+      clearTimeout(timer2);
+      timer2 = null;
+    }
+  };
+  cb.debounceNextCall = function(debounceDelay) {
+    debounceNextCall = debounceDelay;
+  };
+  return cb;
+}
+function createOrUpdate(obj2, fnAttr, rate, throttleType) {
+  var fn = obj2[fnAttr];
+  if (!fn) {
+    return;
+  }
+  var originFn = fn[ORIGIN_METHOD] || fn;
+  var lastThrottleType = fn[THROTTLE_TYPE];
+  var lastRate = fn[RATE];
+  if (lastRate !== rate || lastThrottleType !== throttleType) {
+    if (rate == null || !throttleType) {
+      return obj2[fnAttr] = originFn;
+    }
+    fn = obj2[fnAttr] = throttle$1(originFn, rate, throttleType === "debounce");
+    fn[ORIGIN_METHOD] = originFn;
+    fn[THROTTLE_TYPE] = throttleType;
+    fn[RATE] = rate;
+  }
+  return fn;
+}
+function clear$1(obj2, fnAttr) {
+  var fn = obj2[fnAttr];
+  if (fn && fn[ORIGIN_METHOD]) {
+    fn.clear && fn.clear();
+    obj2[fnAttr] = fn[ORIGIN_METHOD];
+  }
+}
+var inner$i = makeInner();
+var defaultStyleMappers = {
+  itemStyle: makeStyleMapper(ITEM_STYLE_KEY_MAP, true),
+  lineStyle: makeStyleMapper(LINE_STYLE_KEY_MAP, true)
+};
+var defaultColorKey = {
+  lineStyle: "stroke",
+  itemStyle: "fill"
+};
+function getStyleMapper(seriesModel, stylePath) {
+  var styleMapper = seriesModel.visualStyleMapper || defaultStyleMappers[stylePath];
+  if (!styleMapper) {
+    console.warn("Unknown style type '" + stylePath + "'.");
+    return defaultStyleMappers.itemStyle;
+  }
+  return styleMapper;
+}
+function getDefaultColorKey(seriesModel, stylePath) {
+  var colorKey = seriesModel.visualDrawType || defaultColorKey[stylePath];
+  if (!colorKey) {
+    console.warn("Unknown style type '" + stylePath + "'.");
+    return "fill";
+  }
+  return colorKey;
+}
+var seriesStyleTask = {
+  createOnAllSeries: true,
+  performRawSeries: true,
+  reset: function(seriesModel, ecModel) {
+    var data2 = seriesModel.getData();
+    var stylePath = seriesModel.visualStyleAccessPath || "itemStyle";
+    var styleModel = seriesModel.getModel(stylePath);
+    var getStyle2 = getStyleMapper(seriesModel, stylePath);
+    var globalStyle = getStyle2(styleModel);
+    var decalOption = styleModel.getShallow("decal");
+    if (decalOption) {
+      data2.setVisual("decal", decalOption);
+      decalOption.dirty = true;
+    }
+    var colorKey = getDefaultColorKey(seriesModel, stylePath);
+    var color2 = globalStyle[colorKey];
+    var colorCallback = isFunction$1(color2) ? color2 : null;
+    var hasAutoColor = globalStyle.fill === "auto" || globalStyle.stroke === "auto";
+    if (!globalStyle[colorKey] || colorCallback || hasAutoColor) {
+      var colorPalette2 = seriesModel.getColorFromPalette(
+        // TODO series count changed.
+        seriesModel.name,
+        null,
+        ecModel.getSeriesCount()
+      );
+      if (!globalStyle[colorKey]) {
+        globalStyle[colorKey] = colorPalette2;
+        data2.setVisual("colorFromPalette", true);
+      }
+      globalStyle.fill = globalStyle.fill === "auto" || isFunction$1(globalStyle.fill) ? colorPalette2 : globalStyle.fill;
+      globalStyle.stroke = globalStyle.stroke === "auto" || isFunction$1(globalStyle.stroke) ? colorPalette2 : globalStyle.stroke;
+    }
+    data2.setVisual("style", globalStyle);
+    data2.setVisual("drawType", colorKey);
+    if (!ecModel.isSeriesFiltered(seriesModel) && colorCallback) {
+      data2.setVisual("colorFromPalette", false);
+      return {
+        dataEach: function(data3, idx) {
+          var dataParams = seriesModel.getDataParams(idx);
+          var itemStyle2 = extend$1({}, globalStyle);
+          itemStyle2[colorKey] = colorCallback(dataParams);
+          data3.setItemVisual(idx, "style", itemStyle2);
+        }
+      };
+    }
+  }
+};
+var sharedModel = new Model$1();
+var dataStyleTask = {
+  createOnAllSeries: true,
+  performRawSeries: true,
+  reset: function(seriesModel, ecModel) {
+    if (seriesModel.ignoreStyleOnData || ecModel.isSeriesFiltered(seriesModel)) {
+      return;
+    }
+    var data2 = seriesModel.getData();
+    var stylePath = seriesModel.visualStyleAccessPath || "itemStyle";
+    var getStyle2 = getStyleMapper(seriesModel, stylePath);
+    var colorKey = data2.getVisual("drawType");
+    return {
+      dataEach: data2.hasItemOption ? function(data3, idx) {
+        var rawItem = data3.getRawDataItem(idx);
+        if (rawItem && rawItem[stylePath]) {
+          sharedModel.option = rawItem[stylePath];
+          var style2 = getStyle2(sharedModel);
+          var existsStyle = data3.ensureUniqueItemVisual(idx, "style");
+          extend$1(existsStyle, style2);
+          if (sharedModel.option.decal) {
+            data3.setItemVisual(idx, "decal", sharedModel.option.decal);
+            sharedModel.option.decal.dirty = true;
+          }
+          if (colorKey in style2) {
+            data3.setItemVisual(idx, "colorFromPalette", false);
+          }
+        }
+      } : null
+    };
+  }
+};
+var dataColorPaletteTask = {
+  performRawSeries: true,
+  overallReset: function(ecModel) {
+    var paletteScopeGroupByType = createHashMap();
+    ecModel.eachSeries(function(seriesModel) {
+      var colorBy = seriesModel.getColorBy();
+      if (seriesModel.isColorBySeries()) {
+        return;
+      }
+      var key2 = seriesModel.type + "-" + colorBy;
+      var colorScope = paletteScopeGroupByType.get(key2);
+      if (!colorScope) {
+        colorScope = {};
+        paletteScopeGroupByType.set(key2, colorScope);
+      }
+      inner$i(seriesModel).scope = colorScope;
+    });
+    ecModel.eachSeries(function(seriesModel) {
+      if (seriesModel.isColorBySeries() || ecModel.isSeriesFiltered(seriesModel)) {
+        return;
+      }
+      var dataAll = seriesModel.getRawData();
+      var idxMap = {};
+      var data2 = seriesModel.getData();
+      var colorScope = inner$i(seriesModel).scope;
+      var stylePath = seriesModel.visualStyleAccessPath || "itemStyle";
+      var colorKey = getDefaultColorKey(seriesModel, stylePath);
+      data2.each(function(idx) {
+        var rawIdx = data2.getRawIndex(idx);
+        idxMap[rawIdx] = idx;
+      });
+      dataAll.each(function(rawIdx) {
+        var idx = idxMap[rawIdx];
+        var fromPalette = data2.getItemVisual(idx, "colorFromPalette");
+        if (fromPalette) {
+          var itemStyle2 = data2.ensureUniqueItemVisual(idx, "style");
+          var name_1 = dataAll.getName(rawIdx) || rawIdx + "";
+          var dataCount = dataAll.count();
+          itemStyle2[colorKey] = seriesModel.getColorFromPalette(name_1, colorScope, dataCount);
+        }
+      });
+    });
+  }
+};
+var PI$5 = Math.PI;
+function defaultLoading(api2, opts2) {
+  opts2 = opts2 || {};
+  defaults$2(opts2, {
+    text: "loading",
+    textColor: "#000",
+    fontSize: 12,
+    fontWeight: "normal",
+    fontStyle: "normal",
+    fontFamily: "sans-serif",
+    maskColor: "rgba(255, 255, 255, 0.8)",
+    showSpinner: true,
+    color: "#5470c6",
+    spinnerRadius: 10,
+    lineWidth: 5,
+    zlevel: 0
+  });
+  var group = new Group$4();
+  var mask = new Rect$3({
+    style: {
+      fill: opts2.maskColor
+    },
+    zlevel: opts2.zlevel,
+    z: 1e4
+  });
+  group.add(mask);
+  var textContent = new ZRText$1({
+    style: {
+      text: opts2.text,
+      fill: opts2.textColor,
+      fontSize: opts2.fontSize,
+      fontWeight: opts2.fontWeight,
+      fontStyle: opts2.fontStyle,
+      fontFamily: opts2.fontFamily
+    },
+    zlevel: opts2.zlevel,
+    z: 10001
+  });
+  var labelRect = new Rect$3({
+    style: {
+      fill: "none"
+    },
+    textContent,
+    textConfig: {
+      position: "right",
+      distance: 10
+    },
+    zlevel: opts2.zlevel,
+    z: 10001
+  });
+  group.add(labelRect);
+  var arc2;
+  if (opts2.showSpinner) {
+    arc2 = new Arc$1({
+      shape: {
+        startAngle: -PI$5 / 2,
+        endAngle: -PI$5 / 2 + 0.1,
+        r: opts2.spinnerRadius
+      },
+      style: {
+        stroke: opts2.color,
+        lineCap: "round",
+        lineWidth: opts2.lineWidth
+      },
+      zlevel: opts2.zlevel,
+      z: 10001
+    });
+    arc2.animateShape(true).when(1e3, {
+      endAngle: PI$5 * 3 / 2
+    }).start("circularInOut");
+    arc2.animateShape(true).when(1e3, {
+      startAngle: PI$5 * 3 / 2
+    }).delay(300).start("circularInOut");
+    group.add(arc2);
+  }
+  group.resize = function() {
+    var textWidth = textContent.getBoundingRect().width;
+    var r2 = opts2.showSpinner ? opts2.spinnerRadius : 0;
+    var cx = (api2.getWidth() - r2 * 2 - (opts2.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 - (opts2.showSpinner && textWidth ? 0 : 5 + textWidth / 2) + (opts2.showSpinner ? 0 : textWidth / 2) + (textWidth ? 0 : r2);
+    var cy = api2.getHeight() / 2;
+    opts2.showSpinner && arc2.setShape({
+      cx,
+      cy
+    });
+    labelRect.setShape({
+      x: cx - r2,
+      y: cy - r2,
+      width: r2 * 2,
+      height: r2 * 2
+    });
+    mask.setShape({
+      x: 0,
+      y: 0,
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+  };
+  group.resize();
+  return group;
+}
+var Scheduler = (
+  /** @class */
+  function() {
+    function Scheduler2(ecInstance, api2, dataProcessorHandlers, visualHandlers) {
+      this._stageTaskMap = createHashMap();
+      this.ecInstance = ecInstance;
+      this.api = api2;
+      dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();
+      visualHandlers = this._visualHandlers = visualHandlers.slice();
+      this._allHandlers = dataProcessorHandlers.concat(visualHandlers);
+    }
+    Scheduler2.prototype.restoreData = function(ecModel, payload) {
+      ecModel.restoreData(payload);
+      this._stageTaskMap.each(function(taskRecord) {
+        var overallTask = taskRecord.overallTask;
+        overallTask && overallTask.dirty();
+      });
+    };
+    Scheduler2.prototype.getPerformArgs = function(task2, isBlock) {
+      if (!task2.__pipeline) {
+        return;
+      }
+      var pipeline = this._pipelineMap.get(task2.__pipeline.id);
+      var pCtx = pipeline.context;
+      var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task2.__idxInPipeline > pipeline.blockIndex;
+      var step2 = incremental ? pipeline.step : null;
+      var modDataCount = pCtx && pCtx.modDataCount;
+      var modBy = modDataCount != null ? Math.ceil(modDataCount / step2) : null;
+      return {
+        step: step2,
+        modBy,
+        modDataCount
+      };
+    };
+    Scheduler2.prototype.getPipeline = function(pipelineId) {
+      return this._pipelineMap.get(pipelineId);
+    };
+    Scheduler2.prototype.updateStreamModes = function(seriesModel, view) {
+      var pipeline = this._pipelineMap.get(seriesModel.uid);
+      var data2 = seriesModel.getData();
+      var dataLen = data2.count();
+      var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;
+      var large = seriesModel.get("large") && dataLen >= seriesModel.get("largeThreshold");
+      var modDataCount = seriesModel.get("progressiveChunkMode") === "mod" ? dataLen : null;
+      seriesModel.pipelineContext = pipeline.context = {
+        progressiveRender,
+        modDataCount,
+        large
+      };
+    };
+    Scheduler2.prototype.restorePipelines = function(ecModel) {
+      var scheduler = this;
+      var pipelineMap = scheduler._pipelineMap = createHashMap();
+      ecModel.eachSeries(function(seriesModel) {
+        var progressive = seriesModel.getProgressive();
+        var pipelineId = seriesModel.uid;
+        pipelineMap.set(pipelineId, {
+          id: pipelineId,
+          head: null,
+          tail: null,
+          threshold: seriesModel.getProgressiveThreshold(),
+          progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),
+          blockIndex: -1,
+          step: Math.round(progressive || 700),
+          count: 0
+        });
+        scheduler._pipe(seriesModel, seriesModel.dataTask);
+      });
+    };
+    Scheduler2.prototype.prepareStageTasks = function() {
+      var stageTaskMap = this._stageTaskMap;
+      var ecModel = this.api.getModel();
+      var api2 = this.api;
+      each$f(this._allHandlers, function(handler) {
+        var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, {});
+        var errMsg = "";
+        assert(!(handler.reset && handler.overallReset), errMsg);
+        handler.reset && this._createSeriesStageTask(handler, record, ecModel, api2);
+        handler.overallReset && this._createOverallStageTask(handler, record, ecModel, api2);
+      }, this);
+    };
+    Scheduler2.prototype.prepareView = function(view, model2, ecModel, api2) {
+      var renderTask = view.renderTask;
+      var context = renderTask.context;
+      context.model = model2;
+      context.ecModel = ecModel;
+      context.api = api2;
+      renderTask.__block = !view.incrementalPrepareRender;
+      this._pipe(model2, renderTask);
+    };
+    Scheduler2.prototype.performDataProcessorTasks = function(ecModel, payload) {
+      this._performStageTasks(this._dataProcessorHandlers, ecModel, payload, {
+        block: true
+      });
+    };
+    Scheduler2.prototype.performVisualTasks = function(ecModel, payload, opt) {
+      this._performStageTasks(this._visualHandlers, ecModel, payload, opt);
+    };
+    Scheduler2.prototype._performStageTasks = function(stageHandlers, ecModel, payload, opt) {
+      opt = opt || {};
+      var unfinished = false;
+      var scheduler = this;
+      each$f(stageHandlers, function(stageHandler, idx) {
+        if (opt.visualType && opt.visualType !== stageHandler.visualType) {
+          return;
+        }
+        var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);
+        var seriesTaskMap = stageHandlerRecord.seriesTaskMap;
+        var overallTask = stageHandlerRecord.overallTask;
+        if (overallTask) {
+          var overallNeedDirty_1;
+          var agentStubMap = overallTask.agentStubMap;
+          agentStubMap.each(function(stub) {
+            if (needSetDirty(opt, stub)) {
+              stub.dirty();
+              overallNeedDirty_1 = true;
+            }
+          });
+          overallNeedDirty_1 && overallTask.dirty();
+          scheduler.updatePayload(overallTask, payload);
+          var performArgs_1 = scheduler.getPerformArgs(overallTask, opt.block);
+          agentStubMap.each(function(stub) {
+            stub.perform(performArgs_1);
+          });
+          if (overallTask.perform(performArgs_1)) {
+            unfinished = true;
+          }
+        } else if (seriesTaskMap) {
+          seriesTaskMap.each(function(task2, pipelineId) {
+            if (needSetDirty(opt, task2)) {
+              task2.dirty();
+            }
+            var performArgs = scheduler.getPerformArgs(task2, opt.block);
+            performArgs.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task2.context.model);
+            scheduler.updatePayload(task2, payload);
+            if (task2.perform(performArgs)) {
+              unfinished = true;
+            }
+          });
+        }
+      });
+      function needSetDirty(opt2, task2) {
+        return opt2.setDirty && (!opt2.dirtyMap || opt2.dirtyMap.get(task2.__pipeline.id));
+      }
+      this.unfinished = unfinished || this.unfinished;
+    };
+    Scheduler2.prototype.performSeriesTasks = function(ecModel) {
+      var unfinished;
+      ecModel.eachSeries(function(seriesModel) {
+        unfinished = seriesModel.dataTask.perform() || unfinished;
+      });
+      this.unfinished = unfinished || this.unfinished;
+    };
+    Scheduler2.prototype.plan = function() {
+      this._pipelineMap.each(function(pipeline) {
+        var task2 = pipeline.tail;
+        do {
+          if (task2.__block) {
+            pipeline.blockIndex = task2.__idxInPipeline;
+            break;
+          }
+          task2 = task2.getUpstream();
+        } while (task2);
+      });
+    };
+    Scheduler2.prototype.updatePayload = function(task2, payload) {
+      payload !== "remain" && (task2.context.payload = payload);
+    };
+    Scheduler2.prototype._createSeriesStageTask = function(stageHandler, stageHandlerRecord, ecModel, api2) {
+      var scheduler = this;
+      var oldSeriesTaskMap = stageHandlerRecord.seriesTaskMap;
+      var newSeriesTaskMap = stageHandlerRecord.seriesTaskMap = createHashMap();
+      var seriesType2 = stageHandler.seriesType;
+      var getTargetSeries = stageHandler.getTargetSeries;
+      if (stageHandler.createOnAllSeries) {
+        ecModel.eachRawSeries(create2);
+      } else if (seriesType2) {
+        ecModel.eachRawSeriesByType(seriesType2, create2);
+      } else if (getTargetSeries) {
+        getTargetSeries(ecModel, api2).each(create2);
+      }
+      function create2(seriesModel) {
+        var pipelineId = seriesModel.uid;
+        var task2 = newSeriesTaskMap.set(pipelineId, oldSeriesTaskMap && oldSeriesTaskMap.get(pipelineId) || createTask({
+          plan: seriesTaskPlan,
+          reset: seriesTaskReset,
+          count: seriesTaskCount
+        }));
+        task2.context = {
+          model: seriesModel,
+          ecModel,
+          api: api2,
+          // PENDING: `useClearVisual` not used?
+          useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,
+          plan: stageHandler.plan,
+          reset: stageHandler.reset,
+          scheduler
+        };
+        scheduler._pipe(seriesModel, task2);
+      }
+    };
+    Scheduler2.prototype._createOverallStageTask = function(stageHandler, stageHandlerRecord, ecModel, api2) {
+      var scheduler = this;
+      var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask || createTask({
+        reset: overallTaskReset
+      });
+      overallTask.context = {
+        ecModel,
+        api: api2,
+        overallReset: stageHandler.overallReset,
+        scheduler
+      };
+      var oldAgentStubMap = overallTask.agentStubMap;
+      var newAgentStubMap = overallTask.agentStubMap = createHashMap();
+      var seriesType2 = stageHandler.seriesType;
+      var getTargetSeries = stageHandler.getTargetSeries;
+      var overallProgress = true;
+      var shouldOverallTaskDirty = false;
+      var errMsg = "";
+      assert(!stageHandler.createOnAllSeries, errMsg);
+      if (seriesType2) {
+        ecModel.eachRawSeriesByType(seriesType2, createStub);
+      } else if (getTargetSeries) {
+        getTargetSeries(ecModel, api2).each(createStub);
+      } else {
+        overallProgress = false;
+        each$f(ecModel.getSeries(), createStub);
+      }
+      function createStub(seriesModel) {
+        var pipelineId = seriesModel.uid;
+        var stub = newAgentStubMap.set(pipelineId, oldAgentStubMap && oldAgentStubMap.get(pipelineId) || // When the result of `getTargetSeries` changed, the overallTask
+        // should be set as dirty and re-performed.
+        (shouldOverallTaskDirty = true, createTask({
+          reset: stubReset,
+          onDirty: stubOnDirty
+        })));
+        stub.context = {
+          model: seriesModel,
+          overallProgress
+          // FIXME:TS never used, so comment it
+          // modifyOutputEnd: modifyOutputEnd
+        };
+        stub.agent = overallTask;
+        stub.__block = overallProgress;
+        scheduler._pipe(seriesModel, stub);
+      }
+      if (shouldOverallTaskDirty) {
+        overallTask.dirty();
+      }
+    };
+    Scheduler2.prototype._pipe = function(seriesModel, task2) {
+      var pipelineId = seriesModel.uid;
+      var pipeline = this._pipelineMap.get(pipelineId);
+      !pipeline.head && (pipeline.head = task2);
+      pipeline.tail && pipeline.tail.pipe(task2);
+      pipeline.tail = task2;
+      task2.__idxInPipeline = pipeline.count++;
+      task2.__pipeline = pipeline;
+    };
+    Scheduler2.wrapStageHandler = function(stageHandler, visualType) {
+      if (isFunction$1(stageHandler)) {
+        stageHandler = {
+          overallReset: stageHandler,
+          seriesType: detectSeriseType(stageHandler)
+        };
+      }
+      stageHandler.uid = getUID("stageHandler");
+      visualType && (stageHandler.visualType = visualType);
+      return stageHandler;
+    };
+    return Scheduler2;
+  }()
+);
+function overallTaskReset(context) {
+  context.overallReset(context.ecModel, context.api, context.payload);
+}
+function stubReset(context) {
+  return context.overallProgress && stubProgress;
+}
+function stubProgress() {
+  this.agent.dirty();
+  this.getDownstream().dirty();
+}
+function stubOnDirty() {
+  this.agent && this.agent.dirty();
+}
+function seriesTaskPlan(context) {
+  return context.plan ? context.plan(context.model, context.ecModel, context.api, context.payload) : null;
+}
+function seriesTaskReset(context) {
+  if (context.useClearVisual) {
+    context.data.clearAllVisual();
+  }
+  var resetDefines = context.resetDefines = normalizeToArray(context.reset(context.model, context.ecModel, context.api, context.payload));
+  return resetDefines.length > 1 ? map$1(resetDefines, function(v4, idx) {
+    return makeSeriesTaskProgress(idx);
+  }) : singleSeriesTaskProgress;
+}
+var singleSeriesTaskProgress = makeSeriesTaskProgress(0);
+function makeSeriesTaskProgress(resetDefineIdx) {
+  return function(params2, context) {
+    var data2 = context.data;
+    var resetDefine = context.resetDefines[resetDefineIdx];
+    if (resetDefine && resetDefine.dataEach) {
+      for (var i2 = params2.start; i2 < params2.end; i2++) {
+        resetDefine.dataEach(data2, i2);
+      }
+    } else if (resetDefine && resetDefine.progress) {
+      resetDefine.progress(params2, data2);
+    }
+  };
+}
+function seriesTaskCount(context) {
+  return context.data.count();
+}
+function detectSeriseType(legacyFunc) {
+  seriesType = null;
+  try {
+    legacyFunc(ecModelMock, apiMock);
+  } catch (e2) {
+  }
+  return seriesType;
+}
+var ecModelMock = {};
+var apiMock = {};
+var seriesType;
+mockMethods(ecModelMock, GlobalModel$1);
+mockMethods(apiMock, ExtensionAPI$1);
+ecModelMock.eachSeriesByType = ecModelMock.eachRawSeriesByType = function(type2) {
+  seriesType = type2;
+};
+ecModelMock.eachComponent = function(cond) {
+  if (cond.mainType === "series" && cond.subType) {
+    seriesType = cond.subType;
+  }
+};
+function mockMethods(target, Clz) {
+  for (var name_1 in Clz.prototype) {
+    target[name_1] = noop$1;
+  }
+}
+const Scheduler$1 = Scheduler;
+var colorAll = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1", "#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"];
+const lightTheme = {
+  color: colorAll,
+  colorLayer: [["#37A2DA", "#ffd85c", "#fd7b5f"], ["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"], ["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA", "#96BFFF"], colorAll]
+};
+var contrastColor = "#B9B8CE";
+var backgroundColor = "#100C2A";
+var axisCommon = function() {
+  return {
+    axisLine: {
+      lineStyle: {
+        color: contrastColor
+      }
+    },
+    splitLine: {
+      lineStyle: {
+        color: "#484753"
+      }
+    },
+    splitArea: {
+      areaStyle: {
+        color: ["rgba(255,255,255,0.02)", "rgba(255,255,255,0.05)"]
+      }
+    },
+    minorSplitLine: {
+      lineStyle: {
+        color: "#20203B"
+      }
+    }
+  };
+};
+var colorPalette = ["#4992ff", "#7cffb2", "#fddd60", "#ff6e76", "#58d9f9", "#05c091", "#ff8a45", "#8d48e3", "#dd79ff"];
+var theme$1 = {
+  darkMode: true,
+  color: colorPalette,
+  backgroundColor,
+  axisPointer: {
+    lineStyle: {
+      color: "#817f91"
+    },
+    crossStyle: {
+      color: "#817f91"
+    },
+    label: {
+      // TODO Contrast of label backgorundColor
+      color: "#fff"
+    }
+  },
+  legend: {
+    textStyle: {
+      color: contrastColor
+    }
+  },
+  textStyle: {
+    color: contrastColor
+  },
+  title: {
+    textStyle: {
+      color: "#EEF1FA"
+    },
+    subtextStyle: {
+      color: "#B9B8CE"
+    }
+  },
+  toolbox: {
+    iconStyle: {
+      borderColor: contrastColor
+    }
+  },
+  dataZoom: {
+    borderColor: "#71708A",
+    textStyle: {
+      color: contrastColor
+    },
+    brushStyle: {
+      color: "rgba(135,163,206,0.3)"
+    },
+    handleStyle: {
+      color: "#353450",
+      borderColor: "#C5CBE3"
+    },
+    moveHandleStyle: {
+      color: "#B0B6C3",
+      opacity: 0.3
+    },
+    fillerColor: "rgba(135,163,206,0.2)",
+    emphasis: {
+      handleStyle: {
+        borderColor: "#91B7F2",
+        color: "#4D587D"
+      },
+      moveHandleStyle: {
+        color: "#636D9A",
+        opacity: 0.7
+      }
+    },
+    dataBackground: {
+      lineStyle: {
+        color: "#71708A",
+        width: 1
+      },
+      areaStyle: {
+        color: "#71708A"
+      }
+    },
+    selectedDataBackground: {
+      lineStyle: {
+        color: "#87A3CE"
+      },
+      areaStyle: {
+        color: "#87A3CE"
+      }
+    }
+  },
+  visualMap: {
+    textStyle: {
+      color: contrastColor
+    }
+  },
+  timeline: {
+    lineStyle: {
+      color: contrastColor
+    },
+    label: {
+      color: contrastColor
+    },
+    controlStyle: {
+      color: contrastColor,
+      borderColor: contrastColor
+    }
+  },
+  calendar: {
+    itemStyle: {
+      color: backgroundColor
+    },
+    dayLabel: {
+      color: contrastColor
+    },
+    monthLabel: {
+      color: contrastColor
+    },
+    yearLabel: {
+      color: contrastColor
+    }
+  },
+  timeAxis: axisCommon(),
+  logAxis: axisCommon(),
+  valueAxis: axisCommon(),
+  categoryAxis: axisCommon(),
+  line: {
+    symbol: "circle"
+  },
+  graph: {
+    color: colorPalette
+  },
+  gauge: {
+    title: {
+      color: contrastColor
+    },
+    axisLine: {
+      lineStyle: {
+        color: [[1, "rgba(207,212,219,0.2)"]]
+      }
+    },
+    axisLabel: {
+      color: contrastColor
+    },
+    detail: {
+      color: "#EEF1FA"
+    }
+  },
+  candlestick: {
+    itemStyle: {
+      color: "#f64e56",
+      color0: "#54ea92",
+      borderColor: "#f64e56",
+      borderColor0: "#54ea92"
+      // borderColor: '#ca2824',
+      // borderColor0: '#09a443'
+    }
+  }
+};
+theme$1.categoryAxis.splitLine.show = false;
+const darkTheme = theme$1;
+var ECEventProcessor = (
+  /** @class */
+  function() {
+    function ECEventProcessor2() {
+    }
+    ECEventProcessor2.prototype.normalizeQuery = function(query) {
+      var cptQuery = {};
+      var dataQuery = {};
+      var otherQuery = {};
+      if (isString$1(query)) {
+        var condCptType = parseClassType(query);
+        cptQuery.mainType = condCptType.main || null;
+        cptQuery.subType = condCptType.sub || null;
+      } else {
+        var suffixes_1 = ["Index", "Name", "Id"];
+        var dataKeys_1 = {
+          name: 1,
+          dataIndex: 1,
+          dataType: 1
+        };
+        each$f(query, function(val, key2) {
+          var reserved = false;
+          for (var i2 = 0; i2 < suffixes_1.length; i2++) {
+            var propSuffix = suffixes_1[i2];
+            var suffixPos = key2.lastIndexOf(propSuffix);
+            if (suffixPos > 0 && suffixPos === key2.length - propSuffix.length) {
+              var mainType = key2.slice(0, suffixPos);
+              if (mainType !== "data") {
+                cptQuery.mainType = mainType;
+                cptQuery[propSuffix.toLowerCase()] = val;
+                reserved = true;
+              }
+            }
+          }
+          if (dataKeys_1.hasOwnProperty(key2)) {
+            dataQuery[key2] = val;
+            reserved = true;
+          }
+          if (!reserved) {
+            otherQuery[key2] = val;
+          }
+        });
+      }
+      return {
+        cptQuery,
+        dataQuery,
+        otherQuery
+      };
+    };
+    ECEventProcessor2.prototype.filter = function(eventType, query) {
+      var eventInfo = this.eventInfo;
+      if (!eventInfo) {
+        return true;
+      }
+      var targetEl = eventInfo.targetEl;
+      var packedEvent = eventInfo.packedEvent;
+      var model2 = eventInfo.model;
+      var view = eventInfo.view;
+      if (!model2 || !view) {
+        return true;
+      }
+      var cptQuery = query.cptQuery;
+      var dataQuery = query.dataQuery;
+      return check2(cptQuery, model2, "mainType") && check2(cptQuery, model2, "subType") && check2(cptQuery, model2, "index", "componentIndex") && check2(cptQuery, model2, "name") && check2(cptQuery, model2, "id") && check2(dataQuery, packedEvent, "name") && check2(dataQuery, packedEvent, "dataIndex") && check2(dataQuery, packedEvent, "dataType") && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));
+      function check2(query2, host, prop2, propOnHost) {
+        return query2[prop2] == null || host[propOnHost || prop2] === query2[prop2];
+      }
+    };
+    ECEventProcessor2.prototype.afterTrigger = function() {
+      this.eventInfo = null;
+    };
+    return ECEventProcessor2;
+  }()
+);
+var SYMBOL_PROPS_WITH_CB = ["symbol", "symbolSize", "symbolRotate", "symbolOffset"];
+var SYMBOL_PROPS = SYMBOL_PROPS_WITH_CB.concat(["symbolKeepAspect"]);
+var seriesSymbolTask = {
+  createOnAllSeries: true,
+  // For legend.
+  performRawSeries: true,
+  reset: function(seriesModel, ecModel) {
+    var data2 = seriesModel.getData();
+    if (seriesModel.legendIcon) {
+      data2.setVisual("legendIcon", seriesModel.legendIcon);
+    }
+    if (!seriesModel.hasSymbolVisual) {
+      return;
+    }
+    var symbolOptions = {};
+    var symbolOptionsCb = {};
+    var hasCallback = false;
+    for (var i2 = 0; i2 < SYMBOL_PROPS_WITH_CB.length; i2++) {
+      var symbolPropName = SYMBOL_PROPS_WITH_CB[i2];
+      var val = seriesModel.get(symbolPropName);
+      if (isFunction$1(val)) {
+        hasCallback = true;
+        symbolOptionsCb[symbolPropName] = val;
+      } else {
+        symbolOptions[symbolPropName] = val;
+      }
+    }
+    symbolOptions.symbol = symbolOptions.symbol || seriesModel.defaultSymbol;
+    data2.setVisual(extend$1({
+      legendIcon: seriesModel.legendIcon || symbolOptions.symbol,
+      symbolKeepAspect: seriesModel.get("symbolKeepAspect")
+    }, symbolOptions));
+    if (ecModel.isSeriesFiltered(seriesModel)) {
+      return;
+    }
+    var symbolPropsCb = keys(symbolOptionsCb);
+    function dataEach(data3, idx) {
+      var rawValue = seriesModel.getRawValue(idx);
+      var params2 = seriesModel.getDataParams(idx);
+      for (var i3 = 0; i3 < symbolPropsCb.length; i3++) {
+        var symbolPropName2 = symbolPropsCb[i3];
+        data3.setItemVisual(idx, symbolPropName2, symbolOptionsCb[symbolPropName2](rawValue, params2));
+      }
+    }
+    return {
+      dataEach: hasCallback ? dataEach : null
+    };
+  }
+};
+var dataSymbolTask = {
+  createOnAllSeries: true,
+  // For legend.
+  performRawSeries: true,
+  reset: function(seriesModel, ecModel) {
+    if (!seriesModel.hasSymbolVisual) {
+      return;
+    }
+    if (ecModel.isSeriesFiltered(seriesModel)) {
+      return;
+    }
+    var data2 = seriesModel.getData();
+    function dataEach(data3, idx) {
+      var itemModel = data3.getItemModel(idx);
+      for (var i2 = 0; i2 < SYMBOL_PROPS.length; i2++) {
+        var symbolPropName = SYMBOL_PROPS[i2];
+        var val = itemModel.getShallow(symbolPropName, true);
+        if (val != null) {
+          data3.setItemVisual(idx, symbolPropName, val);
+        }
+      }
+    }
+    return {
+      dataEach: data2.hasItemOption ? dataEach : null
+    };
+  }
+};
+function getItemVisualFromData(data2, dataIndex, key2) {
+  switch (key2) {
+    case "color":
+      var style2 = data2.getItemVisual(dataIndex, "style");
+      return style2[data2.getVisual("drawType")];
+    case "opacity":
+      return data2.getItemVisual(dataIndex, "style").opacity;
+    case "symbol":
+    case "symbolSize":
+    case "liftZ":
+      return data2.getItemVisual(dataIndex, key2);
+  }
+}
+function getVisualFromData(data2, key2) {
+  switch (key2) {
+    case "color":
+      var style2 = data2.getVisual("style");
+      return style2[data2.getVisual("drawType")];
+    case "opacity":
+      return data2.getVisual("style").opacity;
+    case "symbol":
+    case "symbolSize":
+    case "liftZ":
+      return data2.getVisual(key2);
+  }
+}
+function setItemVisualFromData(data2, dataIndex, key2, value) {
+  switch (key2) {
+    case "color":
+      var style2 = data2.ensureUniqueItemVisual(dataIndex, "style");
+      style2[data2.getVisual("drawType")] = value;
+      data2.setItemVisual(dataIndex, "colorFromPalette", false);
+      break;
+    case "opacity":
+      data2.ensureUniqueItemVisual(dataIndex, "style").opacity = value;
+      break;
+    case "symbol":
+    case "symbolSize":
+    case "liftZ":
+      data2.setItemVisual(dataIndex, key2, value);
+      break;
+  }
+}
+function createLegacyDataSelectAction(seriesType2, ecRegisterAction) {
+  function getSeriesIndices(ecModel, payload) {
+    var seriesIndices = [];
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: seriesType2,
+      query: payload
+    }, function(seriesModel) {
+      seriesIndices.push(seriesModel.seriesIndex);
+    });
+    return seriesIndices;
+  }
+  each$f([[seriesType2 + "ToggleSelect", "toggleSelect"], [seriesType2 + "Select", "select"], [seriesType2 + "UnSelect", "unselect"]], function(eventsMap) {
+    ecRegisterAction(eventsMap[0], function(payload, ecModel, api2) {
+      payload = extend$1({}, payload);
+      api2.dispatchAction(extend$1(payload, {
+        type: eventsMap[1],
+        seriesIndex: getSeriesIndices(ecModel, payload)
+      }));
+    });
+  });
+}
+function handleSeriesLegacySelectEvents(type2, eventPostfix, ecIns, ecModel, payload) {
+  var legacyEventName = type2 + eventPostfix;
+  if (!ecIns.isSilent(legacyEventName)) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "pie"
+    }, function(seriesModel) {
+      var seriesIndex = seriesModel.seriesIndex;
+      var selectedMap = seriesModel.option.selectedMap;
+      var selected = payload.selected;
+      for (var i2 = 0; i2 < selected.length; i2++) {
+        if (selected[i2].seriesIndex === seriesIndex) {
+          var data2 = seriesModel.getData();
+          var dataIndex = queryDataIndex(data2, payload.fromActionPayload);
+          ecIns.trigger(legacyEventName, {
+            type: legacyEventName,
+            seriesId: seriesModel.id,
+            name: isArray$2(dataIndex) ? data2.getName(dataIndex[0]) : data2.getName(dataIndex),
+            selected: isString$1(selectedMap) ? selectedMap : extend$1({}, selectedMap)
+          });
+        }
+      }
+    });
+  }
+}
+function handleLegacySelectEvents(messageCenter, ecIns, api2) {
+  messageCenter.on("selectchanged", function(params2) {
+    var ecModel = api2.getModel();
+    if (params2.isFromClick) {
+      handleSeriesLegacySelectEvents("map", "selectchanged", ecIns, ecModel, params2);
+      handleSeriesLegacySelectEvents("pie", "selectchanged", ecIns, ecModel, params2);
+    } else if (params2.fromAction === "select") {
+      handleSeriesLegacySelectEvents("map", "selected", ecIns, ecModel, params2);
+      handleSeriesLegacySelectEvents("pie", "selected", ecIns, ecModel, params2);
+    } else if (params2.fromAction === "unselect") {
+      handleSeriesLegacySelectEvents("map", "unselected", ecIns, ecModel, params2);
+      handleSeriesLegacySelectEvents("pie", "unselected", ecIns, ecModel, params2);
+    }
+  });
+}
+function findEventDispatcher(target, det, returnFirstMatch) {
+  var found;
+  while (target) {
+    if (det(target)) {
+      found = target;
+      if (returnFirstMatch) {
+        break;
+      }
+    }
+    target = target.__hostTarget || target.parent;
+  }
+  return found;
+}
+var wmUniqueIndex = Math.round(Math.random() * 9);
+var supportDefineProperty = typeof Object.defineProperty === "function";
+var WeakMap = function() {
+  function WeakMap2() {
+    this._id = "__ec_inner_" + wmUniqueIndex++;
+  }
+  WeakMap2.prototype.get = function(key2) {
+    return this._guard(key2)[this._id];
+  };
+  WeakMap2.prototype.set = function(key2, value) {
+    var target = this._guard(key2);
+    if (supportDefineProperty) {
+      Object.defineProperty(target, this._id, {
+        value,
+        enumerable: false,
+        configurable: true
+      });
+    } else {
+      target[this._id] = value;
+    }
+    return this;
+  };
+  WeakMap2.prototype["delete"] = function(key2) {
+    if (this.has(key2)) {
+      delete this._guard(key2)[this._id];
+      return true;
+    }
+    return false;
+  };
+  WeakMap2.prototype.has = function(key2) {
+    return !!this._guard(key2)[this._id];
+  };
+  WeakMap2.prototype._guard = function(key2) {
+    if (key2 !== Object(key2)) {
+      throw TypeError("Value of WeakMap is not a non-null object.");
+    }
+    return key2;
+  };
+  return WeakMap2;
+}();
+const WeakMap$1 = WeakMap;
+var Triangle = Path$1.extend({
+  type: "triangle",
+  shape: {
+    cx: 0,
+    cy: 0,
+    width: 0,
+    height: 0
+  },
+  buildPath: function(path2, shape) {
+    var cx = shape.cx;
+    var cy = shape.cy;
+    var width = shape.width / 2;
+    var height = shape.height / 2;
+    path2.moveTo(cx, cy - height);
+    path2.lineTo(cx + width, cy + height);
+    path2.lineTo(cx - width, cy + height);
+    path2.closePath();
+  }
+});
+var Diamond = Path$1.extend({
+  type: "diamond",
+  shape: {
+    cx: 0,
+    cy: 0,
+    width: 0,
+    height: 0
+  },
+  buildPath: function(path2, shape) {
+    var cx = shape.cx;
+    var cy = shape.cy;
+    var width = shape.width / 2;
+    var height = shape.height / 2;
+    path2.moveTo(cx, cy - height);
+    path2.lineTo(cx + width, cy);
+    path2.lineTo(cx, cy + height);
+    path2.lineTo(cx - width, cy);
+    path2.closePath();
+  }
+});
+var Pin = Path$1.extend({
+  type: "pin",
+  shape: {
+    // x, y on the cusp
+    x: 0,
+    y: 0,
+    width: 0,
+    height: 0
+  },
+  buildPath: function(path2, shape) {
+    var x2 = shape.x;
+    var y2 = shape.y;
+    var w2 = shape.width / 5 * 3;
+    var h3 = Math.max(w2, shape.height);
+    var r2 = w2 / 2;
+    var dy = r2 * r2 / (h3 - r2);
+    var cy = y2 - h3 + r2 + dy;
+    var angle = Math.asin(dy / r2);
+    var dx = Math.cos(angle) * r2;
+    var tanX = Math.sin(angle);
+    var tanY = Math.cos(angle);
+    var cpLen = r2 * 0.6;
+    var cpLen2 = r2 * 0.7;
+    path2.moveTo(x2 - dx, cy + dy);
+    path2.arc(x2, cy, r2, Math.PI - angle, Math.PI * 2 + angle);
+    path2.bezierCurveTo(x2 + dx - tanX * cpLen, cy + dy + tanY * cpLen, x2, y2 - cpLen2, x2, y2);
+    path2.bezierCurveTo(x2, y2 - cpLen2, x2 - dx + tanX * cpLen, cy + dy + tanY * cpLen, x2 - dx, cy + dy);
+    path2.closePath();
+  }
+});
+var Arrow = Path$1.extend({
+  type: "arrow",
+  shape: {
+    x: 0,
+    y: 0,
+    width: 0,
+    height: 0
+  },
+  buildPath: function(ctx, shape) {
+    var height = shape.height;
+    var width = shape.width;
+    var x2 = shape.x;
+    var y2 = shape.y;
+    var dx = width / 3 * 2;
+    ctx.moveTo(x2, y2);
+    ctx.lineTo(x2 + dx, y2 + height);
+    ctx.lineTo(x2, y2 + height / 4 * 3);
+    ctx.lineTo(x2 - dx, y2 + height);
+    ctx.lineTo(x2, y2);
+    ctx.closePath();
+  }
+});
+var symbolCtors = {
+  line: Line$3,
+  rect: Rect$3,
+  roundRect: Rect$3,
+  square: Rect$3,
+  circle: Circle$1,
+  diamond: Diamond,
+  pin: Pin,
+  arrow: Arrow,
+  triangle: Triangle
+};
+var symbolShapeMakers = {
+  line: function(x2, y2, w2, h3, shape) {
+    shape.x1 = x2;
+    shape.y1 = y2 + h3 / 2;
+    shape.x2 = x2 + w2;
+    shape.y2 = y2 + h3 / 2;
+  },
+  rect: function(x2, y2, w2, h3, shape) {
+    shape.x = x2;
+    shape.y = y2;
+    shape.width = w2;
+    shape.height = h3;
+  },
+  roundRect: function(x2, y2, w2, h3, shape) {
+    shape.x = x2;
+    shape.y = y2;
+    shape.width = w2;
+    shape.height = h3;
+    shape.r = Math.min(w2, h3) / 4;
+  },
+  square: function(x2, y2, w2, h3, shape) {
+    var size = Math.min(w2, h3);
+    shape.x = x2;
+    shape.y = y2;
+    shape.width = size;
+    shape.height = size;
+  },
+  circle: function(x2, y2, w2, h3, shape) {
+    shape.cx = x2 + w2 / 2;
+    shape.cy = y2 + h3 / 2;
+    shape.r = Math.min(w2, h3) / 2;
+  },
+  diamond: function(x2, y2, w2, h3, shape) {
+    shape.cx = x2 + w2 / 2;
+    shape.cy = y2 + h3 / 2;
+    shape.width = w2;
+    shape.height = h3;
+  },
+  pin: function(x2, y2, w2, h3, shape) {
+    shape.x = x2 + w2 / 2;
+    shape.y = y2 + h3 / 2;
+    shape.width = w2;
+    shape.height = h3;
+  },
+  arrow: function(x2, y2, w2, h3, shape) {
+    shape.x = x2 + w2 / 2;
+    shape.y = y2 + h3 / 2;
+    shape.width = w2;
+    shape.height = h3;
+  },
+  triangle: function(x2, y2, w2, h3, shape) {
+    shape.cx = x2 + w2 / 2;
+    shape.cy = y2 + h3 / 2;
+    shape.width = w2;
+    shape.height = h3;
+  }
+};
+var symbolBuildProxies = {};
+each$f(symbolCtors, function(Ctor, name2) {
+  symbolBuildProxies[name2] = new Ctor();
+});
+var SymbolClz$1 = Path$1.extend({
+  type: "symbol",
+  shape: {
+    symbolType: "",
+    x: 0,
+    y: 0,
+    width: 0,
+    height: 0
+  },
+  calculateTextPosition: function(out2, config2, rect) {
+    var res = calculateTextPosition(out2, config2, rect);
+    var shape = this.shape;
+    if (shape && shape.symbolType === "pin" && config2.position === "inside") {
+      res.y = rect.y + rect.height * 0.4;
+    }
+    return res;
+  },
+  buildPath: function(ctx, shape, inBundle) {
+    var symbolType = shape.symbolType;
+    if (symbolType !== "none") {
+      var proxySymbol = symbolBuildProxies[symbolType];
+      if (!proxySymbol) {
+        symbolType = "rect";
+        proxySymbol = symbolBuildProxies[symbolType];
+      }
+      symbolShapeMakers[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);
+      proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);
+    }
+  }
+});
+function symbolPathSetColor(color2, innerColor2) {
+  if (this.type !== "image") {
+    var symbolStyle = this.style;
+    if (this.__isEmptyBrush) {
+      symbolStyle.stroke = color2;
+      symbolStyle.fill = innerColor2 || "#fff";
+      symbolStyle.lineWidth = 2;
+    } else if (this.shape.symbolType === "line") {
+      symbolStyle.stroke = color2;
+    } else {
+      symbolStyle.fill = color2;
+    }
+    this.markRedraw();
+  }
+}
+function createSymbol$1(symbolType, x2, y2, w2, h3, color2, keepAspect) {
+  var isEmpty = symbolType.indexOf("empty") === 0;
+  if (isEmpty) {
+    symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);
+  }
+  var symbolPath;
+  if (symbolType.indexOf("image://") === 0) {
+    symbolPath = makeImage(symbolType.slice(8), new BoundingRect$1(x2, y2, w2, h3), keepAspect ? "center" : "cover");
+  } else if (symbolType.indexOf("path://") === 0) {
+    symbolPath = makePath(symbolType.slice(7), {}, new BoundingRect$1(x2, y2, w2, h3), keepAspect ? "center" : "cover");
+  } else {
+    symbolPath = new SymbolClz$1({
+      shape: {
+        symbolType,
+        x: x2,
+        y: y2,
+        width: w2,
+        height: h3
+      }
+    });
+  }
+  symbolPath.__isEmptyBrush = isEmpty;
+  symbolPath.setColor = symbolPathSetColor;
+  if (color2) {
+    symbolPath.setColor(color2);
+  }
+  return symbolPath;
+}
+function normalizeSymbolSize(symbolSize) {
+  if (!isArray$2(symbolSize)) {
+    symbolSize = [+symbolSize, +symbolSize];
+  }
+  return [symbolSize[0] || 0, symbolSize[1] || 0];
+}
+function normalizeSymbolOffset(symbolOffset, symbolSize) {
+  if (symbolOffset == null) {
+    return;
+  }
+  if (!isArray$2(symbolOffset)) {
+    symbolOffset = [symbolOffset, symbolOffset];
+  }
+  return [parsePercent(symbolOffset[0], symbolSize[0]) || 0, parsePercent(retrieve2(symbolOffset[1], symbolOffset[0]), symbolSize[1]) || 0];
+}
+function isSafeNum(num) {
+  return isFinite(num);
+}
+function createLinearGradient(ctx, obj2, rect) {
+  var x2 = obj2.x == null ? 0 : obj2.x;
+  var x22 = obj2.x2 == null ? 1 : obj2.x2;
+  var y2 = obj2.y == null ? 0 : obj2.y;
+  var y22 = obj2.y2 == null ? 0 : obj2.y2;
+  if (!obj2.global) {
+    x2 = x2 * rect.width + rect.x;
+    x22 = x22 * rect.width + rect.x;
+    y2 = y2 * rect.height + rect.y;
+    y22 = y22 * rect.height + rect.y;
+  }
+  x2 = isSafeNum(x2) ? x2 : 0;
+  x22 = isSafeNum(x22) ? x22 : 1;
+  y2 = isSafeNum(y2) ? y2 : 0;
+  y22 = isSafeNum(y22) ? y22 : 0;
+  var canvasGradient = ctx.createLinearGradient(x2, y2, x22, y22);
+  return canvasGradient;
+}
+function createRadialGradient(ctx, obj2, rect) {
+  var width = rect.width;
+  var height = rect.height;
+  var min3 = Math.min(width, height);
+  var x2 = obj2.x == null ? 0.5 : obj2.x;
+  var y2 = obj2.y == null ? 0.5 : obj2.y;
+  var r2 = obj2.r == null ? 0.5 : obj2.r;
+  if (!obj2.global) {
+    x2 = x2 * width + rect.x;
+    y2 = y2 * height + rect.y;
+    r2 = r2 * min3;
+  }
+  x2 = isSafeNum(x2) ? x2 : 0.5;
+  y2 = isSafeNum(y2) ? y2 : 0.5;
+  r2 = r2 >= 0 && isSafeNum(r2) ? r2 : 0.5;
+  var canvasGradient = ctx.createRadialGradient(x2, y2, 0, x2, y2, r2);
+  return canvasGradient;
+}
+function getCanvasGradient(ctx, obj2, rect) {
+  var canvasGradient = obj2.type === "radial" ? createRadialGradient(ctx, obj2, rect) : createLinearGradient(ctx, obj2, rect);
+  var colorStops = obj2.colorStops;
+  for (var i2 = 0; i2 < colorStops.length; i2++) {
+    canvasGradient.addColorStop(colorStops[i2].offset, colorStops[i2].color);
+  }
+  return canvasGradient;
+}
+function isClipPathChanged(clipPaths, prevClipPaths) {
+  if (clipPaths === prevClipPaths || !clipPaths && !prevClipPaths) {
+    return false;
+  }
+  if (!clipPaths || !prevClipPaths || clipPaths.length !== prevClipPaths.length) {
+    return true;
+  }
+  for (var i2 = 0; i2 < clipPaths.length; i2++) {
+    if (clipPaths[i2] !== prevClipPaths[i2]) {
+      return true;
+    }
+  }
+  return false;
+}
+function parseInt10(val) {
+  return parseInt(val, 10);
+}
+function getSize$1(root, whIdx, opts2) {
+  var wh = ["width", "height"][whIdx];
+  var cwh = ["clientWidth", "clientHeight"][whIdx];
+  var plt = ["paddingLeft", "paddingTop"][whIdx];
+  var prb = ["paddingRight", "paddingBottom"][whIdx];
+  if (opts2[wh] != null && opts2[wh] !== "auto") {
+    return parseFloat(opts2[wh]);
+  }
+  var stl = document.defaultView.getComputedStyle(root);
+  return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;
+}
+function normalizeLineDash(lineType, lineWidth) {
+  if (!lineType || lineType === "solid" || !(lineWidth > 0)) {
+    return null;
+  }
+  return lineType === "dashed" ? [4 * lineWidth, 2 * lineWidth] : lineType === "dotted" ? [lineWidth] : isNumber$1(lineType) ? [lineType] : isArray$2(lineType) ? lineType : null;
+}
+function getLineDash(el) {
+  var style2 = el.style;
+  var lineDash = style2.lineDash && style2.lineWidth > 0 && normalizeLineDash(style2.lineDash, style2.lineWidth);
+  var lineDashOffset = style2.lineDashOffset;
+  if (lineDash) {
+    var lineScale_1 = style2.strokeNoScale && el.getLineScale ? el.getLineScale() : 1;
+    if (lineScale_1 && lineScale_1 !== 1) {
+      lineDash = map$1(lineDash, function(rawVal) {
+        return rawVal / lineScale_1;
+      });
+      lineDashOffset /= lineScale_1;
+    }
+  }
+  return [lineDash, lineDashOffset];
+}
+var pathProxyForDraw = new PathProxy$1(true);
+function styleHasStroke(style2) {
+  var stroke = style2.stroke;
+  return !(stroke == null || stroke === "none" || !(style2.lineWidth > 0));
+}
+function isValidStrokeFillStyle(strokeOrFill) {
+  return typeof strokeOrFill === "string" && strokeOrFill !== "none";
+}
+function styleHasFill(style2) {
+  var fill = style2.fill;
+  return fill != null && fill !== "none";
+}
+function doFillPath(ctx, style2) {
+  if (style2.fillOpacity != null && style2.fillOpacity !== 1) {
+    var originalGlobalAlpha = ctx.globalAlpha;
+    ctx.globalAlpha = style2.fillOpacity * style2.opacity;
+    ctx.fill();
+    ctx.globalAlpha = originalGlobalAlpha;
+  } else {
+    ctx.fill();
+  }
+}
+function doStrokePath(ctx, style2) {
+  if (style2.strokeOpacity != null && style2.strokeOpacity !== 1) {
+    var originalGlobalAlpha = ctx.globalAlpha;
+    ctx.globalAlpha = style2.strokeOpacity * style2.opacity;
+    ctx.stroke();
+    ctx.globalAlpha = originalGlobalAlpha;
+  } else {
+    ctx.stroke();
+  }
+}
+function createCanvasPattern(ctx, pattern, el) {
+  var image2 = createOrUpdateImage(pattern.image, pattern.__image, el);
+  if (isImageReady(image2)) {
+    var canvasPattern = ctx.createPattern(image2, pattern.repeat || "repeat");
+    if (typeof DOMMatrix === "function" && canvasPattern && canvasPattern.setTransform) {
+      var matrix2 = new DOMMatrix();
+      matrix2.translateSelf(pattern.x || 0, pattern.y || 0);
+      matrix2.rotateSelf(0, 0, (pattern.rotation || 0) * RADIAN_TO_DEGREE);
+      matrix2.scaleSelf(pattern.scaleX || 1, pattern.scaleY || 1);
+      canvasPattern.setTransform(matrix2);
+    }
+    return canvasPattern;
+  }
+}
+function brushPath(ctx, el, style2, inBatch) {
+  var _a2;
+  var hasStroke = styleHasStroke(style2);
+  var hasFill = styleHasFill(style2);
+  var strokePercent = style2.strokePercent;
+  var strokePart = strokePercent < 1;
+  var firstDraw = !el.path;
+  if ((!el.silent || strokePart) && firstDraw) {
+    el.createPathProxy();
+  }
+  var path2 = el.path || pathProxyForDraw;
+  var dirtyFlag = el.__dirty;
+  if (!inBatch) {
+    var fill = style2.fill;
+    var stroke = style2.stroke;
+    var hasFillGradient = hasFill && !!fill.colorStops;
+    var hasStrokeGradient = hasStroke && !!stroke.colorStops;
+    var hasFillPattern = hasFill && !!fill.image;
+    var hasStrokePattern = hasStroke && !!stroke.image;
+    var fillGradient = void 0;
+    var strokeGradient = void 0;
+    var fillPattern = void 0;
+    var strokePattern = void 0;
+    var rect = void 0;
+    if (hasFillGradient || hasStrokeGradient) {
+      rect = el.getBoundingRect();
+    }
+    if (hasFillGradient) {
+      fillGradient = dirtyFlag ? getCanvasGradient(ctx, fill, rect) : el.__canvasFillGradient;
+      el.__canvasFillGradient = fillGradient;
+    }
+    if (hasStrokeGradient) {
+      strokeGradient = dirtyFlag ? getCanvasGradient(ctx, stroke, rect) : el.__canvasStrokeGradient;
+      el.__canvasStrokeGradient = strokeGradient;
+    }
+    if (hasFillPattern) {
+      fillPattern = dirtyFlag || !el.__canvasFillPattern ? createCanvasPattern(ctx, fill, el) : el.__canvasFillPattern;
+      el.__canvasFillPattern = fillPattern;
+    }
+    if (hasStrokePattern) {
+      strokePattern = dirtyFlag || !el.__canvasStrokePattern ? createCanvasPattern(ctx, stroke, el) : el.__canvasStrokePattern;
+      el.__canvasStrokePattern = fillPattern;
+    }
+    if (hasFillGradient) {
+      ctx.fillStyle = fillGradient;
+    } else if (hasFillPattern) {
+      if (fillPattern) {
+        ctx.fillStyle = fillPattern;
+      } else {
+        hasFill = false;
+      }
+    }
+    if (hasStrokeGradient) {
+      ctx.strokeStyle = strokeGradient;
+    } else if (hasStrokePattern) {
+      if (strokePattern) {
+        ctx.strokeStyle = strokePattern;
+      } else {
+        hasStroke = false;
+      }
+    }
+  }
+  var scale2 = el.getGlobalScale();
+  path2.setScale(scale2[0], scale2[1], el.segmentIgnoreThreshold);
+  var lineDash;
+  var lineDashOffset;
+  if (ctx.setLineDash && style2.lineDash) {
+    _a2 = getLineDash(el), lineDash = _a2[0], lineDashOffset = _a2[1];
+  }
+  var needsRebuild = true;
+  if (firstDraw || dirtyFlag & SHAPE_CHANGED_BIT) {
+    path2.setDPR(ctx.dpr);
+    if (strokePart) {
+      path2.setContext(null);
+    } else {
+      path2.setContext(ctx);
+      needsRebuild = false;
+    }
+    path2.reset();
+    el.buildPath(path2, el.shape, inBatch);
+    path2.toStatic();
+    el.pathUpdated();
+  }
+  if (needsRebuild) {
+    path2.rebuildPath(ctx, strokePart ? strokePercent : 1);
+  }
+  if (lineDash) {
+    ctx.setLineDash(lineDash);
+    ctx.lineDashOffset = lineDashOffset;
+  }
+  if (!inBatch) {
+    if (style2.strokeFirst) {
+      if (hasStroke) {
+        doStrokePath(ctx, style2);
+      }
+      if (hasFill) {
+        doFillPath(ctx, style2);
+      }
+    } else {
+      if (hasFill) {
+        doFillPath(ctx, style2);
+      }
+      if (hasStroke) {
+        doStrokePath(ctx, style2);
+      }
+    }
+  }
+  if (lineDash) {
+    ctx.setLineDash([]);
+  }
+}
+function brushImage(ctx, el, style2) {
+  var image2 = el.__image = createOrUpdateImage(style2.image, el.__image, el, el.onload);
+  if (!image2 || !isImageReady(image2)) {
+    return;
+  }
+  var x2 = style2.x || 0;
+  var y2 = style2.y || 0;
+  var width = el.getWidth();
+  var height = el.getHeight();
+  var aspect = image2.width / image2.height;
+  if (width == null && height != null) {
+    width = height * aspect;
+  } else if (height == null && width != null) {
+    height = width / aspect;
+  } else if (width == null && height == null) {
+    width = image2.width;
+    height = image2.height;
+  }
+  if (style2.sWidth && style2.sHeight) {
+    var sx = style2.sx || 0;
+    var sy = style2.sy || 0;
+    ctx.drawImage(image2, sx, sy, style2.sWidth, style2.sHeight, x2, y2, width, height);
+  } else if (style2.sx && style2.sy) {
+    var sx = style2.sx;
+    var sy = style2.sy;
+    var sWidth = width - sx;
+    var sHeight = height - sy;
+    ctx.drawImage(image2, sx, sy, sWidth, sHeight, x2, y2, width, height);
+  } else {
+    ctx.drawImage(image2, x2, y2, width, height);
+  }
+}
+function brushText(ctx, el, style2) {
+  var _a2;
+  var text2 = style2.text;
+  text2 != null && (text2 += "");
+  if (text2) {
+    ctx.font = style2.font || DEFAULT_FONT;
+    ctx.textAlign = style2.textAlign;
+    ctx.textBaseline = style2.textBaseline;
+    var lineDash = void 0;
+    var lineDashOffset = void 0;
+    if (ctx.setLineDash && style2.lineDash) {
+      _a2 = getLineDash(el), lineDash = _a2[0], lineDashOffset = _a2[1];
+    }
+    if (lineDash) {
+      ctx.setLineDash(lineDash);
+      ctx.lineDashOffset = lineDashOffset;
+    }
+    if (style2.strokeFirst) {
+      if (styleHasStroke(style2)) {
+        ctx.strokeText(text2, style2.x, style2.y);
+      }
+      if (styleHasFill(style2)) {
+        ctx.fillText(text2, style2.x, style2.y);
+      }
+    } else {
+      if (styleHasFill(style2)) {
+        ctx.fillText(text2, style2.x, style2.y);
+      }
+      if (styleHasStroke(style2)) {
+        ctx.strokeText(text2, style2.x, style2.y);
+      }
+    }
+    if (lineDash) {
+      ctx.setLineDash([]);
+    }
+  }
+}
+var SHADOW_NUMBER_PROPS = ["shadowBlur", "shadowOffsetX", "shadowOffsetY"];
+var STROKE_PROPS = [
+  ["lineCap", "butt"],
+  ["lineJoin", "miter"],
+  ["miterLimit", 10]
+];
+function bindCommonProps(ctx, style2, prevStyle, forceSetAll, scope) {
+  var styleChanged = false;
+  if (!forceSetAll) {
+    prevStyle = prevStyle || {};
+    if (style2 === prevStyle) {
+      return false;
+    }
+  }
+  if (forceSetAll || style2.opacity !== prevStyle.opacity) {
+    flushPathDrawn(ctx, scope);
+    styleChanged = true;
+    var opacity = Math.max(Math.min(style2.opacity, 1), 0);
+    ctx.globalAlpha = isNaN(opacity) ? DEFAULT_COMMON_STYLE.opacity : opacity;
+  }
+  if (forceSetAll || style2.blend !== prevStyle.blend) {
+    if (!styleChanged) {
+      flushPathDrawn(ctx, scope);
+      styleChanged = true;
+    }
+    ctx.globalCompositeOperation = style2.blend || DEFAULT_COMMON_STYLE.blend;
+  }
+  for (var i2 = 0; i2 < SHADOW_NUMBER_PROPS.length; i2++) {
+    var propName = SHADOW_NUMBER_PROPS[i2];
+    if (forceSetAll || style2[propName] !== prevStyle[propName]) {
+      if (!styleChanged) {
+        flushPathDrawn(ctx, scope);
+        styleChanged = true;
+      }
+      ctx[propName] = ctx.dpr * (style2[propName] || 0);
+    }
+  }
+  if (forceSetAll || style2.shadowColor !== prevStyle.shadowColor) {
+    if (!styleChanged) {
+      flushPathDrawn(ctx, scope);
+      styleChanged = true;
+    }
+    ctx.shadowColor = style2.shadowColor || DEFAULT_COMMON_STYLE.shadowColor;
+  }
+  return styleChanged;
+}
+function bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetAll, scope) {
+  var style2 = getStyle(el, scope.inHover);
+  var prevStyle = forceSetAll ? null : prevEl && getStyle(prevEl, scope.inHover) || {};
+  if (style2 === prevStyle) {
+    return false;
+  }
+  var styleChanged = bindCommonProps(ctx, style2, prevStyle, forceSetAll, scope);
+  if (forceSetAll || style2.fill !== prevStyle.fill) {
+    if (!styleChanged) {
+      flushPathDrawn(ctx, scope);
+      styleChanged = true;
+    }
+    isValidStrokeFillStyle(style2.fill) && (ctx.fillStyle = style2.fill);
+  }
+  if (forceSetAll || style2.stroke !== prevStyle.stroke) {
+    if (!styleChanged) {
+      flushPathDrawn(ctx, scope);
+      styleChanged = true;
+    }
+    isValidStrokeFillStyle(style2.stroke) && (ctx.strokeStyle = style2.stroke);
+  }
+  if (forceSetAll || style2.opacity !== prevStyle.opacity) {
+    if (!styleChanged) {
+      flushPathDrawn(ctx, scope);
+      styleChanged = true;
+    }
+    ctx.globalAlpha = style2.opacity == null ? 1 : style2.opacity;
+  }
+  if (el.hasStroke()) {
+    var lineWidth = style2.lineWidth;
+    var newLineWidth = lineWidth / (style2.strokeNoScale && el.getLineScale ? el.getLineScale() : 1);
+    if (ctx.lineWidth !== newLineWidth) {
+      if (!styleChanged) {
+        flushPathDrawn(ctx, scope);
+        styleChanged = true;
+      }
+      ctx.lineWidth = newLineWidth;
+    }
+  }
+  for (var i2 = 0; i2 < STROKE_PROPS.length; i2++) {
+    var prop2 = STROKE_PROPS[i2];
+    var propName = prop2[0];
+    if (forceSetAll || style2[propName] !== prevStyle[propName]) {
+      if (!styleChanged) {
+        flushPathDrawn(ctx, scope);
+        styleChanged = true;
+      }
+      ctx[propName] = style2[propName] || prop2[1];
+    }
+  }
+  return styleChanged;
+}
+function bindImageStyle(ctx, el, prevEl, forceSetAll, scope) {
+  return bindCommonProps(ctx, getStyle(el, scope.inHover), prevEl && getStyle(prevEl, scope.inHover), forceSetAll, scope);
+}
+function setContextTransform(ctx, el) {
+  var m2 = el.transform;
+  var dpr2 = ctx.dpr || 1;
+  if (m2) {
+    ctx.setTransform(dpr2 * m2[0], dpr2 * m2[1], dpr2 * m2[2], dpr2 * m2[3], dpr2 * m2[4], dpr2 * m2[5]);
+  } else {
+    ctx.setTransform(dpr2, 0, 0, dpr2, 0, 0);
+  }
+}
+function updateClipStatus(clipPaths, ctx, scope) {
+  var allClipped = false;
+  for (var i2 = 0; i2 < clipPaths.length; i2++) {
+    var clipPath = clipPaths[i2];
+    allClipped = allClipped || clipPath.isZeroArea();
+    setContextTransform(ctx, clipPath);
+    ctx.beginPath();
+    clipPath.buildPath(ctx, clipPath.shape);
+    ctx.clip();
+  }
+  scope.allClipped = allClipped;
+}
+function isTransformChanged(m0, m1) {
+  if (m0 && m1) {
+    return m0[0] !== m1[0] || m0[1] !== m1[1] || m0[2] !== m1[2] || m0[3] !== m1[3] || m0[4] !== m1[4] || m0[5] !== m1[5];
+  } else if (!m0 && !m1) {
+    return false;
+  }
+  return true;
+}
+var DRAW_TYPE_PATH = 1;
+var DRAW_TYPE_IMAGE = 2;
+var DRAW_TYPE_TEXT = 3;
+var DRAW_TYPE_INCREMENTAL = 4;
+function canPathBatch(style2) {
+  var hasFill = styleHasFill(style2);
+  var hasStroke = styleHasStroke(style2);
+  return !(style2.lineDash || !(+hasFill ^ +hasStroke) || hasFill && typeof style2.fill !== "string" || hasStroke && typeof style2.stroke !== "string" || style2.strokePercent < 1 || style2.strokeOpacity < 1 || style2.fillOpacity < 1);
+}
+function flushPathDrawn(ctx, scope) {
+  scope.batchFill && ctx.fill();
+  scope.batchStroke && ctx.stroke();
+  scope.batchFill = "";
+  scope.batchStroke = "";
+}
+function getStyle(el, inHover) {
+  return inHover ? el.__hoverStyle || el.style : el.style;
+}
+function brushSingle(ctx, el) {
+  brush$1(ctx, el, { inHover: false, viewWidth: 0, viewHeight: 0 }, true);
+}
+function brush$1(ctx, el, scope, isLast) {
+  var m2 = el.transform;
+  if (!el.shouldBePainted(scope.viewWidth, scope.viewHeight, false, false)) {
+    el.__dirty &= ~REDRAW_BIT;
+    el.__isRendered = false;
+    return;
+  }
+  var clipPaths = el.__clipPaths;
+  var prevElClipPaths = scope.prevElClipPaths;
+  var forceSetTransform = false;
+  var forceSetStyle = false;
+  if (!prevElClipPaths || isClipPathChanged(clipPaths, prevElClipPaths)) {
+    if (prevElClipPaths && prevElClipPaths.length) {
+      flushPathDrawn(ctx, scope);
+      ctx.restore();
+      forceSetStyle = forceSetTransform = true;
+      scope.prevElClipPaths = null;
+      scope.allClipped = false;
+      scope.prevEl = null;
+    }
+    if (clipPaths && clipPaths.length) {
+      flushPathDrawn(ctx, scope);
+      ctx.save();
+      updateClipStatus(clipPaths, ctx, scope);
+      forceSetTransform = true;
+    }
+    scope.prevElClipPaths = clipPaths;
+  }
+  if (scope.allClipped) {
+    el.__isRendered = false;
+    return;
+  }
+  el.beforeBrush && el.beforeBrush();
+  el.innerBeforeBrush();
+  var prevEl = scope.prevEl;
+  if (!prevEl) {
+    forceSetStyle = forceSetTransform = true;
+  }
+  var canBatchPath = el instanceof Path$1 && el.autoBatch && canPathBatch(el.style);
+  if (forceSetTransform || isTransformChanged(m2, prevEl.transform)) {
+    flushPathDrawn(ctx, scope);
+    setContextTransform(ctx, el);
+  } else if (!canBatchPath) {
+    flushPathDrawn(ctx, scope);
+  }
+  var style2 = getStyle(el, scope.inHover);
+  if (el instanceof Path$1) {
+    if (scope.lastDrawType !== DRAW_TYPE_PATH) {
+      forceSetStyle = true;
+      scope.lastDrawType = DRAW_TYPE_PATH;
+    }
+    bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetStyle, scope);
+    if (!canBatchPath || !scope.batchFill && !scope.batchStroke) {
+      ctx.beginPath();
+    }
+    brushPath(ctx, el, style2, canBatchPath);
+    if (canBatchPath) {
+      scope.batchFill = style2.fill || "";
+      scope.batchStroke = style2.stroke || "";
+    }
+  } else {
+    if (el instanceof TSpan$1) {
+      if (scope.lastDrawType !== DRAW_TYPE_TEXT) {
+        forceSetStyle = true;
+        scope.lastDrawType = DRAW_TYPE_TEXT;
+      }
+      bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetStyle, scope);
+      brushText(ctx, el, style2);
+    } else if (el instanceof ZRImage$1) {
+      if (scope.lastDrawType !== DRAW_TYPE_IMAGE) {
+        forceSetStyle = true;
+        scope.lastDrawType = DRAW_TYPE_IMAGE;
+      }
+      bindImageStyle(ctx, el, prevEl, forceSetStyle, scope);
+      brushImage(ctx, el, style2);
+    } else if (el.getTemporalDisplayables) {
+      if (scope.lastDrawType !== DRAW_TYPE_INCREMENTAL) {
+        forceSetStyle = true;
+        scope.lastDrawType = DRAW_TYPE_INCREMENTAL;
+      }
+      brushIncremental(ctx, el, scope);
+    }
+  }
+  if (canBatchPath && isLast) {
+    flushPathDrawn(ctx, scope);
+  }
+  el.innerAfterBrush();
+  el.afterBrush && el.afterBrush();
+  scope.prevEl = el;
+  el.__dirty = 0;
+  el.__isRendered = true;
+}
+function brushIncremental(ctx, el, scope) {
+  var displayables = el.getDisplayables();
+  var temporalDisplayables = el.getTemporalDisplayables();
+  ctx.save();
+  var innerScope = {
+    prevElClipPaths: null,
+    prevEl: null,
+    allClipped: false,
+    viewWidth: scope.viewWidth,
+    viewHeight: scope.viewHeight,
+    inHover: scope.inHover
+  };
+  var i2;
+  var len2;
+  for (i2 = el.getCursor(), len2 = displayables.length; i2 < len2; i2++) {
+    var displayable = displayables[i2];
+    displayable.beforeBrush && displayable.beforeBrush();
+    displayable.innerBeforeBrush();
+    brush$1(ctx, displayable, innerScope, i2 === len2 - 1);
+    displayable.innerAfterBrush();
+    displayable.afterBrush && displayable.afterBrush();
+    innerScope.prevEl = displayable;
+  }
+  for (var i_1 = 0, len_1 = temporalDisplayables.length; i_1 < len_1; i_1++) {
+    var displayable = temporalDisplayables[i_1];
+    displayable.beforeBrush && displayable.beforeBrush();
+    displayable.innerBeforeBrush();
+    brush$1(ctx, displayable, innerScope, i_1 === len_1 - 1);
+    displayable.innerAfterBrush();
+    displayable.afterBrush && displayable.afterBrush();
+    innerScope.prevEl = displayable;
+  }
+  el.clearTemporalDisplayables();
+  el.notClear = true;
+  ctx.restore();
+}
+var decalMap = new WeakMap$1();
+var decalCache = new LRU$1(100);
+var decalKeys = ["symbol", "symbolSize", "symbolKeepAspect", "color", "backgroundColor", "dashArrayX", "dashArrayY", "maxTileWidth", "maxTileHeight"];
+function createOrUpdatePatternFromDecal(decalObject, api2) {
+  if (decalObject === "none") {
+    return null;
+  }
+  var dpr2 = api2.getDevicePixelRatio();
+  var zr = api2.getZr();
+  var isSVG = zr.painter.type === "svg";
+  if (decalObject.dirty) {
+    decalMap["delete"](decalObject);
+  }
+  var oldPattern = decalMap.get(decalObject);
+  if (oldPattern) {
+    return oldPattern;
+  }
+  var decalOpt = defaults$2(decalObject, {
+    symbol: "rect",
+    symbolSize: 1,
+    symbolKeepAspect: true,
+    color: "rgba(0, 0, 0, 0.2)",
+    backgroundColor: null,
+    dashArrayX: 5,
+    dashArrayY: 5,
+    rotation: 0,
+    maxTileWidth: 512,
+    maxTileHeight: 512
+  });
+  if (decalOpt.backgroundColor === "none") {
+    decalOpt.backgroundColor = null;
+  }
+  var pattern = {
+    repeat: "repeat"
+  };
+  setPatternnSource(pattern);
+  pattern.rotation = decalOpt.rotation;
+  pattern.scaleX = pattern.scaleY = isSVG ? 1 : 1 / dpr2;
+  decalMap.set(decalObject, pattern);
+  decalObject.dirty = false;
+  return pattern;
+  function setPatternnSource(pattern2) {
+    var keys2 = [dpr2];
+    var isValidKey = true;
+    for (var i2 = 0; i2 < decalKeys.length; ++i2) {
+      var value = decalOpt[decalKeys[i2]];
+      if (value != null && !isArray$2(value) && !isString$1(value) && !isNumber$1(value) && typeof value !== "boolean") {
+        isValidKey = false;
+        break;
+      }
+      keys2.push(value);
+    }
+    var cacheKey;
+    if (isValidKey) {
+      cacheKey = keys2.join(",") + (isSVG ? "-svg" : "");
+      var cache = decalCache.get(cacheKey);
+      if (cache) {
+        isSVG ? pattern2.svgElement = cache : pattern2.image = cache;
+      }
+    }
+    var dashArrayX = normalizeDashArrayX(decalOpt.dashArrayX);
+    var dashArrayY = normalizeDashArrayY(decalOpt.dashArrayY);
+    var symbolArray = normalizeSymbolArray(decalOpt.symbol);
+    var lineBlockLengthsX = getLineBlockLengthX(dashArrayX);
+    var lineBlockLengthY = getLineBlockLengthY(dashArrayY);
+    var canvas = !isSVG && platformApi.createCanvas();
+    var svgRoot = isSVG && {
+      tag: "g",
+      attrs: {},
+      key: "dcl",
+      children: []
+    };
+    var pSize = getPatternSize();
+    var ctx;
+    if (canvas) {
+      canvas.width = pSize.width * dpr2;
+      canvas.height = pSize.height * dpr2;
+      ctx = canvas.getContext("2d");
+    }
+    brushDecal();
+    if (isValidKey) {
+      decalCache.put(cacheKey, canvas || svgRoot);
+    }
+    pattern2.image = canvas;
+    pattern2.svgElement = svgRoot;
+    pattern2.svgWidth = pSize.width;
+    pattern2.svgHeight = pSize.height;
+    function getPatternSize() {
+      var width = 1;
+      for (var i3 = 0, xlen = lineBlockLengthsX.length; i3 < xlen; ++i3) {
+        width = getLeastCommonMultiple(width, lineBlockLengthsX[i3]);
+      }
+      var symbolRepeats = 1;
+      for (var i3 = 0, xlen = symbolArray.length; i3 < xlen; ++i3) {
+        symbolRepeats = getLeastCommonMultiple(symbolRepeats, symbolArray[i3].length);
+      }
+      width *= symbolRepeats;
+      var height = lineBlockLengthY * lineBlockLengthsX.length * symbolArray.length;
+      return {
+        width: Math.max(1, Math.min(width, decalOpt.maxTileWidth)),
+        height: Math.max(1, Math.min(height, decalOpt.maxTileHeight))
+      };
+    }
+    function brushDecal() {
+      if (ctx) {
+        ctx.clearRect(0, 0, canvas.width, canvas.height);
+        if (decalOpt.backgroundColor) {
+          ctx.fillStyle = decalOpt.backgroundColor;
+          ctx.fillRect(0, 0, canvas.width, canvas.height);
+        }
+      }
+      var ySum = 0;
+      for (var i3 = 0; i3 < dashArrayY.length; ++i3) {
+        ySum += dashArrayY[i3];
+      }
+      if (ySum <= 0) {
+        return;
+      }
+      var y2 = -lineBlockLengthY;
+      var yId = 0;
+      var yIdTotal = 0;
+      var xId0 = 0;
+      while (y2 < pSize.height) {
+        if (yId % 2 === 0) {
+          var symbolYId = yIdTotal / 2 % symbolArray.length;
+          var x2 = 0;
+          var xId1 = 0;
+          var xId1Total = 0;
+          while (x2 < pSize.width * 2) {
+            var xSum = 0;
+            for (var i3 = 0; i3 < dashArrayX[xId0].length; ++i3) {
+              xSum += dashArrayX[xId0][i3];
+            }
+            if (xSum <= 0) {
+              break;
+            }
+            if (xId1 % 2 === 0) {
+              var size = (1 - decalOpt.symbolSize) * 0.5;
+              var left = x2 + dashArrayX[xId0][xId1] * size;
+              var top_1 = y2 + dashArrayY[yId] * size;
+              var width = dashArrayX[xId0][xId1] * decalOpt.symbolSize;
+              var height = dashArrayY[yId] * decalOpt.symbolSize;
+              var symbolXId = xId1Total / 2 % symbolArray[symbolYId].length;
+              brushSymbol(left, top_1, width, height, symbolArray[symbolYId][symbolXId]);
+            }
+            x2 += dashArrayX[xId0][xId1];
+            ++xId1Total;
+            ++xId1;
+            if (xId1 === dashArrayX[xId0].length) {
+              xId1 = 0;
+            }
+          }
+          ++xId0;
+          if (xId0 === dashArrayX.length) {
+            xId0 = 0;
+          }
+        }
+        y2 += dashArrayY[yId];
+        ++yIdTotal;
+        ++yId;
+        if (yId === dashArrayY.length) {
+          yId = 0;
+        }
+      }
+      function brushSymbol(x3, y3, width2, height2, symbolType) {
+        var scale2 = isSVG ? 1 : dpr2;
+        var symbol2 = createSymbol$1(symbolType, x3 * scale2, y3 * scale2, width2 * scale2, height2 * scale2, decalOpt.color, decalOpt.symbolKeepAspect);
+        if (isSVG) {
+          var symbolVNode = zr.painter.renderOneToVNode(symbol2);
+          if (symbolVNode) {
+            svgRoot.children.push(symbolVNode);
+          }
+        } else {
+          brushSingle(ctx, symbol2);
+        }
+      }
+    }
+  }
+}
+function normalizeSymbolArray(symbol2) {
+  if (!symbol2 || symbol2.length === 0) {
+    return [["rect"]];
+  }
+  if (isString$1(symbol2)) {
+    return [[symbol2]];
+  }
+  var isAllString = true;
+  for (var i2 = 0; i2 < symbol2.length; ++i2) {
+    if (!isString$1(symbol2[i2])) {
+      isAllString = false;
+      break;
+    }
+  }
+  if (isAllString) {
+    return normalizeSymbolArray([symbol2]);
+  }
+  var result2 = [];
+  for (var i2 = 0; i2 < symbol2.length; ++i2) {
+    if (isString$1(symbol2[i2])) {
+      result2.push([symbol2[i2]]);
+    } else {
+      result2.push(symbol2[i2]);
+    }
+  }
+  return result2;
+}
+function normalizeDashArrayX(dash) {
+  if (!dash || dash.length === 0) {
+    return [[0, 0]];
+  }
+  if (isNumber$1(dash)) {
+    var dashValue = Math.ceil(dash);
+    return [[dashValue, dashValue]];
+  }
+  var isAllNumber = true;
+  for (var i2 = 0; i2 < dash.length; ++i2) {
+    if (!isNumber$1(dash[i2])) {
+      isAllNumber = false;
+      break;
+    }
+  }
+  if (isAllNumber) {
+    return normalizeDashArrayX([dash]);
+  }
+  var result2 = [];
+  for (var i2 = 0; i2 < dash.length; ++i2) {
+    if (isNumber$1(dash[i2])) {
+      var dashValue = Math.ceil(dash[i2]);
+      result2.push([dashValue, dashValue]);
+    } else {
+      var dashValue = map$1(dash[i2], function(n2) {
+        return Math.ceil(n2);
+      });
+      if (dashValue.length % 2 === 1) {
+        result2.push(dashValue.concat(dashValue));
+      } else {
+        result2.push(dashValue);
+      }
+    }
+  }
+  return result2;
+}
+function normalizeDashArrayY(dash) {
+  if (!dash || typeof dash === "object" && dash.length === 0) {
+    return [0, 0];
+  }
+  if (isNumber$1(dash)) {
+    var dashValue_1 = Math.ceil(dash);
+    return [dashValue_1, dashValue_1];
+  }
+  var dashValue = map$1(dash, function(n2) {
+    return Math.ceil(n2);
+  });
+  return dash.length % 2 ? dashValue.concat(dashValue) : dashValue;
+}
+function getLineBlockLengthX(dash) {
+  return map$1(dash, function(line2) {
+    return getLineBlockLengthY(line2);
+  });
+}
+function getLineBlockLengthY(dash) {
+  var blockLength = 0;
+  for (var i2 = 0; i2 < dash.length; ++i2) {
+    blockLength += dash[i2];
+  }
+  if (dash.length % 2 === 1) {
+    return blockLength * 2;
+  }
+  return blockLength;
+}
+function decalVisual(ecModel, api2) {
+  ecModel.eachRawSeries(function(seriesModel) {
+    if (ecModel.isSeriesFiltered(seriesModel)) {
+      return;
+    }
+    var data2 = seriesModel.getData();
+    if (data2.hasItemVisual()) {
+      data2.each(function(idx) {
+        var decal2 = data2.getItemVisual(idx, "decal");
+        if (decal2) {
+          var itemStyle2 = data2.ensureUniqueItemVisual(idx, "style");
+          itemStyle2.decal = createOrUpdatePatternFromDecal(decal2, api2);
+        }
+      });
+    }
+    var decal = data2.getVisual("decal");
+    if (decal) {
+      var style2 = data2.getVisual("style");
+      style2.decal = createOrUpdatePatternFromDecal(decal, api2);
+    }
+  });
+}
+var lifecycle = new Eventful$1();
+const lifecycle$1 = lifecycle;
+var implsStore = {};
+function registerImpl(name2, impl) {
+  implsStore[name2] = impl;
+}
+function getImpl(name2) {
+  return implsStore[name2];
+}
+var version$6 = "5.4.3";
+var dependencies = {
+  zrender: "5.4.4"
+};
+var TEST_FRAME_REMAIN_TIME = 1;
+var PRIORITY_PROCESSOR_SERIES_FILTER = 800;
+var PRIORITY_PROCESSOR_DATASTACK = 900;
+var PRIORITY_PROCESSOR_FILTER = 1e3;
+var PRIORITY_PROCESSOR_DEFAULT = 2e3;
+var PRIORITY_PROCESSOR_STATISTIC = 5e3;
+var PRIORITY_VISUAL_LAYOUT = 1e3;
+var PRIORITY_VISUAL_PROGRESSIVE_LAYOUT = 1100;
+var PRIORITY_VISUAL_GLOBAL = 2e3;
+var PRIORITY_VISUAL_CHART = 3e3;
+var PRIORITY_VISUAL_COMPONENT = 4e3;
+var PRIORITY_VISUAL_CHART_DATA_CUSTOM = 4500;
+var PRIORITY_VISUAL_POST_CHART_LAYOUT = 4600;
+var PRIORITY_VISUAL_BRUSH = 5e3;
+var PRIORITY_VISUAL_ARIA = 6e3;
+var PRIORITY_VISUAL_DECAL = 7e3;
+var PRIORITY = {
+  PROCESSOR: {
+    FILTER: PRIORITY_PROCESSOR_FILTER,
+    SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER,
+    STATISTIC: PRIORITY_PROCESSOR_STATISTIC
+  },
+  VISUAL: {
+    LAYOUT: PRIORITY_VISUAL_LAYOUT,
+    PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,
+    GLOBAL: PRIORITY_VISUAL_GLOBAL,
+    CHART: PRIORITY_VISUAL_CHART,
+    POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT,
+    COMPONENT: PRIORITY_VISUAL_COMPONENT,
+    BRUSH: PRIORITY_VISUAL_BRUSH,
+    CHART_ITEM: PRIORITY_VISUAL_CHART_DATA_CUSTOM,
+    ARIA: PRIORITY_VISUAL_ARIA,
+    DECAL: PRIORITY_VISUAL_DECAL
+  }
+};
+var IN_MAIN_PROCESS_KEY = "__flagInMainProcess";
+var PENDING_UPDATE = "__pendingUpdate";
+var STATUS_NEEDS_UPDATE_KEY = "__needsUpdateStatus";
+var ACTION_REG = /^[a-zA-Z0-9_]+$/;
+var CONNECT_STATUS_KEY = "__connectUpdateStatus";
+var CONNECT_STATUS_PENDING = 0;
+var CONNECT_STATUS_UPDATING = 1;
+var CONNECT_STATUS_UPDATED = 2;
+function createRegisterEventWithLowercaseECharts(method) {
+  return function() {
+    var args = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      args[_i] = arguments[_i];
+    }
+    if (this.isDisposed()) {
+      disposedWarning(this.id);
+      return;
+    }
+    return toLowercaseNameAndCallEventful(this, method, args);
+  };
+}
+function createRegisterEventWithLowercaseMessageCenter(method) {
+  return function() {
+    var args = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      args[_i] = arguments[_i];
+    }
+    return toLowercaseNameAndCallEventful(this, method, args);
+  };
+}
+function toLowercaseNameAndCallEventful(host, method, args) {
+  args[0] = args[0] && args[0].toLowerCase();
+  return Eventful$1.prototype[method].apply(host, args);
+}
+var MessageCenter = (
+  /** @class */
+  function(_super) {
+    __extends(MessageCenter2, _super);
+    function MessageCenter2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    return MessageCenter2;
+  }(Eventful$1)
+);
+var messageCenterProto = MessageCenter.prototype;
+messageCenterProto.on = createRegisterEventWithLowercaseMessageCenter("on");
+messageCenterProto.off = createRegisterEventWithLowercaseMessageCenter("off");
+var prepare;
+var prepareView;
+var updateDirectly;
+var updateMethods;
+var doConvertPixel;
+var updateStreamModes;
+var doDispatchAction;
+var flushPendingActions;
+var triggerUpdatedEvent;
+var bindRenderedEvent;
+var bindMouseEvent;
+var render;
+var renderComponents;
+var renderSeries;
+var createExtensionAPI;
+var enableConnect;
+var markStatusToUpdate;
+var applyChangedStates;
+var ECharts = (
+  /** @class */
+  function(_super) {
+    __extends(ECharts2, _super);
+    function ECharts2(dom2, theme2, opts2) {
+      var _this = _super.call(this, new ECEventProcessor()) || this;
+      _this._chartsViews = [];
+      _this._chartsMap = {};
+      _this._componentsViews = [];
+      _this._componentsMap = {};
+      _this._pendingActions = [];
+      opts2 = opts2 || {};
+      if (isString$1(theme2)) {
+        theme2 = themeStorage[theme2];
+      }
+      _this._dom = dom2;
+      var defaultRenderer = "canvas";
+      var defaultCoarsePointer = "auto";
+      var defaultUseDirtyRect = false;
+      var zr = _this._zr = init$2(dom2, {
+        renderer: opts2.renderer || defaultRenderer,
+        devicePixelRatio: opts2.devicePixelRatio,
+        width: opts2.width,
+        height: opts2.height,
+        ssr: opts2.ssr,
+        useDirtyRect: retrieve2(opts2.useDirtyRect, defaultUseDirtyRect),
+        useCoarsePointer: retrieve2(opts2.useCoarsePointer, defaultCoarsePointer),
+        pointerSize: opts2.pointerSize
+      });
+      _this._ssr = opts2.ssr;
+      _this._throttledZrFlush = throttle$1(bind$2(zr.flush, zr), 17);
+      theme2 = clone$4(theme2);
+      theme2 && globalBackwardCompat(theme2, true);
+      _this._theme = theme2;
+      _this._locale = createLocaleObject(opts2.locale || SYSTEM_LANG);
+      _this._coordSysMgr = new CoordinateSystem();
+      var api2 = _this._api = createExtensionAPI(_this);
+      function prioritySortFunc(a2, b2) {
+        return a2.__prio - b2.__prio;
+      }
+      sort$2(visualFuncs, prioritySortFunc);
+      sort$2(dataProcessorFuncs, prioritySortFunc);
+      _this._scheduler = new Scheduler$1(_this, api2, dataProcessorFuncs, visualFuncs);
+      _this._messageCenter = new MessageCenter();
+      _this._initEvents();
+      _this.resize = bind$2(_this.resize, _this);
+      zr.animation.on("frame", _this._onframe, _this);
+      bindRenderedEvent(zr, _this);
+      bindMouseEvent(zr, _this);
+      setAsPrimitive(_this);
+      return _this;
+    }
+    ECharts2.prototype._onframe = function() {
+      if (this._disposed) {
+        return;
+      }
+      applyChangedStates(this);
+      var scheduler = this._scheduler;
+      if (this[PENDING_UPDATE]) {
+        var silent = this[PENDING_UPDATE].silent;
+        this[IN_MAIN_PROCESS_KEY] = true;
+        try {
+          prepare(this);
+          updateMethods.update.call(this, null, this[PENDING_UPDATE].updateParams);
+        } catch (e2) {
+          this[IN_MAIN_PROCESS_KEY] = false;
+          this[PENDING_UPDATE] = null;
+          throw e2;
+        }
+        this._zr.flush();
+        this[IN_MAIN_PROCESS_KEY] = false;
+        this[PENDING_UPDATE] = null;
+        flushPendingActions.call(this, silent);
+        triggerUpdatedEvent.call(this, silent);
+      } else if (scheduler.unfinished) {
+        var remainTime = TEST_FRAME_REMAIN_TIME;
+        var ecModel = this._model;
+        var api2 = this._api;
+        scheduler.unfinished = false;
+        do {
+          var startTime = +/* @__PURE__ */ new Date();
+          scheduler.performSeriesTasks(ecModel);
+          scheduler.performDataProcessorTasks(ecModel);
+          updateStreamModes(this, ecModel);
+          scheduler.performVisualTasks(ecModel);
+          renderSeries(this, this._model, api2, "remain", {});
+          remainTime -= +/* @__PURE__ */ new Date() - startTime;
+        } while (remainTime > 0 && scheduler.unfinished);
+        if (!scheduler.unfinished) {
+          this._zr.flush();
+        }
+      }
+    };
+    ECharts2.prototype.getDom = function() {
+      return this._dom;
+    };
+    ECharts2.prototype.getId = function() {
+      return this.id;
+    };
+    ECharts2.prototype.getZr = function() {
+      return this._zr;
+    };
+    ECharts2.prototype.isSSR = function() {
+      return this._ssr;
+    };
+    ECharts2.prototype.setOption = function(option, notMerge, lazyUpdate) {
+      if (this[IN_MAIN_PROCESS_KEY]) {
+        return;
+      }
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      var silent;
+      var replaceMerge;
+      var transitionOpt;
+      if (isObject$4(notMerge)) {
+        lazyUpdate = notMerge.lazyUpdate;
+        silent = notMerge.silent;
+        replaceMerge = notMerge.replaceMerge;
+        transitionOpt = notMerge.transition;
+        notMerge = notMerge.notMerge;
+      }
+      this[IN_MAIN_PROCESS_KEY] = true;
+      if (!this._model || notMerge) {
+        var optionManager = new OptionManager$1(this._api);
+        var theme2 = this._theme;
+        var ecModel = this._model = new GlobalModel$1();
+        ecModel.scheduler = this._scheduler;
+        ecModel.ssr = this._ssr;
+        ecModel.init(null, null, null, theme2, this._locale, optionManager);
+      }
+      this._model.setOption(option, {
+        replaceMerge
+      }, optionPreprocessorFuncs);
+      var updateParams = {
+        seriesTransition: transitionOpt,
+        optionChanged: true
+      };
+      if (lazyUpdate) {
+        this[PENDING_UPDATE] = {
+          silent,
+          updateParams
+        };
+        this[IN_MAIN_PROCESS_KEY] = false;
+        this.getZr().wakeUp();
+      } else {
+        try {
+          prepare(this);
+          updateMethods.update.call(this, null, updateParams);
+        } catch (e2) {
+          this[PENDING_UPDATE] = null;
+          this[IN_MAIN_PROCESS_KEY] = false;
+          throw e2;
+        }
+        if (!this._ssr) {
+          this._zr.flush();
+        }
+        this[PENDING_UPDATE] = null;
+        this[IN_MAIN_PROCESS_KEY] = false;
+        flushPendingActions.call(this, silent);
+        triggerUpdatedEvent.call(this, silent);
+      }
+    };
+    ECharts2.prototype.setTheme = function() {
+    };
+    ECharts2.prototype.getModel = function() {
+      return this._model;
+    };
+    ECharts2.prototype.getOption = function() {
+      return this._model && this._model.getOption();
+    };
+    ECharts2.prototype.getWidth = function() {
+      return this._zr.getWidth();
+    };
+    ECharts2.prototype.getHeight = function() {
+      return this._zr.getHeight();
+    };
+    ECharts2.prototype.getDevicePixelRatio = function() {
+      return this._zr.painter.dpr || env$1.hasGlobalWindow && window.devicePixelRatio || 1;
+    };
+    ECharts2.prototype.getRenderedCanvas = function(opts2) {
+      return this.renderToCanvas(opts2);
+    };
+    ECharts2.prototype.renderToCanvas = function(opts2) {
+      opts2 = opts2 || {};
+      var painter = this._zr.painter;
+      return painter.getRenderedCanvas({
+        backgroundColor: opts2.backgroundColor || this._model.get("backgroundColor"),
+        pixelRatio: opts2.pixelRatio || this.getDevicePixelRatio()
+      });
+    };
+    ECharts2.prototype.renderToSVGString = function(opts2) {
+      opts2 = opts2 || {};
+      var painter = this._zr.painter;
+      return painter.renderToString({
+        useViewBox: opts2.useViewBox
+      });
+    };
+    ECharts2.prototype.getSvgDataURL = function() {
+      if (!env$1.svgSupported) {
+        return;
+      }
+      var zr = this._zr;
+      var list2 = zr.storage.getDisplayList();
+      each$f(list2, function(el) {
+        el.stopAnimation(null, true);
+      });
+      return zr.painter.toDataURL();
+    };
+    ECharts2.prototype.getDataURL = function(opts2) {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      opts2 = opts2 || {};
+      var excludeComponents = opts2.excludeComponents;
+      var ecModel = this._model;
+      var excludesComponentViews = [];
+      var self2 = this;
+      each$f(excludeComponents, function(componentType) {
+        ecModel.eachComponent({
+          mainType: componentType
+        }, function(component2) {
+          var view = self2._componentsMap[component2.__viewId];
+          if (!view.group.ignore) {
+            excludesComponentViews.push(view);
+            view.group.ignore = true;
+          }
+        });
+      });
+      var url = this._zr.painter.getType() === "svg" ? this.getSvgDataURL() : this.renderToCanvas(opts2).toDataURL("image/" + (opts2 && opts2.type || "png"));
+      each$f(excludesComponentViews, function(view) {
+        view.group.ignore = false;
+      });
+      return url;
+    };
+    ECharts2.prototype.getConnectedDataURL = function(opts2) {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      var isSvg = opts2.type === "svg";
+      var groupId = this.group;
+      var mathMin2 = Math.min;
+      var mathMax2 = Math.max;
+      var MAX_NUMBER = Infinity;
+      if (connectedGroups[groupId]) {
+        var left_1 = MAX_NUMBER;
+        var top_1 = MAX_NUMBER;
+        var right_1 = -MAX_NUMBER;
+        var bottom_1 = -MAX_NUMBER;
+        var canvasList_1 = [];
+        var dpr_1 = opts2 && opts2.pixelRatio || this.getDevicePixelRatio();
+        each$f(instances, function(chart, id) {
+          if (chart.group === groupId) {
+            var canvas = isSvg ? chart.getZr().painter.getSvgDom().innerHTML : chart.renderToCanvas(clone$4(opts2));
+            var boundingRect = chart.getDom().getBoundingClientRect();
+            left_1 = mathMin2(boundingRect.left, left_1);
+            top_1 = mathMin2(boundingRect.top, top_1);
+            right_1 = mathMax2(boundingRect.right, right_1);
+            bottom_1 = mathMax2(boundingRect.bottom, bottom_1);
+            canvasList_1.push({
+              dom: canvas,
+              left: boundingRect.left,
+              top: boundingRect.top
+            });
+          }
+        });
+        left_1 *= dpr_1;
+        top_1 *= dpr_1;
+        right_1 *= dpr_1;
+        bottom_1 *= dpr_1;
+        var width = right_1 - left_1;
+        var height = bottom_1 - top_1;
+        var targetCanvas = platformApi.createCanvas();
+        var zr_1 = init$2(targetCanvas, {
+          renderer: isSvg ? "svg" : "canvas"
+        });
+        zr_1.resize({
+          width,
+          height
+        });
+        if (isSvg) {
+          var content_1 = "";
+          each$f(canvasList_1, function(item) {
+            var x2 = item.left - left_1;
+            var y2 = item.top - top_1;
+            content_1 += '<g transform="translate(' + x2 + "," + y2 + ')">' + item.dom + "</g>";
+          });
+          zr_1.painter.getSvgRoot().innerHTML = content_1;
+          if (opts2.connectedBackgroundColor) {
+            zr_1.painter.setBackgroundColor(opts2.connectedBackgroundColor);
+          }
+          zr_1.refreshImmediately();
+          return zr_1.painter.toDataURL();
+        } else {
+          if (opts2.connectedBackgroundColor) {
+            zr_1.add(new Rect$3({
+              shape: {
+                x: 0,
+                y: 0,
+                width,
+                height
+              },
+              style: {
+                fill: opts2.connectedBackgroundColor
+              }
+            }));
+          }
+          each$f(canvasList_1, function(item) {
+            var img = new ZRImage$1({
+              style: {
+                x: item.left * dpr_1 - left_1,
+                y: item.top * dpr_1 - top_1,
+                image: item.dom
+              }
+            });
+            zr_1.add(img);
+          });
+          zr_1.refreshImmediately();
+          return targetCanvas.toDataURL("image/" + (opts2 && opts2.type || "png"));
+        }
+      } else {
+        return this.getDataURL(opts2);
+      }
+    };
+    ECharts2.prototype.convertToPixel = function(finder, value) {
+      return doConvertPixel(this, "convertToPixel", finder, value);
+    };
+    ECharts2.prototype.convertFromPixel = function(finder, value) {
+      return doConvertPixel(this, "convertFromPixel", finder, value);
+    };
+    ECharts2.prototype.containPixel = function(finder, value) {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      var ecModel = this._model;
+      var result2;
+      var findResult = parseFinder$1(ecModel, finder);
+      each$f(findResult, function(models, key2) {
+        key2.indexOf("Models") >= 0 && each$f(models, function(model2) {
+          var coordSys = model2.coordinateSystem;
+          if (coordSys && coordSys.containPoint) {
+            result2 = result2 || !!coordSys.containPoint(value);
+          } else if (key2 === "seriesModels") {
+            var view = this._chartsMap[model2.__viewId];
+            if (view && view.containPoint) {
+              result2 = result2 || view.containPoint(value, model2);
+            }
+          } else
+            ;
+        }, this);
+      }, this);
+      return !!result2;
+    };
+    ECharts2.prototype.getVisual = function(finder, visualType) {
+      var ecModel = this._model;
+      var parsedFinder = parseFinder$1(ecModel, finder, {
+        defaultMainType: "series"
+      });
+      var seriesModel = parsedFinder.seriesModel;
+      var data2 = seriesModel.getData();
+      var dataIndexInside = parsedFinder.hasOwnProperty("dataIndexInside") ? parsedFinder.dataIndexInside : parsedFinder.hasOwnProperty("dataIndex") ? data2.indexOfRawIndex(parsedFinder.dataIndex) : null;
+      return dataIndexInside != null ? getItemVisualFromData(data2, dataIndexInside, visualType) : getVisualFromData(data2, visualType);
+    };
+    ECharts2.prototype.getViewOfComponentModel = function(componentModel) {
+      return this._componentsMap[componentModel.__viewId];
+    };
+    ECharts2.prototype.getViewOfSeriesModel = function(seriesModel) {
+      return this._chartsMap[seriesModel.__viewId];
+    };
+    ECharts2.prototype._initEvents = function() {
+      var _this = this;
+      each$f(MOUSE_EVENT_NAMES, function(eveName) {
+        var handler = function(e2) {
+          var ecModel = _this.getModel();
+          var el = e2.target;
+          var params2;
+          var isGlobalOut = eveName === "globalout";
+          if (isGlobalOut) {
+            params2 = {};
+          } else {
+            el && findEventDispatcher(el, function(parent3) {
+              var ecData = getECData(parent3);
+              if (ecData && ecData.dataIndex != null) {
+                var dataModel = ecData.dataModel || ecModel.getSeriesByIndex(ecData.seriesIndex);
+                params2 = dataModel && dataModel.getDataParams(ecData.dataIndex, ecData.dataType, el) || {};
+                return true;
+              } else if (ecData.eventData) {
+                params2 = extend$1({}, ecData.eventData);
+                return true;
+              }
+            }, true);
+          }
+          if (params2) {
+            var componentType = params2.componentType;
+            var componentIndex = params2.componentIndex;
+            if (componentType === "markLine" || componentType === "markPoint" || componentType === "markArea") {
+              componentType = "series";
+              componentIndex = params2.seriesIndex;
+            }
+            var model2 = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);
+            var view = model2 && _this[model2.mainType === "series" ? "_chartsMap" : "_componentsMap"][model2.__viewId];
+            params2.event = e2;
+            params2.type = eveName;
+            _this._$eventProcessor.eventInfo = {
+              targetEl: el,
+              packedEvent: params2,
+              model: model2,
+              view
+            };
+            _this.trigger(eveName, params2);
+          }
+        };
+        handler.zrEventfulCallAtLast = true;
+        _this._zr.on(eveName, handler, _this);
+      });
+      each$f(eventActionMap, function(actionType, eventType) {
+        _this._messageCenter.on(eventType, function(event2) {
+          this.trigger(eventType, event2);
+        }, _this);
+      });
+      each$f(["selectchanged"], function(eventType) {
+        _this._messageCenter.on(eventType, function(event2) {
+          this.trigger(eventType, event2);
+        }, _this);
+      });
+      handleLegacySelectEvents(this._messageCenter, this, this._api);
+    };
+    ECharts2.prototype.isDisposed = function() {
+      return this._disposed;
+    };
+    ECharts2.prototype.clear = function() {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      this.setOption({
+        series: []
+      }, true);
+    };
+    ECharts2.prototype.dispose = function() {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      this._disposed = true;
+      var dom2 = this.getDom();
+      if (dom2) {
+        setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY, "");
+      }
+      var chart = this;
+      var api2 = chart._api;
+      var ecModel = chart._model;
+      each$f(chart._componentsViews, function(component2) {
+        component2.dispose(ecModel, api2);
+      });
+      each$f(chart._chartsViews, function(chart2) {
+        chart2.dispose(ecModel, api2);
+      });
+      chart._zr.dispose();
+      chart._dom = chart._model = chart._chartsMap = chart._componentsMap = chart._chartsViews = chart._componentsViews = chart._scheduler = chart._api = chart._zr = chart._throttledZrFlush = chart._theme = chart._coordSysMgr = chart._messageCenter = null;
+      delete instances[chart.id];
+    };
+    ECharts2.prototype.resize = function(opts2) {
+      if (this[IN_MAIN_PROCESS_KEY]) {
+        return;
+      }
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      this._zr.resize(opts2);
+      var ecModel = this._model;
+      this._loadingFX && this._loadingFX.resize();
+      if (!ecModel) {
+        return;
+      }
+      var needPrepare = ecModel.resetOption("media");
+      var silent = opts2 && opts2.silent;
+      if (this[PENDING_UPDATE]) {
+        if (silent == null) {
+          silent = this[PENDING_UPDATE].silent;
+        }
+        needPrepare = true;
+        this[PENDING_UPDATE] = null;
+      }
+      this[IN_MAIN_PROCESS_KEY] = true;
+      try {
+        needPrepare && prepare(this);
+        updateMethods.update.call(this, {
+          type: "resize",
+          animation: extend$1({
+            // Disable animation
+            duration: 0
+          }, opts2 && opts2.animation)
+        });
+      } catch (e2) {
+        this[IN_MAIN_PROCESS_KEY] = false;
+        throw e2;
+      }
+      this[IN_MAIN_PROCESS_KEY] = false;
+      flushPendingActions.call(this, silent);
+      triggerUpdatedEvent.call(this, silent);
+    };
+    ECharts2.prototype.showLoading = function(name2, cfg) {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      if (isObject$4(name2)) {
+        cfg = name2;
+        name2 = "";
+      }
+      name2 = name2 || "default";
+      this.hideLoading();
+      if (!loadingEffects[name2]) {
+        return;
+      }
+      var el = loadingEffects[name2](this._api, cfg);
+      var zr = this._zr;
+      this._loadingFX = el;
+      zr.add(el);
+    };
+    ECharts2.prototype.hideLoading = function() {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      this._loadingFX && this._zr.remove(this._loadingFX);
+      this._loadingFX = null;
+    };
+    ECharts2.prototype.makeActionFromEvent = function(eventObj) {
+      var payload = extend$1({}, eventObj);
+      payload.type = eventActionMap[eventObj.type];
+      return payload;
+    };
+    ECharts2.prototype.dispatchAction = function(payload, opt) {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      if (!isObject$4(opt)) {
+        opt = {
+          silent: !!opt
+        };
+      }
+      if (!actions[payload.type]) {
+        return;
+      }
+      if (!this._model) {
+        return;
+      }
+      if (this[IN_MAIN_PROCESS_KEY]) {
+        this._pendingActions.push(payload);
+        return;
+      }
+      var silent = opt.silent;
+      doDispatchAction.call(this, payload, silent);
+      var flush = opt.flush;
+      if (flush) {
+        this._zr.flush();
+      } else if (flush !== false && env$1.browser.weChat) {
+        this._throttledZrFlush();
+      }
+      flushPendingActions.call(this, silent);
+      triggerUpdatedEvent.call(this, silent);
+    };
+    ECharts2.prototype.updateLabelLayout = function() {
+      lifecycle$1.trigger("series:layoutlabels", this._model, this._api, {
+        // Not adding series labels.
+        // TODO
+        updatedSeries: []
+      });
+    };
+    ECharts2.prototype.appendData = function(params2) {
+      if (this._disposed) {
+        disposedWarning(this.id);
+        return;
+      }
+      var seriesIndex = params2.seriesIndex;
+      var ecModel = this.getModel();
+      var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
+      seriesModel.appendData(params2);
+      this._scheduler.unfinished = true;
+      this.getZr().wakeUp();
+    };
+    ECharts2.internalField = function() {
+      prepare = function(ecIns) {
+        var scheduler = ecIns._scheduler;
+        scheduler.restorePipelines(ecIns._model);
+        scheduler.prepareStageTasks();
+        prepareView(ecIns, true);
+        prepareView(ecIns, false);
+        scheduler.plan();
+      };
+      prepareView = function(ecIns, isComponent) {
+        var ecModel = ecIns._model;
+        var scheduler = ecIns._scheduler;
+        var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;
+        var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;
+        var zr = ecIns._zr;
+        var api2 = ecIns._api;
+        for (var i2 = 0; i2 < viewList.length; i2++) {
+          viewList[i2].__alive = false;
+        }
+        isComponent ? ecModel.eachComponent(function(componentType, model2) {
+          componentType !== "series" && doPrepare(model2);
+        }) : ecModel.eachSeries(doPrepare);
+        function doPrepare(model2) {
+          var requireNewView = model2.__requireNewView;
+          model2.__requireNewView = false;
+          var viewId = "_ec_" + model2.id + "_" + model2.type;
+          var view2 = !requireNewView && viewMap[viewId];
+          if (!view2) {
+            var classType = parseClassType(model2.type);
+            var Clazz = isComponent ? ComponentView$1.getClass(classType.main, classType.sub) : (
+              // FIXME:TS
+              // (ChartView as ChartViewConstructor).getClass('series', classType.sub)
+              // For backward compat, still support a chart type declared as only subType
+              // like "liquidfill", but recommend "series.liquidfill"
+              // But need a base class to make a type series.
+              ChartView$1.getClass(classType.sub)
+            );
+            view2 = new Clazz();
+            view2.init(ecModel, api2);
+            viewMap[viewId] = view2;
+            viewList.push(view2);
+            zr.add(view2.group);
+          }
+          model2.__viewId = view2.__id = viewId;
+          view2.__alive = true;
+          view2.__model = model2;
+          view2.group.__ecComponentInfo = {
+            mainType: model2.mainType,
+            index: model2.componentIndex
+          };
+          !isComponent && scheduler.prepareView(view2, model2, ecModel, api2);
+        }
+        for (var i2 = 0; i2 < viewList.length; ) {
+          var view = viewList[i2];
+          if (!view.__alive) {
+            !isComponent && view.renderTask.dispose();
+            zr.remove(view.group);
+            view.dispose(ecModel, api2);
+            viewList.splice(i2, 1);
+            if (viewMap[view.__id] === view) {
+              delete viewMap[view.__id];
+            }
+            view.__id = view.group.__ecComponentInfo = null;
+          } else {
+            i2++;
+          }
+        }
+      };
+      updateDirectly = function(ecIns, method, payload, mainType, subType) {
+        var ecModel = ecIns._model;
+        ecModel.setUpdatePayload(payload);
+        if (!mainType) {
+          each$f([].concat(ecIns._componentsViews).concat(ecIns._chartsViews), callView);
+          return;
+        }
+        var query = {};
+        query[mainType + "Id"] = payload[mainType + "Id"];
+        query[mainType + "Index"] = payload[mainType + "Index"];
+        query[mainType + "Name"] = payload[mainType + "Name"];
+        var condition = {
+          mainType,
+          query
+        };
+        subType && (condition.subType = subType);
+        var excludeSeriesId = payload.excludeSeriesId;
+        var excludeSeriesIdMap;
+        if (excludeSeriesId != null) {
+          excludeSeriesIdMap = createHashMap();
+          each$f(normalizeToArray(excludeSeriesId), function(id) {
+            var modelId = convertOptionIdName(id, null);
+            if (modelId != null) {
+              excludeSeriesIdMap.set(modelId, true);
+            }
+          });
+        }
+        ecModel && ecModel.eachComponent(condition, function(model2) {
+          var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model2.id) != null;
+          if (isExcluded) {
+            return;
+          }
+          if (isHighDownPayload(payload)) {
+            if (model2 instanceof SeriesModel$1) {
+              if (payload.type === HIGHLIGHT_ACTION_TYPE && !payload.notBlur && !model2.get(["emphasis", "disabled"])) {
+                blurSeriesFromHighlightPayload(model2, payload, ecIns._api);
+              }
+            } else {
+              var _a2 = findComponentHighDownDispatchers(model2.mainType, model2.componentIndex, payload.name, ecIns._api), focusSelf = _a2.focusSelf, dispatchers = _a2.dispatchers;
+              if (payload.type === HIGHLIGHT_ACTION_TYPE && focusSelf && !payload.notBlur) {
+                blurComponent(model2.mainType, model2.componentIndex, ecIns._api);
+              }
+              if (dispatchers) {
+                each$f(dispatchers, function(dispatcher) {
+                  payload.type === HIGHLIGHT_ACTION_TYPE ? enterEmphasis(dispatcher) : leaveEmphasis(dispatcher);
+                });
+              }
+            }
+          } else if (isSelectChangePayload(payload)) {
+            if (model2 instanceof SeriesModel$1) {
+              toggleSelectionFromPayload(model2, payload, ecIns._api);
+              updateSeriesElementSelection(model2);
+              markStatusToUpdate(ecIns);
+            }
+          }
+        }, ecIns);
+        ecModel && ecModel.eachComponent(condition, function(model2) {
+          var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model2.id) != null;
+          if (isExcluded) {
+            return;
+          }
+          callView(ecIns[mainType === "series" ? "_chartsMap" : "_componentsMap"][model2.__viewId]);
+        }, ecIns);
+        function callView(view) {
+          view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);
+        }
+      };
+      updateMethods = {
+        prepareAndUpdate: function(payload) {
+          prepare(this);
+          updateMethods.update.call(this, payload, {
+            // Needs to mark option changed if newOption is given.
+            // It's from MagicType.
+            // TODO If use a separate flag optionChanged in payload?
+            optionChanged: payload.newOption != null
+          });
+        },
+        update: function(payload, updateParams) {
+          var ecModel = this._model;
+          var api2 = this._api;
+          var zr = this._zr;
+          var coordSysMgr = this._coordSysMgr;
+          var scheduler = this._scheduler;
+          if (!ecModel) {
+            return;
+          }
+          ecModel.setUpdatePayload(payload);
+          scheduler.restoreData(ecModel, payload);
+          scheduler.performSeriesTasks(ecModel);
+          coordSysMgr.create(ecModel, api2);
+          scheduler.performDataProcessorTasks(ecModel, payload);
+          updateStreamModes(this, ecModel);
+          coordSysMgr.update(ecModel, api2);
+          clearColorPalette(ecModel);
+          scheduler.performVisualTasks(ecModel, payload);
+          render(this, ecModel, api2, payload, updateParams);
+          var backgroundColor2 = ecModel.get("backgroundColor") || "transparent";
+          var darkMode = ecModel.get("darkMode");
+          zr.setBackgroundColor(backgroundColor2);
+          if (darkMode != null && darkMode !== "auto") {
+            zr.setDarkMode(darkMode);
+          }
+          lifecycle$1.trigger("afterupdate", ecModel, api2);
+        },
+        updateTransform: function(payload) {
+          var _this = this;
+          var ecModel = this._model;
+          var api2 = this._api;
+          if (!ecModel) {
+            return;
+          }
+          ecModel.setUpdatePayload(payload);
+          var componentDirtyList = [];
+          ecModel.eachComponent(function(componentType, componentModel) {
+            if (componentType === "series") {
+              return;
+            }
+            var componentView = _this.getViewOfComponentModel(componentModel);
+            if (componentView && componentView.__alive) {
+              if (componentView.updateTransform) {
+                var result2 = componentView.updateTransform(componentModel, ecModel, api2, payload);
+                result2 && result2.update && componentDirtyList.push(componentView);
+              } else {
+                componentDirtyList.push(componentView);
+              }
+            }
+          });
+          var seriesDirtyMap = createHashMap();
+          ecModel.eachSeries(function(seriesModel) {
+            var chartView = _this._chartsMap[seriesModel.__viewId];
+            if (chartView.updateTransform) {
+              var result2 = chartView.updateTransform(seriesModel, ecModel, api2, payload);
+              result2 && result2.update && seriesDirtyMap.set(seriesModel.uid, 1);
+            } else {
+              seriesDirtyMap.set(seriesModel.uid, 1);
+            }
+          });
+          clearColorPalette(ecModel);
+          this._scheduler.performVisualTasks(ecModel, payload, {
+            setDirty: true,
+            dirtyMap: seriesDirtyMap
+          });
+          renderSeries(this, ecModel, api2, payload, {}, seriesDirtyMap);
+          lifecycle$1.trigger("afterupdate", ecModel, api2);
+        },
+        updateView: function(payload) {
+          var ecModel = this._model;
+          if (!ecModel) {
+            return;
+          }
+          ecModel.setUpdatePayload(payload);
+          ChartView$1.markUpdateMethod(payload, "updateView");
+          clearColorPalette(ecModel);
+          this._scheduler.performVisualTasks(ecModel, payload, {
+            setDirty: true
+          });
+          render(this, ecModel, this._api, payload, {});
+          lifecycle$1.trigger("afterupdate", ecModel, this._api);
+        },
+        updateVisual: function(payload) {
+          var _this = this;
+          var ecModel = this._model;
+          if (!ecModel) {
+            return;
+          }
+          ecModel.setUpdatePayload(payload);
+          ecModel.eachSeries(function(seriesModel) {
+            seriesModel.getData().clearAllVisual();
+          });
+          ChartView$1.markUpdateMethod(payload, "updateVisual");
+          clearColorPalette(ecModel);
+          this._scheduler.performVisualTasks(ecModel, payload, {
+            visualType: "visual",
+            setDirty: true
+          });
+          ecModel.eachComponent(function(componentType, componentModel) {
+            if (componentType !== "series") {
+              var componentView = _this.getViewOfComponentModel(componentModel);
+              componentView && componentView.__alive && componentView.updateVisual(componentModel, ecModel, _this._api, payload);
+            }
+          });
+          ecModel.eachSeries(function(seriesModel) {
+            var chartView = _this._chartsMap[seriesModel.__viewId];
+            chartView.updateVisual(seriesModel, ecModel, _this._api, payload);
+          });
+          lifecycle$1.trigger("afterupdate", ecModel, this._api);
+        },
+        updateLayout: function(payload) {
+          updateMethods.update.call(this, payload);
+        }
+      };
+      doConvertPixel = function(ecIns, methodName, finder, value) {
+        if (ecIns._disposed) {
+          disposedWarning(ecIns.id);
+          return;
+        }
+        var ecModel = ecIns._model;
+        var coordSysList = ecIns._coordSysMgr.getCoordinateSystems();
+        var result2;
+        var parsedFinder = parseFinder$1(ecModel, finder);
+        for (var i2 = 0; i2 < coordSysList.length; i2++) {
+          var coordSys = coordSysList[i2];
+          if (coordSys[methodName] && (result2 = coordSys[methodName](ecModel, parsedFinder, value)) != null) {
+            return result2;
+          }
+        }
+      };
+      updateStreamModes = function(ecIns, ecModel) {
+        var chartsMap = ecIns._chartsMap;
+        var scheduler = ecIns._scheduler;
+        ecModel.eachSeries(function(seriesModel) {
+          scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);
+        });
+      };
+      doDispatchAction = function(payload, silent) {
+        var _this = this;
+        var ecModel = this.getModel();
+        var payloadType = payload.type;
+        var escapeConnect = payload.escapeConnect;
+        var actionWrap = actions[payloadType];
+        var actionInfo2 = actionWrap.actionInfo;
+        var cptTypeTmp = (actionInfo2.update || "update").split(":");
+        var updateMethod = cptTypeTmp.pop();
+        var cptType = cptTypeTmp[0] != null && parseClassType(cptTypeTmp[0]);
+        this[IN_MAIN_PROCESS_KEY] = true;
+        var payloads = [payload];
+        var batched = false;
+        if (payload.batch) {
+          batched = true;
+          payloads = map$1(payload.batch, function(item) {
+            item = defaults$2(extend$1({}, item), payload);
+            item.batch = null;
+            return item;
+          });
+        }
+        var eventObjBatch = [];
+        var eventObj;
+        var isSelectChange = isSelectChangePayload(payload);
+        var isHighDown = isHighDownPayload(payload);
+        if (isHighDown) {
+          allLeaveBlur(this._api);
+        }
+        each$f(payloads, function(batchItem) {
+          eventObj = actionWrap.action(batchItem, _this._model, _this._api);
+          eventObj = eventObj || extend$1({}, batchItem);
+          eventObj.type = actionInfo2.event || eventObj.type;
+          eventObjBatch.push(eventObj);
+          if (isHighDown) {
+            var _a2 = preParseFinder(payload), queryOptionMap = _a2.queryOptionMap, mainTypeSpecified = _a2.mainTypeSpecified;
+            var componentMainType = mainTypeSpecified ? queryOptionMap.keys()[0] : "series";
+            updateDirectly(_this, updateMethod, batchItem, componentMainType);
+            markStatusToUpdate(_this);
+          } else if (isSelectChange) {
+            updateDirectly(_this, updateMethod, batchItem, "series");
+            markStatusToUpdate(_this);
+          } else if (cptType) {
+            updateDirectly(_this, updateMethod, batchItem, cptType.main, cptType.sub);
+          }
+        });
+        if (updateMethod !== "none" && !isHighDown && !isSelectChange && !cptType) {
+          try {
+            if (this[PENDING_UPDATE]) {
+              prepare(this);
+              updateMethods.update.call(this, payload);
+              this[PENDING_UPDATE] = null;
+            } else {
+              updateMethods[updateMethod].call(this, payload);
+            }
+          } catch (e2) {
+            this[IN_MAIN_PROCESS_KEY] = false;
+            throw e2;
+          }
+        }
+        if (batched) {
+          eventObj = {
+            type: actionInfo2.event || payloadType,
+            escapeConnect,
+            batch: eventObjBatch
+          };
+        } else {
+          eventObj = eventObjBatch[0];
+        }
+        this[IN_MAIN_PROCESS_KEY] = false;
+        if (!silent) {
+          var messageCenter = this._messageCenter;
+          messageCenter.trigger(eventObj.type, eventObj);
+          if (isSelectChange) {
+            var newObj = {
+              type: "selectchanged",
+              escapeConnect,
+              selected: getAllSelectedIndices(ecModel),
+              isFromClick: payload.isFromClick || false,
+              fromAction: payload.type,
+              fromActionPayload: payload
+            };
+            messageCenter.trigger(newObj.type, newObj);
+          }
+        }
+      };
+      flushPendingActions = function(silent) {
+        var pendingActions = this._pendingActions;
+        while (pendingActions.length) {
+          var payload = pendingActions.shift();
+          doDispatchAction.call(this, payload, silent);
+        }
+      };
+      triggerUpdatedEvent = function(silent) {
+        !silent && this.trigger("updated");
+      };
+      bindRenderedEvent = function(zr, ecIns) {
+        zr.on("rendered", function(params2) {
+          ecIns.trigger("rendered", params2);
+          if (
+            // Although zr is dirty if initial animation is not finished
+            // and this checking is called on frame, we also check
+            // animation finished for robustness.
+            zr.animation.isFinished() && !ecIns[PENDING_UPDATE] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length
+          ) {
+            ecIns.trigger("finished");
+          }
+        });
+      };
+      bindMouseEvent = function(zr, ecIns) {
+        zr.on("mouseover", function(e2) {
+          var el = e2.target;
+          var dispatcher = findEventDispatcher(el, isHighDownDispatcher);
+          if (dispatcher) {
+            handleGlobalMouseOverForHighDown(dispatcher, e2, ecIns._api);
+            markStatusToUpdate(ecIns);
+          }
+        }).on("mouseout", function(e2) {
+          var el = e2.target;
+          var dispatcher = findEventDispatcher(el, isHighDownDispatcher);
+          if (dispatcher) {
+            handleGlobalMouseOutForHighDown(dispatcher, e2, ecIns._api);
+            markStatusToUpdate(ecIns);
+          }
+        }).on("click", function(e2) {
+          var el = e2.target;
+          var dispatcher = findEventDispatcher(el, function(target) {
+            return getECData(target).dataIndex != null;
+          }, true);
+          if (dispatcher) {
+            var actionType = dispatcher.selected ? "unselect" : "select";
+            var ecData = getECData(dispatcher);
+            ecIns._api.dispatchAction({
+              type: actionType,
+              dataType: ecData.dataType,
+              dataIndexInside: ecData.dataIndex,
+              seriesIndex: ecData.seriesIndex,
+              isFromClick: true
+            });
+          }
+        });
+      };
+      function clearColorPalette(ecModel) {
+        ecModel.clearColorPalette();
+        ecModel.eachSeries(function(seriesModel) {
+          seriesModel.clearColorPalette();
+        });
+      }
+      function allocateZlevels(ecModel) {
+        var componentZLevels = [];
+        var seriesZLevels = [];
+        var hasSeperateZLevel = false;
+        ecModel.eachComponent(function(componentType, componentModel) {
+          var zlevel = componentModel.get("zlevel") || 0;
+          var z2 = componentModel.get("z") || 0;
+          var zlevelKey = componentModel.getZLevelKey();
+          hasSeperateZLevel = hasSeperateZLevel || !!zlevelKey;
+          (componentType === "series" ? seriesZLevels : componentZLevels).push({
+            zlevel,
+            z: z2,
+            idx: componentModel.componentIndex,
+            type: componentType,
+            key: zlevelKey
+          });
+        });
+        if (hasSeperateZLevel) {
+          var zLevels = componentZLevels.concat(seriesZLevels);
+          var lastSeriesZLevel_1;
+          var lastSeriesKey_1;
+          sort$2(zLevels, function(a2, b2) {
+            if (a2.zlevel === b2.zlevel) {
+              return a2.z - b2.z;
+            }
+            return a2.zlevel - b2.zlevel;
+          });
+          each$f(zLevels, function(item) {
+            var componentModel = ecModel.getComponent(item.type, item.idx);
+            var zlevel = item.zlevel;
+            var key2 = item.key;
+            if (lastSeriesZLevel_1 != null) {
+              zlevel = Math.max(lastSeriesZLevel_1, zlevel);
+            }
+            if (key2) {
+              if (zlevel === lastSeriesZLevel_1 && key2 !== lastSeriesKey_1) {
+                zlevel++;
+              }
+              lastSeriesKey_1 = key2;
+            } else if (lastSeriesKey_1) {
+              if (zlevel === lastSeriesZLevel_1) {
+                zlevel++;
+              }
+              lastSeriesKey_1 = "";
+            }
+            lastSeriesZLevel_1 = zlevel;
+            componentModel.setZLevel(zlevel);
+          });
+        }
+      }
+      render = function(ecIns, ecModel, api2, payload, updateParams) {
+        allocateZlevels(ecModel);
+        renderComponents(ecIns, ecModel, api2, payload, updateParams);
+        each$f(ecIns._chartsViews, function(chart) {
+          chart.__alive = false;
+        });
+        renderSeries(ecIns, ecModel, api2, payload, updateParams);
+        each$f(ecIns._chartsViews, function(chart) {
+          if (!chart.__alive) {
+            chart.remove(ecModel, api2);
+          }
+        });
+      };
+      renderComponents = function(ecIns, ecModel, api2, payload, updateParams, dirtyList) {
+        each$f(dirtyList || ecIns._componentsViews, function(componentView) {
+          var componentModel = componentView.__model;
+          clearStates(componentModel, componentView);
+          componentView.render(componentModel, ecModel, api2, payload);
+          updateZ2(componentModel, componentView);
+          updateStates(componentModel, componentView);
+        });
+      };
+      renderSeries = function(ecIns, ecModel, api2, payload, updateParams, dirtyMap) {
+        var scheduler = ecIns._scheduler;
+        updateParams = extend$1(updateParams || {}, {
+          updatedSeries: ecModel.getSeries()
+        });
+        lifecycle$1.trigger("series:beforeupdate", ecModel, api2, updateParams);
+        var unfinished = false;
+        ecModel.eachSeries(function(seriesModel) {
+          var chartView = ecIns._chartsMap[seriesModel.__viewId];
+          chartView.__alive = true;
+          var renderTask = chartView.renderTask;
+          scheduler.updatePayload(renderTask, payload);
+          clearStates(seriesModel, chartView);
+          if (dirtyMap && dirtyMap.get(seriesModel.uid)) {
+            renderTask.dirty();
+          }
+          if (renderTask.perform(scheduler.getPerformArgs(renderTask))) {
+            unfinished = true;
+          }
+          chartView.group.silent = !!seriesModel.get("silent");
+          updateBlend(seriesModel, chartView);
+          updateSeriesElementSelection(seriesModel);
+        });
+        scheduler.unfinished = unfinished || scheduler.unfinished;
+        lifecycle$1.trigger("series:layoutlabels", ecModel, api2, updateParams);
+        lifecycle$1.trigger("series:transition", ecModel, api2, updateParams);
+        ecModel.eachSeries(function(seriesModel) {
+          var chartView = ecIns._chartsMap[seriesModel.__viewId];
+          updateZ2(seriesModel, chartView);
+          updateStates(seriesModel, chartView);
+        });
+        updateHoverLayerStatus(ecIns, ecModel);
+        lifecycle$1.trigger("series:afterupdate", ecModel, api2, updateParams);
+      };
+      markStatusToUpdate = function(ecIns) {
+        ecIns[STATUS_NEEDS_UPDATE_KEY] = true;
+        ecIns.getZr().wakeUp();
+      };
+      applyChangedStates = function(ecIns) {
+        if (!ecIns[STATUS_NEEDS_UPDATE_KEY]) {
+          return;
+        }
+        ecIns.getZr().storage.traverse(function(el) {
+          if (isElementRemoved(el)) {
+            return;
+          }
+          applyElementStates(el);
+        });
+        ecIns[STATUS_NEEDS_UPDATE_KEY] = false;
+      };
+      function applyElementStates(el) {
+        var newStates = [];
+        var oldStates = el.currentStates;
+        for (var i2 = 0; i2 < oldStates.length; i2++) {
+          var stateName = oldStates[i2];
+          if (!(stateName === "emphasis" || stateName === "blur" || stateName === "select")) {
+            newStates.push(stateName);
+          }
+        }
+        if (el.selected && el.states.select) {
+          newStates.push("select");
+        }
+        if (el.hoverState === HOVER_STATE_EMPHASIS && el.states.emphasis) {
+          newStates.push("emphasis");
+        } else if (el.hoverState === HOVER_STATE_BLUR && el.states.blur) {
+          newStates.push("blur");
+        }
+        el.useStates(newStates);
+      }
+      function updateHoverLayerStatus(ecIns, ecModel) {
+        var zr = ecIns._zr;
+        var storage2 = zr.storage;
+        var elCount = 0;
+        storage2.traverse(function(el) {
+          if (!el.isGroup) {
+            elCount++;
+          }
+        });
+        if (elCount > ecModel.get("hoverLayerThreshold") && !env$1.node && !env$1.worker) {
+          ecModel.eachSeries(function(seriesModel) {
+            if (seriesModel.preventUsingHoverLayer) {
+              return;
+            }
+            var chartView = ecIns._chartsMap[seriesModel.__viewId];
+            if (chartView.__alive) {
+              chartView.eachRendered(function(el) {
+                if (el.states.emphasis) {
+                  el.states.emphasis.hoverLayer = true;
+                }
+              });
+            }
+          });
+        }
+      }
+      function updateBlend(seriesModel, chartView) {
+        var blendMode = seriesModel.get("blendMode") || null;
+        chartView.eachRendered(function(el) {
+          if (!el.isGroup) {
+            el.style.blend = blendMode;
+          }
+        });
+      }
+      function updateZ2(model2, view) {
+        if (model2.preventAutoZ) {
+          return;
+        }
+        var z2 = model2.get("z") || 0;
+        var zlevel = model2.get("zlevel") || 0;
+        view.eachRendered(function(el) {
+          doUpdateZ(el, z2, zlevel, -Infinity);
+          return true;
+        });
+      }
+      function doUpdateZ(el, z2, zlevel, maxZ2) {
+        var label = el.getTextContent();
+        var labelLine = el.getTextGuideLine();
+        var isGroup2 = el.isGroup;
+        if (isGroup2) {
+          var children3 = el.childrenRef();
+          for (var i2 = 0; i2 < children3.length; i2++) {
+            maxZ2 = Math.max(doUpdateZ(children3[i2], z2, zlevel, maxZ2), maxZ2);
+          }
+        } else {
+          el.z = z2;
+          el.zlevel = zlevel;
+          maxZ2 = Math.max(el.z2, maxZ2);
+        }
+        if (label) {
+          label.z = z2;
+          label.zlevel = zlevel;
+          isFinite(maxZ2) && (label.z2 = maxZ2 + 2);
+        }
+        if (labelLine) {
+          var textGuideLineConfig = el.textGuideLineConfig;
+          labelLine.z = z2;
+          labelLine.zlevel = zlevel;
+          isFinite(maxZ2) && (labelLine.z2 = maxZ2 + (textGuideLineConfig && textGuideLineConfig.showAbove ? 1 : -1));
+        }
+        return maxZ2;
+      }
+      function clearStates(model2, view) {
+        view.eachRendered(function(el) {
+          if (isElementRemoved(el)) {
+            return;
+          }
+          var textContent = el.getTextContent();
+          var textGuide = el.getTextGuideLine();
+          if (el.stateTransition) {
+            el.stateTransition = null;
+          }
+          if (textContent && textContent.stateTransition) {
+            textContent.stateTransition = null;
+          }
+          if (textGuide && textGuide.stateTransition) {
+            textGuide.stateTransition = null;
+          }
+          if (el.hasState()) {
+            el.prevStates = el.currentStates;
+            el.clearStates();
+          } else if (el.prevStates) {
+            el.prevStates = null;
+          }
+        });
+      }
+      function updateStates(model2, view) {
+        var stateAnimationModel = model2.getModel("stateAnimation");
+        var enableAnimation = model2.isAnimationEnabled();
+        var duration = stateAnimationModel.get("duration");
+        var stateTransition = duration > 0 ? {
+          duration,
+          delay: stateAnimationModel.get("delay"),
+          easing: stateAnimationModel.get("easing")
+          // additive: stateAnimationModel.get('additive')
+        } : null;
+        view.eachRendered(function(el) {
+          if (el.states && el.states.emphasis) {
+            if (isElementRemoved(el)) {
+              return;
+            }
+            if (el instanceof Path$1) {
+              savePathStates(el);
+            }
+            if (el.__dirty) {
+              var prevStates = el.prevStates;
+              if (prevStates) {
+                el.useStates(prevStates);
+              }
+            }
+            if (enableAnimation) {
+              el.stateTransition = stateTransition;
+              var textContent = el.getTextContent();
+              var textGuide = el.getTextGuideLine();
+              if (textContent) {
+                textContent.stateTransition = stateTransition;
+              }
+              if (textGuide) {
+                textGuide.stateTransition = stateTransition;
+              }
+            }
+            if (el.__dirty) {
+              applyElementStates(el);
+            }
+          }
+        });
+      }
+      createExtensionAPI = function(ecIns) {
+        return new /** @class */
+        (function(_super2) {
+          __extends(class_1, _super2);
+          function class_1() {
+            return _super2 !== null && _super2.apply(this, arguments) || this;
+          }
+          class_1.prototype.getCoordinateSystems = function() {
+            return ecIns._coordSysMgr.getCoordinateSystems();
+          };
+          class_1.prototype.getComponentByElement = function(el) {
+            while (el) {
+              var modelInfo = el.__ecComponentInfo;
+              if (modelInfo != null) {
+                return ecIns._model.getComponent(modelInfo.mainType, modelInfo.index);
+              }
+              el = el.parent;
+            }
+          };
+          class_1.prototype.enterEmphasis = function(el, highlightDigit) {
+            enterEmphasis(el, highlightDigit);
+            markStatusToUpdate(ecIns);
+          };
+          class_1.prototype.leaveEmphasis = function(el, highlightDigit) {
+            leaveEmphasis(el, highlightDigit);
+            markStatusToUpdate(ecIns);
+          };
+          class_1.prototype.enterBlur = function(el) {
+            enterBlur(el);
+            markStatusToUpdate(ecIns);
+          };
+          class_1.prototype.leaveBlur = function(el) {
+            leaveBlur(el);
+            markStatusToUpdate(ecIns);
+          };
+          class_1.prototype.enterSelect = function(el) {
+            enterSelect(el);
+            markStatusToUpdate(ecIns);
+          };
+          class_1.prototype.leaveSelect = function(el) {
+            leaveSelect(el);
+            markStatusToUpdate(ecIns);
+          };
+          class_1.prototype.getModel = function() {
+            return ecIns.getModel();
+          };
+          class_1.prototype.getViewOfComponentModel = function(componentModel) {
+            return ecIns.getViewOfComponentModel(componentModel);
+          };
+          class_1.prototype.getViewOfSeriesModel = function(seriesModel) {
+            return ecIns.getViewOfSeriesModel(seriesModel);
+          };
+          return class_1;
+        }(ExtensionAPI$1))(ecIns);
+      };
+      enableConnect = function(chart) {
+        function updateConnectedChartsStatus(charts, status) {
+          for (var i2 = 0; i2 < charts.length; i2++) {
+            var otherChart = charts[i2];
+            otherChart[CONNECT_STATUS_KEY] = status;
+          }
+        }
+        each$f(eventActionMap, function(actionType, eventType) {
+          chart._messageCenter.on(eventType, function(event2) {
+            if (connectedGroups[chart.group] && chart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_PENDING) {
+              if (event2 && event2.escapeConnect) {
+                return;
+              }
+              var action_1 = chart.makeActionFromEvent(event2);
+              var otherCharts_1 = [];
+              each$f(instances, function(otherChart) {
+                if (otherChart !== chart && otherChart.group === chart.group) {
+                  otherCharts_1.push(otherChart);
+                }
+              });
+              updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_PENDING);
+              each$f(otherCharts_1, function(otherChart) {
+                if (otherChart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_UPDATING) {
+                  otherChart.dispatchAction(action_1);
+                }
+              });
+              updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_UPDATED);
+            }
+          });
+        });
+      };
+    }();
+    return ECharts2;
+  }(Eventful$1)
+);
+var echartsProto = ECharts.prototype;
+echartsProto.on = createRegisterEventWithLowercaseECharts("on");
+echartsProto.off = createRegisterEventWithLowercaseECharts("off");
+echartsProto.one = function(eventName, cb, ctx) {
+  var self2 = this;
+  function wrapped() {
+    var args2 = [];
+    for (var _i = 0; _i < arguments.length; _i++) {
+      args2[_i] = arguments[_i];
+    }
+    cb && cb.apply && cb.apply(this, args2);
+    self2.off(eventName, wrapped);
+  }
+  this.on.call(this, eventName, wrapped, ctx);
+};
+var MOUSE_EVENT_NAMES = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout", "contextmenu"];
+function disposedWarning(id) {
+}
+var actions = {};
+var eventActionMap = {};
+var dataProcessorFuncs = [];
+var optionPreprocessorFuncs = [];
+var visualFuncs = [];
+var themeStorage = {};
+var loadingEffects = {};
+var instances = {};
+var connectedGroups = {};
+var idBase = +/* @__PURE__ */ new Date() - 0;
+var groupIdBase = +/* @__PURE__ */ new Date() - 0;
+var DOM_ATTRIBUTE_KEY = "_echarts_instance_";
+function init$1(dom2, theme2, opts2) {
+  var isClient = !(opts2 && opts2.ssr);
+  if (isClient) {
+    var existInstance = getInstanceByDom(dom2);
+    if (existInstance) {
+      return existInstance;
+    }
+  }
+  var chart = new ECharts(dom2, theme2, opts2);
+  chart.id = "ec_" + idBase++;
+  instances[chart.id] = chart;
+  isClient && setAttribute(dom2, DOM_ATTRIBUTE_KEY, chart.id);
+  enableConnect(chart);
+  lifecycle$1.trigger("afterinit", chart);
+  return chart;
+}
+function connect(groupId) {
+  if (isArray$2(groupId)) {
+    var charts = groupId;
+    groupId = null;
+    each$f(charts, function(chart) {
+      if (chart.group != null) {
+        groupId = chart.group;
+      }
+    });
+    groupId = groupId || "g_" + groupIdBase++;
+    each$f(charts, function(chart) {
+      chart.group = groupId;
+    });
+  }
+  connectedGroups[groupId] = true;
+  return groupId;
+}
+function disconnect(groupId) {
+  connectedGroups[groupId] = false;
+}
+var disConnect = disconnect;
+function dispose(chart) {
+  if (isString$1(chart)) {
+    chart = instances[chart];
+  } else if (!(chart instanceof ECharts)) {
+    chart = getInstanceByDom(chart);
+  }
+  if (chart instanceof ECharts && !chart.isDisposed()) {
+    chart.dispose();
+  }
+}
+function getInstanceByDom(dom2) {
+  return instances[getAttribute(dom2, DOM_ATTRIBUTE_KEY)];
+}
+function getInstanceById(key2) {
+  return instances[key2];
+}
+function registerTheme(name2, theme2) {
+  themeStorage[name2] = theme2;
+}
+function registerPreprocessor(preprocessorFunc) {
+  if (indexOf(optionPreprocessorFuncs, preprocessorFunc) < 0) {
+    optionPreprocessorFuncs.push(preprocessorFunc);
+  }
+}
+function registerProcessor(priority, processor) {
+  normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_DEFAULT);
+}
+function registerPostInit(postInitFunc) {
+  registerUpdateLifecycle("afterinit", postInitFunc);
+}
+function registerPostUpdate(postUpdateFunc) {
+  registerUpdateLifecycle("afterupdate", postUpdateFunc);
+}
+function registerUpdateLifecycle(name2, cb) {
+  lifecycle$1.on(name2, cb);
+}
+function registerAction(actionInfo2, eventName, action) {
+  if (isFunction$1(eventName)) {
+    action = eventName;
+    eventName = "";
+  }
+  var actionType = isObject$4(actionInfo2) ? actionInfo2.type : [actionInfo2, actionInfo2 = {
+    event: eventName
+  }][0];
+  actionInfo2.event = (actionInfo2.event || actionType).toLowerCase();
+  eventName = actionInfo2.event;
+  if (eventActionMap[eventName]) {
+    return;
+  }
+  assert(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));
+  if (!actions[actionType]) {
+    actions[actionType] = {
+      action,
+      actionInfo: actionInfo2
+    };
+  }
+  eventActionMap[eventName] = actionType;
+}
+function registerCoordinateSystem(type2, coordSysCreator) {
+  CoordinateSystem.register(type2, coordSysCreator);
+}
+function getCoordinateSystemDimensions(type2) {
+  var coordSysCreator = CoordinateSystem.get(type2);
+  if (coordSysCreator) {
+    return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();
+  }
+}
+function registerLayout(priority, layoutTask) {
+  normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, "layout");
+}
+function registerVisual(priority, visualTask) {
+  normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, "visual");
+}
+var registeredTasks = [];
+function normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {
+  if (isFunction$1(priority) || isObject$4(priority)) {
+    fn = priority;
+    priority = defaultPriority;
+  }
+  if (indexOf(registeredTasks, fn) >= 0) {
+    return;
+  }
+  registeredTasks.push(fn);
+  var stageHandler = Scheduler$1.wrapStageHandler(fn, visualType);
+  stageHandler.__prio = priority;
+  stageHandler.__raw = fn;
+  targetList.push(stageHandler);
+}
+function registerLoading(name2, loadingFx) {
+  loadingEffects[name2] = loadingFx;
+}
+function setCanvasCreator(creator) {
+  setPlatformAPI({
+    createCanvas: creator
+  });
+}
+function registerMap$1(mapName, geoJson, specialAreas) {
+  var registerMap2 = getImpl("registerMap");
+  registerMap2 && registerMap2(mapName, geoJson, specialAreas);
+}
+function getMap(mapName) {
+  var getMap2 = getImpl("getMap");
+  return getMap2 && getMap2(mapName);
+}
+var registerTransform = registerExternalTransform;
+registerVisual(PRIORITY_VISUAL_GLOBAL, seriesStyleTask);
+registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataStyleTask);
+registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataColorPaletteTask);
+registerVisual(PRIORITY_VISUAL_GLOBAL, seriesSymbolTask);
+registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataSymbolTask);
+registerVisual(PRIORITY_VISUAL_DECAL, decalVisual);
+registerPreprocessor(globalBackwardCompat);
+registerProcessor(PRIORITY_PROCESSOR_DATASTACK, dataStack$1);
+registerLoading("default", defaultLoading);
+registerAction({
+  type: HIGHLIGHT_ACTION_TYPE,
+  event: HIGHLIGHT_ACTION_TYPE,
+  update: HIGHLIGHT_ACTION_TYPE
+}, noop$1);
+registerAction({
+  type: DOWNPLAY_ACTION_TYPE,
+  event: DOWNPLAY_ACTION_TYPE,
+  update: DOWNPLAY_ACTION_TYPE
+}, noop$1);
+registerAction({
+  type: SELECT_ACTION_TYPE,
+  event: SELECT_ACTION_TYPE,
+  update: SELECT_ACTION_TYPE
+}, noop$1);
+registerAction({
+  type: UNSELECT_ACTION_TYPE,
+  event: UNSELECT_ACTION_TYPE,
+  update: UNSELECT_ACTION_TYPE
+}, noop$1);
+registerAction({
+  type: TOGGLE_SELECT_ACTION_TYPE,
+  event: TOGGLE_SELECT_ACTION_TYPE,
+  update: TOGGLE_SELECT_ACTION_TYPE
+}, noop$1);
+registerTheme("light", lightTheme);
+registerTheme("dark", darkTheme);
+var dataTool = {};
+var extensions = [];
+var extensionRegisters = {
+  registerPreprocessor,
+  registerProcessor,
+  registerPostInit,
+  registerPostUpdate,
+  registerUpdateLifecycle,
+  registerAction,
+  registerCoordinateSystem,
+  registerLayout,
+  registerVisual,
+  registerTransform,
+  registerLoading,
+  registerMap: registerMap$1,
+  registerImpl,
+  PRIORITY,
+  ComponentModel: ComponentModel$1,
+  ComponentView: ComponentView$1,
+  SeriesModel: SeriesModel$1,
+  ChartView: ChartView$1,
+  // TODO Use ComponentModel and SeriesModel instead of Constructor
+  registerComponentModel: function(ComponentModelClass) {
+    ComponentModel$1.registerClass(ComponentModelClass);
+  },
+  registerComponentView: function(ComponentViewClass) {
+    ComponentView$1.registerClass(ComponentViewClass);
+  },
+  registerSeriesModel: function(SeriesModelClass) {
+    SeriesModel$1.registerClass(SeriesModelClass);
+  },
+  registerChartView: function(ChartViewClass) {
+    ChartView$1.registerClass(ChartViewClass);
+  },
+  registerSubTypeDefaulter: function(componentType, defaulter) {
+    ComponentModel$1.registerSubTypeDefaulter(componentType, defaulter);
+  },
+  registerPainter: function(painterType, PainterCtor) {
+    registerPainter(painterType, PainterCtor);
+  }
+};
+function use(ext) {
+  if (isArray$2(ext)) {
+    each$f(ext, function(singleExt) {
+      use(singleExt);
+    });
+    return;
+  }
+  if (indexOf(extensions, ext) >= 0) {
+    return;
+  }
+  extensions.push(ext);
+  if (isFunction$1(ext)) {
+    ext = {
+      install: ext
+    };
+  }
+  ext.install(extensionRegisters);
+}
+function dataIndexMapValueLength(valNumOrArrLengthMoreThan2) {
+  return valNumOrArrLengthMoreThan2 == null ? 0 : valNumOrArrLengthMoreThan2.length || 1;
+}
+function defaultKeyGetter(item) {
+  return item;
+}
+var DataDiffer = (
+  /** @class */
+  function() {
+    function DataDiffer2(oldArr, newArr, oldKeyGetter, newKeyGetter, context, diffMode) {
+      this._old = oldArr;
+      this._new = newArr;
+      this._oldKeyGetter = oldKeyGetter || defaultKeyGetter;
+      this._newKeyGetter = newKeyGetter || defaultKeyGetter;
+      this.context = context;
+      this._diffModeMultiple = diffMode === "multiple";
+    }
+    DataDiffer2.prototype.add = function(func) {
+      this._add = func;
+      return this;
+    };
+    DataDiffer2.prototype.update = function(func) {
+      this._update = func;
+      return this;
+    };
+    DataDiffer2.prototype.updateManyToOne = function(func) {
+      this._updateManyToOne = func;
+      return this;
+    };
+    DataDiffer2.prototype.updateOneToMany = function(func) {
+      this._updateOneToMany = func;
+      return this;
+    };
+    DataDiffer2.prototype.updateManyToMany = function(func) {
+      this._updateManyToMany = func;
+      return this;
+    };
+    DataDiffer2.prototype.remove = function(func) {
+      this._remove = func;
+      return this;
+    };
+    DataDiffer2.prototype.execute = function() {
+      this[this._diffModeMultiple ? "_executeMultiple" : "_executeOneToOne"]();
+    };
+    DataDiffer2.prototype._executeOneToOne = function() {
+      var oldArr = this._old;
+      var newArr = this._new;
+      var newDataIndexMap = {};
+      var oldDataKeyArr = new Array(oldArr.length);
+      var newDataKeyArr = new Array(newArr.length);
+      this._initIndexMap(oldArr, null, oldDataKeyArr, "_oldKeyGetter");
+      this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter");
+      for (var i2 = 0; i2 < oldArr.length; i2++) {
+        var oldKey = oldDataKeyArr[i2];
+        var newIdxMapVal = newDataIndexMap[oldKey];
+        var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal);
+        if (newIdxMapValLen > 1) {
+          var newIdx = newIdxMapVal.shift();
+          if (newIdxMapVal.length === 1) {
+            newDataIndexMap[oldKey] = newIdxMapVal[0];
+          }
+          this._update && this._update(newIdx, i2);
+        } else if (newIdxMapValLen === 1) {
+          newDataIndexMap[oldKey] = null;
+          this._update && this._update(newIdxMapVal, i2);
+        } else {
+          this._remove && this._remove(i2);
+        }
+      }
+      this._performRestAdd(newDataKeyArr, newDataIndexMap);
+    };
+    DataDiffer2.prototype._executeMultiple = function() {
+      var oldArr = this._old;
+      var newArr = this._new;
+      var oldDataIndexMap = {};
+      var newDataIndexMap = {};
+      var oldDataKeyArr = [];
+      var newDataKeyArr = [];
+      this._initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, "_oldKeyGetter");
+      this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter");
+      for (var i2 = 0; i2 < oldDataKeyArr.length; i2++) {
+        var oldKey = oldDataKeyArr[i2];
+        var oldIdxMapVal = oldDataIndexMap[oldKey];
+        var newIdxMapVal = newDataIndexMap[oldKey];
+        var oldIdxMapValLen = dataIndexMapValueLength(oldIdxMapVal);
+        var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal);
+        if (oldIdxMapValLen > 1 && newIdxMapValLen === 1) {
+          this._updateManyToOne && this._updateManyToOne(newIdxMapVal, oldIdxMapVal);
+          newDataIndexMap[oldKey] = null;
+        } else if (oldIdxMapValLen === 1 && newIdxMapValLen > 1) {
+          this._updateOneToMany && this._updateOneToMany(newIdxMapVal, oldIdxMapVal);
+          newDataIndexMap[oldKey] = null;
+        } else if (oldIdxMapValLen === 1 && newIdxMapValLen === 1) {
+          this._update && this._update(newIdxMapVal, oldIdxMapVal);
+          newDataIndexMap[oldKey] = null;
+        } else if (oldIdxMapValLen > 1 && newIdxMapValLen > 1) {
+          this._updateManyToMany && this._updateManyToMany(newIdxMapVal, oldIdxMapVal);
+          newDataIndexMap[oldKey] = null;
+        } else if (oldIdxMapValLen > 1) {
+          for (var i_1 = 0; i_1 < oldIdxMapValLen; i_1++) {
+            this._remove && this._remove(oldIdxMapVal[i_1]);
+          }
+        } else {
+          this._remove && this._remove(oldIdxMapVal);
+        }
+      }
+      this._performRestAdd(newDataKeyArr, newDataIndexMap);
+    };
+    DataDiffer2.prototype._performRestAdd = function(newDataKeyArr, newDataIndexMap) {
+      for (var i2 = 0; i2 < newDataKeyArr.length; i2++) {
+        var newKey = newDataKeyArr[i2];
+        var newIdxMapVal = newDataIndexMap[newKey];
+        var idxMapValLen = dataIndexMapValueLength(newIdxMapVal);
+        if (idxMapValLen > 1) {
+          for (var j2 = 0; j2 < idxMapValLen; j2++) {
+            this._add && this._add(newIdxMapVal[j2]);
+          }
+        } else if (idxMapValLen === 1) {
+          this._add && this._add(newIdxMapVal);
+        }
+        newDataIndexMap[newKey] = null;
+      }
+    };
+    DataDiffer2.prototype._initIndexMap = function(arr, map2, keyArr, keyGetterName) {
+      var cbModeMultiple = this._diffModeMultiple;
+      for (var i2 = 0; i2 < arr.length; i2++) {
+        var key2 = "_ec_" + this[keyGetterName](arr[i2], i2);
+        if (!cbModeMultiple) {
+          keyArr[i2] = key2;
+        }
+        if (!map2) {
+          continue;
+        }
+        var idxMapVal = map2[key2];
+        var idxMapValLen = dataIndexMapValueLength(idxMapVal);
+        if (idxMapValLen === 0) {
+          map2[key2] = i2;
+          if (cbModeMultiple) {
+            keyArr.push(key2);
+          }
+        } else if (idxMapValLen === 1) {
+          map2[key2] = [idxMapVal, i2];
+        } else {
+          idxMapVal.push(i2);
+        }
+      }
+    };
+    return DataDiffer2;
+  }()
+);
+const DataDiffer$1 = DataDiffer;
+var DimensionUserOuput = (
+  /** @class */
+  function() {
+    function DimensionUserOuput2(encode2, dimRequest) {
+      this._encode = encode2;
+      this._schema = dimRequest;
+    }
+    DimensionUserOuput2.prototype.get = function() {
+      return {
+        // Do not generate full dimension name until fist used.
+        fullDimensions: this._getFullDimensionNames(),
+        encode: this._encode
+      };
+    };
+    DimensionUserOuput2.prototype._getFullDimensionNames = function() {
+      if (!this._cachedDimNames) {
+        this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : [];
+      }
+      return this._cachedDimNames;
+    };
+    return DimensionUserOuput2;
+  }()
+);
+function summarizeDimensions(data2, schema) {
+  var summary = {};
+  var encode2 = summary.encode = {};
+  var notExtraCoordDimMap = createHashMap();
+  var defaultedLabel = [];
+  var defaultedTooltip = [];
+  var userOutputEncode = {};
+  each$f(data2.dimensions, function(dimName) {
+    var dimItem = data2.getDimensionInfo(dimName);
+    var coordDim = dimItem.coordDim;
+    if (coordDim) {
+      var coordDimIndex = dimItem.coordDimIndex;
+      getOrCreateEncodeArr(encode2, coordDim)[coordDimIndex] = dimName;
+      if (!dimItem.isExtraCoord) {
+        notExtraCoordDimMap.set(coordDim, 1);
+        if (mayLabelDimType(dimItem.type)) {
+          defaultedLabel[0] = dimName;
+        }
+        getOrCreateEncodeArr(userOutputEncode, coordDim)[coordDimIndex] = data2.getDimensionIndex(dimItem.name);
+      }
+      if (dimItem.defaultTooltip) {
+        defaultedTooltip.push(dimName);
+      }
+    }
+    VISUAL_DIMENSIONS.each(function(v4, otherDim) {
+      var encodeArr = getOrCreateEncodeArr(encode2, otherDim);
+      var dimIndex = dimItem.otherDims[otherDim];
+      if (dimIndex != null && dimIndex !== false) {
+        encodeArr[dimIndex] = dimItem.name;
+      }
+    });
+  });
+  var dataDimsOnCoord = [];
+  var encodeFirstDimNotExtra = {};
+  notExtraCoordDimMap.each(function(v4, coordDim) {
+    var dimArr = encode2[coordDim];
+    encodeFirstDimNotExtra[coordDim] = dimArr[0];
+    dataDimsOnCoord = dataDimsOnCoord.concat(dimArr);
+  });
+  summary.dataDimsOnCoord = dataDimsOnCoord;
+  summary.dataDimIndicesOnCoord = map$1(dataDimsOnCoord, function(dimName) {
+    return data2.getDimensionInfo(dimName).storeDimIndex;
+  });
+  summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra;
+  var encodeLabel = encode2.label;
+  if (encodeLabel && encodeLabel.length) {
+    defaultedLabel = encodeLabel.slice();
+  }
+  var encodeTooltip = encode2.tooltip;
+  if (encodeTooltip && encodeTooltip.length) {
+    defaultedTooltip = encodeTooltip.slice();
+  } else if (!defaultedTooltip.length) {
+    defaultedTooltip = defaultedLabel.slice();
+  }
+  encode2.defaultedLabel = defaultedLabel;
+  encode2.defaultedTooltip = defaultedTooltip;
+  summary.userOutput = new DimensionUserOuput(userOutputEncode, schema);
+  return summary;
+}
+function getOrCreateEncodeArr(encode2, dim) {
+  if (!encode2.hasOwnProperty(dim)) {
+    encode2[dim] = [];
+  }
+  return encode2[dim];
+}
+function getDimensionTypeByAxis(axisType) {
+  return axisType === "category" ? "ordinal" : axisType === "time" ? "time" : "float";
+}
+function mayLabelDimType(dimType) {
+  return !(dimType === "ordinal" || dimType === "time");
+}
+var SeriesDimensionDefine = (
+  /** @class */
+  function() {
+    function SeriesDimensionDefine2(opt) {
+      this.otherDims = {};
+      if (opt != null) {
+        extend$1(this, opt);
+      }
+    }
+    return SeriesDimensionDefine2;
+  }()
+);
+const SeriesDimensionDefine$1 = SeriesDimensionDefine;
+var inner$h = makeInner();
+var dimTypeShort = {
+  float: "f",
+  int: "i",
+  ordinal: "o",
+  number: "n",
+  time: "t"
+};
+var SeriesDataSchema = (
+  /** @class */
+  function() {
+    function SeriesDataSchema2(opt) {
+      this.dimensions = opt.dimensions;
+      this._dimOmitted = opt.dimensionOmitted;
+      this.source = opt.source;
+      this._fullDimCount = opt.fullDimensionCount;
+      this._updateDimOmitted(opt.dimensionOmitted);
+    }
+    SeriesDataSchema2.prototype.isDimensionOmitted = function() {
+      return this._dimOmitted;
+    };
+    SeriesDataSchema2.prototype._updateDimOmitted = function(dimensionOmitted) {
+      this._dimOmitted = dimensionOmitted;
+      if (!dimensionOmitted) {
+        return;
+      }
+      if (!this._dimNameMap) {
+        this._dimNameMap = ensureSourceDimNameMap(this.source);
+      }
+    };
+    SeriesDataSchema2.prototype.getSourceDimensionIndex = function(dimName) {
+      return retrieve2(this._dimNameMap.get(dimName), -1);
+    };
+    SeriesDataSchema2.prototype.getSourceDimension = function(dimIndex) {
+      var dimensionsDefine = this.source.dimensionsDefine;
+      if (dimensionsDefine) {
+        return dimensionsDefine[dimIndex];
+      }
+    };
+    SeriesDataSchema2.prototype.makeStoreSchema = function() {
+      var dimCount = this._fullDimCount;
+      var willRetrieveDataByName = shouldRetrieveDataByName(this.source);
+      var makeHashStrict = !shouldOmitUnusedDimensions(dimCount);
+      var dimHash = "";
+      var dims = [];
+      for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < dimCount; fullDimIdx++) {
+        var property = void 0;
+        var type2 = void 0;
+        var ordinalMeta = void 0;
+        var seriesDimDef = this.dimensions[seriesDimIdx];
+        if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {
+          property = willRetrieveDataByName ? seriesDimDef.name : null;
+          type2 = seriesDimDef.type;
+          ordinalMeta = seriesDimDef.ordinalMeta;
+          seriesDimIdx++;
+        } else {
+          var sourceDimDef = this.getSourceDimension(fullDimIdx);
+          if (sourceDimDef) {
+            property = willRetrieveDataByName ? sourceDimDef.name : null;
+            type2 = sourceDimDef.type;
+          }
+        }
+        dims.push({
+          property,
+          type: type2,
+          ordinalMeta
+        });
+        if (willRetrieveDataByName && property != null && (!seriesDimDef || !seriesDimDef.isCalculationCoord)) {
+          dimHash += makeHashStrict ? property.replace(/\`/g, "`1").replace(/\$/g, "`2") : property;
+        }
+        dimHash += "$";
+        dimHash += dimTypeShort[type2] || "f";
+        if (ordinalMeta) {
+          dimHash += ordinalMeta.uid;
+        }
+        dimHash += "$";
+      }
+      var source2 = this.source;
+      var hash = [source2.seriesLayoutBy, source2.startIndex, dimHash].join("$$");
+      return {
+        dimensions: dims,
+        hash
+      };
+    };
+    SeriesDataSchema2.prototype.makeOutputDimensionNames = function() {
+      var result2 = [];
+      for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < this._fullDimCount; fullDimIdx++) {
+        var name_1 = void 0;
+        var seriesDimDef = this.dimensions[seriesDimIdx];
+        if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {
+          if (!seriesDimDef.isCalculationCoord) {
+            name_1 = seriesDimDef.name;
+          }
+          seriesDimIdx++;
+        } else {
+          var sourceDimDef = this.getSourceDimension(fullDimIdx);
+          if (sourceDimDef) {
+            name_1 = sourceDimDef.name;
+          }
+        }
+        result2.push(name_1);
+      }
+      return result2;
+    };
+    SeriesDataSchema2.prototype.appendCalculationDimension = function(dimDef) {
+      this.dimensions.push(dimDef);
+      dimDef.isCalculationCoord = true;
+      this._fullDimCount++;
+      this._updateDimOmitted(true);
+    };
+    return SeriesDataSchema2;
+  }()
+);
+function isSeriesDataSchema(schema) {
+  return schema instanceof SeriesDataSchema;
+}
+function createDimNameMap(dimsDef) {
+  var dataDimNameMap = createHashMap();
+  for (var i2 = 0; i2 < (dimsDef || []).length; i2++) {
+    var dimDefItemRaw = dimsDef[i2];
+    var userDimName = isObject$4(dimDefItemRaw) ? dimDefItemRaw.name : dimDefItemRaw;
+    if (userDimName != null && dataDimNameMap.get(userDimName) == null) {
+      dataDimNameMap.set(userDimName, i2);
+    }
+  }
+  return dataDimNameMap;
+}
+function ensureSourceDimNameMap(source2) {
+  var innerSource = inner$h(source2);
+  return innerSource.dimNameMap || (innerSource.dimNameMap = createDimNameMap(source2.dimensionsDefine));
+}
+function shouldOmitUnusedDimensions(dimCount) {
+  return dimCount > 30;
+}
+var isObject$2 = isObject$4;
+var map = map$1;
+var CtorInt32Array = typeof Int32Array === "undefined" ? Array : Int32Array;
+var ID_PREFIX = "e\0\0";
+var INDEX_NOT_FOUND = -1;
+var TRANSFERABLE_PROPERTIES = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_dimSummary", "userOutput", "_rawData", "_dimValueGetter", "_nameDimIdx", "_idDimIdx", "_nameRepeatCount"];
+var CLONE_PROPERTIES = ["_approximateExtent"];
+var prepareInvertedIndex;
+var getId;
+var getIdNameFromStore;
+var normalizeDimensions;
+var transferProperties;
+var cloneListForMapAndSample;
+var makeIdFromName;
+var SeriesData = (
+  /** @class */
+  function() {
+    function SeriesData2(dimensionsInput, hostModel) {
+      this.type = "list";
+      this._dimOmitted = false;
+      this._nameList = [];
+      this._idList = [];
+      this._visual = {};
+      this._layout = {};
+      this._itemVisuals = [];
+      this._itemLayouts = [];
+      this._graphicEls = [];
+      this._approximateExtent = {};
+      this._calculationInfo = {};
+      this.hasItemOption = false;
+      this.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "lttbDownSample", "map"];
+      this.CHANGABLE_METHODS = ["filterSelf", "selectRange"];
+      this.DOWNSAMPLE_METHODS = ["downSample", "lttbDownSample"];
+      var dimensions;
+      var assignStoreDimIdx = false;
+      if (isSeriesDataSchema(dimensionsInput)) {
+        dimensions = dimensionsInput.dimensions;
+        this._dimOmitted = dimensionsInput.isDimensionOmitted();
+        this._schema = dimensionsInput;
+      } else {
+        assignStoreDimIdx = true;
+        dimensions = dimensionsInput;
+      }
+      dimensions = dimensions || ["x", "y"];
+      var dimensionInfos = {};
+      var dimensionNames = [];
+      var invertedIndicesMap = {};
+      var needsHasOwn = false;
+      var emptyObj = {};
+      for (var i2 = 0; i2 < dimensions.length; i2++) {
+        var dimInfoInput = dimensions[i2];
+        var dimensionInfo = isString$1(dimInfoInput) ? new SeriesDimensionDefine$1({
+          name: dimInfoInput
+        }) : !(dimInfoInput instanceof SeriesDimensionDefine$1) ? new SeriesDimensionDefine$1(dimInfoInput) : dimInfoInput;
+        var dimensionName = dimensionInfo.name;
+        dimensionInfo.type = dimensionInfo.type || "float";
+        if (!dimensionInfo.coordDim) {
+          dimensionInfo.coordDim = dimensionName;
+          dimensionInfo.coordDimIndex = 0;
+        }
+        var otherDims = dimensionInfo.otherDims = dimensionInfo.otherDims || {};
+        dimensionNames.push(dimensionName);
+        dimensionInfos[dimensionName] = dimensionInfo;
+        if (emptyObj[dimensionName] != null) {
+          needsHasOwn = true;
+        }
+        if (dimensionInfo.createInvertedIndices) {
+          invertedIndicesMap[dimensionName] = [];
+        }
+        if (otherDims.itemName === 0) {
+          this._nameDimIdx = i2;
+        }
+        if (otherDims.itemId === 0) {
+          this._idDimIdx = i2;
+        }
+        if (assignStoreDimIdx) {
+          dimensionInfo.storeDimIndex = i2;
+        }
+      }
+      this.dimensions = dimensionNames;
+      this._dimInfos = dimensionInfos;
+      this._initGetDimensionInfo(needsHasOwn);
+      this.hostModel = hostModel;
+      this._invertedIndicesMap = invertedIndicesMap;
+      if (this._dimOmitted) {
+        var dimIdxToName_1 = this._dimIdxToName = createHashMap();
+        each$f(dimensionNames, function(dimName) {
+          dimIdxToName_1.set(dimensionInfos[dimName].storeDimIndex, dimName);
+        });
+      }
+    }
+    SeriesData2.prototype.getDimension = function(dim) {
+      var dimIdx = this._recognizeDimIndex(dim);
+      if (dimIdx == null) {
+        return dim;
+      }
+      dimIdx = dim;
+      if (!this._dimOmitted) {
+        return this.dimensions[dimIdx];
+      }
+      var dimName = this._dimIdxToName.get(dimIdx);
+      if (dimName != null) {
+        return dimName;
+      }
+      var sourceDimDef = this._schema.getSourceDimension(dimIdx);
+      if (sourceDimDef) {
+        return sourceDimDef.name;
+      }
+    };
+    SeriesData2.prototype.getDimensionIndex = function(dim) {
+      var dimIdx = this._recognizeDimIndex(dim);
+      if (dimIdx != null) {
+        return dimIdx;
+      }
+      if (dim == null) {
+        return -1;
+      }
+      var dimInfo = this._getDimInfo(dim);
+      return dimInfo ? dimInfo.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(dim) : -1;
+    };
+    SeriesData2.prototype._recognizeDimIndex = function(dim) {
+      if (isNumber$1(dim) || dim != null && !isNaN(dim) && !this._getDimInfo(dim) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(dim) < 0)) {
+        return +dim;
+      }
+    };
+    SeriesData2.prototype._getStoreDimIndex = function(dim) {
+      var dimIdx = this.getDimensionIndex(dim);
+      return dimIdx;
+    };
+    SeriesData2.prototype.getDimensionInfo = function(dim) {
+      return this._getDimInfo(this.getDimension(dim));
+    };
+    SeriesData2.prototype._initGetDimensionInfo = function(needsHasOwn) {
+      var dimensionInfos = this._dimInfos;
+      this._getDimInfo = needsHasOwn ? function(dimName) {
+        return dimensionInfos.hasOwnProperty(dimName) ? dimensionInfos[dimName] : void 0;
+      } : function(dimName) {
+        return dimensionInfos[dimName];
+      };
+    };
+    SeriesData2.prototype.getDimensionsOnCoord = function() {
+      return this._dimSummary.dataDimsOnCoord.slice();
+    };
+    SeriesData2.prototype.mapDimension = function(coordDim, idx) {
+      var dimensionsSummary = this._dimSummary;
+      if (idx == null) {
+        return dimensionsSummary.encodeFirstDimNotExtra[coordDim];
+      }
+      var dims = dimensionsSummary.encode[coordDim];
+      return dims ? dims[idx] : null;
+    };
+    SeriesData2.prototype.mapDimensionsAll = function(coordDim) {
+      var dimensionsSummary = this._dimSummary;
+      var dims = dimensionsSummary.encode[coordDim];
+      return (dims || []).slice();
+    };
+    SeriesData2.prototype.getStore = function() {
+      return this._store;
+    };
+    SeriesData2.prototype.initData = function(data2, nameList, dimValueGetter) {
+      var _this = this;
+      var store;
+      if (data2 instanceof DataStore$1) {
+        store = data2;
+      }
+      if (!store) {
+        var dimensions = this.dimensions;
+        var provider = isSourceInstance(data2) || isArrayLike(data2) ? new DefaultDataProvider(data2, dimensions.length) : data2;
+        store = new DataStore$1();
+        var dimensionInfos = map(dimensions, function(dimName) {
+          return {
+            type: _this._dimInfos[dimName].type,
+            property: dimName
+          };
+        });
+        store.initData(provider, dimensionInfos, dimValueGetter);
+      }
+      this._store = store;
+      this._nameList = (nameList || []).slice();
+      this._idList = [];
+      this._nameRepeatCount = {};
+      this._doInit(0, store.count());
+      this._dimSummary = summarizeDimensions(this, this._schema);
+      this.userOutput = this._dimSummary.userOutput;
+    };
+    SeriesData2.prototype.appendData = function(data2) {
+      var range2 = this._store.appendData(data2);
+      this._doInit(range2[0], range2[1]);
+    };
+    SeriesData2.prototype.appendValues = function(values, names) {
+      var _a2 = this._store.appendValues(values, names.length), start2 = _a2.start, end2 = _a2.end;
+      var shouldMakeIdFromName = this._shouldMakeIdFromName();
+      this._updateOrdinalMeta();
+      if (names) {
+        for (var idx = start2; idx < end2; idx++) {
+          var sourceIdx = idx - start2;
+          this._nameList[idx] = names[sourceIdx];
+          if (shouldMakeIdFromName) {
+            makeIdFromName(this, idx);
+          }
+        }
+      }
+    };
+    SeriesData2.prototype._updateOrdinalMeta = function() {
+      var store = this._store;
+      var dimensions = this.dimensions;
+      for (var i2 = 0; i2 < dimensions.length; i2++) {
+        var dimInfo = this._dimInfos[dimensions[i2]];
+        if (dimInfo.ordinalMeta) {
+          store.collectOrdinalMeta(dimInfo.storeDimIndex, dimInfo.ordinalMeta);
+        }
+      }
+    };
+    SeriesData2.prototype._shouldMakeIdFromName = function() {
+      var provider = this._store.getProvider();
+      return this._idDimIdx == null && provider.getSource().sourceFormat !== SOURCE_FORMAT_TYPED_ARRAY && !provider.fillStorage;
+    };
+    SeriesData2.prototype._doInit = function(start2, end2) {
+      if (start2 >= end2) {
+        return;
+      }
+      var store = this._store;
+      var provider = store.getProvider();
+      this._updateOrdinalMeta();
+      var nameList = this._nameList;
+      var idList = this._idList;
+      var sourceFormat = provider.getSource().sourceFormat;
+      var isFormatOriginal = sourceFormat === SOURCE_FORMAT_ORIGINAL;
+      if (isFormatOriginal && !provider.pure) {
+        var sharedDataItem = [];
+        for (var idx = start2; idx < end2; idx++) {
+          var dataItem = provider.getItem(idx, sharedDataItem);
+          if (!this.hasItemOption && isDataItemOption(dataItem)) {
+            this.hasItemOption = true;
+          }
+          if (dataItem) {
+            var itemName = dataItem.name;
+            if (nameList[idx] == null && itemName != null) {
+              nameList[idx] = convertOptionIdName(itemName, null);
+            }
+            var itemId = dataItem.id;
+            if (idList[idx] == null && itemId != null) {
+              idList[idx] = convertOptionIdName(itemId, null);
+            }
+          }
+        }
+      }
+      if (this._shouldMakeIdFromName()) {
+        for (var idx = start2; idx < end2; idx++) {
+          makeIdFromName(this, idx);
+        }
+      }
+      prepareInvertedIndex(this);
+    };
+    SeriesData2.prototype.getApproximateExtent = function(dim) {
+      return this._approximateExtent[dim] || this._store.getDataExtent(this._getStoreDimIndex(dim));
+    };
+    SeriesData2.prototype.setApproximateExtent = function(extent3, dim) {
+      dim = this.getDimension(dim);
+      this._approximateExtent[dim] = extent3.slice();
+    };
+    SeriesData2.prototype.getCalculationInfo = function(key2) {
+      return this._calculationInfo[key2];
+    };
+    SeriesData2.prototype.setCalculationInfo = function(key2, value) {
+      isObject$2(key2) ? extend$1(this._calculationInfo, key2) : this._calculationInfo[key2] = value;
+    };
+    SeriesData2.prototype.getName = function(idx) {
+      var rawIndex = this.getRawIndex(idx);
+      var name2 = this._nameList[rawIndex];
+      if (name2 == null && this._nameDimIdx != null) {
+        name2 = getIdNameFromStore(this, this._nameDimIdx, rawIndex);
+      }
+      if (name2 == null) {
+        name2 = "";
+      }
+      return name2;
+    };
+    SeriesData2.prototype._getCategory = function(dimIdx, idx) {
+      var ordinal = this._store.get(dimIdx, idx);
+      var ordinalMeta = this._store.getOrdinalMeta(dimIdx);
+      if (ordinalMeta) {
+        return ordinalMeta.categories[ordinal];
+      }
+      return ordinal;
+    };
+    SeriesData2.prototype.getId = function(idx) {
+      return getId(this, this.getRawIndex(idx));
+    };
+    SeriesData2.prototype.count = function() {
+      return this._store.count();
+    };
+    SeriesData2.prototype.get = function(dim, idx) {
+      var store = this._store;
+      var dimInfo = this._dimInfos[dim];
+      if (dimInfo) {
+        return store.get(dimInfo.storeDimIndex, idx);
+      }
+    };
+    SeriesData2.prototype.getByRawIndex = function(dim, rawIdx) {
+      var store = this._store;
+      var dimInfo = this._dimInfos[dim];
+      if (dimInfo) {
+        return store.getByRawIndex(dimInfo.storeDimIndex, rawIdx);
+      }
+    };
+    SeriesData2.prototype.getIndices = function() {
+      return this._store.getIndices();
+    };
+    SeriesData2.prototype.getDataExtent = function(dim) {
+      return this._store.getDataExtent(this._getStoreDimIndex(dim));
+    };
+    SeriesData2.prototype.getSum = function(dim) {
+      return this._store.getSum(this._getStoreDimIndex(dim));
+    };
+    SeriesData2.prototype.getMedian = function(dim) {
+      return this._store.getMedian(this._getStoreDimIndex(dim));
+    };
+    SeriesData2.prototype.getValues = function(dimensions, idx) {
+      var _this = this;
+      var store = this._store;
+      return isArray$2(dimensions) ? store.getValues(map(dimensions, function(dim) {
+        return _this._getStoreDimIndex(dim);
+      }), idx) : store.getValues(dimensions);
+    };
+    SeriesData2.prototype.hasValue = function(idx) {
+      var dataDimIndicesOnCoord = this._dimSummary.dataDimIndicesOnCoord;
+      for (var i2 = 0, len2 = dataDimIndicesOnCoord.length; i2 < len2; i2++) {
+        if (isNaN(this._store.get(dataDimIndicesOnCoord[i2], idx))) {
+          return false;
+        }
+      }
+      return true;
+    };
+    SeriesData2.prototype.indexOfName = function(name2) {
+      for (var i2 = 0, len2 = this._store.count(); i2 < len2; i2++) {
+        if (this.getName(i2) === name2) {
+          return i2;
+        }
+      }
+      return -1;
+    };
+    SeriesData2.prototype.getRawIndex = function(idx) {
+      return this._store.getRawIndex(idx);
+    };
+    SeriesData2.prototype.indexOfRawIndex = function(rawIndex) {
+      return this._store.indexOfRawIndex(rawIndex);
+    };
+    SeriesData2.prototype.rawIndexOf = function(dim, value) {
+      var invertedIndices = dim && this._invertedIndicesMap[dim];
+      var rawIndex = invertedIndices[value];
+      if (rawIndex == null || isNaN(rawIndex)) {
+        return INDEX_NOT_FOUND;
+      }
+      return rawIndex;
+    };
+    SeriesData2.prototype.indicesOfNearest = function(dim, value, maxDistance) {
+      return this._store.indicesOfNearest(this._getStoreDimIndex(dim), value, maxDistance);
+    };
+    SeriesData2.prototype.each = function(dims, cb, ctx) {
+      if (isFunction$1(dims)) {
+        ctx = cb;
+        cb = dims;
+        dims = [];
+      }
+      var fCtx = ctx || this;
+      var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);
+      this._store.each(dimIndices, fCtx ? bind$2(cb, fCtx) : cb);
+    };
+    SeriesData2.prototype.filterSelf = function(dims, cb, ctx) {
+      if (isFunction$1(dims)) {
+        ctx = cb;
+        cb = dims;
+        dims = [];
+      }
+      var fCtx = ctx || this;
+      var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);
+      this._store = this._store.filter(dimIndices, fCtx ? bind$2(cb, fCtx) : cb);
+      return this;
+    };
+    SeriesData2.prototype.selectRange = function(range2) {
+      var _this = this;
+      var innerRange = {};
+      var dims = keys(range2);
+      each$f(dims, function(dim) {
+        var dimIdx = _this._getStoreDimIndex(dim);
+        innerRange[dimIdx] = range2[dim];
+      });
+      this._store = this._store.selectRange(innerRange);
+      return this;
+    };
+    SeriesData2.prototype.mapArray = function(dims, cb, ctx) {
+      if (isFunction$1(dims)) {
+        ctx = cb;
+        cb = dims;
+        dims = [];
+      }
+      ctx = ctx || this;
+      var result2 = [];
+      this.each(dims, function() {
+        result2.push(cb && cb.apply(this, arguments));
+      }, ctx);
+      return result2;
+    };
+    SeriesData2.prototype.map = function(dims, cb, ctx, ctxCompat) {
+      var fCtx = ctx || ctxCompat || this;
+      var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);
+      var list2 = cloneListForMapAndSample(this);
+      list2._store = this._store.map(dimIndices, fCtx ? bind$2(cb, fCtx) : cb);
+      return list2;
+    };
+    SeriesData2.prototype.modify = function(dims, cb, ctx, ctxCompat) {
+      var fCtx = ctx || ctxCompat || this;
+      var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);
+      this._store.modify(dimIndices, fCtx ? bind$2(cb, fCtx) : cb);
+    };
+    SeriesData2.prototype.downSample = function(dimension, rate, sampleValue, sampleIndex) {
+      var list2 = cloneListForMapAndSample(this);
+      list2._store = this._store.downSample(this._getStoreDimIndex(dimension), rate, sampleValue, sampleIndex);
+      return list2;
+    };
+    SeriesData2.prototype.lttbDownSample = function(valueDimension, rate) {
+      var list2 = cloneListForMapAndSample(this);
+      list2._store = this._store.lttbDownSample(this._getStoreDimIndex(valueDimension), rate);
+      return list2;
+    };
+    SeriesData2.prototype.getRawDataItem = function(idx) {
+      return this._store.getRawDataItem(idx);
+    };
+    SeriesData2.prototype.getItemModel = function(idx) {
+      var hostModel = this.hostModel;
+      var dataItem = this.getRawDataItem(idx);
+      return new Model$1(dataItem, hostModel, hostModel && hostModel.ecModel);
+    };
+    SeriesData2.prototype.diff = function(otherList) {
+      var thisList = this;
+      return new DataDiffer$1(otherList ? otherList.getStore().getIndices() : [], this.getStore().getIndices(), function(idx) {
+        return getId(otherList, idx);
+      }, function(idx) {
+        return getId(thisList, idx);
+      });
+    };
+    SeriesData2.prototype.getVisual = function(key2) {
+      var visual = this._visual;
+      return visual && visual[key2];
+    };
+    SeriesData2.prototype.setVisual = function(kvObj, val) {
+      this._visual = this._visual || {};
+      if (isObject$2(kvObj)) {
+        extend$1(this._visual, kvObj);
+      } else {
+        this._visual[kvObj] = val;
+      }
+    };
+    SeriesData2.prototype.getItemVisual = function(idx, key2) {
+      var itemVisual = this._itemVisuals[idx];
+      var val = itemVisual && itemVisual[key2];
+      if (val == null) {
+        return this.getVisual(key2);
+      }
+      return val;
+    };
+    SeriesData2.prototype.hasItemVisual = function() {
+      return this._itemVisuals.length > 0;
+    };
+    SeriesData2.prototype.ensureUniqueItemVisual = function(idx, key2) {
+      var itemVisuals = this._itemVisuals;
+      var itemVisual = itemVisuals[idx];
+      if (!itemVisual) {
+        itemVisual = itemVisuals[idx] = {};
+      }
+      var val = itemVisual[key2];
+      if (val == null) {
+        val = this.getVisual(key2);
+        if (isArray$2(val)) {
+          val = val.slice();
+        } else if (isObject$2(val)) {
+          val = extend$1({}, val);
+        }
+        itemVisual[key2] = val;
+      }
+      return val;
+    };
+    SeriesData2.prototype.setItemVisual = function(idx, key2, value) {
+      var itemVisual = this._itemVisuals[idx] || {};
+      this._itemVisuals[idx] = itemVisual;
+      if (isObject$2(key2)) {
+        extend$1(itemVisual, key2);
+      } else {
+        itemVisual[key2] = value;
+      }
+    };
+    SeriesData2.prototype.clearAllVisual = function() {
+      this._visual = {};
+      this._itemVisuals = [];
+    };
+    SeriesData2.prototype.setLayout = function(key2, val) {
+      isObject$2(key2) ? extend$1(this._layout, key2) : this._layout[key2] = val;
+    };
+    SeriesData2.prototype.getLayout = function(key2) {
+      return this._layout[key2];
+    };
+    SeriesData2.prototype.getItemLayout = function(idx) {
+      return this._itemLayouts[idx];
+    };
+    SeriesData2.prototype.setItemLayout = function(idx, layout2, merge2) {
+      this._itemLayouts[idx] = merge2 ? extend$1(this._itemLayouts[idx] || {}, layout2) : layout2;
+    };
+    SeriesData2.prototype.clearItemLayouts = function() {
+      this._itemLayouts.length = 0;
+    };
+    SeriesData2.prototype.setItemGraphicEl = function(idx, el) {
+      var seriesIndex = this.hostModel && this.hostModel.seriesIndex;
+      setCommonECData(seriesIndex, this.dataType, idx, el);
+      this._graphicEls[idx] = el;
+    };
+    SeriesData2.prototype.getItemGraphicEl = function(idx) {
+      return this._graphicEls[idx];
+    };
+    SeriesData2.prototype.eachItemGraphicEl = function(cb, context) {
+      each$f(this._graphicEls, function(el, idx) {
+        if (el) {
+          cb && cb.call(context, el, idx);
+        }
+      });
+    };
+    SeriesData2.prototype.cloneShallow = function(list2) {
+      if (!list2) {
+        list2 = new SeriesData2(this._schema ? this._schema : map(this.dimensions, this._getDimInfo, this), this.hostModel);
+      }
+      transferProperties(list2, this);
+      list2._store = this._store;
+      return list2;
+    };
+    SeriesData2.prototype.wrapMethod = function(methodName, injectFunction) {
+      var originalMethod = this[methodName];
+      if (!isFunction$1(originalMethod)) {
+        return;
+      }
+      this.__wrappedMethods = this.__wrappedMethods || [];
+      this.__wrappedMethods.push(methodName);
+      this[methodName] = function() {
+        var res = originalMethod.apply(this, arguments);
+        return injectFunction.apply(this, [res].concat(slice(arguments)));
+      };
+    };
+    SeriesData2.internalField = function() {
+      prepareInvertedIndex = function(data2) {
+        var invertedIndicesMap = data2._invertedIndicesMap;
+        each$f(invertedIndicesMap, function(invertedIndices, dim) {
+          var dimInfo = data2._dimInfos[dim];
+          var ordinalMeta = dimInfo.ordinalMeta;
+          var store = data2._store;
+          if (ordinalMeta) {
+            invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array(ordinalMeta.categories.length);
+            for (var i2 = 0; i2 < invertedIndices.length; i2++) {
+              invertedIndices[i2] = INDEX_NOT_FOUND;
+            }
+            for (var i2 = 0; i2 < store.count(); i2++) {
+              invertedIndices[store.get(dimInfo.storeDimIndex, i2)] = i2;
+            }
+          }
+        });
+      };
+      getIdNameFromStore = function(data2, dimIdx, idx) {
+        return convertOptionIdName(data2._getCategory(dimIdx, idx), null);
+      };
+      getId = function(data2, rawIndex) {
+        var id = data2._idList[rawIndex];
+        if (id == null && data2._idDimIdx != null) {
+          id = getIdNameFromStore(data2, data2._idDimIdx, rawIndex);
+        }
+        if (id == null) {
+          id = ID_PREFIX + rawIndex;
+        }
+        return id;
+      };
+      normalizeDimensions = function(dimensions) {
+        if (!isArray$2(dimensions)) {
+          dimensions = dimensions != null ? [dimensions] : [];
+        }
+        return dimensions;
+      };
+      cloneListForMapAndSample = function(original) {
+        var list2 = new SeriesData2(original._schema ? original._schema : map(original.dimensions, original._getDimInfo, original), original.hostModel);
+        transferProperties(list2, original);
+        return list2;
+      };
+      transferProperties = function(target, source2) {
+        each$f(TRANSFERABLE_PROPERTIES.concat(source2.__wrappedMethods || []), function(propName) {
+          if (source2.hasOwnProperty(propName)) {
+            target[propName] = source2[propName];
+          }
+        });
+        target.__wrappedMethods = source2.__wrappedMethods;
+        each$f(CLONE_PROPERTIES, function(propName) {
+          target[propName] = clone$4(source2[propName]);
+        });
+        target._calculationInfo = extend$1({}, source2._calculationInfo);
+      };
+      makeIdFromName = function(data2, idx) {
+        var nameList = data2._nameList;
+        var idList = data2._idList;
+        var nameDimIdx = data2._nameDimIdx;
+        var idDimIdx = data2._idDimIdx;
+        var name2 = nameList[idx];
+        var id = idList[idx];
+        if (name2 == null && nameDimIdx != null) {
+          nameList[idx] = name2 = getIdNameFromStore(data2, nameDimIdx, idx);
+        }
+        if (id == null && idDimIdx != null) {
+          idList[idx] = id = getIdNameFromStore(data2, idDimIdx, idx);
+        }
+        if (id == null && name2 != null) {
+          var nameRepeatCount = data2._nameRepeatCount;
+          var nmCnt = nameRepeatCount[name2] = (nameRepeatCount[name2] || 0) + 1;
+          id = name2;
+          if (nmCnt > 1) {
+            id += "__ec__" + nmCnt;
+          }
+          idList[idx] = id;
+        }
+      };
+    }();
+    return SeriesData2;
+  }()
+);
+const SeriesData$1 = SeriesData;
+function createDimensions(source2, opt) {
+  return prepareSeriesDataSchema(source2, opt).dimensions;
+}
+function prepareSeriesDataSchema(source2, opt) {
+  if (!isSourceInstance(source2)) {
+    source2 = createSourceFromSeriesDataOption(source2);
+  }
+  opt = opt || {};
+  var sysDims = opt.coordDimensions || [];
+  var dimsDef = opt.dimensionsDefine || source2.dimensionsDefine || [];
+  var coordDimNameMap = createHashMap();
+  var resultList = [];
+  var dimCount = getDimCount(source2, sysDims, dimsDef, opt.dimensionsCount);
+  var omitUnusedDimensions = opt.canOmitUnusedDimensions && shouldOmitUnusedDimensions(dimCount);
+  var isUsingSourceDimensionsDef = dimsDef === source2.dimensionsDefine;
+  var dataDimNameMap = isUsingSourceDimensionsDef ? ensureSourceDimNameMap(source2) : createDimNameMap(dimsDef);
+  var encodeDef = opt.encodeDefine;
+  if (!encodeDef && opt.encodeDefaulter) {
+    encodeDef = opt.encodeDefaulter(source2, dimCount);
+  }
+  var encodeDefMap = createHashMap(encodeDef);
+  var indicesMap = new CtorInt32Array$1(dimCount);
+  for (var i2 = 0; i2 < indicesMap.length; i2++) {
+    indicesMap[i2] = -1;
+  }
+  function getResultItem(dimIdx) {
+    var idx = indicesMap[dimIdx];
+    if (idx < 0) {
+      var dimDefItemRaw = dimsDef[dimIdx];
+      var dimDefItem = isObject$4(dimDefItemRaw) ? dimDefItemRaw : {
+        name: dimDefItemRaw
+      };
+      var resultItem2 = new SeriesDimensionDefine$1();
+      var userDimName = dimDefItem.name;
+      if (userDimName != null && dataDimNameMap.get(userDimName) != null) {
+        resultItem2.name = resultItem2.displayName = userDimName;
+      }
+      dimDefItem.type != null && (resultItem2.type = dimDefItem.type);
+      dimDefItem.displayName != null && (resultItem2.displayName = dimDefItem.displayName);
+      var newIdx = resultList.length;
+      indicesMap[dimIdx] = newIdx;
+      resultItem2.storeDimIndex = dimIdx;
+      resultList.push(resultItem2);
+      return resultItem2;
+    }
+    return resultList[idx];
+  }
+  if (!omitUnusedDimensions) {
+    for (var i2 = 0; i2 < dimCount; i2++) {
+      getResultItem(i2);
+    }
+  }
+  encodeDefMap.each(function(dataDimsRaw, coordDim2) {
+    var dataDims = normalizeToArray(dataDimsRaw).slice();
+    if (dataDims.length === 1 && !isString$1(dataDims[0]) && dataDims[0] < 0) {
+      encodeDefMap.set(coordDim2, false);
+      return;
+    }
+    var validDataDims = encodeDefMap.set(coordDim2, []);
+    each$f(dataDims, function(resultDimIdxOrName, idx) {
+      var resultDimIdx2 = isString$1(resultDimIdxOrName) ? dataDimNameMap.get(resultDimIdxOrName) : resultDimIdxOrName;
+      if (resultDimIdx2 != null && resultDimIdx2 < dimCount) {
+        validDataDims[idx] = resultDimIdx2;
+        applyDim(getResultItem(resultDimIdx2), coordDim2, idx);
+      }
+    });
+  });
+  var availDimIdx = 0;
+  each$f(sysDims, function(sysDimItemRaw) {
+    var coordDim2;
+    var sysDimItemDimsDef;
+    var sysDimItemOtherDims;
+    var sysDimItem;
+    if (isString$1(sysDimItemRaw)) {
+      coordDim2 = sysDimItemRaw;
+      sysDimItem = {};
+    } else {
+      sysDimItem = sysDimItemRaw;
+      coordDim2 = sysDimItem.name;
+      var ordinalMeta = sysDimItem.ordinalMeta;
+      sysDimItem.ordinalMeta = null;
+      sysDimItem = extend$1({}, sysDimItem);
+      sysDimItem.ordinalMeta = ordinalMeta;
+      sysDimItemDimsDef = sysDimItem.dimsDef;
+      sysDimItemOtherDims = sysDimItem.otherDims;
+      sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;
+    }
+    var dataDims = encodeDefMap.get(coordDim2);
+    if (dataDims === false) {
+      return;
+    }
+    dataDims = normalizeToArray(dataDims);
+    if (!dataDims.length) {
+      for (var i3 = 0; i3 < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i3++) {
+        while (availDimIdx < dimCount && getResultItem(availDimIdx).coordDim != null) {
+          availDimIdx++;
+        }
+        availDimIdx < dimCount && dataDims.push(availDimIdx++);
+      }
+    }
+    each$f(dataDims, function(resultDimIdx2, coordDimIndex) {
+      var resultItem2 = getResultItem(resultDimIdx2);
+      if (isUsingSourceDimensionsDef && sysDimItem.type != null) {
+        resultItem2.type = sysDimItem.type;
+      }
+      applyDim(defaults$2(resultItem2, sysDimItem), coordDim2, coordDimIndex);
+      if (resultItem2.name == null && sysDimItemDimsDef) {
+        var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];
+        !isObject$4(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {
+          name: sysDimItemDimsDefItem
+        });
+        resultItem2.name = resultItem2.displayName = sysDimItemDimsDefItem.name;
+        resultItem2.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;
+      }
+      sysDimItemOtherDims && defaults$2(resultItem2.otherDims, sysDimItemOtherDims);
+    });
+  });
+  function applyDim(resultItem2, coordDim2, coordDimIndex) {
+    if (VISUAL_DIMENSIONS.get(coordDim2) != null) {
+      resultItem2.otherDims[coordDim2] = coordDimIndex;
+    } else {
+      resultItem2.coordDim = coordDim2;
+      resultItem2.coordDimIndex = coordDimIndex;
+      coordDimNameMap.set(coordDim2, true);
+    }
+  }
+  var generateCoord = opt.generateCoord;
+  var generateCoordCount = opt.generateCoordCount;
+  var fromZero = generateCoordCount != null;
+  generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;
+  var extra = generateCoord || "value";
+  function ifNoNameFillWithCoordName(resultItem2) {
+    if (resultItem2.name == null) {
+      resultItem2.name = resultItem2.coordDim;
+    }
+  }
+  if (!omitUnusedDimensions) {
+    for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {
+      var resultItem = getResultItem(resultDimIdx);
+      var coordDim = resultItem.coordDim;
+      if (coordDim == null) {
+        resultItem.coordDim = genCoordDimName(extra, coordDimNameMap, fromZero);
+        resultItem.coordDimIndex = 0;
+        if (!generateCoord || generateCoordCount <= 0) {
+          resultItem.isExtraCoord = true;
+        }
+        generateCoordCount--;
+      }
+      ifNoNameFillWithCoordName(resultItem);
+      if (resultItem.type == null && (guessOrdinal(source2, resultDimIdx) === BE_ORDINAL.Must || resultItem.isExtraCoord && (resultItem.otherDims.itemName != null || resultItem.otherDims.seriesName != null))) {
+        resultItem.type = "ordinal";
+      }
+    }
+  } else {
+    each$f(resultList, function(resultItem2) {
+      ifNoNameFillWithCoordName(resultItem2);
+    });
+    resultList.sort(function(item0, item1) {
+      return item0.storeDimIndex - item1.storeDimIndex;
+    });
+  }
+  removeDuplication(resultList);
+  return new SeriesDataSchema({
+    source: source2,
+    dimensions: resultList,
+    fullDimensionCount: dimCount,
+    dimensionOmitted: omitUnusedDimensions
+  });
+}
+function removeDuplication(result2) {
+  var duplicationMap = createHashMap();
+  for (var i2 = 0; i2 < result2.length; i2++) {
+    var dim = result2[i2];
+    var dimOriginalName = dim.name;
+    var count2 = duplicationMap.get(dimOriginalName) || 0;
+    if (count2 > 0) {
+      dim.name = dimOriginalName + (count2 - 1);
+    }
+    count2++;
+    duplicationMap.set(dimOriginalName, count2);
+  }
+}
+function getDimCount(source2, sysDims, dimsDef, optDimCount) {
+  var dimCount = Math.max(source2.dimensionsDetectedCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);
+  each$f(sysDims, function(sysDimItem) {
+    var sysDimItemDimsDef;
+    if (isObject$4(sysDimItem) && (sysDimItemDimsDef = sysDimItem.dimsDef)) {
+      dimCount = Math.max(dimCount, sysDimItemDimsDef.length);
+    }
+  });
+  return dimCount;
+}
+function genCoordDimName(name2, map2, fromZero) {
+  if (fromZero || map2.hasKey(name2)) {
+    var i2 = 0;
+    while (map2.hasKey(name2 + i2)) {
+      i2++;
+    }
+    name2 += i2;
+  }
+  map2.set(name2, true);
+  return name2;
+}
+var CoordSysInfo = (
+  /** @class */
+  function() {
+    function CoordSysInfo2(coordSysName) {
+      this.coordSysDims = [];
+      this.axisMap = createHashMap();
+      this.categoryAxisMap = createHashMap();
+      this.coordSysName = coordSysName;
+    }
+    return CoordSysInfo2;
+  }()
+);
+function getCoordSysInfoBySeries(seriesModel) {
+  var coordSysName = seriesModel.get("coordinateSystem");
+  var result2 = new CoordSysInfo(coordSysName);
+  var fetch2 = fetchers[coordSysName];
+  if (fetch2) {
+    fetch2(seriesModel, result2, result2.axisMap, result2.categoryAxisMap);
+    return result2;
+  }
+}
+var fetchers = {
+  cartesian2d: function(seriesModel, result2, axisMap, categoryAxisMap) {
+    var xAxisModel = seriesModel.getReferringComponents("xAxis", SINGLE_REFERRING).models[0];
+    var yAxisModel = seriesModel.getReferringComponents("yAxis", SINGLE_REFERRING).models[0];
+    result2.coordSysDims = ["x", "y"];
+    axisMap.set("x", xAxisModel);
+    axisMap.set("y", yAxisModel);
+    if (isCategory(xAxisModel)) {
+      categoryAxisMap.set("x", xAxisModel);
+      result2.firstCategoryDimIndex = 0;
+    }
+    if (isCategory(yAxisModel)) {
+      categoryAxisMap.set("y", yAxisModel);
+      result2.firstCategoryDimIndex == null && (result2.firstCategoryDimIndex = 1);
+    }
+  },
+  singleAxis: function(seriesModel, result2, axisMap, categoryAxisMap) {
+    var singleAxisModel = seriesModel.getReferringComponents("singleAxis", SINGLE_REFERRING).models[0];
+    result2.coordSysDims = ["single"];
+    axisMap.set("single", singleAxisModel);
+    if (isCategory(singleAxisModel)) {
+      categoryAxisMap.set("single", singleAxisModel);
+      result2.firstCategoryDimIndex = 0;
+    }
+  },
+  polar: function(seriesModel, result2, axisMap, categoryAxisMap) {
+    var polarModel = seriesModel.getReferringComponents("polar", SINGLE_REFERRING).models[0];
+    var radiusAxisModel = polarModel.findAxisModel("radiusAxis");
+    var angleAxisModel = polarModel.findAxisModel("angleAxis");
+    result2.coordSysDims = ["radius", "angle"];
+    axisMap.set("radius", radiusAxisModel);
+    axisMap.set("angle", angleAxisModel);
+    if (isCategory(radiusAxisModel)) {
+      categoryAxisMap.set("radius", radiusAxisModel);
+      result2.firstCategoryDimIndex = 0;
+    }
+    if (isCategory(angleAxisModel)) {
+      categoryAxisMap.set("angle", angleAxisModel);
+      result2.firstCategoryDimIndex == null && (result2.firstCategoryDimIndex = 1);
+    }
+  },
+  geo: function(seriesModel, result2, axisMap, categoryAxisMap) {
+    result2.coordSysDims = ["lng", "lat"];
+  },
+  parallel: function(seriesModel, result2, axisMap, categoryAxisMap) {
+    var ecModel = seriesModel.ecModel;
+    var parallelModel = ecModel.getComponent("parallel", seriesModel.get("parallelIndex"));
+    var coordSysDims = result2.coordSysDims = parallelModel.dimensions.slice();
+    each$f(parallelModel.parallelAxisIndex, function(axisIndex, index3) {
+      var axisModel = ecModel.getComponent("parallelAxis", axisIndex);
+      var axisDim = coordSysDims[index3];
+      axisMap.set(axisDim, axisModel);
+      if (isCategory(axisModel)) {
+        categoryAxisMap.set(axisDim, axisModel);
+        if (result2.firstCategoryDimIndex == null) {
+          result2.firstCategoryDimIndex = index3;
+        }
+      }
+    });
+  }
+};
+function isCategory(axisModel) {
+  return axisModel.get("type") === "category";
+}
+function enableDataStack(seriesModel, dimensionsInput, opt) {
+  opt = opt || {};
+  var byIndex = opt.byIndex;
+  var stackedCoordDimension = opt.stackedCoordDimension;
+  var dimensionDefineList;
+  var schema;
+  var store;
+  if (isLegacyDimensionsInput(dimensionsInput)) {
+    dimensionDefineList = dimensionsInput;
+  } else {
+    schema = dimensionsInput.schema;
+    dimensionDefineList = schema.dimensions;
+    store = dimensionsInput.store;
+  }
+  var mayStack = !!(seriesModel && seriesModel.get("stack"));
+  var stackedByDimInfo;
+  var stackedDimInfo;
+  var stackResultDimension;
+  var stackedOverDimension;
+  each$f(dimensionDefineList, function(dimensionInfo, index3) {
+    if (isString$1(dimensionInfo)) {
+      dimensionDefineList[index3] = dimensionInfo = {
+        name: dimensionInfo
+      };
+    }
+    if (mayStack && !dimensionInfo.isExtraCoord) {
+      if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {
+        stackedByDimInfo = dimensionInfo;
+      }
+      if (!stackedDimInfo && dimensionInfo.type !== "ordinal" && dimensionInfo.type !== "time" && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {
+        stackedDimInfo = dimensionInfo;
+      }
+    }
+  });
+  if (stackedDimInfo && !byIndex && !stackedByDimInfo) {
+    byIndex = true;
+  }
+  if (stackedDimInfo) {
+    stackResultDimension = "__\0ecstackresult_" + seriesModel.id;
+    stackedOverDimension = "__\0ecstackedover_" + seriesModel.id;
+    if (stackedByDimInfo) {
+      stackedByDimInfo.createInvertedIndices = true;
+    }
+    var stackedDimCoordDim_1 = stackedDimInfo.coordDim;
+    var stackedDimType = stackedDimInfo.type;
+    var stackedDimCoordIndex_1 = 0;
+    each$f(dimensionDefineList, function(dimensionInfo) {
+      if (dimensionInfo.coordDim === stackedDimCoordDim_1) {
+        stackedDimCoordIndex_1++;
+      }
+    });
+    var stackedOverDimensionDefine = {
+      name: stackResultDimension,
+      coordDim: stackedDimCoordDim_1,
+      coordDimIndex: stackedDimCoordIndex_1,
+      type: stackedDimType,
+      isExtraCoord: true,
+      isCalculationCoord: true,
+      storeDimIndex: dimensionDefineList.length
+    };
+    var stackResultDimensionDefine = {
+      name: stackedOverDimension,
+      // This dimension contains stack base (generally, 0), so do not set it as
+      // `stackedDimCoordDim` to avoid extent calculation, consider log scale.
+      coordDim: stackedOverDimension,
+      coordDimIndex: stackedDimCoordIndex_1 + 1,
+      type: stackedDimType,
+      isExtraCoord: true,
+      isCalculationCoord: true,
+      storeDimIndex: dimensionDefineList.length + 1
+    };
+    if (schema) {
+      if (store) {
+        stackedOverDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackedOverDimension, stackedDimType);
+        stackResultDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackResultDimension, stackedDimType);
+      }
+      schema.appendCalculationDimension(stackedOverDimensionDefine);
+      schema.appendCalculationDimension(stackResultDimensionDefine);
+    } else {
+      dimensionDefineList.push(stackedOverDimensionDefine);
+      dimensionDefineList.push(stackResultDimensionDefine);
+    }
+  }
+  return {
+    stackedDimension: stackedDimInfo && stackedDimInfo.name,
+    stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,
+    isStackedByIndex: byIndex,
+    stackedOverDimension,
+    stackResultDimension
+  };
+}
+function isLegacyDimensionsInput(dimensionsInput) {
+  return !isSeriesDataSchema(dimensionsInput.schema);
+}
+function isDimensionStacked(data2, stackedDim) {
+  return !!stackedDim && stackedDim === data2.getCalculationInfo("stackedDimension");
+}
+function getStackedDimension(data2, targetDim) {
+  return isDimensionStacked(data2, targetDim) ? data2.getCalculationInfo("stackResultDimension") : targetDim;
+}
+function getCoordSysDimDefs(seriesModel, coordSysInfo) {
+  var coordSysName = seriesModel.get("coordinateSystem");
+  var registeredCoordSys = CoordinateSystem.get(coordSysName);
+  var coordSysDimDefs;
+  if (coordSysInfo && coordSysInfo.coordSysDims) {
+    coordSysDimDefs = map$1(coordSysInfo.coordSysDims, function(dim) {
+      var dimInfo = {
+        name: dim
+      };
+      var axisModel = coordSysInfo.axisMap.get(dim);
+      if (axisModel) {
+        var axisType = axisModel.get("type");
+        dimInfo.type = getDimensionTypeByAxis(axisType);
+      }
+      return dimInfo;
+    });
+  }
+  if (!coordSysDimDefs) {
+    coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ["x", "y"];
+  }
+  return coordSysDimDefs;
+}
+function injectOrdinalMeta(dimInfoList, createInvertedIndices, coordSysInfo) {
+  var firstCategoryDimIndex;
+  var hasNameEncode;
+  coordSysInfo && each$f(dimInfoList, function(dimInfo, dimIndex) {
+    var coordDim = dimInfo.coordDim;
+    var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);
+    if (categoryAxisModel) {
+      if (firstCategoryDimIndex == null) {
+        firstCategoryDimIndex = dimIndex;
+      }
+      dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();
+      if (createInvertedIndices) {
+        dimInfo.createInvertedIndices = true;
+      }
+    }
+    if (dimInfo.otherDims.itemName != null) {
+      hasNameEncode = true;
+    }
+  });
+  if (!hasNameEncode && firstCategoryDimIndex != null) {
+    dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;
+  }
+  return firstCategoryDimIndex;
+}
+function createSeriesData(sourceRaw, seriesModel, opt) {
+  opt = opt || {};
+  var sourceManager = seriesModel.getSourceManager();
+  var source2;
+  var isOriginalSource = false;
+  if (sourceRaw) {
+    isOriginalSource = true;
+    source2 = createSourceFromSeriesDataOption(sourceRaw);
+  } else {
+    source2 = sourceManager.getSource();
+    isOriginalSource = source2.sourceFormat === SOURCE_FORMAT_ORIGINAL;
+  }
+  var coordSysInfo = getCoordSysInfoBySeries(seriesModel);
+  var coordSysDimDefs = getCoordSysDimDefs(seriesModel, coordSysInfo);
+  var useEncodeDefaulter = opt.useEncodeDefaulter;
+  var encodeDefaulter = isFunction$1(useEncodeDefaulter) ? useEncodeDefaulter : useEncodeDefaulter ? curry$1(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null;
+  var createDimensionOptions = {
+    coordDimensions: coordSysDimDefs,
+    generateCoord: opt.generateCoord,
+    encodeDefine: seriesModel.getEncode(),
+    encodeDefaulter,
+    canOmitUnusedDimensions: !isOriginalSource
+  };
+  var schema = prepareSeriesDataSchema(source2, createDimensionOptions);
+  var firstCategoryDimIndex = injectOrdinalMeta(schema.dimensions, opt.createInvertedIndices, coordSysInfo);
+  var store = !isOriginalSource ? sourceManager.getSharedDataStore(schema) : null;
+  var stackCalculationInfo = enableDataStack(seriesModel, {
+    schema,
+    store
+  });
+  var data2 = new SeriesData$1(schema, seriesModel);
+  data2.setCalculationInfo(stackCalculationInfo);
+  var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source2) ? function(itemOpt, dimName, dataIndex, dimIndex) {
+    return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);
+  } : null;
+  data2.hasItemOption = false;
+  data2.initData(
+    // Try to reuse the data store in sourceManager if using dataset.
+    isOriginalSource ? source2 : store,
+    null,
+    dimValueGetter
+  );
+  return data2;
+}
+function isNeedCompleteOrdinalData(source2) {
+  if (source2.sourceFormat === SOURCE_FORMAT_ORIGINAL) {
+    var sampleItem = firstDataNotNull(source2.data || []);
+    return !isArray$2(getDataItemValue(sampleItem));
+  }
+}
+function firstDataNotNull(arr) {
+  var i2 = 0;
+  while (i2 < arr.length && arr[i2] == null) {
+    i2++;
+  }
+  return arr[i2];
+}
+var Scale = (
+  /** @class */
+  function() {
+    function Scale2(setting) {
+      this._setting = setting || {};
+      this._extent = [Infinity, -Infinity];
+    }
+    Scale2.prototype.getSetting = function(name2) {
+      return this._setting[name2];
+    };
+    Scale2.prototype.unionExtent = function(other) {
+      var extent3 = this._extent;
+      other[0] < extent3[0] && (extent3[0] = other[0]);
+      other[1] > extent3[1] && (extent3[1] = other[1]);
+    };
+    Scale2.prototype.unionExtentFromData = function(data2, dim) {
+      this.unionExtent(data2.getApproximateExtent(dim));
+    };
+    Scale2.prototype.getExtent = function() {
+      return this._extent.slice();
+    };
+    Scale2.prototype.setExtent = function(start2, end2) {
+      var thisExtent = this._extent;
+      if (!isNaN(start2)) {
+        thisExtent[0] = start2;
+      }
+      if (!isNaN(end2)) {
+        thisExtent[1] = end2;
+      }
+    };
+    Scale2.prototype.isInExtentRange = function(value) {
+      return this._extent[0] <= value && this._extent[1] >= value;
+    };
+    Scale2.prototype.isBlank = function() {
+      return this._isBlank;
+    };
+    Scale2.prototype.setBlank = function(isBlank) {
+      this._isBlank = isBlank;
+    };
+    return Scale2;
+  }()
+);
+enableClassManagement(Scale);
+const Scale$1 = Scale;
+var uidBase = 0;
+var OrdinalMeta = (
+  /** @class */
+  function() {
+    function OrdinalMeta2(opt) {
+      this.categories = opt.categories || [];
+      this._needCollect = opt.needCollect;
+      this._deduplication = opt.deduplication;
+      this.uid = ++uidBase;
+    }
+    OrdinalMeta2.createByAxisModel = function(axisModel) {
+      var option = axisModel.option;
+      var data2 = option.data;
+      var categories = data2 && map$1(data2, getName);
+      return new OrdinalMeta2({
+        categories,
+        needCollect: !categories,
+        // deduplication is default in axis.
+        deduplication: option.dedplication !== false
+      });
+    };
+    OrdinalMeta2.prototype.getOrdinal = function(category) {
+      return this._getOrCreateMap().get(category);
+    };
+    OrdinalMeta2.prototype.parseAndCollect = function(category) {
+      var index3;
+      var needCollect = this._needCollect;
+      if (!isString$1(category) && !needCollect) {
+        return category;
+      }
+      if (needCollect && !this._deduplication) {
+        index3 = this.categories.length;
+        this.categories[index3] = category;
+        return index3;
+      }
+      var map2 = this._getOrCreateMap();
+      index3 = map2.get(category);
+      if (index3 == null) {
+        if (needCollect) {
+          index3 = this.categories.length;
+          this.categories[index3] = category;
+          map2.set(category, index3);
+        } else {
+          index3 = NaN;
+        }
+      }
+      return index3;
+    };
+    OrdinalMeta2.prototype._getOrCreateMap = function() {
+      return this._map || (this._map = createHashMap(this.categories));
+    };
+    return OrdinalMeta2;
+  }()
+);
+function getName(obj2) {
+  if (isObject$4(obj2) && obj2.value != null) {
+    return obj2.value;
+  } else {
+    return obj2 + "";
+  }
+}
+const OrdinalMeta$1 = OrdinalMeta;
+function isIntervalOrLogScale(scale2) {
+  return scale2.type === "interval" || scale2.type === "log";
+}
+function intervalScaleNiceTicks(extent3, splitNumber, minInterval, maxInterval) {
+  var result2 = {};
+  var span = extent3[1] - extent3[0];
+  var interval = result2.interval = nice(span / splitNumber, true);
+  if (minInterval != null && interval < minInterval) {
+    interval = result2.interval = minInterval;
+  }
+  if (maxInterval != null && interval > maxInterval) {
+    interval = result2.interval = maxInterval;
+  }
+  var precision = result2.intervalPrecision = getIntervalPrecision(interval);
+  var niceTickExtent = result2.niceTickExtent = [round$3(Math.ceil(extent3[0] / interval) * interval, precision), round$3(Math.floor(extent3[1] / interval) * interval, precision)];
+  fixExtent(niceTickExtent, extent3);
+  return result2;
+}
+function increaseInterval(interval) {
+  var exp10 = Math.pow(10, quantityExponent(interval));
+  var f2 = interval / exp10;
+  if (!f2) {
+    f2 = 1;
+  } else if (f2 === 2) {
+    f2 = 3;
+  } else if (f2 === 3) {
+    f2 = 5;
+  } else {
+    f2 *= 2;
+  }
+  return round$3(f2 * exp10);
+}
+function getIntervalPrecision(interval) {
+  return getPrecision(interval) + 2;
+}
+function clamp(niceTickExtent, idx, extent3) {
+  niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent3[1]), extent3[0]);
+}
+function fixExtent(niceTickExtent, extent3) {
+  !isFinite(niceTickExtent[0]) && (niceTickExtent[0] = extent3[0]);
+  !isFinite(niceTickExtent[1]) && (niceTickExtent[1] = extent3[1]);
+  clamp(niceTickExtent, 0, extent3);
+  clamp(niceTickExtent, 1, extent3);
+  if (niceTickExtent[0] > niceTickExtent[1]) {
+    niceTickExtent[0] = niceTickExtent[1];
+  }
+}
+function contain$1(val, extent3) {
+  return val >= extent3[0] && val <= extent3[1];
+}
+function normalize$2(val, extent3) {
+  if (extent3[1] === extent3[0]) {
+    return 0.5;
+  }
+  return (val - extent3[0]) / (extent3[1] - extent3[0]);
+}
+function scale(val, extent3) {
+  return val * (extent3[1] - extent3[0]) + extent3[0];
+}
+var OrdinalScale = (
+  /** @class */
+  function(_super) {
+    __extends(OrdinalScale2, _super);
+    function OrdinalScale2(setting) {
+      var _this = _super.call(this, setting) || this;
+      _this.type = "ordinal";
+      var ordinalMeta = _this.getSetting("ordinalMeta");
+      if (!ordinalMeta) {
+        ordinalMeta = new OrdinalMeta$1({});
+      }
+      if (isArray$2(ordinalMeta)) {
+        ordinalMeta = new OrdinalMeta$1({
+          categories: map$1(ordinalMeta, function(item) {
+            return isObject$4(item) ? item.value : item;
+          })
+        });
+      }
+      _this._ordinalMeta = ordinalMeta;
+      _this._extent = _this.getSetting("extent") || [0, ordinalMeta.categories.length - 1];
+      return _this;
+    }
+    OrdinalScale2.prototype.parse = function(val) {
+      if (val == null) {
+        return NaN;
+      }
+      return isString$1(val) ? this._ordinalMeta.getOrdinal(val) : Math.round(val);
+    };
+    OrdinalScale2.prototype.contain = function(rank) {
+      rank = this.parse(rank);
+      return contain$1(rank, this._extent) && this._ordinalMeta.categories[rank] != null;
+    };
+    OrdinalScale2.prototype.normalize = function(val) {
+      val = this._getTickNumber(this.parse(val));
+      return normalize$2(val, this._extent);
+    };
+    OrdinalScale2.prototype.scale = function(val) {
+      val = Math.round(scale(val, this._extent));
+      return this.getRawOrdinalNumber(val);
+    };
+    OrdinalScale2.prototype.getTicks = function() {
+      var ticks = [];
+      var extent3 = this._extent;
+      var rank = extent3[0];
+      while (rank <= extent3[1]) {
+        ticks.push({
+          value: rank
+        });
+        rank++;
+      }
+      return ticks;
+    };
+    OrdinalScale2.prototype.getMinorTicks = function(splitNumber) {
+      return;
+    };
+    OrdinalScale2.prototype.setSortInfo = function(info) {
+      if (info == null) {
+        this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null;
+        return;
+      }
+      var infoOrdinalNumbers = info.ordinalNumbers;
+      var ordinalsByTick = this._ordinalNumbersByTick = [];
+      var ticksByOrdinal = this._ticksByOrdinalNumber = [];
+      var tickNum = 0;
+      var allCategoryLen = this._ordinalMeta.categories.length;
+      for (var len2 = Math.min(allCategoryLen, infoOrdinalNumbers.length); tickNum < len2; ++tickNum) {
+        var ordinalNumber = infoOrdinalNumbers[tickNum];
+        ordinalsByTick[tickNum] = ordinalNumber;
+        ticksByOrdinal[ordinalNumber] = tickNum;
+      }
+      var unusedOrdinal = 0;
+      for (; tickNum < allCategoryLen; ++tickNum) {
+        while (ticksByOrdinal[unusedOrdinal] != null) {
+          unusedOrdinal++;
+        }
+        ordinalsByTick.push(unusedOrdinal);
+        ticksByOrdinal[unusedOrdinal] = tickNum;
+      }
+    };
+    OrdinalScale2.prototype._getTickNumber = function(ordinal) {
+      var ticksByOrdinalNumber = this._ticksByOrdinalNumber;
+      return ticksByOrdinalNumber && ordinal >= 0 && ordinal < ticksByOrdinalNumber.length ? ticksByOrdinalNumber[ordinal] : ordinal;
+    };
+    OrdinalScale2.prototype.getRawOrdinalNumber = function(tickNumber) {
+      var ordinalNumbersByTick = this._ordinalNumbersByTick;
+      return ordinalNumbersByTick && tickNumber >= 0 && tickNumber < ordinalNumbersByTick.length ? ordinalNumbersByTick[tickNumber] : tickNumber;
+    };
+    OrdinalScale2.prototype.getLabel = function(tick) {
+      if (!this.isBlank()) {
+        var ordinalNumber = this.getRawOrdinalNumber(tick.value);
+        var cateogry = this._ordinalMeta.categories[ordinalNumber];
+        return cateogry == null ? "" : cateogry + "";
+      }
+    };
+    OrdinalScale2.prototype.count = function() {
+      return this._extent[1] - this._extent[0] + 1;
+    };
+    OrdinalScale2.prototype.unionExtentFromData = function(data2, dim) {
+      this.unionExtent(data2.getApproximateExtent(dim));
+    };
+    OrdinalScale2.prototype.isInExtentRange = function(value) {
+      value = this._getTickNumber(value);
+      return this._extent[0] <= value && this._extent[1] >= value;
+    };
+    OrdinalScale2.prototype.getOrdinalMeta = function() {
+      return this._ordinalMeta;
+    };
+    OrdinalScale2.prototype.calcNiceTicks = function() {
+    };
+    OrdinalScale2.prototype.calcNiceExtent = function() {
+    };
+    OrdinalScale2.type = "ordinal";
+    return OrdinalScale2;
+  }(Scale$1)
+);
+Scale$1.registerClass(OrdinalScale);
+const OrdinalScale$1 = OrdinalScale;
+var roundNumber = round$3;
+var IntervalScale = (
+  /** @class */
+  function(_super) {
+    __extends(IntervalScale2, _super);
+    function IntervalScale2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "interval";
+      _this._interval = 0;
+      _this._intervalPrecision = 2;
+      return _this;
+    }
+    IntervalScale2.prototype.parse = function(val) {
+      return val;
+    };
+    IntervalScale2.prototype.contain = function(val) {
+      return contain$1(val, this._extent);
+    };
+    IntervalScale2.prototype.normalize = function(val) {
+      return normalize$2(val, this._extent);
+    };
+    IntervalScale2.prototype.scale = function(val) {
+      return scale(val, this._extent);
+    };
+    IntervalScale2.prototype.setExtent = function(start2, end2) {
+      var thisExtent = this._extent;
+      if (!isNaN(start2)) {
+        thisExtent[0] = parseFloat(start2);
+      }
+      if (!isNaN(end2)) {
+        thisExtent[1] = parseFloat(end2);
+      }
+    };
+    IntervalScale2.prototype.unionExtent = function(other) {
+      var extent3 = this._extent;
+      other[0] < extent3[0] && (extent3[0] = other[0]);
+      other[1] > extent3[1] && (extent3[1] = other[1]);
+      this.setExtent(extent3[0], extent3[1]);
+    };
+    IntervalScale2.prototype.getInterval = function() {
+      return this._interval;
+    };
+    IntervalScale2.prototype.setInterval = function(interval) {
+      this._interval = interval;
+      this._niceExtent = this._extent.slice();
+      this._intervalPrecision = getIntervalPrecision(interval);
+    };
+    IntervalScale2.prototype.getTicks = function(expandToNicedExtent) {
+      var interval = this._interval;
+      var extent3 = this._extent;
+      var niceTickExtent = this._niceExtent;
+      var intervalPrecision = this._intervalPrecision;
+      var ticks = [];
+      if (!interval) {
+        return ticks;
+      }
+      var safeLimit = 1e4;
+      if (extent3[0] < niceTickExtent[0]) {
+        if (expandToNicedExtent) {
+          ticks.push({
+            value: roundNumber(niceTickExtent[0] - interval, intervalPrecision)
+          });
+        } else {
+          ticks.push({
+            value: extent3[0]
+          });
+        }
+      }
+      var tick = niceTickExtent[0];
+      while (tick <= niceTickExtent[1]) {
+        ticks.push({
+          value: tick
+        });
+        tick = roundNumber(tick + interval, intervalPrecision);
+        if (tick === ticks[ticks.length - 1].value) {
+          break;
+        }
+        if (ticks.length > safeLimit) {
+          return [];
+        }
+      }
+      var lastNiceTick = ticks.length ? ticks[ticks.length - 1].value : niceTickExtent[1];
+      if (extent3[1] > lastNiceTick) {
+        if (expandToNicedExtent) {
+          ticks.push({
+            value: roundNumber(lastNiceTick + interval, intervalPrecision)
+          });
+        } else {
+          ticks.push({
+            value: extent3[1]
+          });
+        }
+      }
+      return ticks;
+    };
+    IntervalScale2.prototype.getMinorTicks = function(splitNumber) {
+      var ticks = this.getTicks(true);
+      var minorTicks = [];
+      var extent3 = this.getExtent();
+      for (var i2 = 1; i2 < ticks.length; i2++) {
+        var nextTick2 = ticks[i2];
+        var prevTick = ticks[i2 - 1];
+        var count2 = 0;
+        var minorTicksGroup = [];
+        var interval = nextTick2.value - prevTick.value;
+        var minorInterval = interval / splitNumber;
+        while (count2 < splitNumber - 1) {
+          var minorTick = roundNumber(prevTick.value + (count2 + 1) * minorInterval);
+          if (minorTick > extent3[0] && minorTick < extent3[1]) {
+            minorTicksGroup.push(minorTick);
+          }
+          count2++;
+        }
+        minorTicks.push(minorTicksGroup);
+      }
+      return minorTicks;
+    };
+    IntervalScale2.prototype.getLabel = function(data2, opt) {
+      if (data2 == null) {
+        return "";
+      }
+      var precision = opt && opt.precision;
+      if (precision == null) {
+        precision = getPrecision(data2.value) || 0;
+      } else if (precision === "auto") {
+        precision = this._intervalPrecision;
+      }
+      var dataNum = roundNumber(data2.value, precision, true);
+      return addCommas(dataNum);
+    };
+    IntervalScale2.prototype.calcNiceTicks = function(splitNumber, minInterval, maxInterval) {
+      splitNumber = splitNumber || 5;
+      var extent3 = this._extent;
+      var span = extent3[1] - extent3[0];
+      if (!isFinite(span)) {
+        return;
+      }
+      if (span < 0) {
+        span = -span;
+        extent3.reverse();
+      }
+      var result2 = intervalScaleNiceTicks(extent3, splitNumber, minInterval, maxInterval);
+      this._intervalPrecision = result2.intervalPrecision;
+      this._interval = result2.interval;
+      this._niceExtent = result2.niceTickExtent;
+    };
+    IntervalScale2.prototype.calcNiceExtent = function(opt) {
+      var extent3 = this._extent;
+      if (extent3[0] === extent3[1]) {
+        if (extent3[0] !== 0) {
+          var expandSize = Math.abs(extent3[0]);
+          if (!opt.fixMax) {
+            extent3[1] += expandSize / 2;
+            extent3[0] -= expandSize / 2;
+          } else {
+            extent3[0] -= expandSize / 2;
+          }
+        } else {
+          extent3[1] = 1;
+        }
+      }
+      var span = extent3[1] - extent3[0];
+      if (!isFinite(span)) {
+        extent3[0] = 0;
+        extent3[1] = 1;
+      }
+      this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
+      var interval = this._interval;
+      if (!opt.fixMin) {
+        extent3[0] = roundNumber(Math.floor(extent3[0] / interval) * interval);
+      }
+      if (!opt.fixMax) {
+        extent3[1] = roundNumber(Math.ceil(extent3[1] / interval) * interval);
+      }
+    };
+    IntervalScale2.prototype.setNiceExtent = function(min3, max3) {
+      this._niceExtent = [min3, max3];
+    };
+    IntervalScale2.type = "interval";
+    return IntervalScale2;
+  }(Scale$1)
+);
+Scale$1.registerClass(IntervalScale);
+const IntervalScale$1 = IntervalScale;
+var supportFloat32Array = typeof Float32Array !== "undefined";
+var Float32ArrayCtor = !supportFloat32Array ? Array : Float32Array;
+function createFloat32Array(arg) {
+  if (isArray$2(arg)) {
+    return supportFloat32Array ? new Float32Array(arg) : arg;
+  }
+  return new Float32ArrayCtor(arg);
+}
+var STACK_PREFIX = "__ec_stack_";
+function getSeriesStackId$1(seriesModel) {
+  return seriesModel.get("stack") || STACK_PREFIX + seriesModel.seriesIndex;
+}
+function getAxisKey$1(axis2) {
+  return axis2.dim + axis2.index;
+}
+function getLayoutOnAxis(opt) {
+  var params2 = [];
+  var baseAxis = opt.axis;
+  var axisKey = "axis0";
+  if (baseAxis.type !== "category") {
+    return;
+  }
+  var bandWidth = baseAxis.getBandWidth();
+  for (var i2 = 0; i2 < opt.count || 0; i2++) {
+    params2.push(defaults$2({
+      bandWidth,
+      axisKey,
+      stackId: STACK_PREFIX + i2
+    }, opt));
+  }
+  var widthAndOffsets = doCalBarWidthAndOffset(params2);
+  var result2 = [];
+  for (var i2 = 0; i2 < opt.count; i2++) {
+    var item = widthAndOffsets[axisKey][STACK_PREFIX + i2];
+    item.offsetCenter = item.offset + item.width / 2;
+    result2.push(item);
+  }
+  return result2;
+}
+function prepareLayoutBarSeries(seriesType2, ecModel) {
+  var seriesModels = [];
+  ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+    if (isOnCartesian(seriesModel)) {
+      seriesModels.push(seriesModel);
+    }
+  });
+  return seriesModels;
+}
+function getValueAxesMinGaps(barSeries) {
+  var axisValues = {};
+  each$f(barSeries, function(seriesModel) {
+    var cartesian = seriesModel.coordinateSystem;
+    var baseAxis = cartesian.getBaseAxis();
+    if (baseAxis.type !== "time" && baseAxis.type !== "value") {
+      return;
+    }
+    var data2 = seriesModel.getData();
+    var key3 = baseAxis.dim + "_" + baseAxis.index;
+    var dimIdx = data2.getDimensionIndex(data2.mapDimension(baseAxis.dim));
+    var store = data2.getStore();
+    for (var i2 = 0, cnt = store.count(); i2 < cnt; ++i2) {
+      var value = store.get(dimIdx, i2);
+      if (!axisValues[key3]) {
+        axisValues[key3] = [value];
+      } else {
+        axisValues[key3].push(value);
+      }
+    }
+  });
+  var axisMinGaps = {};
+  for (var key2 in axisValues) {
+    if (axisValues.hasOwnProperty(key2)) {
+      var valuesInAxis = axisValues[key2];
+      if (valuesInAxis) {
+        valuesInAxis.sort(function(a2, b2) {
+          return a2 - b2;
+        });
+        var min3 = null;
+        for (var j2 = 1; j2 < valuesInAxis.length; ++j2) {
+          var delta = valuesInAxis[j2] - valuesInAxis[j2 - 1];
+          if (delta > 0) {
+            min3 = min3 === null ? delta : Math.min(min3, delta);
+          }
+        }
+        axisMinGaps[key2] = min3;
+      }
+    }
+  }
+  return axisMinGaps;
+}
+function makeColumnLayout(barSeries) {
+  var axisMinGaps = getValueAxesMinGaps(barSeries);
+  var seriesInfoList = [];
+  each$f(barSeries, function(seriesModel) {
+    var cartesian = seriesModel.coordinateSystem;
+    var baseAxis = cartesian.getBaseAxis();
+    var axisExtent = baseAxis.getExtent();
+    var bandWidth;
+    if (baseAxis.type === "category") {
+      bandWidth = baseAxis.getBandWidth();
+    } else if (baseAxis.type === "value" || baseAxis.type === "time") {
+      var key2 = baseAxis.dim + "_" + baseAxis.index;
+      var minGap = axisMinGaps[key2];
+      var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);
+      var scale2 = baseAxis.scale.getExtent();
+      var scaleSpan = Math.abs(scale2[1] - scale2[0]);
+      bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan;
+    } else {
+      var data2 = seriesModel.getData();
+      bandWidth = Math.abs(axisExtent[1] - axisExtent[0]) / data2.count();
+    }
+    var barWidth = parsePercent(seriesModel.get("barWidth"), bandWidth);
+    var barMaxWidth = parsePercent(seriesModel.get("barMaxWidth"), bandWidth);
+    var barMinWidth = parsePercent(
+      // barMinWidth by default is 0.5 / 1 in cartesian. Because in value axis,
+      // the auto-calculated bar width might be less than 0.5 / 1.
+      seriesModel.get("barMinWidth") || (isInLargeMode(seriesModel) ? 0.5 : 1),
+      bandWidth
+    );
+    var barGap = seriesModel.get("barGap");
+    var barCategoryGap = seriesModel.get("barCategoryGap");
+    seriesInfoList.push({
+      bandWidth,
+      barWidth,
+      barMaxWidth,
+      barMinWidth,
+      barGap,
+      barCategoryGap,
+      axisKey: getAxisKey$1(baseAxis),
+      stackId: getSeriesStackId$1(seriesModel)
+    });
+  });
+  return doCalBarWidthAndOffset(seriesInfoList);
+}
+function doCalBarWidthAndOffset(seriesInfoList) {
+  var columnsMap = {};
+  each$f(seriesInfoList, function(seriesInfo, idx) {
+    var axisKey = seriesInfo.axisKey;
+    var bandWidth = seriesInfo.bandWidth;
+    var columnsOnAxis = columnsMap[axisKey] || {
+      bandWidth,
+      remainedWidth: bandWidth,
+      autoWidthCount: 0,
+      categoryGap: null,
+      gap: "20%",
+      stacks: {}
+    };
+    var stacks = columnsOnAxis.stacks;
+    columnsMap[axisKey] = columnsOnAxis;
+    var stackId = seriesInfo.stackId;
+    if (!stacks[stackId]) {
+      columnsOnAxis.autoWidthCount++;
+    }
+    stacks[stackId] = stacks[stackId] || {
+      width: 0,
+      maxWidth: 0
+    };
+    var barWidth = seriesInfo.barWidth;
+    if (barWidth && !stacks[stackId].width) {
+      stacks[stackId].width = barWidth;
+      barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);
+      columnsOnAxis.remainedWidth -= barWidth;
+    }
+    var barMaxWidth = seriesInfo.barMaxWidth;
+    barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);
+    var barMinWidth = seriesInfo.barMinWidth;
+    barMinWidth && (stacks[stackId].minWidth = barMinWidth);
+    var barGap = seriesInfo.barGap;
+    barGap != null && (columnsOnAxis.gap = barGap);
+    var barCategoryGap = seriesInfo.barCategoryGap;
+    barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);
+  });
+  var result2 = {};
+  each$f(columnsMap, function(columnsOnAxis, coordSysName) {
+    result2[coordSysName] = {};
+    var stacks = columnsOnAxis.stacks;
+    var bandWidth = columnsOnAxis.bandWidth;
+    var categoryGapPercent = columnsOnAxis.categoryGap;
+    if (categoryGapPercent == null) {
+      var columnCount = keys(stacks).length;
+      categoryGapPercent = Math.max(35 - columnCount * 4, 15) + "%";
+    }
+    var categoryGap = parsePercent(categoryGapPercent, bandWidth);
+    var barGapPercent = parsePercent(columnsOnAxis.gap, 1);
+    var remainedWidth = columnsOnAxis.remainedWidth;
+    var autoWidthCount = columnsOnAxis.autoWidthCount;
+    var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+    autoWidth = Math.max(autoWidth, 0);
+    each$f(stacks, function(column) {
+      var maxWidth = column.maxWidth;
+      var minWidth = column.minWidth;
+      if (!column.width) {
+        var finalWidth = autoWidth;
+        if (maxWidth && maxWidth < finalWidth) {
+          finalWidth = Math.min(maxWidth, remainedWidth);
+        }
+        if (minWidth && minWidth > finalWidth) {
+          finalWidth = minWidth;
+        }
+        if (finalWidth !== autoWidth) {
+          column.width = finalWidth;
+          remainedWidth -= finalWidth + barGapPercent * finalWidth;
+          autoWidthCount--;
+        }
+      } else {
+        var finalWidth = column.width;
+        if (maxWidth) {
+          finalWidth = Math.min(finalWidth, maxWidth);
+        }
+        if (minWidth) {
+          finalWidth = Math.max(finalWidth, minWidth);
+        }
+        column.width = finalWidth;
+        remainedWidth -= finalWidth + barGapPercent * finalWidth;
+        autoWidthCount--;
+      }
+    });
+    autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+    autoWidth = Math.max(autoWidth, 0);
+    var widthSum = 0;
+    var lastColumn;
+    each$f(stacks, function(column, idx) {
+      if (!column.width) {
+        column.width = autoWidth;
+      }
+      lastColumn = column;
+      widthSum += column.width * (1 + barGapPercent);
+    });
+    if (lastColumn) {
+      widthSum -= lastColumn.width * barGapPercent;
+    }
+    var offset2 = -widthSum / 2;
+    each$f(stacks, function(column, stackId) {
+      result2[coordSysName][stackId] = result2[coordSysName][stackId] || {
+        bandWidth,
+        offset: offset2,
+        width: column.width
+      };
+      offset2 += column.width * (1 + barGapPercent);
+    });
+  });
+  return result2;
+}
+function retrieveColumnLayout(barWidthAndOffset, axis2, seriesModel) {
+  if (barWidthAndOffset && axis2) {
+    var result2 = barWidthAndOffset[getAxisKey$1(axis2)];
+    if (result2 != null && seriesModel != null) {
+      return result2[getSeriesStackId$1(seriesModel)];
+    }
+    return result2;
+  }
+}
+function layout$3(seriesType2, ecModel) {
+  var seriesModels = prepareLayoutBarSeries(seriesType2, ecModel);
+  var barWidthAndOffset = makeColumnLayout(seriesModels);
+  each$f(seriesModels, function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var cartesian = seriesModel.coordinateSystem;
+    var baseAxis = cartesian.getBaseAxis();
+    var stackId = getSeriesStackId$1(seriesModel);
+    var columnLayoutInfo = barWidthAndOffset[getAxisKey$1(baseAxis)][stackId];
+    var columnOffset = columnLayoutInfo.offset;
+    var columnWidth = columnLayoutInfo.width;
+    data2.setLayout({
+      bandWidth: columnLayoutInfo.bandWidth,
+      offset: columnOffset,
+      size: columnWidth
+    });
+  });
+}
+function createProgressiveLayout(seriesType2) {
+  return {
+    seriesType: seriesType2,
+    plan: createRenderPlanner(),
+    reset: function(seriesModel) {
+      if (!isOnCartesian(seriesModel)) {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var cartesian = seriesModel.coordinateSystem;
+      var baseAxis = cartesian.getBaseAxis();
+      var valueAxis2 = cartesian.getOtherAxis(baseAxis);
+      var valueDimIdx = data2.getDimensionIndex(data2.mapDimension(valueAxis2.dim));
+      var baseDimIdx = data2.getDimensionIndex(data2.mapDimension(baseAxis.dim));
+      var drawBackground2 = seriesModel.get("showBackground", true);
+      var valueDim = data2.mapDimension(valueAxis2.dim);
+      var stackResultDim = data2.getCalculationInfo("stackResultDimension");
+      var stacked = isDimensionStacked(data2, valueDim) && !!data2.getCalculationInfo("stackedOnSeries");
+      var isValueAxisH = valueAxis2.isHorizontal();
+      var valueAxisStart = getValueAxisStart(baseAxis, valueAxis2);
+      var isLarge = isInLargeMode(seriesModel);
+      var barMinHeight = seriesModel.get("barMinHeight") || 0;
+      var stackedDimIdx = stackResultDim && data2.getDimensionIndex(stackResultDim);
+      var columnWidth = data2.getLayout("size");
+      var columnOffset = data2.getLayout("offset");
+      return {
+        progress: function(params2, data3) {
+          var count2 = params2.count;
+          var largePoints = isLarge && createFloat32Array(count2 * 3);
+          var largeBackgroundPoints = isLarge && drawBackground2 && createFloat32Array(count2 * 3);
+          var largeDataIndices = isLarge && createFloat32Array(count2);
+          var coordLayout = cartesian.master.getRect();
+          var bgSize = isValueAxisH ? coordLayout.width : coordLayout.height;
+          var dataIndex;
+          var store = data3.getStore();
+          var idxOffset = 0;
+          while ((dataIndex = params2.next()) != null) {
+            var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex);
+            var baseValue = store.get(baseDimIdx, dataIndex);
+            var baseCoord = valueAxisStart;
+            var startValue = void 0;
+            if (stacked) {
+              startValue = +value - store.get(valueDimIdx, dataIndex);
+            }
+            var x2 = void 0;
+            var y2 = void 0;
+            var width = void 0;
+            var height = void 0;
+            if (isValueAxisH) {
+              var coord = cartesian.dataToPoint([value, baseValue]);
+              if (stacked) {
+                var startCoord = cartesian.dataToPoint([startValue, baseValue]);
+                baseCoord = startCoord[0];
+              }
+              x2 = baseCoord;
+              y2 = coord[1] + columnOffset;
+              width = coord[0] - baseCoord;
+              height = columnWidth;
+              if (Math.abs(width) < barMinHeight) {
+                width = (width < 0 ? -1 : 1) * barMinHeight;
+              }
+            } else {
+              var coord = cartesian.dataToPoint([baseValue, value]);
+              if (stacked) {
+                var startCoord = cartesian.dataToPoint([baseValue, startValue]);
+                baseCoord = startCoord[1];
+              }
+              x2 = coord[0] + columnOffset;
+              y2 = baseCoord;
+              width = columnWidth;
+              height = coord[1] - baseCoord;
+              if (Math.abs(height) < barMinHeight) {
+                height = (height <= 0 ? -1 : 1) * barMinHeight;
+              }
+            }
+            if (!isLarge) {
+              data3.setItemLayout(dataIndex, {
+                x: x2,
+                y: y2,
+                width,
+                height
+              });
+            } else {
+              largePoints[idxOffset] = x2;
+              largePoints[idxOffset + 1] = y2;
+              largePoints[idxOffset + 2] = isValueAxisH ? width : height;
+              if (largeBackgroundPoints) {
+                largeBackgroundPoints[idxOffset] = isValueAxisH ? coordLayout.x : x2;
+                largeBackgroundPoints[idxOffset + 1] = isValueAxisH ? y2 : coordLayout.y;
+                largeBackgroundPoints[idxOffset + 2] = bgSize;
+              }
+              largeDataIndices[dataIndex] = dataIndex;
+            }
+            idxOffset += 3;
+          }
+          if (isLarge) {
+            data3.setLayout({
+              largePoints,
+              largeDataIndices,
+              largeBackgroundPoints,
+              valueAxisHorizontal: isValueAxisH
+            });
+          }
+        }
+      };
+    }
+  };
+}
+function isOnCartesian(seriesModel) {
+  return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === "cartesian2d";
+}
+function isInLargeMode(seriesModel) {
+  return seriesModel.pipelineContext && seriesModel.pipelineContext.large;
+}
+function getValueAxisStart(baseAxis, valueAxis2) {
+  return valueAxis2.toGlobalCoord(valueAxis2.dataToCoord(valueAxis2.type === "log" ? 1 : 0));
+}
+var bisect = function(a2, x2, lo, hi) {
+  while (lo < hi) {
+    var mid = lo + hi >>> 1;
+    if (a2[mid][1] < x2) {
+      lo = mid + 1;
+    } else {
+      hi = mid;
+    }
+  }
+  return lo;
+};
+var TimeScale = (
+  /** @class */
+  function(_super) {
+    __extends(TimeScale2, _super);
+    function TimeScale2(settings) {
+      var _this = _super.call(this, settings) || this;
+      _this.type = "time";
+      return _this;
+    }
+    TimeScale2.prototype.getLabel = function(tick) {
+      var useUTC = this.getSetting("useUTC");
+      return format$1(tick.value, fullLeveledFormatter[getDefaultFormatPrecisionOfInterval(getPrimaryTimeUnit(this._minLevelUnit))] || fullLeveledFormatter.second, useUTC, this.getSetting("locale"));
+    };
+    TimeScale2.prototype.getFormattedLabel = function(tick, idx, labelFormatter) {
+      var isUTC = this.getSetting("useUTC");
+      var lang2 = this.getSetting("locale");
+      return leveledFormat(tick, idx, labelFormatter, lang2, isUTC);
+    };
+    TimeScale2.prototype.getTicks = function() {
+      var interval = this._interval;
+      var extent3 = this._extent;
+      var ticks = [];
+      if (!interval) {
+        return ticks;
+      }
+      ticks.push({
+        value: extent3[0],
+        level: 0
+      });
+      var useUTC = this.getSetting("useUTC");
+      var innerTicks = getIntervalTicks(this._minLevelUnit, this._approxInterval, useUTC, extent3);
+      ticks = ticks.concat(innerTicks);
+      ticks.push({
+        value: extent3[1],
+        level: 0
+      });
+      return ticks;
+    };
+    TimeScale2.prototype.calcNiceExtent = function(opt) {
+      var extent3 = this._extent;
+      if (extent3[0] === extent3[1]) {
+        extent3[0] -= ONE_DAY;
+        extent3[1] += ONE_DAY;
+      }
+      if (extent3[1] === -Infinity && extent3[0] === Infinity) {
+        var d2 = /* @__PURE__ */ new Date();
+        extent3[1] = +new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
+        extent3[0] = extent3[1] - ONE_DAY;
+      }
+      this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
+    };
+    TimeScale2.prototype.calcNiceTicks = function(approxTickNum, minInterval, maxInterval) {
+      approxTickNum = approxTickNum || 10;
+      var extent3 = this._extent;
+      var span = extent3[1] - extent3[0];
+      this._approxInterval = span / approxTickNum;
+      if (minInterval != null && this._approxInterval < minInterval) {
+        this._approxInterval = minInterval;
+      }
+      if (maxInterval != null && this._approxInterval > maxInterval) {
+        this._approxInterval = maxInterval;
+      }
+      var scaleIntervalsLen = scaleIntervals.length;
+      var idx = Math.min(bisect(scaleIntervals, this._approxInterval, 0, scaleIntervalsLen), scaleIntervalsLen - 1);
+      this._interval = scaleIntervals[idx][1];
+      this._minLevelUnit = scaleIntervals[Math.max(idx - 1, 0)][0];
+    };
+    TimeScale2.prototype.parse = function(val) {
+      return isNumber$1(val) ? val : +parseDate(val);
+    };
+    TimeScale2.prototype.contain = function(val) {
+      return contain$1(this.parse(val), this._extent);
+    };
+    TimeScale2.prototype.normalize = function(val) {
+      return normalize$2(this.parse(val), this._extent);
+    };
+    TimeScale2.prototype.scale = function(val) {
+      return scale(val, this._extent);
+    };
+    TimeScale2.type = "time";
+    return TimeScale2;
+  }(IntervalScale$1)
+);
+var scaleIntervals = [
+  // Format                           interval
+  ["second", ONE_SECOND],
+  ["minute", ONE_MINUTE],
+  ["hour", ONE_HOUR],
+  ["quarter-day", ONE_HOUR * 6],
+  ["half-day", ONE_HOUR * 12],
+  ["day", ONE_DAY * 1.2],
+  ["half-week", ONE_DAY * 3.5],
+  ["week", ONE_DAY * 7],
+  ["month", ONE_DAY * 31],
+  ["quarter", ONE_DAY * 95],
+  ["half-year", ONE_YEAR / 2],
+  ["year", ONE_YEAR]
+  // 1Y
+];
+function isUnitValueSame(unit, valueA, valueB, isUTC) {
+  var dateA = parseDate(valueA);
+  var dateB = parseDate(valueB);
+  var isSame2 = function(unit2) {
+    return getUnitValue(dateA, unit2, isUTC) === getUnitValue(dateB, unit2, isUTC);
+  };
+  var isSameYear = function() {
+    return isSame2("year");
+  };
+  var isSameMonth = function() {
+    return isSameYear() && isSame2("month");
+  };
+  var isSameDay = function() {
+    return isSameMonth() && isSame2("day");
+  };
+  var isSameHour = function() {
+    return isSameDay() && isSame2("hour");
+  };
+  var isSameMinute = function() {
+    return isSameHour() && isSame2("minute");
+  };
+  var isSameSecond = function() {
+    return isSameMinute() && isSame2("second");
+  };
+  var isSameMilliSecond = function() {
+    return isSameSecond() && isSame2("millisecond");
+  };
+  switch (unit) {
+    case "year":
+      return isSameYear();
+    case "month":
+      return isSameMonth();
+    case "day":
+      return isSameDay();
+    case "hour":
+      return isSameHour();
+    case "minute":
+      return isSameMinute();
+    case "second":
+      return isSameSecond();
+    case "millisecond":
+      return isSameMilliSecond();
+  }
+}
+function getDateInterval(approxInterval, daysInMonth) {
+  approxInterval /= ONE_DAY;
+  return approxInterval > 16 ? 16 : approxInterval > 7.5 ? 7 : approxInterval > 3.5 ? 4 : approxInterval > 1.5 ? 2 : 1;
+}
+function getMonthInterval(approxInterval) {
+  var APPROX_ONE_MONTH = 30 * ONE_DAY;
+  approxInterval /= APPROX_ONE_MONTH;
+  return approxInterval > 6 ? 6 : approxInterval > 3 ? 3 : approxInterval > 2 ? 2 : 1;
+}
+function getHourInterval(approxInterval) {
+  approxInterval /= ONE_HOUR;
+  return approxInterval > 12 ? 12 : approxInterval > 6 ? 6 : approxInterval > 3.5 ? 4 : approxInterval > 2 ? 2 : 1;
+}
+function getMinutesAndSecondsInterval(approxInterval, isMinutes) {
+  approxInterval /= isMinutes ? ONE_MINUTE : ONE_SECOND;
+  return approxInterval > 30 ? 30 : approxInterval > 20 ? 20 : approxInterval > 15 ? 15 : approxInterval > 10 ? 10 : approxInterval > 5 ? 5 : approxInterval > 2 ? 2 : 1;
+}
+function getMillisecondsInterval(approxInterval) {
+  return nice(approxInterval, true);
+}
+function getFirstTimestampOfUnit(date, unitName, isUTC) {
+  var outDate = new Date(date);
+  switch (getPrimaryTimeUnit(unitName)) {
+    case "year":
+    case "month":
+      outDate[monthSetterName(isUTC)](0);
+    case "day":
+      outDate[dateSetterName(isUTC)](1);
+    case "hour":
+      outDate[hoursSetterName(isUTC)](0);
+    case "minute":
+      outDate[minutesSetterName(isUTC)](0);
+    case "second":
+      outDate[secondsSetterName(isUTC)](0);
+      outDate[millisecondsSetterName(isUTC)](0);
+  }
+  return outDate.getTime();
+}
+function getIntervalTicks(bottomUnitName, approxInterval, isUTC, extent3) {
+  var safeLimit = 1e4;
+  var unitNames = timeUnits;
+  var iter = 0;
+  function addTicksInSpan(interval, minTimestamp, maxTimestamp, getMethodName, setMethodName, isDate2, out2) {
+    var date = new Date(minTimestamp);
+    var dateTime = minTimestamp;
+    var d2 = date[getMethodName]();
+    while (dateTime < maxTimestamp && dateTime <= extent3[1]) {
+      out2.push({
+        value: dateTime
+      });
+      d2 += interval;
+      date[setMethodName](d2);
+      dateTime = date.getTime();
+    }
+    out2.push({
+      value: dateTime,
+      notAdd: true
+    });
+  }
+  function addLevelTicks(unitName, lastLevelTicks, levelTicks2) {
+    var newAddedTicks = [];
+    var isFirstLevel = !lastLevelTicks.length;
+    if (isUnitValueSame(getPrimaryTimeUnit(unitName), extent3[0], extent3[1], isUTC)) {
+      return;
+    }
+    if (isFirstLevel) {
+      lastLevelTicks = [{
+        // TODO Optimize. Not include so may ticks.
+        value: getFirstTimestampOfUnit(new Date(extent3[0]), unitName, isUTC)
+      }, {
+        value: extent3[1]
+      }];
+    }
+    for (var i3 = 0; i3 < lastLevelTicks.length - 1; i3++) {
+      var startTick = lastLevelTicks[i3].value;
+      var endTick = lastLevelTicks[i3 + 1].value;
+      if (startTick === endTick) {
+        continue;
+      }
+      var interval = void 0;
+      var getterName = void 0;
+      var setterName = void 0;
+      var isDate2 = false;
+      switch (unitName) {
+        case "year":
+          interval = Math.max(1, Math.round(approxInterval / ONE_DAY / 365));
+          getterName = fullYearGetterName(isUTC);
+          setterName = fullYearSetterName(isUTC);
+          break;
+        case "half-year":
+        case "quarter":
+        case "month":
+          interval = getMonthInterval(approxInterval);
+          getterName = monthGetterName(isUTC);
+          setterName = monthSetterName(isUTC);
+          break;
+        case "week":
+        case "half-week":
+        case "day":
+          interval = getDateInterval(approxInterval);
+          getterName = dateGetterName(isUTC);
+          setterName = dateSetterName(isUTC);
+          isDate2 = true;
+          break;
+        case "half-day":
+        case "quarter-day":
+        case "hour":
+          interval = getHourInterval(approxInterval);
+          getterName = hoursGetterName(isUTC);
+          setterName = hoursSetterName(isUTC);
+          break;
+        case "minute":
+          interval = getMinutesAndSecondsInterval(approxInterval, true);
+          getterName = minutesGetterName(isUTC);
+          setterName = minutesSetterName(isUTC);
+          break;
+        case "second":
+          interval = getMinutesAndSecondsInterval(approxInterval, false);
+          getterName = secondsGetterName(isUTC);
+          setterName = secondsSetterName(isUTC);
+          break;
+        case "millisecond":
+          interval = getMillisecondsInterval(approxInterval);
+          getterName = millisecondsGetterName(isUTC);
+          setterName = millisecondsSetterName(isUTC);
+          break;
+      }
+      addTicksInSpan(interval, startTick, endTick, getterName, setterName, isDate2, newAddedTicks);
+      if (unitName === "year" && levelTicks2.length > 1 && i3 === 0) {
+        levelTicks2.unshift({
+          value: levelTicks2[0].value - interval
+        });
+      }
+    }
+    for (var i3 = 0; i3 < newAddedTicks.length; i3++) {
+      levelTicks2.push(newAddedTicks[i3]);
+    }
+    return newAddedTicks;
+  }
+  var levelsTicks = [];
+  var currentLevelTicks = [];
+  var tickCount = 0;
+  var lastLevelTickCount = 0;
+  for (var i2 = 0; i2 < unitNames.length && iter++ < safeLimit; ++i2) {
+    var primaryTimeUnit = getPrimaryTimeUnit(unitNames[i2]);
+    if (!isPrimaryTimeUnit(unitNames[i2])) {
+      continue;
+    }
+    addLevelTicks(unitNames[i2], levelsTicks[levelsTicks.length - 1] || [], currentLevelTicks);
+    var nextPrimaryTimeUnit = unitNames[i2 + 1] ? getPrimaryTimeUnit(unitNames[i2 + 1]) : null;
+    if (primaryTimeUnit !== nextPrimaryTimeUnit) {
+      if (currentLevelTicks.length) {
+        lastLevelTickCount = tickCount;
+        currentLevelTicks.sort(function(a2, b2) {
+          return a2.value - b2.value;
+        });
+        var levelTicksRemoveDuplicated = [];
+        for (var i_1 = 0; i_1 < currentLevelTicks.length; ++i_1) {
+          var tickValue = currentLevelTicks[i_1].value;
+          if (i_1 === 0 || currentLevelTicks[i_1 - 1].value !== tickValue) {
+            levelTicksRemoveDuplicated.push(currentLevelTicks[i_1]);
+            if (tickValue >= extent3[0] && tickValue <= extent3[1]) {
+              tickCount++;
+            }
+          }
+        }
+        var targetTickNum = (extent3[1] - extent3[0]) / approxInterval;
+        if (tickCount > targetTickNum * 1.5 && lastLevelTickCount > targetTickNum / 1.5) {
+          break;
+        }
+        levelsTicks.push(levelTicksRemoveDuplicated);
+        if (tickCount > targetTickNum || bottomUnitName === unitNames[i2]) {
+          break;
+        }
+      }
+      currentLevelTicks = [];
+    }
+  }
+  var levelsTicksInExtent = filter(map$1(levelsTicks, function(levelTicks2) {
+    return filter(levelTicks2, function(tick) {
+      return tick.value >= extent3[0] && tick.value <= extent3[1] && !tick.notAdd;
+    });
+  }), function(levelTicks2) {
+    return levelTicks2.length > 0;
+  });
+  var ticks = [];
+  var maxLevel = levelsTicksInExtent.length - 1;
+  for (var i2 = 0; i2 < levelsTicksInExtent.length; ++i2) {
+    var levelTicks = levelsTicksInExtent[i2];
+    for (var k2 = 0; k2 < levelTicks.length; ++k2) {
+      ticks.push({
+        value: levelTicks[k2].value,
+        level: maxLevel - i2
+      });
+    }
+  }
+  ticks.sort(function(a2, b2) {
+    return a2.value - b2.value;
+  });
+  var result2 = [];
+  for (var i2 = 0; i2 < ticks.length; ++i2) {
+    if (i2 === 0 || ticks[i2].value !== ticks[i2 - 1].value) {
+      result2.push(ticks[i2]);
+    }
+  }
+  return result2;
+}
+Scale$1.registerClass(TimeScale);
+const TimeScale$1 = TimeScale;
+var scaleProto = Scale$1.prototype;
+var intervalScaleProto = IntervalScale$1.prototype;
+var roundingErrorFix = round$3;
+var mathFloor$1 = Math.floor;
+var mathCeil$1 = Math.ceil;
+var mathPow$1 = Math.pow;
+var mathLog$1 = Math.log;
+var LogScale = (
+  /** @class */
+  function(_super) {
+    __extends(LogScale2, _super);
+    function LogScale2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "log";
+      _this.base = 10;
+      _this._originalScale = new IntervalScale$1();
+      _this._interval = 0;
+      return _this;
+    }
+    LogScale2.prototype.getTicks = function(expandToNicedExtent) {
+      var originalScale = this._originalScale;
+      var extent3 = this._extent;
+      var originalExtent = originalScale.getExtent();
+      var ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);
+      return map$1(ticks, function(tick) {
+        var val = tick.value;
+        var powVal = round$3(mathPow$1(this.base, val));
+        powVal = val === extent3[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;
+        powVal = val === extent3[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;
+        return {
+          value: powVal
+        };
+      }, this);
+    };
+    LogScale2.prototype.setExtent = function(start2, end2) {
+      var base2 = mathLog$1(this.base);
+      start2 = mathLog$1(Math.max(0, start2)) / base2;
+      end2 = mathLog$1(Math.max(0, end2)) / base2;
+      intervalScaleProto.setExtent.call(this, start2, end2);
+    };
+    LogScale2.prototype.getExtent = function() {
+      var base2 = this.base;
+      var extent3 = scaleProto.getExtent.call(this);
+      extent3[0] = mathPow$1(base2, extent3[0]);
+      extent3[1] = mathPow$1(base2, extent3[1]);
+      var originalScale = this._originalScale;
+      var originalExtent = originalScale.getExtent();
+      this._fixMin && (extent3[0] = fixRoundingError(extent3[0], originalExtent[0]));
+      this._fixMax && (extent3[1] = fixRoundingError(extent3[1], originalExtent[1]));
+      return extent3;
+    };
+    LogScale2.prototype.unionExtent = function(extent3) {
+      this._originalScale.unionExtent(extent3);
+      var base2 = this.base;
+      extent3[0] = mathLog$1(extent3[0]) / mathLog$1(base2);
+      extent3[1] = mathLog$1(extent3[1]) / mathLog$1(base2);
+      scaleProto.unionExtent.call(this, extent3);
+    };
+    LogScale2.prototype.unionExtentFromData = function(data2, dim) {
+      this.unionExtent(data2.getApproximateExtent(dim));
+    };
+    LogScale2.prototype.calcNiceTicks = function(approxTickNum) {
+      approxTickNum = approxTickNum || 10;
+      var extent3 = this._extent;
+      var span = extent3[1] - extent3[0];
+      if (span === Infinity || span <= 0) {
+        return;
+      }
+      var interval = quantity(span);
+      var err = approxTickNum / span * interval;
+      if (err <= 0.5) {
+        interval *= 10;
+      }
+      while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {
+        interval *= 10;
+      }
+      var niceExtent = [round$3(mathCeil$1(extent3[0] / interval) * interval), round$3(mathFloor$1(extent3[1] / interval) * interval)];
+      this._interval = interval;
+      this._niceExtent = niceExtent;
+    };
+    LogScale2.prototype.calcNiceExtent = function(opt) {
+      intervalScaleProto.calcNiceExtent.call(this, opt);
+      this._fixMin = opt.fixMin;
+      this._fixMax = opt.fixMax;
+    };
+    LogScale2.prototype.parse = function(val) {
+      return val;
+    };
+    LogScale2.prototype.contain = function(val) {
+      val = mathLog$1(val) / mathLog$1(this.base);
+      return contain$1(val, this._extent);
+    };
+    LogScale2.prototype.normalize = function(val) {
+      val = mathLog$1(val) / mathLog$1(this.base);
+      return normalize$2(val, this._extent);
+    };
+    LogScale2.prototype.scale = function(val) {
+      val = scale(val, this._extent);
+      return mathPow$1(this.base, val);
+    };
+    LogScale2.type = "log";
+    return LogScale2;
+  }(Scale$1)
+);
+var proto = LogScale.prototype;
+proto.getMinorTicks = intervalScaleProto.getMinorTicks;
+proto.getLabel = intervalScaleProto.getLabel;
+function fixRoundingError(val, originalVal) {
+  return roundingErrorFix(val, getPrecision(originalVal));
+}
+Scale$1.registerClass(LogScale);
+const LogScale$1 = LogScale;
+var ScaleRawExtentInfo = (
+  /** @class */
+  function() {
+    function ScaleRawExtentInfo2(scale2, model2, originalExtent) {
+      this._prepareParams(scale2, model2, originalExtent);
+    }
+    ScaleRawExtentInfo2.prototype._prepareParams = function(scale2, model2, dataExtent) {
+      if (dataExtent[1] < dataExtent[0]) {
+        dataExtent = [NaN, NaN];
+      }
+      this._dataMin = dataExtent[0];
+      this._dataMax = dataExtent[1];
+      var isOrdinal = this._isOrdinal = scale2.type === "ordinal";
+      this._needCrossZero = scale2.type === "interval" && model2.getNeedCrossZero && model2.getNeedCrossZero();
+      var modelMinRaw = this._modelMinRaw = model2.get("min", true);
+      if (isFunction$1(modelMinRaw)) {
+        this._modelMinNum = parseAxisModelMinMax(scale2, modelMinRaw({
+          min: dataExtent[0],
+          max: dataExtent[1]
+        }));
+      } else if (modelMinRaw !== "dataMin") {
+        this._modelMinNum = parseAxisModelMinMax(scale2, modelMinRaw);
+      }
+      var modelMaxRaw = this._modelMaxRaw = model2.get("max", true);
+      if (isFunction$1(modelMaxRaw)) {
+        this._modelMaxNum = parseAxisModelMinMax(scale2, modelMaxRaw({
+          min: dataExtent[0],
+          max: dataExtent[1]
+        }));
+      } else if (modelMaxRaw !== "dataMax") {
+        this._modelMaxNum = parseAxisModelMinMax(scale2, modelMaxRaw);
+      }
+      if (isOrdinal) {
+        this._axisDataLen = model2.getCategories().length;
+      } else {
+        var boundaryGap = model2.get("boundaryGap");
+        var boundaryGapArr = isArray$2(boundaryGap) ? boundaryGap : [boundaryGap || 0, boundaryGap || 0];
+        if (typeof boundaryGapArr[0] === "boolean" || typeof boundaryGapArr[1] === "boolean") {
+          this._boundaryGapInner = [0, 0];
+        } else {
+          this._boundaryGapInner = [parsePercent$1(boundaryGapArr[0], 1), parsePercent$1(boundaryGapArr[1], 1)];
+        }
+      }
+    };
+    ScaleRawExtentInfo2.prototype.calculate = function() {
+      var isOrdinal = this._isOrdinal;
+      var dataMin = this._dataMin;
+      var dataMax = this._dataMax;
+      var axisDataLen = this._axisDataLen;
+      var boundaryGapInner = this._boundaryGapInner;
+      var span = !isOrdinal ? dataMax - dataMin || Math.abs(dataMin) : null;
+      var min3 = this._modelMinRaw === "dataMin" ? dataMin : this._modelMinNum;
+      var max3 = this._modelMaxRaw === "dataMax" ? dataMax : this._modelMaxNum;
+      var minFixed = min3 != null;
+      var maxFixed = max3 != null;
+      if (min3 == null) {
+        min3 = isOrdinal ? axisDataLen ? 0 : NaN : dataMin - boundaryGapInner[0] * span;
+      }
+      if (max3 == null) {
+        max3 = isOrdinal ? axisDataLen ? axisDataLen - 1 : NaN : dataMax + boundaryGapInner[1] * span;
+      }
+      (min3 == null || !isFinite(min3)) && (min3 = NaN);
+      (max3 == null || !isFinite(max3)) && (max3 = NaN);
+      var isBlank = eqNaN(min3) || eqNaN(max3) || isOrdinal && !axisDataLen;
+      if (this._needCrossZero) {
+        if (min3 > 0 && max3 > 0 && !minFixed) {
+          min3 = 0;
+        }
+        if (min3 < 0 && max3 < 0 && !maxFixed) {
+          max3 = 0;
+        }
+      }
+      var determinedMin = this._determinedMin;
+      var determinedMax = this._determinedMax;
+      if (determinedMin != null) {
+        min3 = determinedMin;
+        minFixed = true;
+      }
+      if (determinedMax != null) {
+        max3 = determinedMax;
+        maxFixed = true;
+      }
+      return {
+        min: min3,
+        max: max3,
+        minFixed,
+        maxFixed,
+        isBlank
+      };
+    };
+    ScaleRawExtentInfo2.prototype.modifyDataMinMax = function(minMaxName, val) {
+      this[DATA_MIN_MAX_ATTR[minMaxName]] = val;
+    };
+    ScaleRawExtentInfo2.prototype.setDeterminedMinMax = function(minMaxName, val) {
+      var attr = DETERMINED_MIN_MAX_ATTR[minMaxName];
+      this[attr] = val;
+    };
+    ScaleRawExtentInfo2.prototype.freeze = function() {
+      this.frozen = true;
+    };
+    return ScaleRawExtentInfo2;
+  }()
+);
+var DETERMINED_MIN_MAX_ATTR = {
+  min: "_determinedMin",
+  max: "_determinedMax"
+};
+var DATA_MIN_MAX_ATTR = {
+  min: "_dataMin",
+  max: "_dataMax"
+};
+function ensureScaleRawExtentInfo(scale2, model2, originalExtent) {
+  var rawExtentInfo = scale2.rawExtentInfo;
+  if (rawExtentInfo) {
+    return rawExtentInfo;
+  }
+  rawExtentInfo = new ScaleRawExtentInfo(scale2, model2, originalExtent);
+  scale2.rawExtentInfo = rawExtentInfo;
+  return rawExtentInfo;
+}
+function parseAxisModelMinMax(scale2, minMax) {
+  return minMax == null ? null : eqNaN(minMax) ? NaN : scale2.parse(minMax);
+}
+function getScaleExtent(scale2, model2) {
+  var scaleType = scale2.type;
+  var rawExtentResult = ensureScaleRawExtentInfo(scale2, model2, scale2.getExtent()).calculate();
+  scale2.setBlank(rawExtentResult.isBlank);
+  var min3 = rawExtentResult.min;
+  var max3 = rawExtentResult.max;
+  var ecModel = model2.ecModel;
+  if (ecModel && scaleType === "time") {
+    var barSeriesModels = prepareLayoutBarSeries("bar", ecModel);
+    var isBaseAxisAndHasBarSeries_1 = false;
+    each$f(barSeriesModels, function(seriesModel) {
+      isBaseAxisAndHasBarSeries_1 = isBaseAxisAndHasBarSeries_1 || seriesModel.getBaseAxis() === model2.axis;
+    });
+    if (isBaseAxisAndHasBarSeries_1) {
+      var barWidthAndOffset = makeColumnLayout(barSeriesModels);
+      var adjustedScale = adjustScaleForOverflow(min3, max3, model2, barWidthAndOffset);
+      min3 = adjustedScale.min;
+      max3 = adjustedScale.max;
+    }
+  }
+  return {
+    extent: [min3, max3],
+    // "fix" means "fixed", the value should not be
+    // changed in the subsequent steps.
+    fixMin: rawExtentResult.minFixed,
+    fixMax: rawExtentResult.maxFixed
+  };
+}
+function adjustScaleForOverflow(min3, max3, model2, barWidthAndOffset) {
+  var axisExtent = model2.axis.getExtent();
+  var axisLength = axisExtent[1] - axisExtent[0];
+  var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model2.axis);
+  if (barsOnCurrentAxis === void 0) {
+    return {
+      min: min3,
+      max: max3
+    };
+  }
+  var minOverflow = Infinity;
+  each$f(barsOnCurrentAxis, function(item) {
+    minOverflow = Math.min(item.offset, minOverflow);
+  });
+  var maxOverflow = -Infinity;
+  each$f(barsOnCurrentAxis, function(item) {
+    maxOverflow = Math.max(item.offset + item.width, maxOverflow);
+  });
+  minOverflow = Math.abs(minOverflow);
+  maxOverflow = Math.abs(maxOverflow);
+  var totalOverFlow = minOverflow + maxOverflow;
+  var oldRange = max3 - min3;
+  var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;
+  var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;
+  max3 += overflowBuffer * (maxOverflow / totalOverFlow);
+  min3 -= overflowBuffer * (minOverflow / totalOverFlow);
+  return {
+    min: min3,
+    max: max3
+  };
+}
+function niceScaleExtent(scale2, inModel) {
+  var model2 = inModel;
+  var extentInfo = getScaleExtent(scale2, model2);
+  var extent3 = extentInfo.extent;
+  var splitNumber = model2.get("splitNumber");
+  if (scale2 instanceof LogScale$1) {
+    scale2.base = model2.get("logBase");
+  }
+  var scaleType = scale2.type;
+  var interval = model2.get("interval");
+  var isIntervalOrTime = scaleType === "interval" || scaleType === "time";
+  scale2.setExtent(extent3[0], extent3[1]);
+  scale2.calcNiceExtent({
+    splitNumber,
+    fixMin: extentInfo.fixMin,
+    fixMax: extentInfo.fixMax,
+    minInterval: isIntervalOrTime ? model2.get("minInterval") : null,
+    maxInterval: isIntervalOrTime ? model2.get("maxInterval") : null
+  });
+  if (interval != null) {
+    scale2.setInterval && scale2.setInterval(interval);
+  }
+}
+function createScaleByModel$1(model2, axisType) {
+  axisType = axisType || model2.get("type");
+  if (axisType) {
+    switch (axisType) {
+      case "category":
+        return new OrdinalScale$1({
+          ordinalMeta: model2.getOrdinalMeta ? model2.getOrdinalMeta() : model2.getCategories(),
+          extent: [Infinity, -Infinity]
+        });
+      case "time":
+        return new TimeScale$1({
+          locale: model2.ecModel.getLocaleModel(),
+          useUTC: model2.ecModel.get("useUTC")
+        });
+      default:
+        return new (Scale$1.getClass(axisType) || IntervalScale$1)();
+    }
+  }
+}
+function ifAxisCrossZero(axis2) {
+  var dataExtent = axis2.scale.getExtent();
+  var min3 = dataExtent[0];
+  var max3 = dataExtent[1];
+  return !(min3 > 0 && max3 > 0 || min3 < 0 && max3 < 0);
+}
+function makeLabelFormatter(axis2) {
+  var labelFormatter = axis2.getLabelModel().get("formatter");
+  var categoryTickStart = axis2.type === "category" ? axis2.scale.getExtent()[0] : null;
+  if (axis2.scale.type === "time") {
+    return function(tpl) {
+      return function(tick, idx) {
+        return axis2.scale.getFormattedLabel(tick, idx, tpl);
+      };
+    }(labelFormatter);
+  } else if (isString$1(labelFormatter)) {
+    return function(tpl) {
+      return function(tick) {
+        var label = axis2.scale.getLabel(tick);
+        var text2 = tpl.replace("{value}", label != null ? label : "");
+        return text2;
+      };
+    }(labelFormatter);
+  } else if (isFunction$1(labelFormatter)) {
+    return function(cb) {
+      return function(tick, idx) {
+        if (categoryTickStart != null) {
+          idx = tick.value - categoryTickStart;
+        }
+        return cb(getAxisRawValue(axis2, tick), idx, tick.level != null ? {
+          level: tick.level
+        } : null);
+      };
+    }(labelFormatter);
+  } else {
+    return function(tick) {
+      return axis2.scale.getLabel(tick);
+    };
+  }
+}
+function getAxisRawValue(axis2, tick) {
+  return axis2.type === "category" ? axis2.scale.getLabel(tick) : tick.value;
+}
+function estimateLabelUnionRect(axis2) {
+  var axisModel = axis2.model;
+  var scale2 = axis2.scale;
+  if (!axisModel.get(["axisLabel", "show"]) || scale2.isBlank()) {
+    return;
+  }
+  var realNumberScaleTicks;
+  var tickCount;
+  var categoryScaleExtent = scale2.getExtent();
+  if (scale2 instanceof OrdinalScale$1) {
+    tickCount = scale2.count();
+  } else {
+    realNumberScaleTicks = scale2.getTicks();
+    tickCount = realNumberScaleTicks.length;
+  }
+  var axisLabelModel = axis2.getLabelModel();
+  var labelFormatter = makeLabelFormatter(axis2);
+  var rect;
+  var step2 = 1;
+  if (tickCount > 40) {
+    step2 = Math.ceil(tickCount / 40);
+  }
+  for (var i2 = 0; i2 < tickCount; i2 += step2) {
+    var tick = realNumberScaleTicks ? realNumberScaleTicks[i2] : {
+      value: categoryScaleExtent[0] + i2
+    };
+    var label = labelFormatter(tick, i2);
+    var unrotatedSingleRect = axisLabelModel.getTextRect(label);
+    var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get("rotate") || 0);
+    rect ? rect.union(singleRect) : rect = singleRect;
+  }
+  return rect;
+}
+function rotateTextRect(textRect, rotate2) {
+  var rotateRadians = rotate2 * Math.PI / 180;
+  var beforeWidth = textRect.width;
+  var beforeHeight = textRect.height;
+  var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));
+  var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));
+  var rotatedRect = new BoundingRect$1(textRect.x, textRect.y, afterWidth, afterHeight);
+  return rotatedRect;
+}
+function getOptionCategoryInterval(model2) {
+  var interval = model2.get("interval");
+  return interval == null ? "auto" : interval;
+}
+function shouldShowAllLabels(axis2) {
+  return axis2.type === "category" && getOptionCategoryInterval(axis2.getLabelModel()) === 0;
+}
+function getDataDimensionsOnAxis(data2, axisDim) {
+  var dataDimMap = {};
+  each$f(data2.mapDimensionsAll(axisDim), function(dataDim) {
+    dataDimMap[getStackedDimension(data2, dataDim)] = true;
+  });
+  return keys(dataDimMap);
+}
+function unionAxisExtentFromData(dataExtent, data2, axisDim) {
+  if (data2) {
+    each$f(getDataDimensionsOnAxis(data2, axisDim), function(dim) {
+      var seriesExtent = data2.getApproximateExtent(dim);
+      seriesExtent[0] < dataExtent[0] && (dataExtent[0] = seriesExtent[0]);
+      seriesExtent[1] > dataExtent[1] && (dataExtent[1] = seriesExtent[1]);
+    });
+  }
+}
+var AxisModelCommonMixin = (
+  /** @class */
+  function() {
+    function AxisModelCommonMixin2() {
+    }
+    AxisModelCommonMixin2.prototype.getNeedCrossZero = function() {
+      var option = this.option;
+      return !option.scale;
+    };
+    AxisModelCommonMixin2.prototype.getCoordSysModel = function() {
+      return;
+    };
+    return AxisModelCommonMixin2;
+  }()
+);
+function createList$2(seriesModel) {
+  return createSeriesData(null, seriesModel);
+}
+var dataStack = {
+  isDimensionStacked,
+  enableDataStack,
+  getStackedDimension
+};
+function createScale(dataExtent, option) {
+  var axisModel = option;
+  if (!(option instanceof Model$1)) {
+    axisModel = new Model$1(option);
+  }
+  var scale2 = createScaleByModel$1(axisModel);
+  scale2.setExtent(dataExtent[0], dataExtent[1]);
+  niceScaleExtent(scale2, axisModel);
+  return scale2;
+}
+function mixinAxisModelCommonMethods(Model2) {
+  mixin(Model2, AxisModelCommonMixin);
+}
+function createTextStyle(textStyleModel, opts2) {
+  opts2 = opts2 || {};
+  return createTextStyle$1(textStyleModel, null, null, opts2.state !== "normal");
+}
+const helper = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  createDimensions,
+  createList: createList$2,
+  createScale,
+  createSymbol: createSymbol$1,
+  createTextStyle,
+  dataStack,
+  enableHoverEmphasis,
+  getECData,
+  getLayoutRect,
+  mixinAxisModelCommonMethods
+}, Symbol.toStringTag, { value: "Module" }));
+var EPSILON = 1e-8;
+function isAroundEqual(a2, b2) {
+  return Math.abs(a2 - b2) < EPSILON;
+}
+function contain(points2, x2, y2) {
+  var w2 = 0;
+  var p2 = points2[0];
+  if (!p2) {
+    return false;
+  }
+  for (var i2 = 1; i2 < points2.length; i2++) {
+    var p22 = points2[i2];
+    w2 += windingLine(p2[0], p2[1], p22[0], p22[1], x2, y2);
+    p2 = p22;
+  }
+  var p0 = points2[0];
+  if (!isAroundEqual(p2[0], p0[0]) || !isAroundEqual(p2[1], p0[1])) {
+    w2 += windingLine(p2[0], p2[1], p0[0], p0[1], x2, y2);
+  }
+  return w2 !== 0;
+}
+var TMP_TRANSFORM = [];
+function transformPoints(points2, transform3) {
+  for (var p2 = 0; p2 < points2.length; p2++) {
+    applyTransform$1(points2[p2], points2[p2], transform3);
+  }
+}
+function updateBBoxFromPoints(points2, min3, max3, projection) {
+  for (var i2 = 0; i2 < points2.length; i2++) {
+    var p2 = points2[i2];
+    if (projection) {
+      p2 = projection.project(p2);
+    }
+    if (p2 && isFinite(p2[0]) && isFinite(p2[1])) {
+      min$1(min3, min3, p2);
+      max$1(max3, max3, p2);
+    }
+  }
+}
+function centroid$1(points2) {
+  var signedArea = 0;
+  var cx = 0;
+  var cy = 0;
+  var len2 = points2.length;
+  var x0 = points2[len2 - 1][0];
+  var y0 = points2[len2 - 1][1];
+  for (var i2 = 0; i2 < len2; i2++) {
+    var x1 = points2[i2][0];
+    var y1 = points2[i2][1];
+    var a2 = x0 * y1 - x1 * y0;
+    signedArea += a2;
+    cx += (x0 + x1) * a2;
+    cy += (y0 + y1) * a2;
+    x0 = x1;
+    y0 = y1;
+  }
+  return signedArea ? [cx / signedArea / 3, cy / signedArea / 3, signedArea] : [points2[0][0] || 0, points2[0][1] || 0];
+}
+var Region = (
+  /** @class */
+  function() {
+    function Region2(name2) {
+      this.name = name2;
+    }
+    Region2.prototype.setCenter = function(center2) {
+      this._center = center2;
+    };
+    Region2.prototype.getCenter = function() {
+      var center2 = this._center;
+      if (!center2) {
+        center2 = this._center = this.calcCenter();
+      }
+      return center2;
+    };
+    return Region2;
+  }()
+);
+var GeoJSONPolygonGeometry = (
+  /** @class */
+  function() {
+    function GeoJSONPolygonGeometry2(exterior, interiors) {
+      this.type = "polygon";
+      this.exterior = exterior;
+      this.interiors = interiors;
+    }
+    return GeoJSONPolygonGeometry2;
+  }()
+);
+var GeoJSONLineStringGeometry = (
+  /** @class */
+  function() {
+    function GeoJSONLineStringGeometry2(points2) {
+      this.type = "linestring";
+      this.points = points2;
+    }
+    return GeoJSONLineStringGeometry2;
+  }()
+);
+var GeoJSONRegion = (
+  /** @class */
+  function(_super) {
+    __extends(GeoJSONRegion2, _super);
+    function GeoJSONRegion2(name2, geometries, cp) {
+      var _this = _super.call(this, name2) || this;
+      _this.type = "geoJSON";
+      _this.geometries = geometries;
+      _this._center = cp && [cp[0], cp[1]];
+      return _this;
+    }
+    GeoJSONRegion2.prototype.calcCenter = function() {
+      var geometries = this.geometries;
+      var largestGeo;
+      var largestGeoSize = 0;
+      for (var i2 = 0; i2 < geometries.length; i2++) {
+        var geo2 = geometries[i2];
+        var exterior = geo2.exterior;
+        var size = exterior && exterior.length;
+        if (size > largestGeoSize) {
+          largestGeo = geo2;
+          largestGeoSize = size;
+        }
+      }
+      if (largestGeo) {
+        return centroid$1(largestGeo.exterior);
+      }
+      var rect = this.getBoundingRect();
+      return [rect.x + rect.width / 2, rect.y + rect.height / 2];
+    };
+    GeoJSONRegion2.prototype.getBoundingRect = function(projection) {
+      var rect = this._rect;
+      if (rect && !projection) {
+        return rect;
+      }
+      var min3 = [Infinity, Infinity];
+      var max3 = [-Infinity, -Infinity];
+      var geometries = this.geometries;
+      each$f(geometries, function(geo2) {
+        if (geo2.type === "polygon") {
+          updateBBoxFromPoints(geo2.exterior, min3, max3, projection);
+        } else {
+          each$f(geo2.points, function(points2) {
+            updateBBoxFromPoints(points2, min3, max3, projection);
+          });
+        }
+      });
+      if (!(isFinite(min3[0]) && isFinite(min3[1]) && isFinite(max3[0]) && isFinite(max3[1]))) {
+        min3[0] = min3[1] = max3[0] = max3[1] = 0;
+      }
+      rect = new BoundingRect$1(min3[0], min3[1], max3[0] - min3[0], max3[1] - min3[1]);
+      if (!projection) {
+        this._rect = rect;
+      }
+      return rect;
+    };
+    GeoJSONRegion2.prototype.contain = function(coord) {
+      var rect = this.getBoundingRect();
+      var geometries = this.geometries;
+      if (!rect.contain(coord[0], coord[1])) {
+        return false;
+      }
+      loopGeo:
+        for (var i2 = 0, len2 = geometries.length; i2 < len2; i2++) {
+          var geo2 = geometries[i2];
+          if (geo2.type !== "polygon") {
+            continue;
+          }
+          var exterior = geo2.exterior;
+          var interiors = geo2.interiors;
+          if (contain(exterior, coord[0], coord[1])) {
+            for (var k2 = 0; k2 < (interiors ? interiors.length : 0); k2++) {
+              if (contain(interiors[k2], coord[0], coord[1])) {
+                continue loopGeo;
+              }
+            }
+            return true;
+          }
+        }
+      return false;
+    };
+    GeoJSONRegion2.prototype.transformTo = function(x2, y2, width, height) {
+      var rect = this.getBoundingRect();
+      var aspect = rect.width / rect.height;
+      if (!width) {
+        width = aspect * height;
+      } else if (!height) {
+        height = width / aspect;
+      }
+      var target = new BoundingRect$1(x2, y2, width, height);
+      var transform3 = rect.calculateTransform(target);
+      var geometries = this.geometries;
+      for (var i2 = 0; i2 < geometries.length; i2++) {
+        var geo2 = geometries[i2];
+        if (geo2.type === "polygon") {
+          transformPoints(geo2.exterior, transform3);
+          each$f(geo2.interiors, function(interior) {
+            transformPoints(interior, transform3);
+          });
+        } else {
+          each$f(geo2.points, function(points2) {
+            transformPoints(points2, transform3);
+          });
+        }
+      }
+      rect = this._rect;
+      rect.copy(target);
+      this._center = [rect.x + rect.width / 2, rect.y + rect.height / 2];
+    };
+    GeoJSONRegion2.prototype.cloneShallow = function(name2) {
+      name2 == null && (name2 = this.name);
+      var newRegion = new GeoJSONRegion2(name2, this.geometries, this._center);
+      newRegion._rect = this._rect;
+      newRegion.transformTo = null;
+      return newRegion;
+    };
+    return GeoJSONRegion2;
+  }(Region)
+);
+var GeoSVGRegion = (
+  /** @class */
+  function(_super) {
+    __extends(GeoSVGRegion2, _super);
+    function GeoSVGRegion2(name2, elOnlyForCalculate) {
+      var _this = _super.call(this, name2) || this;
+      _this.type = "geoSVG";
+      _this._elOnlyForCalculate = elOnlyForCalculate;
+      return _this;
+    }
+    GeoSVGRegion2.prototype.calcCenter = function() {
+      var el = this._elOnlyForCalculate;
+      var rect = el.getBoundingRect();
+      var center2 = [rect.x + rect.width / 2, rect.y + rect.height / 2];
+      var mat = identity(TMP_TRANSFORM);
+      var target = el;
+      while (target && !target.isGeoSVGGraphicRoot) {
+        mul(mat, target.getLocalTransform(), mat);
+        target = target.parent;
+      }
+      invert(mat, mat);
+      applyTransform$1(center2, center2, mat);
+      return center2;
+    };
+    return GeoSVGRegion2;
+  }(Region)
+);
+function decode(json) {
+  if (!json.UTF8Encoding) {
+    return json;
+  }
+  var jsonCompressed = json;
+  var encodeScale = jsonCompressed.UTF8Scale;
+  if (encodeScale == null) {
+    encodeScale = 1024;
+  }
+  var features2 = jsonCompressed.features;
+  each$f(features2, function(feature) {
+    var geometry = feature.geometry;
+    var encodeOffsets = geometry.encodeOffsets;
+    var coordinates = geometry.coordinates;
+    if (!encodeOffsets) {
+      return;
+    }
+    switch (geometry.type) {
+      case "LineString":
+        geometry.coordinates = decodeRing(coordinates, encodeOffsets, encodeScale);
+        break;
+      case "Polygon":
+        decodeRings(coordinates, encodeOffsets, encodeScale);
+        break;
+      case "MultiLineString":
+        decodeRings(coordinates, encodeOffsets, encodeScale);
+        break;
+      case "MultiPolygon":
+        each$f(coordinates, function(rings, idx) {
+          return decodeRings(rings, encodeOffsets[idx], encodeScale);
+        });
+    }
+  });
+  jsonCompressed.UTF8Encoding = false;
+  return jsonCompressed;
+}
+function decodeRings(rings, encodeOffsets, encodeScale) {
+  for (var c2 = 0; c2 < rings.length; c2++) {
+    rings[c2] = decodeRing(rings[c2], encodeOffsets[c2], encodeScale);
+  }
+}
+function decodeRing(coordinate, encodeOffsets, encodeScale) {
+  var result2 = [];
+  var prevX = encodeOffsets[0];
+  var prevY = encodeOffsets[1];
+  for (var i2 = 0; i2 < coordinate.length; i2 += 2) {
+    var x2 = coordinate.charCodeAt(i2) - 64;
+    var y2 = coordinate.charCodeAt(i2 + 1) - 64;
+    x2 = x2 >> 1 ^ -(x2 & 1);
+    y2 = y2 >> 1 ^ -(y2 & 1);
+    x2 += prevX;
+    y2 += prevY;
+    prevX = x2;
+    prevY = y2;
+    result2.push([x2 / encodeScale, y2 / encodeScale]);
+  }
+  return result2;
+}
+function parseGeoJSON(geoJson, nameProperty) {
+  geoJson = decode(geoJson);
+  return map$1(filter(geoJson.features, function(featureObj) {
+    return featureObj.geometry && featureObj.properties && featureObj.geometry.coordinates.length > 0;
+  }), function(featureObj) {
+    var properties = featureObj.properties;
+    var geo2 = featureObj.geometry;
+    var geometries = [];
+    switch (geo2.type) {
+      case "Polygon":
+        var coordinates = geo2.coordinates;
+        geometries.push(new GeoJSONPolygonGeometry(coordinates[0], coordinates.slice(1)));
+        break;
+      case "MultiPolygon":
+        each$f(geo2.coordinates, function(item) {
+          if (item[0]) {
+            geometries.push(new GeoJSONPolygonGeometry(item[0], item.slice(1)));
+          }
+        });
+        break;
+      case "LineString":
+        geometries.push(new GeoJSONLineStringGeometry([geo2.coordinates]));
+        break;
+      case "MultiLineString":
+        geometries.push(new GeoJSONLineStringGeometry(geo2.coordinates));
+    }
+    var region = new GeoJSONRegion(properties[nameProperty || "name"], geometries, properties.cp);
+    region.properties = properties;
+    return region;
+  });
+}
+const number = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  MAX_SAFE_INTEGER,
+  asc: asc$2,
+  getPercentWithPrecision,
+  getPixelPrecision,
+  getPrecision,
+  getPrecisionSafe,
+  isNumeric,
+  isRadianAroundZero,
+  linearMap: linearMap$2,
+  nice,
+  numericToNumber,
+  parseDate,
+  quantile,
+  quantity,
+  quantityExponent,
+  reformIntervals,
+  remRadian,
+  round: round$3
+}, Symbol.toStringTag, { value: "Module" }));
+const time = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  format: format$1,
+  parse: parseDate
+}, Symbol.toStringTag, { value: "Module" }));
+const graphic = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  Arc: Arc$1,
+  BezierCurve: BezierCurve$1,
+  BoundingRect: BoundingRect$1,
+  Circle: Circle$1,
+  CompoundPath: CompoundPath$1,
+  Ellipse: Ellipse$1,
+  Group: Group$4,
+  Image: ZRImage$1,
+  IncrementalDisplayable: IncrementalDisplayable$1,
+  Line: Line$3,
+  LinearGradient: LinearGradient$1,
+  Polygon: Polygon$1,
+  Polyline: Polyline$3,
+  RadialGradient: RadialGradient$1,
+  Rect: Rect$3,
+  Ring: Ring$1,
+  Sector: Sector$1,
+  Text: ZRText$1,
+  clipPointsByRect,
+  clipRectByRect,
+  createIcon,
+  extendPath,
+  extendShape,
+  getShapeClass,
+  getTransform: getTransform$1,
+  initProps,
+  makeImage,
+  makePath,
+  mergePath,
+  registerShape,
+  resizePath,
+  updateProps: updateProps$1
+}, Symbol.toStringTag, { value: "Module" }));
+const format = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  addCommas,
+  capitalFirst,
+  encodeHTML,
+  formatTime,
+  formatTpl,
+  getTextRect,
+  getTooltipMarker,
+  normalizeCssArray,
+  toCamelCase: toCamelCase$1,
+  truncateText
+}, Symbol.toStringTag, { value: "Module" }));
+const util = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  bind: bind$2,
+  clone: clone$4,
+  curry: curry$1,
+  defaults: defaults$2,
+  each: each$f,
+  extend: extend$1,
+  filter,
+  indexOf,
+  inherits: inherits$1,
+  isArray: isArray$2,
+  isFunction: isFunction$1,
+  isObject: isObject$4,
+  isString: isString$1,
+  map: map$1,
+  merge: merge$1,
+  reduce
+}, Symbol.toStringTag, { value: "Module" }));
+var inner$g = makeInner();
+function createAxisLabels(axis2) {
+  return axis2.type === "category" ? makeCategoryLabels(axis2) : makeRealNumberLabels(axis2);
+}
+function createAxisTicks(axis2, tickModel) {
+  return axis2.type === "category" ? makeCategoryTicks(axis2, tickModel) : {
+    ticks: map$1(axis2.scale.getTicks(), function(tick) {
+      return tick.value;
+    })
+  };
+}
+function makeCategoryLabels(axis2) {
+  var labelModel = axis2.getLabelModel();
+  var result2 = makeCategoryLabelsActually(axis2, labelModel);
+  return !labelModel.get("show") || axis2.scale.isBlank() ? {
+    labels: [],
+    labelCategoryInterval: result2.labelCategoryInterval
+  } : result2;
+}
+function makeCategoryLabelsActually(axis2, labelModel) {
+  var labelsCache = getListCache(axis2, "labels");
+  var optionLabelInterval = getOptionCategoryInterval(labelModel);
+  var result2 = listCacheGet(labelsCache, optionLabelInterval);
+  if (result2) {
+    return result2;
+  }
+  var labels;
+  var numericLabelInterval;
+  if (isFunction$1(optionLabelInterval)) {
+    labels = makeLabelsByCustomizedCategoryInterval(axis2, optionLabelInterval);
+  } else {
+    numericLabelInterval = optionLabelInterval === "auto" ? makeAutoCategoryInterval(axis2) : optionLabelInterval;
+    labels = makeLabelsByNumericCategoryInterval(axis2, numericLabelInterval);
+  }
+  return listCacheSet(labelsCache, optionLabelInterval, {
+    labels,
+    labelCategoryInterval: numericLabelInterval
+  });
+}
+function makeCategoryTicks(axis2, tickModel) {
+  var ticksCache = getListCache(axis2, "ticks");
+  var optionTickInterval = getOptionCategoryInterval(tickModel);
+  var result2 = listCacheGet(ticksCache, optionTickInterval);
+  if (result2) {
+    return result2;
+  }
+  var ticks;
+  var tickCategoryInterval;
+  if (!tickModel.get("show") || axis2.scale.isBlank()) {
+    ticks = [];
+  }
+  if (isFunction$1(optionTickInterval)) {
+    ticks = makeLabelsByCustomizedCategoryInterval(axis2, optionTickInterval, true);
+  } else if (optionTickInterval === "auto") {
+    var labelsResult = makeCategoryLabelsActually(axis2, axis2.getLabelModel());
+    tickCategoryInterval = labelsResult.labelCategoryInterval;
+    ticks = map$1(labelsResult.labels, function(labelItem) {
+      return labelItem.tickValue;
+    });
+  } else {
+    tickCategoryInterval = optionTickInterval;
+    ticks = makeLabelsByNumericCategoryInterval(axis2, tickCategoryInterval, true);
+  }
+  return listCacheSet(ticksCache, optionTickInterval, {
+    ticks,
+    tickCategoryInterval
+  });
+}
+function makeRealNumberLabels(axis2) {
+  var ticks = axis2.scale.getTicks();
+  var labelFormatter = makeLabelFormatter(axis2);
+  return {
+    labels: map$1(ticks, function(tick, idx) {
+      return {
+        level: tick.level,
+        formattedLabel: labelFormatter(tick, idx),
+        rawLabel: axis2.scale.getLabel(tick),
+        tickValue: tick.value
+      };
+    })
+  };
+}
+function getListCache(axis2, prop2) {
+  return inner$g(axis2)[prop2] || (inner$g(axis2)[prop2] = []);
+}
+function listCacheGet(cache, key2) {
+  for (var i2 = 0; i2 < cache.length; i2++) {
+    if (cache[i2].key === key2) {
+      return cache[i2].value;
+    }
+  }
+}
+function listCacheSet(cache, key2, value) {
+  cache.push({
+    key: key2,
+    value
+  });
+  return value;
+}
+function makeAutoCategoryInterval(axis2) {
+  var result2 = inner$g(axis2).autoInterval;
+  return result2 != null ? result2 : inner$g(axis2).autoInterval = axis2.calculateCategoryInterval();
+}
+function calculateCategoryInterval(axis2) {
+  var params2 = fetchAutoCategoryIntervalCalculationParams(axis2);
+  var labelFormatter = makeLabelFormatter(axis2);
+  var rotation = (params2.axisRotate - params2.labelRotate) / 180 * Math.PI;
+  var ordinalScale = axis2.scale;
+  var ordinalExtent = ordinalScale.getExtent();
+  var tickCount = ordinalScale.count();
+  if (ordinalExtent[1] - ordinalExtent[0] < 1) {
+    return 0;
+  }
+  var step2 = 1;
+  if (tickCount > 40) {
+    step2 = Math.max(1, Math.floor(tickCount / 40));
+  }
+  var tickValue = ordinalExtent[0];
+  var unitSpan = axis2.dataToCoord(tickValue + 1) - axis2.dataToCoord(tickValue);
+  var unitW = Math.abs(unitSpan * Math.cos(rotation));
+  var unitH = Math.abs(unitSpan * Math.sin(rotation));
+  var maxW = 0;
+  var maxH = 0;
+  for (; tickValue <= ordinalExtent[1]; tickValue += step2) {
+    var width = 0;
+    var height = 0;
+    var rect = getBoundingRect(labelFormatter({
+      value: tickValue
+    }), params2.font, "center", "top");
+    width = rect.width * 1.3;
+    height = rect.height * 1.3;
+    maxW = Math.max(maxW, width, 7);
+    maxH = Math.max(maxH, height, 7);
+  }
+  var dw = maxW / unitW;
+  var dh = maxH / unitH;
+  isNaN(dw) && (dw = Infinity);
+  isNaN(dh) && (dh = Infinity);
+  var interval = Math.max(0, Math.floor(Math.min(dw, dh)));
+  var cache = inner$g(axis2.model);
+  var axisExtent = axis2.getExtent();
+  var lastAutoInterval = cache.lastAutoInterval;
+  var lastTickCount = cache.lastTickCount;
+  if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 && lastAutoInterval > interval && cache.axisExtent0 === axisExtent[0] && cache.axisExtent1 === axisExtent[1]) {
+    interval = lastAutoInterval;
+  } else {
+    cache.lastTickCount = tickCount;
+    cache.lastAutoInterval = interval;
+    cache.axisExtent0 = axisExtent[0];
+    cache.axisExtent1 = axisExtent[1];
+  }
+  return interval;
+}
+function fetchAutoCategoryIntervalCalculationParams(axis2) {
+  var labelModel = axis2.getLabelModel();
+  return {
+    axisRotate: axis2.getRotate ? axis2.getRotate() : axis2.isHorizontal && !axis2.isHorizontal() ? 90 : 0,
+    labelRotate: labelModel.get("rotate") || 0,
+    font: labelModel.getFont()
+  };
+}
+function makeLabelsByNumericCategoryInterval(axis2, categoryInterval, onlyTick) {
+  var labelFormatter = makeLabelFormatter(axis2);
+  var ordinalScale = axis2.scale;
+  var ordinalExtent = ordinalScale.getExtent();
+  var labelModel = axis2.getLabelModel();
+  var result2 = [];
+  var step2 = Math.max((categoryInterval || 0) + 1, 1);
+  var startTick = ordinalExtent[0];
+  var tickCount = ordinalScale.count();
+  if (startTick !== 0 && step2 > 1 && tickCount / step2 > 2) {
+    startTick = Math.round(Math.ceil(startTick / step2) * step2);
+  }
+  var showAllLabel = shouldShowAllLabels(axis2);
+  var includeMinLabel = labelModel.get("showMinLabel") || showAllLabel;
+  var includeMaxLabel = labelModel.get("showMaxLabel") || showAllLabel;
+  if (includeMinLabel && startTick !== ordinalExtent[0]) {
+    addItem(ordinalExtent[0]);
+  }
+  var tickValue = startTick;
+  for (; tickValue <= ordinalExtent[1]; tickValue += step2) {
+    addItem(tickValue);
+  }
+  if (includeMaxLabel && tickValue - step2 !== ordinalExtent[1]) {
+    addItem(ordinalExtent[1]);
+  }
+  function addItem(tickValue2) {
+    var tickObj = {
+      value: tickValue2
+    };
+    result2.push(onlyTick ? tickValue2 : {
+      formattedLabel: labelFormatter(tickObj),
+      rawLabel: ordinalScale.getLabel(tickObj),
+      tickValue: tickValue2
+    });
+  }
+  return result2;
+}
+function makeLabelsByCustomizedCategoryInterval(axis2, categoryInterval, onlyTick) {
+  var ordinalScale = axis2.scale;
+  var labelFormatter = makeLabelFormatter(axis2);
+  var result2 = [];
+  each$f(ordinalScale.getTicks(), function(tick) {
+    var rawLabel = ordinalScale.getLabel(tick);
+    var tickValue = tick.value;
+    if (categoryInterval(tick.value, rawLabel)) {
+      result2.push(onlyTick ? tickValue : {
+        formattedLabel: labelFormatter(tick),
+        rawLabel,
+        tickValue
+      });
+    }
+  });
+  return result2;
+}
+var NORMALIZED_EXTENT = [0, 1];
+var Axis = (
+  /** @class */
+  function() {
+    function Axis2(dim, scale2, extent3) {
+      this.onBand = false;
+      this.inverse = false;
+      this.dim = dim;
+      this.scale = scale2;
+      this._extent = extent3 || [0, 0];
+    }
+    Axis2.prototype.contain = function(coord) {
+      var extent3 = this._extent;
+      var min3 = Math.min(extent3[0], extent3[1]);
+      var max3 = Math.max(extent3[0], extent3[1]);
+      return coord >= min3 && coord <= max3;
+    };
+    Axis2.prototype.containData = function(data2) {
+      return this.scale.contain(data2);
+    };
+    Axis2.prototype.getExtent = function() {
+      return this._extent.slice();
+    };
+    Axis2.prototype.getPixelPrecision = function(dataExtent) {
+      return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);
+    };
+    Axis2.prototype.setExtent = function(start2, end2) {
+      var extent3 = this._extent;
+      extent3[0] = start2;
+      extent3[1] = end2;
+    };
+    Axis2.prototype.dataToCoord = function(data2, clamp2) {
+      var extent3 = this._extent;
+      var scale2 = this.scale;
+      data2 = scale2.normalize(data2);
+      if (this.onBand && scale2.type === "ordinal") {
+        extent3 = extent3.slice();
+        fixExtentWithBands(extent3, scale2.count());
+      }
+      return linearMap$2(data2, NORMALIZED_EXTENT, extent3, clamp2);
+    };
+    Axis2.prototype.coordToData = function(coord, clamp2) {
+      var extent3 = this._extent;
+      var scale2 = this.scale;
+      if (this.onBand && scale2.type === "ordinal") {
+        extent3 = extent3.slice();
+        fixExtentWithBands(extent3, scale2.count());
+      }
+      var t2 = linearMap$2(coord, extent3, NORMALIZED_EXTENT, clamp2);
+      return this.scale.scale(t2);
+    };
+    Axis2.prototype.pointToData = function(point, clamp2) {
+      return;
+    };
+    Axis2.prototype.getTicksCoords = function(opt) {
+      opt = opt || {};
+      var tickModel = opt.tickModel || this.getTickModel();
+      var result2 = createAxisTicks(this, tickModel);
+      var ticks = result2.ticks;
+      var ticksCoords = map$1(ticks, function(tickVal) {
+        return {
+          coord: this.dataToCoord(this.scale.type === "ordinal" ? this.scale.getRawOrdinalNumber(tickVal) : tickVal),
+          tickValue: tickVal
+        };
+      }, this);
+      var alignWithLabel = tickModel.get("alignWithLabel");
+      fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);
+      return ticksCoords;
+    };
+    Axis2.prototype.getMinorTicksCoords = function() {
+      if (this.scale.type === "ordinal") {
+        return [];
+      }
+      var minorTickModel = this.model.getModel("minorTick");
+      var splitNumber = minorTickModel.get("splitNumber");
+      if (!(splitNumber > 0 && splitNumber < 100)) {
+        splitNumber = 5;
+      }
+      var minorTicks = this.scale.getMinorTicks(splitNumber);
+      var minorTicksCoords = map$1(minorTicks, function(minorTicksGroup) {
+        return map$1(minorTicksGroup, function(minorTick) {
+          return {
+            coord: this.dataToCoord(minorTick),
+            tickValue: minorTick
+          };
+        }, this);
+      }, this);
+      return minorTicksCoords;
+    };
+    Axis2.prototype.getViewLabels = function() {
+      return createAxisLabels(this).labels;
+    };
+    Axis2.prototype.getLabelModel = function() {
+      return this.model.getModel("axisLabel");
+    };
+    Axis2.prototype.getTickModel = function() {
+      return this.model.getModel("axisTick");
+    };
+    Axis2.prototype.getBandWidth = function() {
+      var axisExtent = this._extent;
+      var dataExtent = this.scale.getExtent();
+      var len2 = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0);
+      len2 === 0 && (len2 = 1);
+      var size = Math.abs(axisExtent[1] - axisExtent[0]);
+      return Math.abs(size) / len2;
+    };
+    Axis2.prototype.calculateCategoryInterval = function() {
+      return calculateCategoryInterval(this);
+    };
+    return Axis2;
+  }()
+);
+function fixExtentWithBands(extent3, nTick) {
+  var size = extent3[1] - extent3[0];
+  var len2 = nTick;
+  var margin = size / len2 / 2;
+  extent3[0] += margin;
+  extent3[1] -= margin;
+}
+function fixOnBandTicksCoords(axis2, ticksCoords, alignWithLabel, clamp2) {
+  var ticksLen = ticksCoords.length;
+  if (!axis2.onBand || alignWithLabel || !ticksLen) {
+    return;
+  }
+  var axisExtent = axis2.getExtent();
+  var last;
+  var diffSize;
+  if (ticksLen === 1) {
+    ticksCoords[0].coord = axisExtent[0];
+    last = ticksCoords[1] = {
+      coord: axisExtent[1]
+    };
+  } else {
+    var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;
+    var shift_1 = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;
+    each$f(ticksCoords, function(ticksItem) {
+      ticksItem.coord -= shift_1 / 2;
+    });
+    var dataExtent = axis2.scale.getExtent();
+    diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;
+    last = {
+      coord: ticksCoords[ticksLen - 1].coord + shift_1 * diffSize
+    };
+    ticksCoords.push(last);
+  }
+  var inverse = axisExtent[0] > axisExtent[1];
+  if (littleThan2(ticksCoords[0].coord, axisExtent[0])) {
+    clamp2 ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();
+  }
+  if (clamp2 && littleThan2(axisExtent[0], ticksCoords[0].coord)) {
+    ticksCoords.unshift({
+      coord: axisExtent[0]
+    });
+  }
+  if (littleThan2(axisExtent[1], last.coord)) {
+    clamp2 ? last.coord = axisExtent[1] : ticksCoords.pop();
+  }
+  if (clamp2 && littleThan2(last.coord, axisExtent[1])) {
+    ticksCoords.push({
+      coord: axisExtent[1]
+    });
+  }
+  function littleThan2(a2, b2) {
+    a2 = round$3(a2);
+    b2 = round$3(b2);
+    return inverse ? a2 > b2 : a2 < b2;
+  }
+}
+const Axis$1 = Axis;
+function extendComponentModel(proto2) {
+  var Model2 = ComponentModel$1.extend(proto2);
+  ComponentModel$1.registerClass(Model2);
+  return Model2;
+}
+function extendComponentView(proto2) {
+  var View2 = ComponentView$1.extend(proto2);
+  ComponentView$1.registerClass(View2);
+  return View2;
+}
+function extendSeriesModel(proto2) {
+  var Model2 = SeriesModel$1.extend(proto2);
+  SeriesModel$1.registerClass(Model2);
+  return Model2;
+}
+function extendChartView(proto2) {
+  var View2 = ChartView$1.extend(proto2);
+  ChartView$1.registerClass(View2);
+  return View2;
+}
+var PI2$2 = Math.PI * 2;
+var CMD$1 = PathProxy$1.CMD;
+var DEFAULT_SEARCH_SPACE = ["top", "right", "bottom", "left"];
+function getCandidateAnchor(pos, distance2, rect, outPt, outDir) {
+  var width = rect.width;
+  var height = rect.height;
+  switch (pos) {
+    case "top":
+      outPt.set(rect.x + width / 2, rect.y - distance2);
+      outDir.set(0, -1);
+      break;
+    case "bottom":
+      outPt.set(rect.x + width / 2, rect.y + height + distance2);
+      outDir.set(0, 1);
+      break;
+    case "left":
+      outPt.set(rect.x - distance2, rect.y + height / 2);
+      outDir.set(-1, 0);
+      break;
+    case "right":
+      outPt.set(rect.x + width + distance2, rect.y + height / 2);
+      outDir.set(1, 0);
+      break;
+  }
+}
+function projectPointToArc(cx, cy, r2, startAngle, endAngle, anticlockwise, x2, y2, out2) {
+  x2 -= cx;
+  y2 -= cy;
+  var d2 = Math.sqrt(x2 * x2 + y2 * y2);
+  x2 /= d2;
+  y2 /= d2;
+  var ox = x2 * r2 + cx;
+  var oy = y2 * r2 + cy;
+  if (Math.abs(startAngle - endAngle) % PI2$2 < 1e-4) {
+    out2[0] = ox;
+    out2[1] = oy;
+    return d2 - r2;
+  }
+  if (anticlockwise) {
+    var tmp = startAngle;
+    startAngle = normalizeRadian(endAngle);
+    endAngle = normalizeRadian(tmp);
+  } else {
+    startAngle = normalizeRadian(startAngle);
+    endAngle = normalizeRadian(endAngle);
+  }
+  if (startAngle > endAngle) {
+    endAngle += PI2$2;
+  }
+  var angle = Math.atan2(y2, x2);
+  if (angle < 0) {
+    angle += PI2$2;
+  }
+  if (angle >= startAngle && angle <= endAngle || angle + PI2$2 >= startAngle && angle + PI2$2 <= endAngle) {
+    out2[0] = ox;
+    out2[1] = oy;
+    return d2 - r2;
+  }
+  var x1 = r2 * Math.cos(startAngle) + cx;
+  var y1 = r2 * Math.sin(startAngle) + cy;
+  var x22 = r2 * Math.cos(endAngle) + cx;
+  var y22 = r2 * Math.sin(endAngle) + cy;
+  var d1 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
+  var d22 = (x22 - x2) * (x22 - x2) + (y22 - y2) * (y22 - y2);
+  if (d1 < d22) {
+    out2[0] = x1;
+    out2[1] = y1;
+    return Math.sqrt(d1);
+  } else {
+    out2[0] = x22;
+    out2[1] = y22;
+    return Math.sqrt(d22);
+  }
+}
+function projectPointToLine(x1, y1, x2, y2, x3, y3, out2, limitToEnds) {
+  var dx = x3 - x1;
+  var dy = y3 - y1;
+  var dx1 = x2 - x1;
+  var dy1 = y2 - y1;
+  var lineLen = Math.sqrt(dx1 * dx1 + dy1 * dy1);
+  dx1 /= lineLen;
+  dy1 /= lineLen;
+  var projectedLen = dx * dx1 + dy * dy1;
+  var t2 = projectedLen / lineLen;
+  if (limitToEnds) {
+    t2 = Math.min(Math.max(t2, 0), 1);
+  }
+  t2 *= lineLen;
+  var ox = out2[0] = x1 + t2 * dx1;
+  var oy = out2[1] = y1 + t2 * dy1;
+  return Math.sqrt((ox - x3) * (ox - x3) + (oy - y3) * (oy - y3));
+}
+function projectPointToRect(x1, y1, width, height, x2, y2, out2) {
+  if (width < 0) {
+    x1 = x1 + width;
+    width = -width;
+  }
+  if (height < 0) {
+    y1 = y1 + height;
+    height = -height;
+  }
+  var x22 = x1 + width;
+  var y22 = y1 + height;
+  var ox = out2[0] = Math.min(Math.max(x2, x1), x22);
+  var oy = out2[1] = Math.min(Math.max(y2, y1), y22);
+  return Math.sqrt((ox - x2) * (ox - x2) + (oy - y2) * (oy - y2));
+}
+var tmpPt = [];
+function nearestPointOnRect(pt, rect, out2) {
+  var dist2 = projectPointToRect(rect.x, rect.y, rect.width, rect.height, pt.x, pt.y, tmpPt);
+  out2.set(tmpPt[0], tmpPt[1]);
+  return dist2;
+}
+function nearestPointOnPath(pt, path2, out2) {
+  var xi = 0;
+  var yi = 0;
+  var x0 = 0;
+  var y0 = 0;
+  var x1;
+  var y1;
+  var minDist = Infinity;
+  var data2 = path2.data;
+  var x2 = pt.x;
+  var y2 = pt.y;
+  for (var i2 = 0; i2 < data2.length; ) {
+    var cmd = data2[i2++];
+    if (i2 === 1) {
+      xi = data2[i2];
+      yi = data2[i2 + 1];
+      x0 = xi;
+      y0 = yi;
+    }
+    var d2 = minDist;
+    switch (cmd) {
+      case CMD$1.M:
+        x0 = data2[i2++];
+        y0 = data2[i2++];
+        xi = x0;
+        yi = y0;
+        break;
+      case CMD$1.L:
+        d2 = projectPointToLine(xi, yi, data2[i2], data2[i2 + 1], x2, y2, tmpPt, true);
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$1.C:
+        d2 = cubicProjectPoint(xi, yi, data2[i2++], data2[i2++], data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], x2, y2, tmpPt);
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$1.Q:
+        d2 = quadraticProjectPoint(xi, yi, data2[i2++], data2[i2++], data2[i2], data2[i2 + 1], x2, y2, tmpPt);
+        xi = data2[i2++];
+        yi = data2[i2++];
+        break;
+      case CMD$1.A:
+        var cx = data2[i2++];
+        var cy = data2[i2++];
+        var rx = data2[i2++];
+        var ry = data2[i2++];
+        var theta = data2[i2++];
+        var dTheta = data2[i2++];
+        i2 += 1;
+        var anticlockwise = !!(1 - data2[i2++]);
+        x1 = Math.cos(theta) * rx + cx;
+        y1 = Math.sin(theta) * ry + cy;
+        if (i2 <= 1) {
+          x0 = x1;
+          y0 = y1;
+        }
+        var _x = (x2 - cx) * ry / rx + cx;
+        d2 = projectPointToArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y2, tmpPt);
+        xi = Math.cos(theta + dTheta) * rx + cx;
+        yi = Math.sin(theta + dTheta) * ry + cy;
+        break;
+      case CMD$1.R:
+        x0 = xi = data2[i2++];
+        y0 = yi = data2[i2++];
+        var width = data2[i2++];
+        var height = data2[i2++];
+        d2 = projectPointToRect(x0, y0, width, height, x2, y2, tmpPt);
+        break;
+      case CMD$1.Z:
+        d2 = projectPointToLine(xi, yi, x0, y0, x2, y2, tmpPt, true);
+        xi = x0;
+        yi = y0;
+        break;
+    }
+    if (d2 < minDist) {
+      minDist = d2;
+      out2.set(tmpPt[0], tmpPt[1]);
+    }
+  }
+  return minDist;
+}
+var pt0 = new Point$1();
+var pt1 = new Point$1();
+var pt2 = new Point$1();
+var dir = new Point$1();
+var dir2 = new Point$1();
+function updateLabelLinePoints(target, labelLineModel) {
+  if (!target) {
+    return;
+  }
+  var labelLine = target.getTextGuideLine();
+  var label = target.getTextContent();
+  if (!(label && labelLine)) {
+    return;
+  }
+  var labelGuideConfig = target.textGuideLineConfig || {};
+  var points2 = [[0, 0], [0, 0], [0, 0]];
+  var searchSpace = labelGuideConfig.candidates || DEFAULT_SEARCH_SPACE;
+  var labelRect = label.getBoundingRect().clone();
+  labelRect.applyTransform(label.getComputedTransform());
+  var minDist = Infinity;
+  var anchorPoint = labelGuideConfig.anchor;
+  var targetTransform = target.getComputedTransform();
+  var targetInversedTransform = targetTransform && invert([], targetTransform);
+  var len2 = labelLineModel.get("length2") || 0;
+  if (anchorPoint) {
+    pt2.copy(anchorPoint);
+  }
+  for (var i2 = 0; i2 < searchSpace.length; i2++) {
+    var candidate = searchSpace[i2];
+    getCandidateAnchor(candidate, 0, labelRect, pt0, dir);
+    Point$1.scaleAndAdd(pt1, pt0, dir, len2);
+    pt1.transform(targetInversedTransform);
+    var boundingRect = target.getBoundingRect();
+    var dist2 = anchorPoint ? anchorPoint.distance(pt1) : target instanceof Path$1 ? nearestPointOnPath(pt1, target.path, pt2) : nearestPointOnRect(pt1, boundingRect, pt2);
+    if (dist2 < minDist) {
+      minDist = dist2;
+      pt1.transform(targetTransform);
+      pt2.transform(targetTransform);
+      pt2.toArray(points2[0]);
+      pt1.toArray(points2[1]);
+      pt0.toArray(points2[2]);
+    }
+  }
+  limitTurnAngle(points2, labelLineModel.get("minTurnAngle"));
+  labelLine.setShape({
+    points: points2
+  });
+}
+var tmpArr = [];
+var tmpProjPoint = new Point$1();
+function limitTurnAngle(linePoints, minTurnAngle) {
+  if (!(minTurnAngle <= 180 && minTurnAngle > 0)) {
+    return;
+  }
+  minTurnAngle = minTurnAngle / 180 * Math.PI;
+  pt0.fromArray(linePoints[0]);
+  pt1.fromArray(linePoints[1]);
+  pt2.fromArray(linePoints[2]);
+  Point$1.sub(dir, pt0, pt1);
+  Point$1.sub(dir2, pt2, pt1);
+  var len1 = dir.len();
+  var len2 = dir2.len();
+  if (len1 < 1e-3 || len2 < 1e-3) {
+    return;
+  }
+  dir.scale(1 / len1);
+  dir2.scale(1 / len2);
+  var angleCos = dir.dot(dir2);
+  var minTurnAngleCos = Math.cos(minTurnAngle);
+  if (minTurnAngleCos < angleCos) {
+    var d2 = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
+    tmpProjPoint.fromArray(tmpArr);
+    tmpProjPoint.scaleAndAdd(dir2, d2 / Math.tan(Math.PI - minTurnAngle));
+    var t2 = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
+    if (isNaN(t2)) {
+      return;
+    }
+    if (t2 < 0) {
+      Point$1.copy(tmpProjPoint, pt1);
+    } else if (t2 > 1) {
+      Point$1.copy(tmpProjPoint, pt2);
+    }
+    tmpProjPoint.toArray(linePoints[1]);
+  }
+}
+function limitSurfaceAngle(linePoints, surfaceNormal, maxSurfaceAngle) {
+  if (!(maxSurfaceAngle <= 180 && maxSurfaceAngle > 0)) {
+    return;
+  }
+  maxSurfaceAngle = maxSurfaceAngle / 180 * Math.PI;
+  pt0.fromArray(linePoints[0]);
+  pt1.fromArray(linePoints[1]);
+  pt2.fromArray(linePoints[2]);
+  Point$1.sub(dir, pt1, pt0);
+  Point$1.sub(dir2, pt2, pt1);
+  var len1 = dir.len();
+  var len2 = dir2.len();
+  if (len1 < 1e-3 || len2 < 1e-3) {
+    return;
+  }
+  dir.scale(1 / len1);
+  dir2.scale(1 / len2);
+  var angleCos = dir.dot(surfaceNormal);
+  var maxSurfaceAngleCos = Math.cos(maxSurfaceAngle);
+  if (angleCos < maxSurfaceAngleCos) {
+    var d2 = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
+    tmpProjPoint.fromArray(tmpArr);
+    var HALF_PI = Math.PI / 2;
+    var angle2 = Math.acos(dir2.dot(surfaceNormal));
+    var newAngle = HALF_PI + angle2 - maxSurfaceAngle;
+    if (newAngle >= HALF_PI) {
+      Point$1.copy(tmpProjPoint, pt2);
+    } else {
+      tmpProjPoint.scaleAndAdd(dir2, d2 / Math.tan(Math.PI / 2 - newAngle));
+      var t2 = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
+      if (isNaN(t2)) {
+        return;
+      }
+      if (t2 < 0) {
+        Point$1.copy(tmpProjPoint, pt1);
+      } else if (t2 > 1) {
+        Point$1.copy(tmpProjPoint, pt2);
+      }
+    }
+    tmpProjPoint.toArray(linePoints[1]);
+  }
+}
+function setLabelLineState(labelLine, ignore, stateName, stateModel) {
+  var isNormal = stateName === "normal";
+  var stateObj = isNormal ? labelLine : labelLine.ensureState(stateName);
+  stateObj.ignore = ignore;
+  var smooth = stateModel.get("smooth");
+  if (smooth && smooth === true) {
+    smooth = 0.3;
+  }
+  stateObj.shape = stateObj.shape || {};
+  if (smooth > 0) {
+    stateObj.shape.smooth = smooth;
+  }
+  var styleObj = stateModel.getModel("lineStyle").getLineStyle();
+  isNormal ? labelLine.useStyle(styleObj) : stateObj.style = styleObj;
+}
+function buildLabelLinePath(path2, shape) {
+  var smooth = shape.smooth;
+  var points2 = shape.points;
+  if (!points2) {
+    return;
+  }
+  path2.moveTo(points2[0][0], points2[0][1]);
+  if (smooth > 0 && points2.length >= 3) {
+    var len1 = dist$1(points2[0], points2[1]);
+    var len2 = dist$1(points2[1], points2[2]);
+    if (!len1 || !len2) {
+      path2.lineTo(points2[1][0], points2[1][1]);
+      path2.lineTo(points2[2][0], points2[2][1]);
+      return;
+    }
+    var moveLen = Math.min(len1, len2) * smooth;
+    var midPoint0 = lerp$1([], points2[1], points2[0], moveLen / len1);
+    var midPoint2 = lerp$1([], points2[1], points2[2], moveLen / len2);
+    var midPoint1 = lerp$1([], midPoint0, midPoint2, 0.5);
+    path2.bezierCurveTo(midPoint0[0], midPoint0[1], midPoint0[0], midPoint0[1], midPoint1[0], midPoint1[1]);
+    path2.bezierCurveTo(midPoint2[0], midPoint2[1], midPoint2[0], midPoint2[1], points2[2][0], points2[2][1]);
+  } else {
+    for (var i2 = 1; i2 < points2.length; i2++) {
+      path2.lineTo(points2[i2][0], points2[i2][1]);
+    }
+  }
+}
+function setLabelLineStyle(targetEl, statesModels, defaultStyle) {
+  var labelLine = targetEl.getTextGuideLine();
+  var label = targetEl.getTextContent();
+  if (!label) {
+    if (labelLine) {
+      targetEl.removeTextGuideLine();
+    }
+    return;
+  }
+  var normalModel = statesModels.normal;
+  var showNormal = normalModel.get("show");
+  var labelIgnoreNormal = label.ignore;
+  for (var i2 = 0; i2 < DISPLAY_STATES.length; i2++) {
+    var stateName = DISPLAY_STATES[i2];
+    var stateModel = statesModels[stateName];
+    var isNormal = stateName === "normal";
+    if (stateModel) {
+      var stateShow = stateModel.get("show");
+      var isLabelIgnored = isNormal ? labelIgnoreNormal : retrieve2(label.states[stateName] && label.states[stateName].ignore, labelIgnoreNormal);
+      if (isLabelIgnored || !retrieve2(stateShow, showNormal)) {
+        var stateObj = isNormal ? labelLine : labelLine && labelLine.states[stateName];
+        if (stateObj) {
+          stateObj.ignore = true;
+        }
+        continue;
+      }
+      if (!labelLine) {
+        labelLine = new Polyline$3();
+        targetEl.setTextGuideLine(labelLine);
+        if (!isNormal && (labelIgnoreNormal || !showNormal)) {
+          setLabelLineState(labelLine, true, "normal", statesModels.normal);
+        }
+        if (targetEl.stateProxy) {
+          labelLine.stateProxy = targetEl.stateProxy;
+        }
+      }
+      setLabelLineState(labelLine, false, stateName, stateModel);
+    }
+  }
+  if (labelLine) {
+    defaults$2(labelLine.style, defaultStyle);
+    labelLine.style.fill = null;
+    var showAbove = normalModel.get("showAbove");
+    var labelLineConfig = targetEl.textGuideLineConfig = targetEl.textGuideLineConfig || {};
+    labelLineConfig.showAbove = showAbove || false;
+    labelLine.buildPath = buildLabelLinePath;
+  }
+}
+function getLabelLineStatesModels(itemModel, labelLineName) {
+  labelLineName = labelLineName || "labelLine";
+  var statesModels = {
+    normal: itemModel.getModel(labelLineName)
+  };
+  for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+    var stateName = SPECIAL_STATES[i2];
+    statesModels[stateName] = itemModel.getModel([stateName, labelLineName]);
+  }
+  return statesModels;
+}
+function prepareLayoutList(input) {
+  var list2 = [];
+  for (var i2 = 0; i2 < input.length; i2++) {
+    var rawItem = input[i2];
+    if (rawItem.defaultAttr.ignore) {
+      continue;
+    }
+    var label = rawItem.label;
+    var transform3 = label.getComputedTransform();
+    var localRect = label.getBoundingRect();
+    var isAxisAligned = !transform3 || transform3[1] < 1e-5 && transform3[2] < 1e-5;
+    var minMargin = label.style.margin || 0;
+    var globalRect = localRect.clone();
+    globalRect.applyTransform(transform3);
+    globalRect.x -= minMargin / 2;
+    globalRect.y -= minMargin / 2;
+    globalRect.width += minMargin;
+    globalRect.height += minMargin;
+    var obb = isAxisAligned ? new OrientedBoundingRect$1(localRect, transform3) : null;
+    list2.push({
+      label,
+      labelLine: rawItem.labelLine,
+      rect: globalRect,
+      localRect,
+      obb,
+      priority: rawItem.priority,
+      defaultAttr: rawItem.defaultAttr,
+      layoutOption: rawItem.computedLayoutOption,
+      axisAligned: isAxisAligned,
+      transform: transform3
+    });
+  }
+  return list2;
+}
+function shiftLayout(list2, xyDim, sizeDim, minBound, maxBound, balanceShift) {
+  var len2 = list2.length;
+  if (len2 < 2) {
+    return;
+  }
+  list2.sort(function(a2, b2) {
+    return a2.rect[xyDim] - b2.rect[xyDim];
+  });
+  var lastPos = 0;
+  var delta;
+  var adjusted = false;
+  var totalShifts = 0;
+  for (var i2 = 0; i2 < len2; i2++) {
+    var item = list2[i2];
+    var rect = item.rect;
+    delta = rect[xyDim] - lastPos;
+    if (delta < 0) {
+      rect[xyDim] -= delta;
+      item.label[xyDim] -= delta;
+      adjusted = true;
+    }
+    var shift = Math.max(-delta, 0);
+    totalShifts += shift;
+    lastPos = rect[xyDim] + rect[sizeDim];
+  }
+  if (totalShifts > 0 && balanceShift) {
+    shiftList(-totalShifts / len2, 0, len2);
+  }
+  var first = list2[0];
+  var last = list2[len2 - 1];
+  var minGap;
+  var maxGap;
+  updateMinMaxGap();
+  minGap < 0 && squeezeGaps(-minGap, 0.8);
+  maxGap < 0 && squeezeGaps(maxGap, 0.8);
+  updateMinMaxGap();
+  takeBoundsGap(minGap, maxGap, 1);
+  takeBoundsGap(maxGap, minGap, -1);
+  updateMinMaxGap();
+  if (minGap < 0) {
+    squeezeWhenBailout(-minGap);
+  }
+  if (maxGap < 0) {
+    squeezeWhenBailout(maxGap);
+  }
+  function updateMinMaxGap() {
+    minGap = first.rect[xyDim] - minBound;
+    maxGap = maxBound - last.rect[xyDim] - last.rect[sizeDim];
+  }
+  function takeBoundsGap(gapThisBound, gapOtherBound, moveDir) {
+    if (gapThisBound < 0) {
+      var moveFromMaxGap = Math.min(gapOtherBound, -gapThisBound);
+      if (moveFromMaxGap > 0) {
+        shiftList(moveFromMaxGap * moveDir, 0, len2);
+        var remained = moveFromMaxGap + gapThisBound;
+        if (remained < 0) {
+          squeezeGaps(-remained * moveDir, 1);
+        }
+      } else {
+        squeezeGaps(-gapThisBound * moveDir, 1);
+      }
+    }
+  }
+  function shiftList(delta2, start2, end2) {
+    if (delta2 !== 0) {
+      adjusted = true;
+    }
+    for (var i3 = start2; i3 < end2; i3++) {
+      var item2 = list2[i3];
+      var rect2 = item2.rect;
+      rect2[xyDim] += delta2;
+      item2.label[xyDim] += delta2;
+    }
+  }
+  function squeezeGaps(delta2, maxSqeezePercent) {
+    var gaps = [];
+    var totalGaps = 0;
+    for (var i3 = 1; i3 < len2; i3++) {
+      var prevItemRect = list2[i3 - 1].rect;
+      var gap = Math.max(list2[i3].rect[xyDim] - prevItemRect[xyDim] - prevItemRect[sizeDim], 0);
+      gaps.push(gap);
+      totalGaps += gap;
+    }
+    if (!totalGaps) {
+      return;
+    }
+    var squeezePercent = Math.min(Math.abs(delta2) / totalGaps, maxSqeezePercent);
+    if (delta2 > 0) {
+      for (var i3 = 0; i3 < len2 - 1; i3++) {
+        var movement = gaps[i3] * squeezePercent;
+        shiftList(movement, 0, i3 + 1);
+      }
+    } else {
+      for (var i3 = len2 - 1; i3 > 0; i3--) {
+        var movement = gaps[i3 - 1] * squeezePercent;
+        shiftList(-movement, i3, len2);
+      }
+    }
+  }
+  function squeezeWhenBailout(delta2) {
+    var dir3 = delta2 < 0 ? -1 : 1;
+    delta2 = Math.abs(delta2);
+    var moveForEachLabel = Math.ceil(delta2 / (len2 - 1));
+    for (var i3 = 0; i3 < len2 - 1; i3++) {
+      if (dir3 > 0) {
+        shiftList(moveForEachLabel, 0, i3 + 1);
+      } else {
+        shiftList(-moveForEachLabel, len2 - i3 - 1, len2);
+      }
+      delta2 -= moveForEachLabel;
+      if (delta2 <= 0) {
+        return;
+      }
+    }
+  }
+  return adjusted;
+}
+function shiftLayoutOnX(list2, leftBound, rightBound, balanceShift) {
+  return shiftLayout(list2, "x", "width", leftBound, rightBound, balanceShift);
+}
+function shiftLayoutOnY(list2, topBound, bottomBound, balanceShift) {
+  return shiftLayout(list2, "y", "height", topBound, bottomBound, balanceShift);
+}
+function hideOverlap(labelList) {
+  var displayedLabels = [];
+  labelList.sort(function(a2, b2) {
+    return b2.priority - a2.priority;
+  });
+  var globalRect = new BoundingRect$1(0, 0, 0, 0);
+  function hideEl(el) {
+    if (!el.ignore) {
+      var emphasisState = el.ensureState("emphasis");
+      if (emphasisState.ignore == null) {
+        emphasisState.ignore = false;
+      }
+    }
+    el.ignore = true;
+  }
+  for (var i2 = 0; i2 < labelList.length; i2++) {
+    var labelItem = labelList[i2];
+    var isAxisAligned = labelItem.axisAligned;
+    var localRect = labelItem.localRect;
+    var transform3 = labelItem.transform;
+    var label = labelItem.label;
+    var labelLine = labelItem.labelLine;
+    globalRect.copy(labelItem.rect);
+    globalRect.width -= 0.1;
+    globalRect.height -= 0.1;
+    globalRect.x += 0.05;
+    globalRect.y += 0.05;
+    var obb = labelItem.obb;
+    var overlapped = false;
+    for (var j2 = 0; j2 < displayedLabels.length; j2++) {
+      var existsTextCfg = displayedLabels[j2];
+      if (!globalRect.intersect(existsTextCfg.rect)) {
+        continue;
+      }
+      if (isAxisAligned && existsTextCfg.axisAligned) {
+        overlapped = true;
+        break;
+      }
+      if (!existsTextCfg.obb) {
+        existsTextCfg.obb = new OrientedBoundingRect$1(existsTextCfg.localRect, existsTextCfg.transform);
+      }
+      if (!obb) {
+        obb = new OrientedBoundingRect$1(localRect, transform3);
+      }
+      if (obb.intersect(existsTextCfg.obb)) {
+        overlapped = true;
+        break;
+      }
+    }
+    if (overlapped) {
+      hideEl(label);
+      labelLine && hideEl(labelLine);
+    } else {
+      label.attr("ignore", labelItem.defaultAttr.ignore);
+      labelLine && labelLine.attr("ignore", labelItem.defaultAttr.labelGuideIgnore);
+      displayedLabels.push(labelItem);
+    }
+  }
+}
+function cloneArr(points2) {
+  if (points2) {
+    var newPoints = [];
+    for (var i2 = 0; i2 < points2.length; i2++) {
+      newPoints.push(points2[i2].slice());
+    }
+    return newPoints;
+  }
+}
+function prepareLayoutCallbackParams(labelItem, hostEl) {
+  var label = labelItem.label;
+  var labelLine = hostEl && hostEl.getTextGuideLine();
+  return {
+    dataIndex: labelItem.dataIndex,
+    dataType: labelItem.dataType,
+    seriesIndex: labelItem.seriesModel.seriesIndex,
+    text: labelItem.label.style.text,
+    rect: labelItem.hostRect,
+    labelRect: labelItem.rect,
+    // x: labelAttr.x,
+    // y: labelAttr.y,
+    align: label.style.align,
+    verticalAlign: label.style.verticalAlign,
+    labelLinePoints: cloneArr(labelLine && labelLine.shape.points)
+  };
+}
+var LABEL_OPTION_TO_STYLE_KEYS = ["align", "verticalAlign", "width", "height", "fontSize"];
+var dummyTransformable = new Transformable$1();
+var labelLayoutInnerStore = makeInner();
+var labelLineAnimationStore = makeInner();
+function extendWithKeys(target, source2, keys2) {
+  for (var i2 = 0; i2 < keys2.length; i2++) {
+    var key2 = keys2[i2];
+    if (source2[key2] != null) {
+      target[key2] = source2[key2];
+    }
+  }
+}
+var LABEL_LAYOUT_PROPS = ["x", "y", "rotation"];
+var LabelManager = (
+  /** @class */
+  function() {
+    function LabelManager2() {
+      this._labelList = [];
+      this._chartViewList = [];
+    }
+    LabelManager2.prototype.clearLabels = function() {
+      this._labelList = [];
+      this._chartViewList = [];
+    };
+    LabelManager2.prototype._addLabel = function(dataIndex, dataType, seriesModel, label, layoutOption) {
+      var labelStyle = label.style;
+      var hostEl = label.__hostTarget;
+      var textConfig = hostEl.textConfig || {};
+      var labelTransform = label.getComputedTransform();
+      var labelRect = label.getBoundingRect().plain();
+      BoundingRect$1.applyTransform(labelRect, labelRect, labelTransform);
+      if (labelTransform) {
+        dummyTransformable.setLocalTransform(labelTransform);
+      } else {
+        dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;
+        dummyTransformable.scaleX = dummyTransformable.scaleY = 1;
+      }
+      dummyTransformable.rotation = normalizeRadian(dummyTransformable.rotation);
+      var host = label.__hostTarget;
+      var hostRect;
+      if (host) {
+        hostRect = host.getBoundingRect().plain();
+        var transform3 = host.getComputedTransform();
+        BoundingRect$1.applyTransform(hostRect, hostRect, transform3);
+      }
+      var labelGuide = hostRect && host.getTextGuideLine();
+      this._labelList.push({
+        label,
+        labelLine: labelGuide,
+        seriesModel,
+        dataIndex,
+        dataType,
+        layoutOption,
+        computedLayoutOption: null,
+        rect: labelRect,
+        hostRect,
+        // Label with lower priority will be hidden when overlapped
+        // Use rect size as default priority
+        priority: hostRect ? hostRect.width * hostRect.height : 0,
+        // Save default label attributes.
+        // For restore if developers want get back to default value in callback.
+        defaultAttr: {
+          ignore: label.ignore,
+          labelGuideIgnore: labelGuide && labelGuide.ignore,
+          x: dummyTransformable.x,
+          y: dummyTransformable.y,
+          scaleX: dummyTransformable.scaleX,
+          scaleY: dummyTransformable.scaleY,
+          rotation: dummyTransformable.rotation,
+          style: {
+            x: labelStyle.x,
+            y: labelStyle.y,
+            align: labelStyle.align,
+            verticalAlign: labelStyle.verticalAlign,
+            width: labelStyle.width,
+            height: labelStyle.height,
+            fontSize: labelStyle.fontSize
+          },
+          cursor: label.cursor,
+          attachedPos: textConfig.position,
+          attachedRot: textConfig.rotation
+        }
+      });
+    };
+    LabelManager2.prototype.addLabelsOfSeries = function(chartView) {
+      var _this = this;
+      this._chartViewList.push(chartView);
+      var seriesModel = chartView.__model;
+      var layoutOption = seriesModel.get("labelLayout");
+      if (!(isFunction$1(layoutOption) || keys(layoutOption).length)) {
+        return;
+      }
+      chartView.group.traverse(function(child) {
+        if (child.ignore) {
+          return true;
+        }
+        var textEl = child.getTextContent();
+        var ecData = getECData(child);
+        if (textEl && !textEl.disableLabelLayout) {
+          _this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);
+        }
+      });
+    };
+    LabelManager2.prototype.updateLayoutConfig = function(api2) {
+      var width = api2.getWidth();
+      var height = api2.getHeight();
+      function createDragHandler(el, labelLineModel) {
+        return function() {
+          updateLabelLinePoints(el, labelLineModel);
+        };
+      }
+      for (var i2 = 0; i2 < this._labelList.length; i2++) {
+        var labelItem = this._labelList[i2];
+        var label = labelItem.label;
+        var hostEl = label.__hostTarget;
+        var defaultLabelAttr = labelItem.defaultAttr;
+        var layoutOption = void 0;
+        if (isFunction$1(labelItem.layoutOption)) {
+          layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));
+        } else {
+          layoutOption = labelItem.layoutOption;
+        }
+        layoutOption = layoutOption || {};
+        labelItem.computedLayoutOption = layoutOption;
+        var degreeToRadian = Math.PI / 180;
+        if (hostEl) {
+          hostEl.setTextConfig({
+            // Force to set local false.
+            local: false,
+            // Ignore position and rotation config on the host el if x or y is changed.
+            position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,
+            // Ignore rotation config on the host el if rotation is changed.
+            rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,
+            offset: [layoutOption.dx || 0, layoutOption.dy || 0]
+          });
+        }
+        var needsUpdateLabelLine = false;
+        if (layoutOption.x != null) {
+          label.x = parsePercent(layoutOption.x, width);
+          label.setStyle("x", 0);
+          needsUpdateLabelLine = true;
+        } else {
+          label.x = defaultLabelAttr.x;
+          label.setStyle("x", defaultLabelAttr.style.x);
+        }
+        if (layoutOption.y != null) {
+          label.y = parsePercent(layoutOption.y, height);
+          label.setStyle("y", 0);
+          needsUpdateLabelLine = true;
+        } else {
+          label.y = defaultLabelAttr.y;
+          label.setStyle("y", defaultLabelAttr.style.y);
+        }
+        if (layoutOption.labelLinePoints) {
+          var guideLine = hostEl.getTextGuideLine();
+          if (guideLine) {
+            guideLine.setShape({
+              points: layoutOption.labelLinePoints
+            });
+            needsUpdateLabelLine = false;
+          }
+        }
+        var labelLayoutStore = labelLayoutInnerStore(label);
+        labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;
+        label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;
+        label.scaleX = defaultLabelAttr.scaleX;
+        label.scaleY = defaultLabelAttr.scaleY;
+        for (var k2 = 0; k2 < LABEL_OPTION_TO_STYLE_KEYS.length; k2++) {
+          var key2 = LABEL_OPTION_TO_STYLE_KEYS[k2];
+          label.setStyle(key2, layoutOption[key2] != null ? layoutOption[key2] : defaultLabelAttr.style[key2]);
+        }
+        if (layoutOption.draggable) {
+          label.draggable = true;
+          label.cursor = "move";
+          if (hostEl) {
+            var hostModel = labelItem.seriesModel;
+            if (labelItem.dataIndex != null) {
+              var data2 = labelItem.seriesModel.getData(labelItem.dataType);
+              hostModel = data2.getItemModel(labelItem.dataIndex);
+            }
+            label.on("drag", createDragHandler(hostEl, hostModel.getModel("labelLine")));
+          }
+        } else {
+          label.off("drag");
+          label.cursor = defaultLabelAttr.cursor;
+        }
+      }
+    };
+    LabelManager2.prototype.layout = function(api2) {
+      var width = api2.getWidth();
+      var height = api2.getHeight();
+      var labelList = prepareLayoutList(this._labelList);
+      var labelsNeedsAdjustOnX = filter(labelList, function(item) {
+        return item.layoutOption.moveOverlap === "shiftX";
+      });
+      var labelsNeedsAdjustOnY = filter(labelList, function(item) {
+        return item.layoutOption.moveOverlap === "shiftY";
+      });
+      shiftLayoutOnX(labelsNeedsAdjustOnX, 0, width);
+      shiftLayoutOnY(labelsNeedsAdjustOnY, 0, height);
+      var labelsNeedsHideOverlap = filter(labelList, function(item) {
+        return item.layoutOption.hideOverlap;
+      });
+      hideOverlap(labelsNeedsHideOverlap);
+    };
+    LabelManager2.prototype.processLabelsOverall = function() {
+      var _this = this;
+      each$f(this._chartViewList, function(chartView) {
+        var seriesModel = chartView.__model;
+        var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;
+        var animationEnabled = seriesModel.isAnimationEnabled();
+        chartView.group.traverse(function(child) {
+          if (child.ignore && !child.forceLabelAnimation) {
+            return true;
+          }
+          var needsUpdateLabelLine = !ignoreLabelLineUpdate;
+          var label = child.getTextContent();
+          if (!needsUpdateLabelLine && label) {
+            needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;
+          }
+          if (needsUpdateLabelLine) {
+            _this._updateLabelLine(child, seriesModel);
+          }
+          if (animationEnabled) {
+            _this._animateLabels(child, seriesModel);
+          }
+        });
+      });
+    };
+    LabelManager2.prototype._updateLabelLine = function(el, seriesModel) {
+      var textEl = el.getTextContent();
+      var ecData = getECData(el);
+      var dataIndex = ecData.dataIndex;
+      if (textEl && dataIndex != null) {
+        var data2 = seriesModel.getData(ecData.dataType);
+        var itemModel = data2.getItemModel(dataIndex);
+        var defaultStyle = {};
+        var visualStyle = data2.getItemVisual(dataIndex, "style");
+        if (visualStyle) {
+          var visualType = data2.getVisual("drawType");
+          defaultStyle.stroke = visualStyle[visualType];
+        }
+        var labelLineModel = itemModel.getModel("labelLine");
+        setLabelLineStyle(el, getLabelLineStatesModels(itemModel), defaultStyle);
+        updateLabelLinePoints(el, labelLineModel);
+      }
+    };
+    LabelManager2.prototype._animateLabels = function(el, seriesModel) {
+      var textEl = el.getTextContent();
+      var guideLine = el.getTextGuideLine();
+      if (textEl && (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !isElementRemoved(el))) {
+        var layoutStore = labelLayoutInnerStore(textEl);
+        var oldLayout = layoutStore.oldLayout;
+        var ecData = getECData(el);
+        var dataIndex = ecData.dataIndex;
+        var newProps = {
+          x: textEl.x,
+          y: textEl.y,
+          rotation: textEl.rotation
+        };
+        var data2 = seriesModel.getData(ecData.dataType);
+        if (!oldLayout) {
+          textEl.attr(newProps);
+          if (!labelInner(textEl).valueAnimation) {
+            var oldOpacity = retrieve2(textEl.style.opacity, 1);
+            textEl.style.opacity = 0;
+            initProps(textEl, {
+              style: {
+                opacity: oldOpacity
+              }
+            }, seriesModel, dataIndex);
+          }
+        } else {
+          textEl.attr(oldLayout);
+          var prevStates = el.prevStates;
+          if (prevStates) {
+            if (indexOf(prevStates, "select") >= 0) {
+              textEl.attr(layoutStore.oldLayoutSelect);
+            }
+            if (indexOf(prevStates, "emphasis") >= 0) {
+              textEl.attr(layoutStore.oldLayoutEmphasis);
+            }
+          }
+          updateProps$1(textEl, newProps, seriesModel, dataIndex);
+        }
+        layoutStore.oldLayout = newProps;
+        if (textEl.states.select) {
+          var layoutSelect = layoutStore.oldLayoutSelect = {};
+          extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);
+          extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);
+        }
+        if (textEl.states.emphasis) {
+          var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};
+          extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);
+          extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);
+        }
+        animateLabelValue(textEl, dataIndex, data2, seriesModel, seriesModel);
+      }
+      if (guideLine && !guideLine.ignore && !guideLine.invisible) {
+        var layoutStore = labelLineAnimationStore(guideLine);
+        var oldLayout = layoutStore.oldLayout;
+        var newLayout = {
+          points: guideLine.shape.points
+        };
+        if (!oldLayout) {
+          guideLine.setShape(newLayout);
+          guideLine.style.strokePercent = 0;
+          initProps(guideLine, {
+            style: {
+              strokePercent: 1
+            }
+          }, seriesModel);
+        } else {
+          guideLine.attr({
+            shape: oldLayout
+          });
+          updateProps$1(guideLine, {
+            shape: newLayout
+          }, seriesModel);
+        }
+        layoutStore.oldLayout = newLayout;
+      }
+    };
+    return LabelManager2;
+  }()
+);
+const LabelManager$1 = LabelManager;
+var getLabelManager = makeInner();
+function installLabelLayout(registers) {
+  registers.registerUpdateLifecycle("series:beforeupdate", function(ecModel, api2, params2) {
+    var labelManager = getLabelManager(api2).labelManager;
+    if (!labelManager) {
+      labelManager = getLabelManager(api2).labelManager = new LabelManager$1();
+    }
+    labelManager.clearLabels();
+  });
+  registers.registerUpdateLifecycle("series:layoutlabels", function(ecModel, api2, params2) {
+    var labelManager = getLabelManager(api2).labelManager;
+    params2.updatedSeries.forEach(function(series) {
+      labelManager.addLabelsOfSeries(api2.getViewOfSeriesModel(series));
+    });
+    labelManager.updateLayoutConfig(api2);
+    labelManager.layout(api2);
+    labelManager.processLabelsOverall();
+  });
+}
+var mathSin = Math.sin;
+var mathCos = Math.cos;
+var PI$4 = Math.PI;
+var PI2$1 = Math.PI * 2;
+var degree = 180 / PI$4;
+var SVGPathRebuilder = function() {
+  function SVGPathRebuilder2() {
+  }
+  SVGPathRebuilder2.prototype.reset = function(precision) {
+    this._start = true;
+    this._d = [];
+    this._str = "";
+    this._p = Math.pow(10, precision || 4);
+  };
+  SVGPathRebuilder2.prototype.moveTo = function(x2, y2) {
+    this._add("M", x2, y2);
+  };
+  SVGPathRebuilder2.prototype.lineTo = function(x2, y2) {
+    this._add("L", x2, y2);
+  };
+  SVGPathRebuilder2.prototype.bezierCurveTo = function(x2, y2, x22, y22, x3, y3) {
+    this._add("C", x2, y2, x22, y22, x3, y3);
+  };
+  SVGPathRebuilder2.prototype.quadraticCurveTo = function(x2, y2, x22, y22) {
+    this._add("Q", x2, y2, x22, y22);
+  };
+  SVGPathRebuilder2.prototype.arc = function(cx, cy, r2, startAngle, endAngle, anticlockwise) {
+    this.ellipse(cx, cy, r2, r2, 0, startAngle, endAngle, anticlockwise);
+  };
+  SVGPathRebuilder2.prototype.ellipse = function(cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise) {
+    var dTheta = endAngle - startAngle;
+    var clockwise = !anticlockwise;
+    var dThetaPositive = Math.abs(dTheta);
+    var isCircle = isAroundZero(dThetaPositive - PI2$1) || (clockwise ? dTheta >= PI2$1 : -dTheta >= PI2$1);
+    var unifiedTheta = dTheta > 0 ? dTheta % PI2$1 : dTheta % PI2$1 + PI2$1;
+    var large = false;
+    if (isCircle) {
+      large = true;
+    } else if (isAroundZero(dThetaPositive)) {
+      large = false;
+    } else {
+      large = unifiedTheta >= PI$4 === !!clockwise;
+    }
+    var x0 = cx + rx * mathCos(startAngle);
+    var y0 = cy + ry * mathSin(startAngle);
+    if (this._start) {
+      this._add("M", x0, y0);
+    }
+    var xRot = Math.round(psi * degree);
+    if (isCircle) {
+      var p2 = 1 / this._p;
+      var dTheta_1 = (clockwise ? 1 : -1) * (PI2$1 - p2);
+      this._add("A", rx, ry, xRot, 1, +clockwise, cx + rx * mathCos(startAngle + dTheta_1), cy + ry * mathSin(startAngle + dTheta_1));
+      if (p2 > 0.01) {
+        this._add("A", rx, ry, xRot, 0, +clockwise, x0, y0);
+      }
+    } else {
+      var x2 = cx + rx * mathCos(endAngle);
+      var y2 = cy + ry * mathSin(endAngle);
+      this._add("A", rx, ry, xRot, +large, +clockwise, x2, y2);
+    }
+  };
+  SVGPathRebuilder2.prototype.rect = function(x2, y2, w2, h3) {
+    this._add("M", x2, y2);
+    this._add("l", w2, 0);
+    this._add("l", 0, h3);
+    this._add("l", -w2, 0);
+    this._add("Z");
+  };
+  SVGPathRebuilder2.prototype.closePath = function() {
+    if (this._d.length > 0) {
+      this._add("Z");
+    }
+  };
+  SVGPathRebuilder2.prototype._add = function(cmd, a2, b2, c2, d2, e2, f2, g2, h3) {
+    var vals = [];
+    var p2 = this._p;
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var val = arguments[i2];
+      if (isNaN(val)) {
+        this._invalid = true;
+        return;
+      }
+      vals.push(Math.round(val * p2) / p2);
+    }
+    this._d.push(cmd + vals.join(" "));
+    this._start = cmd === "Z";
+  };
+  SVGPathRebuilder2.prototype.generateStr = function() {
+    this._str = this._invalid ? "" : this._d.join("");
+    this._d = [];
+  };
+  SVGPathRebuilder2.prototype.getStr = function() {
+    return this._str;
+  };
+  return SVGPathRebuilder2;
+}();
+const SVGPathRebuilder$1 = SVGPathRebuilder;
+var NONE = "none";
+var mathRound = Math.round;
+function pathHasFill(style2) {
+  var fill = style2.fill;
+  return fill != null && fill !== NONE;
+}
+function pathHasStroke(style2) {
+  var stroke = style2.stroke;
+  return stroke != null && stroke !== NONE;
+}
+var strokeProps = ["lineCap", "miterLimit", "lineJoin"];
+var svgStrokeProps = map$1(strokeProps, function(prop2) {
+  return "stroke-" + prop2.toLowerCase();
+});
+function mapStyleToAttrs(updateAttr2, style2, el, forceUpdate) {
+  var opacity = style2.opacity == null ? 1 : style2.opacity;
+  if (el instanceof ZRImage$1) {
+    updateAttr2("opacity", opacity);
+    return;
+  }
+  if (pathHasFill(style2)) {
+    var fill = normalizeColor(style2.fill);
+    updateAttr2("fill", fill.color);
+    var fillOpacity = style2.fillOpacity != null ? style2.fillOpacity * fill.opacity * opacity : fill.opacity * opacity;
+    if (forceUpdate || fillOpacity < 1) {
+      updateAttr2("fill-opacity", fillOpacity);
+    }
+  } else {
+    updateAttr2("fill", NONE);
+  }
+  if (pathHasStroke(style2)) {
+    var stroke = normalizeColor(style2.stroke);
+    updateAttr2("stroke", stroke.color);
+    var strokeScale = style2.strokeNoScale ? el.getLineScale() : 1;
+    var strokeWidth = strokeScale ? (style2.lineWidth || 0) / strokeScale : 0;
+    var strokeOpacity = style2.strokeOpacity != null ? style2.strokeOpacity * stroke.opacity * opacity : stroke.opacity * opacity;
+    var strokeFirst = style2.strokeFirst;
+    if (forceUpdate || strokeWidth !== 1) {
+      updateAttr2("stroke-width", strokeWidth);
+    }
+    if (forceUpdate || strokeFirst) {
+      updateAttr2("paint-order", strokeFirst ? "stroke" : "fill");
+    }
+    if (forceUpdate || strokeOpacity < 1) {
+      updateAttr2("stroke-opacity", strokeOpacity);
+    }
+    if (style2.lineDash) {
+      var _a2 = getLineDash(el), lineDash = _a2[0], lineDashOffset = _a2[1];
+      if (lineDash) {
+        lineDashOffset = mathRound(lineDashOffset || 0);
+        updateAttr2("stroke-dasharray", lineDash.join(","));
+        if (lineDashOffset || forceUpdate) {
+          updateAttr2("stroke-dashoffset", lineDashOffset);
+        }
+      }
+    } else if (forceUpdate) {
+      updateAttr2("stroke-dasharray", NONE);
+    }
+    for (var i2 = 0; i2 < strokeProps.length; i2++) {
+      var propName = strokeProps[i2];
+      if (forceUpdate || style2[propName] !== DEFAULT_PATH_STYLE[propName]) {
+        var val = style2[propName] || DEFAULT_PATH_STYLE[propName];
+        val && updateAttr2(svgStrokeProps[i2], val);
+      }
+    }
+  } else if (forceUpdate) {
+    updateAttr2("stroke", NONE);
+  }
+}
+var SVGNS = "http://www.w3.org/2000/svg";
+var XLINKNS = "http://www.w3.org/1999/xlink";
+var XMLNS = "http://www.w3.org/2000/xmlns/";
+var XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace";
+function createElement(name2) {
+  return document.createElementNS(SVGNS, name2);
+}
+function createVNode(tag, key2, attrs, children3, text2) {
+  return {
+    tag,
+    attrs: attrs || {},
+    children: children3,
+    text: text2,
+    key: key2
+  };
+}
+function createElementOpen(name2, attrs) {
+  var attrsStr = [];
+  if (attrs) {
+    for (var key2 in attrs) {
+      var val = attrs[key2];
+      var part = key2;
+      if (val === false) {
+        continue;
+      } else if (val !== true && val != null) {
+        part += '="' + val + '"';
+      }
+      attrsStr.push(part);
+    }
+  }
+  return "<" + name2 + " " + attrsStr.join(" ") + ">";
+}
+function createElementClose(name2) {
+  return "</" + name2 + ">";
+}
+function vNodeToString(el, opts2) {
+  opts2 = opts2 || {};
+  var S2 = opts2.newline ? "\n" : "";
+  function convertElToString(el2) {
+    var children3 = el2.children, tag = el2.tag, attrs = el2.attrs, text2 = el2.text;
+    return createElementOpen(tag, attrs) + (tag !== "style" ? encodeHTML(text2) : text2 || "") + (children3 ? "" + S2 + map$1(children3, function(child) {
+      return convertElToString(child);
+    }).join(S2) + S2 : "") + createElementClose(tag);
+  }
+  return convertElToString(el);
+}
+function getCssString(selectorNodes, animationNodes, opts2) {
+  opts2 = opts2 || {};
+  var S2 = opts2.newline ? "\n" : "";
+  var bracketBegin = " {" + S2;
+  var bracketEnd = S2 + "}";
+  var selectors = map$1(keys(selectorNodes), function(className) {
+    return className + bracketBegin + map$1(keys(selectorNodes[className]), function(attrName) {
+      return attrName + ":" + selectorNodes[className][attrName] + ";";
+    }).join(S2) + bracketEnd;
+  }).join(S2);
+  var animations = map$1(keys(animationNodes), function(animationName) {
+    return "@keyframes " + animationName + bracketBegin + map$1(keys(animationNodes[animationName]), function(percent) {
+      return percent + bracketBegin + map$1(keys(animationNodes[animationName][percent]), function(attrName) {
+        var val = animationNodes[animationName][percent][attrName];
+        if (attrName === "d") {
+          val = 'path("' + val + '")';
+        }
+        return attrName + ":" + val + ";";
+      }).join(S2) + bracketEnd;
+    }).join(S2) + bracketEnd;
+  }).join(S2);
+  if (!selectors && !animations) {
+    return "";
+  }
+  return ["<![CDATA[", selectors, animations, "]]>"].join(S2);
+}
+function createBrushScope(zrId) {
+  return {
+    zrId,
+    shadowCache: {},
+    patternCache: {},
+    gradientCache: {},
+    clipPathCache: {},
+    defs: {},
+    cssNodes: {},
+    cssAnims: {},
+    cssClassIdx: 0,
+    cssAnimIdx: 0,
+    shadowIdx: 0,
+    gradientIdx: 0,
+    patternIdx: 0,
+    clipPathIdx: 0
+  };
+}
+function createSVGVNode(width, height, children3, useViewBox) {
+  return createVNode("svg", "root", {
+    "width": width,
+    "height": height,
+    "xmlns": SVGNS,
+    "xmlns:xlink": XLINKNS,
+    "version": "1.1",
+    "baseProfile": "full",
+    "viewBox": useViewBox ? "0 0 " + width + " " + height : false
+  }, children3);
+}
+var EASING_MAP = {
+  cubicIn: "0.32,0,0.67,0",
+  cubicOut: "0.33,1,0.68,1",
+  cubicInOut: "0.65,0,0.35,1",
+  quadraticIn: "0.11,0,0.5,0",
+  quadraticOut: "0.5,1,0.89,1",
+  quadraticInOut: "0.45,0,0.55,1",
+  quarticIn: "0.5,0,0.75,0",
+  quarticOut: "0.25,1,0.5,1",
+  quarticInOut: "0.76,0,0.24,1",
+  quinticIn: "0.64,0,0.78,0",
+  quinticOut: "0.22,1,0.36,1",
+  quinticInOut: "0.83,0,0.17,1",
+  sinusoidalIn: "0.12,0,0.39,0",
+  sinusoidalOut: "0.61,1,0.88,1",
+  sinusoidalInOut: "0.37,0,0.63,1",
+  exponentialIn: "0.7,0,0.84,0",
+  exponentialOut: "0.16,1,0.3,1",
+  exponentialInOut: "0.87,0,0.13,1",
+  circularIn: "0.55,0,1,0.45",
+  circularOut: "0,0.55,0.45,1",
+  circularInOut: "0.85,0,0.15,1"
+};
+var transformOriginKey = "transform-origin";
+function buildPathString(el, kfShape, path2) {
+  var shape = extend$1({}, el.shape);
+  extend$1(shape, kfShape);
+  el.buildPath(path2, shape);
+  var svgPathBuilder = new SVGPathRebuilder$1();
+  svgPathBuilder.reset(getPathPrecision(el));
+  path2.rebuildPath(svgPathBuilder, 1);
+  svgPathBuilder.generateStr();
+  return svgPathBuilder.getStr();
+}
+function setTransformOrigin(target, transform3) {
+  var originX = transform3.originX, originY = transform3.originY;
+  if (originX || originY) {
+    target[transformOriginKey] = originX + "px " + originY + "px";
+  }
+}
+var ANIMATE_STYLE_MAP = {
+  fill: "fill",
+  opacity: "opacity",
+  lineWidth: "stroke-width",
+  lineDashOffset: "stroke-dashoffset"
+};
+function addAnimation(cssAnim, scope) {
+  var animationName = scope.zrId + "-ani-" + scope.cssAnimIdx++;
+  scope.cssAnims[animationName] = cssAnim;
+  return animationName;
+}
+function createCompoundPathCSSAnimation(el, attrs, scope) {
+  var paths = el.shape.paths;
+  var composedAnim = {};
+  var cssAnimationCfg;
+  var cssAnimationName;
+  each$f(paths, function(path2) {
+    var subScope = createBrushScope(scope.zrId);
+    subScope.animation = true;
+    createCSSAnimation(path2, {}, subScope, true);
+    var cssAnims = subScope.cssAnims;
+    var cssNodes = subScope.cssNodes;
+    var animNames = keys(cssAnims);
+    var len2 = animNames.length;
+    if (!len2) {
+      return;
+    }
+    cssAnimationName = animNames[len2 - 1];
+    var lastAnim = cssAnims[cssAnimationName];
+    for (var percent in lastAnim) {
+      var kf = lastAnim[percent];
+      composedAnim[percent] = composedAnim[percent] || { d: "" };
+      composedAnim[percent].d += kf.d || "";
+    }
+    for (var className in cssNodes) {
+      var val = cssNodes[className].animation;
+      if (val.indexOf(cssAnimationName) >= 0) {
+        cssAnimationCfg = val;
+      }
+    }
+  });
+  if (!cssAnimationCfg) {
+    return;
+  }
+  attrs.d = false;
+  var animationName = addAnimation(composedAnim, scope);
+  return cssAnimationCfg.replace(cssAnimationName, animationName);
+}
+function getEasingFunc(easing2) {
+  return isString$1(easing2) ? EASING_MAP[easing2] ? "cubic-bezier(" + EASING_MAP[easing2] + ")" : createCubicEasingFunc(easing2) ? easing2 : "" : "";
+}
+function createCSSAnimation(el, attrs, scope, onlyShape) {
+  var animators = el.animators;
+  var len2 = animators.length;
+  var cssAnimations = [];
+  if (el instanceof CompoundPath$1) {
+    var animationCfg = createCompoundPathCSSAnimation(el, attrs, scope);
+    if (animationCfg) {
+      cssAnimations.push(animationCfg);
+    } else if (!len2) {
+      return;
+    }
+  } else if (!len2) {
+    return;
+  }
+  var groupAnimators = {};
+  for (var i2 = 0; i2 < len2; i2++) {
+    var animator = animators[i2];
+    var cfgArr = [animator.getMaxTime() / 1e3 + "s"];
+    var easing2 = getEasingFunc(animator.getClip().easing);
+    var delay = animator.getDelay();
+    if (easing2) {
+      cfgArr.push(easing2);
+    } else {
+      cfgArr.push("linear");
+    }
+    if (delay) {
+      cfgArr.push(delay / 1e3 + "s");
+    }
+    if (animator.getLoop()) {
+      cfgArr.push("infinite");
+    }
+    var cfg = cfgArr.join(" ");
+    groupAnimators[cfg] = groupAnimators[cfg] || [cfg, []];
+    groupAnimators[cfg][1].push(animator);
+  }
+  function createSingleCSSAnimation(groupAnimator) {
+    var animators2 = groupAnimator[1];
+    var len3 = animators2.length;
+    var transformKfs = {};
+    var shapeKfs = {};
+    var finalKfs = {};
+    var animationTimingFunctionAttrName = "animation-timing-function";
+    function saveAnimatorTrackToCssKfs(animator3, cssKfs, toCssAttrName) {
+      var tracks = animator3.getTracks();
+      var maxTime = animator3.getMaxTime();
+      for (var k2 = 0; k2 < tracks.length; k2++) {
+        var track = tracks[k2];
+        if (track.needsAnimate()) {
+          var kfs = track.keyframes;
+          var attrName = track.propName;
+          toCssAttrName && (attrName = toCssAttrName(attrName));
+          if (attrName) {
+            for (var i4 = 0; i4 < kfs.length; i4++) {
+              var kf = kfs[i4];
+              var percent2 = Math.round(kf.time / maxTime * 100) + "%";
+              var kfEasing = getEasingFunc(kf.easing);
+              var rawValue = kf.rawValue;
+              if (isString$1(rawValue) || isNumber$1(rawValue)) {
+                cssKfs[percent2] = cssKfs[percent2] || {};
+                cssKfs[percent2][attrName] = kf.rawValue;
+                if (kfEasing) {
+                  cssKfs[percent2][animationTimingFunctionAttrName] = kfEasing;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    for (var i3 = 0; i3 < len3; i3++) {
+      var animator2 = animators2[i3];
+      var targetProp = animator2.targetName;
+      if (!targetProp) {
+        !onlyShape && saveAnimatorTrackToCssKfs(animator2, transformKfs);
+      } else if (targetProp === "shape") {
+        saveAnimatorTrackToCssKfs(animator2, shapeKfs);
+      }
+    }
+    for (var percent in transformKfs) {
+      var transform3 = {};
+      copyTransform(transform3, el);
+      extend$1(transform3, transformKfs[percent]);
+      var str = getSRTTransformString(transform3);
+      var timingFunction = transformKfs[percent][animationTimingFunctionAttrName];
+      finalKfs[percent] = str ? {
+        transform: str
+      } : {};
+      setTransformOrigin(finalKfs[percent], transform3);
+      if (timingFunction) {
+        finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;
+      }
+    }
+    var path2;
+    var canAnimateShape = true;
+    for (var percent in shapeKfs) {
+      finalKfs[percent] = finalKfs[percent] || {};
+      var isFirst = !path2;
+      var timingFunction = shapeKfs[percent][animationTimingFunctionAttrName];
+      if (isFirst) {
+        path2 = new PathProxy$1();
+      }
+      var len_1 = path2.len();
+      path2.reset();
+      finalKfs[percent].d = buildPathString(el, shapeKfs[percent], path2);
+      var newLen = path2.len();
+      if (!isFirst && len_1 !== newLen) {
+        canAnimateShape = false;
+        break;
+      }
+      if (timingFunction) {
+        finalKfs[percent][animationTimingFunctionAttrName] = timingFunction;
+      }
+    }
+    if (!canAnimateShape) {
+      for (var percent in finalKfs) {
+        delete finalKfs[percent].d;
+      }
+    }
+    if (!onlyShape) {
+      for (var i3 = 0; i3 < len3; i3++) {
+        var animator2 = animators2[i3];
+        var targetProp = animator2.targetName;
+        if (targetProp === "style") {
+          saveAnimatorTrackToCssKfs(animator2, finalKfs, function(propName) {
+            return ANIMATE_STYLE_MAP[propName];
+          });
+        }
+      }
+    }
+    var percents = keys(finalKfs);
+    var allTransformOriginSame = true;
+    var transformOrigin;
+    for (var i3 = 1; i3 < percents.length; i3++) {
+      var p0 = percents[i3 - 1];
+      var p1 = percents[i3];
+      if (finalKfs[p0][transformOriginKey] !== finalKfs[p1][transformOriginKey]) {
+        allTransformOriginSame = false;
+        break;
+      }
+      transformOrigin = finalKfs[p0][transformOriginKey];
+    }
+    if (allTransformOriginSame && transformOrigin) {
+      for (var percent in finalKfs) {
+        if (finalKfs[percent][transformOriginKey]) {
+          delete finalKfs[percent][transformOriginKey];
+        }
+      }
+      attrs[transformOriginKey] = transformOrigin;
+    }
+    if (filter(percents, function(percent2) {
+      return keys(finalKfs[percent2]).length > 0;
+    }).length) {
+      var animationName = addAnimation(finalKfs, scope);
+      return animationName + " " + groupAnimator[0] + " both";
+    }
+  }
+  for (var key2 in groupAnimators) {
+    var animationCfg = createSingleCSSAnimation(groupAnimators[key2]);
+    if (animationCfg) {
+      cssAnimations.push(animationCfg);
+    }
+  }
+  if (cssAnimations.length) {
+    var className = scope.zrId + "-cls-" + scope.cssClassIdx++;
+    scope.cssNodes["." + className] = {
+      animation: cssAnimations.join(",")
+    };
+    attrs["class"] = className;
+  }
+}
+var round$1 = Math.round;
+function isImageLike(val) {
+  return val && isString$1(val.src);
+}
+function isCanvasLike(val) {
+  return val && isFunction$1(val.toDataURL);
+}
+function setStyleAttrs(attrs, style2, el, scope) {
+  mapStyleToAttrs(function(key2, val) {
+    var isFillStroke = key2 === "fill" || key2 === "stroke";
+    if (isFillStroke && isGradient(val)) {
+      setGradient(style2, attrs, key2, scope);
+    } else if (isFillStroke && isPattern(val)) {
+      setPattern(el, attrs, key2, scope);
+    } else {
+      attrs[key2] = val;
+    }
+  }, style2, el, false);
+  setShadow(el, attrs, scope);
+}
+function noRotateScale(m2) {
+  return isAroundZero(m2[0] - 1) && isAroundZero(m2[1]) && isAroundZero(m2[2]) && isAroundZero(m2[3] - 1);
+}
+function noTranslate(m2) {
+  return isAroundZero(m2[4]) && isAroundZero(m2[5]);
+}
+function setTransform(attrs, m2, compress) {
+  if (m2 && !(noTranslate(m2) && noRotateScale(m2))) {
+    var mul2 = compress ? 10 : 1e4;
+    attrs.transform = noRotateScale(m2) ? "translate(" + round$1(m2[4] * mul2) / mul2 + " " + round$1(m2[5] * mul2) / mul2 + ")" : getMatrixStr(m2);
+  }
+}
+function convertPolyShape(shape, attrs, mul2) {
+  var points2 = shape.points;
+  var strArr = [];
+  for (var i2 = 0; i2 < points2.length; i2++) {
+    strArr.push(round$1(points2[i2][0] * mul2) / mul2);
+    strArr.push(round$1(points2[i2][1] * mul2) / mul2);
+  }
+  attrs.points = strArr.join(" ");
+}
+function validatePolyShape(shape) {
+  return !shape.smooth;
+}
+function createAttrsConvert(desc) {
+  var normalizedDesc = map$1(desc, function(item) {
+    return typeof item === "string" ? [item, item] : item;
+  });
+  return function(shape, attrs, mul2) {
+    for (var i2 = 0; i2 < normalizedDesc.length; i2++) {
+      var item = normalizedDesc[i2];
+      var val = shape[item[0]];
+      if (val != null) {
+        attrs[item[1]] = round$1(val * mul2) / mul2;
+      }
+    }
+  };
+}
+var builtinShapesDef = {
+  circle: [createAttrsConvert(["cx", "cy", "r"])],
+  polyline: [convertPolyShape, validatePolyShape],
+  polygon: [convertPolyShape, validatePolyShape]
+};
+function hasShapeAnimation(el) {
+  var animators = el.animators;
+  for (var i2 = 0; i2 < animators.length; i2++) {
+    if (animators[i2].targetName === "shape") {
+      return true;
+    }
+  }
+  return false;
+}
+function brushSVGPath(el, scope) {
+  var style2 = el.style;
+  var shape = el.shape;
+  var builtinShpDef = builtinShapesDef[el.type];
+  var attrs = {};
+  var needsAnimate = scope.animation;
+  var svgElType = "path";
+  var strokePercent = el.style.strokePercent;
+  var precision = scope.compress && getPathPrecision(el) || 4;
+  if (builtinShpDef && !scope.willUpdate && !(builtinShpDef[1] && !builtinShpDef[1](shape)) && !(needsAnimate && hasShapeAnimation(el)) && !(strokePercent < 1)) {
+    svgElType = el.type;
+    var mul2 = Math.pow(10, precision);
+    builtinShpDef[0](shape, attrs, mul2);
+  } else {
+    var needBuildPath = !el.path || el.shapeChanged();
+    if (!el.path) {
+      el.createPathProxy();
+    }
+    var path2 = el.path;
+    if (needBuildPath) {
+      path2.beginPath();
+      el.buildPath(path2, el.shape);
+      el.pathUpdated();
+    }
+    var pathVersion = path2.getVersion();
+    var elExt = el;
+    var svgPathBuilder = elExt.__svgPathBuilder;
+    if (elExt.__svgPathVersion !== pathVersion || !svgPathBuilder || strokePercent !== elExt.__svgPathStrokePercent) {
+      if (!svgPathBuilder) {
+        svgPathBuilder = elExt.__svgPathBuilder = new SVGPathRebuilder$1();
+      }
+      svgPathBuilder.reset(precision);
+      path2.rebuildPath(svgPathBuilder, strokePercent);
+      svgPathBuilder.generateStr();
+      elExt.__svgPathVersion = pathVersion;
+      elExt.__svgPathStrokePercent = strokePercent;
+    }
+    attrs.d = svgPathBuilder.getStr();
+  }
+  setTransform(attrs, el.transform);
+  setStyleAttrs(attrs, style2, el, scope);
+  scope.animation && createCSSAnimation(el, attrs, scope);
+  return createVNode(svgElType, el.id + "", attrs);
+}
+function brushSVGImage(el, scope) {
+  var style2 = el.style;
+  var image2 = style2.image;
+  if (image2 && !isString$1(image2)) {
+    if (isImageLike(image2)) {
+      image2 = image2.src;
+    } else if (isCanvasLike(image2)) {
+      image2 = image2.toDataURL();
+    }
+  }
+  if (!image2) {
+    return;
+  }
+  var x2 = style2.x || 0;
+  var y2 = style2.y || 0;
+  var dw = style2.width;
+  var dh = style2.height;
+  var attrs = {
+    href: image2,
+    width: dw,
+    height: dh
+  };
+  if (x2) {
+    attrs.x = x2;
+  }
+  if (y2) {
+    attrs.y = y2;
+  }
+  setTransform(attrs, el.transform);
+  setStyleAttrs(attrs, style2, el, scope);
+  scope.animation && createCSSAnimation(el, attrs, scope);
+  return createVNode("image", el.id + "", attrs);
+}
+function brushSVGTSpan(el, scope) {
+  var style2 = el.style;
+  var text2 = style2.text;
+  text2 != null && (text2 += "");
+  if (!text2 || isNaN(style2.x) || isNaN(style2.y)) {
+    return;
+  }
+  var font = style2.font || DEFAULT_FONT;
+  var x2 = style2.x || 0;
+  var y2 = adjustTextY$1(style2.y || 0, getLineHeight(font), style2.textBaseline);
+  var textAlign = TEXT_ALIGN_TO_ANCHOR[style2.textAlign] || style2.textAlign;
+  var attrs = {
+    "dominant-baseline": "central",
+    "text-anchor": textAlign
+  };
+  if (hasSeparateFont(style2)) {
+    var separatedFontStr = "";
+    var fontStyle = style2.fontStyle;
+    var fontSize = parseFontSize(style2.fontSize);
+    if (!parseFloat(fontSize)) {
+      return;
+    }
+    var fontFamily = style2.fontFamily || DEFAULT_FONT_FAMILY;
+    var fontWeight = style2.fontWeight;
+    separatedFontStr += "font-size:" + fontSize + ";font-family:" + fontFamily + ";";
+    if (fontStyle && fontStyle !== "normal") {
+      separatedFontStr += "font-style:" + fontStyle + ";";
+    }
+    if (fontWeight && fontWeight !== "normal") {
+      separatedFontStr += "font-weight:" + fontWeight + ";";
+    }
+    attrs.style = separatedFontStr;
+  } else {
+    attrs.style = "font: " + font;
+  }
+  if (text2.match(/\s/)) {
+    attrs["xml:space"] = "preserve";
+  }
+  if (x2) {
+    attrs.x = x2;
+  }
+  if (y2) {
+    attrs.y = y2;
+  }
+  setTransform(attrs, el.transform);
+  setStyleAttrs(attrs, style2, el, scope);
+  scope.animation && createCSSAnimation(el, attrs, scope);
+  return createVNode("text", el.id + "", attrs, void 0, text2);
+}
+function brush(el, scope) {
+  if (el instanceof Path$1) {
+    return brushSVGPath(el, scope);
+  } else if (el instanceof ZRImage$1) {
+    return brushSVGImage(el, scope);
+  } else if (el instanceof TSpan$1) {
+    return brushSVGTSpan(el, scope);
+  }
+}
+function setShadow(el, attrs, scope) {
+  var style2 = el.style;
+  if (hasShadow(style2)) {
+    var shadowKey = getShadowKey(el);
+    var shadowCache = scope.shadowCache;
+    var shadowId = shadowCache[shadowKey];
+    if (!shadowId) {
+      var globalScale = el.getGlobalScale();
+      var scaleX = globalScale[0];
+      var scaleY = globalScale[1];
+      if (!scaleX || !scaleY) {
+        return;
+      }
+      var offsetX = style2.shadowOffsetX || 0;
+      var offsetY = style2.shadowOffsetY || 0;
+      var blur_1 = style2.shadowBlur;
+      var _a2 = normalizeColor(style2.shadowColor), opacity = _a2.opacity, color2 = _a2.color;
+      var stdDx = blur_1 / 2 / scaleX;
+      var stdDy = blur_1 / 2 / scaleY;
+      var stdDeviation = stdDx + " " + stdDy;
+      shadowId = scope.zrId + "-s" + scope.shadowIdx++;
+      scope.defs[shadowId] = createVNode("filter", shadowId, {
+        "id": shadowId,
+        "x": "-100%",
+        "y": "-100%",
+        "width": "300%",
+        "height": "300%"
+      }, [
+        createVNode("feDropShadow", "", {
+          "dx": offsetX / scaleX,
+          "dy": offsetY / scaleY,
+          "stdDeviation": stdDeviation,
+          "flood-color": color2,
+          "flood-opacity": opacity
+        })
+      ]);
+      shadowCache[shadowKey] = shadowId;
+    }
+    attrs.filter = getIdURL(shadowId);
+  }
+}
+function setGradient(style2, attrs, target, scope) {
+  var val = style2[target];
+  var gradientTag;
+  var gradientAttrs = {
+    "gradientUnits": val.global ? "userSpaceOnUse" : "objectBoundingBox"
+  };
+  if (isLinearGradient(val)) {
+    gradientTag = "linearGradient";
+    gradientAttrs.x1 = val.x;
+    gradientAttrs.y1 = val.y;
+    gradientAttrs.x2 = val.x2;
+    gradientAttrs.y2 = val.y2;
+  } else if (isRadialGradient(val)) {
+    gradientTag = "radialGradient";
+    gradientAttrs.cx = retrieve2(val.x, 0.5);
+    gradientAttrs.cy = retrieve2(val.y, 0.5);
+    gradientAttrs.r = retrieve2(val.r, 0.5);
+  } else {
+    return;
+  }
+  var colors = val.colorStops;
+  var colorStops = [];
+  for (var i2 = 0, len2 = colors.length; i2 < len2; ++i2) {
+    var offset2 = round4(colors[i2].offset) * 100 + "%";
+    var stopColor = colors[i2].color;
+    var _a2 = normalizeColor(stopColor), color2 = _a2.color, opacity = _a2.opacity;
+    var stopsAttrs = {
+      "offset": offset2
+    };
+    stopsAttrs["stop-color"] = color2;
+    if (opacity < 1) {
+      stopsAttrs["stop-opacity"] = opacity;
+    }
+    colorStops.push(createVNode("stop", i2 + "", stopsAttrs));
+  }
+  var gradientVNode = createVNode(gradientTag, "", gradientAttrs, colorStops);
+  var gradientKey = vNodeToString(gradientVNode);
+  var gradientCache = scope.gradientCache;
+  var gradientId = gradientCache[gradientKey];
+  if (!gradientId) {
+    gradientId = scope.zrId + "-g" + scope.gradientIdx++;
+    gradientCache[gradientKey] = gradientId;
+    gradientAttrs.id = gradientId;
+    scope.defs[gradientId] = createVNode(gradientTag, gradientId, gradientAttrs, colorStops);
+  }
+  attrs[target] = getIdURL(gradientId);
+}
+function setPattern(el, attrs, target, scope) {
+  var val = el.style[target];
+  var boundingRect = el.getBoundingRect();
+  var patternAttrs = {};
+  var repeat = val.repeat;
+  var noRepeat = repeat === "no-repeat";
+  var repeatX = repeat === "repeat-x";
+  var repeatY = repeat === "repeat-y";
+  var child;
+  if (isImagePattern(val)) {
+    var imageWidth_1 = val.imageWidth;
+    var imageHeight_1 = val.imageHeight;
+    var imageSrc = void 0;
+    var patternImage = val.image;
+    if (isString$1(patternImage)) {
+      imageSrc = patternImage;
+    } else if (isImageLike(patternImage)) {
+      imageSrc = patternImage.src;
+    } else if (isCanvasLike(patternImage)) {
+      imageSrc = patternImage.toDataURL();
+    }
+    if (typeof Image === "undefined") {
+      var errMsg = "Image width/height must been given explictly in svg-ssr renderer.";
+      assert(imageWidth_1, errMsg);
+      assert(imageHeight_1, errMsg);
+    } else if (imageWidth_1 == null || imageHeight_1 == null) {
+      var setSizeToVNode_1 = function(vNode, img) {
+        if (vNode) {
+          var svgEl = vNode.elm;
+          var width = imageWidth_1 || img.width;
+          var height = imageHeight_1 || img.height;
+          if (vNode.tag === "pattern") {
+            if (repeatX) {
+              height = 1;
+              width /= boundingRect.width;
+            } else if (repeatY) {
+              width = 1;
+              height /= boundingRect.height;
+            }
+          }
+          vNode.attrs.width = width;
+          vNode.attrs.height = height;
+          if (svgEl) {
+            svgEl.setAttribute("width", width);
+            svgEl.setAttribute("height", height);
+          }
+        }
+      };
+      var createdImage = createOrUpdateImage(imageSrc, null, el, function(img) {
+        noRepeat || setSizeToVNode_1(patternVNode, img);
+        setSizeToVNode_1(child, img);
+      });
+      if (createdImage && createdImage.width && createdImage.height) {
+        imageWidth_1 = imageWidth_1 || createdImage.width;
+        imageHeight_1 = imageHeight_1 || createdImage.height;
+      }
+    }
+    child = createVNode("image", "img", {
+      href: imageSrc,
+      width: imageWidth_1,
+      height: imageHeight_1
+    });
+    patternAttrs.width = imageWidth_1;
+    patternAttrs.height = imageHeight_1;
+  } else if (val.svgElement) {
+    child = clone$4(val.svgElement);
+    patternAttrs.width = val.svgWidth;
+    patternAttrs.height = val.svgHeight;
+  }
+  if (!child) {
+    return;
+  }
+  var patternWidth;
+  var patternHeight;
+  if (noRepeat) {
+    patternWidth = patternHeight = 1;
+  } else if (repeatX) {
+    patternHeight = 1;
+    patternWidth = patternAttrs.width / boundingRect.width;
+  } else if (repeatY) {
+    patternWidth = 1;
+    patternHeight = patternAttrs.height / boundingRect.height;
+  } else {
+    patternAttrs.patternUnits = "userSpaceOnUse";
+  }
+  if (patternWidth != null && !isNaN(patternWidth)) {
+    patternAttrs.width = patternWidth;
+  }
+  if (patternHeight != null && !isNaN(patternHeight)) {
+    patternAttrs.height = patternHeight;
+  }
+  var patternTransform = getSRTTransformString(val);
+  patternTransform && (patternAttrs.patternTransform = patternTransform);
+  var patternVNode = createVNode("pattern", "", patternAttrs, [child]);
+  var patternKey = vNodeToString(patternVNode);
+  var patternCache = scope.patternCache;
+  var patternId = patternCache[patternKey];
+  if (!patternId) {
+    patternId = scope.zrId + "-p" + scope.patternIdx++;
+    patternCache[patternKey] = patternId;
+    patternAttrs.id = patternId;
+    patternVNode = scope.defs[patternId] = createVNode("pattern", patternId, patternAttrs, [child]);
+  }
+  attrs[target] = getIdURL(patternId);
+}
+function setClipPath(clipPath, attrs, scope) {
+  var clipPathCache = scope.clipPathCache, defs = scope.defs;
+  var clipPathId = clipPathCache[clipPath.id];
+  if (!clipPathId) {
+    clipPathId = scope.zrId + "-c" + scope.clipPathIdx++;
+    var clipPathAttrs = {
+      id: clipPathId
+    };
+    clipPathCache[clipPath.id] = clipPathId;
+    defs[clipPathId] = createVNode("clipPath", clipPathId, clipPathAttrs, [brushSVGPath(clipPath, scope)]);
+  }
+  attrs["clip-path"] = getIdURL(clipPathId);
+}
+function createTextNode(text2) {
+  return document.createTextNode(text2);
+}
+function insertBefore(parentNode2, newNode, referenceNode) {
+  parentNode2.insertBefore(newNode, referenceNode);
+}
+function removeChild(node, child) {
+  node.removeChild(child);
+}
+function appendChild(node, child) {
+  node.appendChild(child);
+}
+function parentNode(node) {
+  return node.parentNode;
+}
+function nextSibling(node) {
+  return node.nextSibling;
+}
+function setTextContent(node, text2) {
+  node.textContent = text2;
+}
+var colonChar = 58;
+var xChar = 120;
+var emptyNode = createVNode("", "");
+function isUndef(s2) {
+  return s2 === void 0;
+}
+function isDef(s2) {
+  return s2 !== void 0;
+}
+function createKeyToOldIdx(children3, beginIdx, endIdx) {
+  var map2 = {};
+  for (var i2 = beginIdx; i2 <= endIdx; ++i2) {
+    var key2 = children3[i2].key;
+    if (key2 !== void 0) {
+      map2[key2] = i2;
+    }
+  }
+  return map2;
+}
+function sameVnode(vnode1, vnode2) {
+  var isSameKey = vnode1.key === vnode2.key;
+  var isSameTag = vnode1.tag === vnode2.tag;
+  return isSameTag && isSameKey;
+}
+function createElm(vnode) {
+  var i2;
+  var children3 = vnode.children;
+  var tag = vnode.tag;
+  if (isDef(tag)) {
+    var elm = vnode.elm = createElement(tag);
+    updateAttrs(emptyNode, vnode);
+    if (isArray$2(children3)) {
+      for (i2 = 0; i2 < children3.length; ++i2) {
+        var ch = children3[i2];
+        if (ch != null) {
+          appendChild(elm, createElm(ch));
+        }
+      }
+    } else if (isDef(vnode.text) && !isObject$4(vnode.text)) {
+      appendChild(elm, createTextNode(vnode.text));
+    }
+  } else {
+    vnode.elm = createTextNode(vnode.text);
+  }
+  return vnode.elm;
+}
+function addVnodes(parentElm, before, vnodes, startIdx, endIdx) {
+  for (; startIdx <= endIdx; ++startIdx) {
+    var ch = vnodes[startIdx];
+    if (ch != null) {
+      insertBefore(parentElm, createElm(ch), before);
+    }
+  }
+}
+function removeVnodes(parentElm, vnodes, startIdx, endIdx) {
+  for (; startIdx <= endIdx; ++startIdx) {
+    var ch = vnodes[startIdx];
+    if (ch != null) {
+      if (isDef(ch.tag)) {
+        var parent_1 = parentNode(ch.elm);
+        removeChild(parent_1, ch.elm);
+      } else {
+        removeChild(parentElm, ch.elm);
+      }
+    }
+  }
+}
+function updateAttrs(oldVnode, vnode) {
+  var key2;
+  var elm = vnode.elm;
+  var oldAttrs = oldVnode && oldVnode.attrs || {};
+  var attrs = vnode.attrs || {};
+  if (oldAttrs === attrs) {
+    return;
+  }
+  for (key2 in attrs) {
+    var cur = attrs[key2];
+    var old = oldAttrs[key2];
+    if (old !== cur) {
+      if (cur === true) {
+        elm.setAttribute(key2, "");
+      } else if (cur === false) {
+        elm.removeAttribute(key2);
+      } else {
+        if (key2.charCodeAt(0) !== xChar) {
+          elm.setAttribute(key2, cur);
+        } else if (key2 === "xmlns:xlink" || key2 === "xmlns") {
+          elm.setAttributeNS(XMLNS, key2, cur);
+        } else if (key2.charCodeAt(3) === colonChar) {
+          elm.setAttributeNS(XML_NAMESPACE, key2, cur);
+        } else if (key2.charCodeAt(5) === colonChar) {
+          elm.setAttributeNS(XLINKNS, key2, cur);
+        } else {
+          elm.setAttribute(key2, cur);
+        }
+      }
+    }
+  }
+  for (key2 in oldAttrs) {
+    if (!(key2 in attrs)) {
+      elm.removeAttribute(key2);
+    }
+  }
+}
+function updateChildren(parentElm, oldCh, newCh) {
+  var oldStartIdx = 0;
+  var newStartIdx = 0;
+  var oldEndIdx = oldCh.length - 1;
+  var oldStartVnode = oldCh[0];
+  var oldEndVnode = oldCh[oldEndIdx];
+  var newEndIdx = newCh.length - 1;
+  var newStartVnode = newCh[0];
+  var newEndVnode = newCh[newEndIdx];
+  var oldKeyToIdx;
+  var idxInOld;
+  var elmToMove;
+  var before;
+  while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
+    if (oldStartVnode == null) {
+      oldStartVnode = oldCh[++oldStartIdx];
+    } else if (oldEndVnode == null) {
+      oldEndVnode = oldCh[--oldEndIdx];
+    } else if (newStartVnode == null) {
+      newStartVnode = newCh[++newStartIdx];
+    } else if (newEndVnode == null) {
+      newEndVnode = newCh[--newEndIdx];
+    } else if (sameVnode(oldStartVnode, newStartVnode)) {
+      patchVnode(oldStartVnode, newStartVnode);
+      oldStartVnode = oldCh[++oldStartIdx];
+      newStartVnode = newCh[++newStartIdx];
+    } else if (sameVnode(oldEndVnode, newEndVnode)) {
+      patchVnode(oldEndVnode, newEndVnode);
+      oldEndVnode = oldCh[--oldEndIdx];
+      newEndVnode = newCh[--newEndIdx];
+    } else if (sameVnode(oldStartVnode, newEndVnode)) {
+      patchVnode(oldStartVnode, newEndVnode);
+      insertBefore(parentElm, oldStartVnode.elm, nextSibling(oldEndVnode.elm));
+      oldStartVnode = oldCh[++oldStartIdx];
+      newEndVnode = newCh[--newEndIdx];
+    } else if (sameVnode(oldEndVnode, newStartVnode)) {
+      patchVnode(oldEndVnode, newStartVnode);
+      insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
+      oldEndVnode = oldCh[--oldEndIdx];
+      newStartVnode = newCh[++newStartIdx];
+    } else {
+      if (isUndef(oldKeyToIdx)) {
+        oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);
+      }
+      idxInOld = oldKeyToIdx[newStartVnode.key];
+      if (isUndef(idxInOld)) {
+        insertBefore(parentElm, createElm(newStartVnode), oldStartVnode.elm);
+      } else {
+        elmToMove = oldCh[idxInOld];
+        if (elmToMove.tag !== newStartVnode.tag) {
+          insertBefore(parentElm, createElm(newStartVnode), oldStartVnode.elm);
+        } else {
+          patchVnode(elmToMove, newStartVnode);
+          oldCh[idxInOld] = void 0;
+          insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);
+        }
+      }
+      newStartVnode = newCh[++newStartIdx];
+    }
+  }
+  if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {
+    if (oldStartIdx > oldEndIdx) {
+      before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;
+      addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx);
+    } else {
+      removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);
+    }
+  }
+}
+function patchVnode(oldVnode, vnode) {
+  var elm = vnode.elm = oldVnode.elm;
+  var oldCh = oldVnode.children;
+  var ch = vnode.children;
+  if (oldVnode === vnode) {
+    return;
+  }
+  updateAttrs(oldVnode, vnode);
+  if (isUndef(vnode.text)) {
+    if (isDef(oldCh) && isDef(ch)) {
+      if (oldCh !== ch) {
+        updateChildren(elm, oldCh, ch);
+      }
+    } else if (isDef(ch)) {
+      if (isDef(oldVnode.text)) {
+        setTextContent(elm, "");
+      }
+      addVnodes(elm, null, ch, 0, ch.length - 1);
+    } else if (isDef(oldCh)) {
+      removeVnodes(elm, oldCh, 0, oldCh.length - 1);
+    } else if (isDef(oldVnode.text)) {
+      setTextContent(elm, "");
+    }
+  } else if (oldVnode.text !== vnode.text) {
+    if (isDef(oldCh)) {
+      removeVnodes(elm, oldCh, 0, oldCh.length - 1);
+    }
+    setTextContent(elm, vnode.text);
+  }
+}
+function patch(oldVnode, vnode) {
+  if (sameVnode(oldVnode, vnode)) {
+    patchVnode(oldVnode, vnode);
+  } else {
+    var elm = oldVnode.elm;
+    var parent_2 = parentNode(elm);
+    createElm(vnode);
+    if (parent_2 !== null) {
+      insertBefore(parent_2, vnode.elm, nextSibling(elm));
+      removeVnodes(parent_2, [oldVnode], 0, 0);
+    }
+  }
+  return vnode;
+}
+var svgId = 0;
+var SVGPainter = function() {
+  function SVGPainter2(root, storage2, opts2) {
+    this.type = "svg";
+    this.refreshHover = createMethodNotSupport();
+    this.configLayer = createMethodNotSupport();
+    this.storage = storage2;
+    this._opts = opts2 = extend$1({}, opts2);
+    this.root = root;
+    this._id = "zr" + svgId++;
+    this._oldVNode = createSVGVNode(opts2.width, opts2.height);
+    if (root && !opts2.ssr) {
+      var viewport = this._viewport = document.createElement("div");
+      viewport.style.cssText = "position:relative;overflow:hidden";
+      var svgDom = this._svgDom = this._oldVNode.elm = createElement("svg");
+      updateAttrs(null, this._oldVNode);
+      viewport.appendChild(svgDom);
+      root.appendChild(viewport);
+    }
+    this.resize(opts2.width, opts2.height);
+  }
+  SVGPainter2.prototype.getType = function() {
+    return this.type;
+  };
+  SVGPainter2.prototype.getViewportRoot = function() {
+    return this._viewport;
+  };
+  SVGPainter2.prototype.getViewportRootOffset = function() {
+    var viewportRoot = this.getViewportRoot();
+    if (viewportRoot) {
+      return {
+        offsetLeft: viewportRoot.offsetLeft || 0,
+        offsetTop: viewportRoot.offsetTop || 0
+      };
+    }
+  };
+  SVGPainter2.prototype.getSvgDom = function() {
+    return this._svgDom;
+  };
+  SVGPainter2.prototype.refresh = function() {
+    if (this.root) {
+      var vnode = this.renderToVNode({
+        willUpdate: true
+      });
+      vnode.attrs.style = "position:absolute;left:0;top:0;user-select:none";
+      patch(this._oldVNode, vnode);
+      this._oldVNode = vnode;
+    }
+  };
+  SVGPainter2.prototype.renderOneToVNode = function(el) {
+    return brush(el, createBrushScope(this._id));
+  };
+  SVGPainter2.prototype.renderToVNode = function(opts2) {
+    opts2 = opts2 || {};
+    var list2 = this.storage.getDisplayList(true);
+    var width = this._width;
+    var height = this._height;
+    var scope = createBrushScope(this._id);
+    scope.animation = opts2.animation;
+    scope.willUpdate = opts2.willUpdate;
+    scope.compress = opts2.compress;
+    var children3 = [];
+    var bgVNode = this._bgVNode = createBackgroundVNode(width, height, this._backgroundColor, scope);
+    bgVNode && children3.push(bgVNode);
+    var mainVNode = !opts2.compress ? this._mainVNode = createVNode("g", "main", {}, []) : null;
+    this._paintList(list2, scope, mainVNode ? mainVNode.children : children3);
+    mainVNode && children3.push(mainVNode);
+    var defs = map$1(keys(scope.defs), function(id) {
+      return scope.defs[id];
+    });
+    if (defs.length) {
+      children3.push(createVNode("defs", "defs", {}, defs));
+    }
+    if (opts2.animation) {
+      var animationCssStr = getCssString(scope.cssNodes, scope.cssAnims, { newline: true });
+      if (animationCssStr) {
+        var styleNode = createVNode("style", "stl", {}, [], animationCssStr);
+        children3.push(styleNode);
+      }
+    }
+    return createSVGVNode(width, height, children3, opts2.useViewBox);
+  };
+  SVGPainter2.prototype.renderToString = function(opts2) {
+    opts2 = opts2 || {};
+    return vNodeToString(this.renderToVNode({
+      animation: retrieve2(opts2.cssAnimation, true),
+      willUpdate: false,
+      compress: true,
+      useViewBox: retrieve2(opts2.useViewBox, true)
+    }), { newline: true });
+  };
+  SVGPainter2.prototype.setBackgroundColor = function(backgroundColor2) {
+    this._backgroundColor = backgroundColor2;
+  };
+  SVGPainter2.prototype.getSvgRoot = function() {
+    return this._mainVNode && this._mainVNode.elm;
+  };
+  SVGPainter2.prototype._paintList = function(list2, scope, out2) {
+    var listLen = list2.length;
+    var clipPathsGroupsStack = [];
+    var clipPathsGroupsStackDepth = 0;
+    var currentClipPathGroup;
+    var prevClipPaths;
+    var clipGroupNodeIdx = 0;
+    for (var i2 = 0; i2 < listLen; i2++) {
+      var displayable = list2[i2];
+      if (!displayable.invisible) {
+        var clipPaths = displayable.__clipPaths;
+        var len2 = clipPaths && clipPaths.length || 0;
+        var prevLen = prevClipPaths && prevClipPaths.length || 0;
+        var lca = void 0;
+        for (lca = Math.max(len2 - 1, prevLen - 1); lca >= 0; lca--) {
+          if (clipPaths && prevClipPaths && clipPaths[lca] === prevClipPaths[lca]) {
+            break;
+          }
+        }
+        for (var i_1 = prevLen - 1; i_1 > lca; i_1--) {
+          clipPathsGroupsStackDepth--;
+          currentClipPathGroup = clipPathsGroupsStack[clipPathsGroupsStackDepth - 1];
+        }
+        for (var i_2 = lca + 1; i_2 < len2; i_2++) {
+          var groupAttrs = {};
+          setClipPath(clipPaths[i_2], groupAttrs, scope);
+          var g2 = createVNode("g", "clip-g-" + clipGroupNodeIdx++, groupAttrs, []);
+          (currentClipPathGroup ? currentClipPathGroup.children : out2).push(g2);
+          clipPathsGroupsStack[clipPathsGroupsStackDepth++] = g2;
+          currentClipPathGroup = g2;
+        }
+        prevClipPaths = clipPaths;
+        var ret = brush(displayable, scope);
+        if (ret) {
+          (currentClipPathGroup ? currentClipPathGroup.children : out2).push(ret);
+        }
+      }
+    }
+  };
+  SVGPainter2.prototype.resize = function(width, height) {
+    var opts2 = this._opts;
+    var root = this.root;
+    var viewport = this._viewport;
+    width != null && (opts2.width = width);
+    height != null && (opts2.height = height);
+    if (root && viewport) {
+      viewport.style.display = "none";
+      width = getSize$1(root, 0, opts2);
+      height = getSize$1(root, 1, opts2);
+      viewport.style.display = "";
+    }
+    if (this._width !== width || this._height !== height) {
+      this._width = width;
+      this._height = height;
+      if (viewport) {
+        var viewportStyle = viewport.style;
+        viewportStyle.width = width + "px";
+        viewportStyle.height = height + "px";
+      }
+      if (!isPattern(this._backgroundColor)) {
+        var svgDom = this._svgDom;
+        if (svgDom) {
+          svgDom.setAttribute("width", width);
+          svgDom.setAttribute("height", height);
+        }
+        var bgEl = this._bgVNode && this._bgVNode.elm;
+        if (bgEl) {
+          bgEl.setAttribute("width", width);
+          bgEl.setAttribute("height", height);
+        }
+      } else {
+        this.refresh();
+      }
+    }
+  };
+  SVGPainter2.prototype.getWidth = function() {
+    return this._width;
+  };
+  SVGPainter2.prototype.getHeight = function() {
+    return this._height;
+  };
+  SVGPainter2.prototype.dispose = function() {
+    if (this.root) {
+      this.root.innerHTML = "";
+    }
+    this._svgDom = this._viewport = this.storage = this._oldVNode = this._bgVNode = this._mainVNode = null;
+  };
+  SVGPainter2.prototype.clear = function() {
+    if (this._svgDom) {
+      this._svgDom.innerHTML = null;
+    }
+    this._oldVNode = null;
+  };
+  SVGPainter2.prototype.toDataURL = function(base64) {
+    var str = this.renderToString();
+    var prefix = "data:image/svg+xml;";
+    if (base64) {
+      str = encodeBase64(str);
+      return str && prefix + "base64," + str;
+    }
+    return prefix + "charset=UTF-8," + encodeURIComponent(str);
+  };
+  return SVGPainter2;
+}();
+function createMethodNotSupport(method) {
+  return function() {
+  };
+}
+function createBackgroundVNode(width, height, backgroundColor2, scope) {
+  var bgVNode;
+  if (backgroundColor2 && backgroundColor2 !== "none") {
+    bgVNode = createVNode("rect", "bg", {
+      width,
+      height,
+      x: "0",
+      y: "0",
+      id: "0"
+    });
+    if (isGradient(backgroundColor2)) {
+      setGradient({ fill: backgroundColor2 }, bgVNode.attrs, "fill", scope);
+    } else if (isPattern(backgroundColor2)) {
+      setPattern({
+        style: {
+          fill: backgroundColor2
+        },
+        dirty: noop$1,
+        getBoundingRect: function() {
+          return { width, height };
+        }
+      }, bgVNode.attrs, "fill", scope);
+    } else {
+      var _a2 = normalizeColor(backgroundColor2), color2 = _a2.color, opacity = _a2.opacity;
+      bgVNode.attrs.fill = color2;
+      opacity < 1 && (bgVNode.attrs["fill-opacity"] = opacity);
+    }
+  }
+  return bgVNode;
+}
+const SVGPainter$1 = SVGPainter;
+function install$S(registers) {
+  registers.registerPainter("svg", SVGPainter$1);
+}
+function createDom(id, painter, dpr2) {
+  var newDom = platformApi.createCanvas();
+  var width = painter.getWidth();
+  var height = painter.getHeight();
+  var newDomStyle = newDom.style;
+  if (newDomStyle) {
+    newDomStyle.position = "absolute";
+    newDomStyle.left = "0";
+    newDomStyle.top = "0";
+    newDomStyle.width = width + "px";
+    newDomStyle.height = height + "px";
+    newDom.setAttribute("data-zr-dom-id", id);
+  }
+  newDom.width = width * dpr2;
+  newDom.height = height * dpr2;
+  return newDom;
+}
+var Layer = function(_super) {
+  __extends(Layer2, _super);
+  function Layer2(id, painter, dpr2) {
+    var _this = _super.call(this) || this;
+    _this.motionBlur = false;
+    _this.lastFrameAlpha = 0.7;
+    _this.dpr = 1;
+    _this.virtual = false;
+    _this.config = {};
+    _this.incremental = false;
+    _this.zlevel = 0;
+    _this.maxRepaintRectCount = 5;
+    _this.__dirty = true;
+    _this.__firstTimePaint = true;
+    _this.__used = false;
+    _this.__drawIndex = 0;
+    _this.__startIndex = 0;
+    _this.__endIndex = 0;
+    _this.__prevStartIndex = null;
+    _this.__prevEndIndex = null;
+    var dom2;
+    dpr2 = dpr2 || devicePixelRatio;
+    if (typeof id === "string") {
+      dom2 = createDom(id, painter, dpr2);
+    } else if (isObject$4(id)) {
+      dom2 = id;
+      id = dom2.id;
+    }
+    _this.id = id;
+    _this.dom = dom2;
+    var domStyle = dom2.style;
+    if (domStyle) {
+      disableUserSelect(dom2);
+      dom2.onselectstart = function() {
+        return false;
+      };
+      domStyle.padding = "0";
+      domStyle.margin = "0";
+      domStyle.borderWidth = "0";
+    }
+    _this.painter = painter;
+    _this.dpr = dpr2;
+    return _this;
+  }
+  Layer2.prototype.getElementCount = function() {
+    return this.__endIndex - this.__startIndex;
+  };
+  Layer2.prototype.afterBrush = function() {
+    this.__prevStartIndex = this.__startIndex;
+    this.__prevEndIndex = this.__endIndex;
+  };
+  Layer2.prototype.initContext = function() {
+    this.ctx = this.dom.getContext("2d");
+    this.ctx.dpr = this.dpr;
+  };
+  Layer2.prototype.setUnpainted = function() {
+    this.__firstTimePaint = true;
+  };
+  Layer2.prototype.createBackBuffer = function() {
+    var dpr2 = this.dpr;
+    this.domBack = createDom("back-" + this.id, this.painter, dpr2);
+    this.ctxBack = this.domBack.getContext("2d");
+    if (dpr2 !== 1) {
+      this.ctxBack.scale(dpr2, dpr2);
+    }
+  };
+  Layer2.prototype.createRepaintRects = function(displayList, prevList, viewWidth, viewHeight) {
+    if (this.__firstTimePaint) {
+      this.__firstTimePaint = false;
+      return null;
+    }
+    var mergedRepaintRects = [];
+    var maxRepaintRectCount = this.maxRepaintRectCount;
+    var full = false;
+    var pendingRect = new BoundingRect$1(0, 0, 0, 0);
+    function addRectToMergePool(rect) {
+      if (!rect.isFinite() || rect.isZero()) {
+        return;
+      }
+      if (mergedRepaintRects.length === 0) {
+        var boundingRect = new BoundingRect$1(0, 0, 0, 0);
+        boundingRect.copy(rect);
+        mergedRepaintRects.push(boundingRect);
+      } else {
+        var isMerged = false;
+        var minDeltaArea = Infinity;
+        var bestRectToMergeIdx = 0;
+        for (var i3 = 0; i3 < mergedRepaintRects.length; ++i3) {
+          var mergedRect = mergedRepaintRects[i3];
+          if (mergedRect.intersect(rect)) {
+            var pendingRect_1 = new BoundingRect$1(0, 0, 0, 0);
+            pendingRect_1.copy(mergedRect);
+            pendingRect_1.union(rect);
+            mergedRepaintRects[i3] = pendingRect_1;
+            isMerged = true;
+            break;
+          } else if (full) {
+            pendingRect.copy(rect);
+            pendingRect.union(mergedRect);
+            var aArea = rect.width * rect.height;
+            var bArea = mergedRect.width * mergedRect.height;
+            var pendingArea = pendingRect.width * pendingRect.height;
+            var deltaArea = pendingArea - aArea - bArea;
+            if (deltaArea < minDeltaArea) {
+              minDeltaArea = deltaArea;
+              bestRectToMergeIdx = i3;
+            }
+          }
+        }
+        if (full) {
+          mergedRepaintRects[bestRectToMergeIdx].union(rect);
+          isMerged = true;
+        }
+        if (!isMerged) {
+          var boundingRect = new BoundingRect$1(0, 0, 0, 0);
+          boundingRect.copy(rect);
+          mergedRepaintRects.push(boundingRect);
+        }
+        if (!full) {
+          full = mergedRepaintRects.length >= maxRepaintRectCount;
+        }
+      }
+    }
+    for (var i2 = this.__startIndex; i2 < this.__endIndex; ++i2) {
+      var el = displayList[i2];
+      if (el) {
+        var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);
+        var prevRect = el.__isRendered && (el.__dirty & REDRAW_BIT || !shouldPaint) ? el.getPrevPaintRect() : null;
+        if (prevRect) {
+          addRectToMergePool(prevRect);
+        }
+        var curRect = shouldPaint && (el.__dirty & REDRAW_BIT || !el.__isRendered) ? el.getPaintRect() : null;
+        if (curRect) {
+          addRectToMergePool(curRect);
+        }
+      }
+    }
+    for (var i2 = this.__prevStartIndex; i2 < this.__prevEndIndex; ++i2) {
+      var el = prevList[i2];
+      var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);
+      if (el && (!shouldPaint || !el.__zr) && el.__isRendered) {
+        var prevRect = el.getPrevPaintRect();
+        if (prevRect) {
+          addRectToMergePool(prevRect);
+        }
+      }
+    }
+    var hasIntersections;
+    do {
+      hasIntersections = false;
+      for (var i2 = 0; i2 < mergedRepaintRects.length; ) {
+        if (mergedRepaintRects[i2].isZero()) {
+          mergedRepaintRects.splice(i2, 1);
+          continue;
+        }
+        for (var j2 = i2 + 1; j2 < mergedRepaintRects.length; ) {
+          if (mergedRepaintRects[i2].intersect(mergedRepaintRects[j2])) {
+            hasIntersections = true;
+            mergedRepaintRects[i2].union(mergedRepaintRects[j2]);
+            mergedRepaintRects.splice(j2, 1);
+          } else {
+            j2++;
+          }
+        }
+        i2++;
+      }
+    } while (hasIntersections);
+    this._paintRects = mergedRepaintRects;
+    return mergedRepaintRects;
+  };
+  Layer2.prototype.debugGetPaintRects = function() {
+    return (this._paintRects || []).slice();
+  };
+  Layer2.prototype.resize = function(width, height) {
+    var dpr2 = this.dpr;
+    var dom2 = this.dom;
+    var domStyle = dom2.style;
+    var domBack = this.domBack;
+    if (domStyle) {
+      domStyle.width = width + "px";
+      domStyle.height = height + "px";
+    }
+    dom2.width = width * dpr2;
+    dom2.height = height * dpr2;
+    if (domBack) {
+      domBack.width = width * dpr2;
+      domBack.height = height * dpr2;
+      if (dpr2 !== 1) {
+        this.ctxBack.scale(dpr2, dpr2);
+      }
+    }
+  };
+  Layer2.prototype.clear = function(clearAll, clearColor, repaintRects) {
+    var dom2 = this.dom;
+    var ctx = this.ctx;
+    var width = dom2.width;
+    var height = dom2.height;
+    clearColor = clearColor || this.clearColor;
+    var haveMotionBLur = this.motionBlur && !clearAll;
+    var lastFrameAlpha = this.lastFrameAlpha;
+    var dpr2 = this.dpr;
+    var self2 = this;
+    if (haveMotionBLur) {
+      if (!this.domBack) {
+        this.createBackBuffer();
+      }
+      this.ctxBack.globalCompositeOperation = "copy";
+      this.ctxBack.drawImage(dom2, 0, 0, width / dpr2, height / dpr2);
+    }
+    var domBack = this.domBack;
+    function doClear(x2, y2, width2, height2) {
+      ctx.clearRect(x2, y2, width2, height2);
+      if (clearColor && clearColor !== "transparent") {
+        var clearColorGradientOrPattern = void 0;
+        if (isGradientObject(clearColor)) {
+          var shouldCache = clearColor.global || clearColor.__width === width2 && clearColor.__height === height2;
+          clearColorGradientOrPattern = shouldCache && clearColor.__canvasGradient || getCanvasGradient(ctx, clearColor, {
+            x: 0,
+            y: 0,
+            width: width2,
+            height: height2
+          });
+          clearColor.__canvasGradient = clearColorGradientOrPattern;
+          clearColor.__width = width2;
+          clearColor.__height = height2;
+        } else if (isImagePatternObject(clearColor)) {
+          clearColor.scaleX = clearColor.scaleX || dpr2;
+          clearColor.scaleY = clearColor.scaleY || dpr2;
+          clearColorGradientOrPattern = createCanvasPattern(ctx, clearColor, {
+            dirty: function() {
+              self2.setUnpainted();
+              self2.__painter.refresh();
+            }
+          });
+        }
+        ctx.save();
+        ctx.fillStyle = clearColorGradientOrPattern || clearColor;
+        ctx.fillRect(x2, y2, width2, height2);
+        ctx.restore();
+      }
+      if (haveMotionBLur) {
+        ctx.save();
+        ctx.globalAlpha = lastFrameAlpha;
+        ctx.drawImage(domBack, x2, y2, width2, height2);
+        ctx.restore();
+      }
+    }
+    if (!repaintRects || haveMotionBLur) {
+      doClear(0, 0, width, height);
+    } else if (repaintRects.length) {
+      each$f(repaintRects, function(rect) {
+        doClear(rect.x * dpr2, rect.y * dpr2, rect.width * dpr2, rect.height * dpr2);
+      });
+    }
+  };
+  return Layer2;
+}(Eventful$1);
+const Layer$1 = Layer;
+var HOVER_LAYER_ZLEVEL = 1e5;
+var CANVAS_ZLEVEL = 314159;
+var EL_AFTER_INCREMENTAL_INC = 0.01;
+var INCREMENTAL_INC = 1e-3;
+function isLayerValid(layer) {
+  if (!layer) {
+    return false;
+  }
+  if (layer.__builtin__) {
+    return true;
+  }
+  if (typeof layer.resize !== "function" || typeof layer.refresh !== "function") {
+    return false;
+  }
+  return true;
+}
+function createRoot(width, height) {
+  var domRoot = document.createElement("div");
+  domRoot.style.cssText = [
+    "position:relative",
+    "width:" + width + "px",
+    "height:" + height + "px",
+    "padding:0",
+    "margin:0",
+    "border-width:0"
+  ].join(";") + ";";
+  return domRoot;
+}
+var CanvasPainter = function() {
+  function CanvasPainter2(root, storage2, opts2, id) {
+    this.type = "canvas";
+    this._zlevelList = [];
+    this._prevDisplayList = [];
+    this._layers = {};
+    this._layerConfig = {};
+    this._needsManuallyCompositing = false;
+    this.type = "canvas";
+    var singleCanvas = !root.nodeName || root.nodeName.toUpperCase() === "CANVAS";
+    this._opts = opts2 = extend$1({}, opts2 || {});
+    this.dpr = opts2.devicePixelRatio || devicePixelRatio;
+    this._singleCanvas = singleCanvas;
+    this.root = root;
+    var rootStyle = root.style;
+    if (rootStyle) {
+      disableUserSelect(root);
+      root.innerHTML = "";
+    }
+    this.storage = storage2;
+    var zlevelList = this._zlevelList;
+    this._prevDisplayList = [];
+    var layers = this._layers;
+    if (!singleCanvas) {
+      this._width = getSize$1(root, 0, opts2);
+      this._height = getSize$1(root, 1, opts2);
+      var domRoot = this._domRoot = createRoot(this._width, this._height);
+      root.appendChild(domRoot);
+    } else {
+      var rootCanvas = root;
+      var width = rootCanvas.width;
+      var height = rootCanvas.height;
+      if (opts2.width != null) {
+        width = opts2.width;
+      }
+      if (opts2.height != null) {
+        height = opts2.height;
+      }
+      this.dpr = opts2.devicePixelRatio || 1;
+      rootCanvas.width = width * this.dpr;
+      rootCanvas.height = height * this.dpr;
+      this._width = width;
+      this._height = height;
+      var mainLayer = new Layer$1(rootCanvas, this, this.dpr);
+      mainLayer.__builtin__ = true;
+      mainLayer.initContext();
+      layers[CANVAS_ZLEVEL] = mainLayer;
+      mainLayer.zlevel = CANVAS_ZLEVEL;
+      zlevelList.push(CANVAS_ZLEVEL);
+      this._domRoot = root;
+    }
+  }
+  CanvasPainter2.prototype.getType = function() {
+    return "canvas";
+  };
+  CanvasPainter2.prototype.isSingleCanvas = function() {
+    return this._singleCanvas;
+  };
+  CanvasPainter2.prototype.getViewportRoot = function() {
+    return this._domRoot;
+  };
+  CanvasPainter2.prototype.getViewportRootOffset = function() {
+    var viewportRoot = this.getViewportRoot();
+    if (viewportRoot) {
+      return {
+        offsetLeft: viewportRoot.offsetLeft || 0,
+        offsetTop: viewportRoot.offsetTop || 0
+      };
+    }
+  };
+  CanvasPainter2.prototype.refresh = function(paintAll) {
+    var list2 = this.storage.getDisplayList(true);
+    var prevList = this._prevDisplayList;
+    var zlevelList = this._zlevelList;
+    this._redrawId = Math.random();
+    this._paintList(list2, prevList, paintAll, this._redrawId);
+    for (var i2 = 0; i2 < zlevelList.length; i2++) {
+      var z2 = zlevelList[i2];
+      var layer = this._layers[z2];
+      if (!layer.__builtin__ && layer.refresh) {
+        var clearColor = i2 === 0 ? this._backgroundColor : null;
+        layer.refresh(clearColor);
+      }
+    }
+    if (this._opts.useDirtyRect) {
+      this._prevDisplayList = list2.slice();
+    }
+    return this;
+  };
+  CanvasPainter2.prototype.refreshHover = function() {
+    this._paintHoverList(this.storage.getDisplayList(false));
+  };
+  CanvasPainter2.prototype._paintHoverList = function(list2) {
+    var len2 = list2.length;
+    var hoverLayer = this._hoverlayer;
+    hoverLayer && hoverLayer.clear();
+    if (!len2) {
+      return;
+    }
+    var scope = {
+      inHover: true,
+      viewWidth: this._width,
+      viewHeight: this._height
+    };
+    var ctx;
+    for (var i2 = 0; i2 < len2; i2++) {
+      var el = list2[i2];
+      if (el.__inHover) {
+        if (!hoverLayer) {
+          hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);
+        }
+        if (!ctx) {
+          ctx = hoverLayer.ctx;
+          ctx.save();
+        }
+        brush$1(ctx, el, scope, i2 === len2 - 1);
+      }
+    }
+    if (ctx) {
+      ctx.restore();
+    }
+  };
+  CanvasPainter2.prototype.getHoverLayer = function() {
+    return this.getLayer(HOVER_LAYER_ZLEVEL);
+  };
+  CanvasPainter2.prototype.paintOne = function(ctx, el) {
+    brushSingle(ctx, el);
+  };
+  CanvasPainter2.prototype._paintList = function(list2, prevList, paintAll, redrawId) {
+    if (this._redrawId !== redrawId) {
+      return;
+    }
+    paintAll = paintAll || false;
+    this._updateLayerStatus(list2);
+    var _a2 = this._doPaintList(list2, prevList, paintAll), finished = _a2.finished, needsRefreshHover = _a2.needsRefreshHover;
+    if (this._needsManuallyCompositing) {
+      this._compositeManually();
+    }
+    if (needsRefreshHover) {
+      this._paintHoverList(list2);
+    }
+    if (!finished) {
+      var self_1 = this;
+      requestAnimationFrame$2(function() {
+        self_1._paintList(list2, prevList, paintAll, redrawId);
+      });
+    } else {
+      this.eachLayer(function(layer) {
+        layer.afterBrush && layer.afterBrush();
+      });
+    }
+  };
+  CanvasPainter2.prototype._compositeManually = function() {
+    var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;
+    var width = this._domRoot.width;
+    var height = this._domRoot.height;
+    ctx.clearRect(0, 0, width, height);
+    this.eachBuiltinLayer(function(layer) {
+      if (layer.virtual) {
+        ctx.drawImage(layer.dom, 0, 0, width, height);
+      }
+    });
+  };
+  CanvasPainter2.prototype._doPaintList = function(list2, prevList, paintAll) {
+    var _this = this;
+    var layerList = [];
+    var useDirtyRect = this._opts.useDirtyRect;
+    for (var zi = 0; zi < this._zlevelList.length; zi++) {
+      var zlevel = this._zlevelList[zi];
+      var layer = this._layers[zlevel];
+      if (layer.__builtin__ && layer !== this._hoverlayer && (layer.__dirty || paintAll)) {
+        layerList.push(layer);
+      }
+    }
+    var finished = true;
+    var needsRefreshHover = false;
+    var _loop_1 = function(k3) {
+      var layer2 = layerList[k3];
+      var ctx = layer2.ctx;
+      var repaintRects = useDirtyRect && layer2.createRepaintRects(list2, prevList, this_1._width, this_1._height);
+      var start2 = paintAll ? layer2.__startIndex : layer2.__drawIndex;
+      var useTimer = !paintAll && layer2.incremental && Date.now;
+      var startTime = useTimer && Date.now();
+      var clearColor = layer2.zlevel === this_1._zlevelList[0] ? this_1._backgroundColor : null;
+      if (layer2.__startIndex === layer2.__endIndex) {
+        layer2.clear(false, clearColor, repaintRects);
+      } else if (start2 === layer2.__startIndex) {
+        var firstEl = list2[start2];
+        if (!firstEl.incremental || !firstEl.notClear || paintAll) {
+          layer2.clear(false, clearColor, repaintRects);
+        }
+      }
+      if (start2 === -1) {
+        console.error("For some unknown reason. drawIndex is -1");
+        start2 = layer2.__startIndex;
+      }
+      var i2;
+      var repaint = function(repaintRect) {
+        var scope = {
+          inHover: false,
+          allClipped: false,
+          prevEl: null,
+          viewWidth: _this._width,
+          viewHeight: _this._height
+        };
+        for (i2 = start2; i2 < layer2.__endIndex; i2++) {
+          var el = list2[i2];
+          if (el.__inHover) {
+            needsRefreshHover = true;
+          }
+          _this._doPaintEl(el, layer2, useDirtyRect, repaintRect, scope, i2 === layer2.__endIndex - 1);
+          if (useTimer) {
+            var dTime = Date.now() - startTime;
+            if (dTime > 15) {
+              break;
+            }
+          }
+        }
+        if (scope.prevElClipPaths) {
+          ctx.restore();
+        }
+      };
+      if (repaintRects) {
+        if (repaintRects.length === 0) {
+          i2 = layer2.__endIndex;
+        } else {
+          var dpr2 = this_1.dpr;
+          for (var r2 = 0; r2 < repaintRects.length; ++r2) {
+            var rect = repaintRects[r2];
+            ctx.save();
+            ctx.beginPath();
+            ctx.rect(rect.x * dpr2, rect.y * dpr2, rect.width * dpr2, rect.height * dpr2);
+            ctx.clip();
+            repaint(rect);
+            ctx.restore();
+          }
+        }
+      } else {
+        ctx.save();
+        repaint();
+        ctx.restore();
+      }
+      layer2.__drawIndex = i2;
+      if (layer2.__drawIndex < layer2.__endIndex) {
+        finished = false;
+      }
+    };
+    var this_1 = this;
+    for (var k2 = 0; k2 < layerList.length; k2++) {
+      _loop_1(k2);
+    }
+    if (env$1.wxa) {
+      each$f(this._layers, function(layer2) {
+        if (layer2 && layer2.ctx && layer2.ctx.draw) {
+          layer2.ctx.draw();
+        }
+      });
+    }
+    return {
+      finished,
+      needsRefreshHover
+    };
+  };
+  CanvasPainter2.prototype._doPaintEl = function(el, currentLayer, useDirtyRect, repaintRect, scope, isLast) {
+    var ctx = currentLayer.ctx;
+    if (useDirtyRect) {
+      var paintRect = el.getPaintRect();
+      if (!repaintRect || paintRect && paintRect.intersect(repaintRect)) {
+        brush$1(ctx, el, scope, isLast);
+        el.setPrevPaintRect(paintRect);
+      }
+    } else {
+      brush$1(ctx, el, scope, isLast);
+    }
+  };
+  CanvasPainter2.prototype.getLayer = function(zlevel, virtual) {
+    if (this._singleCanvas && !this._needsManuallyCompositing) {
+      zlevel = CANVAS_ZLEVEL;
+    }
+    var layer = this._layers[zlevel];
+    if (!layer) {
+      layer = new Layer$1("zr_" + zlevel, this, this.dpr);
+      layer.zlevel = zlevel;
+      layer.__builtin__ = true;
+      if (this._layerConfig[zlevel]) {
+        merge$1(layer, this._layerConfig[zlevel], true);
+      } else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {
+        merge$1(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);
+      }
+      if (virtual) {
+        layer.virtual = virtual;
+      }
+      this.insertLayer(zlevel, layer);
+      layer.initContext();
+    }
+    return layer;
+  };
+  CanvasPainter2.prototype.insertLayer = function(zlevel, layer) {
+    var layersMap = this._layers;
+    var zlevelList = this._zlevelList;
+    var len2 = zlevelList.length;
+    var domRoot = this._domRoot;
+    var prevLayer = null;
+    var i2 = -1;
+    if (layersMap[zlevel]) {
+      return;
+    }
+    if (!isLayerValid(layer)) {
+      return;
+    }
+    if (len2 > 0 && zlevel > zlevelList[0]) {
+      for (i2 = 0; i2 < len2 - 1; i2++) {
+        if (zlevelList[i2] < zlevel && zlevelList[i2 + 1] > zlevel) {
+          break;
+        }
+      }
+      prevLayer = layersMap[zlevelList[i2]];
+    }
+    zlevelList.splice(i2 + 1, 0, zlevel);
+    layersMap[zlevel] = layer;
+    if (!layer.virtual) {
+      if (prevLayer) {
+        var prevDom = prevLayer.dom;
+        if (prevDom.nextSibling) {
+          domRoot.insertBefore(layer.dom, prevDom.nextSibling);
+        } else {
+          domRoot.appendChild(layer.dom);
+        }
+      } else {
+        if (domRoot.firstChild) {
+          domRoot.insertBefore(layer.dom, domRoot.firstChild);
+        } else {
+          domRoot.appendChild(layer.dom);
+        }
+      }
+    }
+    layer.__painter = this;
+  };
+  CanvasPainter2.prototype.eachLayer = function(cb, context) {
+    var zlevelList = this._zlevelList;
+    for (var i2 = 0; i2 < zlevelList.length; i2++) {
+      var z2 = zlevelList[i2];
+      cb.call(context, this._layers[z2], z2);
+    }
+  };
+  CanvasPainter2.prototype.eachBuiltinLayer = function(cb, context) {
+    var zlevelList = this._zlevelList;
+    for (var i2 = 0; i2 < zlevelList.length; i2++) {
+      var z2 = zlevelList[i2];
+      var layer = this._layers[z2];
+      if (layer.__builtin__) {
+        cb.call(context, layer, z2);
+      }
+    }
+  };
+  CanvasPainter2.prototype.eachOtherLayer = function(cb, context) {
+    var zlevelList = this._zlevelList;
+    for (var i2 = 0; i2 < zlevelList.length; i2++) {
+      var z2 = zlevelList[i2];
+      var layer = this._layers[z2];
+      if (!layer.__builtin__) {
+        cb.call(context, layer, z2);
+      }
+    }
+  };
+  CanvasPainter2.prototype.getLayers = function() {
+    return this._layers;
+  };
+  CanvasPainter2.prototype._updateLayerStatus = function(list2) {
+    this.eachBuiltinLayer(function(layer2, z2) {
+      layer2.__dirty = layer2.__used = false;
+    });
+    function updatePrevLayer(idx) {
+      if (prevLayer) {
+        if (prevLayer.__endIndex !== idx) {
+          prevLayer.__dirty = true;
+        }
+        prevLayer.__endIndex = idx;
+      }
+    }
+    if (this._singleCanvas) {
+      for (var i_1 = 1; i_1 < list2.length; i_1++) {
+        var el = list2[i_1];
+        if (el.zlevel !== list2[i_1 - 1].zlevel || el.incremental) {
+          this._needsManuallyCompositing = true;
+          break;
+        }
+      }
+    }
+    var prevLayer = null;
+    var incrementalLayerCount = 0;
+    var prevZlevel;
+    var i2;
+    for (i2 = 0; i2 < list2.length; i2++) {
+      var el = list2[i2];
+      var zlevel = el.zlevel;
+      var layer = void 0;
+      if (prevZlevel !== zlevel) {
+        prevZlevel = zlevel;
+        incrementalLayerCount = 0;
+      }
+      if (el.incremental) {
+        layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);
+        layer.incremental = true;
+        incrementalLayerCount = 1;
+      } else {
+        layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);
+      }
+      if (!layer.__builtin__) {
+        logError("ZLevel " + zlevel + " has been used by unkown layer " + layer.id);
+      }
+      if (layer !== prevLayer) {
+        layer.__used = true;
+        if (layer.__startIndex !== i2) {
+          layer.__dirty = true;
+        }
+        layer.__startIndex = i2;
+        if (!layer.incremental) {
+          layer.__drawIndex = i2;
+        } else {
+          layer.__drawIndex = -1;
+        }
+        updatePrevLayer(i2);
+        prevLayer = layer;
+      }
+      if (el.__dirty & REDRAW_BIT && !el.__inHover) {
+        layer.__dirty = true;
+        if (layer.incremental && layer.__drawIndex < 0) {
+          layer.__drawIndex = i2;
+        }
+      }
+    }
+    updatePrevLayer(i2);
+    this.eachBuiltinLayer(function(layer2, z2) {
+      if (!layer2.__used && layer2.getElementCount() > 0) {
+        layer2.__dirty = true;
+        layer2.__startIndex = layer2.__endIndex = layer2.__drawIndex = 0;
+      }
+      if (layer2.__dirty && layer2.__drawIndex < 0) {
+        layer2.__drawIndex = layer2.__startIndex;
+      }
+    });
+  };
+  CanvasPainter2.prototype.clear = function() {
+    this.eachBuiltinLayer(this._clearLayer);
+    return this;
+  };
+  CanvasPainter2.prototype._clearLayer = function(layer) {
+    layer.clear();
+  };
+  CanvasPainter2.prototype.setBackgroundColor = function(backgroundColor2) {
+    this._backgroundColor = backgroundColor2;
+    each$f(this._layers, function(layer) {
+      layer.setUnpainted();
+    });
+  };
+  CanvasPainter2.prototype.configLayer = function(zlevel, config2) {
+    if (config2) {
+      var layerConfig = this._layerConfig;
+      if (!layerConfig[zlevel]) {
+        layerConfig[zlevel] = config2;
+      } else {
+        merge$1(layerConfig[zlevel], config2, true);
+      }
+      for (var i2 = 0; i2 < this._zlevelList.length; i2++) {
+        var _zlevel = this._zlevelList[i2];
+        if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {
+          var layer = this._layers[_zlevel];
+          merge$1(layer, layerConfig[zlevel], true);
+        }
+      }
+    }
+  };
+  CanvasPainter2.prototype.delLayer = function(zlevel) {
+    var layers = this._layers;
+    var zlevelList = this._zlevelList;
+    var layer = layers[zlevel];
+    if (!layer) {
+      return;
+    }
+    layer.dom.parentNode.removeChild(layer.dom);
+    delete layers[zlevel];
+    zlevelList.splice(indexOf(zlevelList, zlevel), 1);
+  };
+  CanvasPainter2.prototype.resize = function(width, height) {
+    if (!this._domRoot.style) {
+      if (width == null || height == null) {
+        return;
+      }
+      this._width = width;
+      this._height = height;
+      this.getLayer(CANVAS_ZLEVEL).resize(width, height);
+    } else {
+      var domRoot = this._domRoot;
+      domRoot.style.display = "none";
+      var opts2 = this._opts;
+      var root = this.root;
+      width != null && (opts2.width = width);
+      height != null && (opts2.height = height);
+      width = getSize$1(root, 0, opts2);
+      height = getSize$1(root, 1, opts2);
+      domRoot.style.display = "";
+      if (this._width !== width || height !== this._height) {
+        domRoot.style.width = width + "px";
+        domRoot.style.height = height + "px";
+        for (var id in this._layers) {
+          if (this._layers.hasOwnProperty(id)) {
+            this._layers[id].resize(width, height);
+          }
+        }
+        this.refresh(true);
+      }
+      this._width = width;
+      this._height = height;
+    }
+    return this;
+  };
+  CanvasPainter2.prototype.clearLayer = function(zlevel) {
+    var layer = this._layers[zlevel];
+    if (layer) {
+      layer.clear();
+    }
+  };
+  CanvasPainter2.prototype.dispose = function() {
+    this.root.innerHTML = "";
+    this.root = this.storage = this._domRoot = this._layers = null;
+  };
+  CanvasPainter2.prototype.getRenderedCanvas = function(opts2) {
+    opts2 = opts2 || {};
+    if (this._singleCanvas && !this._compositeManually) {
+      return this._layers[CANVAS_ZLEVEL].dom;
+    }
+    var imageLayer = new Layer$1("image", this, opts2.pixelRatio || this.dpr);
+    imageLayer.initContext();
+    imageLayer.clear(false, opts2.backgroundColor || this._backgroundColor);
+    var ctx = imageLayer.ctx;
+    if (opts2.pixelRatio <= this.dpr) {
+      this.refresh();
+      var width_1 = imageLayer.dom.width;
+      var height_1 = imageLayer.dom.height;
+      this.eachLayer(function(layer) {
+        if (layer.__builtin__) {
+          ctx.drawImage(layer.dom, 0, 0, width_1, height_1);
+        } else if (layer.renderToCanvas) {
+          ctx.save();
+          layer.renderToCanvas(ctx);
+          ctx.restore();
+        }
+      });
+    } else {
+      var scope = {
+        inHover: false,
+        viewWidth: this._width,
+        viewHeight: this._height
+      };
+      var displayList = this.storage.getDisplayList(true);
+      for (var i2 = 0, len2 = displayList.length; i2 < len2; i2++) {
+        var el = displayList[i2];
+        brush$1(ctx, el, scope, i2 === len2 - 1);
+      }
+    }
+    return imageLayer.dom;
+  };
+  CanvasPainter2.prototype.getWidth = function() {
+    return this._width;
+  };
+  CanvasPainter2.prototype.getHeight = function() {
+    return this._height;
+  };
+  return CanvasPainter2;
+}();
+const CanvasPainter$1 = CanvasPainter;
+function install$R(registers) {
+  registers.registerPainter("canvas", CanvasPainter$1);
+}
+var LineSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(LineSeriesModel2, _super);
+    function LineSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = LineSeriesModel2.type;
+      _this.hasSymbolVisual = true;
+      return _this;
+    }
+    LineSeriesModel2.prototype.getInitialData = function(option) {
+      return createSeriesData(null, this, {
+        useEncodeDefaulter: true
+      });
+    };
+    LineSeriesModel2.prototype.getLegendIcon = function(opt) {
+      var group = new Group$4();
+      var line2 = createSymbol$1("line", 0, opt.itemHeight / 2, opt.itemWidth, 0, opt.lineStyle.stroke, false);
+      group.add(line2);
+      line2.setStyle(opt.lineStyle);
+      var visualType = this.getData().getVisual("symbol");
+      var visualRotate = this.getData().getVisual("symbolRotate");
+      var symbolType = visualType === "none" ? "circle" : visualType;
+      var size = opt.itemHeight * 0.8;
+      var symbol2 = createSymbol$1(symbolType, (opt.itemWidth - size) / 2, (opt.itemHeight - size) / 2, size, size, opt.itemStyle.fill);
+      group.add(symbol2);
+      symbol2.setStyle(opt.itemStyle);
+      var symbolRotate = opt.iconRotate === "inherit" ? visualRotate : opt.iconRotate || 0;
+      symbol2.rotation = symbolRotate * Math.PI / 180;
+      symbol2.setOrigin([opt.itemWidth / 2, opt.itemHeight / 2]);
+      if (symbolType.indexOf("empty") > -1) {
+        symbol2.style.stroke = symbol2.style.fill;
+        symbol2.style.fill = "#fff";
+        symbol2.style.lineWidth = 2;
+      }
+      return group;
+    };
+    LineSeriesModel2.type = "series.line";
+    LineSeriesModel2.dependencies = ["grid", "polar"];
+    LineSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 3,
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      clip: true,
+      label: {
+        position: "top"
+      },
+      // itemStyle: {
+      // },
+      endLabel: {
+        show: false,
+        valueAnimation: true,
+        distance: 8
+      },
+      lineStyle: {
+        width: 2,
+        type: "solid"
+      },
+      emphasis: {
+        scale: true
+      },
+      // areaStyle: {
+      // origin of areaStyle. Valid values:
+      // `'auto'/null/undefined`: from axisLine to data
+      // `'start'`: from min to data
+      // `'end'`: from data to max
+      // origin: 'auto'
+      // },
+      // false, 'start', 'end', 'middle'
+      step: false,
+      // Disabled if step is true
+      smooth: false,
+      smoothMonotone: null,
+      symbol: "emptyCircle",
+      symbolSize: 4,
+      symbolRotate: null,
+      showSymbol: true,
+      // `false`: follow the label interval strategy.
+      // `true`: show all symbols.
+      // `'auto'`: If possible, show all symbols, otherwise
+      //           follow the label interval strategy.
+      showAllSymbol: "auto",
+      // Whether to connect break point.
+      connectNulls: false,
+      // Sampling for large data. Can be: 'average', 'max', 'min', 'sum', 'lttb'.
+      sampling: "none",
+      animationEasing: "linear",
+      // Disable progressive
+      progressive: 0,
+      hoverLayerThreshold: Infinity,
+      universalTransition: {
+        divideShape: "clone"
+      },
+      triggerLineEvent: false
+    };
+    return LineSeriesModel2;
+  }(SeriesModel$1)
+);
+const LineSeries = LineSeriesModel;
+function getDefaultLabel(data2, dataIndex) {
+  var labelDims = data2.mapDimensionsAll("defaultedLabel");
+  var len2 = labelDims.length;
+  if (len2 === 1) {
+    var rawVal = retrieveRawValue(data2, dataIndex, labelDims[0]);
+    return rawVal != null ? rawVal + "" : null;
+  } else if (len2) {
+    var vals = [];
+    for (var i2 = 0; i2 < labelDims.length; i2++) {
+      vals.push(retrieveRawValue(data2, dataIndex, labelDims[i2]));
+    }
+    return vals.join(" ");
+  }
+}
+function getDefaultInterpolatedLabel(data2, interpolatedValue) {
+  var labelDims = data2.mapDimensionsAll("defaultedLabel");
+  if (!isArray$2(interpolatedValue)) {
+    return interpolatedValue + "";
+  }
+  var vals = [];
+  for (var i2 = 0; i2 < labelDims.length; i2++) {
+    var dimIndex = data2.getDimensionIndex(labelDims[i2]);
+    if (dimIndex >= 0) {
+      vals.push(interpolatedValue[dimIndex]);
+    }
+  }
+  return vals.join(" ");
+}
+var Symbol$1 = (
+  /** @class */
+  function(_super) {
+    __extends(Symbol2, _super);
+    function Symbol2(data2, idx, seriesScope, opts2) {
+      var _this = _super.call(this) || this;
+      _this.updateData(data2, idx, seriesScope, opts2);
+      return _this;
+    }
+    Symbol2.prototype._createSymbol = function(symbolType, data2, idx, symbolSize, keepAspect) {
+      this.removeAll();
+      var symbolPath = createSymbol$1(symbolType, -1, -1, 2, 2, null, keepAspect);
+      symbolPath.attr({
+        z2: 100,
+        culling: true,
+        scaleX: symbolSize[0] / 2,
+        scaleY: symbolSize[1] / 2
+      });
+      symbolPath.drift = driftSymbol;
+      this._symbolType = symbolType;
+      this.add(symbolPath);
+    };
+    Symbol2.prototype.stopSymbolAnimation = function(toLastFrame) {
+      this.childAt(0).stopAnimation(null, toLastFrame);
+    };
+    Symbol2.prototype.getSymbolType = function() {
+      return this._symbolType;
+    };
+    Symbol2.prototype.getSymbolPath = function() {
+      return this.childAt(0);
+    };
+    Symbol2.prototype.highlight = function() {
+      enterEmphasis(this.childAt(0));
+    };
+    Symbol2.prototype.downplay = function() {
+      leaveEmphasis(this.childAt(0));
+    };
+    Symbol2.prototype.setZ = function(zlevel, z2) {
+      var symbolPath = this.childAt(0);
+      symbolPath.zlevel = zlevel;
+      symbolPath.z = z2;
+    };
+    Symbol2.prototype.setDraggable = function(draggable, hasCursorOption) {
+      var symbolPath = this.childAt(0);
+      symbolPath.draggable = draggable;
+      symbolPath.cursor = !hasCursorOption && draggable ? "move" : symbolPath.cursor;
+    };
+    Symbol2.prototype.updateData = function(data2, idx, seriesScope, opts2) {
+      this.silent = false;
+      var symbolType = data2.getItemVisual(idx, "symbol") || "circle";
+      var seriesModel = data2.hostModel;
+      var symbolSize = Symbol2.getSymbolSize(data2, idx);
+      var isInit = symbolType !== this._symbolType;
+      var disableAnimation = opts2 && opts2.disableAnimation;
+      if (isInit) {
+        var keepAspect = data2.getItemVisual(idx, "symbolKeepAspect");
+        this._createSymbol(symbolType, data2, idx, symbolSize, keepAspect);
+      } else {
+        var symbolPath = this.childAt(0);
+        symbolPath.silent = false;
+        var target = {
+          scaleX: symbolSize[0] / 2,
+          scaleY: symbolSize[1] / 2
+        };
+        disableAnimation ? symbolPath.attr(target) : updateProps$1(symbolPath, target, seriesModel, idx);
+        saveOldStyle(symbolPath);
+      }
+      this._updateCommon(data2, idx, symbolSize, seriesScope, opts2);
+      if (isInit) {
+        var symbolPath = this.childAt(0);
+        if (!disableAnimation) {
+          var target = {
+            scaleX: this._sizeX,
+            scaleY: this._sizeY,
+            style: {
+              // Always fadeIn. Because it has fadeOut animation when symbol is removed..
+              opacity: symbolPath.style.opacity
+            }
+          };
+          symbolPath.scaleX = symbolPath.scaleY = 0;
+          symbolPath.style.opacity = 0;
+          initProps(symbolPath, target, seriesModel, idx);
+        }
+      }
+      if (disableAnimation) {
+        this.childAt(0).stopAnimation("leave");
+      }
+    };
+    Symbol2.prototype._updateCommon = function(data2, idx, symbolSize, seriesScope, opts2) {
+      var symbolPath = this.childAt(0);
+      var seriesModel = data2.hostModel;
+      var emphasisItemStyle;
+      var blurItemStyle;
+      var selectItemStyle;
+      var focus2;
+      var blurScope;
+      var emphasisDisabled;
+      var labelStatesModels;
+      var hoverScale;
+      var cursorStyle;
+      if (seriesScope) {
+        emphasisItemStyle = seriesScope.emphasisItemStyle;
+        blurItemStyle = seriesScope.blurItemStyle;
+        selectItemStyle = seriesScope.selectItemStyle;
+        focus2 = seriesScope.focus;
+        blurScope = seriesScope.blurScope;
+        labelStatesModels = seriesScope.labelStatesModels;
+        hoverScale = seriesScope.hoverScale;
+        cursorStyle = seriesScope.cursorStyle;
+        emphasisDisabled = seriesScope.emphasisDisabled;
+      }
+      if (!seriesScope || data2.hasItemOption) {
+        var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data2.getItemModel(idx);
+        var emphasisModel = itemModel.getModel("emphasis");
+        emphasisItemStyle = emphasisModel.getModel("itemStyle").getItemStyle();
+        selectItemStyle = itemModel.getModel(["select", "itemStyle"]).getItemStyle();
+        blurItemStyle = itemModel.getModel(["blur", "itemStyle"]).getItemStyle();
+        focus2 = emphasisModel.get("focus");
+        blurScope = emphasisModel.get("blurScope");
+        emphasisDisabled = emphasisModel.get("disabled");
+        labelStatesModels = getLabelStatesModels(itemModel);
+        hoverScale = emphasisModel.getShallow("scale");
+        cursorStyle = itemModel.getShallow("cursor");
+      }
+      var symbolRotate = data2.getItemVisual(idx, "symbolRotate");
+      symbolPath.attr("rotation", (symbolRotate || 0) * Math.PI / 180 || 0);
+      var symbolOffset = normalizeSymbolOffset(data2.getItemVisual(idx, "symbolOffset"), symbolSize);
+      if (symbolOffset) {
+        symbolPath.x = symbolOffset[0];
+        symbolPath.y = symbolOffset[1];
+      }
+      cursorStyle && symbolPath.attr("cursor", cursorStyle);
+      var symbolStyle = data2.getItemVisual(idx, "style");
+      var visualColor = symbolStyle.fill;
+      if (symbolPath instanceof ZRImage$1) {
+        var pathStyle = symbolPath.style;
+        symbolPath.useStyle(extend$1({
+          // TODO other properties like x, y ?
+          image: pathStyle.image,
+          x: pathStyle.x,
+          y: pathStyle.y,
+          width: pathStyle.width,
+          height: pathStyle.height
+        }, symbolStyle));
+      } else {
+        if (symbolPath.__isEmptyBrush) {
+          symbolPath.useStyle(extend$1({}, symbolStyle));
+        } else {
+          symbolPath.useStyle(symbolStyle);
+        }
+        symbolPath.style.decal = null;
+        symbolPath.setColor(visualColor, opts2 && opts2.symbolInnerColor);
+        symbolPath.style.strokeNoScale = true;
+      }
+      var liftZ = data2.getItemVisual(idx, "liftZ");
+      var z2Origin = this._z2;
+      if (liftZ != null) {
+        if (z2Origin == null) {
+          this._z2 = symbolPath.z2;
+          symbolPath.z2 += liftZ;
+        }
+      } else if (z2Origin != null) {
+        symbolPath.z2 = z2Origin;
+        this._z2 = null;
+      }
+      var useNameLabel = opts2 && opts2.useNameLabel;
+      setLabelStyle(symbolPath, labelStatesModels, {
+        labelFetcher: seriesModel,
+        labelDataIndex: idx,
+        defaultText: getLabelDefaultText,
+        inheritColor: visualColor,
+        defaultOpacity: symbolStyle.opacity
+      });
+      function getLabelDefaultText(idx2) {
+        return useNameLabel ? data2.getName(idx2) : getDefaultLabel(data2, idx2);
+      }
+      this._sizeX = symbolSize[0] / 2;
+      this._sizeY = symbolSize[1] / 2;
+      var emphasisState = symbolPath.ensureState("emphasis");
+      emphasisState.style = emphasisItemStyle;
+      symbolPath.ensureState("select").style = selectItemStyle;
+      symbolPath.ensureState("blur").style = blurItemStyle;
+      var scaleRatio = hoverScale == null || hoverScale === true ? Math.max(1.1, 3 / this._sizeY) : isFinite(hoverScale) && hoverScale > 0 ? +hoverScale : 1;
+      emphasisState.scaleX = this._sizeX * scaleRatio;
+      emphasisState.scaleY = this._sizeY * scaleRatio;
+      this.setSymbolScale(1);
+      toggleHoverEmphasis(this, focus2, blurScope, emphasisDisabled);
+    };
+    Symbol2.prototype.setSymbolScale = function(scale2) {
+      this.scaleX = this.scaleY = scale2;
+    };
+    Symbol2.prototype.fadeOut = function(cb, seriesModel, opt) {
+      var symbolPath = this.childAt(0);
+      var dataIndex = getECData(this).dataIndex;
+      var animationOpt = opt && opt.animation;
+      this.silent = symbolPath.silent = true;
+      if (opt && opt.fadeLabel) {
+        var textContent = symbolPath.getTextContent();
+        if (textContent) {
+          removeElement(textContent, {
+            style: {
+              opacity: 0
+            }
+          }, seriesModel, {
+            dataIndex,
+            removeOpt: animationOpt,
+            cb: function() {
+              symbolPath.removeTextContent();
+            }
+          });
+        }
+      } else {
+        symbolPath.removeTextContent();
+      }
+      removeElement(symbolPath, {
+        style: {
+          opacity: 0
+        },
+        scaleX: 0,
+        scaleY: 0
+      }, seriesModel, {
+        dataIndex,
+        cb,
+        removeOpt: animationOpt
+      });
+    };
+    Symbol2.getSymbolSize = function(data2, idx) {
+      return normalizeSymbolSize(data2.getItemVisual(idx, "symbolSize"));
+    };
+    return Symbol2;
+  }(Group$4)
+);
+function driftSymbol(dx, dy) {
+  this.parent.drift(dx, dy);
+}
+const SymbolClz = Symbol$1;
+function symbolNeedsDraw$1(data2, point, idx, opt) {
+  return point && !isNaN(point[0]) && !isNaN(point[1]) && !(opt.isIgnore && opt.isIgnore(idx)) && !(opt.clipShape && !opt.clipShape.contain(point[0], point[1])) && data2.getItemVisual(idx, "symbol") !== "none";
+}
+function normalizeUpdateOpt(opt) {
+  if (opt != null && !isObject$4(opt)) {
+    opt = {
+      isIgnore: opt
+    };
+  }
+  return opt || {};
+}
+function makeSeriesScope$2(data2) {
+  var seriesModel = data2.hostModel;
+  var emphasisModel = seriesModel.getModel("emphasis");
+  return {
+    emphasisItemStyle: emphasisModel.getModel("itemStyle").getItemStyle(),
+    blurItemStyle: seriesModel.getModel(["blur", "itemStyle"]).getItemStyle(),
+    selectItemStyle: seriesModel.getModel(["select", "itemStyle"]).getItemStyle(),
+    focus: emphasisModel.get("focus"),
+    blurScope: emphasisModel.get("blurScope"),
+    emphasisDisabled: emphasisModel.get("disabled"),
+    hoverScale: emphasisModel.get("scale"),
+    labelStatesModels: getLabelStatesModels(seriesModel),
+    cursorStyle: seriesModel.get("cursor")
+  };
+}
+var SymbolDraw = (
+  /** @class */
+  function() {
+    function SymbolDraw2(SymbolCtor) {
+      this.group = new Group$4();
+      this._SymbolCtor = SymbolCtor || SymbolClz;
+    }
+    SymbolDraw2.prototype.updateData = function(data2, opt) {
+      this._progressiveEls = null;
+      opt = normalizeUpdateOpt(opt);
+      var group = this.group;
+      var seriesModel = data2.hostModel;
+      var oldData = this._data;
+      var SymbolCtor = this._SymbolCtor;
+      var disableAnimation = opt.disableAnimation;
+      var seriesScope = makeSeriesScope$2(data2);
+      var symbolUpdateOpt = {
+        disableAnimation
+      };
+      var getSymbolPoint = opt.getSymbolPoint || function(idx) {
+        return data2.getItemLayout(idx);
+      };
+      if (!oldData) {
+        group.removeAll();
+      }
+      data2.diff(oldData).add(function(newIdx) {
+        var point = getSymbolPoint(newIdx);
+        if (symbolNeedsDraw$1(data2, point, newIdx, opt)) {
+          var symbolEl = new SymbolCtor(data2, newIdx, seriesScope, symbolUpdateOpt);
+          symbolEl.setPosition(point);
+          data2.setItemGraphicEl(newIdx, symbolEl);
+          group.add(symbolEl);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        var point = getSymbolPoint(newIdx);
+        if (!symbolNeedsDraw$1(data2, point, newIdx, opt)) {
+          group.remove(symbolEl);
+          return;
+        }
+        var newSymbolType = data2.getItemVisual(newIdx, "symbol") || "circle";
+        var oldSymbolType = symbolEl && symbolEl.getSymbolType && symbolEl.getSymbolType();
+        if (!symbolEl || oldSymbolType && oldSymbolType !== newSymbolType) {
+          group.remove(symbolEl);
+          symbolEl = new SymbolCtor(data2, newIdx, seriesScope, symbolUpdateOpt);
+          symbolEl.setPosition(point);
+        } else {
+          symbolEl.updateData(data2, newIdx, seriesScope, symbolUpdateOpt);
+          var target = {
+            x: point[0],
+            y: point[1]
+          };
+          disableAnimation ? symbolEl.attr(target) : updateProps$1(symbolEl, target, seriesModel);
+        }
+        group.add(symbolEl);
+        data2.setItemGraphicEl(newIdx, symbolEl);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && el.fadeOut(function() {
+          group.remove(el);
+        }, seriesModel);
+      }).execute();
+      this._getSymbolPoint = getSymbolPoint;
+      this._data = data2;
+    };
+    SymbolDraw2.prototype.updateLayout = function() {
+      var _this = this;
+      var data2 = this._data;
+      if (data2) {
+        data2.eachItemGraphicEl(function(el, idx) {
+          var point = _this._getSymbolPoint(idx);
+          el.setPosition(point);
+          el.markRedraw();
+        });
+      }
+    };
+    SymbolDraw2.prototype.incrementalPrepareUpdate = function(data2) {
+      this._seriesScope = makeSeriesScope$2(data2);
+      this._data = null;
+      this.group.removeAll();
+    };
+    SymbolDraw2.prototype.incrementalUpdate = function(taskParams, data2, opt) {
+      this._progressiveEls = [];
+      opt = normalizeUpdateOpt(opt);
+      function updateIncrementalAndHover(el2) {
+        if (!el2.isGroup) {
+          el2.incremental = true;
+          el2.ensureState("emphasis").hoverLayer = true;
+        }
+      }
+      for (var idx = taskParams.start; idx < taskParams.end; idx++) {
+        var point = data2.getItemLayout(idx);
+        if (symbolNeedsDraw$1(data2, point, idx, opt)) {
+          var el = new this._SymbolCtor(data2, idx, this._seriesScope);
+          el.traverse(updateIncrementalAndHover);
+          el.setPosition(point);
+          this.group.add(el);
+          data2.setItemGraphicEl(idx, el);
+          this._progressiveEls.push(el);
+        }
+      }
+    };
+    SymbolDraw2.prototype.eachRendered = function(cb) {
+      traverseElements(this._progressiveEls || this.group, cb);
+    };
+    SymbolDraw2.prototype.remove = function(enableAnimation) {
+      var group = this.group;
+      var data2 = this._data;
+      if (data2 && enableAnimation) {
+        data2.eachItemGraphicEl(function(el) {
+          el.fadeOut(function() {
+            group.remove(el);
+          }, data2.hostModel);
+        });
+      } else {
+        group.removeAll();
+      }
+    };
+    return SymbolDraw2;
+  }()
+);
+const SymbolDraw$1 = SymbolDraw;
+function prepareDataCoordInfo(coordSys, data2, valueOrigin) {
+  var baseAxis = coordSys.getBaseAxis();
+  var valueAxis2 = coordSys.getOtherAxis(baseAxis);
+  var valueStart = getValueStart(valueAxis2, valueOrigin);
+  var baseAxisDim = baseAxis.dim;
+  var valueAxisDim = valueAxis2.dim;
+  var valueDim = data2.mapDimension(valueAxisDim);
+  var baseDim = data2.mapDimension(baseAxisDim);
+  var baseDataOffset = valueAxisDim === "x" || valueAxisDim === "radius" ? 1 : 0;
+  var dims = map$1(coordSys.dimensions, function(coordDim) {
+    return data2.mapDimension(coordDim);
+  });
+  var stacked = false;
+  var stackResultDim = data2.getCalculationInfo("stackResultDimension");
+  if (isDimensionStacked(
+    data2,
+    dims[0]
+    /* , dims[1] */
+  )) {
+    stacked = true;
+    dims[0] = stackResultDim;
+  }
+  if (isDimensionStacked(
+    data2,
+    dims[1]
+    /* , dims[0] */
+  )) {
+    stacked = true;
+    dims[1] = stackResultDim;
+  }
+  return {
+    dataDimsForPoint: dims,
+    valueStart,
+    valueAxisDim,
+    baseAxisDim,
+    stacked: !!stacked,
+    valueDim,
+    baseDim,
+    baseDataOffset,
+    stackedOverDimension: data2.getCalculationInfo("stackedOverDimension")
+  };
+}
+function getValueStart(valueAxis2, valueOrigin) {
+  var valueStart = 0;
+  var extent3 = valueAxis2.scale.getExtent();
+  if (valueOrigin === "start") {
+    valueStart = extent3[0];
+  } else if (valueOrigin === "end") {
+    valueStart = extent3[1];
+  } else if (isNumber$1(valueOrigin) && !isNaN(valueOrigin)) {
+    valueStart = valueOrigin;
+  } else {
+    if (extent3[0] > 0) {
+      valueStart = extent3[0];
+    } else if (extent3[1] < 0) {
+      valueStart = extent3[1];
+    }
+  }
+  return valueStart;
+}
+function getStackedOnPoint(dataCoordInfo, coordSys, data2, idx) {
+  var value = NaN;
+  if (dataCoordInfo.stacked) {
+    value = data2.get(data2.getCalculationInfo("stackedOverDimension"), idx);
+  }
+  if (isNaN(value)) {
+    value = dataCoordInfo.valueStart;
+  }
+  var baseDataOffset = dataCoordInfo.baseDataOffset;
+  var stackedData = [];
+  stackedData[baseDataOffset] = data2.get(dataCoordInfo.baseDim, idx);
+  stackedData[1 - baseDataOffset] = value;
+  return coordSys.dataToPoint(stackedData);
+}
+function diffData(oldData, newData) {
+  var diffResult = [];
+  newData.diff(oldData).add(function(idx) {
+    diffResult.push({
+      cmd: "+",
+      idx
+    });
+  }).update(function(newIdx, oldIdx) {
+    diffResult.push({
+      cmd: "=",
+      idx: oldIdx,
+      idx1: newIdx
+    });
+  }).remove(function(idx) {
+    diffResult.push({
+      cmd: "-",
+      idx
+    });
+  }).execute();
+  return diffResult;
+}
+function lineAnimationDiff(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {
+  var diff = diffData(oldData, newData);
+  var currPoints = [];
+  var nextPoints = [];
+  var currStackedPoints = [];
+  var nextStackedPoints = [];
+  var status = [];
+  var sortedIndices = [];
+  var rawIndices = [];
+  var newDataOldCoordInfo = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin);
+  var oldPoints = oldData.getLayout("points") || [];
+  var newPoints = newData.getLayout("points") || [];
+  for (var i2 = 0; i2 < diff.length; i2++) {
+    var diffItem = diff[i2];
+    var pointAdded = true;
+    var oldIdx2 = void 0;
+    var newIdx2 = void 0;
+    switch (diffItem.cmd) {
+      case "=":
+        oldIdx2 = diffItem.idx * 2;
+        newIdx2 = diffItem.idx1 * 2;
+        var currentX = oldPoints[oldIdx2];
+        var currentY = oldPoints[oldIdx2 + 1];
+        var nextX = newPoints[newIdx2];
+        var nextY = newPoints[newIdx2 + 1];
+        if (isNaN(currentX) || isNaN(currentY)) {
+          currentX = nextX;
+          currentY = nextY;
+        }
+        currPoints.push(currentX, currentY);
+        nextPoints.push(nextX, nextY);
+        currStackedPoints.push(oldStackedOnPoints[oldIdx2], oldStackedOnPoints[oldIdx2 + 1]);
+        nextStackedPoints.push(newStackedOnPoints[newIdx2], newStackedOnPoints[newIdx2 + 1]);
+        rawIndices.push(newData.getRawIndex(diffItem.idx1));
+        break;
+      case "+":
+        var newIdx = diffItem.idx;
+        var newDataDimsForPoint = newDataOldCoordInfo.dataDimsForPoint;
+        var oldPt = oldCoordSys.dataToPoint([newData.get(newDataDimsForPoint[0], newIdx), newData.get(newDataDimsForPoint[1], newIdx)]);
+        newIdx2 = newIdx * 2;
+        currPoints.push(oldPt[0], oldPt[1]);
+        nextPoints.push(newPoints[newIdx2], newPoints[newIdx2 + 1]);
+        var stackedOnPoint = getStackedOnPoint(newDataOldCoordInfo, oldCoordSys, newData, newIdx);
+        currStackedPoints.push(stackedOnPoint[0], stackedOnPoint[1]);
+        nextStackedPoints.push(newStackedOnPoints[newIdx2], newStackedOnPoints[newIdx2 + 1]);
+        rawIndices.push(newData.getRawIndex(newIdx));
+        break;
+      case "-":
+        pointAdded = false;
+    }
+    if (pointAdded) {
+      status.push(diffItem);
+      sortedIndices.push(sortedIndices.length);
+    }
+  }
+  sortedIndices.sort(function(a2, b2) {
+    return rawIndices[a2] - rawIndices[b2];
+  });
+  var len2 = currPoints.length;
+  var sortedCurrPoints = createFloat32Array(len2);
+  var sortedNextPoints = createFloat32Array(len2);
+  var sortedCurrStackedPoints = createFloat32Array(len2);
+  var sortedNextStackedPoints = createFloat32Array(len2);
+  var sortedStatus = [];
+  for (var i2 = 0; i2 < sortedIndices.length; i2++) {
+    var idx = sortedIndices[i2];
+    var i22 = i2 * 2;
+    var idx2 = idx * 2;
+    sortedCurrPoints[i22] = currPoints[idx2];
+    sortedCurrPoints[i22 + 1] = currPoints[idx2 + 1];
+    sortedNextPoints[i22] = nextPoints[idx2];
+    sortedNextPoints[i22 + 1] = nextPoints[idx2 + 1];
+    sortedCurrStackedPoints[i22] = currStackedPoints[idx2];
+    sortedCurrStackedPoints[i22 + 1] = currStackedPoints[idx2 + 1];
+    sortedNextStackedPoints[i22] = nextStackedPoints[idx2];
+    sortedNextStackedPoints[i22 + 1] = nextStackedPoints[idx2 + 1];
+    sortedStatus[i2] = status[idx];
+  }
+  return {
+    current: sortedCurrPoints,
+    next: sortedNextPoints,
+    stackedOnCurrent: sortedCurrStackedPoints,
+    stackedOnNext: sortedNextStackedPoints,
+    status: sortedStatus
+  };
+}
+var mathMin$5 = Math.min;
+var mathMax$5 = Math.max;
+function isPointNull$1(x2, y2) {
+  return isNaN(x2) || isNaN(y2);
+}
+function drawSegment(ctx, points2, start2, segLen, allLen, dir3, smooth, smoothMonotone, connectNulls) {
+  var prevX;
+  var prevY;
+  var cpx0;
+  var cpy0;
+  var cpx1;
+  var cpy1;
+  var idx = start2;
+  var k2 = 0;
+  for (; k2 < segLen; k2++) {
+    var x2 = points2[idx * 2];
+    var y2 = points2[idx * 2 + 1];
+    if (idx >= allLen || idx < 0) {
+      break;
+    }
+    if (isPointNull$1(x2, y2)) {
+      if (connectNulls) {
+        idx += dir3;
+        continue;
+      }
+      break;
+    }
+    if (idx === start2) {
+      ctx[dir3 > 0 ? "moveTo" : "lineTo"](x2, y2);
+      cpx0 = x2;
+      cpy0 = y2;
+    } else {
+      var dx = x2 - prevX;
+      var dy = y2 - prevY;
+      if (dx * dx + dy * dy < 0.5) {
+        idx += dir3;
+        continue;
+      }
+      if (smooth > 0) {
+        var nextIdx = idx + dir3;
+        var nextX = points2[nextIdx * 2];
+        var nextY = points2[nextIdx * 2 + 1];
+        while (nextX === x2 && nextY === y2 && k2 < segLen) {
+          k2++;
+          nextIdx += dir3;
+          idx += dir3;
+          nextX = points2[nextIdx * 2];
+          nextY = points2[nextIdx * 2 + 1];
+          x2 = points2[idx * 2];
+          y2 = points2[idx * 2 + 1];
+          dx = x2 - prevX;
+          dy = y2 - prevY;
+        }
+        var tmpK = k2 + 1;
+        if (connectNulls) {
+          while (isPointNull$1(nextX, nextY) && tmpK < segLen) {
+            tmpK++;
+            nextIdx += dir3;
+            nextX = points2[nextIdx * 2];
+            nextY = points2[nextIdx * 2 + 1];
+          }
+        }
+        var ratioNextSeg = 0.5;
+        var vx = 0;
+        var vy = 0;
+        var nextCpx0 = void 0;
+        var nextCpy0 = void 0;
+        if (tmpK >= segLen || isPointNull$1(nextX, nextY)) {
+          cpx1 = x2;
+          cpy1 = y2;
+        } else {
+          vx = nextX - prevX;
+          vy = nextY - prevY;
+          var dx0 = x2 - prevX;
+          var dx1 = nextX - x2;
+          var dy0 = y2 - prevY;
+          var dy1 = nextY - y2;
+          var lenPrevSeg = void 0;
+          var lenNextSeg = void 0;
+          if (smoothMonotone === "x") {
+            lenPrevSeg = Math.abs(dx0);
+            lenNextSeg = Math.abs(dx1);
+            var dir_1 = vx > 0 ? 1 : -1;
+            cpx1 = x2 - dir_1 * lenPrevSeg * smooth;
+            cpy1 = y2;
+            nextCpx0 = x2 + dir_1 * lenNextSeg * smooth;
+            nextCpy0 = y2;
+          } else if (smoothMonotone === "y") {
+            lenPrevSeg = Math.abs(dy0);
+            lenNextSeg = Math.abs(dy1);
+            var dir_2 = vy > 0 ? 1 : -1;
+            cpx1 = x2;
+            cpy1 = y2 - dir_2 * lenPrevSeg * smooth;
+            nextCpx0 = x2;
+            nextCpy0 = y2 + dir_2 * lenNextSeg * smooth;
+          } else {
+            lenPrevSeg = Math.sqrt(dx0 * dx0 + dy0 * dy0);
+            lenNextSeg = Math.sqrt(dx1 * dx1 + dy1 * dy1);
+            ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);
+            cpx1 = x2 - vx * smooth * (1 - ratioNextSeg);
+            cpy1 = y2 - vy * smooth * (1 - ratioNextSeg);
+            nextCpx0 = x2 + vx * smooth * ratioNextSeg;
+            nextCpy0 = y2 + vy * smooth * ratioNextSeg;
+            nextCpx0 = mathMin$5(nextCpx0, mathMax$5(nextX, x2));
+            nextCpy0 = mathMin$5(nextCpy0, mathMax$5(nextY, y2));
+            nextCpx0 = mathMax$5(nextCpx0, mathMin$5(nextX, x2));
+            nextCpy0 = mathMax$5(nextCpy0, mathMin$5(nextY, y2));
+            vx = nextCpx0 - x2;
+            vy = nextCpy0 - y2;
+            cpx1 = x2 - vx * lenPrevSeg / lenNextSeg;
+            cpy1 = y2 - vy * lenPrevSeg / lenNextSeg;
+            cpx1 = mathMin$5(cpx1, mathMax$5(prevX, x2));
+            cpy1 = mathMin$5(cpy1, mathMax$5(prevY, y2));
+            cpx1 = mathMax$5(cpx1, mathMin$5(prevX, x2));
+            cpy1 = mathMax$5(cpy1, mathMin$5(prevY, y2));
+            vx = x2 - cpx1;
+            vy = y2 - cpy1;
+            nextCpx0 = x2 + vx * lenNextSeg / lenPrevSeg;
+            nextCpy0 = y2 + vy * lenNextSeg / lenPrevSeg;
+          }
+        }
+        ctx.bezierCurveTo(cpx0, cpy0, cpx1, cpy1, x2, y2);
+        cpx0 = nextCpx0;
+        cpy0 = nextCpy0;
+      } else {
+        ctx.lineTo(x2, y2);
+      }
+    }
+    prevX = x2;
+    prevY = y2;
+    idx += dir3;
+  }
+  return k2;
+}
+var ECPolylineShape = (
+  /** @class */
+  function() {
+    function ECPolylineShape2() {
+      this.smooth = 0;
+      this.smoothConstraint = true;
+    }
+    return ECPolylineShape2;
+  }()
+);
+var ECPolyline = (
+  /** @class */
+  function(_super) {
+    __extends(ECPolyline2, _super);
+    function ECPolyline2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "ec-polyline";
+      return _this;
+    }
+    ECPolyline2.prototype.getDefaultStyle = function() {
+      return {
+        stroke: "#000",
+        fill: null
+      };
+    };
+    ECPolyline2.prototype.getDefaultShape = function() {
+      return new ECPolylineShape();
+    };
+    ECPolyline2.prototype.buildPath = function(ctx, shape) {
+      var points2 = shape.points;
+      var i2 = 0;
+      var len2 = points2.length / 2;
+      if (shape.connectNulls) {
+        for (; len2 > 0; len2--) {
+          if (!isPointNull$1(points2[len2 * 2 - 2], points2[len2 * 2 - 1])) {
+            break;
+          }
+        }
+        for (; i2 < len2; i2++) {
+          if (!isPointNull$1(points2[i2 * 2], points2[i2 * 2 + 1])) {
+            break;
+          }
+        }
+      }
+      while (i2 < len2) {
+        i2 += drawSegment(ctx, points2, i2, len2, len2, 1, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;
+      }
+    };
+    ECPolyline2.prototype.getPointOn = function(xOrY, dim) {
+      if (!this.path) {
+        this.createPathProxy();
+        this.buildPath(this.path, this.shape);
+      }
+      var path2 = this.path;
+      var data2 = path2.data;
+      var CMD2 = PathProxy$1.CMD;
+      var x0;
+      var y0;
+      var isDimX = dim === "x";
+      var roots2 = [];
+      for (var i2 = 0; i2 < data2.length; ) {
+        var cmd = data2[i2++];
+        var x2 = void 0;
+        var y2 = void 0;
+        var x22 = void 0;
+        var y22 = void 0;
+        var x3 = void 0;
+        var y3 = void 0;
+        var t2 = void 0;
+        switch (cmd) {
+          case CMD2.M:
+            x0 = data2[i2++];
+            y0 = data2[i2++];
+            break;
+          case CMD2.L:
+            x2 = data2[i2++];
+            y2 = data2[i2++];
+            t2 = isDimX ? (xOrY - x0) / (x2 - x0) : (xOrY - y0) / (y2 - y0);
+            if (t2 <= 1 && t2 >= 0) {
+              var val = isDimX ? (y2 - y0) * t2 + y0 : (x2 - x0) * t2 + x0;
+              return isDimX ? [xOrY, val] : [val, xOrY];
+            }
+            x0 = x2;
+            y0 = y2;
+            break;
+          case CMD2.C:
+            x2 = data2[i2++];
+            y2 = data2[i2++];
+            x22 = data2[i2++];
+            y22 = data2[i2++];
+            x3 = data2[i2++];
+            y3 = data2[i2++];
+            var nRoot = isDimX ? cubicRootAt(x0, x2, x22, x3, xOrY, roots2) : cubicRootAt(y0, y2, y22, y3, xOrY, roots2);
+            if (nRoot > 0) {
+              for (var i_1 = 0; i_1 < nRoot; i_1++) {
+                var t_1 = roots2[i_1];
+                if (t_1 <= 1 && t_1 >= 0) {
+                  var val = isDimX ? cubicAt(y0, y2, y22, y3, t_1) : cubicAt(x0, x2, x22, x3, t_1);
+                  return isDimX ? [xOrY, val] : [val, xOrY];
+                }
+              }
+            }
+            x0 = x3;
+            y0 = y3;
+            break;
+        }
+      }
+    };
+    return ECPolyline2;
+  }(Path$1)
+);
+var ECPolygonShape = (
+  /** @class */
+  function(_super) {
+    __extends(ECPolygonShape2, _super);
+    function ECPolygonShape2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    return ECPolygonShape2;
+  }(ECPolylineShape)
+);
+var ECPolygon = (
+  /** @class */
+  function(_super) {
+    __extends(ECPolygon2, _super);
+    function ECPolygon2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "ec-polygon";
+      return _this;
+    }
+    ECPolygon2.prototype.getDefaultShape = function() {
+      return new ECPolygonShape();
+    };
+    ECPolygon2.prototype.buildPath = function(ctx, shape) {
+      var points2 = shape.points;
+      var stackedOnPoints = shape.stackedOnPoints;
+      var i2 = 0;
+      var len2 = points2.length / 2;
+      var smoothMonotone = shape.smoothMonotone;
+      if (shape.connectNulls) {
+        for (; len2 > 0; len2--) {
+          if (!isPointNull$1(points2[len2 * 2 - 2], points2[len2 * 2 - 1])) {
+            break;
+          }
+        }
+        for (; i2 < len2; i2++) {
+          if (!isPointNull$1(points2[i2 * 2], points2[i2 * 2 + 1])) {
+            break;
+          }
+        }
+      }
+      while (i2 < len2) {
+        var k2 = drawSegment(ctx, points2, i2, len2, len2, 1, shape.smooth, smoothMonotone, shape.connectNulls);
+        drawSegment(ctx, stackedOnPoints, i2 + k2 - 1, k2, len2, -1, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);
+        i2 += k2 + 1;
+        ctx.closePath();
+      }
+    };
+    return ECPolygon2;
+  }(Path$1)
+);
+function createGridClipPath(cartesian, hasAnimation, seriesModel, done, during) {
+  var rect = cartesian.getArea();
+  var x2 = rect.x;
+  var y2 = rect.y;
+  var width = rect.width;
+  var height = rect.height;
+  var lineWidth = seriesModel.get(["lineStyle", "width"]) || 2;
+  x2 -= lineWidth / 2;
+  y2 -= lineWidth / 2;
+  width += lineWidth;
+  height += lineWidth;
+  x2 = Math.floor(x2);
+  width = Math.round(width);
+  var clipPath = new Rect$3({
+    shape: {
+      x: x2,
+      y: y2,
+      width,
+      height
+    }
+  });
+  if (hasAnimation) {
+    var baseAxis = cartesian.getBaseAxis();
+    var isHorizontal = baseAxis.isHorizontal();
+    var isAxisInversed = baseAxis.inverse;
+    if (isHorizontal) {
+      if (isAxisInversed) {
+        clipPath.shape.x += width;
+      }
+      clipPath.shape.width = 0;
+    } else {
+      if (!isAxisInversed) {
+        clipPath.shape.y += height;
+      }
+      clipPath.shape.height = 0;
+    }
+    var duringCb = isFunction$1(during) ? function(percent) {
+      during(percent, clipPath);
+    } : null;
+    initProps(clipPath, {
+      shape: {
+        width,
+        height,
+        x: x2,
+        y: y2
+      }
+    }, seriesModel, null, done, duringCb);
+  }
+  return clipPath;
+}
+function createPolarClipPath(polar2, hasAnimation, seriesModel) {
+  var sectorArea = polar2.getArea();
+  var r0 = round$3(sectorArea.r0, 1);
+  var r2 = round$3(sectorArea.r, 1);
+  var clipPath = new Sector$1({
+    shape: {
+      cx: round$3(polar2.cx, 1),
+      cy: round$3(polar2.cy, 1),
+      r0,
+      r: r2,
+      startAngle: sectorArea.startAngle,
+      endAngle: sectorArea.endAngle,
+      clockwise: sectorArea.clockwise
+    }
+  });
+  if (hasAnimation) {
+    var isRadial = polar2.getBaseAxis().dim === "angle";
+    if (isRadial) {
+      clipPath.shape.endAngle = sectorArea.startAngle;
+    } else {
+      clipPath.shape.r = r0;
+    }
+    initProps(clipPath, {
+      shape: {
+        endAngle: sectorArea.endAngle,
+        r: r2
+      }
+    }, seriesModel);
+  }
+  return clipPath;
+}
+function createClipPath(coordSys, hasAnimation, seriesModel, done, during) {
+  if (!coordSys) {
+    return null;
+  } else if (coordSys.type === "polar") {
+    return createPolarClipPath(coordSys, hasAnimation, seriesModel);
+  } else if (coordSys.type === "cartesian2d") {
+    return createGridClipPath(coordSys, hasAnimation, seriesModel, done, during);
+  }
+  return null;
+}
+function isCoordinateSystemType(coordSys, type2) {
+  return coordSys.type === type2;
+}
+function isPointsSame(points1, points2) {
+  if (points1.length !== points2.length) {
+    return;
+  }
+  for (var i2 = 0; i2 < points1.length; i2++) {
+    if (points1[i2] !== points2[i2]) {
+      return;
+    }
+  }
+  return true;
+}
+function bboxFromPoints(points2) {
+  var minX = Infinity;
+  var minY = Infinity;
+  var maxX = -Infinity;
+  var maxY = -Infinity;
+  for (var i2 = 0; i2 < points2.length; ) {
+    var x2 = points2[i2++];
+    var y2 = points2[i2++];
+    if (!isNaN(x2)) {
+      minX = Math.min(x2, minX);
+      maxX = Math.max(x2, maxX);
+    }
+    if (!isNaN(y2)) {
+      minY = Math.min(y2, minY);
+      maxY = Math.max(y2, maxY);
+    }
+  }
+  return [[minX, minY], [maxX, maxY]];
+}
+function getBoundingDiff(points1, points2) {
+  var _a2 = bboxFromPoints(points1), min1 = _a2[0], max1 = _a2[1];
+  var _b2 = bboxFromPoints(points2), min22 = _b2[0], max22 = _b2[1];
+  return Math.max(Math.abs(min1[0] - min22[0]), Math.abs(min1[1] - min22[1]), Math.abs(max1[0] - max22[0]), Math.abs(max1[1] - max22[1]));
+}
+function getSmooth(smooth) {
+  return isNumber$1(smooth) ? smooth : smooth ? 0.5 : 0;
+}
+function getStackedOnPoints(coordSys, data2, dataCoordInfo) {
+  if (!dataCoordInfo.valueDim) {
+    return [];
+  }
+  var len2 = data2.count();
+  var points2 = createFloat32Array(len2 * 2);
+  for (var idx = 0; idx < len2; idx++) {
+    var pt = getStackedOnPoint(dataCoordInfo, coordSys, data2, idx);
+    points2[idx * 2] = pt[0];
+    points2[idx * 2 + 1] = pt[1];
+  }
+  return points2;
+}
+function turnPointsIntoStep(points2, coordSys, stepTurnAt, connectNulls) {
+  var baseAxis = coordSys.getBaseAxis();
+  var baseIndex = baseAxis.dim === "x" || baseAxis.dim === "radius" ? 0 : 1;
+  var stepPoints = [];
+  var i2 = 0;
+  var stepPt = [];
+  var pt = [];
+  var nextPt = [];
+  var filteredPoints = [];
+  if (connectNulls) {
+    for (i2 = 0; i2 < points2.length; i2 += 2) {
+      if (!isNaN(points2[i2]) && !isNaN(points2[i2 + 1])) {
+        filteredPoints.push(points2[i2], points2[i2 + 1]);
+      }
+    }
+    points2 = filteredPoints;
+  }
+  for (i2 = 0; i2 < points2.length - 2; i2 += 2) {
+    nextPt[0] = points2[i2 + 2];
+    nextPt[1] = points2[i2 + 3];
+    pt[0] = points2[i2];
+    pt[1] = points2[i2 + 1];
+    stepPoints.push(pt[0], pt[1]);
+    switch (stepTurnAt) {
+      case "end":
+        stepPt[baseIndex] = nextPt[baseIndex];
+        stepPt[1 - baseIndex] = pt[1 - baseIndex];
+        stepPoints.push(stepPt[0], stepPt[1]);
+        break;
+      case "middle":
+        var middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;
+        var stepPt2 = [];
+        stepPt[baseIndex] = stepPt2[baseIndex] = middle;
+        stepPt[1 - baseIndex] = pt[1 - baseIndex];
+        stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];
+        stepPoints.push(stepPt[0], stepPt[1]);
+        stepPoints.push(stepPt2[0], stepPt2[1]);
+        break;
+      default:
+        stepPt[baseIndex] = pt[baseIndex];
+        stepPt[1 - baseIndex] = nextPt[1 - baseIndex];
+        stepPoints.push(stepPt[0], stepPt[1]);
+    }
+  }
+  stepPoints.push(points2[i2++], points2[i2++]);
+  return stepPoints;
+}
+function clipColorStops(colorStops, maxSize) {
+  var newColorStops = [];
+  var len2 = colorStops.length;
+  var prevOutOfRangeColorStop;
+  var prevInRangeColorStop;
+  function lerpStop(stop0, stop1, clippedCoord) {
+    var coord0 = stop0.coord;
+    var p2 = (clippedCoord - coord0) / (stop1.coord - coord0);
+    var color2 = lerp(p2, [stop0.color, stop1.color]);
+    return {
+      coord: clippedCoord,
+      color: color2
+    };
+  }
+  for (var i2 = 0; i2 < len2; i2++) {
+    var stop_1 = colorStops[i2];
+    var coord = stop_1.coord;
+    if (coord < 0) {
+      prevOutOfRangeColorStop = stop_1;
+    } else if (coord > maxSize) {
+      if (prevInRangeColorStop) {
+        newColorStops.push(lerpStop(prevInRangeColorStop, stop_1, maxSize));
+      } else if (prevOutOfRangeColorStop) {
+        newColorStops.push(lerpStop(prevOutOfRangeColorStop, stop_1, 0), lerpStop(prevOutOfRangeColorStop, stop_1, maxSize));
+      }
+      break;
+    } else {
+      if (prevOutOfRangeColorStop) {
+        newColorStops.push(lerpStop(prevOutOfRangeColorStop, stop_1, 0));
+        prevOutOfRangeColorStop = null;
+      }
+      newColorStops.push(stop_1);
+      prevInRangeColorStop = stop_1;
+    }
+  }
+  return newColorStops;
+}
+function getVisualGradient(data2, coordSys, api2) {
+  var visualMetaList = data2.getVisual("visualMeta");
+  if (!visualMetaList || !visualMetaList.length || !data2.count()) {
+    return;
+  }
+  if (coordSys.type !== "cartesian2d") {
+    return;
+  }
+  var coordDim;
+  var visualMeta;
+  for (var i2 = visualMetaList.length - 1; i2 >= 0; i2--) {
+    var dimInfo = data2.getDimensionInfo(visualMetaList[i2].dimension);
+    coordDim = dimInfo && dimInfo.coordDim;
+    if (coordDim === "x" || coordDim === "y") {
+      visualMeta = visualMetaList[i2];
+      break;
+    }
+  }
+  if (!visualMeta) {
+    return;
+  }
+  var axis2 = coordSys.getAxis(coordDim);
+  var colorStops = map$1(visualMeta.stops, function(stop2) {
+    return {
+      coord: axis2.toGlobalCoord(axis2.dataToCoord(stop2.value)),
+      color: stop2.color
+    };
+  });
+  var stopLen = colorStops.length;
+  var outerColors = visualMeta.outerColors.slice();
+  if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {
+    colorStops.reverse();
+    outerColors.reverse();
+  }
+  var colorStopsInRange = clipColorStops(colorStops, coordDim === "x" ? api2.getWidth() : api2.getHeight());
+  var inRangeStopLen = colorStopsInRange.length;
+  if (!inRangeStopLen && stopLen) {
+    return colorStops[0].coord < 0 ? outerColors[1] ? outerColors[1] : colorStops[stopLen - 1].color : outerColors[0] ? outerColors[0] : colorStops[0].color;
+  }
+  var tinyExtent = 10;
+  var minCoord = colorStopsInRange[0].coord - tinyExtent;
+  var maxCoord = colorStopsInRange[inRangeStopLen - 1].coord + tinyExtent;
+  var coordSpan = maxCoord - minCoord;
+  if (coordSpan < 1e-3) {
+    return "transparent";
+  }
+  each$f(colorStopsInRange, function(stop2) {
+    stop2.offset = (stop2.coord - minCoord) / coordSpan;
+  });
+  colorStopsInRange.push({
+    // NOTE: inRangeStopLen may still be 0 if stoplen is zero.
+    offset: inRangeStopLen ? colorStopsInRange[inRangeStopLen - 1].offset : 0.5,
+    color: outerColors[1] || "transparent"
+  });
+  colorStopsInRange.unshift({
+    offset: inRangeStopLen ? colorStopsInRange[0].offset : 0.5,
+    color: outerColors[0] || "transparent"
+  });
+  var gradient = new LinearGradient$1(0, 0, 0, 0, colorStopsInRange, true);
+  gradient[coordDim] = minCoord;
+  gradient[coordDim + "2"] = maxCoord;
+  return gradient;
+}
+function getIsIgnoreFunc(seriesModel, data2, coordSys) {
+  var showAllSymbol = seriesModel.get("showAllSymbol");
+  var isAuto = showAllSymbol === "auto";
+  if (showAllSymbol && !isAuto) {
+    return;
+  }
+  var categoryAxis2 = coordSys.getAxesByScale("ordinal")[0];
+  if (!categoryAxis2) {
+    return;
+  }
+  if (isAuto && canShowAllSymbolForCategory(categoryAxis2, data2)) {
+    return;
+  }
+  var categoryDataDim = data2.mapDimension(categoryAxis2.dim);
+  var labelMap = {};
+  each$f(categoryAxis2.getViewLabels(), function(labelItem) {
+    var ordinalNumber = categoryAxis2.scale.getRawOrdinalNumber(labelItem.tickValue);
+    labelMap[ordinalNumber] = 1;
+  });
+  return function(dataIndex) {
+    return !labelMap.hasOwnProperty(data2.get(categoryDataDim, dataIndex));
+  };
+}
+function canShowAllSymbolForCategory(categoryAxis2, data2) {
+  var axisExtent = categoryAxis2.getExtent();
+  var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis2.scale.count();
+  isNaN(availSize) && (availSize = 0);
+  var dataLen = data2.count();
+  var step2 = Math.max(1, Math.round(dataLen / 5));
+  for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step2) {
+    if (SymbolClz.getSymbolSize(
+      data2,
+      dataIndex
+      // Only for cartesian, where `isHorizontal` exists.
+    )[categoryAxis2.isHorizontal() ? 1 : 0] * 1.5 > availSize) {
+      return false;
+    }
+  }
+  return true;
+}
+function isPointNull(x2, y2) {
+  return isNaN(x2) || isNaN(y2);
+}
+function getLastIndexNotNull(points2) {
+  var len2 = points2.length / 2;
+  for (; len2 > 0; len2--) {
+    if (!isPointNull(points2[len2 * 2 - 2], points2[len2 * 2 - 1])) {
+      break;
+    }
+  }
+  return len2 - 1;
+}
+function getPointAtIndex(points2, idx) {
+  return [points2[idx * 2], points2[idx * 2 + 1]];
+}
+function getIndexRange(points2, xOrY, dim) {
+  var len2 = points2.length / 2;
+  var dimIdx = dim === "x" ? 0 : 1;
+  var a2;
+  var b2;
+  var prevIndex = 0;
+  var nextIndex = -1;
+  for (var i2 = 0; i2 < len2; i2++) {
+    b2 = points2[i2 * 2 + dimIdx];
+    if (isNaN(b2) || isNaN(points2[i2 * 2 + 1 - dimIdx])) {
+      continue;
+    }
+    if (i2 === 0) {
+      a2 = b2;
+      continue;
+    }
+    if (a2 <= xOrY && b2 >= xOrY || a2 >= xOrY && b2 <= xOrY) {
+      nextIndex = i2;
+      break;
+    }
+    prevIndex = i2;
+    a2 = b2;
+  }
+  return {
+    range: [prevIndex, nextIndex],
+    t: (xOrY - a2) / (b2 - a2)
+  };
+}
+function anyStateShowEndLabel(seriesModel) {
+  if (seriesModel.get(["endLabel", "show"])) {
+    return true;
+  }
+  for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+    if (seriesModel.get([SPECIAL_STATES[i2], "endLabel", "show"])) {
+      return true;
+    }
+  }
+  return false;
+}
+function createLineClipPath(lineView, coordSys, hasAnimation, seriesModel) {
+  if (isCoordinateSystemType(coordSys, "cartesian2d")) {
+    var endLabelModel_1 = seriesModel.getModel("endLabel");
+    var valueAnimation_1 = endLabelModel_1.get("valueAnimation");
+    var data_1 = seriesModel.getData();
+    var labelAnimationRecord_1 = {
+      lastFrameIndex: 0
+    };
+    var during = anyStateShowEndLabel(seriesModel) ? function(percent, clipRect) {
+      lineView._endLabelOnDuring(percent, clipRect, data_1, labelAnimationRecord_1, valueAnimation_1, endLabelModel_1, coordSys);
+    } : null;
+    var isHorizontal = coordSys.getBaseAxis().isHorizontal();
+    var clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel, function() {
+      var endLabel = lineView._endLabel;
+      if (endLabel && hasAnimation) {
+        if (labelAnimationRecord_1.originalX != null) {
+          endLabel.attr({
+            x: labelAnimationRecord_1.originalX,
+            y: labelAnimationRecord_1.originalY
+          });
+        }
+      }
+    }, during);
+    if (!seriesModel.get("clip", true)) {
+      var rectShape = clipPath.shape;
+      var expandSize = Math.max(rectShape.width, rectShape.height);
+      if (isHorizontal) {
+        rectShape.y -= expandSize;
+        rectShape.height += expandSize * 2;
+      } else {
+        rectShape.x -= expandSize;
+        rectShape.width += expandSize * 2;
+      }
+    }
+    if (during) {
+      during(1, clipPath);
+    }
+    return clipPath;
+  } else {
+    return createPolarClipPath(coordSys, hasAnimation, seriesModel);
+  }
+}
+function getEndLabelStateSpecified(endLabelModel, coordSys) {
+  var baseAxis = coordSys.getBaseAxis();
+  var isHorizontal = baseAxis.isHorizontal();
+  var isBaseInversed = baseAxis.inverse;
+  var align = isHorizontal ? isBaseInversed ? "right" : "left" : "center";
+  var verticalAlign = isHorizontal ? "middle" : isBaseInversed ? "top" : "bottom";
+  return {
+    normal: {
+      align: endLabelModel.get("align") || align,
+      verticalAlign: endLabelModel.get("verticalAlign") || verticalAlign
+    }
+  };
+}
+var LineView = (
+  /** @class */
+  function(_super) {
+    __extends(LineView2, _super);
+    function LineView2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    LineView2.prototype.init = function() {
+      var lineGroup = new Group$4();
+      var symbolDraw = new SymbolDraw$1();
+      this.group.add(symbolDraw.group);
+      this._symbolDraw = symbolDraw;
+      this._lineGroup = lineGroup;
+    };
+    LineView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var _this = this;
+      var coordSys = seriesModel.coordinateSystem;
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var lineStyleModel = seriesModel.getModel("lineStyle");
+      var areaStyleModel = seriesModel.getModel("areaStyle");
+      var points2 = data2.getLayout("points") || [];
+      var isCoordSysPolar = coordSys.type === "polar";
+      var prevCoordSys = this._coordSys;
+      var symbolDraw = this._symbolDraw;
+      var polyline = this._polyline;
+      var polygon2 = this._polygon;
+      var lineGroup = this._lineGroup;
+      var hasAnimation = !ecModel.ssr && seriesModel.isAnimationEnabled();
+      var isAreaChart = !areaStyleModel.isEmpty();
+      var valueOrigin = areaStyleModel.get("origin");
+      var dataCoordInfo = prepareDataCoordInfo(coordSys, data2, valueOrigin);
+      var stackedOnPoints = isAreaChart && getStackedOnPoints(coordSys, data2, dataCoordInfo);
+      var showSymbol = seriesModel.get("showSymbol");
+      var connectNulls = seriesModel.get("connectNulls");
+      var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc(seriesModel, data2, coordSys);
+      var oldData = this._data;
+      oldData && oldData.eachItemGraphicEl(function(el, idx) {
+        if (el.__temp) {
+          group.remove(el);
+          oldData.setItemGraphicEl(idx, null);
+        }
+      });
+      if (!showSymbol) {
+        symbolDraw.remove();
+      }
+      group.add(lineGroup);
+      var step2 = !isCoordSysPolar ? seriesModel.get("step") : false;
+      var clipShapeForSymbol;
+      if (coordSys && coordSys.getArea && seriesModel.get("clip", true)) {
+        clipShapeForSymbol = coordSys.getArea();
+        if (clipShapeForSymbol.width != null) {
+          clipShapeForSymbol.x -= 0.1;
+          clipShapeForSymbol.y -= 0.1;
+          clipShapeForSymbol.width += 0.2;
+          clipShapeForSymbol.height += 0.2;
+        } else if (clipShapeForSymbol.r0) {
+          clipShapeForSymbol.r0 -= 0.5;
+          clipShapeForSymbol.r += 0.5;
+        }
+      }
+      this._clipShapeForSymbol = clipShapeForSymbol;
+      var visualColor = getVisualGradient(data2, coordSys, api2) || data2.getVisual("style")[data2.getVisual("drawType")];
+      if (!(polyline && prevCoordSys.type === coordSys.type && step2 === this._step)) {
+        showSymbol && symbolDraw.updateData(data2, {
+          isIgnore: isIgnoreFunc,
+          clipShape: clipShapeForSymbol,
+          disableAnimation: true,
+          getSymbolPoint: function(idx) {
+            return [points2[idx * 2], points2[idx * 2 + 1]];
+          }
+        });
+        hasAnimation && this._initSymbolLabelAnimation(data2, coordSys, clipShapeForSymbol);
+        if (step2) {
+          points2 = turnPointsIntoStep(points2, coordSys, step2, connectNulls);
+          if (stackedOnPoints) {
+            stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step2, connectNulls);
+          }
+        }
+        polyline = this._newPolyline(points2);
+        if (isAreaChart) {
+          polygon2 = this._newPolygon(points2, stackedOnPoints);
+        } else if (polygon2) {
+          lineGroup.remove(polygon2);
+          polygon2 = this._polygon = null;
+        }
+        if (!isCoordSysPolar) {
+          this._initOrUpdateEndLabel(seriesModel, coordSys, convertToColorString(visualColor));
+        }
+        lineGroup.setClipPath(createLineClipPath(this, coordSys, true, seriesModel));
+      } else {
+        if (isAreaChart && !polygon2) {
+          polygon2 = this._newPolygon(points2, stackedOnPoints);
+        } else if (polygon2 && !isAreaChart) {
+          lineGroup.remove(polygon2);
+          polygon2 = this._polygon = null;
+        }
+        if (!isCoordSysPolar) {
+          this._initOrUpdateEndLabel(seriesModel, coordSys, convertToColorString(visualColor));
+        }
+        var oldClipPath = lineGroup.getClipPath();
+        if (oldClipPath) {
+          var newClipPath = createLineClipPath(this, coordSys, false, seriesModel);
+          initProps(oldClipPath, {
+            shape: newClipPath.shape
+          }, seriesModel);
+        } else {
+          lineGroup.setClipPath(createLineClipPath(this, coordSys, true, seriesModel));
+        }
+        showSymbol && symbolDraw.updateData(data2, {
+          isIgnore: isIgnoreFunc,
+          clipShape: clipShapeForSymbol,
+          disableAnimation: true,
+          getSymbolPoint: function(idx) {
+            return [points2[idx * 2], points2[idx * 2 + 1]];
+          }
+        });
+        if (!isPointsSame(this._stackedOnPoints, stackedOnPoints) || !isPointsSame(this._points, points2)) {
+          if (hasAnimation) {
+            this._doUpdateAnimation(data2, stackedOnPoints, coordSys, api2, step2, valueOrigin, connectNulls);
+          } else {
+            if (step2) {
+              points2 = turnPointsIntoStep(points2, coordSys, step2, connectNulls);
+              if (stackedOnPoints) {
+                stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step2, connectNulls);
+              }
+            }
+            polyline.setShape({
+              points: points2
+            });
+            polygon2 && polygon2.setShape({
+              points: points2,
+              stackedOnPoints
+            });
+          }
+        }
+      }
+      var emphasisModel = seriesModel.getModel("emphasis");
+      var focus2 = emphasisModel.get("focus");
+      var blurScope = emphasisModel.get("blurScope");
+      var emphasisDisabled = emphasisModel.get("disabled");
+      polyline.useStyle(defaults$2(
+        // Use color in lineStyle first
+        lineStyleModel.getLineStyle(),
+        {
+          fill: "none",
+          stroke: visualColor,
+          lineJoin: "bevel"
+        }
+      ));
+      setStatesStylesFromModel(polyline, seriesModel, "lineStyle");
+      if (polyline.style.lineWidth > 0 && seriesModel.get(["emphasis", "lineStyle", "width"]) === "bolder") {
+        var emphasisLineStyle = polyline.getState("emphasis").style;
+        emphasisLineStyle.lineWidth = +polyline.style.lineWidth + 1;
+      }
+      getECData(polyline).seriesIndex = seriesModel.seriesIndex;
+      toggleHoverEmphasis(polyline, focus2, blurScope, emphasisDisabled);
+      var smooth = getSmooth(seriesModel.get("smooth"));
+      var smoothMonotone = seriesModel.get("smoothMonotone");
+      polyline.setShape({
+        smooth,
+        smoothMonotone,
+        connectNulls
+      });
+      if (polygon2) {
+        var stackedOnSeries = data2.getCalculationInfo("stackedOnSeries");
+        var stackedOnSmooth = 0;
+        polygon2.useStyle(defaults$2(areaStyleModel.getAreaStyle(), {
+          fill: visualColor,
+          opacity: 0.7,
+          lineJoin: "bevel",
+          decal: data2.getVisual("style").decal
+        }));
+        if (stackedOnSeries) {
+          stackedOnSmooth = getSmooth(stackedOnSeries.get("smooth"));
+        }
+        polygon2.setShape({
+          smooth,
+          stackedOnSmooth,
+          smoothMonotone,
+          connectNulls
+        });
+        setStatesStylesFromModel(polygon2, seriesModel, "areaStyle");
+        getECData(polygon2).seriesIndex = seriesModel.seriesIndex;
+        toggleHoverEmphasis(polygon2, focus2, blurScope, emphasisDisabled);
+      }
+      var changePolyState = function(toState) {
+        _this._changePolyState(toState);
+      };
+      data2.eachItemGraphicEl(function(el) {
+        el && (el.onHoverStateChange = changePolyState);
+      });
+      this._polyline.onHoverStateChange = changePolyState;
+      this._data = data2;
+      this._coordSys = coordSys;
+      this._stackedOnPoints = stackedOnPoints;
+      this._points = points2;
+      this._step = step2;
+      this._valueOrigin = valueOrigin;
+      if (seriesModel.get("triggerLineEvent")) {
+        this.packEventData(seriesModel, polyline);
+        polygon2 && this.packEventData(seriesModel, polygon2);
+      }
+    };
+    LineView2.prototype.packEventData = function(seriesModel, el) {
+      getECData(el).eventData = {
+        componentType: "series",
+        componentSubType: "line",
+        componentIndex: seriesModel.componentIndex,
+        seriesIndex: seriesModel.seriesIndex,
+        seriesName: seriesModel.name,
+        seriesType: "line"
+      };
+    };
+    LineView2.prototype.highlight = function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var dataIndex = queryDataIndex(data2, payload);
+      this._changePolyState("emphasis");
+      if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {
+        var points2 = data2.getLayout("points");
+        var symbol2 = data2.getItemGraphicEl(dataIndex);
+        if (!symbol2) {
+          var x2 = points2[dataIndex * 2];
+          var y2 = points2[dataIndex * 2 + 1];
+          if (isNaN(x2) || isNaN(y2)) {
+            return;
+          }
+          if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(x2, y2)) {
+            return;
+          }
+          var zlevel = seriesModel.get("zlevel") || 0;
+          var z2 = seriesModel.get("z") || 0;
+          symbol2 = new SymbolClz(data2, dataIndex);
+          symbol2.x = x2;
+          symbol2.y = y2;
+          symbol2.setZ(zlevel, z2);
+          var symbolLabel = symbol2.getSymbolPath().getTextContent();
+          if (symbolLabel) {
+            symbolLabel.zlevel = zlevel;
+            symbolLabel.z = z2;
+            symbolLabel.z2 = this._polyline.z2 + 1;
+          }
+          symbol2.__temp = true;
+          data2.setItemGraphicEl(dataIndex, symbol2);
+          symbol2.stopSymbolAnimation(true);
+          this.group.add(symbol2);
+        }
+        symbol2.highlight();
+      } else {
+        ChartView$1.prototype.highlight.call(this, seriesModel, ecModel, api2, payload);
+      }
+    };
+    LineView2.prototype.downplay = function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var dataIndex = queryDataIndex(data2, payload);
+      this._changePolyState("normal");
+      if (dataIndex != null && dataIndex >= 0) {
+        var symbol2 = data2.getItemGraphicEl(dataIndex);
+        if (symbol2) {
+          if (symbol2.__temp) {
+            data2.setItemGraphicEl(dataIndex, null);
+            this.group.remove(symbol2);
+          } else {
+            symbol2.downplay();
+          }
+        }
+      } else {
+        ChartView$1.prototype.downplay.call(this, seriesModel, ecModel, api2, payload);
+      }
+    };
+    LineView2.prototype._changePolyState = function(toState) {
+      var polygon2 = this._polygon;
+      setStatesFlag(this._polyline, toState);
+      polygon2 && setStatesFlag(polygon2, toState);
+    };
+    LineView2.prototype._newPolyline = function(points2) {
+      var polyline = this._polyline;
+      if (polyline) {
+        this._lineGroup.remove(polyline);
+      }
+      polyline = new ECPolyline({
+        shape: {
+          points: points2
+        },
+        segmentIgnoreThreshold: 2,
+        z2: 10
+      });
+      this._lineGroup.add(polyline);
+      this._polyline = polyline;
+      return polyline;
+    };
+    LineView2.prototype._newPolygon = function(points2, stackedOnPoints) {
+      var polygon2 = this._polygon;
+      if (polygon2) {
+        this._lineGroup.remove(polygon2);
+      }
+      polygon2 = new ECPolygon({
+        shape: {
+          points: points2,
+          stackedOnPoints
+        },
+        segmentIgnoreThreshold: 2
+      });
+      this._lineGroup.add(polygon2);
+      this._polygon = polygon2;
+      return polygon2;
+    };
+    LineView2.prototype._initSymbolLabelAnimation = function(data2, coordSys, clipShape) {
+      var isHorizontalOrRadial;
+      var isCoordSysPolar;
+      var baseAxis = coordSys.getBaseAxis();
+      var isAxisInverse = baseAxis.inverse;
+      if (coordSys.type === "cartesian2d") {
+        isHorizontalOrRadial = baseAxis.isHorizontal();
+        isCoordSysPolar = false;
+      } else if (coordSys.type === "polar") {
+        isHorizontalOrRadial = baseAxis.dim === "angle";
+        isCoordSysPolar = true;
+      }
+      var seriesModel = data2.hostModel;
+      var seriesDuration = seriesModel.get("animationDuration");
+      if (isFunction$1(seriesDuration)) {
+        seriesDuration = seriesDuration(null);
+      }
+      var seriesDelay = seriesModel.get("animationDelay") || 0;
+      var seriesDelayValue = isFunction$1(seriesDelay) ? seriesDelay(null) : seriesDelay;
+      data2.eachItemGraphicEl(function(symbol2, idx) {
+        var el = symbol2;
+        if (el) {
+          var point = [symbol2.x, symbol2.y];
+          var start2 = void 0;
+          var end2 = void 0;
+          var current = void 0;
+          if (clipShape) {
+            if (isCoordSysPolar) {
+              var polarClip = clipShape;
+              var coord = coordSys.pointToCoord(point);
+              if (isHorizontalOrRadial) {
+                start2 = polarClip.startAngle;
+                end2 = polarClip.endAngle;
+                current = -coord[1] / 180 * Math.PI;
+              } else {
+                start2 = polarClip.r0;
+                end2 = polarClip.r;
+                current = coord[0];
+              }
+            } else {
+              var gridClip = clipShape;
+              if (isHorizontalOrRadial) {
+                start2 = gridClip.x;
+                end2 = gridClip.x + gridClip.width;
+                current = symbol2.x;
+              } else {
+                start2 = gridClip.y + gridClip.height;
+                end2 = gridClip.y;
+                current = symbol2.y;
+              }
+            }
+          }
+          var ratio = end2 === start2 ? 0 : (current - start2) / (end2 - start2);
+          if (isAxisInverse) {
+            ratio = 1 - ratio;
+          }
+          var delay = isFunction$1(seriesDelay) ? seriesDelay(idx) : seriesDuration * ratio + seriesDelayValue;
+          var symbolPath = el.getSymbolPath();
+          var text2 = symbolPath.getTextContent();
+          el.attr({
+            scaleX: 0,
+            scaleY: 0
+          });
+          el.animateTo({
+            scaleX: 1,
+            scaleY: 1
+          }, {
+            duration: 200,
+            setToFinal: true,
+            delay
+          });
+          if (text2) {
+            text2.animateFrom({
+              style: {
+                opacity: 0
+              }
+            }, {
+              duration: 300,
+              delay
+            });
+          }
+          symbolPath.disableLabelAnimation = true;
+        }
+      });
+    };
+    LineView2.prototype._initOrUpdateEndLabel = function(seriesModel, coordSys, inheritColor) {
+      var endLabelModel = seriesModel.getModel("endLabel");
+      if (anyStateShowEndLabel(seriesModel)) {
+        var data_2 = seriesModel.getData();
+        var polyline = this._polyline;
+        var points2 = data_2.getLayout("points");
+        if (!points2) {
+          polyline.removeTextContent();
+          this._endLabel = null;
+          return;
+        }
+        var endLabel = this._endLabel;
+        if (!endLabel) {
+          endLabel = this._endLabel = new ZRText$1({
+            z2: 200
+            // should be higher than item symbol
+          });
+          endLabel.ignoreClip = true;
+          polyline.setTextContent(this._endLabel);
+          polyline.disableLabelAnimation = true;
+        }
+        var dataIndex = getLastIndexNotNull(points2);
+        if (dataIndex >= 0) {
+          setLabelStyle(polyline, getLabelStatesModels(seriesModel, "endLabel"), {
+            inheritColor,
+            labelFetcher: seriesModel,
+            labelDataIndex: dataIndex,
+            defaultText: function(dataIndex2, opt, interpolatedValue) {
+              return interpolatedValue != null ? getDefaultInterpolatedLabel(data_2, interpolatedValue) : getDefaultLabel(data_2, dataIndex2);
+            },
+            enableTextSetter: true
+          }, getEndLabelStateSpecified(endLabelModel, coordSys));
+          polyline.textConfig.position = null;
+        }
+      } else if (this._endLabel) {
+        this._polyline.removeTextContent();
+        this._endLabel = null;
+      }
+    };
+    LineView2.prototype._endLabelOnDuring = function(percent, clipRect, data2, animationRecord, valueAnimation, endLabelModel, coordSys) {
+      var endLabel = this._endLabel;
+      var polyline = this._polyline;
+      if (endLabel) {
+        if (percent < 1 && animationRecord.originalX == null) {
+          animationRecord.originalX = endLabel.x;
+          animationRecord.originalY = endLabel.y;
+        }
+        var points2 = data2.getLayout("points");
+        var seriesModel = data2.hostModel;
+        var connectNulls = seriesModel.get("connectNulls");
+        var precision = endLabelModel.get("precision");
+        var distance2 = endLabelModel.get("distance") || 0;
+        var baseAxis = coordSys.getBaseAxis();
+        var isHorizontal = baseAxis.isHorizontal();
+        var isBaseInversed = baseAxis.inverse;
+        var clipShape = clipRect.shape;
+        var xOrY = isBaseInversed ? isHorizontal ? clipShape.x : clipShape.y + clipShape.height : isHorizontal ? clipShape.x + clipShape.width : clipShape.y;
+        var distanceX = (isHorizontal ? distance2 : 0) * (isBaseInversed ? -1 : 1);
+        var distanceY = (isHorizontal ? 0 : -distance2) * (isBaseInversed ? -1 : 1);
+        var dim = isHorizontal ? "x" : "y";
+        var dataIndexRange = getIndexRange(points2, xOrY, dim);
+        var indices = dataIndexRange.range;
+        var diff = indices[1] - indices[0];
+        var value = void 0;
+        if (diff >= 1) {
+          if (diff > 1 && !connectNulls) {
+            var pt = getPointAtIndex(points2, indices[0]);
+            endLabel.attr({
+              x: pt[0] + distanceX,
+              y: pt[1] + distanceY
+            });
+            valueAnimation && (value = seriesModel.getRawValue(indices[0]));
+          } else {
+            var pt = polyline.getPointOn(xOrY, dim);
+            pt && endLabel.attr({
+              x: pt[0] + distanceX,
+              y: pt[1] + distanceY
+            });
+            var startValue = seriesModel.getRawValue(indices[0]);
+            var endValue = seriesModel.getRawValue(indices[1]);
+            valueAnimation && (value = interpolateRawValues(data2, precision, startValue, endValue, dataIndexRange.t));
+          }
+          animationRecord.lastFrameIndex = indices[0];
+        } else {
+          var idx = percent === 1 || animationRecord.lastFrameIndex > 0 ? indices[0] : 0;
+          var pt = getPointAtIndex(points2, idx);
+          valueAnimation && (value = seriesModel.getRawValue(idx));
+          endLabel.attr({
+            x: pt[0] + distanceX,
+            y: pt[1] + distanceY
+          });
+        }
+        if (valueAnimation) {
+          var inner2 = labelInner(endLabel);
+          if (typeof inner2.setLabelText === "function") {
+            inner2.setLabelText(value);
+          }
+        }
+      }
+    };
+    LineView2.prototype._doUpdateAnimation = function(data2, stackedOnPoints, coordSys, api2, step2, valueOrigin, connectNulls) {
+      var polyline = this._polyline;
+      var polygon2 = this._polygon;
+      var seriesModel = data2.hostModel;
+      var diff = lineAnimationDiff(this._data, data2, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin);
+      var current = diff.current;
+      var stackedOnCurrent = diff.stackedOnCurrent;
+      var next = diff.next;
+      var stackedOnNext = diff.stackedOnNext;
+      if (step2) {
+        current = turnPointsIntoStep(diff.current, coordSys, step2, connectNulls);
+        stackedOnCurrent = turnPointsIntoStep(diff.stackedOnCurrent, coordSys, step2, connectNulls);
+        next = turnPointsIntoStep(diff.next, coordSys, step2, connectNulls);
+        stackedOnNext = turnPointsIntoStep(diff.stackedOnNext, coordSys, step2, connectNulls);
+      }
+      if (getBoundingDiff(current, next) > 3e3 || polygon2 && getBoundingDiff(stackedOnCurrent, stackedOnNext) > 3e3) {
+        polyline.stopAnimation();
+        polyline.setShape({
+          points: next
+        });
+        if (polygon2) {
+          polygon2.stopAnimation();
+          polygon2.setShape({
+            points: next,
+            stackedOnPoints: stackedOnNext
+          });
+        }
+        return;
+      }
+      polyline.shape.__points = diff.current;
+      polyline.shape.points = current;
+      var target = {
+        shape: {
+          points: next
+        }
+      };
+      if (diff.current !== current) {
+        target.shape.__points = diff.next;
+      }
+      polyline.stopAnimation();
+      updateProps$1(polyline, target, seriesModel);
+      if (polygon2) {
+        polygon2.setShape({
+          // Reuse the points with polyline.
+          points: current,
+          stackedOnPoints: stackedOnCurrent
+        });
+        polygon2.stopAnimation();
+        updateProps$1(polygon2, {
+          shape: {
+            stackedOnPoints: stackedOnNext
+          }
+        }, seriesModel);
+        if (polyline.shape.points !== polygon2.shape.points) {
+          polygon2.shape.points = polyline.shape.points;
+        }
+      }
+      var updatedDataInfo = [];
+      var diffStatus = diff.status;
+      for (var i2 = 0; i2 < diffStatus.length; i2++) {
+        var cmd = diffStatus[i2].cmd;
+        if (cmd === "=") {
+          var el = data2.getItemGraphicEl(diffStatus[i2].idx1);
+          if (el) {
+            updatedDataInfo.push({
+              el,
+              ptIdx: i2
+              // Index of points
+            });
+          }
+        }
+      }
+      if (polyline.animators && polyline.animators.length) {
+        polyline.animators[0].during(function() {
+          polygon2 && polygon2.dirtyShape();
+          var points2 = polyline.shape.__points;
+          for (var i3 = 0; i3 < updatedDataInfo.length; i3++) {
+            var el2 = updatedDataInfo[i3].el;
+            var offset2 = updatedDataInfo[i3].ptIdx * 2;
+            el2.x = points2[offset2];
+            el2.y = points2[offset2 + 1];
+            el2.markRedraw();
+          }
+        });
+      }
+    };
+    LineView2.prototype.remove = function(ecModel) {
+      var group = this.group;
+      var oldData = this._data;
+      this._lineGroup.removeAll();
+      this._symbolDraw.remove(true);
+      oldData && oldData.eachItemGraphicEl(function(el, idx) {
+        if (el.__temp) {
+          group.remove(el);
+          oldData.setItemGraphicEl(idx, null);
+        }
+      });
+      this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._endLabel = this._data = null;
+    };
+    LineView2.type = "line";
+    return LineView2;
+  }(ChartView$1)
+);
+const LineView$1 = LineView;
+function pointsLayout(seriesType2, forceStoreInTypedArray) {
+  return {
+    seriesType: seriesType2,
+    plan: createRenderPlanner(),
+    reset: function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var coordSys = seriesModel.coordinateSystem;
+      var pipelineContext = seriesModel.pipelineContext;
+      var useTypedArray = forceStoreInTypedArray || pipelineContext.large;
+      if (!coordSys) {
+        return;
+      }
+      var dims = map$1(coordSys.dimensions, function(dim) {
+        return data2.mapDimension(dim);
+      }).slice(0, 2);
+      var dimLen = dims.length;
+      var stackResultDim = data2.getCalculationInfo("stackResultDimension");
+      if (isDimensionStacked(data2, dims[0])) {
+        dims[0] = stackResultDim;
+      }
+      if (isDimensionStacked(data2, dims[1])) {
+        dims[1] = stackResultDim;
+      }
+      var store = data2.getStore();
+      var dimIdx0 = data2.getDimensionIndex(dims[0]);
+      var dimIdx1 = data2.getDimensionIndex(dims[1]);
+      return dimLen && {
+        progress: function(params2, data3) {
+          var segCount = params2.end - params2.start;
+          var points2 = useTypedArray && createFloat32Array(segCount * dimLen);
+          var tmpIn = [];
+          var tmpOut = [];
+          for (var i2 = params2.start, offset2 = 0; i2 < params2.end; i2++) {
+            var point = void 0;
+            if (dimLen === 1) {
+              var x2 = store.get(dimIdx0, i2);
+              point = coordSys.dataToPoint(x2, null, tmpOut);
+            } else {
+              tmpIn[0] = store.get(dimIdx0, i2);
+              tmpIn[1] = store.get(dimIdx1, i2);
+              point = coordSys.dataToPoint(tmpIn, null, tmpOut);
+            }
+            if (useTypedArray) {
+              points2[offset2++] = point[0];
+              points2[offset2++] = point[1];
+            } else {
+              data3.setItemLayout(i2, point.slice());
+            }
+          }
+          useTypedArray && data3.setLayout("points", points2);
+        }
+      };
+    }
+  };
+}
+var samplers = {
+  average: function(frame) {
+    var sum2 = 0;
+    var count2 = 0;
+    for (var i2 = 0; i2 < frame.length; i2++) {
+      if (!isNaN(frame[i2])) {
+        sum2 += frame[i2];
+        count2++;
+      }
+    }
+    return count2 === 0 ? NaN : sum2 / count2;
+  },
+  sum: function(frame) {
+    var sum2 = 0;
+    for (var i2 = 0; i2 < frame.length; i2++) {
+      sum2 += frame[i2] || 0;
+    }
+    return sum2;
+  },
+  max: function(frame) {
+    var max3 = -Infinity;
+    for (var i2 = 0; i2 < frame.length; i2++) {
+      frame[i2] > max3 && (max3 = frame[i2]);
+    }
+    return isFinite(max3) ? max3 : NaN;
+  },
+  min: function(frame) {
+    var min3 = Infinity;
+    for (var i2 = 0; i2 < frame.length; i2++) {
+      frame[i2] < min3 && (min3 = frame[i2]);
+    }
+    return isFinite(min3) ? min3 : NaN;
+  },
+  // TODO
+  // Median
+  nearest: function(frame) {
+    return frame[0];
+  }
+};
+var indexSampler = function(frame) {
+  return Math.round(frame.length / 2);
+};
+function dataSample(seriesType2) {
+  return {
+    seriesType: seriesType2,
+    // FIXME:TS never used, so comment it
+    // modifyOutputEnd: true,
+    reset: function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var sampling = seriesModel.get("sampling");
+      var coordSys = seriesModel.coordinateSystem;
+      var count2 = data2.count();
+      if (count2 > 10 && coordSys.type === "cartesian2d" && sampling) {
+        var baseAxis = coordSys.getBaseAxis();
+        var valueAxis2 = coordSys.getOtherAxis(baseAxis);
+        var extent3 = baseAxis.getExtent();
+        var dpr2 = api2.getDevicePixelRatio();
+        var size = Math.abs(extent3[1] - extent3[0]) * (dpr2 || 1);
+        var rate = Math.round(count2 / size);
+        if (isFinite(rate) && rate > 1) {
+          if (sampling === "lttb") {
+            seriesModel.setData(data2.lttbDownSample(data2.mapDimension(valueAxis2.dim), 1 / rate));
+          }
+          var sampler = void 0;
+          if (isString$1(sampling)) {
+            sampler = samplers[sampling];
+          } else if (isFunction$1(sampling)) {
+            sampler = sampling;
+          }
+          if (sampler) {
+            seriesModel.setData(data2.downSample(data2.mapDimension(valueAxis2.dim), 1 / rate, sampler, indexSampler));
+          }
+        }
+      }
+    }
+  };
+}
+function install$Q(registers) {
+  registers.registerChartView(LineView$1);
+  registers.registerSeriesModel(LineSeries);
+  registers.registerLayout(pointsLayout("line", true));
+  registers.registerVisual({
+    seriesType: "line",
+    reset: function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var lineStyle2 = seriesModel.getModel("lineStyle").getLineStyle();
+      if (lineStyle2 && !lineStyle2.stroke) {
+        lineStyle2.stroke = data2.getVisual("style").fill;
+      }
+      data2.setVisual("legendLineStyle", lineStyle2);
+    }
+  });
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample("line"));
+}
+var BaseBarSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(BaseBarSeriesModel2, _super);
+    function BaseBarSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = BaseBarSeriesModel2.type;
+      return _this;
+    }
+    BaseBarSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesData(null, this, {
+        useEncodeDefaulter: true
+      });
+    };
+    BaseBarSeriesModel2.prototype.getMarkerPosition = function(value, dims, startingAtTick) {
+      var coordSys = this.coordinateSystem;
+      if (coordSys && coordSys.clampData) {
+        var clampData_1 = coordSys.clampData(value);
+        var pt_1 = coordSys.dataToPoint(clampData_1);
+        if (startingAtTick) {
+          each$f(coordSys.getAxes(), function(axis2, idx) {
+            if (axis2.type === "category" && dims != null) {
+              var tickCoords = axis2.getTicksCoords();
+              var targetTickId = clampData_1[idx];
+              var isEnd = dims[idx] === "x1" || dims[idx] === "y1";
+              if (isEnd) {
+                targetTickId += 1;
+              }
+              if (tickCoords.length < 2) {
+                return;
+              } else if (tickCoords.length === 2) {
+                pt_1[idx] = axis2.toGlobalCoord(axis2.getExtent()[isEnd ? 1 : 0]);
+                return;
+              }
+              var leftCoord = void 0;
+              var coord = void 0;
+              var stepTickValue = 1;
+              for (var i2 = 0; i2 < tickCoords.length; i2++) {
+                var tickCoord = tickCoords[i2].coord;
+                var tickValue = i2 === tickCoords.length - 1 ? tickCoords[i2 - 1].tickValue + stepTickValue : tickCoords[i2].tickValue;
+                if (tickValue === targetTickId) {
+                  coord = tickCoord;
+                  break;
+                } else if (tickValue < targetTickId) {
+                  leftCoord = tickCoord;
+                } else if (leftCoord != null && tickValue > targetTickId) {
+                  coord = (tickCoord + leftCoord) / 2;
+                  break;
+                }
+                if (i2 === 1) {
+                  stepTickValue = tickValue - tickCoords[0].tickValue;
+                }
+              }
+              if (coord == null) {
+                if (!leftCoord) {
+                  coord = tickCoords[0].coord;
+                } else if (leftCoord) {
+                  coord = tickCoords[tickCoords.length - 1].coord;
+                }
+              }
+              pt_1[idx] = axis2.toGlobalCoord(coord);
+            }
+          });
+        } else {
+          var data2 = this.getData();
+          var offset2 = data2.getLayout("offset");
+          var size = data2.getLayout("size");
+          var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;
+          pt_1[offsetIndex] += offset2 + size / 2;
+        }
+        return pt_1;
+      }
+      return [NaN, NaN];
+    };
+    BaseBarSeriesModel2.type = "series.__base_bar__";
+    BaseBarSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      // stack: null
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      barMinHeight: 0,
+      barMinAngle: 0,
+      // cursor: null,
+      large: false,
+      largeThreshold: 400,
+      progressive: 3e3,
+      progressiveChunkMode: "mod"
+    };
+    return BaseBarSeriesModel2;
+  }(SeriesModel$1)
+);
+SeriesModel$1.registerClass(BaseBarSeriesModel);
+const BaseBarSeriesModel$1 = BaseBarSeriesModel;
+var BarSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(BarSeriesModel2, _super);
+    function BarSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = BarSeriesModel2.type;
+      return _this;
+    }
+    BarSeriesModel2.prototype.getInitialData = function() {
+      return createSeriesData(null, this, {
+        useEncodeDefaulter: true,
+        createInvertedIndices: !!this.get("realtimeSort", true) || null
+      });
+    };
+    BarSeriesModel2.prototype.getProgressive = function() {
+      return this.get("large") ? this.get("progressive") : false;
+    };
+    BarSeriesModel2.prototype.getProgressiveThreshold = function() {
+      var progressiveThreshold = this.get("progressiveThreshold");
+      var largeThreshold = this.get("largeThreshold");
+      if (largeThreshold > progressiveThreshold) {
+        progressiveThreshold = largeThreshold;
+      }
+      return progressiveThreshold;
+    };
+    BarSeriesModel2.prototype.brushSelector = function(dataIndex, data2, selectors) {
+      return selectors.rect(data2.getItemLayout(dataIndex));
+    };
+    BarSeriesModel2.type = "series.bar";
+    BarSeriesModel2.dependencies = ["grid", "polar"];
+    BarSeriesModel2.defaultOption = inheritDefaultOption(BaseBarSeriesModel$1.defaultOption, {
+      // If clipped
+      // Only available on cartesian2d
+      clip: true,
+      roundCap: false,
+      showBackground: false,
+      backgroundStyle: {
+        color: "rgba(180, 180, 180, 0.2)",
+        borderColor: null,
+        borderWidth: 0,
+        borderType: "solid",
+        borderRadius: 0,
+        shadowBlur: 0,
+        shadowColor: null,
+        shadowOffsetX: 0,
+        shadowOffsetY: 0,
+        opacity: 1
+      },
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      },
+      realtimeSort: false
+    });
+    return BarSeriesModel2;
+  }(BaseBarSeriesModel$1)
+);
+const BarSeries = BarSeriesModel;
+var SausageShape = (
+  /** @class */
+  function() {
+    function SausageShape2() {
+      this.cx = 0;
+      this.cy = 0;
+      this.r0 = 0;
+      this.r = 0;
+      this.startAngle = 0;
+      this.endAngle = Math.PI * 2;
+      this.clockwise = true;
+    }
+    return SausageShape2;
+  }()
+);
+var SausagePath = (
+  /** @class */
+  function(_super) {
+    __extends(SausagePath2, _super);
+    function SausagePath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "sausage";
+      return _this;
+    }
+    SausagePath2.prototype.getDefaultShape = function() {
+      return new SausageShape();
+    };
+    SausagePath2.prototype.buildPath = function(ctx, shape) {
+      var cx = shape.cx;
+      var cy = shape.cy;
+      var r0 = Math.max(shape.r0 || 0, 0);
+      var r2 = Math.max(shape.r, 0);
+      var dr = (r2 - r0) * 0.5;
+      var rCenter = r0 + dr;
+      var startAngle = shape.startAngle;
+      var endAngle = shape.endAngle;
+      var clockwise = shape.clockwise;
+      var PI22 = Math.PI * 2;
+      var lessThanCircle = clockwise ? endAngle - startAngle < PI22 : startAngle - endAngle < PI22;
+      if (!lessThanCircle) {
+        startAngle = endAngle - (clockwise ? PI22 : -PI22);
+      }
+      var unitStartX = Math.cos(startAngle);
+      var unitStartY = Math.sin(startAngle);
+      var unitEndX = Math.cos(endAngle);
+      var unitEndY = Math.sin(endAngle);
+      if (lessThanCircle) {
+        ctx.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);
+        ctx.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);
+      } else {
+        ctx.moveTo(unitStartX * r2 + cx, unitStartY * r2 + cy);
+      }
+      ctx.arc(cx, cy, r2, startAngle, endAngle, !clockwise);
+      ctx.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);
+      if (r0 !== 0) {
+        ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);
+      }
+    };
+    return SausagePath2;
+  }(Path$1)
+);
+const Sausage = SausagePath;
+function createSectorCalculateTextPosition(positionMapping, opts2) {
+  opts2 = opts2 || {};
+  var isRoundCap = opts2.isRoundCap;
+  return function(out2, opts3, boundingRect) {
+    var textPosition = opts3.position;
+    if (!textPosition || textPosition instanceof Array) {
+      return calculateTextPosition(out2, opts3, boundingRect);
+    }
+    var mappedSectorPosition = positionMapping(textPosition);
+    var distance2 = opts3.distance != null ? opts3.distance : 5;
+    var sector = this.shape;
+    var cx = sector.cx;
+    var cy = sector.cy;
+    var r2 = sector.r;
+    var r0 = sector.r0;
+    var middleR = (r2 + r0) / 2;
+    var startAngle = sector.startAngle;
+    var endAngle = sector.endAngle;
+    var middleAngle = (startAngle + endAngle) / 2;
+    var extraDist = isRoundCap ? Math.abs(r2 - r0) / 2 : 0;
+    var mathCos2 = Math.cos;
+    var mathSin2 = Math.sin;
+    var x2 = cx + r2 * mathCos2(startAngle);
+    var y2 = cy + r2 * mathSin2(startAngle);
+    var textAlign = "left";
+    var textVerticalAlign = "top";
+    switch (mappedSectorPosition) {
+      case "startArc":
+        x2 = cx + (r0 - distance2) * mathCos2(middleAngle);
+        y2 = cy + (r0 - distance2) * mathSin2(middleAngle);
+        textAlign = "center";
+        textVerticalAlign = "top";
+        break;
+      case "insideStartArc":
+        x2 = cx + (r0 + distance2) * mathCos2(middleAngle);
+        y2 = cy + (r0 + distance2) * mathSin2(middleAngle);
+        textAlign = "center";
+        textVerticalAlign = "bottom";
+        break;
+      case "startAngle":
+        x2 = cx + middleR * mathCos2(startAngle) + adjustAngleDistanceX(startAngle, distance2 + extraDist, false);
+        y2 = cy + middleR * mathSin2(startAngle) + adjustAngleDistanceY(startAngle, distance2 + extraDist, false);
+        textAlign = "right";
+        textVerticalAlign = "middle";
+        break;
+      case "insideStartAngle":
+        x2 = cx + middleR * mathCos2(startAngle) + adjustAngleDistanceX(startAngle, -distance2 + extraDist, false);
+        y2 = cy + middleR * mathSin2(startAngle) + adjustAngleDistanceY(startAngle, -distance2 + extraDist, false);
+        textAlign = "left";
+        textVerticalAlign = "middle";
+        break;
+      case "middle":
+        x2 = cx + middleR * mathCos2(middleAngle);
+        y2 = cy + middleR * mathSin2(middleAngle);
+        textAlign = "center";
+        textVerticalAlign = "middle";
+        break;
+      case "endArc":
+        x2 = cx + (r2 + distance2) * mathCos2(middleAngle);
+        y2 = cy + (r2 + distance2) * mathSin2(middleAngle);
+        textAlign = "center";
+        textVerticalAlign = "bottom";
+        break;
+      case "insideEndArc":
+        x2 = cx + (r2 - distance2) * mathCos2(middleAngle);
+        y2 = cy + (r2 - distance2) * mathSin2(middleAngle);
+        textAlign = "center";
+        textVerticalAlign = "top";
+        break;
+      case "endAngle":
+        x2 = cx + middleR * mathCos2(endAngle) + adjustAngleDistanceX(endAngle, distance2 + extraDist, true);
+        y2 = cy + middleR * mathSin2(endAngle) + adjustAngleDistanceY(endAngle, distance2 + extraDist, true);
+        textAlign = "left";
+        textVerticalAlign = "middle";
+        break;
+      case "insideEndAngle":
+        x2 = cx + middleR * mathCos2(endAngle) + adjustAngleDistanceX(endAngle, -distance2 + extraDist, true);
+        y2 = cy + middleR * mathSin2(endAngle) + adjustAngleDistanceY(endAngle, -distance2 + extraDist, true);
+        textAlign = "right";
+        textVerticalAlign = "middle";
+        break;
+      default:
+        return calculateTextPosition(out2, opts3, boundingRect);
+    }
+    out2 = out2 || {};
+    out2.x = x2;
+    out2.y = y2;
+    out2.align = textAlign;
+    out2.verticalAlign = textVerticalAlign;
+    return out2;
+  };
+}
+function setSectorTextRotation(sector, textPosition, positionMapping, rotateType) {
+  if (isNumber$1(rotateType)) {
+    sector.setTextConfig({
+      rotation: rotateType
+    });
+    return;
+  } else if (isArray$2(textPosition)) {
+    sector.setTextConfig({
+      rotation: 0
+    });
+    return;
+  }
+  var shape = sector.shape;
+  var startAngle = shape.clockwise ? shape.startAngle : shape.endAngle;
+  var endAngle = shape.clockwise ? shape.endAngle : shape.startAngle;
+  var middleAngle = (startAngle + endAngle) / 2;
+  var anchorAngle;
+  var mappedSectorPosition = positionMapping(textPosition);
+  switch (mappedSectorPosition) {
+    case "startArc":
+    case "insideStartArc":
+    case "middle":
+    case "insideEndArc":
+    case "endArc":
+      anchorAngle = middleAngle;
+      break;
+    case "startAngle":
+    case "insideStartAngle":
+      anchorAngle = startAngle;
+      break;
+    case "endAngle":
+    case "insideEndAngle":
+      anchorAngle = endAngle;
+      break;
+    default:
+      sector.setTextConfig({
+        rotation: 0
+      });
+      return;
+  }
+  var rotate2 = Math.PI * 1.5 - anchorAngle;
+  if (mappedSectorPosition === "middle" && rotate2 > Math.PI / 2 && rotate2 < Math.PI * 1.5) {
+    rotate2 -= Math.PI;
+  }
+  sector.setTextConfig({
+    rotation: rotate2
+  });
+}
+function adjustAngleDistanceX(angle, distance2, isEnd) {
+  return distance2 * Math.sin(angle) * (isEnd ? -1 : 1);
+}
+function adjustAngleDistanceY(angle, distance2, isEnd) {
+  return distance2 * Math.cos(angle) * (isEnd ? 1 : -1);
+}
+function getSectorCornerRadius(model2, shape, zeroIfNull) {
+  var cornerRadius = model2.get("borderRadius");
+  if (cornerRadius == null) {
+    return zeroIfNull ? {
+      cornerRadius: 0
+    } : null;
+  }
+  if (!isArray$2(cornerRadius)) {
+    cornerRadius = [cornerRadius, cornerRadius, cornerRadius, cornerRadius];
+  }
+  var dr = Math.abs(shape.r || 0 - shape.r0 || 0);
+  return {
+    cornerRadius: map$1(cornerRadius, function(cr) {
+      return parsePercent$1(cr, dr);
+    })
+  };
+}
+var mathMax$4 = Math.max;
+var mathMin$4 = Math.min;
+function getClipArea(coord, data2) {
+  var coordSysClipArea = coord.getArea && coord.getArea();
+  if (isCoordinateSystemType(coord, "cartesian2d")) {
+    var baseAxis = coord.getBaseAxis();
+    if (baseAxis.type !== "category" || !baseAxis.onBand) {
+      var expandWidth = data2.getLayout("bandWidth");
+      if (baseAxis.isHorizontal()) {
+        coordSysClipArea.x -= expandWidth;
+        coordSysClipArea.width += expandWidth * 2;
+      } else {
+        coordSysClipArea.y -= expandWidth;
+        coordSysClipArea.height += expandWidth * 2;
+      }
+    }
+  }
+  return coordSysClipArea;
+}
+var BarView = (
+  /** @class */
+  function(_super) {
+    __extends(BarView2, _super);
+    function BarView2() {
+      var _this = _super.call(this) || this;
+      _this.type = BarView2.type;
+      _this._isFirstFrame = true;
+      return _this;
+    }
+    BarView2.prototype.render = function(seriesModel, ecModel, api2, payload) {
+      this._model = seriesModel;
+      this._removeOnRenderedListener(api2);
+      this._updateDrawMode(seriesModel);
+      var coordinateSystemType = seriesModel.get("coordinateSystem");
+      if (coordinateSystemType === "cartesian2d" || coordinateSystemType === "polar") {
+        this._progressiveEls = null;
+        this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api2) : this._renderNormal(seriesModel, ecModel, api2, payload);
+      }
+    };
+    BarView2.prototype.incrementalPrepareRender = function(seriesModel) {
+      this._clear();
+      this._updateDrawMode(seriesModel);
+      this._updateLargeClip(seriesModel);
+    };
+    BarView2.prototype.incrementalRender = function(params2, seriesModel) {
+      this._progressiveEls = [];
+      this._incrementalRenderLarge(params2, seriesModel);
+    };
+    BarView2.prototype.eachRendered = function(cb) {
+      traverseElements(this._progressiveEls || this.group, cb);
+    };
+    BarView2.prototype._updateDrawMode = function(seriesModel) {
+      var isLargeDraw = seriesModel.pipelineContext.large;
+      if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {
+        this._isLargeDraw = isLargeDraw;
+        this._clear();
+      }
+    };
+    BarView2.prototype._renderNormal = function(seriesModel, ecModel, api2, payload) {
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var coord = seriesModel.coordinateSystem;
+      var baseAxis = coord.getBaseAxis();
+      var isHorizontalOrRadial;
+      if (coord.type === "cartesian2d") {
+        isHorizontalOrRadial = baseAxis.isHorizontal();
+      } else if (coord.type === "polar") {
+        isHorizontalOrRadial = baseAxis.dim === "angle";
+      }
+      var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;
+      var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);
+      if (realtimeSortCfg) {
+        this._enableRealtimeSort(realtimeSortCfg, data2, api2);
+      }
+      var needsClip = seriesModel.get("clip", true) || realtimeSortCfg;
+      var coordSysClipArea = getClipArea(coord, data2);
+      group.removeClipPath();
+      var roundCap = seriesModel.get("roundCap", true);
+      var drawBackground2 = seriesModel.get("showBackground", true);
+      var backgroundModel = seriesModel.getModel("backgroundStyle");
+      var barBorderRadius = backgroundModel.get("borderRadius") || 0;
+      var bgEls = [];
+      var oldBgEls = this._backgroundEls;
+      var isInitSort = payload && payload.isInitSort;
+      var isChangeOrder = payload && payload.type === "changeAxisOrder";
+      function createBackground(dataIndex) {
+        var bgLayout = getLayout[coord.type](data2, dataIndex);
+        var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);
+        bgEl.useStyle(backgroundModel.getItemStyle());
+        if (coord.type === "cartesian2d") {
+          bgEl.setShape("r", barBorderRadius);
+        } else {
+          bgEl.setShape("cornerRadius", barBorderRadius);
+        }
+        bgEls[dataIndex] = bgEl;
+        return bgEl;
+      }
+      data2.diff(oldData).add(function(dataIndex) {
+        var itemModel = data2.getItemModel(dataIndex);
+        var layout2 = getLayout[coord.type](data2, dataIndex, itemModel);
+        if (drawBackground2) {
+          createBackground(dataIndex);
+        }
+        if (!data2.hasValue(dataIndex) || !isValidLayout[coord.type](layout2)) {
+          return;
+        }
+        var isClipped = false;
+        if (needsClip) {
+          isClipped = clip[coord.type](coordSysClipArea, layout2);
+        }
+        var el = elementCreator[coord.type](seriesModel, data2, dataIndex, layout2, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);
+        if (realtimeSortCfg) {
+          el.forceLabelAnimation = true;
+        }
+        updateStyle(el, data2, dataIndex, itemModel, layout2, seriesModel, isHorizontalOrRadial, coord.type === "polar");
+        if (isInitSort) {
+          el.attr({
+            shape: layout2
+          });
+        } else if (realtimeSortCfg) {
+          updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout2, dataIndex, isHorizontalOrRadial, false, false);
+        } else {
+          initProps(el, {
+            shape: layout2
+          }, seriesModel, dataIndex);
+        }
+        data2.setItemGraphicEl(dataIndex, el);
+        group.add(el);
+        el.ignore = isClipped;
+      }).update(function(newIndex, oldIndex) {
+        var itemModel = data2.getItemModel(newIndex);
+        var layout2 = getLayout[coord.type](data2, newIndex, itemModel);
+        if (drawBackground2) {
+          var bgEl = void 0;
+          if (oldBgEls.length === 0) {
+            bgEl = createBackground(oldIndex);
+          } else {
+            bgEl = oldBgEls[oldIndex];
+            bgEl.useStyle(backgroundModel.getItemStyle());
+            if (coord.type === "cartesian2d") {
+              bgEl.setShape("r", barBorderRadius);
+            } else {
+              bgEl.setShape("cornerRadius", barBorderRadius);
+            }
+            bgEls[newIndex] = bgEl;
+          }
+          var bgLayout = getLayout[coord.type](data2, newIndex);
+          var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);
+          updateProps$1(bgEl, {
+            shape
+          }, animationModel, newIndex);
+        }
+        var el = oldData.getItemGraphicEl(oldIndex);
+        if (!data2.hasValue(newIndex) || !isValidLayout[coord.type](layout2)) {
+          group.remove(el);
+          return;
+        }
+        var isClipped = false;
+        if (needsClip) {
+          isClipped = clip[coord.type](coordSysClipArea, layout2);
+          if (isClipped) {
+            group.remove(el);
+          }
+        }
+        if (!el) {
+          el = elementCreator[coord.type](seriesModel, data2, newIndex, layout2, isHorizontalOrRadial, animationModel, baseAxis.model, !!el, roundCap);
+        } else {
+          saveOldStyle(el);
+        }
+        if (realtimeSortCfg) {
+          el.forceLabelAnimation = true;
+        }
+        if (isChangeOrder) {
+          var textEl = el.getTextContent();
+          if (textEl) {
+            var labelInnerStore = labelInner(textEl);
+            if (labelInnerStore.prevValue != null) {
+              labelInnerStore.prevValue = labelInnerStore.value;
+            }
+          }
+        } else {
+          updateStyle(el, data2, newIndex, itemModel, layout2, seriesModel, isHorizontalOrRadial, coord.type === "polar");
+        }
+        if (isInitSort) {
+          el.attr({
+            shape: layout2
+          });
+        } else if (realtimeSortCfg) {
+          updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout2, newIndex, isHorizontalOrRadial, true, isChangeOrder);
+        } else {
+          updateProps$1(el, {
+            shape: layout2
+          }, seriesModel, newIndex, null);
+        }
+        data2.setItemGraphicEl(newIndex, el);
+        el.ignore = isClipped;
+        group.add(el);
+      }).remove(function(dataIndex) {
+        var el = oldData.getItemGraphicEl(dataIndex);
+        el && removeElementWithFadeOut(el, seriesModel, dataIndex);
+      }).execute();
+      var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group$4());
+      bgGroup.removeAll();
+      for (var i2 = 0; i2 < bgEls.length; ++i2) {
+        bgGroup.add(bgEls[i2]);
+      }
+      group.add(bgGroup);
+      this._backgroundEls = bgEls;
+      this._data = data2;
+    };
+    BarView2.prototype._renderLarge = function(seriesModel, ecModel, api2) {
+      this._clear();
+      createLarge$1(seriesModel, this.group);
+      this._updateLargeClip(seriesModel);
+    };
+    BarView2.prototype._incrementalRenderLarge = function(params2, seriesModel) {
+      this._removeBackground();
+      createLarge$1(seriesModel, this.group, this._progressiveEls, true);
+    };
+    BarView2.prototype._updateLargeClip = function(seriesModel) {
+      var clipPath = seriesModel.get("clip", true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);
+      var group = this.group;
+      if (clipPath) {
+        group.setClipPath(clipPath);
+      } else {
+        group.removeClipPath();
+      }
+    };
+    BarView2.prototype._enableRealtimeSort = function(realtimeSortCfg, data2, api2) {
+      var _this = this;
+      if (!data2.count()) {
+        return;
+      }
+      var baseAxis = realtimeSortCfg.baseAxis;
+      if (this._isFirstFrame) {
+        this._dispatchInitSort(data2, realtimeSortCfg, api2);
+        this._isFirstFrame = false;
+      } else {
+        var orderMapping_1 = function(idx) {
+          var el = data2.getItemGraphicEl(idx);
+          var shape = el && el.shape;
+          return shape && // The result should be consistent with the initial sort by data value.
+          // Do not support the case that both positive and negative exist.
+          Math.abs(baseAxis.isHorizontal() ? shape.height : shape.width) || 0;
+        };
+        this._onRendered = function() {
+          _this._updateSortWithinSameData(data2, orderMapping_1, baseAxis, api2);
+        };
+        api2.getZr().on("rendered", this._onRendered);
+      }
+    };
+    BarView2.prototype._dataSort = function(data2, baseAxis, orderMapping) {
+      var info = [];
+      data2.each(data2.mapDimension(baseAxis.dim), function(ordinalNumber, dataIdx) {
+        var mappedValue = orderMapping(dataIdx);
+        mappedValue = mappedValue == null ? NaN : mappedValue;
+        info.push({
+          dataIndex: dataIdx,
+          mappedValue,
+          ordinalNumber
+        });
+      });
+      info.sort(function(a2, b2) {
+        return b2.mappedValue - a2.mappedValue;
+      });
+      return {
+        ordinalNumbers: map$1(info, function(item) {
+          return item.ordinalNumber;
+        })
+      };
+    };
+    BarView2.prototype._isOrderChangedWithinSameData = function(data2, orderMapping, baseAxis) {
+      var scale2 = baseAxis.scale;
+      var ordinalDataDim = data2.mapDimension(baseAxis.dim);
+      var lastValue = Number.MAX_VALUE;
+      for (var tickNum = 0, len2 = scale2.getOrdinalMeta().categories.length; tickNum < len2; ++tickNum) {
+        var rawIdx = data2.rawIndexOf(ordinalDataDim, scale2.getRawOrdinalNumber(tickNum));
+        var value = rawIdx < 0 ? Number.MIN_VALUE : orderMapping(data2.indexOfRawIndex(rawIdx));
+        if (value > lastValue) {
+          return true;
+        }
+        lastValue = value;
+      }
+      return false;
+    };
+    BarView2.prototype._isOrderDifferentInView = function(orderInfo, baseAxis) {
+      var scale2 = baseAxis.scale;
+      var extent3 = scale2.getExtent();
+      var tickNum = Math.max(0, extent3[0]);
+      var tickMax = Math.min(extent3[1], scale2.getOrdinalMeta().categories.length - 1);
+      for (; tickNum <= tickMax; ++tickNum) {
+        if (orderInfo.ordinalNumbers[tickNum] !== scale2.getRawOrdinalNumber(tickNum)) {
+          return true;
+        }
+      }
+    };
+    BarView2.prototype._updateSortWithinSameData = function(data2, orderMapping, baseAxis, api2) {
+      if (!this._isOrderChangedWithinSameData(data2, orderMapping, baseAxis)) {
+        return;
+      }
+      var sortInfo = this._dataSort(data2, baseAxis, orderMapping);
+      if (this._isOrderDifferentInView(sortInfo, baseAxis)) {
+        this._removeOnRenderedListener(api2);
+        api2.dispatchAction({
+          type: "changeAxisOrder",
+          componentType: baseAxis.dim + "Axis",
+          axisId: baseAxis.index,
+          sortInfo
+        });
+      }
+    };
+    BarView2.prototype._dispatchInitSort = function(data2, realtimeSortCfg, api2) {
+      var baseAxis = realtimeSortCfg.baseAxis;
+      var sortResult = this._dataSort(data2, baseAxis, function(dataIdx) {
+        return data2.get(data2.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);
+      });
+      api2.dispatchAction({
+        type: "changeAxisOrder",
+        componentType: baseAxis.dim + "Axis",
+        isInitSort: true,
+        axisId: baseAxis.index,
+        sortInfo: sortResult
+      });
+    };
+    BarView2.prototype.remove = function(ecModel, api2) {
+      this._clear(this._model);
+      this._removeOnRenderedListener(api2);
+    };
+    BarView2.prototype.dispose = function(ecModel, api2) {
+      this._removeOnRenderedListener(api2);
+    };
+    BarView2.prototype._removeOnRenderedListener = function(api2) {
+      if (this._onRendered) {
+        api2.getZr().off("rendered", this._onRendered);
+        this._onRendered = null;
+      }
+    };
+    BarView2.prototype._clear = function(model2) {
+      var group = this.group;
+      var data2 = this._data;
+      if (model2 && model2.isAnimationEnabled() && data2 && !this._isLargeDraw) {
+        this._removeBackground();
+        this._backgroundEls = [];
+        data2.eachItemGraphicEl(function(el) {
+          removeElementWithFadeOut(el, model2, getECData(el).dataIndex);
+        });
+      } else {
+        group.removeAll();
+      }
+      this._data = null;
+      this._isFirstFrame = true;
+    };
+    BarView2.prototype._removeBackground = function() {
+      this.group.remove(this._backgroundGroup);
+      this._backgroundGroup = null;
+    };
+    BarView2.type = "bar";
+    return BarView2;
+  }(ChartView$1)
+);
+var clip = {
+  cartesian2d: function(coordSysBoundingRect, layout2) {
+    var signWidth = layout2.width < 0 ? -1 : 1;
+    var signHeight = layout2.height < 0 ? -1 : 1;
+    if (signWidth < 0) {
+      layout2.x += layout2.width;
+      layout2.width = -layout2.width;
+    }
+    if (signHeight < 0) {
+      layout2.y += layout2.height;
+      layout2.height = -layout2.height;
+    }
+    var coordSysX2 = coordSysBoundingRect.x + coordSysBoundingRect.width;
+    var coordSysY2 = coordSysBoundingRect.y + coordSysBoundingRect.height;
+    var x2 = mathMax$4(layout2.x, coordSysBoundingRect.x);
+    var x22 = mathMin$4(layout2.x + layout2.width, coordSysX2);
+    var y2 = mathMax$4(layout2.y, coordSysBoundingRect.y);
+    var y22 = mathMin$4(layout2.y + layout2.height, coordSysY2);
+    var xClipped = x22 < x2;
+    var yClipped = y22 < y2;
+    layout2.x = xClipped && x2 > coordSysX2 ? x22 : x2;
+    layout2.y = yClipped && y2 > coordSysY2 ? y22 : y2;
+    layout2.width = xClipped ? 0 : x22 - x2;
+    layout2.height = yClipped ? 0 : y22 - y2;
+    if (signWidth < 0) {
+      layout2.x += layout2.width;
+      layout2.width = -layout2.width;
+    }
+    if (signHeight < 0) {
+      layout2.y += layout2.height;
+      layout2.height = -layout2.height;
+    }
+    return xClipped || yClipped;
+  },
+  polar: function(coordSysClipArea, layout2) {
+    var signR = layout2.r0 <= layout2.r ? 1 : -1;
+    if (signR < 0) {
+      var tmp = layout2.r;
+      layout2.r = layout2.r0;
+      layout2.r0 = tmp;
+    }
+    var r2 = mathMin$4(layout2.r, coordSysClipArea.r);
+    var r0 = mathMax$4(layout2.r0, coordSysClipArea.r0);
+    layout2.r = r2;
+    layout2.r0 = r0;
+    var clipped = r2 - r0 < 0;
+    if (signR < 0) {
+      var tmp = layout2.r;
+      layout2.r = layout2.r0;
+      layout2.r0 = tmp;
+    }
+    return clipped;
+  }
+};
+var elementCreator = {
+  cartesian2d: function(seriesModel, data2, newIndex, layout2, isHorizontal, animationModel, axisModel, isUpdate, roundCap) {
+    var rect = new Rect$3({
+      shape: extend$1({}, layout2),
+      z2: 1
+    });
+    rect.__dataIndex = newIndex;
+    rect.name = "item";
+    if (animationModel) {
+      var rectShape = rect.shape;
+      var animateProperty = isHorizontal ? "height" : "width";
+      rectShape[animateProperty] = 0;
+    }
+    return rect;
+  },
+  polar: function(seriesModel, data2, newIndex, layout2, isRadial, animationModel, axisModel, isUpdate, roundCap) {
+    var ShapeClass = !isRadial && roundCap ? Sausage : Sector$1;
+    var sector = new ShapeClass({
+      shape: layout2,
+      z2: 1
+    });
+    sector.name = "item";
+    var positionMap = createPolarPositionMapping(isRadial);
+    sector.calculateTextPosition = createSectorCalculateTextPosition(positionMap, {
+      isRoundCap: ShapeClass === Sausage
+    });
+    if (animationModel) {
+      var sectorShape = sector.shape;
+      var animateProperty = isRadial ? "r" : "endAngle";
+      var animateTarget = {};
+      sectorShape[animateProperty] = isRadial ? layout2.r0 : layout2.startAngle;
+      animateTarget[animateProperty] = layout2[animateProperty];
+      (isUpdate ? updateProps$1 : initProps)(sector, {
+        shape: animateTarget
+        // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue
+      }, animationModel);
+    }
+    return sector;
+  }
+};
+function shouldRealtimeSort(seriesModel, coordSys) {
+  var realtimeSortOption = seriesModel.get("realtimeSort", true);
+  var baseAxis = coordSys.getBaseAxis();
+  if (realtimeSortOption && baseAxis.type === "category" && coordSys.type === "cartesian2d") {
+    return {
+      baseAxis,
+      otherAxis: coordSys.getOtherAxis(baseAxis)
+    };
+  }
+}
+function updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout2, newIndex, isHorizontal, isUpdate, isChangeOrder) {
+  var seriesTarget;
+  var axisTarget;
+  if (isHorizontal) {
+    axisTarget = {
+      x: layout2.x,
+      width: layout2.width
+    };
+    seriesTarget = {
+      y: layout2.y,
+      height: layout2.height
+    };
+  } else {
+    axisTarget = {
+      y: layout2.y,
+      height: layout2.height
+    };
+    seriesTarget = {
+      x: layout2.x,
+      width: layout2.width
+    };
+  }
+  if (!isChangeOrder) {
+    (isUpdate ? updateProps$1 : initProps)(el, {
+      shape: seriesTarget
+    }, seriesAnimationModel, newIndex, null);
+  }
+  var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;
+  (isUpdate ? updateProps$1 : initProps)(el, {
+    shape: axisTarget
+  }, axisAnimationModel, newIndex);
+}
+function checkPropertiesNotValid(obj2, props2) {
+  for (var i2 = 0; i2 < props2.length; i2++) {
+    if (!isFinite(obj2[props2[i2]])) {
+      return true;
+    }
+  }
+  return false;
+}
+var rectPropties = ["x", "y", "width", "height"];
+var polarPropties = ["cx", "cy", "r", "startAngle", "endAngle"];
+var isValidLayout = {
+  cartesian2d: function(layout2) {
+    return !checkPropertiesNotValid(layout2, rectPropties);
+  },
+  polar: function(layout2) {
+    return !checkPropertiesNotValid(layout2, polarPropties);
+  }
+};
+var getLayout = {
+  // itemModel is only used to get borderWidth, which is not needed
+  // when calculating bar background layout.
+  cartesian2d: function(data2, dataIndex, itemModel) {
+    var layout2 = data2.getItemLayout(dataIndex);
+    var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout2) : 0;
+    var signX = layout2.width > 0 ? 1 : -1;
+    var signY = layout2.height > 0 ? 1 : -1;
+    return {
+      x: layout2.x + signX * fixedLineWidth / 2,
+      y: layout2.y + signY * fixedLineWidth / 2,
+      width: layout2.width - signX * fixedLineWidth,
+      height: layout2.height - signY * fixedLineWidth
+    };
+  },
+  polar: function(data2, dataIndex, itemModel) {
+    var layout2 = data2.getItemLayout(dataIndex);
+    return {
+      cx: layout2.cx,
+      cy: layout2.cy,
+      r0: layout2.r0,
+      r: layout2.r,
+      startAngle: layout2.startAngle,
+      endAngle: layout2.endAngle,
+      clockwise: layout2.clockwise
+    };
+  }
+};
+function isZeroOnPolar(layout2) {
+  return layout2.startAngle != null && layout2.endAngle != null && layout2.startAngle === layout2.endAngle;
+}
+function createPolarPositionMapping(isRadial) {
+  return function(isRadial2) {
+    var arcOrAngle = isRadial2 ? "Arc" : "Angle";
+    return function(position2) {
+      switch (position2) {
+        case "start":
+        case "insideStart":
+        case "end":
+        case "insideEnd":
+          return position2 + arcOrAngle;
+        default:
+          return position2;
+      }
+    };
+  }(isRadial);
+}
+function updateStyle(el, data2, dataIndex, itemModel, layout2, seriesModel, isHorizontalOrRadial, isPolar) {
+  var style2 = data2.getItemVisual(dataIndex, "style");
+  if (!isPolar) {
+    var borderRadius = itemModel.get(["itemStyle", "borderRadius"]) || 0;
+    el.setShape("r", borderRadius);
+  } else if (!seriesModel.get("roundCap")) {
+    var sectorShape = el.shape;
+    var cornerRadius = getSectorCornerRadius(itemModel.getModel("itemStyle"), sectorShape, true);
+    extend$1(sectorShape, cornerRadius);
+    el.setShape(sectorShape);
+  }
+  el.useStyle(style2);
+  var cursorStyle = itemModel.getShallow("cursor");
+  cursorStyle && el.attr("cursor", cursorStyle);
+  var labelPositionOutside = isPolar ? isHorizontalOrRadial ? layout2.r >= layout2.r0 ? "endArc" : "startArc" : layout2.endAngle >= layout2.startAngle ? "endAngle" : "startAngle" : isHorizontalOrRadial ? layout2.height >= 0 ? "bottom" : "top" : layout2.width >= 0 ? "right" : "left";
+  var labelStatesModels = getLabelStatesModels(itemModel);
+  setLabelStyle(el, labelStatesModels, {
+    labelFetcher: seriesModel,
+    labelDataIndex: dataIndex,
+    defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),
+    inheritColor: style2.fill,
+    defaultOpacity: style2.opacity,
+    defaultOutsidePosition: labelPositionOutside
+  });
+  var label = el.getTextContent();
+  if (isPolar && label) {
+    var position2 = itemModel.get(["label", "position"]);
+    el.textConfig.inside = position2 === "middle" ? true : null;
+    setSectorTextRotation(el, position2 === "outside" ? labelPositionOutside : position2, createPolarPositionMapping(isHorizontalOrRadial), itemModel.get(["label", "rotate"]));
+  }
+  setLabelValueAnimation(label, labelStatesModels, seriesModel.getRawValue(dataIndex), function(value) {
+    return getDefaultInterpolatedLabel(data2, value);
+  });
+  var emphasisModel = itemModel.getModel(["emphasis"]);
+  toggleHoverEmphasis(el, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+  setStatesStylesFromModel(el, itemModel);
+  if (isZeroOnPolar(layout2)) {
+    el.style.fill = "none";
+    el.style.stroke = "none";
+    each$f(el.states, function(state) {
+      if (state.style) {
+        state.style.fill = state.style.stroke = "none";
+      }
+    });
+  }
+}
+function getLineWidth(itemModel, rawLayout) {
+  var borderColor = itemModel.get(["itemStyle", "borderColor"]);
+  if (!borderColor || borderColor === "none") {
+    return 0;
+  }
+  var lineWidth = itemModel.get(["itemStyle", "borderWidth"]) || 0;
+  var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);
+  var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);
+  return Math.min(lineWidth, width, height);
+}
+var LagePathShape = (
+  /** @class */
+  function() {
+    function LagePathShape2() {
+    }
+    return LagePathShape2;
+  }()
+);
+var LargePath = (
+  /** @class */
+  function(_super) {
+    __extends(LargePath2, _super);
+    function LargePath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "largeBar";
+      return _this;
+    }
+    LargePath2.prototype.getDefaultShape = function() {
+      return new LagePathShape();
+    };
+    LargePath2.prototype.buildPath = function(ctx, shape) {
+      var points2 = shape.points;
+      var baseDimIdx = this.baseDimIdx;
+      var valueDimIdx = 1 - this.baseDimIdx;
+      var startPoint = [];
+      var size = [];
+      var barWidth = this.barWidth;
+      for (var i2 = 0; i2 < points2.length; i2 += 3) {
+        size[baseDimIdx] = barWidth;
+        size[valueDimIdx] = points2[i2 + 2];
+        startPoint[baseDimIdx] = points2[i2 + baseDimIdx];
+        startPoint[valueDimIdx] = points2[i2 + valueDimIdx];
+        ctx.rect(startPoint[0], startPoint[1], size[0], size[1]);
+      }
+    };
+    return LargePath2;
+  }(Path$1)
+);
+function createLarge$1(seriesModel, group, progressiveEls, incremental) {
+  var data2 = seriesModel.getData();
+  var baseDimIdx = data2.getLayout("valueAxisHorizontal") ? 1 : 0;
+  var largeDataIndices = data2.getLayout("largeDataIndices");
+  var barWidth = data2.getLayout("size");
+  var backgroundModel = seriesModel.getModel("backgroundStyle");
+  var bgPoints = data2.getLayout("largeBackgroundPoints");
+  if (bgPoints) {
+    var bgEl = new LargePath({
+      shape: {
+        points: bgPoints
+      },
+      incremental: !!incremental,
+      silent: true,
+      z2: 0
+    });
+    bgEl.baseDimIdx = baseDimIdx;
+    bgEl.largeDataIndices = largeDataIndices;
+    bgEl.barWidth = barWidth;
+    bgEl.useStyle(backgroundModel.getItemStyle());
+    group.add(bgEl);
+    progressiveEls && progressiveEls.push(bgEl);
+  }
+  var el = new LargePath({
+    shape: {
+      points: data2.getLayout("largePoints")
+    },
+    incremental: !!incremental,
+    ignoreCoarsePointer: true,
+    z2: 1
+  });
+  el.baseDimIdx = baseDimIdx;
+  el.largeDataIndices = largeDataIndices;
+  el.barWidth = barWidth;
+  group.add(el);
+  el.useStyle(data2.getVisual("style"));
+  getECData(el).seriesIndex = seriesModel.seriesIndex;
+  if (!seriesModel.get("silent")) {
+    el.on("mousedown", largePathUpdateDataIndex);
+    el.on("mousemove", largePathUpdateDataIndex);
+  }
+  progressiveEls && progressiveEls.push(el);
+}
+var largePathUpdateDataIndex = throttle$1(function(event2) {
+  var largePath = this;
+  var dataIndex = largePathFindDataIndex(largePath, event2.offsetX, event2.offsetY);
+  getECData(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;
+}, 30, false);
+function largePathFindDataIndex(largePath, x2, y2) {
+  var baseDimIdx = largePath.baseDimIdx;
+  var valueDimIdx = 1 - baseDimIdx;
+  var points2 = largePath.shape.points;
+  var largeDataIndices = largePath.largeDataIndices;
+  var startPoint = [];
+  var size = [];
+  var barWidth = largePath.barWidth;
+  for (var i2 = 0, len2 = points2.length / 3; i2 < len2; i2++) {
+    var ii = i2 * 3;
+    size[baseDimIdx] = barWidth;
+    size[valueDimIdx] = points2[ii + 2];
+    startPoint[baseDimIdx] = points2[ii + baseDimIdx];
+    startPoint[valueDimIdx] = points2[ii + valueDimIdx];
+    if (size[valueDimIdx] < 0) {
+      startPoint[valueDimIdx] += size[valueDimIdx];
+      size[valueDimIdx] = -size[valueDimIdx];
+    }
+    if (x2 >= startPoint[0] && x2 <= startPoint[0] + size[0] && y2 >= startPoint[1] && y2 <= startPoint[1] + size[1]) {
+      return largeDataIndices[i2];
+    }
+  }
+  return -1;
+}
+function createBackgroundShape(isHorizontalOrRadial, layout2, coord) {
+  if (isCoordinateSystemType(coord, "cartesian2d")) {
+    var rectShape = layout2;
+    var coordLayout = coord.getArea();
+    return {
+      x: isHorizontalOrRadial ? rectShape.x : coordLayout.x,
+      y: isHorizontalOrRadial ? coordLayout.y : rectShape.y,
+      width: isHorizontalOrRadial ? rectShape.width : coordLayout.width,
+      height: isHorizontalOrRadial ? coordLayout.height : rectShape.height
+    };
+  } else {
+    var coordLayout = coord.getArea();
+    var sectorShape = layout2;
+    return {
+      cx: coordLayout.cx,
+      cy: coordLayout.cy,
+      r0: isHorizontalOrRadial ? coordLayout.r0 : sectorShape.r0,
+      r: isHorizontalOrRadial ? coordLayout.r : sectorShape.r,
+      startAngle: isHorizontalOrRadial ? sectorShape.startAngle : 0,
+      endAngle: isHorizontalOrRadial ? sectorShape.endAngle : Math.PI * 2
+    };
+  }
+}
+function createBackgroundEl(coord, isHorizontalOrRadial, layout2) {
+  var ElementClz = coord.type === "polar" ? Sector$1 : Rect$3;
+  return new ElementClz({
+    shape: createBackgroundShape(isHorizontalOrRadial, layout2, coord),
+    silent: true,
+    z2: 0
+  });
+}
+const BarView$1 = BarView;
+function install$P(registers) {
+  registers.registerChartView(BarView$1);
+  registers.registerSeriesModel(BarSeries);
+  registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, curry$1(layout$3, "bar"));
+  registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout("bar"));
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample("bar"));
+  registers.registerAction({
+    type: "changeAxisOrder",
+    event: "changeAxisOrder",
+    update: "update"
+  }, function(payload, ecModel) {
+    var componentType = payload.componentType || "series";
+    ecModel.eachComponent({
+      mainType: componentType,
+      query: payload
+    }, function(componentModel) {
+      if (payload.sortInfo) {
+        componentModel.axis.setCategorySortInfo(payload.sortInfo);
+      }
+    });
+  });
+}
+var PI2 = Math.PI * 2;
+var RADIAN$2 = Math.PI / 180;
+function getViewRect$5(seriesModel, api2) {
+  return getLayoutRect(seriesModel.getBoxLayoutParams(), {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  });
+}
+function getBasicPieLayout(seriesModel, api2) {
+  var viewRect2 = getViewRect$5(seriesModel, api2);
+  var center2 = seriesModel.get("center");
+  var radius = seriesModel.get("radius");
+  if (!isArray$2(radius)) {
+    radius = [0, radius];
+  }
+  var width = parsePercent(viewRect2.width, api2.getWidth());
+  var height = parsePercent(viewRect2.height, api2.getHeight());
+  var size = Math.min(width, height);
+  var r0 = parsePercent(radius[0], size / 2);
+  var r2 = parsePercent(radius[1], size / 2);
+  var cx;
+  var cy;
+  var coordSys = seriesModel.coordinateSystem;
+  if (coordSys) {
+    var point = coordSys.dataToPoint(center2);
+    cx = point[0] || 0;
+    cy = point[1] || 0;
+  } else {
+    if (!isArray$2(center2)) {
+      center2 = [center2, center2];
+    }
+    cx = parsePercent(center2[0], width) + viewRect2.x;
+    cy = parsePercent(center2[1], height) + viewRect2.y;
+  }
+  return {
+    cx,
+    cy,
+    r0,
+    r: r2
+  };
+}
+function pieLayout(seriesType2, ecModel, api2) {
+  ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var valueDim = data2.mapDimension("value");
+    var viewRect2 = getViewRect$5(seriesModel, api2);
+    var _a2 = getBasicPieLayout(seriesModel, api2), cx = _a2.cx, cy = _a2.cy, r2 = _a2.r, r0 = _a2.r0;
+    var startAngle = -seriesModel.get("startAngle") * RADIAN$2;
+    var minAngle = seriesModel.get("minAngle") * RADIAN$2;
+    var validDataCount = 0;
+    data2.each(valueDim, function(value) {
+      !isNaN(value) && validDataCount++;
+    });
+    var sum2 = data2.getSum(valueDim);
+    var unitRadian = Math.PI / (sum2 || validDataCount) * 2;
+    var clockwise = seriesModel.get("clockwise");
+    var roseType = seriesModel.get("roseType");
+    var stillShowZeroSum = seriesModel.get("stillShowZeroSum");
+    var extent3 = data2.getDataExtent(valueDim);
+    extent3[0] = 0;
+    var restAngle = PI2;
+    var valueSumLargerThanMinAngle = 0;
+    var currentAngle = startAngle;
+    var dir3 = clockwise ? 1 : -1;
+    data2.setLayout({
+      viewRect: viewRect2,
+      r: r2
+    });
+    data2.each(valueDim, function(value, idx) {
+      var angle;
+      if (isNaN(value)) {
+        data2.setItemLayout(idx, {
+          angle: NaN,
+          startAngle: NaN,
+          endAngle: NaN,
+          clockwise,
+          cx,
+          cy,
+          r0,
+          r: roseType ? NaN : r2
+        });
+        return;
+      }
+      if (roseType !== "area") {
+        angle = sum2 === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;
+      } else {
+        angle = PI2 / validDataCount;
+      }
+      if (angle < minAngle) {
+        angle = minAngle;
+        restAngle -= minAngle;
+      } else {
+        valueSumLargerThanMinAngle += value;
+      }
+      var endAngle = currentAngle + dir3 * angle;
+      data2.setItemLayout(idx, {
+        angle,
+        startAngle: currentAngle,
+        endAngle,
+        clockwise,
+        cx,
+        cy,
+        r0,
+        r: roseType ? linearMap$2(value, extent3, [r0, r2]) : r2
+      });
+      currentAngle = endAngle;
+    });
+    if (restAngle < PI2 && validDataCount) {
+      if (restAngle <= 1e-3) {
+        var angle_1 = PI2 / validDataCount;
+        data2.each(valueDim, function(value, idx) {
+          if (!isNaN(value)) {
+            var layout_1 = data2.getItemLayout(idx);
+            layout_1.angle = angle_1;
+            layout_1.startAngle = startAngle + dir3 * idx * angle_1;
+            layout_1.endAngle = startAngle + dir3 * (idx + 1) * angle_1;
+          }
+        });
+      } else {
+        unitRadian = restAngle / valueSumLargerThanMinAngle;
+        currentAngle = startAngle;
+        data2.each(valueDim, function(value, idx) {
+          if (!isNaN(value)) {
+            var layout_2 = data2.getItemLayout(idx);
+            var angle = layout_2.angle === minAngle ? minAngle : value * unitRadian;
+            layout_2.startAngle = currentAngle;
+            layout_2.endAngle = currentAngle + dir3 * angle;
+            currentAngle += dir3 * angle;
+          }
+        });
+      }
+    }
+  });
+}
+function dataFilter$1(seriesType2) {
+  return {
+    seriesType: seriesType2,
+    reset: function(seriesModel, ecModel) {
+      var legendModels = ecModel.findComponents({
+        mainType: "legend"
+      });
+      if (!legendModels || !legendModels.length) {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      data2.filterSelf(function(idx) {
+        var name2 = data2.getName(idx);
+        for (var i2 = 0; i2 < legendModels.length; i2++) {
+          if (!legendModels[i2].isSelected(name2)) {
+            return false;
+          }
+        }
+        return true;
+      });
+    }
+  };
+}
+var RADIAN$1 = Math.PI / 180;
+function adjustSingleSide(list2, cx, cy, r2, dir3, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {
+  if (list2.length < 2) {
+    return;
+  }
+  function recalculateXOnSemiToAlignOnEllipseCurve(semi) {
+    var rB = semi.rB;
+    var rB2 = rB * rB;
+    for (var i3 = 0; i3 < semi.list.length; i3++) {
+      var item = semi.list[i3];
+      var dy = Math.abs(item.label.y - cy);
+      var rA = r2 + item.len;
+      var rA2 = rA * rA;
+      var dx2 = Math.sqrt((1 - Math.abs(dy * dy / rB2)) * rA2);
+      var newX = cx + (dx2 + item.len2) * dir3;
+      var deltaX = newX - item.label.x;
+      var newTargetWidth = item.targetTextWidth - deltaX * dir3;
+      constrainTextWidth(item, newTargetWidth, true);
+      item.label.x = newX;
+    }
+  }
+  function recalculateX(items) {
+    var topSemi = {
+      list: [],
+      maxY: 0
+    };
+    var bottomSemi = {
+      list: [],
+      maxY: 0
+    };
+    for (var i3 = 0; i3 < items.length; i3++) {
+      if (items[i3].labelAlignTo !== "none") {
+        continue;
+      }
+      var item = items[i3];
+      var semi = item.label.y > cy ? bottomSemi : topSemi;
+      var dy = Math.abs(item.label.y - cy);
+      if (dy >= semi.maxY) {
+        var dx2 = item.label.x - cx - item.len2 * dir3;
+        var rA = r2 + item.len;
+        var rB = Math.abs(dx2) < rA ? Math.sqrt(dy * dy / (1 - dx2 * dx2 / rA / rA)) : rA;
+        semi.rB = rB;
+        semi.maxY = dy;
+      }
+      semi.list.push(item);
+    }
+    recalculateXOnSemiToAlignOnEllipseCurve(topSemi);
+    recalculateXOnSemiToAlignOnEllipseCurve(bottomSemi);
+  }
+  var len2 = list2.length;
+  for (var i2 = 0; i2 < len2; i2++) {
+    if (list2[i2].position === "outer" && list2[i2].labelAlignTo === "labelLine") {
+      var dx = list2[i2].label.x - farthestX;
+      list2[i2].linePoints[1][0] += dx;
+      list2[i2].label.x = farthestX;
+    }
+  }
+  if (shiftLayoutOnY(list2, viewTop, viewTop + viewHeight)) {
+    recalculateX(list2);
+  }
+}
+function avoidOverlap(labelLayoutList, cx, cy, r2, viewWidth, viewHeight, viewLeft, viewTop) {
+  var leftList = [];
+  var rightList = [];
+  var leftmostX = Number.MAX_VALUE;
+  var rightmostX = -Number.MAX_VALUE;
+  for (var i2 = 0; i2 < labelLayoutList.length; i2++) {
+    var label = labelLayoutList[i2].label;
+    if (isPositionCenter(labelLayoutList[i2])) {
+      continue;
+    }
+    if (label.x < cx) {
+      leftmostX = Math.min(leftmostX, label.x);
+      leftList.push(labelLayoutList[i2]);
+    } else {
+      rightmostX = Math.max(rightmostX, label.x);
+      rightList.push(labelLayoutList[i2]);
+    }
+  }
+  for (var i2 = 0; i2 < labelLayoutList.length; i2++) {
+    var layout2 = labelLayoutList[i2];
+    if (!isPositionCenter(layout2) && layout2.linePoints) {
+      if (layout2.labelStyleWidth != null) {
+        continue;
+      }
+      var label = layout2.label;
+      var linePoints = layout2.linePoints;
+      var targetTextWidth = void 0;
+      if (layout2.labelAlignTo === "edge") {
+        if (label.x < cx) {
+          targetTextWidth = linePoints[2][0] - layout2.labelDistance - viewLeft - layout2.edgeDistance;
+        } else {
+          targetTextWidth = viewLeft + viewWidth - layout2.edgeDistance - linePoints[2][0] - layout2.labelDistance;
+        }
+      } else if (layout2.labelAlignTo === "labelLine") {
+        if (label.x < cx) {
+          targetTextWidth = leftmostX - viewLeft - layout2.bleedMargin;
+        } else {
+          targetTextWidth = viewLeft + viewWidth - rightmostX - layout2.bleedMargin;
+        }
+      } else {
+        if (label.x < cx) {
+          targetTextWidth = label.x - viewLeft - layout2.bleedMargin;
+        } else {
+          targetTextWidth = viewLeft + viewWidth - label.x - layout2.bleedMargin;
+        }
+      }
+      layout2.targetTextWidth = targetTextWidth;
+      constrainTextWidth(layout2, targetTextWidth);
+    }
+  }
+  adjustSingleSide(rightList, cx, cy, r2, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);
+  adjustSingleSide(leftList, cx, cy, r2, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);
+  for (var i2 = 0; i2 < labelLayoutList.length; i2++) {
+    var layout2 = labelLayoutList[i2];
+    if (!isPositionCenter(layout2) && layout2.linePoints) {
+      var label = layout2.label;
+      var linePoints = layout2.linePoints;
+      var isAlignToEdge = layout2.labelAlignTo === "edge";
+      var padding = label.style.padding;
+      var paddingH = padding ? padding[1] + padding[3] : 0;
+      var extraPaddingH = label.style.backgroundColor ? 0 : paddingH;
+      var realTextWidth = layout2.rect.width + extraPaddingH;
+      var dist2 = linePoints[1][0] - linePoints[2][0];
+      if (isAlignToEdge) {
+        if (label.x < cx) {
+          linePoints[2][0] = viewLeft + layout2.edgeDistance + realTextWidth + layout2.labelDistance;
+        } else {
+          linePoints[2][0] = viewLeft + viewWidth - layout2.edgeDistance - realTextWidth - layout2.labelDistance;
+        }
+      } else {
+        if (label.x < cx) {
+          linePoints[2][0] = label.x + layout2.labelDistance;
+        } else {
+          linePoints[2][0] = label.x - layout2.labelDistance;
+        }
+        linePoints[1][0] = linePoints[2][0] + dist2;
+      }
+      linePoints[1][1] = linePoints[2][1] = label.y;
+    }
+  }
+}
+function constrainTextWidth(layout2, availableWidth, forceRecalculate) {
+  if (forceRecalculate === void 0) {
+    forceRecalculate = false;
+  }
+  if (layout2.labelStyleWidth != null) {
+    return;
+  }
+  var label = layout2.label;
+  var style2 = label.style;
+  var textRect = layout2.rect;
+  var bgColor = style2.backgroundColor;
+  var padding = style2.padding;
+  var paddingH = padding ? padding[1] + padding[3] : 0;
+  var overflow = style2.overflow;
+  var oldOuterWidth = textRect.width + (bgColor ? 0 : paddingH);
+  if (availableWidth < oldOuterWidth || forceRecalculate) {
+    var oldHeight = textRect.height;
+    if (overflow && overflow.match("break")) {
+      label.setStyle("backgroundColor", null);
+      label.setStyle("width", availableWidth - paddingH);
+      var innerRect = label.getBoundingRect();
+      label.setStyle("width", Math.ceil(innerRect.width));
+      label.setStyle("backgroundColor", bgColor);
+    } else {
+      var availableInnerWidth = availableWidth - paddingH;
+      var newWidth = availableWidth < oldOuterWidth ? availableInnerWidth : (
+        // Current available width is enough, but the text may have
+        // already been wrapped with a smaller available width.
+        forceRecalculate ? availableInnerWidth > layout2.unconstrainedWidth ? null : availableInnerWidth : (
+          // Current available width is enough, so no need to
+          // constrain.
+          null
+        )
+      );
+      label.setStyle("width", newWidth);
+    }
+    var newRect = label.getBoundingRect();
+    textRect.width = newRect.width;
+    var margin = (label.style.margin || 0) + 2.1;
+    textRect.height = newRect.height + margin;
+    textRect.y -= (textRect.height - oldHeight) / 2;
+  }
+}
+function isPositionCenter(sectorShape) {
+  return sectorShape.position === "center";
+}
+function pieLabelLayout(seriesModel) {
+  var data2 = seriesModel.getData();
+  var labelLayoutList = [];
+  var cx;
+  var cy;
+  var hasLabelRotate = false;
+  var minShowLabelRadian = (seriesModel.get("minShowLabelAngle") || 0) * RADIAN$1;
+  var viewRect2 = data2.getLayout("viewRect");
+  var r2 = data2.getLayout("r");
+  var viewWidth = viewRect2.width;
+  var viewLeft = viewRect2.x;
+  var viewTop = viewRect2.y;
+  var viewHeight = viewRect2.height;
+  function setNotShow(el) {
+    el.ignore = true;
+  }
+  function isLabelShown(label2) {
+    if (!label2.ignore) {
+      return true;
+    }
+    for (var key2 in label2.states) {
+      if (label2.states[key2].ignore === false) {
+        return true;
+      }
+    }
+    return false;
+  }
+  data2.each(function(idx) {
+    var sector = data2.getItemGraphicEl(idx);
+    var sectorShape = sector.shape;
+    var label2 = sector.getTextContent();
+    var labelLine2 = sector.getTextGuideLine();
+    var itemModel = data2.getItemModel(idx);
+    var labelModel = itemModel.getModel("label");
+    var labelPosition = labelModel.get("position") || itemModel.get(["emphasis", "label", "position"]);
+    var labelDistance = labelModel.get("distanceToLabelLine");
+    var labelAlignTo = labelModel.get("alignTo");
+    var edgeDistance = parsePercent(labelModel.get("edgeDistance"), viewWidth);
+    var bleedMargin = labelModel.get("bleedMargin");
+    var labelLineModel = itemModel.getModel("labelLine");
+    var labelLineLen = labelLineModel.get("length");
+    labelLineLen = parsePercent(labelLineLen, viewWidth);
+    var labelLineLen2 = labelLineModel.get("length2");
+    labelLineLen2 = parsePercent(labelLineLen2, viewWidth);
+    if (Math.abs(sectorShape.endAngle - sectorShape.startAngle) < minShowLabelRadian) {
+      each$f(label2.states, setNotShow);
+      label2.ignore = true;
+      if (labelLine2) {
+        each$f(labelLine2.states, setNotShow);
+        labelLine2.ignore = true;
+      }
+      return;
+    }
+    if (!isLabelShown(label2)) {
+      return;
+    }
+    var midAngle = (sectorShape.startAngle + sectorShape.endAngle) / 2;
+    var nx = Math.cos(midAngle);
+    var ny = Math.sin(midAngle);
+    var textX;
+    var textY;
+    var linePoints2;
+    var textAlign;
+    cx = sectorShape.cx;
+    cy = sectorShape.cy;
+    var isLabelInside = labelPosition === "inside" || labelPosition === "inner";
+    if (labelPosition === "center") {
+      textX = sectorShape.cx;
+      textY = sectorShape.cy;
+      textAlign = "center";
+    } else {
+      var x1 = (isLabelInside ? (sectorShape.r + sectorShape.r0) / 2 * nx : sectorShape.r * nx) + cx;
+      var y1 = (isLabelInside ? (sectorShape.r + sectorShape.r0) / 2 * ny : sectorShape.r * ny) + cy;
+      textX = x1 + nx * 3;
+      textY = y1 + ny * 3;
+      if (!isLabelInside) {
+        var x2 = x1 + nx * (labelLineLen + r2 - sectorShape.r);
+        var y2 = y1 + ny * (labelLineLen + r2 - sectorShape.r);
+        var x3 = x2 + (nx < 0 ? -1 : 1) * labelLineLen2;
+        var y3 = y2;
+        if (labelAlignTo === "edge") {
+          textX = nx < 0 ? viewLeft + edgeDistance : viewLeft + viewWidth - edgeDistance;
+        } else {
+          textX = x3 + (nx < 0 ? -labelDistance : labelDistance);
+        }
+        textY = y3;
+        linePoints2 = [[x1, y1], [x2, y2], [x3, y3]];
+      }
+      textAlign = isLabelInside ? "center" : labelAlignTo === "edge" ? nx > 0 ? "right" : "left" : nx > 0 ? "left" : "right";
+    }
+    var PI3 = Math.PI;
+    var labelRotate = 0;
+    var rotate2 = labelModel.get("rotate");
+    if (isNumber$1(rotate2)) {
+      labelRotate = rotate2 * (PI3 / 180);
+    } else if (labelPosition === "center") {
+      labelRotate = 0;
+    } else if (rotate2 === "radial" || rotate2 === true) {
+      var radialAngle = nx < 0 ? -midAngle + PI3 : -midAngle;
+      labelRotate = radialAngle;
+    } else if (rotate2 === "tangential" && labelPosition !== "outside" && labelPosition !== "outer") {
+      var rad = Math.atan2(nx, ny);
+      if (rad < 0) {
+        rad = PI3 * 2 + rad;
+      }
+      var isDown = ny > 0;
+      if (isDown) {
+        rad = PI3 + rad;
+      }
+      labelRotate = rad - PI3;
+    }
+    hasLabelRotate = !!labelRotate;
+    label2.x = textX;
+    label2.y = textY;
+    label2.rotation = labelRotate;
+    label2.setStyle({
+      verticalAlign: "middle"
+    });
+    if (!isLabelInside) {
+      var textRect = label2.getBoundingRect().clone();
+      textRect.applyTransform(label2.getComputedTransform());
+      var margin = (label2.style.margin || 0) + 2.1;
+      textRect.y -= margin / 2;
+      textRect.height += margin;
+      labelLayoutList.push({
+        label: label2,
+        labelLine: labelLine2,
+        position: labelPosition,
+        len: labelLineLen,
+        len2: labelLineLen2,
+        minTurnAngle: labelLineModel.get("minTurnAngle"),
+        maxSurfaceAngle: labelLineModel.get("maxSurfaceAngle"),
+        surfaceNormal: new Point$1(nx, ny),
+        linePoints: linePoints2,
+        textAlign,
+        labelDistance,
+        labelAlignTo,
+        edgeDistance,
+        bleedMargin,
+        rect: textRect,
+        unconstrainedWidth: textRect.width,
+        labelStyleWidth: label2.style.width
+      });
+    } else {
+      label2.setStyle({
+        align: textAlign
+      });
+      var selectState2 = label2.states.select;
+      if (selectState2) {
+        selectState2.x += label2.x;
+        selectState2.y += label2.y;
+      }
+    }
+    sector.setTextConfig({
+      inside: isLabelInside
+    });
+  });
+  if (!hasLabelRotate && seriesModel.get("avoidLabelOverlap")) {
+    avoidOverlap(labelLayoutList, cx, cy, r2, viewWidth, viewHeight, viewLeft, viewTop);
+  }
+  for (var i2 = 0; i2 < labelLayoutList.length; i2++) {
+    var layout2 = labelLayoutList[i2];
+    var label = layout2.label;
+    var labelLine = layout2.labelLine;
+    var notShowLabel = isNaN(label.x) || isNaN(label.y);
+    if (label) {
+      label.setStyle({
+        align: layout2.textAlign
+      });
+      if (notShowLabel) {
+        each$f(label.states, setNotShow);
+        label.ignore = true;
+      }
+      var selectState = label.states.select;
+      if (selectState) {
+        selectState.x += label.x;
+        selectState.y += label.y;
+      }
+    }
+    if (labelLine) {
+      var linePoints = layout2.linePoints;
+      if (notShowLabel || !linePoints) {
+        each$f(labelLine.states, setNotShow);
+        labelLine.ignore = true;
+      } else {
+        limitTurnAngle(linePoints, layout2.minTurnAngle);
+        limitSurfaceAngle(linePoints, layout2.surfaceNormal, layout2.maxSurfaceAngle);
+        labelLine.setShape({
+          points: linePoints
+        });
+        label.__hostTarget.textGuideLineConfig = {
+          anchor: new Point$1(linePoints[0][0], linePoints[0][1])
+        };
+      }
+    }
+  }
+}
+var PiePiece = (
+  /** @class */
+  function(_super) {
+    __extends(PiePiece2, _super);
+    function PiePiece2(data2, idx, startAngle) {
+      var _this = _super.call(this) || this;
+      _this.z2 = 2;
+      var text2 = new ZRText$1();
+      _this.setTextContent(text2);
+      _this.updateData(data2, idx, startAngle, true);
+      return _this;
+    }
+    PiePiece2.prototype.updateData = function(data2, idx, startAngle, firstCreate) {
+      var sector = this;
+      var seriesModel = data2.hostModel;
+      var itemModel = data2.getItemModel(idx);
+      var emphasisModel = itemModel.getModel("emphasis");
+      var layout2 = data2.getItemLayout(idx);
+      var sectorShape = extend$1(getSectorCornerRadius(itemModel.getModel("itemStyle"), layout2, true), layout2);
+      if (isNaN(sectorShape.startAngle)) {
+        sector.setShape(sectorShape);
+        return;
+      }
+      if (firstCreate) {
+        sector.setShape(sectorShape);
+        var animationType = seriesModel.getShallow("animationType");
+        if (seriesModel.ecModel.ssr) {
+          initProps(sector, {
+            scaleX: 0,
+            scaleY: 0
+          }, seriesModel, {
+            dataIndex: idx,
+            isFrom: true
+          });
+          sector.originX = sectorShape.cx;
+          sector.originY = sectorShape.cy;
+        } else if (animationType === "scale") {
+          sector.shape.r = layout2.r0;
+          initProps(sector, {
+            shape: {
+              r: layout2.r
+            }
+          }, seriesModel, idx);
+        } else {
+          if (startAngle != null) {
+            sector.setShape({
+              startAngle,
+              endAngle: startAngle
+            });
+            initProps(sector, {
+              shape: {
+                startAngle: layout2.startAngle,
+                endAngle: layout2.endAngle
+              }
+            }, seriesModel, idx);
+          } else {
+            sector.shape.endAngle = layout2.startAngle;
+            updateProps$1(sector, {
+              shape: {
+                endAngle: layout2.endAngle
+              }
+            }, seriesModel, idx);
+          }
+        }
+      } else {
+        saveOldStyle(sector);
+        updateProps$1(sector, {
+          shape: sectorShape
+        }, seriesModel, idx);
+      }
+      sector.useStyle(data2.getItemVisual(idx, "style"));
+      setStatesStylesFromModel(sector, itemModel);
+      var midAngle = (layout2.startAngle + layout2.endAngle) / 2;
+      var offset2 = seriesModel.get("selectedOffset");
+      var dx = Math.cos(midAngle) * offset2;
+      var dy = Math.sin(midAngle) * offset2;
+      var cursorStyle = itemModel.getShallow("cursor");
+      cursorStyle && sector.attr("cursor", cursorStyle);
+      this._updateLabel(seriesModel, data2, idx);
+      sector.ensureState("emphasis").shape = extend$1({
+        r: layout2.r + (emphasisModel.get("scale") ? emphasisModel.get("scaleSize") || 0 : 0)
+      }, getSectorCornerRadius(emphasisModel.getModel("itemStyle"), layout2));
+      extend$1(sector.ensureState("select"), {
+        x: dx,
+        y: dy,
+        shape: getSectorCornerRadius(itemModel.getModel(["select", "itemStyle"]), layout2)
+      });
+      extend$1(sector.ensureState("blur"), {
+        shape: getSectorCornerRadius(itemModel.getModel(["blur", "itemStyle"]), layout2)
+      });
+      var labelLine = sector.getTextGuideLine();
+      var labelText = sector.getTextContent();
+      labelLine && extend$1(labelLine.ensureState("select"), {
+        x: dx,
+        y: dy
+      });
+      extend$1(labelText.ensureState("select"), {
+        x: dx,
+        y: dy
+      });
+      toggleHoverEmphasis(this, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+    };
+    PiePiece2.prototype._updateLabel = function(seriesModel, data2, idx) {
+      var sector = this;
+      var itemModel = data2.getItemModel(idx);
+      var labelLineModel = itemModel.getModel("labelLine");
+      var style2 = data2.getItemVisual(idx, "style");
+      var visualColor = style2 && style2.fill;
+      var visualOpacity = style2 && style2.opacity;
+      setLabelStyle(sector, getLabelStatesModels(itemModel), {
+        labelFetcher: data2.hostModel,
+        labelDataIndex: idx,
+        inheritColor: visualColor,
+        defaultOpacity: visualOpacity,
+        defaultText: seriesModel.getFormattedLabel(idx, "normal") || data2.getName(idx)
+      });
+      var labelText = sector.getTextContent();
+      sector.setTextConfig({
+        // reset position, rotation
+        position: null,
+        rotation: null
+      });
+      labelText.attr({
+        z2: 10
+      });
+      var labelPosition = seriesModel.get(["label", "position"]);
+      if (labelPosition !== "outside" && labelPosition !== "outer") {
+        sector.removeTextGuideLine();
+      } else {
+        var polyline = this.getTextGuideLine();
+        if (!polyline) {
+          polyline = new Polyline$3();
+          this.setTextGuideLine(polyline);
+        }
+        setLabelLineStyle(this, getLabelLineStatesModels(itemModel), {
+          stroke: visualColor,
+          opacity: retrieve3(labelLineModel.get(["lineStyle", "opacity"]), visualOpacity, 1)
+        });
+      }
+    };
+    return PiePiece2;
+  }(Sector$1)
+);
+var PieView = (
+  /** @class */
+  function(_super) {
+    __extends(PieView2, _super);
+    function PieView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.ignoreLabelLineUpdate = true;
+      return _this;
+    }
+    PieView2.prototype.render = function(seriesModel, ecModel, api2, payload) {
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var group = this.group;
+      var startAngle;
+      if (!oldData && data2.count() > 0) {
+        var shape = data2.getItemLayout(0);
+        for (var s2 = 1; isNaN(shape && shape.startAngle) && s2 < data2.count(); ++s2) {
+          shape = data2.getItemLayout(s2);
+        }
+        if (shape) {
+          startAngle = shape.startAngle;
+        }
+      }
+      if (this._emptyCircleSector) {
+        group.remove(this._emptyCircleSector);
+      }
+      if (data2.count() === 0 && seriesModel.get("showEmptyCircle")) {
+        var sector = new Sector$1({
+          shape: getBasicPieLayout(seriesModel, api2)
+        });
+        sector.useStyle(seriesModel.getModel("emptyCircleStyle").getItemStyle());
+        this._emptyCircleSector = sector;
+        group.add(sector);
+      }
+      data2.diff(oldData).add(function(idx) {
+        var piePiece = new PiePiece(data2, idx, startAngle);
+        data2.setItemGraphicEl(idx, piePiece);
+        group.add(piePiece);
+      }).update(function(newIdx, oldIdx) {
+        var piePiece = oldData.getItemGraphicEl(oldIdx);
+        piePiece.updateData(data2, newIdx, startAngle);
+        piePiece.off("click");
+        group.add(piePiece);
+        data2.setItemGraphicEl(newIdx, piePiece);
+      }).remove(function(idx) {
+        var piePiece = oldData.getItemGraphicEl(idx);
+        removeElementWithFadeOut(piePiece, seriesModel, idx);
+      }).execute();
+      pieLabelLayout(seriesModel);
+      if (seriesModel.get("animationTypeUpdate") !== "expansion") {
+        this._data = data2;
+      }
+    };
+    PieView2.prototype.dispose = function() {
+    };
+    PieView2.prototype.containPoint = function(point, seriesModel) {
+      var data2 = seriesModel.getData();
+      var itemLayout = data2.getItemLayout(0);
+      if (itemLayout) {
+        var dx = point[0] - itemLayout.cx;
+        var dy = point[1] - itemLayout.cy;
+        var radius = Math.sqrt(dx * dx + dy * dy);
+        return radius <= itemLayout.r && radius >= itemLayout.r0;
+      }
+    };
+    PieView2.type = "pie";
+    return PieView2;
+  }(ChartView$1)
+);
+const PieView$1 = PieView;
+function createSeriesDataSimply(seriesModel, opt, nameList) {
+  opt = isArray$2(opt) && {
+    coordDimensions: opt
+  } || extend$1({
+    encodeDefine: seriesModel.getEncode()
+  }, opt);
+  var source2 = seriesModel.getSource();
+  var dimensions = prepareSeriesDataSchema(source2, opt).dimensions;
+  var list2 = new SeriesData$1(dimensions, seriesModel);
+  list2.initData(source2, nameList);
+  return list2;
+}
+var LegendVisualProvider = (
+  /** @class */
+  function() {
+    function LegendVisualProvider2(getDataWithEncodedVisual, getRawData2) {
+      this._getDataWithEncodedVisual = getDataWithEncodedVisual;
+      this._getRawData = getRawData2;
+    }
+    LegendVisualProvider2.prototype.getAllNames = function() {
+      var rawData = this._getRawData();
+      return rawData.mapArray(rawData.getName);
+    };
+    LegendVisualProvider2.prototype.containName = function(name2) {
+      var rawData = this._getRawData();
+      return rawData.indexOfName(name2) >= 0;
+    };
+    LegendVisualProvider2.prototype.indexOfName = function(name2) {
+      var dataWithEncodedVisual = this._getDataWithEncodedVisual();
+      return dataWithEncodedVisual.indexOfName(name2);
+    };
+    LegendVisualProvider2.prototype.getItemVisual = function(dataIndex, key2) {
+      var dataWithEncodedVisual = this._getDataWithEncodedVisual();
+      return dataWithEncodedVisual.getItemVisual(dataIndex, key2);
+    };
+    return LegendVisualProvider2;
+  }()
+);
+const LegendVisualProvider$1 = LegendVisualProvider;
+var innerData = makeInner();
+var PieSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(PieSeriesModel2, _super);
+    function PieSeriesModel2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    PieSeriesModel2.prototype.init = function(option) {
+      _super.prototype.init.apply(this, arguments);
+      this.legendVisualProvider = new LegendVisualProvider$1(bind$2(this.getData, this), bind$2(this.getRawData, this));
+      this._defaultLabelLine(option);
+    };
+    PieSeriesModel2.prototype.mergeOption = function() {
+      _super.prototype.mergeOption.apply(this, arguments);
+    };
+    PieSeriesModel2.prototype.getInitialData = function() {
+      return createSeriesDataSimply(this, {
+        coordDimensions: ["value"],
+        encodeDefaulter: curry$1(makeSeriesEncodeForNameBased, this)
+      });
+    };
+    PieSeriesModel2.prototype.getDataParams = function(dataIndex) {
+      var data2 = this.getData();
+      var dataInner = innerData(data2);
+      var seats = dataInner.seats;
+      if (!seats) {
+        var valueList_1 = [];
+        data2.each(data2.mapDimension("value"), function(value) {
+          valueList_1.push(value);
+        });
+        seats = dataInner.seats = getPercentSeats(valueList_1, data2.hostModel.get("percentPrecision"));
+      }
+      var params2 = _super.prototype.getDataParams.call(this, dataIndex);
+      params2.percent = seats[dataIndex] || 0;
+      params2.$vars.push("percent");
+      return params2;
+    };
+    PieSeriesModel2.prototype._defaultLabelLine = function(option) {
+      defaultEmphasis(option, "labelLine", ["show"]);
+      var labelLineNormalOpt = option.labelLine;
+      var labelLineEmphasisOpt = option.emphasis.labelLine;
+      labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;
+      labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;
+    };
+    PieSeriesModel2.type = "series.pie";
+    PieSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      colorBy: "data",
+      // 默认全局居中
+      center: ["50%", "50%"],
+      radius: [0, "75%"],
+      // 默认顺时针
+      clockwise: true,
+      startAngle: 90,
+      // 最小角度改为0
+      minAngle: 0,
+      // If the angle of a sector less than `minShowLabelAngle`,
+      // the label will not be displayed.
+      minShowLabelAngle: 0,
+      // 选中时扇区偏移量
+      selectedOffset: 10,
+      // 选择模式,默认关闭,可选single,multiple
+      // selectedMode: false,
+      // 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)
+      // roseType: null,
+      percentPrecision: 2,
+      // If still show when all data zero.
+      stillShowZeroSum: true,
+      // cursor: null,
+      left: 0,
+      top: 0,
+      right: 0,
+      bottom: 0,
+      width: null,
+      height: null,
+      label: {
+        // color: 'inherit',
+        // If rotate around circle
+        rotate: 0,
+        show: true,
+        overflow: "truncate",
+        // 'outer', 'inside', 'center'
+        position: "outer",
+        // 'none', 'labelLine', 'edge'. Works only when position is 'outer'
+        alignTo: "none",
+        // Closest distance between label and chart edge.
+        // Works only position is 'outer' and alignTo is 'edge'.
+        edgeDistance: "25%",
+        // Works only position is 'outer' and alignTo is not 'edge'.
+        bleedMargin: 10,
+        // Distance between text and label line.
+        distanceToLabelLine: 5
+        // formatter: 标签文本格式器,同 tooltip.formatter,不支持异步回调
+        // 默认使用全局文本样式,详见 textStyle
+        // distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数
+      },
+      // Enabled when label.normal.position is 'outer'
+      labelLine: {
+        show: true,
+        // 引导线两段中的第一段长度
+        length: 15,
+        // 引导线两段中的第二段长度
+        length2: 15,
+        smooth: false,
+        minTurnAngle: 90,
+        maxSurfaceAngle: 90,
+        lineStyle: {
+          // color: 各异,
+          width: 1,
+          type: "solid"
+        }
+      },
+      itemStyle: {
+        borderWidth: 1,
+        borderJoin: "round"
+      },
+      showEmptyCircle: true,
+      emptyCircleStyle: {
+        color: "lightgray",
+        opacity: 1
+      },
+      labelLayout: {
+        // Hide the overlapped label.
+        hideOverlap: true
+      },
+      emphasis: {
+        scale: true,
+        scaleSize: 5
+      },
+      // If use strategy to avoid label overlapping
+      avoidLabelOverlap: true,
+      // Animation type. Valid values: expansion, scale
+      animationType: "expansion",
+      animationDuration: 1e3,
+      // Animation type when update. Valid values: transition, expansion
+      animationTypeUpdate: "transition",
+      animationEasingUpdate: "cubicInOut",
+      animationDurationUpdate: 500,
+      animationEasing: "cubicInOut"
+    };
+    return PieSeriesModel2;
+  }(SeriesModel$1)
+);
+const PieSeriesModel$1 = PieSeriesModel;
+function negativeDataFilter(seriesType2) {
+  return {
+    seriesType: seriesType2,
+    reset: function(seriesModel, ecModel) {
+      var data2 = seriesModel.getData();
+      data2.filterSelf(function(idx) {
+        var valueDim = data2.mapDimension("value");
+        var curValue = data2.get(valueDim, idx);
+        if (isNumber$1(curValue) && !isNaN(curValue) && curValue < 0) {
+          return false;
+        }
+        return true;
+      });
+    }
+  };
+}
+function install$O(registers) {
+  registers.registerChartView(PieView$1);
+  registers.registerSeriesModel(PieSeriesModel$1);
+  createLegacyDataSelectAction("pie", registers.registerAction);
+  registers.registerLayout(curry$1(pieLayout, "pie"));
+  registers.registerProcessor(dataFilter$1("pie"));
+  registers.registerProcessor(negativeDataFilter("pie"));
+}
+var ScatterSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(ScatterSeriesModel2, _super);
+    function ScatterSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ScatterSeriesModel2.type;
+      _this.hasSymbolVisual = true;
+      return _this;
+    }
+    ScatterSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesData(null, this, {
+        useEncodeDefaulter: true
+      });
+    };
+    ScatterSeriesModel2.prototype.getProgressive = function() {
+      var progressive = this.option.progressive;
+      if (progressive == null) {
+        return this.option.large ? 5e3 : this.get("progressive");
+      }
+      return progressive;
+    };
+    ScatterSeriesModel2.prototype.getProgressiveThreshold = function() {
+      var progressiveThreshold = this.option.progressiveThreshold;
+      if (progressiveThreshold == null) {
+        return this.option.large ? 1e4 : this.get("progressiveThreshold");
+      }
+      return progressiveThreshold;
+    };
+    ScatterSeriesModel2.prototype.brushSelector = function(dataIndex, data2, selectors) {
+      return selectors.point(data2.getItemLayout(dataIndex));
+    };
+    ScatterSeriesModel2.prototype.getZLevelKey = function() {
+      return this.getData().count() > this.getProgressiveThreshold() ? this.id : "";
+    };
+    ScatterSeriesModel2.type = "series.scatter";
+    ScatterSeriesModel2.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"];
+    ScatterSeriesModel2.defaultOption = {
+      coordinateSystem: "cartesian2d",
+      // zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      symbolSize: 10,
+      // symbolRotate: null,  // 图形旋转控制
+      large: false,
+      // Available when large is true
+      largeThreshold: 2e3,
+      // cursor: null,
+      itemStyle: {
+        opacity: 0.8
+        // color: 各异
+      },
+      emphasis: {
+        scale: true
+      },
+      // If clip the overflow graphics
+      // Works on cartesian / polar series
+      clip: true,
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      },
+      universalTransition: {
+        divideShape: "clone"
+      }
+      // progressive: null
+    };
+    return ScatterSeriesModel2;
+  }(SeriesModel$1)
+);
+const ScatterSeriesModel$1 = ScatterSeriesModel;
+var BOOST_SIZE_THRESHOLD = 4;
+var LargeSymbolPathShape = (
+  /** @class */
+  function() {
+    function LargeSymbolPathShape2() {
+    }
+    return LargeSymbolPathShape2;
+  }()
+);
+var LargeSymbolPath = (
+  /** @class */
+  function(_super) {
+    __extends(LargeSymbolPath2, _super);
+    function LargeSymbolPath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this._off = 0;
+      _this.hoverDataIdx = -1;
+      return _this;
+    }
+    LargeSymbolPath2.prototype.getDefaultShape = function() {
+      return new LargeSymbolPathShape();
+    };
+    LargeSymbolPath2.prototype.reset = function() {
+      this.notClear = false;
+      this._off = 0;
+    };
+    LargeSymbolPath2.prototype.buildPath = function(path2, shape) {
+      var points2 = shape.points;
+      var size = shape.size;
+      var symbolProxy = this.symbolProxy;
+      var symbolProxyShape = symbolProxy.shape;
+      var ctx = path2.getContext ? path2.getContext() : path2;
+      var canBoost = ctx && size[0] < BOOST_SIZE_THRESHOLD;
+      var softClipShape = this.softClipShape;
+      var i2;
+      if (canBoost) {
+        this._ctx = ctx;
+        return;
+      }
+      this._ctx = null;
+      for (i2 = this._off; i2 < points2.length; ) {
+        var x2 = points2[i2++];
+        var y2 = points2[i2++];
+        if (isNaN(x2) || isNaN(y2)) {
+          continue;
+        }
+        if (softClipShape && !softClipShape.contain(x2, y2)) {
+          continue;
+        }
+        symbolProxyShape.x = x2 - size[0] / 2;
+        symbolProxyShape.y = y2 - size[1] / 2;
+        symbolProxyShape.width = size[0];
+        symbolProxyShape.height = size[1];
+        symbolProxy.buildPath(path2, symbolProxyShape, true);
+      }
+      if (this.incremental) {
+        this._off = i2;
+        this.notClear = true;
+      }
+    };
+    LargeSymbolPath2.prototype.afterBrush = function() {
+      var shape = this.shape;
+      var points2 = shape.points;
+      var size = shape.size;
+      var ctx = this._ctx;
+      var softClipShape = this.softClipShape;
+      var i2;
+      if (!ctx) {
+        return;
+      }
+      for (i2 = this._off; i2 < points2.length; ) {
+        var x2 = points2[i2++];
+        var y2 = points2[i2++];
+        if (isNaN(x2) || isNaN(y2)) {
+          continue;
+        }
+        if (softClipShape && !softClipShape.contain(x2, y2)) {
+          continue;
+        }
+        ctx.fillRect(x2 - size[0] / 2, y2 - size[1] / 2, size[0], size[1]);
+      }
+      if (this.incremental) {
+        this._off = i2;
+        this.notClear = true;
+      }
+    };
+    LargeSymbolPath2.prototype.findDataIndex = function(x2, y2) {
+      var shape = this.shape;
+      var points2 = shape.points;
+      var size = shape.size;
+      var w2 = Math.max(size[0], 4);
+      var h3 = Math.max(size[1], 4);
+      for (var idx = points2.length / 2 - 1; idx >= 0; idx--) {
+        var i2 = idx * 2;
+        var x0 = points2[i2] - w2 / 2;
+        var y0 = points2[i2 + 1] - h3 / 2;
+        if (x2 >= x0 && y2 >= y0 && x2 <= x0 + w2 && y2 <= y0 + h3) {
+          return idx;
+        }
+      }
+      return -1;
+    };
+    LargeSymbolPath2.prototype.contain = function(x2, y2) {
+      var localPos = this.transformCoordToLocal(x2, y2);
+      var rect = this.getBoundingRect();
+      x2 = localPos[0];
+      y2 = localPos[1];
+      if (rect.contain(x2, y2)) {
+        var dataIdx = this.hoverDataIdx = this.findDataIndex(x2, y2);
+        return dataIdx >= 0;
+      }
+      this.hoverDataIdx = -1;
+      return false;
+    };
+    LargeSymbolPath2.prototype.getBoundingRect = function() {
+      var rect = this._rect;
+      if (!rect) {
+        var shape = this.shape;
+        var points2 = shape.points;
+        var size = shape.size;
+        var w2 = size[0];
+        var h3 = size[1];
+        var minX = Infinity;
+        var minY = Infinity;
+        var maxX = -Infinity;
+        var maxY = -Infinity;
+        for (var i2 = 0; i2 < points2.length; ) {
+          var x2 = points2[i2++];
+          var y2 = points2[i2++];
+          minX = Math.min(x2, minX);
+          maxX = Math.max(x2, maxX);
+          minY = Math.min(y2, minY);
+          maxY = Math.max(y2, maxY);
+        }
+        rect = this._rect = new BoundingRect$1(minX - w2 / 2, minY - h3 / 2, maxX - minX + w2, maxY - minY + h3);
+      }
+      return rect;
+    };
+    return LargeSymbolPath2;
+  }(Path$1)
+);
+var LargeSymbolDraw = (
+  /** @class */
+  function() {
+    function LargeSymbolDraw2() {
+      this.group = new Group$4();
+    }
+    LargeSymbolDraw2.prototype.updateData = function(data2, opt) {
+      this._clear();
+      var symbolEl = this._create();
+      symbolEl.setShape({
+        points: data2.getLayout("points")
+      });
+      this._setCommon(symbolEl, data2, opt);
+    };
+    LargeSymbolDraw2.prototype.updateLayout = function(data2) {
+      var points2 = data2.getLayout("points");
+      this.group.eachChild(function(child) {
+        if (child.startIndex != null) {
+          var len2 = (child.endIndex - child.startIndex) * 2;
+          var byteOffset = child.startIndex * 4 * 2;
+          points2 = new Float32Array(points2.buffer, byteOffset, len2);
+        }
+        child.setShape("points", points2);
+        child.reset();
+      });
+    };
+    LargeSymbolDraw2.prototype.incrementalPrepareUpdate = function(data2) {
+      this._clear();
+    };
+    LargeSymbolDraw2.prototype.incrementalUpdate = function(taskParams, data2, opt) {
+      var lastAdded = this._newAdded[0];
+      var points2 = data2.getLayout("points");
+      var oldPoints = lastAdded && lastAdded.shape.points;
+      if (oldPoints && oldPoints.length < 2e4) {
+        var oldLen = oldPoints.length;
+        var newPoints = new Float32Array(oldLen + points2.length);
+        newPoints.set(oldPoints);
+        newPoints.set(points2, oldLen);
+        lastAdded.endIndex = taskParams.end;
+        lastAdded.setShape({
+          points: newPoints
+        });
+      } else {
+        this._newAdded = [];
+        var symbolEl = this._create();
+        symbolEl.startIndex = taskParams.start;
+        symbolEl.endIndex = taskParams.end;
+        symbolEl.incremental = true;
+        symbolEl.setShape({
+          points: points2
+        });
+        this._setCommon(symbolEl, data2, opt);
+      }
+    };
+    LargeSymbolDraw2.prototype.eachRendered = function(cb) {
+      this._newAdded[0] && cb(this._newAdded[0]);
+    };
+    LargeSymbolDraw2.prototype._create = function() {
+      var symbolEl = new LargeSymbolPath({
+        cursor: "default"
+      });
+      symbolEl.ignoreCoarsePointer = true;
+      this.group.add(symbolEl);
+      this._newAdded.push(symbolEl);
+      return symbolEl;
+    };
+    LargeSymbolDraw2.prototype._setCommon = function(symbolEl, data2, opt) {
+      var hostModel = data2.hostModel;
+      opt = opt || {};
+      var size = data2.getVisual("symbolSize");
+      symbolEl.setShape("size", size instanceof Array ? size : [size, size]);
+      symbolEl.softClipShape = opt.clipShape || null;
+      symbolEl.symbolProxy = createSymbol$1(data2.getVisual("symbol"), 0, 0, 0, 0);
+      symbolEl.setColor = symbolEl.symbolProxy.setColor;
+      var extrudeShadow = symbolEl.shape.size[0] < BOOST_SIZE_THRESHOLD;
+      symbolEl.useStyle(
+        // Draw shadow when doing fillRect is extremely slow.
+        hostModel.getModel("itemStyle").getItemStyle(extrudeShadow ? ["color", "shadowBlur", "shadowColor"] : ["color"])
+      );
+      var globalStyle = data2.getVisual("style");
+      var visualColor = globalStyle && globalStyle.fill;
+      if (visualColor) {
+        symbolEl.setColor(visualColor);
+      }
+      var ecData = getECData(symbolEl);
+      ecData.seriesIndex = hostModel.seriesIndex;
+      symbolEl.on("mousemove", function(e2) {
+        ecData.dataIndex = null;
+        var dataIndex = symbolEl.hoverDataIdx;
+        if (dataIndex >= 0) {
+          ecData.dataIndex = dataIndex + (symbolEl.startIndex || 0);
+        }
+      });
+    };
+    LargeSymbolDraw2.prototype.remove = function() {
+      this._clear();
+    };
+    LargeSymbolDraw2.prototype._clear = function() {
+      this._newAdded = [];
+      this.group.removeAll();
+    };
+    return LargeSymbolDraw2;
+  }()
+);
+const LargeSymbolDraw$1 = LargeSymbolDraw;
+var ScatterView = (
+  /** @class */
+  function(_super) {
+    __extends(ScatterView2, _super);
+    function ScatterView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ScatterView2.type;
+      return _this;
+    }
+    ScatterView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var symbolDraw = this._updateSymbolDraw(data2, seriesModel);
+      symbolDraw.updateData(data2, {
+        // TODO
+        // If this parameter should be a shape or a bounding volume
+        // shape will be more general.
+        // But bounding volume like bounding rect will be much faster in the contain calculation
+        clipShape: this._getClipShape(seriesModel)
+      });
+      this._finished = true;
+    };
+    ScatterView2.prototype.incrementalPrepareRender = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var symbolDraw = this._updateSymbolDraw(data2, seriesModel);
+      symbolDraw.incrementalPrepareUpdate(data2);
+      this._finished = false;
+    };
+    ScatterView2.prototype.incrementalRender = function(taskParams, seriesModel, ecModel) {
+      this._symbolDraw.incrementalUpdate(taskParams, seriesModel.getData(), {
+        clipShape: this._getClipShape(seriesModel)
+      });
+      this._finished = taskParams.end === seriesModel.getData().count();
+    };
+    ScatterView2.prototype.updateTransform = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      this.group.dirty();
+      if (!this._finished || data2.count() > 1e4) {
+        return {
+          update: true
+        };
+      } else {
+        var res = pointsLayout("").reset(seriesModel, ecModel, api2);
+        if (res.progress) {
+          res.progress({
+            start: 0,
+            end: data2.count(),
+            count: data2.count()
+          }, data2);
+        }
+        this._symbolDraw.updateLayout(data2);
+      }
+    };
+    ScatterView2.prototype.eachRendered = function(cb) {
+      this._symbolDraw && this._symbolDraw.eachRendered(cb);
+    };
+    ScatterView2.prototype._getClipShape = function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var clipArea = coordSys && coordSys.getArea && coordSys.getArea();
+      return seriesModel.get("clip", true) ? clipArea : null;
+    };
+    ScatterView2.prototype._updateSymbolDraw = function(data2, seriesModel) {
+      var symbolDraw = this._symbolDraw;
+      var pipelineContext = seriesModel.pipelineContext;
+      var isLargeDraw = pipelineContext.large;
+      if (!symbolDraw || isLargeDraw !== this._isLargeDraw) {
+        symbolDraw && symbolDraw.remove();
+        symbolDraw = this._symbolDraw = isLargeDraw ? new LargeSymbolDraw$1() : new SymbolDraw$1();
+        this._isLargeDraw = isLargeDraw;
+        this.group.removeAll();
+      }
+      this.group.add(symbolDraw.group);
+      return symbolDraw;
+    };
+    ScatterView2.prototype.remove = function(ecModel, api2) {
+      this._symbolDraw && this._symbolDraw.remove(true);
+      this._symbolDraw = null;
+    };
+    ScatterView2.prototype.dispose = function() {
+    };
+    ScatterView2.type = "scatter";
+    return ScatterView2;
+  }(ChartView$1)
+);
+const ScatterView$1 = ScatterView;
+var GridModel = (
+  /** @class */
+  function(_super) {
+    __extends(GridModel2, _super);
+    function GridModel2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    GridModel2.type = "grid";
+    GridModel2.dependencies = ["xAxis", "yAxis"];
+    GridModel2.layoutMode = "box";
+    GridModel2.defaultOption = {
+      show: false,
+      // zlevel: 0,
+      z: 0,
+      left: "10%",
+      top: 60,
+      right: "10%",
+      bottom: 70,
+      // If grid size contain label
+      containLabel: false,
+      // width: {totalWidth} - left - right,
+      // height: {totalHeight} - top - bottom,
+      backgroundColor: "rgba(0,0,0,0)",
+      borderWidth: 1,
+      borderColor: "#ccc"
+    };
+    return GridModel2;
+  }(ComponentModel$1)
+);
+const GridModel$1 = GridModel;
+var CartesianAxisModel = (
+  /** @class */
+  function(_super) {
+    __extends(CartesianAxisModel2, _super);
+    function CartesianAxisModel2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    CartesianAxisModel2.prototype.getCoordSysModel = function() {
+      return this.getReferringComponents("grid", SINGLE_REFERRING).models[0];
+    };
+    CartesianAxisModel2.type = "cartesian2dAxis";
+    return CartesianAxisModel2;
+  }(ComponentModel$1)
+);
+mixin(CartesianAxisModel, AxisModelCommonMixin);
+var defaultOption$1 = {
+  show: true,
+  // zlevel: 0,
+  z: 0,
+  // Inverse the axis.
+  inverse: false,
+  // Axis name displayed.
+  name: "",
+  // 'start' | 'middle' | 'end'
+  nameLocation: "end",
+  // By degree. By default auto rotate by nameLocation.
+  nameRotate: null,
+  nameTruncate: {
+    maxWidth: null,
+    ellipsis: "...",
+    placeholder: "."
+  },
+  // Use global text style by default.
+  nameTextStyle: {},
+  // The gap between axisName and axisLine.
+  nameGap: 15,
+  // Default `false` to support tooltip.
+  silent: false,
+  // Default `false` to avoid legacy user event listener fail.
+  triggerEvent: false,
+  tooltip: {
+    show: false
+  },
+  axisPointer: {},
+  axisLine: {
+    show: true,
+    onZero: true,
+    onZeroAxisIndex: null,
+    lineStyle: {
+      color: "#6E7079",
+      width: 1,
+      type: "solid"
+    },
+    // The arrow at both ends the the axis.
+    symbol: ["none", "none"],
+    symbolSize: [10, 15]
+  },
+  axisTick: {
+    show: true,
+    // Whether axisTick is inside the grid or outside the grid.
+    inside: false,
+    // The length of axisTick.
+    length: 5,
+    lineStyle: {
+      width: 1
+    }
+  },
+  axisLabel: {
+    show: true,
+    // Whether axisLabel is inside the grid or outside the grid.
+    inside: false,
+    rotate: 0,
+    // true | false | null/undefined (auto)
+    showMinLabel: null,
+    // true | false | null/undefined (auto)
+    showMaxLabel: null,
+    margin: 8,
+    // formatter: null,
+    fontSize: 12
+  },
+  splitLine: {
+    show: true,
+    lineStyle: {
+      color: ["#E0E6F1"],
+      width: 1,
+      type: "solid"
+    }
+  },
+  splitArea: {
+    show: false,
+    areaStyle: {
+      color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
+    }
+  }
+};
+var categoryAxis = merge$1({
+  // The gap at both ends of the axis. For categoryAxis, boolean.
+  boundaryGap: true,
+  // Set false to faster category collection.
+  deduplication: null,
+  // splitArea: {
+  // show: false
+  // },
+  splitLine: {
+    show: false
+  },
+  axisTick: {
+    // If tick is align with label when boundaryGap is true
+    alignWithLabel: false,
+    interval: "auto"
+  },
+  axisLabel: {
+    interval: "auto"
+  }
+}, defaultOption$1);
+var valueAxis = merge$1({
+  boundaryGap: [0, 0],
+  axisLine: {
+    // Not shown when other axis is categoryAxis in cartesian
+    show: "auto"
+  },
+  axisTick: {
+    // Not shown when other axis is categoryAxis in cartesian
+    show: "auto"
+  },
+  // TODO
+  // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]
+  splitNumber: 5,
+  minorTick: {
+    // Minor tick, not available for cateogry axis.
+    show: false,
+    // Split number of minor ticks. The value should be in range of (0, 100)
+    splitNumber: 5,
+    // Length of minor tick
+    length: 3,
+    // Line style
+    lineStyle: {
+      // Default to be same with axisTick
+    }
+  },
+  minorSplitLine: {
+    show: false,
+    lineStyle: {
+      color: "#F4F7FD",
+      width: 1
+    }
+  }
+}, defaultOption$1);
+var timeAxis = merge$1({
+  splitNumber: 6,
+  axisLabel: {
+    // To eliminate labels that are not nice
+    showMinLabel: false,
+    showMaxLabel: false,
+    rich: {
+      primary: {
+        fontWeight: "bold"
+      }
+    }
+  },
+  splitLine: {
+    show: false
+  }
+}, valueAxis);
+var logAxis = defaults$2({
+  logBase: 10
+}, valueAxis);
+const axisDefault = {
+  category: categoryAxis,
+  value: valueAxis,
+  time: timeAxis,
+  log: logAxis
+};
+var AXIS_TYPES = {
+  value: 1,
+  category: 1,
+  time: 1,
+  log: 1
+};
+function axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) {
+  each$f(AXIS_TYPES, function(v4, axisType) {
+    var defaultOption2 = merge$1(merge$1({}, axisDefault[axisType], true), extraDefaultOption, true);
+    var AxisModel2 = (
+      /** @class */
+      function(_super) {
+        __extends(AxisModel3, _super);
+        function AxisModel3() {
+          var _this = _super !== null && _super.apply(this, arguments) || this;
+          _this.type = axisName + "Axis." + axisType;
+          return _this;
+        }
+        AxisModel3.prototype.mergeDefaultAndTheme = function(option, ecModel) {
+          var layoutMode = fetchLayoutMode(this);
+          var inputPositionParams = layoutMode ? getLayoutParams(option) : {};
+          var themeModel = ecModel.getTheme();
+          merge$1(option, themeModel.get(axisType + "Axis"));
+          merge$1(option, this.getDefaultOption());
+          option.type = getAxisType(option);
+          if (layoutMode) {
+            mergeLayoutParam(option, inputPositionParams, layoutMode);
+          }
+        };
+        AxisModel3.prototype.optionUpdated = function() {
+          var thisOption = this.option;
+          if (thisOption.type === "category") {
+            this.__ordinalMeta = OrdinalMeta$1.createByAxisModel(this);
+          }
+        };
+        AxisModel3.prototype.getCategories = function(rawData) {
+          var option = this.option;
+          if (option.type === "category") {
+            if (rawData) {
+              return option.data;
+            }
+            return this.__ordinalMeta.categories;
+          }
+        };
+        AxisModel3.prototype.getOrdinalMeta = function() {
+          return this.__ordinalMeta;
+        };
+        AxisModel3.type = axisName + "Axis." + axisType;
+        AxisModel3.defaultOption = defaultOption2;
+        return AxisModel3;
+      }(BaseAxisModelClass)
+    );
+    registers.registerComponentModel(AxisModel2);
+  });
+  registers.registerSubTypeDefaulter(axisName + "Axis", getAxisType);
+}
+function getAxisType(option) {
+  return option.type || (option.data ? "category" : "value");
+}
+var Cartesian = (
+  /** @class */
+  function() {
+    function Cartesian2(name2) {
+      this.type = "cartesian";
+      this._dimList = [];
+      this._axes = {};
+      this.name = name2 || "";
+    }
+    Cartesian2.prototype.getAxis = function(dim) {
+      return this._axes[dim];
+    };
+    Cartesian2.prototype.getAxes = function() {
+      return map$1(this._dimList, function(dim) {
+        return this._axes[dim];
+      }, this);
+    };
+    Cartesian2.prototype.getAxesByScale = function(scaleType) {
+      scaleType = scaleType.toLowerCase();
+      return filter(this.getAxes(), function(axis2) {
+        return axis2.scale.type === scaleType;
+      });
+    };
+    Cartesian2.prototype.addAxis = function(axis2) {
+      var dim = axis2.dim;
+      this._axes[dim] = axis2;
+      this._dimList.push(dim);
+    };
+    return Cartesian2;
+  }()
+);
+const Cartesian$1 = Cartesian;
+var cartesian2DDimensions = ["x", "y"];
+function canCalculateAffineTransform(scale2) {
+  return scale2.type === "interval" || scale2.type === "time";
+}
+var Cartesian2D = (
+  /** @class */
+  function(_super) {
+    __extends(Cartesian2D2, _super);
+    function Cartesian2D2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "cartesian2d";
+      _this.dimensions = cartesian2DDimensions;
+      return _this;
+    }
+    Cartesian2D2.prototype.calcAffineTransform = function() {
+      this._transform = this._invTransform = null;
+      var xAxisScale = this.getAxis("x").scale;
+      var yAxisScale = this.getAxis("y").scale;
+      if (!canCalculateAffineTransform(xAxisScale) || !canCalculateAffineTransform(yAxisScale)) {
+        return;
+      }
+      var xScaleExtent = xAxisScale.getExtent();
+      var yScaleExtent = yAxisScale.getExtent();
+      var start2 = this.dataToPoint([xScaleExtent[0], yScaleExtent[0]]);
+      var end2 = this.dataToPoint([xScaleExtent[1], yScaleExtent[1]]);
+      var xScaleSpan = xScaleExtent[1] - xScaleExtent[0];
+      var yScaleSpan = yScaleExtent[1] - yScaleExtent[0];
+      if (!xScaleSpan || !yScaleSpan) {
+        return;
+      }
+      var scaleX = (end2[0] - start2[0]) / xScaleSpan;
+      var scaleY = (end2[1] - start2[1]) / yScaleSpan;
+      var translateX = start2[0] - xScaleExtent[0] * scaleX;
+      var translateY = start2[1] - yScaleExtent[0] * scaleY;
+      var m2 = this._transform = [scaleX, 0, 0, scaleY, translateX, translateY];
+      this._invTransform = invert([], m2);
+    };
+    Cartesian2D2.prototype.getBaseAxis = function() {
+      return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAxis("x");
+    };
+    Cartesian2D2.prototype.containPoint = function(point) {
+      var axisX = this.getAxis("x");
+      var axisY = this.getAxis("y");
+      return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));
+    };
+    Cartesian2D2.prototype.containData = function(data2) {
+      return this.getAxis("x").containData(data2[0]) && this.getAxis("y").containData(data2[1]);
+    };
+    Cartesian2D2.prototype.containZone = function(data1, data2) {
+      var zoneDiag1 = this.dataToPoint(data1);
+      var zoneDiag2 = this.dataToPoint(data2);
+      var area = this.getArea();
+      var zone = new BoundingRect$1(zoneDiag1[0], zoneDiag1[1], zoneDiag2[0] - zoneDiag1[0], zoneDiag2[1] - zoneDiag1[1]);
+      return area.intersect(zone);
+    };
+    Cartesian2D2.prototype.dataToPoint = function(data2, clamp2, out2) {
+      out2 = out2 || [];
+      var xVal = data2[0];
+      var yVal = data2[1];
+      if (this._transform && xVal != null && isFinite(xVal) && yVal != null && isFinite(yVal)) {
+        return applyTransform$1(out2, data2, this._transform);
+      }
+      var xAxis = this.getAxis("x");
+      var yAxis = this.getAxis("y");
+      out2[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp2));
+      out2[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp2));
+      return out2;
+    };
+    Cartesian2D2.prototype.clampData = function(data2, out2) {
+      var xScale = this.getAxis("x").scale;
+      var yScale = this.getAxis("y").scale;
+      var xAxisExtent = xScale.getExtent();
+      var yAxisExtent = yScale.getExtent();
+      var x2 = xScale.parse(data2[0]);
+      var y2 = yScale.parse(data2[1]);
+      out2 = out2 || [];
+      out2[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x2), Math.max(xAxisExtent[0], xAxisExtent[1]));
+      out2[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y2), Math.max(yAxisExtent[0], yAxisExtent[1]));
+      return out2;
+    };
+    Cartesian2D2.prototype.pointToData = function(point, clamp2) {
+      var out2 = [];
+      if (this._invTransform) {
+        return applyTransform$1(out2, point, this._invTransform);
+      }
+      var xAxis = this.getAxis("x");
+      var yAxis = this.getAxis("y");
+      out2[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]), clamp2);
+      out2[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]), clamp2);
+      return out2;
+    };
+    Cartesian2D2.prototype.getOtherAxis = function(axis2) {
+      return this.getAxis(axis2.dim === "x" ? "y" : "x");
+    };
+    Cartesian2D2.prototype.getArea = function() {
+      var xExtent = this.getAxis("x").getGlobalExtent();
+      var yExtent = this.getAxis("y").getGlobalExtent();
+      var x2 = Math.min(xExtent[0], xExtent[1]);
+      var y2 = Math.min(yExtent[0], yExtent[1]);
+      var width = Math.max(xExtent[0], xExtent[1]) - x2;
+      var height = Math.max(yExtent[0], yExtent[1]) - y2;
+      return new BoundingRect$1(x2, y2, width, height);
+    };
+    return Cartesian2D2;
+  }(Cartesian$1)
+);
+var Axis2D = (
+  /** @class */
+  function(_super) {
+    __extends(Axis2D2, _super);
+    function Axis2D2(dim, scale2, coordExtent, axisType, position2) {
+      var _this = _super.call(this, dim, scale2, coordExtent) || this;
+      _this.index = 0;
+      _this.type = axisType || "value";
+      _this.position = position2 || "bottom";
+      return _this;
+    }
+    Axis2D2.prototype.isHorizontal = function() {
+      var position2 = this.position;
+      return position2 === "top" || position2 === "bottom";
+    };
+    Axis2D2.prototype.getGlobalExtent = function(asc2) {
+      var ret = this.getExtent();
+      ret[0] = this.toGlobalCoord(ret[0]);
+      ret[1] = this.toGlobalCoord(ret[1]);
+      asc2 && ret[0] > ret[1] && ret.reverse();
+      return ret;
+    };
+    Axis2D2.prototype.pointToData = function(point, clamp2) {
+      return this.coordToData(this.toLocalCoord(point[this.dim === "x" ? 0 : 1]), clamp2);
+    };
+    Axis2D2.prototype.setCategorySortInfo = function(info) {
+      if (this.type !== "category") {
+        return false;
+      }
+      this.model.option.categorySortInfo = info;
+      this.scale.setSortInfo(info);
+    };
+    return Axis2D2;
+  }(Axis$1)
+);
+const Axis2D$1 = Axis2D;
+function layout$2(gridModel, axisModel, opt) {
+  opt = opt || {};
+  var grid2 = gridModel.coordinateSystem;
+  var axis2 = axisModel.axis;
+  var layout2 = {};
+  var otherAxisOnZeroOf = axis2.getAxesOnZeroOf()[0];
+  var rawAxisPosition = axis2.position;
+  var axisPosition = otherAxisOnZeroOf ? "onZero" : rawAxisPosition;
+  var axisDim = axis2.dim;
+  var rect = grid2.getRect();
+  var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];
+  var idx = {
+    left: 0,
+    right: 1,
+    top: 0,
+    bottom: 1,
+    onZero: 2
+  };
+  var axisOffset = axisModel.get("offset") || 0;
+  var posBound = axisDim === "x" ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];
+  if (otherAxisOnZeroOf) {
+    var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));
+    posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);
+  }
+  layout2.position = [axisDim === "y" ? posBound[idx[axisPosition]] : rectBound[0], axisDim === "x" ? posBound[idx[axisPosition]] : rectBound[3]];
+  layout2.rotation = Math.PI / 2 * (axisDim === "x" ? 0 : 1);
+  var dirMap = {
+    top: -1,
+    bottom: 1,
+    left: -1,
+    right: 1
+  };
+  layout2.labelDirection = layout2.tickDirection = layout2.nameDirection = dirMap[rawAxisPosition];
+  layout2.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;
+  if (axisModel.get(["axisTick", "inside"])) {
+    layout2.tickDirection = -layout2.tickDirection;
+  }
+  if (retrieve(opt.labelInside, axisModel.get(["axisLabel", "inside"]))) {
+    layout2.labelDirection = -layout2.labelDirection;
+  }
+  var labelRotate = axisModel.get(["axisLabel", "rotate"]);
+  layout2.labelRotate = axisPosition === "top" ? -labelRotate : labelRotate;
+  layout2.z2 = 1;
+  return layout2;
+}
+function isCartesian2DSeries(seriesModel) {
+  return seriesModel.get("coordinateSystem") === "cartesian2d";
+}
+function findAxisModels(seriesModel) {
+  var axisModelMap = {
+    xAxisModel: null,
+    yAxisModel: null
+  };
+  each$f(axisModelMap, function(v4, key2) {
+    var axisType = key2.replace(/Model$/, "");
+    var axisModel = seriesModel.getReferringComponents(axisType, SINGLE_REFERRING).models[0];
+    axisModelMap[key2] = axisModel;
+  });
+  return axisModelMap;
+}
+var mathLog = Math.log;
+function alignScaleTicks(scale2, axisModel, alignToScale) {
+  var intervalScaleProto2 = IntervalScale$1.prototype;
+  var alignToTicks = intervalScaleProto2.getTicks.call(alignToScale);
+  var alignToNicedTicks = intervalScaleProto2.getTicks.call(alignToScale, true);
+  var alignToSplitNumber = alignToTicks.length - 1;
+  var alignToInterval = intervalScaleProto2.getInterval.call(alignToScale);
+  var scaleExtent = getScaleExtent(scale2, axisModel);
+  var rawExtent = scaleExtent.extent;
+  var isMinFixed = scaleExtent.fixMin;
+  var isMaxFixed = scaleExtent.fixMax;
+  if (scale2.type === "log") {
+    var logBase = mathLog(scale2.base);
+    rawExtent = [mathLog(rawExtent[0]) / logBase, mathLog(rawExtent[1]) / logBase];
+  }
+  scale2.setExtent(rawExtent[0], rawExtent[1]);
+  scale2.calcNiceExtent({
+    splitNumber: alignToSplitNumber,
+    fixMin: isMinFixed,
+    fixMax: isMaxFixed
+  });
+  var extent3 = intervalScaleProto2.getExtent.call(scale2);
+  if (isMinFixed) {
+    rawExtent[0] = extent3[0];
+  }
+  if (isMaxFixed) {
+    rawExtent[1] = extent3[1];
+  }
+  var interval = intervalScaleProto2.getInterval.call(scale2);
+  var min3 = rawExtent[0];
+  var max3 = rawExtent[1];
+  if (isMinFixed && isMaxFixed) {
+    interval = (max3 - min3) / alignToSplitNumber;
+  } else if (isMinFixed) {
+    max3 = rawExtent[0] + interval * alignToSplitNumber;
+    while (max3 < rawExtent[1] && isFinite(max3) && isFinite(rawExtent[1])) {
+      interval = increaseInterval(interval);
+      max3 = rawExtent[0] + interval * alignToSplitNumber;
+    }
+  } else if (isMaxFixed) {
+    min3 = rawExtent[1] - interval * alignToSplitNumber;
+    while (min3 > rawExtent[0] && isFinite(min3) && isFinite(rawExtent[0])) {
+      interval = increaseInterval(interval);
+      min3 = rawExtent[1] - interval * alignToSplitNumber;
+    }
+  } else {
+    var nicedSplitNumber = scale2.getTicks().length - 1;
+    if (nicedSplitNumber > alignToSplitNumber) {
+      interval = increaseInterval(interval);
+    }
+    var range2 = interval * alignToSplitNumber;
+    max3 = Math.ceil(rawExtent[1] / interval) * interval;
+    min3 = round$3(max3 - range2);
+    if (min3 < 0 && rawExtent[0] >= 0) {
+      min3 = 0;
+      max3 = round$3(range2);
+    } else if (max3 > 0 && rawExtent[1] <= 0) {
+      max3 = 0;
+      min3 = -round$3(range2);
+    }
+  }
+  var t0 = (alignToTicks[0].value - alignToNicedTicks[0].value) / alignToInterval;
+  var t1 = (alignToTicks[alignToSplitNumber].value - alignToNicedTicks[alignToSplitNumber].value) / alignToInterval;
+  intervalScaleProto2.setExtent.call(scale2, min3 + interval * t0, max3 + interval * t1);
+  intervalScaleProto2.setInterval.call(scale2, interval);
+  if (t0 || t1) {
+    intervalScaleProto2.setNiceExtent.call(scale2, min3 + interval, max3 - interval);
+  }
+}
+var Grid = (
+  /** @class */
+  function() {
+    function Grid2(gridModel, ecModel, api2) {
+      this.type = "grid";
+      this._coordsMap = {};
+      this._coordsList = [];
+      this._axesMap = {};
+      this._axesList = [];
+      this.axisPointerEnabled = true;
+      this.dimensions = cartesian2DDimensions;
+      this._initCartesian(gridModel, ecModel, api2);
+      this.model = gridModel;
+    }
+    Grid2.prototype.getRect = function() {
+      return this._rect;
+    };
+    Grid2.prototype.update = function(ecModel, api2) {
+      var axesMap = this._axesMap;
+      this._updateScale(ecModel, this.model);
+      function updateAxisTicks(axes) {
+        var alignTo;
+        var axesIndices = keys(axes);
+        var len2 = axesIndices.length;
+        if (!len2) {
+          return;
+        }
+        var axisNeedsAlign = [];
+        for (var i2 = len2 - 1; i2 >= 0; i2--) {
+          var idx = +axesIndices[i2];
+          var axis2 = axes[idx];
+          var model2 = axis2.model;
+          var scale2 = axis2.scale;
+          if (
+            // Only value and log axis without interval support alignTicks.
+            isIntervalOrLogScale(scale2) && model2.get("alignTicks") && model2.get("interval") == null
+          ) {
+            axisNeedsAlign.push(axis2);
+          } else {
+            niceScaleExtent(scale2, model2);
+            if (isIntervalOrLogScale(scale2)) {
+              alignTo = axis2;
+            }
+          }
+        }
+        if (axisNeedsAlign.length) {
+          if (!alignTo) {
+            alignTo = axisNeedsAlign.pop();
+            niceScaleExtent(alignTo.scale, alignTo.model);
+          }
+          each$f(axisNeedsAlign, function(axis3) {
+            alignScaleTicks(axis3.scale, axis3.model, alignTo.scale);
+          });
+        }
+      }
+      updateAxisTicks(axesMap.x);
+      updateAxisTicks(axesMap.y);
+      var onZeroRecords = {};
+      each$f(axesMap.x, function(xAxis) {
+        fixAxisOnZero(axesMap, "y", xAxis, onZeroRecords);
+      });
+      each$f(axesMap.y, function(yAxis) {
+        fixAxisOnZero(axesMap, "x", yAxis, onZeroRecords);
+      });
+      this.resize(this.model, api2);
+    };
+    Grid2.prototype.resize = function(gridModel, api2, ignoreContainLabel) {
+      var boxLayoutParams = gridModel.getBoxLayoutParams();
+      var isContainLabel = !ignoreContainLabel && gridModel.get("containLabel");
+      var gridRect = getLayoutRect(boxLayoutParams, {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+      this._rect = gridRect;
+      var axesList = this._axesList;
+      adjustAxes();
+      if (isContainLabel) {
+        each$f(axesList, function(axis2) {
+          if (!axis2.model.get(["axisLabel", "inside"])) {
+            var labelUnionRect = estimateLabelUnionRect(axis2);
+            if (labelUnionRect) {
+              var dim = axis2.isHorizontal() ? "height" : "width";
+              var margin = axis2.model.get(["axisLabel", "margin"]);
+              gridRect[dim] -= labelUnionRect[dim] + margin;
+              if (axis2.position === "top") {
+                gridRect.y += labelUnionRect.height + margin;
+              } else if (axis2.position === "left") {
+                gridRect.x += labelUnionRect.width + margin;
+              }
+            }
+          }
+        });
+        adjustAxes();
+      }
+      each$f(this._coordsList, function(coord) {
+        coord.calcAffineTransform();
+      });
+      function adjustAxes() {
+        each$f(axesList, function(axis2) {
+          var isHorizontal = axis2.isHorizontal();
+          var extent3 = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];
+          var idx = axis2.inverse ? 1 : 0;
+          axis2.setExtent(extent3[idx], extent3[1 - idx]);
+          updateAxisTransform(axis2, isHorizontal ? gridRect.x : gridRect.y);
+        });
+      }
+    };
+    Grid2.prototype.getAxis = function(dim, axisIndex) {
+      var axesMapOnDim = this._axesMap[dim];
+      if (axesMapOnDim != null) {
+        return axesMapOnDim[axisIndex || 0];
+      }
+    };
+    Grid2.prototype.getAxes = function() {
+      return this._axesList.slice();
+    };
+    Grid2.prototype.getCartesian = function(xAxisIndex, yAxisIndex) {
+      if (xAxisIndex != null && yAxisIndex != null) {
+        var key2 = "x" + xAxisIndex + "y" + yAxisIndex;
+        return this._coordsMap[key2];
+      }
+      if (isObject$4(xAxisIndex)) {
+        yAxisIndex = xAxisIndex.yAxisIndex;
+        xAxisIndex = xAxisIndex.xAxisIndex;
+      }
+      for (var i2 = 0, coordList = this._coordsList; i2 < coordList.length; i2++) {
+        if (coordList[i2].getAxis("x").index === xAxisIndex || coordList[i2].getAxis("y").index === yAxisIndex) {
+          return coordList[i2];
+        }
+      }
+    };
+    Grid2.prototype.getCartesians = function() {
+      return this._coordsList.slice();
+    };
+    Grid2.prototype.convertToPixel = function(ecModel, finder, value) {
+      var target = this._findConvertTarget(finder);
+      return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;
+    };
+    Grid2.prototype.convertFromPixel = function(ecModel, finder, value) {
+      var target = this._findConvertTarget(finder);
+      return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;
+    };
+    Grid2.prototype._findConvertTarget = function(finder) {
+      var seriesModel = finder.seriesModel;
+      var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents("xAxis", SINGLE_REFERRING).models[0];
+      var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents("yAxis", SINGLE_REFERRING).models[0];
+      var gridModel = finder.gridModel;
+      var coordsList = this._coordsList;
+      var cartesian;
+      var axis2;
+      if (seriesModel) {
+        cartesian = seriesModel.coordinateSystem;
+        indexOf(coordsList, cartesian) < 0 && (cartesian = null);
+      } else if (xAxisModel && yAxisModel) {
+        cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);
+      } else if (xAxisModel) {
+        axis2 = this.getAxis("x", xAxisModel.componentIndex);
+      } else if (yAxisModel) {
+        axis2 = this.getAxis("y", yAxisModel.componentIndex);
+      } else if (gridModel) {
+        var grid2 = gridModel.coordinateSystem;
+        if (grid2 === this) {
+          cartesian = this._coordsList[0];
+        }
+      }
+      return {
+        cartesian,
+        axis: axis2
+      };
+    };
+    Grid2.prototype.containPoint = function(point) {
+      var coord = this._coordsList[0];
+      if (coord) {
+        return coord.containPoint(point);
+      }
+    };
+    Grid2.prototype._initCartesian = function(gridModel, ecModel, api2) {
+      var _this = this;
+      var grid2 = this;
+      var axisPositionUsed = {
+        left: false,
+        right: false,
+        top: false,
+        bottom: false
+      };
+      var axesMap = {
+        x: {},
+        y: {}
+      };
+      var axesCount = {
+        x: 0,
+        y: 0
+      };
+      ecModel.eachComponent("xAxis", createAxisCreator("x"), this);
+      ecModel.eachComponent("yAxis", createAxisCreator("y"), this);
+      if (!axesCount.x || !axesCount.y) {
+        this._axesMap = {};
+        this._axesList = [];
+        return;
+      }
+      this._axesMap = axesMap;
+      each$f(axesMap.x, function(xAxis, xAxisIndex) {
+        each$f(axesMap.y, function(yAxis, yAxisIndex) {
+          var key2 = "x" + xAxisIndex + "y" + yAxisIndex;
+          var cartesian = new Cartesian2D(key2);
+          cartesian.master = _this;
+          cartesian.model = gridModel;
+          _this._coordsMap[key2] = cartesian;
+          _this._coordsList.push(cartesian);
+          cartesian.addAxis(xAxis);
+          cartesian.addAxis(yAxis);
+        });
+      });
+      function createAxisCreator(dimName) {
+        return function(axisModel, idx) {
+          if (!isAxisUsedInTheGrid(axisModel, gridModel)) {
+            return;
+          }
+          var axisPosition = axisModel.get("position");
+          if (dimName === "x") {
+            if (axisPosition !== "top" && axisPosition !== "bottom") {
+              axisPosition = axisPositionUsed.bottom ? "top" : "bottom";
+            }
+          } else {
+            if (axisPosition !== "left" && axisPosition !== "right") {
+              axisPosition = axisPositionUsed.left ? "right" : "left";
+            }
+          }
+          axisPositionUsed[axisPosition] = true;
+          var axis2 = new Axis2D$1(dimName, createScaleByModel$1(axisModel), [0, 0], axisModel.get("type"), axisPosition);
+          var isCategory2 = axis2.type === "category";
+          axis2.onBand = isCategory2 && axisModel.get("boundaryGap");
+          axis2.inverse = axisModel.get("inverse");
+          axisModel.axis = axis2;
+          axis2.model = axisModel;
+          axis2.grid = grid2;
+          axis2.index = idx;
+          grid2._axesList.push(axis2);
+          axesMap[dimName][idx] = axis2;
+          axesCount[dimName]++;
+        };
+      }
+    };
+    Grid2.prototype._updateScale = function(ecModel, gridModel) {
+      each$f(this._axesList, function(axis2) {
+        axis2.scale.setExtent(Infinity, -Infinity);
+        if (axis2.type === "category") {
+          var categorySortInfo = axis2.model.get("categorySortInfo");
+          axis2.scale.setSortInfo(categorySortInfo);
+        }
+      });
+      ecModel.eachSeries(function(seriesModel) {
+        if (isCartesian2DSeries(seriesModel)) {
+          var axesModelMap = findAxisModels(seriesModel);
+          var xAxisModel = axesModelMap.xAxisModel;
+          var yAxisModel = axesModelMap.yAxisModel;
+          if (!isAxisUsedInTheGrid(xAxisModel, gridModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel)) {
+            return;
+          }
+          var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);
+          var data2 = seriesModel.getData();
+          var xAxis = cartesian.getAxis("x");
+          var yAxis = cartesian.getAxis("y");
+          unionExtent(data2, xAxis);
+          unionExtent(data2, yAxis);
+        }
+      }, this);
+      function unionExtent(data2, axis2) {
+        each$f(getDataDimensionsOnAxis(data2, axis2.dim), function(dim) {
+          axis2.scale.unionExtentFromData(data2, dim);
+        });
+      }
+    };
+    Grid2.prototype.getTooltipAxes = function(dim) {
+      var baseAxes = [];
+      var otherAxes = [];
+      each$f(this.getCartesians(), function(cartesian) {
+        var baseAxis = dim != null && dim !== "auto" ? cartesian.getAxis(dim) : cartesian.getBaseAxis();
+        var otherAxis = cartesian.getOtherAxis(baseAxis);
+        indexOf(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);
+        indexOf(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);
+      });
+      return {
+        baseAxes,
+        otherAxes
+      };
+    };
+    Grid2.create = function(ecModel, api2) {
+      var grids = [];
+      ecModel.eachComponent("grid", function(gridModel, idx) {
+        var grid2 = new Grid2(gridModel, ecModel, api2);
+        grid2.name = "grid_" + idx;
+        grid2.resize(gridModel, api2, true);
+        gridModel.coordinateSystem = grid2;
+        grids.push(grid2);
+      });
+      ecModel.eachSeries(function(seriesModel) {
+        if (!isCartesian2DSeries(seriesModel)) {
+          return;
+        }
+        var axesModelMap = findAxisModels(seriesModel);
+        var xAxisModel = axesModelMap.xAxisModel;
+        var yAxisModel = axesModelMap.yAxisModel;
+        var gridModel = xAxisModel.getCoordSysModel();
+        var grid2 = gridModel.coordinateSystem;
+        seriesModel.coordinateSystem = grid2.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);
+      });
+      return grids;
+    };
+    Grid2.dimensions = cartesian2DDimensions;
+    return Grid2;
+  }()
+);
+function isAxisUsedInTheGrid(axisModel, gridModel) {
+  return axisModel.getCoordSysModel() === gridModel;
+}
+function fixAxisOnZero(axesMap, otherAxisDim, axis2, onZeroRecords) {
+  axis2.getAxesOnZeroOf = function() {
+    return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];
+  };
+  var otherAxes = axesMap[otherAxisDim];
+  var otherAxisOnZeroOf;
+  var axisModel = axis2.model;
+  var onZero = axisModel.get(["axisLine", "onZero"]);
+  var onZeroAxisIndex = axisModel.get(["axisLine", "onZeroAxisIndex"]);
+  if (!onZero) {
+    return;
+  }
+  if (onZeroAxisIndex != null) {
+    if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {
+      otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];
+    }
+  } else {
+    for (var idx in otherAxes) {
+      if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {
+        otherAxisOnZeroOf = otherAxes[idx];
+        break;
+      }
+    }
+  }
+  if (otherAxisOnZeroOf) {
+    onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;
+  }
+  function getOnZeroRecordKey(axis3) {
+    return axis3.dim + "_" + axis3.index;
+  }
+}
+function canOnZeroToAxis(axis2) {
+  return axis2 && axis2.type !== "category" && axis2.type !== "time" && ifAxisCrossZero(axis2);
+}
+function updateAxisTransform(axis2, coordBase) {
+  var axisExtent = axis2.getExtent();
+  var axisExtentSum = axisExtent[0] + axisExtent[1];
+  axis2.toGlobalCoord = axis2.dim === "x" ? function(coord) {
+    return coord + coordBase;
+  } : function(coord) {
+    return axisExtentSum - coord + coordBase;
+  };
+  axis2.toLocalCoord = axis2.dim === "x" ? function(coord) {
+    return coord - coordBase;
+  } : function(coord) {
+    return axisExtentSum - coord + coordBase;
+  };
+}
+const Grid$1 = Grid;
+var PI$3 = Math.PI;
+var AxisBuilder = (
+  /** @class */
+  function() {
+    function AxisBuilder2(axisModel, opt) {
+      this.group = new Group$4();
+      this.opt = opt;
+      this.axisModel = axisModel;
+      defaults$2(opt, {
+        labelOffset: 0,
+        nameDirection: 1,
+        tickDirection: 1,
+        labelDirection: 1,
+        silent: true,
+        handleAutoShown: function() {
+          return true;
+        }
+      });
+      var transformGroup = new Group$4({
+        x: opt.position[0],
+        y: opt.position[1],
+        rotation: opt.rotation
+      });
+      transformGroup.updateTransform();
+      this._transformGroup = transformGroup;
+    }
+    AxisBuilder2.prototype.hasBuilder = function(name2) {
+      return !!builders[name2];
+    };
+    AxisBuilder2.prototype.add = function(name2) {
+      builders[name2](this.opt, this.axisModel, this.group, this._transformGroup);
+    };
+    AxisBuilder2.prototype.getGroup = function() {
+      return this.group;
+    };
+    AxisBuilder2.innerTextLayout = function(axisRotation, textRotation, direction) {
+      var rotationDiff = remRadian(textRotation - axisRotation);
+      var textAlign;
+      var textVerticalAlign;
+      if (isRadianAroundZero(rotationDiff)) {
+        textVerticalAlign = direction > 0 ? "top" : "bottom";
+        textAlign = "center";
+      } else if (isRadianAroundZero(rotationDiff - PI$3)) {
+        textVerticalAlign = direction > 0 ? "bottom" : "top";
+        textAlign = "center";
+      } else {
+        textVerticalAlign = "middle";
+        if (rotationDiff > 0 && rotationDiff < PI$3) {
+          textAlign = direction > 0 ? "right" : "left";
+        } else {
+          textAlign = direction > 0 ? "left" : "right";
+        }
+      }
+      return {
+        rotation: rotationDiff,
+        textAlign,
+        textVerticalAlign
+      };
+    };
+    AxisBuilder2.makeAxisEventDataBase = function(axisModel) {
+      var eventData = {
+        componentType: axisModel.mainType,
+        componentIndex: axisModel.componentIndex
+      };
+      eventData[axisModel.mainType + "Index"] = axisModel.componentIndex;
+      return eventData;
+    };
+    AxisBuilder2.isLabelSilent = function(axisModel) {
+      var tooltipOpt = axisModel.get("tooltip");
+      return axisModel.get("silent") || !(axisModel.get("triggerEvent") || tooltipOpt && tooltipOpt.show);
+    };
+    return AxisBuilder2;
+  }()
+);
+var builders = {
+  axisLine: function(opt, axisModel, group, transformGroup) {
+    var shown = axisModel.get(["axisLine", "show"]);
+    if (shown === "auto" && opt.handleAutoShown) {
+      shown = opt.handleAutoShown("axisLine");
+    }
+    if (!shown) {
+      return;
+    }
+    var extent3 = axisModel.axis.getExtent();
+    var matrix2 = transformGroup.transform;
+    var pt12 = [extent3[0], 0];
+    var pt22 = [extent3[1], 0];
+    var inverse = pt12[0] > pt22[0];
+    if (matrix2) {
+      applyTransform$1(pt12, pt12, matrix2);
+      applyTransform$1(pt22, pt22, matrix2);
+    }
+    var lineStyle2 = extend$1({
+      lineCap: "round"
+    }, axisModel.getModel(["axisLine", "lineStyle"]).getLineStyle());
+    var line2 = new Line$3({
+      shape: {
+        x1: pt12[0],
+        y1: pt12[1],
+        x2: pt22[0],
+        y2: pt22[1]
+      },
+      style: lineStyle2,
+      strokeContainThreshold: opt.strokeContainThreshold || 5,
+      silent: true,
+      z2: 1
+    });
+    subPixelOptimizeLine(line2.shape, line2.style.lineWidth);
+    line2.anid = "line";
+    group.add(line2);
+    var arrows = axisModel.get(["axisLine", "symbol"]);
+    if (arrows != null) {
+      var arrowSize = axisModel.get(["axisLine", "symbolSize"]);
+      if (isString$1(arrows)) {
+        arrows = [arrows, arrows];
+      }
+      if (isString$1(arrowSize) || isNumber$1(arrowSize)) {
+        arrowSize = [arrowSize, arrowSize];
+      }
+      var arrowOffset = normalizeSymbolOffset(axisModel.get(["axisLine", "symbolOffset"]) || 0, arrowSize);
+      var symbolWidth_1 = arrowSize[0];
+      var symbolHeight_1 = arrowSize[1];
+      each$f([{
+        rotate: opt.rotation + Math.PI / 2,
+        offset: arrowOffset[0],
+        r: 0
+      }, {
+        rotate: opt.rotation - Math.PI / 2,
+        offset: arrowOffset[1],
+        r: Math.sqrt((pt12[0] - pt22[0]) * (pt12[0] - pt22[0]) + (pt12[1] - pt22[1]) * (pt12[1] - pt22[1]))
+      }], function(point, index3) {
+        if (arrows[index3] !== "none" && arrows[index3] != null) {
+          var symbol2 = createSymbol$1(arrows[index3], -symbolWidth_1 / 2, -symbolHeight_1 / 2, symbolWidth_1, symbolHeight_1, lineStyle2.stroke, true);
+          var r2 = point.r + point.offset;
+          var pt = inverse ? pt22 : pt12;
+          symbol2.attr({
+            rotation: point.rotate,
+            x: pt[0] + r2 * Math.cos(opt.rotation),
+            y: pt[1] - r2 * Math.sin(opt.rotation),
+            silent: true,
+            z2: 11
+          });
+          group.add(symbol2);
+        }
+      });
+    }
+  },
+  axisTickLabel: function(opt, axisModel, group, transformGroup) {
+    var ticksEls = buildAxisMajorTicks(group, transformGroup, axisModel, opt);
+    var labelEls = buildAxisLabel(group, transformGroup, axisModel, opt);
+    fixMinMaxLabelShow(axisModel, labelEls, ticksEls);
+    buildAxisMinorTicks(group, transformGroup, axisModel, opt.tickDirection);
+    if (axisModel.get(["axisLabel", "hideOverlap"])) {
+      var labelList = prepareLayoutList(map$1(labelEls, function(label) {
+        return {
+          label,
+          priority: label.z2,
+          defaultAttr: {
+            ignore: label.ignore
+          }
+        };
+      }));
+      hideOverlap(labelList);
+    }
+  },
+  axisName: function(opt, axisModel, group, transformGroup) {
+    var name2 = retrieve(opt.axisName, axisModel.get("name"));
+    if (!name2) {
+      return;
+    }
+    var nameLocation = axisModel.get("nameLocation");
+    var nameDirection = opt.nameDirection;
+    var textStyleModel = axisModel.getModel("nameTextStyle");
+    var gap = axisModel.get("nameGap") || 0;
+    var extent3 = axisModel.axis.getExtent();
+    var gapSignal = extent3[0] > extent3[1] ? -1 : 1;
+    var pos = [
+      nameLocation === "start" ? extent3[0] - gapSignal * gap : nameLocation === "end" ? extent3[1] + gapSignal * gap : (extent3[0] + extent3[1]) / 2,
+      // Reuse labelOffset.
+      isNameLocationCenter(nameLocation) ? opt.labelOffset + nameDirection * gap : 0
+    ];
+    var labelLayout2;
+    var nameRotation = axisModel.get("nameRotate");
+    if (nameRotation != null) {
+      nameRotation = nameRotation * PI$3 / 180;
+    }
+    var axisNameAvailableWidth;
+    if (isNameLocationCenter(nameLocation)) {
+      labelLayout2 = AxisBuilder.innerTextLayout(
+        opt.rotation,
+        nameRotation != null ? nameRotation : opt.rotation,
+        // Adapt to axis.
+        nameDirection
+      );
+    } else {
+      labelLayout2 = endTextLayout(opt.rotation, nameLocation, nameRotation || 0, extent3);
+      axisNameAvailableWidth = opt.axisNameAvailableWidth;
+      if (axisNameAvailableWidth != null) {
+        axisNameAvailableWidth = Math.abs(axisNameAvailableWidth / Math.sin(labelLayout2.rotation));
+        !isFinite(axisNameAvailableWidth) && (axisNameAvailableWidth = null);
+      }
+    }
+    var textFont = textStyleModel.getFont();
+    var truncateOpt = axisModel.get("nameTruncate", true) || {};
+    var ellipsis = truncateOpt.ellipsis;
+    var maxWidth = retrieve(opt.nameTruncateMaxWidth, truncateOpt.maxWidth, axisNameAvailableWidth);
+    var textEl = new ZRText$1({
+      x: pos[0],
+      y: pos[1],
+      rotation: labelLayout2.rotation,
+      silent: AxisBuilder.isLabelSilent(axisModel),
+      style: createTextStyle$1(textStyleModel, {
+        text: name2,
+        font: textFont,
+        overflow: "truncate",
+        width: maxWidth,
+        ellipsis,
+        fill: textStyleModel.getTextColor() || axisModel.get(["axisLine", "lineStyle", "color"]),
+        align: textStyleModel.get("align") || labelLayout2.textAlign,
+        verticalAlign: textStyleModel.get("verticalAlign") || labelLayout2.textVerticalAlign
+      }),
+      z2: 1
+    });
+    setTooltipConfig({
+      el: textEl,
+      componentModel: axisModel,
+      itemName: name2
+    });
+    textEl.__fullText = name2;
+    textEl.anid = "name";
+    if (axisModel.get("triggerEvent")) {
+      var eventData = AxisBuilder.makeAxisEventDataBase(axisModel);
+      eventData.targetType = "axisName";
+      eventData.name = name2;
+      getECData(textEl).eventData = eventData;
+    }
+    transformGroup.add(textEl);
+    textEl.updateTransform();
+    group.add(textEl);
+    textEl.decomposeTransform();
+  }
+};
+function endTextLayout(rotation, textPosition, textRotate, extent3) {
+  var rotationDiff = remRadian(textRotate - rotation);
+  var textAlign;
+  var textVerticalAlign;
+  var inverse = extent3[0] > extent3[1];
+  var onLeft = textPosition === "start" && !inverse || textPosition !== "start" && inverse;
+  if (isRadianAroundZero(rotationDiff - PI$3 / 2)) {
+    textVerticalAlign = onLeft ? "bottom" : "top";
+    textAlign = "center";
+  } else if (isRadianAroundZero(rotationDiff - PI$3 * 1.5)) {
+    textVerticalAlign = onLeft ? "top" : "bottom";
+    textAlign = "center";
+  } else {
+    textVerticalAlign = "middle";
+    if (rotationDiff < PI$3 * 1.5 && rotationDiff > PI$3 / 2) {
+      textAlign = onLeft ? "left" : "right";
+    } else {
+      textAlign = onLeft ? "right" : "left";
+    }
+  }
+  return {
+    rotation: rotationDiff,
+    textAlign,
+    textVerticalAlign
+  };
+}
+function fixMinMaxLabelShow(axisModel, labelEls, tickEls) {
+  if (shouldShowAllLabels(axisModel.axis)) {
+    return;
+  }
+  var showMinLabel = axisModel.get(["axisLabel", "showMinLabel"]);
+  var showMaxLabel = axisModel.get(["axisLabel", "showMaxLabel"]);
+  labelEls = labelEls || [];
+  tickEls = tickEls || [];
+  var firstLabel = labelEls[0];
+  var nextLabel = labelEls[1];
+  var lastLabel = labelEls[labelEls.length - 1];
+  var prevLabel = labelEls[labelEls.length - 2];
+  var firstTick = tickEls[0];
+  var nextTick2 = tickEls[1];
+  var lastTick = tickEls[tickEls.length - 1];
+  var prevTick = tickEls[tickEls.length - 2];
+  if (showMinLabel === false) {
+    ignoreEl(firstLabel);
+    ignoreEl(firstTick);
+  } else if (isTwoLabelOverlapped(firstLabel, nextLabel)) {
+    if (showMinLabel) {
+      ignoreEl(nextLabel);
+      ignoreEl(nextTick2);
+    } else {
+      ignoreEl(firstLabel);
+      ignoreEl(firstTick);
+    }
+  }
+  if (showMaxLabel === false) {
+    ignoreEl(lastLabel);
+    ignoreEl(lastTick);
+  } else if (isTwoLabelOverlapped(prevLabel, lastLabel)) {
+    if (showMaxLabel) {
+      ignoreEl(prevLabel);
+      ignoreEl(prevTick);
+    } else {
+      ignoreEl(lastLabel);
+      ignoreEl(lastTick);
+    }
+  }
+}
+function ignoreEl(el) {
+  el && (el.ignore = true);
+}
+function isTwoLabelOverlapped(current, next) {
+  var firstRect = current && current.getBoundingRect().clone();
+  var nextRect = next && next.getBoundingRect().clone();
+  if (!firstRect || !nextRect) {
+    return;
+  }
+  var mRotationBack = identity([]);
+  rotate(mRotationBack, mRotationBack, -current.rotation);
+  firstRect.applyTransform(mul([], mRotationBack, current.getLocalTransform()));
+  nextRect.applyTransform(mul([], mRotationBack, next.getLocalTransform()));
+  return firstRect.intersect(nextRect);
+}
+function isNameLocationCenter(nameLocation) {
+  return nameLocation === "middle" || nameLocation === "center";
+}
+function createTicks(ticksCoords, tickTransform, tickEndCoord, tickLineStyle, anidPrefix) {
+  var tickEls = [];
+  var pt12 = [];
+  var pt22 = [];
+  for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+    var tickCoord = ticksCoords[i2].coord;
+    pt12[0] = tickCoord;
+    pt12[1] = 0;
+    pt22[0] = tickCoord;
+    pt22[1] = tickEndCoord;
+    if (tickTransform) {
+      applyTransform$1(pt12, pt12, tickTransform);
+      applyTransform$1(pt22, pt22, tickTransform);
+    }
+    var tickEl = new Line$3({
+      shape: {
+        x1: pt12[0],
+        y1: pt12[1],
+        x2: pt22[0],
+        y2: pt22[1]
+      },
+      style: tickLineStyle,
+      z2: 2,
+      autoBatch: true,
+      silent: true
+    });
+    subPixelOptimizeLine(tickEl.shape, tickEl.style.lineWidth);
+    tickEl.anid = anidPrefix + "_" + ticksCoords[i2].tickValue;
+    tickEls.push(tickEl);
+  }
+  return tickEls;
+}
+function buildAxisMajorTicks(group, transformGroup, axisModel, opt) {
+  var axis2 = axisModel.axis;
+  var tickModel = axisModel.getModel("axisTick");
+  var shown = tickModel.get("show");
+  if (shown === "auto" && opt.handleAutoShown) {
+    shown = opt.handleAutoShown("axisTick");
+  }
+  if (!shown || axis2.scale.isBlank()) {
+    return;
+  }
+  var lineStyleModel = tickModel.getModel("lineStyle");
+  var tickEndCoord = opt.tickDirection * tickModel.get("length");
+  var ticksCoords = axis2.getTicksCoords();
+  var ticksEls = createTicks(ticksCoords, transformGroup.transform, tickEndCoord, defaults$2(lineStyleModel.getLineStyle(), {
+    stroke: axisModel.get(["axisLine", "lineStyle", "color"])
+  }), "ticks");
+  for (var i2 = 0; i2 < ticksEls.length; i2++) {
+    group.add(ticksEls[i2]);
+  }
+  return ticksEls;
+}
+function buildAxisMinorTicks(group, transformGroup, axisModel, tickDirection) {
+  var axis2 = axisModel.axis;
+  var minorTickModel = axisModel.getModel("minorTick");
+  if (!minorTickModel.get("show") || axis2.scale.isBlank()) {
+    return;
+  }
+  var minorTicksCoords = axis2.getMinorTicksCoords();
+  if (!minorTicksCoords.length) {
+    return;
+  }
+  var lineStyleModel = minorTickModel.getModel("lineStyle");
+  var tickEndCoord = tickDirection * minorTickModel.get("length");
+  var minorTickLineStyle = defaults$2(lineStyleModel.getLineStyle(), defaults$2(axisModel.getModel("axisTick").getLineStyle(), {
+    stroke: axisModel.get(["axisLine", "lineStyle", "color"])
+  }));
+  for (var i2 = 0; i2 < minorTicksCoords.length; i2++) {
+    var minorTicksEls = createTicks(minorTicksCoords[i2], transformGroup.transform, tickEndCoord, minorTickLineStyle, "minorticks_" + i2);
+    for (var k2 = 0; k2 < minorTicksEls.length; k2++) {
+      group.add(minorTicksEls[k2]);
+    }
+  }
+}
+function buildAxisLabel(group, transformGroup, axisModel, opt) {
+  var axis2 = axisModel.axis;
+  var show2 = retrieve(opt.axisLabelShow, axisModel.get(["axisLabel", "show"]));
+  if (!show2 || axis2.scale.isBlank()) {
+    return;
+  }
+  var labelModel = axisModel.getModel("axisLabel");
+  var labelMargin = labelModel.get("margin");
+  var labels = axis2.getViewLabels();
+  var labelRotation = (retrieve(opt.labelRotate, labelModel.get("rotate")) || 0) * PI$3 / 180;
+  var labelLayout2 = AxisBuilder.innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);
+  var rawCategoryData = axisModel.getCategories && axisModel.getCategories(true);
+  var labelEls = [];
+  var silent = AxisBuilder.isLabelSilent(axisModel);
+  var triggerEvent = axisModel.get("triggerEvent");
+  each$f(labels, function(labelItem, index3) {
+    var tickValue = axis2.scale.type === "ordinal" ? axis2.scale.getRawOrdinalNumber(labelItem.tickValue) : labelItem.tickValue;
+    var formattedLabel = labelItem.formattedLabel;
+    var rawLabel = labelItem.rawLabel;
+    var itemLabelModel = labelModel;
+    if (rawCategoryData && rawCategoryData[tickValue]) {
+      var rawCategoryItem = rawCategoryData[tickValue];
+      if (isObject$4(rawCategoryItem) && rawCategoryItem.textStyle) {
+        itemLabelModel = new Model$1(rawCategoryItem.textStyle, labelModel, axisModel.ecModel);
+      }
+    }
+    var textColor = itemLabelModel.getTextColor() || axisModel.get(["axisLine", "lineStyle", "color"]);
+    var tickCoord = axis2.dataToCoord(tickValue);
+    var textEl = new ZRText$1({
+      x: tickCoord,
+      y: opt.labelOffset + opt.labelDirection * labelMargin,
+      rotation: labelLayout2.rotation,
+      silent,
+      z2: 10 + (labelItem.level || 0),
+      style: createTextStyle$1(itemLabelModel, {
+        text: formattedLabel,
+        align: itemLabelModel.getShallow("align", true) || labelLayout2.textAlign,
+        verticalAlign: itemLabelModel.getShallow("verticalAlign", true) || itemLabelModel.getShallow("baseline", true) || labelLayout2.textVerticalAlign,
+        fill: isFunction$1(textColor) ? textColor(
+          // (1) In category axis with data zoom, tick is not the original
+          // index of axis.data. So tick should not be exposed to user
+          // in category axis.
+          // (2) Compatible with previous version, which always use formatted label as
+          // input. But in interval scale the formatted label is like '223,445', which
+          // maked user replace ','. So we modify it to return original val but remain
+          // it as 'string' to avoid error in replacing.
+          axis2.type === "category" ? rawLabel : axis2.type === "value" ? tickValue + "" : tickValue,
+          index3
+        ) : textColor
+      })
+    });
+    textEl.anid = "label_" + tickValue;
+    if (triggerEvent) {
+      var eventData = AxisBuilder.makeAxisEventDataBase(axisModel);
+      eventData.targetType = "axisLabel";
+      eventData.value = rawLabel;
+      eventData.tickIndex = index3;
+      if (axis2.type === "category") {
+        eventData.dataIndex = tickValue;
+      }
+      getECData(textEl).eventData = eventData;
+    }
+    transformGroup.add(textEl);
+    textEl.updateTransform();
+    labelEls.push(textEl);
+    group.add(textEl);
+    textEl.decomposeTransform();
+  });
+  return labelEls;
+}
+const AxisBuilder$1 = AxisBuilder;
+function collect(ecModel, api2) {
+  var result2 = {
+    /**
+     * key: makeKey(axis.model)
+     * value: {
+     *      axis,
+     *      coordSys,
+     *      axisPointerModel,
+     *      triggerTooltip,
+     *      triggerEmphasis,
+     *      involveSeries,
+     *      snap,
+     *      seriesModels,
+     *      seriesDataCount
+     * }
+     */
+    axesInfo: {},
+    seriesInvolved: false,
+    /**
+     * key: makeKey(coordSys.model)
+     * value: Object: key makeKey(axis.model), value: axisInfo
+     */
+    coordSysAxesInfo: {},
+    coordSysMap: {}
+  };
+  collectAxesInfo(result2, ecModel, api2);
+  result2.seriesInvolved && collectSeriesInfo(result2, ecModel);
+  return result2;
+}
+function collectAxesInfo(result2, ecModel, api2) {
+  var globalTooltipModel = ecModel.getComponent("tooltip");
+  var globalAxisPointerModel = ecModel.getComponent("axisPointer");
+  var linksOption = globalAxisPointerModel.get("link", true) || [];
+  var linkGroups = [];
+  each$f(api2.getCoordinateSystems(), function(coordSys) {
+    if (!coordSys.axisPointerEnabled) {
+      return;
+    }
+    var coordSysKey = makeKey(coordSys.model);
+    var axesInfoInCoordSys = result2.coordSysAxesInfo[coordSysKey] = {};
+    result2.coordSysMap[coordSysKey] = coordSys;
+    var coordSysModel = coordSys.model;
+    var baseTooltipModel = coordSysModel.getModel("tooltip", globalTooltipModel);
+    each$f(coordSys.getAxes(), curry$1(saveTooltipAxisInfo, false, null));
+    if (coordSys.getTooltipAxes && globalTooltipModel && baseTooltipModel.get("show")) {
+      var triggerAxis = baseTooltipModel.get("trigger") === "axis";
+      var cross = baseTooltipModel.get(["axisPointer", "type"]) === "cross";
+      var tooltipAxes = coordSys.getTooltipAxes(baseTooltipModel.get(["axisPointer", "axis"]));
+      if (triggerAxis || cross) {
+        each$f(tooltipAxes.baseAxes, curry$1(saveTooltipAxisInfo, cross ? "cross" : true, triggerAxis));
+      }
+      if (cross) {
+        each$f(tooltipAxes.otherAxes, curry$1(saveTooltipAxisInfo, "cross", false));
+      }
+    }
+    function saveTooltipAxisInfo(fromTooltip, triggerTooltip, axis2) {
+      var axisPointerModel = axis2.model.getModel("axisPointer", globalAxisPointerModel);
+      var axisPointerShow = axisPointerModel.get("show");
+      if (!axisPointerShow || axisPointerShow === "auto" && !fromTooltip && !isHandleTrigger(axisPointerModel)) {
+        return;
+      }
+      if (triggerTooltip == null) {
+        triggerTooltip = axisPointerModel.get("triggerTooltip");
+      }
+      axisPointerModel = fromTooltip ? makeAxisPointerModel(axis2, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) : axisPointerModel;
+      var snap = axisPointerModel.get("snap");
+      var triggerEmphasis = axisPointerModel.get("triggerEmphasis");
+      var axisKey = makeKey(axis2.model);
+      var involveSeries = triggerTooltip || snap || axis2.type === "category";
+      var axisInfo = result2.axesInfo[axisKey] = {
+        key: axisKey,
+        axis: axis2,
+        coordSys,
+        axisPointerModel,
+        triggerTooltip,
+        triggerEmphasis,
+        involveSeries,
+        snap,
+        useHandle: isHandleTrigger(axisPointerModel),
+        seriesModels: [],
+        linkGroup: null
+      };
+      axesInfoInCoordSys[axisKey] = axisInfo;
+      result2.seriesInvolved = result2.seriesInvolved || involveSeries;
+      var groupIndex = getLinkGroupIndex(linksOption, axis2);
+      if (groupIndex != null) {
+        var linkGroup = linkGroups[groupIndex] || (linkGroups[groupIndex] = {
+          axesInfo: {}
+        });
+        linkGroup.axesInfo[axisKey] = axisInfo;
+        linkGroup.mapper = linksOption[groupIndex].mapper;
+        axisInfo.linkGroup = linkGroup;
+      }
+    }
+  });
+}
+function makeAxisPointerModel(axis2, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) {
+  var tooltipAxisPointerModel = baseTooltipModel.getModel("axisPointer");
+  var fields = ["type", "snap", "lineStyle", "shadowStyle", "label", "animation", "animationDurationUpdate", "animationEasingUpdate", "z"];
+  var volatileOption = {};
+  each$f(fields, function(field) {
+    volatileOption[field] = clone$4(tooltipAxisPointerModel.get(field));
+  });
+  volatileOption.snap = axis2.type !== "category" && !!triggerTooltip;
+  if (tooltipAxisPointerModel.get("type") === "cross") {
+    volatileOption.type = "line";
+  }
+  var labelOption = volatileOption.label || (volatileOption.label = {});
+  labelOption.show == null && (labelOption.show = false);
+  if (fromTooltip === "cross") {
+    var tooltipAxisPointerLabelShow = tooltipAxisPointerModel.get(["label", "show"]);
+    labelOption.show = tooltipAxisPointerLabelShow != null ? tooltipAxisPointerLabelShow : true;
+    if (!triggerTooltip) {
+      var crossStyle = volatileOption.lineStyle = tooltipAxisPointerModel.get("crossStyle");
+      crossStyle && defaults$2(labelOption, crossStyle.textStyle);
+    }
+  }
+  return axis2.model.getModel("axisPointer", new Model$1(volatileOption, globalAxisPointerModel, ecModel));
+}
+function collectSeriesInfo(result2, ecModel) {
+  ecModel.eachSeries(function(seriesModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    var seriesTooltipTrigger = seriesModel.get(["tooltip", "trigger"], true);
+    var seriesTooltipShow = seriesModel.get(["tooltip", "show"], true);
+    if (!coordSys || seriesTooltipTrigger === "none" || seriesTooltipTrigger === false || seriesTooltipTrigger === "item" || seriesTooltipShow === false || seriesModel.get(["axisPointer", "show"], true) === false) {
+      return;
+    }
+    each$f(result2.coordSysAxesInfo[makeKey(coordSys.model)], function(axisInfo) {
+      var axis2 = axisInfo.axis;
+      if (coordSys.getAxis(axis2.dim) === axis2) {
+        axisInfo.seriesModels.push(seriesModel);
+        axisInfo.seriesDataCount == null && (axisInfo.seriesDataCount = 0);
+        axisInfo.seriesDataCount += seriesModel.getData().count();
+      }
+    });
+  });
+}
+function getLinkGroupIndex(linksOption, axis2) {
+  var axisModel = axis2.model;
+  var dim = axis2.dim;
+  for (var i2 = 0; i2 < linksOption.length; i2++) {
+    var linkOption = linksOption[i2] || {};
+    if (checkPropInLink(linkOption[dim + "AxisId"], axisModel.id) || checkPropInLink(linkOption[dim + "AxisIndex"], axisModel.componentIndex) || checkPropInLink(linkOption[dim + "AxisName"], axisModel.name)) {
+      return i2;
+    }
+  }
+}
+function checkPropInLink(linkPropValue, axisPropValue) {
+  return linkPropValue === "all" || isArray$2(linkPropValue) && indexOf(linkPropValue, axisPropValue) >= 0 || linkPropValue === axisPropValue;
+}
+function fixValue(axisModel) {
+  var axisInfo = getAxisInfo$1(axisModel);
+  if (!axisInfo) {
+    return;
+  }
+  var axisPointerModel = axisInfo.axisPointerModel;
+  var scale2 = axisInfo.axis.scale;
+  var option = axisPointerModel.option;
+  var status = axisPointerModel.get("status");
+  var value = axisPointerModel.get("value");
+  if (value != null) {
+    value = scale2.parse(value);
+  }
+  var useHandle = isHandleTrigger(axisPointerModel);
+  if (status == null) {
+    option.status = useHandle ? "show" : "hide";
+  }
+  var extent3 = scale2.getExtent().slice();
+  extent3[0] > extent3[1] && extent3.reverse();
+  if (
+    // Pick a value on axis when initializing.
+    value == null || value > extent3[1]
+  ) {
+    value = extent3[1];
+  }
+  if (value < extent3[0]) {
+    value = extent3[0];
+  }
+  option.value = value;
+  if (useHandle) {
+    option.status = axisInfo.axis.scale.isBlank() ? "hide" : "show";
+  }
+}
+function getAxisInfo$1(axisModel) {
+  var coordSysAxesInfo = (axisModel.ecModel.getComponent("axisPointer") || {}).coordSysAxesInfo;
+  return coordSysAxesInfo && coordSysAxesInfo.axesInfo[makeKey(axisModel)];
+}
+function getAxisPointerModel(axisModel) {
+  var axisInfo = getAxisInfo$1(axisModel);
+  return axisInfo && axisInfo.axisPointerModel;
+}
+function isHandleTrigger(axisPointerModel) {
+  return !!axisPointerModel.get(["handle", "show"]);
+}
+function makeKey(model2) {
+  return model2.type + "||" + model2.id;
+}
+var axisPointerClazz = {};
+var AxisView = (
+  /** @class */
+  function(_super) {
+    __extends(AxisView2, _super);
+    function AxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = AxisView2.type;
+      return _this;
+    }
+    AxisView2.prototype.render = function(axisModel, ecModel, api2, payload) {
+      this.axisPointerClass && fixValue(axisModel);
+      _super.prototype.render.apply(this, arguments);
+      this._doUpdateAxisPointerClass(axisModel, api2, true);
+    };
+    AxisView2.prototype.updateAxisPointer = function(axisModel, ecModel, api2, payload) {
+      this._doUpdateAxisPointerClass(axisModel, api2, false);
+    };
+    AxisView2.prototype.remove = function(ecModel, api2) {
+      var axisPointer2 = this._axisPointer;
+      axisPointer2 && axisPointer2.remove(api2);
+    };
+    AxisView2.prototype.dispose = function(ecModel, api2) {
+      this._disposeAxisPointer(api2);
+      _super.prototype.dispose.apply(this, arguments);
+    };
+    AxisView2.prototype._doUpdateAxisPointerClass = function(axisModel, api2, forceRender) {
+      var Clazz = AxisView2.getAxisPointerClass(this.axisPointerClass);
+      if (!Clazz) {
+        return;
+      }
+      var axisPointerModel = getAxisPointerModel(axisModel);
+      axisPointerModel ? (this._axisPointer || (this._axisPointer = new Clazz())).render(axisModel, axisPointerModel, api2, forceRender) : this._disposeAxisPointer(api2);
+    };
+    AxisView2.prototype._disposeAxisPointer = function(api2) {
+      this._axisPointer && this._axisPointer.dispose(api2);
+      this._axisPointer = null;
+    };
+    AxisView2.registerAxisPointerClass = function(type2, clazz2) {
+      axisPointerClazz[type2] = clazz2;
+    };
+    AxisView2.getAxisPointerClass = function(type2) {
+      return type2 && axisPointerClazz[type2];
+    };
+    AxisView2.type = "axis";
+    return AxisView2;
+  }(ComponentView$1)
+);
+const AxisView$1 = AxisView;
+var inner$f = makeInner();
+function rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {
+  var axis2 = axisModel.axis;
+  if (axis2.scale.isBlank()) {
+    return;
+  }
+  var splitAreaModel = axisModel.getModel("splitArea");
+  var areaStyleModel = splitAreaModel.getModel("areaStyle");
+  var areaColors = areaStyleModel.get("color");
+  var gridRect = gridModel.coordinateSystem.getRect();
+  var ticksCoords = axis2.getTicksCoords({
+    tickModel: splitAreaModel,
+    clamp: true
+  });
+  if (!ticksCoords.length) {
+    return;
+  }
+  var areaColorsLen = areaColors.length;
+  var lastSplitAreaColors = inner$f(axisView).splitAreaColors;
+  var newSplitAreaColors = createHashMap();
+  var colorIndex = 0;
+  if (lastSplitAreaColors) {
+    for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+      var cIndex = lastSplitAreaColors.get(ticksCoords[i2].tickValue);
+      if (cIndex != null) {
+        colorIndex = (cIndex + (areaColorsLen - 1) * i2) % areaColorsLen;
+        break;
+      }
+    }
+  }
+  var prev = axis2.toGlobalCoord(ticksCoords[0].coord);
+  var areaStyle2 = areaStyleModel.getAreaStyle();
+  areaColors = isArray$2(areaColors) ? areaColors : [areaColors];
+  for (var i2 = 1; i2 < ticksCoords.length; i2++) {
+    var tickCoord = axis2.toGlobalCoord(ticksCoords[i2].coord);
+    var x2 = void 0;
+    var y2 = void 0;
+    var width = void 0;
+    var height = void 0;
+    if (axis2.isHorizontal()) {
+      x2 = prev;
+      y2 = gridRect.y;
+      width = tickCoord - x2;
+      height = gridRect.height;
+      prev = x2 + width;
+    } else {
+      x2 = gridRect.x;
+      y2 = prev;
+      width = gridRect.width;
+      height = tickCoord - y2;
+      prev = y2 + height;
+    }
+    var tickValue = ticksCoords[i2 - 1].tickValue;
+    tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);
+    axisGroup.add(new Rect$3({
+      anid: tickValue != null ? "area_" + tickValue : null,
+      shape: {
+        x: x2,
+        y: y2,
+        width,
+        height
+      },
+      style: defaults$2({
+        fill: areaColors[colorIndex]
+      }, areaStyle2),
+      autoBatch: true,
+      silent: true
+    }));
+    colorIndex = (colorIndex + 1) % areaColorsLen;
+  }
+  inner$f(axisView).splitAreaColors = newSplitAreaColors;
+}
+function rectCoordAxisHandleRemove(axisView) {
+  inner$f(axisView).splitAreaColors = null;
+}
+var axisBuilderAttrs$3 = ["axisLine", "axisTickLabel", "axisName"];
+var selfBuilderAttrs$2 = ["splitArea", "splitLine", "minorSplitLine"];
+var CartesianAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(CartesianAxisView2, _super);
+    function CartesianAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CartesianAxisView2.type;
+      _this.axisPointerClass = "CartesianAxisPointer";
+      return _this;
+    }
+    CartesianAxisView2.prototype.render = function(axisModel, ecModel, api2, payload) {
+      this.group.removeAll();
+      var oldAxisGroup = this._axisGroup;
+      this._axisGroup = new Group$4();
+      this.group.add(this._axisGroup);
+      if (!axisModel.get("show")) {
+        return;
+      }
+      var gridModel = axisModel.getCoordSysModel();
+      var layout2 = layout$2(gridModel, axisModel);
+      var axisBuilder = new AxisBuilder$1(axisModel, extend$1({
+        handleAutoShown: function(elementType) {
+          var cartesians = gridModel.coordinateSystem.getCartesians();
+          for (var i2 = 0; i2 < cartesians.length; i2++) {
+            if (isIntervalOrLogScale(cartesians[i2].getOtherAxis(axisModel.axis).scale)) {
+              return true;
+            }
+          }
+          return false;
+        }
+      }, layout2));
+      each$f(axisBuilderAttrs$3, axisBuilder.add, axisBuilder);
+      this._axisGroup.add(axisBuilder.getGroup());
+      each$f(selfBuilderAttrs$2, function(name2) {
+        if (axisModel.get([name2, "show"])) {
+          axisElementBuilders$2[name2](this, this._axisGroup, axisModel, gridModel);
+        }
+      }, this);
+      var isInitialSortFromBarRacing = payload && payload.type === "changeAxisOrder" && payload.isInitSort;
+      if (!isInitialSortFromBarRacing) {
+        groupTransition(oldAxisGroup, this._axisGroup, axisModel);
+      }
+      _super.prototype.render.call(this, axisModel, ecModel, api2, payload);
+    };
+    CartesianAxisView2.prototype.remove = function() {
+      rectCoordAxisHandleRemove(this);
+    };
+    CartesianAxisView2.type = "cartesianAxis";
+    return CartesianAxisView2;
+  }(AxisView$1)
+);
+var axisElementBuilders$2 = {
+  splitLine: function(axisView, axisGroup, axisModel, gridModel) {
+    var axis2 = axisModel.axis;
+    if (axis2.scale.isBlank()) {
+      return;
+    }
+    var splitLineModel = axisModel.getModel("splitLine");
+    var lineStyleModel = splitLineModel.getModel("lineStyle");
+    var lineColors = lineStyleModel.get("color");
+    lineColors = isArray$2(lineColors) ? lineColors : [lineColors];
+    var gridRect = gridModel.coordinateSystem.getRect();
+    var isHorizontal = axis2.isHorizontal();
+    var lineCount = 0;
+    var ticksCoords = axis2.getTicksCoords({
+      tickModel: splitLineModel
+    });
+    var p1 = [];
+    var p2 = [];
+    var lineStyle2 = lineStyleModel.getLineStyle();
+    for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+      var tickCoord = axis2.toGlobalCoord(ticksCoords[i2].coord);
+      if (isHorizontal) {
+        p1[0] = tickCoord;
+        p1[1] = gridRect.y;
+        p2[0] = tickCoord;
+        p2[1] = gridRect.y + gridRect.height;
+      } else {
+        p1[0] = gridRect.x;
+        p1[1] = tickCoord;
+        p2[0] = gridRect.x + gridRect.width;
+        p2[1] = tickCoord;
+      }
+      var colorIndex = lineCount++ % lineColors.length;
+      var tickValue = ticksCoords[i2].tickValue;
+      var line2 = new Line$3({
+        anid: tickValue != null ? "line_" + ticksCoords[i2].tickValue : null,
+        autoBatch: true,
+        shape: {
+          x1: p1[0],
+          y1: p1[1],
+          x2: p2[0],
+          y2: p2[1]
+        },
+        style: defaults$2({
+          stroke: lineColors[colorIndex]
+        }, lineStyle2),
+        silent: true
+      });
+      subPixelOptimizeLine(line2.shape, lineStyle2.lineWidth);
+      axisGroup.add(line2);
+    }
+  },
+  minorSplitLine: function(axisView, axisGroup, axisModel, gridModel) {
+    var axis2 = axisModel.axis;
+    var minorSplitLineModel = axisModel.getModel("minorSplitLine");
+    var lineStyleModel = minorSplitLineModel.getModel("lineStyle");
+    var gridRect = gridModel.coordinateSystem.getRect();
+    var isHorizontal = axis2.isHorizontal();
+    var minorTicksCoords = axis2.getMinorTicksCoords();
+    if (!minorTicksCoords.length) {
+      return;
+    }
+    var p1 = [];
+    var p2 = [];
+    var lineStyle2 = lineStyleModel.getLineStyle();
+    for (var i2 = 0; i2 < minorTicksCoords.length; i2++) {
+      for (var k2 = 0; k2 < minorTicksCoords[i2].length; k2++) {
+        var tickCoord = axis2.toGlobalCoord(minorTicksCoords[i2][k2].coord);
+        if (isHorizontal) {
+          p1[0] = tickCoord;
+          p1[1] = gridRect.y;
+          p2[0] = tickCoord;
+          p2[1] = gridRect.y + gridRect.height;
+        } else {
+          p1[0] = gridRect.x;
+          p1[1] = tickCoord;
+          p2[0] = gridRect.x + gridRect.width;
+          p2[1] = tickCoord;
+        }
+        var line2 = new Line$3({
+          anid: "minor_line_" + minorTicksCoords[i2][k2].tickValue,
+          autoBatch: true,
+          shape: {
+            x1: p1[0],
+            y1: p1[1],
+            x2: p2[0],
+            y2: p2[1]
+          },
+          style: lineStyle2,
+          silent: true
+        });
+        subPixelOptimizeLine(line2.shape, lineStyle2.lineWidth);
+        axisGroup.add(line2);
+      }
+    }
+  },
+  splitArea: function(axisView, axisGroup, axisModel, gridModel) {
+    rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel);
+  }
+};
+var CartesianXAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(CartesianXAxisView2, _super);
+    function CartesianXAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CartesianXAxisView2.type;
+      return _this;
+    }
+    CartesianXAxisView2.type = "xAxis";
+    return CartesianXAxisView2;
+  }(CartesianAxisView)
+);
+var CartesianYAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(CartesianYAxisView2, _super);
+    function CartesianYAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CartesianXAxisView.type;
+      return _this;
+    }
+    CartesianYAxisView2.type = "yAxis";
+    return CartesianYAxisView2;
+  }(CartesianAxisView)
+);
+var GridView = (
+  /** @class */
+  function(_super) {
+    __extends(GridView2, _super);
+    function GridView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "grid";
+      return _this;
+    }
+    GridView2.prototype.render = function(gridModel, ecModel) {
+      this.group.removeAll();
+      if (gridModel.get("show")) {
+        this.group.add(new Rect$3({
+          shape: gridModel.coordinateSystem.getRect(),
+          style: defaults$2({
+            fill: gridModel.get("backgroundColor")
+          }, gridModel.getItemStyle()),
+          silent: true,
+          z2: -1
+        }));
+      }
+    };
+    GridView2.type = "grid";
+    return GridView2;
+  }(ComponentView$1)
+);
+var extraOption = {
+  // gridIndex: 0,
+  // gridId: '',
+  offset: 0
+};
+function install$N(registers) {
+  registers.registerComponentView(GridView);
+  registers.registerComponentModel(GridModel$1);
+  registers.registerCoordinateSystem("cartesian2d", Grid$1);
+  axisModelCreator(registers, "x", CartesianAxisModel, extraOption);
+  axisModelCreator(registers, "y", CartesianAxisModel, extraOption);
+  registers.registerComponentView(CartesianXAxisView);
+  registers.registerComponentView(CartesianYAxisView);
+  registers.registerPreprocessor(function(option) {
+    if (option.xAxis && option.yAxis && !option.grid) {
+      option.grid = {};
+    }
+  });
+}
+function install$M(registers) {
+  use(install$N);
+  registers.registerSeriesModel(ScatterSeriesModel$1);
+  registers.registerChartView(ScatterView$1);
+  registers.registerLayout(pointsLayout("scatter"));
+}
+function radarLayout(ecModel) {
+  ecModel.eachSeriesByType("radar", function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var points2 = [];
+    var coordSys = seriesModel.coordinateSystem;
+    if (!coordSys) {
+      return;
+    }
+    var axes = coordSys.getIndicatorAxes();
+    each$f(axes, function(axis2, axisIndex) {
+      data2.each(data2.mapDimension(axes[axisIndex].dim), function(val, dataIndex) {
+        points2[dataIndex] = points2[dataIndex] || [];
+        var point = coordSys.dataToPoint(val, axisIndex);
+        points2[dataIndex][axisIndex] = isValidPoint(point) ? point : getValueMissingPoint(coordSys);
+      });
+    });
+    data2.each(function(idx) {
+      var firstPoint = find(points2[idx], function(point) {
+        return isValidPoint(point);
+      }) || getValueMissingPoint(coordSys);
+      points2[idx].push(firstPoint.slice());
+      data2.setItemLayout(idx, points2[idx]);
+    });
+  });
+}
+function isValidPoint(point) {
+  return !isNaN(point[0]) && !isNaN(point[1]);
+}
+function getValueMissingPoint(coordSys) {
+  return [coordSys.cx, coordSys.cy];
+}
+function radarBackwardCompat(option) {
+  var polarOptArr = option.polar;
+  if (polarOptArr) {
+    if (!isArray$2(polarOptArr)) {
+      polarOptArr = [polarOptArr];
+    }
+    var polarNotRadar_1 = [];
+    each$f(polarOptArr, function(polarOpt, idx) {
+      if (polarOpt.indicator) {
+        if (polarOpt.type && !polarOpt.shape) {
+          polarOpt.shape = polarOpt.type;
+        }
+        option.radar = option.radar || [];
+        if (!isArray$2(option.radar)) {
+          option.radar = [option.radar];
+        }
+        option.radar.push(polarOpt);
+      } else {
+        polarNotRadar_1.push(polarOpt);
+      }
+    });
+    option.polar = polarNotRadar_1;
+  }
+  each$f(option.series, function(seriesOpt) {
+    if (seriesOpt && seriesOpt.type === "radar" && seriesOpt.polarIndex) {
+      seriesOpt.radarIndex = seriesOpt.polarIndex;
+    }
+  });
+}
+var RadarView$2 = (
+  /** @class */
+  function(_super) {
+    __extends(RadarView2, _super);
+    function RadarView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = RadarView2.type;
+      return _this;
+    }
+    RadarView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var polar2 = seriesModel.coordinateSystem;
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      function createSymbol2(data3, idx) {
+        var symbolType = data3.getItemVisual(idx, "symbol") || "circle";
+        if (symbolType === "none") {
+          return;
+        }
+        var symbolSize = normalizeSymbolSize(data3.getItemVisual(idx, "symbolSize"));
+        var symbolPath = createSymbol$1(symbolType, -1, -1, 2, 2);
+        var symbolRotate = data3.getItemVisual(idx, "symbolRotate") || 0;
+        symbolPath.attr({
+          style: {
+            strokeNoScale: true
+          },
+          z2: 100,
+          scaleX: symbolSize[0] / 2,
+          scaleY: symbolSize[1] / 2,
+          rotation: symbolRotate * Math.PI / 180 || 0
+        });
+        return symbolPath;
+      }
+      function updateSymbols(oldPoints, newPoints, symbolGroup, data3, idx, isInit) {
+        symbolGroup.removeAll();
+        for (var i2 = 0; i2 < newPoints.length - 1; i2++) {
+          var symbolPath = createSymbol2(data3, idx);
+          if (symbolPath) {
+            symbolPath.__dimIdx = i2;
+            if (oldPoints[i2]) {
+              symbolPath.setPosition(oldPoints[i2]);
+              graphic$1[isInit ? "initProps" : "updateProps"](symbolPath, {
+                x: newPoints[i2][0],
+                y: newPoints[i2][1]
+              }, seriesModel, idx);
+            } else {
+              symbolPath.setPosition(newPoints[i2]);
+            }
+            symbolGroup.add(symbolPath);
+          }
+        }
+      }
+      function getInitialPoints(points2) {
+        return map$1(points2, function(pt) {
+          return [polar2.cx, polar2.cy];
+        });
+      }
+      data2.diff(oldData).add(function(idx) {
+        var points2 = data2.getItemLayout(idx);
+        if (!points2) {
+          return;
+        }
+        var polygon2 = new Polygon$1();
+        var polyline = new Polyline$3();
+        var target = {
+          shape: {
+            points: points2
+          }
+        };
+        polygon2.shape.points = getInitialPoints(points2);
+        polyline.shape.points = getInitialPoints(points2);
+        initProps(polygon2, target, seriesModel, idx);
+        initProps(polyline, target, seriesModel, idx);
+        var itemGroup = new Group$4();
+        var symbolGroup = new Group$4();
+        itemGroup.add(polyline);
+        itemGroup.add(polygon2);
+        itemGroup.add(symbolGroup);
+        updateSymbols(polyline.shape.points, points2, symbolGroup, data2, idx, true);
+        data2.setItemGraphicEl(idx, itemGroup);
+      }).update(function(newIdx, oldIdx) {
+        var itemGroup = oldData.getItemGraphicEl(oldIdx);
+        var polyline = itemGroup.childAt(0);
+        var polygon2 = itemGroup.childAt(1);
+        var symbolGroup = itemGroup.childAt(2);
+        var target = {
+          shape: {
+            points: data2.getItemLayout(newIdx)
+          }
+        };
+        if (!target.shape.points) {
+          return;
+        }
+        updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data2, newIdx, false);
+        saveOldStyle(polygon2);
+        saveOldStyle(polyline);
+        updateProps$1(polyline, target, seriesModel);
+        updateProps$1(polygon2, target, seriesModel);
+        data2.setItemGraphicEl(newIdx, itemGroup);
+      }).remove(function(idx) {
+        group.remove(oldData.getItemGraphicEl(idx));
+      }).execute();
+      data2.eachItemGraphicEl(function(itemGroup, idx) {
+        var itemModel = data2.getItemModel(idx);
+        var polyline = itemGroup.childAt(0);
+        var polygon2 = itemGroup.childAt(1);
+        var symbolGroup = itemGroup.childAt(2);
+        var itemStyle2 = data2.getItemVisual(idx, "style");
+        var color2 = itemStyle2.fill;
+        group.add(itemGroup);
+        polyline.useStyle(defaults$2(itemModel.getModel("lineStyle").getLineStyle(), {
+          fill: "none",
+          stroke: color2
+        }));
+        setStatesStylesFromModel(polyline, itemModel, "lineStyle");
+        setStatesStylesFromModel(polygon2, itemModel, "areaStyle");
+        var areaStyleModel = itemModel.getModel("areaStyle");
+        var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();
+        polygon2.ignore = polygonIgnore;
+        each$f(["emphasis", "select", "blur"], function(stateName) {
+          var stateModel = itemModel.getModel([stateName, "areaStyle"]);
+          var stateIgnore = stateModel.isEmpty() && stateModel.parentModel.isEmpty();
+          polygon2.ensureState(stateName).ignore = stateIgnore && polygonIgnore;
+        });
+        polygon2.useStyle(defaults$2(areaStyleModel.getAreaStyle(), {
+          fill: color2,
+          opacity: 0.7,
+          decal: itemStyle2.decal
+        }));
+        var emphasisModel = itemModel.getModel("emphasis");
+        var itemHoverStyle = emphasisModel.getModel("itemStyle").getItemStyle();
+        symbolGroup.eachChild(function(symbolPath) {
+          if (symbolPath instanceof ZRImage$1) {
+            var pathStyle = symbolPath.style;
+            symbolPath.useStyle(extend$1({
+              // TODO other properties like x, y ?
+              image: pathStyle.image,
+              x: pathStyle.x,
+              y: pathStyle.y,
+              width: pathStyle.width,
+              height: pathStyle.height
+            }, itemStyle2));
+          } else {
+            symbolPath.useStyle(itemStyle2);
+            symbolPath.setColor(color2);
+            symbolPath.style.strokeNoScale = true;
+          }
+          var pathEmphasisState = symbolPath.ensureState("emphasis");
+          pathEmphasisState.style = clone$4(itemHoverStyle);
+          var defaultText = data2.getStore().get(data2.getDimensionIndex(symbolPath.__dimIdx), idx);
+          (defaultText == null || isNaN(defaultText)) && (defaultText = "");
+          setLabelStyle(symbolPath, getLabelStatesModels(itemModel), {
+            labelFetcher: data2.hostModel,
+            labelDataIndex: idx,
+            labelDimIndex: symbolPath.__dimIdx,
+            defaultText,
+            inheritColor: color2,
+            defaultOpacity: itemStyle2.opacity
+          });
+        });
+        toggleHoverEmphasis(itemGroup, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+      });
+      this._data = data2;
+    };
+    RadarView2.prototype.remove = function() {
+      this.group.removeAll();
+      this._data = null;
+    };
+    RadarView2.type = "radar";
+    return RadarView2;
+  }(ChartView$1)
+);
+const RadarView$3 = RadarView$2;
+var RadarSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(RadarSeriesModel2, _super);
+    function RadarSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = RadarSeriesModel2.type;
+      _this.hasSymbolVisual = true;
+      return _this;
+    }
+    RadarSeriesModel2.prototype.init = function(option) {
+      _super.prototype.init.apply(this, arguments);
+      this.legendVisualProvider = new LegendVisualProvider$1(bind$2(this.getData, this), bind$2(this.getRawData, this));
+    };
+    RadarSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesDataSimply(this, {
+        generateCoord: "indicator_",
+        generateCoordCount: Infinity
+      });
+    };
+    RadarSeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var data2 = this.getData();
+      var coordSys = this.coordinateSystem;
+      var indicatorAxes = coordSys.getIndicatorAxes();
+      var name2 = this.getData().getName(dataIndex);
+      var nameToDisplay = name2 === "" ? this.name : name2;
+      var markerColor = retrieveVisualColorForTooltipMarker(this, dataIndex);
+      return createTooltipMarkup("section", {
+        header: nameToDisplay,
+        sortBlocks: true,
+        blocks: map$1(indicatorAxes, function(axis2) {
+          var val = data2.get(data2.mapDimension(axis2.dim), dataIndex);
+          return createTooltipMarkup("nameValue", {
+            markerType: "subItem",
+            markerColor,
+            name: axis2.name,
+            value: val,
+            sortParam: val
+          });
+        })
+      });
+    };
+    RadarSeriesModel2.prototype.getTooltipPosition = function(dataIndex) {
+      if (dataIndex != null) {
+        var data_1 = this.getData();
+        var coordSys = this.coordinateSystem;
+        var values = data_1.getValues(map$1(coordSys.dimensions, function(dim) {
+          return data_1.mapDimension(dim);
+        }), dataIndex);
+        for (var i2 = 0, len2 = values.length; i2 < len2; i2++) {
+          if (!isNaN(values[i2])) {
+            var indicatorAxes = coordSys.getIndicatorAxes();
+            return coordSys.coordToPoint(indicatorAxes[i2].dataToCoord(values[i2]), i2);
+          }
+        }
+      }
+    };
+    RadarSeriesModel2.type = "series.radar";
+    RadarSeriesModel2.dependencies = ["radar"];
+    RadarSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      colorBy: "data",
+      coordinateSystem: "radar",
+      legendHoverLink: true,
+      radarIndex: 0,
+      lineStyle: {
+        width: 2,
+        type: "solid",
+        join: "round"
+      },
+      label: {
+        position: "top"
+      },
+      // areaStyle: {
+      // },
+      // itemStyle: {}
+      symbolSize: 8
+      // symbolRotate: null
+    };
+    return RadarSeriesModel2;
+  }(SeriesModel$1)
+);
+const RadarSeriesModel$1 = RadarSeriesModel;
+var valueAxisDefault = axisDefault.value;
+function defaultsShow(opt, show2) {
+  return defaults$2({
+    show: show2
+  }, opt);
+}
+var RadarModel = (
+  /** @class */
+  function(_super) {
+    __extends(RadarModel2, _super);
+    function RadarModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = RadarModel2.type;
+      return _this;
+    }
+    RadarModel2.prototype.optionUpdated = function() {
+      var boundaryGap = this.get("boundaryGap");
+      var splitNumber = this.get("splitNumber");
+      var scale2 = this.get("scale");
+      var axisLine = this.get("axisLine");
+      var axisTick = this.get("axisTick");
+      var axisLabel = this.get("axisLabel");
+      var nameTextStyle = this.get("axisName");
+      var showName = this.get(["axisName", "show"]);
+      var nameFormatter = this.get(["axisName", "formatter"]);
+      var nameGap = this.get("axisNameGap");
+      var triggerEvent = this.get("triggerEvent");
+      var indicatorModels = map$1(this.get("indicator") || [], function(indicatorOpt) {
+        if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {
+          indicatorOpt.min = 0;
+        } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {
+          indicatorOpt.max = 0;
+        }
+        var iNameTextStyle = nameTextStyle;
+        if (indicatorOpt.color != null) {
+          iNameTextStyle = defaults$2({
+            color: indicatorOpt.color
+          }, nameTextStyle);
+        }
+        var innerIndicatorOpt = merge$1(clone$4(indicatorOpt), {
+          boundaryGap,
+          splitNumber,
+          scale: scale2,
+          axisLine,
+          axisTick,
+          // axisType: axisType,
+          axisLabel,
+          // Compatible with 2 and use text
+          name: indicatorOpt.text,
+          showName,
+          nameLocation: "end",
+          nameGap,
+          // min: 0,
+          nameTextStyle: iNameTextStyle,
+          triggerEvent
+        }, false);
+        if (isString$1(nameFormatter)) {
+          var indName = innerIndicatorOpt.name;
+          innerIndicatorOpt.name = nameFormatter.replace("{value}", indName != null ? indName : "");
+        } else if (isFunction$1(nameFormatter)) {
+          innerIndicatorOpt.name = nameFormatter(innerIndicatorOpt.name, innerIndicatorOpt);
+        }
+        var model2 = new Model$1(innerIndicatorOpt, null, this.ecModel);
+        mixin(model2, AxisModelCommonMixin.prototype);
+        model2.mainType = "radar";
+        model2.componentIndex = this.componentIndex;
+        return model2;
+      }, this);
+      this._indicatorModels = indicatorModels;
+    };
+    RadarModel2.prototype.getIndicatorModels = function() {
+      return this._indicatorModels;
+    };
+    RadarModel2.type = "radar";
+    RadarModel2.defaultOption = {
+      // zlevel: 0,
+      z: 0,
+      center: ["50%", "50%"],
+      radius: "75%",
+      startAngle: 90,
+      axisName: {
+        show: true
+        // formatter: null
+        // textStyle: {}
+      },
+      boundaryGap: [0, 0],
+      splitNumber: 5,
+      axisNameGap: 15,
+      scale: false,
+      // Polygon or circle
+      shape: "polygon",
+      axisLine: merge$1({
+        lineStyle: {
+          color: "#bbb"
+        }
+      }, valueAxisDefault.axisLine),
+      axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),
+      axisTick: defaultsShow(valueAxisDefault.axisTick, false),
+      // axisType: 'value',
+      splitLine: defaultsShow(valueAxisDefault.splitLine, true),
+      splitArea: defaultsShow(valueAxisDefault.splitArea, true),
+      // {text, min, max}
+      indicator: []
+    };
+    return RadarModel2;
+  }(ComponentModel$1)
+);
+const RadarModel$1 = RadarModel;
+var axisBuilderAttrs$2 = ["axisLine", "axisTickLabel", "axisName"];
+var RadarView = (
+  /** @class */
+  function(_super) {
+    __extends(RadarView2, _super);
+    function RadarView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = RadarView2.type;
+      return _this;
+    }
+    RadarView2.prototype.render = function(radarModel, ecModel, api2) {
+      var group = this.group;
+      group.removeAll();
+      this._buildAxes(radarModel);
+      this._buildSplitLineAndArea(radarModel);
+    };
+    RadarView2.prototype._buildAxes = function(radarModel) {
+      var radar2 = radarModel.coordinateSystem;
+      var indicatorAxes = radar2.getIndicatorAxes();
+      var axisBuilders = map$1(indicatorAxes, function(indicatorAxis) {
+        var axisName = indicatorAxis.model.get("showName") ? indicatorAxis.name : "";
+        var axisBuilder = new AxisBuilder$1(indicatorAxis.model, {
+          axisName,
+          position: [radar2.cx, radar2.cy],
+          rotation: indicatorAxis.angle,
+          labelDirection: -1,
+          tickDirection: -1,
+          nameDirection: 1
+        });
+        return axisBuilder;
+      });
+      each$f(axisBuilders, function(axisBuilder) {
+        each$f(axisBuilderAttrs$2, axisBuilder.add, axisBuilder);
+        this.group.add(axisBuilder.getGroup());
+      }, this);
+    };
+    RadarView2.prototype._buildSplitLineAndArea = function(radarModel) {
+      var radar2 = radarModel.coordinateSystem;
+      var indicatorAxes = radar2.getIndicatorAxes();
+      if (!indicatorAxes.length) {
+        return;
+      }
+      var shape = radarModel.get("shape");
+      var splitLineModel = radarModel.getModel("splitLine");
+      var splitAreaModel = radarModel.getModel("splitArea");
+      var lineStyleModel = splitLineModel.getModel("lineStyle");
+      var areaStyleModel = splitAreaModel.getModel("areaStyle");
+      var showSplitLine = splitLineModel.get("show");
+      var showSplitArea = splitAreaModel.get("show");
+      var splitLineColors = lineStyleModel.get("color");
+      var splitAreaColors = areaStyleModel.get("color");
+      var splitLineColorsArr = isArray$2(splitLineColors) ? splitLineColors : [splitLineColors];
+      var splitAreaColorsArr = isArray$2(splitAreaColors) ? splitAreaColors : [splitAreaColors];
+      var splitLines = [];
+      var splitAreas = [];
+      function getColorIndex(areaOrLine, areaOrLineColorList, idx) {
+        var colorIndex2 = idx % areaOrLineColorList.length;
+        areaOrLine[colorIndex2] = areaOrLine[colorIndex2] || [];
+        return colorIndex2;
+      }
+      if (shape === "circle") {
+        var ticksRadius = indicatorAxes[0].getTicksCoords();
+        var cx = radar2.cx;
+        var cy = radar2.cy;
+        for (var i2 = 0; i2 < ticksRadius.length; i2++) {
+          if (showSplitLine) {
+            var colorIndex = getColorIndex(splitLines, splitLineColorsArr, i2);
+            splitLines[colorIndex].push(new Circle$1({
+              shape: {
+                cx,
+                cy,
+                r: ticksRadius[i2].coord
+              }
+            }));
+          }
+          if (showSplitArea && i2 < ticksRadius.length - 1) {
+            var colorIndex = getColorIndex(splitAreas, splitAreaColorsArr, i2);
+            splitAreas[colorIndex].push(new Ring$1({
+              shape: {
+                cx,
+                cy,
+                r0: ticksRadius[i2].coord,
+                r: ticksRadius[i2 + 1].coord
+              }
+            }));
+          }
+        }
+      } else {
+        var realSplitNumber_1;
+        var axesTicksPoints = map$1(indicatorAxes, function(indicatorAxis, idx) {
+          var ticksCoords = indicatorAxis.getTicksCoords();
+          realSplitNumber_1 = realSplitNumber_1 == null ? ticksCoords.length - 1 : Math.min(ticksCoords.length - 1, realSplitNumber_1);
+          return map$1(ticksCoords, function(tickCoord) {
+            return radar2.coordToPoint(tickCoord.coord, idx);
+          });
+        });
+        var prevPoints = [];
+        for (var i2 = 0; i2 <= realSplitNumber_1; i2++) {
+          var points2 = [];
+          for (var j2 = 0; j2 < indicatorAxes.length; j2++) {
+            points2.push(axesTicksPoints[j2][i2]);
+          }
+          if (points2[0]) {
+            points2.push(points2[0].slice());
+          }
+          if (showSplitLine) {
+            var colorIndex = getColorIndex(splitLines, splitLineColorsArr, i2);
+            splitLines[colorIndex].push(new Polyline$3({
+              shape: {
+                points: points2
+              }
+            }));
+          }
+          if (showSplitArea && prevPoints) {
+            var colorIndex = getColorIndex(splitAreas, splitAreaColorsArr, i2 - 1);
+            splitAreas[colorIndex].push(new Polygon$1({
+              shape: {
+                points: points2.concat(prevPoints)
+              }
+            }));
+          }
+          prevPoints = points2.slice().reverse();
+        }
+      }
+      var lineStyle2 = lineStyleModel.getLineStyle();
+      var areaStyle2 = areaStyleModel.getAreaStyle();
+      each$f(splitAreas, function(splitAreas2, idx) {
+        this.group.add(mergePath(splitAreas2, {
+          style: defaults$2({
+            stroke: "none",
+            fill: splitAreaColorsArr[idx % splitAreaColorsArr.length]
+          }, areaStyle2),
+          silent: true
+        }));
+      }, this);
+      each$f(splitLines, function(splitLines2, idx) {
+        this.group.add(mergePath(splitLines2, {
+          style: defaults$2({
+            fill: "none",
+            stroke: splitLineColorsArr[idx % splitLineColorsArr.length]
+          }, lineStyle2),
+          silent: true
+        }));
+      }, this);
+    };
+    RadarView2.type = "radar";
+    return RadarView2;
+  }(ComponentView$1)
+);
+const RadarView$1 = RadarView;
+var IndicatorAxis = (
+  /** @class */
+  function(_super) {
+    __extends(IndicatorAxis2, _super);
+    function IndicatorAxis2(dim, scale2, radiusExtent) {
+      var _this = _super.call(this, dim, scale2, radiusExtent) || this;
+      _this.type = "value";
+      _this.angle = 0;
+      _this.name = "";
+      return _this;
+    }
+    return IndicatorAxis2;
+  }(Axis$1)
+);
+const IndicatorAxis$1 = IndicatorAxis;
+var Radar = (
+  /** @class */
+  function() {
+    function Radar2(radarModel, ecModel, api2) {
+      this.dimensions = [];
+      this._model = radarModel;
+      this._indicatorAxes = map$1(radarModel.getIndicatorModels(), function(indicatorModel, idx) {
+        var dim = "indicator_" + idx;
+        var indicatorAxis = new IndicatorAxis$1(
+          dim,
+          new IntervalScale$1()
+          // (indicatorModel.get('axisType') === 'log') ? new LogScale() : new IntervalScale()
+        );
+        indicatorAxis.name = indicatorModel.get("name");
+        indicatorAxis.model = indicatorModel;
+        indicatorModel.axis = indicatorAxis;
+        this.dimensions.push(dim);
+        return indicatorAxis;
+      }, this);
+      this.resize(radarModel, api2);
+    }
+    Radar2.prototype.getIndicatorAxes = function() {
+      return this._indicatorAxes;
+    };
+    Radar2.prototype.dataToPoint = function(value, indicatorIndex) {
+      var indicatorAxis = this._indicatorAxes[indicatorIndex];
+      return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);
+    };
+    Radar2.prototype.coordToPoint = function(coord, indicatorIndex) {
+      var indicatorAxis = this._indicatorAxes[indicatorIndex];
+      var angle = indicatorAxis.angle;
+      var x2 = this.cx + coord * Math.cos(angle);
+      var y2 = this.cy - coord * Math.sin(angle);
+      return [x2, y2];
+    };
+    Radar2.prototype.pointToData = function(pt) {
+      var dx = pt[0] - this.cx;
+      var dy = pt[1] - this.cy;
+      var radius = Math.sqrt(dx * dx + dy * dy);
+      dx /= radius;
+      dy /= radius;
+      var radian = Math.atan2(-dy, dx);
+      var minRadianDiff = Infinity;
+      var closestAxis;
+      var closestAxisIdx = -1;
+      for (var i2 = 0; i2 < this._indicatorAxes.length; i2++) {
+        var indicatorAxis = this._indicatorAxes[i2];
+        var diff = Math.abs(radian - indicatorAxis.angle);
+        if (diff < minRadianDiff) {
+          closestAxis = indicatorAxis;
+          closestAxisIdx = i2;
+          minRadianDiff = diff;
+        }
+      }
+      return [closestAxisIdx, +(closestAxis && closestAxis.coordToData(radius))];
+    };
+    Radar2.prototype.resize = function(radarModel, api2) {
+      var center2 = radarModel.get("center");
+      var viewWidth = api2.getWidth();
+      var viewHeight = api2.getHeight();
+      var viewSize = Math.min(viewWidth, viewHeight) / 2;
+      this.cx = parsePercent(center2[0], viewWidth);
+      this.cy = parsePercent(center2[1], viewHeight);
+      this.startAngle = radarModel.get("startAngle") * Math.PI / 180;
+      var radius = radarModel.get("radius");
+      if (isString$1(radius) || isNumber$1(radius)) {
+        radius = [0, radius];
+      }
+      this.r0 = parsePercent(radius[0], viewSize);
+      this.r = parsePercent(radius[1], viewSize);
+      each$f(this._indicatorAxes, function(indicatorAxis, idx) {
+        indicatorAxis.setExtent(this.r0, this.r);
+        var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length;
+        angle = Math.atan2(Math.sin(angle), Math.cos(angle));
+        indicatorAxis.angle = angle;
+      }, this);
+    };
+    Radar2.prototype.update = function(ecModel, api2) {
+      var indicatorAxes = this._indicatorAxes;
+      var radarModel = this._model;
+      each$f(indicatorAxes, function(indicatorAxis) {
+        indicatorAxis.scale.setExtent(Infinity, -Infinity);
+      });
+      ecModel.eachSeriesByType("radar", function(radarSeries, idx) {
+        if (radarSeries.get("coordinateSystem") !== "radar" || ecModel.getComponent("radar", radarSeries.get("radarIndex")) !== radarModel) {
+          return;
+        }
+        var data2 = radarSeries.getData();
+        each$f(indicatorAxes, function(indicatorAxis) {
+          indicatorAxis.scale.unionExtentFromData(data2, data2.mapDimension(indicatorAxis.dim));
+        });
+      }, this);
+      var splitNumber = radarModel.get("splitNumber");
+      var dummyScale = new IntervalScale$1();
+      dummyScale.setExtent(0, splitNumber);
+      dummyScale.setInterval(1);
+      each$f(indicatorAxes, function(indicatorAxis, idx) {
+        alignScaleTicks(indicatorAxis.scale, indicatorAxis.model, dummyScale);
+      });
+    };
+    Radar2.prototype.convertToPixel = function(ecModel, finder, value) {
+      console.warn("Not implemented.");
+      return null;
+    };
+    Radar2.prototype.convertFromPixel = function(ecModel, finder, pixel) {
+      console.warn("Not implemented.");
+      return null;
+    };
+    Radar2.prototype.containPoint = function(point) {
+      console.warn("Not implemented.");
+      return false;
+    };
+    Radar2.create = function(ecModel, api2) {
+      var radarList = [];
+      ecModel.eachComponent("radar", function(radarModel) {
+        var radar2 = new Radar2(radarModel, ecModel, api2);
+        radarList.push(radar2);
+        radarModel.coordinateSystem = radar2;
+      });
+      ecModel.eachSeriesByType("radar", function(radarSeries) {
+        if (radarSeries.get("coordinateSystem") === "radar") {
+          radarSeries.coordinateSystem = radarList[radarSeries.get("radarIndex") || 0];
+        }
+      });
+      return radarList;
+    };
+    Radar2.dimensions = [];
+    return Radar2;
+  }()
+);
+const Radar$1 = Radar;
+function install$L(registers) {
+  registers.registerCoordinateSystem("radar", Radar$1);
+  registers.registerComponentModel(RadarModel$1);
+  registers.registerComponentView(RadarView$1);
+  registers.registerVisual({
+    seriesType: "radar",
+    reset: function(seriesModel) {
+      var data2 = seriesModel.getData();
+      data2.each(function(idx) {
+        data2.setItemVisual(idx, "legendIcon", "roundRect");
+      });
+      data2.setVisual("legendIcon", "roundRect");
+    }
+  });
+}
+function install$K(registers) {
+  use(install$L);
+  registers.registerChartView(RadarView$3);
+  registers.registerSeriesModel(RadarSeriesModel$1);
+  registers.registerLayout(radarLayout);
+  registers.registerProcessor(dataFilter$1("radar"));
+  registers.registerPreprocessor(radarBackwardCompat);
+}
+var ATTR = "\0_ec_interaction_mutex";
+function take(zr, resourceKey, userKey) {
+  var store = getStore(zr);
+  store[resourceKey] = userKey;
+}
+function release(zr, resourceKey, userKey) {
+  var store = getStore(zr);
+  var uKey = store[resourceKey];
+  if (uKey === userKey) {
+    store[resourceKey] = null;
+  }
+}
+function isTaken(zr, resourceKey) {
+  return !!getStore(zr)[resourceKey];
+}
+function getStore(zr) {
+  return zr[ATTR] || (zr[ATTR] = {});
+}
+registerAction({
+  type: "takeGlobalCursor",
+  event: "globalCursorTaken",
+  update: "update"
+}, noop$1);
+var RoamController = (
+  /** @class */
+  function(_super) {
+    __extends(RoamController2, _super);
+    function RoamController2(zr) {
+      var _this = _super.call(this) || this;
+      _this._zr = zr;
+      var mousedownHandler = bind$2(_this._mousedownHandler, _this);
+      var mousemoveHandler = bind$2(_this._mousemoveHandler, _this);
+      var mouseupHandler = bind$2(_this._mouseupHandler, _this);
+      var mousewheelHandler = bind$2(_this._mousewheelHandler, _this);
+      var pinchHandler = bind$2(_this._pinchHandler, _this);
+      _this.enable = function(controlType, opt) {
+        this.disable();
+        this._opt = defaults$2(clone$4(opt) || {}, {
+          zoomOnMouseWheel: true,
+          moveOnMouseMove: true,
+          // By default, wheel do not trigger move.
+          moveOnMouseWheel: false,
+          preventDefaultMouseMove: true
+        });
+        if (controlType == null) {
+          controlType = true;
+        }
+        if (controlType === true || controlType === "move" || controlType === "pan") {
+          zr.on("mousedown", mousedownHandler);
+          zr.on("mousemove", mousemoveHandler);
+          zr.on("mouseup", mouseupHandler);
+        }
+        if (controlType === true || controlType === "scale" || controlType === "zoom") {
+          zr.on("mousewheel", mousewheelHandler);
+          zr.on("pinch", pinchHandler);
+        }
+      };
+      _this.disable = function() {
+        zr.off("mousedown", mousedownHandler);
+        zr.off("mousemove", mousemoveHandler);
+        zr.off("mouseup", mouseupHandler);
+        zr.off("mousewheel", mousewheelHandler);
+        zr.off("pinch", pinchHandler);
+      };
+      return _this;
+    }
+    RoamController2.prototype.isDragging = function() {
+      return this._dragging;
+    };
+    RoamController2.prototype.isPinching = function() {
+      return this._pinching;
+    };
+    RoamController2.prototype.setPointerChecker = function(pointerChecker) {
+      this.pointerChecker = pointerChecker;
+    };
+    RoamController2.prototype.dispose = function() {
+      this.disable();
+    };
+    RoamController2.prototype._mousedownHandler = function(e2) {
+      if (isMiddleOrRightButtonOnMouseUpDown(e2)) {
+        return;
+      }
+      var el = e2.target;
+      while (el) {
+        if (el.draggable) {
+          return;
+        }
+        el = el.__hostTarget || el.parent;
+      }
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      if (this.pointerChecker && this.pointerChecker(e2, x2, y2)) {
+        this._x = x2;
+        this._y = y2;
+        this._dragging = true;
+      }
+    };
+    RoamController2.prototype._mousemoveHandler = function(e2) {
+      if (!this._dragging || !isAvailableBehavior("moveOnMouseMove", e2, this._opt) || e2.gestureEvent === "pinch" || isTaken(this._zr, "globalPan")) {
+        return;
+      }
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      var oldX = this._x;
+      var oldY = this._y;
+      var dx = x2 - oldX;
+      var dy = y2 - oldY;
+      this._x = x2;
+      this._y = y2;
+      this._opt.preventDefaultMouseMove && stop(e2.event);
+      trigger$1(this, "pan", "moveOnMouseMove", e2, {
+        dx,
+        dy,
+        oldX,
+        oldY,
+        newX: x2,
+        newY: y2,
+        isAvailableBehavior: null
+      });
+    };
+    RoamController2.prototype._mouseupHandler = function(e2) {
+      if (!isMiddleOrRightButtonOnMouseUpDown(e2)) {
+        this._dragging = false;
+      }
+    };
+    RoamController2.prototype._mousewheelHandler = function(e2) {
+      var shouldZoom = isAvailableBehavior("zoomOnMouseWheel", e2, this._opt);
+      var shouldMove = isAvailableBehavior("moveOnMouseWheel", e2, this._opt);
+      var wheelDelta = e2.wheelDelta;
+      var absWheelDeltaDelta = Math.abs(wheelDelta);
+      var originX = e2.offsetX;
+      var originY = e2.offsetY;
+      if (wheelDelta === 0 || !shouldZoom && !shouldMove) {
+        return;
+      }
+      if (shouldZoom) {
+        var factor = absWheelDeltaDelta > 3 ? 1.4 : absWheelDeltaDelta > 1 ? 1.2 : 1.1;
+        var scale2 = wheelDelta > 0 ? factor : 1 / factor;
+        checkPointerAndTrigger(this, "zoom", "zoomOnMouseWheel", e2, {
+          scale: scale2,
+          originX,
+          originY,
+          isAvailableBehavior: null
+        });
+      }
+      if (shouldMove) {
+        var absDelta = Math.abs(wheelDelta);
+        var scrollDelta = (wheelDelta > 0 ? 1 : -1) * (absDelta > 3 ? 0.4 : absDelta > 1 ? 0.15 : 0.05);
+        checkPointerAndTrigger(this, "scrollMove", "moveOnMouseWheel", e2, {
+          scrollDelta,
+          originX,
+          originY,
+          isAvailableBehavior: null
+        });
+      }
+    };
+    RoamController2.prototype._pinchHandler = function(e2) {
+      if (isTaken(this._zr, "globalPan")) {
+        return;
+      }
+      var scale2 = e2.pinchScale > 1 ? 1.1 : 1 / 1.1;
+      checkPointerAndTrigger(this, "zoom", null, e2, {
+        scale: scale2,
+        originX: e2.pinchX,
+        originY: e2.pinchY,
+        isAvailableBehavior: null
+      });
+    };
+    return RoamController2;
+  }(Eventful$1)
+);
+function checkPointerAndTrigger(controller, eventName, behaviorToCheck, e2, contollerEvent) {
+  if (controller.pointerChecker && controller.pointerChecker(e2, contollerEvent.originX, contollerEvent.originY)) {
+    stop(e2.event);
+    trigger$1(controller, eventName, behaviorToCheck, e2, contollerEvent);
+  }
+}
+function trigger$1(controller, eventName, behaviorToCheck, e2, contollerEvent) {
+  contollerEvent.isAvailableBehavior = bind$2(isAvailableBehavior, null, behaviorToCheck, e2);
+  controller.trigger(eventName, contollerEvent);
+}
+function isAvailableBehavior(behaviorToCheck, e2, settings) {
+  var setting = settings[behaviorToCheck];
+  return !behaviorToCheck || setting && (!isString$1(setting) || e2.event[setting + "Key"]);
+}
+const RoamController$1 = RoamController;
+function updateViewOnPan(controllerHost, dx, dy) {
+  var target = controllerHost.target;
+  target.x += dx;
+  target.y += dy;
+  target.dirty();
+}
+function updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {
+  var target = controllerHost.target;
+  var zoomLimit = controllerHost.zoomLimit;
+  var newZoom = controllerHost.zoom = controllerHost.zoom || 1;
+  newZoom *= zoomDelta;
+  if (zoomLimit) {
+    var zoomMin = zoomLimit.min || 0;
+    var zoomMax = zoomLimit.max || Infinity;
+    newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);
+  }
+  var zoomScale = newZoom / controllerHost.zoom;
+  controllerHost.zoom = newZoom;
+  target.x -= (zoomX - target.x) * (zoomScale - 1);
+  target.y -= (zoomY - target.y) * (zoomScale - 1);
+  target.scaleX *= zoomScale;
+  target.scaleY *= zoomScale;
+  target.dirty();
+}
+var IRRELEVANT_EXCLUDES = {
+  "axisPointer": 1,
+  "tooltip": 1,
+  "brush": 1
+};
+function onIrrelevantElement(e2, api2, targetCoordSysModel) {
+  var model2 = api2.getComponentByElement(e2.topTarget);
+  var coordSys = model2 && model2.coordinateSystem;
+  return model2 && model2 !== targetCoordSysModel && !IRRELEVANT_EXCLUDES.hasOwnProperty(model2.mainType) && coordSys && coordSys.model !== targetCoordSysModel;
+}
+function parseXML(svg2) {
+  if (isString$1(svg2)) {
+    var parser2 = new DOMParser();
+    svg2 = parser2.parseFromString(svg2, "text/xml");
+  }
+  var svgNode = svg2;
+  if (svgNode.nodeType === 9) {
+    svgNode = svgNode.firstChild;
+  }
+  while (svgNode.nodeName.toLowerCase() !== "svg" || svgNode.nodeType !== 1) {
+    svgNode = svgNode.nextSibling;
+  }
+  return svgNode;
+}
+var nodeParsers;
+var INHERITABLE_STYLE_ATTRIBUTES_MAP = {
+  "fill": "fill",
+  "stroke": "stroke",
+  "stroke-width": "lineWidth",
+  "opacity": "opacity",
+  "fill-opacity": "fillOpacity",
+  "stroke-opacity": "strokeOpacity",
+  "stroke-dasharray": "lineDash",
+  "stroke-dashoffset": "lineDashOffset",
+  "stroke-linecap": "lineCap",
+  "stroke-linejoin": "lineJoin",
+  "stroke-miterlimit": "miterLimit",
+  "font-family": "fontFamily",
+  "font-size": "fontSize",
+  "font-style": "fontStyle",
+  "font-weight": "fontWeight",
+  "text-anchor": "textAlign",
+  "visibility": "visibility",
+  "display": "display"
+};
+var INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS = keys(INHERITABLE_STYLE_ATTRIBUTES_MAP);
+var SELF_STYLE_ATTRIBUTES_MAP = {
+  "alignment-baseline": "textBaseline",
+  "stop-color": "stopColor"
+};
+var SELF_STYLE_ATTRIBUTES_MAP_KEYS = keys(SELF_STYLE_ATTRIBUTES_MAP);
+var SVGParser = function() {
+  function SVGParser2() {
+    this._defs = {};
+    this._root = null;
+  }
+  SVGParser2.prototype.parse = function(xml, opt) {
+    opt = opt || {};
+    var svg2 = parseXML(xml);
+    this._defsUsePending = [];
+    var root = new Group$4();
+    this._root = root;
+    var named = [];
+    var viewBox = svg2.getAttribute("viewBox") || "";
+    var width = parseFloat(svg2.getAttribute("width") || opt.width);
+    var height = parseFloat(svg2.getAttribute("height") || opt.height);
+    isNaN(width) && (width = null);
+    isNaN(height) && (height = null);
+    parseAttributes(svg2, root, null, true, false);
+    var child = svg2.firstChild;
+    while (child) {
+      this._parseNode(child, root, named, null, false, false);
+      child = child.nextSibling;
+    }
+    applyDefs(this._defs, this._defsUsePending);
+    this._defsUsePending = [];
+    var viewBoxRect;
+    var viewBoxTransform;
+    if (viewBox) {
+      var viewBoxArr = splitNumberSequence(viewBox);
+      if (viewBoxArr.length >= 4) {
+        viewBoxRect = {
+          x: parseFloat(viewBoxArr[0] || 0),
+          y: parseFloat(viewBoxArr[1] || 0),
+          width: parseFloat(viewBoxArr[2]),
+          height: parseFloat(viewBoxArr[3])
+        };
+      }
+    }
+    if (viewBoxRect && width != null && height != null) {
+      viewBoxTransform = makeViewBoxTransform(viewBoxRect, { x: 0, y: 0, width, height });
+      if (!opt.ignoreViewBox) {
+        var elRoot = root;
+        root = new Group$4();
+        root.add(elRoot);
+        elRoot.scaleX = elRoot.scaleY = viewBoxTransform.scale;
+        elRoot.x = viewBoxTransform.x;
+        elRoot.y = viewBoxTransform.y;
+      }
+    }
+    if (!opt.ignoreRootClip && width != null && height != null) {
+      root.setClipPath(new Rect$3({
+        shape: { x: 0, y: 0, width, height }
+      }));
+    }
+    return {
+      root,
+      width,
+      height,
+      viewBoxRect,
+      viewBoxTransform,
+      named
+    };
+  };
+  SVGParser2.prototype._parseNode = function(xmlNode, parentGroup, named, namedFrom, isInDefs, isInText) {
+    var nodeName = xmlNode.nodeName.toLowerCase();
+    var el;
+    var namedFromForSub = namedFrom;
+    if (nodeName === "defs") {
+      isInDefs = true;
+    }
+    if (nodeName === "text") {
+      isInText = true;
+    }
+    if (nodeName === "defs" || nodeName === "switch") {
+      el = parentGroup;
+    } else {
+      if (!isInDefs) {
+        var parser_1 = nodeParsers[nodeName];
+        if (parser_1 && hasOwn(nodeParsers, nodeName)) {
+          el = parser_1.call(this, xmlNode, parentGroup);
+          var nameAttr = xmlNode.getAttribute("name");
+          if (nameAttr) {
+            var newNamed = {
+              name: nameAttr,
+              namedFrom: null,
+              svgNodeTagLower: nodeName,
+              el
+            };
+            named.push(newNamed);
+            if (nodeName === "g") {
+              namedFromForSub = newNamed;
+            }
+          } else if (namedFrom) {
+            named.push({
+              name: namedFrom.name,
+              namedFrom,
+              svgNodeTagLower: nodeName,
+              el
+            });
+          }
+          parentGroup.add(el);
+        }
+      }
+      var parser2 = paintServerParsers[nodeName];
+      if (parser2 && hasOwn(paintServerParsers, nodeName)) {
+        var def = parser2.call(this, xmlNode);
+        var id = xmlNode.getAttribute("id");
+        if (id) {
+          this._defs[id] = def;
+        }
+      }
+    }
+    if (el && el.isGroup) {
+      var child = xmlNode.firstChild;
+      while (child) {
+        if (child.nodeType === 1) {
+          this._parseNode(child, el, named, namedFromForSub, isInDefs, isInText);
+        } else if (child.nodeType === 3 && isInText) {
+          this._parseText(child, el);
+        }
+        child = child.nextSibling;
+      }
+    }
+  };
+  SVGParser2.prototype._parseText = function(xmlNode, parentGroup) {
+    var text2 = new TSpan$1({
+      style: {
+        text: xmlNode.textContent
+      },
+      silent: true,
+      x: this._textX || 0,
+      y: this._textY || 0
+    });
+    inheritStyle(parentGroup, text2);
+    parseAttributes(xmlNode, text2, this._defsUsePending, false, false);
+    applyTextAlignment(text2, parentGroup);
+    var textStyle2 = text2.style;
+    var fontSize = textStyle2.fontSize;
+    if (fontSize && fontSize < 9) {
+      textStyle2.fontSize = 9;
+      text2.scaleX *= fontSize / 9;
+      text2.scaleY *= fontSize / 9;
+    }
+    var font = (textStyle2.fontSize || textStyle2.fontFamily) && [
+      textStyle2.fontStyle,
+      textStyle2.fontWeight,
+      (textStyle2.fontSize || 12) + "px",
+      textStyle2.fontFamily || "sans-serif"
+    ].join(" ");
+    textStyle2.font = font;
+    var rect = text2.getBoundingRect();
+    this._textX += rect.width;
+    parentGroup.add(text2);
+    return text2;
+  };
+  SVGParser2.internalField = function() {
+    nodeParsers = {
+      "g": function(xmlNode, parentGroup) {
+        var g2 = new Group$4();
+        inheritStyle(parentGroup, g2);
+        parseAttributes(xmlNode, g2, this._defsUsePending, false, false);
+        return g2;
+      },
+      "rect": function(xmlNode, parentGroup) {
+        var rect = new Rect$3();
+        inheritStyle(parentGroup, rect);
+        parseAttributes(xmlNode, rect, this._defsUsePending, false, false);
+        rect.setShape({
+          x: parseFloat(xmlNode.getAttribute("x") || "0"),
+          y: parseFloat(xmlNode.getAttribute("y") || "0"),
+          width: parseFloat(xmlNode.getAttribute("width") || "0"),
+          height: parseFloat(xmlNode.getAttribute("height") || "0")
+        });
+        rect.silent = true;
+        return rect;
+      },
+      "circle": function(xmlNode, parentGroup) {
+        var circle = new Circle$1();
+        inheritStyle(parentGroup, circle);
+        parseAttributes(xmlNode, circle, this._defsUsePending, false, false);
+        circle.setShape({
+          cx: parseFloat(xmlNode.getAttribute("cx") || "0"),
+          cy: parseFloat(xmlNode.getAttribute("cy") || "0"),
+          r: parseFloat(xmlNode.getAttribute("r") || "0")
+        });
+        circle.silent = true;
+        return circle;
+      },
+      "line": function(xmlNode, parentGroup) {
+        var line2 = new Line$3();
+        inheritStyle(parentGroup, line2);
+        parseAttributes(xmlNode, line2, this._defsUsePending, false, false);
+        line2.setShape({
+          x1: parseFloat(xmlNode.getAttribute("x1") || "0"),
+          y1: parseFloat(xmlNode.getAttribute("y1") || "0"),
+          x2: parseFloat(xmlNode.getAttribute("x2") || "0"),
+          y2: parseFloat(xmlNode.getAttribute("y2") || "0")
+        });
+        line2.silent = true;
+        return line2;
+      },
+      "ellipse": function(xmlNode, parentGroup) {
+        var ellipse = new Ellipse$1();
+        inheritStyle(parentGroup, ellipse);
+        parseAttributes(xmlNode, ellipse, this._defsUsePending, false, false);
+        ellipse.setShape({
+          cx: parseFloat(xmlNode.getAttribute("cx") || "0"),
+          cy: parseFloat(xmlNode.getAttribute("cy") || "0"),
+          rx: parseFloat(xmlNode.getAttribute("rx") || "0"),
+          ry: parseFloat(xmlNode.getAttribute("ry") || "0")
+        });
+        ellipse.silent = true;
+        return ellipse;
+      },
+      "polygon": function(xmlNode, parentGroup) {
+        var pointsStr = xmlNode.getAttribute("points");
+        var pointsArr;
+        if (pointsStr) {
+          pointsArr = parsePoints(pointsStr);
+        }
+        var polygon2 = new Polygon$1({
+          shape: {
+            points: pointsArr || []
+          },
+          silent: true
+        });
+        inheritStyle(parentGroup, polygon2);
+        parseAttributes(xmlNode, polygon2, this._defsUsePending, false, false);
+        return polygon2;
+      },
+      "polyline": function(xmlNode, parentGroup) {
+        var pointsStr = xmlNode.getAttribute("points");
+        var pointsArr;
+        if (pointsStr) {
+          pointsArr = parsePoints(pointsStr);
+        }
+        var polyline = new Polyline$3({
+          shape: {
+            points: pointsArr || []
+          },
+          silent: true
+        });
+        inheritStyle(parentGroup, polyline);
+        parseAttributes(xmlNode, polyline, this._defsUsePending, false, false);
+        return polyline;
+      },
+      "image": function(xmlNode, parentGroup) {
+        var img = new ZRImage$1();
+        inheritStyle(parentGroup, img);
+        parseAttributes(xmlNode, img, this._defsUsePending, false, false);
+        img.setStyle({
+          image: xmlNode.getAttribute("xlink:href") || xmlNode.getAttribute("href"),
+          x: +xmlNode.getAttribute("x"),
+          y: +xmlNode.getAttribute("y"),
+          width: +xmlNode.getAttribute("width"),
+          height: +xmlNode.getAttribute("height")
+        });
+        img.silent = true;
+        return img;
+      },
+      "text": function(xmlNode, parentGroup) {
+        var x2 = xmlNode.getAttribute("x") || "0";
+        var y2 = xmlNode.getAttribute("y") || "0";
+        var dx = xmlNode.getAttribute("dx") || "0";
+        var dy = xmlNode.getAttribute("dy") || "0";
+        this._textX = parseFloat(x2) + parseFloat(dx);
+        this._textY = parseFloat(y2) + parseFloat(dy);
+        var g2 = new Group$4();
+        inheritStyle(parentGroup, g2);
+        parseAttributes(xmlNode, g2, this._defsUsePending, false, true);
+        return g2;
+      },
+      "tspan": function(xmlNode, parentGroup) {
+        var x2 = xmlNode.getAttribute("x");
+        var y2 = xmlNode.getAttribute("y");
+        if (x2 != null) {
+          this._textX = parseFloat(x2);
+        }
+        if (y2 != null) {
+          this._textY = parseFloat(y2);
+        }
+        var dx = xmlNode.getAttribute("dx") || "0";
+        var dy = xmlNode.getAttribute("dy") || "0";
+        var g2 = new Group$4();
+        inheritStyle(parentGroup, g2);
+        parseAttributes(xmlNode, g2, this._defsUsePending, false, true);
+        this._textX += parseFloat(dx);
+        this._textY += parseFloat(dy);
+        return g2;
+      },
+      "path": function(xmlNode, parentGroup) {
+        var d2 = xmlNode.getAttribute("d") || "";
+        var path2 = createFromString(d2);
+        inheritStyle(parentGroup, path2);
+        parseAttributes(xmlNode, path2, this._defsUsePending, false, false);
+        path2.silent = true;
+        return path2;
+      }
+    };
+  }();
+  return SVGParser2;
+}();
+var paintServerParsers = {
+  "lineargradient": function(xmlNode) {
+    var x1 = parseInt(xmlNode.getAttribute("x1") || "0", 10);
+    var y1 = parseInt(xmlNode.getAttribute("y1") || "0", 10);
+    var x2 = parseInt(xmlNode.getAttribute("x2") || "10", 10);
+    var y2 = parseInt(xmlNode.getAttribute("y2") || "0", 10);
+    var gradient = new LinearGradient$1(x1, y1, x2, y2);
+    parsePaintServerUnit(xmlNode, gradient);
+    parseGradientColorStops(xmlNode, gradient);
+    return gradient;
+  },
+  "radialgradient": function(xmlNode) {
+    var cx = parseInt(xmlNode.getAttribute("cx") || "0", 10);
+    var cy = parseInt(xmlNode.getAttribute("cy") || "0", 10);
+    var r2 = parseInt(xmlNode.getAttribute("r") || "0", 10);
+    var gradient = new RadialGradient$1(cx, cy, r2);
+    parsePaintServerUnit(xmlNode, gradient);
+    parseGradientColorStops(xmlNode, gradient);
+    return gradient;
+  }
+};
+function parsePaintServerUnit(xmlNode, gradient) {
+  var gradientUnits = xmlNode.getAttribute("gradientUnits");
+  if (gradientUnits === "userSpaceOnUse") {
+    gradient.global = true;
+  }
+}
+function parseGradientColorStops(xmlNode, gradient) {
+  var stop2 = xmlNode.firstChild;
+  while (stop2) {
+    if (stop2.nodeType === 1 && stop2.nodeName.toLocaleLowerCase() === "stop") {
+      var offsetStr = stop2.getAttribute("offset");
+      var offset2 = void 0;
+      if (offsetStr && offsetStr.indexOf("%") > 0) {
+        offset2 = parseInt(offsetStr, 10) / 100;
+      } else if (offsetStr) {
+        offset2 = parseFloat(offsetStr);
+      } else {
+        offset2 = 0;
+      }
+      var styleVals = {};
+      parseInlineStyle(stop2, styleVals, styleVals);
+      var stopColor = styleVals.stopColor || stop2.getAttribute("stop-color") || "#000000";
+      gradient.colorStops.push({
+        offset: offset2,
+        color: stopColor
+      });
+    }
+    stop2 = stop2.nextSibling;
+  }
+}
+function inheritStyle(parent3, child) {
+  if (parent3 && parent3.__inheritedStyle) {
+    if (!child.__inheritedStyle) {
+      child.__inheritedStyle = {};
+    }
+    defaults$2(child.__inheritedStyle, parent3.__inheritedStyle);
+  }
+}
+function parsePoints(pointsString) {
+  var list2 = splitNumberSequence(pointsString);
+  var points2 = [];
+  for (var i2 = 0; i2 < list2.length; i2 += 2) {
+    var x2 = parseFloat(list2[i2]);
+    var y2 = parseFloat(list2[i2 + 1]);
+    points2.push([x2, y2]);
+  }
+  return points2;
+}
+function parseAttributes(xmlNode, el, defsUsePending, onlyInlineStyle, isTextGroup) {
+  var disp = el;
+  var inheritedStyle = disp.__inheritedStyle = disp.__inheritedStyle || {};
+  var selfStyle = {};
+  if (xmlNode.nodeType === 1) {
+    parseTransformAttribute(xmlNode, el);
+    parseInlineStyle(xmlNode, inheritedStyle, selfStyle);
+    if (!onlyInlineStyle) {
+      parseAttributeStyle(xmlNode, inheritedStyle, selfStyle);
+    }
+  }
+  disp.style = disp.style || {};
+  if (inheritedStyle.fill != null) {
+    disp.style.fill = getFillStrokeStyle(disp, "fill", inheritedStyle.fill, defsUsePending);
+  }
+  if (inheritedStyle.stroke != null) {
+    disp.style.stroke = getFillStrokeStyle(disp, "stroke", inheritedStyle.stroke, defsUsePending);
+  }
+  each$f([
+    "lineWidth",
+    "opacity",
+    "fillOpacity",
+    "strokeOpacity",
+    "miterLimit",
+    "fontSize"
+  ], function(propName) {
+    if (inheritedStyle[propName] != null) {
+      disp.style[propName] = parseFloat(inheritedStyle[propName]);
+    }
+  });
+  each$f([
+    "lineDashOffset",
+    "lineCap",
+    "lineJoin",
+    "fontWeight",
+    "fontFamily",
+    "fontStyle",
+    "textAlign"
+  ], function(propName) {
+    if (inheritedStyle[propName] != null) {
+      disp.style[propName] = inheritedStyle[propName];
+    }
+  });
+  if (isTextGroup) {
+    disp.__selfStyle = selfStyle;
+  }
+  if (inheritedStyle.lineDash) {
+    disp.style.lineDash = map$1(splitNumberSequence(inheritedStyle.lineDash), function(str) {
+      return parseFloat(str);
+    });
+  }
+  if (inheritedStyle.visibility === "hidden" || inheritedStyle.visibility === "collapse") {
+    disp.invisible = true;
+  }
+  if (inheritedStyle.display === "none") {
+    disp.ignore = true;
+  }
+}
+function applyTextAlignment(text2, parentGroup) {
+  var parentSelfStyle = parentGroup.__selfStyle;
+  if (parentSelfStyle) {
+    var textBaseline = parentSelfStyle.textBaseline;
+    var zrTextBaseline = textBaseline;
+    if (!textBaseline || textBaseline === "auto") {
+      zrTextBaseline = "alphabetic";
+    } else if (textBaseline === "baseline") {
+      zrTextBaseline = "alphabetic";
+    } else if (textBaseline === "before-edge" || textBaseline === "text-before-edge") {
+      zrTextBaseline = "top";
+    } else if (textBaseline === "after-edge" || textBaseline === "text-after-edge") {
+      zrTextBaseline = "bottom";
+    } else if (textBaseline === "central" || textBaseline === "mathematical") {
+      zrTextBaseline = "middle";
+    }
+    text2.style.textBaseline = zrTextBaseline;
+  }
+  var parentInheritedStyle = parentGroup.__inheritedStyle;
+  if (parentInheritedStyle) {
+    var textAlign = parentInheritedStyle.textAlign;
+    var zrTextAlign = textAlign;
+    if (textAlign) {
+      if (textAlign === "middle") {
+        zrTextAlign = "center";
+      }
+      text2.style.textAlign = zrTextAlign;
+    }
+  }
+}
+var urlRegex = /^url\(\s*#(.*?)\)/;
+function getFillStrokeStyle(el, method, str, defsUsePending) {
+  var urlMatch = str && str.match(urlRegex);
+  if (urlMatch) {
+    var url = trim$2(urlMatch[1]);
+    defsUsePending.push([el, method, url]);
+    return;
+  }
+  if (str === "none") {
+    str = null;
+  }
+  return str;
+}
+function applyDefs(defs, defsUsePending) {
+  for (var i2 = 0; i2 < defsUsePending.length; i2++) {
+    var item = defsUsePending[i2];
+    item[0].style[item[1]] = defs[item[2]];
+  }
+}
+var numberReg = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;
+function splitNumberSequence(rawStr) {
+  return rawStr.match(numberReg) || [];
+}
+var transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g;
+var DEGREE_TO_ANGLE = Math.PI / 180;
+function parseTransformAttribute(xmlNode, node) {
+  var transform3 = xmlNode.getAttribute("transform");
+  if (transform3) {
+    transform3 = transform3.replace(/,/g, " ");
+    var transformOps_1 = [];
+    var mt = null;
+    transform3.replace(transformRegex, function(str, type3, value2) {
+      transformOps_1.push(type3, value2);
+      return "";
+    });
+    for (var i2 = transformOps_1.length - 1; i2 > 0; i2 -= 2) {
+      var value = transformOps_1[i2];
+      var type2 = transformOps_1[i2 - 1];
+      var valueArr = splitNumberSequence(value);
+      mt = mt || create$1();
+      switch (type2) {
+        case "translate":
+          translate(mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || "0")]);
+          break;
+        case "scale":
+          scale$1(mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || valueArr[0])]);
+          break;
+        case "rotate":
+          rotate(mt, mt, -parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);
+          break;
+        case "skewX":
+          var sx = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);
+          mul(mt, [1, 0, sx, 1, 0, 0], mt);
+          break;
+        case "skewY":
+          var sy = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);
+          mul(mt, [1, sy, 0, 1, 0, 0], mt);
+          break;
+        case "matrix":
+          mt[0] = parseFloat(valueArr[0]);
+          mt[1] = parseFloat(valueArr[1]);
+          mt[2] = parseFloat(valueArr[2]);
+          mt[3] = parseFloat(valueArr[3]);
+          mt[4] = parseFloat(valueArr[4]);
+          mt[5] = parseFloat(valueArr[5]);
+          break;
+      }
+    }
+    node.setLocalTransform(mt);
+  }
+}
+var styleRegex = /([^\s:;]+)\s*:\s*([^:;]+)/g;
+function parseInlineStyle(xmlNode, inheritableStyleResult, selfStyleResult) {
+  var style2 = xmlNode.getAttribute("style");
+  if (!style2) {
+    return;
+  }
+  styleRegex.lastIndex = 0;
+  var styleRegResult;
+  while ((styleRegResult = styleRegex.exec(style2)) != null) {
+    var svgStlAttr = styleRegResult[1];
+    var zrInheritableStlAttr = hasOwn(INHERITABLE_STYLE_ATTRIBUTES_MAP, svgStlAttr) ? INHERITABLE_STYLE_ATTRIBUTES_MAP[svgStlAttr] : null;
+    if (zrInheritableStlAttr) {
+      inheritableStyleResult[zrInheritableStlAttr] = styleRegResult[2];
+    }
+    var zrSelfStlAttr = hasOwn(SELF_STYLE_ATTRIBUTES_MAP, svgStlAttr) ? SELF_STYLE_ATTRIBUTES_MAP[svgStlAttr] : null;
+    if (zrSelfStlAttr) {
+      selfStyleResult[zrSelfStlAttr] = styleRegResult[2];
+    }
+  }
+}
+function parseAttributeStyle(xmlNode, inheritableStyleResult, selfStyleResult) {
+  for (var i2 = 0; i2 < INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS.length; i2++) {
+    var svgAttrName = INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS[i2];
+    var attrValue = xmlNode.getAttribute(svgAttrName);
+    if (attrValue != null) {
+      inheritableStyleResult[INHERITABLE_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;
+    }
+  }
+  for (var i2 = 0; i2 < SELF_STYLE_ATTRIBUTES_MAP_KEYS.length; i2++) {
+    var svgAttrName = SELF_STYLE_ATTRIBUTES_MAP_KEYS[i2];
+    var attrValue = xmlNode.getAttribute(svgAttrName);
+    if (attrValue != null) {
+      selfStyleResult[SELF_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;
+    }
+  }
+}
+function makeViewBoxTransform(viewBoxRect, boundingRect) {
+  var scaleX = boundingRect.width / viewBoxRect.width;
+  var scaleY = boundingRect.height / viewBoxRect.height;
+  var scale2 = Math.min(scaleX, scaleY);
+  return {
+    scale: scale2,
+    x: -(viewBoxRect.x + viewBoxRect.width / 2) * scale2 + (boundingRect.x + boundingRect.width / 2),
+    y: -(viewBoxRect.y + viewBoxRect.height / 2) * scale2 + (boundingRect.y + boundingRect.height / 2)
+  };
+}
+function parseSVG(xml, opt) {
+  var parser2 = new SVGParser();
+  return parser2.parse(xml, opt);
+}
+var REGION_AVAILABLE_SVG_TAG_MAP = createHashMap([
+  "rect",
+  "circle",
+  "line",
+  "ellipse",
+  "polygon",
+  "polyline",
+  "path",
+  // <text> <tspan> are also enabled because some SVG might paint text itself,
+  // but still need to trigger events or tooltip.
+  "text",
+  "tspan",
+  // <g> is also enabled because this case: if multiple tags share one name
+  // and need label displayed, every tags will display the name, which is not
+  // expected. So we can put them into a <g name="xxx">. Thereby only one label
+  // displayed and located based on the bounding rect of the <g>.
+  "g"
+]);
+var GeoSVGResource = (
+  /** @class */
+  function() {
+    function GeoSVGResource2(mapName, svg2) {
+      this.type = "geoSVG";
+      this._usedGraphicMap = createHashMap();
+      this._freedGraphics = [];
+      this._mapName = mapName;
+      this._parsedXML = parseXML(svg2);
+    }
+    GeoSVGResource2.prototype.load = function() {
+      var firstGraphic = this._firstGraphic;
+      if (!firstGraphic) {
+        firstGraphic = this._firstGraphic = this._buildGraphic(this._parsedXML);
+        this._freedGraphics.push(firstGraphic);
+        this._boundingRect = this._firstGraphic.boundingRect.clone();
+        var _a2 = createRegions(firstGraphic.named), regions = _a2.regions, regionsMap = _a2.regionsMap;
+        this._regions = regions;
+        this._regionsMap = regionsMap;
+      }
+      return {
+        boundingRect: this._boundingRect,
+        regions: this._regions,
+        regionsMap: this._regionsMap
+      };
+    };
+    GeoSVGResource2.prototype._buildGraphic = function(svgXML) {
+      var result2;
+      var rootFromParse;
+      try {
+        result2 = svgXML && parseSVG(svgXML, {
+          ignoreViewBox: true,
+          ignoreRootClip: true
+        }) || {};
+        rootFromParse = result2.root;
+        assert(rootFromParse != null);
+      } catch (e2) {
+        throw new Error("Invalid svg format\n" + e2.message);
+      }
+      var root = new Group$4();
+      root.add(rootFromParse);
+      root.isGeoSVGGraphicRoot = true;
+      var svgWidth = result2.width;
+      var svgHeight = result2.height;
+      var viewBoxRect = result2.viewBoxRect;
+      var boundingRect = this._boundingRect;
+      if (!boundingRect) {
+        var bRectX = void 0;
+        var bRectY = void 0;
+        var bRectWidth = void 0;
+        var bRectHeight = void 0;
+        if (svgWidth != null) {
+          bRectX = 0;
+          bRectWidth = svgWidth;
+        } else if (viewBoxRect) {
+          bRectX = viewBoxRect.x;
+          bRectWidth = viewBoxRect.width;
+        }
+        if (svgHeight != null) {
+          bRectY = 0;
+          bRectHeight = svgHeight;
+        } else if (viewBoxRect) {
+          bRectY = viewBoxRect.y;
+          bRectHeight = viewBoxRect.height;
+        }
+        if (bRectX == null || bRectY == null) {
+          var calculatedBoundingRect = rootFromParse.getBoundingRect();
+          if (bRectX == null) {
+            bRectX = calculatedBoundingRect.x;
+            bRectWidth = calculatedBoundingRect.width;
+          }
+          if (bRectY == null) {
+            bRectY = calculatedBoundingRect.y;
+            bRectHeight = calculatedBoundingRect.height;
+          }
+        }
+        boundingRect = this._boundingRect = new BoundingRect$1(bRectX, bRectY, bRectWidth, bRectHeight);
+      }
+      if (viewBoxRect) {
+        var viewBoxTransform = makeViewBoxTransform(viewBoxRect, boundingRect);
+        rootFromParse.scaleX = rootFromParse.scaleY = viewBoxTransform.scale;
+        rootFromParse.x = viewBoxTransform.x;
+        rootFromParse.y = viewBoxTransform.y;
+      }
+      root.setClipPath(new Rect$3({
+        shape: boundingRect.plain()
+      }));
+      var named = [];
+      each$f(result2.named, function(namedItem) {
+        if (REGION_AVAILABLE_SVG_TAG_MAP.get(namedItem.svgNodeTagLower) != null) {
+          named.push(namedItem);
+          setSilent(namedItem.el);
+        }
+      });
+      return {
+        root,
+        boundingRect,
+        named
+      };
+    };
+    GeoSVGResource2.prototype.useGraphic = function(hostKey) {
+      var usedRootMap = this._usedGraphicMap;
+      var svgGraphic = usedRootMap.get(hostKey);
+      if (svgGraphic) {
+        return svgGraphic;
+      }
+      svgGraphic = this._freedGraphics.pop() || this._buildGraphic(this._parsedXML);
+      usedRootMap.set(hostKey, svgGraphic);
+      return svgGraphic;
+    };
+    GeoSVGResource2.prototype.freeGraphic = function(hostKey) {
+      var usedRootMap = this._usedGraphicMap;
+      var svgGraphic = usedRootMap.get(hostKey);
+      if (svgGraphic) {
+        usedRootMap.removeKey(hostKey);
+        this._freedGraphics.push(svgGraphic);
+      }
+    };
+    return GeoSVGResource2;
+  }()
+);
+function setSilent(el) {
+  el.silent = false;
+  if (el.isGroup) {
+    el.traverse(function(child) {
+      child.silent = false;
+    });
+  }
+}
+function createRegions(named) {
+  var regions = [];
+  var regionsMap = createHashMap();
+  each$f(named, function(namedItem) {
+    if (namedItem.namedFrom != null) {
+      return;
+    }
+    var region = new GeoSVGRegion(namedItem.name, namedItem.el);
+    regions.push(region);
+    regionsMap.set(namedItem.name, region);
+  });
+  return {
+    regions,
+    regionsMap
+  };
+}
+var geoCoord = [126, 25];
+var nanhaiName = "南海诸岛";
+var points$1 = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]];
+for (var i$1 = 0; i$1 < points$1.length; i$1++) {
+  for (var k = 0; k < points$1[i$1].length; k++) {
+    points$1[i$1][k][0] /= 10.5;
+    points$1[i$1][k][1] /= -10.5 / 0.75;
+    points$1[i$1][k][0] += geoCoord[0];
+    points$1[i$1][k][1] += geoCoord[1];
+  }
+}
+function fixNanhai(mapType, regions) {
+  if (mapType === "china") {
+    for (var i2 = 0; i2 < regions.length; i2++) {
+      if (regions[i2].name === nanhaiName) {
+        return;
+      }
+    }
+    regions.push(new GeoJSONRegion(nanhaiName, map$1(points$1, function(exterior) {
+      return {
+        type: "polygon",
+        exterior
+      };
+    }), geoCoord));
+  }
+}
+var coordsOffsetMap = {
+  "南海诸岛": [32, 80],
+  // 全国
+  "广东": [0, -10],
+  "香港": [10, 5],
+  "澳门": [-10, 10],
+  // '北京': [-10, 0],
+  "天津": [5, 5]
+};
+function fixTextCoords(mapType, region) {
+  if (mapType === "china") {
+    var coordFix = coordsOffsetMap[region.name];
+    if (coordFix) {
+      var cp = region.getCenter();
+      cp[0] += coordFix[0] / 10.5;
+      cp[1] += -coordFix[1] / (10.5 / 0.75);
+      region.setCenter(cp);
+    }
+  }
+}
+var points = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]];
+function fixDiaoyuIsland(mapType, region) {
+  if (mapType === "china" && region.name === "台湾") {
+    region.geometries.push({
+      type: "polygon",
+      exterior: points[0]
+    });
+  }
+}
+var DEFAULT_NAME_PROPERTY = "name";
+var GeoJSONResource = (
+  /** @class */
+  function() {
+    function GeoJSONResource2(mapName, geoJSON, specialAreas) {
+      this.type = "geoJSON";
+      this._parsedMap = createHashMap();
+      this._mapName = mapName;
+      this._specialAreas = specialAreas;
+      this._geoJSON = parseInput(geoJSON);
+    }
+    GeoJSONResource2.prototype.load = function(nameMap, nameProperty) {
+      nameProperty = nameProperty || DEFAULT_NAME_PROPERTY;
+      var parsed = this._parsedMap.get(nameProperty);
+      if (!parsed) {
+        var rawRegions = this._parseToRegions(nameProperty);
+        parsed = this._parsedMap.set(nameProperty, {
+          regions: rawRegions,
+          boundingRect: calculateBoundingRect(rawRegions)
+        });
+      }
+      var regionsMap = createHashMap();
+      var finalRegions = [];
+      each$f(parsed.regions, function(region) {
+        var regionName = region.name;
+        if (nameMap && hasOwn(nameMap, regionName)) {
+          region = region.cloneShallow(regionName = nameMap[regionName]);
+        }
+        finalRegions.push(region);
+        regionsMap.set(regionName, region);
+      });
+      return {
+        regions: finalRegions,
+        boundingRect: parsed.boundingRect || new BoundingRect$1(0, 0, 0, 0),
+        regionsMap
+      };
+    };
+    GeoJSONResource2.prototype._parseToRegions = function(nameProperty) {
+      var mapName = this._mapName;
+      var geoJSON = this._geoJSON;
+      var rawRegions;
+      try {
+        rawRegions = geoJSON ? parseGeoJSON(geoJSON, nameProperty) : [];
+      } catch (e2) {
+        throw new Error("Invalid geoJson format\n" + e2.message);
+      }
+      fixNanhai(mapName, rawRegions);
+      each$f(rawRegions, function(region) {
+        var regionName = region.name;
+        fixTextCoords(mapName, region);
+        fixDiaoyuIsland(mapName, region);
+        var specialArea = this._specialAreas && this._specialAreas[regionName];
+        if (specialArea) {
+          region.transformTo(specialArea.left, specialArea.top, specialArea.width, specialArea.height);
+        }
+      }, this);
+      return rawRegions;
+    };
+    GeoJSONResource2.prototype.getMapForUser = function() {
+      return {
+        // For backward compatibility, use geoJson
+        // PENDING: it has been returning them without clone.
+        // do we need to avoid outsite modification?
+        geoJson: this._geoJSON,
+        geoJSON: this._geoJSON,
+        specialAreas: this._specialAreas
+      };
+    };
+    return GeoJSONResource2;
+  }()
+);
+function calculateBoundingRect(regions) {
+  var rect;
+  for (var i2 = 0; i2 < regions.length; i2++) {
+    var regionRect = regions[i2].getBoundingRect();
+    rect = rect || regionRect.clone();
+    rect.union(regionRect);
+  }
+  return rect;
+}
+function parseInput(source2) {
+  return !isString$1(source2) ? source2 : typeof JSON !== "undefined" && JSON.parse ? JSON.parse(source2) : new Function("return (" + source2 + ");")();
+}
+var storage = createHashMap();
+const geoSourceManager = {
+  /**
+   * Compatible with previous `echarts.registerMap`.
+   *
+   * @usage
+   * ```js
+   *
+   * echarts.registerMap('USA', geoJson, specialAreas);
+   *
+   * echarts.registerMap('USA', {
+   *     geoJson: geoJson,
+   *     specialAreas: {...}
+   * });
+   * echarts.registerMap('USA', {
+   *     geoJSON: geoJson,
+   *     specialAreas: {...}
+   * });
+   *
+   * echarts.registerMap('airport', {
+   *     svg: svg
+   * }
+   * ```
+   *
+   * Note:
+   * Do not support that register multiple geoJSON or SVG
+   * one map name. Because different geoJSON and SVG have
+   * different unit. It's not easy to make sure how those
+   * units are mapping/normalize.
+   * If intending to use multiple geoJSON or SVG, we can
+   * use multiple geo coordinate system.
+   */
+  registerMap: function(mapName, rawDef, rawSpecialAreas) {
+    if (rawDef.svg) {
+      var resource = new GeoSVGResource(mapName, rawDef.svg);
+      storage.set(mapName, resource);
+    } else {
+      var geoJSON = rawDef.geoJson || rawDef.geoJSON;
+      if (geoJSON && !rawDef.features) {
+        rawSpecialAreas = rawDef.specialAreas;
+      } else {
+        geoJSON = rawDef;
+      }
+      var resource = new GeoJSONResource(mapName, geoJSON, rawSpecialAreas);
+      storage.set(mapName, resource);
+    }
+  },
+  getGeoResource: function(mapName) {
+    return storage.get(mapName);
+  },
+  /**
+   * Only for exporting to users.
+   * **MUST NOT** used internally.
+   */
+  getMapForUser: function(mapName) {
+    var resource = storage.get(mapName);
+    return resource && resource.type === "geoJSON" && resource.getMapForUser();
+  },
+  load: function(mapName, nameMap, nameProperty) {
+    var resource = storage.get(mapName);
+    if (!resource) {
+      return;
+    }
+    return resource.load(nameMap, nameProperty);
+  }
+};
+var OPTION_STYLE_ENABLED_TAGS = ["rect", "circle", "line", "ellipse", "polygon", "polyline", "path"];
+var OPTION_STYLE_ENABLED_TAG_MAP = createHashMap(OPTION_STYLE_ENABLED_TAGS);
+var STATE_TRIGGER_TAG_MAP = createHashMap(OPTION_STYLE_ENABLED_TAGS.concat(["g"]));
+var LABEL_HOST_MAP = createHashMap(OPTION_STYLE_ENABLED_TAGS.concat(["g"]));
+var mapLabelRaw = makeInner();
+function getFixedItemStyle(model2) {
+  var itemStyle2 = model2.getItemStyle();
+  var areaColor = model2.get("areaColor");
+  if (areaColor != null) {
+    itemStyle2.fill = areaColor;
+  }
+  return itemStyle2;
+}
+function fixLineStyle(styleHost) {
+  var style2 = styleHost.style;
+  if (style2) {
+    style2.stroke = style2.stroke || style2.fill;
+    style2.fill = null;
+  }
+}
+var MapDraw = (
+  /** @class */
+  function() {
+    function MapDraw2(api2) {
+      var group = new Group$4();
+      this.uid = getUID("ec_map_draw");
+      this._controller = new RoamController$1(api2.getZr());
+      this._controllerHost = {
+        target: group
+      };
+      this.group = group;
+      group.add(this._regionsGroup = new Group$4());
+      group.add(this._svgGroup = new Group$4());
+    }
+    MapDraw2.prototype.draw = function(mapOrGeoModel, ecModel, api2, fromView, payload) {
+      var isGeo = mapOrGeoModel.mainType === "geo";
+      var data2 = mapOrGeoModel.getData && mapOrGeoModel.getData();
+      isGeo && ecModel.eachComponent({
+        mainType: "series",
+        subType: "map"
+      }, function(mapSeries) {
+        if (!data2 && mapSeries.getHostGeoModel() === mapOrGeoModel) {
+          data2 = mapSeries.getData();
+        }
+      });
+      var geo2 = mapOrGeoModel.coordinateSystem;
+      var regionsGroup = this._regionsGroup;
+      var group = this.group;
+      var transformInfo = geo2.getTransformInfo();
+      var transformInfoRaw = transformInfo.raw;
+      var transformInfoRoam = transformInfo.roam;
+      var isFirstDraw = !regionsGroup.childAt(0) || payload;
+      if (isFirstDraw) {
+        group.x = transformInfoRoam.x;
+        group.y = transformInfoRoam.y;
+        group.scaleX = transformInfoRoam.scaleX;
+        group.scaleY = transformInfoRoam.scaleY;
+        group.dirty();
+      } else {
+        updateProps$1(group, transformInfoRoam, mapOrGeoModel);
+      }
+      var isVisualEncodedByVisualMap = data2 && data2.getVisual("visualMeta") && data2.getVisual("visualMeta").length > 0;
+      var viewBuildCtx = {
+        api: api2,
+        geo: geo2,
+        mapOrGeoModel,
+        data: data2,
+        isVisualEncodedByVisualMap,
+        isGeo,
+        transformInfoRaw
+      };
+      if (geo2.resourceType === "geoJSON") {
+        this._buildGeoJSON(viewBuildCtx);
+      } else if (geo2.resourceType === "geoSVG") {
+        this._buildSVG(viewBuildCtx);
+      }
+      this._updateController(mapOrGeoModel, ecModel, api2);
+      this._updateMapSelectHandler(mapOrGeoModel, regionsGroup, api2, fromView);
+    };
+    MapDraw2.prototype._buildGeoJSON = function(viewBuildCtx) {
+      var regionsGroupByName = this._regionsGroupByName = createHashMap();
+      var regionsInfoByName = createHashMap();
+      var regionsGroup = this._regionsGroup;
+      var transformInfoRaw = viewBuildCtx.transformInfoRaw;
+      var mapOrGeoModel = viewBuildCtx.mapOrGeoModel;
+      var data2 = viewBuildCtx.data;
+      var projection = viewBuildCtx.geo.projection;
+      var projectionStream = projection && projection.stream;
+      function transformPoint(point, project) {
+        if (project) {
+          point = project(point);
+        }
+        return point && [point[0] * transformInfoRaw.scaleX + transformInfoRaw.x, point[1] * transformInfoRaw.scaleY + transformInfoRaw.y];
+      }
+      function transformPolygonPoints(inPoints) {
+        var outPoints = [];
+        var project = !projectionStream && projection && projection.project;
+        for (var i2 = 0; i2 < inPoints.length; ++i2) {
+          var newPt = transformPoint(inPoints[i2], project);
+          newPt && outPoints.push(newPt);
+        }
+        return outPoints;
+      }
+      function getPolyShape(points2) {
+        return {
+          shape: {
+            points: transformPolygonPoints(points2)
+          }
+        };
+      }
+      regionsGroup.removeAll();
+      each$f(viewBuildCtx.geo.regions, function(region) {
+        var regionName = region.name;
+        var regionGroup = regionsGroupByName.get(regionName);
+        var _a2 = regionsInfoByName.get(regionName) || {}, dataIdx = _a2.dataIdx, regionModel = _a2.regionModel;
+        if (!regionGroup) {
+          regionGroup = regionsGroupByName.set(regionName, new Group$4());
+          regionsGroup.add(regionGroup);
+          dataIdx = data2 ? data2.indexOfName(regionName) : null;
+          regionModel = viewBuildCtx.isGeo ? mapOrGeoModel.getRegionModel(regionName) : data2 ? data2.getItemModel(dataIdx) : null;
+          regionsInfoByName.set(regionName, {
+            dataIdx,
+            regionModel
+          });
+        }
+        var polygonSubpaths = [];
+        var polylineSubpaths = [];
+        each$f(region.geometries, function(geometry) {
+          if (geometry.type === "polygon") {
+            var polys = [geometry.exterior].concat(geometry.interiors || []);
+            if (projectionStream) {
+              polys = projectPolys(polys, projectionStream);
+            }
+            each$f(polys, function(poly2) {
+              polygonSubpaths.push(new Polygon$1(getPolyShape(poly2)));
+            });
+          } else {
+            var points2 = geometry.points;
+            if (projectionStream) {
+              points2 = projectPolys(points2, projectionStream, true);
+            }
+            each$f(points2, function(points3) {
+              polylineSubpaths.push(new Polyline$3(getPolyShape(points3)));
+            });
+          }
+        });
+        var centerPt = transformPoint(region.getCenter(), projection && projection.project);
+        function createCompoundPath(subpaths, isLine) {
+          if (!subpaths.length) {
+            return;
+          }
+          var compoundPath = new CompoundPath$1({
+            culling: true,
+            segmentIgnoreThreshold: 1,
+            shape: {
+              paths: subpaths
+            }
+          });
+          regionGroup.add(compoundPath);
+          applyOptionStyleForRegion(viewBuildCtx, compoundPath, dataIdx, regionModel);
+          resetLabelForRegion(viewBuildCtx, compoundPath, regionName, regionModel, mapOrGeoModel, dataIdx, centerPt);
+          if (isLine) {
+            fixLineStyle(compoundPath);
+            each$f(compoundPath.states, fixLineStyle);
+          }
+        }
+        createCompoundPath(polygonSubpaths);
+        createCompoundPath(polylineSubpaths, true);
+      });
+      regionsGroupByName.each(function(regionGroup, regionName) {
+        var _a2 = regionsInfoByName.get(regionName), dataIdx = _a2.dataIdx, regionModel = _a2.regionModel;
+        resetEventTriggerForRegion(viewBuildCtx, regionGroup, regionName, regionModel, mapOrGeoModel, dataIdx);
+        resetTooltipForRegion(viewBuildCtx, regionGroup, regionName, regionModel, mapOrGeoModel);
+        resetStateTriggerForRegion(viewBuildCtx, regionGroup, regionName, regionModel, mapOrGeoModel);
+      }, this);
+    };
+    MapDraw2.prototype._buildSVG = function(viewBuildCtx) {
+      var mapName = viewBuildCtx.geo.map;
+      var transformInfoRaw = viewBuildCtx.transformInfoRaw;
+      this._svgGroup.x = transformInfoRaw.x;
+      this._svgGroup.y = transformInfoRaw.y;
+      this._svgGroup.scaleX = transformInfoRaw.scaleX;
+      this._svgGroup.scaleY = transformInfoRaw.scaleY;
+      if (this._svgResourceChanged(mapName)) {
+        this._freeSVG();
+        this._useSVG(mapName);
+      }
+      var svgDispatcherMap = this._svgDispatcherMap = createHashMap();
+      var focusSelf = false;
+      each$f(this._svgGraphicRecord.named, function(namedItem) {
+        var regionName = namedItem.name;
+        var mapOrGeoModel = viewBuildCtx.mapOrGeoModel;
+        var data2 = viewBuildCtx.data;
+        var svgNodeTagLower = namedItem.svgNodeTagLower;
+        var el = namedItem.el;
+        var dataIdx = data2 ? data2.indexOfName(regionName) : null;
+        var regionModel = mapOrGeoModel.getRegionModel(regionName);
+        if (OPTION_STYLE_ENABLED_TAG_MAP.get(svgNodeTagLower) != null && el instanceof Displayable$1) {
+          applyOptionStyleForRegion(viewBuildCtx, el, dataIdx, regionModel);
+        }
+        if (el instanceof Displayable$1) {
+          el.culling = true;
+        }
+        el.z2EmphasisLift = 0;
+        if (!namedItem.namedFrom) {
+          if (LABEL_HOST_MAP.get(svgNodeTagLower) != null) {
+            resetLabelForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel, dataIdx, null);
+          }
+          resetEventTriggerForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel, dataIdx);
+          resetTooltipForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel);
+          if (STATE_TRIGGER_TAG_MAP.get(svgNodeTagLower) != null) {
+            var focus_1 = resetStateTriggerForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel);
+            if (focus_1 === "self") {
+              focusSelf = true;
+            }
+            var els = svgDispatcherMap.get(regionName) || svgDispatcherMap.set(regionName, []);
+            els.push(el);
+          }
+        }
+      }, this);
+      this._enableBlurEntireSVG(focusSelf, viewBuildCtx);
+    };
+    MapDraw2.prototype._enableBlurEntireSVG = function(focusSelf, viewBuildCtx) {
+      if (focusSelf && viewBuildCtx.isGeo) {
+        var blurStyle = viewBuildCtx.mapOrGeoModel.getModel(["blur", "itemStyle"]).getItemStyle();
+        var opacity_1 = blurStyle.opacity;
+        this._svgGraphicRecord.root.traverse(function(el) {
+          if (!el.isGroup) {
+            setDefaultStateProxy(el);
+            var style2 = el.ensureState("blur").style || {};
+            if (style2.opacity == null && opacity_1 != null) {
+              style2.opacity = opacity_1;
+            }
+            el.ensureState("emphasis");
+          }
+        });
+      }
+    };
+    MapDraw2.prototype.remove = function() {
+      this._regionsGroup.removeAll();
+      this._regionsGroupByName = null;
+      this._svgGroup.removeAll();
+      this._freeSVG();
+      this._controller.dispose();
+      this._controllerHost = null;
+    };
+    MapDraw2.prototype.findHighDownDispatchers = function(name2, geoModel) {
+      if (name2 == null) {
+        return [];
+      }
+      var geo2 = geoModel.coordinateSystem;
+      if (geo2.resourceType === "geoJSON") {
+        var regionsGroupByName = this._regionsGroupByName;
+        if (regionsGroupByName) {
+          var regionGroup = regionsGroupByName.get(name2);
+          return regionGroup ? [regionGroup] : [];
+        }
+      } else if (geo2.resourceType === "geoSVG") {
+        return this._svgDispatcherMap && this._svgDispatcherMap.get(name2) || [];
+      }
+    };
+    MapDraw2.prototype._svgResourceChanged = function(mapName) {
+      return this._svgMapName !== mapName;
+    };
+    MapDraw2.prototype._useSVG = function(mapName) {
+      var resource = geoSourceManager.getGeoResource(mapName);
+      if (resource && resource.type === "geoSVG") {
+        var svgGraphic = resource.useGraphic(this.uid);
+        this._svgGroup.add(svgGraphic.root);
+        this._svgGraphicRecord = svgGraphic;
+        this._svgMapName = mapName;
+      }
+    };
+    MapDraw2.prototype._freeSVG = function() {
+      var mapName = this._svgMapName;
+      if (mapName == null) {
+        return;
+      }
+      var resource = geoSourceManager.getGeoResource(mapName);
+      if (resource && resource.type === "geoSVG") {
+        resource.freeGraphic(this.uid);
+      }
+      this._svgGraphicRecord = null;
+      this._svgDispatcherMap = null;
+      this._svgGroup.removeAll();
+      this._svgMapName = null;
+    };
+    MapDraw2.prototype._updateController = function(mapOrGeoModel, ecModel, api2) {
+      var geo2 = mapOrGeoModel.coordinateSystem;
+      var controller = this._controller;
+      var controllerHost = this._controllerHost;
+      controllerHost.zoomLimit = mapOrGeoModel.get("scaleLimit");
+      controllerHost.zoom = geo2.getZoom();
+      controller.enable(mapOrGeoModel.get("roam") || false);
+      var mainType = mapOrGeoModel.mainType;
+      function makeActionBase() {
+        var action = {
+          type: "geoRoam",
+          componentType: mainType
+        };
+        action[mainType + "Id"] = mapOrGeoModel.id;
+        return action;
+      }
+      controller.off("pan").on("pan", function(e2) {
+        this._mouseDownFlag = false;
+        updateViewOnPan(controllerHost, e2.dx, e2.dy);
+        api2.dispatchAction(extend$1(makeActionBase(), {
+          dx: e2.dx,
+          dy: e2.dy,
+          animation: {
+            duration: 0
+          }
+        }));
+      }, this);
+      controller.off("zoom").on("zoom", function(e2) {
+        this._mouseDownFlag = false;
+        updateViewOnZoom(controllerHost, e2.scale, e2.originX, e2.originY);
+        api2.dispatchAction(extend$1(makeActionBase(), {
+          zoom: e2.scale,
+          originX: e2.originX,
+          originY: e2.originY,
+          animation: {
+            duration: 0
+          }
+        }));
+      }, this);
+      controller.setPointerChecker(function(e2, x2, y2) {
+        return geo2.containPoint([x2, y2]) && !onIrrelevantElement(e2, api2, mapOrGeoModel);
+      });
+    };
+    MapDraw2.prototype.resetForLabelLayout = function() {
+      this.group.traverse(function(el) {
+        var label = el.getTextContent();
+        if (label) {
+          label.ignore = mapLabelRaw(label).ignore;
+        }
+      });
+    };
+    MapDraw2.prototype._updateMapSelectHandler = function(mapOrGeoModel, regionsGroup, api2, fromView) {
+      var mapDraw = this;
+      regionsGroup.off("mousedown");
+      regionsGroup.off("click");
+      if (mapOrGeoModel.get("selectedMode")) {
+        regionsGroup.on("mousedown", function() {
+          mapDraw._mouseDownFlag = true;
+        });
+        regionsGroup.on("click", function(e2) {
+          if (!mapDraw._mouseDownFlag) {
+            return;
+          }
+          mapDraw._mouseDownFlag = false;
+        });
+      }
+    };
+    return MapDraw2;
+  }()
+);
+function applyOptionStyleForRegion(viewBuildCtx, el, dataIndex, regionModel) {
+  var normalStyleModel = regionModel.getModel("itemStyle");
+  var emphasisStyleModel = regionModel.getModel(["emphasis", "itemStyle"]);
+  var blurStyleModel = regionModel.getModel(["blur", "itemStyle"]);
+  var selectStyleModel = regionModel.getModel(["select", "itemStyle"]);
+  var normalStyle = getFixedItemStyle(normalStyleModel);
+  var emphasisStyle = getFixedItemStyle(emphasisStyleModel);
+  var selectStyle = getFixedItemStyle(selectStyleModel);
+  var blurStyle = getFixedItemStyle(blurStyleModel);
+  var data2 = viewBuildCtx.data;
+  if (data2) {
+    var style2 = data2.getItemVisual(dataIndex, "style");
+    var decal = data2.getItemVisual(dataIndex, "decal");
+    if (viewBuildCtx.isVisualEncodedByVisualMap && style2.fill) {
+      normalStyle.fill = style2.fill;
+    }
+    if (decal) {
+      normalStyle.decal = createOrUpdatePatternFromDecal(decal, viewBuildCtx.api);
+    }
+  }
+  el.setStyle(normalStyle);
+  el.style.strokeNoScale = true;
+  el.ensureState("emphasis").style = emphasisStyle;
+  el.ensureState("select").style = selectStyle;
+  el.ensureState("blur").style = blurStyle;
+  setDefaultStateProxy(el);
+}
+function resetLabelForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel, dataIdx, labelXY) {
+  var data2 = viewBuildCtx.data;
+  var isGeo = viewBuildCtx.isGeo;
+  var isDataNaN = data2 && isNaN(data2.get(data2.mapDimension("value"), dataIdx));
+  var itemLayout = data2 && data2.getItemLayout(dataIdx);
+  if (isGeo || isDataNaN || itemLayout && itemLayout.showLabel) {
+    var query = !isGeo ? dataIdx : regionName;
+    var labelFetcher = void 0;
+    if (!data2 || dataIdx >= 0) {
+      labelFetcher = mapOrGeoModel;
+    }
+    var specifiedTextOpt = labelXY ? {
+      normal: {
+        align: "center",
+        verticalAlign: "middle"
+      }
+    } : null;
+    setLabelStyle(el, getLabelStatesModels(regionModel), {
+      labelFetcher,
+      labelDataIndex: query,
+      defaultText: regionName
+    }, specifiedTextOpt);
+    var textEl = el.getTextContent();
+    if (textEl) {
+      mapLabelRaw(textEl).ignore = textEl.ignore;
+      if (el.textConfig && labelXY) {
+        var rect = el.getBoundingRect().clone();
+        el.textConfig.layoutRect = rect;
+        el.textConfig.position = [(labelXY[0] - rect.x) / rect.width * 100 + "%", (labelXY[1] - rect.y) / rect.height * 100 + "%"];
+      }
+    }
+    el.disableLabelAnimation = true;
+  } else {
+    el.removeTextContent();
+    el.removeTextConfig();
+    el.disableLabelAnimation = null;
+  }
+}
+function resetEventTriggerForRegion(viewBuildCtx, eventTrigger, regionName, regionModel, mapOrGeoModel, dataIdx) {
+  if (viewBuildCtx.data) {
+    viewBuildCtx.data.setItemGraphicEl(dataIdx, eventTrigger);
+  } else {
+    getECData(eventTrigger).eventData = {
+      componentType: "geo",
+      componentIndex: mapOrGeoModel.componentIndex,
+      geoIndex: mapOrGeoModel.componentIndex,
+      name: regionName,
+      region: regionModel && regionModel.option || {}
+    };
+  }
+}
+function resetTooltipForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel) {
+  if (!viewBuildCtx.data) {
+    setTooltipConfig({
+      el,
+      componentModel: mapOrGeoModel,
+      itemName: regionName,
+      // @ts-ignore FIXME:TS fix the "compatible with each other"?
+      itemTooltipOption: regionModel.get("tooltip")
+    });
+  }
+}
+function resetStateTriggerForRegion(viewBuildCtx, el, regionName, regionModel, mapOrGeoModel) {
+  el.highDownSilentOnTouch = !!mapOrGeoModel.get("selectedMode");
+  var emphasisModel = regionModel.getModel("emphasis");
+  var focus2 = emphasisModel.get("focus");
+  toggleHoverEmphasis(el, focus2, emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+  if (viewBuildCtx.isGeo) {
+    enableComponentHighDownFeatures(el, mapOrGeoModel, regionName);
+  }
+  return focus2;
+}
+function projectPolys(rings, createStream, isLine) {
+  var polygons = [];
+  var curPoly;
+  function startPolygon() {
+    curPoly = [];
+  }
+  function endPolygon() {
+    if (curPoly.length) {
+      polygons.push(curPoly);
+      curPoly = [];
+    }
+  }
+  var stream = createStream({
+    polygonStart: startPolygon,
+    polygonEnd: endPolygon,
+    lineStart: startPolygon,
+    lineEnd: endPolygon,
+    point: function(x2, y2) {
+      if (isFinite(x2) && isFinite(y2)) {
+        curPoly.push([x2, y2]);
+      }
+    },
+    sphere: function() {
+    }
+  });
+  !isLine && stream.polygonStart();
+  each$f(rings, function(ring) {
+    stream.lineStart();
+    for (var i2 = 0; i2 < ring.length; i2++) {
+      stream.point(ring[i2][0], ring[i2][1]);
+    }
+    stream.lineEnd();
+  });
+  !isLine && stream.polygonEnd();
+  return polygons;
+}
+const MapDraw$1 = MapDraw;
+var MapView = (
+  /** @class */
+  function(_super) {
+    __extends(MapView2, _super);
+    function MapView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MapView2.type;
+      return _this;
+    }
+    MapView2.prototype.render = function(mapModel, ecModel, api2, payload) {
+      if (payload && payload.type === "mapToggleSelect" && payload.from === this.uid) {
+        return;
+      }
+      var group = this.group;
+      group.removeAll();
+      if (mapModel.getHostGeoModel()) {
+        return;
+      }
+      if (this._mapDraw && payload && payload.type === "geoRoam") {
+        this._mapDraw.resetForLabelLayout();
+      }
+      if (!(payload && payload.type === "geoRoam" && payload.componentType === "series" && payload.seriesId === mapModel.id)) {
+        if (mapModel.needsDrawMap) {
+          var mapDraw = this._mapDraw || new MapDraw$1(api2);
+          group.add(mapDraw.group);
+          mapDraw.draw(mapModel, ecModel, api2, this, payload);
+          this._mapDraw = mapDraw;
+        } else {
+          this._mapDraw && this._mapDraw.remove();
+          this._mapDraw = null;
+        }
+      } else {
+        var mapDraw = this._mapDraw;
+        mapDraw && group.add(mapDraw.group);
+      }
+      mapModel.get("showLegendSymbol") && ecModel.getComponent("legend") && this._renderSymbols(mapModel, ecModel, api2);
+    };
+    MapView2.prototype.remove = function() {
+      this._mapDraw && this._mapDraw.remove();
+      this._mapDraw = null;
+      this.group.removeAll();
+    };
+    MapView2.prototype.dispose = function() {
+      this._mapDraw && this._mapDraw.remove();
+      this._mapDraw = null;
+    };
+    MapView2.prototype._renderSymbols = function(mapModel, ecModel, api2) {
+      var originalData = mapModel.originalData;
+      var group = this.group;
+      originalData.each(originalData.mapDimension("value"), function(value, originalDataIndex) {
+        if (isNaN(value)) {
+          return;
+        }
+        var layout2 = originalData.getItemLayout(originalDataIndex);
+        if (!layout2 || !layout2.point) {
+          return;
+        }
+        var point = layout2.point;
+        var offset2 = layout2.offset;
+        var circle = new Circle$1({
+          style: {
+            // Because the special of map draw.
+            // Which needs statistic of multiple series and draw on one map.
+            // And each series also need a symbol with legend color
+            //
+            // Layout and visual are put one the different data
+            // TODO
+            fill: mapModel.getData().getVisual("style").fill
+          },
+          shape: {
+            cx: point[0] + offset2 * 9,
+            cy: point[1],
+            r: 3
+          },
+          silent: true,
+          // Do not overlap the first series, on which labels are displayed.
+          z2: 8 + (!offset2 ? Z2_EMPHASIS_LIFT + 1 : 0)
+        });
+        if (!offset2) {
+          var fullData = mapModel.mainSeries.getData();
+          var name_1 = originalData.getName(originalDataIndex);
+          var fullIndex_1 = fullData.indexOfName(name_1);
+          var itemModel = originalData.getItemModel(originalDataIndex);
+          var labelModel = itemModel.getModel("label");
+          var regionGroup = fullData.getItemGraphicEl(fullIndex_1);
+          setLabelStyle(circle, getLabelStatesModels(itemModel), {
+            labelFetcher: {
+              getFormattedLabel: function(idx, state) {
+                return mapModel.getFormattedLabel(fullIndex_1, state);
+              }
+            },
+            defaultText: name_1
+          });
+          circle.disableLabelAnimation = true;
+          if (!labelModel.get("position")) {
+            circle.setTextConfig({
+              position: "bottom"
+            });
+          }
+          regionGroup.onHoverStateChange = function(toState) {
+            setStatesFlag(circle, toState);
+          };
+        }
+        group.add(circle);
+      });
+    };
+    MapView2.type = "map";
+    return MapView2;
+  }(ChartView$1)
+);
+const MapView$1 = MapView;
+var MapSeries = (
+  /** @class */
+  function(_super) {
+    __extends(MapSeries2, _super);
+    function MapSeries2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MapSeries2.type;
+      _this.needsDrawMap = false;
+      _this.seriesGroup = [];
+      _this.getTooltipPosition = function(dataIndex) {
+        if (dataIndex != null) {
+          var name_1 = this.getData().getName(dataIndex);
+          var geo2 = this.coordinateSystem;
+          var region = geo2.getRegion(name_1);
+          return region && geo2.dataToPoint(region.getCenter());
+        }
+      };
+      return _this;
+    }
+    MapSeries2.prototype.getInitialData = function(option) {
+      var data2 = createSeriesDataSimply(this, {
+        coordDimensions: ["value"],
+        encodeDefaulter: curry$1(makeSeriesEncodeForNameBased, this)
+      });
+      var dataNameMap = createHashMap();
+      var toAppendNames = [];
+      for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+        var name_2 = data2.getName(i2);
+        dataNameMap.set(name_2, true);
+      }
+      var geoSource = geoSourceManager.load(this.getMapType(), this.option.nameMap, this.option.nameProperty);
+      each$f(geoSource.regions, function(region) {
+        var name2 = region.name;
+        if (!dataNameMap.get(name2)) {
+          toAppendNames.push(name2);
+        }
+      });
+      data2.appendValues([], toAppendNames);
+      return data2;
+    };
+    MapSeries2.prototype.getHostGeoModel = function() {
+      var geoIndex = this.option.geoIndex;
+      return geoIndex != null ? this.ecModel.getComponent("geo", geoIndex) : null;
+    };
+    MapSeries2.prototype.getMapType = function() {
+      return (this.getHostGeoModel() || this).option.map;
+    };
+    MapSeries2.prototype.getRawValue = function(dataIndex) {
+      var data2 = this.getData();
+      return data2.get(data2.mapDimension("value"), dataIndex);
+    };
+    MapSeries2.prototype.getRegionModel = function(regionName) {
+      var data2 = this.getData();
+      return data2.getItemModel(data2.indexOfName(regionName));
+    };
+    MapSeries2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var data2 = this.getData();
+      var value = this.getRawValue(dataIndex);
+      var name2 = data2.getName(dataIndex);
+      var seriesGroup = this.seriesGroup;
+      var seriesNames = [];
+      for (var i2 = 0; i2 < seriesGroup.length; i2++) {
+        var otherIndex = seriesGroup[i2].originalData.indexOfName(name2);
+        var valueDim = data2.mapDimension("value");
+        if (!isNaN(seriesGroup[i2].originalData.get(valueDim, otherIndex))) {
+          seriesNames.push(seriesGroup[i2].name);
+        }
+      }
+      return createTooltipMarkup("section", {
+        header: seriesNames.join(", "),
+        noHeader: !seriesNames.length,
+        blocks: [createTooltipMarkup("nameValue", {
+          name: name2,
+          value
+        })]
+      });
+    };
+    MapSeries2.prototype.setZoom = function(zoom) {
+      this.option.zoom = zoom;
+    };
+    MapSeries2.prototype.setCenter = function(center2) {
+      this.option.center = center2;
+    };
+    MapSeries2.prototype.getLegendIcon = function(opt) {
+      var iconType = opt.icon || "roundRect";
+      var icon = createSymbol$1(iconType, 0, 0, opt.itemWidth, opt.itemHeight, opt.itemStyle.fill);
+      icon.setStyle(opt.itemStyle);
+      icon.style.stroke = "none";
+      if (iconType.indexOf("empty") > -1) {
+        icon.style.stroke = icon.style.fill;
+        icon.style.fill = "#fff";
+        icon.style.lineWidth = 2;
+      }
+      return icon;
+    };
+    MapSeries2.type = "series.map";
+    MapSeries2.dependencies = ["geo"];
+    MapSeries2.layoutMode = "box";
+    MapSeries2.defaultOption = {
+      // 一级层叠
+      // zlevel: 0,
+      // 二级层叠
+      z: 2,
+      coordinateSystem: "geo",
+      // map should be explicitly specified since ec3.
+      map: "",
+      // If `geoIndex` is not specified, a exclusive geo will be
+      // created. Otherwise use the specified geo component, and
+      // `map` and `mapType` are ignored.
+      // geoIndex: 0,
+      // 'center' | 'left' | 'right' | 'x%' | {number}
+      left: "center",
+      // 'center' | 'top' | 'bottom' | 'x%' | {number}
+      top: "center",
+      // right
+      // bottom
+      // width:
+      // height
+      // Aspect is width / height. Inited to be geoJson bbox aspect
+      // This parameter is used for scale this aspect
+      // Default value:
+      // for geoSVG source: 1,
+      // for geoJSON source: 0.75.
+      aspectScale: null,
+      // Layout with center and size
+      // If you want to put map in a fixed size box with right aspect ratio
+      // This two properties may be more convenient.
+      // layoutCenter: [50%, 50%]
+      // layoutSize: 100
+      showLegendSymbol: true,
+      // Define left-top, right-bottom coords to control view
+      // For example, [ [180, 90], [-180, -90] ],
+      // higher priority than center and zoom
+      boundingCoords: null,
+      // Default on center of map
+      center: null,
+      zoom: 1,
+      scaleLimit: null,
+      selectedMode: true,
+      label: {
+        show: false,
+        color: "#000"
+      },
+      // scaleLimit: null,
+      itemStyle: {
+        borderWidth: 0.5,
+        borderColor: "#444",
+        areaColor: "#eee"
+      },
+      emphasis: {
+        label: {
+          show: true,
+          color: "rgb(100,0,0)"
+        },
+        itemStyle: {
+          areaColor: "rgba(255,215,0,0.8)"
+        }
+      },
+      select: {
+        label: {
+          show: true,
+          color: "rgb(100,0,0)"
+        },
+        itemStyle: {
+          color: "rgba(255,215,0,0.8)"
+        }
+      },
+      nameProperty: "name"
+    };
+    return MapSeries2;
+  }(SeriesModel$1)
+);
+const MapSeries$1 = MapSeries;
+function dataStatistics(datas, statisticType) {
+  var dataNameMap = {};
+  each$f(datas, function(data2) {
+    data2.each(data2.mapDimension("value"), function(value, idx) {
+      var mapKey = "ec-" + data2.getName(idx);
+      dataNameMap[mapKey] = dataNameMap[mapKey] || [];
+      if (!isNaN(value)) {
+        dataNameMap[mapKey].push(value);
+      }
+    });
+  });
+  return datas[0].map(datas[0].mapDimension("value"), function(value, idx) {
+    var mapKey = "ec-" + datas[0].getName(idx);
+    var sum2 = 0;
+    var min3 = Infinity;
+    var max3 = -Infinity;
+    var len2 = dataNameMap[mapKey].length;
+    for (var i2 = 0; i2 < len2; i2++) {
+      min3 = Math.min(min3, dataNameMap[mapKey][i2]);
+      max3 = Math.max(max3, dataNameMap[mapKey][i2]);
+      sum2 += dataNameMap[mapKey][i2];
+    }
+    var result2;
+    if (statisticType === "min") {
+      result2 = min3;
+    } else if (statisticType === "max") {
+      result2 = max3;
+    } else if (statisticType === "average") {
+      result2 = sum2 / len2;
+    } else {
+      result2 = sum2;
+    }
+    return len2 === 0 ? NaN : result2;
+  });
+}
+function mapDataStatistic(ecModel) {
+  var seriesGroups = {};
+  ecModel.eachSeriesByType("map", function(seriesModel) {
+    var hostGeoModel = seriesModel.getHostGeoModel();
+    var key2 = hostGeoModel ? "o" + hostGeoModel.id : "i" + seriesModel.getMapType();
+    (seriesGroups[key2] = seriesGroups[key2] || []).push(seriesModel);
+  });
+  each$f(seriesGroups, function(seriesList, key2) {
+    var data2 = dataStatistics(map$1(seriesList, function(seriesModel) {
+      return seriesModel.getData();
+    }), seriesList[0].get("mapValueCalculation"));
+    for (var i2 = 0; i2 < seriesList.length; i2++) {
+      seriesList[i2].originalData = seriesList[i2].getData();
+    }
+    for (var i2 = 0; i2 < seriesList.length; i2++) {
+      seriesList[i2].seriesGroup = seriesList;
+      seriesList[i2].needsDrawMap = i2 === 0 && !seriesList[i2].getHostGeoModel();
+      seriesList[i2].setData(data2.cloneShallow());
+      seriesList[i2].mainSeries = seriesList[0];
+    }
+  });
+}
+function mapSymbolLayout(ecModel) {
+  var processedMapType = {};
+  ecModel.eachSeriesByType("map", function(mapSeries) {
+    var mapType = mapSeries.getMapType();
+    if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {
+      return;
+    }
+    var mapSymbolOffsets = {};
+    each$f(mapSeries.seriesGroup, function(subMapSeries) {
+      var geo2 = subMapSeries.coordinateSystem;
+      var data3 = subMapSeries.originalData;
+      if (subMapSeries.get("showLegendSymbol") && ecModel.getComponent("legend")) {
+        data3.each(data3.mapDimension("value"), function(value, idx) {
+          var name2 = data3.getName(idx);
+          var region = geo2.getRegion(name2);
+          if (!region || isNaN(value)) {
+            return;
+          }
+          var offset2 = mapSymbolOffsets[name2] || 0;
+          var point = geo2.dataToPoint(region.getCenter());
+          mapSymbolOffsets[name2] = offset2 + 1;
+          data3.setItemLayout(idx, {
+            point,
+            offset: offset2
+          });
+        });
+      }
+    });
+    var data2 = mapSeries.getData();
+    data2.each(function(idx) {
+      var name2 = data2.getName(idx);
+      var layout2 = data2.getItemLayout(idx) || {};
+      layout2.showLabel = !mapSymbolOffsets[name2];
+      data2.setItemLayout(idx, layout2);
+    });
+    processedMapType[mapType] = true;
+  });
+}
+var v2ApplyTransform = applyTransform$1;
+var View = (
+  /** @class */
+  function(_super) {
+    __extends(View2, _super);
+    function View2(name2) {
+      var _this = _super.call(this) || this;
+      _this.type = "view";
+      _this.dimensions = ["x", "y"];
+      _this._roamTransformable = new Transformable$1();
+      _this._rawTransformable = new Transformable$1();
+      _this.name = name2;
+      return _this;
+    }
+    View2.prototype.setBoundingRect = function(x2, y2, width, height) {
+      this._rect = new BoundingRect$1(x2, y2, width, height);
+      return this._rect;
+    };
+    View2.prototype.getBoundingRect = function() {
+      return this._rect;
+    };
+    View2.prototype.setViewRect = function(x2, y2, width, height) {
+      this._transformTo(x2, y2, width, height);
+      this._viewRect = new BoundingRect$1(x2, y2, width, height);
+    };
+    View2.prototype._transformTo = function(x2, y2, width, height) {
+      var rect = this.getBoundingRect();
+      var rawTransform = this._rawTransformable;
+      rawTransform.transform = rect.calculateTransform(new BoundingRect$1(x2, y2, width, height));
+      var rawParent = rawTransform.parent;
+      rawTransform.parent = null;
+      rawTransform.decomposeTransform();
+      rawTransform.parent = rawParent;
+      this._updateTransform();
+    };
+    View2.prototype.setCenter = function(centerCoord, api2) {
+      if (!centerCoord) {
+        return;
+      }
+      this._center = [parsePercent(centerCoord[0], api2.getWidth()), parsePercent(centerCoord[1], api2.getHeight())];
+      this._updateCenterAndZoom();
+    };
+    View2.prototype.setZoom = function(zoom) {
+      zoom = zoom || 1;
+      var zoomLimit = this.zoomLimit;
+      if (zoomLimit) {
+        if (zoomLimit.max != null) {
+          zoom = Math.min(zoomLimit.max, zoom);
+        }
+        if (zoomLimit.min != null) {
+          zoom = Math.max(zoomLimit.min, zoom);
+        }
+      }
+      this._zoom = zoom;
+      this._updateCenterAndZoom();
+    };
+    View2.prototype.getDefaultCenter = function() {
+      var rawRect = this.getBoundingRect();
+      var cx = rawRect.x + rawRect.width / 2;
+      var cy = rawRect.y + rawRect.height / 2;
+      return [cx, cy];
+    };
+    View2.prototype.getCenter = function() {
+      return this._center || this.getDefaultCenter();
+    };
+    View2.prototype.getZoom = function() {
+      return this._zoom || 1;
+    };
+    View2.prototype.getRoamTransform = function() {
+      return this._roamTransformable.getLocalTransform();
+    };
+    View2.prototype._updateCenterAndZoom = function() {
+      var rawTransformMatrix = this._rawTransformable.getLocalTransform();
+      var roamTransform = this._roamTransformable;
+      var defaultCenter = this.getDefaultCenter();
+      var center2 = this.getCenter();
+      var zoom = this.getZoom();
+      center2 = applyTransform$1([], center2, rawTransformMatrix);
+      defaultCenter = applyTransform$1([], defaultCenter, rawTransformMatrix);
+      roamTransform.originX = center2[0];
+      roamTransform.originY = center2[1];
+      roamTransform.x = defaultCenter[0] - center2[0];
+      roamTransform.y = defaultCenter[1] - center2[1];
+      roamTransform.scaleX = roamTransform.scaleY = zoom;
+      this._updateTransform();
+    };
+    View2.prototype._updateTransform = function() {
+      var roamTransformable = this._roamTransformable;
+      var rawTransformable = this._rawTransformable;
+      rawTransformable.parent = roamTransformable;
+      roamTransformable.updateTransform();
+      rawTransformable.updateTransform();
+      copy(this.transform || (this.transform = []), rawTransformable.transform || create$1());
+      this._rawTransform = rawTransformable.getLocalTransform();
+      this.invTransform = this.invTransform || [];
+      invert(this.invTransform, this.transform);
+      this.decomposeTransform();
+    };
+    View2.prototype.getTransformInfo = function() {
+      var rawTransformable = this._rawTransformable;
+      var roamTransformable = this._roamTransformable;
+      var dummyTransformable2 = new Transformable$1();
+      dummyTransformable2.transform = roamTransformable.transform;
+      dummyTransformable2.decomposeTransform();
+      return {
+        roam: {
+          x: dummyTransformable2.x,
+          y: dummyTransformable2.y,
+          scaleX: dummyTransformable2.scaleX,
+          scaleY: dummyTransformable2.scaleY
+        },
+        raw: {
+          x: rawTransformable.x,
+          y: rawTransformable.y,
+          scaleX: rawTransformable.scaleX,
+          scaleY: rawTransformable.scaleY
+        }
+      };
+    };
+    View2.prototype.getViewRect = function() {
+      return this._viewRect;
+    };
+    View2.prototype.getViewRectAfterRoam = function() {
+      var rect = this.getBoundingRect().clone();
+      rect.applyTransform(this.transform);
+      return rect;
+    };
+    View2.prototype.dataToPoint = function(data2, noRoam, out2) {
+      var transform3 = noRoam ? this._rawTransform : this.transform;
+      out2 = out2 || [];
+      return transform3 ? v2ApplyTransform(out2, data2, transform3) : copy$1(out2, data2);
+    };
+    View2.prototype.pointToData = function(point) {
+      var invTransform = this.invTransform;
+      return invTransform ? v2ApplyTransform([], point, invTransform) : [point[0], point[1]];
+    };
+    View2.prototype.convertToPixel = function(ecModel, finder, value) {
+      var coordSys = getCoordSys$4(finder);
+      return coordSys === this ? coordSys.dataToPoint(value) : null;
+    };
+    View2.prototype.convertFromPixel = function(ecModel, finder, pixel) {
+      var coordSys = getCoordSys$4(finder);
+      return coordSys === this ? coordSys.pointToData(pixel) : null;
+    };
+    View2.prototype.containPoint = function(point) {
+      return this.getViewRectAfterRoam().contain(point[0], point[1]);
+    };
+    View2.dimensions = ["x", "y"];
+    return View2;
+  }(Transformable$1)
+);
+function getCoordSys$4(finder) {
+  var seriesModel = finder.seriesModel;
+  return seriesModel ? seriesModel.coordinateSystem : null;
+}
+const View$1 = View;
+var GEO_DEFAULT_PARAMS = {
+  "geoJSON": {
+    aspectScale: 0.75,
+    invertLongitute: true
+  },
+  "geoSVG": {
+    aspectScale: 1,
+    invertLongitute: false
+  }
+};
+var geo2DDimensions = ["lng", "lat"];
+var Geo = (
+  /** @class */
+  function(_super) {
+    __extends(Geo2, _super);
+    function Geo2(name2, map2, opt) {
+      var _this = _super.call(this, name2) || this;
+      _this.dimensions = geo2DDimensions;
+      _this.type = "geo";
+      _this._nameCoordMap = createHashMap();
+      _this.map = map2;
+      var projection = opt.projection;
+      var source2 = geoSourceManager.load(map2, opt.nameMap, opt.nameProperty);
+      var resource = geoSourceManager.getGeoResource(map2);
+      _this.resourceType = resource ? resource.type : null;
+      var regions = _this.regions = source2.regions;
+      var defaultParams = GEO_DEFAULT_PARAMS[resource.type];
+      _this._regionsMap = source2.regionsMap;
+      _this.regions = source2.regions;
+      _this.projection = projection;
+      var boundingRect;
+      if (projection) {
+        for (var i2 = 0; i2 < regions.length; i2++) {
+          var regionRect = regions[i2].getBoundingRect(projection);
+          boundingRect = boundingRect || regionRect.clone();
+          boundingRect.union(regionRect);
+        }
+      } else {
+        boundingRect = source2.boundingRect;
+      }
+      _this.setBoundingRect(boundingRect.x, boundingRect.y, boundingRect.width, boundingRect.height);
+      _this.aspectScale = projection ? 1 : retrieve2(opt.aspectScale, defaultParams.aspectScale);
+      _this._invertLongitute = projection ? false : defaultParams.invertLongitute;
+      return _this;
+    }
+    Geo2.prototype._transformTo = function(x2, y2, width, height) {
+      var rect = this.getBoundingRect();
+      var invertLongitute = this._invertLongitute;
+      rect = rect.clone();
+      if (invertLongitute) {
+        rect.y = -rect.y - rect.height;
+      }
+      var rawTransformable = this._rawTransformable;
+      rawTransformable.transform = rect.calculateTransform(new BoundingRect$1(x2, y2, width, height));
+      var rawParent = rawTransformable.parent;
+      rawTransformable.parent = null;
+      rawTransformable.decomposeTransform();
+      rawTransformable.parent = rawParent;
+      if (invertLongitute) {
+        rawTransformable.scaleY = -rawTransformable.scaleY;
+      }
+      this._updateTransform();
+    };
+    Geo2.prototype.getRegion = function(name2) {
+      return this._regionsMap.get(name2);
+    };
+    Geo2.prototype.getRegionByCoord = function(coord) {
+      var regions = this.regions;
+      for (var i2 = 0; i2 < regions.length; i2++) {
+        var region = regions[i2];
+        if (region.type === "geoJSON" && region.contain(coord)) {
+          return regions[i2];
+        }
+      }
+    };
+    Geo2.prototype.addGeoCoord = function(name2, geoCoord2) {
+      this._nameCoordMap.set(name2, geoCoord2);
+    };
+    Geo2.prototype.getGeoCoord = function(name2) {
+      var region = this._regionsMap.get(name2);
+      return this._nameCoordMap.get(name2) || region && region.getCenter();
+    };
+    Geo2.prototype.dataToPoint = function(data2, noRoam, out2) {
+      if (isString$1(data2)) {
+        data2 = this.getGeoCoord(data2);
+      }
+      if (data2) {
+        var projection = this.projection;
+        if (projection) {
+          data2 = projection.project(data2);
+        }
+        return data2 && this.projectedToPoint(data2, noRoam, out2);
+      }
+    };
+    Geo2.prototype.pointToData = function(point) {
+      var projection = this.projection;
+      if (projection) {
+        point = projection.unproject(point);
+      }
+      return point && this.pointToProjected(point);
+    };
+    Geo2.prototype.pointToProjected = function(point) {
+      return _super.prototype.pointToData.call(this, point);
+    };
+    Geo2.prototype.projectedToPoint = function(projected, noRoam, out2) {
+      return _super.prototype.dataToPoint.call(this, projected, noRoam, out2);
+    };
+    Geo2.prototype.convertToPixel = function(ecModel, finder, value) {
+      var coordSys = getCoordSys$3(finder);
+      return coordSys === this ? coordSys.dataToPoint(value) : null;
+    };
+    Geo2.prototype.convertFromPixel = function(ecModel, finder, pixel) {
+      var coordSys = getCoordSys$3(finder);
+      return coordSys === this ? coordSys.pointToData(pixel) : null;
+    };
+    return Geo2;
+  }(View$1)
+);
+mixin(Geo, View$1);
+function getCoordSys$3(finder) {
+  var geoModel = finder.geoModel;
+  var seriesModel = finder.seriesModel;
+  return geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem || (seriesModel.getReferringComponents("geo", SINGLE_REFERRING).models[0] || {}).coordinateSystem : null;
+}
+const Geo$1 = Geo;
+function resizeGeo(geoModel, api2) {
+  var boundingCoords = geoModel.get("boundingCoords");
+  if (boundingCoords != null) {
+    var leftTop_1 = boundingCoords[0];
+    var rightBottom_1 = boundingCoords[1];
+    if (!(isFinite(leftTop_1[0]) && isFinite(leftTop_1[1]) && isFinite(rightBottom_1[0]) && isFinite(rightBottom_1[1])))
+      ;
+    else {
+      var projection_1 = this.projection;
+      if (projection_1) {
+        var xMin = leftTop_1[0];
+        var yMin = leftTop_1[1];
+        var xMax = rightBottom_1[0];
+        var yMax = rightBottom_1[1];
+        leftTop_1 = [Infinity, Infinity];
+        rightBottom_1 = [-Infinity, -Infinity];
+        var sampleLine = function(x0, y0, x1, y1) {
+          var dx = x1 - x0;
+          var dy = y1 - y0;
+          for (var i2 = 0; i2 <= 100; i2++) {
+            var p2 = i2 / 100;
+            var pt = projection_1.project([x0 + dx * p2, y0 + dy * p2]);
+            min$1(leftTop_1, leftTop_1, pt);
+            max$1(rightBottom_1, rightBottom_1, pt);
+          }
+        };
+        sampleLine(xMin, yMin, xMax, yMin);
+        sampleLine(xMax, yMin, xMax, yMax);
+        sampleLine(xMax, yMax, xMin, yMax);
+        sampleLine(xMin, yMax, xMax, yMin);
+      }
+      this.setBoundingRect(leftTop_1[0], leftTop_1[1], rightBottom_1[0] - leftTop_1[0], rightBottom_1[1] - leftTop_1[1]);
+    }
+  }
+  var rect = this.getBoundingRect();
+  var centerOption = geoModel.get("layoutCenter");
+  var sizeOption = geoModel.get("layoutSize");
+  var viewWidth = api2.getWidth();
+  var viewHeight = api2.getHeight();
+  var aspect = rect.width / rect.height * this.aspectScale;
+  var useCenterAndSize = false;
+  var center2;
+  var size;
+  if (centerOption && sizeOption) {
+    center2 = [parsePercent(centerOption[0], viewWidth), parsePercent(centerOption[1], viewHeight)];
+    size = parsePercent(sizeOption, Math.min(viewWidth, viewHeight));
+    if (!isNaN(center2[0]) && !isNaN(center2[1]) && !isNaN(size)) {
+      useCenterAndSize = true;
+    }
+  }
+  var viewRect2;
+  if (useCenterAndSize) {
+    viewRect2 = {};
+    if (aspect > 1) {
+      viewRect2.width = size;
+      viewRect2.height = size / aspect;
+    } else {
+      viewRect2.height = size;
+      viewRect2.width = size * aspect;
+    }
+    viewRect2.y = center2[1] - viewRect2.height / 2;
+    viewRect2.x = center2[0] - viewRect2.width / 2;
+  } else {
+    var boxLayoutOption = geoModel.getBoxLayoutParams();
+    boxLayoutOption.aspect = aspect;
+    viewRect2 = getLayoutRect(boxLayoutOption, {
+      width: viewWidth,
+      height: viewHeight
+    });
+  }
+  this.setViewRect(viewRect2.x, viewRect2.y, viewRect2.width, viewRect2.height);
+  this.setCenter(geoModel.get("center"), api2);
+  this.setZoom(geoModel.get("zoom"));
+}
+function setGeoCoords(geo2, model2) {
+  each$f(model2.get("geoCoord"), function(geoCoord2, name2) {
+    geo2.addGeoCoord(name2, geoCoord2);
+  });
+}
+var GeoCreator = (
+  /** @class */
+  function() {
+    function GeoCreator2() {
+      this.dimensions = geo2DDimensions;
+    }
+    GeoCreator2.prototype.create = function(ecModel, api2) {
+      var geoList = [];
+      function getCommonGeoProperties(model2) {
+        return {
+          nameProperty: model2.get("nameProperty"),
+          aspectScale: model2.get("aspectScale"),
+          projection: model2.get("projection")
+        };
+      }
+      ecModel.eachComponent("geo", function(geoModel, idx) {
+        var mapName = geoModel.get("map");
+        var geo2 = new Geo$1(mapName + idx, mapName, extend$1({
+          nameMap: geoModel.get("nameMap")
+        }, getCommonGeoProperties(geoModel)));
+        geo2.zoomLimit = geoModel.get("scaleLimit");
+        geoList.push(geo2);
+        geoModel.coordinateSystem = geo2;
+        geo2.model = geoModel;
+        geo2.resize = resizeGeo;
+        geo2.resize(geoModel, api2);
+      });
+      ecModel.eachSeries(function(seriesModel) {
+        var coordSys = seriesModel.get("coordinateSystem");
+        if (coordSys === "geo") {
+          var geoIndex = seriesModel.get("geoIndex") || 0;
+          seriesModel.coordinateSystem = geoList[geoIndex];
+        }
+      });
+      var mapModelGroupBySeries = {};
+      ecModel.eachSeriesByType("map", function(seriesModel) {
+        if (!seriesModel.getHostGeoModel()) {
+          var mapType = seriesModel.getMapType();
+          mapModelGroupBySeries[mapType] = mapModelGroupBySeries[mapType] || [];
+          mapModelGroupBySeries[mapType].push(seriesModel);
+        }
+      });
+      each$f(mapModelGroupBySeries, function(mapSeries, mapType) {
+        var nameMapList = map$1(mapSeries, function(singleMapSeries) {
+          return singleMapSeries.get("nameMap");
+        });
+        var geo2 = new Geo$1(mapType, mapType, extend$1({
+          nameMap: mergeAll(nameMapList)
+        }, getCommonGeoProperties(mapSeries[0])));
+        geo2.zoomLimit = retrieve.apply(null, map$1(mapSeries, function(singleMapSeries) {
+          return singleMapSeries.get("scaleLimit");
+        }));
+        geoList.push(geo2);
+        geo2.resize = resizeGeo;
+        geo2.resize(mapSeries[0], api2);
+        each$f(mapSeries, function(singleMapSeries) {
+          singleMapSeries.coordinateSystem = geo2;
+          setGeoCoords(geo2, singleMapSeries);
+        });
+      });
+      return geoList;
+    };
+    GeoCreator2.prototype.getFilledRegions = function(originRegionArr, mapName, nameMap, nameProperty) {
+      var regionsArr = (originRegionArr || []).slice();
+      var dataNameMap = createHashMap();
+      for (var i2 = 0; i2 < regionsArr.length; i2++) {
+        dataNameMap.set(regionsArr[i2].name, regionsArr[i2]);
+      }
+      var source2 = geoSourceManager.load(mapName, nameMap, nameProperty);
+      each$f(source2.regions, function(region) {
+        var name2 = region.name;
+        !dataNameMap.get(name2) && regionsArr.push({
+          name: name2
+        });
+      });
+      return regionsArr;
+    };
+    return GeoCreator2;
+  }()
+);
+var geoCreator = new GeoCreator();
+const geoCreator$1 = geoCreator;
+var GeoModel = (
+  /** @class */
+  function(_super) {
+    __extends(GeoModel2, _super);
+    function GeoModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GeoModel2.type;
+      return _this;
+    }
+    GeoModel2.prototype.init = function(option, parentModel, ecModel) {
+      var source2 = geoSourceManager.getGeoResource(option.map);
+      if (source2 && source2.type === "geoJSON") {
+        var itemStyle2 = option.itemStyle = option.itemStyle || {};
+        if (!("color" in itemStyle2)) {
+          itemStyle2.color = "#eee";
+        }
+      }
+      this.mergeDefaultAndTheme(option, ecModel);
+      defaultEmphasis(option, "label", ["show"]);
+    };
+    GeoModel2.prototype.optionUpdated = function() {
+      var _this = this;
+      var option = this.option;
+      option.regions = geoCreator$1.getFilledRegions(option.regions, option.map, option.nameMap, option.nameProperty);
+      var selectedMap = {};
+      this._optionModelMap = reduce(option.regions || [], function(optionModelMap, regionOpt) {
+        var regionName = regionOpt.name;
+        if (regionName) {
+          optionModelMap.set(regionName, new Model$1(regionOpt, _this, _this.ecModel));
+          if (regionOpt.selected) {
+            selectedMap[regionName] = true;
+          }
+        }
+        return optionModelMap;
+      }, createHashMap());
+      if (!option.selectedMap) {
+        option.selectedMap = selectedMap;
+      }
+    };
+    GeoModel2.prototype.getRegionModel = function(name2) {
+      return this._optionModelMap.get(name2) || new Model$1(null, this, this.ecModel);
+    };
+    GeoModel2.prototype.getFormattedLabel = function(name2, status) {
+      var regionModel = this.getRegionModel(name2);
+      var formatter = status === "normal" ? regionModel.get(["label", "formatter"]) : regionModel.get(["emphasis", "label", "formatter"]);
+      var params2 = {
+        name: name2
+      };
+      if (isFunction$1(formatter)) {
+        params2.status = status;
+        return formatter(params2);
+      } else if (isString$1(formatter)) {
+        return formatter.replace("{a}", name2 != null ? name2 : "");
+      }
+    };
+    GeoModel2.prototype.setZoom = function(zoom) {
+      this.option.zoom = zoom;
+    };
+    GeoModel2.prototype.setCenter = function(center2) {
+      this.option.center = center2;
+    };
+    GeoModel2.prototype.select = function(name2) {
+      var option = this.option;
+      var selectedMode = option.selectedMode;
+      if (!selectedMode) {
+        return;
+      }
+      if (selectedMode !== "multiple") {
+        option.selectedMap = null;
+      }
+      var selectedMap = option.selectedMap || (option.selectedMap = {});
+      selectedMap[name2] = true;
+    };
+    GeoModel2.prototype.unSelect = function(name2) {
+      var selectedMap = this.option.selectedMap;
+      if (selectedMap) {
+        selectedMap[name2] = false;
+      }
+    };
+    GeoModel2.prototype.toggleSelected = function(name2) {
+      this[this.isSelected(name2) ? "unSelect" : "select"](name2);
+    };
+    GeoModel2.prototype.isSelected = function(name2) {
+      var selectedMap = this.option.selectedMap;
+      return !!(selectedMap && selectedMap[name2]);
+    };
+    GeoModel2.type = "geo";
+    GeoModel2.layoutMode = "box";
+    GeoModel2.defaultOption = {
+      // zlevel: 0,
+      z: 0,
+      show: true,
+      left: "center",
+      top: "center",
+      // Default value:
+      // for geoSVG source: 1,
+      // for geoJSON source: 0.75.
+      aspectScale: null,
+      // /// Layout with center and size
+      // If you want to put map in a fixed size box with right aspect ratio
+      // This two properties may be more convenient
+      // layoutCenter: [50%, 50%]
+      // layoutSize: 100
+      silent: false,
+      // Map type
+      map: "",
+      // Define left-top, right-bottom coords to control view
+      // For example, [ [180, 90], [-180, -90] ]
+      boundingCoords: null,
+      // Default on center of map
+      center: null,
+      zoom: 1,
+      scaleLimit: null,
+      // selectedMode: false
+      label: {
+        show: false,
+        color: "#000"
+      },
+      itemStyle: {
+        borderWidth: 0.5,
+        borderColor: "#444"
+        // Default color:
+        // + geoJSON: #eee
+        // + geoSVG: null (use SVG original `fill`)
+        // color: '#eee'
+      },
+      emphasis: {
+        label: {
+          show: true,
+          color: "rgb(100,0,0)"
+        },
+        itemStyle: {
+          color: "rgba(255,215,0,0.8)"
+        }
+      },
+      select: {
+        label: {
+          show: true,
+          color: "rgb(100,0,0)"
+        },
+        itemStyle: {
+          color: "rgba(255,215,0,0.8)"
+        }
+      },
+      regions: []
+      // tooltip: {
+      //     show: false
+      // }
+    };
+    return GeoModel2;
+  }(ComponentModel$1)
+);
+const GeoModel$1 = GeoModel;
+function getCenterCoord(view, point) {
+  return view.pointToProjected ? view.pointToProjected(point) : view.pointToData(point);
+}
+function updateCenterAndZoom(view, payload, zoomLimit, api2) {
+  var previousZoom = view.getZoom();
+  var center2 = view.getCenter();
+  var zoom = payload.zoom;
+  var point = view.projectedToPoint ? view.projectedToPoint(center2) : view.dataToPoint(center2);
+  if (payload.dx != null && payload.dy != null) {
+    point[0] -= payload.dx;
+    point[1] -= payload.dy;
+    view.setCenter(getCenterCoord(view, point), api2);
+  }
+  if (zoom != null) {
+    if (zoomLimit) {
+      var zoomMin = zoomLimit.min || 0;
+      var zoomMax = zoomLimit.max || Infinity;
+      zoom = Math.max(Math.min(previousZoom * zoom, zoomMax), zoomMin) / previousZoom;
+    }
+    view.scaleX *= zoom;
+    view.scaleY *= zoom;
+    var fixX = (payload.originX - view.x) * (zoom - 1);
+    var fixY = (payload.originY - view.y) * (zoom - 1);
+    view.x -= fixX;
+    view.y -= fixY;
+    view.updateTransform();
+    view.setCenter(getCenterCoord(view, point), api2);
+    view.setZoom(zoom * previousZoom);
+  }
+  return {
+    center: view.getCenter(),
+    zoom: view.getZoom()
+  };
+}
+var GeoView = (
+  /** @class */
+  function(_super) {
+    __extends(GeoView2, _super);
+    function GeoView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GeoView2.type;
+      _this.focusBlurEnabled = true;
+      return _this;
+    }
+    GeoView2.prototype.init = function(ecModel, api2) {
+      this._api = api2;
+    };
+    GeoView2.prototype.render = function(geoModel, ecModel, api2, payload) {
+      this._model = geoModel;
+      if (!geoModel.get("show")) {
+        this._mapDraw && this._mapDraw.remove();
+        this._mapDraw = null;
+        return;
+      }
+      if (!this._mapDraw) {
+        this._mapDraw = new MapDraw$1(api2);
+      }
+      var mapDraw = this._mapDraw;
+      mapDraw.draw(geoModel, ecModel, api2, this, payload);
+      mapDraw.group.on("click", this._handleRegionClick, this);
+      mapDraw.group.silent = geoModel.get("silent");
+      this.group.add(mapDraw.group);
+      this.updateSelectStatus(geoModel, ecModel, api2);
+    };
+    GeoView2.prototype._handleRegionClick = function(e2) {
+      var eventData;
+      findEventDispatcher(e2.target, function(current) {
+        return (eventData = getECData(current).eventData) != null;
+      }, true);
+      if (eventData) {
+        this._api.dispatchAction({
+          type: "geoToggleSelect",
+          geoId: this._model.id,
+          name: eventData.name
+        });
+      }
+    };
+    GeoView2.prototype.updateSelectStatus = function(model2, ecModel, api2) {
+      var _this = this;
+      this._mapDraw.group.traverse(function(node) {
+        var eventData = getECData(node).eventData;
+        if (eventData) {
+          _this._model.isSelected(eventData.name) ? api2.enterSelect(node) : api2.leaveSelect(node);
+          return true;
+        }
+      });
+    };
+    GeoView2.prototype.findHighDownDispatchers = function(name2) {
+      return this._mapDraw && this._mapDraw.findHighDownDispatchers(name2, this._model);
+    };
+    GeoView2.prototype.dispose = function() {
+      this._mapDraw && this._mapDraw.remove();
+    };
+    GeoView2.type = "geo";
+    return GeoView2;
+  }(ComponentView$1)
+);
+const GeoView$1 = GeoView;
+function registerMap(mapName, geoJson, specialAreas) {
+  geoSourceManager.registerMap(mapName, geoJson, specialAreas);
+}
+function install$J(registers) {
+  registers.registerCoordinateSystem("geo", geoCreator$1);
+  registers.registerComponentModel(GeoModel$1);
+  registers.registerComponentView(GeoView$1);
+  registers.registerImpl("registerMap", registerMap);
+  registers.registerImpl("getMap", function(mapName) {
+    return geoSourceManager.getMapForUser(mapName);
+  });
+  function makeAction(method, actionInfo2) {
+    actionInfo2.update = "geo:updateSelectStatus";
+    registers.registerAction(actionInfo2, function(payload, ecModel) {
+      var selected = {};
+      var allSelected = [];
+      ecModel.eachComponent({
+        mainType: "geo",
+        query: payload
+      }, function(geoModel) {
+        geoModel[method](payload.name);
+        var geo2 = geoModel.coordinateSystem;
+        each$f(geo2.regions, function(region) {
+          selected[region.name] = geoModel.isSelected(region.name) || false;
+        });
+        var names = [];
+        each$f(selected, function(v4, name2) {
+          selected[name2] && names.push(name2);
+        });
+        allSelected.push({
+          geoIndex: geoModel.componentIndex,
+          // Use singular, the same naming convention as the event `selectchanged`.
+          name: names
+        });
+      });
+      return {
+        selected,
+        allSelected,
+        name: payload.name
+      };
+    });
+  }
+  makeAction("toggleSelected", {
+    type: "geoToggleSelect",
+    event: "geoselectchanged"
+  });
+  makeAction("select", {
+    type: "geoSelect",
+    event: "geoselected"
+  });
+  makeAction("unSelect", {
+    type: "geoUnSelect",
+    event: "geounselected"
+  });
+  registers.registerAction({
+    type: "geoRoam",
+    event: "geoRoam",
+    update: "updateTransform"
+  }, function(payload, ecModel, api2) {
+    var componentType = payload.componentType || "series";
+    ecModel.eachComponent({
+      mainType: componentType,
+      query: payload
+    }, function(componentModel) {
+      var geo2 = componentModel.coordinateSystem;
+      if (geo2.type !== "geo") {
+        return;
+      }
+      var res = updateCenterAndZoom(geo2, payload, componentModel.get("scaleLimit"), api2);
+      componentModel.setCenter && componentModel.setCenter(res.center);
+      componentModel.setZoom && componentModel.setZoom(res.zoom);
+      if (componentType === "series") {
+        each$f(componentModel.seriesGroup, function(seriesModel) {
+          seriesModel.setCenter(res.center);
+          seriesModel.setZoom(res.zoom);
+        });
+      }
+    });
+  });
+}
+function install$I(registers) {
+  use(install$J);
+  registers.registerChartView(MapView$1);
+  registers.registerSeriesModel(MapSeries$1);
+  registers.registerLayout(mapSymbolLayout);
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, mapDataStatistic);
+  createLegacyDataSelectAction("map", registers.registerAction);
+}
+function init(inRoot) {
+  var root = inRoot;
+  root.hierNode = {
+    defaultAncestor: null,
+    ancestor: root,
+    prelim: 0,
+    modifier: 0,
+    change: 0,
+    shift: 0,
+    i: 0,
+    thread: null
+  };
+  var nodes = [root];
+  var node;
+  var children3;
+  while (node = nodes.pop()) {
+    children3 = node.children;
+    if (node.isExpand && children3.length) {
+      var n2 = children3.length;
+      for (var i2 = n2 - 1; i2 >= 0; i2--) {
+        var child = children3[i2];
+        child.hierNode = {
+          defaultAncestor: null,
+          ancestor: child,
+          prelim: 0,
+          modifier: 0,
+          change: 0,
+          shift: 0,
+          i: i2,
+          thread: null
+        };
+        nodes.push(child);
+      }
+    }
+  }
+}
+function firstWalk(node, separation2) {
+  var children3 = node.isExpand ? node.children : [];
+  var siblings = node.parentNode.children;
+  var subtreeW = node.hierNode.i ? siblings[node.hierNode.i - 1] : null;
+  if (children3.length) {
+    executeShifts(node);
+    var midPoint = (children3[0].hierNode.prelim + children3[children3.length - 1].hierNode.prelim) / 2;
+    if (subtreeW) {
+      node.hierNode.prelim = subtreeW.hierNode.prelim + separation2(node, subtreeW);
+      node.hierNode.modifier = node.hierNode.prelim - midPoint;
+    } else {
+      node.hierNode.prelim = midPoint;
+    }
+  } else if (subtreeW) {
+    node.hierNode.prelim = subtreeW.hierNode.prelim + separation2(node, subtreeW);
+  }
+  node.parentNode.hierNode.defaultAncestor = apportion(node, subtreeW, node.parentNode.hierNode.defaultAncestor || siblings[0], separation2);
+}
+function secondWalk(node) {
+  var nodeX = node.hierNode.prelim + node.parentNode.hierNode.modifier;
+  node.setLayout({
+    x: nodeX
+  }, true);
+  node.hierNode.modifier += node.parentNode.hierNode.modifier;
+}
+function separation(cb) {
+  return arguments.length ? cb : defaultSeparation;
+}
+function radialCoordinate(rad, r2) {
+  rad -= Math.PI / 2;
+  return {
+    x: r2 * Math.cos(rad),
+    y: r2 * Math.sin(rad)
+  };
+}
+function getViewRect$4(seriesModel, api2) {
+  return getLayoutRect(seriesModel.getBoxLayoutParams(), {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  });
+}
+function executeShifts(node) {
+  var children3 = node.children;
+  var n2 = children3.length;
+  var shift = 0;
+  var change = 0;
+  while (--n2 >= 0) {
+    var child = children3[n2];
+    child.hierNode.prelim += shift;
+    child.hierNode.modifier += shift;
+    change += child.hierNode.change;
+    shift += child.hierNode.shift + change;
+  }
+}
+function apportion(subtreeV, subtreeW, ancestor, separation2) {
+  if (subtreeW) {
+    var nodeOutRight = subtreeV;
+    var nodeInRight = subtreeV;
+    var nodeOutLeft = nodeInRight.parentNode.children[0];
+    var nodeInLeft = subtreeW;
+    var sumOutRight = nodeOutRight.hierNode.modifier;
+    var sumInRight = nodeInRight.hierNode.modifier;
+    var sumOutLeft = nodeOutLeft.hierNode.modifier;
+    var sumInLeft = nodeInLeft.hierNode.modifier;
+    while (nodeInLeft = nextRight(nodeInLeft), nodeInRight = nextLeft(nodeInRight), nodeInLeft && nodeInRight) {
+      nodeOutRight = nextRight(nodeOutRight);
+      nodeOutLeft = nextLeft(nodeOutLeft);
+      nodeOutRight.hierNode.ancestor = subtreeV;
+      var shift = nodeInLeft.hierNode.prelim + sumInLeft - nodeInRight.hierNode.prelim - sumInRight + separation2(nodeInLeft, nodeInRight);
+      if (shift > 0) {
+        moveSubtree(nextAncestor(nodeInLeft, subtreeV, ancestor), subtreeV, shift);
+        sumInRight += shift;
+        sumOutRight += shift;
+      }
+      sumInLeft += nodeInLeft.hierNode.modifier;
+      sumInRight += nodeInRight.hierNode.modifier;
+      sumOutRight += nodeOutRight.hierNode.modifier;
+      sumOutLeft += nodeOutLeft.hierNode.modifier;
+    }
+    if (nodeInLeft && !nextRight(nodeOutRight)) {
+      nodeOutRight.hierNode.thread = nodeInLeft;
+      nodeOutRight.hierNode.modifier += sumInLeft - sumOutRight;
+    }
+    if (nodeInRight && !nextLeft(nodeOutLeft)) {
+      nodeOutLeft.hierNode.thread = nodeInRight;
+      nodeOutLeft.hierNode.modifier += sumInRight - sumOutLeft;
+      ancestor = subtreeV;
+    }
+  }
+  return ancestor;
+}
+function nextRight(node) {
+  var children3 = node.children;
+  return children3.length && node.isExpand ? children3[children3.length - 1] : node.hierNode.thread;
+}
+function nextLeft(node) {
+  var children3 = node.children;
+  return children3.length && node.isExpand ? children3[0] : node.hierNode.thread;
+}
+function nextAncestor(nodeInLeft, node, ancestor) {
+  return nodeInLeft.hierNode.ancestor.parentNode === node.parentNode ? nodeInLeft.hierNode.ancestor : ancestor;
+}
+function moveSubtree(wl, wr, shift) {
+  var change = shift / (wr.hierNode.i - wl.hierNode.i);
+  wr.hierNode.change -= change;
+  wr.hierNode.shift += shift;
+  wr.hierNode.modifier += shift;
+  wr.hierNode.prelim += shift;
+  wl.hierNode.change += change;
+}
+function defaultSeparation(node1, node2) {
+  return node1.parentNode === node2.parentNode ? 1 : 2;
+}
+var TreeEdgeShape = (
+  /** @class */
+  function() {
+    function TreeEdgeShape2() {
+      this.parentPoint = [];
+      this.childPoints = [];
+    }
+    return TreeEdgeShape2;
+  }()
+);
+var TreePath = (
+  /** @class */
+  function(_super) {
+    __extends(TreePath2, _super);
+    function TreePath2(opts2) {
+      return _super.call(this, opts2) || this;
+    }
+    TreePath2.prototype.getDefaultStyle = function() {
+      return {
+        stroke: "#000",
+        fill: null
+      };
+    };
+    TreePath2.prototype.getDefaultShape = function() {
+      return new TreeEdgeShape();
+    };
+    TreePath2.prototype.buildPath = function(ctx, shape) {
+      var childPoints = shape.childPoints;
+      var childLen = childPoints.length;
+      var parentPoint = shape.parentPoint;
+      var firstChildPos = childPoints[0];
+      var lastChildPos = childPoints[childLen - 1];
+      if (childLen === 1) {
+        ctx.moveTo(parentPoint[0], parentPoint[1]);
+        ctx.lineTo(firstChildPos[0], firstChildPos[1]);
+        return;
+      }
+      var orient = shape.orient;
+      var forkDim = orient === "TB" || orient === "BT" ? 0 : 1;
+      var otherDim = 1 - forkDim;
+      var forkPosition = parsePercent(shape.forkPosition, 1);
+      var tmpPoint = [];
+      tmpPoint[forkDim] = parentPoint[forkDim];
+      tmpPoint[otherDim] = parentPoint[otherDim] + (lastChildPos[otherDim] - parentPoint[otherDim]) * forkPosition;
+      ctx.moveTo(parentPoint[0], parentPoint[1]);
+      ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      ctx.moveTo(firstChildPos[0], firstChildPos[1]);
+      tmpPoint[forkDim] = firstChildPos[forkDim];
+      ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      tmpPoint[forkDim] = lastChildPos[forkDim];
+      ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      ctx.lineTo(lastChildPos[0], lastChildPos[1]);
+      for (var i2 = 1; i2 < childLen - 1; i2++) {
+        var point = childPoints[i2];
+        ctx.moveTo(point[0], point[1]);
+        tmpPoint[forkDim] = point[forkDim];
+        ctx.lineTo(tmpPoint[0], tmpPoint[1]);
+      }
+    };
+    return TreePath2;
+  }(Path$1)
+);
+var TreeView = (
+  /** @class */
+  function(_super) {
+    __extends(TreeView2, _super);
+    function TreeView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TreeView2.type;
+      _this._mainGroup = new Group$4();
+      return _this;
+    }
+    TreeView2.prototype.init = function(ecModel, api2) {
+      this._controller = new RoamController$1(api2.getZr());
+      this._controllerHost = {
+        target: this.group
+      };
+      this.group.add(this._mainGroup);
+    };
+    TreeView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var layoutInfo = seriesModel.layoutInfo;
+      var group = this._mainGroup;
+      var layout2 = seriesModel.get("layout");
+      if (layout2 === "radial") {
+        group.x = layoutInfo.x + layoutInfo.width / 2;
+        group.y = layoutInfo.y + layoutInfo.height / 2;
+      } else {
+        group.x = layoutInfo.x;
+        group.y = layoutInfo.y;
+      }
+      this._updateViewCoordSys(seriesModel, api2);
+      this._updateController(seriesModel, ecModel, api2);
+      var oldData = this._data;
+      data2.diff(oldData).add(function(newIdx) {
+        if (symbolNeedsDraw(data2, newIdx)) {
+          updateNode(data2, newIdx, null, group, seriesModel);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        if (!symbolNeedsDraw(data2, newIdx)) {
+          symbolEl && removeNode(oldData, oldIdx, symbolEl, group, seriesModel);
+          return;
+        }
+        updateNode(data2, newIdx, symbolEl, group, seriesModel);
+      }).remove(function(oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        if (symbolEl) {
+          removeNode(oldData, oldIdx, symbolEl, group, seriesModel);
+        }
+      }).execute();
+      this._nodeScaleRatio = seriesModel.get("nodeScaleRatio");
+      this._updateNodeAndLinkScale(seriesModel);
+      if (seriesModel.get("expandAndCollapse") === true) {
+        data2.eachItemGraphicEl(function(el, dataIndex) {
+          el.off("click").on("click", function() {
+            api2.dispatchAction({
+              type: "treeExpandAndCollapse",
+              seriesId: seriesModel.id,
+              dataIndex
+            });
+          });
+        });
+      }
+      this._data = data2;
+    };
+    TreeView2.prototype._updateViewCoordSys = function(seriesModel, api2) {
+      var data2 = seriesModel.getData();
+      var points2 = [];
+      data2.each(function(idx) {
+        var layout2 = data2.getItemLayout(idx);
+        if (layout2 && !isNaN(layout2.x) && !isNaN(layout2.y)) {
+          points2.push([+layout2.x, +layout2.y]);
+        }
+      });
+      var min3 = [];
+      var max3 = [];
+      fromPoints(points2, min3, max3);
+      var oldMin = this._min;
+      var oldMax = this._max;
+      if (max3[0] - min3[0] === 0) {
+        min3[0] = oldMin ? oldMin[0] : min3[0] - 1;
+        max3[0] = oldMax ? oldMax[0] : max3[0] + 1;
+      }
+      if (max3[1] - min3[1] === 0) {
+        min3[1] = oldMin ? oldMin[1] : min3[1] - 1;
+        max3[1] = oldMax ? oldMax[1] : max3[1] + 1;
+      }
+      var viewCoordSys = seriesModel.coordinateSystem = new View$1();
+      viewCoordSys.zoomLimit = seriesModel.get("scaleLimit");
+      viewCoordSys.setBoundingRect(min3[0], min3[1], max3[0] - min3[0], max3[1] - min3[1]);
+      viewCoordSys.setCenter(seriesModel.get("center"), api2);
+      viewCoordSys.setZoom(seriesModel.get("zoom"));
+      this.group.attr({
+        x: viewCoordSys.x,
+        y: viewCoordSys.y,
+        scaleX: viewCoordSys.scaleX,
+        scaleY: viewCoordSys.scaleY
+      });
+      this._min = min3;
+      this._max = max3;
+    };
+    TreeView2.prototype._updateController = function(seriesModel, ecModel, api2) {
+      var _this = this;
+      var controller = this._controller;
+      var controllerHost = this._controllerHost;
+      var group = this.group;
+      controller.setPointerChecker(function(e2, x2, y2) {
+        var rect = group.getBoundingRect();
+        rect.applyTransform(group.transform);
+        return rect.contain(x2, y2) && !onIrrelevantElement(e2, api2, seriesModel);
+      });
+      controller.enable(seriesModel.get("roam"));
+      controllerHost.zoomLimit = seriesModel.get("scaleLimit");
+      controllerHost.zoom = seriesModel.coordinateSystem.getZoom();
+      controller.off("pan").off("zoom").on("pan", function(e2) {
+        updateViewOnPan(controllerHost, e2.dx, e2.dy);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "treeRoam",
+          dx: e2.dx,
+          dy: e2.dy
+        });
+      }).on("zoom", function(e2) {
+        updateViewOnZoom(controllerHost, e2.scale, e2.originX, e2.originY);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "treeRoam",
+          zoom: e2.scale,
+          originX: e2.originX,
+          originY: e2.originY
+        });
+        _this._updateNodeAndLinkScale(seriesModel);
+        api2.updateLabelLayout();
+      });
+    };
+    TreeView2.prototype._updateNodeAndLinkScale = function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var nodeScale = this._getNodeGlobalScale(seriesModel);
+      data2.eachItemGraphicEl(function(el, idx) {
+        el.setSymbolScale(nodeScale);
+      });
+    };
+    TreeView2.prototype._getNodeGlobalScale = function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys.type !== "view") {
+        return 1;
+      }
+      var nodeScaleRatio = this._nodeScaleRatio;
+      var groupZoom = coordSys.scaleX || 1;
+      var roamZoom = coordSys.getZoom();
+      var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;
+      return nodeScale / groupZoom;
+    };
+    TreeView2.prototype.dispose = function() {
+      this._controller && this._controller.dispose();
+      this._controllerHost = null;
+    };
+    TreeView2.prototype.remove = function() {
+      this._mainGroup.removeAll();
+      this._data = null;
+    };
+    TreeView2.type = "tree";
+    return TreeView2;
+  }(ChartView$1)
+);
+function symbolNeedsDraw(data2, dataIndex) {
+  var layout2 = data2.getItemLayout(dataIndex);
+  return layout2 && !isNaN(layout2.x) && !isNaN(layout2.y);
+}
+function updateNode(data2, dataIndex, symbolEl, group, seriesModel) {
+  var isInit = !symbolEl;
+  var node = data2.tree.getNodeByDataIndex(dataIndex);
+  var itemModel = node.getModel();
+  var visualColor = node.getVisual("style").fill;
+  var symbolInnerColor = node.isExpand === false && node.children.length !== 0 ? visualColor : "#fff";
+  var virtualRoot = data2.tree.root;
+  var source2 = node.parentNode === virtualRoot ? node : node.parentNode || node;
+  var sourceSymbolEl = data2.getItemGraphicEl(source2.dataIndex);
+  var sourceLayout = source2.getLayout();
+  var sourceOldLayout = sourceSymbolEl ? {
+    x: sourceSymbolEl.__oldX,
+    y: sourceSymbolEl.__oldY,
+    rawX: sourceSymbolEl.__radialOldRawX,
+    rawY: sourceSymbolEl.__radialOldRawY
+  } : sourceLayout;
+  var targetLayout = node.getLayout();
+  if (isInit) {
+    symbolEl = new SymbolClz(data2, dataIndex, null, {
+      symbolInnerColor,
+      useNameLabel: true
+    });
+    symbolEl.x = sourceOldLayout.x;
+    symbolEl.y = sourceOldLayout.y;
+  } else {
+    symbolEl.updateData(data2, dataIndex, null, {
+      symbolInnerColor,
+      useNameLabel: true
+    });
+  }
+  symbolEl.__radialOldRawX = symbolEl.__radialRawX;
+  symbolEl.__radialOldRawY = symbolEl.__radialRawY;
+  symbolEl.__radialRawX = targetLayout.rawX;
+  symbolEl.__radialRawY = targetLayout.rawY;
+  group.add(symbolEl);
+  data2.setItemGraphicEl(dataIndex, symbolEl);
+  symbolEl.__oldX = symbolEl.x;
+  symbolEl.__oldY = symbolEl.y;
+  updateProps$1(symbolEl, {
+    x: targetLayout.x,
+    y: targetLayout.y
+  }, seriesModel);
+  var symbolPath = symbolEl.getSymbolPath();
+  if (seriesModel.get("layout") === "radial") {
+    var realRoot = virtualRoot.children[0];
+    var rootLayout = realRoot.getLayout();
+    var length_1 = realRoot.children.length;
+    var rad = void 0;
+    var isLeft = void 0;
+    if (targetLayout.x === rootLayout.x && node.isExpand === true && realRoot.children.length) {
+      var center2 = {
+        x: (realRoot.children[0].getLayout().x + realRoot.children[length_1 - 1].getLayout().x) / 2,
+        y: (realRoot.children[0].getLayout().y + realRoot.children[length_1 - 1].getLayout().y) / 2
+      };
+      rad = Math.atan2(center2.y - rootLayout.y, center2.x - rootLayout.x);
+      if (rad < 0) {
+        rad = Math.PI * 2 + rad;
+      }
+      isLeft = center2.x < rootLayout.x;
+      if (isLeft) {
+        rad = rad - Math.PI;
+      }
+    } else {
+      rad = Math.atan2(targetLayout.y - rootLayout.y, targetLayout.x - rootLayout.x);
+      if (rad < 0) {
+        rad = Math.PI * 2 + rad;
+      }
+      if (node.children.length === 0 || node.children.length !== 0 && node.isExpand === false) {
+        isLeft = targetLayout.x < rootLayout.x;
+        if (isLeft) {
+          rad = rad - Math.PI;
+        }
+      } else {
+        isLeft = targetLayout.x > rootLayout.x;
+        if (!isLeft) {
+          rad = rad - Math.PI;
+        }
+      }
+    }
+    var textPosition = isLeft ? "left" : "right";
+    var normalLabelModel = itemModel.getModel("label");
+    var rotate2 = normalLabelModel.get("rotate");
+    var labelRotateRadian = rotate2 * (Math.PI / 180);
+    var textContent = symbolPath.getTextContent();
+    if (textContent) {
+      symbolPath.setTextConfig({
+        position: normalLabelModel.get("position") || textPosition,
+        rotation: rotate2 == null ? -rad : labelRotateRadian,
+        origin: "center"
+      });
+      textContent.setStyle("verticalAlign", "middle");
+    }
+  }
+  var focus2 = itemModel.get(["emphasis", "focus"]);
+  var focusDataIndices = focus2 === "relative" ? concatArray(node.getAncestorsIndices(), node.getDescendantIndices()) : focus2 === "ancestor" ? node.getAncestorsIndices() : focus2 === "descendant" ? node.getDescendantIndices() : null;
+  if (focusDataIndices) {
+    getECData(symbolEl).focus = focusDataIndices;
+  }
+  drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group);
+  if (symbolEl.__edge) {
+    symbolEl.onHoverStateChange = function(toState) {
+      if (toState !== "blur") {
+        var parentEl = node.parentNode && data2.getItemGraphicEl(node.parentNode.dataIndex);
+        if (!(parentEl && parentEl.hoverState === HOVER_STATE_BLUR)) {
+          setStatesFlag(symbolEl.__edge, toState);
+        }
+      }
+    };
+  }
+}
+function drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group) {
+  var itemModel = node.getModel();
+  var edgeShape = seriesModel.get("edgeShape");
+  var layout2 = seriesModel.get("layout");
+  var orient = seriesModel.getOrient();
+  var curvature = seriesModel.get(["lineStyle", "curveness"]);
+  var edgeForkPosition = seriesModel.get("edgeForkPosition");
+  var lineStyle2 = itemModel.getModel("lineStyle").getLineStyle();
+  var edge = symbolEl.__edge;
+  if (edgeShape === "curve") {
+    if (node.parentNode && node.parentNode !== virtualRoot) {
+      if (!edge) {
+        edge = symbolEl.__edge = new BezierCurve$1({
+          shape: getEdgeShape(layout2, orient, curvature, sourceOldLayout, sourceOldLayout)
+        });
+      }
+      updateProps$1(edge, {
+        shape: getEdgeShape(layout2, orient, curvature, sourceLayout, targetLayout)
+      }, seriesModel);
+    }
+  } else if (edgeShape === "polyline") {
+    if (layout2 === "orthogonal") {
+      if (node !== virtualRoot && node.children && node.children.length !== 0 && node.isExpand === true) {
+        var children3 = node.children;
+        var childPoints = [];
+        for (var i2 = 0; i2 < children3.length; i2++) {
+          var childLayout = children3[i2].getLayout();
+          childPoints.push([childLayout.x, childLayout.y]);
+        }
+        if (!edge) {
+          edge = symbolEl.__edge = new TreePath({
+            shape: {
+              parentPoint: [targetLayout.x, targetLayout.y],
+              childPoints: [[targetLayout.x, targetLayout.y]],
+              orient,
+              forkPosition: edgeForkPosition
+            }
+          });
+        }
+        updateProps$1(edge, {
+          shape: {
+            parentPoint: [targetLayout.x, targetLayout.y],
+            childPoints
+          }
+        }, seriesModel);
+      }
+    }
+  }
+  if (edge && !(edgeShape === "polyline" && !node.isExpand)) {
+    edge.useStyle(defaults$2({
+      strokeNoScale: true,
+      fill: null
+    }, lineStyle2));
+    setStatesStylesFromModel(edge, itemModel, "lineStyle");
+    setDefaultStateProxy(edge);
+    group.add(edge);
+  }
+}
+function removeNodeEdge(node, data2, group, seriesModel, removeAnimationOpt) {
+  var virtualRoot = data2.tree.root;
+  var _a2 = getSourceNode(virtualRoot, node), source2 = _a2.source, sourceLayout = _a2.sourceLayout;
+  var symbolEl = data2.getItemGraphicEl(node.dataIndex);
+  if (!symbolEl) {
+    return;
+  }
+  var sourceSymbolEl = data2.getItemGraphicEl(source2.dataIndex);
+  var sourceEdge = sourceSymbolEl.__edge;
+  var edge = symbolEl.__edge || (source2.isExpand === false || source2.children.length === 1 ? sourceEdge : void 0);
+  var edgeShape = seriesModel.get("edgeShape");
+  var layoutOpt = seriesModel.get("layout");
+  var orient = seriesModel.get("orient");
+  var curvature = seriesModel.get(["lineStyle", "curveness"]);
+  if (edge) {
+    if (edgeShape === "curve") {
+      removeElement(edge, {
+        shape: getEdgeShape(layoutOpt, orient, curvature, sourceLayout, sourceLayout),
+        style: {
+          opacity: 0
+        }
+      }, seriesModel, {
+        cb: function() {
+          group.remove(edge);
+        },
+        removeOpt: removeAnimationOpt
+      });
+    } else if (edgeShape === "polyline" && seriesModel.get("layout") === "orthogonal") {
+      removeElement(edge, {
+        shape: {
+          parentPoint: [sourceLayout.x, sourceLayout.y],
+          childPoints: [[sourceLayout.x, sourceLayout.y]]
+        },
+        style: {
+          opacity: 0
+        }
+      }, seriesModel, {
+        cb: function() {
+          group.remove(edge);
+        },
+        removeOpt: removeAnimationOpt
+      });
+    }
+  }
+}
+function getSourceNode(virtualRoot, node) {
+  var source2 = node.parentNode === virtualRoot ? node : node.parentNode || node;
+  var sourceLayout;
+  while (sourceLayout = source2.getLayout(), sourceLayout == null) {
+    source2 = source2.parentNode === virtualRoot ? source2 : source2.parentNode || source2;
+  }
+  return {
+    source: source2,
+    sourceLayout
+  };
+}
+function removeNode(data2, dataIndex, symbolEl, group, seriesModel) {
+  var node = data2.tree.getNodeByDataIndex(dataIndex);
+  var virtualRoot = data2.tree.root;
+  var sourceLayout = getSourceNode(virtualRoot, node).sourceLayout;
+  var removeAnimationOpt = {
+    duration: seriesModel.get("animationDurationUpdate"),
+    easing: seriesModel.get("animationEasingUpdate")
+  };
+  removeElement(symbolEl, {
+    x: sourceLayout.x + 1,
+    y: sourceLayout.y + 1
+  }, seriesModel, {
+    cb: function() {
+      group.remove(symbolEl);
+      data2.setItemGraphicEl(dataIndex, null);
+    },
+    removeOpt: removeAnimationOpt
+  });
+  symbolEl.fadeOut(null, data2.hostModel, {
+    fadeLabel: true,
+    animation: removeAnimationOpt
+  });
+  node.children.forEach(function(childNode) {
+    removeNodeEdge(childNode, data2, group, seriesModel, removeAnimationOpt);
+  });
+  removeNodeEdge(node, data2, group, seriesModel, removeAnimationOpt);
+}
+function getEdgeShape(layoutOpt, orient, curvature, sourceLayout, targetLayout) {
+  var cpx1;
+  var cpy1;
+  var cpx2;
+  var cpy2;
+  var x1;
+  var x2;
+  var y1;
+  var y2;
+  if (layoutOpt === "radial") {
+    x1 = sourceLayout.rawX;
+    y1 = sourceLayout.rawY;
+    x2 = targetLayout.rawX;
+    y2 = targetLayout.rawY;
+    var radialCoor1 = radialCoordinate(x1, y1);
+    var radialCoor2 = radialCoordinate(x1, y1 + (y2 - y1) * curvature);
+    var radialCoor3 = radialCoordinate(x2, y2 + (y1 - y2) * curvature);
+    var radialCoor4 = radialCoordinate(x2, y2);
+    return {
+      x1: radialCoor1.x || 0,
+      y1: radialCoor1.y || 0,
+      x2: radialCoor4.x || 0,
+      y2: radialCoor4.y || 0,
+      cpx1: radialCoor2.x || 0,
+      cpy1: radialCoor2.y || 0,
+      cpx2: radialCoor3.x || 0,
+      cpy2: radialCoor3.y || 0
+    };
+  } else {
+    x1 = sourceLayout.x;
+    y1 = sourceLayout.y;
+    x2 = targetLayout.x;
+    y2 = targetLayout.y;
+    if (orient === "LR" || orient === "RL") {
+      cpx1 = x1 + (x2 - x1) * curvature;
+      cpy1 = y1;
+      cpx2 = x2 + (x1 - x2) * curvature;
+      cpy2 = y2;
+    }
+    if (orient === "TB" || orient === "BT") {
+      cpx1 = x1;
+      cpy1 = y1 + (y2 - y1) * curvature;
+      cpx2 = x2;
+      cpy2 = y2 + (y1 - y2) * curvature;
+    }
+  }
+  return {
+    x1,
+    y1,
+    x2,
+    y2,
+    cpx1,
+    cpy1,
+    cpx2,
+    cpy2
+  };
+}
+const TreeView$1 = TreeView;
+var inner$e = makeInner();
+function linkSeriesData(opt) {
+  var mainData = opt.mainData;
+  var datas = opt.datas;
+  if (!datas) {
+    datas = {
+      main: mainData
+    };
+    opt.datasAttr = {
+      main: "data"
+    };
+  }
+  opt.datas = opt.mainData = null;
+  linkAll(mainData, datas, opt);
+  each$f(datas, function(data2) {
+    each$f(mainData.TRANSFERABLE_METHODS, function(methodName) {
+      data2.wrapMethod(methodName, curry$1(transferInjection, opt));
+    });
+  });
+  mainData.wrapMethod("cloneShallow", curry$1(cloneShallowInjection, opt));
+  each$f(mainData.CHANGABLE_METHODS, function(methodName) {
+    mainData.wrapMethod(methodName, curry$1(changeInjection, opt));
+  });
+  assert(datas[mainData.dataType] === mainData);
+}
+function transferInjection(opt, res) {
+  if (isMainData(this)) {
+    var datas = extend$1({}, inner$e(this).datas);
+    datas[this.dataType] = res;
+    linkAll(res, datas, opt);
+  } else {
+    linkSingle(res, this.dataType, inner$e(this).mainData, opt);
+  }
+  return res;
+}
+function changeInjection(opt, res) {
+  opt.struct && opt.struct.update();
+  return res;
+}
+function cloneShallowInjection(opt, res) {
+  each$f(inner$e(res).datas, function(data2, dataType) {
+    data2 !== res && linkSingle(data2.cloneShallow(), dataType, res, opt);
+  });
+  return res;
+}
+function getLinkedData(dataType) {
+  var mainData = inner$e(this).mainData;
+  return dataType == null || mainData == null ? mainData : inner$e(mainData).datas[dataType];
+}
+function getLinkedDataAll() {
+  var mainData = inner$e(this).mainData;
+  return mainData == null ? [{
+    data: mainData
+  }] : map$1(keys(inner$e(mainData).datas), function(type2) {
+    return {
+      type: type2,
+      data: inner$e(mainData).datas[type2]
+    };
+  });
+}
+function isMainData(data2) {
+  return inner$e(data2).mainData === data2;
+}
+function linkAll(mainData, datas, opt) {
+  inner$e(mainData).datas = {};
+  each$f(datas, function(data2, dataType) {
+    linkSingle(data2, dataType, mainData, opt);
+  });
+}
+function linkSingle(data2, dataType, mainData, opt) {
+  inner$e(mainData).datas[dataType] = data2;
+  inner$e(data2).mainData = mainData;
+  data2.dataType = dataType;
+  if (opt.struct) {
+    data2[opt.structAttr] = opt.struct;
+    opt.struct[opt.datasAttr[dataType]] = data2;
+  }
+  data2.getLinkedData = getLinkedData;
+  data2.getLinkedDataAll = getLinkedDataAll;
+}
+var TreeNode = (
+  /** @class */
+  function() {
+    function TreeNode2(name2, hostTree) {
+      this.depth = 0;
+      this.height = 0;
+      this.dataIndex = -1;
+      this.children = [];
+      this.viewChildren = [];
+      this.isExpand = false;
+      this.name = name2 || "";
+      this.hostTree = hostTree;
+    }
+    TreeNode2.prototype.isRemoved = function() {
+      return this.dataIndex < 0;
+    };
+    TreeNode2.prototype.eachNode = function(options2, cb, context) {
+      if (isFunction$1(options2)) {
+        context = cb;
+        cb = options2;
+        options2 = null;
+      }
+      options2 = options2 || {};
+      if (isString$1(options2)) {
+        options2 = {
+          order: options2
+        };
+      }
+      var order = options2.order || "preorder";
+      var children3 = this[options2.attr || "children"];
+      var suppressVisitSub;
+      order === "preorder" && (suppressVisitSub = cb.call(context, this));
+      for (var i2 = 0; !suppressVisitSub && i2 < children3.length; i2++) {
+        children3[i2].eachNode(options2, cb, context);
+      }
+      order === "postorder" && cb.call(context, this);
+    };
+    TreeNode2.prototype.updateDepthAndHeight = function(depth) {
+      var height = 0;
+      this.depth = depth;
+      for (var i2 = 0; i2 < this.children.length; i2++) {
+        var child = this.children[i2];
+        child.updateDepthAndHeight(depth + 1);
+        if (child.height > height) {
+          height = child.height;
+        }
+      }
+      this.height = height + 1;
+    };
+    TreeNode2.prototype.getNodeById = function(id) {
+      if (this.getId() === id) {
+        return this;
+      }
+      for (var i2 = 0, children3 = this.children, len2 = children3.length; i2 < len2; i2++) {
+        var res = children3[i2].getNodeById(id);
+        if (res) {
+          return res;
+        }
+      }
+    };
+    TreeNode2.prototype.contains = function(node) {
+      if (node === this) {
+        return true;
+      }
+      for (var i2 = 0, children3 = this.children, len2 = children3.length; i2 < len2; i2++) {
+        var res = children3[i2].contains(node);
+        if (res) {
+          return res;
+        }
+      }
+    };
+    TreeNode2.prototype.getAncestors = function(includeSelf) {
+      var ancestors = [];
+      var node = includeSelf ? this : this.parentNode;
+      while (node) {
+        ancestors.push(node);
+        node = node.parentNode;
+      }
+      ancestors.reverse();
+      return ancestors;
+    };
+    TreeNode2.prototype.getAncestorsIndices = function() {
+      var indices = [];
+      var currNode = this;
+      while (currNode) {
+        indices.push(currNode.dataIndex);
+        currNode = currNode.parentNode;
+      }
+      indices.reverse();
+      return indices;
+    };
+    TreeNode2.prototype.getDescendantIndices = function() {
+      var indices = [];
+      this.eachNode(function(childNode) {
+        indices.push(childNode.dataIndex);
+      });
+      return indices;
+    };
+    TreeNode2.prototype.getValue = function(dimension) {
+      var data2 = this.hostTree.data;
+      return data2.getStore().get(data2.getDimensionIndex(dimension || "value"), this.dataIndex);
+    };
+    TreeNode2.prototype.setLayout = function(layout2, merge2) {
+      this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout2, merge2);
+    };
+    TreeNode2.prototype.getLayout = function() {
+      return this.hostTree.data.getItemLayout(this.dataIndex);
+    };
+    TreeNode2.prototype.getModel = function(path2) {
+      if (this.dataIndex < 0) {
+        return;
+      }
+      var hostTree = this.hostTree;
+      var itemModel = hostTree.data.getItemModel(this.dataIndex);
+      return itemModel.getModel(path2);
+    };
+    TreeNode2.prototype.getLevelModel = function() {
+      return (this.hostTree.levelModels || [])[this.depth];
+    };
+    TreeNode2.prototype.setVisual = function(key2, value) {
+      this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key2, value);
+    };
+    TreeNode2.prototype.getVisual = function(key2) {
+      return this.hostTree.data.getItemVisual(this.dataIndex, key2);
+    };
+    TreeNode2.prototype.getRawIndex = function() {
+      return this.hostTree.data.getRawIndex(this.dataIndex);
+    };
+    TreeNode2.prototype.getId = function() {
+      return this.hostTree.data.getId(this.dataIndex);
+    };
+    TreeNode2.prototype.getChildIndex = function() {
+      if (this.parentNode) {
+        var children3 = this.parentNode.children;
+        for (var i2 = 0; i2 < children3.length; ++i2) {
+          if (children3[i2] === this) {
+            return i2;
+          }
+        }
+        return -1;
+      }
+      return -1;
+    };
+    TreeNode2.prototype.isAncestorOf = function(node) {
+      var parent3 = node.parentNode;
+      while (parent3) {
+        if (parent3 === this) {
+          return true;
+        }
+        parent3 = parent3.parentNode;
+      }
+      return false;
+    };
+    TreeNode2.prototype.isDescendantOf = function(node) {
+      return node !== this && node.isAncestorOf(this);
+    };
+    return TreeNode2;
+  }()
+);
+var Tree = (
+  /** @class */
+  function() {
+    function Tree2(hostModel) {
+      this.type = "tree";
+      this._nodes = [];
+      this.hostModel = hostModel;
+    }
+    Tree2.prototype.eachNode = function(options2, cb, context) {
+      this.root.eachNode(options2, cb, context);
+    };
+    Tree2.prototype.getNodeByDataIndex = function(dataIndex) {
+      var rawIndex = this.data.getRawIndex(dataIndex);
+      return this._nodes[rawIndex];
+    };
+    Tree2.prototype.getNodeById = function(name2) {
+      return this.root.getNodeById(name2);
+    };
+    Tree2.prototype.update = function() {
+      var data2 = this.data;
+      var nodes = this._nodes;
+      for (var i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+        nodes[i2].dataIndex = -1;
+      }
+      for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+        nodes[data2.getRawIndex(i2)].dataIndex = i2;
+      }
+    };
+    Tree2.prototype.clearLayouts = function() {
+      this.data.clearItemLayouts();
+    };
+    Tree2.createTree = function(dataRoot, hostModel, beforeLink) {
+      var tree2 = new Tree2(hostModel);
+      var listData = [];
+      var dimMax = 1;
+      buildHierarchy(dataRoot);
+      function buildHierarchy(dataNode, parentNode2) {
+        var value = dataNode.value;
+        dimMax = Math.max(dimMax, isArray$2(value) ? value.length : 1);
+        listData.push(dataNode);
+        var node = new TreeNode(convertOptionIdName(dataNode.name, ""), tree2);
+        parentNode2 ? addChild(node, parentNode2) : tree2.root = node;
+        tree2._nodes.push(node);
+        var children3 = dataNode.children;
+        if (children3) {
+          for (var i2 = 0; i2 < children3.length; i2++) {
+            buildHierarchy(children3[i2], node);
+          }
+        }
+      }
+      tree2.root.updateDepthAndHeight(0);
+      var dimensions = prepareSeriesDataSchema(listData, {
+        coordDimensions: ["value"],
+        dimensionsCount: dimMax
+      }).dimensions;
+      var list2 = new SeriesData$1(dimensions, hostModel);
+      list2.initData(listData);
+      beforeLink && beforeLink(list2);
+      linkSeriesData({
+        mainData: list2,
+        struct: tree2,
+        structAttr: "tree"
+      });
+      tree2.update();
+      return tree2;
+    };
+    return Tree2;
+  }()
+);
+function addChild(child, node) {
+  var children3 = node.children;
+  if (child.parentNode === node) {
+    return;
+  }
+  children3.push(child);
+  child.parentNode = node;
+}
+const Tree$1 = Tree;
+function retrieveTargetInfo(payload, validPayloadTypes, seriesModel) {
+  if (payload && indexOf(validPayloadTypes, payload.type) >= 0) {
+    var root = seriesModel.getData().tree.root;
+    var targetNode = payload.targetNode;
+    if (isString$1(targetNode)) {
+      targetNode = root.getNodeById(targetNode);
+    }
+    if (targetNode && root.contains(targetNode)) {
+      return {
+        node: targetNode
+      };
+    }
+    var targetNodeId = payload.targetNodeId;
+    if (targetNodeId != null && (targetNode = root.getNodeById(targetNodeId))) {
+      return {
+        node: targetNode
+      };
+    }
+  }
+}
+function getPathToRoot(node) {
+  var path2 = [];
+  while (node) {
+    node = node.parentNode;
+    node && path2.push(node);
+  }
+  return path2.reverse();
+}
+function aboveViewRoot(viewRoot, node) {
+  var viewPath = getPathToRoot(viewRoot);
+  return indexOf(viewPath, node) >= 0;
+}
+function wrapTreePathInfo(node, seriesModel) {
+  var treePathInfo = [];
+  while (node) {
+    var nodeDataIndex = node.dataIndex;
+    treePathInfo.push({
+      name: node.name,
+      dataIndex: nodeDataIndex,
+      value: seriesModel.getRawValue(nodeDataIndex)
+    });
+    node = node.parentNode;
+  }
+  treePathInfo.reverse();
+  return treePathInfo;
+}
+var TreeSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(TreeSeriesModel2, _super);
+    function TreeSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.hasSymbolVisual = true;
+      _this.ignoreStyleOnData = true;
+      return _this;
+    }
+    TreeSeriesModel2.prototype.getInitialData = function(option) {
+      var root = {
+        name: option.name,
+        children: option.data
+      };
+      var leaves = option.leaves || {};
+      var leavesModel = new Model$1(leaves, this, this.ecModel);
+      var tree2 = Tree$1.createTree(root, this, beforeLink);
+      function beforeLink(nodeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var node = tree2.getNodeByDataIndex(idx);
+          if (!(node && node.children.length && node.isExpand)) {
+            model2.parentModel = leavesModel;
+          }
+          return model2;
+        });
+      }
+      var treeDepth = 0;
+      tree2.eachNode("preorder", function(node) {
+        if (node.depth > treeDepth) {
+          treeDepth = node.depth;
+        }
+      });
+      var expandAndCollapse = option.expandAndCollapse;
+      var expandTreeDepth = expandAndCollapse && option.initialTreeDepth >= 0 ? option.initialTreeDepth : treeDepth;
+      tree2.root.eachNode("preorder", function(node) {
+        var item = node.hostTree.data.getRawDataItem(node.dataIndex);
+        node.isExpand = item && item.collapsed != null ? !item.collapsed : node.depth <= expandTreeDepth;
+      });
+      return tree2.data;
+    };
+    TreeSeriesModel2.prototype.getOrient = function() {
+      var orient = this.get("orient");
+      if (orient === "horizontal") {
+        orient = "LR";
+      } else if (orient === "vertical") {
+        orient = "TB";
+      }
+      return orient;
+    };
+    TreeSeriesModel2.prototype.setZoom = function(zoom) {
+      this.option.zoom = zoom;
+    };
+    TreeSeriesModel2.prototype.setCenter = function(center2) {
+      this.option.center = center2;
+    };
+    TreeSeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var tree2 = this.getData().tree;
+      var realRoot = tree2.root.children[0];
+      var node = tree2.getNodeByDataIndex(dataIndex);
+      var value = node.getValue();
+      var name2 = node.name;
+      while (node && node !== realRoot) {
+        name2 = node.parentNode.name + "." + name2;
+        node = node.parentNode;
+      }
+      return createTooltipMarkup("nameValue", {
+        name: name2,
+        value,
+        noValue: isNaN(value) || value == null
+      });
+    };
+    TreeSeriesModel2.prototype.getDataParams = function(dataIndex) {
+      var params2 = _super.prototype.getDataParams.apply(this, arguments);
+      var node = this.getData().tree.getNodeByDataIndex(dataIndex);
+      params2.treeAncestors = wrapTreePathInfo(node, this);
+      params2.collapsed = !node.isExpand;
+      return params2;
+    };
+    TreeSeriesModel2.type = "series.tree";
+    TreeSeriesModel2.layoutMode = "box";
+    TreeSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "view",
+      // the position of the whole view
+      left: "12%",
+      top: "12%",
+      right: "12%",
+      bottom: "12%",
+      // the layout of the tree, two value can be selected, 'orthogonal' or 'radial'
+      layout: "orthogonal",
+      // value can be 'polyline'
+      edgeShape: "curve",
+      edgeForkPosition: "50%",
+      // true | false | 'move' | 'scale', see module:component/helper/RoamController.
+      roam: false,
+      // Symbol size scale ratio in roam
+      nodeScaleRatio: 0.4,
+      // Default on center of graph
+      center: null,
+      zoom: 1,
+      orient: "LR",
+      symbol: "emptyCircle",
+      symbolSize: 7,
+      expandAndCollapse: true,
+      initialTreeDepth: 2,
+      lineStyle: {
+        color: "#ccc",
+        width: 1.5,
+        curveness: 0.5
+      },
+      itemStyle: {
+        color: "lightsteelblue",
+        // borderColor: '#c23531',
+        borderWidth: 1.5
+      },
+      label: {
+        show: true
+      },
+      animationEasing: "linear",
+      animationDuration: 700,
+      animationDurationUpdate: 500
+    };
+    return TreeSeriesModel2;
+  }(SeriesModel$1)
+);
+const TreeSeriesModel$1 = TreeSeriesModel;
+function eachAfter(root, callback, separation2) {
+  var nodes = [root];
+  var next = [];
+  var node;
+  while (node = nodes.pop()) {
+    next.push(node);
+    if (node.isExpand) {
+      var children3 = node.children;
+      if (children3.length) {
+        for (var i2 = 0; i2 < children3.length; i2++) {
+          nodes.push(children3[i2]);
+        }
+      }
+    }
+  }
+  while (node = next.pop()) {
+    callback(node, separation2);
+  }
+}
+function eachBefore(root, callback) {
+  var nodes = [root];
+  var node;
+  while (node = nodes.pop()) {
+    callback(node);
+    if (node.isExpand) {
+      var children3 = node.children;
+      if (children3.length) {
+        for (var i2 = children3.length - 1; i2 >= 0; i2--) {
+          nodes.push(children3[i2]);
+        }
+      }
+    }
+  }
+}
+function treeLayout(ecModel, api2) {
+  ecModel.eachSeriesByType("tree", function(seriesModel) {
+    commonLayout(seriesModel, api2);
+  });
+}
+function commonLayout(seriesModel, api2) {
+  var layoutInfo = getViewRect$4(seriesModel, api2);
+  seriesModel.layoutInfo = layoutInfo;
+  var layout2 = seriesModel.get("layout");
+  var width = 0;
+  var height = 0;
+  var separation$1 = null;
+  if (layout2 === "radial") {
+    width = 2 * Math.PI;
+    height = Math.min(layoutInfo.height, layoutInfo.width) / 2;
+    separation$1 = separation(function(node1, node2) {
+      return (node1.parentNode === node2.parentNode ? 1 : 2) / node1.depth;
+    });
+  } else {
+    width = layoutInfo.width;
+    height = layoutInfo.height;
+    separation$1 = separation();
+  }
+  var virtualRoot = seriesModel.getData().tree.root;
+  var realRoot = virtualRoot.children[0];
+  if (realRoot) {
+    init(virtualRoot);
+    eachAfter(realRoot, firstWalk, separation$1);
+    virtualRoot.hierNode.modifier = -realRoot.hierNode.prelim;
+    eachBefore(realRoot, secondWalk);
+    var left_1 = realRoot;
+    var right_1 = realRoot;
+    var bottom_1 = realRoot;
+    eachBefore(realRoot, function(node) {
+      var x2 = node.getLayout().x;
+      if (x2 < left_1.getLayout().x) {
+        left_1 = node;
+      }
+      if (x2 > right_1.getLayout().x) {
+        right_1 = node;
+      }
+      if (node.depth > bottom_1.depth) {
+        bottom_1 = node;
+      }
+    });
+    var delta = left_1 === right_1 ? 1 : separation$1(left_1, right_1) / 2;
+    var tx_1 = delta - left_1.getLayout().x;
+    var kx_1 = 0;
+    var ky_1 = 0;
+    var coorX_1 = 0;
+    var coorY_1 = 0;
+    if (layout2 === "radial") {
+      kx_1 = width / (right_1.getLayout().x + delta + tx_1);
+      ky_1 = height / (bottom_1.depth - 1 || 1);
+      eachBefore(realRoot, function(node) {
+        coorX_1 = (node.getLayout().x + tx_1) * kx_1;
+        coorY_1 = (node.depth - 1) * ky_1;
+        var finalCoor = radialCoordinate(coorX_1, coorY_1);
+        node.setLayout({
+          x: finalCoor.x,
+          y: finalCoor.y,
+          rawX: coorX_1,
+          rawY: coorY_1
+        }, true);
+      });
+    } else {
+      var orient_1 = seriesModel.getOrient();
+      if (orient_1 === "RL" || orient_1 === "LR") {
+        ky_1 = height / (right_1.getLayout().x + delta + tx_1);
+        kx_1 = width / (bottom_1.depth - 1 || 1);
+        eachBefore(realRoot, function(node) {
+          coorY_1 = (node.getLayout().x + tx_1) * ky_1;
+          coorX_1 = orient_1 === "LR" ? (node.depth - 1) * kx_1 : width - (node.depth - 1) * kx_1;
+          node.setLayout({
+            x: coorX_1,
+            y: coorY_1
+          }, true);
+        });
+      } else if (orient_1 === "TB" || orient_1 === "BT") {
+        kx_1 = width / (right_1.getLayout().x + delta + tx_1);
+        ky_1 = height / (bottom_1.depth - 1 || 1);
+        eachBefore(realRoot, function(node) {
+          coorX_1 = (node.getLayout().x + tx_1) * kx_1;
+          coorY_1 = orient_1 === "TB" ? (node.depth - 1) * ky_1 : height - (node.depth - 1) * ky_1;
+          node.setLayout({
+            x: coorX_1,
+            y: coorY_1
+          }, true);
+        });
+      }
+    }
+  }
+}
+function treeVisual(ecModel) {
+  ecModel.eachSeriesByType("tree", function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var tree2 = data2.tree;
+    tree2.eachNode(function(node) {
+      var model2 = node.getModel();
+      var style2 = model2.getModel("itemStyle").getItemStyle();
+      var existsStyle = data2.ensureUniqueItemVisual(node.dataIndex, "style");
+      extend$1(existsStyle, style2);
+    });
+  });
+}
+function installTreeAction(registers) {
+  registers.registerAction({
+    type: "treeExpandAndCollapse",
+    event: "treeExpandAndCollapse",
+    update: "update"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "tree",
+      query: payload
+    }, function(seriesModel) {
+      var dataIndex = payload.dataIndex;
+      var tree2 = seriesModel.getData().tree;
+      var node = tree2.getNodeByDataIndex(dataIndex);
+      node.isExpand = !node.isExpand;
+    });
+  });
+  registers.registerAction({
+    type: "treeRoam",
+    event: "treeRoam",
+    // Here we set 'none' instead of 'update', because roam action
+    // just need to update the transform matrix without having to recalculate
+    // the layout. So don't need to go through the whole update process, such
+    // as 'dataPrcocess', 'coordSystemUpdate', 'layout' and so on.
+    update: "none"
+  }, function(payload, ecModel, api2) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "tree",
+      query: payload
+    }, function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var res = updateCenterAndZoom(coordSys, payload, void 0, api2);
+      seriesModel.setCenter && seriesModel.setCenter(res.center);
+      seriesModel.setZoom && seriesModel.setZoom(res.zoom);
+    });
+  });
+}
+function install$H(registers) {
+  registers.registerChartView(TreeView$1);
+  registers.registerSeriesModel(TreeSeriesModel$1);
+  registers.registerLayout(treeLayout);
+  registers.registerVisual(treeVisual);
+  installTreeAction(registers);
+}
+var actionTypes = ["treemapZoomToNode", "treemapRender", "treemapMove"];
+function installTreemapAction(registers) {
+  for (var i2 = 0; i2 < actionTypes.length; i2++) {
+    registers.registerAction({
+      type: actionTypes[i2],
+      update: "updateView"
+    }, noop$1);
+  }
+  registers.registerAction({
+    type: "treemapRootToNode",
+    update: "updateView"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "treemap",
+      query: payload
+    }, handleRootToNode);
+    function handleRootToNode(model2, index3) {
+      var types2 = ["treemapZoomToNode", "treemapRootToNode"];
+      var targetInfo = retrieveTargetInfo(payload, types2, model2);
+      if (targetInfo) {
+        var originViewRoot = model2.getViewRoot();
+        if (originViewRoot) {
+          payload.direction = aboveViewRoot(originViewRoot, targetInfo.node) ? "rollUp" : "drillDown";
+        }
+        model2.resetViewRoot(targetInfo.node);
+      }
+    }
+  });
+}
+function enableAriaDecalForTree(seriesModel) {
+  var data2 = seriesModel.getData();
+  var tree2 = data2.tree;
+  var decalPaletteScope2 = {};
+  tree2.eachNode(function(node) {
+    var current = node;
+    while (current && current.depth > 1) {
+      current = current.parentNode;
+    }
+    var decal = getDecalFromPalette(seriesModel.ecModel, current.name || current.dataIndex + "", decalPaletteScope2);
+    node.setVisual("decal", decal);
+  });
+}
+var TreemapSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(TreemapSeriesModel2, _super);
+    function TreemapSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TreemapSeriesModel2.type;
+      _this.preventUsingHoverLayer = true;
+      return _this;
+    }
+    TreemapSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      var root = {
+        name: option.name,
+        children: option.data
+      };
+      completeTreeValue$1(root);
+      var levels = option.levels || [];
+      var designatedVisualItemStyle = this.designatedVisualItemStyle = {};
+      var designatedVisualModel = new Model$1({
+        itemStyle: designatedVisualItemStyle
+      }, this, ecModel);
+      levels = option.levels = setDefault(levels, ecModel);
+      var levelModels = map$1(levels || [], function(levelDefine) {
+        return new Model$1(levelDefine, designatedVisualModel, ecModel);
+      }, this);
+      var tree2 = Tree$1.createTree(root, this, beforeLink);
+      function beforeLink(nodeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var node = tree2.getNodeByDataIndex(idx);
+          var levelModel = node ? levelModels[node.depth] : null;
+          model2.parentModel = levelModel || designatedVisualModel;
+          return model2;
+        });
+      }
+      return tree2.data;
+    };
+    TreemapSeriesModel2.prototype.optionUpdated = function() {
+      this.resetViewRoot();
+    };
+    TreemapSeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var data2 = this.getData();
+      var value = this.getRawValue(dataIndex);
+      var name2 = data2.getName(dataIndex);
+      return createTooltipMarkup("nameValue", {
+        name: name2,
+        value
+      });
+    };
+    TreemapSeriesModel2.prototype.getDataParams = function(dataIndex) {
+      var params2 = _super.prototype.getDataParams.apply(this, arguments);
+      var node = this.getData().tree.getNodeByDataIndex(dataIndex);
+      params2.treeAncestors = wrapTreePathInfo(node, this);
+      params2.treePathInfo = params2.treeAncestors;
+      return params2;
+    };
+    TreemapSeriesModel2.prototype.setLayoutInfo = function(layoutInfo) {
+      this.layoutInfo = this.layoutInfo || {};
+      extend$1(this.layoutInfo, layoutInfo);
+    };
+    TreemapSeriesModel2.prototype.mapIdToIndex = function(id) {
+      var idIndexMap = this._idIndexMap;
+      if (!idIndexMap) {
+        idIndexMap = this._idIndexMap = createHashMap();
+        this._idIndexMapCount = 0;
+      }
+      var index3 = idIndexMap.get(id);
+      if (index3 == null) {
+        idIndexMap.set(id, index3 = this._idIndexMapCount++);
+      }
+      return index3;
+    };
+    TreemapSeriesModel2.prototype.getViewRoot = function() {
+      return this._viewRoot;
+    };
+    TreemapSeriesModel2.prototype.resetViewRoot = function(viewRoot) {
+      viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;
+      var root = this.getRawData().tree.root;
+      if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {
+        this._viewRoot = root;
+      }
+    };
+    TreemapSeriesModel2.prototype.enableAriaDecal = function() {
+      enableAriaDecalForTree(this);
+    };
+    TreemapSeriesModel2.type = "series.treemap";
+    TreemapSeriesModel2.layoutMode = "box";
+    TreemapSeriesModel2.defaultOption = {
+      // Disable progressive rendering
+      progressive: 0,
+      // size: ['80%', '80%'],            // deprecated, compatible with ec2.
+      left: "center",
+      top: "middle",
+      width: "80%",
+      height: "80%",
+      sort: true,
+      clipWindow: "origin",
+      squareRatio: 0.5 * (1 + Math.sqrt(5)),
+      leafDepth: null,
+      drillDownIcon: "▶",
+      // to align specialized icon. ▷▶❒❐▼✚
+      zoomToNodeRatio: 0.32 * 0.32,
+      roam: true,
+      nodeClick: "zoomToNode",
+      animation: true,
+      animationDurationUpdate: 900,
+      animationEasing: "quinticInOut",
+      breadcrumb: {
+        show: true,
+        height: 22,
+        left: "center",
+        top: "bottom",
+        // right
+        // bottom
+        emptyItemWidth: 25,
+        itemStyle: {
+          color: "rgba(0,0,0,0.7)",
+          textStyle: {
+            color: "#fff"
+          }
+        },
+        emphasis: {
+          itemStyle: {
+            color: "rgba(0,0,0,0.9)"
+            // '#5793f3',
+          }
+        }
+      },
+      label: {
+        show: true,
+        // Do not use textDistance, for ellipsis rect just the same as treemap node rect.
+        distance: 0,
+        padding: 5,
+        position: "inside",
+        // formatter: null,
+        color: "#fff",
+        overflow: "truncate"
+        // align
+        // verticalAlign
+      },
+      upperLabel: {
+        show: false,
+        position: [0, "50%"],
+        height: 20,
+        // formatter: null,
+        // color: '#fff',
+        overflow: "truncate",
+        // align: null,
+        verticalAlign: "middle"
+      },
+      itemStyle: {
+        color: null,
+        colorAlpha: null,
+        colorSaturation: null,
+        borderWidth: 0,
+        gapWidth: 0,
+        borderColor: "#fff",
+        borderColorSaturation: null
+        // If specified, borderColor will be ineffective, and the
+        // border color is evaluated by color of current node and
+        // borderColorSaturation.
+      },
+      emphasis: {
+        upperLabel: {
+          show: true,
+          position: [0, "50%"],
+          overflow: "truncate",
+          verticalAlign: "middle"
+        }
+      },
+      visualDimension: 0,
+      visualMin: null,
+      visualMax: null,
+      color: [],
+      // level[n].color (if necessary).
+      // + Specify color list of each level. level[0].color would be global
+      // color list if not specified. (see method `setDefault`).
+      // + But set as a empty array to forbid fetch color from global palette
+      // when using nodeModel.get('color'), otherwise nodes on deep level
+      // will always has color palette set and are not able to inherit color
+      // from parent node.
+      // + TreemapSeries.color can not be set as 'none', otherwise effect
+      // legend color fetching (see seriesColor.js).
+      colorAlpha: null,
+      colorSaturation: null,
+      colorMappingBy: "index",
+      visibleMin: 10,
+      // be rendered. Only works when sort is 'asc' or 'desc'.
+      childrenVisibleMin: null,
+      // grandchildren will not show.
+      // Why grandchildren? If not grandchildren but children,
+      // some siblings show children and some not,
+      // the appearance may be mess and not consistent,
+      levels: []
+      // Each item: {
+      //     visibleMin, itemStyle, visualDimension, label
+      // }
+    };
+    return TreemapSeriesModel2;
+  }(SeriesModel$1)
+);
+function completeTreeValue$1(dataNode) {
+  var sum2 = 0;
+  each$f(dataNode.children, function(child) {
+    completeTreeValue$1(child);
+    var childValue = child.value;
+    isArray$2(childValue) && (childValue = childValue[0]);
+    sum2 += childValue;
+  });
+  var thisValue = dataNode.value;
+  if (isArray$2(thisValue)) {
+    thisValue = thisValue[0];
+  }
+  if (thisValue == null || isNaN(thisValue)) {
+    thisValue = sum2;
+  }
+  if (thisValue < 0) {
+    thisValue = 0;
+  }
+  isArray$2(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;
+}
+function setDefault(levels, ecModel) {
+  var globalColorList = normalizeToArray(ecModel.get("color"));
+  var globalDecalList = normalizeToArray(ecModel.get(["aria", "decal", "decals"]));
+  if (!globalColorList) {
+    return;
+  }
+  levels = levels || [];
+  var hasColorDefine;
+  var hasDecalDefine;
+  each$f(levels, function(levelDefine) {
+    var model2 = new Model$1(levelDefine);
+    var modelColor = model2.get("color");
+    var modelDecal = model2.get("decal");
+    if (model2.get(["itemStyle", "color"]) || modelColor && modelColor !== "none") {
+      hasColorDefine = true;
+    }
+    if (model2.get(["itemStyle", "decal"]) || modelDecal && modelDecal !== "none") {
+      hasDecalDefine = true;
+    }
+  });
+  var level0 = levels[0] || (levels[0] = {});
+  if (!hasColorDefine) {
+    level0.color = globalColorList.slice();
+  }
+  if (!hasDecalDefine && globalDecalList) {
+    level0.decal = globalDecalList.slice();
+  }
+  return levels;
+}
+const TreemapSeriesModel$1 = TreemapSeriesModel;
+var TEXT_PADDING = 8;
+var ITEM_GAP = 8;
+var ARRAY_LENGTH = 5;
+var Breadcrumb$2 = (
+  /** @class */
+  function() {
+    function Breadcrumb2(containerGroup) {
+      this.group = new Group$4();
+      containerGroup.add(this.group);
+    }
+    Breadcrumb2.prototype.render = function(seriesModel, api2, targetNode, onSelect) {
+      var model2 = seriesModel.getModel("breadcrumb");
+      var thisGroup = this.group;
+      thisGroup.removeAll();
+      if (!model2.get("show") || !targetNode) {
+        return;
+      }
+      var normalStyleModel = model2.getModel("itemStyle");
+      var emphasisModel = model2.getModel("emphasis");
+      var textStyleModel = normalStyleModel.getModel("textStyle");
+      var emphasisTextStyleModel = emphasisModel.getModel(["itemStyle", "textStyle"]);
+      var layoutParam = {
+        pos: {
+          left: model2.get("left"),
+          right: model2.get("right"),
+          top: model2.get("top"),
+          bottom: model2.get("bottom")
+        },
+        box: {
+          width: api2.getWidth(),
+          height: api2.getHeight()
+        },
+        emptyItemWidth: model2.get("emptyItemWidth"),
+        totalWidth: 0,
+        renderList: []
+      };
+      this._prepare(targetNode, layoutParam, textStyleModel);
+      this._renderContent(seriesModel, layoutParam, normalStyleModel, emphasisModel, textStyleModel, emphasisTextStyleModel, onSelect);
+      positionElement(thisGroup, layoutParam.pos, layoutParam.box);
+    };
+    Breadcrumb2.prototype._prepare = function(targetNode, layoutParam, textStyleModel) {
+      for (var node = targetNode; node; node = node.parentNode) {
+        var text2 = convertOptionIdName(node.getModel().get("name"), "");
+        var textRect = textStyleModel.getTextRect(text2);
+        var itemWidth = Math.max(textRect.width + TEXT_PADDING * 2, layoutParam.emptyItemWidth);
+        layoutParam.totalWidth += itemWidth + ITEM_GAP;
+        layoutParam.renderList.push({
+          node,
+          text: text2,
+          width: itemWidth
+        });
+      }
+    };
+    Breadcrumb2.prototype._renderContent = function(seriesModel, layoutParam, normalStyleModel, emphasisModel, textStyleModel, emphasisTextStyleModel, onSelect) {
+      var lastX = 0;
+      var emptyItemWidth = layoutParam.emptyItemWidth;
+      var height = seriesModel.get(["breadcrumb", "height"]);
+      var availableSize = getAvailableSize(layoutParam.pos, layoutParam.box);
+      var totalWidth = layoutParam.totalWidth;
+      var renderList2 = layoutParam.renderList;
+      var emphasisItemStyle = emphasisModel.getModel("itemStyle").getItemStyle();
+      for (var i2 = renderList2.length - 1; i2 >= 0; i2--) {
+        var item = renderList2[i2];
+        var itemNode = item.node;
+        var itemWidth = item.width;
+        var text2 = item.text;
+        if (totalWidth > availableSize.width) {
+          totalWidth -= itemWidth - emptyItemWidth;
+          itemWidth = emptyItemWidth;
+          text2 = null;
+        }
+        var el = new Polygon$1({
+          shape: {
+            points: makeItemPoints(lastX, 0, itemWidth, height, i2 === renderList2.length - 1, i2 === 0)
+          },
+          style: defaults$2(normalStyleModel.getItemStyle(), {
+            lineJoin: "bevel"
+          }),
+          textContent: new ZRText$1({
+            style: createTextStyle$1(textStyleModel, {
+              text: text2
+            })
+          }),
+          textConfig: {
+            position: "inside"
+          },
+          z2: Z2_EMPHASIS_LIFT * 1e4,
+          onclick: curry$1(onSelect, itemNode)
+        });
+        el.disableLabelAnimation = true;
+        el.getTextContent().ensureState("emphasis").style = createTextStyle$1(emphasisTextStyleModel, {
+          text: text2
+        });
+        el.ensureState("emphasis").style = emphasisItemStyle;
+        toggleHoverEmphasis(el, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+        this.group.add(el);
+        packEventData(el, seriesModel, itemNode);
+        lastX += itemWidth + ITEM_GAP;
+      }
+    };
+    Breadcrumb2.prototype.remove = function() {
+      this.group.removeAll();
+    };
+    return Breadcrumb2;
+  }()
+);
+function makeItemPoints(x2, y2, itemWidth, itemHeight, head, tail) {
+  var points2 = [[head ? x2 : x2 - ARRAY_LENGTH, y2], [x2 + itemWidth, y2], [x2 + itemWidth, y2 + itemHeight], [head ? x2 : x2 - ARRAY_LENGTH, y2 + itemHeight]];
+  !tail && points2.splice(2, 0, [x2 + itemWidth + ARRAY_LENGTH, y2 + itemHeight / 2]);
+  !head && points2.push([x2, y2 + itemHeight / 2]);
+  return points2;
+}
+function packEventData(el, seriesModel, itemNode) {
+  getECData(el).eventData = {
+    componentType: "series",
+    componentSubType: "treemap",
+    componentIndex: seriesModel.componentIndex,
+    seriesIndex: seriesModel.seriesIndex,
+    seriesName: seriesModel.name,
+    seriesType: "treemap",
+    selfType: "breadcrumb",
+    nodeData: {
+      dataIndex: itemNode && itemNode.dataIndex,
+      name: itemNode && itemNode.name
+    },
+    treePathInfo: itemNode && wrapTreePathInfo(itemNode, seriesModel)
+  };
+}
+const Breadcrumb$3 = Breadcrumb$2;
+var AnimationWrap = (
+  /** @class */
+  function() {
+    function AnimationWrap2() {
+      this._storage = [];
+      this._elExistsMap = {};
+    }
+    AnimationWrap2.prototype.add = function(el, target, duration, delay, easing2) {
+      if (this._elExistsMap[el.id]) {
+        return false;
+      }
+      this._elExistsMap[el.id] = true;
+      this._storage.push({
+        el,
+        target,
+        duration,
+        delay,
+        easing: easing2
+      });
+      return true;
+    };
+    AnimationWrap2.prototype.finished = function(callback) {
+      this._finishedCallback = callback;
+      return this;
+    };
+    AnimationWrap2.prototype.start = function() {
+      var _this = this;
+      var count2 = this._storage.length;
+      var checkTerminate = function() {
+        count2--;
+        if (count2 <= 0) {
+          _this._storage.length = 0;
+          _this._elExistsMap = {};
+          _this._finishedCallback && _this._finishedCallback();
+        }
+      };
+      for (var i2 = 0, len2 = this._storage.length; i2 < len2; i2++) {
+        var item = this._storage[i2];
+        item.el.animateTo(item.target, {
+          duration: item.duration,
+          delay: item.delay,
+          easing: item.easing,
+          setToFinal: true,
+          done: checkTerminate,
+          aborted: checkTerminate
+        });
+      }
+      return this;
+    };
+    return AnimationWrap2;
+  }()
+);
+function createWrap() {
+  return new AnimationWrap();
+}
+var Group$2 = Group$4;
+var Rect$1 = Rect$3;
+var DRAG_THRESHOLD = 3;
+var PATH_LABEL_NOAMAL = "label";
+var PATH_UPPERLABEL_NORMAL = "upperLabel";
+var Z2_BASE = Z2_EMPHASIS_LIFT * 10;
+var Z2_BG = Z2_EMPHASIS_LIFT * 2;
+var Z2_CONTENT = Z2_EMPHASIS_LIFT * 3;
+var getStateItemStyle = makeStyleMapper([
+  ["fill", "color"],
+  // `borderColor` and `borderWidth` has been occupied,
+  // so use `stroke` to indicate the stroke of the rect.
+  ["stroke", "strokeColor"],
+  ["lineWidth", "strokeWidth"],
+  ["shadowBlur"],
+  ["shadowOffsetX"],
+  ["shadowOffsetY"],
+  ["shadowColor"]
+  // Option decal is in `DecalObject` but style.decal is in `PatternObject`.
+  // So do not transfer decal directly.
+]);
+var getItemStyleNormal = function(model2) {
+  var itemStyle2 = getStateItemStyle(model2);
+  itemStyle2.stroke = itemStyle2.fill = itemStyle2.lineWidth = null;
+  return itemStyle2;
+};
+var inner$d = makeInner();
+var TreemapView = (
+  /** @class */
+  function(_super) {
+    __extends(TreemapView2, _super);
+    function TreemapView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TreemapView2.type;
+      _this._state = "ready";
+      _this._storage = createStorage();
+      return _this;
+    }
+    TreemapView2.prototype.render = function(seriesModel, ecModel, api2, payload) {
+      var models = ecModel.findComponents({
+        mainType: "series",
+        subType: "treemap",
+        query: payload
+      });
+      if (indexOf(models, seriesModel) < 0) {
+        return;
+      }
+      this.seriesModel = seriesModel;
+      this.api = api2;
+      this.ecModel = ecModel;
+      var types2 = ["treemapZoomToNode", "treemapRootToNode"];
+      var targetInfo = retrieveTargetInfo(payload, types2, seriesModel);
+      var payloadType = payload && payload.type;
+      var layoutInfo = seriesModel.layoutInfo;
+      var isInit = !this._oldTree;
+      var thisStorage = this._storage;
+      var reRoot = payloadType === "treemapRootToNode" && targetInfo && thisStorage ? {
+        rootNodeGroup: thisStorage.nodeGroup[targetInfo.node.getRawIndex()],
+        direction: payload.direction
+      } : null;
+      var containerGroup = this._giveContainerGroup(layoutInfo);
+      var hasAnimation = seriesModel.get("animation");
+      var renderResult = this._doRender(containerGroup, seriesModel, reRoot);
+      hasAnimation && !isInit && (!payloadType || payloadType === "treemapZoomToNode" || payloadType === "treemapRootToNode") ? this._doAnimation(containerGroup, renderResult, seriesModel, reRoot) : renderResult.renderFinally();
+      this._resetController(api2);
+      this._renderBreadcrumb(seriesModel, api2, targetInfo);
+    };
+    TreemapView2.prototype._giveContainerGroup = function(layoutInfo) {
+      var containerGroup = this._containerGroup;
+      if (!containerGroup) {
+        containerGroup = this._containerGroup = new Group$2();
+        this._initEvents(containerGroup);
+        this.group.add(containerGroup);
+      }
+      containerGroup.x = layoutInfo.x;
+      containerGroup.y = layoutInfo.y;
+      return containerGroup;
+    };
+    TreemapView2.prototype._doRender = function(containerGroup, seriesModel, reRoot) {
+      var thisTree = seriesModel.getData().tree;
+      var oldTree = this._oldTree;
+      var lastsForAnimation = createStorage();
+      var thisStorage = createStorage();
+      var oldStorage = this._storage;
+      var willInvisibleEls = [];
+      function doRenderNode(thisNode, oldNode, parentGroup, depth) {
+        return renderNode(seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls, thisNode, oldNode, parentGroup, depth);
+      }
+      dualTravel(thisTree.root ? [thisTree.root] : [], oldTree && oldTree.root ? [oldTree.root] : [], containerGroup, thisTree === oldTree || !oldTree, 0);
+      var willDeleteEls = clearStorage(oldStorage);
+      this._oldTree = thisTree;
+      this._storage = thisStorage;
+      return {
+        lastsForAnimation,
+        willDeleteEls,
+        renderFinally
+      };
+      function dualTravel(thisViewChildren, oldViewChildren, parentGroup, sameTree, depth) {
+        if (sameTree) {
+          oldViewChildren = thisViewChildren;
+          each$f(thisViewChildren, function(child, index3) {
+            !child.isRemoved() && processNode(index3, index3);
+          });
+        } else {
+          new DataDiffer$1(oldViewChildren, thisViewChildren, getKey2, getKey2).add(processNode).update(processNode).remove(curry$1(processNode, null)).execute();
+        }
+        function getKey2(node) {
+          return node.getId();
+        }
+        function processNode(newIndex, oldIndex) {
+          var thisNode = newIndex != null ? thisViewChildren[newIndex] : null;
+          var oldNode = oldIndex != null ? oldViewChildren[oldIndex] : null;
+          var group = doRenderNode(thisNode, oldNode, parentGroup, depth);
+          group && dualTravel(thisNode && thisNode.viewChildren || [], oldNode && oldNode.viewChildren || [], group, sameTree, depth + 1);
+        }
+      }
+      function clearStorage(storage2) {
+        var willDeleteEls2 = createStorage();
+        storage2 && each$f(storage2, function(store, storageName) {
+          var delEls = willDeleteEls2[storageName];
+          each$f(store, function(el) {
+            el && (delEls.push(el), inner$d(el).willDelete = true);
+          });
+        });
+        return willDeleteEls2;
+      }
+      function renderFinally() {
+        each$f(willDeleteEls, function(els) {
+          each$f(els, function(el) {
+            el.parent && el.parent.remove(el);
+          });
+        });
+        each$f(willInvisibleEls, function(el) {
+          el.invisible = true;
+          el.dirty();
+        });
+      }
+    };
+    TreemapView2.prototype._doAnimation = function(containerGroup, renderResult, seriesModel, reRoot) {
+      var durationOption = seriesModel.get("animationDurationUpdate");
+      var easingOption = seriesModel.get("animationEasing");
+      var duration = (isFunction$1(durationOption) ? 0 : durationOption) || 0;
+      var easing2 = (isFunction$1(easingOption) ? null : easingOption) || "cubicOut";
+      var animationWrap = createWrap();
+      each$f(renderResult.willDeleteEls, function(store, storageName) {
+        each$f(store, function(el, rawIndex) {
+          if (el.invisible) {
+            return;
+          }
+          var parent3 = el.parent;
+          var target;
+          var innerStore = inner$d(parent3);
+          if (reRoot && reRoot.direction === "drillDown") {
+            target = parent3 === reRoot.rootNodeGroup ? {
+              shape: {
+                x: 0,
+                y: 0,
+                width: innerStore.nodeWidth,
+                height: innerStore.nodeHeight
+              },
+              style: {
+                opacity: 0
+              }
+            } : {
+              style: {
+                opacity: 0
+              }
+            };
+          } else {
+            var targetX = 0;
+            var targetY = 0;
+            if (!innerStore.willDelete) {
+              targetX = innerStore.nodeWidth / 2;
+              targetY = innerStore.nodeHeight / 2;
+            }
+            target = storageName === "nodeGroup" ? {
+              x: targetX,
+              y: targetY,
+              style: {
+                opacity: 0
+              }
+            } : {
+              shape: {
+                x: targetX,
+                y: targetY,
+                width: 0,
+                height: 0
+              },
+              style: {
+                opacity: 0
+              }
+            };
+          }
+          target && animationWrap.add(el, target, duration, 0, easing2);
+        });
+      });
+      each$f(this._storage, function(store, storageName) {
+        each$f(store, function(el, rawIndex) {
+          var last = renderResult.lastsForAnimation[storageName][rawIndex];
+          var target = {};
+          if (!last) {
+            return;
+          }
+          if (el instanceof Group$4) {
+            if (last.oldX != null) {
+              target.x = el.x;
+              target.y = el.y;
+              el.x = last.oldX;
+              el.y = last.oldY;
+            }
+          } else {
+            if (last.oldShape) {
+              target.shape = extend$1({}, el.shape);
+              el.setShape(last.oldShape);
+            }
+            if (last.fadein) {
+              el.setStyle("opacity", 0);
+              target.style = {
+                opacity: 1
+              };
+            } else if (el.style.opacity !== 1) {
+              target.style = {
+                opacity: 1
+              };
+            }
+          }
+          animationWrap.add(el, target, duration, 0, easing2);
+        });
+      }, this);
+      this._state = "animating";
+      animationWrap.finished(bind$2(function() {
+        this._state = "ready";
+        renderResult.renderFinally();
+      }, this)).start();
+    };
+    TreemapView2.prototype._resetController = function(api2) {
+      var controller = this._controller;
+      if (!controller) {
+        controller = this._controller = new RoamController$1(api2.getZr());
+        controller.enable(this.seriesModel.get("roam"));
+        controller.on("pan", bind$2(this._onPan, this));
+        controller.on("zoom", bind$2(this._onZoom, this));
+      }
+      var rect = new BoundingRect$1(0, 0, api2.getWidth(), api2.getHeight());
+      controller.setPointerChecker(function(e2, x2, y2) {
+        return rect.contain(x2, y2);
+      });
+    };
+    TreemapView2.prototype._clearController = function() {
+      var controller = this._controller;
+      if (controller) {
+        controller.dispose();
+        controller = null;
+      }
+    };
+    TreemapView2.prototype._onPan = function(e2) {
+      if (this._state !== "animating" && (Math.abs(e2.dx) > DRAG_THRESHOLD || Math.abs(e2.dy) > DRAG_THRESHOLD)) {
+        var root = this.seriesModel.getData().tree.root;
+        if (!root) {
+          return;
+        }
+        var rootLayout = root.getLayout();
+        if (!rootLayout) {
+          return;
+        }
+        this.api.dispatchAction({
+          type: "treemapMove",
+          from: this.uid,
+          seriesId: this.seriesModel.id,
+          rootRect: {
+            x: rootLayout.x + e2.dx,
+            y: rootLayout.y + e2.dy,
+            width: rootLayout.width,
+            height: rootLayout.height
+          }
+        });
+      }
+    };
+    TreemapView2.prototype._onZoom = function(e2) {
+      var mouseX = e2.originX;
+      var mouseY = e2.originY;
+      if (this._state !== "animating") {
+        var root = this.seriesModel.getData().tree.root;
+        if (!root) {
+          return;
+        }
+        var rootLayout = root.getLayout();
+        if (!rootLayout) {
+          return;
+        }
+        var rect = new BoundingRect$1(rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height);
+        var layoutInfo = this.seriesModel.layoutInfo;
+        mouseX -= layoutInfo.x;
+        mouseY -= layoutInfo.y;
+        var m2 = create$1();
+        translate(m2, m2, [-mouseX, -mouseY]);
+        scale$1(m2, m2, [e2.scale, e2.scale]);
+        translate(m2, m2, [mouseX, mouseY]);
+        rect.applyTransform(m2);
+        this.api.dispatchAction({
+          type: "treemapRender",
+          from: this.uid,
+          seriesId: this.seriesModel.id,
+          rootRect: {
+            x: rect.x,
+            y: rect.y,
+            width: rect.width,
+            height: rect.height
+          }
+        });
+      }
+    };
+    TreemapView2.prototype._initEvents = function(containerGroup) {
+      var _this = this;
+      containerGroup.on("click", function(e2) {
+        if (_this._state !== "ready") {
+          return;
+        }
+        var nodeClick2 = _this.seriesModel.get("nodeClick", true);
+        if (!nodeClick2) {
+          return;
+        }
+        var targetInfo = _this.findTarget(e2.offsetX, e2.offsetY);
+        if (!targetInfo) {
+          return;
+        }
+        var node = targetInfo.node;
+        if (node.getLayout().isLeafRoot) {
+          _this._rootToNode(targetInfo);
+        } else {
+          if (nodeClick2 === "zoomToNode") {
+            _this._zoomToNode(targetInfo);
+          } else if (nodeClick2 === "link") {
+            var itemModel = node.hostTree.data.getItemModel(node.dataIndex);
+            var link = itemModel.get("link", true);
+            var linkTarget = itemModel.get("target", true) || "blank";
+            link && windowOpen(link, linkTarget);
+          }
+        }
+      }, this);
+    };
+    TreemapView2.prototype._renderBreadcrumb = function(seriesModel, api2, targetInfo) {
+      var _this = this;
+      if (!targetInfo) {
+        targetInfo = seriesModel.get("leafDepth", true) != null ? {
+          node: seriesModel.getViewRoot()
+        } : this.findTarget(api2.getWidth() / 2, api2.getHeight() / 2);
+        if (!targetInfo) {
+          targetInfo = {
+            node: seriesModel.getData().tree.root
+          };
+        }
+      }
+      (this._breadcrumb || (this._breadcrumb = new Breadcrumb$3(this.group))).render(seriesModel, api2, targetInfo.node, function(node) {
+        if (_this._state !== "animating") {
+          aboveViewRoot(seriesModel.getViewRoot(), node) ? _this._rootToNode({
+            node
+          }) : _this._zoomToNode({
+            node
+          });
+        }
+      });
+    };
+    TreemapView2.prototype.remove = function() {
+      this._clearController();
+      this._containerGroup && this._containerGroup.removeAll();
+      this._storage = createStorage();
+      this._state = "ready";
+      this._breadcrumb && this._breadcrumb.remove();
+    };
+    TreemapView2.prototype.dispose = function() {
+      this._clearController();
+    };
+    TreemapView2.prototype._zoomToNode = function(targetInfo) {
+      this.api.dispatchAction({
+        type: "treemapZoomToNode",
+        from: this.uid,
+        seriesId: this.seriesModel.id,
+        targetNode: targetInfo.node
+      });
+    };
+    TreemapView2.prototype._rootToNode = function(targetInfo) {
+      this.api.dispatchAction({
+        type: "treemapRootToNode",
+        from: this.uid,
+        seriesId: this.seriesModel.id,
+        targetNode: targetInfo.node
+      });
+    };
+    TreemapView2.prototype.findTarget = function(x2, y2) {
+      var targetInfo;
+      var viewRoot = this.seriesModel.getViewRoot();
+      viewRoot.eachNode({
+        attr: "viewChildren",
+        order: "preorder"
+      }, function(node) {
+        var bgEl = this._storage.background[node.getRawIndex()];
+        if (bgEl) {
+          var point = bgEl.transformCoordToLocal(x2, y2);
+          var shape = bgEl.shape;
+          if (shape.x <= point[0] && point[0] <= shape.x + shape.width && shape.y <= point[1] && point[1] <= shape.y + shape.height) {
+            targetInfo = {
+              node,
+              offsetX: point[0],
+              offsetY: point[1]
+            };
+          } else {
+            return false;
+          }
+        }
+      }, this);
+      return targetInfo;
+    };
+    TreemapView2.type = "treemap";
+    return TreemapView2;
+  }(ChartView$1)
+);
+function createStorage() {
+  return {
+    nodeGroup: [],
+    background: [],
+    content: []
+  };
+}
+function renderNode(seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls, thisNode, oldNode, parentGroup, depth) {
+  if (!thisNode) {
+    return;
+  }
+  var thisLayout = thisNode.getLayout();
+  var data2 = seriesModel.getData();
+  var nodeModel = thisNode.getModel();
+  data2.setItemGraphicEl(thisNode.dataIndex, null);
+  if (!thisLayout || !thisLayout.isInView) {
+    return;
+  }
+  var thisWidth = thisLayout.width;
+  var thisHeight = thisLayout.height;
+  var borderWidth = thisLayout.borderWidth;
+  var thisInvisible = thisLayout.invisible;
+  var thisRawIndex = thisNode.getRawIndex();
+  var oldRawIndex = oldNode && oldNode.getRawIndex();
+  var thisViewChildren = thisNode.viewChildren;
+  var upperHeight = thisLayout.upperHeight;
+  var isParent = thisViewChildren && thisViewChildren.length;
+  var itemStyleNormalModel = nodeModel.getModel("itemStyle");
+  var itemStyleEmphasisModel = nodeModel.getModel(["emphasis", "itemStyle"]);
+  var itemStyleBlurModel = nodeModel.getModel(["blur", "itemStyle"]);
+  var itemStyleSelectModel = nodeModel.getModel(["select", "itemStyle"]);
+  var borderRadius = itemStyleNormalModel.get("borderRadius") || 0;
+  var group = giveGraphic("nodeGroup", Group$2);
+  if (!group) {
+    return;
+  }
+  parentGroup.add(group);
+  group.x = thisLayout.x || 0;
+  group.y = thisLayout.y || 0;
+  group.markRedraw();
+  inner$d(group).nodeWidth = thisWidth;
+  inner$d(group).nodeHeight = thisHeight;
+  if (thisLayout.isAboveViewRoot) {
+    return group;
+  }
+  var bg = giveGraphic("background", Rect$1, depth, Z2_BG);
+  bg && renderBackground(group, bg, isParent && thisLayout.upperLabelHeight);
+  var emphasisModel = nodeModel.getModel("emphasis");
+  var focus2 = emphasisModel.get("focus");
+  var blurScope = emphasisModel.get("blurScope");
+  var isDisabled2 = emphasisModel.get("disabled");
+  var focusOrIndices = focus2 === "ancestor" ? thisNode.getAncestorsIndices() : focus2 === "descendant" ? thisNode.getDescendantIndices() : focus2;
+  if (isParent) {
+    if (isHighDownDispatcher(group)) {
+      setAsHighDownDispatcher(group, false);
+    }
+    if (bg) {
+      setAsHighDownDispatcher(bg, !isDisabled2);
+      data2.setItemGraphicEl(thisNode.dataIndex, bg);
+      enableHoverFocus(bg, focusOrIndices, blurScope);
+    }
+  } else {
+    var content = giveGraphic("content", Rect$1, depth, Z2_CONTENT);
+    content && renderContent(group, content);
+    bg.disableMorphing = true;
+    if (bg && isHighDownDispatcher(bg)) {
+      setAsHighDownDispatcher(bg, false);
+    }
+    setAsHighDownDispatcher(group, !isDisabled2);
+    data2.setItemGraphicEl(thisNode.dataIndex, group);
+    enableHoverFocus(group, focusOrIndices, blurScope);
+  }
+  return group;
+  function renderBackground(group2, bg2, useUpperLabel) {
+    var ecData = getECData(bg2);
+    ecData.dataIndex = thisNode.dataIndex;
+    ecData.seriesIndex = seriesModel.seriesIndex;
+    bg2.setShape({
+      x: 0,
+      y: 0,
+      width: thisWidth,
+      height: thisHeight,
+      r: borderRadius
+    });
+    if (thisInvisible) {
+      processInvisible(bg2);
+    } else {
+      bg2.invisible = false;
+      var style2 = thisNode.getVisual("style");
+      var visualBorderColor = style2.stroke;
+      var normalStyle = getItemStyleNormal(itemStyleNormalModel);
+      normalStyle.fill = visualBorderColor;
+      var emphasisStyle = getStateItemStyle(itemStyleEmphasisModel);
+      emphasisStyle.fill = itemStyleEmphasisModel.get("borderColor");
+      var blurStyle = getStateItemStyle(itemStyleBlurModel);
+      blurStyle.fill = itemStyleBlurModel.get("borderColor");
+      var selectStyle = getStateItemStyle(itemStyleSelectModel);
+      selectStyle.fill = itemStyleSelectModel.get("borderColor");
+      if (useUpperLabel) {
+        var upperLabelWidth = thisWidth - 2 * borderWidth;
+        prepareText(
+          // PENDING: convert ZRColor to ColorString for text.
+          bg2,
+          visualBorderColor,
+          style2.opacity,
+          {
+            x: borderWidth,
+            y: 0,
+            width: upperLabelWidth,
+            height: upperHeight
+          }
+        );
+      } else {
+        bg2.removeTextContent();
+      }
+      bg2.setStyle(normalStyle);
+      bg2.ensureState("emphasis").style = emphasisStyle;
+      bg2.ensureState("blur").style = blurStyle;
+      bg2.ensureState("select").style = selectStyle;
+      setDefaultStateProxy(bg2);
+    }
+    group2.add(bg2);
+  }
+  function renderContent(group2, content2) {
+    var ecData = getECData(content2);
+    ecData.dataIndex = thisNode.dataIndex;
+    ecData.seriesIndex = seriesModel.seriesIndex;
+    var contentWidth = Math.max(thisWidth - 2 * borderWidth, 0);
+    var contentHeight = Math.max(thisHeight - 2 * borderWidth, 0);
+    content2.culling = true;
+    content2.setShape({
+      x: borderWidth,
+      y: borderWidth,
+      width: contentWidth,
+      height: contentHeight,
+      r: borderRadius
+    });
+    if (thisInvisible) {
+      processInvisible(content2);
+    } else {
+      content2.invisible = false;
+      var nodeStyle = thisNode.getVisual("style");
+      var visualColor = nodeStyle.fill;
+      var normalStyle = getItemStyleNormal(itemStyleNormalModel);
+      normalStyle.fill = visualColor;
+      normalStyle.decal = nodeStyle.decal;
+      var emphasisStyle = getStateItemStyle(itemStyleEmphasisModel);
+      var blurStyle = getStateItemStyle(itemStyleBlurModel);
+      var selectStyle = getStateItemStyle(itemStyleSelectModel);
+      prepareText(content2, visualColor, nodeStyle.opacity, null);
+      content2.setStyle(normalStyle);
+      content2.ensureState("emphasis").style = emphasisStyle;
+      content2.ensureState("blur").style = blurStyle;
+      content2.ensureState("select").style = selectStyle;
+      setDefaultStateProxy(content2);
+    }
+    group2.add(content2);
+  }
+  function processInvisible(element) {
+    !element.invisible && willInvisibleEls.push(element);
+  }
+  function prepareText(rectEl, visualColor, visualOpacity, upperLabelRect) {
+    var normalLabelModel = nodeModel.getModel(upperLabelRect ? PATH_UPPERLABEL_NORMAL : PATH_LABEL_NOAMAL);
+    var defaultText = convertOptionIdName(nodeModel.get("name"), null);
+    var isShow = normalLabelModel.getShallow("show");
+    setLabelStyle(rectEl, getLabelStatesModels(nodeModel, upperLabelRect ? PATH_UPPERLABEL_NORMAL : PATH_LABEL_NOAMAL), {
+      defaultText: isShow ? defaultText : null,
+      inheritColor: visualColor,
+      defaultOpacity: visualOpacity,
+      labelFetcher: seriesModel,
+      labelDataIndex: thisNode.dataIndex
+    });
+    var textEl = rectEl.getTextContent();
+    if (!textEl) {
+      return;
+    }
+    var textStyle2 = textEl.style;
+    var textPadding = normalizeCssArray$1(textStyle2.padding || 0);
+    if (upperLabelRect) {
+      rectEl.setTextConfig({
+        layoutRect: upperLabelRect
+      });
+      textEl.disableLabelLayout = true;
+    }
+    textEl.beforeUpdate = function() {
+      var width = Math.max((upperLabelRect ? upperLabelRect.width : rectEl.shape.width) - textPadding[1] - textPadding[3], 0);
+      var height = Math.max((upperLabelRect ? upperLabelRect.height : rectEl.shape.height) - textPadding[0] - textPadding[2], 0);
+      if (textStyle2.width !== width || textStyle2.height !== height) {
+        textEl.setStyle({
+          width,
+          height
+        });
+      }
+    };
+    textStyle2.truncateMinChar = 2;
+    textStyle2.lineOverflow = "truncate";
+    addDrillDownIcon(textStyle2, upperLabelRect, thisLayout);
+    var textEmphasisState = textEl.getState("emphasis");
+    addDrillDownIcon(textEmphasisState ? textEmphasisState.style : null, upperLabelRect, thisLayout);
+  }
+  function addDrillDownIcon(style2, upperLabelRect, thisLayout2) {
+    var text2 = style2 ? style2.text : null;
+    if (!upperLabelRect && thisLayout2.isLeafRoot && text2 != null) {
+      var iconChar = seriesModel.get("drillDownIcon", true);
+      style2.text = iconChar ? iconChar + " " + text2 : text2;
+    }
+  }
+  function giveGraphic(storageName, Ctor, depth2, z2) {
+    var element = oldRawIndex != null && oldStorage[storageName][oldRawIndex];
+    var lasts = lastsForAnimation[storageName];
+    if (element) {
+      oldStorage[storageName][oldRawIndex] = null;
+      prepareAnimationWhenHasOld(lasts, element);
+    } else if (!thisInvisible) {
+      element = new Ctor();
+      if (element instanceof Displayable$1) {
+        element.z2 = calculateZ2(depth2, z2);
+      }
+      prepareAnimationWhenNoOld(lasts, element);
+    }
+    return thisStorage[storageName][thisRawIndex] = element;
+  }
+  function prepareAnimationWhenHasOld(lasts, element) {
+    var lastCfg = lasts[thisRawIndex] = {};
+    if (element instanceof Group$2) {
+      lastCfg.oldX = element.x;
+      lastCfg.oldY = element.y;
+    } else {
+      lastCfg.oldShape = extend$1({}, element.shape);
+    }
+  }
+  function prepareAnimationWhenNoOld(lasts, element) {
+    var lastCfg = lasts[thisRawIndex] = {};
+    var parentNode2 = thisNode.parentNode;
+    var isGroup2 = element instanceof Group$4;
+    if (parentNode2 && (!reRoot || reRoot.direction === "drillDown")) {
+      var parentOldX = 0;
+      var parentOldY = 0;
+      var parentOldBg = lastsForAnimation.background[parentNode2.getRawIndex()];
+      if (!reRoot && parentOldBg && parentOldBg.oldShape) {
+        parentOldX = parentOldBg.oldShape.width;
+        parentOldY = parentOldBg.oldShape.height;
+      }
+      if (isGroup2) {
+        lastCfg.oldX = 0;
+        lastCfg.oldY = parentOldY;
+      } else {
+        lastCfg.oldShape = {
+          x: parentOldX,
+          y: parentOldY,
+          width: 0,
+          height: 0
+        };
+      }
+    }
+    lastCfg.fadein = !isGroup2;
+  }
+}
+function calculateZ2(depth, z2InLevel) {
+  return depth * Z2_BASE + z2InLevel;
+}
+const TreemapView$1 = TreemapView;
+var each$c = each$f;
+var isObject$1 = isObject$4;
+var CATEGORY_DEFAULT_VISUAL_INDEX = -1;
+var VisualMapping = (
+  /** @class */
+  function() {
+    function VisualMapping2(option) {
+      var mappingMethod = option.mappingMethod;
+      var visualType = option.type;
+      var thisOption = this.option = clone$4(option);
+      this.type = visualType;
+      this.mappingMethod = mappingMethod;
+      this._normalizeData = normalizers[mappingMethod];
+      var visualHandler = VisualMapping2.visualHandlers[visualType];
+      this.applyVisual = visualHandler.applyVisual;
+      this.getColorMapper = visualHandler.getColorMapper;
+      this._normalizedToVisual = visualHandler._normalizedToVisual[mappingMethod];
+      if (mappingMethod === "piecewise") {
+        normalizeVisualRange(thisOption);
+        preprocessForPiecewise(thisOption);
+      } else if (mappingMethod === "category") {
+        thisOption.categories ? preprocessForSpecifiedCategory(thisOption) : normalizeVisualRange(thisOption, true);
+      } else {
+        assert(mappingMethod !== "linear" || thisOption.dataExtent);
+        normalizeVisualRange(thisOption);
+      }
+    }
+    VisualMapping2.prototype.mapValueToVisual = function(value) {
+      var normalized = this._normalizeData(value);
+      return this._normalizedToVisual(normalized, value);
+    };
+    VisualMapping2.prototype.getNormalizer = function() {
+      return bind$2(this._normalizeData, this);
+    };
+    VisualMapping2.listVisualTypes = function() {
+      return keys(VisualMapping2.visualHandlers);
+    };
+    VisualMapping2.isValidType = function(visualType) {
+      return VisualMapping2.visualHandlers.hasOwnProperty(visualType);
+    };
+    VisualMapping2.eachVisual = function(visual, callback, context) {
+      if (isObject$4(visual)) {
+        each$f(visual, callback, context);
+      } else {
+        callback.call(context, visual);
+      }
+    };
+    VisualMapping2.mapVisual = function(visual, callback, context) {
+      var isPrimary;
+      var newVisual = isArray$2(visual) ? [] : isObject$4(visual) ? {} : (isPrimary = true, null);
+      VisualMapping2.eachVisual(visual, function(v4, key2) {
+        var newVal = callback.call(context, v4, key2);
+        isPrimary ? newVisual = newVal : newVisual[key2] = newVal;
+      });
+      return newVisual;
+    };
+    VisualMapping2.retrieveVisuals = function(obj2) {
+      var ret = {};
+      var hasVisual;
+      obj2 && each$c(VisualMapping2.visualHandlers, function(h3, visualType) {
+        if (obj2.hasOwnProperty(visualType)) {
+          ret[visualType] = obj2[visualType];
+          hasVisual = true;
+        }
+      });
+      return hasVisual ? ret : null;
+    };
+    VisualMapping2.prepareVisualTypes = function(visualTypes) {
+      if (isArray$2(visualTypes)) {
+        visualTypes = visualTypes.slice();
+      } else if (isObject$1(visualTypes)) {
+        var types_1 = [];
+        each$c(visualTypes, function(item, type2) {
+          types_1.push(type2);
+        });
+        visualTypes = types_1;
+      } else {
+        return [];
+      }
+      visualTypes.sort(function(type1, type2) {
+        return type2 === "color" && type1 !== "color" && type1.indexOf("color") === 0 ? 1 : -1;
+      });
+      return visualTypes;
+    };
+    VisualMapping2.dependsOn = function(visualType1, visualType2) {
+      return visualType2 === "color" ? !!(visualType1 && visualType1.indexOf(visualType2) === 0) : visualType1 === visualType2;
+    };
+    VisualMapping2.findPieceIndex = function(value, pieceList, findClosestWhenOutside) {
+      var possibleI;
+      var abs2 = Infinity;
+      for (var i2 = 0, len2 = pieceList.length; i2 < len2; i2++) {
+        var pieceValue = pieceList[i2].value;
+        if (pieceValue != null) {
+          if (pieceValue === value || isString$1(pieceValue) && pieceValue === value + "") {
+            return i2;
+          }
+          findClosestWhenOutside && updatePossible(pieceValue, i2);
+        }
+      }
+      for (var i2 = 0, len2 = pieceList.length; i2 < len2; i2++) {
+        var piece = pieceList[i2];
+        var interval = piece.interval;
+        var close_1 = piece.close;
+        if (interval) {
+          if (interval[0] === -Infinity) {
+            if (littleThan(close_1[1], value, interval[1])) {
+              return i2;
+            }
+          } else if (interval[1] === Infinity) {
+            if (littleThan(close_1[0], interval[0], value)) {
+              return i2;
+            }
+          } else if (littleThan(close_1[0], interval[0], value) && littleThan(close_1[1], value, interval[1])) {
+            return i2;
+          }
+          findClosestWhenOutside && updatePossible(interval[0], i2);
+          findClosestWhenOutside && updatePossible(interval[1], i2);
+        }
+      }
+      if (findClosestWhenOutside) {
+        return value === Infinity ? pieceList.length - 1 : value === -Infinity ? 0 : possibleI;
+      }
+      function updatePossible(val, index3) {
+        var newAbs = Math.abs(val - value);
+        if (newAbs < abs2) {
+          abs2 = newAbs;
+          possibleI = index3;
+        }
+      }
+    };
+    VisualMapping2.visualHandlers = {
+      color: {
+        applyVisual: makeApplyVisual("color"),
+        getColorMapper: function() {
+          var thisOption = this.option;
+          return bind$2(thisOption.mappingMethod === "category" ? function(value, isNormalized) {
+            !isNormalized && (value = this._normalizeData(value));
+            return doMapCategory.call(this, value);
+          } : function(value, isNormalized, out2) {
+            var returnRGBArray = !!out2;
+            !isNormalized && (value = this._normalizeData(value));
+            out2 = fastLerp(value, thisOption.parsedVisual, out2);
+            return returnRGBArray ? out2 : stringify(out2, "rgba");
+          }, this);
+        },
+        _normalizedToVisual: {
+          linear: function(normalized) {
+            return stringify(fastLerp(normalized, this.option.parsedVisual), "rgba");
+          },
+          category: doMapCategory,
+          piecewise: function(normalized, value) {
+            var result2 = getSpecifiedVisual.call(this, value);
+            if (result2 == null) {
+              result2 = stringify(fastLerp(normalized, this.option.parsedVisual), "rgba");
+            }
+            return result2;
+          },
+          fixed: doMapFixed
+        }
+      },
+      colorHue: makePartialColorVisualHandler(function(color$12, value) {
+        return modifyHSL(color$12, value);
+      }),
+      colorSaturation: makePartialColorVisualHandler(function(color$12, value) {
+        return modifyHSL(color$12, null, value);
+      }),
+      colorLightness: makePartialColorVisualHandler(function(color$12, value) {
+        return modifyHSL(color$12, null, null, value);
+      }),
+      colorAlpha: makePartialColorVisualHandler(function(color$12, value) {
+        return modifyAlpha(color$12, value);
+      }),
+      decal: {
+        applyVisual: makeApplyVisual("decal"),
+        _normalizedToVisual: {
+          linear: null,
+          category: doMapCategory,
+          piecewise: null,
+          fixed: null
+        }
+      },
+      opacity: {
+        applyVisual: makeApplyVisual("opacity"),
+        _normalizedToVisual: createNormalizedToNumericVisual([0, 1])
+      },
+      liftZ: {
+        applyVisual: makeApplyVisual("liftZ"),
+        _normalizedToVisual: {
+          linear: doMapFixed,
+          category: doMapFixed,
+          piecewise: doMapFixed,
+          fixed: doMapFixed
+        }
+      },
+      symbol: {
+        applyVisual: function(value, getter, setter) {
+          var symbolCfg = this.mapValueToVisual(value);
+          setter("symbol", symbolCfg);
+        },
+        _normalizedToVisual: {
+          linear: doMapToArray,
+          category: doMapCategory,
+          piecewise: function(normalized, value) {
+            var result2 = getSpecifiedVisual.call(this, value);
+            if (result2 == null) {
+              result2 = doMapToArray.call(this, normalized);
+            }
+            return result2;
+          },
+          fixed: doMapFixed
+        }
+      },
+      symbolSize: {
+        applyVisual: makeApplyVisual("symbolSize"),
+        _normalizedToVisual: createNormalizedToNumericVisual([0, 1])
+      }
+    };
+    return VisualMapping2;
+  }()
+);
+function preprocessForPiecewise(thisOption) {
+  var pieceList = thisOption.pieceList;
+  thisOption.hasSpecialVisual = false;
+  each$f(pieceList, function(piece, index3) {
+    piece.originIndex = index3;
+    if (piece.visual != null) {
+      thisOption.hasSpecialVisual = true;
+    }
+  });
+}
+function preprocessForSpecifiedCategory(thisOption) {
+  var categories = thisOption.categories;
+  var categoryMap = thisOption.categoryMap = {};
+  var visual = thisOption.visual;
+  each$c(categories, function(cate, index3) {
+    categoryMap[cate] = index3;
+  });
+  if (!isArray$2(visual)) {
+    var visualArr_1 = [];
+    if (isObject$4(visual)) {
+      each$c(visual, function(v4, cate) {
+        var index3 = categoryMap[cate];
+        visualArr_1[index3 != null ? index3 : CATEGORY_DEFAULT_VISUAL_INDEX] = v4;
+      });
+    } else {
+      visualArr_1[CATEGORY_DEFAULT_VISUAL_INDEX] = visual;
+    }
+    visual = setVisualToOption(thisOption, visualArr_1);
+  }
+  for (var i2 = categories.length - 1; i2 >= 0; i2--) {
+    if (visual[i2] == null) {
+      delete categoryMap[categories[i2]];
+      categories.pop();
+    }
+  }
+}
+function normalizeVisualRange(thisOption, isCategory2) {
+  var visual = thisOption.visual;
+  var visualArr = [];
+  if (isObject$4(visual)) {
+    each$c(visual, function(v4) {
+      visualArr.push(v4);
+    });
+  } else if (visual != null) {
+    visualArr.push(visual);
+  }
+  var doNotNeedPair = {
+    color: 1,
+    symbol: 1
+  };
+  if (!isCategory2 && visualArr.length === 1 && !doNotNeedPair.hasOwnProperty(thisOption.type)) {
+    visualArr[1] = visualArr[0];
+  }
+  setVisualToOption(thisOption, visualArr);
+}
+function makePartialColorVisualHandler(applyValue) {
+  return {
+    applyVisual: function(value, getter, setter) {
+      var colorChannel = this.mapValueToVisual(value);
+      setter("color", applyValue(getter("color"), colorChannel));
+    },
+    _normalizedToVisual: createNormalizedToNumericVisual([0, 1])
+  };
+}
+function doMapToArray(normalized) {
+  var visual = this.option.visual;
+  return visual[Math.round(linearMap$2(normalized, [0, 1], [0, visual.length - 1], true))] || {};
+}
+function makeApplyVisual(visualType) {
+  return function(value, getter, setter) {
+    setter(visualType, this.mapValueToVisual(value));
+  };
+}
+function doMapCategory(normalized) {
+  var visual = this.option.visual;
+  return visual[this.option.loop && normalized !== CATEGORY_DEFAULT_VISUAL_INDEX ? normalized % visual.length : normalized];
+}
+function doMapFixed() {
+  return this.option.visual[0];
+}
+function createNormalizedToNumericVisual(sourceExtent) {
+  return {
+    linear: function(normalized) {
+      return linearMap$2(normalized, sourceExtent, this.option.visual, true);
+    },
+    category: doMapCategory,
+    piecewise: function(normalized, value) {
+      var result2 = getSpecifiedVisual.call(this, value);
+      if (result2 == null) {
+        result2 = linearMap$2(normalized, sourceExtent, this.option.visual, true);
+      }
+      return result2;
+    },
+    fixed: doMapFixed
+  };
+}
+function getSpecifiedVisual(value) {
+  var thisOption = this.option;
+  var pieceList = thisOption.pieceList;
+  if (thisOption.hasSpecialVisual) {
+    var pieceIndex = VisualMapping.findPieceIndex(value, pieceList);
+    var piece = pieceList[pieceIndex];
+    if (piece && piece.visual) {
+      return piece.visual[this.type];
+    }
+  }
+}
+function setVisualToOption(thisOption, visualArr) {
+  thisOption.visual = visualArr;
+  if (thisOption.type === "color") {
+    thisOption.parsedVisual = map$1(visualArr, function(item) {
+      var color$12 = parse$1(item);
+      if (!color$12 && false) {
+        warn("'" + item + "' is an illegal color, fallback to '#000000'", true);
+      }
+      return color$12 || [0, 0, 0, 1];
+    });
+  }
+  return visualArr;
+}
+var normalizers = {
+  linear: function(value) {
+    return linearMap$2(value, this.option.dataExtent, [0, 1], true);
+  },
+  piecewise: function(value) {
+    var pieceList = this.option.pieceList;
+    var pieceIndex = VisualMapping.findPieceIndex(value, pieceList, true);
+    if (pieceIndex != null) {
+      return linearMap$2(pieceIndex, [0, pieceList.length - 1], [0, 1], true);
+    }
+  },
+  category: function(value) {
+    var index3 = this.option.categories ? this.option.categoryMap[value] : value;
+    return index3 == null ? CATEGORY_DEFAULT_VISUAL_INDEX : index3;
+  },
+  fixed: noop$1
+};
+function littleThan(close2, a2, b2) {
+  return close2 ? a2 <= b2 : a2 < b2;
+}
+const VisualMapping$1 = VisualMapping;
+var ITEM_STYLE_NORMAL = "itemStyle";
+var inner$c = makeInner();
+const treemapVisual = {
+  seriesType: "treemap",
+  reset: function(seriesModel) {
+    var tree2 = seriesModel.getData().tree;
+    var root = tree2.root;
+    if (root.isRemoved()) {
+      return;
+    }
+    travelTree(
+      root,
+      // Visual should calculate from tree root but not view root.
+      {},
+      seriesModel.getViewRoot().getAncestors(),
+      seriesModel
+    );
+  }
+};
+function travelTree(node, designatedVisual, viewRootAncestors, seriesModel) {
+  var nodeModel = node.getModel();
+  var nodeLayout = node.getLayout();
+  var data2 = node.hostTree.data;
+  if (!nodeLayout || nodeLayout.invisible || !nodeLayout.isInView) {
+    return;
+  }
+  var nodeItemStyleModel = nodeModel.getModel(ITEM_STYLE_NORMAL);
+  var visuals = buildVisuals(nodeItemStyleModel, designatedVisual, seriesModel);
+  var existsStyle = data2.ensureUniqueItemVisual(node.dataIndex, "style");
+  var borderColor = nodeItemStyleModel.get("borderColor");
+  var borderColorSaturation = nodeItemStyleModel.get("borderColorSaturation");
+  var thisNodeColor;
+  if (borderColorSaturation != null) {
+    thisNodeColor = calculateColor(visuals);
+    borderColor = calculateBorderColor(borderColorSaturation, thisNodeColor);
+  }
+  existsStyle.stroke = borderColor;
+  var viewChildren = node.viewChildren;
+  if (!viewChildren || !viewChildren.length) {
+    thisNodeColor = calculateColor(visuals);
+    existsStyle.fill = thisNodeColor;
+  } else {
+    var mapping_1 = buildVisualMapping(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren);
+    each$f(viewChildren, function(child, index3) {
+      if (child.depth >= viewRootAncestors.length || child === viewRootAncestors[child.depth]) {
+        var childVisual = mapVisual$1(nodeModel, visuals, child, index3, mapping_1, seriesModel);
+        travelTree(child, childVisual, viewRootAncestors, seriesModel);
+      }
+    });
+  }
+}
+function buildVisuals(nodeItemStyleModel, designatedVisual, seriesModel) {
+  var visuals = extend$1({}, designatedVisual);
+  var designatedVisualItemStyle = seriesModel.designatedVisualItemStyle;
+  each$f(["color", "colorAlpha", "colorSaturation"], function(visualName) {
+    designatedVisualItemStyle[visualName] = designatedVisual[visualName];
+    var val = nodeItemStyleModel.get(visualName);
+    designatedVisualItemStyle[visualName] = null;
+    val != null && (visuals[visualName] = val);
+  });
+  return visuals;
+}
+function calculateColor(visuals) {
+  var color2 = getValueVisualDefine(visuals, "color");
+  if (color2) {
+    var colorAlpha = getValueVisualDefine(visuals, "colorAlpha");
+    var colorSaturation = getValueVisualDefine(visuals, "colorSaturation");
+    if (colorSaturation) {
+      color2 = modifyHSL(color2, null, null, colorSaturation);
+    }
+    if (colorAlpha) {
+      color2 = modifyAlpha(color2, colorAlpha);
+    }
+    return color2;
+  }
+}
+function calculateBorderColor(borderColorSaturation, thisNodeColor) {
+  return thisNodeColor != null ? modifyHSL(thisNodeColor, null, null, borderColorSaturation) : null;
+}
+function getValueVisualDefine(visuals, name2) {
+  var value = visuals[name2];
+  if (value != null && value !== "none") {
+    return value;
+  }
+}
+function buildVisualMapping(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren) {
+  if (!viewChildren || !viewChildren.length) {
+    return;
+  }
+  var rangeVisual = getRangeVisual(nodeModel, "color") || visuals.color != null && visuals.color !== "none" && (getRangeVisual(nodeModel, "colorAlpha") || getRangeVisual(nodeModel, "colorSaturation"));
+  if (!rangeVisual) {
+    return;
+  }
+  var visualMin = nodeModel.get("visualMin");
+  var visualMax = nodeModel.get("visualMax");
+  var dataExtent = nodeLayout.dataExtent.slice();
+  visualMin != null && visualMin < dataExtent[0] && (dataExtent[0] = visualMin);
+  visualMax != null && visualMax > dataExtent[1] && (dataExtent[1] = visualMax);
+  var colorMappingBy = nodeModel.get("colorMappingBy");
+  var opt = {
+    type: rangeVisual.name,
+    dataExtent,
+    visual: rangeVisual.range
+  };
+  if (opt.type === "color" && (colorMappingBy === "index" || colorMappingBy === "id")) {
+    opt.mappingMethod = "category";
+    opt.loop = true;
+  } else {
+    opt.mappingMethod = "linear";
+  }
+  var mapping3 = new VisualMapping$1(opt);
+  inner$c(mapping3).drColorMappingBy = colorMappingBy;
+  return mapping3;
+}
+function getRangeVisual(nodeModel, name2) {
+  var range2 = nodeModel.get(name2);
+  return isArray$2(range2) && range2.length ? {
+    name: name2,
+    range: range2
+  } : null;
+}
+function mapVisual$1(nodeModel, visuals, child, index3, mapping3, seriesModel) {
+  var childVisuals = extend$1({}, visuals);
+  if (mapping3) {
+    var mappingType = mapping3.type;
+    var colorMappingBy = mappingType === "color" && inner$c(mapping3).drColorMappingBy;
+    var value = colorMappingBy === "index" ? index3 : colorMappingBy === "id" ? seriesModel.mapIdToIndex(child.getId()) : child.getValue(nodeModel.get("visualDimension"));
+    childVisuals[mappingType] = mapping3.mapValueToVisual(value);
+  }
+  return childVisuals;
+}
+var mathMax$3 = Math.max;
+var mathMin$3 = Math.min;
+var retrieveValue = retrieve;
+var each$b = each$f;
+var PATH_BORDER_WIDTH = ["itemStyle", "borderWidth"];
+var PATH_GAP_WIDTH = ["itemStyle", "gapWidth"];
+var PATH_UPPER_LABEL_SHOW = ["upperLabel", "show"];
+var PATH_UPPER_LABEL_HEIGHT = ["upperLabel", "height"];
+const treemapLayout = {
+  seriesType: "treemap",
+  reset: function(seriesModel, ecModel, api2, payload) {
+    var ecWidth = api2.getWidth();
+    var ecHeight = api2.getHeight();
+    var seriesOption = seriesModel.option;
+    var layoutInfo = getLayoutRect(seriesModel.getBoxLayoutParams(), {
+      width: api2.getWidth(),
+      height: api2.getHeight()
+    });
+    var size = seriesOption.size || [];
+    var containerWidth = parsePercent(retrieveValue(layoutInfo.width, size[0]), ecWidth);
+    var containerHeight = parsePercent(retrieveValue(layoutInfo.height, size[1]), ecHeight);
+    var payloadType = payload && payload.type;
+    var types2 = ["treemapZoomToNode", "treemapRootToNode"];
+    var targetInfo = retrieveTargetInfo(payload, types2, seriesModel);
+    var rootRect = payloadType === "treemapRender" || payloadType === "treemapMove" ? payload.rootRect : null;
+    var viewRoot = seriesModel.getViewRoot();
+    var viewAbovePath = getPathToRoot(viewRoot);
+    if (payloadType !== "treemapMove") {
+      var rootSize = payloadType === "treemapZoomToNode" ? estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) : rootRect ? [rootRect.width, rootRect.height] : [containerWidth, containerHeight];
+      var sort_1 = seriesOption.sort;
+      if (sort_1 && sort_1 !== "asc" && sort_1 !== "desc") {
+        sort_1 = "desc";
+      }
+      var options2 = {
+        squareRatio: seriesOption.squareRatio,
+        sort: sort_1,
+        leafDepth: seriesOption.leafDepth
+      };
+      viewRoot.hostTree.clearLayouts();
+      var viewRootLayout_1 = {
+        x: 0,
+        y: 0,
+        width: rootSize[0],
+        height: rootSize[1],
+        area: rootSize[0] * rootSize[1]
+      };
+      viewRoot.setLayout(viewRootLayout_1);
+      squarify(viewRoot, options2, false, 0);
+      viewRootLayout_1 = viewRoot.getLayout();
+      each$b(viewAbovePath, function(node, index3) {
+        var childValue = (viewAbovePath[index3 + 1] || viewRoot).getValue();
+        node.setLayout(extend$1({
+          dataExtent: [childValue, childValue],
+          borderWidth: 0,
+          upperHeight: 0
+        }, viewRootLayout_1));
+      });
+    }
+    var treeRoot = seriesModel.getData().tree.root;
+    treeRoot.setLayout(calculateRootPosition(layoutInfo, rootRect, targetInfo), true);
+    seriesModel.setLayoutInfo(layoutInfo);
+    prunning(
+      treeRoot,
+      // Transform to base element coordinate system.
+      new BoundingRect$1(-layoutInfo.x, -layoutInfo.y, ecWidth, ecHeight),
+      viewAbovePath,
+      viewRoot,
+      0
+    );
+  }
+};
+function squarify(node, options2, hideChildren, depth) {
+  var width;
+  var height;
+  if (node.isRemoved()) {
+    return;
+  }
+  var thisLayout = node.getLayout();
+  width = thisLayout.width;
+  height = thisLayout.height;
+  var nodeModel = node.getModel();
+  var borderWidth = nodeModel.get(PATH_BORDER_WIDTH);
+  var halfGapWidth = nodeModel.get(PATH_GAP_WIDTH) / 2;
+  var upperLabelHeight = getUpperLabelHeight(nodeModel);
+  var upperHeight = Math.max(borderWidth, upperLabelHeight);
+  var layoutOffset = borderWidth - halfGapWidth;
+  var layoutOffsetUpper = upperHeight - halfGapWidth;
+  node.setLayout({
+    borderWidth,
+    upperHeight,
+    upperLabelHeight
+  }, true);
+  width = mathMax$3(width - 2 * layoutOffset, 0);
+  height = mathMax$3(height - layoutOffset - layoutOffsetUpper, 0);
+  var totalArea = width * height;
+  var viewChildren = initChildren$1(node, nodeModel, totalArea, options2, hideChildren, depth);
+  if (!viewChildren.length) {
+    return;
+  }
+  var rect = {
+    x: layoutOffset,
+    y: layoutOffsetUpper,
+    width,
+    height
+  };
+  var rowFixedLength = mathMin$3(width, height);
+  var best = Infinity;
+  var row = [];
+  row.area = 0;
+  for (var i2 = 0, len2 = viewChildren.length; i2 < len2; ) {
+    var child = viewChildren[i2];
+    row.push(child);
+    row.area += child.getLayout().area;
+    var score = worst(row, rowFixedLength, options2.squareRatio);
+    if (score <= best) {
+      i2++;
+      best = score;
+    } else {
+      row.area -= row.pop().getLayout().area;
+      position(row, rowFixedLength, rect, halfGapWidth, false);
+      rowFixedLength = mathMin$3(rect.width, rect.height);
+      row.length = row.area = 0;
+      best = Infinity;
+    }
+  }
+  if (row.length) {
+    position(row, rowFixedLength, rect, halfGapWidth, true);
+  }
+  if (!hideChildren) {
+    var childrenVisibleMin = nodeModel.get("childrenVisibleMin");
+    if (childrenVisibleMin != null && totalArea < childrenVisibleMin) {
+      hideChildren = true;
+    }
+  }
+  for (var i2 = 0, len2 = viewChildren.length; i2 < len2; i2++) {
+    squarify(viewChildren[i2], options2, hideChildren, depth + 1);
+  }
+}
+function initChildren$1(node, nodeModel, totalArea, options2, hideChildren, depth) {
+  var viewChildren = node.children || [];
+  var orderBy = options2.sort;
+  orderBy !== "asc" && orderBy !== "desc" && (orderBy = null);
+  var overLeafDepth = options2.leafDepth != null && options2.leafDepth <= depth;
+  if (hideChildren && !overLeafDepth) {
+    return node.viewChildren = [];
+  }
+  viewChildren = filter(viewChildren, function(child) {
+    return !child.isRemoved();
+  });
+  sort$1(viewChildren, orderBy);
+  var info = statistic(nodeModel, viewChildren, orderBy);
+  if (info.sum === 0) {
+    return node.viewChildren = [];
+  }
+  info.sum = filterByThreshold(nodeModel, totalArea, info.sum, orderBy, viewChildren);
+  if (info.sum === 0) {
+    return node.viewChildren = [];
+  }
+  for (var i2 = 0, len2 = viewChildren.length; i2 < len2; i2++) {
+    var area = viewChildren[i2].getValue() / info.sum * totalArea;
+    viewChildren[i2].setLayout({
+      area
+    });
+  }
+  if (overLeafDepth) {
+    viewChildren.length && node.setLayout({
+      isLeafRoot: true
+    }, true);
+    viewChildren.length = 0;
+  }
+  node.viewChildren = viewChildren;
+  node.setLayout({
+    dataExtent: info.dataExtent
+  }, true);
+  return viewChildren;
+}
+function filterByThreshold(nodeModel, totalArea, sum2, orderBy, orderedChildren) {
+  if (!orderBy) {
+    return sum2;
+  }
+  var visibleMin = nodeModel.get("visibleMin");
+  var len2 = orderedChildren.length;
+  var deletePoint = len2;
+  for (var i2 = len2 - 1; i2 >= 0; i2--) {
+    var value = orderedChildren[orderBy === "asc" ? len2 - i2 - 1 : i2].getValue();
+    if (value / sum2 * totalArea < visibleMin) {
+      deletePoint = i2;
+      sum2 -= value;
+    }
+  }
+  orderBy === "asc" ? orderedChildren.splice(0, len2 - deletePoint) : orderedChildren.splice(deletePoint, len2 - deletePoint);
+  return sum2;
+}
+function sort$1(viewChildren, orderBy) {
+  if (orderBy) {
+    viewChildren.sort(function(a2, b2) {
+      var diff = orderBy === "asc" ? a2.getValue() - b2.getValue() : b2.getValue() - a2.getValue();
+      return diff === 0 ? orderBy === "asc" ? a2.dataIndex - b2.dataIndex : b2.dataIndex - a2.dataIndex : diff;
+    });
+  }
+  return viewChildren;
+}
+function statistic(nodeModel, children3, orderBy) {
+  var sum2 = 0;
+  for (var i2 = 0, len2 = children3.length; i2 < len2; i2++) {
+    sum2 += children3[i2].getValue();
+  }
+  var dimension = nodeModel.get("visualDimension");
+  var dataExtent;
+  if (!children3 || !children3.length) {
+    dataExtent = [NaN, NaN];
+  } else if (dimension === "value" && orderBy) {
+    dataExtent = [children3[children3.length - 1].getValue(), children3[0].getValue()];
+    orderBy === "asc" && dataExtent.reverse();
+  } else {
+    dataExtent = [Infinity, -Infinity];
+    each$b(children3, function(child) {
+      var value = child.getValue(dimension);
+      value < dataExtent[0] && (dataExtent[0] = value);
+      value > dataExtent[1] && (dataExtent[1] = value);
+    });
+  }
+  return {
+    sum: sum2,
+    dataExtent
+  };
+}
+function worst(row, rowFixedLength, ratio) {
+  var areaMax = 0;
+  var areaMin = Infinity;
+  for (var i2 = 0, area = void 0, len2 = row.length; i2 < len2; i2++) {
+    area = row[i2].getLayout().area;
+    if (area) {
+      area < areaMin && (areaMin = area);
+      area > areaMax && (areaMax = area);
+    }
+  }
+  var squareArea = row.area * row.area;
+  var f2 = rowFixedLength * rowFixedLength * ratio;
+  return squareArea ? mathMax$3(f2 * areaMax / squareArea, squareArea / (f2 * areaMin)) : Infinity;
+}
+function position(row, rowFixedLength, rect, halfGapWidth, flush) {
+  var idx0WhenH = rowFixedLength === rect.width ? 0 : 1;
+  var idx1WhenH = 1 - idx0WhenH;
+  var xy = ["x", "y"];
+  var wh = ["width", "height"];
+  var last = rect[xy[idx0WhenH]];
+  var rowOtherLength = rowFixedLength ? row.area / rowFixedLength : 0;
+  if (flush || rowOtherLength > rect[wh[idx1WhenH]]) {
+    rowOtherLength = rect[wh[idx1WhenH]];
+  }
+  for (var i2 = 0, rowLen = row.length; i2 < rowLen; i2++) {
+    var node = row[i2];
+    var nodeLayout = {};
+    var step2 = rowOtherLength ? node.getLayout().area / rowOtherLength : 0;
+    var wh1 = nodeLayout[wh[idx1WhenH]] = mathMax$3(rowOtherLength - 2 * halfGapWidth, 0);
+    var remain = rect[xy[idx0WhenH]] + rect[wh[idx0WhenH]] - last;
+    var modWH = i2 === rowLen - 1 || remain < step2 ? remain : step2;
+    var wh0 = nodeLayout[wh[idx0WhenH]] = mathMax$3(modWH - 2 * halfGapWidth, 0);
+    nodeLayout[xy[idx1WhenH]] = rect[xy[idx1WhenH]] + mathMin$3(halfGapWidth, wh1 / 2);
+    nodeLayout[xy[idx0WhenH]] = last + mathMin$3(halfGapWidth, wh0 / 2);
+    last += modWH;
+    node.setLayout(nodeLayout, true);
+  }
+  rect[xy[idx1WhenH]] += rowOtherLength;
+  rect[wh[idx1WhenH]] -= rowOtherLength;
+}
+function estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) {
+  var currNode = (targetInfo || {}).node;
+  var defaultSize = [containerWidth, containerHeight];
+  if (!currNode || currNode === viewRoot) {
+    return defaultSize;
+  }
+  var parent3;
+  var viewArea = containerWidth * containerHeight;
+  var area = viewArea * seriesModel.option.zoomToNodeRatio;
+  while (parent3 = currNode.parentNode) {
+    var sum2 = 0;
+    var siblings = parent3.children;
+    for (var i2 = 0, len2 = siblings.length; i2 < len2; i2++) {
+      sum2 += siblings[i2].getValue();
+    }
+    var currNodeValue = currNode.getValue();
+    if (currNodeValue === 0) {
+      return defaultSize;
+    }
+    area *= sum2 / currNodeValue;
+    var parentModel = parent3.getModel();
+    var borderWidth = parentModel.get(PATH_BORDER_WIDTH);
+    var upperHeight = Math.max(borderWidth, getUpperLabelHeight(parentModel));
+    area += 4 * borderWidth * borderWidth + (3 * borderWidth + upperHeight) * Math.pow(area, 0.5);
+    area > MAX_SAFE_INTEGER && (area = MAX_SAFE_INTEGER);
+    currNode = parent3;
+  }
+  area < viewArea && (area = viewArea);
+  var scale2 = Math.pow(area / viewArea, 0.5);
+  return [containerWidth * scale2, containerHeight * scale2];
+}
+function calculateRootPosition(layoutInfo, rootRect, targetInfo) {
+  if (rootRect) {
+    return {
+      x: rootRect.x,
+      y: rootRect.y
+    };
+  }
+  var defaultPosition = {
+    x: 0,
+    y: 0
+  };
+  if (!targetInfo) {
+    return defaultPosition;
+  }
+  var targetNode = targetInfo.node;
+  var layout2 = targetNode.getLayout();
+  if (!layout2) {
+    return defaultPosition;
+  }
+  var targetCenter = [layout2.width / 2, layout2.height / 2];
+  var node = targetNode;
+  while (node) {
+    var nodeLayout = node.getLayout();
+    targetCenter[0] += nodeLayout.x;
+    targetCenter[1] += nodeLayout.y;
+    node = node.parentNode;
+  }
+  return {
+    x: layoutInfo.width / 2 - targetCenter[0],
+    y: layoutInfo.height / 2 - targetCenter[1]
+  };
+}
+function prunning(node, clipRect, viewAbovePath, viewRoot, depth) {
+  var nodeLayout = node.getLayout();
+  var nodeInViewAbovePath = viewAbovePath[depth];
+  var isAboveViewRoot = nodeInViewAbovePath && nodeInViewAbovePath === node;
+  if (nodeInViewAbovePath && !isAboveViewRoot || depth === viewAbovePath.length && node !== viewRoot) {
+    return;
+  }
+  node.setLayout({
+    // isInView means: viewRoot sub tree + viewAbovePath
+    isInView: true,
+    // invisible only means: outside view clip so that the node can not
+    // see but still layout for animation preparation but not render.
+    invisible: !isAboveViewRoot && !clipRect.intersect(nodeLayout),
+    isAboveViewRoot
+  }, true);
+  var childClipRect = new BoundingRect$1(clipRect.x - nodeLayout.x, clipRect.y - nodeLayout.y, clipRect.width, clipRect.height);
+  each$b(node.viewChildren || [], function(child) {
+    prunning(child, childClipRect, viewAbovePath, viewRoot, depth + 1);
+  });
+}
+function getUpperLabelHeight(model2) {
+  return model2.get(PATH_UPPER_LABEL_SHOW) ? model2.get(PATH_UPPER_LABEL_HEIGHT) : 0;
+}
+function install$G(registers) {
+  registers.registerSeriesModel(TreemapSeriesModel$1);
+  registers.registerChartView(TreemapView$1);
+  registers.registerVisual(treemapVisual);
+  registers.registerLayout(treemapLayout);
+  installTreemapAction(registers);
+}
+function categoryFilter(ecModel) {
+  var legendModels = ecModel.findComponents({
+    mainType: "legend"
+  });
+  if (!legendModels || !legendModels.length) {
+    return;
+  }
+  ecModel.eachSeriesByType("graph", function(graphSeries) {
+    var categoriesData = graphSeries.getCategoriesData();
+    var graph2 = graphSeries.getGraph();
+    var data2 = graph2.data;
+    var categoryNames = categoriesData.mapArray(categoriesData.getName);
+    data2.filterSelf(function(idx) {
+      var model2 = data2.getItemModel(idx);
+      var category = model2.getShallow("category");
+      if (category != null) {
+        if (isNumber$1(category)) {
+          category = categoryNames[category];
+        }
+        for (var i2 = 0; i2 < legendModels.length; i2++) {
+          if (!legendModels[i2].isSelected(category)) {
+            return false;
+          }
+        }
+      }
+      return true;
+    });
+  });
+}
+function categoryVisual(ecModel) {
+  var paletteScope = {};
+  ecModel.eachSeriesByType("graph", function(seriesModel) {
+    var categoriesData = seriesModel.getCategoriesData();
+    var data2 = seriesModel.getData();
+    var categoryNameIdxMap = {};
+    categoriesData.each(function(idx) {
+      var name2 = categoriesData.getName(idx);
+      categoryNameIdxMap["ec-" + name2] = idx;
+      var itemModel = categoriesData.getItemModel(idx);
+      var style2 = itemModel.getModel("itemStyle").getItemStyle();
+      if (!style2.fill) {
+        style2.fill = seriesModel.getColorFromPalette(name2, paletteScope);
+      }
+      categoriesData.setItemVisual(idx, "style", style2);
+      var symbolVisualList = ["symbol", "symbolSize", "symbolKeepAspect"];
+      for (var i2 = 0; i2 < symbolVisualList.length; i2++) {
+        var symbolVisual = itemModel.getShallow(symbolVisualList[i2], true);
+        if (symbolVisual != null) {
+          categoriesData.setItemVisual(idx, symbolVisualList[i2], symbolVisual);
+        }
+      }
+    });
+    if (categoriesData.count()) {
+      data2.each(function(idx) {
+        var model2 = data2.getItemModel(idx);
+        var categoryIdx = model2.getShallow("category");
+        if (categoryIdx != null) {
+          if (isString$1(categoryIdx)) {
+            categoryIdx = categoryNameIdxMap["ec-" + categoryIdx];
+          }
+          var categoryStyle = categoriesData.getItemVisual(categoryIdx, "style");
+          var style2 = data2.ensureUniqueItemVisual(idx, "style");
+          extend$1(style2, categoryStyle);
+          var visualList = ["symbol", "symbolSize", "symbolKeepAspect"];
+          for (var i2 = 0; i2 < visualList.length; i2++) {
+            data2.setItemVisual(idx, visualList[i2], categoriesData.getItemVisual(categoryIdx, visualList[i2]));
+          }
+        }
+      });
+    }
+  });
+}
+function normalize$1(a2) {
+  if (!(a2 instanceof Array)) {
+    a2 = [a2, a2];
+  }
+  return a2;
+}
+function graphEdgeVisual(ecModel) {
+  ecModel.eachSeriesByType("graph", function(seriesModel) {
+    var graph2 = seriesModel.getGraph();
+    var edgeData = seriesModel.getEdgeData();
+    var symbolType = normalize$1(seriesModel.get("edgeSymbol"));
+    var symbolSize = normalize$1(seriesModel.get("edgeSymbolSize"));
+    edgeData.setVisual("fromSymbol", symbolType && symbolType[0]);
+    edgeData.setVisual("toSymbol", symbolType && symbolType[1]);
+    edgeData.setVisual("fromSymbolSize", symbolSize && symbolSize[0]);
+    edgeData.setVisual("toSymbolSize", symbolSize && symbolSize[1]);
+    edgeData.setVisual("style", seriesModel.getModel("lineStyle").getLineStyle());
+    edgeData.each(function(idx) {
+      var itemModel = edgeData.getItemModel(idx);
+      var edge = graph2.getEdgeByIndex(idx);
+      var symbolType2 = normalize$1(itemModel.getShallow("symbol", true));
+      var symbolSize2 = normalize$1(itemModel.getShallow("symbolSize", true));
+      var style2 = itemModel.getModel("lineStyle").getLineStyle();
+      var existsStyle = edgeData.ensureUniqueItemVisual(idx, "style");
+      extend$1(existsStyle, style2);
+      switch (existsStyle.stroke) {
+        case "source": {
+          var nodeStyle = edge.node1.getVisual("style");
+          existsStyle.stroke = nodeStyle && nodeStyle.fill;
+          break;
+        }
+        case "target": {
+          var nodeStyle = edge.node2.getVisual("style");
+          existsStyle.stroke = nodeStyle && nodeStyle.fill;
+          break;
+        }
+      }
+      symbolType2[0] && edge.setVisual("fromSymbol", symbolType2[0]);
+      symbolType2[1] && edge.setVisual("toSymbol", symbolType2[1]);
+      symbolSize2[0] && edge.setVisual("fromSymbolSize", symbolSize2[0]);
+      symbolSize2[1] && edge.setVisual("toSymbolSize", symbolSize2[1]);
+    });
+  });
+}
+var KEY_DELIMITER = "-->";
+var getAutoCurvenessParams = function(seriesModel) {
+  return seriesModel.get("autoCurveness") || null;
+};
+var createCurveness = function(seriesModel, appendLength) {
+  var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);
+  var length2 = 20;
+  var curvenessList = [];
+  if (isNumber$1(autoCurvenessParmas)) {
+    length2 = autoCurvenessParmas;
+  } else if (isArray$2(autoCurvenessParmas)) {
+    seriesModel.__curvenessList = autoCurvenessParmas;
+    return;
+  }
+  if (appendLength > length2) {
+    length2 = appendLength;
+  }
+  var len2 = length2 % 2 ? length2 + 2 : length2 + 3;
+  curvenessList = [];
+  for (var i2 = 0; i2 < len2; i2++) {
+    curvenessList.push((i2 % 2 ? i2 + 1 : i2) / 10 * (i2 % 2 ? -1 : 1));
+  }
+  seriesModel.__curvenessList = curvenessList;
+};
+var getKeyOfEdges = function(n1, n2, seriesModel) {
+  var source2 = [n1.id, n1.dataIndex].join(".");
+  var target = [n2.id, n2.dataIndex].join(".");
+  return [seriesModel.uid, source2, target].join(KEY_DELIMITER);
+};
+var getOppositeKey = function(key2) {
+  var keys2 = key2.split(KEY_DELIMITER);
+  return [keys2[0], keys2[2], keys2[1]].join(KEY_DELIMITER);
+};
+var getEdgeFromMap = function(edge, seriesModel) {
+  var key2 = getKeyOfEdges(edge.node1, edge.node2, seriesModel);
+  return seriesModel.__edgeMap[key2];
+};
+var getTotalLengthBetweenNodes = function(edge, seriesModel) {
+  var len2 = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);
+  var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);
+  return len2 + lenV;
+};
+var getEdgeMapLengthWithKey = function(key2, seriesModel) {
+  var edgeMap = seriesModel.__edgeMap;
+  return edgeMap[key2] ? edgeMap[key2].length : 0;
+};
+function initCurvenessList(seriesModel) {
+  if (!getAutoCurvenessParams(seriesModel)) {
+    return;
+  }
+  seriesModel.__curvenessList = [];
+  seriesModel.__edgeMap = {};
+  createCurveness(seriesModel);
+}
+function createEdgeMapForCurveness(n1, n2, seriesModel, index3) {
+  if (!getAutoCurvenessParams(seriesModel)) {
+    return;
+  }
+  var key2 = getKeyOfEdges(n1, n2, seriesModel);
+  var edgeMap = seriesModel.__edgeMap;
+  var oppositeEdges = edgeMap[getOppositeKey(key2)];
+  if (edgeMap[key2] && !oppositeEdges) {
+    edgeMap[key2].isForward = true;
+  } else if (oppositeEdges && edgeMap[key2]) {
+    oppositeEdges.isForward = true;
+    edgeMap[key2].isForward = false;
+  }
+  edgeMap[key2] = edgeMap[key2] || [];
+  edgeMap[key2].push(index3);
+}
+function getCurvenessForEdge(edge, seriesModel, index3, needReverse) {
+  var autoCurvenessParams = getAutoCurvenessParams(seriesModel);
+  var isArrayParam = isArray$2(autoCurvenessParams);
+  if (!autoCurvenessParams) {
+    return null;
+  }
+  var edgeArray = getEdgeFromMap(edge, seriesModel);
+  if (!edgeArray) {
+    return null;
+  }
+  var edgeIndex = -1;
+  for (var i2 = 0; i2 < edgeArray.length; i2++) {
+    if (edgeArray[i2] === index3) {
+      edgeIndex = i2;
+      break;
+    }
+  }
+  var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);
+  createCurveness(seriesModel, totalLen);
+  edge.lineStyle = edge.lineStyle || {};
+  var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);
+  var curvenessList = seriesModel.__curvenessList;
+  var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;
+  if (!edgeArray.isForward) {
+    var oppositeKey = getOppositeKey(curKey);
+    var len2 = getEdgeMapLengthWithKey(oppositeKey, seriesModel);
+    var resValue = curvenessList[edgeIndex + len2 + parityCorrection];
+    if (needReverse) {
+      if (isArrayParam) {
+        if (autoCurvenessParams && autoCurvenessParams[0] === 0) {
+          return (len2 + parityCorrection) % 2 ? resValue : -resValue;
+        } else {
+          return ((len2 % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;
+        }
+      } else {
+        return (len2 + parityCorrection) % 2 ? resValue : -resValue;
+      }
+    } else {
+      return curvenessList[edgeIndex + len2 + parityCorrection];
+    }
+  } else {
+    return curvenessList[parityCorrection + edgeIndex];
+  }
+}
+function simpleLayout(seriesModel) {
+  var coordSys = seriesModel.coordinateSystem;
+  if (coordSys && coordSys.type !== "view") {
+    return;
+  }
+  var graph2 = seriesModel.getGraph();
+  graph2.eachNode(function(node) {
+    var model2 = node.getModel();
+    node.setLayout([+model2.get("x"), +model2.get("y")]);
+  });
+  simpleLayoutEdge(graph2, seriesModel);
+}
+function simpleLayoutEdge(graph2, seriesModel) {
+  graph2.eachEdge(function(edge, index3) {
+    var curveness = retrieve3(edge.getModel().get(["lineStyle", "curveness"]), -getCurvenessForEdge(edge, seriesModel, index3, true), 0);
+    var p1 = clone$3(edge.node1.getLayout());
+    var p2 = clone$3(edge.node2.getLayout());
+    var points2 = [p1, p2];
+    if (+curveness) {
+      points2.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);
+    }
+    edge.setLayout(points2);
+  });
+}
+function graphSimpleLayout(ecModel, api2) {
+  ecModel.eachSeriesByType("graph", function(seriesModel) {
+    var layout2 = seriesModel.get("layout");
+    var coordSys = seriesModel.coordinateSystem;
+    if (coordSys && coordSys.type !== "view") {
+      var data_1 = seriesModel.getData();
+      var dimensions_1 = [];
+      each$f(coordSys.dimensions, function(coordDim) {
+        dimensions_1 = dimensions_1.concat(data_1.mapDimensionsAll(coordDim));
+      });
+      for (var dataIndex = 0; dataIndex < data_1.count(); dataIndex++) {
+        var value = [];
+        var hasValue = false;
+        for (var i2 = 0; i2 < dimensions_1.length; i2++) {
+          var val = data_1.get(dimensions_1[i2], dataIndex);
+          if (!isNaN(val)) {
+            hasValue = true;
+          }
+          value.push(val);
+        }
+        if (hasValue) {
+          data_1.setItemLayout(dataIndex, coordSys.dataToPoint(value));
+        } else {
+          data_1.setItemLayout(dataIndex, [NaN, NaN]);
+        }
+      }
+      simpleLayoutEdge(data_1.graph, seriesModel);
+    } else if (!layout2 || layout2 === "none") {
+      simpleLayout(seriesModel);
+    }
+  });
+}
+function getNodeGlobalScale(seriesModel) {
+  var coordSys = seriesModel.coordinateSystem;
+  if (coordSys.type !== "view") {
+    return 1;
+  }
+  var nodeScaleRatio = seriesModel.option.nodeScaleRatio;
+  var groupZoom = coordSys.scaleX;
+  var roamZoom = coordSys.getZoom();
+  var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;
+  return nodeScale / groupZoom;
+}
+function getSymbolSize(node) {
+  var symbolSize = node.getVisual("symbolSize");
+  if (symbolSize instanceof Array) {
+    symbolSize = (symbolSize[0] + symbolSize[1]) / 2;
+  }
+  return +symbolSize;
+}
+var PI$2 = Math.PI;
+var _symbolRadiansHalf = [];
+function circularLayout(seriesModel, basedOn, draggingNode, pointer) {
+  var coordSys = seriesModel.coordinateSystem;
+  if (coordSys && coordSys.type !== "view") {
+    return;
+  }
+  var rect = coordSys.getBoundingRect();
+  var nodeData = seriesModel.getData();
+  var graph2 = nodeData.graph;
+  var cx = rect.width / 2 + rect.x;
+  var cy = rect.height / 2 + rect.y;
+  var r2 = Math.min(rect.width, rect.height) / 2;
+  var count2 = nodeData.count();
+  nodeData.setLayout({
+    cx,
+    cy
+  });
+  if (!count2) {
+    return;
+  }
+  if (draggingNode) {
+    var _a2 = coordSys.pointToData(pointer), tempX = _a2[0], tempY = _a2[1];
+    var v4 = [tempX - cx, tempY - cy];
+    normalize$3(v4, v4);
+    scale$2(v4, v4, r2);
+    draggingNode.setLayout([cx + v4[0], cy + v4[1]], true);
+    var circularRotateLabel = seriesModel.get(["circular", "rotateLabel"]);
+    rotateNodeLabel(draggingNode, circularRotateLabel, cx, cy);
+  }
+  _layoutNodesBasedOn[basedOn](seriesModel, graph2, nodeData, r2, cx, cy, count2);
+  graph2.eachEdge(function(edge, index3) {
+    var curveness = retrieve3(edge.getModel().get(["lineStyle", "curveness"]), getCurvenessForEdge(edge, seriesModel, index3), 0);
+    var p1 = clone$3(edge.node1.getLayout());
+    var p2 = clone$3(edge.node2.getLayout());
+    var cp1;
+    var x12 = (p1[0] + p2[0]) / 2;
+    var y12 = (p1[1] + p2[1]) / 2;
+    if (+curveness) {
+      curveness *= 3;
+      cp1 = [cx * curveness + x12 * (1 - curveness), cy * curveness + y12 * (1 - curveness)];
+    }
+    edge.setLayout([p1, p2, cp1]);
+  });
+}
+var _layoutNodesBasedOn = {
+  value: function(seriesModel, graph2, nodeData, r2, cx, cy, count2) {
+    var angle = 0;
+    var sum2 = nodeData.getSum("value");
+    var unitAngle = Math.PI * 2 / (sum2 || count2);
+    graph2.eachNode(function(node) {
+      var value = node.getValue("value");
+      var radianHalf = unitAngle * (sum2 ? value : 1) / 2;
+      angle += radianHalf;
+      node.setLayout([r2 * Math.cos(angle) + cx, r2 * Math.sin(angle) + cy]);
+      angle += radianHalf;
+    });
+  },
+  symbolSize: function(seriesModel, graph2, nodeData, r2, cx, cy, count2) {
+    var sumRadian = 0;
+    _symbolRadiansHalf.length = count2;
+    var nodeScale = getNodeGlobalScale(seriesModel);
+    graph2.eachNode(function(node) {
+      var symbolSize = getSymbolSize(node);
+      isNaN(symbolSize) && (symbolSize = 2);
+      symbolSize < 0 && (symbolSize = 0);
+      symbolSize *= nodeScale;
+      var symbolRadianHalf = Math.asin(symbolSize / 2 / r2);
+      isNaN(symbolRadianHalf) && (symbolRadianHalf = PI$2 / 2);
+      _symbolRadiansHalf[node.dataIndex] = symbolRadianHalf;
+      sumRadian += symbolRadianHalf * 2;
+    });
+    var halfRemainRadian = (2 * PI$2 - sumRadian) / count2 / 2;
+    var angle = 0;
+    graph2.eachNode(function(node) {
+      var radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];
+      angle += radianHalf;
+      (!node.getLayout() || !node.getLayout().fixed) && node.setLayout([r2 * Math.cos(angle) + cx, r2 * Math.sin(angle) + cy]);
+      angle += radianHalf;
+    });
+  }
+};
+function rotateNodeLabel(node, circularRotateLabel, cx, cy) {
+  var el = node.getGraphicEl();
+  if (!el) {
+    return;
+  }
+  var nodeModel = node.getModel();
+  var labelRotate = nodeModel.get(["label", "rotate"]) || 0;
+  var symbolPath = el.getSymbolPath();
+  if (circularRotateLabel) {
+    var pos = node.getLayout();
+    var rad = Math.atan2(pos[1] - cy, pos[0] - cx);
+    if (rad < 0) {
+      rad = Math.PI * 2 + rad;
+    }
+    var isLeft = pos[0] < cx;
+    if (isLeft) {
+      rad = rad - Math.PI;
+    }
+    var textPosition = isLeft ? "left" : "right";
+    symbolPath.setTextConfig({
+      rotation: -rad,
+      position: textPosition,
+      origin: "center"
+    });
+    var emphasisState = symbolPath.ensureState("emphasis");
+    extend$1(emphasisState.textConfig || (emphasisState.textConfig = {}), {
+      position: textPosition
+    });
+  } else {
+    symbolPath.setTextConfig({
+      rotation: labelRotate *= Math.PI / 180
+    });
+  }
+}
+function graphCircularLayout(ecModel) {
+  ecModel.eachSeriesByType("graph", function(seriesModel) {
+    if (seriesModel.get("layout") === "circular") {
+      circularLayout(seriesModel, "symbolSize");
+    }
+  });
+}
+var scaleAndAdd = scaleAndAdd$1;
+function forceLayout(inNodes, inEdges, opts2) {
+  var nodes = inNodes;
+  var edges = inEdges;
+  var rect = opts2.rect;
+  var width = rect.width;
+  var height = rect.height;
+  var center2 = [rect.x + width / 2, rect.y + height / 2];
+  var gravity = opts2.gravity == null ? 0.1 : opts2.gravity;
+  for (var i2 = 0; i2 < nodes.length; i2++) {
+    var n2 = nodes[i2];
+    if (!n2.p) {
+      n2.p = create$2(width * (Math.random() - 0.5) + center2[0], height * (Math.random() - 0.5) + center2[1]);
+    }
+    n2.pp = clone$3(n2.p);
+    n2.edges = null;
+  }
+  var initialFriction = opts2.friction == null ? 0.6 : opts2.friction;
+  var friction = initialFriction;
+  var beforeStepCallback;
+  var afterStepCallback;
+  return {
+    warmUp: function() {
+      friction = initialFriction * 0.8;
+    },
+    setFixed: function(idx) {
+      nodes[idx].fixed = true;
+    },
+    setUnfixed: function(idx) {
+      nodes[idx].fixed = false;
+    },
+    /**
+     * Before step hook
+     */
+    beforeStep: function(cb) {
+      beforeStepCallback = cb;
+    },
+    /**
+     * After step hook
+     */
+    afterStep: function(cb) {
+      afterStepCallback = cb;
+    },
+    /**
+     * Some formulas were originally copied from "d3.js"
+     * https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/layout/force.js
+     * with some modifications made for this project.
+     * See the license statement at the head of this file.
+     */
+    step: function(cb) {
+      beforeStepCallback && beforeStepCallback(nodes, edges);
+      var v12 = [];
+      var nLen = nodes.length;
+      for (var i3 = 0; i3 < edges.length; i3++) {
+        var e2 = edges[i3];
+        if (e2.ignoreForceLayout) {
+          continue;
+        }
+        var n1 = e2.n1;
+        var n22 = e2.n2;
+        sub(v12, n22.p, n1.p);
+        var d2 = len(v12) - e2.d;
+        var w2 = n22.w / (n1.w + n22.w);
+        if (isNaN(w2)) {
+          w2 = 0;
+        }
+        normalize$3(v12, v12);
+        !n1.fixed && scaleAndAdd(n1.p, n1.p, v12, w2 * d2 * friction);
+        !n22.fixed && scaleAndAdd(n22.p, n22.p, v12, -(1 - w2) * d2 * friction);
+      }
+      for (var i3 = 0; i3 < nLen; i3++) {
+        var n3 = nodes[i3];
+        if (!n3.fixed) {
+          sub(v12, center2, n3.p);
+          scaleAndAdd(n3.p, n3.p, v12, gravity * friction);
+        }
+      }
+      for (var i3 = 0; i3 < nLen; i3++) {
+        var n1 = nodes[i3];
+        for (var j2 = i3 + 1; j2 < nLen; j2++) {
+          var n22 = nodes[j2];
+          sub(v12, n22.p, n1.p);
+          var d2 = len(v12);
+          if (d2 === 0) {
+            set$1(v12, Math.random() - 0.5, Math.random() - 0.5);
+            d2 = 1;
+          }
+          var repFact = (n1.rep + n22.rep) / d2 / d2;
+          !n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);
+          !n22.fixed && scaleAndAdd(n22.pp, n22.pp, v12, -repFact);
+        }
+      }
+      var v4 = [];
+      for (var i3 = 0; i3 < nLen; i3++) {
+        var n3 = nodes[i3];
+        if (!n3.fixed) {
+          sub(v4, n3.p, n3.pp);
+          scaleAndAdd(n3.p, n3.p, v4, friction);
+          copy$1(n3.pp, n3.p);
+        }
+      }
+      friction = friction * 0.992;
+      var finished = friction < 0.01;
+      afterStepCallback && afterStepCallback(nodes, edges, finished);
+      cb && cb(finished);
+    }
+  };
+}
+function graphForceLayout(ecModel) {
+  ecModel.eachSeriesByType("graph", function(graphSeries) {
+    var coordSys = graphSeries.coordinateSystem;
+    if (coordSys && coordSys.type !== "view") {
+      return;
+    }
+    if (graphSeries.get("layout") === "force") {
+      var preservedPoints_1 = graphSeries.preservedPoints || {};
+      var graph_1 = graphSeries.getGraph();
+      var nodeData_1 = graph_1.data;
+      var edgeData = graph_1.edgeData;
+      var forceModel = graphSeries.getModel("force");
+      var initLayout = forceModel.get("initLayout");
+      if (graphSeries.preservedPoints) {
+        nodeData_1.each(function(idx) {
+          var id = nodeData_1.getId(idx);
+          nodeData_1.setItemLayout(idx, preservedPoints_1[id] || [NaN, NaN]);
+        });
+      } else if (!initLayout || initLayout === "none") {
+        simpleLayout(graphSeries);
+      } else if (initLayout === "circular") {
+        circularLayout(graphSeries, "value");
+      }
+      var nodeDataExtent_1 = nodeData_1.getDataExtent("value");
+      var edgeDataExtent_1 = edgeData.getDataExtent("value");
+      var repulsion = forceModel.get("repulsion");
+      var edgeLength = forceModel.get("edgeLength");
+      var repulsionArr_1 = isArray$2(repulsion) ? repulsion : [repulsion, repulsion];
+      var edgeLengthArr_1 = isArray$2(edgeLength) ? edgeLength : [edgeLength, edgeLength];
+      edgeLengthArr_1 = [edgeLengthArr_1[1], edgeLengthArr_1[0]];
+      var nodes_1 = nodeData_1.mapArray("value", function(value, idx) {
+        var point = nodeData_1.getItemLayout(idx);
+        var rep = linearMap$2(value, nodeDataExtent_1, repulsionArr_1);
+        if (isNaN(rep)) {
+          rep = (repulsionArr_1[0] + repulsionArr_1[1]) / 2;
+        }
+        return {
+          w: rep,
+          rep,
+          fixed: nodeData_1.getItemModel(idx).get("fixed"),
+          p: !point || isNaN(point[0]) || isNaN(point[1]) ? null : point
+        };
+      });
+      var edges = edgeData.mapArray("value", function(value, idx) {
+        var edge = graph_1.getEdgeByIndex(idx);
+        var d2 = linearMap$2(value, edgeDataExtent_1, edgeLengthArr_1);
+        if (isNaN(d2)) {
+          d2 = (edgeLengthArr_1[0] + edgeLengthArr_1[1]) / 2;
+        }
+        var edgeModel = edge.getModel();
+        var curveness = retrieve3(edge.getModel().get(["lineStyle", "curveness"]), -getCurvenessForEdge(edge, graphSeries, idx, true), 0);
+        return {
+          n1: nodes_1[edge.node1.dataIndex],
+          n2: nodes_1[edge.node2.dataIndex],
+          d: d2,
+          curveness,
+          ignoreForceLayout: edgeModel.get("ignoreForceLayout")
+        };
+      });
+      var rect = coordSys.getBoundingRect();
+      var forceInstance = forceLayout(nodes_1, edges, {
+        rect,
+        gravity: forceModel.get("gravity"),
+        friction: forceModel.get("friction")
+      });
+      forceInstance.beforeStep(function(nodes, edges2) {
+        for (var i2 = 0, l2 = nodes.length; i2 < l2; i2++) {
+          if (nodes[i2].fixed) {
+            copy$1(nodes[i2].p, graph_1.getNodeByIndex(i2).getLayout());
+          }
+        }
+      });
+      forceInstance.afterStep(function(nodes, edges2, stopped) {
+        for (var i2 = 0, l2 = nodes.length; i2 < l2; i2++) {
+          if (!nodes[i2].fixed) {
+            graph_1.getNodeByIndex(i2).setLayout(nodes[i2].p);
+          }
+          preservedPoints_1[nodeData_1.getId(i2)] = nodes[i2].p;
+        }
+        for (var i2 = 0, l2 = edges2.length; i2 < l2; i2++) {
+          var e2 = edges2[i2];
+          var edge = graph_1.getEdgeByIndex(i2);
+          var p1 = e2.n1.p;
+          var p2 = e2.n2.p;
+          var points2 = edge.getLayout();
+          points2 = points2 ? points2.slice() : [];
+          points2[0] = points2[0] || [];
+          points2[1] = points2[1] || [];
+          copy$1(points2[0], p1);
+          copy$1(points2[1], p2);
+          if (+e2.curveness) {
+            points2[2] = [(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * e2.curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * e2.curveness];
+          }
+          edge.setLayout(points2);
+        }
+      });
+      graphSeries.forceLayout = forceInstance;
+      graphSeries.preservedPoints = preservedPoints_1;
+      forceInstance.step();
+    } else {
+      graphSeries.forceLayout = null;
+    }
+  });
+}
+function getViewRect$3(seriesModel, api2, aspect) {
+  var option = extend$1(seriesModel.getBoxLayoutParams(), {
+    aspect
+  });
+  return getLayoutRect(option, {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  });
+}
+function createViewCoordSys(ecModel, api2) {
+  var viewList = [];
+  ecModel.eachSeriesByType("graph", function(seriesModel) {
+    var coordSysType = seriesModel.get("coordinateSystem");
+    if (!coordSysType || coordSysType === "view") {
+      var data_1 = seriesModel.getData();
+      var positions2 = data_1.mapArray(function(idx) {
+        var itemModel = data_1.getItemModel(idx);
+        return [+itemModel.get("x"), +itemModel.get("y")];
+      });
+      var min3 = [];
+      var max3 = [];
+      fromPoints(positions2, min3, max3);
+      if (max3[0] - min3[0] === 0) {
+        max3[0] += 1;
+        min3[0] -= 1;
+      }
+      if (max3[1] - min3[1] === 0) {
+        max3[1] += 1;
+        min3[1] -= 1;
+      }
+      var aspect = (max3[0] - min3[0]) / (max3[1] - min3[1]);
+      var viewRect2 = getViewRect$3(seriesModel, api2, aspect);
+      if (isNaN(aspect)) {
+        min3 = [viewRect2.x, viewRect2.y];
+        max3 = [viewRect2.x + viewRect2.width, viewRect2.y + viewRect2.height];
+      }
+      var bbWidth = max3[0] - min3[0];
+      var bbHeight = max3[1] - min3[1];
+      var viewWidth = viewRect2.width;
+      var viewHeight = viewRect2.height;
+      var viewCoordSys = seriesModel.coordinateSystem = new View$1();
+      viewCoordSys.zoomLimit = seriesModel.get("scaleLimit");
+      viewCoordSys.setBoundingRect(min3[0], min3[1], bbWidth, bbHeight);
+      viewCoordSys.setViewRect(viewRect2.x, viewRect2.y, viewWidth, viewHeight);
+      viewCoordSys.setCenter(seriesModel.get("center"), api2);
+      viewCoordSys.setZoom(seriesModel.get("zoom"));
+      viewList.push(viewCoordSys);
+    }
+  });
+  return viewList;
+}
+var straightLineProto = Line$3.prototype;
+var bezierCurveProto = BezierCurve$1.prototype;
+var StraightLineShape = (
+  /** @class */
+  function() {
+    function StraightLineShape2() {
+      this.x1 = 0;
+      this.y1 = 0;
+      this.x2 = 0;
+      this.y2 = 0;
+      this.percent = 1;
+    }
+    return StraightLineShape2;
+  }()
+);
+(function(_super) {
+  __extends(CurveShape, _super);
+  function CurveShape() {
+    return _super !== null && _super.apply(this, arguments) || this;
+  }
+  return CurveShape;
+})(StraightLineShape);
+function isStraightLine(shape) {
+  return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);
+}
+var ECLinePath = (
+  /** @class */
+  function(_super) {
+    __extends(ECLinePath2, _super);
+    function ECLinePath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "ec-line";
+      return _this;
+    }
+    ECLinePath2.prototype.getDefaultStyle = function() {
+      return {
+        stroke: "#000",
+        fill: null
+      };
+    };
+    ECLinePath2.prototype.getDefaultShape = function() {
+      return new StraightLineShape();
+    };
+    ECLinePath2.prototype.buildPath = function(ctx, shape) {
+      if (isStraightLine(shape)) {
+        straightLineProto.buildPath.call(this, ctx, shape);
+      } else {
+        bezierCurveProto.buildPath.call(this, ctx, shape);
+      }
+    };
+    ECLinePath2.prototype.pointAt = function(t2) {
+      if (isStraightLine(this.shape)) {
+        return straightLineProto.pointAt.call(this, t2);
+      } else {
+        return bezierCurveProto.pointAt.call(this, t2);
+      }
+    };
+    ECLinePath2.prototype.tangentAt = function(t2) {
+      var shape = this.shape;
+      var p2 = isStraightLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : bezierCurveProto.tangentAt.call(this, t2);
+      return normalize$3(p2, p2);
+    };
+    return ECLinePath2;
+  }(Path$1)
+);
+const ECLinePath$1 = ECLinePath;
+var SYMBOL_CATEGORIES = ["fromSymbol", "toSymbol"];
+function makeSymbolTypeKey(symbolCategory) {
+  return "_" + symbolCategory + "Type";
+}
+function makeSymbolTypeValue(name2, lineData, idx) {
+  var symbolType = lineData.getItemVisual(idx, name2);
+  if (!symbolType || symbolType === "none") {
+    return symbolType;
+  }
+  var symbolSize = lineData.getItemVisual(idx, name2 + "Size");
+  var symbolRotate = lineData.getItemVisual(idx, name2 + "Rotate");
+  var symbolOffset = lineData.getItemVisual(idx, name2 + "Offset");
+  var symbolKeepAspect = lineData.getItemVisual(idx, name2 + "KeepAspect");
+  var symbolSizeArr = normalizeSymbolSize(symbolSize);
+  var symbolOffsetArr = normalizeSymbolOffset(symbolOffset || 0, symbolSizeArr);
+  return symbolType + symbolSizeArr + symbolOffsetArr + (symbolRotate || "") + (symbolKeepAspect || "");
+}
+function createSymbol(name2, lineData, idx) {
+  var symbolType = lineData.getItemVisual(idx, name2);
+  if (!symbolType || symbolType === "none") {
+    return;
+  }
+  var symbolSize = lineData.getItemVisual(idx, name2 + "Size");
+  var symbolRotate = lineData.getItemVisual(idx, name2 + "Rotate");
+  var symbolOffset = lineData.getItemVisual(idx, name2 + "Offset");
+  var symbolKeepAspect = lineData.getItemVisual(idx, name2 + "KeepAspect");
+  var symbolSizeArr = normalizeSymbolSize(symbolSize);
+  var symbolOffsetArr = normalizeSymbolOffset(symbolOffset || 0, symbolSizeArr);
+  var symbolPath = createSymbol$1(symbolType, -symbolSizeArr[0] / 2 + symbolOffsetArr[0], -symbolSizeArr[1] / 2 + symbolOffsetArr[1], symbolSizeArr[0], symbolSizeArr[1], null, symbolKeepAspect);
+  symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;
+  symbolPath.name = name2;
+  return symbolPath;
+}
+function createLine(points2) {
+  var line2 = new ECLinePath$1({
+    name: "line",
+    subPixelOptimize: true
+  });
+  setLinePoints(line2.shape, points2);
+  return line2;
+}
+function setLinePoints(targetShape, points2) {
+  targetShape.x1 = points2[0][0];
+  targetShape.y1 = points2[0][1];
+  targetShape.x2 = points2[1][0];
+  targetShape.y2 = points2[1][1];
+  targetShape.percent = 1;
+  var cp1 = points2[2];
+  if (cp1) {
+    targetShape.cpx1 = cp1[0];
+    targetShape.cpy1 = cp1[1];
+  } else {
+    targetShape.cpx1 = NaN;
+    targetShape.cpy1 = NaN;
+  }
+}
+var Line = (
+  /** @class */
+  function(_super) {
+    __extends(Line2, _super);
+    function Line2(lineData, idx, seriesScope) {
+      var _this = _super.call(this) || this;
+      _this._createLine(lineData, idx, seriesScope);
+      return _this;
+    }
+    Line2.prototype._createLine = function(lineData, idx, seriesScope) {
+      var seriesModel = lineData.hostModel;
+      var linePoints = lineData.getItemLayout(idx);
+      var line2 = createLine(linePoints);
+      line2.shape.percent = 0;
+      initProps(line2, {
+        shape: {
+          percent: 1
+        }
+      }, seriesModel, idx);
+      this.add(line2);
+      each$f(SYMBOL_CATEGORIES, function(symbolCategory) {
+        var symbol2 = createSymbol(symbolCategory, lineData, idx);
+        this.add(symbol2);
+        this[makeSymbolTypeKey(symbolCategory)] = makeSymbolTypeValue(symbolCategory, lineData, idx);
+      }, this);
+      this._updateCommonStl(lineData, idx, seriesScope);
+    };
+    Line2.prototype.updateData = function(lineData, idx, seriesScope) {
+      var seriesModel = lineData.hostModel;
+      var line2 = this.childOfName("line");
+      var linePoints = lineData.getItemLayout(idx);
+      var target = {
+        shape: {}
+      };
+      setLinePoints(target.shape, linePoints);
+      updateProps$1(line2, target, seriesModel, idx);
+      each$f(SYMBOL_CATEGORIES, function(symbolCategory) {
+        var symbolType = makeSymbolTypeValue(symbolCategory, lineData, idx);
+        var key2 = makeSymbolTypeKey(symbolCategory);
+        if (this[key2] !== symbolType) {
+          this.remove(this.childOfName(symbolCategory));
+          var symbol2 = createSymbol(symbolCategory, lineData, idx);
+          this.add(symbol2);
+        }
+        this[key2] = symbolType;
+      }, this);
+      this._updateCommonStl(lineData, idx, seriesScope);
+    };
+    Line2.prototype.getLinePath = function() {
+      return this.childAt(0);
+    };
+    Line2.prototype._updateCommonStl = function(lineData, idx, seriesScope) {
+      var seriesModel = lineData.hostModel;
+      var line2 = this.childOfName("line");
+      var emphasisLineStyle = seriesScope && seriesScope.emphasisLineStyle;
+      var blurLineStyle = seriesScope && seriesScope.blurLineStyle;
+      var selectLineStyle = seriesScope && seriesScope.selectLineStyle;
+      var labelStatesModels = seriesScope && seriesScope.labelStatesModels;
+      var emphasisDisabled = seriesScope && seriesScope.emphasisDisabled;
+      var focus2 = seriesScope && seriesScope.focus;
+      var blurScope = seriesScope && seriesScope.blurScope;
+      if (!seriesScope || lineData.hasItemOption) {
+        var itemModel = lineData.getItemModel(idx);
+        var emphasisModel = itemModel.getModel("emphasis");
+        emphasisLineStyle = emphasisModel.getModel("lineStyle").getLineStyle();
+        blurLineStyle = itemModel.getModel(["blur", "lineStyle"]).getLineStyle();
+        selectLineStyle = itemModel.getModel(["select", "lineStyle"]).getLineStyle();
+        emphasisDisabled = emphasisModel.get("disabled");
+        focus2 = emphasisModel.get("focus");
+        blurScope = emphasisModel.get("blurScope");
+        labelStatesModels = getLabelStatesModels(itemModel);
+      }
+      var lineStyle2 = lineData.getItemVisual(idx, "style");
+      var visualColor = lineStyle2.stroke;
+      line2.useStyle(lineStyle2);
+      line2.style.fill = null;
+      line2.style.strokeNoScale = true;
+      line2.ensureState("emphasis").style = emphasisLineStyle;
+      line2.ensureState("blur").style = blurLineStyle;
+      line2.ensureState("select").style = selectLineStyle;
+      each$f(SYMBOL_CATEGORIES, function(symbolCategory) {
+        var symbol2 = this.childOfName(symbolCategory);
+        if (symbol2) {
+          symbol2.setColor(visualColor);
+          symbol2.style.opacity = lineStyle2.opacity;
+          for (var i2 = 0; i2 < SPECIAL_STATES.length; i2++) {
+            var stateName = SPECIAL_STATES[i2];
+            var lineState = line2.getState(stateName);
+            if (lineState) {
+              var lineStateStyle = lineState.style || {};
+              var state = symbol2.ensureState(stateName);
+              var stateStyle = state.style || (state.style = {});
+              if (lineStateStyle.stroke != null) {
+                stateStyle[symbol2.__isEmptyBrush ? "stroke" : "fill"] = lineStateStyle.stroke;
+              }
+              if (lineStateStyle.opacity != null) {
+                stateStyle.opacity = lineStateStyle.opacity;
+              }
+            }
+          }
+          symbol2.markRedraw();
+        }
+      }, this);
+      var rawVal = seriesModel.getRawValue(idx);
+      setLabelStyle(this, labelStatesModels, {
+        labelDataIndex: idx,
+        labelFetcher: {
+          getFormattedLabel: function(dataIndex, stateName) {
+            return seriesModel.getFormattedLabel(dataIndex, stateName, lineData.dataType);
+          }
+        },
+        inheritColor: visualColor || "#000",
+        defaultOpacity: lineStyle2.opacity,
+        defaultText: (rawVal == null ? lineData.getName(idx) : isFinite(rawVal) ? round$3(rawVal) : rawVal) + ""
+      });
+      var label = this.getTextContent();
+      if (label) {
+        var labelNormalModel = labelStatesModels.normal;
+        label.__align = label.style.align;
+        label.__verticalAlign = label.style.verticalAlign;
+        label.__position = labelNormalModel.get("position") || "middle";
+        var distance2 = labelNormalModel.get("distance");
+        if (!isArray$2(distance2)) {
+          distance2 = [distance2, distance2];
+        }
+        label.__labelDistance = distance2;
+      }
+      this.setTextConfig({
+        position: null,
+        local: true,
+        inside: false
+        // Can't be inside for stroke element.
+      });
+      toggleHoverEmphasis(this, focus2, blurScope, emphasisDisabled);
+    };
+    Line2.prototype.highlight = function() {
+      enterEmphasis(this);
+    };
+    Line2.prototype.downplay = function() {
+      leaveEmphasis(this);
+    };
+    Line2.prototype.updateLayout = function(lineData, idx) {
+      this.setLinePoints(lineData.getItemLayout(idx));
+    };
+    Line2.prototype.setLinePoints = function(points2) {
+      var linePath = this.childOfName("line");
+      setLinePoints(linePath.shape, points2);
+      linePath.dirty();
+    };
+    Line2.prototype.beforeUpdate = function() {
+      var lineGroup = this;
+      var symbolFrom = lineGroup.childOfName("fromSymbol");
+      var symbolTo = lineGroup.childOfName("toSymbol");
+      var label = lineGroup.getTextContent();
+      if (!symbolFrom && !symbolTo && (!label || label.ignore)) {
+        return;
+      }
+      var invScale = 1;
+      var parentNode2 = this.parent;
+      while (parentNode2) {
+        if (parentNode2.scaleX) {
+          invScale /= parentNode2.scaleX;
+        }
+        parentNode2 = parentNode2.parent;
+      }
+      var line2 = lineGroup.childOfName("line");
+      if (!this.__dirty && !line2.__dirty) {
+        return;
+      }
+      var percent = line2.shape.percent;
+      var fromPos = line2.pointAt(0);
+      var toPos = line2.pointAt(percent);
+      var d2 = sub([], toPos, fromPos);
+      normalize$3(d2, d2);
+      function setSymbolRotation(symbol2, percent2) {
+        var specifiedRotation = symbol2.__specifiedRotation;
+        if (specifiedRotation == null) {
+          var tangent2 = line2.tangentAt(percent2);
+          symbol2.attr("rotation", (percent2 === 1 ? -1 : 1) * Math.PI / 2 - Math.atan2(tangent2[1], tangent2[0]));
+        } else {
+          symbol2.attr("rotation", specifiedRotation);
+        }
+      }
+      if (symbolFrom) {
+        symbolFrom.setPosition(fromPos);
+        setSymbolRotation(symbolFrom, 0);
+        symbolFrom.scaleX = symbolFrom.scaleY = invScale * percent;
+        symbolFrom.markRedraw();
+      }
+      if (symbolTo) {
+        symbolTo.setPosition(toPos);
+        setSymbolRotation(symbolTo, 1);
+        symbolTo.scaleX = symbolTo.scaleY = invScale * percent;
+        symbolTo.markRedraw();
+      }
+      if (label && !label.ignore) {
+        label.x = label.y = 0;
+        label.originX = label.originY = 0;
+        var textAlign = void 0;
+        var textVerticalAlign = void 0;
+        var distance2 = label.__labelDistance;
+        var distanceX = distance2[0] * invScale;
+        var distanceY = distance2[1] * invScale;
+        var halfPercent = percent / 2;
+        var tangent = line2.tangentAt(halfPercent);
+        var n2 = [tangent[1], -tangent[0]];
+        var cp = line2.pointAt(halfPercent);
+        if (n2[1] > 0) {
+          n2[0] = -n2[0];
+          n2[1] = -n2[1];
+        }
+        var dir3 = tangent[0] < 0 ? -1 : 1;
+        if (label.__position !== "start" && label.__position !== "end") {
+          var rotation = -Math.atan2(tangent[1], tangent[0]);
+          if (toPos[0] < fromPos[0]) {
+            rotation = Math.PI + rotation;
+          }
+          label.rotation = rotation;
+        }
+        var dy = void 0;
+        switch (label.__position) {
+          case "insideStartTop":
+          case "insideMiddleTop":
+          case "insideEndTop":
+          case "middle":
+            dy = -distanceY;
+            textVerticalAlign = "bottom";
+            break;
+          case "insideStartBottom":
+          case "insideMiddleBottom":
+          case "insideEndBottom":
+            dy = distanceY;
+            textVerticalAlign = "top";
+            break;
+          default:
+            dy = 0;
+            textVerticalAlign = "middle";
+        }
+        switch (label.__position) {
+          case "end":
+            label.x = d2[0] * distanceX + toPos[0];
+            label.y = d2[1] * distanceY + toPos[1];
+            textAlign = d2[0] > 0.8 ? "left" : d2[0] < -0.8 ? "right" : "center";
+            textVerticalAlign = d2[1] > 0.8 ? "top" : d2[1] < -0.8 ? "bottom" : "middle";
+            break;
+          case "start":
+            label.x = -d2[0] * distanceX + fromPos[0];
+            label.y = -d2[1] * distanceY + fromPos[1];
+            textAlign = d2[0] > 0.8 ? "right" : d2[0] < -0.8 ? "left" : "center";
+            textVerticalAlign = d2[1] > 0.8 ? "bottom" : d2[1] < -0.8 ? "top" : "middle";
+            break;
+          case "insideStartTop":
+          case "insideStart":
+          case "insideStartBottom":
+            label.x = distanceX * dir3 + fromPos[0];
+            label.y = fromPos[1] + dy;
+            textAlign = tangent[0] < 0 ? "right" : "left";
+            label.originX = -distanceX * dir3;
+            label.originY = -dy;
+            break;
+          case "insideMiddleTop":
+          case "insideMiddle":
+          case "insideMiddleBottom":
+          case "middle":
+            label.x = cp[0];
+            label.y = cp[1] + dy;
+            textAlign = "center";
+            label.originY = -dy;
+            break;
+          case "insideEndTop":
+          case "insideEnd":
+          case "insideEndBottom":
+            label.x = -distanceX * dir3 + toPos[0];
+            label.y = toPos[1] + dy;
+            textAlign = tangent[0] >= 0 ? "right" : "left";
+            label.originX = distanceX * dir3;
+            label.originY = -dy;
+            break;
+        }
+        label.scaleX = label.scaleY = invScale;
+        label.setStyle({
+          // Use the user specified text align and baseline first
+          verticalAlign: label.__verticalAlign || textVerticalAlign,
+          align: label.__align || textAlign
+        });
+      }
+    };
+    return Line2;
+  }(Group$4)
+);
+const Line$1 = Line;
+var LineDraw = (
+  /** @class */
+  function() {
+    function LineDraw2(LineCtor) {
+      this.group = new Group$4();
+      this._LineCtor = LineCtor || Line$1;
+    }
+    LineDraw2.prototype.updateData = function(lineData) {
+      var _this = this;
+      this._progressiveEls = null;
+      var lineDraw = this;
+      var group = lineDraw.group;
+      var oldLineData = lineDraw._lineData;
+      lineDraw._lineData = lineData;
+      if (!oldLineData) {
+        group.removeAll();
+      }
+      var seriesScope = makeSeriesScope$1(lineData);
+      lineData.diff(oldLineData).add(function(idx) {
+        _this._doAdd(lineData, idx, seriesScope);
+      }).update(function(newIdx, oldIdx) {
+        _this._doUpdate(oldLineData, lineData, oldIdx, newIdx, seriesScope);
+      }).remove(function(idx) {
+        group.remove(oldLineData.getItemGraphicEl(idx));
+      }).execute();
+    };
+    LineDraw2.prototype.updateLayout = function() {
+      var lineData = this._lineData;
+      if (!lineData) {
+        return;
+      }
+      lineData.eachItemGraphicEl(function(el, idx) {
+        el.updateLayout(lineData, idx);
+      }, this);
+    };
+    LineDraw2.prototype.incrementalPrepareUpdate = function(lineData) {
+      this._seriesScope = makeSeriesScope$1(lineData);
+      this._lineData = null;
+      this.group.removeAll();
+    };
+    LineDraw2.prototype.incrementalUpdate = function(taskParams, lineData) {
+      this._progressiveEls = [];
+      function updateIncrementalAndHover(el2) {
+        if (!el2.isGroup && !isEffectObject(el2)) {
+          el2.incremental = true;
+          el2.ensureState("emphasis").hoverLayer = true;
+        }
+      }
+      for (var idx = taskParams.start; idx < taskParams.end; idx++) {
+        var itemLayout = lineData.getItemLayout(idx);
+        if (lineNeedsDraw(itemLayout)) {
+          var el = new this._LineCtor(lineData, idx, this._seriesScope);
+          el.traverse(updateIncrementalAndHover);
+          this.group.add(el);
+          lineData.setItemGraphicEl(idx, el);
+          this._progressiveEls.push(el);
+        }
+      }
+    };
+    LineDraw2.prototype.remove = function() {
+      this.group.removeAll();
+    };
+    LineDraw2.prototype.eachRendered = function(cb) {
+      traverseElements(this._progressiveEls || this.group, cb);
+    };
+    LineDraw2.prototype._doAdd = function(lineData, idx, seriesScope) {
+      var itemLayout = lineData.getItemLayout(idx);
+      if (!lineNeedsDraw(itemLayout)) {
+        return;
+      }
+      var el = new this._LineCtor(lineData, idx, seriesScope);
+      lineData.setItemGraphicEl(idx, el);
+      this.group.add(el);
+    };
+    LineDraw2.prototype._doUpdate = function(oldLineData, newLineData, oldIdx, newIdx, seriesScope) {
+      var itemEl = oldLineData.getItemGraphicEl(oldIdx);
+      if (!lineNeedsDraw(newLineData.getItemLayout(newIdx))) {
+        this.group.remove(itemEl);
+        return;
+      }
+      if (!itemEl) {
+        itemEl = new this._LineCtor(newLineData, newIdx, seriesScope);
+      } else {
+        itemEl.updateData(newLineData, newIdx, seriesScope);
+      }
+      newLineData.setItemGraphicEl(newIdx, itemEl);
+      this.group.add(itemEl);
+    };
+    return LineDraw2;
+  }()
+);
+function isEffectObject(el) {
+  return el.animators && el.animators.length > 0;
+}
+function makeSeriesScope$1(lineData) {
+  var hostModel = lineData.hostModel;
+  var emphasisModel = hostModel.getModel("emphasis");
+  return {
+    lineStyle: hostModel.getModel("lineStyle").getLineStyle(),
+    emphasisLineStyle: emphasisModel.getModel(["lineStyle"]).getLineStyle(),
+    blurLineStyle: hostModel.getModel(["blur", "lineStyle"]).getLineStyle(),
+    selectLineStyle: hostModel.getModel(["select", "lineStyle"]).getLineStyle(),
+    emphasisDisabled: emphasisModel.get("disabled"),
+    blurScope: emphasisModel.get("blurScope"),
+    focus: emphasisModel.get("focus"),
+    labelStatesModels: getLabelStatesModels(hostModel)
+  };
+}
+function isPointNaN(pt) {
+  return isNaN(pt[0]) || isNaN(pt[1]);
+}
+function lineNeedsDraw(pts) {
+  return pts && !isPointNaN(pts[0]) && !isPointNaN(pts[1]);
+}
+const LineDraw$1 = LineDraw;
+var v1 = [];
+var v2 = [];
+var v3 = [];
+var quadraticAt = quadraticAt$1;
+var v2DistSquare = distSquare;
+var mathAbs = Math.abs;
+function intersectCurveCircle(curvePoints, center2, radius) {
+  var p0 = curvePoints[0];
+  var p1 = curvePoints[1];
+  var p2 = curvePoints[2];
+  var d2 = Infinity;
+  var t2;
+  var radiusSquare = radius * radius;
+  var interval = 0.1;
+  for (var _t = 0.1; _t <= 0.9; _t += 0.1) {
+    v1[0] = quadraticAt(p0[0], p1[0], p2[0], _t);
+    v1[1] = quadraticAt(p0[1], p1[1], p2[1], _t);
+    var diff = mathAbs(v2DistSquare(v1, center2) - radiusSquare);
+    if (diff < d2) {
+      d2 = diff;
+      t2 = _t;
+    }
+  }
+  for (var i2 = 0; i2 < 32; i2++) {
+    var next = t2 + interval;
+    v2[0] = quadraticAt(p0[0], p1[0], p2[0], t2);
+    v2[1] = quadraticAt(p0[1], p1[1], p2[1], t2);
+    v3[0] = quadraticAt(p0[0], p1[0], p2[0], next);
+    v3[1] = quadraticAt(p0[1], p1[1], p2[1], next);
+    var diff = v2DistSquare(v2, center2) - radiusSquare;
+    if (mathAbs(diff) < 0.01) {
+      break;
+    }
+    var nextDiff = v2DistSquare(v3, center2) - radiusSquare;
+    interval /= 2;
+    if (diff < 0) {
+      if (nextDiff >= 0) {
+        t2 = t2 + interval;
+      } else {
+        t2 = t2 - interval;
+      }
+    } else {
+      if (nextDiff >= 0) {
+        t2 = t2 - interval;
+      } else {
+        t2 = t2 + interval;
+      }
+    }
+  }
+  return t2;
+}
+function adjustEdge(graph2, scale2) {
+  var tmp0 = [];
+  var quadraticSubdivide$12 = quadraticSubdivide;
+  var pts = [[], [], []];
+  var pts2 = [[], []];
+  var v4 = [];
+  scale2 /= 2;
+  graph2.eachEdge(function(edge, idx) {
+    var linePoints = edge.getLayout();
+    var fromSymbol = edge.getVisual("fromSymbol");
+    var toSymbol = edge.getVisual("toSymbol");
+    if (!linePoints.__original) {
+      linePoints.__original = [clone$3(linePoints[0]), clone$3(linePoints[1])];
+      if (linePoints[2]) {
+        linePoints.__original.push(clone$3(linePoints[2]));
+      }
+    }
+    var originalPoints = linePoints.__original;
+    if (linePoints[2] != null) {
+      copy$1(pts[0], originalPoints[0]);
+      copy$1(pts[1], originalPoints[2]);
+      copy$1(pts[2], originalPoints[1]);
+      if (fromSymbol && fromSymbol !== "none") {
+        var symbolSize = getSymbolSize(edge.node1);
+        var t2 = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale2);
+        quadraticSubdivide$12(pts[0][0], pts[1][0], pts[2][0], t2, tmp0);
+        pts[0][0] = tmp0[3];
+        pts[1][0] = tmp0[4];
+        quadraticSubdivide$12(pts[0][1], pts[1][1], pts[2][1], t2, tmp0);
+        pts[0][1] = tmp0[3];
+        pts[1][1] = tmp0[4];
+      }
+      if (toSymbol && toSymbol !== "none") {
+        var symbolSize = getSymbolSize(edge.node2);
+        var t2 = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale2);
+        quadraticSubdivide$12(pts[0][0], pts[1][0], pts[2][0], t2, tmp0);
+        pts[1][0] = tmp0[1];
+        pts[2][0] = tmp0[2];
+        quadraticSubdivide$12(pts[0][1], pts[1][1], pts[2][1], t2, tmp0);
+        pts[1][1] = tmp0[1];
+        pts[2][1] = tmp0[2];
+      }
+      copy$1(linePoints[0], pts[0]);
+      copy$1(linePoints[1], pts[2]);
+      copy$1(linePoints[2], pts[1]);
+    } else {
+      copy$1(pts2[0], originalPoints[0]);
+      copy$1(pts2[1], originalPoints[1]);
+      sub(v4, pts2[1], pts2[0]);
+      normalize$3(v4, v4);
+      if (fromSymbol && fromSymbol !== "none") {
+        var symbolSize = getSymbolSize(edge.node1);
+        scaleAndAdd$1(pts2[0], pts2[0], v4, symbolSize * scale2);
+      }
+      if (toSymbol && toSymbol !== "none") {
+        var symbolSize = getSymbolSize(edge.node2);
+        scaleAndAdd$1(pts2[1], pts2[1], v4, -symbolSize * scale2);
+      }
+      copy$1(linePoints[0], pts2[0]);
+      copy$1(linePoints[1], pts2[1]);
+    }
+  });
+}
+function isViewCoordSys(coordSys) {
+  return coordSys.type === "view";
+}
+var GraphView = (
+  /** @class */
+  function(_super) {
+    __extends(GraphView2, _super);
+    function GraphView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GraphView2.type;
+      return _this;
+    }
+    GraphView2.prototype.init = function(ecModel, api2) {
+      var symbolDraw = new SymbolDraw$1();
+      var lineDraw = new LineDraw$1();
+      var group = this.group;
+      this._controller = new RoamController$1(api2.getZr());
+      this._controllerHost = {
+        target: group
+      };
+      group.add(symbolDraw.group);
+      group.add(lineDraw.group);
+      this._symbolDraw = symbolDraw;
+      this._lineDraw = lineDraw;
+      this._firstRender = true;
+    };
+    GraphView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var _this = this;
+      var coordSys = seriesModel.coordinateSystem;
+      this._model = seriesModel;
+      var symbolDraw = this._symbolDraw;
+      var lineDraw = this._lineDraw;
+      var group = this.group;
+      if (isViewCoordSys(coordSys)) {
+        var groupNewProp = {
+          x: coordSys.x,
+          y: coordSys.y,
+          scaleX: coordSys.scaleX,
+          scaleY: coordSys.scaleY
+        };
+        if (this._firstRender) {
+          group.attr(groupNewProp);
+        } else {
+          updateProps$1(group, groupNewProp, seriesModel);
+        }
+      }
+      adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));
+      var data2 = seriesModel.getData();
+      symbolDraw.updateData(data2);
+      var edgeData = seriesModel.getEdgeData();
+      lineDraw.updateData(edgeData);
+      this._updateNodeAndLinkScale();
+      this._updateController(seriesModel, ecModel, api2);
+      clearTimeout(this._layoutTimeout);
+      var forceLayout2 = seriesModel.forceLayout;
+      var layoutAnimation = seriesModel.get(["force", "layoutAnimation"]);
+      if (forceLayout2) {
+        this._startForceLayoutIteration(forceLayout2, layoutAnimation);
+      }
+      var layout2 = seriesModel.get("layout");
+      data2.graph.eachNode(function(node) {
+        var idx = node.dataIndex;
+        var el = node.getGraphicEl();
+        var itemModel = node.getModel();
+        if (!el) {
+          return;
+        }
+        el.off("drag").off("dragend");
+        var draggable = itemModel.get("draggable");
+        if (draggable) {
+          el.on("drag", function(e2) {
+            switch (layout2) {
+              case "force":
+                forceLayout2.warmUp();
+                !_this._layouting && _this._startForceLayoutIteration(forceLayout2, layoutAnimation);
+                forceLayout2.setFixed(idx);
+                data2.setItemLayout(idx, [el.x, el.y]);
+                break;
+              case "circular":
+                data2.setItemLayout(idx, [el.x, el.y]);
+                node.setLayout({
+                  fixed: true
+                }, true);
+                circularLayout(seriesModel, "symbolSize", node, [e2.offsetX, e2.offsetY]);
+                _this.updateLayout(seriesModel);
+                break;
+              case "none":
+              default:
+                data2.setItemLayout(idx, [el.x, el.y]);
+                simpleLayoutEdge(seriesModel.getGraph(), seriesModel);
+                _this.updateLayout(seriesModel);
+                break;
+            }
+          }).on("dragend", function() {
+            if (forceLayout2) {
+              forceLayout2.setUnfixed(idx);
+            }
+          });
+        }
+        el.setDraggable(draggable, !!itemModel.get("cursor"));
+        var focus2 = itemModel.get(["emphasis", "focus"]);
+        if (focus2 === "adjacency") {
+          getECData(el).focus = node.getAdjacentDataIndices();
+        }
+      });
+      data2.graph.eachEdge(function(edge) {
+        var el = edge.getGraphicEl();
+        var focus2 = edge.getModel().get(["emphasis", "focus"]);
+        if (!el) {
+          return;
+        }
+        if (focus2 === "adjacency") {
+          getECData(el).focus = {
+            edge: [edge.dataIndex],
+            node: [edge.node1.dataIndex, edge.node2.dataIndex]
+          };
+        }
+      });
+      var circularRotateLabel = seriesModel.get("layout") === "circular" && seriesModel.get(["circular", "rotateLabel"]);
+      var cx = data2.getLayout("cx");
+      var cy = data2.getLayout("cy");
+      data2.graph.eachNode(function(node) {
+        rotateNodeLabel(node, circularRotateLabel, cx, cy);
+      });
+      this._firstRender = false;
+    };
+    GraphView2.prototype.dispose = function() {
+      this._controller && this._controller.dispose();
+      this._controllerHost = null;
+    };
+    GraphView2.prototype._startForceLayoutIteration = function(forceLayout2, layoutAnimation) {
+      var self2 = this;
+      (function step2() {
+        forceLayout2.step(function(stopped) {
+          self2.updateLayout(self2._model);
+          (self2._layouting = !stopped) && (layoutAnimation ? self2._layoutTimeout = setTimeout(step2, 16) : step2());
+        });
+      })();
+    };
+    GraphView2.prototype._updateController = function(seriesModel, ecModel, api2) {
+      var _this = this;
+      var controller = this._controller;
+      var controllerHost = this._controllerHost;
+      var group = this.group;
+      controller.setPointerChecker(function(e2, x2, y2) {
+        var rect = group.getBoundingRect();
+        rect.applyTransform(group.transform);
+        return rect.contain(x2, y2) && !onIrrelevantElement(e2, api2, seriesModel);
+      });
+      if (!isViewCoordSys(seriesModel.coordinateSystem)) {
+        controller.disable();
+        return;
+      }
+      controller.enable(seriesModel.get("roam"));
+      controllerHost.zoomLimit = seriesModel.get("scaleLimit");
+      controllerHost.zoom = seriesModel.coordinateSystem.getZoom();
+      controller.off("pan").off("zoom").on("pan", function(e2) {
+        updateViewOnPan(controllerHost, e2.dx, e2.dy);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "graphRoam",
+          dx: e2.dx,
+          dy: e2.dy
+        });
+      }).on("zoom", function(e2) {
+        updateViewOnZoom(controllerHost, e2.scale, e2.originX, e2.originY);
+        api2.dispatchAction({
+          seriesId: seriesModel.id,
+          type: "graphRoam",
+          zoom: e2.scale,
+          originX: e2.originX,
+          originY: e2.originY
+        });
+        _this._updateNodeAndLinkScale();
+        adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));
+        _this._lineDraw.updateLayout();
+        api2.updateLabelLayout();
+      });
+    };
+    GraphView2.prototype._updateNodeAndLinkScale = function() {
+      var seriesModel = this._model;
+      var data2 = seriesModel.getData();
+      var nodeScale = getNodeGlobalScale(seriesModel);
+      data2.eachItemGraphicEl(function(el, idx) {
+        el && el.setSymbolScale(nodeScale);
+      });
+    };
+    GraphView2.prototype.updateLayout = function(seriesModel) {
+      adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));
+      this._symbolDraw.updateLayout();
+      this._lineDraw.updateLayout();
+    };
+    GraphView2.prototype.remove = function(ecModel, api2) {
+      this._symbolDraw && this._symbolDraw.remove();
+      this._lineDraw && this._lineDraw.remove();
+    };
+    GraphView2.type = "graph";
+    return GraphView2;
+  }(ChartView$1)
+);
+const GraphView$1 = GraphView;
+function generateNodeKey(id) {
+  return "_EC_" + id;
+}
+var Graph = (
+  /** @class */
+  function() {
+    function Graph2(directed) {
+      this.type = "graph";
+      this.nodes = [];
+      this.edges = [];
+      this._nodesMap = {};
+      this._edgesMap = {};
+      this._directed = directed || false;
+    }
+    Graph2.prototype.isDirected = function() {
+      return this._directed;
+    };
+    Graph2.prototype.addNode = function(id, dataIndex) {
+      id = id == null ? "" + dataIndex : "" + id;
+      var nodesMap = this._nodesMap;
+      if (nodesMap[generateNodeKey(id)]) {
+        return;
+      }
+      var node = new GraphNode(id, dataIndex);
+      node.hostGraph = this;
+      this.nodes.push(node);
+      nodesMap[generateNodeKey(id)] = node;
+      return node;
+    };
+    Graph2.prototype.getNodeByIndex = function(dataIndex) {
+      var rawIdx = this.data.getRawIndex(dataIndex);
+      return this.nodes[rawIdx];
+    };
+    Graph2.prototype.getNodeById = function(id) {
+      return this._nodesMap[generateNodeKey(id)];
+    };
+    Graph2.prototype.addEdge = function(n1, n2, dataIndex) {
+      var nodesMap = this._nodesMap;
+      var edgesMap = this._edgesMap;
+      if (isNumber$1(n1)) {
+        n1 = this.nodes[n1];
+      }
+      if (isNumber$1(n2)) {
+        n2 = this.nodes[n2];
+      }
+      if (!(n1 instanceof GraphNode)) {
+        n1 = nodesMap[generateNodeKey(n1)];
+      }
+      if (!(n2 instanceof GraphNode)) {
+        n2 = nodesMap[generateNodeKey(n2)];
+      }
+      if (!n1 || !n2) {
+        return;
+      }
+      var key2 = n1.id + "-" + n2.id;
+      var edge = new GraphEdge(n1, n2, dataIndex);
+      edge.hostGraph = this;
+      if (this._directed) {
+        n1.outEdges.push(edge);
+        n2.inEdges.push(edge);
+      }
+      n1.edges.push(edge);
+      if (n1 !== n2) {
+        n2.edges.push(edge);
+      }
+      this.edges.push(edge);
+      edgesMap[key2] = edge;
+      return edge;
+    };
+    Graph2.prototype.getEdgeByIndex = function(dataIndex) {
+      var rawIdx = this.edgeData.getRawIndex(dataIndex);
+      return this.edges[rawIdx];
+    };
+    Graph2.prototype.getEdge = function(n1, n2) {
+      if (n1 instanceof GraphNode) {
+        n1 = n1.id;
+      }
+      if (n2 instanceof GraphNode) {
+        n2 = n2.id;
+      }
+      var edgesMap = this._edgesMap;
+      if (this._directed) {
+        return edgesMap[n1 + "-" + n2];
+      } else {
+        return edgesMap[n1 + "-" + n2] || edgesMap[n2 + "-" + n1];
+      }
+    };
+    Graph2.prototype.eachNode = function(cb, context) {
+      var nodes = this.nodes;
+      var len2 = nodes.length;
+      for (var i2 = 0; i2 < len2; i2++) {
+        if (nodes[i2].dataIndex >= 0) {
+          cb.call(context, nodes[i2], i2);
+        }
+      }
+    };
+    Graph2.prototype.eachEdge = function(cb, context) {
+      var edges = this.edges;
+      var len2 = edges.length;
+      for (var i2 = 0; i2 < len2; i2++) {
+        if (edges[i2].dataIndex >= 0 && edges[i2].node1.dataIndex >= 0 && edges[i2].node2.dataIndex >= 0) {
+          cb.call(context, edges[i2], i2);
+        }
+      }
+    };
+    Graph2.prototype.breadthFirstTraverse = function(cb, startNode, direction, context) {
+      if (!(startNode instanceof GraphNode)) {
+        startNode = this._nodesMap[generateNodeKey(startNode)];
+      }
+      if (!startNode) {
+        return;
+      }
+      var edgeType = direction === "out" ? "outEdges" : direction === "in" ? "inEdges" : "edges";
+      for (var i2 = 0; i2 < this.nodes.length; i2++) {
+        this.nodes[i2].__visited = false;
+      }
+      if (cb.call(context, startNode, null)) {
+        return;
+      }
+      var queue = [startNode];
+      while (queue.length) {
+        var currentNode = queue.shift();
+        var edges = currentNode[edgeType];
+        for (var i2 = 0; i2 < edges.length; i2++) {
+          var e2 = edges[i2];
+          var otherNode = e2.node1 === currentNode ? e2.node2 : e2.node1;
+          if (!otherNode.__visited) {
+            if (cb.call(context, otherNode, currentNode)) {
+              return;
+            }
+            queue.push(otherNode);
+            otherNode.__visited = true;
+          }
+        }
+      }
+    };
+    Graph2.prototype.update = function() {
+      var data2 = this.data;
+      var edgeData = this.edgeData;
+      var nodes = this.nodes;
+      var edges = this.edges;
+      for (var i2 = 0, len2 = nodes.length; i2 < len2; i2++) {
+        nodes[i2].dataIndex = -1;
+      }
+      for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+        nodes[data2.getRawIndex(i2)].dataIndex = i2;
+      }
+      edgeData.filterSelf(function(idx) {
+        var edge = edges[edgeData.getRawIndex(idx)];
+        return edge.node1.dataIndex >= 0 && edge.node2.dataIndex >= 0;
+      });
+      for (var i2 = 0, len2 = edges.length; i2 < len2; i2++) {
+        edges[i2].dataIndex = -1;
+      }
+      for (var i2 = 0, len2 = edgeData.count(); i2 < len2; i2++) {
+        edges[edgeData.getRawIndex(i2)].dataIndex = i2;
+      }
+    };
+    Graph2.prototype.clone = function() {
+      var graph2 = new Graph2(this._directed);
+      var nodes = this.nodes;
+      var edges = this.edges;
+      for (var i2 = 0; i2 < nodes.length; i2++) {
+        graph2.addNode(nodes[i2].id, nodes[i2].dataIndex);
+      }
+      for (var i2 = 0; i2 < edges.length; i2++) {
+        var e2 = edges[i2];
+        graph2.addEdge(e2.node1.id, e2.node2.id, e2.dataIndex);
+      }
+      return graph2;
+    };
+    return Graph2;
+  }()
+);
+var GraphNode = (
+  /** @class */
+  function() {
+    function GraphNode2(id, dataIndex) {
+      this.inEdges = [];
+      this.outEdges = [];
+      this.edges = [];
+      this.dataIndex = -1;
+      this.id = id == null ? "" : id;
+      this.dataIndex = dataIndex == null ? -1 : dataIndex;
+    }
+    GraphNode2.prototype.degree = function() {
+      return this.edges.length;
+    };
+    GraphNode2.prototype.inDegree = function() {
+      return this.inEdges.length;
+    };
+    GraphNode2.prototype.outDegree = function() {
+      return this.outEdges.length;
+    };
+    GraphNode2.prototype.getModel = function(path2) {
+      if (this.dataIndex < 0) {
+        return;
+      }
+      var graph2 = this.hostGraph;
+      var itemModel = graph2.data.getItemModel(this.dataIndex);
+      return itemModel.getModel(path2);
+    };
+    GraphNode2.prototype.getAdjacentDataIndices = function() {
+      var dataIndices = {
+        edge: [],
+        node: []
+      };
+      for (var i2 = 0; i2 < this.edges.length; i2++) {
+        var adjacentEdge = this.edges[i2];
+        if (adjacentEdge.dataIndex < 0) {
+          continue;
+        }
+        dataIndices.edge.push(adjacentEdge.dataIndex);
+        dataIndices.node.push(adjacentEdge.node1.dataIndex, adjacentEdge.node2.dataIndex);
+      }
+      return dataIndices;
+    };
+    GraphNode2.prototype.getTrajectoryDataIndices = function() {
+      var connectedEdgesMap = createHashMap();
+      var connectedNodesMap = createHashMap();
+      for (var i2 = 0; i2 < this.edges.length; i2++) {
+        var adjacentEdge = this.edges[i2];
+        if (adjacentEdge.dataIndex < 0) {
+          continue;
+        }
+        connectedEdgesMap.set(adjacentEdge.dataIndex, true);
+        var sourceNodesQueue = [adjacentEdge.node1];
+        var targetNodesQueue = [adjacentEdge.node2];
+        var nodeIteratorIndex = 0;
+        while (nodeIteratorIndex < sourceNodesQueue.length) {
+          var sourceNode = sourceNodesQueue[nodeIteratorIndex];
+          nodeIteratorIndex++;
+          connectedNodesMap.set(sourceNode.dataIndex, true);
+          for (var j2 = 0; j2 < sourceNode.inEdges.length; j2++) {
+            connectedEdgesMap.set(sourceNode.inEdges[j2].dataIndex, true);
+            sourceNodesQueue.push(sourceNode.inEdges[j2].node1);
+          }
+        }
+        nodeIteratorIndex = 0;
+        while (nodeIteratorIndex < targetNodesQueue.length) {
+          var targetNode = targetNodesQueue[nodeIteratorIndex];
+          nodeIteratorIndex++;
+          connectedNodesMap.set(targetNode.dataIndex, true);
+          for (var j2 = 0; j2 < targetNode.outEdges.length; j2++) {
+            connectedEdgesMap.set(targetNode.outEdges[j2].dataIndex, true);
+            targetNodesQueue.push(targetNode.outEdges[j2].node2);
+          }
+        }
+      }
+      return {
+        edge: connectedEdgesMap.keys(),
+        node: connectedNodesMap.keys()
+      };
+    };
+    return GraphNode2;
+  }()
+);
+var GraphEdge = (
+  /** @class */
+  function() {
+    function GraphEdge2(n1, n2, dataIndex) {
+      this.dataIndex = -1;
+      this.node1 = n1;
+      this.node2 = n2;
+      this.dataIndex = dataIndex == null ? -1 : dataIndex;
+    }
+    GraphEdge2.prototype.getModel = function(path2) {
+      if (this.dataIndex < 0) {
+        return;
+      }
+      var graph2 = this.hostGraph;
+      var itemModel = graph2.edgeData.getItemModel(this.dataIndex);
+      return itemModel.getModel(path2);
+    };
+    GraphEdge2.prototype.getAdjacentDataIndices = function() {
+      return {
+        edge: [this.dataIndex],
+        node: [this.node1.dataIndex, this.node2.dataIndex]
+      };
+    };
+    GraphEdge2.prototype.getTrajectoryDataIndices = function() {
+      var connectedEdgesMap = createHashMap();
+      var connectedNodesMap = createHashMap();
+      connectedEdgesMap.set(this.dataIndex, true);
+      var sourceNodes = [this.node1];
+      var targetNodes = [this.node2];
+      var nodeIteratorIndex = 0;
+      while (nodeIteratorIndex < sourceNodes.length) {
+        var sourceNode = sourceNodes[nodeIteratorIndex];
+        nodeIteratorIndex++;
+        connectedNodesMap.set(sourceNode.dataIndex, true);
+        for (var j2 = 0; j2 < sourceNode.inEdges.length; j2++) {
+          connectedEdgesMap.set(sourceNode.inEdges[j2].dataIndex, true);
+          sourceNodes.push(sourceNode.inEdges[j2].node1);
+        }
+      }
+      nodeIteratorIndex = 0;
+      while (nodeIteratorIndex < targetNodes.length) {
+        var targetNode = targetNodes[nodeIteratorIndex];
+        nodeIteratorIndex++;
+        connectedNodesMap.set(targetNode.dataIndex, true);
+        for (var j2 = 0; j2 < targetNode.outEdges.length; j2++) {
+          connectedEdgesMap.set(targetNode.outEdges[j2].dataIndex, true);
+          targetNodes.push(targetNode.outEdges[j2].node2);
+        }
+      }
+      return {
+        edge: connectedEdgesMap.keys(),
+        node: connectedNodesMap.keys()
+      };
+    };
+    return GraphEdge2;
+  }()
+);
+function createGraphDataProxyMixin(hostName, dataName) {
+  return {
+    /**
+     * @param Default 'value'. can be 'a', 'b', 'c', 'd', 'e'.
+     */
+    getValue: function(dimension) {
+      var data2 = this[hostName][dataName];
+      return data2.getStore().get(data2.getDimensionIndex(dimension || "value"), this.dataIndex);
+    },
+    // TODO: TYPE stricter type.
+    setVisual: function(key2, value) {
+      this.dataIndex >= 0 && this[hostName][dataName].setItemVisual(this.dataIndex, key2, value);
+    },
+    getVisual: function(key2) {
+      return this[hostName][dataName].getItemVisual(this.dataIndex, key2);
+    },
+    setLayout: function(layout2, merge2) {
+      this.dataIndex >= 0 && this[hostName][dataName].setItemLayout(this.dataIndex, layout2, merge2);
+    },
+    getLayout: function() {
+      return this[hostName][dataName].getItemLayout(this.dataIndex);
+    },
+    getGraphicEl: function() {
+      return this[hostName][dataName].getItemGraphicEl(this.dataIndex);
+    },
+    getRawIndex: function() {
+      return this[hostName][dataName].getRawIndex(this.dataIndex);
+    }
+  };
+}
+mixin(GraphNode, createGraphDataProxyMixin("hostGraph", "data"));
+mixin(GraphEdge, createGraphDataProxyMixin("hostGraph", "edgeData"));
+const Graph$1 = Graph;
+function createGraphFromNodeEdge(nodes, edges, seriesModel, directed, beforeLink) {
+  var graph2 = new Graph$1(directed);
+  for (var i2 = 0; i2 < nodes.length; i2++) {
+    graph2.addNode(retrieve(
+      // Id, name, dataIndex
+      nodes[i2].id,
+      nodes[i2].name,
+      i2
+    ), i2);
+  }
+  var linkNameList = [];
+  var validEdges = [];
+  var linkCount = 0;
+  for (var i2 = 0; i2 < edges.length; i2++) {
+    var link = edges[i2];
+    var source2 = link.source;
+    var target = link.target;
+    if (graph2.addEdge(source2, target, linkCount)) {
+      validEdges.push(link);
+      linkNameList.push(retrieve(convertOptionIdName(link.id, null), source2 + " > " + target));
+      linkCount++;
+    }
+  }
+  var coordSys = seriesModel.get("coordinateSystem");
+  var nodeData;
+  if (coordSys === "cartesian2d" || coordSys === "polar") {
+    nodeData = createSeriesData(nodes, seriesModel);
+  } else {
+    var coordSysCtor = CoordinateSystem.get(coordSys);
+    var coordDimensions = coordSysCtor ? coordSysCtor.dimensions || [] : [];
+    if (indexOf(coordDimensions, "value") < 0) {
+      coordDimensions.concat(["value"]);
+    }
+    var dimensions = prepareSeriesDataSchema(nodes, {
+      coordDimensions,
+      encodeDefine: seriesModel.getEncode()
+    }).dimensions;
+    nodeData = new SeriesData$1(dimensions, seriesModel);
+    nodeData.initData(nodes);
+  }
+  var edgeData = new SeriesData$1(["value"], seriesModel);
+  edgeData.initData(validEdges, linkNameList);
+  beforeLink && beforeLink(nodeData, edgeData);
+  linkSeriesData({
+    mainData: nodeData,
+    struct: graph2,
+    structAttr: "graph",
+    datas: {
+      node: nodeData,
+      edge: edgeData
+    },
+    datasAttr: {
+      node: "data",
+      edge: "edgeData"
+    }
+  });
+  graph2.update();
+  return graph2;
+}
+var GraphSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(GraphSeriesModel2, _super);
+    function GraphSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GraphSeriesModel2.type;
+      _this.hasSymbolVisual = true;
+      return _this;
+    }
+    GraphSeriesModel2.prototype.init = function(option) {
+      _super.prototype.init.apply(this, arguments);
+      var self2 = this;
+      function getCategoriesData() {
+        return self2._categoriesData;
+      }
+      this.legendVisualProvider = new LegendVisualProvider$1(getCategoriesData, getCategoriesData);
+      this.fillDataTextStyle(option.edges || option.links);
+      this._updateCategoriesData();
+    };
+    GraphSeriesModel2.prototype.mergeOption = function(option) {
+      _super.prototype.mergeOption.apply(this, arguments);
+      this.fillDataTextStyle(option.edges || option.links);
+      this._updateCategoriesData();
+    };
+    GraphSeriesModel2.prototype.mergeDefaultAndTheme = function(option) {
+      _super.prototype.mergeDefaultAndTheme.apply(this, arguments);
+      defaultEmphasis(option, "edgeLabel", ["show"]);
+    };
+    GraphSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      var edges = option.edges || option.links || [];
+      var nodes = option.data || option.nodes || [];
+      var self2 = this;
+      if (nodes && edges) {
+        initCurvenessList(this);
+        var graph2 = createGraphFromNodeEdge(nodes, edges, this, true, beforeLink);
+        each$f(graph2.edges, function(edge) {
+          createEdgeMapForCurveness(edge.node1, edge.node2, this, edge.dataIndex);
+        }, this);
+        return graph2.data;
+      }
+      function beforeLink(nodeData, edgeData) {
+        nodeData.wrapMethod("getItemModel", function(model2) {
+          var categoriesModels = self2._categoriesModels;
+          var categoryIdx = model2.getShallow("category");
+          var categoryModel = categoriesModels[categoryIdx];
+          if (categoryModel) {
+            categoryModel.parentModel = model2.parentModel;
+            model2.parentModel = categoryModel;
+          }
+          return model2;
+        });
+        var oldGetModel = Model$1.prototype.getModel;
+        function newGetModel(path2, parentModel) {
+          var model2 = oldGetModel.call(this, path2, parentModel);
+          model2.resolveParentPath = resolveParentPath;
+          return model2;
+        }
+        edgeData.wrapMethod("getItemModel", function(model2) {
+          model2.resolveParentPath = resolveParentPath;
+          model2.getModel = newGetModel;
+          return model2;
+        });
+        function resolveParentPath(pathArr) {
+          if (pathArr && (pathArr[0] === "label" || pathArr[1] === "label")) {
+            var newPathArr = pathArr.slice();
+            if (pathArr[0] === "label") {
+              newPathArr[0] = "edgeLabel";
+            } else if (pathArr[1] === "label") {
+              newPathArr[1] = "edgeLabel";
+            }
+            return newPathArr;
+          }
+          return pathArr;
+        }
+      }
+    };
+    GraphSeriesModel2.prototype.getGraph = function() {
+      return this.getData().graph;
+    };
+    GraphSeriesModel2.prototype.getEdgeData = function() {
+      return this.getGraph().edgeData;
+    };
+    GraphSeriesModel2.prototype.getCategoriesData = function() {
+      return this._categoriesData;
+    };
+    GraphSeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      if (dataType === "edge") {
+        var nodeData = this.getData();
+        var params2 = this.getDataParams(dataIndex, dataType);
+        var edge = nodeData.graph.getEdgeByIndex(dataIndex);
+        var sourceName = nodeData.getName(edge.node1.dataIndex);
+        var targetName = nodeData.getName(edge.node2.dataIndex);
+        var nameArr = [];
+        sourceName != null && nameArr.push(sourceName);
+        targetName != null && nameArr.push(targetName);
+        return createTooltipMarkup("nameValue", {
+          name: nameArr.join(" > "),
+          value: params2.value,
+          noValue: params2.value == null
+        });
+      }
+      var nodeMarkup = defaultSeriesFormatTooltip({
+        series: this,
+        dataIndex,
+        multipleSeries
+      });
+      return nodeMarkup;
+    };
+    GraphSeriesModel2.prototype._updateCategoriesData = function() {
+      var categories = map$1(this.option.categories || [], function(category) {
+        return category.value != null ? category : extend$1({
+          value: 0
+        }, category);
+      });
+      var categoriesData = new SeriesData$1(["value"], this);
+      categoriesData.initData(categories);
+      this._categoriesData = categoriesData;
+      this._categoriesModels = categoriesData.mapArray(function(idx) {
+        return categoriesData.getItemModel(idx);
+      });
+    };
+    GraphSeriesModel2.prototype.setZoom = function(zoom) {
+      this.option.zoom = zoom;
+    };
+    GraphSeriesModel2.prototype.setCenter = function(center2) {
+      this.option.center = center2;
+    };
+    GraphSeriesModel2.prototype.isAnimationEnabled = function() {
+      return _super.prototype.isAnimationEnabled.call(this) && !(this.get("layout") === "force" && this.get(["force", "layoutAnimation"]));
+    };
+    GraphSeriesModel2.type = "series.graph";
+    GraphSeriesModel2.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"];
+    GraphSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "view",
+      // Default option for all coordinate systems
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // polarIndex: 0,
+      // geoIndex: 0,
+      legendHoverLink: true,
+      layout: null,
+      // Configuration of circular layout
+      circular: {
+        rotateLabel: false
+      },
+      // Configuration of force directed layout
+      force: {
+        initLayout: null,
+        // Node repulsion. Can be an array to represent range.
+        repulsion: [0, 50],
+        gravity: 0.1,
+        // Initial friction
+        friction: 0.6,
+        // Edge length. Can be an array to represent range.
+        edgeLength: 30,
+        layoutAnimation: true
+      },
+      left: "center",
+      top: "center",
+      // right: null,
+      // bottom: null,
+      // width: '80%',
+      // height: '80%',
+      symbol: "circle",
+      symbolSize: 10,
+      edgeSymbol: ["none", "none"],
+      edgeSymbolSize: 10,
+      edgeLabel: {
+        position: "middle",
+        distance: 5
+      },
+      draggable: false,
+      roam: false,
+      // Default on center of graph
+      center: null,
+      zoom: 1,
+      // Symbol size scale ratio in roam
+      nodeScaleRatio: 0.6,
+      // cursor: null,
+      // categories: [],
+      // data: []
+      // Or
+      // nodes: []
+      //
+      // links: []
+      // Or
+      // edges: []
+      label: {
+        show: false,
+        formatter: "{b}"
+      },
+      itemStyle: {},
+      lineStyle: {
+        color: "#aaa",
+        width: 1,
+        opacity: 0.5
+      },
+      emphasis: {
+        scale: true,
+        label: {
+          show: true
+        }
+      },
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      }
+    };
+    return GraphSeriesModel2;
+  }(SeriesModel$1)
+);
+const GraphSeriesModel$1 = GraphSeriesModel;
+var actionInfo$1 = {
+  type: "graphRoam",
+  event: "graphRoam",
+  update: "none"
+};
+function install$F(registers) {
+  registers.registerChartView(GraphView$1);
+  registers.registerSeriesModel(GraphSeriesModel$1);
+  registers.registerProcessor(categoryFilter);
+  registers.registerVisual(categoryVisual);
+  registers.registerVisual(graphEdgeVisual);
+  registers.registerLayout(graphSimpleLayout);
+  registers.registerLayout(registers.PRIORITY.VISUAL.POST_CHART_LAYOUT, graphCircularLayout);
+  registers.registerLayout(graphForceLayout);
+  registers.registerCoordinateSystem("graphView", {
+    dimensions: View$1.dimensions,
+    create: createViewCoordSys
+  });
+  registers.registerAction({
+    type: "focusNodeAdjacency",
+    event: "focusNodeAdjacency",
+    update: "series:focusNodeAdjacency"
+  }, noop$1);
+  registers.registerAction({
+    type: "unfocusNodeAdjacency",
+    event: "unfocusNodeAdjacency",
+    update: "series:unfocusNodeAdjacency"
+  }, noop$1);
+  registers.registerAction(actionInfo$1, function(payload, ecModel, api2) {
+    ecModel.eachComponent({
+      mainType: "series",
+      query: payload
+    }, function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var res = updateCenterAndZoom(coordSys, payload, void 0, api2);
+      seriesModel.setCenter && seriesModel.setCenter(res.center);
+      seriesModel.setZoom && seriesModel.setZoom(res.zoom);
+    });
+  });
+}
+var PointerShape = (
+  /** @class */
+  function() {
+    function PointerShape2() {
+      this.angle = 0;
+      this.width = 10;
+      this.r = 10;
+      this.x = 0;
+      this.y = 0;
+    }
+    return PointerShape2;
+  }()
+);
+var PointerPath = (
+  /** @class */
+  function(_super) {
+    __extends(PointerPath2, _super);
+    function PointerPath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "pointer";
+      return _this;
+    }
+    PointerPath2.prototype.getDefaultShape = function() {
+      return new PointerShape();
+    };
+    PointerPath2.prototype.buildPath = function(ctx, shape) {
+      var mathCos2 = Math.cos;
+      var mathSin2 = Math.sin;
+      var r2 = shape.r;
+      var width = shape.width;
+      var angle = shape.angle;
+      var x2 = shape.x - mathCos2(angle) * width * (width >= r2 / 3 ? 1 : 2);
+      var y2 = shape.y - mathSin2(angle) * width * (width >= r2 / 3 ? 1 : 2);
+      angle = shape.angle - Math.PI / 2;
+      ctx.moveTo(x2, y2);
+      ctx.lineTo(shape.x + mathCos2(angle) * width, shape.y + mathSin2(angle) * width);
+      ctx.lineTo(shape.x + mathCos2(shape.angle) * r2, shape.y + mathSin2(shape.angle) * r2);
+      ctx.lineTo(shape.x - mathCos2(angle) * width, shape.y - mathSin2(angle) * width);
+      ctx.lineTo(x2, y2);
+    };
+    return PointerPath2;
+  }(Path$1)
+);
+const PointerPath$1 = PointerPath;
+function parsePosition(seriesModel, api2) {
+  var center2 = seriesModel.get("center");
+  var width = api2.getWidth();
+  var height = api2.getHeight();
+  var size = Math.min(width, height);
+  var cx = parsePercent(center2[0], api2.getWidth());
+  var cy = parsePercent(center2[1], api2.getHeight());
+  var r2 = parsePercent(seriesModel.get("radius"), size / 2);
+  return {
+    cx,
+    cy,
+    r: r2
+  };
+}
+function formatLabel(value, labelFormatter) {
+  var label = value == null ? "" : value + "";
+  if (labelFormatter) {
+    if (isString$1(labelFormatter)) {
+      label = labelFormatter.replace("{value}", label);
+    } else if (isFunction$1(labelFormatter)) {
+      label = labelFormatter(value);
+    }
+  }
+  return label;
+}
+var GaugeView = (
+  /** @class */
+  function(_super) {
+    __extends(GaugeView2, _super);
+    function GaugeView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GaugeView2.type;
+      return _this;
+    }
+    GaugeView2.prototype.render = function(seriesModel, ecModel, api2) {
+      this.group.removeAll();
+      var colorList = seriesModel.get(["axisLine", "lineStyle", "color"]);
+      var posInfo = parsePosition(seriesModel, api2);
+      this._renderMain(seriesModel, ecModel, api2, colorList, posInfo);
+      this._data = seriesModel.getData();
+    };
+    GaugeView2.prototype.dispose = function() {
+    };
+    GaugeView2.prototype._renderMain = function(seriesModel, ecModel, api2, colorList, posInfo) {
+      var group = this.group;
+      var clockwise = seriesModel.get("clockwise");
+      var startAngle = -seriesModel.get("startAngle") / 180 * Math.PI;
+      var endAngle = -seriesModel.get("endAngle") / 180 * Math.PI;
+      var axisLineModel = seriesModel.getModel("axisLine");
+      var roundCap = axisLineModel.get("roundCap");
+      var MainPath = roundCap ? Sausage : Sector$1;
+      var showAxis = axisLineModel.get("show");
+      var lineStyleModel = axisLineModel.getModel("lineStyle");
+      var axisLineWidth = lineStyleModel.get("width");
+      var angles = [startAngle, endAngle];
+      normalizeArcAngles(angles, !clockwise);
+      startAngle = angles[0];
+      endAngle = angles[1];
+      var angleRangeSpan = endAngle - startAngle;
+      var prevEndAngle = startAngle;
+      var sectors = [];
+      for (var i2 = 0; showAxis && i2 < colorList.length; i2++) {
+        var percent = Math.min(Math.max(colorList[i2][0], 0), 1);
+        endAngle = startAngle + angleRangeSpan * percent;
+        var sector = new MainPath({
+          shape: {
+            startAngle: prevEndAngle,
+            endAngle,
+            cx: posInfo.cx,
+            cy: posInfo.cy,
+            clockwise,
+            r0: posInfo.r - axisLineWidth,
+            r: posInfo.r
+          },
+          silent: true
+        });
+        sector.setStyle({
+          fill: colorList[i2][1]
+        });
+        sector.setStyle(lineStyleModel.getLineStyle(
+          // Because we use sector to simulate arc
+          // so the properties for stroking are useless
+          ["color", "width"]
+        ));
+        sectors.push(sector);
+        prevEndAngle = endAngle;
+      }
+      sectors.reverse();
+      each$f(sectors, function(sector2) {
+        return group.add(sector2);
+      });
+      var getColor = function(percent2) {
+        if (percent2 <= 0) {
+          return colorList[0][1];
+        }
+        var i3;
+        for (i3 = 0; i3 < colorList.length; i3++) {
+          if (colorList[i3][0] >= percent2 && (i3 === 0 ? 0 : colorList[i3 - 1][0]) < percent2) {
+            return colorList[i3][1];
+          }
+        }
+        return colorList[i3 - 1][1];
+      };
+      this._renderTicks(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);
+      this._renderTitleAndDetail(seriesModel, ecModel, api2, getColor, posInfo);
+      this._renderAnchor(seriesModel, posInfo);
+      this._renderPointer(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);
+    };
+    GaugeView2.prototype._renderTicks = function(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {
+      var group = this.group;
+      var cx = posInfo.cx;
+      var cy = posInfo.cy;
+      var r2 = posInfo.r;
+      var minVal = +seriesModel.get("min");
+      var maxVal = +seriesModel.get("max");
+      var splitLineModel = seriesModel.getModel("splitLine");
+      var tickModel = seriesModel.getModel("axisTick");
+      var labelModel = seriesModel.getModel("axisLabel");
+      var splitNumber = seriesModel.get("splitNumber");
+      var subSplitNumber = tickModel.get("splitNumber");
+      var splitLineLen = parsePercent(splitLineModel.get("length"), r2);
+      var tickLen = parsePercent(tickModel.get("length"), r2);
+      var angle = startAngle;
+      var step2 = (endAngle - startAngle) / splitNumber;
+      var subStep = step2 / subSplitNumber;
+      var splitLineStyle = splitLineModel.getModel("lineStyle").getLineStyle();
+      var tickLineStyle = tickModel.getModel("lineStyle").getLineStyle();
+      var splitLineDistance = splitLineModel.get("distance");
+      var unitX;
+      var unitY;
+      for (var i2 = 0; i2 <= splitNumber; i2++) {
+        unitX = Math.cos(angle);
+        unitY = Math.sin(angle);
+        if (splitLineModel.get("show")) {
+          var distance2 = splitLineDistance ? splitLineDistance + axisLineWidth : axisLineWidth;
+          var splitLine = new Line$3({
+            shape: {
+              x1: unitX * (r2 - distance2) + cx,
+              y1: unitY * (r2 - distance2) + cy,
+              x2: unitX * (r2 - splitLineLen - distance2) + cx,
+              y2: unitY * (r2 - splitLineLen - distance2) + cy
+            },
+            style: splitLineStyle,
+            silent: true
+          });
+          if (splitLineStyle.stroke === "auto") {
+            splitLine.setStyle({
+              stroke: getColor(i2 / splitNumber)
+            });
+          }
+          group.add(splitLine);
+        }
+        if (labelModel.get("show")) {
+          var distance2 = labelModel.get("distance") + splitLineDistance;
+          var label = formatLabel(round$3(i2 / splitNumber * (maxVal - minVal) + minVal), labelModel.get("formatter"));
+          var autoColor = getColor(i2 / splitNumber);
+          var textStyleX = unitX * (r2 - splitLineLen - distance2) + cx;
+          var textStyleY = unitY * (r2 - splitLineLen - distance2) + cy;
+          var rotateType = labelModel.get("rotate");
+          var rotate2 = 0;
+          if (rotateType === "radial") {
+            rotate2 = -angle + 2 * Math.PI;
+            if (rotate2 > Math.PI / 2) {
+              rotate2 += Math.PI;
+            }
+          } else if (rotateType === "tangential") {
+            rotate2 = -angle - Math.PI / 2;
+          } else if (isNumber$1(rotateType)) {
+            rotate2 = rotateType * Math.PI / 180;
+          }
+          if (rotate2 === 0) {
+            group.add(new ZRText$1({
+              style: createTextStyle$1(labelModel, {
+                text: label,
+                x: textStyleX,
+                y: textStyleY,
+                verticalAlign: unitY < -0.8 ? "top" : unitY > 0.8 ? "bottom" : "middle",
+                align: unitX < -0.4 ? "left" : unitX > 0.4 ? "right" : "center"
+              }, {
+                inheritColor: autoColor
+              }),
+              silent: true
+            }));
+          } else {
+            group.add(new ZRText$1({
+              style: createTextStyle$1(labelModel, {
+                text: label,
+                x: textStyleX,
+                y: textStyleY,
+                verticalAlign: "middle",
+                align: "center"
+              }, {
+                inheritColor: autoColor
+              }),
+              silent: true,
+              originX: textStyleX,
+              originY: textStyleY,
+              rotation: rotate2
+            }));
+          }
+        }
+        if (tickModel.get("show") && i2 !== splitNumber) {
+          var distance2 = tickModel.get("distance");
+          distance2 = distance2 ? distance2 + axisLineWidth : axisLineWidth;
+          for (var j2 = 0; j2 <= subSplitNumber; j2++) {
+            unitX = Math.cos(angle);
+            unitY = Math.sin(angle);
+            var tickLine = new Line$3({
+              shape: {
+                x1: unitX * (r2 - distance2) + cx,
+                y1: unitY * (r2 - distance2) + cy,
+                x2: unitX * (r2 - tickLen - distance2) + cx,
+                y2: unitY * (r2 - tickLen - distance2) + cy
+              },
+              silent: true,
+              style: tickLineStyle
+            });
+            if (tickLineStyle.stroke === "auto") {
+              tickLine.setStyle({
+                stroke: getColor((i2 + j2 / subSplitNumber) / splitNumber)
+              });
+            }
+            group.add(tickLine);
+            angle += subStep;
+          }
+          angle -= subStep;
+        } else {
+          angle += step2;
+        }
+      }
+    };
+    GaugeView2.prototype._renderPointer = function(seriesModel, ecModel, api2, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {
+      var group = this.group;
+      var oldData = this._data;
+      var oldProgressData = this._progressEls;
+      var progressList = [];
+      var showPointer2 = seriesModel.get(["pointer", "show"]);
+      var progressModel = seriesModel.getModel("progress");
+      var showProgress = progressModel.get("show");
+      var data2 = seriesModel.getData();
+      var valueDim = data2.mapDimension("value");
+      var minVal = +seriesModel.get("min");
+      var maxVal = +seriesModel.get("max");
+      var valueExtent = [minVal, maxVal];
+      var angleExtent = [startAngle, endAngle];
+      function createPointer(idx, angle) {
+        var itemModel = data2.getItemModel(idx);
+        var pointerModel = itemModel.getModel("pointer");
+        var pointerWidth = parsePercent(pointerModel.get("width"), posInfo.r);
+        var pointerLength = parsePercent(pointerModel.get("length"), posInfo.r);
+        var pointerStr = seriesModel.get(["pointer", "icon"]);
+        var pointerOffset = pointerModel.get("offsetCenter");
+        var pointerOffsetX = parsePercent(pointerOffset[0], posInfo.r);
+        var pointerOffsetY = parsePercent(pointerOffset[1], posInfo.r);
+        var pointerKeepAspect = pointerModel.get("keepAspect");
+        var pointer;
+        if (pointerStr) {
+          pointer = createSymbol$1(pointerStr, pointerOffsetX - pointerWidth / 2, pointerOffsetY - pointerLength, pointerWidth, pointerLength, null, pointerKeepAspect);
+        } else {
+          pointer = new PointerPath$1({
+            shape: {
+              angle: -Math.PI / 2,
+              width: pointerWidth,
+              r: pointerLength,
+              x: pointerOffsetX,
+              y: pointerOffsetY
+            }
+          });
+        }
+        pointer.rotation = -(angle + Math.PI / 2);
+        pointer.x = posInfo.cx;
+        pointer.y = posInfo.cy;
+        return pointer;
+      }
+      function createProgress(idx, endAngle2) {
+        var roundCap = progressModel.get("roundCap");
+        var ProgressPath = roundCap ? Sausage : Sector$1;
+        var isOverlap = progressModel.get("overlap");
+        var progressWidth = isOverlap ? progressModel.get("width") : axisLineWidth / data2.count();
+        var r0 = isOverlap ? posInfo.r - progressWidth : posInfo.r - (idx + 1) * progressWidth;
+        var r2 = isOverlap ? posInfo.r : posInfo.r - idx * progressWidth;
+        var progress = new ProgressPath({
+          shape: {
+            startAngle,
+            endAngle: endAngle2,
+            cx: posInfo.cx,
+            cy: posInfo.cy,
+            clockwise,
+            r0,
+            r: r2
+          }
+        });
+        isOverlap && (progress.z2 = maxVal - data2.get(valueDim, idx) % maxVal);
+        return progress;
+      }
+      if (showProgress || showPointer2) {
+        data2.diff(oldData).add(function(idx) {
+          var val = data2.get(valueDim, idx);
+          if (showPointer2) {
+            var pointer = createPointer(idx, startAngle);
+            initProps(pointer, {
+              rotation: -((isNaN(+val) ? angleExtent[0] : linearMap$2(val, valueExtent, angleExtent, true)) + Math.PI / 2)
+            }, seriesModel);
+            group.add(pointer);
+            data2.setItemGraphicEl(idx, pointer);
+          }
+          if (showProgress) {
+            var progress = createProgress(idx, startAngle);
+            var isClip = progressModel.get("clip");
+            initProps(progress, {
+              shape: {
+                endAngle: linearMap$2(val, valueExtent, angleExtent, isClip)
+              }
+            }, seriesModel);
+            group.add(progress);
+            setCommonECData(seriesModel.seriesIndex, data2.dataType, idx, progress);
+            progressList[idx] = progress;
+          }
+        }).update(function(newIdx, oldIdx) {
+          var val = data2.get(valueDim, newIdx);
+          if (showPointer2) {
+            var previousPointer = oldData.getItemGraphicEl(oldIdx);
+            var previousRotate = previousPointer ? previousPointer.rotation : startAngle;
+            var pointer = createPointer(newIdx, previousRotate);
+            pointer.rotation = previousRotate;
+            updateProps$1(pointer, {
+              rotation: -((isNaN(+val) ? angleExtent[0] : linearMap$2(val, valueExtent, angleExtent, true)) + Math.PI / 2)
+            }, seriesModel);
+            group.add(pointer);
+            data2.setItemGraphicEl(newIdx, pointer);
+          }
+          if (showProgress) {
+            var previousProgress = oldProgressData[oldIdx];
+            var previousEndAngle = previousProgress ? previousProgress.shape.endAngle : startAngle;
+            var progress = createProgress(newIdx, previousEndAngle);
+            var isClip = progressModel.get("clip");
+            updateProps$1(progress, {
+              shape: {
+                endAngle: linearMap$2(val, valueExtent, angleExtent, isClip)
+              }
+            }, seriesModel);
+            group.add(progress);
+            setCommonECData(seriesModel.seriesIndex, data2.dataType, newIdx, progress);
+            progressList[newIdx] = progress;
+          }
+        }).execute();
+        data2.each(function(idx) {
+          var itemModel = data2.getItemModel(idx);
+          var emphasisModel = itemModel.getModel("emphasis");
+          var focus2 = emphasisModel.get("focus");
+          var blurScope = emphasisModel.get("blurScope");
+          var emphasisDisabled = emphasisModel.get("disabled");
+          if (showPointer2) {
+            var pointer = data2.getItemGraphicEl(idx);
+            var symbolStyle = data2.getItemVisual(idx, "style");
+            var visualColor = symbolStyle.fill;
+            if (pointer instanceof ZRImage$1) {
+              var pathStyle = pointer.style;
+              pointer.useStyle(extend$1({
+                image: pathStyle.image,
+                x: pathStyle.x,
+                y: pathStyle.y,
+                width: pathStyle.width,
+                height: pathStyle.height
+              }, symbolStyle));
+            } else {
+              pointer.useStyle(symbolStyle);
+              pointer.type !== "pointer" && pointer.setColor(visualColor);
+            }
+            pointer.setStyle(itemModel.getModel(["pointer", "itemStyle"]).getItemStyle());
+            if (pointer.style.fill === "auto") {
+              pointer.setStyle("fill", getColor(linearMap$2(data2.get(valueDim, idx), valueExtent, [0, 1], true)));
+            }
+            pointer.z2EmphasisLift = 0;
+            setStatesStylesFromModel(pointer, itemModel);
+            toggleHoverEmphasis(pointer, focus2, blurScope, emphasisDisabled);
+          }
+          if (showProgress) {
+            var progress = progressList[idx];
+            progress.useStyle(data2.getItemVisual(idx, "style"));
+            progress.setStyle(itemModel.getModel(["progress", "itemStyle"]).getItemStyle());
+            progress.z2EmphasisLift = 0;
+            setStatesStylesFromModel(progress, itemModel);
+            toggleHoverEmphasis(progress, focus2, blurScope, emphasisDisabled);
+          }
+        });
+        this._progressEls = progressList;
+      }
+    };
+    GaugeView2.prototype._renderAnchor = function(seriesModel, posInfo) {
+      var anchorModel = seriesModel.getModel("anchor");
+      var showAnchor = anchorModel.get("show");
+      if (showAnchor) {
+        var anchorSize = anchorModel.get("size");
+        var anchorType = anchorModel.get("icon");
+        var offsetCenter = anchorModel.get("offsetCenter");
+        var anchorKeepAspect = anchorModel.get("keepAspect");
+        var anchor = createSymbol$1(anchorType, posInfo.cx - anchorSize / 2 + parsePercent(offsetCenter[0], posInfo.r), posInfo.cy - anchorSize / 2 + parsePercent(offsetCenter[1], posInfo.r), anchorSize, anchorSize, null, anchorKeepAspect);
+        anchor.z2 = anchorModel.get("showAbove") ? 1 : 0;
+        anchor.setStyle(anchorModel.getModel("itemStyle").getItemStyle());
+        this.group.add(anchor);
+      }
+    };
+    GaugeView2.prototype._renderTitleAndDetail = function(seriesModel, ecModel, api2, getColor, posInfo) {
+      var _this = this;
+      var data2 = seriesModel.getData();
+      var valueDim = data2.mapDimension("value");
+      var minVal = +seriesModel.get("min");
+      var maxVal = +seriesModel.get("max");
+      var contentGroup = new Group$4();
+      var newTitleEls = [];
+      var newDetailEls = [];
+      var hasAnimation = seriesModel.isAnimationEnabled();
+      var showPointerAbove = seriesModel.get(["pointer", "showAbove"]);
+      data2.diff(this._data).add(function(idx) {
+        newTitleEls[idx] = new ZRText$1({
+          silent: true
+        });
+        newDetailEls[idx] = new ZRText$1({
+          silent: true
+        });
+      }).update(function(idx, oldIdx) {
+        newTitleEls[idx] = _this._titleEls[oldIdx];
+        newDetailEls[idx] = _this._detailEls[oldIdx];
+      }).execute();
+      data2.each(function(idx) {
+        var itemModel = data2.getItemModel(idx);
+        var value = data2.get(valueDim, idx);
+        var itemGroup = new Group$4();
+        var autoColor = getColor(linearMap$2(value, [minVal, maxVal], [0, 1], true));
+        var itemTitleModel = itemModel.getModel("title");
+        if (itemTitleModel.get("show")) {
+          var titleOffsetCenter = itemTitleModel.get("offsetCenter");
+          var titleX = posInfo.cx + parsePercent(titleOffsetCenter[0], posInfo.r);
+          var titleY = posInfo.cy + parsePercent(titleOffsetCenter[1], posInfo.r);
+          var labelEl = newTitleEls[idx];
+          labelEl.attr({
+            z2: showPointerAbove ? 0 : 2,
+            style: createTextStyle$1(itemTitleModel, {
+              x: titleX,
+              y: titleY,
+              text: data2.getName(idx),
+              align: "center",
+              verticalAlign: "middle"
+            }, {
+              inheritColor: autoColor
+            })
+          });
+          itemGroup.add(labelEl);
+        }
+        var itemDetailModel = itemModel.getModel("detail");
+        if (itemDetailModel.get("show")) {
+          var detailOffsetCenter = itemDetailModel.get("offsetCenter");
+          var detailX = posInfo.cx + parsePercent(detailOffsetCenter[0], posInfo.r);
+          var detailY = posInfo.cy + parsePercent(detailOffsetCenter[1], posInfo.r);
+          var width = parsePercent(itemDetailModel.get("width"), posInfo.r);
+          var height = parsePercent(itemDetailModel.get("height"), posInfo.r);
+          var detailColor = seriesModel.get(["progress", "show"]) ? data2.getItemVisual(idx, "style").fill : autoColor;
+          var labelEl = newDetailEls[idx];
+          var formatter_1 = itemDetailModel.get("formatter");
+          labelEl.attr({
+            z2: showPointerAbove ? 0 : 2,
+            style: createTextStyle$1(itemDetailModel, {
+              x: detailX,
+              y: detailY,
+              text: formatLabel(value, formatter_1),
+              width: isNaN(width) ? null : width,
+              height: isNaN(height) ? null : height,
+              align: "center",
+              verticalAlign: "middle"
+            }, {
+              inheritColor: detailColor
+            })
+          });
+          setLabelValueAnimation(labelEl, {
+            normal: itemDetailModel
+          }, value, function(value2) {
+            return formatLabel(value2, formatter_1);
+          });
+          hasAnimation && animateLabelValue(labelEl, idx, data2, seriesModel, {
+            getFormattedLabel: function(labelDataIndex, status, dataType, labelDimIndex, fmt, extendParams) {
+              return formatLabel(extendParams ? extendParams.interpolatedValue : value, formatter_1);
+            }
+          });
+          itemGroup.add(labelEl);
+        }
+        contentGroup.add(itemGroup);
+      });
+      this.group.add(contentGroup);
+      this._titleEls = newTitleEls;
+      this._detailEls = newDetailEls;
+    };
+    GaugeView2.type = "gauge";
+    return GaugeView2;
+  }(ChartView$1)
+);
+const GaugeView$1 = GaugeView;
+var GaugeSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(GaugeSeriesModel2, _super);
+    function GaugeSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GaugeSeriesModel2.type;
+      _this.visualStyleAccessPath = "itemStyle";
+      return _this;
+    }
+    GaugeSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesDataSimply(this, ["value"]);
+    };
+    GaugeSeriesModel2.type = "series.gauge";
+    GaugeSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      colorBy: "data",
+      // 默认全局居中
+      center: ["50%", "50%"],
+      legendHoverLink: true,
+      radius: "75%",
+      startAngle: 225,
+      endAngle: -45,
+      clockwise: true,
+      // 最小值
+      min: 0,
+      // 最大值
+      max: 100,
+      // 分割段数,默认为10
+      splitNumber: 10,
+      // 坐标轴线
+      axisLine: {
+        // 默认显示,属性show控制显示与否
+        show: true,
+        roundCap: false,
+        lineStyle: {
+          color: [[1, "#E6EBF8"]],
+          width: 10
+        }
+      },
+      // 坐标轴线
+      progress: {
+        // 默认显示,属性show控制显示与否
+        show: false,
+        overlap: true,
+        width: 10,
+        roundCap: false,
+        clip: true
+      },
+      // 分隔线
+      splitLine: {
+        // 默认显示,属性show控制显示与否
+        show: true,
+        // 属性length控制线长
+        length: 10,
+        distance: 10,
+        // 属性lineStyle(详见lineStyle)控制线条样式
+        lineStyle: {
+          color: "#63677A",
+          width: 3,
+          type: "solid"
+        }
+      },
+      // 坐标轴小标记
+      axisTick: {
+        // 属性show控制显示与否,默认不显示
+        show: true,
+        // 每份split细分多少段
+        splitNumber: 5,
+        // 属性length控制线长
+        length: 6,
+        distance: 10,
+        // 属性lineStyle控制线条样式
+        lineStyle: {
+          color: "#63677A",
+          width: 1,
+          type: "solid"
+        }
+      },
+      axisLabel: {
+        show: true,
+        distance: 15,
+        // formatter: null,
+        color: "#464646",
+        fontSize: 12,
+        rotate: 0
+      },
+      pointer: {
+        icon: null,
+        offsetCenter: [0, 0],
+        show: true,
+        showAbove: true,
+        length: "60%",
+        width: 6,
+        keepAspect: false
+      },
+      anchor: {
+        show: false,
+        showAbove: false,
+        size: 6,
+        icon: "circle",
+        offsetCenter: [0, 0],
+        keepAspect: false,
+        itemStyle: {
+          color: "#fff",
+          borderWidth: 0,
+          borderColor: "#5470c6"
+        }
+      },
+      title: {
+        show: true,
+        // x, y,单位px
+        offsetCenter: [0, "20%"],
+        // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+        color: "#464646",
+        fontSize: 16,
+        valueAnimation: false
+      },
+      detail: {
+        show: true,
+        backgroundColor: "rgba(0,0,0,0)",
+        borderWidth: 0,
+        borderColor: "#ccc",
+        width: 100,
+        height: null,
+        padding: [5, 10],
+        // x, y,单位px
+        offsetCenter: [0, "40%"],
+        // formatter: null,
+        // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+        color: "#464646",
+        fontSize: 30,
+        fontWeight: "bold",
+        lineHeight: 30,
+        valueAnimation: false
+      }
+    };
+    return GaugeSeriesModel2;
+  }(SeriesModel$1)
+);
+const GaugeSeriesModel$1 = GaugeSeriesModel;
+function install$E(registers) {
+  registers.registerChartView(GaugeView$1);
+  registers.registerSeriesModel(GaugeSeriesModel$1);
+}
+var opacityAccessPath$1 = ["itemStyle", "opacity"];
+var FunnelPiece = (
+  /** @class */
+  function(_super) {
+    __extends(FunnelPiece2, _super);
+    function FunnelPiece2(data2, idx) {
+      var _this = _super.call(this) || this;
+      var polygon2 = _this;
+      var labelLine = new Polyline$3();
+      var text2 = new ZRText$1();
+      polygon2.setTextContent(text2);
+      _this.setTextGuideLine(labelLine);
+      _this.updateData(data2, idx, true);
+      return _this;
+    }
+    FunnelPiece2.prototype.updateData = function(data2, idx, firstCreate) {
+      var polygon2 = this;
+      var seriesModel = data2.hostModel;
+      var itemModel = data2.getItemModel(idx);
+      var layout2 = data2.getItemLayout(idx);
+      var emphasisModel = itemModel.getModel("emphasis");
+      var opacity = itemModel.get(opacityAccessPath$1);
+      opacity = opacity == null ? 1 : opacity;
+      if (!firstCreate) {
+        saveOldStyle(polygon2);
+      }
+      polygon2.useStyle(data2.getItemVisual(idx, "style"));
+      polygon2.style.lineJoin = "round";
+      if (firstCreate) {
+        polygon2.setShape({
+          points: layout2.points
+        });
+        polygon2.style.opacity = 0;
+        initProps(polygon2, {
+          style: {
+            opacity
+          }
+        }, seriesModel, idx);
+      } else {
+        updateProps$1(polygon2, {
+          style: {
+            opacity
+          },
+          shape: {
+            points: layout2.points
+          }
+        }, seriesModel, idx);
+      }
+      setStatesStylesFromModel(polygon2, itemModel);
+      this._updateLabel(data2, idx);
+      toggleHoverEmphasis(this, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+    };
+    FunnelPiece2.prototype._updateLabel = function(data2, idx) {
+      var polygon2 = this;
+      var labelLine = this.getTextGuideLine();
+      var labelText = polygon2.getTextContent();
+      var seriesModel = data2.hostModel;
+      var itemModel = data2.getItemModel(idx);
+      var layout2 = data2.getItemLayout(idx);
+      var labelLayout2 = layout2.label;
+      var style2 = data2.getItemVisual(idx, "style");
+      var visualColor = style2.fill;
+      setLabelStyle(
+        // position will not be used in setLabelStyle
+        labelText,
+        getLabelStatesModels(itemModel),
+        {
+          labelFetcher: data2.hostModel,
+          labelDataIndex: idx,
+          defaultOpacity: style2.opacity,
+          defaultText: data2.getName(idx)
+        },
+        {
+          normal: {
+            align: labelLayout2.textAlign,
+            verticalAlign: labelLayout2.verticalAlign
+          }
+        }
+      );
+      polygon2.setTextConfig({
+        local: true,
+        inside: !!labelLayout2.inside,
+        insideStroke: visualColor,
+        // insideFill: 'auto',
+        outsideFill: visualColor
+      });
+      var linePoints = labelLayout2.linePoints;
+      labelLine.setShape({
+        points: linePoints
+      });
+      polygon2.textGuideLineConfig = {
+        anchor: linePoints ? new Point$1(linePoints[0][0], linePoints[0][1]) : null
+      };
+      updateProps$1(labelText, {
+        style: {
+          x: labelLayout2.x,
+          y: labelLayout2.y
+        }
+      }, seriesModel, idx);
+      labelText.attr({
+        rotation: labelLayout2.rotation,
+        originX: labelLayout2.x,
+        originY: labelLayout2.y,
+        z2: 10
+      });
+      setLabelLineStyle(polygon2, getLabelLineStatesModels(itemModel), {
+        // Default use item visual color
+        stroke: visualColor
+      });
+    };
+    return FunnelPiece2;
+  }(Polygon$1)
+);
+var FunnelView = (
+  /** @class */
+  function(_super) {
+    __extends(FunnelView2, _super);
+    function FunnelView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = FunnelView2.type;
+      _this.ignoreLabelLineUpdate = true;
+      return _this;
+    }
+    FunnelView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var group = this.group;
+      data2.diff(oldData).add(function(idx) {
+        var funnelPiece = new FunnelPiece(data2, idx);
+        data2.setItemGraphicEl(idx, funnelPiece);
+        group.add(funnelPiece);
+      }).update(function(newIdx, oldIdx) {
+        var piece = oldData.getItemGraphicEl(oldIdx);
+        piece.updateData(data2, newIdx);
+        group.add(piece);
+        data2.setItemGraphicEl(newIdx, piece);
+      }).remove(function(idx) {
+        var piece = oldData.getItemGraphicEl(idx);
+        removeElementWithFadeOut(piece, seriesModel, idx);
+      }).execute();
+      this._data = data2;
+    };
+    FunnelView2.prototype.remove = function() {
+      this.group.removeAll();
+      this._data = null;
+    };
+    FunnelView2.prototype.dispose = function() {
+    };
+    FunnelView2.type = "funnel";
+    return FunnelView2;
+  }(ChartView$1)
+);
+const FunnelView$1 = FunnelView;
+var FunnelSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(FunnelSeriesModel2, _super);
+    function FunnelSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = FunnelSeriesModel2.type;
+      return _this;
+    }
+    FunnelSeriesModel2.prototype.init = function(option) {
+      _super.prototype.init.apply(this, arguments);
+      this.legendVisualProvider = new LegendVisualProvider$1(bind$2(this.getData, this), bind$2(this.getRawData, this));
+      this._defaultLabelLine(option);
+    };
+    FunnelSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesDataSimply(this, {
+        coordDimensions: ["value"],
+        encodeDefaulter: curry$1(makeSeriesEncodeForNameBased, this)
+      });
+    };
+    FunnelSeriesModel2.prototype._defaultLabelLine = function(option) {
+      defaultEmphasis(option, "labelLine", ["show"]);
+      var labelLineNormalOpt = option.labelLine;
+      var labelLineEmphasisOpt = option.emphasis.labelLine;
+      labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;
+      labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;
+    };
+    FunnelSeriesModel2.prototype.getDataParams = function(dataIndex) {
+      var data2 = this.getData();
+      var params2 = _super.prototype.getDataParams.call(this, dataIndex);
+      var valueDim = data2.mapDimension("value");
+      var sum2 = data2.getSum(valueDim);
+      params2.percent = !sum2 ? 0 : +(data2.get(valueDim, dataIndex) / sum2 * 100).toFixed(2);
+      params2.$vars.push("percent");
+      return params2;
+    };
+    FunnelSeriesModel2.type = "series.funnel";
+    FunnelSeriesModel2.defaultOption = {
+      // zlevel: 0,                  // 一级层叠
+      z: 2,
+      legendHoverLink: true,
+      colorBy: "data",
+      left: 80,
+      top: 60,
+      right: 80,
+      bottom: 60,
+      // width: {totalWidth} - left - right,
+      // height: {totalHeight} - top - bottom,
+      // 默认取数据最小最大值
+      // min: 0,
+      // max: 100,
+      minSize: "0%",
+      maxSize: "100%",
+      sort: "descending",
+      orient: "vertical",
+      gap: 0,
+      funnelAlign: "center",
+      label: {
+        show: true,
+        position: "outer"
+        // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
+      },
+      labelLine: {
+        show: true,
+        length: 20,
+        lineStyle: {
+          // color: 各异,
+          width: 1
+        }
+      },
+      itemStyle: {
+        // color: 各异,
+        borderColor: "#fff",
+        borderWidth: 1
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      },
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      }
+    };
+    return FunnelSeriesModel2;
+  }(SeriesModel$1)
+);
+const FunnelSeriesModel$1 = FunnelSeriesModel;
+function getViewRect$2(seriesModel, api2) {
+  return getLayoutRect(seriesModel.getBoxLayoutParams(), {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  });
+}
+function getSortedIndices(data2, sort2) {
+  var valueDim = data2.mapDimension("value");
+  var valueArr = data2.mapArray(valueDim, function(val) {
+    return val;
+  });
+  var indices = [];
+  var isAscending = sort2 === "ascending";
+  for (var i2 = 0, len2 = data2.count(); i2 < len2; i2++) {
+    indices[i2] = i2;
+  }
+  if (isFunction$1(sort2)) {
+    indices.sort(sort2);
+  } else if (sort2 !== "none") {
+    indices.sort(function(a2, b2) {
+      return isAscending ? valueArr[a2] - valueArr[b2] : valueArr[b2] - valueArr[a2];
+    });
+  }
+  return indices;
+}
+function labelLayout(data2) {
+  var seriesModel = data2.hostModel;
+  var orient = seriesModel.get("orient");
+  data2.each(function(idx) {
+    var itemModel = data2.getItemModel(idx);
+    var labelModel = itemModel.getModel("label");
+    var labelPosition = labelModel.get("position");
+    var labelLineModel = itemModel.getModel("labelLine");
+    var layout2 = data2.getItemLayout(idx);
+    var points2 = layout2.points;
+    var isLabelInside = labelPosition === "inner" || labelPosition === "inside" || labelPosition === "center" || labelPosition === "insideLeft" || labelPosition === "insideRight";
+    var textAlign;
+    var textX;
+    var textY;
+    var linePoints;
+    if (isLabelInside) {
+      if (labelPosition === "insideLeft") {
+        textX = (points2[0][0] + points2[3][0]) / 2 + 5;
+        textY = (points2[0][1] + points2[3][1]) / 2;
+        textAlign = "left";
+      } else if (labelPosition === "insideRight") {
+        textX = (points2[1][0] + points2[2][0]) / 2 - 5;
+        textY = (points2[1][1] + points2[2][1]) / 2;
+        textAlign = "right";
+      } else {
+        textX = (points2[0][0] + points2[1][0] + points2[2][0] + points2[3][0]) / 4;
+        textY = (points2[0][1] + points2[1][1] + points2[2][1] + points2[3][1]) / 4;
+        textAlign = "center";
+      }
+      linePoints = [[textX, textY], [textX, textY]];
+    } else {
+      var x1 = void 0;
+      var y1 = void 0;
+      var x2 = void 0;
+      var y2 = void 0;
+      var labelLineLen = labelLineModel.get("length");
+      if (labelPosition === "left") {
+        x1 = (points2[3][0] + points2[0][0]) / 2;
+        y1 = (points2[3][1] + points2[0][1]) / 2;
+        x2 = x1 - labelLineLen;
+        textX = x2 - 5;
+        textAlign = "right";
+      } else if (labelPosition === "right") {
+        x1 = (points2[1][0] + points2[2][0]) / 2;
+        y1 = (points2[1][1] + points2[2][1]) / 2;
+        x2 = x1 + labelLineLen;
+        textX = x2 + 5;
+        textAlign = "left";
+      } else if (labelPosition === "top") {
+        x1 = (points2[3][0] + points2[0][0]) / 2;
+        y1 = (points2[3][1] + points2[0][1]) / 2;
+        y2 = y1 - labelLineLen;
+        textY = y2 - 5;
+        textAlign = "center";
+      } else if (labelPosition === "bottom") {
+        x1 = (points2[1][0] + points2[2][0]) / 2;
+        y1 = (points2[1][1] + points2[2][1]) / 2;
+        y2 = y1 + labelLineLen;
+        textY = y2 + 5;
+        textAlign = "center";
+      } else if (labelPosition === "rightTop") {
+        x1 = orient === "horizontal" ? points2[3][0] : points2[1][0];
+        y1 = orient === "horizontal" ? points2[3][1] : points2[1][1];
+        if (orient === "horizontal") {
+          y2 = y1 - labelLineLen;
+          textY = y2 - 5;
+          textAlign = "center";
+        } else {
+          x2 = x1 + labelLineLen;
+          textX = x2 + 5;
+          textAlign = "top";
+        }
+      } else if (labelPosition === "rightBottom") {
+        x1 = points2[2][0];
+        y1 = points2[2][1];
+        if (orient === "horizontal") {
+          y2 = y1 + labelLineLen;
+          textY = y2 + 5;
+          textAlign = "center";
+        } else {
+          x2 = x1 + labelLineLen;
+          textX = x2 + 5;
+          textAlign = "bottom";
+        }
+      } else if (labelPosition === "leftTop") {
+        x1 = points2[0][0];
+        y1 = orient === "horizontal" ? points2[0][1] : points2[1][1];
+        if (orient === "horizontal") {
+          y2 = y1 - labelLineLen;
+          textY = y2 - 5;
+          textAlign = "center";
+        } else {
+          x2 = x1 - labelLineLen;
+          textX = x2 - 5;
+          textAlign = "right";
+        }
+      } else if (labelPosition === "leftBottom") {
+        x1 = orient === "horizontal" ? points2[1][0] : points2[3][0];
+        y1 = orient === "horizontal" ? points2[1][1] : points2[2][1];
+        if (orient === "horizontal") {
+          y2 = y1 + labelLineLen;
+          textY = y2 + 5;
+          textAlign = "center";
+        } else {
+          x2 = x1 - labelLineLen;
+          textX = x2 - 5;
+          textAlign = "right";
+        }
+      } else {
+        x1 = (points2[1][0] + points2[2][0]) / 2;
+        y1 = (points2[1][1] + points2[2][1]) / 2;
+        if (orient === "horizontal") {
+          y2 = y1 + labelLineLen;
+          textY = y2 + 5;
+          textAlign = "center";
+        } else {
+          x2 = x1 + labelLineLen;
+          textX = x2 + 5;
+          textAlign = "left";
+        }
+      }
+      if (orient === "horizontal") {
+        x2 = x1;
+        textX = x2;
+      } else {
+        y2 = y1;
+        textY = y2;
+      }
+      linePoints = [[x1, y1], [x2, y2]];
+    }
+    layout2.label = {
+      linePoints,
+      x: textX,
+      y: textY,
+      verticalAlign: "middle",
+      textAlign,
+      inside: isLabelInside
+    };
+  });
+}
+function funnelLayout(ecModel, api2) {
+  ecModel.eachSeriesByType("funnel", function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var valueDim = data2.mapDimension("value");
+    var sort2 = seriesModel.get("sort");
+    var viewRect2 = getViewRect$2(seriesModel, api2);
+    var orient = seriesModel.get("orient");
+    var viewWidth = viewRect2.width;
+    var viewHeight = viewRect2.height;
+    var indices = getSortedIndices(data2, sort2);
+    var x2 = viewRect2.x;
+    var y2 = viewRect2.y;
+    var sizeExtent = orient === "horizontal" ? [parsePercent(seriesModel.get("minSize"), viewHeight), parsePercent(seriesModel.get("maxSize"), viewHeight)] : [parsePercent(seriesModel.get("minSize"), viewWidth), parsePercent(seriesModel.get("maxSize"), viewWidth)];
+    var dataExtent = data2.getDataExtent(valueDim);
+    var min3 = seriesModel.get("min");
+    var max3 = seriesModel.get("max");
+    if (min3 == null) {
+      min3 = Math.min(dataExtent[0], 0);
+    }
+    if (max3 == null) {
+      max3 = dataExtent[1];
+    }
+    var funnelAlign = seriesModel.get("funnelAlign");
+    var gap = seriesModel.get("gap");
+    var viewSize = orient === "horizontal" ? viewWidth : viewHeight;
+    var itemSize = (viewSize - gap * (data2.count() - 1)) / data2.count();
+    var getLinePoints = function(idx2, offset2) {
+      if (orient === "horizontal") {
+        var val_1 = data2.get(valueDim, idx2) || 0;
+        var itemHeight = linearMap$2(val_1, [min3, max3], sizeExtent, true);
+        var y0 = void 0;
+        switch (funnelAlign) {
+          case "top":
+            y0 = y2;
+            break;
+          case "center":
+            y0 = y2 + (viewHeight - itemHeight) / 2;
+            break;
+          case "bottom":
+            y0 = y2 + (viewHeight - itemHeight);
+            break;
+        }
+        return [[offset2, y0], [offset2, y0 + itemHeight]];
+      }
+      var val = data2.get(valueDim, idx2) || 0;
+      var itemWidth = linearMap$2(val, [min3, max3], sizeExtent, true);
+      var x0;
+      switch (funnelAlign) {
+        case "left":
+          x0 = x2;
+          break;
+        case "center":
+          x0 = x2 + (viewWidth - itemWidth) / 2;
+          break;
+        case "right":
+          x0 = x2 + viewWidth - itemWidth;
+          break;
+      }
+      return [[x0, offset2], [x0 + itemWidth, offset2]];
+    };
+    if (sort2 === "ascending") {
+      itemSize = -itemSize;
+      gap = -gap;
+      if (orient === "horizontal") {
+        x2 += viewWidth;
+      } else {
+        y2 += viewHeight;
+      }
+      indices = indices.reverse();
+    }
+    for (var i2 = 0; i2 < indices.length; i2++) {
+      var idx = indices[i2];
+      var nextIdx = indices[i2 + 1];
+      var itemModel = data2.getItemModel(idx);
+      if (orient === "horizontal") {
+        var width = itemModel.get(["itemStyle", "width"]);
+        if (width == null) {
+          width = itemSize;
+        } else {
+          width = parsePercent(width, viewWidth);
+          if (sort2 === "ascending") {
+            width = -width;
+          }
+        }
+        var start2 = getLinePoints(idx, x2);
+        var end2 = getLinePoints(nextIdx, x2 + width);
+        x2 += width + gap;
+        data2.setItemLayout(idx, {
+          points: start2.concat(end2.slice().reverse())
+        });
+      } else {
+        var height = itemModel.get(["itemStyle", "height"]);
+        if (height == null) {
+          height = itemSize;
+        } else {
+          height = parsePercent(height, viewHeight);
+          if (sort2 === "ascending") {
+            height = -height;
+          }
+        }
+        var start2 = getLinePoints(idx, y2);
+        var end2 = getLinePoints(nextIdx, y2 + height);
+        y2 += height + gap;
+        data2.setItemLayout(idx, {
+          points: start2.concat(end2.slice().reverse())
+        });
+      }
+    }
+    labelLayout(data2);
+  });
+}
+function install$D(registers) {
+  registers.registerChartView(FunnelView$1);
+  registers.registerSeriesModel(FunnelSeriesModel$1);
+  registers.registerLayout(funnelLayout);
+  registers.registerProcessor(dataFilter$1("funnel"));
+}
+var DEFAULT_SMOOTH = 0.3;
+var ParallelView$2 = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelView2, _super);
+    function ParallelView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ParallelView2.type;
+      _this._dataGroup = new Group$4();
+      _this._initialized = false;
+      return _this;
+    }
+    ParallelView2.prototype.init = function() {
+      this.group.add(this._dataGroup);
+    };
+    ParallelView2.prototype.render = function(seriesModel, ecModel, api2, payload) {
+      this._progressiveEls = null;
+      var dataGroup = this._dataGroup;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var coordSys = seriesModel.coordinateSystem;
+      var dimensions = coordSys.dimensions;
+      var seriesScope = makeSeriesScope(seriesModel);
+      data2.diff(oldData).add(add2).update(update).remove(remove2).execute();
+      function add2(newDataIndex) {
+        var line2 = addEl(data2, dataGroup, newDataIndex, dimensions, coordSys);
+        updateElCommon(line2, data2, newDataIndex, seriesScope);
+      }
+      function update(newDataIndex, oldDataIndex) {
+        var line2 = oldData.getItemGraphicEl(oldDataIndex);
+        var points2 = createLinePoints(data2, newDataIndex, dimensions, coordSys);
+        data2.setItemGraphicEl(newDataIndex, line2);
+        updateProps$1(line2, {
+          shape: {
+            points: points2
+          }
+        }, seriesModel, newDataIndex);
+        saveOldStyle(line2);
+        updateElCommon(line2, data2, newDataIndex, seriesScope);
+      }
+      function remove2(oldDataIndex) {
+        var line2 = oldData.getItemGraphicEl(oldDataIndex);
+        dataGroup.remove(line2);
+      }
+      if (!this._initialized) {
+        this._initialized = true;
+        var clipPath = createGridClipShape$2(coordSys, seriesModel, function() {
+          setTimeout(function() {
+            dataGroup.removeClipPath();
+          });
+        });
+        dataGroup.setClipPath(clipPath);
+      }
+      this._data = data2;
+    };
+    ParallelView2.prototype.incrementalPrepareRender = function(seriesModel, ecModel, api2) {
+      this._initialized = true;
+      this._data = null;
+      this._dataGroup.removeAll();
+    };
+    ParallelView2.prototype.incrementalRender = function(taskParams, seriesModel, ecModel) {
+      var data2 = seriesModel.getData();
+      var coordSys = seriesModel.coordinateSystem;
+      var dimensions = coordSys.dimensions;
+      var seriesScope = makeSeriesScope(seriesModel);
+      var progressiveEls = this._progressiveEls = [];
+      for (var dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {
+        var line2 = addEl(data2, this._dataGroup, dataIndex, dimensions, coordSys);
+        line2.incremental = true;
+        updateElCommon(line2, data2, dataIndex, seriesScope);
+        progressiveEls.push(line2);
+      }
+    };
+    ParallelView2.prototype.remove = function() {
+      this._dataGroup && this._dataGroup.removeAll();
+      this._data = null;
+    };
+    ParallelView2.type = "parallel";
+    return ParallelView2;
+  }(ChartView$1)
+);
+function createGridClipShape$2(coordSys, seriesModel, cb) {
+  var parallelModel = coordSys.model;
+  var rect = coordSys.getRect();
+  var rectEl = new Rect$3({
+    shape: {
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height
+    }
+  });
+  var dim = parallelModel.get("layout") === "horizontal" ? "width" : "height";
+  rectEl.setShape(dim, 0);
+  initProps(rectEl, {
+    shape: {
+      width: rect.width,
+      height: rect.height
+    }
+  }, seriesModel, cb);
+  return rectEl;
+}
+function createLinePoints(data2, dataIndex, dimensions, coordSys) {
+  var points2 = [];
+  for (var i2 = 0; i2 < dimensions.length; i2++) {
+    var dimName = dimensions[i2];
+    var value = data2.get(data2.mapDimension(dimName), dataIndex);
+    if (!isEmptyValue(value, coordSys.getAxis(dimName).type)) {
+      points2.push(coordSys.dataToPoint(value, dimName));
+    }
+  }
+  return points2;
+}
+function addEl(data2, dataGroup, dataIndex, dimensions, coordSys) {
+  var points2 = createLinePoints(data2, dataIndex, dimensions, coordSys);
+  var line2 = new Polyline$3({
+    shape: {
+      points: points2
+    },
+    // silent: true,
+    z2: 10
+  });
+  dataGroup.add(line2);
+  data2.setItemGraphicEl(dataIndex, line2);
+  return line2;
+}
+function makeSeriesScope(seriesModel) {
+  var smooth = seriesModel.get("smooth", true);
+  smooth === true && (smooth = DEFAULT_SMOOTH);
+  smooth = numericToNumber(smooth);
+  eqNaN(smooth) && (smooth = 0);
+  return {
+    smooth
+  };
+}
+function updateElCommon(el, data2, dataIndex, seriesScope) {
+  el.useStyle(data2.getItemVisual(dataIndex, "style"));
+  el.style.fill = null;
+  el.setShape("smooth", seriesScope.smooth);
+  var itemModel = data2.getItemModel(dataIndex);
+  var emphasisModel = itemModel.getModel("emphasis");
+  setStatesStylesFromModel(el, itemModel, "lineStyle");
+  toggleHoverEmphasis(el, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+}
+function isEmptyValue(val, axisType) {
+  return axisType === "category" ? val == null : val == null || isNaN(val);
+}
+const ParallelView$3 = ParallelView$2;
+var ParallelSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelSeriesModel2, _super);
+    function ParallelSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ParallelSeriesModel2.type;
+      _this.visualStyleAccessPath = "lineStyle";
+      _this.visualDrawType = "stroke";
+      return _this;
+    }
+    ParallelSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesData(null, this, {
+        useEncodeDefaulter: bind$2(makeDefaultEncode, null, this)
+      });
+    };
+    ParallelSeriesModel2.prototype.getRawIndicesByActiveState = function(activeState) {
+      var coordSys = this.coordinateSystem;
+      var data2 = this.getData();
+      var indices = [];
+      coordSys.eachActiveState(data2, function(theActiveState, dataIndex) {
+        if (activeState === theActiveState) {
+          indices.push(data2.getRawIndex(dataIndex));
+        }
+      });
+      return indices;
+    };
+    ParallelSeriesModel2.type = "series.parallel";
+    ParallelSeriesModel2.dependencies = ["parallel"];
+    ParallelSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "parallel",
+      parallelIndex: 0,
+      label: {
+        show: false
+      },
+      inactiveOpacity: 0.05,
+      activeOpacity: 1,
+      lineStyle: {
+        width: 1,
+        opacity: 0.45,
+        type: "solid"
+      },
+      emphasis: {
+        label: {
+          show: false
+        }
+      },
+      progressive: 500,
+      smooth: false,
+      animationEasing: "linear"
+    };
+    return ParallelSeriesModel2;
+  }(SeriesModel$1)
+);
+function makeDefaultEncode(seriesModel) {
+  var parallelModel = seriesModel.ecModel.getComponent("parallel", seriesModel.get("parallelIndex"));
+  if (!parallelModel) {
+    return;
+  }
+  var encodeDefine = {};
+  each$f(parallelModel.dimensions, function(axisDim) {
+    var dataDimIndex = convertDimNameToNumber(axisDim);
+    encodeDefine[axisDim] = dataDimIndex;
+  });
+  return encodeDefine;
+}
+function convertDimNameToNumber(dimName) {
+  return +dimName.replace("dim", "");
+}
+const ParallelSeriesModel$1 = ParallelSeriesModel;
+var opacityAccessPath = ["lineStyle", "opacity"];
+var parallelVisual = {
+  seriesType: "parallel",
+  reset: function(seriesModel, ecModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    var opacityMap = {
+      normal: seriesModel.get(["lineStyle", "opacity"]),
+      active: seriesModel.get("activeOpacity"),
+      inactive: seriesModel.get("inactiveOpacity")
+    };
+    return {
+      progress: function(params2, data2) {
+        coordSys.eachActiveState(data2, function(activeState, dataIndex) {
+          var opacity = opacityMap[activeState];
+          if (activeState === "normal" && data2.hasItemOption) {
+            var itemOpacity = data2.getItemModel(dataIndex).get(opacityAccessPath, true);
+            itemOpacity != null && (opacity = itemOpacity);
+          }
+          var existsStyle = data2.ensureUniqueItemVisual(dataIndex, "style");
+          existsStyle.opacity = opacity;
+        }, params2.start, params2.end);
+      }
+    };
+  }
+};
+const parallelVisual$1 = parallelVisual;
+function parallelPreprocessor(option) {
+  createParallelIfNeeded(option);
+  mergeAxisOptionFromParallel(option);
+}
+function createParallelIfNeeded(option) {
+  if (option.parallel) {
+    return;
+  }
+  var hasParallelSeries = false;
+  each$f(option.series, function(seriesOpt) {
+    if (seriesOpt && seriesOpt.type === "parallel") {
+      hasParallelSeries = true;
+    }
+  });
+  if (hasParallelSeries) {
+    option.parallel = [{}];
+  }
+}
+function mergeAxisOptionFromParallel(option) {
+  var axes = normalizeToArray(option.parallelAxis);
+  each$f(axes, function(axisOption) {
+    if (!isObject$4(axisOption)) {
+      return;
+    }
+    var parallelIndex = axisOption.parallelIndex || 0;
+    var parallelOption = normalizeToArray(option.parallel)[parallelIndex];
+    if (parallelOption && parallelOption.parallelAxisDefault) {
+      merge$1(axisOption, parallelOption.parallelAxisDefault, false);
+    }
+  });
+}
+var CLICK_THRESHOLD = 5;
+var ParallelView = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelView2, _super);
+    function ParallelView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ParallelView2.type;
+      return _this;
+    }
+    ParallelView2.prototype.render = function(parallelModel, ecModel, api2) {
+      this._model = parallelModel;
+      this._api = api2;
+      if (!this._handlers) {
+        this._handlers = {};
+        each$f(handlers$1, function(handler, eventName) {
+          api2.getZr().on(eventName, this._handlers[eventName] = bind$2(handler, this));
+        }, this);
+      }
+      createOrUpdate(this, "_throttledDispatchExpand", parallelModel.get("axisExpandRate"), "fixRate");
+    };
+    ParallelView2.prototype.dispose = function(ecModel, api2) {
+      clear$1(this, "_throttledDispatchExpand");
+      each$f(this._handlers, function(handler, eventName) {
+        api2.getZr().off(eventName, handler);
+      });
+      this._handlers = null;
+    };
+    ParallelView2.prototype._throttledDispatchExpand = function(opt) {
+      this._dispatchExpand(opt);
+    };
+    ParallelView2.prototype._dispatchExpand = function(opt) {
+      opt && this._api.dispatchAction(extend$1({
+        type: "parallelAxisExpand"
+      }, opt));
+    };
+    ParallelView2.type = "parallel";
+    return ParallelView2;
+  }(ComponentView$1)
+);
+var handlers$1 = {
+  mousedown: function(e2) {
+    if (checkTrigger(this, "click")) {
+      this._mouseDownPoint = [e2.offsetX, e2.offsetY];
+    }
+  },
+  mouseup: function(e2) {
+    var mouseDownPoint = this._mouseDownPoint;
+    if (checkTrigger(this, "click") && mouseDownPoint) {
+      var point = [e2.offsetX, e2.offsetY];
+      var dist2 = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2);
+      if (dist2 > CLICK_THRESHOLD) {
+        return;
+      }
+      var result2 = this._model.coordinateSystem.getSlidedAxisExpandWindow([e2.offsetX, e2.offsetY]);
+      result2.behavior !== "none" && this._dispatchExpand({
+        axisExpandWindow: result2.axisExpandWindow
+      });
+    }
+    this._mouseDownPoint = null;
+  },
+  mousemove: function(e2) {
+    if (this._mouseDownPoint || !checkTrigger(this, "mousemove")) {
+      return;
+    }
+    var model2 = this._model;
+    var result2 = model2.coordinateSystem.getSlidedAxisExpandWindow([e2.offsetX, e2.offsetY]);
+    var behavior = result2.behavior;
+    behavior === "jump" && this._throttledDispatchExpand.debounceNextCall(model2.get("axisExpandDebounce"));
+    this._throttledDispatchExpand(behavior === "none" ? null : {
+      axisExpandWindow: result2.axisExpandWindow,
+      // Jumping uses animation, and sliding suppresses animation.
+      animation: behavior === "jump" ? null : {
+        duration: 0
+        // Disable animation.
+      }
+    });
+  }
+};
+function checkTrigger(view, triggerOn) {
+  var model2 = view._model;
+  return model2.get("axisExpandable") && model2.get("axisExpandTriggerOn") === triggerOn;
+}
+const ParallelView$1 = ParallelView;
+var ParallelModel = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelModel2, _super);
+    function ParallelModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ParallelModel2.type;
+      return _this;
+    }
+    ParallelModel2.prototype.init = function() {
+      _super.prototype.init.apply(this, arguments);
+      this.mergeOption({});
+    };
+    ParallelModel2.prototype.mergeOption = function(newOption) {
+      var thisOption = this.option;
+      newOption && merge$1(thisOption, newOption, true);
+      this._initDimensions();
+    };
+    ParallelModel2.prototype.contains = function(model2, ecModel) {
+      var parallelIndex = model2.get("parallelIndex");
+      return parallelIndex != null && ecModel.getComponent("parallel", parallelIndex) === this;
+    };
+    ParallelModel2.prototype.setAxisExpand = function(opt) {
+      each$f(["axisExpandable", "axisExpandCenter", "axisExpandCount", "axisExpandWidth", "axisExpandWindow"], function(name2) {
+        if (opt.hasOwnProperty(name2)) {
+          this.option[name2] = opt[name2];
+        }
+      }, this);
+    };
+    ParallelModel2.prototype._initDimensions = function() {
+      var dimensions = this.dimensions = [];
+      var parallelAxisIndex = this.parallelAxisIndex = [];
+      var axisModels = filter(this.ecModel.queryComponents({
+        mainType: "parallelAxis"
+      }), function(axisModel) {
+        return (axisModel.get("parallelIndex") || 0) === this.componentIndex;
+      }, this);
+      each$f(axisModels, function(axisModel) {
+        dimensions.push("dim" + axisModel.get("dim"));
+        parallelAxisIndex.push(axisModel.componentIndex);
+      });
+    };
+    ParallelModel2.type = "parallel";
+    ParallelModel2.dependencies = ["parallelAxis"];
+    ParallelModel2.layoutMode = "box";
+    ParallelModel2.defaultOption = {
+      // zlevel: 0,
+      z: 0,
+      left: 80,
+      top: 60,
+      right: 80,
+      bottom: 60,
+      // width: {totalWidth} - left - right,
+      // height: {totalHeight} - top - bottom,
+      layout: "horizontal",
+      // FIXME
+      // naming?
+      axisExpandable: false,
+      axisExpandCenter: null,
+      axisExpandCount: 0,
+      axisExpandWidth: 50,
+      axisExpandRate: 17,
+      axisExpandDebounce: 50,
+      // [out, in, jumpTarget]. In percentage. If use [null, 0.05], null means full.
+      // Do not doc to user until necessary.
+      axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4],
+      axisExpandTriggerOn: "click",
+      parallelAxisDefault: null
+    };
+    return ParallelModel2;
+  }(ComponentModel$1)
+);
+const ParallelModel$1 = ParallelModel;
+var ParallelAxis = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelAxis2, _super);
+    function ParallelAxis2(dim, scale2, coordExtent, axisType, axisIndex) {
+      var _this = _super.call(this, dim, scale2, coordExtent) || this;
+      _this.type = axisType || "value";
+      _this.axisIndex = axisIndex;
+      return _this;
+    }
+    ParallelAxis2.prototype.isHorizontal = function() {
+      return this.coordinateSystem.getModel().get("layout") !== "horizontal";
+    };
+    return ParallelAxis2;
+  }(Axis$1)
+);
+const ParallelAxis$1 = ParallelAxis;
+function sliderMove(delta, handleEnds, extent3, handleIndex, minSpan, maxSpan) {
+  delta = delta || 0;
+  var extentSpan = extent3[1] - extent3[0];
+  if (minSpan != null) {
+    minSpan = restrict$1(minSpan, [0, extentSpan]);
+  }
+  if (maxSpan != null) {
+    maxSpan = Math.max(maxSpan, minSpan != null ? minSpan : 0);
+  }
+  if (handleIndex === "all") {
+    var handleSpan = Math.abs(handleEnds[1] - handleEnds[0]);
+    handleSpan = restrict$1(handleSpan, [0, extentSpan]);
+    minSpan = maxSpan = restrict$1(handleSpan, [minSpan, maxSpan]);
+    handleIndex = 0;
+  }
+  handleEnds[0] = restrict$1(handleEnds[0], extent3);
+  handleEnds[1] = restrict$1(handleEnds[1], extent3);
+  var originalDistSign = getSpanSign(handleEnds, handleIndex);
+  handleEnds[handleIndex] += delta;
+  var extentMinSpan = minSpan || 0;
+  var realExtent = extent3.slice();
+  originalDistSign.sign < 0 ? realExtent[0] += extentMinSpan : realExtent[1] -= extentMinSpan;
+  handleEnds[handleIndex] = restrict$1(handleEnds[handleIndex], realExtent);
+  var currDistSign;
+  currDistSign = getSpanSign(handleEnds, handleIndex);
+  if (minSpan != null && (currDistSign.sign !== originalDistSign.sign || currDistSign.span < minSpan)) {
+    handleEnds[1 - handleIndex] = handleEnds[handleIndex] + originalDistSign.sign * minSpan;
+  }
+  currDistSign = getSpanSign(handleEnds, handleIndex);
+  if (maxSpan != null && currDistSign.span > maxSpan) {
+    handleEnds[1 - handleIndex] = handleEnds[handleIndex] + currDistSign.sign * maxSpan;
+  }
+  return handleEnds;
+}
+function getSpanSign(handleEnds, handleIndex) {
+  var dist2 = handleEnds[handleIndex] - handleEnds[1 - handleIndex];
+  return {
+    span: Math.abs(dist2),
+    sign: dist2 > 0 ? -1 : dist2 < 0 ? 1 : handleIndex ? -1 : 1
+  };
+}
+function restrict$1(value, extend2) {
+  return Math.min(extend2[1] != null ? extend2[1] : Infinity, Math.max(extend2[0] != null ? extend2[0] : -Infinity, value));
+}
+var each$a = each$f;
+var mathMin$2 = Math.min;
+var mathMax$2 = Math.max;
+var mathFloor = Math.floor;
+var mathCeil = Math.ceil;
+var round = round$3;
+var PI$1 = Math.PI;
+var Parallel = (
+  /** @class */
+  function() {
+    function Parallel2(parallelModel, ecModel, api2) {
+      this.type = "parallel";
+      this._axesMap = createHashMap();
+      this._axesLayout = {};
+      this.dimensions = parallelModel.dimensions;
+      this._model = parallelModel;
+      this._init(parallelModel, ecModel, api2);
+    }
+    Parallel2.prototype._init = function(parallelModel, ecModel, api2) {
+      var dimensions = parallelModel.dimensions;
+      var parallelAxisIndex = parallelModel.parallelAxisIndex;
+      each$a(dimensions, function(dim, idx) {
+        var axisIndex = parallelAxisIndex[idx];
+        var axisModel = ecModel.getComponent("parallelAxis", axisIndex);
+        var axis2 = this._axesMap.set(dim, new ParallelAxis$1(dim, createScaleByModel$1(axisModel), [0, 0], axisModel.get("type"), axisIndex));
+        var isCategory2 = axis2.type === "category";
+        axis2.onBand = isCategory2 && axisModel.get("boundaryGap");
+        axis2.inverse = axisModel.get("inverse");
+        axisModel.axis = axis2;
+        axis2.model = axisModel;
+        axis2.coordinateSystem = axisModel.coordinateSystem = this;
+      }, this);
+    };
+    Parallel2.prototype.update = function(ecModel, api2) {
+      this._updateAxesFromSeries(this._model, ecModel);
+    };
+    Parallel2.prototype.containPoint = function(point) {
+      var layoutInfo = this._makeLayoutInfo();
+      var axisBase = layoutInfo.axisBase;
+      var layoutBase = layoutInfo.layoutBase;
+      var pixelDimIndex = layoutInfo.pixelDimIndex;
+      var pAxis = point[1 - pixelDimIndex];
+      var pLayout = point[pixelDimIndex];
+      return pAxis >= axisBase && pAxis <= axisBase + layoutInfo.axisLength && pLayout >= layoutBase && pLayout <= layoutBase + layoutInfo.layoutLength;
+    };
+    Parallel2.prototype.getModel = function() {
+      return this._model;
+    };
+    Parallel2.prototype._updateAxesFromSeries = function(parallelModel, ecModel) {
+      ecModel.eachSeries(function(seriesModel) {
+        if (!parallelModel.contains(seriesModel, ecModel)) {
+          return;
+        }
+        var data2 = seriesModel.getData();
+        each$a(this.dimensions, function(dim) {
+          var axis2 = this._axesMap.get(dim);
+          axis2.scale.unionExtentFromData(data2, data2.mapDimension(dim));
+          niceScaleExtent(axis2.scale, axis2.model);
+        }, this);
+      }, this);
+    };
+    Parallel2.prototype.resize = function(parallelModel, api2) {
+      this._rect = getLayoutRect(parallelModel.getBoxLayoutParams(), {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+      this._layoutAxes();
+    };
+    Parallel2.prototype.getRect = function() {
+      return this._rect;
+    };
+    Parallel2.prototype._makeLayoutInfo = function() {
+      var parallelModel = this._model;
+      var rect = this._rect;
+      var xy = ["x", "y"];
+      var wh = ["width", "height"];
+      var layout2 = parallelModel.get("layout");
+      var pixelDimIndex = layout2 === "horizontal" ? 0 : 1;
+      var layoutLength = rect[wh[pixelDimIndex]];
+      var layoutExtent = [0, layoutLength];
+      var axisCount = this.dimensions.length;
+      var axisExpandWidth = restrict(parallelModel.get("axisExpandWidth"), layoutExtent);
+      var axisExpandCount = restrict(parallelModel.get("axisExpandCount") || 0, [0, axisCount]);
+      var axisExpandable = parallelModel.get("axisExpandable") && axisCount > 3 && axisCount > axisExpandCount && axisExpandCount > 1 && axisExpandWidth > 0 && layoutLength > 0;
+      var axisExpandWindow = parallelModel.get("axisExpandWindow");
+      var winSize;
+      if (!axisExpandWindow) {
+        winSize = restrict(axisExpandWidth * (axisExpandCount - 1), layoutExtent);
+        var axisExpandCenter = parallelModel.get("axisExpandCenter") || mathFloor(axisCount / 2);
+        axisExpandWindow = [axisExpandWidth * axisExpandCenter - winSize / 2];
+        axisExpandWindow[1] = axisExpandWindow[0] + winSize;
+      } else {
+        winSize = restrict(axisExpandWindow[1] - axisExpandWindow[0], layoutExtent);
+        axisExpandWindow[1] = axisExpandWindow[0] + winSize;
+      }
+      var axisCollapseWidth = (layoutLength - winSize) / (axisCount - axisExpandCount);
+      axisCollapseWidth < 3 && (axisCollapseWidth = 0);
+      var winInnerIndices = [mathFloor(round(axisExpandWindow[0] / axisExpandWidth, 1)) + 1, mathCeil(round(axisExpandWindow[1] / axisExpandWidth, 1)) - 1];
+      var axisExpandWindow0Pos = axisCollapseWidth / axisExpandWidth * axisExpandWindow[0];
+      return {
+        layout: layout2,
+        pixelDimIndex,
+        layoutBase: rect[xy[pixelDimIndex]],
+        layoutLength,
+        axisBase: rect[xy[1 - pixelDimIndex]],
+        axisLength: rect[wh[1 - pixelDimIndex]],
+        axisExpandable,
+        axisExpandWidth,
+        axisCollapseWidth,
+        axisExpandWindow,
+        axisCount,
+        winInnerIndices,
+        axisExpandWindow0Pos
+      };
+    };
+    Parallel2.prototype._layoutAxes = function() {
+      var rect = this._rect;
+      var axes = this._axesMap;
+      var dimensions = this.dimensions;
+      var layoutInfo = this._makeLayoutInfo();
+      var layout2 = layoutInfo.layout;
+      axes.each(function(axis2) {
+        var axisExtent = [0, layoutInfo.axisLength];
+        var idx = axis2.inverse ? 1 : 0;
+        axis2.setExtent(axisExtent[idx], axisExtent[1 - idx]);
+      });
+      each$a(dimensions, function(dim, idx) {
+        var posInfo = (layoutInfo.axisExpandable ? layoutAxisWithExpand : layoutAxisWithoutExpand)(idx, layoutInfo);
+        var positionTable = {
+          horizontal: {
+            x: posInfo.position,
+            y: layoutInfo.axisLength
+          },
+          vertical: {
+            x: 0,
+            y: posInfo.position
+          }
+        };
+        var rotationTable = {
+          horizontal: PI$1 / 2,
+          vertical: 0
+        };
+        var position2 = [positionTable[layout2].x + rect.x, positionTable[layout2].y + rect.y];
+        var rotation = rotationTable[layout2];
+        var transform3 = create$1();
+        rotate(transform3, transform3, rotation);
+        translate(transform3, transform3, position2);
+        this._axesLayout[dim] = {
+          position: position2,
+          rotation,
+          transform: transform3,
+          axisNameAvailableWidth: posInfo.axisNameAvailableWidth,
+          axisLabelShow: posInfo.axisLabelShow,
+          nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,
+          tickDirection: 1,
+          labelDirection: 1
+        };
+      }, this);
+    };
+    Parallel2.prototype.getAxis = function(dim) {
+      return this._axesMap.get(dim);
+    };
+    Parallel2.prototype.dataToPoint = function(value, dim) {
+      return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);
+    };
+    Parallel2.prototype.eachActiveState = function(data2, callback, start2, end2) {
+      start2 == null && (start2 = 0);
+      end2 == null && (end2 = data2.count());
+      var axesMap = this._axesMap;
+      var dimensions = this.dimensions;
+      var dataDimensions = [];
+      var axisModels = [];
+      each$f(dimensions, function(axisDim) {
+        dataDimensions.push(data2.mapDimension(axisDim));
+        axisModels.push(axesMap.get(axisDim).model);
+      });
+      var hasActiveSet = this.hasAxisBrushed();
+      for (var dataIndex = start2; dataIndex < end2; dataIndex++) {
+        var activeState = void 0;
+        if (!hasActiveSet) {
+          activeState = "normal";
+        } else {
+          activeState = "active";
+          var values = data2.getValues(dataDimensions, dataIndex);
+          for (var j2 = 0, lenj = dimensions.length; j2 < lenj; j2++) {
+            var state = axisModels[j2].getActiveState(values[j2]);
+            if (state === "inactive") {
+              activeState = "inactive";
+              break;
+            }
+          }
+        }
+        callback(activeState, dataIndex);
+      }
+    };
+    Parallel2.prototype.hasAxisBrushed = function() {
+      var dimensions = this.dimensions;
+      var axesMap = this._axesMap;
+      var hasActiveSet = false;
+      for (var j2 = 0, lenj = dimensions.length; j2 < lenj; j2++) {
+        if (axesMap.get(dimensions[j2]).model.getActiveState() !== "normal") {
+          hasActiveSet = true;
+        }
+      }
+      return hasActiveSet;
+    };
+    Parallel2.prototype.axisCoordToPoint = function(coord, dim) {
+      var axisLayout = this._axesLayout[dim];
+      return applyTransform([coord, 0], axisLayout.transform);
+    };
+    Parallel2.prototype.getAxisLayout = function(dim) {
+      return clone$4(this._axesLayout[dim]);
+    };
+    Parallel2.prototype.getSlidedAxisExpandWindow = function(point) {
+      var layoutInfo = this._makeLayoutInfo();
+      var pixelDimIndex = layoutInfo.pixelDimIndex;
+      var axisExpandWindow = layoutInfo.axisExpandWindow.slice();
+      var winSize = axisExpandWindow[1] - axisExpandWindow[0];
+      var extent3 = [0, layoutInfo.axisExpandWidth * (layoutInfo.axisCount - 1)];
+      if (!this.containPoint(point)) {
+        return {
+          behavior: "none",
+          axisExpandWindow
+        };
+      }
+      var pointCoord = point[pixelDimIndex] - layoutInfo.layoutBase - layoutInfo.axisExpandWindow0Pos;
+      var delta;
+      var behavior = "slide";
+      var axisCollapseWidth = layoutInfo.axisCollapseWidth;
+      var triggerArea = this._model.get("axisExpandSlideTriggerArea");
+      var useJump = triggerArea[0] != null;
+      if (axisCollapseWidth) {
+        if (useJump && axisCollapseWidth && pointCoord < winSize * triggerArea[0]) {
+          behavior = "jump";
+          delta = pointCoord - winSize * triggerArea[2];
+        } else if (useJump && axisCollapseWidth && pointCoord > winSize * (1 - triggerArea[0])) {
+          behavior = "jump";
+          delta = pointCoord - winSize * (1 - triggerArea[2]);
+        } else {
+          (delta = pointCoord - winSize * triggerArea[1]) >= 0 && (delta = pointCoord - winSize * (1 - triggerArea[1])) <= 0 && (delta = 0);
+        }
+        delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;
+        delta ? sliderMove(delta, axisExpandWindow, extent3, "all") : behavior = "none";
+      } else {
+        var winSize2 = axisExpandWindow[1] - axisExpandWindow[0];
+        var pos = extent3[1] * pointCoord / winSize2;
+        axisExpandWindow = [mathMax$2(0, pos - winSize2 / 2)];
+        axisExpandWindow[1] = mathMin$2(extent3[1], axisExpandWindow[0] + winSize2);
+        axisExpandWindow[0] = axisExpandWindow[1] - winSize2;
+      }
+      return {
+        axisExpandWindow,
+        behavior
+      };
+    };
+    return Parallel2;
+  }()
+);
+function restrict(len2, extent3) {
+  return mathMin$2(mathMax$2(len2, extent3[0]), extent3[1]);
+}
+function layoutAxisWithoutExpand(axisIndex, layoutInfo) {
+  var step2 = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);
+  return {
+    position: step2 * axisIndex,
+    axisNameAvailableWidth: step2,
+    axisLabelShow: true
+  };
+}
+function layoutAxisWithExpand(axisIndex, layoutInfo) {
+  var layoutLength = layoutInfo.layoutLength;
+  var axisExpandWidth = layoutInfo.axisExpandWidth;
+  var axisCount = layoutInfo.axisCount;
+  var axisCollapseWidth = layoutInfo.axisCollapseWidth;
+  var winInnerIndices = layoutInfo.winInnerIndices;
+  var position2;
+  var axisNameAvailableWidth = axisCollapseWidth;
+  var axisLabelShow = false;
+  var nameTruncateMaxWidth;
+  if (axisIndex < winInnerIndices[0]) {
+    position2 = axisIndex * axisCollapseWidth;
+    nameTruncateMaxWidth = axisCollapseWidth;
+  } else if (axisIndex <= winInnerIndices[1]) {
+    position2 = layoutInfo.axisExpandWindow0Pos + axisIndex * axisExpandWidth - layoutInfo.axisExpandWindow[0];
+    axisNameAvailableWidth = axisExpandWidth;
+    axisLabelShow = true;
+  } else {
+    position2 = layoutLength - (axisCount - 1 - axisIndex) * axisCollapseWidth;
+    nameTruncateMaxWidth = axisCollapseWidth;
+  }
+  return {
+    position: position2,
+    axisNameAvailableWidth,
+    axisLabelShow,
+    nameTruncateMaxWidth
+  };
+}
+const Parallel$1 = Parallel;
+function createParallelCoordSys(ecModel, api2) {
+  var coordSysList = [];
+  ecModel.eachComponent("parallel", function(parallelModel, idx) {
+    var coordSys = new Parallel$1(parallelModel, ecModel, api2);
+    coordSys.name = "parallel_" + idx;
+    coordSys.resize(parallelModel, api2);
+    parallelModel.coordinateSystem = coordSys;
+    coordSys.model = parallelModel;
+    coordSysList.push(coordSys);
+  });
+  ecModel.eachSeries(function(seriesModel) {
+    if (seriesModel.get("coordinateSystem") === "parallel") {
+      var parallelModel = seriesModel.getReferringComponents("parallel", SINGLE_REFERRING).models[0];
+      seriesModel.coordinateSystem = parallelModel.coordinateSystem;
+    }
+  });
+  return coordSysList;
+}
+var parallelCoordSysCreator = {
+  create: createParallelCoordSys
+};
+const parallelCoordSysCreator$1 = parallelCoordSysCreator;
+var ParallelAxisModel = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelAxisModel2, _super);
+    function ParallelAxisModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ParallelAxisModel2.type;
+      _this.activeIntervals = [];
+      return _this;
+    }
+    ParallelAxisModel2.prototype.getAreaSelectStyle = function() {
+      return makeStyleMapper([
+        ["fill", "color"],
+        ["lineWidth", "borderWidth"],
+        ["stroke", "borderColor"],
+        ["width", "width"],
+        ["opacity", "opacity"]
+        // Option decal is in `DecalObject` but style.decal is in `PatternObject`.
+        // So do not transfer decal directly.
+      ])(this.getModel("areaSelectStyle"));
+    };
+    ParallelAxisModel2.prototype.setActiveIntervals = function(intervals) {
+      var activeIntervals = this.activeIntervals = clone$4(intervals);
+      if (activeIntervals) {
+        for (var i2 = activeIntervals.length - 1; i2 >= 0; i2--) {
+          asc$2(activeIntervals[i2]);
+        }
+      }
+    };
+    ParallelAxisModel2.prototype.getActiveState = function(value) {
+      var activeIntervals = this.activeIntervals;
+      if (!activeIntervals.length) {
+        return "normal";
+      }
+      if (value == null || isNaN(+value)) {
+        return "inactive";
+      }
+      if (activeIntervals.length === 1) {
+        var interval = activeIntervals[0];
+        if (interval[0] <= value && value <= interval[1]) {
+          return "active";
+        }
+      } else {
+        for (var i2 = 0, len2 = activeIntervals.length; i2 < len2; i2++) {
+          if (activeIntervals[i2][0] <= value && value <= activeIntervals[i2][1]) {
+            return "active";
+          }
+        }
+      }
+      return "inactive";
+    };
+    return ParallelAxisModel2;
+  }(ComponentModel$1)
+);
+mixin(ParallelAxisModel, AxisModelCommonMixin);
+const ParallelAxisModel$1 = ParallelAxisModel;
+var BRUSH_PANEL_GLOBAL = true;
+var mathMin$1 = Math.min;
+var mathMax$1 = Math.max;
+var mathPow = Math.pow;
+var COVER_Z = 1e4;
+var UNSELECT_THRESHOLD = 6;
+var MIN_RESIZE_LINE_WIDTH = 6;
+var MUTEX_RESOURCE_KEY = "globalPan";
+var DIRECTION_MAP = {
+  w: [0, 0],
+  e: [0, 1],
+  n: [1, 0],
+  s: [1, 1]
+};
+var CURSOR_MAP = {
+  w: "ew",
+  e: "ew",
+  n: "ns",
+  s: "ns",
+  ne: "nesw",
+  sw: "nesw",
+  nw: "nwse",
+  se: "nwse"
+};
+var DEFAULT_BRUSH_OPT = {
+  brushStyle: {
+    lineWidth: 2,
+    stroke: "rgba(210,219,238,0.3)",
+    fill: "#D2DBEE"
+  },
+  transformable: true,
+  brushMode: "single",
+  removeOnClick: false
+};
+var baseUID = 0;
+var BrushController = (
+  /** @class */
+  function(_super) {
+    __extends(BrushController2, _super);
+    function BrushController2(zr) {
+      var _this = _super.call(this) || this;
+      _this._track = [];
+      _this._covers = [];
+      _this._handlers = {};
+      _this._zr = zr;
+      _this.group = new Group$4();
+      _this._uid = "brushController_" + baseUID++;
+      each$f(pointerHandlers, function(handler, eventName) {
+        this._handlers[eventName] = bind$2(handler, this);
+      }, _this);
+      return _this;
+    }
+    BrushController2.prototype.enableBrush = function(brushOption) {
+      this._brushType && this._doDisableBrush();
+      brushOption.brushType && this._doEnableBrush(brushOption);
+      return this;
+    };
+    BrushController2.prototype._doEnableBrush = function(brushOption) {
+      var zr = this._zr;
+      if (!this._enableGlobalPan) {
+        take(zr, MUTEX_RESOURCE_KEY, this._uid);
+      }
+      each$f(this._handlers, function(handler, eventName) {
+        zr.on(eventName, handler);
+      });
+      this._brushType = brushOption.brushType;
+      this._brushOption = merge$1(clone$4(DEFAULT_BRUSH_OPT), brushOption, true);
+    };
+    BrushController2.prototype._doDisableBrush = function() {
+      var zr = this._zr;
+      release(zr, MUTEX_RESOURCE_KEY, this._uid);
+      each$f(this._handlers, function(handler, eventName) {
+        zr.off(eventName, handler);
+      });
+      this._brushType = this._brushOption = null;
+    };
+    BrushController2.prototype.setPanels = function(panelOpts) {
+      if (panelOpts && panelOpts.length) {
+        var panels_1 = this._panels = {};
+        each$f(panelOpts, function(panelOpts2) {
+          panels_1[panelOpts2.panelId] = clone$4(panelOpts2);
+        });
+      } else {
+        this._panels = null;
+      }
+      return this;
+    };
+    BrushController2.prototype.mount = function(opt) {
+      opt = opt || {};
+      this._enableGlobalPan = opt.enableGlobalPan;
+      var thisGroup = this.group;
+      this._zr.add(thisGroup);
+      thisGroup.attr({
+        x: opt.x || 0,
+        y: opt.y || 0,
+        rotation: opt.rotation || 0,
+        scaleX: opt.scaleX || 1,
+        scaleY: opt.scaleY || 1
+      });
+      this._transform = thisGroup.getLocalTransform();
+      return this;
+    };
+    BrushController2.prototype.updateCovers = function(coverConfigList) {
+      coverConfigList = map$1(coverConfigList, function(coverConfig) {
+        return merge$1(clone$4(DEFAULT_BRUSH_OPT), coverConfig, true);
+      });
+      var tmpIdPrefix = "\0-brush-index-";
+      var oldCovers = this._covers;
+      var newCovers = this._covers = [];
+      var controller = this;
+      var creatingCover = this._creatingCover;
+      new DataDiffer$1(oldCovers, coverConfigList, oldGetKey, getKey2).add(addOrUpdate).update(addOrUpdate).remove(remove2).execute();
+      return this;
+      function getKey2(brushOption, index3) {
+        return (brushOption.id != null ? brushOption.id : tmpIdPrefix + index3) + "-" + brushOption.brushType;
+      }
+      function oldGetKey(cover, index3) {
+        return getKey2(cover.__brushOption, index3);
+      }
+      function addOrUpdate(newIndex, oldIndex) {
+        var newBrushInternal = coverConfigList[newIndex];
+        if (oldIndex != null && oldCovers[oldIndex] === creatingCover) {
+          newCovers[newIndex] = oldCovers[oldIndex];
+        } else {
+          var cover = newCovers[newIndex] = oldIndex != null ? (oldCovers[oldIndex].__brushOption = newBrushInternal, oldCovers[oldIndex]) : endCreating(controller, createCover(controller, newBrushInternal));
+          updateCoverAfterCreation(controller, cover);
+        }
+      }
+      function remove2(oldIndex) {
+        if (oldCovers[oldIndex] !== creatingCover) {
+          controller.group.remove(oldCovers[oldIndex]);
+        }
+      }
+    };
+    BrushController2.prototype.unmount = function() {
+      this.enableBrush(false);
+      clearCovers(this);
+      this._zr.remove(this.group);
+      return this;
+    };
+    BrushController2.prototype.dispose = function() {
+      this.unmount();
+      this.off();
+    };
+    return BrushController2;
+  }(Eventful$1)
+);
+function createCover(controller, brushOption) {
+  var cover = coverRenderers[brushOption.brushType].createCover(controller, brushOption);
+  cover.__brushOption = brushOption;
+  updateZ$1(cover, brushOption);
+  controller.group.add(cover);
+  return cover;
+}
+function endCreating(controller, creatingCover) {
+  var coverRenderer = getCoverRenderer(creatingCover);
+  if (coverRenderer.endCreating) {
+    coverRenderer.endCreating(controller, creatingCover);
+    updateZ$1(creatingCover, creatingCover.__brushOption);
+  }
+  return creatingCover;
+}
+function updateCoverShape(controller, cover) {
+  var brushOption = cover.__brushOption;
+  getCoverRenderer(cover).updateCoverShape(controller, cover, brushOption.range, brushOption);
+}
+function updateZ$1(cover, brushOption) {
+  var z2 = brushOption.z;
+  z2 == null && (z2 = COVER_Z);
+  cover.traverse(function(el) {
+    el.z = z2;
+    el.z2 = z2;
+  });
+}
+function updateCoverAfterCreation(controller, cover) {
+  getCoverRenderer(cover).updateCommon(controller, cover);
+  updateCoverShape(controller, cover);
+}
+function getCoverRenderer(cover) {
+  return coverRenderers[cover.__brushOption.brushType];
+}
+function getPanelByPoint(controller, e2, localCursorPoint) {
+  var panels = controller._panels;
+  if (!panels) {
+    return BRUSH_PANEL_GLOBAL;
+  }
+  var panel;
+  var transform3 = controller._transform;
+  each$f(panels, function(pn) {
+    pn.isTargetByCursor(e2, localCursorPoint, transform3) && (panel = pn);
+  });
+  return panel;
+}
+function getPanelByCover(controller, cover) {
+  var panels = controller._panels;
+  if (!panels) {
+    return BRUSH_PANEL_GLOBAL;
+  }
+  var panelId = cover.__brushOption.panelId;
+  return panelId != null ? panels[panelId] : BRUSH_PANEL_GLOBAL;
+}
+function clearCovers(controller) {
+  var covers = controller._covers;
+  var originalLength = covers.length;
+  each$f(covers, function(cover) {
+    controller.group.remove(cover);
+  }, controller);
+  covers.length = 0;
+  return !!originalLength;
+}
+function trigger(controller, opt) {
+  var areas = map$1(controller._covers, function(cover) {
+    var brushOption = cover.__brushOption;
+    var range2 = clone$4(brushOption.range);
+    return {
+      brushType: brushOption.brushType,
+      panelId: brushOption.panelId,
+      range: range2
+    };
+  });
+  controller.trigger("brush", {
+    areas,
+    isEnd: !!opt.isEnd,
+    removeOnClick: !!opt.removeOnClick
+  });
+}
+function shouldShowCover(controller) {
+  var track = controller._track;
+  if (!track.length) {
+    return false;
+  }
+  var p2 = track[track.length - 1];
+  var p1 = track[0];
+  var dx = p2[0] - p1[0];
+  var dy = p2[1] - p1[1];
+  var dist2 = mathPow(dx * dx + dy * dy, 0.5);
+  return dist2 > UNSELECT_THRESHOLD;
+}
+function getTrackEnds(track) {
+  var tail = track.length - 1;
+  tail < 0 && (tail = 0);
+  return [track[0], track[tail]];
+}
+function createBaseRectCover(rectRangeConverter, controller, brushOption, edgeNameSequences) {
+  var cover = new Group$4();
+  cover.add(new Rect$3({
+    name: "main",
+    style: makeStyle(brushOption),
+    silent: true,
+    draggable: true,
+    cursor: "move",
+    drift: curry$1(driftRect, rectRangeConverter, controller, cover, ["n", "s", "w", "e"]),
+    ondragend: curry$1(trigger, controller, {
+      isEnd: true
+    })
+  }));
+  each$f(edgeNameSequences, function(nameSequence) {
+    cover.add(new Rect$3({
+      name: nameSequence.join(""),
+      style: {
+        opacity: 0
+      },
+      draggable: true,
+      silent: true,
+      invisible: true,
+      drift: curry$1(driftRect, rectRangeConverter, controller, cover, nameSequence),
+      ondragend: curry$1(trigger, controller, {
+        isEnd: true
+      })
+    }));
+  });
+  return cover;
+}
+function updateBaseRect(controller, cover, localRange, brushOption) {
+  var lineWidth = brushOption.brushStyle.lineWidth || 0;
+  var handleSize = mathMax$1(lineWidth, MIN_RESIZE_LINE_WIDTH);
+  var x2 = localRange[0][0];
+  var y2 = localRange[1][0];
+  var xa = x2 - lineWidth / 2;
+  var ya = y2 - lineWidth / 2;
+  var x22 = localRange[0][1];
+  var y22 = localRange[1][1];
+  var x2a = x22 - handleSize + lineWidth / 2;
+  var y2a = y22 - handleSize + lineWidth / 2;
+  var width = x22 - x2;
+  var height = y22 - y2;
+  var widtha = width + lineWidth;
+  var heighta = height + lineWidth;
+  updateRectShape(controller, cover, "main", x2, y2, width, height);
+  if (brushOption.transformable) {
+    updateRectShape(controller, cover, "w", xa, ya, handleSize, heighta);
+    updateRectShape(controller, cover, "e", x2a, ya, handleSize, heighta);
+    updateRectShape(controller, cover, "n", xa, ya, widtha, handleSize);
+    updateRectShape(controller, cover, "s", xa, y2a, widtha, handleSize);
+    updateRectShape(controller, cover, "nw", xa, ya, handleSize, handleSize);
+    updateRectShape(controller, cover, "ne", x2a, ya, handleSize, handleSize);
+    updateRectShape(controller, cover, "sw", xa, y2a, handleSize, handleSize);
+    updateRectShape(controller, cover, "se", x2a, y2a, handleSize, handleSize);
+  }
+}
+function updateCommon$1(controller, cover) {
+  var brushOption = cover.__brushOption;
+  var transformable = brushOption.transformable;
+  var mainEl = cover.childAt(0);
+  mainEl.useStyle(makeStyle(brushOption));
+  mainEl.attr({
+    silent: !transformable,
+    cursor: transformable ? "move" : "default"
+  });
+  each$f([["w"], ["e"], ["n"], ["s"], ["s", "e"], ["s", "w"], ["n", "e"], ["n", "w"]], function(nameSequence) {
+    var el = cover.childOfName(nameSequence.join(""));
+    var globalDir = nameSequence.length === 1 ? getGlobalDirection1(controller, nameSequence[0]) : getGlobalDirection2(controller, nameSequence);
+    el && el.attr({
+      silent: !transformable,
+      invisible: !transformable,
+      cursor: transformable ? CURSOR_MAP[globalDir] + "-resize" : null
+    });
+  });
+}
+function updateRectShape(controller, cover, name2, x2, y2, w2, h3) {
+  var el = cover.childOfName(name2);
+  el && el.setShape(pointsToRect(clipByPanel(controller, cover, [[x2, y2], [x2 + w2, y2 + h3]])));
+}
+function makeStyle(brushOption) {
+  return defaults$2({
+    strokeNoScale: true
+  }, brushOption.brushStyle);
+}
+function formatRectRange(x2, y2, x22, y22) {
+  var min3 = [mathMin$1(x2, x22), mathMin$1(y2, y22)];
+  var max3 = [mathMax$1(x2, x22), mathMax$1(y2, y22)];
+  return [
+    [min3[0], max3[0]],
+    [min3[1], max3[1]]
+    // y range
+  ];
+}
+function getTransform(controller) {
+  return getTransform$1(controller.group);
+}
+function getGlobalDirection1(controller, localDirName) {
+  var map2 = {
+    w: "left",
+    e: "right",
+    n: "top",
+    s: "bottom"
+  };
+  var inverseMap = {
+    left: "w",
+    right: "e",
+    top: "n",
+    bottom: "s"
+  };
+  var dir3 = transformDirection(map2[localDirName], getTransform(controller));
+  return inverseMap[dir3];
+}
+function getGlobalDirection2(controller, localDirNameSeq) {
+  var globalDir = [getGlobalDirection1(controller, localDirNameSeq[0]), getGlobalDirection1(controller, localDirNameSeq[1])];
+  (globalDir[0] === "e" || globalDir[0] === "w") && globalDir.reverse();
+  return globalDir.join("");
+}
+function driftRect(rectRangeConverter, controller, cover, dirNameSequence, dx, dy) {
+  var brushOption = cover.__brushOption;
+  var rectRange = rectRangeConverter.toRectRange(brushOption.range);
+  var localDelta = toLocalDelta(controller, dx, dy);
+  each$f(dirNameSequence, function(dirName) {
+    var ind = DIRECTION_MAP[dirName];
+    rectRange[ind[0]][ind[1]] += localDelta[ind[0]];
+  });
+  brushOption.range = rectRangeConverter.fromRectRange(formatRectRange(rectRange[0][0], rectRange[1][0], rectRange[0][1], rectRange[1][1]));
+  updateCoverAfterCreation(controller, cover);
+  trigger(controller, {
+    isEnd: false
+  });
+}
+function driftPolygon(controller, cover, dx, dy) {
+  var range2 = cover.__brushOption.range;
+  var localDelta = toLocalDelta(controller, dx, dy);
+  each$f(range2, function(point) {
+    point[0] += localDelta[0];
+    point[1] += localDelta[1];
+  });
+  updateCoverAfterCreation(controller, cover);
+  trigger(controller, {
+    isEnd: false
+  });
+}
+function toLocalDelta(controller, dx, dy) {
+  var thisGroup = controller.group;
+  var localD = thisGroup.transformCoordToLocal(dx, dy);
+  var localZero = thisGroup.transformCoordToLocal(0, 0);
+  return [localD[0] - localZero[0], localD[1] - localZero[1]];
+}
+function clipByPanel(controller, cover, data2) {
+  var panel = getPanelByCover(controller, cover);
+  return panel && panel !== BRUSH_PANEL_GLOBAL ? panel.clipPath(data2, controller._transform) : clone$4(data2);
+}
+function pointsToRect(points2) {
+  var xmin = mathMin$1(points2[0][0], points2[1][0]);
+  var ymin = mathMin$1(points2[0][1], points2[1][1]);
+  var xmax = mathMax$1(points2[0][0], points2[1][0]);
+  var ymax = mathMax$1(points2[0][1], points2[1][1]);
+  return {
+    x: xmin,
+    y: ymin,
+    width: xmax - xmin,
+    height: ymax - ymin
+  };
+}
+function resetCursor(controller, e2, localCursorPoint) {
+  if (
+    // Check active
+    !controller._brushType || isOutsideZrArea(controller, e2.offsetX, e2.offsetY)
+  ) {
+    return;
+  }
+  var zr = controller._zr;
+  var covers = controller._covers;
+  var currPanel = getPanelByPoint(controller, e2, localCursorPoint);
+  if (!controller._dragging) {
+    for (var i2 = 0; i2 < covers.length; i2++) {
+      var brushOption = covers[i2].__brushOption;
+      if (currPanel && (currPanel === BRUSH_PANEL_GLOBAL || brushOption.panelId === currPanel.panelId) && coverRenderers[brushOption.brushType].contain(covers[i2], localCursorPoint[0], localCursorPoint[1])) {
+        return;
+      }
+    }
+  }
+  currPanel && zr.setCursorStyle("crosshair");
+}
+function preventDefault(e2) {
+  var rawE = e2.event;
+  rawE.preventDefault && rawE.preventDefault();
+}
+function mainShapeContain(cover, x2, y2) {
+  return cover.childOfName("main").contain(x2, y2);
+}
+function updateCoverByMouse(controller, e2, localCursorPoint, isEnd) {
+  var creatingCover = controller._creatingCover;
+  var panel = controller._creatingPanel;
+  var thisBrushOption = controller._brushOption;
+  var eventParams;
+  controller._track.push(localCursorPoint.slice());
+  if (shouldShowCover(controller) || creatingCover) {
+    if (panel && !creatingCover) {
+      thisBrushOption.brushMode === "single" && clearCovers(controller);
+      var brushOption = clone$4(thisBrushOption);
+      brushOption.brushType = determineBrushType(brushOption.brushType, panel);
+      brushOption.panelId = panel === BRUSH_PANEL_GLOBAL ? null : panel.panelId;
+      creatingCover = controller._creatingCover = createCover(controller, brushOption);
+      controller._covers.push(creatingCover);
+    }
+    if (creatingCover) {
+      var coverRenderer = coverRenderers[determineBrushType(controller._brushType, panel)];
+      var coverBrushOption = creatingCover.__brushOption;
+      coverBrushOption.range = coverRenderer.getCreatingRange(clipByPanel(controller, creatingCover, controller._track));
+      if (isEnd) {
+        endCreating(controller, creatingCover);
+        coverRenderer.updateCommon(controller, creatingCover);
+      }
+      updateCoverShape(controller, creatingCover);
+      eventParams = {
+        isEnd
+      };
+    }
+  } else if (isEnd && thisBrushOption.brushMode === "single" && thisBrushOption.removeOnClick) {
+    if (getPanelByPoint(controller, e2, localCursorPoint) && clearCovers(controller)) {
+      eventParams = {
+        isEnd,
+        removeOnClick: true
+      };
+    }
+  }
+  return eventParams;
+}
+function determineBrushType(brushType, panel) {
+  if (brushType === "auto") {
+    return panel.defaultBrushType;
+  }
+  return brushType;
+}
+var pointerHandlers = {
+  mousedown: function(e2) {
+    if (this._dragging) {
+      handleDragEnd(this, e2);
+    } else if (!e2.target || !e2.target.draggable) {
+      preventDefault(e2);
+      var localCursorPoint = this.group.transformCoordToLocal(e2.offsetX, e2.offsetY);
+      this._creatingCover = null;
+      var panel = this._creatingPanel = getPanelByPoint(this, e2, localCursorPoint);
+      if (panel) {
+        this._dragging = true;
+        this._track = [localCursorPoint.slice()];
+      }
+    }
+  },
+  mousemove: function(e2) {
+    var x2 = e2.offsetX;
+    var y2 = e2.offsetY;
+    var localCursorPoint = this.group.transformCoordToLocal(x2, y2);
+    resetCursor(this, e2, localCursorPoint);
+    if (this._dragging) {
+      preventDefault(e2);
+      var eventParams = updateCoverByMouse(this, e2, localCursorPoint, false);
+      eventParams && trigger(this, eventParams);
+    }
+  },
+  mouseup: function(e2) {
+    handleDragEnd(this, e2);
+  }
+};
+function handleDragEnd(controller, e2) {
+  if (controller._dragging) {
+    preventDefault(e2);
+    var x2 = e2.offsetX;
+    var y2 = e2.offsetY;
+    var localCursorPoint = controller.group.transformCoordToLocal(x2, y2);
+    var eventParams = updateCoverByMouse(controller, e2, localCursorPoint, true);
+    controller._dragging = false;
+    controller._track = [];
+    controller._creatingCover = null;
+    eventParams && trigger(controller, eventParams);
+  }
+}
+function isOutsideZrArea(controller, x2, y2) {
+  var zr = controller._zr;
+  return x2 < 0 || x2 > zr.getWidth() || y2 < 0 || y2 > zr.getHeight();
+}
+var coverRenderers = {
+  lineX: getLineRenderer(0),
+  lineY: getLineRenderer(1),
+  rect: {
+    createCover: function(controller, brushOption) {
+      function returnInput(range2) {
+        return range2;
+      }
+      return createBaseRectCover({
+        toRectRange: returnInput,
+        fromRectRange: returnInput
+      }, controller, brushOption, [["w"], ["e"], ["n"], ["s"], ["s", "e"], ["s", "w"], ["n", "e"], ["n", "w"]]);
+    },
+    getCreatingRange: function(localTrack) {
+      var ends = getTrackEnds(localTrack);
+      return formatRectRange(ends[1][0], ends[1][1], ends[0][0], ends[0][1]);
+    },
+    updateCoverShape: function(controller, cover, localRange, brushOption) {
+      updateBaseRect(controller, cover, localRange, brushOption);
+    },
+    updateCommon: updateCommon$1,
+    contain: mainShapeContain
+  },
+  polygon: {
+    createCover: function(controller, brushOption) {
+      var cover = new Group$4();
+      cover.add(new Polyline$3({
+        name: "main",
+        style: makeStyle(brushOption),
+        silent: true
+      }));
+      return cover;
+    },
+    getCreatingRange: function(localTrack) {
+      return localTrack;
+    },
+    endCreating: function(controller, cover) {
+      cover.remove(cover.childAt(0));
+      cover.add(new Polygon$1({
+        name: "main",
+        draggable: true,
+        drift: curry$1(driftPolygon, controller, cover),
+        ondragend: curry$1(trigger, controller, {
+          isEnd: true
+        })
+      }));
+    },
+    updateCoverShape: function(controller, cover, localRange, brushOption) {
+      cover.childAt(0).setShape({
+        points: clipByPanel(controller, cover, localRange)
+      });
+    },
+    updateCommon: updateCommon$1,
+    contain: mainShapeContain
+  }
+};
+function getLineRenderer(xyIndex) {
+  return {
+    createCover: function(controller, brushOption) {
+      return createBaseRectCover({
+        toRectRange: function(range2) {
+          var rectRange = [range2, [0, 100]];
+          xyIndex && rectRange.reverse();
+          return rectRange;
+        },
+        fromRectRange: function(rectRange) {
+          return rectRange[xyIndex];
+        }
+      }, controller, brushOption, [[["w"], ["e"]], [["n"], ["s"]]][xyIndex]);
+    },
+    getCreatingRange: function(localTrack) {
+      var ends = getTrackEnds(localTrack);
+      var min3 = mathMin$1(ends[0][xyIndex], ends[1][xyIndex]);
+      var max3 = mathMax$1(ends[0][xyIndex], ends[1][xyIndex]);
+      return [min3, max3];
+    },
+    updateCoverShape: function(controller, cover, localRange, brushOption) {
+      var otherExtent;
+      var panel = getPanelByCover(controller, cover);
+      if (panel !== BRUSH_PANEL_GLOBAL && panel.getLinearBrushOtherExtent) {
+        otherExtent = panel.getLinearBrushOtherExtent(xyIndex);
+      } else {
+        var zr = controller._zr;
+        otherExtent = [0, [zr.getWidth(), zr.getHeight()][1 - xyIndex]];
+      }
+      var rectRange = [localRange, otherExtent];
+      xyIndex && rectRange.reverse();
+      updateBaseRect(controller, cover, rectRange, brushOption);
+    },
+    updateCommon: updateCommon$1,
+    contain: mainShapeContain
+  };
+}
+const BrushController$1 = BrushController;
+function makeRectPanelClipPath(rect) {
+  rect = normalizeRect(rect);
+  return function(localPoints) {
+    return clipPointsByRect(localPoints, rect);
+  };
+}
+function makeLinearBrushOtherExtent(rect, specifiedXYIndex) {
+  rect = normalizeRect(rect);
+  return function(xyIndex) {
+    var idx = specifiedXYIndex != null ? specifiedXYIndex : xyIndex;
+    var brushWidth = idx ? rect.width : rect.height;
+    var base2 = idx ? rect.x : rect.y;
+    return [base2, base2 + (brushWidth || 0)];
+  };
+}
+function makeRectIsTargetByCursor(rect, api2, targetModel) {
+  var boundingRect = normalizeRect(rect);
+  return function(e2, localCursorPoint) {
+    return boundingRect.contain(localCursorPoint[0], localCursorPoint[1]) && !onIrrelevantElement(e2, api2, targetModel);
+  };
+}
+function normalizeRect(rect) {
+  return BoundingRect$1.create(rect);
+}
+var elementList$1 = ["axisLine", "axisTickLabel", "axisName"];
+var ParallelAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(ParallelAxisView2, _super);
+    function ParallelAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ParallelAxisView2.type;
+      return _this;
+    }
+    ParallelAxisView2.prototype.init = function(ecModel, api2) {
+      _super.prototype.init.apply(this, arguments);
+      (this._brushController = new BrushController$1(api2.getZr())).on("brush", bind$2(this._onBrush, this));
+    };
+    ParallelAxisView2.prototype.render = function(axisModel, ecModel, api2, payload) {
+      if (fromAxisAreaSelect(axisModel, ecModel, payload)) {
+        return;
+      }
+      this.axisModel = axisModel;
+      this.api = api2;
+      this.group.removeAll();
+      var oldAxisGroup = this._axisGroup;
+      this._axisGroup = new Group$4();
+      this.group.add(this._axisGroup);
+      if (!axisModel.get("show")) {
+        return;
+      }
+      var coordSysModel = getCoordSysModel(axisModel, ecModel);
+      var coordSys = coordSysModel.coordinateSystem;
+      var areaSelectStyle = axisModel.getAreaSelectStyle();
+      var areaWidth = areaSelectStyle.width;
+      var dim = axisModel.axis.dim;
+      var axisLayout = coordSys.getAxisLayout(dim);
+      var builderOpt = extend$1({
+        strokeContainThreshold: areaWidth
+      }, axisLayout);
+      var axisBuilder = new AxisBuilder$1(axisModel, builderOpt);
+      each$f(elementList$1, axisBuilder.add, axisBuilder);
+      this._axisGroup.add(axisBuilder.getGroup());
+      this._refreshBrushController(builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api2);
+      groupTransition(oldAxisGroup, this._axisGroup, axisModel);
+    };
+    ParallelAxisView2.prototype._refreshBrushController = function(builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api2) {
+      var extent3 = axisModel.axis.getExtent();
+      var extentLen = extent3[1] - extent3[0];
+      var extra = Math.min(30, Math.abs(extentLen) * 0.1);
+      var rect = BoundingRect$1.create({
+        x: extent3[0],
+        y: -areaWidth / 2,
+        width: extentLen,
+        height: areaWidth
+      });
+      rect.x -= extra;
+      rect.width += 2 * extra;
+      this._brushController.mount({
+        enableGlobalPan: true,
+        rotation: builderOpt.rotation,
+        x: builderOpt.position[0],
+        y: builderOpt.position[1]
+      }).setPanels([{
+        panelId: "pl",
+        clipPath: makeRectPanelClipPath(rect),
+        isTargetByCursor: makeRectIsTargetByCursor(rect, api2, coordSysModel),
+        getLinearBrushOtherExtent: makeLinearBrushOtherExtent(rect, 0)
+      }]).enableBrush({
+        brushType: "lineX",
+        brushStyle: areaSelectStyle,
+        removeOnClick: true
+      }).updateCovers(getCoverInfoList(axisModel));
+    };
+    ParallelAxisView2.prototype._onBrush = function(eventParam) {
+      var coverInfoList = eventParam.areas;
+      var axisModel = this.axisModel;
+      var axis2 = axisModel.axis;
+      var intervals = map$1(coverInfoList, function(coverInfo) {
+        return [axis2.coordToData(coverInfo.range[0], true), axis2.coordToData(coverInfo.range[1], true)];
+      });
+      if (!axisModel.option.realtime === eventParam.isEnd || eventParam.removeOnClick) {
+        this.api.dispatchAction({
+          type: "axisAreaSelect",
+          parallelAxisId: axisModel.id,
+          intervals
+        });
+      }
+    };
+    ParallelAxisView2.prototype.dispose = function() {
+      this._brushController.dispose();
+    };
+    ParallelAxisView2.type = "parallelAxis";
+    return ParallelAxisView2;
+  }(ComponentView$1)
+);
+function fromAxisAreaSelect(axisModel, ecModel, payload) {
+  return payload && payload.type === "axisAreaSelect" && ecModel.findComponents({
+    mainType: "parallelAxis",
+    query: payload
+  })[0] === axisModel;
+}
+function getCoverInfoList(axisModel) {
+  var axis2 = axisModel.axis;
+  return map$1(axisModel.activeIntervals, function(interval) {
+    return {
+      brushType: "lineX",
+      panelId: "pl",
+      range: [axis2.dataToCoord(interval[0], true), axis2.dataToCoord(interval[1], true)]
+    };
+  });
+}
+function getCoordSysModel(axisModel, ecModel) {
+  return ecModel.getComponent("parallel", axisModel.get("parallelIndex"));
+}
+const ParallelAxisView$1 = ParallelAxisView;
+var actionInfo = {
+  type: "axisAreaSelect",
+  event: "axisAreaSelected"
+  // update: 'updateVisual'
+};
+function installParallelActions(registers) {
+  registers.registerAction(actionInfo, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "parallelAxis",
+      query: payload
+    }, function(parallelAxisModel) {
+      parallelAxisModel.axis.model.setActiveIntervals(payload.intervals);
+    });
+  });
+  registers.registerAction("parallelAxisExpand", function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "parallel",
+      query: payload
+    }, function(parallelModel) {
+      parallelModel.setAxisExpand(payload);
+    });
+  });
+}
+var defaultAxisOption = {
+  type: "value",
+  areaSelectStyle: {
+    width: 20,
+    borderWidth: 1,
+    borderColor: "rgba(160,197,232)",
+    color: "rgba(160,197,232)",
+    opacity: 0.3
+  },
+  realtime: true,
+  z: 10
+};
+function install$C(registers) {
+  registers.registerComponentView(ParallelView$1);
+  registers.registerComponentModel(ParallelModel$1);
+  registers.registerCoordinateSystem("parallel", parallelCoordSysCreator$1);
+  registers.registerPreprocessor(parallelPreprocessor);
+  registers.registerComponentModel(ParallelAxisModel$1);
+  registers.registerComponentView(ParallelAxisView$1);
+  axisModelCreator(registers, "parallel", ParallelAxisModel$1, defaultAxisOption);
+  installParallelActions(registers);
+}
+function install$B(registers) {
+  use(install$C);
+  registers.registerChartView(ParallelView$3);
+  registers.registerSeriesModel(ParallelSeriesModel$1);
+  registers.registerVisual(registers.PRIORITY.VISUAL.BRUSH, parallelVisual$1);
+}
+var SankeyPathShape = (
+  /** @class */
+  function() {
+    function SankeyPathShape2() {
+      this.x1 = 0;
+      this.y1 = 0;
+      this.x2 = 0;
+      this.y2 = 0;
+      this.cpx1 = 0;
+      this.cpy1 = 0;
+      this.cpx2 = 0;
+      this.cpy2 = 0;
+      this.extent = 0;
+    }
+    return SankeyPathShape2;
+  }()
+);
+var SankeyPath = (
+  /** @class */
+  function(_super) {
+    __extends(SankeyPath2, _super);
+    function SankeyPath2(opts2) {
+      return _super.call(this, opts2) || this;
+    }
+    SankeyPath2.prototype.getDefaultShape = function() {
+      return new SankeyPathShape();
+    };
+    SankeyPath2.prototype.buildPath = function(ctx, shape) {
+      var extent3 = shape.extent;
+      ctx.moveTo(shape.x1, shape.y1);
+      ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);
+      if (shape.orient === "vertical") {
+        ctx.lineTo(shape.x2 + extent3, shape.y2);
+        ctx.bezierCurveTo(shape.cpx2 + extent3, shape.cpy2, shape.cpx1 + extent3, shape.cpy1, shape.x1 + extent3, shape.y1);
+      } else {
+        ctx.lineTo(shape.x2, shape.y2 + extent3);
+        ctx.bezierCurveTo(shape.cpx2, shape.cpy2 + extent3, shape.cpx1, shape.cpy1 + extent3, shape.x1, shape.y1 + extent3);
+      }
+      ctx.closePath();
+    };
+    SankeyPath2.prototype.highlight = function() {
+      enterEmphasis(this);
+    };
+    SankeyPath2.prototype.downplay = function() {
+      leaveEmphasis(this);
+    };
+    return SankeyPath2;
+  }(Path$1)
+);
+var SankeyView = (
+  /** @class */
+  function(_super) {
+    __extends(SankeyView2, _super);
+    function SankeyView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SankeyView2.type;
+      _this._focusAdjacencyDisabled = false;
+      return _this;
+    }
+    SankeyView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var sankeyView = this;
+      var graph2 = seriesModel.getGraph();
+      var group = this.group;
+      var layoutInfo = seriesModel.layoutInfo;
+      var width = layoutInfo.width;
+      var height = layoutInfo.height;
+      var nodeData = seriesModel.getData();
+      var edgeData = seriesModel.getData("edge");
+      var orient = seriesModel.get("orient");
+      this._model = seriesModel;
+      group.removeAll();
+      group.x = layoutInfo.x;
+      group.y = layoutInfo.y;
+      graph2.eachEdge(function(edge) {
+        var curve2 = new SankeyPath();
+        var ecData = getECData(curve2);
+        ecData.dataIndex = edge.dataIndex;
+        ecData.seriesIndex = seriesModel.seriesIndex;
+        ecData.dataType = "edge";
+        var edgeModel = edge.getModel();
+        var lineStyleModel = edgeModel.getModel("lineStyle");
+        var curvature = lineStyleModel.get("curveness");
+        var n1Layout = edge.node1.getLayout();
+        var node1Model = edge.node1.getModel();
+        var dragX1 = node1Model.get("localX");
+        var dragY1 = node1Model.get("localY");
+        var n2Layout = edge.node2.getLayout();
+        var node2Model = edge.node2.getModel();
+        var dragX2 = node2Model.get("localX");
+        var dragY2 = node2Model.get("localY");
+        var edgeLayout = edge.getLayout();
+        var x1;
+        var y1;
+        var x2;
+        var y2;
+        var cpx1;
+        var cpy1;
+        var cpx2;
+        var cpy2;
+        curve2.shape.extent = Math.max(1, edgeLayout.dy);
+        curve2.shape.orient = orient;
+        if (orient === "vertical") {
+          x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + edgeLayout.sy;
+          y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + n1Layout.dy;
+          x2 = (dragX2 != null ? dragX2 * width : n2Layout.x) + edgeLayout.ty;
+          y2 = dragY2 != null ? dragY2 * height : n2Layout.y;
+          cpx1 = x1;
+          cpy1 = y1 * (1 - curvature) + y2 * curvature;
+          cpx2 = x2;
+          cpy2 = y1 * curvature + y2 * (1 - curvature);
+        } else {
+          x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + n1Layout.dx;
+          y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + edgeLayout.sy;
+          x2 = dragX2 != null ? dragX2 * width : n2Layout.x;
+          y2 = (dragY2 != null ? dragY2 * height : n2Layout.y) + edgeLayout.ty;
+          cpx1 = x1 * (1 - curvature) + x2 * curvature;
+          cpy1 = y1;
+          cpx2 = x1 * curvature + x2 * (1 - curvature);
+          cpy2 = y2;
+        }
+        curve2.setShape({
+          x1,
+          y1,
+          x2,
+          y2,
+          cpx1,
+          cpy1,
+          cpx2,
+          cpy2
+        });
+        curve2.useStyle(lineStyleModel.getItemStyle());
+        applyCurveStyle(curve2.style, orient, edge);
+        var defaultEdgeLabelText = "" + edgeModel.get("value");
+        var edgeLabelStateModels = getLabelStatesModels(edgeModel, "edgeLabel");
+        setLabelStyle(curve2, edgeLabelStateModels, {
+          labelFetcher: {
+            getFormattedLabel: function(dataIndex, stateName, dataType, labelDimIndex, formatter, extendParams) {
+              return seriesModel.getFormattedLabel(
+                dataIndex,
+                stateName,
+                "edge",
+                labelDimIndex,
+                // ensure edgeLabel formatter is provided
+                // to prevent the inheritance from `label.formatter` of the series
+                retrieve3(formatter, edgeLabelStateModels.normal && edgeLabelStateModels.normal.get("formatter"), defaultEdgeLabelText),
+                extendParams
+              );
+            }
+          },
+          labelDataIndex: edge.dataIndex,
+          defaultText: defaultEdgeLabelText
+        });
+        curve2.setTextConfig({
+          position: "inside"
+        });
+        var emphasisModel = edgeModel.getModel("emphasis");
+        setStatesStylesFromModel(curve2, edgeModel, "lineStyle", function(model2) {
+          var style2 = model2.getItemStyle();
+          applyCurveStyle(style2, orient, edge);
+          return style2;
+        });
+        group.add(curve2);
+        edgeData.setItemGraphicEl(edge.dataIndex, curve2);
+        var focus2 = emphasisModel.get("focus");
+        toggleHoverEmphasis(curve2, focus2 === "adjacency" ? edge.getAdjacentDataIndices() : focus2 === "trajectory" ? edge.getTrajectoryDataIndices() : focus2, emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+      });
+      graph2.eachNode(function(node) {
+        var layout2 = node.getLayout();
+        var itemModel = node.getModel();
+        var dragX = itemModel.get("localX");
+        var dragY = itemModel.get("localY");
+        var emphasisModel = itemModel.getModel("emphasis");
+        var rect = new Rect$3({
+          shape: {
+            x: dragX != null ? dragX * width : layout2.x,
+            y: dragY != null ? dragY * height : layout2.y,
+            width: layout2.dx,
+            height: layout2.dy
+          },
+          style: itemModel.getModel("itemStyle").getItemStyle(),
+          z2: 10
+        });
+        setLabelStyle(rect, getLabelStatesModels(itemModel), {
+          labelFetcher: {
+            getFormattedLabel: function(dataIndex, stateName) {
+              return seriesModel.getFormattedLabel(dataIndex, stateName, "node");
+            }
+          },
+          labelDataIndex: node.dataIndex,
+          defaultText: node.id
+        });
+        rect.disableLabelAnimation = true;
+        rect.setStyle("fill", node.getVisual("color"));
+        rect.setStyle("decal", node.getVisual("style").decal);
+        setStatesStylesFromModel(rect, itemModel);
+        group.add(rect);
+        nodeData.setItemGraphicEl(node.dataIndex, rect);
+        getECData(rect).dataType = "node";
+        var focus2 = emphasisModel.get("focus");
+        toggleHoverEmphasis(rect, focus2 === "adjacency" ? node.getAdjacentDataIndices() : focus2 === "trajectory" ? node.getTrajectoryDataIndices() : focus2, emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+      });
+      nodeData.eachItemGraphicEl(function(el, dataIndex) {
+        var itemModel = nodeData.getItemModel(dataIndex);
+        if (itemModel.get("draggable")) {
+          el.drift = function(dx, dy) {
+            sankeyView._focusAdjacencyDisabled = true;
+            this.shape.x += dx;
+            this.shape.y += dy;
+            this.dirty();
+            api2.dispatchAction({
+              type: "dragNode",
+              seriesId: seriesModel.id,
+              dataIndex: nodeData.getRawIndex(dataIndex),
+              localX: this.shape.x / width,
+              localY: this.shape.y / height
+            });
+          };
+          el.ondragend = function() {
+            sankeyView._focusAdjacencyDisabled = false;
+          };
+          el.draggable = true;
+          el.cursor = "move";
+        }
+      });
+      if (!this._data && seriesModel.isAnimationEnabled()) {
+        group.setClipPath(createGridClipShape$1(group.getBoundingRect(), seriesModel, function() {
+          group.removeClipPath();
+        }));
+      }
+      this._data = seriesModel.getData();
+    };
+    SankeyView2.prototype.dispose = function() {
+    };
+    SankeyView2.type = "sankey";
+    return SankeyView2;
+  }(ChartView$1)
+);
+function applyCurveStyle(curveProps, orient, edge) {
+  switch (curveProps.fill) {
+    case "source":
+      curveProps.fill = edge.node1.getVisual("color");
+      curveProps.decal = edge.node1.getVisual("style").decal;
+      break;
+    case "target":
+      curveProps.fill = edge.node2.getVisual("color");
+      curveProps.decal = edge.node2.getVisual("style").decal;
+      break;
+    case "gradient":
+      var sourceColor = edge.node1.getVisual("color");
+      var targetColor = edge.node2.getVisual("color");
+      if (isString$1(sourceColor) && isString$1(targetColor)) {
+        curveProps.fill = new LinearGradient$1(0, 0, +(orient === "horizontal"), +(orient === "vertical"), [{
+          color: sourceColor,
+          offset: 0
+        }, {
+          color: targetColor,
+          offset: 1
+        }]);
+      }
+  }
+}
+function createGridClipShape$1(rect, seriesModel, cb) {
+  var rectEl = new Rect$3({
+    shape: {
+      x: rect.x - 10,
+      y: rect.y - 10,
+      width: 0,
+      height: rect.height + 20
+    }
+  });
+  initProps(rectEl, {
+    shape: {
+      width: rect.width + 20
+    }
+  }, seriesModel, cb);
+  return rectEl;
+}
+const SankeyView$1 = SankeyView;
+var SankeySeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(SankeySeriesModel2, _super);
+    function SankeySeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SankeySeriesModel2.type;
+      return _this;
+    }
+    SankeySeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      var links = option.edges || option.links;
+      var nodes = option.data || option.nodes;
+      var levels = option.levels;
+      this.levelModels = [];
+      var levelModels = this.levelModels;
+      for (var i2 = 0; i2 < levels.length; i2++) {
+        if (levels[i2].depth != null && levels[i2].depth >= 0) {
+          levelModels[levels[i2].depth] = new Model$1(levels[i2], this, ecModel);
+        }
+      }
+      if (nodes && links) {
+        var graph2 = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);
+        return graph2.data;
+      }
+      function beforeLink(nodeData, edgeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var seriesModel = model2.parentModel;
+          var layout2 = seriesModel.getData().getItemLayout(idx);
+          if (layout2) {
+            var nodeDepth = layout2.depth;
+            var levelModel = seriesModel.levelModels[nodeDepth];
+            if (levelModel) {
+              model2.parentModel = levelModel;
+            }
+          }
+          return model2;
+        });
+        edgeData.wrapMethod("getItemModel", function(model2, idx) {
+          var seriesModel = model2.parentModel;
+          var edge = seriesModel.getGraph().getEdgeByIndex(idx);
+          var layout2 = edge.node1.getLayout();
+          if (layout2) {
+            var depth = layout2.depth;
+            var levelModel = seriesModel.levelModels[depth];
+            if (levelModel) {
+              model2.parentModel = levelModel;
+            }
+          }
+          return model2;
+        });
+      }
+    };
+    SankeySeriesModel2.prototype.setNodePosition = function(dataIndex, localPosition) {
+      var nodes = this.option.data || this.option.nodes;
+      var dataItem = nodes[dataIndex];
+      dataItem.localX = localPosition[0];
+      dataItem.localY = localPosition[1];
+    };
+    SankeySeriesModel2.prototype.getGraph = function() {
+      return this.getData().graph;
+    };
+    SankeySeriesModel2.prototype.getEdgeData = function() {
+      return this.getGraph().edgeData;
+    };
+    SankeySeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      function noValue(val) {
+        return isNaN(val) || val == null;
+      }
+      if (dataType === "edge") {
+        var params2 = this.getDataParams(dataIndex, dataType);
+        var rawDataOpt = params2.data;
+        var edgeValue = params2.value;
+        var edgeName = rawDataOpt.source + " -- " + rawDataOpt.target;
+        return createTooltipMarkup("nameValue", {
+          name: edgeName,
+          value: edgeValue,
+          noValue: noValue(edgeValue)
+        });
+      } else {
+        var node = this.getGraph().getNodeByIndex(dataIndex);
+        var value = node.getLayout().value;
+        var name_1 = this.getDataParams(dataIndex, dataType).data.name;
+        return createTooltipMarkup("nameValue", {
+          name: name_1 != null ? name_1 + "" : null,
+          value,
+          noValue: noValue(value)
+        });
+      }
+    };
+    SankeySeriesModel2.prototype.optionUpdated = function() {
+    };
+    SankeySeriesModel2.prototype.getDataParams = function(dataIndex, dataType) {
+      var params2 = _super.prototype.getDataParams.call(this, dataIndex, dataType);
+      if (params2.value == null && dataType === "node") {
+        var node = this.getGraph().getNodeByIndex(dataIndex);
+        var nodeValue = node.getLayout().value;
+        params2.value = nodeValue;
+      }
+      return params2;
+    };
+    SankeySeriesModel2.type = "series.sankey";
+    SankeySeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "view",
+      left: "5%",
+      top: "5%",
+      right: "20%",
+      bottom: "5%",
+      orient: "horizontal",
+      nodeWidth: 20,
+      nodeGap: 8,
+      draggable: true,
+      layoutIterations: 32,
+      label: {
+        show: true,
+        position: "right",
+        fontSize: 12
+      },
+      edgeLabel: {
+        show: false,
+        fontSize: 12
+      },
+      levels: [],
+      nodeAlign: "justify",
+      lineStyle: {
+        color: "#314656",
+        opacity: 0.2,
+        curveness: 0.5
+      },
+      emphasis: {
+        label: {
+          show: true
+        },
+        lineStyle: {
+          opacity: 0.5
+        }
+      },
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      },
+      animationEasing: "linear",
+      animationDuration: 1e3
+    };
+    return SankeySeriesModel2;
+  }(SeriesModel$1)
+);
+const SankeySeriesModel$1 = SankeySeriesModel;
+function sankeyLayout(ecModel, api2) {
+  ecModel.eachSeriesByType("sankey", function(seriesModel) {
+    var nodeWidth = seriesModel.get("nodeWidth");
+    var nodeGap = seriesModel.get("nodeGap");
+    var layoutInfo = getViewRect$1(seriesModel, api2);
+    seriesModel.layoutInfo = layoutInfo;
+    var width = layoutInfo.width;
+    var height = layoutInfo.height;
+    var graph2 = seriesModel.getGraph();
+    var nodes = graph2.nodes;
+    var edges = graph2.edges;
+    computeNodeValues(nodes);
+    var filteredNodes = filter(nodes, function(node) {
+      return node.getLayout().value === 0;
+    });
+    var iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get("layoutIterations");
+    var orient = seriesModel.get("orient");
+    var nodeAlign = seriesModel.get("nodeAlign");
+    layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign);
+  });
+}
+function getViewRect$1(seriesModel, api2) {
+  return getLayoutRect(seriesModel.getBoxLayoutParams(), {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  });
+}
+function layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign) {
+  computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign);
+  computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient);
+  computeEdgeDepths(nodes, orient);
+}
+function computeNodeValues(nodes) {
+  each$f(nodes, function(node) {
+    var value1 = sum(node.outEdges, getEdgeValue);
+    var value2 = sum(node.inEdges, getEdgeValue);
+    var nodeRawValue = node.getValue() || 0;
+    var value = Math.max(value1, value2, nodeRawValue);
+    node.setLayout({
+      value
+    }, true);
+  });
+}
+function computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign) {
+  var remainEdges = [];
+  var indegreeArr = [];
+  var zeroIndegrees = [];
+  var nextTargetNode = [];
+  var x2 = 0;
+  for (var i2 = 0; i2 < edges.length; i2++) {
+    remainEdges[i2] = 1;
+  }
+  for (var i2 = 0; i2 < nodes.length; i2++) {
+    indegreeArr[i2] = nodes[i2].inEdges.length;
+    if (indegreeArr[i2] === 0) {
+      zeroIndegrees.push(nodes[i2]);
+    }
+  }
+  var maxNodeDepth = -1;
+  while (zeroIndegrees.length) {
+    for (var idx = 0; idx < zeroIndegrees.length; idx++) {
+      var node = zeroIndegrees[idx];
+      var item = node.hostGraph.data.getRawDataItem(node.dataIndex);
+      var isItemDepth = item.depth != null && item.depth >= 0;
+      if (isItemDepth && item.depth > maxNodeDepth) {
+        maxNodeDepth = item.depth;
+      }
+      node.setLayout({
+        depth: isItemDepth ? item.depth : x2
+      }, true);
+      orient === "vertical" ? node.setLayout({
+        dy: nodeWidth
+      }, true) : node.setLayout({
+        dx: nodeWidth
+      }, true);
+      for (var edgeIdx = 0; edgeIdx < node.outEdges.length; edgeIdx++) {
+        var edge = node.outEdges[edgeIdx];
+        var indexEdge = edges.indexOf(edge);
+        remainEdges[indexEdge] = 0;
+        var targetNode = edge.node2;
+        var nodeIndex = nodes.indexOf(targetNode);
+        if (--indegreeArr[nodeIndex] === 0 && nextTargetNode.indexOf(targetNode) < 0) {
+          nextTargetNode.push(targetNode);
+        }
+      }
+    }
+    ++x2;
+    zeroIndegrees = nextTargetNode;
+    nextTargetNode = [];
+  }
+  for (var i2 = 0; i2 < remainEdges.length; i2++) {
+    if (remainEdges[i2] === 1) {
+      throw new Error("Sankey is a DAG, the original data has cycle!");
+    }
+  }
+  var maxDepth = maxNodeDepth > x2 - 1 ? maxNodeDepth : x2 - 1;
+  if (nodeAlign && nodeAlign !== "left") {
+    adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth);
+  }
+  var kx = orient === "vertical" ? (height - nodeWidth) / maxDepth : (width - nodeWidth) / maxDepth;
+  scaleNodeBreadths(nodes, kx, orient);
+}
+function isNodeDepth(node) {
+  var item = node.hostGraph.data.getRawDataItem(node.dataIndex);
+  return item.depth != null && item.depth >= 0;
+}
+function adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth) {
+  if (nodeAlign === "right") {
+    var nextSourceNode = [];
+    var remainNodes = nodes;
+    var nodeHeight = 0;
+    while (remainNodes.length) {
+      for (var i2 = 0; i2 < remainNodes.length; i2++) {
+        var node = remainNodes[i2];
+        node.setLayout({
+          skNodeHeight: nodeHeight
+        }, true);
+        for (var j2 = 0; j2 < node.inEdges.length; j2++) {
+          var edge = node.inEdges[j2];
+          if (nextSourceNode.indexOf(edge.node1) < 0) {
+            nextSourceNode.push(edge.node1);
+          }
+        }
+      }
+      remainNodes = nextSourceNode;
+      nextSourceNode = [];
+      ++nodeHeight;
+    }
+    each$f(nodes, function(node2) {
+      if (!isNodeDepth(node2)) {
+        node2.setLayout({
+          depth: Math.max(0, maxDepth - node2.getLayout().skNodeHeight)
+        }, true);
+      }
+    });
+  } else if (nodeAlign === "justify") {
+    moveSinksRight(nodes, maxDepth);
+  }
+}
+function moveSinksRight(nodes, maxDepth) {
+  each$f(nodes, function(node) {
+    if (!isNodeDepth(node) && !node.outEdges.length) {
+      node.setLayout({
+        depth: maxDepth
+      }, true);
+    }
+  });
+}
+function scaleNodeBreadths(nodes, kx, orient) {
+  each$f(nodes, function(node) {
+    var nodeDepth = node.getLayout().depth * kx;
+    orient === "vertical" ? node.setLayout({
+      y: nodeDepth
+    }, true) : node.setLayout({
+      x: nodeDepth
+    }, true);
+  });
+}
+function computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient) {
+  var nodesByBreadth = prepareNodesByBreadth(nodes, orient);
+  initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient);
+  resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);
+  for (var alpha = 1; iterations > 0; iterations--) {
+    alpha *= 0.99;
+    relaxRightToLeft(nodesByBreadth, alpha, orient);
+    resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);
+    relaxLeftToRight(nodesByBreadth, alpha, orient);
+    resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);
+  }
+}
+function prepareNodesByBreadth(nodes, orient) {
+  var nodesByBreadth = [];
+  var keyAttr = orient === "vertical" ? "y" : "x";
+  var groupResult = groupData(nodes, function(node) {
+    return node.getLayout()[keyAttr];
+  });
+  groupResult.keys.sort(function(a2, b2) {
+    return a2 - b2;
+  });
+  each$f(groupResult.keys, function(key2) {
+    nodesByBreadth.push(groupResult.buckets.get(key2));
+  });
+  return nodesByBreadth;
+}
+function initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient) {
+  var minKy = Infinity;
+  each$f(nodesByBreadth, function(nodes) {
+    var n2 = nodes.length;
+    var sum2 = 0;
+    each$f(nodes, function(node) {
+      sum2 += node.getLayout().value;
+    });
+    var ky = orient === "vertical" ? (width - (n2 - 1) * nodeGap) / sum2 : (height - (n2 - 1) * nodeGap) / sum2;
+    if (ky < minKy) {
+      minKy = ky;
+    }
+  });
+  each$f(nodesByBreadth, function(nodes) {
+    each$f(nodes, function(node, i2) {
+      var nodeDy = node.getLayout().value * minKy;
+      if (orient === "vertical") {
+        node.setLayout({
+          x: i2
+        }, true);
+        node.setLayout({
+          dx: nodeDy
+        }, true);
+      } else {
+        node.setLayout({
+          y: i2
+        }, true);
+        node.setLayout({
+          dy: nodeDy
+        }, true);
+      }
+    });
+  });
+  each$f(edges, function(edge) {
+    var edgeDy = +edge.getValue() * minKy;
+    edge.setLayout({
+      dy: edgeDy
+    }, true);
+  });
+}
+function resolveCollisions(nodesByBreadth, nodeGap, height, width, orient) {
+  var keyAttr = orient === "vertical" ? "x" : "y";
+  each$f(nodesByBreadth, function(nodes) {
+    nodes.sort(function(a2, b2) {
+      return a2.getLayout()[keyAttr] - b2.getLayout()[keyAttr];
+    });
+    var nodeX;
+    var node;
+    var dy;
+    var y0 = 0;
+    var n2 = nodes.length;
+    var nodeDyAttr = orient === "vertical" ? "dx" : "dy";
+    for (var i2 = 0; i2 < n2; i2++) {
+      node = nodes[i2];
+      dy = y0 - node.getLayout()[keyAttr];
+      if (dy > 0) {
+        nodeX = node.getLayout()[keyAttr] + dy;
+        orient === "vertical" ? node.setLayout({
+          x: nodeX
+        }, true) : node.setLayout({
+          y: nodeX
+        }, true);
+      }
+      y0 = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap;
+    }
+    var viewWidth = orient === "vertical" ? width : height;
+    dy = y0 - nodeGap - viewWidth;
+    if (dy > 0) {
+      nodeX = node.getLayout()[keyAttr] - dy;
+      orient === "vertical" ? node.setLayout({
+        x: nodeX
+      }, true) : node.setLayout({
+        y: nodeX
+      }, true);
+      y0 = nodeX;
+      for (var i2 = n2 - 2; i2 >= 0; --i2) {
+        node = nodes[i2];
+        dy = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap - y0;
+        if (dy > 0) {
+          nodeX = node.getLayout()[keyAttr] - dy;
+          orient === "vertical" ? node.setLayout({
+            x: nodeX
+          }, true) : node.setLayout({
+            y: nodeX
+          }, true);
+        }
+        y0 = node.getLayout()[keyAttr];
+      }
+    }
+  });
+}
+function relaxRightToLeft(nodesByBreadth, alpha, orient) {
+  each$f(nodesByBreadth.slice().reverse(), function(nodes) {
+    each$f(nodes, function(node) {
+      if (node.outEdges.length) {
+        var y2 = sum(node.outEdges, weightedTarget, orient) / sum(node.outEdges, getEdgeValue);
+        if (isNaN(y2)) {
+          var len2 = node.outEdges.length;
+          y2 = len2 ? sum(node.outEdges, centerTarget, orient) / len2 : 0;
+        }
+        if (orient === "vertical") {
+          var nodeX = node.getLayout().x + (y2 - center(node, orient)) * alpha;
+          node.setLayout({
+            x: nodeX
+          }, true);
+        } else {
+          var nodeY = node.getLayout().y + (y2 - center(node, orient)) * alpha;
+          node.setLayout({
+            y: nodeY
+          }, true);
+        }
+      }
+    });
+  });
+}
+function weightedTarget(edge, orient) {
+  return center(edge.node2, orient) * edge.getValue();
+}
+function centerTarget(edge, orient) {
+  return center(edge.node2, orient);
+}
+function weightedSource(edge, orient) {
+  return center(edge.node1, orient) * edge.getValue();
+}
+function centerSource(edge, orient) {
+  return center(edge.node1, orient);
+}
+function center(node, orient) {
+  return orient === "vertical" ? node.getLayout().x + node.getLayout().dx / 2 : node.getLayout().y + node.getLayout().dy / 2;
+}
+function getEdgeValue(edge) {
+  return edge.getValue();
+}
+function sum(array, cb, orient) {
+  var sum2 = 0;
+  var len2 = array.length;
+  var i2 = -1;
+  while (++i2 < len2) {
+    var value = +cb(array[i2], orient);
+    if (!isNaN(value)) {
+      sum2 += value;
+    }
+  }
+  return sum2;
+}
+function relaxLeftToRight(nodesByBreadth, alpha, orient) {
+  each$f(nodesByBreadth, function(nodes) {
+    each$f(nodes, function(node) {
+      if (node.inEdges.length) {
+        var y2 = sum(node.inEdges, weightedSource, orient) / sum(node.inEdges, getEdgeValue);
+        if (isNaN(y2)) {
+          var len2 = node.inEdges.length;
+          y2 = len2 ? sum(node.inEdges, centerSource, orient) / len2 : 0;
+        }
+        if (orient === "vertical") {
+          var nodeX = node.getLayout().x + (y2 - center(node, orient)) * alpha;
+          node.setLayout({
+            x: nodeX
+          }, true);
+        } else {
+          var nodeY = node.getLayout().y + (y2 - center(node, orient)) * alpha;
+          node.setLayout({
+            y: nodeY
+          }, true);
+        }
+      }
+    });
+  });
+}
+function computeEdgeDepths(nodes, orient) {
+  var keyAttr = orient === "vertical" ? "x" : "y";
+  each$f(nodes, function(node) {
+    node.outEdges.sort(function(a2, b2) {
+      return a2.node2.getLayout()[keyAttr] - b2.node2.getLayout()[keyAttr];
+    });
+    node.inEdges.sort(function(a2, b2) {
+      return a2.node1.getLayout()[keyAttr] - b2.node1.getLayout()[keyAttr];
+    });
+  });
+  each$f(nodes, function(node) {
+    var sy = 0;
+    var ty = 0;
+    each$f(node.outEdges, function(edge) {
+      edge.setLayout({
+        sy
+      }, true);
+      sy += edge.getLayout().dy;
+    });
+    each$f(node.inEdges, function(edge) {
+      edge.setLayout({
+        ty
+      }, true);
+      ty += edge.getLayout().dy;
+    });
+  });
+}
+function sankeyVisual(ecModel) {
+  ecModel.eachSeriesByType("sankey", function(seriesModel) {
+    var graph2 = seriesModel.getGraph();
+    var nodes = graph2.nodes;
+    var edges = graph2.edges;
+    if (nodes.length) {
+      var minValue_1 = Infinity;
+      var maxValue_1 = -Infinity;
+      each$f(nodes, function(node) {
+        var nodeValue = node.getLayout().value;
+        if (nodeValue < minValue_1) {
+          minValue_1 = nodeValue;
+        }
+        if (nodeValue > maxValue_1) {
+          maxValue_1 = nodeValue;
+        }
+      });
+      each$f(nodes, function(node) {
+        var mapping3 = new VisualMapping$1({
+          type: "color",
+          mappingMethod: "linear",
+          dataExtent: [minValue_1, maxValue_1],
+          visual: seriesModel.get("color")
+        });
+        var mapValueToColor = mapping3.mapValueToVisual(node.getLayout().value);
+        var customColor = node.getModel().get(["itemStyle", "color"]);
+        if (customColor != null) {
+          node.setVisual("color", customColor);
+          node.setVisual("style", {
+            fill: customColor
+          });
+        } else {
+          node.setVisual("color", mapValueToColor);
+          node.setVisual("style", {
+            fill: mapValueToColor
+          });
+        }
+      });
+    }
+    if (edges.length) {
+      each$f(edges, function(edge) {
+        var edgeStyle = edge.getModel().get("lineStyle");
+        edge.setVisual("style", edgeStyle);
+      });
+    }
+  });
+}
+function install$A(registers) {
+  registers.registerChartView(SankeyView$1);
+  registers.registerSeriesModel(SankeySeriesModel$1);
+  registers.registerLayout(sankeyLayout);
+  registers.registerVisual(sankeyVisual);
+  registers.registerAction({
+    type: "dragNode",
+    event: "dragnode",
+    // here can only use 'update' now, other value is not support in echarts.
+    update: "update"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sankey",
+      query: payload
+    }, function(seriesModel) {
+      seriesModel.setNodePosition(payload.dataIndex, [payload.localX, payload.localY]);
+    });
+  });
+}
+var WhiskerBoxCommonMixin = (
+  /** @class */
+  function() {
+    function WhiskerBoxCommonMixin2() {
+    }
+    WhiskerBoxCommonMixin2.prototype.getInitialData = function(option, ecModel) {
+      var ordinalMeta;
+      var xAxisModel = ecModel.getComponent("xAxis", this.get("xAxisIndex"));
+      var yAxisModel = ecModel.getComponent("yAxis", this.get("yAxisIndex"));
+      var xAxisType = xAxisModel.get("type");
+      var yAxisType = yAxisModel.get("type");
+      var addOrdinal;
+      if (xAxisType === "category") {
+        option.layout = "horizontal";
+        ordinalMeta = xAxisModel.getOrdinalMeta();
+        addOrdinal = true;
+      } else if (yAxisType === "category") {
+        option.layout = "vertical";
+        ordinalMeta = yAxisModel.getOrdinalMeta();
+        addOrdinal = true;
+      } else {
+        option.layout = option.layout || "horizontal";
+      }
+      var coordDims = ["x", "y"];
+      var baseAxisDimIndex = option.layout === "horizontal" ? 0 : 1;
+      var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];
+      var otherAxisDim = coordDims[1 - baseAxisDimIndex];
+      var axisModels = [xAxisModel, yAxisModel];
+      var baseAxisType = axisModels[baseAxisDimIndex].get("type");
+      var otherAxisType = axisModels[1 - baseAxisDimIndex].get("type");
+      var data2 = option.data;
+      if (data2 && addOrdinal) {
+        var newOptionData_1 = [];
+        each$f(data2, function(item, index3) {
+          var newItem;
+          if (isArray$2(item)) {
+            newItem = item.slice();
+            item.unshift(index3);
+          } else if (isArray$2(item.value)) {
+            newItem = extend$1({}, item);
+            newItem.value = newItem.value.slice();
+            item.value.unshift(index3);
+          } else {
+            newItem = item;
+          }
+          newOptionData_1.push(newItem);
+        });
+        option.data = newOptionData_1;
+      }
+      var defaultValueDimensions = this.defaultValueDimensions;
+      var coordDimensions = [{
+        name: baseAxisDim,
+        type: getDimensionTypeByAxis(baseAxisType),
+        ordinalMeta,
+        otherDims: {
+          tooltip: false,
+          itemName: 0
+        },
+        dimsDef: ["base"]
+      }, {
+        name: otherAxisDim,
+        type: getDimensionTypeByAxis(otherAxisType),
+        dimsDef: defaultValueDimensions.slice()
+      }];
+      return createSeriesDataSimply(this, {
+        coordDimensions,
+        dimensionsCount: defaultValueDimensions.length + 1,
+        encodeDefaulter: curry$1(makeSeriesEncodeForAxisCoordSys, coordDimensions, this)
+      });
+    };
+    WhiskerBoxCommonMixin2.prototype.getBaseAxis = function() {
+      var dim = this._baseAxisDim;
+      return this.ecModel.getComponent(dim + "Axis", this.get(dim + "AxisIndex")).axis;
+    };
+    return WhiskerBoxCommonMixin2;
+  }()
+);
+var BoxplotSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(BoxplotSeriesModel2, _super);
+    function BoxplotSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = BoxplotSeriesModel2.type;
+      _this.defaultValueDimensions = [{
+        name: "min",
+        defaultTooltip: true
+      }, {
+        name: "Q1",
+        defaultTooltip: true
+      }, {
+        name: "median",
+        defaultTooltip: true
+      }, {
+        name: "Q3",
+        defaultTooltip: true
+      }, {
+        name: "max",
+        defaultTooltip: true
+      }];
+      _this.visualDrawType = "stroke";
+      return _this;
+    }
+    BoxplotSeriesModel2.type = "series.boxplot";
+    BoxplotSeriesModel2.dependencies = ["xAxis", "yAxis", "grid"];
+    BoxplotSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      layout: null,
+      boxWidth: [7, 50],
+      itemStyle: {
+        color: "#fff",
+        borderWidth: 1
+      },
+      emphasis: {
+        scale: true,
+        itemStyle: {
+          borderWidth: 2,
+          shadowBlur: 5,
+          shadowOffsetX: 1,
+          shadowOffsetY: 1,
+          shadowColor: "rgba(0,0,0,0.2)"
+        }
+      },
+      animationDuration: 800
+    };
+    return BoxplotSeriesModel2;
+  }(SeriesModel$1)
+);
+mixin(BoxplotSeriesModel, WhiskerBoxCommonMixin, true);
+const BoxplotSeriesModel$1 = BoxplotSeriesModel;
+var BoxplotView = (
+  /** @class */
+  function(_super) {
+    __extends(BoxplotView2, _super);
+    function BoxplotView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = BoxplotView2.type;
+      return _this;
+    }
+    BoxplotView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var group = this.group;
+      var oldData = this._data;
+      if (!this._data) {
+        group.removeAll();
+      }
+      var constDim = seriesModel.get("layout") === "horizontal" ? 1 : 0;
+      data2.diff(oldData).add(function(newIdx) {
+        if (data2.hasValue(newIdx)) {
+          var itemLayout = data2.getItemLayout(newIdx);
+          var symbolEl = createNormalBox$1(itemLayout, data2, newIdx, constDim, true);
+          data2.setItemGraphicEl(newIdx, symbolEl);
+          group.add(symbolEl);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var symbolEl = oldData.getItemGraphicEl(oldIdx);
+        if (!data2.hasValue(newIdx)) {
+          group.remove(symbolEl);
+          return;
+        }
+        var itemLayout = data2.getItemLayout(newIdx);
+        if (!symbolEl) {
+          symbolEl = createNormalBox$1(itemLayout, data2, newIdx, constDim);
+        } else {
+          saveOldStyle(symbolEl);
+          updateNormalBoxData(itemLayout, symbolEl, data2, newIdx);
+        }
+        group.add(symbolEl);
+        data2.setItemGraphicEl(newIdx, symbolEl);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && group.remove(el);
+      }).execute();
+      this._data = data2;
+    };
+    BoxplotView2.prototype.remove = function(ecModel) {
+      var group = this.group;
+      var data2 = this._data;
+      this._data = null;
+      data2 && data2.eachItemGraphicEl(function(el) {
+        el && group.remove(el);
+      });
+    };
+    BoxplotView2.type = "boxplot";
+    return BoxplotView2;
+  }(ChartView$1)
+);
+var BoxPathShape = (
+  /** @class */
+  function() {
+    function BoxPathShape2() {
+    }
+    return BoxPathShape2;
+  }()
+);
+var BoxPath = (
+  /** @class */
+  function(_super) {
+    __extends(BoxPath2, _super);
+    function BoxPath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "boxplotBoxPath";
+      return _this;
+    }
+    BoxPath2.prototype.getDefaultShape = function() {
+      return new BoxPathShape();
+    };
+    BoxPath2.prototype.buildPath = function(ctx, shape) {
+      var ends = shape.points;
+      var i2 = 0;
+      ctx.moveTo(ends[i2][0], ends[i2][1]);
+      i2++;
+      for (; i2 < 4; i2++) {
+        ctx.lineTo(ends[i2][0], ends[i2][1]);
+      }
+      ctx.closePath();
+      for (; i2 < ends.length; i2++) {
+        ctx.moveTo(ends[i2][0], ends[i2][1]);
+        i2++;
+        ctx.lineTo(ends[i2][0], ends[i2][1]);
+      }
+    };
+    return BoxPath2;
+  }(Path$1)
+);
+function createNormalBox$1(itemLayout, data2, dataIndex, constDim, isInit) {
+  var ends = itemLayout.ends;
+  var el = new BoxPath({
+    shape: {
+      points: isInit ? transInit$1(ends, constDim, itemLayout) : ends
+    }
+  });
+  updateNormalBoxData(itemLayout, el, data2, dataIndex, isInit);
+  return el;
+}
+function updateNormalBoxData(itemLayout, el, data2, dataIndex, isInit) {
+  var seriesModel = data2.hostModel;
+  var updateMethod = graphic$1[isInit ? "initProps" : "updateProps"];
+  updateMethod(el, {
+    shape: {
+      points: itemLayout.ends
+    }
+  }, seriesModel, dataIndex);
+  el.useStyle(data2.getItemVisual(dataIndex, "style"));
+  el.style.strokeNoScale = true;
+  el.z2 = 100;
+  var itemModel = data2.getItemModel(dataIndex);
+  var emphasisModel = itemModel.getModel("emphasis");
+  setStatesStylesFromModel(el, itemModel);
+  toggleHoverEmphasis(el, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+}
+function transInit$1(points2, dim, itemLayout) {
+  return map$1(points2, function(point) {
+    point = point.slice();
+    point[dim] = itemLayout.initBaseline;
+    return point;
+  });
+}
+const BoxplotView$1 = BoxplotView;
+var each$9 = each$f;
+function boxplotLayout(ecModel) {
+  var groupResult = groupSeriesByAxis(ecModel);
+  each$9(groupResult, function(groupItem) {
+    var seriesModels = groupItem.seriesModels;
+    if (!seriesModels.length) {
+      return;
+    }
+    calculateBase(groupItem);
+    each$9(seriesModels, function(seriesModel, idx) {
+      layoutSingleSeries(seriesModel, groupItem.boxOffsetList[idx], groupItem.boxWidthList[idx]);
+    });
+  });
+}
+function groupSeriesByAxis(ecModel) {
+  var result2 = [];
+  var axisList = [];
+  ecModel.eachSeriesByType("boxplot", function(seriesModel) {
+    var baseAxis = seriesModel.getBaseAxis();
+    var idx = indexOf(axisList, baseAxis);
+    if (idx < 0) {
+      idx = axisList.length;
+      axisList[idx] = baseAxis;
+      result2[idx] = {
+        axis: baseAxis,
+        seriesModels: []
+      };
+    }
+    result2[idx].seriesModels.push(seriesModel);
+  });
+  return result2;
+}
+function calculateBase(groupItem) {
+  var baseAxis = groupItem.axis;
+  var seriesModels = groupItem.seriesModels;
+  var seriesCount = seriesModels.length;
+  var boxWidthList = groupItem.boxWidthList = [];
+  var boxOffsetList = groupItem.boxOffsetList = [];
+  var boundList = [];
+  var bandWidth;
+  if (baseAxis.type === "category") {
+    bandWidth = baseAxis.getBandWidth();
+  } else {
+    var maxDataCount_1 = 0;
+    each$9(seriesModels, function(seriesModel) {
+      maxDataCount_1 = Math.max(maxDataCount_1, seriesModel.getData().count());
+    });
+    var extent3 = baseAxis.getExtent();
+    bandWidth = Math.abs(extent3[1] - extent3[0]) / maxDataCount_1;
+  }
+  each$9(seriesModels, function(seriesModel) {
+    var boxWidthBound = seriesModel.get("boxWidth");
+    if (!isArray$2(boxWidthBound)) {
+      boxWidthBound = [boxWidthBound, boxWidthBound];
+    }
+    boundList.push([parsePercent(boxWidthBound[0], bandWidth) || 0, parsePercent(boxWidthBound[1], bandWidth) || 0]);
+  });
+  var availableWidth = bandWidth * 0.8 - 2;
+  var boxGap = availableWidth / seriesCount * 0.3;
+  var boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;
+  var base2 = boxWidth / 2 - availableWidth / 2;
+  each$9(seriesModels, function(seriesModel, idx) {
+    boxOffsetList.push(base2);
+    base2 += boxGap + boxWidth;
+    boxWidthList.push(Math.min(Math.max(boxWidth, boundList[idx][0]), boundList[idx][1]));
+  });
+}
+function layoutSingleSeries(seriesModel, offset2, boxWidth) {
+  var coordSys = seriesModel.coordinateSystem;
+  var data2 = seriesModel.getData();
+  var halfWidth = boxWidth / 2;
+  var cDimIdx = seriesModel.get("layout") === "horizontal" ? 0 : 1;
+  var vDimIdx = 1 - cDimIdx;
+  var coordDims = ["x", "y"];
+  var cDim = data2.mapDimension(coordDims[cDimIdx]);
+  var vDims = data2.mapDimensionsAll(coordDims[vDimIdx]);
+  if (cDim == null || vDims.length < 5) {
+    return;
+  }
+  for (var dataIndex = 0; dataIndex < data2.count(); dataIndex++) {
+    var axisDimVal = data2.get(cDim, dataIndex);
+    var median = getPoint(axisDimVal, vDims[2], dataIndex);
+    var end1 = getPoint(axisDimVal, vDims[0], dataIndex);
+    var end2 = getPoint(axisDimVal, vDims[1], dataIndex);
+    var end4 = getPoint(axisDimVal, vDims[3], dataIndex);
+    var end5 = getPoint(axisDimVal, vDims[4], dataIndex);
+    var ends = [];
+    addBodyEnd(ends, end2, false);
+    addBodyEnd(ends, end4, true);
+    ends.push(end1, end2, end5, end4);
+    layEndLine(ends, end1);
+    layEndLine(ends, end5);
+    layEndLine(ends, median);
+    data2.setItemLayout(dataIndex, {
+      initBaseline: median[vDimIdx],
+      ends
+    });
+  }
+  function getPoint(axisDimVal2, dim, dataIndex2) {
+    var val = data2.get(dim, dataIndex2);
+    var p2 = [];
+    p2[cDimIdx] = axisDimVal2;
+    p2[vDimIdx] = val;
+    var point;
+    if (isNaN(axisDimVal2) || isNaN(val)) {
+      point = [NaN, NaN];
+    } else {
+      point = coordSys.dataToPoint(p2);
+      point[cDimIdx] += offset2;
+    }
+    return point;
+  }
+  function addBodyEnd(ends2, point, start2) {
+    var point1 = point.slice();
+    var point2 = point.slice();
+    point1[cDimIdx] += halfWidth;
+    point2[cDimIdx] -= halfWidth;
+    start2 ? ends2.push(point1, point2) : ends2.push(point2, point1);
+  }
+  function layEndLine(ends2, endCenter) {
+    var from = endCenter.slice();
+    var to = endCenter.slice();
+    from[cDimIdx] -= halfWidth;
+    to[cDimIdx] += halfWidth;
+    ends2.push(from, to);
+  }
+}
+function prepareBoxplotData(rawData, opt) {
+  opt = opt || {};
+  var boxData = [];
+  var outliers = [];
+  var boundIQR = opt.boundIQR;
+  var useExtreme = boundIQR === "none" || boundIQR === 0;
+  for (var i2 = 0; i2 < rawData.length; i2++) {
+    var ascList = asc$2(rawData[i2].slice());
+    var Q1 = quantile(ascList, 0.25);
+    var Q2 = quantile(ascList, 0.5);
+    var Q3 = quantile(ascList, 0.75);
+    var min3 = ascList[0];
+    var max3 = ascList[ascList.length - 1];
+    var bound = (boundIQR == null ? 1.5 : boundIQR) * (Q3 - Q1);
+    var low = useExtreme ? min3 : Math.max(min3, Q1 - bound);
+    var high = useExtreme ? max3 : Math.min(max3, Q3 + bound);
+    var itemNameFormatter = opt.itemNameFormatter;
+    var itemName = isFunction$1(itemNameFormatter) ? itemNameFormatter({
+      value: i2
+    }) : isString$1(itemNameFormatter) ? itemNameFormatter.replace("{value}", i2 + "") : i2 + "";
+    boxData.push([itemName, low, Q1, Q2, Q3, high]);
+    for (var j2 = 0; j2 < ascList.length; j2++) {
+      var dataItem = ascList[j2];
+      if (dataItem < low || dataItem > high) {
+        var outlier = [itemName, dataItem];
+        outliers.push(outlier);
+      }
+    }
+  }
+  return {
+    boxData,
+    outliers
+  };
+}
+var boxplotTransform = {
+  type: "echarts:boxplot",
+  transform: function transform2(params2) {
+    var upstream = params2.upstream;
+    if (upstream.sourceFormat !== SOURCE_FORMAT_ARRAY_ROWS) {
+      var errMsg = "";
+      throwError(errMsg);
+    }
+    var result2 = prepareBoxplotData(upstream.getRawData(), params2.config);
+    return [{
+      dimensions: ["ItemName", "Low", "Q1", "Q2", "Q3", "High"],
+      data: result2.boxData
+    }, {
+      data: result2.outliers
+    }];
+  }
+};
+function install$z(registers) {
+  registers.registerSeriesModel(BoxplotSeriesModel$1);
+  registers.registerChartView(BoxplotView$1);
+  registers.registerLayout(boxplotLayout);
+  registers.registerTransform(boxplotTransform);
+}
+var SKIP_PROPS = ["color", "borderColor"];
+var CandlestickView = (
+  /** @class */
+  function(_super) {
+    __extends(CandlestickView2, _super);
+    function CandlestickView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CandlestickView2.type;
+      return _this;
+    }
+    CandlestickView2.prototype.render = function(seriesModel, ecModel, api2) {
+      this.group.removeClipPath();
+      this._progressiveEls = null;
+      this._updateDrawMode(seriesModel);
+      this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);
+    };
+    CandlestickView2.prototype.incrementalPrepareRender = function(seriesModel, ecModel, api2) {
+      this._clear();
+      this._updateDrawMode(seriesModel);
+    };
+    CandlestickView2.prototype.incrementalRender = function(params2, seriesModel, ecModel, api2) {
+      this._progressiveEls = [];
+      this._isLargeDraw ? this._incrementalRenderLarge(params2, seriesModel) : this._incrementalRenderNormal(params2, seriesModel);
+    };
+    CandlestickView2.prototype.eachRendered = function(cb) {
+      traverseElements(this._progressiveEls || this.group, cb);
+    };
+    CandlestickView2.prototype._updateDrawMode = function(seriesModel) {
+      var isLargeDraw = seriesModel.pipelineContext.large;
+      if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {
+        this._isLargeDraw = isLargeDraw;
+        this._clear();
+      }
+    };
+    CandlestickView2.prototype._renderNormal = function(seriesModel) {
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var group = this.group;
+      var isSimpleBox = data2.getLayout("isSimpleBox");
+      var needsClip = seriesModel.get("clip", true);
+      var coord = seriesModel.coordinateSystem;
+      var clipArea = coord.getArea && coord.getArea();
+      if (!this._data) {
+        group.removeAll();
+      }
+      data2.diff(oldData).add(function(newIdx) {
+        if (data2.hasValue(newIdx)) {
+          var itemLayout = data2.getItemLayout(newIdx);
+          if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {
+            return;
+          }
+          var el = createNormalBox(itemLayout, newIdx, true);
+          initProps(el, {
+            shape: {
+              points: itemLayout.ends
+            }
+          }, seriesModel, newIdx);
+          setBoxCommon(el, data2, newIdx, isSimpleBox);
+          group.add(el);
+          data2.setItemGraphicEl(newIdx, el);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        if (!data2.hasValue(newIdx)) {
+          group.remove(el);
+          return;
+        }
+        var itemLayout = data2.getItemLayout(newIdx);
+        if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {
+          group.remove(el);
+          return;
+        }
+        if (!el) {
+          el = createNormalBox(itemLayout);
+        } else {
+          updateProps$1(el, {
+            shape: {
+              points: itemLayout.ends
+            }
+          }, seriesModel, newIdx);
+          saveOldStyle(el);
+        }
+        setBoxCommon(el, data2, newIdx, isSimpleBox);
+        group.add(el);
+        data2.setItemGraphicEl(newIdx, el);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && group.remove(el);
+      }).execute();
+      this._data = data2;
+    };
+    CandlestickView2.prototype._renderLarge = function(seriesModel) {
+      this._clear();
+      createLarge(seriesModel, this.group);
+      var clipPath = seriesModel.get("clip", true) ? createClipPath(seriesModel.coordinateSystem, false, seriesModel) : null;
+      if (clipPath) {
+        this.group.setClipPath(clipPath);
+      } else {
+        this.group.removeClipPath();
+      }
+    };
+    CandlestickView2.prototype._incrementalRenderNormal = function(params2, seriesModel) {
+      var data2 = seriesModel.getData();
+      var isSimpleBox = data2.getLayout("isSimpleBox");
+      var dataIndex;
+      while ((dataIndex = params2.next()) != null) {
+        var itemLayout = data2.getItemLayout(dataIndex);
+        var el = createNormalBox(itemLayout);
+        setBoxCommon(el, data2, dataIndex, isSimpleBox);
+        el.incremental = true;
+        this.group.add(el);
+        this._progressiveEls.push(el);
+      }
+    };
+    CandlestickView2.prototype._incrementalRenderLarge = function(params2, seriesModel) {
+      createLarge(seriesModel, this.group, this._progressiveEls, true);
+    };
+    CandlestickView2.prototype.remove = function(ecModel) {
+      this._clear();
+    };
+    CandlestickView2.prototype._clear = function() {
+      this.group.removeAll();
+      this._data = null;
+    };
+    CandlestickView2.type = "candlestick";
+    return CandlestickView2;
+  }(ChartView$1)
+);
+var NormalBoxPathShape = (
+  /** @class */
+  function() {
+    function NormalBoxPathShape2() {
+    }
+    return NormalBoxPathShape2;
+  }()
+);
+var NormalBoxPath = (
+  /** @class */
+  function(_super) {
+    __extends(NormalBoxPath2, _super);
+    function NormalBoxPath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "normalCandlestickBox";
+      return _this;
+    }
+    NormalBoxPath2.prototype.getDefaultShape = function() {
+      return new NormalBoxPathShape();
+    };
+    NormalBoxPath2.prototype.buildPath = function(ctx, shape) {
+      var ends = shape.points;
+      if (this.__simpleBox) {
+        ctx.moveTo(ends[4][0], ends[4][1]);
+        ctx.lineTo(ends[6][0], ends[6][1]);
+      } else {
+        ctx.moveTo(ends[0][0], ends[0][1]);
+        ctx.lineTo(ends[1][0], ends[1][1]);
+        ctx.lineTo(ends[2][0], ends[2][1]);
+        ctx.lineTo(ends[3][0], ends[3][1]);
+        ctx.closePath();
+        ctx.moveTo(ends[4][0], ends[4][1]);
+        ctx.lineTo(ends[5][0], ends[5][1]);
+        ctx.moveTo(ends[6][0], ends[6][1]);
+        ctx.lineTo(ends[7][0], ends[7][1]);
+      }
+    };
+    return NormalBoxPath2;
+  }(Path$1)
+);
+function createNormalBox(itemLayout, dataIndex, isInit) {
+  var ends = itemLayout.ends;
+  return new NormalBoxPath({
+    shape: {
+      points: isInit ? transInit(ends, itemLayout) : ends
+    },
+    z2: 100
+  });
+}
+function isNormalBoxClipped(clipArea, itemLayout) {
+  var clipped = true;
+  for (var i2 = 0; i2 < itemLayout.ends.length; i2++) {
+    if (clipArea.contain(itemLayout.ends[i2][0], itemLayout.ends[i2][1])) {
+      clipped = false;
+      break;
+    }
+  }
+  return clipped;
+}
+function setBoxCommon(el, data2, dataIndex, isSimpleBox) {
+  var itemModel = data2.getItemModel(dataIndex);
+  el.useStyle(data2.getItemVisual(dataIndex, "style"));
+  el.style.strokeNoScale = true;
+  el.__simpleBox = isSimpleBox;
+  setStatesStylesFromModel(el, itemModel);
+}
+function transInit(points2, itemLayout) {
+  return map$1(points2, function(point) {
+    point = point.slice();
+    point[1] = itemLayout.initBaseline;
+    return point;
+  });
+}
+var LargeBoxPathShape = (
+  /** @class */
+  function() {
+    function LargeBoxPathShape2() {
+    }
+    return LargeBoxPathShape2;
+  }()
+);
+var LargeBoxPath = (
+  /** @class */
+  function(_super) {
+    __extends(LargeBoxPath2, _super);
+    function LargeBoxPath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this.type = "largeCandlestickBox";
+      return _this;
+    }
+    LargeBoxPath2.prototype.getDefaultShape = function() {
+      return new LargeBoxPathShape();
+    };
+    LargeBoxPath2.prototype.buildPath = function(ctx, shape) {
+      var points2 = shape.points;
+      for (var i2 = 0; i2 < points2.length; ) {
+        if (this.__sign === points2[i2++]) {
+          var x2 = points2[i2++];
+          ctx.moveTo(x2, points2[i2++]);
+          ctx.lineTo(x2, points2[i2++]);
+        } else {
+          i2 += 3;
+        }
+      }
+    };
+    return LargeBoxPath2;
+  }(Path$1)
+);
+function createLarge(seriesModel, group, progressiveEls, incremental) {
+  var data2 = seriesModel.getData();
+  var largePoints = data2.getLayout("largePoints");
+  var elP = new LargeBoxPath({
+    shape: {
+      points: largePoints
+    },
+    __sign: 1,
+    ignoreCoarsePointer: true
+  });
+  group.add(elP);
+  var elN = new LargeBoxPath({
+    shape: {
+      points: largePoints
+    },
+    __sign: -1,
+    ignoreCoarsePointer: true
+  });
+  group.add(elN);
+  var elDoji = new LargeBoxPath({
+    shape: {
+      points: largePoints
+    },
+    __sign: 0,
+    ignoreCoarsePointer: true
+  });
+  group.add(elDoji);
+  setLargeStyle(1, elP, seriesModel);
+  setLargeStyle(-1, elN, seriesModel);
+  setLargeStyle(0, elDoji, seriesModel);
+  if (incremental) {
+    elP.incremental = true;
+    elN.incremental = true;
+  }
+  if (progressiveEls) {
+    progressiveEls.push(elP, elN);
+  }
+}
+function setLargeStyle(sign, el, seriesModel, data2) {
+  var borderColor = seriesModel.get(["itemStyle", sign > 0 ? "borderColor" : "borderColor0"]) || seriesModel.get(["itemStyle", sign > 0 ? "color" : "color0"]);
+  if (sign === 0) {
+    borderColor = seriesModel.get(["itemStyle", "borderColorDoji"]);
+  }
+  var itemStyle2 = seriesModel.getModel("itemStyle").getItemStyle(SKIP_PROPS);
+  el.useStyle(itemStyle2);
+  el.style.fill = null;
+  el.style.stroke = borderColor;
+}
+const CandlestickView$1 = CandlestickView;
+var CandlestickSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(CandlestickSeriesModel2, _super);
+    function CandlestickSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CandlestickSeriesModel2.type;
+      _this.defaultValueDimensions = [{
+        name: "open",
+        defaultTooltip: true
+      }, {
+        name: "close",
+        defaultTooltip: true
+      }, {
+        name: "lowest",
+        defaultTooltip: true
+      }, {
+        name: "highest",
+        defaultTooltip: true
+      }];
+      return _this;
+    }
+    CandlestickSeriesModel2.prototype.getShadowDim = function() {
+      return "open";
+    };
+    CandlestickSeriesModel2.prototype.brushSelector = function(dataIndex, data2, selectors) {
+      var itemLayout = data2.getItemLayout(dataIndex);
+      return itemLayout && selectors.rect(itemLayout.brushRect);
+    };
+    CandlestickSeriesModel2.type = "series.candlestick";
+    CandlestickSeriesModel2.dependencies = ["xAxis", "yAxis", "grid"];
+    CandlestickSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      coordinateSystem: "cartesian2d",
+      legendHoverLink: true,
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      layout: null,
+      clip: true,
+      itemStyle: {
+        color: "#eb5454",
+        color0: "#47b262",
+        borderColor: "#eb5454",
+        borderColor0: "#47b262",
+        borderColorDoji: null,
+        // borderColor: '#d24040',
+        // borderColor0: '#398f4f',
+        borderWidth: 1
+      },
+      emphasis: {
+        scale: true,
+        itemStyle: {
+          borderWidth: 2
+        }
+      },
+      barMaxWidth: null,
+      barMinWidth: null,
+      barWidth: null,
+      large: true,
+      largeThreshold: 600,
+      progressive: 3e3,
+      progressiveThreshold: 1e4,
+      progressiveChunkMode: "mod",
+      animationEasing: "linear",
+      animationDuration: 300
+    };
+    return CandlestickSeriesModel2;
+  }(SeriesModel$1)
+);
+mixin(CandlestickSeriesModel, WhiskerBoxCommonMixin, true);
+const CandlestickSeriesModel$1 = CandlestickSeriesModel;
+function candlestickPreprocessor(option) {
+  if (!option || !isArray$2(option.series)) {
+    return;
+  }
+  each$f(option.series, function(seriesItem) {
+    if (isObject$4(seriesItem) && seriesItem.type === "k") {
+      seriesItem.type = "candlestick";
+    }
+  });
+}
+var positiveBorderColorQuery = ["itemStyle", "borderColor"];
+var negativeBorderColorQuery = ["itemStyle", "borderColor0"];
+var dojiBorderColorQuery = ["itemStyle", "borderColorDoji"];
+var positiveColorQuery = ["itemStyle", "color"];
+var negativeColorQuery = ["itemStyle", "color0"];
+var candlestickVisual = {
+  seriesType: "candlestick",
+  plan: createRenderPlanner(),
+  // For legend.
+  performRawSeries: true,
+  reset: function(seriesModel, ecModel) {
+    function getColor(sign, model2) {
+      return model2.get(sign > 0 ? positiveColorQuery : negativeColorQuery);
+    }
+    function getBorderColor(sign, model2) {
+      return model2.get(sign === 0 ? dojiBorderColorQuery : sign > 0 ? positiveBorderColorQuery : negativeBorderColorQuery);
+    }
+    if (ecModel.isSeriesFiltered(seriesModel)) {
+      return;
+    }
+    var isLargeRender = seriesModel.pipelineContext.large;
+    return !isLargeRender && {
+      progress: function(params2, data2) {
+        var dataIndex;
+        while ((dataIndex = params2.next()) != null) {
+          var itemModel = data2.getItemModel(dataIndex);
+          var sign = data2.getItemLayout(dataIndex).sign;
+          var style2 = itemModel.getItemStyle();
+          style2.fill = getColor(sign, itemModel);
+          style2.stroke = getBorderColor(sign, itemModel) || style2.fill;
+          var existsStyle = data2.ensureUniqueItemVisual(dataIndex, "style");
+          extend$1(existsStyle, style2);
+        }
+      }
+    };
+  }
+};
+const candlestickVisual$1 = candlestickVisual;
+var candlestickLayout = {
+  seriesType: "candlestick",
+  plan: createRenderPlanner(),
+  reset: function(seriesModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    var data2 = seriesModel.getData();
+    var candleWidth = calculateCandleWidth(seriesModel, data2);
+    var cDimIdx = 0;
+    var vDimIdx = 1;
+    var coordDims = ["x", "y"];
+    var cDimI = data2.getDimensionIndex(data2.mapDimension(coordDims[cDimIdx]));
+    var vDimsI = map$1(data2.mapDimensionsAll(coordDims[vDimIdx]), data2.getDimensionIndex, data2);
+    var openDimI = vDimsI[0];
+    var closeDimI = vDimsI[1];
+    var lowestDimI = vDimsI[2];
+    var highestDimI = vDimsI[3];
+    data2.setLayout({
+      candleWidth,
+      // The value is experimented visually.
+      isSimpleBox: candleWidth <= 1.3
+    });
+    if (cDimI < 0 || vDimsI.length < 4) {
+      return;
+    }
+    return {
+      progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress
+    };
+    function normalProgress(params2, data3) {
+      var dataIndex;
+      var store = data3.getStore();
+      while ((dataIndex = params2.next()) != null) {
+        var axisDimVal = store.get(cDimI, dataIndex);
+        var openVal = store.get(openDimI, dataIndex);
+        var closeVal = store.get(closeDimI, dataIndex);
+        var lowestVal = store.get(lowestDimI, dataIndex);
+        var highestVal = store.get(highestDimI, dataIndex);
+        var ocLow = Math.min(openVal, closeVal);
+        var ocHigh = Math.max(openVal, closeVal);
+        var ocLowPoint = getPoint(ocLow, axisDimVal);
+        var ocHighPoint = getPoint(ocHigh, axisDimVal);
+        var lowestPoint = getPoint(lowestVal, axisDimVal);
+        var highestPoint = getPoint(highestVal, axisDimVal);
+        var ends = [];
+        addBodyEnd(ends, ocHighPoint, 0);
+        addBodyEnd(ends, ocLowPoint, 1);
+        ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));
+        var itemModel = data3.getItemModel(dataIndex);
+        var hasDojiColor = !!itemModel.get(["itemStyle", "borderColorDoji"]);
+        data3.setItemLayout(dataIndex, {
+          sign: getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor),
+          initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],
+          ends,
+          brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)
+        });
+      }
+      function getPoint(val, axisDimVal2) {
+        var p2 = [];
+        p2[cDimIdx] = axisDimVal2;
+        p2[vDimIdx] = val;
+        return isNaN(axisDimVal2) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p2);
+      }
+      function addBodyEnd(ends2, point, start2) {
+        var point1 = point.slice();
+        var point2 = point.slice();
+        point1[cDimIdx] = subPixelOptimize(point1[cDimIdx] + candleWidth / 2, 1, false);
+        point2[cDimIdx] = subPixelOptimize(point2[cDimIdx] - candleWidth / 2, 1, true);
+        start2 ? ends2.push(point1, point2) : ends2.push(point2, point1);
+      }
+      function makeBrushRect(lowestVal2, highestVal2, axisDimVal2) {
+        var pmin = getPoint(lowestVal2, axisDimVal2);
+        var pmax = getPoint(highestVal2, axisDimVal2);
+        pmin[cDimIdx] -= candleWidth / 2;
+        pmax[cDimIdx] -= candleWidth / 2;
+        return {
+          x: pmin[0],
+          y: pmin[1],
+          width: candleWidth,
+          height: pmax[1] - pmin[1]
+        };
+      }
+      function subPixelOptimizePoint(point) {
+        point[cDimIdx] = subPixelOptimize(point[cDimIdx], 1);
+        return point;
+      }
+    }
+    function largeProgress(params2, data3) {
+      var points2 = createFloat32Array(params2.count * 4);
+      var offset2 = 0;
+      var point;
+      var tmpIn = [];
+      var tmpOut = [];
+      var dataIndex;
+      var store = data3.getStore();
+      var hasDojiColor = !!seriesModel.get(["itemStyle", "borderColorDoji"]);
+      while ((dataIndex = params2.next()) != null) {
+        var axisDimVal = store.get(cDimI, dataIndex);
+        var openVal = store.get(openDimI, dataIndex);
+        var closeVal = store.get(closeDimI, dataIndex);
+        var lowestVal = store.get(lowestDimI, dataIndex);
+        var highestVal = store.get(highestDimI, dataIndex);
+        if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {
+          points2[offset2++] = NaN;
+          offset2 += 3;
+          continue;
+        }
+        points2[offset2++] = getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor);
+        tmpIn[cDimIdx] = axisDimVal;
+        tmpIn[vDimIdx] = lowestVal;
+        point = coordSys.dataToPoint(tmpIn, null, tmpOut);
+        points2[offset2++] = point ? point[0] : NaN;
+        points2[offset2++] = point ? point[1] : NaN;
+        tmpIn[vDimIdx] = highestVal;
+        point = coordSys.dataToPoint(tmpIn, null, tmpOut);
+        points2[offset2++] = point ? point[1] : NaN;
+      }
+      data3.setLayout("largePoints", points2);
+    }
+  }
+};
+function getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor) {
+  var sign;
+  if (openVal > closeVal) {
+    sign = -1;
+  } else if (openVal < closeVal) {
+    sign = 1;
+  } else {
+    sign = hasDojiColor ? 0 : dataIndex > 0 ? store.get(closeDimI, dataIndex - 1) <= closeVal ? 1 : -1 : (
+      // No record of previous, set to be positive
+      1
+    );
+  }
+  return sign;
+}
+function calculateCandleWidth(seriesModel, data2) {
+  var baseAxis = seriesModel.getBaseAxis();
+  var extent3;
+  var bandWidth = baseAxis.type === "category" ? baseAxis.getBandWidth() : (extent3 = baseAxis.getExtent(), Math.abs(extent3[1] - extent3[0]) / data2.count());
+  var barMaxWidth = parsePercent(retrieve2(seriesModel.get("barMaxWidth"), bandWidth), bandWidth);
+  var barMinWidth = parsePercent(retrieve2(seriesModel.get("barMinWidth"), 1), bandWidth);
+  var barWidth = seriesModel.get("barWidth");
+  return barWidth != null ? parsePercent(barWidth, bandWidth) : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);
+}
+const candlestickLayout$1 = candlestickLayout;
+function install$y(registers) {
+  registers.registerChartView(CandlestickView$1);
+  registers.registerSeriesModel(CandlestickSeriesModel$1);
+  registers.registerPreprocessor(candlestickPreprocessor);
+  registers.registerVisual(candlestickVisual$1);
+  registers.registerLayout(candlestickLayout$1);
+}
+function updateRipplePath(rippleGroup, effectCfg) {
+  var color2 = effectCfg.rippleEffectColor || effectCfg.color;
+  rippleGroup.eachChild(function(ripplePath) {
+    ripplePath.attr({
+      z: effectCfg.z,
+      zlevel: effectCfg.zlevel,
+      style: {
+        stroke: effectCfg.brushType === "stroke" ? color2 : null,
+        fill: effectCfg.brushType === "fill" ? color2 : null
+      }
+    });
+  });
+}
+var EffectSymbol = (
+  /** @class */
+  function(_super) {
+    __extends(EffectSymbol2, _super);
+    function EffectSymbol2(data2, idx) {
+      var _this = _super.call(this) || this;
+      var symbol2 = new SymbolClz(data2, idx);
+      var rippleGroup = new Group$4();
+      _this.add(symbol2);
+      _this.add(rippleGroup);
+      _this.updateData(data2, idx);
+      return _this;
+    }
+    EffectSymbol2.prototype.stopEffectAnimation = function() {
+      this.childAt(1).removeAll();
+    };
+    EffectSymbol2.prototype.startEffectAnimation = function(effectCfg) {
+      var symbolType = effectCfg.symbolType;
+      var color2 = effectCfg.color;
+      var rippleNumber = effectCfg.rippleNumber;
+      var rippleGroup = this.childAt(1);
+      for (var i2 = 0; i2 < rippleNumber; i2++) {
+        var ripplePath = createSymbol$1(symbolType, -1, -1, 2, 2, color2);
+        ripplePath.attr({
+          style: {
+            strokeNoScale: true
+          },
+          z2: 99,
+          silent: true,
+          scaleX: 0.5,
+          scaleY: 0.5
+        });
+        var delay = -i2 / rippleNumber * effectCfg.period + effectCfg.effectOffset;
+        ripplePath.animate("", true).when(effectCfg.period, {
+          scaleX: effectCfg.rippleScale / 2,
+          scaleY: effectCfg.rippleScale / 2
+        }).delay(delay).start();
+        ripplePath.animateStyle(true).when(effectCfg.period, {
+          opacity: 0
+        }).delay(delay).start();
+        rippleGroup.add(ripplePath);
+      }
+      updateRipplePath(rippleGroup, effectCfg);
+    };
+    EffectSymbol2.prototype.updateEffectAnimation = function(effectCfg) {
+      var oldEffectCfg = this._effectCfg;
+      var rippleGroup = this.childAt(1);
+      var DIFFICULT_PROPS = ["symbolType", "period", "rippleScale", "rippleNumber"];
+      for (var i2 = 0; i2 < DIFFICULT_PROPS.length; i2++) {
+        var propName = DIFFICULT_PROPS[i2];
+        if (oldEffectCfg[propName] !== effectCfg[propName]) {
+          this.stopEffectAnimation();
+          this.startEffectAnimation(effectCfg);
+          return;
+        }
+      }
+      updateRipplePath(rippleGroup, effectCfg);
+    };
+    EffectSymbol2.prototype.highlight = function() {
+      enterEmphasis(this);
+    };
+    EffectSymbol2.prototype.downplay = function() {
+      leaveEmphasis(this);
+    };
+    EffectSymbol2.prototype.getSymbolType = function() {
+      var symbol2 = this.childAt(0);
+      return symbol2 && symbol2.getSymbolType();
+    };
+    EffectSymbol2.prototype.updateData = function(data2, idx) {
+      var _this = this;
+      var seriesModel = data2.hostModel;
+      this.childAt(0).updateData(data2, idx);
+      var rippleGroup = this.childAt(1);
+      var itemModel = data2.getItemModel(idx);
+      var symbolType = data2.getItemVisual(idx, "symbol");
+      var symbolSize = normalizeSymbolSize(data2.getItemVisual(idx, "symbolSize"));
+      var symbolStyle = data2.getItemVisual(idx, "style");
+      var color2 = symbolStyle && symbolStyle.fill;
+      var emphasisModel = itemModel.getModel("emphasis");
+      rippleGroup.setScale(symbolSize);
+      rippleGroup.traverse(function(ripplePath) {
+        ripplePath.setStyle("fill", color2);
+      });
+      var symbolOffset = normalizeSymbolOffset(data2.getItemVisual(idx, "symbolOffset"), symbolSize);
+      if (symbolOffset) {
+        rippleGroup.x = symbolOffset[0];
+        rippleGroup.y = symbolOffset[1];
+      }
+      var symbolRotate = data2.getItemVisual(idx, "symbolRotate");
+      rippleGroup.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+      var effectCfg = {};
+      effectCfg.showEffectOn = seriesModel.get("showEffectOn");
+      effectCfg.rippleScale = itemModel.get(["rippleEffect", "scale"]);
+      effectCfg.brushType = itemModel.get(["rippleEffect", "brushType"]);
+      effectCfg.period = itemModel.get(["rippleEffect", "period"]) * 1e3;
+      effectCfg.effectOffset = idx / data2.count();
+      effectCfg.z = seriesModel.getShallow("z") || 0;
+      effectCfg.zlevel = seriesModel.getShallow("zlevel") || 0;
+      effectCfg.symbolType = symbolType;
+      effectCfg.color = color2;
+      effectCfg.rippleEffectColor = itemModel.get(["rippleEffect", "color"]);
+      effectCfg.rippleNumber = itemModel.get(["rippleEffect", "number"]);
+      if (effectCfg.showEffectOn === "render") {
+        this._effectCfg ? this.updateEffectAnimation(effectCfg) : this.startEffectAnimation(effectCfg);
+        this._effectCfg = effectCfg;
+      } else {
+        this._effectCfg = null;
+        this.stopEffectAnimation();
+        this.onHoverStateChange = function(toState) {
+          if (toState === "emphasis") {
+            if (effectCfg.showEffectOn !== "render") {
+              _this.startEffectAnimation(effectCfg);
+            }
+          } else if (toState === "normal") {
+            if (effectCfg.showEffectOn !== "render") {
+              _this.stopEffectAnimation();
+            }
+          }
+        };
+      }
+      this._effectCfg = effectCfg;
+      toggleHoverEmphasis(this, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+    };
+    EffectSymbol2.prototype.fadeOut = function(cb) {
+      cb && cb();
+    };
+    return EffectSymbol2;
+  }(Group$4)
+);
+const EffectSymbol$1 = EffectSymbol;
+var EffectScatterView = (
+  /** @class */
+  function(_super) {
+    __extends(EffectScatterView2, _super);
+    function EffectScatterView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = EffectScatterView2.type;
+      return _this;
+    }
+    EffectScatterView2.prototype.init = function() {
+      this._symbolDraw = new SymbolDraw$1(EffectSymbol$1);
+    };
+    EffectScatterView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var effectSymbolDraw = this._symbolDraw;
+      effectSymbolDraw.updateData(data2, {
+        clipShape: this._getClipShape(seriesModel)
+      });
+      this.group.add(effectSymbolDraw.group);
+    };
+    EffectScatterView2.prototype._getClipShape = function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      var clipArea = coordSys && coordSys.getArea && coordSys.getArea();
+      return seriesModel.get("clip", true) ? clipArea : null;
+    };
+    EffectScatterView2.prototype.updateTransform = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      this.group.dirty();
+      var res = pointsLayout("").reset(seriesModel, ecModel, api2);
+      if (res.progress) {
+        res.progress({
+          start: 0,
+          end: data2.count(),
+          count: data2.count()
+        }, data2);
+      }
+      this._symbolDraw.updateLayout();
+    };
+    EffectScatterView2.prototype._updateGroupTransform = function(seriesModel) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys && coordSys.getRoamTransform) {
+        this.group.transform = clone$2(coordSys.getRoamTransform());
+        this.group.decomposeTransform();
+      }
+    };
+    EffectScatterView2.prototype.remove = function(ecModel, api2) {
+      this._symbolDraw && this._symbolDraw.remove(true);
+    };
+    EffectScatterView2.type = "effectScatter";
+    return EffectScatterView2;
+  }(ChartView$1)
+);
+const EffectScatterView$1 = EffectScatterView;
+var EffectScatterSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(EffectScatterSeriesModel2, _super);
+    function EffectScatterSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = EffectScatterSeriesModel2.type;
+      _this.hasSymbolVisual = true;
+      return _this;
+    }
+    EffectScatterSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesData(null, this, {
+        useEncodeDefaulter: true
+      });
+    };
+    EffectScatterSeriesModel2.prototype.brushSelector = function(dataIndex, data2, selectors) {
+      return selectors.point(data2.getItemLayout(dataIndex));
+    };
+    EffectScatterSeriesModel2.type = "series.effectScatter";
+    EffectScatterSeriesModel2.dependencies = ["grid", "polar"];
+    EffectScatterSeriesModel2.defaultOption = {
+      coordinateSystem: "cartesian2d",
+      // zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      effectType: "ripple",
+      progressive: 0,
+      // When to show the effect, option: 'render'|'emphasis'
+      showEffectOn: "render",
+      clip: true,
+      // Ripple effect config
+      rippleEffect: {
+        period: 4,
+        // Scale of ripple
+        scale: 2.5,
+        // Brush type can be fill or stroke
+        brushType: "fill",
+        // Ripple number
+        number: 3
+      },
+      universalTransition: {
+        divideShape: "clone"
+      },
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Polar coordinate system
+      // polarIndex: 0,
+      // Geo coordinate system
+      // geoIndex: 0,
+      // symbol: null,        // 图形类型
+      symbolSize: 10
+      // 图形大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2
+      // symbolRotate: null,  // 图形旋转控制
+      // itemStyle: {
+      //     opacity: 1
+      // }
+    };
+    return EffectScatterSeriesModel2;
+  }(SeriesModel$1)
+);
+const EffectScatterSeriesModel$1 = EffectScatterSeriesModel;
+function install$x(registers) {
+  registers.registerChartView(EffectScatterView$1);
+  registers.registerSeriesModel(EffectScatterSeriesModel$1);
+  registers.registerLayout(pointsLayout("effectScatter"));
+}
+var EffectLine = (
+  /** @class */
+  function(_super) {
+    __extends(EffectLine2, _super);
+    function EffectLine2(lineData, idx, seriesScope) {
+      var _this = _super.call(this) || this;
+      _this.add(_this.createLine(lineData, idx, seriesScope));
+      _this._updateEffectSymbol(lineData, idx);
+      return _this;
+    }
+    EffectLine2.prototype.createLine = function(lineData, idx, seriesScope) {
+      return new Line$1(lineData, idx, seriesScope);
+    };
+    EffectLine2.prototype._updateEffectSymbol = function(lineData, idx) {
+      var itemModel = lineData.getItemModel(idx);
+      var effectModel = itemModel.getModel("effect");
+      var size = effectModel.get("symbolSize");
+      var symbolType = effectModel.get("symbol");
+      if (!isArray$2(size)) {
+        size = [size, size];
+      }
+      var lineStyle2 = lineData.getItemVisual(idx, "style");
+      var color2 = effectModel.get("color") || lineStyle2 && lineStyle2.stroke;
+      var symbol2 = this.childAt(1);
+      if (this._symbolType !== symbolType) {
+        this.remove(symbol2);
+        symbol2 = createSymbol$1(symbolType, -0.5, -0.5, 1, 1, color2);
+        symbol2.z2 = 100;
+        symbol2.culling = true;
+        this.add(symbol2);
+      }
+      if (!symbol2) {
+        return;
+      }
+      symbol2.setStyle("shadowColor", color2);
+      symbol2.setStyle(effectModel.getItemStyle(["color"]));
+      symbol2.scaleX = size[0];
+      symbol2.scaleY = size[1];
+      symbol2.setColor(color2);
+      this._symbolType = symbolType;
+      this._symbolScale = size;
+      this._updateEffectAnimation(lineData, effectModel, idx);
+    };
+    EffectLine2.prototype._updateEffectAnimation = function(lineData, effectModel, idx) {
+      var symbol2 = this.childAt(1);
+      if (!symbol2) {
+        return;
+      }
+      var points2 = lineData.getItemLayout(idx);
+      var period = effectModel.get("period") * 1e3;
+      var loop = effectModel.get("loop");
+      var roundTrip = effectModel.get("roundTrip");
+      var constantSpeed = effectModel.get("constantSpeed");
+      var delayExpr = retrieve(effectModel.get("delay"), function(idx2) {
+        return idx2 / lineData.count() * period / 3;
+      });
+      symbol2.ignore = true;
+      this._updateAnimationPoints(symbol2, points2);
+      if (constantSpeed > 0) {
+        period = this._getLineLength(symbol2) / constantSpeed * 1e3;
+      }
+      if (period !== this._period || loop !== this._loop || roundTrip !== this._roundTrip) {
+        symbol2.stopAnimation();
+        var delayNum = void 0;
+        if (isFunction$1(delayExpr)) {
+          delayNum = delayExpr(idx);
+        } else {
+          delayNum = delayExpr;
+        }
+        if (symbol2.__t > 0) {
+          delayNum = -period * symbol2.__t;
+        }
+        this._animateSymbol(symbol2, period, delayNum, loop, roundTrip);
+      }
+      this._period = period;
+      this._loop = loop;
+      this._roundTrip = roundTrip;
+    };
+    EffectLine2.prototype._animateSymbol = function(symbol2, period, delayNum, loop, roundTrip) {
+      if (period > 0) {
+        symbol2.__t = 0;
+        var self_1 = this;
+        var animator = symbol2.animate("", loop).when(roundTrip ? period * 2 : period, {
+          __t: roundTrip ? 2 : 1
+        }).delay(delayNum).during(function() {
+          self_1._updateSymbolPosition(symbol2);
+        });
+        if (!loop) {
+          animator.done(function() {
+            self_1.remove(symbol2);
+          });
+        }
+        animator.start();
+      }
+    };
+    EffectLine2.prototype._getLineLength = function(symbol2) {
+      return dist$1(symbol2.__p1, symbol2.__cp1) + dist$1(symbol2.__cp1, symbol2.__p2);
+    };
+    EffectLine2.prototype._updateAnimationPoints = function(symbol2, points2) {
+      symbol2.__p1 = points2[0];
+      symbol2.__p2 = points2[1];
+      symbol2.__cp1 = points2[2] || [(points2[0][0] + points2[1][0]) / 2, (points2[0][1] + points2[1][1]) / 2];
+    };
+    EffectLine2.prototype.updateData = function(lineData, idx, seriesScope) {
+      this.childAt(0).updateData(lineData, idx, seriesScope);
+      this._updateEffectSymbol(lineData, idx);
+    };
+    EffectLine2.prototype._updateSymbolPosition = function(symbol2) {
+      var p1 = symbol2.__p1;
+      var p2 = symbol2.__p2;
+      var cp1 = symbol2.__cp1;
+      var t2 = symbol2.__t < 1 ? symbol2.__t : 2 - symbol2.__t;
+      var pos = [symbol2.x, symbol2.y];
+      var lastPos = pos.slice();
+      var quadraticAt2 = quadraticAt$1;
+      var quadraticDerivativeAt$12 = quadraticDerivativeAt;
+      pos[0] = quadraticAt2(p1[0], cp1[0], p2[0], t2);
+      pos[1] = quadraticAt2(p1[1], cp1[1], p2[1], t2);
+      var tx = symbol2.__t < 1 ? quadraticDerivativeAt$12(p1[0], cp1[0], p2[0], t2) : quadraticDerivativeAt$12(p2[0], cp1[0], p1[0], 1 - t2);
+      var ty = symbol2.__t < 1 ? quadraticDerivativeAt$12(p1[1], cp1[1], p2[1], t2) : quadraticDerivativeAt$12(p2[1], cp1[1], p1[1], 1 - t2);
+      symbol2.rotation = -Math.atan2(ty, tx) - Math.PI / 2;
+      if (this._symbolType === "line" || this._symbolType === "rect" || this._symbolType === "roundRect") {
+        if (symbol2.__lastT !== void 0 && symbol2.__lastT < symbol2.__t) {
+          symbol2.scaleY = dist$1(lastPos, pos) * 1.05;
+          if (t2 === 1) {
+            pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;
+            pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;
+          }
+        } else if (symbol2.__lastT === 1) {
+          symbol2.scaleY = 2 * dist$1(p1, pos);
+        } else {
+          symbol2.scaleY = this._symbolScale[1];
+        }
+      }
+      symbol2.__lastT = symbol2.__t;
+      symbol2.ignore = false;
+      symbol2.x = pos[0];
+      symbol2.y = pos[1];
+    };
+    EffectLine2.prototype.updateLayout = function(lineData, idx) {
+      this.childAt(0).updateLayout(lineData, idx);
+      var effectModel = lineData.getItemModel(idx).getModel("effect");
+      this._updateEffectAnimation(lineData, effectModel, idx);
+    };
+    return EffectLine2;
+  }(Group$4)
+);
+const EffectLine$1 = EffectLine;
+var Polyline = (
+  /** @class */
+  function(_super) {
+    __extends(Polyline2, _super);
+    function Polyline2(lineData, idx, seriesScope) {
+      var _this = _super.call(this) || this;
+      _this._createPolyline(lineData, idx, seriesScope);
+      return _this;
+    }
+    Polyline2.prototype._createPolyline = function(lineData, idx, seriesScope) {
+      var points2 = lineData.getItemLayout(idx);
+      var line2 = new Polyline$3({
+        shape: {
+          points: points2
+        }
+      });
+      this.add(line2);
+      this._updateCommonStl(lineData, idx, seriesScope);
+    };
+    Polyline2.prototype.updateData = function(lineData, idx, seriesScope) {
+      var seriesModel = lineData.hostModel;
+      var line2 = this.childAt(0);
+      var target = {
+        shape: {
+          points: lineData.getItemLayout(idx)
+        }
+      };
+      updateProps$1(line2, target, seriesModel, idx);
+      this._updateCommonStl(lineData, idx, seriesScope);
+    };
+    Polyline2.prototype._updateCommonStl = function(lineData, idx, seriesScope) {
+      var line2 = this.childAt(0);
+      var itemModel = lineData.getItemModel(idx);
+      var emphasisLineStyle = seriesScope && seriesScope.emphasisLineStyle;
+      var focus2 = seriesScope && seriesScope.focus;
+      var blurScope = seriesScope && seriesScope.blurScope;
+      var emphasisDisabled = seriesScope && seriesScope.emphasisDisabled;
+      if (!seriesScope || lineData.hasItemOption) {
+        var emphasisModel = itemModel.getModel("emphasis");
+        emphasisLineStyle = emphasisModel.getModel("lineStyle").getLineStyle();
+        emphasisDisabled = emphasisModel.get("disabled");
+        focus2 = emphasisModel.get("focus");
+        blurScope = emphasisModel.get("blurScope");
+      }
+      line2.useStyle(lineData.getItemVisual(idx, "style"));
+      line2.style.fill = null;
+      line2.style.strokeNoScale = true;
+      var lineEmphasisState = line2.ensureState("emphasis");
+      lineEmphasisState.style = emphasisLineStyle;
+      toggleHoverEmphasis(this, focus2, blurScope, emphasisDisabled);
+    };
+    Polyline2.prototype.updateLayout = function(lineData, idx) {
+      var polyline = this.childAt(0);
+      polyline.setShape("points", lineData.getItemLayout(idx));
+    };
+    return Polyline2;
+  }(Group$4)
+);
+const Polyline$1 = Polyline;
+var EffectPolyline = (
+  /** @class */
+  function(_super) {
+    __extends(EffectPolyline2, _super);
+    function EffectPolyline2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this._lastFrame = 0;
+      _this._lastFramePercent = 0;
+      return _this;
+    }
+    EffectPolyline2.prototype.createLine = function(lineData, idx, seriesScope) {
+      return new Polyline$1(lineData, idx, seriesScope);
+    };
+    EffectPolyline2.prototype._updateAnimationPoints = function(symbol2, points2) {
+      this._points = points2;
+      var accLenArr = [0];
+      var len2 = 0;
+      for (var i2 = 1; i2 < points2.length; i2++) {
+        var p1 = points2[i2 - 1];
+        var p2 = points2[i2];
+        len2 += dist$1(p1, p2);
+        accLenArr.push(len2);
+      }
+      if (len2 === 0) {
+        this._length = 0;
+        return;
+      }
+      for (var i2 = 0; i2 < accLenArr.length; i2++) {
+        accLenArr[i2] /= len2;
+      }
+      this._offsets = accLenArr;
+      this._length = len2;
+    };
+    EffectPolyline2.prototype._getLineLength = function() {
+      return this._length;
+    };
+    EffectPolyline2.prototype._updateSymbolPosition = function(symbol2) {
+      var t2 = symbol2.__t < 1 ? symbol2.__t : 2 - symbol2.__t;
+      var points2 = this._points;
+      var offsets = this._offsets;
+      var len2 = points2.length;
+      if (!offsets) {
+        return;
+      }
+      var lastFrame = this._lastFrame;
+      var frame;
+      if (t2 < this._lastFramePercent) {
+        var start2 = Math.min(lastFrame + 1, len2 - 1);
+        for (frame = start2; frame >= 0; frame--) {
+          if (offsets[frame] <= t2) {
+            break;
+          }
+        }
+        frame = Math.min(frame, len2 - 2);
+      } else {
+        for (frame = lastFrame; frame < len2; frame++) {
+          if (offsets[frame] > t2) {
+            break;
+          }
+        }
+        frame = Math.min(frame - 1, len2 - 2);
+      }
+      var p2 = (t2 - offsets[frame]) / (offsets[frame + 1] - offsets[frame]);
+      var p0 = points2[frame];
+      var p1 = points2[frame + 1];
+      symbol2.x = p0[0] * (1 - p2) + p2 * p1[0];
+      symbol2.y = p0[1] * (1 - p2) + p2 * p1[1];
+      var tx = symbol2.__t < 1 ? p1[0] - p0[0] : p0[0] - p1[0];
+      var ty = symbol2.__t < 1 ? p1[1] - p0[1] : p0[1] - p1[1];
+      symbol2.rotation = -Math.atan2(ty, tx) - Math.PI / 2;
+      this._lastFrame = frame;
+      this._lastFramePercent = t2;
+      symbol2.ignore = false;
+    };
+    return EffectPolyline2;
+  }(EffectLine$1)
+);
+const EffectPolyline$1 = EffectPolyline;
+var LargeLinesPathShape = (
+  /** @class */
+  function() {
+    function LargeLinesPathShape2() {
+      this.polyline = false;
+      this.curveness = 0;
+      this.segs = [];
+    }
+    return LargeLinesPathShape2;
+  }()
+);
+var LargeLinesPath = (
+  /** @class */
+  function(_super) {
+    __extends(LargeLinesPath2, _super);
+    function LargeLinesPath2(opts2) {
+      var _this = _super.call(this, opts2) || this;
+      _this._off = 0;
+      _this.hoverDataIdx = -1;
+      return _this;
+    }
+    LargeLinesPath2.prototype.reset = function() {
+      this.notClear = false;
+      this._off = 0;
+    };
+    LargeLinesPath2.prototype.getDefaultStyle = function() {
+      return {
+        stroke: "#000",
+        fill: null
+      };
+    };
+    LargeLinesPath2.prototype.getDefaultShape = function() {
+      return new LargeLinesPathShape();
+    };
+    LargeLinesPath2.prototype.buildPath = function(ctx, shape) {
+      var segs = shape.segs;
+      var curveness = shape.curveness;
+      var i2;
+      if (shape.polyline) {
+        for (i2 = this._off; i2 < segs.length; ) {
+          var count2 = segs[i2++];
+          if (count2 > 0) {
+            ctx.moveTo(segs[i2++], segs[i2++]);
+            for (var k2 = 1; k2 < count2; k2++) {
+              ctx.lineTo(segs[i2++], segs[i2++]);
+            }
+          }
+        }
+      } else {
+        for (i2 = this._off; i2 < segs.length; ) {
+          var x0 = segs[i2++];
+          var y0 = segs[i2++];
+          var x1 = segs[i2++];
+          var y1 = segs[i2++];
+          ctx.moveTo(x0, y0);
+          if (curveness > 0) {
+            var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;
+            var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;
+            ctx.quadraticCurveTo(x2, y2, x1, y1);
+          } else {
+            ctx.lineTo(x1, y1);
+          }
+        }
+      }
+      if (this.incremental) {
+        this._off = i2;
+        this.notClear = true;
+      }
+    };
+    LargeLinesPath2.prototype.findDataIndex = function(x2, y2) {
+      var shape = this.shape;
+      var segs = shape.segs;
+      var curveness = shape.curveness;
+      var lineWidth = this.style.lineWidth;
+      if (shape.polyline) {
+        var dataIndex = 0;
+        for (var i2 = 0; i2 < segs.length; ) {
+          var count2 = segs[i2++];
+          if (count2 > 0) {
+            var x0 = segs[i2++];
+            var y0 = segs[i2++];
+            for (var k2 = 1; k2 < count2; k2++) {
+              var x1 = segs[i2++];
+              var y1 = segs[i2++];
+              if (containStroke$4(x0, y0, x1, y1, lineWidth, x2, y2)) {
+                return dataIndex;
+              }
+            }
+          }
+          dataIndex++;
+        }
+      } else {
+        var dataIndex = 0;
+        for (var i2 = 0; i2 < segs.length; ) {
+          var x0 = segs[i2++];
+          var y0 = segs[i2++];
+          var x1 = segs[i2++];
+          var y1 = segs[i2++];
+          if (curveness > 0) {
+            var x22 = (x0 + x1) / 2 - (y0 - y1) * curveness;
+            var y22 = (y0 + y1) / 2 - (x1 - x0) * curveness;
+            if (containStroke$2(x0, y0, x22, y22, x1, y1, lineWidth, x2, y2)) {
+              return dataIndex;
+            }
+          } else {
+            if (containStroke$4(x0, y0, x1, y1, lineWidth, x2, y2)) {
+              return dataIndex;
+            }
+          }
+          dataIndex++;
+        }
+      }
+      return -1;
+    };
+    LargeLinesPath2.prototype.contain = function(x2, y2) {
+      var localPos = this.transformCoordToLocal(x2, y2);
+      var rect = this.getBoundingRect();
+      x2 = localPos[0];
+      y2 = localPos[1];
+      if (rect.contain(x2, y2)) {
+        var dataIdx = this.hoverDataIdx = this.findDataIndex(x2, y2);
+        return dataIdx >= 0;
+      }
+      this.hoverDataIdx = -1;
+      return false;
+    };
+    LargeLinesPath2.prototype.getBoundingRect = function() {
+      var rect = this._rect;
+      if (!rect) {
+        var shape = this.shape;
+        var points2 = shape.segs;
+        var minX = Infinity;
+        var minY = Infinity;
+        var maxX = -Infinity;
+        var maxY = -Infinity;
+        for (var i2 = 0; i2 < points2.length; ) {
+          var x2 = points2[i2++];
+          var y2 = points2[i2++];
+          minX = Math.min(x2, minX);
+          maxX = Math.max(x2, maxX);
+          minY = Math.min(y2, minY);
+          maxY = Math.max(y2, maxY);
+        }
+        rect = this._rect = new BoundingRect$1(minX, minY, maxX, maxY);
+      }
+      return rect;
+    };
+    return LargeLinesPath2;
+  }(Path$1)
+);
+var LargeLineDraw = (
+  /** @class */
+  function() {
+    function LargeLineDraw2() {
+      this.group = new Group$4();
+    }
+    LargeLineDraw2.prototype.updateData = function(data2) {
+      this._clear();
+      var lineEl = this._create();
+      lineEl.setShape({
+        segs: data2.getLayout("linesPoints")
+      });
+      this._setCommon(lineEl, data2);
+    };
+    LargeLineDraw2.prototype.incrementalPrepareUpdate = function(data2) {
+      this.group.removeAll();
+      this._clear();
+    };
+    LargeLineDraw2.prototype.incrementalUpdate = function(taskParams, data2) {
+      var lastAdded = this._newAdded[0];
+      var linePoints = data2.getLayout("linesPoints");
+      var oldSegs = lastAdded && lastAdded.shape.segs;
+      if (oldSegs && oldSegs.length < 2e4) {
+        var oldLen = oldSegs.length;
+        var newSegs = new Float32Array(oldLen + linePoints.length);
+        newSegs.set(oldSegs);
+        newSegs.set(linePoints, oldLen);
+        lastAdded.setShape({
+          segs: newSegs
+        });
+      } else {
+        this._newAdded = [];
+        var lineEl = this._create();
+        lineEl.incremental = true;
+        lineEl.setShape({
+          segs: linePoints
+        });
+        this._setCommon(lineEl, data2);
+        lineEl.__startIndex = taskParams.start;
+      }
+    };
+    LargeLineDraw2.prototype.remove = function() {
+      this._clear();
+    };
+    LargeLineDraw2.prototype.eachRendered = function(cb) {
+      this._newAdded[0] && cb(this._newAdded[0]);
+    };
+    LargeLineDraw2.prototype._create = function() {
+      var lineEl = new LargeLinesPath({
+        cursor: "default",
+        ignoreCoarsePointer: true
+      });
+      this._newAdded.push(lineEl);
+      this.group.add(lineEl);
+      return lineEl;
+    };
+    LargeLineDraw2.prototype._setCommon = function(lineEl, data2, isIncremental) {
+      var hostModel = data2.hostModel;
+      lineEl.setShape({
+        polyline: hostModel.get("polyline"),
+        curveness: hostModel.get(["lineStyle", "curveness"])
+      });
+      lineEl.useStyle(hostModel.getModel("lineStyle").getLineStyle());
+      lineEl.style.strokeNoScale = true;
+      var style2 = data2.getVisual("style");
+      if (style2 && style2.stroke) {
+        lineEl.setStyle("stroke", style2.stroke);
+      }
+      lineEl.setStyle("fill", null);
+      var ecData = getECData(lineEl);
+      ecData.seriesIndex = hostModel.seriesIndex;
+      lineEl.on("mousemove", function(e2) {
+        ecData.dataIndex = null;
+        var dataIndex = lineEl.hoverDataIdx;
+        if (dataIndex > 0) {
+          ecData.dataIndex = dataIndex + lineEl.__startIndex;
+        }
+      });
+    };
+    LargeLineDraw2.prototype._clear = function() {
+      this._newAdded = [];
+      this.group.removeAll();
+    };
+    return LargeLineDraw2;
+  }()
+);
+const LargeLineDraw$1 = LargeLineDraw;
+var linesLayout = {
+  seriesType: "lines",
+  plan: createRenderPlanner(),
+  reset: function(seriesModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    if (!coordSys) {
+      return;
+    }
+    var isPolyline = seriesModel.get("polyline");
+    var isLarge = seriesModel.pipelineContext.large;
+    return {
+      progress: function(params2, lineData) {
+        var lineCoords = [];
+        if (isLarge) {
+          var points2 = void 0;
+          var segCount = params2.end - params2.start;
+          if (isPolyline) {
+            var totalCoordsCount = 0;
+            for (var i2 = params2.start; i2 < params2.end; i2++) {
+              totalCoordsCount += seriesModel.getLineCoordsCount(i2);
+            }
+            points2 = new Float32Array(segCount + totalCoordsCount * 2);
+          } else {
+            points2 = new Float32Array(segCount * 4);
+          }
+          var offset2 = 0;
+          var pt = [];
+          for (var i2 = params2.start; i2 < params2.end; i2++) {
+            var len2 = seriesModel.getLineCoords(i2, lineCoords);
+            if (isPolyline) {
+              points2[offset2++] = len2;
+            }
+            for (var k2 = 0; k2 < len2; k2++) {
+              pt = coordSys.dataToPoint(lineCoords[k2], false, pt);
+              points2[offset2++] = pt[0];
+              points2[offset2++] = pt[1];
+            }
+          }
+          lineData.setLayout("linesPoints", points2);
+        } else {
+          for (var i2 = params2.start; i2 < params2.end; i2++) {
+            var itemModel = lineData.getItemModel(i2);
+            var len2 = seriesModel.getLineCoords(i2, lineCoords);
+            var pts = [];
+            if (isPolyline) {
+              for (var j2 = 0; j2 < len2; j2++) {
+                pts.push(coordSys.dataToPoint(lineCoords[j2]));
+              }
+            } else {
+              pts[0] = coordSys.dataToPoint(lineCoords[0]);
+              pts[1] = coordSys.dataToPoint(lineCoords[1]);
+              var curveness = itemModel.get(["lineStyle", "curveness"]);
+              if (+curveness) {
+                pts[2] = [(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness, (pts[0][1] + pts[1][1]) / 2 - (pts[1][0] - pts[0][0]) * curveness];
+              }
+            }
+            lineData.setItemLayout(i2, pts);
+          }
+        }
+      }
+    };
+  }
+};
+const linesLayout$1 = linesLayout;
+var LinesView = (
+  /** @class */
+  function(_super) {
+    __extends(LinesView2, _super);
+    function LinesView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = LinesView2.type;
+      return _this;
+    }
+    LinesView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var lineDraw = this._updateLineDraw(data2, seriesModel);
+      var zlevel = seriesModel.get("zlevel");
+      var trailLength = seriesModel.get(["effect", "trailLength"]);
+      var zr = api2.getZr();
+      var isSvg = zr.painter.getType() === "svg";
+      if (!isSvg) {
+        zr.painter.getLayer(zlevel).clear(true);
+      }
+      if (this._lastZlevel != null && !isSvg) {
+        zr.configLayer(this._lastZlevel, {
+          motionBlur: false
+        });
+      }
+      if (this._showEffect(seriesModel) && trailLength > 0) {
+        if (!isSvg) {
+          zr.configLayer(zlevel, {
+            motionBlur: true,
+            lastFrameAlpha: Math.max(Math.min(trailLength / 10 + 0.9, 1), 0)
+          });
+        }
+      }
+      lineDraw.updateData(data2);
+      var clipPath = seriesModel.get("clip", true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);
+      if (clipPath) {
+        this.group.setClipPath(clipPath);
+      } else {
+        this.group.removeClipPath();
+      }
+      this._lastZlevel = zlevel;
+      this._finished = true;
+    };
+    LinesView2.prototype.incrementalPrepareRender = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var lineDraw = this._updateLineDraw(data2, seriesModel);
+      lineDraw.incrementalPrepareUpdate(data2);
+      this._clearLayer(api2);
+      this._finished = false;
+    };
+    LinesView2.prototype.incrementalRender = function(taskParams, seriesModel, ecModel) {
+      this._lineDraw.incrementalUpdate(taskParams, seriesModel.getData());
+      this._finished = taskParams.end === seriesModel.getData().count();
+    };
+    LinesView2.prototype.eachRendered = function(cb) {
+      this._lineDraw && this._lineDraw.eachRendered(cb);
+    };
+    LinesView2.prototype.updateTransform = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var pipelineContext = seriesModel.pipelineContext;
+      if (!this._finished || pipelineContext.large || pipelineContext.progressiveRender) {
+        return {
+          update: true
+        };
+      } else {
+        var res = linesLayout$1.reset(seriesModel, ecModel, api2);
+        if (res.progress) {
+          res.progress({
+            start: 0,
+            end: data2.count(),
+            count: data2.count()
+          }, data2);
+        }
+        this._lineDraw.updateLayout();
+        this._clearLayer(api2);
+      }
+    };
+    LinesView2.prototype._updateLineDraw = function(data2, seriesModel) {
+      var lineDraw = this._lineDraw;
+      var hasEffect = this._showEffect(seriesModel);
+      var isPolyline = !!seriesModel.get("polyline");
+      var pipelineContext = seriesModel.pipelineContext;
+      var isLargeDraw = pipelineContext.large;
+      if (!lineDraw || hasEffect !== this._hasEffet || isPolyline !== this._isPolyline || isLargeDraw !== this._isLargeDraw) {
+        if (lineDraw) {
+          lineDraw.remove();
+        }
+        lineDraw = this._lineDraw = isLargeDraw ? new LargeLineDraw$1() : new LineDraw$1(isPolyline ? hasEffect ? EffectPolyline$1 : Polyline$1 : hasEffect ? EffectLine$1 : Line$1);
+        this._hasEffet = hasEffect;
+        this._isPolyline = isPolyline;
+        this._isLargeDraw = isLargeDraw;
+      }
+      this.group.add(lineDraw.group);
+      return lineDraw;
+    };
+    LinesView2.prototype._showEffect = function(seriesModel) {
+      return !!seriesModel.get(["effect", "show"]);
+    };
+    LinesView2.prototype._clearLayer = function(api2) {
+      var zr = api2.getZr();
+      var isSvg = zr.painter.getType() === "svg";
+      if (!isSvg && this._lastZlevel != null) {
+        zr.painter.getLayer(this._lastZlevel).clear(true);
+      }
+    };
+    LinesView2.prototype.remove = function(ecModel, api2) {
+      this._lineDraw && this._lineDraw.remove();
+      this._lineDraw = null;
+      this._clearLayer(api2);
+    };
+    LinesView2.prototype.dispose = function(ecModel, api2) {
+      this.remove(ecModel, api2);
+    };
+    LinesView2.type = "lines";
+    return LinesView2;
+  }(ChartView$1)
+);
+const LinesView$1 = LinesView;
+var Uint32Arr = typeof Uint32Array === "undefined" ? Array : Uint32Array;
+var Float64Arr = typeof Float64Array === "undefined" ? Array : Float64Array;
+function compatEc2(seriesOpt) {
+  var data2 = seriesOpt.data;
+  if (data2 && data2[0] && data2[0][0] && data2[0][0].coord) {
+    seriesOpt.data = map$1(data2, function(itemOpt) {
+      var coords = [itemOpt[0].coord, itemOpt[1].coord];
+      var target = {
+        coords
+      };
+      if (itemOpt[0].name) {
+        target.fromName = itemOpt[0].name;
+      }
+      if (itemOpt[1].name) {
+        target.toName = itemOpt[1].name;
+      }
+      return mergeAll([target, itemOpt[0], itemOpt[1]]);
+    });
+  }
+}
+var LinesSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(LinesSeriesModel2, _super);
+    function LinesSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = LinesSeriesModel2.type;
+      _this.visualStyleAccessPath = "lineStyle";
+      _this.visualDrawType = "stroke";
+      return _this;
+    }
+    LinesSeriesModel2.prototype.init = function(option) {
+      option.data = option.data || [];
+      compatEc2(option);
+      var result2 = this._processFlatCoordsArray(option.data);
+      this._flatCoords = result2.flatCoords;
+      this._flatCoordsOffset = result2.flatCoordsOffset;
+      if (result2.flatCoords) {
+        option.data = new Float32Array(result2.count);
+      }
+      _super.prototype.init.apply(this, arguments);
+    };
+    LinesSeriesModel2.prototype.mergeOption = function(option) {
+      compatEc2(option);
+      if (option.data) {
+        var result2 = this._processFlatCoordsArray(option.data);
+        this._flatCoords = result2.flatCoords;
+        this._flatCoordsOffset = result2.flatCoordsOffset;
+        if (result2.flatCoords) {
+          option.data = new Float32Array(result2.count);
+        }
+      }
+      _super.prototype.mergeOption.apply(this, arguments);
+    };
+    LinesSeriesModel2.prototype.appendData = function(params2) {
+      var result2 = this._processFlatCoordsArray(params2.data);
+      if (result2.flatCoords) {
+        if (!this._flatCoords) {
+          this._flatCoords = result2.flatCoords;
+          this._flatCoordsOffset = result2.flatCoordsOffset;
+        } else {
+          this._flatCoords = concatArray(this._flatCoords, result2.flatCoords);
+          this._flatCoordsOffset = concatArray(this._flatCoordsOffset, result2.flatCoordsOffset);
+        }
+        params2.data = new Float32Array(result2.count);
+      }
+      this.getRawData().appendData(params2.data);
+    };
+    LinesSeriesModel2.prototype._getCoordsFromItemModel = function(idx) {
+      var itemModel = this.getData().getItemModel(idx);
+      var coords = itemModel.option instanceof Array ? itemModel.option : itemModel.getShallow("coords");
+      return coords;
+    };
+    LinesSeriesModel2.prototype.getLineCoordsCount = function(idx) {
+      if (this._flatCoordsOffset) {
+        return this._flatCoordsOffset[idx * 2 + 1];
+      } else {
+        return this._getCoordsFromItemModel(idx).length;
+      }
+    };
+    LinesSeriesModel2.prototype.getLineCoords = function(idx, out2) {
+      if (this._flatCoordsOffset) {
+        var offset2 = this._flatCoordsOffset[idx * 2];
+        var len2 = this._flatCoordsOffset[idx * 2 + 1];
+        for (var i2 = 0; i2 < len2; i2++) {
+          out2[i2] = out2[i2] || [];
+          out2[i2][0] = this._flatCoords[offset2 + i2 * 2];
+          out2[i2][1] = this._flatCoords[offset2 + i2 * 2 + 1];
+        }
+        return len2;
+      } else {
+        var coords = this._getCoordsFromItemModel(idx);
+        for (var i2 = 0; i2 < coords.length; i2++) {
+          out2[i2] = out2[i2] || [];
+          out2[i2][0] = coords[i2][0];
+          out2[i2][1] = coords[i2][1];
+        }
+        return coords.length;
+      }
+    };
+    LinesSeriesModel2.prototype._processFlatCoordsArray = function(data2) {
+      var startOffset = 0;
+      if (this._flatCoords) {
+        startOffset = this._flatCoords.length;
+      }
+      if (isNumber$1(data2[0])) {
+        var len2 = data2.length;
+        var coordsOffsetAndLenStorage = new Uint32Arr(len2);
+        var coordsStorage = new Float64Arr(len2);
+        var coordsCursor = 0;
+        var offsetCursor = 0;
+        var dataCount = 0;
+        for (var i2 = 0; i2 < len2; ) {
+          dataCount++;
+          var count2 = data2[i2++];
+          coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset;
+          coordsOffsetAndLenStorage[offsetCursor++] = count2;
+          for (var k2 = 0; k2 < count2; k2++) {
+            var x2 = data2[i2++];
+            var y2 = data2[i2++];
+            coordsStorage[coordsCursor++] = x2;
+            coordsStorage[coordsCursor++] = y2;
+          }
+        }
+        return {
+          flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),
+          flatCoords: coordsStorage,
+          count: dataCount
+        };
+      }
+      return {
+        flatCoordsOffset: null,
+        flatCoords: null,
+        count: data2.length
+      };
+    };
+    LinesSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      var lineData = new SeriesData$1(["value"], this);
+      lineData.hasItemOption = false;
+      lineData.initData(option.data, [], function(dataItem, dimName, dataIndex, dimIndex) {
+        if (dataItem instanceof Array) {
+          return NaN;
+        } else {
+          lineData.hasItemOption = true;
+          var value = dataItem.value;
+          if (value != null) {
+            return value instanceof Array ? value[dimIndex] : value;
+          }
+        }
+      });
+      return lineData;
+    };
+    LinesSeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var data2 = this.getData();
+      var itemModel = data2.getItemModel(dataIndex);
+      var name2 = itemModel.get("name");
+      if (name2) {
+        return name2;
+      }
+      var fromName = itemModel.get("fromName");
+      var toName = itemModel.get("toName");
+      var nameArr = [];
+      fromName != null && nameArr.push(fromName);
+      toName != null && nameArr.push(toName);
+      return createTooltipMarkup("nameValue", {
+        name: nameArr.join(" > ")
+      });
+    };
+    LinesSeriesModel2.prototype.preventIncremental = function() {
+      return !!this.get(["effect", "show"]);
+    };
+    LinesSeriesModel2.prototype.getProgressive = function() {
+      var progressive = this.option.progressive;
+      if (progressive == null) {
+        return this.option.large ? 1e4 : this.get("progressive");
+      }
+      return progressive;
+    };
+    LinesSeriesModel2.prototype.getProgressiveThreshold = function() {
+      var progressiveThreshold = this.option.progressiveThreshold;
+      if (progressiveThreshold == null) {
+        return this.option.large ? 2e4 : this.get("progressiveThreshold");
+      }
+      return progressiveThreshold;
+    };
+    LinesSeriesModel2.prototype.getZLevelKey = function() {
+      var effectModel = this.getModel("effect");
+      var trailLength = effectModel.get("trailLength");
+      return this.getData().count() > this.getProgressiveThreshold() ? this.id : effectModel.get("show") && trailLength > 0 ? trailLength + "" : "";
+    };
+    LinesSeriesModel2.type = "series.lines";
+    LinesSeriesModel2.dependencies = ["grid", "polar", "geo", "calendar"];
+    LinesSeriesModel2.defaultOption = {
+      coordinateSystem: "geo",
+      // zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      // Cartesian coordinate system
+      xAxisIndex: 0,
+      yAxisIndex: 0,
+      symbol: ["none", "none"],
+      symbolSize: [10, 10],
+      // Geo coordinate system
+      geoIndex: 0,
+      effect: {
+        show: false,
+        period: 4,
+        constantSpeed: 0,
+        symbol: "circle",
+        symbolSize: 3,
+        loop: true,
+        trailLength: 0.2
+      },
+      large: false,
+      // Available when large is true
+      largeThreshold: 2e3,
+      polyline: false,
+      clip: true,
+      label: {
+        show: false,
+        position: "end"
+        // distance: 5,
+        // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
+      },
+      lineStyle: {
+        opacity: 0.5
+      }
+    };
+    return LinesSeriesModel2;
+  }(SeriesModel$1)
+);
+const LinesSeriesModel$1 = LinesSeriesModel;
+function normalize(a2) {
+  if (!(a2 instanceof Array)) {
+    a2 = [a2, a2];
+  }
+  return a2;
+}
+var linesVisual = {
+  seriesType: "lines",
+  reset: function(seriesModel) {
+    var symbolType = normalize(seriesModel.get("symbol"));
+    var symbolSize = normalize(seriesModel.get("symbolSize"));
+    var data2 = seriesModel.getData();
+    data2.setVisual("fromSymbol", symbolType && symbolType[0]);
+    data2.setVisual("toSymbol", symbolType && symbolType[1]);
+    data2.setVisual("fromSymbolSize", symbolSize && symbolSize[0]);
+    data2.setVisual("toSymbolSize", symbolSize && symbolSize[1]);
+    function dataEach(data3, idx) {
+      var itemModel = data3.getItemModel(idx);
+      var symbolType2 = normalize(itemModel.getShallow("symbol", true));
+      var symbolSize2 = normalize(itemModel.getShallow("symbolSize", true));
+      symbolType2[0] && data3.setItemVisual(idx, "fromSymbol", symbolType2[0]);
+      symbolType2[1] && data3.setItemVisual(idx, "toSymbol", symbolType2[1]);
+      symbolSize2[0] && data3.setItemVisual(idx, "fromSymbolSize", symbolSize2[0]);
+      symbolSize2[1] && data3.setItemVisual(idx, "toSymbolSize", symbolSize2[1]);
+    }
+    return {
+      dataEach: data2.hasItemOption ? dataEach : null
+    };
+  }
+};
+const linesVisual$1 = linesVisual;
+function install$w(registers) {
+  registers.registerChartView(LinesView$1);
+  registers.registerSeriesModel(LinesSeriesModel$1);
+  registers.registerLayout(linesLayout$1);
+  registers.registerVisual(linesVisual$1);
+}
+var GRADIENT_LEVELS = 256;
+var HeatmapLayer = (
+  /** @class */
+  function() {
+    function HeatmapLayer2() {
+      this.blurSize = 30;
+      this.pointSize = 20;
+      this.maxOpacity = 1;
+      this.minOpacity = 0;
+      this._gradientPixels = {
+        inRange: null,
+        outOfRange: null
+      };
+      var canvas = platformApi.createCanvas();
+      this.canvas = canvas;
+    }
+    HeatmapLayer2.prototype.update = function(data2, width, height, normalize2, colorFunc, isInRange) {
+      var brush2 = this._getBrush();
+      var gradientInRange = this._getGradient(colorFunc, "inRange");
+      var gradientOutOfRange = this._getGradient(colorFunc, "outOfRange");
+      var r2 = this.pointSize + this.blurSize;
+      var canvas = this.canvas;
+      var ctx = canvas.getContext("2d");
+      var len2 = data2.length;
+      canvas.width = width;
+      canvas.height = height;
+      for (var i2 = 0; i2 < len2; ++i2) {
+        var p2 = data2[i2];
+        var x2 = p2[0];
+        var y2 = p2[1];
+        var value = p2[2];
+        var alpha = normalize2(value);
+        ctx.globalAlpha = alpha;
+        ctx.drawImage(brush2, x2 - r2, y2 - r2);
+      }
+      if (!canvas.width || !canvas.height) {
+        return canvas;
+      }
+      var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+      var pixels = imageData.data;
+      var offset2 = 0;
+      var pixelLen = pixels.length;
+      var minOpacity = this.minOpacity;
+      var maxOpacity = this.maxOpacity;
+      var diffOpacity = maxOpacity - minOpacity;
+      while (offset2 < pixelLen) {
+        var alpha = pixels[offset2 + 3] / 256;
+        var gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS - 1)) * 4;
+        if (alpha > 0) {
+          var gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange;
+          alpha > 0 && (alpha = alpha * diffOpacity + minOpacity);
+          pixels[offset2++] = gradient[gradientOffset];
+          pixels[offset2++] = gradient[gradientOffset + 1];
+          pixels[offset2++] = gradient[gradientOffset + 2];
+          pixels[offset2++] = gradient[gradientOffset + 3] * alpha * 256;
+        } else {
+          offset2 += 4;
+        }
+      }
+      ctx.putImageData(imageData, 0, 0);
+      return canvas;
+    };
+    HeatmapLayer2.prototype._getBrush = function() {
+      var brushCanvas = this._brushCanvas || (this._brushCanvas = platformApi.createCanvas());
+      var r2 = this.pointSize + this.blurSize;
+      var d2 = r2 * 2;
+      brushCanvas.width = d2;
+      brushCanvas.height = d2;
+      var ctx = brushCanvas.getContext("2d");
+      ctx.clearRect(0, 0, d2, d2);
+      ctx.shadowOffsetX = d2;
+      ctx.shadowBlur = this.blurSize;
+      ctx.shadowColor = "#000";
+      ctx.beginPath();
+      ctx.arc(-r2, r2, this.pointSize, 0, Math.PI * 2, true);
+      ctx.closePath();
+      ctx.fill();
+      return brushCanvas;
+    };
+    HeatmapLayer2.prototype._getGradient = function(colorFunc, state) {
+      var gradientPixels = this._gradientPixels;
+      var pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));
+      var color2 = [0, 0, 0, 0];
+      var off2 = 0;
+      for (var i2 = 0; i2 < 256; i2++) {
+        colorFunc[state](i2 / 255, true, color2);
+        pixelsSingleState[off2++] = color2[0];
+        pixelsSingleState[off2++] = color2[1];
+        pixelsSingleState[off2++] = color2[2];
+        pixelsSingleState[off2++] = color2[3];
+      }
+      return pixelsSingleState;
+    };
+    return HeatmapLayer2;
+  }()
+);
+const HeatmapLayer$1 = HeatmapLayer;
+function getIsInPiecewiseRange(dataExtent, pieceList, selected) {
+  var dataSpan = dataExtent[1] - dataExtent[0];
+  pieceList = map$1(pieceList, function(piece) {
+    return {
+      interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]
+    };
+  });
+  var len2 = pieceList.length;
+  var lastIndex = 0;
+  return function(val) {
+    var i2;
+    for (i2 = lastIndex; i2 < len2; i2++) {
+      var interval = pieceList[i2].interval;
+      if (interval[0] <= val && val <= interval[1]) {
+        lastIndex = i2;
+        break;
+      }
+    }
+    if (i2 === len2) {
+      for (i2 = lastIndex - 1; i2 >= 0; i2--) {
+        var interval = pieceList[i2].interval;
+        if (interval[0] <= val && val <= interval[1]) {
+          lastIndex = i2;
+          break;
+        }
+      }
+    }
+    return i2 >= 0 && i2 < len2 && selected[i2];
+  };
+}
+function getIsInContinuousRange(dataExtent, range2) {
+  var dataSpan = dataExtent[1] - dataExtent[0];
+  range2 = [(range2[0] - dataExtent[0]) / dataSpan, (range2[1] - dataExtent[0]) / dataSpan];
+  return function(val) {
+    return val >= range2[0] && val <= range2[1];
+  };
+}
+function isGeoCoordSys(coordSys) {
+  var dimensions = coordSys.dimensions;
+  return dimensions[0] === "lng" && dimensions[1] === "lat";
+}
+var HeatmapView = (
+  /** @class */
+  function(_super) {
+    __extends(HeatmapView2, _super);
+    function HeatmapView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = HeatmapView2.type;
+      return _this;
+    }
+    HeatmapView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var visualMapOfThisSeries;
+      ecModel.eachComponent("visualMap", function(visualMap2) {
+        visualMap2.eachTargetSeries(function(targetSeries) {
+          if (targetSeries === seriesModel) {
+            visualMapOfThisSeries = visualMap2;
+          }
+        });
+      });
+      this._progressiveEls = null;
+      this.group.removeAll();
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys.type === "cartesian2d" || coordSys.type === "calendar") {
+        this._renderOnCartesianAndCalendar(seriesModel, api2, 0, seriesModel.getData().count());
+      } else if (isGeoCoordSys(coordSys)) {
+        this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api2);
+      }
+    };
+    HeatmapView2.prototype.incrementalPrepareRender = function(seriesModel, ecModel, api2) {
+      this.group.removeAll();
+    };
+    HeatmapView2.prototype.incrementalRender = function(params2, seriesModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      if (coordSys) {
+        if (isGeoCoordSys(coordSys)) {
+          this.render(seriesModel, ecModel, api2);
+        } else {
+          this._progressiveEls = [];
+          this._renderOnCartesianAndCalendar(seriesModel, api2, params2.start, params2.end, true);
+        }
+      }
+    };
+    HeatmapView2.prototype.eachRendered = function(cb) {
+      traverseElements(this._progressiveEls || this.group, cb);
+    };
+    HeatmapView2.prototype._renderOnCartesianAndCalendar = function(seriesModel, api2, start2, end2, incremental) {
+      var coordSys = seriesModel.coordinateSystem;
+      var isCartesian2d = isCoordinateSystemType(coordSys, "cartesian2d");
+      var width;
+      var height;
+      var xAxisExtent;
+      var yAxisExtent;
+      if (isCartesian2d) {
+        var xAxis = coordSys.getAxis("x");
+        var yAxis = coordSys.getAxis("y");
+        width = xAxis.getBandWidth() + 0.5;
+        height = yAxis.getBandWidth() + 0.5;
+        xAxisExtent = xAxis.scale.getExtent();
+        yAxisExtent = yAxis.scale.getExtent();
+      }
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var emphasisStyle = seriesModel.getModel(["emphasis", "itemStyle"]).getItemStyle();
+      var blurStyle = seriesModel.getModel(["blur", "itemStyle"]).getItemStyle();
+      var selectStyle = seriesModel.getModel(["select", "itemStyle"]).getItemStyle();
+      var borderRadius = seriesModel.get(["itemStyle", "borderRadius"]);
+      var labelStatesModels = getLabelStatesModels(seriesModel);
+      var emphasisModel = seriesModel.getModel("emphasis");
+      var focus2 = emphasisModel.get("focus");
+      var blurScope = emphasisModel.get("blurScope");
+      var emphasisDisabled = emphasisModel.get("disabled");
+      var dataDims = isCartesian2d ? [data2.mapDimension("x"), data2.mapDimension("y"), data2.mapDimension("value")] : [data2.mapDimension("time"), data2.mapDimension("value")];
+      for (var idx = start2; idx < end2; idx++) {
+        var rect = void 0;
+        var style2 = data2.getItemVisual(idx, "style");
+        if (isCartesian2d) {
+          var dataDimX = data2.get(dataDims[0], idx);
+          var dataDimY = data2.get(dataDims[1], idx);
+          if (isNaN(data2.get(dataDims[2], idx)) || isNaN(dataDimX) || isNaN(dataDimY) || dataDimX < xAxisExtent[0] || dataDimX > xAxisExtent[1] || dataDimY < yAxisExtent[0] || dataDimY > yAxisExtent[1]) {
+            continue;
+          }
+          var point = coordSys.dataToPoint([dataDimX, dataDimY]);
+          rect = new Rect$3({
+            shape: {
+              x: point[0] - width / 2,
+              y: point[1] - height / 2,
+              width,
+              height
+            },
+            style: style2
+          });
+        } else {
+          if (isNaN(data2.get(dataDims[1], idx))) {
+            continue;
+          }
+          rect = new Rect$3({
+            z2: 1,
+            shape: coordSys.dataToRect([data2.get(dataDims[0], idx)]).contentShape,
+            style: style2
+          });
+        }
+        if (data2.hasItemOption) {
+          var itemModel = data2.getItemModel(idx);
+          var emphasisModel_1 = itemModel.getModel("emphasis");
+          emphasisStyle = emphasisModel_1.getModel("itemStyle").getItemStyle();
+          blurStyle = itemModel.getModel(["blur", "itemStyle"]).getItemStyle();
+          selectStyle = itemModel.getModel(["select", "itemStyle"]).getItemStyle();
+          borderRadius = itemModel.get(["itemStyle", "borderRadius"]);
+          focus2 = emphasisModel_1.get("focus");
+          blurScope = emphasisModel_1.get("blurScope");
+          emphasisDisabled = emphasisModel_1.get("disabled");
+          labelStatesModels = getLabelStatesModels(itemModel);
+        }
+        rect.shape.r = borderRadius;
+        var rawValue = seriesModel.getRawValue(idx);
+        var defaultText = "-";
+        if (rawValue && rawValue[2] != null) {
+          defaultText = rawValue[2] + "";
+        }
+        setLabelStyle(rect, labelStatesModels, {
+          labelFetcher: seriesModel,
+          labelDataIndex: idx,
+          defaultOpacity: style2.opacity,
+          defaultText
+        });
+        rect.ensureState("emphasis").style = emphasisStyle;
+        rect.ensureState("blur").style = blurStyle;
+        rect.ensureState("select").style = selectStyle;
+        toggleHoverEmphasis(rect, focus2, blurScope, emphasisDisabled);
+        rect.incremental = incremental;
+        if (incremental) {
+          rect.states.emphasis.hoverLayer = true;
+        }
+        group.add(rect);
+        data2.setItemGraphicEl(idx, rect);
+        if (this._progressiveEls) {
+          this._progressiveEls.push(rect);
+        }
+      }
+    };
+    HeatmapView2.prototype._renderOnGeo = function(geo2, seriesModel, visualMapModel, api2) {
+      var inRangeVisuals = visualMapModel.targetVisuals.inRange;
+      var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange;
+      var data2 = seriesModel.getData();
+      var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer$1();
+      hmLayer.blurSize = seriesModel.get("blurSize");
+      hmLayer.pointSize = seriesModel.get("pointSize");
+      hmLayer.minOpacity = seriesModel.get("minOpacity");
+      hmLayer.maxOpacity = seriesModel.get("maxOpacity");
+      var rect = geo2.getViewRect().clone();
+      var roamTransform = geo2.getRoamTransform();
+      rect.applyTransform(roamTransform);
+      var x2 = Math.max(rect.x, 0);
+      var y2 = Math.max(rect.y, 0);
+      var x22 = Math.min(rect.width + rect.x, api2.getWidth());
+      var y22 = Math.min(rect.height + rect.y, api2.getHeight());
+      var width = x22 - x2;
+      var height = y22 - y2;
+      var dims = [data2.mapDimension("lng"), data2.mapDimension("lat"), data2.mapDimension("value")];
+      var points2 = data2.mapArray(dims, function(lng, lat, value) {
+        var pt = geo2.dataToPoint([lng, lat]);
+        pt[0] -= x2;
+        pt[1] -= y2;
+        pt.push(value);
+        return pt;
+      });
+      var dataExtent = visualMapModel.getExtent();
+      var isInRange = visualMapModel.type === "visualMap.continuous" ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);
+      hmLayer.update(points2, width, height, inRangeVisuals.color.getNormalizer(), {
+        inRange: inRangeVisuals.color.getColorMapper(),
+        outOfRange: outOfRangeVisuals.color.getColorMapper()
+      }, isInRange);
+      var img = new ZRImage$1({
+        style: {
+          width,
+          height,
+          x: x2,
+          y: y2,
+          image: hmLayer.canvas
+        },
+        silent: true
+      });
+      this.group.add(img);
+    };
+    HeatmapView2.type = "heatmap";
+    return HeatmapView2;
+  }(ChartView$1)
+);
+const HeatmapView$1 = HeatmapView;
+var HeatmapSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(HeatmapSeriesModel2, _super);
+    function HeatmapSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = HeatmapSeriesModel2.type;
+      return _this;
+    }
+    HeatmapSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesData(null, this, {
+        generateCoord: "value"
+      });
+    };
+    HeatmapSeriesModel2.prototype.preventIncremental = function() {
+      var coordSysCreator = CoordinateSystem.get(this.get("coordinateSystem"));
+      if (coordSysCreator && coordSysCreator.dimensions) {
+        return coordSysCreator.dimensions[0] === "lng" && coordSysCreator.dimensions[1] === "lat";
+      }
+    };
+    HeatmapSeriesModel2.type = "series.heatmap";
+    HeatmapSeriesModel2.dependencies = ["grid", "geo", "calendar"];
+    HeatmapSeriesModel2.defaultOption = {
+      coordinateSystem: "cartesian2d",
+      // zlevel: 0,
+      z: 2,
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Geo coordinate system
+      geoIndex: 0,
+      blurSize: 30,
+      pointSize: 20,
+      maxOpacity: 1,
+      minOpacity: 0,
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      }
+    };
+    return HeatmapSeriesModel2;
+  }(SeriesModel$1)
+);
+const HeatmapSeriesModel$1 = HeatmapSeriesModel;
+function install$v(registers) {
+  registers.registerChartView(HeatmapView$1);
+  registers.registerSeriesModel(HeatmapSeriesModel$1);
+}
+var BAR_BORDER_WIDTH_QUERY = ["itemStyle", "borderWidth"];
+var LAYOUT_ATTRS = [{
+  xy: "x",
+  wh: "width",
+  index: 0,
+  posDesc: ["left", "right"]
+}, {
+  xy: "y",
+  wh: "height",
+  index: 1,
+  posDesc: ["top", "bottom"]
+}];
+var pathForLineWidth = new Circle$1();
+var PictorialBarView = (
+  /** @class */
+  function(_super) {
+    __extends(PictorialBarView2, _super);
+    function PictorialBarView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = PictorialBarView2.type;
+      return _this;
+    }
+    PictorialBarView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var group = this.group;
+      var data2 = seriesModel.getData();
+      var oldData = this._data;
+      var cartesian = seriesModel.coordinateSystem;
+      var baseAxis = cartesian.getBaseAxis();
+      var isHorizontal = baseAxis.isHorizontal();
+      var coordSysRect = cartesian.master.getRect();
+      var opt = {
+        ecSize: {
+          width: api2.getWidth(),
+          height: api2.getHeight()
+        },
+        seriesModel,
+        coordSys: cartesian,
+        coordSysExtent: [[coordSysRect.x, coordSysRect.x + coordSysRect.width], [coordSysRect.y, coordSysRect.y + coordSysRect.height]],
+        isHorizontal,
+        valueDim: LAYOUT_ATTRS[+isHorizontal],
+        categoryDim: LAYOUT_ATTRS[1 - +isHorizontal]
+      };
+      data2.diff(oldData).add(function(dataIndex) {
+        if (!data2.hasValue(dataIndex)) {
+          return;
+        }
+        var itemModel = getItemModel(data2, dataIndex);
+        var symbolMeta = getSymbolMeta(data2, dataIndex, itemModel, opt);
+        var bar2 = createBar(data2, opt, symbolMeta);
+        data2.setItemGraphicEl(dataIndex, bar2);
+        group.add(bar2);
+        updateCommon(bar2, opt, symbolMeta);
+      }).update(function(newIndex, oldIndex) {
+        var bar2 = oldData.getItemGraphicEl(oldIndex);
+        if (!data2.hasValue(newIndex)) {
+          group.remove(bar2);
+          return;
+        }
+        var itemModel = getItemModel(data2, newIndex);
+        var symbolMeta = getSymbolMeta(data2, newIndex, itemModel, opt);
+        var pictorialShapeStr = getShapeStr(data2, symbolMeta);
+        if (bar2 && pictorialShapeStr !== bar2.__pictorialShapeStr) {
+          group.remove(bar2);
+          data2.setItemGraphicEl(newIndex, null);
+          bar2 = null;
+        }
+        if (bar2) {
+          updateBar(bar2, opt, symbolMeta);
+        } else {
+          bar2 = createBar(data2, opt, symbolMeta, true);
+        }
+        data2.setItemGraphicEl(newIndex, bar2);
+        bar2.__pictorialSymbolMeta = symbolMeta;
+        group.add(bar2);
+        updateCommon(bar2, opt, symbolMeta);
+      }).remove(function(dataIndex) {
+        var bar2 = oldData.getItemGraphicEl(dataIndex);
+        bar2 && removeBar(oldData, dataIndex, bar2.__pictorialSymbolMeta.animationModel, bar2);
+      }).execute();
+      this._data = data2;
+      return this.group;
+    };
+    PictorialBarView2.prototype.remove = function(ecModel, api2) {
+      var group = this.group;
+      var data2 = this._data;
+      if (ecModel.get("animation")) {
+        if (data2) {
+          data2.eachItemGraphicEl(function(bar2) {
+            removeBar(data2, getECData(bar2).dataIndex, ecModel, bar2);
+          });
+        }
+      } else {
+        group.removeAll();
+      }
+    };
+    PictorialBarView2.type = "pictorialBar";
+    return PictorialBarView2;
+  }(ChartView$1)
+);
+function getSymbolMeta(data2, dataIndex, itemModel, opt) {
+  var layout2 = data2.getItemLayout(dataIndex);
+  var symbolRepeat = itemModel.get("symbolRepeat");
+  var symbolClip = itemModel.get("symbolClip");
+  var symbolPosition = itemModel.get("symbolPosition") || "start";
+  var symbolRotate = itemModel.get("symbolRotate");
+  var rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+  var symbolPatternSize = itemModel.get("symbolPatternSize") || 2;
+  var isAnimationEnabled2 = itemModel.isAnimationEnabled();
+  var symbolMeta = {
+    dataIndex,
+    layout: layout2,
+    itemModel,
+    symbolType: data2.getItemVisual(dataIndex, "symbol") || "circle",
+    style: data2.getItemVisual(dataIndex, "style"),
+    symbolClip,
+    symbolRepeat,
+    symbolRepeatDirection: itemModel.get("symbolRepeatDirection"),
+    symbolPatternSize,
+    rotation,
+    animationModel: isAnimationEnabled2 ? itemModel : null,
+    hoverScale: isAnimationEnabled2 && itemModel.get(["emphasis", "scale"]),
+    z2: itemModel.getShallow("z", true) || 0
+  };
+  prepareBarLength(itemModel, symbolRepeat, layout2, opt, symbolMeta);
+  prepareSymbolSize(data2, dataIndex, layout2, symbolRepeat, symbolClip, symbolMeta.boundingLength, symbolMeta.pxSign, symbolPatternSize, opt, symbolMeta);
+  prepareLineWidth(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);
+  var symbolSize = symbolMeta.symbolSize;
+  var symbolOffset = normalizeSymbolOffset(itemModel.get("symbolOffset"), symbolSize);
+  prepareLayoutInfo(itemModel, symbolSize, layout2, symbolRepeat, symbolClip, symbolOffset, symbolPosition, symbolMeta.valueLineWidth, symbolMeta.boundingLength, symbolMeta.repeatCutLength, opt, symbolMeta);
+  return symbolMeta;
+}
+function prepareBarLength(itemModel, symbolRepeat, layout2, opt, outputSymbolMeta) {
+  var valueDim = opt.valueDim;
+  var symbolBoundingData = itemModel.get("symbolBoundingData");
+  var valueAxis2 = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());
+  var zeroPx = valueAxis2.toGlobalCoord(valueAxis2.dataToCoord(0));
+  var pxSignIdx = 1 - +(layout2[valueDim.wh] <= 0);
+  var boundingLength;
+  if (isArray$2(symbolBoundingData)) {
+    var symbolBoundingExtent = [convertToCoordOnAxis(valueAxis2, symbolBoundingData[0]) - zeroPx, convertToCoordOnAxis(valueAxis2, symbolBoundingData[1]) - zeroPx];
+    symbolBoundingExtent[1] < symbolBoundingExtent[0] && symbolBoundingExtent.reverse();
+    boundingLength = symbolBoundingExtent[pxSignIdx];
+  } else if (symbolBoundingData != null) {
+    boundingLength = convertToCoordOnAxis(valueAxis2, symbolBoundingData) - zeroPx;
+  } else if (symbolRepeat) {
+    boundingLength = opt.coordSysExtent[valueDim.index][pxSignIdx] - zeroPx;
+  } else {
+    boundingLength = layout2[valueDim.wh];
+  }
+  outputSymbolMeta.boundingLength = boundingLength;
+  if (symbolRepeat) {
+    outputSymbolMeta.repeatCutLength = layout2[valueDim.wh];
+  }
+  outputSymbolMeta.pxSign = boundingLength > 0 ? 1 : -1;
+}
+function convertToCoordOnAxis(axis2, value) {
+  return axis2.toGlobalCoord(axis2.dataToCoord(axis2.scale.parse(value)));
+}
+function prepareSymbolSize(data2, dataIndex, layout2, symbolRepeat, symbolClip, boundingLength, pxSign, symbolPatternSize, opt, outputSymbolMeta) {
+  var valueDim = opt.valueDim;
+  var categoryDim = opt.categoryDim;
+  var categorySize = Math.abs(layout2[categoryDim.wh]);
+  var symbolSize = data2.getItemVisual(dataIndex, "symbolSize");
+  var parsedSymbolSize;
+  if (isArray$2(symbolSize)) {
+    parsedSymbolSize = symbolSize.slice();
+  } else {
+    if (symbolSize == null) {
+      parsedSymbolSize = ["100%", "100%"];
+    } else {
+      parsedSymbolSize = [symbolSize, symbolSize];
+    }
+  }
+  parsedSymbolSize[categoryDim.index] = parsePercent(parsedSymbolSize[categoryDim.index], categorySize);
+  parsedSymbolSize[valueDim.index] = parsePercent(parsedSymbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));
+  outputSymbolMeta.symbolSize = parsedSymbolSize;
+  var symbolScale = outputSymbolMeta.symbolScale = [parsedSymbolSize[0] / symbolPatternSize, parsedSymbolSize[1] / symbolPatternSize];
+  symbolScale[valueDim.index] *= (opt.isHorizontal ? -1 : 1) * pxSign;
+}
+function prepareLineWidth(itemModel, symbolScale, rotation, opt, outputSymbolMeta) {
+  var valueLineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;
+  if (valueLineWidth) {
+    pathForLineWidth.attr({
+      scaleX: symbolScale[0],
+      scaleY: symbolScale[1],
+      rotation
+    });
+    pathForLineWidth.updateTransform();
+    valueLineWidth /= pathForLineWidth.getLineScale();
+    valueLineWidth *= symbolScale[opt.valueDim.index];
+  }
+  outputSymbolMeta.valueLineWidth = valueLineWidth || 0;
+}
+function prepareLayoutInfo(itemModel, symbolSize, layout2, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, outputSymbolMeta) {
+  var categoryDim = opt.categoryDim;
+  var valueDim = opt.valueDim;
+  var pxSign = outputSymbolMeta.pxSign;
+  var unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);
+  var pathLen = unitLength;
+  if (symbolRepeat) {
+    var absBoundingLength = Math.abs(boundingLength);
+    var symbolMargin = retrieve(itemModel.get("symbolMargin"), "15%") + "";
+    var hasEndGap = false;
+    if (symbolMargin.lastIndexOf("!") === symbolMargin.length - 1) {
+      hasEndGap = true;
+      symbolMargin = symbolMargin.slice(0, symbolMargin.length - 1);
+    }
+    var symbolMarginNumeric = parsePercent(symbolMargin, symbolSize[valueDim.index]);
+    var uLenWithMargin = Math.max(unitLength + symbolMarginNumeric * 2, 0);
+    var endFix = hasEndGap ? 0 : symbolMarginNumeric * 2;
+    var repeatSpecified = isNumeric(symbolRepeat);
+    var repeatTimes = repeatSpecified ? symbolRepeat : toIntTimes((absBoundingLength + endFix) / uLenWithMargin);
+    var mDiff = absBoundingLength - repeatTimes * unitLength;
+    symbolMarginNumeric = mDiff / 2 / (hasEndGap ? repeatTimes : Math.max(repeatTimes - 1, 1));
+    uLenWithMargin = unitLength + symbolMarginNumeric * 2;
+    endFix = hasEndGap ? 0 : symbolMarginNumeric * 2;
+    if (!repeatSpecified && symbolRepeat !== "fixed") {
+      repeatTimes = repeatCutLength ? toIntTimes((Math.abs(repeatCutLength) + endFix) / uLenWithMargin) : 0;
+    }
+    pathLen = repeatTimes * uLenWithMargin - endFix;
+    outputSymbolMeta.repeatTimes = repeatTimes;
+    outputSymbolMeta.symbolMargin = symbolMarginNumeric;
+  }
+  var sizeFix = pxSign * (pathLen / 2);
+  var pathPosition = outputSymbolMeta.pathPosition = [];
+  pathPosition[categoryDim.index] = layout2[categoryDim.wh] / 2;
+  pathPosition[valueDim.index] = symbolPosition === "start" ? sizeFix : symbolPosition === "end" ? boundingLength - sizeFix : boundingLength / 2;
+  if (symbolOffset) {
+    pathPosition[0] += symbolOffset[0];
+    pathPosition[1] += symbolOffset[1];
+  }
+  var bundlePosition = outputSymbolMeta.bundlePosition = [];
+  bundlePosition[categoryDim.index] = layout2[categoryDim.xy];
+  bundlePosition[valueDim.index] = layout2[valueDim.xy];
+  var barRectShape = outputSymbolMeta.barRectShape = extend$1({}, layout2);
+  barRectShape[valueDim.wh] = pxSign * Math.max(Math.abs(layout2[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix));
+  barRectShape[categoryDim.wh] = layout2[categoryDim.wh];
+  var clipShape = outputSymbolMeta.clipShape = {};
+  clipShape[categoryDim.xy] = -layout2[categoryDim.xy];
+  clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];
+  clipShape[valueDim.xy] = 0;
+  clipShape[valueDim.wh] = layout2[valueDim.wh];
+}
+function createPath(symbolMeta) {
+  var symbolPatternSize = symbolMeta.symbolPatternSize;
+  var path2 = createSymbol$1(
+    // Consider texture img, make a big size.
+    symbolMeta.symbolType,
+    -symbolPatternSize / 2,
+    -symbolPatternSize / 2,
+    symbolPatternSize,
+    symbolPatternSize
+  );
+  path2.attr({
+    culling: true
+  });
+  path2.type !== "image" && path2.setStyle({
+    strokeNoScale: true
+  });
+  return path2;
+}
+function createOrUpdateRepeatSymbols(bar2, opt, symbolMeta, isUpdate) {
+  var bundle = bar2.__pictorialBundle;
+  var symbolSize = symbolMeta.symbolSize;
+  var valueLineWidth = symbolMeta.valueLineWidth;
+  var pathPosition = symbolMeta.pathPosition;
+  var valueDim = opt.valueDim;
+  var repeatTimes = symbolMeta.repeatTimes || 0;
+  var index3 = 0;
+  var unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;
+  eachPath(bar2, function(path3) {
+    path3.__pictorialAnimationIndex = index3;
+    path3.__pictorialRepeatTimes = repeatTimes;
+    if (index3 < repeatTimes) {
+      updateAttr(path3, null, makeTarget(index3), symbolMeta, isUpdate);
+    } else {
+      updateAttr(path3, null, {
+        scaleX: 0,
+        scaleY: 0
+      }, symbolMeta, isUpdate, function() {
+        bundle.remove(path3);
+      });
+    }
+    index3++;
+  });
+  for (; index3 < repeatTimes; index3++) {
+    var path2 = createPath(symbolMeta);
+    path2.__pictorialAnimationIndex = index3;
+    path2.__pictorialRepeatTimes = repeatTimes;
+    bundle.add(path2);
+    var target = makeTarget(index3);
+    updateAttr(path2, {
+      x: target.x,
+      y: target.y,
+      scaleX: 0,
+      scaleY: 0
+    }, {
+      scaleX: target.scaleX,
+      scaleY: target.scaleY,
+      rotation: target.rotation
+    }, symbolMeta, isUpdate);
+  }
+  function makeTarget(index4) {
+    var position2 = pathPosition.slice();
+    var pxSign = symbolMeta.pxSign;
+    var i2 = index4;
+    if (symbolMeta.symbolRepeatDirection === "start" ? pxSign > 0 : pxSign < 0) {
+      i2 = repeatTimes - 1 - index4;
+    }
+    position2[valueDim.index] = unit * (i2 - repeatTimes / 2 + 0.5) + pathPosition[valueDim.index];
+    return {
+      x: position2[0],
+      y: position2[1],
+      scaleX: symbolMeta.symbolScale[0],
+      scaleY: symbolMeta.symbolScale[1],
+      rotation: symbolMeta.rotation
+    };
+  }
+}
+function createOrUpdateSingleSymbol(bar2, opt, symbolMeta, isUpdate) {
+  var bundle = bar2.__pictorialBundle;
+  var mainPath = bar2.__pictorialMainPath;
+  if (!mainPath) {
+    mainPath = bar2.__pictorialMainPath = createPath(symbolMeta);
+    bundle.add(mainPath);
+    updateAttr(mainPath, {
+      x: symbolMeta.pathPosition[0],
+      y: symbolMeta.pathPosition[1],
+      scaleX: 0,
+      scaleY: 0,
+      rotation: symbolMeta.rotation
+    }, {
+      scaleX: symbolMeta.symbolScale[0],
+      scaleY: symbolMeta.symbolScale[1]
+    }, symbolMeta, isUpdate);
+  } else {
+    updateAttr(mainPath, null, {
+      x: symbolMeta.pathPosition[0],
+      y: symbolMeta.pathPosition[1],
+      scaleX: symbolMeta.symbolScale[0],
+      scaleY: symbolMeta.symbolScale[1],
+      rotation: symbolMeta.rotation
+    }, symbolMeta, isUpdate);
+  }
+}
+function createOrUpdateBarRect(bar2, symbolMeta, isUpdate) {
+  var rectShape = extend$1({}, symbolMeta.barRectShape);
+  var barRect = bar2.__pictorialBarRect;
+  if (!barRect) {
+    barRect = bar2.__pictorialBarRect = new Rect$3({
+      z2: 2,
+      shape: rectShape,
+      silent: true,
+      style: {
+        stroke: "transparent",
+        fill: "transparent",
+        lineWidth: 0
+      }
+    });
+    barRect.disableMorphing = true;
+    bar2.add(barRect);
+  } else {
+    updateAttr(barRect, null, {
+      shape: rectShape
+    }, symbolMeta, isUpdate);
+  }
+}
+function createOrUpdateClip(bar2, opt, symbolMeta, isUpdate) {
+  if (symbolMeta.symbolClip) {
+    var clipPath = bar2.__pictorialClipPath;
+    var clipShape = extend$1({}, symbolMeta.clipShape);
+    var valueDim = opt.valueDim;
+    var animationModel = symbolMeta.animationModel;
+    var dataIndex = symbolMeta.dataIndex;
+    if (clipPath) {
+      updateProps$1(clipPath, {
+        shape: clipShape
+      }, animationModel, dataIndex);
+    } else {
+      clipShape[valueDim.wh] = 0;
+      clipPath = new Rect$3({
+        shape: clipShape
+      });
+      bar2.__pictorialBundle.setClipPath(clipPath);
+      bar2.__pictorialClipPath = clipPath;
+      var target = {};
+      target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];
+      graphic$1[isUpdate ? "updateProps" : "initProps"](clipPath, {
+        shape: target
+      }, animationModel, dataIndex);
+    }
+  }
+}
+function getItemModel(data2, dataIndex) {
+  var itemModel = data2.getItemModel(dataIndex);
+  itemModel.getAnimationDelayParams = getAnimationDelayParams;
+  itemModel.isAnimationEnabled = isAnimationEnabled;
+  return itemModel;
+}
+function getAnimationDelayParams(path2) {
+  return {
+    index: path2.__pictorialAnimationIndex,
+    count: path2.__pictorialRepeatTimes
+  };
+}
+function isAnimationEnabled() {
+  return this.parentModel.isAnimationEnabled() && !!this.getShallow("animation");
+}
+function createBar(data2, opt, symbolMeta, isUpdate) {
+  var bar2 = new Group$4();
+  var bundle = new Group$4();
+  bar2.add(bundle);
+  bar2.__pictorialBundle = bundle;
+  bundle.x = symbolMeta.bundlePosition[0];
+  bundle.y = symbolMeta.bundlePosition[1];
+  if (symbolMeta.symbolRepeat) {
+    createOrUpdateRepeatSymbols(bar2, opt, symbolMeta);
+  } else {
+    createOrUpdateSingleSymbol(bar2, opt, symbolMeta);
+  }
+  createOrUpdateBarRect(bar2, symbolMeta, isUpdate);
+  createOrUpdateClip(bar2, opt, symbolMeta, isUpdate);
+  bar2.__pictorialShapeStr = getShapeStr(data2, symbolMeta);
+  bar2.__pictorialSymbolMeta = symbolMeta;
+  return bar2;
+}
+function updateBar(bar2, opt, symbolMeta) {
+  var animationModel = symbolMeta.animationModel;
+  var dataIndex = symbolMeta.dataIndex;
+  var bundle = bar2.__pictorialBundle;
+  updateProps$1(bundle, {
+    x: symbolMeta.bundlePosition[0],
+    y: symbolMeta.bundlePosition[1]
+  }, animationModel, dataIndex);
+  if (symbolMeta.symbolRepeat) {
+    createOrUpdateRepeatSymbols(bar2, opt, symbolMeta, true);
+  } else {
+    createOrUpdateSingleSymbol(bar2, opt, symbolMeta, true);
+  }
+  createOrUpdateBarRect(bar2, symbolMeta, true);
+  createOrUpdateClip(bar2, opt, symbolMeta, true);
+}
+function removeBar(data2, dataIndex, animationModel, bar2) {
+  var labelRect = bar2.__pictorialBarRect;
+  labelRect && labelRect.removeTextContent();
+  var paths = [];
+  eachPath(bar2, function(path2) {
+    paths.push(path2);
+  });
+  bar2.__pictorialMainPath && paths.push(bar2.__pictorialMainPath);
+  bar2.__pictorialClipPath && (animationModel = null);
+  each$f(paths, function(path2) {
+    removeElement(path2, {
+      scaleX: 0,
+      scaleY: 0
+    }, animationModel, dataIndex, function() {
+      bar2.parent && bar2.parent.remove(bar2);
+    });
+  });
+  data2.setItemGraphicEl(dataIndex, null);
+}
+function getShapeStr(data2, symbolMeta) {
+  return [data2.getItemVisual(symbolMeta.dataIndex, "symbol") || "none", !!symbolMeta.symbolRepeat, !!symbolMeta.symbolClip].join(":");
+}
+function eachPath(bar2, cb, context) {
+  each$f(bar2.__pictorialBundle.children(), function(el) {
+    el !== bar2.__pictorialBarRect && cb.call(context, el);
+  });
+}
+function updateAttr(el, immediateAttrs, animationAttrs, symbolMeta, isUpdate, cb) {
+  immediateAttrs && el.attr(immediateAttrs);
+  if (symbolMeta.symbolClip && !isUpdate) {
+    animationAttrs && el.attr(animationAttrs);
+  } else {
+    animationAttrs && graphic$1[isUpdate ? "updateProps" : "initProps"](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);
+  }
+}
+function updateCommon(bar2, opt, symbolMeta) {
+  var dataIndex = symbolMeta.dataIndex;
+  var itemModel = symbolMeta.itemModel;
+  var emphasisModel = itemModel.getModel("emphasis");
+  var emphasisStyle = emphasisModel.getModel("itemStyle").getItemStyle();
+  var blurStyle = itemModel.getModel(["blur", "itemStyle"]).getItemStyle();
+  var selectStyle = itemModel.getModel(["select", "itemStyle"]).getItemStyle();
+  var cursorStyle = itemModel.getShallow("cursor");
+  var focus2 = emphasisModel.get("focus");
+  var blurScope = emphasisModel.get("blurScope");
+  var hoverScale = emphasisModel.get("scale");
+  eachPath(bar2, function(path2) {
+    if (path2 instanceof ZRImage$1) {
+      var pathStyle = path2.style;
+      path2.useStyle(extend$1({
+        // TODO other properties like dx, dy ?
+        image: pathStyle.image,
+        x: pathStyle.x,
+        y: pathStyle.y,
+        width: pathStyle.width,
+        height: pathStyle.height
+      }, symbolMeta.style));
+    } else {
+      path2.useStyle(symbolMeta.style);
+    }
+    var emphasisState = path2.ensureState("emphasis");
+    emphasisState.style = emphasisStyle;
+    if (hoverScale) {
+      emphasisState.scaleX = path2.scaleX * 1.1;
+      emphasisState.scaleY = path2.scaleY * 1.1;
+    }
+    path2.ensureState("blur").style = blurStyle;
+    path2.ensureState("select").style = selectStyle;
+    cursorStyle && (path2.cursor = cursorStyle);
+    path2.z2 = symbolMeta.z2;
+  });
+  var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];
+  var barRect = bar2.__pictorialBarRect;
+  setLabelStyle(barRect, getLabelStatesModels(itemModel), {
+    labelFetcher: opt.seriesModel,
+    labelDataIndex: dataIndex,
+    defaultText: getDefaultLabel(opt.seriesModel.getData(), dataIndex),
+    inheritColor: symbolMeta.style.fill,
+    defaultOpacity: symbolMeta.style.opacity,
+    defaultOutsidePosition: barPositionOutside
+  });
+  toggleHoverEmphasis(bar2, focus2, blurScope, emphasisModel.get("disabled"));
+}
+function toIntTimes(times) {
+  var roundedTimes = Math.round(times);
+  return Math.abs(times - roundedTimes) < 1e-4 ? roundedTimes : Math.ceil(times);
+}
+const PictorialBarView$1 = PictorialBarView;
+var PictorialBarSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(PictorialBarSeriesModel2, _super);
+    function PictorialBarSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = PictorialBarSeriesModel2.type;
+      _this.hasSymbolVisual = true;
+      _this.defaultSymbol = "roundRect";
+      return _this;
+    }
+    PictorialBarSeriesModel2.prototype.getInitialData = function(option) {
+      option.stack = null;
+      return _super.prototype.getInitialData.apply(this, arguments);
+    };
+    PictorialBarSeriesModel2.type = "series.pictorialBar";
+    PictorialBarSeriesModel2.dependencies = ["grid"];
+    PictorialBarSeriesModel2.defaultOption = inheritDefaultOption(BaseBarSeriesModel$1.defaultOption, {
+      symbol: "circle",
+      symbolSize: null,
+      symbolRotate: null,
+      symbolPosition: null,
+      symbolOffset: null,
+      symbolMargin: null,
+      symbolRepeat: false,
+      symbolRepeatDirection: "end",
+      symbolClip: false,
+      symbolBoundingData: null,
+      symbolPatternSize: 400,
+      barGap: "-100%",
+      // z can be set in data item, which is z2 actually.
+      // Disable progressive
+      progressive: 0,
+      emphasis: {
+        // By default pictorialBar do not hover scale. Hover scale is not suitable
+        // for the case that both has foreground and background.
+        scale: false
+      },
+      select: {
+        itemStyle: {
+          borderColor: "#212121"
+        }
+      }
+    });
+    return PictorialBarSeriesModel2;
+  }(BaseBarSeriesModel$1)
+);
+const PictorialBarSeriesModel$1 = PictorialBarSeriesModel;
+function install$u(registers) {
+  registers.registerChartView(PictorialBarView$1);
+  registers.registerSeriesModel(PictorialBarSeriesModel$1);
+  registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, curry$1(layout$3, "pictorialBar"));
+  registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout("pictorialBar"));
+}
+var ThemeRiverView = (
+  /** @class */
+  function(_super) {
+    __extends(ThemeRiverView2, _super);
+    function ThemeRiverView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ThemeRiverView2.type;
+      _this._layers = [];
+      return _this;
+    }
+    ThemeRiverView2.prototype.render = function(seriesModel, ecModel, api2) {
+      var data2 = seriesModel.getData();
+      var self2 = this;
+      var group = this.group;
+      var layersSeries = seriesModel.getLayerSeries();
+      var layoutInfo = data2.getLayout("layoutInfo");
+      var rect = layoutInfo.rect;
+      var boundaryGap = layoutInfo.boundaryGap;
+      group.x = 0;
+      group.y = rect.y + boundaryGap[0];
+      function keyGetter(item) {
+        return item.name;
+      }
+      var dataDiffer = new DataDiffer$1(this._layersSeries || [], layersSeries, keyGetter, keyGetter);
+      var newLayersGroups = [];
+      dataDiffer.add(bind$2(process2, this, "add")).update(bind$2(process2, this, "update")).remove(bind$2(process2, this, "remove")).execute();
+      function process2(status, idx, oldIdx) {
+        var oldLayersGroups = self2._layers;
+        if (status === "remove") {
+          group.remove(oldLayersGroups[idx]);
+          return;
+        }
+        var points0 = [];
+        var points1 = [];
+        var style2;
+        var indices = layersSeries[idx].indices;
+        var j2 = 0;
+        for (; j2 < indices.length; j2++) {
+          var layout2 = data2.getItemLayout(indices[j2]);
+          var x2 = layout2.x;
+          var y0 = layout2.y0;
+          var y2 = layout2.y;
+          points0.push(x2, y0);
+          points1.push(x2, y0 + y2);
+          style2 = data2.getItemVisual(indices[j2], "style");
+        }
+        var polygon2;
+        var textLayout = data2.getItemLayout(indices[0]);
+        var labelModel = seriesModel.getModel("label");
+        var margin = labelModel.get("margin");
+        var emphasisModel = seriesModel.getModel("emphasis");
+        if (status === "add") {
+          var layerGroup = newLayersGroups[idx] = new Group$4();
+          polygon2 = new ECPolygon({
+            shape: {
+              points: points0,
+              stackedOnPoints: points1,
+              smooth: 0.4,
+              stackedOnSmooth: 0.4,
+              smoothConstraint: false
+            },
+            z2: 0
+          });
+          layerGroup.add(polygon2);
+          group.add(layerGroup);
+          if (seriesModel.isAnimationEnabled()) {
+            polygon2.setClipPath(createGridClipShape(polygon2.getBoundingRect(), seriesModel, function() {
+              polygon2.removeClipPath();
+            }));
+          }
+        } else {
+          var layerGroup = oldLayersGroups[oldIdx];
+          polygon2 = layerGroup.childAt(0);
+          group.add(layerGroup);
+          newLayersGroups[idx] = layerGroup;
+          updateProps$1(polygon2, {
+            shape: {
+              points: points0,
+              stackedOnPoints: points1
+            }
+          }, seriesModel);
+          saveOldStyle(polygon2);
+        }
+        setLabelStyle(polygon2, getLabelStatesModels(seriesModel), {
+          labelDataIndex: indices[j2 - 1],
+          defaultText: data2.getName(indices[j2 - 1]),
+          inheritColor: style2.fill
+        }, {
+          normal: {
+            verticalAlign: "middle"
+            // align: 'right'
+          }
+        });
+        polygon2.setTextConfig({
+          position: null,
+          local: true
+        });
+        var labelEl = polygon2.getTextContent();
+        if (labelEl) {
+          labelEl.x = textLayout.x - margin;
+          labelEl.y = textLayout.y0 + textLayout.y / 2;
+        }
+        polygon2.useStyle(style2);
+        data2.setItemGraphicEl(idx, polygon2);
+        setStatesStylesFromModel(polygon2, seriesModel);
+        toggleHoverEmphasis(polygon2, emphasisModel.get("focus"), emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+      }
+      this._layersSeries = layersSeries;
+      this._layers = newLayersGroups;
+    };
+    ThemeRiverView2.type = "themeRiver";
+    return ThemeRiverView2;
+  }(ChartView$1)
+);
+function createGridClipShape(rect, seriesModel, cb) {
+  var rectEl = new Rect$3({
+    shape: {
+      x: rect.x - 10,
+      y: rect.y - 10,
+      width: 0,
+      height: rect.height + 20
+    }
+  });
+  initProps(rectEl, {
+    shape: {
+      x: rect.x - 50,
+      width: rect.width + 100,
+      height: rect.height + 20
+    }
+  }, seriesModel, cb);
+  return rectEl;
+}
+const ThemeRiverView$1 = ThemeRiverView;
+var DATA_NAME_INDEX = 2;
+var ThemeRiverSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(ThemeRiverSeriesModel2, _super);
+    function ThemeRiverSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ThemeRiverSeriesModel2.type;
+      return _this;
+    }
+    ThemeRiverSeriesModel2.prototype.init = function(option) {
+      _super.prototype.init.apply(this, arguments);
+      this.legendVisualProvider = new LegendVisualProvider$1(bind$2(this.getData, this), bind$2(this.getRawData, this));
+    };
+    ThemeRiverSeriesModel2.prototype.fixData = function(data2) {
+      var rawDataLength = data2.length;
+      var timeValueKeys = {};
+      var groupResult = groupData(data2, function(item) {
+        if (!timeValueKeys.hasOwnProperty(item[0] + "")) {
+          timeValueKeys[item[0] + ""] = -1;
+        }
+        return item[2];
+      });
+      var layerData = [];
+      groupResult.buckets.each(function(items, key2) {
+        layerData.push({
+          name: key2,
+          dataList: items
+        });
+      });
+      var layerNum = layerData.length;
+      for (var k2 = 0; k2 < layerNum; ++k2) {
+        var name_1 = layerData[k2].name;
+        for (var j2 = 0; j2 < layerData[k2].dataList.length; ++j2) {
+          var timeValue = layerData[k2].dataList[j2][0] + "";
+          timeValueKeys[timeValue] = k2;
+        }
+        for (var timeValue in timeValueKeys) {
+          if (timeValueKeys.hasOwnProperty(timeValue) && timeValueKeys[timeValue] !== k2) {
+            timeValueKeys[timeValue] = k2;
+            data2[rawDataLength] = [timeValue, 0, name_1];
+            rawDataLength++;
+          }
+        }
+      }
+      return data2;
+    };
+    ThemeRiverSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      var singleAxisModel = this.getReferringComponents("singleAxis", SINGLE_REFERRING).models[0];
+      var axisType = singleAxisModel.get("type");
+      var filterData = filter(option.data, function(dataItem) {
+        return dataItem[2] !== void 0;
+      });
+      var data2 = this.fixData(filterData || []);
+      var nameList = [];
+      var nameMap = this.nameMap = createHashMap();
+      var count2 = 0;
+      for (var i2 = 0; i2 < data2.length; ++i2) {
+        nameList.push(data2[i2][DATA_NAME_INDEX]);
+        if (!nameMap.get(data2[i2][DATA_NAME_INDEX])) {
+          nameMap.set(data2[i2][DATA_NAME_INDEX], count2);
+          count2++;
+        }
+      }
+      var dimensions = prepareSeriesDataSchema(data2, {
+        coordDimensions: ["single"],
+        dimensionsDefine: [{
+          name: "time",
+          type: getDimensionTypeByAxis(axisType)
+        }, {
+          name: "value",
+          type: "float"
+        }, {
+          name: "name",
+          type: "ordinal"
+        }],
+        encodeDefine: {
+          single: 0,
+          value: 1,
+          itemName: 2
+        }
+      }).dimensions;
+      var list2 = new SeriesData$1(dimensions, this);
+      list2.initData(data2);
+      return list2;
+    };
+    ThemeRiverSeriesModel2.prototype.getLayerSeries = function() {
+      var data2 = this.getData();
+      var lenCount = data2.count();
+      var indexArr = [];
+      for (var i2 = 0; i2 < lenCount; ++i2) {
+        indexArr[i2] = i2;
+      }
+      var timeDim = data2.mapDimension("single");
+      var groupResult = groupData(indexArr, function(index3) {
+        return data2.get("name", index3);
+      });
+      var layerSeries = [];
+      groupResult.buckets.each(function(items, key2) {
+        items.sort(function(index1, index244) {
+          return data2.get(timeDim, index1) - data2.get(timeDim, index244);
+        });
+        layerSeries.push({
+          name: key2,
+          indices: items
+        });
+      });
+      return layerSeries;
+    };
+    ThemeRiverSeriesModel2.prototype.getAxisTooltipData = function(dim, value, baseAxis) {
+      if (!isArray$2(dim)) {
+        dim = dim ? [dim] : [];
+      }
+      var data2 = this.getData();
+      var layerSeries = this.getLayerSeries();
+      var indices = [];
+      var layerNum = layerSeries.length;
+      var nestestValue;
+      for (var i2 = 0; i2 < layerNum; ++i2) {
+        var minDist = Number.MAX_VALUE;
+        var nearestIdx = -1;
+        var pointNum = layerSeries[i2].indices.length;
+        for (var j2 = 0; j2 < pointNum; ++j2) {
+          var theValue = data2.get(dim[0], layerSeries[i2].indices[j2]);
+          var dist2 = Math.abs(theValue - value);
+          if (dist2 <= minDist) {
+            nestestValue = theValue;
+            minDist = dist2;
+            nearestIdx = layerSeries[i2].indices[j2];
+          }
+        }
+        indices.push(nearestIdx);
+      }
+      return {
+        dataIndices: indices,
+        nestestValue
+      };
+    };
+    ThemeRiverSeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var data2 = this.getData();
+      var name2 = data2.getName(dataIndex);
+      var value = data2.get(data2.mapDimension("value"), dataIndex);
+      return createTooltipMarkup("nameValue", {
+        name: name2,
+        value
+      });
+    };
+    ThemeRiverSeriesModel2.type = "series.themeRiver";
+    ThemeRiverSeriesModel2.dependencies = ["singleAxis"];
+    ThemeRiverSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      colorBy: "data",
+      coordinateSystem: "singleAxis",
+      // gap in axis's orthogonal orientation
+      boundaryGap: ["10%", "10%"],
+      // legendHoverLink: true,
+      singleAxisIndex: 0,
+      animationEasing: "linear",
+      label: {
+        margin: 4,
+        show: true,
+        position: "left",
+        fontSize: 11
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      }
+    };
+    return ThemeRiverSeriesModel2;
+  }(SeriesModel$1)
+);
+const ThemeRiverSeriesModel$1 = ThemeRiverSeriesModel;
+function themeRiverLayout(ecModel, api2) {
+  ecModel.eachSeriesByType("themeRiver", function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var single = seriesModel.coordinateSystem;
+    var layoutInfo = {};
+    var rect = single.getRect();
+    layoutInfo.rect = rect;
+    var boundaryGap = seriesModel.get("boundaryGap");
+    var axis2 = single.getAxis();
+    layoutInfo.boundaryGap = boundaryGap;
+    if (axis2.orient === "horizontal") {
+      boundaryGap[0] = parsePercent(boundaryGap[0], rect.height);
+      boundaryGap[1] = parsePercent(boundaryGap[1], rect.height);
+      var height = rect.height - boundaryGap[0] - boundaryGap[1];
+      doThemeRiverLayout(data2, seriesModel, height);
+    } else {
+      boundaryGap[0] = parsePercent(boundaryGap[0], rect.width);
+      boundaryGap[1] = parsePercent(boundaryGap[1], rect.width);
+      var width = rect.width - boundaryGap[0] - boundaryGap[1];
+      doThemeRiverLayout(data2, seriesModel, width);
+    }
+    data2.setLayout("layoutInfo", layoutInfo);
+  });
+}
+function doThemeRiverLayout(data2, seriesModel, height) {
+  if (!data2.count()) {
+    return;
+  }
+  var coordSys = seriesModel.coordinateSystem;
+  var layerSeries = seriesModel.getLayerSeries();
+  var timeDim = data2.mapDimension("single");
+  var valueDim = data2.mapDimension("value");
+  var layerPoints = map$1(layerSeries, function(singleLayer) {
+    return map$1(singleLayer.indices, function(idx) {
+      var pt = coordSys.dataToPoint(data2.get(timeDim, idx));
+      pt[1] = data2.get(valueDim, idx);
+      return pt;
+    });
+  });
+  var base2 = computeBaseline(layerPoints);
+  var baseLine = base2.y0;
+  var ky = height / base2.max;
+  var n2 = layerSeries.length;
+  var m2 = layerSeries[0].indices.length;
+  var baseY0;
+  for (var j2 = 0; j2 < m2; ++j2) {
+    baseY0 = baseLine[j2] * ky;
+    data2.setItemLayout(layerSeries[0].indices[j2], {
+      layerIndex: 0,
+      x: layerPoints[0][j2][0],
+      y0: baseY0,
+      y: layerPoints[0][j2][1] * ky
+    });
+    for (var i2 = 1; i2 < n2; ++i2) {
+      baseY0 += layerPoints[i2 - 1][j2][1] * ky;
+      data2.setItemLayout(layerSeries[i2].indices[j2], {
+        layerIndex: i2,
+        x: layerPoints[i2][j2][0],
+        y0: baseY0,
+        y: layerPoints[i2][j2][1] * ky
+      });
+    }
+  }
+}
+function computeBaseline(data2) {
+  var layerNum = data2.length;
+  var pointNum = data2[0].length;
+  var sums = [];
+  var y0 = [];
+  var max3 = 0;
+  for (var i2 = 0; i2 < pointNum; ++i2) {
+    var temp = 0;
+    for (var j2 = 0; j2 < layerNum; ++j2) {
+      temp += data2[j2][i2][1];
+    }
+    if (temp > max3) {
+      max3 = temp;
+    }
+    sums.push(temp);
+  }
+  for (var k2 = 0; k2 < pointNum; ++k2) {
+    y0[k2] = (max3 - sums[k2]) / 2;
+  }
+  max3 = 0;
+  for (var l2 = 0; l2 < pointNum; ++l2) {
+    var sum2 = sums[l2] + y0[l2];
+    if (sum2 > max3) {
+      max3 = sum2;
+    }
+  }
+  return {
+    y0,
+    max: max3
+  };
+}
+function install$t(registers) {
+  registers.registerChartView(ThemeRiverView$1);
+  registers.registerSeriesModel(ThemeRiverSeriesModel$1);
+  registers.registerLayout(themeRiverLayout);
+  registers.registerProcessor(dataFilter$1("themeRiver"));
+}
+var DEFAULT_SECTOR_Z = 2;
+var DEFAULT_TEXT_Z = 4;
+var SunburstPiece = (
+  /** @class */
+  function(_super) {
+    __extends(SunburstPiece2, _super);
+    function SunburstPiece2(node, seriesModel, ecModel, api2) {
+      var _this = _super.call(this) || this;
+      _this.z2 = DEFAULT_SECTOR_Z;
+      _this.textConfig = {
+        inside: true
+      };
+      getECData(_this).seriesIndex = seriesModel.seriesIndex;
+      var text2 = new ZRText$1({
+        z2: DEFAULT_TEXT_Z,
+        silent: node.getModel().get(["label", "silent"])
+      });
+      _this.setTextContent(text2);
+      _this.updateData(true, node, seriesModel, ecModel, api2);
+      return _this;
+    }
+    SunburstPiece2.prototype.updateData = function(firstCreate, node, seriesModel, ecModel, api2) {
+      this.node = node;
+      node.piece = this;
+      seriesModel = seriesModel || this._seriesModel;
+      ecModel = ecModel || this._ecModel;
+      var sector = this;
+      getECData(sector).dataIndex = node.dataIndex;
+      var itemModel = node.getModel();
+      var emphasisModel = itemModel.getModel("emphasis");
+      var layout2 = node.getLayout();
+      var sectorShape = extend$1({}, layout2);
+      sectorShape.label = null;
+      var normalStyle = node.getVisual("style");
+      normalStyle.lineJoin = "bevel";
+      var decal = node.getVisual("decal");
+      if (decal) {
+        normalStyle.decal = createOrUpdatePatternFromDecal(decal, api2);
+      }
+      var cornerRadius = getSectorCornerRadius(itemModel.getModel("itemStyle"), sectorShape, true);
+      extend$1(sectorShape, cornerRadius);
+      each$f(SPECIAL_STATES, function(stateName) {
+        var state = sector.ensureState(stateName);
+        var itemStyleModel = itemModel.getModel([stateName, "itemStyle"]);
+        state.style = itemStyleModel.getItemStyle();
+        var cornerRadius2 = getSectorCornerRadius(itemStyleModel, sectorShape);
+        if (cornerRadius2) {
+          state.shape = cornerRadius2;
+        }
+      });
+      if (firstCreate) {
+        sector.setShape(sectorShape);
+        sector.shape.r = layout2.r0;
+        initProps(sector, {
+          shape: {
+            r: layout2.r
+          }
+        }, seriesModel, node.dataIndex);
+      } else {
+        updateProps$1(sector, {
+          shape: sectorShape
+        }, seriesModel);
+        saveOldStyle(sector);
+      }
+      sector.useStyle(normalStyle);
+      this._updateLabel(seriesModel);
+      var cursorStyle = itemModel.getShallow("cursor");
+      cursorStyle && sector.attr("cursor", cursorStyle);
+      this._seriesModel = seriesModel || this._seriesModel;
+      this._ecModel = ecModel || this._ecModel;
+      var focus2 = emphasisModel.get("focus");
+      var focusOrIndices = focus2 === "ancestor" ? node.getAncestorsIndices() : focus2 === "descendant" ? node.getDescendantIndices() : focus2;
+      toggleHoverEmphasis(this, focusOrIndices, emphasisModel.get("blurScope"), emphasisModel.get("disabled"));
+    };
+    SunburstPiece2.prototype._updateLabel = function(seriesModel) {
+      var _this = this;
+      var itemModel = this.node.getModel();
+      var normalLabelModel = itemModel.getModel("label");
+      var layout2 = this.node.getLayout();
+      var angle = layout2.endAngle - layout2.startAngle;
+      var midAngle = (layout2.startAngle + layout2.endAngle) / 2;
+      var dx = Math.cos(midAngle);
+      var dy = Math.sin(midAngle);
+      var sector = this;
+      var label = sector.getTextContent();
+      var dataIndex = this.node.dataIndex;
+      var labelMinAngle = normalLabelModel.get("minAngle") / 180 * Math.PI;
+      var isNormalShown = normalLabelModel.get("show") && !(labelMinAngle != null && Math.abs(angle) < labelMinAngle);
+      label.ignore = !isNormalShown;
+      each$f(DISPLAY_STATES, function(stateName) {
+        var labelStateModel = stateName === "normal" ? itemModel.getModel("label") : itemModel.getModel([stateName, "label"]);
+        var isNormal = stateName === "normal";
+        var state = isNormal ? label : label.ensureState(stateName);
+        var text2 = seriesModel.getFormattedLabel(dataIndex, stateName);
+        if (isNormal) {
+          text2 = text2 || _this.node.name;
+        }
+        state.style = createTextStyle$1(labelStateModel, {}, null, stateName !== "normal", true);
+        if (text2) {
+          state.style.text = text2;
+        }
+        var isShown = labelStateModel.get("show");
+        if (isShown != null && !isNormal) {
+          state.ignore = !isShown;
+        }
+        var labelPosition = getLabelAttr(labelStateModel, "position");
+        var sectorState = isNormal ? sector : sector.states[stateName];
+        var labelColor = sectorState.style.fill;
+        sectorState.textConfig = {
+          outsideFill: labelStateModel.get("color") === "inherit" ? labelColor : null,
+          inside: labelPosition !== "outside"
+        };
+        var r2;
+        var labelPadding = getLabelAttr(labelStateModel, "distance") || 0;
+        var textAlign = getLabelAttr(labelStateModel, "align");
+        if (labelPosition === "outside") {
+          r2 = layout2.r + labelPadding;
+          textAlign = midAngle > Math.PI / 2 ? "right" : "left";
+        } else {
+          if (!textAlign || textAlign === "center") {
+            if (angle === 2 * Math.PI && layout2.r0 === 0) {
+              r2 = 0;
+            } else {
+              r2 = (layout2.r + layout2.r0) / 2;
+            }
+            textAlign = "center";
+          } else if (textAlign === "left") {
+            r2 = layout2.r0 + labelPadding;
+            if (midAngle > Math.PI / 2) {
+              textAlign = "right";
+            }
+          } else if (textAlign === "right") {
+            r2 = layout2.r - labelPadding;
+            if (midAngle > Math.PI / 2) {
+              textAlign = "left";
+            }
+          }
+        }
+        state.style.align = textAlign;
+        state.style.verticalAlign = getLabelAttr(labelStateModel, "verticalAlign") || "middle";
+        state.x = r2 * dx + layout2.cx;
+        state.y = r2 * dy + layout2.cy;
+        var rotateType = getLabelAttr(labelStateModel, "rotate");
+        var rotate2 = 0;
+        if (rotateType === "radial") {
+          rotate2 = normalizeRadian(-midAngle);
+          if (rotate2 > Math.PI / 2 && rotate2 < Math.PI * 1.5) {
+            rotate2 += Math.PI;
+          }
+        } else if (rotateType === "tangential") {
+          rotate2 = Math.PI / 2 - midAngle;
+          if (rotate2 > Math.PI / 2) {
+            rotate2 -= Math.PI;
+          } else if (rotate2 < -Math.PI / 2) {
+            rotate2 += Math.PI;
+          }
+        } else if (isNumber$1(rotateType)) {
+          rotate2 = rotateType * Math.PI / 180;
+        }
+        state.rotation = normalizeRadian(rotate2);
+      });
+      function getLabelAttr(model2, name2) {
+        var stateAttr = model2.get(name2);
+        if (stateAttr == null) {
+          return normalLabelModel.get(name2);
+        }
+        return stateAttr;
+      }
+      label.dirtyStyle();
+    };
+    return SunburstPiece2;
+  }(Sector$1)
+);
+const SunburstPiece$1 = SunburstPiece;
+var ROOT_TO_NODE_ACTION = "sunburstRootToNode";
+var HIGHLIGHT_ACTION = "sunburstHighlight";
+var UNHIGHLIGHT_ACTION = "sunburstUnhighlight";
+function installSunburstAction(registers) {
+  registers.registerAction({
+    type: ROOT_TO_NODE_ACTION,
+    update: "updateView"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sunburst",
+      query: payload
+    }, handleRootToNode);
+    function handleRootToNode(model2, index3) {
+      var targetInfo = retrieveTargetInfo(payload, [ROOT_TO_NODE_ACTION], model2);
+      if (targetInfo) {
+        var originViewRoot = model2.getViewRoot();
+        if (originViewRoot) {
+          payload.direction = aboveViewRoot(originViewRoot, targetInfo.node) ? "rollUp" : "drillDown";
+        }
+        model2.resetViewRoot(targetInfo.node);
+      }
+    }
+  });
+  registers.registerAction({
+    type: HIGHLIGHT_ACTION,
+    update: "none"
+  }, function(payload, ecModel, api2) {
+    payload = extend$1({}, payload);
+    ecModel.eachComponent({
+      mainType: "series",
+      subType: "sunburst",
+      query: payload
+    }, handleHighlight);
+    function handleHighlight(model2) {
+      var targetInfo = retrieveTargetInfo(payload, [HIGHLIGHT_ACTION], model2);
+      if (targetInfo) {
+        payload.dataIndex = targetInfo.node.dataIndex;
+      }
+    }
+    api2.dispatchAction(extend$1(payload, {
+      type: "highlight"
+    }));
+  });
+  registers.registerAction({
+    type: UNHIGHLIGHT_ACTION,
+    update: "updateView"
+  }, function(payload, ecModel, api2) {
+    payload = extend$1({}, payload);
+    api2.dispatchAction(extend$1(payload, {
+      type: "downplay"
+    }));
+  });
+}
+var SunburstView = (
+  /** @class */
+  function(_super) {
+    __extends(SunburstView2, _super);
+    function SunburstView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SunburstView2.type;
+      return _this;
+    }
+    SunburstView2.prototype.render = function(seriesModel, ecModel, api2, payload) {
+      var self2 = this;
+      this.seriesModel = seriesModel;
+      this.api = api2;
+      this.ecModel = ecModel;
+      var data2 = seriesModel.getData();
+      var virtualRoot = data2.tree.root;
+      var newRoot = seriesModel.getViewRoot();
+      var group = this.group;
+      var renderLabelForZeroData = seriesModel.get("renderLabelForZeroData");
+      var newChildren = [];
+      newRoot.eachNode(function(node) {
+        newChildren.push(node);
+      });
+      var oldChildren = this._oldChildren || [];
+      dualTravel(newChildren, oldChildren);
+      renderRollUp(virtualRoot, newRoot);
+      this._initEvents();
+      this._oldChildren = newChildren;
+      function dualTravel(newChildren2, oldChildren2) {
+        if (newChildren2.length === 0 && oldChildren2.length === 0) {
+          return;
+        }
+        new DataDiffer$1(oldChildren2, newChildren2, getKey2, getKey2).add(processNode).update(processNode).remove(curry$1(processNode, null)).execute();
+        function getKey2(node) {
+          return node.getId();
+        }
+        function processNode(newIdx, oldIdx) {
+          var newNode = newIdx == null ? null : newChildren2[newIdx];
+          var oldNode = oldIdx == null ? null : oldChildren2[oldIdx];
+          doRenderNode(newNode, oldNode);
+        }
+      }
+      function doRenderNode(newNode, oldNode) {
+        if (!renderLabelForZeroData && newNode && !newNode.getValue()) {
+          newNode = null;
+        }
+        if (newNode !== virtualRoot && oldNode !== virtualRoot) {
+          if (oldNode && oldNode.piece) {
+            if (newNode) {
+              oldNode.piece.updateData(false, newNode, seriesModel, ecModel, api2);
+              data2.setItemGraphicEl(newNode.dataIndex, oldNode.piece);
+            } else {
+              removeNode2(oldNode);
+            }
+          } else if (newNode) {
+            var piece = new SunburstPiece$1(newNode, seriesModel, ecModel, api2);
+            group.add(piece);
+            data2.setItemGraphicEl(newNode.dataIndex, piece);
+          }
+        }
+      }
+      function removeNode2(node) {
+        if (!node) {
+          return;
+        }
+        if (node.piece) {
+          group.remove(node.piece);
+          node.piece = null;
+        }
+      }
+      function renderRollUp(virtualRoot2, viewRoot) {
+        if (viewRoot.depth > 0) {
+          if (self2.virtualPiece) {
+            self2.virtualPiece.updateData(false, virtualRoot2, seriesModel, ecModel, api2);
+          } else {
+            self2.virtualPiece = new SunburstPiece$1(virtualRoot2, seriesModel, ecModel, api2);
+            group.add(self2.virtualPiece);
+          }
+          viewRoot.piece.off("click");
+          self2.virtualPiece.on("click", function(e2) {
+            self2._rootToNode(viewRoot.parentNode);
+          });
+        } else if (self2.virtualPiece) {
+          group.remove(self2.virtualPiece);
+          self2.virtualPiece = null;
+        }
+      }
+    };
+    SunburstView2.prototype._initEvents = function() {
+      var _this = this;
+      this.group.off("click");
+      this.group.on("click", function(e2) {
+        var targetFound = false;
+        var viewRoot = _this.seriesModel.getViewRoot();
+        viewRoot.eachNode(function(node) {
+          if (!targetFound && node.piece && node.piece === e2.target) {
+            var nodeClick2 = node.getModel().get("nodeClick");
+            if (nodeClick2 === "rootToNode") {
+              _this._rootToNode(node);
+            } else if (nodeClick2 === "link") {
+              var itemModel = node.getModel();
+              var link = itemModel.get("link");
+              if (link) {
+                var linkTarget = itemModel.get("target", true) || "_blank";
+                windowOpen(link, linkTarget);
+              }
+            }
+            targetFound = true;
+          }
+        });
+      });
+    };
+    SunburstView2.prototype._rootToNode = function(node) {
+      if (node !== this.seriesModel.getViewRoot()) {
+        this.api.dispatchAction({
+          type: ROOT_TO_NODE_ACTION,
+          from: this.uid,
+          seriesId: this.seriesModel.id,
+          targetNode: node
+        });
+      }
+    };
+    SunburstView2.prototype.containPoint = function(point, seriesModel) {
+      var treeRoot = seriesModel.getData();
+      var itemLayout = treeRoot.getItemLayout(0);
+      if (itemLayout) {
+        var dx = point[0] - itemLayout.cx;
+        var dy = point[1] - itemLayout.cy;
+        var radius = Math.sqrt(dx * dx + dy * dy);
+        return radius <= itemLayout.r && radius >= itemLayout.r0;
+      }
+    };
+    SunburstView2.type = "sunburst";
+    return SunburstView2;
+  }(ChartView$1)
+);
+const SunburstView$1 = SunburstView;
+var SunburstSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(SunburstSeriesModel2, _super);
+    function SunburstSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SunburstSeriesModel2.type;
+      _this.ignoreStyleOnData = true;
+      return _this;
+    }
+    SunburstSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      var root = {
+        name: option.name,
+        children: option.data
+      };
+      completeTreeValue(root);
+      var levelModels = this._levelModels = map$1(option.levels || [], function(levelDefine) {
+        return new Model$1(levelDefine, this, ecModel);
+      }, this);
+      var tree2 = Tree$1.createTree(root, this, beforeLink);
+      function beforeLink(nodeData) {
+        nodeData.wrapMethod("getItemModel", function(model2, idx) {
+          var node = tree2.getNodeByDataIndex(idx);
+          var levelModel = levelModels[node.depth];
+          levelModel && (model2.parentModel = levelModel);
+          return model2;
+        });
+      }
+      return tree2.data;
+    };
+    SunburstSeriesModel2.prototype.optionUpdated = function() {
+      this.resetViewRoot();
+    };
+    SunburstSeriesModel2.prototype.getDataParams = function(dataIndex) {
+      var params2 = _super.prototype.getDataParams.apply(this, arguments);
+      var node = this.getData().tree.getNodeByDataIndex(dataIndex);
+      params2.treePathInfo = wrapTreePathInfo(node, this);
+      return params2;
+    };
+    SunburstSeriesModel2.prototype.getLevelModel = function(node) {
+      return this._levelModels && this._levelModels[node.depth];
+    };
+    SunburstSeriesModel2.prototype.getViewRoot = function() {
+      return this._viewRoot;
+    };
+    SunburstSeriesModel2.prototype.resetViewRoot = function(viewRoot) {
+      viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;
+      var root = this.getRawData().tree.root;
+      if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {
+        this._viewRoot = root;
+      }
+    };
+    SunburstSeriesModel2.prototype.enableAriaDecal = function() {
+      enableAriaDecalForTree(this);
+    };
+    SunburstSeriesModel2.type = "series.sunburst";
+    SunburstSeriesModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      // 默认全局居中
+      center: ["50%", "50%"],
+      radius: [0, "75%"],
+      // 默认顺时针
+      clockwise: true,
+      startAngle: 90,
+      // 最小角度改为0
+      minAngle: 0,
+      // If still show when all data zero.
+      stillShowZeroSum: true,
+      // 'rootToNode', 'link', or false
+      nodeClick: "rootToNode",
+      renderLabelForZeroData: false,
+      label: {
+        // could be: 'radial', 'tangential', or 'none'
+        rotate: "radial",
+        show: true,
+        opacity: 1,
+        // 'left' is for inner side of inside, and 'right' is for outer
+        // side for inside
+        align: "center",
+        position: "inside",
+        distance: 5,
+        silent: true
+      },
+      itemStyle: {
+        borderWidth: 1,
+        borderColor: "white",
+        borderType: "solid",
+        shadowBlur: 0,
+        shadowColor: "rgba(0, 0, 0, 0.2)",
+        shadowOffsetX: 0,
+        shadowOffsetY: 0,
+        opacity: 1
+      },
+      emphasis: {
+        focus: "descendant"
+      },
+      blur: {
+        itemStyle: {
+          opacity: 0.2
+        },
+        label: {
+          opacity: 0.1
+        }
+      },
+      // Animation type can be expansion, scale.
+      animationType: "expansion",
+      animationDuration: 1e3,
+      animationDurationUpdate: 500,
+      data: [],
+      /**
+       * Sort order.
+       *
+       * Valid values: 'desc', 'asc', null, or callback function.
+       * 'desc' and 'asc' for descend and ascendant order;
+       * null for not sorting;
+       * example of callback function:
+       * function(nodeA, nodeB) {
+       *     return nodeA.getValue() - nodeB.getValue();
+       * }
+       */
+      sort: "desc"
+    };
+    return SunburstSeriesModel2;
+  }(SeriesModel$1)
+);
+function completeTreeValue(dataNode) {
+  var sum2 = 0;
+  each$f(dataNode.children, function(child) {
+    completeTreeValue(child);
+    var childValue = child.value;
+    isArray$2(childValue) && (childValue = childValue[0]);
+    sum2 += childValue;
+  });
+  var thisValue = dataNode.value;
+  if (isArray$2(thisValue)) {
+    thisValue = thisValue[0];
+  }
+  if (thisValue == null || isNaN(thisValue)) {
+    thisValue = sum2;
+  }
+  if (thisValue < 0) {
+    thisValue = 0;
+  }
+  isArray$2(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;
+}
+const SunburstSeriesModel$1 = SunburstSeriesModel;
+var RADIAN = Math.PI / 180;
+function sunburstLayout(seriesType2, ecModel, api2) {
+  ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+    var center2 = seriesModel.get("center");
+    var radius = seriesModel.get("radius");
+    if (!isArray$2(radius)) {
+      radius = [0, radius];
+    }
+    if (!isArray$2(center2)) {
+      center2 = [center2, center2];
+    }
+    var width = api2.getWidth();
+    var height = api2.getHeight();
+    var size = Math.min(width, height);
+    var cx = parsePercent(center2[0], width);
+    var cy = parsePercent(center2[1], height);
+    var r0 = parsePercent(radius[0], size / 2);
+    var r2 = parsePercent(radius[1], size / 2);
+    var startAngle = -seriesModel.get("startAngle") * RADIAN;
+    var minAngle = seriesModel.get("minAngle") * RADIAN;
+    var virtualRoot = seriesModel.getData().tree.root;
+    var treeRoot = seriesModel.getViewRoot();
+    var rootDepth = treeRoot.depth;
+    var sort2 = seriesModel.get("sort");
+    if (sort2 != null) {
+      initChildren(treeRoot, sort2);
+    }
+    var validDataCount = 0;
+    each$f(treeRoot.children, function(child) {
+      !isNaN(child.getValue()) && validDataCount++;
+    });
+    var sum2 = treeRoot.getValue();
+    var unitRadian = Math.PI / (sum2 || validDataCount) * 2;
+    var renderRollupNode = treeRoot.depth > 0;
+    var levels = treeRoot.height - (renderRollupNode ? -1 : 1);
+    var rPerLevel = (r2 - r0) / (levels || 1);
+    var clockwise = seriesModel.get("clockwise");
+    var stillShowZeroSum = seriesModel.get("stillShowZeroSum");
+    var dir3 = clockwise ? 1 : -1;
+    var renderNode2 = function(node, startAngle2) {
+      if (!node) {
+        return;
+      }
+      var endAngle = startAngle2;
+      if (node !== virtualRoot) {
+        var value = node.getValue();
+        var angle2 = sum2 === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;
+        if (angle2 < minAngle) {
+          angle2 = minAngle;
+        }
+        endAngle = startAngle2 + dir3 * angle2;
+        var depth = node.depth - rootDepth - (renderRollupNode ? -1 : 1);
+        var rStart2 = r0 + rPerLevel * depth;
+        var rEnd2 = r0 + rPerLevel * (depth + 1);
+        var levelModel = seriesModel.getLevelModel(node);
+        if (levelModel) {
+          var r0_1 = levelModel.get("r0", true);
+          var r_1 = levelModel.get("r", true);
+          var radius_1 = levelModel.get("radius", true);
+          if (radius_1 != null) {
+            r0_1 = radius_1[0];
+            r_1 = radius_1[1];
+          }
+          r0_1 != null && (rStart2 = parsePercent(r0_1, size / 2));
+          r_1 != null && (rEnd2 = parsePercent(r_1, size / 2));
+        }
+        node.setLayout({
+          angle: angle2,
+          startAngle: startAngle2,
+          endAngle,
+          clockwise,
+          cx,
+          cy,
+          r0: rStart2,
+          r: rEnd2
+        });
+      }
+      if (node.children && node.children.length) {
+        var siblingAngle_1 = 0;
+        each$f(node.children, function(node2) {
+          siblingAngle_1 += renderNode2(node2, startAngle2 + siblingAngle_1);
+        });
+      }
+      return endAngle - startAngle2;
+    };
+    if (renderRollupNode) {
+      var rStart = r0;
+      var rEnd = r0 + rPerLevel;
+      var angle = Math.PI * 2;
+      virtualRoot.setLayout({
+        angle,
+        startAngle,
+        endAngle: startAngle + angle,
+        clockwise,
+        cx,
+        cy,
+        r0: rStart,
+        r: rEnd
+      });
+    }
+    renderNode2(treeRoot, startAngle);
+  });
+}
+function initChildren(node, sortOrder) {
+  var children3 = node.children || [];
+  node.children = sort(children3, sortOrder);
+  if (children3.length) {
+    each$f(node.children, function(child) {
+      initChildren(child, sortOrder);
+    });
+  }
+}
+function sort(children3, sortOrder) {
+  if (isFunction$1(sortOrder)) {
+    var sortTargets = map$1(children3, function(child, idx) {
+      var value = child.getValue();
+      return {
+        params: {
+          depth: child.depth,
+          height: child.height,
+          dataIndex: child.dataIndex,
+          getValue: function() {
+            return value;
+          }
+        },
+        index: idx
+      };
+    });
+    sortTargets.sort(function(a2, b2) {
+      return sortOrder(a2.params, b2.params);
+    });
+    return map$1(sortTargets, function(target) {
+      return children3[target.index];
+    });
+  } else {
+    var isAsc_1 = sortOrder === "asc";
+    return children3.sort(function(a2, b2) {
+      var diff = (a2.getValue() - b2.getValue()) * (isAsc_1 ? 1 : -1);
+      return diff === 0 ? (a2.dataIndex - b2.dataIndex) * (isAsc_1 ? -1 : 1) : diff;
+    });
+  }
+}
+function sunburstVisual(ecModel) {
+  var paletteScope = {};
+  function pickColor(node, seriesModel, treeHeight) {
+    var current = node;
+    while (current && current.depth > 1) {
+      current = current.parentNode;
+    }
+    var color2 = seriesModel.getColorFromPalette(current.name || current.dataIndex + "", paletteScope);
+    if (node.depth > 1 && isString$1(color2)) {
+      color2 = lift(color2, (node.depth - 1) / (treeHeight - 1) * 0.5);
+    }
+    return color2;
+  }
+  ecModel.eachSeriesByType("sunburst", function(seriesModel) {
+    var data2 = seriesModel.getData();
+    var tree2 = data2.tree;
+    tree2.eachNode(function(node) {
+      var model2 = node.getModel();
+      var style2 = model2.getModel("itemStyle").getItemStyle();
+      if (!style2.fill) {
+        style2.fill = pickColor(node, seriesModel, tree2.root.height);
+      }
+      var existsStyle = data2.ensureUniqueItemVisual(node.dataIndex, "style");
+      extend$1(existsStyle, style2);
+    });
+  });
+}
+function install$s(registers) {
+  registers.registerChartView(SunburstView$1);
+  registers.registerSeriesModel(SunburstSeriesModel$1);
+  registers.registerLayout(curry$1(sunburstLayout, "sunburst"));
+  registers.registerProcessor(curry$1(dataFilter$1, "sunburst"));
+  registers.registerVisual(sunburstVisual);
+  installSunburstAction(registers);
+}
+var STYLE_VISUAL_TYPE = {
+  color: "fill",
+  borderColor: "stroke"
+};
+var NON_STYLE_VISUAL_PROPS = {
+  symbol: 1,
+  symbolSize: 1,
+  symbolKeepAspect: 1,
+  legendIcon: 1,
+  visualMeta: 1,
+  liftZ: 1,
+  decal: 1
+};
+var customInnerStore = makeInner();
+var CustomSeriesModel = (
+  /** @class */
+  function(_super) {
+    __extends(CustomSeriesModel2, _super);
+    function CustomSeriesModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CustomSeriesModel2.type;
+      return _this;
+    }
+    CustomSeriesModel2.prototype.optionUpdated = function() {
+      this.currentZLevel = this.get("zlevel", true);
+      this.currentZ = this.get("z", true);
+    };
+    CustomSeriesModel2.prototype.getInitialData = function(option, ecModel) {
+      return createSeriesData(null, this);
+    };
+    CustomSeriesModel2.prototype.getDataParams = function(dataIndex, dataType, el) {
+      var params2 = _super.prototype.getDataParams.call(this, dataIndex, dataType);
+      el && (params2.info = customInnerStore(el).info);
+      return params2;
+    };
+    CustomSeriesModel2.type = "series.custom";
+    CustomSeriesModel2.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"];
+    CustomSeriesModel2.defaultOption = {
+      coordinateSystem: "cartesian2d",
+      // zlevel: 0,
+      z: 2,
+      legendHoverLink: true,
+      // Custom series will not clip by default.
+      // Some case will use custom series to draw label
+      // For example https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
+      clip: false
+      // Cartesian coordinate system
+      // xAxisIndex: 0,
+      // yAxisIndex: 0,
+      // Polar coordinate system
+      // polarIndex: 0,
+      // Geo coordinate system
+      // geoIndex: 0,
+    };
+    return CustomSeriesModel2;
+  }(SeriesModel$1)
+);
+const CustomSeriesModel$1 = CustomSeriesModel;
+function dataToCoordSize$3(dataSize, dataItem) {
+  dataItem = dataItem || [0, 0];
+  return map$1(["x", "y"], function(dim, dimIdx) {
+    var axis2 = this.getAxis(dim);
+    var val = dataItem[dimIdx];
+    var halfSize = dataSize[dimIdx] / 2;
+    return axis2.type === "category" ? axis2.getBandWidth() : Math.abs(axis2.dataToCoord(val - halfSize) - axis2.dataToCoord(val + halfSize));
+  }, this);
+}
+function cartesianPrepareCustom(coordSys) {
+  var rect = coordSys.master.getRect();
+  return {
+    coordSys: {
+      // The name exposed to user is always 'cartesian2d' but not 'grid'.
+      type: "cartesian2d",
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height
+    },
+    api: {
+      coord: function(data2) {
+        return coordSys.dataToPoint(data2);
+      },
+      size: bind$2(dataToCoordSize$3, coordSys)
+    }
+  };
+}
+function dataToCoordSize$2(dataSize, dataItem) {
+  dataItem = dataItem || [0, 0];
+  return map$1([0, 1], function(dimIdx) {
+    var val = dataItem[dimIdx];
+    var halfSize = dataSize[dimIdx] / 2;
+    var p1 = [];
+    var p2 = [];
+    p1[dimIdx] = val - halfSize;
+    p2[dimIdx] = val + halfSize;
+    p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];
+    return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);
+  }, this);
+}
+function geoPrepareCustom(coordSys) {
+  var rect = coordSys.getBoundingRect();
+  return {
+    coordSys: {
+      type: "geo",
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height,
+      zoom: coordSys.getZoom()
+    },
+    api: {
+      coord: function(data2) {
+        return coordSys.dataToPoint(data2);
+      },
+      size: bind$2(dataToCoordSize$2, coordSys)
+    }
+  };
+}
+function dataToCoordSize$1(dataSize, dataItem) {
+  var axis2 = this.getAxis();
+  var val = dataItem instanceof Array ? dataItem[0] : dataItem;
+  var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;
+  return axis2.type === "category" ? axis2.getBandWidth() : Math.abs(axis2.dataToCoord(val - halfSize) - axis2.dataToCoord(val + halfSize));
+}
+function singlePrepareCustom(coordSys) {
+  var rect = coordSys.getRect();
+  return {
+    coordSys: {
+      type: "singleAxis",
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height
+    },
+    api: {
+      coord: function(val) {
+        return coordSys.dataToPoint(val);
+      },
+      size: bind$2(dataToCoordSize$1, coordSys)
+    }
+  };
+}
+function dataToCoordSize(dataSize, dataItem) {
+  dataItem = dataItem || [0, 0];
+  return map$1(["Radius", "Angle"], function(dim, dimIdx) {
+    var getterName = "get" + dim + "Axis";
+    var axis2 = this[getterName]();
+    var val = dataItem[dimIdx];
+    var halfSize = dataSize[dimIdx] / 2;
+    var result2 = axis2.type === "category" ? axis2.getBandWidth() : Math.abs(axis2.dataToCoord(val - halfSize) - axis2.dataToCoord(val + halfSize));
+    if (dim === "Angle") {
+      result2 = result2 * Math.PI / 180;
+    }
+    return result2;
+  }, this);
+}
+function polarPrepareCustom(coordSys) {
+  var radiusAxis2 = coordSys.getRadiusAxis();
+  var angleAxis2 = coordSys.getAngleAxis();
+  var radius = radiusAxis2.getExtent();
+  radius[0] > radius[1] && radius.reverse();
+  return {
+    coordSys: {
+      type: "polar",
+      cx: coordSys.cx,
+      cy: coordSys.cy,
+      r: radius[1],
+      r0: radius[0]
+    },
+    api: {
+      coord: function(data2) {
+        var radius2 = radiusAxis2.dataToRadius(data2[0]);
+        var angle = angleAxis2.dataToAngle(data2[1]);
+        var coord = coordSys.coordToPoint([radius2, angle]);
+        coord.push(radius2, angle * Math.PI / 180);
+        return coord;
+      },
+      size: bind$2(dataToCoordSize, coordSys)
+    }
+  };
+}
+function calendarPrepareCustom(coordSys) {
+  var rect = coordSys.getRect();
+  var rangeInfo = coordSys.getRangeInfo();
+  return {
+    coordSys: {
+      type: "calendar",
+      x: rect.x,
+      y: rect.y,
+      width: rect.width,
+      height: rect.height,
+      cellWidth: coordSys.getCellWidth(),
+      cellHeight: coordSys.getCellHeight(),
+      rangeInfo: {
+        start: rangeInfo.start,
+        end: rangeInfo.end,
+        weeks: rangeInfo.weeks,
+        dayCount: rangeInfo.allDay
+      }
+    },
+    api: {
+      coord: function(data2, clamp2) {
+        return coordSys.dataToPoint(data2, clamp2);
+      }
+    }
+  };
+}
+function isEC4CompatibleStyle(style2, elType, hasOwnTextContentOption, hasOwnTextConfig) {
+  return style2 && (style2.legacy || style2.legacy !== false && !hasOwnTextContentOption && !hasOwnTextConfig && elType !== "tspan" && (elType === "text" || hasOwn(style2, "text")));
+}
+function convertFromEC4CompatibleStyle(hostStyle, elType, isNormal) {
+  var srcStyle = hostStyle;
+  var textConfig;
+  var textContent;
+  var textContentStyle;
+  if (elType === "text") {
+    textContentStyle = srcStyle;
+  } else {
+    textContentStyle = {};
+    hasOwn(srcStyle, "text") && (textContentStyle.text = srcStyle.text);
+    hasOwn(srcStyle, "rich") && (textContentStyle.rich = srcStyle.rich);
+    hasOwn(srcStyle, "textFill") && (textContentStyle.fill = srcStyle.textFill);
+    hasOwn(srcStyle, "textStroke") && (textContentStyle.stroke = srcStyle.textStroke);
+    hasOwn(srcStyle, "fontFamily") && (textContentStyle.fontFamily = srcStyle.fontFamily);
+    hasOwn(srcStyle, "fontSize") && (textContentStyle.fontSize = srcStyle.fontSize);
+    hasOwn(srcStyle, "fontStyle") && (textContentStyle.fontStyle = srcStyle.fontStyle);
+    hasOwn(srcStyle, "fontWeight") && (textContentStyle.fontWeight = srcStyle.fontWeight);
+    textContent = {
+      type: "text",
+      style: textContentStyle,
+      // ec4 does not support rectText trigger.
+      // And when text position is different in normal and emphasis
+      // => hover text trigger emphasis;
+      // => text position changed, leave mouse pointer immediately;
+      // That might cause incorrect state.
+      silent: true
+    };
+    textConfig = {};
+    var hasOwnPos = hasOwn(srcStyle, "textPosition");
+    if (isNormal) {
+      textConfig.position = hasOwnPos ? srcStyle.textPosition : "inside";
+    } else {
+      hasOwnPos && (textConfig.position = srcStyle.textPosition);
+    }
+    hasOwn(srcStyle, "textPosition") && (textConfig.position = srcStyle.textPosition);
+    hasOwn(srcStyle, "textOffset") && (textConfig.offset = srcStyle.textOffset);
+    hasOwn(srcStyle, "textRotation") && (textConfig.rotation = srcStyle.textRotation);
+    hasOwn(srcStyle, "textDistance") && (textConfig.distance = srcStyle.textDistance);
+  }
+  convertEC4CompatibleRichItem(textContentStyle, hostStyle);
+  each$f(textContentStyle.rich, function(richItem) {
+    convertEC4CompatibleRichItem(richItem, richItem);
+  });
+  return {
+    textConfig,
+    textContent
+  };
+}
+function convertEC4CompatibleRichItem(out2, richItem) {
+  if (!richItem) {
+    return;
+  }
+  richItem.font = richItem.textFont || richItem.font;
+  hasOwn(richItem, "textStrokeWidth") && (out2.lineWidth = richItem.textStrokeWidth);
+  hasOwn(richItem, "textAlign") && (out2.align = richItem.textAlign);
+  hasOwn(richItem, "textVerticalAlign") && (out2.verticalAlign = richItem.textVerticalAlign);
+  hasOwn(richItem, "textLineHeight") && (out2.lineHeight = richItem.textLineHeight);
+  hasOwn(richItem, "textWidth") && (out2.width = richItem.textWidth);
+  hasOwn(richItem, "textHeight") && (out2.height = richItem.textHeight);
+  hasOwn(richItem, "textBackgroundColor") && (out2.backgroundColor = richItem.textBackgroundColor);
+  hasOwn(richItem, "textPadding") && (out2.padding = richItem.textPadding);
+  hasOwn(richItem, "textBorderColor") && (out2.borderColor = richItem.textBorderColor);
+  hasOwn(richItem, "textBorderWidth") && (out2.borderWidth = richItem.textBorderWidth);
+  hasOwn(richItem, "textBorderRadius") && (out2.borderRadius = richItem.textBorderRadius);
+  hasOwn(richItem, "textBoxShadowColor") && (out2.shadowColor = richItem.textBoxShadowColor);
+  hasOwn(richItem, "textBoxShadowBlur") && (out2.shadowBlur = richItem.textBoxShadowBlur);
+  hasOwn(richItem, "textBoxShadowOffsetX") && (out2.shadowOffsetX = richItem.textBoxShadowOffsetX);
+  hasOwn(richItem, "textBoxShadowOffsetY") && (out2.shadowOffsetY = richItem.textBoxShadowOffsetY);
+}
+function convertToEC4StyleForCustomSerise(itemStl, txStl, txCfg) {
+  var out2 = itemStl;
+  out2.textPosition = out2.textPosition || txCfg.position || "inside";
+  txCfg.offset != null && (out2.textOffset = txCfg.offset);
+  txCfg.rotation != null && (out2.textRotation = txCfg.rotation);
+  txCfg.distance != null && (out2.textDistance = txCfg.distance);
+  var isInside = out2.textPosition.indexOf("inside") >= 0;
+  var hostFill = itemStl.fill || "#000";
+  convertToEC4RichItem(out2, txStl);
+  var textFillNotSet = out2.textFill == null;
+  if (isInside) {
+    if (textFillNotSet) {
+      out2.textFill = txCfg.insideFill || "#fff";
+      !out2.textStroke && txCfg.insideStroke && (out2.textStroke = txCfg.insideStroke);
+      !out2.textStroke && (out2.textStroke = hostFill);
+      out2.textStrokeWidth == null && (out2.textStrokeWidth = 2);
+    }
+  } else {
+    if (textFillNotSet) {
+      out2.textFill = itemStl.fill || txCfg.outsideFill || "#000";
+    }
+    !out2.textStroke && txCfg.outsideStroke && (out2.textStroke = txCfg.outsideStroke);
+  }
+  out2.text = txStl.text;
+  out2.rich = txStl.rich;
+  each$f(txStl.rich, function(richItem) {
+    convertToEC4RichItem(richItem, richItem);
+  });
+  return out2;
+}
+function convertToEC4RichItem(out2, richItem) {
+  if (!richItem) {
+    return;
+  }
+  hasOwn(richItem, "fill") && (out2.textFill = richItem.fill);
+  hasOwn(richItem, "stroke") && (out2.textStroke = richItem.fill);
+  hasOwn(richItem, "lineWidth") && (out2.textStrokeWidth = richItem.lineWidth);
+  hasOwn(richItem, "font") && (out2.font = richItem.font);
+  hasOwn(richItem, "fontStyle") && (out2.fontStyle = richItem.fontStyle);
+  hasOwn(richItem, "fontWeight") && (out2.fontWeight = richItem.fontWeight);
+  hasOwn(richItem, "fontSize") && (out2.fontSize = richItem.fontSize);
+  hasOwn(richItem, "fontFamily") && (out2.fontFamily = richItem.fontFamily);
+  hasOwn(richItem, "align") && (out2.textAlign = richItem.align);
+  hasOwn(richItem, "verticalAlign") && (out2.textVerticalAlign = richItem.verticalAlign);
+  hasOwn(richItem, "lineHeight") && (out2.textLineHeight = richItem.lineHeight);
+  hasOwn(richItem, "width") && (out2.textWidth = richItem.width);
+  hasOwn(richItem, "height") && (out2.textHeight = richItem.height);
+  hasOwn(richItem, "backgroundColor") && (out2.textBackgroundColor = richItem.backgroundColor);
+  hasOwn(richItem, "padding") && (out2.textPadding = richItem.padding);
+  hasOwn(richItem, "borderColor") && (out2.textBorderColor = richItem.borderColor);
+  hasOwn(richItem, "borderWidth") && (out2.textBorderWidth = richItem.borderWidth);
+  hasOwn(richItem, "borderRadius") && (out2.textBorderRadius = richItem.borderRadius);
+  hasOwn(richItem, "shadowColor") && (out2.textBoxShadowColor = richItem.shadowColor);
+  hasOwn(richItem, "shadowBlur") && (out2.textBoxShadowBlur = richItem.shadowBlur);
+  hasOwn(richItem, "shadowOffsetX") && (out2.textBoxShadowOffsetX = richItem.shadowOffsetX);
+  hasOwn(richItem, "shadowOffsetY") && (out2.textBoxShadowOffsetY = richItem.shadowOffsetY);
+  hasOwn(richItem, "textShadowColor") && (out2.textShadowColor = richItem.textShadowColor);
+  hasOwn(richItem, "textShadowBlur") && (out2.textShadowBlur = richItem.textShadowBlur);
+  hasOwn(richItem, "textShadowOffsetX") && (out2.textShadowOffsetX = richItem.textShadowOffsetX);
+  hasOwn(richItem, "textShadowOffsetY") && (out2.textShadowOffsetY = richItem.textShadowOffsetY);
+}
+var LEGACY_TRANSFORM_PROPS_MAP = {
+  position: ["x", "y"],
+  scale: ["scaleX", "scaleY"],
+  origin: ["originX", "originY"]
+};
+var LEGACY_TRANSFORM_PROPS = keys(LEGACY_TRANSFORM_PROPS_MAP);
+reduce(TRANSFORMABLE_PROPS, function(obj2, key2) {
+  obj2[key2] = 1;
+  return obj2;
+}, {});
+TRANSFORMABLE_PROPS.join(", ");
+var ELEMENT_ANIMATABLE_PROPS = ["", "style", "shape", "extra"];
+var transitionInnerStore = makeInner();
+function getElementAnimationConfig(animationType, el, elOption, parentModel, dataIndex) {
+  var animationProp = animationType + "Animation";
+  var config2 = getAnimationConfig(animationType, parentModel, dataIndex) || {};
+  var userDuring = transitionInnerStore(el).userDuring;
+  if (config2.duration > 0) {
+    config2.during = userDuring ? bind$2(duringCall, {
+      el,
+      userDuring
+    }) : null;
+    config2.setToFinal = true;
+    config2.scope = animationType;
+  }
+  extend$1(config2, elOption[animationProp]);
+  return config2;
+}
+function applyUpdateTransition(el, elOption, animatableModel, opts2) {
+  opts2 = opts2 || {};
+  var dataIndex = opts2.dataIndex, isInit = opts2.isInit, clearStyle = opts2.clearStyle;
+  var hasAnimation = animatableModel.isAnimationEnabled();
+  var store = transitionInnerStore(el);
+  var styleOpt = elOption.style;
+  store.userDuring = elOption.during;
+  var transFromProps = {};
+  var propsToSet = {};
+  prepareTransformAllPropsFinal(el, elOption, propsToSet);
+  prepareShapeOrExtraAllPropsFinal("shape", elOption, propsToSet);
+  prepareShapeOrExtraAllPropsFinal("extra", elOption, propsToSet);
+  if (!isInit && hasAnimation) {
+    prepareTransformTransitionFrom(el, elOption, transFromProps);
+    prepareShapeOrExtraTransitionFrom("shape", el, elOption, transFromProps);
+    prepareShapeOrExtraTransitionFrom("extra", el, elOption, transFromProps);
+    prepareStyleTransitionFrom(el, elOption, styleOpt, transFromProps);
+  }
+  propsToSet.style = styleOpt;
+  applyPropsDirectly(el, propsToSet, clearStyle);
+  applyMiscProps(el, elOption);
+  if (hasAnimation) {
+    if (isInit) {
+      var enterFromProps_1 = {};
+      each$f(ELEMENT_ANIMATABLE_PROPS, function(propName) {
+        var prop2 = propName ? elOption[propName] : elOption;
+        if (prop2 && prop2.enterFrom) {
+          if (propName) {
+            enterFromProps_1[propName] = enterFromProps_1[propName] || {};
+          }
+          extend$1(propName ? enterFromProps_1[propName] : enterFromProps_1, prop2.enterFrom);
+        }
+      });
+      var config2 = getElementAnimationConfig("enter", el, elOption, animatableModel, dataIndex);
+      if (config2.duration > 0) {
+        el.animateFrom(enterFromProps_1, config2);
+      }
+    } else {
+      applyPropsTransition(el, elOption, dataIndex || 0, animatableModel, transFromProps);
+    }
+  }
+  updateLeaveTo(el, elOption);
+  styleOpt ? el.dirty() : el.markRedraw();
+}
+function updateLeaveTo(el, elOption) {
+  var leaveToProps = transitionInnerStore(el).leaveToProps;
+  for (var i2 = 0; i2 < ELEMENT_ANIMATABLE_PROPS.length; i2++) {
+    var propName = ELEMENT_ANIMATABLE_PROPS[i2];
+    var prop2 = propName ? elOption[propName] : elOption;
+    if (prop2 && prop2.leaveTo) {
+      if (!leaveToProps) {
+        leaveToProps = transitionInnerStore(el).leaveToProps = {};
+      }
+      if (propName) {
+        leaveToProps[propName] = leaveToProps[propName] || {};
+      }
+      extend$1(propName ? leaveToProps[propName] : leaveToProps, prop2.leaveTo);
+    }
+  }
+}
+function applyLeaveTransition(el, elOption, animatableModel, onRemove) {
+  if (el) {
+    var parent_1 = el.parent;
+    var leaveToProps = transitionInnerStore(el).leaveToProps;
+    if (leaveToProps) {
+      var config2 = getElementAnimationConfig("update", el, elOption, animatableModel, 0);
+      config2.done = function() {
+        parent_1.remove(el);
+        onRemove && onRemove();
+      };
+      el.animateTo(leaveToProps, config2);
+    } else {
+      parent_1.remove(el);
+      onRemove && onRemove();
+    }
+  }
+}
+function isTransitionAll(transition2) {
+  return transition2 === "all";
+}
+function applyPropsDirectly(el, allPropsFinal, clearStyle) {
+  var styleOpt = allPropsFinal.style;
+  if (!el.isGroup && styleOpt) {
+    if (clearStyle) {
+      el.useStyle({});
+      var animators = el.animators;
+      for (var i2 = 0; i2 < animators.length; i2++) {
+        var animator = animators[i2];
+        if (animator.targetName === "style") {
+          animator.changeTarget(el.style);
+        }
+      }
+    }
+    el.setStyle(styleOpt);
+  }
+  if (allPropsFinal) {
+    allPropsFinal.style = null;
+    allPropsFinal && el.attr(allPropsFinal);
+    allPropsFinal.style = styleOpt;
+  }
+}
+function applyPropsTransition(el, elOption, dataIndex, model2, transFromProps) {
+  if (transFromProps) {
+    var config2 = getElementAnimationConfig("update", el, elOption, model2, dataIndex);
+    if (config2.duration > 0) {
+      el.animateFrom(transFromProps, config2);
+    }
+  }
+}
+function applyMiscProps(el, elOption) {
+  hasOwn(elOption, "silent") && (el.silent = elOption.silent);
+  hasOwn(elOption, "ignore") && (el.ignore = elOption.ignore);
+  if (el instanceof Displayable$1) {
+    hasOwn(elOption, "invisible") && (el.invisible = elOption.invisible);
+  }
+  if (el instanceof Path$1) {
+    hasOwn(elOption, "autoBatch") && (el.autoBatch = elOption.autoBatch);
+  }
+}
+var tmpDuringScope = {};
+var transitionDuringAPI = {
+  // Usually other props do not need to be changed in animation during.
+  setTransform: function(key2, val) {
+    tmpDuringScope.el[key2] = val;
+    return this;
+  },
+  getTransform: function(key2) {
+    return tmpDuringScope.el[key2];
+  },
+  setShape: function(key2, val) {
+    var el = tmpDuringScope.el;
+    var shape = el.shape || (el.shape = {});
+    shape[key2] = val;
+    el.dirtyShape && el.dirtyShape();
+    return this;
+  },
+  getShape: function(key2) {
+    var shape = tmpDuringScope.el.shape;
+    if (shape) {
+      return shape[key2];
+    }
+  },
+  setStyle: function(key2, val) {
+    var el = tmpDuringScope.el;
+    var style2 = el.style;
+    if (style2) {
+      style2[key2] = val;
+      el.dirtyStyle && el.dirtyStyle();
+    }
+    return this;
+  },
+  getStyle: function(key2) {
+    var style2 = tmpDuringScope.el.style;
+    if (style2) {
+      return style2[key2];
+    }
+  },
+  setExtra: function(key2, val) {
+    var extra = tmpDuringScope.el.extra || (tmpDuringScope.el.extra = {});
+    extra[key2] = val;
+    return this;
+  },
+  getExtra: function(key2) {
+    var extra = tmpDuringScope.el.extra;
+    if (extra) {
+      return extra[key2];
+    }
+  }
+};
+function duringCall() {
+  var scope = this;
+  var el = scope.el;
+  if (!el) {
+    return;
+  }
+  var latestUserDuring = transitionInnerStore(el).userDuring;
+  var scopeUserDuring = scope.userDuring;
+  if (latestUserDuring !== scopeUserDuring) {
+    scope.el = scope.userDuring = null;
+    return;
+  }
+  tmpDuringScope.el = el;
+  scopeUserDuring(transitionDuringAPI);
+}
+function prepareShapeOrExtraTransitionFrom(mainAttr, fromEl, elOption, transFromProps) {
+  var attrOpt = elOption[mainAttr];
+  if (!attrOpt) {
+    return;
+  }
+  var elPropsInAttr = fromEl[mainAttr];
+  var transFromPropsInAttr;
+  if (elPropsInAttr) {
+    var transition2 = elOption.transition;
+    var attrTransition = attrOpt.transition;
+    if (attrTransition) {
+      !transFromPropsInAttr && (transFromPropsInAttr = transFromProps[mainAttr] = {});
+      if (isTransitionAll(attrTransition)) {
+        extend$1(transFromPropsInAttr, elPropsInAttr);
+      } else {
+        var transitionKeys = normalizeToArray(attrTransition);
+        for (var i2 = 0; i2 < transitionKeys.length; i2++) {
+          var key2 = transitionKeys[i2];
+          var elVal = elPropsInAttr[key2];
+          transFromPropsInAttr[key2] = elVal;
+        }
+      }
+    } else if (isTransitionAll(transition2) || indexOf(transition2, mainAttr) >= 0) {
+      !transFromPropsInAttr && (transFromPropsInAttr = transFromProps[mainAttr] = {});
+      var elPropsInAttrKeys = keys(elPropsInAttr);
+      for (var i2 = 0; i2 < elPropsInAttrKeys.length; i2++) {
+        var key2 = elPropsInAttrKeys[i2];
+        var elVal = elPropsInAttr[key2];
+        if (isNonStyleTransitionEnabled(attrOpt[key2], elVal)) {
+          transFromPropsInAttr[key2] = elVal;
+        }
+      }
+    }
+  }
+}
+function prepareShapeOrExtraAllPropsFinal(mainAttr, elOption, allProps) {
+  var attrOpt = elOption[mainAttr];
+  if (!attrOpt) {
+    return;
+  }
+  var allPropsInAttr = allProps[mainAttr] = {};
+  var keysInAttr = keys(attrOpt);
+  for (var i2 = 0; i2 < keysInAttr.length; i2++) {
+    var key2 = keysInAttr[i2];
+    allPropsInAttr[key2] = cloneValue(attrOpt[key2]);
+  }
+}
+function prepareTransformTransitionFrom(el, elOption, transFromProps) {
+  var transition2 = elOption.transition;
+  var transitionKeys = isTransitionAll(transition2) ? TRANSFORMABLE_PROPS : normalizeToArray(transition2 || []);
+  for (var i2 = 0; i2 < transitionKeys.length; i2++) {
+    var key2 = transitionKeys[i2];
+    if (key2 === "style" || key2 === "shape" || key2 === "extra") {
+      continue;
+    }
+    var elVal = el[key2];
+    transFromProps[key2] = elVal;
+  }
+}
+function prepareTransformAllPropsFinal(el, elOption, allProps) {
+  for (var i2 = 0; i2 < LEGACY_TRANSFORM_PROPS.length; i2++) {
+    var legacyName = LEGACY_TRANSFORM_PROPS[i2];
+    var xyName = LEGACY_TRANSFORM_PROPS_MAP[legacyName];
+    var legacyArr = elOption[legacyName];
+    if (legacyArr) {
+      allProps[xyName[0]] = legacyArr[0];
+      allProps[xyName[1]] = legacyArr[1];
+    }
+  }
+  for (var i2 = 0; i2 < TRANSFORMABLE_PROPS.length; i2++) {
+    var key2 = TRANSFORMABLE_PROPS[i2];
+    if (elOption[key2] != null) {
+      allProps[key2] = elOption[key2];
+    }
+  }
+}
+function prepareStyleTransitionFrom(fromEl, elOption, styleOpt, transFromProps) {
+  if (!styleOpt) {
+    return;
+  }
+  var fromElStyle = fromEl.style;
+  var transFromStyleProps;
+  if (fromElStyle) {
+    var styleTransition = styleOpt.transition;
+    var elTransition = elOption.transition;
+    if (styleTransition && !isTransitionAll(styleTransition)) {
+      var transitionKeys = normalizeToArray(styleTransition);
+      !transFromStyleProps && (transFromStyleProps = transFromProps.style = {});
+      for (var i2 = 0; i2 < transitionKeys.length; i2++) {
+        var key2 = transitionKeys[i2];
+        var elVal = fromElStyle[key2];
+        transFromStyleProps[key2] = elVal;
+      }
+    } else if (fromEl.getAnimationStyleProps && (isTransitionAll(elTransition) || isTransitionAll(styleTransition) || indexOf(elTransition, "style") >= 0)) {
+      var animationProps = fromEl.getAnimationStyleProps();
+      var animationStyleProps = animationProps ? animationProps.style : null;
+      if (animationStyleProps) {
+        !transFromStyleProps && (transFromStyleProps = transFromProps.style = {});
+        var styleKeys = keys(styleOpt);
+        for (var i2 = 0; i2 < styleKeys.length; i2++) {
+          var key2 = styleKeys[i2];
+          if (animationStyleProps[key2]) {
+            var elVal = fromElStyle[key2];
+            transFromStyleProps[key2] = elVal;
+          }
+        }
+      }
+    }
+  }
+}
+function isNonStyleTransitionEnabled(optVal, elVal) {
+  return !isArrayLike(optVal) ? optVal != null && isFinite(optVal) : optVal !== elVal;
+}
+var getStateToRestore = makeInner();
+var KEYFRAME_EXCLUDE_KEYS = ["percent", "easing", "shape", "style", "extra"];
+function stopPreviousKeyframeAnimationAndRestore(el) {
+  el.stopAnimation("keyframe");
+  el.attr(getStateToRestore(el));
+}
+function applyKeyframeAnimation(el, animationOpts, animatableModel) {
+  if (!animatableModel.isAnimationEnabled() || !animationOpts) {
+    return;
+  }
+  if (isArray$2(animationOpts)) {
+    each$f(animationOpts, function(singleAnimationOpts) {
+      applyKeyframeAnimation(el, singleAnimationOpts, animatableModel);
+    });
+    return;
+  }
+  var keyframes = animationOpts.keyframes;
+  var duration = animationOpts.duration;
+  if (animatableModel && duration == null) {
+    var config2 = getAnimationConfig("enter", animatableModel, 0);
+    duration = config2 && config2.duration;
+  }
+  if (!keyframes || !duration) {
+    return;
+  }
+  var stateToRestore = getStateToRestore(el);
+  each$f(ELEMENT_ANIMATABLE_PROPS, function(targetPropName) {
+    if (targetPropName && !el[targetPropName]) {
+      return;
+    }
+    var animator;
+    keyframes.sort(function(a2, b2) {
+      return a2.percent - b2.percent;
+    });
+    each$f(keyframes, function(kf) {
+      var animators = el.animators;
+      var kfValues = targetPropName ? kf[targetPropName] : kf;
+      if (!kfValues) {
+        return;
+      }
+      var propKeys = keys(kfValues);
+      if (!targetPropName) {
+        propKeys = filter(propKeys, function(key2) {
+          return indexOf(KEYFRAME_EXCLUDE_KEYS, key2) < 0;
+        });
+      }
+      if (!propKeys.length) {
+        return;
+      }
+      if (!animator) {
+        animator = el.animate(targetPropName, animationOpts.loop, true);
+        animator.scope = "keyframe";
+      }
+      for (var i2 = 0; i2 < animators.length; i2++) {
+        if (animators[i2] !== animator && animators[i2].targetName === animator.targetName) {
+          animators[i2].stopTracks(propKeys);
+        }
+      }
+      targetPropName && (stateToRestore[targetPropName] = stateToRestore[targetPropName] || {});
+      var savedTarget = targetPropName ? stateToRestore[targetPropName] : stateToRestore;
+      each$f(propKeys, function(key2) {
+        savedTarget[key2] = ((targetPropName ? el[targetPropName] : el) || {})[key2];
+      });
+      animator.whenWithKeys(duration * kf.percent, kfValues, propKeys, kf.easing);
+    });
+    if (!animator) {
+      return;
+    }
+    animator.delay(animationOpts.delay || 0).duration(duration).start(animationOpts.easing);
+  });
+}
+var EMPHASIS = "emphasis";
+var NORMAL = "normal";
+var BLUR = "blur";
+var SELECT = "select";
+var STATES = [NORMAL, EMPHASIS, BLUR, SELECT];
+var PATH_ITEM_STYLE = {
+  normal: ["itemStyle"],
+  emphasis: [EMPHASIS, "itemStyle"],
+  blur: [BLUR, "itemStyle"],
+  select: [SELECT, "itemStyle"]
+};
+var PATH_LABEL = {
+  normal: ["label"],
+  emphasis: [EMPHASIS, "label"],
+  blur: [BLUR, "label"],
+  select: [SELECT, "label"]
+};
+var DEFAULT_TRANSITION = ["x", "y"];
+var GROUP_DIFF_PREFIX = "e\0\0";
+var attachedTxInfoTmp = {
+  normal: {},
+  emphasis: {},
+  blur: {},
+  select: {}
+};
+var prepareCustoms = {
+  cartesian2d: cartesianPrepareCustom,
+  geo: geoPrepareCustom,
+  single: singlePrepareCustom,
+  polar: polarPrepareCustom,
+  calendar: calendarPrepareCustom
+};
+function isPath(el) {
+  return el instanceof Path$1;
+}
+function isDisplayable(el) {
+  return el instanceof Displayable$1;
+}
+function copyElement(sourceEl, targetEl) {
+  targetEl.copyTransform(sourceEl);
+  if (isDisplayable(targetEl) && isDisplayable(sourceEl)) {
+    targetEl.setStyle(sourceEl.style);
+    targetEl.z = sourceEl.z;
+    targetEl.z2 = sourceEl.z2;
+    targetEl.zlevel = sourceEl.zlevel;
+    targetEl.invisible = sourceEl.invisible;
+    targetEl.ignore = sourceEl.ignore;
+    if (isPath(targetEl) && isPath(sourceEl)) {
+      targetEl.setShape(sourceEl.shape);
+    }
+  }
+}
+var CustomChartView = (
+  /** @class */
+  function(_super) {
+    __extends(CustomChartView2, _super);
+    function CustomChartView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CustomChartView2.type;
+      return _this;
+    }
+    CustomChartView2.prototype.render = function(customSeries, ecModel, api2, payload) {
+      this._progressiveEls = null;
+      var oldData = this._data;
+      var data2 = customSeries.getData();
+      var group = this.group;
+      var renderItem = makeRenderItem(customSeries, data2, ecModel, api2);
+      if (!oldData) {
+        group.removeAll();
+      }
+      data2.diff(oldData).add(function(newIdx) {
+        createOrUpdateItem(api2, null, newIdx, renderItem(newIdx, payload), customSeries, group, data2);
+      }).remove(function(oldIdx) {
+        var el = oldData.getItemGraphicEl(oldIdx);
+        el && applyLeaveTransition(el, customInnerStore(el).option, customSeries);
+      }).update(function(newIdx, oldIdx) {
+        var oldEl = oldData.getItemGraphicEl(oldIdx);
+        createOrUpdateItem(api2, oldEl, newIdx, renderItem(newIdx, payload), customSeries, group, data2);
+      }).execute();
+      var clipPath = customSeries.get("clip", true) ? createClipPath(customSeries.coordinateSystem, false, customSeries) : null;
+      if (clipPath) {
+        group.setClipPath(clipPath);
+      } else {
+        group.removeClipPath();
+      }
+      this._data = data2;
+    };
+    CustomChartView2.prototype.incrementalPrepareRender = function(customSeries, ecModel, api2) {
+      this.group.removeAll();
+      this._data = null;
+    };
+    CustomChartView2.prototype.incrementalRender = function(params2, customSeries, ecModel, api2, payload) {
+      var data2 = customSeries.getData();
+      var renderItem = makeRenderItem(customSeries, data2, ecModel, api2);
+      var progressiveEls = this._progressiveEls = [];
+      function setIncrementalAndHoverLayer(el2) {
+        if (!el2.isGroup) {
+          el2.incremental = true;
+          el2.ensureState("emphasis").hoverLayer = true;
+        }
+      }
+      for (var idx = params2.start; idx < params2.end; idx++) {
+        var el = createOrUpdateItem(null, null, idx, renderItem(idx, payload), customSeries, this.group, data2);
+        if (el) {
+          el.traverse(setIncrementalAndHoverLayer);
+          progressiveEls.push(el);
+        }
+      }
+    };
+    CustomChartView2.prototype.eachRendered = function(cb) {
+      traverseElements(this._progressiveEls || this.group, cb);
+    };
+    CustomChartView2.prototype.filterForExposedEvent = function(eventType, query, targetEl, packedEvent) {
+      var elementName = query.element;
+      if (elementName == null || targetEl.name === elementName) {
+        return true;
+      }
+      while ((targetEl = targetEl.__hostTarget || targetEl.parent) && targetEl !== this.group) {
+        if (targetEl.name === elementName) {
+          return true;
+        }
+      }
+      return false;
+    };
+    CustomChartView2.type = "custom";
+    return CustomChartView2;
+  }(ChartView$1)
+);
+const CustomChartView$1 = CustomChartView;
+function createEl$1(elOption) {
+  var graphicType = elOption.type;
+  var el;
+  if (graphicType === "path") {
+    var shape = elOption.shape;
+    var pathRect = shape.width != null && shape.height != null ? {
+      x: shape.x || 0,
+      y: shape.y || 0,
+      width: shape.width,
+      height: shape.height
+    } : null;
+    var pathData = getPathData(shape);
+    el = makePath(pathData, null, pathRect, shape.layout || "center");
+    customInnerStore(el).customPathData = pathData;
+  } else if (graphicType === "image") {
+    el = new ZRImage$1({});
+    customInnerStore(el).customImagePath = elOption.style.image;
+  } else if (graphicType === "text") {
+    el = new ZRText$1({});
+  } else if (graphicType === "group") {
+    el = new Group$4();
+  } else if (graphicType === "compoundPath") {
+    throw new Error('"compoundPath" is not supported yet.');
+  } else {
+    var Clz = getShapeClass(graphicType);
+    if (!Clz) {
+      var errMsg = "";
+      throwError(errMsg);
+    }
+    el = new Clz();
+  }
+  customInnerStore(el).customGraphicType = graphicType;
+  el.name = elOption.name;
+  el.z2EmphasisLift = 1;
+  el.z2SelectLift = 1;
+  return el;
+}
+function updateElNormal(api2, el, dataIndex, elOption, attachedTxInfo, seriesModel, isInit) {
+  stopPreviousKeyframeAnimationAndRestore(el);
+  var txCfgOpt = attachedTxInfo && attachedTxInfo.normal.cfg;
+  if (txCfgOpt) {
+    el.setTextConfig(txCfgOpt);
+  }
+  if (elOption && elOption.transition == null) {
+    elOption.transition = DEFAULT_TRANSITION;
+  }
+  var styleOpt = elOption && elOption.style;
+  if (styleOpt) {
+    if (el.type === "text") {
+      var textOptionStyle = styleOpt;
+      hasOwn(textOptionStyle, "textFill") && (textOptionStyle.fill = textOptionStyle.textFill);
+      hasOwn(textOptionStyle, "textStroke") && (textOptionStyle.stroke = textOptionStyle.textStroke);
+    }
+    var decalPattern = void 0;
+    var decalObj = isPath(el) ? styleOpt.decal : null;
+    if (api2 && decalObj) {
+      decalObj.dirty = true;
+      decalPattern = createOrUpdatePatternFromDecal(decalObj, api2);
+    }
+    styleOpt.__decalPattern = decalPattern;
+  }
+  if (isDisplayable(el)) {
+    if (styleOpt) {
+      var decalPattern = styleOpt.__decalPattern;
+      if (decalPattern) {
+        styleOpt.decal = decalPattern;
+      }
+    }
+  }
+  applyUpdateTransition(el, elOption, seriesModel, {
+    dataIndex,
+    isInit,
+    clearStyle: true
+  });
+  applyKeyframeAnimation(el, elOption.keyframeAnimation, seriesModel);
+}
+function updateElOnState(state, el, elStateOpt, styleOpt, attachedTxInfo) {
+  var elDisplayable = el.isGroup ? null : el;
+  var txCfgOpt = attachedTxInfo && attachedTxInfo[state].cfg;
+  if (elDisplayable) {
+    var stateObj = elDisplayable.ensureState(state);
+    if (styleOpt === false) {
+      var existingEmphasisState = elDisplayable.getState(state);
+      if (existingEmphasisState) {
+        existingEmphasisState.style = null;
+      }
+    } else {
+      stateObj.style = styleOpt || null;
+    }
+    if (txCfgOpt) {
+      stateObj.textConfig = txCfgOpt;
+    }
+    setDefaultStateProxy(elDisplayable);
+  }
+}
+function updateZ(el, elOption, seriesModel) {
+  if (el.isGroup) {
+    return;
+  }
+  var elDisplayable = el;
+  var currentZ = seriesModel.currentZ;
+  var currentZLevel = seriesModel.currentZLevel;
+  elDisplayable.z = currentZ;
+  elDisplayable.zlevel = currentZLevel;
+  var optZ2 = elOption.z2;
+  optZ2 != null && (elDisplayable.z2 = optZ2 || 0);
+  for (var i2 = 0; i2 < STATES.length; i2++) {
+    updateZForEachState(elDisplayable, elOption, STATES[i2]);
+  }
+}
+function updateZForEachState(elDisplayable, elOption, state) {
+  var isNormal = state === NORMAL;
+  var elStateOpt = isNormal ? elOption : retrieveStateOption(elOption, state);
+  var optZ2 = elStateOpt ? elStateOpt.z2 : null;
+  var stateObj;
+  if (optZ2 != null) {
+    stateObj = isNormal ? elDisplayable : elDisplayable.ensureState(state);
+    stateObj.z2 = optZ2 || 0;
+  }
+}
+function makeRenderItem(customSeries, data2, ecModel, api2) {
+  var renderItem = customSeries.get("renderItem");
+  var coordSys = customSeries.coordinateSystem;
+  var prepareResult2 = {};
+  if (coordSys) {
+    prepareResult2 = coordSys.prepareCustoms ? coordSys.prepareCustoms(coordSys) : prepareCustoms[coordSys.type](coordSys);
+  }
+  var userAPI = defaults$2({
+    getWidth: api2.getWidth,
+    getHeight: api2.getHeight,
+    getZr: api2.getZr,
+    getDevicePixelRatio: api2.getDevicePixelRatio,
+    value,
+    style: style2,
+    ordinalRawValue,
+    styleEmphasis,
+    visual,
+    barLayout,
+    currentSeriesIndices,
+    font
+  }, prepareResult2.api || {});
+  var userParams = {
+    // The life cycle of context: current round of rendering.
+    // The global life cycle is probably not necessary, because
+    // user can store global status by themselves.
+    context: {},
+    seriesId: customSeries.id,
+    seriesName: customSeries.name,
+    seriesIndex: customSeries.seriesIndex,
+    coordSys: prepareResult2.coordSys,
+    dataInsideLength: data2.count(),
+    encode: wrapEncodeDef(customSeries.getData())
+  };
+  var currDataIndexInside;
+  var currItemModel;
+  var currItemStyleModels = {};
+  var currLabelModels = {};
+  var seriesItemStyleModels = {};
+  var seriesLabelModels = {};
+  for (var i2 = 0; i2 < STATES.length; i2++) {
+    var stateName = STATES[i2];
+    seriesItemStyleModels[stateName] = customSeries.getModel(PATH_ITEM_STYLE[stateName]);
+    seriesLabelModels[stateName] = customSeries.getModel(PATH_LABEL[stateName]);
+  }
+  function getItemModel2(dataIndexInside) {
+    return dataIndexInside === currDataIndexInside ? currItemModel || (currItemModel = data2.getItemModel(dataIndexInside)) : data2.getItemModel(dataIndexInside);
+  }
+  function getItemStyleModel(dataIndexInside, state) {
+    return !data2.hasItemOption ? seriesItemStyleModels[state] : dataIndexInside === currDataIndexInside ? currItemStyleModels[state] || (currItemStyleModels[state] = getItemModel2(dataIndexInside).getModel(PATH_ITEM_STYLE[state])) : getItemModel2(dataIndexInside).getModel(PATH_ITEM_STYLE[state]);
+  }
+  function getLabelModel(dataIndexInside, state) {
+    return !data2.hasItemOption ? seriesLabelModels[state] : dataIndexInside === currDataIndexInside ? currLabelModels[state] || (currLabelModels[state] = getItemModel2(dataIndexInside).getModel(PATH_LABEL[state])) : getItemModel2(dataIndexInside).getModel(PATH_LABEL[state]);
+  }
+  return function(dataIndexInside, payload) {
+    currDataIndexInside = dataIndexInside;
+    currItemModel = null;
+    currItemStyleModels = {};
+    currLabelModels = {};
+    return renderItem && renderItem(defaults$2({
+      dataIndexInside,
+      dataIndex: data2.getRawIndex(dataIndexInside),
+      // Can be used for optimization when zoom or roam.
+      actionType: payload ? payload.type : null
+    }, userParams), userAPI);
+  };
+  function value(dim, dataIndexInside) {
+    dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+    return data2.getStore().get(data2.getDimensionIndex(dim || 0), dataIndexInside);
+  }
+  function ordinalRawValue(dim, dataIndexInside) {
+    dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+    dim = dim || 0;
+    var dimInfo = data2.getDimensionInfo(dim);
+    if (!dimInfo) {
+      var dimIndex = data2.getDimensionIndex(dim);
+      return dimIndex >= 0 ? data2.getStore().get(dimIndex, dataIndexInside) : void 0;
+    }
+    var val = data2.get(dimInfo.name, dataIndexInside);
+    var ordinalMeta = dimInfo && dimInfo.ordinalMeta;
+    return ordinalMeta ? ordinalMeta.categories[val] : val;
+  }
+  function style2(userProps, dataIndexInside) {
+    dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+    var style3 = data2.getItemVisual(dataIndexInside, "style");
+    var visualColor = style3 && style3.fill;
+    var opacity = style3 && style3.opacity;
+    var itemStyle2 = getItemStyleModel(dataIndexInside, NORMAL).getItemStyle();
+    visualColor != null && (itemStyle2.fill = visualColor);
+    opacity != null && (itemStyle2.opacity = opacity);
+    var opt = {
+      inheritColor: isString$1(visualColor) ? visualColor : "#000"
+    };
+    var labelModel = getLabelModel(dataIndexInside, NORMAL);
+    var textStyle2 = createTextStyle$1(labelModel, null, opt, false, true);
+    textStyle2.text = labelModel.getShallow("show") ? retrieve2(customSeries.getFormattedLabel(dataIndexInside, NORMAL), getDefaultLabel(data2, dataIndexInside)) : null;
+    var textConfig = createTextConfig(labelModel, opt, false);
+    preFetchFromExtra(userProps, itemStyle2);
+    itemStyle2 = convertToEC4StyleForCustomSerise(itemStyle2, textStyle2, textConfig);
+    userProps && applyUserPropsAfter(itemStyle2, userProps);
+    itemStyle2.legacy = true;
+    return itemStyle2;
+  }
+  function styleEmphasis(userProps, dataIndexInside) {
+    dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+    var itemStyle2 = getItemStyleModel(dataIndexInside, EMPHASIS).getItemStyle();
+    var labelModel = getLabelModel(dataIndexInside, EMPHASIS);
+    var textStyle2 = createTextStyle$1(labelModel, null, null, true, true);
+    textStyle2.text = labelModel.getShallow("show") ? retrieve3(customSeries.getFormattedLabel(dataIndexInside, EMPHASIS), customSeries.getFormattedLabel(dataIndexInside, NORMAL), getDefaultLabel(data2, dataIndexInside)) : null;
+    var textConfig = createTextConfig(labelModel, null, true);
+    preFetchFromExtra(userProps, itemStyle2);
+    itemStyle2 = convertToEC4StyleForCustomSerise(itemStyle2, textStyle2, textConfig);
+    userProps && applyUserPropsAfter(itemStyle2, userProps);
+    itemStyle2.legacy = true;
+    return itemStyle2;
+  }
+  function applyUserPropsAfter(itemStyle2, extra) {
+    for (var key2 in extra) {
+      if (hasOwn(extra, key2)) {
+        itemStyle2[key2] = extra[key2];
+      }
+    }
+  }
+  function preFetchFromExtra(extra, itemStyle2) {
+    if (extra) {
+      extra.textFill && (itemStyle2.textFill = extra.textFill);
+      extra.textPosition && (itemStyle2.textPosition = extra.textPosition);
+    }
+  }
+  function visual(visualType, dataIndexInside) {
+    dataIndexInside == null && (dataIndexInside = currDataIndexInside);
+    if (hasOwn(STYLE_VISUAL_TYPE, visualType)) {
+      var style_1 = data2.getItemVisual(dataIndexInside, "style");
+      return style_1 ? style_1[STYLE_VISUAL_TYPE[visualType]] : null;
+    }
+    if (hasOwn(NON_STYLE_VISUAL_PROPS, visualType)) {
+      return data2.getItemVisual(dataIndexInside, visualType);
+    }
+  }
+  function barLayout(opt) {
+    if (coordSys.type === "cartesian2d") {
+      var baseAxis = coordSys.getBaseAxis();
+      return getLayoutOnAxis(defaults$2({
+        axis: baseAxis
+      }, opt));
+    }
+  }
+  function currentSeriesIndices() {
+    return ecModel.getCurrentSeriesIndices();
+  }
+  function font(opt) {
+    return getFont(opt, ecModel);
+  }
+}
+function wrapEncodeDef(data2) {
+  var encodeDef = {};
+  each$f(data2.dimensions, function(dimName) {
+    var dimInfo = data2.getDimensionInfo(dimName);
+    if (!dimInfo.isExtraCoord) {
+      var coordDim = dimInfo.coordDim;
+      var dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];
+      dataDims[dimInfo.coordDimIndex] = data2.getDimensionIndex(dimName);
+    }
+  });
+  return encodeDef;
+}
+function createOrUpdateItem(api2, existsEl, dataIndex, elOption, seriesModel, group, data2) {
+  if (!elOption) {
+    group.remove(existsEl);
+    return;
+  }
+  var el = doCreateOrUpdateEl(api2, existsEl, dataIndex, elOption, seriesModel, group);
+  el && data2.setItemGraphicEl(dataIndex, el);
+  el && toggleHoverEmphasis(el, elOption.focus, elOption.blurScope, elOption.emphasisDisabled);
+  return el;
+}
+function doCreateOrUpdateEl(api2, existsEl, dataIndex, elOption, seriesModel, group) {
+  var toBeReplacedIdx = -1;
+  var oldEl = existsEl;
+  if (existsEl && doesElNeedRecreate(existsEl, elOption, seriesModel)) {
+    toBeReplacedIdx = indexOf(group.childrenRef(), existsEl);
+    existsEl = null;
+  }
+  var isInit = !existsEl;
+  var el = existsEl;
+  if (!el) {
+    el = createEl$1(elOption);
+    if (oldEl) {
+      copyElement(oldEl, el);
+    }
+  } else {
+    el.clearStates();
+  }
+  if (elOption.morph === false) {
+    el.disableMorphing = true;
+  } else if (el.disableMorphing) {
+    el.disableMorphing = false;
+  }
+  attachedTxInfoTmp.normal.cfg = attachedTxInfoTmp.normal.conOpt = attachedTxInfoTmp.emphasis.cfg = attachedTxInfoTmp.emphasis.conOpt = attachedTxInfoTmp.blur.cfg = attachedTxInfoTmp.blur.conOpt = attachedTxInfoTmp.select.cfg = attachedTxInfoTmp.select.conOpt = null;
+  attachedTxInfoTmp.isLegacy = false;
+  doCreateOrUpdateAttachedTx(el, dataIndex, elOption, seriesModel, isInit, attachedTxInfoTmp);
+  doCreateOrUpdateClipPath(el, dataIndex, elOption, seriesModel, isInit);
+  updateElNormal(api2, el, dataIndex, elOption, attachedTxInfoTmp, seriesModel, isInit);
+  hasOwn(elOption, "info") && (customInnerStore(el).info = elOption.info);
+  for (var i2 = 0; i2 < STATES.length; i2++) {
+    var stateName = STATES[i2];
+    if (stateName !== NORMAL) {
+      var otherStateOpt = retrieveStateOption(elOption, stateName);
+      var otherStyleOpt = retrieveStyleOptionOnState(elOption, otherStateOpt, stateName);
+      updateElOnState(stateName, el, otherStateOpt, otherStyleOpt, attachedTxInfoTmp);
+    }
+  }
+  updateZ(el, elOption, seriesModel);
+  if (elOption.type === "group") {
+    mergeChildren(api2, el, dataIndex, elOption, seriesModel);
+  }
+  if (toBeReplacedIdx >= 0) {
+    group.replaceAt(el, toBeReplacedIdx);
+  } else {
+    group.add(el);
+  }
+  return el;
+}
+function doesElNeedRecreate(el, elOption, seriesModel) {
+  var elInner = customInnerStore(el);
+  var elOptionType = elOption.type;
+  var elOptionShape = elOption.shape;
+  var elOptionStyle = elOption.style;
+  return (
+    // Always create new if universal transition is enabled.
+    // Because we do transition after render. It needs to know what old element is. Replacement will loose it.
+    seriesModel.isUniversalTransitionEnabled() || elOptionType != null && elOptionType !== elInner.customGraphicType || elOptionType === "path" && hasOwnPathData(elOptionShape) && getPathData(elOptionShape) !== elInner.customPathData || elOptionType === "image" && hasOwn(elOptionStyle, "image") && elOptionStyle.image !== elInner.customImagePath
+  );
+}
+function doCreateOrUpdateClipPath(el, dataIndex, elOption, seriesModel, isInit) {
+  var clipPathOpt = elOption.clipPath;
+  if (clipPathOpt === false) {
+    if (el && el.getClipPath()) {
+      el.removeClipPath();
+    }
+  } else if (clipPathOpt) {
+    var clipPath = el.getClipPath();
+    if (clipPath && doesElNeedRecreate(clipPath, clipPathOpt, seriesModel)) {
+      clipPath = null;
+    }
+    if (!clipPath) {
+      clipPath = createEl$1(clipPathOpt);
+      el.setClipPath(clipPath);
+    }
+    updateElNormal(null, clipPath, dataIndex, clipPathOpt, null, seriesModel, isInit);
+  }
+}
+function doCreateOrUpdateAttachedTx(el, dataIndex, elOption, seriesModel, isInit, attachedTxInfo) {
+  if (el.isGroup) {
+    return;
+  }
+  processTxInfo(elOption, null, attachedTxInfo);
+  processTxInfo(elOption, EMPHASIS, attachedTxInfo);
+  var txConOptNormal = attachedTxInfo.normal.conOpt;
+  var txConOptEmphasis = attachedTxInfo.emphasis.conOpt;
+  var txConOptBlur = attachedTxInfo.blur.conOpt;
+  var txConOptSelect = attachedTxInfo.select.conOpt;
+  if (txConOptNormal != null || txConOptEmphasis != null || txConOptSelect != null || txConOptBlur != null) {
+    var textContent = el.getTextContent();
+    if (txConOptNormal === false) {
+      textContent && el.removeTextContent();
+    } else {
+      txConOptNormal = attachedTxInfo.normal.conOpt = txConOptNormal || {
+        type: "text"
+      };
+      if (!textContent) {
+        textContent = createEl$1(txConOptNormal);
+        el.setTextContent(textContent);
+      } else {
+        textContent.clearStates();
+      }
+      updateElNormal(null, textContent, dataIndex, txConOptNormal, null, seriesModel, isInit);
+      var txConStlOptNormal = txConOptNormal && txConOptNormal.style;
+      for (var i2 = 0; i2 < STATES.length; i2++) {
+        var stateName = STATES[i2];
+        if (stateName !== NORMAL) {
+          var txConOptOtherState = attachedTxInfo[stateName].conOpt;
+          updateElOnState(stateName, textContent, txConOptOtherState, retrieveStyleOptionOnState(txConOptNormal, txConOptOtherState, stateName), null);
+        }
+      }
+      txConStlOptNormal ? textContent.dirty() : textContent.markRedraw();
+    }
+  }
+}
+function processTxInfo(elOption, state, attachedTxInfo) {
+  var stateOpt = !state ? elOption : retrieveStateOption(elOption, state);
+  var styleOpt = !state ? elOption.style : retrieveStyleOptionOnState(elOption, stateOpt, EMPHASIS);
+  var elType = elOption.type;
+  var txCfg = stateOpt ? stateOpt.textConfig : null;
+  var txConOptNormal = elOption.textContent;
+  var txConOpt = !txConOptNormal ? null : !state ? txConOptNormal : retrieveStateOption(txConOptNormal, state);
+  if (styleOpt && // Because emphasis style has little info to detect legacy,
+  // if normal is legacy, emphasis is trade as legacy.
+  (attachedTxInfo.isLegacy || isEC4CompatibleStyle(styleOpt, elType, !!txCfg, !!txConOpt))) {
+    attachedTxInfo.isLegacy = true;
+    var convertResult = convertFromEC4CompatibleStyle(styleOpt, elType, !state);
+    if (!txCfg && convertResult.textConfig) {
+      txCfg = convertResult.textConfig;
+    }
+    if (!txConOpt && convertResult.textContent) {
+      txConOpt = convertResult.textContent;
+    }
+  }
+  if (!state && txConOpt) {
+    var txConOptNormal_1 = txConOpt;
+    !txConOptNormal_1.type && (txConOptNormal_1.type = "text");
+  }
+  var info = !state ? attachedTxInfo.normal : attachedTxInfo[state];
+  info.cfg = txCfg;
+  info.conOpt = txConOpt;
+}
+function retrieveStateOption(elOption, state) {
+  return !state ? elOption : elOption ? elOption[state] : null;
+}
+function retrieveStyleOptionOnState(stateOptionNormal, stateOption, state) {
+  var style2 = stateOption && stateOption.style;
+  if (style2 == null && state === EMPHASIS && stateOptionNormal) {
+    style2 = stateOptionNormal.styleEmphasis;
+  }
+  return style2;
+}
+function mergeChildren(api2, el, dataIndex, elOption, seriesModel) {
+  var newChildren = elOption.children;
+  var newLen = newChildren ? newChildren.length : 0;
+  var mergeChildren2 = elOption.$mergeChildren;
+  var byName = mergeChildren2 === "byName" || elOption.diffChildrenByName;
+  var notMerge = mergeChildren2 === false;
+  if (!newLen && !byName && !notMerge) {
+    return;
+  }
+  if (byName) {
+    diffGroupChildren({
+      api: api2,
+      oldChildren: el.children() || [],
+      newChildren: newChildren || [],
+      dataIndex,
+      seriesModel,
+      group: el
+    });
+    return;
+  }
+  notMerge && el.removeAll();
+  var index3 = 0;
+  for (; index3 < newLen; index3++) {
+    var newChild = newChildren[index3];
+    var oldChild = el.childAt(index3);
+    if (newChild) {
+      if (newChild.ignore == null) {
+        newChild.ignore = false;
+      }
+      doCreateOrUpdateEl(api2, oldChild, dataIndex, newChild, seriesModel, el);
+    } else {
+      oldChild.ignore = true;
+    }
+  }
+  for (var i2 = el.childCount() - 1; i2 >= index3; i2--) {
+    var child = el.childAt(i2);
+    removeChildFromGroup(el, child, seriesModel);
+  }
+}
+function removeChildFromGroup(group, child, seriesModel) {
+  child && applyLeaveTransition(child, customInnerStore(group).option, seriesModel);
+}
+function diffGroupChildren(context) {
+  new DataDiffer$1(context.oldChildren, context.newChildren, getKey, getKey, context).add(processAddUpdate).update(processAddUpdate).remove(processRemove).execute();
+}
+function getKey(item, idx) {
+  var name2 = item && item.name;
+  return name2 != null ? name2 : GROUP_DIFF_PREFIX + idx;
+}
+function processAddUpdate(newIndex, oldIndex) {
+  var context = this.context;
+  var childOption = newIndex != null ? context.newChildren[newIndex] : null;
+  var child = oldIndex != null ? context.oldChildren[oldIndex] : null;
+  doCreateOrUpdateEl(context.api, child, context.dataIndex, childOption, context.seriesModel, context.group);
+}
+function processRemove(oldIndex) {
+  var context = this.context;
+  var child = context.oldChildren[oldIndex];
+  child && applyLeaveTransition(child, customInnerStore(child).option, context.seriesModel);
+}
+function getPathData(shape) {
+  return shape && (shape.pathData || shape.d);
+}
+function hasOwnPathData(shape) {
+  return shape && (hasOwn(shape, "pathData") || hasOwn(shape, "d"));
+}
+function install$r(registers) {
+  registers.registerChartView(CustomChartView$1);
+  registers.registerSeriesModel(CustomSeriesModel$1);
+}
+var inner$b = makeInner();
+var clone$1 = clone$4;
+var bind$1 = bind$2;
+var BaseAxisPointer = (
+  /** @class */
+  function() {
+    function BaseAxisPointer2() {
+      this._dragging = false;
+      this.animationThreshold = 15;
+    }
+    BaseAxisPointer2.prototype.render = function(axisModel, axisPointerModel, api2, forceRender) {
+      var value = axisPointerModel.get("value");
+      var status = axisPointerModel.get("status");
+      this._axisModel = axisModel;
+      this._axisPointerModel = axisPointerModel;
+      this._api = api2;
+      if (!forceRender && this._lastValue === value && this._lastStatus === status) {
+        return;
+      }
+      this._lastValue = value;
+      this._lastStatus = status;
+      var group = this._group;
+      var handle2 = this._handle;
+      if (!status || status === "hide") {
+        group && group.hide();
+        handle2 && handle2.hide();
+        return;
+      }
+      group && group.show();
+      handle2 && handle2.show();
+      var elOption = {};
+      this.makeElOption(elOption, value, axisModel, axisPointerModel, api2);
+      var graphicKey = elOption.graphicKey;
+      if (graphicKey !== this._lastGraphicKey) {
+        this.clear(api2);
+      }
+      this._lastGraphicKey = graphicKey;
+      var moveAnimation = this._moveAnimation = this.determineAnimation(axisModel, axisPointerModel);
+      if (!group) {
+        group = this._group = new Group$4();
+        this.createPointerEl(group, elOption, axisModel, axisPointerModel);
+        this.createLabelEl(group, elOption, axisModel, axisPointerModel);
+        api2.getZr().add(group);
+      } else {
+        var doUpdateProps = curry$1(updateProps, axisPointerModel, moveAnimation);
+        this.updatePointerEl(group, elOption, doUpdateProps);
+        this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);
+      }
+      updateMandatoryProps(group, axisPointerModel, true);
+      this._renderHandle(value);
+    };
+    BaseAxisPointer2.prototype.remove = function(api2) {
+      this.clear(api2);
+    };
+    BaseAxisPointer2.prototype.dispose = function(api2) {
+      this.clear(api2);
+    };
+    BaseAxisPointer2.prototype.determineAnimation = function(axisModel, axisPointerModel) {
+      var animation2 = axisPointerModel.get("animation");
+      var axis2 = axisModel.axis;
+      var isCategoryAxis = axis2.type === "category";
+      var useSnap = axisPointerModel.get("snap");
+      if (!useSnap && !isCategoryAxis) {
+        return false;
+      }
+      if (animation2 === "auto" || animation2 == null) {
+        var animationThreshold = this.animationThreshold;
+        if (isCategoryAxis && axis2.getBandWidth() > animationThreshold) {
+          return true;
+        }
+        if (useSnap) {
+          var seriesDataCount = getAxisInfo$1(axisModel).seriesDataCount;
+          var axisExtent = axis2.getExtent();
+          return Math.abs(axisExtent[0] - axisExtent[1]) / seriesDataCount > animationThreshold;
+        }
+        return false;
+      }
+      return animation2 === true;
+    };
+    BaseAxisPointer2.prototype.makeElOption = function(elOption, value, axisModel, axisPointerModel, api2) {
+    };
+    BaseAxisPointer2.prototype.createPointerEl = function(group, elOption, axisModel, axisPointerModel) {
+      var pointerOption = elOption.pointer;
+      if (pointerOption) {
+        var pointerEl = inner$b(group).pointerEl = new graphic$1[pointerOption.type](clone$1(elOption.pointer));
+        group.add(pointerEl);
+      }
+    };
+    BaseAxisPointer2.prototype.createLabelEl = function(group, elOption, axisModel, axisPointerModel) {
+      if (elOption.label) {
+        var labelEl = inner$b(group).labelEl = new ZRText$1(clone$1(elOption.label));
+        group.add(labelEl);
+        updateLabelShowHide(labelEl, axisPointerModel);
+      }
+    };
+    BaseAxisPointer2.prototype.updatePointerEl = function(group, elOption, updateProps2) {
+      var pointerEl = inner$b(group).pointerEl;
+      if (pointerEl && elOption.pointer) {
+        pointerEl.setStyle(elOption.pointer.style);
+        updateProps2(pointerEl, {
+          shape: elOption.pointer.shape
+        });
+      }
+    };
+    BaseAxisPointer2.prototype.updateLabelEl = function(group, elOption, updateProps2, axisPointerModel) {
+      var labelEl = inner$b(group).labelEl;
+      if (labelEl) {
+        labelEl.setStyle(elOption.label.style);
+        updateProps2(labelEl, {
+          // Consider text length change in vertical axis, animation should
+          // be used on shape, otherwise the effect will be weird.
+          // TODOTODO
+          // shape: elOption.label.shape,
+          x: elOption.label.x,
+          y: elOption.label.y
+        });
+        updateLabelShowHide(labelEl, axisPointerModel);
+      }
+    };
+    BaseAxisPointer2.prototype._renderHandle = function(value) {
+      if (this._dragging || !this.updateHandleTransform) {
+        return;
+      }
+      var axisPointerModel = this._axisPointerModel;
+      var zr = this._api.getZr();
+      var handle2 = this._handle;
+      var handleModel = axisPointerModel.getModel("handle");
+      var status = axisPointerModel.get("status");
+      if (!handleModel.get("show") || !status || status === "hide") {
+        handle2 && zr.remove(handle2);
+        this._handle = null;
+        return;
+      }
+      var isInit;
+      if (!this._handle) {
+        isInit = true;
+        handle2 = this._handle = createIcon(handleModel.get("icon"), {
+          cursor: "move",
+          draggable: true,
+          onmousemove: function(e2) {
+            stop(e2.event);
+          },
+          onmousedown: bind$1(this._onHandleDragMove, this, 0, 0),
+          drift: bind$1(this._onHandleDragMove, this),
+          ondragend: bind$1(this._onHandleDragEnd, this)
+        });
+        zr.add(handle2);
+      }
+      updateMandatoryProps(handle2, axisPointerModel, false);
+      handle2.setStyle(handleModel.getItemStyle(null, ["color", "borderColor", "borderWidth", "opacity", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"]));
+      var handleSize = handleModel.get("size");
+      if (!isArray$2(handleSize)) {
+        handleSize = [handleSize, handleSize];
+      }
+      handle2.scaleX = handleSize[0] / 2;
+      handle2.scaleY = handleSize[1] / 2;
+      createOrUpdate(this, "_doDispatchAxisPointer", handleModel.get("throttle") || 0, "fixRate");
+      this._moveHandleToValue(value, isInit);
+    };
+    BaseAxisPointer2.prototype._moveHandleToValue = function(value, isInit) {
+      updateProps(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));
+    };
+    BaseAxisPointer2.prototype._onHandleDragMove = function(dx, dy) {
+      var handle2 = this._handle;
+      if (!handle2) {
+        return;
+      }
+      this._dragging = true;
+      var trans = this.updateHandleTransform(getHandleTransProps(handle2), [dx, dy], this._axisModel, this._axisPointerModel);
+      this._payloadInfo = trans;
+      handle2.stopAnimation();
+      handle2.attr(getHandleTransProps(trans));
+      inner$b(handle2).lastProp = null;
+      this._doDispatchAxisPointer();
+    };
+    BaseAxisPointer2.prototype._doDispatchAxisPointer = function() {
+      var handle2 = this._handle;
+      if (!handle2) {
+        return;
+      }
+      var payloadInfo = this._payloadInfo;
+      var axisModel = this._axisModel;
+      this._api.dispatchAction({
+        type: "updateAxisPointer",
+        x: payloadInfo.cursorPoint[0],
+        y: payloadInfo.cursorPoint[1],
+        tooltipOption: payloadInfo.tooltipOption,
+        axesInfo: [{
+          axisDim: axisModel.axis.dim,
+          axisIndex: axisModel.componentIndex
+        }]
+      });
+    };
+    BaseAxisPointer2.prototype._onHandleDragEnd = function() {
+      this._dragging = false;
+      var handle2 = this._handle;
+      if (!handle2) {
+        return;
+      }
+      var value = this._axisPointerModel.get("value");
+      this._moveHandleToValue(value);
+      this._api.dispatchAction({
+        type: "hideTip"
+      });
+    };
+    BaseAxisPointer2.prototype.clear = function(api2) {
+      this._lastValue = null;
+      this._lastStatus = null;
+      var zr = api2.getZr();
+      var group = this._group;
+      var handle2 = this._handle;
+      if (zr && group) {
+        this._lastGraphicKey = null;
+        group && zr.remove(group);
+        handle2 && zr.remove(handle2);
+        this._group = null;
+        this._handle = null;
+        this._payloadInfo = null;
+      }
+      clear$1(this, "_doDispatchAxisPointer");
+    };
+    BaseAxisPointer2.prototype.doClear = function() {
+    };
+    BaseAxisPointer2.prototype.buildLabel = function(xy, wh, xDimIndex) {
+      xDimIndex = xDimIndex || 0;
+      return {
+        x: xy[xDimIndex],
+        y: xy[1 - xDimIndex],
+        width: wh[xDimIndex],
+        height: wh[1 - xDimIndex]
+      };
+    };
+    return BaseAxisPointer2;
+  }()
+);
+function updateProps(animationModel, moveAnimation, el, props2) {
+  if (!propsEqual(inner$b(el).lastProp, props2)) {
+    inner$b(el).lastProp = props2;
+    moveAnimation ? updateProps$1(el, props2, animationModel) : (el.stopAnimation(), el.attr(props2));
+  }
+}
+function propsEqual(lastProps, newProps) {
+  if (isObject$4(lastProps) && isObject$4(newProps)) {
+    var equals_1 = true;
+    each$f(newProps, function(item, key2) {
+      equals_1 = equals_1 && propsEqual(lastProps[key2], item);
+    });
+    return !!equals_1;
+  } else {
+    return lastProps === newProps;
+  }
+}
+function updateLabelShowHide(labelEl, axisPointerModel) {
+  labelEl[axisPointerModel.get(["label", "show"]) ? "show" : "hide"]();
+}
+function getHandleTransProps(trans) {
+  return {
+    x: trans.x || 0,
+    y: trans.y || 0,
+    rotation: trans.rotation || 0
+  };
+}
+function updateMandatoryProps(group, axisPointerModel, silent) {
+  var z2 = axisPointerModel.get("z");
+  var zlevel = axisPointerModel.get("zlevel");
+  group && group.traverse(function(el) {
+    if (el.type !== "group") {
+      z2 != null && (el.z = z2);
+      zlevel != null && (el.zlevel = zlevel);
+      el.silent = silent;
+    }
+  });
+}
+const BaseAxisPointer$1 = BaseAxisPointer;
+function buildElStyle(axisPointerModel) {
+  var axisPointerType = axisPointerModel.get("type");
+  var styleModel = axisPointerModel.getModel(axisPointerType + "Style");
+  var style2;
+  if (axisPointerType === "line") {
+    style2 = styleModel.getLineStyle();
+    style2.fill = null;
+  } else if (axisPointerType === "shadow") {
+    style2 = styleModel.getAreaStyle();
+    style2.stroke = null;
+  }
+  return style2;
+}
+function buildLabelElOption(elOption, axisModel, axisPointerModel, api2, labelPos) {
+  var value = axisPointerModel.get("value");
+  var text2 = getValueLabel(value, axisModel.axis, axisModel.ecModel, axisPointerModel.get("seriesDataIndices"), {
+    precision: axisPointerModel.get(["label", "precision"]),
+    formatter: axisPointerModel.get(["label", "formatter"])
+  });
+  var labelModel = axisPointerModel.getModel("label");
+  var paddings = normalizeCssArray(labelModel.get("padding") || 0);
+  var font = labelModel.getFont();
+  var textRect = getBoundingRect(text2, font);
+  var position2 = labelPos.position;
+  var width = textRect.width + paddings[1] + paddings[3];
+  var height = textRect.height + paddings[0] + paddings[2];
+  var align = labelPos.align;
+  align === "right" && (position2[0] -= width);
+  align === "center" && (position2[0] -= width / 2);
+  var verticalAlign = labelPos.verticalAlign;
+  verticalAlign === "bottom" && (position2[1] -= height);
+  verticalAlign === "middle" && (position2[1] -= height / 2);
+  confineInContainer(position2, width, height, api2);
+  var bgColor = labelModel.get("backgroundColor");
+  if (!bgColor || bgColor === "auto") {
+    bgColor = axisModel.get(["axisLine", "lineStyle", "color"]);
+  }
+  elOption.label = {
+    // shape: {x: 0, y: 0, width: width, height: height, r: labelModel.get('borderRadius')},
+    x: position2[0],
+    y: position2[1],
+    style: createTextStyle$1(labelModel, {
+      text: text2,
+      font,
+      fill: labelModel.getTextColor(),
+      padding: paddings,
+      backgroundColor: bgColor
+    }),
+    // Label should be over axisPointer.
+    z2: 10
+  };
+}
+function confineInContainer(position2, width, height, api2) {
+  var viewWidth = api2.getWidth();
+  var viewHeight = api2.getHeight();
+  position2[0] = Math.min(position2[0] + width, viewWidth) - width;
+  position2[1] = Math.min(position2[1] + height, viewHeight) - height;
+  position2[0] = Math.max(position2[0], 0);
+  position2[1] = Math.max(position2[1], 0);
+}
+function getValueLabel(value, axis2, ecModel, seriesDataIndices, opt) {
+  value = axis2.scale.parse(value);
+  var text2 = axis2.scale.getLabel({
+    value
+  }, {
+    // If `precision` is set, width can be fixed (like '12.00500'), which
+    // helps to debounce when when moving label.
+    precision: opt.precision
+  });
+  var formatter = opt.formatter;
+  if (formatter) {
+    var params_1 = {
+      value: getAxisRawValue(axis2, {
+        value
+      }),
+      axisDimension: axis2.dim,
+      axisIndex: axis2.index,
+      seriesData: []
+    };
+    each$f(seriesDataIndices, function(idxItem) {
+      var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);
+      var dataIndex = idxItem.dataIndexInside;
+      var dataParams = series && series.getDataParams(dataIndex);
+      dataParams && params_1.seriesData.push(dataParams);
+    });
+    if (isString$1(formatter)) {
+      text2 = formatter.replace("{value}", text2);
+    } else if (isFunction$1(formatter)) {
+      text2 = formatter(params_1);
+    }
+  }
+  return text2;
+}
+function getTransformedPosition(axis2, value, layoutInfo) {
+  var transform3 = create$1();
+  rotate(transform3, transform3, layoutInfo.rotation);
+  translate(transform3, transform3, layoutInfo.position);
+  return applyTransform([axis2.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform3);
+}
+function buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api2) {
+  var textLayout = AxisBuilder$1.innerTextLayout(layoutInfo.rotation, 0, layoutInfo.labelDirection);
+  layoutInfo.labelMargin = axisPointerModel.get(["label", "margin"]);
+  buildLabelElOption(elOption, axisModel, axisPointerModel, api2, {
+    position: getTransformedPosition(axisModel.axis, value, layoutInfo),
+    align: textLayout.textAlign,
+    verticalAlign: textLayout.textVerticalAlign
+  });
+}
+function makeLineShape(p1, p2, xDimIndex) {
+  xDimIndex = xDimIndex || 0;
+  return {
+    x1: p1[xDimIndex],
+    y1: p1[1 - xDimIndex],
+    x2: p2[xDimIndex],
+    y2: p2[1 - xDimIndex]
+  };
+}
+function makeRectShape(xy, wh, xDimIndex) {
+  xDimIndex = xDimIndex || 0;
+  return {
+    x: xy[xDimIndex],
+    y: xy[1 - xDimIndex],
+    width: wh[xDimIndex],
+    height: wh[1 - xDimIndex]
+  };
+}
+function makeSectorShape(cx, cy, r0, r2, startAngle, endAngle) {
+  return {
+    cx,
+    cy,
+    r0,
+    r: r2,
+    startAngle,
+    endAngle,
+    clockwise: true
+  };
+}
+var CartesianAxisPointer = (
+  /** @class */
+  function(_super) {
+    __extends(CartesianAxisPointer2, _super);
+    function CartesianAxisPointer2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    CartesianAxisPointer2.prototype.makeElOption = function(elOption, value, axisModel, axisPointerModel, api2) {
+      var axis2 = axisModel.axis;
+      var grid2 = axis2.grid;
+      var axisPointerType = axisPointerModel.get("type");
+      var otherExtent = getCartesian(grid2, axis2).getOtherAxis(axis2).getGlobalExtent();
+      var pixelValue = axis2.toGlobalCoord(axis2.dataToCoord(value, true));
+      if (axisPointerType && axisPointerType !== "none") {
+        var elStyle = buildElStyle(axisPointerModel);
+        var pointerOption = pointerShapeBuilder$2[axisPointerType](axis2, pixelValue, otherExtent);
+        pointerOption.style = elStyle;
+        elOption.graphicKey = pointerOption.type;
+        elOption.pointer = pointerOption;
+      }
+      var layoutInfo = layout$2(grid2.model, axisModel);
+      buildCartesianSingleLabelElOption(
+        // @ts-ignore
+        value,
+        elOption,
+        layoutInfo,
+        axisModel,
+        axisPointerModel,
+        api2
+      );
+    };
+    CartesianAxisPointer2.prototype.getHandleTransform = function(value, axisModel, axisPointerModel) {
+      var layoutInfo = layout$2(axisModel.axis.grid.model, axisModel, {
+        labelInside: false
+      });
+      layoutInfo.labelMargin = axisPointerModel.get(["handle", "margin"]);
+      var pos = getTransformedPosition(axisModel.axis, value, layoutInfo);
+      return {
+        x: pos[0],
+        y: pos[1],
+        rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)
+      };
+    };
+    CartesianAxisPointer2.prototype.updateHandleTransform = function(transform3, delta, axisModel, axisPointerModel) {
+      var axis2 = axisModel.axis;
+      var grid2 = axis2.grid;
+      var axisExtent = axis2.getGlobalExtent(true);
+      var otherExtent = getCartesian(grid2, axis2).getOtherAxis(axis2).getGlobalExtent();
+      var dimIndex = axis2.dim === "x" ? 0 : 1;
+      var currPosition = [transform3.x, transform3.y];
+      currPosition[dimIndex] += delta[dimIndex];
+      currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);
+      currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);
+      var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;
+      var cursorPoint = [cursorOtherValue, cursorOtherValue];
+      cursorPoint[dimIndex] = currPosition[dimIndex];
+      var tooltipOptions = [{
+        verticalAlign: "middle"
+      }, {
+        align: "center"
+      }];
+      return {
+        x: currPosition[0],
+        y: currPosition[1],
+        rotation: transform3.rotation,
+        cursorPoint,
+        tooltipOption: tooltipOptions[dimIndex]
+      };
+    };
+    return CartesianAxisPointer2;
+  }(BaseAxisPointer$1)
+);
+function getCartesian(grid2, axis2) {
+  var opt = {};
+  opt[axis2.dim + "AxisIndex"] = axis2.index;
+  return grid2.getCartesian(opt);
+}
+var pointerShapeBuilder$2 = {
+  line: function(axis2, pixelValue, otherExtent) {
+    var targetShape = makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex(axis2));
+    return {
+      type: "Line",
+      subPixelOptimize: true,
+      shape: targetShape
+    };
+  },
+  shadow: function(axis2, pixelValue, otherExtent) {
+    var bandWidth = Math.max(1, axis2.getBandWidth());
+    var span = otherExtent[1] - otherExtent[0];
+    return {
+      type: "Rect",
+      shape: makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getAxisDimIndex(axis2))
+    };
+  }
+};
+function getAxisDimIndex(axis2) {
+  return axis2.dim === "x" ? 0 : 1;
+}
+const CartesianAxisPointer$1 = CartesianAxisPointer;
+var AxisPointerModel = (
+  /** @class */
+  function(_super) {
+    __extends(AxisPointerModel2, _super);
+    function AxisPointerModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = AxisPointerModel2.type;
+      return _this;
+    }
+    AxisPointerModel2.type = "axisPointer";
+    AxisPointerModel2.defaultOption = {
+      // 'auto' means that show when triggered by tooltip or handle.
+      show: "auto",
+      // zlevel: 0,
+      z: 50,
+      type: "line",
+      // axispointer triggered by tootip determine snap automatically,
+      // see `modelHelper`.
+      snap: false,
+      triggerTooltip: true,
+      triggerEmphasis: true,
+      value: null,
+      status: null,
+      link: [],
+      // Do not set 'auto' here, otherwise global animation: false
+      // will not effect at this axispointer.
+      animation: null,
+      animationDurationUpdate: 200,
+      lineStyle: {
+        color: "#B9BEC9",
+        width: 1,
+        type: "dashed"
+      },
+      shadowStyle: {
+        color: "rgba(210,219,238,0.2)"
+      },
+      label: {
+        show: true,
+        formatter: null,
+        precision: "auto",
+        margin: 3,
+        color: "#fff",
+        padding: [5, 7, 5, 7],
+        backgroundColor: "auto",
+        borderColor: null,
+        borderWidth: 0,
+        borderRadius: 3
+      },
+      handle: {
+        show: false,
+        // eslint-disable-next-line
+        icon: "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",
+        size: 45,
+        // handle margin is from symbol center to axis, which is stable when circular move.
+        margin: 50,
+        // color: '#1b8bbd'
+        // color: '#2f4554'
+        color: "#333",
+        shadowBlur: 3,
+        shadowColor: "#aaa",
+        shadowOffsetX: 0,
+        shadowOffsetY: 2,
+        // For mobile performance
+        throttle: 40
+      }
+    };
+    return AxisPointerModel2;
+  }(ComponentModel$1)
+);
+const AxisPointerModel$1 = AxisPointerModel;
+var inner$a = makeInner();
+var each$8 = each$f;
+function register(key2, api2, handler) {
+  if (env$1.node) {
+    return;
+  }
+  var zr = api2.getZr();
+  inner$a(zr).records || (inner$a(zr).records = {});
+  initGlobalListeners(zr, api2);
+  var record = inner$a(zr).records[key2] || (inner$a(zr).records[key2] = {});
+  record.handler = handler;
+}
+function initGlobalListeners(zr, api2) {
+  if (inner$a(zr).initialized) {
+    return;
+  }
+  inner$a(zr).initialized = true;
+  useHandler("click", curry$1(doEnter, "click"));
+  useHandler("mousemove", curry$1(doEnter, "mousemove"));
+  useHandler("globalout", onLeave);
+  function useHandler(eventType, cb) {
+    zr.on(eventType, function(e2) {
+      var dis = makeDispatchAction$1(api2);
+      each$8(inner$a(zr).records, function(record) {
+        record && cb(record, e2, dis.dispatchAction);
+      });
+      dispatchTooltipFinally(dis.pendings, api2);
+    });
+  }
+}
+function dispatchTooltipFinally(pendings, api2) {
+  var showLen = pendings.showTip.length;
+  var hideLen = pendings.hideTip.length;
+  var actuallyPayload;
+  if (showLen) {
+    actuallyPayload = pendings.showTip[showLen - 1];
+  } else if (hideLen) {
+    actuallyPayload = pendings.hideTip[hideLen - 1];
+  }
+  if (actuallyPayload) {
+    actuallyPayload.dispatchAction = null;
+    api2.dispatchAction(actuallyPayload);
+  }
+}
+function onLeave(record, e2, dispatchAction2) {
+  record.handler("leave", null, dispatchAction2);
+}
+function doEnter(currTrigger, record, e2, dispatchAction2) {
+  record.handler(currTrigger, e2, dispatchAction2);
+}
+function makeDispatchAction$1(api2) {
+  var pendings = {
+    showTip: [],
+    hideTip: []
+  };
+  var dispatchAction2 = function(payload) {
+    var pendingList = pendings[payload.type];
+    if (pendingList) {
+      pendingList.push(payload);
+    } else {
+      payload.dispatchAction = dispatchAction2;
+      api2.dispatchAction(payload);
+    }
+  };
+  return {
+    dispatchAction: dispatchAction2,
+    pendings
+  };
+}
+function unregister(key2, api2) {
+  if (env$1.node) {
+    return;
+  }
+  var zr = api2.getZr();
+  var record = (inner$a(zr).records || {})[key2];
+  if (record) {
+    inner$a(zr).records[key2] = null;
+  }
+}
+var AxisPointerView = (
+  /** @class */
+  function(_super) {
+    __extends(AxisPointerView2, _super);
+    function AxisPointerView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = AxisPointerView2.type;
+      return _this;
+    }
+    AxisPointerView2.prototype.render = function(globalAxisPointerModel, ecModel, api2) {
+      var globalTooltipModel = ecModel.getComponent("tooltip");
+      var triggerOn = globalAxisPointerModel.get("triggerOn") || globalTooltipModel && globalTooltipModel.get("triggerOn") || "mousemove|click";
+      register("axisPointer", api2, function(currTrigger, e2, dispatchAction2) {
+        if (triggerOn !== "none" && (currTrigger === "leave" || triggerOn.indexOf(currTrigger) >= 0)) {
+          dispatchAction2({
+            type: "updateAxisPointer",
+            currTrigger,
+            x: e2 && e2.offsetX,
+            y: e2 && e2.offsetY
+          });
+        }
+      });
+    };
+    AxisPointerView2.prototype.remove = function(ecModel, api2) {
+      unregister("axisPointer", api2);
+    };
+    AxisPointerView2.prototype.dispose = function(ecModel, api2) {
+      unregister("axisPointer", api2);
+    };
+    AxisPointerView2.type = "axisPointer";
+    return AxisPointerView2;
+  }(ComponentView$1)
+);
+const AxisPointerView$1 = AxisPointerView;
+function findPointFromSeries(finder, ecModel) {
+  var point = [];
+  var seriesIndex = finder.seriesIndex;
+  var seriesModel;
+  if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {
+    return {
+      point: []
+    };
+  }
+  var data2 = seriesModel.getData();
+  var dataIndex = queryDataIndex(data2, finder);
+  if (dataIndex == null || dataIndex < 0 || isArray$2(dataIndex)) {
+    return {
+      point: []
+    };
+  }
+  var el = data2.getItemGraphicEl(dataIndex);
+  var coordSys = seriesModel.coordinateSystem;
+  if (seriesModel.getTooltipPosition) {
+    point = seriesModel.getTooltipPosition(dataIndex) || [];
+  } else if (coordSys && coordSys.dataToPoint) {
+    if (finder.isStacked) {
+      var baseAxis = coordSys.getBaseAxis();
+      var valueAxis2 = coordSys.getOtherAxis(baseAxis);
+      var valueAxisDim = valueAxis2.dim;
+      var baseAxisDim = baseAxis.dim;
+      var baseDataOffset = valueAxisDim === "x" || valueAxisDim === "radius" ? 1 : 0;
+      var baseDim = data2.mapDimension(baseAxisDim);
+      var stackedData = [];
+      stackedData[baseDataOffset] = data2.get(baseDim, dataIndex);
+      stackedData[1 - baseDataOffset] = data2.get(data2.getCalculationInfo("stackResultDimension"), dataIndex);
+      point = coordSys.dataToPoint(stackedData) || [];
+    } else {
+      point = coordSys.dataToPoint(data2.getValues(map$1(coordSys.dimensions, function(dim) {
+        return data2.mapDimension(dim);
+      }), dataIndex)) || [];
+    }
+  } else if (el) {
+    var rect = el.getBoundingRect().clone();
+    rect.applyTransform(el.transform);
+    point = [rect.x + rect.width / 2, rect.y + rect.height / 2];
+  }
+  return {
+    point,
+    el
+  };
+}
+var inner$9 = makeInner();
+function axisTrigger(payload, ecModel, api2) {
+  var currTrigger = payload.currTrigger;
+  var point = [payload.x, payload.y];
+  var finder = payload;
+  var dispatchAction2 = payload.dispatchAction || bind$2(api2.dispatchAction, api2);
+  var coordSysAxesInfo = ecModel.getComponent("axisPointer").coordSysAxesInfo;
+  if (!coordSysAxesInfo) {
+    return;
+  }
+  if (illegalPoint(point)) {
+    point = findPointFromSeries({
+      seriesIndex: finder.seriesIndex,
+      // Do not use dataIndexInside from other ec instance.
+      // FIXME: auto detect it?
+      dataIndex: finder.dataIndex
+    }, ecModel).point;
+  }
+  var isIllegalPoint = illegalPoint(point);
+  var inputAxesInfo = finder.axesInfo;
+  var axesInfo = coordSysAxesInfo.axesInfo;
+  var shouldHide = currTrigger === "leave" || illegalPoint(point);
+  var outputPayload = {};
+  var showValueMap = {};
+  var dataByCoordSys = {
+    list: [],
+    map: {}
+  };
+  var updaters = {
+    showPointer: curry$1(showPointer, showValueMap),
+    showTooltip: curry$1(showTooltip, dataByCoordSys)
+  };
+  each$f(coordSysAxesInfo.coordSysMap, function(coordSys, coordSysKey) {
+    var coordSysContainsPoint = isIllegalPoint || coordSys.containPoint(point);
+    each$f(coordSysAxesInfo.coordSysAxesInfo[coordSysKey], function(axisInfo, key2) {
+      var axis2 = axisInfo.axis;
+      var inputAxisInfo = findInputAxisInfo(inputAxesInfo, axisInfo);
+      if (!shouldHide && coordSysContainsPoint && (!inputAxesInfo || inputAxisInfo)) {
+        var val = inputAxisInfo && inputAxisInfo.value;
+        if (val == null && !isIllegalPoint) {
+          val = axis2.pointToData(point);
+        }
+        val != null && processOnAxis(axisInfo, val, updaters, false, outputPayload);
+      }
+    });
+  });
+  var linkTriggers = {};
+  each$f(axesInfo, function(tarAxisInfo, tarKey) {
+    var linkGroup = tarAxisInfo.linkGroup;
+    if (linkGroup && !showValueMap[tarKey]) {
+      each$f(linkGroup.axesInfo, function(srcAxisInfo, srcKey) {
+        var srcValItem = showValueMap[srcKey];
+        if (srcAxisInfo !== tarAxisInfo && srcValItem) {
+          var val = srcValItem.value;
+          linkGroup.mapper && (val = tarAxisInfo.axis.scale.parse(linkGroup.mapper(val, makeMapperParam(srcAxisInfo), makeMapperParam(tarAxisInfo))));
+          linkTriggers[tarAxisInfo.key] = val;
+        }
+      });
+    }
+  });
+  each$f(linkTriggers, function(val, tarKey) {
+    processOnAxis(axesInfo[tarKey], val, updaters, true, outputPayload);
+  });
+  updateModelActually(showValueMap, axesInfo, outputPayload);
+  dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction2);
+  dispatchHighDownActually(axesInfo, dispatchAction2, api2);
+  return outputPayload;
+}
+function processOnAxis(axisInfo, newValue, updaters, noSnap, outputFinder) {
+  var axis2 = axisInfo.axis;
+  if (axis2.scale.isBlank() || !axis2.containData(newValue)) {
+    return;
+  }
+  if (!axisInfo.involveSeries) {
+    updaters.showPointer(axisInfo, newValue);
+    return;
+  }
+  var payloadInfo = buildPayloadsBySeries(newValue, axisInfo);
+  var payloadBatch = payloadInfo.payloadBatch;
+  var snapToValue = payloadInfo.snapToValue;
+  if (payloadBatch[0] && outputFinder.seriesIndex == null) {
+    extend$1(outputFinder, payloadBatch[0]);
+  }
+  if (!noSnap && axisInfo.snap) {
+    if (axis2.containData(snapToValue) && snapToValue != null) {
+      newValue = snapToValue;
+    }
+  }
+  updaters.showPointer(axisInfo, newValue, payloadBatch);
+  updaters.showTooltip(axisInfo, payloadInfo, snapToValue);
+}
+function buildPayloadsBySeries(value, axisInfo) {
+  var axis2 = axisInfo.axis;
+  var dim = axis2.dim;
+  var snapToValue = value;
+  var payloadBatch = [];
+  var minDist = Number.MAX_VALUE;
+  var minDiff = -1;
+  each$f(axisInfo.seriesModels, function(series, idx) {
+    var dataDim = series.getData().mapDimensionsAll(dim);
+    var seriesNestestValue;
+    var dataIndices;
+    if (series.getAxisTooltipData) {
+      var result2 = series.getAxisTooltipData(dataDim, value, axis2);
+      dataIndices = result2.dataIndices;
+      seriesNestestValue = result2.nestestValue;
+    } else {
+      dataIndices = series.getData().indicesOfNearest(
+        dataDim[0],
+        value,
+        // Add a threshold to avoid find the wrong dataIndex
+        // when data length is not same.
+        // false,
+        axis2.type === "category" ? 0.5 : null
+      );
+      if (!dataIndices.length) {
+        return;
+      }
+      seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);
+    }
+    if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {
+      return;
+    }
+    var diff = value - seriesNestestValue;
+    var dist2 = Math.abs(diff);
+    if (dist2 <= minDist) {
+      if (dist2 < minDist || diff >= 0 && minDiff < 0) {
+        minDist = dist2;
+        minDiff = diff;
+        snapToValue = seriesNestestValue;
+        payloadBatch.length = 0;
+      }
+      each$f(dataIndices, function(dataIndex) {
+        payloadBatch.push({
+          seriesIndex: series.seriesIndex,
+          dataIndexInside: dataIndex,
+          dataIndex: series.getData().getRawIndex(dataIndex)
+        });
+      });
+    }
+  });
+  return {
+    payloadBatch,
+    snapToValue
+  };
+}
+function showPointer(showValueMap, axisInfo, value, payloadBatch) {
+  showValueMap[axisInfo.key] = {
+    value,
+    payloadBatch
+  };
+}
+function showTooltip(dataByCoordSys, axisInfo, payloadInfo, value) {
+  var payloadBatch = payloadInfo.payloadBatch;
+  var axis2 = axisInfo.axis;
+  var axisModel = axis2.model;
+  var axisPointerModel = axisInfo.axisPointerModel;
+  if (!axisInfo.triggerTooltip || !payloadBatch.length) {
+    return;
+  }
+  var coordSysModel = axisInfo.coordSys.model;
+  var coordSysKey = makeKey(coordSysModel);
+  var coordSysItem = dataByCoordSys.map[coordSysKey];
+  if (!coordSysItem) {
+    coordSysItem = dataByCoordSys.map[coordSysKey] = {
+      coordSysId: coordSysModel.id,
+      coordSysIndex: coordSysModel.componentIndex,
+      coordSysType: coordSysModel.type,
+      coordSysMainType: coordSysModel.mainType,
+      dataByAxis: []
+    };
+    dataByCoordSys.list.push(coordSysItem);
+  }
+  coordSysItem.dataByAxis.push({
+    axisDim: axis2.dim,
+    axisIndex: axisModel.componentIndex,
+    axisType: axisModel.type,
+    axisId: axisModel.id,
+    value,
+    // Caustion: viewHelper.getValueLabel is actually on "view stage", which
+    // depends that all models have been updated. So it should not be performed
+    // here. Considering axisPointerModel used here is volatile, which is hard
+    // to be retrieve in TooltipView, we prepare parameters here.
+    valueLabelOpt: {
+      precision: axisPointerModel.get(["label", "precision"]),
+      formatter: axisPointerModel.get(["label", "formatter"])
+    },
+    seriesDataIndices: payloadBatch.slice()
+  });
+}
+function updateModelActually(showValueMap, axesInfo, outputPayload) {
+  var outputAxesInfo = outputPayload.axesInfo = [];
+  each$f(axesInfo, function(axisInfo, key2) {
+    var option = axisInfo.axisPointerModel.option;
+    var valItem = showValueMap[key2];
+    if (valItem) {
+      !axisInfo.useHandle && (option.status = "show");
+      option.value = valItem.value;
+      option.seriesDataIndices = (valItem.payloadBatch || []).slice();
+    } else {
+      !axisInfo.useHandle && (option.status = "hide");
+    }
+    option.status === "show" && outputAxesInfo.push({
+      axisDim: axisInfo.axis.dim,
+      axisIndex: axisInfo.axis.model.componentIndex,
+      value: option.value
+    });
+  });
+}
+function dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction2) {
+  if (illegalPoint(point) || !dataByCoordSys.list.length) {
+    dispatchAction2({
+      type: "hideTip"
+    });
+    return;
+  }
+  var sampleItem = ((dataByCoordSys.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};
+  dispatchAction2({
+    type: "showTip",
+    escapeConnect: true,
+    x: point[0],
+    y: point[1],
+    tooltipOption: payload.tooltipOption,
+    position: payload.position,
+    dataIndexInside: sampleItem.dataIndexInside,
+    dataIndex: sampleItem.dataIndex,
+    seriesIndex: sampleItem.seriesIndex,
+    dataByCoordSys: dataByCoordSys.list
+  });
+}
+function dispatchHighDownActually(axesInfo, dispatchAction2, api2) {
+  var zr = api2.getZr();
+  var highDownKey = "axisPointerLastHighlights";
+  var lastHighlights = inner$9(zr)[highDownKey] || {};
+  var newHighlights = inner$9(zr)[highDownKey] = {};
+  each$f(axesInfo, function(axisInfo, key2) {
+    var option = axisInfo.axisPointerModel.option;
+    option.status === "show" && axisInfo.triggerEmphasis && each$f(option.seriesDataIndices, function(batchItem) {
+      var key3 = batchItem.seriesIndex + " | " + batchItem.dataIndex;
+      newHighlights[key3] = batchItem;
+    });
+  });
+  var toHighlight = [];
+  var toDownplay = [];
+  each$f(lastHighlights, function(batchItem, key2) {
+    !newHighlights[key2] && toDownplay.push(batchItem);
+  });
+  each$f(newHighlights, function(batchItem, key2) {
+    !lastHighlights[key2] && toHighlight.push(batchItem);
+  });
+  toDownplay.length && api2.dispatchAction({
+    type: "downplay",
+    escapeConnect: true,
+    // Not blur others when highlight in axisPointer.
+    notBlur: true,
+    batch: toDownplay
+  });
+  toHighlight.length && api2.dispatchAction({
+    type: "highlight",
+    escapeConnect: true,
+    // Not blur others when highlight in axisPointer.
+    notBlur: true,
+    batch: toHighlight
+  });
+}
+function findInputAxisInfo(inputAxesInfo, axisInfo) {
+  for (var i2 = 0; i2 < (inputAxesInfo || []).length; i2++) {
+    var inputAxisInfo = inputAxesInfo[i2];
+    if (axisInfo.axis.dim === inputAxisInfo.axisDim && axisInfo.axis.model.componentIndex === inputAxisInfo.axisIndex) {
+      return inputAxisInfo;
+    }
+  }
+}
+function makeMapperParam(axisInfo) {
+  var axisModel = axisInfo.axis.model;
+  var item = {};
+  var dim = item.axisDim = axisInfo.axis.dim;
+  item.axisIndex = item[dim + "AxisIndex"] = axisModel.componentIndex;
+  item.axisName = item[dim + "AxisName"] = axisModel.name;
+  item.axisId = item[dim + "AxisId"] = axisModel.id;
+  return item;
+}
+function illegalPoint(point) {
+  return !point || point[0] == null || isNaN(point[0]) || point[1] == null || isNaN(point[1]);
+}
+function install$q(registers) {
+  AxisView$1.registerAxisPointerClass("CartesianAxisPointer", CartesianAxisPointer$1);
+  registers.registerComponentModel(AxisPointerModel$1);
+  registers.registerComponentView(AxisPointerView$1);
+  registers.registerPreprocessor(function(option) {
+    if (option) {
+      (!option.axisPointer || option.axisPointer.length === 0) && (option.axisPointer = {});
+      var link = option.axisPointer.link;
+      if (link && !isArray$2(link)) {
+        option.axisPointer.link = [link];
+      }
+    }
+  });
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, function(ecModel, api2) {
+    ecModel.getComponent("axisPointer").coordSysAxesInfo = collect(ecModel, api2);
+  });
+  registers.registerAction({
+    type: "updateAxisPointer",
+    event: "updateAxisPointer",
+    update: ":updateAxisPointer"
+  }, axisTrigger);
+}
+function install$p(registers) {
+  use(install$N);
+  use(install$q);
+}
+var PolarAxisPointer = (
+  /** @class */
+  function(_super) {
+    __extends(PolarAxisPointer2, _super);
+    function PolarAxisPointer2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    PolarAxisPointer2.prototype.makeElOption = function(elOption, value, axisModel, axisPointerModel, api2) {
+      var axis2 = axisModel.axis;
+      if (axis2.dim === "angle") {
+        this.animationThreshold = Math.PI / 18;
+      }
+      var polar2 = axis2.polar;
+      var otherAxis = polar2.getOtherAxis(axis2);
+      var otherExtent = otherAxis.getExtent();
+      var coordValue = axis2.dataToCoord(value);
+      var axisPointerType = axisPointerModel.get("type");
+      if (axisPointerType && axisPointerType !== "none") {
+        var elStyle = buildElStyle(axisPointerModel);
+        var pointerOption = pointerShapeBuilder$1[axisPointerType](axis2, polar2, coordValue, otherExtent);
+        pointerOption.style = elStyle;
+        elOption.graphicKey = pointerOption.type;
+        elOption.pointer = pointerOption;
+      }
+      var labelMargin = axisPointerModel.get(["label", "margin"]);
+      var labelPos = getLabelPosition(value, axisModel, axisPointerModel, polar2, labelMargin);
+      buildLabelElOption(elOption, axisModel, axisPointerModel, api2, labelPos);
+    };
+    return PolarAxisPointer2;
+  }(BaseAxisPointer$1)
+);
+function getLabelPosition(value, axisModel, axisPointerModel, polar2, labelMargin) {
+  var axis2 = axisModel.axis;
+  var coord = axis2.dataToCoord(value);
+  var axisAngle = polar2.getAngleAxis().getExtent()[0];
+  axisAngle = axisAngle / 180 * Math.PI;
+  var radiusExtent = polar2.getRadiusAxis().getExtent();
+  var position2;
+  var align;
+  var verticalAlign;
+  if (axis2.dim === "radius") {
+    var transform3 = create$1();
+    rotate(transform3, transform3, axisAngle);
+    translate(transform3, transform3, [polar2.cx, polar2.cy]);
+    position2 = applyTransform([coord, -labelMargin], transform3);
+    var labelRotation = axisModel.getModel("axisLabel").get("rotate") || 0;
+    var labelLayout2 = AxisBuilder$1.innerTextLayout(axisAngle, labelRotation * Math.PI / 180, -1);
+    align = labelLayout2.textAlign;
+    verticalAlign = labelLayout2.textVerticalAlign;
+  } else {
+    var r2 = radiusExtent[1];
+    position2 = polar2.coordToPoint([r2 + labelMargin, coord]);
+    var cx = polar2.cx;
+    var cy = polar2.cy;
+    align = Math.abs(position2[0] - cx) / r2 < 0.3 ? "center" : position2[0] > cx ? "left" : "right";
+    verticalAlign = Math.abs(position2[1] - cy) / r2 < 0.3 ? "middle" : position2[1] > cy ? "top" : "bottom";
+  }
+  return {
+    position: position2,
+    align,
+    verticalAlign
+  };
+}
+var pointerShapeBuilder$1 = {
+  line: function(axis2, polar2, coordValue, otherExtent) {
+    return axis2.dim === "angle" ? {
+      type: "Line",
+      shape: makeLineShape(polar2.coordToPoint([otherExtent[0], coordValue]), polar2.coordToPoint([otherExtent[1], coordValue]))
+    } : {
+      type: "Circle",
+      shape: {
+        cx: polar2.cx,
+        cy: polar2.cy,
+        r: coordValue
+      }
+    };
+  },
+  shadow: function(axis2, polar2, coordValue, otherExtent) {
+    var bandWidth = Math.max(1, axis2.getBandWidth());
+    var radian = Math.PI / 180;
+    return axis2.dim === "angle" ? {
+      type: "Sector",
+      shape: makeSectorShape(
+        polar2.cx,
+        polar2.cy,
+        otherExtent[0],
+        otherExtent[1],
+        // In ECharts y is negative if angle is positive
+        (-coordValue - bandWidth / 2) * radian,
+        (-coordValue + bandWidth / 2) * radian
+      )
+    } : {
+      type: "Sector",
+      shape: makeSectorShape(polar2.cx, polar2.cy, coordValue - bandWidth / 2, coordValue + bandWidth / 2, 0, Math.PI * 2)
+    };
+  }
+};
+const PolarAxisPointer$1 = PolarAxisPointer;
+var PolarModel = (
+  /** @class */
+  function(_super) {
+    __extends(PolarModel2, _super);
+    function PolarModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = PolarModel2.type;
+      return _this;
+    }
+    PolarModel2.prototype.findAxisModel = function(axisType) {
+      var foundAxisModel;
+      var ecModel = this.ecModel;
+      ecModel.eachComponent(axisType, function(axisModel) {
+        if (axisModel.getCoordSysModel() === this) {
+          foundAxisModel = axisModel;
+        }
+      }, this);
+      return foundAxisModel;
+    };
+    PolarModel2.type = "polar";
+    PolarModel2.dependencies = ["radiusAxis", "angleAxis"];
+    PolarModel2.defaultOption = {
+      // zlevel: 0,
+      z: 0,
+      center: ["50%", "50%"],
+      radius: "80%"
+    };
+    return PolarModel2;
+  }(ComponentModel$1)
+);
+const PolarModel$1 = PolarModel;
+var PolarAxisModel = (
+  /** @class */
+  function(_super) {
+    __extends(PolarAxisModel2, _super);
+    function PolarAxisModel2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    PolarAxisModel2.prototype.getCoordSysModel = function() {
+      return this.getReferringComponents("polar", SINGLE_REFERRING).models[0];
+    };
+    PolarAxisModel2.type = "polarAxis";
+    return PolarAxisModel2;
+  }(ComponentModel$1)
+);
+mixin(PolarAxisModel, AxisModelCommonMixin);
+var AngleAxisModel = (
+  /** @class */
+  function(_super) {
+    __extends(AngleAxisModel2, _super);
+    function AngleAxisModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = AngleAxisModel2.type;
+      return _this;
+    }
+    AngleAxisModel2.type = "angleAxis";
+    return AngleAxisModel2;
+  }(PolarAxisModel)
+);
+var RadiusAxisModel = (
+  /** @class */
+  function(_super) {
+    __extends(RadiusAxisModel2, _super);
+    function RadiusAxisModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = RadiusAxisModel2.type;
+      return _this;
+    }
+    RadiusAxisModel2.type = "radiusAxis";
+    return RadiusAxisModel2;
+  }(PolarAxisModel)
+);
+var RadiusAxis = (
+  /** @class */
+  function(_super) {
+    __extends(RadiusAxis2, _super);
+    function RadiusAxis2(scale2, radiusExtent) {
+      return _super.call(this, "radius", scale2, radiusExtent) || this;
+    }
+    RadiusAxis2.prototype.pointToData = function(point, clamp2) {
+      return this.polar.pointToData(point, clamp2)[this.dim === "radius" ? 0 : 1];
+    };
+    return RadiusAxis2;
+  }(Axis$1)
+);
+RadiusAxis.prototype.dataToRadius = Axis$1.prototype.dataToCoord;
+RadiusAxis.prototype.radiusToData = Axis$1.prototype.coordToData;
+const RadiusAxis$1 = RadiusAxis;
+var inner$8 = makeInner();
+var AngleAxis = (
+  /** @class */
+  function(_super) {
+    __extends(AngleAxis2, _super);
+    function AngleAxis2(scale2, angleExtent) {
+      return _super.call(this, "angle", scale2, angleExtent || [0, 360]) || this;
+    }
+    AngleAxis2.prototype.pointToData = function(point, clamp2) {
+      return this.polar.pointToData(point, clamp2)[this.dim === "radius" ? 0 : 1];
+    };
+    AngleAxis2.prototype.calculateCategoryInterval = function() {
+      var axis2 = this;
+      var labelModel = axis2.getLabelModel();
+      var ordinalScale = axis2.scale;
+      var ordinalExtent = ordinalScale.getExtent();
+      var tickCount = ordinalScale.count();
+      if (ordinalExtent[1] - ordinalExtent[0] < 1) {
+        return 0;
+      }
+      var tickValue = ordinalExtent[0];
+      var unitSpan = axis2.dataToCoord(tickValue + 1) - axis2.dataToCoord(tickValue);
+      var unitH = Math.abs(unitSpan);
+      var rect = getBoundingRect(tickValue == null ? "" : tickValue + "", labelModel.getFont(), "center", "top");
+      var maxH = Math.max(rect.height, 7);
+      var dh = maxH / unitH;
+      isNaN(dh) && (dh = Infinity);
+      var interval = Math.max(0, Math.floor(dh));
+      var cache = inner$8(axis2.model);
+      var lastAutoInterval = cache.lastAutoInterval;
+      var lastTickCount = cache.lastTickCount;
+      if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 && lastAutoInterval > interval) {
+        interval = lastAutoInterval;
+      } else {
+        cache.lastTickCount = tickCount;
+        cache.lastAutoInterval = interval;
+      }
+      return interval;
+    };
+    return AngleAxis2;
+  }(Axis$1)
+);
+AngleAxis.prototype.dataToAngle = Axis$1.prototype.dataToCoord;
+AngleAxis.prototype.angleToData = Axis$1.prototype.coordToData;
+const AngleAxis$1 = AngleAxis;
+var polarDimensions = ["radius", "angle"];
+var Polar = (
+  /** @class */
+  function() {
+    function Polar2(name2) {
+      this.dimensions = polarDimensions;
+      this.type = "polar";
+      this.cx = 0;
+      this.cy = 0;
+      this._radiusAxis = new RadiusAxis$1();
+      this._angleAxis = new AngleAxis$1();
+      this.axisPointerEnabled = true;
+      this.name = name2 || "";
+      this._radiusAxis.polar = this._angleAxis.polar = this;
+    }
+    Polar2.prototype.containPoint = function(point) {
+      var coord = this.pointToCoord(point);
+      return this._radiusAxis.contain(coord[0]) && this._angleAxis.contain(coord[1]);
+    };
+    Polar2.prototype.containData = function(data2) {
+      return this._radiusAxis.containData(data2[0]) && this._angleAxis.containData(data2[1]);
+    };
+    Polar2.prototype.getAxis = function(dim) {
+      var key2 = "_" + dim + "Axis";
+      return this[key2];
+    };
+    Polar2.prototype.getAxes = function() {
+      return [this._radiusAxis, this._angleAxis];
+    };
+    Polar2.prototype.getAxesByScale = function(scaleType) {
+      var axes = [];
+      var angleAxis2 = this._angleAxis;
+      var radiusAxis2 = this._radiusAxis;
+      angleAxis2.scale.type === scaleType && axes.push(angleAxis2);
+      radiusAxis2.scale.type === scaleType && axes.push(radiusAxis2);
+      return axes;
+    };
+    Polar2.prototype.getAngleAxis = function() {
+      return this._angleAxis;
+    };
+    Polar2.prototype.getRadiusAxis = function() {
+      return this._radiusAxis;
+    };
+    Polar2.prototype.getOtherAxis = function(axis2) {
+      var angleAxis2 = this._angleAxis;
+      return axis2 === angleAxis2 ? this._radiusAxis : angleAxis2;
+    };
+    Polar2.prototype.getBaseAxis = function() {
+      return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAngleAxis();
+    };
+    Polar2.prototype.getTooltipAxes = function(dim) {
+      var baseAxis = dim != null && dim !== "auto" ? this.getAxis(dim) : this.getBaseAxis();
+      return {
+        baseAxes: [baseAxis],
+        otherAxes: [this.getOtherAxis(baseAxis)]
+      };
+    };
+    Polar2.prototype.dataToPoint = function(data2, clamp2) {
+      return this.coordToPoint([this._radiusAxis.dataToRadius(data2[0], clamp2), this._angleAxis.dataToAngle(data2[1], clamp2)]);
+    };
+    Polar2.prototype.pointToData = function(point, clamp2) {
+      var coord = this.pointToCoord(point);
+      return [this._radiusAxis.radiusToData(coord[0], clamp2), this._angleAxis.angleToData(coord[1], clamp2)];
+    };
+    Polar2.prototype.pointToCoord = function(point) {
+      var dx = point[0] - this.cx;
+      var dy = point[1] - this.cy;
+      var angleAxis2 = this.getAngleAxis();
+      var extent3 = angleAxis2.getExtent();
+      var minAngle = Math.min(extent3[0], extent3[1]);
+      var maxAngle = Math.max(extent3[0], extent3[1]);
+      angleAxis2.inverse ? minAngle = maxAngle - 360 : maxAngle = minAngle + 360;
+      var radius = Math.sqrt(dx * dx + dy * dy);
+      dx /= radius;
+      dy /= radius;
+      var radian = Math.atan2(-dy, dx) / Math.PI * 180;
+      var dir3 = radian < minAngle ? 1 : -1;
+      while (radian < minAngle || radian > maxAngle) {
+        radian += dir3 * 360;
+      }
+      return [radius, radian];
+    };
+    Polar2.prototype.coordToPoint = function(coord) {
+      var radius = coord[0];
+      var radian = coord[1] / 180 * Math.PI;
+      var x2 = Math.cos(radian) * radius + this.cx;
+      var y2 = -Math.sin(radian) * radius + this.cy;
+      return [x2, y2];
+    };
+    Polar2.prototype.getArea = function() {
+      var angleAxis2 = this.getAngleAxis();
+      var radiusAxis2 = this.getRadiusAxis();
+      var radiusExtent = radiusAxis2.getExtent().slice();
+      radiusExtent[0] > radiusExtent[1] && radiusExtent.reverse();
+      var angleExtent = angleAxis2.getExtent();
+      var RADIAN2 = Math.PI / 180;
+      return {
+        cx: this.cx,
+        cy: this.cy,
+        r0: radiusExtent[0],
+        r: radiusExtent[1],
+        startAngle: -angleExtent[0] * RADIAN2,
+        endAngle: -angleExtent[1] * RADIAN2,
+        clockwise: angleAxis2.inverse,
+        contain: function(x2, y2) {
+          var dx = x2 - this.cx;
+          var dy = y2 - this.cy;
+          var d2 = dx * dx + dy * dy - 1e-4;
+          var r2 = this.r;
+          var r0 = this.r0;
+          return d2 <= r2 * r2 && d2 >= r0 * r0;
+        }
+      };
+    };
+    Polar2.prototype.convertToPixel = function(ecModel, finder, value) {
+      var coordSys = getCoordSys$2(finder);
+      return coordSys === this ? this.dataToPoint(value) : null;
+    };
+    Polar2.prototype.convertFromPixel = function(ecModel, finder, pixel) {
+      var coordSys = getCoordSys$2(finder);
+      return coordSys === this ? this.pointToData(pixel) : null;
+    };
+    return Polar2;
+  }()
+);
+function getCoordSys$2(finder) {
+  var seriesModel = finder.seriesModel;
+  var polarModel = finder.polarModel;
+  return polarModel && polarModel.coordinateSystem || seriesModel && seriesModel.coordinateSystem;
+}
+const Polar$1 = Polar;
+function resizePolar(polar2, polarModel, api2) {
+  var center2 = polarModel.get("center");
+  var width = api2.getWidth();
+  var height = api2.getHeight();
+  polar2.cx = parsePercent(center2[0], width);
+  polar2.cy = parsePercent(center2[1], height);
+  var radiusAxis2 = polar2.getRadiusAxis();
+  var size = Math.min(width, height) / 2;
+  var radius = polarModel.get("radius");
+  if (radius == null) {
+    radius = [0, "100%"];
+  } else if (!isArray$2(radius)) {
+    radius = [0, radius];
+  }
+  var parsedRadius = [parsePercent(radius[0], size), parsePercent(radius[1], size)];
+  radiusAxis2.inverse ? radiusAxis2.setExtent(parsedRadius[1], parsedRadius[0]) : radiusAxis2.setExtent(parsedRadius[0], parsedRadius[1]);
+}
+function updatePolarScale(ecModel, api2) {
+  var polar2 = this;
+  var angleAxis2 = polar2.getAngleAxis();
+  var radiusAxis2 = polar2.getRadiusAxis();
+  angleAxis2.scale.setExtent(Infinity, -Infinity);
+  radiusAxis2.scale.setExtent(Infinity, -Infinity);
+  ecModel.eachSeries(function(seriesModel) {
+    if (seriesModel.coordinateSystem === polar2) {
+      var data_1 = seriesModel.getData();
+      each$f(getDataDimensionsOnAxis(data_1, "radius"), function(dim) {
+        radiusAxis2.scale.unionExtentFromData(data_1, dim);
+      });
+      each$f(getDataDimensionsOnAxis(data_1, "angle"), function(dim) {
+        angleAxis2.scale.unionExtentFromData(data_1, dim);
+      });
+    }
+  });
+  niceScaleExtent(angleAxis2.scale, angleAxis2.model);
+  niceScaleExtent(radiusAxis2.scale, radiusAxis2.model);
+  if (angleAxis2.type === "category" && !angleAxis2.onBand) {
+    var extent3 = angleAxis2.getExtent();
+    var diff = 360 / angleAxis2.scale.count();
+    angleAxis2.inverse ? extent3[1] += diff : extent3[1] -= diff;
+    angleAxis2.setExtent(extent3[0], extent3[1]);
+  }
+}
+function isAngleAxisModel(axisModel) {
+  return axisModel.mainType === "angleAxis";
+}
+function setAxis(axis2, axisModel) {
+  axis2.type = axisModel.get("type");
+  axis2.scale = createScaleByModel$1(axisModel);
+  axis2.onBand = axisModel.get("boundaryGap") && axis2.type === "category";
+  axis2.inverse = axisModel.get("inverse");
+  if (isAngleAxisModel(axisModel)) {
+    axis2.inverse = axis2.inverse !== axisModel.get("clockwise");
+    var startAngle = axisModel.get("startAngle");
+    axis2.setExtent(startAngle, startAngle + (axis2.inverse ? -360 : 360));
+  }
+  axisModel.axis = axis2;
+  axis2.model = axisModel;
+}
+var polarCreator = {
+  dimensions: polarDimensions,
+  create: function(ecModel, api2) {
+    var polarList = [];
+    ecModel.eachComponent("polar", function(polarModel, idx) {
+      var polar2 = new Polar$1(idx + "");
+      polar2.update = updatePolarScale;
+      var radiusAxis2 = polar2.getRadiusAxis();
+      var angleAxis2 = polar2.getAngleAxis();
+      var radiusAxisModel = polarModel.findAxisModel("radiusAxis");
+      var angleAxisModel = polarModel.findAxisModel("angleAxis");
+      setAxis(radiusAxis2, radiusAxisModel);
+      setAxis(angleAxis2, angleAxisModel);
+      resizePolar(polar2, polarModel, api2);
+      polarList.push(polar2);
+      polarModel.coordinateSystem = polar2;
+      polar2.model = polarModel;
+    });
+    ecModel.eachSeries(function(seriesModel) {
+      if (seriesModel.get("coordinateSystem") === "polar") {
+        var polarModel = seriesModel.getReferringComponents("polar", SINGLE_REFERRING).models[0];
+        seriesModel.coordinateSystem = polarModel.coordinateSystem;
+      }
+    });
+    return polarList;
+  }
+};
+const polarCreator$1 = polarCreator;
+var elementList = ["axisLine", "axisLabel", "axisTick", "minorTick", "splitLine", "minorSplitLine", "splitArea"];
+function getAxisLineShape(polar2, rExtent, angle) {
+  rExtent[1] > rExtent[0] && (rExtent = rExtent.slice().reverse());
+  var start2 = polar2.coordToPoint([rExtent[0], angle]);
+  var end2 = polar2.coordToPoint([rExtent[1], angle]);
+  return {
+    x1: start2[0],
+    y1: start2[1],
+    x2: end2[0],
+    y2: end2[1]
+  };
+}
+function getRadiusIdx(polar2) {
+  var radiusAxis2 = polar2.getRadiusAxis();
+  return radiusAxis2.inverse ? 0 : 1;
+}
+function fixAngleOverlap(list2) {
+  var firstItem = list2[0];
+  var lastItem = list2[list2.length - 1];
+  if (firstItem && lastItem && Math.abs(Math.abs(firstItem.coord - lastItem.coord) - 360) < 1e-4) {
+    list2.pop();
+  }
+}
+var AngleAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(AngleAxisView2, _super);
+    function AngleAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = AngleAxisView2.type;
+      _this.axisPointerClass = "PolarAxisPointer";
+      return _this;
+    }
+    AngleAxisView2.prototype.render = function(angleAxisModel, ecModel) {
+      this.group.removeAll();
+      if (!angleAxisModel.get("show")) {
+        return;
+      }
+      var angleAxis2 = angleAxisModel.axis;
+      var polar2 = angleAxis2.polar;
+      var radiusExtent = polar2.getRadiusAxis().getExtent();
+      var ticksAngles = angleAxis2.getTicksCoords();
+      var minorTickAngles = angleAxis2.getMinorTicksCoords();
+      var labels = map$1(angleAxis2.getViewLabels(), function(labelItem) {
+        labelItem = clone$4(labelItem);
+        var scale2 = angleAxis2.scale;
+        var tickValue = scale2.type === "ordinal" ? scale2.getRawOrdinalNumber(labelItem.tickValue) : labelItem.tickValue;
+        labelItem.coord = angleAxis2.dataToCoord(tickValue);
+        return labelItem;
+      });
+      fixAngleOverlap(labels);
+      fixAngleOverlap(ticksAngles);
+      each$f(elementList, function(name2) {
+        if (angleAxisModel.get([name2, "show"]) && (!angleAxis2.scale.isBlank() || name2 === "axisLine")) {
+          angelAxisElementsBuilders[name2](this.group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent, labels);
+        }
+      }, this);
+    };
+    AngleAxisView2.type = "angleAxis";
+    return AngleAxisView2;
+  }(AxisView$1)
+);
+var angelAxisElementsBuilders = {
+  axisLine: function(group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+    var lineStyleModel = angleAxisModel.getModel(["axisLine", "lineStyle"]);
+    var rId = getRadiusIdx(polar2);
+    var r0Id = rId ? 0 : 1;
+    var shape;
+    if (radiusExtent[r0Id] === 0) {
+      shape = new Circle$1({
+        shape: {
+          cx: polar2.cx,
+          cy: polar2.cy,
+          r: radiusExtent[rId]
+        },
+        style: lineStyleModel.getLineStyle(),
+        z2: 1,
+        silent: true
+      });
+    } else {
+      shape = new Ring$1({
+        shape: {
+          cx: polar2.cx,
+          cy: polar2.cy,
+          r: radiusExtent[rId],
+          r0: radiusExtent[r0Id]
+        },
+        style: lineStyleModel.getLineStyle(),
+        z2: 1,
+        silent: true
+      });
+    }
+    shape.style.fill = null;
+    group.add(shape);
+  },
+  axisTick: function(group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+    var tickModel = angleAxisModel.getModel("axisTick");
+    var tickLen = (tickModel.get("inside") ? -1 : 1) * tickModel.get("length");
+    var radius = radiusExtent[getRadiusIdx(polar2)];
+    var lines2 = map$1(ticksAngles, function(tickAngleItem) {
+      return new Line$3({
+        shape: getAxisLineShape(polar2, [radius, radius + tickLen], tickAngleItem.coord)
+      });
+    });
+    group.add(mergePath(lines2, {
+      style: defaults$2(tickModel.getModel("lineStyle").getLineStyle(), {
+        stroke: angleAxisModel.get(["axisLine", "lineStyle", "color"])
+      })
+    }));
+  },
+  minorTick: function(group, angleAxisModel, polar2, tickAngles, minorTickAngles, radiusExtent) {
+    if (!minorTickAngles.length) {
+      return;
+    }
+    var tickModel = angleAxisModel.getModel("axisTick");
+    var minorTickModel = angleAxisModel.getModel("minorTick");
+    var tickLen = (tickModel.get("inside") ? -1 : 1) * minorTickModel.get("length");
+    var radius = radiusExtent[getRadiusIdx(polar2)];
+    var lines2 = [];
+    for (var i2 = 0; i2 < minorTickAngles.length; i2++) {
+      for (var k2 = 0; k2 < minorTickAngles[i2].length; k2++) {
+        lines2.push(new Line$3({
+          shape: getAxisLineShape(polar2, [radius, radius + tickLen], minorTickAngles[i2][k2].coord)
+        }));
+      }
+    }
+    group.add(mergePath(lines2, {
+      style: defaults$2(minorTickModel.getModel("lineStyle").getLineStyle(), defaults$2(tickModel.getLineStyle(), {
+        stroke: angleAxisModel.get(["axisLine", "lineStyle", "color"])
+      }))
+    }));
+  },
+  axisLabel: function(group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent, labels) {
+    var rawCategoryData = angleAxisModel.getCategories(true);
+    var commonLabelModel = angleAxisModel.getModel("axisLabel");
+    var labelMargin = commonLabelModel.get("margin");
+    var triggerEvent = angleAxisModel.get("triggerEvent");
+    each$f(labels, function(labelItem, idx) {
+      var labelModel = commonLabelModel;
+      var tickValue = labelItem.tickValue;
+      var r2 = radiusExtent[getRadiusIdx(polar2)];
+      var p2 = polar2.coordToPoint([r2 + labelMargin, labelItem.coord]);
+      var cx = polar2.cx;
+      var cy = polar2.cy;
+      var labelTextAlign = Math.abs(p2[0] - cx) / r2 < 0.3 ? "center" : p2[0] > cx ? "left" : "right";
+      var labelTextVerticalAlign = Math.abs(p2[1] - cy) / r2 < 0.3 ? "middle" : p2[1] > cy ? "top" : "bottom";
+      if (rawCategoryData && rawCategoryData[tickValue]) {
+        var rawCategoryItem = rawCategoryData[tickValue];
+        if (isObject$4(rawCategoryItem) && rawCategoryItem.textStyle) {
+          labelModel = new Model$1(rawCategoryItem.textStyle, commonLabelModel, commonLabelModel.ecModel);
+        }
+      }
+      var textEl = new ZRText$1({
+        silent: AxisBuilder$1.isLabelSilent(angleAxisModel),
+        style: createTextStyle$1(labelModel, {
+          x: p2[0],
+          y: p2[1],
+          fill: labelModel.getTextColor() || angleAxisModel.get(["axisLine", "lineStyle", "color"]),
+          text: labelItem.formattedLabel,
+          align: labelTextAlign,
+          verticalAlign: labelTextVerticalAlign
+        })
+      });
+      group.add(textEl);
+      if (triggerEvent) {
+        var eventData = AxisBuilder$1.makeAxisEventDataBase(angleAxisModel);
+        eventData.targetType = "axisLabel";
+        eventData.value = labelItem.rawLabel;
+        getECData(textEl).eventData = eventData;
+      }
+    }, this);
+  },
+  splitLine: function(group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+    var splitLineModel = angleAxisModel.getModel("splitLine");
+    var lineStyleModel = splitLineModel.getModel("lineStyle");
+    var lineColors = lineStyleModel.get("color");
+    var lineCount = 0;
+    lineColors = lineColors instanceof Array ? lineColors : [lineColors];
+    var splitLines = [];
+    for (var i2 = 0; i2 < ticksAngles.length; i2++) {
+      var colorIndex = lineCount++ % lineColors.length;
+      splitLines[colorIndex] = splitLines[colorIndex] || [];
+      splitLines[colorIndex].push(new Line$3({
+        shape: getAxisLineShape(polar2, radiusExtent, ticksAngles[i2].coord)
+      }));
+    }
+    for (var i2 = 0; i2 < splitLines.length; i2++) {
+      group.add(mergePath(splitLines[i2], {
+        style: defaults$2({
+          stroke: lineColors[i2 % lineColors.length]
+        }, lineStyleModel.getLineStyle()),
+        silent: true,
+        z: angleAxisModel.get("z")
+      }));
+    }
+  },
+  minorSplitLine: function(group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+    if (!minorTickAngles.length) {
+      return;
+    }
+    var minorSplitLineModel = angleAxisModel.getModel("minorSplitLine");
+    var lineStyleModel = minorSplitLineModel.getModel("lineStyle");
+    var lines2 = [];
+    for (var i2 = 0; i2 < minorTickAngles.length; i2++) {
+      for (var k2 = 0; k2 < minorTickAngles[i2].length; k2++) {
+        lines2.push(new Line$3({
+          shape: getAxisLineShape(polar2, radiusExtent, minorTickAngles[i2][k2].coord)
+        }));
+      }
+    }
+    group.add(mergePath(lines2, {
+      style: lineStyleModel.getLineStyle(),
+      silent: true,
+      z: angleAxisModel.get("z")
+    }));
+  },
+  splitArea: function(group, angleAxisModel, polar2, ticksAngles, minorTickAngles, radiusExtent) {
+    if (!ticksAngles.length) {
+      return;
+    }
+    var splitAreaModel = angleAxisModel.getModel("splitArea");
+    var areaStyleModel = splitAreaModel.getModel("areaStyle");
+    var areaColors = areaStyleModel.get("color");
+    var lineCount = 0;
+    areaColors = areaColors instanceof Array ? areaColors : [areaColors];
+    var splitAreas = [];
+    var RADIAN2 = Math.PI / 180;
+    var prevAngle = -ticksAngles[0].coord * RADIAN2;
+    var r0 = Math.min(radiusExtent[0], radiusExtent[1]);
+    var r1 = Math.max(radiusExtent[0], radiusExtent[1]);
+    var clockwise = angleAxisModel.get("clockwise");
+    for (var i2 = 1, len2 = ticksAngles.length; i2 <= len2; i2++) {
+      var coord = i2 === len2 ? ticksAngles[0].coord : ticksAngles[i2].coord;
+      var colorIndex = lineCount++ % areaColors.length;
+      splitAreas[colorIndex] = splitAreas[colorIndex] || [];
+      splitAreas[colorIndex].push(new Sector$1({
+        shape: {
+          cx: polar2.cx,
+          cy: polar2.cy,
+          r0,
+          r: r1,
+          startAngle: prevAngle,
+          endAngle: -coord * RADIAN2,
+          clockwise
+        },
+        silent: true
+      }));
+      prevAngle = -coord * RADIAN2;
+    }
+    for (var i2 = 0; i2 < splitAreas.length; i2++) {
+      group.add(mergePath(splitAreas[i2], {
+        style: defaults$2({
+          fill: areaColors[i2 % areaColors.length]
+        }, areaStyleModel.getAreaStyle()),
+        silent: true
+      }));
+    }
+  }
+};
+const AngleAxisView$1 = AngleAxisView;
+var axisBuilderAttrs$1 = ["axisLine", "axisTickLabel", "axisName"];
+var selfBuilderAttrs$1 = ["splitLine", "splitArea", "minorSplitLine"];
+var RadiusAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(RadiusAxisView2, _super);
+    function RadiusAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = RadiusAxisView2.type;
+      _this.axisPointerClass = "PolarAxisPointer";
+      return _this;
+    }
+    RadiusAxisView2.prototype.render = function(radiusAxisModel, ecModel) {
+      this.group.removeAll();
+      if (!radiusAxisModel.get("show")) {
+        return;
+      }
+      var oldAxisGroup = this._axisGroup;
+      var newAxisGroup = this._axisGroup = new Group$4();
+      this.group.add(newAxisGroup);
+      var radiusAxis2 = radiusAxisModel.axis;
+      var polar2 = radiusAxis2.polar;
+      var angleAxis2 = polar2.getAngleAxis();
+      var ticksCoords = radiusAxis2.getTicksCoords();
+      var minorTicksCoords = radiusAxis2.getMinorTicksCoords();
+      var axisAngle = angleAxis2.getExtent()[0];
+      var radiusExtent = radiusAxis2.getExtent();
+      var layout2 = layoutAxis(polar2, radiusAxisModel, axisAngle);
+      var axisBuilder = new AxisBuilder$1(radiusAxisModel, layout2);
+      each$f(axisBuilderAttrs$1, axisBuilder.add, axisBuilder);
+      newAxisGroup.add(axisBuilder.getGroup());
+      groupTransition(oldAxisGroup, newAxisGroup, radiusAxisModel);
+      each$f(selfBuilderAttrs$1, function(name2) {
+        if (radiusAxisModel.get([name2, "show"]) && !radiusAxis2.scale.isBlank()) {
+          axisElementBuilders$1[name2](this.group, radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);
+        }
+      }, this);
+    };
+    RadiusAxisView2.type = "radiusAxis";
+    return RadiusAxisView2;
+  }(AxisView$1)
+);
+var axisElementBuilders$1 = {
+  splitLine: function(group, radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords) {
+    var splitLineModel = radiusAxisModel.getModel("splitLine");
+    var lineStyleModel = splitLineModel.getModel("lineStyle");
+    var lineColors = lineStyleModel.get("color");
+    var lineCount = 0;
+    lineColors = lineColors instanceof Array ? lineColors : [lineColors];
+    var splitLines = [];
+    for (var i2 = 0; i2 < ticksCoords.length; i2++) {
+      var colorIndex = lineCount++ % lineColors.length;
+      splitLines[colorIndex] = splitLines[colorIndex] || [];
+      splitLines[colorIndex].push(new Circle$1({
+        shape: {
+          cx: polar2.cx,
+          cy: polar2.cy,
+          // ensure circle radius >= 0
+          r: Math.max(ticksCoords[i2].coord, 0)
+        }
+      }));
+    }
+    for (var i2 = 0; i2 < splitLines.length; i2++) {
+      group.add(mergePath(splitLines[i2], {
+        style: defaults$2({
+          stroke: lineColors[i2 % lineColors.length],
+          fill: null
+        }, lineStyleModel.getLineStyle()),
+        silent: true
+      }));
+    }
+  },
+  minorSplitLine: function(group, radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords, minorTicksCoords) {
+    if (!minorTicksCoords.length) {
+      return;
+    }
+    var minorSplitLineModel = radiusAxisModel.getModel("minorSplitLine");
+    var lineStyleModel = minorSplitLineModel.getModel("lineStyle");
+    var lines2 = [];
+    for (var i2 = 0; i2 < minorTicksCoords.length; i2++) {
+      for (var k2 = 0; k2 < minorTicksCoords[i2].length; k2++) {
+        lines2.push(new Circle$1({
+          shape: {
+            cx: polar2.cx,
+            cy: polar2.cy,
+            r: minorTicksCoords[i2][k2].coord
+          }
+        }));
+      }
+    }
+    group.add(mergePath(lines2, {
+      style: defaults$2({
+        fill: null
+      }, lineStyleModel.getLineStyle()),
+      silent: true
+    }));
+  },
+  splitArea: function(group, radiusAxisModel, polar2, axisAngle, radiusExtent, ticksCoords) {
+    if (!ticksCoords.length) {
+      return;
+    }
+    var splitAreaModel = radiusAxisModel.getModel("splitArea");
+    var areaStyleModel = splitAreaModel.getModel("areaStyle");
+    var areaColors = areaStyleModel.get("color");
+    var lineCount = 0;
+    areaColors = areaColors instanceof Array ? areaColors : [areaColors];
+    var splitAreas = [];
+    var prevRadius = ticksCoords[0].coord;
+    for (var i2 = 1; i2 < ticksCoords.length; i2++) {
+      var colorIndex = lineCount++ % areaColors.length;
+      splitAreas[colorIndex] = splitAreas[colorIndex] || [];
+      splitAreas[colorIndex].push(new Sector$1({
+        shape: {
+          cx: polar2.cx,
+          cy: polar2.cy,
+          r0: prevRadius,
+          r: ticksCoords[i2].coord,
+          startAngle: 0,
+          endAngle: Math.PI * 2
+        },
+        silent: true
+      }));
+      prevRadius = ticksCoords[i2].coord;
+    }
+    for (var i2 = 0; i2 < splitAreas.length; i2++) {
+      group.add(mergePath(splitAreas[i2], {
+        style: defaults$2({
+          fill: areaColors[i2 % areaColors.length]
+        }, areaStyleModel.getAreaStyle()),
+        silent: true
+      }));
+    }
+  }
+};
+function layoutAxis(polar2, radiusAxisModel, axisAngle) {
+  return {
+    position: [polar2.cx, polar2.cy],
+    rotation: axisAngle / 180 * Math.PI,
+    labelDirection: -1,
+    tickDirection: -1,
+    nameDirection: 1,
+    labelRotate: radiusAxisModel.getModel("axisLabel").get("rotate"),
+    // Over splitLine and splitArea
+    z2: 1
+  };
+}
+const RadiusAxisView$1 = RadiusAxisView;
+function getSeriesStackId(seriesModel) {
+  return seriesModel.get("stack") || "__ec_stack_" + seriesModel.seriesIndex;
+}
+function getAxisKey(polar2, axis2) {
+  return axis2.dim + polar2.model.componentIndex;
+}
+function barLayoutPolar(seriesType2, ecModel, api2) {
+  var lastStackCoords = {};
+  var barWidthAndOffset = calRadialBar(filter(ecModel.getSeriesByType(seriesType2), function(seriesModel) {
+    return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === "polar";
+  }));
+  ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
+    if (seriesModel.coordinateSystem.type !== "polar") {
+      return;
+    }
+    var data2 = seriesModel.getData();
+    var polar2 = seriesModel.coordinateSystem;
+    var baseAxis = polar2.getBaseAxis();
+    var axisKey = getAxisKey(polar2, baseAxis);
+    var stackId = getSeriesStackId(seriesModel);
+    var columnLayoutInfo = barWidthAndOffset[axisKey][stackId];
+    var columnOffset = columnLayoutInfo.offset;
+    var columnWidth = columnLayoutInfo.width;
+    var valueAxis2 = polar2.getOtherAxis(baseAxis);
+    var cx = seriesModel.coordinateSystem.cx;
+    var cy = seriesModel.coordinateSystem.cy;
+    var barMinHeight = seriesModel.get("barMinHeight") || 0;
+    var barMinAngle = seriesModel.get("barMinAngle") || 0;
+    lastStackCoords[stackId] = lastStackCoords[stackId] || [];
+    var valueDim = data2.mapDimension(valueAxis2.dim);
+    var baseDim = data2.mapDimension(baseAxis.dim);
+    var stacked = isDimensionStacked(
+      data2,
+      valueDim
+      /* , baseDim */
+    );
+    var clampLayout = baseAxis.dim !== "radius" || !seriesModel.get("roundCap", true);
+    var valueAxisStart = valueAxis2.dataToCoord(0);
+    for (var idx = 0, len2 = data2.count(); idx < len2; idx++) {
+      var value = data2.get(valueDim, idx);
+      var baseValue = data2.get(baseDim, idx);
+      var sign = value >= 0 ? "p" : "n";
+      var baseCoord = valueAxisStart;
+      if (stacked) {
+        if (!lastStackCoords[stackId][baseValue]) {
+          lastStackCoords[stackId][baseValue] = {
+            p: valueAxisStart,
+            n: valueAxisStart
+            // Negative stack
+          };
+        }
+        baseCoord = lastStackCoords[stackId][baseValue][sign];
+      }
+      var r0 = void 0;
+      var r2 = void 0;
+      var startAngle = void 0;
+      var endAngle = void 0;
+      if (valueAxis2.dim === "radius") {
+        var radiusSpan = valueAxis2.dataToCoord(value) - valueAxisStart;
+        var angle = baseAxis.dataToCoord(baseValue);
+        if (Math.abs(radiusSpan) < barMinHeight) {
+          radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;
+        }
+        r0 = baseCoord;
+        r2 = baseCoord + radiusSpan;
+        startAngle = angle - columnOffset;
+        endAngle = startAngle - columnWidth;
+        stacked && (lastStackCoords[stackId][baseValue][sign] = r2);
+      } else {
+        var angleSpan = valueAxis2.dataToCoord(value, clampLayout) - valueAxisStart;
+        var radius = baseAxis.dataToCoord(baseValue);
+        if (Math.abs(angleSpan) < barMinAngle) {
+          angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;
+        }
+        r0 = radius + columnOffset;
+        r2 = r0 + columnWidth;
+        startAngle = baseCoord;
+        endAngle = baseCoord + angleSpan;
+        stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);
+      }
+      data2.setItemLayout(idx, {
+        cx,
+        cy,
+        r0,
+        r: r2,
+        // Consider that positive angle is anti-clockwise,
+        // while positive radian of sector is clockwise
+        startAngle: -startAngle * Math.PI / 180,
+        endAngle: -endAngle * Math.PI / 180,
+        /**
+         * Keep the same logic with bar in catesion: use end value to
+         * control direction. Notice that if clockwise is true (by
+         * default), the sector will always draw clockwisely, no matter
+         * whether endAngle is greater or less than startAngle.
+         */
+        clockwise: startAngle >= endAngle
+      });
+    }
+  });
+}
+function calRadialBar(barSeries) {
+  var columnsMap = {};
+  each$f(barSeries, function(seriesModel, idx) {
+    var data2 = seriesModel.getData();
+    var polar2 = seriesModel.coordinateSystem;
+    var baseAxis = polar2.getBaseAxis();
+    var axisKey = getAxisKey(polar2, baseAxis);
+    var axisExtent = baseAxis.getExtent();
+    var bandWidth = baseAxis.type === "category" ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data2.count();
+    var columnsOnAxis = columnsMap[axisKey] || {
+      bandWidth,
+      remainedWidth: bandWidth,
+      autoWidthCount: 0,
+      categoryGap: "20%",
+      gap: "30%",
+      stacks: {}
+    };
+    var stacks = columnsOnAxis.stacks;
+    columnsMap[axisKey] = columnsOnAxis;
+    var stackId = getSeriesStackId(seriesModel);
+    if (!stacks[stackId]) {
+      columnsOnAxis.autoWidthCount++;
+    }
+    stacks[stackId] = stacks[stackId] || {
+      width: 0,
+      maxWidth: 0
+    };
+    var barWidth = parsePercent(seriesModel.get("barWidth"), bandWidth);
+    var barMaxWidth = parsePercent(seriesModel.get("barMaxWidth"), bandWidth);
+    var barGap = seriesModel.get("barGap");
+    var barCategoryGap = seriesModel.get("barCategoryGap");
+    if (barWidth && !stacks[stackId].width) {
+      barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);
+      stacks[stackId].width = barWidth;
+      columnsOnAxis.remainedWidth -= barWidth;
+    }
+    barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);
+    barGap != null && (columnsOnAxis.gap = barGap);
+    barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);
+  });
+  var result2 = {};
+  each$f(columnsMap, function(columnsOnAxis, coordSysName) {
+    result2[coordSysName] = {};
+    var stacks = columnsOnAxis.stacks;
+    var bandWidth = columnsOnAxis.bandWidth;
+    var categoryGap = parsePercent(columnsOnAxis.categoryGap, bandWidth);
+    var barGapPercent = parsePercent(columnsOnAxis.gap, 1);
+    var remainedWidth = columnsOnAxis.remainedWidth;
+    var autoWidthCount = columnsOnAxis.autoWidthCount;
+    var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+    autoWidth = Math.max(autoWidth, 0);
+    each$f(stacks, function(column, stack) {
+      var maxWidth = column.maxWidth;
+      if (maxWidth && maxWidth < autoWidth) {
+        maxWidth = Math.min(maxWidth, remainedWidth);
+        if (column.width) {
+          maxWidth = Math.min(maxWidth, column.width);
+        }
+        remainedWidth -= maxWidth;
+        column.width = maxWidth;
+        autoWidthCount--;
+      }
+    });
+    autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
+    autoWidth = Math.max(autoWidth, 0);
+    var widthSum = 0;
+    var lastColumn;
+    each$f(stacks, function(column, idx) {
+      if (!column.width) {
+        column.width = autoWidth;
+      }
+      lastColumn = column;
+      widthSum += column.width * (1 + barGapPercent);
+    });
+    if (lastColumn) {
+      widthSum -= lastColumn.width * barGapPercent;
+    }
+    var offset2 = -widthSum / 2;
+    each$f(stacks, function(column, stackId) {
+      result2[coordSysName][stackId] = result2[coordSysName][stackId] || {
+        offset: offset2,
+        width: column.width
+      };
+      offset2 += column.width * (1 + barGapPercent);
+    });
+  });
+  return result2;
+}
+var angleAxisExtraOption = {
+  startAngle: 90,
+  clockwise: true,
+  splitNumber: 12,
+  axisLabel: {
+    rotate: 0
+  }
+};
+var radiusAxisExtraOption = {
+  splitNumber: 5
+};
+var PolarView = (
+  /** @class */
+  function(_super) {
+    __extends(PolarView2, _super);
+    function PolarView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = PolarView2.type;
+      return _this;
+    }
+    PolarView2.type = "polar";
+    return PolarView2;
+  }(ComponentView$1)
+);
+function install$o(registers) {
+  use(install$q);
+  AxisView$1.registerAxisPointerClass("PolarAxisPointer", PolarAxisPointer$1);
+  registers.registerCoordinateSystem("polar", polarCreator$1);
+  registers.registerComponentModel(PolarModel$1);
+  registers.registerComponentView(PolarView);
+  axisModelCreator(registers, "angle", AngleAxisModel, angleAxisExtraOption);
+  axisModelCreator(registers, "radius", RadiusAxisModel, radiusAxisExtraOption);
+  registers.registerComponentView(AngleAxisView$1);
+  registers.registerComponentView(RadiusAxisView$1);
+  registers.registerLayout(curry$1(barLayoutPolar, "bar"));
+}
+function layout$1(axisModel, opt) {
+  opt = opt || {};
+  var single = axisModel.coordinateSystem;
+  var axis2 = axisModel.axis;
+  var layout2 = {};
+  var axisPosition = axis2.position;
+  var orient = axis2.orient;
+  var rect = single.getRect();
+  var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];
+  var positionMap = {
+    horizontal: {
+      top: rectBound[2],
+      bottom: rectBound[3]
+    },
+    vertical: {
+      left: rectBound[0],
+      right: rectBound[1]
+    }
+  };
+  layout2.position = [orient === "vertical" ? positionMap.vertical[axisPosition] : rectBound[0], orient === "horizontal" ? positionMap.horizontal[axisPosition] : rectBound[3]];
+  var r2 = {
+    horizontal: 0,
+    vertical: 1
+  };
+  layout2.rotation = Math.PI / 2 * r2[orient];
+  var directionMap = {
+    top: -1,
+    bottom: 1,
+    right: 1,
+    left: -1
+  };
+  layout2.labelDirection = layout2.tickDirection = layout2.nameDirection = directionMap[axisPosition];
+  if (axisModel.get(["axisTick", "inside"])) {
+    layout2.tickDirection = -layout2.tickDirection;
+  }
+  if (retrieve(opt.labelInside, axisModel.get(["axisLabel", "inside"]))) {
+    layout2.labelDirection = -layout2.labelDirection;
+  }
+  var labelRotation = opt.rotate;
+  labelRotation == null && (labelRotation = axisModel.get(["axisLabel", "rotate"]));
+  layout2.labelRotation = axisPosition === "top" ? -labelRotation : labelRotation;
+  layout2.z2 = 1;
+  return layout2;
+}
+var axisBuilderAttrs = ["axisLine", "axisTickLabel", "axisName"];
+var selfBuilderAttrs = ["splitArea", "splitLine"];
+var SingleAxisView = (
+  /** @class */
+  function(_super) {
+    __extends(SingleAxisView2, _super);
+    function SingleAxisView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SingleAxisView2.type;
+      _this.axisPointerClass = "SingleAxisPointer";
+      return _this;
+    }
+    SingleAxisView2.prototype.render = function(axisModel, ecModel, api2, payload) {
+      var group = this.group;
+      group.removeAll();
+      var oldAxisGroup = this._axisGroup;
+      this._axisGroup = new Group$4();
+      var layout2 = layout$1(axisModel);
+      var axisBuilder = new AxisBuilder$1(axisModel, layout2);
+      each$f(axisBuilderAttrs, axisBuilder.add, axisBuilder);
+      group.add(this._axisGroup);
+      group.add(axisBuilder.getGroup());
+      each$f(selfBuilderAttrs, function(name2) {
+        if (axisModel.get([name2, "show"])) {
+          axisElementBuilders[name2](this, this.group, this._axisGroup, axisModel);
+        }
+      }, this);
+      groupTransition(oldAxisGroup, this._axisGroup, axisModel);
+      _super.prototype.render.call(this, axisModel, ecModel, api2, payload);
+    };
+    SingleAxisView2.prototype.remove = function() {
+      rectCoordAxisHandleRemove(this);
+    };
+    SingleAxisView2.type = "singleAxis";
+    return SingleAxisView2;
+  }(AxisView$1)
+);
+var axisElementBuilders = {
+  splitLine: function(axisView, group, axisGroup, axisModel) {
+    var axis2 = axisModel.axis;
+    if (axis2.scale.isBlank()) {
+      return;
+    }
+    var splitLineModel = axisModel.getModel("splitLine");
+    var lineStyleModel = splitLineModel.getModel("lineStyle");
+    var lineColors = lineStyleModel.get("color");
+    lineColors = lineColors instanceof Array ? lineColors : [lineColors];
+    var lineWidth = lineStyleModel.get("width");
+    var gridRect = axisModel.coordinateSystem.getRect();
+    var isHorizontal = axis2.isHorizontal();
+    var splitLines = [];
+    var lineCount = 0;
+    var ticksCoords = axis2.getTicksCoords({
+      tickModel: splitLineModel
+    });
+    var p1 = [];
+    var p2 = [];
+    for (var i2 = 0; i2 < ticksCoords.length; ++i2) {
+      var tickCoord = axis2.toGlobalCoord(ticksCoords[i2].coord);
+      if (isHorizontal) {
+        p1[0] = tickCoord;
+        p1[1] = gridRect.y;
+        p2[0] = tickCoord;
+        p2[1] = gridRect.y + gridRect.height;
+      } else {
+        p1[0] = gridRect.x;
+        p1[1] = tickCoord;
+        p2[0] = gridRect.x + gridRect.width;
+        p2[1] = tickCoord;
+      }
+      var line2 = new Line$3({
+        shape: {
+          x1: p1[0],
+          y1: p1[1],
+          x2: p2[0],
+          y2: p2[1]
+        },
+        silent: true
+      });
+      subPixelOptimizeLine(line2.shape, lineWidth);
+      var colorIndex = lineCount++ % lineColors.length;
+      splitLines[colorIndex] = splitLines[colorIndex] || [];
+      splitLines[colorIndex].push(line2);
+    }
+    var lineStyle2 = lineStyleModel.getLineStyle(["color"]);
+    for (var i2 = 0; i2 < splitLines.length; ++i2) {
+      group.add(mergePath(splitLines[i2], {
+        style: defaults$2({
+          stroke: lineColors[i2 % lineColors.length]
+        }, lineStyle2),
+        silent: true
+      }));
+    }
+  },
+  splitArea: function(axisView, group, axisGroup, axisModel) {
+    rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, axisModel);
+  }
+};
+const SingleAxisView$1 = SingleAxisView;
+var SingleAxisModel = (
+  /** @class */
+  function(_super) {
+    __extends(SingleAxisModel2, _super);
+    function SingleAxisModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SingleAxisModel2.type;
+      return _this;
+    }
+    SingleAxisModel2.prototype.getCoordSysModel = function() {
+      return this;
+    };
+    SingleAxisModel2.type = "singleAxis";
+    SingleAxisModel2.layoutMode = "box";
+    SingleAxisModel2.defaultOption = {
+      left: "5%",
+      top: "5%",
+      right: "5%",
+      bottom: "5%",
+      type: "value",
+      position: "bottom",
+      orient: "horizontal",
+      axisLine: {
+        show: true,
+        lineStyle: {
+          width: 1,
+          type: "solid"
+        }
+      },
+      // Single coordinate system and single axis is the,
+      // which is used as the parent tooltip model.
+      // same model, so we set default tooltip show as true.
+      tooltip: {
+        show: true
+      },
+      axisTick: {
+        show: true,
+        length: 6,
+        lineStyle: {
+          width: 1
+        }
+      },
+      axisLabel: {
+        show: true,
+        interval: "auto"
+      },
+      splitLine: {
+        show: true,
+        lineStyle: {
+          type: "dashed",
+          opacity: 0.2
+        }
+      }
+    };
+    return SingleAxisModel2;
+  }(ComponentModel$1)
+);
+mixin(SingleAxisModel, AxisModelCommonMixin.prototype);
+const SingleAxisModel$1 = SingleAxisModel;
+var SingleAxis = (
+  /** @class */
+  function(_super) {
+    __extends(SingleAxis2, _super);
+    function SingleAxis2(dim, scale2, coordExtent, axisType, position2) {
+      var _this = _super.call(this, dim, scale2, coordExtent) || this;
+      _this.type = axisType || "value";
+      _this.position = position2 || "bottom";
+      return _this;
+    }
+    SingleAxis2.prototype.isHorizontal = function() {
+      var position2 = this.position;
+      return position2 === "top" || position2 === "bottom";
+    };
+    SingleAxis2.prototype.pointToData = function(point, clamp2) {
+      return this.coordinateSystem.pointToData(point)[0];
+    };
+    return SingleAxis2;
+  }(Axis$1)
+);
+const SingleAxis$1 = SingleAxis;
+var singleDimensions = ["single"];
+var Single = (
+  /** @class */
+  function() {
+    function Single2(axisModel, ecModel, api2) {
+      this.type = "single";
+      this.dimension = "single";
+      this.dimensions = singleDimensions;
+      this.axisPointerEnabled = true;
+      this.model = axisModel;
+      this._init(axisModel, ecModel, api2);
+    }
+    Single2.prototype._init = function(axisModel, ecModel, api2) {
+      var dim = this.dimension;
+      var axis2 = new SingleAxis$1(dim, createScaleByModel$1(axisModel), [0, 0], axisModel.get("type"), axisModel.get("position"));
+      var isCategory2 = axis2.type === "category";
+      axis2.onBand = isCategory2 && axisModel.get("boundaryGap");
+      axis2.inverse = axisModel.get("inverse");
+      axis2.orient = axisModel.get("orient");
+      axisModel.axis = axis2;
+      axis2.model = axisModel;
+      axis2.coordinateSystem = this;
+      this._axis = axis2;
+    };
+    Single2.prototype.update = function(ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        if (seriesModel.coordinateSystem === this) {
+          var data_1 = seriesModel.getData();
+          each$f(data_1.mapDimensionsAll(this.dimension), function(dim) {
+            this._axis.scale.unionExtentFromData(data_1, dim);
+          }, this);
+          niceScaleExtent(this._axis.scale, this._axis.model);
+        }
+      }, this);
+    };
+    Single2.prototype.resize = function(axisModel, api2) {
+      this._rect = getLayoutRect({
+        left: axisModel.get("left"),
+        top: axisModel.get("top"),
+        right: axisModel.get("right"),
+        bottom: axisModel.get("bottom"),
+        width: axisModel.get("width"),
+        height: axisModel.get("height")
+      }, {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+      this._adjustAxis();
+    };
+    Single2.prototype.getRect = function() {
+      return this._rect;
+    };
+    Single2.prototype._adjustAxis = function() {
+      var rect = this._rect;
+      var axis2 = this._axis;
+      var isHorizontal = axis2.isHorizontal();
+      var extent3 = isHorizontal ? [0, rect.width] : [0, rect.height];
+      var idx = axis2.inverse ? 1 : 0;
+      axis2.setExtent(extent3[idx], extent3[1 - idx]);
+      this._updateAxisTransform(axis2, isHorizontal ? rect.x : rect.y);
+    };
+    Single2.prototype._updateAxisTransform = function(axis2, coordBase) {
+      var axisExtent = axis2.getExtent();
+      var extentSum = axisExtent[0] + axisExtent[1];
+      var isHorizontal = axis2.isHorizontal();
+      axis2.toGlobalCoord = isHorizontal ? function(coord) {
+        return coord + coordBase;
+      } : function(coord) {
+        return extentSum - coord + coordBase;
+      };
+      axis2.toLocalCoord = isHorizontal ? function(coord) {
+        return coord - coordBase;
+      } : function(coord) {
+        return extentSum - coord + coordBase;
+      };
+    };
+    Single2.prototype.getAxis = function() {
+      return this._axis;
+    };
+    Single2.prototype.getBaseAxis = function() {
+      return this._axis;
+    };
+    Single2.prototype.getAxes = function() {
+      return [this._axis];
+    };
+    Single2.prototype.getTooltipAxes = function() {
+      return {
+        baseAxes: [this.getAxis()],
+        // Empty otherAxes
+        otherAxes: []
+      };
+    };
+    Single2.prototype.containPoint = function(point) {
+      var rect = this.getRect();
+      var axis2 = this.getAxis();
+      var orient = axis2.orient;
+      if (orient === "horizontal") {
+        return axis2.contain(axis2.toLocalCoord(point[0])) && point[1] >= rect.y && point[1] <= rect.y + rect.height;
+      } else {
+        return axis2.contain(axis2.toLocalCoord(point[1])) && point[0] >= rect.y && point[0] <= rect.y + rect.height;
+      }
+    };
+    Single2.prototype.pointToData = function(point) {
+      var axis2 = this.getAxis();
+      return [axis2.coordToData(axis2.toLocalCoord(point[axis2.orient === "horizontal" ? 0 : 1]))];
+    };
+    Single2.prototype.dataToPoint = function(val) {
+      var axis2 = this.getAxis();
+      var rect = this.getRect();
+      var pt = [];
+      var idx = axis2.orient === "horizontal" ? 0 : 1;
+      if (val instanceof Array) {
+        val = val[0];
+      }
+      pt[idx] = axis2.toGlobalCoord(axis2.dataToCoord(+val));
+      pt[1 - idx] = idx === 0 ? rect.y + rect.height / 2 : rect.x + rect.width / 2;
+      return pt;
+    };
+    Single2.prototype.convertToPixel = function(ecModel, finder, value) {
+      var coordSys = getCoordSys$1(finder);
+      return coordSys === this ? this.dataToPoint(value) : null;
+    };
+    Single2.prototype.convertFromPixel = function(ecModel, finder, pixel) {
+      var coordSys = getCoordSys$1(finder);
+      return coordSys === this ? this.pointToData(pixel) : null;
+    };
+    return Single2;
+  }()
+);
+function getCoordSys$1(finder) {
+  var seriesModel = finder.seriesModel;
+  var singleModel = finder.singleAxisModel;
+  return singleModel && singleModel.coordinateSystem || seriesModel && seriesModel.coordinateSystem;
+}
+function create(ecModel, api2) {
+  var singles = [];
+  ecModel.eachComponent("singleAxis", function(axisModel, idx) {
+    var single = new Single(axisModel, ecModel, api2);
+    single.name = "single_" + idx;
+    single.resize(axisModel, api2);
+    axisModel.coordinateSystem = single;
+    singles.push(single);
+  });
+  ecModel.eachSeries(function(seriesModel) {
+    if (seriesModel.get("coordinateSystem") === "singleAxis") {
+      var singleAxisModel = seriesModel.getReferringComponents("singleAxis", SINGLE_REFERRING).models[0];
+      seriesModel.coordinateSystem = singleAxisModel && singleAxisModel.coordinateSystem;
+    }
+  });
+  return singles;
+}
+var singleCreator = {
+  create,
+  dimensions: singleDimensions
+};
+const singleCreator$1 = singleCreator;
+var XY$1 = ["x", "y"];
+var WH$1 = ["width", "height"];
+var SingleAxisPointer = (
+  /** @class */
+  function(_super) {
+    __extends(SingleAxisPointer2, _super);
+    function SingleAxisPointer2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    SingleAxisPointer2.prototype.makeElOption = function(elOption, value, axisModel, axisPointerModel, api2) {
+      var axis2 = axisModel.axis;
+      var coordSys = axis2.coordinateSystem;
+      var otherExtent = getGlobalExtent(coordSys, 1 - getPointDimIndex(axis2));
+      var pixelValue = coordSys.dataToPoint(value)[0];
+      var axisPointerType = axisPointerModel.get("type");
+      if (axisPointerType && axisPointerType !== "none") {
+        var elStyle = buildElStyle(axisPointerModel);
+        var pointerOption = pointerShapeBuilder[axisPointerType](axis2, pixelValue, otherExtent);
+        pointerOption.style = elStyle;
+        elOption.graphicKey = pointerOption.type;
+        elOption.pointer = pointerOption;
+      }
+      var layoutInfo = layout$1(axisModel);
+      buildCartesianSingleLabelElOption(
+        // @ts-ignore
+        value,
+        elOption,
+        layoutInfo,
+        axisModel,
+        axisPointerModel,
+        api2
+      );
+    };
+    SingleAxisPointer2.prototype.getHandleTransform = function(value, axisModel, axisPointerModel) {
+      var layoutInfo = layout$1(axisModel, {
+        labelInside: false
+      });
+      layoutInfo.labelMargin = axisPointerModel.get(["handle", "margin"]);
+      var position2 = getTransformedPosition(axisModel.axis, value, layoutInfo);
+      return {
+        x: position2[0],
+        y: position2[1],
+        rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)
+      };
+    };
+    SingleAxisPointer2.prototype.updateHandleTransform = function(transform3, delta, axisModel, axisPointerModel) {
+      var axis2 = axisModel.axis;
+      var coordSys = axis2.coordinateSystem;
+      var dimIndex = getPointDimIndex(axis2);
+      var axisExtent = getGlobalExtent(coordSys, dimIndex);
+      var currPosition = [transform3.x, transform3.y];
+      currPosition[dimIndex] += delta[dimIndex];
+      currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);
+      currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);
+      var otherExtent = getGlobalExtent(coordSys, 1 - dimIndex);
+      var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;
+      var cursorPoint = [cursorOtherValue, cursorOtherValue];
+      cursorPoint[dimIndex] = currPosition[dimIndex];
+      return {
+        x: currPosition[0],
+        y: currPosition[1],
+        rotation: transform3.rotation,
+        cursorPoint,
+        tooltipOption: {
+          verticalAlign: "middle"
+        }
+      };
+    };
+    return SingleAxisPointer2;
+  }(BaseAxisPointer$1)
+);
+var pointerShapeBuilder = {
+  line: function(axis2, pixelValue, otherExtent) {
+    var targetShape = makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex(axis2));
+    return {
+      type: "Line",
+      subPixelOptimize: true,
+      shape: targetShape
+    };
+  },
+  shadow: function(axis2, pixelValue, otherExtent) {
+    var bandWidth = axis2.getBandWidth();
+    var span = otherExtent[1] - otherExtent[0];
+    return {
+      type: "Rect",
+      shape: makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getPointDimIndex(axis2))
+    };
+  }
+};
+function getPointDimIndex(axis2) {
+  return axis2.isHorizontal() ? 0 : 1;
+}
+function getGlobalExtent(coordSys, dimIndex) {
+  var rect = coordSys.getRect();
+  return [rect[XY$1[dimIndex]], rect[XY$1[dimIndex]] + rect[WH$1[dimIndex]]];
+}
+const SingleAxisPointer$1 = SingleAxisPointer;
+var SingleView = (
+  /** @class */
+  function(_super) {
+    __extends(SingleView2, _super);
+    function SingleView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SingleView2.type;
+      return _this;
+    }
+    SingleView2.type = "single";
+    return SingleView2;
+  }(ComponentView$1)
+);
+function install$n(registers) {
+  use(install$q);
+  AxisView$1.registerAxisPointerClass("SingleAxisPointer", SingleAxisPointer$1);
+  registers.registerComponentView(SingleView);
+  registers.registerComponentView(SingleAxisView$1);
+  registers.registerComponentModel(SingleAxisModel$1);
+  axisModelCreator(registers, "single", SingleAxisModel$1, SingleAxisModel$1.defaultOption);
+  registers.registerCoordinateSystem("single", singleCreator$1);
+}
+var CalendarModel = (
+  /** @class */
+  function(_super) {
+    __extends(CalendarModel2, _super);
+    function CalendarModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CalendarModel2.type;
+      return _this;
+    }
+    CalendarModel2.prototype.init = function(option, parentModel, ecModel) {
+      var inputPositionParams = getLayoutParams(option);
+      _super.prototype.init.apply(this, arguments);
+      mergeAndNormalizeLayoutParams$1(option, inputPositionParams);
+    };
+    CalendarModel2.prototype.mergeOption = function(option) {
+      _super.prototype.mergeOption.apply(this, arguments);
+      mergeAndNormalizeLayoutParams$1(this.option, option);
+    };
+    CalendarModel2.prototype.getCellSize = function() {
+      return this.option.cellSize;
+    };
+    CalendarModel2.type = "calendar";
+    CalendarModel2.defaultOption = {
+      // zlevel: 0,
+      z: 2,
+      left: 80,
+      top: 60,
+      cellSize: 20,
+      // horizontal vertical
+      orient: "horizontal",
+      // month separate line style
+      splitLine: {
+        show: true,
+        lineStyle: {
+          color: "#000",
+          width: 1,
+          type: "solid"
+        }
+      },
+      // rect style  temporarily unused emphasis
+      itemStyle: {
+        color: "#fff",
+        borderWidth: 1,
+        borderColor: "#ccc"
+      },
+      // week text style
+      dayLabel: {
+        show: true,
+        firstDay: 0,
+        // start end
+        position: "start",
+        margin: "50%",
+        color: "#000"
+      },
+      // month text style
+      monthLabel: {
+        show: true,
+        // start end
+        position: "start",
+        margin: 5,
+        // center or left
+        align: "center",
+        formatter: null,
+        color: "#000"
+      },
+      // year text style
+      yearLabel: {
+        show: true,
+        // top bottom left right
+        position: null,
+        margin: 30,
+        formatter: null,
+        color: "#ccc",
+        fontFamily: "sans-serif",
+        fontWeight: "bolder",
+        fontSize: 20
+      }
+    };
+    return CalendarModel2;
+  }(ComponentModel$1)
+);
+function mergeAndNormalizeLayoutParams$1(target, raw) {
+  var cellSize = target.cellSize;
+  var cellSizeArr;
+  if (!isArray$2(cellSize)) {
+    cellSizeArr = target.cellSize = [cellSize, cellSize];
+  } else {
+    cellSizeArr = cellSize;
+  }
+  if (cellSizeArr.length === 1) {
+    cellSizeArr[1] = cellSizeArr[0];
+  }
+  var ignoreSize = map$1([0, 1], function(hvIdx) {
+    if (sizeCalculable(raw, hvIdx)) {
+      cellSizeArr[hvIdx] = "auto";
+    }
+    return cellSizeArr[hvIdx] != null && cellSizeArr[hvIdx] !== "auto";
+  });
+  mergeLayoutParam(target, raw, {
+    type: "box",
+    ignoreSize
+  });
+}
+const CalendarModel$1 = CalendarModel;
+var CalendarView = (
+  /** @class */
+  function(_super) {
+    __extends(CalendarView2, _super);
+    function CalendarView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = CalendarView2.type;
+      return _this;
+    }
+    CalendarView2.prototype.render = function(calendarModel, ecModel, api2) {
+      var group = this.group;
+      group.removeAll();
+      var coordSys = calendarModel.coordinateSystem;
+      var rangeData = coordSys.getRangeInfo();
+      var orient = coordSys.getOrient();
+      var localeModel = ecModel.getLocaleModel();
+      this._renderDayRect(calendarModel, rangeData, group);
+      this._renderLines(calendarModel, rangeData, orient, group);
+      this._renderYearText(calendarModel, rangeData, orient, group);
+      this._renderMonthText(calendarModel, localeModel, orient, group);
+      this._renderWeekText(calendarModel, localeModel, rangeData, orient, group);
+    };
+    CalendarView2.prototype._renderDayRect = function(calendarModel, rangeData, group) {
+      var coordSys = calendarModel.coordinateSystem;
+      var itemRectStyleModel = calendarModel.getModel("itemStyle").getItemStyle();
+      var sw = coordSys.getCellWidth();
+      var sh = coordSys.getCellHeight();
+      for (var i2 = rangeData.start.time; i2 <= rangeData.end.time; i2 = coordSys.getNextNDay(i2, 1).time) {
+        var point = coordSys.dataToRect([i2], false).tl;
+        var rect = new Rect$3({
+          shape: {
+            x: point[0],
+            y: point[1],
+            width: sw,
+            height: sh
+          },
+          cursor: "default",
+          style: itemRectStyleModel
+        });
+        group.add(rect);
+      }
+    };
+    CalendarView2.prototype._renderLines = function(calendarModel, rangeData, orient, group) {
+      var self2 = this;
+      var coordSys = calendarModel.coordinateSystem;
+      var lineStyleModel = calendarModel.getModel(["splitLine", "lineStyle"]).getLineStyle();
+      var show2 = calendarModel.get(["splitLine", "show"]);
+      var lineWidth = lineStyleModel.lineWidth;
+      this._tlpoints = [];
+      this._blpoints = [];
+      this._firstDayOfMonth = [];
+      this._firstDayPoints = [];
+      var firstDay = rangeData.start;
+      for (var i2 = 0; firstDay.time <= rangeData.end.time; i2++) {
+        addPoints(firstDay.formatedDate);
+        if (i2 === 0) {
+          firstDay = coordSys.getDateInfo(rangeData.start.y + "-" + rangeData.start.m);
+        }
+        var date = firstDay.date;
+        date.setMonth(date.getMonth() + 1);
+        firstDay = coordSys.getDateInfo(date);
+      }
+      addPoints(coordSys.getNextNDay(rangeData.end.time, 1).formatedDate);
+      function addPoints(date2) {
+        self2._firstDayOfMonth.push(coordSys.getDateInfo(date2));
+        self2._firstDayPoints.push(coordSys.dataToRect([date2], false).tl);
+        var points2 = self2._getLinePointsOfOneWeek(calendarModel, date2, orient);
+        self2._tlpoints.push(points2[0]);
+        self2._blpoints.push(points2[points2.length - 1]);
+        show2 && self2._drawSplitline(points2, lineStyleModel, group);
+      }
+      show2 && this._drawSplitline(self2._getEdgesPoints(self2._tlpoints, lineWidth, orient), lineStyleModel, group);
+      show2 && this._drawSplitline(self2._getEdgesPoints(self2._blpoints, lineWidth, orient), lineStyleModel, group);
+    };
+    CalendarView2.prototype._getEdgesPoints = function(points2, lineWidth, orient) {
+      var rs = [points2[0].slice(), points2[points2.length - 1].slice()];
+      var idx = orient === "horizontal" ? 0 : 1;
+      rs[0][idx] = rs[0][idx] - lineWidth / 2;
+      rs[1][idx] = rs[1][idx] + lineWidth / 2;
+      return rs;
+    };
+    CalendarView2.prototype._drawSplitline = function(points2, lineStyle2, group) {
+      var poyline = new Polyline$3({
+        z2: 20,
+        shape: {
+          points: points2
+        },
+        style: lineStyle2
+      });
+      group.add(poyline);
+    };
+    CalendarView2.prototype._getLinePointsOfOneWeek = function(calendarModel, date, orient) {
+      var coordSys = calendarModel.coordinateSystem;
+      var parsedDate = coordSys.getDateInfo(date);
+      var points2 = [];
+      for (var i2 = 0; i2 < 7; i2++) {
+        var tmpD = coordSys.getNextNDay(parsedDate.time, i2);
+        var point = coordSys.dataToRect([tmpD.time], false);
+        points2[2 * tmpD.day] = point.tl;
+        points2[2 * tmpD.day + 1] = point[orient === "horizontal" ? "bl" : "tr"];
+      }
+      return points2;
+    };
+    CalendarView2.prototype._formatterLabel = function(formatter, params2) {
+      if (isString$1(formatter) && formatter) {
+        return formatTplSimple(formatter, params2);
+      }
+      if (isFunction$1(formatter)) {
+        return formatter(params2);
+      }
+      return params2.nameMap;
+    };
+    CalendarView2.prototype._yearTextPositionControl = function(textEl, point, orient, position2, margin) {
+      var x2 = point[0];
+      var y2 = point[1];
+      var aligns = ["center", "bottom"];
+      if (position2 === "bottom") {
+        y2 += margin;
+        aligns = ["center", "top"];
+      } else if (position2 === "left") {
+        x2 -= margin;
+      } else if (position2 === "right") {
+        x2 += margin;
+        aligns = ["center", "top"];
+      } else {
+        y2 -= margin;
+      }
+      var rotate2 = 0;
+      if (position2 === "left" || position2 === "right") {
+        rotate2 = Math.PI / 2;
+      }
+      return {
+        rotation: rotate2,
+        x: x2,
+        y: y2,
+        style: {
+          align: aligns[0],
+          verticalAlign: aligns[1]
+        }
+      };
+    };
+    CalendarView2.prototype._renderYearText = function(calendarModel, rangeData, orient, group) {
+      var yearLabel = calendarModel.getModel("yearLabel");
+      if (!yearLabel.get("show")) {
+        return;
+      }
+      var margin = yearLabel.get("margin");
+      var pos = yearLabel.get("position");
+      if (!pos) {
+        pos = orient !== "horizontal" ? "top" : "left";
+      }
+      var points2 = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]];
+      var xc = (points2[0][0] + points2[1][0]) / 2;
+      var yc = (points2[0][1] + points2[1][1]) / 2;
+      var idx = orient === "horizontal" ? 0 : 1;
+      var posPoints = {
+        top: [xc, points2[idx][1]],
+        bottom: [xc, points2[1 - idx][1]],
+        left: [points2[1 - idx][0], yc],
+        right: [points2[idx][0], yc]
+      };
+      var name2 = rangeData.start.y;
+      if (+rangeData.end.y > +rangeData.start.y) {
+        name2 = name2 + "-" + rangeData.end.y;
+      }
+      var formatter = yearLabel.get("formatter");
+      var params2 = {
+        start: rangeData.start.y,
+        end: rangeData.end.y,
+        nameMap: name2
+      };
+      var content = this._formatterLabel(formatter, params2);
+      var yearText = new ZRText$1({
+        z2: 30,
+        style: createTextStyle$1(yearLabel, {
+          text: content
+        })
+      });
+      yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));
+      group.add(yearText);
+    };
+    CalendarView2.prototype._monthTextPositionControl = function(point, isCenter, orient, position2, margin) {
+      var align = "left";
+      var vAlign = "top";
+      var x2 = point[0];
+      var y2 = point[1];
+      if (orient === "horizontal") {
+        y2 = y2 + margin;
+        if (isCenter) {
+          align = "center";
+        }
+        if (position2 === "start") {
+          vAlign = "bottom";
+        }
+      } else {
+        x2 = x2 + margin;
+        if (isCenter) {
+          vAlign = "middle";
+        }
+        if (position2 === "start") {
+          align = "right";
+        }
+      }
+      return {
+        x: x2,
+        y: y2,
+        align,
+        verticalAlign: vAlign
+      };
+    };
+    CalendarView2.prototype._renderMonthText = function(calendarModel, localeModel, orient, group) {
+      var monthLabel = calendarModel.getModel("monthLabel");
+      if (!monthLabel.get("show")) {
+        return;
+      }
+      var nameMap = monthLabel.get("nameMap");
+      var margin = monthLabel.get("margin");
+      var pos = monthLabel.get("position");
+      var align = monthLabel.get("align");
+      var termPoints = [this._tlpoints, this._blpoints];
+      if (!nameMap || isString$1(nameMap)) {
+        if (nameMap) {
+          localeModel = getLocaleModel(nameMap) || localeModel;
+        }
+        nameMap = localeModel.get(["time", "monthAbbr"]) || [];
+      }
+      var idx = pos === "start" ? 0 : 1;
+      var axis2 = orient === "horizontal" ? 0 : 1;
+      margin = pos === "start" ? -margin : margin;
+      var isCenter = align === "center";
+      for (var i2 = 0; i2 < termPoints[idx].length - 1; i2++) {
+        var tmp = termPoints[idx][i2].slice();
+        var firstDay = this._firstDayOfMonth[i2];
+        if (isCenter) {
+          var firstDayPoints = this._firstDayPoints[i2];
+          tmp[axis2] = (firstDayPoints[axis2] + termPoints[0][i2 + 1][axis2]) / 2;
+        }
+        var formatter = monthLabel.get("formatter");
+        var name_1 = nameMap[+firstDay.m - 1];
+        var params2 = {
+          yyyy: firstDay.y,
+          yy: (firstDay.y + "").slice(2),
+          MM: firstDay.m,
+          M: +firstDay.m,
+          nameMap: name_1
+        };
+        var content = this._formatterLabel(formatter, params2);
+        var monthText = new ZRText$1({
+          z2: 30,
+          style: extend$1(createTextStyle$1(monthLabel, {
+            text: content
+          }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin))
+        });
+        group.add(monthText);
+      }
+    };
+    CalendarView2.prototype._weekTextPositionControl = function(point, orient, position2, margin, cellSize) {
+      var align = "center";
+      var vAlign = "middle";
+      var x2 = point[0];
+      var y2 = point[1];
+      var isStart = position2 === "start";
+      if (orient === "horizontal") {
+        x2 = x2 + margin + (isStart ? 1 : -1) * cellSize[0] / 2;
+        align = isStart ? "right" : "left";
+      } else {
+        y2 = y2 + margin + (isStart ? 1 : -1) * cellSize[1] / 2;
+        vAlign = isStart ? "bottom" : "top";
+      }
+      return {
+        x: x2,
+        y: y2,
+        align,
+        verticalAlign: vAlign
+      };
+    };
+    CalendarView2.prototype._renderWeekText = function(calendarModel, localeModel, rangeData, orient, group) {
+      var dayLabel = calendarModel.getModel("dayLabel");
+      if (!dayLabel.get("show")) {
+        return;
+      }
+      var coordSys = calendarModel.coordinateSystem;
+      var pos = dayLabel.get("position");
+      var nameMap = dayLabel.get("nameMap");
+      var margin = dayLabel.get("margin");
+      var firstDayOfWeek = coordSys.getFirstDayOfWeek();
+      if (!nameMap || isString$1(nameMap)) {
+        if (nameMap) {
+          localeModel = getLocaleModel(nameMap) || localeModel;
+        }
+        var dayOfWeekShort = localeModel.get(["time", "dayOfWeekShort"]);
+        nameMap = dayOfWeekShort || map$1(localeModel.get(["time", "dayOfWeekAbbr"]), function(val) {
+          return val[0];
+        });
+      }
+      var start2 = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;
+      var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];
+      margin = parsePercent(margin, Math.min(cellSize[1], cellSize[0]));
+      if (pos === "start") {
+        start2 = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;
+        margin = -margin;
+      }
+      for (var i2 = 0; i2 < 7; i2++) {
+        var tmpD = coordSys.getNextNDay(start2, i2);
+        var point = coordSys.dataToRect([tmpD.time], false).center;
+        var day = i2;
+        day = Math.abs((i2 + firstDayOfWeek) % 7);
+        var weekText = new ZRText$1({
+          z2: 30,
+          style: extend$1(createTextStyle$1(dayLabel, {
+            text: nameMap[day]
+          }), this._weekTextPositionControl(point, orient, pos, margin, cellSize))
+        });
+        group.add(weekText);
+      }
+    };
+    CalendarView2.type = "calendar";
+    return CalendarView2;
+  }(ComponentView$1)
+);
+const CalendarView$1 = CalendarView;
+var PROXIMATE_ONE_DAY = 864e5;
+var Calendar = (
+  /** @class */
+  function() {
+    function Calendar2(calendarModel, ecModel, api2) {
+      this.type = "calendar";
+      this.dimensions = Calendar2.dimensions;
+      this.getDimensionsInfo = Calendar2.getDimensionsInfo;
+      this._model = calendarModel;
+    }
+    Calendar2.getDimensionsInfo = function() {
+      return [{
+        name: "time",
+        type: "time"
+      }, "value"];
+    };
+    Calendar2.prototype.getRangeInfo = function() {
+      return this._rangeInfo;
+    };
+    Calendar2.prototype.getModel = function() {
+      return this._model;
+    };
+    Calendar2.prototype.getRect = function() {
+      return this._rect;
+    };
+    Calendar2.prototype.getCellWidth = function() {
+      return this._sw;
+    };
+    Calendar2.prototype.getCellHeight = function() {
+      return this._sh;
+    };
+    Calendar2.prototype.getOrient = function() {
+      return this._orient;
+    };
+    Calendar2.prototype.getFirstDayOfWeek = function() {
+      return this._firstDayOfWeek;
+    };
+    Calendar2.prototype.getDateInfo = function(date) {
+      date = parseDate(date);
+      var y2 = date.getFullYear();
+      var m2 = date.getMonth() + 1;
+      var mStr = m2 < 10 ? "0" + m2 : "" + m2;
+      var d2 = date.getDate();
+      var dStr = d2 < 10 ? "0" + d2 : "" + d2;
+      var day = date.getDay();
+      day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);
+      return {
+        y: y2 + "",
+        m: mStr,
+        d: dStr,
+        day,
+        time: date.getTime(),
+        formatedDate: y2 + "-" + mStr + "-" + dStr,
+        date
+      };
+    };
+    Calendar2.prototype.getNextNDay = function(date, n2) {
+      n2 = n2 || 0;
+      if (n2 === 0) {
+        return this.getDateInfo(date);
+      }
+      date = new Date(this.getDateInfo(date).time);
+      date.setDate(date.getDate() + n2);
+      return this.getDateInfo(date);
+    };
+    Calendar2.prototype.update = function(ecModel, api2) {
+      this._firstDayOfWeek = +this._model.getModel("dayLabel").get("firstDay");
+      this._orient = this._model.get("orient");
+      this._lineWidth = this._model.getModel("itemStyle").getItemStyle().lineWidth || 0;
+      this._rangeInfo = this._getRangeInfo(this._initRangeOption());
+      var weeks2 = this._rangeInfo.weeks || 1;
+      var whNames = ["width", "height"];
+      var cellSize = this._model.getCellSize().slice();
+      var layoutParams = this._model.getBoxLayoutParams();
+      var cellNumbers = this._orient === "horizontal" ? [weeks2, 7] : [7, weeks2];
+      each$f([0, 1], function(idx) {
+        if (cellSizeSpecified(cellSize, idx)) {
+          layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];
+        }
+      });
+      var whGlobal = {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      };
+      var calendarRect = this._rect = getLayoutRect(layoutParams, whGlobal);
+      each$f([0, 1], function(idx) {
+        if (!cellSizeSpecified(cellSize, idx)) {
+          cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];
+        }
+      });
+      function cellSizeSpecified(cellSize2, idx) {
+        return cellSize2[idx] != null && cellSize2[idx] !== "auto";
+      }
+      this._sw = cellSize[0];
+      this._sh = cellSize[1];
+    };
+    Calendar2.prototype.dataToPoint = function(data2, clamp2) {
+      isArray$2(data2) && (data2 = data2[0]);
+      clamp2 == null && (clamp2 = true);
+      var dayInfo = this.getDateInfo(data2);
+      var range2 = this._rangeInfo;
+      var date = dayInfo.formatedDate;
+      if (clamp2 && !(dayInfo.time >= range2.start.time && dayInfo.time < range2.end.time + PROXIMATE_ONE_DAY)) {
+        return [NaN, NaN];
+      }
+      var week = dayInfo.day;
+      var nthWeek = this._getRangeInfo([range2.start.time, date]).nthWeek;
+      if (this._orient === "vertical") {
+        return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];
+      }
+      return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];
+    };
+    Calendar2.prototype.pointToData = function(point) {
+      var date = this.pointToDate(point);
+      return date && date.time;
+    };
+    Calendar2.prototype.dataToRect = function(data2, clamp2) {
+      var point = this.dataToPoint(data2, clamp2);
+      return {
+        contentShape: {
+          x: point[0] - (this._sw - this._lineWidth) / 2,
+          y: point[1] - (this._sh - this._lineWidth) / 2,
+          width: this._sw - this._lineWidth,
+          height: this._sh - this._lineWidth
+        },
+        center: point,
+        tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],
+        tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],
+        br: [point[0] + this._sw / 2, point[1] + this._sh / 2],
+        bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]
+      };
+    };
+    Calendar2.prototype.pointToDate = function(point) {
+      var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;
+      var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;
+      var range2 = this._rangeInfo.range;
+      if (this._orient === "vertical") {
+        return this._getDateByWeeksAndDay(nthY, nthX - 1, range2);
+      }
+      return this._getDateByWeeksAndDay(nthX, nthY - 1, range2);
+    };
+    Calendar2.prototype.convertToPixel = function(ecModel, finder, value) {
+      var coordSys = getCoordSys(finder);
+      return coordSys === this ? coordSys.dataToPoint(value) : null;
+    };
+    Calendar2.prototype.convertFromPixel = function(ecModel, finder, pixel) {
+      var coordSys = getCoordSys(finder);
+      return coordSys === this ? coordSys.pointToData(pixel) : null;
+    };
+    Calendar2.prototype.containPoint = function(point) {
+      console.warn("Not implemented.");
+      return false;
+    };
+    Calendar2.prototype._initRangeOption = function() {
+      var range2 = this._model.get("range");
+      var normalizedRange;
+      if (isArray$2(range2) && range2.length === 1) {
+        range2 = range2[0];
+      }
+      if (!isArray$2(range2)) {
+        var rangeStr = range2.toString();
+        if (/^\d{4}$/.test(rangeStr)) {
+          normalizedRange = [rangeStr + "-01-01", rangeStr + "-12-31"];
+        }
+        if (/^\d{4}[\/|-]\d{1,2}$/.test(rangeStr)) {
+          var start2 = this.getDateInfo(rangeStr);
+          var firstDay = start2.date;
+          firstDay.setMonth(firstDay.getMonth() + 1);
+          var end2 = this.getNextNDay(firstDay, -1);
+          normalizedRange = [start2.formatedDate, end2.formatedDate];
+        }
+        if (/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(rangeStr)) {
+          normalizedRange = [rangeStr, rangeStr];
+        }
+      } else {
+        normalizedRange = range2;
+      }
+      if (!normalizedRange) {
+        return range2;
+      }
+      var tmp = this._getRangeInfo(normalizedRange);
+      if (tmp.start.time > tmp.end.time) {
+        normalizedRange.reverse();
+      }
+      return normalizedRange;
+    };
+    Calendar2.prototype._getRangeInfo = function(range2) {
+      var parsedRange = [this.getDateInfo(range2[0]), this.getDateInfo(range2[1])];
+      var reversed;
+      if (parsedRange[0].time > parsedRange[1].time) {
+        reversed = true;
+        parsedRange.reverse();
+      }
+      var allDay = Math.floor(parsedRange[1].time / PROXIMATE_ONE_DAY) - Math.floor(parsedRange[0].time / PROXIMATE_ONE_DAY) + 1;
+      var date = new Date(parsedRange[0].time);
+      var startDateNum = date.getDate();
+      var endDateNum = parsedRange[1].date.getDate();
+      date.setDate(startDateNum + allDay - 1);
+      var dateNum = date.getDate();
+      if (dateNum !== endDateNum) {
+        var sign = date.getTime() - parsedRange[1].time > 0 ? 1 : -1;
+        while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - parsedRange[1].time) * sign > 0) {
+          allDay -= sign;
+          date.setDate(dateNum - sign);
+        }
+      }
+      var weeks2 = Math.floor((allDay + parsedRange[0].day + 6) / 7);
+      var nthWeek = reversed ? -weeks2 + 1 : weeks2 - 1;
+      reversed && parsedRange.reverse();
+      return {
+        range: [parsedRange[0].formatedDate, parsedRange[1].formatedDate],
+        start: parsedRange[0],
+        end: parsedRange[1],
+        allDay,
+        weeks: weeks2,
+        // From 0.
+        nthWeek,
+        fweek: parsedRange[0].day,
+        lweek: parsedRange[1].day
+      };
+    };
+    Calendar2.prototype._getDateByWeeksAndDay = function(nthWeek, day, range2) {
+      var rangeInfo = this._getRangeInfo(range2);
+      if (nthWeek > rangeInfo.weeks || nthWeek === 0 && day < rangeInfo.fweek || nthWeek === rangeInfo.weeks && day > rangeInfo.lweek) {
+        return null;
+      }
+      var nthDay = (nthWeek - 1) * 7 - rangeInfo.fweek + day;
+      var date = new Date(rangeInfo.start.time);
+      date.setDate(+rangeInfo.start.d + nthDay);
+      return this.getDateInfo(date);
+    };
+    Calendar2.create = function(ecModel, api2) {
+      var calendarList = [];
+      ecModel.eachComponent("calendar", function(calendarModel) {
+        var calendar2 = new Calendar2(calendarModel);
+        calendarList.push(calendar2);
+        calendarModel.coordinateSystem = calendar2;
+      });
+      ecModel.eachSeries(function(calendarSeries) {
+        if (calendarSeries.get("coordinateSystem") === "calendar") {
+          calendarSeries.coordinateSystem = calendarList[calendarSeries.get("calendarIndex") || 0];
+        }
+      });
+      return calendarList;
+    };
+    Calendar2.dimensions = ["time", "value"];
+    return Calendar2;
+  }()
+);
+function getCoordSys(finder) {
+  var calendarModel = finder.calendarModel;
+  var seriesModel = finder.seriesModel;
+  var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;
+  return coordSys;
+}
+const Calendar$1 = Calendar;
+function install$m(registers) {
+  registers.registerComponentModel(CalendarModel$1);
+  registers.registerComponentView(CalendarView$1);
+  registers.registerCoordinateSystem("calendar", Calendar$1);
+}
+function setKeyInfoToNewElOption(resultItem, newElOption) {
+  var existElOption = resultItem.existing;
+  newElOption.id = resultItem.keyInfo.id;
+  !newElOption.type && existElOption && (newElOption.type = existElOption.type);
+  if (newElOption.parentId == null) {
+    var newElParentOption = newElOption.parentOption;
+    if (newElParentOption) {
+      newElOption.parentId = newElParentOption.id;
+    } else if (existElOption) {
+      newElOption.parentId = existElOption.parentId;
+    }
+  }
+  newElOption.parentOption = null;
+}
+function isSetLoc(obj2, props2) {
+  var isSet;
+  each$f(props2, function(prop2) {
+    obj2[prop2] != null && obj2[prop2] !== "auto" && (isSet = true);
+  });
+  return isSet;
+}
+function mergeNewElOptionToExist(existList, index3, newElOption) {
+  var newElOptCopy = extend$1({}, newElOption);
+  var existElOption = existList[index3];
+  var $action = newElOption.$action || "merge";
+  if ($action === "merge") {
+    if (existElOption) {
+      merge$1(existElOption, newElOptCopy, true);
+      mergeLayoutParam(existElOption, newElOptCopy, {
+        ignoreSize: true
+      });
+      copyLayoutParams(newElOption, existElOption);
+      copyTransitionInfo(newElOption, existElOption);
+      copyTransitionInfo(newElOption, existElOption, "shape");
+      copyTransitionInfo(newElOption, existElOption, "style");
+      copyTransitionInfo(newElOption, existElOption, "extra");
+      newElOption.clipPath = existElOption.clipPath;
+    } else {
+      existList[index3] = newElOptCopy;
+    }
+  } else if ($action === "replace") {
+    existList[index3] = newElOptCopy;
+  } else if ($action === "remove") {
+    existElOption && (existList[index3] = null);
+  }
+}
+var TRANSITION_PROPS_TO_COPY = ["transition", "enterFrom", "leaveTo"];
+var ROOT_TRANSITION_PROPS_TO_COPY = TRANSITION_PROPS_TO_COPY.concat(["enterAnimation", "updateAnimation", "leaveAnimation"]);
+function copyTransitionInfo(target, source2, targetProp) {
+  if (targetProp) {
+    if (!target[targetProp] && source2[targetProp]) {
+      target[targetProp] = {};
+    }
+    target = target[targetProp];
+    source2 = source2[targetProp];
+  }
+  if (!target || !source2) {
+    return;
+  }
+  var props2 = targetProp ? TRANSITION_PROPS_TO_COPY : ROOT_TRANSITION_PROPS_TO_COPY;
+  for (var i2 = 0; i2 < props2.length; i2++) {
+    var prop2 = props2[i2];
+    if (target[prop2] == null && source2[prop2] != null) {
+      target[prop2] = source2[prop2];
+    }
+  }
+}
+function setLayoutInfoToExist(existItem, newElOption) {
+  if (!existItem) {
+    return;
+  }
+  existItem.hv = newElOption.hv = [
+    // Rigid body, don't care about `width`.
+    isSetLoc(newElOption, ["left", "right"]),
+    // Rigid body, don't care about `height`.
+    isSetLoc(newElOption, ["top", "bottom"])
+  ];
+  if (existItem.type === "group") {
+    var existingGroupOpt = existItem;
+    var newGroupOpt = newElOption;
+    existingGroupOpt.width == null && (existingGroupOpt.width = newGroupOpt.width = 0);
+    existingGroupOpt.height == null && (existingGroupOpt.height = newGroupOpt.height = 0);
+  }
+}
+var GraphicComponentModel = (
+  /** @class */
+  function(_super) {
+    __extends(GraphicComponentModel2, _super);
+    function GraphicComponentModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GraphicComponentModel2.type;
+      _this.preventAutoZ = true;
+      return _this;
+    }
+    GraphicComponentModel2.prototype.mergeOption = function(option, ecModel) {
+      var elements = this.option.elements;
+      this.option.elements = null;
+      _super.prototype.mergeOption.call(this, option, ecModel);
+      this.option.elements = elements;
+    };
+    GraphicComponentModel2.prototype.optionUpdated = function(newOption, isInit) {
+      var thisOption = this.option;
+      var newList = (isInit ? thisOption : newOption).elements;
+      var existList = thisOption.elements = isInit ? [] : thisOption.elements;
+      var flattenedList = [];
+      this._flatten(newList, flattenedList, null);
+      var mappingResult = mappingToExists(existList, flattenedList, "normalMerge");
+      var elOptionsToUpdate = this._elOptionsToUpdate = [];
+      each$f(mappingResult, function(resultItem, index3) {
+        var newElOption = resultItem.newOption;
+        if (!newElOption) {
+          return;
+        }
+        elOptionsToUpdate.push(newElOption);
+        setKeyInfoToNewElOption(resultItem, newElOption);
+        mergeNewElOptionToExist(existList, index3, newElOption);
+        setLayoutInfoToExist(existList[index3], newElOption);
+      }, this);
+      thisOption.elements = filter(existList, function(item) {
+        item && delete item.$action;
+        return item != null;
+      });
+    };
+    GraphicComponentModel2.prototype._flatten = function(optionList, result2, parentOption) {
+      each$f(optionList, function(option) {
+        if (!option) {
+          return;
+        }
+        if (parentOption) {
+          option.parentOption = parentOption;
+        }
+        result2.push(option);
+        var children3 = option.children;
+        if (children3 && children3.length) {
+          this._flatten(children3, result2, option);
+        }
+        delete option.children;
+      }, this);
+    };
+    GraphicComponentModel2.prototype.useElOptionsToUpdate = function() {
+      var els = this._elOptionsToUpdate;
+      this._elOptionsToUpdate = null;
+      return els;
+    };
+    GraphicComponentModel2.type = "graphic";
+    GraphicComponentModel2.defaultOption = {
+      elements: []
+      // parentId: null
+    };
+    return GraphicComponentModel2;
+  }(ComponentModel$1)
+);
+var nonShapeGraphicElements = {
+  // Reserved but not supported in graphic component.
+  path: null,
+  compoundPath: null,
+  // Supported in graphic component.
+  group: Group$4,
+  image: ZRImage$1,
+  text: ZRText$1
+};
+var inner$7 = makeInner();
+var GraphicComponentView = (
+  /** @class */
+  function(_super) {
+    __extends(GraphicComponentView2, _super);
+    function GraphicComponentView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = GraphicComponentView2.type;
+      return _this;
+    }
+    GraphicComponentView2.prototype.init = function() {
+      this._elMap = createHashMap();
+    };
+    GraphicComponentView2.prototype.render = function(graphicModel, ecModel, api2) {
+      if (graphicModel !== this._lastGraphicModel) {
+        this._clear();
+      }
+      this._lastGraphicModel = graphicModel;
+      this._updateElements(graphicModel);
+      this._relocate(graphicModel, api2);
+    };
+    GraphicComponentView2.prototype._updateElements = function(graphicModel) {
+      var elOptionsToUpdate = graphicModel.useElOptionsToUpdate();
+      if (!elOptionsToUpdate) {
+        return;
+      }
+      var elMap = this._elMap;
+      var rootGroup = this.group;
+      var globalZ = graphicModel.get("z");
+      var globalZLevel = graphicModel.get("zlevel");
+      each$f(elOptionsToUpdate, function(elOption) {
+        var id = convertOptionIdName(elOption.id, null);
+        var elExisting = id != null ? elMap.get(id) : null;
+        var parentId = convertOptionIdName(elOption.parentId, null);
+        var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;
+        var elType = elOption.type;
+        var elOptionStyle = elOption.style;
+        if (elType === "text" && elOptionStyle) {
+          if (elOption.hv && elOption.hv[1]) {
+            elOptionStyle.textVerticalAlign = elOptionStyle.textBaseline = elOptionStyle.verticalAlign = elOptionStyle.align = null;
+          }
+        }
+        var textContentOption = elOption.textContent;
+        var textConfig = elOption.textConfig;
+        if (elOptionStyle && isEC4CompatibleStyle(elOptionStyle, elType, !!textConfig, !!textContentOption)) {
+          var convertResult = convertFromEC4CompatibleStyle(elOptionStyle, elType, true);
+          if (!textConfig && convertResult.textConfig) {
+            textConfig = elOption.textConfig = convertResult.textConfig;
+          }
+          if (!textContentOption && convertResult.textContent) {
+            textContentOption = convertResult.textContent;
+          }
+        }
+        var elOptionCleaned = getCleanedElOption(elOption);
+        var $action = elOption.$action || "merge";
+        var isMerge = $action === "merge";
+        var isReplace = $action === "replace";
+        if (isMerge) {
+          var isInit = !elExisting;
+          var el_1 = elExisting;
+          if (isInit) {
+            el_1 = createEl(id, targetElParent, elOption.type, elMap);
+          } else {
+            el_1 && (inner$7(el_1).isNew = false);
+            stopPreviousKeyframeAnimationAndRestore(el_1);
+          }
+          if (el_1) {
+            applyUpdateTransition(el_1, elOptionCleaned, graphicModel, {
+              isInit
+            });
+            updateCommonAttrs(el_1, elOption, globalZ, globalZLevel);
+          }
+        } else if (isReplace) {
+          removeEl$1(elExisting, elOption, elMap, graphicModel);
+          var el_2 = createEl(id, targetElParent, elOption.type, elMap);
+          if (el_2) {
+            applyUpdateTransition(el_2, elOptionCleaned, graphicModel, {
+              isInit: true
+            });
+            updateCommonAttrs(el_2, elOption, globalZ, globalZLevel);
+          }
+        } else if ($action === "remove") {
+          updateLeaveTo(elExisting, elOption);
+          removeEl$1(elExisting, elOption, elMap, graphicModel);
+        }
+        var el = elMap.get(id);
+        if (el && textContentOption) {
+          if (isMerge) {
+            var textContentExisting = el.getTextContent();
+            textContentExisting ? textContentExisting.attr(textContentOption) : el.setTextContent(new ZRText$1(textContentOption));
+          } else if (isReplace) {
+            el.setTextContent(new ZRText$1(textContentOption));
+          }
+        }
+        if (el) {
+          var clipPathOption = elOption.clipPath;
+          if (clipPathOption) {
+            var clipPathType = clipPathOption.type;
+            var clipPath = void 0;
+            var isInit = false;
+            if (isMerge) {
+              var oldClipPath = el.getClipPath();
+              isInit = !oldClipPath || inner$7(oldClipPath).type !== clipPathType;
+              clipPath = isInit ? newEl(clipPathType) : oldClipPath;
+            } else if (isReplace) {
+              isInit = true;
+              clipPath = newEl(clipPathType);
+            }
+            el.setClipPath(clipPath);
+            applyUpdateTransition(clipPath, clipPathOption, graphicModel, {
+              isInit
+            });
+            applyKeyframeAnimation(clipPath, clipPathOption.keyframeAnimation, graphicModel);
+          }
+          var elInner = inner$7(el);
+          el.setTextConfig(textConfig);
+          elInner.option = elOption;
+          setEventData(el, graphicModel, elOption);
+          setTooltipConfig({
+            el,
+            componentModel: graphicModel,
+            itemName: el.name,
+            itemTooltipOption: elOption.tooltip
+          });
+          applyKeyframeAnimation(el, elOption.keyframeAnimation, graphicModel);
+        }
+      });
+    };
+    GraphicComponentView2.prototype._relocate = function(graphicModel, api2) {
+      var elOptions = graphicModel.option.elements;
+      var rootGroup = this.group;
+      var elMap = this._elMap;
+      var apiWidth = api2.getWidth();
+      var apiHeight = api2.getHeight();
+      var xy = ["x", "y"];
+      for (var i2 = 0; i2 < elOptions.length; i2++) {
+        var elOption = elOptions[i2];
+        var id = convertOptionIdName(elOption.id, null);
+        var el = id != null ? elMap.get(id) : null;
+        if (!el || !el.isGroup) {
+          continue;
+        }
+        var parentEl = el.parent;
+        var isParentRoot = parentEl === rootGroup;
+        var elInner = inner$7(el);
+        var parentElInner = inner$7(parentEl);
+        elInner.width = parsePercent(elInner.option.width, isParentRoot ? apiWidth : parentElInner.width) || 0;
+        elInner.height = parsePercent(elInner.option.height, isParentRoot ? apiHeight : parentElInner.height) || 0;
+      }
+      for (var i2 = elOptions.length - 1; i2 >= 0; i2--) {
+        var elOption = elOptions[i2];
+        var id = convertOptionIdName(elOption.id, null);
+        var el = id != null ? elMap.get(id) : null;
+        if (!el) {
+          continue;
+        }
+        var parentEl = el.parent;
+        var parentElInner = inner$7(parentEl);
+        var containerInfo = parentEl === rootGroup ? {
+          width: apiWidth,
+          height: apiHeight
+        } : {
+          width: parentElInner.width,
+          height: parentElInner.height
+        };
+        var layoutPos = {};
+        var layouted = positionElement(el, elOption, containerInfo, null, {
+          hv: elOption.hv,
+          boundingMode: elOption.bounding
+        }, layoutPos);
+        if (!inner$7(el).isNew && layouted) {
+          var transition2 = elOption.transition;
+          var animatePos = {};
+          for (var k2 = 0; k2 < xy.length; k2++) {
+            var key2 = xy[k2];
+            var val = layoutPos[key2];
+            if (transition2 && (isTransitionAll(transition2) || indexOf(transition2, key2) >= 0)) {
+              animatePos[key2] = val;
+            } else {
+              el[key2] = val;
+            }
+          }
+          updateProps$1(el, animatePos, graphicModel, 0);
+        } else {
+          el.attr(layoutPos);
+        }
+      }
+    };
+    GraphicComponentView2.prototype._clear = function() {
+      var _this = this;
+      var elMap = this._elMap;
+      elMap.each(function(el) {
+        removeEl$1(el, inner$7(el).option, elMap, _this._lastGraphicModel);
+      });
+      this._elMap = createHashMap();
+    };
+    GraphicComponentView2.prototype.dispose = function() {
+      this._clear();
+    };
+    GraphicComponentView2.type = "graphic";
+    return GraphicComponentView2;
+  }(ComponentView$1)
+);
+function newEl(graphicType) {
+  var Clz = hasOwn(nonShapeGraphicElements, graphicType) ? nonShapeGraphicElements[graphicType] : getShapeClass(graphicType);
+  var el = new Clz({});
+  inner$7(el).type = graphicType;
+  return el;
+}
+function createEl(id, targetElParent, graphicType, elMap) {
+  var el = newEl(graphicType);
+  targetElParent.add(el);
+  elMap.set(id, el);
+  inner$7(el).id = id;
+  inner$7(el).isNew = true;
+  return el;
+}
+function removeEl$1(elExisting, elOption, elMap, graphicModel) {
+  var existElParent = elExisting && elExisting.parent;
+  if (existElParent) {
+    elExisting.type === "group" && elExisting.traverse(function(el) {
+      removeEl$1(el, elOption, elMap, graphicModel);
+    });
+    applyLeaveTransition(elExisting, elOption, graphicModel);
+    elMap.removeKey(inner$7(elExisting).id);
+  }
+}
+function updateCommonAttrs(el, elOption, defaultZ, defaultZlevel) {
+  if (!el.isGroup) {
+    each$f([
+      ["cursor", Displayable$1.prototype.cursor],
+      // We should not support configure z and zlevel in the element level.
+      // But seems we didn't limit it previously. So here still use it to avoid breaking.
+      ["zlevel", defaultZlevel || 0],
+      ["z", defaultZ || 0],
+      // z2 must not be null/undefined, otherwise sort error may occur.
+      ["z2", 0]
+    ], function(item) {
+      var prop2 = item[0];
+      if (hasOwn(elOption, prop2)) {
+        el[prop2] = retrieve2(elOption[prop2], item[1]);
+      } else if (el[prop2] == null) {
+        el[prop2] = item[1];
+      }
+    });
+  }
+  each$f(keys(elOption), function(key2) {
+    if (key2.indexOf("on") === 0) {
+      var val = elOption[key2];
+      el[key2] = isFunction$1(val) ? val : null;
+    }
+  });
+  if (hasOwn(elOption, "draggable")) {
+    el.draggable = elOption.draggable;
+  }
+  elOption.name != null && (el.name = elOption.name);
+  elOption.id != null && (el.id = elOption.id);
+}
+function getCleanedElOption(elOption) {
+  elOption = extend$1({}, elOption);
+  each$f(["id", "parentId", "$action", "hv", "bounding", "textContent", "clipPath"].concat(LOCATION_PARAMS), function(name2) {
+    delete elOption[name2];
+  });
+  return elOption;
+}
+function setEventData(el, graphicModel, elOption) {
+  var eventData = getECData(el).eventData;
+  if (!el.silent && !el.ignore && !eventData) {
+    eventData = getECData(el).eventData = {
+      componentType: "graphic",
+      componentIndex: graphicModel.componentIndex,
+      name: el.name
+    };
+  }
+  if (eventData) {
+    eventData.info = elOption.info;
+  }
+}
+function install$l(registers) {
+  registers.registerComponentModel(GraphicComponentModel);
+  registers.registerComponentView(GraphicComponentView);
+  registers.registerPreprocessor(function(option) {
+    var graphicOption = option.graphic;
+    if (isArray$2(graphicOption)) {
+      if (!graphicOption[0] || !graphicOption[0].elements) {
+        option.graphic = [{
+          elements: graphicOption
+        }];
+      } else {
+        option.graphic = [option.graphic[0]];
+      }
+    } else if (graphicOption && !graphicOption.elements) {
+      option.graphic = [{
+        elements: [graphicOption]
+      }];
+    }
+  });
+}
+var DATA_ZOOM_AXIS_DIMENSIONS = ["x", "y", "radius", "angle", "single"];
+var SERIES_COORDS = ["cartesian2d", "polar", "singleAxis"];
+function isCoordSupported(seriesModel) {
+  var coordType = seriesModel.get("coordinateSystem");
+  return indexOf(SERIES_COORDS, coordType) >= 0;
+}
+function getAxisMainType(axisDim) {
+  return axisDim + "Axis";
+}
+function findEffectedDataZooms(ecModel, payload) {
+  var axisRecords = createHashMap();
+  var effectedModels = [];
+  var effectedModelMap = createHashMap();
+  ecModel.eachComponent({
+    mainType: "dataZoom",
+    query: payload
+  }, function(dataZoomModel) {
+    if (!effectedModelMap.get(dataZoomModel.uid)) {
+      addToEffected(dataZoomModel);
+    }
+  });
+  var foundNewLink;
+  do {
+    foundNewLink = false;
+    ecModel.eachComponent("dataZoom", processSingle);
+  } while (foundNewLink);
+  function processSingle(dataZoomModel) {
+    if (!effectedModelMap.get(dataZoomModel.uid) && isLinked(dataZoomModel)) {
+      addToEffected(dataZoomModel);
+      foundNewLink = true;
+    }
+  }
+  function addToEffected(dataZoom2) {
+    effectedModelMap.set(dataZoom2.uid, true);
+    effectedModels.push(dataZoom2);
+    markAxisControlled(dataZoom2);
+  }
+  function isLinked(dataZoomModel) {
+    var isLink = false;
+    dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+      var axisIdxArr = axisRecords.get(axisDim);
+      if (axisIdxArr && axisIdxArr[axisIndex]) {
+        isLink = true;
+      }
+    });
+    return isLink;
+  }
+  function markAxisControlled(dataZoomModel) {
+    dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+      (axisRecords.get(axisDim) || axisRecords.set(axisDim, []))[axisIndex] = true;
+    });
+  }
+  return effectedModels;
+}
+function collectReferCoordSysModelInfo(dataZoomModel) {
+  var ecModel = dataZoomModel.ecModel;
+  var coordSysInfoWrap = {
+    infoList: [],
+    infoMap: createHashMap()
+  };
+  dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+    var axisModel = ecModel.getComponent(getAxisMainType(axisDim), axisIndex);
+    if (!axisModel) {
+      return;
+    }
+    var coordSysModel = axisModel.getCoordSysModel();
+    if (!coordSysModel) {
+      return;
+    }
+    var coordSysUid = coordSysModel.uid;
+    var coordSysInfo = coordSysInfoWrap.infoMap.get(coordSysUid);
+    if (!coordSysInfo) {
+      coordSysInfo = {
+        model: coordSysModel,
+        axisModels: []
+      };
+      coordSysInfoWrap.infoList.push(coordSysInfo);
+      coordSysInfoWrap.infoMap.set(coordSysUid, coordSysInfo);
+    }
+    coordSysInfo.axisModels.push(axisModel);
+  });
+  return coordSysInfoWrap;
+}
+var DataZoomAxisInfo = (
+  /** @class */
+  function() {
+    function DataZoomAxisInfo2() {
+      this.indexList = [];
+      this.indexMap = [];
+    }
+    DataZoomAxisInfo2.prototype.add = function(axisCmptIdx) {
+      if (!this.indexMap[axisCmptIdx]) {
+        this.indexList.push(axisCmptIdx);
+        this.indexMap[axisCmptIdx] = true;
+      }
+    };
+    return DataZoomAxisInfo2;
+  }()
+);
+var DataZoomModel = (
+  /** @class */
+  function(_super) {
+    __extends(DataZoomModel2, _super);
+    function DataZoomModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = DataZoomModel2.type;
+      _this._autoThrottle = true;
+      _this._noTarget = true;
+      _this._rangePropMode = ["percent", "percent"];
+      return _this;
+    }
+    DataZoomModel2.prototype.init = function(option, parentModel, ecModel) {
+      var inputRawOption = retrieveRawOption(option);
+      this.settledOption = inputRawOption;
+      this.mergeDefaultAndTheme(option, ecModel);
+      this._doInit(inputRawOption);
+    };
+    DataZoomModel2.prototype.mergeOption = function(newOption) {
+      var inputRawOption = retrieveRawOption(newOption);
+      merge$1(this.option, newOption, true);
+      merge$1(this.settledOption, inputRawOption, true);
+      this._doInit(inputRawOption);
+    };
+    DataZoomModel2.prototype._doInit = function(inputRawOption) {
+      var thisOption = this.option;
+      this._setDefaultThrottle(inputRawOption);
+      this._updateRangeUse(inputRawOption);
+      var settledOption = this.settledOption;
+      each$f([["start", "startValue"], ["end", "endValue"]], function(names, index3) {
+        if (this._rangePropMode[index3] === "value") {
+          thisOption[names[0]] = settledOption[names[0]] = null;
+        }
+      }, this);
+      this._resetTarget();
+    };
+    DataZoomModel2.prototype._resetTarget = function() {
+      var optionOrient = this.get("orient", true);
+      var targetAxisIndexMap = this._targetAxisInfoMap = createHashMap();
+      var hasAxisSpecified = this._fillSpecifiedTargetAxis(targetAxisIndexMap);
+      if (hasAxisSpecified) {
+        this._orient = optionOrient || this._makeAutoOrientByTargetAxis();
+      } else {
+        this._orient = optionOrient || "horizontal";
+        this._fillAutoTargetAxisByOrient(targetAxisIndexMap, this._orient);
+      }
+      this._noTarget = true;
+      targetAxisIndexMap.each(function(axisInfo) {
+        if (axisInfo.indexList.length) {
+          this._noTarget = false;
+        }
+      }, this);
+    };
+    DataZoomModel2.prototype._fillSpecifiedTargetAxis = function(targetAxisIndexMap) {
+      var hasAxisSpecified = false;
+      each$f(DATA_ZOOM_AXIS_DIMENSIONS, function(axisDim) {
+        var refering = this.getReferringComponents(getAxisMainType(axisDim), MULTIPLE_REFERRING);
+        if (!refering.specified) {
+          return;
+        }
+        hasAxisSpecified = true;
+        var axisInfo = new DataZoomAxisInfo();
+        each$f(refering.models, function(axisModel) {
+          axisInfo.add(axisModel.componentIndex);
+        });
+        targetAxisIndexMap.set(axisDim, axisInfo);
+      }, this);
+      return hasAxisSpecified;
+    };
+    DataZoomModel2.prototype._fillAutoTargetAxisByOrient = function(targetAxisIndexMap, orient) {
+      var ecModel = this.ecModel;
+      var needAuto = true;
+      if (needAuto) {
+        var axisDim = orient === "vertical" ? "y" : "x";
+        var axisModels = ecModel.findComponents({
+          mainType: axisDim + "Axis"
+        });
+        setParallelAxis(axisModels, axisDim);
+      }
+      if (needAuto) {
+        var axisModels = ecModel.findComponents({
+          mainType: "singleAxis",
+          filter: function(axisModel) {
+            return axisModel.get("orient", true) === orient;
+          }
+        });
+        setParallelAxis(axisModels, "single");
+      }
+      function setParallelAxis(axisModels2, axisDim2) {
+        var axisModel = axisModels2[0];
+        if (!axisModel) {
+          return;
+        }
+        var axisInfo = new DataZoomAxisInfo();
+        axisInfo.add(axisModel.componentIndex);
+        targetAxisIndexMap.set(axisDim2, axisInfo);
+        needAuto = false;
+        if (axisDim2 === "x" || axisDim2 === "y") {
+          var gridModel_1 = axisModel.getReferringComponents("grid", SINGLE_REFERRING).models[0];
+          gridModel_1 && each$f(axisModels2, function(axModel) {
+            if (axisModel.componentIndex !== axModel.componentIndex && gridModel_1 === axModel.getReferringComponents("grid", SINGLE_REFERRING).models[0]) {
+              axisInfo.add(axModel.componentIndex);
+            }
+          });
+        }
+      }
+      if (needAuto) {
+        each$f(DATA_ZOOM_AXIS_DIMENSIONS, function(axisDim2) {
+          if (!needAuto) {
+            return;
+          }
+          var axisModels2 = ecModel.findComponents({
+            mainType: getAxisMainType(axisDim2),
+            filter: function(axisModel) {
+              return axisModel.get("type", true) === "category";
+            }
+          });
+          if (axisModels2[0]) {
+            var axisInfo = new DataZoomAxisInfo();
+            axisInfo.add(axisModels2[0].componentIndex);
+            targetAxisIndexMap.set(axisDim2, axisInfo);
+            needAuto = false;
+          }
+        }, this);
+      }
+    };
+    DataZoomModel2.prototype._makeAutoOrientByTargetAxis = function() {
+      var dim;
+      this.eachTargetAxis(function(axisDim) {
+        !dim && (dim = axisDim);
+      }, this);
+      return dim === "y" ? "vertical" : "horizontal";
+    };
+    DataZoomModel2.prototype._setDefaultThrottle = function(inputRawOption) {
+      if (inputRawOption.hasOwnProperty("throttle")) {
+        this._autoThrottle = false;
+      }
+      if (this._autoThrottle) {
+        var globalOption = this.ecModel.option;
+        this.option.throttle = globalOption.animation && globalOption.animationDurationUpdate > 0 ? 100 : 20;
+      }
+    };
+    DataZoomModel2.prototype._updateRangeUse = function(inputRawOption) {
+      var rangePropMode = this._rangePropMode;
+      var rangeModeInOption = this.get("rangeMode");
+      each$f([["start", "startValue"], ["end", "endValue"]], function(names, index3) {
+        var percentSpecified = inputRawOption[names[0]] != null;
+        var valueSpecified = inputRawOption[names[1]] != null;
+        if (percentSpecified && !valueSpecified) {
+          rangePropMode[index3] = "percent";
+        } else if (!percentSpecified && valueSpecified) {
+          rangePropMode[index3] = "value";
+        } else if (rangeModeInOption) {
+          rangePropMode[index3] = rangeModeInOption[index3];
+        } else if (percentSpecified) {
+          rangePropMode[index3] = "percent";
+        }
+      });
+    };
+    DataZoomModel2.prototype.noTarget = function() {
+      return this._noTarget;
+    };
+    DataZoomModel2.prototype.getFirstTargetAxisModel = function() {
+      var firstAxisModel;
+      this.eachTargetAxis(function(axisDim, axisIndex) {
+        if (firstAxisModel == null) {
+          firstAxisModel = this.ecModel.getComponent(getAxisMainType(axisDim), axisIndex);
+        }
+      }, this);
+      return firstAxisModel;
+    };
+    DataZoomModel2.prototype.eachTargetAxis = function(callback, context) {
+      this._targetAxisInfoMap.each(function(axisInfo, axisDim) {
+        each$f(axisInfo.indexList, function(axisIndex) {
+          callback.call(context, axisDim, axisIndex);
+        });
+      });
+    };
+    DataZoomModel2.prototype.getAxisProxy = function(axisDim, axisIndex) {
+      var axisModel = this.getAxisModel(axisDim, axisIndex);
+      if (axisModel) {
+        return axisModel.__dzAxisProxy;
+      }
+    };
+    DataZoomModel2.prototype.getAxisModel = function(axisDim, axisIndex) {
+      var axisInfo = this._targetAxisInfoMap.get(axisDim);
+      if (axisInfo && axisInfo.indexMap[axisIndex]) {
+        return this.ecModel.getComponent(getAxisMainType(axisDim), axisIndex);
+      }
+    };
+    DataZoomModel2.prototype.setRawRange = function(opt) {
+      var thisOption = this.option;
+      var settledOption = this.settledOption;
+      each$f([["start", "startValue"], ["end", "endValue"]], function(names) {
+        if (opt[names[0]] != null || opt[names[1]] != null) {
+          thisOption[names[0]] = settledOption[names[0]] = opt[names[0]];
+          thisOption[names[1]] = settledOption[names[1]] = opt[names[1]];
+        }
+      }, this);
+      this._updateRangeUse(opt);
+    };
+    DataZoomModel2.prototype.setCalculatedRange = function(opt) {
+      var option = this.option;
+      each$f(["start", "startValue", "end", "endValue"], function(name2) {
+        option[name2] = opt[name2];
+      });
+    };
+    DataZoomModel2.prototype.getPercentRange = function() {
+      var axisProxy = this.findRepresentativeAxisProxy();
+      if (axisProxy) {
+        return axisProxy.getDataPercentWindow();
+      }
+    };
+    DataZoomModel2.prototype.getValueRange = function(axisDim, axisIndex) {
+      if (axisDim == null && axisIndex == null) {
+        var axisProxy = this.findRepresentativeAxisProxy();
+        if (axisProxy) {
+          return axisProxy.getDataValueWindow();
+        }
+      } else {
+        return this.getAxisProxy(axisDim, axisIndex).getDataValueWindow();
+      }
+    };
+    DataZoomModel2.prototype.findRepresentativeAxisProxy = function(axisModel) {
+      if (axisModel) {
+        return axisModel.__dzAxisProxy;
+      }
+      var firstProxy;
+      var axisDimList = this._targetAxisInfoMap.keys();
+      for (var i2 = 0; i2 < axisDimList.length; i2++) {
+        var axisDim = axisDimList[i2];
+        var axisInfo = this._targetAxisInfoMap.get(axisDim);
+        for (var j2 = 0; j2 < axisInfo.indexList.length; j2++) {
+          var proxy = this.getAxisProxy(axisDim, axisInfo.indexList[j2]);
+          if (proxy.hostedBy(this)) {
+            return proxy;
+          }
+          if (!firstProxy) {
+            firstProxy = proxy;
+          }
+        }
+      }
+      return firstProxy;
+    };
+    DataZoomModel2.prototype.getRangePropMode = function() {
+      return this._rangePropMode.slice();
+    };
+    DataZoomModel2.prototype.getOrient = function() {
+      return this._orient;
+    };
+    DataZoomModel2.type = "dataZoom";
+    DataZoomModel2.dependencies = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "series", "toolbox"];
+    DataZoomModel2.defaultOption = {
+      // zlevel: 0,
+      z: 4,
+      filterMode: "filter",
+      start: 0,
+      end: 100
+    };
+    return DataZoomModel2;
+  }(ComponentModel$1)
+);
+function retrieveRawOption(option) {
+  var ret = {};
+  each$f(["start", "end", "startValue", "endValue", "throttle"], function(name2) {
+    option.hasOwnProperty(name2) && (ret[name2] = option[name2]);
+  });
+  return ret;
+}
+const DataZoomModel$1 = DataZoomModel;
+var SelectDataZoomModel = (
+  /** @class */
+  function(_super) {
+    __extends(SelectDataZoomModel2, _super);
+    function SelectDataZoomModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SelectDataZoomModel2.type;
+      return _this;
+    }
+    SelectDataZoomModel2.type = "dataZoom.select";
+    return SelectDataZoomModel2;
+  }(DataZoomModel$1)
+);
+const SelectZoomModel = SelectDataZoomModel;
+var DataZoomView = (
+  /** @class */
+  function(_super) {
+    __extends(DataZoomView2, _super);
+    function DataZoomView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = DataZoomView2.type;
+      return _this;
+    }
+    DataZoomView2.prototype.render = function(dataZoomModel, ecModel, api2, payload) {
+      this.dataZoomModel = dataZoomModel;
+      this.ecModel = ecModel;
+      this.api = api2;
+    };
+    DataZoomView2.type = "dataZoom";
+    return DataZoomView2;
+  }(ComponentView$1)
+);
+const DataZoomView$1 = DataZoomView;
+var SelectDataZoomView = (
+  /** @class */
+  function(_super) {
+    __extends(SelectDataZoomView2, _super);
+    function SelectDataZoomView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SelectDataZoomView2.type;
+      return _this;
+    }
+    SelectDataZoomView2.type = "dataZoom.select";
+    return SelectDataZoomView2;
+  }(DataZoomView$1)
+);
+const SelectZoomView = SelectDataZoomView;
+var each$7 = each$f;
+var asc$1 = asc$2;
+var AxisProxy = (
+  /** @class */
+  function() {
+    function AxisProxy2(dimName, axisIndex, dataZoomModel, ecModel) {
+      this._dimName = dimName;
+      this._axisIndex = axisIndex;
+      this.ecModel = ecModel;
+      this._dataZoomModel = dataZoomModel;
+    }
+    AxisProxy2.prototype.hostedBy = function(dataZoomModel) {
+      return this._dataZoomModel === dataZoomModel;
+    };
+    AxisProxy2.prototype.getDataValueWindow = function() {
+      return this._valueWindow.slice();
+    };
+    AxisProxy2.prototype.getDataPercentWindow = function() {
+      return this._percentWindow.slice();
+    };
+    AxisProxy2.prototype.getTargetSeriesModels = function() {
+      var seriesModels = [];
+      this.ecModel.eachSeries(function(seriesModel) {
+        if (isCoordSupported(seriesModel)) {
+          var axisMainType = getAxisMainType(this._dimName);
+          var axisModel = seriesModel.getReferringComponents(axisMainType, SINGLE_REFERRING).models[0];
+          if (axisModel && this._axisIndex === axisModel.componentIndex) {
+            seriesModels.push(seriesModel);
+          }
+        }
+      }, this);
+      return seriesModels;
+    };
+    AxisProxy2.prototype.getAxisModel = function() {
+      return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex);
+    };
+    AxisProxy2.prototype.getMinMaxSpan = function() {
+      return clone$4(this._minMaxSpan);
+    };
+    AxisProxy2.prototype.calculateDataWindow = function(opt) {
+      var dataExtent = this._dataExtent;
+      var axisModel = this.getAxisModel();
+      var scale2 = axisModel.axis.scale;
+      var rangePropMode = this._dataZoomModel.getRangePropMode();
+      var percentExtent = [0, 100];
+      var percentWindow = [];
+      var valueWindow = [];
+      var hasPropModeValue;
+      each$7(["start", "end"], function(prop2, idx) {
+        var boundPercent = opt[prop2];
+        var boundValue = opt[prop2 + "Value"];
+        if (rangePropMode[idx] === "percent") {
+          boundPercent == null && (boundPercent = percentExtent[idx]);
+          boundValue = scale2.parse(linearMap$2(boundPercent, percentExtent, dataExtent));
+        } else {
+          hasPropModeValue = true;
+          boundValue = boundValue == null ? dataExtent[idx] : scale2.parse(boundValue);
+          boundPercent = linearMap$2(boundValue, dataExtent, percentExtent);
+        }
+        valueWindow[idx] = boundValue == null || isNaN(boundValue) ? dataExtent[idx] : boundValue;
+        percentWindow[idx] = boundPercent == null || isNaN(boundPercent) ? percentExtent[idx] : boundPercent;
+      });
+      asc$1(valueWindow);
+      asc$1(percentWindow);
+      var spans = this._minMaxSpan;
+      hasPropModeValue ? restrictSet(valueWindow, percentWindow, dataExtent, percentExtent, false) : restrictSet(percentWindow, valueWindow, percentExtent, dataExtent, true);
+      function restrictSet(fromWindow, toWindow, fromExtent, toExtent, toValue2) {
+        var suffix = toValue2 ? "Span" : "ValueSpan";
+        sliderMove(0, fromWindow, fromExtent, "all", spans["min" + suffix], spans["max" + suffix]);
+        for (var i2 = 0; i2 < 2; i2++) {
+          toWindow[i2] = linearMap$2(fromWindow[i2], fromExtent, toExtent, true);
+          toValue2 && (toWindow[i2] = scale2.parse(toWindow[i2]));
+        }
+      }
+      return {
+        valueWindow,
+        percentWindow
+      };
+    };
+    AxisProxy2.prototype.reset = function(dataZoomModel) {
+      if (dataZoomModel !== this._dataZoomModel) {
+        return;
+      }
+      var targetSeries = this.getTargetSeriesModels();
+      this._dataExtent = calculateDataExtent(this, this._dimName, targetSeries);
+      this._updateMinMaxSpan();
+      var dataWindow = this.calculateDataWindow(dataZoomModel.settledOption);
+      this._valueWindow = dataWindow.valueWindow;
+      this._percentWindow = dataWindow.percentWindow;
+      this._setAxisModel();
+    };
+    AxisProxy2.prototype.filterData = function(dataZoomModel, api2) {
+      if (dataZoomModel !== this._dataZoomModel) {
+        return;
+      }
+      var axisDim = this._dimName;
+      var seriesModels = this.getTargetSeriesModels();
+      var filterMode = dataZoomModel.get("filterMode");
+      var valueWindow = this._valueWindow;
+      if (filterMode === "none") {
+        return;
+      }
+      each$7(seriesModels, function(seriesModel) {
+        var seriesData = seriesModel.getData();
+        var dataDims = seriesData.mapDimensionsAll(axisDim);
+        if (!dataDims.length) {
+          return;
+        }
+        if (filterMode === "weakFilter") {
+          var store_1 = seriesData.getStore();
+          var dataDimIndices_1 = map$1(dataDims, function(dim) {
+            return seriesData.getDimensionIndex(dim);
+          }, seriesData);
+          seriesData.filterSelf(function(dataIndex) {
+            var leftOut;
+            var rightOut;
+            var hasValue;
+            for (var i2 = 0; i2 < dataDims.length; i2++) {
+              var value = store_1.get(dataDimIndices_1[i2], dataIndex);
+              var thisHasValue = !isNaN(value);
+              var thisLeftOut = value < valueWindow[0];
+              var thisRightOut = value > valueWindow[1];
+              if (thisHasValue && !thisLeftOut && !thisRightOut) {
+                return true;
+              }
+              thisHasValue && (hasValue = true);
+              thisLeftOut && (leftOut = true);
+              thisRightOut && (rightOut = true);
+            }
+            return hasValue && leftOut && rightOut;
+          });
+        } else {
+          each$7(dataDims, function(dim) {
+            if (filterMode === "empty") {
+              seriesModel.setData(seriesData = seriesData.map(dim, function(value) {
+                return !isInWindow(value) ? NaN : value;
+              }));
+            } else {
+              var range2 = {};
+              range2[dim] = valueWindow;
+              seriesData.selectRange(range2);
+            }
+          });
+        }
+        each$7(dataDims, function(dim) {
+          seriesData.setApproximateExtent(valueWindow, dim);
+        });
+      });
+      function isInWindow(value) {
+        return value >= valueWindow[0] && value <= valueWindow[1];
+      }
+    };
+    AxisProxy2.prototype._updateMinMaxSpan = function() {
+      var minMaxSpan = this._minMaxSpan = {};
+      var dataZoomModel = this._dataZoomModel;
+      var dataExtent = this._dataExtent;
+      each$7(["min", "max"], function(minMax) {
+        var percentSpan = dataZoomModel.get(minMax + "Span");
+        var valueSpan = dataZoomModel.get(minMax + "ValueSpan");
+        valueSpan != null && (valueSpan = this.getAxisModel().axis.scale.parse(valueSpan));
+        if (valueSpan != null) {
+          percentSpan = linearMap$2(dataExtent[0] + valueSpan, dataExtent, [0, 100], true);
+        } else if (percentSpan != null) {
+          valueSpan = linearMap$2(percentSpan, [0, 100], dataExtent, true) - dataExtent[0];
+        }
+        minMaxSpan[minMax + "Span"] = percentSpan;
+        minMaxSpan[minMax + "ValueSpan"] = valueSpan;
+      }, this);
+    };
+    AxisProxy2.prototype._setAxisModel = function() {
+      var axisModel = this.getAxisModel();
+      var percentWindow = this._percentWindow;
+      var valueWindow = this._valueWindow;
+      if (!percentWindow) {
+        return;
+      }
+      var precision = getPixelPrecision(valueWindow, [0, 500]);
+      precision = Math.min(precision, 20);
+      var rawExtentInfo = axisModel.axis.scale.rawExtentInfo;
+      if (percentWindow[0] !== 0) {
+        rawExtentInfo.setDeterminedMinMax("min", +valueWindow[0].toFixed(precision));
+      }
+      if (percentWindow[1] !== 100) {
+        rawExtentInfo.setDeterminedMinMax("max", +valueWindow[1].toFixed(precision));
+      }
+      rawExtentInfo.freeze();
+    };
+    return AxisProxy2;
+  }()
+);
+function calculateDataExtent(axisProxy, axisDim, seriesModels) {
+  var dataExtent = [Infinity, -Infinity];
+  each$7(seriesModels, function(seriesModel) {
+    unionAxisExtentFromData(dataExtent, seriesModel.getData(), axisDim);
+  });
+  var axisModel = axisProxy.getAxisModel();
+  var rawExtentResult = ensureScaleRawExtentInfo(axisModel.axis.scale, axisModel, dataExtent).calculate();
+  return [rawExtentResult.min, rawExtentResult.max];
+}
+const AxisProxy$1 = AxisProxy;
+var dataZoomProcessor = {
+  // `dataZoomProcessor` will only be performed in needed series. Consider if
+  // there is a line series and a pie series, it is better not to update the
+  // line series if only pie series is needed to be updated.
+  getTargetSeries: function(ecModel) {
+    function eachAxisModel(cb) {
+      ecModel.eachComponent("dataZoom", function(dataZoomModel) {
+        dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+          var axisModel = ecModel.getComponent(getAxisMainType(axisDim), axisIndex);
+          cb(axisDim, axisIndex, axisModel, dataZoomModel);
+        });
+      });
+    }
+    eachAxisModel(function(axisDim, axisIndex, axisModel, dataZoomModel) {
+      axisModel.__dzAxisProxy = null;
+    });
+    var proxyList = [];
+    eachAxisModel(function(axisDim, axisIndex, axisModel, dataZoomModel) {
+      if (!axisModel.__dzAxisProxy) {
+        axisModel.__dzAxisProxy = new AxisProxy$1(axisDim, axisIndex, dataZoomModel, ecModel);
+        proxyList.push(axisModel.__dzAxisProxy);
+      }
+    });
+    var seriesModelMap = createHashMap();
+    each$f(proxyList, function(axisProxy) {
+      each$f(axisProxy.getTargetSeriesModels(), function(seriesModel) {
+        seriesModelMap.set(seriesModel.uid, seriesModel);
+      });
+    });
+    return seriesModelMap;
+  },
+  // Consider appendData, where filter should be performed. Because data process is
+  // in block mode currently, it is not need to worry about that the overallProgress
+  // execute every frame.
+  overallReset: function(ecModel, api2) {
+    ecModel.eachComponent("dataZoom", function(dataZoomModel) {
+      dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+        dataZoomModel.getAxisProxy(axisDim, axisIndex).reset(dataZoomModel);
+      });
+      dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+        dataZoomModel.getAxisProxy(axisDim, axisIndex).filterData(dataZoomModel, api2);
+      });
+    });
+    ecModel.eachComponent("dataZoom", function(dataZoomModel) {
+      var axisProxy = dataZoomModel.findRepresentativeAxisProxy();
+      if (axisProxy) {
+        var percentRange = axisProxy.getDataPercentWindow();
+        var valueRange = axisProxy.getDataValueWindow();
+        dataZoomModel.setCalculatedRange({
+          start: percentRange[0],
+          end: percentRange[1],
+          startValue: valueRange[0],
+          endValue: valueRange[1]
+        });
+      }
+    });
+  }
+};
+const dataZoomProcessor$1 = dataZoomProcessor;
+function installDataZoomAction(registers) {
+  registers.registerAction("dataZoom", function(payload, ecModel) {
+    var effectedModels = findEffectedDataZooms(ecModel, payload);
+    each$f(effectedModels, function(dataZoomModel) {
+      dataZoomModel.setRawRange({
+        start: payload.start,
+        end: payload.end,
+        startValue: payload.startValue,
+        endValue: payload.endValue
+      });
+    });
+  });
+}
+var installed$1 = false;
+function installCommon$1(registers) {
+  if (installed$1) {
+    return;
+  }
+  installed$1 = true;
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.FILTER, dataZoomProcessor$1);
+  installDataZoomAction(registers);
+  registers.registerSubTypeDefaulter("dataZoom", function() {
+    return "slider";
+  });
+}
+function install$k(registers) {
+  registers.registerComponentModel(SelectZoomModel);
+  registers.registerComponentView(SelectZoomView);
+  installCommon$1(registers);
+}
+var ToolboxFeature = (
+  /** @class */
+  function() {
+    function ToolboxFeature2() {
+    }
+    return ToolboxFeature2;
+  }()
+);
+var features$1 = {};
+function registerFeature(name2, ctor) {
+  features$1[name2] = ctor;
+}
+function getFeature(name2) {
+  return features$1[name2];
+}
+var ToolboxModel = (
+  /** @class */
+  function(_super) {
+    __extends(ToolboxModel2, _super);
+    function ToolboxModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ToolboxModel2.type;
+      return _this;
+    }
+    ToolboxModel2.prototype.optionUpdated = function() {
+      _super.prototype.optionUpdated.apply(this, arguments);
+      var ecModel = this.ecModel;
+      each$f(this.option.feature, function(featureOpt, featureName) {
+        var Feature = getFeature(featureName);
+        if (Feature) {
+          if (Feature.getDefaultOption) {
+            Feature.defaultOption = Feature.getDefaultOption(ecModel);
+          }
+          merge$1(featureOpt, Feature.defaultOption);
+        }
+      });
+    };
+    ToolboxModel2.type = "toolbox";
+    ToolboxModel2.layoutMode = {
+      type: "box",
+      ignoreSize: true
+    };
+    ToolboxModel2.defaultOption = {
+      show: true,
+      z: 6,
+      // zlevel: 0,
+      orient: "horizontal",
+      left: "right",
+      top: "top",
+      // right
+      // bottom
+      backgroundColor: "transparent",
+      borderColor: "#ccc",
+      borderRadius: 0,
+      borderWidth: 0,
+      padding: 5,
+      itemSize: 15,
+      itemGap: 8,
+      showTitle: true,
+      iconStyle: {
+        borderColor: "#666",
+        color: "none"
+      },
+      emphasis: {
+        iconStyle: {
+          borderColor: "#3E98C5"
+        }
+      },
+      // textStyle: {},
+      // feature
+      tooltip: {
+        show: false,
+        position: "bottom"
+      }
+    };
+    return ToolboxModel2;
+  }(ComponentModel$1)
+);
+const ToolboxModel$1 = ToolboxModel;
+function layout(group, componentModel, api2) {
+  var boxLayoutParams = componentModel.getBoxLayoutParams();
+  var padding = componentModel.get("padding");
+  var viewportSize = {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  };
+  var rect = getLayoutRect(boxLayoutParams, viewportSize, padding);
+  box(componentModel.get("orient"), group, componentModel.get("itemGap"), rect.width, rect.height);
+  positionElement(group, boxLayoutParams, viewportSize, padding);
+}
+function makeBackground(rect, componentModel) {
+  var padding = normalizeCssArray(componentModel.get("padding"));
+  var style2 = componentModel.getItemStyle(["color", "opacity"]);
+  style2.fill = componentModel.get("backgroundColor");
+  rect = new Rect$3({
+    shape: {
+      x: rect.x - padding[3],
+      y: rect.y - padding[0],
+      width: rect.width + padding[1] + padding[3],
+      height: rect.height + padding[0] + padding[2],
+      r: componentModel.get("borderRadius")
+    },
+    style: style2,
+    silent: true,
+    z2: -1
+  });
+  return rect;
+}
+var ToolboxView = (
+  /** @class */
+  function(_super) {
+    __extends(ToolboxView2, _super);
+    function ToolboxView2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    ToolboxView2.prototype.render = function(toolboxModel, ecModel, api2, payload) {
+      var group = this.group;
+      group.removeAll();
+      if (!toolboxModel.get("show")) {
+        return;
+      }
+      var itemSize = +toolboxModel.get("itemSize");
+      var isVertical = toolboxModel.get("orient") === "vertical";
+      var featureOpts = toolboxModel.get("feature") || {};
+      var features2 = this._features || (this._features = {});
+      var featureNames = [];
+      each$f(featureOpts, function(opt, name2) {
+        featureNames.push(name2);
+      });
+      new DataDiffer$1(this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(curry$1(processFeature, null)).execute();
+      this._featureNames = featureNames;
+      function processFeature(newIndex, oldIndex) {
+        var featureName = featureNames[newIndex];
+        var oldName = featureNames[oldIndex];
+        var featureOpt = featureOpts[featureName];
+        var featureModel = new Model$1(featureOpt, toolboxModel, toolboxModel.ecModel);
+        var feature;
+        if (payload && payload.newTitle != null && payload.featureName === featureName) {
+          featureOpt.title = payload.newTitle;
+        }
+        if (featureName && !oldName) {
+          if (isUserFeatureName(featureName)) {
+            feature = {
+              onclick: featureModel.option.onclick,
+              featureName
+            };
+          } else {
+            var Feature = getFeature(featureName);
+            if (!Feature) {
+              return;
+            }
+            feature = new Feature();
+          }
+          features2[featureName] = feature;
+        } else {
+          feature = features2[oldName];
+          if (!feature) {
+            return;
+          }
+        }
+        feature.uid = getUID("toolbox-feature");
+        feature.model = featureModel;
+        feature.ecModel = ecModel;
+        feature.api = api2;
+        var isToolboxFeature = feature instanceof ToolboxFeature;
+        if (!featureName && oldName) {
+          isToolboxFeature && feature.dispose && feature.dispose(ecModel, api2);
+          return;
+        }
+        if (!featureModel.get("show") || isToolboxFeature && feature.unusable) {
+          isToolboxFeature && feature.remove && feature.remove(ecModel, api2);
+          return;
+        }
+        createIconPaths(featureModel, feature, featureName);
+        featureModel.setIconStatus = function(iconName, status) {
+          var option = this.option;
+          var iconPaths = this.iconPaths;
+          option.iconStatus = option.iconStatus || {};
+          option.iconStatus[iconName] = status;
+          if (iconPaths[iconName]) {
+            (status === "emphasis" ? enterEmphasis : leaveEmphasis)(iconPaths[iconName]);
+          }
+        };
+        if (feature instanceof ToolboxFeature) {
+          if (feature.render) {
+            feature.render(featureModel, ecModel, api2, payload);
+          }
+        }
+      }
+      function createIconPaths(featureModel, feature, featureName) {
+        var iconStyleModel = featureModel.getModel("iconStyle");
+        var iconStyleEmphasisModel = featureModel.getModel(["emphasis", "iconStyle"]);
+        var icons = feature instanceof ToolboxFeature && feature.getIcons ? feature.getIcons() : featureModel.get("icon");
+        var titles = featureModel.get("title") || {};
+        var iconsMap;
+        var titlesMap;
+        if (isString$1(icons)) {
+          iconsMap = {};
+          iconsMap[featureName] = icons;
+        } else {
+          iconsMap = icons;
+        }
+        if (isString$1(titles)) {
+          titlesMap = {};
+          titlesMap[featureName] = titles;
+        } else {
+          titlesMap = titles;
+        }
+        var iconPaths = featureModel.iconPaths = {};
+        each$f(iconsMap, function(iconStr, iconName) {
+          var path2 = createIcon(iconStr, {}, {
+            x: -itemSize / 2,
+            y: -itemSize / 2,
+            width: itemSize,
+            height: itemSize
+          });
+          path2.setStyle(iconStyleModel.getItemStyle());
+          var pathEmphasisState = path2.ensureState("emphasis");
+          pathEmphasisState.style = iconStyleEmphasisModel.getItemStyle();
+          var textContent = new ZRText$1({
+            style: {
+              text: titlesMap[iconName],
+              align: iconStyleEmphasisModel.get("textAlign"),
+              borderRadius: iconStyleEmphasisModel.get("textBorderRadius"),
+              padding: iconStyleEmphasisModel.get("textPadding"),
+              fill: null
+            },
+            ignore: true
+          });
+          path2.setTextContent(textContent);
+          setTooltipConfig({
+            el: path2,
+            componentModel: toolboxModel,
+            itemName: iconName,
+            formatterParamsExtra: {
+              title: titlesMap[iconName]
+            }
+          });
+          path2.__title = titlesMap[iconName];
+          path2.on("mouseover", function() {
+            var hoverStyle = iconStyleEmphasisModel.getItemStyle();
+            var defaultTextPosition = isVertical ? toolboxModel.get("right") == null && toolboxModel.get("left") !== "right" ? "right" : "left" : toolboxModel.get("bottom") == null && toolboxModel.get("top") !== "bottom" ? "bottom" : "top";
+            textContent.setStyle({
+              fill: iconStyleEmphasisModel.get("textFill") || hoverStyle.fill || hoverStyle.stroke || "#000",
+              backgroundColor: iconStyleEmphasisModel.get("textBackgroundColor")
+            });
+            path2.setTextConfig({
+              position: iconStyleEmphasisModel.get("textPosition") || defaultTextPosition
+            });
+            textContent.ignore = !toolboxModel.get("showTitle");
+            api2.enterEmphasis(this);
+          }).on("mouseout", function() {
+            if (featureModel.get(["iconStatus", iconName]) !== "emphasis") {
+              api2.leaveEmphasis(this);
+            }
+            textContent.hide();
+          });
+          (featureModel.get(["iconStatus", iconName]) === "emphasis" ? enterEmphasis : leaveEmphasis)(path2);
+          group.add(path2);
+          path2.on("click", bind$2(feature.onclick, feature, ecModel, api2, iconName));
+          iconPaths[iconName] = path2;
+        });
+      }
+      layout(group, toolboxModel, api2);
+      group.add(makeBackground(group.getBoundingRect(), toolboxModel));
+      isVertical || group.eachChild(function(icon) {
+        var titleText = icon.__title;
+        var emphasisState = icon.ensureState("emphasis");
+        var emphasisTextConfig = emphasisState.textConfig || (emphasisState.textConfig = {});
+        var textContent = icon.getTextContent();
+        var emphasisTextState = textContent && textContent.ensureState("emphasis");
+        if (emphasisTextState && !isFunction$1(emphasisTextState) && titleText) {
+          var emphasisTextStyle = emphasisTextState.style || (emphasisTextState.style = {});
+          var rect = getBoundingRect(titleText, ZRText$1.makeFont(emphasisTextStyle));
+          var offsetX = icon.x + group.x;
+          var offsetY = icon.y + group.y + itemSize;
+          var needPutOnTop = false;
+          if (offsetY + rect.height > api2.getHeight()) {
+            emphasisTextConfig.position = "top";
+            needPutOnTop = true;
+          }
+          var topOffset = needPutOnTop ? -5 - rect.height : itemSize + 10;
+          if (offsetX + rect.width / 2 > api2.getWidth()) {
+            emphasisTextConfig.position = ["100%", topOffset];
+            emphasisTextStyle.align = "right";
+          } else if (offsetX - rect.width / 2 < 0) {
+            emphasisTextConfig.position = [0, topOffset];
+            emphasisTextStyle.align = "left";
+          }
+        }
+      });
+    };
+    ToolboxView2.prototype.updateView = function(toolboxModel, ecModel, api2, payload) {
+      each$f(this._features, function(feature) {
+        feature instanceof ToolboxFeature && feature.updateView && feature.updateView(feature.model, ecModel, api2, payload);
+      });
+    };
+    ToolboxView2.prototype.remove = function(ecModel, api2) {
+      each$f(this._features, function(feature) {
+        feature instanceof ToolboxFeature && feature.remove && feature.remove(ecModel, api2);
+      });
+      this.group.removeAll();
+    };
+    ToolboxView2.prototype.dispose = function(ecModel, api2) {
+      each$f(this._features, function(feature) {
+        feature instanceof ToolboxFeature && feature.dispose && feature.dispose(ecModel, api2);
+      });
+    };
+    ToolboxView2.type = "toolbox";
+    return ToolboxView2;
+  }(ComponentView$1)
+);
+function isUserFeatureName(featureName) {
+  return featureName.indexOf("my") === 0;
+}
+const ToolboxView$1 = ToolboxView;
+var SaveAsImage = (
+  /** @class */
+  function(_super) {
+    __extends(SaveAsImage2, _super);
+    function SaveAsImage2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    SaveAsImage2.prototype.onclick = function(ecModel, api2) {
+      var model2 = this.model;
+      var title2 = model2.get("name") || ecModel.get("title.0.text") || "echarts";
+      var isSvg = api2.getZr().painter.getType() === "svg";
+      var type2 = isSvg ? "svg" : model2.get("type", true) || "png";
+      var url = api2.getConnectedDataURL({
+        type: type2,
+        backgroundColor: model2.get("backgroundColor", true) || ecModel.get("backgroundColor") || "#fff",
+        connectedBackgroundColor: model2.get("connectedBackgroundColor"),
+        excludeComponents: model2.get("excludeComponents"),
+        pixelRatio: model2.get("pixelRatio")
+      });
+      var browser = env$1.browser;
+      if (isFunction$1(MouseEvent) && (browser.newEdge || !browser.ie && !browser.edge)) {
+        var $a = document.createElement("a");
+        $a.download = title2 + "." + type2;
+        $a.target = "_blank";
+        $a.href = url;
+        var evt = new MouseEvent("click", {
+          // some micro front-end framework, window maybe is a Proxy
+          view: document.defaultView,
+          bubbles: true,
+          cancelable: false
+        });
+        $a.dispatchEvent(evt);
+      } else {
+        if (window.navigator.msSaveOrOpenBlob || isSvg) {
+          var parts2 = url.split(",");
+          var base64Encoded = parts2[0].indexOf("base64") > -1;
+          var bstr = isSvg ? decodeURIComponent(parts2[1]) : parts2[1];
+          base64Encoded && (bstr = window.atob(bstr));
+          var filename = title2 + "." + type2;
+          if (window.navigator.msSaveOrOpenBlob) {
+            var n2 = bstr.length;
+            var u8arr = new Uint8Array(n2);
+            while (n2--) {
+              u8arr[n2] = bstr.charCodeAt(n2);
+            }
+            var blob = new Blob([u8arr]);
+            window.navigator.msSaveOrOpenBlob(blob, filename);
+          } else {
+            var frame = document.createElement("iframe");
+            document.body.appendChild(frame);
+            var cw = frame.contentWindow;
+            var doc = cw.document;
+            doc.open("image/svg+xml", "replace");
+            doc.write(bstr);
+            doc.close();
+            cw.focus();
+            doc.execCommand("SaveAs", true, filename);
+            document.body.removeChild(frame);
+          }
+        } else {
+          var lang2 = model2.get("lang");
+          var html = '<body style="margin:0;"><img src="' + url + '" style="max-width:100%;" title="' + (lang2 && lang2[0] || "") + '" /></body>';
+          var tab = window.open();
+          tab.document.write(html);
+          tab.document.title = title2;
+        }
+      }
+    };
+    SaveAsImage2.getDefaultOption = function(ecModel) {
+      var defaultOption2 = {
+        show: true,
+        icon: "M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",
+        title: ecModel.getLocaleModel().get(["toolbox", "saveAsImage", "title"]),
+        type: "png",
+        // Default use option.backgroundColor
+        // backgroundColor: '#fff',
+        connectedBackgroundColor: "#fff",
+        name: "",
+        excludeComponents: ["toolbox"],
+        // use current pixel ratio of device by default
+        // pixelRatio: 1,
+        lang: ecModel.getLocaleModel().get(["toolbox", "saveAsImage", "lang"])
+      };
+      return defaultOption2;
+    };
+    return SaveAsImage2;
+  }(ToolboxFeature)
+);
+const SaveAsImage$1 = SaveAsImage;
+var INNER_STACK_KEYWORD = "__ec_magicType_stack__";
+var radioTypes = [["line", "bar"], ["stack"]];
+var MagicType = (
+  /** @class */
+  function(_super) {
+    __extends(MagicType2, _super);
+    function MagicType2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    MagicType2.prototype.getIcons = function() {
+      var model2 = this.model;
+      var availableIcons = model2.get("icon");
+      var icons = {};
+      each$f(model2.get("type"), function(type2) {
+        if (availableIcons[type2]) {
+          icons[type2] = availableIcons[type2];
+        }
+      });
+      return icons;
+    };
+    MagicType2.getDefaultOption = function(ecModel) {
+      var defaultOption2 = {
+        show: true,
+        type: [],
+        // Icon group
+        icon: {
+          line: "M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",
+          bar: "M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",
+          // eslint-disable-next-line
+          stack: "M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"
+          // jshint ignore:line
+        },
+        // `line`, `bar`, `stack`, `tiled`
+        title: ecModel.getLocaleModel().get(["toolbox", "magicType", "title"]),
+        option: {},
+        seriesIndex: {}
+      };
+      return defaultOption2;
+    };
+    MagicType2.prototype.onclick = function(ecModel, api2, type2) {
+      var model2 = this.model;
+      var seriesIndex = model2.get(["seriesIndex", type2]);
+      if (!seriesOptGenreator[type2]) {
+        return;
+      }
+      var newOption = {
+        series: []
+      };
+      var generateNewSeriesTypes = function(seriesModel) {
+        var seriesType2 = seriesModel.subType;
+        var seriesId = seriesModel.id;
+        var newSeriesOpt = seriesOptGenreator[type2](seriesType2, seriesId, seriesModel, model2);
+        if (newSeriesOpt) {
+          defaults$2(newSeriesOpt, seriesModel.option);
+          newOption.series.push(newSeriesOpt);
+        }
+        var coordSys = seriesModel.coordinateSystem;
+        if (coordSys && coordSys.type === "cartesian2d" && (type2 === "line" || type2 === "bar")) {
+          var categoryAxis2 = coordSys.getAxesByScale("ordinal")[0];
+          if (categoryAxis2) {
+            var axisDim = categoryAxis2.dim;
+            var axisType = axisDim + "Axis";
+            var axisModel = seriesModel.getReferringComponents(axisType, SINGLE_REFERRING).models[0];
+            var axisIndex = axisModel.componentIndex;
+            newOption[axisType] = newOption[axisType] || [];
+            for (var i2 = 0; i2 <= axisIndex; i2++) {
+              newOption[axisType][axisIndex] = newOption[axisType][axisIndex] || {};
+            }
+            newOption[axisType][axisIndex].boundaryGap = type2 === "bar";
+          }
+        }
+      };
+      each$f(radioTypes, function(radio) {
+        if (indexOf(radio, type2) >= 0) {
+          each$f(radio, function(item) {
+            model2.setIconStatus(item, "normal");
+          });
+        }
+      });
+      model2.setIconStatus(type2, "emphasis");
+      ecModel.eachComponent({
+        mainType: "series",
+        query: seriesIndex == null ? null : {
+          seriesIndex
+        }
+      }, generateNewSeriesTypes);
+      var newTitle;
+      var currentType = type2;
+      if (type2 === "stack") {
+        newTitle = merge$1({
+          stack: model2.option.title.tiled,
+          tiled: model2.option.title.stack
+        }, model2.option.title);
+        if (model2.get(["iconStatus", type2]) !== "emphasis") {
+          currentType = "tiled";
+        }
+      }
+      api2.dispatchAction({
+        type: "changeMagicType",
+        currentType,
+        newOption,
+        newTitle,
+        featureName: "magicType"
+      });
+    };
+    return MagicType2;
+  }(ToolboxFeature)
+);
+var seriesOptGenreator = {
+  "line": function(seriesType2, seriesId, seriesModel, model2) {
+    if (seriesType2 === "bar") {
+      return merge$1({
+        id: seriesId,
+        type: "line",
+        // Preserve data related option
+        data: seriesModel.get("data"),
+        stack: seriesModel.get("stack"),
+        markPoint: seriesModel.get("markPoint"),
+        markLine: seriesModel.get("markLine")
+      }, model2.get(["option", "line"]) || {}, true);
+    }
+  },
+  "bar": function(seriesType2, seriesId, seriesModel, model2) {
+    if (seriesType2 === "line") {
+      return merge$1({
+        id: seriesId,
+        type: "bar",
+        // Preserve data related option
+        data: seriesModel.get("data"),
+        stack: seriesModel.get("stack"),
+        markPoint: seriesModel.get("markPoint"),
+        markLine: seriesModel.get("markLine")
+      }, model2.get(["option", "bar"]) || {}, true);
+    }
+  },
+  "stack": function(seriesType2, seriesId, seriesModel, model2) {
+    var isStack = seriesModel.get("stack") === INNER_STACK_KEYWORD;
+    if (seriesType2 === "line" || seriesType2 === "bar") {
+      model2.setIconStatus("stack", isStack ? "normal" : "emphasis");
+      return merge$1({
+        id: seriesId,
+        stack: isStack ? "" : INNER_STACK_KEYWORD
+      }, model2.get(["option", "stack"]) || {}, true);
+    }
+  }
+};
+registerAction({
+  type: "changeMagicType",
+  event: "magicTypeChanged",
+  update: "prepareAndUpdate"
+}, function(payload, ecModel) {
+  ecModel.mergeOption(payload.newOption);
+});
+const MagicType$1 = MagicType;
+var BLOCK_SPLITER = new Array(60).join("-");
+var ITEM_SPLITER = "	";
+function groupSeries(ecModel) {
+  var seriesGroupByCategoryAxis = {};
+  var otherSeries = [];
+  var meta = [];
+  ecModel.eachRawSeries(function(seriesModel) {
+    var coordSys = seriesModel.coordinateSystem;
+    if (coordSys && (coordSys.type === "cartesian2d" || coordSys.type === "polar")) {
+      var baseAxis = coordSys.getBaseAxis();
+      if (baseAxis.type === "category") {
+        var key2 = baseAxis.dim + "_" + baseAxis.index;
+        if (!seriesGroupByCategoryAxis[key2]) {
+          seriesGroupByCategoryAxis[key2] = {
+            categoryAxis: baseAxis,
+            valueAxis: coordSys.getOtherAxis(baseAxis),
+            series: []
+          };
+          meta.push({
+            axisDim: baseAxis.dim,
+            axisIndex: baseAxis.index
+          });
+        }
+        seriesGroupByCategoryAxis[key2].series.push(seriesModel);
+      } else {
+        otherSeries.push(seriesModel);
+      }
+    } else {
+      otherSeries.push(seriesModel);
+    }
+  });
+  return {
+    seriesGroupByCategoryAxis,
+    other: otherSeries,
+    meta
+  };
+}
+function assembleSeriesWithCategoryAxis(groups) {
+  var tables = [];
+  each$f(groups, function(group, key2) {
+    var categoryAxis2 = group.categoryAxis;
+    var valueAxis2 = group.valueAxis;
+    var valueAxisDim = valueAxis2.dim;
+    var headers = [" "].concat(map$1(group.series, function(series) {
+      return series.name;
+    }));
+    var columns = [categoryAxis2.model.getCategories()];
+    each$f(group.series, function(series) {
+      var rawData = series.getRawData();
+      columns.push(series.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function(val) {
+        return val;
+      }));
+    });
+    var lines2 = [headers.join(ITEM_SPLITER)];
+    for (var i2 = 0; i2 < columns[0].length; i2++) {
+      var items = [];
+      for (var j2 = 0; j2 < columns.length; j2++) {
+        items.push(columns[j2][i2]);
+      }
+      lines2.push(items.join(ITEM_SPLITER));
+    }
+    tables.push(lines2.join("\n"));
+  });
+  return tables.join("\n\n" + BLOCK_SPLITER + "\n\n");
+}
+function assembleOtherSeries(series) {
+  return map$1(series, function(series2) {
+    var data2 = series2.getRawData();
+    var lines2 = [series2.name];
+    var vals = [];
+    data2.each(data2.dimensions, function() {
+      var argLen = arguments.length;
+      var dataIndex = arguments[argLen - 1];
+      var name2 = data2.getName(dataIndex);
+      for (var i2 = 0; i2 < argLen - 1; i2++) {
+        vals[i2] = arguments[i2];
+      }
+      lines2.push((name2 ? name2 + ITEM_SPLITER : "") + vals.join(ITEM_SPLITER));
+    });
+    return lines2.join("\n");
+  }).join("\n\n" + BLOCK_SPLITER + "\n\n");
+}
+function getContentFromModel(ecModel) {
+  var result2 = groupSeries(ecModel);
+  return {
+    value: filter([assembleSeriesWithCategoryAxis(result2.seriesGroupByCategoryAxis), assembleOtherSeries(result2.other)], function(str) {
+      return !!str.replace(/[\n\t\s]/g, "");
+    }).join("\n\n" + BLOCK_SPLITER + "\n\n"),
+    meta: result2.meta
+  };
+}
+function trim$1(str) {
+  return str.replace(/^\s\s*/, "").replace(/\s\s*$/, "");
+}
+function isTSVFormat(block) {
+  var firstLine = block.slice(0, block.indexOf("\n"));
+  if (firstLine.indexOf(ITEM_SPLITER) >= 0) {
+    return true;
+  }
+}
+var itemSplitRegex = new RegExp("[" + ITEM_SPLITER + "]+", "g");
+function parseTSVContents(tsv) {
+  var tsvLines = tsv.split(/\n+/g);
+  var headers = trim$1(tsvLines.shift()).split(itemSplitRegex);
+  var categories = [];
+  var series = map$1(headers, function(header) {
+    return {
+      name: header,
+      data: []
+    };
+  });
+  for (var i2 = 0; i2 < tsvLines.length; i2++) {
+    var items = trim$1(tsvLines[i2]).split(itemSplitRegex);
+    categories.push(items.shift());
+    for (var j2 = 0; j2 < items.length; j2++) {
+      series[j2] && (series[j2].data[i2] = items[j2]);
+    }
+  }
+  return {
+    series,
+    categories
+  };
+}
+function parseListContents(str) {
+  var lines2 = str.split(/\n+/g);
+  var seriesName = trim$1(lines2.shift());
+  var data2 = [];
+  for (var i2 = 0; i2 < lines2.length; i2++) {
+    var line2 = trim$1(lines2[i2]);
+    if (!line2) {
+      continue;
+    }
+    var items = line2.split(itemSplitRegex);
+    var name_1 = "";
+    var value = void 0;
+    var hasName = false;
+    if (isNaN(items[0])) {
+      hasName = true;
+      name_1 = items[0];
+      items = items.slice(1);
+      data2[i2] = {
+        name: name_1,
+        value: []
+      };
+      value = data2[i2].value;
+    } else {
+      value = data2[i2] = [];
+    }
+    for (var j2 = 0; j2 < items.length; j2++) {
+      value.push(+items[j2]);
+    }
+    if (value.length === 1) {
+      hasName ? data2[i2].value = value[0] : data2[i2] = value[0];
+    }
+  }
+  return {
+    name: seriesName,
+    data: data2
+  };
+}
+function parseContents(str, blockMetaList) {
+  var blocks = str.split(new RegExp("\n*" + BLOCK_SPLITER + "\n*", "g"));
+  var newOption = {
+    series: []
+  };
+  each$f(blocks, function(block, idx) {
+    if (isTSVFormat(block)) {
+      var result2 = parseTSVContents(block);
+      var blockMeta = blockMetaList[idx];
+      var axisKey = blockMeta.axisDim + "Axis";
+      if (blockMeta) {
+        newOption[axisKey] = newOption[axisKey] || [];
+        newOption[axisKey][blockMeta.axisIndex] = {
+          data: result2.categories
+        };
+        newOption.series = newOption.series.concat(result2.series);
+      }
+    } else {
+      var result2 = parseListContents(block);
+      newOption.series.push(result2);
+    }
+  });
+  return newOption;
+}
+var DataView = (
+  /** @class */
+  function(_super) {
+    __extends(DataView2, _super);
+    function DataView2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    DataView2.prototype.onclick = function(ecModel, api2) {
+      setTimeout(function() {
+        api2.dispatchAction({
+          type: "hideTip"
+        });
+      });
+      var container = api2.getDom();
+      var model2 = this.model;
+      if (this._dom) {
+        container.removeChild(this._dom);
+      }
+      var root = document.createElement("div");
+      root.style.cssText = "position:absolute;top:0;bottom:0;left:0;right:0;padding:5px";
+      root.style.backgroundColor = model2.get("backgroundColor") || "#fff";
+      var header = document.createElement("h4");
+      var lang2 = model2.get("lang") || [];
+      header.innerHTML = lang2[0] || model2.get("title");
+      header.style.cssText = "margin:10px 20px";
+      header.style.color = model2.get("textColor");
+      var viewMain = document.createElement("div");
+      var textarea = document.createElement("textarea");
+      viewMain.style.cssText = "overflow:auto";
+      var optionToContent = model2.get("optionToContent");
+      var contentToOption = model2.get("contentToOption");
+      var result2 = getContentFromModel(ecModel);
+      if (isFunction$1(optionToContent)) {
+        var htmlOrDom = optionToContent(api2.getOption());
+        if (isString$1(htmlOrDom)) {
+          viewMain.innerHTML = htmlOrDom;
+        } else if (isDom(htmlOrDom)) {
+          viewMain.appendChild(htmlOrDom);
+        }
+      } else {
+        textarea.readOnly = model2.get("readOnly");
+        var style2 = textarea.style;
+        style2.cssText = "display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none";
+        style2.color = model2.get("textColor");
+        style2.borderColor = model2.get("textareaBorderColor");
+        style2.backgroundColor = model2.get("textareaColor");
+        textarea.value = result2.value;
+        viewMain.appendChild(textarea);
+      }
+      var blockMetaList = result2.meta;
+      var buttonContainer = document.createElement("div");
+      buttonContainer.style.cssText = "position:absolute;bottom:5px;left:0;right:0";
+      var buttonStyle = "float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px";
+      var closeButton = document.createElement("div");
+      var refreshButton = document.createElement("div");
+      buttonStyle += ";background-color:" + model2.get("buttonColor");
+      buttonStyle += ";color:" + model2.get("buttonTextColor");
+      var self2 = this;
+      function close2() {
+        container.removeChild(root);
+        self2._dom = null;
+      }
+      addEventListener(closeButton, "click", close2);
+      addEventListener(refreshButton, "click", function() {
+        if (contentToOption == null && optionToContent != null || contentToOption != null && optionToContent == null) {
+          close2();
+          return;
+        }
+        var newOption;
+        try {
+          if (isFunction$1(contentToOption)) {
+            newOption = contentToOption(viewMain, api2.getOption());
+          } else {
+            newOption = parseContents(textarea.value, blockMetaList);
+          }
+        } catch (e2) {
+          close2();
+          throw new Error("Data view format error " + e2);
+        }
+        if (newOption) {
+          api2.dispatchAction({
+            type: "changeDataView",
+            newOption
+          });
+        }
+        close2();
+      });
+      closeButton.innerHTML = lang2[1];
+      refreshButton.innerHTML = lang2[2];
+      refreshButton.style.cssText = closeButton.style.cssText = buttonStyle;
+      !model2.get("readOnly") && buttonContainer.appendChild(refreshButton);
+      buttonContainer.appendChild(closeButton);
+      root.appendChild(header);
+      root.appendChild(viewMain);
+      root.appendChild(buttonContainer);
+      viewMain.style.height = container.clientHeight - 80 + "px";
+      container.appendChild(root);
+      this._dom = root;
+    };
+    DataView2.prototype.remove = function(ecModel, api2) {
+      this._dom && api2.getDom().removeChild(this._dom);
+    };
+    DataView2.prototype.dispose = function(ecModel, api2) {
+      this.remove(ecModel, api2);
+    };
+    DataView2.getDefaultOption = function(ecModel) {
+      var defaultOption2 = {
+        show: true,
+        readOnly: false,
+        optionToContent: null,
+        contentToOption: null,
+        // eslint-disable-next-line
+        icon: "M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",
+        title: ecModel.getLocaleModel().get(["toolbox", "dataView", "title"]),
+        lang: ecModel.getLocaleModel().get(["toolbox", "dataView", "lang"]),
+        backgroundColor: "#fff",
+        textColor: "#000",
+        textareaColor: "#fff",
+        textareaBorderColor: "#333",
+        buttonColor: "#c23531",
+        buttonTextColor: "#fff"
+      };
+      return defaultOption2;
+    };
+    return DataView2;
+  }(ToolboxFeature)
+);
+function tryMergeDataOption(newData, originalData) {
+  return map$1(newData, function(newVal, idx) {
+    var original = originalData && originalData[idx];
+    if (isObject$4(original) && !isArray$2(original)) {
+      var newValIsObject = isObject$4(newVal) && !isArray$2(newVal);
+      if (!newValIsObject) {
+        newVal = {
+          value: newVal
+        };
+      }
+      var shouldDeleteName = original.name != null && newVal.name == null;
+      newVal = defaults$2(newVal, original);
+      shouldDeleteName && delete newVal.name;
+      return newVal;
+    } else {
+      return newVal;
+    }
+  });
+}
+registerAction({
+  type: "changeDataView",
+  event: "dataViewChanged",
+  update: "prepareAndUpdate"
+}, function(payload, ecModel) {
+  var newSeriesOptList = [];
+  each$f(payload.newOption.series, function(seriesOpt) {
+    var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];
+    if (!seriesModel) {
+      newSeriesOptList.push(extend$1({
+        // Default is scatter
+        type: "scatter"
+      }, seriesOpt));
+    } else {
+      var originalData = seriesModel.get("data");
+      newSeriesOptList.push({
+        name: seriesOpt.name,
+        data: tryMergeDataOption(seriesOpt.data, originalData)
+      });
+    }
+  });
+  ecModel.mergeOption(defaults$2({
+    series: newSeriesOptList
+  }, payload.newOption));
+});
+const DataView$1 = DataView;
+var each$6 = each$f;
+var inner$6 = makeInner();
+function push(ecModel, newSnapshot) {
+  var storedSnapshots = getStoreSnapshots(ecModel);
+  each$6(newSnapshot, function(batchItem, dataZoomId) {
+    var i2 = storedSnapshots.length - 1;
+    for (; i2 >= 0; i2--) {
+      var snapshot = storedSnapshots[i2];
+      if (snapshot[dataZoomId]) {
+        break;
+      }
+    }
+    if (i2 < 0) {
+      var dataZoomModel = ecModel.queryComponents({
+        mainType: "dataZoom",
+        subType: "select",
+        id: dataZoomId
+      })[0];
+      if (dataZoomModel) {
+        var percentRange = dataZoomModel.getPercentRange();
+        storedSnapshots[0][dataZoomId] = {
+          dataZoomId,
+          start: percentRange[0],
+          end: percentRange[1]
+        };
+      }
+    }
+  });
+  storedSnapshots.push(newSnapshot);
+}
+function pop(ecModel) {
+  var storedSnapshots = getStoreSnapshots(ecModel);
+  var head = storedSnapshots[storedSnapshots.length - 1];
+  storedSnapshots.length > 1 && storedSnapshots.pop();
+  var snapshot = {};
+  each$6(head, function(batchItem, dataZoomId) {
+    for (var i2 = storedSnapshots.length - 1; i2 >= 0; i2--) {
+      batchItem = storedSnapshots[i2][dataZoomId];
+      if (batchItem) {
+        snapshot[dataZoomId] = batchItem;
+        break;
+      }
+    }
+  });
+  return snapshot;
+}
+function clear(ecModel) {
+  inner$6(ecModel).snapshots = null;
+}
+function count(ecModel) {
+  return getStoreSnapshots(ecModel).length;
+}
+function getStoreSnapshots(ecModel) {
+  var store = inner$6(ecModel);
+  if (!store.snapshots) {
+    store.snapshots = [{}];
+  }
+  return store.snapshots;
+}
+var RestoreOption = (
+  /** @class */
+  function(_super) {
+    __extends(RestoreOption2, _super);
+    function RestoreOption2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    RestoreOption2.prototype.onclick = function(ecModel, api2) {
+      clear(ecModel);
+      api2.dispatchAction({
+        type: "restore",
+        from: this.uid
+      });
+    };
+    RestoreOption2.getDefaultOption = function(ecModel) {
+      var defaultOption2 = {
+        show: true,
+        // eslint-disable-next-line
+        icon: "M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",
+        title: ecModel.getLocaleModel().get(["toolbox", "restore", "title"])
+      };
+      return defaultOption2;
+    };
+    return RestoreOption2;
+  }(ToolboxFeature)
+);
+registerAction({
+  type: "restore",
+  event: "restore",
+  update: "prepareAndUpdate"
+}, function(payload, ecModel) {
+  ecModel.resetOption("recreate");
+});
+const Restore = RestoreOption;
+var INCLUDE_FINDER_MAIN_TYPES = ["grid", "xAxis", "yAxis", "geo", "graph", "polar", "radiusAxis", "angleAxis", "bmap"];
+var BrushTargetManager = (
+  /** @class */
+  function() {
+    function BrushTargetManager2(finder, ecModel, opt) {
+      var _this = this;
+      this._targetInfoList = [];
+      var foundCpts = parseFinder(ecModel, finder);
+      each$f(targetInfoBuilders, function(builder, type2) {
+        if (!opt || !opt.include || indexOf(opt.include, type2) >= 0) {
+          builder(foundCpts, _this._targetInfoList);
+        }
+      });
+    }
+    BrushTargetManager2.prototype.setOutputRanges = function(areas, ecModel) {
+      this.matchOutputRanges(areas, ecModel, function(area, coordRange, coordSys) {
+        (area.coordRanges || (area.coordRanges = [])).push(coordRange);
+        if (!area.coordRange) {
+          area.coordRange = coordRange;
+          var result2 = coordConvert[area.brushType](0, coordSys, coordRange);
+          area.__rangeOffset = {
+            offset: diffProcessor[area.brushType](result2.values, area.range, [1, 1]),
+            xyMinMax: result2.xyMinMax
+          };
+        }
+      });
+      return areas;
+    };
+    BrushTargetManager2.prototype.matchOutputRanges = function(areas, ecModel, cb) {
+      each$f(areas, function(area) {
+        var targetInfo = this.findTargetInfo(area, ecModel);
+        if (targetInfo && targetInfo !== true) {
+          each$f(targetInfo.coordSyses, function(coordSys) {
+            var result2 = coordConvert[area.brushType](1, coordSys, area.range, true);
+            cb(area, result2.values, coordSys, ecModel);
+          });
+        }
+      }, this);
+    };
+    BrushTargetManager2.prototype.setInputRanges = function(areas, ecModel) {
+      each$f(areas, function(area) {
+        var targetInfo = this.findTargetInfo(area, ecModel);
+        area.range = area.range || [];
+        if (targetInfo && targetInfo !== true) {
+          area.panelId = targetInfo.panelId;
+          var result2 = coordConvert[area.brushType](0, targetInfo.coordSys, area.coordRange);
+          var rangeOffset = area.__rangeOffset;
+          area.range = rangeOffset ? diffProcessor[area.brushType](result2.values, rangeOffset.offset, getScales(result2.xyMinMax, rangeOffset.xyMinMax)) : result2.values;
+        }
+      }, this);
+    };
+    BrushTargetManager2.prototype.makePanelOpts = function(api2, getDefaultBrushType) {
+      return map$1(this._targetInfoList, function(targetInfo) {
+        var rect = targetInfo.getPanelRect();
+        return {
+          panelId: targetInfo.panelId,
+          defaultBrushType: getDefaultBrushType ? getDefaultBrushType(targetInfo) : null,
+          clipPath: makeRectPanelClipPath(rect),
+          isTargetByCursor: makeRectIsTargetByCursor(rect, api2, targetInfo.coordSysModel),
+          getLinearBrushOtherExtent: makeLinearBrushOtherExtent(rect)
+        };
+      });
+    };
+    BrushTargetManager2.prototype.controlSeries = function(area, seriesModel, ecModel) {
+      var targetInfo = this.findTargetInfo(area, ecModel);
+      return targetInfo === true || targetInfo && indexOf(targetInfo.coordSyses, seriesModel.coordinateSystem) >= 0;
+    };
+    BrushTargetManager2.prototype.findTargetInfo = function(area, ecModel) {
+      var targetInfoList = this._targetInfoList;
+      var foundCpts = parseFinder(ecModel, area);
+      for (var i2 = 0; i2 < targetInfoList.length; i2++) {
+        var targetInfo = targetInfoList[i2];
+        var areaPanelId = area.panelId;
+        if (areaPanelId) {
+          if (targetInfo.panelId === areaPanelId) {
+            return targetInfo;
+          }
+        } else {
+          for (var j2 = 0; j2 < targetInfoMatchers.length; j2++) {
+            if (targetInfoMatchers[j2](foundCpts, targetInfo)) {
+              return targetInfo;
+            }
+          }
+        }
+      }
+      return true;
+    };
+    return BrushTargetManager2;
+  }()
+);
+function formatMinMax(minMax) {
+  minMax[0] > minMax[1] && minMax.reverse();
+  return minMax;
+}
+function parseFinder(ecModel, finder) {
+  return parseFinder$1(ecModel, finder, {
+    includeMainTypes: INCLUDE_FINDER_MAIN_TYPES
+  });
+}
+var targetInfoBuilders = {
+  grid: function(foundCpts, targetInfoList) {
+    var xAxisModels = foundCpts.xAxisModels;
+    var yAxisModels = foundCpts.yAxisModels;
+    var gridModels = foundCpts.gridModels;
+    var gridModelMap = createHashMap();
+    var xAxesHas = {};
+    var yAxesHas = {};
+    if (!xAxisModels && !yAxisModels && !gridModels) {
+      return;
+    }
+    each$f(xAxisModels, function(axisModel) {
+      var gridModel = axisModel.axis.grid.model;
+      gridModelMap.set(gridModel.id, gridModel);
+      xAxesHas[gridModel.id] = true;
+    });
+    each$f(yAxisModels, function(axisModel) {
+      var gridModel = axisModel.axis.grid.model;
+      gridModelMap.set(gridModel.id, gridModel);
+      yAxesHas[gridModel.id] = true;
+    });
+    each$f(gridModels, function(gridModel) {
+      gridModelMap.set(gridModel.id, gridModel);
+      xAxesHas[gridModel.id] = true;
+      yAxesHas[gridModel.id] = true;
+    });
+    gridModelMap.each(function(gridModel) {
+      var grid2 = gridModel.coordinateSystem;
+      var cartesians = [];
+      each$f(grid2.getCartesians(), function(cartesian, index3) {
+        if (indexOf(xAxisModels, cartesian.getAxis("x").model) >= 0 || indexOf(yAxisModels, cartesian.getAxis("y").model) >= 0) {
+          cartesians.push(cartesian);
+        }
+      });
+      targetInfoList.push({
+        panelId: "grid--" + gridModel.id,
+        gridModel,
+        coordSysModel: gridModel,
+        // Use the first one as the representitive coordSys.
+        coordSys: cartesians[0],
+        coordSyses: cartesians,
+        getPanelRect: panelRectBuilders.grid,
+        xAxisDeclared: xAxesHas[gridModel.id],
+        yAxisDeclared: yAxesHas[gridModel.id]
+      });
+    });
+  },
+  geo: function(foundCpts, targetInfoList) {
+    each$f(foundCpts.geoModels, function(geoModel) {
+      var coordSys = geoModel.coordinateSystem;
+      targetInfoList.push({
+        panelId: "geo--" + geoModel.id,
+        geoModel,
+        coordSysModel: geoModel,
+        coordSys,
+        coordSyses: [coordSys],
+        getPanelRect: panelRectBuilders.geo
+      });
+    });
+  }
+};
+var targetInfoMatchers = [
+  // grid
+  function(foundCpts, targetInfo) {
+    var xAxisModel = foundCpts.xAxisModel;
+    var yAxisModel = foundCpts.yAxisModel;
+    var gridModel = foundCpts.gridModel;
+    !gridModel && xAxisModel && (gridModel = xAxisModel.axis.grid.model);
+    !gridModel && yAxisModel && (gridModel = yAxisModel.axis.grid.model);
+    return gridModel && gridModel === targetInfo.gridModel;
+  },
+  // geo
+  function(foundCpts, targetInfo) {
+    var geoModel = foundCpts.geoModel;
+    return geoModel && geoModel === targetInfo.geoModel;
+  }
+];
+var panelRectBuilders = {
+  grid: function() {
+    return this.coordSys.master.getRect().clone();
+  },
+  geo: function() {
+    var coordSys = this.coordSys;
+    var rect = coordSys.getBoundingRect().clone();
+    rect.applyTransform(getTransform$1(coordSys));
+    return rect;
+  }
+};
+var coordConvert = {
+  lineX: curry$1(axisConvert, 0),
+  lineY: curry$1(axisConvert, 1),
+  rect: function(to, coordSys, rangeOrCoordRange, clamp2) {
+    var xminymin = to ? coordSys.pointToData([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]], clamp2) : coordSys.dataToPoint([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]], clamp2);
+    var xmaxymax = to ? coordSys.pointToData([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]], clamp2) : coordSys.dataToPoint([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]], clamp2);
+    var values = [formatMinMax([xminymin[0], xmaxymax[0]]), formatMinMax([xminymin[1], xmaxymax[1]])];
+    return {
+      values,
+      xyMinMax: values
+    };
+  },
+  polygon: function(to, coordSys, rangeOrCoordRange, clamp2) {
+    var xyMinMax = [[Infinity, -Infinity], [Infinity, -Infinity]];
+    var values = map$1(rangeOrCoordRange, function(item) {
+      var p2 = to ? coordSys.pointToData(item, clamp2) : coordSys.dataToPoint(item, clamp2);
+      xyMinMax[0][0] = Math.min(xyMinMax[0][0], p2[0]);
+      xyMinMax[1][0] = Math.min(xyMinMax[1][0], p2[1]);
+      xyMinMax[0][1] = Math.max(xyMinMax[0][1], p2[0]);
+      xyMinMax[1][1] = Math.max(xyMinMax[1][1], p2[1]);
+      return p2;
+    });
+    return {
+      values,
+      xyMinMax
+    };
+  }
+};
+function axisConvert(axisNameIndex, to, coordSys, rangeOrCoordRange) {
+  var axis2 = coordSys.getAxis(["x", "y"][axisNameIndex]);
+  var values = formatMinMax(map$1([0, 1], function(i2) {
+    return to ? axis2.coordToData(axis2.toLocalCoord(rangeOrCoordRange[i2]), true) : axis2.toGlobalCoord(axis2.dataToCoord(rangeOrCoordRange[i2]));
+  }));
+  var xyMinMax = [];
+  xyMinMax[axisNameIndex] = values;
+  xyMinMax[1 - axisNameIndex] = [NaN, NaN];
+  return {
+    values,
+    xyMinMax
+  };
+}
+var diffProcessor = {
+  lineX: curry$1(axisDiffProcessor, 0),
+  lineY: curry$1(axisDiffProcessor, 1),
+  rect: function(values, refer, scales) {
+    return [[values[0][0] - scales[0] * refer[0][0], values[0][1] - scales[0] * refer[0][1]], [values[1][0] - scales[1] * refer[1][0], values[1][1] - scales[1] * refer[1][1]]];
+  },
+  polygon: function(values, refer, scales) {
+    return map$1(values, function(item, idx) {
+      return [item[0] - scales[0] * refer[idx][0], item[1] - scales[1] * refer[idx][1]];
+    });
+  }
+};
+function axisDiffProcessor(axisNameIndex, values, refer, scales) {
+  return [values[0] - scales[axisNameIndex] * refer[0], values[1] - scales[axisNameIndex] * refer[1]];
+}
+function getScales(xyMinMaxCurr, xyMinMaxOrigin) {
+  var sizeCurr = getSize(xyMinMaxCurr);
+  var sizeOrigin = getSize(xyMinMaxOrigin);
+  var scales = [sizeCurr[0] / sizeOrigin[0], sizeCurr[1] / sizeOrigin[1]];
+  isNaN(scales[0]) && (scales[0] = 1);
+  isNaN(scales[1]) && (scales[1] = 1);
+  return scales;
+}
+function getSize(xyMinMax) {
+  return xyMinMax ? [xyMinMax[0][1] - xyMinMax[0][0], xyMinMax[1][1] - xyMinMax[1][0]] : [NaN, NaN];
+}
+const BrushTargetManager$1 = BrushTargetManager;
+var each$5 = each$f;
+var DATA_ZOOM_ID_BASE = makeInternalComponentId("toolbox-dataZoom_");
+var DataZoomFeature = (
+  /** @class */
+  function(_super) {
+    __extends(DataZoomFeature2, _super);
+    function DataZoomFeature2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    DataZoomFeature2.prototype.render = function(featureModel, ecModel, api2, payload) {
+      if (!this._brushController) {
+        this._brushController = new BrushController$1(api2.getZr());
+        this._brushController.on("brush", bind$2(this._onBrush, this)).mount();
+      }
+      updateZoomBtnStatus(featureModel, ecModel, this, payload, api2);
+      updateBackBtnStatus(featureModel, ecModel);
+    };
+    DataZoomFeature2.prototype.onclick = function(ecModel, api2, type2) {
+      handlers[type2].call(this);
+    };
+    DataZoomFeature2.prototype.remove = function(ecModel, api2) {
+      this._brushController && this._brushController.unmount();
+    };
+    DataZoomFeature2.prototype.dispose = function(ecModel, api2) {
+      this._brushController && this._brushController.dispose();
+    };
+    DataZoomFeature2.prototype._onBrush = function(eventParam) {
+      var areas = eventParam.areas;
+      if (!eventParam.isEnd || !areas.length) {
+        return;
+      }
+      var snapshot = {};
+      var ecModel = this.ecModel;
+      this._brushController.updateCovers([]);
+      var brushTargetManager = new BrushTargetManager$1(makeAxisFinder(this.model), ecModel, {
+        include: ["grid"]
+      });
+      brushTargetManager.matchOutputRanges(areas, ecModel, function(area, coordRange, coordSys) {
+        if (coordSys.type !== "cartesian2d") {
+          return;
+        }
+        var brushType = area.brushType;
+        if (brushType === "rect") {
+          setBatch("x", coordSys, coordRange[0]);
+          setBatch("y", coordSys, coordRange[1]);
+        } else {
+          setBatch({
+            lineX: "x",
+            lineY: "y"
+          }[brushType], coordSys, coordRange);
+        }
+      });
+      push(ecModel, snapshot);
+      this._dispatchZoomAction(snapshot);
+      function setBatch(dimName, coordSys, minMax) {
+        var axis2 = coordSys.getAxis(dimName);
+        var axisModel = axis2.model;
+        var dataZoomModel = findDataZoom(dimName, axisModel, ecModel);
+        var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy(axisModel).getMinMaxSpan();
+        if (minMaxSpan.minValueSpan != null || minMaxSpan.maxValueSpan != null) {
+          minMax = sliderMove(0, minMax.slice(), axis2.scale.getExtent(), 0, minMaxSpan.minValueSpan, minMaxSpan.maxValueSpan);
+        }
+        dataZoomModel && (snapshot[dataZoomModel.id] = {
+          dataZoomId: dataZoomModel.id,
+          startValue: minMax[0],
+          endValue: minMax[1]
+        });
+      }
+      function findDataZoom(dimName, axisModel, ecModel2) {
+        var found;
+        ecModel2.eachComponent({
+          mainType: "dataZoom",
+          subType: "select"
+        }, function(dzModel) {
+          var has2 = dzModel.getAxisModel(dimName, axisModel.componentIndex);
+          has2 && (found = dzModel);
+        });
+        return found;
+      }
+    };
+    DataZoomFeature2.prototype._dispatchZoomAction = function(snapshot) {
+      var batch = [];
+      each$5(snapshot, function(batchItem, dataZoomId) {
+        batch.push(clone$4(batchItem));
+      });
+      batch.length && this.api.dispatchAction({
+        type: "dataZoom",
+        from: this.uid,
+        batch
+      });
+    };
+    DataZoomFeature2.getDefaultOption = function(ecModel) {
+      var defaultOption2 = {
+        show: true,
+        filterMode: "filter",
+        // Icon group
+        icon: {
+          zoom: "M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",
+          back: "M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"
+        },
+        // `zoom`, `back`
+        title: ecModel.getLocaleModel().get(["toolbox", "dataZoom", "title"]),
+        brushStyle: {
+          borderWidth: 0,
+          color: "rgba(210,219,238,0.2)"
+        }
+      };
+      return defaultOption2;
+    };
+    return DataZoomFeature2;
+  }(ToolboxFeature)
+);
+var handlers = {
+  zoom: function() {
+    var nextActive = !this._isZoomActive;
+    this.api.dispatchAction({
+      type: "takeGlobalCursor",
+      key: "dataZoomSelect",
+      dataZoomSelectActive: nextActive
+    });
+  },
+  back: function() {
+    this._dispatchZoomAction(pop(this.ecModel));
+  }
+};
+function makeAxisFinder(dzFeatureModel) {
+  var setting = {
+    xAxisIndex: dzFeatureModel.get("xAxisIndex", true),
+    yAxisIndex: dzFeatureModel.get("yAxisIndex", true),
+    xAxisId: dzFeatureModel.get("xAxisId", true),
+    yAxisId: dzFeatureModel.get("yAxisId", true)
+  };
+  if (setting.xAxisIndex == null && setting.xAxisId == null) {
+    setting.xAxisIndex = "all";
+  }
+  if (setting.yAxisIndex == null && setting.yAxisId == null) {
+    setting.yAxisIndex = "all";
+  }
+  return setting;
+}
+function updateBackBtnStatus(featureModel, ecModel) {
+  featureModel.setIconStatus("back", count(ecModel) > 1 ? "emphasis" : "normal");
+}
+function updateZoomBtnStatus(featureModel, ecModel, view, payload, api2) {
+  var zoomActive = view._isZoomActive;
+  if (payload && payload.type === "takeGlobalCursor") {
+    zoomActive = payload.key === "dataZoomSelect" ? payload.dataZoomSelectActive : false;
+  }
+  view._isZoomActive = zoomActive;
+  featureModel.setIconStatus("zoom", zoomActive ? "emphasis" : "normal");
+  var brushTargetManager = new BrushTargetManager$1(makeAxisFinder(featureModel), ecModel, {
+    include: ["grid"]
+  });
+  var panels = brushTargetManager.makePanelOpts(api2, function(targetInfo) {
+    return targetInfo.xAxisDeclared && !targetInfo.yAxisDeclared ? "lineX" : !targetInfo.xAxisDeclared && targetInfo.yAxisDeclared ? "lineY" : "rect";
+  });
+  view._brushController.setPanels(panels).enableBrush(zoomActive && panels.length ? {
+    brushType: "auto",
+    brushStyle: featureModel.getModel("brushStyle").getItemStyle()
+  } : false);
+}
+registerInternalOptionCreator("dataZoom", function(ecModel) {
+  var toolboxModel = ecModel.getComponent("toolbox", 0);
+  var featureDataZoomPath = ["feature", "dataZoom"];
+  if (!toolboxModel || toolboxModel.get(featureDataZoomPath) == null) {
+    return;
+  }
+  var dzFeatureModel = toolboxModel.getModel(featureDataZoomPath);
+  var dzOptions = [];
+  var finder = makeAxisFinder(dzFeatureModel);
+  var finderResult = parseFinder$1(ecModel, finder);
+  each$5(finderResult.xAxisModels, function(axisModel) {
+    return buildInternalOptions(axisModel, "xAxis", "xAxisIndex");
+  });
+  each$5(finderResult.yAxisModels, function(axisModel) {
+    return buildInternalOptions(axisModel, "yAxis", "yAxisIndex");
+  });
+  function buildInternalOptions(axisModel, axisMainType, axisIndexPropName) {
+    var axisIndex = axisModel.componentIndex;
+    var newOpt = {
+      type: "select",
+      $fromToolbox: true,
+      // Default to be filter
+      filterMode: dzFeatureModel.get("filterMode", true) || "filter",
+      // Id for merge mapping.
+      id: DATA_ZOOM_ID_BASE + axisMainType + axisIndex
+    };
+    newOpt[axisIndexPropName] = axisIndex;
+    dzOptions.push(newOpt);
+  }
+  return dzOptions;
+});
+const DataZoom = DataZoomFeature;
+function install$j(registers) {
+  registers.registerComponentModel(ToolboxModel$1);
+  registers.registerComponentView(ToolboxView$1);
+  registerFeature("saveAsImage", SaveAsImage$1);
+  registerFeature("magicType", MagicType$1);
+  registerFeature("dataView", DataView$1);
+  registerFeature("dataZoom", DataZoom);
+  registerFeature("restore", Restore);
+  use(install$k);
+}
+var TooltipModel = (
+  /** @class */
+  function(_super) {
+    __extends(TooltipModel2, _super);
+    function TooltipModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TooltipModel2.type;
+      return _this;
+    }
+    TooltipModel2.type = "tooltip";
+    TooltipModel2.dependencies = ["axisPointer"];
+    TooltipModel2.defaultOption = {
+      // zlevel: 0,
+      z: 60,
+      show: true,
+      // tooltip main content
+      showContent: true,
+      // 'trigger' only works on coordinate system.
+      // 'item' | 'axis' | 'none'
+      trigger: "item",
+      // 'click' | 'mousemove' | 'none'
+      triggerOn: "mousemove|click",
+      alwaysShowContent: false,
+      displayMode: "single",
+      renderMode: "auto",
+      // whether restraint content inside viewRect.
+      // If renderMode: 'richText', default true.
+      // If renderMode: 'html', defaut false (for backward compat).
+      confine: null,
+      showDelay: 0,
+      hideDelay: 100,
+      // Animation transition time, unit is second
+      transitionDuration: 0.4,
+      enterable: false,
+      backgroundColor: "#fff",
+      // box shadow
+      shadowBlur: 10,
+      shadowColor: "rgba(0, 0, 0, .2)",
+      shadowOffsetX: 1,
+      shadowOffsetY: 2,
+      // tooltip border radius, unit is px, default is 4
+      borderRadius: 4,
+      // tooltip border width, unit is px, default is 0 (no border)
+      borderWidth: 1,
+      // Tooltip inside padding, default is 5 for all direction
+      // Array is allowed to set up, right, bottom, left, same with css
+      // The default value: See `tooltip/tooltipMarkup.ts#getPaddingFromTooltipModel`.
+      padding: null,
+      // Extra css text
+      extraCssText: "",
+      // axis indicator, trigger by axis
+      axisPointer: {
+        // default is line
+        // legal values: 'line' | 'shadow' | 'cross'
+        type: "line",
+        // Valid when type is line, appoint tooltip line locate on which line. Optional
+        // legal values: 'x' | 'y' | 'angle' | 'radius' | 'auto'
+        // default is 'auto', chose the axis which type is category.
+        // for multiply y axis, cartesian coord chose x axis, polar chose angle axis
+        axis: "auto",
+        animation: "auto",
+        animationDurationUpdate: 200,
+        animationEasingUpdate: "exponentialOut",
+        crossStyle: {
+          color: "#999",
+          width: 1,
+          type: "dashed",
+          // TODO formatter
+          textStyle: {}
+        }
+        // lineStyle and shadowStyle should not be specified here,
+        // otherwise it will always override those styles on option.axisPointer.
+      },
+      textStyle: {
+        color: "#666",
+        fontSize: 14
+      }
+    };
+    return TooltipModel2;
+  }(ComponentModel$1)
+);
+const TooltipModel$1 = TooltipModel;
+function shouldTooltipConfine(tooltipModel) {
+  var confineOption = tooltipModel.get("confine");
+  return confineOption != null ? !!confineOption : tooltipModel.get("renderMode") === "richText";
+}
+function testStyle(styleProps) {
+  if (!env$1.domSupported) {
+    return;
+  }
+  var style2 = document.documentElement.style;
+  for (var i2 = 0, len2 = styleProps.length; i2 < len2; i2++) {
+    if (styleProps[i2] in style2) {
+      return styleProps[i2];
+    }
+  }
+}
+var TRANSFORM_VENDOR = testStyle(["transform", "webkitTransform", "OTransform", "MozTransform", "msTransform"]);
+var TRANSITION_VENDOR = testStyle(["webkitTransition", "transition", "OTransition", "MozTransition", "msTransition"]);
+function toCSSVendorPrefix(styleVendor, styleProp) {
+  if (!styleVendor) {
+    return styleProp;
+  }
+  styleProp = toCamelCase$1(styleProp, true);
+  var idx = styleVendor.indexOf(styleProp);
+  styleVendor = idx === -1 ? styleProp : "-" + styleVendor.slice(0, idx) + "-" + styleProp;
+  return styleVendor.toLowerCase();
+}
+function getComputedStyle$1(el, style2) {
+  var stl = el.currentStyle || document.defaultView && document.defaultView.getComputedStyle(el);
+  return stl ? style2 ? stl[style2] : stl : null;
+}
+var CSS_TRANSITION_VENDOR = toCSSVendorPrefix(TRANSITION_VENDOR, "transition");
+var CSS_TRANSFORM_VENDOR = toCSSVendorPrefix(TRANSFORM_VENDOR, "transform");
+var gCssText = "position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;" + (env$1.transform3dSupported ? "will-change:transform;" : "");
+function mirrorPos(pos) {
+  pos = pos === "left" ? "right" : pos === "right" ? "left" : pos === "top" ? "bottom" : "top";
+  return pos;
+}
+function assembleArrow(tooltipModel, borderColor, arrowPosition) {
+  if (!isString$1(arrowPosition) || arrowPosition === "inside") {
+    return "";
+  }
+  var backgroundColor2 = tooltipModel.get("backgroundColor");
+  var borderWidth = tooltipModel.get("borderWidth");
+  borderColor = convertToColorString(borderColor);
+  var arrowPos = mirrorPos(arrowPosition);
+  var arrowSize = Math.max(Math.round(borderWidth) * 1.5, 6);
+  var positionStyle = "";
+  var transformStyle = CSS_TRANSFORM_VENDOR + ":";
+  var rotateDeg;
+  if (indexOf(["left", "right"], arrowPos) > -1) {
+    positionStyle += "top:50%";
+    transformStyle += "translateY(-50%) rotate(" + (rotateDeg = arrowPos === "left" ? -225 : -45) + "deg)";
+  } else {
+    positionStyle += "left:50%";
+    transformStyle += "translateX(-50%) rotate(" + (rotateDeg = arrowPos === "top" ? 225 : 45) + "deg)";
+  }
+  var rotateRadian = rotateDeg * Math.PI / 180;
+  var arrowWH = arrowSize + borderWidth;
+  var rotatedWH = arrowWH * Math.abs(Math.cos(rotateRadian)) + arrowWH * Math.abs(Math.sin(rotateRadian));
+  var arrowOffset = Math.round(((rotatedWH - Math.SQRT2 * borderWidth) / 2 + Math.SQRT2 * borderWidth - (rotatedWH - arrowWH) / 2) * 100) / 100;
+  positionStyle += ";" + arrowPos + ":-" + arrowOffset + "px";
+  var borderStyle = borderColor + " solid " + borderWidth + "px;";
+  var styleCss = ["position:absolute;width:" + arrowSize + "px;height:" + arrowSize + "px;z-index:-1;", positionStyle + ";" + transformStyle + ";", "border-bottom:" + borderStyle, "border-right:" + borderStyle, "background-color:" + backgroundColor2 + ";"];
+  return '<div style="' + styleCss.join("") + '"></div>';
+}
+function assembleTransition(duration, onlyFade) {
+  var transitionCurve = "cubic-bezier(0.23,1,0.32,1)";
+  var transitionOption = " " + duration / 2 + "s " + transitionCurve;
+  var transitionText = "opacity" + transitionOption + ",visibility" + transitionOption;
+  if (!onlyFade) {
+    transitionOption = " " + duration + "s " + transitionCurve;
+    transitionText += env$1.transformSupported ? "," + CSS_TRANSFORM_VENDOR + transitionOption : ",left" + transitionOption + ",top" + transitionOption;
+  }
+  return CSS_TRANSITION_VENDOR + ":" + transitionText;
+}
+function assembleTransform(x2, y2, toString4) {
+  var x0 = x2.toFixed(0) + "px";
+  var y0 = y2.toFixed(0) + "px";
+  if (!env$1.transformSupported) {
+    return toString4 ? "top:" + y0 + ";left:" + x0 + ";" : [["top", y0], ["left", x0]];
+  }
+  var is3d = env$1.transform3dSupported;
+  var translate2 = "translate" + (is3d ? "3d" : "") + "(" + x0 + "," + y0 + (is3d ? ",0" : "") + ")";
+  return toString4 ? "top:0;left:0;" + CSS_TRANSFORM_VENDOR + ":" + translate2 + ";" : [["top", 0], ["left", 0], [TRANSFORM_VENDOR, translate2]];
+}
+function assembleFont(textStyleModel) {
+  var cssText = [];
+  var fontSize = textStyleModel.get("fontSize");
+  var color2 = textStyleModel.getTextColor();
+  color2 && cssText.push("color:" + color2);
+  cssText.push("font:" + textStyleModel.getFont());
+  fontSize && cssText.push("line-height:" + Math.round(fontSize * 3 / 2) + "px");
+  var shadowColor = textStyleModel.get("textShadowColor");
+  var shadowBlur = textStyleModel.get("textShadowBlur") || 0;
+  var shadowOffsetX = textStyleModel.get("textShadowOffsetX") || 0;
+  var shadowOffsetY = textStyleModel.get("textShadowOffsetY") || 0;
+  shadowColor && shadowBlur && cssText.push("text-shadow:" + shadowOffsetX + "px " + shadowOffsetY + "px " + shadowBlur + "px " + shadowColor);
+  each$f(["decoration", "align"], function(name2) {
+    var val = textStyleModel.get(name2);
+    val && cssText.push("text-" + name2 + ":" + val);
+  });
+  return cssText.join(";");
+}
+function assembleCssText(tooltipModel, enableTransition, onlyFade) {
+  var cssText = [];
+  var transitionDuration = tooltipModel.get("transitionDuration");
+  var backgroundColor2 = tooltipModel.get("backgroundColor");
+  var shadowBlur = tooltipModel.get("shadowBlur");
+  var shadowColor = tooltipModel.get("shadowColor");
+  var shadowOffsetX = tooltipModel.get("shadowOffsetX");
+  var shadowOffsetY = tooltipModel.get("shadowOffsetY");
+  var textStyleModel = tooltipModel.getModel("textStyle");
+  var padding = getPaddingFromTooltipModel(tooltipModel, "html");
+  var boxShadow = shadowOffsetX + "px " + shadowOffsetY + "px " + shadowBlur + "px " + shadowColor;
+  cssText.push("box-shadow:" + boxShadow);
+  enableTransition && transitionDuration && cssText.push(assembleTransition(transitionDuration, onlyFade));
+  if (backgroundColor2) {
+    cssText.push("background-color:" + backgroundColor2);
+  }
+  each$f(["width", "color", "radius"], function(name2) {
+    var borderName = "border-" + name2;
+    var camelCase2 = toCamelCase$1(borderName);
+    var val = tooltipModel.get(camelCase2);
+    val != null && cssText.push(borderName + ":" + val + (name2 === "color" ? "" : "px"));
+  });
+  cssText.push(assembleFont(textStyleModel));
+  if (padding != null) {
+    cssText.push("padding:" + normalizeCssArray(padding).join("px ") + "px");
+  }
+  return cssText.join(";") + ";";
+}
+function makeStyleCoord$1(out2, zr, appendToBody, zrX, zrY) {
+  var zrPainter = zr && zr.painter;
+  if (appendToBody) {
+    var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();
+    if (zrViewportRoot) {
+      transformLocalCoord(out2, zrViewportRoot, document.body, zrX, zrY);
+    }
+  } else {
+    out2[0] = zrX;
+    out2[1] = zrY;
+    var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();
+    if (viewportRootOffset) {
+      out2[0] += viewportRootOffset.offsetLeft;
+      out2[1] += viewportRootOffset.offsetTop;
+    }
+  }
+  out2[2] = out2[0] / zr.getWidth();
+  out2[3] = out2[1] / zr.getHeight();
+}
+var TooltipHTMLContent = (
+  /** @class */
+  function() {
+    function TooltipHTMLContent2(container, api2, opt) {
+      this._show = false;
+      this._styleCoord = [0, 0, 0, 0];
+      this._enterable = true;
+      this._alwaysShowContent = false;
+      this._firstShow = true;
+      this._longHide = true;
+      if (env$1.wxa) {
+        return null;
+      }
+      var el = document.createElement("div");
+      el.domBelongToZr = true;
+      this.el = el;
+      var zr = this._zr = api2.getZr();
+      var appendToBody = this._appendToBody = opt && opt.appendToBody;
+      makeStyleCoord$1(this._styleCoord, zr, appendToBody, api2.getWidth() / 2, api2.getHeight() / 2);
+      if (appendToBody) {
+        document.body.appendChild(el);
+      } else {
+        container.appendChild(el);
+      }
+      this._container = container;
+      var self2 = this;
+      el.onmouseenter = function() {
+        if (self2._enterable) {
+          clearTimeout(self2._hideTimeout);
+          self2._show = true;
+        }
+        self2._inContent = true;
+      };
+      el.onmousemove = function(e2) {
+        e2 = e2 || window.event;
+        if (!self2._enterable) {
+          var handler = zr.handler;
+          var zrViewportRoot = zr.painter.getViewportRoot();
+          normalizeEvent(zrViewportRoot, e2, true);
+          handler.dispatch("mousemove", e2);
+        }
+      };
+      el.onmouseleave = function() {
+        self2._inContent = false;
+        if (self2._enterable) {
+          if (self2._show) {
+            self2.hideLater(self2._hideDelay);
+          }
+        }
+      };
+    }
+    TooltipHTMLContent2.prototype.update = function(tooltipModel) {
+      var container = this._container;
+      var position2 = getComputedStyle$1(container, "position");
+      var domStyle = container.style;
+      if (domStyle.position !== "absolute" && position2 !== "absolute") {
+        domStyle.position = "relative";
+      }
+      var alwaysShowContent = tooltipModel.get("alwaysShowContent");
+      alwaysShowContent && this._moveIfResized();
+      this._alwaysShowContent = alwaysShowContent;
+      this.el.className = tooltipModel.get("className") || "";
+    };
+    TooltipHTMLContent2.prototype.show = function(tooltipModel, nearPointColor) {
+      clearTimeout(this._hideTimeout);
+      clearTimeout(this._longHideTimeout);
+      var el = this.el;
+      var style2 = el.style;
+      var styleCoord = this._styleCoord;
+      if (!el.innerHTML) {
+        style2.display = "none";
+      } else {
+        style2.cssText = gCssText + assembleCssText(tooltipModel, !this._firstShow, this._longHide) + assembleTransform(styleCoord[0], styleCoord[1], true) + ("border-color:" + convertToColorString(nearPointColor) + ";") + (tooltipModel.get("extraCssText") || "") + (";pointer-events:" + (this._enterable ? "auto" : "none"));
+      }
+      this._show = true;
+      this._firstShow = false;
+      this._longHide = false;
+    };
+    TooltipHTMLContent2.prototype.setContent = function(content, markers, tooltipModel, borderColor, arrowPosition) {
+      var el = this.el;
+      if (content == null) {
+        el.innerHTML = "";
+        return;
+      }
+      var arrow = "";
+      if (isString$1(arrowPosition) && tooltipModel.get("trigger") === "item" && !shouldTooltipConfine(tooltipModel)) {
+        arrow = assembleArrow(tooltipModel, borderColor, arrowPosition);
+      }
+      if (isString$1(content)) {
+        el.innerHTML = content + arrow;
+      } else if (content) {
+        el.innerHTML = "";
+        if (!isArray$2(content)) {
+          content = [content];
+        }
+        for (var i2 = 0; i2 < content.length; i2++) {
+          if (isDom(content[i2]) && content[i2].parentNode !== el) {
+            el.appendChild(content[i2]);
+          }
+        }
+        if (arrow && el.childNodes.length) {
+          var arrowEl = document.createElement("div");
+          arrowEl.innerHTML = arrow;
+          el.appendChild(arrowEl);
+        }
+      }
+    };
+    TooltipHTMLContent2.prototype.setEnterable = function(enterable) {
+      this._enterable = enterable;
+    };
+    TooltipHTMLContent2.prototype.getSize = function() {
+      var el = this.el;
+      return [el.offsetWidth, el.offsetHeight];
+    };
+    TooltipHTMLContent2.prototype.moveTo = function(zrX, zrY) {
+      var styleCoord = this._styleCoord;
+      makeStyleCoord$1(styleCoord, this._zr, this._appendToBody, zrX, zrY);
+      if (styleCoord[0] != null && styleCoord[1] != null) {
+        var style_1 = this.el.style;
+        var transforms = assembleTransform(styleCoord[0], styleCoord[1]);
+        each$f(transforms, function(transform3) {
+          style_1[transform3[0]] = transform3[1];
+        });
+      }
+    };
+    TooltipHTMLContent2.prototype._moveIfResized = function() {
+      var ratioX = this._styleCoord[2];
+      var ratioY = this._styleCoord[3];
+      this.moveTo(ratioX * this._zr.getWidth(), ratioY * this._zr.getHeight());
+    };
+    TooltipHTMLContent2.prototype.hide = function() {
+      var _this = this;
+      var style2 = this.el.style;
+      style2.visibility = "hidden";
+      style2.opacity = "0";
+      env$1.transform3dSupported && (style2.willChange = "");
+      this._show = false;
+      this._longHideTimeout = setTimeout(function() {
+        return _this._longHide = true;
+      }, 500);
+    };
+    TooltipHTMLContent2.prototype.hideLater = function(time2) {
+      if (this._show && !(this._inContent && this._enterable) && !this._alwaysShowContent) {
+        if (time2) {
+          this._hideDelay = time2;
+          this._show = false;
+          this._hideTimeout = setTimeout(bind$2(this.hide, this), time2);
+        } else {
+          this.hide();
+        }
+      }
+    };
+    TooltipHTMLContent2.prototype.isShow = function() {
+      return this._show;
+    };
+    TooltipHTMLContent2.prototype.dispose = function() {
+      this.el.parentNode.removeChild(this.el);
+    };
+    return TooltipHTMLContent2;
+  }()
+);
+const TooltipHTMLContent$1 = TooltipHTMLContent;
+var TooltipRichContent = (
+  /** @class */
+  function() {
+    function TooltipRichContent2(api2) {
+      this._show = false;
+      this._styleCoord = [0, 0, 0, 0];
+      this._alwaysShowContent = false;
+      this._enterable = true;
+      this._zr = api2.getZr();
+      makeStyleCoord(this._styleCoord, this._zr, api2.getWidth() / 2, api2.getHeight() / 2);
+    }
+    TooltipRichContent2.prototype.update = function(tooltipModel) {
+      var alwaysShowContent = tooltipModel.get("alwaysShowContent");
+      alwaysShowContent && this._moveIfResized();
+      this._alwaysShowContent = alwaysShowContent;
+    };
+    TooltipRichContent2.prototype.show = function() {
+      if (this._hideTimeout) {
+        clearTimeout(this._hideTimeout);
+      }
+      this.el.show();
+      this._show = true;
+    };
+    TooltipRichContent2.prototype.setContent = function(content, markupStyleCreator, tooltipModel, borderColor, arrowPosition) {
+      var _this = this;
+      if (isObject$4(content)) {
+        throwError("");
+      }
+      if (this.el) {
+        this._zr.remove(this.el);
+      }
+      var textStyleModel = tooltipModel.getModel("textStyle");
+      this.el = new ZRText$1({
+        style: {
+          rich: markupStyleCreator.richTextStyles,
+          text: content,
+          lineHeight: 22,
+          borderWidth: 1,
+          borderColor,
+          textShadowColor: textStyleModel.get("textShadowColor"),
+          fill: tooltipModel.get(["textStyle", "color"]),
+          padding: getPaddingFromTooltipModel(tooltipModel, "richText"),
+          verticalAlign: "top",
+          align: "left"
+        },
+        z: tooltipModel.get("z")
+      });
+      each$f(["backgroundColor", "borderRadius", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"], function(propName) {
+        _this.el.style[propName] = tooltipModel.get(propName);
+      });
+      each$f(["textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"], function(propName) {
+        _this.el.style[propName] = textStyleModel.get(propName) || 0;
+      });
+      this._zr.add(this.el);
+      var self2 = this;
+      this.el.on("mouseover", function() {
+        if (self2._enterable) {
+          clearTimeout(self2._hideTimeout);
+          self2._show = true;
+        }
+        self2._inContent = true;
+      });
+      this.el.on("mouseout", function() {
+        if (self2._enterable) {
+          if (self2._show) {
+            self2.hideLater(self2._hideDelay);
+          }
+        }
+        self2._inContent = false;
+      });
+    };
+    TooltipRichContent2.prototype.setEnterable = function(enterable) {
+      this._enterable = enterable;
+    };
+    TooltipRichContent2.prototype.getSize = function() {
+      var el = this.el;
+      var bounding = this.el.getBoundingRect();
+      var shadowOuterSize = calcShadowOuterSize(el.style);
+      return [bounding.width + shadowOuterSize.left + shadowOuterSize.right, bounding.height + shadowOuterSize.top + shadowOuterSize.bottom];
+    };
+    TooltipRichContent2.prototype.moveTo = function(x2, y2) {
+      var el = this.el;
+      if (el) {
+        var styleCoord = this._styleCoord;
+        makeStyleCoord(styleCoord, this._zr, x2, y2);
+        x2 = styleCoord[0];
+        y2 = styleCoord[1];
+        var style2 = el.style;
+        var borderWidth = mathMaxWith0(style2.borderWidth || 0);
+        var shadowOuterSize = calcShadowOuterSize(style2);
+        el.x = x2 + borderWidth + shadowOuterSize.left;
+        el.y = y2 + borderWidth + shadowOuterSize.top;
+        el.markRedraw();
+      }
+    };
+    TooltipRichContent2.prototype._moveIfResized = function() {
+      var ratioX = this._styleCoord[2];
+      var ratioY = this._styleCoord[3];
+      this.moveTo(ratioX * this._zr.getWidth(), ratioY * this._zr.getHeight());
+    };
+    TooltipRichContent2.prototype.hide = function() {
+      if (this.el) {
+        this.el.hide();
+      }
+      this._show = false;
+    };
+    TooltipRichContent2.prototype.hideLater = function(time2) {
+      if (this._show && !(this._inContent && this._enterable) && !this._alwaysShowContent) {
+        if (time2) {
+          this._hideDelay = time2;
+          this._show = false;
+          this._hideTimeout = setTimeout(bind$2(this.hide, this), time2);
+        } else {
+          this.hide();
+        }
+      }
+    };
+    TooltipRichContent2.prototype.isShow = function() {
+      return this._show;
+    };
+    TooltipRichContent2.prototype.dispose = function() {
+      this._zr.remove(this.el);
+    };
+    return TooltipRichContent2;
+  }()
+);
+function mathMaxWith0(val) {
+  return Math.max(0, val);
+}
+function calcShadowOuterSize(style2) {
+  var shadowBlur = mathMaxWith0(style2.shadowBlur || 0);
+  var shadowOffsetX = mathMaxWith0(style2.shadowOffsetX || 0);
+  var shadowOffsetY = mathMaxWith0(style2.shadowOffsetY || 0);
+  return {
+    left: mathMaxWith0(shadowBlur - shadowOffsetX),
+    right: mathMaxWith0(shadowBlur + shadowOffsetX),
+    top: mathMaxWith0(shadowBlur - shadowOffsetY),
+    bottom: mathMaxWith0(shadowBlur + shadowOffsetY)
+  };
+}
+function makeStyleCoord(out2, zr, zrX, zrY) {
+  out2[0] = zrX;
+  out2[1] = zrY;
+  out2[2] = out2[0] / zr.getWidth();
+  out2[3] = out2[1] / zr.getHeight();
+}
+const TooltipRichContent$1 = TooltipRichContent;
+var proxyRect = new Rect$3({
+  shape: {
+    x: -1,
+    y: -1,
+    width: 2,
+    height: 2
+  }
+});
+var TooltipView = (
+  /** @class */
+  function(_super) {
+    __extends(TooltipView2, _super);
+    function TooltipView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TooltipView2.type;
+      return _this;
+    }
+    TooltipView2.prototype.init = function(ecModel, api2) {
+      if (env$1.node || !api2.getDom()) {
+        return;
+      }
+      var tooltipModel = ecModel.getComponent("tooltip");
+      var renderMode = this._renderMode = getTooltipRenderMode(tooltipModel.get("renderMode"));
+      this._tooltipContent = renderMode === "richText" ? new TooltipRichContent$1(api2) : new TooltipHTMLContent$1(api2.getDom(), api2, {
+        appendToBody: tooltipModel.get("appendToBody", true)
+      });
+    };
+    TooltipView2.prototype.render = function(tooltipModel, ecModel, api2) {
+      if (env$1.node || !api2.getDom()) {
+        return;
+      }
+      this.group.removeAll();
+      this._tooltipModel = tooltipModel;
+      this._ecModel = ecModel;
+      this._api = api2;
+      var tooltipContent = this._tooltipContent;
+      tooltipContent.update(tooltipModel);
+      tooltipContent.setEnterable(tooltipModel.get("enterable"));
+      this._initGlobalListener();
+      this._keepShow();
+      if (this._renderMode !== "richText" && tooltipModel.get("transitionDuration")) {
+        createOrUpdate(this, "_updatePosition", 50, "fixRate");
+      } else {
+        clear$1(this, "_updatePosition");
+      }
+    };
+    TooltipView2.prototype._initGlobalListener = function() {
+      var tooltipModel = this._tooltipModel;
+      var triggerOn = tooltipModel.get("triggerOn");
+      register("itemTooltip", this._api, bind$2(function(currTrigger, e2, dispatchAction2) {
+        if (triggerOn !== "none") {
+          if (triggerOn.indexOf(currTrigger) >= 0) {
+            this._tryShow(e2, dispatchAction2);
+          } else if (currTrigger === "leave") {
+            this._hide(dispatchAction2);
+          }
+        }
+      }, this));
+    };
+    TooltipView2.prototype._keepShow = function() {
+      var tooltipModel = this._tooltipModel;
+      var ecModel = this._ecModel;
+      var api2 = this._api;
+      var triggerOn = tooltipModel.get("triggerOn");
+      if (this._lastX != null && this._lastY != null && triggerOn !== "none" && triggerOn !== "click") {
+        var self_1 = this;
+        clearTimeout(this._refreshUpdateTimeout);
+        this._refreshUpdateTimeout = setTimeout(function() {
+          !api2.isDisposed() && self_1.manuallyShowTip(tooltipModel, ecModel, api2, {
+            x: self_1._lastX,
+            y: self_1._lastY,
+            dataByCoordSys: self_1._lastDataByCoordSys
+          });
+        });
+      }
+    };
+    TooltipView2.prototype.manuallyShowTip = function(tooltipModel, ecModel, api2, payload) {
+      if (payload.from === this.uid || env$1.node || !api2.getDom()) {
+        return;
+      }
+      var dispatchAction2 = makeDispatchAction(payload, api2);
+      this._ticket = "";
+      var dataByCoordSys = payload.dataByCoordSys;
+      var cmptRef = findComponentReference(payload, ecModel, api2);
+      if (cmptRef) {
+        var rect = cmptRef.el.getBoundingRect().clone();
+        rect.applyTransform(cmptRef.el.transform);
+        this._tryShow({
+          offsetX: rect.x + rect.width / 2,
+          offsetY: rect.y + rect.height / 2,
+          target: cmptRef.el,
+          position: payload.position,
+          // When manully trigger, the mouse is not on the el, so we'd better to
+          // position tooltip on the bottom of the el and display arrow is possible.
+          positionDefault: "bottom"
+        }, dispatchAction2);
+      } else if (payload.tooltip && payload.x != null && payload.y != null) {
+        var el = proxyRect;
+        el.x = payload.x;
+        el.y = payload.y;
+        el.update();
+        getECData(el).tooltipConfig = {
+          name: null,
+          option: payload.tooltip
+        };
+        this._tryShow({
+          offsetX: payload.x,
+          offsetY: payload.y,
+          target: el
+        }, dispatchAction2);
+      } else if (dataByCoordSys) {
+        this._tryShow({
+          offsetX: payload.x,
+          offsetY: payload.y,
+          position: payload.position,
+          dataByCoordSys,
+          tooltipOption: payload.tooltipOption
+        }, dispatchAction2);
+      } else if (payload.seriesIndex != null) {
+        if (this._manuallyAxisShowTip(tooltipModel, ecModel, api2, payload)) {
+          return;
+        }
+        var pointInfo = findPointFromSeries(payload, ecModel);
+        var cx = pointInfo.point[0];
+        var cy = pointInfo.point[1];
+        if (cx != null && cy != null) {
+          this._tryShow({
+            offsetX: cx,
+            offsetY: cy,
+            target: pointInfo.el,
+            position: payload.position,
+            // When manully trigger, the mouse is not on the el, so we'd better to
+            // position tooltip on the bottom of the el and display arrow is possible.
+            positionDefault: "bottom"
+          }, dispatchAction2);
+        }
+      } else if (payload.x != null && payload.y != null) {
+        api2.dispatchAction({
+          type: "updateAxisPointer",
+          x: payload.x,
+          y: payload.y
+        });
+        this._tryShow({
+          offsetX: payload.x,
+          offsetY: payload.y,
+          position: payload.position,
+          target: api2.getZr().findHover(payload.x, payload.y).target
+        }, dispatchAction2);
+      }
+    };
+    TooltipView2.prototype.manuallyHideTip = function(tooltipModel, ecModel, api2, payload) {
+      var tooltipContent = this._tooltipContent;
+      if (this._tooltipModel) {
+        tooltipContent.hideLater(this._tooltipModel.get("hideDelay"));
+      }
+      this._lastX = this._lastY = this._lastDataByCoordSys = null;
+      if (payload.from !== this.uid) {
+        this._hide(makeDispatchAction(payload, api2));
+      }
+    };
+    TooltipView2.prototype._manuallyAxisShowTip = function(tooltipModel, ecModel, api2, payload) {
+      var seriesIndex = payload.seriesIndex;
+      var dataIndex = payload.dataIndex;
+      var coordSysAxesInfo = ecModel.getComponent("axisPointer").coordSysAxesInfo;
+      if (seriesIndex == null || dataIndex == null || coordSysAxesInfo == null) {
+        return;
+      }
+      var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
+      if (!seriesModel) {
+        return;
+      }
+      var data2 = seriesModel.getData();
+      var tooltipCascadedModel = buildTooltipModel([data2.getItemModel(dataIndex), seriesModel, (seriesModel.coordinateSystem || {}).model], this._tooltipModel);
+      if (tooltipCascadedModel.get("trigger") !== "axis") {
+        return;
+      }
+      api2.dispatchAction({
+        type: "updateAxisPointer",
+        seriesIndex,
+        dataIndex,
+        position: payload.position
+      });
+      return true;
+    };
+    TooltipView2.prototype._tryShow = function(e2, dispatchAction2) {
+      var el = e2.target;
+      var tooltipModel = this._tooltipModel;
+      if (!tooltipModel) {
+        return;
+      }
+      this._lastX = e2.offsetX;
+      this._lastY = e2.offsetY;
+      var dataByCoordSys = e2.dataByCoordSys;
+      if (dataByCoordSys && dataByCoordSys.length) {
+        this._showAxisTooltip(dataByCoordSys, e2);
+      } else if (el) {
+        this._lastDataByCoordSys = null;
+        var seriesDispatcher_1;
+        var cmptDispatcher_1;
+        findEventDispatcher(el, function(target) {
+          if (getECData(target).dataIndex != null) {
+            seriesDispatcher_1 = target;
+            return true;
+          }
+          if (getECData(target).tooltipConfig != null) {
+            cmptDispatcher_1 = target;
+            return true;
+          }
+        }, true);
+        if (seriesDispatcher_1) {
+          this._showSeriesItemTooltip(e2, seriesDispatcher_1, dispatchAction2);
+        } else if (cmptDispatcher_1) {
+          this._showComponentItemTooltip(e2, cmptDispatcher_1, dispatchAction2);
+        } else {
+          this._hide(dispatchAction2);
+        }
+      } else {
+        this._lastDataByCoordSys = null;
+        this._hide(dispatchAction2);
+      }
+    };
+    TooltipView2.prototype._showOrMove = function(tooltipModel, cb) {
+      var delay = tooltipModel.get("showDelay");
+      cb = bind$2(cb, this);
+      clearTimeout(this._showTimout);
+      delay > 0 ? this._showTimout = setTimeout(cb, delay) : cb();
+    };
+    TooltipView2.prototype._showAxisTooltip = function(dataByCoordSys, e2) {
+      var ecModel = this._ecModel;
+      var globalTooltipModel = this._tooltipModel;
+      var point = [e2.offsetX, e2.offsetY];
+      var singleTooltipModel = buildTooltipModel([e2.tooltipOption], globalTooltipModel);
+      var renderMode = this._renderMode;
+      var cbParamsList = [];
+      var articleMarkup = createTooltipMarkup("section", {
+        blocks: [],
+        noHeader: true
+      });
+      var markupTextArrLegacy = [];
+      var markupStyleCreator = new TooltipMarkupStyleCreator();
+      each$f(dataByCoordSys, function(itemCoordSys) {
+        each$f(itemCoordSys.dataByAxis, function(axisItem) {
+          var axisModel = ecModel.getComponent(axisItem.axisDim + "Axis", axisItem.axisIndex);
+          var axisValue = axisItem.value;
+          if (!axisModel || axisValue == null) {
+            return;
+          }
+          var axisValueLabel = getValueLabel(axisValue, axisModel.axis, ecModel, axisItem.seriesDataIndices, axisItem.valueLabelOpt);
+          var axisSectionMarkup = createTooltipMarkup("section", {
+            header: axisValueLabel,
+            noHeader: !trim$2(axisValueLabel),
+            sortBlocks: true,
+            blocks: []
+          });
+          articleMarkup.blocks.push(axisSectionMarkup);
+          each$f(axisItem.seriesDataIndices, function(idxItem) {
+            var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);
+            var dataIndex = idxItem.dataIndexInside;
+            var cbParams = series.getDataParams(dataIndex);
+            if (cbParams.dataIndex < 0) {
+              return;
+            }
+            cbParams.axisDim = axisItem.axisDim;
+            cbParams.axisIndex = axisItem.axisIndex;
+            cbParams.axisType = axisItem.axisType;
+            cbParams.axisId = axisItem.axisId;
+            cbParams.axisValue = getAxisRawValue(axisModel.axis, {
+              value: axisValue
+            });
+            cbParams.axisValueLabel = axisValueLabel;
+            cbParams.marker = markupStyleCreator.makeTooltipMarker("item", convertToColorString(cbParams.color), renderMode);
+            var seriesTooltipResult = normalizeTooltipFormatResult(series.formatTooltip(dataIndex, true, null));
+            var frag = seriesTooltipResult.frag;
+            if (frag) {
+              var valueFormatter = buildTooltipModel([series], globalTooltipModel).get("valueFormatter");
+              axisSectionMarkup.blocks.push(valueFormatter ? extend$1({
+                valueFormatter
+              }, frag) : frag);
+            }
+            if (seriesTooltipResult.text) {
+              markupTextArrLegacy.push(seriesTooltipResult.text);
+            }
+            cbParamsList.push(cbParams);
+          });
+        });
+      });
+      articleMarkup.blocks.reverse();
+      markupTextArrLegacy.reverse();
+      var positionExpr = e2.position;
+      var orderMode = singleTooltipModel.get("order");
+      var builtMarkupText = buildTooltipMarkup(articleMarkup, markupStyleCreator, renderMode, orderMode, ecModel.get("useUTC"), singleTooltipModel.get("textStyle"));
+      builtMarkupText && markupTextArrLegacy.unshift(builtMarkupText);
+      var blockBreak = renderMode === "richText" ? "\n\n" : "<br/>";
+      var allMarkupText = markupTextArrLegacy.join(blockBreak);
+      this._showOrMove(singleTooltipModel, function() {
+        if (this._updateContentNotChangedOnAxis(dataByCoordSys, cbParamsList)) {
+          this._updatePosition(singleTooltipModel, positionExpr, point[0], point[1], this._tooltipContent, cbParamsList);
+        } else {
+          this._showTooltipContent(singleTooltipModel, allMarkupText, cbParamsList, Math.random() + "", point[0], point[1], positionExpr, null, markupStyleCreator);
+        }
+      });
+    };
+    TooltipView2.prototype._showSeriesItemTooltip = function(e2, dispatcher, dispatchAction2) {
+      var ecModel = this._ecModel;
+      var ecData = getECData(dispatcher);
+      var seriesIndex = ecData.seriesIndex;
+      var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
+      var dataModel = ecData.dataModel || seriesModel;
+      var dataIndex = ecData.dataIndex;
+      var dataType = ecData.dataType;
+      var data2 = dataModel.getData(dataType);
+      var renderMode = this._renderMode;
+      var positionDefault = e2.positionDefault;
+      var tooltipModel = buildTooltipModel([data2.getItemModel(dataIndex), dataModel, seriesModel && (seriesModel.coordinateSystem || {}).model], this._tooltipModel, positionDefault ? {
+        position: positionDefault
+      } : null);
+      var tooltipTrigger = tooltipModel.get("trigger");
+      if (tooltipTrigger != null && tooltipTrigger !== "item") {
+        return;
+      }
+      var params2 = dataModel.getDataParams(dataIndex, dataType);
+      var markupStyleCreator = new TooltipMarkupStyleCreator();
+      params2.marker = markupStyleCreator.makeTooltipMarker("item", convertToColorString(params2.color), renderMode);
+      var seriesTooltipResult = normalizeTooltipFormatResult(dataModel.formatTooltip(dataIndex, false, dataType));
+      var orderMode = tooltipModel.get("order");
+      var valueFormatter = tooltipModel.get("valueFormatter");
+      var frag = seriesTooltipResult.frag;
+      var markupText = frag ? buildTooltipMarkup(valueFormatter ? extend$1({
+        valueFormatter
+      }, frag) : frag, markupStyleCreator, renderMode, orderMode, ecModel.get("useUTC"), tooltipModel.get("textStyle")) : seriesTooltipResult.text;
+      var asyncTicket = "item_" + dataModel.name + "_" + dataIndex;
+      this._showOrMove(tooltipModel, function() {
+        this._showTooltipContent(tooltipModel, markupText, params2, asyncTicket, e2.offsetX, e2.offsetY, e2.position, e2.target, markupStyleCreator);
+      });
+      dispatchAction2({
+        type: "showTip",
+        dataIndexInside: dataIndex,
+        dataIndex: data2.getRawIndex(dataIndex),
+        seriesIndex,
+        from: this.uid
+      });
+    };
+    TooltipView2.prototype._showComponentItemTooltip = function(e2, el, dispatchAction2) {
+      var ecData = getECData(el);
+      var tooltipConfig = ecData.tooltipConfig;
+      var tooltipOpt = tooltipConfig.option || {};
+      if (isString$1(tooltipOpt)) {
+        var content = tooltipOpt;
+        tooltipOpt = {
+          content,
+          // Fixed formatter
+          formatter: content
+        };
+      }
+      var tooltipModelCascade = [tooltipOpt];
+      var cmpt = this._ecModel.getComponent(ecData.componentMainType, ecData.componentIndex);
+      if (cmpt) {
+        tooltipModelCascade.push(cmpt);
+      }
+      tooltipModelCascade.push({
+        formatter: tooltipOpt.content
+      });
+      var positionDefault = e2.positionDefault;
+      var subTooltipModel = buildTooltipModel(tooltipModelCascade, this._tooltipModel, positionDefault ? {
+        position: positionDefault
+      } : null);
+      var defaultHtml = subTooltipModel.get("content");
+      var asyncTicket = Math.random() + "";
+      var markupStyleCreator = new TooltipMarkupStyleCreator();
+      this._showOrMove(subTooltipModel, function() {
+        var formatterParams = clone$4(subTooltipModel.get("formatterParams") || {});
+        this._showTooltipContent(subTooltipModel, defaultHtml, formatterParams, asyncTicket, e2.offsetX, e2.offsetY, e2.position, el, markupStyleCreator);
+      });
+      dispatchAction2({
+        type: "showTip",
+        from: this.uid
+      });
+    };
+    TooltipView2.prototype._showTooltipContent = function(tooltipModel, defaultHtml, params2, asyncTicket, x2, y2, positionExpr, el, markupStyleCreator) {
+      this._ticket = "";
+      if (!tooltipModel.get("showContent") || !tooltipModel.get("show")) {
+        return;
+      }
+      var tooltipContent = this._tooltipContent;
+      tooltipContent.setEnterable(tooltipModel.get("enterable"));
+      var formatter = tooltipModel.get("formatter");
+      positionExpr = positionExpr || tooltipModel.get("position");
+      var html = defaultHtml;
+      var nearPoint = this._getNearestPoint([x2, y2], params2, tooltipModel.get("trigger"), tooltipModel.get("borderColor"));
+      var nearPointColor = nearPoint.color;
+      if (formatter) {
+        if (isString$1(formatter)) {
+          var useUTC = tooltipModel.ecModel.get("useUTC");
+          var params0 = isArray$2(params2) ? params2[0] : params2;
+          var isTimeAxis = params0 && params0.axisType && params0.axisType.indexOf("time") >= 0;
+          html = formatter;
+          if (isTimeAxis) {
+            html = format$1(params0.axisValue, html, useUTC);
+          }
+          html = formatTpl(html, params2, true);
+        } else if (isFunction$1(formatter)) {
+          var callback = bind$2(function(cbTicket, html2) {
+            if (cbTicket === this._ticket) {
+              tooltipContent.setContent(html2, markupStyleCreator, tooltipModel, nearPointColor, positionExpr);
+              this._updatePosition(tooltipModel, positionExpr, x2, y2, tooltipContent, params2, el);
+            }
+          }, this);
+          this._ticket = asyncTicket;
+          html = formatter(params2, asyncTicket, callback);
+        } else {
+          html = formatter;
+        }
+      }
+      tooltipContent.setContent(html, markupStyleCreator, tooltipModel, nearPointColor, positionExpr);
+      tooltipContent.show(tooltipModel, nearPointColor);
+      this._updatePosition(tooltipModel, positionExpr, x2, y2, tooltipContent, params2, el);
+    };
+    TooltipView2.prototype._getNearestPoint = function(point, tooltipDataParams, trigger2, borderColor) {
+      if (trigger2 === "axis" || isArray$2(tooltipDataParams)) {
+        return {
+          color: borderColor || (this._renderMode === "html" ? "#fff" : "none")
+        };
+      }
+      if (!isArray$2(tooltipDataParams)) {
+        return {
+          color: borderColor || tooltipDataParams.color || tooltipDataParams.borderColor
+        };
+      }
+    };
+    TooltipView2.prototype._updatePosition = function(tooltipModel, positionExpr, x2, y2, content, params2, el) {
+      var viewWidth = this._api.getWidth();
+      var viewHeight = this._api.getHeight();
+      positionExpr = positionExpr || tooltipModel.get("position");
+      var contentSize = content.getSize();
+      var align = tooltipModel.get("align");
+      var vAlign = tooltipModel.get("verticalAlign");
+      var rect = el && el.getBoundingRect().clone();
+      el && rect.applyTransform(el.transform);
+      if (isFunction$1(positionExpr)) {
+        positionExpr = positionExpr([x2, y2], params2, content.el, rect, {
+          viewSize: [viewWidth, viewHeight],
+          contentSize: contentSize.slice()
+        });
+      }
+      if (isArray$2(positionExpr)) {
+        x2 = parsePercent(positionExpr[0], viewWidth);
+        y2 = parsePercent(positionExpr[1], viewHeight);
+      } else if (isObject$4(positionExpr)) {
+        var boxLayoutPosition = positionExpr;
+        boxLayoutPosition.width = contentSize[0];
+        boxLayoutPosition.height = contentSize[1];
+        var layoutRect = getLayoutRect(boxLayoutPosition, {
+          width: viewWidth,
+          height: viewHeight
+        });
+        x2 = layoutRect.x;
+        y2 = layoutRect.y;
+        align = null;
+        vAlign = null;
+      } else if (isString$1(positionExpr) && el) {
+        var pos = calcTooltipPosition(positionExpr, rect, contentSize, tooltipModel.get("borderWidth"));
+        x2 = pos[0];
+        y2 = pos[1];
+      } else {
+        var pos = refixTooltipPosition(x2, y2, content, viewWidth, viewHeight, align ? null : 20, vAlign ? null : 20);
+        x2 = pos[0];
+        y2 = pos[1];
+      }
+      align && (x2 -= isCenterAlign(align) ? contentSize[0] / 2 : align === "right" ? contentSize[0] : 0);
+      vAlign && (y2 -= isCenterAlign(vAlign) ? contentSize[1] / 2 : vAlign === "bottom" ? contentSize[1] : 0);
+      if (shouldTooltipConfine(tooltipModel)) {
+        var pos = confineTooltipPosition(x2, y2, content, viewWidth, viewHeight);
+        x2 = pos[0];
+        y2 = pos[1];
+      }
+      content.moveTo(x2, y2);
+    };
+    TooltipView2.prototype._updateContentNotChangedOnAxis = function(dataByCoordSys, cbParamsList) {
+      var lastCoordSys = this._lastDataByCoordSys;
+      var lastCbParamsList = this._cbParamsList;
+      var contentNotChanged = !!lastCoordSys && lastCoordSys.length === dataByCoordSys.length;
+      contentNotChanged && each$f(lastCoordSys, function(lastItemCoordSys, indexCoordSys) {
+        var lastDataByAxis = lastItemCoordSys.dataByAxis || [];
+        var thisItemCoordSys = dataByCoordSys[indexCoordSys] || {};
+        var thisDataByAxis = thisItemCoordSys.dataByAxis || [];
+        contentNotChanged = contentNotChanged && lastDataByAxis.length === thisDataByAxis.length;
+        contentNotChanged && each$f(lastDataByAxis, function(lastItem, indexAxis) {
+          var thisItem = thisDataByAxis[indexAxis] || {};
+          var lastIndices = lastItem.seriesDataIndices || [];
+          var newIndices = thisItem.seriesDataIndices || [];
+          contentNotChanged = contentNotChanged && lastItem.value === thisItem.value && lastItem.axisType === thisItem.axisType && lastItem.axisId === thisItem.axisId && lastIndices.length === newIndices.length;
+          contentNotChanged && each$f(lastIndices, function(lastIdxItem, j2) {
+            var newIdxItem = newIndices[j2];
+            contentNotChanged = contentNotChanged && lastIdxItem.seriesIndex === newIdxItem.seriesIndex && lastIdxItem.dataIndex === newIdxItem.dataIndex;
+          });
+          lastCbParamsList && each$f(lastItem.seriesDataIndices, function(idxItem) {
+            var seriesIdx = idxItem.seriesIndex;
+            var cbParams = cbParamsList[seriesIdx];
+            var lastCbParams = lastCbParamsList[seriesIdx];
+            if (cbParams && lastCbParams && lastCbParams.data !== cbParams.data) {
+              contentNotChanged = false;
+            }
+          });
+        });
+      });
+      this._lastDataByCoordSys = dataByCoordSys;
+      this._cbParamsList = cbParamsList;
+      return !!contentNotChanged;
+    };
+    TooltipView2.prototype._hide = function(dispatchAction2) {
+      this._lastDataByCoordSys = null;
+      dispatchAction2({
+        type: "hideTip",
+        from: this.uid
+      });
+    };
+    TooltipView2.prototype.dispose = function(ecModel, api2) {
+      if (env$1.node || !api2.getDom()) {
+        return;
+      }
+      clear$1(this, "_updatePosition");
+      this._tooltipContent.dispose();
+      unregister("itemTooltip", api2);
+    };
+    TooltipView2.type = "tooltip";
+    return TooltipView2;
+  }(ComponentView$1)
+);
+function buildTooltipModel(modelCascade, globalTooltipModel, defaultTooltipOption) {
+  var ecModel = globalTooltipModel.ecModel;
+  var resultModel;
+  if (defaultTooltipOption) {
+    resultModel = new Model$1(defaultTooltipOption, ecModel, ecModel);
+    resultModel = new Model$1(globalTooltipModel.option, resultModel, ecModel);
+  } else {
+    resultModel = globalTooltipModel;
+  }
+  for (var i2 = modelCascade.length - 1; i2 >= 0; i2--) {
+    var tooltipOpt = modelCascade[i2];
+    if (tooltipOpt) {
+      if (tooltipOpt instanceof Model$1) {
+        tooltipOpt = tooltipOpt.get("tooltip", true);
+      }
+      if (isString$1(tooltipOpt)) {
+        tooltipOpt = {
+          formatter: tooltipOpt
+        };
+      }
+      if (tooltipOpt) {
+        resultModel = new Model$1(tooltipOpt, resultModel, ecModel);
+      }
+    }
+  }
+  return resultModel;
+}
+function makeDispatchAction(payload, api2) {
+  return payload.dispatchAction || bind$2(api2.dispatchAction, api2);
+}
+function refixTooltipPosition(x2, y2, content, viewWidth, viewHeight, gapH, gapV) {
+  var size = content.getSize();
+  var width = size[0];
+  var height = size[1];
+  if (gapH != null) {
+    if (x2 + width + gapH + 2 > viewWidth) {
+      x2 -= width + gapH;
+    } else {
+      x2 += gapH;
+    }
+  }
+  if (gapV != null) {
+    if (y2 + height + gapV > viewHeight) {
+      y2 -= height + gapV;
+    } else {
+      y2 += gapV;
+    }
+  }
+  return [x2, y2];
+}
+function confineTooltipPosition(x2, y2, content, viewWidth, viewHeight) {
+  var size = content.getSize();
+  var width = size[0];
+  var height = size[1];
+  x2 = Math.min(x2 + width, viewWidth) - width;
+  y2 = Math.min(y2 + height, viewHeight) - height;
+  x2 = Math.max(x2, 0);
+  y2 = Math.max(y2, 0);
+  return [x2, y2];
+}
+function calcTooltipPosition(position2, rect, contentSize, borderWidth) {
+  var domWidth = contentSize[0];
+  var domHeight = contentSize[1];
+  var offset2 = Math.ceil(Math.SQRT2 * borderWidth) + 8;
+  var x2 = 0;
+  var y2 = 0;
+  var rectWidth = rect.width;
+  var rectHeight = rect.height;
+  switch (position2) {
+    case "inside":
+      x2 = rect.x + rectWidth / 2 - domWidth / 2;
+      y2 = rect.y + rectHeight / 2 - domHeight / 2;
+      break;
+    case "top":
+      x2 = rect.x + rectWidth / 2 - domWidth / 2;
+      y2 = rect.y - domHeight - offset2;
+      break;
+    case "bottom":
+      x2 = rect.x + rectWidth / 2 - domWidth / 2;
+      y2 = rect.y + rectHeight + offset2;
+      break;
+    case "left":
+      x2 = rect.x - domWidth - offset2;
+      y2 = rect.y + rectHeight / 2 - domHeight / 2;
+      break;
+    case "right":
+      x2 = rect.x + rectWidth + offset2;
+      y2 = rect.y + rectHeight / 2 - domHeight / 2;
+  }
+  return [x2, y2];
+}
+function isCenterAlign(align) {
+  return align === "center" || align === "middle";
+}
+function findComponentReference(payload, ecModel, api2) {
+  var queryOptionMap = preParseFinder(payload).queryOptionMap;
+  var componentMainType = queryOptionMap.keys()[0];
+  if (!componentMainType || componentMainType === "series") {
+    return;
+  }
+  var queryResult = queryReferringComponents(ecModel, componentMainType, queryOptionMap.get(componentMainType), {
+    useDefault: false,
+    enableAll: false,
+    enableNone: false
+  });
+  var model2 = queryResult.models[0];
+  if (!model2) {
+    return;
+  }
+  var view = api2.getViewOfComponentModel(model2);
+  var el;
+  view.group.traverse(function(subEl) {
+    var tooltipConfig = getECData(subEl).tooltipConfig;
+    if (tooltipConfig && tooltipConfig.name === payload.name) {
+      el = subEl;
+      return true;
+    }
+  });
+  if (el) {
+    return {
+      componentMainType,
+      componentIndex: model2.componentIndex,
+      el
+    };
+  }
+}
+const TooltipView$1 = TooltipView;
+function install$i(registers) {
+  use(install$q);
+  registers.registerComponentModel(TooltipModel$1);
+  registers.registerComponentView(TooltipView$1);
+  registers.registerAction({
+    type: "showTip",
+    event: "showTip",
+    update: "tooltip:manuallyShowTip"
+  }, noop$1);
+  registers.registerAction({
+    type: "hideTip",
+    event: "hideTip",
+    update: "tooltip:manuallyHideTip"
+  }, noop$1);
+}
+var DEFAULT_TOOLBOX_BTNS = ["rect", "polygon", "keep", "clear"];
+function brushPreprocessor(option, isNew) {
+  var brushComponents = normalizeToArray(option ? option.brush : []);
+  if (!brushComponents.length) {
+    return;
+  }
+  var brushComponentSpecifiedBtns = [];
+  each$f(brushComponents, function(brushOpt) {
+    var tbs = brushOpt.hasOwnProperty("toolbox") ? brushOpt.toolbox : [];
+    if (tbs instanceof Array) {
+      brushComponentSpecifiedBtns = brushComponentSpecifiedBtns.concat(tbs);
+    }
+  });
+  var toolbox2 = option && option.toolbox;
+  if (isArray$2(toolbox2)) {
+    toolbox2 = toolbox2[0];
+  }
+  if (!toolbox2) {
+    toolbox2 = {
+      feature: {}
+    };
+    option.toolbox = [toolbox2];
+  }
+  var toolboxFeature = toolbox2.feature || (toolbox2.feature = {});
+  var toolboxBrush = toolboxFeature.brush || (toolboxFeature.brush = {});
+  var brushTypes = toolboxBrush.type || (toolboxBrush.type = []);
+  brushTypes.push.apply(brushTypes, brushComponentSpecifiedBtns);
+  removeDuplicate(brushTypes);
+  if (isNew && !brushTypes.length) {
+    brushTypes.push.apply(brushTypes, DEFAULT_TOOLBOX_BTNS);
+  }
+}
+function removeDuplicate(arr) {
+  var map2 = {};
+  each$f(arr, function(val) {
+    map2[val] = 1;
+  });
+  arr.length = 0;
+  each$f(map2, function(flag, val) {
+    arr.push(val);
+  });
+}
+var each$4 = each$f;
+function hasKeys(obj2) {
+  if (obj2) {
+    for (var name_1 in obj2) {
+      if (obj2.hasOwnProperty(name_1)) {
+        return true;
+      }
+    }
+  }
+}
+function createVisualMappings(option, stateList, supplementVisualOption) {
+  var visualMappings = {};
+  each$4(stateList, function(state) {
+    var mappings = visualMappings[state] = createMappings();
+    each$4(option[state], function(visualData, visualType) {
+      if (!VisualMapping$1.isValidType(visualType)) {
+        return;
+      }
+      var mappingOption = {
+        type: visualType,
+        visual: visualData
+      };
+      supplementVisualOption && supplementVisualOption(mappingOption, state);
+      mappings[visualType] = new VisualMapping$1(mappingOption);
+      if (visualType === "opacity") {
+        mappingOption = clone$4(mappingOption);
+        mappingOption.type = "colorAlpha";
+        mappings.__hidden.__alphaForOpacity = new VisualMapping$1(mappingOption);
+      }
+    });
+  });
+  return visualMappings;
+  function createMappings() {
+    var Creater = function() {
+    };
+    Creater.prototype.__hidden = Creater.prototype;
+    var obj2 = new Creater();
+    return obj2;
+  }
+}
+function replaceVisualOption(thisOption, newOption, keys2) {
+  var has2;
+  each$f(keys2, function(key2) {
+    if (newOption.hasOwnProperty(key2) && hasKeys(newOption[key2])) {
+      has2 = true;
+    }
+  });
+  has2 && each$f(keys2, function(key2) {
+    if (newOption.hasOwnProperty(key2) && hasKeys(newOption[key2])) {
+      thisOption[key2] = clone$4(newOption[key2]);
+    } else {
+      delete thisOption[key2];
+    }
+  });
+}
+function applyVisual(stateList, visualMappings, data2, getValueState, scope, dimension) {
+  var visualTypesMap = {};
+  each$f(stateList, function(state) {
+    var visualTypes = VisualMapping$1.prepareVisualTypes(visualMappings[state]);
+    visualTypesMap[state] = visualTypes;
+  });
+  var dataIndex;
+  function getVisual(key2) {
+    return getItemVisualFromData(data2, dataIndex, key2);
+  }
+  function setVisual(key2, value) {
+    setItemVisualFromData(data2, dataIndex, key2, value);
+  }
+  if (dimension == null) {
+    data2.each(eachItem);
+  } else {
+    data2.each([dimension], eachItem);
+  }
+  function eachItem(valueOrIndex, index3) {
+    dataIndex = dimension == null ? valueOrIndex : index3;
+    var rawDataItem = data2.getRawDataItem(dataIndex);
+    if (rawDataItem && rawDataItem.visualMap === false) {
+      return;
+    }
+    var valueState = getValueState.call(scope, valueOrIndex);
+    var mappings = visualMappings[valueState];
+    var visualTypes = visualTypesMap[valueState];
+    for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+      var type2 = visualTypes[i2];
+      mappings[type2] && mappings[type2].applyVisual(valueOrIndex, getVisual, setVisual);
+    }
+  }
+}
+function incrementalApplyVisual(stateList, visualMappings, getValueState, dim) {
+  var visualTypesMap = {};
+  each$f(stateList, function(state) {
+    var visualTypes = VisualMapping$1.prepareVisualTypes(visualMappings[state]);
+    visualTypesMap[state] = visualTypes;
+  });
+  return {
+    progress: function progress(params2, data2) {
+      var dimIndex;
+      if (dim != null) {
+        dimIndex = data2.getDimensionIndex(dim);
+      }
+      function getVisual(key2) {
+        return getItemVisualFromData(data2, dataIndex, key2);
+      }
+      function setVisual(key2, value2) {
+        setItemVisualFromData(data2, dataIndex, key2, value2);
+      }
+      var dataIndex;
+      var store = data2.getStore();
+      while ((dataIndex = params2.next()) != null) {
+        var rawDataItem = data2.getRawDataItem(dataIndex);
+        if (rawDataItem && rawDataItem.visualMap === false) {
+          continue;
+        }
+        var value = dim != null ? store.get(dimIndex, dataIndex) : dataIndex;
+        var valueState = getValueState(value);
+        var mappings = visualMappings[valueState];
+        var visualTypes = visualTypesMap[valueState];
+        for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+          var type2 = visualTypes[i2];
+          mappings[type2] && mappings[type2].applyVisual(value, getVisual, setVisual);
+        }
+      }
+    }
+  };
+}
+function makeBrushCommonSelectorForSeries(area) {
+  var brushType = area.brushType;
+  var selectors = {
+    point: function(itemLayout) {
+      return selector[brushType].point(itemLayout, selectors, area);
+    },
+    rect: function(itemLayout) {
+      return selector[brushType].rect(itemLayout, selectors, area);
+    }
+  };
+  return selectors;
+}
+var selector = {
+  lineX: getLineSelectors(0),
+  lineY: getLineSelectors(1),
+  rect: {
+    point: function(itemLayout, selectors, area) {
+      return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]);
+    },
+    rect: function(itemLayout, selectors, area) {
+      return itemLayout && area.boundingRect.intersect(itemLayout);
+    }
+  },
+  polygon: {
+    point: function(itemLayout, selectors, area) {
+      return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]) && contain(area.range, itemLayout[0], itemLayout[1]);
+    },
+    rect: function(itemLayout, selectors, area) {
+      var points2 = area.range;
+      if (!itemLayout || points2.length <= 1) {
+        return false;
+      }
+      var x2 = itemLayout.x;
+      var y2 = itemLayout.y;
+      var width = itemLayout.width;
+      var height = itemLayout.height;
+      var p2 = points2[0];
+      if (contain(points2, x2, y2) || contain(points2, x2 + width, y2) || contain(points2, x2, y2 + height) || contain(points2, x2 + width, y2 + height) || BoundingRect$1.create(itemLayout).contain(p2[0], p2[1]) || linePolygonIntersect(x2, y2, x2 + width, y2, points2) || linePolygonIntersect(x2, y2, x2, y2 + height, points2) || linePolygonIntersect(x2 + width, y2, x2 + width, y2 + height, points2) || linePolygonIntersect(x2, y2 + height, x2 + width, y2 + height, points2)) {
+        return true;
+      }
+    }
+  }
+};
+function getLineSelectors(xyIndex) {
+  var xy = ["x", "y"];
+  var wh = ["width", "height"];
+  return {
+    point: function(itemLayout, selectors, area) {
+      if (itemLayout) {
+        var range2 = area.range;
+        var p2 = itemLayout[xyIndex];
+        return inLineRange(p2, range2);
+      }
+    },
+    rect: function(itemLayout, selectors, area) {
+      if (itemLayout) {
+        var range2 = area.range;
+        var layoutRange = [itemLayout[xy[xyIndex]], itemLayout[xy[xyIndex]] + itemLayout[wh[xyIndex]]];
+        layoutRange[1] < layoutRange[0] && layoutRange.reverse();
+        return inLineRange(layoutRange[0], range2) || inLineRange(layoutRange[1], range2) || inLineRange(range2[0], layoutRange) || inLineRange(range2[1], layoutRange);
+      }
+    }
+  };
+}
+function inLineRange(p2, range2) {
+  return range2[0] <= p2 && p2 <= range2[1];
+}
+var STATE_LIST = ["inBrush", "outOfBrush"];
+var DISPATCH_METHOD = "__ecBrushSelect";
+var DISPATCH_FLAG = "__ecInBrushSelectEvent";
+function layoutCovers(ecModel) {
+  ecModel.eachComponent({
+    mainType: "brush"
+  }, function(brushModel) {
+    var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager$1(brushModel.option, ecModel);
+    brushTargetManager.setInputRanges(brushModel.areas, ecModel);
+  });
+}
+function brushVisual(ecModel, api2, payload) {
+  var brushSelected = [];
+  var throttleType;
+  var throttleDelay;
+  ecModel.eachComponent({
+    mainType: "brush"
+  }, function(brushModel) {
+    payload && payload.type === "takeGlobalCursor" && brushModel.setBrushOption(payload.key === "brush" ? payload.brushOption : {
+      brushType: false
+    });
+  });
+  layoutCovers(ecModel);
+  ecModel.eachComponent({
+    mainType: "brush"
+  }, function(brushModel, brushIndex) {
+    var thisBrushSelected = {
+      brushId: brushModel.id,
+      brushIndex,
+      brushName: brushModel.name,
+      areas: clone$4(brushModel.areas),
+      selected: []
+    };
+    brushSelected.push(thisBrushSelected);
+    var brushOption = brushModel.option;
+    var brushLink = brushOption.brushLink;
+    var linkedSeriesMap = [];
+    var selectedDataIndexForLink = [];
+    var rangeInfoBySeries = [];
+    var hasBrushExists = false;
+    if (!brushIndex) {
+      throttleType = brushOption.throttleType;
+      throttleDelay = brushOption.throttleDelay;
+    }
+    var areas = map$1(brushModel.areas, function(area) {
+      var builder = boundingRectBuilders[area.brushType];
+      var selectableArea = defaults$2({
+        boundingRect: builder ? builder(area) : void 0
+      }, area);
+      selectableArea.selectors = makeBrushCommonSelectorForSeries(selectableArea);
+      return selectableArea;
+    });
+    var visualMappings = createVisualMappings(brushModel.option, STATE_LIST, function(mappingOption) {
+      mappingOption.mappingMethod = "fixed";
+    });
+    isArray$2(brushLink) && each$f(brushLink, function(seriesIndex) {
+      linkedSeriesMap[seriesIndex] = 1;
+    });
+    function linkOthers(seriesIndex) {
+      return brushLink === "all" || !!linkedSeriesMap[seriesIndex];
+    }
+    function brushed(rangeInfoList) {
+      return !!rangeInfoList.length;
+    }
+    ecModel.eachSeries(function(seriesModel, seriesIndex) {
+      var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];
+      seriesModel.subType === "parallel" ? stepAParallel(seriesModel, seriesIndex) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);
+    });
+    function stepAParallel(seriesModel, seriesIndex) {
+      var coordSys = seriesModel.coordinateSystem;
+      hasBrushExists = hasBrushExists || coordSys.hasAxisBrushed();
+      linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function(activeState, dataIndex) {
+        activeState === "active" && (selectedDataIndexForLink[dataIndex] = 1);
+      });
+    }
+    function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {
+      if (!seriesModel.brushSelector || brushModelNotControll(brushModel, seriesIndex)) {
+        return;
+      }
+      each$f(areas, function(area) {
+        if (brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel)) {
+          rangeInfoList.push(area);
+        }
+        hasBrushExists = hasBrushExists || brushed(rangeInfoList);
+      });
+      if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {
+        var data_1 = seriesModel.getData();
+        data_1.each(function(dataIndex) {
+          if (checkInRange(seriesModel, rangeInfoList, data_1, dataIndex)) {
+            selectedDataIndexForLink[dataIndex] = 1;
+          }
+        });
+      }
+    }
+    ecModel.eachSeries(function(seriesModel, seriesIndex) {
+      var seriesBrushSelected = {
+        seriesId: seriesModel.id,
+        seriesIndex,
+        seriesName: seriesModel.name,
+        dataIndex: []
+      };
+      thisBrushSelected.selected.push(seriesBrushSelected);
+      var rangeInfoList = rangeInfoBySeries[seriesIndex];
+      var data2 = seriesModel.getData();
+      var getValueState = linkOthers(seriesIndex) ? function(dataIndex) {
+        return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data2.getRawIndex(dataIndex)), "inBrush") : "outOfBrush";
+      } : function(dataIndex) {
+        return checkInRange(seriesModel, rangeInfoList, data2, dataIndex) ? (seriesBrushSelected.dataIndex.push(data2.getRawIndex(dataIndex)), "inBrush") : "outOfBrush";
+      };
+      (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && applyVisual(STATE_LIST, visualMappings, data2, getValueState);
+    });
+  });
+  dispatchAction$1(api2, throttleType, throttleDelay, brushSelected, payload);
+}
+function dispatchAction$1(api2, throttleType, throttleDelay, brushSelected, payload) {
+  if (!payload) {
+    return;
+  }
+  var zr = api2.getZr();
+  if (zr[DISPATCH_FLAG]) {
+    return;
+  }
+  if (!zr[DISPATCH_METHOD]) {
+    zr[DISPATCH_METHOD] = doDispatch;
+  }
+  var fn = createOrUpdate(zr, DISPATCH_METHOD, throttleDelay, throttleType);
+  fn(api2, brushSelected);
+}
+function doDispatch(api2, brushSelected) {
+  if (!api2.isDisposed()) {
+    var zr = api2.getZr();
+    zr[DISPATCH_FLAG] = true;
+    api2.dispatchAction({
+      type: "brushSelect",
+      batch: brushSelected
+    });
+    zr[DISPATCH_FLAG] = false;
+  }
+}
+function checkInRange(seriesModel, rangeInfoList, data2, dataIndex) {
+  for (var i2 = 0, len2 = rangeInfoList.length; i2 < len2; i2++) {
+    var area = rangeInfoList[i2];
+    if (seriesModel.brushSelector(dataIndex, data2, area.selectors, area)) {
+      return true;
+    }
+  }
+}
+function brushModelNotControll(brushModel, seriesIndex) {
+  var seriesIndices = brushModel.option.seriesIndex;
+  return seriesIndices != null && seriesIndices !== "all" && (isArray$2(seriesIndices) ? indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);
+}
+var boundingRectBuilders = {
+  rect: function(area) {
+    return getBoundingRectFromMinMax(area.range);
+  },
+  polygon: function(area) {
+    var minMax;
+    var range2 = area.range;
+    for (var i2 = 0, len2 = range2.length; i2 < len2; i2++) {
+      minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];
+      var rg = range2[i2];
+      rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);
+      rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);
+      rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);
+      rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);
+    }
+    return minMax && getBoundingRectFromMinMax(minMax);
+  }
+};
+function getBoundingRectFromMinMax(minMax) {
+  return new BoundingRect$1(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);
+}
+var BrushView = (
+  /** @class */
+  function(_super) {
+    __extends(BrushView2, _super);
+    function BrushView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = BrushView2.type;
+      return _this;
+    }
+    BrushView2.prototype.init = function(ecModel, api2) {
+      this.ecModel = ecModel;
+      this.api = api2;
+      this.model;
+      (this._brushController = new BrushController$1(api2.getZr())).on("brush", bind$2(this._onBrush, this)).mount();
+    };
+    BrushView2.prototype.render = function(brushModel, ecModel, api2, payload) {
+      this.model = brushModel;
+      this._updateController(brushModel, ecModel, api2, payload);
+    };
+    BrushView2.prototype.updateTransform = function(brushModel, ecModel, api2, payload) {
+      layoutCovers(ecModel);
+      this._updateController(brushModel, ecModel, api2, payload);
+    };
+    BrushView2.prototype.updateVisual = function(brushModel, ecModel, api2, payload) {
+      this.updateTransform(brushModel, ecModel, api2, payload);
+    };
+    BrushView2.prototype.updateView = function(brushModel, ecModel, api2, payload) {
+      this._updateController(brushModel, ecModel, api2, payload);
+    };
+    BrushView2.prototype._updateController = function(brushModel, ecModel, api2, payload) {
+      (!payload || payload.$from !== brushModel.id) && this._brushController.setPanels(brushModel.brushTargetManager.makePanelOpts(api2)).enableBrush(brushModel.brushOption).updateCovers(brushModel.areas.slice());
+    };
+    BrushView2.prototype.dispose = function() {
+      this._brushController.dispose();
+    };
+    BrushView2.prototype._onBrush = function(eventParam) {
+      var modelId = this.model.id;
+      var areas = this.model.brushTargetManager.setOutputRanges(eventParam.areas, this.ecModel);
+      (!eventParam.isEnd || eventParam.removeOnClick) && this.api.dispatchAction({
+        type: "brush",
+        brushId: modelId,
+        areas: clone$4(areas),
+        $from: modelId
+      });
+      eventParam.isEnd && this.api.dispatchAction({
+        type: "brushEnd",
+        brushId: modelId,
+        areas: clone$4(areas),
+        $from: modelId
+      });
+    };
+    BrushView2.type = "brush";
+    return BrushView2;
+  }(ComponentView$1)
+);
+const BrushView$1 = BrushView;
+var DEFAULT_OUT_OF_BRUSH_COLOR = "#ddd";
+var BrushModel = (
+  /** @class */
+  function(_super) {
+    __extends(BrushModel2, _super);
+    function BrushModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = BrushModel2.type;
+      _this.areas = [];
+      _this.brushOption = {};
+      return _this;
+    }
+    BrushModel2.prototype.optionUpdated = function(newOption, isInit) {
+      var thisOption = this.option;
+      !isInit && replaceVisualOption(thisOption, newOption, ["inBrush", "outOfBrush"]);
+      var inBrush = thisOption.inBrush = thisOption.inBrush || {};
+      thisOption.outOfBrush = thisOption.outOfBrush || {
+        color: DEFAULT_OUT_OF_BRUSH_COLOR
+      };
+      if (!inBrush.hasOwnProperty("liftZ")) {
+        inBrush.liftZ = 5;
+      }
+    };
+    BrushModel2.prototype.setAreas = function(areas) {
+      if (!areas) {
+        return;
+      }
+      this.areas = map$1(areas, function(area) {
+        return generateBrushOption(this.option, area);
+      }, this);
+    };
+    BrushModel2.prototype.setBrushOption = function(brushOption) {
+      this.brushOption = generateBrushOption(this.option, brushOption);
+      this.brushType = this.brushOption.brushType;
+    };
+    BrushModel2.type = "brush";
+    BrushModel2.dependencies = ["geo", "grid", "xAxis", "yAxis", "parallel", "series"];
+    BrushModel2.defaultOption = {
+      seriesIndex: "all",
+      brushType: "rect",
+      brushMode: "single",
+      transformable: true,
+      brushStyle: {
+        borderWidth: 1,
+        color: "rgba(210,219,238,0.3)",
+        borderColor: "#D2DBEE"
+      },
+      throttleType: "fixRate",
+      throttleDelay: 0,
+      removeOnClick: true,
+      z: 1e4
+    };
+    return BrushModel2;
+  }(ComponentModel$1)
+);
+function generateBrushOption(option, brushOption) {
+  return merge$1({
+    brushType: option.brushType,
+    brushMode: option.brushMode,
+    transformable: option.transformable,
+    brushStyle: new Model$1(option.brushStyle).getItemStyle(),
+    removeOnClick: option.removeOnClick,
+    z: option.z
+  }, brushOption, true);
+}
+const BrushModel$1 = BrushModel;
+var ICON_TYPES = ["rect", "polygon", "lineX", "lineY", "keep", "clear"];
+var BrushFeature = (
+  /** @class */
+  function(_super) {
+    __extends(BrushFeature2, _super);
+    function BrushFeature2() {
+      return _super !== null && _super.apply(this, arguments) || this;
+    }
+    BrushFeature2.prototype.render = function(featureModel, ecModel, api2) {
+      var brushType;
+      var brushMode;
+      var isBrushed;
+      ecModel.eachComponent({
+        mainType: "brush"
+      }, function(brushModel) {
+        brushType = brushModel.brushType;
+        brushMode = brushModel.brushOption.brushMode || "single";
+        isBrushed = isBrushed || !!brushModel.areas.length;
+      });
+      this._brushType = brushType;
+      this._brushMode = brushMode;
+      each$f(featureModel.get("type", true), function(type2) {
+        featureModel.setIconStatus(type2, (type2 === "keep" ? brushMode === "multiple" : type2 === "clear" ? isBrushed : type2 === brushType) ? "emphasis" : "normal");
+      });
+    };
+    BrushFeature2.prototype.updateView = function(featureModel, ecModel, api2) {
+      this.render(featureModel, ecModel, api2);
+    };
+    BrushFeature2.prototype.getIcons = function() {
+      var model2 = this.model;
+      var availableIcons = model2.get("icon", true);
+      var icons = {};
+      each$f(model2.get("type", true), function(type2) {
+        if (availableIcons[type2]) {
+          icons[type2] = availableIcons[type2];
+        }
+      });
+      return icons;
+    };
+    BrushFeature2.prototype.onclick = function(ecModel, api2, type2) {
+      var brushType = this._brushType;
+      var brushMode = this._brushMode;
+      if (type2 === "clear") {
+        api2.dispatchAction({
+          type: "axisAreaSelect",
+          intervals: []
+        });
+        api2.dispatchAction({
+          type: "brush",
+          command: "clear",
+          // Clear all areas of all brush components.
+          areas: []
+        });
+      } else {
+        api2.dispatchAction({
+          type: "takeGlobalCursor",
+          key: "brush",
+          brushOption: {
+            brushType: type2 === "keep" ? brushType : brushType === type2 ? false : type2,
+            brushMode: type2 === "keep" ? brushMode === "multiple" ? "single" : "multiple" : brushMode
+          }
+        });
+      }
+    };
+    BrushFeature2.getDefaultOption = function(ecModel) {
+      var defaultOption2 = {
+        show: true,
+        type: ICON_TYPES.slice(),
+        icon: {
+          /* eslint-disable */
+          rect: "M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",
+          polygon: "M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",
+          lineX: "M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",
+          lineY: "M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",
+          keep: "M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",
+          clear: "M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"
+          // jshint ignore:line
+          /* eslint-enable */
+        },
+        // `rect`, `polygon`, `lineX`, `lineY`, `keep`, `clear`
+        title: ecModel.getLocaleModel().get(["toolbox", "brush", "title"])
+      };
+      return defaultOption2;
+    };
+    return BrushFeature2;
+  }(ToolboxFeature)
+);
+const BrushFeature$1 = BrushFeature;
+function install$h(registers) {
+  registers.registerComponentView(BrushView$1);
+  registers.registerComponentModel(BrushModel$1);
+  registers.registerPreprocessor(brushPreprocessor);
+  registers.registerVisual(registers.PRIORITY.VISUAL.BRUSH, brushVisual);
+  registers.registerAction({
+    type: "brush",
+    event: "brush",
+    update: "updateVisual"
+  }, function(payload, ecModel) {
+    ecModel.eachComponent({
+      mainType: "brush",
+      query: payload
+    }, function(brushModel) {
+      brushModel.setAreas(payload.areas);
+    });
+  });
+  registers.registerAction({
+    type: "brushSelect",
+    event: "brushSelected",
+    update: "none"
+  }, noop$1);
+  registers.registerAction({
+    type: "brushEnd",
+    event: "brushEnd",
+    update: "none"
+  }, noop$1);
+  registerFeature("brush", BrushFeature$1);
+}
+var TitleModel = (
+  /** @class */
+  function(_super) {
+    __extends(TitleModel2, _super);
+    function TitleModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TitleModel2.type;
+      _this.layoutMode = {
+        type: "box",
+        ignoreSize: true
+      };
+      return _this;
+    }
+    TitleModel2.type = "title";
+    TitleModel2.defaultOption = {
+      // zlevel: 0,
+      z: 6,
+      show: true,
+      text: "",
+      target: "blank",
+      subtext: "",
+      subtarget: "blank",
+      left: 0,
+      top: 0,
+      backgroundColor: "rgba(0,0,0,0)",
+      borderColor: "#ccc",
+      borderWidth: 0,
+      padding: 5,
+      itemGap: 10,
+      textStyle: {
+        fontSize: 18,
+        fontWeight: "bold",
+        color: "#464646"
+      },
+      subtextStyle: {
+        fontSize: 12,
+        color: "#6E7079"
+      }
+    };
+    return TitleModel2;
+  }(ComponentModel$1)
+);
+var TitleView = (
+  /** @class */
+  function(_super) {
+    __extends(TitleView2, _super);
+    function TitleView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TitleView2.type;
+      return _this;
+    }
+    TitleView2.prototype.render = function(titleModel, ecModel, api2) {
+      this.group.removeAll();
+      if (!titleModel.get("show")) {
+        return;
+      }
+      var group = this.group;
+      var textStyleModel = titleModel.getModel("textStyle");
+      var subtextStyleModel = titleModel.getModel("subtextStyle");
+      var textAlign = titleModel.get("textAlign");
+      var textVerticalAlign = retrieve2(titleModel.get("textBaseline"), titleModel.get("textVerticalAlign"));
+      var textEl = new ZRText$1({
+        style: createTextStyle$1(textStyleModel, {
+          text: titleModel.get("text"),
+          fill: textStyleModel.getTextColor()
+        }, {
+          disableBox: true
+        }),
+        z2: 10
+      });
+      var textRect = textEl.getBoundingRect();
+      var subText = titleModel.get("subtext");
+      var subTextEl = new ZRText$1({
+        style: createTextStyle$1(subtextStyleModel, {
+          text: subText,
+          fill: subtextStyleModel.getTextColor(),
+          y: textRect.height + titleModel.get("itemGap"),
+          verticalAlign: "top"
+        }, {
+          disableBox: true
+        }),
+        z2: 10
+      });
+      var link = titleModel.get("link");
+      var sublink = titleModel.get("sublink");
+      var triggerEvent = titleModel.get("triggerEvent", true);
+      textEl.silent = !link && !triggerEvent;
+      subTextEl.silent = !sublink && !triggerEvent;
+      if (link) {
+        textEl.on("click", function() {
+          windowOpen(link, "_" + titleModel.get("target"));
+        });
+      }
+      if (sublink) {
+        subTextEl.on("click", function() {
+          windowOpen(sublink, "_" + titleModel.get("subtarget"));
+        });
+      }
+      getECData(textEl).eventData = getECData(subTextEl).eventData = triggerEvent ? {
+        componentType: "title",
+        componentIndex: titleModel.componentIndex
+      } : null;
+      group.add(textEl);
+      subText && group.add(subTextEl);
+      var groupRect = group.getBoundingRect();
+      var layoutOption = titleModel.getBoxLayoutParams();
+      layoutOption.width = groupRect.width;
+      layoutOption.height = groupRect.height;
+      var layoutRect = getLayoutRect(layoutOption, {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      }, titleModel.get("padding"));
+      if (!textAlign) {
+        textAlign = titleModel.get("left") || titleModel.get("right");
+        if (textAlign === "middle") {
+          textAlign = "center";
+        }
+        if (textAlign === "right") {
+          layoutRect.x += layoutRect.width;
+        } else if (textAlign === "center") {
+          layoutRect.x += layoutRect.width / 2;
+        }
+      }
+      if (!textVerticalAlign) {
+        textVerticalAlign = titleModel.get("top") || titleModel.get("bottom");
+        if (textVerticalAlign === "center") {
+          textVerticalAlign = "middle";
+        }
+        if (textVerticalAlign === "bottom") {
+          layoutRect.y += layoutRect.height;
+        } else if (textVerticalAlign === "middle") {
+          layoutRect.y += layoutRect.height / 2;
+        }
+        textVerticalAlign = textVerticalAlign || "top";
+      }
+      group.x = layoutRect.x;
+      group.y = layoutRect.y;
+      group.markRedraw();
+      var alignStyle = {
+        align: textAlign,
+        verticalAlign: textVerticalAlign
+      };
+      textEl.setStyle(alignStyle);
+      subTextEl.setStyle(alignStyle);
+      groupRect = group.getBoundingRect();
+      var padding = layoutRect.margin;
+      var style2 = titleModel.getItemStyle(["color", "opacity"]);
+      style2.fill = titleModel.get("backgroundColor");
+      var rect = new Rect$3({
+        shape: {
+          x: groupRect.x - padding[3],
+          y: groupRect.y - padding[0],
+          width: groupRect.width + padding[1] + padding[3],
+          height: groupRect.height + padding[0] + padding[2],
+          r: titleModel.get("borderRadius")
+        },
+        style: style2,
+        subPixelOptimize: true,
+        silent: true
+      });
+      group.add(rect);
+    };
+    TitleView2.type = "title";
+    return TitleView2;
+  }(ComponentView$1)
+);
+function install$g(registers) {
+  registers.registerComponentModel(TitleModel);
+  registers.registerComponentView(TitleView);
+}
+var TimelineModel = (
+  /** @class */
+  function(_super) {
+    __extends(TimelineModel2, _super);
+    function TimelineModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TimelineModel2.type;
+      _this.layoutMode = "box";
+      return _this;
+    }
+    TimelineModel2.prototype.init = function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+      this._initData();
+    };
+    TimelineModel2.prototype.mergeOption = function(option) {
+      _super.prototype.mergeOption.apply(this, arguments);
+      this._initData();
+    };
+    TimelineModel2.prototype.setCurrentIndex = function(currentIndex) {
+      if (currentIndex == null) {
+        currentIndex = this.option.currentIndex;
+      }
+      var count2 = this._data.count();
+      if (this.option.loop) {
+        currentIndex = (currentIndex % count2 + count2) % count2;
+      } else {
+        currentIndex >= count2 && (currentIndex = count2 - 1);
+        currentIndex < 0 && (currentIndex = 0);
+      }
+      this.option.currentIndex = currentIndex;
+    };
+    TimelineModel2.prototype.getCurrentIndex = function() {
+      return this.option.currentIndex;
+    };
+    TimelineModel2.prototype.isIndexMax = function() {
+      return this.getCurrentIndex() >= this._data.count() - 1;
+    };
+    TimelineModel2.prototype.setPlayState = function(state) {
+      this.option.autoPlay = !!state;
+    };
+    TimelineModel2.prototype.getPlayState = function() {
+      return !!this.option.autoPlay;
+    };
+    TimelineModel2.prototype._initData = function() {
+      var thisOption = this.option;
+      var dataArr = thisOption.data || [];
+      var axisType = thisOption.axisType;
+      var names = this._names = [];
+      var processedDataArr;
+      if (axisType === "category") {
+        processedDataArr = [];
+        each$f(dataArr, function(item, index3) {
+          var value = convertOptionIdName(getDataItemValue(item), "");
+          var newItem;
+          if (isObject$4(item)) {
+            newItem = clone$4(item);
+            newItem.value = index3;
+          } else {
+            newItem = index3;
+          }
+          processedDataArr.push(newItem);
+          names.push(value);
+        });
+      } else {
+        processedDataArr = dataArr;
+      }
+      var dimType = {
+        category: "ordinal",
+        time: "time",
+        value: "number"
+      }[axisType] || "number";
+      var data2 = this._data = new SeriesData$1([{
+        name: "value",
+        type: dimType
+      }], this);
+      data2.initData(processedDataArr, names);
+    };
+    TimelineModel2.prototype.getData = function() {
+      return this._data;
+    };
+    TimelineModel2.prototype.getCategories = function() {
+      if (this.get("axisType") === "category") {
+        return this._names.slice();
+      }
+    };
+    TimelineModel2.type = "timeline";
+    TimelineModel2.defaultOption = {
+      // zlevel: 0,                  // 一级层叠
+      z: 4,
+      show: true,
+      axisType: "time",
+      realtime: true,
+      left: "20%",
+      top: null,
+      right: "20%",
+      bottom: 0,
+      width: null,
+      height: 40,
+      padding: 5,
+      controlPosition: "left",
+      autoPlay: false,
+      rewind: false,
+      loop: true,
+      playInterval: 2e3,
+      currentIndex: 0,
+      itemStyle: {},
+      label: {
+        color: "#000"
+      },
+      data: []
+    };
+    return TimelineModel2;
+  }(ComponentModel$1)
+);
+const TimelineModel$1 = TimelineModel;
+var SliderTimelineModel = (
+  /** @class */
+  function(_super) {
+    __extends(SliderTimelineModel2, _super);
+    function SliderTimelineModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SliderTimelineModel2.type;
+      return _this;
+    }
+    SliderTimelineModel2.type = "timeline.slider";
+    SliderTimelineModel2.defaultOption = inheritDefaultOption(TimelineModel$1.defaultOption, {
+      backgroundColor: "rgba(0,0,0,0)",
+      borderColor: "#ccc",
+      borderWidth: 0,
+      orient: "horizontal",
+      inverse: false,
+      tooltip: {
+        trigger: "item"
+        // data item may also have tootip attr.
+      },
+      symbol: "circle",
+      symbolSize: 12,
+      lineStyle: {
+        show: true,
+        width: 2,
+        color: "#DAE1F5"
+      },
+      label: {
+        position: "auto",
+        // When using number, label position is not
+        // restricted by viewRect.
+        // positive: right/bottom, negative: left/top
+        show: true,
+        interval: "auto",
+        rotate: 0,
+        // formatter: null,
+        // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+        color: "#A4B1D7"
+      },
+      itemStyle: {
+        color: "#A4B1D7",
+        borderWidth: 1
+      },
+      checkpointStyle: {
+        symbol: "circle",
+        symbolSize: 15,
+        color: "#316bf3",
+        borderColor: "#fff",
+        borderWidth: 2,
+        shadowBlur: 2,
+        shadowOffsetX: 1,
+        shadowOffsetY: 1,
+        shadowColor: "rgba(0, 0, 0, 0.3)",
+        // borderColor: 'rgba(194,53,49, 0.5)',
+        animation: true,
+        animationDuration: 300,
+        animationEasing: "quinticInOut"
+      },
+      controlStyle: {
+        show: true,
+        showPlayBtn: true,
+        showPrevBtn: true,
+        showNextBtn: true,
+        itemSize: 24,
+        itemGap: 12,
+        position: "left",
+        playIcon: "path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",
+        stopIcon: "path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",
+        // eslint-disable-next-line max-len
+        nextIcon: "M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",
+        // eslint-disable-next-line max-len
+        prevIcon: "M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",
+        prevBtnSize: 18,
+        nextBtnSize: 18,
+        color: "#A4B1D7",
+        borderColor: "#A4B1D7",
+        borderWidth: 1
+      },
+      emphasis: {
+        label: {
+          show: true,
+          // 其余属性默认使用全局文本样式,详见TEXTSTYLE
+          color: "#6f778d"
+        },
+        itemStyle: {
+          color: "#316BF3"
+        },
+        controlStyle: {
+          color: "#316BF3",
+          borderColor: "#316BF3",
+          borderWidth: 2
+        }
+      },
+      progress: {
+        lineStyle: {
+          color: "#316BF3"
+        },
+        itemStyle: {
+          color: "#316BF3"
+        },
+        label: {
+          color: "#6f778d"
+        }
+      },
+      data: []
+    });
+    return SliderTimelineModel2;
+  }(TimelineModel$1)
+);
+mixin(SliderTimelineModel, DataFormatMixin.prototype);
+const SliderTimelineModel$1 = SliderTimelineModel;
+var TimelineView = (
+  /** @class */
+  function(_super) {
+    __extends(TimelineView2, _super);
+    function TimelineView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = TimelineView2.type;
+      return _this;
+    }
+    TimelineView2.type = "timeline";
+    return TimelineView2;
+  }(ComponentView$1)
+);
+const TimelineView$1 = TimelineView;
+var TimelineAxis = (
+  /** @class */
+  function(_super) {
+    __extends(TimelineAxis2, _super);
+    function TimelineAxis2(dim, scale2, coordExtent, axisType) {
+      var _this = _super.call(this, dim, scale2, coordExtent) || this;
+      _this.type = axisType || "value";
+      return _this;
+    }
+    TimelineAxis2.prototype.getLabelModel = function() {
+      return this.model.getModel("label");
+    };
+    TimelineAxis2.prototype.isHorizontal = function() {
+      return this.model.get("orient") === "horizontal";
+    };
+    return TimelineAxis2;
+  }(Axis$1)
+);
+const TimelineAxis$1 = TimelineAxis;
+var PI = Math.PI;
+var labelDataIndexStore = makeInner();
+var SliderTimelineView = (
+  /** @class */
+  function(_super) {
+    __extends(SliderTimelineView2, _super);
+    function SliderTimelineView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SliderTimelineView2.type;
+      return _this;
+    }
+    SliderTimelineView2.prototype.init = function(ecModel, api2) {
+      this.api = api2;
+    };
+    SliderTimelineView2.prototype.render = function(timelineModel, ecModel, api2) {
+      this.model = timelineModel;
+      this.api = api2;
+      this.ecModel = ecModel;
+      this.group.removeAll();
+      if (timelineModel.get("show", true)) {
+        var layoutInfo_1 = this._layout(timelineModel, api2);
+        var mainGroup_1 = this._createGroup("_mainGroup");
+        var labelGroup = this._createGroup("_labelGroup");
+        var axis_1 = this._axis = this._createAxis(layoutInfo_1, timelineModel);
+        timelineModel.formatTooltip = function(dataIndex) {
+          var name2 = axis_1.scale.getLabel({
+            value: dataIndex
+          });
+          return createTooltipMarkup("nameValue", {
+            noName: true,
+            value: name2
+          });
+        };
+        each$f(["AxisLine", "AxisTick", "Control", "CurrentPointer"], function(name2) {
+          this["_render" + name2](layoutInfo_1, mainGroup_1, axis_1, timelineModel);
+        }, this);
+        this._renderAxisLabel(layoutInfo_1, labelGroup, axis_1, timelineModel);
+        this._position(layoutInfo_1, timelineModel);
+      }
+      this._doPlayStop();
+      this._updateTicksStatus();
+    };
+    SliderTimelineView2.prototype.remove = function() {
+      this._clearTimer();
+      this.group.removeAll();
+    };
+    SliderTimelineView2.prototype.dispose = function() {
+      this._clearTimer();
+    };
+    SliderTimelineView2.prototype._layout = function(timelineModel, api2) {
+      var labelPosOpt = timelineModel.get(["label", "position"]);
+      var orient = timelineModel.get("orient");
+      var viewRect2 = getViewRect(timelineModel, api2);
+      var parsedLabelPos;
+      if (labelPosOpt == null || labelPosOpt === "auto") {
+        parsedLabelPos = orient === "horizontal" ? viewRect2.y + viewRect2.height / 2 < api2.getHeight() / 2 ? "-" : "+" : viewRect2.x + viewRect2.width / 2 < api2.getWidth() / 2 ? "+" : "-";
+      } else if (isString$1(labelPosOpt)) {
+        parsedLabelPos = {
+          horizontal: {
+            top: "-",
+            bottom: "+"
+          },
+          vertical: {
+            left: "-",
+            right: "+"
+          }
+        }[orient][labelPosOpt];
+      } else {
+        parsedLabelPos = labelPosOpt;
+      }
+      var labelAlignMap = {
+        horizontal: "center",
+        vertical: parsedLabelPos >= 0 || parsedLabelPos === "+" ? "left" : "right"
+      };
+      var labelBaselineMap = {
+        horizontal: parsedLabelPos >= 0 || parsedLabelPos === "+" ? "top" : "bottom",
+        vertical: "middle"
+      };
+      var rotationMap = {
+        horizontal: 0,
+        vertical: PI / 2
+      };
+      var mainLength = orient === "vertical" ? viewRect2.height : viewRect2.width;
+      var controlModel = timelineModel.getModel("controlStyle");
+      var showControl = controlModel.get("show", true);
+      var controlSize = showControl ? controlModel.get("itemSize") : 0;
+      var controlGap = showControl ? controlModel.get("itemGap") : 0;
+      var sizePlusGap = controlSize + controlGap;
+      var labelRotation = timelineModel.get(["label", "rotate"]) || 0;
+      labelRotation = labelRotation * PI / 180;
+      var playPosition;
+      var prevBtnPosition;
+      var nextBtnPosition;
+      var controlPosition = controlModel.get("position", true);
+      var showPlayBtn = showControl && controlModel.get("showPlayBtn", true);
+      var showPrevBtn = showControl && controlModel.get("showPrevBtn", true);
+      var showNextBtn = showControl && controlModel.get("showNextBtn", true);
+      var xLeft = 0;
+      var xRight = mainLength;
+      if (controlPosition === "left" || controlPosition === "bottom") {
+        showPlayBtn && (playPosition = [0, 0], xLeft += sizePlusGap);
+        showPrevBtn && (prevBtnPosition = [xLeft, 0], xLeft += sizePlusGap);
+        showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);
+      } else {
+        showPlayBtn && (playPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);
+        showPrevBtn && (prevBtnPosition = [0, 0], xLeft += sizePlusGap);
+        showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);
+      }
+      var axisExtent = [xLeft, xRight];
+      if (timelineModel.get("inverse")) {
+        axisExtent.reverse();
+      }
+      return {
+        viewRect: viewRect2,
+        mainLength,
+        orient,
+        rotation: rotationMap[orient],
+        labelRotation,
+        labelPosOpt: parsedLabelPos,
+        labelAlign: timelineModel.get(["label", "align"]) || labelAlignMap[orient],
+        labelBaseline: timelineModel.get(["label", "verticalAlign"]) || timelineModel.get(["label", "baseline"]) || labelBaselineMap[orient],
+        // Based on mainGroup.
+        playPosition,
+        prevBtnPosition,
+        nextBtnPosition,
+        axisExtent,
+        controlSize,
+        controlGap
+      };
+    };
+    SliderTimelineView2.prototype._position = function(layoutInfo, timelineModel) {
+      var mainGroup = this._mainGroup;
+      var labelGroup = this._labelGroup;
+      var viewRect2 = layoutInfo.viewRect;
+      if (layoutInfo.orient === "vertical") {
+        var m2 = create$1();
+        var rotateOriginX = viewRect2.x;
+        var rotateOriginY = viewRect2.y + viewRect2.height;
+        translate(m2, m2, [-rotateOriginX, -rotateOriginY]);
+        rotate(m2, m2, -PI / 2);
+        translate(m2, m2, [rotateOriginX, rotateOriginY]);
+        viewRect2 = viewRect2.clone();
+        viewRect2.applyTransform(m2);
+      }
+      var viewBound = getBound(viewRect2);
+      var mainBound = getBound(mainGroup.getBoundingRect());
+      var labelBound = getBound(labelGroup.getBoundingRect());
+      var mainPosition = [mainGroup.x, mainGroup.y];
+      var labelsPosition = [labelGroup.x, labelGroup.y];
+      labelsPosition[0] = mainPosition[0] = viewBound[0][0];
+      var labelPosOpt = layoutInfo.labelPosOpt;
+      if (labelPosOpt == null || isString$1(labelPosOpt)) {
+        var mainBoundIdx = labelPosOpt === "+" ? 0 : 1;
+        toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);
+        toBound(labelsPosition, labelBound, viewBound, 1, 1 - mainBoundIdx);
+      } else {
+        var mainBoundIdx = labelPosOpt >= 0 ? 0 : 1;
+        toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);
+        labelsPosition[1] = mainPosition[1] + labelPosOpt;
+      }
+      mainGroup.setPosition(mainPosition);
+      labelGroup.setPosition(labelsPosition);
+      mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;
+      setOrigin(mainGroup);
+      setOrigin(labelGroup);
+      function setOrigin(targetGroup) {
+        targetGroup.originX = viewBound[0][0] - targetGroup.x;
+        targetGroup.originY = viewBound[1][0] - targetGroup.y;
+      }
+      function getBound(rect) {
+        return [[rect.x, rect.x + rect.width], [rect.y, rect.y + rect.height]];
+      }
+      function toBound(fromPos, from, to, dimIdx, boundIdx) {
+        fromPos[dimIdx] += to[dimIdx][boundIdx] - from[dimIdx][boundIdx];
+      }
+    };
+    SliderTimelineView2.prototype._createAxis = function(layoutInfo, timelineModel) {
+      var data2 = timelineModel.getData();
+      var axisType = timelineModel.get("axisType");
+      var scale2 = createScaleByModel(timelineModel, axisType);
+      scale2.getTicks = function() {
+        return data2.mapArray(["value"], function(value) {
+          return {
+            value
+          };
+        });
+      };
+      var dataExtent = data2.getDataExtent("value");
+      scale2.setExtent(dataExtent[0], dataExtent[1]);
+      scale2.calcNiceTicks();
+      var axis2 = new TimelineAxis$1("value", scale2, layoutInfo.axisExtent, axisType);
+      axis2.model = timelineModel;
+      return axis2;
+    };
+    SliderTimelineView2.prototype._createGroup = function(key2) {
+      var newGroup = this[key2] = new Group$4();
+      this.group.add(newGroup);
+      return newGroup;
+    };
+    SliderTimelineView2.prototype._renderAxisLine = function(layoutInfo, group, axis2, timelineModel) {
+      var axisExtent = axis2.getExtent();
+      if (!timelineModel.get(["lineStyle", "show"])) {
+        return;
+      }
+      var line2 = new Line$3({
+        shape: {
+          x1: axisExtent[0],
+          y1: 0,
+          x2: axisExtent[1],
+          y2: 0
+        },
+        style: extend$1({
+          lineCap: "round"
+        }, timelineModel.getModel("lineStyle").getLineStyle()),
+        silent: true,
+        z2: 1
+      });
+      group.add(line2);
+      var progressLine = this._progressLine = new Line$3({
+        shape: {
+          x1: axisExtent[0],
+          x2: this._currentPointer ? this._currentPointer.x : axisExtent[0],
+          y1: 0,
+          y2: 0
+        },
+        style: defaults$2({
+          lineCap: "round",
+          lineWidth: line2.style.lineWidth
+        }, timelineModel.getModel(["progress", "lineStyle"]).getLineStyle()),
+        silent: true,
+        z2: 1
+      });
+      group.add(progressLine);
+    };
+    SliderTimelineView2.prototype._renderAxisTick = function(layoutInfo, group, axis2, timelineModel) {
+      var _this = this;
+      var data2 = timelineModel.getData();
+      var ticks = axis2.scale.getTicks();
+      this._tickSymbols = [];
+      each$f(ticks, function(tick) {
+        var tickCoord = axis2.dataToCoord(tick.value);
+        var itemModel = data2.getItemModel(tick.value);
+        var itemStyleModel = itemModel.getModel("itemStyle");
+        var hoverStyleModel = itemModel.getModel(["emphasis", "itemStyle"]);
+        var progressStyleModel = itemModel.getModel(["progress", "itemStyle"]);
+        var symbolOpt = {
+          x: tickCoord,
+          y: 0,
+          onclick: bind$2(_this._changeTimeline, _this, tick.value)
+        };
+        var el = giveSymbol(itemModel, itemStyleModel, group, symbolOpt);
+        el.ensureState("emphasis").style = hoverStyleModel.getItemStyle();
+        el.ensureState("progress").style = progressStyleModel.getItemStyle();
+        enableHoverEmphasis(el);
+        var ecData = getECData(el);
+        if (itemModel.get("tooltip")) {
+          ecData.dataIndex = tick.value;
+          ecData.dataModel = timelineModel;
+        } else {
+          ecData.dataIndex = ecData.dataModel = null;
+        }
+        _this._tickSymbols.push(el);
+      });
+    };
+    SliderTimelineView2.prototype._renderAxisLabel = function(layoutInfo, group, axis2, timelineModel) {
+      var _this = this;
+      var labelModel = axis2.getLabelModel();
+      if (!labelModel.get("show")) {
+        return;
+      }
+      var data2 = timelineModel.getData();
+      var labels = axis2.getViewLabels();
+      this._tickLabels = [];
+      each$f(labels, function(labelItem) {
+        var dataIndex = labelItem.tickValue;
+        var itemModel = data2.getItemModel(dataIndex);
+        var normalLabelModel = itemModel.getModel("label");
+        var hoverLabelModel = itemModel.getModel(["emphasis", "label"]);
+        var progressLabelModel = itemModel.getModel(["progress", "label"]);
+        var tickCoord = axis2.dataToCoord(labelItem.tickValue);
+        var textEl = new ZRText$1({
+          x: tickCoord,
+          y: 0,
+          rotation: layoutInfo.labelRotation - layoutInfo.rotation,
+          onclick: bind$2(_this._changeTimeline, _this, dataIndex),
+          silent: false,
+          style: createTextStyle$1(normalLabelModel, {
+            text: labelItem.formattedLabel,
+            align: layoutInfo.labelAlign,
+            verticalAlign: layoutInfo.labelBaseline
+          })
+        });
+        textEl.ensureState("emphasis").style = createTextStyle$1(hoverLabelModel);
+        textEl.ensureState("progress").style = createTextStyle$1(progressLabelModel);
+        group.add(textEl);
+        enableHoverEmphasis(textEl);
+        labelDataIndexStore(textEl).dataIndex = dataIndex;
+        _this._tickLabels.push(textEl);
+      });
+    };
+    SliderTimelineView2.prototype._renderControl = function(layoutInfo, group, axis2, timelineModel) {
+      var controlSize = layoutInfo.controlSize;
+      var rotation = layoutInfo.rotation;
+      var itemStyle2 = timelineModel.getModel("controlStyle").getItemStyle();
+      var hoverStyle = timelineModel.getModel(["emphasis", "controlStyle"]).getItemStyle();
+      var playState = timelineModel.getPlayState();
+      var inverse = timelineModel.get("inverse", true);
+      makeBtn(layoutInfo.nextBtnPosition, "next", bind$2(this._changeTimeline, this, inverse ? "-" : "+"));
+      makeBtn(layoutInfo.prevBtnPosition, "prev", bind$2(this._changeTimeline, this, inverse ? "+" : "-"));
+      makeBtn(layoutInfo.playPosition, playState ? "stop" : "play", bind$2(this._handlePlayClick, this, !playState), true);
+      function makeBtn(position2, iconName, onclick, willRotate) {
+        if (!position2) {
+          return;
+        }
+        var iconSize = parsePercent$1(retrieve2(timelineModel.get(["controlStyle", iconName + "BtnSize"]), controlSize), controlSize);
+        var rect = [0, -iconSize / 2, iconSize, iconSize];
+        var btn = makeControlIcon(timelineModel, iconName + "Icon", rect, {
+          x: position2[0],
+          y: position2[1],
+          originX: controlSize / 2,
+          originY: 0,
+          rotation: willRotate ? -rotation : 0,
+          rectHover: true,
+          style: itemStyle2,
+          onclick
+        });
+        btn.ensureState("emphasis").style = hoverStyle;
+        group.add(btn);
+        enableHoverEmphasis(btn);
+      }
+    };
+    SliderTimelineView2.prototype._renderCurrentPointer = function(layoutInfo, group, axis2, timelineModel) {
+      var data2 = timelineModel.getData();
+      var currentIndex = timelineModel.getCurrentIndex();
+      var pointerModel = data2.getItemModel(currentIndex).getModel("checkpointStyle");
+      var me = this;
+      var callback = {
+        onCreate: function(pointer) {
+          pointer.draggable = true;
+          pointer.drift = bind$2(me._handlePointerDrag, me);
+          pointer.ondragend = bind$2(me._handlePointerDragend, me);
+          pointerMoveTo(pointer, me._progressLine, currentIndex, axis2, timelineModel, true);
+        },
+        onUpdate: function(pointer) {
+          pointerMoveTo(pointer, me._progressLine, currentIndex, axis2, timelineModel);
+        }
+      };
+      this._currentPointer = giveSymbol(pointerModel, pointerModel, this._mainGroup, {}, this._currentPointer, callback);
+    };
+    SliderTimelineView2.prototype._handlePlayClick = function(nextState) {
+      this._clearTimer();
+      this.api.dispatchAction({
+        type: "timelinePlayChange",
+        playState: nextState,
+        from: this.uid
+      });
+    };
+    SliderTimelineView2.prototype._handlePointerDrag = function(dx, dy, e2) {
+      this._clearTimer();
+      this._pointerChangeTimeline([e2.offsetX, e2.offsetY]);
+    };
+    SliderTimelineView2.prototype._handlePointerDragend = function(e2) {
+      this._pointerChangeTimeline([e2.offsetX, e2.offsetY], true);
+    };
+    SliderTimelineView2.prototype._pointerChangeTimeline = function(mousePos, trigger2) {
+      var toCoord = this._toAxisCoord(mousePos)[0];
+      var axis2 = this._axis;
+      var axisExtent = asc$2(axis2.getExtent().slice());
+      toCoord > axisExtent[1] && (toCoord = axisExtent[1]);
+      toCoord < axisExtent[0] && (toCoord = axisExtent[0]);
+      this._currentPointer.x = toCoord;
+      this._currentPointer.markRedraw();
+      var progressLine = this._progressLine;
+      if (progressLine) {
+        progressLine.shape.x2 = toCoord;
+        progressLine.dirty();
+      }
+      var targetDataIndex = this._findNearestTick(toCoord);
+      var timelineModel = this.model;
+      if (trigger2 || targetDataIndex !== timelineModel.getCurrentIndex() && timelineModel.get("realtime")) {
+        this._changeTimeline(targetDataIndex);
+      }
+    };
+    SliderTimelineView2.prototype._doPlayStop = function() {
+      var _this = this;
+      this._clearTimer();
+      if (this.model.getPlayState()) {
+        this._timer = setTimeout(function() {
+          var timelineModel = _this.model;
+          _this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get("rewind", true) ? -1 : 1));
+        }, this.model.get("playInterval"));
+      }
+    };
+    SliderTimelineView2.prototype._toAxisCoord = function(vertex) {
+      var trans = this._mainGroup.getLocalTransform();
+      return applyTransform(vertex, trans, true);
+    };
+    SliderTimelineView2.prototype._findNearestTick = function(axisCoord) {
+      var data2 = this.model.getData();
+      var dist2 = Infinity;
+      var targetDataIndex;
+      var axis2 = this._axis;
+      data2.each(["value"], function(value, dataIndex) {
+        var coord = axis2.dataToCoord(value);
+        var d2 = Math.abs(coord - axisCoord);
+        if (d2 < dist2) {
+          dist2 = d2;
+          targetDataIndex = dataIndex;
+        }
+      });
+      return targetDataIndex;
+    };
+    SliderTimelineView2.prototype._clearTimer = function() {
+      if (this._timer) {
+        clearTimeout(this._timer);
+        this._timer = null;
+      }
+    };
+    SliderTimelineView2.prototype._changeTimeline = function(nextIndex) {
+      var currentIndex = this.model.getCurrentIndex();
+      if (nextIndex === "+") {
+        nextIndex = currentIndex + 1;
+      } else if (nextIndex === "-") {
+        nextIndex = currentIndex - 1;
+      }
+      this.api.dispatchAction({
+        type: "timelineChange",
+        currentIndex: nextIndex,
+        from: this.uid
+      });
+    };
+    SliderTimelineView2.prototype._updateTicksStatus = function() {
+      var currentIndex = this.model.getCurrentIndex();
+      var tickSymbols = this._tickSymbols;
+      var tickLabels = this._tickLabels;
+      if (tickSymbols) {
+        for (var i2 = 0; i2 < tickSymbols.length; i2++) {
+          tickSymbols && tickSymbols[i2] && tickSymbols[i2].toggleState("progress", i2 < currentIndex);
+        }
+      }
+      if (tickLabels) {
+        for (var i2 = 0; i2 < tickLabels.length; i2++) {
+          tickLabels && tickLabels[i2] && tickLabels[i2].toggleState("progress", labelDataIndexStore(tickLabels[i2]).dataIndex <= currentIndex);
+        }
+      }
+    };
+    SliderTimelineView2.type = "timeline.slider";
+    return SliderTimelineView2;
+  }(TimelineView$1)
+);
+function createScaleByModel(model2, axisType) {
+  axisType = axisType || model2.get("type");
+  if (axisType) {
+    switch (axisType) {
+      case "category":
+        return new OrdinalScale$1({
+          ordinalMeta: model2.getCategories(),
+          extent: [Infinity, -Infinity]
+        });
+      case "time":
+        return new TimeScale$1({
+          locale: model2.ecModel.getLocaleModel(),
+          useUTC: model2.ecModel.get("useUTC")
+        });
+      default:
+        return new IntervalScale$1();
+    }
+  }
+}
+function getViewRect(model2, api2) {
+  return getLayoutRect(model2.getBoxLayoutParams(), {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  }, model2.get("padding"));
+}
+function makeControlIcon(timelineModel, objPath, rect, opts2) {
+  var style2 = opts2.style;
+  var icon = createIcon(timelineModel.get(["controlStyle", objPath]), opts2 || {}, new BoundingRect$1(rect[0], rect[1], rect[2], rect[3]));
+  if (style2) {
+    icon.setStyle(style2);
+  }
+  return icon;
+}
+function giveSymbol(hostModel, itemStyleModel, group, opt, symbol2, callback) {
+  var color2 = itemStyleModel.get("color");
+  if (!symbol2) {
+    var symbolType = hostModel.get("symbol");
+    symbol2 = createSymbol$1(symbolType, -1, -1, 2, 2, color2);
+    symbol2.setStyle("strokeNoScale", true);
+    group.add(symbol2);
+    callback && callback.onCreate(symbol2);
+  } else {
+    symbol2.setColor(color2);
+    group.add(symbol2);
+    callback && callback.onUpdate(symbol2);
+  }
+  var itemStyle2 = itemStyleModel.getItemStyle(["color"]);
+  symbol2.setStyle(itemStyle2);
+  opt = merge$1({
+    rectHover: true,
+    z2: 100
+  }, opt, true);
+  var symbolSize = normalizeSymbolSize(hostModel.get("symbolSize"));
+  opt.scaleX = symbolSize[0] / 2;
+  opt.scaleY = symbolSize[1] / 2;
+  var symbolOffset = normalizeSymbolOffset(hostModel.get("symbolOffset"), symbolSize);
+  if (symbolOffset) {
+    opt.x = (opt.x || 0) + symbolOffset[0];
+    opt.y = (opt.y || 0) + symbolOffset[1];
+  }
+  var symbolRotate = hostModel.get("symbolRotate");
+  opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+  symbol2.attr(opt);
+  symbol2.updateTransform();
+  return symbol2;
+}
+function pointerMoveTo(pointer, progressLine, dataIndex, axis2, timelineModel, noAnimation) {
+  if (pointer.dragging) {
+    return;
+  }
+  var pointerModel = timelineModel.getModel("checkpointStyle");
+  var toCoord = axis2.dataToCoord(timelineModel.getData().get("value", dataIndex));
+  if (noAnimation || !pointerModel.get("animation", true)) {
+    pointer.attr({
+      x: toCoord,
+      y: 0
+    });
+    progressLine && progressLine.attr({
+      shape: {
+        x2: toCoord
+      }
+    });
+  } else {
+    var animationCfg = {
+      duration: pointerModel.get("animationDuration", true),
+      easing: pointerModel.get("animationEasing", true)
+    };
+    pointer.stopAnimation(null, true);
+    pointer.animateTo({
+      x: toCoord,
+      y: 0
+    }, animationCfg);
+    progressLine && progressLine.animateTo({
+      shape: {
+        x2: toCoord
+      }
+    }, animationCfg);
+  }
+}
+const SliderTimelineView$1 = SliderTimelineView;
+function installTimelineAction(registers) {
+  registers.registerAction({
+    type: "timelineChange",
+    event: "timelineChanged",
+    update: "prepareAndUpdate"
+  }, function(payload, ecModel, api2) {
+    var timelineModel = ecModel.getComponent("timeline");
+    if (timelineModel && payload.currentIndex != null) {
+      timelineModel.setCurrentIndex(payload.currentIndex);
+      if (!timelineModel.get("loop", true) && timelineModel.isIndexMax() && timelineModel.getPlayState()) {
+        timelineModel.setPlayState(false);
+        api2.dispatchAction({
+          type: "timelinePlayChange",
+          playState: false,
+          from: payload.from
+        });
+      }
+    }
+    ecModel.resetOption("timeline", {
+      replaceMerge: timelineModel.get("replaceMerge", true)
+    });
+    return defaults$2({
+      currentIndex: timelineModel.option.currentIndex
+    }, payload);
+  });
+  registers.registerAction({
+    type: "timelinePlayChange",
+    event: "timelinePlayChanged",
+    update: "update"
+  }, function(payload, ecModel) {
+    var timelineModel = ecModel.getComponent("timeline");
+    if (timelineModel && payload.playState != null) {
+      timelineModel.setPlayState(payload.playState);
+    }
+  });
+}
+function timelinePreprocessor(option) {
+  var timelineOpt = option && option.timeline;
+  if (!isArray$2(timelineOpt)) {
+    timelineOpt = timelineOpt ? [timelineOpt] : [];
+  }
+  each$f(timelineOpt, function(opt) {
+    if (!opt) {
+      return;
+    }
+    compatibleEC2(opt);
+  });
+}
+function compatibleEC2(opt) {
+  var type2 = opt.type;
+  var ec2Types = {
+    "number": "value",
+    "time": "time"
+  };
+  if (ec2Types[type2]) {
+    opt.axisType = ec2Types[type2];
+    delete opt.type;
+  }
+  transferItem(opt);
+  if (has$1(opt, "controlPosition")) {
+    var controlStyle = opt.controlStyle || (opt.controlStyle = {});
+    if (!has$1(controlStyle, "position")) {
+      controlStyle.position = opt.controlPosition;
+    }
+    if (controlStyle.position === "none" && !has$1(controlStyle, "show")) {
+      controlStyle.show = false;
+      delete controlStyle.position;
+    }
+    delete opt.controlPosition;
+  }
+  each$f(opt.data || [], function(dataItem) {
+    if (isObject$4(dataItem) && !isArray$2(dataItem)) {
+      if (!has$1(dataItem, "value") && has$1(dataItem, "name")) {
+        dataItem.value = dataItem.name;
+      }
+      transferItem(dataItem);
+    }
+  });
+}
+function transferItem(opt) {
+  var itemStyle2 = opt.itemStyle || (opt.itemStyle = {});
+  var itemStyleEmphasis = itemStyle2.emphasis || (itemStyle2.emphasis = {});
+  var label = opt.label || opt.label || {};
+  var labelNormal = label.normal || (label.normal = {});
+  var excludeLabelAttr = {
+    normal: 1,
+    emphasis: 1
+  };
+  each$f(label, function(value, name2) {
+    if (!excludeLabelAttr[name2] && !has$1(labelNormal, name2)) {
+      labelNormal[name2] = value;
+    }
+  });
+  if (itemStyleEmphasis.label && !has$1(label, "emphasis")) {
+    label.emphasis = itemStyleEmphasis.label;
+    delete itemStyleEmphasis.label;
+  }
+}
+function has$1(obj2, attr) {
+  return obj2.hasOwnProperty(attr);
+}
+function install$f(registers) {
+  registers.registerComponentModel(SliderTimelineModel$1);
+  registers.registerComponentView(SliderTimelineView$1);
+  registers.registerSubTypeDefaulter("timeline", function() {
+    return "slider";
+  });
+  installTimelineAction(registers);
+  registers.registerPreprocessor(timelinePreprocessor);
+}
+function checkMarkerInSeries(seriesOpts, markerType) {
+  if (!seriesOpts) {
+    return false;
+  }
+  var seriesOptArr = isArray$2(seriesOpts) ? seriesOpts : [seriesOpts];
+  for (var idx = 0; idx < seriesOptArr.length; idx++) {
+    if (seriesOptArr[idx] && seriesOptArr[idx][markerType]) {
+      return true;
+    }
+  }
+  return false;
+}
+function fillLabel(opt) {
+  defaultEmphasis(opt, "label", ["show"]);
+}
+var inner$5 = makeInner();
+var MarkerModel = (
+  /** @class */
+  function(_super) {
+    __extends(MarkerModel2, _super);
+    function MarkerModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkerModel2.type;
+      _this.createdBySelf = false;
+      return _this;
+    }
+    MarkerModel2.prototype.init = function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+      this._mergeOption(option, ecModel, false, true);
+    };
+    MarkerModel2.prototype.isAnimationEnabled = function() {
+      if (env$1.node) {
+        return false;
+      }
+      var hostSeries = this.__hostSeries;
+      return this.getShallow("animation") && hostSeries && hostSeries.isAnimationEnabled();
+    };
+    MarkerModel2.prototype.mergeOption = function(newOpt, ecModel) {
+      this._mergeOption(newOpt, ecModel, false, false);
+    };
+    MarkerModel2.prototype._mergeOption = function(newOpt, ecModel, createdBySelf, isInit) {
+      var componentType = this.mainType;
+      if (!createdBySelf) {
+        ecModel.eachSeries(function(seriesModel) {
+          var markerOpt = seriesModel.get(this.mainType, true);
+          var markerModel = inner$5(seriesModel)[componentType];
+          if (!markerOpt || !markerOpt.data) {
+            inner$5(seriesModel)[componentType] = null;
+            return;
+          }
+          if (!markerModel) {
+            if (isInit) {
+              fillLabel(markerOpt);
+            }
+            each$f(markerOpt.data, function(item) {
+              if (item instanceof Array) {
+                fillLabel(item[0]);
+                fillLabel(item[1]);
+              } else {
+                fillLabel(item);
+              }
+            });
+            markerModel = this.createMarkerModelFromSeries(markerOpt, this, ecModel);
+            extend$1(markerModel, {
+              mainType: this.mainType,
+              // Use the same series index and name
+              seriesIndex: seriesModel.seriesIndex,
+              name: seriesModel.name,
+              createdBySelf: true
+            });
+            markerModel.__hostSeries = seriesModel;
+          } else {
+            markerModel._mergeOption(markerOpt, ecModel, true);
+          }
+          inner$5(seriesModel)[componentType] = markerModel;
+        }, this);
+      }
+    };
+    MarkerModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
+      var data2 = this.getData();
+      var value = this.getRawValue(dataIndex);
+      var itemName = data2.getName(dataIndex);
+      return createTooltipMarkup("section", {
+        header: this.name,
+        blocks: [createTooltipMarkup("nameValue", {
+          name: itemName,
+          value,
+          noName: !itemName,
+          noValue: value == null
+        })]
+      });
+    };
+    MarkerModel2.prototype.getData = function() {
+      return this._data;
+    };
+    MarkerModel2.prototype.setData = function(data2) {
+      this._data = data2;
+    };
+    MarkerModel2.getMarkerModelFromSeries = function(seriesModel, componentType) {
+      return inner$5(seriesModel)[componentType];
+    };
+    MarkerModel2.type = "marker";
+    MarkerModel2.dependencies = ["series", "grid", "polar", "geo"];
+    return MarkerModel2;
+  }(ComponentModel$1)
+);
+mixin(MarkerModel, DataFormatMixin.prototype);
+const MarkerModel$1 = MarkerModel;
+var MarkPointModel = (
+  /** @class */
+  function(_super) {
+    __extends(MarkPointModel2, _super);
+    function MarkPointModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkPointModel2.type;
+      return _this;
+    }
+    MarkPointModel2.prototype.createMarkerModelFromSeries = function(markerOpt, masterMarkerModel, ecModel) {
+      return new MarkPointModel2(markerOpt, masterMarkerModel, ecModel);
+    };
+    MarkPointModel2.type = "markPoint";
+    MarkPointModel2.defaultOption = {
+      // zlevel: 0,
+      z: 5,
+      symbol: "pin",
+      symbolSize: 50,
+      // symbolRotate: 0,
+      // symbolOffset: [0, 0]
+      tooltip: {
+        trigger: "item"
+      },
+      label: {
+        show: true,
+        position: "inside"
+      },
+      itemStyle: {
+        borderWidth: 2
+      },
+      emphasis: {
+        label: {
+          show: true
+        }
+      }
+    };
+    return MarkPointModel2;
+  }(MarkerModel$1)
+);
+const MarkPointModel$1 = MarkPointModel;
+function hasXOrY(item) {
+  return !(isNaN(parseFloat(item.x)) && isNaN(parseFloat(item.y)));
+}
+function hasXAndY(item) {
+  return !isNaN(parseFloat(item.x)) && !isNaN(parseFloat(item.y));
+}
+function markerTypeCalculatorWithExtent(markerType, data2, otherDataDim, targetDataDim, otherCoordIndex, targetCoordIndex) {
+  var coordArr = [];
+  var stacked = isDimensionStacked(
+    data2,
+    targetDataDim
+    /* , otherDataDim */
+  );
+  var calcDataDim = stacked ? data2.getCalculationInfo("stackResultDimension") : targetDataDim;
+  var value = numCalculate(data2, calcDataDim, markerType);
+  var dataIndex = data2.indicesOfNearest(calcDataDim, value)[0];
+  coordArr[otherCoordIndex] = data2.get(otherDataDim, dataIndex);
+  coordArr[targetCoordIndex] = data2.get(calcDataDim, dataIndex);
+  var coordArrValue = data2.get(targetDataDim, dataIndex);
+  var precision = getPrecision(data2.get(targetDataDim, dataIndex));
+  precision = Math.min(precision, 20);
+  if (precision >= 0) {
+    coordArr[targetCoordIndex] = +coordArr[targetCoordIndex].toFixed(precision);
+  }
+  return [coordArr, coordArrValue];
+}
+var markerTypeCalculator = {
+  min: curry$1(markerTypeCalculatorWithExtent, "min"),
+  max: curry$1(markerTypeCalculatorWithExtent, "max"),
+  average: curry$1(markerTypeCalculatorWithExtent, "average"),
+  median: curry$1(markerTypeCalculatorWithExtent, "median")
+};
+function dataTransform(seriesModel, item) {
+  if (!item) {
+    return;
+  }
+  var data2 = seriesModel.getData();
+  var coordSys = seriesModel.coordinateSystem;
+  var dims = coordSys && coordSys.dimensions;
+  if (!hasXAndY(item) && !isArray$2(item.coord) && isArray$2(dims)) {
+    var axisInfo = getAxisInfo(item, data2, coordSys, seriesModel);
+    item = clone$4(item);
+    if (item.type && markerTypeCalculator[item.type] && axisInfo.baseAxis && axisInfo.valueAxis) {
+      var otherCoordIndex = indexOf(dims, axisInfo.baseAxis.dim);
+      var targetCoordIndex = indexOf(dims, axisInfo.valueAxis.dim);
+      var coordInfo = markerTypeCalculator[item.type](data2, axisInfo.baseDataDim, axisInfo.valueDataDim, otherCoordIndex, targetCoordIndex);
+      item.coord = coordInfo[0];
+      item.value = coordInfo[1];
+    } else {
+      item.coord = [item.xAxis != null ? item.xAxis : item.radiusAxis, item.yAxis != null ? item.yAxis : item.angleAxis];
+    }
+  }
+  if (item.coord == null || !isArray$2(dims)) {
+    item.coord = [];
+  } else {
+    var coord = item.coord;
+    for (var i2 = 0; i2 < 2; i2++) {
+      if (markerTypeCalculator[coord[i2]]) {
+        coord[i2] = numCalculate(data2, data2.mapDimension(dims[i2]), coord[i2]);
+      }
+    }
+  }
+  return item;
+}
+function getAxisInfo(item, data2, coordSys, seriesModel) {
+  var ret = {};
+  if (item.valueIndex != null || item.valueDim != null) {
+    ret.valueDataDim = item.valueIndex != null ? data2.getDimension(item.valueIndex) : item.valueDim;
+    ret.valueAxis = coordSys.getAxis(dataDimToCoordDim(seriesModel, ret.valueDataDim));
+    ret.baseAxis = coordSys.getOtherAxis(ret.valueAxis);
+    ret.baseDataDim = data2.mapDimension(ret.baseAxis.dim);
+  } else {
+    ret.baseAxis = seriesModel.getBaseAxis();
+    ret.valueAxis = coordSys.getOtherAxis(ret.baseAxis);
+    ret.baseDataDim = data2.mapDimension(ret.baseAxis.dim);
+    ret.valueDataDim = data2.mapDimension(ret.valueAxis.dim);
+  }
+  return ret;
+}
+function dataDimToCoordDim(seriesModel, dataDim) {
+  var dimItem = seriesModel.getData().getDimensionInfo(dataDim);
+  return dimItem && dimItem.coordDim;
+}
+function dataFilter(coordSys, item) {
+  return coordSys && coordSys.containData && item.coord && !hasXOrY(item) ? coordSys.containData(item.coord) : true;
+}
+function zoneFilter(coordSys, item1, item2) {
+  return coordSys && coordSys.containZone && item1.coord && item2.coord && !hasXOrY(item1) && !hasXOrY(item2) ? coordSys.containZone(item1.coord, item2.coord) : true;
+}
+function createMarkerDimValueGetter(inCoordSys, dims) {
+  return inCoordSys ? function(item, dimName, dataIndex, dimIndex) {
+    var rawVal = dimIndex < 2 ? item.coord && item.coord[dimIndex] : item.value;
+    return parseDataValue(rawVal, dims[dimIndex]);
+  } : function(item, dimName, dataIndex, dimIndex) {
+    return parseDataValue(item.value, dims[dimIndex]);
+  };
+}
+function numCalculate(data2, valueDataDim, type2) {
+  if (type2 === "average") {
+    var sum_1 = 0;
+    var count_1 = 0;
+    data2.each(valueDataDim, function(val, idx) {
+      if (!isNaN(val)) {
+        sum_1 += val;
+        count_1++;
+      }
+    });
+    return sum_1 / count_1;
+  } else if (type2 === "median") {
+    return data2.getMedian(valueDataDim);
+  } else {
+    return data2.getDataExtent(valueDataDim)[type2 === "max" ? 1 : 0];
+  }
+}
+var inner$4 = makeInner();
+var MarkerView = (
+  /** @class */
+  function(_super) {
+    __extends(MarkerView2, _super);
+    function MarkerView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkerView2.type;
+      return _this;
+    }
+    MarkerView2.prototype.init = function() {
+      this.markerGroupMap = createHashMap();
+    };
+    MarkerView2.prototype.render = function(markerModel, ecModel, api2) {
+      var _this = this;
+      var markerGroupMap = this.markerGroupMap;
+      markerGroupMap.each(function(item) {
+        inner$4(item).keep = false;
+      });
+      ecModel.eachSeries(function(seriesModel) {
+        var markerModel2 = MarkerModel$1.getMarkerModelFromSeries(seriesModel, _this.type);
+        markerModel2 && _this.renderSeries(seriesModel, markerModel2, ecModel, api2);
+      });
+      markerGroupMap.each(function(item) {
+        !inner$4(item).keep && _this.group.remove(item.group);
+      });
+    };
+    MarkerView2.prototype.markKeep = function(drawGroup) {
+      inner$4(drawGroup).keep = true;
+    };
+    MarkerView2.prototype.toggleBlurSeries = function(seriesModelList, isBlur) {
+      var _this = this;
+      each$f(seriesModelList, function(seriesModel) {
+        var markerModel = MarkerModel$1.getMarkerModelFromSeries(seriesModel, _this.type);
+        if (markerModel) {
+          var data2 = markerModel.getData();
+          data2.eachItemGraphicEl(function(el) {
+            if (el) {
+              isBlur ? enterBlur(el) : leaveBlur(el);
+            }
+          });
+        }
+      });
+    };
+    MarkerView2.type = "marker";
+    return MarkerView2;
+  }(ComponentView$1)
+);
+const MarkerView$1 = MarkerView;
+function updateMarkerLayout(mpData, seriesModel, api2) {
+  var coordSys = seriesModel.coordinateSystem;
+  mpData.each(function(idx) {
+    var itemModel = mpData.getItemModel(idx);
+    var point;
+    var xPx = parsePercent(itemModel.get("x"), api2.getWidth());
+    var yPx = parsePercent(itemModel.get("y"), api2.getHeight());
+    if (!isNaN(xPx) && !isNaN(yPx)) {
+      point = [xPx, yPx];
+    } else if (seriesModel.getMarkerPosition) {
+      point = seriesModel.getMarkerPosition(mpData.getValues(mpData.dimensions, idx));
+    } else if (coordSys) {
+      var x2 = mpData.get(coordSys.dimensions[0], idx);
+      var y2 = mpData.get(coordSys.dimensions[1], idx);
+      point = coordSys.dataToPoint([x2, y2]);
+    }
+    if (!isNaN(xPx)) {
+      point[0] = xPx;
+    }
+    if (!isNaN(yPx)) {
+      point[1] = yPx;
+    }
+    mpData.setItemLayout(idx, point);
+  });
+}
+var MarkPointView = (
+  /** @class */
+  function(_super) {
+    __extends(MarkPointView2, _super);
+    function MarkPointView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkPointView2.type;
+      return _this;
+    }
+    MarkPointView2.prototype.updateTransform = function(markPointModel, ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        var mpModel = MarkerModel$1.getMarkerModelFromSeries(seriesModel, "markPoint");
+        if (mpModel) {
+          updateMarkerLayout(mpModel.getData(), seriesModel, api2);
+          this.markerGroupMap.get(seriesModel.id).updateLayout();
+        }
+      }, this);
+    };
+    MarkPointView2.prototype.renderSeries = function(seriesModel, mpModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesId = seriesModel.id;
+      var seriesData = seriesModel.getData();
+      var symbolDrawMap = this.markerGroupMap;
+      var symbolDraw = symbolDrawMap.get(seriesId) || symbolDrawMap.set(seriesId, new SymbolDraw$1());
+      var mpData = createData(coordSys, seriesModel, mpModel);
+      mpModel.setData(mpData);
+      updateMarkerLayout(mpModel.getData(), seriesModel, api2);
+      mpData.each(function(idx) {
+        var itemModel = mpData.getItemModel(idx);
+        var symbol2 = itemModel.getShallow("symbol");
+        var symbolSize = itemModel.getShallow("symbolSize");
+        var symbolRotate = itemModel.getShallow("symbolRotate");
+        var symbolOffset = itemModel.getShallow("symbolOffset");
+        var symbolKeepAspect = itemModel.getShallow("symbolKeepAspect");
+        if (isFunction$1(symbol2) || isFunction$1(symbolSize) || isFunction$1(symbolRotate) || isFunction$1(symbolOffset)) {
+          var rawIdx = mpModel.getRawValue(idx);
+          var dataParams = mpModel.getDataParams(idx);
+          if (isFunction$1(symbol2)) {
+            symbol2 = symbol2(rawIdx, dataParams);
+          }
+          if (isFunction$1(symbolSize)) {
+            symbolSize = symbolSize(rawIdx, dataParams);
+          }
+          if (isFunction$1(symbolRotate)) {
+            symbolRotate = symbolRotate(rawIdx, dataParams);
+          }
+          if (isFunction$1(symbolOffset)) {
+            symbolOffset = symbolOffset(rawIdx, dataParams);
+          }
+        }
+        var style2 = itemModel.getModel("itemStyle").getItemStyle();
+        var color2 = getVisualFromData(seriesData, "color");
+        if (!style2.fill) {
+          style2.fill = color2;
+        }
+        mpData.setItemVisual(idx, {
+          symbol: symbol2,
+          symbolSize,
+          symbolRotate,
+          symbolOffset,
+          symbolKeepAspect,
+          style: style2
+        });
+      });
+      symbolDraw.updateData(mpData);
+      this.group.add(symbolDraw.group);
+      mpData.eachItemGraphicEl(function(el) {
+        el.traverse(function(child) {
+          getECData(child).dataModel = mpModel;
+        });
+      });
+      this.markKeep(symbolDraw);
+      symbolDraw.group.silent = mpModel.get("silent") || seriesModel.get("silent");
+    };
+    MarkPointView2.type = "markPoint";
+    return MarkPointView2;
+  }(MarkerView$1)
+);
+function createData(coordSys, seriesModel, mpModel) {
+  var coordDimsInfos;
+  if (coordSys) {
+    coordDimsInfos = map$1(coordSys && coordSys.dimensions, function(coordDim) {
+      var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {};
+      return extend$1(extend$1({}, info), {
+        name: coordDim,
+        // DON'T use ordinalMeta to parse and collect ordinal.
+        ordinalMeta: null
+      });
+    });
+  } else {
+    coordDimsInfos = [{
+      name: "value",
+      type: "float"
+    }];
+  }
+  var mpData = new SeriesData$1(coordDimsInfos, mpModel);
+  var dataOpt = map$1(mpModel.get("data"), curry$1(dataTransform, seriesModel));
+  if (coordSys) {
+    dataOpt = filter(dataOpt, curry$1(dataFilter, coordSys));
+  }
+  var dimValueGetter = createMarkerDimValueGetter(!!coordSys, coordDimsInfos);
+  mpData.initData(dataOpt, null, dimValueGetter);
+  return mpData;
+}
+const MarkPointView$1 = MarkPointView;
+function install$e(registers) {
+  registers.registerComponentModel(MarkPointModel$1);
+  registers.registerComponentView(MarkPointView$1);
+  registers.registerPreprocessor(function(opt) {
+    if (checkMarkerInSeries(opt.series, "markPoint")) {
+      opt.markPoint = opt.markPoint || {};
+    }
+  });
+}
+var MarkLineModel = (
+  /** @class */
+  function(_super) {
+    __extends(MarkLineModel2, _super);
+    function MarkLineModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkLineModel2.type;
+      return _this;
+    }
+    MarkLineModel2.prototype.createMarkerModelFromSeries = function(markerOpt, masterMarkerModel, ecModel) {
+      return new MarkLineModel2(markerOpt, masterMarkerModel, ecModel);
+    };
+    MarkLineModel2.type = "markLine";
+    MarkLineModel2.defaultOption = {
+      // zlevel: 0,
+      z: 5,
+      symbol: ["circle", "arrow"],
+      symbolSize: [8, 16],
+      // symbolRotate: 0,
+      symbolOffset: 0,
+      precision: 2,
+      tooltip: {
+        trigger: "item"
+      },
+      label: {
+        show: true,
+        position: "end",
+        distance: 5
+      },
+      lineStyle: {
+        type: "dashed"
+      },
+      emphasis: {
+        label: {
+          show: true
+        },
+        lineStyle: {
+          width: 3
+        }
+      },
+      animationEasing: "linear"
+    };
+    return MarkLineModel2;
+  }(MarkerModel$1)
+);
+const MarkLineModel$1 = MarkLineModel;
+var inner$3 = makeInner();
+var markLineTransform = function(seriesModel, coordSys, mlModel, item) {
+  var data2 = seriesModel.getData();
+  var itemArray;
+  if (!isArray$2(item)) {
+    var mlType = item.type;
+    if (mlType === "min" || mlType === "max" || mlType === "average" || mlType === "median" || item.xAxis != null || item.yAxis != null) {
+      var valueAxis2 = void 0;
+      var value = void 0;
+      if (item.yAxis != null || item.xAxis != null) {
+        valueAxis2 = coordSys.getAxis(item.yAxis != null ? "y" : "x");
+        value = retrieve(item.yAxis, item.xAxis);
+      } else {
+        var axisInfo = getAxisInfo(item, data2, coordSys, seriesModel);
+        valueAxis2 = axisInfo.valueAxis;
+        var valueDataDim = getStackedDimension(data2, axisInfo.valueDataDim);
+        value = numCalculate(data2, valueDataDim, mlType);
+      }
+      var valueIndex = valueAxis2.dim === "x" ? 0 : 1;
+      var baseIndex = 1 - valueIndex;
+      var mlFrom = clone$4(item);
+      var mlTo = {
+        coord: []
+      };
+      mlFrom.type = null;
+      mlFrom.coord = [];
+      mlFrom.coord[baseIndex] = -Infinity;
+      mlTo.coord[baseIndex] = Infinity;
+      var precision = mlModel.get("precision");
+      if (precision >= 0 && isNumber$1(value)) {
+        value = +value.toFixed(Math.min(precision, 20));
+      }
+      mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;
+      itemArray = [mlFrom, mlTo, {
+        type: mlType,
+        valueIndex: item.valueIndex,
+        // Force to use the value of calculated value.
+        value
+      }];
+    } else {
+      itemArray = [];
+    }
+  } else {
+    itemArray = item;
+  }
+  var normalizedItem = [dataTransform(seriesModel, itemArray[0]), dataTransform(seriesModel, itemArray[1]), extend$1({}, itemArray[2])];
+  normalizedItem[2].type = normalizedItem[2].type || null;
+  merge$1(normalizedItem[2], normalizedItem[0]);
+  merge$1(normalizedItem[2], normalizedItem[1]);
+  return normalizedItem;
+};
+function isInfinity$1(val) {
+  return !isNaN(val) && !isFinite(val);
+}
+function ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {
+  var otherDimIndex = 1 - dimIndex;
+  var dimName = coordSys.dimensions[dimIndex];
+  return isInfinity$1(fromCoord[otherDimIndex]) && isInfinity$1(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);
+}
+function markLineFilter(coordSys, item) {
+  if (coordSys.type === "cartesian2d") {
+    var fromCoord = item[0].coord;
+    var toCoord = item[1].coord;
+    if (fromCoord && toCoord && (ifMarkLineHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim(0, fromCoord, toCoord, coordSys))) {
+      return true;
+    }
+  }
+  return dataFilter(coordSys, item[0]) && dataFilter(coordSys, item[1]);
+}
+function updateSingleMarkerEndLayout(data2, idx, isFrom, seriesModel, api2) {
+  var coordSys = seriesModel.coordinateSystem;
+  var itemModel = data2.getItemModel(idx);
+  var point;
+  var xPx = parsePercent(itemModel.get("x"), api2.getWidth());
+  var yPx = parsePercent(itemModel.get("y"), api2.getHeight());
+  if (!isNaN(xPx) && !isNaN(yPx)) {
+    point = [xPx, yPx];
+  } else {
+    if (seriesModel.getMarkerPosition) {
+      point = seriesModel.getMarkerPosition(data2.getValues(data2.dimensions, idx));
+    } else {
+      var dims = coordSys.dimensions;
+      var x2 = data2.get(dims[0], idx);
+      var y2 = data2.get(dims[1], idx);
+      point = coordSys.dataToPoint([x2, y2]);
+    }
+    if (isCoordinateSystemType(coordSys, "cartesian2d")) {
+      var xAxis = coordSys.getAxis("x");
+      var yAxis = coordSys.getAxis("y");
+      var dims = coordSys.dimensions;
+      if (isInfinity$1(data2.get(dims[0], idx))) {
+        point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);
+      } else if (isInfinity$1(data2.get(dims[1], idx))) {
+        point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 0 : 1]);
+      }
+    }
+    if (!isNaN(xPx)) {
+      point[0] = xPx;
+    }
+    if (!isNaN(yPx)) {
+      point[1] = yPx;
+    }
+  }
+  data2.setItemLayout(idx, point);
+}
+var MarkLineView = (
+  /** @class */
+  function(_super) {
+    __extends(MarkLineView2, _super);
+    function MarkLineView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkLineView2.type;
+      return _this;
+    }
+    MarkLineView2.prototype.updateTransform = function(markLineModel, ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        var mlModel = MarkerModel$1.getMarkerModelFromSeries(seriesModel, "markLine");
+        if (mlModel) {
+          var mlData_1 = mlModel.getData();
+          var fromData_1 = inner$3(mlModel).from;
+          var toData_1 = inner$3(mlModel).to;
+          fromData_1.each(function(idx) {
+            updateSingleMarkerEndLayout(fromData_1, idx, true, seriesModel, api2);
+            updateSingleMarkerEndLayout(toData_1, idx, false, seriesModel, api2);
+          });
+          mlData_1.each(function(idx) {
+            mlData_1.setItemLayout(idx, [fromData_1.getItemLayout(idx), toData_1.getItemLayout(idx)]);
+          });
+          this.markerGroupMap.get(seriesModel.id).updateLayout();
+        }
+      }, this);
+    };
+    MarkLineView2.prototype.renderSeries = function(seriesModel, mlModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesId = seriesModel.id;
+      var seriesData = seriesModel.getData();
+      var lineDrawMap = this.markerGroupMap;
+      var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new LineDraw$1());
+      this.group.add(lineDraw.group);
+      var mlData = createList$1(coordSys, seriesModel, mlModel);
+      var fromData = mlData.from;
+      var toData = mlData.to;
+      var lineData = mlData.line;
+      inner$3(mlModel).from = fromData;
+      inner$3(mlModel).to = toData;
+      mlModel.setData(lineData);
+      var symbolType = mlModel.get("symbol");
+      var symbolSize = mlModel.get("symbolSize");
+      var symbolRotate = mlModel.get("symbolRotate");
+      var symbolOffset = mlModel.get("symbolOffset");
+      if (!isArray$2(symbolType)) {
+        symbolType = [symbolType, symbolType];
+      }
+      if (!isArray$2(symbolSize)) {
+        symbolSize = [symbolSize, symbolSize];
+      }
+      if (!isArray$2(symbolRotate)) {
+        symbolRotate = [symbolRotate, symbolRotate];
+      }
+      if (!isArray$2(symbolOffset)) {
+        symbolOffset = [symbolOffset, symbolOffset];
+      }
+      mlData.from.each(function(idx) {
+        updateDataVisualAndLayout(fromData, idx, true);
+        updateDataVisualAndLayout(toData, idx, false);
+      });
+      lineData.each(function(idx) {
+        var lineStyle2 = lineData.getItemModel(idx).getModel("lineStyle").getLineStyle();
+        lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);
+        if (lineStyle2.stroke == null) {
+          lineStyle2.stroke = fromData.getItemVisual(idx, "style").fill;
+        }
+        lineData.setItemVisual(idx, {
+          fromSymbolKeepAspect: fromData.getItemVisual(idx, "symbolKeepAspect"),
+          fromSymbolOffset: fromData.getItemVisual(idx, "symbolOffset"),
+          fromSymbolRotate: fromData.getItemVisual(idx, "symbolRotate"),
+          fromSymbolSize: fromData.getItemVisual(idx, "symbolSize"),
+          fromSymbol: fromData.getItemVisual(idx, "symbol"),
+          toSymbolKeepAspect: toData.getItemVisual(idx, "symbolKeepAspect"),
+          toSymbolOffset: toData.getItemVisual(idx, "symbolOffset"),
+          toSymbolRotate: toData.getItemVisual(idx, "symbolRotate"),
+          toSymbolSize: toData.getItemVisual(idx, "symbolSize"),
+          toSymbol: toData.getItemVisual(idx, "symbol"),
+          style: lineStyle2
+        });
+      });
+      lineDraw.updateData(lineData);
+      mlData.line.eachItemGraphicEl(function(el) {
+        getECData(el).dataModel = mlModel;
+        el.traverse(function(child) {
+          getECData(child).dataModel = mlModel;
+        });
+      });
+      function updateDataVisualAndLayout(data2, idx, isFrom) {
+        var itemModel = data2.getItemModel(idx);
+        updateSingleMarkerEndLayout(data2, idx, isFrom, seriesModel, api2);
+        var style2 = itemModel.getModel("itemStyle").getItemStyle();
+        if (style2.fill == null) {
+          style2.fill = getVisualFromData(seriesData, "color");
+        }
+        data2.setItemVisual(idx, {
+          symbolKeepAspect: itemModel.get("symbolKeepAspect"),
+          // `0` should be considered as a valid value, so use `retrieve2` instead of `||`
+          symbolOffset: retrieve2(itemModel.get("symbolOffset", true), symbolOffset[isFrom ? 0 : 1]),
+          symbolRotate: retrieve2(itemModel.get("symbolRotate", true), symbolRotate[isFrom ? 0 : 1]),
+          // TODO: when 2d array is supported, it should ignore parent
+          symbolSize: retrieve2(itemModel.get("symbolSize"), symbolSize[isFrom ? 0 : 1]),
+          symbol: retrieve2(itemModel.get("symbol", true), symbolType[isFrom ? 0 : 1]),
+          style: style2
+        });
+      }
+      this.markKeep(lineDraw);
+      lineDraw.group.silent = mlModel.get("silent") || seriesModel.get("silent");
+    };
+    MarkLineView2.type = "markLine";
+    return MarkLineView2;
+  }(MarkerView$1)
+);
+function createList$1(coordSys, seriesModel, mlModel) {
+  var coordDimsInfos;
+  if (coordSys) {
+    coordDimsInfos = map$1(coordSys && coordSys.dimensions, function(coordDim) {
+      var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {};
+      return extend$1(extend$1({}, info), {
+        name: coordDim,
+        // DON'T use ordinalMeta to parse and collect ordinal.
+        ordinalMeta: null
+      });
+    });
+  } else {
+    coordDimsInfos = [{
+      name: "value",
+      type: "float"
+    }];
+  }
+  var fromData = new SeriesData$1(coordDimsInfos, mlModel);
+  var toData = new SeriesData$1(coordDimsInfos, mlModel);
+  var lineData = new SeriesData$1([], mlModel);
+  var optData = map$1(mlModel.get("data"), curry$1(markLineTransform, seriesModel, coordSys, mlModel));
+  if (coordSys) {
+    optData = filter(optData, curry$1(markLineFilter, coordSys));
+  }
+  var dimValueGetter = createMarkerDimValueGetter(!!coordSys, coordDimsInfos);
+  fromData.initData(map$1(optData, function(item) {
+    return item[0];
+  }), null, dimValueGetter);
+  toData.initData(map$1(optData, function(item) {
+    return item[1];
+  }), null, dimValueGetter);
+  lineData.initData(map$1(optData, function(item) {
+    return item[2];
+  }));
+  lineData.hasItemOption = true;
+  return {
+    from: fromData,
+    to: toData,
+    line: lineData
+  };
+}
+const MarkLineView$1 = MarkLineView;
+function install$d(registers) {
+  registers.registerComponentModel(MarkLineModel$1);
+  registers.registerComponentView(MarkLineView$1);
+  registers.registerPreprocessor(function(opt) {
+    if (checkMarkerInSeries(opt.series, "markLine")) {
+      opt.markLine = opt.markLine || {};
+    }
+  });
+}
+var MarkAreaModel = (
+  /** @class */
+  function(_super) {
+    __extends(MarkAreaModel2, _super);
+    function MarkAreaModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkAreaModel2.type;
+      return _this;
+    }
+    MarkAreaModel2.prototype.createMarkerModelFromSeries = function(markerOpt, masterMarkerModel, ecModel) {
+      return new MarkAreaModel2(markerOpt, masterMarkerModel, ecModel);
+    };
+    MarkAreaModel2.type = "markArea";
+    MarkAreaModel2.defaultOption = {
+      // zlevel: 0,
+      // PENDING
+      z: 1,
+      tooltip: {
+        trigger: "item"
+      },
+      // markArea should fixed on the coordinate system
+      animation: false,
+      label: {
+        show: true,
+        position: "top"
+      },
+      itemStyle: {
+        // color and borderColor default to use color from series
+        // color: 'auto'
+        // borderColor: 'auto'
+        borderWidth: 0
+      },
+      emphasis: {
+        label: {
+          show: true,
+          position: "top"
+        }
+      }
+    };
+    return MarkAreaModel2;
+  }(MarkerModel$1)
+);
+const MarkAreaModel$1 = MarkAreaModel;
+var inner$2 = makeInner();
+var markAreaTransform = function(seriesModel, coordSys, maModel, item) {
+  var item0 = item[0];
+  var item1 = item[1];
+  if (!item0 || !item1) {
+    return;
+  }
+  var lt2 = dataTransform(seriesModel, item0);
+  var rb2 = dataTransform(seriesModel, item1);
+  var ltCoord = lt2.coord;
+  var rbCoord = rb2.coord;
+  ltCoord[0] = retrieve(ltCoord[0], -Infinity);
+  ltCoord[1] = retrieve(ltCoord[1], -Infinity);
+  rbCoord[0] = retrieve(rbCoord[0], Infinity);
+  rbCoord[1] = retrieve(rbCoord[1], Infinity);
+  var result2 = mergeAll([{}, lt2, rb2]);
+  result2.coord = [lt2.coord, rb2.coord];
+  result2.x0 = lt2.x;
+  result2.y0 = lt2.y;
+  result2.x1 = rb2.x;
+  result2.y1 = rb2.y;
+  return result2;
+};
+function isInfinity(val) {
+  return !isNaN(val) && !isFinite(val);
+}
+function ifMarkAreaHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {
+  var otherDimIndex = 1 - dimIndex;
+  return isInfinity(fromCoord[otherDimIndex]) && isInfinity(toCoord[otherDimIndex]);
+}
+function markAreaFilter(coordSys, item) {
+  var fromCoord = item.coord[0];
+  var toCoord = item.coord[1];
+  var item0 = {
+    coord: fromCoord,
+    x: item.x0,
+    y: item.y0
+  };
+  var item1 = {
+    coord: toCoord,
+    x: item.x1,
+    y: item.y1
+  };
+  if (isCoordinateSystemType(coordSys, "cartesian2d")) {
+    if (fromCoord && toCoord && (ifMarkAreaHasOnlyDim(1, fromCoord, toCoord) || ifMarkAreaHasOnlyDim(0, fromCoord, toCoord))) {
+      return true;
+    }
+    return zoneFilter(coordSys, item0, item1);
+  }
+  return dataFilter(coordSys, item0) || dataFilter(coordSys, item1);
+}
+function getSingleMarkerEndPoint(data2, idx, dims, seriesModel, api2) {
+  var coordSys = seriesModel.coordinateSystem;
+  var itemModel = data2.getItemModel(idx);
+  var point;
+  var xPx = parsePercent(itemModel.get(dims[0]), api2.getWidth());
+  var yPx = parsePercent(itemModel.get(dims[1]), api2.getHeight());
+  if (!isNaN(xPx) && !isNaN(yPx)) {
+    point = [xPx, yPx];
+  } else {
+    if (seriesModel.getMarkerPosition) {
+      var pointValue0 = data2.getValues(["x0", "y0"], idx);
+      var pointValue1 = data2.getValues(["x1", "y1"], idx);
+      var clampPointValue0 = coordSys.clampData(pointValue0);
+      var clampPointValue1 = coordSys.clampData(pointValue1);
+      var pointValue = [];
+      if (dims[0] === "x0") {
+        pointValue[0] = clampPointValue0[0] > clampPointValue1[0] ? pointValue1[0] : pointValue0[0];
+      } else {
+        pointValue[0] = clampPointValue0[0] > clampPointValue1[0] ? pointValue0[0] : pointValue1[0];
+      }
+      if (dims[1] === "y0") {
+        pointValue[1] = clampPointValue0[1] > clampPointValue1[1] ? pointValue1[1] : pointValue0[1];
+      } else {
+        pointValue[1] = clampPointValue0[1] > clampPointValue1[1] ? pointValue0[1] : pointValue1[1];
+      }
+      point = seriesModel.getMarkerPosition(pointValue, dims, true);
+    } else {
+      var x2 = data2.get(dims[0], idx);
+      var y2 = data2.get(dims[1], idx);
+      var pt = [x2, y2];
+      coordSys.clampData && coordSys.clampData(pt, pt);
+      point = coordSys.dataToPoint(pt, true);
+    }
+    if (isCoordinateSystemType(coordSys, "cartesian2d")) {
+      var xAxis = coordSys.getAxis("x");
+      var yAxis = coordSys.getAxis("y");
+      var x2 = data2.get(dims[0], idx);
+      var y2 = data2.get(dims[1], idx);
+      if (isInfinity(x2)) {
+        point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[dims[0] === "x0" ? 0 : 1]);
+      } else if (isInfinity(y2)) {
+        point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[dims[1] === "y0" ? 0 : 1]);
+      }
+    }
+    if (!isNaN(xPx)) {
+      point[0] = xPx;
+    }
+    if (!isNaN(yPx)) {
+      point[1] = yPx;
+    }
+  }
+  return point;
+}
+var dimPermutations = [["x0", "y0"], ["x1", "y0"], ["x1", "y1"], ["x0", "y1"]];
+var MarkAreaView = (
+  /** @class */
+  function(_super) {
+    __extends(MarkAreaView2, _super);
+    function MarkAreaView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = MarkAreaView2.type;
+      return _this;
+    }
+    MarkAreaView2.prototype.updateTransform = function(markAreaModel, ecModel, api2) {
+      ecModel.eachSeries(function(seriesModel) {
+        var maModel = MarkerModel$1.getMarkerModelFromSeries(seriesModel, "markArea");
+        if (maModel) {
+          var areaData_1 = maModel.getData();
+          areaData_1.each(function(idx) {
+            var points2 = map$1(dimPermutations, function(dim) {
+              return getSingleMarkerEndPoint(areaData_1, idx, dim, seriesModel, api2);
+            });
+            areaData_1.setItemLayout(idx, points2);
+            var el = areaData_1.getItemGraphicEl(idx);
+            el.setShape("points", points2);
+          });
+        }
+      }, this);
+    };
+    MarkAreaView2.prototype.renderSeries = function(seriesModel, maModel, ecModel, api2) {
+      var coordSys = seriesModel.coordinateSystem;
+      var seriesId = seriesModel.id;
+      var seriesData = seriesModel.getData();
+      var areaGroupMap = this.markerGroupMap;
+      var polygonGroup = areaGroupMap.get(seriesId) || areaGroupMap.set(seriesId, {
+        group: new Group$4()
+      });
+      this.group.add(polygonGroup.group);
+      this.markKeep(polygonGroup);
+      var areaData = createList(coordSys, seriesModel, maModel);
+      maModel.setData(areaData);
+      areaData.each(function(idx) {
+        var points2 = map$1(dimPermutations, function(dim) {
+          return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api2);
+        });
+        var xAxisScale = coordSys.getAxis("x").scale;
+        var yAxisScale = coordSys.getAxis("y").scale;
+        var xAxisExtent = xAxisScale.getExtent();
+        var yAxisExtent = yAxisScale.getExtent();
+        var xPointExtent = [xAxisScale.parse(areaData.get("x0", idx)), xAxisScale.parse(areaData.get("x1", idx))];
+        var yPointExtent = [yAxisScale.parse(areaData.get("y0", idx)), yAxisScale.parse(areaData.get("y1", idx))];
+        asc$2(xPointExtent);
+        asc$2(yPointExtent);
+        var overlapped = !(xAxisExtent[0] > xPointExtent[1] || xAxisExtent[1] < xPointExtent[0] || yAxisExtent[0] > yPointExtent[1] || yAxisExtent[1] < yPointExtent[0]);
+        var allClipped = !overlapped;
+        areaData.setItemLayout(idx, {
+          points: points2,
+          allClipped
+        });
+        var style2 = areaData.getItemModel(idx).getModel("itemStyle").getItemStyle();
+        var color$12 = getVisualFromData(seriesData, "color");
+        if (!style2.fill) {
+          style2.fill = color$12;
+          if (isString$1(style2.fill)) {
+            style2.fill = modifyAlpha(style2.fill, 0.4);
+          }
+        }
+        if (!style2.stroke) {
+          style2.stroke = color$12;
+        }
+        areaData.setItemVisual(idx, "style", style2);
+      });
+      areaData.diff(inner$2(polygonGroup).data).add(function(idx) {
+        var layout2 = areaData.getItemLayout(idx);
+        if (!layout2.allClipped) {
+          var polygon2 = new Polygon$1({
+            shape: {
+              points: layout2.points
+            }
+          });
+          areaData.setItemGraphicEl(idx, polygon2);
+          polygonGroup.group.add(polygon2);
+        }
+      }).update(function(newIdx, oldIdx) {
+        var polygon2 = inner$2(polygonGroup).data.getItemGraphicEl(oldIdx);
+        var layout2 = areaData.getItemLayout(newIdx);
+        if (!layout2.allClipped) {
+          if (polygon2) {
+            updateProps$1(polygon2, {
+              shape: {
+                points: layout2.points
+              }
+            }, maModel, newIdx);
+          } else {
+            polygon2 = new Polygon$1({
+              shape: {
+                points: layout2.points
+              }
+            });
+          }
+          areaData.setItemGraphicEl(newIdx, polygon2);
+          polygonGroup.group.add(polygon2);
+        } else if (polygon2) {
+          polygonGroup.group.remove(polygon2);
+        }
+      }).remove(function(idx) {
+        var polygon2 = inner$2(polygonGroup).data.getItemGraphicEl(idx);
+        polygonGroup.group.remove(polygon2);
+      }).execute();
+      areaData.eachItemGraphicEl(function(polygon2, idx) {
+        var itemModel = areaData.getItemModel(idx);
+        var style2 = areaData.getItemVisual(idx, "style");
+        polygon2.useStyle(areaData.getItemVisual(idx, "style"));
+        setLabelStyle(polygon2, getLabelStatesModels(itemModel), {
+          labelFetcher: maModel,
+          labelDataIndex: idx,
+          defaultText: areaData.getName(idx) || "",
+          inheritColor: isString$1(style2.fill) ? modifyAlpha(style2.fill, 1) : "#000"
+        });
+        setStatesStylesFromModel(polygon2, itemModel);
+        toggleHoverEmphasis(polygon2, null, null, itemModel.get(["emphasis", "disabled"]));
+        getECData(polygon2).dataModel = maModel;
+      });
+      inner$2(polygonGroup).data = areaData;
+      polygonGroup.group.silent = maModel.get("silent") || seriesModel.get("silent");
+    };
+    MarkAreaView2.type = "markArea";
+    return MarkAreaView2;
+  }(MarkerView$1)
+);
+function createList(coordSys, seriesModel, maModel) {
+  var areaData;
+  var dataDims;
+  var dims = ["x0", "y0", "x1", "y1"];
+  if (coordSys) {
+    var coordDimsInfos_1 = map$1(coordSys && coordSys.dimensions, function(coordDim) {
+      var data2 = seriesModel.getData();
+      var info = data2.getDimensionInfo(data2.mapDimension(coordDim)) || {};
+      return extend$1(extend$1({}, info), {
+        name: coordDim,
+        // DON'T use ordinalMeta to parse and collect ordinal.
+        ordinalMeta: null
+      });
+    });
+    dataDims = map$1(dims, function(dim, idx) {
+      return {
+        name: dim,
+        type: coordDimsInfos_1[idx % 2].type
+      };
+    });
+    areaData = new SeriesData$1(dataDims, maModel);
+  } else {
+    dataDims = [{
+      name: "value",
+      type: "float"
+    }];
+    areaData = new SeriesData$1(dataDims, maModel);
+  }
+  var optData = map$1(maModel.get("data"), curry$1(markAreaTransform, seriesModel, coordSys, maModel));
+  if (coordSys) {
+    optData = filter(optData, curry$1(markAreaFilter, coordSys));
+  }
+  var dimValueGetter = coordSys ? function(item, dimName, dataIndex, dimIndex) {
+    var rawVal = item.coord[Math.floor(dimIndex / 2)][dimIndex % 2];
+    return parseDataValue(rawVal, dataDims[dimIndex]);
+  } : function(item, dimName, dataIndex, dimIndex) {
+    return parseDataValue(item.value, dataDims[dimIndex]);
+  };
+  areaData.initData(optData, null, dimValueGetter);
+  areaData.hasItemOption = true;
+  return areaData;
+}
+const MarkAreaView$1 = MarkAreaView;
+function install$c(registers) {
+  registers.registerComponentModel(MarkAreaModel$1);
+  registers.registerComponentView(MarkAreaView$1);
+  registers.registerPreprocessor(function(opt) {
+    if (checkMarkerInSeries(opt.series, "markArea")) {
+      opt.markArea = opt.markArea || {};
+    }
+  });
+}
+var getDefaultSelectorOptions = function(ecModel, type2) {
+  if (type2 === "all") {
+    return {
+      type: "all",
+      title: ecModel.getLocaleModel().get(["legend", "selector", "all"])
+    };
+  } else if (type2 === "inverse") {
+    return {
+      type: "inverse",
+      title: ecModel.getLocaleModel().get(["legend", "selector", "inverse"])
+    };
+  }
+};
+var LegendModel = (
+  /** @class */
+  function(_super) {
+    __extends(LegendModel2, _super);
+    function LegendModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = LegendModel2.type;
+      _this.layoutMode = {
+        type: "box",
+        // legend.width/height are maxWidth/maxHeight actually,
+        // whereas real width/height is calculated by its content.
+        // (Setting {left: 10, right: 10} does not make sense).
+        // So consider the case:
+        // `setOption({legend: {left: 10});`
+        // then `setOption({legend: {right: 10});`
+        // The previous `left` should be cleared by setting `ignoreSize`.
+        ignoreSize: true
+      };
+      return _this;
+    }
+    LegendModel2.prototype.init = function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+      option.selected = option.selected || {};
+      this._updateSelector(option);
+    };
+    LegendModel2.prototype.mergeOption = function(option, ecModel) {
+      _super.prototype.mergeOption.call(this, option, ecModel);
+      this._updateSelector(option);
+    };
+    LegendModel2.prototype._updateSelector = function(option) {
+      var selector2 = option.selector;
+      var ecModel = this.ecModel;
+      if (selector2 === true) {
+        selector2 = option.selector = ["all", "inverse"];
+      }
+      if (isArray$2(selector2)) {
+        each$f(selector2, function(item, index3) {
+          isString$1(item) && (item = {
+            type: item
+          });
+          selector2[index3] = merge$1(item, getDefaultSelectorOptions(ecModel, item.type));
+        });
+      }
+    };
+    LegendModel2.prototype.optionUpdated = function() {
+      this._updateData(this.ecModel);
+      var legendData = this._data;
+      if (legendData[0] && this.get("selectedMode") === "single") {
+        var hasSelected = false;
+        for (var i2 = 0; i2 < legendData.length; i2++) {
+          var name_1 = legendData[i2].get("name");
+          if (this.isSelected(name_1)) {
+            this.select(name_1);
+            hasSelected = true;
+            break;
+          }
+        }
+        !hasSelected && this.select(legendData[0].get("name"));
+      }
+    };
+    LegendModel2.prototype._updateData = function(ecModel) {
+      var potentialData = [];
+      var availableNames = [];
+      ecModel.eachRawSeries(function(seriesModel) {
+        var seriesName = seriesModel.name;
+        availableNames.push(seriesName);
+        var isPotential;
+        if (seriesModel.legendVisualProvider) {
+          var provider = seriesModel.legendVisualProvider;
+          var names = provider.getAllNames();
+          if (!ecModel.isSeriesFiltered(seriesModel)) {
+            availableNames = availableNames.concat(names);
+          }
+          if (names.length) {
+            potentialData = potentialData.concat(names);
+          } else {
+            isPotential = true;
+          }
+        } else {
+          isPotential = true;
+        }
+        if (isPotential && isNameSpecified(seriesModel)) {
+          potentialData.push(seriesModel.name);
+        }
+      });
+      this._availableNames = availableNames;
+      var rawData = this.get("data") || potentialData;
+      var legendNameMap = createHashMap();
+      var legendData = map$1(rawData, function(dataItem) {
+        if (isString$1(dataItem) || isNumber$1(dataItem)) {
+          dataItem = {
+            name: dataItem
+          };
+        }
+        if (legendNameMap.get(dataItem.name)) {
+          return null;
+        }
+        legendNameMap.set(dataItem.name, true);
+        return new Model$1(dataItem, this, this.ecModel);
+      }, this);
+      this._data = filter(legendData, function(item) {
+        return !!item;
+      });
+    };
+    LegendModel2.prototype.getData = function() {
+      return this._data;
+    };
+    LegendModel2.prototype.select = function(name2) {
+      var selected = this.option.selected;
+      var selectedMode = this.get("selectedMode");
+      if (selectedMode === "single") {
+        var data2 = this._data;
+        each$f(data2, function(dataItem) {
+          selected[dataItem.get("name")] = false;
+        });
+      }
+      selected[name2] = true;
+    };
+    LegendModel2.prototype.unSelect = function(name2) {
+      if (this.get("selectedMode") !== "single") {
+        this.option.selected[name2] = false;
+      }
+    };
+    LegendModel2.prototype.toggleSelected = function(name2) {
+      var selected = this.option.selected;
+      if (!selected.hasOwnProperty(name2)) {
+        selected[name2] = true;
+      }
+      this[selected[name2] ? "unSelect" : "select"](name2);
+    };
+    LegendModel2.prototype.allSelect = function() {
+      var data2 = this._data;
+      var selected = this.option.selected;
+      each$f(data2, function(dataItem) {
+        selected[dataItem.get("name", true)] = true;
+      });
+    };
+    LegendModel2.prototype.inverseSelect = function() {
+      var data2 = this._data;
+      var selected = this.option.selected;
+      each$f(data2, function(dataItem) {
+        var name2 = dataItem.get("name", true);
+        if (!selected.hasOwnProperty(name2)) {
+          selected[name2] = true;
+        }
+        selected[name2] = !selected[name2];
+      });
+    };
+    LegendModel2.prototype.isSelected = function(name2) {
+      var selected = this.option.selected;
+      return !(selected.hasOwnProperty(name2) && !selected[name2]) && indexOf(this._availableNames, name2) >= 0;
+    };
+    LegendModel2.prototype.getOrient = function() {
+      return this.get("orient") === "vertical" ? {
+        index: 1,
+        name: "vertical"
+      } : {
+        index: 0,
+        name: "horizontal"
+      };
+    };
+    LegendModel2.type = "legend.plain";
+    LegendModel2.dependencies = ["series"];
+    LegendModel2.defaultOption = {
+      // zlevel: 0,
+      z: 4,
+      show: true,
+      orient: "horizontal",
+      left: "center",
+      // right: 'center',
+      top: 0,
+      // bottom: null,
+      align: "auto",
+      backgroundColor: "rgba(0,0,0,0)",
+      borderColor: "#ccc",
+      borderRadius: 0,
+      borderWidth: 0,
+      padding: 5,
+      itemGap: 10,
+      itemWidth: 25,
+      itemHeight: 14,
+      symbolRotate: "inherit",
+      symbolKeepAspect: true,
+      inactiveColor: "#ccc",
+      inactiveBorderColor: "#ccc",
+      inactiveBorderWidth: "auto",
+      itemStyle: {
+        color: "inherit",
+        opacity: "inherit",
+        borderColor: "inherit",
+        borderWidth: "auto",
+        borderCap: "inherit",
+        borderJoin: "inherit",
+        borderDashOffset: "inherit",
+        borderMiterLimit: "inherit"
+      },
+      lineStyle: {
+        width: "auto",
+        color: "inherit",
+        inactiveColor: "#ccc",
+        inactiveWidth: 2,
+        opacity: "inherit",
+        type: "inherit",
+        cap: "inherit",
+        join: "inherit",
+        dashOffset: "inherit",
+        miterLimit: "inherit"
+      },
+      textStyle: {
+        color: "#333"
+      },
+      selectedMode: true,
+      selector: false,
+      selectorLabel: {
+        show: true,
+        borderRadius: 10,
+        padding: [3, 5, 3, 5],
+        fontSize: 12,
+        fontFamily: "sans-serif",
+        color: "#666",
+        borderWidth: 1,
+        borderColor: "#666"
+      },
+      emphasis: {
+        selectorLabel: {
+          show: true,
+          color: "#eee",
+          backgroundColor: "#666"
+        }
+      },
+      selectorPosition: "auto",
+      selectorItemGap: 7,
+      selectorButtonGap: 10,
+      tooltip: {
+        show: false
+      }
+    };
+    return LegendModel2;
+  }(ComponentModel$1)
+);
+const LegendModel$1 = LegendModel;
+var curry = curry$1;
+var each$3 = each$f;
+var Group$1 = Group$4;
+var LegendView = (
+  /** @class */
+  function(_super) {
+    __extends(LegendView2, _super);
+    function LegendView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = LegendView2.type;
+      _this.newlineDisabled = false;
+      return _this;
+    }
+    LegendView2.prototype.init = function() {
+      this.group.add(this._contentGroup = new Group$1());
+      this.group.add(this._selectorGroup = new Group$1());
+      this._isFirstRender = true;
+    };
+    LegendView2.prototype.getContentGroup = function() {
+      return this._contentGroup;
+    };
+    LegendView2.prototype.getSelectorGroup = function() {
+      return this._selectorGroup;
+    };
+    LegendView2.prototype.render = function(legendModel, ecModel, api2) {
+      var isFirstRender = this._isFirstRender;
+      this._isFirstRender = false;
+      this.resetInner();
+      if (!legendModel.get("show", true)) {
+        return;
+      }
+      var itemAlign = legendModel.get("align");
+      var orient = legendModel.get("orient");
+      if (!itemAlign || itemAlign === "auto") {
+        itemAlign = legendModel.get("left") === "right" && orient === "vertical" ? "right" : "left";
+      }
+      var selector2 = legendModel.get("selector", true);
+      var selectorPosition = legendModel.get("selectorPosition", true);
+      if (selector2 && (!selectorPosition || selectorPosition === "auto")) {
+        selectorPosition = orient === "horizontal" ? "end" : "start";
+      }
+      this.renderInner(itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition);
+      var positionInfo = legendModel.getBoxLayoutParams();
+      var viewportSize = {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      };
+      var padding = legendModel.get("padding");
+      var maxSize = getLayoutRect(positionInfo, viewportSize, padding);
+      var mainRect = this.layoutInner(legendModel, itemAlign, maxSize, isFirstRender, selector2, selectorPosition);
+      var layoutRect = getLayoutRect(defaults$2({
+        width: mainRect.width,
+        height: mainRect.height
+      }, positionInfo), viewportSize, padding);
+      this.group.x = layoutRect.x - mainRect.x;
+      this.group.y = layoutRect.y - mainRect.y;
+      this.group.markRedraw();
+      this.group.add(this._backgroundEl = makeBackground(mainRect, legendModel));
+    };
+    LegendView2.prototype.resetInner = function() {
+      this.getContentGroup().removeAll();
+      this._backgroundEl && this.group.remove(this._backgroundEl);
+      this.getSelectorGroup().removeAll();
+    };
+    LegendView2.prototype.renderInner = function(itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition) {
+      var contentGroup = this.getContentGroup();
+      var legendDrawnMap = createHashMap();
+      var selectMode = legendModel.get("selectedMode");
+      var excludeSeriesId = [];
+      ecModel.eachRawSeries(function(seriesModel) {
+        !seriesModel.get("legendHoverLink") && excludeSeriesId.push(seriesModel.id);
+      });
+      each$3(legendModel.getData(), function(legendItemModel, dataIndex) {
+        var name2 = legendItemModel.get("name");
+        if (!this.newlineDisabled && (name2 === "" || name2 === "\n")) {
+          var g2 = new Group$1();
+          g2.newline = true;
+          contentGroup.add(g2);
+          return;
+        }
+        var seriesModel = ecModel.getSeriesByName(name2)[0];
+        if (legendDrawnMap.get(name2)) {
+          return;
+        }
+        if (seriesModel) {
+          var data2 = seriesModel.getData();
+          var lineVisualStyle = data2.getVisual("legendLineStyle") || {};
+          var legendIcon = data2.getVisual("legendIcon");
+          var style2 = data2.getVisual("style");
+          var itemGroup = this._createItem(seriesModel, name2, dataIndex, legendItemModel, legendModel, itemAlign, lineVisualStyle, style2, legendIcon, selectMode, api2);
+          itemGroup.on("click", curry(dispatchSelectAction, name2, null, api2, excludeSeriesId)).on("mouseover", curry(dispatchHighlightAction, seriesModel.name, null, api2, excludeSeriesId)).on("mouseout", curry(dispatchDownplayAction, seriesModel.name, null, api2, excludeSeriesId));
+          legendDrawnMap.set(name2, true);
+        } else {
+          ecModel.eachRawSeries(function(seriesModel2) {
+            if (legendDrawnMap.get(name2)) {
+              return;
+            }
+            if (seriesModel2.legendVisualProvider) {
+              var provider = seriesModel2.legendVisualProvider;
+              if (!provider.containName(name2)) {
+                return;
+              }
+              var idx = provider.indexOfName(name2);
+              var style3 = provider.getItemVisual(idx, "style");
+              var legendIcon2 = provider.getItemVisual(idx, "legendIcon");
+              var colorArr = parse$1(style3.fill);
+              if (colorArr && colorArr[3] === 0) {
+                colorArr[3] = 0.2;
+                style3 = extend$1(extend$1({}, style3), {
+                  fill: stringify(colorArr, "rgba")
+                });
+              }
+              var itemGroup2 = this._createItem(seriesModel2, name2, dataIndex, legendItemModel, legendModel, itemAlign, {}, style3, legendIcon2, selectMode, api2);
+              itemGroup2.on("click", curry(dispatchSelectAction, null, name2, api2, excludeSeriesId)).on("mouseover", curry(dispatchHighlightAction, null, name2, api2, excludeSeriesId)).on("mouseout", curry(dispatchDownplayAction, null, name2, api2, excludeSeriesId));
+              legendDrawnMap.set(name2, true);
+            }
+          }, this);
+        }
+      }, this);
+      if (selector2) {
+        this._createSelector(selector2, legendModel, api2, orient, selectorPosition);
+      }
+    };
+    LegendView2.prototype._createSelector = function(selector2, legendModel, api2, orient, selectorPosition) {
+      var selectorGroup = this.getSelectorGroup();
+      each$3(selector2, function createSelectorButton(selectorItem) {
+        var type2 = selectorItem.type;
+        var labelText = new ZRText$1({
+          style: {
+            x: 0,
+            y: 0,
+            align: "center",
+            verticalAlign: "middle"
+          },
+          onclick: function() {
+            api2.dispatchAction({
+              type: type2 === "all" ? "legendAllSelect" : "legendInverseSelect"
+            });
+          }
+        });
+        selectorGroup.add(labelText);
+        var labelModel = legendModel.getModel("selectorLabel");
+        var emphasisLabelModel = legendModel.getModel(["emphasis", "selectorLabel"]);
+        setLabelStyle(labelText, {
+          normal: labelModel,
+          emphasis: emphasisLabelModel
+        }, {
+          defaultText: selectorItem.title
+        });
+        enableHoverEmphasis(labelText);
+      });
+    };
+    LegendView2.prototype._createItem = function(seriesModel, name2, dataIndex, legendItemModel, legendModel, itemAlign, lineVisualStyle, itemVisualStyle, legendIcon, selectMode, api2) {
+      var drawType = seriesModel.visualDrawType;
+      var itemWidth = legendModel.get("itemWidth");
+      var itemHeight = legendModel.get("itemHeight");
+      var isSelected = legendModel.isSelected(name2);
+      var iconRotate = legendItemModel.get("symbolRotate");
+      var symbolKeepAspect = legendItemModel.get("symbolKeepAspect");
+      var legendIconType = legendItemModel.get("icon");
+      legendIcon = legendIconType || legendIcon || "roundRect";
+      var style2 = getLegendStyle(legendIcon, legendItemModel, lineVisualStyle, itemVisualStyle, drawType, isSelected, api2);
+      var itemGroup = new Group$1();
+      var textStyleModel = legendItemModel.getModel("textStyle");
+      if (isFunction$1(seriesModel.getLegendIcon) && (!legendIconType || legendIconType === "inherit")) {
+        itemGroup.add(seriesModel.getLegendIcon({
+          itemWidth,
+          itemHeight,
+          icon: legendIcon,
+          iconRotate,
+          itemStyle: style2.itemStyle,
+          lineStyle: style2.lineStyle,
+          symbolKeepAspect
+        }));
+      } else {
+        var rotate2 = legendIconType === "inherit" && seriesModel.getData().getVisual("symbol") ? iconRotate === "inherit" ? seriesModel.getData().getVisual("symbolRotate") : iconRotate : 0;
+        itemGroup.add(getDefaultLegendIcon({
+          itemWidth,
+          itemHeight,
+          icon: legendIcon,
+          iconRotate: rotate2,
+          itemStyle: style2.itemStyle,
+          lineStyle: style2.lineStyle,
+          symbolKeepAspect
+        }));
+      }
+      var textX = itemAlign === "left" ? itemWidth + 5 : -5;
+      var textAlign = itemAlign;
+      var formatter = legendModel.get("formatter");
+      var content = name2;
+      if (isString$1(formatter) && formatter) {
+        content = formatter.replace("{name}", name2 != null ? name2 : "");
+      } else if (isFunction$1(formatter)) {
+        content = formatter(name2);
+      }
+      var textColor = isSelected ? textStyleModel.getTextColor() : legendItemModel.get("inactiveColor");
+      itemGroup.add(new ZRText$1({
+        style: createTextStyle$1(textStyleModel, {
+          text: content,
+          x: textX,
+          y: itemHeight / 2,
+          fill: textColor,
+          align: textAlign,
+          verticalAlign: "middle"
+        }, {
+          inheritColor: textColor
+        })
+      }));
+      var hitRect = new Rect$3({
+        shape: itemGroup.getBoundingRect(),
+        invisible: true
+      });
+      var tooltipModel = legendItemModel.getModel("tooltip");
+      if (tooltipModel.get("show")) {
+        setTooltipConfig({
+          el: hitRect,
+          componentModel: legendModel,
+          itemName: name2,
+          itemTooltipOption: tooltipModel.option
+        });
+      }
+      itemGroup.add(hitRect);
+      itemGroup.eachChild(function(child) {
+        child.silent = true;
+      });
+      hitRect.silent = !selectMode;
+      this.getContentGroup().add(itemGroup);
+      enableHoverEmphasis(itemGroup);
+      itemGroup.__legendDataIndex = dataIndex;
+      return itemGroup;
+    };
+    LegendView2.prototype.layoutInner = function(legendModel, itemAlign, maxSize, isFirstRender, selector2, selectorPosition) {
+      var contentGroup = this.getContentGroup();
+      var selectorGroup = this.getSelectorGroup();
+      box(legendModel.get("orient"), contentGroup, legendModel.get("itemGap"), maxSize.width, maxSize.height);
+      var contentRect = contentGroup.getBoundingRect();
+      var contentPos = [-contentRect.x, -contentRect.y];
+      selectorGroup.markRedraw();
+      contentGroup.markRedraw();
+      if (selector2) {
+        box(
+          // Buttons in selectorGroup always layout horizontally
+          "horizontal",
+          selectorGroup,
+          legendModel.get("selectorItemGap", true)
+        );
+        var selectorRect = selectorGroup.getBoundingRect();
+        var selectorPos = [-selectorRect.x, -selectorRect.y];
+        var selectorButtonGap = legendModel.get("selectorButtonGap", true);
+        var orientIdx = legendModel.getOrient().index;
+        var wh = orientIdx === 0 ? "width" : "height";
+        var hw = orientIdx === 0 ? "height" : "width";
+        var yx = orientIdx === 0 ? "y" : "x";
+        if (selectorPosition === "end") {
+          selectorPos[orientIdx] += contentRect[wh] + selectorButtonGap;
+        } else {
+          contentPos[orientIdx] += selectorRect[wh] + selectorButtonGap;
+        }
+        selectorPos[1 - orientIdx] += contentRect[hw] / 2 - selectorRect[hw] / 2;
+        selectorGroup.x = selectorPos[0];
+        selectorGroup.y = selectorPos[1];
+        contentGroup.x = contentPos[0];
+        contentGroup.y = contentPos[1];
+        var mainRect = {
+          x: 0,
+          y: 0
+        };
+        mainRect[wh] = contentRect[wh] + selectorButtonGap + selectorRect[wh];
+        mainRect[hw] = Math.max(contentRect[hw], selectorRect[hw]);
+        mainRect[yx] = Math.min(0, selectorRect[yx] + selectorPos[1 - orientIdx]);
+        return mainRect;
+      } else {
+        contentGroup.x = contentPos[0];
+        contentGroup.y = contentPos[1];
+        return this.group.getBoundingRect();
+      }
+    };
+    LegendView2.prototype.remove = function() {
+      this.getContentGroup().removeAll();
+      this._isFirstRender = true;
+    };
+    LegendView2.type = "legend.plain";
+    return LegendView2;
+  }(ComponentView$1)
+);
+function getLegendStyle(iconType, legendItemModel, lineVisualStyle, itemVisualStyle, drawType, isSelected, api2) {
+  function handleCommonProps(style2, visualStyle) {
+    if (style2.lineWidth === "auto") {
+      style2.lineWidth = visualStyle.lineWidth > 0 ? 2 : 0;
+    }
+    each$3(style2, function(propVal, propName) {
+      style2[propName] === "inherit" && (style2[propName] = visualStyle[propName]);
+    });
+  }
+  var itemStyleModel = legendItemModel.getModel("itemStyle");
+  var itemStyle2 = itemStyleModel.getItemStyle();
+  var iconBrushType = iconType.lastIndexOf("empty", 0) === 0 ? "fill" : "stroke";
+  var decalStyle = itemStyleModel.getShallow("decal");
+  itemStyle2.decal = !decalStyle || decalStyle === "inherit" ? itemVisualStyle.decal : createOrUpdatePatternFromDecal(decalStyle, api2);
+  if (itemStyle2.fill === "inherit") {
+    itemStyle2.fill = itemVisualStyle[drawType];
+  }
+  if (itemStyle2.stroke === "inherit") {
+    itemStyle2.stroke = itemVisualStyle[iconBrushType];
+  }
+  if (itemStyle2.opacity === "inherit") {
+    itemStyle2.opacity = (drawType === "fill" ? itemVisualStyle : lineVisualStyle).opacity;
+  }
+  handleCommonProps(itemStyle2, itemVisualStyle);
+  var legendLineModel = legendItemModel.getModel("lineStyle");
+  var lineStyle2 = legendLineModel.getLineStyle();
+  handleCommonProps(lineStyle2, lineVisualStyle);
+  itemStyle2.fill === "auto" && (itemStyle2.fill = itemVisualStyle.fill);
+  itemStyle2.stroke === "auto" && (itemStyle2.stroke = itemVisualStyle.fill);
+  lineStyle2.stroke === "auto" && (lineStyle2.stroke = itemVisualStyle.fill);
+  if (!isSelected) {
+    var borderWidth = legendItemModel.get("inactiveBorderWidth");
+    var visualHasBorder = itemStyle2[iconBrushType];
+    itemStyle2.lineWidth = borderWidth === "auto" ? itemVisualStyle.lineWidth > 0 && visualHasBorder ? 2 : 0 : itemStyle2.lineWidth;
+    itemStyle2.fill = legendItemModel.get("inactiveColor");
+    itemStyle2.stroke = legendItemModel.get("inactiveBorderColor");
+    lineStyle2.stroke = legendLineModel.get("inactiveColor");
+    lineStyle2.lineWidth = legendLineModel.get("inactiveWidth");
+  }
+  return {
+    itemStyle: itemStyle2,
+    lineStyle: lineStyle2
+  };
+}
+function getDefaultLegendIcon(opt) {
+  var symboType = opt.icon || "roundRect";
+  var icon = createSymbol$1(symboType, 0, 0, opt.itemWidth, opt.itemHeight, opt.itemStyle.fill, opt.symbolKeepAspect);
+  icon.setStyle(opt.itemStyle);
+  icon.rotation = (opt.iconRotate || 0) * Math.PI / 180;
+  icon.setOrigin([opt.itemWidth / 2, opt.itemHeight / 2]);
+  if (symboType.indexOf("empty") > -1) {
+    icon.style.stroke = icon.style.fill;
+    icon.style.fill = "#fff";
+    icon.style.lineWidth = 2;
+  }
+  return icon;
+}
+function dispatchSelectAction(seriesName, dataName, api2, excludeSeriesId) {
+  dispatchDownplayAction(seriesName, dataName, api2, excludeSeriesId);
+  api2.dispatchAction({
+    type: "legendToggleSelect",
+    name: seriesName != null ? seriesName : dataName
+  });
+  dispatchHighlightAction(seriesName, dataName, api2, excludeSeriesId);
+}
+function isUseHoverLayer(api2) {
+  var list2 = api2.getZr().storage.getDisplayList();
+  var emphasisState;
+  var i2 = 0;
+  var len2 = list2.length;
+  while (i2 < len2 && !(emphasisState = list2[i2].states.emphasis)) {
+    i2++;
+  }
+  return emphasisState && emphasisState.hoverLayer;
+}
+function dispatchHighlightAction(seriesName, dataName, api2, excludeSeriesId) {
+  if (!isUseHoverLayer(api2)) {
+    api2.dispatchAction({
+      type: "highlight",
+      seriesName,
+      name: dataName,
+      excludeSeriesId
+    });
+  }
+}
+function dispatchDownplayAction(seriesName, dataName, api2, excludeSeriesId) {
+  if (!isUseHoverLayer(api2)) {
+    api2.dispatchAction({
+      type: "downplay",
+      seriesName,
+      name: dataName,
+      excludeSeriesId
+    });
+  }
+}
+const LegendView$1 = LegendView;
+function legendFilter(ecModel) {
+  var legendModels = ecModel.findComponents({
+    mainType: "legend"
+  });
+  if (legendModels && legendModels.length) {
+    ecModel.filterSeries(function(series) {
+      for (var i2 = 0; i2 < legendModels.length; i2++) {
+        if (!legendModels[i2].isSelected(series.name)) {
+          return false;
+        }
+      }
+      return true;
+    });
+  }
+}
+function legendSelectActionHandler(methodName, payload, ecModel) {
+  var selectedMap = {};
+  var isToggleSelect = methodName === "toggleSelected";
+  var isSelected;
+  ecModel.eachComponent("legend", function(legendModel) {
+    if (isToggleSelect && isSelected != null) {
+      legendModel[isSelected ? "select" : "unSelect"](payload.name);
+    } else if (methodName === "allSelect" || methodName === "inverseSelect") {
+      legendModel[methodName]();
+    } else {
+      legendModel[methodName](payload.name);
+      isSelected = legendModel.isSelected(payload.name);
+    }
+    var legendData = legendModel.getData();
+    each$f(legendData, function(model2) {
+      var name2 = model2.get("name");
+      if (name2 === "\n" || name2 === "") {
+        return;
+      }
+      var isItemSelected = legendModel.isSelected(name2);
+      if (selectedMap.hasOwnProperty(name2)) {
+        selectedMap[name2] = selectedMap[name2] && isItemSelected;
+      } else {
+        selectedMap[name2] = isItemSelected;
+      }
+    });
+  });
+  return methodName === "allSelect" || methodName === "inverseSelect" ? {
+    selected: selectedMap
+  } : {
+    name: payload.name,
+    selected: selectedMap
+  };
+}
+function installLegendAction(registers) {
+  registers.registerAction("legendToggleSelect", "legendselectchanged", curry$1(legendSelectActionHandler, "toggleSelected"));
+  registers.registerAction("legendAllSelect", "legendselectall", curry$1(legendSelectActionHandler, "allSelect"));
+  registers.registerAction("legendInverseSelect", "legendinverseselect", curry$1(legendSelectActionHandler, "inverseSelect"));
+  registers.registerAction("legendSelect", "legendselected", curry$1(legendSelectActionHandler, "select"));
+  registers.registerAction("legendUnSelect", "legendunselected", curry$1(legendSelectActionHandler, "unSelect"));
+}
+function install$b(registers) {
+  registers.registerComponentModel(LegendModel$1);
+  registers.registerComponentView(LegendView$1);
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);
+  registers.registerSubTypeDefaulter("legend", function() {
+    return "plain";
+  });
+  installLegendAction(registers);
+}
+var ScrollableLegendModel = (
+  /** @class */
+  function(_super) {
+    __extends(ScrollableLegendModel2, _super);
+    function ScrollableLegendModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ScrollableLegendModel2.type;
+      return _this;
+    }
+    ScrollableLegendModel2.prototype.setScrollDataIndex = function(scrollDataIndex) {
+      this.option.scrollDataIndex = scrollDataIndex;
+    };
+    ScrollableLegendModel2.prototype.init = function(option, parentModel, ecModel) {
+      var inputPositionParams = getLayoutParams(option);
+      _super.prototype.init.call(this, option, parentModel, ecModel);
+      mergeAndNormalizeLayoutParams(this, option, inputPositionParams);
+    };
+    ScrollableLegendModel2.prototype.mergeOption = function(option, ecModel) {
+      _super.prototype.mergeOption.call(this, option, ecModel);
+      mergeAndNormalizeLayoutParams(this, this.option, option);
+    };
+    ScrollableLegendModel2.type = "legend.scroll";
+    ScrollableLegendModel2.defaultOption = inheritDefaultOption(LegendModel$1.defaultOption, {
+      scrollDataIndex: 0,
+      pageButtonItemGap: 5,
+      pageButtonGap: null,
+      pageButtonPosition: "end",
+      pageFormatter: "{current}/{total}",
+      pageIcons: {
+        horizontal: ["M0,0L12,-10L12,10z", "M0,0L-12,-10L-12,10z"],
+        vertical: ["M0,0L20,0L10,-20z", "M0,0L20,0L10,20z"]
+      },
+      pageIconColor: "#2f4554",
+      pageIconInactiveColor: "#aaa",
+      pageIconSize: 15,
+      pageTextStyle: {
+        color: "#333"
+      },
+      animationDurationUpdate: 800
+    });
+    return ScrollableLegendModel2;
+  }(LegendModel$1)
+);
+function mergeAndNormalizeLayoutParams(legendModel, target, raw) {
+  var orient = legendModel.getOrient();
+  var ignoreSize = [1, 1];
+  ignoreSize[orient.index] = 0;
+  mergeLayoutParam(target, raw, {
+    type: "box",
+    ignoreSize: !!ignoreSize
+  });
+}
+const ScrollableLegendModel$1 = ScrollableLegendModel;
+var Group = Group$4;
+var WH = ["width", "height"];
+var XY = ["x", "y"];
+var ScrollableLegendView = (
+  /** @class */
+  function(_super) {
+    __extends(ScrollableLegendView2, _super);
+    function ScrollableLegendView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ScrollableLegendView2.type;
+      _this.newlineDisabled = true;
+      _this._currentIndex = 0;
+      return _this;
+    }
+    ScrollableLegendView2.prototype.init = function() {
+      _super.prototype.init.call(this);
+      this.group.add(this._containerGroup = new Group());
+      this._containerGroup.add(this.getContentGroup());
+      this.group.add(this._controllerGroup = new Group());
+    };
+    ScrollableLegendView2.prototype.resetInner = function() {
+      _super.prototype.resetInner.call(this);
+      this._controllerGroup.removeAll();
+      this._containerGroup.removeClipPath();
+      this._containerGroup.__rectSize = null;
+    };
+    ScrollableLegendView2.prototype.renderInner = function(itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition) {
+      var self2 = this;
+      _super.prototype.renderInner.call(this, itemAlign, legendModel, ecModel, api2, selector2, orient, selectorPosition);
+      var controllerGroup = this._controllerGroup;
+      var pageIconSize = legendModel.get("pageIconSize", true);
+      var pageIconSizeArr = isArray$2(pageIconSize) ? pageIconSize : [pageIconSize, pageIconSize];
+      createPageButton("pagePrev", 0);
+      var pageTextStyleModel = legendModel.getModel("pageTextStyle");
+      controllerGroup.add(new ZRText$1({
+        name: "pageText",
+        style: {
+          // Placeholder to calculate a proper layout.
+          text: "xx/xx",
+          fill: pageTextStyleModel.getTextColor(),
+          font: pageTextStyleModel.getFont(),
+          verticalAlign: "middle",
+          align: "center"
+        },
+        silent: true
+      }));
+      createPageButton("pageNext", 1);
+      function createPageButton(name2, iconIdx) {
+        var pageDataIndexName = name2 + "DataIndex";
+        var icon = createIcon(legendModel.get("pageIcons", true)[legendModel.getOrient().name][iconIdx], {
+          // Buttons will be created in each render, so we do not need
+          // to worry about avoiding using legendModel kept in scope.
+          onclick: bind$2(self2._pageGo, self2, pageDataIndexName, legendModel, api2)
+        }, {
+          x: -pageIconSizeArr[0] / 2,
+          y: -pageIconSizeArr[1] / 2,
+          width: pageIconSizeArr[0],
+          height: pageIconSizeArr[1]
+        });
+        icon.name = name2;
+        controllerGroup.add(icon);
+      }
+    };
+    ScrollableLegendView2.prototype.layoutInner = function(legendModel, itemAlign, maxSize, isFirstRender, selector2, selectorPosition) {
+      var selectorGroup = this.getSelectorGroup();
+      var orientIdx = legendModel.getOrient().index;
+      var wh = WH[orientIdx];
+      var xy = XY[orientIdx];
+      var hw = WH[1 - orientIdx];
+      var yx = XY[1 - orientIdx];
+      selector2 && box(
+        // Buttons in selectorGroup always layout horizontally
+        "horizontal",
+        selectorGroup,
+        legendModel.get("selectorItemGap", true)
+      );
+      var selectorButtonGap = legendModel.get("selectorButtonGap", true);
+      var selectorRect = selectorGroup.getBoundingRect();
+      var selectorPos = [-selectorRect.x, -selectorRect.y];
+      var processMaxSize = clone$4(maxSize);
+      selector2 && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);
+      var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx, xy);
+      if (selector2) {
+        if (selectorPosition === "end") {
+          selectorPos[orientIdx] += mainRect[wh] + selectorButtonGap;
+        } else {
+          var offset2 = selectorRect[wh] + selectorButtonGap;
+          selectorPos[orientIdx] -= offset2;
+          mainRect[xy] -= offset2;
+        }
+        mainRect[wh] += selectorRect[wh] + selectorButtonGap;
+        selectorPos[1 - orientIdx] += mainRect[yx] + mainRect[hw] / 2 - selectorRect[hw] / 2;
+        mainRect[hw] = Math.max(mainRect[hw], selectorRect[hw]);
+        mainRect[yx] = Math.min(mainRect[yx], selectorRect[yx] + selectorPos[1 - orientIdx]);
+        selectorGroup.x = selectorPos[0];
+        selectorGroup.y = selectorPos[1];
+        selectorGroup.markRedraw();
+      }
+      return mainRect;
+    };
+    ScrollableLegendView2.prototype._layoutContentAndController = function(legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx, xy) {
+      var contentGroup = this.getContentGroup();
+      var containerGroup = this._containerGroup;
+      var controllerGroup = this._controllerGroup;
+      box(legendModel.get("orient"), contentGroup, legendModel.get("itemGap"), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);
+      box(
+        // Buttons in controller are layout always horizontally.
+        "horizontal",
+        controllerGroup,
+        legendModel.get("pageButtonItemGap", true)
+      );
+      var contentRect = contentGroup.getBoundingRect();
+      var controllerRect = controllerGroup.getBoundingRect();
+      var showController = this._showController = contentRect[wh] > maxSize[wh];
+      var contentPos = [-contentRect.x, -contentRect.y];
+      if (!isFirstRender) {
+        contentPos[orientIdx] = contentGroup[xy];
+      }
+      var containerPos = [0, 0];
+      var controllerPos = [-controllerRect.x, -controllerRect.y];
+      var pageButtonGap = retrieve2(legendModel.get("pageButtonGap", true), legendModel.get("itemGap", true));
+      if (showController) {
+        var pageButtonPosition = legendModel.get("pageButtonPosition", true);
+        if (pageButtonPosition === "end") {
+          controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];
+        } else {
+          containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;
+        }
+      }
+      controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;
+      contentGroup.setPosition(contentPos);
+      containerGroup.setPosition(containerPos);
+      controllerGroup.setPosition(controllerPos);
+      var mainRect = {
+        x: 0,
+        y: 0
+      };
+      mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];
+      mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]);
+      mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);
+      containerGroup.__rectSize = maxSize[wh];
+      if (showController) {
+        var clipShape = {
+          x: 0,
+          y: 0
+        };
+        clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);
+        clipShape[hw] = mainRect[hw];
+        containerGroup.setClipPath(new Rect$3({
+          shape: clipShape
+        }));
+        containerGroup.__rectSize = clipShape[wh];
+      } else {
+        controllerGroup.eachChild(function(child) {
+          child.attr({
+            invisible: true,
+            silent: true
+          });
+        });
+      }
+      var pageInfo = this._getPageInfo(legendModel);
+      pageInfo.pageIndex != null && updateProps$1(
+        contentGroup,
+        {
+          x: pageInfo.contentPosition[0],
+          y: pageInfo.contentPosition[1]
+        },
+        // When switch from "show controller" to "not show controller", view should be
+        // updated immediately without animation, otherwise causes weird effect.
+        showController ? legendModel : null
+      );
+      this._updatePageInfoView(legendModel, pageInfo);
+      return mainRect;
+    };
+    ScrollableLegendView2.prototype._pageGo = function(to, legendModel, api2) {
+      var scrollDataIndex = this._getPageInfo(legendModel)[to];
+      scrollDataIndex != null && api2.dispatchAction({
+        type: "legendScroll",
+        scrollDataIndex,
+        legendId: legendModel.id
+      });
+    };
+    ScrollableLegendView2.prototype._updatePageInfoView = function(legendModel, pageInfo) {
+      var controllerGroup = this._controllerGroup;
+      each$f(["pagePrev", "pageNext"], function(name2) {
+        var key2 = name2 + "DataIndex";
+        var canJump = pageInfo[key2] != null;
+        var icon = controllerGroup.childOfName(name2);
+        if (icon) {
+          icon.setStyle("fill", canJump ? legendModel.get("pageIconColor", true) : legendModel.get("pageIconInactiveColor", true));
+          icon.cursor = canJump ? "pointer" : "default";
+        }
+      });
+      var pageText = controllerGroup.childOfName("pageText");
+      var pageFormatter = legendModel.get("pageFormatter");
+      var pageIndex = pageInfo.pageIndex;
+      var current = pageIndex != null ? pageIndex + 1 : 0;
+      var total = pageInfo.pageCount;
+      pageText && pageFormatter && pageText.setStyle("text", isString$1(pageFormatter) ? pageFormatter.replace("{current}", current == null ? "" : current + "").replace("{total}", total == null ? "" : total + "") : pageFormatter({
+        current,
+        total
+      }));
+    };
+    ScrollableLegendView2.prototype._getPageInfo = function(legendModel) {
+      var scrollDataIndex = legendModel.get("scrollDataIndex", true);
+      var contentGroup = this.getContentGroup();
+      var containerRectSize = this._containerGroup.__rectSize;
+      var orientIdx = legendModel.getOrient().index;
+      var wh = WH[orientIdx];
+      var xy = XY[orientIdx];
+      var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);
+      var children3 = contentGroup.children();
+      var targetItem = children3[targetItemIndex];
+      var itemCount = children3.length;
+      var pCount = !itemCount ? 0 : 1;
+      var result2 = {
+        contentPosition: [contentGroup.x, contentGroup.y],
+        pageCount: pCount,
+        pageIndex: pCount - 1,
+        pagePrevDataIndex: null,
+        pageNextDataIndex: null
+      };
+      if (!targetItem) {
+        return result2;
+      }
+      var targetItemInfo = getItemInfo(targetItem);
+      result2.contentPosition[orientIdx] = -targetItemInfo.s;
+      for (var i2 = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i2 <= itemCount; ++i2) {
+        currItemInfo = getItemInfo(children3[i2]);
+        if (
+          // Half of the last item is out of the window.
+          !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page
+          // can be started at the current item or the last item.
+          currItemInfo && !intersect2(currItemInfo, winStartItemInfo.s)
+        ) {
+          if (winEndItemInfo.i > winStartItemInfo.i) {
+            winStartItemInfo = winEndItemInfo;
+          } else {
+            winStartItemInfo = currItemInfo;
+          }
+          if (winStartItemInfo) {
+            if (result2.pageNextDataIndex == null) {
+              result2.pageNextDataIndex = winStartItemInfo.i;
+            }
+            ++result2.pageCount;
+          }
+        }
+        winEndItemInfo = currItemInfo;
+      }
+      for (var i2 = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i2 >= -1; --i2) {
+        currItemInfo = getItemInfo(children3[i2]);
+        if (
+          // If the the end item does not intersect with the window started
+          // from the current item, a page can be settled.
+          (!currItemInfo || !intersect2(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.
+          winStartItemInfo.i < winEndItemInfo.i
+        ) {
+          winEndItemInfo = winStartItemInfo;
+          if (result2.pagePrevDataIndex == null) {
+            result2.pagePrevDataIndex = winStartItemInfo.i;
+          }
+          ++result2.pageCount;
+          ++result2.pageIndex;
+        }
+        winStartItemInfo = currItemInfo;
+      }
+      return result2;
+      function getItemInfo(el) {
+        if (el) {
+          var itemRect = el.getBoundingRect();
+          var start2 = itemRect[xy] + el[xy];
+          return {
+            s: start2,
+            e: start2 + itemRect[wh],
+            i: el.__legendDataIndex
+          };
+        }
+      }
+      function intersect2(itemInfo, winStart) {
+        return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;
+      }
+    };
+    ScrollableLegendView2.prototype._findTargetItemIndex = function(targetDataIndex) {
+      if (!this._showController) {
+        return 0;
+      }
+      var index3;
+      var contentGroup = this.getContentGroup();
+      var defaultIndex;
+      contentGroup.eachChild(function(child, idx) {
+        var legendDataIdx = child.__legendDataIndex;
+        if (defaultIndex == null && legendDataIdx != null) {
+          defaultIndex = idx;
+        }
+        if (legendDataIdx === targetDataIndex) {
+          index3 = idx;
+        }
+      });
+      return index3 != null ? index3 : defaultIndex;
+    };
+    ScrollableLegendView2.type = "legend.scroll";
+    return ScrollableLegendView2;
+  }(LegendView$1)
+);
+const ScrollableLegendView$1 = ScrollableLegendView;
+function installScrollableLegendAction(registers) {
+  registers.registerAction("legendScroll", "legendscroll", function(payload, ecModel) {
+    var scrollDataIndex = payload.scrollDataIndex;
+    scrollDataIndex != null && ecModel.eachComponent({
+      mainType: "legend",
+      subType: "scroll",
+      query: payload
+    }, function(legendModel) {
+      legendModel.setScrollDataIndex(scrollDataIndex);
+    });
+  });
+}
+function install$a(registers) {
+  use(install$b);
+  registers.registerComponentModel(ScrollableLegendModel$1);
+  registers.registerComponentView(ScrollableLegendView$1);
+  installScrollableLegendAction(registers);
+}
+function install$9(registers) {
+  use(install$b);
+  use(install$a);
+}
+var InsideZoomModel = (
+  /** @class */
+  function(_super) {
+    __extends(InsideZoomModel2, _super);
+    function InsideZoomModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = InsideZoomModel2.type;
+      return _this;
+    }
+    InsideZoomModel2.type = "dataZoom.inside";
+    InsideZoomModel2.defaultOption = inheritDefaultOption(DataZoomModel$1.defaultOption, {
+      disabled: false,
+      zoomLock: false,
+      zoomOnMouseWheel: true,
+      moveOnMouseMove: true,
+      moveOnMouseWheel: false,
+      preventDefaultMouseMove: true
+    });
+    return InsideZoomModel2;
+  }(DataZoomModel$1)
+);
+const InsideZoomModel$1 = InsideZoomModel;
+var inner$1 = makeInner();
+function setViewInfoToCoordSysRecord(api2, dataZoomModel, getRange) {
+  inner$1(api2).coordSysRecordMap.each(function(coordSysRecord) {
+    var dzInfo = coordSysRecord.dataZoomInfoMap.get(dataZoomModel.uid);
+    if (dzInfo) {
+      dzInfo.getRange = getRange;
+    }
+  });
+}
+function disposeCoordSysRecordIfNeeded(api2, dataZoomModel) {
+  var coordSysRecordMap = inner$1(api2).coordSysRecordMap;
+  var coordSysKeyArr = coordSysRecordMap.keys();
+  for (var i2 = 0; i2 < coordSysKeyArr.length; i2++) {
+    var coordSysKey = coordSysKeyArr[i2];
+    var coordSysRecord = coordSysRecordMap.get(coordSysKey);
+    var dataZoomInfoMap = coordSysRecord.dataZoomInfoMap;
+    if (dataZoomInfoMap) {
+      var dzUid = dataZoomModel.uid;
+      var dzInfo = dataZoomInfoMap.get(dzUid);
+      if (dzInfo) {
+        dataZoomInfoMap.removeKey(dzUid);
+        if (!dataZoomInfoMap.keys().length) {
+          disposeCoordSysRecord(coordSysRecordMap, coordSysRecord);
+        }
+      }
+    }
+  }
+}
+function disposeCoordSysRecord(coordSysRecordMap, coordSysRecord) {
+  if (coordSysRecord) {
+    coordSysRecordMap.removeKey(coordSysRecord.model.uid);
+    var controller = coordSysRecord.controller;
+    controller && controller.dispose();
+  }
+}
+function createCoordSysRecord(api2, coordSysModel) {
+  var coordSysRecord = {
+    model: coordSysModel,
+    containsPoint: curry$1(containsPoint, coordSysModel),
+    dispatchAction: curry$1(dispatchAction, api2),
+    dataZoomInfoMap: null,
+    controller: null
+  };
+  var controller = coordSysRecord.controller = new RoamController$1(api2.getZr());
+  each$f(["pan", "zoom", "scrollMove"], function(eventName) {
+    controller.on(eventName, function(event2) {
+      var batch = [];
+      coordSysRecord.dataZoomInfoMap.each(function(dzInfo) {
+        if (!event2.isAvailableBehavior(dzInfo.model.option)) {
+          return;
+        }
+        var method = (dzInfo.getRange || {})[eventName];
+        var range2 = method && method(dzInfo.dzReferCoordSysInfo, coordSysRecord.model.mainType, coordSysRecord.controller, event2);
+        !dzInfo.model.get("disabled", true) && range2 && batch.push({
+          dataZoomId: dzInfo.model.id,
+          start: range2[0],
+          end: range2[1]
+        });
+      });
+      batch.length && coordSysRecord.dispatchAction(batch);
+    });
+  });
+  return coordSysRecord;
+}
+function dispatchAction(api2, batch) {
+  if (!api2.isDisposed()) {
+    api2.dispatchAction({
+      type: "dataZoom",
+      animation: {
+        easing: "cubicOut",
+        duration: 100
+      },
+      batch
+    });
+  }
+}
+function containsPoint(coordSysModel, e2, x2, y2) {
+  return coordSysModel.coordinateSystem.containPoint([x2, y2]);
+}
+function mergeControllerParams(dataZoomInfoMap) {
+  var controlType;
+  var prefix = "type_";
+  var typePriority = {
+    "type_true": 2,
+    "type_move": 1,
+    "type_false": 0,
+    "type_undefined": -1
+  };
+  var preventDefaultMouseMove = true;
+  dataZoomInfoMap.each(function(dataZoomInfo) {
+    var dataZoomModel = dataZoomInfo.model;
+    var oneType = dataZoomModel.get("disabled", true) ? false : dataZoomModel.get("zoomLock", true) ? "move" : true;
+    if (typePriority[prefix + oneType] > typePriority[prefix + controlType]) {
+      controlType = oneType;
+    }
+    preventDefaultMouseMove = preventDefaultMouseMove && dataZoomModel.get("preventDefaultMouseMove", true);
+  });
+  return {
+    controlType,
+    opt: {
+      // RoamController will enable all of these functionalities,
+      // and the final behavior is determined by its event listener
+      // provided by each inside zoom.
+      zoomOnMouseWheel: true,
+      moveOnMouseMove: true,
+      moveOnMouseWheel: true,
+      preventDefaultMouseMove: !!preventDefaultMouseMove
+    }
+  };
+}
+function installDataZoomRoamProcessor(registers) {
+  registers.registerProcessor(registers.PRIORITY.PROCESSOR.FILTER, function(ecModel, api2) {
+    var apiInner = inner$1(api2);
+    var coordSysRecordMap = apiInner.coordSysRecordMap || (apiInner.coordSysRecordMap = createHashMap());
+    coordSysRecordMap.each(function(coordSysRecord) {
+      coordSysRecord.dataZoomInfoMap = null;
+    });
+    ecModel.eachComponent({
+      mainType: "dataZoom",
+      subType: "inside"
+    }, function(dataZoomModel) {
+      var dzReferCoordSysWrap = collectReferCoordSysModelInfo(dataZoomModel);
+      each$f(dzReferCoordSysWrap.infoList, function(dzCoordSysInfo) {
+        var coordSysUid = dzCoordSysInfo.model.uid;
+        var coordSysRecord = coordSysRecordMap.get(coordSysUid) || coordSysRecordMap.set(coordSysUid, createCoordSysRecord(api2, dzCoordSysInfo.model));
+        var dataZoomInfoMap = coordSysRecord.dataZoomInfoMap || (coordSysRecord.dataZoomInfoMap = createHashMap());
+        dataZoomInfoMap.set(dataZoomModel.uid, {
+          dzReferCoordSysInfo: dzCoordSysInfo,
+          model: dataZoomModel,
+          getRange: null
+        });
+      });
+    });
+    coordSysRecordMap.each(function(coordSysRecord) {
+      var controller = coordSysRecord.controller;
+      var firstDzInfo;
+      var dataZoomInfoMap = coordSysRecord.dataZoomInfoMap;
+      if (dataZoomInfoMap) {
+        var firstDzKey = dataZoomInfoMap.keys()[0];
+        if (firstDzKey != null) {
+          firstDzInfo = dataZoomInfoMap.get(firstDzKey);
+        }
+      }
+      if (!firstDzInfo) {
+        disposeCoordSysRecord(coordSysRecordMap, coordSysRecord);
+        return;
+      }
+      var controllerParams = mergeControllerParams(dataZoomInfoMap);
+      controller.enable(controllerParams.controlType, controllerParams.opt);
+      controller.setPointerChecker(coordSysRecord.containsPoint);
+      createOrUpdate(coordSysRecord, "dispatchAction", firstDzInfo.model.get("throttle", true), "fixRate");
+    });
+  });
+}
+var InsideZoomView = (
+  /** @class */
+  function(_super) {
+    __extends(InsideZoomView2, _super);
+    function InsideZoomView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "dataZoom.inside";
+      return _this;
+    }
+    InsideZoomView2.prototype.render = function(dataZoomModel, ecModel, api2) {
+      _super.prototype.render.apply(this, arguments);
+      if (dataZoomModel.noTarget()) {
+        this._clear();
+        return;
+      }
+      this.range = dataZoomModel.getPercentRange();
+      setViewInfoToCoordSysRecord(api2, dataZoomModel, {
+        pan: bind$2(getRangeHandlers.pan, this),
+        zoom: bind$2(getRangeHandlers.zoom, this),
+        scrollMove: bind$2(getRangeHandlers.scrollMove, this)
+      });
+    };
+    InsideZoomView2.prototype.dispose = function() {
+      this._clear();
+      _super.prototype.dispose.apply(this, arguments);
+    };
+    InsideZoomView2.prototype._clear = function() {
+      disposeCoordSysRecordIfNeeded(this.api, this.dataZoomModel);
+      this.range = null;
+    };
+    InsideZoomView2.type = "dataZoom.inside";
+    return InsideZoomView2;
+  }(DataZoomView$1)
+);
+var getRangeHandlers = {
+  zoom: function(coordSysInfo, coordSysMainType, controller, e2) {
+    var lastRange = this.range;
+    var range2 = lastRange.slice();
+    var axisModel = coordSysInfo.axisModels[0];
+    if (!axisModel) {
+      return;
+    }
+    var directionInfo = getDirectionInfo[coordSysMainType](null, [e2.originX, e2.originY], axisModel, controller, coordSysInfo);
+    var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range2[1] - range2[0]) + range2[0];
+    var scale2 = Math.max(1 / e2.scale, 0);
+    range2[0] = (range2[0] - percentPoint) * scale2 + percentPoint;
+    range2[1] = (range2[1] - percentPoint) * scale2 + percentPoint;
+    var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
+    sliderMove(0, range2, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);
+    this.range = range2;
+    if (lastRange[0] !== range2[0] || lastRange[1] !== range2[1]) {
+      return range2;
+    }
+  },
+  pan: makeMover(function(range2, axisModel, coordSysInfo, coordSysMainType, controller, e2) {
+    var directionInfo = getDirectionInfo[coordSysMainType]([e2.oldX, e2.oldY], [e2.newX, e2.newY], axisModel, controller, coordSysInfo);
+    return directionInfo.signal * (range2[1] - range2[0]) * directionInfo.pixel / directionInfo.pixelLength;
+  }),
+  scrollMove: makeMover(function(range2, axisModel, coordSysInfo, coordSysMainType, controller, e2) {
+    var directionInfo = getDirectionInfo[coordSysMainType]([0, 0], [e2.scrollDelta, e2.scrollDelta], axisModel, controller, coordSysInfo);
+    return directionInfo.signal * (range2[1] - range2[0]) * e2.scrollDelta;
+  })
+};
+function makeMover(getPercentDelta) {
+  return function(coordSysInfo, coordSysMainType, controller, e2) {
+    var lastRange = this.range;
+    var range2 = lastRange.slice();
+    var axisModel = coordSysInfo.axisModels[0];
+    if (!axisModel) {
+      return;
+    }
+    var percentDelta = getPercentDelta(range2, axisModel, coordSysInfo, coordSysMainType, controller, e2);
+    sliderMove(percentDelta, range2, [0, 100], "all");
+    this.range = range2;
+    if (lastRange[0] !== range2[0] || lastRange[1] !== range2[1]) {
+      return range2;
+    }
+  };
+}
+var getDirectionInfo = {
+  grid: function(oldPoint, newPoint, axisModel, controller, coordSysInfo) {
+    var axis2 = axisModel.axis;
+    var ret = {};
+    var rect = coordSysInfo.model.coordinateSystem.getRect();
+    oldPoint = oldPoint || [0, 0];
+    if (axis2.dim === "x") {
+      ret.pixel = newPoint[0] - oldPoint[0];
+      ret.pixelLength = rect.width;
+      ret.pixelStart = rect.x;
+      ret.signal = axis2.inverse ? 1 : -1;
+    } else {
+      ret.pixel = newPoint[1] - oldPoint[1];
+      ret.pixelLength = rect.height;
+      ret.pixelStart = rect.y;
+      ret.signal = axis2.inverse ? -1 : 1;
+    }
+    return ret;
+  },
+  polar: function(oldPoint, newPoint, axisModel, controller, coordSysInfo) {
+    var axis2 = axisModel.axis;
+    var ret = {};
+    var polar2 = coordSysInfo.model.coordinateSystem;
+    var radiusExtent = polar2.getRadiusAxis().getExtent();
+    var angleExtent = polar2.getAngleAxis().getExtent();
+    oldPoint = oldPoint ? polar2.pointToCoord(oldPoint) : [0, 0];
+    newPoint = polar2.pointToCoord(newPoint);
+    if (axisModel.mainType === "radiusAxis") {
+      ret.pixel = newPoint[0] - oldPoint[0];
+      ret.pixelLength = radiusExtent[1] - radiusExtent[0];
+      ret.pixelStart = radiusExtent[0];
+      ret.signal = axis2.inverse ? 1 : -1;
+    } else {
+      ret.pixel = newPoint[1] - oldPoint[1];
+      ret.pixelLength = angleExtent[1] - angleExtent[0];
+      ret.pixelStart = angleExtent[0];
+      ret.signal = axis2.inverse ? -1 : 1;
+    }
+    return ret;
+  },
+  singleAxis: function(oldPoint, newPoint, axisModel, controller, coordSysInfo) {
+    var axis2 = axisModel.axis;
+    var rect = coordSysInfo.model.coordinateSystem.getRect();
+    var ret = {};
+    oldPoint = oldPoint || [0, 0];
+    if (axis2.orient === "horizontal") {
+      ret.pixel = newPoint[0] - oldPoint[0];
+      ret.pixelLength = rect.width;
+      ret.pixelStart = rect.x;
+      ret.signal = axis2.inverse ? 1 : -1;
+    } else {
+      ret.pixel = newPoint[1] - oldPoint[1];
+      ret.pixelLength = rect.height;
+      ret.pixelStart = rect.y;
+      ret.signal = axis2.inverse ? -1 : 1;
+    }
+    return ret;
+  }
+};
+const InsideZoomView$1 = InsideZoomView;
+function install$8(registers) {
+  installCommon$1(registers);
+  registers.registerComponentModel(InsideZoomModel$1);
+  registers.registerComponentView(InsideZoomView$1);
+  installDataZoomRoamProcessor(registers);
+}
+var SliderZoomModel = (
+  /** @class */
+  function(_super) {
+    __extends(SliderZoomModel2, _super);
+    function SliderZoomModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SliderZoomModel2.type;
+      return _this;
+    }
+    SliderZoomModel2.type = "dataZoom.slider";
+    SliderZoomModel2.layoutMode = "box";
+    SliderZoomModel2.defaultOption = inheritDefaultOption(DataZoomModel$1.defaultOption, {
+      show: true,
+      // deault value can only be drived in view stage.
+      right: "ph",
+      top: "ph",
+      width: "ph",
+      height: "ph",
+      left: null,
+      bottom: null,
+      borderColor: "#d2dbee",
+      borderRadius: 3,
+      backgroundColor: "rgba(47,69,84,0)",
+      // dataBackgroundColor: '#ddd',
+      dataBackground: {
+        lineStyle: {
+          color: "#d2dbee",
+          width: 0.5
+        },
+        areaStyle: {
+          color: "#d2dbee",
+          opacity: 0.2
+        }
+      },
+      selectedDataBackground: {
+        lineStyle: {
+          color: "#8fb0f7",
+          width: 0.5
+        },
+        areaStyle: {
+          color: "#8fb0f7",
+          opacity: 0.2
+        }
+      },
+      // Color of selected window.
+      fillerColor: "rgba(135,175,274,0.2)",
+      handleIcon: "path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",
+      // Percent of the slider height
+      handleSize: "100%",
+      handleStyle: {
+        color: "#fff",
+        borderColor: "#ACB8D1"
+      },
+      moveHandleSize: 7,
+      moveHandleIcon: "path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",
+      moveHandleStyle: {
+        color: "#D2DBEE",
+        opacity: 0.7
+      },
+      showDetail: true,
+      showDataShadow: "auto",
+      realtime: true,
+      zoomLock: false,
+      textStyle: {
+        color: "#6E7079"
+      },
+      brushSelect: true,
+      brushStyle: {
+        color: "rgba(135,175,274,0.15)"
+      },
+      emphasis: {
+        handleStyle: {
+          borderColor: "#8FB0F7"
+        },
+        moveHandleStyle: {
+          color: "#8FB0F7"
+        }
+      }
+    });
+    return SliderZoomModel2;
+  }(DataZoomModel$1)
+);
+const SliderZoomModel$1 = SliderZoomModel;
+var Rect = Rect$3;
+var DEFAULT_LOCATION_EDGE_GAP = 7;
+var DEFAULT_FRAME_BORDER_WIDTH = 1;
+var DEFAULT_FILLER_SIZE = 30;
+var DEFAULT_MOVE_HANDLE_SIZE = 7;
+var HORIZONTAL = "horizontal";
+var VERTICAL = "vertical";
+var LABEL_GAP = 5;
+var SHOW_DATA_SHADOW_SERIES_TYPE = ["line", "bar", "candlestick", "scatter"];
+var REALTIME_ANIMATION_CONFIG = {
+  easing: "cubicOut",
+  duration: 100,
+  delay: 0
+};
+var SliderZoomView = (
+  /** @class */
+  function(_super) {
+    __extends(SliderZoomView2, _super);
+    function SliderZoomView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = SliderZoomView2.type;
+      _this._displayables = {};
+      return _this;
+    }
+    SliderZoomView2.prototype.init = function(ecModel, api2) {
+      this.api = api2;
+      this._onBrush = bind$2(this._onBrush, this);
+      this._onBrushEnd = bind$2(this._onBrushEnd, this);
+    };
+    SliderZoomView2.prototype.render = function(dataZoomModel, ecModel, api2, payload) {
+      _super.prototype.render.apply(this, arguments);
+      createOrUpdate(this, "_dispatchZoomAction", dataZoomModel.get("throttle"), "fixRate");
+      this._orient = dataZoomModel.getOrient();
+      if (dataZoomModel.get("show") === false) {
+        this.group.removeAll();
+        return;
+      }
+      if (dataZoomModel.noTarget()) {
+        this._clear();
+        this.group.removeAll();
+        return;
+      }
+      if (!payload || payload.type !== "dataZoom" || payload.from !== this.uid) {
+        this._buildView();
+      }
+      this._updateView();
+    };
+    SliderZoomView2.prototype.dispose = function() {
+      this._clear();
+      _super.prototype.dispose.apply(this, arguments);
+    };
+    SliderZoomView2.prototype._clear = function() {
+      clear$1(this, "_dispatchZoomAction");
+      var zr = this.api.getZr();
+      zr.off("mousemove", this._onBrush);
+      zr.off("mouseup", this._onBrushEnd);
+    };
+    SliderZoomView2.prototype._buildView = function() {
+      var thisGroup = this.group;
+      thisGroup.removeAll();
+      this._brushing = false;
+      this._displayables.brushRect = null;
+      this._resetLocation();
+      this._resetInterval();
+      var barGroup = this._displayables.sliderGroup = new Group$4();
+      this._renderBackground();
+      this._renderHandle();
+      this._renderDataShadow();
+      thisGroup.add(barGroup);
+      this._positionGroup();
+    };
+    SliderZoomView2.prototype._resetLocation = function() {
+      var dataZoomModel = this.dataZoomModel;
+      var api2 = this.api;
+      var showMoveHandle = dataZoomModel.get("brushSelect");
+      var moveHandleSize = showMoveHandle ? DEFAULT_MOVE_HANDLE_SIZE : 0;
+      var coordRect = this._findCoordRect();
+      var ecSize = {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      };
+      var positionInfo = this._orient === HORIZONTAL ? {
+        // Why using 'right', because right should be used in vertical,
+        // and it is better to be consistent for dealing with position param merge.
+        right: ecSize.width - coordRect.x - coordRect.width,
+        top: ecSize.height - DEFAULT_FILLER_SIZE - DEFAULT_LOCATION_EDGE_GAP - moveHandleSize,
+        width: coordRect.width,
+        height: DEFAULT_FILLER_SIZE
+      } : {
+        right: DEFAULT_LOCATION_EDGE_GAP,
+        top: coordRect.y,
+        width: DEFAULT_FILLER_SIZE,
+        height: coordRect.height
+      };
+      var layoutParams = getLayoutParams(dataZoomModel.option);
+      each$f(["right", "top", "width", "height"], function(name2) {
+        if (layoutParams[name2] === "ph") {
+          layoutParams[name2] = positionInfo[name2];
+        }
+      });
+      var layoutRect = getLayoutRect(layoutParams, ecSize);
+      this._location = {
+        x: layoutRect.x,
+        y: layoutRect.y
+      };
+      this._size = [layoutRect.width, layoutRect.height];
+      this._orient === VERTICAL && this._size.reverse();
+    };
+    SliderZoomView2.prototype._positionGroup = function() {
+      var thisGroup = this.group;
+      var location2 = this._location;
+      var orient = this._orient;
+      var targetAxisModel = this.dataZoomModel.getFirstTargetAxisModel();
+      var inverse = targetAxisModel && targetAxisModel.get("inverse");
+      var sliderGroup = this._displayables.sliderGroup;
+      var otherAxisInverse = (this._dataShadowInfo || {}).otherAxisInverse;
+      sliderGroup.attr(orient === HORIZONTAL && !inverse ? {
+        scaleY: otherAxisInverse ? 1 : -1,
+        scaleX: 1
+      } : orient === HORIZONTAL && inverse ? {
+        scaleY: otherAxisInverse ? 1 : -1,
+        scaleX: -1
+      } : orient === VERTICAL && !inverse ? {
+        scaleY: otherAxisInverse ? -1 : 1,
+        scaleX: 1,
+        rotation: Math.PI / 2
+      } : {
+        scaleY: otherAxisInverse ? -1 : 1,
+        scaleX: -1,
+        rotation: Math.PI / 2
+      });
+      var rect = thisGroup.getBoundingRect([sliderGroup]);
+      thisGroup.x = location2.x - rect.x;
+      thisGroup.y = location2.y - rect.y;
+      thisGroup.markRedraw();
+    };
+    SliderZoomView2.prototype._getViewExtent = function() {
+      return [0, this._size[0]];
+    };
+    SliderZoomView2.prototype._renderBackground = function() {
+      var dataZoomModel = this.dataZoomModel;
+      var size = this._size;
+      var barGroup = this._displayables.sliderGroup;
+      var brushSelect = dataZoomModel.get("brushSelect");
+      barGroup.add(new Rect({
+        silent: true,
+        shape: {
+          x: 0,
+          y: 0,
+          width: size[0],
+          height: size[1]
+        },
+        style: {
+          fill: dataZoomModel.get("backgroundColor")
+        },
+        z2: -40
+      }));
+      var clickPanel = new Rect({
+        shape: {
+          x: 0,
+          y: 0,
+          width: size[0],
+          height: size[1]
+        },
+        style: {
+          fill: "transparent"
+        },
+        z2: 0,
+        onclick: bind$2(this._onClickPanel, this)
+      });
+      var zr = this.api.getZr();
+      if (brushSelect) {
+        clickPanel.on("mousedown", this._onBrushStart, this);
+        clickPanel.cursor = "crosshair";
+        zr.on("mousemove", this._onBrush);
+        zr.on("mouseup", this._onBrushEnd);
+      } else {
+        zr.off("mousemove", this._onBrush);
+        zr.off("mouseup", this._onBrushEnd);
+      }
+      barGroup.add(clickPanel);
+    };
+    SliderZoomView2.prototype._renderDataShadow = function() {
+      var info = this._dataShadowInfo = this._prepareDataShadowInfo();
+      this._displayables.dataShadowSegs = [];
+      if (!info) {
+        return;
+      }
+      var size = this._size;
+      var oldSize = this._shadowSize || [];
+      var seriesModel = info.series;
+      var data2 = seriesModel.getRawData();
+      var candlestickDim = seriesModel.getShadowDim && seriesModel.getShadowDim();
+      var otherDim = candlestickDim && data2.getDimensionInfo(candlestickDim) ? seriesModel.getShadowDim() : info.otherDim;
+      if (otherDim == null) {
+        return;
+      }
+      var polygonPts = this._shadowPolygonPts;
+      var polylinePts = this._shadowPolylinePts;
+      if (data2 !== this._shadowData || otherDim !== this._shadowDim || size[0] !== oldSize[0] || size[1] !== oldSize[1]) {
+        var otherDataExtent_1 = data2.getDataExtent(otherDim);
+        var otherOffset = (otherDataExtent_1[1] - otherDataExtent_1[0]) * 0.3;
+        otherDataExtent_1 = [otherDataExtent_1[0] - otherOffset, otherDataExtent_1[1] + otherOffset];
+        var otherShadowExtent_1 = [0, size[1]];
+        var thisShadowExtent = [0, size[0]];
+        var areaPoints_1 = [[size[0], 0], [0, 0]];
+        var linePoints_1 = [];
+        var step_1 = thisShadowExtent[1] / (data2.count() - 1);
+        var thisCoord_1 = 0;
+        var stride_1 = Math.round(data2.count() / size[0]);
+        var lastIsEmpty_1;
+        data2.each([otherDim], function(value, index3) {
+          if (stride_1 > 0 && index3 % stride_1) {
+            thisCoord_1 += step_1;
+            return;
+          }
+          var isEmpty = value == null || isNaN(value) || value === "";
+          var otherCoord = isEmpty ? 0 : linearMap$2(value, otherDataExtent_1, otherShadowExtent_1, true);
+          if (isEmpty && !lastIsEmpty_1 && index3) {
+            areaPoints_1.push([areaPoints_1[areaPoints_1.length - 1][0], 0]);
+            linePoints_1.push([linePoints_1[linePoints_1.length - 1][0], 0]);
+          } else if (!isEmpty && lastIsEmpty_1) {
+            areaPoints_1.push([thisCoord_1, 0]);
+            linePoints_1.push([thisCoord_1, 0]);
+          }
+          areaPoints_1.push([thisCoord_1, otherCoord]);
+          linePoints_1.push([thisCoord_1, otherCoord]);
+          thisCoord_1 += step_1;
+          lastIsEmpty_1 = isEmpty;
+        });
+        polygonPts = this._shadowPolygonPts = areaPoints_1;
+        polylinePts = this._shadowPolylinePts = linePoints_1;
+      }
+      this._shadowData = data2;
+      this._shadowDim = otherDim;
+      this._shadowSize = [size[0], size[1]];
+      var dataZoomModel = this.dataZoomModel;
+      function createDataShadowGroup(isSelectedArea) {
+        var model2 = dataZoomModel.getModel(isSelectedArea ? "selectedDataBackground" : "dataBackground");
+        var group2 = new Group$4();
+        var polygon2 = new Polygon$1({
+          shape: {
+            points: polygonPts
+          },
+          segmentIgnoreThreshold: 1,
+          style: model2.getModel("areaStyle").getAreaStyle(),
+          silent: true,
+          z2: -20
+        });
+        var polyline = new Polyline$3({
+          shape: {
+            points: polylinePts
+          },
+          segmentIgnoreThreshold: 1,
+          style: model2.getModel("lineStyle").getLineStyle(),
+          silent: true,
+          z2: -19
+        });
+        group2.add(polygon2);
+        group2.add(polyline);
+        return group2;
+      }
+      for (var i2 = 0; i2 < 3; i2++) {
+        var group = createDataShadowGroup(i2 === 1);
+        this._displayables.sliderGroup.add(group);
+        this._displayables.dataShadowSegs.push(group);
+      }
+    };
+    SliderZoomView2.prototype._prepareDataShadowInfo = function() {
+      var dataZoomModel = this.dataZoomModel;
+      var showDataShadow = dataZoomModel.get("showDataShadow");
+      if (showDataShadow === false) {
+        return;
+      }
+      var result2;
+      var ecModel = this.ecModel;
+      dataZoomModel.eachTargetAxis(function(axisDim, axisIndex) {
+        var seriesModels = dataZoomModel.getAxisProxy(axisDim, axisIndex).getTargetSeriesModels();
+        each$f(seriesModels, function(seriesModel) {
+          if (result2) {
+            return;
+          }
+          if (showDataShadow !== true && indexOf(SHOW_DATA_SHADOW_SERIES_TYPE, seriesModel.get("type")) < 0) {
+            return;
+          }
+          var thisAxis = ecModel.getComponent(getAxisMainType(axisDim), axisIndex).axis;
+          var otherDim = getOtherDim(axisDim);
+          var otherAxisInverse;
+          var coordSys = seriesModel.coordinateSystem;
+          if (otherDim != null && coordSys.getOtherAxis) {
+            otherAxisInverse = coordSys.getOtherAxis(thisAxis).inverse;
+          }
+          otherDim = seriesModel.getData().mapDimension(otherDim);
+          result2 = {
+            thisAxis,
+            series: seriesModel,
+            thisDim: axisDim,
+            otherDim,
+            otherAxisInverse
+          };
+        }, this);
+      }, this);
+      return result2;
+    };
+    SliderZoomView2.prototype._renderHandle = function() {
+      var thisGroup = this.group;
+      var displayables = this._displayables;
+      var handles = displayables.handles = [null, null];
+      var handleLabels = displayables.handleLabels = [null, null];
+      var sliderGroup = this._displayables.sliderGroup;
+      var size = this._size;
+      var dataZoomModel = this.dataZoomModel;
+      var api2 = this.api;
+      var borderRadius = dataZoomModel.get("borderRadius") || 0;
+      var brushSelect = dataZoomModel.get("brushSelect");
+      var filler = displayables.filler = new Rect({
+        silent: brushSelect,
+        style: {
+          fill: dataZoomModel.get("fillerColor")
+        },
+        textConfig: {
+          position: "inside"
+        }
+      });
+      sliderGroup.add(filler);
+      sliderGroup.add(new Rect({
+        silent: true,
+        subPixelOptimize: true,
+        shape: {
+          x: 0,
+          y: 0,
+          width: size[0],
+          height: size[1],
+          r: borderRadius
+        },
+        style: {
+          // deprecated option
+          stroke: dataZoomModel.get("dataBackgroundColor") || dataZoomModel.get("borderColor"),
+          lineWidth: DEFAULT_FRAME_BORDER_WIDTH,
+          fill: "rgba(0,0,0,0)"
+        }
+      }));
+      each$f([0, 1], function(handleIndex) {
+        var iconStr = dataZoomModel.get("handleIcon");
+        if (!symbolBuildProxies[iconStr] && iconStr.indexOf("path://") < 0 && iconStr.indexOf("image://") < 0) {
+          iconStr = "path://" + iconStr;
+        }
+        var path2 = createSymbol$1(iconStr, -1, 0, 2, 2, null, true);
+        path2.attr({
+          cursor: getCursor$1(this._orient),
+          draggable: true,
+          drift: bind$2(this._onDragMove, this, handleIndex),
+          ondragend: bind$2(this._onDragEnd, this),
+          onmouseover: bind$2(this._showDataInfo, this, true),
+          onmouseout: bind$2(this._showDataInfo, this, false),
+          z2: 5
+        });
+        var bRect = path2.getBoundingRect();
+        var handleSize = dataZoomModel.get("handleSize");
+        this._handleHeight = parsePercent(handleSize, this._size[1]);
+        this._handleWidth = bRect.width / bRect.height * this._handleHeight;
+        path2.setStyle(dataZoomModel.getModel("handleStyle").getItemStyle());
+        path2.style.strokeNoScale = true;
+        path2.rectHover = true;
+        path2.ensureState("emphasis").style = dataZoomModel.getModel(["emphasis", "handleStyle"]).getItemStyle();
+        enableHoverEmphasis(path2);
+        var handleColor = dataZoomModel.get("handleColor");
+        if (handleColor != null) {
+          path2.style.fill = handleColor;
+        }
+        sliderGroup.add(handles[handleIndex] = path2);
+        var textStyleModel = dataZoomModel.getModel("textStyle");
+        thisGroup.add(handleLabels[handleIndex] = new ZRText$1({
+          silent: true,
+          invisible: true,
+          style: createTextStyle$1(textStyleModel, {
+            x: 0,
+            y: 0,
+            text: "",
+            verticalAlign: "middle",
+            align: "center",
+            fill: textStyleModel.getTextColor(),
+            font: textStyleModel.getFont()
+          }),
+          z2: 10
+        }));
+      }, this);
+      var actualMoveZone = filler;
+      if (brushSelect) {
+        var moveHandleHeight = parsePercent(dataZoomModel.get("moveHandleSize"), size[1]);
+        var moveHandle_1 = displayables.moveHandle = new Rect$3({
+          style: dataZoomModel.getModel("moveHandleStyle").getItemStyle(),
+          silent: true,
+          shape: {
+            r: [0, 0, 2, 2],
+            y: size[1] - 0.5,
+            height: moveHandleHeight
+          }
+        });
+        var iconSize = moveHandleHeight * 0.8;
+        var moveHandleIcon = displayables.moveHandleIcon = createSymbol$1(dataZoomModel.get("moveHandleIcon"), -iconSize / 2, -iconSize / 2, iconSize, iconSize, "#fff", true);
+        moveHandleIcon.silent = true;
+        moveHandleIcon.y = size[1] + moveHandleHeight / 2 - 0.5;
+        moveHandle_1.ensureState("emphasis").style = dataZoomModel.getModel(["emphasis", "moveHandleStyle"]).getItemStyle();
+        var moveZoneExpandSize = Math.min(size[1] / 2, Math.max(moveHandleHeight, 10));
+        actualMoveZone = displayables.moveZone = new Rect$3({
+          invisible: true,
+          shape: {
+            y: size[1] - moveZoneExpandSize,
+            height: moveHandleHeight + moveZoneExpandSize
+          }
+        });
+        actualMoveZone.on("mouseover", function() {
+          api2.enterEmphasis(moveHandle_1);
+        }).on("mouseout", function() {
+          api2.leaveEmphasis(moveHandle_1);
+        });
+        sliderGroup.add(moveHandle_1);
+        sliderGroup.add(moveHandleIcon);
+        sliderGroup.add(actualMoveZone);
+      }
+      actualMoveZone.attr({
+        draggable: true,
+        cursor: getCursor$1(this._orient),
+        drift: bind$2(this._onDragMove, this, "all"),
+        ondragstart: bind$2(this._showDataInfo, this, true),
+        ondragend: bind$2(this._onDragEnd, this),
+        onmouseover: bind$2(this._showDataInfo, this, true),
+        onmouseout: bind$2(this._showDataInfo, this, false)
+      });
+    };
+    SliderZoomView2.prototype._resetInterval = function() {
+      var range2 = this._range = this.dataZoomModel.getPercentRange();
+      var viewExtent = this._getViewExtent();
+      this._handleEnds = [linearMap$2(range2[0], [0, 100], viewExtent, true), linearMap$2(range2[1], [0, 100], viewExtent, true)];
+    };
+    SliderZoomView2.prototype._updateInterval = function(handleIndex, delta) {
+      var dataZoomModel = this.dataZoomModel;
+      var handleEnds = this._handleEnds;
+      var viewExtend = this._getViewExtent();
+      var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
+      var percentExtent = [0, 100];
+      sliderMove(delta, handleEnds, viewExtend, dataZoomModel.get("zoomLock") ? "all" : handleIndex, minMaxSpan.minSpan != null ? linearMap$2(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null, minMaxSpan.maxSpan != null ? linearMap$2(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null);
+      var lastRange = this._range;
+      var range2 = this._range = asc$2([linearMap$2(handleEnds[0], viewExtend, percentExtent, true), linearMap$2(handleEnds[1], viewExtend, percentExtent, true)]);
+      return !lastRange || lastRange[0] !== range2[0] || lastRange[1] !== range2[1];
+    };
+    SliderZoomView2.prototype._updateView = function(nonRealtime) {
+      var displaybles = this._displayables;
+      var handleEnds = this._handleEnds;
+      var handleInterval = asc$2(handleEnds.slice());
+      var size = this._size;
+      each$f([0, 1], function(handleIndex) {
+        var handle2 = displaybles.handles[handleIndex];
+        var handleHeight = this._handleHeight;
+        handle2.attr({
+          scaleX: handleHeight / 2,
+          scaleY: handleHeight / 2,
+          // This is a trick, by adding an extra tiny offset to let the default handle's end point align to the drag window.
+          // NOTE: It may affect some custom shapes a bit. But we prefer to have better result by default.
+          x: handleEnds[handleIndex] + (handleIndex ? -1 : 1),
+          y: size[1] / 2 - handleHeight / 2
+        });
+      }, this);
+      displaybles.filler.setShape({
+        x: handleInterval[0],
+        y: 0,
+        width: handleInterval[1] - handleInterval[0],
+        height: size[1]
+      });
+      var viewExtent = {
+        x: handleInterval[0],
+        width: handleInterval[1] - handleInterval[0]
+      };
+      if (displaybles.moveHandle) {
+        displaybles.moveHandle.setShape(viewExtent);
+        displaybles.moveZone.setShape(viewExtent);
+        displaybles.moveZone.getBoundingRect();
+        displaybles.moveHandleIcon && displaybles.moveHandleIcon.attr("x", viewExtent.x + viewExtent.width / 2);
+      }
+      var dataShadowSegs = displaybles.dataShadowSegs;
+      var segIntervals = [0, handleInterval[0], handleInterval[1], size[0]];
+      for (var i2 = 0; i2 < dataShadowSegs.length; i2++) {
+        var segGroup = dataShadowSegs[i2];
+        var clipPath = segGroup.getClipPath();
+        if (!clipPath) {
+          clipPath = new Rect$3();
+          segGroup.setClipPath(clipPath);
+        }
+        clipPath.setShape({
+          x: segIntervals[i2],
+          y: 0,
+          width: segIntervals[i2 + 1] - segIntervals[i2],
+          height: size[1]
+        });
+      }
+      this._updateDataInfo(nonRealtime);
+    };
+    SliderZoomView2.prototype._updateDataInfo = function(nonRealtime) {
+      var dataZoomModel = this.dataZoomModel;
+      var displaybles = this._displayables;
+      var handleLabels = displaybles.handleLabels;
+      var orient = this._orient;
+      var labelTexts = ["", ""];
+      if (dataZoomModel.get("showDetail")) {
+        var axisProxy = dataZoomModel.findRepresentativeAxisProxy();
+        if (axisProxy) {
+          var axis2 = axisProxy.getAxisModel().axis;
+          var range2 = this._range;
+          var dataInterval = nonRealtime ? axisProxy.calculateDataWindow({
+            start: range2[0],
+            end: range2[1]
+          }).valueWindow : axisProxy.getDataValueWindow();
+          labelTexts = [this._formatLabel(dataInterval[0], axis2), this._formatLabel(dataInterval[1], axis2)];
+        }
+      }
+      var orderedHandleEnds = asc$2(this._handleEnds.slice());
+      setLabel.call(this, 0);
+      setLabel.call(this, 1);
+      function setLabel(handleIndex) {
+        var barTransform = getTransform$1(displaybles.handles[handleIndex].parent, this.group);
+        var direction = transformDirection(handleIndex === 0 ? "right" : "left", barTransform);
+        var offset2 = this._handleWidth / 2 + LABEL_GAP;
+        var textPoint = applyTransform([orderedHandleEnds[handleIndex] + (handleIndex === 0 ? -offset2 : offset2), this._size[1] / 2], barTransform);
+        handleLabels[handleIndex].setStyle({
+          x: textPoint[0],
+          y: textPoint[1],
+          verticalAlign: orient === HORIZONTAL ? "middle" : direction,
+          align: orient === HORIZONTAL ? direction : "center",
+          text: labelTexts[handleIndex]
+        });
+      }
+    };
+    SliderZoomView2.prototype._formatLabel = function(value, axis2) {
+      var dataZoomModel = this.dataZoomModel;
+      var labelFormatter = dataZoomModel.get("labelFormatter");
+      var labelPrecision = dataZoomModel.get("labelPrecision");
+      if (labelPrecision == null || labelPrecision === "auto") {
+        labelPrecision = axis2.getPixelPrecision();
+      }
+      var valueStr = value == null || isNaN(value) ? "" : axis2.type === "category" || axis2.type === "time" ? axis2.scale.getLabel({
+        value: Math.round(value)
+      }) : value.toFixed(Math.min(labelPrecision, 20));
+      return isFunction$1(labelFormatter) ? labelFormatter(value, valueStr) : isString$1(labelFormatter) ? labelFormatter.replace("{value}", valueStr) : valueStr;
+    };
+    SliderZoomView2.prototype._showDataInfo = function(showOrHide) {
+      showOrHide = this._dragging || showOrHide;
+      var displayables = this._displayables;
+      var handleLabels = displayables.handleLabels;
+      handleLabels[0].attr("invisible", !showOrHide);
+      handleLabels[1].attr("invisible", !showOrHide);
+      displayables.moveHandle && this.api[showOrHide ? "enterEmphasis" : "leaveEmphasis"](displayables.moveHandle, 1);
+    };
+    SliderZoomView2.prototype._onDragMove = function(handleIndex, dx, dy, event2) {
+      this._dragging = true;
+      stop(event2.event);
+      var barTransform = this._displayables.sliderGroup.getLocalTransform();
+      var vertex = applyTransform([dx, dy], barTransform, true);
+      var changed = this._updateInterval(handleIndex, vertex[0]);
+      var realtime = this.dataZoomModel.get("realtime");
+      this._updateView(!realtime);
+      changed && realtime && this._dispatchZoomAction(true);
+    };
+    SliderZoomView2.prototype._onDragEnd = function() {
+      this._dragging = false;
+      this._showDataInfo(false);
+      var realtime = this.dataZoomModel.get("realtime");
+      !realtime && this._dispatchZoomAction(false);
+    };
+    SliderZoomView2.prototype._onClickPanel = function(e2) {
+      var size = this._size;
+      var localPoint = this._displayables.sliderGroup.transformCoordToLocal(e2.offsetX, e2.offsetY);
+      if (localPoint[0] < 0 || localPoint[0] > size[0] || localPoint[1] < 0 || localPoint[1] > size[1]) {
+        return;
+      }
+      var handleEnds = this._handleEnds;
+      var center2 = (handleEnds[0] + handleEnds[1]) / 2;
+      var changed = this._updateInterval("all", localPoint[0] - center2);
+      this._updateView();
+      changed && this._dispatchZoomAction(false);
+    };
+    SliderZoomView2.prototype._onBrushStart = function(e2) {
+      var x2 = e2.offsetX;
+      var y2 = e2.offsetY;
+      this._brushStart = new Point$1(x2, y2);
+      this._brushing = true;
+      this._brushStartTime = +/* @__PURE__ */ new Date();
+    };
+    SliderZoomView2.prototype._onBrushEnd = function(e2) {
+      if (!this._brushing) {
+        return;
+      }
+      var brushRect = this._displayables.brushRect;
+      this._brushing = false;
+      if (!brushRect) {
+        return;
+      }
+      brushRect.attr("ignore", true);
+      var brushShape = brushRect.shape;
+      var brushEndTime = +/* @__PURE__ */ new Date();
+      if (brushEndTime - this._brushStartTime < 200 && Math.abs(brushShape.width) < 5) {
+        return;
+      }
+      var viewExtend = this._getViewExtent();
+      var percentExtent = [0, 100];
+      this._range = asc$2([linearMap$2(brushShape.x, viewExtend, percentExtent, true), linearMap$2(brushShape.x + brushShape.width, viewExtend, percentExtent, true)]);
+      this._handleEnds = [brushShape.x, brushShape.x + brushShape.width];
+      this._updateView();
+      this._dispatchZoomAction(false);
+    };
+    SliderZoomView2.prototype._onBrush = function(e2) {
+      if (this._brushing) {
+        stop(e2.event);
+        this._updateBrushRect(e2.offsetX, e2.offsetY);
+      }
+    };
+    SliderZoomView2.prototype._updateBrushRect = function(mouseX, mouseY) {
+      var displayables = this._displayables;
+      var dataZoomModel = this.dataZoomModel;
+      var brushRect = displayables.brushRect;
+      if (!brushRect) {
+        brushRect = displayables.brushRect = new Rect({
+          silent: true,
+          style: dataZoomModel.getModel("brushStyle").getItemStyle()
+        });
+        displayables.sliderGroup.add(brushRect);
+      }
+      brushRect.attr("ignore", false);
+      var brushStart = this._brushStart;
+      var sliderGroup = this._displayables.sliderGroup;
+      var endPoint = sliderGroup.transformCoordToLocal(mouseX, mouseY);
+      var startPoint = sliderGroup.transformCoordToLocal(brushStart.x, brushStart.y);
+      var size = this._size;
+      endPoint[0] = Math.max(Math.min(size[0], endPoint[0]), 0);
+      brushRect.setShape({
+        x: startPoint[0],
+        y: 0,
+        width: endPoint[0] - startPoint[0],
+        height: size[1]
+      });
+    };
+    SliderZoomView2.prototype._dispatchZoomAction = function(realtime) {
+      var range2 = this._range;
+      this.api.dispatchAction({
+        type: "dataZoom",
+        from: this.uid,
+        dataZoomId: this.dataZoomModel.id,
+        animation: realtime ? REALTIME_ANIMATION_CONFIG : null,
+        start: range2[0],
+        end: range2[1]
+      });
+    };
+    SliderZoomView2.prototype._findCoordRect = function() {
+      var rect;
+      var coordSysInfoList = collectReferCoordSysModelInfo(this.dataZoomModel).infoList;
+      if (!rect && coordSysInfoList.length) {
+        var coordSys = coordSysInfoList[0].model.coordinateSystem;
+        rect = coordSys.getRect && coordSys.getRect();
+      }
+      if (!rect) {
+        var width = this.api.getWidth();
+        var height = this.api.getHeight();
+        rect = {
+          x: width * 0.2,
+          y: height * 0.2,
+          width: width * 0.6,
+          height: height * 0.6
+        };
+      }
+      return rect;
+    };
+    SliderZoomView2.type = "dataZoom.slider";
+    return SliderZoomView2;
+  }(DataZoomView$1)
+);
+function getOtherDim(thisDim) {
+  var map2 = {
+    x: "y",
+    y: "x",
+    radius: "angle",
+    angle: "radius"
+  };
+  return map2[thisDim];
+}
+function getCursor$1(orient) {
+  return orient === "vertical" ? "ns-resize" : "ew-resize";
+}
+const SliderZoomView$1 = SliderZoomView;
+function install$7(registers) {
+  registers.registerComponentModel(SliderZoomModel$1);
+  registers.registerComponentView(SliderZoomView$1);
+  installCommon$1(registers);
+}
+function install$6(registers) {
+  use(install$8);
+  use(install$7);
+}
+var visualDefault = {
+  /**
+   * @public
+   */
+  get: function(visualType, key2, isCategory2) {
+    var value = clone$4((defaultOption[visualType] || {})[key2]);
+    return isCategory2 ? isArray$2(value) ? value[value.length - 1] : value : value;
+  }
+};
+var defaultOption = {
+  color: {
+    active: ["#006edd", "#e0ffff"],
+    inactive: ["rgba(0,0,0,0)"]
+  },
+  colorHue: {
+    active: [0, 360],
+    inactive: [0, 0]
+  },
+  colorSaturation: {
+    active: [0.3, 1],
+    inactive: [0, 0]
+  },
+  colorLightness: {
+    active: [0.9, 0.5],
+    inactive: [0, 0]
+  },
+  colorAlpha: {
+    active: [0.3, 1],
+    inactive: [0, 0]
+  },
+  opacity: {
+    active: [0.3, 1],
+    inactive: [0, 0]
+  },
+  symbol: {
+    active: ["circle", "roundRect", "diamond"],
+    inactive: ["none"]
+  },
+  symbolSize: {
+    active: [10, 50],
+    inactive: [0, 0]
+  }
+};
+const visualDefault$1 = visualDefault;
+var mapVisual = VisualMapping$1.mapVisual;
+var eachVisual = VisualMapping$1.eachVisual;
+var isArray$1 = isArray$2;
+var each$2 = each$f;
+var asc = asc$2;
+var linearMap$1 = linearMap$2;
+var VisualMapModel = (
+  /** @class */
+  function(_super) {
+    __extends(VisualMapModel2, _super);
+    function VisualMapModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = VisualMapModel2.type;
+      _this.stateList = ["inRange", "outOfRange"];
+      _this.replacableOptionKeys = ["inRange", "outOfRange", "target", "controller", "color"];
+      _this.layoutMode = {
+        type: "box",
+        ignoreSize: true
+      };
+      _this.dataBound = [-Infinity, Infinity];
+      _this.targetVisuals = {};
+      _this.controllerVisuals = {};
+      return _this;
+    }
+    VisualMapModel2.prototype.init = function(option, parentModel, ecModel) {
+      this.mergeDefaultAndTheme(option, ecModel);
+    };
+    VisualMapModel2.prototype.optionUpdated = function(newOption, isInit) {
+      var thisOption = this.option;
+      !isInit && replaceVisualOption(thisOption, newOption, this.replacableOptionKeys);
+      this.textStyleModel = this.getModel("textStyle");
+      this.resetItemSize();
+      this.completeVisualOption();
+    };
+    VisualMapModel2.prototype.resetVisual = function(supplementVisualOption) {
+      var stateList = this.stateList;
+      supplementVisualOption = bind$2(supplementVisualOption, this);
+      this.controllerVisuals = createVisualMappings(this.option.controller, stateList, supplementVisualOption);
+      this.targetVisuals = createVisualMappings(this.option.target, stateList, supplementVisualOption);
+    };
+    VisualMapModel2.prototype.getItemSymbol = function() {
+      return null;
+    };
+    VisualMapModel2.prototype.getTargetSeriesIndices = function() {
+      var optionSeriesIndex = this.option.seriesIndex;
+      var seriesIndices = [];
+      if (optionSeriesIndex == null || optionSeriesIndex === "all") {
+        this.ecModel.eachSeries(function(seriesModel, index3) {
+          seriesIndices.push(index3);
+        });
+      } else {
+        seriesIndices = normalizeToArray(optionSeriesIndex);
+      }
+      return seriesIndices;
+    };
+    VisualMapModel2.prototype.eachTargetSeries = function(callback, context) {
+      each$f(this.getTargetSeriesIndices(), function(seriesIndex) {
+        var seriesModel = this.ecModel.getSeriesByIndex(seriesIndex);
+        if (seriesModel) {
+          callback.call(context, seriesModel);
+        }
+      }, this);
+    };
+    VisualMapModel2.prototype.isTargetSeries = function(seriesModel) {
+      var is = false;
+      this.eachTargetSeries(function(model2) {
+        model2 === seriesModel && (is = true);
+      });
+      return is;
+    };
+    VisualMapModel2.prototype.formatValueText = function(value, isCategory2, edgeSymbols) {
+      var option = this.option;
+      var precision = option.precision;
+      var dataBound = this.dataBound;
+      var formatter = option.formatter;
+      var isMinMax;
+      edgeSymbols = edgeSymbols || ["<", ">"];
+      if (isArray$2(value)) {
+        value = value.slice();
+        isMinMax = true;
+      }
+      var textValue = isCategory2 ? value : isMinMax ? [toFixed2(value[0]), toFixed2(value[1])] : toFixed2(value);
+      if (isString$1(formatter)) {
+        return formatter.replace("{value}", isMinMax ? textValue[0] : textValue).replace("{value2}", isMinMax ? textValue[1] : textValue);
+      } else if (isFunction$1(formatter)) {
+        return isMinMax ? formatter(value[0], value[1]) : formatter(value);
+      }
+      if (isMinMax) {
+        if (value[0] === dataBound[0]) {
+          return edgeSymbols[0] + " " + textValue[1];
+        } else if (value[1] === dataBound[1]) {
+          return edgeSymbols[1] + " " + textValue[0];
+        } else {
+          return textValue[0] + " - " + textValue[1];
+        }
+      } else {
+        return textValue;
+      }
+      function toFixed2(val) {
+        return val === dataBound[0] ? "min" : val === dataBound[1] ? "max" : (+val).toFixed(Math.min(precision, 20));
+      }
+    };
+    VisualMapModel2.prototype.resetExtent = function() {
+      var thisOption = this.option;
+      var extent3 = asc([thisOption.min, thisOption.max]);
+      this._dataExtent = extent3;
+    };
+    VisualMapModel2.prototype.getDataDimensionIndex = function(data2) {
+      var optDim = this.option.dimension;
+      if (optDim != null) {
+        return data2.getDimensionIndex(optDim);
+      }
+      var dimNames = data2.dimensions;
+      for (var i2 = dimNames.length - 1; i2 >= 0; i2--) {
+        var dimName = dimNames[i2];
+        var dimInfo = data2.getDimensionInfo(dimName);
+        if (!dimInfo.isCalculationCoord) {
+          return dimInfo.storeDimIndex;
+        }
+      }
+    };
+    VisualMapModel2.prototype.getExtent = function() {
+      return this._dataExtent.slice();
+    };
+    VisualMapModel2.prototype.completeVisualOption = function() {
+      var ecModel = this.ecModel;
+      var thisOption = this.option;
+      var base2 = {
+        inRange: thisOption.inRange,
+        outOfRange: thisOption.outOfRange
+      };
+      var target = thisOption.target || (thisOption.target = {});
+      var controller = thisOption.controller || (thisOption.controller = {});
+      merge$1(target, base2);
+      merge$1(controller, base2);
+      var isCategory2 = this.isCategory();
+      completeSingle.call(this, target);
+      completeSingle.call(this, controller);
+      completeInactive.call(this, target, "inRange", "outOfRange");
+      completeController.call(this, controller);
+      function completeSingle(base3) {
+        if (isArray$1(thisOption.color) && !base3.inRange) {
+          base3.inRange = {
+            color: thisOption.color.slice().reverse()
+          };
+        }
+        base3.inRange = base3.inRange || {
+          color: ecModel.get("gradientColor")
+        };
+      }
+      function completeInactive(base3, stateExist, stateAbsent) {
+        var optExist = base3[stateExist];
+        var optAbsent = base3[stateAbsent];
+        if (optExist && !optAbsent) {
+          optAbsent = base3[stateAbsent] = {};
+          each$2(optExist, function(visualData, visualType) {
+            if (!VisualMapping$1.isValidType(visualType)) {
+              return;
+            }
+            var defa = visualDefault$1.get(visualType, "inactive", isCategory2);
+            if (defa != null) {
+              optAbsent[visualType] = defa;
+              if (visualType === "color" && !optAbsent.hasOwnProperty("opacity") && !optAbsent.hasOwnProperty("colorAlpha")) {
+                optAbsent.opacity = [0, 0];
+              }
+            }
+          });
+        }
+      }
+      function completeController(controller2) {
+        var symbolExists = (controller2.inRange || {}).symbol || (controller2.outOfRange || {}).symbol;
+        var symbolSizeExists = (controller2.inRange || {}).symbolSize || (controller2.outOfRange || {}).symbolSize;
+        var inactiveColor = this.get("inactiveColor");
+        var itemSymbol = this.getItemSymbol();
+        var defaultSymbol = itemSymbol || "roundRect";
+        each$2(this.stateList, function(state) {
+          var itemSize = this.itemSize;
+          var visuals = controller2[state];
+          if (!visuals) {
+            visuals = controller2[state] = {
+              color: isCategory2 ? inactiveColor : [inactiveColor]
+            };
+          }
+          if (visuals.symbol == null) {
+            visuals.symbol = symbolExists && clone$4(symbolExists) || (isCategory2 ? defaultSymbol : [defaultSymbol]);
+          }
+          if (visuals.symbolSize == null) {
+            visuals.symbolSize = symbolSizeExists && clone$4(symbolSizeExists) || (isCategory2 ? itemSize[0] : [itemSize[0], itemSize[0]]);
+          }
+          visuals.symbol = mapVisual(visuals.symbol, function(symbol2) {
+            return symbol2 === "none" ? defaultSymbol : symbol2;
+          });
+          var symbolSize = visuals.symbolSize;
+          if (symbolSize != null) {
+            var max_1 = -Infinity;
+            eachVisual(symbolSize, function(value) {
+              value > max_1 && (max_1 = value);
+            });
+            visuals.symbolSize = mapVisual(symbolSize, function(value) {
+              return linearMap$1(value, [0, max_1], [0, itemSize[0]], true);
+            });
+          }
+        }, this);
+      }
+    };
+    VisualMapModel2.prototype.resetItemSize = function() {
+      this.itemSize = [parseFloat(this.get("itemWidth")), parseFloat(this.get("itemHeight"))];
+    };
+    VisualMapModel2.prototype.isCategory = function() {
+      return !!this.option.categories;
+    };
+    VisualMapModel2.prototype.setSelected = function(selected) {
+    };
+    VisualMapModel2.prototype.getSelected = function() {
+      return null;
+    };
+    VisualMapModel2.prototype.getValueState = function(value) {
+      return null;
+    };
+    VisualMapModel2.prototype.getVisualMeta = function(getColorVisual2) {
+      return null;
+    };
+    VisualMapModel2.type = "visualMap";
+    VisualMapModel2.dependencies = ["series"];
+    VisualMapModel2.defaultOption = {
+      show: true,
+      // zlevel: 0,
+      z: 4,
+      seriesIndex: "all",
+      min: 0,
+      max: 200,
+      left: 0,
+      right: null,
+      top: null,
+      bottom: 0,
+      itemWidth: null,
+      itemHeight: null,
+      inverse: false,
+      orient: "vertical",
+      backgroundColor: "rgba(0,0,0,0)",
+      borderColor: "#ccc",
+      contentColor: "#5793f3",
+      inactiveColor: "#aaa",
+      borderWidth: 0,
+      padding: 5,
+      // 接受数组分别设定上右下左边距,同css
+      textGap: 10,
+      precision: 0,
+      textStyle: {
+        color: "#333"
+        // 值域文字颜色
+      }
+    };
+    return VisualMapModel2;
+  }(ComponentModel$1)
+);
+const VisualMapModel$1 = VisualMapModel;
+var DEFAULT_BAR_BOUND = [20, 140];
+var ContinuousModel = (
+  /** @class */
+  function(_super) {
+    __extends(ContinuousModel2, _super);
+    function ContinuousModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ContinuousModel2.type;
+      return _this;
+    }
+    ContinuousModel2.prototype.optionUpdated = function(newOption, isInit) {
+      _super.prototype.optionUpdated.apply(this, arguments);
+      this.resetExtent();
+      this.resetVisual(function(mappingOption) {
+        mappingOption.mappingMethod = "linear";
+        mappingOption.dataExtent = this.getExtent();
+      });
+      this._resetRange();
+    };
+    ContinuousModel2.prototype.resetItemSize = function() {
+      _super.prototype.resetItemSize.apply(this, arguments);
+      var itemSize = this.itemSize;
+      (itemSize[0] == null || isNaN(itemSize[0])) && (itemSize[0] = DEFAULT_BAR_BOUND[0]);
+      (itemSize[1] == null || isNaN(itemSize[1])) && (itemSize[1] = DEFAULT_BAR_BOUND[1]);
+    };
+    ContinuousModel2.prototype._resetRange = function() {
+      var dataExtent = this.getExtent();
+      var range2 = this.option.range;
+      if (!range2 || range2.auto) {
+        dataExtent.auto = 1;
+        this.option.range = dataExtent;
+      } else if (isArray$2(range2)) {
+        if (range2[0] > range2[1]) {
+          range2.reverse();
+        }
+        range2[0] = Math.max(range2[0], dataExtent[0]);
+        range2[1] = Math.min(range2[1], dataExtent[1]);
+      }
+    };
+    ContinuousModel2.prototype.completeVisualOption = function() {
+      _super.prototype.completeVisualOption.apply(this, arguments);
+      each$f(this.stateList, function(state) {
+        var symbolSize = this.option.controller[state].symbolSize;
+        if (symbolSize && symbolSize[0] !== symbolSize[1]) {
+          symbolSize[0] = symbolSize[1] / 3;
+        }
+      }, this);
+    };
+    ContinuousModel2.prototype.setSelected = function(selected) {
+      this.option.range = selected.slice();
+      this._resetRange();
+    };
+    ContinuousModel2.prototype.getSelected = function() {
+      var dataExtent = this.getExtent();
+      var dataInterval = asc$2((this.get("range") || []).slice());
+      dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);
+      dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);
+      dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);
+      dataInterval[1] < dataExtent[0] && (dataInterval[1] = dataExtent[0]);
+      return dataInterval;
+    };
+    ContinuousModel2.prototype.getValueState = function(value) {
+      var range2 = this.option.range;
+      var dataExtent = this.getExtent();
+      return (range2[0] <= dataExtent[0] || range2[0] <= value) && (range2[1] >= dataExtent[1] || value <= range2[1]) ? "inRange" : "outOfRange";
+    };
+    ContinuousModel2.prototype.findTargetDataIndices = function(range2) {
+      var result2 = [];
+      this.eachTargetSeries(function(seriesModel) {
+        var dataIndices = [];
+        var data2 = seriesModel.getData();
+        data2.each(this.getDataDimensionIndex(data2), function(value, dataIndex) {
+          range2[0] <= value && value <= range2[1] && dataIndices.push(dataIndex);
+        }, this);
+        result2.push({
+          seriesId: seriesModel.id,
+          dataIndex: dataIndices
+        });
+      }, this);
+      return result2;
+    };
+    ContinuousModel2.prototype.getVisualMeta = function(getColorVisual2) {
+      var oVals = getColorStopValues(this, "outOfRange", this.getExtent());
+      var iVals = getColorStopValues(this, "inRange", this.option.range.slice());
+      var stops = [];
+      function setStop(value, valueState) {
+        stops.push({
+          value,
+          color: getColorVisual2(value, valueState)
+        });
+      }
+      var iIdx = 0;
+      var oIdx = 0;
+      var iLen = iVals.length;
+      var oLen = oVals.length;
+      for (; oIdx < oLen && (!iVals.length || oVals[oIdx] <= iVals[0]); oIdx++) {
+        if (oVals[oIdx] < iVals[iIdx]) {
+          setStop(oVals[oIdx], "outOfRange");
+        }
+      }
+      for (var first = 1; iIdx < iLen; iIdx++, first = 0) {
+        first && stops.length && setStop(iVals[iIdx], "outOfRange");
+        setStop(iVals[iIdx], "inRange");
+      }
+      for (var first = 1; oIdx < oLen; oIdx++) {
+        if (!iVals.length || iVals[iVals.length - 1] < oVals[oIdx]) {
+          if (first) {
+            stops.length && setStop(stops[stops.length - 1].value, "outOfRange");
+            first = 0;
+          }
+          setStop(oVals[oIdx], "outOfRange");
+        }
+      }
+      var stopsLen = stops.length;
+      return {
+        stops,
+        outerColors: [stopsLen ? stops[0].color : "transparent", stopsLen ? stops[stopsLen - 1].color : "transparent"]
+      };
+    };
+    ContinuousModel2.type = "visualMap.continuous";
+    ContinuousModel2.defaultOption = inheritDefaultOption(VisualMapModel$1.defaultOption, {
+      align: "auto",
+      calculable: false,
+      hoverLink: true,
+      realtime: true,
+      handleIcon: "path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z",
+      handleSize: "120%",
+      handleStyle: {
+        borderColor: "#fff",
+        borderWidth: 1
+      },
+      indicatorIcon: "circle",
+      indicatorSize: "50%",
+      indicatorStyle: {
+        borderColor: "#fff",
+        borderWidth: 2,
+        shadowBlur: 2,
+        shadowOffsetX: 1,
+        shadowOffsetY: 1,
+        shadowColor: "rgba(0,0,0,0.2)"
+      }
+      // emphasis: {
+      //     handleStyle: {
+      //         shadowBlur: 3,
+      //         shadowOffsetX: 1,
+      //         shadowOffsetY: 1,
+      //         shadowColor: 'rgba(0,0,0,0.2)'
+      //     }
+      // }
+    });
+    return ContinuousModel2;
+  }(VisualMapModel$1)
+);
+function getColorStopValues(visualMapModel, valueState, dataExtent) {
+  if (dataExtent[0] === dataExtent[1]) {
+    return dataExtent.slice();
+  }
+  var count2 = 200;
+  var step2 = (dataExtent[1] - dataExtent[0]) / count2;
+  var value = dataExtent[0];
+  var stopValues = [];
+  for (var i2 = 0; i2 <= count2 && value < dataExtent[1]; i2++) {
+    stopValues.push(value);
+    value += step2;
+  }
+  stopValues.push(dataExtent[1]);
+  return stopValues;
+}
+const ContinuousModel$1 = ContinuousModel;
+var VisualMapView = (
+  /** @class */
+  function(_super) {
+    __extends(VisualMapView2, _super);
+    function VisualMapView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = VisualMapView2.type;
+      _this.autoPositionValues = {
+        left: 1,
+        right: 1,
+        top: 1,
+        bottom: 1
+      };
+      return _this;
+    }
+    VisualMapView2.prototype.init = function(ecModel, api2) {
+      this.ecModel = ecModel;
+      this.api = api2;
+    };
+    VisualMapView2.prototype.render = function(visualMapModel, ecModel, api2, payload) {
+      this.visualMapModel = visualMapModel;
+      if (visualMapModel.get("show") === false) {
+        this.group.removeAll();
+        return;
+      }
+      this.doRender(visualMapModel, ecModel, api2, payload);
+    };
+    VisualMapView2.prototype.renderBackground = function(group) {
+      var visualMapModel = this.visualMapModel;
+      var padding = normalizeCssArray(visualMapModel.get("padding") || 0);
+      var rect = group.getBoundingRect();
+      group.add(new Rect$3({
+        z2: -1,
+        silent: true,
+        shape: {
+          x: rect.x - padding[3],
+          y: rect.y - padding[0],
+          width: rect.width + padding[3] + padding[1],
+          height: rect.height + padding[0] + padding[2]
+        },
+        style: {
+          fill: visualMapModel.get("backgroundColor"),
+          stroke: visualMapModel.get("borderColor"),
+          lineWidth: visualMapModel.get("borderWidth")
+        }
+      }));
+    };
+    VisualMapView2.prototype.getControllerVisual = function(targetValue, visualCluster, opts2) {
+      opts2 = opts2 || {};
+      var forceState = opts2.forceState;
+      var visualMapModel = this.visualMapModel;
+      var visualObj = {};
+      if (visualCluster === "color") {
+        var defaultColor = visualMapModel.get("contentColor");
+        visualObj.color = defaultColor;
+      }
+      function getter(key2) {
+        return visualObj[key2];
+      }
+      function setter(key2, value) {
+        visualObj[key2] = value;
+      }
+      var mappings = visualMapModel.controllerVisuals[forceState || visualMapModel.getValueState(targetValue)];
+      var visualTypes = VisualMapping$1.prepareVisualTypes(mappings);
+      each$f(visualTypes, function(type2) {
+        var visualMapping = mappings[type2];
+        if (opts2.convertOpacityToAlpha && type2 === "opacity") {
+          type2 = "colorAlpha";
+          visualMapping = mappings.__alphaForOpacity;
+        }
+        if (VisualMapping$1.dependsOn(type2, visualCluster)) {
+          visualMapping && visualMapping.applyVisual(targetValue, getter, setter);
+        }
+      });
+      return visualObj[visualCluster];
+    };
+    VisualMapView2.prototype.positionGroup = function(group) {
+      var model2 = this.visualMapModel;
+      var api2 = this.api;
+      positionElement(group, model2.getBoxLayoutParams(), {
+        width: api2.getWidth(),
+        height: api2.getHeight()
+      });
+    };
+    VisualMapView2.prototype.doRender = function(visualMapModel, ecModel, api2, payload) {
+    };
+    VisualMapView2.type = "visualMap";
+    return VisualMapView2;
+  }(ComponentView$1)
+);
+const VisualMapView$1 = VisualMapView;
+var paramsSet = [["left", "right", "width"], ["top", "bottom", "height"]];
+function getItemAlign(visualMapModel, api2, itemSize) {
+  var modelOption = visualMapModel.option;
+  var itemAlign = modelOption.align;
+  if (itemAlign != null && itemAlign !== "auto") {
+    return itemAlign;
+  }
+  var ecSize = {
+    width: api2.getWidth(),
+    height: api2.getHeight()
+  };
+  var realIndex = modelOption.orient === "horizontal" ? 1 : 0;
+  var reals = paramsSet[realIndex];
+  var fakeValue = [0, null, 10];
+  var layoutInput = {};
+  for (var i2 = 0; i2 < 3; i2++) {
+    layoutInput[paramsSet[1 - realIndex][i2]] = fakeValue[i2];
+    layoutInput[reals[i2]] = i2 === 2 ? itemSize[0] : modelOption[reals[i2]];
+  }
+  var rParam = [["x", "width", 3], ["y", "height", 0]][realIndex];
+  var rect = getLayoutRect(layoutInput, ecSize, modelOption.padding);
+  return reals[(rect.margin[rParam[2]] || 0) + rect[rParam[0]] + rect[rParam[1]] * 0.5 < ecSize[rParam[1]] * 0.5 ? 0 : 1];
+}
+function makeHighDownBatch(batch, visualMapModel) {
+  each$f(batch || [], function(batchItem) {
+    if (batchItem.dataIndex != null) {
+      batchItem.dataIndexInside = batchItem.dataIndex;
+      batchItem.dataIndex = null;
+    }
+    batchItem.highlightKey = "visualMap" + (visualMapModel ? visualMapModel.componentIndex : "");
+  });
+  return batch;
+}
+var linearMap = linearMap$2;
+var each$1 = each$f;
+var mathMin = Math.min;
+var mathMax = Math.max;
+var HOVER_LINK_SIZE = 12;
+var HOVER_LINK_OUT = 6;
+var ContinuousView = (
+  /** @class */
+  function(_super) {
+    __extends(ContinuousView2, _super);
+    function ContinuousView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = ContinuousView2.type;
+      _this._shapes = {};
+      _this._dataInterval = [];
+      _this._handleEnds = [];
+      _this._hoverLinkDataIndices = [];
+      return _this;
+    }
+    ContinuousView2.prototype.doRender = function(visualMapModel, ecModel, api2, payload) {
+      this._api = api2;
+      if (!payload || payload.type !== "selectDataRange" || payload.from !== this.uid) {
+        this._buildView();
+      }
+    };
+    ContinuousView2.prototype._buildView = function() {
+      this.group.removeAll();
+      var visualMapModel = this.visualMapModel;
+      var thisGroup = this.group;
+      this._orient = visualMapModel.get("orient");
+      this._useHandle = visualMapModel.get("calculable");
+      this._resetInterval();
+      this._renderBar(thisGroup);
+      var dataRangeText = visualMapModel.get("text");
+      this._renderEndsText(thisGroup, dataRangeText, 0);
+      this._renderEndsText(thisGroup, dataRangeText, 1);
+      this._updateView(true);
+      this.renderBackground(thisGroup);
+      this._updateView();
+      this._enableHoverLinkToSeries();
+      this._enableHoverLinkFromSeries();
+      this.positionGroup(thisGroup);
+    };
+    ContinuousView2.prototype._renderEndsText = function(group, dataRangeText, endsIndex) {
+      if (!dataRangeText) {
+        return;
+      }
+      var text2 = dataRangeText[1 - endsIndex];
+      text2 = text2 != null ? text2 + "" : "";
+      var visualMapModel = this.visualMapModel;
+      var textGap = visualMapModel.get("textGap");
+      var itemSize = visualMapModel.itemSize;
+      var barGroup = this._shapes.mainGroup;
+      var position2 = this._applyTransform([itemSize[0] / 2, endsIndex === 0 ? -textGap : itemSize[1] + textGap], barGroup);
+      var align = this._applyTransform(endsIndex === 0 ? "bottom" : "top", barGroup);
+      var orient = this._orient;
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      this.group.add(new ZRText$1({
+        style: createTextStyle$1(textStyleModel, {
+          x: position2[0],
+          y: position2[1],
+          verticalAlign: orient === "horizontal" ? "middle" : align,
+          align: orient === "horizontal" ? align : "center",
+          text: text2
+        })
+      }));
+    };
+    ContinuousView2.prototype._renderBar = function(targetGroup) {
+      var visualMapModel = this.visualMapModel;
+      var shapes = this._shapes;
+      var itemSize = visualMapModel.itemSize;
+      var orient = this._orient;
+      var useHandle = this._useHandle;
+      var itemAlign = getItemAlign(visualMapModel, this.api, itemSize);
+      var mainGroup = shapes.mainGroup = this._createBarGroup(itemAlign);
+      var gradientBarGroup = new Group$4();
+      mainGroup.add(gradientBarGroup);
+      gradientBarGroup.add(shapes.outOfRange = createPolygon());
+      gradientBarGroup.add(shapes.inRange = createPolygon(null, useHandle ? getCursor(this._orient) : null, bind$2(this._dragHandle, this, "all", false), bind$2(this._dragHandle, this, "all", true)));
+      gradientBarGroup.setClipPath(new Rect$3({
+        shape: {
+          x: 0,
+          y: 0,
+          width: itemSize[0],
+          height: itemSize[1],
+          r: 3
+        }
+      }));
+      var textRect = visualMapModel.textStyleModel.getTextRect("国");
+      var textSize = mathMax(textRect.width, textRect.height);
+      if (useHandle) {
+        shapes.handleThumbs = [];
+        shapes.handleLabels = [];
+        shapes.handleLabelPoints = [];
+        this._createHandle(visualMapModel, mainGroup, 0, itemSize, textSize, orient);
+        this._createHandle(visualMapModel, mainGroup, 1, itemSize, textSize, orient);
+      }
+      this._createIndicator(visualMapModel, mainGroup, itemSize, textSize, orient);
+      targetGroup.add(mainGroup);
+    };
+    ContinuousView2.prototype._createHandle = function(visualMapModel, mainGroup, handleIndex, itemSize, textSize, orient) {
+      var onDrift = bind$2(this._dragHandle, this, handleIndex, false);
+      var onDragEnd = bind$2(this._dragHandle, this, handleIndex, true);
+      var handleSize = parsePercent$1(visualMapModel.get("handleSize"), itemSize[0]);
+      var handleThumb = createSymbol$1(visualMapModel.get("handleIcon"), -handleSize / 2, -handleSize / 2, handleSize, handleSize, null, true);
+      var cursor = getCursor(this._orient);
+      handleThumb.attr({
+        cursor,
+        draggable: true,
+        drift: onDrift,
+        ondragend: onDragEnd,
+        onmousemove: function(e2) {
+          stop(e2.event);
+        }
+      });
+      handleThumb.x = itemSize[0] / 2;
+      handleThumb.useStyle(visualMapModel.getModel("handleStyle").getItemStyle());
+      handleThumb.setStyle({
+        strokeNoScale: true,
+        strokeFirst: true
+      });
+      handleThumb.style.lineWidth *= 2;
+      handleThumb.ensureState("emphasis").style = visualMapModel.getModel(["emphasis", "handleStyle"]).getItemStyle();
+      setAsHighDownDispatcher(handleThumb, true);
+      mainGroup.add(handleThumb);
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      var handleLabel = new ZRText$1({
+        cursor,
+        draggable: true,
+        drift: onDrift,
+        onmousemove: function(e2) {
+          stop(e2.event);
+        },
+        ondragend: onDragEnd,
+        style: createTextStyle$1(textStyleModel, {
+          x: 0,
+          y: 0,
+          text: ""
+        })
+      });
+      handleLabel.ensureState("blur").style = {
+        opacity: 0.1
+      };
+      handleLabel.stateTransition = {
+        duration: 200
+      };
+      this.group.add(handleLabel);
+      var handleLabelPoint = [handleSize, 0];
+      var shapes = this._shapes;
+      shapes.handleThumbs[handleIndex] = handleThumb;
+      shapes.handleLabelPoints[handleIndex] = handleLabelPoint;
+      shapes.handleLabels[handleIndex] = handleLabel;
+    };
+    ContinuousView2.prototype._createIndicator = function(visualMapModel, mainGroup, itemSize, textSize, orient) {
+      var scale2 = parsePercent$1(visualMapModel.get("indicatorSize"), itemSize[0]);
+      var indicator = createSymbol$1(visualMapModel.get("indicatorIcon"), -scale2 / 2, -scale2 / 2, scale2, scale2, null, true);
+      indicator.attr({
+        cursor: "move",
+        invisible: true,
+        silent: true,
+        x: itemSize[0] / 2
+      });
+      var indicatorStyle = visualMapModel.getModel("indicatorStyle").getItemStyle();
+      if (indicator instanceof ZRImage$1) {
+        var pathStyle = indicator.style;
+        indicator.useStyle(extend$1({
+          // TODO other properties like x, y ?
+          image: pathStyle.image,
+          x: pathStyle.x,
+          y: pathStyle.y,
+          width: pathStyle.width,
+          height: pathStyle.height
+        }, indicatorStyle));
+      } else {
+        indicator.useStyle(indicatorStyle);
+      }
+      mainGroup.add(indicator);
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      var indicatorLabel = new ZRText$1({
+        silent: true,
+        invisible: true,
+        style: createTextStyle$1(textStyleModel, {
+          x: 0,
+          y: 0,
+          text: ""
+        })
+      });
+      this.group.add(indicatorLabel);
+      var indicatorLabelPoint = [(orient === "horizontal" ? textSize / 2 : HOVER_LINK_OUT) + itemSize[0] / 2, 0];
+      var shapes = this._shapes;
+      shapes.indicator = indicator;
+      shapes.indicatorLabel = indicatorLabel;
+      shapes.indicatorLabelPoint = indicatorLabelPoint;
+      this._firstShowIndicator = true;
+    };
+    ContinuousView2.prototype._dragHandle = function(handleIndex, isEnd, dx, dy) {
+      if (!this._useHandle) {
+        return;
+      }
+      this._dragging = !isEnd;
+      if (!isEnd) {
+        var vertex = this._applyTransform([dx, dy], this._shapes.mainGroup, true);
+        this._updateInterval(handleIndex, vertex[1]);
+        this._hideIndicator();
+        this._updateView();
+      }
+      if (isEnd === !this.visualMapModel.get("realtime")) {
+        this.api.dispatchAction({
+          type: "selectDataRange",
+          from: this.uid,
+          visualMapId: this.visualMapModel.id,
+          selected: this._dataInterval.slice()
+        });
+      }
+      if (isEnd) {
+        !this._hovering && this._clearHoverLinkToSeries();
+      } else if (useHoverLinkOnHandle(this.visualMapModel)) {
+        this._doHoverLinkToSeries(this._handleEnds[handleIndex], false);
+      }
+    };
+    ContinuousView2.prototype._resetInterval = function() {
+      var visualMapModel = this.visualMapModel;
+      var dataInterval = this._dataInterval = visualMapModel.getSelected();
+      var dataExtent = visualMapModel.getExtent();
+      var sizeExtent = [0, visualMapModel.itemSize[1]];
+      this._handleEnds = [linearMap(dataInterval[0], dataExtent, sizeExtent, true), linearMap(dataInterval[1], dataExtent, sizeExtent, true)];
+    };
+    ContinuousView2.prototype._updateInterval = function(handleIndex, delta) {
+      delta = delta || 0;
+      var visualMapModel = this.visualMapModel;
+      var handleEnds = this._handleEnds;
+      var sizeExtent = [0, visualMapModel.itemSize[1]];
+      sliderMove(
+        delta,
+        handleEnds,
+        sizeExtent,
+        handleIndex,
+        // cross is forbidden
+        0
+      );
+      var dataExtent = visualMapModel.getExtent();
+      this._dataInterval = [linearMap(handleEnds[0], sizeExtent, dataExtent, true), linearMap(handleEnds[1], sizeExtent, dataExtent, true)];
+    };
+    ContinuousView2.prototype._updateView = function(forSketch) {
+      var visualMapModel = this.visualMapModel;
+      var dataExtent = visualMapModel.getExtent();
+      var shapes = this._shapes;
+      var outOfRangeHandleEnds = [0, visualMapModel.itemSize[1]];
+      var inRangeHandleEnds = forSketch ? outOfRangeHandleEnds : this._handleEnds;
+      var visualInRange = this._createBarVisual(this._dataInterval, dataExtent, inRangeHandleEnds, "inRange");
+      var visualOutOfRange = this._createBarVisual(dataExtent, dataExtent, outOfRangeHandleEnds, "outOfRange");
+      shapes.inRange.setStyle({
+        fill: visualInRange.barColor
+        // opacity: visualInRange.opacity
+      }).setShape("points", visualInRange.barPoints);
+      shapes.outOfRange.setStyle({
+        fill: visualOutOfRange.barColor
+        // opacity: visualOutOfRange.opacity
+      }).setShape("points", visualOutOfRange.barPoints);
+      this._updateHandle(inRangeHandleEnds, visualInRange);
+    };
+    ContinuousView2.prototype._createBarVisual = function(dataInterval, dataExtent, handleEnds, forceState) {
+      var opts2 = {
+        forceState,
+        convertOpacityToAlpha: true
+      };
+      var colorStops = this._makeColorGradient(dataInterval, opts2);
+      var symbolSizes = [this.getControllerVisual(dataInterval[0], "symbolSize", opts2), this.getControllerVisual(dataInterval[1], "symbolSize", opts2)];
+      var barPoints = this._createBarPoints(handleEnds, symbolSizes);
+      return {
+        barColor: new LinearGradient$1(0, 0, 0, 1, colorStops),
+        barPoints,
+        handlesColor: [colorStops[0].color, colorStops[colorStops.length - 1].color]
+      };
+    };
+    ContinuousView2.prototype._makeColorGradient = function(dataInterval, opts2) {
+      var sampleNumber = 100;
+      var colorStops = [];
+      var step2 = (dataInterval[1] - dataInterval[0]) / sampleNumber;
+      colorStops.push({
+        color: this.getControllerVisual(dataInterval[0], "color", opts2),
+        offset: 0
+      });
+      for (var i2 = 1; i2 < sampleNumber; i2++) {
+        var currValue = dataInterval[0] + step2 * i2;
+        if (currValue > dataInterval[1]) {
+          break;
+        }
+        colorStops.push({
+          color: this.getControllerVisual(currValue, "color", opts2),
+          offset: i2 / sampleNumber
+        });
+      }
+      colorStops.push({
+        color: this.getControllerVisual(dataInterval[1], "color", opts2),
+        offset: 1
+      });
+      return colorStops;
+    };
+    ContinuousView2.prototype._createBarPoints = function(handleEnds, symbolSizes) {
+      var itemSize = this.visualMapModel.itemSize;
+      return [[itemSize[0] - symbolSizes[0], handleEnds[0]], [itemSize[0], handleEnds[0]], [itemSize[0], handleEnds[1]], [itemSize[0] - symbolSizes[1], handleEnds[1]]];
+    };
+    ContinuousView2.prototype._createBarGroup = function(itemAlign) {
+      var orient = this._orient;
+      var inverse = this.visualMapModel.get("inverse");
+      return new Group$4(orient === "horizontal" && !inverse ? {
+        scaleX: itemAlign === "bottom" ? 1 : -1,
+        rotation: Math.PI / 2
+      } : orient === "horizontal" && inverse ? {
+        scaleX: itemAlign === "bottom" ? -1 : 1,
+        rotation: -Math.PI / 2
+      } : orient === "vertical" && !inverse ? {
+        scaleX: itemAlign === "left" ? 1 : -1,
+        scaleY: -1
+      } : {
+        scaleX: itemAlign === "left" ? 1 : -1
+      });
+    };
+    ContinuousView2.prototype._updateHandle = function(handleEnds, visualInRange) {
+      if (!this._useHandle) {
+        return;
+      }
+      var shapes = this._shapes;
+      var visualMapModel = this.visualMapModel;
+      var handleThumbs = shapes.handleThumbs;
+      var handleLabels = shapes.handleLabels;
+      var itemSize = visualMapModel.itemSize;
+      var dataExtent = visualMapModel.getExtent();
+      each$1([0, 1], function(handleIndex) {
+        var handleThumb = handleThumbs[handleIndex];
+        handleThumb.setStyle("fill", visualInRange.handlesColor[handleIndex]);
+        handleThumb.y = handleEnds[handleIndex];
+        var val = linearMap(handleEnds[handleIndex], [0, itemSize[1]], dataExtent, true);
+        var symbolSize = this.getControllerVisual(val, "symbolSize");
+        handleThumb.scaleX = handleThumb.scaleY = symbolSize / itemSize[0];
+        handleThumb.x = itemSize[0] - symbolSize / 2;
+        var textPoint = applyTransform(shapes.handleLabelPoints[handleIndex], getTransform$1(handleThumb, this.group));
+        handleLabels[handleIndex].setStyle({
+          x: textPoint[0],
+          y: textPoint[1],
+          text: visualMapModel.formatValueText(this._dataInterval[handleIndex]),
+          verticalAlign: "middle",
+          align: this._orient === "vertical" ? this._applyTransform("left", shapes.mainGroup) : "center"
+        });
+      }, this);
+    };
+    ContinuousView2.prototype._showIndicator = function(cursorValue, textValue, rangeSymbol, halfHoverLinkSize) {
+      var visualMapModel = this.visualMapModel;
+      var dataExtent = visualMapModel.getExtent();
+      var itemSize = visualMapModel.itemSize;
+      var sizeExtent = [0, itemSize[1]];
+      var shapes = this._shapes;
+      var indicator = shapes.indicator;
+      if (!indicator) {
+        return;
+      }
+      indicator.attr("invisible", false);
+      var opts2 = {
+        convertOpacityToAlpha: true
+      };
+      var color2 = this.getControllerVisual(cursorValue, "color", opts2);
+      var symbolSize = this.getControllerVisual(cursorValue, "symbolSize");
+      var y2 = linearMap(cursorValue, dataExtent, sizeExtent, true);
+      var x2 = itemSize[0] - symbolSize / 2;
+      var oldIndicatorPos = {
+        x: indicator.x,
+        y: indicator.y
+      };
+      indicator.y = y2;
+      indicator.x = x2;
+      var textPoint = applyTransform(shapes.indicatorLabelPoint, getTransform$1(indicator, this.group));
+      var indicatorLabel = shapes.indicatorLabel;
+      indicatorLabel.attr("invisible", false);
+      var align = this._applyTransform("left", shapes.mainGroup);
+      var orient = this._orient;
+      var isHorizontal = orient === "horizontal";
+      indicatorLabel.setStyle({
+        text: (rangeSymbol ? rangeSymbol : "") + visualMapModel.formatValueText(textValue),
+        verticalAlign: isHorizontal ? align : "middle",
+        align: isHorizontal ? "center" : align
+      });
+      var indicatorNewProps = {
+        x: x2,
+        y: y2,
+        style: {
+          fill: color2
+        }
+      };
+      var labelNewProps = {
+        style: {
+          x: textPoint[0],
+          y: textPoint[1]
+        }
+      };
+      if (visualMapModel.ecModel.isAnimationEnabled() && !this._firstShowIndicator) {
+        var animationCfg = {
+          duration: 100,
+          easing: "cubicInOut",
+          additive: true
+        };
+        indicator.x = oldIndicatorPos.x;
+        indicator.y = oldIndicatorPos.y;
+        indicator.animateTo(indicatorNewProps, animationCfg);
+        indicatorLabel.animateTo(labelNewProps, animationCfg);
+      } else {
+        indicator.attr(indicatorNewProps);
+        indicatorLabel.attr(labelNewProps);
+      }
+      this._firstShowIndicator = false;
+      var handleLabels = this._shapes.handleLabels;
+      if (handleLabels) {
+        for (var i2 = 0; i2 < handleLabels.length; i2++) {
+          this._api.enterBlur(handleLabels[i2]);
+        }
+      }
+    };
+    ContinuousView2.prototype._enableHoverLinkToSeries = function() {
+      var self2 = this;
+      this._shapes.mainGroup.on("mousemove", function(e2) {
+        self2._hovering = true;
+        if (!self2._dragging) {
+          var itemSize = self2.visualMapModel.itemSize;
+          var pos = self2._applyTransform([e2.offsetX, e2.offsetY], self2._shapes.mainGroup, true, true);
+          pos[1] = mathMin(mathMax(0, pos[1]), itemSize[1]);
+          self2._doHoverLinkToSeries(pos[1], 0 <= pos[0] && pos[0] <= itemSize[0]);
+        }
+      }).on("mouseout", function() {
+        self2._hovering = false;
+        !self2._dragging && self2._clearHoverLinkToSeries();
+      });
+    };
+    ContinuousView2.prototype._enableHoverLinkFromSeries = function() {
+      var zr = this.api.getZr();
+      if (this.visualMapModel.option.hoverLink) {
+        zr.on("mouseover", this._hoverLinkFromSeriesMouseOver, this);
+        zr.on("mouseout", this._hideIndicator, this);
+      } else {
+        this._clearHoverLinkFromSeries();
+      }
+    };
+    ContinuousView2.prototype._doHoverLinkToSeries = function(cursorPos, hoverOnBar) {
+      var visualMapModel = this.visualMapModel;
+      var itemSize = visualMapModel.itemSize;
+      if (!visualMapModel.option.hoverLink) {
+        return;
+      }
+      var sizeExtent = [0, itemSize[1]];
+      var dataExtent = visualMapModel.getExtent();
+      cursorPos = mathMin(mathMax(sizeExtent[0], cursorPos), sizeExtent[1]);
+      var halfHoverLinkSize = getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent);
+      var hoverRange = [cursorPos - halfHoverLinkSize, cursorPos + halfHoverLinkSize];
+      var cursorValue = linearMap(cursorPos, sizeExtent, dataExtent, true);
+      var valueRange = [linearMap(hoverRange[0], sizeExtent, dataExtent, true), linearMap(hoverRange[1], sizeExtent, dataExtent, true)];
+      hoverRange[0] < sizeExtent[0] && (valueRange[0] = -Infinity);
+      hoverRange[1] > sizeExtent[1] && (valueRange[1] = Infinity);
+      if (hoverOnBar) {
+        if (valueRange[0] === -Infinity) {
+          this._showIndicator(cursorValue, valueRange[1], "< ", halfHoverLinkSize);
+        } else if (valueRange[1] === Infinity) {
+          this._showIndicator(cursorValue, valueRange[0], "> ", halfHoverLinkSize);
+        } else {
+          this._showIndicator(cursorValue, cursorValue, "≈ ", halfHoverLinkSize);
+        }
+      }
+      var oldBatch = this._hoverLinkDataIndices;
+      var newBatch = [];
+      if (hoverOnBar || useHoverLinkOnHandle(visualMapModel)) {
+        newBatch = this._hoverLinkDataIndices = visualMapModel.findTargetDataIndices(valueRange);
+      }
+      var resultBatches = compressBatches(oldBatch, newBatch);
+      this._dispatchHighDown("downplay", makeHighDownBatch(resultBatches[0], visualMapModel));
+      this._dispatchHighDown("highlight", makeHighDownBatch(resultBatches[1], visualMapModel));
+    };
+    ContinuousView2.prototype._hoverLinkFromSeriesMouseOver = function(e2) {
+      var ecData;
+      findEventDispatcher(e2.target, function(target) {
+        var currECData = getECData(target);
+        if (currECData.dataIndex != null) {
+          ecData = currECData;
+          return true;
+        }
+      }, true);
+      if (!ecData) {
+        return;
+      }
+      var dataModel = this.ecModel.getSeriesByIndex(ecData.seriesIndex);
+      var visualMapModel = this.visualMapModel;
+      if (!visualMapModel.isTargetSeries(dataModel)) {
+        return;
+      }
+      var data2 = dataModel.getData(ecData.dataType);
+      var value = data2.getStore().get(visualMapModel.getDataDimensionIndex(data2), ecData.dataIndex);
+      if (!isNaN(value)) {
+        this._showIndicator(value, value);
+      }
+    };
+    ContinuousView2.prototype._hideIndicator = function() {
+      var shapes = this._shapes;
+      shapes.indicator && shapes.indicator.attr("invisible", true);
+      shapes.indicatorLabel && shapes.indicatorLabel.attr("invisible", true);
+      var handleLabels = this._shapes.handleLabels;
+      if (handleLabels) {
+        for (var i2 = 0; i2 < handleLabels.length; i2++) {
+          this._api.leaveBlur(handleLabels[i2]);
+        }
+      }
+    };
+    ContinuousView2.prototype._clearHoverLinkToSeries = function() {
+      this._hideIndicator();
+      var indices = this._hoverLinkDataIndices;
+      this._dispatchHighDown("downplay", makeHighDownBatch(indices, this.visualMapModel));
+      indices.length = 0;
+    };
+    ContinuousView2.prototype._clearHoverLinkFromSeries = function() {
+      this._hideIndicator();
+      var zr = this.api.getZr();
+      zr.off("mouseover", this._hoverLinkFromSeriesMouseOver);
+      zr.off("mouseout", this._hideIndicator);
+    };
+    ContinuousView2.prototype._applyTransform = function(vertex, element, inverse, global2) {
+      var transform3 = getTransform$1(element, global2 ? null : this.group);
+      return isArray$2(vertex) ? applyTransform(vertex, transform3, inverse) : transformDirection(vertex, transform3, inverse);
+    };
+    ContinuousView2.prototype._dispatchHighDown = function(type2, batch) {
+      batch && batch.length && this.api.dispatchAction({
+        type: type2,
+        batch
+      });
+    };
+    ContinuousView2.prototype.dispose = function() {
+      this._clearHoverLinkFromSeries();
+      this._clearHoverLinkToSeries();
+    };
+    ContinuousView2.prototype.remove = function() {
+      this._clearHoverLinkFromSeries();
+      this._clearHoverLinkToSeries();
+    };
+    ContinuousView2.type = "visualMap.continuous";
+    return ContinuousView2;
+  }(VisualMapView$1)
+);
+function createPolygon(points2, cursor, onDrift, onDragEnd) {
+  return new Polygon$1({
+    shape: {
+      points: points2
+    },
+    draggable: !!onDrift,
+    cursor,
+    drift: onDrift,
+    onmousemove: function(e2) {
+      stop(e2.event);
+    },
+    ondragend: onDragEnd
+  });
+}
+function getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent) {
+  var halfHoverLinkSize = HOVER_LINK_SIZE / 2;
+  var hoverLinkDataSize = visualMapModel.get("hoverLinkDataSize");
+  if (hoverLinkDataSize) {
+    halfHoverLinkSize = linearMap(hoverLinkDataSize, dataExtent, sizeExtent, true) / 2;
+  }
+  return halfHoverLinkSize;
+}
+function useHoverLinkOnHandle(visualMapModel) {
+  var hoverLinkOnHandle = visualMapModel.get("hoverLinkOnHandle");
+  return !!(hoverLinkOnHandle == null ? visualMapModel.get("realtime") : hoverLinkOnHandle);
+}
+function getCursor(orient) {
+  return orient === "vertical" ? "ns-resize" : "ew-resize";
+}
+const ContinuousView$1 = ContinuousView;
+var visualMapActionInfo = {
+  type: "selectDataRange",
+  event: "dataRangeSelected",
+  // FIXME use updateView appears wrong
+  update: "update"
+};
+var visualMapActionHander = function(payload, ecModel) {
+  ecModel.eachComponent({
+    mainType: "visualMap",
+    query: payload
+  }, function(model2) {
+    model2.setSelected(payload.selected);
+  });
+};
+var visualMapEncodingHandlers = [
+  {
+    createOnAllSeries: true,
+    reset: function(seriesModel, ecModel) {
+      var resetDefines = [];
+      ecModel.eachComponent("visualMap", function(visualMapModel) {
+        var pipelineContext = seriesModel.pipelineContext;
+        if (!visualMapModel.isTargetSeries(seriesModel) || pipelineContext && pipelineContext.large) {
+          return;
+        }
+        resetDefines.push(incrementalApplyVisual(visualMapModel.stateList, visualMapModel.targetVisuals, bind$2(visualMapModel.getValueState, visualMapModel), visualMapModel.getDataDimensionIndex(seriesModel.getData())));
+      });
+      return resetDefines;
+    }
+  },
+  // Only support color.
+  {
+    createOnAllSeries: true,
+    reset: function(seriesModel, ecModel) {
+      var data2 = seriesModel.getData();
+      var visualMetaList = [];
+      ecModel.eachComponent("visualMap", function(visualMapModel) {
+        if (visualMapModel.isTargetSeries(seriesModel)) {
+          var visualMeta = visualMapModel.getVisualMeta(bind$2(getColorVisual, null, seriesModel, visualMapModel)) || {
+            stops: [],
+            outerColors: []
+          };
+          var dimIdx = visualMapModel.getDataDimensionIndex(data2);
+          if (dimIdx >= 0) {
+            visualMeta.dimension = dimIdx;
+            visualMetaList.push(visualMeta);
+          }
+        }
+      });
+      seriesModel.getData().setVisual("visualMeta", visualMetaList);
+    }
+  }
+];
+function getColorVisual(seriesModel, visualMapModel, value, valueState) {
+  var mappings = visualMapModel.targetVisuals[valueState];
+  var visualTypes = VisualMapping$1.prepareVisualTypes(mappings);
+  var resultVisual = {
+    color: getVisualFromData(seriesModel.getData(), "color")
+    // default color.
+  };
+  for (var i2 = 0, len2 = visualTypes.length; i2 < len2; i2++) {
+    var type2 = visualTypes[i2];
+    var mapping3 = mappings[type2 === "opacity" ? "__alphaForOpacity" : type2];
+    mapping3 && mapping3.applyVisual(value, getVisual, setVisual);
+  }
+  return resultVisual.color;
+  function getVisual(key2) {
+    return resultVisual[key2];
+  }
+  function setVisual(key2, value2) {
+    resultVisual[key2] = value2;
+  }
+}
+var each = each$f;
+function visualMapPreprocessor(option) {
+  var visualMap2 = option && option.visualMap;
+  if (!isArray$2(visualMap2)) {
+    visualMap2 = visualMap2 ? [visualMap2] : [];
+  }
+  each(visualMap2, function(opt) {
+    if (!opt) {
+      return;
+    }
+    if (has(opt, "splitList") && !has(opt, "pieces")) {
+      opt.pieces = opt.splitList;
+      delete opt.splitList;
+    }
+    var pieces = opt.pieces;
+    if (pieces && isArray$2(pieces)) {
+      each(pieces, function(piece) {
+        if (isObject$4(piece)) {
+          if (has(piece, "start") && !has(piece, "min")) {
+            piece.min = piece.start;
+          }
+          if (has(piece, "end") && !has(piece, "max")) {
+            piece.max = piece.end;
+          }
+        }
+      });
+    }
+  });
+}
+function has(obj2, name2) {
+  return obj2 && obj2.hasOwnProperty && obj2.hasOwnProperty(name2);
+}
+var installed = false;
+function installCommon(registers) {
+  if (installed) {
+    return;
+  }
+  installed = true;
+  registers.registerSubTypeDefaulter("visualMap", function(option) {
+    return !option.categories && (!(option.pieces ? option.pieces.length > 0 : option.splitNumber > 0) || option.calculable) ? "continuous" : "piecewise";
+  });
+  registers.registerAction(visualMapActionInfo, visualMapActionHander);
+  each$f(visualMapEncodingHandlers, function(handler) {
+    registers.registerVisual(registers.PRIORITY.VISUAL.COMPONENT, handler);
+  });
+  registers.registerPreprocessor(visualMapPreprocessor);
+}
+function install$5(registers) {
+  registers.registerComponentModel(ContinuousModel$1);
+  registers.registerComponentView(ContinuousView$1);
+  installCommon(registers);
+}
+var PiecewiseModel = (
+  /** @class */
+  function(_super) {
+    __extends(PiecewiseModel2, _super);
+    function PiecewiseModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = PiecewiseModel2.type;
+      _this._pieceList = [];
+      return _this;
+    }
+    PiecewiseModel2.prototype.optionUpdated = function(newOption, isInit) {
+      _super.prototype.optionUpdated.apply(this, arguments);
+      this.resetExtent();
+      var mode = this._mode = this._determineMode();
+      this._pieceList = [];
+      resetMethods[this._mode].call(this, this._pieceList);
+      this._resetSelected(newOption, isInit);
+      var categories = this.option.categories;
+      this.resetVisual(function(mappingOption, state) {
+        if (mode === "categories") {
+          mappingOption.mappingMethod = "category";
+          mappingOption.categories = clone$4(categories);
+        } else {
+          mappingOption.dataExtent = this.getExtent();
+          mappingOption.mappingMethod = "piecewise";
+          mappingOption.pieceList = map$1(this._pieceList, function(piece) {
+            piece = clone$4(piece);
+            if (state !== "inRange") {
+              piece.visual = null;
+            }
+            return piece;
+          });
+        }
+      });
+    };
+    PiecewiseModel2.prototype.completeVisualOption = function() {
+      var option = this.option;
+      var visualTypesInPieces = {};
+      var visualTypes = VisualMapping$1.listVisualTypes();
+      var isCategory2 = this.isCategory();
+      each$f(option.pieces, function(piece) {
+        each$f(visualTypes, function(visualType) {
+          if (piece.hasOwnProperty(visualType)) {
+            visualTypesInPieces[visualType] = 1;
+          }
+        });
+      });
+      each$f(visualTypesInPieces, function(v4, visualType) {
+        var exists = false;
+        each$f(this.stateList, function(state) {
+          exists = exists || has2(option, state, visualType) || has2(option.target, state, visualType);
+        }, this);
+        !exists && each$f(this.stateList, function(state) {
+          (option[state] || (option[state] = {}))[visualType] = visualDefault$1.get(visualType, state === "inRange" ? "active" : "inactive", isCategory2);
+        });
+      }, this);
+      function has2(obj2, state, visualType) {
+        return obj2 && obj2[state] && obj2[state].hasOwnProperty(visualType);
+      }
+      _super.prototype.completeVisualOption.apply(this, arguments);
+    };
+    PiecewiseModel2.prototype._resetSelected = function(newOption, isInit) {
+      var thisOption = this.option;
+      var pieceList = this._pieceList;
+      var selected = (isInit ? thisOption : newOption).selected || {};
+      thisOption.selected = selected;
+      each$f(pieceList, function(piece, index3) {
+        var key2 = this.getSelectedMapKey(piece);
+        if (!selected.hasOwnProperty(key2)) {
+          selected[key2] = true;
+        }
+      }, this);
+      if (thisOption.selectedMode === "single") {
+        var hasSel_1 = false;
+        each$f(pieceList, function(piece, index3) {
+          var key2 = this.getSelectedMapKey(piece);
+          if (selected[key2]) {
+            hasSel_1 ? selected[key2] = false : hasSel_1 = true;
+          }
+        }, this);
+      }
+    };
+    PiecewiseModel2.prototype.getItemSymbol = function() {
+      return this.get("itemSymbol");
+    };
+    PiecewiseModel2.prototype.getSelectedMapKey = function(piece) {
+      return this._mode === "categories" ? piece.value + "" : piece.index + "";
+    };
+    PiecewiseModel2.prototype.getPieceList = function() {
+      return this._pieceList;
+    };
+    PiecewiseModel2.prototype._determineMode = function() {
+      var option = this.option;
+      return option.pieces && option.pieces.length > 0 ? "pieces" : this.option.categories ? "categories" : "splitNumber";
+    };
+    PiecewiseModel2.prototype.setSelected = function(selected) {
+      this.option.selected = clone$4(selected);
+    };
+    PiecewiseModel2.prototype.getValueState = function(value) {
+      var index3 = VisualMapping$1.findPieceIndex(value, this._pieceList);
+      return index3 != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index3])] ? "inRange" : "outOfRange" : "outOfRange";
+    };
+    PiecewiseModel2.prototype.findTargetDataIndices = function(pieceIndex) {
+      var result2 = [];
+      var pieceList = this._pieceList;
+      this.eachTargetSeries(function(seriesModel) {
+        var dataIndices = [];
+        var data2 = seriesModel.getData();
+        data2.each(this.getDataDimensionIndex(data2), function(value, dataIndex) {
+          var pIdx = VisualMapping$1.findPieceIndex(value, pieceList);
+          pIdx === pieceIndex && dataIndices.push(dataIndex);
+        }, this);
+        result2.push({
+          seriesId: seriesModel.id,
+          dataIndex: dataIndices
+        });
+      }, this);
+      return result2;
+    };
+    PiecewiseModel2.prototype.getRepresentValue = function(piece) {
+      var representValue;
+      if (this.isCategory()) {
+        representValue = piece.value;
+      } else {
+        if (piece.value != null) {
+          representValue = piece.value;
+        } else {
+          var pieceInterval = piece.interval || [];
+          representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;
+        }
+      }
+      return representValue;
+    };
+    PiecewiseModel2.prototype.getVisualMeta = function(getColorVisual2) {
+      if (this.isCategory()) {
+        return;
+      }
+      var stops = [];
+      var outerColors = ["", ""];
+      var visualMapModel = this;
+      function setStop(interval, valueState) {
+        var representValue = visualMapModel.getRepresentValue({
+          interval
+        });
+        if (!valueState) {
+          valueState = visualMapModel.getValueState(representValue);
+        }
+        var color2 = getColorVisual2(representValue, valueState);
+        if (interval[0] === -Infinity) {
+          outerColors[0] = color2;
+        } else if (interval[1] === Infinity) {
+          outerColors[1] = color2;
+        } else {
+          stops.push({
+            value: interval[0],
+            color: color2
+          }, {
+            value: interval[1],
+            color: color2
+          });
+        }
+      }
+      var pieceList = this._pieceList.slice();
+      if (!pieceList.length) {
+        pieceList.push({
+          interval: [-Infinity, Infinity]
+        });
+      } else {
+        var edge = pieceList[0].interval[0];
+        edge !== -Infinity && pieceList.unshift({
+          interval: [-Infinity, edge]
+        });
+        edge = pieceList[pieceList.length - 1].interval[1];
+        edge !== Infinity && pieceList.push({
+          interval: [edge, Infinity]
+        });
+      }
+      var curr = -Infinity;
+      each$f(pieceList, function(piece) {
+        var interval = piece.interval;
+        if (interval) {
+          interval[0] > curr && setStop([curr, interval[0]], "outOfRange");
+          setStop(interval.slice());
+          curr = interval[1];
+        }
+      }, this);
+      return {
+        stops,
+        outerColors
+      };
+    };
+    PiecewiseModel2.type = "visualMap.piecewise";
+    PiecewiseModel2.defaultOption = inheritDefaultOption(VisualMapModel$1.defaultOption, {
+      selected: null,
+      minOpen: false,
+      maxOpen: false,
+      align: "auto",
+      itemWidth: 20,
+      itemHeight: 14,
+      itemSymbol: "roundRect",
+      pieces: null,
+      categories: null,
+      splitNumber: 5,
+      selectedMode: "multiple",
+      itemGap: 10,
+      hoverLink: true
+      // Enable hover highlight.
+    });
+    return PiecewiseModel2;
+  }(VisualMapModel$1)
+);
+var resetMethods = {
+  splitNumber: function(outPieceList) {
+    var thisOption = this.option;
+    var precision = Math.min(thisOption.precision, 20);
+    var dataExtent = this.getExtent();
+    var splitNumber = thisOption.splitNumber;
+    splitNumber = Math.max(parseInt(splitNumber, 10), 1);
+    thisOption.splitNumber = splitNumber;
+    var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber;
+    while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {
+      precision++;
+    }
+    thisOption.precision = precision;
+    splitStep = +splitStep.toFixed(precision);
+    if (thisOption.minOpen) {
+      outPieceList.push({
+        interval: [-Infinity, dataExtent[0]],
+        close: [0, 0]
+      });
+    }
+    for (var index3 = 0, curr = dataExtent[0]; index3 < splitNumber; curr += splitStep, index3++) {
+      var max3 = index3 === splitNumber - 1 ? dataExtent[1] : curr + splitStep;
+      outPieceList.push({
+        interval: [curr, max3],
+        close: [1, 1]
+      });
+    }
+    if (thisOption.maxOpen) {
+      outPieceList.push({
+        interval: [dataExtent[1], Infinity],
+        close: [0, 0]
+      });
+    }
+    reformIntervals(outPieceList);
+    each$f(outPieceList, function(piece, index4) {
+      piece.index = index4;
+      piece.text = this.formatValueText(piece.interval);
+    }, this);
+  },
+  categories: function(outPieceList) {
+    var thisOption = this.option;
+    each$f(thisOption.categories, function(cate) {
+      outPieceList.push({
+        text: this.formatValueText(cate, true),
+        value: cate
+      });
+    }, this);
+    normalizeReverse(thisOption, outPieceList);
+  },
+  pieces: function(outPieceList) {
+    var thisOption = this.option;
+    each$f(thisOption.pieces, function(pieceListItem, index3) {
+      if (!isObject$4(pieceListItem)) {
+        pieceListItem = {
+          value: pieceListItem
+        };
+      }
+      var item = {
+        text: "",
+        index: index3
+      };
+      if (pieceListItem.label != null) {
+        item.text = pieceListItem.label;
+      }
+      if (pieceListItem.hasOwnProperty("value")) {
+        var value = item.value = pieceListItem.value;
+        item.interval = [value, value];
+        item.close = [1, 1];
+      } else {
+        var interval = item.interval = [];
+        var close_1 = item.close = [0, 0];
+        var closeList = [1, 0, 1];
+        var infinityList = [-Infinity, Infinity];
+        var useMinMax = [];
+        for (var lg = 0; lg < 2; lg++) {
+          var names = [["gte", "gt", "min"], ["lte", "lt", "max"]][lg];
+          for (var i2 = 0; i2 < 3 && interval[lg] == null; i2++) {
+            interval[lg] = pieceListItem[names[i2]];
+            close_1[lg] = closeList[i2];
+            useMinMax[lg] = i2 === 2;
+          }
+          interval[lg] == null && (interval[lg] = infinityList[lg]);
+        }
+        useMinMax[0] && interval[1] === Infinity && (close_1[0] = 0);
+        useMinMax[1] && interval[0] === -Infinity && (close_1[1] = 0);
+        if (interval[0] === interval[1] && close_1[0] && close_1[1]) {
+          item.value = interval[0];
+        }
+      }
+      item.visual = VisualMapping$1.retrieveVisuals(pieceListItem);
+      outPieceList.push(item);
+    }, this);
+    normalizeReverse(thisOption, outPieceList);
+    reformIntervals(outPieceList);
+    each$f(outPieceList, function(piece) {
+      var close2 = piece.close;
+      var edgeSymbols = [["<", "≤"][close2[1]], [">", "≥"][close2[0]]];
+      piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);
+    }, this);
+  }
+};
+function normalizeReverse(thisOption, pieceList) {
+  var inverse = thisOption.inverse;
+  if (thisOption.orient === "vertical" ? !inverse : inverse) {
+    pieceList.reverse();
+  }
+}
+const PiecewiseModel$1 = PiecewiseModel;
+var PiecewiseVisualMapView = (
+  /** @class */
+  function(_super) {
+    __extends(PiecewiseVisualMapView2, _super);
+    function PiecewiseVisualMapView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = PiecewiseVisualMapView2.type;
+      return _this;
+    }
+    PiecewiseVisualMapView2.prototype.doRender = function() {
+      var thisGroup = this.group;
+      thisGroup.removeAll();
+      var visualMapModel = this.visualMapModel;
+      var textGap = visualMapModel.get("textGap");
+      var textStyleModel = visualMapModel.textStyleModel;
+      var textFont = textStyleModel.getFont();
+      var textFill = textStyleModel.getTextColor();
+      var itemAlign = this._getItemAlign();
+      var itemSize = visualMapModel.itemSize;
+      var viewData = this._getViewData();
+      var endsText = viewData.endsText;
+      var showLabel = retrieve(visualMapModel.get("showLabel", true), !endsText);
+      endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);
+      each$f(viewData.viewPieceList, function(item) {
+        var piece = item.piece;
+        var itemGroup = new Group$4();
+        itemGroup.onclick = bind$2(this._onItemClick, this, piece);
+        this._enableHoverLink(itemGroup, item.indexInModelPieceList);
+        var representValue = visualMapModel.getRepresentValue(piece);
+        this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);
+        if (showLabel) {
+          var visualState = this.visualMapModel.getValueState(representValue);
+          itemGroup.add(new ZRText$1({
+            style: {
+              x: itemAlign === "right" ? -textGap : itemSize[0] + textGap,
+              y: itemSize[1] / 2,
+              text: piece.text,
+              verticalAlign: "middle",
+              align: itemAlign,
+              font: textFont,
+              fill: textFill,
+              opacity: visualState === "outOfRange" ? 0.5 : 1
+            }
+          }));
+        }
+        thisGroup.add(itemGroup);
+      }, this);
+      endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);
+      box(visualMapModel.get("orient"), thisGroup, visualMapModel.get("itemGap"));
+      this.renderBackground(thisGroup);
+      this.positionGroup(thisGroup);
+    };
+    PiecewiseVisualMapView2.prototype._enableHoverLink = function(itemGroup, pieceIndex) {
+      var _this = this;
+      itemGroup.on("mouseover", function() {
+        return onHoverLink("highlight");
+      }).on("mouseout", function() {
+        return onHoverLink("downplay");
+      });
+      var onHoverLink = function(method) {
+        var visualMapModel = _this.visualMapModel;
+        visualMapModel.option.hoverLink && _this.api.dispatchAction({
+          type: method,
+          batch: makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)
+        });
+      };
+    };
+    PiecewiseVisualMapView2.prototype._getItemAlign = function() {
+      var visualMapModel = this.visualMapModel;
+      var modelOption = visualMapModel.option;
+      if (modelOption.orient === "vertical") {
+        return getItemAlign(visualMapModel, this.api, visualMapModel.itemSize);
+      } else {
+        var align = modelOption.align;
+        if (!align || align === "auto") {
+          align = "left";
+        }
+        return align;
+      }
+    };
+    PiecewiseVisualMapView2.prototype._renderEndsText = function(group, text2, itemSize, showLabel, itemAlign) {
+      if (!text2) {
+        return;
+      }
+      var itemGroup = new Group$4();
+      var textStyleModel = this.visualMapModel.textStyleModel;
+      itemGroup.add(new ZRText$1({
+        style: createTextStyle$1(textStyleModel, {
+          x: showLabel ? itemAlign === "right" ? itemSize[0] : 0 : itemSize[0] / 2,
+          y: itemSize[1] / 2,
+          verticalAlign: "middle",
+          align: showLabel ? itemAlign : "center",
+          text: text2
+        })
+      }));
+      group.add(itemGroup);
+    };
+    PiecewiseVisualMapView2.prototype._getViewData = function() {
+      var visualMapModel = this.visualMapModel;
+      var viewPieceList = map$1(visualMapModel.getPieceList(), function(piece, index3) {
+        return {
+          piece,
+          indexInModelPieceList: index3
+        };
+      });
+      var endsText = visualMapModel.get("text");
+      var orient = visualMapModel.get("orient");
+      var inverse = visualMapModel.get("inverse");
+      if (orient === "horizontal" ? inverse : !inverse) {
+        viewPieceList.reverse();
+      } else if (endsText) {
+        endsText = endsText.slice().reverse();
+      }
+      return {
+        viewPieceList,
+        endsText
+      };
+    };
+    PiecewiseVisualMapView2.prototype._createItemSymbol = function(group, representValue, shapeParam) {
+      group.add(createSymbol$1(
+        // symbol will be string
+        this.getControllerVisual(representValue, "symbol"),
+        shapeParam[0],
+        shapeParam[1],
+        shapeParam[2],
+        shapeParam[3],
+        // color will be string
+        this.getControllerVisual(representValue, "color")
+      ));
+    };
+    PiecewiseVisualMapView2.prototype._onItemClick = function(piece) {
+      var visualMapModel = this.visualMapModel;
+      var option = visualMapModel.option;
+      var selectedMode = option.selectedMode;
+      if (!selectedMode) {
+        return;
+      }
+      var selected = clone$4(option.selected);
+      var newKey = visualMapModel.getSelectedMapKey(piece);
+      if (selectedMode === "single" || selectedMode === true) {
+        selected[newKey] = true;
+        each$f(selected, function(o2, key2) {
+          selected[key2] = key2 === newKey;
+        });
+      } else {
+        selected[newKey] = !selected[newKey];
+      }
+      this.api.dispatchAction({
+        type: "selectDataRange",
+        from: this.uid,
+        visualMapId: this.visualMapModel.id,
+        selected
+      });
+    };
+    PiecewiseVisualMapView2.type = "visualMap.piecewise";
+    return PiecewiseVisualMapView2;
+  }(VisualMapView$1)
+);
+const PiecewiseView = PiecewiseVisualMapView;
+function install$4(registers) {
+  registers.registerComponentModel(PiecewiseModel$1);
+  registers.registerComponentView(PiecewiseView);
+  installCommon(registers);
+}
+function install$3(registers) {
+  use(install$5);
+  use(install$4);
+}
+var DEFAULT_OPTION = {
+  label: {
+    enabled: true
+  },
+  decal: {
+    show: false
+  }
+};
+var inner = makeInner();
+var decalPaletteScope = {};
+function ariaVisual(ecModel, api2) {
+  var ariaModel = ecModel.getModel("aria");
+  if (!ariaModel.get("enabled")) {
+    return;
+  }
+  var defaultOption2 = clone$4(DEFAULT_OPTION);
+  merge$1(defaultOption2.label, ecModel.getLocaleModel().get("aria"), false);
+  merge$1(ariaModel.option, defaultOption2, false);
+  setDecal();
+  setLabel();
+  function setDecal() {
+    var decalModel = ariaModel.getModel("decal");
+    var useDecal = decalModel.get("show");
+    if (useDecal) {
+      var paletteScopeGroupByType_1 = createHashMap();
+      ecModel.eachSeries(function(seriesModel) {
+        if (seriesModel.isColorBySeries()) {
+          return;
+        }
+        var decalScope = paletteScopeGroupByType_1.get(seriesModel.type);
+        if (!decalScope) {
+          decalScope = {};
+          paletteScopeGroupByType_1.set(seriesModel.type, decalScope);
+        }
+        inner(seriesModel).scope = decalScope;
+      });
+      ecModel.eachRawSeries(function(seriesModel) {
+        if (ecModel.isSeriesFiltered(seriesModel)) {
+          return;
+        }
+        if (isFunction$1(seriesModel.enableAriaDecal)) {
+          seriesModel.enableAriaDecal();
+          return;
+        }
+        var data2 = seriesModel.getData();
+        if (!seriesModel.isColorBySeries()) {
+          var dataAll_1 = seriesModel.getRawData();
+          var idxMap_1 = {};
+          var decalScope_1 = inner(seriesModel).scope;
+          data2.each(function(idx) {
+            var rawIdx = data2.getRawIndex(idx);
+            idxMap_1[rawIdx] = idx;
+          });
+          var dataCount_1 = dataAll_1.count();
+          dataAll_1.each(function(rawIdx) {
+            var idx = idxMap_1[rawIdx];
+            var name2 = dataAll_1.getName(rawIdx) || rawIdx + "";
+            var paletteDecal2 = getDecalFromPalette(seriesModel.ecModel, name2, decalScope_1, dataCount_1);
+            var specifiedDecal2 = data2.getItemVisual(idx, "decal");
+            data2.setItemVisual(idx, "decal", mergeDecal(specifiedDecal2, paletteDecal2));
+          });
+        } else {
+          var paletteDecal = getDecalFromPalette(seriesModel.ecModel, seriesModel.name, decalPaletteScope, ecModel.getSeriesCount());
+          var specifiedDecal = data2.getVisual("decal");
+          data2.setVisual("decal", mergeDecal(specifiedDecal, paletteDecal));
+        }
+        function mergeDecal(specifiedDecal2, paletteDecal2) {
+          var resultDecal = specifiedDecal2 ? extend$1(extend$1({}, paletteDecal2), specifiedDecal2) : paletteDecal2;
+          resultDecal.dirty = true;
+          return resultDecal;
+        }
+      });
+    }
+  }
+  function setLabel() {
+    var labelLocale = ecModel.getLocaleModel().get("aria");
+    var labelModel = ariaModel.getModel("label");
+    labelModel.option = defaults$2(labelModel.option, labelLocale);
+    if (!labelModel.get("enabled")) {
+      return;
+    }
+    var dom2 = api2.getZr().dom;
+    if (labelModel.get("description")) {
+      dom2.setAttribute("aria-label", labelModel.get("description"));
+      return;
+    }
+    var seriesCnt = ecModel.getSeriesCount();
+    var maxDataCnt = labelModel.get(["data", "maxCount"]) || 10;
+    var maxSeriesCnt = labelModel.get(["series", "maxCount"]) || 10;
+    var displaySeriesCnt = Math.min(seriesCnt, maxSeriesCnt);
+    var ariaLabel;
+    if (seriesCnt < 1) {
+      return;
+    } else {
+      var title2 = getTitle2();
+      if (title2) {
+        var withTitle = labelModel.get(["general", "withTitle"]);
+        ariaLabel = replace(withTitle, {
+          title: title2
+        });
+      } else {
+        ariaLabel = labelModel.get(["general", "withoutTitle"]);
+      }
+      var seriesLabels_1 = [];
+      var prefix = seriesCnt > 1 ? labelModel.get(["series", "multiple", "prefix"]) : labelModel.get(["series", "single", "prefix"]);
+      ariaLabel += replace(prefix, {
+        seriesCount: seriesCnt
+      });
+      ecModel.eachSeries(function(seriesModel, idx) {
+        if (idx < displaySeriesCnt) {
+          var seriesLabel = void 0;
+          var seriesName = seriesModel.get("name");
+          var withName = seriesName ? "withName" : "withoutName";
+          seriesLabel = seriesCnt > 1 ? labelModel.get(["series", "multiple", withName]) : labelModel.get(["series", "single", withName]);
+          seriesLabel = replace(seriesLabel, {
+            seriesId: seriesModel.seriesIndex,
+            seriesName: seriesModel.get("name"),
+            seriesType: getSeriesTypeName(seriesModel.subType)
+          });
+          var data2 = seriesModel.getData();
+          if (data2.count() > maxDataCnt) {
+            var partialLabel = labelModel.get(["data", "partialData"]);
+            seriesLabel += replace(partialLabel, {
+              displayCnt: maxDataCnt
+            });
+          } else {
+            seriesLabel += labelModel.get(["data", "allData"]);
+          }
+          var middleSeparator_1 = labelModel.get(["data", "separator", "middle"]);
+          var endSeparator_1 = labelModel.get(["data", "separator", "end"]);
+          var dataLabels = [];
+          for (var i2 = 0; i2 < data2.count(); i2++) {
+            if (i2 < maxDataCnt) {
+              var name_1 = data2.getName(i2);
+              var value = data2.getValues(i2);
+              var dataLabel = labelModel.get(["data", name_1 ? "withName" : "withoutName"]);
+              dataLabels.push(replace(dataLabel, {
+                name: name_1,
+                value: value.join(middleSeparator_1)
+              }));
+            }
+          }
+          seriesLabel += dataLabels.join(middleSeparator_1) + endSeparator_1;
+          seriesLabels_1.push(seriesLabel);
+        }
+      });
+      var separatorModel = labelModel.getModel(["series", "multiple", "separator"]);
+      var middleSeparator = separatorModel.get("middle");
+      var endSeparator = separatorModel.get("end");
+      ariaLabel += seriesLabels_1.join(middleSeparator) + endSeparator;
+      dom2.setAttribute("aria-label", ariaLabel);
+    }
+  }
+  function replace(str, keyValues) {
+    if (!isString$1(str)) {
+      return str;
+    }
+    var result2 = str;
+    each$f(keyValues, function(value, key2) {
+      result2 = result2.replace(new RegExp("\\{\\s*" + key2 + "\\s*\\}", "g"), value);
+    });
+    return result2;
+  }
+  function getTitle2() {
+    var title2 = ecModel.get("title");
+    if (title2 && title2.length) {
+      title2 = title2[0];
+    }
+    return title2 && title2.text;
+  }
+  function getSeriesTypeName(type2) {
+    return ecModel.getLocaleModel().get(["series", "typeNames"])[type2] || "自定义图";
+  }
+}
+function ariaPreprocessor(option) {
+  if (!option || !option.aria) {
+    return;
+  }
+  var aria2 = option.aria;
+  if (aria2.show != null) {
+    aria2.enabled = aria2.show;
+  }
+  aria2.label = aria2.label || {};
+  each$f(["description", "general", "series", "data"], function(name2) {
+    if (aria2[name2] != null) {
+      aria2.label[name2] = aria2[name2];
+    }
+  });
+}
+function install$2(registers) {
+  registers.registerPreprocessor(ariaPreprocessor);
+  registers.registerVisual(registers.PRIORITY.VISUAL.ARIA, ariaVisual);
+}
+var RELATIONAL_EXPRESSION_OP_ALIAS_MAP = {
+  value: "eq",
+  // PENDING: not good for literal semantic?
+  "<": "lt",
+  "<=": "lte",
+  ">": "gt",
+  ">=": "gte",
+  "=": "eq",
+  "!=": "ne",
+  "<>": "ne"
+  // Might be misleading for sake of the difference between '==' and '===',
+  // so don't support them.
+  // '==': 'eq',
+  // '===': 'seq',
+  // '!==': 'sne'
+  // PENDING: Whether support some common alias "ge", "le", "neq"?
+  // ge: 'gte',
+  // le: 'lte',
+  // neq: 'ne',
+};
+var RegExpEvaluator = (
+  /** @class */
+  function() {
+    function RegExpEvaluator2(rVal) {
+      var condValue = this._condVal = isString$1(rVal) ? new RegExp(rVal) : isRegExp$1(rVal) ? rVal : null;
+      if (condValue == null) {
+        var errMsg = "";
+        throwError(errMsg);
+      }
+    }
+    RegExpEvaluator2.prototype.evaluate = function(lVal) {
+      var type2 = typeof lVal;
+      return isString$1(type2) ? this._condVal.test(lVal) : isNumber$1(type2) ? this._condVal.test(lVal + "") : false;
+    };
+    return RegExpEvaluator2;
+  }()
+);
+var ConstConditionInternal = (
+  /** @class */
+  function() {
+    function ConstConditionInternal2() {
+    }
+    ConstConditionInternal2.prototype.evaluate = function() {
+      return this.value;
+    };
+    return ConstConditionInternal2;
+  }()
+);
+var AndConditionInternal = (
+  /** @class */
+  function() {
+    function AndConditionInternal2() {
+    }
+    AndConditionInternal2.prototype.evaluate = function() {
+      var children3 = this.children;
+      for (var i2 = 0; i2 < children3.length; i2++) {
+        if (!children3[i2].evaluate()) {
+          return false;
+        }
+      }
+      return true;
+    };
+    return AndConditionInternal2;
+  }()
+);
+var OrConditionInternal = (
+  /** @class */
+  function() {
+    function OrConditionInternal2() {
+    }
+    OrConditionInternal2.prototype.evaluate = function() {
+      var children3 = this.children;
+      for (var i2 = 0; i2 < children3.length; i2++) {
+        if (children3[i2].evaluate()) {
+          return true;
+        }
+      }
+      return false;
+    };
+    return OrConditionInternal2;
+  }()
+);
+var NotConditionInternal = (
+  /** @class */
+  function() {
+    function NotConditionInternal2() {
+    }
+    NotConditionInternal2.prototype.evaluate = function() {
+      return !this.child.evaluate();
+    };
+    return NotConditionInternal2;
+  }()
+);
+var RelationalConditionInternal = (
+  /** @class */
+  function() {
+    function RelationalConditionInternal2() {
+    }
+    RelationalConditionInternal2.prototype.evaluate = function() {
+      var needParse = !!this.valueParser;
+      var getValue = this.getValue;
+      var tarValRaw = getValue(this.valueGetterParam);
+      var tarValParsed = needParse ? this.valueParser(tarValRaw) : null;
+      for (var i2 = 0; i2 < this.subCondList.length; i2++) {
+        if (!this.subCondList[i2].evaluate(needParse ? tarValParsed : tarValRaw)) {
+          return false;
+        }
+      }
+      return true;
+    };
+    return RelationalConditionInternal2;
+  }()
+);
+function parseOption(exprOption, getters) {
+  if (exprOption === true || exprOption === false) {
+    var cond = new ConstConditionInternal();
+    cond.value = exprOption;
+    return cond;
+  }
+  var errMsg = "";
+  if (!isObjectNotArray(exprOption)) {
+    throwError(errMsg);
+  }
+  if (exprOption.and) {
+    return parseAndOrOption("and", exprOption, getters);
+  } else if (exprOption.or) {
+    return parseAndOrOption("or", exprOption, getters);
+  } else if (exprOption.not) {
+    return parseNotOption(exprOption, getters);
+  }
+  return parseRelationalOption(exprOption, getters);
+}
+function parseAndOrOption(op, exprOption, getters) {
+  var subOptionArr = exprOption[op];
+  var errMsg = "";
+  if (!isArray$2(subOptionArr)) {
+    throwError(errMsg);
+  }
+  if (!subOptionArr.length) {
+    throwError(errMsg);
+  }
+  var cond = op === "and" ? new AndConditionInternal() : new OrConditionInternal();
+  cond.children = map$1(subOptionArr, function(subOption) {
+    return parseOption(subOption, getters);
+  });
+  if (!cond.children.length) {
+    throwError(errMsg);
+  }
+  return cond;
+}
+function parseNotOption(exprOption, getters) {
+  var subOption = exprOption.not;
+  var errMsg = "";
+  if (!isObjectNotArray(subOption)) {
+    throwError(errMsg);
+  }
+  var cond = new NotConditionInternal();
+  cond.child = parseOption(subOption, getters);
+  if (!cond.child) {
+    throwError(errMsg);
+  }
+  return cond;
+}
+function parseRelationalOption(exprOption, getters) {
+  var errMsg = "";
+  var valueGetterParam = getters.prepareGetValue(exprOption);
+  var subCondList = [];
+  var exprKeys = keys(exprOption);
+  var parserName = exprOption.parser;
+  var valueParser = parserName ? getRawValueParser(parserName) : null;
+  for (var i2 = 0; i2 < exprKeys.length; i2++) {
+    var keyRaw = exprKeys[i2];
+    if (keyRaw === "parser" || getters.valueGetterAttrMap.get(keyRaw)) {
+      continue;
+    }
+    var op = hasOwn(RELATIONAL_EXPRESSION_OP_ALIAS_MAP, keyRaw) ? RELATIONAL_EXPRESSION_OP_ALIAS_MAP[keyRaw] : keyRaw;
+    var condValueRaw = exprOption[keyRaw];
+    var condValueParsed = valueParser ? valueParser(condValueRaw) : condValueRaw;
+    var evaluator = createFilterComparator(op, condValueParsed) || op === "reg" && new RegExpEvaluator(condValueParsed);
+    if (!evaluator) {
+      throwError(errMsg);
+    }
+    subCondList.push(evaluator);
+  }
+  if (!subCondList.length) {
+    throwError(errMsg);
+  }
+  var cond = new RelationalConditionInternal();
+  cond.valueGetterParam = valueGetterParam;
+  cond.valueParser = valueParser;
+  cond.getValue = getters.getValue;
+  cond.subCondList = subCondList;
+  return cond;
+}
+function isObjectNotArray(val) {
+  return isObject$4(val) && !isArrayLike(val);
+}
+var ConditionalExpressionParsed = (
+  /** @class */
+  function() {
+    function ConditionalExpressionParsed2(exprOption, getters) {
+      this._cond = parseOption(exprOption, getters);
+    }
+    ConditionalExpressionParsed2.prototype.evaluate = function() {
+      return this._cond.evaluate();
+    };
+    return ConditionalExpressionParsed2;
+  }()
+);
+function parseConditionalExpression(exprOption, getters) {
+  return new ConditionalExpressionParsed(exprOption, getters);
+}
+var filterTransform = {
+  type: "echarts:filter",
+  // PENDING: enhance to filter by index rather than create new data
+  transform: function(params2) {
+    var upstream = params2.upstream;
+    var rawItem;
+    var condition = parseConditionalExpression(params2.config, {
+      valueGetterAttrMap: createHashMap({
+        dimension: true
+      }),
+      prepareGetValue: function(exprOption) {
+        var errMsg = "";
+        var dimLoose = exprOption.dimension;
+        if (!hasOwn(exprOption, "dimension")) {
+          throwError(errMsg);
+        }
+        var dimInfo = upstream.getDimensionInfo(dimLoose);
+        if (!dimInfo) {
+          throwError(errMsg);
+        }
+        return {
+          dimIdx: dimInfo.index
+        };
+      },
+      getValue: function(param2) {
+        return upstream.retrieveValueFromItem(rawItem, param2.dimIdx);
+      }
+    });
+    var resultData = [];
+    for (var i2 = 0, len2 = upstream.count(); i2 < len2; i2++) {
+      rawItem = upstream.getRawDataItem(i2);
+      if (condition.evaluate()) {
+        resultData.push(rawItem);
+      }
+    }
+    return {
+      data: resultData
+    };
+  }
+};
+var sortTransform = {
+  type: "echarts:sort",
+  transform: function(params2) {
+    var upstream = params2.upstream;
+    var config2 = params2.config;
+    var errMsg = "";
+    var orderExprList = normalizeToArray(config2);
+    if (!orderExprList.length) {
+      throwError(errMsg);
+    }
+    var orderDefList = [];
+    each$f(orderExprList, function(orderExpr) {
+      var dimLoose = orderExpr.dimension;
+      var order = orderExpr.order;
+      var parserName = orderExpr.parser;
+      var incomparable = orderExpr.incomparable;
+      if (dimLoose == null) {
+        throwError(errMsg);
+      }
+      if (order !== "asc" && order !== "desc") {
+        throwError(errMsg);
+      }
+      if (incomparable && incomparable !== "min" && incomparable !== "max") {
+        var errMsg_1 = "";
+        throwError(errMsg_1);
+      }
+      if (order !== "asc" && order !== "desc") {
+        var errMsg_2 = "";
+        throwError(errMsg_2);
+      }
+      var dimInfo = upstream.getDimensionInfo(dimLoose);
+      if (!dimInfo) {
+        throwError(errMsg);
+      }
+      var parser2 = parserName ? getRawValueParser(parserName) : null;
+      if (parserName && !parser2) {
+        throwError(errMsg);
+      }
+      orderDefList.push({
+        dimIdx: dimInfo.index,
+        parser: parser2,
+        comparator: new SortOrderComparator(order, incomparable)
+      });
+    });
+    var sourceFormat = upstream.sourceFormat;
+    if (sourceFormat !== SOURCE_FORMAT_ARRAY_ROWS && sourceFormat !== SOURCE_FORMAT_OBJECT_ROWS) {
+      throwError(errMsg);
+    }
+    var resultData = [];
+    for (var i2 = 0, len2 = upstream.count(); i2 < len2; i2++) {
+      resultData.push(upstream.getRawDataItem(i2));
+    }
+    resultData.sort(function(item0, item1) {
+      for (var i3 = 0; i3 < orderDefList.length; i3++) {
+        var orderDef = orderDefList[i3];
+        var val0 = upstream.retrieveValueFromItem(item0, orderDef.dimIdx);
+        var val1 = upstream.retrieveValueFromItem(item1, orderDef.dimIdx);
+        if (orderDef.parser) {
+          val0 = orderDef.parser(val0);
+          val1 = orderDef.parser(val1);
+        }
+        var result2 = orderDef.comparator.evaluate(val0, val1);
+        if (result2 !== 0) {
+          return result2;
+        }
+      }
+      return 0;
+    });
+    return {
+      data: resultData
+    };
+  }
+};
+function install$1(registers) {
+  registers.registerTransform(filterTransform);
+  registers.registerTransform(sortTransform);
+}
+var DatasetModel = (
+  /** @class */
+  function(_super) {
+    __extends(DatasetModel2, _super);
+    function DatasetModel2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "dataset";
+      return _this;
+    }
+    DatasetModel2.prototype.init = function(option, parentModel, ecModel) {
+      _super.prototype.init.call(this, option, parentModel, ecModel);
+      this._sourceManager = new SourceManager(this);
+      disableTransformOptionMerge(this);
+    };
+    DatasetModel2.prototype.mergeOption = function(newOption, ecModel) {
+      _super.prototype.mergeOption.call(this, newOption, ecModel);
+      disableTransformOptionMerge(this);
+    };
+    DatasetModel2.prototype.optionUpdated = function() {
+      this._sourceManager.dirty();
+    };
+    DatasetModel2.prototype.getSourceManager = function() {
+      return this._sourceManager;
+    };
+    DatasetModel2.type = "dataset";
+    DatasetModel2.defaultOption = {
+      seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN
+    };
+    return DatasetModel2;
+  }(ComponentModel$1)
+);
+var DatasetView = (
+  /** @class */
+  function(_super) {
+    __extends(DatasetView2, _super);
+    function DatasetView2() {
+      var _this = _super !== null && _super.apply(this, arguments) || this;
+      _this.type = "dataset";
+      return _this;
+    }
+    DatasetView2.type = "dataset";
+    return DatasetView2;
+  }(ComponentView$1)
+);
+function install(registers) {
+  registers.registerComponentModel(DatasetModel);
+  registers.registerComponentView(DatasetView);
+}
+var CMD = PathProxy$1.CMD;
+function aroundEqual(a2, b2) {
+  return Math.abs(a2 - b2) < 1e-5;
+}
+function pathToBezierCurves(path2) {
+  var data2 = path2.data;
+  var len2 = path2.len();
+  var bezierArrayGroups = [];
+  var currentSubpath;
+  var xi = 0;
+  var yi = 0;
+  var x0 = 0;
+  var y0 = 0;
+  function createNewSubpath(x3, y3) {
+    if (currentSubpath && currentSubpath.length > 2) {
+      bezierArrayGroups.push(currentSubpath);
+    }
+    currentSubpath = [x3, y3];
+  }
+  function addLine(x02, y02, x12, y12) {
+    if (!(aroundEqual(x02, x12) && aroundEqual(y02, y12))) {
+      currentSubpath.push(x02, y02, x12, y12, x12, y12);
+    }
+  }
+  function addArc(startAngle2, endAngle2, cx2, cy2, rx2, ry2) {
+    var delta = Math.abs(endAngle2 - startAngle2);
+    var len3 = Math.tan(delta / 4) * 4 / 3;
+    var dir3 = endAngle2 < startAngle2 ? -1 : 1;
+    var c1 = Math.cos(startAngle2);
+    var s1 = Math.sin(startAngle2);
+    var c2 = Math.cos(endAngle2);
+    var s2 = Math.sin(endAngle2);
+    var x12 = c1 * rx2 + cx2;
+    var y12 = s1 * ry2 + cy2;
+    var x4 = c2 * rx2 + cx2;
+    var y4 = s2 * ry2 + cy2;
+    var hx = rx2 * len3 * dir3;
+    var hy = ry2 * len3 * dir3;
+    currentSubpath.push(x12 - hx * s1, y12 + hy * c1, x4 + hx * s2, y4 - hy * c2, x4, y4);
+  }
+  var x1;
+  var y1;
+  var x2;
+  var y2;
+  for (var i2 = 0; i2 < len2; ) {
+    var cmd = data2[i2++];
+    var isFirst = i2 === 1;
+    if (isFirst) {
+      xi = data2[i2];
+      yi = data2[i2 + 1];
+      x0 = xi;
+      y0 = yi;
+      if (cmd === CMD.L || cmd === CMD.C || cmd === CMD.Q) {
+        currentSubpath = [x0, y0];
+      }
+    }
+    switch (cmd) {
+      case CMD.M:
+        xi = x0 = data2[i2++];
+        yi = y0 = data2[i2++];
+        createNewSubpath(x0, y0);
+        break;
+      case CMD.L:
+        x1 = data2[i2++];
+        y1 = data2[i2++];
+        addLine(xi, yi, x1, y1);
+        xi = x1;
+        yi = y1;
+        break;
+      case CMD.C:
+        currentSubpath.push(data2[i2++], data2[i2++], data2[i2++], data2[i2++], xi = data2[i2++], yi = data2[i2++]);
+        break;
+      case CMD.Q:
+        x1 = data2[i2++];
+        y1 = data2[i2++];
+        x2 = data2[i2++];
+        y2 = data2[i2++];
+        currentSubpath.push(xi + 2 / 3 * (x1 - xi), yi + 2 / 3 * (y1 - yi), x2 + 2 / 3 * (x1 - x2), y2 + 2 / 3 * (y1 - y2), x2, y2);
+        xi = x2;
+        yi = y2;
+        break;
+      case CMD.A:
+        var cx = data2[i2++];
+        var cy = data2[i2++];
+        var rx = data2[i2++];
+        var ry = data2[i2++];
+        var startAngle = data2[i2++];
+        var endAngle = data2[i2++] + startAngle;
+        i2 += 1;
+        var anticlockwise = !data2[i2++];
+        x1 = Math.cos(startAngle) * rx + cx;
+        y1 = Math.sin(startAngle) * ry + cy;
+        if (isFirst) {
+          x0 = x1;
+          y0 = y1;
+          createNewSubpath(x0, y0);
+        } else {
+          addLine(xi, yi, x1, y1);
+        }
+        xi = Math.cos(endAngle) * rx + cx;
+        yi = Math.sin(endAngle) * ry + cy;
+        var step2 = (anticlockwise ? -1 : 1) * Math.PI / 2;
+        for (var angle = startAngle; anticlockwise ? angle > endAngle : angle < endAngle; angle += step2) {
+          var nextAngle = anticlockwise ? Math.max(angle + step2, endAngle) : Math.min(angle + step2, endAngle);
+          addArc(angle, nextAngle, cx, cy, rx, ry);
+        }
+        break;
+      case CMD.R:
+        x0 = xi = data2[i2++];
+        y0 = yi = data2[i2++];
+        x1 = x0 + data2[i2++];
+        y1 = y0 + data2[i2++];
+        createNewSubpath(x1, y0);
+        addLine(x1, y0, x1, y1);
+        addLine(x1, y1, x0, y1);
+        addLine(x0, y1, x0, y0);
+        addLine(x0, y0, x1, y0);
+        break;
+      case CMD.Z:
+        currentSubpath && addLine(xi, yi, x0, y0);
+        xi = x0;
+        yi = y0;
+        break;
+    }
+  }
+  if (currentSubpath && currentSubpath.length > 2) {
+    bezierArrayGroups.push(currentSubpath);
+  }
+  return bezierArrayGroups;
+}
+function adpativeBezier(x0, y0, x1, y1, x2, y2, x3, y3, out2, scale2) {
+  if (aroundEqual(x0, x1) && aroundEqual(y0, y1) && aroundEqual(x2, x3) && aroundEqual(y2, y3)) {
+    out2.push(x3, y3);
+    return;
+  }
+  var PIXEL_DISTANCE = 2 / scale2;
+  var PIXEL_DISTANCE_SQR = PIXEL_DISTANCE * PIXEL_DISTANCE;
+  var dx = x3 - x0;
+  var dy = y3 - y0;
+  var d2 = Math.sqrt(dx * dx + dy * dy);
+  dx /= d2;
+  dy /= d2;
+  var dx1 = x1 - x0;
+  var dy1 = y1 - y0;
+  var dx2 = x2 - x3;
+  var dy2 = y2 - y3;
+  var cp1LenSqr = dx1 * dx1 + dy1 * dy1;
+  var cp2LenSqr = dx2 * dx2 + dy2 * dy2;
+  if (cp1LenSqr < PIXEL_DISTANCE_SQR && cp2LenSqr < PIXEL_DISTANCE_SQR) {
+    out2.push(x3, y3);
+    return;
+  }
+  var projLen1 = dx * dx1 + dy * dy1;
+  var projLen2 = -dx * dx2 - dy * dy2;
+  var d1Sqr = cp1LenSqr - projLen1 * projLen1;
+  var d2Sqr = cp2LenSqr - projLen2 * projLen2;
+  if (d1Sqr < PIXEL_DISTANCE_SQR && projLen1 >= 0 && d2Sqr < PIXEL_DISTANCE_SQR && projLen2 >= 0) {
+    out2.push(x3, y3);
+    return;
+  }
+  var tmpSegX = [];
+  var tmpSegY = [];
+  cubicSubdivide(x0, x1, x2, x3, 0.5, tmpSegX);
+  cubicSubdivide(y0, y1, y2, y3, 0.5, tmpSegY);
+  adpativeBezier(tmpSegX[0], tmpSegY[0], tmpSegX[1], tmpSegY[1], tmpSegX[2], tmpSegY[2], tmpSegX[3], tmpSegY[3], out2, scale2);
+  adpativeBezier(tmpSegX[4], tmpSegY[4], tmpSegX[5], tmpSegY[5], tmpSegX[6], tmpSegY[6], tmpSegX[7], tmpSegY[7], out2, scale2);
+}
+function pathToPolygons(path2, scale2) {
+  var bezierArrayGroups = pathToBezierCurves(path2);
+  var polygons = [];
+  scale2 = scale2 || 1;
+  for (var i2 = 0; i2 < bezierArrayGroups.length; i2++) {
+    var beziers = bezierArrayGroups[i2];
+    var polygon2 = [];
+    var x0 = beziers[0];
+    var y0 = beziers[1];
+    polygon2.push(x0, y0);
+    for (var k2 = 2; k2 < beziers.length; ) {
+      var x1 = beziers[k2++];
+      var y1 = beziers[k2++];
+      var x2 = beziers[k2++];
+      var y2 = beziers[k2++];
+      var x3 = beziers[k2++];
+      var y3 = beziers[k2++];
+      adpativeBezier(x0, y0, x1, y1, x2, y2, x3, y3, polygon2, scale2);
+      x0 = x3;
+      y0 = y3;
+    }
+    polygons.push(polygon2);
+  }
+  return polygons;
+}
+function getDividingGrids(dimSize, rowDim, count2) {
+  var rowSize = dimSize[rowDim];
+  var columnSize = dimSize[1 - rowDim];
+  var ratio = Math.abs(rowSize / columnSize);
+  var rowCount = Math.ceil(Math.sqrt(ratio * count2));
+  var columnCount = Math.floor(count2 / rowCount);
+  if (columnCount === 0) {
+    columnCount = 1;
+    rowCount = count2;
+  }
+  var grids = [];
+  for (var i2 = 0; i2 < rowCount; i2++) {
+    grids.push(columnCount);
+  }
+  var currentCount = rowCount * columnCount;
+  var remained = count2 - currentCount;
+  if (remained > 0) {
+    for (var i2 = 0; i2 < remained; i2++) {
+      grids[i2 % rowCount] += 1;
+    }
+  }
+  return grids;
+}
+function divideSector(sectorShape, count2, outShapes) {
+  var r0 = sectorShape.r0;
+  var r2 = sectorShape.r;
+  var startAngle = sectorShape.startAngle;
+  var endAngle = sectorShape.endAngle;
+  var angle = Math.abs(endAngle - startAngle);
+  var arcLen = angle * r2;
+  var deltaR = r2 - r0;
+  var isAngleRow = arcLen > Math.abs(deltaR);
+  var grids = getDividingGrids([arcLen, deltaR], isAngleRow ? 0 : 1, count2);
+  var rowSize = (isAngleRow ? angle : deltaR) / grids.length;
+  for (var row = 0; row < grids.length; row++) {
+    var columnSize = (isAngleRow ? deltaR : angle) / grids[row];
+    for (var column = 0; column < grids[row]; column++) {
+      var newShape = {};
+      if (isAngleRow) {
+        newShape.startAngle = startAngle + rowSize * row;
+        newShape.endAngle = startAngle + rowSize * (row + 1);
+        newShape.r0 = r0 + columnSize * column;
+        newShape.r = r0 + columnSize * (column + 1);
+      } else {
+        newShape.startAngle = startAngle + columnSize * column;
+        newShape.endAngle = startAngle + columnSize * (column + 1);
+        newShape.r0 = r0 + rowSize * row;
+        newShape.r = r0 + rowSize * (row + 1);
+      }
+      newShape.clockwise = sectorShape.clockwise;
+      newShape.cx = sectorShape.cx;
+      newShape.cy = sectorShape.cy;
+      outShapes.push(newShape);
+    }
+  }
+}
+function divideRect(rectShape, count2, outShapes) {
+  var width = rectShape.width;
+  var height = rectShape.height;
+  var isHorizontalRow = width > height;
+  var grids = getDividingGrids([width, height], isHorizontalRow ? 0 : 1, count2);
+  var rowSizeDim = isHorizontalRow ? "width" : "height";
+  var columnSizeDim = isHorizontalRow ? "height" : "width";
+  var rowDim = isHorizontalRow ? "x" : "y";
+  var columnDim = isHorizontalRow ? "y" : "x";
+  var rowSize = rectShape[rowSizeDim] / grids.length;
+  for (var row = 0; row < grids.length; row++) {
+    var columnSize = rectShape[columnSizeDim] / grids[row];
+    for (var column = 0; column < grids[row]; column++) {
+      var newShape = {};
+      newShape[rowDim] = row * rowSize;
+      newShape[columnDim] = column * columnSize;
+      newShape[rowSizeDim] = rowSize;
+      newShape[columnSizeDim] = columnSize;
+      newShape.x += rectShape.x;
+      newShape.y += rectShape.y;
+      outShapes.push(newShape);
+    }
+  }
+}
+function crossProduct2d(x1, y1, x2, y2) {
+  return x1 * y2 - x2 * y1;
+}
+function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {
+  var mx = a2x - a1x;
+  var my = a2y - a1y;
+  var nx = b2x - b1x;
+  var ny = b2y - b1y;
+  var nmCrossProduct = crossProduct2d(nx, ny, mx, my);
+  if (Math.abs(nmCrossProduct) < 1e-6) {
+    return null;
+  }
+  var b1a1x = a1x - b1x;
+  var b1a1y = a1y - b1y;
+  var p2 = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;
+  if (p2 < 0 || p2 > 1) {
+    return null;
+  }
+  return new Point$1(p2 * mx + a1x, p2 * my + a1y);
+}
+function projPtOnLine(pt, lineA, lineB) {
+  var dir3 = new Point$1();
+  Point$1.sub(dir3, lineB, lineA);
+  dir3.normalize();
+  var dir22 = new Point$1();
+  Point$1.sub(dir22, pt, lineA);
+  var len2 = dir22.dot(dir3);
+  return len2;
+}
+function addToPoly(poly2, pt) {
+  var last = poly2[poly2.length - 1];
+  if (last && last[0] === pt[0] && last[1] === pt[1]) {
+    return;
+  }
+  poly2.push(pt);
+}
+function splitPolygonByLine(points2, lineA, lineB) {
+  var len2 = points2.length;
+  var intersections = [];
+  for (var i2 = 0; i2 < len2; i2++) {
+    var p0 = points2[i2];
+    var p1 = points2[(i2 + 1) % len2];
+    var intersectionPt = lineLineIntersect(p0[0], p0[1], p1[0], p1[1], lineA.x, lineA.y, lineB.x, lineB.y);
+    if (intersectionPt) {
+      intersections.push({
+        projPt: projPtOnLine(intersectionPt, lineA, lineB),
+        pt: intersectionPt,
+        idx: i2
+      });
+    }
+  }
+  if (intersections.length < 2) {
+    return [{ points: points2 }, { points: points2 }];
+  }
+  intersections.sort(function(a2, b2) {
+    return a2.projPt - b2.projPt;
+  });
+  var splitPt0 = intersections[0];
+  var splitPt1 = intersections[intersections.length - 1];
+  if (splitPt1.idx < splitPt0.idx) {
+    var tmp = splitPt0;
+    splitPt0 = splitPt1;
+    splitPt1 = tmp;
+  }
+  var splitPt0Arr = [splitPt0.pt.x, splitPt0.pt.y];
+  var splitPt1Arr = [splitPt1.pt.x, splitPt1.pt.y];
+  var newPolyA = [splitPt0Arr];
+  var newPolyB = [splitPt1Arr];
+  for (var i2 = splitPt0.idx + 1; i2 <= splitPt1.idx; i2++) {
+    addToPoly(newPolyA, points2[i2].slice());
+  }
+  addToPoly(newPolyA, splitPt1Arr);
+  addToPoly(newPolyA, splitPt0Arr);
+  for (var i2 = splitPt1.idx + 1; i2 <= splitPt0.idx + len2; i2++) {
+    addToPoly(newPolyB, points2[i2 % len2].slice());
+  }
+  addToPoly(newPolyB, splitPt0Arr);
+  addToPoly(newPolyB, splitPt1Arr);
+  return [{
+    points: newPolyA
+  }, {
+    points: newPolyB
+  }];
+}
+function binaryDividePolygon(polygonShape) {
+  var points2 = polygonShape.points;
+  var min3 = [];
+  var max3 = [];
+  fromPoints(points2, min3, max3);
+  var boundingRect = new BoundingRect$1(min3[0], min3[1], max3[0] - min3[0], max3[1] - min3[1]);
+  var width = boundingRect.width;
+  var height = boundingRect.height;
+  var x2 = boundingRect.x;
+  var y2 = boundingRect.y;
+  var pt02 = new Point$1();
+  var pt12 = new Point$1();
+  if (width > height) {
+    pt02.x = pt12.x = x2 + width / 2;
+    pt02.y = y2;
+    pt12.y = y2 + height;
+  } else {
+    pt02.y = pt12.y = y2 + height / 2;
+    pt02.x = x2;
+    pt12.x = x2 + width;
+  }
+  return splitPolygonByLine(points2, pt02, pt12);
+}
+function binaryDivideRecursive(divider, shape, count2, out2) {
+  if (count2 === 1) {
+    out2.push(shape);
+  } else {
+    var mid = Math.floor(count2 / 2);
+    var sub2 = divider(shape);
+    binaryDivideRecursive(divider, sub2[0], mid, out2);
+    binaryDivideRecursive(divider, sub2[1], count2 - mid, out2);
+  }
+  return out2;
+}
+function clone(path2, count2) {
+  var paths = [];
+  for (var i2 = 0; i2 < count2; i2++) {
+    paths.push(clonePath(path2));
+  }
+  return paths;
+}
+function copyPathProps(source2, target) {
+  target.setStyle(source2.style);
+  target.z = source2.z;
+  target.z2 = source2.z2;
+  target.zlevel = source2.zlevel;
+}
+function polygonConvert(points2) {
+  var out2 = [];
+  for (var i2 = 0; i2 < points2.length; ) {
+    out2.push([points2[i2++], points2[i2++]]);
+  }
+  return out2;
+}
+function split(path2, count2) {
+  var outShapes = [];
+  var shape = path2.shape;
+  var OutShapeCtor;
+  switch (path2.type) {
+    case "rect":
+      divideRect(shape, count2, outShapes);
+      OutShapeCtor = Rect$3;
+      break;
+    case "sector":
+      divideSector(shape, count2, outShapes);
+      OutShapeCtor = Sector$1;
+      break;
+    case "circle":
+      divideSector({
+        r0: 0,
+        r: shape.r,
+        startAngle: 0,
+        endAngle: Math.PI * 2,
+        cx: shape.cx,
+        cy: shape.cy
+      }, count2, outShapes);
+      OutShapeCtor = Sector$1;
+      break;
+    default:
+      var m2 = path2.getComputedTransform();
+      var scale2 = m2 ? Math.sqrt(Math.max(m2[0] * m2[0] + m2[1] * m2[1], m2[2] * m2[2] + m2[3] * m2[3])) : 1;
+      var polygons = map$1(pathToPolygons(path2.getUpdatedPathProxy(), scale2), function(poly2) {
+        return polygonConvert(poly2);
+      });
+      var polygonCount = polygons.length;
+      if (polygonCount === 0) {
+        binaryDivideRecursive(binaryDividePolygon, {
+          points: polygons[0]
+        }, count2, outShapes);
+      } else if (polygonCount === count2) {
+        for (var i2 = 0; i2 < polygonCount; i2++) {
+          outShapes.push({
+            points: polygons[i2]
+          });
+        }
+      } else {
+        var totalArea_1 = 0;
+        var items = map$1(polygons, function(poly2) {
+          var min3 = [];
+          var max3 = [];
+          fromPoints(poly2, min3, max3);
+          var area = (max3[1] - min3[1]) * (max3[0] - min3[0]);
+          totalArea_1 += area;
+          return { poly: poly2, area };
+        });
+        items.sort(function(a2, b2) {
+          return b2.area - a2.area;
+        });
+        var left = count2;
+        for (var i2 = 0; i2 < polygonCount; i2++) {
+          var item = items[i2];
+          if (left <= 0) {
+            break;
+          }
+          var selfCount = i2 === polygonCount - 1 ? left : Math.ceil(item.area / totalArea_1 * count2);
+          if (selfCount < 0) {
+            continue;
+          }
+          binaryDivideRecursive(binaryDividePolygon, {
+            points: item.poly
+          }, selfCount, outShapes);
+          left -= selfCount;
+        }
+      }
+      OutShapeCtor = Polygon$1;
+      break;
+  }
+  if (!OutShapeCtor) {
+    return clone(path2, count2);
+  }
+  var out2 = [];
+  for (var i2 = 0; i2 < outShapes.length; i2++) {
+    var subPath = new OutShapeCtor();
+    subPath.setShape(outShapes[i2]);
+    copyPathProps(path2, subPath);
+    out2.push(subPath);
+  }
+  return out2;
+}
+function alignSubpath(subpath1, subpath2) {
+  var len1 = subpath1.length;
+  var len2 = subpath2.length;
+  if (len1 === len2) {
+    return [subpath1, subpath2];
+  }
+  var tmpSegX = [];
+  var tmpSegY = [];
+  var shorterPath = len1 < len2 ? subpath1 : subpath2;
+  var shorterLen = Math.min(len1, len2);
+  var diff = Math.abs(len2 - len1) / 6;
+  var shorterBezierCount = (shorterLen - 2) / 6;
+  var eachCurveSubDivCount = Math.ceil(diff / shorterBezierCount) + 1;
+  var newSubpath = [shorterPath[0], shorterPath[1]];
+  var remained = diff;
+  for (var i2 = 2; i2 < shorterLen; ) {
+    var x0 = shorterPath[i2 - 2];
+    var y0 = shorterPath[i2 - 1];
+    var x1 = shorterPath[i2++];
+    var y1 = shorterPath[i2++];
+    var x2 = shorterPath[i2++];
+    var y2 = shorterPath[i2++];
+    var x3 = shorterPath[i2++];
+    var y3 = shorterPath[i2++];
+    if (remained <= 0) {
+      newSubpath.push(x1, y1, x2, y2, x3, y3);
+      continue;
+    }
+    var actualSubDivCount = Math.min(remained, eachCurveSubDivCount - 1) + 1;
+    for (var k2 = 1; k2 <= actualSubDivCount; k2++) {
+      var p2 = k2 / actualSubDivCount;
+      cubicSubdivide(x0, x1, x2, x3, p2, tmpSegX);
+      cubicSubdivide(y0, y1, y2, y3, p2, tmpSegY);
+      x0 = tmpSegX[3];
+      y0 = tmpSegY[3];
+      newSubpath.push(tmpSegX[1], tmpSegY[1], tmpSegX[2], tmpSegY[2], x0, y0);
+      x1 = tmpSegX[5];
+      y1 = tmpSegY[5];
+      x2 = tmpSegX[6];
+      y2 = tmpSegY[6];
+    }
+    remained -= actualSubDivCount - 1;
+  }
+  return shorterPath === subpath1 ? [newSubpath, subpath2] : [subpath1, newSubpath];
+}
+function createSubpath(lastSubpathSubpath, otherSubpath) {
+  var len2 = lastSubpathSubpath.length;
+  var lastX = lastSubpathSubpath[len2 - 2];
+  var lastY = lastSubpathSubpath[len2 - 1];
+  var newSubpath = [];
+  for (var i2 = 0; i2 < otherSubpath.length; ) {
+    newSubpath[i2++] = lastX;
+    newSubpath[i2++] = lastY;
+  }
+  return newSubpath;
+}
+function alignBezierCurves(array1, array2) {
+  var _a2;
+  var lastSubpath1;
+  var lastSubpath2;
+  var newArray1 = [];
+  var newArray2 = [];
+  for (var i2 = 0; i2 < Math.max(array1.length, array2.length); i2++) {
+    var subpath1 = array1[i2];
+    var subpath2 = array2[i2];
+    var newSubpath1 = void 0;
+    var newSubpath2 = void 0;
+    if (!subpath1) {
+      newSubpath1 = createSubpath(lastSubpath1 || subpath2, subpath2);
+      newSubpath2 = subpath2;
+    } else if (!subpath2) {
+      newSubpath2 = createSubpath(lastSubpath2 || subpath1, subpath1);
+      newSubpath1 = subpath1;
+    } else {
+      _a2 = alignSubpath(subpath1, subpath2), newSubpath1 = _a2[0], newSubpath2 = _a2[1];
+      lastSubpath1 = newSubpath1;
+      lastSubpath2 = newSubpath2;
+    }
+    newArray1.push(newSubpath1);
+    newArray2.push(newSubpath2);
+  }
+  return [newArray1, newArray2];
+}
+function centroid(array) {
+  var signedArea = 0;
+  var cx = 0;
+  var cy = 0;
+  var len2 = array.length;
+  for (var i2 = 0, j2 = len2 - 2; i2 < len2; j2 = i2, i2 += 2) {
+    var x0 = array[j2];
+    var y0 = array[j2 + 1];
+    var x1 = array[i2];
+    var y1 = array[i2 + 1];
+    var a2 = x0 * y1 - x1 * y0;
+    signedArea += a2;
+    cx += (x0 + x1) * a2;
+    cy += (y0 + y1) * a2;
+  }
+  if (signedArea === 0) {
+    return [array[0] || 0, array[1] || 0];
+  }
+  return [cx / signedArea / 3, cy / signedArea / 3, signedArea];
+}
+function findBestRingOffset(fromSubBeziers, toSubBeziers, fromCp, toCp) {
+  var bezierCount = (fromSubBeziers.length - 2) / 6;
+  var bestScore = Infinity;
+  var bestOffset = 0;
+  var len2 = fromSubBeziers.length;
+  var len22 = len2 - 2;
+  for (var offset2 = 0; offset2 < bezierCount; offset2++) {
+    var cursorOffset = offset2 * 6;
+    var score = 0;
+    for (var k2 = 0; k2 < len2; k2 += 2) {
+      var idx = k2 === 0 ? cursorOffset : (cursorOffset + k2 - 2) % len22 + 2;
+      var x0 = fromSubBeziers[idx] - fromCp[0];
+      var y0 = fromSubBeziers[idx + 1] - fromCp[1];
+      var x1 = toSubBeziers[k2] - toCp[0];
+      var y1 = toSubBeziers[k2 + 1] - toCp[1];
+      var dx = x1 - x0;
+      var dy = y1 - y0;
+      score += dx * dx + dy * dy;
+    }
+    if (score < bestScore) {
+      bestScore = score;
+      bestOffset = offset2;
+    }
+  }
+  return bestOffset;
+}
+function reverse(array) {
+  var newArr = [];
+  var len2 = array.length;
+  for (var i2 = 0; i2 < len2; i2 += 2) {
+    newArr[i2] = array[len2 - i2 - 2];
+    newArr[i2 + 1] = array[len2 - i2 - 1];
+  }
+  return newArr;
+}
+function findBestMorphingRotation(fromArr, toArr2, searchAngleIteration, searchAngleRange) {
+  var result2 = [];
+  var fromNeedsReverse;
+  for (var i2 = 0; i2 < fromArr.length; i2++) {
+    var fromSubpathBezier = fromArr[i2];
+    var toSubpathBezier = toArr2[i2];
+    var fromCp = centroid(fromSubpathBezier);
+    var toCp = centroid(toSubpathBezier);
+    if (fromNeedsReverse == null) {
+      fromNeedsReverse = fromCp[2] < 0 !== toCp[2] < 0;
+    }
+    var newFromSubpathBezier = [];
+    var newToSubpathBezier = [];
+    var bestAngle = 0;
+    var bestScore = Infinity;
+    var tmpArr2 = [];
+    var len2 = fromSubpathBezier.length;
+    if (fromNeedsReverse) {
+      fromSubpathBezier = reverse(fromSubpathBezier);
+    }
+    var offset2 = findBestRingOffset(fromSubpathBezier, toSubpathBezier, fromCp, toCp) * 6;
+    var len22 = len2 - 2;
+    for (var k2 = 0; k2 < len22; k2 += 2) {
+      var idx = (offset2 + k2) % len22 + 2;
+      newFromSubpathBezier[k2 + 2] = fromSubpathBezier[idx] - fromCp[0];
+      newFromSubpathBezier[k2 + 3] = fromSubpathBezier[idx + 1] - fromCp[1];
+    }
+    newFromSubpathBezier[0] = fromSubpathBezier[offset2] - fromCp[0];
+    newFromSubpathBezier[1] = fromSubpathBezier[offset2 + 1] - fromCp[1];
+    if (searchAngleIteration > 0) {
+      var step2 = searchAngleRange / searchAngleIteration;
+      for (var angle = -searchAngleRange / 2; angle <= searchAngleRange / 2; angle += step2) {
+        var sa = Math.sin(angle);
+        var ca = Math.cos(angle);
+        var score = 0;
+        for (var k2 = 0; k2 < fromSubpathBezier.length; k2 += 2) {
+          var x0 = newFromSubpathBezier[k2];
+          var y0 = newFromSubpathBezier[k2 + 1];
+          var x1 = toSubpathBezier[k2] - toCp[0];
+          var y1 = toSubpathBezier[k2 + 1] - toCp[1];
+          var newX1 = x1 * ca - y1 * sa;
+          var newY1 = x1 * sa + y1 * ca;
+          tmpArr2[k2] = newX1;
+          tmpArr2[k2 + 1] = newY1;
+          var dx = newX1 - x0;
+          var dy = newY1 - y0;
+          score += dx * dx + dy * dy;
+        }
+        if (score < bestScore) {
+          bestScore = score;
+          bestAngle = angle;
+          for (var m2 = 0; m2 < tmpArr2.length; m2++) {
+            newToSubpathBezier[m2] = tmpArr2[m2];
+          }
+        }
+      }
+    } else {
+      for (var i_1 = 0; i_1 < len2; i_1 += 2) {
+        newToSubpathBezier[i_1] = toSubpathBezier[i_1] - toCp[0];
+        newToSubpathBezier[i_1 + 1] = toSubpathBezier[i_1 + 1] - toCp[1];
+      }
+    }
+    result2.push({
+      from: newFromSubpathBezier,
+      to: newToSubpathBezier,
+      fromCp,
+      toCp,
+      rotation: -bestAngle
+    });
+  }
+  return result2;
+}
+function isCombineMorphing(path2) {
+  return path2.__isCombineMorphing;
+}
+var SAVED_METHOD_PREFIX = "__mOriginal_";
+function saveAndModifyMethod(obj2, methodName, modifiers2) {
+  var savedMethodName = SAVED_METHOD_PREFIX + methodName;
+  var originalMethod = obj2[savedMethodName] || obj2[methodName];
+  if (!obj2[savedMethodName]) {
+    obj2[savedMethodName] = obj2[methodName];
+  }
+  var replace = modifiers2.replace;
+  var after = modifiers2.after;
+  var before = modifiers2.before;
+  obj2[methodName] = function() {
+    var args = arguments;
+    var res;
+    before && before.apply(this, args);
+    if (replace) {
+      res = replace.apply(this, args);
+    } else {
+      res = originalMethod.apply(this, args);
+    }
+    after && after.apply(this, args);
+    return res;
+  };
+}
+function restoreMethod(obj2, methodName) {
+  var savedMethodName = SAVED_METHOD_PREFIX + methodName;
+  if (obj2[savedMethodName]) {
+    obj2[methodName] = obj2[savedMethodName];
+    obj2[savedMethodName] = null;
+  }
+}
+function applyTransformOnBeziers(bezierCurves, mm) {
+  for (var i2 = 0; i2 < bezierCurves.length; i2++) {
+    var subBeziers = bezierCurves[i2];
+    for (var k2 = 0; k2 < subBeziers.length; ) {
+      var x2 = subBeziers[k2];
+      var y2 = subBeziers[k2 + 1];
+      subBeziers[k2++] = mm[0] * x2 + mm[2] * y2 + mm[4];
+      subBeziers[k2++] = mm[1] * x2 + mm[3] * y2 + mm[5];
+    }
+  }
+}
+function prepareMorphPath(fromPath, toPath) {
+  var fromPathProxy = fromPath.getUpdatedPathProxy();
+  var toPathProxy = toPath.getUpdatedPathProxy();
+  var _a2 = alignBezierCurves(pathToBezierCurves(fromPathProxy), pathToBezierCurves(toPathProxy)), fromBezierCurves = _a2[0], toBezierCurves = _a2[1];
+  var fromPathTransform = fromPath.getComputedTransform();
+  var toPathTransform = toPath.getComputedTransform();
+  function updateIdentityTransform() {
+    this.transform = null;
+  }
+  fromPathTransform && applyTransformOnBeziers(fromBezierCurves, fromPathTransform);
+  toPathTransform && applyTransformOnBeziers(toBezierCurves, toPathTransform);
+  saveAndModifyMethod(toPath, "updateTransform", { replace: updateIdentityTransform });
+  toPath.transform = null;
+  var morphingData = findBestMorphingRotation(fromBezierCurves, toBezierCurves, 10, Math.PI);
+  var tmpArr2 = [];
+  saveAndModifyMethod(toPath, "buildPath", { replace: function(path2) {
+    var t2 = toPath.__morphT;
+    var onet = 1 - t2;
+    var newCp = [];
+    for (var i2 = 0; i2 < morphingData.length; i2++) {
+      var item = morphingData[i2];
+      var from = item.from;
+      var to = item.to;
+      var angle = item.rotation * t2;
+      var fromCp = item.fromCp;
+      var toCp = item.toCp;
+      var sa = Math.sin(angle);
+      var ca = Math.cos(angle);
+      lerp$1(newCp, fromCp, toCp, t2);
+      for (var m2 = 0; m2 < from.length; m2 += 2) {
+        var x0_1 = from[m2];
+        var y0_1 = from[m2 + 1];
+        var x1 = to[m2];
+        var y1 = to[m2 + 1];
+        var x2 = x0_1 * onet + x1 * t2;
+        var y2 = y0_1 * onet + y1 * t2;
+        tmpArr2[m2] = x2 * ca - y2 * sa + newCp[0];
+        tmpArr2[m2 + 1] = x2 * sa + y2 * ca + newCp[1];
+      }
+      var x0 = tmpArr2[0];
+      var y0 = tmpArr2[1];
+      path2.moveTo(x0, y0);
+      for (var m2 = 2; m2 < from.length; ) {
+        var x1 = tmpArr2[m2++];
+        var y1 = tmpArr2[m2++];
+        var x22 = tmpArr2[m2++];
+        var y22 = tmpArr2[m2++];
+        var x3 = tmpArr2[m2++];
+        var y3 = tmpArr2[m2++];
+        if (x0 === x1 && y0 === y1 && x22 === x3 && y22 === y3) {
+          path2.lineTo(x3, y3);
+        } else {
+          path2.bezierCurveTo(x1, y1, x22, y22, x3, y3);
+        }
+        x0 = x3;
+        y0 = y3;
+      }
+    }
+  } });
+}
+function morphPath(fromPath, toPath, animationOpts) {
+  if (!fromPath || !toPath) {
+    return toPath;
+  }
+  var oldDone = animationOpts.done;
+  var oldDuring = animationOpts.during;
+  prepareMorphPath(fromPath, toPath);
+  toPath.__morphT = 0;
+  function restoreToPath() {
+    restoreMethod(toPath, "buildPath");
+    restoreMethod(toPath, "updateTransform");
+    toPath.__morphT = -1;
+    toPath.createPathProxy();
+    toPath.dirtyShape();
+  }
+  toPath.animateTo({
+    __morphT: 1
+  }, defaults$2({
+    during: function(p2) {
+      toPath.dirtyShape();
+      oldDuring && oldDuring(p2);
+    },
+    done: function() {
+      restoreToPath();
+      oldDone && oldDone();
+    }
+  }, animationOpts));
+  return toPath;
+}
+function hilbert(x2, y2, minX, minY, maxX, maxY) {
+  var bits = 16;
+  x2 = maxX === minX ? 0 : Math.round(32767 * (x2 - minX) / (maxX - minX));
+  y2 = maxY === minY ? 0 : Math.round(32767 * (y2 - minY) / (maxY - minY));
+  var d2 = 0;
+  var tmp;
+  for (var s2 = (1 << bits) / 2; s2 > 0; s2 /= 2) {
+    var rx = 0;
+    var ry = 0;
+    if ((x2 & s2) > 0) {
+      rx = 1;
+    }
+    if ((y2 & s2) > 0) {
+      ry = 1;
+    }
+    d2 += s2 * s2 * (3 * rx ^ ry);
+    if (ry === 0) {
+      if (rx === 1) {
+        x2 = s2 - 1 - x2;
+        y2 = s2 - 1 - y2;
+      }
+      tmp = x2;
+      x2 = y2;
+      y2 = tmp;
+    }
+  }
+  return d2;
+}
+function sortPaths(pathList) {
+  var xMin = Infinity;
+  var yMin = Infinity;
+  var xMax = -Infinity;
+  var yMax = -Infinity;
+  var cps = map$1(pathList, function(path2) {
+    var rect = path2.getBoundingRect();
+    var m2 = path2.getComputedTransform();
+    var x2 = rect.x + rect.width / 2 + (m2 ? m2[4] : 0);
+    var y2 = rect.y + rect.height / 2 + (m2 ? m2[5] : 0);
+    xMin = Math.min(x2, xMin);
+    yMin = Math.min(y2, yMin);
+    xMax = Math.max(x2, xMax);
+    yMax = Math.max(y2, yMax);
+    return [x2, y2];
+  });
+  var items = map$1(cps, function(cp, idx) {
+    return {
+      cp,
+      z: hilbert(cp[0], cp[1], xMin, yMin, xMax, yMax),
+      path: pathList[idx]
+    };
+  });
+  return items.sort(function(a2, b2) {
+    return a2.z - b2.z;
+  }).map(function(item) {
+    return item.path;
+  });
+}
+function defaultDividePath(param2) {
+  return split(param2.path, param2.count);
+}
+function createEmptyReturn() {
+  return {
+    fromIndividuals: [],
+    toIndividuals: [],
+    count: 0
+  };
+}
+function combineMorph(fromList, toPath, animationOpts) {
+  var fromPathList = [];
+  function addFromPath(fromList2) {
+    for (var i3 = 0; i3 < fromList2.length; i3++) {
+      var from2 = fromList2[i3];
+      if (isCombineMorphing(from2)) {
+        addFromPath(from2.childrenRef());
+      } else if (from2 instanceof Path$1) {
+        fromPathList.push(from2);
+      }
+    }
+  }
+  addFromPath(fromList);
+  var separateCount = fromPathList.length;
+  if (!separateCount) {
+    return createEmptyReturn();
+  }
+  var dividePath = animationOpts.dividePath || defaultDividePath;
+  var toSubPathList = dividePath({
+    path: toPath,
+    count: separateCount
+  });
+  if (toSubPathList.length !== separateCount) {
+    console.error("Invalid morphing: unmatched splitted path");
+    return createEmptyReturn();
+  }
+  fromPathList = sortPaths(fromPathList);
+  toSubPathList = sortPaths(toSubPathList);
+  var oldDone = animationOpts.done;
+  var oldDuring = animationOpts.during;
+  var individualDelay = animationOpts.individualDelay;
+  var identityTransform = new Transformable$1();
+  for (var i2 = 0; i2 < separateCount; i2++) {
+    var from = fromPathList[i2];
+    var to = toSubPathList[i2];
+    to.parent = toPath;
+    to.copyTransform(identityTransform);
+    if (!individualDelay) {
+      prepareMorphPath(from, to);
+    }
+  }
+  toPath.__isCombineMorphing = true;
+  toPath.childrenRef = function() {
+    return toSubPathList;
+  };
+  function addToSubPathListToZr(zr) {
+    for (var i3 = 0; i3 < toSubPathList.length; i3++) {
+      toSubPathList[i3].addSelfToZr(zr);
+    }
+  }
+  saveAndModifyMethod(toPath, "addSelfToZr", {
+    after: function(zr) {
+      addToSubPathListToZr(zr);
+    }
+  });
+  saveAndModifyMethod(toPath, "removeSelfFromZr", {
+    after: function(zr) {
+      for (var i3 = 0; i3 < toSubPathList.length; i3++) {
+        toSubPathList[i3].removeSelfFromZr(zr);
+      }
+    }
+  });
+  function restoreToPath() {
+    toPath.__isCombineMorphing = false;
+    toPath.__morphT = -1;
+    toPath.childrenRef = null;
+    restoreMethod(toPath, "addSelfToZr");
+    restoreMethod(toPath, "removeSelfFromZr");
+  }
+  var toLen = toSubPathList.length;
+  if (individualDelay) {
+    var animating_1 = toLen;
+    var eachDone = function() {
+      animating_1--;
+      if (animating_1 === 0) {
+        restoreToPath();
+        oldDone && oldDone();
+      }
+    };
+    for (var i2 = 0; i2 < toLen; i2++) {
+      var indivdualAnimationOpts = individualDelay ? defaults$2({
+        delay: (animationOpts.delay || 0) + individualDelay(i2, toLen, fromPathList[i2], toSubPathList[i2]),
+        done: eachDone
+      }, animationOpts) : animationOpts;
+      morphPath(fromPathList[i2], toSubPathList[i2], indivdualAnimationOpts);
+    }
+  } else {
+    toPath.__morphT = 0;
+    toPath.animateTo({
+      __morphT: 1
+    }, defaults$2({
+      during: function(p2) {
+        for (var i3 = 0; i3 < toLen; i3++) {
+          var child = toSubPathList[i3];
+          child.__morphT = toPath.__morphT;
+          child.dirtyShape();
+        }
+        oldDuring && oldDuring(p2);
+      },
+      done: function() {
+        restoreToPath();
+        for (var i3 = 0; i3 < fromList.length; i3++) {
+          restoreMethod(fromList[i3], "updateTransform");
+        }
+        oldDone && oldDone();
+      }
+    }, animationOpts));
+  }
+  if (toPath.__zr) {
+    addToSubPathListToZr(toPath.__zr);
+  }
+  return {
+    fromIndividuals: fromPathList,
+    toIndividuals: toSubPathList,
+    count: toLen
+  };
+}
+function separateMorph(fromPath, toPathList, animationOpts) {
+  var toLen = toPathList.length;
+  var fromPathList = [];
+  var dividePath = animationOpts.dividePath || defaultDividePath;
+  function addFromPath(fromList) {
+    for (var i3 = 0; i3 < fromList.length; i3++) {
+      var from = fromList[i3];
+      if (isCombineMorphing(from)) {
+        addFromPath(from.childrenRef());
+      } else if (from instanceof Path$1) {
+        fromPathList.push(from);
+      }
+    }
+  }
+  if (isCombineMorphing(fromPath)) {
+    addFromPath(fromPath.childrenRef());
+    var fromLen = fromPathList.length;
+    if (fromLen < toLen) {
+      var k2 = 0;
+      for (var i2 = fromLen; i2 < toLen; i2++) {
+        fromPathList.push(clonePath(fromPathList[k2++ % fromLen]));
+      }
+    }
+    fromPathList.length = toLen;
+  } else {
+    fromPathList = dividePath({ path: fromPath, count: toLen });
+    var fromPathTransform = fromPath.getComputedTransform();
+    for (var i2 = 0; i2 < fromPathList.length; i2++) {
+      fromPathList[i2].setLocalTransform(fromPathTransform);
+    }
+    if (fromPathList.length !== toLen) {
+      console.error("Invalid morphing: unmatched splitted path");
+      return createEmptyReturn();
+    }
+  }
+  fromPathList = sortPaths(fromPathList);
+  toPathList = sortPaths(toPathList);
+  var individualDelay = animationOpts.individualDelay;
+  for (var i2 = 0; i2 < toLen; i2++) {
+    var indivdualAnimationOpts = individualDelay ? defaults$2({
+      delay: (animationOpts.delay || 0) + individualDelay(i2, toLen, fromPathList[i2], toPathList[i2])
+    }, animationOpts) : animationOpts;
+    morphPath(fromPathList[i2], toPathList[i2], indivdualAnimationOpts);
+  }
+  return {
+    fromIndividuals: fromPathList,
+    toIndividuals: toPathList,
+    count: toPathList.length
+  };
+}
+function isMultiple(elements) {
+  return isArray$2(elements[0]);
+}
+function prepareMorphBatches(one, many) {
+  var batches = [];
+  var batchCount = one.length;
+  for (var i2 = 0; i2 < batchCount; i2++) {
+    batches.push({
+      one: one[i2],
+      many: []
+    });
+  }
+  for (var i2 = 0; i2 < many.length; i2++) {
+    var len2 = many[i2].length;
+    var k2 = void 0;
+    for (k2 = 0; k2 < len2; k2++) {
+      batches[k2 % batchCount].many.push(many[i2][k2]);
+    }
+  }
+  var off2 = 0;
+  for (var i2 = batchCount - 1; i2 >= 0; i2--) {
+    if (!batches[i2].many.length) {
+      var moveFrom = batches[off2].many;
+      if (moveFrom.length <= 1) {
+        if (off2) {
+          off2 = 0;
+        } else {
+          return batches;
+        }
+      }
+      var len2 = moveFrom.length;
+      var mid = Math.ceil(len2 / 2);
+      batches[i2].many = moveFrom.slice(mid, len2);
+      batches[off2].many = moveFrom.slice(0, mid);
+      off2++;
+    }
+  }
+  return batches;
+}
+var pathDividers = {
+  clone: function(params2) {
+    var ret = [];
+    var approxOpacity = 1 - Math.pow(1 - params2.path.style.opacity, 1 / params2.count);
+    for (var i2 = 0; i2 < params2.count; i2++) {
+      var cloned = clonePath(params2.path);
+      cloned.setStyle("opacity", approxOpacity);
+      ret.push(cloned);
+    }
+    return ret;
+  },
+  // Use the default divider
+  split: null
+};
+function applyMorphAnimation(from, to, divideShape, seriesModel, dataIndex, animateOtherProps) {
+  if (!from.length || !to.length) {
+    return;
+  }
+  var updateAnimationCfg = getAnimationConfig("update", seriesModel, dataIndex);
+  if (!(updateAnimationCfg && updateAnimationCfg.duration > 0)) {
+    return;
+  }
+  var animationDelay = seriesModel.getModel("universalTransition").get("delay");
+  var animationCfg = Object.assign({
+    // Need to setToFinal so the further calculation based on the style can be correct.
+    // Like emphasis color.
+    setToFinal: true
+  }, updateAnimationCfg);
+  var many;
+  var one;
+  if (isMultiple(from)) {
+    many = from;
+    one = to;
+  }
+  if (isMultiple(to)) {
+    many = to;
+    one = from;
+  }
+  function morphOneBatch(batch, fromIsMany2, animateIndex2, animateCount2, forceManyOne) {
+    var batchMany = batch.many;
+    var batchOne = batch.one;
+    if (batchMany.length === 1 && !forceManyOne) {
+      var batchFrom = fromIsMany2 ? batchMany[0] : batchOne;
+      var batchTo = fromIsMany2 ? batchOne : batchMany[0];
+      if (isCombineMorphing(batchFrom)) {
+        morphOneBatch({
+          many: [batchFrom],
+          one: batchTo
+        }, true, animateIndex2, animateCount2, true);
+      } else {
+        var individualAnimationCfg = animationDelay ? defaults$2({
+          delay: animationDelay(animateIndex2, animateCount2)
+        }, animationCfg) : animationCfg;
+        morphPath(batchFrom, batchTo, individualAnimationCfg);
+        animateOtherProps(batchFrom, batchTo, batchFrom, batchTo, individualAnimationCfg);
+      }
+    } else {
+      var separateAnimationCfg = defaults$2({
+        dividePath: pathDividers[divideShape],
+        individualDelay: animationDelay && function(idx, count3, fromPath, toPath) {
+          return animationDelay(idx + animateIndex2, animateCount2);
+        }
+      }, animationCfg);
+      var _a2 = fromIsMany2 ? combineMorph(batchMany, batchOne, separateAnimationCfg) : separateMorph(batchOne, batchMany, separateAnimationCfg), fromIndividuals = _a2.fromIndividuals, toIndividuals = _a2.toIndividuals;
+      var count2 = fromIndividuals.length;
+      for (var k2 = 0; k2 < count2; k2++) {
+        var individualAnimationCfg = animationDelay ? defaults$2({
+          delay: animationDelay(k2, count2)
+        }, animationCfg) : animationCfg;
+        animateOtherProps(fromIndividuals[k2], toIndividuals[k2], fromIsMany2 ? batchMany[k2] : batch.one, fromIsMany2 ? batch.one : batchMany[k2], individualAnimationCfg);
+      }
+    }
+  }
+  var fromIsMany = many ? many === from : from.length > to.length;
+  var morphBatches = many ? prepareMorphBatches(one, many) : prepareMorphBatches(fromIsMany ? to : from, [fromIsMany ? from : to]);
+  var animateCount = 0;
+  for (var i2 = 0; i2 < morphBatches.length; i2++) {
+    animateCount += morphBatches[i2].many.length;
+  }
+  var animateIndex = 0;
+  for (var i2 = 0; i2 < morphBatches.length; i2++) {
+    morphOneBatch(morphBatches[i2], fromIsMany, animateIndex, animateCount);
+    animateIndex += morphBatches[i2].many.length;
+  }
+}
+function getPathList(elements) {
+  if (!elements) {
+    return [];
+  }
+  if (isArray$2(elements)) {
+    var pathList_1 = [];
+    for (var i2 = 0; i2 < elements.length; i2++) {
+      pathList_1.push(getPathList(elements[i2]));
+    }
+    return pathList_1;
+  }
+  var pathList = [];
+  elements.traverse(function(el) {
+    if (el instanceof Path$1 && !el.disableMorphing && !el.invisible && !el.ignore) {
+      pathList.push(el);
+    }
+  });
+  return pathList;
+}
+var DATA_COUNT_THRESHOLD = 1e4;
+var getUniversalTransitionGlobalStore = makeInner();
+function getGroupIdDimension(data2) {
+  var dimensions = data2.dimensions;
+  for (var i2 = 0; i2 < dimensions.length; i2++) {
+    var dimInfo = data2.getDimensionInfo(dimensions[i2]);
+    if (dimInfo && dimInfo.otherDims.itemGroupId === 0) {
+      return dimensions[i2];
+    }
+  }
+}
+function flattenDataDiffItems(list2) {
+  var items = [];
+  each$f(list2, function(seriesInfo) {
+    var data2 = seriesInfo.data;
+    if (data2.count() > DATA_COUNT_THRESHOLD) {
+      return;
+    }
+    var indices = data2.getIndices();
+    var groupDim = getGroupIdDimension(data2);
+    for (var dataIndex = 0; dataIndex < indices.length; dataIndex++) {
+      items.push({
+        dataGroupId: seriesInfo.dataGroupId,
+        data: data2,
+        dim: seriesInfo.dim || groupDim,
+        divide: seriesInfo.divide,
+        dataIndex
+      });
+    }
+  });
+  return items;
+}
+function fadeInElement(newEl2, newSeries, newIndex) {
+  newEl2.traverse(function(el) {
+    if (el instanceof Path$1) {
+      initProps(el, {
+        style: {
+          opacity: 0
+        }
+      }, newSeries, {
+        dataIndex: newIndex,
+        isFrom: true
+      });
+    }
+  });
+}
+function removeEl(el) {
+  if (el.parent) {
+    var computedTransform = el.getComputedTransform();
+    el.setLocalTransform(computedTransform);
+    el.parent.remove(el);
+  }
+}
+function stopAnimation(el) {
+  el.stopAnimation();
+  if (el.isGroup) {
+    el.traverse(function(child) {
+      child.stopAnimation();
+    });
+  }
+}
+function animateElementStyles(el, dataIndex, seriesModel) {
+  var animationConfig = getAnimationConfig("update", seriesModel, dataIndex);
+  animationConfig && el.traverse(function(child) {
+    if (child instanceof Displayable$1) {
+      var oldStyle = getOldStyle(child);
+      if (oldStyle) {
+        child.animateFrom({
+          style: oldStyle
+        }, animationConfig);
+      }
+    }
+  });
+}
+function isAllIdSame(oldDiffItems, newDiffItems) {
+  var len2 = oldDiffItems.length;
+  if (len2 !== newDiffItems.length) {
+    return false;
+  }
+  for (var i2 = 0; i2 < len2; i2++) {
+    var oldItem = oldDiffItems[i2];
+    var newItem = newDiffItems[i2];
+    if (oldItem.data.getId(oldItem.dataIndex) !== newItem.data.getId(newItem.dataIndex)) {
+      return false;
+    }
+  }
+  return true;
+}
+function transitionBetween(oldList, newList, api2) {
+  var oldDiffItems = flattenDataDiffItems(oldList);
+  var newDiffItems = flattenDataDiffItems(newList);
+  function updateMorphingPathProps(from, to, rawFrom, rawTo, animationCfg) {
+    if (rawFrom || from) {
+      to.animateFrom({
+        style: rawFrom && rawFrom !== from ? (
+          // dividingMethod like clone may override the style(opacity)
+          // So extend it to raw style.
+          extend$1(extend$1({}, rawFrom.style), from.style)
+        ) : from.style
+      }, animationCfg);
+    }
+  }
+  function findKeyDim(items) {
+    for (var i3 = 0; i3 < items.length; i3++) {
+      if (items[i3].dim) {
+        return items[i3].dim;
+      }
+    }
+  }
+  var oldKeyDim = findKeyDim(oldDiffItems);
+  var newKeyDim = findKeyDim(newDiffItems);
+  var hasMorphAnimation = false;
+  function createKeyGetter(isOld, onlyGetId) {
+    return function(diffItem) {
+      var data2 = diffItem.data;
+      var dataIndex = diffItem.dataIndex;
+      if (onlyGetId) {
+        return data2.getId(dataIndex);
+      }
+      var dataGroupId = diffItem.dataGroupId;
+      var keyDim = isOld ? oldKeyDim || newKeyDim : newKeyDim || oldKeyDim;
+      var dimInfo = keyDim && data2.getDimensionInfo(keyDim);
+      var dimOrdinalMeta = dimInfo && dimInfo.ordinalMeta;
+      if (dimInfo) {
+        var key2 = data2.get(dimInfo.name, dataIndex);
+        if (dimOrdinalMeta) {
+          return dimOrdinalMeta.categories[key2] || key2 + "";
+        }
+        return key2 + "";
+      }
+      var itemVal = data2.getRawDataItem(dataIndex);
+      if (itemVal && itemVal.groupId) {
+        return itemVal.groupId + "";
+      }
+      return dataGroupId || data2.getId(dataIndex);
+    };
+  }
+  var useId = isAllIdSame(oldDiffItems, newDiffItems);
+  var isElementStillInChart = {};
+  if (!useId) {
+    for (var i2 = 0; i2 < newDiffItems.length; i2++) {
+      var newItem = newDiffItems[i2];
+      var el = newItem.data.getItemGraphicEl(newItem.dataIndex);
+      if (el) {
+        isElementStillInChart[el.id] = true;
+      }
+    }
+  }
+  function updateOneToOne(newIndex, oldIndex) {
+    var oldItem = oldDiffItems[oldIndex];
+    var newItem2 = newDiffItems[newIndex];
+    var newSeries = newItem2.data.hostModel;
+    var oldEl = oldItem.data.getItemGraphicEl(oldItem.dataIndex);
+    var newEl2 = newItem2.data.getItemGraphicEl(newItem2.dataIndex);
+    if (oldEl === newEl2) {
+      newEl2 && animateElementStyles(newEl2, newItem2.dataIndex, newSeries);
+      return;
+    }
+    if (
+      // We can't use the elements that already being morphed
+      oldEl && isElementStillInChart[oldEl.id]
+    ) {
+      return;
+    }
+    if (newEl2) {
+      stopAnimation(newEl2);
+      if (oldEl) {
+        stopAnimation(oldEl);
+        removeEl(oldEl);
+        hasMorphAnimation = true;
+        applyMorphAnimation(getPathList(oldEl), getPathList(newEl2), newItem2.divide, newSeries, newIndex, updateMorphingPathProps);
+      } else {
+        fadeInElement(newEl2, newSeries, newIndex);
+      }
+    }
+  }
+  new DataDiffer$1(oldDiffItems, newDiffItems, createKeyGetter(true, useId), createKeyGetter(false, useId), null, "multiple").update(updateOneToOne).updateManyToOne(function(newIndex, oldIndices) {
+    var newItem2 = newDiffItems[newIndex];
+    var newData = newItem2.data;
+    var newSeries = newData.hostModel;
+    var newEl2 = newData.getItemGraphicEl(newItem2.dataIndex);
+    var oldElsList = filter(map$1(oldIndices, function(idx) {
+      return oldDiffItems[idx].data.getItemGraphicEl(oldDiffItems[idx].dataIndex);
+    }), function(oldEl) {
+      return oldEl && oldEl !== newEl2 && !isElementStillInChart[oldEl.id];
+    });
+    if (newEl2) {
+      stopAnimation(newEl2);
+      if (oldElsList.length) {
+        each$f(oldElsList, function(oldEl) {
+          stopAnimation(oldEl);
+          removeEl(oldEl);
+        });
+        hasMorphAnimation = true;
+        applyMorphAnimation(getPathList(oldElsList), getPathList(newEl2), newItem2.divide, newSeries, newIndex, updateMorphingPathProps);
+      } else {
+        fadeInElement(newEl2, newSeries, newItem2.dataIndex);
+      }
+    }
+  }).updateOneToMany(function(newIndices, oldIndex) {
+    var oldItem = oldDiffItems[oldIndex];
+    var oldEl = oldItem.data.getItemGraphicEl(oldItem.dataIndex);
+    if (oldEl && isElementStillInChart[oldEl.id]) {
+      return;
+    }
+    var newElsList = filter(map$1(newIndices, function(idx) {
+      return newDiffItems[idx].data.getItemGraphicEl(newDiffItems[idx].dataIndex);
+    }), function(el2) {
+      return el2 && el2 !== oldEl;
+    });
+    var newSeris = newDiffItems[newIndices[0]].data.hostModel;
+    if (newElsList.length) {
+      each$f(newElsList, function(newEl2) {
+        return stopAnimation(newEl2);
+      });
+      if (oldEl) {
+        stopAnimation(oldEl);
+        removeEl(oldEl);
+        hasMorphAnimation = true;
+        applyMorphAnimation(
+          getPathList(oldEl),
+          getPathList(newElsList),
+          oldItem.divide,
+          // Use divide on old.
+          newSeris,
+          newIndices[0],
+          updateMorphingPathProps
+        );
+      } else {
+        each$f(newElsList, function(newEl2) {
+          return fadeInElement(newEl2, newSeris, newIndices[0]);
+        });
+      }
+    }
+  }).updateManyToMany(function(newIndices, oldIndices) {
+    new DataDiffer$1(oldIndices, newIndices, function(rawIdx) {
+      return oldDiffItems[rawIdx].data.getId(oldDiffItems[rawIdx].dataIndex);
+    }, function(rawIdx) {
+      return newDiffItems[rawIdx].data.getId(newDiffItems[rawIdx].dataIndex);
+    }).update(function(newIndex, oldIndex) {
+      updateOneToOne(newIndices[newIndex], oldIndices[oldIndex]);
+    }).execute();
+  }).execute();
+  if (hasMorphAnimation) {
+    each$f(newList, function(_a2) {
+      var data2 = _a2.data;
+      var seriesModel = data2.hostModel;
+      var view = seriesModel && api2.getViewOfSeriesModel(seriesModel);
+      var animationCfg = getAnimationConfig("update", seriesModel, 0);
+      if (view && seriesModel.isAnimationEnabled() && animationCfg && animationCfg.duration > 0) {
+        view.group.traverse(function(el2) {
+          if (el2 instanceof Path$1 && !el2.animators.length) {
+            el2.animateFrom({
+              style: {
+                opacity: 0
+              }
+            }, animationCfg);
+          }
+        });
+      }
+    });
+  }
+}
+function getSeriesTransitionKey(series) {
+  var seriesKey = series.getModel("universalTransition").get("seriesKey");
+  if (!seriesKey) {
+    return series.id;
+  }
+  return seriesKey;
+}
+function convertArraySeriesKeyToString(seriesKey) {
+  if (isArray$2(seriesKey)) {
+    return seriesKey.sort().join(",");
+  }
+  return seriesKey;
+}
+function getDivideShapeFromData(data2) {
+  if (data2.hostModel) {
+    return data2.hostModel.getModel("universalTransition").get("divideShape");
+  }
+}
+function findTransitionSeriesBatches(globalStore, params2) {
+  var updateBatches = createHashMap();
+  var oldDataMap = createHashMap();
+  var oldDataMapForSplit = createHashMap();
+  each$f(globalStore.oldSeries, function(series, idx) {
+    var oldDataGroupId = globalStore.oldDataGroupIds[idx];
+    var oldData = globalStore.oldData[idx];
+    var transitionKey = getSeriesTransitionKey(series);
+    var transitionKeyStr = convertArraySeriesKeyToString(transitionKey);
+    oldDataMap.set(transitionKeyStr, {
+      dataGroupId: oldDataGroupId,
+      data: oldData
+    });
+    if (isArray$2(transitionKey)) {
+      each$f(transitionKey, function(key2) {
+        oldDataMapForSplit.set(key2, {
+          key: transitionKeyStr,
+          dataGroupId: oldDataGroupId,
+          data: oldData
+        });
+      });
+    }
+  });
+  each$f(params2.updatedSeries, function(series) {
+    if (series.isUniversalTransitionEnabled() && series.isAnimationEnabled()) {
+      var newDataGroupId = series.get("dataGroupId");
+      var newData = series.getData();
+      var transitionKey = getSeriesTransitionKey(series);
+      var transitionKeyStr = convertArraySeriesKeyToString(transitionKey);
+      var oldData = oldDataMap.get(transitionKeyStr);
+      if (oldData) {
+        updateBatches.set(transitionKeyStr, {
+          oldSeries: [{
+            dataGroupId: oldData.dataGroupId,
+            divide: getDivideShapeFromData(oldData.data),
+            data: oldData.data
+          }],
+          newSeries: [{
+            dataGroupId: newDataGroupId,
+            divide: getDivideShapeFromData(newData),
+            data: newData
+          }]
+        });
+      } else {
+        if (isArray$2(transitionKey)) {
+          var oldSeries_1 = [];
+          each$f(transitionKey, function(key2) {
+            var oldData2 = oldDataMap.get(key2);
+            if (oldData2.data) {
+              oldSeries_1.push({
+                dataGroupId: oldData2.dataGroupId,
+                divide: getDivideShapeFromData(oldData2.data),
+                data: oldData2.data
+              });
+            }
+          });
+          if (oldSeries_1.length) {
+            updateBatches.set(transitionKeyStr, {
+              oldSeries: oldSeries_1,
+              newSeries: [{
+                dataGroupId: newDataGroupId,
+                data: newData,
+                divide: getDivideShapeFromData(newData)
+              }]
+            });
+          }
+        } else {
+          var oldData_1 = oldDataMapForSplit.get(transitionKey);
+          if (oldData_1) {
+            var batch = updateBatches.get(oldData_1.key);
+            if (!batch) {
+              batch = {
+                oldSeries: [{
+                  dataGroupId: oldData_1.dataGroupId,
+                  data: oldData_1.data,
+                  divide: getDivideShapeFromData(oldData_1.data)
+                }],
+                newSeries: []
+              };
+              updateBatches.set(oldData_1.key, batch);
+            }
+            batch.newSeries.push({
+              dataGroupId: newDataGroupId,
+              data: newData,
+              divide: getDivideShapeFromData(newData)
+            });
+          }
+        }
+      }
+    }
+  });
+  return updateBatches;
+}
+function querySeries(series, finder) {
+  for (var i2 = 0; i2 < series.length; i2++) {
+    var found = finder.seriesIndex != null && finder.seriesIndex === series[i2].seriesIndex || finder.seriesId != null && finder.seriesId === series[i2].id;
+    if (found) {
+      return i2;
+    }
+  }
+}
+function transitionSeriesFromOpt(transitionOpt, globalStore, params2, api2) {
+  var from = [];
+  var to = [];
+  each$f(normalizeToArray(transitionOpt.from), function(finder) {
+    var idx = querySeries(globalStore.oldSeries, finder);
+    if (idx >= 0) {
+      from.push({
+        dataGroupId: globalStore.oldDataGroupIds[idx],
+        data: globalStore.oldData[idx],
+        // TODO can specify divideShape in transition.
+        divide: getDivideShapeFromData(globalStore.oldData[idx]),
+        dim: finder.dimension
+      });
+    }
+  });
+  each$f(normalizeToArray(transitionOpt.to), function(finder) {
+    var idx = querySeries(params2.updatedSeries, finder);
+    if (idx >= 0) {
+      var data2 = params2.updatedSeries[idx].getData();
+      to.push({
+        dataGroupId: globalStore.oldDataGroupIds[idx],
+        data: data2,
+        divide: getDivideShapeFromData(data2),
+        dim: finder.dimension
+      });
+    }
+  });
+  if (from.length > 0 && to.length > 0) {
+    transitionBetween(from, to, api2);
+  }
+}
+function installUniversalTransition(registers) {
+  registers.registerUpdateLifecycle("series:beforeupdate", function(ecMOdel, api2, params2) {
+    each$f(normalizeToArray(params2.seriesTransition), function(transOpt) {
+      each$f(normalizeToArray(transOpt.to), function(finder) {
+        var series = params2.updatedSeries;
+        for (var i2 = 0; i2 < series.length; i2++) {
+          if (finder.seriesIndex != null && finder.seriesIndex === series[i2].seriesIndex || finder.seriesId != null && finder.seriesId === series[i2].id) {
+            series[i2][SERIES_UNIVERSAL_TRANSITION_PROP] = true;
+          }
+        }
+      });
+    });
+  });
+  registers.registerUpdateLifecycle("series:transition", function(ecModel, api2, params2) {
+    var globalStore = getUniversalTransitionGlobalStore(api2);
+    if (globalStore.oldSeries && params2.updatedSeries && params2.optionChanged) {
+      var transitionOpt = params2.seriesTransition;
+      if (transitionOpt) {
+        each$f(normalizeToArray(transitionOpt), function(opt) {
+          transitionSeriesFromOpt(opt, globalStore, params2, api2);
+        });
+      } else {
+        var updateBatches_1 = findTransitionSeriesBatches(globalStore, params2);
+        each$f(updateBatches_1.keys(), function(key2) {
+          var batch = updateBatches_1.get(key2);
+          transitionBetween(batch.oldSeries, batch.newSeries, api2);
+        });
+      }
+      each$f(params2.updatedSeries, function(series) {
+        if (series[SERIES_UNIVERSAL_TRANSITION_PROP]) {
+          series[SERIES_UNIVERSAL_TRANSITION_PROP] = false;
+        }
+      });
+    }
+    var allSeries = ecModel.getSeries();
+    var savedSeries = globalStore.oldSeries = [];
+    var savedDataGroupIds = globalStore.oldDataGroupIds = [];
+    var savedData = globalStore.oldData = [];
+    for (var i2 = 0; i2 < allSeries.length; i2++) {
+      var data2 = allSeries[i2].getData();
+      if (data2.count() < DATA_COUNT_THRESHOLD) {
+        savedSeries.push(allSeries[i2]);
+        savedDataGroupIds.push(allSeries[i2].get("dataGroupId"));
+        savedData.push(data2);
+      }
+    }
+  });
+}
+use([install$R]);
+use([install$S]);
+use([install$Q, install$P, install$O, install$M, install$K, install$I, install$H, install$G, install$F, install$E, install$D, install$B, install$A, install$z, install$y, install$x, install$w, install$v, install$u, install$t, install$s, install$r]);
+use(install$p);
+use(install$o);
+use(install$J);
+use(install$n);
+use(install$C);
+use(install$m);
+use(install$l);
+use(install$j);
+use(install$i);
+use(install$q);
+use(install$h);
+use(install$g);
+use(install$f);
+use(install$e);
+use(install$d);
+use(install$c);
+use(install$9);
+use(install$6);
+use(install$8);
+use(install$7);
+use(install$3);
+use(install$5);
+use(install$4);
+use(install$2);
+use(install$1);
+use(install);
+use(installUniversalTransition);
+use(installLabelLayout);
+const echarts = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  Axis: Axis$1,
+  ChartView: ChartView$1,
+  ComponentModel: ComponentModel$1,
+  ComponentView: ComponentView$1,
+  List: SeriesData$1,
+  Model: Model$1,
+  PRIORITY,
+  SeriesModel: SeriesModel$1,
+  color,
+  connect,
+  dataTool,
+  dependencies,
+  disConnect,
+  disconnect,
+  dispose,
+  env: env$1,
+  extendChartView,
+  extendComponentModel,
+  extendComponentView,
+  extendSeriesModel,
+  format,
+  getCoordinateSystemDimensions,
+  getInstanceByDom,
+  getInstanceById,
+  getMap,
+  graphic,
+  helper,
+  init: init$1,
+  innerDrawElementOnCanvas: brushSingle,
+  matrix,
+  number,
+  parseGeoJSON,
+  parseGeoJson: parseGeoJSON,
+  registerAction,
+  registerCoordinateSystem,
+  registerLayout,
+  registerLoading,
+  registerLocale,
+  registerMap: registerMap$1,
+  registerPostInit,
+  registerPostUpdate,
+  registerPreprocessor,
+  registerProcessor,
+  registerTheme,
+  registerTransform,
+  registerUpdateLifecycle,
+  registerVisual,
+  setCanvasCreator,
+  setPlatformAPI,
+  throttle: throttle$1,
+  time,
+  use,
+  util,
+  vector,
+  version: version$6,
+  zrUtil: util$1,
+  zrender
+}, Symbol.toStringTag, { value: "Module" }));
+const breadcrumbItemSelect = ({
+  api: api2,
+  emit,
+  state,
+  constants
+}) => {
+  state.breadcrumbEmitter.on(constants.EVENT_NAME.breadcrumbItemSelect, (value) => {
+    state.currentBreadcrumbItem = value;
+    emit("select", value);
+  });
+};
+const api$5 = ["breadcrumbItemSelect", "state"];
+const renderless$5 = (props2, { reactive, provide: provide8 }, { emit, constants, emitter: emitter3 }) => {
+  const state = reactive({
+    breadcrumbEmitter: emitter3(),
+    size: props2.size,
+    currentBreadcrumbItem: {}
+  });
+  const api2 = {
+    state,
+    breadcrumbItemSelect: () => breadcrumbItemSelect({ api: api2, emit, state, constants })
+  };
+  provide8("size", state.size);
+  provide8("breadcrumbEmitter", state.breadcrumbEmitter);
+  api2.breadcrumbItemSelect();
+  return api2;
+};
+const linkClick = ({
+  props: props2,
+  refs,
+  router: router2,
+  emit,
+  breadcrumbEmitter,
+  constants
+}) => (event2) => {
+  const { replace, to, option } = props2;
+  const currentBreadcrumbItem = { link: refs.link, replace, to, event: event2, option };
+  breadcrumbEmitter.emit(constants.EVENT_NAME.breadcrumbItemSelect, currentBreadcrumbItem);
+  emit("select", currentBreadcrumbItem);
+  if (!to || !router2) {
+    return;
+  }
+  replace ? router2.replace(to) : router2.push(to);
+};
+const api$4 = ["linkClick", "state"];
+const renderless$4 = (props2, { reactive, inject: inject2 }, { refs, router: router2, emit }) => {
+  const breadcrumbEmitter = inject2("breadcrumbEmitter");
+  const breadcrumb = inject2("breadcrumb");
+  const constants = breadcrumb._constants;
+  const state = reactive({
+    size: inject2("size", null)
+  });
+  const api2 = {
+    state,
+    linkClick: linkClick({ props: props2, refs, router: router2, emit, breadcrumbEmitter, constants })
+  };
+  return api2;
+};
+function _createForOfIteratorHelperLoose$8(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$8(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$8(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$8(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$8(o2, minLen);
+}
+function _arrayLikeToArray$8(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$9 = function _export_sfc231(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$8(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$h = defineComponent({
+  props: [].concat(props, ["to", "replace", "label", "option", "size"]),
+  inject: ["breadcrumb"],
+  emits: ["select"],
+  setup: function setup$137(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4
+    });
+  }
+});
+var _hoisted_1$c = {
+  key: 1,
+  class: "tiny-breadcrumb__separator"
+};
+function _sfc_render$a(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "span",
+    {
+      class: normalizeClass(["tiny-breadcrumb__item", _ctx2.state.size ? "tiny-breadcrumb__item--" + _ctx2.state.size : ""])
+    },
+    [createBaseVNode(
+      "span",
+      {
+        class: normalizeClass(["tiny-breadcrumb__inner", _ctx2.to ? "is-link" : ""]),
+        ref: "link",
+        role: "link",
+        onClick: _cache[0] || (_cache[0] = function() {
+          return _ctx2.linkClick && _ctx2.linkClick.apply(_ctx2, arguments);
+        })
+      },
+      [renderSlot(_ctx2.$slots, "default", {}, function() {
+        return [createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx2.label),
+          1
+          /* TEXT */
+        )];
+      })],
+      2
+      /* CLASS */
+    ), _ctx2.breadcrumb.separatorIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.breadcrumb.separatorIcon), {
+      key: 0,
+      class: "tiny-svg-size tiny-breadcrumb__separator-cls"
+    })) : (openBlock(), createElementBlock(
+      "span",
+      _hoisted_1$c,
+      toDisplayString(_ctx2.breadcrumb.separator),
+      1
+      /* TEXT */
+    ))],
+    2
+    /* CLASS */
+  );
+}
+var pc$5 = /* @__PURE__ */ _export_sfc$9(_sfc_main$h, [["render", _sfc_render$a]]);
+const index$8 = "";
+function _extends$6() {
+  _extends$6 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$6.apply(this, arguments);
+}
+var template$5 = function template215(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$5;
+};
+var breadcrumbItemProps = _extends$6({}, $props, {
+  to: Object,
+  replace: {
+    type: Boolean,
+    default: false
+  },
+  size: String,
+  option: {
+    type: Object,
+    default: function _default58() {
+      return {};
+    }
+  }
+});
+var BreadcrumbItem = defineComponent({
+  name: $prefix + "BreadcrumbItem",
+  props: breadcrumbItemProps,
+  setup: function setup18(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$5
+    });
+  }
+});
+var version$5 = "3.16.0";
+BreadcrumbItem.install = function(Vue) {
+  Vue.component(BreadcrumbItem.name, BreadcrumbItem);
+};
+BreadcrumbItem.version = version$5;
+function _createForOfIteratorHelperLoose$7(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$7(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$7(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$7(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$7(o2, minLen);
+}
+function _arrayLikeToArray$7(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$8 = function _export_sfc232(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$7(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$g = defineComponent({
+  components: {
+    TinyBreadcrumbItem: BreadcrumbItem
+  },
+  props: [].concat(props, ["separator", "separatorIcon", "textField", "options", "size"]),
+  provide: function provide6() {
+    return {
+      breadcrumb: this
+    };
+  },
+  emits: ["select"],
+  setup: function setup$138(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$5,
+      api: api$5
+    });
+  }
+});
+var _hoisted_1$b = {
+  class: "tiny-breadcrumb",
+  "aria-label": "Breadcrumb",
+  role: "navigation"
+};
+function _sfc_render$9(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_tiny_breadcrumb_item = resolveComponent("tiny-breadcrumb-item");
+  return openBlock(), createElementBlock("div", _hoisted_1$b, [renderSlot(_ctx2.$slots, "default", {}, function() {
+    return [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx2.options, function(item, index3) {
+        return openBlock(), createBlock(_component_tiny_breadcrumb_item, {
+          option: item,
+          label: item[_ctx2.textField],
+          key: index3,
+          to: item.to,
+          replace: item.replace
+        }, null, 8, ["option", "label", "to", "replace"]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))];
+  })]);
+}
+var pc$4 = /* @__PURE__ */ _export_sfc$8(_sfc_main$g, [["render", _sfc_render$9]]);
+const index$7 = "";
+function _extends$5() {
+  _extends$5 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$5.apply(this, arguments);
+}
+var template$4 = function template216(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$4;
+};
+var $constants$2 = {
+  EVENT_NAME: {
+    breadcrumbItemSelect: "breadcrumbItemSelect"
+  }
+};
+var breadcrumbProps = _extends$5({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default59() {
+      return $constants$2;
+    }
+  },
+  separator: {
+    type: String,
+    default: ">"
+  },
+  separatorIcon: {
+    type: Object
+  },
+  textField: {
+    type: String,
+    default: "label"
+  },
+  size: String,
+  options: {
+    type: Array,
+    default: function _default218() {
+      return [];
+    }
+  }
+});
+var Breadcrumb$1 = defineComponent({
+  name: $prefix + "Breadcrumb",
+  props: breadcrumbProps,
+  setup: function setup19(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$4
+    });
+  }
+});
+var version$4 = "3.16.0";
+Breadcrumb$1.install = function(Vue) {
+  Vue.component(Breadcrumb$1.name, Breadcrumb$1);
+};
+Breadcrumb$1.version = version$4;
+const computedShowHeader = ({ constants, props: props2 }) => () => props2.pattern !== constants.SIMPLE;
+const computedShowFooter = ({ constants, props: props2 }) => () => props2.pattern === constants.LEGEND || props2.pattern === constants.CLASSIC;
+const computedShowAside = ({ constants, props: props2 }) => () => props2.pattern !== constants.CLASSIC;
+const transferWidthOrHeight = (value) => isNumber$2(value) ? value + "px" : value;
+const computedHeaderStyle = ({ constants, props: props2 }) => () => {
+  if (props2.pattern === constants.FASHION) {
+    return {
+      height: transferWidthOrHeight(props2.headerHeight),
+      left: transferWidthOrHeight(props2.asideWidth)
+    };
+  }
+  return {
+    height: transferWidthOrHeight(props2.headerHeight)
+  };
+};
+const computedAsideStyle = ({ constants, props: props2 }) => () => {
+  if (props2.pattern === constants.SIMPLE || props2.pattern === constants.FASHION) {
+    return {
+      top: transferWidthOrHeight(0),
+      width: transferWidthOrHeight(props2.asideWidth)
+    };
+  }
+  return {
+    width: transferWidthOrHeight(props2.asideWidth),
+    top: transferWidthOrHeight(props2.headerHeight)
+  };
+};
+const computedMainStyle = ({ constants, props: props2 }) => () => {
+  if (props2.pattern === constants.DEFAULT || props2.pattern === constants.FASHION) {
+    return {
+      top: transferWidthOrHeight(props2.headerHeight),
+      left: transferWidthOrHeight(props2.asideWidth),
+      bottom: transferWidthOrHeight(0)
+    };
+  }
+  if (props2.pattern === constants.LEGEND) {
+    return {
+      top: transferWidthOrHeight(props2.headerHeight),
+      left: transferWidthOrHeight(props2.asideWidth),
+      bottom: transferWidthOrHeight(props2.footerHeight)
+    };
+  }
+  if (props2.pattern === constants.SIMPLE) {
+    return {
+      top: transferWidthOrHeight(0),
+      left: transferWidthOrHeight(props2.asideWidth),
+      bottom: transferWidthOrHeight(0)
+    };
+  }
+  if (props2.pattern === constants.CLASSIC) {
+    return {
+      top: transferWidthOrHeight(props2.headerHeight),
+      left: transferWidthOrHeight(0),
+      bottom: transferWidthOrHeight(props2.footerHeight)
+    };
+  }
+};
+const computedFooterStyle = ({ constants, props: props2 }) => () => {
+  if (props2.pattern === constants.CLASSIC) {
+    return {
+      height: transferWidthOrHeight(props2.footerHeight),
+      left: transferWidthOrHeight(0)
+    };
+  } else if (props2.pattern === constants.LEGEND) {
+    return {
+      height: transferWidthOrHeight(props2.footerHeight),
+      left: transferWidthOrHeight(props2.asideWidth)
+    };
+  }
+  return {
+    height: transferWidthOrHeight(props2.footerHeight)
+  };
+};
+const computedLeftStyle = ({ constants, props: props2 }) => () => {
+  return {
+    width: transferWidthOrHeight(props2.leftWidth)
+  };
+};
+const computedShowRight = ({ constants, props: props2 }) => () => {
+  return props2.pattern === constants.DEFAULT ? false : true;
+};
+const computedRightStyle = ({ constants, props: props2 }) => () => {
+  return {
+    width: transferWidthOrHeight(props2.rightWidth)
+  };
+};
+const api$3 = ["state"];
+const renderless$3 = (props2, { computed: computed2, reactive }, { constants }) => {
+  const api2 = {};
+  const state = reactive({
+    showAside: computed2(() => api2.computedShowAside()),
+    showHeader: computed2(() => api2.computedShowHeader()),
+    showFooter: computed2(() => api2.computedShowFooter()),
+    mainStyle: computed2(() => api2.computedMainStyle()),
+    asideStyle: computed2(() => api2.computedAsideStyle()),
+    headerStyle: computed2(() => api2.computedHeaderStyle()),
+    footerStyle: computed2(() => api2.computedFooterStyle()),
+    showRight: computed2(() => api2.computedShowRight()),
+    leftStyle: computed2(() => api2.computedLeftStyle()),
+    rightStyle: computed2(() => api2.computedRightStyle())
+  });
+  Object.assign(api2, {
+    state,
+    computedShowAside: computedShowAside({ constants, props: props2 }),
+    computedShowHeader: computedShowHeader({ constants, props: props2 }),
+    computedShowFooter: computedShowFooter({ constants, props: props2 }),
+    computedMainStyle: computedMainStyle({ constants, props: props2 }),
+    computedAsideStyle: computedAsideStyle({ constants, props: props2 }),
+    computedHeaderStyle: computedHeaderStyle({ constants, props: props2 }),
+    computedFooterStyle: computedFooterStyle({ constants, props: props2 }),
+    computedLeftStyle: computedLeftStyle({ constants, props: props2 }),
+    computedShowRight: computedShowRight({ constants, props: props2 }),
+    computedRightStyle: computedRightStyle({ constants, props: props2 })
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$6(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$6(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$6(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$6(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$6(o2, minLen);
+}
+function _arrayLikeToArray$6(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$7 = function _export_sfc233(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$6(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$f = defineComponent({
+  props: [].concat(props, ["pattern", "headerHeight", "asideWidth", "footerHeight"]),
+  setup: function setup$139(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3
+    });
+  }
+});
+function _sfc_render$8(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass([[_ctx2.pattern], "tiny-container"])
+    },
+    [_ctx2.state.showHeader ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        style: normalizeStyle$2(_ctx2.state.headerStyle),
+        class: "tiny-container__header"
+      },
+      [renderSlot(_ctx2.$slots, "header")],
+      4
+      /* STYLE */
+    )) : createCommentVNode("v-if", true), _ctx2.state.showAside ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 1,
+        style: normalizeStyle$2(_ctx2.state.asideStyle),
+        class: "tiny-container__aside"
+      },
+      [renderSlot(_ctx2.$slots, "aside")],
+      4
+      /* STYLE */
+    )) : createCommentVNode("v-if", true), createBaseVNode(
+      "div",
+      {
+        style: normalizeStyle$2(_ctx2.state.mainStyle),
+        class: "tiny-container__main"
+      },
+      [renderSlot(_ctx2.$slots, "default")],
+      4
+      /* STYLE */
+    ), _ctx2.state.showFooter ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 2,
+        style: normalizeStyle$2(_ctx2.state.footerStyle),
+        class: "tiny-container__footer"
+      },
+      [renderSlot(_ctx2.$slots, "footer")],
+      4
+      /* STYLE */
+    )) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var pc$3 = /* @__PURE__ */ _export_sfc$7(_sfc_main$f, [["render", _sfc_render$8]]);
+const index$6 = "";
+function _createForOfIteratorHelperLoose$5(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$5(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$5(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$5(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$5(o2, minLen);
+}
+function _arrayLikeToArray$5(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$6 = function _export_sfc234(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$5(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$e = defineComponent({
+  props: [].concat(props, ["pattern", "leftWidth", "rightWidth"]),
+  setup: function setup$140(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3
+    });
+  }
+});
+var _hoisted_1$a = {
+  class: "tiny-mobile-container__center"
+};
+function _sfc_render$7(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass([[_ctx2.pattern], "tiny-mobile-container"])
+    },
+    [createBaseVNode(
+      "div",
+      {
+        style: normalizeStyle$2(_ctx2.state.leftStyle),
+        class: "tiny-mobile-container__left"
+      },
+      [renderSlot(_ctx2.$slots, "left")],
+      4
+      /* STYLE */
+    ), createBaseVNode("div", _hoisted_1$a, [renderSlot(_ctx2.$slots, "center")]), _ctx2.state.showRight ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        style: normalizeStyle$2(_ctx2.state.rightStyle),
+        class: "tiny-mobile-container__right"
+      },
+      [renderSlot(_ctx2.$slots, "right")],
+      4
+      /* STYLE */
+    )) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var mobile$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$e, [["render", _sfc_render$7]]);
+const index$5 = "";
+function _extends$4() {
+  _extends$4 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$4.apply(this, arguments);
+}
+var template$3 = function template217(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$3;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$1;
+  }
+  return pc$3;
+};
+var $constants$1 = {
+  DEFAULT: "default",
+  SIMPLE: "simple",
+  LEGEND: "legend",
+  CLASSIC: "classic",
+  FASHION: "fashion"
+};
+var Container = defineComponent({
+  name: $prefix + "Container",
+  props: _extends$4({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default60() {
+        return $constants$1;
+      }
+    },
+    pattern: {
+      type: String,
+      default: "default",
+      validator: function validator13(value) {
+        return !!$constants$1[value.toUpperCase()];
+      }
+    },
+    headerHeight: {
+      type: [Number, String],
+      default: 60
+    },
+    asideWidth: {
+      type: [Number, String],
+      default: 200
+    },
+    footerHeight: {
+      type: [Number, String],
+      default: 60
+    },
+    // mobile
+    leftWidth: {
+      type: [Number, String],
+      default: 60
+    },
+    rightWidth: {
+      type: [Number, String],
+      default: 44
+    }
+  }),
+  setup: function setup20(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$3
+    });
+  }
+});
+var version$3 = "3.16.0";
+Container.install = function(Vue) {
+  Vue.component(Container.name, Container);
+};
+Container.version = version$3;
+const api$2 = [];
+const renderless$2 = () => ({});
+function _createForOfIteratorHelperLoose$4(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$4(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$4(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$4(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$4(o2, minLen);
+}
+function _arrayLikeToArray$4(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$5 = function _export_sfc235(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$4(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$d = defineComponent({
+  props: [].concat(props, ["tag"]),
+  setup: function setup$141(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  }
+});
+function _sfc_render$6(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createBlock(resolveDynamicComponent(_ctx2.tag), {
+    class: "tiny-layout"
+  }, {
+    default: withCtx(function() {
+      return [renderSlot(_ctx2.$slots, "default")];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var pc$2 = /* @__PURE__ */ _export_sfc$5(_sfc_main$d, [["render", _sfc_render$6]]);
+const index$4 = "";
+function _extends$3() {
+  _extends$3 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$3.apply(this, arguments);
+}
+var template$2 = function template218(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$2;
+};
+var Layout = defineComponent({
+  name: $prefix + "Layout",
+  provide: function provide7() {
+    return {
+      layout: this
+    };
+  },
+  props: _extends$3({}, $props, {
+    tag: {
+      type: String,
+      default: "div"
+    },
+    cols: {
+      type: Number,
+      default: 12,
+      validator: function validator14(value) {
+        return Boolean(~[12, 24].indexOf(value));
+      }
+    }
+  }),
+  setup: function setup21(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$2
+    });
+  }
+});
+var version$2 = "3.16.0";
+Layout.install = function(Vue) {
+  Vue.component(Layout.name, Layout);
+};
+Layout.version = version$2;
+const initData$3 = ({ state, props: props2, service, api: api2 }) => async () => {
+  if (props2.data) {
+    state.data = props2.data;
+    return;
+  }
+  if (typeof service.getMenuDataSync === "function") {
+    const menuData = await service.getMenuDataSync();
+    state.data = api2.setMenuKey({ newData: [], menuData });
+  }
+};
+const setMenuKey = (api2) => ({ newData, menuData }) => {
+  Array.isArray(menuData) && menuData.forEach((data2) => {
+    const item = {};
+    Object.keys(data2).forEach((key2) => {
+      if (key2 === "name") {
+        item.label = data2[key2];
+      } else if (key2 === "siteNodeId") {
+        item.id = data2[key2];
+      } else if (key2 === "url" && data2[key2]) {
+        if (!data2[key2].includes("#")) {
+          item[key2] = "#/" + data2[key2];
+        } else {
+          item[key2] = data2[key2];
+        }
+      } else if (key2 === "children" && data2[key2]) {
+        item.children = api2.setMenuKey({
+          newData: [],
+          menuData: data2.children
+        });
+      } else {
+        item[key2] = data2[key2];
+      }
+    });
+    newData.push(__spreadValues(__spreadValues({}, data2), item));
+  });
+  return newData;
+};
+const filterNode = (props2) => (value, data2) => {
+  var _a2;
+  if (!value) {
+    return true;
+  }
+  const propsLabel = ((_a2 = props2.props) == null ? void 0 : _a2.label) || "label";
+  return data2[propsLabel].includes(value);
+};
+const watchFilterText = ({ vm }) => (value) => {
+  vm.$refs.tree.filter(value);
+};
+const nodeDragStart = (emit) => (node, event2) => {
+  emit("node-drag-start", node, event2);
+};
+const nodeDragEnter = (emit) => (dragNode, dropNode, event2) => {
+  emit("node-drag-enter", dragNode, dropNode, event2);
+};
+const nodeDragOver = (emit) => (dragNode, dropNode, event2) => {
+  emit("node-drag-over", dragNode, dropNode, event2);
+};
+const nodeDragEnd = (emit) => (dragNode, dropNode, dropType, event2) => {
+  emit("node-drag-end", dragNode, dropNode, dropType, event2);
+};
+const nodeDrop = (emit) => (dragNode, dropNode, dropType, event2) => {
+  emit("node-drop", dragNode, dropNode, dropType, event2);
+};
+const nodeExpand = (emit) => (nodeData, node) => {
+  emit("node-expand", nodeData, node);
+};
+const nodeCollapse = (emit) => (nodeData, node) => {
+  emit("node-collapse", nodeData, node);
+};
+const nodeClick = ({ emit, props: props2, state }) => (nodeData, node) => {
+  emit("node-click", nodeData, node);
+  if (props2.showExpand && state.isExpand) {
+    state.isExpand = false;
+  }
+};
+const checkChange = (emit) => (data2, checked, indeterminate) => {
+  emit("check-change", data2, checked, indeterminate);
+};
+const check = (emit) => (data2, checkedStatus) => {
+  emit("check", data2, checkedStatus);
+};
+const currentChange = (emit) => (data2, node) => {
+  emit("current-change", data2, node);
+};
+const getTitle = (props2) => (label) => props2.showTitle ? label : "";
+const collapseChange = ({ state, props: props2, emit }) => () => {
+  if (props2.menuCollapsible) {
+    state.isCollapsed = !state.isCollapsed;
+    emit("collapse-change", state.isCollapsed);
+  }
+};
+const collapseMenu = ({ state, props: props2, api: api2 }) => () => {
+  if (props2.menuCollapsible && !state.isCollapsed) {
+    api2.collapseChange();
+  }
+};
+const expandMenu = ({ state, props: props2, api: api2 }) => () => {
+  if (props2.menuCollapsible && state.isCollapsed) {
+    api2.collapseChange();
+  }
+};
+const setCurrentKey = ({ vm }) => (key2) => {
+  vm.$refs.tree.setCurrentKey(key2);
+};
+const getCurrentKey = ({ vm }) => () => {
+  return vm.$refs.tree.getCurrentKey();
+};
+const setCurrentNode = ({ vm }) => (key2) => {
+  vm.$refs.tree.setCurrentKey(key2);
+};
+const getCurrentNode = ({ vm }) => () => {
+  return vm.$refs.tree.getCurrentNode();
+};
+const handleToggleMenu = ({ state, vm }) => (type2) => {
+  state.isExpand = !state.isExpand;
+  if (type2 === "expand") {
+    state.currentKey = state.nodeKey !== null ? [state.nodeKey] : [];
+  } else {
+    state.nodeKey = vm.$refs.tree.getCurrentKey();
+    vm.$refs.tree.expandAllNodes(false);
+  }
+};
+const computedTreeStyle = ({ props: props2 }) => () => {
+  let minusHeight = 0;
+  if (props2.showExpand) {
+    minusHeight += 64;
+  }
+  if (props2.showFilter) {
+    minusHeight += 42;
+  }
+  return { "height": `calc(100% - ${minusHeight}px)` };
+};
+const computedStyle = ({ state, props: props2 }) => () => {
+  return {
+    fill: state.color,
+    color: state.color,
+    backgroundColor: state.backgroundColor,
+    backgroundImage: /^(image)$/.test(props2.type) && state.internalValue ? `url(${state.internalValue})` : "none"
+  };
+};
+const computedMessage = ({ props: props2 }) => () => {
+  let result2 = "";
+  const total = Math.floor(props2.messageTotal || NaN);
+  if (props2.messageType === "details" && !isNaN(total) && total > 0) {
+    result2 = String(total);
+    if (props2.messageUpperLimit && total > props2.messageUpperLimit) {
+      result2 = `${props2.messageUpperLimit}+`;
+    }
+  }
+  return result2;
+};
+const computedFontSize = ({ props: props2, state, mode }) => () => {
+  let fontSize = "";
+  if (props2.type === "label" && state.label && !props2.min) {
+    const length2 = state.label.length;
+    const sizeMap = {
+      1: "40px",
+      2: "30px",
+      3: "22px",
+      4: "20px",
+      5: "18px",
+      6: "16px"
+    };
+    const mfsizeMap = {
+      1: `${state.size / 1.5}px`,
+      2: `${state.size / 3}px`,
+      3: `${state.size / 4.5}px`,
+      4: `${state.size / 6}px`,
+      5: `${state.size / 7.5}px`,
+      6: `${state.size / 9}px`
+    };
+    if (mode === "mobile-first") {
+      fontSize = mfsizeMap[length2];
+    } else {
+      fontSize = sizeMap[length2];
+    }
+  }
+  return { fontSize };
+};
+const computedLabel = ({ state, props: props2 }) => () => props2.min ? state.internalValue.substr(0, 2) : state.internalValue.substr(0, 6);
+const getInternalValue = ({ props: props2 }) => () => {
+  if (props2.modelValue === null) {
+    let result2 = "";
+    if (props2.type === "icon") {
+      result2 = "icon-user";
+    } else if (props2.type === "label") {
+      result2 = "U";
+    }
+    return result2 || props2.value;
+  } else {
+    return props2.modelValue;
+  }
+};
+const handleClick = (emit) => (event2) => emit("click", event2);
+const mouseEnter = (emit) => (event2) => emit("mouseenter", event2);
+const api$1 = ["state", "handleClick", "mouseEnter"];
+const renderless$1 = (props2, { reactive, computed: computed2, inject: inject2 }, { mode, emit }) => {
+  const groupSize = inject2("groupSize", null);
+  const state = reactive({
+    internalValue: computed2(() => api2.getInternalValue()),
+    label: computed2(() => api2.computedLabel()),
+    style: computed2(() => api2.computedStyle()),
+    message: computed2(() => api2.computedMessage()),
+    fontSize: computed2(() => api2.computedFontSize()),
+    size: groupSize || props2.size,
+    color: inject2("color", null) || props2.color,
+    backgroundColor: inject2("backgroundColor", null) || props2.backgroundColor
+  });
+  const api2 = {
+    state,
+    computedLabel: computedLabel({ state, props: props2 }),
+    computedStyle: computedStyle({ state, props: props2 }),
+    computedMessage: computedMessage({ props: props2 }),
+    computedFontSize: computedFontSize({ props: props2, state, mode }),
+    getInternalValue: getInternalValue({ props: props2 }),
+    handleClick: handleClick(emit),
+    mouseEnter: mouseEnter(emit)
+  };
+  return api2;
+};
+const index$3 = "";
+function _createForOfIteratorHelperLoose$3(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$3(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$3(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$3(o2, minLen);
+}
+function _arrayLikeToArray$3(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$4 = function _export_sfc236(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$c = defineComponent({
+  components: {
+    IconUser: index$F()
+  },
+  props: [].concat(props, ["min", "round", "color", "backgroundColor", "type", "value", "modelValue", "messageTotal", "messageType", "messageUpperLimit"]),
+  setup: function setup$142(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$9 = {
+  class: "tiny-user-head"
+};
+var _hoisted_2$8 = ["title"];
+function _sfc_render$5(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$9, [createBaseVNode(
+    "div",
+    {
+      style: normalizeStyle$2(_ctx2.state.style),
+      class: normalizeClass(["tiny-user-head__portrait", {
+        min: _ctx2.min,
+        round: _ctx2.round
+      }, _ctx2.type])
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [_ctx2.type === "icon" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.internalValue), {
+        key: 0,
+        class: "tiny-svg-size"
+      })) : createCommentVNode("v-if", true), _ctx2.type === "label" ? (openBlock(), createElementBlock("span", {
+        key: 1,
+        style: normalizeStyle$2(_ctx2.state.fontSize),
+        title: _ctx2.state.internalValue
+      }, toDisplayString(_ctx2.state.label), 13, _hoisted_2$8)) : createCommentVNode("v-if", true)];
+    })],
+    6
+    /* CLASS, STYLE */
+  ), _ctx2.messageTotal ? (openBlock(), createElementBlock(
+    "div",
+    {
+      key: 0,
+      class: normalizeClass(["tiny-user-head__message", {
+        min: _ctx2.min,
+        round: _ctx2.round,
+        basic: _ctx2.messageType === "basic" || _ctx2.messageType === "icon"
+      }])
+    },
+    toDisplayString(_ctx2.state.message),
+    3
+    /* TEXT, CLASS */
+  )) : createCommentVNode("v-if", true)]);
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$4(_sfc_main$c, [["render", _sfc_render$5]]);
+const index$2 = "";
+function _createForOfIteratorHelperLoose$2(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$2(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$2(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$2(o2, minLen);
+}
+function _arrayLikeToArray$2(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc237(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+function _extends$2() {
+  _extends$2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$2.apply(this, arguments);
+}
+var _sfc_main$b = defineComponent({
+  components: {
+    IconUser: index$F()
+  },
+  props: [].concat(props, ["min", "round", "color", "backgroundColor", "type", "modelValue", "messageTotal", "messageType", "messageUpperLimit", "size"]),
+  setup: function setup$143(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$8 = {
+  class: "tiny-mobile-user-head"
+};
+var _hoisted_2$7 = ["title"];
+function _sfc_render$4(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$8, [createBaseVNode(
+    "div",
+    {
+      style: normalizeStyle$2(_extends$2({}, _ctx2.state.style, {
+        width: _ctx2.state.size + "px",
+        height: _ctx2.state.size + "px"
+      })),
+      class: normalizeClass(["tiny-mobile-user-head__portrait", {
+        min: _ctx2.min,
+        round: _ctx2.round
+      }, _ctx2.type])
+    },
+    [renderSlot(_ctx2.$slots, "default", {}, function() {
+      return [_ctx2.type === "icon" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.internalValue), {
+        key: 0,
+        class: "tiny-mobile-svg-size"
+      })) : createCommentVNode("v-if", true), _ctx2.type === "label" ? (openBlock(), createElementBlock("span", {
+        key: 1,
+        style: normalizeStyle$2({
+          fontSize: _ctx2.state.size * 0.3 + "px"
+        }),
+        title: _ctx2.state.internalValue
+      }, toDisplayString(_ctx2.state.label), 13, _hoisted_2$7)) : createCommentVNode("v-if", true)];
+    })],
+    6
+    /* CLASS, STYLE */
+  ), _ctx2.messageTotal ? (openBlock(), createElementBlock(
+    "div",
+    {
+      key: 0,
+      style: normalizeStyle$2({
+        left: _ctx2.state.size * 0.9 + "px"
+      }),
+      class: normalizeClass(["tiny-mobile-user-head__message", {
+        min: _ctx2.min,
+        round: _ctx2.round,
+        basic: _ctx2.messageType === "basic" || _ctx2.messageType === "icon"
+      }])
+    },
+    toDisplayString(_ctx2.state.message),
+    7
+    /* TEXT, CLASS, STYLE */
+  )) : createCommentVNode("v-if", true)]);
+}
+var mobile = /* @__PURE__ */ _export_sfc$3(_sfc_main$b, [["render", _sfc_render$4]]);
+function _createForOfIteratorHelperLoose$1(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray$1(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray$1(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray$1(o2, minLen);
+}
+function _arrayLikeToArray$1(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc238(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$a = defineComponent({
+  components: {
+    IconUser: index$F()
+  },
+  emits: ["click", "mouseenter"],
+  props: [].concat(props, ["min", "round", "color", "backgroundColor", "type", "value", "modelValue", "messageTotal", "messageType", "messageUpperLimit", "size"]),
+  setup: function setup$144(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$7 = ["title"];
+function _sfc_render$3(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: "inline-block relative",
+      "data-tag": "tiny-user-head",
+      onClick: _cache[0] || (_cache[0] = function() {
+        return _ctx2.handleClick && _ctx2.handleClick.apply(_ctx2, arguments);
+      }),
+      onMouseenter: _cache[1] || (_cache[1] = function() {
+        return _ctx2.mouseEnter && _ctx2.mouseEnter.apply(_ctx2, arguments);
+      })
+    },
+    [createBaseVNode(
+      "div",
+      {
+        "data-tag": "tiny-user-head-body",
+        style: normalizeStyle$2([_ctx2.state.style, {
+          height: _ctx2.state.size + "px",
+          width: _ctx2.state.size + "px",
+          lineHeight: _ctx2.state.size + "px"
+        }]),
+        class: normalizeClass(["overflow-hidden w-10 h-10  text-center  bg-center bg-no-repeat bg-cover", _ctx2.round ? "rounded-full" : "rounded", {
+          "h-8 w-8 leading-8": _ctx2.min
+        }, {
+          "[&_span]:overflow-hidden [&_span]:flex [&_span]:justify-center [&_span]:h-full px-0.5": _ctx2.type === "label"
+        }, {
+          "[&_svg]:top-1/2  [&_svg]:absolute [&_svg]:left-1/2  [&_svg]:-translate-y-1/2 [&_svg]:-translate-x-1/2": _ctx2.type === "icon"
+        }, {
+          "text-sm": _ctx2.type === "icon" && _ctx2.min
+        }])
+      },
+      [renderSlot(_ctx2.$slots, "default", {}, function() {
+        return [_ctx2.type === "icon" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.state.internalValue), {
+          key: 0,
+          class: "inline-block w-6 h-6",
+          style: normalizeStyle$2([{
+            height: _ctx2.state.size / 1.5 + "px",
+            width: _ctx2.state.size / 1.5 + "px",
+            lineHeight: _ctx2.state.size / 1.5 + "px",
+            top: "" + _ctx2.state.size / 2
+          }])
+        }, null, 8, ["style"])) : createCommentVNode("v-if", true), _ctx2.type === "label" ? (openBlock(), createElementBlock("span", {
+          key: 1,
+          style: normalizeStyle$2(_ctx2.state.fontSize),
+          title: _ctx2.state.internalValue
+        }, toDisplayString(_ctx2.state.label), 13, _hoisted_1$7)) : createCommentVNode("v-if", true)];
+      })],
+      6
+      /* CLASS, STYLE */
+    ), _ctx2.messageTotal ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        "data-tag": "tiny-user-head-message",
+        class: normalizeClass(["absolute rounded-lg text-color-text-primary text-center box-content bg-color-error", _ctx2.messageType === "basic" ? "w-0 h-1 px-0.5 border-2 -right-1.5 border-color-bg-1 border-solid -top-1 left-9" : "min-w-[0.625rem] w-auto left-7 flex items-center -top-2.5 px-0.5 text-xs h-3.5 border-2 border-color-bg-1 border-solid", {
+          "-top-1 h-2 min-w-2 leading-none rounded": _ctx2.messageType === "icon"
+        }, {
+          "top-0 -right-1.5": (_ctx2.messageType === "basic" || _ctx2.messageType === "icon") && _ctx2.round
+        }, {
+          "-top-1.5 left-8 -right-1.5 w-3 h-3": (_ctx2.messageType === "basic" || _ctx2.messageType === "icon") && _ctx2.min
+        }, {
+          "top-0": (_ctx2.messageType === "basic" || _ctx2.messageType === "icon") && _ctx2.round && _ctx2.min
+        }])
+      },
+      toDisplayString(_ctx2.state.message),
+      3
+      /* TEXT, CLASS */
+    )) : createCommentVNode("v-if", true)],
+    32
+    /* NEED_HYDRATION */
+  );
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc$2(_sfc_main$a, [["render", _sfc_render$3]]);
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var template$1 = function template219(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$1;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc$1;
+};
+var $constants = {
+  ITEM_NAME: ".user-head-item"
+};
+var userHeadProps = _extends$1({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default61() {
+      return $constants;
+    }
+  },
+  /**
+   * @property {Boolean} [min=false] - 小尺寸模式
+   */
+  min: Boolean,
+  /**
+   * @property {Boolean} [round=true] - 圆形模式
+   */
+  round: Boolean,
+  /**
+   * @property {String} [color=#ffffff] - 文字颜色
+   */
+  color: {
+    type: String,
+    default: "#ffffff"
+  },
+  /**
+   * @property {String} [backgroundColor=#BBBBBB] - 背景色
+   */
+  backgroundColor: {
+    type: String,
+    default: "#B5BBC1"
+  },
+  /**
+   * @property {String} [type=label] - 头像类型,icon|image|label 可选
+   */
+  type: {
+    type: String,
+    default: "label",
+    validator: function validator15(value) {
+      return Boolean(~["icon", "image", "label"].indexOf(value));
+    }
+  },
+  /**
+   * @property {String} - 头像资源
+   * type=icon 时为图标类名,type=label时为字体串,type=image时为资源路径
+   */
+  value: {
+    type: [Object, String],
+    default: null
+  },
+  /**
+   * @property {String} - 头像资源
+   * type=icon 时为图标类名,type=label时为字体串,type=image时为资源路径
+   */
+  modelValue: {
+    type: [Object, String],
+    default: null
+  },
+  /**
+   * @property {Number} - 消息计数
+   */
+  messageTotal: Number,
+  /**
+   * @property {String} [messageType=details] - 消息类型 details|basic 可选
+   */
+  messageType: {
+    type: String,
+    default: "details",
+    validator: function validator24(value) {
+      return Boolean(~["details", "basic"].indexOf(value));
+    }
+  },
+  /**
+   * @property {Number} [messageUpperLimit=0] - 消息显示上限
+   */
+  messageUpperLimit: {
+    type: Number,
+    default: 0
+  },
+  size: {
+    type: Number,
+    default: 40
+  }
+});
+var UserHead = defineComponent({
+  name: $prefix + "UserHead",
+  props: userHeadProps,
+  setup: function setup23(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$1 = "3.16.0";
+UserHead.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+UserHead.install = function(Vue) {
+  Vue.component(UserHead.name, UserHead);
+};
+UserHead.version = version$1;
+const api = [
+  "state",
+  "t",
+  "initData",
+  "setMenuKey",
+  "filterNode",
+  "nodeDragStart",
+  "nodeDragEnter",
+  "nodeDragOver",
+  "nodeDragEnd",
+  "nodeDrop",
+  "nodeExpand",
+  "nodeCollapse",
+  "nodeClick",
+  "checkChange",
+  "check",
+  "currentChange",
+  "getTitle",
+  "collapseChange",
+  "collapseMenu",
+  "expandMenu",
+  "setCurrentKey",
+  "getCurrentKey",
+  "setCurrentNode",
+  "getCurrentNode",
+  "handleToggleMenu"
+];
+const renderless = (props2, { computed: computed2, watch: watch2, reactive, onMounted: onMounted2 }, { t: t2, service, emit, vm }) => {
+  service = service || { base: {} };
+  service = { getMenuDataSync: props2.getMenuDataSync || service.base.getMenuDataSync };
+  const api2 = {};
+  const state = reactive({
+    data: [],
+    filterText: "",
+    isExpand: false,
+    isCollapsed: false,
+    nodeKey: null,
+    currentKey: [],
+    treeStyle: computed2(() => api2.computedTreeStyle()),
+    defaultExpandedKeys: computed2(
+      () => props2.defaultExpandedKeys && props2.defaultExpandedKeys.length ? props2.defaultExpandedKeys : state.currentKey
+    )
+  });
+  Object.assign(api2, {
+    t: t2,
+    state,
+    check: check(emit),
+    filterNode: filterNode(props2),
+    nodeDrop: nodeDrop(emit),
+    nodeClick: nodeClick({ emit, props: props2, state }),
+    nodeExpand: nodeExpand(emit),
+    nodeDragEnd: nodeDragEnd(emit),
+    checkChange: checkChange(emit),
+    nodeCollapse: nodeCollapse(emit),
+    nodeDragOver: nodeDragOver(emit),
+    nodeDragStart: nodeDragStart(emit),
+    nodeDragEnter: nodeDragEnter(emit),
+    currentChange: currentChange(emit),
+    watchFilterText: watchFilterText({ vm }),
+    getTitle: getTitle(props2),
+    setMenuKey: setMenuKey(api2),
+    initData: initData$3({ state, props: props2, service, api: api2 }),
+    collapseChange: collapseChange({ state, props: props2, emit }),
+    collapseMenu: collapseMenu({ state, props: props2, api: api2 }),
+    expandMenu: expandMenu({ state, props: props2, api: api2 }),
+    setCurrentKey: setCurrentKey({ vm }),
+    getCurrentKey: getCurrentKey({ vm }),
+    setCurrentNode: setCurrentNode({ vm }),
+    getCurrentNode: getCurrentNode({ vm }),
+    handleToggleMenu: handleToggleMenu({ state, vm }),
+    computedTreeStyle: computedTreeStyle({ props: props2 })
+  });
+  watch2(
+    () => props2.data,
+    (value) => state.data = value,
+    { immediate: true }
+  );
+  watch2(() => state.filterText, api2.watchFilterText, { deep: true });
+  onMounted2(api2.initData);
+  return api2;
+};
+function _createForOfIteratorHelperLoose(o2, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o2[Symbol.iterator] || o2["@@iterator"];
+  if (it)
+    return (it = it.call(o2)).next.bind(it);
+  if (Array.isArray(o2) || (it = _unsupportedIterableToArray(o2)) || allowArrayLike && o2 && typeof o2.length === "number") {
+    if (it)
+      o2 = it;
+    var i2 = 0;
+    return function() {
+      if (i2 >= o2.length)
+        return { done: true };
+      return { done: false, value: o2[i2++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o2, minLen) {
+  if (!o2)
+    return;
+  if (typeof o2 === "string")
+    return _arrayLikeToArray(o2, minLen);
+  var n2 = Object.prototype.toString.call(o2).slice(8, -1);
+  if (n2 === "Object" && o2.constructor)
+    n2 = o2.constructor.name;
+  if (n2 === "Map" || n2 === "Set")
+    return Array.from(o2);
+  if (n2 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n2))
+    return _arrayLikeToArray(o2, minLen);
+}
+function _arrayLikeToArray(arr, len2) {
+  if (len2 == null || len2 > arr.length)
+    len2 = arr.length;
+  for (var i2 = 0, arr2 = new Array(len2); i2 < len2; i2++)
+    arr2[i2] = arr[i2];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc239(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$9 = defineComponent({
+  name: $prefix + "TreeMenu",
+  emits: ["change", "current-change", "node-drag-start", "node-drag-enter", "node-drag-over", "node-drag-end", "node-drop", "node-expand", "node-click", "check-change", "check", "collapse-change", "node-collapse"],
+  components: {
+    TinyTree: Tree$2,
+    TinyInput: Input,
+    IconArrow: index$z(),
+    IconEditorMenuLeft: index$10(),
+    IconEditorMenuRight: index$$()
+  },
+  props: {
+    placeholder: {
+      default: "",
+      type: String
+    },
+    data: Array,
+    nodeKey: String,
+    defaultExpandAll: Boolean,
+    suffixIcon: Object,
+    prefixIcon: Object,
+    searchIcon: {
+      type: Object,
+      default: function _default66() {
+        return index$J();
+      }
+    },
+    props: Object,
+    draggable: {
+      type: Boolean,
+      default: false
+    },
+    emptyText: {
+      type: String,
+      default: ""
+    },
+    checkStrictly: Boolean,
+    lazy: {
+      type: Boolean,
+      default: false
+    },
+    load: Function,
+    showCheckbox: Boolean,
+    filterNodeMethod: Function,
+    defaultCheckedKeys: Array,
+    defaultExpandedKeys: Array,
+    defaultExpandedKeysHighlight: [Number, String],
+    indent: {
+      type: Number,
+      default: 16
+    },
+    allowDrag: Function,
+    allowDrop: Function,
+    expandOnClickNode: {
+      type: Boolean,
+      default: true
+    },
+    ellipsis: {
+      type: Boolean,
+      default: false
+    },
+    wrap: {
+      type: Boolean,
+      default: false
+    },
+    getMenuDataSync: Function,
+    accordion: Boolean,
+    showTitle: {
+      type: Boolean,
+      default: true
+    },
+    showFilter: {
+      type: Boolean,
+      default: true
+    },
+    showExpand: {
+      type: Boolean,
+      default: false
+    },
+    collapsible: {
+      type: Boolean,
+      default: true
+    },
+    showNumber: {
+      type: Boolean,
+      default: false
+    },
+    nodeHeight: Number,
+    onlyCheckChildren: {
+      type: Boolean,
+      default: false
+    },
+    menuCollapsible: {
+      type: Boolean,
+      default: false
+    }
+  },
+  setup: function setup$145(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1$6 = {
+  class: "tree-node"
+};
+var _hoisted_2$6 = {
+  class: "tree-menus-link tiny-tree-node__label"
+};
+var _hoisted_3$5 = ["title", "href"];
+var _hoisted_4$5 = {
+  class: "tree-node-name"
+};
+var _hoisted_5$5 = {
+  key: 2,
+  class: "tiny-tree-menu__expand"
+};
+function _sfc_render$2(_ctx2, _cache, $props2, $setup3, $data, $options) {
+  var _component_icon_arrow = resolveComponent("icon-arrow");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_tiny_tree = resolveComponent("tiny-tree");
+  var _component_icon_editor_menu_left = resolveComponent("icon-editor-menu-left");
+  var _component_icon_editor_menu_right = resolveComponent("icon-editor-menu-right");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-tree-menu", {
+        "is-collapsed": _ctx2.state.isCollapsed,
+        "is-expand": _ctx2.state.isExpand,
+        "tiny-tree-menu__show-filter": _ctx2.showFilter,
+        "tiny-tree-menu__show-expand": _ctx2.showExpand
+      }])
+    },
+    [_ctx2.menuCollapsible ? (openBlock(), createElementBlock("div", {
+      key: 0,
+      class: "tiny-tree-menu__toggle-button",
+      onClick: _cache[0] || (_cache[0] = withModifiers(function() {
+        return _ctx2.collapseChange && _ctx2.collapseChange.apply(_ctx2, arguments);
+      }, ["stop"]))
+    }, [createVNode$1(_component_icon_arrow)])) : createCommentVNode("v-if", true), _ctx2.showFilter ? (openBlock(), createBlock(_component_tiny_input, {
+      key: 1,
+      modelValue: _ctx2.state.filterText,
+      "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
+        return _ctx2.state.filterText = $event;
+      }),
+      placeholder: _ctx2.placeholder || _ctx2.t("ui.treeMenu.placeholder"),
+      "prefix-icon": _ctx2.searchIcon
+    }, null, 8, ["modelValue", "placeholder", "prefix-icon"])) : createCommentVNode("v-if", true), createVNode$1(_component_tiny_tree, {
+      ref: "tree",
+      class: normalizeClass({
+        "tiny-tree-menu__wrap": !_ctx2.ellipsis ? _ctx2.wrap : false,
+        "tiny-tree-menu__overflow": _ctx2.ellipsis,
+        "only-check-children": _ctx2.onlyCheckChildren
+      }),
+      tiny_mode: "pc",
+      theme: "tiny",
+      accordion: _ctx2.accordion,
+      data: _ctx2.state.data,
+      "node-key": _ctx2.nodeKey || "id",
+      "empty-text": _ctx2.emptyText,
+      "filter-node-method": _ctx2.filterNodeMethod || _ctx2.filterNode,
+      draggable: _ctx2.draggable,
+      "default-expand-all": _ctx2.defaultExpandAll,
+      "check-strictly": _ctx2.checkStrictly,
+      lazy: _ctx2.lazy,
+      load: _ctx2.load,
+      "show-checkbox": _ctx2.showCheckbox,
+      "show-number": _ctx2.showNumber,
+      collapsible: _ctx2.collapsible,
+      "node-height": _ctx2.nodeHeight,
+      indent: _ctx2.indent,
+      "default-checked-keys": _ctx2.defaultCheckedKeys,
+      "default-expanded-keys": _ctx2.state.defaultExpandedKeys,
+      "default-expanded-keys-highlight": _ctx2.defaultExpandedKeysHighlight,
+      "allow-drag": _ctx2.allowDrag,
+      props: _ctx2.props,
+      "allow-drop": _ctx2.allowDrop,
+      "expand-on-click-node": _ctx2.expandOnClickNode,
+      "only-check-children": _ctx2.onlyCheckChildren,
+      onNodeDragStart: _ctx2.nodeDragStart,
+      onNodeDragEnter: _ctx2.nodeDragEnter,
+      onNodeDragOver: _ctx2.nodeDragOver,
+      onNodeDragEnd: _ctx2.nodeDragEnd,
+      onNodeDrop: _ctx2.nodeDrop,
+      onNodeExpand: _ctx2.nodeExpand,
+      onNodeCollapse: _ctx2.nodeCollapse,
+      onNodeClick: _ctx2.nodeClick,
+      onCheckChange: _ctx2.checkChange,
+      onCheck: _ctx2.check,
+      onCurrentChange: _ctx2.currentChange
+    }, {
+      default: withCtx(function(_ref) {
+        var node = _ref.node, data2 = _ref.data;
+        return [createBaseVNode("div", _hoisted_1$6, [createBaseVNode("div", _hoisted_2$6, [createBaseVNode("a", {
+          class: "tree-node-body",
+          title: _ctx2.getTitle(data2.label),
+          href: data2.url || void 0
+        }, [createBaseVNode("span", _hoisted_4$5, [!data2.customIcon && _ctx2.suffixIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx2.suffixIcon), {
+          key: 0
+        })) : createCommentVNode("v-if", true), data2.customIcon ? (openBlock(), createBlock(resolveDynamicComponent(data2.customIcon), {
+          key: 1
+        })) : createCommentVNode("v-if", true), renderSlot(_ctx2.$slots, "default", {
+          node,
+          data: data2,
+          label: data2.label
+        }, function() {
+          return [createTextVNode(
+            toDisplayString(data2.label || node.label),
+            1
+            /* TEXT */
+          )];
+        })])], 8, _hoisted_3$5)])])];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["class", "accordion", "data", "node-key", "empty-text", "filter-node-method", "draggable", "default-expand-all", "check-strictly", "lazy", "load", "show-checkbox", "show-number", "collapsible", "node-height", "indent", "default-checked-keys", "default-expanded-keys", "default-expanded-keys-highlight", "allow-drag", "props", "allow-drop", "expand-on-click-node", "only-check-children", "onNodeDragStart", "onNodeDragEnter", "onNodeDragOver", "onNodeDragEnd", "onNodeDrop", "onNodeExpand", "onNodeCollapse", "onNodeClick", "onCheckChange", "onCheck", "onCurrentChange"]), _ctx2.showExpand ? (openBlock(), createElementBlock("div", _hoisted_5$5, [createBaseVNode("span", null, [!_ctx2.state.isExpand ? (openBlock(), createBlock(_component_icon_editor_menu_left, {
+      key: 0,
+      onClick: _cache[2] || (_cache[2] = function($event) {
+        return _ctx2.handleToggleMenu("collapse");
+      })
+    })) : (openBlock(), createBlock(_component_icon_editor_menu_right, {
+      key: 1,
+      onClick: _cache[3] || (_cache[3] = function($event) {
+        return _ctx2.handleToggleMenu("expand");
+      })
+    }))])])) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var pc = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["render", _sfc_render$2]]);
+const index$1 = "";
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i2 = 1; i2 < arguments.length; i2++) {
+      var source2 = arguments[i2];
+      for (var key2 in source2) {
+        if (Object.prototype.hasOwnProperty.call(source2, key2)) {
+          target[key2] = source2[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template220(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc;
+};
+var treeMenuProps = _extends({}, $props, {
+  placeholder: {
+    default: "",
+    type: String
+  },
+  data: Array,
+  nodeKey: String,
+  defaultExpandAll: Boolean,
+  suffixIcon: Object,
+  prefixIcon: Object,
+  searchIcon: {
+    type: Object,
+    default: function _default67() {
+      return index$J();
+    }
+  },
+  props: Object,
+  draggable: {
+    type: Boolean,
+    default: false
+  },
+  emptyText: {
+    type: String,
+    default: ""
+  },
+  checkStrictly: Boolean,
+  lazy: {
+    type: Boolean,
+    default: false
+  },
+  load: Function,
+  showCheckbox: Boolean,
+  filterNodeMethod: Function,
+  defaultCheckedKeys: Array,
+  defaultExpandedKeys: Array,
+  defaultExpandedKeysHighlight: [Number, String],
+  indent: {
+    type: Number,
+    default: 16
+  },
+  allowDrag: Function,
+  allowDrop: Function,
+  expandOnClickNode: {
+    type: Boolean,
+    default: true
+  },
+  ellipsis: {
+    type: Boolean,
+    default: false
+  },
+  wrap: {
+    type: Boolean,
+    default: false
+  },
+  getMenuDataSync: Function,
+  accordion: Boolean,
+  showTitle: {
+    type: Boolean,
+    default: true
+  },
+  showFilter: {
+    type: Boolean,
+    default: true
+  },
+  collapsible: {
+    type: Boolean,
+    default: true
+  },
+  showNumber: {
+    type: Boolean,
+    default: false
+  },
+  nodeHeight: Number,
+  onlyCheckChildren: {
+    type: Boolean,
+    default: false
+  },
+  menuCollapsible: {
+    type: Boolean,
+    default: false
+  }
+});
+var TreeMenu = defineComponent({
+  name: $prefix + "TreeMenu",
+  props: treeMenuProps,
+  setup: function setup24(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+TreeMenu.install = function(Vue) {
+  Vue.component(TreeMenu.name, TreeMenu);
+};
+TreeMenu.version = version;
+const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  props: {
+    items: {
+      type: Array,
+      default() {
+        return [];
+      }
+    }
+  },
+  setup(__props) {
+    return (_ctx2, _cache) => {
+      return openBlock(), createBlock(unref(Breadcrumb$1), { class: "container-breadcrumb" }, {
+        default: withCtx(() => [
+          (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
+            return openBlock(), createBlock(unref(BreadcrumbItem), { key: item }, {
+              default: withCtx(() => [
+                createTextVNode(toDisplayString(_ctx2.$t(item)), 1)
+              ]),
+              _: 2
+            }, 1024);
+          }), 128))
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_aa17f3ca_lang = "";
+const _export_sfc = (sfc, props2) => {
+  const target = sfc.__vccOpts || sfc;
+  for (const [key2, val] of props2) {
+    target[key2] = val;
+  }
+  return target;
+};
+const Breadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-aa17f3ca"]]);
+const globalComponents = {
+  install(Vue) {
+    Vue.component("Breadcrumb", Breadcrumb);
+  }
+};
+const scriptRel = "modulepreload";
+const assetsURL = function(dep) {
+  return "/ui/admin/" + dep;
+};
+const seen = {};
+const __vitePreload = function preload(baseModule, deps, importerUrl) {
+  if (!deps || deps.length === 0) {
+    return baseModule();
+  }
+  const links = document.getElementsByTagName("link");
+  return Promise.all(deps.map((dep) => {
+    dep = assetsURL(dep);
+    if (dep in seen)
+      return;
+    seen[dep] = true;
+    const isCss = dep.endsWith(".css");
+    const cssSelector = isCss ? '[rel="stylesheet"]' : "";
+    const isBaseRelative = !!importerUrl;
+    if (isBaseRelative) {
+      for (let i2 = links.length - 1; i2 >= 0; i2--) {
+        const link2 = links[i2];
+        if (link2.href === dep && (!isCss || link2.rel === "stylesheet")) {
+          return;
+        }
+      }
+    } else if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) {
+      return;
+    }
+    const link = document.createElement("link");
+    link.rel = isCss ? "stylesheet" : scriptRel;
+    if (!isCss) {
+      link.as = "script";
+      link.crossOrigin = "";
+    }
+    link.href = dep;
+    document.head.appendChild(link);
+    if (isCss) {
+      return new Promise((res, rej) => {
+        link.addEventListener("load", res);
+        link.addEventListener("error", () => rej(new Error(`Unable to preload CSS for ${dep}`)));
+      });
+    }
+  })).then(() => baseModule()).catch((err) => {
+    const e2 = new Event("vite:preloadError", { cancelable: true });
+    e2.payload = err;
+    window.dispatchEvent(e2);
+    if (!e2.defaultPrevented) {
+      throw err;
+    }
+  });
+};
+var n, e, t = { version: "0.2.0" }, r = t.settings = { minimum: 0.08, easing: "linear", positionUsing: "", speed: 200, trickle: true, trickleSpeed: 200, showSpinner: true, barSelector: '[role="bar"]', spinnerSelector: '[role="spinner"]', parent: "body", template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>' };
+function i(n2, e2, t2) {
+  return n2 < e2 ? e2 : n2 > t2 ? t2 : n2;
+}
+function s(n2) {
+  return 100 * (-1 + n2);
+}
+t.configure = function(n2) {
+  var e2, t2;
+  for (e2 in n2)
+    void 0 !== (t2 = n2[e2]) && n2.hasOwnProperty(e2) && (r[e2] = t2);
+  return this;
+}, t.status = null, t.set = function(n2) {
+  var e2 = t.isStarted();
+  n2 = i(n2, r.minimum, 1), t.status = 1 === n2 ? null : n2;
+  var u2 = t.render(!e2), c2 = u2.querySelector(r.barSelector), l2 = r.speed, d2 = r.easing;
+  return o(function(e3) {
+    "" === r.positionUsing && (r.positionUsing = t.getPositioningCSS()), a(c2, function(n3, e4, t2) {
+      var i2;
+      return (i2 = "translate3d" === r.positionUsing ? { transform: "translate3d(" + s(n3) + "%,0,0)" } : "translate" === r.positionUsing ? { transform: "translate(" + s(n3) + "%,0)" } : { "margin-left": s(n3) + "%" }).transition = "all " + e4 + "ms " + t2, i2;
+    }(n2, l2, d2)), 1 === n2 ? (a(u2, { transition: "none", opacity: 1 }), setTimeout(function() {
+      a(u2, { transition: "all " + l2 + "ms linear", opacity: 0 }), setTimeout(function() {
+        t.remove(), e3();
+      }, l2);
+    }, l2)) : setTimeout(e3, l2);
+  }), this;
+}, t.isStarted = function() {
+  return "number" == typeof t.status;
+}, t.start = function() {
+  t.status || t.set(0);
+  var n2 = function() {
+    setTimeout(function() {
+      t.status && (t.trickle(), n2());
+    }, r.trickleSpeed);
+  };
+  return r.trickle && n2(), this;
+}, t.done = function(n2) {
+  return n2 || t.status ? t.inc(0.3 + 0.5 * Math.random()).set(1) : this;
+}, t.inc = function(n2) {
+  var e2 = t.status;
+  return e2 ? e2 > 1 ? void 0 : ("number" != typeof n2 && (n2 = e2 >= 0 && e2 < 0.2 ? 0.1 : e2 >= 0.2 && e2 < 0.5 ? 0.04 : e2 >= 0.5 && e2 < 0.8 ? 0.02 : e2 >= 0.8 && e2 < 0.99 ? 5e-3 : 0), e2 = i(e2 + n2, 0, 0.994), t.set(e2)) : t.start();
+}, t.trickle = function() {
+  return t.inc();
+}, n = 0, e = 0, t.promise = function(r2) {
+  return r2 && "resolved" !== r2.state() ? (0 === e && t.start(), n++, e++, r2.always(function() {
+    0 == --e ? (n = 0, t.done()) : t.set((n - e) / n);
+  }), this) : this;
+}, t.render = function(n2) {
+  if (t.isRendered())
+    return document.getElementById("nprogress");
+  c(document.documentElement, "nprogress-busy");
+  var e2 = document.createElement("div");
+  e2.id = "nprogress", e2.innerHTML = r.template;
+  var i2, o2 = e2.querySelector(r.barSelector), u2 = n2 ? "-100" : s(t.status || 0), l2 = document.querySelector(r.parent);
+  return a(o2, { transition: "all 0 linear", transform: "translate3d(" + u2 + "%,0,0)" }), r.showSpinner || (i2 = e2.querySelector(r.spinnerSelector)) && m(i2), l2 != document.body && c(l2, "nprogress-custom-parent"), l2.appendChild(e2), e2;
+}, t.remove = function() {
+  l(document.documentElement, "nprogress-busy"), l(document.querySelector(r.parent), "nprogress-custom-parent");
+  var n2 = document.getElementById("nprogress");
+  n2 && m(n2);
+}, t.isRendered = function() {
+  return !!document.getElementById("nprogress");
+}, t.getPositioningCSS = function() {
+  var n2 = document.body.style, e2 = "WebkitTransform" in n2 ? "Webkit" : "MozTransform" in n2 ? "Moz" : "msTransform" in n2 ? "ms" : "OTransform" in n2 ? "O" : "";
+  return e2 + "Perspective" in n2 ? "translate3d" : e2 + "Transform" in n2 ? "translate" : "margin";
+};
+var o = function() {
+  var n2 = [];
+  function e2() {
+    var t2 = n2.shift();
+    t2 && t2(e2);
+  }
+  return function(t2) {
+    n2.push(t2), 1 == n2.length && e2();
+  };
+}(), a = function() {
+  var n2 = ["Webkit", "O", "Moz", "ms"], e2 = {};
+  function t2(t3, r2, i2) {
+    var s2;
+    s2 = (s2 = r2).replace(/^-ms-/, "ms-").replace(/-([\da-z])/gi, function(n3, e3) {
+      return e3.toUpperCase();
+    }), r2 = e2[s2] || (e2[s2] = function(e3) {
+      var t4 = document.body.style;
+      if (e3 in t4)
+        return e3;
+      for (var r3, i3 = n2.length, s3 = e3.charAt(0).toUpperCase() + e3.slice(1); i3--; )
+        if ((r3 = n2[i3] + s3) in t4)
+          return r3;
+      return e3;
+    }(s2)), t3.style[r2] = i2;
+  }
+  return function(n3, e3) {
+    var r2, i2, s2 = arguments;
+    if (2 == s2.length)
+      for (r2 in e3)
+        void 0 !== (i2 = e3[r2]) && e3.hasOwnProperty(r2) && t2(n3, r2, i2);
+    else
+      t2(n3, s2[1], s2[2]);
+  };
+}();
+function u(n2, e2) {
+  return ("string" == typeof n2 ? n2 : d(n2)).indexOf(" " + e2 + " ") >= 0;
+}
+function c(n2, e2) {
+  var t2 = d(n2), r2 = t2 + e2;
+  u(t2, e2) || (n2.className = r2.substring(1));
+}
+function l(n2, e2) {
+  var t2, r2 = d(n2);
+  u(n2, e2) && (t2 = r2.replace(" " + e2 + " ", " "), n2.className = t2.substring(1, t2.length - 1));
+}
+function d(n2) {
+  return (" " + (n2 && n2.className || "") + " ").replace(/\s+/gi, " ");
+}
+function m(n2) {
+  n2 && n2.parentNode && n2.parentNode.removeChild(n2);
+}
+const _imports_0$4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAO4ElEQVR4Xu1dCWxcxRn+/3lv7fXajm2I94odO8EOJZCaK9AchDScAVKOVCAoBAqtWlqJ3hKVaFW1SK3UC5CKgBZKEYVCIRBCCoSEIwnlSGgwEI7YJPGRfbvrOHZ82/ve/NVsWGfXfut9u+9Yk+xK1kremX/++b/3Zv7555t/EKbpJxwOlxJRnSRBnfgmTvUAzMsQPJx4KSLzEPFSoT4iGyTiQwzZICcYAuBRZLgPEds0DdrEt9/vH5yOXcXpolQ0Gi0DUE8jgoVEcCYQzLNUN4TdiLADEbYDyDu9Xu+ApfJzFJZXAITRieh8Iu1SIGgCAJZjP7KtxgGhGVHagIib8gmG4wAQESqKsoQhXYbIlhFRUbbWs7I8Io4R8S2c8PlAIPAGIpKV8jPJcgwAIpK6upQLSIObCWBuJsXy8TsC7EEJHqquDryMiJoTOtgOgDB8VFFWEcBNgFDjRKdMt0HQiQAPewOB9XYDYSsAkUhnE3HpdgBqNG2UvAjAFmTa73y+mma7mrcFgJ6ensqxkZHbCOhrdinupFwEfK7I7b6nqqqq1+p2LQdAUZTlCPBLAJphtbL5lIeIhzjBbwKBwGtW6mEZAEQkR6PKbcThOisVnG6ykMFjXm/gHkRUrdDNEgC6urqCXFV/S0AnW6HUdJeBgLuYLP+8uro6ZFZX0wAoinIyQ7ibiCrNKvNFqo+IvZzgB4FAYJcZvU0B0B0Of0Ul/nsCKDGjxBe1LgIMy8h+drzf/1aufcgZgFAodLHE8Fdi7M+18aOhnpgLNE6/CgaDL+bSn5wAEMZnCHfm0uDRWocT3JELCFkDEB92gO461p/8iQ+SeBNkwB9mOxxlBUB8wgW671gd8zO9vWJO4IDfzWZiNgxA3NXU1EeONW8nk9F13oReJslrjLqohgCIL7LC4QePFT8/W6NPAgFwl9fvv8XIYs0QABFF+QkBXWtWsWOpPgI+7gsE/pipzxkBOBzboT9kElT4fbIFCPCnmWJHUwIgopqjIyNrj7bAmlMPiwjgFRW7V08VRZ0SgIii/PJoCSk7ZXSd+eA5XyDw63TtpwXg8GYKezBfih9N7SLjt6Tb1NEFQGwjRsLhR7+4O1nTDT5s8fn91+ttb+oCEAmFriCEO6ZbN77I+iDBnb5g8NnJQ9SE/8SffkV5erptoBMh7FXIszeklfUNcdfgMMrDoyQPjUA8GFjiBrW0GFWPG9UZpRCbG2QD9QE25DDLJP0zQtDpCwRWT3wLJr0B0WjoYq5Nj0CbMPqHn/EZLfvV8s4olMbU7IhbLgl4sBqGTqyV+k45gfVhRqfb3neMSXCH15saNU1RSZCmomHliXzzdogAmlu0inc+5jP7h8BlhVnKPBg7ez470NTADuULCME78voD1ySTv1IACIVCSxnCXVZ0OFcZu9t52bZmzdszALYw5spLMfbV01iksZblhRvKCX4YDAa3JeyTAkBY2f87ADw/V+OZqccJ4JUdmre5lR9nRo7Ruqc24MEVZ8pR598G2uQPzLp9EgBxoizXNuaDqzk0AtK6LeqsUDd5kg0ojNPUIHWfPBf6ykuYGu3hxTs+1Y5rD0PZVIaeOwv6G2pYv9uFPHwA3M2faVWjMZAm1vEdj8NfWyztn1FmDcPBCPiCi4pMujBBCB5/AyKRyBXENcddz4N93PXvV7S6geHD3kzy5/JzpI6GGjaJ179pe/o3ZeUiaf/8etafLGd4hKQnNmmzu/upeGIbHjeo110k76vwOAgCk+70+Xxxl3QcgHA49FcgOM0IilaVGR4l9thGtb5XZ7yfV4uHVi2VFb22NA74wLrYCQkXNFFmwVzWc+HZUkSvTlcvFT3ygqpLCq4shbFrL5TbPG5nCLmAsNPvD357HAAx/HBNfcVBfj4IIz65WasNHeApw07CeHpPcrJhn9+mBj7toIrk/11znryvxosj6R6Qf7yg1h/oJbfe79VVOHLNCqm9uAi5VQ/YFHI4k+QVYhiKvwHRaOgcrsGfHWh4vIn129TA7gkGTG5/1RLWOW+2lNZT+c9/Nf/HbTyFi3TLZdJnleUslq4f/9ocq90fhfixJr3PSfWs95JFUtgJOzAJfuT1BrfGAYhEQj92klK4JwSeZ16PzZ6qo6fPY91fPUPqSlfmoQ3qnJ6+1DF91RKpc97s9O7lvWtjDcOjk+ea5DZWL5faxQrabhAExdHnC/4pDkBYUR53KvAm3M2HN2hzevr5pAkxudNiFXvjJa49FWUwiYO5c7dW8cq7PDDRSP7jcPgbF8ltesZ7bzev2PyuNqnOxLIVpTj2zUulvZJk80kZhN1+f/A6FKcRgfjrdiOekL/9I61qSzP3GWmvrATU886UlIQnpGqAb3/Ij3vnI7VaHPLS+zTUYN9Fi+SwW4bxsfyDVj7j1f9p/phmLJRx9nypa2kT6zaio6kyyM4V57XmI9AjpgQZrKxqhPc/ozaM6PjkU4lwF4Em/g4NQJGRA1wuGXhwJgy5ZORi0tXzsqZqT7im37nC1cpsjh0R4BqMRpWVXKPfGLShqWIf7ePlL7ypzdITIoYcTSOW7sk21bBOZQYEkoQ83Vtx6WKp80t19oYrmIS/wEgk9F3i8C2rO6gnb+3r6qy9ISpP/u2kOta76BTWXTUDY+IN+bSNyrY0a76JPr5V+olh7dzT5fCJtWxAhKp7+si17X0+c3cHT3Fpa70wePV5rg6r2tWTgwz+hk7Ff0bHiN33rNooxvGEMmfMY93LdTyd3n5yPfqSWq8XPjBjkJJi0m64WN5b7mGTJvaN2zXvBxPiULde6WrxuMHG05K0CSPK/r8T4AIzHTNSd9ceXv7i20eGn2IXaN9f7WpJFwx74331+Ld2UbUR2UbLLGtikYXzpR698uLBuHdtrDF5z+HypXJHQy3amOIA3xfx/39xogajnci13Gs7tZnvfsJnJurPCWD/Vcvl/enkdUTJ/eRmtT7X9vTqrVkp76muxLF0Mp/cpNV2dB3OPyE+dntDDLFVDEHrATCjf2zWEOu2qsHWziMH9+qD2L/63PQAtIWp5KlX1Tqz7SbXzwTAYxvV2UpSRDaTjuZ1IwUjYWUzUWpMxbzgyRIefUGti/TS+EkaMQTdeqXcmm7Bs/U9babYEbNSl3OapMhZ85nuEDSiAntgbawh2SsqKQb1e1e5Wq3UIVmWIG6JN+AtALT9lMu9a8cah0cxJSbfdAI7eP5ZUnRiB4VnIiKXqsU+qQB9zcXyXr34/3/e1Pwf70uNLbkkoNuudn1qFwAApDoGwF+ejjUKr0bs9yZ/5tWyQ185BburK9mY2JgRW5JbP1B9Y2NoS+YUschaukCKnjRH6pcYUaSbF2/9QKvW2+Sp9eHA1SvkTlsBcGoI+stTscapVsCMIXFONq89U00pFmNTvWSLF7DoolOkg3YBkBiCHJmE73821qC362VX56yQ+61VcmuFrduVpDjmhj74XGxu76A9TAcrjD1RhhMr4c/dUOUhAPqyHZ1IlvnvzVpte/SIj213e2blZ9pdMyv/cH1837FQxMSFmDUdsEfKiXV46LLF+vvR1rYoQhEOBeM+aaeyDW+o0z5hU1UZjK25xLVXlsBI5NsUHvFgnFPh6P4hLj+wTrM95GHGIoId8fUVcru9E+8RDePhaCc3ZP75kloXPnhkNWzGWFbXDR7Phq44l3WWFDvCioirH9+QcXJL8r0WXrF5R+Z9WauNO5W8cg/EliyQoyfPxRQylyM6iC1J0VA4HHrM8kSpOj2Ih3yfjjUa3Zu1ywhiU2a2DwfmzJIGGmtwUBIrMqc/iU150a6TtBS9jQ8r+15dCSO1PjZY7sGYmEiZBFQkAS9xM81TTFqpGzTHGHBTdCyFluIkMWt0DNjf1sdOGBmbTJY1C4TY3rxksTPEKrO6phCznKYmGuXoZNNJwWC49SrXbnfRETpKNvUdLptKTfx8HnCUnPv4y9rsdLzQXIzhq8Th61fqk7JykWdrnYnk3MPzgLP09KERkv65Ua3vG7TmCNLMShy5caW8z1bDWSQc9ejp+TigceAQL3riZa0uW6KWnh2EO3dDhj1fi+xnSkzaAxrxYSgPR5Q6I1SybptaY8WkLNzL6y9y7S0tsZNKYsr+Yvmlf0RJiM3XIT3BA1q7Ra3p6YMpCbtGur7wJOnAslPZASNl81FmykN6+TymKhZp67dpwT0hnsKcy9ZImegu2cqzsnzGY6qisXwf1G7p4GVb3tO82RJqE4ZqmMX6Ll8mmc5oa6XhE7IyHtQWBadDqgKxcb/jY61q+yfazIlMikyGWX46C59xomR5lvNM7Wb83WiqgrhLOk2SdQggWjq0so/aYEa7wstjSbxSvQ6LiOY1F0jtdtPKMxpbp4DhZB3jb8E0S1cjyL2tnVDa2cU9XQfJ3TfMi0ZHQRJsiooZOLpgLvae2sAO2X6yJRfrQ5bpag4vzAoJm3Kytd7Tn23CpoSMQsoy8xCI2zdySlkmmo5fRTI68rQT3FHzXZ1+Ekwn7RNdKqStzB1Y02krk4aiQuLWLHFIbLhkqmaIi1lIXZzJjKm/iytOLE1dLMQXkncbA0FcbWJ58u5E04X09VODYGv6+kTThQsc9EFw5AKHRNOFK0wmg+DYFSbJIBQu8RG3eefhEp+U4ahwjVV+rrFKmZgLF7kZc5H04kQ510yqWLjKMHcrGlqIGRH/+WLtB0f7VSfiahKv33+3kfthjNjNMgCShqTCdbZGLP95GcsBGI+iFi50NgSDLQCMB/EKV5pnBMFWAETrYpM/qiirCOCm6XYnQVrrEHQiwMPeQGC93q0XGa2aRQHbAUjoIoDo6lIuIA1uznd6/HT2EbwdlOCh6urAy3YbPqGDYwAkASHOpS1hSJchsmX5SBaeDIDgahLxLZzw+UAg8EZybv8sHuScizoOQLKmcUIw0flE2qVA0ORg6mSRIqIZUdqAiJsSmcxztqKJinkFYCIYAOppRLCQOC60PpEstiCj7YiwHUDemU+jp7yBJsCztao4vUlEdZIEdeKbONUDMC9D8HDipYjMQ3Q49QEiGyTiQwzZICcYAuBRZLgPEds0DdrEt9/vtzH3W+6m+D/dn7fZgEU5BQAAAABJRU5ErkJggg==";
+const _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAIMklEQVR4XuVbbWxT1xl+33PsYOcLBxL72qQkBNgCLRBKKGpQRyGjgnYtQlolSku1Seu6/dlHp2qapu3HPjRN1dZtv4aYpm3QDm3SKgItaSkrtFkLFMJHq0HbiECT2Nd2SZwv48T3nne6Zg5Ocm1f28csk/0vuec85z3P+Xjf9znnIBT5F4lEamKxsXsBWBMD1kAgGojIhcjKiUSF0TwiGycSUUSMILDrAsR1AHHV4ajsdrlcQ8U0EYsB/pnfv0JjsI0BbhBEywppgyH2CKDTNgGdtT7f5UKwzOpKI0BV1QpEsRME7CCAJbINTcwUgF5gcIiIvaIoyriMNgomIBwOV4l4fDch7AKAKhlGWcAYRYKDzG5/ua6ubtRC+bRF8iaAiDAY9D8KBN8CQFchRuRflyKA8DuPx3cYESkfnLwICIVCihD6z4FoTT6NSq+DeJEx/kO3263mip0zAaH+/hZhYy8AQU2ujRW1PMIQ08Tz7vr6C7m0kxMBqjqwAwh+AIC2XBq5c2VJA4RfKMqiQ1bbtEQAEfFQKPBtErDbKvD/shwyeNnt9v4WEfVsdmQlINH5YOAFIvhCNrC59B0R3nZ7vM9nIyErAcGg/7n/l5GfOQDGTPB4fL/ONDAZCbi15vFHc2lkc7YF6aeZ9oS0BCR2e46/n7sbnlUqSGM6fSOddzAl4Jaf1/bPOVdntc+z1gIMMWbbYxYnzCLgVoSn/mHOBDn5dnoWCXjR41G+NjNinEWAqg48BoQ/ltXunMJB+omiLOpItWkaAUZio2uTr8iM7aMx4ie6RV1fWFTUL2TRLa0s5HSY++doDPhr72ne4A1yNips7MF1PFThhKy+3DrJFOG2sp2pCdQ0AoJ+/7OE8Ix1wMwlu6/orq5LujuuI0uWrCyH+EPreWCJj0VTa/cGqPzYGc07GgV78v92DqJtFQu3ruDSRBEk2Ofx+fYm25giwMjngcQRGSmtIIB/nIjXX1ehMh1FnoV4012NMeN7eJgc6iA505X11WL08S28z8bzy/hm4I4Csi8l9YQpAoJB/1Mk4DsyRt8Y+bfOC0UGVhKjbRUL3X8PH5SBiQx+4/H4DhhYtwkI+P8uS8l565xe1/2xWCjD2CRGyzI+2L6ehWRgGsqSx+t7fIqAhIaHsF8GuIFx9opwnTyvS50BD6xmwfvulrcX2Aj2GBpjYgaoqv+7QPCkLAIuXRXVx07rPll4Bk77Oh5o+RwbloaJ8JKi+F5MEBBSAwcLVW9TDTv3ke460S13D9i0lqutzSwiiwBDbXYr3l2Y0O1vRo/JAjZw/vZPUd8X1NN6gHzaWuSG8V3t9r586qar43CWb0VV7W8HYr+UBRyOUNmBo/EmcXt/nQU9zw76XQqOVzsxHheAnw0l3GA5ZZA1GQLsfoj3ehawCVm2Aorvo6r6nwGCZ2WAxjRgLx2NN0bGoMwMDxFgw0oMt62y35gp4g6NkP34Oc2TKXaoroD4nm32XkcZCBn2AsJeDKnqzwSJbYUAGoHPBz36/Hc/FHXRGJjqhQ476I9s5AON3ukR4Mx2Xz+lez7sFWkFV+c80Nru4eE1y/lwnkr4VJMMWScGVf9+IliRLwG9flHeeVr3pet4Ere9lQdalmffxXWd8M+deuPQCM3LZFNZGYmtrTZ/cwMby9d2RLiMamDgMAB68wXZe0hbOhalqfjdDKfOBbGnt9uvWW0jOAjzDrwez3q8Vu4A7Zs77T1WcWeXowAG1cBxIpqfL8iLB+PNxhLI9Nu6gftXN7GRXNr446vakmyzwPDhzz1hv5ILbmpZRBw2ZsCpQmSvX/013pzNgKe386t1LjaZrVzq9yNdmvejvuwD870CCAAg7Y4Q8PUdtp6qctRyIeDN93X3xR6xIFudggm4E0vgya28V6nNzX8f7tK9H/eJjEtT1hIoaBPc1xFfOjJ+W8QwG7FNLSyYq6hhBVfSJligGwxQ+RtndG8mT1BTDRNffbis16rf/qRPVHZ06fWZpr+zDPQtrTxQsBuUEQgZhv77mqjquiTco+PmLrFlOb/R3srC2da0piPu65hcmi6uMKLBjat5aGUjK+hihGFHIhCSGQobxv+lc7JxaARMg5htG9jA3U08reE3Y8QPv0vedInUwiqceGq7/ZqNZ8oaslGc8t0IhWUnQ0ZM/6ejepMQZHrosqKBRdpWsRuuKownTTG609MvKt88qyvpRp4zpK88zK+m1suhq+ZFjWSoOOmwVt8XpIzpsKsSJiucLK7pxIbHqCw2CTxThxoUGPvyZnt/wZ1OAUikw8bfsgWRYkhim9dy9d5iCCIGAbIlsQufiPnHz+p55xdmo2w1mbI8Q1IlMemi6GW95uQF4bFsjIWCD6zhwftWMmkHJNNEUaP9oERZ/J3zovbMFb3WQr8sF1mzjA1+cT0vjiyeIEDiwUgxVOEH1zJ1XTOXIoqaHozIPBoz3FrHvzRfTx9Vmw0xA4LFPjaq1EAMgIE6JByfBqgqXVq97C4ceXSjzW/oghJ+5kdjiVkg+XD0gx6qPnlB80zEb7s4Iyx+5H6737MApomb/jA4XjsV9w2n6IlGrL95nU1tXox5qz4zCUt7OGoULMbx+M0JYu+cF3WfhkWFr5ZFt6znIYfNXNQ0IsEj72ne8BA5P7+YD29ay8M2DnldgTWfKVmOx2+5xBK+IGEQUPJXZBKRYSlfkkqunZK+JpckoaQvSiZJKOmrsv/dFEv7svQUCaV6XT41oCjZBxOpJJT0k5kpF1nKj6aSJJT0s7nUJVGyDydnZlsl+3TWLO0sycfT6ZSauf58/j8ZMTJDiGYIhAAAAABJRU5ErkJggg==";
+const definedComponents = {
+  "action-menu": "action-menu",
+  "bulletin-board": "bulletin-board",
+  "button-group": "button-group",
+  "card-container": "card-container",
+  "card-item": "card-item",
+  "card-layout": "card-layout",
+  "card-template": "card-template",
+  "carousel-item": "carousel-item",
+  "cascader-menu": "cascader-menu",
+  "cascader-panel": "cascader-panel",
+  "cascader-node": "cascader-node",
+  "checkbox-button": "checkbox-button",
+  "checkbox-group": "checkbox-group",
+  "context-menu": "context-menu",
+  "collapse-item": "collapse-item",
+  "detail-page": "detail-page",
+  "dialog-box": "dialog-box__wrapper",
+  "dropdown-item": "dropdown-item",
+  "dropdown-menu": "dropdown-menu",
+  "drop-roles": "drop-roles",
+  "drop-times": "drop-times",
+  "date-panel": "date-panel",
+  "date-picker": "date-picker",
+  "data-range": "data-range",
+  "date-table": "date-table",
+  "date-editor": "date-editor",
+  "fall-menu": "fall-menu",
+  "form-valid": "form__valid",
+  "form-item": "form-item",
+  "img-preview": "img-preview",
+  "img-preview-item": "img-preview-item",
+  "ip-address": "ip-address",
+  "link-menu": "link-menu",
+  "month-range": "month-range",
+  "month-table": "month-table,year-table,quarter-panel__table",
+  "nav-menu": "nav-menu",
+  "option-group": "option-group",
+  "popup-horiz-menu": "popup-horiz-menu",
+  "popup-menu": "popup-menu",
+  "popconfirm-popover": "popconfirm-popover",
+  "picker-panel": "picker-panel",
+  "quick-link-menu": "quick-link-menu",
+  "time-picker": "time-picker",
+  "time-spinner": "time-spinner",
+  "time-panel": "time-panel",
+  "time-range": "time-range",
+  "time-select": "time-select",
+  "scroll-text": "scroll-text",
+  "slider-input": "slider__input",
+  "slide-bar": "slide-bar",
+  "slide-img": "slide-img",
+  "select-dropdown": "select-dropdown",
+  "suggest-popup": "suggest-popup",
+  "tab-item": "tab-item",
+  "tabs-dropdown": "tabs-dropdown",
+  "text-parse": "text-parse",
+  "text-popup": "text-popup",
+  "toggle-menu": "toggle-menu",
+  "tree-menu": "tree-menu",
+  "upload-list": "upload-list",
+  "upload-tip": "upload__tip",
+  "upload-dragger": "upload-dragger",
+  "user-account": "user-account",
+  "user-card": "user-card",
+  "user-contact": "user-contact",
+  "user-head": "user-head",
+  "user-link": "user-link",
+  "year-table": "year-table",
+  "skeleton": "skeleton",
+  "skeleton-item": "skeleton-item"
+};
+class TinyThemeTool {
+  constructor(theme2, styleSheetId = "tinyThemeVariables") {
+    this.currentTheme = null;
+    this.contentElement = null;
+    this.styleSheetId = null;
+    this.defaultTheme = {
+      id: "tiny-default-theme",
+      name: "Default",
+      cnName: "默认",
+      data: {}
+    };
+    let currentTheme = theme2;
+    if (!theme2) {
+      currentTheme = this.defaultTheme;
+    }
+    this.styleSheetId = styleSheetId;
+    this.changeTheme(currentTheme);
+  }
+  changeTheme(theme2) {
+    let currentTheme = theme2;
+    if (typeof window === "undefined" || typeof document === "undefined") {
+      throw new TypeError("当前主题工具只支持浏览器环境");
+    }
+    if (!theme2) {
+      currentTheme = this.defaultTheme;
+    }
+    this.currentTheme = currentTheme;
+    if (!this.contentElement) {
+      const styleElement = document.getElementById(this.styleSheetId);
+      if (styleElement) {
+        this.contentElement = styleElement;
+      } else {
+        this.contentElement = document.createElement("style");
+        this.contentElement.id = this.styleSheetId;
+        document.head.appendChild(this.contentElement);
+      }
+    }
+    this.contentElement.textContent = this.formatCSSVariables(currentTheme.data);
+    this.contentElement.setAttribute("tiny-theme", this.currentTheme.id);
+  }
+  /**
+   * 获取需要设置主题变量的选择器,支持多个选择器(在 theme.config.js 中配置,多个选择器之间通过逗号分隔)
+   * @param {theme.config 配置文件中的 key} key
+   * @returns 需要设置主题变量的选择器
+   * @example
+   * 示例1:输入:checkbox-button,输出:.tiny-checkbox-button[class*=tiny]
+   * 示例2:输入:month-table,输出:.tiny-month-table[class*=tiny],.tiny-year-table[class*=tiny]
+   */
+  getSelectorByKey(key2) {
+    if (!definedComponents[key2])
+      return;
+    let selector2 = "";
+    const keyItems = definedComponents[key2].split(",");
+    keyItems.forEach((componentName, index3) => {
+      selector2 += ".tiny-" + componentName + "[class*=tiny]" + (index3 < keyItems.length - 1 ? "," : "");
+    });
+    return selector2;
+  }
+  // 通过 `组件css变量`,来推导出组件名: 从 ti-checkbox-button-bg-color, 推导出 checkbox-button
+  findClassName(name2) {
+    const compNameList = name2.split("-");
+    if (compNameList.length < 2) {
+      return false;
+    }
+    const threeKey = `${compNameList[1]}-${compNameList[2]}-${compNameList[3]}`;
+    const twoKey = `${compNameList[1]}-${compNameList[2]}`;
+    return this.getSelectorByKey(threeKey) || this.getSelectorByKey(twoKey) || ".tiny-" + compNameList[1] + "[class*=tiny]";
+  }
+  formatCSSVariables(themeData) {
+    const componentsMap = {};
+    let rootCssVar = "html:root {";
+    let componentsCssVar = "";
+    Object.keys(themeData).forEach((item) => {
+      const isBaseCssVar = item.startsWith("ti-base") || item.startsWith("ti-common");
+      if (isBaseCssVar) {
+        rootCssVar += `--${item}:${themeData[item]};`;
+      } else {
+        const classkey = this.findClassName(item);
+        if (classkey) {
+          if (componentsMap[classkey]) {
+            componentsMap[classkey].push(`--${item}:${themeData[item]};`);
+          } else {
+            componentsMap[classkey] = [`--${item}:${themeData[item]};`];
+          }
+        }
+      }
+    });
+    Object.keys(componentsMap).forEach((item) => {
+      componentsCssVar += `${item}{${componentsMap[item].join("")}}`;
+    });
+    return `${rootCssVar}}${componentsCssVar}`;
+  }
+}
+const theme = "light";
+const colorWeek = false;
+const navbar = true;
+const menu = true;
+const hideMenu = false;
+const menuCollapse = false;
+const footer = true;
+const themelist = "default";
+const themeColor = "1";
+const themeValue = 0;
+const themeContent = {};
+const menuWidth = 220;
+const Settings = false;
+const device = "desktop";
+const tabBar = false;
+const step = 0;
+const themeLightColors = null;
+const defaultSettings = {
+  theme,
+  colorWeek,
+  navbar,
+  menu,
+  hideMenu,
+  menuCollapse,
+  footer,
+  themelist,
+  themeColor,
+  themeValue,
+  themeContent,
+  menuWidth,
+  Settings,
+  device,
+  tabBar,
+  step,
+  themeLightColors
+};
+const useAppStore = defineStore("app", {
+  state: () => ({ ...defaultSettings }),
+  getters: {
+    appCurrentSetting(state) {
+      return state;
+    },
+    appDevice(state) {
+      return state.device;
+    }
+  },
+  actions: {
+    // Update app settings
+    updateSettings(partial) {
+      this.$patch(partial);
+    },
+    // updateStep
+    updateStep(step2) {
+      this.step = step2;
+    },
+    toggleDevice(device2) {
+      this.device = device2;
+    },
+    toggleMenu(value) {
+      this.hideMenu = value;
+    },
+    setthemeLightColors(themeLightColors2) {
+      this.themeLightColors = themeLightColors2;
+    }
+  }
+});
+function bind(fn, thisArg) {
+  return function wrap() {
+    return fn.apply(thisArg, arguments);
+  };
+}
+const { toString } = Object.prototype;
+const { getPrototypeOf } = Object;
+const kindOf = ((cache) => (thing) => {
+  const str = toString.call(thing);
+  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
+})(/* @__PURE__ */ Object.create(null));
+const kindOfTest = (type2) => {
+  type2 = type2.toLowerCase();
+  return (thing) => kindOf(thing) === type2;
+};
+const typeOfTest = (type2) => (thing) => typeof thing === type2;
+const { isArray } = Array;
+const isUndefined = typeOfTest("undefined");
+function isBuffer(val) {
+  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
+}
+const isArrayBuffer = kindOfTest("ArrayBuffer");
+function isArrayBufferView(val) {
+  let result2;
+  if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
+    result2 = ArrayBuffer.isView(val);
+  } else {
+    result2 = val && val.buffer && isArrayBuffer(val.buffer);
+  }
+  return result2;
+}
+const isString = typeOfTest("string");
+const isFunction = typeOfTest("function");
+const isNumber = typeOfTest("number");
+const isObject = (thing) => thing !== null && typeof thing === "object";
+const isBoolean = (thing) => thing === true || thing === false;
+const isPlainObject = (val) => {
+  if (kindOf(val) !== "object") {
+    return false;
+  }
+  const prototype2 = getPrototypeOf(val);
+  return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
+};
+const isDate = kindOfTest("Date");
+const isFile = kindOfTest("File");
+const isBlob = kindOfTest("Blob");
+const isFileList = kindOfTest("FileList");
+const isStream = (val) => isObject(val) && isFunction(val.pipe);
+const isFormData = (thing) => {
+  let kind;
+  return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
+  kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
+};
+const isURLSearchParams = kindOfTest("URLSearchParams");
+const [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest);
+const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
+function forEach(obj2, fn, { allOwnKeys = false } = {}) {
+  if (obj2 === null || typeof obj2 === "undefined") {
+    return;
+  }
+  let i2;
+  let l2;
+  if (typeof obj2 !== "object") {
+    obj2 = [obj2];
+  }
+  if (isArray(obj2)) {
+    for (i2 = 0, l2 = obj2.length; i2 < l2; i2++) {
+      fn.call(null, obj2[i2], i2, obj2);
+    }
+  } else {
+    const keys2 = allOwnKeys ? Object.getOwnPropertyNames(obj2) : Object.keys(obj2);
+    const len2 = keys2.length;
+    let key2;
+    for (i2 = 0; i2 < len2; i2++) {
+      key2 = keys2[i2];
+      fn.call(null, obj2[key2], key2, obj2);
+    }
+  }
+}
+function findKey(obj2, key2) {
+  key2 = key2.toLowerCase();
+  const keys2 = Object.keys(obj2);
+  let i2 = keys2.length;
+  let _key;
+  while (i2-- > 0) {
+    _key = keys2[i2];
+    if (key2 === _key.toLowerCase()) {
+      return _key;
+    }
+  }
+  return null;
+}
+const _global = (() => {
+  if (typeof globalThis !== "undefined")
+    return globalThis;
+  return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
+})();
+const isContextDefined = (context) => !isUndefined(context) && context !== _global;
+function merge() {
+  const { caseless } = isContextDefined(this) && this || {};
+  const result2 = {};
+  const assignValue = (val, key2) => {
+    const targetKey = caseless && findKey(result2, key2) || key2;
+    if (isPlainObject(result2[targetKey]) && isPlainObject(val)) {
+      result2[targetKey] = merge(result2[targetKey], val);
+    } else if (isPlainObject(val)) {
+      result2[targetKey] = merge({}, val);
+    } else if (isArray(val)) {
+      result2[targetKey] = val.slice();
+    } else {
+      result2[targetKey] = val;
+    }
+  };
+  for (let i2 = 0, l2 = arguments.length; i2 < l2; i2++) {
+    arguments[i2] && forEach(arguments[i2], assignValue);
+  }
+  return result2;
+}
+const extend = (a2, b2, thisArg, { allOwnKeys } = {}) => {
+  forEach(b2, (val, key2) => {
+    if (thisArg && isFunction(val)) {
+      a2[key2] = bind(val, thisArg);
+    } else {
+      a2[key2] = val;
+    }
+  }, { allOwnKeys });
+  return a2;
+};
+const stripBOM = (content) => {
+  if (content.charCodeAt(0) === 65279) {
+    content = content.slice(1);
+  }
+  return content;
+};
+const inherits = (constructor, superConstructor, props2, descriptors2) => {
+  constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
+  constructor.prototype.constructor = constructor;
+  Object.defineProperty(constructor, "super", {
+    value: superConstructor.prototype
+  });
+  props2 && Object.assign(constructor.prototype, props2);
+};
+const toFlatObject = (sourceObj, destObj, filter4, propFilter) => {
+  let props2;
+  let i2;
+  let prop2;
+  const merged = {};
+  destObj = destObj || {};
+  if (sourceObj == null)
+    return destObj;
+  do {
+    props2 = Object.getOwnPropertyNames(sourceObj);
+    i2 = props2.length;
+    while (i2-- > 0) {
+      prop2 = props2[i2];
+      if ((!propFilter || propFilter(prop2, sourceObj, destObj)) && !merged[prop2]) {
+        destObj[prop2] = sourceObj[prop2];
+        merged[prop2] = true;
+      }
+    }
+    sourceObj = filter4 !== false && getPrototypeOf(sourceObj);
+  } while (sourceObj && (!filter4 || filter4(sourceObj, destObj)) && sourceObj !== Object.prototype);
+  return destObj;
+};
+const endsWith = (str, searchString, position2) => {
+  str = String(str);
+  if (position2 === void 0 || position2 > str.length) {
+    position2 = str.length;
+  }
+  position2 -= searchString.length;
+  const lastIndex = str.indexOf(searchString, position2);
+  return lastIndex !== -1 && lastIndex === position2;
+};
+const toArray = (thing) => {
+  if (!thing)
+    return null;
+  if (isArray(thing))
+    return thing;
+  let i2 = thing.length;
+  if (!isNumber(i2))
+    return null;
+  const arr = new Array(i2);
+  while (i2-- > 0) {
+    arr[i2] = thing[i2];
+  }
+  return arr;
+};
+const isTypedArray = ((TypedArray) => {
+  return (thing) => {
+    return TypedArray && thing instanceof TypedArray;
+  };
+})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
+const forEachEntry = (obj2, fn) => {
+  const generator = obj2 && obj2[Symbol.iterator];
+  const iterator2 = generator.call(obj2);
+  let result2;
+  while ((result2 = iterator2.next()) && !result2.done) {
+    const pair = result2.value;
+    fn.call(obj2, pair[0], pair[1]);
+  }
+};
+const matchAll = (regExp, str) => {
+  let matches;
+  const arr = [];
+  while ((matches = regExp.exec(str)) !== null) {
+    arr.push(matches);
+  }
+  return arr;
+};
+const isHTMLForm = kindOfTest("HTMLFormElement");
+const toCamelCase = (str) => {
+  return str.toLowerCase().replace(
+    /[-_\s]([a-z\d])(\w*)/g,
+    function replacer(m2, p1, p2) {
+      return p1.toUpperCase() + p2;
+    }
+  );
+};
+const hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj2, prop2) => hasOwnProperty2.call(obj2, prop2))(Object.prototype);
+const isRegExp = kindOfTest("RegExp");
+const reduceDescriptors = (obj2, reducer) => {
+  const descriptors2 = Object.getOwnPropertyDescriptors(obj2);
+  const reducedDescriptors = {};
+  forEach(descriptors2, (descriptor, name2) => {
+    let ret;
+    if ((ret = reducer(descriptor, name2, obj2)) !== false) {
+      reducedDescriptors[name2] = ret || descriptor;
+    }
+  });
+  Object.defineProperties(obj2, reducedDescriptors);
+};
+const freezeMethods = (obj2) => {
+  reduceDescriptors(obj2, (descriptor, name2) => {
+    if (isFunction(obj2) && ["arguments", "caller", "callee"].indexOf(name2) !== -1) {
+      return false;
+    }
+    const value = obj2[name2];
+    if (!isFunction(value))
+      return;
+    descriptor.enumerable = false;
+    if ("writable" in descriptor) {
+      descriptor.writable = false;
+      return;
+    }
+    if (!descriptor.set) {
+      descriptor.set = () => {
+        throw Error("Can not rewrite read-only method '" + name2 + "'");
+      };
+    }
+  });
+};
+const toObjectSet = (arrayOrString, delimiter) => {
+  const obj2 = {};
+  const define = (arr) => {
+    arr.forEach((value) => {
+      obj2[value] = true;
+    });
+  };
+  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
+  return obj2;
+};
+const noop = () => {
+};
+const toFiniteNumber = (value, defaultValue) => {
+  return value != null && Number.isFinite(value = +value) ? value : defaultValue;
+};
+const ALPHA = "abcdefghijklmnopqrstuvwxyz";
+const DIGIT = "0123456789";
+const ALPHABET = {
+  DIGIT,
+  ALPHA,
+  ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
+};
+const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
+  let str = "";
+  const { length: length2 } = alphabet;
+  while (size--) {
+    str += alphabet[Math.random() * length2 | 0];
+  }
+  return str;
+};
+function isSpecCompliantForm(thing) {
+  return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]);
+}
+const toJSONObject = (obj2) => {
+  const stack = new Array(10);
+  const visit = (source2, i2) => {
+    if (isObject(source2)) {
+      if (stack.indexOf(source2) >= 0) {
+        return;
+      }
+      if (!("toJSON" in source2)) {
+        stack[i2] = source2;
+        const target = isArray(source2) ? [] : {};
+        forEach(source2, (value, key2) => {
+          const reducedValue = visit(value, i2 + 1);
+          !isUndefined(reducedValue) && (target[key2] = reducedValue);
+        });
+        stack[i2] = void 0;
+        return target;
+      }
+    }
+    return source2;
+  };
+  return visit(obj2, 0);
+};
+const isAsyncFn = kindOfTest("AsyncFunction");
+const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
+const utils$1 = {
+  isArray,
+  isArrayBuffer,
+  isBuffer,
+  isFormData,
+  isArrayBufferView,
+  isString,
+  isNumber,
+  isBoolean,
+  isObject,
+  isPlainObject,
+  isReadableStream,
+  isRequest,
+  isResponse,
+  isHeaders,
+  isUndefined,
+  isDate,
+  isFile,
+  isBlob,
+  isRegExp,
+  isFunction,
+  isStream,
+  isURLSearchParams,
+  isTypedArray,
+  isFileList,
+  forEach,
+  merge,
+  extend,
+  trim,
+  stripBOM,
+  inherits,
+  toFlatObject,
+  kindOf,
+  kindOfTest,
+  endsWith,
+  toArray,
+  forEachEntry,
+  matchAll,
+  isHTMLForm,
+  hasOwnProperty,
+  hasOwnProp: hasOwnProperty,
+  // an alias to avoid ESLint no-prototype-builtins detection
+  reduceDescriptors,
+  freezeMethods,
+  toObjectSet,
+  toCamelCase,
+  noop,
+  toFiniteNumber,
+  findKey,
+  global: _global,
+  isContextDefined,
+  ALPHABET,
+  generateString,
+  isSpecCompliantForm,
+  toJSONObject,
+  isAsyncFn,
+  isThenable
+};
+function AxiosError(message, code, config2, request2, response) {
+  Error.call(this);
+  if (Error.captureStackTrace) {
+    Error.captureStackTrace(this, this.constructor);
+  } else {
+    this.stack = new Error().stack;
+  }
+  this.message = message;
+  this.name = "AxiosError";
+  code && (this.code = code);
+  config2 && (this.config = config2);
+  request2 && (this.request = request2);
+  response && (this.response = response);
+}
+utils$1.inherits(AxiosError, Error, {
+  toJSON: function toJSON() {
+    return {
+      // Standard
+      message: this.message,
+      name: this.name,
+      // Microsoft
+      description: this.description,
+      number: this.number,
+      // Mozilla
+      fileName: this.fileName,
+      lineNumber: this.lineNumber,
+      columnNumber: this.columnNumber,
+      stack: this.stack,
+      // Axios
+      config: utils$1.toJSONObject(this.config),
+      code: this.code,
+      status: this.response && this.response.status ? this.response.status : null
+    };
+  }
+});
+const prototype$1 = AxiosError.prototype;
+const descriptors = {};
+[
+  "ERR_BAD_OPTION_VALUE",
+  "ERR_BAD_OPTION",
+  "ECONNABORTED",
+  "ETIMEDOUT",
+  "ERR_NETWORK",
+  "ERR_FR_TOO_MANY_REDIRECTS",
+  "ERR_DEPRECATED",
+  "ERR_BAD_RESPONSE",
+  "ERR_BAD_REQUEST",
+  "ERR_CANCELED",
+  "ERR_NOT_SUPPORT",
+  "ERR_INVALID_URL"
+  // eslint-disable-next-line func-names
+].forEach((code) => {
+  descriptors[code] = { value: code };
+});
+Object.defineProperties(AxiosError, descriptors);
+Object.defineProperty(prototype$1, "isAxiosError", { value: true });
+AxiosError.from = (error, code, config2, request2, response, customProps) => {
+  const axiosError = Object.create(prototype$1);
+  utils$1.toFlatObject(error, axiosError, function filter4(obj2) {
+    return obj2 !== Error.prototype;
+  }, (prop2) => {
+    return prop2 !== "isAxiosError";
+  });
+  AxiosError.call(axiosError, error.message, code, config2, request2, response);
+  axiosError.cause = error;
+  axiosError.name = error.name;
+  customProps && Object.assign(axiosError, customProps);
+  return axiosError;
+};
+const httpAdapter = null;
+function isVisitable(thing) {
+  return utils$1.isPlainObject(thing) || utils$1.isArray(thing);
+}
+function removeBrackets(key2) {
+  return utils$1.endsWith(key2, "[]") ? key2.slice(0, -2) : key2;
+}
+function renderKey(path2, key2, dots) {
+  if (!path2)
+    return key2;
+  return path2.concat(key2).map(function each2(token2, i2) {
+    token2 = removeBrackets(token2);
+    return !dots && i2 ? "[" + token2 + "]" : token2;
+  }).join(dots ? "." : "");
+}
+function isFlatArray(arr) {
+  return utils$1.isArray(arr) && !arr.some(isVisitable);
+}
+const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter3(prop2) {
+  return /^is[A-Z]/.test(prop2);
+});
+function toFormData(obj2, formData, options2) {
+  if (!utils$1.isObject(obj2)) {
+    throw new TypeError("target must be an object");
+  }
+  formData = formData || new FormData();
+  options2 = utils$1.toFlatObject(options2, {
+    metaTokens: true,
+    dots: false,
+    indexes: false
+  }, false, function defined(option, source2) {
+    return !utils$1.isUndefined(source2[option]);
+  });
+  const metaTokens = options2.metaTokens;
+  const visitor = options2.visitor || defaultVisitor;
+  const dots = options2.dots;
+  const indexes = options2.indexes;
+  const _Blob = options2.Blob || typeof Blob !== "undefined" && Blob;
+  const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);
+  if (!utils$1.isFunction(visitor)) {
+    throw new TypeError("visitor must be a function");
+  }
+  function convertValue(value) {
+    if (value === null)
+      return "";
+    if (utils$1.isDate(value)) {
+      return value.toISOString();
+    }
+    if (!useBlob && utils$1.isBlob(value)) {
+      throw new AxiosError("Blob is not supported. Use a Buffer instead.");
+    }
+    if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) {
+      return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
+    }
+    return value;
+  }
+  function defaultVisitor(value, key2, path2) {
+    let arr = value;
+    if (value && !path2 && typeof value === "object") {
+      if (utils$1.endsWith(key2, "{}")) {
+        key2 = metaTokens ? key2 : key2.slice(0, -2);
+        value = JSON.stringify(value);
+      } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key2, "[]")) && (arr = utils$1.toArray(value))) {
+        key2 = removeBrackets(key2);
+        arr.forEach(function each2(el, index3) {
+          !(utils$1.isUndefined(el) || el === null) && formData.append(
+            // eslint-disable-next-line no-nested-ternary
+            indexes === true ? renderKey([key2], index3, dots) : indexes === null ? key2 : key2 + "[]",
+            convertValue(el)
+          );
+        });
+        return false;
+      }
+    }
+    if (isVisitable(value)) {
+      return true;
+    }
+    formData.append(renderKey(path2, key2, dots), convertValue(value));
+    return false;
+  }
+  const stack = [];
+  const exposedHelpers = Object.assign(predicates, {
+    defaultVisitor,
+    convertValue,
+    isVisitable
+  });
+  function build(value, path2) {
+    if (utils$1.isUndefined(value))
+      return;
+    if (stack.indexOf(value) !== -1) {
+      throw Error("Circular reference detected in " + path2.join("."));
+    }
+    stack.push(value);
+    utils$1.forEach(value, function each2(el, key2) {
+      const result2 = !(utils$1.isUndefined(el) || el === null) && visitor.call(
+        formData,
+        el,
+        utils$1.isString(key2) ? key2.trim() : key2,
+        path2,
+        exposedHelpers
+      );
+      if (result2 === true) {
+        build(el, path2 ? path2.concat(key2) : [key2]);
+      }
+    });
+    stack.pop();
+  }
+  if (!utils$1.isObject(obj2)) {
+    throw new TypeError("data must be an object");
+  }
+  build(obj2);
+  return formData;
+}
+function encode$1(str) {
+  const charMap = {
+    "!": "%21",
+    "'": "%27",
+    "(": "%28",
+    ")": "%29",
+    "~": "%7E",
+    "%20": "+",
+    "%00": "\0"
+  };
+  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
+    return charMap[match];
+  });
+}
+function AxiosURLSearchParams(params2, options2) {
+  this._pairs = [];
+  params2 && toFormData(params2, this, options2);
+}
+const prototype = AxiosURLSearchParams.prototype;
+prototype.append = function append2(name2, value) {
+  this._pairs.push([name2, value]);
+};
+prototype.toString = function toString3(encoder) {
+  const _encode2 = encoder ? function(value) {
+    return encoder.call(this, value, encode$1);
+  } : encode$1;
+  return this._pairs.map(function each2(pair) {
+    return _encode2(pair[0]) + "=" + _encode2(pair[1]);
+  }, "").join("&");
+};
+function encode(val) {
+  return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
+}
+function buildURL(url, params2, options2) {
+  if (!params2) {
+    return url;
+  }
+  const _encode2 = options2 && options2.encode || encode;
+  const serializeFn = options2 && options2.serialize;
+  let serializedParams;
+  if (serializeFn) {
+    serializedParams = serializeFn(params2, options2);
+  } else {
+    serializedParams = utils$1.isURLSearchParams(params2) ? params2.toString() : new AxiosURLSearchParams(params2, options2).toString(_encode2);
+  }
+  if (serializedParams) {
+    const hashmarkIndex = url.indexOf("#");
+    if (hashmarkIndex !== -1) {
+      url = url.slice(0, hashmarkIndex);
+    }
+    url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
+  }
+  return url;
+}
+class InterceptorManager {
+  constructor() {
+    this.handlers = [];
+  }
+  /**
+   * Add a new interceptor to the stack
+   *
+   * @param {Function} fulfilled The function to handle `then` for a `Promise`
+   * @param {Function} rejected The function to handle `reject` for a `Promise`
+   *
+   * @return {Number} An ID used to remove interceptor later
+   */
+  use(fulfilled, rejected, options2) {
+    this.handlers.push({
+      fulfilled,
+      rejected,
+      synchronous: options2 ? options2.synchronous : false,
+      runWhen: options2 ? options2.runWhen : null
+    });
+    return this.handlers.length - 1;
+  }
+  /**
+   * Remove an interceptor from the stack
+   *
+   * @param {Number} id The ID that was returned by `use`
+   *
+   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
+   */
+  eject(id) {
+    if (this.handlers[id]) {
+      this.handlers[id] = null;
+    }
+  }
+  /**
+   * Clear all interceptors from the stack
+   *
+   * @returns {void}
+   */
+  clear() {
+    if (this.handlers) {
+      this.handlers = [];
+    }
+  }
+  /**
+   * Iterate over all the registered interceptors
+   *
+   * This method is particularly useful for skipping over any
+   * interceptors that may have become `null` calling `eject`.
+   *
+   * @param {Function} fn The function to call for each interceptor
+   *
+   * @returns {void}
+   */
+  forEach(fn) {
+    utils$1.forEach(this.handlers, function forEachHandler(h3) {
+      if (h3 !== null) {
+        fn(h3);
+      }
+    });
+  }
+}
+const InterceptorManager$1 = InterceptorManager;
+const transitionalDefaults = {
+  silentJSONParsing: true,
+  forcedJSONParsing: true,
+  clarifyTimeoutError: false
+};
+const URLSearchParams$1 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams;
+const FormData$1 = typeof FormData !== "undefined" ? FormData : null;
+const Blob$1 = typeof Blob !== "undefined" ? Blob : null;
+const platform$1 = {
+  isBrowser: true,
+  classes: {
+    URLSearchParams: URLSearchParams$1,
+    FormData: FormData$1,
+    Blob: Blob$1
+  },
+  protocols: ["http", "https", "file", "blob", "url", "data"]
+};
+const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
+const hasStandardBrowserEnv = ((product) => {
+  return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0;
+})(typeof navigator !== "undefined" && navigator.product);
+const hasStandardBrowserWebWorkerEnv = (() => {
+  return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
+  self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
+})();
+const origin = hasBrowserEnv && window.location.href || "http://localhost";
+const utils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  hasBrowserEnv,
+  hasStandardBrowserEnv,
+  hasStandardBrowserWebWorkerEnv,
+  origin
+}, Symbol.toStringTag, { value: "Module" }));
+const platform = {
+  ...utils,
+  ...platform$1
+};
+function toURLEncodedForm(data2, options2) {
+  return toFormData(data2, new platform.classes.URLSearchParams(), Object.assign({
+    visitor: function(value, key2, path2, helpers) {
+      if (platform.isNode && utils$1.isBuffer(value)) {
+        this.append(key2, value.toString("base64"));
+        return false;
+      }
+      return helpers.defaultVisitor.apply(this, arguments);
+    }
+  }, options2));
+}
+function parsePropPath(name2) {
+  return utils$1.matchAll(/\w+|\[(\w*)]/g, name2).map((match) => {
+    return match[0] === "[]" ? "" : match[1] || match[0];
+  });
+}
+function arrayToObject(arr) {
+  const obj2 = {};
+  const keys2 = Object.keys(arr);
+  let i2;
+  const len2 = keys2.length;
+  let key2;
+  for (i2 = 0; i2 < len2; i2++) {
+    key2 = keys2[i2];
+    obj2[key2] = arr[key2];
+  }
+  return obj2;
+}
+function formDataToJSON(formData) {
+  function buildPath2(path2, value, target, index3) {
+    let name2 = path2[index3++];
+    if (name2 === "__proto__")
+      return true;
+    const isNumericKey = Number.isFinite(+name2);
+    const isLast = index3 >= path2.length;
+    name2 = !name2 && utils$1.isArray(target) ? target.length : name2;
+    if (isLast) {
+      if (utils$1.hasOwnProp(target, name2)) {
+        target[name2] = [target[name2], value];
+      } else {
+        target[name2] = value;
+      }
+      return !isNumericKey;
+    }
+    if (!target[name2] || !utils$1.isObject(target[name2])) {
+      target[name2] = [];
+    }
+    const result2 = buildPath2(path2, value, target[name2], index3);
+    if (result2 && utils$1.isArray(target[name2])) {
+      target[name2] = arrayToObject(target[name2]);
+    }
+    return !isNumericKey;
+  }
+  if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {
+    const obj2 = {};
+    utils$1.forEachEntry(formData, (name2, value) => {
+      buildPath2(parsePropPath(name2), value, obj2, 0);
+    });
+    return obj2;
+  }
+  return null;
+}
+function stringifySafely(rawValue, parser2, encoder) {
+  if (utils$1.isString(rawValue)) {
+    try {
+      (parser2 || JSON.parse)(rawValue);
+      return utils$1.trim(rawValue);
+    } catch (e2) {
+      if (e2.name !== "SyntaxError") {
+        throw e2;
+      }
+    }
+  }
+  return (encoder || JSON.stringify)(rawValue);
+}
+const defaults = {
+  transitional: transitionalDefaults,
+  adapter: ["xhr", "http", "fetch"],
+  transformRequest: [function transformRequest2(data2, headers) {
+    const contentType = headers.getContentType() || "";
+    const hasJSONContentType = contentType.indexOf("application/json") > -1;
+    const isObjectPayload = utils$1.isObject(data2);
+    if (isObjectPayload && utils$1.isHTMLForm(data2)) {
+      data2 = new FormData(data2);
+    }
+    const isFormData2 = utils$1.isFormData(data2);
+    if (isFormData2) {
+      return hasJSONContentType ? JSON.stringify(formDataToJSON(data2)) : data2;
+    }
+    if (utils$1.isArrayBuffer(data2) || utils$1.isBuffer(data2) || utils$1.isStream(data2) || utils$1.isFile(data2) || utils$1.isBlob(data2) || utils$1.isReadableStream(data2)) {
+      return data2;
+    }
+    if (utils$1.isArrayBufferView(data2)) {
+      return data2.buffer;
+    }
+    if (utils$1.isURLSearchParams(data2)) {
+      headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
+      return data2.toString();
+    }
+    let isFileList2;
+    if (isObjectPayload) {
+      if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
+        return toURLEncodedForm(data2, this.formSerializer).toString();
+      }
+      if ((isFileList2 = utils$1.isFileList(data2)) || contentType.indexOf("multipart/form-data") > -1) {
+        const _FormData = this.env && this.env.FormData;
+        return toFormData(
+          isFileList2 ? { "files[]": data2 } : data2,
+          _FormData && new _FormData(),
+          this.formSerializer
+        );
+      }
+    }
+    if (isObjectPayload || hasJSONContentType) {
+      headers.setContentType("application/json", false);
+      return stringifySafely(data2);
+    }
+    return data2;
+  }],
+  transformResponse: [function transformResponse2(data2) {
+    const transitional4 = this.transitional || defaults.transitional;
+    const forcedJSONParsing = transitional4 && transitional4.forcedJSONParsing;
+    const JSONRequested = this.responseType === "json";
+    if (utils$1.isResponse(data2) || utils$1.isReadableStream(data2)) {
+      return data2;
+    }
+    if (data2 && utils$1.isString(data2) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
+      const silentJSONParsing = transitional4 && transitional4.silentJSONParsing;
+      const strictJSONParsing = !silentJSONParsing && JSONRequested;
+      try {
+        return JSON.parse(data2);
+      } catch (e2) {
+        if (strictJSONParsing) {
+          if (e2.name === "SyntaxError") {
+            throw AxiosError.from(e2, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
+          }
+          throw e2;
+        }
+      }
+    }
+    return data2;
+  }],
+  /**
+   * A timeout in milliseconds to abort a request. If set to 0 (default) a
+   * timeout is not created.
+   */
+  timeout: 0,
+  xsrfCookieName: "XSRF-TOKEN",
+  xsrfHeaderName: "X-XSRF-TOKEN",
+  maxContentLength: -1,
+  maxBodyLength: -1,
+  env: {
+    FormData: platform.classes.FormData,
+    Blob: platform.classes.Blob
+  },
+  validateStatus: function validateStatus2(status) {
+    return status >= 200 && status < 300;
+  },
+  headers: {
+    common: {
+      "Accept": "application/json, text/plain, */*",
+      "Content-Type": void 0
+    }
+  }
+};
+utils$1.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
+  defaults.headers[method] = {};
+});
+const defaults$1 = defaults;
+const ignoreDuplicateOf = utils$1.toObjectSet([
+  "age",
+  "authorization",
+  "content-length",
+  "content-type",
+  "etag",
+  "expires",
+  "from",
+  "host",
+  "if-modified-since",
+  "if-unmodified-since",
+  "last-modified",
+  "location",
+  "max-forwards",
+  "proxy-authorization",
+  "referer",
+  "retry-after",
+  "user-agent"
+]);
+const parseHeaders = (rawHeaders) => {
+  const parsed = {};
+  let key2;
+  let val;
+  let i2;
+  rawHeaders && rawHeaders.split("\n").forEach(function parser2(line2) {
+    i2 = line2.indexOf(":");
+    key2 = line2.substring(0, i2).trim().toLowerCase();
+    val = line2.substring(i2 + 1).trim();
+    if (!key2 || parsed[key2] && ignoreDuplicateOf[key2]) {
+      return;
+    }
+    if (key2 === "set-cookie") {
+      if (parsed[key2]) {
+        parsed[key2].push(val);
+      } else {
+        parsed[key2] = [val];
+      }
+    } else {
+      parsed[key2] = parsed[key2] ? parsed[key2] + ", " + val : val;
+    }
+  });
+  return parsed;
+};
+const $internals = Symbol("internals");
+function normalizeHeader(header) {
+  return header && String(header).trim().toLowerCase();
+}
+function normalizeValue(value) {
+  if (value === false || value == null) {
+    return value;
+  }
+  return utils$1.isArray(value) ? value.map(normalizeValue) : String(value);
+}
+function parseTokens(str) {
+  const tokens = /* @__PURE__ */ Object.create(null);
+  const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
+  let match;
+  while (match = tokensRE.exec(str)) {
+    tokens[match[1]] = match[2];
+  }
+  return tokens;
+}
+const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
+function matchHeaderValue(context, value, header, filter4, isHeaderNameFilter) {
+  if (utils$1.isFunction(filter4)) {
+    return filter4.call(this, value, header);
+  }
+  if (isHeaderNameFilter) {
+    value = header;
+  }
+  if (!utils$1.isString(value))
+    return;
+  if (utils$1.isString(filter4)) {
+    return value.indexOf(filter4) !== -1;
+  }
+  if (utils$1.isRegExp(filter4)) {
+    return filter4.test(value);
+  }
+}
+function formatHeader(header) {
+  return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w2, char, str) => {
+    return char.toUpperCase() + str;
+  });
+}
+function buildAccessors(obj2, header) {
+  const accessorName = utils$1.toCamelCase(" " + header);
+  ["get", "set", "has"].forEach((methodName) => {
+    Object.defineProperty(obj2, methodName + accessorName, {
+      value: function(arg1, arg2, arg3) {
+        return this[methodName].call(this, header, arg1, arg2, arg3);
+      },
+      configurable: true
+    });
+  });
+}
+class AxiosHeaders {
+  constructor(headers) {
+    headers && this.set(headers);
+  }
+  set(header, valueOrRewrite, rewrite) {
+    const self2 = this;
+    function setHeader(_value, _header, _rewrite) {
+      const lHeader = normalizeHeader(_header);
+      if (!lHeader) {
+        throw new Error("header name must be a non-empty string");
+      }
+      const key2 = utils$1.findKey(self2, lHeader);
+      if (!key2 || self2[key2] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key2] !== false) {
+        self2[key2 || _header] = normalizeValue(_value);
+      }
+    }
+    const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
+    if (utils$1.isPlainObject(header) || header instanceof this.constructor) {
+      setHeaders(header, valueOrRewrite);
+    } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
+      setHeaders(parseHeaders(header), valueOrRewrite);
+    } else if (utils$1.isHeaders(header)) {
+      for (const [key2, value] of header.entries()) {
+        setHeader(value, key2, rewrite);
+      }
+    } else {
+      header != null && setHeader(valueOrRewrite, header, rewrite);
+    }
+    return this;
+  }
+  get(header, parser2) {
+    header = normalizeHeader(header);
+    if (header) {
+      const key2 = utils$1.findKey(this, header);
+      if (key2) {
+        const value = this[key2];
+        if (!parser2) {
+          return value;
+        }
+        if (parser2 === true) {
+          return parseTokens(value);
+        }
+        if (utils$1.isFunction(parser2)) {
+          return parser2.call(this, value, key2);
+        }
+        if (utils$1.isRegExp(parser2)) {
+          return parser2.exec(value);
+        }
+        throw new TypeError("parser must be boolean|regexp|function");
+      }
+    }
+  }
+  has(header, matcher) {
+    header = normalizeHeader(header);
+    if (header) {
+      const key2 = utils$1.findKey(this, header);
+      return !!(key2 && this[key2] !== void 0 && (!matcher || matchHeaderValue(this, this[key2], key2, matcher)));
+    }
+    return false;
+  }
+  delete(header, matcher) {
+    const self2 = this;
+    let deleted = false;
+    function deleteHeader(_header) {
+      _header = normalizeHeader(_header);
+      if (_header) {
+        const key2 = utils$1.findKey(self2, _header);
+        if (key2 && (!matcher || matchHeaderValue(self2, self2[key2], key2, matcher))) {
+          delete self2[key2];
+          deleted = true;
+        }
+      }
+    }
+    if (utils$1.isArray(header)) {
+      header.forEach(deleteHeader);
+    } else {
+      deleteHeader(header);
+    }
+    return deleted;
+  }
+  clear(matcher) {
+    const keys2 = Object.keys(this);
+    let i2 = keys2.length;
+    let deleted = false;
+    while (i2--) {
+      const key2 = keys2[i2];
+      if (!matcher || matchHeaderValue(this, this[key2], key2, matcher, true)) {
+        delete this[key2];
+        deleted = true;
+      }
+    }
+    return deleted;
+  }
+  normalize(format2) {
+    const self2 = this;
+    const headers = {};
+    utils$1.forEach(this, (value, header) => {
+      const key2 = utils$1.findKey(headers, header);
+      if (key2) {
+        self2[key2] = normalizeValue(value);
+        delete self2[header];
+        return;
+      }
+      const normalized = format2 ? formatHeader(header) : String(header).trim();
+      if (normalized !== header) {
+        delete self2[header];
+      }
+      self2[normalized] = normalizeValue(value);
+      headers[normalized] = true;
+    });
+    return this;
+  }
+  concat(...targets) {
+    return this.constructor.concat(this, ...targets);
+  }
+  toJSON(asStrings) {
+    const obj2 = /* @__PURE__ */ Object.create(null);
+    utils$1.forEach(this, (value, header) => {
+      value != null && value !== false && (obj2[header] = asStrings && utils$1.isArray(value) ? value.join(", ") : value);
+    });
+    return obj2;
+  }
+  [Symbol.iterator]() {
+    return Object.entries(this.toJSON())[Symbol.iterator]();
+  }
+  toString() {
+    return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
+  }
+  get [Symbol.toStringTag]() {
+    return "AxiosHeaders";
+  }
+  static from(thing) {
+    return thing instanceof this ? thing : new this(thing);
+  }
+  static concat(first, ...targets) {
+    const computed2 = new this(first);
+    targets.forEach((target) => computed2.set(target));
+    return computed2;
+  }
+  static accessor(header) {
+    const internals = this[$internals] = this[$internals] = {
+      accessors: {}
+    };
+    const accessors = internals.accessors;
+    const prototype2 = this.prototype;
+    function defineAccessor(_header) {
+      const lHeader = normalizeHeader(_header);
+      if (!accessors[lHeader]) {
+        buildAccessors(prototype2, _header);
+        accessors[lHeader] = true;
+      }
+    }
+    utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
+    return this;
+  }
+}
+AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
+utils$1.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key2) => {
+  let mapped = key2[0].toUpperCase() + key2.slice(1);
+  return {
+    get: () => value,
+    set(headerValue) {
+      this[mapped] = headerValue;
+    }
+  };
+});
+utils$1.freezeMethods(AxiosHeaders);
+const AxiosHeaders$1 = AxiosHeaders;
+function transformData(fns, response) {
+  const config2 = this || defaults$1;
+  const context = response || config2;
+  const headers = AxiosHeaders$1.from(context.headers);
+  let data2 = context.data;
+  utils$1.forEach(fns, function transform3(fn) {
+    data2 = fn.call(config2, data2, headers.normalize(), response ? response.status : void 0);
+  });
+  headers.normalize();
+  return data2;
+}
+function isCancel(value) {
+  return !!(value && value.__CANCEL__);
+}
+function CanceledError(message, config2, request2) {
+  AxiosError.call(this, message == null ? "canceled" : message, AxiosError.ERR_CANCELED, config2, request2);
+  this.name = "CanceledError";
+}
+utils$1.inherits(CanceledError, AxiosError, {
+  __CANCEL__: true
+});
+function settle(resolve, reject, response) {
+  const validateStatus3 = response.config.validateStatus;
+  if (!response.status || !validateStatus3 || validateStatus3(response.status)) {
+    resolve(response);
+  } else {
+    reject(new AxiosError(
+      "Request failed with status code " + response.status,
+      [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
+      response.config,
+      response.request,
+      response
+    ));
+  }
+}
+function parseProtocol(url) {
+  const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
+  return match && match[1] || "";
+}
+function speedometer(samplesCount, min3) {
+  samplesCount = samplesCount || 10;
+  const bytes = new Array(samplesCount);
+  const timestamps = new Array(samplesCount);
+  let head = 0;
+  let tail = 0;
+  let firstSampleTS;
+  min3 = min3 !== void 0 ? min3 : 1e3;
+  return function push2(chunkLength) {
+    const now = Date.now();
+    const startedAt = timestamps[tail];
+    if (!firstSampleTS) {
+      firstSampleTS = now;
+    }
+    bytes[head] = chunkLength;
+    timestamps[head] = now;
+    let i2 = tail;
+    let bytesCount = 0;
+    while (i2 !== head) {
+      bytesCount += bytes[i2++];
+      i2 = i2 % samplesCount;
+    }
+    head = (head + 1) % samplesCount;
+    if (head === tail) {
+      tail = (tail + 1) % samplesCount;
+    }
+    if (now - firstSampleTS < min3) {
+      return;
+    }
+    const passed = startedAt && now - startedAt;
+    return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
+  };
+}
+function throttle(fn, freq) {
+  let timestamp = 0;
+  const threshold = 1e3 / freq;
+  let timer2 = null;
+  return function throttled() {
+    const force = this === true;
+    const now = Date.now();
+    if (force || now - timestamp > threshold) {
+      if (timer2) {
+        clearTimeout(timer2);
+        timer2 = null;
+      }
+      timestamp = now;
+      return fn.apply(null, arguments);
+    }
+    if (!timer2) {
+      timer2 = setTimeout(() => {
+        timer2 = null;
+        timestamp = Date.now();
+        return fn.apply(null, arguments);
+      }, threshold - (now - timestamp));
+    }
+  };
+}
+const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
+  let bytesNotified = 0;
+  const _speedometer = speedometer(50, 250);
+  return throttle((e2) => {
+    const loaded = e2.loaded;
+    const total = e2.lengthComputable ? e2.total : void 0;
+    const progressBytes = loaded - bytesNotified;
+    const rate = _speedometer(progressBytes);
+    const inRange = loaded <= total;
+    bytesNotified = loaded;
+    const data2 = {
+      loaded,
+      total,
+      progress: total ? loaded / total : void 0,
+      bytes: progressBytes,
+      rate: rate ? rate : void 0,
+      estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
+      event: e2,
+      lengthComputable: total != null
+    };
+    data2[isDownloadStream ? "download" : "upload"] = true;
+    listener(data2);
+  }, freq);
+};
+const isURLSameOrigin = platform.hasStandardBrowserEnv ? (
+  // Standard browser envs have full support of the APIs needed to test
+  // whether the request URL is of the same origin as current location.
+  function standardBrowserEnv3() {
+    const msie = /(msie|trident)/i.test(navigator.userAgent);
+    const urlParsingNode = document.createElement("a");
+    let originURL;
+    function resolveURL(url) {
+      let href = url;
+      if (msie) {
+        urlParsingNode.setAttribute("href", href);
+        href = urlParsingNode.href;
+      }
+      urlParsingNode.setAttribute("href", href);
+      return {
+        href: urlParsingNode.href,
+        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
+        host: urlParsingNode.host,
+        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
+        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
+        hostname: urlParsingNode.hostname,
+        port: urlParsingNode.port,
+        pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
+      };
+    }
+    originURL = resolveURL(window.location.href);
+    return function isURLSameOrigin2(requestURL) {
+      const parsed = utils$1.isString(requestURL) ? resolveURL(requestURL) : requestURL;
+      return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
+    };
+  }()
+) : (
+  // Non standard browser envs (web workers, react-native) lack needed support.
+  function nonStandardBrowserEnv3() {
+    return function isURLSameOrigin2() {
+      return true;
+    };
+  }()
+);
+const cookies = platform.hasStandardBrowserEnv ? (
+  // Standard browser envs support document.cookie
+  {
+    write(name2, value, expires, path2, domain, secure) {
+      const cookie = [name2 + "=" + encodeURIComponent(value)];
+      utils$1.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString());
+      utils$1.isString(path2) && cookie.push("path=" + path2);
+      utils$1.isString(domain) && cookie.push("domain=" + domain);
+      secure === true && cookie.push("secure");
+      document.cookie = cookie.join("; ");
+    },
+    read(name2) {
+      const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name2 + ")=([^;]*)"));
+      return match ? decodeURIComponent(match[3]) : null;
+    },
+    remove(name2) {
+      this.write(name2, "", Date.now() - 864e5);
+    }
+  }
+) : (
+  // Non-standard browser env (web workers, react-native) lack needed support.
+  {
+    write() {
+    },
+    read() {
+      return null;
+    },
+    remove() {
+    }
+  }
+);
+function isAbsoluteURL(url) {
+  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
+}
+function combineURLs(baseURL, relativeURL) {
+  return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
+}
+function buildFullPath(baseURL, requestedURL) {
+  if (baseURL && !isAbsoluteURL(requestedURL)) {
+    return combineURLs(baseURL, requestedURL);
+  }
+  return requestedURL;
+}
+const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing;
+function mergeConfig(config1, config2) {
+  config2 = config2 || {};
+  const config3 = {};
+  function getMergedValue(target, source2, caseless) {
+    if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source2)) {
+      return utils$1.merge.call({ caseless }, target, source2);
+    } else if (utils$1.isPlainObject(source2)) {
+      return utils$1.merge({}, source2);
+    } else if (utils$1.isArray(source2)) {
+      return source2.slice();
+    }
+    return source2;
+  }
+  function mergeDeepProperties(a2, b2, caseless) {
+    if (!utils$1.isUndefined(b2)) {
+      return getMergedValue(a2, b2, caseless);
+    } else if (!utils$1.isUndefined(a2)) {
+      return getMergedValue(void 0, a2, caseless);
+    }
+  }
+  function valueFromConfig2(a2, b2) {
+    if (!utils$1.isUndefined(b2)) {
+      return getMergedValue(void 0, b2);
+    }
+  }
+  function defaultToConfig2(a2, b2) {
+    if (!utils$1.isUndefined(b2)) {
+      return getMergedValue(void 0, b2);
+    } else if (!utils$1.isUndefined(a2)) {
+      return getMergedValue(void 0, a2);
+    }
+  }
+  function mergeDirectKeys(a2, b2, prop2) {
+    if (prop2 in config2) {
+      return getMergedValue(a2, b2);
+    } else if (prop2 in config1) {
+      return getMergedValue(void 0, a2);
+    }
+  }
+  const mergeMap = {
+    url: valueFromConfig2,
+    method: valueFromConfig2,
+    data: valueFromConfig2,
+    baseURL: defaultToConfig2,
+    transformRequest: defaultToConfig2,
+    transformResponse: defaultToConfig2,
+    paramsSerializer: defaultToConfig2,
+    timeout: defaultToConfig2,
+    timeoutMessage: defaultToConfig2,
+    withCredentials: defaultToConfig2,
+    withXSRFToken: defaultToConfig2,
+    adapter: defaultToConfig2,
+    responseType: defaultToConfig2,
+    xsrfCookieName: defaultToConfig2,
+    xsrfHeaderName: defaultToConfig2,
+    onUploadProgress: defaultToConfig2,
+    onDownloadProgress: defaultToConfig2,
+    decompress: defaultToConfig2,
+    maxContentLength: defaultToConfig2,
+    maxBodyLength: defaultToConfig2,
+    beforeRedirect: defaultToConfig2,
+    transport: defaultToConfig2,
+    httpAgent: defaultToConfig2,
+    httpsAgent: defaultToConfig2,
+    cancelToken: defaultToConfig2,
+    socketPath: defaultToConfig2,
+    responseEncoding: defaultToConfig2,
+    validateStatus: mergeDirectKeys,
+    headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true)
+  };
+  utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop2) {
+    const merge2 = mergeMap[prop2] || mergeDeepProperties;
+    const configValue = merge2(config1[prop2], config2[prop2], prop2);
+    utils$1.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config3[prop2] = configValue);
+  });
+  return config3;
+}
+const resolveConfig = (config2) => {
+  const newConfig = mergeConfig({}, config2);
+  let { data: data2, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
+  newConfig.headers = headers = AxiosHeaders$1.from(headers);
+  newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config2.params, config2.paramsSerializer);
+  if (auth) {
+    headers.set(
+      "Authorization",
+      "Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : ""))
+    );
+  }
+  let contentType;
+  if (utils$1.isFormData(data2)) {
+    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
+      headers.setContentType(void 0);
+    } else if ((contentType = headers.getContentType()) !== false) {
+      const [type2, ...tokens] = contentType ? contentType.split(";").map((token2) => token2.trim()).filter(Boolean) : [];
+      headers.setContentType([type2 || "multipart/form-data", ...tokens].join("; "));
+    }
+  }
+  if (platform.hasStandardBrowserEnv) {
+    withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
+    if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) {
+      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
+      if (xsrfValue) {
+        headers.set(xsrfHeaderName, xsrfValue);
+      }
+    }
+  }
+  return newConfig;
+};
+const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
+const xhrAdapter = isXHRAdapterSupported && function(config2) {
+  return new Promise(function dispatchXhrRequest(resolve, reject) {
+    const _config2 = resolveConfig(config2);
+    let requestData = _config2.data;
+    const requestHeaders = AxiosHeaders$1.from(_config2.headers).normalize();
+    let { responseType } = _config2;
+    let onCanceled;
+    function done() {
+      if (_config2.cancelToken) {
+        _config2.cancelToken.unsubscribe(onCanceled);
+      }
+      if (_config2.signal) {
+        _config2.signal.removeEventListener("abort", onCanceled);
+      }
+    }
+    let request2 = new XMLHttpRequest();
+    request2.open(_config2.method.toUpperCase(), _config2.url, true);
+    request2.timeout = _config2.timeout;
+    function onloadend() {
+      if (!request2) {
+        return;
+      }
+      const responseHeaders = AxiosHeaders$1.from(
+        "getAllResponseHeaders" in request2 && request2.getAllResponseHeaders()
+      );
+      const responseData = !responseType || responseType === "text" || responseType === "json" ? request2.responseText : request2.response;
+      const response = {
+        data: responseData,
+        status: request2.status,
+        statusText: request2.statusText,
+        headers: responseHeaders,
+        config: config2,
+        request: request2
+      };
+      settle(function _resolve(value) {
+        resolve(value);
+        done();
+      }, function _reject(err) {
+        reject(err);
+        done();
+      }, response);
+      request2 = null;
+    }
+    if ("onloadend" in request2) {
+      request2.onloadend = onloadend;
+    } else {
+      request2.onreadystatechange = function handleLoad() {
+        if (!request2 || request2.readyState !== 4) {
+          return;
+        }
+        if (request2.status === 0 && !(request2.responseURL && request2.responseURL.indexOf("file:") === 0)) {
+          return;
+        }
+        setTimeout(onloadend);
+      };
+    }
+    request2.onabort = function handleAbort() {
+      if (!request2) {
+        return;
+      }
+      reject(new AxiosError("Request aborted", AxiosError.ECONNABORTED, _config2, request2));
+      request2 = null;
+    };
+    request2.onerror = function handleError() {
+      reject(new AxiosError("Network Error", AxiosError.ERR_NETWORK, _config2, request2));
+      request2 = null;
+    };
+    request2.ontimeout = function handleTimeout() {
+      let timeoutErrorMessage = _config2.timeout ? "timeout of " + _config2.timeout + "ms exceeded" : "timeout exceeded";
+      const transitional4 = _config2.transitional || transitionalDefaults;
+      if (_config2.timeoutErrorMessage) {
+        timeoutErrorMessage = _config2.timeoutErrorMessage;
+      }
+      reject(new AxiosError(
+        timeoutErrorMessage,
+        transitional4.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
+        _config2,
+        request2
+      ));
+      request2 = null;
+    };
+    requestData === void 0 && requestHeaders.setContentType(null);
+    if ("setRequestHeader" in request2) {
+      utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key2) {
+        request2.setRequestHeader(key2, val);
+      });
+    }
+    if (!utils$1.isUndefined(_config2.withCredentials)) {
+      request2.withCredentials = !!_config2.withCredentials;
+    }
+    if (responseType && responseType !== "json") {
+      request2.responseType = _config2.responseType;
+    }
+    if (typeof _config2.onDownloadProgress === "function") {
+      request2.addEventListener("progress", progressEventReducer(_config2.onDownloadProgress, true));
+    }
+    if (typeof _config2.onUploadProgress === "function" && request2.upload) {
+      request2.upload.addEventListener("progress", progressEventReducer(_config2.onUploadProgress));
+    }
+    if (_config2.cancelToken || _config2.signal) {
+      onCanceled = (cancel) => {
+        if (!request2) {
+          return;
+        }
+        reject(!cancel || cancel.type ? new CanceledError(null, config2, request2) : cancel);
+        request2.abort();
+        request2 = null;
+      };
+      _config2.cancelToken && _config2.cancelToken.subscribe(onCanceled);
+      if (_config2.signal) {
+        _config2.signal.aborted ? onCanceled() : _config2.signal.addEventListener("abort", onCanceled);
+      }
+    }
+    const protocol = parseProtocol(_config2.url);
+    if (protocol && platform.protocols.indexOf(protocol) === -1) {
+      reject(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config2));
+      return;
+    }
+    request2.send(requestData || null);
+  });
+};
+const composeSignals = (signals, timeout) => {
+  let controller = new AbortController();
+  let aborted;
+  const onabort = function(cancel) {
+    if (!aborted) {
+      aborted = true;
+      unsubscribe2();
+      const err = cancel instanceof Error ? cancel : this.reason;
+      controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
+    }
+  };
+  let timer2 = timeout && setTimeout(() => {
+    onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT));
+  }, timeout);
+  const unsubscribe2 = () => {
+    if (signals) {
+      timer2 && clearTimeout(timer2);
+      timer2 = null;
+      signals.forEach((signal2) => {
+        signal2 && (signal2.removeEventListener ? signal2.removeEventListener("abort", onabort) : signal2.unsubscribe(onabort));
+      });
+      signals = null;
+    }
+  };
+  signals.forEach((signal2) => signal2 && signal2.addEventListener && signal2.addEventListener("abort", onabort));
+  const { signal } = controller;
+  signal.unsubscribe = unsubscribe2;
+  return [signal, () => {
+    timer2 && clearTimeout(timer2);
+    timer2 = null;
+  }];
+};
+const composeSignals$1 = composeSignals;
+const streamChunk = function* (chunk, chunkSize) {
+  let len2 = chunk.byteLength;
+  if (!chunkSize || len2 < chunkSize) {
+    yield chunk;
+    return;
+  }
+  let pos = 0;
+  let end2;
+  while (pos < len2) {
+    end2 = pos + chunkSize;
+    yield chunk.slice(pos, end2);
+    pos = end2;
+  }
+};
+const readBytes = async function* (iterable, chunkSize, encode2) {
+  for await (const chunk of iterable) {
+    yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : await encode2(String(chunk)), chunkSize);
+  }
+};
+const trackStream = (stream, chunkSize, onProgress, onFinish, encode2) => {
+  const iterator2 = readBytes(stream, chunkSize, encode2);
+  let bytes = 0;
+  return new ReadableStream({
+    type: "bytes",
+    async pull(controller) {
+      const { done, value } = await iterator2.next();
+      if (done) {
+        controller.close();
+        onFinish();
+        return;
+      }
+      let len2 = value.byteLength;
+      onProgress && onProgress(bytes += len2);
+      controller.enqueue(new Uint8Array(value));
+    },
+    cancel(reason) {
+      onFinish(reason);
+      return iterator2.return();
+    }
+  }, {
+    highWaterMark: 2
+  });
+};
+const fetchProgressDecorator = (total, fn) => {
+  const lengthComputable = total != null;
+  return (loaded) => setTimeout(() => fn({
+    lengthComputable,
+    total,
+    loaded
+  }));
+};
+const isFetchSupported = typeof fetch === "function" && typeof Request === "function" && typeof Response === "function";
+const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === "function";
+const encodeText = isFetchSupported && (typeof TextEncoder === "function" ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer()));
+const supportsRequestStream = isReadableStreamSupported && (() => {
+  let duplexAccessed = false;
+  const hasContentType = new Request(platform.origin, {
+    body: new ReadableStream(),
+    method: "POST",
+    get duplex() {
+      duplexAccessed = true;
+      return "half";
+    }
+  }).headers.has("Content-Type");
+  return duplexAccessed && !hasContentType;
+})();
+const DEFAULT_CHUNK_SIZE = 64 * 1024;
+const supportsResponseStream = isReadableStreamSupported && !!(() => {
+  try {
+    return utils$1.isReadableStream(new Response("").body);
+  } catch (err) {
+  }
+})();
+const resolvers = {
+  stream: supportsResponseStream && ((res) => res.body)
+};
+isFetchSupported && ((res) => {
+  ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type2) => {
+    !resolvers[type2] && (resolvers[type2] = utils$1.isFunction(res[type2]) ? (res2) => res2[type2]() : (_2, config2) => {
+      throw new AxiosError(`Response type '${type2}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config2);
+    });
+  });
+})(new Response());
+const getBodyLength = async (body) => {
+  if (body == null) {
+    return 0;
+  }
+  if (utils$1.isBlob(body)) {
+    return body.size;
+  }
+  if (utils$1.isSpecCompliantForm(body)) {
+    return (await new Request(body).arrayBuffer()).byteLength;
+  }
+  if (utils$1.isArrayBufferView(body)) {
+    return body.byteLength;
+  }
+  if (utils$1.isURLSearchParams(body)) {
+    body = body + "";
+  }
+  if (utils$1.isString(body)) {
+    return (await encodeText(body)).byteLength;
+  }
+};
+const resolveBodyLength = async (headers, body) => {
+  const length2 = utils$1.toFiniteNumber(headers.getContentLength());
+  return length2 == null ? getBodyLength(body) : length2;
+};
+const fetchAdapter = isFetchSupported && (async (config2) => {
+  let {
+    url,
+    method,
+    data: data2,
+    signal,
+    cancelToken,
+    timeout,
+    onDownloadProgress,
+    onUploadProgress,
+    responseType,
+    headers,
+    withCredentials = "same-origin",
+    fetchOptions
+  } = resolveConfig(config2);
+  responseType = responseType ? (responseType + "").toLowerCase() : "text";
+  let [composedSignal, stopTimeout] = signal || cancelToken || timeout ? composeSignals$1([signal, cancelToken], timeout) : [];
+  let finished, request2;
+  const onFinish = () => {
+    !finished && setTimeout(() => {
+      composedSignal && composedSignal.unsubscribe();
+    });
+    finished = true;
+  };
+  let requestContentLength;
+  try {
+    if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data2)) !== 0) {
+      let _request = new Request(url, {
+        method: "POST",
+        body: data2,
+        duplex: "half"
+      });
+      let contentTypeHeader;
+      if (utils$1.isFormData(data2) && (contentTypeHeader = _request.headers.get("content-type"))) {
+        headers.setContentType(contentTypeHeader);
+      }
+      if (_request.body) {
+        data2 = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(
+          requestContentLength,
+          progressEventReducer(onUploadProgress)
+        ), null, encodeText);
+      }
+    }
+    if (!utils$1.isString(withCredentials)) {
+      withCredentials = withCredentials ? "cors" : "omit";
+    }
+    request2 = new Request(url, {
+      ...fetchOptions,
+      signal: composedSignal,
+      method: method.toUpperCase(),
+      headers: headers.normalize().toJSON(),
+      body: data2,
+      duplex: "half",
+      withCredentials
+    });
+    let response = await fetch(request2);
+    const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
+    if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {
+      const options2 = {};
+      ["status", "statusText", "headers"].forEach((prop2) => {
+        options2[prop2] = response[prop2];
+      });
+      const responseContentLength = utils$1.toFiniteNumber(response.headers.get("content-length"));
+      response = new Response(
+        trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(
+          responseContentLength,
+          progressEventReducer(onDownloadProgress, true)
+        ), isStreamResponse && onFinish, encodeText),
+        options2
+      );
+    }
+    responseType = responseType || "text";
+    let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || "text"](response, config2);
+    !isStreamResponse && onFinish();
+    stopTimeout && stopTimeout();
+    return await new Promise((resolve, reject) => {
+      settle(resolve, reject, {
+        data: responseData,
+        headers: AxiosHeaders$1.from(response.headers),
+        status: response.status,
+        statusText: response.statusText,
+        config: config2,
+        request: request2
+      });
+    });
+  } catch (err) {
+    onFinish();
+    if (err && err.name === "TypeError" && /fetch/i.test(err.message)) {
+      throw Object.assign(
+        new AxiosError("Network Error", AxiosError.ERR_NETWORK, config2, request2),
+        {
+          cause: err.cause || err
+        }
+      );
+    }
+    throw AxiosError.from(err, err && err.code, config2, request2);
+  }
+});
+const knownAdapters = {
+  http: httpAdapter,
+  xhr: xhrAdapter,
+  fetch: fetchAdapter
+};
+utils$1.forEach(knownAdapters, (fn, value) => {
+  if (fn) {
+    try {
+      Object.defineProperty(fn, "name", { value });
+    } catch (e2) {
+    }
+    Object.defineProperty(fn, "adapterName", { value });
+  }
+});
+const renderReason = (reason) => `- ${reason}`;
+const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;
+const adapters = {
+  getAdapter: (adapters2) => {
+    adapters2 = utils$1.isArray(adapters2) ? adapters2 : [adapters2];
+    const { length: length2 } = adapters2;
+    let nameOrAdapter;
+    let adapter;
+    const rejectedReasons = {};
+    for (let i2 = 0; i2 < length2; i2++) {
+      nameOrAdapter = adapters2[i2];
+      let id;
+      adapter = nameOrAdapter;
+      if (!isResolvedHandle(nameOrAdapter)) {
+        adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
+        if (adapter === void 0) {
+          throw new AxiosError(`Unknown adapter '${id}'`);
+        }
+      }
+      if (adapter) {
+        break;
+      }
+      rejectedReasons[id || "#" + i2] = adapter;
+    }
+    if (!adapter) {
+      const reasons = Object.entries(rejectedReasons).map(
+        ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
+      );
+      let s2 = length2 ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
+      throw new AxiosError(
+        `There is no suitable adapter to dispatch the request ` + s2,
+        "ERR_NOT_SUPPORT"
+      );
+    }
+    return adapter;
+  },
+  adapters: knownAdapters
+};
+function throwIfCancellationRequested(config2) {
+  if (config2.cancelToken) {
+    config2.cancelToken.throwIfRequested();
+  }
+  if (config2.signal && config2.signal.aborted) {
+    throw new CanceledError(null, config2);
+  }
+}
+function dispatchRequest(config2) {
+  throwIfCancellationRequested(config2);
+  config2.headers = AxiosHeaders$1.from(config2.headers);
+  config2.data = transformData.call(
+    config2,
+    config2.transformRequest
+  );
+  if (["post", "put", "patch"].indexOf(config2.method) !== -1) {
+    config2.headers.setContentType("application/x-www-form-urlencoded", false);
+  }
+  const adapter = adapters.getAdapter(config2.adapter || defaults$1.adapter);
+  return adapter(config2).then(function onAdapterResolution(response) {
+    throwIfCancellationRequested(config2);
+    response.data = transformData.call(
+      config2,
+      config2.transformResponse,
+      response
+    );
+    response.headers = AxiosHeaders$1.from(response.headers);
+    return response;
+  }, function onAdapterRejection(reason) {
+    if (!isCancel(reason)) {
+      throwIfCancellationRequested(config2);
+      if (reason && reason.response) {
+        reason.response.data = transformData.call(
+          config2,
+          config2.transformResponse,
+          reason.response
+        );
+        reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
+      }
+    }
+    return Promise.reject(reason);
+  });
+}
+const VERSION = "1.7.2";
+const validators$1 = {};
+["object", "boolean", "number", "function", "string", "symbol"].forEach((type2, i2) => {
+  validators$1[type2] = function validator16(thing) {
+    return typeof thing === type2 || "a" + (i2 < 1 ? "n " : " ") + type2;
+  };
+});
+const deprecatedWarnings = {};
+validators$1.transitional = function transitional3(validator16, version2, message) {
+  function formatMessage(opt, desc) {
+    return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
+  }
+  return (value, opt, opts2) => {
+    if (validator16 === false) {
+      throw new AxiosError(
+        formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")),
+        AxiosError.ERR_DEPRECATED
+      );
+    }
+    if (version2 && !deprecatedWarnings[opt]) {
+      deprecatedWarnings[opt] = true;
+      console.warn(
+        formatMessage(
+          opt,
+          " has been deprecated since v" + version2 + " and will be removed in the near future"
+        )
+      );
+    }
+    return validator16 ? validator16(value, opt, opts2) : true;
+  };
+};
+function assertOptions(options2, schema, allowUnknown) {
+  if (typeof options2 !== "object") {
+    throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
+  }
+  const keys2 = Object.keys(options2);
+  let i2 = keys2.length;
+  while (i2-- > 0) {
+    const opt = keys2[i2];
+    const validator16 = schema[opt];
+    if (validator16) {
+      const value = options2[opt];
+      const result2 = value === void 0 || validator16(value, opt, options2);
+      if (result2 !== true) {
+        throw new AxiosError("option " + opt + " must be " + result2, AxiosError.ERR_BAD_OPTION_VALUE);
+      }
+      continue;
+    }
+    if (allowUnknown !== true) {
+      throw new AxiosError("Unknown option " + opt, AxiosError.ERR_BAD_OPTION);
+    }
+  }
+}
+const validator = {
+  assertOptions,
+  validators: validators$1
+};
+const validators = validator.validators;
+class Axios {
+  constructor(instanceConfig) {
+    this.defaults = instanceConfig;
+    this.interceptors = {
+      request: new InterceptorManager$1(),
+      response: new InterceptorManager$1()
+    };
+  }
+  /**
+   * Dispatch a request
+   *
+   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
+   * @param {?Object} config
+   *
+   * @returns {Promise} The Promise to be fulfilled
+   */
+  async request(configOrUrl, config2) {
+    try {
+      return await this._request(configOrUrl, config2);
+    } catch (err) {
+      if (err instanceof Error) {
+        let dummy;
+        Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error();
+        const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
+        try {
+          if (!err.stack) {
+            err.stack = stack;
+          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) {
+            err.stack += "\n" + stack;
+          }
+        } catch (e2) {
+        }
+      }
+      throw err;
+    }
+  }
+  _request(configOrUrl, config2) {
+    if (typeof configOrUrl === "string") {
+      config2 = config2 || {};
+      config2.url = configOrUrl;
+    } else {
+      config2 = configOrUrl || {};
+    }
+    config2 = mergeConfig(this.defaults, config2);
+    const { transitional: transitional4, paramsSerializer, headers } = config2;
+    if (transitional4 !== void 0) {
+      validator.assertOptions(transitional4, {
+        silentJSONParsing: validators.transitional(validators.boolean),
+        forcedJSONParsing: validators.transitional(validators.boolean),
+        clarifyTimeoutError: validators.transitional(validators.boolean)
+      }, false);
+    }
+    if (paramsSerializer != null) {
+      if (utils$1.isFunction(paramsSerializer)) {
+        config2.paramsSerializer = {
+          serialize: paramsSerializer
+        };
+      } else {
+        validator.assertOptions(paramsSerializer, {
+          encode: validators.function,
+          serialize: validators.function
+        }, true);
+      }
+    }
+    config2.method = (config2.method || this.defaults.method || "get").toLowerCase();
+    let contextHeaders = headers && utils$1.merge(
+      headers.common,
+      headers[config2.method]
+    );
+    headers && utils$1.forEach(
+      ["delete", "get", "head", "post", "put", "patch", "common"],
+      (method) => {
+        delete headers[method];
+      }
+    );
+    config2.headers = AxiosHeaders$1.concat(contextHeaders, headers);
+    const requestInterceptorChain = [];
+    let synchronousRequestInterceptors = true;
+    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
+      if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config2) === false) {
+        return;
+      }
+      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
+      requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
+    });
+    const responseInterceptorChain = [];
+    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
+      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
+    });
+    let promise;
+    let i2 = 0;
+    let len2;
+    if (!synchronousRequestInterceptors) {
+      const chain = [dispatchRequest.bind(this), void 0];
+      chain.unshift.apply(chain, requestInterceptorChain);
+      chain.push.apply(chain, responseInterceptorChain);
+      len2 = chain.length;
+      promise = Promise.resolve(config2);
+      while (i2 < len2) {
+        promise = promise.then(chain[i2++], chain[i2++]);
+      }
+      return promise;
+    }
+    len2 = requestInterceptorChain.length;
+    let newConfig = config2;
+    i2 = 0;
+    while (i2 < len2) {
+      const onFulfilled = requestInterceptorChain[i2++];
+      const onRejected = requestInterceptorChain[i2++];
+      try {
+        newConfig = onFulfilled(newConfig);
+      } catch (error) {
+        onRejected.call(this, error);
+        break;
+      }
+    }
+    try {
+      promise = dispatchRequest.call(this, newConfig);
+    } catch (error) {
+      return Promise.reject(error);
+    }
+    i2 = 0;
+    len2 = responseInterceptorChain.length;
+    while (i2 < len2) {
+      promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]);
+    }
+    return promise;
+  }
+  getUri(config2) {
+    config2 = mergeConfig(this.defaults, config2);
+    const fullPath = buildFullPath(config2.baseURL, config2.url);
+    return buildURL(fullPath, config2.params, config2.paramsSerializer);
+  }
+}
+utils$1.forEach(["delete", "get", "head", "options"], function forEachMethodNoData3(method) {
+  Axios.prototype[method] = function(url, config2) {
+    return this.request(mergeConfig(config2 || {}, {
+      method,
+      url,
+      data: (config2 || {}).data
+    }));
+  };
+});
+utils$1.forEach(["post", "put", "patch"], function forEachMethodWithData3(method) {
+  function generateHTTPMethod(isForm) {
+    return function httpMethod(url, data2, config2) {
+      return this.request(mergeConfig(config2 || {}, {
+        method,
+        headers: isForm ? {
+          "Content-Type": "multipart/form-data"
+        } : {},
+        url,
+        data: data2
+      }));
+    };
+  }
+  Axios.prototype[method] = generateHTTPMethod();
+  Axios.prototype[method + "Form"] = generateHTTPMethod(true);
+});
+const Axios$1 = Axios;
+class CancelToken {
+  constructor(executor) {
+    if (typeof executor !== "function") {
+      throw new TypeError("executor must be a function.");
+    }
+    let resolvePromise;
+    this.promise = new Promise(function promiseExecutor(resolve) {
+      resolvePromise = resolve;
+    });
+    const token2 = this;
+    this.promise.then((cancel) => {
+      if (!token2._listeners)
+        return;
+      let i2 = token2._listeners.length;
+      while (i2-- > 0) {
+        token2._listeners[i2](cancel);
+      }
+      token2._listeners = null;
+    });
+    this.promise.then = (onfulfilled) => {
+      let _resolve;
+      const promise = new Promise((resolve) => {
+        token2.subscribe(resolve);
+        _resolve = resolve;
+      }).then(onfulfilled);
+      promise.cancel = function reject() {
+        token2.unsubscribe(_resolve);
+      };
+      return promise;
+    };
+    executor(function cancel(message, config2, request2) {
+      if (token2.reason) {
+        return;
+      }
+      token2.reason = new CanceledError(message, config2, request2);
+      resolvePromise(token2.reason);
+    });
+  }
+  /**
+   * Throws a `CanceledError` if cancellation has been requested.
+   */
+  throwIfRequested() {
+    if (this.reason) {
+      throw this.reason;
+    }
+  }
+  /**
+   * Subscribe to the cancel signal
+   */
+  subscribe(listener) {
+    if (this.reason) {
+      listener(this.reason);
+      return;
+    }
+    if (this._listeners) {
+      this._listeners.push(listener);
+    } else {
+      this._listeners = [listener];
+    }
+  }
+  /**
+   * Unsubscribe from the cancel signal
+   */
+  unsubscribe(listener) {
+    if (!this._listeners) {
+      return;
+    }
+    const index3 = this._listeners.indexOf(listener);
+    if (index3 !== -1) {
+      this._listeners.splice(index3, 1);
+    }
+  }
+  /**
+   * Returns an object that contains a new `CancelToken` and a function that, when called,
+   * cancels the `CancelToken`.
+   */
+  static source() {
+    let cancel;
+    const token2 = new CancelToken(function executor(c2) {
+      cancel = c2;
+    });
+    return {
+      token: token2,
+      cancel
+    };
+  }
+}
+const CancelToken$1 = CancelToken;
+function spread(callback) {
+  return function wrap(arr) {
+    return callback.apply(null, arr);
+  };
+}
+function isAxiosError(payload) {
+  return utils$1.isObject(payload) && payload.isAxiosError === true;
+}
+const HttpStatusCode = {
+  Continue: 100,
+  SwitchingProtocols: 101,
+  Processing: 102,
+  EarlyHints: 103,
+  Ok: 200,
+  Created: 201,
+  Accepted: 202,
+  NonAuthoritativeInformation: 203,
+  NoContent: 204,
+  ResetContent: 205,
+  PartialContent: 206,
+  MultiStatus: 207,
+  AlreadyReported: 208,
+  ImUsed: 226,
+  MultipleChoices: 300,
+  MovedPermanently: 301,
+  Found: 302,
+  SeeOther: 303,
+  NotModified: 304,
+  UseProxy: 305,
+  Unused: 306,
+  TemporaryRedirect: 307,
+  PermanentRedirect: 308,
+  BadRequest: 400,
+  Unauthorized: 401,
+  PaymentRequired: 402,
+  Forbidden: 403,
+  NotFound: 404,
+  MethodNotAllowed: 405,
+  NotAcceptable: 406,
+  ProxyAuthenticationRequired: 407,
+  RequestTimeout: 408,
+  Conflict: 409,
+  Gone: 410,
+  LengthRequired: 411,
+  PreconditionFailed: 412,
+  PayloadTooLarge: 413,
+  UriTooLong: 414,
+  UnsupportedMediaType: 415,
+  RangeNotSatisfiable: 416,
+  ExpectationFailed: 417,
+  ImATeapot: 418,
+  MisdirectedRequest: 421,
+  UnprocessableEntity: 422,
+  Locked: 423,
+  FailedDependency: 424,
+  TooEarly: 425,
+  UpgradeRequired: 426,
+  PreconditionRequired: 428,
+  TooManyRequests: 429,
+  RequestHeaderFieldsTooLarge: 431,
+  UnavailableForLegalReasons: 451,
+  InternalServerError: 500,
+  NotImplemented: 501,
+  BadGateway: 502,
+  ServiceUnavailable: 503,
+  GatewayTimeout: 504,
+  HttpVersionNotSupported: 505,
+  VariantAlsoNegotiates: 506,
+  InsufficientStorage: 507,
+  LoopDetected: 508,
+  NotExtended: 510,
+  NetworkAuthenticationRequired: 511
+};
+Object.entries(HttpStatusCode).forEach(([key2, value]) => {
+  HttpStatusCode[value] = key2;
+});
+const HttpStatusCode$1 = HttpStatusCode;
+function createInstance(defaultConfig) {
+  const context = new Axios$1(defaultConfig);
+  const instance = bind(Axios$1.prototype.request, context);
+  utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
+  utils$1.extend(instance, context, null, { allOwnKeys: true });
+  instance.create = function create2(instanceConfig) {
+    return createInstance(mergeConfig(defaultConfig, instanceConfig));
+  };
+  return instance;
+}
+const axios = createInstance(defaults$1);
+axios.Axios = Axios$1;
+axios.CanceledError = CanceledError;
+axios.CancelToken = CancelToken$1;
+axios.isCancel = isCancel;
+axios.VERSION = VERSION;
+axios.toFormData = toFormData;
+axios.AxiosError = AxiosError;
+axios.Cancel = axios.CanceledError;
+axios.all = function all2(promises) {
+  return Promise.all(promises);
+};
+axios.spread = spread;
+axios.isAxiosError = isAxiosError;
+axios.mergeConfig = mergeConfig;
+axios.AxiosHeaders = AxiosHeaders$1;
+axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);
+axios.getAdapter = adapters.getAdapter;
+axios.HttpStatusCode = HttpStatusCode$1;
+axios.default = axios;
+const axios$1 = axios;
+function login(data2) {
+  return axios$1.post("/v1/token", data2);
+}
+function loginMail(data2) {
+  return axios$1.post("/v1/token", data2);
+}
+function getUserInfo() {
+  return axios$1.get(`/api/user/userInfo`);
+}
+function updateUserInfo(data2) {
+  return axios$1.put(`/api/user/userInfo`, data2);
+}
+function getUserData(data2) {
+  return axios$1.post("/api/user/data", data2);
+}
+function registerUser(data2) {
+  return axios$1.post("/api/user/register", data2);
+}
+const TOKEN_KEY = "token";
+const isLogin = () => {
+  return !!localStorage.getItem(TOKEN_KEY);
+};
+const getToken = () => {
+  return localStorage.getItem(TOKEN_KEY);
+};
+const setToken = (token2) => {
+  localStorage.setItem(TOKEN_KEY, token2);
+};
+const clearToken = () => {
+  localStorage.removeItem(TOKEN_KEY);
+};
+function mitt(n2) {
+  return { all: n2 = n2 || /* @__PURE__ */ new Map(), on: function(t2, e2) {
+    var i2 = n2.get(t2);
+    i2 ? i2.push(e2) : n2.set(t2, [e2]);
+  }, off: function(t2, e2) {
+    var i2 = n2.get(t2);
+    i2 && (e2 ? i2.splice(i2.indexOf(e2) >>> 0, 1) : n2.set(t2, []));
+  }, emit: function(t2, e2) {
+    var i2 = n2.get(t2);
+    i2 && i2.slice().map(function(n3) {
+      n3(e2);
+    }), (i2 = n2.get("*")) && i2.slice().map(function(n3) {
+      n3(t2, e2);
+    });
+  } };
+}
+const emitter = mitt();
+const key = Symbol("ROUTE_CHANGE");
+function setRouteEmitter(to) {
+  emitter.emit(key, to);
+}
+function removeRouteListener() {
+  emitter.off(key);
+}
+const useUserStore = defineStore("user", {
+  state: () => ({
+    userId: "10000",
+    username: "admin",
+    department: "Tiny-Vue-Pro",
+    employeeType: "social recruitment",
+    job: "Front end",
+    probationStart: "2021-04-19",
+    probationEnd: "2021-10-15",
+    probationDuration: "180",
+    protocolStart: "2021-04-19",
+    protocolEnd: "2024-04-19",
+    address: "",
+    status: "",
+    role: "",
+    sort: 1,
+    startTime: "",
+    endTime: "",
+    filterStatus: [],
+    filterType: [],
+    submit: false,
+    reset: false
+  }),
+  getters: {
+    userInfo(state) {
+      return state;
+    }
+  },
+  actions: {
+    switchRoles() {
+      return new Promise((resolve) => {
+        this.role = this.role === "user" ? "admin" : "user";
+        resolve(this.role);
+      });
+    },
+    // Set user's information
+    setInfo(partial) {
+      this.$patch(partial);
+    },
+    // Reset user's information
+    resetInfo() {
+      this.$reset();
+    },
+    // Reset filter information
+    resetFilterInfo() {
+      this.startTime = "";
+      this.endTime = "";
+      this.filterStatus = [];
+      this.filterType = [];
+    },
+    // Get user's information
+    async info() {
+      const res = await getUserInfo();
+      this.setInfo(res.data);
+    },
+    async updateInfo(data2) {
+      const res = await updateUserInfo(data2);
+      this.setInfo(res.data);
+    },
+    // Login
+    async login(loginForm) {
+      try {
+        const res = await login(loginForm);
+        setToken(JSON.stringify(res));
+      } catch (err) {
+        clearToken();
+        throw err;
+      }
+    },
+    async loginMail(loginForm) {
+      try {
+        const res = await loginMail(loginForm);
+        setToken(JSON.stringify(res));
+      } catch (err) {
+        clearToken();
+        throw err;
+      }
+    },
+    // Logout
+    async logout() {
+      this.resetInfo();
+      clearToken();
+      removeRouteListener();
+    }
+  }
+});
+const formatTag = (route) => {
+  const { name: name2, meta, fullPath, query } = route;
+  return {
+    title: meta.locale || "",
+    name: String(name2),
+    fullPath,
+    query
+  };
+};
+defineStore("tabBar", {
+  state: () => ({
+    cacheTabList: /* @__PURE__ */ new Set(),
+    tagList: [
+      // Set the first element dynamically as needed
+      {
+        title: "menu.dashboard.workplace",
+        name: "Workplace",
+        fullPath: "/dashboard/workplace"
+      }
+    ]
+  }),
+  getters: {
+    getTabList() {
+      return this.tagList;
+    },
+    getCacheList() {
+      return Array.from(this.cacheTabList);
+    }
+  },
+  actions: {
+    updateTabList(route) {
+      this.tagList.push(formatTag(route));
+      if (!route.meta.ignoreCache) {
+        this.cacheTabList.add(route.name);
+      }
+    },
+    deleteTag(idx, tag) {
+      this.tagList.splice(idx, 1);
+      this.cacheTabList.delete(tag.name);
+    }
+  }
+});
+const pinia = createPinia();
+const _imports_0$3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAZCAYAAAArK+5dAAAAAXNSR0IArs4c6QAAApNJREFUSEudlc9r1FAQx7+TZKEtS1VQihX0oGibKG6TNVEogp49iOLNmx4qohShtxY8eBJFtKA3DwoePOjBP2BRcCG7TUoXX/YgeLWsIJaibSndkew2NT/XTXMK82bmM+87894j9PgqFVaKe5rzbeapFLdPCgpThnG82SsHpS1WhCgOraMFYLBXcLBGkK6axvi7NN8EwHbEQwAz/SSO+BBalq6NxOMiANsVH8E4nzv5dgARsamrUjh+B7DrymPVENGGqasD/+QDsK356o5RxkmzpImqI47JwFffTqAVgL+BaISZRzs2CTPmhPbI/7cdwUG8RNL8GX38bjeuu/gn3FDL0FKb30u6MMD3C3KQP4pDw95mRLcBHDQ1bTlPL+IAAj01DXWa6q73Ij7nu9lBzRWLzCiFi/LzUIJMNGfq6oM81Qe+aTIlAJtr8vDk5NhOw/OA4gBTV+UEYDfyZO2gQPKhBACklCz9xFKeyrMAvhpJAPDeMrQreQGNRmPf2qb8M6XJXhXgc/GFvADbFctgRO6izhRVF5qnZGo3oglpyzJUpV+I7Xz5ANClmP+SZWil4CR3jrmpq0p9sXmfmWc7x5yoKsl8r3xas+Owz653pMCYYfDttEJkHthbLh9d6QIWxDUQ3vr/fmMKg1tz4Ss7bbJqjtdi8IGMXbYso3t1h2/THwD2A7RuGeqgvejdBOMOgV6Z+vjjeKK64023wU/SAOGCou+BI9o+lAk3zuray149qDniOgOv4z4y02i5rH4P7MkXzRWrYBS3HdYBKqQ1PA0QTx6RKFxJzfWeM/Otri19oiKAjOcyExDA6q541gYOW7p2OS5FdaExppDy5re0cfHCxMSvLDlzPyz9no3MHuRN8D//v1L1ByOH+EWhAAAAAElFTkSuQmCC";
+const index_vue_vue_type_style_index_0_scoped_6f6f43b7_lang = "";
+const _sfc_main$7 = {};
+const _withScopeId$3 = (n2) => (pushScopeId("data-v-6f6f43b7"), n2 = n2(), popScopeId(), n2);
+const _hoisted_1$5 = { class: "footer" };
+const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("a", {
+  href: "/pro/home",
+  class: "foot-link"
+}, "TinyPro", -1));
+const _hoisted_3$4 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_4$4 = { href: "/" };
+const _hoisted_5$4 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_6$4 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("a", { href: "https://gitee.com/organizations/opentiny/projects" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_0$3,
+    alt: "github"
+  })
+], -1));
+function _sfc_render$1(_ctx2, _cache) {
+  return openBlock(), createElementBlock("div", _hoisted_1$5, [
+    _hoisted_2$5,
+    _hoisted_3$4,
+    createBaseVNode("a", _hoisted_4$4, toDisplayString(_ctx2.$t("setting.foot.title")), 1),
+    _hoisted_5$4,
+    _hoisted_6$4
+  ]);
+}
+const Footer = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$1], ["__scopeId", "data-v-6f6f43b7"]]);
+const _imports_0$2 = "/ui/admin/assets/opentiny-logo.png";
+const _imports_0$1 = "/ui/admin/assets/pro.png";
+const _imports_2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSElEQVQ4T62TvUoDURCFz9wEdv0pgkR32URY1hS+gq8gdnbBKmBjYWGjhHT+YiNY2Eg6sbMTn8GHSMKFbJbEiKTwJwvJjKygJLIRTHLbmfNxuOcMiYCIIBjz0Zi6H9n0ASnXTXW07sQ5i5sNOVjI5NaUoKAS4dlTvV4dhCwt51a4jwMmlF8alcfv2RBgMeOdAGpHhO+TzKVmU+to0bZX3Z7qHRFhA+CrdqNWjAfY3joSdAohT0huGd1DiEmKUCKhPAhV9LnYbtYeYgFAzkg7vAmoEgEZIS4DikhQEMAH+Pg5UHdAJRwBAFzXNV/D5BYp7AskHS0SqC2M83mjd6O17g7+TWyM2Wx2JmRjW4A9wlfJLgwVXvu+//E7nZE9cBxnNoS5GwkMdC+DIHiPi/bPIlmWNReJWq3W26jGTr+J/72NiRyIQE0KoE/wWXQQBjn75QAAAABJRU5ErkJggg==";
+const _imports_3 = "/ui/admin/assets/avatar.png";
+const localeLogin$1 = {
+  "login.form.mode": "Account and password login",
+  "login.form.mail": "Email login",
+  "login.form.title": "Login to Tiny Pro",
+  "login.form.userName.errMsg": "Username cannot be empty",
+  "login.form.password.errMsg": "Password cannot be empty",
+  "login.form.mailName.errMsg": "The mailbox name cannot be empty",
+  "login.form.mailpassword.errMsg": "The email password cannot be empty",
+  "login.form.mailpassword2.errMsg": "Confirm password cannot be empty",
+  "login.form.login.errMsg": "Login error, refresh and try again",
+  "login.form.login.success": "welcome to use",
+  "login.form.userName.placeholder": "Username: admin",
+  "login.form.password.placeholder": "Password: admin",
+  "login.form.mailName.placeholder": "EmailName:123{'@'}example.com",
+  "login.form.mailpassword.placeholder": "Password:admin",
+  "login.form.registerMail.placeholder": "Register Email:",
+  "login.form.registerPassword.placeholder": "Registration password:",
+  "login.form.registerConfirmPassword.placeholder": "Confirm Password:",
+  "login.form.rememberPassword": "Remember password",
+  "login.form.forgetPassword": "Forgot password",
+  "login.form.registration": "Sign up",
+  "login.form.login": "login",
+  "login.form.register": "register",
+  "login.form.registerPass": "The verification is successful and the registration is successful",
+  "login.form.registerError": "Verification failed!",
+  "login.form.change": "Sign in with",
+  "login.form.mailInput": "Email:",
+  "login.form.passwordInput": "Password:",
+  "login.form.passwordConfirm": "Confirm Password:",
+  "login.form.checkUsername": "Letters, numbers, underscores, dashes, dots{'@'}Letters, numbers, dashes",
+  "login.form.checkPassword": "At least eight characters, including at least one uppercase letter, one lowercase letter, and one digit",
+  "login.form.confirmPassword": "Inconsistent passwords",
+  "login.banner.slogan1": "Out-of-the-box high-quality template",
+  "login.banner.subSlogan1": "Rich page templates, covering most typical business scenarios",
+  "login.banner.slogan2": "Built-in solutions to common problems",
+  "login.banner.subSlogan2": "Internationalization, routing configuration, state management everything",
+  "login.banner.slogan3": "Access visualization enhancement tool AUX",
+  "login.banner.subSlogan3": "Realize flexible block development",
+  "login.icon.language": "language",
+  "login.tip.info": "User name: admin; password: admin",
+  "login.tip.mail": "User name: admin{'@'}example.com; password: admin",
+  "login.tip.right": "Enter the correct user name and password",
+  "login.main.text": "TinyPro Mid-Back-End Front-End Solution"
+};
+const localeTheme$1 = {
+  "theme.title.main": "Personalized configuration",
+  "theme.title.first": "theme",
+  "theme.title.default": "Default Theme",
+  "theme.title.honey": "Honey Theme",
+  "theme.title.violet": "Violet Theme",
+  "theme.title.deepness": "Deep Night Sky Theme",
+  "theme.title.deep": "Dark Theme",
+  "theme.title.light": "Light Theme",
+  "theme.title.customization": "Custom Themes",
+  "theme-title-recommend": "Recommended Topics",
+  "theme-text-default": "Science and technology, exploration, research, precision, tolerance",
+  "theme-text-honey": "Bright, sensual, warm, positive, energetic",
+  "theme-text-violet": "Elegant, romantic, gentle, mysterious, noble",
+  "theme-text-deepness": "Smooth, Neutral, Space, Strength, Hard",
+  "theme-text-dark": "Deep, decisive, brave, tenacious, yearning"
+};
+const localeSearchTable$1 = {
+  "menu.list.searchTable": "Search Table",
+  "searchTable.form.number": "Set Number",
+  "searchTable.form.number.placeholder": "Please enter Set Number",
+  "searchTable.form.name": "Set Name",
+  "searchTable.form.name.placeholder": "Please enter Set Name",
+  "searchTable.form.contentType": "Content Type",
+  "searchTable.form.contentType.img": "image-text",
+  "searchTable.form.contentType.horizontalVideo": "Horizontal short video",
+  "searchTable.form.contentType.verticalVideo": "Vertical short video",
+  "searchTable.form.filterType": "Filter Type",
+  "searchTable.form.filterType.artificial": "artificial",
+  "searchTable.form.filterType.rules": "Rules",
+  "searchTable.form.createdTime": "Create Date",
+  "searchTable.form.status": "Status",
+  "searchTable.form.status.online": "Online",
+  "searchTable.form.status.offline": "Offline",
+  "searchTable.form.status.doing": "Ongoing",
+  "searchTable.form.search": "Search",
+  "searchTable.form.reset": "Reset",
+  "searchTable.form.selectDefault": "All",
+  "searchTable.operation.create": "Create",
+  "searchTable.operation.import": "Export",
+  "searchTable.operation.download": "Download",
+  "searchTable.form.collapse": "Collapse",
+  "searchTable.form.extend": "Extend",
+  "searchTable.form.input": "Please enter",
+  "searchTable.form.create": "Creating a Topic",
+  // columns
+  "searchTable.columns.number": "ID",
+  "searchTable.columns.name": "Set Name",
+  "searchTable.columns.department": "Department",
+  "searchTable.columns.filterType": "Department Level",
+  "searchTable.columns.count": "Count",
+  "searchTable.columns.workname": "Workbench",
+  "searchTable.columns.enablement": "Enablement",
+  "searchTable.columns.type": "Person Type",
+  "searchTable.columns.study": "Institute",
+  "searchTable.columns.role": "Role",
+  "searchTable.columns.updatesperson": "Updates Person",
+  "searchTable.columns.createdTime": "CreatedTime",
+  "searchTable.columns.status": "Status",
+  "searchTable.columns.operations": "Operations",
+  "searchTable.columns.operations.view": "View",
+  "searchTable.columns.operations.delete": "Delete",
+  "searchTable.collapse.restores": "restores",
+  "searchTable.collapse.full": "Full"
+};
+const localeStepForm$1 = {
+  "menu.form.step": "Step Form",
+  "stepForm.button.submit": "Create",
+  "stepForm.button.cancel": "Cancel",
+  "stepForm.button.restore": "Restores",
+  "stepForm.probation.day": "Day",
+  "stepForm.coaching.process": "Coaching Process",
+  "stepForm.start.date": "Labor Contract Start Date",
+  "stepForm.end.date": "Labor Contract End Date",
+  "stepForm.probation.period": "Probation Period",
+  "stepForm.probation.start": "Trial Start and End Date",
+  "stepForm.recruitment.type": "Recruitment Type",
+  "stepForm.recruitment.position": "Position",
+  "stepForm.recruitment.department": "Department",
+  "stepForm.start.coaching": "Start coaching",
+  "stepForm.immediate.supervisor": "Enter the mentor immediate supervisor",
+  "stepForm.overall.goals": "Set overall goals",
+  "stepForm.overall.summary": "Submit the overall summary",
+  "stepForm.overall.end": "End",
+  "stepForm.collapse.base": "Coaching Basic Information",
+  "stepForm.collapse.supervisor": "Entry Supervisor",
+  "stepForm.collapse.goals": "Set overall goals",
+  "stepForm.collapse.summary": "Submit the overall summary",
+  "stepForm.coach.position": "Cultivating Positions",
+  "stepForm.coach.culture": "Training Department",
+  "stepForm.coach.mentor": "Mentor",
+  "stepForm.coach.startTime": "Actual Coaching Start Date",
+  "stepForm.coach.endTime": "Actual Coaching End Date",
+  "stepForm.dire.supervisor": "Mentor Supervisor",
+  "stepForm.dire.remarks": "Mentor Information Remarks",
+  "stepForm.dire.startTime": "Start Coaching Date",
+  "stepForm.dire.endTime": "Coaching End Date",
+  "stepForm.target.list": "Target List",
+  "stepForm.target.sure": "Set goals",
+  "stepForm.sum.self": "Self-summarization",
+  "stepForm.error.target": "At least one item exists on the right",
+  "stepForm.head.admin": "User name"
+};
+const localeBaseForm$1 = {
+  "menu.form.base": "Base Form",
+  "baseForm.form.label.no": "no",
+  "baseForm.form.label.yes": "yes",
+  "baseForm.form.label.placeholder": "Please select",
+  "baseForm.form.label.frequencyone": "By Month",
+  "baseForm.form.label.frequencytwo": "By Week",
+  "baseForm.form.label.frequencythree": "By biweekly",
+  "baseForm.form.label.frequencyfour": "By Quarter",
+  "baseForm.form.label.personone": "Local employees",
+  "baseForm.form.label.persontwo": "Non-Employee",
+  "baseForm.form.label.personthree": "Chinese employees",
+  "baseForm.form.label.projectone": "Training for new employees of the manufacturing department",
+  "baseForm.form.label.projecttwo": "On-boarding coaching for new employees",
+  "baseForm.form.label.projectthree": "UI Automation Test Coaching Project",
+  "baseForm.form.label.people": "Applicable Populations",
+  "baseForm.form.label.rank": "Job Level",
+  "baseForm.form.label.type": "Person Type",
+  "baseForm.form.label.business": "Service attribute",
+  "baseForm.form.label.Objectives": "Overall objective",
+  "baseForm.form.label.culture": "Training Department",
+  "baseForm.form.label.develop": "develop",
+  "baseForm.form.label.developone": "Trainees",
+  "baseForm.form.label.developtwo": "Mentor",
+  "baseForm.form.label.effective": "Effective Condition",
+  "baseForm.form.label.effectiveone": "Effective without approval",
+  "baseForm.form.label.effectivetwo": "Mentor Approval",
+  "baseForm.form.label.effectivethree": "Immediate supervisor approval",
+  "baseForm.form.label.effectivefour": "Mentors and immediate supervisors approve the application",
+  "baseForm.form.label.plan": "Phase Plan",
+  "baseForm.form.label.confirm": "Whether to develop",
+  "baseForm.form.label.frequency": "Formulation frequency",
+  "baseForm.form.label.role": "Goal Setting Role",
+  "baseForm.form.label.roleone": "Trainees",
+  "baseForm.form.label.roletwo": "Mentor",
+  "baseForm.form.label.condition": "Target Effective Condition",
+  "baseForm.form.label.conditionone": "Effective without approval",
+  "baseForm.form.label.conditiontwo": "Mentor Approval",
+  "baseForm.form.label.conditionthree": "Immediate supervisor approval",
+  "baseForm.form.label.conditionfour": "Mentors and immediate supervisors approve the application",
+  "baseForm.form.label.staged": "Phase Evaluation",
+  "baseForm.form.label.stagedone": "Only mentor evaluation is required",
+  "baseForm.form.label.stagedtwo": "Only immediate supervisor evaluation is required",
+  "baseForm.form.label.stagedthree": "Need to be evaluated by the mentor and immediate supervisor",
+  "baseForm.form.label.wholeconfirm": "Whether to develop",
+  "baseForm.form.label.evaluation": "Overall evaluation",
+  "baseForm.form.label.evaluationyes": "Mentors and immediate supervisors are required for evaluation",
+  "baseForm.form.label.evaluationno": "No mentor is required, and the immediate supervisor evaluates it",
+  "baseForm.form.label.mentortitle": "Mentor Selection",
+  "baseForm.form.label.mentortip": "Only mentors with valid qualifications can be selected from the mentor resource pool. If you do not select a mentor from the mentor resource pool, the basic qualifications of the mentor will not be verified",
+  "baseForm.form.label.mentor": "Select Mentor Only from Mentor Resource Pool",
+  "baseForm.form.label.remindertitle": "Reminder of coaching communication records",
+  "baseForm.form.label.reminder": "Require Reminder",
+  "baseForm.form.submit": "Submit",
+  "baseForm.form.submit.success": "Form submitted successfully",
+  "baseForm.form.cancel": "Cancel",
+  "baseForm.form.submit.error": "Please complete the required items first",
+  "baseForm.form.record": "Version Record",
+  "baseForm.form.project": "Project Type",
+  "baseForm.form.get.error": "Failed to obtain data"
+};
+const localeDetailForm$1 = {
+  "menu.plan.department": "Training Department",
+  "menu.plan.resource": "Human Resource Mgmt Dept",
+  "menu.plan.job": "Job Level",
+  "menu.plan.person": "Person Type",
+  "menu.plan.attribute": "Service attribute",
+  "menu.plan.develop": "Whether to develop",
+  "menu.plan.yes": "yes",
+  "menu.plan.no": "no",
+  "menu.plan.role": "Develop Roles",
+  "menu.plan.mentor": "Mentor",
+  "menu.plan.condition": "Effective Condition",
+  "menu.plan.approval": "Immediate supervisor approval",
+  "menu.plan.frequency": "Formulation frequency",
+  "menu.plan.month": "By Month",
+  "menu.plan.goal": "Goal Setting Role",
+  "menu.plan.trainees": "Trainees",
+  "menu.plan.teacher": "Mentor Approval",
+  "menu.plan.phase": "Phase Evaluation",
+  "menu.plan.evaluation": "Need to be evaluated by mentors and immediate supervisors",
+  "menu.plan.whole": "Overall evaluation",
+  "menu.plan.pool": "Select Mentor Only from Mentor Resource Pool",
+  "menu.plan.time": "Update Time",
+  "menu.plan.version": "Version number",
+  "menu.plan.operation": "Operation",
+  "menu.plan.updated": "Updated by",
+  "baseForm.form.label.type": "Project Type"
+};
+const localeSuccess$1 = {
+  "menu.result.success": "Success",
+  "success.result.title": "The submission result page displays the processing results of a series of operation tasks.",
+  "menu.result.messageSuccess": "The coaching process is submitted successfully",
+  "menu.btn.submit": "Start",
+  "menu.btn.cancel": "Cancel",
+  "menu.line.process": "Current progress",
+  "menu.result.messageEnd": "The coaching process has been submitted"
+};
+const localeError$1 = {
+  "menu.result.error": "Error",
+  "error.result.title": "The submission result page displays the processing results of a series of operation tasks",
+  "menu.result.messageError": "Failed to submit the coaching process",
+  "error.result.home": "Back"
+};
+const locale403$1 = {
+  "menu.exception.403": "403",
+  "exception.result.403.description": "Access to this resource on the server is denied.",
+  "exception.result.403.back": "Back",
+  "exception.result.permissions.403": "Contact the administrator to apply for the permission.。"
+};
+const locale404$1 = {
+  "menu.exception.404": "404",
+  "exception.result.404.description": "Whoops, this page is gone.",
+  "exception.result.404.retry": "Retry",
+  "exception.result.404.back": "Back",
+  "exception.result.permissions.404": "Check the network connection and try to refresh the page."
+};
+const locale500$1 = {
+  "menu.exception.500": "500",
+  "exception.result.500.description": "Internal server error",
+  "exception.result.500.back": "Back",
+  "exception.result.permissions.500": "Check the network connection and try to refresh the page."
+};
+const localeUserInfo$1 = {
+  "menu.user.info": "User Center",
+  "userInfo.tab.one": "My plan",
+  "userInfo.tab.two": "My mission",
+  "userInfo.filter.sort": "Sort by Time",
+  "userInfo.filter.startTime": "Start Date",
+  "userInfo.filter.endTime": "End Date",
+  "userInfo.end.positiveOrder": "By end time in positive order",
+  "userInfo.end.reverseOrder": "In reverse order by end time",
+  "userInfo.start.positiveOrder": "Start time in positive order",
+  "userInfo.start.reverseOrder": "Start time in reverse order",
+  "userInfo.btn.search": "Search",
+  "userInfo.btn.reset": "Reset",
+  "userInfo.status.status": "Status",
+  "userInfo.status.optionA": "Completed",
+  "userInfo.status.optionB": "Overdue",
+  "userInfo.status.optionC": "About to expire",
+  "userInfo.status.optionD": "Unfinished",
+  "userInfo.type.type": "Type",
+  "userInfo.type.optionA": "Organizational arrangements",
+  "userInfo.type.optionB": "Phase Plan",
+  "userInfo.type.optionC": "autonomous learning",
+  "userInfo.table.columnA": "Program Name",
+  "userInfo.table.columnB": "Completion Time",
+  "userInfo.table.columnC": "Status",
+  "userInfo.table.columnD": "Type",
+  "userInfo.week.1": "2 weeks onboarding",
+  "userInfo.month.1": "1 month onboarding",
+  "userInfo.month.2": "2 month onboarding",
+  "userInfo.month.3": "3 month onboarding",
+  "userInfo.month.4": "4 month onboarding",
+  "userInfo.month.5": "5 month onboarding",
+  "userInfo.month.6": "6 month onboarding",
+  "userInfo.month.7": "7 month onboarding",
+  "userInfo.month.8": "8 month onboarding",
+  "userInfo.month.9": "9 month onboarding",
+  "userInfo.month.10": "10 month onboarding",
+  "userInfo.month.11": "11 month onboarding",
+  "userInfo.month.12": "12 month onboarding",
+  "userInfo.month.13": "13 month onboarding",
+  "userInfo.month.14": "14 month onboarding",
+  "userInfo.month.15": "15 month onboarding",
+  "userInfo.month.16": "16 month onboarding",
+  "userInfo.month.17": "17 month onboarding",
+  "userInfo.time.message": "The end time is earlier than the start time",
+  "userInfo.filter.all": "Please complete all current filters"
+};
+const localeUserSetting$1 = {
+  "menu.user.setting": "User Setting",
+  "userSetting.cancel": "Cancel",
+  "userSetting.reset": "Reset",
+  "userSetting.department": "Department:",
+  "userSetting.position": "Position:",
+  "userSetting.type": "Recruitment Type:",
+  "userSetting.date": "Trial Start and End Date:",
+  "userSetting.during": "Probation Period:",
+  "userSetting.startTime": "Labor Contract Start Date:",
+  "userSetting.endTime": "Labor Contract End Date:",
+  "userSetting.first": "Start Time",
+  "userSetting.last": "End Time"
+};
+const localekanban$1 = {
+  "menu.user.info": "User Center",
+  "work.mock.employees": "Transferred employees",
+  "work.mock.onboard": "New employee onboarding",
+  "work.mock.Test": "Test coaching",
+  "work.mock.week1": "Zero promotion practice (1 weeks)",
+  "work.mock.week2": "Zero promotion practice (2 weeks)",
+  "work.mock.week3": "Zero promotion practice (3 weeks)",
+  "work.mock.network": "Network Reality",
+  "work.mock.centralized": "Centralized training for new employees",
+  "work.mock.hardware": "Hardware Installation Practice",
+  "work.index.learn": "Learning Planning",
+  "work.index.coach": "Learning coaching",
+  "work.index.formalization": "Learning Formalization",
+  "work.index.practiced": "Learning practiced",
+  "work.index.train": "Centralized training",
+  "work.index.Inquiry": "Life little helper",
+  "work.index.Home": "New Employee Home",
+  "work.index.Guide": "Operation Guide",
+  "work.index.plans": "Number of plans",
+  "work.index.Unfinished": "Unfinished",
+  "work.index.beOverdue": "To Be Overdue",
+  "work.index.Overdue": "Overdue",
+  "work.index.trainees": "Number of trainees to start coaching",
+  "work.index.coachNum": "Number of trainees in coaching",
+  "work.index.allocated": "Number of trainees to be allocated",
+  "work.index.start": "Number of trainees to start practice",
+  "work.index.practice": "Number of trainees in practice",
+  "work.index.unpark": "Waiting for Start-up to Form",
+  "work.index.entered": "Evaluation result to be entered",
+  "work.index.approved": "Evaluation result to be approved",
+  "work.index.put": "Number of trainees in practice",
+  "work.index.assign": "Number of trainees to be allocated",
+  "work.index.prepare": "Prepare for class opening",
+  "work.index.open": "Open a middle class",
+  "work.index.classes": "Number of classes to be accepted",
+  "work.index.policy": "policy",
+  "work.index.Period": "Probation Period and Development Policy Process for New Employees",
+  "work.index.Hotline": "Hotline",
+  "work.index.service": "All kinds of practical hotline service",
+  "work.index.Attendance": "Attendance",
+  "work.index.FAQs": "Attendance System and FAQs",
+  "work.index.Payroll": "Payroll",
+  "work.index.Tax": "Payroll Tax Q&A",
+  "work.index.Brave": "Brave New World Landing Program",
+  "work.index.Growth": "100-day Growth Guide for New Employees",
+  "work.index.Termbase": "Termbase",
+  "work.index.lingo": "The latest and hottest terms to help you understand the lingo",
+  "work.index.Library": "Document Library and Community",
+  "work.index.domain": "Knowledge document library of the business domain",
+  "work.index.platform": "Online learning platform",
+  "work.index.learning": "Online learning",
+  "work.index.Operation": "New Employee Home Operation Guide",
+  "work.index.Numbers": "Number",
+  "work.index.Person": "Person",
+  "work.index.net": "Net",
+  "work.index.netonline": "Online consultation",
+  "home.main.one": "first screen",
+  "home.main.up": "Page Onload",
+  "home.main.down": "Sampling PV",
+  "home.main.day": "yesterday",
+  "home.curve.trend": "Performance Trends",
+  "home.curve.play": "Visible on the first screen",
+  "home.curve.page": "Page Onload",
+  "home.falls.line": "Load Waterfall Flow",
+  "home.falls.tcp": "TCP Link",
+  "home.falls.ssl": "SSL Link",
+  "home.round.title": "Network speed distribution",
+  "home.round.unknow": "Unknown",
+  "home.roundtable.index": "index",
+  "home.roundtable.space": "Network speed",
+  "home.roundtable.pv": "Sampling PV (percentage)",
+  "home.roundtable.play": "Visible on the first screen",
+  "home.roundtable.page": "Page Onload",
+  "home.region.title": "Geographical distribution"
+};
+const localeHello$1 = {
+  "menu.cloud.hello": "Hello World"
+};
+const localeContracts$1 = {
+  "menu.cloud.locate.problems": "Problem Locating",
+  "menu.cloud.contracts": "Contract Management",
+  "menu.cloud.create": "Create Contract",
+  "menu.cloud.edit": "Edit Contract",
+  "menu.cloud.del": "Delete Contract",
+  "menu.cloud.name": "Project Name",
+  "menu.cloud.id": "Contract No",
+  "menu.cloud.customer": "Customer Name",
+  "menu.cloud.description": "Description",
+  "menu.cloud.updatedAt": "Creation Time",
+  "menu.cloud.editOpa": "Edits",
+  "menu.cloud.editDel": "Delete",
+  "menu.cloud.registerErro": "The project name does not meet the verification rules",
+  "menu.cloud.sure": "OK",
+  "menu.cloud.cancel": "Cancel",
+  "menu.cloud.tip": "The value can contain 3 to 255 characters, including Chinese characters, digits, hyphens (-), underscores (_), dots (.), slashes (/), parentheses (:) and colons (:) in Chinese and English formats, and periods (). The value can start with only English, Chinese characters, and digits.",
+  "menu.cloud.askDel": "Are you sure you want to delete the following",
+  "menu.cloud.askContracts": "Contract",
+  "menu.cloud.askInput": "Input",
+  "menu.cloud.askSure": "confirm",
+  "menu.cloud.verification": "Verification failed",
+  "menu.cloud.editpass": "If the verification is successful, the modification is successful",
+  "menu.cloud.delpass": "Deleted successfully",
+  "menu.contracts.name": "The contract name is:"
+};
+const localeSettings$1 = {
+  "settings.title": "Settings",
+  "settings.themeColor": "Theme Color",
+  "settings.content": "Content Setting",
+  "settings.search": "Search",
+  "settings.language": "Language",
+  "settings.navbar": "simple mode",
+  "settings.menuWidth": "Menu Width (px)",
+  "settings.navbar.alerts": "alerts",
+  "settings.navbar.help": "Help Center",
+  "settings.menu": "classic mode",
+  "settings.tabBar": "Tab Bar",
+  "settings.footer": "fashion mode",
+  "settings.colorWeek": "Theme Configuration",
+  "settings.alertContent": 'After the configuration is only temporarily effective, if you want to really affect the project, click the "Copy Settings" button below and replace the configuration in settings.json.',
+  "settings.copySettings": "Copy Settings",
+  "settings.copySettings.message": "Copy succeeded, please paste to file src/settings.json.",
+  "settings.close": "Close",
+  "settings.color.tooltip": "10 gradient colors generated according to the theme color",
+  "setting.user.set": "User Settings",
+  "setting.loginout": "Logout succeeded",
+  "setting.copy": "Copying succeeded",
+  "setting.input.search": "Enter a keyword",
+  "setting.foot.title": "Produced by OpenTiny",
+  "setting.mode.navbar": "Collapse Header, Footer",
+  "setting.mode.menu": "Collapse menu",
+  "setting.mode.footer": "Collapse Footer"
+};
+const localeHttpError$1 = {
+  "http.error.TokenExpire": "Login expired, please log in again",
+  "http.error.UserNotFound": "user does not exist",
+  "http.error.UserAlreadyExist": "User already exists",
+  "http.error.InvalidParameter": "Invalid request parameter",
+  "http.error.InternalError": "Internal error",
+  "http.error.ErrorPassword": "Account or password error"
+};
+const en = {
+  "menu.board": "Dashboard Page",
+  "menu.home": "Monitoring page",
+  "menu.work": "workbench",
+  "menu.list": "List",
+  "menu.result": "Result",
+  "menu.exception": "Exception",
+  "menu.form": "Form",
+  "menu.profile": "Profile",
+  "menu.profile.detail": "Basic details page",
+  "menu.visualization": "Data Visualization",
+  "menu.user": "User Center",
+  "navbar.docs": "Docs",
+  "navbar.action.locale": "Switch to English",
+  "messageBox.switchRoles": "Switch Roles",
+  "messageBox.userCenter": "User Center",
+  "messageBox.userSettings": "User Settings",
+  "messageBox.logout": "Logout",
+  "menu.cloud": "Cloud service capability",
+  ...localeTheme$1,
+  ...localeSettings$1,
+  ...localeLogin$1,
+  ...localeSearchTable$1,
+  ...localeStepForm$1,
+  ...localeBaseForm$1,
+  ...localeSuccess$1,
+  ...localeError$1,
+  ...locale403$1,
+  ...locale404$1,
+  ...locale500$1,
+  ...localeUserInfo$1,
+  ...localeUserSetting$1,
+  ...localeDetailForm$1,
+  ...localekanban$1,
+  ...localeHello$1,
+  ...localeContracts$1,
+  ...localeHttpError$1
+};
+const localeLogin = {
+  "login.form.mode": "账号密码登录",
+  "login.form.mail": "邮箱登录",
+  "login.form.title": "登录 Tiny Pro",
+  "login.form.userName.errMsg": "用户名不能为空",
+  "login.form.password.errMsg": "密码不能为空",
+  "login.form.mailName.errMsg": "邮箱名不能为空",
+  "login.form.mailpassword.errMsg": "邮箱密码不能为空",
+  "login.form.mailpassword2.errMsg": "确认密码不能为空",
+  "login.form.login.errMsg": "登录出错,轻刷新重试",
+  "login.form.login.success": "欢迎使用",
+  "login.form.userName.placeholder": "用户名:admin",
+  "login.form.password.placeholder": "密码:admin",
+  "login.form.mailName.placeholder": "邮箱名:123{'@'}example.com",
+  "login.form.mailpassword.placeholder": "密码:admin",
+  "login.form.registerMail.placeholder": "注册邮箱:",
+  "login.form.registerPassword.placeholder": "注册密码:",
+  "login.form.registerConfirmPassword.placeholder": "确认密码:",
+  "login.form.rememberPassword": "记住密码",
+  "login.form.forgetPassword": "忘记密码",
+  "login.form.registration": "注册账户",
+  "login.form.login": "登录",
+  "login.form.register": "注册",
+  "login.form.registerPass": "校验通过,注册成功",
+  "login.form.registerError": "校验不通过!",
+  "login.form.change": "使用已有账户登录",
+  "login.form.mailInput": "邮箱:",
+  "login.form.passwordInput": "密码:",
+  "login.form.passwordConfirm": "确认密码:",
+  "login.form.checkUsername": "字母、数字、下划线、短线、点号{'@'}字母、数字、短线",
+  "login.form.checkPassword": "最少八个字符,至少包含一个大写字母,一个小写字母和一个数字",
+  "login.form.confirmPassword": "密码输入不一致",
+  "login.banner.slogan1": "开箱即用的高质量模板",
+  "login.banner.subSlogan1": "丰富的的页面模板,覆盖大多数典型业务场景",
+  "login.banner.slogan2": "内置了常见问题的解决方案",
+  "login.banner.subSlogan2": "国际化,路由配置,状态管理应有尽有",
+  "login.banner.slogan3": "接入可视化增强工具AUX",
+  "login.banner.subSlogan3": "实现灵活的区块式开发",
+  "login.icon.language": "语言",
+  "login.tip.info": "用户名:admin,密码 admin",
+  "login.tip.mail": "用户名:admin{'@'}example.com,密码 admin",
+  "login.tip.right": "请输入正确的用户名密码",
+  "login.main.text": "TinyPro 中后台前端解决方案"
+};
+const localeTheme = {
+  "theme.title.main": "个性化配置",
+  "theme.title.first": "主题",
+  "theme.title.default": "默认主题",
+  "theme.title.honey": "蜜糖主题",
+  "theme.title.violet": "紫罗兰主题",
+  "theme.title.deepness": "深邃夜空主题",
+  "theme.title.deep": "深色主题",
+  "theme.title.light": "浅色主题",
+  "theme.title.customization": "自定义主题",
+  "theme-title-recommend": "推荐主题",
+  "theme-text-default": "科技、探索、钻研、精尖、包容",
+  "theme-text-honey": "明快、感性、温暖、积极、活力",
+  "theme-text-violet": "优雅、浪漫、温柔、神秘、高贵",
+  "theme-text-deepness": "平稳、中性、空间、力量、坚硬",
+  "theme-text-dark": "深沉、果断、勇敢、坚韧、向往"
+};
+const localeSearchTable = {
+  "menu.list.searchTable": "查询表格",
+  "searchTable.form.number": "集合编号",
+  "searchTable.form.number.placeholder": "请输入集合编号",
+  "searchTable.form.name": "集合名称",
+  "searchTable.form.name.placeholder": "请输入集合名称",
+  "searchTable.form.contentType": "内容体裁",
+  "searchTable.form.contentType.img": "图文",
+  "searchTable.form.contentType.horizontalVideo": "横版短视频",
+  "searchTable.form.contentType.verticalVideo": "竖版小视频",
+  "searchTable.form.filterType": "筛选方式",
+  "searchTable.form.filterType.artificial": "人工筛选",
+  "searchTable.form.filterType.rules": "规则筛选",
+  "searchTable.form.createdTime": "创建时间",
+  "searchTable.form.status": "状态",
+  "searchTable.form.status.online": "已上线",
+  "searchTable.form.status.offline": "已下线",
+  "searchTable.form.status.doing": "进行中",
+  "searchTable.form.search": "查询",
+  "searchTable.form.reset": "重置",
+  "searchTable.form.selectDefault": "全部",
+  "searchTable.operation.create": "新建",
+  "searchTable.operation.import": "批量导出",
+  "searchTable.operation.download": "下载",
+  "searchTable.form.collapse": "收起",
+  "searchTable.form.extend": "展开",
+  "searchTable.form.input": "请输入",
+  "searchTable.form.create": "创建主题",
+  // columns
+  "searchTable.columns.number": "工号",
+  "searchTable.columns.name": "姓名",
+  "searchTable.columns.department": "部门",
+  "searchTable.columns.filterType": "部门层级",
+  "searchTable.columns.count": "内容量",
+  "searchTable.columns.workname": "工作台名称",
+  "searchTable.columns.enablement": "赋能项目",
+  "searchTable.columns.type": "人员类型",
+  "searchTable.columns.study": "研究所",
+  "searchTable.columns.role": "角色",
+  "searchTable.columns.updatesperson": "最后更新人",
+  "searchTable.columns.createdTime": "创建时间",
+  "searchTable.columns.status": "状态",
+  "searchTable.columns.operations": "操作",
+  "searchTable.columns.operations.view": "查看",
+  "searchTable.columns.operations.delete": "删除",
+  "searchTable.collapse.restores": "还原",
+  "searchTable.collapse.full": "全屏"
+};
+const localeStepForm = {
+  "menu.form.step": "分步表单",
+  "stepForm.button.submit": "创建",
+  "stepForm.button.cancel": "取消",
+  "stepForm.button.restore": "重置",
+  "stepForm.probation.day": "天",
+  "stepForm.coaching.process": "辅导流程",
+  "stepForm.start.date": "劳动合同开始日期",
+  "stepForm.end.date": "劳动合同结束日期",
+  "stepForm.probation.period": "试用期时长",
+  "stepForm.probation.start": "试用起止日期",
+  "stepForm.recruitment.type": "招聘类型",
+  "stepForm.recruitment.position": "职位",
+  "stepForm.recruitment.department": "所属部门",
+  "stepForm.start.coaching": "启动辅导",
+  "stepForm.immediate.supervisor": "录入主管",
+  "stepForm.overall.goals": "制定整体目标",
+  "stepForm.overall.summary": "提交整体总结",
+  "stepForm.overall.end": "结束",
+  "stepForm.collapse.base": "辅导基本信息",
+  "stepForm.collapse.supervisor": "录入主管",
+  "stepForm.collapse.goals": "制定整体目标",
+  "stepForm.collapse.summary": "提交整体总结",
+  "stepForm.coach.position": "培养职位",
+  "stepForm.coach.culture": "培养部门",
+  "stepForm.coach.mentor": "导师",
+  "stepForm.coach.startTime": "实际辅导开始日期",
+  "stepForm.coach.endTime": "实际辅导结束日期",
+  "stepForm.dire.supervisor": "导师主管",
+  "stepForm.dire.remarks": "导师信息备注",
+  "stepForm.dire.startTime": "开始辅导日期",
+  "stepForm.dire.endTime": "结束辅导日期",
+  "stepForm.target.list": "目标列表",
+  "stepForm.target.sure": "确立目标",
+  "stepForm.sum.self": "自我总结",
+  "stepForm.error.target": "右侧至少存在一项",
+  "stepForm.head.admin": "用户名"
+};
+const localeBaseForm = {
+  "menu.form.base": "基础表单",
+  "baseForm.form.label.no": "否",
+  "baseForm.form.label.yes": "是",
+  "baseForm.form.label.placeholder": "请选择",
+  "baseForm.form.label.frequencyone": "按月",
+  "baseForm.form.label.frequencytwo": "按周",
+  "baseForm.form.label.frequencythree": "按双周",
+  "baseForm.form.label.frequencyfour": "按季度",
+  "baseForm.form.label.personone": "本地员工",
+  "baseForm.form.label.persontwo": "非雇员",
+  "baseForm.form.label.personthree": "中方员工",
+  "baseForm.form.label.projectone": "制造部新员工培训",
+  "baseForm.form.label.projecttwo": "公司新员工上岗辅导",
+  "baseForm.form.label.projectthree": "UI自动化测试辅导项目",
+  "baseForm.form.label.people": "适用人群",
+  "baseForm.form.label.rank": "职级",
+  "baseForm.form.label.type": "人员类型",
+  "baseForm.form.label.business": "业务属性",
+  "baseForm.form.label.Objectives": "整体目标",
+  "baseForm.form.label.culture": "培养部门",
+  "baseForm.form.label.develop": "制定",
+  "baseForm.form.label.developone": "学员",
+  "baseForm.form.label.developtwo": "导师",
+  "baseForm.form.label.effective": "生效条件",
+  "baseForm.form.label.effectiveone": "无需审批直接生效",
+  "baseForm.form.label.effectivetwo": "导师审批",
+  "baseForm.form.label.effectivethree": "直接主管审批",
+  "baseForm.form.label.effectivefour": "导师,直接主管审批",
+  "baseForm.form.label.plan": "阶段计划",
+  "baseForm.form.label.confirm": "是否需制定",
+  "baseForm.form.label.frequency": "制定频次",
+  "baseForm.form.label.role": "目标制定角色",
+  "baseForm.form.label.roleone": "学员",
+  "baseForm.form.label.roletwo": "导师",
+  "baseForm.form.label.condition": "目标生效条件",
+  "baseForm.form.label.conditionone": "无需审批直接生效",
+  "baseForm.form.label.conditiontwo": "导师审批",
+  "baseForm.form.label.conditionthree": "直接主管审批",
+  "baseForm.form.label.conditionfour": "导师,直接主管审批",
+  "baseForm.form.label.staged": "阶段评价",
+  "baseForm.form.label.stagedone": "仅需导师评价",
+  "baseForm.form.label.stagedtwo": "仅需直接主管评价",
+  "baseForm.form.label.stagedthree": "需导师,直接主管评价",
+  "baseForm.form.label.wholeconfirm": "是否需制定",
+  "baseForm.form.label.evaluation": "整体评价",
+  "baseForm.form.label.evaluationyes": "需要导师,直接主管评价",
+  "baseForm.form.label.evaluationno": "不需要导师,直接主管评价",
+  "baseForm.form.label.mentortitle": "导师选择",
+  "baseForm.form.label.mentortip": "从导师资源池只能选择导师资格有效的导师,如不从导师资源池选择则不对导师做导师基础资质校验。",
+  "baseForm.form.label.mentor": "是否仅从导师资源池选择导师",
+  "baseForm.form.label.remindertitle": "辅导沟通记录提醒",
+  "baseForm.form.label.reminder": "是否需要提醒",
+  "baseForm.form.submit": "提交",
+  "baseForm.form.submit.success": "表单提交成功",
+  "baseForm.form.cancel": "取消",
+  "baseForm.form.submit.error": "请先完成必填项",
+  "baseForm.form.record": "版本记录",
+  "baseForm.form.project": "项目类型",
+  "baseForm.form.get.error": "获取数据失败"
+};
+const localeDetailForm = {
+  "menu.plan.department": "培养部门",
+  "menu.plan.resource": "人力资源管理部",
+  "menu.plan.job": "职级",
+  "menu.plan.person": "人员类型",
+  "menu.plan.attribute": "业务属性",
+  "menu.plan.develop": "是否需制定",
+  "menu.plan.yes": "是",
+  "menu.plan.no": "否",
+  "menu.plan.role": "制定角色",
+  "menu.plan.mentor": "导师",
+  "menu.plan.condition": "生效条件",
+  "menu.plan.approval": "直接主管审批",
+  "menu.plan.frequency": "制定频次",
+  "menu.plan.month": "按月",
+  "menu.plan.goal": "目标制定角色",
+  "menu.plan.trainees": "学员",
+  "menu.plan.teacher": "导师审批",
+  "menu.plan.phase": "阶段评价",
+  "menu.plan.evaluation": "需导师、直接主管评价",
+  "menu.plan.whole": "整体评价",
+  "menu.plan.pool": "是否仅从导师资源池选择导师",
+  "menu.plan.time": "更新时间",
+  "menu.plan.version": "版本号",
+  "menu.plan.operation": "操作",
+  "menu.plan.updated": "更新人",
+  "baseForm.form.label.type": "项目类型"
+};
+const localeSuccess = {
+  "menu.result.success": "成功页",
+  "success.result.title": "提交结果页用于反馈一系列操作任务的处理结果。",
+  "menu.result.messageSuccess": "辅导流程提交成功!",
+  "menu.result.messageEnd": "辅导流程已提交结束!",
+  "menu.btn.submit": "启动新的辅导",
+  "menu.btn.cancel": "取消",
+  "menu.line.process": "当前进度"
+};
+const localeError = {
+  "menu.result.error": "失败页",
+  "error.result.title": "提交结果页用于反馈一系列操作任务的处理结果。",
+  "menu.result.messageError": "辅导流程提交失败",
+  "error.result.home": "回到首页"
+};
+const locale403 = {
+  "menu.exception.403": "403",
+  "exception.result.403.description": "对不起,您没有访问该资源的权限",
+  "exception.result.403.back": "返回",
+  "exception.result.permissions.403": "请联系管理员,申请权限。"
+};
+const locale404 = {
+  "menu.exception.404": "404",
+  "exception.result.404.description": "抱歉,页面不见了~",
+  "exception.result.404.retry": "重试",
+  "exception.result.404.back": "返回",
+  "exception.result.permissions.404": "请查看网络连接情况,尝试刷新页面"
+};
+const locale500 = {
+  "menu.exception.500": "500",
+  "exception.result.500.description": "抱歉,服务器出了点问题~",
+  "exception.result.500.back": "返回",
+  "exception.result.permissions.500": "请查看网络连接情况,尝试刷新页面"
+};
+const localeUserInfo = {
+  "menu.user.info": "用户中心",
+  "userInfo.tab.one": "我的计划",
+  "userInfo.tab.two": "我的任务",
+  "userInfo.filter.sort": "按时间排序",
+  "userInfo.filter.startTime": "开始日期",
+  "userInfo.filter.endTime": "结束日期",
+  "userInfo.end.positiveOrder": "按截止时间正序",
+  "userInfo.end.reverseOrder": "按截止时间逆序",
+  "userInfo.start.positiveOrder": "按开始时间正序",
+  "userInfo.start.reverseOrder": "按开始时间逆序",
+  "userInfo.btn.search": "查询",
+  "userInfo.btn.reset": "重置",
+  "userInfo.status.status": "状态",
+  "userInfo.status.optionA": "已完成",
+  "userInfo.status.optionB": "已逾期",
+  "userInfo.status.optionC": "即将逾期",
+  "userInfo.status.optionD": "未完成",
+  "userInfo.type.type": "类型",
+  "userInfo.type.optionA": "组织安排",
+  "userInfo.type.optionB": "阶段计划",
+  "userInfo.type.optionC": "自主学习",
+  "userInfo.table.columnA": "计划名称",
+  "userInfo.table.columnB": "完成时间",
+  "userInfo.table.columnC": "状态",
+  "userInfo.table.columnD": "类型",
+  "userInfo.week.1": "入职2周",
+  "userInfo.month.1": "入职1个月",
+  "userInfo.month.2": "入职2个月",
+  "userInfo.month.3": "入职3个月",
+  "userInfo.month.4": "入职4个月",
+  "userInfo.month.5": "入职5个月",
+  "userInfo.month.6": "入职6个月",
+  "userInfo.month.7": "入职7个月",
+  "userInfo.month.8": "入职8个月",
+  "userInfo.month.9": "入职9个月",
+  "userInfo.month.10": "入职10个月",
+  "userInfo.month.11": "入职11个月",
+  "userInfo.month.12": "入职12个月",
+  "userInfo.month.13": "入职13个月",
+  "userInfo.month.14": "入职14个月",
+  "userInfo.month.15": "入职15个月",
+  "userInfo.month.16": "入职16个月",
+  "userInfo.month.17": "入职17个月",
+  "userInfo.time.message": "结束时间小于开始时间",
+  "userInfo.filter.all": "请完善当前所有筛选条件"
+};
+const localeUserSetting = {
+  "menu.user.setting": "用户设置",
+  "userSetting.save": "保存",
+  "userSetting.cancel": "取消",
+  "userSetting.department": "所属部门:",
+  "userSetting.position": "职位:",
+  "userSetting.type": "招聘类型:",
+  "userSetting.date": "试用起止日期:",
+  "userSetting.during": "试用期时长:",
+  "userSetting.startTime": "劳动合同开始日期:",
+  "userSetting.endTime": "劳动合同结束日期:",
+  "userSetting.first": "开始时间",
+  "userSetting.last": "结束时间"
+};
+const localekanban = {
+  "menu.user.info": "用户中心",
+  "work.mock.employees": "转岗员工",
+  "work.mock.onboard": "新员工上岗",
+  "work.mock.Test": "测试辅导",
+  "work.mock.week1": "零促实践(1周)",
+  "work.mock.week2": "零促实践(2周)",
+  "work.mock.week3": "零促实践(3周)",
+  "work.mock.network": "网络实践",
+  "work.mock.centralized": "新员工集中培训",
+  "work.mock.hardware": "硬装实践",
+  "work.index.learn": "学习规划",
+  "work.index.coach": "学习辅导",
+  "work.index.formalization": "学习转正",
+  "work.index.practiced": "学习实践",
+  "work.index.train": "学习集训",
+  "work.index.Inquiry": "生活小助手",
+  "work.index.Home": "新员工之家",
+  "work.index.Guide": "操作指导",
+  "work.index.plans": "待制定/确认计划数",
+  "work.index.Unfinished": "未完成",
+  "work.index.beOverdue": "即将逾期数",
+  "work.index.Overdue": "已逾期",
+  "work.index.trainees": "待启动辅导学员数",
+  "work.index.coachNum": "辅导中学员数",
+  "work.index.allocated": "待分配学员数",
+  "work.index.start": "待启动实践学员数",
+  "work.index.practice": "实践中学员数",
+  "work.index.unpark": "待启动转正",
+  "work.index.entered": "待录入评价结果",
+  "work.index.approved": "待审批评价结果",
+  "work.index.put": "实践中学员数",
+  "work.index.assign": "待分配学员数",
+  "work.index.prepare": "准备开班班级",
+  "work.index.open": "开班中班班级",
+  "work.index.classes": "待验收班级数",
+  "work.index.policy": "政策",
+  "work.index.Period": "新员工试用期及培养政策流程",
+  "work.index.Hotline": "热线",
+  "work.index.service": "各类实用热线服",
+  "work.index.Attendance": "考勤",
+  "work.index.FAQs": "考勤制度及常见问题答疑",
+  "work.index.Payroll": "发薪",
+  "work.index.Tax": "发薪纳税问答",
+  "work.index.Brave": "勇敢新世界登陆计划",
+  "work.index.Growth": "新员工100天成长指南",
+  "work.index.Termbase": "术语库",
+  "work.index.lingo": "最新最热术语,助您懂行话",
+  "work.index.Library": "文档库与社区",
+  "work.index.domain": "业务领域知识文档库",
+  "work.index.platform": "在线学习平台",
+  "work.index.learning": "在线学习",
+  "work.index.Operation": "新员工之家操作指导",
+  "work.index.Numbers": "个",
+  "work.index.Person": "人",
+  "work.index.net": "网络",
+  "work.index.netonline": "在线咨询",
+  "home.main.one": "首屏可见",
+  "home.main.up": "页面Onload",
+  "home.main.down": "采样PV",
+  "home.main.day": "较昨日",
+  "home.curve.trend": "性能趋势",
+  "home.curve.play": "首屏可见",
+  "home.curve.page": "页面Onload",
+  "home.falls.line": "加载瀑布流",
+  "home.falls.tcp": "TCP链接",
+  "home.falls.ssl": "SSL链接",
+  "home.round.title": "网络速度分布",
+  "home.round.unknow": "未知",
+  "home.roundtable.index": "序号",
+  "home.roundtable.space": "网络速度",
+  "home.roundtable.pv": "采样PV(占比)",
+  "home.roundtable.play": "首屏可见",
+  "home.roundtable.page": "页面Onload",
+  "home.region.title": "地域分布"
+};
+const localeHello = {
+  "menu.cloud.hello": "Hello World"
+};
+const localeContracts = {
+  "menu.cloud.locate.problems": "问题定位",
+  "menu.cloud.contracts": "合同管理",
+  "menu.cloud.create": "创建合同",
+  "menu.cloud.edit": "编辑合同",
+  "menu.cloud.del": "删除合同",
+  "menu.cloud.name": "项目名称:",
+  "menu.cloud.id": "合同编号",
+  "menu.cloud.customer": "客户名称:",
+  "menu.cloud.description": "项目描述:",
+  "menu.cloud.updatedAt": "创建时间",
+  "menu.cloud.editOpa": "编辑",
+  "menu.cloud.editDel": "删除",
+  "menu.cloud.registerErro": "项目名称不满足校验规则",
+  "menu.cloud.sure": "确认",
+  "menu.cloud.cancel": "取消",
+  "menu.cloud.tip": "支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。",
+  "menu.cloud.askDel": "您确定要删除以下",
+  "menu.cloud.askContracts": "合同",
+  "menu.cloud.askInput": "输入",
+  "menu.cloud.askSure": "确认",
+  "menu.cloud.verification": "校验不通过",
+  "menu.cloud.editpass": "校验通过, 修改成功",
+  "menu.cloud.delpass": "删除成功",
+  "menu.contracts.name": "合同名称为:"
+};
+const localeSettings = {
+  "settings.title": "页面配置",
+  "settings.themeColor": "主题色",
+  "settings.content": "内容区域",
+  "settings.search": "搜索",
+  "settings.language": "语言",
+  "settings.navbar": "简约模式",
+  "settings.menuWidth": "菜单宽度 (px)",
+  "settings.navbar.alerts": "消息通知",
+  "settings.navbar.help": "帮助中心",
+  "settings.menu": "经典模式",
+  "settings.tabBar": "多页签",
+  "settings.footer": "时尚模式",
+  "settings.colorWeek": "主题配置",
+  "settings.alertContent": '配置之后仅是临时生效,要想真正作用于项目,点击下方的 "复制配置" 按钮,将配置替换到 settings.json 中即可。',
+  "settings.copySettings": "复制配置",
+  "settings.copySettings.message": "复制成功,请粘贴到 src/settings.json 文件中",
+  "settings.close": "关闭",
+  "settings.color.tooltip": "根据主题颜色生成的 10 个梯度色(将配置复制到项目中,主题色才能对亮色 / 暗黑模式同时生效)",
+  "setting.user.set": "用户设置",
+  "setting.loginout": "登出成功",
+  "setting.copy": "复制成功",
+  "setting.input.search": "请输入关键词",
+  "setting.foot.title": "OpenTiny 出品",
+  "setting.mode.navbar": "收起页头,页尾",
+  "setting.mode.menu": "收起菜单",
+  "setting.mode.footer": "收起页脚"
+};
+const localeHttpError = {
+  "http.error.TokenExpire": "登录过期,请重新登录",
+  "http.error.UserNotFound": "用户不存在",
+  "http.error.UserAlreadyExist": "用户已存在",
+  "http.error.InvalidParameter": "无效的请求参数",
+  "http.error.InternalError": "服务器错误",
+  "http.error.ErrorPassword": "账号或密码错误"
+};
+const cn = {
+  "menu.board": "看板",
+  "menu.home": "监控页",
+  "menu.work": "工作台",
+  "menu.list": "列表页",
+  "menu.result": "结果页",
+  "menu.exception": "异常页",
+  "menu.form": "表单页",
+  "menu.profile": "详情页",
+  "menu.profile.detail": "基础详情页",
+  "menu.visualization": "数据可视化",
+  "menu.user": "个人中心",
+  "navbar.docs": "文档中心",
+  "navbar.action.locale": "切换为中文",
+  "messageBox.switchRoles": "切换角色",
+  "messageBox.userCenter": "用户中心",
+  "messageBox.userSettings": "用户设置",
+  "messageBox.logout": "退出登录",
+  "menu.cloud": "云服务能力展示",
+  ...localeTheme,
+  ...localeSettings,
+  ...localeLogin,
+  ...localeSearchTable,
+  ...localeStepForm,
+  ...localeBaseForm,
+  ...localeSuccess,
+  ...localeError,
+  ...locale403,
+  ...locale404,
+  ...locale500,
+  ...localeUserInfo,
+  ...localeUserSetting,
+  ...localeDetailForm,
+  ...localekanban,
+  ...localeHello,
+  ...localeContracts,
+  ...localeHttpError
+};
+const LOCALE_OPTIONS = [
+  { label: "中文", value: "zhCN" },
+  { label: "English", value: "enUS" }
+];
+const i18nmode = (option) => {
+  option.legacy = false;
+  return createI18n(option);
+};
+const i18n = (i18n2) => index$1f.initI18n({
+  globalInjection: true,
+  i18n: i18n2,
+  createI18n: i18nmode,
+  messages: {
+    enUS: en,
+    zhCN: cn
+  }
+});
+function useLocale() {
+  const i18 = useI18n();
+  const currentLocale = computed(() => {
+    return i18.locale.value;
+  });
+  const changeLocale = (value) => {
+    i18.locale.value = value;
+    localStorage.setItem("tiny-locale", value);
+  };
+  return {
+    currentLocale,
+    changeLocale
+  };
+}
+function useUser() {
+  const { t: t2 } = useI18n();
+  const router2 = useRouter$1();
+  const userStore = useUserStore();
+  const logout = async (logoutTo) => {
+    await userStore.logout();
+    const currentRoute = router2.currentRoute.value;
+    TINYModal.message({
+      message: t2("setting.loginout"),
+      status: "success"
+    });
+    router2.push({
+      name: logoutTo && typeof logoutTo === "string" ? logoutTo : "login",
+      query: {
+        ...router2.currentRoute.value.query,
+        redirect: currentRoute.name
+      }
+    });
+  };
+  return {
+    logout
+  };
+}
+const _withScopeId$2 = (n2) => (pushScopeId("data-v-a3b2c611"), n2 = n2(), popScopeId(), n2);
+const _hoisted_1$4 = { class: "navbar" };
+const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_3$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("img", {
+  class: "vue-icon",
+  alt: "logo",
+  src: _imports_0$1
+}, null, -1));
+const _hoisted_4$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("h4", null, "TinyPro of Vue", -1));
+const _hoisted_5$3 = { class: "right-side" };
+const _hoisted_6$3 = ["placeholder"];
+const _hoisted_7$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("li", null, [
+  /* @__PURE__ */ createBaseVNode("div", { class: "divider" })
+], -1));
+const _hoisted_8$1 = { key: 0 };
+const _hoisted_9$1 = { key: 1 };
+const _hoisted_10$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_2,
+  alt: "lan",
+  class: "navbar-lan"
+}, null, -1));
+const _hoisted_11 = {
+  key: 2,
+  class: "trigger-lan"
+};
+const _hoisted_12 = ["value", "onClick"];
+const _hoisted_13 = { class: "navbar-user" };
+const _hoisted_14 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("div", { class: "user-image" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_3,
+    alt: "user"
+  })
+], -1));
+const _hoisted_15 = { class: "trigger-user" };
+const _hoisted_16 = ["value", "onClick"];
+const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    const i18 = useI18n();
+    const iconReplace = index$K();
+    const iconUser = index$F();
+    const iconCheckOut = index$1b();
+    const iconWriting = index$D();
+    const lan = ref(false);
+    const appStore = useAppStore();
+    const userStore = useUserStore();
+    const { logout } = useUser();
+    const { changeLocale } = useLocale();
+    const locales = [...LOCALE_OPTIONS];
+    const changeLan = () => {
+      lan.value = !lan.value;
+    };
+    const help = () => {
+      window.location.href = `${window.location.protocol}//${window.location.host}/vue-pro/docs/start`;
+    };
+    const setVisible = () => {
+      appStore.updateSettings({ Settings: true });
+    };
+    const userlist = [
+      { label: "messageBox.switchRoles", value: 1 },
+      { label: "messageBox.userCenter", value: 2 },
+      { label: "messageBox.userSettings", value: 3 },
+      { label: "messageBox.logout", value: 4 }
+    ];
+    const switchRoles = async () => {
+      const res = await userStore.switchRoles();
+      TINYModal.message({
+        message: res,
+        status: "success"
+      });
+    };
+    const switchUser = (e2) => {
+      switch (e2) {
+        case 1:
+          switchRoles();
+          break;
+        case 2:
+          router.push({ name: "Info" });
+          break;
+        case 3:
+          router.push({ name: "Setting" });
+          break;
+        case 4:
+          logout();
+          break;
+      }
+    };
+    const jumpUrl = () => {
+      window.location.href = `${window.location.protocol}//${window.location.host}`;
+    };
+    return (_ctx2, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$4, [
+        createBaseVNode("div", { class: "left-side" }, [
+          createBaseVNode("div", { style: { "display": "flex", "align-items": "center" } }, [
+            createBaseVNode("img", {
+              src: _imports_0$2,
+              alt: "logo",
+              onClick: jumpUrl
+            }),
+            createBaseVNode("h5", { onClick: jumpUrl }, "OpenTiny"),
+            _hoisted_2$4,
+            _hoisted_3$3,
+            _hoisted_4$3
+          ])
+        ]),
+        createBaseVNode("ul", _hoisted_5$3, [
+          createBaseVNode("li", null, [
+            createBaseVNode("input", {
+              id: "navbar-search",
+              class: "input-icon",
+              placeholder: _ctx2.$t("setting.input.search")
+            }, null, 8, _hoisted_6$3)
+          ]),
+          _hoisted_7$3,
+          createBaseVNode("li", { onClick: changeLan }, [
+            unref(i18).locale.value === "zhCN" ? (openBlock(), createElementBlock("span", _hoisted_8$1, "中文")) : (openBlock(), createElementBlock("span", _hoisted_9$1, "English")),
+            _hoisted_10$1,
+            lan.value ? (openBlock(), createElementBlock("div", _hoisted_11, [
+              (openBlock(), createElementBlock(Fragment, null, renderList(locales, (item, index3) => {
+                return createBaseVNode("li", {
+                  key: index3,
+                  value: item.value,
+                  onClick: ($event) => unref(changeLocale)(locales[index3].value)
+                }, toDisplayString(item.label), 9, _hoisted_12);
+              }), 64))
+            ])) : createCommentVNode("", true)
+          ]),
+          createBaseVNode("li", null, [
+            createBaseVNode("span", { onClick: help }, toDisplayString(_ctx2.$t("settings.navbar.help")), 1)
+          ]),
+          createBaseVNode("li", null, [
+            createBaseVNode("span", { onClick: setVisible }, toDisplayString(_ctx2.$t("settings.title")), 1)
+          ]),
+          createBaseVNode("li", _hoisted_13, [
+            createVNode$1(unref(UserHead), {
+              type: "icon",
+              round: "",
+              min: ""
+            }, {
+              default: withCtx(() => [
+                _hoisted_14
+              ]),
+              _: 1
+            }),
+            createBaseVNode("div", _hoisted_15, [
+              (openBlock(), createElementBlock(Fragment, null, renderList(userlist, (item, index3) => {
+                return createBaseVNode("li", {
+                  key: index3,
+                  value: item.label,
+                  onClick: ($event) => switchUser(item.value)
+                }, [
+                  item.value === 1 ? (openBlock(), createBlock(unref(iconReplace), { key: 0 })) : createCommentVNode("", true),
+                  item.value === 2 ? (openBlock(), createBlock(unref(iconUser), { key: 1 })) : createCommentVNode("", true),
+                  item.value === 3 ? (openBlock(), createBlock(unref(iconWriting), { key: 2 })) : createCommentVNode("", true),
+                  item.value === 4 ? (openBlock(), createBlock(unref(iconCheckOut), { key: 3 })) : createCommentVNode("", true),
+                  createTextVNode(" " + toDisplayString(_ctx2.$t(item.label)), 1)
+                ], 8, _hoisted_16);
+              }), 64))
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_a3b2c611_lang = "";
+const index_vue_vue_type_style_index_1_scoped_a3b2c611_lang = "";
+const NavBar = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-a3b2c611"]]);
+const DefaultTheme = {
+  id: "tiny-default-theme",
+  name: "DefaultTheme",
+  data: {
+    "ti-base-color-brand-6": "#5e7ce0",
+    "ti-base-color-brand-8": "#344899",
+    "ti-base-color-brand-7": "#526ecc",
+    "ti-base-color-brand-5": "#7693f5",
+    "ti-base-color-brand-4": "#96adfa",
+    "ti-base-color-brand-3": "#5e7ce0",
+    "ti-base-color-brand-2": "#e9edfa",
+    "ti-base-color-brand-1": "#f2f5fc",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#526ecc",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const DarkTheme = {
+  id: "tiny-dark-theme",
+  name: "DarkTheme",
+  data: {
+    "ti-base-color-brand-6": "#5e7ce0",
+    "ti-base-color-brand-8": "#344899",
+    "ti-base-color-brand-7": "#000",
+    "ti-base-color-brand-5": "#7693f5",
+    "ti-base-color-brand-4": "#96adfa",
+    "ti-base-color-brand-3": "#5e7ce0",
+    "ti-base-color-brand-2": "#edf2f6",
+    "ti-base-color-brand-1": "#f2f5fc",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#edf2f6",
+    "ti-button-primary-normal-bg-color": "#5e7ce0",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const PeachesTheme = {
+  id: "tiny-peaches-theme",
+  name: "PeachesTheme",
+  data: {
+    "ti-base-color-brand-1": "#f3dfe9",
+    "ti-base-color-brand-2": "#f3dfe9;",
+    "ti-base-color-brand-3": "#ec66ab;",
+    "ti-base-color-brand-4": "#ec66ab;",
+    "ti-base-color-brand-5": "#ec66ab;",
+    "ti-base-color-brand-6": "#ec66ab;",
+    "ti-base-color-brand-7": "#ec66ab;",
+    "ti-base-color-brand-8": "#ec66ab;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#ec66ab",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const VioletTheme = {
+  id: "tiny-violet-theme",
+  name: "VioletTheme",
+  data: {
+    "ti-base-color-brand-1": "#F3F1FD;",
+    "ti-base-color-brand-2": "#F3F1FD;",
+    "ti-base-color-brand-3": "#7b69ee;",
+    "ti-base-color-brand-4": "#7b69ee;",
+    "ti-base-color-brand-5": "#7b69ee;",
+    "ti-base-color-brand-6": "#7b69ee;",
+    "ti-base-color-brand-7": "#7b69ee;",
+    "ti-base-color-brand-8": "#7b69ee;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#7b69ee",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const DeepnessTheme = {
+  id: "tiny-deepness-theme",
+  name: "DeepnessTheme",
+  data: {
+    "ti-base-color-brand-1": "#e9ebf1;",
+    "ti-base-color-brand-2": "#e9ebf1;",
+    "ti-base-color-brand-3": "#252b3a;",
+    "ti-base-color-brand-4": "#252b3a;",
+    "ti-base-color-brand-5": "#252b3a;",
+    "ti-base-color-brand-6": "#252b3a;",
+    "ti-base-color-brand-7": "#252b3a;",
+    "ti-base-color-brand-8": "#252b3a;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#252b3a",
+    "ti-base-common-title-color": "#272727"
+  }
+};
+const Theme6 = {
+  id: "tiny-theme-6",
+  name: "Theme6",
+  data: {
+    "ti-base-color-brand-1": "#edf2f6;",
+    "ti-base-color-brand-2": "#edf2f6;",
+    "ti-base-color-brand-3": "#343a40;",
+    "ti-base-color-brand-4": "#343a40;",
+    "ti-base-color-brand-5": "#343a40;",
+    "ti-base-color-brand-6": "#343A40;",
+    "ti-base-color-brand-7": "#343a40;",
+    "ti-base-color-brand-8": "#343a40;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#343a40",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme7 = {
+  id: "tiny-theme-7",
+  name: "Theme7",
+  data: {
+    "ti-base-color-brand-1": "#e5e8f5;",
+    "ti-base-color-brand-2": "#e5e8f5;",
+    "ti-base-color-brand-3": "#25316c;",
+    "ti-base-color-brand-4": "#25316c;",
+    "ti-base-color-brand-5": "#25316c;",
+    "ti-base-color-brand-6": "#25316c;",
+    "ti-base-color-brand-7": "#25316c;",
+    "ti-base-color-brand-8": "#25316c;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#25316c",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme8 = {
+  id: "tiny-theme-8",
+  name: "Theme8",
+  data: {
+    "ti-base-color-brand-1": "#f7f4fc;",
+    "ti-base-color-brand-2": "#f7f4fc;",
+    "ti-base-color-brand-3": "#673ab7;",
+    "ti-base-color-brand-4": "#673ab7;",
+    "ti-base-color-brand-5": "#673ab7;",
+    "ti-base-color-brand-6": "#673ab7;",
+    "ti-base-color-brand-7": "#673ab7;",
+    "ti-base-color-brand-8": "#673ab7;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#673ab7",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme9 = {
+  id: "tiny-theme-9",
+  name: "Theme9",
+  data: {
+    "ti-base-color-brand-1": "#f0f4ff;",
+    "ti-base-color-brand-2": "#f0f4ff;",
+    "ti-base-color-brand-3": "#4f7dff;",
+    "ti-base-color-brand-4": "#4f7dff;",
+    "ti-base-color-brand-5": "#4f7dff;",
+    "ti-base-color-brand-6": "#4f7dff;",
+    "ti-base-color-brand-7": "#4f7dff;",
+    "ti-base-color-brand-8": "#4f7dff;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#4f7dff",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme10 = {
+  id: "tiny-theme-10",
+  name: "Theme10",
+  data: {
+    "ti-base-color-brand-1": "#f4fcf7;",
+    "ti-base-color-brand-2": "#f4fcf7;",
+    "ti-base-color-brand-3": "#4daf77;",
+    "ti-base-color-brand-4": "#4daf77;",
+    "ti-base-color-brand-5": "#4daf77;",
+    "ti-base-color-brand-6": "#4daf77;",
+    "ti-base-color-brand-7": "#4daf77;",
+    "ti-base-color-brand-8": "#4daf77;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#4daf77",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme11 = {
+  id: "tiny-theme-11",
+  name: "Theme11",
+  data: {
+    "ti-base-color-brand-1": "#f5faf0;",
+    "ti-base-color-brand-2": "#f5faf0;",
+    "ti-base-color-brand-3": "#5faa15;",
+    "ti-base-color-brand-4": "#5faa15;",
+    "ti-base-color-brand-5": "#5faa15;",
+    "ti-base-color-brand-6": "#5faa15;",
+    "ti-base-color-brand-7": "#5faa15;",
+    "ti-base-color-brand-8": "#5faa15;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#5faa15",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme12 = {
+  id: "tiny-theme-12",
+  name: "Theme12",
+  data: {
+    "ti-base-color-brand-1": "#fff9f5;",
+    "ti-base-color-brand-2": "#fff9f5;",
+    "ti-base-color-brand-3": "#ff6a0b;",
+    "ti-base-color-brand-4": "#ff6a0b;",
+    "ti-base-color-brand-5": "#ff6a0b;",
+    "ti-base-color-brand-6": "#ff6a0b;",
+    "ti-base-color-brand-7": "#ff6a0b;",
+    "ti-base-color-brand-8": "#ff6a0b;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#ff6a0b",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme13 = {
+  id: "tiny-theme-13",
+  name: "Theme13",
+  data: {
+    "ti-base-color-brand-1": "#fff7f8;",
+    "ti-base-color-brand-2": "#fff7f8;",
+    "ti-base-color-brand-3": "#f36b7f;",
+    "ti-base-color-brand-4": "#f36b7f;",
+    "ti-base-color-brand-5": "#f36b7f;",
+    "ti-base-color-brand-6": "#f36b7f;",
+    "ti-base-color-brand-7": "#f36b7f;",
+    "ti-base-color-brand-8": "#f36b7f;",
+    "ti-tree-menu-node-current-text-color": "#fff",
+    "ti-tree-menu-square-left-border-color": "#fff",
+    "ti-tree-menu-node-hover-bg-color": "#f36b7f",
+    "ti-base-common-title-color": "#272727",
+    "ti-base-icon-color": "#fff"
+  }
+};
+const Theme14 = {
+  id: "tiny-theme-14",
+  name: "Theme14",
+  data: {
+    "ti-base-color-brand-1": "#edf2f6;",
+    "ti-base-color-brand-2": "#edf2f6;",
+    "ti-base-color-brand-3": "#343a40;",
+    "ti-base-color-brand-4": "#343a40;",
+    "ti-base-color-brand-5": "#343a40;",
+    "ti-base-color-brand-6": "#343a40;",
+    "ti-base-color-brand-7": "#343a40;",
+    "ti-base-color-brand-8": "#343a40;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#edf2f6",
+    "ti-button-primary-normal-bg-color": "#edf2f6",
+    "ti-button-primary-text-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme15 = {
+  id: "tiny-theme-15",
+  name: "Theme15",
+  data: {
+    "ti-base-color-brand-1": "#e5e8f5;",
+    "ti-base-color-brand-2": "#e5e8f5;",
+    "ti-base-color-brand-3": "#25316c;",
+    "ti-base-color-brand-4": "#25316c;",
+    "ti-base-color-brand-5": "#25316c;",
+    "ti-base-color-brand-6": "#25316c;",
+    "ti-base-color-brand-7": "#25316c;",
+    "ti-base-color-brand-8": "#25316c;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#e5e8f5",
+    "ti-button-primary-normal-bg-color": "#e5e8f5",
+    "ti-button-primary-text-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme16 = {
+  id: "tiny-theme-16",
+  name: "Theme16",
+  data: {
+    "ti-base-color-brand-1": "#f7f4fc;",
+    "ti-base-color-brand-2": "#f7f4fc;",
+    "ti-base-color-brand-3": "#673ab7;",
+    "ti-base-color-brand-4": "#673ab7;",
+    "ti-base-color-brand-5": "#673ab7;",
+    "ti-base-color-brand-6": "#673ab7;",
+    "ti-base-color-brand-7": "#673ab7;",
+    "ti-base-color-brand-8": "#673ab7;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#673ab7",
+    "ti-button-primary-normal-bg-color": "#673ab7",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme17 = {
+  id: "tiny-theme-17",
+  name: "Theme17",
+  data: {
+    "ti-base-color-brand-1": "#f0f4ff;",
+    "ti-base-color-brand-2": "#f0f4ff;",
+    "ti-base-color-brand-3": "#4f7dff;",
+    "ti-base-color-brand-4": "#4f7dff;",
+    "ti-base-color-brand-5": "#4f7dff;",
+    "ti-base-color-brand-6": "#4f7dff;",
+    "ti-base-color-brand-7": "#4f7dff;",
+    "ti-base-color-brand-8": "#4f7dff;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#4f7dff",
+    "ti-button-primary-normal-bg-color": "#4f7dff",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme18 = {
+  id: "tiny-theme-18",
+  name: "Theme18",
+  data: {
+    "ti-base-color-brand-1": "#f4fcf7;",
+    "ti-base-color-brand-2": "#f4fcf7;",
+    "ti-base-color-brand-3": "#4daf77;",
+    "ti-base-color-brand-4": "#4daf77;",
+    "ti-base-color-brand-5": "#4daf77;",
+    "ti-base-color-brand-6": "#4daf77;",
+    "ti-base-color-brand-7": "#4daf77;",
+    "ti-base-color-brand-8": "#4daf77;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#4daf77",
+    "ti-button-primary-normal-bg-color": "#4daf77",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme19 = {
+  id: "tiny-theme-19",
+  name: "Theme19",
+  data: {
+    "ti-base-color-brand-1": "#f5faf0;",
+    "ti-base-color-brand-2": "#f5faf0;",
+    "ti-base-color-brand-3": "#5faa15;",
+    "ti-base-color-brand-4": "#5faa15;",
+    "ti-base-color-brand-5": "#5faa15;",
+    "ti-base-color-brand-6": "#5faa15;",
+    "ti-base-color-brand-7": "#5faa15;",
+    "ti-base-color-brand-8": "#5faa15;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#5faa15",
+    "ti-button-primary-normal-bg-color": "#5faa15",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme20 = {
+  id: "tiny-theme-20",
+  name: "Theme20",
+  data: {
+    "ti-base-color-brand-1": "#fff9F5;",
+    "ti-base-color-brand-2": "#fff9F5;",
+    "ti-base-color-brand-3": "#ff6a0b;",
+    "ti-base-color-brand-4": "#ff6a0b;",
+    "ti-base-color-brand-5": "#ff6a0b;",
+    "ti-base-color-brand-6": "#ff6a0b;",
+    "ti-base-color-brand-7": "#ff6a0b;",
+    "ti-base-color-brand-8": "#ff6a0b;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#ff6a0b",
+    "ti-button-primary-normal-bg-color": "#ff6a0b",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const Theme21 = {
+  id: "tiny-theme-21",
+  name: "Theme21",
+  data: {
+    "ti-base-color-brand-1": "#fff7F8;",
+    "ti-base-color-brand-2": "#fff7F8;",
+    "ti-base-color-brand-3": "#f36b7f;",
+    "ti-base-color-brand-4": "#f36b7f;",
+    "ti-base-color-brand-5": "#f36b7f;",
+    "ti-base-color-brand-6": "#f36b7f;",
+    "ti-base-color-brand-7": "#f36b7f;",
+    "ti-base-color-brand-8": "#f36b7f;",
+    "ti-tree-menu-node-current-text-color": "#000",
+    "ti-tree-menu-node-hover-bg-color": "#f36b7f",
+    "ti-button-primary-normal-bg-color": "#f36b7f",
+    "ti-button-primary-text-color": "#000",
+    "ti-tree-menu-square-left-border-color": "#000",
+    "ti-base-common-title-color": "#000",
+    "ti-base-icon-color": "#252b3a"
+  }
+};
+const SwitchlightColor = [
+  {
+    value: 1,
+    color: "#343a40",
+    dark: "light",
+    theme: Theme6
+  },
+  {
+    value: 2,
+    color: "#25316c",
+    dark: "light",
+    theme: Theme7
+  },
+  {
+    value: 3,
+    color: "#673ab7",
+    dark: "light",
+    theme: Theme8
+  },
+  {
+    value: 4,
+    color: "#4f7dff",
+    dark: "light",
+    theme: Theme9
+  },
+  {
+    value: 5,
+    color: "#4daf77",
+    dark: "light",
+    theme: Theme10
+  },
+  {
+    value: 6,
+    color: "#5faa15",
+    dark: "light",
+    theme: Theme11
+  },
+  {
+    value: 7,
+    color: "#ff6a0d",
+    dark: "light",
+    theme: Theme12
+  },
+  {
+    value: 8,
+    color: "#f36b7f",
+    dark: "light",
+    theme: Theme13
+  }
+];
+const SwitchdarkColor = [
+  {
+    value: 9,
+    color: "#343a40",
+    dark: "dark",
+    theme: Theme14
+  },
+  {
+    value: 10,
+    color: "#25316c",
+    dark: "dark",
+    theme: Theme15
+  },
+  {
+    value: 11,
+    color: "#673ab7",
+    dark: "dark",
+    theme: Theme16
+  },
+  {
+    value: 12,
+    color: "#4f7dff",
+    dark: "dark",
+    theme: Theme17
+  },
+  {
+    value: 13,
+    color: "#4daf77",
+    dark: "dark",
+    theme: Theme18
+  },
+  {
+    value: 14,
+    color: "#5faa15",
+    dark: "dark",
+    theme: Theme19
+  },
+  {
+    value: 15,
+    color: "#ff6a0d",
+    dark: "dark",
+    theme: Theme20
+  },
+  {
+    value: 16,
+    color: "#f36b7f",
+    dark: "dark",
+    theme: Theme21
+  }
+];
+const _hoisted_1$3 = { class: "theme-content" };
+const _hoisted_2$3 = { class: "theme-container" };
+const _hoisted_3$2 = { class: "theme-recommend" };
+const _hoisted_4$2 = ["onClick"];
+const _hoisted_5$2 = { class: "theme-tip" };
+const _hoisted_6$2 = { class: "theme-person" };
+const _hoisted_7$2 = { class: "theme-line" };
+const _hoisted_8 = ["onClick"];
+const _hoisted_9 = { class: "theme-line" };
+const _hoisted_10 = ["onClick"];
+const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    const themeTitle = [
+      {
+        val: "1",
+        title: "theme.title.default",
+        content: "theme-text-default",
+        color: "default"
+      },
+      {
+        val: "2",
+        title: "theme.title.honey",
+        content: "theme-text-honey",
+        color: "peaches"
+      },
+      {
+        val: "3",
+        title: "theme.title.violet",
+        content: "theme-text-violet",
+        color: "violet"
+      },
+      {
+        val: "4",
+        title: "theme.title.deepness",
+        content: "theme-text-deepness",
+        color: "deepness"
+      },
+      {
+        val: "5",
+        title: "theme.title.deep",
+        content: "theme-text-dark",
+        color: "dark"
+      }
+    ];
+    const Yes2 = index$C();
+    const appStore = useAppStore();
+    let divApp = document.documentElement;
+    let theme2 = new TinyThemeTool();
+    onMounted(() => {
+      if (appStore.themelist === "none") {
+        theme2.changeTheme(appStore.themeLightColors.theme);
+        appStore.theme = appStore.themeLightColors.dark;
+      }
+    });
+    const change = (item) => {
+      appStore.updateSettings({ themeValue: 0 });
+      switch (item.val) {
+        case "2":
+          appStore.updateSettings({ theme: "light" });
+          theme2.changeTheme(PeachesTheme);
+          appStore.updateSettings({ themelist: "peaches" });
+          break;
+        case "3":
+          appStore.updateSettings({ theme: "light" });
+          theme2.changeTheme(VioletTheme);
+          appStore.updateSettings({ themelist: "violet" });
+          break;
+        case "4":
+          appStore.updateSettings({ theme: "light" });
+          theme2.changeTheme(DeepnessTheme);
+          appStore.updateSettings({ themelist: "deepness" });
+          break;
+        case "5":
+          appStore.updateSettings({ theme: "dark" });
+          theme2.changeTheme(DarkTheme);
+          appStore.updateSettings({ themelist: "dark" });
+          break;
+        default:
+          appStore.updateSettings({ theme: "light" });
+          theme2.changeTheme(DefaultTheme);
+          appStore.updateSettings({ themelist: "default" });
+      }
+    };
+    watch(appStore.$state, (newValue, oldValue) => {
+      if (newValue.theme === "dark") {
+        divApp.style.filter = "invert(0.9) hue-rotate(180deg)";
+      } else {
+        divApp.style.filter = "invert(0) hue-rotate(0deg)";
+      }
+    });
+    const choose = (item) => {
+      appStore.themelist = "none";
+      appStore.updateSettings({ themeValue: item.value });
+      theme2.changeTheme(item.theme);
+      appStore.theme = item.dark;
+      appStore.setthemeLightColors(item);
+    };
+    watch(
+      appStore.$state,
+      (newValue, oldValue) => {
+        switch (newValue.themelist) {
+          case "default":
+            appStore.updateSettings({ theme: "light" });
+            theme2.changeTheme(DefaultTheme);
+            break;
+          case "peaches":
+            appStore.updateSettings({ theme: "light" });
+            theme2.changeTheme(PeachesTheme);
+            break;
+          case "violet":
+            appStore.updateSettings({ theme: "light" });
+            theme2.changeTheme(VioletTheme);
+            break;
+          case "deepness":
+            appStore.updateSettings({ theme: "light" });
+            theme2.changeTheme(DeepnessTheme);
+            break;
+          case "dark":
+            appStore.updateSettings({ theme: "dark" });
+            break;
+        }
+      },
+      { immediate: true }
+    );
+    return (_ctx2, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$3, [
+        createBaseVNode("div", _hoisted_2$3, [
+          createBaseVNode("div", _hoisted_3$2, [
+            createBaseVNode("h1", null, toDisplayString(_ctx2.$t("theme-title-recommend")), 1),
+            (openBlock(), createElementBlock(Fragment, null, renderList(themeTitle, (item, index3) => {
+              return createBaseVNode("div", {
+                key: index3,
+                class: "theme-contain"
+              }, [
+                createBaseVNode("div", {
+                  class: normalizeClass(item.color),
+                  onClick: ($event) => change(item)
+                }, [
+                  createBaseVNode("h4", null, toDisplayString(_ctx2.$t(item.title)), 1),
+                  createBaseVNode("span", null, toDisplayString(_ctx2.$t(item.content)), 1),
+                  createBaseVNode("div", _hoisted_5$2, [
+                    createVNode$1(unref(Yes2), {
+                      class: normalizeClass(
+                        item.color === unref(appStore).themelist ? "theme-list-yes" : "theme-list-no"
+                      )
+                    }, null, 8, ["class"])
+                  ])
+                ], 10, _hoisted_4$2)
+              ]);
+            }), 64))
+          ]),
+          createBaseVNode("div", _hoisted_6$2, [
+            createBaseVNode("h1", null, toDisplayString(_ctx2.$t("theme.title.customization")), 1),
+            createBaseVNode("div", null, [
+              createBaseVNode("span", null, toDisplayString(_ctx2.$t("theme.title.light")), 1),
+              createBaseVNode("div", _hoisted_7$2, [
+                (openBlock(true), createElementBlock(Fragment, null, renderList(unref(SwitchlightColor), (item) => {
+                  return openBlock(), createElementBlock("div", {
+                    key: item.value,
+                    class: "light"
+                  }, [
+                    createBaseVNode("div", {
+                      class: "theme-block",
+                      style: normalizeStyle$2({ "background-color": item.color }),
+                      onClick: ($event) => choose(item)
+                    }, [
+                      item.value === unref(appStore).themeValue ? (openBlock(), createBlock(unref(Yes2), {
+                        key: 0,
+                        class: "theme-yes"
+                      })) : createCommentVNode("", true)
+                    ], 12, _hoisted_8)
+                  ]);
+                }), 128))
+              ])
+            ]),
+            createBaseVNode("div", null, [
+              createBaseVNode("span", null, toDisplayString(_ctx2.$t("theme.title.deep")), 1),
+              createBaseVNode("div", _hoisted_9, [
+                (openBlock(true), createElementBlock(Fragment, null, renderList(unref(SwitchdarkColor), (item) => {
+                  return openBlock(), createElementBlock("div", {
+                    key: item.value,
+                    class: "black"
+                  }, [
+                    createBaseVNode("div", {
+                      class: "theme-block",
+                      style: normalizeStyle$2({ "background-color": item.color }),
+                      onClick: ($event) => choose(item)
+                    }, [
+                      item.value === unref(appStore).themeValue ? (openBlock(), createBlock(unref(Yes2), {
+                        key: 0,
+                        class: "theme-yes"
+                      })) : createCommentVNode("", true)
+                    ], 12, _hoisted_10)
+                  ]);
+                }), 128))
+              ])
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_7eb3044e_lang = "";
+const Theme = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-7eb3044e"]]);
+const _hoisted_1$2 = { class: "menu-router" };
+const _hoisted_2$2 = {
+  key: 0,
+  class: "menu-title"
+};
+const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    const iconDownloadCloud = index$15();
+    const iconFiles = index$_();
+    const iconSetting = index$I();
+    const iconSuccessful = index$G();
+    const iconCueL = index$16();
+    const iconUser = index$F();
+    const iconFiletext = index$Z();
+    const iconApplication = index$1d();
+    const tree2 = ref();
+    const expandeArr = ref();
+    const routerTitle = [
+      {
+        value: "Board",
+        name: "menu.board",
+        icon: iconApplication,
+        bold: "main-title"
+      },
+      {
+        value: "Home",
+        name: "menu.home",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Work",
+        name: "menu.work",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "List",
+        name: "menu.list",
+        icon: iconFiles,
+        bold: "main-title"
+      },
+      {
+        value: "Table",
+        name: "menu.list.searchTable",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Form",
+        name: "menu.form",
+        icon: iconSetting,
+        bold: "main-title"
+      },
+      {
+        value: "Base",
+        name: "menu.form.base",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Step",
+        name: "menu.form.step",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Profile",
+        name: "menu.profile",
+        icon: iconFiletext,
+        bold: "main-title"
+      },
+      {
+        value: "Detail",
+        name: "menu.profile.detail",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Result",
+        name: "menu.result",
+        icon: iconSuccessful,
+        bold: "main-title"
+      },
+      {
+        value: "Success",
+        name: "menu.result.success",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Error",
+        name: "menu.result.error",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Cloud",
+        name: "menu.cloud",
+        icon: iconDownloadCloud,
+        bold: "main-title"
+      },
+      {
+        value: "Hello",
+        name: "menu.cloud.hello",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Contracts",
+        name: "menu.cloud.contracts",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Problems",
+        name: "menu.cloud.locate.problems",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Exception",
+        name: "menu.exception",
+        icon: iconCueL,
+        bold: "main-title"
+      },
+      {
+        value: "403",
+        name: "menu.exception.403",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "404",
+        name: "menu.exception.404",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "500",
+        name: "menu.exception.500",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "User",
+        name: "menu.user",
+        icon: iconUser,
+        bold: "main-title"
+      },
+      {
+        value: "Info",
+        name: "menu.user.info",
+        icon: null,
+        bold: "title"
+      },
+      {
+        value: "Setting",
+        name: "menu.user.setting",
+        icon: null,
+        bold: "title"
+      }
+    ];
+    const appRoute = computed(() => {
+      return router.getRoutes().find((el) => el.name === "root");
+    });
+    const copyRouter = JSON.parse(JSON.stringify(appRoute.value.children));
+    copyRouter.sort((a2, b2) => {
+      return (a2.meta.order || 0) - (b2.meta.order || 0);
+    });
+    const userStore = useUserStore();
+    const role = computed(() => userStore.role);
+    let treeData2 = ref(copyRouter);
+    const treeDataForEach = (arr) => {
+      return arr.filter((e2) => {
+        if (e2.children) {
+          e2.children = e2.children.filter((v4) => {
+            return !v4.meta.hideInMenu;
+          });
+          treeDataForEach(e2.children);
+        }
+        return !e2.meta.hideInMenu;
+      });
+    };
+    const treeDataFilter = treeDataForEach(treeData2.value);
+    watch(
+      role,
+      (newValue) => {
+        if (newValue === "admin") {
+          treeData2.value = copyRouter;
+        } else {
+          treeData2.value = copyRouter.filter(
+            (item) => item.name !== "User"
+          );
+        }
+      },
+      { immediate: true }
+    );
+    onMounted(() => {
+      watch(
+        () => router.currentRoute.value.path,
+        (newValue) => {
+          const menuKey = newValue.replace(/^.*\//, "").replace(/^[a-z]/, (s2) => s2.toUpperCase());
+          expandeArr.value = [menuKey];
+          tree2.value.setCurrentKey(menuKey);
+        },
+        { immediate: true }
+      );
+    });
+    const currentChange2 = (data2) => {
+      const filter4 = [
+        "Exception",
+        "Form",
+        "Board",
+        "List",
+        "Profile",
+        "Result",
+        "User",
+        "Cloud"
+      ];
+      if (filter4.indexOf(data2.id) === -1) {
+        router.push({ name: data2.id });
+      }
+    };
+    return (_ctx2, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$2, [
+        createVNode$1(unref(TreeMenu), {
+          ref_key: "tree",
+          ref: tree2,
+          data: unref(treeDataFilter),
+          "show-filter": false,
+          "node-key": "id",
+          wrap: "",
+          "default-expanded-keys": expandeArr.value,
+          onCurrentChange: currentChange2
+        }, {
+          default: withCtx((slotScope) => [
+            (openBlock(), createElementBlock(Fragment, null, renderList(routerTitle, (item, index3) => {
+              return openBlock(), createElementBlock(Fragment, { key: index3 }, [
+                slotScope.label === item.value ? (openBlock(), createElementBlock("span", _hoisted_2$2, [
+                  (openBlock(), createBlock(resolveDynamicComponent(item.icon))),
+                  createBaseVNode("span", {
+                    class: normalizeClass(item.bold)
+                  }, toDisplayString(_ctx2.$t(item.name)), 3)
+                ])) : createCommentVNode("", true)
+              ], 64);
+            }), 64))
+          ]),
+          _: 1
+        }, 8, ["data", "default-expanded-keys"])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_64e0b812_lang = "";
+const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-64e0b812"]]);
+const _sfc_main$3 = {};
+function _sfc_render(_ctx2, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view, null, {
+    default: withCtx(({ Component: Component2, route }) => [
+      (openBlock(), createBlock(resolveDynamicComponent(Component2), {
+        key: route.fullPath
+      }))
+    ]),
+    _: 1
+  });
+}
+const PageLayout = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render]]);
+const _withScopeId$1 = (n2) => (pushScopeId("data-v-6254482e"), n2 = n2(), popScopeId(), n2);
+const _hoisted_1$1 = { class: "layout" };
+const _hoisted_2$1 = { class: "layout-navbar" };
+const _hoisted_3$1 = { class: "menu-wrapper" };
+const _hoisted_4$1 = { class: "layout-footer" };
+const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { src: _imports_0$4 }, null, -1));
+const _hoisted_6$1 = [
+  _hoisted_5$1
+];
+const _hoisted_7$1 = { key: 0 };
+const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
+  __name: "default-layout",
+  setup(__props) {
+    useCssVars((_ctx2) => ({
+      "f449dce6": top.value
+    }));
+    const appStore = useAppStore();
+    const changefooter = ref("#fff");
+    const top = ref("10px");
+    const switchSet = () => {
+      appStore.updateSettings({ Settings: true });
+    };
+    const myPattern = ref("legend");
+    const disTheme = ref(false);
+    const theme2 = new TinyThemeTool();
+    const themeVisible = () => {
+      disTheme.value = !disTheme.value;
+    };
+    watch(appStore.$state, (newValue, oldValue) => {
+      if (!newValue.navbar) {
+        myPattern.value = "simple";
+      } else if (!newValue.footer) {
+        myPattern.value = "fashion";
+      } else if (!newValue.menu) {
+        myPattern.value = "classic";
+      } else {
+        myPattern.value = "legend";
+      }
+      appStore.footer ? top.value = "10px" : top.value = "60px";
+    });
+    watch(appStore.$state, (newValue, oldValue) => {
+      if (newValue.theme === "dark") {
+        changefooter.value = "#262323;";
+      } else {
+        changefooter.value = "#fff;";
+      }
+    });
+    onMounted(() => {
+      appStore.updateSettings({ theme: "light" });
+      theme2.changeTheme(DefaultTheme);
+      appStore.updateSettings({ themelist: "default" });
+    });
+    return (_ctx2, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$1, [
+        createVNode$1(unref(Container), {
+          "aside-width": 250,
+          pattern: myPattern.value
+        }, {
+          header: withCtx(() => [
+            createVNode$1(unref(Layout), null, {
+              default: withCtx(() => [
+                createBaseVNode("div", _hoisted_2$1, [
+                  createVNode$1(NavBar)
+                ])
+              ]),
+              _: 1
+            })
+          ]),
+          aside: withCtx(() => [
+            createVNode$1(unref(Layout), { class: "layout-sider" }, {
+              default: withCtx(() => [
+                createBaseVNode("div", _hoisted_3$1, [
+                  createVNode$1(Menu)
+                ])
+              ]),
+              _: 1
+            })
+          ]),
+          footer: withCtx(() => [
+            createVNode$1(unref(Layout), null, {
+              default: withCtx(() => [
+                createBaseVNode("div", _hoisted_4$1, [
+                  createVNode$1(Footer)
+                ])
+              ]),
+              _: 1
+            })
+          ]),
+          default: withCtx(() => [
+            createVNode$1(unref(Layout), { class: "layout-content" }, {
+              default: withCtx(() => [
+                createVNode$1(PageLayout)
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        }, 8, ["pattern"]),
+        createBaseVNode("div", {
+          class: "theme-box",
+          onClick: themeVisible
+        }, _hoisted_6$1),
+        disTheme.value ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
+          createVNode$1(unref(TINYModal), {
+            modelValue: disTheme.value,
+            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => disTheme.value = $event),
+            "lock-scroll": true,
+            "show-header": "",
+            "show-footer": "",
+            title: _ctx2.$t("theme.title.main"),
+            "mask-closable": "true",
+            height: "922",
+            width: "748"
+          }, {
+            default: withCtx(() => [
+              createVNode$1(Theme)
+            ]),
+            footer: withCtx(() => []),
+            _: 1
+          }, 8, ["modelValue", "title"])
+        ])) : createCommentVNode("", true),
+        !unref(appStore).navbar ? (openBlock(), createElementBlock("img", {
+          key: 1,
+          src: _imports_1,
+          class: "global-setting",
+          onClick: switchSet
+        })) : createCommentVNode("", true)
+      ]);
+    };
+  }
+});
+const defaultLayout_vue_vue_type_style_index_0_scoped_6254482e_lang = "";
+const DefaultLayout = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-6254482e"]]);
+var RoleType = /* @__PURE__ */ ((RoleType2) => {
+  RoleType2["admin"] = "admin";
+  RoleType2["user"] = "user";
+  return RoleType2;
+})(RoleType || {});
+var ListType = /* @__PURE__ */ ((ListType2) => {
+  ListType2["TYPE_LIST"] = "List";
+  ListType2["TYPE_LOGS"] = "logs";
+  return ListType2;
+})(ListType || {});
+const cloud = {
+  path: "cloud",
+  name: "Cloud",
+  id: "Cloud",
+  label: "Cloud",
+  component: () => __vitePreload(() => import("./index2.js"), true ? ["assets/index2.js","assets/vue.js"] : void 0),
+  meta: {
+    locale: "menu.cloud",
+    requiresAuth: true,
+    order: 8,
+    roles: [RoleType.admin, RoleType.user]
+  },
+  children: [
+    {
+      path: "hello",
+      name: "Hello",
+      id: "Hello",
+      label: "Hello",
+      component: () => __vitePreload(() => import("./index3.js"), true ? ["assets/index3.js","assets/vue.js","assets/hwcClient.service.js","assets/index4.css"] : void 0),
+      meta: {
+        locale: "menu.cloud.hello",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    },
+    {
+      path: "contracts",
+      name: "Contracts",
+      id: "Contracts",
+      label: "Contracts",
+      component: () => __vitePreload(() => import("./index4.js"), true ? ["assets/index4.js","assets/vue.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index32.js","assets/index33.js","assets/index34.js","assets/index35.js","assets/index28.css","assets/index26.css","assets/warning-triangle.js","assets/index17.css","assets/time.js","assets/hwcClient.service.js","assets/index29.js","assets/index25.css","assets/index5.css"] : void 0),
+      meta: {
+        locale: "menu.cloud.contracts",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    },
+    {
+      path: "Problems",
+      name: "Problems",
+      id: "Problems",
+      label: "Problems",
+      component: () => __vitePreload(() => import("./index5.js"), true ? ["assets/index5.js","assets/vue.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index36.js","assets/index35.js","assets/index28.css","assets/index27.css","assets/index29.js","assets/index25.css","assets/time.js","assets/index32.js","assets/index33.js","assets/index34.js","assets/index26.css","assets/warning-triangle.js","assets/index17.css","assets/index6.css"] : void 0),
+      meta: {
+        locale: "menu.cloud.locate.problems",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    }
+  ]
+};
+const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: cloud
+}, Symbol.toStringTag, { value: "Module" }));
+const exception = {
+  path: "exception",
+  name: "Exception",
+  id: "Exception",
+  label: "Exception",
+  component: () => __vitePreload(() => import("./index6.js"), true ? ["assets/index6.js","assets/vue.js"] : void 0),
+  meta: {
+    locale: "menu.exception",
+    requiresAuth: true,
+    order: 6,
+    roles: [RoleType.admin, RoleType.user]
+  },
+  children: [
+    {
+      path: "403",
+      name: "403",
+      id: "403",
+      label: "403",
+      component: () => __vitePreload(() => import("./index7.js"), true ? ["assets/index7.js","assets/vue.js","assets/index7.css"] : void 0),
+      meta: {
+        locale: "menu.exception.403",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    },
+    {
+      path: "404",
+      name: "404",
+      id: "404",
+      label: "404",
+      component: () => __vitePreload(() => import("./index8.js"), true ? ["assets/index8.js","assets/vue.js","assets/index8.css"] : void 0),
+      meta: {
+        locale: "menu.exception.404",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    },
+    {
+      path: "500",
+      name: "500",
+      id: "500",
+      label: "500",
+      component: () => __vitePreload(() => import("./index9.js"), true ? ["assets/index9.js","assets/vue.js","assets/index9.css"] : void 0),
+      meta: {
+        locale: "menu.exception.500",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    }
+  ]
+};
+const __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: exception
+}, Symbol.toStringTag, { value: "Module" }));
+const form = {
+  path: "form",
+  name: "Form",
+  id: "Form",
+  label: "Form",
+  component: () => __vitePreload(() => import("./index10.js"), true ? ["assets/index10.js","assets/vue.js","assets/index10.css"] : void 0),
+  meta: {
+    locale: "menu.form",
+    requiresAuth: true,
+    order: 3,
+    roles: [RoleType.admin]
+  },
+  children: [
+    {
+      path: "base",
+      name: "Base",
+      id: "Base",
+      label: "Base",
+      component: () => __vitePreload(() => import("./index11.js"), true ? ["assets/index11.js","assets/vue.js","assets/index37.js","assets/index19.css","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/form.js","assets/index29.js","assets/index25.css","assets/index34.js","assets/index35.js","assets/index28.css","assets/index26.css","assets/index11.css"] : void 0),
+      meta: {
+        locale: "menu.form.base",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    },
+    {
+      path: "step",
+      name: "Step",
+      id: "Step",
+      label: "Step",
+      component: () => __vitePreload(() => import("./index12.js"), true ? ["assets/index12.js","assets/vue.js","assets/index38.js","assets/chevron-up.js","assets/index22.css","assets/index31.js","assets/index30.js","assets/index29.css","assets/form.js","assets/index36.js","assets/index35.js","assets/index28.css","assets/index27.css","assets/index29.js","assets/index25.css","assets/index34.js","assets/index26.css","assets/head.js","assets/head.css","assets/index12.css"] : void 0),
+      meta: {
+        locale: "menu.form.step",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    }
+  ]
+};
+const __vite_glob_0_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: form
+}, Symbol.toStringTag, { value: "Module" }));
+const kanban = {
+  path: "board",
+  name: "Board",
+  id: "Board",
+  label: "Board",
+  component: () => __vitePreload(() => import("./index13.js"), true ? ["assets/index13.js","assets/vue.js"] : void 0),
+  meta: {
+    locale: "menu.board",
+    requiresAuth: true,
+    order: 1,
+    roles: [RoleType.admin]
+  },
+  children: [
+    {
+      path: "home",
+      name: "Home",
+      id: "Home",
+      label: "Home",
+      component: () => __vitePreload(() => import("./index14.js"), true ? ["assets/index14.js","assets/vue.js","assets/home-down.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index32.js","assets/index13.css"] : void 0),
+      meta: {
+        locale: "menu.board.home",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    },
+    {
+      path: "work",
+      name: "Work",
+      id: "Work",
+      label: "Work",
+      component: () => __vitePreload(() => import("./index15.js"), true ? ["assets/index15.js","assets/vue.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index34.js","assets/index35.js","assets/index28.css","assets/index26.css","assets/index14.css"] : void 0),
+      meta: {
+        locale: "menu.board.work",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    }
+  ]
+};
+const __vite_glob_0_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: kanban
+}, Symbol.toStringTag, { value: "Module" }));
+const list$1 = {
+  path: "list",
+  name: "List",
+  id: "List",
+  label: "List",
+  component: () => __vitePreload(() => import("./index16.js"), true ? ["assets/index16.js","assets/vue.js","assets/index15.css"] : void 0),
+  meta: {
+    locale: "menu.list",
+    requiresAuth: true,
+    order: 2,
+    roles: [RoleType.admin, RoleType.user]
+  },
+  children: [
+    {
+      path: "table",
+      // The midline path complies with SEO specifications
+      name: "Table",
+      id: "Table",
+      label: "Table",
+      component: () => __vitePreload(() => import("./index17.js"), true ? ["assets/index17.js","assets/vue.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index29.js","assets/index25.css","assets/index32.js","assets/index33.js","assets/index34.js","assets/index35.js","assets/index28.css","assets/index26.css","assets/warning-triangle.js","assets/index17.css","assets/index16.css"] : void 0),
+      meta: {
+        locale: "menu.list.searchTable",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    }
+  ]
+};
+const __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: list$1
+}, Symbol.toStringTag, { value: "Module" }));
+const profile$1 = {
+  path: "profile",
+  name: "Profile",
+  id: "Profile",
+  label: "Profile",
+  component: () => __vitePreload(() => import("./index18.js"), true ? ["assets/index18.js","assets/vue.js"] : void 0),
+  meta: {
+    locale: "menu.profile",
+    requiresAuth: true,
+    order: 4,
+    roles: [RoleType.admin]
+  },
+  children: [
+    {
+      path: "detail",
+      name: "Detail",
+      id: "Detail",
+      label: "Detail",
+      component: () => __vitePreload(() => import("./index19.js"), true ? ["assets/index19.js","assets/vue.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index37.js","assets/index19.css","assets/index34.js","assets/index35.js","assets/index28.css","assets/index26.css","assets/index32.js","assets/index18.css"] : void 0),
+      meta: {
+        locale: "menu.profile.detail",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    }
+  ]
+};
+const __vite_glob_0_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: profile$1
+}, Symbol.toStringTag, { value: "Module" }));
+const result = {
+  path: "result",
+  name: "Result",
+  id: "Result",
+  label: "Result",
+  component: () => __vitePreload(() => import("./index20.js"), true ? ["assets/index20.js","assets/vue.js"] : void 0),
+  meta: {
+    locale: "menu.result",
+    requiresAuth: true,
+    order: 5,
+    roles: [RoleType.admin, RoleType.user]
+  },
+  children: [
+    {
+      path: "success",
+      name: "Success",
+      id: "Success",
+      label: "Success",
+      component: () => __vitePreload(() => import("./index21.js"), true ? ["assets/index21.js","assets/vue.js","assets/index38.js","assets/chevron-up.js","assets/index22.css","assets/index20.css"] : void 0),
+      meta: {
+        locale: "menu.result.success",
+        requiresAuth: true,
+        roles: [RoleType.admin]
+      }
+    },
+    {
+      path: "error",
+      name: "Error",
+      id: "Error",
+      label: "Error",
+      component: () => __vitePreload(() => import("./index22.js"), true ? ["assets/index22.js","assets/vue.js","assets/index38.js","assets/chevron-up.js","assets/index22.css","assets/index21.css"] : void 0),
+      meta: {
+        locale: "menu.result.error",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    }
+  ]
+};
+const __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: result
+}, Symbol.toStringTag, { value: "Module" }));
+const user$1 = {
+  path: "user",
+  name: "User",
+  id: "User",
+  label: "User",
+  component: () => __vitePreload(() => import("./index23.js"), true ? ["assets/index23.js","assets/vue.js"] : void 0),
+  meta: {
+    locale: "menu.user",
+    requiresAuth: true,
+    order: 7,
+    roles: [RoleType.admin, RoleType.user]
+  },
+  children: [
+    {
+      path: "info",
+      name: "Info",
+      id: "Info",
+      label: "Info",
+      component: () => __vitePreload(() => import("./index24.js"), true ? ["assets/index24.js","assets/vue.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index35.js","assets/index28.css","assets/index36.js","assets/index27.css","assets/index32.js","assets/head.js","assets/head.css","assets/index23.css"] : void 0),
+      meta: {
+        locale: "menu.user.info",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    },
+    {
+      path: "setting",
+      name: "Setting",
+      id: "Setting",
+      label: "Setting",
+      component: () => __vitePreload(() => import("./index25.js"), true ? ["assets/index25.js","assets/vue.js","assets/time.js","assets/head.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/head.css","assets/index36.js","assets/index35.js","assets/index28.css","assets/index27.css","assets/index29.js","assets/index25.css","assets/index34.js","assets/index26.css","assets/index24.css"] : void 0),
+      meta: {
+        locale: "menu.user.setting",
+        requiresAuth: true,
+        roles: [RoleType.admin, RoleType.user]
+      }
+    }
+  ]
+};
+const __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  default: user$1
+}, Symbol.toStringTag, { value: "Module" }));
+const modules = /* @__PURE__ */ Object.assign({ "./modules/cloud.ts": __vite_glob_0_0, "./modules/exception.ts": __vite_glob_0_1, "./modules/form.ts": __vite_glob_0_2, "./modules/kanban.ts": __vite_glob_0_3, "./modules/list.ts": __vite_glob_0_4, "./modules/profile.ts": __vite_glob_0_5, "./modules/result.ts": __vite_glob_0_6, "./modules/user.ts": __vite_glob_0_7 });
+const appRoutes = [];
+Object.keys(modules).forEach((key2) => {
+  const defaultModule = modules[key2].default;
+  if (!defaultModule)
+    return;
+  const moduleList = Array.isArray(defaultModule) ? [...defaultModule] : [defaultModule];
+  appRoutes.push(...moduleList);
+});
+function usePermission() {
+  const userStore = useUserStore();
+  return {
+    accessRouter(route) {
+      var _a2, _b2, _c2, _d2, _e, _f;
+      return !((_a2 = route.meta) == null ? void 0 : _a2.requiresAuth) || !((_b2 = route.meta) == null ? void 0 : _b2.roles) || ((_d2 = (_c2 = route.meta) == null ? void 0 : _c2.roles) == null ? void 0 : _d2.includes("*")) || ((_f = (_e = route.meta) == null ? void 0 : _e.roles) == null ? void 0 : _f.includes(userStore.role));
+    },
+    findFirstPermissionRoute(_routers, role = "admin") {
+      var _a2, _b2;
+      const cloneRouters = [..._routers];
+      while (cloneRouters.length) {
+        const firstElement = cloneRouters.shift();
+        if ((_b2 = (_a2 = firstElement == null ? void 0 : firstElement.meta) == null ? void 0 : _a2.roles) == null ? void 0 : _b2.find((el) => {
+          return el.includes("*") || el.includes(role);
+        }))
+          return { name: firstElement.name };
+        if (firstElement == null ? void 0 : firstElement.children) {
+          cloneRouters.push(...firstElement.children);
+        }
+      }
+      return null;
+    }
+    // You can add any rules you want
+  };
+}
+function setupPermissionGuard(router2) {
+  router2.beforeEach(async (to, from, next) => {
+    t.start();
+    const userStore = useUserStore();
+    async function crossroads() {
+      const Permission = usePermission();
+      if (Permission.accessRouter(to))
+        next();
+      else {
+        const destination = Permission.findFirstPermissionRoute(
+          appRoutes,
+          userStore.role
+        ) || {
+          name: "notFound"
+        };
+        next(destination);
+      }
+      t.done();
+    }
+    if (isLogin()) {
+      if (userStore.role) {
+        crossroads();
+      } else {
+        try {
+          await userStore.info();
+          crossroads();
+        } catch (error) {
+          next({
+            name: "login",
+            query: {
+              redirect: to.name,
+              ...to.query
+            }
+          });
+          t.done();
+        }
+      }
+    } else {
+      if (to.name === "login" || to.name === "preview") {
+        next();
+        t.done();
+        return;
+      }
+      next({
+        name: "login",
+        query: {
+          redirect: to.name,
+          ...to.query
+        }
+      });
+      t.done();
+    }
+  });
+}
+function setupPageGuard(router2) {
+  router2.beforeEach(async (to) => {
+    setRouteEmitter(to);
+  });
+}
+function createRouteGuard(router2) {
+  setupPageGuard(router2);
+  setupPermissionGuard(router2);
+}
+t.configure({ showSpinner: false });
+const router = createRouter({
+  history: createWebHistory(),
+  routes: [
+    // 本地地址
+    {
+      path: "/",
+      redirect: `${"/ui/admin/web/"}login`
+    },
+    {
+      path: "//ui/admin/web/",
+      redirect: `${"/ui/admin/web/"}board/home`
+    },
+    // 线上地址
+    {
+      path: "/ui/admin/web/",
+      redirect: { path: `${"/ui/admin/web/"}login` }
+    },
+    {
+      path: "/ui/admin/web/login",
+      name: "login",
+      component: () => __vitePreload(() => import("./index26.js"), true ? ["assets/index26.js","assets/vue.js","assets/index29.js","assets/index30.js","assets/index25.css","assets/warning-triangle.js","assets/index2.css"] : void 0),
+      meta: {
+        requiresAuth: false
+      }
+    },
+    {
+      name: "root",
+      path: "/ui/admin/web/",
+      component: DefaultLayout,
+      children: appRoutes
+    },
+    {
+      path: "/ui/admin/web/:pathMatch(.*)*",
+      name: "notFound",
+      component: () => __vitePreload(() => import("./index27.js"), true ? ["assets/index27.js","assets/vue.js"] : void 0)
+    },
+    {
+      path: "/ui/admin/web/preview",
+      name: "preview",
+      component: () => __vitePreload(() => import("./index28.js"), true ? ["assets/index28.js","assets/vue.js","assets/home-down.js","assets/index31.js","assets/chevron-up.js","assets/index30.js","assets/index29.css","assets/index32.js","assets/index3.css"] : void 0)
+    }
+  ],
+  scrollBehavior() {
+    return { top: 0 };
+  }
+});
+createRouteGuard(router);
+function checkPermission(el, binding) {
+  const { value } = binding;
+  const userStore = useUserStore();
+  const { role } = userStore;
+  if (Array.isArray(value)) {
+    if (value.length > 0) {
+      const permissionValues = value;
+      const hasPermission = permissionValues.includes(role);
+      if (!hasPermission && el.parentNode) {
+        el.parentNode.removeChild(el);
+      }
+    }
+  } else {
+    throw new Error(`need roles! Like v-permission="['admin','user']"`);
+  }
+}
+const permission = {
+  mounted(el, binding) {
+    checkPermission(el, binding);
+  },
+  updated(el, binding) {
+    checkPermission(el, binding);
+  }
+};
+const directive = {
+  install(Vue) {
+    Vue.directive("permission", permission);
+  }
+};
+var mock = { exports: {} };
+(function(module, exports) {
+  (function webpackUniversalModuleDefinition(root, factory) {
+    module.exports = factory();
+  })(commonjsGlobal$1, function() {
+    return (
+      /******/
+      function(modules2) {
+        var installedModules = {};
+        function __webpack_require__2(moduleId) {
+          if (installedModules[moduleId])
+            return installedModules[moduleId].exports;
+          var module2 = installedModules[moduleId] = {
+            /******/
+            exports: {},
+            /******/
+            id: moduleId,
+            /******/
+            loaded: false
+            /******/
+          };
+          modules2[moduleId].call(module2.exports, module2, module2.exports, __webpack_require__2);
+          module2.loaded = true;
+          return module2.exports;
+        }
+        __webpack_require__2.m = modules2;
+        __webpack_require__2.c = installedModules;
+        __webpack_require__2.p = "";
+        return __webpack_require__2(0);
+      }([
+        /* 0 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Handler2 = __webpack_require__2(1);
+          var Util2 = __webpack_require__2(3);
+          var Random2 = __webpack_require__2(5);
+          var RE2 = __webpack_require__2(20);
+          var toJSONSchema = __webpack_require__2(23);
+          var valid = __webpack_require__2(25);
+          var XHR;
+          if (typeof window !== "undefined")
+            XHR = __webpack_require__2(27);
+          /*!
+              Mock - 模拟请求 & 模拟数据
+              https://github.com/nuysoft/Mock
+              墨智 mozhi.gyy@taobao.com nuysoft@gmail.com
+          */
+          var Mock2 = {
+            Handler: Handler2,
+            Random: Random2,
+            Util: Util2,
+            XHR,
+            RE: RE2,
+            toJSONSchema,
+            valid,
+            heredoc: Util2.heredoc,
+            setup: function(settings) {
+              return XHR.setup(settings);
+            },
+            _mocked: {}
+          };
+          Mock2.version = "1.0.1-beta3";
+          if (XHR)
+            XHR.Mock = Mock2;
+          Mock2.mock = function(rurl, rtype, template3) {
+            if (arguments.length === 1) {
+              return Handler2.gen(rurl);
+            }
+            if (arguments.length === 2) {
+              template3 = rtype;
+              rtype = void 0;
+            }
+            if (XHR)
+              window.XMLHttpRequest = XHR;
+            Mock2._mocked[rurl + (rtype || "")] = {
+              rurl,
+              rtype,
+              template: template3
+            };
+            return Mock2;
+          };
+          module2.exports = Mock2;
+        },
+        /* 1 */
+        /***/
+        function(module, exports, __webpack_require__) {
+          var Constant = __webpack_require__(2);
+          var Util = __webpack_require__(3);
+          var Parser = __webpack_require__(4);
+          var Random = __webpack_require__(5);
+          var RE = __webpack_require__(20);
+          var Handler = {
+            extend: Util.extend
+          };
+          Handler.gen = function(template3, name2, context) {
+            name2 = name2 == void 0 ? "" : name2 + "";
+            context = context || {};
+            context = {
+              // 当前访问路径,只有属性名,不包括生成规则
+              path: context.path || [Constant.GUID],
+              templatePath: context.templatePath || [Constant.GUID++],
+              // 最终属性值的上下文
+              currentContext: context.currentContext,
+              // 属性值模板的上下文
+              templateCurrentContext: context.templateCurrentContext || template3,
+              // 最终值的根
+              root: context.root || context.currentContext,
+              // 模板的根
+              templateRoot: context.templateRoot || context.templateCurrentContext || template3
+            };
+            var rule = Parser.parse(name2);
+            var type2 = Util.type(template3);
+            var data2;
+            if (Handler[type2]) {
+              data2 = Handler[type2]({
+                // 属性值类型
+                type: type2,
+                // 属性值模板
+                template: template3,
+                // 属性名 + 生成规则
+                name: name2,
+                // 属性名
+                parsedName: name2 ? name2.replace(Constant.RE_KEY, "$1") : name2,
+                // 解析后的生成规则
+                rule,
+                // 相关上下文
+                context
+              });
+              if (!context.root)
+                context.root = data2;
+              return data2;
+            }
+            return template3;
+          };
+          Handler.extend({
+            array: function(options2) {
+              var result2 = [], i2, ii;
+              if (options2.template.length === 0)
+                return result2;
+              if (!options2.rule.parameters) {
+                for (i2 = 0; i2 < options2.template.length; i2++) {
+                  options2.context.path.push(i2);
+                  options2.context.templatePath.push(i2);
+                  result2.push(
+                    Handler.gen(options2.template[i2], i2, {
+                      path: options2.context.path,
+                      templatePath: options2.context.templatePath,
+                      currentContext: result2,
+                      templateCurrentContext: options2.template,
+                      root: options2.context.root || result2,
+                      templateRoot: options2.context.templateRoot || options2.template
+                    })
+                  );
+                  options2.context.path.pop();
+                  options2.context.templatePath.pop();
+                }
+              } else {
+                if (options2.rule.min === 1 && options2.rule.max === void 0) {
+                  options2.context.path.push(options2.name);
+                  options2.context.templatePath.push(options2.name);
+                  result2 = Random.pick(
+                    Handler.gen(options2.template, void 0, {
+                      path: options2.context.path,
+                      templatePath: options2.context.templatePath,
+                      currentContext: result2,
+                      templateCurrentContext: options2.template,
+                      root: options2.context.root || result2,
+                      templateRoot: options2.context.templateRoot || options2.template
+                    })
+                  );
+                  options2.context.path.pop();
+                  options2.context.templatePath.pop();
+                } else {
+                  if (options2.rule.parameters[2]) {
+                    options2.template.__order_index = options2.template.__order_index || 0;
+                    options2.context.path.push(options2.name);
+                    options2.context.templatePath.push(options2.name);
+                    result2 = Handler.gen(options2.template, void 0, {
+                      path: options2.context.path,
+                      templatePath: options2.context.templatePath,
+                      currentContext: result2,
+                      templateCurrentContext: options2.template,
+                      root: options2.context.root || result2,
+                      templateRoot: options2.context.templateRoot || options2.template
+                    })[options2.template.__order_index % options2.template.length];
+                    options2.template.__order_index += +options2.rule.parameters[2];
+                    options2.context.path.pop();
+                    options2.context.templatePath.pop();
+                  } else {
+                    for (i2 = 0; i2 < options2.rule.count; i2++) {
+                      for (ii = 0; ii < options2.template.length; ii++) {
+                        options2.context.path.push(result2.length);
+                        options2.context.templatePath.push(ii);
+                        result2.push(
+                          Handler.gen(options2.template[ii], result2.length, {
+                            path: options2.context.path,
+                            templatePath: options2.context.templatePath,
+                            currentContext: result2,
+                            templateCurrentContext: options2.template,
+                            root: options2.context.root || result2,
+                            templateRoot: options2.context.templateRoot || options2.template
+                          })
+                        );
+                        options2.context.path.pop();
+                        options2.context.templatePath.pop();
+                      }
+                    }
+                  }
+                }
+              }
+              return result2;
+            },
+            object: function(options2) {
+              var result2 = {}, keys2, fnKeys, key2, parsedKey, inc, i2;
+              if (options2.rule.min != void 0) {
+                keys2 = Util.keys(options2.template);
+                keys2 = Random.shuffle(keys2);
+                keys2 = keys2.slice(0, options2.rule.count);
+                for (i2 = 0; i2 < keys2.length; i2++) {
+                  key2 = keys2[i2];
+                  parsedKey = key2.replace(Constant.RE_KEY, "$1");
+                  options2.context.path.push(parsedKey);
+                  options2.context.templatePath.push(key2);
+                  result2[parsedKey] = Handler.gen(options2.template[key2], key2, {
+                    path: options2.context.path,
+                    templatePath: options2.context.templatePath,
+                    currentContext: result2,
+                    templateCurrentContext: options2.template,
+                    root: options2.context.root || result2,
+                    templateRoot: options2.context.templateRoot || options2.template
+                  });
+                  options2.context.path.pop();
+                  options2.context.templatePath.pop();
+                }
+              } else {
+                keys2 = [];
+                fnKeys = [];
+                for (key2 in options2.template) {
+                  (typeof options2.template[key2] === "function" ? fnKeys : keys2).push(key2);
+                }
+                keys2 = keys2.concat(fnKeys);
+                for (i2 = 0; i2 < keys2.length; i2++) {
+                  key2 = keys2[i2];
+                  parsedKey = key2.replace(Constant.RE_KEY, "$1");
+                  options2.context.path.push(parsedKey);
+                  options2.context.templatePath.push(key2);
+                  result2[parsedKey] = Handler.gen(options2.template[key2], key2, {
+                    path: options2.context.path,
+                    templatePath: options2.context.templatePath,
+                    currentContext: result2,
+                    templateCurrentContext: options2.template,
+                    root: options2.context.root || result2,
+                    templateRoot: options2.context.templateRoot || options2.template
+                  });
+                  options2.context.path.pop();
+                  options2.context.templatePath.pop();
+                  inc = key2.match(Constant.RE_KEY);
+                  if (inc && inc[2] && Util.type(options2.template[key2]) === "number") {
+                    options2.template[key2] += parseInt(inc[2], 10);
+                  }
+                }
+              }
+              return result2;
+            },
+            number: function(options2) {
+              var result2, parts2;
+              if (options2.rule.decimal) {
+                options2.template += "";
+                parts2 = options2.template.split(".");
+                parts2[0] = options2.rule.range ? options2.rule.count : parts2[0];
+                parts2[1] = (parts2[1] || "").slice(0, options2.rule.dcount);
+                while (parts2[1].length < options2.rule.dcount) {
+                  parts2[1] += // 最后一位不能为 0:如果最后一位为 0,会被 JS 引擎忽略掉。
+                  parts2[1].length < options2.rule.dcount - 1 ? Random.character("number") : Random.character("123456789");
+                }
+                result2 = parseFloat(parts2.join("."), 10);
+              } else {
+                result2 = options2.rule.range && !options2.rule.parameters[2] ? options2.rule.count : options2.template;
+              }
+              return result2;
+            },
+            boolean: function(options2) {
+              var result2;
+              result2 = options2.rule.parameters ? Random.bool(options2.rule.min, options2.rule.max, options2.template) : options2.template;
+              return result2;
+            },
+            string: function(options2) {
+              var result2 = "", i2, placeholders, ph, phed;
+              if (options2.template.length) {
+                if (options2.rule.count == void 0) {
+                  result2 += options2.template;
+                }
+                for (i2 = 0; i2 < options2.rule.count; i2++) {
+                  result2 += options2.template;
+                }
+                placeholders = result2.match(Constant.RE_PLACEHOLDER) || [];
+                for (i2 = 0; i2 < placeholders.length; i2++) {
+                  ph = placeholders[i2];
+                  if (/^\\/.test(ph)) {
+                    placeholders.splice(i2--, 1);
+                    continue;
+                  }
+                  phed = Handler.placeholder(ph, options2.context.currentContext, options2.context.templateCurrentContext, options2);
+                  if (placeholders.length === 1 && ph === result2 && typeof phed !== typeof result2) {
+                    result2 = phed;
+                    break;
+                  }
+                  result2 = result2.replace(ph, phed);
+                }
+              } else {
+                result2 = options2.rule.range ? Random.string(options2.rule.count) : options2.template;
+              }
+              return result2;
+            },
+            "function": function(options2) {
+              return options2.template.call(options2.context.currentContext, options2);
+            },
+            "regexp": function(options2) {
+              var source2 = "";
+              if (options2.rule.count == void 0) {
+                source2 += options2.template.source;
+              }
+              for (var i2 = 0; i2 < options2.rule.count; i2++) {
+                source2 += options2.template.source;
+              }
+              return RE.Handler.gen(
+                RE.Parser.parse(
+                  source2
+                )
+              );
+            }
+          });
+          Handler.extend({
+            _all: function() {
+              var re2 = {};
+              for (var key2 in Random)
+                re2[key2.toLowerCase()] = key2;
+              return re2;
+            },
+            // 处理占位符,转换为最终值
+            placeholder: function(placeholder, obj, templateContext, options) {
+              Constant.RE_PLACEHOLDER.exec("");
+              var parts = Constant.RE_PLACEHOLDER.exec(placeholder), key = parts && parts[1], lkey = key && key.toLowerCase(), okey = this._all()[lkey], params = parts && parts[2] || "";
+              var pathParts = this.splitPathToArray(key);
+              try {
+                params = eval("(function(){ return [].splice.call(arguments, 0 ) })(" + params + ")");
+              } catch (error) {
+                params = parts[2].split(/,\s*/);
+              }
+              if (obj && key in obj)
+                return obj[key];
+              if (key.charAt(0) === "/" || pathParts.length > 1)
+                return this.getValueByKeyPath(key, options);
+              if (templateContext && typeof templateContext === "object" && key in templateContext && placeholder !== templateContext[key]) {
+                templateContext[key] = Handler.gen(templateContext[key], key, {
+                  currentContext: obj,
+                  templateCurrentContext: templateContext
+                });
+                return templateContext[key];
+              }
+              if (!(key in Random) && !(lkey in Random) && !(okey in Random))
+                return placeholder;
+              for (var i = 0; i < params.length; i++) {
+                Constant.RE_PLACEHOLDER.exec("");
+                if (Constant.RE_PLACEHOLDER.test(params[i])) {
+                  params[i] = Handler.placeholder(params[i], obj, templateContext, options);
+                }
+              }
+              var handle = Random[key] || Random[lkey] || Random[okey];
+              switch (Util.type(handle)) {
+                case "array":
+                  return Random.pick(handle);
+                case "function":
+                  handle.options = options;
+                  var re = handle.apply(Random, params);
+                  if (re === void 0)
+                    re = "";
+                  delete handle.options;
+                  return re;
+              }
+            },
+            getValueByKeyPath: function(key2, options2) {
+              var originalKey = key2;
+              var keyPathParts = this.splitPathToArray(key2);
+              var absolutePathParts = [];
+              if (key2.charAt(0) === "/") {
+                absolutePathParts = [options2.context.path[0]].concat(
+                  this.normalizePath(keyPathParts)
+                );
+              } else {
+                if (keyPathParts.length > 1) {
+                  absolutePathParts = options2.context.path.slice(0);
+                  absolutePathParts.pop();
+                  absolutePathParts = this.normalizePath(
+                    absolutePathParts.concat(keyPathParts)
+                  );
+                }
+              }
+              try {
+                key2 = keyPathParts[keyPathParts.length - 1];
+                var currentContext = options2.context.root;
+                var templateCurrentContext = options2.context.templateRoot;
+                for (var i2 = 1; i2 < absolutePathParts.length - 1; i2++) {
+                  currentContext = currentContext[absolutePathParts[i2]];
+                  templateCurrentContext = templateCurrentContext[absolutePathParts[i2]];
+                }
+                if (currentContext && key2 in currentContext)
+                  return currentContext[key2];
+                if (templateCurrentContext && typeof templateCurrentContext === "object" && key2 in templateCurrentContext && originalKey !== templateCurrentContext[key2]) {
+                  templateCurrentContext[key2] = Handler.gen(templateCurrentContext[key2], key2, {
+                    currentContext,
+                    templateCurrentContext
+                  });
+                  return templateCurrentContext[key2];
+                }
+              } catch (err) {
+              }
+              return "@" + keyPathParts.join("/");
+            },
+            // https://github.com/kissyteam/kissy/blob/master/src/path/src/path.js
+            normalizePath: function(pathParts2) {
+              var newPathParts = [];
+              for (var i2 = 0; i2 < pathParts2.length; i2++) {
+                switch (pathParts2[i2]) {
+                  case "..":
+                    newPathParts.pop();
+                    break;
+                  case ".":
+                    break;
+                  default:
+                    newPathParts.push(pathParts2[i2]);
+                }
+              }
+              return newPathParts;
+            },
+            splitPathToArray: function(path2) {
+              var parts2 = path2.split(/\/+/);
+              if (!parts2[parts2.length - 1])
+                parts2 = parts2.slice(0, -1);
+              if (!parts2[0])
+                parts2 = parts2.slice(1);
+              return parts2;
+            }
+          });
+          module.exports = Handler;
+        },
+        /* 2 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = {
+            GUID: 1,
+            RE_KEY: /(.+)\|(?:\+(\d+)|([\+\-]?\d+-?[\+\-]?\d*)?(?:\.(\d+-?\d*))?)/,
+            RE_RANGE: /([\+\-]?\d+)-?([\+\-]?\d+)?/,
+            RE_PLACEHOLDER: /\\*@([^@#%&()\?\s]+)(?:\((.*?)\))?/g
+            // /\\*@([^@#%&()\?\s\/\.]+)(?:\((.*?)\))?/g
+            // RE_INDEX: /^index$/,
+            // RE_KEY: /^key$/
+          };
+        },
+        /* 3 */
+        /***/
+        function(module2, exports2) {
+          var Util2 = {};
+          Util2.extend = function extend2() {
+            var target = arguments[0] || {}, i2 = 1, length2 = arguments.length, options2, name2, src, copy2, clone2;
+            if (length2 === 1) {
+              target = this;
+              i2 = 0;
+            }
+            for (; i2 < length2; i2++) {
+              options2 = arguments[i2];
+              if (!options2)
+                continue;
+              for (name2 in options2) {
+                src = target[name2];
+                copy2 = options2[name2];
+                if (target === copy2)
+                  continue;
+                if (copy2 === void 0)
+                  continue;
+                if (Util2.isArray(copy2) || Util2.isObject(copy2)) {
+                  if (Util2.isArray(copy2))
+                    clone2 = src && Util2.isArray(src) ? src : [];
+                  if (Util2.isObject(copy2))
+                    clone2 = src && Util2.isObject(src) ? src : {};
+                  target[name2] = Util2.extend(clone2, copy2);
+                } else {
+                  target[name2] = copy2;
+                }
+              }
+            }
+            return target;
+          };
+          Util2.each = function each2(obj2, iterator2, context) {
+            var i2, key2;
+            if (this.type(obj2) === "number") {
+              for (i2 = 0; i2 < obj2; i2++) {
+                iterator2(i2, i2);
+              }
+            } else if (obj2.length === +obj2.length) {
+              for (i2 = 0; i2 < obj2.length; i2++) {
+                if (iterator2.call(context, obj2[i2], i2, obj2) === false)
+                  break;
+              }
+            } else {
+              for (key2 in obj2) {
+                if (iterator2.call(context, obj2[key2], key2, obj2) === false)
+                  break;
+              }
+            }
+          };
+          Util2.type = function type2(obj2) {
+            return obj2 === null || obj2 === void 0 ? String(obj2) : Object.prototype.toString.call(obj2).match(/\[object (\w+)\]/)[1].toLowerCase();
+          };
+          Util2.each("String Object Array RegExp Function".split(" "), function(value) {
+            Util2["is" + value] = function(obj2) {
+              return Util2.type(obj2) === value.toLowerCase();
+            };
+          });
+          Util2.isObjectOrArray = function(value) {
+            return Util2.isObject(value) || Util2.isArray(value);
+          };
+          Util2.isNumeric = function(value) {
+            return !isNaN(parseFloat(value)) && isFinite(value);
+          };
+          Util2.keys = function(obj2) {
+            var keys2 = [];
+            for (var key2 in obj2) {
+              if (obj2.hasOwnProperty(key2))
+                keys2.push(key2);
+            }
+            return keys2;
+          };
+          Util2.values = function(obj2) {
+            var values = [];
+            for (var key2 in obj2) {
+              if (obj2.hasOwnProperty(key2))
+                values.push(obj2[key2]);
+            }
+            return values;
+          };
+          Util2.heredoc = function heredoc(fn) {
+            return fn.toString().replace(/^[^\/]+\/\*!?/, "").replace(/\*\/[^\/]+$/, "").replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "");
+          };
+          Util2.noop = function() {
+          };
+          module2.exports = Util2;
+        },
+        /* 4 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Constant2 = __webpack_require__2(2);
+          var Random2 = __webpack_require__2(5);
+          module2.exports = {
+            parse: function(name2) {
+              name2 = name2 == void 0 ? "" : name2 + "";
+              var parameters = (name2 || "").match(Constant2.RE_KEY);
+              var range2 = parameters && parameters[3] && parameters[3].match(Constant2.RE_RANGE);
+              var min3 = range2 && range2[1] && parseInt(range2[1], 10);
+              var max3 = range2 && range2[2] && parseInt(range2[2], 10);
+              var count2 = range2 ? !range2[2] ? parseInt(range2[1], 10) : Random2.integer(min3, max3) : void 0;
+              var decimal = parameters && parameters[4] && parameters[4].match(Constant2.RE_RANGE);
+              var dmin = decimal && decimal[1] && parseInt(decimal[1], 10);
+              var dmax = decimal && decimal[2] && parseInt(decimal[2], 10);
+              var dcount = decimal ? !decimal[2] && parseInt(decimal[1], 10) || Random2.integer(dmin, dmax) : void 0;
+              var result2 = {
+                // 1 name, 2 inc, 3 range, 4 decimal
+                parameters,
+                // 1 min, 2 max
+                range: range2,
+                min: min3,
+                max: max3,
+                // min-max
+                count: count2,
+                // 是否有 decimal
+                decimal,
+                dmin,
+                dmax,
+                // dmin-dimax
+                dcount
+              };
+              for (var r2 in result2) {
+                if (result2[r2] != void 0)
+                  return result2;
+              }
+              return {};
+            }
+          };
+        },
+        /* 5 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Util2 = __webpack_require__2(3);
+          var Random2 = {
+            extend: Util2.extend
+          };
+          Random2.extend(__webpack_require__2(6));
+          Random2.extend(__webpack_require__2(7));
+          Random2.extend(__webpack_require__2(8));
+          Random2.extend(__webpack_require__2(10));
+          Random2.extend(__webpack_require__2(13));
+          Random2.extend(__webpack_require__2(15));
+          Random2.extend(__webpack_require__2(16));
+          Random2.extend(__webpack_require__2(17));
+          Random2.extend(__webpack_require__2(14));
+          Random2.extend(__webpack_require__2(19));
+          module2.exports = Random2;
+        },
+        /* 6 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = {
+            // 返回一个随机的布尔值。
+            boolean: function(min3, max3, cur) {
+              if (cur !== void 0) {
+                min3 = typeof min3 !== "undefined" && !isNaN(min3) ? parseInt(min3, 10) : 1;
+                max3 = typeof max3 !== "undefined" && !isNaN(max3) ? parseInt(max3, 10) : 1;
+                return Math.random() > 1 / (min3 + max3) * min3 ? !cur : cur;
+              }
+              return Math.random() >= 0.5;
+            },
+            bool: function(min3, max3, cur) {
+              return this.boolean(min3, max3, cur);
+            },
+            // 返回一个随机的自然数(大于等于 0 的整数)。
+            natural: function(min3, max3) {
+              min3 = typeof min3 !== "undefined" ? parseInt(min3, 10) : 0;
+              max3 = typeof max3 !== "undefined" ? parseInt(max3, 10) : 9007199254740992;
+              return Math.round(Math.random() * (max3 - min3)) + min3;
+            },
+            // 返回一个随机的整数。
+            integer: function(min3, max3) {
+              min3 = typeof min3 !== "undefined" ? parseInt(min3, 10) : -9007199254740992;
+              max3 = typeof max3 !== "undefined" ? parseInt(max3, 10) : 9007199254740992;
+              return Math.round(Math.random() * (max3 - min3)) + min3;
+            },
+            int: function(min3, max3) {
+              return this.integer(min3, max3);
+            },
+            // 返回一个随机的浮点数。
+            float: function(min3, max3, dmin, dmax) {
+              dmin = dmin === void 0 ? 0 : dmin;
+              dmin = Math.max(Math.min(dmin, 17), 0);
+              dmax = dmax === void 0 ? 17 : dmax;
+              dmax = Math.max(Math.min(dmax, 17), 0);
+              var ret = this.integer(min3, max3) + ".";
+              for (var i2 = 0, dcount = this.natural(dmin, dmax); i2 < dcount; i2++) {
+                ret += // 最后一位不能为 0:如果最后一位为 0,会被 JS 引擎忽略掉。
+                i2 < dcount - 1 ? this.character("number") : this.character("123456789");
+              }
+              return parseFloat(ret, 10);
+            },
+            // 返回一个随机字符。
+            character: function(pool) {
+              var pools = {
+                lower: "abcdefghijklmnopqrstuvwxyz",
+                upper: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
+                number: "0123456789",
+                symbol: "!@#$%^&*()[]"
+              };
+              pools.alpha = pools.lower + pools.upper;
+              pools["undefined"] = pools.lower + pools.upper + pools.number + pools.symbol;
+              pool = pools[("" + pool).toLowerCase()] || pool;
+              return pool.charAt(this.natural(0, pool.length - 1));
+            },
+            char: function(pool) {
+              return this.character(pool);
+            },
+            // 返回一个随机字符串。
+            string: function(pool, min3, max3) {
+              var len2;
+              switch (arguments.length) {
+                case 0:
+                  len2 = this.natural(3, 7);
+                  break;
+                case 1:
+                  len2 = pool;
+                  pool = void 0;
+                  break;
+                case 2:
+                  if (typeof arguments[0] === "string") {
+                    len2 = min3;
+                  } else {
+                    len2 = this.natural(pool, min3);
+                    pool = void 0;
+                  }
+                  break;
+                case 3:
+                  len2 = this.natural(min3, max3);
+                  break;
+              }
+              var text2 = "";
+              for (var i2 = 0; i2 < len2; i2++) {
+                text2 += this.character(pool);
+              }
+              return text2;
+            },
+            str: function() {
+              return this.string.apply(this, arguments);
+            },
+            // 返回一个整型数组。
+            range: function(start2, stop2, step2) {
+              if (arguments.length <= 1) {
+                stop2 = start2 || 0;
+                start2 = 0;
+              }
+              step2 = arguments[2] || 1;
+              start2 = +start2;
+              stop2 = +stop2;
+              step2 = +step2;
+              var len2 = Math.max(Math.ceil((stop2 - start2) / step2), 0);
+              var idx = 0;
+              var range2 = new Array(len2);
+              while (idx < len2) {
+                range2[idx++] = start2;
+                start2 += step2;
+              }
+              return range2;
+            }
+          };
+        },
+        /* 7 */
+        /***/
+        function(module2, exports2) {
+          var patternLetters = {
+            yyyy: "getFullYear",
+            yy: function(date) {
+              return ("" + date.getFullYear()).slice(2);
+            },
+            y: "yy",
+            MM: function(date) {
+              var m2 = date.getMonth() + 1;
+              return m2 < 10 ? "0" + m2 : m2;
+            },
+            M: function(date) {
+              return date.getMonth() + 1;
+            },
+            dd: function(date) {
+              var d2 = date.getDate();
+              return d2 < 10 ? "0" + d2 : d2;
+            },
+            d: "getDate",
+            HH: function(date) {
+              var h3 = date.getHours();
+              return h3 < 10 ? "0" + h3 : h3;
+            },
+            H: "getHours",
+            hh: function(date) {
+              var h3 = date.getHours() % 12;
+              return h3 < 10 ? "0" + h3 : h3;
+            },
+            h: function(date) {
+              return date.getHours() % 12;
+            },
+            mm: function(date) {
+              var m2 = date.getMinutes();
+              return m2 < 10 ? "0" + m2 : m2;
+            },
+            m: "getMinutes",
+            ss: function(date) {
+              var s2 = date.getSeconds();
+              return s2 < 10 ? "0" + s2 : s2;
+            },
+            s: "getSeconds",
+            SS: function(date) {
+              var ms = date.getMilliseconds();
+              return ms < 10 && "00" + ms || ms < 100 && "0" + ms || ms;
+            },
+            S: "getMilliseconds",
+            A: function(date) {
+              return date.getHours() < 12 ? "AM" : "PM";
+            },
+            a: function(date) {
+              return date.getHours() < 12 ? "am" : "pm";
+            },
+            T: "getTime"
+          };
+          module2.exports = {
+            // 日期占位符集合。
+            _patternLetters: patternLetters,
+            // 日期占位符正则。
+            _rformat: new RegExp(function() {
+              var re2 = [];
+              for (var i2 in patternLetters)
+                re2.push(i2);
+              return "(" + re2.join("|") + ")";
+            }(), "g"),
+            // 格式化日期。
+            _formatDate: function(date, format2) {
+              return format2.replace(this._rformat, function creatNewSubString($0, flag) {
+                return typeof patternLetters[flag] === "function" ? patternLetters[flag](date) : patternLetters[flag] in patternLetters ? creatNewSubString($0, patternLetters[flag]) : date[patternLetters[flag]]();
+              });
+            },
+            // 生成一个随机的 Date 对象。
+            _randomDate: function(min3, max3) {
+              min3 = min3 === void 0 ? /* @__PURE__ */ new Date(0) : min3;
+              max3 = max3 === void 0 ? /* @__PURE__ */ new Date() : max3;
+              return new Date(Math.random() * (max3.getTime() - min3.getTime()));
+            },
+            // 返回一个随机的日期字符串。
+            date: function(format2) {
+              format2 = format2 || "yyyy-MM-dd";
+              return this._formatDate(this._randomDate(), format2);
+            },
+            // 返回一个随机的时间字符串。
+            time: function(format2) {
+              format2 = format2 || "HH:mm:ss";
+              return this._formatDate(this._randomDate(), format2);
+            },
+            // 返回一个随机的日期和时间字符串。
+            datetime: function(format2) {
+              format2 = format2 || "yyyy-MM-dd HH:mm:ss";
+              return this._formatDate(this._randomDate(), format2);
+            },
+            // 返回当前的日期和时间字符串。
+            now: function(unit, format2) {
+              if (arguments.length === 1) {
+                if (!/year|month|day|hour|minute|second|week/.test(unit)) {
+                  format2 = unit;
+                  unit = "";
+                }
+              }
+              unit = (unit || "").toLowerCase();
+              format2 = format2 || "yyyy-MM-dd HH:mm:ss";
+              var date = /* @__PURE__ */ new Date();
+              switch (unit) {
+                case "year":
+                  date.setMonth(0);
+                case "month":
+                  date.setDate(1);
+                case "week":
+                case "day":
+                  date.setHours(0);
+                case "hour":
+                  date.setMinutes(0);
+                case "minute":
+                  date.setSeconds(0);
+                case "second":
+                  date.setMilliseconds(0);
+              }
+              switch (unit) {
+                case "week":
+                  date.setDate(date.getDate() - date.getDay());
+              }
+              return this._formatDate(date, format2);
+            }
+          };
+        },
+        /* 8 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          (function(module3) {
+            module3.exports = {
+              // 常见的广告宽高
+              _adSize: [
+                "300x250",
+                "250x250",
+                "240x400",
+                "336x280",
+                "180x150",
+                "720x300",
+                "468x60",
+                "234x60",
+                "88x31",
+                "120x90",
+                "120x60",
+                "120x240",
+                "125x125",
+                "728x90",
+                "160x600",
+                "120x600",
+                "300x600"
+              ],
+              // 常见的屏幕宽高
+              _screenSize: [
+                "320x200",
+                "320x240",
+                "640x480",
+                "800x480",
+                "800x480",
+                "1024x600",
+                "1024x768",
+                "1280x800",
+                "1440x900",
+                "1920x1200",
+                "2560x1600"
+              ],
+              // 常见的视频宽高
+              _videoSize: ["720x480", "768x576", "1280x720", "1920x1080"],
+              /*
+              		        生成一个随机的图片地址。
+              
+              		        替代图片源
+              		            http://fpoimg.com/
+              		        参考自 
+              		            http://rensanning.iteye.com/blog/1933310
+              		            http://code.tutsplus.com/articles/the-top-8-placeholders-for-web-designers--net-19485
+              		    */
+              image: function(size, background, foreground, format2, text2) {
+                if (arguments.length === 4) {
+                  text2 = format2;
+                  format2 = void 0;
+                }
+                if (arguments.length === 3) {
+                  text2 = foreground;
+                  foreground = void 0;
+                }
+                if (!size)
+                  size = this.pick(this._adSize);
+                if (background && ~background.indexOf("#"))
+                  background = background.slice(1);
+                if (foreground && ~foreground.indexOf("#"))
+                  foreground = foreground.slice(1);
+                return "http://dummyimage.com/" + size + (background ? "/" + background : "") + (foreground ? "/" + foreground : "") + (format2 ? "." + format2 : "") + (text2 ? "&text=" + text2 : "");
+              },
+              img: function() {
+                return this.image.apply(this, arguments);
+              },
+              /*
+              		        BrandColors
+              		        http://brandcolors.net/
+              		        A collection of major brand color codes curated by Galen Gidman.
+              		        大牌公司的颜色集合
+              
+              		        // 获取品牌和颜色
+              		        $('h2').each(function(index, item){
+              		            item = $(item)
+              		            console.log('\'' + item.text() + '\'', ':', '\'' + item.next().text() + '\'', ',')
+              		        })
+              		    */
+              _brandColors: {
+                "4ormat": "#fb0a2a",
+                "500px": "#02adea",
+                "About.me (blue)": "#00405d",
+                "About.me (yellow)": "#ffcc33",
+                "Addvocate": "#ff6138",
+                "Adobe": "#ff0000",
+                "Aim": "#fcd20b",
+                "Amazon": "#e47911",
+                "Android": "#a4c639",
+                "Angie's List": "#7fbb00",
+                "AOL": "#0060a3",
+                "Atlassian": "#003366",
+                "Behance": "#053eff",
+                "Big Cartel": "#97b538",
+                "bitly": "#ee6123",
+                "Blogger": "#fc4f08",
+                "Boeing": "#0039a6",
+                "Booking.com": "#003580",
+                "Carbonmade": "#613854",
+                "Cheddar": "#ff7243",
+                "Code School": "#3d4944",
+                "Delicious": "#205cc0",
+                "Dell": "#3287c1",
+                "Designmoo": "#e54a4f",
+                "Deviantart": "#4e6252",
+                "Designer News": "#2d72da",
+                "Devour": "#fd0001",
+                "DEWALT": "#febd17",
+                "Disqus (blue)": "#59a3fc",
+                "Disqus (orange)": "#db7132",
+                "Dribbble": "#ea4c89",
+                "Dropbox": "#3d9ae8",
+                "Drupal": "#0c76ab",
+                "Dunked": "#2a323a",
+                "eBay": "#89c507",
+                "Ember": "#f05e1b",
+                "Engadget": "#00bdf6",
+                "Envato": "#528036",
+                "Etsy": "#eb6d20",
+                "Evernote": "#5ba525",
+                "Fab.com": "#dd0017",
+                "Facebook": "#3b5998",
+                "Firefox": "#e66000",
+                "Flickr (blue)": "#0063dc",
+                "Flickr (pink)": "#ff0084",
+                "Forrst": "#5b9a68",
+                "Foursquare": "#25a0ca",
+                "Garmin": "#007cc3",
+                "GetGlue": "#2d75a2",
+                "Gimmebar": "#f70078",
+                "GitHub": "#171515",
+                "Google Blue": "#0140ca",
+                "Google Green": "#16a61e",
+                "Google Red": "#dd1812",
+                "Google Yellow": "#fcca03",
+                "Google+": "#dd4b39",
+                "Grooveshark": "#f77f00",
+                "Groupon": "#82b548",
+                "Hacker News": "#ff6600",
+                "HelloWallet": "#0085ca",
+                "Heroku (light)": "#c7c5e6",
+                "Heroku (dark)": "#6567a5",
+                "HootSuite": "#003366",
+                "Houzz": "#73ba37",
+                "HTML5": "#ec6231",
+                "IKEA": "#ffcc33",
+                "IMDb": "#f3ce13",
+                "Instagram": "#3f729b",
+                "Intel": "#0071c5",
+                "Intuit": "#365ebf",
+                "Kickstarter": "#76cc1e",
+                "kippt": "#e03500",
+                "Kodery": "#00af81",
+                "LastFM": "#c3000d",
+                "LinkedIn": "#0e76a8",
+                "Livestream": "#cf0005",
+                "Lumo": "#576396",
+                "Mixpanel": "#a086d3",
+                "Meetup": "#e51937",
+                "Nokia": "#183693",
+                "NVIDIA": "#76b900",
+                "Opera": "#cc0f16",
+                "Path": "#e41f11",
+                "PayPal (dark)": "#1e477a",
+                "PayPal (light)": "#3b7bbf",
+                "Pinboard": "#0000e6",
+                "Pinterest": "#c8232c",
+                "PlayStation": "#665cbe",
+                "Pocket": "#ee4056",
+                "Prezi": "#318bff",
+                "Pusha": "#0f71b4",
+                "Quora": "#a82400",
+                "QUOTE.fm": "#66ceff",
+                "Rdio": "#008fd5",
+                "Readability": "#9c0000",
+                "Red Hat": "#cc0000",
+                "Resource": "#7eb400",
+                "Rockpack": "#0ba6ab",
+                "Roon": "#62b0d9",
+                "RSS": "#ee802f",
+                "Salesforce": "#1798c1",
+                "Samsung": "#0c4da2",
+                "Shopify": "#96bf48",
+                "Skype": "#00aff0",
+                "Snagajob": "#f47a20",
+                "Softonic": "#008ace",
+                "SoundCloud": "#ff7700",
+                "Space Box": "#f86960",
+                "Spotify": "#81b71a",
+                "Sprint": "#fee100",
+                "Squarespace": "#121212",
+                "StackOverflow": "#ef8236",
+                "Staples": "#cc0000",
+                "Status Chart": "#d7584f",
+                "Stripe": "#008cdd",
+                "StudyBlue": "#00afe1",
+                "StumbleUpon": "#f74425",
+                "T-Mobile": "#ea0a8e",
+                "Technorati": "#40a800",
+                "The Next Web": "#ef4423",
+                "Treehouse": "#5cb868",
+                "Trulia": "#5eab1f",
+                "Tumblr": "#34526f",
+                "Twitch.tv": "#6441a5",
+                "Twitter": "#00acee",
+                "TYPO3": "#ff8700",
+                "Ubuntu": "#dd4814",
+                "Ustream": "#3388ff",
+                "Verizon": "#ef1d1d",
+                "Vimeo": "#86c9ef",
+                "Vine": "#00a478",
+                "Virb": "#06afd8",
+                "Virgin Media": "#cc0000",
+                "Wooga": "#5b009c",
+                "WordPress (blue)": "#21759b",
+                "WordPress (orange)": "#d54e21",
+                "WordPress (grey)": "#464646",
+                "Wunderlist": "#2b88d9",
+                "XBOX": "#9bc848",
+                "XING": "#126567",
+                "Yahoo!": "#720e9e",
+                "Yandex": "#ffcc00",
+                "Yelp": "#c41200",
+                "YouTube": "#c4302b",
+                "Zalongo": "#5498dc",
+                "Zendesk": "#78a300",
+                "Zerply": "#9dcc7a",
+                "Zootool": "#5e8b1d"
+              },
+              _brandNames: function() {
+                var brands = [];
+                for (var b2 in this._brandColors) {
+                  brands.push(b2);
+                }
+                return brands;
+              },
+              /*
+              		        生成一段随机的 Base64 图片编码。
+              
+              		        https://github.com/imsky/holder
+              		        Holder renders image placeholders entirely on the client side.
+              
+              		        dataImageHolder: function(size) {
+              		            return 'holder.js/' + size
+              		        },
+              		    */
+              dataImage: function(size, text2) {
+                var canvas;
+                if (typeof document !== "undefined") {
+                  canvas = document.createElement("canvas");
+                } else {
+                  var Canvas = module3.require("canvas");
+                  canvas = new Canvas();
+                }
+                var ctx = canvas && canvas.getContext && canvas.getContext("2d");
+                if (!canvas || !ctx)
+                  return "";
+                if (!size)
+                  size = this.pick(this._adSize);
+                text2 = text2 !== void 0 ? text2 : size;
+                size = size.split("x");
+                var width = parseInt(size[0], 10), height = parseInt(size[1], 10), background = this._brandColors[this.pick(this._brandNames())], foreground = "#FFF", text_height = 14, font = "sans-serif";
+                canvas.width = width;
+                canvas.height = height;
+                ctx.textAlign = "center";
+                ctx.textBaseline = "middle";
+                ctx.fillStyle = background;
+                ctx.fillRect(0, 0, width, height);
+                ctx.fillStyle = foreground;
+                ctx.font = "bold " + text_height + "px " + font;
+                ctx.fillText(text2, width / 2, height / 2, width);
+                return canvas.toDataURL("image/png");
+              }
+            };
+          }).call(exports2, __webpack_require__2(9)(module2));
+        },
+        /* 9 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = function(module3) {
+            if (!module3.webpackPolyfill) {
+              module3.deprecate = function() {
+              };
+              module3.paths = [];
+              module3.children = [];
+              module3.webpackPolyfill = 1;
+            }
+            return module3;
+          };
+        },
+        /* 10 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Convert = __webpack_require__2(11);
+          var DICT = __webpack_require__2(12);
+          module2.exports = {
+            // 随机生成一个有吸引力的颜色,格式为 '#RRGGBB'。
+            color: function(name2) {
+              if (name2 || DICT[name2])
+                return DICT[name2].nicer;
+              return this.hex();
+            },
+            // #DAC0DE
+            hex: function() {
+              var hsv = this._goldenRatioColor();
+              var rgb = Convert.hsv2rgb(hsv);
+              var hex = Convert.rgb2hex(rgb[0], rgb[1], rgb[2]);
+              return hex;
+            },
+            // rgb(128,255,255)
+            rgb: function() {
+              var hsv = this._goldenRatioColor();
+              var rgb = Convert.hsv2rgb(hsv);
+              return "rgb(" + parseInt(rgb[0], 10) + ", " + parseInt(rgb[1], 10) + ", " + parseInt(rgb[2], 10) + ")";
+            },
+            // rgba(128,255,255,0.3)
+            rgba: function() {
+              var hsv = this._goldenRatioColor();
+              var rgb = Convert.hsv2rgb(hsv);
+              return "rgba(" + parseInt(rgb[0], 10) + ", " + parseInt(rgb[1], 10) + ", " + parseInt(rgb[2], 10) + ", " + Math.random().toFixed(2) + ")";
+            },
+            // hsl(300,80%,90%)
+            hsl: function() {
+              var hsv = this._goldenRatioColor();
+              var hsl = Convert.hsv2hsl(hsv);
+              return "hsl(" + parseInt(hsl[0], 10) + ", " + parseInt(hsl[1], 10) + ", " + parseInt(hsl[2], 10) + ")";
+            },
+            // http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/
+            // https://github.com/devongovett/color-generator/blob/master/index.js
+            // 随机生成一个有吸引力的颜色。
+            _goldenRatioColor: function(saturation, value) {
+              this._goldenRatio = 0.618033988749895;
+              this._hue = this._hue || Math.random();
+              this._hue += this._goldenRatio;
+              this._hue %= 1;
+              if (typeof saturation !== "number")
+                saturation = 0.5;
+              if (typeof value !== "number")
+                value = 0.95;
+              return [
+                this._hue * 360,
+                saturation * 100,
+                value * 100
+              ];
+            }
+          };
+        },
+        /* 11 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = {
+            rgb2hsl: function rgb2hsl(rgb) {
+              var r2 = rgb[0] / 255, g2 = rgb[1] / 255, b2 = rgb[2] / 255, min3 = Math.min(r2, g2, b2), max3 = Math.max(r2, g2, b2), delta = max3 - min3, h3, s2, l2;
+              if (max3 == min3)
+                h3 = 0;
+              else if (r2 == max3)
+                h3 = (g2 - b2) / delta;
+              else if (g2 == max3)
+                h3 = 2 + (b2 - r2) / delta;
+              else if (b2 == max3)
+                h3 = 4 + (r2 - g2) / delta;
+              h3 = Math.min(h3 * 60, 360);
+              if (h3 < 0)
+                h3 += 360;
+              l2 = (min3 + max3) / 2;
+              if (max3 == min3)
+                s2 = 0;
+              else if (l2 <= 0.5)
+                s2 = delta / (max3 + min3);
+              else
+                s2 = delta / (2 - max3 - min3);
+              return [h3, s2 * 100, l2 * 100];
+            },
+            rgb2hsv: function rgb2hsv(rgb) {
+              var r2 = rgb[0], g2 = rgb[1], b2 = rgb[2], min3 = Math.min(r2, g2, b2), max3 = Math.max(r2, g2, b2), delta = max3 - min3, h3, s2, v4;
+              if (max3 === 0)
+                s2 = 0;
+              else
+                s2 = delta / max3 * 1e3 / 10;
+              if (max3 == min3)
+                h3 = 0;
+              else if (r2 == max3)
+                h3 = (g2 - b2) / delta;
+              else if (g2 == max3)
+                h3 = 2 + (b2 - r2) / delta;
+              else if (b2 == max3)
+                h3 = 4 + (r2 - g2) / delta;
+              h3 = Math.min(h3 * 60, 360);
+              if (h3 < 0)
+                h3 += 360;
+              v4 = max3 / 255 * 1e3 / 10;
+              return [h3, s2, v4];
+            },
+            hsl2rgb: function hsl2rgb(hsl) {
+              var h3 = hsl[0] / 360, s2 = hsl[1] / 100, l2 = hsl[2] / 100, t1, t2, t3, rgb, val;
+              if (s2 === 0) {
+                val = l2 * 255;
+                return [val, val, val];
+              }
+              if (l2 < 0.5)
+                t2 = l2 * (1 + s2);
+              else
+                t2 = l2 + s2 - l2 * s2;
+              t1 = 2 * l2 - t2;
+              rgb = [0, 0, 0];
+              for (var i2 = 0; i2 < 3; i2++) {
+                t3 = h3 + 1 / 3 * -(i2 - 1);
+                if (t3 < 0)
+                  t3++;
+                if (t3 > 1)
+                  t3--;
+                if (6 * t3 < 1)
+                  val = t1 + (t2 - t1) * 6 * t3;
+                else if (2 * t3 < 1)
+                  val = t2;
+                else if (3 * t3 < 2)
+                  val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
+                else
+                  val = t1;
+                rgb[i2] = val * 255;
+              }
+              return rgb;
+            },
+            hsl2hsv: function hsl2hsv(hsl) {
+              var h3 = hsl[0], s2 = hsl[1] / 100, l2 = hsl[2] / 100, sv, v4;
+              l2 *= 2;
+              s2 *= l2 <= 1 ? l2 : 2 - l2;
+              v4 = (l2 + s2) / 2;
+              sv = 2 * s2 / (l2 + s2);
+              return [h3, sv * 100, v4 * 100];
+            },
+            hsv2rgb: function hsv2rgb(hsv) {
+              var h3 = hsv[0] / 60;
+              var s2 = hsv[1] / 100;
+              var v4 = hsv[2] / 100;
+              var hi = Math.floor(h3) % 6;
+              var f2 = h3 - Math.floor(h3);
+              var p2 = 255 * v4 * (1 - s2);
+              var q2 = 255 * v4 * (1 - s2 * f2);
+              var t2 = 255 * v4 * (1 - s2 * (1 - f2));
+              v4 = 255 * v4;
+              switch (hi) {
+                case 0:
+                  return [v4, t2, p2];
+                case 1:
+                  return [q2, v4, p2];
+                case 2:
+                  return [p2, v4, t2];
+                case 3:
+                  return [p2, q2, v4];
+                case 4:
+                  return [t2, p2, v4];
+                case 5:
+                  return [v4, p2, q2];
+              }
+            },
+            hsv2hsl: function hsv2hsl(hsv) {
+              var h3 = hsv[0], s2 = hsv[1] / 100, v4 = hsv[2] / 100, sl, l2;
+              l2 = (2 - s2) * v4;
+              sl = s2 * v4;
+              sl /= l2 <= 1 ? l2 : 2 - l2;
+              l2 /= 2;
+              return [h3, sl * 100, l2 * 100];
+            },
+            // http://www.140byt.es/keywords/color
+            rgb2hex: function(a2, b2, c2) {
+              return "#" + ((256 + a2 << 8 | b2) << 8 | c2).toString(16).slice(1);
+            },
+            hex2rgb: function(a2) {
+              a2 = "0x" + a2.slice(1).replace(a2.length > 4 ? a2 : /./g, "$&$&") | 0;
+              return [a2 >> 16, a2 >> 8 & 255, a2 & 255];
+            }
+          };
+        },
+        /* 12 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = {
+            // name value nicer
+            navy: {
+              value: "#000080",
+              nicer: "#001F3F"
+            },
+            blue: {
+              value: "#0000ff",
+              nicer: "#0074D9"
+            },
+            aqua: {
+              value: "#00ffff",
+              nicer: "#7FDBFF"
+            },
+            teal: {
+              value: "#008080",
+              nicer: "#39CCCC"
+            },
+            olive: {
+              value: "#008000",
+              nicer: "#3D9970"
+            },
+            green: {
+              value: "#008000",
+              nicer: "#2ECC40"
+            },
+            lime: {
+              value: "#00ff00",
+              nicer: "#01FF70"
+            },
+            yellow: {
+              value: "#ffff00",
+              nicer: "#FFDC00"
+            },
+            orange: {
+              value: "#ffa500",
+              nicer: "#FF851B"
+            },
+            red: {
+              value: "#ff0000",
+              nicer: "#FF4136"
+            },
+            maroon: {
+              value: "#800000",
+              nicer: "#85144B"
+            },
+            fuchsia: {
+              value: "#ff00ff",
+              nicer: "#F012BE"
+            },
+            purple: {
+              value: "#800080",
+              nicer: "#B10DC9"
+            },
+            silver: {
+              value: "#c0c0c0",
+              nicer: "#DDDDDD"
+            },
+            gray: {
+              value: "#808080",
+              nicer: "#AAAAAA"
+            },
+            black: {
+              value: "#000000",
+              nicer: "#111111"
+            },
+            white: {
+              value: "#FFFFFF",
+              nicer: "#FFFFFF"
+            }
+          };
+        },
+        /* 13 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Basic = __webpack_require__2(6);
+          var Helper = __webpack_require__2(14);
+          function range2(defaultMin, defaultMax, min3, max3) {
+            return min3 === void 0 ? Basic.natural(defaultMin, defaultMax) : (
+              // ()
+              max3 === void 0 ? min3 : (
+                // ( len )
+                Basic.natural(parseInt(min3, 10), parseInt(max3, 10))
+              )
+            );
+          }
+          module2.exports = {
+            // 随机生成一段文本。
+            paragraph: function(min3, max3) {
+              var len2 = range2(3, 7, min3, max3);
+              var result2 = [];
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2.push(this.sentence());
+              }
+              return result2.join(" ");
+            },
+            // 
+            cparagraph: function(min3, max3) {
+              var len2 = range2(3, 7, min3, max3);
+              var result2 = [];
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2.push(this.csentence());
+              }
+              return result2.join("");
+            },
+            // 随机生成一个句子,第一个单词的首字母大写。
+            sentence: function(min3, max3) {
+              var len2 = range2(12, 18, min3, max3);
+              var result2 = [];
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2.push(this.word());
+              }
+              return Helper.capitalize(result2.join(" ")) + ".";
+            },
+            // 随机生成一个中文句子。
+            csentence: function(min3, max3) {
+              var len2 = range2(12, 18, min3, max3);
+              var result2 = [];
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2.push(this.cword());
+              }
+              return result2.join("") + "。";
+            },
+            // 随机生成一个单词。
+            word: function(min3, max3) {
+              var len2 = range2(3, 10, min3, max3);
+              var result2 = "";
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2 += Basic.character("lower");
+              }
+              return result2;
+            },
+            // 随机生成一个或多个汉字。
+            cword: function(pool, min3, max3) {
+              var DICT_KANZI = "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞";
+              var len2;
+              switch (arguments.length) {
+                case 0:
+                  pool = DICT_KANZI;
+                  len2 = 1;
+                  break;
+                case 1:
+                  if (typeof arguments[0] === "string") {
+                    len2 = 1;
+                  } else {
+                    len2 = pool;
+                    pool = DICT_KANZI;
+                  }
+                  break;
+                case 2:
+                  if (typeof arguments[0] === "string") {
+                    len2 = min3;
+                  } else {
+                    len2 = this.natural(pool, min3);
+                    pool = DICT_KANZI;
+                  }
+                  break;
+                case 3:
+                  len2 = this.natural(min3, max3);
+                  break;
+              }
+              var result2 = "";
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2 += pool.charAt(this.natural(0, pool.length - 1));
+              }
+              return result2;
+            },
+            // 随机生成一句标题,其中每个单词的首字母大写。
+            title: function(min3, max3) {
+              var len2 = range2(3, 7, min3, max3);
+              var result2 = [];
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2.push(this.capitalize(this.word()));
+              }
+              return result2.join(" ");
+            },
+            // 随机生成一句中文标题。
+            ctitle: function(min3, max3) {
+              var len2 = range2(3, 7, min3, max3);
+              var result2 = [];
+              for (var i2 = 0; i2 < len2; i2++) {
+                result2.push(this.cword());
+              }
+              return result2.join("");
+            }
+          };
+        },
+        /* 14 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Util2 = __webpack_require__2(3);
+          module2.exports = {
+            // 把字符串的第一个字母转换为大写。
+            capitalize: function(word2) {
+              return (word2 + "").charAt(0).toUpperCase() + (word2 + "").substr(1);
+            },
+            // 把字符串转换为大写。
+            upper: function(str) {
+              return (str + "").toUpperCase();
+            },
+            // 把字符串转换为小写。
+            lower: function(str) {
+              return (str + "").toLowerCase();
+            },
+            // 从数组中随机选取一个元素,并返回。
+            pick: function pick(arr, min3, max3) {
+              if (!Util2.isArray(arr)) {
+                arr = [].slice.call(arguments);
+                min3 = 1;
+                max3 = 1;
+              } else {
+                if (min3 === void 0)
+                  min3 = 1;
+                if (max3 === void 0)
+                  max3 = min3;
+              }
+              if (min3 === 1 && max3 === 1)
+                return arr[this.natural(0, arr.length - 1)];
+              return this.shuffle(arr, min3, max3);
+            },
+            /*
+            			    打乱数组中元素的顺序,并返回。
+            			    Given an array, scramble the order and return it.
+            
+            			    其他的实现思路:
+            			        // https://code.google.com/p/jslibs/wiki/JavascriptTips
+            			        result = result.sort(function() {
+            			            return Math.random() - 0.5
+            			        })
+            			*/
+            shuffle: function shuffle(arr, min3, max3) {
+              arr = arr || [];
+              var old = arr.slice(0), result2 = [], index3 = 0, length2 = old.length;
+              for (var i2 = 0; i2 < length2; i2++) {
+                index3 = this.natural(0, old.length - 1);
+                result2.push(old[index3]);
+                old.splice(index3, 1);
+              }
+              switch (arguments.length) {
+                case 0:
+                case 1:
+                  return result2;
+                case 2:
+                  max3 = min3;
+                case 3:
+                  min3 = parseInt(min3, 10);
+                  max3 = parseInt(max3, 10);
+                  return result2.slice(0, this.natural(min3, max3));
+              }
+            },
+            /*
+            			    * Random.order(item, item)
+            			    * Random.order([item, item ...])
+            
+            			    顺序获取数组中的元素
+            
+            			    [JSON导入数组支持数组数据录入](https://github.com/thx/RAP/issues/22)
+            
+            			    不支持单独调用!
+            			*/
+            order: function order(array) {
+              order.cache = order.cache || {};
+              if (arguments.length > 1)
+                array = [].slice.call(arguments, 0);
+              var options2 = order.options;
+              var templatePath = options2.context.templatePath.join(".");
+              var cache = order.cache[templatePath] = order.cache[templatePath] || {
+                index: 0,
+                array
+              };
+              return cache.array[cache.index++ % cache.array.length];
+            }
+          };
+        },
+        /* 15 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = {
+            // 随机生成一个常见的英文名。
+            first: function() {
+              var names = [
+                // male
+                "James",
+                "John",
+                "Robert",
+                "Michael",
+                "William",
+                "David",
+                "Richard",
+                "Charles",
+                "Joseph",
+                "Thomas",
+                "Christopher",
+                "Daniel",
+                "Paul",
+                "Mark",
+                "Donald",
+                "George",
+                "Kenneth",
+                "Steven",
+                "Edward",
+                "Brian",
+                "Ronald",
+                "Anthony",
+                "Kevin",
+                "Jason",
+                "Matthew",
+                "Gary",
+                "Timothy",
+                "Jose",
+                "Larry",
+                "Jeffrey",
+                "Frank",
+                "Scott",
+                "Eric"
+              ].concat([
+                // female
+                "Mary",
+                "Patricia",
+                "Linda",
+                "Barbara",
+                "Elizabeth",
+                "Jennifer",
+                "Maria",
+                "Susan",
+                "Margaret",
+                "Dorothy",
+                "Lisa",
+                "Nancy",
+                "Karen",
+                "Betty",
+                "Helen",
+                "Sandra",
+                "Donna",
+                "Carol",
+                "Ruth",
+                "Sharon",
+                "Michelle",
+                "Laura",
+                "Sarah",
+                "Kimberly",
+                "Deborah",
+                "Jessica",
+                "Shirley",
+                "Cynthia",
+                "Angela",
+                "Melissa",
+                "Brenda",
+                "Amy",
+                "Anna"
+              ]);
+              return this.pick(names);
+            },
+            // 随机生成一个常见的英文姓。
+            last: function() {
+              var names = [
+                "Smith",
+                "Johnson",
+                "Williams",
+                "Brown",
+                "Jones",
+                "Miller",
+                "Davis",
+                "Garcia",
+                "Rodriguez",
+                "Wilson",
+                "Martinez",
+                "Anderson",
+                "Taylor",
+                "Thomas",
+                "Hernandez",
+                "Moore",
+                "Martin",
+                "Jackson",
+                "Thompson",
+                "White",
+                "Lopez",
+                "Lee",
+                "Gonzalez",
+                "Harris",
+                "Clark",
+                "Lewis",
+                "Robinson",
+                "Walker",
+                "Perez",
+                "Hall",
+                "Young",
+                "Allen"
+              ];
+              return this.pick(names);
+            },
+            // 随机生成一个常见的英文姓名。
+            name: function(middle) {
+              return this.first() + " " + (middle ? this.first() + " " : "") + this.last();
+            },
+            /*
+                随机生成一个常见的中文姓。
+                [世界常用姓氏排行](http://baike.baidu.com/view/1719115.htm)
+                [玄派网 - 网络小说创作辅助平台](http://xuanpai.sinaapp.com/)
+             */
+            cfirst: function() {
+              var names = "王 李 张 刘 陈 杨 赵 黄 周 吴 徐 孙 胡 朱 高 林 何 郭 马 罗 梁 宋 郑 谢 韩 唐 冯 于 董 萧 程 曹 袁 邓 许 傅 沈 曾 彭 吕 苏 卢 蒋 蔡 贾 丁 魏 薛 叶 阎 余 潘 杜 戴 夏 锺 汪 田 任 姜 范 方 石 姚 谭 廖 邹 熊 金 陆 郝 孔 白 崔 康 毛 邱 秦 江 史 顾 侯 邵 孟 龙 万 段 雷 钱 汤 尹 黎 易 常 武 乔 贺 赖 龚 文".split(" ");
+              return this.pick(names);
+            },
+            /*
+                随机生成一个常见的中文名。
+                [中国最常见名字前50名_三九算命网](http://www.name999.net/xingming/xingshi/20131004/48.html)
+             */
+            clast: function() {
+              var names = "伟 芳 娜 秀英 敏 静 丽 强 磊 军 洋 勇 艳 杰 娟 涛 明 超 秀兰 霞 平 刚 桂英".split(" ");
+              return this.pick(names);
+            },
+            // 随机生成一个常见的中文姓名。
+            cname: function() {
+              return this.cfirst() + this.clast();
+            }
+          };
+        },
+        /* 16 */
+        /***/
+        function(module2, exports2) {
+          module2.exports = {
+            /*
+            		        随机生成一个 URL。
+            
+            		        [URL 规范](http://www.w3.org/Addressing/URL/url-spec.txt)
+            		            http                    Hypertext Transfer Protocol 
+            		            ftp                     File Transfer protocol 
+            		            gopher                  The Gopher protocol 
+            		            mailto                  Electronic mail address 
+            		            mid                     Message identifiers for electronic mail 
+            		            cid                     Content identifiers for MIME body part 
+            		            news                    Usenet news 
+            		            nntp                    Usenet news for local NNTP access only 
+            		            prospero                Access using the prospero protocols 
+            		            telnet rlogin tn3270    Reference to interactive sessions
+            		            wais                    Wide Area Information Servers 
+            		    */
+            url: function(protocol, host) {
+              return (protocol || this.protocol()) + "://" + // protocol?
+              (host || this.domain()) + // host?
+              "/" + this.word();
+            },
+            // 随机生成一个 URL 协议。
+            protocol: function() {
+              return this.pick(
+                // 协议簇
+                "http ftp gopher mailto mid cid news nntp prospero telnet rlogin tn3270 wais".split(" ")
+              );
+            },
+            // 随机生成一个域名。
+            domain: function(tld) {
+              return this.word() + "." + (tld || this.tld());
+            },
+            /*
+                随机生成一个顶级域名。
+                国际顶级域名 international top-level domain-names, iTLDs
+                国家顶级域名 national top-level domainnames, nTLDs
+                [域名后缀大全](http://www.163ns.com/zixun/post/4417.html)
+            */
+            tld: function() {
+              return this.pick(
+                // 域名后缀
+                "com net org edu gov int mil cn com.cn net.cn gov.cn org.cn 中国 中国互联.公司 中国互联.网络 tel biz cc tv info name hk mobi asia cd travel pro museum coop aero ad ae af ag ai al am an ao aq ar as at au aw az ba bb bd be bf bg bh bi bj bm bn bo br bs bt bv bw by bz ca cc cf cg ch ci ck cl cm cn co cq cr cu cv cx cy cz de dj dk dm do dz ec ee eg eh es et ev fi fj fk fm fo fr ga gb gd ge gf gh gi gl gm gn gp gr gt gu gw gy hk hm hn hr ht hu id ie il in io iq ir is it jm jo jp ke kg kh ki km kn kp kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md mg mh ml mm mn mo mp mq mr ms mt mv mw mx my mz na nc ne nf ng ni nl no np nr nt nu nz om qa pa pe pf pg ph pk pl pm pn pr pt pw py re ro ru rw sa sb sc sd se sg sh si sj sk sl sm sn so sr st su sy sz tc td tf tg th tj tk tm tn to tp tr tt tv tw tz ua ug uk us uy va vc ve vg vn vu wf ws ye yu za zm zr zw".split(" ")
+              );
+            },
+            // 随机生成一个邮件地址。
+            email: function(domain) {
+              return this.character("lower") + "." + this.word() + "@" + (domain || this.word() + "." + this.tld());
+            },
+            // 随机生成一个 IP 地址。
+            ip: function() {
+              return this.natural(0, 255) + "." + this.natural(0, 255) + "." + this.natural(0, 255) + "." + this.natural(0, 255);
+            }
+          };
+        },
+        /* 17 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var DICT = __webpack_require__2(18);
+          var REGION = ["东北", "华北", "华东", "华中", "华南", "西南", "西北"];
+          module2.exports = {
+            // 随机生成一个大区。
+            region: function() {
+              return this.pick(REGION);
+            },
+            // 随机生成一个(中国)省(或直辖市、自治区、特别行政区)。
+            province: function() {
+              return this.pick(DICT).name;
+            },
+            // 随机生成一个(中国)市。
+            city: function(prefix) {
+              var province = this.pick(DICT);
+              var city = this.pick(province.children);
+              return prefix ? [province.name, city.name].join(" ") : city.name;
+            },
+            // 随机生成一个(中国)县。
+            county: function(prefix) {
+              var province = this.pick(DICT);
+              var city = this.pick(province.children);
+              var county = this.pick(city.children) || {
+                name: "-"
+              };
+              return prefix ? [province.name, city.name, county.name].join(" ") : county.name;
+            },
+            // 随机生成一个邮政编码(六位数字)。
+            zip: function(len2) {
+              var zip = "";
+              for (var i2 = 0; i2 < (len2 || 6); i2++)
+                zip += this.natural(0, 9);
+              return zip;
+            }
+            // address: function() {},
+            // phone: function() {},
+            // areacode: function() {},
+            // street: function() {},
+            // street_suffixes: function() {},
+            // street_suffix: function() {},
+            // states: function() {},
+            // state: function() {},
+          };
+        },
+        /* 18 */
+        /***/
+        function(module2, exports2) {
+          var DICT = {
+            "110000": "北京",
+            "110100": "北京市",
+            "110101": "东城区",
+            "110102": "西城区",
+            "110105": "朝阳区",
+            "110106": "丰台区",
+            "110107": "石景山区",
+            "110108": "海淀区",
+            "110109": "门头沟区",
+            "110111": "房山区",
+            "110112": "通州区",
+            "110113": "顺义区",
+            "110114": "昌平区",
+            "110115": "大兴区",
+            "110116": "怀柔区",
+            "110117": "平谷区",
+            "110228": "密云县",
+            "110229": "延庆县",
+            "110230": "其它区",
+            "120000": "天津",
+            "120100": "天津市",
+            "120101": "和平区",
+            "120102": "河东区",
+            "120103": "河西区",
+            "120104": "南开区",
+            "120105": "河北区",
+            "120106": "红桥区",
+            "120110": "东丽区",
+            "120111": "西青区",
+            "120112": "津南区",
+            "120113": "北辰区",
+            "120114": "武清区",
+            "120115": "宝坻区",
+            "120116": "滨海新区",
+            "120221": "宁河县",
+            "120223": "静海县",
+            "120225": "蓟县",
+            "120226": "其它区",
+            "130000": "河北省",
+            "130100": "石家庄市",
+            "130102": "长安区",
+            "130103": "桥东区",
+            "130104": "桥西区",
+            "130105": "新华区",
+            "130107": "井陉矿区",
+            "130108": "裕华区",
+            "130121": "井陉县",
+            "130123": "正定县",
+            "130124": "栾城县",
+            "130125": "行唐县",
+            "130126": "灵寿县",
+            "130127": "高邑县",
+            "130128": "深泽县",
+            "130129": "赞皇县",
+            "130130": "无极县",
+            "130131": "平山县",
+            "130132": "元氏县",
+            "130133": "赵县",
+            "130181": "辛集市",
+            "130182": "藁城市",
+            "130183": "晋州市",
+            "130184": "新乐市",
+            "130185": "鹿泉市",
+            "130186": "其它区",
+            "130200": "唐山市",
+            "130202": "路南区",
+            "130203": "路北区",
+            "130204": "古冶区",
+            "130205": "开平区",
+            "130207": "丰南区",
+            "130208": "丰润区",
+            "130223": "滦县",
+            "130224": "滦南县",
+            "130225": "乐亭县",
+            "130227": "迁西县",
+            "130229": "玉田县",
+            "130230": "曹妃甸区",
+            "130281": "遵化市",
+            "130283": "迁安市",
+            "130284": "其它区",
+            "130300": "秦皇岛市",
+            "130302": "海港区",
+            "130303": "山海关区",
+            "130304": "北戴河区",
+            "130321": "青龙满族自治县",
+            "130322": "昌黎县",
+            "130323": "抚宁县",
+            "130324": "卢龙县",
+            "130398": "其它区",
+            "130400": "邯郸市",
+            "130402": "邯山区",
+            "130403": "丛台区",
+            "130404": "复兴区",
+            "130406": "峰峰矿区",
+            "130421": "邯郸县",
+            "130423": "临漳县",
+            "130424": "成安县",
+            "130425": "大名县",
+            "130426": "涉县",
+            "130427": "磁县",
+            "130428": "肥乡县",
+            "130429": "永年县",
+            "130430": "邱县",
+            "130431": "鸡泽县",
+            "130432": "广平县",
+            "130433": "馆陶县",
+            "130434": "魏县",
+            "130435": "曲周县",
+            "130481": "武安市",
+            "130482": "其它区",
+            "130500": "邢台市",
+            "130502": "桥东区",
+            "130503": "桥西区",
+            "130521": "邢台县",
+            "130522": "临城县",
+            "130523": "内丘县",
+            "130524": "柏乡县",
+            "130525": "隆尧县",
+            "130526": "任县",
+            "130527": "南和县",
+            "130528": "宁晋县",
+            "130529": "巨鹿县",
+            "130530": "新河县",
+            "130531": "广宗县",
+            "130532": "平乡县",
+            "130533": "威县",
+            "130534": "清河县",
+            "130535": "临西县",
+            "130581": "南宫市",
+            "130582": "沙河市",
+            "130583": "其它区",
+            "130600": "保定市",
+            "130602": "新市区",
+            "130603": "北市区",
+            "130604": "南市区",
+            "130621": "满城县",
+            "130622": "清苑县",
+            "130623": "涞水县",
+            "130624": "阜平县",
+            "130625": "徐水县",
+            "130626": "定兴县",
+            "130627": "唐县",
+            "130628": "高阳县",
+            "130629": "容城县",
+            "130630": "涞源县",
+            "130631": "望都县",
+            "130632": "安新县",
+            "130633": "易县",
+            "130634": "曲阳县",
+            "130635": "蠡县",
+            "130636": "顺平县",
+            "130637": "博野县",
+            "130638": "雄县",
+            "130681": "涿州市",
+            "130682": "定州市",
+            "130683": "安国市",
+            "130684": "高碑店市",
+            "130699": "其它区",
+            "130700": "张家口市",
+            "130702": "桥东区",
+            "130703": "桥西区",
+            "130705": "宣化区",
+            "130706": "下花园区",
+            "130721": "宣化县",
+            "130722": "张北县",
+            "130723": "康保县",
+            "130724": "沽源县",
+            "130725": "尚义县",
+            "130726": "蔚县",
+            "130727": "阳原县",
+            "130728": "怀安县",
+            "130729": "万全县",
+            "130730": "怀来县",
+            "130731": "涿鹿县",
+            "130732": "赤城县",
+            "130733": "崇礼县",
+            "130734": "其它区",
+            "130800": "承德市",
+            "130802": "双桥区",
+            "130803": "双滦区",
+            "130804": "鹰手营子矿区",
+            "130821": "承德县",
+            "130822": "兴隆县",
+            "130823": "平泉县",
+            "130824": "滦平县",
+            "130825": "隆化县",
+            "130826": "丰宁满族自治县",
+            "130827": "宽城满族自治县",
+            "130828": "围场满族蒙古族自治县",
+            "130829": "其它区",
+            "130900": "沧州市",
+            "130902": "新华区",
+            "130903": "运河区",
+            "130921": "沧县",
+            "130922": "青县",
+            "130923": "东光县",
+            "130924": "海兴县",
+            "130925": "盐山县",
+            "130926": "肃宁县",
+            "130927": "南皮县",
+            "130928": "吴桥县",
+            "130929": "献县",
+            "130930": "孟村回族自治县",
+            "130981": "泊头市",
+            "130982": "任丘市",
+            "130983": "黄骅市",
+            "130984": "河间市",
+            "130985": "其它区",
+            "131000": "廊坊市",
+            "131002": "安次区",
+            "131003": "广阳区",
+            "131022": "固安县",
+            "131023": "永清县",
+            "131024": "香河县",
+            "131025": "大城县",
+            "131026": "文安县",
+            "131028": "大厂回族自治县",
+            "131081": "霸州市",
+            "131082": "三河市",
+            "131083": "其它区",
+            "131100": "衡水市",
+            "131102": "桃城区",
+            "131121": "枣强县",
+            "131122": "武邑县",
+            "131123": "武强县",
+            "131124": "饶阳县",
+            "131125": "安平县",
+            "131126": "故城县",
+            "131127": "景县",
+            "131128": "阜城县",
+            "131181": "冀州市",
+            "131182": "深州市",
+            "131183": "其它区",
+            "140000": "山西省",
+            "140100": "太原市",
+            "140105": "小店区",
+            "140106": "迎泽区",
+            "140107": "杏花岭区",
+            "140108": "尖草坪区",
+            "140109": "万柏林区",
+            "140110": "晋源区",
+            "140121": "清徐县",
+            "140122": "阳曲县",
+            "140123": "娄烦县",
+            "140181": "古交市",
+            "140182": "其它区",
+            "140200": "大同市",
+            "140202": "城区",
+            "140203": "矿区",
+            "140211": "南郊区",
+            "140212": "新荣区",
+            "140221": "阳高县",
+            "140222": "天镇县",
+            "140223": "广灵县",
+            "140224": "灵丘县",
+            "140225": "浑源县",
+            "140226": "左云县",
+            "140227": "大同县",
+            "140228": "其它区",
+            "140300": "阳泉市",
+            "140302": "城区",
+            "140303": "矿区",
+            "140311": "郊区",
+            "140321": "平定县",
+            "140322": "盂县",
+            "140323": "其它区",
+            "140400": "长治市",
+            "140421": "长治县",
+            "140423": "襄垣县",
+            "140424": "屯留县",
+            "140425": "平顺县",
+            "140426": "黎城县",
+            "140427": "壶关县",
+            "140428": "长子县",
+            "140429": "武乡县",
+            "140430": "沁县",
+            "140431": "沁源县",
+            "140481": "潞城市",
+            "140482": "城区",
+            "140483": "郊区",
+            "140485": "其它区",
+            "140500": "晋城市",
+            "140502": "城区",
+            "140521": "沁水县",
+            "140522": "阳城县",
+            "140524": "陵川县",
+            "140525": "泽州县",
+            "140581": "高平市",
+            "140582": "其它区",
+            "140600": "朔州市",
+            "140602": "朔城区",
+            "140603": "平鲁区",
+            "140621": "山阴县",
+            "140622": "应县",
+            "140623": "右玉县",
+            "140624": "怀仁县",
+            "140625": "其它区",
+            "140700": "晋中市",
+            "140702": "榆次区",
+            "140721": "榆社县",
+            "140722": "左权县",
+            "140723": "和顺县",
+            "140724": "昔阳县",
+            "140725": "寿阳县",
+            "140726": "太谷县",
+            "140727": "祁县",
+            "140728": "平遥县",
+            "140729": "灵石县",
+            "140781": "介休市",
+            "140782": "其它区",
+            "140800": "运城市",
+            "140802": "盐湖区",
+            "140821": "临猗县",
+            "140822": "万荣县",
+            "140823": "闻喜县",
+            "140824": "稷山县",
+            "140825": "新绛县",
+            "140826": "绛县",
+            "140827": "垣曲县",
+            "140828": "夏县",
+            "140829": "平陆县",
+            "140830": "芮城县",
+            "140881": "永济市",
+            "140882": "河津市",
+            "140883": "其它区",
+            "140900": "忻州市",
+            "140902": "忻府区",
+            "140921": "定襄县",
+            "140922": "五台县",
+            "140923": "代县",
+            "140924": "繁峙县",
+            "140925": "宁武县",
+            "140926": "静乐县",
+            "140927": "神池县",
+            "140928": "五寨县",
+            "140929": "岢岚县",
+            "140930": "河曲县",
+            "140931": "保德县",
+            "140932": "偏关县",
+            "140981": "原平市",
+            "140982": "其它区",
+            "141000": "临汾市",
+            "141002": "尧都区",
+            "141021": "曲沃县",
+            "141022": "翼城县",
+            "141023": "襄汾县",
+            "141024": "洪洞县",
+            "141025": "古县",
+            "141026": "安泽县",
+            "141027": "浮山县",
+            "141028": "吉县",
+            "141029": "乡宁县",
+            "141030": "大宁县",
+            "141031": "隰县",
+            "141032": "永和县",
+            "141033": "蒲县",
+            "141034": "汾西县",
+            "141081": "侯马市",
+            "141082": "霍州市",
+            "141083": "其它区",
+            "141100": "吕梁市",
+            "141102": "离石区",
+            "141121": "文水县",
+            "141122": "交城县",
+            "141123": "兴县",
+            "141124": "临县",
+            "141125": "柳林县",
+            "141126": "石楼县",
+            "141127": "岚县",
+            "141128": "方山县",
+            "141129": "中阳县",
+            "141130": "交口县",
+            "141181": "孝义市",
+            "141182": "汾阳市",
+            "141183": "其它区",
+            "150000": "内蒙古自治区",
+            "150100": "呼和浩特市",
+            "150102": "新城区",
+            "150103": "回民区",
+            "150104": "玉泉区",
+            "150105": "赛罕区",
+            "150121": "土默特左旗",
+            "150122": "托克托县",
+            "150123": "和林格尔县",
+            "150124": "清水河县",
+            "150125": "武川县",
+            "150126": "其它区",
+            "150200": "包头市",
+            "150202": "东河区",
+            "150203": "昆都仑区",
+            "150204": "青山区",
+            "150205": "石拐区",
+            "150206": "白云鄂博矿区",
+            "150207": "九原区",
+            "150221": "土默特右旗",
+            "150222": "固阳县",
+            "150223": "达尔罕茂明安联合旗",
+            "150224": "其它区",
+            "150300": "乌海市",
+            "150302": "海勃湾区",
+            "150303": "海南区",
+            "150304": "乌达区",
+            "150305": "其它区",
+            "150400": "赤峰市",
+            "150402": "红山区",
+            "150403": "元宝山区",
+            "150404": "松山区",
+            "150421": "阿鲁科尔沁旗",
+            "150422": "巴林左旗",
+            "150423": "巴林右旗",
+            "150424": "林西县",
+            "150425": "克什克腾旗",
+            "150426": "翁牛特旗",
+            "150428": "喀喇沁旗",
+            "150429": "宁城县",
+            "150430": "敖汉旗",
+            "150431": "其它区",
+            "150500": "通辽市",
+            "150502": "科尔沁区",
+            "150521": "科尔沁左翼中旗",
+            "150522": "科尔沁左翼后旗",
+            "150523": "开鲁县",
+            "150524": "库伦旗",
+            "150525": "奈曼旗",
+            "150526": "扎鲁特旗",
+            "150581": "霍林郭勒市",
+            "150582": "其它区",
+            "150600": "鄂尔多斯市",
+            "150602": "东胜区",
+            "150621": "达拉特旗",
+            "150622": "准格尔旗",
+            "150623": "鄂托克前旗",
+            "150624": "鄂托克旗",
+            "150625": "杭锦旗",
+            "150626": "乌审旗",
+            "150627": "伊金霍洛旗",
+            "150628": "其它区",
+            "150700": "呼伦贝尔市",
+            "150702": "海拉尔区",
+            "150703": "扎赉诺尔区",
+            "150721": "阿荣旗",
+            "150722": "莫力达瓦达斡尔族自治旗",
+            "150723": "鄂伦春自治旗",
+            "150724": "鄂温克族自治旗",
+            "150725": "陈巴尔虎旗",
+            "150726": "新巴尔虎左旗",
+            "150727": "新巴尔虎右旗",
+            "150781": "满洲里市",
+            "150782": "牙克石市",
+            "150783": "扎兰屯市",
+            "150784": "额尔古纳市",
+            "150785": "根河市",
+            "150786": "其它区",
+            "150800": "巴彦淖尔市",
+            "150802": "临河区",
+            "150821": "五原县",
+            "150822": "磴口县",
+            "150823": "乌拉特前旗",
+            "150824": "乌拉特中旗",
+            "150825": "乌拉特后旗",
+            "150826": "杭锦后旗",
+            "150827": "其它区",
+            "150900": "乌兰察布市",
+            "150902": "集宁区",
+            "150921": "卓资县",
+            "150922": "化德县",
+            "150923": "商都县",
+            "150924": "兴和县",
+            "150925": "凉城县",
+            "150926": "察哈尔右翼前旗",
+            "150927": "察哈尔右翼中旗",
+            "150928": "察哈尔右翼后旗",
+            "150929": "四子王旗",
+            "150981": "丰镇市",
+            "150982": "其它区",
+            "152200": "兴安盟",
+            "152201": "乌兰浩特市",
+            "152202": "阿尔山市",
+            "152221": "科尔沁右翼前旗",
+            "152222": "科尔沁右翼中旗",
+            "152223": "扎赉特旗",
+            "152224": "突泉县",
+            "152225": "其它区",
+            "152500": "锡林郭勒盟",
+            "152501": "二连浩特市",
+            "152502": "锡林浩特市",
+            "152522": "阿巴嘎旗",
+            "152523": "苏尼特左旗",
+            "152524": "苏尼特右旗",
+            "152525": "东乌珠穆沁旗",
+            "152526": "西乌珠穆沁旗",
+            "152527": "太仆寺旗",
+            "152528": "镶黄旗",
+            "152529": "正镶白旗",
+            "152530": "正蓝旗",
+            "152531": "多伦县",
+            "152532": "其它区",
+            "152900": "阿拉善盟",
+            "152921": "阿拉善左旗",
+            "152922": "阿拉善右旗",
+            "152923": "额济纳旗",
+            "152924": "其它区",
+            "210000": "辽宁省",
+            "210100": "沈阳市",
+            "210102": "和平区",
+            "210103": "沈河区",
+            "210104": "大东区",
+            "210105": "皇姑区",
+            "210106": "铁西区",
+            "210111": "苏家屯区",
+            "210112": "东陵区",
+            "210113": "新城子区",
+            "210114": "于洪区",
+            "210122": "辽中县",
+            "210123": "康平县",
+            "210124": "法库县",
+            "210181": "新民市",
+            "210184": "沈北新区",
+            "210185": "其它区",
+            "210200": "大连市",
+            "210202": "中山区",
+            "210203": "西岗区",
+            "210204": "沙河口区",
+            "210211": "甘井子区",
+            "210212": "旅顺口区",
+            "210213": "金州区",
+            "210224": "长海县",
+            "210281": "瓦房店市",
+            "210282": "普兰店市",
+            "210283": "庄河市",
+            "210298": "其它区",
+            "210300": "鞍山市",
+            "210302": "铁东区",
+            "210303": "铁西区",
+            "210304": "立山区",
+            "210311": "千山区",
+            "210321": "台安县",
+            "210323": "岫岩满族自治县",
+            "210381": "海城市",
+            "210382": "其它区",
+            "210400": "抚顺市",
+            "210402": "新抚区",
+            "210403": "东洲区",
+            "210404": "望花区",
+            "210411": "顺城区",
+            "210421": "抚顺县",
+            "210422": "新宾满族自治县",
+            "210423": "清原满族自治县",
+            "210424": "其它区",
+            "210500": "本溪市",
+            "210502": "平山区",
+            "210503": "溪湖区",
+            "210504": "明山区",
+            "210505": "南芬区",
+            "210521": "本溪满族自治县",
+            "210522": "桓仁满族自治县",
+            "210523": "其它区",
+            "210600": "丹东市",
+            "210602": "元宝区",
+            "210603": "振兴区",
+            "210604": "振安区",
+            "210624": "宽甸满族自治县",
+            "210681": "东港市",
+            "210682": "凤城市",
+            "210683": "其它区",
+            "210700": "锦州市",
+            "210702": "古塔区",
+            "210703": "凌河区",
+            "210711": "太和区",
+            "210726": "黑山县",
+            "210727": "义县",
+            "210781": "凌海市",
+            "210782": "北镇市",
+            "210783": "其它区",
+            "210800": "营口市",
+            "210802": "站前区",
+            "210803": "西市区",
+            "210804": "鲅鱼圈区",
+            "210811": "老边区",
+            "210881": "盖州市",
+            "210882": "大石桥市",
+            "210883": "其它区",
+            "210900": "阜新市",
+            "210902": "海州区",
+            "210903": "新邱区",
+            "210904": "太平区",
+            "210905": "清河门区",
+            "210911": "细河区",
+            "210921": "阜新蒙古族自治县",
+            "210922": "彰武县",
+            "210923": "其它区",
+            "211000": "辽阳市",
+            "211002": "白塔区",
+            "211003": "文圣区",
+            "211004": "宏伟区",
+            "211005": "弓长岭区",
+            "211011": "太子河区",
+            "211021": "辽阳县",
+            "211081": "灯塔市",
+            "211082": "其它区",
+            "211100": "盘锦市",
+            "211102": "双台子区",
+            "211103": "兴隆台区",
+            "211121": "大洼县",
+            "211122": "盘山县",
+            "211123": "其它区",
+            "211200": "铁岭市",
+            "211202": "银州区",
+            "211204": "清河区",
+            "211221": "铁岭县",
+            "211223": "西丰县",
+            "211224": "昌图县",
+            "211281": "调兵山市",
+            "211282": "开原市",
+            "211283": "其它区",
+            "211300": "朝阳市",
+            "211302": "双塔区",
+            "211303": "龙城区",
+            "211321": "朝阳县",
+            "211322": "建平县",
+            "211324": "喀喇沁左翼蒙古族自治县",
+            "211381": "北票市",
+            "211382": "凌源市",
+            "211383": "其它区",
+            "211400": "葫芦岛市",
+            "211402": "连山区",
+            "211403": "龙港区",
+            "211404": "南票区",
+            "211421": "绥中县",
+            "211422": "建昌县",
+            "211481": "兴城市",
+            "211482": "其它区",
+            "220000": "吉林省",
+            "220100": "长春市",
+            "220102": "南关区",
+            "220103": "宽城区",
+            "220104": "朝阳区",
+            "220105": "二道区",
+            "220106": "绿园区",
+            "220112": "双阳区",
+            "220122": "农安县",
+            "220181": "九台市",
+            "220182": "榆树市",
+            "220183": "德惠市",
+            "220188": "其它区",
+            "220200": "吉林市",
+            "220202": "昌邑区",
+            "220203": "龙潭区",
+            "220204": "船营区",
+            "220211": "丰满区",
+            "220221": "永吉县",
+            "220281": "蛟河市",
+            "220282": "桦甸市",
+            "220283": "舒兰市",
+            "220284": "磐石市",
+            "220285": "其它区",
+            "220300": "四平市",
+            "220302": "铁西区",
+            "220303": "铁东区",
+            "220322": "梨树县",
+            "220323": "伊通满族自治县",
+            "220381": "公主岭市",
+            "220382": "双辽市",
+            "220383": "其它区",
+            "220400": "辽源市",
+            "220402": "龙山区",
+            "220403": "西安区",
+            "220421": "东丰县",
+            "220422": "东辽县",
+            "220423": "其它区",
+            "220500": "通化市",
+            "220502": "东昌区",
+            "220503": "二道江区",
+            "220521": "通化县",
+            "220523": "辉南县",
+            "220524": "柳河县",
+            "220581": "梅河口市",
+            "220582": "集安市",
+            "220583": "其它区",
+            "220600": "白山市",
+            "220602": "浑江区",
+            "220621": "抚松县",
+            "220622": "靖宇县",
+            "220623": "长白朝鲜族自治县",
+            "220625": "江源区",
+            "220681": "临江市",
+            "220682": "其它区",
+            "220700": "松原市",
+            "220702": "宁江区",
+            "220721": "前郭尔罗斯蒙古族自治县",
+            "220722": "长岭县",
+            "220723": "乾安县",
+            "220724": "扶余市",
+            "220725": "其它区",
+            "220800": "白城市",
+            "220802": "洮北区",
+            "220821": "镇赉县",
+            "220822": "通榆县",
+            "220881": "洮南市",
+            "220882": "大安市",
+            "220883": "其它区",
+            "222400": "延边朝鲜族自治州",
+            "222401": "延吉市",
+            "222402": "图们市",
+            "222403": "敦化市",
+            "222404": "珲春市",
+            "222405": "龙井市",
+            "222406": "和龙市",
+            "222424": "汪清县",
+            "222426": "安图县",
+            "222427": "其它区",
+            "230000": "黑龙江省",
+            "230100": "哈尔滨市",
+            "230102": "道里区",
+            "230103": "南岗区",
+            "230104": "道外区",
+            "230106": "香坊区",
+            "230108": "平房区",
+            "230109": "松北区",
+            "230111": "呼兰区",
+            "230123": "依兰县",
+            "230124": "方正县",
+            "230125": "宾县",
+            "230126": "巴彦县",
+            "230127": "木兰县",
+            "230128": "通河县",
+            "230129": "延寿县",
+            "230181": "阿城区",
+            "230182": "双城市",
+            "230183": "尚志市",
+            "230184": "五常市",
+            "230186": "其它区",
+            "230200": "齐齐哈尔市",
+            "230202": "龙沙区",
+            "230203": "建华区",
+            "230204": "铁锋区",
+            "230205": "昂昂溪区",
+            "230206": "富拉尔基区",
+            "230207": "碾子山区",
+            "230208": "梅里斯达斡尔族区",
+            "230221": "龙江县",
+            "230223": "依安县",
+            "230224": "泰来县",
+            "230225": "甘南县",
+            "230227": "富裕县",
+            "230229": "克山县",
+            "230230": "克东县",
+            "230231": "拜泉县",
+            "230281": "讷河市",
+            "230282": "其它区",
+            "230300": "鸡西市",
+            "230302": "鸡冠区",
+            "230303": "恒山区",
+            "230304": "滴道区",
+            "230305": "梨树区",
+            "230306": "城子河区",
+            "230307": "麻山区",
+            "230321": "鸡东县",
+            "230381": "虎林市",
+            "230382": "密山市",
+            "230383": "其它区",
+            "230400": "鹤岗市",
+            "230402": "向阳区",
+            "230403": "工农区",
+            "230404": "南山区",
+            "230405": "兴安区",
+            "230406": "东山区",
+            "230407": "兴山区",
+            "230421": "萝北县",
+            "230422": "绥滨县",
+            "230423": "其它区",
+            "230500": "双鸭山市",
+            "230502": "尖山区",
+            "230503": "岭东区",
+            "230505": "四方台区",
+            "230506": "宝山区",
+            "230521": "集贤县",
+            "230522": "友谊县",
+            "230523": "宝清县",
+            "230524": "饶河县",
+            "230525": "其它区",
+            "230600": "大庆市",
+            "230602": "萨尔图区",
+            "230603": "龙凤区",
+            "230604": "让胡路区",
+            "230605": "红岗区",
+            "230606": "大同区",
+            "230621": "肇州县",
+            "230622": "肇源县",
+            "230623": "林甸县",
+            "230624": "杜尔伯特蒙古族自治县",
+            "230625": "其它区",
+            "230700": "伊春市",
+            "230702": "伊春区",
+            "230703": "南岔区",
+            "230704": "友好区",
+            "230705": "西林区",
+            "230706": "翠峦区",
+            "230707": "新青区",
+            "230708": "美溪区",
+            "230709": "金山屯区",
+            "230710": "五营区",
+            "230711": "乌马河区",
+            "230712": "汤旺河区",
+            "230713": "带岭区",
+            "230714": "乌伊岭区",
+            "230715": "红星区",
+            "230716": "上甘岭区",
+            "230722": "嘉荫县",
+            "230781": "铁力市",
+            "230782": "其它区",
+            "230800": "佳木斯市",
+            "230803": "向阳区",
+            "230804": "前进区",
+            "230805": "东风区",
+            "230811": "郊区",
+            "230822": "桦南县",
+            "230826": "桦川县",
+            "230828": "汤原县",
+            "230833": "抚远县",
+            "230881": "同江市",
+            "230882": "富锦市",
+            "230883": "其它区",
+            "230900": "七台河市",
+            "230902": "新兴区",
+            "230903": "桃山区",
+            "230904": "茄子河区",
+            "230921": "勃利县",
+            "230922": "其它区",
+            "231000": "牡丹江市",
+            "231002": "东安区",
+            "231003": "阳明区",
+            "231004": "爱民区",
+            "231005": "西安区",
+            "231024": "东宁县",
+            "231025": "林口县",
+            "231081": "绥芬河市",
+            "231083": "海林市",
+            "231084": "宁安市",
+            "231085": "穆棱市",
+            "231086": "其它区",
+            "231100": "黑河市",
+            "231102": "爱辉区",
+            "231121": "嫩江县",
+            "231123": "逊克县",
+            "231124": "孙吴县",
+            "231181": "北安市",
+            "231182": "五大连池市",
+            "231183": "其它区",
+            "231200": "绥化市",
+            "231202": "北林区",
+            "231221": "望奎县",
+            "231222": "兰西县",
+            "231223": "青冈县",
+            "231224": "庆安县",
+            "231225": "明水县",
+            "231226": "绥棱县",
+            "231281": "安达市",
+            "231282": "肇东市",
+            "231283": "海伦市",
+            "231284": "其它区",
+            "232700": "大兴安岭地区",
+            "232702": "松岭区",
+            "232703": "新林区",
+            "232704": "呼中区",
+            "232721": "呼玛县",
+            "232722": "塔河县",
+            "232723": "漠河县",
+            "232724": "加格达奇区",
+            "232725": "其它区",
+            "310000": "上海",
+            "310100": "上海市",
+            "310101": "黄浦区",
+            "310104": "徐汇区",
+            "310105": "长宁区",
+            "310106": "静安区",
+            "310107": "普陀区",
+            "310108": "闸北区",
+            "310109": "虹口区",
+            "310110": "杨浦区",
+            "310112": "闵行区",
+            "310113": "宝山区",
+            "310114": "嘉定区",
+            "310115": "浦东新区",
+            "310116": "金山区",
+            "310117": "松江区",
+            "310118": "青浦区",
+            "310120": "奉贤区",
+            "310230": "崇明县",
+            "310231": "其它区",
+            "320000": "江苏省",
+            "320100": "南京市",
+            "320102": "玄武区",
+            "320104": "秦淮区",
+            "320105": "建邺区",
+            "320106": "鼓楼区",
+            "320111": "浦口区",
+            "320113": "栖霞区",
+            "320114": "雨花台区",
+            "320115": "江宁区",
+            "320116": "六合区",
+            "320124": "溧水区",
+            "320125": "高淳区",
+            "320126": "其它区",
+            "320200": "无锡市",
+            "320202": "崇安区",
+            "320203": "南长区",
+            "320204": "北塘区",
+            "320205": "锡山区",
+            "320206": "惠山区",
+            "320211": "滨湖区",
+            "320281": "江阴市",
+            "320282": "宜兴市",
+            "320297": "其它区",
+            "320300": "徐州市",
+            "320302": "鼓楼区",
+            "320303": "云龙区",
+            "320305": "贾汪区",
+            "320311": "泉山区",
+            "320321": "丰县",
+            "320322": "沛县",
+            "320323": "铜山区",
+            "320324": "睢宁县",
+            "320381": "新沂市",
+            "320382": "邳州市",
+            "320383": "其它区",
+            "320400": "常州市",
+            "320402": "天宁区",
+            "320404": "钟楼区",
+            "320405": "戚墅堰区",
+            "320411": "新北区",
+            "320412": "武进区",
+            "320481": "溧阳市",
+            "320482": "金坛市",
+            "320483": "其它区",
+            "320500": "苏州市",
+            "320505": "虎丘区",
+            "320506": "吴中区",
+            "320507": "相城区",
+            "320508": "姑苏区",
+            "320581": "常熟市",
+            "320582": "张家港市",
+            "320583": "昆山市",
+            "320584": "吴江区",
+            "320585": "太仓市",
+            "320596": "其它区",
+            "320600": "南通市",
+            "320602": "崇川区",
+            "320611": "港闸区",
+            "320612": "通州区",
+            "320621": "海安县",
+            "320623": "如东县",
+            "320681": "启东市",
+            "320682": "如皋市",
+            "320684": "海门市",
+            "320694": "其它区",
+            "320700": "连云港市",
+            "320703": "连云区",
+            "320705": "新浦区",
+            "320706": "海州区",
+            "320721": "赣榆县",
+            "320722": "东海县",
+            "320723": "灌云县",
+            "320724": "灌南县",
+            "320725": "其它区",
+            "320800": "淮安市",
+            "320802": "清河区",
+            "320803": "淮安区",
+            "320804": "淮阴区",
+            "320811": "清浦区",
+            "320826": "涟水县",
+            "320829": "洪泽县",
+            "320830": "盱眙县",
+            "320831": "金湖县",
+            "320832": "其它区",
+            "320900": "盐城市",
+            "320902": "亭湖区",
+            "320903": "盐都区",
+            "320921": "响水县",
+            "320922": "滨海县",
+            "320923": "阜宁县",
+            "320924": "射阳县",
+            "320925": "建湖县",
+            "320981": "东台市",
+            "320982": "大丰市",
+            "320983": "其它区",
+            "321000": "扬州市",
+            "321002": "广陵区",
+            "321003": "邗江区",
+            "321023": "宝应县",
+            "321081": "仪征市",
+            "321084": "高邮市",
+            "321088": "江都区",
+            "321093": "其它区",
+            "321100": "镇江市",
+            "321102": "京口区",
+            "321111": "润州区",
+            "321112": "丹徒区",
+            "321181": "丹阳市",
+            "321182": "扬中市",
+            "321183": "句容市",
+            "321184": "其它区",
+            "321200": "泰州市",
+            "321202": "海陵区",
+            "321203": "高港区",
+            "321281": "兴化市",
+            "321282": "靖江市",
+            "321283": "泰兴市",
+            "321284": "姜堰区",
+            "321285": "其它区",
+            "321300": "宿迁市",
+            "321302": "宿城区",
+            "321311": "宿豫区",
+            "321322": "沭阳县",
+            "321323": "泗阳县",
+            "321324": "泗洪县",
+            "321325": "其它区",
+            "330000": "浙江省",
+            "330100": "杭州市",
+            "330102": "上城区",
+            "330103": "下城区",
+            "330104": "江干区",
+            "330105": "拱墅区",
+            "330106": "西湖区",
+            "330108": "滨江区",
+            "330109": "萧山区",
+            "330110": "余杭区",
+            "330122": "桐庐县",
+            "330127": "淳安县",
+            "330182": "建德市",
+            "330183": "富阳市",
+            "330185": "临安市",
+            "330186": "其它区",
+            "330200": "宁波市",
+            "330203": "海曙区",
+            "330204": "江东区",
+            "330205": "江北区",
+            "330206": "北仑区",
+            "330211": "镇海区",
+            "330212": "鄞州区",
+            "330225": "象山县",
+            "330226": "宁海县",
+            "330281": "余姚市",
+            "330282": "慈溪市",
+            "330283": "奉化市",
+            "330284": "其它区",
+            "330300": "温州市",
+            "330302": "鹿城区",
+            "330303": "龙湾区",
+            "330304": "瓯海区",
+            "330322": "洞头县",
+            "330324": "永嘉县",
+            "330326": "平阳县",
+            "330327": "苍南县",
+            "330328": "文成县",
+            "330329": "泰顺县",
+            "330381": "瑞安市",
+            "330382": "乐清市",
+            "330383": "其它区",
+            "330400": "嘉兴市",
+            "330402": "南湖区",
+            "330411": "秀洲区",
+            "330421": "嘉善县",
+            "330424": "海盐县",
+            "330481": "海宁市",
+            "330482": "平湖市",
+            "330483": "桐乡市",
+            "330484": "其它区",
+            "330500": "湖州市",
+            "330502": "吴兴区",
+            "330503": "南浔区",
+            "330521": "德清县",
+            "330522": "长兴县",
+            "330523": "安吉县",
+            "330524": "其它区",
+            "330600": "绍兴市",
+            "330602": "越城区",
+            "330621": "绍兴县",
+            "330624": "新昌县",
+            "330681": "诸暨市",
+            "330682": "上虞市",
+            "330683": "嵊州市",
+            "330684": "其它区",
+            "330700": "金华市",
+            "330702": "婺城区",
+            "330703": "金东区",
+            "330723": "武义县",
+            "330726": "浦江县",
+            "330727": "磐安县",
+            "330781": "兰溪市",
+            "330782": "义乌市",
+            "330783": "东阳市",
+            "330784": "永康市",
+            "330785": "其它区",
+            "330800": "衢州市",
+            "330802": "柯城区",
+            "330803": "衢江区",
+            "330822": "常山县",
+            "330824": "开化县",
+            "330825": "龙游县",
+            "330881": "江山市",
+            "330882": "其它区",
+            "330900": "舟山市",
+            "330902": "定海区",
+            "330903": "普陀区",
+            "330921": "岱山县",
+            "330922": "嵊泗县",
+            "330923": "其它区",
+            "331000": "台州市",
+            "331002": "椒江区",
+            "331003": "黄岩区",
+            "331004": "路桥区",
+            "331021": "玉环县",
+            "331022": "三门县",
+            "331023": "天台县",
+            "331024": "仙居县",
+            "331081": "温岭市",
+            "331082": "临海市",
+            "331083": "其它区",
+            "331100": "丽水市",
+            "331102": "莲都区",
+            "331121": "青田县",
+            "331122": "缙云县",
+            "331123": "遂昌县",
+            "331124": "松阳县",
+            "331125": "云和县",
+            "331126": "庆元县",
+            "331127": "景宁畲族自治县",
+            "331181": "龙泉市",
+            "331182": "其它区",
+            "340000": "安徽省",
+            "340100": "合肥市",
+            "340102": "瑶海区",
+            "340103": "庐阳区",
+            "340104": "蜀山区",
+            "340111": "包河区",
+            "340121": "长丰县",
+            "340122": "肥东县",
+            "340123": "肥西县",
+            "340192": "其它区",
+            "340200": "芜湖市",
+            "340202": "镜湖区",
+            "340203": "弋江区",
+            "340207": "鸠江区",
+            "340208": "三山区",
+            "340221": "芜湖县",
+            "340222": "繁昌县",
+            "340223": "南陵县",
+            "340224": "其它区",
+            "340300": "蚌埠市",
+            "340302": "龙子湖区",
+            "340303": "蚌山区",
+            "340304": "禹会区",
+            "340311": "淮上区",
+            "340321": "怀远县",
+            "340322": "五河县",
+            "340323": "固镇县",
+            "340324": "其它区",
+            "340400": "淮南市",
+            "340402": "大通区",
+            "340403": "田家庵区",
+            "340404": "谢家集区",
+            "340405": "八公山区",
+            "340406": "潘集区",
+            "340421": "凤台县",
+            "340422": "其它区",
+            "340500": "马鞍山市",
+            "340503": "花山区",
+            "340504": "雨山区",
+            "340506": "博望区",
+            "340521": "当涂县",
+            "340522": "其它区",
+            "340600": "淮北市",
+            "340602": "杜集区",
+            "340603": "相山区",
+            "340604": "烈山区",
+            "340621": "濉溪县",
+            "340622": "其它区",
+            "340700": "铜陵市",
+            "340702": "铜官山区",
+            "340703": "狮子山区",
+            "340711": "郊区",
+            "340721": "铜陵县",
+            "340722": "其它区",
+            "340800": "安庆市",
+            "340802": "迎江区",
+            "340803": "大观区",
+            "340811": "宜秀区",
+            "340822": "怀宁县",
+            "340823": "枞阳县",
+            "340824": "潜山县",
+            "340825": "太湖县",
+            "340826": "宿松县",
+            "340827": "望江县",
+            "340828": "岳西县",
+            "340881": "桐城市",
+            "340882": "其它区",
+            "341000": "黄山市",
+            "341002": "屯溪区",
+            "341003": "黄山区",
+            "341004": "徽州区",
+            "341021": "歙县",
+            "341022": "休宁县",
+            "341023": "黟县",
+            "341024": "祁门县",
+            "341025": "其它区",
+            "341100": "滁州市",
+            "341102": "琅琊区",
+            "341103": "南谯区",
+            "341122": "来安县",
+            "341124": "全椒县",
+            "341125": "定远县",
+            "341126": "凤阳县",
+            "341181": "天长市",
+            "341182": "明光市",
+            "341183": "其它区",
+            "341200": "阜阳市",
+            "341202": "颍州区",
+            "341203": "颍东区",
+            "341204": "颍泉区",
+            "341221": "临泉县",
+            "341222": "太和县",
+            "341225": "阜南县",
+            "341226": "颍上县",
+            "341282": "界首市",
+            "341283": "其它区",
+            "341300": "宿州市",
+            "341302": "埇桥区",
+            "341321": "砀山县",
+            "341322": "萧县",
+            "341323": "灵璧县",
+            "341324": "泗县",
+            "341325": "其它区",
+            "341400": "巢湖市",
+            "341421": "庐江县",
+            "341422": "无为县",
+            "341423": "含山县",
+            "341424": "和县",
+            "341500": "六安市",
+            "341502": "金安区",
+            "341503": "裕安区",
+            "341521": "寿县",
+            "341522": "霍邱县",
+            "341523": "舒城县",
+            "341524": "金寨县",
+            "341525": "霍山县",
+            "341526": "其它区",
+            "341600": "亳州市",
+            "341602": "谯城区",
+            "341621": "涡阳县",
+            "341622": "蒙城县",
+            "341623": "利辛县",
+            "341624": "其它区",
+            "341700": "池州市",
+            "341702": "贵池区",
+            "341721": "东至县",
+            "341722": "石台县",
+            "341723": "青阳县",
+            "341724": "其它区",
+            "341800": "宣城市",
+            "341802": "宣州区",
+            "341821": "郎溪县",
+            "341822": "广德县",
+            "341823": "泾县",
+            "341824": "绩溪县",
+            "341825": "旌德县",
+            "341881": "宁国市",
+            "341882": "其它区",
+            "350000": "福建省",
+            "350100": "福州市",
+            "350102": "鼓楼区",
+            "350103": "台江区",
+            "350104": "仓山区",
+            "350105": "马尾区",
+            "350111": "晋安区",
+            "350121": "闽侯县",
+            "350122": "连江县",
+            "350123": "罗源县",
+            "350124": "闽清县",
+            "350125": "永泰县",
+            "350128": "平潭县",
+            "350181": "福清市",
+            "350182": "长乐市",
+            "350183": "其它区",
+            "350200": "厦门市",
+            "350203": "思明区",
+            "350205": "海沧区",
+            "350206": "湖里区",
+            "350211": "集美区",
+            "350212": "同安区",
+            "350213": "翔安区",
+            "350214": "其它区",
+            "350300": "莆田市",
+            "350302": "城厢区",
+            "350303": "涵江区",
+            "350304": "荔城区",
+            "350305": "秀屿区",
+            "350322": "仙游县",
+            "350323": "其它区",
+            "350400": "三明市",
+            "350402": "梅列区",
+            "350403": "三元区",
+            "350421": "明溪县",
+            "350423": "清流县",
+            "350424": "宁化县",
+            "350425": "大田县",
+            "350426": "尤溪县",
+            "350427": "沙县",
+            "350428": "将乐县",
+            "350429": "泰宁县",
+            "350430": "建宁县",
+            "350481": "永安市",
+            "350482": "其它区",
+            "350500": "泉州市",
+            "350502": "鲤城区",
+            "350503": "丰泽区",
+            "350504": "洛江区",
+            "350505": "泉港区",
+            "350521": "惠安县",
+            "350524": "安溪县",
+            "350525": "永春县",
+            "350526": "德化县",
+            "350527": "金门县",
+            "350581": "石狮市",
+            "350582": "晋江市",
+            "350583": "南安市",
+            "350584": "其它区",
+            "350600": "漳州市",
+            "350602": "芗城区",
+            "350603": "龙文区",
+            "350622": "云霄县",
+            "350623": "漳浦县",
+            "350624": "诏安县",
+            "350625": "长泰县",
+            "350626": "东山县",
+            "350627": "南靖县",
+            "350628": "平和县",
+            "350629": "华安县",
+            "350681": "龙海市",
+            "350682": "其它区",
+            "350700": "南平市",
+            "350702": "延平区",
+            "350721": "顺昌县",
+            "350722": "浦城县",
+            "350723": "光泽县",
+            "350724": "松溪县",
+            "350725": "政和县",
+            "350781": "邵武市",
+            "350782": "武夷山市",
+            "350783": "建瓯市",
+            "350784": "建阳市",
+            "350785": "其它区",
+            "350800": "龙岩市",
+            "350802": "新罗区",
+            "350821": "长汀县",
+            "350822": "永定县",
+            "350823": "上杭县",
+            "350824": "武平县",
+            "350825": "连城县",
+            "350881": "漳平市",
+            "350882": "其它区",
+            "350900": "宁德市",
+            "350902": "蕉城区",
+            "350921": "霞浦县",
+            "350922": "古田县",
+            "350923": "屏南县",
+            "350924": "寿宁县",
+            "350925": "周宁县",
+            "350926": "柘荣县",
+            "350981": "福安市",
+            "350982": "福鼎市",
+            "350983": "其它区",
+            "360000": "江西省",
+            "360100": "南昌市",
+            "360102": "东湖区",
+            "360103": "西湖区",
+            "360104": "青云谱区",
+            "360105": "湾里区",
+            "360111": "青山湖区",
+            "360121": "南昌县",
+            "360122": "新建县",
+            "360123": "安义县",
+            "360124": "进贤县",
+            "360128": "其它区",
+            "360200": "景德镇市",
+            "360202": "昌江区",
+            "360203": "珠山区",
+            "360222": "浮梁县",
+            "360281": "乐平市",
+            "360282": "其它区",
+            "360300": "萍乡市",
+            "360302": "安源区",
+            "360313": "湘东区",
+            "360321": "莲花县",
+            "360322": "上栗县",
+            "360323": "芦溪县",
+            "360324": "其它区",
+            "360400": "九江市",
+            "360402": "庐山区",
+            "360403": "浔阳区",
+            "360421": "九江县",
+            "360423": "武宁县",
+            "360424": "修水县",
+            "360425": "永修县",
+            "360426": "德安县",
+            "360427": "星子县",
+            "360428": "都昌县",
+            "360429": "湖口县",
+            "360430": "彭泽县",
+            "360481": "瑞昌市",
+            "360482": "其它区",
+            "360483": "共青城市",
+            "360500": "新余市",
+            "360502": "渝水区",
+            "360521": "分宜县",
+            "360522": "其它区",
+            "360600": "鹰潭市",
+            "360602": "月湖区",
+            "360622": "余江县",
+            "360681": "贵溪市",
+            "360682": "其它区",
+            "360700": "赣州市",
+            "360702": "章贡区",
+            "360721": "赣县",
+            "360722": "信丰县",
+            "360723": "大余县",
+            "360724": "上犹县",
+            "360725": "崇义县",
+            "360726": "安远县",
+            "360727": "龙南县",
+            "360728": "定南县",
+            "360729": "全南县",
+            "360730": "宁都县",
+            "360731": "于都县",
+            "360732": "兴国县",
+            "360733": "会昌县",
+            "360734": "寻乌县",
+            "360735": "石城县",
+            "360781": "瑞金市",
+            "360782": "南康市",
+            "360783": "其它区",
+            "360800": "吉安市",
+            "360802": "吉州区",
+            "360803": "青原区",
+            "360821": "吉安县",
+            "360822": "吉水县",
+            "360823": "峡江县",
+            "360824": "新干县",
+            "360825": "永丰县",
+            "360826": "泰和县",
+            "360827": "遂川县",
+            "360828": "万安县",
+            "360829": "安福县",
+            "360830": "永新县",
+            "360881": "井冈山市",
+            "360882": "其它区",
+            "360900": "宜春市",
+            "360902": "袁州区",
+            "360921": "奉新县",
+            "360922": "万载县",
+            "360923": "上高县",
+            "360924": "宜丰县",
+            "360925": "靖安县",
+            "360926": "铜鼓县",
+            "360981": "丰城市",
+            "360982": "樟树市",
+            "360983": "高安市",
+            "360984": "其它区",
+            "361000": "抚州市",
+            "361002": "临川区",
+            "361021": "南城县",
+            "361022": "黎川县",
+            "361023": "南丰县",
+            "361024": "崇仁县",
+            "361025": "乐安县",
+            "361026": "宜黄县",
+            "361027": "金溪县",
+            "361028": "资溪县",
+            "361029": "东乡县",
+            "361030": "广昌县",
+            "361031": "其它区",
+            "361100": "上饶市",
+            "361102": "信州区",
+            "361121": "上饶县",
+            "361122": "广丰县",
+            "361123": "玉山县",
+            "361124": "铅山县",
+            "361125": "横峰县",
+            "361126": "弋阳县",
+            "361127": "余干县",
+            "361128": "鄱阳县",
+            "361129": "万年县",
+            "361130": "婺源县",
+            "361181": "德兴市",
+            "361182": "其它区",
+            "370000": "山东省",
+            "370100": "济南市",
+            "370102": "历下区",
+            "370103": "市中区",
+            "370104": "槐荫区",
+            "370105": "天桥区",
+            "370112": "历城区",
+            "370113": "长清区",
+            "370124": "平阴县",
+            "370125": "济阳县",
+            "370126": "商河县",
+            "370181": "章丘市",
+            "370182": "其它区",
+            "370200": "青岛市",
+            "370202": "市南区",
+            "370203": "市北区",
+            "370211": "黄岛区",
+            "370212": "崂山区",
+            "370213": "李沧区",
+            "370214": "城阳区",
+            "370281": "胶州市",
+            "370282": "即墨市",
+            "370283": "平度市",
+            "370285": "莱西市",
+            "370286": "其它区",
+            "370300": "淄博市",
+            "370302": "淄川区",
+            "370303": "张店区",
+            "370304": "博山区",
+            "370305": "临淄区",
+            "370306": "周村区",
+            "370321": "桓台县",
+            "370322": "高青县",
+            "370323": "沂源县",
+            "370324": "其它区",
+            "370400": "枣庄市",
+            "370402": "市中区",
+            "370403": "薛城区",
+            "370404": "峄城区",
+            "370405": "台儿庄区",
+            "370406": "山亭区",
+            "370481": "滕州市",
+            "370482": "其它区",
+            "370500": "东营市",
+            "370502": "东营区",
+            "370503": "河口区",
+            "370521": "垦利县",
+            "370522": "利津县",
+            "370523": "广饶县",
+            "370591": "其它区",
+            "370600": "烟台市",
+            "370602": "芝罘区",
+            "370611": "福山区",
+            "370612": "牟平区",
+            "370613": "莱山区",
+            "370634": "长岛县",
+            "370681": "龙口市",
+            "370682": "莱阳市",
+            "370683": "莱州市",
+            "370684": "蓬莱市",
+            "370685": "招远市",
+            "370686": "栖霞市",
+            "370687": "海阳市",
+            "370688": "其它区",
+            "370700": "潍坊市",
+            "370702": "潍城区",
+            "370703": "寒亭区",
+            "370704": "坊子区",
+            "370705": "奎文区",
+            "370724": "临朐县",
+            "370725": "昌乐县",
+            "370781": "青州市",
+            "370782": "诸城市",
+            "370783": "寿光市",
+            "370784": "安丘市",
+            "370785": "高密市",
+            "370786": "昌邑市",
+            "370787": "其它区",
+            "370800": "济宁市",
+            "370802": "市中区",
+            "370811": "任城区",
+            "370826": "微山县",
+            "370827": "鱼台县",
+            "370828": "金乡县",
+            "370829": "嘉祥县",
+            "370830": "汶上县",
+            "370831": "泗水县",
+            "370832": "梁山县",
+            "370881": "曲阜市",
+            "370882": "兖州市",
+            "370883": "邹城市",
+            "370884": "其它区",
+            "370900": "泰安市",
+            "370902": "泰山区",
+            "370903": "岱岳区",
+            "370921": "宁阳县",
+            "370923": "东平县",
+            "370982": "新泰市",
+            "370983": "肥城市",
+            "370984": "其它区",
+            "371000": "威海市",
+            "371002": "环翠区",
+            "371081": "文登市",
+            "371082": "荣成市",
+            "371083": "乳山市",
+            "371084": "其它区",
+            "371100": "日照市",
+            "371102": "东港区",
+            "371103": "岚山区",
+            "371121": "五莲县",
+            "371122": "莒县",
+            "371123": "其它区",
+            "371200": "莱芜市",
+            "371202": "莱城区",
+            "371203": "钢城区",
+            "371204": "其它区",
+            "371300": "临沂市",
+            "371302": "兰山区",
+            "371311": "罗庄区",
+            "371312": "河东区",
+            "371321": "沂南县",
+            "371322": "郯城县",
+            "371323": "沂水县",
+            "371324": "苍山县",
+            "371325": "费县",
+            "371326": "平邑县",
+            "371327": "莒南县",
+            "371328": "蒙阴县",
+            "371329": "临沭县",
+            "371330": "其它区",
+            "371400": "德州市",
+            "371402": "德城区",
+            "371421": "陵县",
+            "371422": "宁津县",
+            "371423": "庆云县",
+            "371424": "临邑县",
+            "371425": "齐河县",
+            "371426": "平原县",
+            "371427": "夏津县",
+            "371428": "武城县",
+            "371481": "乐陵市",
+            "371482": "禹城市",
+            "371483": "其它区",
+            "371500": "聊城市",
+            "371502": "东昌府区",
+            "371521": "阳谷县",
+            "371522": "莘县",
+            "371523": "茌平县",
+            "371524": "东阿县",
+            "371525": "冠县",
+            "371526": "高唐县",
+            "371581": "临清市",
+            "371582": "其它区",
+            "371600": "滨州市",
+            "371602": "滨城区",
+            "371621": "惠民县",
+            "371622": "阳信县",
+            "371623": "无棣县",
+            "371624": "沾化县",
+            "371625": "博兴县",
+            "371626": "邹平县",
+            "371627": "其它区",
+            "371700": "菏泽市",
+            "371702": "牡丹区",
+            "371721": "曹县",
+            "371722": "单县",
+            "371723": "成武县",
+            "371724": "巨野县",
+            "371725": "郓城县",
+            "371726": "鄄城县",
+            "371727": "定陶县",
+            "371728": "东明县",
+            "371729": "其它区",
+            "410000": "河南省",
+            "410100": "郑州市",
+            "410102": "中原区",
+            "410103": "二七区",
+            "410104": "管城回族区",
+            "410105": "金水区",
+            "410106": "上街区",
+            "410108": "惠济区",
+            "410122": "中牟县",
+            "410181": "巩义市",
+            "410182": "荥阳市",
+            "410183": "新密市",
+            "410184": "新郑市",
+            "410185": "登封市",
+            "410188": "其它区",
+            "410200": "开封市",
+            "410202": "龙亭区",
+            "410203": "顺河回族区",
+            "410204": "鼓楼区",
+            "410205": "禹王台区",
+            "410211": "金明区",
+            "410221": "杞县",
+            "410222": "通许县",
+            "410223": "尉氏县",
+            "410224": "开封县",
+            "410225": "兰考县",
+            "410226": "其它区",
+            "410300": "洛阳市",
+            "410302": "老城区",
+            "410303": "西工区",
+            "410304": "瀍河回族区",
+            "410305": "涧西区",
+            "410306": "吉利区",
+            "410307": "洛龙区",
+            "410322": "孟津县",
+            "410323": "新安县",
+            "410324": "栾川县",
+            "410325": "嵩县",
+            "410326": "汝阳县",
+            "410327": "宜阳县",
+            "410328": "洛宁县",
+            "410329": "伊川县",
+            "410381": "偃师市",
+            "410400": "平顶山市",
+            "410402": "新华区",
+            "410403": "卫东区",
+            "410404": "石龙区",
+            "410411": "湛河区",
+            "410421": "宝丰县",
+            "410422": "叶县",
+            "410423": "鲁山县",
+            "410425": "郏县",
+            "410481": "舞钢市",
+            "410482": "汝州市",
+            "410483": "其它区",
+            "410500": "安阳市",
+            "410502": "文峰区",
+            "410503": "北关区",
+            "410505": "殷都区",
+            "410506": "龙安区",
+            "410522": "安阳县",
+            "410523": "汤阴县",
+            "410526": "滑县",
+            "410527": "内黄县",
+            "410581": "林州市",
+            "410582": "其它区",
+            "410600": "鹤壁市",
+            "410602": "鹤山区",
+            "410603": "山城区",
+            "410611": "淇滨区",
+            "410621": "浚县",
+            "410622": "淇县",
+            "410623": "其它区",
+            "410700": "新乡市",
+            "410702": "红旗区",
+            "410703": "卫滨区",
+            "410704": "凤泉区",
+            "410711": "牧野区",
+            "410721": "新乡县",
+            "410724": "获嘉县",
+            "410725": "原阳县",
+            "410726": "延津县",
+            "410727": "封丘县",
+            "410728": "长垣县",
+            "410781": "卫辉市",
+            "410782": "辉县市",
+            "410783": "其它区",
+            "410800": "焦作市",
+            "410802": "解放区",
+            "410803": "中站区",
+            "410804": "马村区",
+            "410811": "山阳区",
+            "410821": "修武县",
+            "410822": "博爱县",
+            "410823": "武陟县",
+            "410825": "温县",
+            "410881": "济源市",
+            "410882": "沁阳市",
+            "410883": "孟州市",
+            "410884": "其它区",
+            "410900": "濮阳市",
+            "410902": "华龙区",
+            "410922": "清丰县",
+            "410923": "南乐县",
+            "410926": "范县",
+            "410927": "台前县",
+            "410928": "濮阳县",
+            "410929": "其它区",
+            "411000": "许昌市",
+            "411002": "魏都区",
+            "411023": "许昌县",
+            "411024": "鄢陵县",
+            "411025": "襄城县",
+            "411081": "禹州市",
+            "411082": "长葛市",
+            "411083": "其它区",
+            "411100": "漯河市",
+            "411102": "源汇区",
+            "411103": "郾城区",
+            "411104": "召陵区",
+            "411121": "舞阳县",
+            "411122": "临颍县",
+            "411123": "其它区",
+            "411200": "三门峡市",
+            "411202": "湖滨区",
+            "411221": "渑池县",
+            "411222": "陕县",
+            "411224": "卢氏县",
+            "411281": "义马市",
+            "411282": "灵宝市",
+            "411283": "其它区",
+            "411300": "南阳市",
+            "411302": "宛城区",
+            "411303": "卧龙区",
+            "411321": "南召县",
+            "411322": "方城县",
+            "411323": "西峡县",
+            "411324": "镇平县",
+            "411325": "内乡县",
+            "411326": "淅川县",
+            "411327": "社旗县",
+            "411328": "唐河县",
+            "411329": "新野县",
+            "411330": "桐柏县",
+            "411381": "邓州市",
+            "411382": "其它区",
+            "411400": "商丘市",
+            "411402": "梁园区",
+            "411403": "睢阳区",
+            "411421": "民权县",
+            "411422": "睢县",
+            "411423": "宁陵县",
+            "411424": "柘城县",
+            "411425": "虞城县",
+            "411426": "夏邑县",
+            "411481": "永城市",
+            "411482": "其它区",
+            "411500": "信阳市",
+            "411502": "浉河区",
+            "411503": "平桥区",
+            "411521": "罗山县",
+            "411522": "光山县",
+            "411523": "新县",
+            "411524": "商城县",
+            "411525": "固始县",
+            "411526": "潢川县",
+            "411527": "淮滨县",
+            "411528": "息县",
+            "411529": "其它区",
+            "411600": "周口市",
+            "411602": "川汇区",
+            "411621": "扶沟县",
+            "411622": "西华县",
+            "411623": "商水县",
+            "411624": "沈丘县",
+            "411625": "郸城县",
+            "411626": "淮阳县",
+            "411627": "太康县",
+            "411628": "鹿邑县",
+            "411681": "项城市",
+            "411682": "其它区",
+            "411700": "驻马店市",
+            "411702": "驿城区",
+            "411721": "西平县",
+            "411722": "上蔡县",
+            "411723": "平舆县",
+            "411724": "正阳县",
+            "411725": "确山县",
+            "411726": "泌阳县",
+            "411727": "汝南县",
+            "411728": "遂平县",
+            "411729": "新蔡县",
+            "411730": "其它区",
+            "420000": "湖北省",
+            "420100": "武汉市",
+            "420102": "江岸区",
+            "420103": "江汉区",
+            "420104": "硚口区",
+            "420105": "汉阳区",
+            "420106": "武昌区",
+            "420107": "青山区",
+            "420111": "洪山区",
+            "420112": "东西湖区",
+            "420113": "汉南区",
+            "420114": "蔡甸区",
+            "420115": "江夏区",
+            "420116": "黄陂区",
+            "420117": "新洲区",
+            "420118": "其它区",
+            "420200": "黄石市",
+            "420202": "黄石港区",
+            "420203": "西塞山区",
+            "420204": "下陆区",
+            "420205": "铁山区",
+            "420222": "阳新县",
+            "420281": "大冶市",
+            "420282": "其它区",
+            "420300": "十堰市",
+            "420302": "茅箭区",
+            "420303": "张湾区",
+            "420321": "郧县",
+            "420322": "郧西县",
+            "420323": "竹山县",
+            "420324": "竹溪县",
+            "420325": "房县",
+            "420381": "丹江口市",
+            "420383": "其它区",
+            "420500": "宜昌市",
+            "420502": "西陵区",
+            "420503": "伍家岗区",
+            "420504": "点军区",
+            "420505": "猇亭区",
+            "420506": "夷陵区",
+            "420525": "远安县",
+            "420526": "兴山县",
+            "420527": "秭归县",
+            "420528": "长阳土家族自治县",
+            "420529": "五峰土家族自治县",
+            "420581": "宜都市",
+            "420582": "当阳市",
+            "420583": "枝江市",
+            "420584": "其它区",
+            "420600": "襄阳市",
+            "420602": "襄城区",
+            "420606": "樊城区",
+            "420607": "襄州区",
+            "420624": "南漳县",
+            "420625": "谷城县",
+            "420626": "保康县",
+            "420682": "老河口市",
+            "420683": "枣阳市",
+            "420684": "宜城市",
+            "420685": "其它区",
+            "420700": "鄂州市",
+            "420702": "梁子湖区",
+            "420703": "华容区",
+            "420704": "鄂城区",
+            "420705": "其它区",
+            "420800": "荆门市",
+            "420802": "东宝区",
+            "420804": "掇刀区",
+            "420821": "京山县",
+            "420822": "沙洋县",
+            "420881": "钟祥市",
+            "420882": "其它区",
+            "420900": "孝感市",
+            "420902": "孝南区",
+            "420921": "孝昌县",
+            "420922": "大悟县",
+            "420923": "云梦县",
+            "420981": "应城市",
+            "420982": "安陆市",
+            "420984": "汉川市",
+            "420985": "其它区",
+            "421000": "荆州市",
+            "421002": "沙市区",
+            "421003": "荆州区",
+            "421022": "公安县",
+            "421023": "监利县",
+            "421024": "江陵县",
+            "421081": "石首市",
+            "421083": "洪湖市",
+            "421087": "松滋市",
+            "421088": "其它区",
+            "421100": "黄冈市",
+            "421102": "黄州区",
+            "421121": "团风县",
+            "421122": "红安县",
+            "421123": "罗田县",
+            "421124": "英山县",
+            "421125": "浠水县",
+            "421126": "蕲春县",
+            "421127": "黄梅县",
+            "421181": "麻城市",
+            "421182": "武穴市",
+            "421183": "其它区",
+            "421200": "咸宁市",
+            "421202": "咸安区",
+            "421221": "嘉鱼县",
+            "421222": "通城县",
+            "421223": "崇阳县",
+            "421224": "通山县",
+            "421281": "赤壁市",
+            "421283": "其它区",
+            "421300": "随州市",
+            "421302": "曾都区",
+            "421321": "随县",
+            "421381": "广水市",
+            "421382": "其它区",
+            "422800": "恩施土家族苗族自治州",
+            "422801": "恩施市",
+            "422802": "利川市",
+            "422822": "建始县",
+            "422823": "巴东县",
+            "422825": "宣恩县",
+            "422826": "咸丰县",
+            "422827": "来凤县",
+            "422828": "鹤峰县",
+            "422829": "其它区",
+            "429004": "仙桃市",
+            "429005": "潜江市",
+            "429006": "天门市",
+            "429021": "神农架林区",
+            "430000": "湖南省",
+            "430100": "长沙市",
+            "430102": "芙蓉区",
+            "430103": "天心区",
+            "430104": "岳麓区",
+            "430105": "开福区",
+            "430111": "雨花区",
+            "430121": "长沙县",
+            "430122": "望城区",
+            "430124": "宁乡县",
+            "430181": "浏阳市",
+            "430182": "其它区",
+            "430200": "株洲市",
+            "430202": "荷塘区",
+            "430203": "芦淞区",
+            "430204": "石峰区",
+            "430211": "天元区",
+            "430221": "株洲县",
+            "430223": "攸县",
+            "430224": "茶陵县",
+            "430225": "炎陵县",
+            "430281": "醴陵市",
+            "430282": "其它区",
+            "430300": "湘潭市",
+            "430302": "雨湖区",
+            "430304": "岳塘区",
+            "430321": "湘潭县",
+            "430381": "湘乡市",
+            "430382": "韶山市",
+            "430383": "其它区",
+            "430400": "衡阳市",
+            "430405": "珠晖区",
+            "430406": "雁峰区",
+            "430407": "石鼓区",
+            "430408": "蒸湘区",
+            "430412": "南岳区",
+            "430421": "衡阳县",
+            "430422": "衡南县",
+            "430423": "衡山县",
+            "430424": "衡东县",
+            "430426": "祁东县",
+            "430481": "耒阳市",
+            "430482": "常宁市",
+            "430483": "其它区",
+            "430500": "邵阳市",
+            "430502": "双清区",
+            "430503": "大祥区",
+            "430511": "北塔区",
+            "430521": "邵东县",
+            "430522": "新邵县",
+            "430523": "邵阳县",
+            "430524": "隆回县",
+            "430525": "洞口县",
+            "430527": "绥宁县",
+            "430528": "新宁县",
+            "430529": "城步苗族自治县",
+            "430581": "武冈市",
+            "430582": "其它区",
+            "430600": "岳阳市",
+            "430602": "岳阳楼区",
+            "430603": "云溪区",
+            "430611": "君山区",
+            "430621": "岳阳县",
+            "430623": "华容县",
+            "430624": "湘阴县",
+            "430626": "平江县",
+            "430681": "汨罗市",
+            "430682": "临湘市",
+            "430683": "其它区",
+            "430700": "常德市",
+            "430702": "武陵区",
+            "430703": "鼎城区",
+            "430721": "安乡县",
+            "430722": "汉寿县",
+            "430723": "澧县",
+            "430724": "临澧县",
+            "430725": "桃源县",
+            "430726": "石门县",
+            "430781": "津市市",
+            "430782": "其它区",
+            "430800": "张家界市",
+            "430802": "永定区",
+            "430811": "武陵源区",
+            "430821": "慈利县",
+            "430822": "桑植县",
+            "430823": "其它区",
+            "430900": "益阳市",
+            "430902": "资阳区",
+            "430903": "赫山区",
+            "430921": "南县",
+            "430922": "桃江县",
+            "430923": "安化县",
+            "430981": "沅江市",
+            "430982": "其它区",
+            "431000": "郴州市",
+            "431002": "北湖区",
+            "431003": "苏仙区",
+            "431021": "桂阳县",
+            "431022": "宜章县",
+            "431023": "永兴县",
+            "431024": "嘉禾县",
+            "431025": "临武县",
+            "431026": "汝城县",
+            "431027": "桂东县",
+            "431028": "安仁县",
+            "431081": "资兴市",
+            "431082": "其它区",
+            "431100": "永州市",
+            "431102": "零陵区",
+            "431103": "冷水滩区",
+            "431121": "祁阳县",
+            "431122": "东安县",
+            "431123": "双牌县",
+            "431124": "道县",
+            "431125": "江永县",
+            "431126": "宁远县",
+            "431127": "蓝山县",
+            "431128": "新田县",
+            "431129": "江华瑶族自治县",
+            "431130": "其它区",
+            "431200": "怀化市",
+            "431202": "鹤城区",
+            "431221": "中方县",
+            "431222": "沅陵县",
+            "431223": "辰溪县",
+            "431224": "溆浦县",
+            "431225": "会同县",
+            "431226": "麻阳苗族自治县",
+            "431227": "新晃侗族自治县",
+            "431228": "芷江侗族自治县",
+            "431229": "靖州苗族侗族自治县",
+            "431230": "通道侗族自治县",
+            "431281": "洪江市",
+            "431282": "其它区",
+            "431300": "娄底市",
+            "431302": "娄星区",
+            "431321": "双峰县",
+            "431322": "新化县",
+            "431381": "冷水江市",
+            "431382": "涟源市",
+            "431383": "其它区",
+            "433100": "湘西土家族苗族自治州",
+            "433101": "吉首市",
+            "433122": "泸溪县",
+            "433123": "凤凰县",
+            "433124": "花垣县",
+            "433125": "保靖县",
+            "433126": "古丈县",
+            "433127": "永顺县",
+            "433130": "龙山县",
+            "433131": "其它区",
+            "440000": "广东省",
+            "440100": "广州市",
+            "440103": "荔湾区",
+            "440104": "越秀区",
+            "440105": "海珠区",
+            "440106": "天河区",
+            "440111": "白云区",
+            "440112": "黄埔区",
+            "440113": "番禺区",
+            "440114": "花都区",
+            "440115": "南沙区",
+            "440116": "萝岗区",
+            "440183": "增城市",
+            "440184": "从化市",
+            "440189": "其它区",
+            "440200": "韶关市",
+            "440203": "武江区",
+            "440204": "浈江区",
+            "440205": "曲江区",
+            "440222": "始兴县",
+            "440224": "仁化县",
+            "440229": "翁源县",
+            "440232": "乳源瑶族自治县",
+            "440233": "新丰县",
+            "440281": "乐昌市",
+            "440282": "南雄市",
+            "440283": "其它区",
+            "440300": "深圳市",
+            "440303": "罗湖区",
+            "440304": "福田区",
+            "440305": "南山区",
+            "440306": "宝安区",
+            "440307": "龙岗区",
+            "440308": "盐田区",
+            "440309": "其它区",
+            "440320": "光明新区",
+            "440321": "坪山新区",
+            "440322": "大鹏新区",
+            "440323": "龙华新区",
+            "440400": "珠海市",
+            "440402": "香洲区",
+            "440403": "斗门区",
+            "440404": "金湾区",
+            "440488": "其它区",
+            "440500": "汕头市",
+            "440507": "龙湖区",
+            "440511": "金平区",
+            "440512": "濠江区",
+            "440513": "潮阳区",
+            "440514": "潮南区",
+            "440515": "澄海区",
+            "440523": "南澳县",
+            "440524": "其它区",
+            "440600": "佛山市",
+            "440604": "禅城区",
+            "440605": "南海区",
+            "440606": "顺德区",
+            "440607": "三水区",
+            "440608": "高明区",
+            "440609": "其它区",
+            "440700": "江门市",
+            "440703": "蓬江区",
+            "440704": "江海区",
+            "440705": "新会区",
+            "440781": "台山市",
+            "440783": "开平市",
+            "440784": "鹤山市",
+            "440785": "恩平市",
+            "440786": "其它区",
+            "440800": "湛江市",
+            "440802": "赤坎区",
+            "440803": "霞山区",
+            "440804": "坡头区",
+            "440811": "麻章区",
+            "440823": "遂溪县",
+            "440825": "徐闻县",
+            "440881": "廉江市",
+            "440882": "雷州市",
+            "440883": "吴川市",
+            "440884": "其它区",
+            "440900": "茂名市",
+            "440902": "茂南区",
+            "440903": "茂港区",
+            "440923": "电白县",
+            "440981": "高州市",
+            "440982": "化州市",
+            "440983": "信宜市",
+            "440984": "其它区",
+            "441200": "肇庆市",
+            "441202": "端州区",
+            "441203": "鼎湖区",
+            "441223": "广宁县",
+            "441224": "怀集县",
+            "441225": "封开县",
+            "441226": "德庆县",
+            "441283": "高要市",
+            "441284": "四会市",
+            "441285": "其它区",
+            "441300": "惠州市",
+            "441302": "惠城区",
+            "441303": "惠阳区",
+            "441322": "博罗县",
+            "441323": "惠东县",
+            "441324": "龙门县",
+            "441325": "其它区",
+            "441400": "梅州市",
+            "441402": "梅江区",
+            "441421": "梅县",
+            "441422": "大埔县",
+            "441423": "丰顺县",
+            "441424": "五华县",
+            "441426": "平远县",
+            "441427": "蕉岭县",
+            "441481": "兴宁市",
+            "441482": "其它区",
+            "441500": "汕尾市",
+            "441502": "城区",
+            "441521": "海丰县",
+            "441523": "陆河县",
+            "441581": "陆丰市",
+            "441582": "其它区",
+            "441600": "河源市",
+            "441602": "源城区",
+            "441621": "紫金县",
+            "441622": "龙川县",
+            "441623": "连平县",
+            "441624": "和平县",
+            "441625": "东源县",
+            "441626": "其它区",
+            "441700": "阳江市",
+            "441702": "江城区",
+            "441721": "阳西县",
+            "441723": "阳东县",
+            "441781": "阳春市",
+            "441782": "其它区",
+            "441800": "清远市",
+            "441802": "清城区",
+            "441821": "佛冈县",
+            "441823": "阳山县",
+            "441825": "连山壮族瑶族自治县",
+            "441826": "连南瑶族自治县",
+            "441827": "清新区",
+            "441881": "英德市",
+            "441882": "连州市",
+            "441883": "其它区",
+            "441900": "东莞市",
+            "442000": "中山市",
+            "442101": "东沙群岛",
+            "445100": "潮州市",
+            "445102": "湘桥区",
+            "445121": "潮安区",
+            "445122": "饶平县",
+            "445186": "其它区",
+            "445200": "揭阳市",
+            "445202": "榕城区",
+            "445221": "揭东区",
+            "445222": "揭西县",
+            "445224": "惠来县",
+            "445281": "普宁市",
+            "445285": "其它区",
+            "445300": "云浮市",
+            "445302": "云城区",
+            "445321": "新兴县",
+            "445322": "郁南县",
+            "445323": "云安县",
+            "445381": "罗定市",
+            "445382": "其它区",
+            "450000": "广西壮族自治区",
+            "450100": "南宁市",
+            "450102": "兴宁区",
+            "450103": "青秀区",
+            "450105": "江南区",
+            "450107": "西乡塘区",
+            "450108": "良庆区",
+            "450109": "邕宁区",
+            "450122": "武鸣县",
+            "450123": "隆安县",
+            "450124": "马山县",
+            "450125": "上林县",
+            "450126": "宾阳县",
+            "450127": "横县",
+            "450128": "其它区",
+            "450200": "柳州市",
+            "450202": "城中区",
+            "450203": "鱼峰区",
+            "450204": "柳南区",
+            "450205": "柳北区",
+            "450221": "柳江县",
+            "450222": "柳城县",
+            "450223": "鹿寨县",
+            "450224": "融安县",
+            "450225": "融水苗族自治县",
+            "450226": "三江侗族自治县",
+            "450227": "其它区",
+            "450300": "桂林市",
+            "450302": "秀峰区",
+            "450303": "叠彩区",
+            "450304": "象山区",
+            "450305": "七星区",
+            "450311": "雁山区",
+            "450321": "阳朔县",
+            "450322": "临桂区",
+            "450323": "灵川县",
+            "450324": "全州县",
+            "450325": "兴安县",
+            "450326": "永福县",
+            "450327": "灌阳县",
+            "450328": "龙胜各族自治县",
+            "450329": "资源县",
+            "450330": "平乐县",
+            "450331": "荔浦县",
+            "450332": "恭城瑶族自治县",
+            "450333": "其它区",
+            "450400": "梧州市",
+            "450403": "万秀区",
+            "450405": "长洲区",
+            "450406": "龙圩区",
+            "450421": "苍梧县",
+            "450422": "藤县",
+            "450423": "蒙山县",
+            "450481": "岑溪市",
+            "450482": "其它区",
+            "450500": "北海市",
+            "450502": "海城区",
+            "450503": "银海区",
+            "450512": "铁山港区",
+            "450521": "合浦县",
+            "450522": "其它区",
+            "450600": "防城港市",
+            "450602": "港口区",
+            "450603": "防城区",
+            "450621": "上思县",
+            "450681": "东兴市",
+            "450682": "其它区",
+            "450700": "钦州市",
+            "450702": "钦南区",
+            "450703": "钦北区",
+            "450721": "灵山县",
+            "450722": "浦北县",
+            "450723": "其它区",
+            "450800": "贵港市",
+            "450802": "港北区",
+            "450803": "港南区",
+            "450804": "覃塘区",
+            "450821": "平南县",
+            "450881": "桂平市",
+            "450882": "其它区",
+            "450900": "玉林市",
+            "450902": "玉州区",
+            "450903": "福绵区",
+            "450921": "容县",
+            "450922": "陆川县",
+            "450923": "博白县",
+            "450924": "兴业县",
+            "450981": "北流市",
+            "450982": "其它区",
+            "451000": "百色市",
+            "451002": "右江区",
+            "451021": "田阳县",
+            "451022": "田东县",
+            "451023": "平果县",
+            "451024": "德保县",
+            "451025": "靖西县",
+            "451026": "那坡县",
+            "451027": "凌云县",
+            "451028": "乐业县",
+            "451029": "田林县",
+            "451030": "西林县",
+            "451031": "隆林各族自治县",
+            "451032": "其它区",
+            "451100": "贺州市",
+            "451102": "八步区",
+            "451119": "平桂管理区",
+            "451121": "昭平县",
+            "451122": "钟山县",
+            "451123": "富川瑶族自治县",
+            "451124": "其它区",
+            "451200": "河池市",
+            "451202": "金城江区",
+            "451221": "南丹县",
+            "451222": "天峨县",
+            "451223": "凤山县",
+            "451224": "东兰县",
+            "451225": "罗城仫佬族自治县",
+            "451226": "环江毛南族自治县",
+            "451227": "巴马瑶族自治县",
+            "451228": "都安瑶族自治县",
+            "451229": "大化瑶族自治县",
+            "451281": "宜州市",
+            "451282": "其它区",
+            "451300": "来宾市",
+            "451302": "兴宾区",
+            "451321": "忻城县",
+            "451322": "象州县",
+            "451323": "武宣县",
+            "451324": "金秀瑶族自治县",
+            "451381": "合山市",
+            "451382": "其它区",
+            "451400": "崇左市",
+            "451402": "江州区",
+            "451421": "扶绥县",
+            "451422": "宁明县",
+            "451423": "龙州县",
+            "451424": "大新县",
+            "451425": "天等县",
+            "451481": "凭祥市",
+            "451482": "其它区",
+            "460000": "海南省",
+            "460100": "海口市",
+            "460105": "秀英区",
+            "460106": "龙华区",
+            "460107": "琼山区",
+            "460108": "美兰区",
+            "460109": "其它区",
+            "460200": "三亚市",
+            "460300": "三沙市",
+            "460321": "西沙群岛",
+            "460322": "南沙群岛",
+            "460323": "中沙群岛的岛礁及其海域",
+            "469001": "五指山市",
+            "469002": "琼海市",
+            "469003": "儋州市",
+            "469005": "文昌市",
+            "469006": "万宁市",
+            "469007": "东方市",
+            "469025": "定安县",
+            "469026": "屯昌县",
+            "469027": "澄迈县",
+            "469028": "临高县",
+            "469030": "白沙黎族自治县",
+            "469031": "昌江黎族自治县",
+            "469033": "乐东黎族自治县",
+            "469034": "陵水黎族自治县",
+            "469035": "保亭黎族苗族自治县",
+            "469036": "琼中黎族苗族自治县",
+            "471005": "其它区",
+            "500000": "重庆",
+            "500100": "重庆市",
+            "500101": "万州区",
+            "500102": "涪陵区",
+            "500103": "渝中区",
+            "500104": "大渡口区",
+            "500105": "江北区",
+            "500106": "沙坪坝区",
+            "500107": "九龙坡区",
+            "500108": "南岸区",
+            "500109": "北碚区",
+            "500110": "万盛区",
+            "500111": "双桥区",
+            "500112": "渝北区",
+            "500113": "巴南区",
+            "500114": "黔江区",
+            "500115": "长寿区",
+            "500222": "綦江区",
+            "500223": "潼南县",
+            "500224": "铜梁县",
+            "500225": "大足区",
+            "500226": "荣昌县",
+            "500227": "璧山县",
+            "500228": "梁平县",
+            "500229": "城口县",
+            "500230": "丰都县",
+            "500231": "垫江县",
+            "500232": "武隆县",
+            "500233": "忠县",
+            "500234": "开县",
+            "500235": "云阳县",
+            "500236": "奉节县",
+            "500237": "巫山县",
+            "500238": "巫溪县",
+            "500240": "石柱土家族自治县",
+            "500241": "秀山土家族苗族自治县",
+            "500242": "酉阳土家族苗族自治县",
+            "500243": "彭水苗族土家族自治县",
+            "500381": "江津区",
+            "500382": "合川区",
+            "500383": "永川区",
+            "500384": "南川区",
+            "500385": "其它区",
+            "510000": "四川省",
+            "510100": "成都市",
+            "510104": "锦江区",
+            "510105": "青羊区",
+            "510106": "金牛区",
+            "510107": "武侯区",
+            "510108": "成华区",
+            "510112": "龙泉驿区",
+            "510113": "青白江区",
+            "510114": "新都区",
+            "510115": "温江区",
+            "510121": "金堂县",
+            "510122": "双流县",
+            "510124": "郫县",
+            "510129": "大邑县",
+            "510131": "蒲江县",
+            "510132": "新津县",
+            "510181": "都江堰市",
+            "510182": "彭州市",
+            "510183": "邛崃市",
+            "510184": "崇州市",
+            "510185": "其它区",
+            "510300": "自贡市",
+            "510302": "自流井区",
+            "510303": "贡井区",
+            "510304": "大安区",
+            "510311": "沿滩区",
+            "510321": "荣县",
+            "510322": "富顺县",
+            "510323": "其它区",
+            "510400": "攀枝花市",
+            "510402": "东区",
+            "510403": "西区",
+            "510411": "仁和区",
+            "510421": "米易县",
+            "510422": "盐边县",
+            "510423": "其它区",
+            "510500": "泸州市",
+            "510502": "江阳区",
+            "510503": "纳溪区",
+            "510504": "龙马潭区",
+            "510521": "泸县",
+            "510522": "合江县",
+            "510524": "叙永县",
+            "510525": "古蔺县",
+            "510526": "其它区",
+            "510600": "德阳市",
+            "510603": "旌阳区",
+            "510623": "中江县",
+            "510626": "罗江县",
+            "510681": "广汉市",
+            "510682": "什邡市",
+            "510683": "绵竹市",
+            "510684": "其它区",
+            "510700": "绵阳市",
+            "510703": "涪城区",
+            "510704": "游仙区",
+            "510722": "三台县",
+            "510723": "盐亭县",
+            "510724": "安县",
+            "510725": "梓潼县",
+            "510726": "北川羌族自治县",
+            "510727": "平武县",
+            "510781": "江油市",
+            "510782": "其它区",
+            "510800": "广元市",
+            "510802": "利州区",
+            "510811": "昭化区",
+            "510812": "朝天区",
+            "510821": "旺苍县",
+            "510822": "青川县",
+            "510823": "剑阁县",
+            "510824": "苍溪县",
+            "510825": "其它区",
+            "510900": "遂宁市",
+            "510903": "船山区",
+            "510904": "安居区",
+            "510921": "蓬溪县",
+            "510922": "射洪县",
+            "510923": "大英县",
+            "510924": "其它区",
+            "511000": "内江市",
+            "511002": "市中区",
+            "511011": "东兴区",
+            "511024": "威远县",
+            "511025": "资中县",
+            "511028": "隆昌县",
+            "511029": "其它区",
+            "511100": "乐山市",
+            "511102": "市中区",
+            "511111": "沙湾区",
+            "511112": "五通桥区",
+            "511113": "金口河区",
+            "511123": "犍为县",
+            "511124": "井研县",
+            "511126": "夹江县",
+            "511129": "沐川县",
+            "511132": "峨边彝族自治县",
+            "511133": "马边彝族自治县",
+            "511181": "峨眉山市",
+            "511182": "其它区",
+            "511300": "南充市",
+            "511302": "顺庆区",
+            "511303": "高坪区",
+            "511304": "嘉陵区",
+            "511321": "南部县",
+            "511322": "营山县",
+            "511323": "蓬安县",
+            "511324": "仪陇县",
+            "511325": "西充县",
+            "511381": "阆中市",
+            "511382": "其它区",
+            "511400": "眉山市",
+            "511402": "东坡区",
+            "511421": "仁寿县",
+            "511422": "彭山县",
+            "511423": "洪雅县",
+            "511424": "丹棱县",
+            "511425": "青神县",
+            "511426": "其它区",
+            "511500": "宜宾市",
+            "511502": "翠屏区",
+            "511521": "宜宾县",
+            "511522": "南溪区",
+            "511523": "江安县",
+            "511524": "长宁县",
+            "511525": "高县",
+            "511526": "珙县",
+            "511527": "筠连县",
+            "511528": "兴文县",
+            "511529": "屏山县",
+            "511530": "其它区",
+            "511600": "广安市",
+            "511602": "广安区",
+            "511603": "前锋区",
+            "511621": "岳池县",
+            "511622": "武胜县",
+            "511623": "邻水县",
+            "511681": "华蓥市",
+            "511683": "其它区",
+            "511700": "达州市",
+            "511702": "通川区",
+            "511721": "达川区",
+            "511722": "宣汉县",
+            "511723": "开江县",
+            "511724": "大竹县",
+            "511725": "渠县",
+            "511781": "万源市",
+            "511782": "其它区",
+            "511800": "雅安市",
+            "511802": "雨城区",
+            "511821": "名山区",
+            "511822": "荥经县",
+            "511823": "汉源县",
+            "511824": "石棉县",
+            "511825": "天全县",
+            "511826": "芦山县",
+            "511827": "宝兴县",
+            "511828": "其它区",
+            "511900": "巴中市",
+            "511902": "巴州区",
+            "511903": "恩阳区",
+            "511921": "通江县",
+            "511922": "南江县",
+            "511923": "平昌县",
+            "511924": "其它区",
+            "512000": "资阳市",
+            "512002": "雁江区",
+            "512021": "安岳县",
+            "512022": "乐至县",
+            "512081": "简阳市",
+            "512082": "其它区",
+            "513200": "阿坝藏族羌族自治州",
+            "513221": "汶川县",
+            "513222": "理县",
+            "513223": "茂县",
+            "513224": "松潘县",
+            "513225": "九寨沟县",
+            "513226": "金川县",
+            "513227": "小金县",
+            "513228": "黑水县",
+            "513229": "马尔康县",
+            "513230": "壤塘县",
+            "513231": "阿坝县",
+            "513232": "若尔盖县",
+            "513233": "红原县",
+            "513234": "其它区",
+            "513300": "甘孜藏族自治州",
+            "513321": "康定县",
+            "513322": "泸定县",
+            "513323": "丹巴县",
+            "513324": "九龙县",
+            "513325": "雅江县",
+            "513326": "道孚县",
+            "513327": "炉霍县",
+            "513328": "甘孜县",
+            "513329": "新龙县",
+            "513330": "德格县",
+            "513331": "白玉县",
+            "513332": "石渠县",
+            "513333": "色达县",
+            "513334": "理塘县",
+            "513335": "巴塘县",
+            "513336": "乡城县",
+            "513337": "稻城县",
+            "513338": "得荣县",
+            "513339": "其它区",
+            "513400": "凉山彝族自治州",
+            "513401": "西昌市",
+            "513422": "木里藏族自治县",
+            "513423": "盐源县",
+            "513424": "德昌县",
+            "513425": "会理县",
+            "513426": "会东县",
+            "513427": "宁南县",
+            "513428": "普格县",
+            "513429": "布拖县",
+            "513430": "金阳县",
+            "513431": "昭觉县",
+            "513432": "喜德县",
+            "513433": "冕宁县",
+            "513434": "越西县",
+            "513435": "甘洛县",
+            "513436": "美姑县",
+            "513437": "雷波县",
+            "513438": "其它区",
+            "520000": "贵州省",
+            "520100": "贵阳市",
+            "520102": "南明区",
+            "520103": "云岩区",
+            "520111": "花溪区",
+            "520112": "乌当区",
+            "520113": "白云区",
+            "520121": "开阳县",
+            "520122": "息烽县",
+            "520123": "修文县",
+            "520151": "观山湖区",
+            "520181": "清镇市",
+            "520182": "其它区",
+            "520200": "六盘水市",
+            "520201": "钟山区",
+            "520203": "六枝特区",
+            "520221": "水城县",
+            "520222": "盘县",
+            "520223": "其它区",
+            "520300": "遵义市",
+            "520302": "红花岗区",
+            "520303": "汇川区",
+            "520321": "遵义县",
+            "520322": "桐梓县",
+            "520323": "绥阳县",
+            "520324": "正安县",
+            "520325": "道真仡佬族苗族自治县",
+            "520326": "务川仡佬族苗族自治县",
+            "520327": "凤冈县",
+            "520328": "湄潭县",
+            "520329": "余庆县",
+            "520330": "习水县",
+            "520381": "赤水市",
+            "520382": "仁怀市",
+            "520383": "其它区",
+            "520400": "安顺市",
+            "520402": "西秀区",
+            "520421": "平坝县",
+            "520422": "普定县",
+            "520423": "镇宁布依族苗族自治县",
+            "520424": "关岭布依族苗族自治县",
+            "520425": "紫云苗族布依族自治县",
+            "520426": "其它区",
+            "522200": "铜仁市",
+            "522201": "碧江区",
+            "522222": "江口县",
+            "522223": "玉屏侗族自治县",
+            "522224": "石阡县",
+            "522225": "思南县",
+            "522226": "印江土家族苗族自治县",
+            "522227": "德江县",
+            "522228": "沿河土家族自治县",
+            "522229": "松桃苗族自治县",
+            "522230": "万山区",
+            "522231": "其它区",
+            "522300": "黔西南布依族苗族自治州",
+            "522301": "兴义市",
+            "522322": "兴仁县",
+            "522323": "普安县",
+            "522324": "晴隆县",
+            "522325": "贞丰县",
+            "522326": "望谟县",
+            "522327": "册亨县",
+            "522328": "安龙县",
+            "522329": "其它区",
+            "522400": "毕节市",
+            "522401": "七星关区",
+            "522422": "大方县",
+            "522423": "黔西县",
+            "522424": "金沙县",
+            "522425": "织金县",
+            "522426": "纳雍县",
+            "522427": "威宁彝族回族苗族自治县",
+            "522428": "赫章县",
+            "522429": "其它区",
+            "522600": "黔东南苗族侗族自治州",
+            "522601": "凯里市",
+            "522622": "黄平县",
+            "522623": "施秉县",
+            "522624": "三穗县",
+            "522625": "镇远县",
+            "522626": "岑巩县",
+            "522627": "天柱县",
+            "522628": "锦屏县",
+            "522629": "剑河县",
+            "522630": "台江县",
+            "522631": "黎平县",
+            "522632": "榕江县",
+            "522633": "从江县",
+            "522634": "雷山县",
+            "522635": "麻江县",
+            "522636": "丹寨县",
+            "522637": "其它区",
+            "522700": "黔南布依族苗族自治州",
+            "522701": "都匀市",
+            "522702": "福泉市",
+            "522722": "荔波县",
+            "522723": "贵定县",
+            "522725": "瓮安县",
+            "522726": "独山县",
+            "522727": "平塘县",
+            "522728": "罗甸县",
+            "522729": "长顺县",
+            "522730": "龙里县",
+            "522731": "惠水县",
+            "522732": "三都水族自治县",
+            "522733": "其它区",
+            "530000": "云南省",
+            "530100": "昆明市",
+            "530102": "五华区",
+            "530103": "盘龙区",
+            "530111": "官渡区",
+            "530112": "西山区",
+            "530113": "东川区",
+            "530121": "呈贡区",
+            "530122": "晋宁县",
+            "530124": "富民县",
+            "530125": "宜良县",
+            "530126": "石林彝族自治县",
+            "530127": "嵩明县",
+            "530128": "禄劝彝族苗族自治县",
+            "530129": "寻甸回族彝族自治县",
+            "530181": "安宁市",
+            "530182": "其它区",
+            "530300": "曲靖市",
+            "530302": "麒麟区",
+            "530321": "马龙县",
+            "530322": "陆良县",
+            "530323": "师宗县",
+            "530324": "罗平县",
+            "530325": "富源县",
+            "530326": "会泽县",
+            "530328": "沾益县",
+            "530381": "宣威市",
+            "530382": "其它区",
+            "530400": "玉溪市",
+            "530402": "红塔区",
+            "530421": "江川县",
+            "530422": "澄江县",
+            "530423": "通海县",
+            "530424": "华宁县",
+            "530425": "易门县",
+            "530426": "峨山彝族自治县",
+            "530427": "新平彝族傣族自治县",
+            "530428": "元江哈尼族彝族傣族自治县",
+            "530429": "其它区",
+            "530500": "保山市",
+            "530502": "隆阳区",
+            "530521": "施甸县",
+            "530522": "腾冲县",
+            "530523": "龙陵县",
+            "530524": "昌宁县",
+            "530525": "其它区",
+            "530600": "昭通市",
+            "530602": "昭阳区",
+            "530621": "鲁甸县",
+            "530622": "巧家县",
+            "530623": "盐津县",
+            "530624": "大关县",
+            "530625": "永善县",
+            "530626": "绥江县",
+            "530627": "镇雄县",
+            "530628": "彝良县",
+            "530629": "威信县",
+            "530630": "水富县",
+            "530631": "其它区",
+            "530700": "丽江市",
+            "530702": "古城区",
+            "530721": "玉龙纳西族自治县",
+            "530722": "永胜县",
+            "530723": "华坪县",
+            "530724": "宁蒗彝族自治县",
+            "530725": "其它区",
+            "530800": "普洱市",
+            "530802": "思茅区",
+            "530821": "宁洱哈尼族彝族自治县",
+            "530822": "墨江哈尼族自治县",
+            "530823": "景东彝族自治县",
+            "530824": "景谷傣族彝族自治县",
+            "530825": "镇沅彝族哈尼族拉祜族自治县",
+            "530826": "江城哈尼族彝族自治县",
+            "530827": "孟连傣族拉祜族佤族自治县",
+            "530828": "澜沧拉祜族自治县",
+            "530829": "西盟佤族自治县",
+            "530830": "其它区",
+            "530900": "临沧市",
+            "530902": "临翔区",
+            "530921": "凤庆县",
+            "530922": "云县",
+            "530923": "永德县",
+            "530924": "镇康县",
+            "530925": "双江拉祜族佤族布朗族傣族自治县",
+            "530926": "耿马傣族佤族自治县",
+            "530927": "沧源佤族自治县",
+            "530928": "其它区",
+            "532300": "楚雄彝族自治州",
+            "532301": "楚雄市",
+            "532322": "双柏县",
+            "532323": "牟定县",
+            "532324": "南华县",
+            "532325": "姚安县",
+            "532326": "大姚县",
+            "532327": "永仁县",
+            "532328": "元谋县",
+            "532329": "武定县",
+            "532331": "禄丰县",
+            "532332": "其它区",
+            "532500": "红河哈尼族彝族自治州",
+            "532501": "个旧市",
+            "532502": "开远市",
+            "532522": "蒙自市",
+            "532523": "屏边苗族自治县",
+            "532524": "建水县",
+            "532525": "石屏县",
+            "532526": "弥勒市",
+            "532527": "泸西县",
+            "532528": "元阳县",
+            "532529": "红河县",
+            "532530": "金平苗族瑶族傣族自治县",
+            "532531": "绿春县",
+            "532532": "河口瑶族自治县",
+            "532533": "其它区",
+            "532600": "文山壮族苗族自治州",
+            "532621": "文山市",
+            "532622": "砚山县",
+            "532623": "西畴县",
+            "532624": "麻栗坡县",
+            "532625": "马关县",
+            "532626": "丘北县",
+            "532627": "广南县",
+            "532628": "富宁县",
+            "532629": "其它区",
+            "532800": "西双版纳傣族自治州",
+            "532801": "景洪市",
+            "532822": "勐海县",
+            "532823": "勐腊县",
+            "532824": "其它区",
+            "532900": "大理白族自治州",
+            "532901": "大理市",
+            "532922": "漾濞彝族自治县",
+            "532923": "祥云县",
+            "532924": "宾川县",
+            "532925": "弥渡县",
+            "532926": "南涧彝族自治县",
+            "532927": "巍山彝族回族自治县",
+            "532928": "永平县",
+            "532929": "云龙县",
+            "532930": "洱源县",
+            "532931": "剑川县",
+            "532932": "鹤庆县",
+            "532933": "其它区",
+            "533100": "德宏傣族景颇族自治州",
+            "533102": "瑞丽市",
+            "533103": "芒市",
+            "533122": "梁河县",
+            "533123": "盈江县",
+            "533124": "陇川县",
+            "533125": "其它区",
+            "533300": "怒江傈僳族自治州",
+            "533321": "泸水县",
+            "533323": "福贡县",
+            "533324": "贡山独龙族怒族自治县",
+            "533325": "兰坪白族普米族自治县",
+            "533326": "其它区",
+            "533400": "迪庆藏族自治州",
+            "533421": "香格里拉县",
+            "533422": "德钦县",
+            "533423": "维西傈僳族自治县",
+            "533424": "其它区",
+            "540000": "西藏自治区",
+            "540100": "拉萨市",
+            "540102": "城关区",
+            "540121": "林周县",
+            "540122": "当雄县",
+            "540123": "尼木县",
+            "540124": "曲水县",
+            "540125": "堆龙德庆县",
+            "540126": "达孜县",
+            "540127": "墨竹工卡县",
+            "540128": "其它区",
+            "542100": "昌都地区",
+            "542121": "昌都县",
+            "542122": "江达县",
+            "542123": "贡觉县",
+            "542124": "类乌齐县",
+            "542125": "丁青县",
+            "542126": "察雅县",
+            "542127": "八宿县",
+            "542128": "左贡县",
+            "542129": "芒康县",
+            "542132": "洛隆县",
+            "542133": "边坝县",
+            "542134": "其它区",
+            "542200": "山南地区",
+            "542221": "乃东县",
+            "542222": "扎囊县",
+            "542223": "贡嘎县",
+            "542224": "桑日县",
+            "542225": "琼结县",
+            "542226": "曲松县",
+            "542227": "措美县",
+            "542228": "洛扎县",
+            "542229": "加查县",
+            "542231": "隆子县",
+            "542232": "错那县",
+            "542233": "浪卡子县",
+            "542234": "其它区",
+            "542300": "日喀则地区",
+            "542301": "日喀则市",
+            "542322": "南木林县",
+            "542323": "江孜县",
+            "542324": "定日县",
+            "542325": "萨迦县",
+            "542326": "拉孜县",
+            "542327": "昂仁县",
+            "542328": "谢通门县",
+            "542329": "白朗县",
+            "542330": "仁布县",
+            "542331": "康马县",
+            "542332": "定结县",
+            "542333": "仲巴县",
+            "542334": "亚东县",
+            "542335": "吉隆县",
+            "542336": "聂拉木县",
+            "542337": "萨嘎县",
+            "542338": "岗巴县",
+            "542339": "其它区",
+            "542400": "那曲地区",
+            "542421": "那曲县",
+            "542422": "嘉黎县",
+            "542423": "比如县",
+            "542424": "聂荣县",
+            "542425": "安多县",
+            "542426": "申扎县",
+            "542427": "索县",
+            "542428": "班戈县",
+            "542429": "巴青县",
+            "542430": "尼玛县",
+            "542431": "其它区",
+            "542432": "双湖县",
+            "542500": "阿里地区",
+            "542521": "普兰县",
+            "542522": "札达县",
+            "542523": "噶尔县",
+            "542524": "日土县",
+            "542525": "革吉县",
+            "542526": "改则县",
+            "542527": "措勤县",
+            "542528": "其它区",
+            "542600": "林芝地区",
+            "542621": "林芝县",
+            "542622": "工布江达县",
+            "542623": "米林县",
+            "542624": "墨脱县",
+            "542625": "波密县",
+            "542626": "察隅县",
+            "542627": "朗县",
+            "542628": "其它区",
+            "610000": "陕西省",
+            "610100": "西安市",
+            "610102": "新城区",
+            "610103": "碑林区",
+            "610104": "莲湖区",
+            "610111": "灞桥区",
+            "610112": "未央区",
+            "610113": "雁塔区",
+            "610114": "阎良区",
+            "610115": "临潼区",
+            "610116": "长安区",
+            "610122": "蓝田县",
+            "610124": "周至县",
+            "610125": "户县",
+            "610126": "高陵县",
+            "610127": "其它区",
+            "610200": "铜川市",
+            "610202": "王益区",
+            "610203": "印台区",
+            "610204": "耀州区",
+            "610222": "宜君县",
+            "610223": "其它区",
+            "610300": "宝鸡市",
+            "610302": "渭滨区",
+            "610303": "金台区",
+            "610304": "陈仓区",
+            "610322": "凤翔县",
+            "610323": "岐山县",
+            "610324": "扶风县",
+            "610326": "眉县",
+            "610327": "陇县",
+            "610328": "千阳县",
+            "610329": "麟游县",
+            "610330": "凤县",
+            "610331": "太白县",
+            "610332": "其它区",
+            "610400": "咸阳市",
+            "610402": "秦都区",
+            "610403": "杨陵区",
+            "610404": "渭城区",
+            "610422": "三原县",
+            "610423": "泾阳县",
+            "610424": "乾县",
+            "610425": "礼泉县",
+            "610426": "永寿县",
+            "610427": "彬县",
+            "610428": "长武县",
+            "610429": "旬邑县",
+            "610430": "淳化县",
+            "610431": "武功县",
+            "610481": "兴平市",
+            "610482": "其它区",
+            "610500": "渭南市",
+            "610502": "临渭区",
+            "610521": "华县",
+            "610522": "潼关县",
+            "610523": "大荔县",
+            "610524": "合阳县",
+            "610525": "澄城县",
+            "610526": "蒲城县",
+            "610527": "白水县",
+            "610528": "富平县",
+            "610581": "韩城市",
+            "610582": "华阴市",
+            "610583": "其它区",
+            "610600": "延安市",
+            "610602": "宝塔区",
+            "610621": "延长县",
+            "610622": "延川县",
+            "610623": "子长县",
+            "610624": "安塞县",
+            "610625": "志丹县",
+            "610626": "吴起县",
+            "610627": "甘泉县",
+            "610628": "富县",
+            "610629": "洛川县",
+            "610630": "宜川县",
+            "610631": "黄龙县",
+            "610632": "黄陵县",
+            "610633": "其它区",
+            "610700": "汉中市",
+            "610702": "汉台区",
+            "610721": "南郑县",
+            "610722": "城固县",
+            "610723": "洋县",
+            "610724": "西乡县",
+            "610725": "勉县",
+            "610726": "宁强县",
+            "610727": "略阳县",
+            "610728": "镇巴县",
+            "610729": "留坝县",
+            "610730": "佛坪县",
+            "610731": "其它区",
+            "610800": "榆林市",
+            "610802": "榆阳区",
+            "610821": "神木县",
+            "610822": "府谷县",
+            "610823": "横山县",
+            "610824": "靖边县",
+            "610825": "定边县",
+            "610826": "绥德县",
+            "610827": "米脂县",
+            "610828": "佳县",
+            "610829": "吴堡县",
+            "610830": "清涧县",
+            "610831": "子洲县",
+            "610832": "其它区",
+            "610900": "安康市",
+            "610902": "汉滨区",
+            "610921": "汉阴县",
+            "610922": "石泉县",
+            "610923": "宁陕县",
+            "610924": "紫阳县",
+            "610925": "岚皋县",
+            "610926": "平利县",
+            "610927": "镇坪县",
+            "610928": "旬阳县",
+            "610929": "白河县",
+            "610930": "其它区",
+            "611000": "商洛市",
+            "611002": "商州区",
+            "611021": "洛南县",
+            "611022": "丹凤县",
+            "611023": "商南县",
+            "611024": "山阳县",
+            "611025": "镇安县",
+            "611026": "柞水县",
+            "611027": "其它区",
+            "620000": "甘肃省",
+            "620100": "兰州市",
+            "620102": "城关区",
+            "620103": "七里河区",
+            "620104": "西固区",
+            "620105": "安宁区",
+            "620111": "红古区",
+            "620121": "永登县",
+            "620122": "皋兰县",
+            "620123": "榆中县",
+            "620124": "其它区",
+            "620200": "嘉峪关市",
+            "620300": "金昌市",
+            "620302": "金川区",
+            "620321": "永昌县",
+            "620322": "其它区",
+            "620400": "白银市",
+            "620402": "白银区",
+            "620403": "平川区",
+            "620421": "靖远县",
+            "620422": "会宁县",
+            "620423": "景泰县",
+            "620424": "其它区",
+            "620500": "天水市",
+            "620502": "秦州区",
+            "620503": "麦积区",
+            "620521": "清水县",
+            "620522": "秦安县",
+            "620523": "甘谷县",
+            "620524": "武山县",
+            "620525": "张家川回族自治县",
+            "620526": "其它区",
+            "620600": "武威市",
+            "620602": "凉州区",
+            "620621": "民勤县",
+            "620622": "古浪县",
+            "620623": "天祝藏族自治县",
+            "620624": "其它区",
+            "620700": "张掖市",
+            "620702": "甘州区",
+            "620721": "肃南裕固族自治县",
+            "620722": "民乐县",
+            "620723": "临泽县",
+            "620724": "高台县",
+            "620725": "山丹县",
+            "620726": "其它区",
+            "620800": "平凉市",
+            "620802": "崆峒区",
+            "620821": "泾川县",
+            "620822": "灵台县",
+            "620823": "崇信县",
+            "620824": "华亭县",
+            "620825": "庄浪县",
+            "620826": "静宁县",
+            "620827": "其它区",
+            "620900": "酒泉市",
+            "620902": "肃州区",
+            "620921": "金塔县",
+            "620922": "瓜州县",
+            "620923": "肃北蒙古族自治县",
+            "620924": "阿克塞哈萨克族自治县",
+            "620981": "玉门市",
+            "620982": "敦煌市",
+            "620983": "其它区",
+            "621000": "庆阳市",
+            "621002": "西峰区",
+            "621021": "庆城县",
+            "621022": "环县",
+            "621023": "华池县",
+            "621024": "合水县",
+            "621025": "正宁县",
+            "621026": "宁县",
+            "621027": "镇原县",
+            "621028": "其它区",
+            "621100": "定西市",
+            "621102": "安定区",
+            "621121": "通渭县",
+            "621122": "陇西县",
+            "621123": "渭源县",
+            "621124": "临洮县",
+            "621125": "漳县",
+            "621126": "岷县",
+            "621127": "其它区",
+            "621200": "陇南市",
+            "621202": "武都区",
+            "621221": "成县",
+            "621222": "文县",
+            "621223": "宕昌县",
+            "621224": "康县",
+            "621225": "西和县",
+            "621226": "礼县",
+            "621227": "徽县",
+            "621228": "两当县",
+            "621229": "其它区",
+            "622900": "临夏回族自治州",
+            "622901": "临夏市",
+            "622921": "临夏县",
+            "622922": "康乐县",
+            "622923": "永靖县",
+            "622924": "广河县",
+            "622925": "和政县",
+            "622926": "东乡族自治县",
+            "622927": "积石山保安族东乡族撒拉族自治县",
+            "622928": "其它区",
+            "623000": "甘南藏族自治州",
+            "623001": "合作市",
+            "623021": "临潭县",
+            "623022": "卓尼县",
+            "623023": "舟曲县",
+            "623024": "迭部县",
+            "623025": "玛曲县",
+            "623026": "碌曲县",
+            "623027": "夏河县",
+            "623028": "其它区",
+            "630000": "青海省",
+            "630100": "西宁市",
+            "630102": "城东区",
+            "630103": "城中区",
+            "630104": "城西区",
+            "630105": "城北区",
+            "630121": "大通回族土族自治县",
+            "630122": "湟中县",
+            "630123": "湟源县",
+            "630124": "其它区",
+            "632100": "海东市",
+            "632121": "平安县",
+            "632122": "民和回族土族自治县",
+            "632123": "乐都区",
+            "632126": "互助土族自治县",
+            "632127": "化隆回族自治县",
+            "632128": "循化撒拉族自治县",
+            "632129": "其它区",
+            "632200": "海北藏族自治州",
+            "632221": "门源回族自治县",
+            "632222": "祁连县",
+            "632223": "海晏县",
+            "632224": "刚察县",
+            "632225": "其它区",
+            "632300": "黄南藏族自治州",
+            "632321": "同仁县",
+            "632322": "尖扎县",
+            "632323": "泽库县",
+            "632324": "河南蒙古族自治县",
+            "632325": "其它区",
+            "632500": "海南藏族自治州",
+            "632521": "共和县",
+            "632522": "同德县",
+            "632523": "贵德县",
+            "632524": "兴海县",
+            "632525": "贵南县",
+            "632526": "其它区",
+            "632600": "果洛藏族自治州",
+            "632621": "玛沁县",
+            "632622": "班玛县",
+            "632623": "甘德县",
+            "632624": "达日县",
+            "632625": "久治县",
+            "632626": "玛多县",
+            "632627": "其它区",
+            "632700": "玉树藏族自治州",
+            "632721": "玉树市",
+            "632722": "杂多县",
+            "632723": "称多县",
+            "632724": "治多县",
+            "632725": "囊谦县",
+            "632726": "曲麻莱县",
+            "632727": "其它区",
+            "632800": "海西蒙古族藏族自治州",
+            "632801": "格尔木市",
+            "632802": "德令哈市",
+            "632821": "乌兰县",
+            "632822": "都兰县",
+            "632823": "天峻县",
+            "632824": "其它区",
+            "640000": "宁夏回族自治区",
+            "640100": "银川市",
+            "640104": "兴庆区",
+            "640105": "西夏区",
+            "640106": "金凤区",
+            "640121": "永宁县",
+            "640122": "贺兰县",
+            "640181": "灵武市",
+            "640182": "其它区",
+            "640200": "石嘴山市",
+            "640202": "大武口区",
+            "640205": "惠农区",
+            "640221": "平罗县",
+            "640222": "其它区",
+            "640300": "吴忠市",
+            "640302": "利通区",
+            "640303": "红寺堡区",
+            "640323": "盐池县",
+            "640324": "同心县",
+            "640381": "青铜峡市",
+            "640382": "其它区",
+            "640400": "固原市",
+            "640402": "原州区",
+            "640422": "西吉县",
+            "640423": "隆德县",
+            "640424": "泾源县",
+            "640425": "彭阳县",
+            "640426": "其它区",
+            "640500": "中卫市",
+            "640502": "沙坡头区",
+            "640521": "中宁县",
+            "640522": "海原县",
+            "640523": "其它区",
+            "650000": "新疆维吾尔自治区",
+            "650100": "乌鲁木齐市",
+            "650102": "天山区",
+            "650103": "沙依巴克区",
+            "650104": "新市区",
+            "650105": "水磨沟区",
+            "650106": "头屯河区",
+            "650107": "达坂城区",
+            "650109": "米东区",
+            "650121": "乌鲁木齐县",
+            "650122": "其它区",
+            "650200": "克拉玛依市",
+            "650202": "独山子区",
+            "650203": "克拉玛依区",
+            "650204": "白碱滩区",
+            "650205": "乌尔禾区",
+            "650206": "其它区",
+            "652100": "吐鲁番地区",
+            "652101": "吐鲁番市",
+            "652122": "鄯善县",
+            "652123": "托克逊县",
+            "652124": "其它区",
+            "652200": "哈密地区",
+            "652201": "哈密市",
+            "652222": "巴里坤哈萨克自治县",
+            "652223": "伊吾县",
+            "652224": "其它区",
+            "652300": "昌吉回族自治州",
+            "652301": "昌吉市",
+            "652302": "阜康市",
+            "652323": "呼图壁县",
+            "652324": "玛纳斯县",
+            "652325": "奇台县",
+            "652327": "吉木萨尔县",
+            "652328": "木垒哈萨克自治县",
+            "652329": "其它区",
+            "652700": "博尔塔拉蒙古自治州",
+            "652701": "博乐市",
+            "652702": "阿拉山口市",
+            "652722": "精河县",
+            "652723": "温泉县",
+            "652724": "其它区",
+            "652800": "巴音郭楞蒙古自治州",
+            "652801": "库尔勒市",
+            "652822": "轮台县",
+            "652823": "尉犁县",
+            "652824": "若羌县",
+            "652825": "且末县",
+            "652826": "焉耆回族自治县",
+            "652827": "和静县",
+            "652828": "和硕县",
+            "652829": "博湖县",
+            "652830": "其它区",
+            "652900": "阿克苏地区",
+            "652901": "阿克苏市",
+            "652922": "温宿县",
+            "652923": "库车县",
+            "652924": "沙雅县",
+            "652925": "新和县",
+            "652926": "拜城县",
+            "652927": "乌什县",
+            "652928": "阿瓦提县",
+            "652929": "柯坪县",
+            "652930": "其它区",
+            "653000": "克孜勒苏柯尔克孜自治州",
+            "653001": "阿图什市",
+            "653022": "阿克陶县",
+            "653023": "阿合奇县",
+            "653024": "乌恰县",
+            "653025": "其它区",
+            "653100": "喀什地区",
+            "653101": "喀什市",
+            "653121": "疏附县",
+            "653122": "疏勒县",
+            "653123": "英吉沙县",
+            "653124": "泽普县",
+            "653125": "莎车县",
+            "653126": "叶城县",
+            "653127": "麦盖提县",
+            "653128": "岳普湖县",
+            "653129": "伽师县",
+            "653130": "巴楚县",
+            "653131": "塔什库尔干塔吉克自治县",
+            "653132": "其它区",
+            "653200": "和田地区",
+            "653201": "和田市",
+            "653221": "和田县",
+            "653222": "墨玉县",
+            "653223": "皮山县",
+            "653224": "洛浦县",
+            "653225": "策勒县",
+            "653226": "于田县",
+            "653227": "民丰县",
+            "653228": "其它区",
+            "654000": "伊犁哈萨克自治州",
+            "654002": "伊宁市",
+            "654003": "奎屯市",
+            "654021": "伊宁县",
+            "654022": "察布查尔锡伯自治县",
+            "654023": "霍城县",
+            "654024": "巩留县",
+            "654025": "新源县",
+            "654026": "昭苏县",
+            "654027": "特克斯县",
+            "654028": "尼勒克县",
+            "654029": "其它区",
+            "654200": "塔城地区",
+            "654201": "塔城市",
+            "654202": "乌苏市",
+            "654221": "额敏县",
+            "654223": "沙湾县",
+            "654224": "托里县",
+            "654225": "裕民县",
+            "654226": "和布克赛尔蒙古自治县",
+            "654227": "其它区",
+            "654300": "阿勒泰地区",
+            "654301": "阿勒泰市",
+            "654321": "布尔津县",
+            "654322": "富蕴县",
+            "654323": "福海县",
+            "654324": "哈巴河县",
+            "654325": "青河县",
+            "654326": "吉木乃县",
+            "654327": "其它区",
+            "659001": "石河子市",
+            "659002": "阿拉尔市",
+            "659003": "图木舒克市",
+            "659004": "五家渠市",
+            "710000": "台湾",
+            "710100": "台北市",
+            "710101": "中正区",
+            "710102": "大同区",
+            "710103": "中山区",
+            "710104": "松山区",
+            "710105": "大安区",
+            "710106": "万华区",
+            "710107": "信义区",
+            "710108": "士林区",
+            "710109": "北投区",
+            "710110": "内湖区",
+            "710111": "南港区",
+            "710112": "文山区",
+            "710113": "其它区",
+            "710200": "高雄市",
+            "710201": "新兴区",
+            "710202": "前金区",
+            "710203": "芩雅区",
+            "710204": "盐埕区",
+            "710205": "鼓山区",
+            "710206": "旗津区",
+            "710207": "前镇区",
+            "710208": "三民区",
+            "710209": "左营区",
+            "710210": "楠梓区",
+            "710211": "小港区",
+            "710212": "其它区",
+            "710241": "苓雅区",
+            "710242": "仁武区",
+            "710243": "大社区",
+            "710244": "冈山区",
+            "710245": "路竹区",
+            "710246": "阿莲区",
+            "710247": "田寮区",
+            "710248": "燕巢区",
+            "710249": "桥头区",
+            "710250": "梓官区",
+            "710251": "弥陀区",
+            "710252": "永安区",
+            "710253": "湖内区",
+            "710254": "凤山区",
+            "710255": "大寮区",
+            "710256": "林园区",
+            "710257": "鸟松区",
+            "710258": "大树区",
+            "710259": "旗山区",
+            "710260": "美浓区",
+            "710261": "六龟区",
+            "710262": "内门区",
+            "710263": "杉林区",
+            "710264": "甲仙区",
+            "710265": "桃源区",
+            "710266": "那玛夏区",
+            "710267": "茂林区",
+            "710268": "茄萣区",
+            "710300": "台南市",
+            "710301": "中西区",
+            "710302": "东区",
+            "710303": "南区",
+            "710304": "北区",
+            "710305": "安平区",
+            "710306": "安南区",
+            "710307": "其它区",
+            "710339": "永康区",
+            "710340": "归仁区",
+            "710341": "新化区",
+            "710342": "左镇区",
+            "710343": "玉井区",
+            "710344": "楠西区",
+            "710345": "南化区",
+            "710346": "仁德区",
+            "710347": "关庙区",
+            "710348": "龙崎区",
+            "710349": "官田区",
+            "710350": "麻豆区",
+            "710351": "佳里区",
+            "710352": "西港区",
+            "710353": "七股区",
+            "710354": "将军区",
+            "710355": "学甲区",
+            "710356": "北门区",
+            "710357": "新营区",
+            "710358": "后壁区",
+            "710359": "白河区",
+            "710360": "东山区",
+            "710361": "六甲区",
+            "710362": "下营区",
+            "710363": "柳营区",
+            "710364": "盐水区",
+            "710365": "善化区",
+            "710366": "大内区",
+            "710367": "山上区",
+            "710368": "新市区",
+            "710369": "安定区",
+            "710400": "台中市",
+            "710401": "中区",
+            "710402": "东区",
+            "710403": "南区",
+            "710404": "西区",
+            "710405": "北区",
+            "710406": "北屯区",
+            "710407": "西屯区",
+            "710408": "南屯区",
+            "710409": "其它区",
+            "710431": "太平区",
+            "710432": "大里区",
+            "710433": "雾峰区",
+            "710434": "乌日区",
+            "710435": "丰原区",
+            "710436": "后里区",
+            "710437": "石冈区",
+            "710438": "东势区",
+            "710439": "和平区",
+            "710440": "新社区",
+            "710441": "潭子区",
+            "710442": "大雅区",
+            "710443": "神冈区",
+            "710444": "大肚区",
+            "710445": "沙鹿区",
+            "710446": "龙井区",
+            "710447": "梧栖区",
+            "710448": "清水区",
+            "710449": "大甲区",
+            "710450": "外埔区",
+            "710451": "大安区",
+            "710500": "金门县",
+            "710507": "金沙镇",
+            "710508": "金湖镇",
+            "710509": "金宁乡",
+            "710510": "金城镇",
+            "710511": "烈屿乡",
+            "710512": "乌坵乡",
+            "710600": "南投县",
+            "710614": "南投市",
+            "710615": "中寮乡",
+            "710616": "草屯镇",
+            "710617": "国姓乡",
+            "710618": "埔里镇",
+            "710619": "仁爱乡",
+            "710620": "名间乡",
+            "710621": "集集镇",
+            "710622": "水里乡",
+            "710623": "鱼池乡",
+            "710624": "信义乡",
+            "710625": "竹山镇",
+            "710626": "鹿谷乡",
+            "710700": "基隆市",
+            "710701": "仁爱区",
+            "710702": "信义区",
+            "710703": "中正区",
+            "710704": "中山区",
+            "710705": "安乐区",
+            "710706": "暖暖区",
+            "710707": "七堵区",
+            "710708": "其它区",
+            "710800": "新竹市",
+            "710801": "东区",
+            "710802": "北区",
+            "710803": "香山区",
+            "710804": "其它区",
+            "710900": "嘉义市",
+            "710901": "东区",
+            "710902": "西区",
+            "710903": "其它区",
+            "711100": "新北市",
+            "711130": "万里区",
+            "711131": "金山区",
+            "711132": "板桥区",
+            "711133": "汐止区",
+            "711134": "深坑区",
+            "711135": "石碇区",
+            "711136": "瑞芳区",
+            "711137": "平溪区",
+            "711138": "双溪区",
+            "711139": "贡寮区",
+            "711140": "新店区",
+            "711141": "坪林区",
+            "711142": "乌来区",
+            "711143": "永和区",
+            "711144": "中和区",
+            "711145": "土城区",
+            "711146": "三峡区",
+            "711147": "树林区",
+            "711148": "莺歌区",
+            "711149": "三重区",
+            "711150": "新庄区",
+            "711151": "泰山区",
+            "711152": "林口区",
+            "711153": "芦洲区",
+            "711154": "五股区",
+            "711155": "八里区",
+            "711156": "淡水区",
+            "711157": "三芝区",
+            "711158": "石门区",
+            "711200": "宜兰县",
+            "711214": "宜兰市",
+            "711215": "头城镇",
+            "711216": "礁溪乡",
+            "711217": "壮围乡",
+            "711218": "员山乡",
+            "711219": "罗东镇",
+            "711220": "三星乡",
+            "711221": "大同乡",
+            "711222": "五结乡",
+            "711223": "冬山乡",
+            "711224": "苏澳镇",
+            "711225": "南澳乡",
+            "711226": "钓鱼台",
+            "711300": "新竹县",
+            "711314": "竹北市",
+            "711315": "湖口乡",
+            "711316": "新丰乡",
+            "711317": "新埔镇",
+            "711318": "关西镇",
+            "711319": "芎林乡",
+            "711320": "宝山乡",
+            "711321": "竹东镇",
+            "711322": "五峰乡",
+            "711323": "横山乡",
+            "711324": "尖石乡",
+            "711325": "北埔乡",
+            "711326": "峨眉乡",
+            "711400": "桃园县",
+            "711414": "中坜市",
+            "711415": "平镇市",
+            "711416": "龙潭乡",
+            "711417": "杨梅市",
+            "711418": "新屋乡",
+            "711419": "观音乡",
+            "711420": "桃园市",
+            "711421": "龟山乡",
+            "711422": "八德市",
+            "711423": "大溪镇",
+            "711424": "复兴乡",
+            "711425": "大园乡",
+            "711426": "芦竹乡",
+            "711500": "苗栗县",
+            "711519": "竹南镇",
+            "711520": "头份镇",
+            "711521": "三湾乡",
+            "711522": "南庄乡",
+            "711523": "狮潭乡",
+            "711524": "后龙镇",
+            "711525": "通霄镇",
+            "711526": "苑里镇",
+            "711527": "苗栗市",
+            "711528": "造桥乡",
+            "711529": "头屋乡",
+            "711530": "公馆乡",
+            "711531": "大湖乡",
+            "711532": "泰安乡",
+            "711533": "铜锣乡",
+            "711534": "三义乡",
+            "711535": "西湖乡",
+            "711536": "卓兰镇",
+            "711700": "彰化县",
+            "711727": "彰化市",
+            "711728": "芬园乡",
+            "711729": "花坛乡",
+            "711730": "秀水乡",
+            "711731": "鹿港镇",
+            "711732": "福兴乡",
+            "711733": "线西乡",
+            "711734": "和美镇",
+            "711735": "伸港乡",
+            "711736": "员林镇",
+            "711737": "社头乡",
+            "711738": "永靖乡",
+            "711739": "埔心乡",
+            "711740": "溪湖镇",
+            "711741": "大村乡",
+            "711742": "埔盐乡",
+            "711743": "田中镇",
+            "711744": "北斗镇",
+            "711745": "田尾乡",
+            "711746": "埤头乡",
+            "711747": "溪州乡",
+            "711748": "竹塘乡",
+            "711749": "二林镇",
+            "711750": "大城乡",
+            "711751": "芳苑乡",
+            "711752": "二水乡",
+            "711900": "嘉义县",
+            "711919": "番路乡",
+            "711920": "梅山乡",
+            "711921": "竹崎乡",
+            "711922": "阿里山乡",
+            "711923": "中埔乡",
+            "711924": "大埔乡",
+            "711925": "水上乡",
+            "711926": "鹿草乡",
+            "711927": "太保市",
+            "711928": "朴子市",
+            "711929": "东石乡",
+            "711930": "六脚乡",
+            "711931": "新港乡",
+            "711932": "民雄乡",
+            "711933": "大林镇",
+            "711934": "溪口乡",
+            "711935": "义竹乡",
+            "711936": "布袋镇",
+            "712100": "云林县",
+            "712121": "斗南镇",
+            "712122": "大埤乡",
+            "712123": "虎尾镇",
+            "712124": "土库镇",
+            "712125": "褒忠乡",
+            "712126": "东势乡",
+            "712127": "台西乡",
+            "712128": "仑背乡",
+            "712129": "麦寮乡",
+            "712130": "斗六市",
+            "712131": "林内乡",
+            "712132": "古坑乡",
+            "712133": "莿桐乡",
+            "712134": "西螺镇",
+            "712135": "二仑乡",
+            "712136": "北港镇",
+            "712137": "水林乡",
+            "712138": "口湖乡",
+            "712139": "四湖乡",
+            "712140": "元长乡",
+            "712400": "屏东县",
+            "712434": "屏东市",
+            "712435": "三地门乡",
+            "712436": "雾台乡",
+            "712437": "玛家乡",
+            "712438": "九如乡",
+            "712439": "里港乡",
+            "712440": "高树乡",
+            "712441": "盐埔乡",
+            "712442": "长治乡",
+            "712443": "麟洛乡",
+            "712444": "竹田乡",
+            "712445": "内埔乡",
+            "712446": "万丹乡",
+            "712447": "潮州镇",
+            "712448": "泰武乡",
+            "712449": "来义乡",
+            "712450": "万峦乡",
+            "712451": "崁顶乡",
+            "712452": "新埤乡",
+            "712453": "南州乡",
+            "712454": "林边乡",
+            "712455": "东港镇",
+            "712456": "琉球乡",
+            "712457": "佳冬乡",
+            "712458": "新园乡",
+            "712459": "枋寮乡",
+            "712460": "枋山乡",
+            "712461": "春日乡",
+            "712462": "狮子乡",
+            "712463": "车城乡",
+            "712464": "牡丹乡",
+            "712465": "恒春镇",
+            "712466": "满州乡",
+            "712500": "台东县",
+            "712517": "台东市",
+            "712518": "绿岛乡",
+            "712519": "兰屿乡",
+            "712520": "延平乡",
+            "712521": "卑南乡",
+            "712522": "鹿野乡",
+            "712523": "关山镇",
+            "712524": "海端乡",
+            "712525": "池上乡",
+            "712526": "东河乡",
+            "712527": "成功镇",
+            "712528": "长滨乡",
+            "712529": "金峰乡",
+            "712530": "大武乡",
+            "712531": "达仁乡",
+            "712532": "太麻里乡",
+            "712600": "花莲县",
+            "712615": "花莲市",
+            "712616": "新城乡",
+            "712617": "太鲁阁",
+            "712618": "秀林乡",
+            "712619": "吉安乡",
+            "712620": "寿丰乡",
+            "712621": "凤林镇",
+            "712622": "光复乡",
+            "712623": "丰滨乡",
+            "712624": "瑞穗乡",
+            "712625": "万荣乡",
+            "712626": "玉里镇",
+            "712627": "卓溪乡",
+            "712628": "富里乡",
+            "712700": "澎湖县",
+            "712707": "马公市",
+            "712708": "西屿乡",
+            "712709": "望安乡",
+            "712710": "七美乡",
+            "712711": "白沙乡",
+            "712712": "湖西乡",
+            "712800": "连江县",
+            "712805": "南竿乡",
+            "712806": "北竿乡",
+            "712807": "莒光乡",
+            "712808": "东引乡",
+            "810000": "香港特别行政区",
+            "810100": "香港岛",
+            "810101": "中西区",
+            "810102": "湾仔",
+            "810103": "东区",
+            "810104": "南区",
+            "810200": "九龙",
+            "810201": "九龙城区",
+            "810202": "油尖旺区",
+            "810203": "深水埗区",
+            "810204": "黄大仙区",
+            "810205": "观塘区",
+            "810300": "新界",
+            "810301": "北区",
+            "810302": "大埔区",
+            "810303": "沙田区",
+            "810304": "西贡区",
+            "810305": "元朗区",
+            "810306": "屯门区",
+            "810307": "荃湾区",
+            "810308": "葵青区",
+            "810309": "离岛区",
+            "820000": "澳门特别行政区",
+            "820100": "澳门半岛",
+            "820200": "离岛",
+            "990000": "海外",
+            "990100": "海外"
+          };
+          function tree2(list2) {
+            var mapped = {};
+            for (var i2 = 0, item; i2 < list2.length; i2++) {
+              item = list2[i2];
+              if (!item || !item.id)
+                continue;
+              mapped[item.id] = item;
+            }
+            var result2 = [];
+            for (var ii = 0; ii < list2.length; ii++) {
+              item = list2[ii];
+              if (!item)
+                continue;
+              if (item.pid == void 0 && item.parentId == void 0) {
+                result2.push(item);
+                continue;
+              }
+              var parent3 = mapped[item.pid] || mapped[item.parentId];
+              if (!parent3)
+                continue;
+              if (!parent3.children)
+                parent3.children = [];
+              parent3.children.push(item);
+            }
+            return result2;
+          }
+          var DICT_FIXED = function() {
+            var fixed = [];
+            for (var id in DICT) {
+              var pid = id.slice(2, 6) === "0000" ? void 0 : id.slice(4, 6) == "00" ? id.slice(0, 2) + "0000" : id.slice(0, 4) + "00";
+              fixed.push({
+                id,
+                pid,
+                name: DICT[id]
+              });
+            }
+            return tree2(fixed);
+          }();
+          module2.exports = DICT_FIXED;
+        },
+        /* 19 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var DICT = __webpack_require__2(18);
+          module2.exports = {
+            // Dice
+            d4: function() {
+              return this.natural(1, 4);
+            },
+            d6: function() {
+              return this.natural(1, 6);
+            },
+            d8: function() {
+              return this.natural(1, 8);
+            },
+            d12: function() {
+              return this.natural(1, 12);
+            },
+            d20: function() {
+              return this.natural(1, 20);
+            },
+            d100: function() {
+              return this.natural(1, 100);
+            },
+            /*
+            			    随机生成一个 GUID。
+            
+            			    http://www.broofa.com/2008/09/javascript-uuid-function/
+            			    [UUID 规范](http://www.ietf.org/rfc/rfc4122.txt)
+            			        UUIDs (Universally Unique IDentifier)
+            			        GUIDs (Globally Unique IDentifier)
+            			        The formal definition of the UUID string representation is provided by the following ABNF [7]:
+            			            UUID                   = time-low "-" time-mid "-"
+            			                                   time-high-and-version "-"
+            			                                   clock-seq-and-reserved
+            			                                   clock-seq-low "-" node
+            			            time-low               = 4hexOctet
+            			            time-mid               = 2hexOctet
+            			            time-high-and-version  = 2hexOctet
+            			            clock-seq-and-reserved = hexOctet
+            			            clock-seq-low          = hexOctet
+            			            node                   = 6hexOctet
+            			            hexOctet               = hexDigit hexDigit
+            			            hexDigit =
+            			                "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" /
+            			                "a" / "b" / "c" / "d" / "e" / "f" /
+            			                "A" / "B" / "C" / "D" / "E" / "F"
+            			    
+            			    https://github.com/victorquinn/chancejs/blob/develop/chance.js#L1349
+            			*/
+            guid: function() {
+              var pool = "abcdefABCDEF1234567890", guid2 = this.string(pool, 8) + "-" + this.string(pool, 4) + "-" + this.string(pool, 4) + "-" + this.string(pool, 4) + "-" + this.string(pool, 12);
+              return guid2;
+            },
+            uuid: function() {
+              return this.guid();
+            },
+            /*
+            			    随机生成一个 18 位身份证。
+            
+            			    [身份证](http://baike.baidu.com/view/1697.htm#4)
+            			        地址码 6 + 出生日期码 8 + 顺序码 3 + 校验码 1
+            			    [《中华人民共和国行政区划代码》国家标准(GB/T2260)](http://zhidao.baidu.com/question/1954561.html)
+            			*/
+            id: function() {
+              var id, sum2 = 0, rank = [
+                "7",
+                "9",
+                "10",
+                "5",
+                "8",
+                "4",
+                "2",
+                "1",
+                "6",
+                "3",
+                "7",
+                "9",
+                "10",
+                "5",
+                "8",
+                "4",
+                "2"
+              ], last = [
+                "1",
+                "0",
+                "X",
+                "9",
+                "8",
+                "7",
+                "6",
+                "5",
+                "4",
+                "3",
+                "2"
+              ];
+              id = this.pick(DICT).id + this.date("yyyyMMdd") + this.string("number", 3);
+              for (var i2 = 0; i2 < id.length; i2++) {
+                sum2 += id[i2] * rank[i2];
+              }
+              id += last[sum2 % 11];
+              return id;
+            },
+            /*
+                生成一个全局的自增整数。
+                类似自增主键(auto increment primary key)。
+            */
+            increment: function() {
+              var key2 = 0;
+              return function(step2) {
+                return key2 += +step2 || 1;
+              };
+            }(),
+            inc: function(step2) {
+              return this.increment(step2);
+            }
+          };
+        },
+        /* 20 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Parser2 = __webpack_require__2(21);
+          var Handler2 = __webpack_require__2(22);
+          module2.exports = {
+            Parser: Parser2,
+            Handler: Handler2
+          };
+        },
+        /* 21 */
+        /***/
+        function(module2, exports2) {
+          function Token(n2) {
+            this.type = n2, this.offset = Token.offset(), this.text = Token.text();
+          }
+          function Alternate(n2, l2) {
+            Token.call(this, "alternate"), this.left = n2, this.right = l2;
+          }
+          function Match(n2) {
+            Token.call(this, "match"), this.body = n2.filter(Boolean);
+          }
+          function Group2(n2, l2) {
+            Token.call(this, n2), this.body = l2;
+          }
+          function CaptureGroup(n2) {
+            Group2.call(this, "capture-group"), this.index = cgs[this.offset] || (cgs[this.offset] = index3++), this.body = n2;
+          }
+          function Quantified(n2, l2) {
+            Token.call(this, "quantified"), this.body = n2, this.quantifier = l2;
+          }
+          function Quantifier(n2, l2) {
+            Token.call(this, "quantifier"), this.min = n2, this.max = l2, this.greedy = true;
+          }
+          function CharSet(n2, l2) {
+            Token.call(this, "charset"), this.invert = n2, this.body = l2;
+          }
+          function CharacterRange(n2, l2) {
+            Token.call(this, "range"), this.start = n2, this.end = l2;
+          }
+          function Literal(n2) {
+            Token.call(this, "literal"), this.body = n2, this.escaped = this.body != this.text;
+          }
+          function Unicode(n2) {
+            Token.call(this, "unicode"), this.code = n2.toUpperCase();
+          }
+          function Hex2(n2) {
+            Token.call(this, "hex"), this.code = n2.toUpperCase();
+          }
+          function Octal(n2) {
+            Token.call(this, "octal"), this.code = n2.toUpperCase();
+          }
+          function BackReference(n2) {
+            Token.call(this, "back-reference"), this.code = n2.toUpperCase();
+          }
+          function ControlCharacter(n2) {
+            Token.call(this, "control-character"), this.code = n2.toUpperCase();
+          }
+          var parser2 = function() {
+            function n2(n3, l3) {
+              function u3() {
+                this.constructor = n3;
+              }
+              u3.prototype = l3.prototype, n3.prototype = new u3();
+            }
+            function l2(n3, l3, u3, t2, r2) {
+              function e2(n4, l4) {
+                function u4(n5) {
+                  function l5(n6) {
+                    return n6.charCodeAt(0).toString(16).toUpperCase();
+                  }
+                  return n5.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\x08/g, "\\b").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\f/g, "\\f").replace(/\r/g, "\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(n6) {
+                    return "\\x0" + l5(n6);
+                  }).replace(/[\x10-\x1F\x80-\xFF]/g, function(n6) {
+                    return "\\x" + l5(n6);
+                  }).replace(/[\u0180-\u0FFF]/g, function(n6) {
+                    return "\\u0" + l5(n6);
+                  }).replace(/[\u1080-\uFFFF]/g, function(n6) {
+                    return "\\u" + l5(n6);
+                  });
+                }
+                var t3, r3;
+                switch (n4.length) {
+                  case 0:
+                    t3 = "end of input";
+                    break;
+                  case 1:
+                    t3 = n4[0];
+                    break;
+                  default:
+                    t3 = n4.slice(0, -1).join(", ") + " or " + n4[n4.length - 1];
+                }
+                return r3 = l4 ? '"' + u4(l4) + '"' : "end of input", "Expected " + t3 + " but " + r3 + " found.";
+              }
+              this.expected = n3, this.found = l3, this.offset = u3, this.line = t2, this.column = r2, this.name = "SyntaxError", this.message = e2(n3, l3);
+            }
+            function u2(n3) {
+              function u3() {
+                return n3.substring(Lt, qt);
+              }
+              function t2() {
+                return Lt;
+              }
+              function r2(l3) {
+                function u4(l4, u5, t3) {
+                  var r3, e3;
+                  for (r3 = u5; t3 > r3; r3++)
+                    e3 = n3.charAt(r3), "\n" === e3 ? (l4.seenCR || l4.line++, l4.column = 1, l4.seenCR = false) : "\r" === e3 || "\u2028" === e3 || "\u2029" === e3 ? (l4.line++, l4.column = 1, l4.seenCR = true) : (l4.column++, l4.seenCR = false);
+                }
+                return Mt !== l3 && (Mt > l3 && (Mt = 0, Dt = {
+                  line: 1,
+                  column: 1,
+                  seenCR: false
+                }), u4(Dt, Mt, l3), Mt = l3), Dt;
+              }
+              function e2(n4) {
+                Ht > qt || (qt > Ht && (Ht = qt, Ot = []), Ot.push(n4));
+              }
+              function o2(n4) {
+                var l3 = 0;
+                for (n4.sort(); l3 < n4.length; )
+                  n4[l3 - 1] === n4[l3] ? n4.splice(l3, 1) : l3++;
+              }
+              function c2() {
+                var l3, u4, t3, r3, o3;
+                return l3 = qt, u4 = i2(), null !== u4 ? (t3 = qt, 124 === n3.charCodeAt(qt) ? (r3 = fl, qt++) : (r3 = null, 0 === Wt && e2(sl)), null !== r3 ? (o3 = c2(), null !== o3 ? (r3 = [r3, o3], t3 = r3) : (qt = t3, t3 = il)) : (qt = t3, t3 = il), null === t3 && (t3 = al), null !== t3 ? (Lt = l3, u4 = hl(u4, t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function i2() {
+                var n4, l3, u4, t3, r3;
+                if (n4 = qt, l3 = f2(), null === l3 && (l3 = al), null !== l3)
+                  if (u4 = qt, Wt++, t3 = d2(), Wt--, null === t3 ? u4 = al : (qt = u4, u4 = il), null !== u4) {
+                    for (t3 = [], r3 = h3(), null === r3 && (r3 = a2()); null !== r3; )
+                      t3.push(r3), r3 = h3(), null === r3 && (r3 = a2());
+                    null !== t3 ? (r3 = s2(), null === r3 && (r3 = al), null !== r3 ? (Lt = n4, l3 = dl(l3, t3, r3), null === l3 ? (qt = n4, n4 = l3) : n4 = l3) : (qt = n4, n4 = il)) : (qt = n4, n4 = il);
+                  } else
+                    qt = n4, n4 = il;
+                else
+                  qt = n4, n4 = il;
+                return n4;
+              }
+              function a2() {
+                var n4;
+                return n4 = x2(), null === n4 && (n4 = Q2(), null === n4 && (n4 = B2())), n4;
+              }
+              function f2() {
+                var l3, u4;
+                return l3 = qt, 94 === n3.charCodeAt(qt) ? (u4 = pl, qt++) : (u4 = null, 0 === Wt && e2(vl)), null !== u4 && (Lt = l3, u4 = wl()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function s2() {
+                var l3, u4;
+                return l3 = qt, 36 === n3.charCodeAt(qt) ? (u4 = Al, qt++) : (u4 = null, 0 === Wt && e2(Cl)), null !== u4 && (Lt = l3, u4 = gl()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function h3() {
+                var n4, l3, u4;
+                return n4 = qt, l3 = a2(), null !== l3 ? (u4 = d2(), null !== u4 ? (Lt = n4, l3 = bl(l3, u4), null === l3 ? (qt = n4, n4 = l3) : n4 = l3) : (qt = n4, n4 = il)) : (qt = n4, n4 = il), n4;
+              }
+              function d2() {
+                var n4, l3, u4;
+                return Wt++, n4 = qt, l3 = p2(), null !== l3 ? (u4 = k2(), null === u4 && (u4 = al), null !== u4 ? (Lt = n4, l3 = Tl(l3, u4), null === l3 ? (qt = n4, n4 = l3) : n4 = l3) : (qt = n4, n4 = il)) : (qt = n4, n4 = il), Wt--, null === n4 && (l3 = null, 0 === Wt && e2(kl)), n4;
+              }
+              function p2() {
+                var n4;
+                return n4 = v4(), null === n4 && (n4 = w2(), null === n4 && (n4 = A2(), null === n4 && (n4 = C2(), null === n4 && (n4 = g2(), null === n4 && (n4 = b2()))))), n4;
+              }
+              function v4() {
+                var l3, u4, t3, r3, o3, c3;
+                return l3 = qt, 123 === n3.charCodeAt(qt) ? (u4 = xl, qt++) : (u4 = null, 0 === Wt && e2(yl)), null !== u4 ? (t3 = T2(), null !== t3 ? (44 === n3.charCodeAt(qt) ? (r3 = ml, qt++) : (r3 = null, 0 === Wt && e2(Rl)), null !== r3 ? (o3 = T2(), null !== o3 ? (125 === n3.charCodeAt(qt) ? (c3 = Fl, qt++) : (c3 = null, 0 === Wt && e2(Ql)), null !== c3 ? (Lt = l3, u4 = Sl(t3, o3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function w2() {
+                var l3, u4, t3, r3;
+                return l3 = qt, 123 === n3.charCodeAt(qt) ? (u4 = xl, qt++) : (u4 = null, 0 === Wt && e2(yl)), null !== u4 ? (t3 = T2(), null !== t3 ? (n3.substr(qt, 2) === Ul ? (r3 = Ul, qt += 2) : (r3 = null, 0 === Wt && e2(El)), null !== r3 ? (Lt = l3, u4 = Gl(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function A2() {
+                var l3, u4, t3, r3;
+                return l3 = qt, 123 === n3.charCodeAt(qt) ? (u4 = xl, qt++) : (u4 = null, 0 === Wt && e2(yl)), null !== u4 ? (t3 = T2(), null !== t3 ? (125 === n3.charCodeAt(qt) ? (r3 = Fl, qt++) : (r3 = null, 0 === Wt && e2(Ql)), null !== r3 ? (Lt = l3, u4 = Bl(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function C2() {
+                var l3, u4;
+                return l3 = qt, 43 === n3.charCodeAt(qt) ? (u4 = jl, qt++) : (u4 = null, 0 === Wt && e2($l)), null !== u4 && (Lt = l3, u4 = ql()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function g2() {
+                var l3, u4;
+                return l3 = qt, 42 === n3.charCodeAt(qt) ? (u4 = Ll, qt++) : (u4 = null, 0 === Wt && e2(Ml)), null !== u4 && (Lt = l3, u4 = Dl()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function b2() {
+                var l3, u4;
+                return l3 = qt, 63 === n3.charCodeAt(qt) ? (u4 = Hl, qt++) : (u4 = null, 0 === Wt && e2(Ol)), null !== u4 && (Lt = l3, u4 = Wl()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function k2() {
+                var l3;
+                return 63 === n3.charCodeAt(qt) ? (l3 = Hl, qt++) : (l3 = null, 0 === Wt && e2(Ol)), l3;
+              }
+              function T2() {
+                var l3, u4, t3;
+                if (l3 = qt, u4 = [], zl.test(n3.charAt(qt)) ? (t3 = n3.charAt(qt), qt++) : (t3 = null, 0 === Wt && e2(Il)), null !== t3)
+                  for (; null !== t3; )
+                    u4.push(t3), zl.test(n3.charAt(qt)) ? (t3 = n3.charAt(qt), qt++) : (t3 = null, 0 === Wt && e2(Il));
+                else
+                  u4 = il;
+                return null !== u4 && (Lt = l3, u4 = Jl(u4)), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function x2() {
+                var l3, u4, t3, r3;
+                return l3 = qt, 40 === n3.charCodeAt(qt) ? (u4 = Kl, qt++) : (u4 = null, 0 === Wt && e2(Nl)), null !== u4 ? (t3 = R2(), null === t3 && (t3 = F2(), null === t3 && (t3 = m2(), null === t3 && (t3 = y2()))), null !== t3 ? (41 === n3.charCodeAt(qt) ? (r3 = Pl, qt++) : (r3 = null, 0 === Wt && e2(Vl)), null !== r3 ? (Lt = l3, u4 = Xl(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function y2() {
+                var n4, l3;
+                return n4 = qt, l3 = c2(), null !== l3 && (Lt = n4, l3 = Yl(l3)), null === l3 ? (qt = n4, n4 = l3) : n4 = l3, n4;
+              }
+              function m2() {
+                var l3, u4, t3;
+                return l3 = qt, n3.substr(qt, 2) === Zl ? (u4 = Zl, qt += 2) : (u4 = null, 0 === Wt && e2(_l)), null !== u4 ? (t3 = c2(), null !== t3 ? (Lt = l3, u4 = nu(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function R2() {
+                var l3, u4, t3;
+                return l3 = qt, n3.substr(qt, 2) === lu ? (u4 = lu, qt += 2) : (u4 = null, 0 === Wt && e2(uu)), null !== u4 ? (t3 = c2(), null !== t3 ? (Lt = l3, u4 = tu(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function F2() {
+                var l3, u4, t3;
+                return l3 = qt, n3.substr(qt, 2) === ru ? (u4 = ru, qt += 2) : (u4 = null, 0 === Wt && e2(eu)), null !== u4 ? (t3 = c2(), null !== t3 ? (Lt = l3, u4 = ou(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function Q2() {
+                var l3, u4, t3, r3, o3;
+                if (Wt++, l3 = qt, 91 === n3.charCodeAt(qt) ? (u4 = iu, qt++) : (u4 = null, 0 === Wt && e2(au)), null !== u4)
+                  if (94 === n3.charCodeAt(qt) ? (t3 = pl, qt++) : (t3 = null, 0 === Wt && e2(vl)), null === t3 && (t3 = al), null !== t3) {
+                    for (r3 = [], o3 = S2(), null === o3 && (o3 = U2()); null !== o3; )
+                      r3.push(o3), o3 = S2(), null === o3 && (o3 = U2());
+                    null !== r3 ? (93 === n3.charCodeAt(qt) ? (o3 = fu, qt++) : (o3 = null, 0 === Wt && e2(su)), null !== o3 ? (Lt = l3, u4 = hu(t3, r3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il);
+                  } else
+                    qt = l3, l3 = il;
+                else
+                  qt = l3, l3 = il;
+                return Wt--, null === l3 && (u4 = null, 0 === Wt && e2(cu)), l3;
+              }
+              function S2() {
+                var l3, u4, t3, r3;
+                return Wt++, l3 = qt, u4 = U2(), null !== u4 ? (45 === n3.charCodeAt(qt) ? (t3 = pu, qt++) : (t3 = null, 0 === Wt && e2(vu)), null !== t3 ? (r3 = U2(), null !== r3 ? (Lt = l3, u4 = wu(u4, r3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), Wt--, null === l3 && (u4 = null, 0 === Wt && e2(du)), l3;
+              }
+              function U2() {
+                var n4;
+                return Wt++, n4 = G2(), null === n4 && (n4 = E2()), Wt--, null === n4 && (0 === Wt && e2(Au)), n4;
+              }
+              function E2() {
+                var l3, u4;
+                return l3 = qt, Cu.test(n3.charAt(qt)) ? (u4 = n3.charAt(qt), qt++) : (u4 = null, 0 === Wt && e2(gu)), null !== u4 && (Lt = l3, u4 = bu(u4)), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function G2() {
+                var n4;
+                return n4 = L2(), null === n4 && (n4 = Y2(), null === n4 && (n4 = H2(), null === n4 && (n4 = O2(), null === n4 && (n4 = W2(), null === n4 && (n4 = z2(), null === n4 && (n4 = I2(), null === n4 && (n4 = J2(), null === n4 && (n4 = K2(), null === n4 && (n4 = N2(), null === n4 && (n4 = P2(), null === n4 && (n4 = V2(), null === n4 && (n4 = X2(), null === n4 && (n4 = _2(), null === n4 && (n4 = nl(), null === n4 && (n4 = ll(), null === n4 && (n4 = ul(), null === n4 && (n4 = tl()))))))))))))))))), n4;
+              }
+              function B2() {
+                var n4;
+                return n4 = j2(), null === n4 && (n4 = q2(), null === n4 && (n4 = $2())), n4;
+              }
+              function j2() {
+                var l3, u4;
+                return l3 = qt, 46 === n3.charCodeAt(qt) ? (u4 = ku, qt++) : (u4 = null, 0 === Wt && e2(Tu)), null !== u4 && (Lt = l3, u4 = xu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function $2() {
+                var l3, u4;
+                return Wt++, l3 = qt, mu.test(n3.charAt(qt)) ? (u4 = n3.charAt(qt), qt++) : (u4 = null, 0 === Wt && e2(Ru)), null !== u4 && (Lt = l3, u4 = bu(u4)), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, Wt--, null === l3 && (u4 = null, 0 === Wt && e2(yu)), l3;
+              }
+              function q2() {
+                var n4;
+                return n4 = M2(), null === n4 && (n4 = D2(), null === n4 && (n4 = Y2(), null === n4 && (n4 = H2(), null === n4 && (n4 = O2(), null === n4 && (n4 = W2(), null === n4 && (n4 = z2(), null === n4 && (n4 = I2(), null === n4 && (n4 = J2(), null === n4 && (n4 = K2(), null === n4 && (n4 = N2(), null === n4 && (n4 = P2(), null === n4 && (n4 = V2(), null === n4 && (n4 = X2(), null === n4 && (n4 = Z2(), null === n4 && (n4 = _2(), null === n4 && (n4 = nl(), null === n4 && (n4 = ll(), null === n4 && (n4 = ul(), null === n4 && (n4 = tl()))))))))))))))))))), n4;
+              }
+              function L2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Fu ? (u4 = Fu, qt += 2) : (u4 = null, 0 === Wt && e2(Qu)), null !== u4 && (Lt = l3, u4 = Su()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function M2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Fu ? (u4 = Fu, qt += 2) : (u4 = null, 0 === Wt && e2(Qu)), null !== u4 && (Lt = l3, u4 = Uu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function D2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Eu ? (u4 = Eu, qt += 2) : (u4 = null, 0 === Wt && e2(Gu)), null !== u4 && (Lt = l3, u4 = Bu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function H2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === ju ? (u4 = ju, qt += 2) : (u4 = null, 0 === Wt && e2($u)), null !== u4 && (Lt = l3, u4 = qu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function O2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Lu ? (u4 = Lu, qt += 2) : (u4 = null, 0 === Wt && e2(Mu)), null !== u4 && (Lt = l3, u4 = Du()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function W2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Hu ? (u4 = Hu, qt += 2) : (u4 = null, 0 === Wt && e2(Ou)), null !== u4 && (Lt = l3, u4 = Wu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function z2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === zu ? (u4 = zu, qt += 2) : (u4 = null, 0 === Wt && e2(Iu)), null !== u4 && (Lt = l3, u4 = Ju()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function I2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Ku ? (u4 = Ku, qt += 2) : (u4 = null, 0 === Wt && e2(Nu)), null !== u4 && (Lt = l3, u4 = Pu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function J2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Vu ? (u4 = Vu, qt += 2) : (u4 = null, 0 === Wt && e2(Xu)), null !== u4 && (Lt = l3, u4 = Yu()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function K2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Zu ? (u4 = Zu, qt += 2) : (u4 = null, 0 === Wt && e2(_u)), null !== u4 && (Lt = l3, u4 = nt2()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function N2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === lt2 ? (u4 = lt2, qt += 2) : (u4 = null, 0 === Wt && e2(ut)), null !== u4 && (Lt = l3, u4 = tt2()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function P2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === rt3 ? (u4 = rt3, qt += 2) : (u4 = null, 0 === Wt && e2(et2)), null !== u4 && (Lt = l3, u4 = ot()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function V2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === ct ? (u4 = ct, qt += 2) : (u4 = null, 0 === Wt && e2(it)), null !== u4 && (Lt = l3, u4 = at()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function X2() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === ft ? (u4 = ft, qt += 2) : (u4 = null, 0 === Wt && e2(st)), null !== u4 && (Lt = l3, u4 = ht()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function Y2() {
+                var l3, u4, t3;
+                return l3 = qt, n3.substr(qt, 2) === dt ? (u4 = dt, qt += 2) : (u4 = null, 0 === Wt && e2(pt)), null !== u4 ? (n3.length > qt ? (t3 = n3.charAt(qt), qt++) : (t3 = null, 0 === Wt && e2(vt)), null !== t3 ? (Lt = l3, u4 = wt(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function Z2() {
+                var l3, u4, t3;
+                return l3 = qt, 92 === n3.charCodeAt(qt) ? (u4 = At, qt++) : (u4 = null, 0 === Wt && e2(Ct)), null !== u4 ? (gt.test(n3.charAt(qt)) ? (t3 = n3.charAt(qt), qt++) : (t3 = null, 0 === Wt && e2(bt)), null !== t3 ? (Lt = l3, u4 = kt(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              function _2() {
+                var l3, u4, t3, r3;
+                if (l3 = qt, n3.substr(qt, 2) === Tt ? (u4 = Tt, qt += 2) : (u4 = null, 0 === Wt && e2(xt)), null !== u4) {
+                  if (t3 = [], yt.test(n3.charAt(qt)) ? (r3 = n3.charAt(qt), qt++) : (r3 = null, 0 === Wt && e2(mt)), null !== r3)
+                    for (; null !== r3; )
+                      t3.push(r3), yt.test(n3.charAt(qt)) ? (r3 = n3.charAt(qt), qt++) : (r3 = null, 0 === Wt && e2(mt));
+                  else
+                    t3 = il;
+                  null !== t3 ? (Lt = l3, u4 = Rt(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il);
+                } else
+                  qt = l3, l3 = il;
+                return l3;
+              }
+              function nl() {
+                var l3, u4, t3, r3;
+                if (l3 = qt, n3.substr(qt, 2) === Ft ? (u4 = Ft, qt += 2) : (u4 = null, 0 === Wt && e2(Qt)), null !== u4) {
+                  if (t3 = [], St.test(n3.charAt(qt)) ? (r3 = n3.charAt(qt), qt++) : (r3 = null, 0 === Wt && e2(Ut)), null !== r3)
+                    for (; null !== r3; )
+                      t3.push(r3), St.test(n3.charAt(qt)) ? (r3 = n3.charAt(qt), qt++) : (r3 = null, 0 === Wt && e2(Ut));
+                  else
+                    t3 = il;
+                  null !== t3 ? (Lt = l3, u4 = Et(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il);
+                } else
+                  qt = l3, l3 = il;
+                return l3;
+              }
+              function ll() {
+                var l3, u4, t3, r3;
+                if (l3 = qt, n3.substr(qt, 2) === Gt ? (u4 = Gt, qt += 2) : (u4 = null, 0 === Wt && e2(Bt)), null !== u4) {
+                  if (t3 = [], St.test(n3.charAt(qt)) ? (r3 = n3.charAt(qt), qt++) : (r3 = null, 0 === Wt && e2(Ut)), null !== r3)
+                    for (; null !== r3; )
+                      t3.push(r3), St.test(n3.charAt(qt)) ? (r3 = n3.charAt(qt), qt++) : (r3 = null, 0 === Wt && e2(Ut));
+                  else
+                    t3 = il;
+                  null !== t3 ? (Lt = l3, u4 = jt(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il);
+                } else
+                  qt = l3, l3 = il;
+                return l3;
+              }
+              function ul() {
+                var l3, u4;
+                return l3 = qt, n3.substr(qt, 2) === Tt ? (u4 = Tt, qt += 2) : (u4 = null, 0 === Wt && e2(xt)), null !== u4 && (Lt = l3, u4 = $t()), null === u4 ? (qt = l3, l3 = u4) : l3 = u4, l3;
+              }
+              function tl() {
+                var l3, u4, t3;
+                return l3 = qt, 92 === n3.charCodeAt(qt) ? (u4 = At, qt++) : (u4 = null, 0 === Wt && e2(Ct)), null !== u4 ? (n3.length > qt ? (t3 = n3.charAt(qt), qt++) : (t3 = null, 0 === Wt && e2(vt)), null !== t3 ? (Lt = l3, u4 = bu(t3), null === u4 ? (qt = l3, l3 = u4) : l3 = u4) : (qt = l3, l3 = il)) : (qt = l3, l3 = il), l3;
+              }
+              var rl, el = arguments.length > 1 ? arguments[1] : {}, ol = {
+                regexp: c2
+              }, cl = c2, il = null, al = "", fl = "|", sl = '"|"', hl = function(n4, l3) {
+                return l3 ? new Alternate(n4, l3[1]) : n4;
+              }, dl = function(n4, l3, u4) {
+                return new Match([n4].concat(l3).concat([u4]));
+              }, pl = "^", vl = '"^"', wl = function() {
+                return new Token("start");
+              }, Al = "$", Cl = '"$"', gl = function() {
+                return new Token("end");
+              }, bl = function(n4, l3) {
+                return new Quantified(n4, l3);
+              }, kl = "Quantifier", Tl = function(n4, l3) {
+                return l3 && (n4.greedy = false), n4;
+              }, xl = "{", yl = '"{"', ml = ",", Rl = '","', Fl = "}", Ql = '"}"', Sl = function(n4, l3) {
+                return new Quantifier(n4, l3);
+              }, Ul = ",}", El = '",}"', Gl = function(n4) {
+                return new Quantifier(n4, 1 / 0);
+              }, Bl = function(n4) {
+                return new Quantifier(n4, n4);
+              }, jl = "+", $l = '"+"', ql = function() {
+                return new Quantifier(1, 1 / 0);
+              }, Ll = "*", Ml = '"*"', Dl = function() {
+                return new Quantifier(0, 1 / 0);
+              }, Hl = "?", Ol = '"?"', Wl = function() {
+                return new Quantifier(0, 1);
+              }, zl = /^[0-9]/, Il = "[0-9]", Jl = function(n4) {
+                return +n4.join("");
+              }, Kl = "(", Nl = '"("', Pl = ")", Vl = '")"', Xl = function(n4) {
+                return n4;
+              }, Yl = function(n4) {
+                return new CaptureGroup(n4);
+              }, Zl = "?:", _l = '"?:"', nu = function(n4) {
+                return new Group2("non-capture-group", n4);
+              }, lu = "?=", uu = '"?="', tu = function(n4) {
+                return new Group2("positive-lookahead", n4);
+              }, ru = "?!", eu = '"?!"', ou = function(n4) {
+                return new Group2("negative-lookahead", n4);
+              }, cu = "CharacterSet", iu = "[", au = '"["', fu = "]", su = '"]"', hu = function(n4, l3) {
+                return new CharSet(!!n4, l3);
+              }, du = "CharacterRange", pu = "-", vu = '"-"', wu = function(n4, l3) {
+                return new CharacterRange(n4, l3);
+              }, Au = "Character", Cu = /^[^\\\]]/, gu = "[^\\\\\\]]", bu = function(n4) {
+                return new Literal(n4);
+              }, ku = ".", Tu = '"."', xu = function() {
+                return new Token("any-character");
+              }, yu = "Literal", mu = /^[^|\\\/.[()?+*$\^]/, Ru = "[^|\\\\\\/.[()?+*$\\^]", Fu = "\\b", Qu = '"\\\\b"', Su = function() {
+                return new Token("backspace");
+              }, Uu = function() {
+                return new Token("word-boundary");
+              }, Eu = "\\B", Gu = '"\\\\B"', Bu = function() {
+                return new Token("non-word-boundary");
+              }, ju = "\\d", $u = '"\\\\d"', qu = function() {
+                return new Token("digit");
+              }, Lu = "\\D", Mu = '"\\\\D"', Du = function() {
+                return new Token("non-digit");
+              }, Hu = "\\f", Ou = '"\\\\f"', Wu = function() {
+                return new Token("form-feed");
+              }, zu = "\\n", Iu = '"\\\\n"', Ju = function() {
+                return new Token("line-feed");
+              }, Ku = "\\r", Nu = '"\\\\r"', Pu = function() {
+                return new Token("carriage-return");
+              }, Vu = "\\s", Xu = '"\\\\s"', Yu = function() {
+                return new Token("white-space");
+              }, Zu = "\\S", _u = '"\\\\S"', nt2 = function() {
+                return new Token("non-white-space");
+              }, lt2 = "\\t", ut = '"\\\\t"', tt2 = function() {
+                return new Token("tab");
+              }, rt3 = "\\v", et2 = '"\\\\v"', ot = function() {
+                return new Token("vertical-tab");
+              }, ct = "\\w", it = '"\\\\w"', at = function() {
+                return new Token("word");
+              }, ft = "\\W", st = '"\\\\W"', ht = function() {
+                return new Token("non-word");
+              }, dt = "\\c", pt = '"\\\\c"', vt = "any character", wt = function(n4) {
+                return new ControlCharacter(n4);
+              }, At = "\\", Ct = '"\\\\"', gt = /^[1-9]/, bt = "[1-9]", kt = function(n4) {
+                return new BackReference(n4);
+              }, Tt = "\\0", xt = '"\\\\0"', yt = /^[0-7]/, mt = "[0-7]", Rt = function(n4) {
+                return new Octal(n4.join(""));
+              }, Ft = "\\x", Qt = '"\\\\x"', St = /^[0-9a-fA-F]/, Ut = "[0-9a-fA-F]", Et = function(n4) {
+                return new Hex2(n4.join(""));
+              }, Gt = "\\u", Bt = '"\\\\u"', jt = function(n4) {
+                return new Unicode(n4.join(""));
+              }, $t = function() {
+                return new Token("null-character");
+              }, qt = 0, Lt = 0, Mt = 0, Dt = {
+                line: 1,
+                column: 1,
+                seenCR: false
+              }, Ht = 0, Ot = [], Wt = 0;
+              if ("startRule" in el) {
+                if (!(el.startRule in ol))
+                  throw new Error(`Can't start parsing from rule "` + el.startRule + '".');
+                cl = ol[el.startRule];
+              }
+              if (Token.offset = t2, Token.text = u3, rl = cl(), null !== rl && qt === n3.length)
+                return rl;
+              throw o2(Ot), Lt = Math.max(qt, Ht), new l2(Ot, Lt < n3.length ? n3.charAt(Lt) : null, Lt, r2(Lt).line, r2(Lt).column);
+            }
+            return n2(l2, Error), {
+              SyntaxError: l2,
+              parse: u2
+            };
+          }(), index3 = 1, cgs = {};
+          module2.exports = parser2;
+        },
+        /* 22 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Util2 = __webpack_require__2(3);
+          var Random2 = __webpack_require__2(5);
+          var Handler2 = {
+            extend: Util2.extend
+          };
+          var LOWER = ascii(97, 122);
+          var UPPER = ascii(65, 90);
+          var NUMBER = ascii(48, 57);
+          var OTHER = ascii(32, 47) + ascii(58, 64) + ascii(91, 96) + ascii(123, 126);
+          var PRINTABLE = ascii(32, 126);
+          var SPACE = " \f\n\r	\v \u2028\u2029";
+          var CHARACTER_CLASSES = {
+            "\\w": LOWER + UPPER + NUMBER + "_",
+            // ascii(95, 95)
+            "\\W": OTHER.replace("_", ""),
+            "\\s": SPACE,
+            "\\S": function() {
+              var result2 = PRINTABLE;
+              for (var i2 = 0; i2 < SPACE.length; i2++) {
+                result2 = result2.replace(SPACE[i2], "");
+              }
+              return result2;
+            }(),
+            "\\d": NUMBER,
+            "\\D": LOWER + UPPER + OTHER
+          };
+          function ascii(from, to) {
+            var result2 = "";
+            for (var i2 = from; i2 <= to; i2++) {
+              result2 += String.fromCharCode(i2);
+            }
+            return result2;
+          }
+          Handler2.gen = function(node, result2, cache) {
+            cache = cache || {
+              guid: 1
+            };
+            return Handler2[node.type] ? Handler2[node.type](node, result2, cache) : Handler2.token(node, result2, cache);
+          };
+          Handler2.extend({
+            /* jshint unused:false */
+            token: function(node, result2, cache) {
+              switch (node.type) {
+                case "start":
+                case "end":
+                  return "";
+                case "any-character":
+                  return Random2.character();
+                case "backspace":
+                  return "";
+                case "word-boundary":
+                  return "";
+                case "non-word-boundary":
+                  break;
+                case "digit":
+                  return Random2.pick(
+                    NUMBER.split("")
+                  );
+                case "non-digit":
+                  return Random2.pick(
+                    (LOWER + UPPER + OTHER).split("")
+                  );
+                case "form-feed":
+                  break;
+                case "line-feed":
+                  return node.body || node.text;
+                case "carriage-return":
+                  break;
+                case "white-space":
+                  return Random2.pick(
+                    SPACE.split("")
+                  );
+                case "non-white-space":
+                  return Random2.pick(
+                    (LOWER + UPPER + NUMBER).split("")
+                  );
+                case "tab":
+                  break;
+                case "vertical-tab":
+                  break;
+                case "word":
+                  return Random2.pick(
+                    (LOWER + UPPER + NUMBER).split("")
+                  );
+                case "non-word":
+                  return Random2.pick(
+                    OTHER.replace("_", "").split("")
+                  );
+              }
+              return node.body || node.text;
+            },
+            /*
+                {
+                    type: 'alternate',
+                    offset: 0,
+                    text: '',
+                    left: {
+                        boyd: []
+                    },
+                    right: {
+                        boyd: []
+                    }
+                }
+            */
+            alternate: function(node, result2, cache) {
+              return this.gen(
+                Random2.boolean() ? node.left : node.right,
+                result2,
+                cache
+              );
+            },
+            /*
+                {
+                    type: 'match',
+                    offset: 0,
+                    text: '',
+                    body: []
+                }
+            */
+            match: function(node, result2, cache) {
+              result2 = "";
+              for (var i2 = 0; i2 < node.body.length; i2++) {
+                result2 += this.gen(node.body[i2], result2, cache);
+              }
+              return result2;
+            },
+            // ()
+            "capture-group": function(node, result2, cache) {
+              result2 = this.gen(node.body, result2, cache);
+              cache[cache.guid++] = result2;
+              return result2;
+            },
+            // (?:...)
+            "non-capture-group": function(node, result2, cache) {
+              return this.gen(node.body, result2, cache);
+            },
+            // (?=p)
+            "positive-lookahead": function(node, result2, cache) {
+              return this.gen(node.body, result2, cache);
+            },
+            // (?!p)
+            "negative-lookahead": function(node, result2, cache) {
+              return "";
+            },
+            /*
+                {
+                    type: 'quantified',
+                    offset: 3,
+                    text: 'c*',
+                    body: {
+                        type: 'literal',
+                        offset: 3,
+                        text: 'c',
+                        body: 'c',
+                        escaped: false
+                    },
+                    quantifier: {
+                        type: 'quantifier',
+                        offset: 4,
+                        text: '*',
+                        min: 0,
+                        max: Infinity,
+                        greedy: true
+                    }
+                }
+            */
+            quantified: function(node, result2, cache) {
+              result2 = "";
+              var count2 = this.quantifier(node.quantifier);
+              for (var i2 = 0; i2 < count2; i2++) {
+                result2 += this.gen(node.body, result2, cache);
+              }
+              return result2;
+            },
+            /*
+                quantifier: {
+                    type: 'quantifier',
+                    offset: 4,
+                    text: '*',
+                    min: 0,
+                    max: Infinity,
+                    greedy: true
+                }
+            */
+            quantifier: function(node, result2, cache) {
+              var min3 = Math.max(node.min, 0);
+              var max3 = isFinite(node.max) ? node.max : min3 + Random2.integer(3, 7);
+              return Random2.integer(min3, max3);
+            },
+            /*
+                
+            */
+            charset: function(node, result2, cache) {
+              if (node.invert)
+                return this["invert-charset"](node, result2, cache);
+              var literal2 = Random2.pick(node.body);
+              return this.gen(literal2, result2, cache);
+            },
+            "invert-charset": function(node, result2, cache) {
+              var pool = PRINTABLE;
+              for (var i2 = 0, item; i2 < node.body.length; i2++) {
+                item = node.body[i2];
+                switch (item.type) {
+                  case "literal":
+                    pool = pool.replace(item.body, "");
+                    break;
+                  case "range":
+                    var min3 = this.gen(item.start, result2, cache).charCodeAt();
+                    var max3 = this.gen(item.end, result2, cache).charCodeAt();
+                    for (var ii = min3; ii <= max3; ii++) {
+                      pool = pool.replace(String.fromCharCode(ii), "");
+                    }
+                  default:
+                    var characters = CHARACTER_CLASSES[item.text];
+                    if (characters) {
+                      for (var iii = 0; iii <= characters.length; iii++) {
+                        pool = pool.replace(characters[iii], "");
+                      }
+                    }
+                }
+              }
+              return Random2.pick(pool.split(""));
+            },
+            range: function(node, result2, cache) {
+              var min3 = this.gen(node.start, result2, cache).charCodeAt();
+              var max3 = this.gen(node.end, result2, cache).charCodeAt();
+              return String.fromCharCode(
+                Random2.integer(min3, max3)
+              );
+            },
+            literal: function(node, result2, cache) {
+              return node.escaped ? node.body : node.text;
+            },
+            // Unicode \u
+            unicode: function(node, result2, cache) {
+              return String.fromCharCode(
+                parseInt(node.code, 16)
+              );
+            },
+            // 十六进制 \xFF
+            hex: function(node, result2, cache) {
+              return String.fromCharCode(
+                parseInt(node.code, 16)
+              );
+            },
+            // 八进制 \0
+            octal: function(node, result2, cache) {
+              return String.fromCharCode(
+                parseInt(node.code, 8)
+              );
+            },
+            // 反向引用
+            "back-reference": function(node, result2, cache) {
+              return cache[node.code] || "";
+            },
+            /*
+                http://en.wikipedia.org/wiki/C0_and_C1_control_codes
+            */
+            CONTROL_CHARACTER_MAP: function() {
+              var CONTROL_CHARACTER = "@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \\ ] ^ _".split(" ");
+              var CONTROL_CHARACTER_UNICODE = "\0       \x07 \b 	 \n \v \f \r              \x1B    ".split(" ");
+              var map2 = {};
+              for (var i2 = 0; i2 < CONTROL_CHARACTER.length; i2++) {
+                map2[CONTROL_CHARACTER[i2]] = CONTROL_CHARACTER_UNICODE[i2];
+              }
+              return map2;
+            }(),
+            "control-character": function(node, result2, cache) {
+              return this.CONTROL_CHARACTER_MAP[node.code];
+            }
+          });
+          module2.exports = Handler2;
+        },
+        /* 23 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          module2.exports = __webpack_require__2(24);
+        },
+        /* 24 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Constant2 = __webpack_require__2(2);
+          var Util2 = __webpack_require__2(3);
+          var Parser2 = __webpack_require__2(4);
+          function toJSONSchema(template3, name2, path2) {
+            path2 = path2 || [];
+            var result2 = {
+              name: typeof name2 === "string" ? name2.replace(Constant2.RE_KEY, "$1") : name2,
+              template: template3,
+              type: Util2.type(template3),
+              // 可能不准确,例如 { 'name|1': [{}, {} ...] }
+              rule: Parser2.parse(name2)
+            };
+            result2.path = path2.slice(0);
+            result2.path.push(name2 === void 0 ? "ROOT" : result2.name);
+            switch (result2.type) {
+              case "array":
+                result2.items = [];
+                Util2.each(template3, function(value, index3) {
+                  result2.items.push(
+                    toJSONSchema(value, index3, result2.path)
+                  );
+                });
+                break;
+              case "object":
+                result2.properties = [];
+                Util2.each(template3, function(value, name3) {
+                  result2.properties.push(
+                    toJSONSchema(value, name3, result2.path)
+                  );
+                });
+                break;
+            }
+            return result2;
+          }
+          module2.exports = toJSONSchema;
+        },
+        /* 25 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          module2.exports = __webpack_require__2(26);
+        },
+        /* 26 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Constant2 = __webpack_require__2(2);
+          var Util2 = __webpack_require__2(3);
+          var toJSONSchema = __webpack_require__2(23);
+          function valid(template3, data2) {
+            var schema = toJSONSchema(template3);
+            var result2 = Diff.diff(schema, data2);
+            for (var i2 = 0; i2 < result2.length; i2++) {
+            }
+            return result2;
+          }
+          var Diff = {
+            diff: function diff(schema, data2, name2) {
+              var result2 = [];
+              if (this.name(schema, data2, name2, result2) && this.type(schema, data2, name2, result2)) {
+                this.value(schema, data2, name2, result2);
+                this.properties(schema, data2, name2, result2);
+                this.items(schema, data2, name2, result2);
+              }
+              return result2;
+            },
+            /* jshint unused:false */
+            name: function(schema, data2, name2, result2) {
+              var length2 = result2.length;
+              Assert.equal("name", schema.path, name2 + "", schema.name + "", result2);
+              return result2.length === length2;
+            },
+            type: function(schema, data2, name2, result2) {
+              var length2 = result2.length;
+              switch (schema.type) {
+                case "string":
+                  if (schema.template.match(Constant2.RE_PLACEHOLDER))
+                    return true;
+                  break;
+                case "array":
+                  if (schema.rule.parameters) {
+                    if (schema.rule.min !== void 0 && schema.rule.max === void 0) {
+                      if (schema.rule.count === 1)
+                        return true;
+                    }
+                    if (schema.rule.parameters[2])
+                      return true;
+                  }
+                  break;
+                case "function":
+                  return true;
+              }
+              Assert.equal("type", schema.path, Util2.type(data2), schema.type, result2);
+              return result2.length === length2;
+            },
+            value: function(schema, data2, name2, result2) {
+              var length2 = result2.length;
+              var rule = schema.rule;
+              var templateType = schema.type;
+              if (templateType === "object" || templateType === "array" || templateType === "function")
+                return true;
+              if (!rule.parameters) {
+                switch (templateType) {
+                  case "regexp":
+                    Assert.match("value", schema.path, data2, schema.template, result2);
+                    return result2.length === length2;
+                  case "string":
+                    if (schema.template.match(Constant2.RE_PLACEHOLDER))
+                      return result2.length === length2;
+                    break;
+                }
+                Assert.equal("value", schema.path, data2, schema.template, result2);
+                return result2.length === length2;
+              }
+              var actualRepeatCount;
+              switch (templateType) {
+                case "number":
+                  var parts2 = (data2 + "").split(".");
+                  parts2[0] = +parts2[0];
+                  if (rule.min !== void 0 && rule.max !== void 0) {
+                    Assert.greaterThanOrEqualTo("value", schema.path, parts2[0], Math.min(rule.min, rule.max), result2);
+                    Assert.lessThanOrEqualTo("value", schema.path, parts2[0], Math.max(rule.min, rule.max), result2);
+                  }
+                  if (rule.min !== void 0 && rule.max === void 0) {
+                    Assert.equal("value", schema.path, parts2[0], rule.min, result2, "[value] " + name2);
+                  }
+                  if (rule.decimal) {
+                    if (rule.dmin !== void 0 && rule.dmax !== void 0) {
+                      Assert.greaterThanOrEqualTo("value", schema.path, parts2[1].length, rule.dmin, result2);
+                      Assert.lessThanOrEqualTo("value", schema.path, parts2[1].length, rule.dmax, result2);
+                    }
+                    if (rule.dmin !== void 0 && rule.dmax === void 0) {
+                      Assert.equal("value", schema.path, parts2[1].length, rule.dmin, result2);
+                    }
+                  }
+                  break;
+                case "boolean":
+                  break;
+                case "string":
+                  actualRepeatCount = data2.match(new RegExp(schema.template, "g"));
+                  actualRepeatCount = actualRepeatCount ? actualRepeatCount.length : 0;
+                  if (rule.min !== void 0 && rule.max !== void 0) {
+                    Assert.greaterThanOrEqualTo("repeat count", schema.path, actualRepeatCount, rule.min, result2);
+                    Assert.lessThanOrEqualTo("repeat count", schema.path, actualRepeatCount, rule.max, result2);
+                  }
+                  if (rule.min !== void 0 && rule.max === void 0) {
+                    Assert.equal("repeat count", schema.path, actualRepeatCount, rule.min, result2);
+                  }
+                  break;
+                case "regexp":
+                  actualRepeatCount = data2.match(new RegExp(schema.template.source.replace(/^\^|\$$/g, ""), "g"));
+                  actualRepeatCount = actualRepeatCount ? actualRepeatCount.length : 0;
+                  if (rule.min !== void 0 && rule.max !== void 0) {
+                    Assert.greaterThanOrEqualTo("repeat count", schema.path, actualRepeatCount, rule.min, result2);
+                    Assert.lessThanOrEqualTo("repeat count", schema.path, actualRepeatCount, rule.max, result2);
+                  }
+                  if (rule.min !== void 0 && rule.max === void 0) {
+                    Assert.equal("repeat count", schema.path, actualRepeatCount, rule.min, result2);
+                  }
+                  break;
+              }
+              return result2.length === length2;
+            },
+            properties: function(schema, data2, name2, result2) {
+              var length2 = result2.length;
+              var rule = schema.rule;
+              var keys2 = Util2.keys(data2);
+              if (!schema.properties)
+                return;
+              if (!schema.rule.parameters) {
+                Assert.equal("properties length", schema.path, keys2.length, schema.properties.length, result2);
+              } else {
+                if (rule.min !== void 0 && rule.max !== void 0) {
+                  Assert.greaterThanOrEqualTo("properties length", schema.path, keys2.length, Math.min(rule.min, rule.max), result2);
+                  Assert.lessThanOrEqualTo("properties length", schema.path, keys2.length, Math.max(rule.min, rule.max), result2);
+                }
+                if (rule.min !== void 0 && rule.max === void 0) {
+                  if (rule.count !== 1)
+                    Assert.equal("properties length", schema.path, keys2.length, rule.min, result2);
+                }
+              }
+              if (result2.length !== length2)
+                return false;
+              for (var i2 = 0; i2 < keys2.length; i2++) {
+                result2.push.apply(
+                  result2,
+                  this.diff(
+                    function() {
+                      var property;
+                      Util2.each(schema.properties, function(item) {
+                        if (item.name === keys2[i2])
+                          property = item;
+                      });
+                      return property || schema.properties[i2];
+                    }(),
+                    data2[keys2[i2]],
+                    keys2[i2]
+                  )
+                );
+              }
+              return result2.length === length2;
+            },
+            items: function(schema, data2, name2, result2) {
+              var length2 = result2.length;
+              if (!schema.items)
+                return;
+              var rule = schema.rule;
+              if (!schema.rule.parameters) {
+                Assert.equal("items length", schema.path, data2.length, schema.items.length, result2);
+              } else {
+                if (rule.min !== void 0 && rule.max !== void 0) {
+                  Assert.greaterThanOrEqualTo(
+                    "items",
+                    schema.path,
+                    data2.length,
+                    Math.min(rule.min, rule.max) * schema.items.length,
+                    result2,
+                    "[{utype}] array is too short: {path} must have at least {expected} elements but instance has {actual} elements"
+                  );
+                  Assert.lessThanOrEqualTo(
+                    "items",
+                    schema.path,
+                    data2.length,
+                    Math.max(rule.min, rule.max) * schema.items.length,
+                    result2,
+                    "[{utype}] array is too long: {path} must have at most {expected} elements but instance has {actual} elements"
+                  );
+                }
+                if (rule.min !== void 0 && rule.max === void 0) {
+                  if (rule.count === 1)
+                    return result2.length === length2;
+                  else
+                    Assert.equal("items length", schema.path, data2.length, rule.min * schema.items.length, result2);
+                }
+                if (rule.parameters[2])
+                  return result2.length === length2;
+              }
+              if (result2.length !== length2)
+                return false;
+              for (var i2 = 0; i2 < data2.length; i2++) {
+                result2.push.apply(
+                  result2,
+                  this.diff(
+                    schema.items[i2 % schema.items.length],
+                    data2[i2],
+                    i2 % schema.items.length
+                  )
+                );
+              }
+              return result2.length === length2;
+            }
+          };
+          var Assert = {
+            message: function(item) {
+              return (item.message || "[{utype}] Expect {path}'{ltype} {action} {expected}, but is {actual}").replace("{utype}", item.type.toUpperCase()).replace("{ltype}", item.type.toLowerCase()).replace("{path}", Util2.isArray(item.path) && item.path.join(".") || item.path).replace("{action}", item.action).replace("{expected}", item.expected).replace("{actual}", item.actual);
+            },
+            equal: function(type2, path2, actual, expected, result2, message) {
+              if (actual === expected)
+                return true;
+              switch (type2) {
+                case "type":
+                  if (expected === "regexp" && actual === "string")
+                    return true;
+                  break;
+              }
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "is equal to",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            },
+            // actual matches expected
+            match: function(type2, path2, actual, expected, result2, message) {
+              if (expected.test(actual))
+                return true;
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "matches",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            },
+            notEqual: function(type2, path2, actual, expected, result2, message) {
+              if (actual !== expected)
+                return true;
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "is not equal to",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            },
+            greaterThan: function(type2, path2, actual, expected, result2, message) {
+              if (actual > expected)
+                return true;
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "is greater than",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            },
+            lessThan: function(type2, path2, actual, expected, result2, message) {
+              if (actual < expected)
+                return true;
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "is less to",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            },
+            greaterThanOrEqualTo: function(type2, path2, actual, expected, result2, message) {
+              if (actual >= expected)
+                return true;
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "is greater than or equal to",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            },
+            lessThanOrEqualTo: function(type2, path2, actual, expected, result2, message) {
+              if (actual <= expected)
+                return true;
+              var item = {
+                path: path2,
+                type: type2,
+                actual,
+                expected,
+                action: "is less than or equal to",
+                message
+              };
+              item.message = Assert.message(item);
+              result2.push(item);
+              return false;
+            }
+          };
+          valid.Diff = Diff;
+          valid.Assert = Assert;
+          module2.exports = valid;
+        },
+        /* 27 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          module2.exports = __webpack_require__2(28);
+        },
+        /* 28 */
+        /***/
+        function(module2, exports2, __webpack_require__2) {
+          var Util2 = __webpack_require__2(3);
+          window._XMLHttpRequest = window.XMLHttpRequest;
+          window._ActiveXObject = window.ActiveXObject;
+          try {
+            new window.Event("custom");
+          } catch (exception2) {
+            window.Event = function(type2, bubbles, cancelable, detail) {
+              var event2 = document.createEvent("CustomEvent");
+              event2.initCustomEvent(type2, bubbles, cancelable, detail);
+              return event2;
+            };
+          }
+          var XHR_STATES = {
+            // The object has been constructed.
+            UNSENT: 0,
+            // The open() method has been successfully invoked.
+            OPENED: 1,
+            // All redirects (if any) have been followed and all HTTP headers of the response have been received.
+            HEADERS_RECEIVED: 2,
+            // The response's body is being received.
+            LOADING: 3,
+            // The data transfer has been completed or something went wrong during the transfer (e.g. infinite redirects).
+            DONE: 4
+          };
+          var XHR_EVENTS = "readystatechange loadstart progress abort error load timeout loadend".split(" ");
+          var XHR_REQUEST_PROPERTIES = "timeout withCredentials".split(" ");
+          var XHR_RESPONSE_PROPERTIES = "readyState responseURL status statusText responseType response responseText responseXML".split(" ");
+          var HTTP_STATUS_CODES = {
+            100: "Continue",
+            101: "Switching Protocols",
+            200: "OK",
+            201: "Created",
+            202: "Accepted",
+            203: "Non-Authoritative Information",
+            204: "No Content",
+            205: "Reset Content",
+            206: "Partial Content",
+            300: "Multiple Choice",
+            301: "Moved Permanently",
+            302: "Found",
+            303: "See Other",
+            304: "Not Modified",
+            305: "Use Proxy",
+            307: "Temporary Redirect",
+            400: "Bad Request",
+            401: "Unauthorized",
+            402: "Payment Required",
+            403: "Forbidden",
+            404: "Not Found",
+            405: "Method Not Allowed",
+            406: "Not Acceptable",
+            407: "Proxy Authentication Required",
+            408: "Request Timeout",
+            409: "Conflict",
+            410: "Gone",
+            411: "Length Required",
+            412: "Precondition Failed",
+            413: "Request Entity Too Large",
+            414: "Request-URI Too Long",
+            415: "Unsupported Media Type",
+            416: "Requested Range Not Satisfiable",
+            417: "Expectation Failed",
+            422: "Unprocessable Entity",
+            500: "Internal Server Error",
+            501: "Not Implemented",
+            502: "Bad Gateway",
+            503: "Service Unavailable",
+            504: "Gateway Timeout",
+            505: "HTTP Version Not Supported"
+          };
+          function MockXMLHttpRequest() {
+            this.custom = {
+              events: {},
+              requestHeaders: {},
+              responseHeaders: {}
+            };
+          }
+          MockXMLHttpRequest._settings = {
+            timeout: "10-100"
+            /*
+                timeout: 50,
+                timeout: '10-100',
+             */
+          };
+          MockXMLHttpRequest.setup = function(settings) {
+            Util2.extend(MockXMLHttpRequest._settings, settings);
+            return MockXMLHttpRequest._settings;
+          };
+          Util2.extend(MockXMLHttpRequest, XHR_STATES);
+          Util2.extend(MockXMLHttpRequest.prototype, XHR_STATES);
+          MockXMLHttpRequest.prototype.mock = true;
+          MockXMLHttpRequest.prototype.match = false;
+          Util2.extend(MockXMLHttpRequest.prototype, {
+            // https://xhr.spec.whatwg.org/#the-open()-method
+            // Sets the request method, request URL, and synchronous flag.
+            open: function(method, url, async, username, password) {
+              var that = this;
+              Util2.extend(this.custom, {
+                method,
+                url,
+                async: typeof async === "boolean" ? async : true,
+                username,
+                password,
+                options: {
+                  url,
+                  type: method
+                }
+              });
+              this.custom.timeout = function(timeout) {
+                if (typeof timeout === "number")
+                  return timeout;
+                if (typeof timeout === "string" && !~timeout.indexOf("-"))
+                  return parseInt(timeout, 10);
+                if (typeof timeout === "string" && ~timeout.indexOf("-")) {
+                  var tmp = timeout.split("-");
+                  var min3 = parseInt(tmp[0], 10);
+                  var max3 = parseInt(tmp[1], 10);
+                  return Math.round(Math.random() * (max3 - min3)) + min3;
+                }
+              }(MockXMLHttpRequest._settings.timeout);
+              var item = find2(this.custom.options);
+              function handle2(event2) {
+                for (var i3 = 0; i3 < XHR_RESPONSE_PROPERTIES.length; i3++) {
+                  try {
+                    that[XHR_RESPONSE_PROPERTIES[i3]] = xhr2[XHR_RESPONSE_PROPERTIES[i3]];
+                  } catch (e2) {
+                  }
+                }
+                that.dispatchEvent(new Event(
+                  event2.type
+                  /*, false, false, that*/
+                ));
+              }
+              if (!item) {
+                var xhr2 = createNativeXMLHttpRequest();
+                this.custom.xhr = xhr2;
+                for (var i2 = 0; i2 < XHR_EVENTS.length; i2++) {
+                  xhr2.addEventListener(XHR_EVENTS[i2], handle2);
+                }
+                if (username)
+                  xhr2.open(method, url, async, username, password);
+                else
+                  xhr2.open(method, url, async);
+                for (var j2 = 0; j2 < XHR_REQUEST_PROPERTIES.length; j2++) {
+                  try {
+                    xhr2[XHR_REQUEST_PROPERTIES[j2]] = that[XHR_REQUEST_PROPERTIES[j2]];
+                  } catch (e2) {
+                  }
+                }
+                return;
+              }
+              this.match = true;
+              this.custom.template = item;
+              this.readyState = MockXMLHttpRequest.OPENED;
+              this.dispatchEvent(new Event(
+                "readystatechange"
+                /*, false, false, this*/
+              ));
+            },
+            // https://xhr.spec.whatwg.org/#the-setrequestheader()-method
+            // Combines a header in author request headers.
+            setRequestHeader: function(name2, value) {
+              if (!this.match) {
+                this.custom.xhr.setRequestHeader(name2, value);
+                return;
+              }
+              var requestHeaders = this.custom.requestHeaders;
+              if (requestHeaders[name2])
+                requestHeaders[name2] += "," + value;
+              else
+                requestHeaders[name2] = value;
+            },
+            timeout: 0,
+            withCredentials: false,
+            upload: {},
+            // https://xhr.spec.whatwg.org/#the-send()-method
+            // Initiates the request.
+            send: function send(data2) {
+              var that = this;
+              this.custom.options.body = data2;
+              if (!this.match) {
+                this.custom.xhr.send(data2);
+                return;
+              }
+              this.setRequestHeader("X-Requested-With", "MockXMLHttpRequest");
+              this.dispatchEvent(new Event(
+                "loadstart"
+                /*, false, false, this*/
+              ));
+              if (this.custom.async)
+                setTimeout(done, this.custom.timeout);
+              else
+                done();
+              function done() {
+                that.readyState = MockXMLHttpRequest.HEADERS_RECEIVED;
+                that.dispatchEvent(new Event(
+                  "readystatechange"
+                  /*, false, false, that*/
+                ));
+                that.readyState = MockXMLHttpRequest.LOADING;
+                that.dispatchEvent(new Event(
+                  "readystatechange"
+                  /*, false, false, that*/
+                ));
+                that.status = 200;
+                that.statusText = HTTP_STATUS_CODES[200];
+                that.response = that.responseText = JSON.stringify(
+                  convert(that.custom.template, that.custom.options),
+                  null,
+                  4
+                );
+                that.readyState = MockXMLHttpRequest.DONE;
+                that.dispatchEvent(new Event(
+                  "readystatechange"
+                  /*, false, false, that*/
+                ));
+                that.dispatchEvent(new Event(
+                  "load"
+                  /*, false, false, that*/
+                ));
+                that.dispatchEvent(new Event(
+                  "loadend"
+                  /*, false, false, that*/
+                ));
+              }
+            },
+            // https://xhr.spec.whatwg.org/#the-abort()-method
+            // Cancels any network activity.
+            abort: function abort() {
+              if (!this.match) {
+                this.custom.xhr.abort();
+                return;
+              }
+              this.readyState = MockXMLHttpRequest.UNSENT;
+              this.dispatchEvent(new Event("abort", false, false, this));
+              this.dispatchEvent(new Event("error", false, false, this));
+            }
+          });
+          Util2.extend(MockXMLHttpRequest.prototype, {
+            responseURL: "",
+            status: MockXMLHttpRequest.UNSENT,
+            statusText: "",
+            // https://xhr.spec.whatwg.org/#the-getresponseheader()-method
+            getResponseHeader: function(name2) {
+              if (!this.match) {
+                return this.custom.xhr.getResponseHeader(name2);
+              }
+              return this.custom.responseHeaders[name2.toLowerCase()];
+            },
+            // https://xhr.spec.whatwg.org/#the-getallresponseheaders()-method
+            // http://www.utf8-chartable.de/
+            getAllResponseHeaders: function() {
+              if (!this.match) {
+                return this.custom.xhr.getAllResponseHeaders();
+              }
+              var responseHeaders = this.custom.responseHeaders;
+              var headers = "";
+              for (var h3 in responseHeaders) {
+                if (!responseHeaders.hasOwnProperty(h3))
+                  continue;
+                headers += h3 + ": " + responseHeaders[h3] + "\r\n";
+              }
+              return headers;
+            },
+            overrideMimeType: function() {
+            },
+            responseType: "",
+            // '', 'text', 'arraybuffer', 'blob', 'document', 'json'
+            response: null,
+            responseText: "",
+            responseXML: null
+          });
+          Util2.extend(MockXMLHttpRequest.prototype, {
+            addEventListener: function addEventListener2(type2, handle2) {
+              var events = this.custom.events;
+              if (!events[type2])
+                events[type2] = [];
+              events[type2].push(handle2);
+            },
+            removeEventListener: function removeEventListener2(type2, handle2) {
+              var handles = this.custom.events[type2] || [];
+              for (var i2 = 0; i2 < handles.length; i2++) {
+                if (handles[i2] === handle2) {
+                  handles.splice(i2--, 1);
+                }
+              }
+            },
+            dispatchEvent: function dispatchEvent(event2) {
+              var handles = this.custom.events[event2.type] || [];
+              for (var i2 = 0; i2 < handles.length; i2++) {
+                handles[i2].call(this, event2);
+              }
+              var ontype = "on" + event2.type;
+              if (this[ontype])
+                this[ontype](event2);
+            }
+          });
+          function createNativeXMLHttpRequest() {
+            var isLocal = function() {
+              var rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/;
+              var rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/;
+              var ajaxLocation = location.href;
+              var ajaxLocParts = rurl.exec(ajaxLocation.toLowerCase()) || [];
+              return rlocalProtocol.test(ajaxLocParts[1]);
+            }();
+            return window.ActiveXObject ? !isLocal && createStandardXHR() || createActiveXHR() : createStandardXHR();
+            function createStandardXHR() {
+              try {
+                return new window._XMLHttpRequest();
+              } catch (e2) {
+              }
+            }
+            function createActiveXHR() {
+              try {
+                return new window._ActiveXObject("Microsoft.XMLHTTP");
+              } catch (e2) {
+              }
+            }
+          }
+          function find2(options2) {
+            for (var sUrlType in MockXMLHttpRequest.Mock._mocked) {
+              var item = MockXMLHttpRequest.Mock._mocked[sUrlType];
+              if ((!item.rurl || match(item.rurl, options2.url)) && (!item.rtype || match(item.rtype, options2.type.toLowerCase()))) {
+                return item;
+              }
+            }
+            function match(expected, actual) {
+              if (Util2.type(expected) === "string") {
+                return expected === actual;
+              }
+              if (Util2.type(expected) === "regexp") {
+                return expected.test(actual);
+              }
+            }
+          }
+          function convert(item, options2) {
+            return Util2.isFunction(item.template) ? item.template(options2) : MockXMLHttpRequest.Mock.mock(item.template);
+          }
+          module2.exports = MockXMLHttpRequest;
+        }
+        /******/
+      ])
+    );
+  });
+})(mock);
+var mockExports = mock.exports;
+const Mock$1 = /* @__PURE__ */ getDefaultExportFromCjs(mockExports);
+function lexer(str) {
+  var tokens = [];
+  var i2 = 0;
+  while (i2 < str.length) {
+    var char = str[i2];
+    if (char === "*" || char === "+" || char === "?") {
+      tokens.push({ type: "MODIFIER", index: i2, value: str[i2++] });
+      continue;
+    }
+    if (char === "\\") {
+      tokens.push({ type: "ESCAPED_CHAR", index: i2++, value: str[i2++] });
+      continue;
+    }
+    if (char === "{") {
+      tokens.push({ type: "OPEN", index: i2, value: str[i2++] });
+      continue;
+    }
+    if (char === "}") {
+      tokens.push({ type: "CLOSE", index: i2, value: str[i2++] });
+      continue;
+    }
+    if (char === ":") {
+      var name2 = "";
+      var j2 = i2 + 1;
+      while (j2 < str.length) {
+        var code = str.charCodeAt(j2);
+        if (
+          // `0-9`
+          code >= 48 && code <= 57 || // `A-Z`
+          code >= 65 && code <= 90 || // `a-z`
+          code >= 97 && code <= 122 || // `_`
+          code === 95
+        ) {
+          name2 += str[j2++];
+          continue;
+        }
+        break;
+      }
+      if (!name2)
+        throw new TypeError("Missing parameter name at ".concat(i2));
+      tokens.push({ type: "NAME", index: i2, value: name2 });
+      i2 = j2;
+      continue;
+    }
+    if (char === "(") {
+      var count2 = 1;
+      var pattern = "";
+      var j2 = i2 + 1;
+      if (str[j2] === "?") {
+        throw new TypeError('Pattern cannot start with "?" at '.concat(j2));
+      }
+      while (j2 < str.length) {
+        if (str[j2] === "\\") {
+          pattern += str[j2++] + str[j2++];
+          continue;
+        }
+        if (str[j2] === ")") {
+          count2--;
+          if (count2 === 0) {
+            j2++;
+            break;
+          }
+        } else if (str[j2] === "(") {
+          count2++;
+          if (str[j2 + 1] !== "?") {
+            throw new TypeError("Capturing groups are not allowed at ".concat(j2));
+          }
+        }
+        pattern += str[j2++];
+      }
+      if (count2)
+        throw new TypeError("Unbalanced pattern at ".concat(i2));
+      if (!pattern)
+        throw new TypeError("Missing pattern at ".concat(i2));
+      tokens.push({ type: "PATTERN", index: i2, value: pattern });
+      i2 = j2;
+      continue;
+    }
+    tokens.push({ type: "CHAR", index: i2, value: str[i2++] });
+  }
+  tokens.push({ type: "END", index: i2, value: "" });
+  return tokens;
+}
+function parse(str, options2) {
+  if (options2 === void 0) {
+    options2 = {};
+  }
+  var tokens = lexer(str);
+  var _a2 = options2.prefixes, prefixes = _a2 === void 0 ? "./" : _a2;
+  var defaultPattern = "[^".concat(escapeString(options2.delimiter || "/#?"), "]+?");
+  var result2 = [];
+  var key2 = 0;
+  var i2 = 0;
+  var path2 = "";
+  var tryConsume = function(type2) {
+    if (i2 < tokens.length && tokens[i2].type === type2)
+      return tokens[i2++].value;
+  };
+  var mustConsume = function(type2) {
+    var value2 = tryConsume(type2);
+    if (value2 !== void 0)
+      return value2;
+    var _a3 = tokens[i2], nextType = _a3.type, index3 = _a3.index;
+    throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index3, ", expected ").concat(type2));
+  };
+  var consumeText = function() {
+    var result3 = "";
+    var value2;
+    while (value2 = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) {
+      result3 += value2;
+    }
+    return result3;
+  };
+  while (i2 < tokens.length) {
+    var char = tryConsume("CHAR");
+    var name2 = tryConsume("NAME");
+    var pattern = tryConsume("PATTERN");
+    if (name2 || pattern) {
+      var prefix = char || "";
+      if (prefixes.indexOf(prefix) === -1) {
+        path2 += prefix;
+        prefix = "";
+      }
+      if (path2) {
+        result2.push(path2);
+        path2 = "";
+      }
+      result2.push({
+        name: name2 || key2++,
+        prefix,
+        suffix: "",
+        pattern: pattern || defaultPattern,
+        modifier: tryConsume("MODIFIER") || ""
+      });
+      continue;
+    }
+    var value = char || tryConsume("ESCAPED_CHAR");
+    if (value) {
+      path2 += value;
+      continue;
+    }
+    if (path2) {
+      result2.push(path2);
+      path2 = "";
+    }
+    var open2 = tryConsume("OPEN");
+    if (open2) {
+      var prefix = consumeText();
+      var name_1 = tryConsume("NAME") || "";
+      var pattern_1 = tryConsume("PATTERN") || "";
+      var suffix = consumeText();
+      mustConsume("CLOSE");
+      result2.push({
+        name: name_1 || (pattern_1 ? key2++ : ""),
+        pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,
+        prefix,
+        suffix,
+        modifier: tryConsume("MODIFIER") || ""
+      });
+      continue;
+    }
+    mustConsume("END");
+  }
+  return result2;
+}
+function escapeString(str) {
+  return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
+}
+function flags(options2) {
+  return options2 && options2.sensitive ? "" : "i";
+}
+function regexpToRegexp(path2, keys2) {
+  if (!keys2)
+    return path2;
+  var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g;
+  var index3 = 0;
+  var execResult = groupsRegex.exec(path2.source);
+  while (execResult) {
+    keys2.push({
+      // Use parenthesized substring match if available, index otherwise
+      name: execResult[1] || index3++,
+      prefix: "",
+      suffix: "",
+      modifier: "",
+      pattern: ""
+    });
+    execResult = groupsRegex.exec(path2.source);
+  }
+  return path2;
+}
+function arrayToRegexp(paths, keys2, options2) {
+  var parts2 = paths.map(function(path2) {
+    return pathToRegexp(path2, keys2, options2).source;
+  });
+  return new RegExp("(?:".concat(parts2.join("|"), ")"), flags(options2));
+}
+function stringToRegexp(path2, keys2, options2) {
+  return tokensToRegexp(parse(path2, options2), keys2, options2);
+}
+function tokensToRegexp(tokens, keys2, options2) {
+  if (options2 === void 0) {
+    options2 = {};
+  }
+  var _a2 = options2.strict, strict = _a2 === void 0 ? false : _a2, _b2 = options2.start, start2 = _b2 === void 0 ? true : _b2, _c2 = options2.end, end2 = _c2 === void 0 ? true : _c2, _d2 = options2.encode, encode2 = _d2 === void 0 ? function(x2) {
+    return x2;
+  } : _d2, _e = options2.delimiter, delimiter = _e === void 0 ? "/#?" : _e, _f = options2.endsWith, endsWith2 = _f === void 0 ? "" : _f;
+  var endsWithRe = "[".concat(escapeString(endsWith2), "]|$");
+  var delimiterRe = "[".concat(escapeString(delimiter), "]");
+  var route = start2 ? "^" : "";
+  for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
+    var token2 = tokens_1[_i];
+    if (typeof token2 === "string") {
+      route += escapeString(encode2(token2));
+    } else {
+      var prefix = escapeString(encode2(token2.prefix));
+      var suffix = escapeString(encode2(token2.suffix));
+      if (token2.pattern) {
+        if (keys2)
+          keys2.push(token2);
+        if (prefix || suffix) {
+          if (token2.modifier === "+" || token2.modifier === "*") {
+            var mod = token2.modifier === "*" ? "?" : "";
+            route += "(?:".concat(prefix, "((?:").concat(token2.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token2.pattern, "))*)").concat(suffix, ")").concat(mod);
+          } else {
+            route += "(?:".concat(prefix, "(").concat(token2.pattern, ")").concat(suffix, ")").concat(token2.modifier);
+          }
+        } else {
+          if (token2.modifier === "+" || token2.modifier === "*") {
+            route += "((?:".concat(token2.pattern, ")").concat(token2.modifier, ")");
+          } else {
+            route += "(".concat(token2.pattern, ")").concat(token2.modifier);
+          }
+        }
+      } else {
+        route += "(?:".concat(prefix).concat(suffix, ")").concat(token2.modifier);
+      }
+    }
+  }
+  if (end2) {
+    if (!strict)
+      route += "".concat(delimiterRe, "?");
+    route += !options2.endsWith ? "$" : "(?=".concat(endsWithRe, ")");
+  } else {
+    var endToken = tokens[tokens.length - 1];
+    var isEndDelimited = typeof endToken === "string" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;
+    if (!strict) {
+      route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?");
+    }
+    if (!isEndDelimited) {
+      route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")");
+    }
+  }
+  return new RegExp(route, flags(options2));
+}
+function pathToRegexp(path2, keys2, options2) {
+  if (path2 instanceof RegExp)
+    return regexpToRegexp(path2, keys2);
+  if (Array.isArray(path2))
+    return arrayToRegexp(path2, keys2, options2);
+  return stringToRegexp(path2, keys2, options2);
+}
+const Mock = Mock$1;
+function createProdMockServer(mockList) {
+  Mock.XHR.prototype.__send = Mock.XHR.prototype.send;
+  Mock.XHR.prototype.send = function() {
+    if (this.custom.xhr) {
+      this.custom.xhr.withCredentials = this.withCredentials || false;
+      if (this.responseType) {
+        this.custom.xhr.responseType = this.responseType;
+      }
+    }
+    if (this.custom.requestHeaders) {
+      const headers = {};
+      for (let k2 in this.custom.requestHeaders) {
+        headers[k2.toString().toLowerCase()] = this.custom.requestHeaders[k2];
+      }
+      this.custom.options = Object.assign({}, this.custom.options, { headers });
+    }
+    this.__send.apply(this, arguments);
+  };
+  Mock.XHR.prototype.proxy_open = Mock.XHR.prototype.open;
+  Mock.XHR.prototype.open = function() {
+    let responseType = this.responseType;
+    this.proxy_open(...arguments);
+    if (this.custom.xhr) {
+      if (responseType) {
+        this.custom.xhr.responseType = responseType;
+      }
+    }
+  };
+  for (const { url, method, response, timeout } of mockList) {
+    __setupMock__(timeout);
+    Mock.mock(pathToRegexp(url, void 0, { end: false }), method || "get", __XHR2ExpressReqWrapper__(response));
+  }
+}
+function __param2Obj__(url) {
+  const search = url.split("?")[1];
+  if (!search) {
+    return {};
+  }
+  return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"').replace(/\+/g, " ") + '"}');
+}
+function __XHR2ExpressReqWrapper__(handle2) {
+  return function(options2) {
+    let result2 = null;
+    if (typeof handle2 === "function") {
+      const { body, type: type2, url, headers } = options2;
+      let b2 = body;
+      try {
+        b2 = JSON.parse(body);
+      } catch {
+      }
+      result2 = handle2({
+        method: type2,
+        body: b2,
+        query: __param2Obj__(url),
+        headers
+      });
+    } else {
+      result2 = handle2;
+    }
+    return Mock.mock(result2);
+  };
+}
+function __setupMock__(timeout = 0) {
+  timeout && Mock.setup({
+    timeout
+  });
+}
+const successResponseWrap = (data2) => {
+  return {
+    data: data2,
+    errMsg: "",
+    code: "0"
+  };
+};
+const failResponseWrap = (data2, errMsg, code = "500") => {
+  return {
+    data: data2,
+    errMsg,
+    code
+  };
+};
+const initData$2 = Mock$1.mock({
+  chartData: [
+    {
+      title: "userInfo.week.1",
+      value: 1,
+      list: [
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionA",
+          len: 1,
+          bid: "A",
+          pid: "A"
+        },
+        {
+          type: "userInfo.type.optionC",
+          status: "userInfo.status.optionB",
+          len: 5,
+          bid: "c",
+          pid: "B"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionC",
+          len: 3,
+          bid: "A",
+          pid: "C"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionA",
+          len: 1,
+          bid: "A",
+          pid: "A"
+        },
+        {
+          type: "userInfo.type.optionB",
+          status: "userInfo.status.optionA",
+          len: 6,
+          bid: "B",
+          pid: "A"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionC",
+          len: 1,
+          bid: "A",
+          pid: "C"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionA",
+          len: 1,
+          bid: "A",
+          pid: "A"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionB",
+          len: 1,
+          bid: "A",
+          pid: "B"
+        },
+        {
+          type: "userInfo.type.optionB",
+          status: "userInfo.status.optionA",
+          len: 1,
+          bid: "B",
+          pid: "A"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionC",
+          len: 1,
+          bid: "A",
+          pid: "C"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionD",
+          len: 1,
+          bid: "A",
+          pid: "D"
+        },
+        {
+          type: "userInfo.type.optionC",
+          status: "userInfo.status.optionD",
+          len: 1,
+          bid: "C",
+          pid: "D"
+        },
+        {
+          type: "userInfo.type.optionA",
+          status: "userInfo.status.optionD",
+          len: 1,
+          bid: "A",
+          pid: "D"
+        }
+      ]
+    },
+    { title: "userInfo.month.1", value: 0 },
+    { title: "userInfo.month.2", value: 0 },
+    { title: "userInfo.month.3", value: 0 },
+    { title: "userInfo.month.4", value: 0 },
+    { title: "userInfo.month.5", value: 0 },
+    { title: "userInfo.month.6", value: 0 },
+    { title: "userInfo.month.7", value: 0 },
+    { title: "userInfo.month.8", value: 0 },
+    { title: "userInfo.month.9", value: 0 },
+    { title: "userInfo.month.10", value: 0 },
+    { title: "userInfo.month.11", value: 0 },
+    { title: "userInfo.month.12", value: 0 },
+    { title: "userInfo.month.13", value: 0 },
+    { title: "userInfo.month.14", value: 0 },
+    { title: "userInfo.month.15", value: 0 },
+    { title: "userInfo.month.16", value: 0 },
+    { title: "userInfo.month.17", value: 0 }
+  ],
+  tableData: [
+    {
+      id: "1",
+      bid: "A",
+      pid: "D",
+      name: "GFD Company",
+      time: "2021-12-18",
+      type: "userInfo.type.optionA",
+      status: "userInfo.status.optionD"
+    },
+    {
+      id: "2",
+      bid: "B",
+      pid: "A",
+      name: "WWWW Company",
+      time: "2021-11-18",
+      type: "userInfo.type.optionB",
+      status: "userInfo.status.optionA"
+    },
+    {
+      id: "3",
+      bid: "C",
+      pid: "B",
+      name: "TGBYX Company",
+      time: "2021-10-18",
+      type: "userInfo.type.optionC",
+      status: "userInfo.status.optionB"
+    },
+    {
+      id: "4",
+      bid: "B",
+      pid: "D",
+      name: "GF Company",
+      time: "2021-09-18",
+      type: "userInfo.type.optionB",
+      status: "userInfo.status.optionC"
+    },
+    {
+      id: "5",
+      bid: "C",
+      pid: "C",
+      name: "Property management company",
+      time: "2021-07-18",
+      type: "userInfo.type.optionA",
+      status: "userInfo.status.optionD"
+    },
+    {
+      id: "6",
+      bid: "A",
+      pid: "C",
+      name: "Property management company",
+      time: "2020-12-23",
+      type: "userInfo.type.optionA",
+      status: "userInfo.status.optionC"
+    },
+    {
+      id: "7",
+      bid: "B",
+      pid: "C",
+      name: "GF Company",
+      time: "2020-11-08",
+      type: "userInfo.type.optionB",
+      status: "userInfo.status.optionC"
+    },
+    {
+      id: "8",
+      bid: "B",
+      pid: "C",
+      name: "WWWW Company",
+      time: "2020-10-18",
+      type: "userInfo.type.optionB",
+      status: "userInfo.status.optionC"
+    },
+    {
+      id: "9",
+      bid: "C",
+      pid: "D",
+      name: "WWWW Company",
+      time: "2020-10-11",
+      type: "userInfo.type.optionC",
+      status: "userInfo.status.optionD"
+    },
+    {
+      id: "10",
+      bid: "C",
+      pid: "D",
+      name: "TGBYX Company",
+      time: "2020-06-18",
+      type: "userInfo.type.optionC",
+      status: "userInfo.status.optionD"
+    }
+  ],
+  userInfo: {
+    userId: "10000",
+    username: "admin",
+    department: "Tiny-Vue-Pro",
+    employeeType: "social recruitment",
+    role: "admin",
+    job: "Front end",
+    probationStart: "2021-04-19",
+    probationEnd: "2021-10-15",
+    probationDuration: "180",
+    protocolStart: "2021-04-19",
+    protocolEnd: "2024-04-19",
+    address: "xian",
+    status: "normal"
+  }
+});
+const positive = JSON.parse(JSON.stringify(initData$2.tableData));
+const negative = JSON.parse(JSON.stringify(initData$2.tableData.reverse()));
+const initlist = JSON.parse(JSON.stringify(initData$2.chartData[0].list));
+const userInfo = JSON.parse(JSON.stringify(initData$2.userInfo));
+const user = [
+  // 注册
+  {
+    url: "/api/user/register",
+    method: "post",
+    response: (params2) => {
+      localStorage.setItem("registerUser", JSON.stringify(params2.body));
+      return successResponseWrap({ ...userInfo, role: "admin" });
+    }
+  },
+  // 用户信息
+  {
+    url: "/api/user/userInfo",
+    method: "get",
+    response: () => {
+      if (isLogin()) {
+        const role = window.localStorage.getItem("userRole") || "admin";
+        return successResponseWrap({
+          ...userInfo,
+          role
+        });
+      }
+      return successResponseWrap(null);
+    }
+  },
+  // 修改用户信息
+  {
+    url: "/api/user/userInfo",
+    method: "put",
+    response: () => {
+      if (isLogin()) {
+        const role = window.localStorage.getItem("userRole") || "admin";
+        return successResponseWrap({
+          ...userInfo,
+          role
+        });
+      }
+      return successResponseWrap(null);
+    }
+  },
+  // 登录
+  {
+    url: "/api/user/login",
+    method: "post",
+    response: (params2) => {
+      const registerUser2 = JSON.parse(
+        localStorage.getItem("registerUser") || "{}"
+      );
+      const { username, password } = JSON.parse(JSON.stringify(params2.body));
+      if (!username) {
+        return failResponseWrap(null, "邮箱名不能为空", "InvalidParameter");
+      }
+      if (!password) {
+        return failResponseWrap(null, "密码不能为空", "InvalidParameter");
+      }
+      if (username === "admin@example.com" && password === "admin" || username === registerUser2.username && password === registerUser2.password) {
+        window.localStorage.setItem("userRole", "admin");
+        return successResponseWrap({
+          token: "12345",
+          userInfo: {
+            ...userInfo
+          }
+        });
+      }
+      return failResponseWrap(null, "账号或者密码错误", "InvalidParameter");
+    }
+  },
+  // 登出
+  {
+    url: "/api/user/logout",
+    method: "post",
+    response: () => {
+      return successResponseWrap(null);
+    }
+  },
+  // 用户中心数据
+  {
+    url: "/api/user/data",
+    method: "post",
+    response: (params2) => {
+      const { sort: sort2, startTime, endTime, filterStatus, filterType } = JSON.parse(
+        JSON.stringify(params2.body)
+      );
+      initData$2.tableData = positive;
+      initData$2.chartData[0].list = initlist;
+      if (sort2 === 1 || sort2 === 3) {
+        initData$2.chartData[0].list.reverse();
+        initData$2.tableData = positive;
+        return successResponseWrap(initData$2);
+      }
+      if (sort2 === 2 || sort2 === 4) {
+        initData$2.chartData[0].list.reverse();
+        initData$2.tableData = negative;
+        return successResponseWrap(initData$2);
+      }
+      if (startTime !== "" || endTime !== "" || filterStatus.length !== 0 || filterType.length !== 0 && sort2 === void 0) {
+        const start2 = new Date(JSON.parse(JSON.stringify(startTime))).getTime();
+        const end2 = new Date(JSON.parse(JSON.stringify(endTime))).getTime();
+        const table = initData$2.tableData.filter(function(item) {
+          return filterType.includes(item.bid) && filterStatus.includes(item.pid) && new Date(JSON.parse(JSON.stringify(item.time))).getTime() - start2 > 0 && new Date(JSON.parse(JSON.stringify(item.time))).getTime() - end2 < 0;
+        });
+        const chart = initData$2.chartData[0].list.filter(function(item) {
+          return filterType.includes(item.bid) && filterStatus.includes(item.pid);
+        });
+        initData$2.tableData = table;
+        initData$2.chartData[0].list = chart;
+        return successResponseWrap(initData$2);
+      }
+      return successResponseWrap(initData$2);
+    }
+  }
+];
+const taskList = Mock$1.mock({
+  "list|60": [
+    {
+      "id": "@id",
+      "name": "xiaoming",
+      "rank": "初级",
+      "description": "一段描述文字",
+      "createTime": "@datetime",
+      "status|1": ["0", "1", "2"],
+      "type": "Tiny Design",
+      "roles": "前端",
+      "employeeNo": "00022456",
+      "department": "公共服务",
+      "departmentLevel": "中级",
+      "workbenchName": "work",
+      "project": "TinyDesign",
+      "address": "西安研究所",
+      "lastUpdateUser": "张三"
+    }
+  ]
+});
+let treeData = [];
+const list = [
+  // list
+  {
+    url: "/api/employee/getEmployee",
+    method: "post",
+    response: (params2) => {
+      const { pageIndex = 1, pageSize = 10 } = JSON.parse(
+        JSON.stringify(params2.body)
+      );
+      const index3 = pageIndex;
+      const size = pageSize;
+      const offset2 = (index3 - 1) * size;
+      const count2 = index3 * size;
+      treeData = taskList.list.slice(offset2, count2);
+      const data2 = Mock$1.mock({
+        total: 60,
+        data: treeData
+      });
+      return successResponseWrap(data2);
+    }
+  }
+];
+const initBase = Mock$1.mock({
+  Project: [
+    "baseForm.form.label.projectone",
+    "baseForm.form.label.projecttwo",
+    "baseForm.form.label.projectthree"
+  ],
+  rank: [
+    {
+      value: "1",
+      label: "01"
+    },
+    {
+      value: "2",
+      label: "02"
+    },
+    {
+      value: "3",
+      label: "03"
+    },
+    {
+      value: "4",
+      label: "04"
+    },
+    {
+      value: "5",
+      label: "05"
+    }
+  ],
+  person: [
+    {
+      value: "local",
+      label: "baseForm.form.label.personone"
+    },
+    {
+      value: "noemployees",
+      label: "baseForm.form.label.persontwo"
+    },
+    {
+      value: "chineseemployees",
+      label: "baseForm.form.label.personthree"
+    }
+  ],
+  frequency: [
+    "baseForm.form.label.frequencyone",
+    "baseForm.form.label.frequencytwo",
+    "baseForm.form.label.frequencythree",
+    "baseForm.form.label.frequencyfour"
+  ]
+});
+const initStep = Mock$1.mock({
+  position: [
+    {
+      value: "1",
+      label: "position1"
+    },
+    {
+      value: "2",
+      label: "position2"
+    },
+    {
+      value: "3",
+      label: "position3"
+    },
+    {
+      value: "4",
+      label: "position4"
+    }
+  ],
+  HR: [
+    {
+      value: "1",
+      label: "test01"
+    },
+    {
+      value: "2",
+      label: "test01"
+    },
+    {
+      value: "3",
+      label: "test03"
+    }
+  ],
+  mentor: ["Teacher1", "Teacher2", "Teacher3", "Teacher4"],
+  director: ["Director1", "Director2", "Director3", "Director4"]
+});
+const froms = [
+  // init-base
+  {
+    url: "/api/base/getdata",
+    method: "get",
+    response: () => {
+      return successResponseWrap(initBase);
+    }
+  },
+  // init-step
+  {
+    url: "/api/step/getdata",
+    method: "get",
+    response: () => {
+      return successResponseWrap(initStep);
+    }
+  },
+  // submit
+  {
+    url: "/api/channel-form/submit",
+    method: "post",
+    response: () => {
+      return successResponseWrap("ok");
+    }
+  }
+];
+const initData$1 = Mock$1.mock({
+  Project: [
+    "baseForm.form.label.projectone",
+    "baseForm.form.label.projecttwo",
+    "baseForm.form.label.projectthree"
+  ],
+  tableData: [
+    {
+      id: "1",
+      version: "version1",
+      operation: "offline",
+      updated: "person1",
+      time: "2022-10-11"
+    },
+    {
+      id: "2",
+      version: "version2",
+      operation: "offline",
+      updated: "person2",
+      time: "2022-10-12"
+    },
+    {
+      id: "3",
+      version: "version3",
+      operation: "online",
+      updated: "person3",
+      time: "2022-10-13"
+    },
+    {
+      id: "4",
+      version: "version4",
+      operation: "online",
+      updated: "person4",
+      time: "2022-10-14"
+    },
+    {
+      id: "5",
+      version: "version5",
+      operation: "online",
+      updated: "person5",
+      time: "2022-10-15"
+    },
+    {
+      id: "6",
+      version: "version6",
+      operation: "online",
+      updated: "person6",
+      time: "2022-10-16"
+    }
+  ]
+});
+const profile = [
+  {
+    url: "/api/detail/getdata",
+    method: "get",
+    response: () => {
+      return successResponseWrap(initData$1);
+    }
+  }
+];
+const initData = Mock$1.mock({
+  options: [
+    {
+      value: "1",
+      label: "work.mock.employees"
+    },
+    {
+      value: "2",
+      label: "work.mock.onboard"
+    },
+    {
+      value: "3",
+      label: "work.mock.Test"
+    }
+  ]
+});
+const initData1 = Mock$1.mock({
+  options: [
+    {
+      value: "1",
+      label: "work.mock.week1"
+    },
+    {
+      value: "2",
+      label: "work.mock.week2"
+    },
+    {
+      value: "3",
+      label: "work.mock.week3"
+    }
+  ]
+});
+const initData2 = Mock$1.mock({
+  options: [
+    {
+      value: "1",
+      label: "work.mock.network"
+    },
+    {
+      value: "2",
+      label: "work.mock.centralized"
+    },
+    {
+      value: "3",
+      label: "work.mock.hardware"
+    }
+  ]
+});
+const changeDate = Mock$1.mock({
+  options1: [101, 212, 122, 232],
+  options2: [323, 555, 425, 2221],
+  options3: [23234, 234, 989, 122]
+});
+const board = [
+  {
+    url: "/api/user/getdata",
+    method: "get",
+    response: () => {
+      return successResponseWrap(initData);
+    }
+  },
+  {
+    url: "/api/user/getrpractic",
+    method: "get",
+    response: () => {
+      return successResponseWrap(initData1);
+    }
+  },
+  {
+    url: "/api/user/getrtrain",
+    method: "get",
+    response: () => {
+      return successResponseWrap(initData2);
+    }
+  },
+  {
+    url: "/api/user/getselect",
+    method: "post",
+    response: (data2) => {
+      let result2 = null;
+      if (data2.body === 1) {
+        result2 = successResponseWrap(changeDate.options1);
+      } else if (data2.body === 2) {
+        result2 = successResponseWrap(changeDate.options2);
+      } else {
+        result2 = successResponseWrap(changeDate.options3);
+      }
+      return result2;
+    }
+  }
+];
+const index = [...user, ...list, ...froms, ...profile, ...board];
+function setupProdMockServer() {
+  createProdMockServer([...index]);
+}
+const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADZ0lEQVRYR8WXTUhUURTH/+e9+RTFEXJSM4ooI4MMwlUFQhRRi6B9iwIzHSclJ6xFIbWo0MgYs29auIogiKhFEErlylz0oaWEFpXRCFlOOOObmXfivnHEZ368Owrzlu/d/zm/d+45555LsPjwzZv2ycG3FXoCB4i5FIQiMK0CMQMYAWOEifoVFY+cJVu6qKoqZsU0LbaIAwFvJBY9A9IPgZG72HrjO+EPWOlw213nqaUltJBmXgBuanJEf4caAZxkRo4lx7MWESEMoNnl8V6ipiZtLhtzAvBpf350Qn/I4B3pOJ6tIdArV5ZykC4ER///NuvNZIO/VE/oT5l5zXI4T9kgoi+KquxzXg72z7RrioDx5xG9Z7mdz4RwuZXymZGYBjD2fGz0uZWwq9vKYdu7H4AoAACqiviTx0j09iwaNGM78vJ3pXJiGiBSX3OGGecWtQBAKdsK5+FK09LJu7egv3tjRQ4inHW3tp9PFoz4j0DAG41PfLKa7bShBC5fnclZtPUy+POQVYCwy5a1XpSoATBRVxsE9FpLakG9qhjOhkaQohgS1jRMXmkG/xixakLEsS3rapufRIeLfHgzarnJCICCQjjrToDcWYZDPTwOLXgFHFqw55jhCH/cm8ryKdrg263H+ZkEOmhFPhz+eii5niTAaAhaexA89kvGDBQb7aGJel8bmH0ySvJ44Kg5DsW70pAlvn+DduMaEB6XMQMQXaNIva+TmSuklNk5cByrhVpcnAQYHoJ2qx2IRKTMEFGXABhg5hIppdsNZ1UNlLXrkgADH6HduQHELB2A066IaJAidb4wg7OlAOx2OCqroZZsNGTxvveI3b4uZSLZA+hvegBEsFdWw1a6OQnQ+xqxjnvyAIRwelsAwHHkKNQtZUmA7heIPbifDsBAekkowrd+A5SCQpHJ0IeHwN++ygMAnWmVobSn+QSiDNNpREYCefJMZvn3mDSX0YjSasXelXBU+4H4VNnZ7NCuB8Ghn9YhUq1YKKQPo+LVcAVOmZxFWy5K5sHUYSSsSB/HSwQQw6rpOBYQMgMJLR3APJAYUZAYyWC3Q92+E4jHk9tgsyHR/dJSK553JDMgMjmUpjIqo2N5CiKjF5NpiExezWYWeMYup7Nbmul6DohzuAiMImMdQYzDIwz0yV7P/wGfH7KWBekOEQAAAABJRU5ErkJggg==";
+const _withScopeId = (n2) => (pushScopeId("data-v-0390b860"), n2 = n2(), popScopeId(), n2);
+const _hoisted_1 = {
+  key: 0,
+  class: "global-set-contain"
+};
+const _hoisted_2 = { class: "global-set-from" };
+const _hoisted_3 = { class: "global-set-head" };
+const _hoisted_4 = { class: "global-set-tip" };
+const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  class: "image"
+}, null, -1));
+const _hoisted_6 = { class: "global-set-content" };
+const _hoisted_7 = { class: "global-set-foot" };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    const iconClose = index$17();
+    const { copy: copy2 } = useClipboard();
+    const appStore = useAppStore();
+    const visible = computed(() => appStore.Settings);
+    const { t: t2 } = useI18n();
+    const cancel = () => {
+      appStore.updateSettings({ Settings: false });
+    };
+    const copySettings = () => {
+      const text2 = JSON.stringify(`const tinyTestTheme = {
+  id: 'tiny-test-theme', // 主题的唯一id,每个主题必须唯一
+  name: 'testTheme', // 主题的英文名称
+  cnName: '测试主题', // 主题的中文名称
+  data: { 'ti-base-color': '#f2f2f3' } //  主题数据
+}`);
+      copy2(text2);
+      TINYModal.message({
+        message: t2("setting.copy"),
+        status: "success"
+      });
+    };
+    const changenavbar = (item) => {
+      if (!item) {
+        appStore.updateSettings({ menu: true, footer: true });
+      }
+    };
+    const changemenu = (item) => {
+      if (!item) {
+        appStore.updateSettings({ navbar: true, footer: true });
+      }
+    };
+    const changefooter = (item) => {
+      if (!item) {
+        appStore.updateSettings({ navbar: true, menu: true });
+      }
+    };
+    return (_ctx2, _cache) => {
+      return visible.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
+        createBaseVNode("div", {
+          class: "global-hide-from",
+          onClick: cancel
+        }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createBaseVNode("h3", null, toDisplayString(_ctx2.$t("settings.title")), 1),
+            createVNode$1(unref(iconClose), { onClick: cancel })
+          ]),
+          createBaseVNode("div", _hoisted_4, [
+            _hoisted_5,
+            createBaseVNode("div", null, toDisplayString(_ctx2.$t("settings.alertContent")), 1)
+          ]),
+          createBaseVNode("div", _hoisted_6, [
+            createBaseVNode("h4", null, toDisplayString(_ctx2.$t("settings.content")), 1),
+            createBaseVNode("div", null, [
+              createBaseVNode("span", null, [
+                createBaseVNode("div", null, toDisplayString(_ctx2.$t("settings.navbar")), 1),
+                createBaseVNode("div", null, toDisplayString(_ctx2.$t("setting.mode.navbar")), 1)
+              ]),
+              createVNode$1(unref(Switch), {
+                modelValue: unref(appStore).navbar,
+                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(appStore).navbar = $event),
+                onChange: changenavbar
+              }, null, 8, ["modelValue"])
+            ]),
+            createBaseVNode("div", null, [
+              createBaseVNode("span", null, [
+                createBaseVNode("div", null, toDisplayString(_ctx2.$t("settings.menu")), 1),
+                createBaseVNode("div", null, toDisplayString(_ctx2.$t("setting.mode.menu")), 1)
+              ]),
+              createVNode$1(unref(Switch), {
+                modelValue: unref(appStore).menu,
+                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(appStore).menu = $event),
+                onChange: changemenu
+              }, null, 8, ["modelValue"])
+            ]),
+            createBaseVNode("div", null, [
+              createBaseVNode("span", null, [
+                createBaseVNode("div", null, toDisplayString(_ctx2.$t("settings.footer")), 1),
+                createBaseVNode("div", null, toDisplayString(_ctx2.$t("setting.mode.footer")), 1)
+              ]),
+              createVNode$1(unref(Switch), {
+                modelValue: unref(appStore).footer,
+                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(appStore).footer = $event),
+                onChange: changefooter
+              }, null, 8, ["modelValue"])
+            ])
+          ]),
+          createBaseVNode("div", _hoisted_7, [
+            createBaseVNode("div", null, [
+              createVNode$1(unref(Button), {
+                type: "primary",
+                onClick: copySettings
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx2.$t("settings.copySettings")), 1)
+                ]),
+                _: 1
+              }),
+              createVNode$1(unref(Button), { onClick: cancel }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx2.$t("settings.close")), 1)
+                ]),
+                _: 1
+              })
+            ])
+          ])
+        ])
+      ])) : createCommentVNode("", true);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_0390b860_lang = "";
+const GlobalSetting = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0390b860"]]);
+const _sfc_main = /* @__PURE__ */ defineComponent$1({
+  __name: "App",
+  setup(__props) {
+    provide("echarts", echarts);
+    return (_ctx2, _cache) => {
+      const _component_router_view = resolveComponent("router-view");
+      return openBlock(), createElementBlock("div", null, [
+        createVNode$1(_component_router_view),
+        createVNode$1(GlobalSetting)
+      ]);
+    };
+  }
+});
+const App_vue_vue_type_style_index_0_scoped_84f2642f_lang = "";
+const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-84f2642f"]]);
+const { VITE_API_BASE_URL, VITE_BASE_API, VITE_MOCK_IGNORE } = { "VITE_CONTEXT": "/ui/admin/web/", "VITE_BASE_API": "/api", "VITE_SERVER_HOST": "http://127.0.0.1:7001", "VITE_USE_MOCK": "true", "BASE_URL": "/ui/admin/", "MODE": "production", "DEV": false, "PROD": true, "SSR": false };
+if (VITE_API_BASE_URL) {
+  axios$1.defaults.baseURL = VITE_API_BASE_URL;
+}
+const ignoreMockApiList = (VITE_MOCK_IGNORE == null ? void 0 : VITE_MOCK_IGNORE.split(",")) || [];
+axios$1.interceptors.request.use(
+  (config2) => {
+    var _a2;
+    const isProxy = ignoreMockApiList.includes(config2.url);
+    if (isProxy) {
+      config2.url = (_a2 = config2.url) == null ? void 0 : _a2.replace(VITE_BASE_API, "/api/v1");
+    }
+    const token2 = getToken();
+    if (token2) {
+      if (!config2.headers) {
+        config2.headers = {};
+      }
+      config2.headers.Authorization = `Bearer ${JSON.parse(token2).id_token}`;
+      config2.headers["Authorization-TYPE"] = "ID_TOKEN";
+    }
+    config2.headers = { ...config2.headers };
+    return config2;
+  },
+  (error) => {
+    return Promise.reject(error);
+  }
+);
+axios$1.interceptors.response.use(
+  (response) => {
+    const res = response.data;
+    if (response.status !== 200) {
+      res.errMsg && TINYModal.message({
+        message: res.errMsg,
+        status: "error"
+      });
+      return Promise.reject(new Error(res.errMsg || "Error"));
+    }
+    return res;
+  },
+  (error) => {
+    const { status, data: data2 } = error.response;
+    if (status === 401) {
+      clearToken();
+      router.replace({ name: "login" });
+      TINYModal.message({
+        message: index$1f.t("http.error.TokenExpire"),
+        status: "error"
+      });
+    } else {
+      data2.errMsg && TINYModal.message({
+        message: index$1f.t(`http.error.${data2.errMsg}`),
+        status: "error"
+      });
+    }
+    return Promise.reject(error);
+  }
+);
+const global$1 = "";
+const hwcConfig = {
+  regionId: "cn-south-1",
+  projectId: "0c0ede263980f29d2fc4c00731e904b1",
+  obs: {
+    bucketsList: [
+      {
+        bucketName: "tiny-pro-cli-obs",
+        StorageClass: "标准存储",
+        ObsVersion: "3.0",
+        Location: "cn-south-1"
+      },
+      {
+        bucketName: "tiny-pro-cli-obs-test",
+        StorageClass: "低频访问存储",
+        ObsVersion: "3.0",
+        Location: "cn-south-1"
+      }
+    ]
+  },
+  apigList: [
+    {
+      name: "apig_contract",
+      type: 1,
+      version: "V0.0.1",
+      req_protocol: "HTTPS",
+      req_method: "POST",
+      req_uri: "/contract",
+      auth_type: "NONE",
+      auth_opt: {
+        app_code_auth_type: "DISABLE"
+      },
+      cors: true,
+      match_mode: "NORMAL",
+      backend_type: "FUNCTION",
+      remark: "",
+      group_id: "d26d313c50044f7199252ba260129f3c",
+      body_remark: "",
+      result_normal_sample: "",
+      result_failure_sample: "",
+      authorizer_id: "",
+      tags: [],
+      tag: "",
+      roma_app_id: "",
+      domain_name: "",
+      id: "6d20d5b995144c73bc1d370840afca4f",
+      status: 1,
+      arrange_necessary: 2,
+      register_time: "2023-02-08T03:09:47Z",
+      update_time: "2023-02-08T03:09:47Z",
+      group_name: "group_contract",
+      group_version: "V1",
+      run_env_name: "RELEASE",
+      run_env_id: "DEFAULT_ENVIRONMENT_RELEASE_ID",
+      publish_id: "3d6035abaf0a4178a4f5e2ba3501bc78",
+      publish_time: "2023-02-08 03:09:48",
+      roma_app_name: "",
+      ld_api_id: "",
+      backend_api: null,
+      api_group_info: null,
+      req_params: null
+    },
+    {
+      name: "group_cors_gate",
+      type: 1,
+      version: "V0.0.1",
+      req_protocol: "BOTH",
+      req_method: "OPTIONS",
+      req_uri: "/",
+      auth_type: "NONE",
+      auth_opt: {
+        app_code_auth_type: "DISABLE"
+      },
+      cors: true,
+      match_mode: "SWA",
+      backend_type: "MOCK",
+      remark: "",
+      group_id: "d26d313c50044f7199252ba260129f3c",
+      body_remark: "",
+      result_normal_sample: "",
+      result_failure_sample: "",
+      authorizer_id: "",
+      tags: [],
+      tag: "",
+      roma_app_id: "",
+      domain_name: "",
+      id: "d0e0d74e7d7f4605ad22200c67c77fb6",
+      status: 1,
+      arrange_necessary: 2,
+      register_time: "2023-02-08T03:08:12Z",
+      update_time: "2023-02-08T03:08:12Z",
+      group_name: "group_contract",
+      group_version: "V1",
+      run_env_name: "RELEASE",
+      run_env_id: "DEFAULT_ENVIRONMENT_RELEASE_ID",
+      publish_id: "8f4b04fe8bf54fefb75e1f2abeaf1a2e",
+      publish_time: "2023-02-08 03:08:12",
+      roma_app_name: "",
+      ld_api_id: "",
+      backend_api: null,
+      api_group_info: null,
+      req_params: null
+    },
+    {
+      name: "apig_hello_world",
+      type: 1,
+      version: "V0.0.1",
+      req_protocol: "HTTPS",
+      req_method: "GET",
+      req_uri: "/",
+      auth_type: "NONE",
+      auth_opt: {
+        app_code_auth_type: "DISABLE"
+      },
+      cors: true,
+      match_mode: "SWA",
+      backend_type: "FUNCTION",
+      remark: "",
+      group_id: "2248fa0791564fb5af9fe3323d61a843",
+      body_remark: "",
+      result_normal_sample: "",
+      result_failure_sample: "",
+      authorizer_id: "",
+      tags: [],
+      tag: "",
+      roma_app_id: "",
+      domain_name: "",
+      id: "4b2bc97e461a488291afb9906178933e",
+      status: 1,
+      arrange_necessary: 2,
+      register_time: "2023-02-08T02:56:31Z",
+      update_time: "2023-02-08T02:56:31Z",
+      group_name: "group_hello_world",
+      group_version: "V1",
+      run_env_name: "RELEASE",
+      run_env_id: "DEFAULT_ENVIRONMENT_RELEASE_ID",
+      publish_id: "97733374206d4283b98c1f10c6e1ad5d",
+      publish_time: "2023-02-08 02:56:32",
+      roma_app_name: "",
+      ld_api_id: "",
+      backend_api: null,
+      api_group_info: null,
+      req_params: null
+    },
+    {
+      name: "group_cors_gate",
+      type: 1,
+      version: "V0.0.1",
+      req_protocol: "BOTH",
+      req_method: "OPTIONS",
+      req_uri: "/",
+      auth_type: "NONE",
+      auth_opt: {
+        app_code_auth_type: "DISABLE"
+      },
+      cors: true,
+      match_mode: "SWA",
+      backend_type: "MOCK",
+      remark: "",
+      group_id: "2248fa0791564fb5af9fe3323d61a843",
+      body_remark: "",
+      result_normal_sample: "",
+      result_failure_sample: "",
+      authorizer_id: "",
+      tags: [],
+      tag: "",
+      roma_app_id: "",
+      domain_name: "",
+      id: "89a4ea7361ed4acda065d1187ec9a596",
+      status: 1,
+      arrange_necessary: 2,
+      register_time: "2023-02-08T02:53:32Z",
+      update_time: "2023-02-08T02:53:32Z",
+      group_name: "group_hello_world",
+      group_version: "V1",
+      run_env_name: "RELEASE",
+      run_env_id: "DEFAULT_ENVIRONMENT_RELEASE_ID",
+      publish_id: "1e9de22aa06c42338f084e93f563b771",
+      publish_time: "2023-02-08 02:53:34",
+      roma_app_name: "",
+      ld_api_id: "",
+      backend_api: null,
+      api_group_info: null,
+      req_params: null
+    }
+  ],
+  apigGroupsList: [
+    {
+      id: "d26d313c50044f7199252ba260129f3c",
+      name: "group_contract",
+      status: 1,
+      sl_domain: "d26d313c50044f7199252ba260129f3c.apic.cn-south-1.huaweicloudapis.com",
+      register_time: "2023-02-08T03:08:11Z",
+      update_time: "2023-02-08T03:08:11Z",
+      on_sell_status: 2,
+      url_domains: [],
+      sl_domains: [
+        "d26d313c50044f7199252ba260129f3c.apic.cn-south-1.huaweicloudapis.com"
+      ],
+      remark: "",
+      call_limits: 0,
+      time_interval: 0,
+      time_unit: "",
+      is_default: 2,
+      version: "",
+      roma_app_id: "",
+      roma_app_name: ""
+    },
+    {
+      id: "2248fa0791564fb5af9fe3323d61a843",
+      name: "group_hello_world",
+      status: 1,
+      sl_domain: "2248fa0791564fb5af9fe3323d61a843.apic.cn-south-1.huaweicloudapis.com",
+      register_time: "2023-02-08T02:53:31Z",
+      update_time: "2023-02-08T02:53:31Z",
+      on_sell_status: 2,
+      url_domains: [],
+      sl_domains: [
+        "2248fa0791564fb5af9fe3323d61a843.apic.cn-south-1.huaweicloudapis.com"
+      ],
+      remark: "",
+      call_limits: 0,
+      time_interval: 0,
+      time_unit: "",
+      is_default: 2,
+      version: "",
+      roma_app_id: "",
+      roma_app_name: ""
+    },
+    {
+      id: "c0a90139d0b54a328d8dce451880be42",
+      name: "DEFAULT",
+      status: 1,
+      sl_domain: "c0a90139d0b54a328d8dce451880be42.apic.cn-south-1.huaweicloudapis.com",
+      register_time: "2023-02-08T02:43:51Z",
+      update_time: "2023-02-08T02:43:51Z",
+      on_sell_status: 2,
+      url_domains: [],
+      sl_domains: [
+        "c0a90139d0b54a328d8dce451880be42.apic.cn-south-1.huaweicloudapis.com"
+      ],
+      remark: "This is an automatically generated group. APIs in this group can be accessed with an EIP or a private IP address.",
+      call_limits: 0,
+      time_interval: 0,
+      time_unit: "",
+      is_default: 1,
+      version: "",
+      roma_app_id: "",
+      roma_app_name: ""
+    }
+  ],
+  functiongraph: {
+    functions: [
+      {
+        func_urn: "urn:fss:cn-south-1:0c0ede263980f29d2fc4c00731e904b1:function:default:fg_hello_world",
+        func_name: "fg_hello_world",
+        domain_id: "0b9a1ca1f080f5e20f19c007dadb6240",
+        namespace: "0c0ede263980f29d2fc4c00731e904b1",
+        project_name: "cn-south-1",
+        "package": "default",
+        runtime: "Node.js14.18",
+        timeout: 300,
+        handler: "index.handler",
+        memory_size: 256,
+        cpu: 400,
+        code_type: "zip",
+        code_filename: "index.zip",
+        code_size: 356,
+        digest: "56f4337fdbed445f17d54b6b7c56a24001440181c4a5dfdf7ed767e9cbf8af1788c8930d9162ac397545df5d77458fcd3d696bb370300e2f5fd1d5e4a31929b1",
+        version: "latest",
+        image_name: "latest-230208110626@8bkma",
+        description: "auto generated",
+        last_modified: "2023-02-08T11:06:26+08:00",
+        func_code: {},
+        FuncCode: {},
+        concurrency: 400,
+        concurrent_num: 1,
+        strategy_config: {
+          concurrency: 400,
+          concurrent_num: 1
+        },
+        enterprise_project_id: "0",
+        long_time: false,
+        log_config: {
+          group_name: "",
+          group_id: "",
+          stream_name: "",
+          stream_id: "",
+          switch_time: 0
+        },
+        type: "v2",
+        enable_cloud_debug: "DISABLED",
+        enable_dynamic_memory: false,
+        custom_image: {},
+        is_stateful_function: false,
+        is_return_stream: false,
+        enable_auth_in_header: false,
+        reserved_instance_idle_mode: false
+      },
+      {
+        func_urn: "urn:fss:cn-south-1:0c0ede263980f29d2fc4c00731e904b1:function:default:fg_contract",
+        func_name: "fg_contract",
+        domain_id: "0b9a1ca1f080f5e20f19c007dadb6240",
+        namespace: "0c0ede263980f29d2fc4c00731e904b1",
+        project_name: "cn-south-1",
+        "package": "default",
+        runtime: "Node.js14.18",
+        timeout: 3,
+        handler: "index.handler",
+        memory_size: 128,
+        cpu: 300,
+        code_type: "inline",
+        code_filename: "index.zip",
+        code_size: 5786,
+        digest: "baaacb37e4f768efa657d6907d0b941bedc8ce57fd50af41262f6e9d697cb0b84385533fb118e07fb119df55f2686d11801f608627db6aa7accd825047fe7f12",
+        version: "latest",
+        image_name: "latest-221107152923@67h66",
+        xrole: "proxyRdsServices",
+        app_xrole: "proxyRdsServices",
+        last_modified: "2022-11-07T15:29:23+08:00",
+        func_code: {},
+        FuncCode: {},
+        concurrency: 400,
+        concurrent_num: 1,
+        strategy_config: {
+          concurrency: 400,
+          concurrent_num: 1
+        },
+        enterprise_project_id: "0",
+        func_vpc_id: "bde80194-607d-483e-938e-aed310b19ebb",
+        long_time: false,
+        log_config: {
+          group_name: "",
+          group_id: "",
+          stream_name: "",
+          stream_id: "",
+          switch_time: 0
+        },
+        type: "v2",
+        enable_cloud_debug: "DISABLED",
+        enable_dynamic_memory: false,
+        custom_image: {},
+        is_stateful_function: false,
+        is_return_stream: false,
+        enable_auth_in_header: false,
+        reserved_instance_idle_mode: false
+      }
+    ]
+  }
+};
+const config = {
+  hwcConfig
+};
+var china = {};
+const require$$0 = /* @__PURE__ */ getAugmentedNamespace(echarts);
+(function(exports2) {
+  (function(root, factory) {
+    if (typeof exports2.nodeName !== "string") {
+      factory(exports2, require$$0);
+    } else {
+      factory({}, root.echarts);
+    }
+  })(commonjsGlobal$1, function(exports3, echarts2) {
+    var log2 = function(msg) {
+      if (typeof console !== "undefined") {
+        console && console.error && console.error(msg);
+      }
+    };
+    if (!echarts2) {
+      log2("ECharts is not Loaded");
+      return;
+    }
+    if (!echarts2.registerMap) {
+      log2("ECharts Map is not loaded");
+      return;
+    }
+    echarts2.registerMap("china", { "type": "FeatureCollection", "features": [{ "type": "Feature", "id": "710000", "properties": { "id": "710000", "cp": [121.509062, 24.044332], "name": "台湾", "childNum": 6 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@°Ü¯Û"], ["@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚäœnÜƤɊĂǀĆĴžĤNJŨxĚĮǂƺòƌ‚–âÔ®ĮXŦţƸZûЋƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ™¿@ăƑŽ¥ĘWǬÏĶŁâ"], ["@@\\p|WoYG¿¥I†j@¢"], ["@@…¡‰@ˆV^RqˆBbAŒnTXeRz¤Lž«³I"], ["@@ÆEE—„kWqë @œ"], ["@@fced"], ["@@„¯ɜÄèaì¯ØǓIġĽ"], ["@@çûĖ롖hòř "]], "encodeOffsets": [[[122886, 24033]], [[123335, 22980]], [[122375, 24193]], [[122518, 24117]], [[124427, 22618]], [[124862, 26043]], [[126259, 26318]], [[127671, 26683]]] } }, { "type": "Feature", "id": "130000", "properties": { "id": "130000", "cp": [114.502461, 38.045474], "name": "河北", "childNum": 3 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@o~†Z]‚ªr‰ºc_ħ²G¼s`jΟnüsœłNX_“M`ǽÓnUK…Ĝēs¤­©yrý§uģŒc†JŠ›e"], ["@@U`Ts¿m‚"], ["@@oºƋÄd–eVŽDJj£€J|Ådz•Ft~žKŨ¸IÆv|”‡¢r}膎onb˜}`RÎÄn°ÒdÞ²„^®’lnÐèĄlðӜ×]ªÆ}LiĂ±Ö`^°Ç¶p®đDcœŋ`–ZÔ’¶êqvFƚ†N®ĆTH®¦O’¾ŠIbÐã´BĐɢŴÆíȦp–ĐÞXR€·nndOž¤’OÀĈƒ­Qg˜µFo|gȒęSWb©osx|hYh•gŃfmÖĩnº€T̒Sp›¢dYĤ¶UĈjl’ǐpäìë|³kÛfw²Xjz~ÂqbTŠÑ„ěŨ@|oM‡’zv¢ZrÃVw¬ŧĖ¸fŒ°ÐT€ªqŽs{Sž¯r æÝlNd®²Ğ džiGʂJ™¼lr}~K¨ŸƐÌWö€™ÆŠzRš¤lêmĞL΄’@¡|q]SvK€ÑcwpÏρ†ĿćènĪWlĄkT}ˆJ”¤~ƒÈT„d„™pddʾĬŠ”ŽBVt„EÀ¢ôPĎƗè@~‚k–ü\\rÊĔÖæW_§¼F˜†´©òDòj’ˆYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkv‚GpuARhÞÆǶgʊTǼƹS£¨¡ù³ŘÍ]¿Ây™ôEP xX¶¹܇O¡“gÚ¡IwÃ鑦ÅB‡Ï|Ç°…N«úmH¯‹âŸDùŽyŜžŲIÄuШDž•¸dɂ‡‚FŸƒ•›Oh‡đ©OŸ›iÃ`ww^ƒÌkŸ‘ÑH«ƇǤŗĺtFu…{Z}Ö@U‡´…ʚLg®¯Oı°ÃwŸ ^˜—€VbÉs‡ˆmA…ê]]w„§›RRl£‡ȭµu¯b{ÍDěïÿȧŽuT£ġƒěŗƃĝ“Q¨fV†Ƌ•ƅn­a@‘³@šď„yýIĹÊKšŭfċŰóŒxV@tˆƯŒJ”]eƒR¾fe|rHA˜|h~Ėƍl§ÏŠlTíb ØoˆÅbbx³^zÃĶš¶Sj®A”yÂhðk`š«P€”ˈµEF†Û¬Y¨Ļrõqi¼‰Wi°§’б´°^[ˆÀ|ĠO@ÆxO\\tŽa\\tĕtû{ġŒȧXýĪÓjùÎRb›š^ΛfK[ݏděYfíÙTyŽuUSyŌŏů@Oi½’éŅ­aVcř§ax¹XŻác‡žWU£ôãºQ¨÷Ñws¥qEH‰Ù|‰›šYQoŕÇyáĂ£MðoťÊ‰P¡mšWO¡€v†{ôvîēÜISpÌhp¨ ‘j†deŔQÖj˜X³à™Ĉ[n`Yp@Už–cM`’RKhŒEbœ”pŞlNut®Etq‚nsÁŠgA‹iú‹oH‡qCX‡”hfgu“~ϋWP½¢G^}¯ÅīGCŸÑ^ãziMáļMTÃƘrMc|O_ž¯Ŏ´|‡morDkO\\mĆJfl@cĢ¬¢aĦtRıҙ¾ùƀ^juųœK­ƒUFy™—Ɲ…›īÛ÷ąV×qƥV¿aȉd³B›qPBm›aËđŻģm“Å®VŠ¹d^K‡KoŸnYg“¯Xhqa”Ldu¥•ÍpDž¡KąÅƒkĝęěhq‡}HyÓ]¹ǧ£…Í÷¿qᵧš™g‘¤o^á¾ZE‡¤i`ij{n•ƒOl»ŸWÝĔįhg›F[¿¡—ßkOüš_‰€ū‹i„DZàUtėGylƒ}ŒÓM}€jpEC~¡FtoQi‘šHkk{Ãmï‚"]], "encodeOffsets": [[[119712, 40641]], [[121616, 39981]], [[116462, 37237]]] } }, { "type": "Feature", "id": "140000", "properties": { "id": "140000", "cp": [111.849248, 36.857014], "name": "山西", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@Þĩ҃S‰ra}Á€yWix±Üe´lè“ßÓǏok‘ćiµVZģ¡coœ‘TS˹ĪmnÕńe–hZg{gtwªpXaĚThȑp{¶Eh—®RćƑP¿£‘Pmc¸mQÝW•ďȥoÅîɡųAďä³aωJ‘½¥PG­ąSM­™…EÅruµé€‘Yӎ•Ō_d›ĒCo­Èµ]¯_²ÕjāŽK~©ÅØ^ԛkïçămϑk]­±ƒcݯÑÃmQÍ~_a—pm…~ç¡q“ˆu{JÅŧ·Ls}–EyÁÆcI{¤IiCfUc•ƌÃp§]웫vD@¡SÀ‘µM‚ÅwuŽYY‡¡DbÑc¡hƒ×]nkoQdaMç~eD•ÛtT‰©±@¥ù@É¡‰ZcW|WqOJmĩl«ħşvOÓ«IqăV—¥ŸD[mI~Ó¢cehiÍ]Ɠ~ĥqXŠ·eƷœn±“}v•[ěďŽŕ]_‘œ•`‰¹ƒ§ÕōI™o©b­s^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs׌¥ŅxŸÊdÒ{ºvĴÎêÌɊ²¶€ü¨|ÞƸµȲ‘LLúÉƎ¤ϊęĔV`„_bª‹S^|ŸdŠzY|dz¥p†ZbÆ£¶ÒK}tĦÔņƠ‚PYzn€ÍvX¶Ěn ĠÔ„zý¦ª˜÷žÑĸَUȌ¸‚dòÜJð´’ìúNM¬ŒXZ´‘¤ŊǸ_tldIš{¦ƀðĠȤ¥NehXnYG‚‡R° ƬDj¬¸|CĞ„Kq‚ºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBŒÊ”TœŸ˜ʂōĖ’šĴŞ–ȀœÆÿȄlŤĒö„t”νî¼ĨXhŒ‘˜|ªM¤Ðz"], "encodeOffsets": [[116874, 41716]] } }, { "type": "Feature", "id": "150000", "properties": { "id": "150000", "cp": [111.670801, 41.818311], "name": "内蒙古", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@¯PqƒFB…‰|S•³C|kñ•H‹d‘iÄ¥sˆʼnő…PóÑÑE^‘ÅPpy_YtS™hQ·aHwsOnʼnÚs©iqj›‰€USiº]ïWš‰«gW¡A–Rë¥_ŽsgÁnUI«m‰…„‹]j‡vV¼euhwqA„aW˜ƒ_µj…»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáG“›OUۗOB±•XŸkŇ¹£k|e]ol™ŸkVͼÕqtaÏõjgÁ£§U^Œ”RLˆËnX°Ç’Bz†^~wfvˆypV ¯„ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyx‹þp]Évïè‘vƀnÂĴÖ@‚‰†V~Ĉv¦wĖt—ējyÄDXÄxGQuv_›i¦aBçw‘˛wD™©{ŸtāmQ€{EJ§KPśƘƿ¥@‰sCT•É}ɃwˆƇy±ŸgÑ“}T[÷kÐ禫…SÒ¥¸ëBX½‰HáŵÀğtSÝÂa[ƣ°¯¦P]£ġ“–“Òk®G²„èQ°óMq}EŠóƐÇ\\ƒ‡@áügQ͋u¥Fƒ“T՛¿Jû‡]|mvāÎYua^WoÀa·­ząÒot׶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶—ˆ¿A•†‹[¡Œ{d×uQAƒ›M•xV‹vMOmăl«ct[wº_šÇʊŽŸjb£ĦS_é“QZ“_lwgOiýe`YYLq§IÁˆdz£ÙË[ÕªuƏ³ÍT—s·bÁĽäė[›b[ˆŗfãcn¥îC¿÷µ[ŏÀQ­ōšĉm¿Á^£mJVm‡—L[{Ï_£›F¥Ö{ŹA}…×Wu©ÅaųijƳhB{·TQqÙIķˑZđ©Yc|M¡…L•eVUóK_QWk’_ĥ‘¿ãZ•»X\\ĴuUƒè‡lG®ěłTĠğDєOrÍd‚ÆÍz]‹±…ŭ©ŸÅ’]ŒÅÐ}UË¥©Tċ™ïxgckfWgi\\ÏĒ¥HkµE˜ë{»ÏetcG±ahUiñiWsɁˆ·c–C‚Õk]wȑ|ća}w…VaĚ᠞ŒG°ùnM¬¯†{ȈÐÆA’¥ÄêJxÙ¢”hP¢Ûˆº€µwWOŸóFŽšÁz^ÀŗÎú´§¢T¤ǻƺSė‰ǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇq‡Z‘ñiñC³ª—…»E`¨åXēÕqÉû[l•}ç@čƘóO¿¡ƒFUsA‰“ʽīccšocƒ‚ƒÇS}„“£‡IS~ălkĩXçmĈ…ŀЂoÐdxÒuL^T{r@¢‘žÍƒĝKén£kQ™‰yšÅõËXŷƏL§~}kqš»IHėDžjĝŸ»ÑÞoŸå°qTt|r©ÏS‹¯·eŨĕx«È[eMˆ¿yuˆ‘pN~¹ÏyN£{©’—g‹ħWí»Í¾s“əšDž_ÃĀɗ±ą™ijĉʍŌŷ—S›É“A‹±åǥɋ@럣R©ąP©}ĹªƏj¹erƒLDĝ·{i«ƫC£µsKCš…GS|úþX”gp›{ÁX¿Ÿć{ƱȏñZáĔyoÁhA™}ŅĆfdʼn„_¹„Y°ėǩÑ¡H¯¶oMQqð¡Ë™|‘Ñ`ƭŁX½·óۓxğįÅcQ‡ˆ“ƒs«tȋDžF“Ÿù^i‘t«Č¯[›hAi©á¥ÇĚ×l|¹y¯YȵƓ‹ñǙµï‚ċ™Ļ|Dœ™üȭ¶¡˜›oŽäÕG\\ďT¿Òõr¯œŸLguÏYęRƩšɷŌO\\İТæ^Ŋ IJȶȆbÜGŽĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľƒ]ėl¥Ë‡ĭûÁ„ƒėéV©±ćn©­ȇžÍq¯½•YÃÔʼn“ÉNѝÅÝy¹NqáʅDǡËñ­ƁYÅy̱os§ȋµʽǘǏƬɱà‘ưN¢ƔÊuľýľώȪƺɂļžxœZĈ}ÌʼnŪ˜ĺœŽĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~Ǎ›¼ȳÐUf†dIxÿ\\G ˆzâɏÙOº·pqy£†@ŒŠqþ@Ǟ˽IBäƣzsÂZ†ÁàĻdñ°ŕzéØűzșCìDȐĴĺf®ŽÀľưø@ɜÖÞKĊŇƄ§‚͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФԂ¤ƌžĞ̪Qʤ´¼mȠJˀŸƲÀɠmǐnǔĎȆÞǠN~€ʢĜ‚¶ƌĆĘźʆȬ˪ĚĒ¸ĞGȖƴƀj`ĢçĶāàŃºēĢƒĖćšYŒÀŎüôQÐÂŎŞdžŞêƖš˜oˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^žªƂ`ªt¾äƚêĦĀ¼Ð€Ĕǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDĝŒ|ø˂˜ƮÐ¬ɚwɲFjĔ²Äw°dždÀɞ_ĸdîàŎjʜêTЪŌ‡ŜWÈ|tqĢUB~´°ÎFC•ŽU¼pĀēƄN¦¾O¶ŠłKĊOj“Ě”j´ĜYp˜{¦„ˆSĚÍ\\Tš×ªV–÷Ší¨ÅDK°ßtŇĔKš¨ǵÂcḷ̌ĚǣȄĽF‡lġUĵœŇ‹ȣFʉɁƒMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFŽxúQ„Er´W„rh¤Ɛ \\talĈDJ˜Ü|[Pll̚¸ƎGú´Pž¬W¦†^¦–H]prR“n|or¾wLVnÇIujkmon£cX^Bh`¥V”„¦U¤¸}€xRj–[^xN[~ªŠxQ„‚[`ªHÆÂExx^wšN¶Ê˜|¨ì†˜€MrœdYp‚oRzNy˜ÀDs~€bcfÌ`L–¾n‹|¾T‚°c¨È¢a‚r¤–`[|òDŞĔöxElÖdH„ÀI`„Ď\\Àì~ƎR¼tf•¦^¢ķ¶e”ÐÚMŒptgj–„ɡČÅyġLû™ŇV®ŠÄÈƀ†Ď°P|ªVV†ªj–¬ĚÒêp¬–E|ŬÂc|ÀtƐK fˆ{ĘFĒœƌXƲąo½Ę‘\\¥–o}›Ûu£ç­kX‘{uĩ«āíÓUŅßŢq€Ť¥lyň[€oi{¦‹L‡ń‡ðFȪȖ”ĒL„¿Ì‹ˆfŒ£K£ʺ™oqNŸƒwğc`ue—tOj×°KJ±qƒÆġm‰Ěŗos¬…qehqsuœƒH{¸kH¡Š…ÊRǪÇƌbȆ¢´ä܍¢NìÉʖ¦â©Ġu¦öČ^â£Ăh–šĖMÈÄw‚\\fŦ°W ¢¾luŸD„wŠ\\̀ʉÌÛM…Ā[bӞEn}¶Vc…ê“sƒ"]], "encodeOffsets": [[[129102, 52189]]] } }, { "type": "Feature", "id": "210000", "properties": { "id": "210000", "cp": [123.429096, 41.796767], "name": "辽宁", "childNum": 16 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@L–Ž@@s™a"], ["@@MnNm"], ["@@d‚c"], ["@@eÀ‚C@b‚“‰"], ["@@f‡…Xwkbr–Ä`qg"], ["@@^jtW‘Q"], ["@@~ Y]c"], ["@@G`ĔN^_¿Z‚ÃM"], ["@@iX¶B‹Y"], ["@@„YƒZ"], ["@@L_{Epf"], ["@@^WqCT\\"], ["@@\\[“‹§t|”¤_"], ["@@m`n_"], ["@@Ïxnj{q_×^Giip"], ["@@@œé^B†‡ntˆaÊU—˜Ÿ]x ¯ÄPIJ­°h€ʙK³†VˆÕ@Y~†|EvĹsDŽ¦­L^p²ŸÒG ’Ël]„xxÄ_˜fT¤Ď¤cŽœP„–C¨¸TVjbgH²sdÎdHt`Bˆ—²¬GJję¶[ÐhjeXdlwhšðSȦªVÊπ‹Æ‘Z˜ÆŶ®²†^ŒÎyÅÎcPqń“ĚDMħĜŁH­ˆk„çvV[ij¼W–‚YÀäĦ’‘`XlžR`žôLUVžfK–¢†{NZdĒª’YĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~†źBŽ|¦ÕœEž¤Ð`\\|Kˆ˜UnnI]¤ÀÂĊnŎ™R®Ő¿¶\\ÀøíDm¦ÎbŨab‰œaĘ\\ľã‚¸a˜tÎSƐ´©v\\ÖÚÌǴ¤Â‡¨JKr€Z_Z€fjþhPkx€`Y”’RIŒjJcVf~sCN¤ ˆE‚œhæm‰–sHy¨SðÑÌ\\\\ŸĐRZk°IS§fqŒßýáЍÙÉÖ[^¯ǤŲ„ê´\\¦¬ĆPM¯£Ÿˆ»uïpùzEx€žanµyoluqe¦W^£ÊL}ñrkqWňûP™‰UP¡ôJŠoo·ŒU}£Œ„[·¨@XŒĸŸ“‹‹DXm­Ûݏº‡›GU‹CÁª½{íĂ^cj‡k“¶Ã[q¤“LÉö³cux«zZfƒ²BWÇ®Yß½ve±ÃC•ý£W{Ú^’q^sÑ·¨‹ÍOt“¹·C¥‡GD›rí@wÕKţ݋˜Ÿ«V·i}xËÍ÷‘i©ĝ‡ɝǡ]ƒˆ{c™±OW‹³Ya±Ÿ‰_穂Hžĕoƫ€Ňqƒr³‰Lys[„ñ³¯OS–ďOMisZ†±ÅFC¥Pq{‚Ã[Pg}\\—¿ghćO…•k^ģÁFıĉĥM­oEqqZûěʼn³F‘¦oĵ—hŸÕP{¯~TÍlª‰N‰ßY“Ð{Ps{ÃVU™™eĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀff‘dF~ˆ€ĀeĖ€d`sx² šƒ®EżĀdQ‹Âd^~ăÔHˆ¦\\›LKpĄVez¤NP ǹӗR™ÆąJSh­a[¦´Âghwm€BÐ¨źhI|žVVŽ—Ž|p] Â¼èNä¶ÜBÖ¼“L`‚¼bØæŒKV”ŸpoœúNZÞÒKxpw|ÊEMnzEQšŽIZ”ŽZ‡NBˆčÚFÜçmĩ‚WĪñt‘ÞĵÇñZ«uD‚±|Əlij¥ãn·±PmÍa‰–da‡ CL‡Ǒkùó¡³Ï«QaċϑOÃ¥ÕđQȥċƭy‹³ÃA"]], "encodeOffsets": [[[123686, 41445]], [[126019, 40435]], [[124393, 40128]], [[126117, 39963]], [[125322, 40140]], [[126686, 40700]], [[126041, 40374]], [[125584, 40168]], [[125453, 40165]], [[125362, 40214]], [[125280, 40291]], [[125774, 39997]], [[125976, 40496]], [[125822, 39993]], [[125509, 40217]], [[122731, 40949]]] } }, { "type": "Feature", "id": "220000", "properties": { "id": "220000", "cp": [125.3245, 43.886841], "name": "吉林", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@‘p䔳PClƒFbbÍzš€wBG’ĭ€Z„Åi“»ƒlY­ċ²SgŽkÇ£—^S‰“qd¯•‹R…©éŽ£¯S†\\cZ¹iűƏCuƍÓX‡oR}“M^o•£…R}oªU­F…uuXHlEŕ‡€Ï©¤ÛmTŽþ¤D–²ÄufàÀ­XXȱAe„yYw¬dvõ´KÊ£”\\rµÄl”iˆdā]|DÂVŒœH¹ˆÞ®ÜWnŒC”Œķ W‹§@\\¸‹ƒ~¤‹Vp¸‰póIO¢ŠVOšŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúvð‡¼¤ N°ąO¥«³[ƒéǡű_°Õ\\ÚÊĝŽþâőàerR¨­JYlďQ[ ÏYëЧTGz•tnŠß¡gFkMŸāGÁ¤ia É‰™È¹`\\xs€¬dĆkNnuNUŠ–užP@‚vRY¾•–\\¢…ŒGªóĄ~RãÖÎĢù‚đŴÕhQŽxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp‚]vbÍZuĂ{nˆ^IüœÀSք”¦EŒvRÎûh@℈[‚Əȉô~FNr¯ôçR±ƒ­HÑl•’Ģ–^¤¢‚OðŸŒævxsŒ]ÞÁTĠs¶¿âƊGW¾ìA¦·TѬ†è¥€ÏÐJ¨¼ÒÖ¼ƒƦɄxÊ~S–tD@ŠĂ¼Ŵ¡jlºWžvЉˆzƦZЎ²CH— „Axiukd‹ŒGgetqmcžÛ£Ozy¥cE}|…¾cZ…k‚‰¿uŐã[oxGikfeäT@…šSUwpiÚFM©’£è^ڟ‚`@v¶eň†f h˜eP¶žt“äOlÔUgƒÞzŸU`lœ}ÔÆUvØ_Ō¬Öi^ĉi§²ÃŠB~¡Ĉ™ÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYx‘ƘDVÇĺĿg¿cwÅ\\¹˜¥Yĭlœ¤žOv†šLjM_a W`zļMž·\\swqÝSA‡š—q‰Śij¯Š‘°kŠRē°wx^Đkǂғ„œž“œŽ„‹\\]˜nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°“G³¼XÀ““™¤¹i´o¤ŃšŸÈ`̃DzÄUĞd\\i֚ŒˆmÈBĤÜɲDEh LG¾ƀľ{WaŒYÍȏĢĘÔRîĐj‹}Ǟ“ccj‡oUb½š{“h§Ǿ{K‹ƖµÎ÷žGĀÖŠåưÎs­l›•yiē«‹`姝H¥Ae^§„GK}iã\\c]v©ģZ“mÃ|“[M}ģTɟĵ‘Â`À–çm‰‘FK¥ÚíÁbXš³ÌQґHof{‰]e€pt·GŋĜYünĎųVY^’˜ydõkÅZW„«WUa~U·Sb•wGçǑ‚“iW^q‹F‚“›uNĝ—·Ew„‹UtW·Ýďæ©PuqEzwAV•—XR‰ãQ`­©GŒM‡ehc›c”ďϝd‡©ÑW_ϗYƅŒ»…é\\ƒɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ý‘L¡‘ýŸqT^rme™\\Pp•ZZbƒyŸ’uybQ—efµ]UhĿDCmûvašÙNSkCwn‰cćfv~…Y‹„ÇG"], "encodeOffsets": [[130196, 42528]] } }, { "type": "Feature", "id": "230000", "properties": { "id": "230000", "cp": [128.642464, 46.756967], "name": "黑龙江", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@UƒµNÿ¥īè灋•HÍøƕ¶LŒǽ|g¨|”™Ža¾pViˆdd”~ÈiŒíďÓQġėǐZ΋ŽXb½|ſÃH½ŸKFgɱCģÛÇA‡n™‹jÕc[VĝDZÃ˄Ç_™ £ń³pŽj£º”š¿”»WH´¯”U¸đĢmžtĜyzzNN|g¸÷äűѱĉā~mq^—Œ[ƒ”››”ƒǁÑďlw]¯xQĔ‰¯l‰’€°řĴrŠ™˜BˆÞTxr[tŽ¸ĻN_yŸX`biN™Ku…P›£k‚ZĮ—¦[ºxÆÀdhŽĹŀUÈƗCw’áZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFćš}¢‰A±Äj¨]ĊÕjŋ«×`VuÓś~_kŷVÝyh„“VkÄãPs”Oµ—fŸge‚Ň…µf@u_Ù ÙcŸªNªÙEojVx™T@†ãSefjlwH\\pŏäÀvŠŽlY†½d{†F~¦dyz¤PÜndsrhf‹HcŒvlwjFœ£G˜±DύƥY‡yϊu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|Cš˜zxAè¥bœfudTrFWÁ¹Am|˜ĔĕsķÆF‡´Nš‰}ć…UŠÕ@Áijſmužç’uð^ÊýowŒFzØÎĕNőžǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°ƒUŸzou‡xe]}Ž…AyȑW¯ÌmK‡“Q]‹Īºif¸ÄX|sZt|½ÚUΠlkš^p{f¤lˆºlÆW –€A²˜PVܜPH”Êâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi†`¶—„bXƒrBgxfv»ŽuUiˆŒ^v~”J¬mVp´£Œ´VWrnP½ì¢BX‚¬h™ŠðX¹^TjVœŠriªj™tŊÄm€tPGx¸bgRšŽsT`ZozÆO]’ÒFô҆Oƒ‡ŊŒvŞ”p’cGŒêŠsx´DR–Œ{A†„EOr°Œ•žx|íœbˆ³Wm~DVjºéNN†Ëܲɶ­GƒxŷCStŸ}]ûō•SmtuÇÃĕN•™āg»šíT«u}ç½BĵÞʣ¥ëÊ¡Mێ³ãȅ¡ƋaǩÈÉQ‰†G¢·lG|›„tvgrrf«†ptęŘnŠÅĢr„I²¯LiØsPf˜_vĠd„xM prʹšL¤‹¤‡eˌƒÀđK“žïÙVY§]I‡óáĥ]ķ†Kˆ¥Œj|pŇ\\kzţ¦šnņäÔVĂîĪ¬|vW’®l¤èØr‚˜•xm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄ–Ą»ƢjȦOǺ¨ìSŖÆƬy”Qœv`–cwƒZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨS’Œfm Ċ‚ƀP̎ēz©Ċ‚ÄÕÊmgŸÇsJ¥ƔˆŊśæ’΁Ñqv¿íUOµª‰ÂnĦÁ_½ä@ê텣P}Ġ[@gġ}g“ɊדûÏWXá¢užƻÌsNͽƎÁ§č՛AēeL³àydl›¦ĘVçŁpśdžĽĺſʃQíÜçÛġԏsĕ¬—Ǹ¯YßċġHµ ¡eå`ļƒrĉŘóƢFì“ĎWøxÊk†”ƈdƬv|–I|·©NqńRŀƒ¤é”eŊœŀ›ˆàŀU²ŕƀB‚Q£Ď}L¹Îk@©ĈuǰųǨ”Ú§ƈnTËÇéƟÊcfčŤ^Xm‡—HĊĕË«W·ċëx³ǔķÐċJā‚wİ_ĸ˜Ȁ^ôWr­°oú¬Ħ…ŨK~”ȰCĐ´Ƕ£’fNÎèâw¢XnŮeÂÆĶŽ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®‚ØCÔ ŬGƠ”ƦYĜ‡ĘÜƬDJ—g_ͥœ@čŅĻA“¶¯@wÎqC½Ĉ»NŸăëK™ďÍQ“Ùƫ[«Ãí•gßÔÇOÝáW‘ñuZ“¯ĥ€Ÿŕā¡ÑķJu¤E Ÿå¯°WKɱ_d_}}vyŸõu¬ï¹ÓU±½@gÏ¿rýD‰†g…Cd‰µ—°MFYxw¿CG£‹Rƛ½Õ{]L§{qqąš¿BÇƻğëšܭNJË|c²}Fµ}›ÙRsÓpg±ŠQNqǫŋRwŕnéÑÉKŸ†«SeYR…ŋ‹@{¤SJ}šD Ûǖ֍Ÿ]gr¡µŷjqWÛham³~S«“„›Þ]"]], "encodeOffsets": [[[134456, 44547]]] } }, { "type": "Feature", "id": "320000", "properties": { "id": "320000", "cp": [119.767413, 33.041544], "name": "江苏", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@cþÅPiŠ`ZŸRu¥É\\]~°ŽY`µ†Óƒ^phÁbnÀşúŽòa–ĬºTÖŒb‚˜e¦¦€{¸ZâćNpŒ©žHr|^ˆmjhŠSEb\\afv`sz^lkŽlj‹Ätg‹¤D˜­¾Xš¿À’|ДiZ„ȀåB·î}GL¢õcßjaŸyBFµÏC^ĭ•cÙt¿sğH]j{s©HM¢ƒQnDÀ©DaÜތ·jgàiDbPufjDk`dPOîƒhw¡ĥ‡¥šG˜ŸP²ĐobºrY†„î¶aHŢ´ ]´‚rılw³r_{£DB_Ûdåuk|ˆŨ¯F Cºyr{XFy™e³Þċ‡¿Â™kĭB¿„MvÛpm`rÚã”@Ę¹hågËÖƿxnlč¶Åì½Ot¾dJlŠVJʜǀœŞqvnOŠ^ŸJ”Z‘ż·Q}ê͎ÅmµÒ]Žƍ¦Dq}¬R^èĂ´ŀĻĊIԒtžIJyQŐĠMNtœR®òLh‰›Ěs©»œ}OӌGZz¶A\\jĨFˆäOĤ˜HYš†JvÞHNiÜaϚɖnFQlšNM¤ˆB´ĄNöɂtp–Ŭdf先‹qm¿QûŠùއÚb¤uŃJŴu»¹Ą•lȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Y™xci‡tğ®jű¢KOķ•Coy`å®VTa­_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋĝÄ͎ī‰çÛɈǥ£­ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ—¡RLčiXy‡ÅNïă¡¸iĔϑNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCt‹OPrƒE^ÒoŠg™ĉIµžÛÅʹK…¤½phMŠü`o怆ŀ"], "encodeOffsets": [[121740, 32276]] } }, { "type": "Feature", "id": "330000", "properties": { "id": "330000", "cp": [120.153576, 29.287459], "name": "浙江", "childNum": 45 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@E^dQ]K"], ["@@jX^j‡"], ["@@sfŠbU‡"], ["@@qP\\xz[ck"], ["@@‘Rƒ¢‚FX}°[s_"], ["@@Cbœ\\—}"], ["@@e|v\\la{u"], ["@@v~u}"], ["@@QxÂF¯}"], ["@@¹nŒvÞs¯o"], ["@@rSkUEj"], ["@@bi­ZŒP"], ["@@p[}INf"], ["@@À¿€"], ["@@¹dnbŒ…"], ["@@rSŸBnR"], ["@@g~h}"], ["@@FlEk"], ["@@OdPc"], ["@@v[u\\"], ["@@FjâL~wyoo~›sµL–\\"], ["@@¬e¹aNˆ"], ["@@\\nÔ¡q]L³ë\\ÿ®ŒQ֎"], ["@@ÊA­©[¬"], ["@@KxŒv­"], ["@@@hlIk]"], ["@@pW{o||j"], ["@@Md|_mC"], ["@@¢…X£ÏylD¼XˆtH"], ["@@hlÜ[LykAvyfw^Ež›¤"], ["@@fp¤Mus“R"], ["@@®_ma~•LÁ¬šZ"], ["@@iM„xZ"], ["@@ZcYd"], ["@@Z~dOSo|A¿qZv"], ["@@@`”EN¡v"], ["@@|–TY{"], ["@@@n@m"], ["@@XWkCT\\"], ["@@ºwšZRkĕWO¢"], ["@@™X®±Grƪ\\ÔáXq{‹"], ["@@ůTG°ĄLHm°UC‹"], ["@@¤Ž€aÜx~}dtüGæţŎíĔcŖpMËВjē¢·ðĄÆMzˆjWKĎ¢Q¶˜À_꒔_Bı€i«pZ€gf€¤Nrq]§ĂN®«H±‡yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªˆŠÁŖHŗʼnåqûõi¨hÜ·ƒñt»¹ýv_[«¸m‰YL¯‰Qª…mĉÅdMˆ•gÇjcº«•ęœ¬­K­´ƒB«Âącoċ\\xKd¡gěŧ«®á’[~ıxu·Å”KsËɏc¢Ù\\ĭƛëbf¹­ģSƒĜkáƉÔ­ĈZB{ŠaM‘µ‰fzʼnfåÂŧįƋǝÊĕġć£g³ne­ą»@­¦S®‚\\ßðCšh™iqªĭiAu‡A­µ”_W¥ƣO\\lċĢttC¨£t`ˆ™PZäuXßBs‡Ļyek€OđġĵHuXBšµ]׌‡­­\\›°®¬F¢¾pµ¼kŘó¬Wät’¸|@ž•L¨¸µr“ºù³Ù~§WI‹ŸZWŽ®’±Ð¨ÒÉx€`‰²pĜ•rOògtÁZ}þÙ]„’¡ŒŸFK‚wsPlU[}¦Rvn`hq¬\\”nQ´ĘRWb”‚_ rtČFI֊kŠŠĦPJ¶ÖÀÖJĈĄTĚòžC ²@Pú…Øzœ©PœCÈڜĒ±„hŖ‡l¬â~nm¨f©–iļ«m‡nt–u†ÖZÜÄj“ŠLŽ®E̜Fª²iÊxبžIÈhhst"], ["@@o\\V’zRZ}y"], ["@@†@°¡mۛGĕ¨§Ianá[ýƤjfæ‡ØL–•äGr™"]], "encodeOffsets": [[[125592, 31553]], [[125785, 31436]], [[125729, 31431]], [[125513, 31380]], [[125223, 30438]], [[125115, 30114]], [[124815, 29155]], [[124419, 28746]], [[124095, 28635]], [[124005, 28609]], [[125e3, 30713]], [[125111, 30698]], [[125078, 30682]], [[125150, 30684]], [[124014, 28103]], [[125008, 31331]], [[125411, 31468]], [[125329, 31479]], [[125626, 30916]], [[125417, 30956]], [[125254, 30976]], [[125199, 30997]], [[125095, 31058]], [[125083, 30915]], [[124885, 31015]], [[125218, 30798]], [[124867, 30838]], [[124755, 30788]], [[124802, 30809]], [[125267, 30657]], [[125218, 30578]], [[125200, 30562]], [[124968, 30474]], [[125167, 30396]], [[124955, 29879]], [[124714, 29781]], [[124762, 29462]], [[124325, 28754]], [[123990, 28459]], [[125366, 31477]], [[125115, 30363]], [[125369, 31139]], [[122495, 31878]], [[125329, 30690]], [[125192, 30787]]] } }, { "type": "Feature", "id": "340000", "properties": { "id": "340000", "cp": [117.283042, 31.26119], "name": "安徽", "childNum": 3 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@^iuLX^"], ["@@‚e©Ehl"], ["@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊz›ÖgņtÀÁÊÆá’hEz|WzqD¹€Ÿ°E‡ŧl{ævÜcA`¤C`|´qžxIJkq^³³ŸGšµbƒíZ…¹qpa±ď OH—¦™Ħˆx¢„gPícOl_iCveaOjCh߸i݋bÛªCC¿€m„RV§¢A|t^iĠGÀtÚs–d]ĮÐDE¶zAb àiödK¡~H¸íæAžǿYƒ“j{ď¿‘™À½W—®£ChŒÃsiŒkkly]_teu[bFa‰Tig‡n{]Gqªo‹ĈMYá|·¥f¥—őaSÕė™NµñĞ«ImŒ_m¿Âa]uĜp …Z_§{Cƒäg¤°r[_Yj‰ÆOdý“[ŽI[á·¥“Q_n‡ùgL¾mv™ˊBÜƶĊJhšp“c¹˜O]iŠ]œ¥ jtsggJǧw×jÉ©±›EFˍ­‰Ki”ÛÃÕYv…s•ˆm¬njĻª•§emná}k«ŕˆƒgđ²Ù›DǤ›í¡ªOy›†×Où±@DŸñSęćăÕIÕ¿IµĥO‰‰jNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆߎF¶žX®¿‰mŒ™w…RIޓfßoG‘³¾©uyH‘į{Ɓħ¯AFnuP…ÍÔzšŒV—dàôº^Ðæd´€‡oG¤{S‰¬ćxã}›ŧ×Kǥĩ«žÕOEзÖdÖsƘѨ[’Û^Xr¢¼˜§xvěƵ`K”§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē…ßúLÃϖ_ÈÏ|]ÂÏFl”g`bšežž€n¾¢pU‚h~ƴĖ¶_‚r sĄ~cž”ƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³…]’u}›f…ïQl{skl“oNdŸjŸäËzDvčoQŠďHI¦rb“tHĔ~BmlRš—V_„ħTLnñH±’DžœL‘¼L˜ªl§Ťa¸ŒĚlK²€\\RòvDcÎJbt[¤€D@®hh~kt°ǾzÖ@¾ªdb„YhüóZ ň¶vHrľ\\ʗJuxAT|dmÀO„‹[ÃԋG·ĚąĐlŪÚpSJ¨ĸˆLvÞcPæķŨŽ®mАˆálŸwKhïgA¢ųƩޖ¤OȜm’°ŒK´"]], "encodeOffsets": [[[121722, 32278]], [[119475, 30423]], [[119168, 35472]]] } }, { "type": "Feature", "id": "350000", "properties": { "id": "350000", "cp": [118.306239, 26.075302], "name": "福建", "childNum": 18 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@“zht´‡]"], ["@@aj^~ĆG—©O"], ["@@ed¨„C}}i"], ["@@@vˆPGsQ"], ["@@‰sBz‚ddW]Q"], ["@@SŽ¨Q“{"], ["@@NŽVucW"], ["@@qptBAq"], ["@@‰’¸[mu"], ["@@Q\\pD]_"], ["@@jSwUadpF"], ["@@eXª~ƒ•"], ["@@AjvFso"], ["@@fT–›_Çí\\Ÿ™—v|ba¦jZÆy€°"], ["@@IjJi"], ["@@wJI€ˆxš«¼AoNe{M­"], ["@@K‰±¡Óˆ”ČäeZ"], ["@@k¡¹Eh~c®wBk‹UplÀ¡I•~Māe£bN¨gZý¡a±Öcp©PhžI”Ÿ¢Qq…ÇGj‹|¥U™ g[Ky¬ŏ–v@OpˆtÉEŸF„\\@ åA¬ˆV{Xģ‰ĐBy…cpě…¼³Ăp·¤ƒ¥o“hqqÚ¡ŅLsƒ^ᗞ§qlŸÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ß–ėu›ĕeûҍiÁŧSW¥˜QŠûŗ½ùěcݧSùĩąSWó«íęACµ›eR—åǃRCÒÇZÍ¢‹ź±^dlsŒtjD¸•‚ZpužÔâÒH¾oLUêÃÔjjēò´ĄW‚ƛ…^Ñ¥‹ĦŸ@Çò–ŠmŒƒOw¡õyJ†yD}¢ďÑÈġfŠZd–a©º²z£šN–ƒjD°Ötj¶¬ZSÎ~¾c°¶Ðm˜x‚O¸¢Pl´žSL|¥žA†ȪĖM’ņIJg®áIJČĒü` ŽQF‡¬h|ÓJ@zµ |ê³È ¸UÖŬŬÀEttĸr‚]€˜ðŽM¤ĶIJHtÏ A’†žĬkvsq‡^aÎbvŒd–™fÊòSD€´Z^’xPsÞrv‹ƞŀ˜jJd×ŘÉ ®A–ΦĤd€xĆqAŒ†ZR”ÀMźŒnĊ»ŒİÐZ— YX–æJŠyĊ²ˆ·¶q§·–K@·{s‘Xãô«lŗ¶»o½E¡­«¢±¨Yˆ®Ø‹¶^A™vWĶGĒĢžPlzfˆļŽtàAvWYãšO_‡¤sD§ssČġ[kƤPX¦Ž`¶“ž®ˆBBvĪjv©šjx[L¥àï[F…¼ÍË»ğV`«•Ip™}ccÅĥZE‹ãoP…´B@ŠD—¸m±“z«Ƴ—¿å³BRضˆœWlâþäą`“]Z£Tc— ĹGµ¶H™m@_©—kŒ‰¾xĨ‡ôȉðX«½đCIbćqK³Á‹Äš¬OAwã»aLʼn‡ËĥW[“ÂGI—ÂNxij¤D¢ŽîĎÎB§°_JœGsƒ¥E@…¤uć…P‘å†cuMuw¢BI¿‡]zG¹guĮck\\_"]], "encodeOffsets": [[[123250, 27563]], [[122541, 27268]], [[123020, 27189]], [[122916, 27125]], [[122887, 26845]], [[122808, 26762]], [[122568, 25912]], [[122778, 26197]], [[122515, 26757]], [[122816, 26587]], [[123388, 27005]], [[122450, 26243]], [[122578, 25962]], [[121255, 25103]], [[120987, 24903]], [[122339, 25802]], [[121042, 25093]], [[122439, 26024]]] } }, { "type": "Feature", "id": "360000", "properties": { "id": "360000", "cp": [115.592151, 27.676493], "name": "江西", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@ĢĨƐgļˆ¼ÂMD~ņªe^\\^§„ý©j׍cZ†Ø¨zdÒa¶ˆlҍJŒìõ`oz÷@¤u޸´†ôęöY¼‰HČƶajlÞƩ¥éZ[”|h}^U Œ ¥p„ĄžƦO lt¸Æ €Q\\€ŠaÆ|CnÂOjt­ĚĤd’ÈŒF`’¶„@Ð딠¦ōҞ¨Sêv†HĢûXD®…QgėWiØPÞìºr¤dž€NĠ¢l–•ĄtZoœCƞÔºCxrpĠV®Ê{f_Y`_ƒeq’’®Aot`@o‚DXfkp¨|Šs¬\\D‘ÄSfè©Hn¬…^DhÆyøJh“ØxĢĀLʈ„ƠPżċĄwȠ̦G®ǒĤäTŠÆ~ĦwŠ«|TF¡Šn€c³Ïå¹]ĉđxe{ÎӐ†vOEm°BƂĨİ|G’vz½ª´€H’àp”eJ݆Qšxn‹ÀŠW­žEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[“r«_gŽmQu~¥V\\OkxtL E¢‹ƒ‘Ú^~ýê‹Pó–qo슱_Êw§ÑªåƗā¼‹mĉŹ‹¿NQ“…YB‹ąrwģcÍ¥B•Ÿ­ŗÊcØiI—žƝĿuŒqtāwO]‘³YCñTeɕš‹caub͈]trlu€ī…B‘ПGsĵıN£ï—^ķqss¿FūūV՟·´Ç{éĈý‰ÿ›OEˆR_ŸđûIċâJh­ŅıN‘ȩĕB…¦K{Tk³¡OP·wn—µÏd¯}½TÍ«YiµÕsC¯„iM•¤™­•¦¯P|ÿUHv“he¥oFTu‰õ\\ŽOSs‹MòđƇiaºćXŸĊĵà·çhƃ÷ǜ{‘ígu^›đg’m[×zkKN‘¶Õ»lčÓ{XSƉv©_ÈëJbVk„ĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B„±’ÌŒK˜y’áV‡¼Ã~­…`g›ŸsÙfI›Ƌlę¹e|–~udjˆuTlXµf`¿JdŠ[\\˜„L‚‘²"], "encodeOffsets": [[116689, 26234]] } }, { "type": "Feature", "id": "370000", "properties": { "id": "370000", "cp": [118.000923, 36.275807], "name": "山东", "childNum": 13 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@Xjd]{K"], ["@@itbFHy"], ["@@HlGk"], ["@@T‚ŒGŸy"], ["@@K¬˜•‹U"], ["@@WdXc"], ["@@PtOs"], ["@@•LnXhc"], ["@@ppVƒu]Or"], ["@@cdzAUa"], ["@@udRhnCI‡"], ["@@ˆoIƒpR„"], ["@@Ľč{fzƤî’Kš–ÎMĮ]†—ZFˆ½Y]â£ph’™š¶¨râøÀ†ÎǨ¤^ºÄ”Gzˆ~grĚĜlĞƄLĆdž¢Îo¦–cv“Kb€gr°Wh”mZp ˆL]LºcU‰Æ­n”żĤÌĒœbAnrOAœ´žȊcÀbƦUØrĆUÜøœĬƞ†š˜Ez„VL®öØBkŖÝĐĖ¹ŧ̄±ÀbÎɜnb²ĦhņBĖ›žįĦåXćì@L¯´ywƕCéõė ƿ¸‘lµ¾Z|†ZWyFYŸ¨Mf~C¿`€à_RÇzwƌfQnny´INoƬˆèôº|sT„JUš›‚L„îVj„ǎ¾Ē؍‚Dz²XPn±ŴPè¸ŔLƔÜƺ_T‘üÃĤBBċȉöA´fa„˜M¨{«M`‡¶d¡ô‰Ö°šmȰBÔjjŒ´PM|”c^d¤u•ƒ¤Û´Œä«ƢfPk¶Môlˆ]Lb„}su^ke{lC‘…M•rDŠÇ­]NÑFsmoõľH‰yGă{{çrnÓE‰‹ƕZGª¹Fj¢ïW…uøCǷ돡ąuhÛ¡^Kx•C`C\\bÅxì²ĝÝ¿_N‰īCȽĿåB¥¢·IŖÕy\\‡¹kx‡Ã£Č×GDyÕ¤ÁçFQ¡„KtŵƋ]CgÏAùSed‡cÚź—ŠuYfƒyMmhUWpSyGwMPqŀ—›Á¼zK›¶†G•­Y§Ëƒ@–´śÇµƕBmœ@Io‚g——Z¯u‹TMx}C‘‰VK‚ï{éƵP—™_K«™pÛÙqċtkkù]gŽ‹Tğwo•ɁsMõ³ă‡AN£™MRkmEʕč™ÛbMjÝGu…IZ™—GPģ‡ãħE[iµBEuŸDPԛ~ª¼ętŠœ]ŒûG§€¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~Ż¸Y’I“] P‰umŝrƿ›‰›Iā‹[x‰edz‹L‘¯v¯s¬ÁY…~}…ťuŁŒg›ƋpÝĄ_ņī¶ÏSR´ÁP~ž¿Cyžċßdwk´Ss•X|t‰`Ä Èð€AªìÎT°¦Dd–€a^lĎDĶÚY°Ž`ĪŴǒˆ”àŠv\\ebŒZH„ŖR¬ŢƱùęO•ÑM­³FۃWp[ƒ"]], "encodeOffsets": [[[123806, 39303]], [[123821, 39266]], [[123742, 39256]], [[123702, 39203]], [[123649, 39066]], [[123847, 38933]], [[123580, 38839]], [[123894, 37288]], [[123043, 36624]], [[123344, 38676]], [[123522, 38857]], [[123628, 38858]], [[118260, 36742]]] } }, { "type": "Feature", "id": "410000", "properties": { "id": "410000", "cp": [113.665412, 33.757975], "name": "河南", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@•ýL™ùµP³swIÓxcŢĞð†´E®žÚPt†ĴXØx¶˜@«ŕŕQGƒ‹Yfa[şu“ßǩ™đš_X³ijÕčC]kbc•¥CS¯ëÍB©÷‹–³­Siˆ_}m˜YTtž³xlàcȂzÀD}ÂOQ³ÐTĨ¯†ƗòËŖ[hœł‹Ŧv~††}ÂZž«¤lPǕ£ªÝŴÅR§ØnhcŒtâk‡nύ­ľŹUÓÝdKuķ‡I§oTũÙďkęĆH¸ÓŒ\\ăŒ¿PcnS{wBIvɘĽ[GqµuŸŇôYgûƒZcaŽ©@½Õǽys¯}lgg@­C\\£as€IdÍuCQñ[L±ęk·‹ţb¨©kK—’»›KC²‘òGKmĨS`ƒ˜UQ™nk}AGē”sqaJ¥ĐGR‰ĎpCuÌy ã iMc”plk|tRk†ðœev~^‘´†¦ÜŽSí¿_iyjI|ȑ|¿_»d}qŸ^{“Ƈdă}Ÿtqµ`Ƴĕg}V¡om½fa™Ço³TTj¥„tĠ—Ry”K{ùÓjuµ{t}uËR‘iŸvGŠçJFjµŠÍyqΘàQÂFewixGw½Yŷpµú³XU›½ġy™łå‰kÚwZXˆ·l„¢Á¢K”zO„Λ΀jc¼htoDHr…|­J“½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ…Ťƒ]MÛfaQpě±ǽ¾]u­Fu‹÷nƒ™čįADp}AjmcEǒaª³o³ÆÍSƇĈÙDIzˑ赟^ˆKLœ—i—Þñ€[œƒaA²zz‰Ì÷Dœ|[šíijgf‚ÕÞd®|`ƒĆ~„oĠƑô³Ŋ‘D×°¯CsŠøÀ«ì‰UMhTº¨¸ǡîS–Ô„DruÂÇZ•ÖEŽ’vPZ„žW”~؋ÐtĄE¢¦Ðy¸bŠô´oŬ¬Ž²Ês~€€]®tªašpŎJ¨Öº„_ŠŔ–`’Ŗ^Ѝ\\Ĝu–”~m²Ƹ›¸fW‰ĦrƔ}Î^gjdfÔ¡J}\\n C˜¦þWxªJRÔŠu¬ĨĨmF†dM{\\d\\ŠYÊ¢ú@@¦ª²SŠÜsC–}fNècbpRmlØ^g„d¢aÒ¢CZˆZxvÆ¶N¿’¢T@€uCœ¬^ĊðÄn|žlGl’™Rjsp¢ED}€Fio~ÔNŽ‹„~zkĘHVsDzßjƒŬŒŠŢ`Pûàl¢˜\\ÀœEhŽİgÞē X¼Pk–„|m"], "encodeOffsets": [[118256, 37017]] } }, { "type": "Feature", "id": "420000", "properties": { "id": "420000", "cp": [113.298572, 30.684355], "name": "湖北", "childNum": 3 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@AB‚"], ["@@lskt"], ["@@¾«}{ra®pîÃ\\™›{øCŠËyyB±„b\\›ò˜Ý˜jK›‡L ]ĎĽÌ’JyÚCƈćÎT´Å´pb©È‘dFin~BCo°BĎĚømvŒ®E^vǾ½Ĝ²Ro‚bÜeNŽ„^ĺ£R†¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I”¾®I†{GqpCgyl{‡£œÍƒÍyPL“¡ƒ¡¸kW‡xYlÙ抚ŁĢzœ¾žV´W¶ùŸo¾ZHxjwfx„GNÁ•³Xéæl¶‰EièIH‰ u’jÌQ~v|sv¶Ôi|ú¢Fh˜Qsğ¦ƒSiŠBg™ÐE^ÁÐ{–čnOÂȞUÎóĔ†ÊēIJ}Z³½Mŧïeyp·uk³DsѨŸL“¶_œÅuèw»—€¡WqÜ]\\‘Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟO‡ƒKÉġÿ×wg”÷IÅzCg†]m«ªGeçÃTC’«[‰t§{loWeC@ps_Bp‘­r‘„f_``Z|ei¡—oċMqow€¹DƝӛDYpûs•–‹Ykıǃ}s¥ç³[§ŸcYŠ§HK„«Qy‰]¢“wwö€¸ïx¼ņ¾Xv®ÇÀµRĠЋžHMž±cÏd„ƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy…¿³x¯N‰o‰|¹H™ÏÛm‹júË~Tš•u˜ęjCöAwě¬R’đl¯ Ñb­‰ŇT†Ŀ_[Œ‘IčĄʿnM¦ğ\\É[T·™k¹œ©oĕ@A¾w•ya¥Y\\¥Âaz¯ãÁ¡k¥ne£Ûw†E©Êō¶˓uoj_Uƒ¡cF¹­[Wv“P©w—huÕyBF“ƒ`R‹qJUw\\i¡{jŸŸEPïÿ½fć…QÑÀQ{ž‚°‡fLԁ~wXg—ītêݾ–ĺ‘Hdˆ³fJd]‹HJ²…E€ƒoU¥†HhwQsƐ»Xmg±çve›]Dm͂PˆoCc¾‹_h”–høYrŊU¶eD°Č_N~øĹĚ·`z’]Äþp¼…äÌQŒv\\rCŒé¾TnkžŐڀÜa‡“¼ÝƆĢ¶Ûo…d…ĔňТJq’Pb ¾|JŒ¾fXŠƐîĨ_Z¯À}úƲ‹N_ĒĊ^„‘ĈaŐyp»CÇĕKŠšñL³ŠġMŒ²wrIÒŭxjb[œžn«øœ˜—æˆàƒ ^²­h¯Ú€ŐªÞ¸€Y²ĒVø}Ā^İ™´‚LŠÚm„¥ÀJÞ{JVŒųÞŃx×sxxƈē ģMř–ÚðòIf–Ċ“Œ\\Ʈ±ŒdʧĘD†vČ_Àæ~DŒċ´A®µ†¨ØLV¦êHÒ¤"]], "encodeOffsets": [[[113712, 34e3]], [[115612, 30507]], [[113649, 34054]]] } }, { "type": "Feature", "id": "430000", "properties": { "id": "430000", "cp": [111.782279, 28.09409], "name": "湖南", "childNum": 3 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@—n„FTs"], ["@@ßÅÆችÔXr—†CO™“…ËR‘ïÿĩ­TooQyšÓ[‹ŅBE¬–ÎÓXa„į§Ã¸G °ITxp‰úxÚij¥Ïš–Ģ¾ŠedžÄ©ĸG…œàGh‚€M¤–Â_U}Ċ}¢pczfŠþg¤€”ÇòAV‘‹M"], ["@@©K—ƒA·³CQ±Á«³BUŠƑ¹AŠtćOw™D]ŒJiØSm¯b£‘ylƒ›X…HËѱH•«–‘C^õľA–Å§¤É¥„ïyuǙuA¢^{ÌC´­¦ŷJ£^[†“ª¿‡ĕ~•Ƈ…•N… skóā‡¹¿€ï]ă~÷O§­@—Vm¡‹Qđ¦¢Ĥ{ºjԏŽŒª¥nf´•~ÕoŸž×Ûą‹MąıuZœmZcÒ IJĪ²SÊDŽŶ¨ƚƒ’CÖŎªQؼrŭŽ­«}NÏürʬŒmjr€@ĘrTW ­SsdHzƓ^ÇÂyUi¯DÅYlŹu{hTœ}mĉ–¹¥ě‰Dÿë©ıÓ[Oº£ž“¥ót€ł¹MՄžƪƒ`Pš…Di–ÛUŠ¾Å‌ìˆU’ñB“È£ýhe‰dy¡oċ€`pfmjP~‚kZa…ZsÐd°wj§ƒ@€Ĵ®w~^‚kÀÅKvNmX\\¨a“”сqvíó¿F„¤¡@ũÑVw}S@j}¾«pĂr–ªg àÀ²NJ¶¶Dô…K‚|^ª†Ž°LX¾ŴäPĪ±œ£EXd›”^¶›IJÞܓ~‘u¸ǔ˜Ž›MRhsR…e†`ÄofIÔ\\Ø  i”ćymnú¨cj ¢»–GČìƊÿШXeĈĀ¾Oð Fi ¢|[jVxrIQŒ„_E”zAN¦zLU`œcªx”OTu RLÄ¢dV„i`p˔vŎµªÉžF~ƒØ€d¢ºgİàw¸Áb[¦Zb¦–z½xBĖ@ªpº›šlS¸Ö\\Ĕ[N¥ˀmĎă’J\\‹ŀ`€…ňSڊĖÁĐiO“Ĝ«BxDõĚiv—ž–S™Ì}iùŒžÜnšÐºGŠ{Šp°M´w†ÀÒzJ²ò¨ oTçüöoÛÿñŽőФ‚ùTz²CȆȸǎŪƒƑÐc°dPÎŸğ˶[Ƚu¯½WM¡­Éž“’B·rížnZŸÒ `‡¨GA¾\\pē˜XhÆRC­üWGġu…T靧Ŏѝ©ò³I±³}_‘‹EÃħg®ęisÁPDmÅ{‰b[Rşs·€kPŸŽƥƒóRo”O‹ŸVŸ~]{g\\“êYƪ¦kÝbiċƵŠGZ»Ěõ…ó·³vŝž£ø@pyö_‹ëŽIkѵ‡bcѧy…×dY؎ªiþž¨ƒ[]f]Ņ©C}ÁN‡»hĻħƏ’ĩ"]], "encodeOffsets": [[[115640, 30489]], [[112543, 27312]], [[116690, 26230]]] } }, { "type": "Feature", "id": "440000", "properties": { "id": "440000", "cp": [113.280637, 23.125178], "name": "广东", "childNum": 24 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@QdˆAua"], ["@@ƒlxDLo"], ["@@sbhNLo"], ["@@Ă āŸ"], ["@@WltO[["], ["@@Krœ]S"], ["@@e„„I]y"], ["@@I|„Mym"], ["@@ƒÛ³LSŒž¼Y"], ["@@nvºB–ëui©`¾"], ["@@zdšÛ›Jw®"], ["@@†°…¯"], ["@@a yAª¸ËJIx،@€ĀHAmßV¡o•fu•o"], ["@@šs‰ŗÃÔėAƁ›ZšÄ ~°ČP‚‹äh"], ["@@‹¶Ý’Ì‚vmĞh­ı‡Q"], ["@@HœŠdSjĒ¢D}war…“u«ZqadYM"], ["@@elŒ\\LqqU"], ["@@~rMo\\"], ["@@f„^ƒC"], ["@@øPªoj÷ÍÝħXČx”°Q¨ıXNv"], ["@@gÇƳˆŽˆ”oˆŠˆ[~tly"], ["@@E–ÆC¿‘"], ["@@OŽP"], ["@@w‹†đóg‰™ĝ—[³‹¡VÙæÅöM̳¹pÁaËýý©D©Ü“JŹƕģGą¤{Ùū…ǘO²«BƱéA—Ò‰ĥ‡¡«BhlmtÃPµyU¯uc“d·w_bŝcīímGOŽ|KP’ȏ‡ŹãŝIŕŭŕ@Óoo¿ē‹±ß}Ž…ŭ‚ŸIJWÈCőâUâǙI›ğʼn©I›ijEׅÁ”³Aó›wXJþ±ÌŒÜӔĨ£L]ĈÙƺZǾĆĖMĸĤfŒÎĵl•ŨnȈ‘ĐtF”Š–FĤ–‚êk¶œ^k°f¶gŠŽœ}®Fa˜f`vXŲxl˜„¦–ÔÁ²¬ÐŸ¦pqÊ̲ˆi€XŸØRDÎ}†Ä@ZĠ’s„x®AR~®ETtĄZ†–ƈfŠŠHâÒÐA†µ\\S¸„^wĖkRzŠalŽŜ|E¨ÈNĀňZTŒ’pBh£\\ŒĎƀuXĖtKL–¶G|Ž»ĺEļĞ~ÜĢÛĊrˆO˜Ùîvd]nˆ¬VœÊĜ°R֟pM††–‚ƂªFbwžEÀˆ˜©Œž\\…¤]ŸI®¥D³|ˎ]CöAŤ¦…æ’´¥¸Lv¼€•¢ĽBaô–F~—š®²GÌҐEY„„œzk¤’°ahlV՞I^‹šCxĈPŽsB‰ƒºV‰¸@¾ªR²ĨN]´_eavSi‡vc•}p}Đ¼ƌkJœÚe thœ†_¸ ºx±ò_xN›Ë‹²‘@ƒă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIžÇª`ŠuTÅxYĒÖ¼k֞’µ‚MžjJÚwn\\h‘œĒv]îh|’È›Ƅøègž¸Ķß ĉĈWb¹ƀdéʌNTtP[ŠöSvrCZžžaGuœbo´ŖÒÇА~¡zCI…özx¢„Pn‹•‰Èñ @ŒĥÒ¦†]ƞŠV}³ăĔñiiÄÓVépKG½Ä‘ÓávYo–C·sit‹iaÀy„ŧΡÈYDÑům}‰ý|m[węõĉZÅxUO}÷N¹³ĉo_qtă“qwµŁYلǝŕ¹tïÛUïmRCº…ˆĭ|µ›ÕÊK™½R‘ē ó]‘–GªęAx–»HO£|ām‡¡diď×YïYWªʼnOeÚtĐ«zđ¹T…ā‡úE™á²\\‹ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃˆOj YÇ÷Qě‹i"]], "encodeOffsets": [[[117381, 22988]], [[116552, 22934]], [[116790, 22617]], [[116973, 22545]], [[116444, 22536]], [[116931, 22515]], [[116496, 22490]], [[116453, 22449]], [[113301, 21439]], [[118726, 21604]], [[118709, 21486]], [[113210, 20816]], [[115482, 22082]], [[113171, 21585]], [[113199, 21590]], [[115232, 22102]], [[115739, 22373]], [[115134, 22184]], [[113056, 21175]], [[119573, 21271]], [[119957, 24020]], [[115859, 22356]], [[116561, 22649]], [[116285, 22746]]] } }, { "type": "Feature", "id": "450000", "properties": { "id": "450000", "cp": [108.320004, 22.82402], "name": "广西", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@H– TQ§•A"], ["@@ĨʪƒLƒƊDÎĹĐCǦė¸zÚGn£¾›rªŀÜt¬@֛ڈSx~øOŒ˜ŶÐÂæȠ\\„ÈÜObĖw^oބLf¬°bI lTØB̈F£Ć¹gñĤaY“t¿¤VSñœK¸¤nM†¼‚JE±„½¸šŠño‹ÜCƆæĪ^ŠĚQÖ¦^‡ˆˆf´Q†üÜʝz¯šlzUĺš@쇀p¶n]sxtx¶@„~ÒĂJb©gk‚{°‚~c°`ԙ¬rV\\“la¼¤ôá`¯¹LC†ÆbŒxEræO‚v[H­˜„[~|aB£ÖsºdAĐzNÂðsŽÞƔ…Ĥªbƒ–ab`ho¡³F«èVloŽ¤™ÔRzpp®SŽĪº¨ÖƒºN…ij„d`’a”¦¤F³ºDÎńĀìŠCžĜº¦Ċ•~nS›|gźvZkCÆj°zVÈÁƔ]LÊFZg…čP­kini«‹qǀcz͔Y®¬Ů»qR×ō©DՄ‘§ƙǃŵTÉĩ±ŸıdÑnYY›IJvNĆƌØÜ Öp–}e³¦m‹©iÓ|¹Ÿħņ›|ª¦QF¢Â¬ʖovg¿em‡^ucà÷gՎuŒíÙćĝ}FĻ¼Ĺ{µHK•sLSđƃr‹č¤[Ag‘oS‹ŇYMÿ§Ç{Fśbky‰lQxĕƒ]T·¶[B…ÑÏGáşşƇe€…•ăYSs­FQ}­Bƒw‘tYğÃ@~…C̀Q ×W‡j˱rÉ¥oÏ ±«ÓÂ¥•ƒ€k—ŽwWűŒmcih³K›~‰µh¯e]lµ›él•Eģ‰•E“ďs‡’mǖŧē`ãògK_ÛsUʝ“ćğ¶hŒöŒO¤Ǜn³Žc‘`¡y‹¦C‘ez€YŠwa™–‘[ďĵűMę§]X˜Î_‚훘Û]é’ÛUćİÕBƣ±…dƒy¹T^džûÅÑŦ·‡PĻþÙ`K€¦˜…¢ÍeœĥR¿Œ³£[~Œäu¼dl‰t‚†W¸oRM¢ď\\zœ}Æzdvň–{ÎXF¶°Â_„ÒÂÏL©Ö•TmuŸ¼ãl‰›īkiqéfA„·Êµ\\őDc¥ÝF“y›Ôć˜c€űH_hL܋êĺШc}rn`½„Ì@¸¶ªVLŒŠhŒ‹\\•Ţĺk~ŽĠið°|gŒtTĭĸ^x‘vK˜VGréAé‘bUu›MJ‰VÃO¡…qĂXËS‰ģãlýàŸ_ju‡YÛÒB†œG^˜é֊¶§ŽƒEG”ÅzěƒƯ¤Ek‡N[kdåucé¬dnYpAyČ{`]þ¯T’bÜÈk‚¡Ġ•vŒàh„ÂƄ¢J"]], "encodeOffsets": [[[111707, 21520]], [[107619, 25527]]] } }, { "type": "Feature", "id": "460000", "properties": { "id": "460000", "cp": [109.83119, 19.031971], "name": "海南", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@š¦Ŝil¢”XƦ‘ƞò–ïè§ŞCêɕrŧůÇąĻõ™·ĉ³œ̅kÇm@ċȧƒŧĥ‰Ľʉ­ƅſ“ȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀœÐ¾jNðĀÒRŒšZdž™zÐŘΰH¨Ƣb²_Ġ "], "encodeOffsets": [[112750, 20508]] } }, { "type": "Feature", "id": "510000", "properties": { "id": "510000", "cp": [104.065735, 30.659462], "name": "四川", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@LqKr"], ["@@Š[ĻéV£ž_ţġñpG •réÏ·~ąSfy×͂·ºſƽiÍıƣıĻmHH}siaX@iÇ°ÁÃ×t«ƒ­Tƒ¤J–JJŒyJ•ÈŠ`Ohߦ¡uËhIyCjmÿw…ZG……Ti‹SˆsO‰žB²ŸfNmsPaˆ{M{ŠõE‘^Hj}gYpaeuž¯‘oáwHjÁ½M¡pM“–uå‡mni{fk”\\oƒÎqCw†EZ¼K›ĝŠƒAy{m÷L‡wO×SimRI¯rK™õBS«sFe‡]fµ¢óY_ÆPRcue°Cbo׌bd£ŌIHgtrnyPt¦foaXďx›lBowz‹_{ÊéWiêE„GhܸºuFĈIxf®Ž•Y½ĀǙ]¤EyŸF²ċ’w¸¿@g¢§RGv»–áŸW`ÃĵJwi]t¥wO­½a[׈]`Ãi­üL€¦LabbTÀå’c}Íh™Æhˆ‹®BH€î|Ék­¤S†y£„ia©taį·Ɖ`ō¥Uh“O…ƒĝLk}©Fos‰´›Jm„µlŁu—…ø–nÑJWΪ–YÀïAetTžŅ‚ӍG™Ë«bo‰{ıwodƟ½ƒžOġܑµxàNÖ¾P²§HKv¾–]|•B‡ÆåoZ`¡Ø`ÀmºĠ~ÌЧnDž¿¤]wğ@sƒ‰rğu‰~‘Io”[é±¹ ¿žſđӉ@q‹gˆ¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@ỗs›Zϕ‹œÅĭ€Ƌ•ěpwDóÖሯneQˌq·•GCœýS]xŸ·ý‹q³•O՜Œ¶Qzßti{ř‰áÍÇWŝŭñzÇW‹pç¿JŒ™‚Xœĩè½cŒF–ÂLiVjx}\\N†ŇĖ¥Ge–“JA¼ÄHfÈu~¸Æ«dE³ÉMA|b˜Ò…˜ćhG¬CM‚õŠ„ƤąAvƒüV€éŀ‰_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»Ÿ“˜ÕZ³ġqDo‰y`L¬gdp°şŠp¦ėìÅĮZŽ°Iä”h‚‘ˆzŠĵœf²å ›ĚрKp‹IN|‹„Ñz]ń……·FU×é»R³™MƒÉ»GM«€ki€™ér™}Ã`¹ăÞmȝnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ…þTº·àUȞÏʦ¶†I’«dĽĢdĬ¿–»Ĕ׊h\\c¬†ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvw–ˆxBèĻĒ©Ĉ“tCĢɽŠȣ¦āæ·HĽî“ôNԓ~^¤Ɗœu„œ^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ‘®Z´ğ~Sn|ªWÚ©òzPOȸ‚bð¢|‹øĞŠŒœŒQìÛÐ@Ğ™ǎRS¤Á§d…i“´ezÝúØã]Hq„kIŸþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwn‘ÆƄmÀêErĒtD®ċæcQƒ”E®³^ĭ¥©l}äQto˜ŖÜqƎkµ–„ªÔĻĴ¡@Ċ°B²Èw^^RsºTĀ£ŚæœQP‘JvÄz„^Đ¹Æ¯fLà´GC²‘dt˜­ĀRt¼¤ĦOðğfÔðDŨŁĞƘïžPȆ®âbMüÀXZ ¸£@Ś›»»QÉ­™]d“sÖ×_͖_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|Y‹Ô‚ZśÎs´xº±UŒ’ñˆt|O’ĩĠºNbgþŠJy^dÂY Į„]Řz¦gC‚³€R`ĀŠz’¢AjŒ¸CL„¤RÆ»@­Ŏk\\Ç´£YW}z@Z}‰Ã¶“oû¶]´^N‡Ò}èN‚ª–P˜Íy¹`S°´†ATe€VamdUĐwʄvĮÕ\\ƒu‹Æŗ¨Yp¹àZÂm™Wh{á„}WØǍ•Éüw™ga§áCNęÎ[ĀÕĪgÖɪX˜øx¬½Ů¦¦[€—„NΆL€ÜUÖ´òrÙŠxR^–†J˜k„ijnDX{Uƒ~ET{ļº¦PZc”jF²Ė@Žp˜g€ˆ¨“B{ƒu¨ŦyhoÚD®¯¢˜ WòàFΤ¨GDäz¦kŮPœġq˚¥À]€Ÿ˜eŽâÚ´ªKxī„Pˆ—Ö|æ[xäJÞĥ‚s’NÖ½ž€I†¬nĨY´®Ð—ƐŠ€mD™ŝuäđđEb…e’e_™v¡}ìęNJē}q”É埁T¯µRs¡M@}ůa†a­¯wvƉåZwž\\Z{åû^›"]], "encodeOffsets": [[[108815, 30935]], [[110617, 31811]]] } }, { "type": "Feature", "id": "520000", "properties": { "id": "520000", "cp": [106.713478, 26.578343], "name": "贵州", "childNum": 3 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@†G\\†lY£‘in"], ["@@q‚|ˆ‚mc¯tχVSÎ"], ["@@hÑ£Is‡NgßH†›HªķÃh_¹ƒ¡ĝħń¦uيùŽgS¯JHŸ|sÝÅtÁïyMDč»eÕtA¤{b\\}—ƒG®u\\åPFq‹wÅaD…žK°ºâ_£ùbµ”mÁ‹ÛœĹM[q|hlaªāI}тƒµ@swtwm^oµˆD鼊yV™ky°ÉžûÛR…³‚‡eˆ‡¥]RՋěħ[ƅåÛDpŒ”J„iV™™‰ÂF²I…»mN·£›LbÒYb—WsÀbŽ™pki™TZĄă¶HŒq`……ĥ_JŸ¯ae«ƒKpÝx]aĕÛPƒÇȟ[ÁåŵÏő—÷Pw}‡TœÙ@Õs«ĿÛq©½œm¤ÙH·yǥĘĉBµĨÕnđ]K„©„œá‹ŸG纍§Õßg‡ǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊžw¶øV¤w”²Ĉ]ʚKx|`ź¦ÂÈdr„cȁbe¸›`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pН`oÒhŽ¶pa‚^ÓĔ}D»^Xyœ`d˜[Kv…JPhèhCrĂĚÂ^Êƌ wˆZL­Ġ£šÁbrzOIl’MM”ĪŐžËr×ÎeŦŽtw|Œ¢mKjSǘňĂStÎŦEtqFT†¾†E쬬ôxÌO¢Ÿ KŠ³ŀºäY†„”PVgŎ¦Ŋm޼VZwVlŒ„z¤…ž£Tl®ctĽÚó{G­A‡ŒÇgeš~Αd¿æaSba¥KKûj®_ć^\\ؾbP®¦x^sxjĶI_Ä X‚⼕Hu¨Qh¡À@Ëô}Ž±žGNìĎlT¸ˆ…`V~R°tbÕĊ`¸úÛtπFDu€[ƒMfqGH·¥yA‰ztMFe|R‚_Gk†ChZeÚ°to˜v`x‹b„ŒDnÐ{E}šZ˜è€x—†NEފREn˜[Pv@{~rĆAB§‚EO¿|UZ~ì„Uf¨J²ĂÝƀ‚sª–B`„s¶œfvö¦ŠÕ~dÔq¨¸º»uù[[§´sb¤¢zþFœ¢Æ…Àhˆ™ÂˆW\\ıŽËI݊o±ĭŠ£þˆÊs}¡R]ŒěƒD‚g´VG¢‚j±®è†ºÃmpU[Á›‘Œëº°r›ÜbNu¸}Žº¼‡`ni”ºÔXĄ¤¼Ôdaµ€Á_À…†ftQQgœR—‘·Ǔ’v”}Ýלĵ]µœ“Wc¤F²›OĩųãW½¯K‚©…]€{†LóµCIµ±Mß¿hŸ•©āq¬o‚½ž~@i~TUxŪÒ¢@ƒ£ÀEîôruń‚”“‚b[§nWuMÆLl¿]x}ij­€½"]], "encodeOffsets": [[[112158, 27383]], [[112105, 27474]], [[112095, 27476]]] } }, { "type": "Feature", "id": "530000", "properties": { "id": "530000", "cp": [101.512251, 24.740609], "name": "云南", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@[„ùx½}ÑRH‘YīĺûsÍn‘iEoã½Ya²ė{c¬ĝg•ĂsA•ØÅwď‚õzFjw}—«Dx¿}UũlŸê™@•HÅ­F‰¨ÇoJ´Ónũuą¡Ã¢pÒŌ“Ø TF²‚xa²ËX€‚cʋlHîAßËŁkŻƑŷÉ©h™W­æßU‡“Ës¡¦}•teèƶStǀÇ}Fd£j‹ĈZĆÆ‹¤T‚č\\Dƒ}O÷š£Uˆ§~ŃG™‚åŃDĝ¸œTsd¶¶Bªš¤u¢ŌĎo~t¾ÍŶÒtD¦Ú„iôö‰€z›ØX²ghįh½Û±¯€ÿm·zR¦Ɵ`ªŊÃh¢rOԍ´£Ym¼èêf¯ŪĽn„†cÚbŒw\\zlvWžªâˆ ¦g–mĿBş£¢ƹřbĥkǫßeeZkÙIKueT»sVesb‘aĕ  ¶®dNœĄÄpªyŽ¼—„³BE˜®l‡ŽGœŭCœǶwêżĔÂe„pÍÀQƞpC„–¼ŲÈ­AÎô¶R„ä’Q^Øu¬°š_Èôc´¹ò¨P΢hlϦ´Ħ“Æ´sâDŽŲPnÊD^¯°’Upv†}®BP̪–jǬx–Söwlfòªv€qĸ|`H€­viļ€ndĜ­Ćhň•‚em·FyށqóžSį¯‘³X_ĞçêtryvL¤§z„¦c¦¥jnŞk˜ˆlD¤øz½ĜàžĂŧMÅ|áƆàÊcðÂF܎‚áŢ¥\\\\º™İøÒÐJĴ‡„îD¦zK²ǏÎEh~’CD­hMn^ÌöÄ©ČZÀžaü„fɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~Äqššê€ljN¬¼H„ÊšNQ´ê¼VظE††^ŃÒyŒƒM{ŒJLoÒœęæŸe±Ķ›y‰’‡gã“¯JYÆĭĘëo¥Š‰o¯hcK«z_pŠrC´ĢÖY”—¼ v¸¢RŽÅW³Â§fǸYi³xR´ďUˊ`êĿU„û€uĆBƒƣö‰N€DH«Ĉg†——Ñ‚aB{ÊNF´¬c·Åv}eÇÃGB»”If•¦HňĕM…~[iwjUÁKE•Ž‹¾dĪçW›šI‹èÀŒoÈXòyŞŮÈXâÎŚŠj|àsRy‹µÖ›–Pr´þŒ ¸^wþTDŔ–Hr¸‹žRÌmf‡żÕâCôox–ĜƌÆĮŒ›Ð–œY˜tâŦÔ@]ÈǮƒ\\Ī¼Ä£UsȯLbîƲŚºyh‡rŒŠ@ĒԝƀŸÀ²º\\êp“’JŠ}ĠvŠqt„Ġ@^xÀ£È†¨mËÏğ}n¹_¿¢×Y_æpˆÅ–A^{½•Lu¨GO±Õ½ßM¶w’ÁĢۂP‚›Ƣ¼pcIJxŠ|ap̬HšÐŒŊSfsðBZ¿©“XÏÒK•k†÷Eû¿‰S…rEFsÕūk”óVǥʼniTL‚¡n{‹uxţÏh™ôŝ¬ğōN“‘NJkyPaq™Âğ¤K®‡YŸxÉƋÁ]āęDqçgOg†ILu—\\_gz—]W¼ž~CÔē]bµogpў_oď`´³Țkl`IªºÎȄqÔþž»E³ĎSJ»œ_f·‚adÇqƒÇc¥Á_Źw{™L^ɱćx“U£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣG˛÷Ÿk°_^ý|_zċBZocmø¯hhcæ\\lˆMFlư£Ĝ„ÆyH“„F¨‰µêÕ]—›HA…àӄ^it `þßäkŠĤÎT~Wlÿ¨„ÔPzUC–NVv [jâôDôď[}ž‰z¿–msSh‹¯{jïğl}šĹ[–őŒ‰gK‹©U·µË@¾ƒm_~q¡f¹…ÅË^»‘f³ø}Q•„¡Ö˳gͱ^ǁ…\\ëÃA_—¿bW›Ï[¶ƛ鏝£F{īZgm@|kHǭƁć¦UĔťƒ×ë}ǝƒeďºȡȘÏíBə£āĘPªij¶“ʼnÿ‡y©n‰ď£G¹¡I›Š±LÉĺÑdĉ܇W¥˜‰}g˜Á†{aqÃ¥aŠıęÏZ—ï`"], "encodeOffsets": [[104636, 22969]] } }, { "type": "Feature", "id": "540000", "properties": { "id": "540000", "cp": [89.132212, 30.860361], "name": "西藏", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@hžľxŽŖ‰xƒÒVŽ†ºÅâAĪÝȆµę¯Ňa±r_w~uSÕň‘qOj]ɄQ…£Z……UDûoY’»©M[‹L¼qãË{V͕çWViŽ]ë©Ä÷àyƛh›ÚU°ŒŒa”d„cQƒ~Mx¥™cc¡ÙaSyF—ցk­ŒuRýq¿Ôµ•QĽ³aG{¿FµëªéĜÿª@¬·–K‰·àariĕĀ«V»Ŷ™Ĵū˜gèLǴŇƶaf‹tŒèBŚ£^Šâ†ǐÝ®–šM¦ÁǞÿ¬LhŸŽJ¾óƾƺcxw‹f]Y…´ƒ¦|œQLn°aœdĊ…œ\\¨o’œǀÍŎœ´ĩĀd`tÊQŞŕ|‚¨C^©œĈ¦„¦ÎJĊ{ŽëĎjª²rЉšl`¼Ą[t|¦St辉PŒÜK¸€d˜Ƅı]s¤—î_v¹ÎVòŦj˜£Əsc—¬_Ğ´|Ł˜¦AvŽ¦w`ăaÝaa­¢e¤ı²©ªSªšÈMĄwžÉØŔì@T‘¤—Ę™\\õª@”þo´­xA s”ÂtŎKzó´ÇĊµ¢rž^nĊ­Æ¬×üGž¢‚³ {âĊ]š™G‚~bÀgVjzlhǶf€žOšfdŠ‰ªB]pj„•TO–tĊ‚n¤}®¦ƒČ¥d¢¼»ddš”Y¼Žt—¢eȤJ¤}Ǿ¡°§¤AГlc@ĝ”sªćļđAç‡wx•UuzEÖġ~AN¹ÄÅȀŻ¦¿ģŁéì±H…ãd«g[؉¼ēÀ•cīľġ¬cJ‘µ…ÐʥVȝ¸ßS¹†ý±ğkƁ¼ą^ɛ¤Ûÿ‰b[}¬ōõÃ]ËNm®g@•Bg}ÍF±ǐyL¥íCˆƒIij€Ï÷њį[¹¦[⚍EÛïÁÉdƅß{âNÆāŨߝ¾ě÷yC£‡k­´ÓH@¹†TZ¥¢įƒ·ÌAЧ®—Zc…v½ŸZ­¹|ŕWZqgW“|ieZÅYVӁqdq•bc²R@†c‡¥Rã»Ge†ŸeƃīQ•}J[ғK…¬Ə|o’ėjġĠÑN¡ð¯EBčnwôɍėªƒ²•CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛ†ęgſ¶ҍć`ĘąŌJޚä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷‡f±iMݑ›‰@ĥ°G¬ÃM¥n£Øą‚ğ¯ß”§aëbéüÑOčœk£{\\‘eµª×M‘šÉfm«Ƒ{Å׃Gŏǩãy³©WÑăû‚··‘Q—òı}¯ã‰I•éÕÂZ¨īès¶ZÈsŽæĔTŘvŽgÌsN@îá¾ó@‰˜ÙwU±ÉT廣TđŸWxq¹Zo‘b‹s[׌¯cĩv‡Œėŧ³BM|¹k‰ªħ—¥TzNYnݍßpęrñĠĉRS~½ŠěVVŠµ‚õ‡«ŒM££µB•ĉ¥áºae~³AuĐh`Ü³ç@BۘïĿa©|z²Ý¼D”£àč²‹ŸƒIƒû›I ā€óK¥}rÝ_Á´éMaň¨€~ªSĈ½Ž½KÙóĿeƃÆBŽ·¬ën×W|Uº}LJrƳ˜lŒµ`bÔ`QˆˆÐÓ@s¬ñIŒÍ@ûws¡åQÑßÁ`ŋĴ{Ī“T•ÚÅTSij‚‹Yo|Ç[ǾµMW¢ĭiÕØ¿@˜šMh…pÕ]j†éò¿OƇĆƇp€êĉâlØw–ěsˆǩ‚ĵ¸c…bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB™Š\\”qTGªÇĜçPoŠÿfñòą¦óQīÈáP•œābß{ƒZŗĸIæńhnszÁCËìñšÏ·ąĚÝUm®ó­L·ăU›Èíoù´Êj°ŁŤ_uµ^‘°Œìǖ@tĶĒ¡Æ‡M³Ģ«˜İĨÅ®ğ†RŽāð“ggheÆ¢z‚Ê©Ô\\°ÝĎz~ź¤Pn–MĪÖB£Ÿk™n鄧żćŠ˜ĆK„Ē°¼L¶è‰âz¨u¦¥LDĘz¬ýÎmĘd¾ß”Fz“hg²™Fy¦ĝ¤ċņbΛ@y‚Ąæm°NĮZRÖíŽJ²öLĸÒ¨Y®ƌÐV‰à˜tt_ڀÂyĠzž]Ţh€zĎ{†ĢX”ˆc|šÐqŽšfO¢¤ög‚ÌHNŽ„PKŖœŽ˜Uú´xx[xˆvĐCûĀŠìÖT¬¸^}Ìsòd´_Ž‡KgžLĴ…ÀBon|H@–Êx˜—¦BpŰˆŌ¿fµƌA¾zLjRxŠ¶F”œkĄźRzŀˆ~¶[”´Hnª–VƞuĒ­È¨ƎcƽÌm¸ÁÈM¦x͊ëÀxdžB’šú^´W†£–d„kɾĬpœw‚˂ØɦļĬIŚœÊ•n›Ŕa¸™~J°î”lɌxĤÊÈðhÌ®‚g˜T´øŽàCˆŽÀ^ªerrƘdž¢İP|Ė ŸWœªĦ^¶´ÂL„aT±üWƜ˜ǀRšŶUńšĖ[QhlLüA†‹Ü\\†qR›Ą©"], "encodeOffsets": [[90849, 37210]] } }, { "type": "Feature", "id": "610000", "properties": { "id": "610000", "cp": [108.948024, 34.263161], "name": "陕西", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@˜p¢—ȮµšûG™Ħ}Ħšðǚ¶òƄ€jɂz°{ºØkÈęâ¦jª‚Bg‚\\œċ°s¬Ž’]jžú ‚E”Ȍdž¬s„t‡”RˆÆdĠݎwܔ¸ôW¾ƮłÒ_{’Ìšû¼„jº¹¢GǪÒ¯ĘƒZ`ºŊƒecņąš~BÂgzpâēòYǠȰÌTΨÂWœ|fcŸă§uF—Œ@NŸ¢XLƒŠRMº[ğȣſï|¥J™kc`sʼnǷ’Y¹‹W@µ÷K…ãï³ÛIcñ·VȋڍÒķø©—þ¥ƒy‚ÓŸğęmWµÎumZyOŅƟĥÓ~sÑL¤µaŅY¦ocyZ{‰y c]{ŒTa©ƒ`U_Ěē£ωÊƍKù’K¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑd‘ŠìUYƒŽO‘uF–ÕÈYvÁCqӃT•Ǣí§·S¹NgŠV¬ë÷Át‡°Dد’C´ʼnƒópģ}„ċcE˅FŸŸéGU¥×K…§­¶³B‹Č}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO…ÿEËߌ•ĤNĔŸwƇˆÄŠńwĪ­Šo[„_KÓª³“ÙnK‰Çƒěœÿ]ď€ă_d©·©Ýŏ°Ù®g]±„Ÿ‡ß˜å›—¬÷m\\›iaǑkěX{¢|ZKlçhLt€Ňîŵ€œè[€É@ƉĄEœ‡tƇÏ˜³­ħZ«mJ…›×¾‘MtÝĦ£IwÄå\\Õ{‡˜ƒOwĬ©LÙ³ÙgBƕŀr̛ĢŭO¥lãyC§HÍ£ßEñŸX¡—­°ÙCgpťz‘ˆb`wI„vA|§”‡—hoĕ@E±“iYd¥OĻ¹S|}F@¾oAO²{tfžÜ—¢Fǂ҈W²°BĤh^Wx{@„¬‚­F¸¡„ķn£P|ŸªĴ@^ĠĈæb–Ôc¶l˜Yi…–^Mi˜cĎ°Â[ä€vï¶gv@À“Ĭ·lJ¸sn|¼u~a]’ÆÈtŌºJp’ƒþ£KKf~Š¦UbyäIšĺãn‡Ô¿^­žŵMT–hĠܤko¼Ŏìąǜh`[tŒRd²IJ_œXPrɲ‰l‘‚XžiL§àƒ–¹ŽH˜°Ȧqº®QC—bA†„ŌJ¸ĕÚ³ĺ§ `d¨YjžiZvRĺ±öVKkjGȊĐePОZmļKÀ€‚[ŠŽ`ösìh†ïÎoĬdtKÞ{¬èÒÒBŒÔpIJÇĬJŊ¦±J«ˆY§‹@·pH€µàåVKe›pW†ftsAÅqC·¬ko«pHÆuK@oŸHĆۄķhx“e‘n›S³àǍrqƶRbzy€¸ËАl›¼EºpĤ¼Œx¼½~Ğ’”à@†ÚüdK^ˆmÌSj"], "encodeOffsets": [[110234, 38774]] } }, { "type": "Feature", "id": "620000", "properties": { "id": "620000", "cp": [103.823557, 36.058039], "name": "甘肃", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@VuUv"], ["@@ũ‹EĠtt~nkh`Q‰¦ÅÄÜdw˜Ab×ĠąJˆ¤DüègĺqBqœj°lI¡ĨÒ¤úSHbš‡ŠjΑBŠ°aZˆ¢KJŽ’O[|A£žDx}Nì•HUnrk„ kp€¼Y kMJn[aG‚áÚÏ[½rc†}aQxOgsPMnUs‡nc‹Z…ž–sKúvA›t„Þġ’£®ĀYKdnFwš¢JE°”Latf`¼h¬we|€Æ‡šbj}GA€·~WŽ”—`†¢MC¤tL©IJ°qdf”O‚“bÞĬ¹ttu`^ZúE`Œ[@„Æsîz®¡’C„ƳƜG²“R‘¢R’m”fŽwĸg܃‚ą G@pzJM½mŠhVy¸uÈÔO±¨{LfæU¶ßGĂq\\ª¬‡²I‚¥IʼnÈīoı‹ÓÑAçÑ|«LÝcspīðÍg…të_õ‰\\ĉñLYnĝg’ŸRǡÁiHLlõUĹ²uQjYi§Z_c¨Ÿ´ĹĖÙ·ŋI…ƒaBD˜­R¹ȥr—¯G•ºß„K¨jWk’ɱŠOq›Wij\\a­‹Q\\sg_ĆǛōëp»£lğۀgS•ŶN®À]ˆÓäm™ĹãJaz¥V}‰Le¤L„ýo‘¹IsŋÅÇ^‘Žbz…³tmEÁ´aŠ¹cčecÇN•ĊãÁ\\č¯—dNj•]j†—ZµkÓda•ćå]ğij@ ©O{¤ĸm¢ƒE·®ƒ«|@Xwg]Aģ±¯‡XǁÑdzªc›wQÚŝñsÕ³ÛV_ýƒ˜¥\\ů¥©¾÷w—Ž©WÕÊĩhÿÖÁRo¸V¬âDb¨šhûx–Ê×nj~Zâƒg|šXÁnßYoº§ZÅŘvŒ[„ĭÖʃuďxcVbnUSf…B¯³_Tzº—ΕO©çMÑ~Mˆ³]µ^püµ”ŠÄY~y@X~¤Z³€[Èōl@®Å¼£QKƒ·Di‹¡By‘ÿ‰Q_´D¥hŗyƒ^ŸĭÁZ]cIzý‰ah¹MĪğP‘s{ò‡‹‘²Vw¹t³Ŝˁ[ŽÑ}X\\gsFŸ£sPAgěp×ëfYHāďÖqēŭOÏë“dLü•\\iŒ”t^c®šRʺ¶—¢H°mˆ‘rYŸ£BŸ¹čIoľu¶uI]vģSQ{ƒUŻ”Å}QÂ|̋°ƅ¤ĩŪU ęĄžÌZҞ\\v˜²PĔ»ƢNHƒĂyAmƂwVmž`”]ȏb•”H`‰Ì¢²ILvĜ—H®¤Dlt_„¢JJÄämèÔDëþgºƫ™”aʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b…ð÷’Žˆ‡®‚”üs”zMzÖĖQdȨý†v§Tè|ªH’þa¸|šÐ ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v†·À|\\ƁĚN´Ĝ€çèÁz]ġ¤²¨QÒŨTIl‡ªťØ}¼˗ƦvÄùØE‹’«Fï˛Iq”ōŒTvāÜŏ‚íÛߜÛV—j³âwGăÂíNOŠˆŠPìyV³ʼnĖýZso§HіiYw[߆\\X¦¥c]ÔƩÜ·«j‡ÐqvÁ¦m^ċ±R™¦΋ƈťĚgÀ»IïĨʗƮŽ°Ɲ˜ĻþÍAƉſ±tÍEÕÞāNU͗¡\\ſčåÒʻĘm ƭÌŹöʥ’ëQ¤µ­ÇcƕªoIýˆ‰Iɐ_mkl³ă‰Ɠ¦j—¡Yz•Ňi–}Msßõ–īʋ —}ƒÁVmŸ_[n}eı­Uĥ¼‘ª•I{ΧDӜƻėoj‘qYhĹT©oūĶ£]ďxĩ‹ǑMĝ‰q`B´ƃ˺Ч—ç~™²ņj@”¥@đ´ί}ĥtPńǾV¬ufӃÉC‹tÓ̻‰…¹£G³€]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼ‚ĤŊɲĖ­Kq´ï¦—ºĒDzņɾªǀÞĈĂD†½ĄĎÌŗĞrôñnŽœN¼â¾ʄľԆ|DŽŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿Ľ­ĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY…tÁƤyAã˾J@ǝrý‹‰@¤…rz¸oP¹ɐÚyᐇHŸĀ[Jw…cVeȴϜ»ÈŽĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔ—ĹŊũ~ËUă{ŸĻƹɁύȩþĽvĽƓÉ@ē„ĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶Ž¨c~c¼īŒeXǚ‹\\đ¾JŽwÀďksãA‹fÕ¦L}wa‚o”Z’‹D½†Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LF‹LzĈ„ôe]gx}•|KK}xklL]c¦£fRtív¦†PĤoH{tK"]], "encodeOffsets": [[[108619, 36299]], [[108589, 36341]]] } }, { "type": "Feature", "id": "630000", "properties": { "id": "630000", "cp": [96.778916, 35.623178], "name": "青海", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@InJm"], ["@@CƒÆ½OŃĦsΰ~Ē³¦@@“Ņiš±è}ؘƄ˹A³r_ĞŠǒNĪŒĐw¤^ŬĵªpĺSZg’rpiƼĘԛ¨C|͖J’©Ħ»®VIJ~f\\m `Un„˜~ʌŸ•ĬàöNt•~ňjy–¢Zi˜Ɣ¥ĄŠk´nl`JʇŠJþ©pdƖ®È£¶ìRʦ‘źõƮËnŸʼėæÑƀĎ[‚˜¢VÎĂMÖÝÎF²sƊƀÎBļýƞ—¯ʘƭðħ¼Jh¿ŦęΌƇš¥²Q]Č¥nuÂÏriˆ¸¬ƪÛ^Ó¦d€¥[Wà…x\\ZŽjҕ¨GtpþYŊĕ´€zUO뇉P‰îMĄÁxH´á˜iÜUà›îÜՁĂÛSuŎ‹r“œJð̬EŒ‘FÁú×uÃÎkr“Ē{V}İ«O_ÌËĬ©ŽÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u…ºµ[gt£¸OƤĿéYŸõ·kĀŸq]juw¥Dĩƍ€õÇPéĽG‘ž©ã‡¤G…uȧþRcÕĕNy“yût“ˆ­‡ø‘†ï»a½ē¿BMoį£ŸÍj}éZËqbʍš“Ƭh¹ìÿÓAçãnIáI`ƒks£CG­ě˜Uy×Cy•…’Ÿ@¶ʡÊBnāzG„ơMē¼±O÷õJËĚăVŸĪũƆ£Œ¯{ËL½Ìzż“„VR|ĠTbuvJvµhĻĖH”Aëáa…­OÇðñęNw‡…œľ·L›mI±íĠĩPÉ×®ÿs—’cB³±JKßĊ«`…ađ»·QAmO’‘Vţéÿ¤¹SQt]]Çx€±¯A@ĉij¢Óļ©•ƒl¶ÅÛr—ŕspãRk~¦ª]Į­´“FR„åd­ČsCqđéFn¿Åƃm’Éx{W©ºƝºįkÕƂƑ¸wWūЩÈFž£\\tÈ¥ÄRÈýÌJ ƒlGr^×äùyÞ³fj”c†€¨£ÂZ|ǓMĝšÏ@ëÜőR‹›ĝ‰Œ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³’­ÞIňµç½©C¡į÷¯B»|St»›]vƒųƒs»”}MÓ ÿʪƟǭA¡fs˜»PY¼c¡»¦c„ċ­¥£~msĉP•–Siƒ^o©A‰Šec‚™PeǵŽkg‚yUi¿h}aH™šĉ^|ᴟ¡HØûÅ«ĉ®]m€¡qĉ¶³ÈyôōLÁst“BŸ®wn±ă¥HSòėš£˜S’ë@לÊăxÇN©™©T±ª£IJ¡fb®ÞbŽb_Ą¥xu¥B—ž{łĝ³«`d˜Ɛt—¤ťiñžÍUuºí`£˜^tƃIJc—·ÛLO‹½Šsç¥Ts{ă\\_»™kϊ±q©čiìĉ|ÍIƒ¥ć¥›€]ª§D{ŝŖÉR_sÿc³Īō›ƿΑ›§p›[ĉ†›c¯bKm›R¥{³„Z†e^ŽŒwx¹dƽŽôIg §Mĕ ƹĴ¿—ǣÜ̓]‹Ý–]snåA{‹eŒƭ`ǻŊĿ\\ijŬű”YÂÿ¬jĖqŽßbŠ¸•L«¸©@ěĀ©ê¶ìÀEH|´bRľž–Ó¶rÀQþ‹vl®Õ‚E˜TzÜdb ˜hw¤{LR„ƒd“c‹b¯‹ÙVgœ‚ƜßzÃô쮍^jUèXΖ|UäÌ»rKŽ\\ŒªN‘¼pZCü†VY††¤ɃRi^rPҒTÖ}|br°qňbĚ°ªiƶGQ¾²„x¦PœmlŜ‘[Ĥ¡ΞsĦŸÔÏâ\\ªÚŒU\\f…¢N²§x|¤§„xĔsZPòʛ²SÐqF`ª„VƒÞŜĶƨVZŒÌL`ˆ¢dŐIqr\\oäõ–F礻Ŷ×h¹]Clـ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ”´ÃbEÄlbʔC”|CˆŮˆk„Ʈ[ʼ¬ňœ´KŮÈΰÌĪ¶ƶlð”ļA†TUvdTŠG†º̼ŠÔ€ŒsÊDԄveOg"]], "encodeOffsets": [[[105308, 37219]], [[95370, 40081]]] } }, { "type": "Feature", "id": "640000", "properties": { "id": "640000", "cp": [106.278179, 37.26637], "name": "宁夏", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@KëÀęĞ«OęȿȕŸı]ʼn¡åįÕÔ«Ǵõƪ™ĚQÐZhv K°›öqÀѐS[ÃÖHƖčË‡nL]ûc…Ùß@‚“ĝ‘¾}w»»‹oģF¹œ»kÌÏ·{zPƒ§B­¢íyÅt@ƒ@áš]Yv_ssģ¼i߁”ĻL¾ġsKD£¡N_…“˜X¸}B~Haiˆ™Åf{«x»ge_bs“KF¯¡Ix™mELcÿZ¤­Ģ‘ƒÝœsuBLù•t†ŒYdˆmVtNmtOPhRw~bd…¾qÐ\\âÙH\\bImlNZŸ»loƒŸqlVm–Gā§~QCw¤™{A\\‘PKŸNY‡¯bF‡kC¥’sk‹Šs_Ã\\ă«¢ħkJi¯r›rAhĹûç£CU‡ĕĊ_ԗBixÅُĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~–hw^‚ófćƒKyEŒ­K­zuÔ¡qQ¤xZÑ¢^ļöܾEpž±âbÊÑÆ^fk¬…NC¾‘Œ“YpxbK~¥Že֎ŒäBlt¿Đx½I[ĒǙŒWž‹f»Ĭ}d§dµùEuj¨‚IÆ¢¥dXªƅx¿]mtÏwßRĶŒX¢͎vÆzƂZò®ǢÌʆCrâºMÞzžÆMҔÊÓŊZľ–r°Î®Ȉmª²ĈUªĚøºˆĮ¦ÌĘk„^FłĬhĚiĀĖ¾iİbjÕ"], ["@@mfwěwMrŢªv@G‰"]], "encodeOffsets": [[[109366, 40242]], [[108600, 36303]]] } }, { "type": "Feature", "id": "650000", "properties": { "id": "650000", "cp": [85.617733, 40.792818], "name": "新疆", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@QØĔ²X¨”~ǘBºjʐßØvK”ƔX¨vĊOžÃƒ·¢i@~c—‡ĝe_«”Eš“}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX…ê•Îf`œC‚¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥Oéȇ¿ÖğǤǷÂF҇zÉx[]­Ĥĝ‰œ¦EP}ûƥé¿İƷTėƫœŕƅ™ƱB»Đ±’ēO…¦E–•}‘`cȺrĦáŖuҞª«IJ‡πdƺÏØZƴwʄ¤ĖGЙǂZĶƒèH¶}ÚZצʥĪï|ÇĦMŔ»İĝLj‹ì¥Βœba­¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»›òmqóŘĝč˾ăC…ćāƿÝɽ©DZŅ¹đ¥˜³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕŠUv£ƁQï“Ƶkŏ½ΉÃŭdzLқʻ«ƭ\\lƒ‡ŭD‡“{ʓDkaFÃÄa“³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍö•€ůʼnT¡c_‡ËKY‹ƧUśĵ„݃U_©rETÏʜ±OñtYwē¨ƒ{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\‚ś’nkO›w¥±ƒT»ƷFɯàĩÞáB¹Æ…ÑUw„੍žĽw[“mG½Èå~‡Æ÷QyŠěCFmĭZī—ŵVÁ™ƿQƛ—ûXS²‰b½KϽĉS›©ŷXĕŸ{ŽĕK·¥Ɨcqq©f¿]‡ßDõU³h—­gËÇïģÉɋw“k¯í}I·šœbmœÉ–ř›īJɥĻˁ×xo›ɹī‡l•c…¤³Xù]‘™DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®Ɲv•Um©³G\\“}µĿ‡QyŹl㓛µEw‰LJQ½yƋBe¶ŋÀů‡ož¥A—˜Éw@•{Gpm¿Aij†ŽKLhˆ³`ñcËtW‚±»ÕS‰ëüÿďD‡u\\wwwù³—V›LŕƒOMËGh£õP¡™er™Ïd{“‡ġWÁ…č|yšg^ğyÁzÙs`—s|ÉåªÇ}m¢Ń¨`x¥’ù^•}ƒÌ¥H«‰Yªƅ”Aйn~ź¯šf¤áÀz„gŠÇDIԝ´AňĀ҄¶ûEYospõD[{ù°]u›Jq•U•|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw €ÞkrťË¿XGÉbřaDü·Ē÷Aê[Ää€I®BÕИÞ_¢āĠpŠÛÄȉĖġDKwbm‡ÄNô‡ŠfœƫVÉvi†dz—H‘‹QµâFšù­Âœ³¦{YGžƒd¢ĚÜO „€{Ö¦ÞÍÀPŒ^b–ƾŠlŽ[„vt×ĈÍE˨¡Đ~´î¸ùÎh€uè`¸ŸHÕŔVºwĠââWò‡@{œÙNÝ´ə²ȕn{¿¥{l—÷eé^e’ďˆXj©î\\ªÑò˜Üìc\\üqˆÕ[Č¡xoÂċªbØ­Œø|€¶ȴZdÆšońéŒGš\\”¼C°ÌƁn´nxšÊOĨ’Ūƴĸ¢¸òTxÊǪMīИÖŲÃɎOvˆʦƢ~FŽ‡Rěò—¿ġ~åŊœú‰Nšžš¸qŽ’Ę[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾œĄYÒ©ÊfºmԈĘcDoĬMŬ’˜S¤„s²‚”ʘچžȂVŦ –ŽèW°ªB|IJXŔþÈJĦÆæFĚêŠYĂªĂ]øªŖNÞüA€’fɨJ€˜¯ÎrDDšĤ€`€mz\\„§~D¬{vJÂ˜«lµĂb–¤p€ŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMT”‡òP˜÷fØĶK¢ȝ˔Sô¹òEð­”`Ɩ½ǒÂň×äı–§ĤƝ§C~¡‚hlå‚ǺŦŞkâ’~}ŽFøàIJaĞ‚fƠ¥Ž„Ŕdž˜®U¸ˆźXœv¢aƆúŪtŠųƠjd•ƺŠƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬŠ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹œ\\ĜÑŚŸ¶ZƄ³àjĨoâŠȴLʉȮŒĐ­ĚăŽÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§΢{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTŠiƢ¾ªì°`öøu®Ê¾ãØ"], "encodeOffsets": [[88824, 50096]] } }, { "type": "Feature", "id": "110000", "properties": { "id": "110000", "cp": [116.405285, 39.904989], "name": "北京", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@ĽOÁ›ûtŷmiÍt_H»Ĩ±d`Š¹­{bw…Yr“³S]§§o¹€qGtm_Sŧ€“oa›‹FLg‘QN_•dV€@Zom_ć\\ߚc±x¯oœRcfe…£’o§ËgToÛJíĔóu…|wP¤™XnO¢ÉˆŦ¯rNÄā¤zâŖÈRpŢZŠœÚ{GŠrFt¦Òx§ø¹RóäV¤XdˆżâºWbwŚ¨Ud®bêņ¾‘jnŎGŃŶŠnzÚSeîĜZczî¾i]͜™QaúÍÔiþĩȨWĢ‹ü|Ėu[qb[swP@ÅğP¿{\\‡¥A¨Ï‘Ѩj¯ŠX\\¯œMK‘pA³[H…īu}}"], "encodeOffsets": [[120023, 41045]] } }, { "type": "Feature", "id": "120000", "properties": { "id": "120000", "cp": [117.190182, 39.125596], "name": "天津", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@ŬgX§Ü«E…¶Ḟ“¬O_™ïlÁg“z±AXe™µÄĵ{¶]gitgšIj·›¥îakS€‰¨ÐƎk}ĕ{gB—qGf{¿a†U^fI“ư‹³õ{YƒıëNĿžk©ïËZŏ‘R§òoY×Ógc…ĥs¡bġ«@dekąI[nlPqCnp{ˆō³°`{PNdƗqSÄĻNNâyj]äžÒD ĬH°Æ]~¡HO¾ŒX}ÐxŒgp“gWˆrDGˆŒpù‚Š^L‚ˆrzWxˆZ^¨´T\\|~@I‰zƒ–bĤ‹œjeĊªz£®Ĕvě€L†mV¾Ô_ȔNW~zbĬvG†²ZmDM~”~"], "encodeOffsets": [[120237, 41215]] } }, { "type": "Feature", "id": "310000", "properties": { "id": "310000", "cp": [121.472644, 31.231706], "name": "上海", "childNum": 6 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@ɧư¬EpƸÁxc‡"], ["@@©„ªƒ"], ["@@”MA‹‘š"], ["@@Qp݁E§ÉC¾"], ["@@bŝՕÕEȣÚƥêImɇǦèÜĠŒÚžÃƌÃ͎ó"], ["@@ǜûȬɋŠŭ™×^‰sYŒɍDŋ‘ŽąñCG²«ªč@h–_p¯A{‡oloY€¬j@IJ`•gQڛhr|ǀ^MIJvtbe´R¯Ô¬¨YŽô¤r]ì†Ƭį"]], "encodeOffsets": [[[124702, 32062]], [[124547, 32200]], [[124808, 31991]], [[124726, 32110]], [[124903, 32376]], [[124438, 32149]]] } }, { "type": "Feature", "id": "500000", "properties": { "id": "500000", "cp": [107.304962, 29.533155], "name": "重庆", "childNum": 2 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êЖqHŸðqĖ䒊¥^CƒIj–²p…\\_ æüY|[YxƊæuž°xb®…Űb@~¢NQt°¶‚S栓Ê~rljĔëĚ¢~šuf`‘‚†fa‚ĔJåĊ„nÖ]„jƎćÊ@Š£¾a®£Ű{ŶĕF‹ègLk{Y|¡ĜWƔtƬJÑxq‹±ĢN´‰òK‰™–LÈüD|s`ŋ’ć]ƒÃ‰`đŒMûƱ½~Y°ħ`ƏíW‰½eI‹½{aŸ‘OIrÏ¡ĕŇa†p†µÜƅġ‘œ^ÖÛbÙŽŏml½S‹êqDu[R‹ãË»†ÿw`»y‘¸_ĺę}÷`M¯ċfCVµqʼn÷Z•gg“Œ`d½pDO‡ÎCnœ^uf²ènh¼WtƏxRGg¦…pV„†FI±ŽG^ŒIc´ec‡’G•ĹÞ½sëĬ„h˜xW‚}Kӈe­Xsbk”F¦›L‘ØgTkïƵNï¶}Gy“w\\oñ¡nmĈzjŸ•@™Óc£»Wă¹Ój“_m»ˆ¹·~MvÛaqœ»­‰êœ’\\ÂoVnŽÓØ͙²«‹bq¿efE „€‹Ĝ^Qž~ Évý‡ş¤²Į‰pEİ}zcĺƒL‹½‡š¿gņ›¡ýE¡ya£³t\\¨\\vú»¼§·Ñr_oÒý¥u‚•_n»_ƒ•At©Þűā§IVeëƒY}{VPÀFA¨ąB}q@|Ou—\\Fm‰QF݅Mw˜å}]•€|FmϋCaƒwŒu_p—¯sfÙgY…DHl`{QEfNysBŠ¦zG¸rHe‚„N\\CvEsÐùÜ_·ÖĉsaQ¯€}_U‡†xÃđŠq›NH¬•Äd^ÝŰR¬ã°wećJEž·vÝ·Hgƒ‚éFXjÉê`|yŒpxkAwœWĐpb¥eOsmzwqChóUQl¥F^laf‹anòsr›EvfQdÁUVf—ÎvÜ^efˆtET¬ôA\\œ¢sJŽnQTjP؈xøK|nBz‰„œĞ»LY‚…FDxӄvr“[ehľš•vN”¢o¾NiÂxGp⬐z›bfZo~hGi’]öF|‰|Nb‡tOMn eA±ŠtPT‡LjpYQ|†SH††YĀxinzDJ€Ìg¢và¥Pg‰_–ÇzII‹€II•„£®S¬„Øs쐣ŒN"], ["@@ifjN@s"]], "encodeOffsets": [[[109628, 30765]], [[111725, 31320]]] } }, { "type": "Feature", "id": "810000", "properties": { "id": "810000", "cp": [114.173355, 22.320048], "name": "香港", "childNum": 5 }, "geometry": { "type": "MultiPolygon", "coordinates": [["@@AlBk"], ["@@mŽn"], ["@@EpFo"], ["@@ea¢pl¸Eõ¹‡hj[ƒ]ÔCΖ@lj˜¡uBXŸ…•´‹AI¹…[‹yDUˆ]W`çwZkmc–…M›žp€Åv›}I‹oJlcaƒfёKŽ°ä¬XJmРđhI®æÔtSHn€Eˆ„ÒrÈc"], ["@@rMUw‡AS®€e"]], "encodeOffsets": [[[117111, 23002]], [[117072, 22876]], [[117045, 22887]], [[116975, 23082]], [[116882, 22747]]] } }, { "type": "Feature", "id": "820000", "properties": { "id": "820000", "cp": [113.54909, 22.198951], "name": "澳门", "childNum": 1 }, "geometry": { "type": "Polygon", "coordinates": ["@@kÊd°å§s"], "encodeOffsets": [[116279, 22639]] } }], "UTF8Encoding": true });
+  });
+})(china);
+const type = "FeatureCollection";
+const features = [
+  {
+    type: "Feature",
+    properties: {
+      adcode: 11e4,
+      name: "北京市",
+      center: [
+        116.405285,
+        39.904989
+      ],
+      centroid: [
+        116.41995,
+        40.18994
+      ],
+      childrenNum: 16,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 0,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              117.348611,
+              40.581141
+            ],
+            [
+              117.389879,
+              40.561593
+            ],
+            [
+              117.429915,
+              40.576141
+            ],
+            [
+              117.412669,
+              40.605226
+            ],
+            [
+              117.467487,
+              40.649738
+            ],
+            [
+              117.467487,
+              40.649738
+            ],
+            [
+              117.501364,
+              40.636569
+            ],
+            [
+              117.514914,
+              40.660181
+            ],
+            [
+              117.493973,
+              40.675161
+            ],
+            [
+              117.408973,
+              40.686961
+            ],
+            [
+              117.342451,
+              40.673799
+            ],
+            [
+              117.319662,
+              40.657911
+            ],
+            [
+              117.278394,
+              40.664267
+            ],
+            [
+              117.208177,
+              40.694675
+            ],
+            [
+              117.117018,
+              40.70012
+            ],
+            [
+              117.11209,
+              40.707379
+            ],
+            [
+              117.012308,
+              40.693767
+            ],
+            [
+              116.964881,
+              40.709647
+            ],
+            [
+              116.926692,
+              40.745022
+            ],
+            [
+              116.924229,
+              40.773581
+            ],
+            [
+              116.848468,
+              40.839264
+            ],
+            [
+              116.81336,
+              40.848319
+            ],
+            [
+              116.759773,
+              40.889954
+            ],
+            [
+              116.713577,
+              40.909858
+            ],
+            [
+              116.722201,
+              40.927495
+            ],
+            [
+              116.677853,
+              40.970888
+            ],
+            [
+              116.698795,
+              41.021477
+            ],
+            [
+              116.688324,
+              41.044501
+            ],
+            [
+              116.647672,
+              41.059394
+            ],
+            [
+              116.615643,
+              41.053076
+            ],
+            [
+              116.623034,
+              41.021026
+            ],
+            [
+              116.598397,
+              40.974503
+            ],
+            [
+              116.5676,
+              40.992574
+            ],
+            [
+              116.519557,
+              40.98128
+            ],
+            [
+              116.519557,
+              40.98128
+            ],
+            [
+              116.455499,
+              40.980828
+            ],
+            [
+              116.447492,
+              40.953715
+            ],
+            [
+              116.477057,
+              40.899907
+            ],
+            [
+              116.398216,
+              40.90624
+            ],
+            [
+              116.370499,
+              40.94377
+            ],
+            [
+              116.339702,
+              40.929303
+            ],
+            [
+              116.334159,
+              40.90443
+            ],
+            [
+              116.438253,
+              40.81934
+            ],
+            [
+              116.46597,
+              40.774487
+            ],
+            [
+              116.453651,
+              40.765876
+            ],
+            [
+              116.316912,
+              40.772221
+            ],
+            [
+              116.311369,
+              40.754996
+            ],
+            [
+              116.273181,
+              40.762703
+            ],
+            [
+              116.247311,
+              40.791707
+            ],
+            [
+              116.22021,
+              40.744115
+            ],
+            [
+              116.204812,
+              40.740035
+            ],
+            [
+              116.171551,
+              40.695582
+            ],
+            [
+              116.162928,
+              40.662451
+            ],
+            [
+              116.133979,
+              40.666536
+            ],
+            [
+              116.09887,
+              40.630665
+            ],
+            [
+              116.005247,
+              40.583868
+            ],
+            [
+              115.982457,
+              40.578868
+            ],
+            [
+              115.971986,
+              40.6025
+            ],
+            [
+              115.907929,
+              40.617493
+            ],
+            [
+              115.885139,
+              40.595229
+            ],
+            [
+              115.827857,
+              40.587504
+            ],
+            [
+              115.819849,
+              40.55932
+            ],
+            [
+              115.784741,
+              40.55841
+            ],
+            [
+              115.755176,
+              40.540221
+            ],
+            [
+              115.736082,
+              40.503372
+            ],
+            [
+              115.781045,
+              40.49336
+            ],
+            [
+              115.771806,
+              40.443734
+            ],
+            [
+              115.864197,
+              40.359422
+            ],
+            [
+              115.917784,
+              40.354405
+            ],
+            [
+              115.95166,
+              40.281852
+            ],
+            [
+              115.968907,
+              40.264045
+            ],
+            [
+              115.89869,
+              40.234354
+            ],
+            [
+              115.870356,
+              40.185909
+            ],
+            [
+              115.855574,
+              40.188652
+            ],
+            [
+              115.847567,
+              40.147036
+            ],
+            [
+              115.806299,
+              40.15344
+            ],
+            [
+              115.773654,
+              40.176307
+            ],
+            [
+              115.75456,
+              40.145663
+            ],
+            [
+              115.75456,
+              40.145663
+            ],
+            [
+              115.599959,
+              40.119583
+            ],
+            [
+              115.59072,
+              40.096239
+            ],
+            [
+              115.527278,
+              40.076092
+            ],
+            [
+              115.485394,
+              40.040364
+            ],
+            [
+              115.454597,
+              40.029825
+            ],
+            [
+              115.450286,
+              39.992697
+            ],
+            [
+              115.428728,
+              39.984443
+            ],
+            [
+              115.426264,
+              39.950502
+            ],
+            [
+              115.481083,
+              39.935819
+            ],
+            [
+              115.522967,
+              39.899099
+            ],
+            [
+              115.515575,
+              39.892212
+            ],
+            [
+              115.515575,
+              39.892212
+            ],
+            [
+              115.526046,
+              39.87568
+            ],
+            [
+              115.514344,
+              39.837549
+            ],
+            [
+              115.567314,
+              39.816407
+            ],
+            [
+              115.552532,
+              39.794799
+            ],
+            [
+              115.50572,
+              39.784222
+            ],
+            [
+              115.483547,
+              39.798477
+            ],
+            [
+              115.483547,
+              39.798477
+            ],
+            [
+              115.443511,
+              39.785601
+            ],
+            [
+              115.439815,
+              39.752022
+            ],
+            [
+              115.486626,
+              39.741899
+            ],
+            [
+              115.491554,
+              39.670074
+            ],
+            [
+              115.478619,
+              39.650723
+            ],
+            [
+              115.478619,
+              39.650723
+            ],
+            [
+              115.522351,
+              39.640124
+            ],
+            [
+              115.518039,
+              39.597252
+            ],
+            [
+              115.545756,
+              39.618922
+            ],
+            [
+              115.587024,
+              39.589873
+            ],
+            [
+              115.633836,
+              39.599557
+            ],
+            [
+              115.633836,
+              39.599557
+            ],
+            [
+              115.667712,
+              39.615234
+            ],
+            [
+              115.698509,
+              39.577881
+            ],
+            [
+              115.698509,
+              39.577881
+            ],
+            [
+              115.699125,
+              39.570039
+            ],
+            [
+              115.699125,
+              39.570039
+            ],
+            [
+              115.716988,
+              39.56035
+            ],
+            [
+              115.716988,
+              39.56035
+            ],
+            [
+              115.718835,
+              39.553891
+            ],
+            [
+              115.718835,
+              39.553891
+            ],
+            [
+              115.720683,
+              39.551122
+            ],
+            [
+              115.720683,
+              39.551122
+            ],
+            [
+              115.722531,
+              39.5442
+            ],
+            [
+              115.721299,
+              39.543738
+            ],
+            [
+              115.722531,
+              39.5442
+            ],
+            [
+              115.722531,
+              39.543738
+            ],
+            [
+              115.721299,
+              39.543738
+            ],
+            [
+              115.722531,
+              39.543738
+            ],
+            [
+              115.724995,
+              39.5442
+            ],
+            [
+              115.724995,
+              39.5442
+            ],
+            [
+              115.738545,
+              39.540046
+            ],
+            [
+              115.738545,
+              39.539585
+            ],
+            [
+              115.738545,
+              39.540046
+            ],
+            [
+              115.738545,
+              39.539585
+            ],
+            [
+              115.752712,
+              39.515581
+            ],
+            [
+              115.806299,
+              39.510041
+            ],
+            [
+              115.806299,
+              39.510041
+            ],
+            [
+              115.821081,
+              39.522968
+            ],
+            [
+              115.821081,
+              39.522968
+            ],
+            [
+              115.828473,
+              39.541431
+            ],
+            [
+              115.867893,
+              39.546507
+            ],
+            [
+              115.867893,
+              39.546507
+            ],
+            [
+              115.91532,
+              39.582955
+            ],
+            [
+              115.91532,
+              39.582955
+            ],
+            [
+              115.910393,
+              39.600479
+            ],
+            [
+              115.910393,
+              39.600479
+            ],
+            [
+              115.957204,
+              39.560812
+            ],
+            [
+              115.978146,
+              39.595868
+            ],
+            [
+              115.995392,
+              39.576958
+            ],
+            [
+              116.026189,
+              39.587567
+            ],
+            [
+              116.036044,
+              39.571884
+            ],
+            [
+              116.09887,
+              39.575113
+            ],
+            [
+              116.130283,
+              39.567732
+            ],
+            [
+              116.151841,
+              39.583416
+            ],
+            [
+              116.198652,
+              39.589412
+            ],
+            [
+              116.240536,
+              39.564041
+            ],
+            [
+              116.257782,
+              39.500344
+            ],
+            [
+              116.307057,
+              39.488337
+            ],
+            [
+              116.337854,
+              39.455536
+            ],
+            [
+              116.361876,
+              39.455074
+            ],
+            [
+              116.361876,
+              39.455074
+            ],
+            [
+              116.434557,
+              39.442597
+            ],
+            [
+              116.454883,
+              39.453226
+            ],
+            [
+              116.444412,
+              39.482332
+            ],
+            [
+              116.411767,
+              39.482794
+            ],
+            [
+              116.401912,
+              39.528046
+            ],
+            [
+              116.443796,
+              39.510041
+            ],
+            [
+              116.437637,
+              39.526661
+            ],
+            [
+              116.478289,
+              39.535431
+            ],
+            [
+              116.473361,
+              39.552968
+            ],
+            [
+              116.50847,
+              39.551122
+            ],
+            [
+              116.524484,
+              39.596329
+            ],
+            [
+              116.592237,
+              39.621227
+            ],
+            [
+              116.592237,
+              39.621227
+            ],
+            [
+              116.620571,
+              39.601863
+            ],
+            [
+              116.664918,
+              39.605552
+            ],
+            [
+              116.723432,
+              39.59264
+            ],
+            [
+              116.724048,
+              39.59264
+            ],
+            [
+              116.723432,
+              39.59264
+            ],
+            [
+              116.724048,
+              39.59264
+            ],
+            [
+              116.726512,
+              39.595407
+            ],
+            [
+              116.726512,
+              39.595407
+            ],
+            [
+              116.709266,
+              39.618
+            ],
+            [
+              116.748686,
+              39.619844
+            ],
+            [
+              116.79057,
+              39.595868
+            ],
+            [
+              116.812128,
+              39.615695
+            ],
+            [
+              116.8497,
+              39.66777
+            ],
+            [
+              116.906366,
+              39.677444
+            ],
+            [
+              116.90575,
+              39.688037
+            ],
+            [
+              116.889736,
+              39.687576
+            ],
+            [
+              116.887272,
+              39.72533
+            ],
+            [
+              116.916837,
+              39.731314
+            ],
+            [
+              116.902055,
+              39.763523
+            ],
+            [
+              116.949482,
+              39.778703
+            ],
+            [
+              116.918069,
+              39.84628
+            ],
+            [
+              116.907598,
+              39.832494
+            ],
+            [
+              116.865714,
+              39.843982
+            ],
+            [
+              116.812128,
+              39.889916
+            ],
+            [
+              116.78441,
+              39.891294
+            ],
+            [
+              116.782563,
+              39.947749
+            ],
+            [
+              116.757925,
+              39.967934
+            ],
+            [
+              116.781331,
+              40.034866
+            ],
+            [
+              116.820135,
+              40.02845
+            ],
+            [
+              116.831222,
+              40.051359
+            ],
+            [
+              116.867562,
+              40.041739
+            ],
+            [
+              116.927924,
+              40.055024
+            ],
+            [
+              116.945171,
+              40.04128
+            ],
+            [
+              117.025243,
+              40.030283
+            ],
+            [
+              117.051728,
+              40.059605
+            ],
+            [
+              117.105315,
+              40.074261
+            ],
+            [
+              117.105315,
+              40.074261
+            ],
+            [
+              117.140423,
+              40.064185
+            ],
+            [
+              117.159517,
+              40.077008
+            ],
+            [
+              117.204481,
+              40.069681
+            ],
+            [
+              117.210024,
+              40.082045
+            ],
+            [
+              117.224191,
+              40.094865
+            ],
+            [
+              117.224191,
+              40.094865
+            ],
+            [
+              117.254988,
+              40.114548
+            ],
+            [
+              117.254988,
+              40.114548
+            ],
+            [
+              117.254988,
+              40.114548
+            ],
+            [
+              117.274082,
+              40.105852
+            ],
+            [
+              117.307343,
+              40.136971
+            ],
+            [
+              117.349227,
+              40.136513
+            ],
+            [
+              117.367089,
+              40.172649
+            ],
+            [
+              117.367089,
+              40.173106
+            ],
+            [
+              117.367089,
+              40.173106
+            ],
+            [
+              117.367089,
+              40.172649
+            ],
+            [
+              117.383719,
+              40.188195
+            ],
+            [
+              117.389879,
+              40.227958
+            ],
+            [
+              117.351075,
+              40.229786
+            ],
+            [
+              117.331365,
+              40.289613
+            ],
+            [
+              117.295024,
+              40.2782
+            ],
+            [
+              117.271618,
+              40.325211
+            ],
+            [
+              117.271618,
+              40.325211
+            ],
+            [
+              117.243285,
+              40.369453
+            ],
+            [
+              117.226039,
+              40.368997
+            ],
+            [
+              117.234046,
+              40.417312
+            ],
+            [
+              117.263611,
+              40.442367
+            ],
+            [
+              117.208793,
+              40.501552
+            ],
+            [
+              117.262995,
+              40.512927
+            ],
+            [
+              117.247597,
+              40.539766
+            ],
+            [
+              117.269771,
+              40.560684
+            ],
+            [
+              117.348611,
+              40.581141
+            ],
+            [
+              117.348611,
+              40.581141
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 12e4,
+      name: "天津市",
+      center: [
+        117.190182,
+        39.125596
+      ],
+      centroid: [
+        117.347043,
+        39.288036
+      ],
+      childrenNum: 16,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 1,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              117.765602,
+              39.400527
+            ],
+            [
+              117.846906,
+              39.407926
+            ],
+            [
+              117.871543,
+              39.411625
+            ],
+            [
+              117.870311,
+              39.455074
+            ],
+            [
+              117.899877,
+              39.474479
+            ],
+            [
+              117.912195,
+              39.517428
+            ],
+            [
+              117.912195,
+              39.517428
+            ],
+            [
+              117.904804,
+              39.533585
+            ],
+            [
+              117.933753,
+              39.574191
+            ],
+            [
+              117.868464,
+              39.59679
+            ],
+            [
+              117.829659,
+              39.589873
+            ],
+            [
+              117.766834,
+              39.598635
+            ],
+            [
+              117.753899,
+              39.579726
+            ],
+            [
+              117.753899,
+              39.579726
+            ],
+            [
+              117.745276,
+              39.547892
+            ],
+            [
+              117.715711,
+              39.529892
+            ],
+            [
+              117.707088,
+              39.576036
+            ],
+            [
+              117.684914,
+              39.58895
+            ],
+            [
+              117.654117,
+              39.575113
+            ],
+            [
+              117.637486,
+              39.603246
+            ],
+            [
+              117.66274,
+              39.636437
+            ],
+            [
+              117.668899,
+              39.666849
+            ],
+            [
+              117.627015,
+              39.703693
+            ],
+            [
+              117.57774,
+              39.726711
+            ],
+            [
+              117.595603,
+              39.74604
+            ],
+            [
+              117.56111,
+              39.754782
+            ],
+            [
+              117.546327,
+              39.775943
+            ],
+            [
+              117.561726,
+              39.799856
+            ],
+            [
+              117.529081,
+              39.859144
+            ],
+            [
+              117.529081,
+              39.859144
+            ],
+            [
+              117.508139,
+              39.901854
+            ],
+            [
+              117.508139,
+              39.901854
+            ],
+            [
+              117.512451,
+              39.90874
+            ],
+            [
+              117.512451,
+              39.90874
+            ],
+            [
+              117.513067,
+              39.910576
+            ],
+            [
+              117.513067,
+              39.910576
+            ],
+            [
+              117.514914,
+              39.946832
+            ],
+            [
+              117.534625,
+              39.954631
+            ],
+            [
+              117.546327,
+              39.999116
+            ],
+            [
+              117.594987,
+              39.994531
+            ],
+            [
+              117.594987,
+              39.994531
+            ],
+            [
+              117.614697,
+              39.97252
+            ],
+            [
+              117.671363,
+              39.973896
+            ],
+            [
+              117.691073,
+              39.984902
+            ],
+            [
+              117.756363,
+              39.965181
+            ],
+            [
+              117.781616,
+              39.966558
+            ],
+            [
+              117.781616,
+              39.966558
+            ],
+            [
+              117.795167,
+              39.996823
+            ],
+            [
+              117.795167,
+              39.996823
+            ],
+            [
+              117.793319,
+              40.005534
+            ],
+            [
+              117.793319,
+              40.005534
+            ],
+            [
+              117.768681,
+              40.022034
+            ],
+            [
+              117.768681,
+              40.022034
+            ],
+            [
+              117.744044,
+              40.018368
+            ],
+            [
+              117.74774,
+              40.047236
+            ],
+            [
+              117.776073,
+              40.059605
+            ],
+            [
+              117.752667,
+              40.081588
+            ],
+            [
+              117.71879,
+              40.082045
+            ],
+            [
+              117.71879,
+              40.082045
+            ],
+            [
+              117.675059,
+              40.082045
+            ],
+            [
+              117.655965,
+              40.109514
+            ],
+            [
+              117.655965,
+              40.109514
+            ],
+            [
+              117.654117,
+              40.114548
+            ],
+            [
+              117.654117,
+              40.114548
+            ],
+            [
+              117.651653,
+              40.122786
+            ],
+            [
+              117.651653,
+              40.122786
+            ],
+            [
+              117.613465,
+              40.158014
+            ],
+            [
+              117.613465,
+              40.158014
+            ],
+            [
+              117.609769,
+              40.160301
+            ],
+            [
+              117.609769,
+              40.160301
+            ],
+            [
+              117.576508,
+              40.178593
+            ],
+            [
+              117.571581,
+              40.219276
+            ],
+            [
+              117.548791,
+              40.232527
+            ],
+            [
+              117.505059,
+              40.227044
+            ],
+            [
+              117.450241,
+              40.252627
+            ],
+            [
+              117.415748,
+              40.248973
+            ],
+            [
+              117.389879,
+              40.227958
+            ],
+            [
+              117.383719,
+              40.188195
+            ],
+            [
+              117.367089,
+              40.172649
+            ],
+            [
+              117.367089,
+              40.173106
+            ],
+            [
+              117.367089,
+              40.173106
+            ],
+            [
+              117.367089,
+              40.172649
+            ],
+            [
+              117.349227,
+              40.136513
+            ],
+            [
+              117.307343,
+              40.136971
+            ],
+            [
+              117.274082,
+              40.105852
+            ],
+            [
+              117.254988,
+              40.114548
+            ],
+            [
+              117.254988,
+              40.114548
+            ],
+            [
+              117.254988,
+              40.114548
+            ],
+            [
+              117.224191,
+              40.094865
+            ],
+            [
+              117.224191,
+              40.094865
+            ],
+            [
+              117.210024,
+              40.082045
+            ],
+            [
+              117.192162,
+              40.066475
+            ],
+            [
+              117.198322,
+              39.992697
+            ],
+            [
+              117.150894,
+              39.944996
+            ],
+            [
+              117.162597,
+              39.876598
+            ],
+            [
+              117.162597,
+              39.876598
+            ],
+            [
+              117.227887,
+              39.852712
+            ],
+            [
+              117.247597,
+              39.860981
+            ],
+            [
+              117.251908,
+              39.834332
+            ],
+            [
+              117.192162,
+              39.832953
+            ],
+            [
+              117.156438,
+              39.817326
+            ],
+            [
+              117.15767,
+              39.796638
+            ],
+            [
+              117.205713,
+              39.763984
+            ],
+            [
+              117.161981,
+              39.748801
+            ],
+            [
+              117.165061,
+              39.718886
+            ],
+            [
+              117.165061,
+              39.718886
+            ],
+            [
+              117.177996,
+              39.645194
+            ],
+            [
+              117.152742,
+              39.623532
+            ],
+            [
+              117.10901,
+              39.625375
+            ],
+            [
+              117.10901,
+              39.625375
+            ],
+            [
+              117.016004,
+              39.653949
+            ],
+            [
+              116.983359,
+              39.638742
+            ],
+            [
+              116.983359,
+              39.638742
+            ],
+            [
+              116.964265,
+              39.64335
+            ],
+            [
+              116.948866,
+              39.680668
+            ],
+            [
+              116.948866,
+              39.680668
+            ],
+            [
+              116.944555,
+              39.695405
+            ],
+            [
+              116.944555,
+              39.695405
+            ],
+            [
+              116.932236,
+              39.706456
+            ],
+            [
+              116.932236,
+              39.706456
+            ],
+            [
+              116.90575,
+              39.688037
+            ],
+            [
+              116.906366,
+              39.677444
+            ],
+            [
+              116.8497,
+              39.66777
+            ],
+            [
+              116.812128,
+              39.615695
+            ],
+            [
+              116.808432,
+              39.576497
+            ],
+            [
+              116.78749,
+              39.554352
+            ],
+            [
+              116.819519,
+              39.528507
+            ],
+            [
+              116.820751,
+              39.482332
+            ],
+            [
+              116.785026,
+              39.465702
+            ],
+            [
+              116.832454,
+              39.435664
+            ],
+            [
+              116.876185,
+              39.43474
+            ],
+            [
+              116.839845,
+              39.413474
+            ],
+            [
+              116.840461,
+              39.378326
+            ],
+            [
+              116.818287,
+              39.3737
+            ],
+            [
+              116.829374,
+              39.338994
+            ],
+            [
+              116.870642,
+              39.357506
+            ],
+            [
+              116.889736,
+              39.338068
+            ],
+            [
+              116.87249,
+              39.291304
+            ],
+            [
+              116.881729,
+              39.225966
+            ],
+            [
+              116.881729,
+              39.225966
+            ],
+            [
+              116.855859,
+              39.215766
+            ],
+            [
+              116.870026,
+              39.153607
+            ],
+            [
+              116.909446,
+              39.150822
+            ],
+            [
+              116.912526,
+              39.110898
+            ],
+            [
+              116.91191,
+              39.111362
+            ],
+            [
+              116.91191,
+              39.111362
+            ],
+            [
+              116.912526,
+              39.110898
+            ],
+            [
+              116.871874,
+              39.054688
+            ],
+            [
+              116.812744,
+              39.05097
+            ],
+            [
+              116.812744,
+              39.05097
+            ],
+            [
+              116.783179,
+              39.05097
+            ],
+            [
+              116.783179,
+              39.05097
+            ],
+            [
+              116.754229,
+              39.034701
+            ],
+            [
+              116.754229,
+              39.034701
+            ],
+            [
+              116.754845,
+              39.003084
+            ],
+            [
+              116.72836,
+              38.975174
+            ],
+            [
+              116.708034,
+              38.931892
+            ],
+            [
+              116.722201,
+              38.896968
+            ],
+            [
+              116.723432,
+              38.852706
+            ],
+            [
+              116.75115,
+              38.831264
+            ],
+            [
+              116.737599,
+              38.784629
+            ],
+            [
+              116.746222,
+              38.754299
+            ],
+            [
+              116.794265,
+              38.744498
+            ],
+            [
+              116.794265,
+              38.744498
+            ],
+            [
+              116.858939,
+              38.741231
+            ],
+            [
+              116.877417,
+              38.680522
+            ],
+            [
+              116.948866,
+              38.689398
+            ],
+            [
+              116.950714,
+              38.689398
+            ],
+            [
+              116.95133,
+              38.689398
+            ],
+            [
+              116.950714,
+              38.689398
+            ],
+            [
+              116.948866,
+              38.689398
+            ],
+            [
+              116.95133,
+              38.689398
+            ],
+            [
+              117.038793,
+              38.688464
+            ],
+            [
+              117.068358,
+              38.680522
+            ],
+            [
+              117.055424,
+              38.639398
+            ],
+            [
+              117.070822,
+              38.608072
+            ],
+            [
+              117.109626,
+              38.584685
+            ],
+            [
+              117.150894,
+              38.617892
+            ],
+            [
+              117.183539,
+              38.61836
+            ],
+            [
+              117.183539,
+              38.61836
+            ],
+            [
+              117.213104,
+              38.639866
+            ],
+            [
+              117.213104,
+              38.639866
+            ],
+            [
+              117.258684,
+              38.608072
+            ],
+            [
+              117.258684,
+              38.608072
+            ],
+            [
+              117.238358,
+              38.580943
+            ],
+            [
+              117.25314,
+              38.556143
+            ],
+            [
+              117.368937,
+              38.564566
+            ],
+            [
+              117.432379,
+              38.601524
+            ],
+            [
+              117.47919,
+              38.616489
+            ],
+            [
+              117.55803,
+              38.613683
+            ],
+            [
+              117.639334,
+              38.626776
+            ],
+            [
+              117.65658,
+              38.66043
+            ],
+            [
+              117.729261,
+              38.680055
+            ],
+            [
+              117.740964,
+              38.700141
+            ],
+            [
+              117.740964,
+              38.753833
+            ],
+            [
+              117.671363,
+              38.772032
+            ],
+            [
+              117.646725,
+              38.788827
+            ],
+            [
+              117.64611,
+              38.828933
+            ],
+            [
+              117.752051,
+              38.847579
+            ],
+            [
+              117.778536,
+              38.869016
+            ],
+            [
+              117.847522,
+              38.855502
+            ],
+            [
+              117.875855,
+              38.920252
+            ],
+            [
+              117.898029,
+              38.948649
+            ],
+            [
+              117.855529,
+              38.957492
+            ],
+            [
+              117.837667,
+              39.057011
+            ],
+            [
+              117.871543,
+              39.122506
+            ],
+            [
+              117.96455,
+              39.172631
+            ],
+            [
+              117.977485,
+              39.206028
+            ],
+            [
+              118.032919,
+              39.219939
+            ],
+            [
+              118.034767,
+              39.218548
+            ],
+            [
+              118.064948,
+              39.231065
+            ],
+            [
+              118.064948,
+              39.256094
+            ],
+            [
+              118.036615,
+              39.264898
+            ],
+            [
+              118.024296,
+              39.289451
+            ],
+            [
+              118.024296,
+              39.289451
+            ],
+            [
+              117.982412,
+              39.298714
+            ],
+            [
+              117.982412,
+              39.298714
+            ],
+            [
+              117.979333,
+              39.300566
+            ],
+            [
+              117.979333,
+              39.300566
+            ],
+            [
+              117.973173,
+              39.312143
+            ],
+            [
+              117.973173,
+              39.312143
+            ],
+            [
+              117.965782,
+              39.314921
+            ],
+            [
+              117.965782,
+              39.314921
+            ],
+            [
+              117.919587,
+              39.318162
+            ],
+            [
+              117.919587,
+              39.318162
+            ],
+            [
+              117.88879,
+              39.332051
+            ],
+            [
+              117.854913,
+              39.328348
+            ],
+            [
+              117.854297,
+              39.328348
+            ],
+            [
+              117.854913,
+              39.328348
+            ],
+            [
+              117.854297,
+              39.328348
+            ],
+            [
+              117.850601,
+              39.363984
+            ],
+            [
+              117.850601,
+              39.363984
+            ],
+            [
+              117.810565,
+              39.354729
+            ],
+            [
+              117.805022,
+              39.373237
+            ],
+            [
+              117.784696,
+              39.376938
+            ],
+            [
+              117.74466,
+              39.354729
+            ],
+            [
+              117.670747,
+              39.357969
+            ],
+            [
+              117.669515,
+              39.322792
+            ],
+            [
+              117.594987,
+              39.349176
+            ],
+            [
+              117.536472,
+              39.338068
+            ],
+            [
+              117.521074,
+              39.357043
+            ],
+            [
+              117.570965,
+              39.404689
+            ],
+            [
+              117.601146,
+              39.419485
+            ],
+            [
+              117.614081,
+              39.407001
+            ],
+            [
+              117.668899,
+              39.412087
+            ],
+            [
+              117.673211,
+              39.386652
+            ],
+            [
+              117.699696,
+              39.407463
+            ],
+            [
+              117.765602,
+              39.400527
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.805022,
+              39.373237
+            ],
+            [
+              117.852449,
+              39.380639
+            ],
+            [
+              117.846906,
+              39.407926
+            ],
+            [
+              117.765602,
+              39.400527
+            ],
+            [
+              117.784696,
+              39.376938
+            ],
+            [
+              117.805022,
+              39.373237
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 13e4,
+      name: "河北省",
+      center: [
+        114.502461,
+        38.045474
+      ],
+      childrenNum: 11,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 2,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              117.467487,
+              40.649738
+            ],
+            [
+              117.412669,
+              40.605226
+            ],
+            [
+              117.429915,
+              40.576141
+            ],
+            [
+              117.389879,
+              40.561593
+            ],
+            [
+              117.348611,
+              40.581141
+            ],
+            [
+              117.348611,
+              40.581141
+            ],
+            [
+              117.269771,
+              40.560684
+            ],
+            [
+              117.247597,
+              40.539766
+            ],
+            [
+              117.262995,
+              40.512927
+            ],
+            [
+              117.208793,
+              40.501552
+            ],
+            [
+              117.263611,
+              40.442367
+            ],
+            [
+              117.234046,
+              40.417312
+            ],
+            [
+              117.226039,
+              40.368997
+            ],
+            [
+              117.243285,
+              40.369453
+            ],
+            [
+              117.271618,
+              40.325211
+            ],
+            [
+              117.271618,
+              40.325211
+            ],
+            [
+              117.295024,
+              40.2782
+            ],
+            [
+              117.331365,
+              40.289613
+            ],
+            [
+              117.351075,
+              40.229786
+            ],
+            [
+              117.389879,
+              40.227958
+            ],
+            [
+              117.415748,
+              40.248973
+            ],
+            [
+              117.450241,
+              40.252627
+            ],
+            [
+              117.505059,
+              40.227044
+            ],
+            [
+              117.548791,
+              40.232527
+            ],
+            [
+              117.571581,
+              40.219276
+            ],
+            [
+              117.576508,
+              40.178593
+            ],
+            [
+              117.609769,
+              40.160301
+            ],
+            [
+              117.609769,
+              40.160301
+            ],
+            [
+              117.613465,
+              40.158014
+            ],
+            [
+              117.613465,
+              40.158014
+            ],
+            [
+              117.651653,
+              40.122786
+            ],
+            [
+              117.651653,
+              40.122786
+            ],
+            [
+              117.654117,
+              40.114548
+            ],
+            [
+              117.654117,
+              40.114548
+            ],
+            [
+              117.655965,
+              40.109514
+            ],
+            [
+              117.655965,
+              40.109514
+            ],
+            [
+              117.675059,
+              40.082045
+            ],
+            [
+              117.71879,
+              40.082045
+            ],
+            [
+              117.71879,
+              40.082045
+            ],
+            [
+              117.752667,
+              40.081588
+            ],
+            [
+              117.776073,
+              40.059605
+            ],
+            [
+              117.74774,
+              40.047236
+            ],
+            [
+              117.744044,
+              40.018368
+            ],
+            [
+              117.768681,
+              40.022034
+            ],
+            [
+              117.768681,
+              40.022034
+            ],
+            [
+              117.793319,
+              40.005534
+            ],
+            [
+              117.793319,
+              40.005534
+            ],
+            [
+              117.795167,
+              39.996823
+            ],
+            [
+              117.795167,
+              39.996823
+            ],
+            [
+              117.781616,
+              39.966558
+            ],
+            [
+              117.781616,
+              39.966558
+            ],
+            [
+              117.756363,
+              39.965181
+            ],
+            [
+              117.691073,
+              39.984902
+            ],
+            [
+              117.671363,
+              39.973896
+            ],
+            [
+              117.614697,
+              39.97252
+            ],
+            [
+              117.594987,
+              39.994531
+            ],
+            [
+              117.594987,
+              39.994531
+            ],
+            [
+              117.546327,
+              39.999116
+            ],
+            [
+              117.534625,
+              39.954631
+            ],
+            [
+              117.514914,
+              39.946832
+            ],
+            [
+              117.513067,
+              39.910576
+            ],
+            [
+              117.513067,
+              39.910576
+            ],
+            [
+              117.512451,
+              39.90874
+            ],
+            [
+              117.512451,
+              39.90874
+            ],
+            [
+              117.508139,
+              39.901854
+            ],
+            [
+              117.508139,
+              39.901854
+            ],
+            [
+              117.529081,
+              39.859144
+            ],
+            [
+              117.529081,
+              39.859144
+            ],
+            [
+              117.561726,
+              39.799856
+            ],
+            [
+              117.546327,
+              39.775943
+            ],
+            [
+              117.56111,
+              39.754782
+            ],
+            [
+              117.595603,
+              39.74604
+            ],
+            [
+              117.57774,
+              39.726711
+            ],
+            [
+              117.627015,
+              39.703693
+            ],
+            [
+              117.668899,
+              39.666849
+            ],
+            [
+              117.66274,
+              39.636437
+            ],
+            [
+              117.637486,
+              39.603246
+            ],
+            [
+              117.654117,
+              39.575113
+            ],
+            [
+              117.684914,
+              39.58895
+            ],
+            [
+              117.707088,
+              39.576036
+            ],
+            [
+              117.715711,
+              39.529892
+            ],
+            [
+              117.745276,
+              39.547892
+            ],
+            [
+              117.753899,
+              39.579726
+            ],
+            [
+              117.753899,
+              39.579726
+            ],
+            [
+              117.766834,
+              39.598635
+            ],
+            [
+              117.829659,
+              39.589873
+            ],
+            [
+              117.868464,
+              39.59679
+            ],
+            [
+              117.933753,
+              39.574191
+            ],
+            [
+              117.904804,
+              39.533585
+            ],
+            [
+              117.912195,
+              39.517428
+            ],
+            [
+              117.912195,
+              39.517428
+            ],
+            [
+              117.899877,
+              39.474479
+            ],
+            [
+              117.870311,
+              39.455074
+            ],
+            [
+              117.871543,
+              39.411625
+            ],
+            [
+              117.846906,
+              39.407926
+            ],
+            [
+              117.852449,
+              39.380639
+            ],
+            [
+              117.805022,
+              39.373237
+            ],
+            [
+              117.810565,
+              39.354729
+            ],
+            [
+              117.850601,
+              39.363984
+            ],
+            [
+              117.850601,
+              39.363984
+            ],
+            [
+              117.854297,
+              39.328348
+            ],
+            [
+              117.854913,
+              39.328348
+            ],
+            [
+              117.854297,
+              39.328348
+            ],
+            [
+              117.854913,
+              39.328348
+            ],
+            [
+              117.88879,
+              39.332051
+            ],
+            [
+              117.919587,
+              39.318162
+            ],
+            [
+              117.919587,
+              39.318162
+            ],
+            [
+              117.965782,
+              39.314921
+            ],
+            [
+              117.965782,
+              39.314921
+            ],
+            [
+              117.973173,
+              39.312143
+            ],
+            [
+              117.973173,
+              39.312143
+            ],
+            [
+              117.979333,
+              39.300566
+            ],
+            [
+              117.979333,
+              39.300566
+            ],
+            [
+              117.982412,
+              39.298714
+            ],
+            [
+              117.982412,
+              39.298714
+            ],
+            [
+              118.024296,
+              39.289451
+            ],
+            [
+              118.024296,
+              39.289451
+            ],
+            [
+              118.036615,
+              39.264898
+            ],
+            [
+              118.064948,
+              39.256094
+            ],
+            [
+              118.064948,
+              39.231065
+            ],
+            [
+              118.034767,
+              39.218548
+            ],
+            [
+              118.026144,
+              39.201854
+            ],
+            [
+              118.070492,
+              39.213911
+            ],
+            [
+              118.077883,
+              39.201854
+            ],
+            [
+              118.12531,
+              39.182838
+            ],
+            [
+              118.162883,
+              39.136433
+            ],
+            [
+              118.1906,
+              39.080708
+            ],
+            [
+              118.225092,
+              39.034701
+            ],
+            [
+              118.319331,
+              39.009594
+            ],
+            [
+              118.366143,
+              39.016104
+            ],
+            [
+              118.377845,
+              38.971917
+            ],
+            [
+              118.491178,
+              38.909077
+            ],
+            [
+              118.539837,
+              38.910008
+            ],
+            [
+              118.604511,
+              38.971452
+            ],
+            [
+              118.570634,
+              38.999363
+            ],
+            [
+              118.533062,
+              39.090928
+            ],
+            [
+              118.588497,
+              39.107648
+            ],
+            [
+              118.578642,
+              39.130863
+            ],
+            [
+              118.637156,
+              39.157319
+            ],
+            [
+              118.76096,
+              39.133648
+            ],
+            [
+              118.814546,
+              39.138754
+            ],
+            [
+              118.857662,
+              39.162888
+            ],
+            [
+              118.897082,
+              39.151286
+            ],
+            [
+              118.920488,
+              39.171703
+            ],
+            [
+              118.951285,
+              39.178662
+            ],
+            [
+              118.896466,
+              39.139683
+            ],
+            [
+              118.890307,
+              39.118792
+            ],
+            [
+              118.926031,
+              39.123435
+            ],
+            [
+              118.97777,
+              39.163352
+            ],
+            [
+              119.023966,
+              39.187012
+            ],
+            [
+              119.038132,
+              39.211593
+            ],
+            [
+              119.096031,
+              39.24219
+            ],
+            [
+              119.121284,
+              39.281576
+            ],
+            [
+              119.185342,
+              39.342234
+            ],
+            [
+              119.272805,
+              39.363521
+            ],
+            [
+              119.317153,
+              39.4107
+            ],
+            [
+              119.316537,
+              39.437051
+            ],
+            [
+              119.269726,
+              39.498497
+            ],
+            [
+              119.366428,
+              39.734996
+            ],
+            [
+              119.474217,
+              39.813189
+            ],
+            [
+              119.536427,
+              39.809052
+            ],
+            [
+              119.520413,
+              39.840306
+            ],
+            [
+              119.540739,
+              39.888079
+            ],
+            [
+              119.588166,
+              39.910576
+            ],
+            [
+              119.620195,
+              39.904609
+            ],
+            [
+              119.642369,
+              39.925264
+            ],
+            [
+              119.681789,
+              39.922511
+            ],
+            [
+              119.726137,
+              39.940867
+            ],
+            [
+              119.787115,
+              39.950502
+            ],
+            [
+              119.820375,
+              39.979399
+            ],
+            [
+              119.842549,
+              39.956007
+            ],
+            [
+              119.872114,
+              39.960594
+            ],
+            [
+              119.854252,
+              39.98857
+            ],
+            [
+              119.845629,
+              40.000949
+            ],
+            [
+              119.845629,
+              40.000949
+            ],
+            [
+              119.854252,
+              40.033033
+            ],
+            [
+              119.81668,
+              40.050443
+            ],
+            [
+              119.81668,
+              40.050443
+            ],
+            [
+              119.787115,
+              40.041739
+            ],
+            [
+              119.787115,
+              40.041739
+            ],
+            [
+              119.783419,
+              40.046778
+            ],
+            [
+              119.783419,
+              40.046778
+            ],
+            [
+              119.772332,
+              40.08113
+            ],
+            [
+              119.736608,
+              40.104936
+            ],
+            [
+              119.760629,
+              40.136056
+            ],
+            [
+              119.745847,
+              40.207851
+            ],
+            [
+              119.716898,
+              40.195966
+            ],
+            [
+              119.671934,
+              40.23938
+            ],
+            [
+              119.639289,
+              40.231613
+            ],
+            [
+              119.639289,
+              40.231613
+            ],
+            [
+              119.651608,
+              40.271808
+            ],
+            [
+              119.598021,
+              40.334335
+            ],
+            [
+              119.586934,
+              40.375381
+            ],
+            [
+              119.604797,
+              40.455119
+            ],
+            [
+              119.553674,
+              40.502007
+            ],
+            [
+              119.572152,
+              40.523846
+            ],
+            [
+              119.559217,
+              40.547952
+            ],
+            [
+              119.503783,
+              40.553864
+            ],
+            [
+              119.477913,
+              40.533399
+            ],
+            [
+              119.429254,
+              40.540221
+            ],
+            [
+              119.30237,
+              40.530215
+            ],
+            [
+              119.256175,
+              40.543404
+            ],
+            [
+              119.22045,
+              40.569322
+            ],
+            [
+              119.230921,
+              40.603863
+            ],
+            [
+              119.177951,
+              40.609315
+            ],
+            [
+              119.162552,
+              40.600228
+            ],
+            [
+              119.14469,
+              40.632482
+            ],
+            [
+              119.184726,
+              40.680153
+            ],
+            [
+              119.165632,
+              40.69286
+            ],
+            [
+              119.115125,
+              40.666536
+            ],
+            [
+              119.054763,
+              40.664721
+            ],
+            [
+              119.028277,
+              40.692406
+            ],
+            [
+              119.011031,
+              40.687414
+            ],
+            [
+              118.96114,
+              40.72008
+            ],
+            [
+              118.950053,
+              40.747743
+            ],
+            [
+              118.895234,
+              40.75409
+            ],
+            [
+              118.907553,
+              40.775394
+            ],
+            [
+              118.878604,
+              40.783098
+            ],
+            [
+              118.845959,
+              40.822057
+            ],
+            [
+              118.873061,
+              40.847866
+            ],
+            [
+              118.90201,
+              40.960946
+            ],
+            [
+              118.916792,
+              40.969984
+            ],
+            [
+              118.977154,
+              40.959138
+            ],
+            [
+              118.977154,
+              40.959138
+            ],
+            [
+              119.00056,
+              40.967273
+            ],
+            [
+              119.013495,
+              41.007479
+            ],
+            [
+              118.951901,
+              41.018317
+            ],
+            [
+              118.937118,
+              41.052625
+            ],
+            [
+              118.964836,
+              41.079246
+            ],
+            [
+              119.037516,
+              41.067516
+            ],
+            [
+              119.080632,
+              41.095936
+            ],
+            [
+              119.081248,
+              41.131555
+            ],
+            [
+              119.126212,
+              41.138767
+            ],
+            [
+              119.189038,
+              41.198234
+            ],
+            [
+              119.169943,
+              41.222996
+            ],
+            [
+              119.204436,
+              41.222546
+            ],
+            [
+              119.209364,
+              41.244599
+            ],
+            [
+              119.2494,
+              41.279689
+            ],
+            [
+              119.239545,
+              41.31431
+            ],
+            [
+              119.211827,
+              41.308016
+            ],
+            [
+              119.197661,
+              41.282837
+            ],
+            [
+              119.168712,
+              41.294978
+            ],
+            [
+              119.092951,
+              41.293629
+            ],
+            [
+              118.980234,
+              41.305769
+            ],
+            [
+              118.949437,
+              41.317906
+            ],
+            [
+              118.890923,
+              41.300823
+            ],
+            [
+              118.844727,
+              41.342622
+            ],
+            [
+              118.843496,
+              41.374516
+            ],
+            [
+              118.770199,
+              41.352956
+            ],
+            [
+              118.741866,
+              41.324198
+            ],
+            [
+              118.677192,
+              41.35026
+            ],
+            [
+              118.629765,
+              41.346666
+            ],
+            [
+              118.528135,
+              41.355202
+            ],
+            [
+              118.412338,
+              41.331838
+            ],
+            [
+              118.380309,
+              41.312062
+            ],
+            [
+              118.348896,
+              41.342622
+            ],
+            [
+              118.361215,
+              41.384844
+            ],
+            [
+              118.348896,
+              41.428384
+            ],
+            [
+              118.327338,
+              41.450816
+            ],
+            [
+              118.271904,
+              41.471446
+            ],
+            [
+              118.315636,
+              41.512688
+            ],
+            [
+              118.302701,
+              41.55256
+            ],
+            [
+              118.215237,
+              41.59554
+            ],
+            [
+              118.206614,
+              41.650566
+            ],
+            [
+              118.159187,
+              41.67605
+            ],
+            [
+              118.155491,
+              41.712694
+            ],
+            [
+              118.132702,
+              41.733241
+            ],
+            [
+              118.140093,
+              41.784134
+            ],
+            [
+              118.178281,
+              41.814917
+            ],
+            [
+              118.236179,
+              41.80778
+            ],
+            [
+              118.247266,
+              41.773869
+            ],
+            [
+              118.29223,
+              41.772976
+            ],
+            [
+              118.335346,
+              41.845241
+            ],
+            [
+              118.340273,
+              41.87243
+            ],
+            [
+              118.268824,
+              41.930336
+            ],
+            [
+              118.306396,
+              41.940131
+            ],
+            [
+              118.313788,
+              41.98819
+            ],
+            [
+              118.291614,
+              42.007759
+            ],
+            [
+              118.239875,
+              42.024655
+            ],
+            [
+              118.286686,
+              42.033991
+            ],
+            [
+              118.296541,
+              42.057545
+            ],
+            [
+              118.27252,
+              42.083312
+            ],
+            [
+              118.239259,
+              42.092639
+            ],
+            [
+              118.212774,
+              42.081091
+            ],
+            [
+              118.220165,
+              42.058434
+            ],
+            [
+              118.194296,
+              42.031324
+            ],
+            [
+              118.116687,
+              42.037102
+            ],
+            [
+              118.155491,
+              42.081091
+            ],
+            [
+              118.097593,
+              42.105072
+            ],
+            [
+              118.089586,
+              42.12283
+            ],
+            [
+              118.106216,
+              42.172082
+            ],
+            [
+              118.033535,
+              42.199132
+            ],
+            [
+              117.977485,
+              42.229716
+            ],
+            [
+              117.974405,
+              42.25054
+            ],
+            [
+              118.047702,
+              42.280656
+            ],
+            [
+              118.060021,
+              42.298364
+            ],
+            [
+              118.008898,
+              42.346595
+            ],
+            [
+              118.024296,
+              42.385064
+            ],
+            [
+              117.997811,
+              42.416884
+            ],
+            [
+              117.874007,
+              42.510038
+            ],
+            [
+              117.856761,
+              42.539148
+            ],
+            [
+              117.797631,
+              42.585431
+            ],
+            [
+              117.801326,
+              42.612744
+            ],
+            [
+              117.779768,
+              42.61847
+            ],
+            [
+              117.708935,
+              42.588515
+            ],
+            [
+              117.667051,
+              42.582347
+            ],
+            [
+              117.60053,
+              42.603054
+            ],
+            [
+              117.537088,
+              42.603054
+            ],
+            [
+              117.530313,
+              42.590278
+            ],
+            [
+              117.475494,
+              42.602613
+            ],
+            [
+              117.435458,
+              42.585431
+            ],
+            [
+              117.434226,
+              42.557224
+            ],
+            [
+              117.387415,
+              42.517537
+            ],
+            [
+              117.387415,
+              42.517537
+            ],
+            [
+              117.410205,
+              42.519743
+            ],
+            [
+              117.413284,
+              42.471645
+            ],
+            [
+              117.390495,
+              42.461933
+            ],
+            [
+              117.332596,
+              42.46105
+            ],
+            [
+              117.332596,
+              42.46105
+            ],
+            [
+              117.275314,
+              42.481797
+            ],
+            [
+              117.275314,
+              42.481797
+            ],
+            [
+              117.188467,
+              42.468114
+            ],
+            [
+              117.188467,
+              42.468114
+            ],
+            [
+              117.135496,
+              42.468996
+            ],
+            [
+              117.09546,
+              42.484004
+            ],
+            [
+              117.080061,
+              42.463699
+            ],
+            [
+              117.080061,
+              42.463699
+            ],
+            [
+              117.01662,
+              42.456193
+            ],
+            [
+              117.01662,
+              42.456193
+            ],
+            [
+              117.009228,
+              42.44957
+            ],
+            [
+              117.009228,
+              42.44957
+            ],
+            [
+              117.005533,
+              42.43367
+            ],
+            [
+              117.005533,
+              42.43367
+            ],
+            [
+              116.99075,
+              42.425719
+            ],
+            [
+              116.99075,
+              42.425719
+            ],
+            [
+              116.974736,
+              42.426603
+            ],
+            [
+              116.974736,
+              42.426603
+            ],
+            [
+              116.97104,
+              42.427486
+            ],
+            [
+              116.97104,
+              42.427486
+            ],
+            [
+              116.944555,
+              42.415116
+            ],
+            [
+              116.944555,
+              42.415116
+            ],
+            [
+              116.936547,
+              42.410256
+            ],
+            [
+              116.936547,
+              42.410256
+            ],
+            [
+              116.921765,
+              42.403628
+            ],
+            [
+              116.921765,
+              42.403628
+            ],
+            [
+              116.910062,
+              42.395231
+            ],
+            [
+              116.910062,
+              42.395231
+            ],
+            [
+              116.910678,
+              42.394789
+            ],
+            [
+              116.910678,
+              42.394789
+            ],
+            [
+              116.886656,
+              42.366496
+            ],
+            [
+              116.897743,
+              42.297479
+            ],
+            [
+              116.918685,
+              42.229716
+            ],
+            [
+              116.903287,
+              42.190708
+            ],
+            [
+              116.789338,
+              42.200462
+            ],
+            [
+              116.825062,
+              42.155669
+            ],
+            [
+              116.850316,
+              42.156556
+            ],
+            [
+              116.890352,
+              42.092639
+            ],
+            [
+              116.879881,
+              42.018431
+            ],
+            [
+              116.796113,
+              41.977958
+            ],
+            [
+              116.748686,
+              41.984186
+            ],
+            [
+              116.727744,
+              41.951259
+            ],
+            [
+              116.66923,
+              41.947698
+            ],
+            [
+              116.639049,
+              41.929891
+            ],
+            [
+              116.597165,
+              41.935679
+            ],
+            [
+              116.553433,
+              41.928555
+            ],
+            [
+              116.510933,
+              41.974399
+            ],
+            [
+              116.4826,
+              41.975734
+            ],
+            [
+              116.453651,
+              41.945917
+            ],
+            [
+              116.393289,
+              41.942802
+            ],
+            [
+              116.414231,
+              41.982407
+            ],
+            [
+              116.373579,
+              42.009983
+            ],
+            [
+              116.310137,
+              41.997086
+            ],
+            [
+              116.298434,
+              41.96817
+            ],
+            [
+              116.223906,
+              41.932562
+            ],
+            [
+              116.212819,
+              41.885352
+            ],
+            [
+              116.194341,
+              41.861734
+            ],
+            [
+              116.122892,
+              41.861734
+            ],
+            [
+              116.106877,
+              41.831419
+            ],
+            [
+              116.129051,
+              41.805996
+            ],
+            [
+              116.09887,
+              41.776547
+            ],
+            [
+              116.034196,
+              41.782795
+            ],
+            [
+              116.007095,
+              41.79752
+            ],
+            [
+              116.007095,
+              41.797966
+            ],
+            [
+              116.007095,
+              41.79752
+            ],
+            [
+              116.007095,
+              41.797966
+            ],
+            [
+              115.994776,
+              41.828743
+            ],
+            [
+              115.954124,
+              41.874213
+            ],
+            [
+              115.916552,
+              41.945027
+            ],
+            [
+              115.85311,
+              41.927665
+            ],
+            [
+              115.834632,
+              41.93835
+            ],
+            [
+              115.811226,
+              41.912525
+            ],
+            [
+              115.726227,
+              41.870202
+            ],
+            [
+              115.688038,
+              41.867528
+            ],
+            [
+              115.654162,
+              41.829189
+            ],
+            [
+              115.57409,
+              41.80555
+            ],
+            [
+              115.519887,
+              41.76762
+            ],
+            [
+              115.488474,
+              41.760924
+            ],
+            [
+              115.42996,
+              41.728775
+            ],
+            [
+              115.346808,
+              41.712247
+            ],
+            [
+              115.319091,
+              41.691693
+            ],
+            [
+              115.360975,
+              41.661297
+            ],
+            [
+              115.345576,
+              41.635807
+            ],
+            [
+              115.377605,
+              41.603148
+            ],
+            [
+              115.310468,
+              41.592854
+            ],
+            [
+              115.290142,
+              41.622835
+            ],
+            [
+              115.26612,
+              41.616124
+            ],
+            [
+              115.256881,
+              41.580768
+            ],
+            [
+              115.20391,
+              41.571367
+            ],
+            [
+              115.195287,
+              41.602253
+            ],
+            [
+              115.0992,
+              41.62373
+            ],
+            [
+              115.056085,
+              41.602253
+            ],
+            [
+              115.016049,
+              41.615229
+            ],
+            [
+              114.860832,
+              41.60091
+            ],
+            [
+              114.895325,
+              41.636255
+            ],
+            [
+              114.902716,
+              41.695715
+            ],
+            [
+              114.89594,
+              41.76762
+            ],
+            [
+              114.868839,
+              41.813579
+            ],
+            [
+              114.922426,
+              41.825175
+            ],
+            [
+              114.939056,
+              41.846132
+            ],
+            [
+              114.923658,
+              41.871093
+            ],
+            [
+              114.915035,
+              41.960605
+            ],
+            [
+              114.9021,
+              42.015763
+            ],
+            [
+              114.860832,
+              42.054879
+            ],
+            [
+              114.86268,
+              42.097967
+            ],
+            [
+              114.825723,
+              42.139695
+            ],
+            [
+              114.79431,
+              42.149457
+            ],
+            [
+              114.789383,
+              42.130819
+            ],
+            [
+              114.75489,
+              42.115727
+            ],
+            [
+              114.675434,
+              42.12061
+            ],
+            [
+              114.647717,
+              42.109512
+            ],
+            [
+              114.560254,
+              42.132595
+            ],
+            [
+              114.510978,
+              42.110844
+            ],
+            [
+              114.502355,
+              42.06732
+            ],
+            [
+              114.480181,
+              42.064654
+            ],
+            [
+              114.467863,
+              42.025989
+            ],
+            [
+              114.511594,
+              41.981962
+            ],
+            [
+              114.478334,
+              41.951704
+            ],
+            [
+              114.419203,
+              41.942356
+            ],
+            [
+              114.352066,
+              41.953484
+            ],
+            [
+              114.343443,
+              41.926774
+            ],
+            [
+              114.282465,
+              41.863517
+            ],
+            [
+              114.200545,
+              41.789934
+            ],
+            [
+              114.215328,
+              41.75646
+            ],
+            [
+              114.206704,
+              41.7386
+            ],
+            [
+              114.237501,
+              41.698843
+            ],
+            [
+              114.215328,
+              41.68499
+            ],
+            [
+              114.259059,
+              41.623282
+            ],
+            [
+              114.226414,
+              41.616572
+            ],
+            [
+              114.221487,
+              41.582111
+            ],
+            [
+              114.230726,
+              41.513584
+            ],
+            [
+              114.101379,
+              41.537779
+            ],
+            [
+              114.032394,
+              41.529715
+            ],
+            [
+              113.976959,
+              41.505966
+            ],
+            [
+              113.953553,
+              41.483553
+            ],
+            [
+              113.933227,
+              41.487139
+            ],
+            [
+              113.919677,
+              41.454404
+            ],
+            [
+              113.877793,
+              41.431076
+            ],
+            [
+              113.871017,
+              41.413126
+            ],
+            [
+              113.94493,
+              41.392477
+            ],
+            [
+              113.92522,
+              41.325546
+            ],
+            [
+              113.899351,
+              41.316108
+            ],
+            [
+              113.914749,
+              41.294529
+            ],
+            [
+              113.95109,
+              41.282837
+            ],
+            [
+              113.971416,
+              41.239649
+            ],
+            [
+              113.992357,
+              41.269794
+            ],
+            [
+              114.016379,
+              41.231999
+            ],
+            [
+              113.996669,
+              41.19238
+            ],
+            [
+              113.960945,
+              41.171211
+            ],
+            [
+              113.920293,
+              41.172112
+            ],
+            [
+              113.877793,
+              41.115777
+            ],
+            [
+              113.819279,
+              41.09774
+            ],
+            [
+              113.868554,
+              41.06887
+            ],
+            [
+              113.973263,
+              40.983087
+            ],
+            [
+              113.994821,
+              40.938798
+            ],
+            [
+              114.057647,
+              40.925234
+            ],
+            [
+              114.041633,
+              40.917546
+            ],
+            [
+              114.055183,
+              40.867782
+            ],
+            [
+              114.073661,
+              40.857372
+            ],
+            [
+              114.044712,
+              40.830661
+            ],
+            [
+              114.080437,
+              40.790348
+            ],
+            [
+              114.104458,
+              40.797597
+            ],
+            [
+              114.103227,
+              40.770861
+            ],
+            [
+              114.134639,
+              40.737314
+            ],
+            [
+              114.162357,
+              40.71373
+            ],
+            [
+              114.183299,
+              40.67153
+            ],
+            [
+              114.236269,
+              40.607043
+            ],
+            [
+              114.283081,
+              40.590685
+            ],
+            [
+              114.273842,
+              40.552954
+            ],
+            [
+              114.293552,
+              40.55159
+            ],
+            [
+              114.282465,
+              40.494725
+            ],
+            [
+              114.267066,
+              40.474242
+            ],
+            [
+              114.299711,
+              40.44009
+            ],
+            [
+              114.286161,
+              40.425057
+            ],
+            [
+              114.31203,
+              40.372645
+            ],
+            [
+              114.381015,
+              40.36307
+            ],
+            [
+              114.390254,
+              40.351213
+            ],
+            [
+              114.438914,
+              40.371733
+            ],
+            [
+              114.481413,
+              40.34802
+            ],
+            [
+              114.530688,
+              40.345283
+            ],
+            [
+              114.510978,
+              40.302851
+            ],
+            [
+              114.46971,
+              40.268155
+            ],
+            [
+              114.406269,
+              40.246232
+            ],
+            [
+              114.362537,
+              40.249886
+            ],
+            [
+              114.292936,
+              40.230242
+            ],
+            [
+              114.255364,
+              40.236182
+            ],
+            [
+              114.235654,
+              40.198252
+            ],
+            [
+              114.180219,
+              40.191395
+            ],
+            [
+              114.135871,
+              40.175392
+            ],
+            [
+              114.097683,
+              40.193681
+            ],
+            [
+              114.073046,
+              40.168533
+            ],
+            [
+              114.073046,
+              40.168533
+            ],
+            [
+              114.101995,
+              40.099901
+            ],
+            [
+              114.086596,
+              40.071513
+            ],
+            [
+              114.045944,
+              40.056856
+            ],
+            [
+              114.018227,
+              40.103563
+            ],
+            [
+              113.989278,
+              40.11226
+            ],
+            [
+              113.959097,
+              40.033491
+            ],
+            [
+              113.910438,
+              40.015618
+            ],
+            [
+              114.029314,
+              39.985819
+            ],
+            [
+              114.028082,
+              39.959218
+            ],
+            [
+              114.047176,
+              39.916085
+            ],
+            [
+              114.067502,
+              39.922511
+            ],
+            [
+              114.17406,
+              39.897722
+            ],
+            [
+              114.212248,
+              39.918839
+            ],
+            [
+              114.229494,
+              39.899558
+            ],
+            [
+              114.204241,
+              39.885324
+            ],
+            [
+              114.215943,
+              39.8619
+            ],
+            [
+              114.286776,
+              39.871087
+            ],
+            [
+              114.285545,
+              39.858225
+            ],
+            [
+              114.395182,
+              39.867412
+            ],
+            [
+              114.406885,
+              39.833413
+            ],
+            [
+              114.390254,
+              39.819165
+            ],
+            [
+              114.41674,
+              39.775943
+            ],
+            [
+              114.409964,
+              39.761683
+            ],
+            [
+              114.408117,
+              39.652106
+            ],
+            [
+              114.431522,
+              39.613851
+            ],
+            [
+              114.49558,
+              39.608318
+            ],
+            [
+              114.51529,
+              39.564964
+            ],
+            [
+              114.568877,
+              39.573729
+            ],
+            [
+              114.532536,
+              39.486027
+            ],
+            [
+              114.501739,
+              39.476789
+            ],
+            [
+              114.496812,
+              39.438437
+            ],
+            [
+              114.469095,
+              39.400989
+            ],
+            [
+              114.466631,
+              39.329736
+            ],
+            [
+              114.430906,
+              39.307513
+            ],
+            [
+              114.437066,
+              39.259337
+            ],
+            [
+              114.416124,
+              39.242654
+            ],
+            [
+              114.47587,
+              39.21623
+            ],
+            [
+              114.443841,
+              39.174023
+            ],
+            [
+              114.388406,
+              39.176807
+            ],
+            [
+              114.360689,
+              39.134112
+            ],
+            [
+              114.369928,
+              39.107648
+            ],
+            [
+              114.345907,
+              39.075133
+            ],
+            [
+              114.252284,
+              39.073739
+            ],
+            [
+              114.180835,
+              39.049111
+            ],
+            [
+              114.157429,
+              39.061194
+            ],
+            [
+              114.10877,
+              39.052364
+            ],
+            [
+              114.082901,
+              39.09325
+            ],
+            [
+              114.082901,
+              39.09325
+            ],
+            [
+              114.064422,
+              39.094179
+            ],
+            [
+              114.050872,
+              39.135969
+            ],
+            [
+              114.006524,
+              39.122971
+            ],
+            [
+              113.994821,
+              39.095572
+            ],
+            [
+              113.961561,
+              39.100681
+            ],
+            [
+              113.930148,
+              39.063517
+            ],
+            [
+              113.898119,
+              39.067699
+            ],
+            [
+              113.80696,
+              38.989595
+            ],
+            [
+              113.776779,
+              38.986804
+            ],
+            [
+              113.76754,
+              38.959819
+            ],
+            [
+              113.776163,
+              38.885788
+            ],
+            [
+              113.795257,
+              38.860628
+            ],
+            [
+              113.855619,
+              38.828933
+            ],
+            [
+              113.836525,
+              38.795824
+            ],
+            [
+              113.839605,
+              38.7585
+            ],
+            [
+              113.802648,
+              38.763166
+            ],
+            [
+              113.775547,
+              38.709949
+            ],
+            [
+              113.720728,
+              38.713218
+            ],
+            [
+              113.70225,
+              38.651551
+            ],
+            [
+              113.612939,
+              38.645942
+            ],
+            [
+              113.603084,
+              38.587024
+            ],
+            [
+              113.561816,
+              38.558483
+            ],
+            [
+              113.546417,
+              38.492936
+            ],
+            [
+              113.583374,
+              38.459671
+            ],
+            [
+              113.537794,
+              38.417952
+            ],
+            [
+              113.525475,
+              38.383245
+            ],
+            [
+              113.557504,
+              38.343359
+            ],
+            [
+              113.54457,
+              38.270569
+            ],
+            [
+              113.570439,
+              38.237202
+            ],
+            [
+              113.598772,
+              38.22733
+            ],
+            [
+              113.64312,
+              38.232031
+            ],
+            [
+              113.678844,
+              38.20523
+            ],
+            [
+              113.711489,
+              38.213695
+            ],
+            [
+              113.720728,
+              38.174656
+            ],
+            [
+              113.797105,
+              38.162894
+            ],
+            [
+              113.831597,
+              38.16854
+            ],
+            [
+              113.811271,
+              38.117707
+            ],
+            [
+              113.876561,
+              38.055059
+            ],
+            [
+              113.872249,
+              37.990471
+            ],
+            [
+              113.901198,
+              37.984811
+            ],
+            [
+              113.936307,
+              37.922993
+            ],
+            [
+              113.959097,
+              37.906468
+            ],
+            [
+              113.976959,
+              37.816696
+            ],
+            [
+              114.006524,
+              37.813386
+            ],
+            [
+              114.044712,
+              37.761834
+            ],
+            [
+              113.996669,
+              37.730128
+            ],
+            [
+              113.993589,
+              37.706932
+            ],
+            [
+              114.068118,
+              37.721608
+            ],
+            [
+              114.12848,
+              37.698409
+            ],
+            [
+              114.139567,
+              37.675676
+            ],
+            [
+              114.115545,
+              37.619761
+            ],
+            [
+              114.118625,
+              37.59084
+            ],
+            [
+              114.036705,
+              37.494037
+            ],
+            [
+              114.014531,
+              37.42468
+            ],
+            [
+              113.973879,
+              37.40329
+            ],
+            [
+              113.962792,
+              37.355734
+            ],
+            [
+              113.90243,
+              37.310052
+            ],
+            [
+              113.886416,
+              37.239095
+            ],
+            [
+              113.853155,
+              37.215269
+            ],
+            [
+              113.832213,
+              37.167594
+            ],
+            [
+              113.773083,
+              37.151855
+            ],
+            [
+              113.773699,
+              37.107004
+            ],
+            [
+              113.758301,
+              37.075497
+            ],
+            [
+              113.788482,
+              37.059739
+            ],
+            [
+              113.771851,
+              37.016745
+            ],
+            [
+              113.791561,
+              36.98759
+            ],
+            [
+              113.76138,
+              36.956034
+            ],
+            [
+              113.792793,
+              36.894796
+            ],
+            [
+              113.773083,
+              36.85506
+            ],
+            [
+              113.731815,
+              36.858891
+            ],
+            [
+              113.731815,
+              36.878521
+            ],
+            [
+              113.696707,
+              36.882351
+            ],
+            [
+              113.676381,
+              36.855539
+            ],
+            [
+              113.680692,
+              36.789907
+            ],
+            [
+              113.600004,
+              36.752995
+            ],
+            [
+              113.549497,
+              36.752515
+            ],
+            [
+              113.535946,
+              36.732373
+            ],
+            [
+              113.499606,
+              36.740527
+            ],
+            [
+              113.465113,
+              36.707908
+            ],
+            [
+              113.506997,
+              36.705029
+            ],
+            [
+              113.476816,
+              36.655114
+            ],
+            [
+              113.486671,
+              36.635427
+            ],
+            [
+              113.54457,
+              36.62342
+            ],
+            [
+              113.539642,
+              36.594116
+            ],
+            [
+              113.569823,
+              36.585947
+            ],
+            [
+              113.588917,
+              36.547974
+            ],
+            [
+              113.559968,
+              36.528741
+            ],
+            [
+              113.554425,
+              36.494589
+            ],
+            [
+              113.587069,
+              36.460904
+            ],
+            [
+              113.635729,
+              36.451277
+            ],
+            [
+              113.670221,
+              36.425278
+            ],
+            [
+              113.708409,
+              36.423352
+            ],
+            [
+              113.731199,
+              36.363135
+            ],
+            [
+              113.755221,
+              36.366026
+            ],
+            [
+              113.813119,
+              36.332285
+            ],
+            [
+              113.856851,
+              36.329392
+            ],
+            [
+              113.84946,
+              36.347711
+            ],
+            [
+              113.882104,
+              36.353977
+            ],
+            [
+              113.911054,
+              36.314927
+            ],
+            [
+              113.962792,
+              36.353977
+            ],
+            [
+              113.981887,
+              36.31782
+            ],
+            [
+              114.002828,
+              36.334214
+            ],
+            [
+              114.056415,
+              36.329392
+            ],
+            [
+              114.04348,
+              36.303353
+            ],
+            [
+              114.080437,
+              36.269585
+            ],
+            [
+              114.129096,
+              36.280199
+            ],
+            [
+              114.175907,
+              36.264759
+            ],
+            [
+              114.170364,
+              36.245938
+            ],
+            [
+              114.170364,
+              36.245938
+            ],
+            [
+              114.203009,
+              36.245456
+            ],
+            [
+              114.2104,
+              36.272962
+            ],
+            [
+              114.241197,
+              36.251247
+            ],
+            [
+              114.257827,
+              36.263794
+            ],
+            [
+              114.299095,
+              36.245938
+            ],
+            [
+              114.345291,
+              36.255591
+            ],
+            [
+              114.356378,
+              36.230492
+            ],
+            [
+              114.408117,
+              36.224699
+            ],
+            [
+              114.417356,
+              36.205868
+            ],
+            [
+              114.466015,
+              36.197658
+            ],
+            [
+              114.480181,
+              36.177855
+            ],
+            [
+              114.533152,
+              36.171575
+            ],
+            [
+              114.586739,
+              36.141133
+            ],
+            [
+              114.588587,
+              36.118414
+            ],
+            [
+              114.640326,
+              36.137266
+            ],
+            [
+              114.720398,
+              36.140166
+            ],
+            [
+              114.734564,
+              36.15563
+            ],
+            [
+              114.771521,
+              36.124699
+            ],
+            [
+              114.857752,
+              36.127599
+            ],
+            [
+              114.858368,
+              36.144516
+            ],
+            [
+              114.912571,
+              36.140649
+            ],
+            [
+              114.926737,
+              36.089403
+            ],
+            [
+              114.914419,
+              36.052155
+            ],
+            [
+              114.998186,
+              36.069572
+            ],
+            [
+              115.04623,
+              36.112613
+            ],
+            [
+              115.048693,
+              36.161912
+            ],
+            [
+              115.06286,
+              36.178338
+            ],
+            [
+              115.104744,
+              36.172058
+            ],
+            [
+              115.12507,
+              36.209731
+            ],
+            [
+              115.1842,
+              36.193312
+            ],
+            [
+              115.201446,
+              36.210214
+            ],
+            [
+              115.201446,
+              36.210214
+            ],
+            [
+              115.202678,
+              36.209248
+            ],
+            [
+              115.202678,
+              36.209248
+            ],
+            [
+              115.202678,
+              36.208765
+            ],
+            [
+              115.202678,
+              36.208765
+            ],
+            [
+              115.242098,
+              36.19138
+            ],
+            [
+              115.279055,
+              36.13775
+            ],
+            [
+              115.30246,
+              36.127599
+            ],
+            [
+              115.312931,
+              36.088436
+            ],
+            [
+              115.365902,
+              36.099074
+            ],
+            [
+              115.376989,
+              36.128083
+            ],
+            [
+              115.450902,
+              36.152248
+            ],
+            [
+              115.465068,
+              36.170125
+            ],
+            [
+              115.483547,
+              36.148865
+            ],
+            [
+              115.474923,
+              36.248352
+            ],
+            [
+              115.466916,
+              36.258969
+            ],
+            [
+              115.466916,
+              36.258969
+            ],
+            [
+              115.462605,
+              36.276339
+            ],
+            [
+              115.417025,
+              36.292742
+            ],
+            [
+              115.423185,
+              36.32216
+            ],
+            [
+              115.366518,
+              36.30914
+            ],
+            [
+              115.368982,
+              36.342409
+            ],
+            [
+              115.340033,
+              36.398307
+            ],
+            [
+              115.297533,
+              36.413239
+            ],
+            [
+              115.317243,
+              36.454166
+            ],
+            [
+              115.291374,
+              36.460423
+            ],
+            [
+              115.272895,
+              36.497476
+            ],
+            [
+              115.33141,
+              36.550378
+            ],
+            [
+              115.355431,
+              36.627262
+            ],
+            [
+              115.365902,
+              36.621979
+            ],
+            [
+              115.420105,
+              36.686795
+            ],
+            [
+              115.451518,
+              36.702151
+            ],
+            [
+              115.479851,
+              36.760187
+            ],
+            [
+              115.524815,
+              36.763543
+            ],
+            [
+              115.683727,
+              36.808117
+            ],
+            [
+              115.71206,
+              36.883308
+            ],
+            [
+              115.75764,
+              36.902453
+            ],
+            [
+              115.79706,
+              36.968945
+            ],
+            [
+              115.776734,
+              36.992848
+            ],
+            [
+              115.85619,
+              37.060694
+            ],
+            [
+              115.888219,
+              37.112254
+            ],
+            [
+              115.879596,
+              37.150901
+            ],
+            [
+              115.91224,
+              37.177132
+            ],
+            [
+              115.909777,
+              37.20669
+            ],
+            [
+              115.969523,
+              37.239572
+            ],
+            [
+              115.975682,
+              37.337179
+            ],
+            [
+              116.024341,
+              37.360015
+            ],
+            [
+              116.085935,
+              37.373809
+            ],
+            [
+              116.106261,
+              37.368577
+            ],
+            [
+              116.169087,
+              37.384271
+            ],
+            [
+              116.193109,
+              37.365723
+            ],
+            [
+              116.236224,
+              37.361442
+            ],
+            [
+              116.2855,
+              37.404241
+            ],
+            [
+              116.226369,
+              37.428007
+            ],
+            [
+              116.243,
+              37.447965
+            ],
+            [
+              116.224522,
+              37.479791
+            ],
+            [
+              116.240536,
+              37.489764
+            ],
+            [
+              116.240536,
+              37.489764
+            ],
+            [
+              116.27626,
+              37.466967
+            ],
+            [
+              116.290427,
+              37.484065
+            ],
+            [
+              116.278724,
+              37.524895
+            ],
+            [
+              116.295355,
+              37.554316
+            ],
+            [
+              116.336007,
+              37.581355
+            ],
+            [
+              116.36742,
+              37.566177
+            ],
+            [
+              116.379738,
+              37.522047
+            ],
+            [
+              116.38097,
+              37.522522
+            ],
+            [
+              116.379738,
+              37.522047
+            ],
+            [
+              116.38097,
+              37.522522
+            ],
+            [
+              116.433941,
+              37.473142
+            ],
+            [
+              116.448108,
+              37.503059
+            ],
+            [
+              116.4826,
+              37.521573
+            ],
+            [
+              116.575607,
+              37.610754
+            ],
+            [
+              116.604556,
+              37.624975
+            ],
+            [
+              116.66307,
+              37.686096
+            ],
+            [
+              116.679085,
+              37.728708
+            ],
+            [
+              116.724664,
+              37.744327
+            ],
+            [
+              116.753613,
+              37.77035
+            ],
+            [
+              116.753613,
+              37.793054
+            ],
+            [
+              116.804736,
+              37.848837
+            ],
+            [
+              116.837997,
+              37.835132
+            ],
+            [
+              116.919301,
+              37.846002
+            ],
+            [
+              117.027091,
+              37.832296
+            ],
+            [
+              117.074518,
+              37.848837
+            ],
+            [
+              117.150278,
+              37.839385
+            ],
+            [
+              117.185387,
+              37.849783
+            ],
+            [
+              117.271618,
+              37.839858
+            ],
+            [
+              117.320278,
+              37.861596
+            ],
+            [
+              117.400966,
+              37.844584
+            ],
+            [
+              117.438538,
+              37.854035
+            ],
+            [
+              117.481038,
+              37.914967
+            ],
+            [
+              117.513067,
+              37.94329
+            ],
+            [
+              117.524154,
+              37.989527
+            ],
+            [
+              117.557414,
+              38.046105
+            ],
+            [
+              117.557414,
+              38.046105
+            ],
+            [
+              117.586979,
+              38.071551
+            ],
+            [
+              117.704624,
+              38.076262
+            ],
+            [
+              117.746508,
+              38.12524
+            ],
+            [
+              117.771145,
+              38.134655
+            ],
+            [
+              117.766834,
+              38.158658
+            ],
+            [
+              117.789007,
+              38.180772
+            ],
+            [
+              117.808718,
+              38.22827
+            ],
+            [
+              117.848754,
+              38.255062
+            ],
+            [
+              117.895565,
+              38.301572
+            ],
+            [
+              117.948536,
+              38.346644
+            ],
+            [
+              117.957775,
+              38.376208
+            ],
+            [
+              117.937449,
+              38.387936
+            ],
+            [
+              117.84629,
+              38.368232
+            ],
+            [
+              117.781,
+              38.373862
+            ],
+            [
+              117.730493,
+              38.424985
+            ],
+            [
+              117.72495,
+              38.457328
+            ],
+            [
+              117.678754,
+              38.477008
+            ],
+            [
+              117.644878,
+              38.52759
+            ],
+            [
+              117.68553,
+              38.539293
+            ],
+            [
+              117.638102,
+              38.54491
+            ],
+            [
+              117.639334,
+              38.626776
+            ],
+            [
+              117.55803,
+              38.613683
+            ],
+            [
+              117.47919,
+              38.616489
+            ],
+            [
+              117.432379,
+              38.601524
+            ],
+            [
+              117.368937,
+              38.564566
+            ],
+            [
+              117.25314,
+              38.556143
+            ],
+            [
+              117.238358,
+              38.580943
+            ],
+            [
+              117.258684,
+              38.608072
+            ],
+            [
+              117.258684,
+              38.608072
+            ],
+            [
+              117.213104,
+              38.639866
+            ],
+            [
+              117.213104,
+              38.639866
+            ],
+            [
+              117.183539,
+              38.61836
+            ],
+            [
+              117.183539,
+              38.61836
+            ],
+            [
+              117.150894,
+              38.617892
+            ],
+            [
+              117.109626,
+              38.584685
+            ],
+            [
+              117.070822,
+              38.608072
+            ],
+            [
+              117.055424,
+              38.639398
+            ],
+            [
+              117.068358,
+              38.680522
+            ],
+            [
+              117.038793,
+              38.688464
+            ],
+            [
+              116.95133,
+              38.689398
+            ],
+            [
+              116.948866,
+              38.689398
+            ],
+            [
+              116.950714,
+              38.689398
+            ],
+            [
+              116.95133,
+              38.689398
+            ],
+            [
+              116.950714,
+              38.689398
+            ],
+            [
+              116.948866,
+              38.689398
+            ],
+            [
+              116.877417,
+              38.680522
+            ],
+            [
+              116.858939,
+              38.741231
+            ],
+            [
+              116.794265,
+              38.744498
+            ],
+            [
+              116.794265,
+              38.744498
+            ],
+            [
+              116.746222,
+              38.754299
+            ],
+            [
+              116.737599,
+              38.784629
+            ],
+            [
+              116.75115,
+              38.831264
+            ],
+            [
+              116.723432,
+              38.852706
+            ],
+            [
+              116.722201,
+              38.896968
+            ],
+            [
+              116.708034,
+              38.931892
+            ],
+            [
+              116.72836,
+              38.975174
+            ],
+            [
+              116.754845,
+              39.003084
+            ],
+            [
+              116.754229,
+              39.034701
+            ],
+            [
+              116.754229,
+              39.034701
+            ],
+            [
+              116.783179,
+              39.05097
+            ],
+            [
+              116.783179,
+              39.05097
+            ],
+            [
+              116.812744,
+              39.05097
+            ],
+            [
+              116.812744,
+              39.05097
+            ],
+            [
+              116.871874,
+              39.054688
+            ],
+            [
+              116.912526,
+              39.110898
+            ],
+            [
+              116.91191,
+              39.111362
+            ],
+            [
+              116.91191,
+              39.111362
+            ],
+            [
+              116.912526,
+              39.110898
+            ],
+            [
+              116.909446,
+              39.150822
+            ],
+            [
+              116.870026,
+              39.153607
+            ],
+            [
+              116.855859,
+              39.215766
+            ],
+            [
+              116.881729,
+              39.225966
+            ],
+            [
+              116.881729,
+              39.225966
+            ],
+            [
+              116.87249,
+              39.291304
+            ],
+            [
+              116.889736,
+              39.338068
+            ],
+            [
+              116.870642,
+              39.357506
+            ],
+            [
+              116.829374,
+              39.338994
+            ],
+            [
+              116.818287,
+              39.3737
+            ],
+            [
+              116.840461,
+              39.378326
+            ],
+            [
+              116.839845,
+              39.413474
+            ],
+            [
+              116.876185,
+              39.43474
+            ],
+            [
+              116.832454,
+              39.435664
+            ],
+            [
+              116.785026,
+              39.465702
+            ],
+            [
+              116.820751,
+              39.482332
+            ],
+            [
+              116.819519,
+              39.528507
+            ],
+            [
+              116.78749,
+              39.554352
+            ],
+            [
+              116.808432,
+              39.576497
+            ],
+            [
+              116.812128,
+              39.615695
+            ],
+            [
+              116.79057,
+              39.595868
+            ],
+            [
+              116.748686,
+              39.619844
+            ],
+            [
+              116.709266,
+              39.618
+            ],
+            [
+              116.726512,
+              39.595407
+            ],
+            [
+              116.726512,
+              39.595407
+            ],
+            [
+              116.724048,
+              39.59264
+            ],
+            [
+              116.723432,
+              39.59264
+            ],
+            [
+              116.724048,
+              39.59264
+            ],
+            [
+              116.723432,
+              39.59264
+            ],
+            [
+              116.664918,
+              39.605552
+            ],
+            [
+              116.620571,
+              39.601863
+            ],
+            [
+              116.592237,
+              39.621227
+            ],
+            [
+              116.592237,
+              39.621227
+            ],
+            [
+              116.524484,
+              39.596329
+            ],
+            [
+              116.50847,
+              39.551122
+            ],
+            [
+              116.473361,
+              39.552968
+            ],
+            [
+              116.478289,
+              39.535431
+            ],
+            [
+              116.437637,
+              39.526661
+            ],
+            [
+              116.443796,
+              39.510041
+            ],
+            [
+              116.401912,
+              39.528046
+            ],
+            [
+              116.411767,
+              39.482794
+            ],
+            [
+              116.444412,
+              39.482332
+            ],
+            [
+              116.454883,
+              39.453226
+            ],
+            [
+              116.434557,
+              39.442597
+            ],
+            [
+              116.361876,
+              39.455074
+            ],
+            [
+              116.361876,
+              39.455074
+            ],
+            [
+              116.337854,
+              39.455536
+            ],
+            [
+              116.307057,
+              39.488337
+            ],
+            [
+              116.257782,
+              39.500344
+            ],
+            [
+              116.240536,
+              39.564041
+            ],
+            [
+              116.198652,
+              39.589412
+            ],
+            [
+              116.151841,
+              39.583416
+            ],
+            [
+              116.130283,
+              39.567732
+            ],
+            [
+              116.09887,
+              39.575113
+            ],
+            [
+              116.036044,
+              39.571884
+            ],
+            [
+              116.026189,
+              39.587567
+            ],
+            [
+              115.995392,
+              39.576958
+            ],
+            [
+              115.978146,
+              39.595868
+            ],
+            [
+              115.957204,
+              39.560812
+            ],
+            [
+              115.910393,
+              39.600479
+            ],
+            [
+              115.910393,
+              39.600479
+            ],
+            [
+              115.91532,
+              39.582955
+            ],
+            [
+              115.91532,
+              39.582955
+            ],
+            [
+              115.867893,
+              39.546507
+            ],
+            [
+              115.867893,
+              39.546507
+            ],
+            [
+              115.828473,
+              39.541431
+            ],
+            [
+              115.821081,
+              39.522968
+            ],
+            [
+              115.821081,
+              39.522968
+            ],
+            [
+              115.806299,
+              39.510041
+            ],
+            [
+              115.806299,
+              39.510041
+            ],
+            [
+              115.752712,
+              39.515581
+            ],
+            [
+              115.738545,
+              39.539585
+            ],
+            [
+              115.738545,
+              39.540046
+            ],
+            [
+              115.738545,
+              39.539585
+            ],
+            [
+              115.738545,
+              39.540046
+            ],
+            [
+              115.724995,
+              39.5442
+            ],
+            [
+              115.724995,
+              39.5442
+            ],
+            [
+              115.722531,
+              39.543738
+            ],
+            [
+              115.721299,
+              39.543738
+            ],
+            [
+              115.722531,
+              39.543738
+            ],
+            [
+              115.722531,
+              39.5442
+            ],
+            [
+              115.721299,
+              39.543738
+            ],
+            [
+              115.722531,
+              39.5442
+            ],
+            [
+              115.720683,
+              39.551122
+            ],
+            [
+              115.720683,
+              39.551122
+            ],
+            [
+              115.718835,
+              39.553891
+            ],
+            [
+              115.718835,
+              39.553891
+            ],
+            [
+              115.716988,
+              39.56035
+            ],
+            [
+              115.716988,
+              39.56035
+            ],
+            [
+              115.699125,
+              39.570039
+            ],
+            [
+              115.699125,
+              39.570039
+            ],
+            [
+              115.698509,
+              39.577881
+            ],
+            [
+              115.698509,
+              39.577881
+            ],
+            [
+              115.667712,
+              39.615234
+            ],
+            [
+              115.633836,
+              39.599557
+            ],
+            [
+              115.633836,
+              39.599557
+            ],
+            [
+              115.587024,
+              39.589873
+            ],
+            [
+              115.545756,
+              39.618922
+            ],
+            [
+              115.518039,
+              39.597252
+            ],
+            [
+              115.522351,
+              39.640124
+            ],
+            [
+              115.478619,
+              39.650723
+            ],
+            [
+              115.478619,
+              39.650723
+            ],
+            [
+              115.491554,
+              39.670074
+            ],
+            [
+              115.486626,
+              39.741899
+            ],
+            [
+              115.439815,
+              39.752022
+            ],
+            [
+              115.443511,
+              39.785601
+            ],
+            [
+              115.483547,
+              39.798477
+            ],
+            [
+              115.483547,
+              39.798477
+            ],
+            [
+              115.50572,
+              39.784222
+            ],
+            [
+              115.552532,
+              39.794799
+            ],
+            [
+              115.567314,
+              39.816407
+            ],
+            [
+              115.514344,
+              39.837549
+            ],
+            [
+              115.526046,
+              39.87568
+            ],
+            [
+              115.515575,
+              39.892212
+            ],
+            [
+              115.515575,
+              39.892212
+            ],
+            [
+              115.522967,
+              39.899099
+            ],
+            [
+              115.481083,
+              39.935819
+            ],
+            [
+              115.426264,
+              39.950502
+            ],
+            [
+              115.428728,
+              39.984443
+            ],
+            [
+              115.450286,
+              39.992697
+            ],
+            [
+              115.454597,
+              40.029825
+            ],
+            [
+              115.485394,
+              40.040364
+            ],
+            [
+              115.527278,
+              40.076092
+            ],
+            [
+              115.59072,
+              40.096239
+            ],
+            [
+              115.599959,
+              40.119583
+            ],
+            [
+              115.75456,
+              40.145663
+            ],
+            [
+              115.75456,
+              40.145663
+            ],
+            [
+              115.773654,
+              40.176307
+            ],
+            [
+              115.806299,
+              40.15344
+            ],
+            [
+              115.847567,
+              40.147036
+            ],
+            [
+              115.855574,
+              40.188652
+            ],
+            [
+              115.870356,
+              40.185909
+            ],
+            [
+              115.89869,
+              40.234354
+            ],
+            [
+              115.968907,
+              40.264045
+            ],
+            [
+              115.95166,
+              40.281852
+            ],
+            [
+              115.917784,
+              40.354405
+            ],
+            [
+              115.864197,
+              40.359422
+            ],
+            [
+              115.771806,
+              40.443734
+            ],
+            [
+              115.781045,
+              40.49336
+            ],
+            [
+              115.736082,
+              40.503372
+            ],
+            [
+              115.755176,
+              40.540221
+            ],
+            [
+              115.784741,
+              40.55841
+            ],
+            [
+              115.819849,
+              40.55932
+            ],
+            [
+              115.827857,
+              40.587504
+            ],
+            [
+              115.885139,
+              40.595229
+            ],
+            [
+              115.907929,
+              40.617493
+            ],
+            [
+              115.971986,
+              40.6025
+            ],
+            [
+              115.982457,
+              40.578868
+            ],
+            [
+              116.005247,
+              40.583868
+            ],
+            [
+              116.09887,
+              40.630665
+            ],
+            [
+              116.133979,
+              40.666536
+            ],
+            [
+              116.162928,
+              40.662451
+            ],
+            [
+              116.171551,
+              40.695582
+            ],
+            [
+              116.204812,
+              40.740035
+            ],
+            [
+              116.22021,
+              40.744115
+            ],
+            [
+              116.247311,
+              40.791707
+            ],
+            [
+              116.273181,
+              40.762703
+            ],
+            [
+              116.311369,
+              40.754996
+            ],
+            [
+              116.316912,
+              40.772221
+            ],
+            [
+              116.453651,
+              40.765876
+            ],
+            [
+              116.46597,
+              40.774487
+            ],
+            [
+              116.438253,
+              40.81934
+            ],
+            [
+              116.334159,
+              40.90443
+            ],
+            [
+              116.339702,
+              40.929303
+            ],
+            [
+              116.370499,
+              40.94377
+            ],
+            [
+              116.398216,
+              40.90624
+            ],
+            [
+              116.477057,
+              40.899907
+            ],
+            [
+              116.447492,
+              40.953715
+            ],
+            [
+              116.455499,
+              40.980828
+            ],
+            [
+              116.519557,
+              40.98128
+            ],
+            [
+              116.519557,
+              40.98128
+            ],
+            [
+              116.5676,
+              40.992574
+            ],
+            [
+              116.598397,
+              40.974503
+            ],
+            [
+              116.623034,
+              41.021026
+            ],
+            [
+              116.615643,
+              41.053076
+            ],
+            [
+              116.647672,
+              41.059394
+            ],
+            [
+              116.688324,
+              41.044501
+            ],
+            [
+              116.698795,
+              41.021477
+            ],
+            [
+              116.677853,
+              40.970888
+            ],
+            [
+              116.722201,
+              40.927495
+            ],
+            [
+              116.713577,
+              40.909858
+            ],
+            [
+              116.759773,
+              40.889954
+            ],
+            [
+              116.81336,
+              40.848319
+            ],
+            [
+              116.848468,
+              40.839264
+            ],
+            [
+              116.924229,
+              40.773581
+            ],
+            [
+              116.926692,
+              40.745022
+            ],
+            [
+              116.964881,
+              40.709647
+            ],
+            [
+              117.012308,
+              40.693767
+            ],
+            [
+              117.11209,
+              40.707379
+            ],
+            [
+              117.117018,
+              40.70012
+            ],
+            [
+              117.208177,
+              40.694675
+            ],
+            [
+              117.278394,
+              40.664267
+            ],
+            [
+              117.319662,
+              40.657911
+            ],
+            [
+              117.342451,
+              40.673799
+            ],
+            [
+              117.408973,
+              40.686961
+            ],
+            [
+              117.493973,
+              40.675161
+            ],
+            [
+              117.514914,
+              40.660181
+            ],
+            [
+              117.501364,
+              40.636569
+            ],
+            [
+              117.467487,
+              40.649738
+            ],
+            [
+              117.467487,
+              40.649738
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.210024,
+              40.082045
+            ],
+            [
+              117.204481,
+              40.069681
+            ],
+            [
+              117.159517,
+              40.077008
+            ],
+            [
+              117.140423,
+              40.064185
+            ],
+            [
+              117.105315,
+              40.074261
+            ],
+            [
+              117.105315,
+              40.074261
+            ],
+            [
+              117.051728,
+              40.059605
+            ],
+            [
+              117.025243,
+              40.030283
+            ],
+            [
+              116.945171,
+              40.04128
+            ],
+            [
+              116.927924,
+              40.055024
+            ],
+            [
+              116.867562,
+              40.041739
+            ],
+            [
+              116.831222,
+              40.051359
+            ],
+            [
+              116.820135,
+              40.02845
+            ],
+            [
+              116.781331,
+              40.034866
+            ],
+            [
+              116.757925,
+              39.967934
+            ],
+            [
+              116.782563,
+              39.947749
+            ],
+            [
+              116.78441,
+              39.891294
+            ],
+            [
+              116.812128,
+              39.889916
+            ],
+            [
+              116.865714,
+              39.843982
+            ],
+            [
+              116.907598,
+              39.832494
+            ],
+            [
+              116.918069,
+              39.84628
+            ],
+            [
+              116.949482,
+              39.778703
+            ],
+            [
+              116.902055,
+              39.763523
+            ],
+            [
+              116.916837,
+              39.731314
+            ],
+            [
+              116.887272,
+              39.72533
+            ],
+            [
+              116.889736,
+              39.687576
+            ],
+            [
+              116.90575,
+              39.688037
+            ],
+            [
+              116.932236,
+              39.706456
+            ],
+            [
+              116.932236,
+              39.706456
+            ],
+            [
+              116.944555,
+              39.695405
+            ],
+            [
+              116.944555,
+              39.695405
+            ],
+            [
+              116.948866,
+              39.680668
+            ],
+            [
+              116.948866,
+              39.680668
+            ],
+            [
+              116.964265,
+              39.64335
+            ],
+            [
+              116.983359,
+              39.638742
+            ],
+            [
+              116.983359,
+              39.638742
+            ],
+            [
+              117.016004,
+              39.653949
+            ],
+            [
+              117.10901,
+              39.625375
+            ],
+            [
+              117.10901,
+              39.625375
+            ],
+            [
+              117.152742,
+              39.623532
+            ],
+            [
+              117.177996,
+              39.645194
+            ],
+            [
+              117.165061,
+              39.718886
+            ],
+            [
+              117.165061,
+              39.718886
+            ],
+            [
+              117.161981,
+              39.748801
+            ],
+            [
+              117.205713,
+              39.763984
+            ],
+            [
+              117.15767,
+              39.796638
+            ],
+            [
+              117.156438,
+              39.817326
+            ],
+            [
+              117.192162,
+              39.832953
+            ],
+            [
+              117.251908,
+              39.834332
+            ],
+            [
+              117.247597,
+              39.860981
+            ],
+            [
+              117.227887,
+              39.852712
+            ],
+            [
+              117.162597,
+              39.876598
+            ],
+            [
+              117.162597,
+              39.876598
+            ],
+            [
+              117.150894,
+              39.944996
+            ],
+            [
+              117.198322,
+              39.992697
+            ],
+            [
+              117.192162,
+              40.066475
+            ],
+            [
+              117.210024,
+              40.082045
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.784696,
+              39.376938
+            ],
+            [
+              117.765602,
+              39.400527
+            ],
+            [
+              117.699696,
+              39.407463
+            ],
+            [
+              117.673211,
+              39.386652
+            ],
+            [
+              117.668899,
+              39.412087
+            ],
+            [
+              117.614081,
+              39.407001
+            ],
+            [
+              117.601146,
+              39.419485
+            ],
+            [
+              117.570965,
+              39.404689
+            ],
+            [
+              117.521074,
+              39.357043
+            ],
+            [
+              117.536472,
+              39.338068
+            ],
+            [
+              117.594987,
+              39.349176
+            ],
+            [
+              117.669515,
+              39.322792
+            ],
+            [
+              117.670747,
+              39.357969
+            ],
+            [
+              117.74466,
+              39.354729
+            ],
+            [
+              117.784696,
+              39.376938
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              118.869365,
+              39.142932
+            ],
+            [
+              118.82009,
+              39.108576
+            ],
+            [
+              118.857662,
+              39.098824
+            ],
+            [
+              118.869365,
+              39.142932
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 14e4,
+      name: "山西省",
+      center: [
+        112.549248,
+        37.857014
+      ],
+      centroid: [
+        112.304436,
+        37.618179
+      ],
+      childrenNum: 11,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 3,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              110.379257,
+              34.600612
+            ],
+            [
+              110.424837,
+              34.588295
+            ],
+            [
+              110.488279,
+              34.610956
+            ],
+            [
+              110.533242,
+              34.583368
+            ],
+            [
+              110.610851,
+              34.607508
+            ],
+            [
+              110.710017,
+              34.605045
+            ],
+            [
+              110.749437,
+              34.65232
+            ],
+            [
+              110.791937,
+              34.649858
+            ],
+            [
+              110.824582,
+              34.615881
+            ],
+            [
+              110.883712,
+              34.64395
+            ],
+            [
+              110.903422,
+              34.669056
+            ],
+            [
+              110.920052,
+              34.730068
+            ],
+            [
+              110.976103,
+              34.706456
+            ],
+            [
+              111.035233,
+              34.740887
+            ],
+            [
+              111.118385,
+              34.756623
+            ],
+            [
+              111.148566,
+              34.807742
+            ],
+            [
+              111.232949,
+              34.789559
+            ],
+            [
+              111.255123,
+              34.819535
+            ],
+            [
+              111.29208,
+              34.806759
+            ],
+            [
+              111.345666,
+              34.831816
+            ],
+            [
+              111.389398,
+              34.815113
+            ],
+            [
+              111.439289,
+              34.838202
+            ],
+            [
+              111.502731,
+              34.829851
+            ],
+            [
+              111.543999,
+              34.853428
+            ],
+            [
+              111.570484,
+              34.843114
+            ],
+            [
+              111.592042,
+              34.881416
+            ],
+            [
+              111.617911,
+              34.894671
+            ],
+            [
+              111.646861,
+              34.938836
+            ],
+            [
+              111.681969,
+              34.9511
+            ],
+            [
+              111.664107,
+              34.984449
+            ],
+            [
+              111.740483,
+              35.00455
+            ],
+            [
+              111.807005,
+              35.032977
+            ],
+            [
+              111.810084,
+              35.062374
+            ],
+            [
+              111.933272,
+              35.083435
+            ],
+            [
+              111.97762,
+              35.067272
+            ],
+            [
+              112.018888,
+              35.068742
+            ],
+            [
+              112.039214,
+              35.045717
+            ],
+            [
+              112.062004,
+              35.056005
+            ],
+            [
+              112.05646,
+              35.098615
+            ],
+            [
+              112.066315,
+              35.153437
+            ],
+            [
+              112.03983,
+              35.194039
+            ],
+            [
+              112.078634,
+              35.219467
+            ],
+            [
+              112.058924,
+              35.280069
+            ],
+            [
+              112.13838,
+              35.271275
+            ],
+            [
+              112.21722,
+              35.253195
+            ],
+            [
+              112.242474,
+              35.234622
+            ],
+            [
+              112.304684,
+              35.251728
+            ],
+            [
+              112.288053,
+              35.219956
+            ],
+            [
+              112.36751,
+              35.219956
+            ],
+            [
+              112.390915,
+              35.239021
+            ],
+            [
+              112.513487,
+              35.218489
+            ],
+            [
+              112.637291,
+              35.225822
+            ],
+            [
+              112.628052,
+              35.263457
+            ],
+            [
+              112.720443,
+              35.206265
+            ],
+            [
+              112.772798,
+              35.207732
+            ],
+            [
+              112.822073,
+              35.258082
+            ],
+            [
+              112.884283,
+              35.243909
+            ],
+            [
+              112.934174,
+              35.262968
+            ],
+            [
+              112.936022,
+              35.284466
+            ],
+            [
+              112.992072,
+              35.29619
+            ],
+            [
+              112.985913,
+              35.33965
+            ],
+            [
+              112.996384,
+              35.362104
+            ],
+            [
+              113.067217,
+              35.353806
+            ],
+            [
+              113.126347,
+              35.332327
+            ],
+            [
+              113.149137,
+              35.350878
+            ],
+            [
+              113.165151,
+              35.412845
+            ],
+            [
+              113.185477,
+              35.409431
+            ],
+            [
+              113.189789,
+              35.44893
+            ],
+            [
+              113.243375,
+              35.449418
+            ],
+            [
+              113.304353,
+              35.426989
+            ],
+            [
+              113.31236,
+              35.481101
+            ],
+            [
+              113.348085,
+              35.468429
+            ],
+            [
+              113.391817,
+              35.506925
+            ],
+            [
+              113.439244,
+              35.507412
+            ],
+            [
+              113.49899,
+              35.532254
+            ],
+            [
+              113.513773,
+              35.57364
+            ],
+            [
+              113.55812,
+              35.621816
+            ],
+            [
+              113.547649,
+              35.656835
+            ],
+            [
+              113.578446,
+              35.633491
+            ],
+            [
+              113.625258,
+              35.632518
+            ],
+            [
+              113.622794,
+              35.674825
+            ],
+            [
+              113.592613,
+              35.691838
+            ],
+            [
+              113.587685,
+              35.736542
+            ],
+            [
+              113.604932,
+              35.797727
+            ],
+            [
+              113.582758,
+              35.818111
+            ],
+            [
+              113.660982,
+              35.837035
+            ],
+            [
+              113.637576,
+              35.870019
+            ],
+            [
+              113.654207,
+              35.931586
+            ],
+            [
+              113.648663,
+              35.994073
+            ],
+            [
+              113.678844,
+              35.985841
+            ],
+            [
+              113.694859,
+              36.026991
+            ],
+            [
+              113.660366,
+              36.034735
+            ],
+            [
+              113.68562,
+              36.056026
+            ],
+            [
+              113.671453,
+              36.115514
+            ],
+            [
+              113.655439,
+              36.125182
+            ],
+            [
+              113.712721,
+              36.129533
+            ],
+            [
+              113.705946,
+              36.148865
+            ],
+            [
+              113.651127,
+              36.174473
+            ],
+            [
+              113.697939,
+              36.181719
+            ],
+            [
+              113.681924,
+              36.216491
+            ],
+            [
+              113.716417,
+              36.262347
+            ],
+            [
+              113.712105,
+              36.303353
+            ],
+            [
+              113.736127,
+              36.324571
+            ],
+            [
+              113.731199,
+              36.363135
+            ],
+            [
+              113.708409,
+              36.423352
+            ],
+            [
+              113.670221,
+              36.425278
+            ],
+            [
+              113.635729,
+              36.451277
+            ],
+            [
+              113.587069,
+              36.460904
+            ],
+            [
+              113.554425,
+              36.494589
+            ],
+            [
+              113.559968,
+              36.528741
+            ],
+            [
+              113.588917,
+              36.547974
+            ],
+            [
+              113.569823,
+              36.585947
+            ],
+            [
+              113.539642,
+              36.594116
+            ],
+            [
+              113.54457,
+              36.62342
+            ],
+            [
+              113.486671,
+              36.635427
+            ],
+            [
+              113.476816,
+              36.655114
+            ],
+            [
+              113.506997,
+              36.705029
+            ],
+            [
+              113.465113,
+              36.707908
+            ],
+            [
+              113.499606,
+              36.740527
+            ],
+            [
+              113.535946,
+              36.732373
+            ],
+            [
+              113.549497,
+              36.752515
+            ],
+            [
+              113.600004,
+              36.752995
+            ],
+            [
+              113.680692,
+              36.789907
+            ],
+            [
+              113.676381,
+              36.855539
+            ],
+            [
+              113.696707,
+              36.882351
+            ],
+            [
+              113.731815,
+              36.878521
+            ],
+            [
+              113.731815,
+              36.858891
+            ],
+            [
+              113.773083,
+              36.85506
+            ],
+            [
+              113.792793,
+              36.894796
+            ],
+            [
+              113.76138,
+              36.956034
+            ],
+            [
+              113.791561,
+              36.98759
+            ],
+            [
+              113.771851,
+              37.016745
+            ],
+            [
+              113.788482,
+              37.059739
+            ],
+            [
+              113.758301,
+              37.075497
+            ],
+            [
+              113.773699,
+              37.107004
+            ],
+            [
+              113.773083,
+              37.151855
+            ],
+            [
+              113.832213,
+              37.167594
+            ],
+            [
+              113.853155,
+              37.215269
+            ],
+            [
+              113.886416,
+              37.239095
+            ],
+            [
+              113.90243,
+              37.310052
+            ],
+            [
+              113.962792,
+              37.355734
+            ],
+            [
+              113.973879,
+              37.40329
+            ],
+            [
+              114.014531,
+              37.42468
+            ],
+            [
+              114.036705,
+              37.494037
+            ],
+            [
+              114.118625,
+              37.59084
+            ],
+            [
+              114.115545,
+              37.619761
+            ],
+            [
+              114.139567,
+              37.675676
+            ],
+            [
+              114.12848,
+              37.698409
+            ],
+            [
+              114.068118,
+              37.721608
+            ],
+            [
+              113.993589,
+              37.706932
+            ],
+            [
+              113.996669,
+              37.730128
+            ],
+            [
+              114.044712,
+              37.761834
+            ],
+            [
+              114.006524,
+              37.813386
+            ],
+            [
+              113.976959,
+              37.816696
+            ],
+            [
+              113.959097,
+              37.906468
+            ],
+            [
+              113.936307,
+              37.922993
+            ],
+            [
+              113.901198,
+              37.984811
+            ],
+            [
+              113.872249,
+              37.990471
+            ],
+            [
+              113.876561,
+              38.055059
+            ],
+            [
+              113.811271,
+              38.117707
+            ],
+            [
+              113.831597,
+              38.16854
+            ],
+            [
+              113.797105,
+              38.162894
+            ],
+            [
+              113.720728,
+              38.174656
+            ],
+            [
+              113.711489,
+              38.213695
+            ],
+            [
+              113.678844,
+              38.20523
+            ],
+            [
+              113.64312,
+              38.232031
+            ],
+            [
+              113.598772,
+              38.22733
+            ],
+            [
+              113.570439,
+              38.237202
+            ],
+            [
+              113.54457,
+              38.270569
+            ],
+            [
+              113.557504,
+              38.343359
+            ],
+            [
+              113.525475,
+              38.383245
+            ],
+            [
+              113.537794,
+              38.417952
+            ],
+            [
+              113.583374,
+              38.459671
+            ],
+            [
+              113.546417,
+              38.492936
+            ],
+            [
+              113.561816,
+              38.558483
+            ],
+            [
+              113.603084,
+              38.587024
+            ],
+            [
+              113.612939,
+              38.645942
+            ],
+            [
+              113.70225,
+              38.651551
+            ],
+            [
+              113.720728,
+              38.713218
+            ],
+            [
+              113.775547,
+              38.709949
+            ],
+            [
+              113.802648,
+              38.763166
+            ],
+            [
+              113.839605,
+              38.7585
+            ],
+            [
+              113.836525,
+              38.795824
+            ],
+            [
+              113.855619,
+              38.828933
+            ],
+            [
+              113.795257,
+              38.860628
+            ],
+            [
+              113.776163,
+              38.885788
+            ],
+            [
+              113.76754,
+              38.959819
+            ],
+            [
+              113.776779,
+              38.986804
+            ],
+            [
+              113.80696,
+              38.989595
+            ],
+            [
+              113.898119,
+              39.067699
+            ],
+            [
+              113.930148,
+              39.063517
+            ],
+            [
+              113.961561,
+              39.100681
+            ],
+            [
+              113.994821,
+              39.095572
+            ],
+            [
+              114.006524,
+              39.122971
+            ],
+            [
+              114.050872,
+              39.135969
+            ],
+            [
+              114.064422,
+              39.094179
+            ],
+            [
+              114.082901,
+              39.09325
+            ],
+            [
+              114.082901,
+              39.09325
+            ],
+            [
+              114.10877,
+              39.052364
+            ],
+            [
+              114.157429,
+              39.061194
+            ],
+            [
+              114.180835,
+              39.049111
+            ],
+            [
+              114.252284,
+              39.073739
+            ],
+            [
+              114.345907,
+              39.075133
+            ],
+            [
+              114.369928,
+              39.107648
+            ],
+            [
+              114.360689,
+              39.134112
+            ],
+            [
+              114.388406,
+              39.176807
+            ],
+            [
+              114.443841,
+              39.174023
+            ],
+            [
+              114.47587,
+              39.21623
+            ],
+            [
+              114.416124,
+              39.242654
+            ],
+            [
+              114.437066,
+              39.259337
+            ],
+            [
+              114.430906,
+              39.307513
+            ],
+            [
+              114.466631,
+              39.329736
+            ],
+            [
+              114.469095,
+              39.400989
+            ],
+            [
+              114.496812,
+              39.438437
+            ],
+            [
+              114.501739,
+              39.476789
+            ],
+            [
+              114.532536,
+              39.486027
+            ],
+            [
+              114.568877,
+              39.573729
+            ],
+            [
+              114.51529,
+              39.564964
+            ],
+            [
+              114.49558,
+              39.608318
+            ],
+            [
+              114.431522,
+              39.613851
+            ],
+            [
+              114.408117,
+              39.652106
+            ],
+            [
+              114.409964,
+              39.761683
+            ],
+            [
+              114.41674,
+              39.775943
+            ],
+            [
+              114.390254,
+              39.819165
+            ],
+            [
+              114.406885,
+              39.833413
+            ],
+            [
+              114.395182,
+              39.867412
+            ],
+            [
+              114.285545,
+              39.858225
+            ],
+            [
+              114.286776,
+              39.871087
+            ],
+            [
+              114.215943,
+              39.8619
+            ],
+            [
+              114.204241,
+              39.885324
+            ],
+            [
+              114.229494,
+              39.899558
+            ],
+            [
+              114.212248,
+              39.918839
+            ],
+            [
+              114.17406,
+              39.897722
+            ],
+            [
+              114.067502,
+              39.922511
+            ],
+            [
+              114.047176,
+              39.916085
+            ],
+            [
+              114.028082,
+              39.959218
+            ],
+            [
+              114.029314,
+              39.985819
+            ],
+            [
+              113.910438,
+              40.015618
+            ],
+            [
+              113.959097,
+              40.033491
+            ],
+            [
+              113.989278,
+              40.11226
+            ],
+            [
+              114.018227,
+              40.103563
+            ],
+            [
+              114.045944,
+              40.056856
+            ],
+            [
+              114.086596,
+              40.071513
+            ],
+            [
+              114.101995,
+              40.099901
+            ],
+            [
+              114.073046,
+              40.168533
+            ],
+            [
+              114.073046,
+              40.168533
+            ],
+            [
+              114.097683,
+              40.193681
+            ],
+            [
+              114.135871,
+              40.175392
+            ],
+            [
+              114.180219,
+              40.191395
+            ],
+            [
+              114.235654,
+              40.198252
+            ],
+            [
+              114.255364,
+              40.236182
+            ],
+            [
+              114.292936,
+              40.230242
+            ],
+            [
+              114.362537,
+              40.249886
+            ],
+            [
+              114.406269,
+              40.246232
+            ],
+            [
+              114.46971,
+              40.268155
+            ],
+            [
+              114.510978,
+              40.302851
+            ],
+            [
+              114.530688,
+              40.345283
+            ],
+            [
+              114.481413,
+              40.34802
+            ],
+            [
+              114.438914,
+              40.371733
+            ],
+            [
+              114.390254,
+              40.351213
+            ],
+            [
+              114.381015,
+              40.36307
+            ],
+            [
+              114.31203,
+              40.372645
+            ],
+            [
+              114.286161,
+              40.425057
+            ],
+            [
+              114.299711,
+              40.44009
+            ],
+            [
+              114.267066,
+              40.474242
+            ],
+            [
+              114.282465,
+              40.494725
+            ],
+            [
+              114.293552,
+              40.55159
+            ],
+            [
+              114.273842,
+              40.552954
+            ],
+            [
+              114.283081,
+              40.590685
+            ],
+            [
+              114.236269,
+              40.607043
+            ],
+            [
+              114.183299,
+              40.67153
+            ],
+            [
+              114.162357,
+              40.71373
+            ],
+            [
+              114.134639,
+              40.737314
+            ],
+            [
+              114.084748,
+              40.729605
+            ],
+            [
+              114.063806,
+              40.706925
+            ],
+            [
+              114.07243,
+              40.679246
+            ],
+            [
+              114.041633,
+              40.608861
+            ],
+            [
+              114.076741,
+              40.575686
+            ],
+            [
+              114.080437,
+              40.547952
+            ],
+            [
+              114.061959,
+              40.52885
+            ],
+            [
+              114.011452,
+              40.515657
+            ],
+            [
+              113.948626,
+              40.514747
+            ],
+            [
+              113.890112,
+              40.466503
+            ],
+            [
+              113.850691,
+              40.460583
+            ],
+            [
+              113.794641,
+              40.517932
+            ],
+            [
+              113.763228,
+              40.473787
+            ],
+            [
+              113.688699,
+              40.448288
+            ],
+            [
+              113.559968,
+              40.348476
+            ],
+            [
+              113.500222,
+              40.334335
+            ],
+            [
+              113.387505,
+              40.319279
+            ],
+            [
+              113.316672,
+              40.319736
+            ],
+            [
+              113.27602,
+              40.388601
+            ],
+            [
+              113.251382,
+              40.413211
+            ],
+            [
+              113.083231,
+              40.374925
+            ],
+            [
+              113.03334,
+              40.368997
+            ],
+            [
+              112.898449,
+              40.329317
+            ],
+            [
+              112.848558,
+              40.206937
+            ],
+            [
+              112.744464,
+              40.167161
+            ],
+            [
+              112.712436,
+              40.178593
+            ],
+            [
+              112.6299,
+              40.235725
+            ],
+            [
+              112.511639,
+              40.269068
+            ],
+            [
+              112.456205,
+              40.300112
+            ],
+            [
+              112.418017,
+              40.295091
+            ],
+            [
+              112.349031,
+              40.257194
+            ],
+            [
+              112.310227,
+              40.256281
+            ],
+            [
+              112.299756,
+              40.21105
+            ],
+            [
+              112.232619,
+              40.169905
+            ],
+            [
+              112.232003,
+              40.133311
+            ],
+            [
+              112.183344,
+              40.083877
+            ],
+            [
+              112.182112,
+              40.061437
+            ],
+            [
+              112.142076,
+              40.027076
+            ],
+            [
+              112.133453,
+              40.001866
+            ],
+            [
+              112.07617,
+              39.919298
+            ],
+            [
+              112.042294,
+              39.886243
+            ],
+            [
+              112.012729,
+              39.827438
+            ],
+            [
+              111.970229,
+              39.796638
+            ],
+            [
+              111.959758,
+              39.692642
+            ],
+            [
+              111.925265,
+              39.66731
+            ],
+            [
+              111.9382,
+              39.623071
+            ],
+            [
+              111.87907,
+              39.606013
+            ],
+            [
+              111.842729,
+              39.620305
+            ],
+            [
+              111.783599,
+              39.58895
+            ],
+            [
+              111.722621,
+              39.606013
+            ],
+            [
+              111.659179,
+              39.641507
+            ],
+            [
+              111.625303,
+              39.633672
+            ],
+            [
+              111.525521,
+              39.662242
+            ],
+            [
+              111.497187,
+              39.661781
+            ],
+            [
+              111.445448,
+              39.640124
+            ],
+            [
+              111.460847,
+              39.606935
+            ],
+            [
+              111.441137,
+              39.59679
+            ],
+            [
+              111.422043,
+              39.539123
+            ],
+            [
+              111.431282,
+              39.508656
+            ],
+            [
+              111.372152,
+              39.479099
+            ],
+            [
+              111.358601,
+              39.432428
+            ],
+            [
+              111.337043,
+              39.420872
+            ],
+            [
+              111.171971,
+              39.423183
+            ],
+            [
+              111.143022,
+              39.407926
+            ],
+            [
+              111.125776,
+              39.366297
+            ],
+            [
+              111.159037,
+              39.362596
+            ],
+            [
+              111.155341,
+              39.338531
+            ],
+            [
+              111.186138,
+              39.35149
+            ],
+            [
+              111.179363,
+              39.326959
+            ],
+            [
+              111.202152,
+              39.305197
+            ],
+            [
+              111.247732,
+              39.302419
+            ],
+            [
+              111.213239,
+              39.257021
+            ],
+            [
+              111.219399,
+              39.244044
+            ],
+            [
+              111.163348,
+              39.152678
+            ],
+            [
+              111.173819,
+              39.135041
+            ],
+            [
+              111.147334,
+              39.100681
+            ],
+            [
+              111.138095,
+              39.064447
+            ],
+            [
+              111.094363,
+              39.030053
+            ],
+            [
+              111.038313,
+              39.020289
+            ],
+            [
+              110.998276,
+              38.998433
+            ],
+            [
+              110.980414,
+              38.970056
+            ],
+            [
+              111.009979,
+              38.932823
+            ],
+            [
+              111.016755,
+              38.889981
+            ],
+            [
+              110.995813,
+              38.868084
+            ],
+            [
+              111.009363,
+              38.847579
+            ],
+            [
+              110.965016,
+              38.755699
+            ],
+            [
+              110.915125,
+              38.704345
+            ],
+            [
+              110.916357,
+              38.673981
+            ],
+            [
+              110.880632,
+              38.626776
+            ],
+            [
+              110.898494,
+              38.587024
+            ],
+            [
+              110.920052,
+              38.581878
+            ],
+            [
+              110.907733,
+              38.521035
+            ],
+            [
+              110.870777,
+              38.510265
+            ],
+            [
+              110.874473,
+              38.453579
+            ],
+            [
+              110.840596,
+              38.439986
+            ],
+            [
+              110.796864,
+              38.453579
+            ],
+            [
+              110.77777,
+              38.440924
+            ],
+            [
+              110.746973,
+              38.366355
+            ],
+            [
+              110.701394,
+              38.353215
+            ],
+            [
+              110.661358,
+              38.308617
+            ],
+            [
+              110.601612,
+              38.308147
+            ],
+            [
+              110.57759,
+              38.297345
+            ],
+            [
+              110.565887,
+              38.215105
+            ],
+            [
+              110.528315,
+              38.211814
+            ],
+            [
+              110.509221,
+              38.192061
+            ],
+            [
+              110.519692,
+              38.130889
+            ],
+            [
+              110.501829,
+              38.097929
+            ],
+            [
+              110.507989,
+              38.013107
+            ],
+            [
+              110.528315,
+              37.990471
+            ],
+            [
+              110.522771,
+              37.955088
+            ],
+            [
+              110.59422,
+              37.922049
+            ],
+            [
+              110.680452,
+              37.790216
+            ],
+            [
+              110.735886,
+              37.77035
+            ],
+            [
+              110.750669,
+              37.736281
+            ],
+            [
+              110.716792,
+              37.728708
+            ],
+            [
+              110.706321,
+              37.705511
+            ],
+            [
+              110.775306,
+              37.680886
+            ],
+            [
+              110.793169,
+              37.650567
+            ],
+            [
+              110.763604,
+              37.639668
+            ],
+            [
+              110.771611,
+              37.594634
+            ],
+            [
+              110.795017,
+              37.558586
+            ],
+            [
+              110.770995,
+              37.538184
+            ],
+            [
+              110.759292,
+              37.474567
+            ],
+            [
+              110.740198,
+              37.44939
+            ],
+            [
+              110.644111,
+              37.435135
+            ],
+            [
+              110.630561,
+              37.372858
+            ],
+            [
+              110.641648,
+              37.360015
+            ],
+            [
+              110.695234,
+              37.34955
+            ],
+            [
+              110.678604,
+              37.317668
+            ],
+            [
+              110.690307,
+              37.287201
+            ],
+            [
+              110.661974,
+              37.281963
+            ],
+            [
+              110.651503,
+              37.256722
+            ],
+            [
+              110.590525,
+              37.187145
+            ],
+            [
+              110.53509,
+              37.138021
+            ],
+            [
+              110.535706,
+              37.115118
+            ],
+            [
+              110.49567,
+              37.086956
+            ],
+            [
+              110.460561,
+              37.044932
+            ],
+            [
+              110.417446,
+              37.027257
+            ],
+            [
+              110.426685,
+              37.008621
+            ],
+            [
+              110.382953,
+              37.022001
+            ],
+            [
+              110.381721,
+              37.002408
+            ],
+            [
+              110.424221,
+              36.963685
+            ],
+            [
+              110.408823,
+              36.892403
+            ],
+            [
+              110.376178,
+              36.882351
+            ],
+            [
+              110.424221,
+              36.855539
+            ],
+            [
+              110.406975,
+              36.824886
+            ],
+            [
+              110.423605,
+              36.818179
+            ],
+            [
+              110.407591,
+              36.776007
+            ],
+            [
+              110.447011,
+              36.737649
+            ],
+            [
+              110.438388,
+              36.685835
+            ],
+            [
+              110.402663,
+              36.697352
+            ],
+            [
+              110.394656,
+              36.676716
+            ],
+            [
+              110.426685,
+              36.657514
+            ],
+            [
+              110.447627,
+              36.621018
+            ],
+            [
+              110.496902,
+              36.582102
+            ],
+            [
+              110.488895,
+              36.556628
+            ],
+            [
+              110.503677,
+              36.488335
+            ],
+            [
+              110.47288,
+              36.453203
+            ],
+            [
+              110.489511,
+              36.430094
+            ],
+            [
+              110.487047,
+              36.393972
+            ],
+            [
+              110.459946,
+              36.327946
+            ],
+            [
+              110.474112,
+              36.306729
+            ],
+            [
+              110.474112,
+              36.248352
+            ],
+            [
+              110.45625,
+              36.22663
+            ],
+            [
+              110.447011,
+              36.164328
+            ],
+            [
+              110.467953,
+              36.074893
+            ],
+            [
+              110.491974,
+              36.034735
+            ],
+            [
+              110.49259,
+              35.994073
+            ],
+            [
+              110.516612,
+              35.971796
+            ],
+            [
+              110.502445,
+              35.947575
+            ],
+            [
+              110.516612,
+              35.918501
+            ],
+            [
+              110.511684,
+              35.879718
+            ],
+            [
+              110.549257,
+              35.877778
+            ],
+            [
+              110.550489,
+              35.838005
+            ],
+            [
+              110.571431,
+              35.800639
+            ],
+            [
+              110.57759,
+              35.701559
+            ],
+            [
+              110.609619,
+              35.632031
+            ],
+            [
+              110.589293,
+              35.602355
+            ],
+            [
+              110.567735,
+              35.539559
+            ],
+            [
+              110.531394,
+              35.511309
+            ],
+            [
+              110.477808,
+              35.413821
+            ],
+            [
+              110.45009,
+              35.327933
+            ],
+            [
+              110.374946,
+              35.251728
+            ],
+            [
+              110.378642,
+              35.210666
+            ],
+            [
+              110.364475,
+              35.197952
+            ],
+            [
+              110.373714,
+              35.134351
+            ],
+            [
+              110.320743,
+              35.00504
+            ],
+            [
+              110.262229,
+              34.944233
+            ],
+            [
+              110.230816,
+              34.880925
+            ],
+            [
+              110.246831,
+              34.789068
+            ],
+            [
+              110.243135,
+              34.725641
+            ],
+            [
+              110.229584,
+              34.692679
+            ],
+            [
+              110.269004,
+              34.629671
+            ],
+            [
+              110.29549,
+              34.610956
+            ],
+            [
+              110.379257,
+              34.600612
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 15e4,
+      name: "内蒙古自治区",
+      center: [
+        111.670801,
+        40.818311
+      ],
+      centroid: [
+        114.077429,
+        44.331087
+      ],
+      childrenNum: 12,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 4,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "Polygon",
+      coordinates: [
+        [
+          [
+            97.172903,
+            42.795257
+          ],
+          [
+            97.371235,
+            42.457076
+          ],
+          [
+            97.500582,
+            42.243894
+          ],
+          [
+            97.653335,
+            41.986856
+          ],
+          [
+            97.84674,
+            41.656379
+          ],
+          [
+            97.613915,
+            41.477276
+          ],
+          [
+            97.629314,
+            41.440498
+          ],
+          [
+            97.903407,
+            41.168057
+          ],
+          [
+            97.971776,
+            41.09774
+          ],
+          [
+            98.142391,
+            41.001607
+          ],
+          [
+            98.184891,
+            40.988056
+          ],
+          [
+            98.25018,
+            40.93925
+          ],
+          [
+            98.333332,
+            40.918903
+          ],
+          [
+            98.344419,
+            40.568413
+          ],
+          [
+            98.627751,
+            40.677884
+          ],
+          [
+            98.569853,
+            40.746836
+          ],
+          [
+            98.668403,
+            40.773128
+          ],
+          [
+            98.689345,
+            40.691952
+          ],
+          [
+            98.72199,
+            40.657911
+          ],
+          [
+            98.762642,
+            40.639748
+          ],
+          [
+            98.802678,
+            40.607043
+          ],
+          [
+            98.80699,
+            40.660181
+          ],
+          [
+            98.790975,
+            40.705564
+          ],
+          [
+            98.984996,
+            40.782644
+          ],
+          [
+            99.041662,
+            40.693767
+          ],
+          [
+            99.102025,
+            40.676522
+          ],
+          [
+            99.12543,
+            40.715091
+          ],
+          [
+            99.172858,
+            40.747289
+          ],
+          [
+            99.174705,
+            40.858278
+          ],
+          [
+            99.565827,
+            40.846961
+          ],
+          [
+            99.673,
+            40.93292
+          ],
+          [
+            99.985897,
+            40.909858
+          ],
+          [
+            100.057346,
+            40.908049
+          ],
+          [
+            100.107853,
+            40.875475
+          ],
+          [
+            100.224882,
+            40.727337
+          ],
+          [
+            100.237201,
+            40.716905
+          ],
+          [
+            100.242744,
+            40.618855
+          ],
+          [
+            100.169447,
+            40.541131
+          ],
+          [
+            100.169447,
+            40.277743
+          ],
+          [
+            100.007455,
+            40.20008
+          ],
+          [
+            99.955716,
+            40.150695
+          ],
+          [
+            99.927383,
+            40.063727
+          ],
+          [
+            99.841152,
+            40.013326
+          ],
+          [
+            99.751225,
+            40.006909
+          ],
+          [
+            99.714268,
+            39.972061
+          ],
+          [
+            99.533182,
+            39.891753
+          ],
+          [
+            99.491298,
+            39.884406
+          ],
+          [
+            99.459885,
+            39.898181
+          ],
+          [
+            99.440791,
+            39.885783
+          ],
+          [
+            99.469124,
+            39.875221
+          ],
+          [
+            99.672384,
+            39.888079
+          ],
+          [
+            99.822058,
+            39.860063
+          ],
+          [
+            99.904593,
+            39.785601
+          ],
+          [
+            99.958796,
+            39.769504
+          ],
+          [
+            100.040716,
+            39.757083
+          ],
+          [
+            100.128179,
+            39.702312
+          ],
+          [
+            100.250135,
+            39.685274
+          ],
+          [
+            100.314193,
+            39.606935
+          ],
+          [
+            100.301258,
+            39.572345
+          ],
+          [
+            100.326512,
+            39.509118
+          ],
+          [
+            100.44354,
+            39.485565
+          ],
+          [
+            100.500823,
+            39.481408
+          ],
+          [
+            100.498975,
+            39.400527
+          ],
+          [
+            100.606764,
+            39.387577
+          ],
+          [
+            100.707778,
+            39.404689
+          ],
+          [
+            100.842053,
+            39.405614
+          ],
+          [
+            100.842669,
+            39.199999
+          ],
+          [
+            100.864227,
+            39.106719
+          ],
+          [
+            100.829118,
+            39.075133
+          ],
+          [
+            100.835278,
+            39.025869
+          ],
+          [
+            100.875314,
+            39.002619
+          ],
+          [
+            100.901799,
+            39.030053
+          ],
+          [
+            100.961545,
+            39.005874
+          ],
+          [
+            100.969553,
+            38.946788
+          ],
+          [
+            101.117378,
+            38.975174
+          ],
+          [
+            101.228863,
+            39.020754
+          ],
+          [
+            101.198682,
+            38.943064
+          ],
+          [
+            101.237486,
+            38.907214
+          ],
+          [
+            101.24303,
+            38.860628
+          ],
+          [
+            101.33542,
+            38.847113
+          ],
+          [
+            101.34158,
+            38.822406
+          ],
+          [
+            101.307087,
+            38.80282
+          ],
+          [
+            101.331109,
+            38.777164
+          ],
+          [
+            101.412413,
+            38.764099
+          ],
+          [
+            101.562702,
+            38.713218
+          ],
+          [
+            101.601506,
+            38.65529
+          ],
+          [
+            101.672955,
+            38.6908
+          ],
+          [
+            101.777049,
+            38.66043
+          ],
+          [
+            101.873751,
+            38.733761
+          ],
+          [
+            101.941505,
+            38.808883
+          ],
+          [
+            102.075164,
+            38.891378
+          ],
+          [
+            102.045599,
+            38.904885
+          ],
+          [
+            101.955055,
+            38.985874
+          ],
+          [
+            101.926106,
+            39.000758
+          ],
+          [
+            101.833715,
+            39.08907
+          ],
+          [
+            101.902701,
+            39.111827
+          ],
+          [
+            102.012338,
+            39.127149
+          ],
+          [
+            102.050526,
+            39.141075
+          ],
+          [
+            102.276576,
+            39.188868
+          ],
+          [
+            102.3548,
+            39.231993
+          ],
+          [
+            102.45335,
+            39.255167
+          ],
+          [
+            102.579002,
+            39.183301
+          ],
+          [
+            102.616574,
+            39.171703
+          ],
+          [
+            102.883892,
+            39.120649
+          ],
+          [
+            103.007696,
+            39.099753
+          ],
+          [
+            103.133347,
+            39.192579
+          ],
+          [
+            103.188166,
+            39.215302
+          ],
+          [
+            103.259615,
+            39.263971
+          ],
+          [
+            103.344615,
+            39.331588
+          ],
+          [
+            103.428998,
+            39.353341
+          ],
+          [
+            103.595302,
+            39.386652
+          ],
+          [
+            103.728961,
+            39.430117
+          ],
+          [
+            103.85338,
+            39.461543
+          ],
+          [
+            103.955626,
+            39.456923
+          ],
+          [
+            104.089901,
+            39.419947
+          ],
+          [
+            104.073271,
+            39.351953
+          ],
+          [
+            104.047401,
+            39.297788
+          ],
+          [
+            104.171205,
+            39.160567
+          ],
+          [
+            104.207546,
+            39.083495
+          ],
+          [
+            104.190915,
+            39.042139
+          ],
+          [
+            104.196459,
+            38.9882
+          ],
+          [
+            104.173053,
+            38.94446
+          ],
+          [
+            104.044322,
+            38.895105
+          ],
+          [
+            104.011677,
+            38.85923
+          ],
+          [
+            103.85954,
+            38.64454
+          ],
+          [
+            103.416063,
+            38.404821
+          ],
+          [
+            103.465339,
+            38.353215
+          ],
+          [
+            103.507838,
+            38.280905
+          ],
+          [
+            103.53494,
+            38.156776
+          ],
+          [
+            103.368636,
+            38.08898
+          ],
+          [
+            103.362477,
+            38.037621
+          ],
+          [
+            103.40744,
+            37.860651
+          ],
+          [
+            103.627947,
+            37.797783
+          ],
+          [
+            103.683381,
+            37.777919
+          ],
+          [
+            103.841062,
+            37.64725
+          ],
+          [
+            103.874938,
+            37.604117
+          ],
+          [
+            103.935916,
+            37.572818
+          ],
+          [
+            104.089285,
+            37.465067
+          ],
+          [
+            104.183524,
+            37.406618
+          ],
+          [
+            104.237727,
+            37.411847
+          ],
+          [
+            104.287002,
+            37.428007
+          ],
+          [
+            104.322726,
+            37.44844
+          ],
+          [
+            104.407726,
+            37.464592
+          ],
+          [
+            104.419429,
+            37.511604
+          ],
+          [
+            104.433595,
+            37.515402
+          ],
+          [
+            104.623305,
+            37.522522
+          ],
+          [
+            104.805007,
+            37.539133
+          ],
+          [
+            104.866601,
+            37.566651
+          ],
+          [
+            105.027977,
+            37.580881
+          ],
+          [
+            105.111128,
+            37.633981
+          ],
+          [
+            105.187505,
+            37.657674
+          ],
+          [
+            105.221998,
+            37.677097
+          ],
+          [
+            105.315004,
+            37.702197
+          ],
+          [
+            105.4037,
+            37.710246
+          ],
+          [
+            105.467141,
+            37.695094
+          ],
+          [
+            105.598952,
+            37.699356
+          ],
+          [
+            105.616199,
+            37.722555
+          ],
+          [
+            105.622358,
+            37.777919
+          ],
+          [
+            105.677177,
+            37.771769
+          ],
+          [
+            105.760944,
+            37.799674
+          ],
+          [
+            105.80406,
+            37.862068
+          ],
+          [
+            105.799749,
+            37.939986
+          ],
+          [
+            105.840401,
+            38.004147
+          ],
+          [
+            105.780655,
+            38.084741
+          ],
+          [
+            105.76772,
+            38.121474
+          ],
+          [
+            105.775111,
+            38.186887
+          ],
+          [
+            105.802828,
+            38.220277
+          ],
+          [
+            105.842248,
+            38.240962
+          ],
+          [
+            105.86627,
+            38.296406
+          ],
+          [
+            105.821307,
+            38.366824
+          ],
+          [
+            105.835473,
+            38.387467
+          ],
+          [
+            105.827466,
+            38.432486
+          ],
+          [
+            105.850872,
+            38.443736
+          ],
+          [
+            105.836705,
+            38.476071
+          ],
+          [
+            105.863806,
+            38.53508
+          ],
+          [
+            105.856415,
+            38.569714
+          ],
+          [
+            105.874277,
+            38.593105
+          ],
+          [
+            105.852719,
+            38.641735
+          ],
+          [
+            105.894603,
+            38.696405
+          ],
+          [
+            105.88598,
+            38.716953
+          ],
+          [
+            105.908154,
+            38.737496
+          ],
+          [
+            105.909386,
+            38.791159
+          ],
+          [
+            105.992538,
+            38.857366
+          ],
+          [
+            105.97098,
+            38.909077
+          ],
+          [
+            106.021487,
+            38.953769
+          ],
+          [
+            106.060907,
+            38.96866
+          ],
+          [
+            106.087392,
+            39.006339
+          ],
+          [
+            106.078153,
+            39.026333
+          ],
+          [
+            106.096631,
+            39.084889
+          ],
+          [
+            106.145907,
+            39.153142
+          ],
+          [
+            106.170544,
+            39.163352
+          ],
+          [
+            106.192718,
+            39.142932
+          ],
+          [
+            106.251232,
+            39.131327
+          ],
+          [
+            106.285109,
+            39.146181
+          ],
+          [
+            106.29558,
+            39.167992
+          ],
+          [
+            106.280181,
+            39.262118
+          ],
+          [
+            106.402753,
+            39.291767
+          ],
+          [
+            106.511774,
+            39.272311
+          ],
+          [
+            106.525325,
+            39.308439
+          ],
+          [
+            106.556122,
+            39.322329
+          ],
+          [
+            106.602318,
+            39.37555
+          ],
+          [
+            106.643586,
+            39.357969
+          ],
+          [
+            106.683622,
+            39.357506
+          ],
+          [
+            106.751375,
+            39.381564
+          ],
+          [
+            106.781556,
+            39.371849
+          ],
+          [
+            106.806809,
+            39.318625
+          ],
+          [
+            106.806193,
+            39.277407
+          ],
+          [
+            106.790795,
+            39.241263
+          ],
+          [
+            106.795723,
+            39.214375
+          ],
+          [
+            106.825288,
+            39.19397
+          ],
+          [
+            106.859164,
+            39.107648
+          ],
+          [
+            106.878874,
+            39.091392
+          ],
+          [
+            106.933693,
+            39.076527
+          ],
+          [
+            106.96757,
+            39.054688
+          ],
+          [
+            106.971881,
+            39.026333
+          ],
+          [
+            106.954019,
+            38.941202
+          ],
+          [
+            106.837606,
+            38.847579
+          ],
+          [
+            106.756302,
+            38.748699
+          ],
+          [
+            106.709491,
+            38.718821
+          ],
+          [
+            106.66268,
+            38.601524
+          ],
+          [
+            106.647897,
+            38.470917
+          ],
+          [
+            106.599854,
+            38.389812
+          ],
+          [
+            106.482209,
+            38.319417
+          ],
+          [
+            106.555506,
+            38.263521
+          ],
+          [
+            106.627571,
+            38.232501
+          ],
+          [
+            106.654672,
+            38.22921
+          ],
+          [
+            106.737824,
+            38.197706
+          ],
+          [
+            106.779092,
+            38.171833
+          ],
+          [
+            106.858548,
+            38.156306
+          ],
+          [
+            106.942316,
+            38.132302
+          ],
+          [
+            107.010069,
+            38.120532
+          ],
+          [
+            107.051337,
+            38.122886
+          ],
+          [
+            107.071047,
+            38.138892
+          ],
+          [
+            107.119091,
+            38.134185
+          ],
+          [
+            107.138801,
+            38.161011
+          ],
+          [
+            107.19054,
+            38.153953
+          ],
+          [
+            107.240431,
+            38.111586
+          ],
+          [
+            107.33159,
+            38.086625
+          ],
+          [
+            107.3938,
+            38.014993
+          ],
+          [
+            107.440611,
+            37.995659
+          ],
+          [
+            107.411662,
+            37.948009
+          ],
+          [
+            107.448618,
+            37.933378
+          ],
+          [
+            107.49235,
+            37.944706
+          ],
+          [
+            107.560719,
+            37.893717
+          ],
+          [
+            107.65003,
+            37.86443
+          ],
+          [
+            107.684523,
+            37.888522
+          ],
+          [
+            107.732566,
+            37.84931
+          ],
+          [
+            107.842819,
+            37.828987
+          ],
+          [
+            107.884703,
+            37.808186
+          ],
+          [
+            107.982022,
+            37.787378
+          ],
+          [
+            107.993109,
+            37.735335
+          ],
+          [
+            108.025753,
+            37.696041
+          ],
+          [
+            108.012819,
+            37.66857
+          ],
+          [
+            108.025137,
+            37.649619
+          ],
+          [
+            108.055318,
+            37.652462
+          ],
+          [
+            108.134159,
+            37.622131
+          ],
+          [
+            108.193905,
+            37.638246
+          ],
+          [
+            108.205608,
+            37.655779
+          ],
+          [
+            108.24626,
+            37.665728
+          ],
+          [
+            108.293071,
+            37.656726
+          ],
+          [
+            108.301078,
+            37.640616
+          ],
+          [
+            108.422418,
+            37.648672
+          ],
+          [
+            108.485244,
+            37.678044
+          ],
+          [
+            108.532671,
+            37.690832
+          ],
+          [
+            108.628142,
+            37.651988
+          ],
+          [
+            108.699591,
+            37.669518
+          ],
+          [
+            108.720533,
+            37.683728
+          ],
+          [
+            108.777815,
+            37.683728
+          ],
+          [
+            108.791982,
+            37.700303
+          ],
+          [
+            108.784591,
+            37.764673
+          ],
+          [
+            108.799989,
+            37.784068
+          ],
+          [
+            108.791982,
+            37.872934
+          ],
+          [
+            108.798141,
+            37.93385
+          ],
+          [
+            108.82709,
+            37.989056
+          ],
+          [
+            108.797525,
+            38.04799
+          ],
+          [
+            108.830786,
+            38.049875
+          ],
+          [
+            108.883141,
+            38.01405
+          ],
+          [
+            108.893612,
+            37.978207
+          ],
+          [
+            108.93488,
+            37.922521
+          ],
+          [
+            108.9743,
+            37.931962
+          ],
+          [
+            108.982923,
+            37.964053
+          ],
+          [
+            109.018648,
+            37.971602
+          ],
+          [
+            109.037742,
+            38.021593
+          ],
+          [
+            109.06977,
+            38.023008
+          ],
+          [
+            109.050676,
+            38.055059
+          ],
+          [
+            109.069155,
+            38.091336
+          ],
+          [
+            108.964445,
+            38.154894
+          ],
+          [
+            108.938575,
+            38.207582
+          ],
+          [
+            108.976148,
+            38.245192
+          ],
+          [
+            108.961981,
+            38.26493
+          ],
+          [
+            109.007561,
+            38.359316
+          ],
+          [
+            109.051292,
+            38.385122
+          ],
+          [
+            109.054372,
+            38.433892
+          ],
+          [
+            109.128901,
+            38.480288
+          ],
+          [
+            109.175712,
+            38.518694
+          ],
+          [
+            109.196654,
+            38.552867
+          ],
+          [
+            109.276726,
+            38.623035
+          ],
+          [
+            109.331545,
+            38.597783
+          ],
+          [
+            109.367269,
+            38.627711
+          ],
+          [
+            109.329081,
+            38.66043
+          ],
+          [
+            109.338936,
+            38.701542
+          ],
+          [
+            109.404226,
+            38.720689
+          ],
+          [
+            109.444262,
+            38.782763
+          ],
+          [
+            109.511399,
+            38.833595
+          ],
+          [
+            109.549587,
+            38.805618
+          ],
+          [
+            109.624116,
+            38.85457
+          ],
+          [
+            109.672159,
+            38.928167
+          ],
+          [
+            109.685094,
+            38.968195
+          ],
+          [
+            109.665384,
+            38.981687
+          ],
+          [
+            109.72513,
+            39.018429
+          ],
+          [
+            109.762086,
+            39.057476
+          ],
+          [
+            109.793499,
+            39.074204
+          ],
+          [
+            109.851397,
+            39.122971
+          ],
+          [
+            109.890818,
+            39.103932
+          ],
+          [
+            109.92223,
+            39.107183
+          ],
+          [
+            109.893897,
+            39.141075
+          ],
+          [
+            109.961035,
+            39.191651
+          ],
+          [
+            109.871723,
+            39.243581
+          ],
+          [
+            109.90252,
+            39.271848
+          ],
+          [
+            109.962267,
+            39.212056
+          ],
+          [
+            110.041107,
+            39.21623
+          ],
+          [
+            110.109476,
+            39.249606
+          ],
+          [
+            110.217881,
+            39.281113
+          ],
+          [
+            110.184005,
+            39.355192
+          ],
+          [
+            110.161831,
+            39.387115
+          ],
+          [
+            110.136577,
+            39.39174
+          ],
+          [
+            110.12549,
+            39.432891
+          ],
+          [
+            110.152592,
+            39.45415
+          ],
+          [
+            110.243751,
+            39.423645
+          ],
+          [
+            110.257917,
+            39.407001
+          ],
+          [
+            110.385417,
+            39.310291
+          ],
+          [
+            110.429764,
+            39.341308
+          ],
+          [
+            110.434692,
+            39.381101
+          ],
+          [
+            110.482735,
+            39.360745
+          ],
+          [
+            110.524003,
+            39.382952
+          ],
+          [
+            110.559728,
+            39.351027
+          ],
+          [
+            110.566503,
+            39.320014
+          ],
+          [
+            110.596684,
+            39.282966
+          ],
+          [
+            110.626249,
+            39.266751
+          ],
+          [
+            110.702626,
+            39.273701
+          ],
+          [
+            110.731575,
+            39.30705
+          ],
+          [
+            110.73835,
+            39.348713
+          ],
+          [
+            110.782698,
+            39.38804
+          ],
+          [
+            110.869545,
+            39.494341
+          ],
+          [
+            110.891103,
+            39.509118
+          ],
+          [
+            110.958856,
+            39.519275
+          ],
+          [
+            111.017371,
+            39.552045
+          ],
+          [
+            111.101138,
+            39.559428
+          ],
+          [
+            111.136863,
+            39.587106
+          ],
+          [
+            111.154725,
+            39.569116
+          ],
+          [
+            111.148566,
+            39.531277
+          ],
+          [
+            111.10545,
+            39.497573
+          ],
+          [
+            111.10545,
+            39.472631
+          ],
+          [
+            111.058639,
+            39.447681
+          ],
+          [
+            111.064182,
+            39.400989
+          ],
+          [
+            111.098059,
+            39.401914
+          ],
+          [
+            111.087588,
+            39.376013
+          ],
+          [
+            111.125776,
+            39.366297
+          ],
+          [
+            111.143022,
+            39.407926
+          ],
+          [
+            111.171971,
+            39.423183
+          ],
+          [
+            111.337043,
+            39.420872
+          ],
+          [
+            111.358601,
+            39.432428
+          ],
+          [
+            111.372152,
+            39.479099
+          ],
+          [
+            111.431282,
+            39.508656
+          ],
+          [
+            111.422043,
+            39.539123
+          ],
+          [
+            111.441137,
+            39.59679
+          ],
+          [
+            111.460847,
+            39.606935
+          ],
+          [
+            111.445448,
+            39.640124
+          ],
+          [
+            111.497187,
+            39.661781
+          ],
+          [
+            111.525521,
+            39.662242
+          ],
+          [
+            111.625303,
+            39.633672
+          ],
+          [
+            111.659179,
+            39.641507
+          ],
+          [
+            111.722621,
+            39.606013
+          ],
+          [
+            111.783599,
+            39.58895
+          ],
+          [
+            111.842729,
+            39.620305
+          ],
+          [
+            111.87907,
+            39.606013
+          ],
+          [
+            111.9382,
+            39.623071
+          ],
+          [
+            111.925265,
+            39.66731
+          ],
+          [
+            111.959758,
+            39.692642
+          ],
+          [
+            111.970229,
+            39.796638
+          ],
+          [
+            112.012729,
+            39.827438
+          ],
+          [
+            112.042294,
+            39.886243
+          ],
+          [
+            112.07617,
+            39.919298
+          ],
+          [
+            112.133453,
+            40.001866
+          ],
+          [
+            112.142076,
+            40.027076
+          ],
+          [
+            112.182112,
+            40.061437
+          ],
+          [
+            112.183344,
+            40.083877
+          ],
+          [
+            112.232003,
+            40.133311
+          ],
+          [
+            112.232619,
+            40.169905
+          ],
+          [
+            112.299756,
+            40.21105
+          ],
+          [
+            112.310227,
+            40.256281
+          ],
+          [
+            112.349031,
+            40.257194
+          ],
+          [
+            112.418017,
+            40.295091
+          ],
+          [
+            112.456205,
+            40.300112
+          ],
+          [
+            112.511639,
+            40.269068
+          ],
+          [
+            112.6299,
+            40.235725
+          ],
+          [
+            112.712436,
+            40.178593
+          ],
+          [
+            112.744464,
+            40.167161
+          ],
+          [
+            112.848558,
+            40.206937
+          ],
+          [
+            112.898449,
+            40.329317
+          ],
+          [
+            113.03334,
+            40.368997
+          ],
+          [
+            113.083231,
+            40.374925
+          ],
+          [
+            113.251382,
+            40.413211
+          ],
+          [
+            113.27602,
+            40.388601
+          ],
+          [
+            113.316672,
+            40.319736
+          ],
+          [
+            113.387505,
+            40.319279
+          ],
+          [
+            113.500222,
+            40.334335
+          ],
+          [
+            113.559968,
+            40.348476
+          ],
+          [
+            113.688699,
+            40.448288
+          ],
+          [
+            113.763228,
+            40.473787
+          ],
+          [
+            113.794641,
+            40.517932
+          ],
+          [
+            113.850691,
+            40.460583
+          ],
+          [
+            113.890112,
+            40.466503
+          ],
+          [
+            113.948626,
+            40.514747
+          ],
+          [
+            114.011452,
+            40.515657
+          ],
+          [
+            114.061959,
+            40.52885
+          ],
+          [
+            114.080437,
+            40.547952
+          ],
+          [
+            114.076741,
+            40.575686
+          ],
+          [
+            114.041633,
+            40.608861
+          ],
+          [
+            114.07243,
+            40.679246
+          ],
+          [
+            114.063806,
+            40.706925
+          ],
+          [
+            114.084748,
+            40.729605
+          ],
+          [
+            114.134639,
+            40.737314
+          ],
+          [
+            114.103227,
+            40.770861
+          ],
+          [
+            114.104458,
+            40.797597
+          ],
+          [
+            114.080437,
+            40.790348
+          ],
+          [
+            114.044712,
+            40.830661
+          ],
+          [
+            114.073661,
+            40.857372
+          ],
+          [
+            114.055183,
+            40.867782
+          ],
+          [
+            114.041633,
+            40.917546
+          ],
+          [
+            114.057647,
+            40.925234
+          ],
+          [
+            113.994821,
+            40.938798
+          ],
+          [
+            113.973263,
+            40.983087
+          ],
+          [
+            113.868554,
+            41.06887
+          ],
+          [
+            113.819279,
+            41.09774
+          ],
+          [
+            113.877793,
+            41.115777
+          ],
+          [
+            113.920293,
+            41.172112
+          ],
+          [
+            113.960945,
+            41.171211
+          ],
+          [
+            113.996669,
+            41.19238
+          ],
+          [
+            114.016379,
+            41.231999
+          ],
+          [
+            113.992357,
+            41.269794
+          ],
+          [
+            113.971416,
+            41.239649
+          ],
+          [
+            113.95109,
+            41.282837
+          ],
+          [
+            113.914749,
+            41.294529
+          ],
+          [
+            113.899351,
+            41.316108
+          ],
+          [
+            113.92522,
+            41.325546
+          ],
+          [
+            113.94493,
+            41.392477
+          ],
+          [
+            113.871017,
+            41.413126
+          ],
+          [
+            113.877793,
+            41.431076
+          ],
+          [
+            113.919677,
+            41.454404
+          ],
+          [
+            113.933227,
+            41.487139
+          ],
+          [
+            113.953553,
+            41.483553
+          ],
+          [
+            113.976959,
+            41.505966
+          ],
+          [
+            114.032394,
+            41.529715
+          ],
+          [
+            114.101379,
+            41.537779
+          ],
+          [
+            114.230726,
+            41.513584
+          ],
+          [
+            114.221487,
+            41.582111
+          ],
+          [
+            114.226414,
+            41.616572
+          ],
+          [
+            114.259059,
+            41.623282
+          ],
+          [
+            114.215328,
+            41.68499
+          ],
+          [
+            114.237501,
+            41.698843
+          ],
+          [
+            114.206704,
+            41.7386
+          ],
+          [
+            114.215328,
+            41.75646
+          ],
+          [
+            114.200545,
+            41.789934
+          ],
+          [
+            114.282465,
+            41.863517
+          ],
+          [
+            114.343443,
+            41.926774
+          ],
+          [
+            114.352066,
+            41.953484
+          ],
+          [
+            114.419203,
+            41.942356
+          ],
+          [
+            114.478334,
+            41.951704
+          ],
+          [
+            114.511594,
+            41.981962
+          ],
+          [
+            114.467863,
+            42.025989
+          ],
+          [
+            114.480181,
+            42.064654
+          ],
+          [
+            114.502355,
+            42.06732
+          ],
+          [
+            114.510978,
+            42.110844
+          ],
+          [
+            114.560254,
+            42.132595
+          ],
+          [
+            114.647717,
+            42.109512
+          ],
+          [
+            114.675434,
+            42.12061
+          ],
+          [
+            114.75489,
+            42.115727
+          ],
+          [
+            114.789383,
+            42.130819
+          ],
+          [
+            114.79431,
+            42.149457
+          ],
+          [
+            114.825723,
+            42.139695
+          ],
+          [
+            114.86268,
+            42.097967
+          ],
+          [
+            114.860832,
+            42.054879
+          ],
+          [
+            114.9021,
+            42.015763
+          ],
+          [
+            114.915035,
+            41.960605
+          ],
+          [
+            114.923658,
+            41.871093
+          ],
+          [
+            114.939056,
+            41.846132
+          ],
+          [
+            114.922426,
+            41.825175
+          ],
+          [
+            114.868839,
+            41.813579
+          ],
+          [
+            114.89594,
+            41.76762
+          ],
+          [
+            114.902716,
+            41.695715
+          ],
+          [
+            114.895325,
+            41.636255
+          ],
+          [
+            114.860832,
+            41.60091
+          ],
+          [
+            115.016049,
+            41.615229
+          ],
+          [
+            115.056085,
+            41.602253
+          ],
+          [
+            115.0992,
+            41.62373
+          ],
+          [
+            115.195287,
+            41.602253
+          ],
+          [
+            115.20391,
+            41.571367
+          ],
+          [
+            115.256881,
+            41.580768
+          ],
+          [
+            115.26612,
+            41.616124
+          ],
+          [
+            115.290142,
+            41.622835
+          ],
+          [
+            115.310468,
+            41.592854
+          ],
+          [
+            115.377605,
+            41.603148
+          ],
+          [
+            115.345576,
+            41.635807
+          ],
+          [
+            115.360975,
+            41.661297
+          ],
+          [
+            115.319091,
+            41.691693
+          ],
+          [
+            115.346808,
+            41.712247
+          ],
+          [
+            115.42996,
+            41.728775
+          ],
+          [
+            115.488474,
+            41.760924
+          ],
+          [
+            115.519887,
+            41.76762
+          ],
+          [
+            115.57409,
+            41.80555
+          ],
+          [
+            115.654162,
+            41.829189
+          ],
+          [
+            115.688038,
+            41.867528
+          ],
+          [
+            115.726227,
+            41.870202
+          ],
+          [
+            115.811226,
+            41.912525
+          ],
+          [
+            115.834632,
+            41.93835
+          ],
+          [
+            115.85311,
+            41.927665
+          ],
+          [
+            115.916552,
+            41.945027
+          ],
+          [
+            115.954124,
+            41.874213
+          ],
+          [
+            115.994776,
+            41.828743
+          ],
+          [
+            116.007095,
+            41.797966
+          ],
+          [
+            116.007095,
+            41.79752
+          ],
+          [
+            116.034196,
+            41.782795
+          ],
+          [
+            116.09887,
+            41.776547
+          ],
+          [
+            116.129051,
+            41.805996
+          ],
+          [
+            116.106877,
+            41.831419
+          ],
+          [
+            116.122892,
+            41.861734
+          ],
+          [
+            116.194341,
+            41.861734
+          ],
+          [
+            116.212819,
+            41.885352
+          ],
+          [
+            116.223906,
+            41.932562
+          ],
+          [
+            116.298434,
+            41.96817
+          ],
+          [
+            116.310137,
+            41.997086
+          ],
+          [
+            116.373579,
+            42.009983
+          ],
+          [
+            116.414231,
+            41.982407
+          ],
+          [
+            116.393289,
+            41.942802
+          ],
+          [
+            116.453651,
+            41.945917
+          ],
+          [
+            116.4826,
+            41.975734
+          ],
+          [
+            116.510933,
+            41.974399
+          ],
+          [
+            116.553433,
+            41.928555
+          ],
+          [
+            116.597165,
+            41.935679
+          ],
+          [
+            116.639049,
+            41.929891
+          ],
+          [
+            116.66923,
+            41.947698
+          ],
+          [
+            116.727744,
+            41.951259
+          ],
+          [
+            116.748686,
+            41.984186
+          ],
+          [
+            116.796113,
+            41.977958
+          ],
+          [
+            116.879881,
+            42.018431
+          ],
+          [
+            116.890352,
+            42.092639
+          ],
+          [
+            116.850316,
+            42.156556
+          ],
+          [
+            116.825062,
+            42.155669
+          ],
+          [
+            116.789338,
+            42.200462
+          ],
+          [
+            116.903287,
+            42.190708
+          ],
+          [
+            116.918685,
+            42.229716
+          ],
+          [
+            116.897743,
+            42.297479
+          ],
+          [
+            116.886656,
+            42.366496
+          ],
+          [
+            116.910678,
+            42.394789
+          ],
+          [
+            116.910062,
+            42.395231
+          ],
+          [
+            116.921765,
+            42.403628
+          ],
+          [
+            116.936547,
+            42.410256
+          ],
+          [
+            116.944555,
+            42.415116
+          ],
+          [
+            116.97104,
+            42.427486
+          ],
+          [
+            116.974736,
+            42.426603
+          ],
+          [
+            116.99075,
+            42.425719
+          ],
+          [
+            117.005533,
+            42.43367
+          ],
+          [
+            117.009228,
+            42.44957
+          ],
+          [
+            117.01662,
+            42.456193
+          ],
+          [
+            117.080061,
+            42.463699
+          ],
+          [
+            117.09546,
+            42.484004
+          ],
+          [
+            117.135496,
+            42.468996
+          ],
+          [
+            117.188467,
+            42.468114
+          ],
+          [
+            117.275314,
+            42.481797
+          ],
+          [
+            117.332596,
+            42.46105
+          ],
+          [
+            117.390495,
+            42.461933
+          ],
+          [
+            117.413284,
+            42.471645
+          ],
+          [
+            117.410205,
+            42.519743
+          ],
+          [
+            117.387415,
+            42.517537
+          ],
+          [
+            117.434226,
+            42.557224
+          ],
+          [
+            117.435458,
+            42.585431
+          ],
+          [
+            117.475494,
+            42.602613
+          ],
+          [
+            117.530313,
+            42.590278
+          ],
+          [
+            117.537088,
+            42.603054
+          ],
+          [
+            117.60053,
+            42.603054
+          ],
+          [
+            117.667051,
+            42.582347
+          ],
+          [
+            117.708935,
+            42.588515
+          ],
+          [
+            117.779768,
+            42.61847
+          ],
+          [
+            117.801326,
+            42.612744
+          ],
+          [
+            117.797631,
+            42.585431
+          ],
+          [
+            117.856761,
+            42.539148
+          ],
+          [
+            117.874007,
+            42.510038
+          ],
+          [
+            117.997811,
+            42.416884
+          ],
+          [
+            118.024296,
+            42.385064
+          ],
+          [
+            118.008898,
+            42.346595
+          ],
+          [
+            118.060021,
+            42.298364
+          ],
+          [
+            118.047702,
+            42.280656
+          ],
+          [
+            117.974405,
+            42.25054
+          ],
+          [
+            117.977485,
+            42.229716
+          ],
+          [
+            118.033535,
+            42.199132
+          ],
+          [
+            118.106216,
+            42.172082
+          ],
+          [
+            118.089586,
+            42.12283
+          ],
+          [
+            118.097593,
+            42.105072
+          ],
+          [
+            118.155491,
+            42.081091
+          ],
+          [
+            118.116687,
+            42.037102
+          ],
+          [
+            118.194296,
+            42.031324
+          ],
+          [
+            118.220165,
+            42.058434
+          ],
+          [
+            118.212774,
+            42.081091
+          ],
+          [
+            118.239259,
+            42.092639
+          ],
+          [
+            118.27252,
+            42.083312
+          ],
+          [
+            118.296541,
+            42.057545
+          ],
+          [
+            118.286686,
+            42.033991
+          ],
+          [
+            118.239875,
+            42.024655
+          ],
+          [
+            118.291614,
+            42.007759
+          ],
+          [
+            118.313788,
+            41.98819
+          ],
+          [
+            118.306396,
+            41.940131
+          ],
+          [
+            118.268824,
+            41.930336
+          ],
+          [
+            118.340273,
+            41.87243
+          ],
+          [
+            118.335346,
+            41.845241
+          ],
+          [
+            118.29223,
+            41.772976
+          ],
+          [
+            118.247266,
+            41.773869
+          ],
+          [
+            118.236179,
+            41.80778
+          ],
+          [
+            118.178281,
+            41.814917
+          ],
+          [
+            118.140093,
+            41.784134
+          ],
+          [
+            118.132702,
+            41.733241
+          ],
+          [
+            118.155491,
+            41.712694
+          ],
+          [
+            118.159187,
+            41.67605
+          ],
+          [
+            118.206614,
+            41.650566
+          ],
+          [
+            118.215237,
+            41.59554
+          ],
+          [
+            118.302701,
+            41.55256
+          ],
+          [
+            118.315636,
+            41.512688
+          ],
+          [
+            118.271904,
+            41.471446
+          ],
+          [
+            118.327338,
+            41.450816
+          ],
+          [
+            118.348896,
+            41.428384
+          ],
+          [
+            118.361215,
+            41.384844
+          ],
+          [
+            118.348896,
+            41.342622
+          ],
+          [
+            118.380309,
+            41.312062
+          ],
+          [
+            118.412338,
+            41.331838
+          ],
+          [
+            118.528135,
+            41.355202
+          ],
+          [
+            118.629765,
+            41.346666
+          ],
+          [
+            118.677192,
+            41.35026
+          ],
+          [
+            118.741866,
+            41.324198
+          ],
+          [
+            118.770199,
+            41.352956
+          ],
+          [
+            118.843496,
+            41.374516
+          ],
+          [
+            118.844727,
+            41.342622
+          ],
+          [
+            118.890923,
+            41.300823
+          ],
+          [
+            118.949437,
+            41.317906
+          ],
+          [
+            118.980234,
+            41.305769
+          ],
+          [
+            119.092951,
+            41.293629
+          ],
+          [
+            119.168712,
+            41.294978
+          ],
+          [
+            119.197661,
+            41.282837
+          ],
+          [
+            119.211827,
+            41.308016
+          ],
+          [
+            119.239545,
+            41.31431
+          ],
+          [
+            119.296211,
+            41.325097
+          ],
+          [
+            119.330704,
+            41.385293
+          ],
+          [
+            119.309762,
+            41.405944
+          ],
+          [
+            119.376283,
+            41.422102
+          ],
+          [
+            119.378131,
+            41.459787
+          ],
+          [
+            119.401537,
+            41.472343
+          ],
+          [
+            119.406464,
+            41.503276
+          ],
+          [
+            119.361501,
+            41.545841
+          ],
+          [
+            119.362116,
+            41.566442
+          ],
+          [
+            119.420015,
+            41.567785
+          ],
+          [
+            119.415703,
+            41.590169
+          ],
+          [
+            119.342406,
+            41.617914
+          ],
+          [
+            119.307914,
+            41.657273
+          ],
+          [
+            119.299907,
+            41.705545
+          ],
+          [
+            119.319001,
+            41.727435
+          ],
+          [
+            119.317769,
+            41.764049
+          ],
+          [
+            119.292515,
+            41.790827
+          ],
+          [
+            119.312841,
+            41.80555
+          ],
+          [
+            119.334399,
+            41.871539
+          ],
+          [
+            119.323312,
+            41.889807
+          ],
+          [
+            119.340559,
+            41.926774
+          ],
+          [
+            119.323928,
+            41.937014
+          ],
+          [
+            119.324544,
+            41.969505
+          ],
+          [
+            119.375667,
+            42.023322
+          ],
+          [
+            119.384906,
+            42.08953
+          ],
+          [
+            119.352261,
+            42.118391
+          ],
+          [
+            119.314689,
+            42.119723
+          ],
+          [
+            119.30853,
+            42.147239
+          ],
+          [
+            119.286972,
+            42.154781
+          ],
+          [
+            119.277733,
+            42.185387
+          ],
+          [
+            119.237697,
+            42.200905
+          ],
+          [
+            119.274037,
+            42.239021
+          ],
+          [
+            119.280197,
+            42.260728
+          ],
+          [
+            119.34795,
+            42.300578
+          ],
+          [
+            119.432949,
+            42.317396
+          ],
+          [
+            119.482841,
+            42.347037
+          ],
+          [
+            119.502551,
+            42.388159
+          ],
+          [
+            119.540123,
+            42.363401
+          ],
+          [
+            119.572152,
+            42.359421
+          ],
+          [
+            119.571536,
+            42.335536
+          ],
+          [
+            119.539507,
+            42.297922
+          ],
+          [
+            119.557985,
+            42.289068
+          ],
+          [
+            119.609108,
+            42.276671
+          ],
+          [
+            119.617115,
+            42.252755
+          ],
+          [
+            119.679941,
+            42.240793
+          ],
+          [
+            119.744615,
+            42.211545
+          ],
+          [
+            119.841933,
+            42.215534
+          ],
+          [
+            119.854868,
+            42.170308
+          ],
+          [
+            119.837622,
+            42.135257
+          ],
+          [
+            119.845629,
+            42.097079
+          ],
+          [
+            119.87581,
+            42.077982
+          ],
+          [
+            119.897368,
+            42.030879
+          ],
+          [
+            119.921389,
+            42.014429
+          ],
+          [
+            119.924469,
+            41.98908
+          ],
+          [
+            119.950954,
+            41.974399
+          ],
+          [
+            119.954034,
+            41.923212
+          ],
+          [
+            119.989759,
+            41.899163
+          ],
+          [
+            120.023019,
+            41.816701
+          ],
+          [
+            120.041498,
+            41.818932
+          ],
+          [
+            120.050737,
+            41.776101
+          ],
+          [
+            120.024867,
+            41.737707
+          ],
+          [
+            120.035954,
+            41.708226
+          ],
+          [
+            120.096316,
+            41.697056
+          ],
+          [
+            120.1382,
+            41.729221
+          ],
+          [
+            120.127113,
+            41.77253
+          ],
+          [
+            120.183164,
+            41.826513
+          ],
+          [
+            120.188707,
+            41.848361
+          ],
+          [
+            120.215808,
+            41.853265
+          ],
+          [
+            120.251533,
+            41.884016
+          ],
+          [
+            120.286641,
+            41.880005
+          ],
+          [
+            120.290337,
+            41.897381
+          ],
+          [
+            120.260156,
+            41.904062
+          ],
+          [
+            120.271859,
+            41.925439
+          ],
+          [
+            120.318054,
+            41.93746
+          ],
+          [
+            120.309431,
+            41.951704
+          ],
+          [
+            120.373489,
+            41.994862
+          ],
+          [
+            120.399358,
+            41.984631
+          ],
+          [
+            120.456641,
+            42.016208
+          ],
+          [
+            120.450481,
+            42.057101
+          ],
+          [
+            120.493597,
+            42.073539
+          ],
+          [
+            120.466496,
+            42.105516
+          ],
+          [
+            120.56751,
+            42.152119
+          ],
+          [
+            120.58414,
+            42.167203
+          ],
+          [
+            120.624792,
+            42.154338
+          ],
+          [
+            120.72211,
+            42.203565
+          ],
+          [
+            120.745516,
+            42.223512
+          ],
+          [
+            120.79048,
+            42.218636
+          ],
+          [
+            120.820661,
+            42.227943
+          ],
+          [
+            120.8299,
+            42.252755
+          ],
+          [
+            120.883487,
+            42.242565
+          ],
+          [
+            120.883487,
+            42.269585
+          ],
+          [
+            120.933994,
+            42.27977
+          ],
+          [
+            120.992508,
+            42.264714
+          ],
+          [
+            121.028848,
+            42.242565
+          ],
+          [
+            121.070732,
+            42.254083
+          ],
+          [
+            121.087978,
+            42.278885
+          ],
+          [
+            121.120623,
+            42.280656
+          ],
+          [
+            121.133558,
+            42.300135
+          ],
+          [
+            121.184681,
+            42.333324
+          ],
+          [
+            121.218558,
+            42.371802
+          ],
+          [
+            121.285079,
+            42.387717
+          ],
+          [
+            121.314644,
+            42.42837
+          ],
+          [
+            121.304789,
+            42.435879
+          ],
+          [
+            121.386093,
+            42.474294
+          ],
+          [
+            121.434752,
+            42.475176
+          ],
+          [
+            121.4791,
+            42.49636
+          ],
+          [
+            121.506201,
+            42.482239
+          ],
+          [
+            121.570875,
+            42.487093
+          ],
+          [
+            121.607831,
+            42.516214
+          ],
+          [
+            121.604136,
+            42.495037
+          ],
+          [
+            121.66573,
+            42.437204
+          ],
+          [
+            121.69899,
+            42.438529
+          ],
+          [
+            121.747649,
+            42.484887
+          ],
+          [
+            121.803084,
+            42.514891
+          ],
+          [
+            121.817867,
+            42.504303
+          ],
+          [
+            121.831417,
+            42.533856
+          ],
+          [
+            121.844352,
+            42.522389
+          ],
+          [
+            121.889931,
+            42.556784
+          ],
+          [
+            121.921344,
+            42.605697
+          ],
+          [
+            121.915801,
+            42.656332
+          ],
+          [
+            121.94167,
+            42.666014
+          ],
+          [
+            121.939207,
+            42.688453
+          ],
+          [
+            122.018663,
+            42.69901
+          ],
+          [
+            122.062394,
+            42.723635
+          ],
+          [
+            122.072865,
+            42.710444
+          ],
+          [
+            122.160945,
+            42.684934
+          ],
+          [
+            122.204676,
+            42.685374
+          ],
+          [
+            122.204676,
+            42.732867
+          ],
+          [
+            122.261343,
+            42.695931
+          ],
+          [
+            122.324785,
+            42.684934
+          ],
+          [
+            122.338951,
+            42.669975
+          ],
+          [
+            122.396234,
+            42.684054
+          ],
+          [
+            122.396234,
+            42.707366
+          ],
+          [
+            122.460907,
+            42.755282
+          ],
+          [
+            122.439349,
+            42.770221
+          ],
+          [
+            122.371596,
+            42.776371
+          ],
+          [
+            122.35127,
+            42.830378
+          ],
+          [
+            122.436886,
+            42.843105
+          ],
+          [
+            122.556378,
+            42.827745
+          ],
+          [
+            122.576088,
+            42.819405
+          ],
+          [
+            122.580399,
+            42.789987
+          ],
+          [
+            122.624747,
+            42.773296
+          ],
+          [
+            122.653696,
+            42.78252
+          ],
+          [
+            122.733152,
+            42.786034
+          ],
+          [
+            122.73808,
+            42.77066
+          ],
+          [
+            122.786123,
+            42.757479
+          ],
+          [
+            122.848949,
+            42.712203
+          ],
+          [
+            122.883442,
+            42.751766
+          ],
+          [
+            122.887137,
+            42.770221
+          ],
+          [
+            122.925941,
+            42.772417
+          ],
+          [
+            122.945651,
+            42.753524
+          ],
+          [
+            122.980144,
+            42.777689
+          ],
+          [
+            123.058368,
+            42.768903
+          ],
+          [
+            123.118114,
+            42.801405
+          ],
+          [
+            123.227752,
+            42.831695
+          ],
+          [
+            123.169853,
+            42.859777
+          ],
+          [
+            123.188947,
+            42.895739
+          ],
+          [
+            123.18402,
+            42.925983
+          ],
+          [
+            123.259165,
+            42.993431
+          ],
+          [
+            123.323222,
+            43.000872
+          ],
+          [
+            123.434707,
+            43.027565
+          ],
+          [
+            123.474743,
+            43.042438
+          ],
+          [
+            123.536337,
+            43.007
+          ],
+          [
+            123.572678,
+            43.003498
+          ],
+          [
+            123.580685,
+            43.036314
+          ],
+          [
+            123.631192,
+            43.088346
+          ],
+          [
+            123.636119,
+            43.141644
+          ],
+          [
+            123.666916,
+            43.179623
+          ],
+          [
+            123.645974,
+            43.208855
+          ],
+          [
+            123.676771,
+            43.223684
+          ],
+          [
+            123.664453,
+            43.264663
+          ],
+          [
+            123.698329,
+            43.272071
+          ],
+          [
+            123.703873,
+            43.37047
+          ],
+          [
+            123.608402,
+            43.366119
+          ],
+          [
+            123.54496,
+            43.415262
+          ],
+          [
+            123.519707,
+            43.402219
+          ],
+          [
+            123.486446,
+            43.44525
+          ],
+          [
+            123.442098,
+            43.437863
+          ],
+          [
+            123.419925,
+            43.410046
+          ],
+          [
+            123.382968,
+            43.469143
+          ],
+          [
+            123.36449,
+            43.483475
+          ],
+          [
+            123.315831,
+            43.492159
+          ],
+          [
+            123.329998,
+            43.519071
+          ],
+          [
+            123.304744,
+            43.550742
+          ],
+          [
+            123.360179,
+            43.567223
+          ],
+          [
+            123.452569,
+            43.545971
+          ],
+          [
+            123.461193,
+            43.568523
+          ],
+          [
+            123.434091,
+            43.575461
+          ],
+          [
+            123.421157,
+            43.598435
+          ],
+          [
+            123.5117,
+            43.592801
+          ],
+          [
+            123.510468,
+            43.624867
+          ],
+          [
+            123.536953,
+            43.633964
+          ],
+          [
+            123.518475,
+            43.682024
+          ],
+          [
+            123.520323,
+            43.708419
+          ],
+          [
+            123.48275,
+            43.737396
+          ],
+          [
+            123.498149,
+            43.771114
+          ],
+          [
+            123.461809,
+            43.822518
+          ],
+          [
+            123.467968,
+            43.853599
+          ],
+          [
+            123.397135,
+            43.954929
+          ],
+          [
+            123.37065,
+            43.970006
+          ],
+          [
+            123.400831,
+            43.979481
+          ],
+          [
+            123.365722,
+            44.013922
+          ],
+          [
+            123.331229,
+            44.028984
+          ],
+          [
+            123.32815,
+            44.084035
+          ],
+          [
+            123.350939,
+            44.092633
+          ],
+          [
+            123.362642,
+            44.133452
+          ],
+          [
+            123.386664,
+            44.161794
+          ],
+          [
+            123.323838,
+            44.179823
+          ],
+          [
+            123.286882,
+            44.211574
+          ],
+          [
+            123.277027,
+            44.25274
+          ],
+          [
+            123.196955,
+            44.34483
+          ],
+          [
+            123.128585,
+            44.367081
+          ],
+          [
+            123.114419,
+            44.40258
+          ],
+          [
+            123.142136,
+            44.428228
+          ],
+          [
+            123.125506,
+            44.455147
+          ],
+          [
+            123.137209,
+            44.486322
+          ],
+          [
+            123.12489,
+            44.5098
+          ],
+          [
+            123.06576,
+            44.505959
+          ],
+          [
+            123.025108,
+            44.493153
+          ],
+          [
+            122.85634,
+            44.398304
+          ],
+          [
+            122.76087,
+            44.369648
+          ],
+          [
+            122.702971,
+            44.319145
+          ],
+          [
+            122.675254,
+            44.285738
+          ],
+          [
+            122.641993,
+            44.283595
+          ],
+          [
+            122.515726,
+            44.251025
+          ],
+          [
+            122.483081,
+            44.236877
+          ],
+          [
+            122.319241,
+            44.233018
+          ],
+          [
+            122.271198,
+            44.255741
+          ],
+          [
+            122.291524,
+            44.310152
+          ],
+          [
+            122.294604,
+            44.41113
+          ],
+          [
+            122.28598,
+            44.477783
+          ],
+          [
+            122.228082,
+            44.480345
+          ],
+          [
+            122.224386,
+            44.526016
+          ],
+          [
+            122.196053,
+            44.559712
+          ],
+          [
+            122.13138,
+            44.577619
+          ],
+          [
+            122.113517,
+            44.615546
+          ],
+          [
+            122.103046,
+            44.67388
+          ],
+          [
+            122.117213,
+            44.701961
+          ],
+          [
+            122.161561,
+            44.728328
+          ],
+          [
+            122.152322,
+            44.744057
+          ],
+          [
+            122.10243,
+            44.736406
+          ],
+          [
+            122.110438,
+            44.767856
+          ],
+          [
+            122.142467,
+            44.753833
+          ],
+          [
+            122.168952,
+            44.770405
+          ],
+          [
+            122.099967,
+            44.7823
+          ],
+          [
+            122.098119,
+            44.81882
+          ],
+          [
+            122.04946,
+            44.912985
+          ],
+          [
+            122.079025,
+            44.914256
+          ],
+          [
+            122.087032,
+            44.95281
+          ],
+          [
+            122.074713,
+            45.006573
+          ],
+          [
+            122.098735,
+            45.02138
+          ],
+          [
+            122.119677,
+            45.068739
+          ],
+          [
+            122.109822,
+            45.142236
+          ],
+          [
+            122.143082,
+            45.183167
+          ],
+          [
+            122.192358,
+            45.180636
+          ],
+          [
+            122.22993,
+            45.206784
+          ],
+          [
+            122.239169,
+            45.276313
+          ],
+          [
+            122.147394,
+            45.295682
+          ],
+          [
+            122.146778,
+            45.374352
+          ],
+          [
+            122.180039,
+            45.409655
+          ],
+          [
+            122.168336,
+            45.439897
+          ],
+          [
+            122.064242,
+            45.472641
+          ],
+          [
+            122.002648,
+            45.507882
+          ],
+          [
+            121.993409,
+            45.552741
+          ],
+          [
+            121.966308,
+            45.596308
+          ],
+          [
+            121.995873,
+            45.59882
+          ],
+          [
+            122.003264,
+            45.623102
+          ],
+          [
+            121.970004,
+            45.692956
+          ],
+          [
+            121.934279,
+            45.71051
+          ],
+          [
+            121.867142,
+            45.719703
+          ],
+          [
+            121.812323,
+            45.704659
+          ],
+          [
+            121.811091,
+            45.687103
+          ],
+          [
+            121.713773,
+            45.701734
+          ],
+          [
+            121.666345,
+            45.727641
+          ],
+          [
+            121.644172,
+            45.752284
+          ],
+          [
+            121.657106,
+            45.770238
+          ],
+          [
+            121.697142,
+            45.76314
+          ],
+          [
+            121.754425,
+            45.794862
+          ],
+          [
+            121.766744,
+            45.830318
+          ],
+          [
+            121.769823,
+            45.84366
+          ],
+          [
+            121.817251,
+            45.875336
+          ],
+          [
+            121.805548,
+            45.900746
+          ],
+          [
+            121.821562,
+            45.918235
+          ],
+          [
+            121.809243,
+            45.961102
+          ],
+          [
+            121.761816,
+            45.998947
+          ],
+          [
+            121.819098,
+            46.023054
+          ],
+          [
+            121.843736,
+            46.024301
+          ],
+          [
+            121.864062,
+            46.002272
+          ],
+          [
+            121.923808,
+            46.004767
+          ],
+          [
+            121.92812,
+            45.988552
+          ],
+          [
+            122.040221,
+            45.959022
+          ],
+          [
+            122.085184,
+            45.912406
+          ],
+          [
+            122.091344,
+            45.882002
+          ],
+          [
+            122.200981,
+            45.857
+          ],
+          [
+            122.236705,
+            45.831569
+          ],
+          [
+            122.253952,
+            45.7982
+          ],
+          [
+            122.301379,
+            45.813218
+          ],
+          [
+            122.337719,
+            45.859917
+          ],
+          [
+            122.372828,
+            45.856166
+          ],
+          [
+            122.362357,
+            45.917403
+          ],
+          [
+            122.446125,
+            45.916986
+          ],
+          [
+            122.496016,
+            45.85825
+          ],
+          [
+            122.504639,
+            45.786933
+          ],
+          [
+            122.522501,
+            45.786933
+          ],
+          [
+            122.556378,
+            45.82156
+          ],
+          [
+            122.603189,
+            45.778169
+          ],
+          [
+            122.640761,
+            45.771072
+          ],
+          [
+            122.650001,
+            45.731401
+          ],
+          [
+            122.671558,
+            45.70048
+          ],
+          [
+            122.741775,
+            45.705077
+          ],
+          [
+            122.751015,
+            45.735996
+          ],
+          [
+            122.792283,
+            45.766063
+          ],
+          [
+            122.752246,
+            45.834905
+          ],
+          [
+            122.772572,
+            45.856583
+          ],
+          [
+            122.80029,
+            45.856583
+          ],
+          [
+            122.828623,
+            45.912406
+          ],
+          [
+            122.792898,
+            46.073313
+          ],
+          [
+            123.04605,
+            46.099878
+          ],
+          [
+            123.070071,
+            46.123527
+          ],
+          [
+            123.112571,
+            46.130163
+          ],
+          [
+            123.102716,
+            46.172037
+          ],
+          [
+            123.127354,
+            46.174523
+          ],
+          [
+            123.128585,
+            46.210565
+          ],
+          [
+            123.178476,
+            46.248239
+          ],
+          [
+            123.142136,
+            46.298293
+          ],
+          [
+            123.089781,
+            46.347888
+          ],
+          [
+            123.011557,
+            46.434984
+          ],
+          [
+            123.010325,
+            46.524823
+          ],
+          [
+            123.002318,
+            46.574624
+          ],
+          [
+            123.052825,
+            46.579972
+          ],
+          [
+            123.04605,
+            46.617803
+          ],
+          [
+            123.077462,
+            46.622324
+          ],
+          [
+            123.098404,
+            46.603002
+          ],
+          [
+            123.18094,
+            46.614103
+          ],
+          [
+            123.228368,
+            46.588198
+          ],
+          [
+            123.279491,
+            46.616981
+          ],
+          [
+            123.276411,
+            46.660947
+          ],
+          [
+            123.318295,
+            46.662179
+          ],
+          [
+            123.366338,
+            46.677784
+          ],
+          [
+            123.474743,
+            46.686817
+          ],
+          [
+            123.603475,
+            46.68928
+          ],
+          [
+            123.631808,
+            46.728675
+          ],
+          [
+            123.629344,
+            46.813524
+          ],
+          [
+            123.580069,
+            46.827447
+          ],
+          [
+            123.625648,
+            46.847508
+          ],
+          [
+            123.599163,
+            46.868378
+          ],
+          [
+            123.605322,
+            46.891286
+          ],
+          [
+            123.576989,
+            46.891286
+          ],
+          [
+            123.575757,
+            46.845461
+          ],
+          [
+            123.562823,
+            46.82581
+          ],
+          [
+            123.506772,
+            46.827038
+          ],
+          [
+            123.483366,
+            46.84587
+          ],
+          [
+            123.52833,
+            46.944836
+          ],
+          [
+            123.487678,
+            46.959951
+          ],
+          [
+            123.42362,
+            46.934212
+          ],
+          [
+            123.337389,
+            46.988943
+          ],
+          [
+            123.301664,
+            46.999965
+          ],
+          [
+            123.304128,
+            46.964852
+          ],
+          [
+            123.360179,
+            46.970978
+          ],
+          [
+            123.404526,
+            46.935438
+          ],
+          [
+            123.40699,
+            46.906416
+          ],
+          [
+            123.374345,
+            46.837683
+          ],
+          [
+            123.341084,
+            46.826628
+          ],
+          [
+            123.295505,
+            46.865105
+          ],
+          [
+            123.221592,
+            46.850373
+          ],
+          [
+            123.22344,
+            46.821305
+          ],
+          [
+            123.198802,
+            46.803283
+          ],
+          [
+            123.163694,
+            46.74016
+          ],
+          [
+            123.103332,
+            46.734828
+          ],
+          [
+            123.076846,
+            46.745082
+          ],
+          [
+            123.026339,
+            46.718829
+          ],
+          [
+            123.00355,
+            46.730726
+          ],
+          [
+            122.996774,
+            46.761483
+          ],
+          [
+            122.906847,
+            46.80738
+          ],
+          [
+            122.893913,
+            46.895376
+          ],
+          [
+            122.895144,
+            46.960359
+          ],
+          [
+            122.83971,
+            46.937072
+          ],
+          [
+            122.791051,
+            46.941567
+          ],
+          [
+            122.798442,
+            46.9575
+          ],
+          [
+            122.77442,
+            46.973837
+          ],
+          [
+            122.778116,
+            47.002822
+          ],
+          [
+            122.845869,
+            47.046881
+          ],
+          [
+            122.852645,
+            47.072158
+          ],
+          [
+            122.821232,
+            47.065636
+          ],
+          [
+            122.710363,
+            47.093349
+          ],
+          [
+            122.679566,
+            47.094164
+          ],
+          [
+            122.615508,
+            47.124306
+          ],
+          [
+            122.582863,
+            47.158092
+          ],
+          [
+            122.531124,
+            47.198771
+          ],
+          [
+            122.498479,
+            47.255262
+          ],
+          [
+            122.462755,
+            47.27841
+          ],
+          [
+            122.441197,
+            47.310476
+          ],
+          [
+            122.418407,
+            47.350632
+          ],
+          [
+            122.507103,
+            47.401291
+          ],
+          [
+            122.543443,
+            47.495589
+          ],
+          [
+            122.59395,
+            47.54732
+          ],
+          [
+            122.765181,
+            47.614333
+          ],
+          [
+            122.848949,
+            47.67441
+          ],
+          [
+            122.926557,
+            47.697777
+          ],
+          [
+            123.041122,
+            47.746492
+          ],
+          [
+            123.161846,
+            47.781892
+          ],
+          [
+            123.214201,
+            47.824502
+          ],
+          [
+            123.256085,
+            47.876711
+          ],
+          [
+            123.300432,
+            47.953723
+          ],
+          [
+            123.537569,
+            48.021816
+          ],
+          [
+            123.579453,
+            48.045427
+          ],
+          [
+            123.705105,
+            48.152142
+          ],
+          [
+            123.746373,
+            48.197638
+          ],
+          [
+            123.862785,
+            48.271782
+          ],
+          [
+            124.019234,
+            48.39313
+          ],
+          [
+            124.07898,
+            48.43603
+          ],
+          [
+            124.136878,
+            48.463023
+          ],
+          [
+            124.25945,
+            48.536385
+          ],
+          [
+            124.314269,
+            48.503881
+          ],
+          [
+            124.302566,
+            48.456673
+          ],
+          [
+            124.330283,
+            48.435633
+          ],
+          [
+            124.309957,
+            48.413393
+          ],
+          [
+            124.331515,
+            48.380015
+          ],
+          [
+            124.317964,
+            48.35099
+          ],
+          [
+            124.353689,
+            48.315978
+          ],
+          [
+            124.365392,
+            48.283731
+          ],
+          [
+            124.422058,
+            48.245884
+          ],
+          [
+            124.412819,
+            48.219175
+          ],
+          [
+            124.418978,
+            48.181679
+          ],
+          [
+            124.475029,
+            48.173698
+          ],
+          [
+            124.471333,
+            48.133373
+          ],
+          [
+            124.430065,
+            48.12099
+          ],
+          [
+            124.415899,
+            48.08782
+          ],
+          [
+            124.46579,
+            48.098213
+          ],
+          [
+            124.478108,
+            48.123387
+          ],
+          [
+            124.505826,
+            48.124985
+          ],
+          [
+            124.529847,
+            48.146951
+          ],
+          [
+            124.512601,
+            48.164518
+          ],
+          [
+            124.547094,
+            48.200829
+          ],
+          [
+            124.579122,
+            48.262221
+          ],
+          [
+            124.558796,
+            48.268197
+          ],
+          [
+            124.579738,
+            48.297269
+          ],
+          [
+            124.540934,
+            48.335476
+          ],
+          [
+            124.547094,
+            48.35775
+          ],
+          [
+            124.51876,
+            48.378027
+          ],
+          [
+            124.52492,
+            48.426897
+          ],
+          [
+            124.507674,
+            48.445558
+          ],
+          [
+            124.555717,
+            48.467784
+          ],
+          [
+            124.533543,
+            48.515379
+          ],
+          [
+            124.548941,
+            48.535593
+          ],
+          [
+            124.520608,
+            48.556195
+          ],
+          [
+            124.579122,
+            48.596582
+          ],
+          [
+            124.601912,
+            48.632587
+          ],
+          [
+            124.624702,
+            48.701755
+          ],
+          [
+            124.612383,
+            48.747945
+          ],
+          [
+            124.656115,
+            48.783842
+          ],
+          [
+            124.644412,
+            48.80789
+          ],
+          [
+            124.654267,
+            48.83429
+          ],
+          [
+            124.697383,
+            48.841775
+          ],
+          [
+            124.715861,
+            48.885475
+          ],
+          [
+            124.709086,
+            48.920487
+          ],
+          [
+            124.744194,
+            48.920487
+          ],
+          [
+            124.756513,
+            48.967262
+          ],
+          [
+            124.808252,
+            49.020666
+          ],
+          [
+            124.828578,
+            49.077933
+          ],
+          [
+            124.809484,
+            49.115943
+          ],
+          [
+            124.847672,
+            49.129651
+          ],
+          [
+            124.860607,
+            49.166448
+          ],
+          [
+            124.906802,
+            49.184054
+          ],
+          [
+            124.983179,
+            49.162535
+          ],
+          [
+            125.039845,
+            49.17623
+          ],
+          [
+            125.034302,
+            49.157056
+          ],
+          [
+            125.117453,
+            49.126127
+          ],
+          [
+            125.158721,
+            49.144921
+          ],
+          [
+            125.187671,
+            49.186792
+          ],
+          [
+            125.219699,
+            49.189139
+          ],
+          [
+            125.227707,
+            49.248947
+          ],
+          [
+            125.214772,
+            49.277066
+          ],
+          [
+            125.261583,
+            49.322336
+          ],
+          [
+            125.256656,
+            49.359769
+          ],
+          [
+            125.277598,
+            49.379644
+          ],
+          [
+            125.25604,
+            49.395227
+          ],
+          [
+            125.256656,
+            49.437275
+          ],
+          [
+            125.270822,
+            49.454395
+          ],
+          [
+            125.228323,
+            49.487063
+          ],
+          [
+            125.211076,
+            49.539908
+          ],
+          [
+            125.233866,
+            49.536801
+          ],
+          [
+            125.23017,
+            49.595411
+          ],
+          [
+            125.205533,
+            49.593859
+          ],
+          [
+            125.16796,
+            49.629923
+          ],
+          [
+            125.15441,
+            49.616741
+          ],
+          [
+            125.127308,
+            49.655113
+          ],
+          [
+            125.132236,
+            49.672157
+          ],
+          [
+            125.164881,
+            49.669446
+          ],
+          [
+            125.189518,
+            49.652401
+          ],
+          [
+            125.185207,
+            49.634574
+          ],
+          [
+            125.219699,
+            49.669058
+          ],
+          [
+            125.225243,
+            49.726349
+          ],
+          [
+            125.204301,
+            49.734086
+          ],
+          [
+            125.221547,
+            49.754969
+          ],
+          [
+            125.222779,
+            49.799026
+          ],
+          [
+            125.177815,
+            49.829533
+          ],
+          [
+            125.239409,
+            49.844587
+          ],
+          [
+            125.225243,
+            49.867351
+          ],
+          [
+            125.245569,
+            49.87198
+          ],
+          [
+            125.212924,
+            49.907452
+          ],
+          [
+            125.225859,
+            49.922481
+          ],
+          [
+            125.199373,
+            49.935194
+          ],
+          [
+            125.190134,
+            49.959841
+          ],
+          [
+            125.231402,
+            49.957531
+          ],
+          [
+            125.241873,
+            49.987938
+          ],
+          [
+            125.278214,
+            49.996402
+          ],
+          [
+            125.297924,
+            50.014481
+          ],
+          [
+            125.283757,
+            50.036012
+          ],
+          [
+            125.25296,
+            50.041393
+          ],
+          [
+            125.289916,
+            50.057917
+          ],
+          [
+            125.315786,
+            50.04562
+          ],
+          [
+            125.328105,
+            50.065985
+          ],
+          [
+            125.283757,
+            50.070211
+          ],
+          [
+            125.287453,
+            50.093636
+          ],
+          [
+            125.258504,
+            50.103618
+          ],
+          [
+            125.27883,
+            50.127411
+          ],
+          [
+            125.311474,
+            50.140453
+          ],
+          [
+            125.376148,
+            50.137385
+          ],
+          [
+            125.335496,
+            50.161161
+          ],
+          [
+            125.382923,
+            50.172278
+          ],
+          [
+            125.39093,
+            50.199868
+          ],
+          [
+            125.417416,
+            50.195654
+          ],
+          [
+            125.448829,
+            50.216338
+          ],
+          [
+            125.442053,
+            50.260357
+          ],
+          [
+            125.466075,
+            50.266861
+          ],
+          [
+            125.463611,
+            50.295925
+          ],
+          [
+            125.530749,
+            50.331085
+          ],
+          [
+            125.520278,
+            50.3498
+          ],
+          [
+            125.546763,
+            50.358965
+          ],
+          [
+            125.522126,
+            50.404759
+          ],
+          [
+            125.536292,
+            50.420014
+          ],
+          [
+            125.567089,
+            50.402852
+          ],
+          [
+            125.583104,
+            50.409717
+          ],
+          [
+            125.562162,
+            50.438314
+          ],
+          [
+            125.580024,
+            50.449366
+          ],
+          [
+            125.627451,
+            50.443268
+          ],
+          [
+            125.654553,
+            50.471082
+          ],
+          [
+            125.699516,
+            50.487078
+          ],
+          [
+            125.740784,
+            50.523237
+          ],
+          [
+            125.754335,
+            50.506874
+          ],
+          [
+            125.770349,
+            50.531227
+          ],
+          [
+            125.794987,
+            50.532748
+          ],
+          [
+            125.829479,
+            50.56165
+          ],
+          [
+            125.807921,
+            50.60383
+          ],
+          [
+            125.814697,
+            50.62092
+          ],
+          [
+            125.793139,
+            50.643316
+          ],
+          [
+            125.804226,
+            50.658874
+          ],
+          [
+            125.789443,
+            50.679735
+          ],
+          [
+            125.825784,
+            50.70362
+          ],
+          [
+            125.78082,
+            50.725598
+          ],
+          [
+            125.795603,
+            50.738856
+          ],
+          [
+            125.758646,
+            50.746809
+          ],
+          [
+            125.804226,
+            50.773309
+          ],
+          [
+            125.828863,
+            50.756654
+          ],
+          [
+            125.846726,
+            50.769524
+          ],
+          [
+            125.836255,
+            50.793363
+          ],
+          [
+            125.890457,
+            50.805845
+          ],
+          [
+            125.878138,
+            50.816812
+          ],
+          [
+            125.913247,
+            50.825885
+          ],
+          [
+            125.939732,
+            50.85423
+          ],
+          [
+            125.961906,
+            50.901054
+          ],
+          [
+            125.997631,
+            50.872738
+          ],
+          [
+            125.996399,
+            50.906715
+          ],
+          [
+            126.02042,
+            50.927466
+          ],
+          [
+            126.042594,
+            50.92558
+          ],
+          [
+            126.068464,
+            50.967434
+          ],
+          [
+            126.041978,
+            50.981753
+          ],
+          [
+            126.033971,
+            51.011132
+          ],
+          [
+            126.059225,
+            51.043503
+          ],
+          [
+            125.976073,
+            51.084498
+          ],
+          [
+            125.993935,
+            51.119072
+          ],
+          [
+            125.970529,
+            51.123955
+          ],
+          [
+            125.946508,
+            51.108176
+          ],
+          [
+            125.909551,
+            51.138977
+          ],
+          [
+            125.864588,
+            51.146487
+          ],
+          [
+            125.850421,
+            51.21364
+          ],
+          [
+            125.819008,
+            51.227134
+          ],
+          [
+            125.761726,
+            51.226385
+          ],
+          [
+            125.76111,
+            51.261976
+          ],
+          [
+            125.740784,
+            51.27583
+          ],
+          [
+            125.700132,
+            51.327465
+          ],
+          [
+            125.626219,
+            51.380163
+          ],
+          [
+            125.623756,
+            51.387633
+          ],
+          [
+            125.62314,
+            51.398089
+          ],
+          [
+            125.600966,
+            51.410409
+          ],
+          [
+            125.60035,
+            51.413396
+          ],
+          [
+            125.595422,
+            51.416755
+          ],
+          [
+            125.559082,
+            51.461521
+          ],
+          [
+            125.528285,
+            51.488359
+          ],
+          [
+            125.424807,
+            51.562827
+          ],
+          [
+            125.38046,
+            51.585516
+          ],
+          [
+            125.35151,
+            51.623801
+          ],
+          [
+            125.316402,
+            51.610052
+          ],
+          [
+            125.289301,
+            51.633831
+          ],
+          [
+            125.228938,
+            51.640517
+          ],
+          [
+            125.214772,
+            51.627888
+          ],
+          [
+            125.175968,
+            51.639403
+          ],
+          [
+            125.130388,
+            51.635317
+          ],
+          [
+            125.12854,
+            51.659083
+          ],
+          [
+            125.098975,
+            51.658341
+          ],
+          [
+            125.060171,
+            51.59667
+          ],
+          [
+            125.073106,
+            51.553526
+          ],
+          [
+            125.047236,
+            51.529704
+          ],
+          [
+            125.004737,
+            51.529332
+          ],
+          [
+            124.983795,
+            51.508478
+          ],
+          [
+            124.928976,
+            51.498419
+          ],
+          [
+            124.917889,
+            51.474196
+          ],
+          [
+            124.942527,
+            51.447349
+          ],
+          [
+            124.885244,
+            51.40817
+          ],
+          [
+            124.864302,
+            51.37979
+          ],
+          [
+            124.783614,
+            51.392115
+          ],
+          [
+            124.76452,
+            51.38726
+          ],
+          [
+            124.752817,
+            51.35812
+          ],
+          [
+            124.693687,
+            51.3327
+          ],
+          [
+            124.62655,
+            51.327465
+          ],
+          [
+            124.58713,
+            51.363725
+          ],
+          [
+            124.555717,
+            51.375307
+          ],
+          [
+            124.490427,
+            51.380537
+          ],
+          [
+            124.478108,
+            51.36223
+          ],
+          [
+            124.443616,
+            51.35812
+          ],
+          [
+            124.426985,
+            51.331953
+          ],
+          [
+            124.430065,
+            51.301281
+          ],
+          [
+            124.406659,
+            51.272086
+          ],
+          [
+            124.339522,
+            51.293422
+          ],
+          [
+            124.297638,
+            51.298661
+          ],
+          [
+            124.271769,
+            51.308389
+          ],
+          [
+            124.239124,
+            51.344664
+          ],
+          [
+            124.192313,
+            51.33943
+          ],
+          [
+            124.128255,
+            51.347281
+          ],
+          [
+            124.090067,
+            51.3413
+          ],
+          [
+            124.071588,
+            51.320734
+          ],
+          [
+            123.994596,
+            51.322604
+          ],
+          [
+            123.939777,
+            51.313253
+          ],
+          [
+            123.926227,
+            51.300532
+          ],
+          [
+            123.887423,
+            51.320734
+          ],
+          [
+            123.842459,
+            51.367462
+          ],
+          [
+            123.794416,
+            51.361109
+          ],
+          [
+            123.711264,
+            51.398089
+          ],
+          [
+            123.660141,
+            51.342795
+          ],
+          [
+            123.661989,
+            51.319237
+          ],
+          [
+            123.582533,
+            51.306893
+          ],
+          [
+            123.582533,
+            51.294545
+          ],
+          [
+            123.46304,
+            51.286686
+          ],
+          [
+            123.440251,
+            51.270963
+          ],
+          [
+            123.414381,
+            51.278825
+          ],
+          [
+            123.376809,
+            51.266844
+          ],
+          [
+            123.339853,
+            51.27246
+          ],
+          [
+            123.294273,
+            51.254111
+          ],
+          [
+            123.231447,
+            51.268716
+          ],
+          [
+            123.231447,
+            51.279199
+          ],
+          [
+            123.127969,
+            51.297913
+          ],
+          [
+            123.069455,
+            51.321108
+          ],
+          [
+            123.002934,
+            51.31213
+          ],
+          [
+            122.965977,
+            51.345786
+          ],
+          [
+            122.965977,
+            51.386886
+          ],
+          [
+            122.946267,
+            51.405183
+          ],
+          [
+            122.903768,
+            51.415262
+          ],
+          [
+            122.900072,
+            51.445112
+          ],
+          [
+            122.871123,
+            51.455181
+          ],
+          [
+            122.854492,
+            51.477551
+          ],
+          [
+            122.880362,
+            51.511085
+          ],
+          [
+            122.858804,
+            51.524864
+          ],
+          [
+            122.880362,
+            51.537894
+          ],
+          [
+            122.874202,
+            51.561339
+          ],
+          [
+            122.832935,
+            51.581797
+          ],
+          [
+            122.85634,
+            51.606707
+          ],
+          [
+            122.820616,
+            51.633088
+          ],
+          [
+            122.816304,
+            51.655371
+          ],
+          [
+            122.778732,
+            51.698048
+          ],
+          [
+            122.749167,
+            51.746613
+          ],
+          [
+            122.771957,
+            51.779579
+          ],
+          [
+            122.732536,
+            51.832495
+          ],
+          [
+            122.725761,
+            51.87833
+          ],
+          [
+            122.706051,
+            51.890151
+          ],
+          [
+            122.729457,
+            51.919321
+          ],
+          [
+            122.726377,
+            51.978709
+          ],
+          [
+            122.683877,
+            51.974654
+          ],
+          [
+            122.664783,
+            51.99861
+          ],
+          [
+            122.650616,
+            52.058997
+          ],
+          [
+            122.625363,
+            52.067459
+          ],
+          [
+            122.643841,
+            52.111585
+          ],
+          [
+            122.629059,
+            52.13657
+          ],
+          [
+            122.690653,
+            52.140243
+          ],
+          [
+            122.73808,
+            52.153464
+          ],
+          [
+            122.769493,
+            52.179893
+          ],
+          [
+            122.766413,
+            52.232705
+          ],
+          [
+            122.787355,
+            52.252494
+          ],
+          [
+            122.76087,
+            52.26678
+          ],
+          [
+            122.710979,
+            52.256157
+          ],
+          [
+            122.67895,
+            52.276667
+          ],
+          [
+            122.585943,
+            52.266413
+          ],
+          [
+            122.560689,
+            52.282526
+          ],
+          [
+            122.478153,
+            52.29607
+          ],
+          [
+            122.484313,
+            52.341432
+          ],
+          [
+            122.447356,
+            52.394052
+          ],
+          [
+            122.419023,
+            52.375057
+          ],
+          [
+            122.378987,
+            52.395512
+          ],
+          [
+            122.367284,
+            52.413768
+          ],
+          [
+            122.342031,
+            52.414133
+          ],
+          [
+            122.326016,
+            52.459374
+          ],
+          [
+            122.310618,
+            52.475416
+          ],
+          [
+            122.207756,
+            52.469218
+          ],
+          [
+            122.178191,
+            52.48963
+          ],
+          [
+            122.168952,
+            52.513674
+          ],
+          [
+            122.140003,
+            52.510032
+          ],
+          [
+            122.142467,
+            52.495096
+          ],
+          [
+            122.107358,
+            52.452445
+          ],
+          [
+            122.080873,
+            52.440407
+          ],
+          [
+            122.091344,
+            52.427272
+          ],
+          [
+            122.040837,
+            52.413038
+          ],
+          [
+            122.035909,
+            52.377615
+          ],
+          [
+            121.976779,
+            52.343626
+          ],
+          [
+            121.94783,
+            52.298266
+          ],
+          [
+            121.901018,
+            52.280695
+          ],
+          [
+            121.841272,
+            52.282526
+          ],
+          [
+            121.769207,
+            52.308147
+          ],
+          [
+            121.714389,
+            52.318025
+          ],
+          [
+            121.715621,
+            52.342894
+          ],
+          [
+            121.658338,
+            52.3904
+          ],
+          [
+            121.678664,
+            52.419973
+          ],
+          [
+            121.63986,
+            52.44442
+          ],
+          [
+            121.590585,
+            52.443326
+          ],
+          [
+            121.565331,
+            52.460468
+          ],
+          [
+            121.519136,
+            52.456821
+          ],
+          [
+            121.495114,
+            52.484892
+          ],
+          [
+            121.474172,
+            52.482706
+          ],
+          [
+            121.416274,
+            52.499468
+          ],
+          [
+            121.411963,
+            52.52205
+          ],
+          [
+            121.353448,
+            52.534793
+          ],
+          [
+            121.323883,
+            52.573727
+          ],
+          [
+            121.280151,
+            52.586819
+          ],
+          [
+            121.225333,
+            52.577364
+          ],
+          [
+            121.182217,
+            52.59918
+          ],
+          [
+            121.237036,
+            52.619167
+          ],
+          [
+            121.29247,
+            52.651855
+          ],
+          [
+            121.309717,
+            52.676173
+          ],
+          [
+            121.373158,
+            52.683067
+          ],
+          [
+            121.455078,
+            52.73528
+          ],
+          [
+            121.476636,
+            52.772225
+          ],
+          [
+            121.511129,
+            52.779104
+          ],
+          [
+            121.537614,
+            52.801542
+          ],
+          [
+            121.591201,
+            52.824693
+          ],
+          [
+            121.620766,
+            52.853251
+          ],
+          [
+            121.604136,
+            52.872401
+          ],
+          [
+            121.610295,
+            52.892264
+          ],
+          [
+            121.66265,
+            52.912478
+          ],
+          [
+            121.677432,
+            52.948192
+          ],
+          [
+            121.715621,
+            52.997926
+          ],
+          [
+            121.785838,
+            53.018451
+          ],
+          [
+            121.817867,
+            53.061631
+          ],
+          [
+            121.775367,
+            53.089674
+          ],
+          [
+            121.784606,
+            53.104408
+          ],
+          [
+            121.753193,
+            53.147501
+          ],
+          [
+            121.722396,
+            53.145706
+          ],
+          [
+            121.665114,
+            53.170467
+          ],
+          [
+            121.660186,
+            53.195213
+          ],
+          [
+            121.67928,
+            53.199515
+          ],
+          [
+            121.679896,
+            53.240722
+          ],
+          [
+            121.642324,
+            53.262564
+          ],
+          [
+            121.615222,
+            53.258984
+          ],
+          [
+            121.575802,
+            53.29155
+          ],
+          [
+            121.504969,
+            53.323018
+          ],
+          [
+            121.499426,
+            53.337314
+          ],
+          [
+            121.416274,
+            53.319443
+          ],
+          [
+            121.336818,
+            53.325877
+          ],
+          [
+            121.308485,
+            53.301565
+          ],
+          [
+            121.227797,
+            53.280459
+          ],
+          [
+            121.155732,
+            53.285468
+          ],
+          [
+            121.129246,
+            53.277238
+          ],
+          [
+            121.098449,
+            53.306929
+          ],
+          [
+            121.055334,
+            53.29155
+          ],
+          [
+            120.950624,
+            53.29763
+          ],
+          [
+            120.936457,
+            53.28833
+          ],
+          [
+            120.882871,
+            53.294411
+          ],
+          [
+            120.867472,
+            53.278669
+          ],
+          [
+            120.820661,
+            53.269007
+          ],
+          [
+            120.838523,
+            53.239648
+          ],
+          [
+            120.821893,
+            53.241797
+          ],
+          [
+            120.736277,
+            53.204892
+          ],
+          [
+            120.690698,
+            53.174771
+          ],
+          [
+            120.687002,
+            53.142476
+          ],
+          [
+            120.659901,
+            53.137091
+          ],
+          [
+            120.643886,
+            53.106923
+          ],
+          [
+            120.562582,
+            53.082845
+          ],
+          [
+            120.529321,
+            53.045803
+          ],
+          [
+            120.452945,
+            53.01017
+          ],
+          [
+            120.411061,
+            52.957927
+          ],
+          [
+            120.363018,
+            52.94134
+          ],
+          [
+            120.350699,
+            52.906343
+          ],
+          [
+            120.295265,
+            52.891542
+          ],
+          [
+            120.297112,
+            52.869872
+          ],
+          [
+            120.222584,
+            52.84277
+          ],
+          [
+            120.181316,
+            52.806969
+          ],
+          [
+            120.14128,
+            52.813119
+          ],
+          [
+            120.101244,
+            52.788877
+          ],
+          [
+            120.031642,
+            52.773674
+          ],
+          [
+            120.071063,
+            52.70628
+          ],
+          [
+            120.035338,
+            52.646409
+          ],
+          [
+            120.049505,
+            52.598453
+          ],
+          [
+            120.07599,
+            52.586092
+          ],
+          [
+            120.125265,
+            52.586819
+          ],
+          [
+            120.194866,
+            52.578819
+          ],
+          [
+            120.289721,
+            52.623527
+          ],
+          [
+            120.396895,
+            52.616261
+          ],
+          [
+            120.462184,
+            52.64532
+          ],
+          [
+            120.483742,
+            52.630066
+          ],
+          [
+            120.56135,
+            52.595544
+          ],
+          [
+            120.605082,
+            52.589364
+          ],
+          [
+            120.62664,
+            52.570818
+          ],
+          [
+            120.658669,
+            52.56718
+          ],
+          [
+            120.690698,
+            52.547532
+          ],
+          [
+            120.734429,
+            52.536977
+          ],
+          [
+            120.687002,
+            52.511489
+          ],
+          [
+            120.706712,
+            52.492909
+          ],
+          [
+            120.68269,
+            52.464479
+          ],
+          [
+            120.688234,
+            52.427637
+          ],
+          [
+            120.64943,
+            52.3904
+          ],
+          [
+            120.653741,
+            52.371038
+          ],
+          [
+            120.62356,
+            52.361172
+          ],
+          [
+            120.627256,
+            52.323878
+          ],
+          [
+            120.653741,
+            52.302658
+          ],
+          [
+            120.695625,
+            52.290214
+          ],
+          [
+            120.715951,
+            52.261286
+          ],
+          [
+            120.755371,
+            52.258355
+          ],
+          [
+            120.745516,
+            52.20594
+          ],
+          [
+            120.786784,
+            52.15787
+          ],
+          [
+            120.760299,
+            52.136937
+          ],
+          [
+            120.76769,
+            52.10938
+          ],
+          [
+            120.753523,
+            52.085483
+          ],
+          [
+            120.717183,
+            52.072978
+          ],
+          [
+            120.690698,
+            52.047221
+          ],
+          [
+            120.691929,
+            52.026973
+          ],
+          [
+            120.717799,
+            52.015556
+          ],
+          [
+            120.704864,
+            51.983501
+          ],
+          [
+            120.66298,
+            51.958061
+          ],
+          [
+            120.656821,
+            51.926333
+          ],
+          [
+            120.548416,
+            51.907877
+          ],
+          [
+            120.549032,
+            51.882394
+          ],
+          [
+            120.481278,
+            51.885719
+          ],
+          [
+            120.480046,
+            51.855049
+          ],
+          [
+            120.40059,
+            51.833605
+          ],
+          [
+            120.40675,
+            51.81659
+          ],
+          [
+            120.363634,
+            51.789945
+          ],
+          [
+            120.317438,
+            51.785873
+          ],
+          [
+            120.294649,
+            51.752171
+          ],
+          [
+            120.226279,
+            51.717703
+          ],
+          [
+            120.172693,
+            51.679868
+          ],
+          [
+            120.087077,
+            51.678013
+          ],
+          [
+            120.100628,
+            51.649058
+          ],
+          [
+            120.05936,
+            51.634203
+          ],
+          [
+            120.035954,
+            51.583657
+          ],
+          [
+            120.052584,
+            51.560967
+          ],
+          [
+            120.017476,
+            51.52114
+          ],
+          [
+            119.985447,
+            51.505125
+          ],
+          [
+            119.982367,
+            51.482396
+          ],
+          [
+            120.002693,
+            51.459283
+          ],
+          [
+            119.982983,
+            51.445112
+          ],
+          [
+            119.97128,
+            51.40033
+          ],
+          [
+            119.910918,
+            51.390994
+          ],
+          [
+            119.914614,
+            51.374187
+          ],
+          [
+            119.946643,
+            51.360736
+          ],
+          [
+            119.883817,
+            51.336813
+          ],
+          [
+            119.885049,
+            51.302777
+          ],
+          [
+            119.811136,
+            51.281071
+          ],
+          [
+            119.828383,
+            51.263099
+          ],
+          [
+            119.797586,
+            51.243622
+          ],
+          [
+            119.821607,
+            51.21439
+          ],
+          [
+            119.784035,
+            51.22601
+          ],
+          [
+            119.760629,
+            51.212516
+          ],
+          [
+            119.788346,
+            51.174636
+          ],
+          [
+            119.771716,
+            51.124331
+          ],
+          [
+            119.752622,
+            51.117193
+          ],
+          [
+            119.764325,
+            51.092017
+          ],
+          [
+            119.719361,
+            51.075099
+          ],
+          [
+            119.726753,
+            51.051028
+          ],
+          [
+            119.678093,
+            51.016404
+          ],
+          [
+            119.630666,
+            51.00925
+          ],
+          [
+            119.598637,
+            50.984767
+          ],
+          [
+            119.569688,
+            50.933879
+          ],
+          [
+            119.491464,
+            50.87878
+          ],
+          [
+            119.498855,
+            50.827776
+          ],
+          [
+            119.515485,
+            50.814165
+          ],
+          [
+            119.496391,
+            50.771795
+          ],
+          [
+            119.506862,
+            50.763846
+          ],
+          [
+            119.450196,
+            50.695281
+          ],
+          [
+            119.430486,
+            50.684286
+          ],
+          [
+            119.385522,
+            50.682769
+          ],
+          [
+            119.394145,
+            50.667219
+          ],
+          [
+            119.361501,
+            50.632689
+          ],
+          [
+            119.298059,
+            50.616743
+          ],
+          [
+            119.281428,
+            50.601551
+          ],
+          [
+            119.295595,
+            50.573814
+          ],
+          [
+            119.264182,
+            50.536933
+          ],
+          [
+            119.262334,
+            50.490124
+          ],
+          [
+            119.250631,
+            50.448604
+          ],
+          [
+            119.22353,
+            50.441363
+          ],
+          [
+            119.217371,
+            50.414675
+          ],
+          [
+            119.165016,
+            50.422683
+          ],
+          [
+            119.125596,
+            50.389118
+          ],
+          [
+            119.176719,
+            50.378814
+          ],
+          [
+            119.155777,
+            50.364691
+          ],
+          [
+            119.188422,
+            50.347509
+          ],
+          [
+            119.232153,
+            50.365455
+          ],
+          [
+            119.259871,
+            50.345218
+          ],
+          [
+            119.277117,
+            50.366218
+          ],
+          [
+            119.322696,
+            50.352474
+          ],
+          [
+            119.358421,
+            50.358965
+          ],
+          [
+            119.381827,
+            50.324208
+          ],
+          [
+            119.35103,
+            50.303953
+          ],
+          [
+            119.339943,
+            50.244668
+          ],
+          [
+            119.319001,
+            50.220933
+          ],
+          [
+            119.358421,
+            50.197953
+          ],
+          [
+            119.339327,
+            50.192206
+          ],
+          [
+            119.350414,
+            50.166145
+          ],
+          [
+            119.309762,
+            50.161161
+          ],
+          [
+            119.290052,
+            50.121655
+          ],
+          [
+            119.236465,
+            50.075204
+          ],
+          [
+            119.190269,
+            50.087877
+          ],
+          [
+            119.193965,
+            50.069826
+          ],
+          [
+            119.163168,
+            50.027554
+          ],
+          [
+            119.12498,
+            50.019095
+          ],
+          [
+            119.090487,
+            49.985629
+          ],
+          [
+            118.982082,
+            49.979087
+          ],
+          [
+            118.964836,
+            49.988708
+          ],
+          [
+            118.791757,
+            49.955606
+          ],
+          [
+            118.761576,
+            49.959456
+          ],
+          [
+            118.739402,
+            49.946364
+          ],
+          [
+            118.672264,
+            49.955991
+          ],
+          [
+            118.605127,
+            49.926719
+          ],
+          [
+            118.574946,
+            49.931342
+          ],
+          [
+            118.531214,
+            49.887791
+          ],
+          [
+            118.485019,
+            49.866194
+          ],
+          [
+            118.483787,
+            49.830691
+          ],
+          [
+            118.443751,
+            49.835709
+          ],
+          [
+            118.385853,
+            49.827217
+          ],
+          [
+            118.398787,
+            49.802502
+          ],
+          [
+            118.384005,
+            49.783958
+          ],
+          [
+            118.315636,
+            49.766953
+          ],
+          [
+            118.284223,
+            49.743755
+          ],
+          [
+            118.220781,
+            49.729831
+          ],
+          [
+            118.211542,
+            49.690744
+          ],
+          [
+            118.156723,
+            49.660149
+          ],
+          [
+            118.129622,
+            49.669446
+          ],
+          [
+            118.082811,
+            49.616741
+          ],
+          [
+            118.011362,
+            49.614803
+          ],
+          [
+            117.995963,
+            49.623332
+          ],
+          [
+            117.950999,
+            49.596187
+          ],
+          [
+            117.866,
+            49.591532
+          ],
+          [
+            117.849369,
+            49.551557
+          ],
+          [
+            117.809333,
+            49.521263
+          ],
+          [
+            117.638102,
+            49.574847
+          ],
+          [
+            117.485349,
+            49.633024
+          ],
+          [
+            117.278394,
+            49.636512
+          ],
+          [
+            117.068974,
+            49.695389
+          ],
+          [
+            116.736367,
+            49.847674
+          ],
+          [
+            116.717889,
+            49.847288
+          ],
+          [
+            116.428397,
+            49.430659
+          ],
+          [
+            116.048363,
+            48.873274
+          ],
+          [
+            116.077928,
+            48.822471
+          ],
+          [
+            116.069305,
+            48.811437
+          ],
+          [
+            115.83032,
+            48.560156
+          ],
+          [
+            115.799523,
+            48.514982
+          ],
+          [
+            115.822929,
+            48.259432
+          ],
+          [
+            115.81061,
+            48.257042
+          ],
+          [
+            115.529126,
+            48.155336
+          ],
+          [
+            115.545141,
+            48.134971
+          ],
+          [
+            115.539597,
+            48.104607
+          ],
+          [
+            115.580249,
+            47.921649
+          ],
+          [
+            115.939342,
+            47.683275
+          ],
+          [
+            115.968291,
+            47.689721
+          ],
+          [
+            116.111189,
+            47.811642
+          ],
+          [
+            116.130283,
+            47.823296
+          ],
+          [
+            116.26579,
+            47.876711
+          ],
+          [
+            116.453035,
+            47.837358
+          ],
+          [
+            116.669846,
+            47.890758
+          ],
+          [
+            116.791186,
+            47.89758
+          ],
+          [
+            116.879265,
+            47.893968
+          ],
+          [
+            117.094844,
+            47.8241
+          ],
+          [
+            117.384335,
+            47.641356
+          ],
+          [
+            117.493357,
+            47.758563
+          ],
+          [
+            117.519226,
+            47.761782
+          ],
+          [
+            117.529081,
+            47.782697
+          ],
+          [
+            117.813645,
+            48.016212
+          ],
+          [
+            117.886942,
+            48.025418
+          ],
+          [
+            117.96147,
+            48.011007
+          ],
+          [
+            118.052014,
+            48.01421
+          ],
+          [
+            118.107448,
+            48.031021
+          ],
+          [
+            118.124694,
+            48.047427
+          ],
+          [
+            118.150564,
+            48.036224
+          ],
+          [
+            118.238643,
+            48.041826
+          ],
+          [
+            118.238027,
+            48.031422
+          ],
+          [
+            118.284839,
+            48.011007
+          ],
+          [
+            118.351976,
+            48.006203
+          ],
+          [
+            118.37415,
+            48.016612
+          ],
+          [
+            118.422193,
+            48.01461
+          ],
+          [
+            118.441903,
+            47.995791
+          ],
+          [
+            118.568171,
+            47.992187
+          ],
+          [
+            118.773278,
+            47.771034
+          ],
+          [
+            119.134219,
+            47.664335
+          ],
+          [
+            119.152081,
+            47.540453
+          ],
+          [
+            119.205052,
+            47.520249
+          ],
+          [
+            119.365812,
+            47.47739
+          ],
+          [
+            119.32208,
+            47.42721
+          ],
+          [
+            119.365812,
+            47.423161
+          ],
+          [
+            119.386138,
+            47.397645
+          ],
+          [
+            119.437877,
+            47.378602
+          ],
+          [
+            119.450812,
+            47.353065
+          ],
+          [
+            119.559217,
+            47.303172
+          ],
+          [
+            119.56784,
+            47.248357
+          ],
+          [
+            119.627586,
+            47.247544
+          ],
+          [
+            119.716282,
+            47.195518
+          ],
+          [
+            119.763093,
+            47.13082
+          ],
+          [
+            119.806825,
+            47.055037
+          ],
+          [
+            119.79081,
+            47.04525
+          ],
+          [
+            119.795122,
+            47.013024
+          ],
+          [
+            119.845013,
+            46.964852
+          ],
+          [
+            119.859795,
+            46.917046
+          ],
+          [
+            119.926933,
+            46.903963
+          ],
+          [
+            119.920157,
+            46.853238
+          ],
+          [
+            119.936172,
+            46.790173
+          ],
+          [
+            119.917078,
+            46.758203
+          ],
+          [
+            119.93494,
+            46.712674
+          ],
+          [
+            119.911534,
+            46.669572
+          ],
+          [
+            119.859179,
+            46.669572
+          ],
+          [
+            119.804361,
+            46.68189
+          ],
+          [
+            119.8136,
+            46.66834
+          ],
+          [
+            119.783419,
+            46.626023
+          ],
+          [
+            119.739687,
+            46.615336
+          ],
+          [
+            119.677477,
+            46.584908
+          ],
+          [
+            119.682405,
+            46.605058
+          ],
+          [
+            119.656535,
+            46.625612
+          ],
+          [
+            119.598637,
+            46.618214
+          ],
+          [
+            119.557985,
+            46.633832
+          ],
+          [
+            119.491464,
+            46.629311
+          ],
+          [
+            119.431718,
+            46.638763
+          ],
+          [
+            119.374435,
+            46.603414
+          ],
+          [
+            119.357805,
+            46.619447
+          ],
+          [
+            119.325776,
+            46.608759
+          ],
+          [
+            119.26295,
+            46.649034
+          ],
+          [
+            119.20074,
+            46.648213
+          ],
+          [
+            119.152081,
+            46.658072
+          ],
+          [
+            119.123132,
+            46.642872
+          ],
+          [
+            119.073857,
+            46.676552
+          ],
+          [
+            119.011647,
+            46.745902
+          ],
+          [
+            118.951285,
+            46.722111
+          ],
+          [
+            118.912481,
+            46.733188
+          ],
+          [
+            118.914329,
+            46.77501
+          ],
+          [
+            118.845343,
+            46.771731
+          ],
+          [
+            118.788061,
+            46.717598
+          ],
+          [
+            118.788061,
+            46.687227
+          ],
+          [
+            118.677192,
+            46.6979
+          ],
+          [
+            118.639004,
+            46.721291
+          ],
+          [
+            118.586033,
+            46.692975
+          ],
+          [
+            118.446831,
+            46.704467
+          ],
+          [
+            118.41049,
+            46.728265
+          ],
+          [
+            118.316252,
+            46.73934
+          ],
+          [
+            118.274984,
+            46.715957
+          ],
+          [
+            118.238643,
+            46.709392
+          ],
+          [
+            118.192448,
+            46.682711
+          ],
+          [
+            118.124078,
+            46.678195
+          ],
+          [
+            118.04647,
+            46.631366
+          ],
+          [
+            117.992883,
+            46.631366
+          ],
+          [
+            117.982412,
+            46.614925
+          ],
+          [
+            117.914659,
+            46.607936
+          ],
+          [
+            117.868464,
+            46.575447
+          ],
+          [
+            117.870927,
+            46.549935
+          ],
+          [
+            117.813645,
+            46.530588
+          ],
+          [
+            117.769913,
+            46.537586
+          ],
+          [
+            117.748355,
+            46.521941
+          ],
+          [
+            117.704008,
+            46.516587
+          ],
+          [
+            117.641182,
+            46.558166
+          ],
+          [
+            117.622704,
+            46.596012
+          ],
+          [
+            117.596218,
+            46.603414
+          ],
+          [
+            117.49582,
+            46.600535
+          ],
+          [
+            117.42006,
+            46.582029
+          ],
+          [
+            117.447777,
+            46.528117
+          ],
+          [
+            117.392343,
+            46.463023
+          ],
+          [
+            117.375712,
+            46.416421
+          ],
+          [
+            117.383719,
+            46.394962
+          ],
+          [
+            117.372017,
+            46.36028
+          ],
+          [
+            117.247597,
+            46.366888
+          ],
+          [
+            117.097308,
+            46.356976
+          ],
+          [
+            116.876801,
+            46.375559
+          ],
+          [
+            116.834302,
+            46.384229
+          ],
+          [
+            116.81336,
+            46.355737
+          ],
+          [
+            116.745606,
+            46.327642
+          ],
+          [
+            116.673541,
+            46.325163
+          ],
+          [
+            116.585462,
+            46.292504
+          ],
+          [
+            116.573143,
+            46.258998
+          ],
+          [
+            116.536187,
+            46.23251
+          ],
+          [
+            116.439484,
+            46.137628
+          ],
+          [
+            116.414231,
+            46.133896
+          ],
+          [
+            116.271949,
+            45.966926
+          ],
+          [
+            116.243,
+            45.876169
+          ],
+          [
+            116.288579,
+            45.839074
+          ],
+          [
+            116.278108,
+            45.831152
+          ],
+          [
+            116.286731,
+            45.775247
+          ],
+          [
+            116.260862,
+            45.776082
+          ],
+          [
+            116.22329,
+            45.747273
+          ],
+          [
+            116.217746,
+            45.72221
+          ],
+          [
+            116.17463,
+            45.688775
+          ],
+          [
+            116.1155,
+            45.679577
+          ],
+          [
+            116.035428,
+            45.685013
+          ],
+          [
+            116.026805,
+            45.661177
+          ],
+          [
+            115.936878,
+            45.632727
+          ],
+          [
+            115.864197,
+            45.572853
+          ],
+          [
+            115.699741,
+            45.45963
+          ],
+          [
+            115.586408,
+            45.440317
+          ],
+          [
+            115.36467,
+            45.392427
+          ],
+          [
+            115.178041,
+            45.396209
+          ],
+          [
+            114.983404,
+            45.379397
+          ],
+          [
+            114.920578,
+            45.386122
+          ],
+          [
+            114.745035,
+            45.438217
+          ],
+          [
+            114.600906,
+            45.403773
+          ],
+          [
+            114.551014,
+            45.387383
+          ],
+          [
+            114.539928,
+            45.325985
+          ],
+          [
+            114.519602,
+            45.283893
+          ],
+          [
+            114.459855,
+            45.21353
+          ],
+          [
+            114.409348,
+            45.179371
+          ],
+          [
+            114.347139,
+            45.119436
+          ],
+          [
+            114.313262,
+            45.107189
+          ],
+          [
+            114.19069,
+            45.036607
+          ],
+          [
+            114.158045,
+            44.994301
+          ],
+          [
+            114.116777,
+            44.957045
+          ],
+          [
+            114.065038,
+            44.931206
+          ],
+          [
+            113.907358,
+            44.915104
+          ],
+          [
+            113.861778,
+            44.863377
+          ],
+          [
+            113.798953,
+            44.849377
+          ],
+          [
+            113.712105,
+            44.788247
+          ],
+          [
+            113.631417,
+            44.745333
+          ],
+          [
+            113.540874,
+            44.759358
+          ],
+          [
+            113.503918,
+            44.777628
+          ],
+          [
+            113.11526,
+            44.799714
+          ],
+          [
+            113.037652,
+            44.822641
+          ],
+          [
+            112.937869,
+            44.840042
+          ],
+          [
+            112.850406,
+            44.840466
+          ],
+          [
+            112.712436,
+            44.879494
+          ],
+          [
+            112.599719,
+            44.930783
+          ],
+          [
+            112.540589,
+            45.001072
+          ],
+          [
+            112.438959,
+            45.071697
+          ],
+          [
+            112.396459,
+            45.064512
+          ],
+          [
+            112.113743,
+            45.072965
+          ],
+          [
+            112.071243,
+            45.096206
+          ],
+          [
+            112.002874,
+            45.090713
+          ],
+          [
+            111.903707,
+            45.052252
+          ],
+          [
+            111.764505,
+            44.969325
+          ],
+          [
+            111.69244,
+            44.859983
+          ],
+          [
+            111.624687,
+            44.778477
+          ],
+          [
+            111.585267,
+            44.705789
+          ],
+          [
+            111.560629,
+            44.647062
+          ],
+          [
+            111.569868,
+            44.57634
+          ],
+          [
+            111.530448,
+            44.55033
+          ],
+          [
+            111.514434,
+            44.507666
+          ],
+          [
+            111.478709,
+            44.488884
+          ],
+          [
+            111.427586,
+            44.394455
+          ],
+          [
+            111.415883,
+            44.35724
+          ],
+          [
+            111.428818,
+            44.319573
+          ],
+          [
+            111.507042,
+            44.294305
+          ],
+          [
+            111.534144,
+            44.26217
+          ],
+          [
+            111.541535,
+            44.206855
+          ],
+          [
+            111.559397,
+            44.171238
+          ],
+          [
+            111.662875,
+            44.061247
+          ],
+          [
+            111.702295,
+            44.034147
+          ],
+          [
+            111.773128,
+            44.010479
+          ],
+          [
+            111.870447,
+            43.940279
+          ],
+          [
+            111.959758,
+            43.823382
+          ],
+          [
+            111.970845,
+            43.748205
+          ],
+          [
+            111.951135,
+            43.693275
+          ],
+          [
+            111.891388,
+            43.6738
+          ],
+          [
+            111.79407,
+            43.672068
+          ],
+          [
+            111.606209,
+            43.513863
+          ],
+          [
+            111.564325,
+            43.490422
+          ],
+          [
+            111.456535,
+            43.494329
+          ],
+          [
+            111.400485,
+            43.472618
+          ],
+          [
+            111.354289,
+            43.436125
+          ],
+          [
+            111.183674,
+            43.396132
+          ],
+          [
+            111.151029,
+            43.38004
+          ],
+          [
+            111.069725,
+            43.357852
+          ],
+          [
+            111.02045,
+            43.329998
+          ],
+          [
+            110.82027,
+            43.149067
+          ],
+          [
+            110.769763,
+            43.099272
+          ],
+          [
+            110.736502,
+            43.089657
+          ],
+          [
+            110.687227,
+            43.036314
+          ],
+          [
+            110.689691,
+            43.02144
+          ],
+          [
+            110.631177,
+            42.936061
+          ],
+          [
+            110.469801,
+            42.839156
+          ],
+          [
+            110.437156,
+            42.781203
+          ],
+          [
+            110.34846,
+            42.742098
+          ],
+          [
+            110.139657,
+            42.674815
+          ],
+          [
+            110.108244,
+            42.642687
+          ],
+          [
+            109.906216,
+            42.635643
+          ],
+          [
+            109.733753,
+            42.579262
+          ],
+          [
+            109.683862,
+            42.558988
+          ],
+          [
+            109.544044,
+            42.472528
+          ],
+          [
+            109.486761,
+            42.458842
+          ],
+          [
+            109.291509,
+            42.435879
+          ],
+          [
+            109.026039,
+            42.458401
+          ],
+          [
+            108.983539,
+            42.449128
+          ],
+          [
+            108.845569,
+            42.395673
+          ],
+          [
+            108.798757,
+            42.415116
+          ],
+          [
+            108.705134,
+            42.413349
+          ],
+          [
+            108.532671,
+            42.442945
+          ],
+          [
+            108.298614,
+            42.438529
+          ],
+          [
+            108.238252,
+            42.460167
+          ],
+          [
+            108.089195,
+            42.436321
+          ],
+          [
+            108.022058,
+            42.433229
+          ],
+          [
+            107.986949,
+            42.413349
+          ],
+          [
+            107.939522,
+            42.403628
+          ],
+          [
+            107.736262,
+            42.415116
+          ],
+          [
+            107.57427,
+            42.412907
+          ],
+          [
+            107.501589,
+            42.456635
+          ],
+          [
+            107.46648,
+            42.458842
+          ],
+          [
+            107.303872,
+            42.412465
+          ],
+          [
+            107.271844,
+            42.364285
+          ],
+          [
+            107.051337,
+            42.319166
+          ],
+          [
+            106.785867,
+            42.291281
+          ],
+          [
+            106.612789,
+            42.241679
+          ],
+          [
+            106.372572,
+            42.161436
+          ],
+          [
+            106.344855,
+            42.149457
+          ],
+          [
+            106.01348,
+            42.032213
+          ],
+          [
+            105.74185,
+            41.949033
+          ],
+          [
+            105.589713,
+            41.888471
+          ],
+          [
+            105.385221,
+            41.797073
+          ],
+          [
+            105.291599,
+            41.749763
+          ],
+          [
+            105.230621,
+            41.751103
+          ],
+          [
+            105.009498,
+            41.583007
+          ],
+          [
+            104.923267,
+            41.654143
+          ],
+          [
+            104.803775,
+            41.652355
+          ],
+          [
+            104.68921,
+            41.6452
+          ],
+          [
+            104.524138,
+            41.661745
+          ],
+          [
+            104.530298,
+            41.875104
+          ],
+          [
+            104.418813,
+            41.860397
+          ],
+          [
+            104.30856,
+            41.840782
+          ],
+          [
+            104.080046,
+            41.805104
+          ],
+          [
+            103.868779,
+            41.802427
+          ],
+          [
+            103.454868,
+            41.877332
+          ],
+          [
+            103.418527,
+            41.882233
+          ],
+          [
+            103.20726,
+            41.96283
+          ],
+          [
+            103.021862,
+            42.028212
+          ],
+          [
+            102.712045,
+            42.153007
+          ],
+          [
+            102.621502,
+            42.154338
+          ],
+          [
+            102.540814,
+            42.162323
+          ],
+          [
+            102.449039,
+            42.144133
+          ],
+          [
+            102.093642,
+            42.223512
+          ],
+          [
+            102.070236,
+            42.232374
+          ],
+          [
+            101.877447,
+            42.432345
+          ],
+          [
+            101.803534,
+            42.503861
+          ],
+          [
+            101.770274,
+            42.509597
+          ],
+          [
+            101.557775,
+            42.529887
+          ],
+          [
+            101.291689,
+            42.586312
+          ],
+          [
+            100.862995,
+            42.671295
+          ],
+          [
+            100.826655,
+            42.675255
+          ],
+          [
+            100.32528,
+            42.690213
+          ],
+          [
+            100.272309,
+            42.636523
+          ],
+          [
+            100.004376,
+            42.648849
+          ],
+          [
+            99.969267,
+            42.647969
+          ],
+          [
+            99.51224,
+            42.568244
+          ],
+          [
+            98.962822,
+            42.607018
+          ],
+          [
+            98.546447,
+            42.638284
+          ],
+          [
+            98.195362,
+            42.653251
+          ],
+          [
+            97.831958,
+            42.706047
+          ],
+          [
+            97.28254,
+            42.782081
+          ],
+          [
+            97.172903,
+            42.795257
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 21e4,
+      name: "辽宁省",
+      center: [
+        123.429096,
+        41.796767
+      ],
+      centroid: [
+        122.604994,
+        41.299712
+      ],
+      childrenNum: 14,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 5,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              123.534489,
+              39.788361
+            ],
+            [
+              123.546808,
+              39.756163
+            ],
+            [
+              123.579453,
+              39.781002
+            ],
+            [
+              123.612714,
+              39.775023
+            ],
+            [
+              123.642279,
+              39.796178
+            ],
+            [
+              123.645358,
+              39.823761
+            ],
+            [
+              123.674924,
+              39.826979
+            ],
+            [
+              123.687858,
+              39.808132
+            ],
+            [
+              123.795032,
+              39.822842
+            ],
+            [
+              123.812278,
+              39.831115
+            ],
+            [
+              123.95148,
+              39.817786
+            ],
+            [
+              124.002603,
+              39.800316
+            ],
+            [
+              124.103001,
+              39.823302
+            ],
+            [
+              124.099306,
+              39.777323
+            ],
+            [
+              124.151045,
+              39.74558
+            ],
+            [
+              124.173218,
+              39.841225
+            ],
+            [
+              124.214486,
+              39.865116
+            ],
+            [
+              124.215102,
+              39.883487
+            ],
+            [
+              124.21695,
+              39.894049
+            ],
+            [
+              124.218182,
+              39.895885
+            ],
+            [
+              124.219414,
+              39.899099
+            ],
+            [
+              124.241588,
+              39.928477
+            ],
+            [
+              124.286551,
+              39.931689
+            ],
+            [
+              124.288399,
+              39.962888
+            ],
+            [
+              124.349377,
+              39.989029
+            ],
+            [
+              124.372167,
+              40.021576
+            ],
+            [
+              124.336442,
+              40.049985
+            ],
+            [
+              124.346913,
+              40.079756
+            ],
+            [
+              124.428217,
+              40.144291
+            ],
+            [
+              124.457782,
+              40.177679
+            ],
+            [
+              124.490427,
+              40.18408
+            ],
+            [
+              124.513833,
+              40.218362
+            ],
+            [
+              124.515065,
+              40.22019
+            ],
+            [
+              124.62655,
+              40.291896
+            ],
+            [
+              124.722636,
+              40.321561
+            ],
+            [
+              124.739267,
+              40.371733
+            ],
+            [
+              124.834121,
+              40.423235
+            ],
+            [
+              124.913578,
+              40.481981
+            ],
+            [
+              124.945606,
+              40.45603
+            ],
+            [
+              124.985642,
+              40.475153
+            ],
+            [
+              125.044157,
+              40.466503
+            ],
+            [
+              125.042925,
+              40.483802
+            ],
+            [
+              125.004737,
+              40.496091
+            ],
+            [
+              125.015823,
+              40.533853
+            ],
+            [
+              125.076801,
+              40.562048
+            ],
+            [
+              125.113758,
+              40.569322
+            ],
+            [
+              125.181511,
+              40.611132
+            ],
+            [
+              125.262815,
+              40.620218
+            ],
+            [
+              125.279445,
+              40.655187
+            ],
+            [
+              125.305315,
+              40.661089
+            ],
+            [
+              125.329337,
+              40.643835
+            ],
+            [
+              125.375532,
+              40.658365
+            ],
+            [
+              125.422343,
+              40.635661
+            ],
+            [
+              125.418648,
+              40.673345
+            ],
+            [
+              125.453756,
+              40.676522
+            ],
+            [
+              125.459916,
+              40.707379
+            ],
+            [
+              125.49564,
+              40.728697
+            ],
+            [
+              125.544915,
+              40.729605
+            ],
+            [
+              125.551075,
+              40.761796
+            ],
+            [
+              125.585567,
+              40.788535
+            ],
+            [
+              125.61698,
+              40.763609
+            ],
+            [
+              125.685349,
+              40.769048
+            ],
+            [
+              125.67611,
+              40.788082
+            ],
+            [
+              125.641002,
+              40.798503
+            ],
+            [
+              125.648393,
+              40.826133
+            ],
+            [
+              125.707523,
+              40.866877
+            ],
+            [
+              125.687813,
+              40.897645
+            ],
+            [
+              125.652089,
+              40.91619
+            ],
+            [
+              125.584335,
+              40.891764
+            ],
+            [
+              125.589263,
+              40.931112
+            ],
+            [
+              125.635458,
+              40.94151
+            ],
+            [
+              125.650241,
+              40.970888
+            ],
+            [
+              125.674879,
+              40.974503
+            ],
+            [
+              125.684118,
+              41.021929
+            ],
+            [
+              125.726617,
+              41.055332
+            ],
+            [
+              125.739552,
+              41.08917
+            ],
+            [
+              125.712451,
+              41.095485
+            ],
+            [
+              125.734009,
+              41.125695
+            ],
+            [
+              125.759878,
+              41.132908
+            ],
+            [
+              125.791291,
+              41.167607
+            ],
+            [
+              125.73832,
+              41.178418
+            ],
+            [
+              125.758646,
+              41.232449
+            ],
+            [
+              125.749407,
+              41.245499
+            ],
+            [
+              125.695205,
+              41.244599
+            ],
+            [
+              125.685349,
+              41.273842
+            ],
+            [
+              125.646545,
+              41.264396
+            ],
+            [
+              125.642234,
+              41.296327
+            ],
+            [
+              125.62006,
+              41.318355
+            ],
+            [
+              125.637306,
+              41.34442
+            ],
+            [
+              125.610205,
+              41.365084
+            ],
+            [
+              125.589879,
+              41.359245
+            ],
+            [
+              125.581256,
+              41.396517
+            ],
+            [
+              125.547995,
+              41.401006
+            ],
+            [
+              125.534444,
+              41.428833
+            ],
+            [
+              125.533212,
+              41.479069
+            ],
+            [
+              125.493176,
+              41.509103
+            ],
+            [
+              125.507343,
+              41.534195
+            ],
+            [
+              125.479626,
+              41.544946
+            ],
+            [
+              125.450061,
+              41.597777
+            ],
+            [
+              125.461148,
+              41.642516
+            ],
+            [
+              125.446981,
+              41.67605
+            ],
+            [
+              125.412488,
+              41.691246
+            ],
+            [
+              125.344119,
+              41.672474
+            ],
+            [
+              125.317018,
+              41.676944
+            ],
+            [
+              125.332416,
+              41.711354
+            ],
+            [
+              125.336112,
+              41.768067
+            ],
+            [
+              125.336112,
+              41.768067
+            ],
+            [
+              125.323177,
+              41.771191
+            ],
+            [
+              125.323177,
+              41.771191
+            ],
+            [
+              125.319482,
+              41.776993
+            ],
+            [
+              125.319482,
+              41.776993
+            ],
+            [
+              125.294844,
+              41.822945
+            ],
+            [
+              125.307779,
+              41.924548
+            ],
+            [
+              125.35151,
+              41.92811
+            ],
+            [
+              125.291764,
+              41.958825
+            ],
+            [
+              125.29854,
+              41.974399
+            ],
+            [
+              125.369989,
+              42.002868
+            ],
+            [
+              125.363213,
+              42.017097
+            ],
+            [
+              125.416184,
+              42.063766
+            ],
+            [
+              125.414336,
+              42.101964
+            ],
+            [
+              125.446365,
+              42.098411
+            ],
+            [
+              125.490097,
+              42.136145
+            ],
+            [
+              125.458068,
+              42.160105
+            ],
+            [
+              125.458068,
+              42.160105
+            ],
+            [
+              125.41372,
+              42.156112
+            ],
+            [
+              125.368141,
+              42.182726
+            ],
+            [
+              125.357054,
+              42.145464
+            ],
+            [
+              125.305931,
+              42.146351
+            ],
+            [
+              125.312706,
+              42.197359
+            ],
+            [
+              125.280677,
+              42.175187
+            ],
+            [
+              125.312706,
+              42.219966
+            ],
+            [
+              125.27575,
+              42.231045
+            ],
+            [
+              125.27575,
+              42.266928
+            ],
+            [
+              125.299156,
+              42.289953
+            ],
+            [
+              125.264047,
+              42.312528
+            ],
+            [
+              125.224011,
+              42.30102
+            ],
+            [
+              125.175352,
+              42.308102
+            ],
+            [
+              125.167345,
+              42.351903
+            ],
+            [
+              125.203685,
+              42.366938
+            ],
+            [
+              125.185823,
+              42.38197
+            ],
+            [
+              125.186439,
+              42.427928
+            ],
+            [
+              125.140243,
+              42.44692
+            ],
+            [
+              125.150098,
+              42.458842
+            ],
+            [
+              125.105135,
+              42.490624
+            ],
+            [
+              125.068794,
+              42.499449
+            ],
+            [
+              125.090968,
+              42.515773
+            ],
+            [
+              125.066946,
+              42.534738
+            ],
+            [
+              125.089736,
+              42.567803
+            ],
+            [
+              125.082961,
+              42.591159
+            ],
+            [
+              125.097127,
+              42.622433
+            ],
+            [
+              125.038613,
+              42.615387
+            ],
+            [
+              125.010896,
+              42.63212
+            ],
+            [
+              125.014592,
+              42.666014
+            ],
+            [
+              124.99057,
+              42.677455
+            ],
+            [
+              124.968396,
+              42.722756
+            ],
+            [
+              124.996729,
+              42.745174
+            ],
+            [
+              124.975171,
+              42.802722
+            ],
+            [
+              124.92836,
+              42.819844
+            ],
+            [
+              124.897563,
+              42.787791
+            ],
+            [
+              124.874157,
+              42.789987
+            ],
+            [
+              124.856911,
+              42.824234
+            ],
+            [
+              124.84952,
+              42.882585
+            ],
+            [
+              124.87231,
+              42.962344
+            ],
+            [
+              124.869846,
+              42.988178
+            ],
+            [
+              124.840897,
+              43.032377
+            ],
+            [
+              124.88894,
+              43.074796
+            ],
+            [
+              124.882781,
+              43.13422
+            ],
+            [
+              124.785462,
+              43.117185
+            ],
+            [
+              124.755281,
+              43.074359
+            ],
+            [
+              124.719557,
+              43.069987
+            ],
+            [
+              124.686912,
+              43.051185
+            ],
+            [
+              124.677673,
+              43.002185
+            ],
+            [
+              124.658579,
+              42.972854
+            ],
+            [
+              124.635173,
+              42.972854
+            ],
+            [
+              124.632093,
+              42.949642
+            ],
+            [
+              124.607456,
+              42.937376
+            ],
+            [
+              124.586514,
+              42.905384
+            ],
+            [
+              124.466406,
+              42.847054
+            ],
+            [
+              124.435609,
+              42.880831
+            ],
+            [
+              124.371551,
+              42.880831
+            ],
+            [
+              124.38079,
+              42.912835
+            ],
+            [
+              124.431913,
+              42.930803
+            ],
+            [
+              124.442384,
+              42.958841
+            ],
+            [
+              124.42329,
+              42.975482
+            ],
+            [
+              124.369703,
+              42.972854
+            ],
+            [
+              124.333363,
+              42.997371
+            ],
+            [
+              124.425754,
+              43.076107
+            ],
+            [
+              124.366007,
+              43.121554
+            ],
+            [
+              124.273617,
+              43.17875
+            ],
+            [
+              124.287167,
+              43.207983
+            ],
+            [
+              124.27608,
+              43.233278
+            ],
+            [
+              124.228653,
+              43.235022
+            ],
+            [
+              124.215102,
+              43.255947
+            ],
+            [
+              124.168291,
+              43.244177
+            ],
+            [
+              124.114088,
+              43.247229
+            ],
+            [
+              124.117168,
+              43.2773
+            ],
+            [
+              124.099306,
+              43.292983
+            ],
+            [
+              124.032784,
+              43.280786
+            ],
+            [
+              123.964415,
+              43.34088
+            ],
+            [
+              123.896046,
+              43.361333
+            ],
+            [
+              123.881263,
+              43.392218
+            ],
+            [
+              123.881263,
+              43.392218
+            ],
+            [
+              123.852314,
+              43.406133
+            ],
+            [
+              123.857858,
+              43.459153
+            ],
+            [
+              123.857858,
+              43.459153
+            ],
+            [
+              123.79688,
+              43.489988
+            ],
+            [
+              123.747604,
+              43.472184
+            ],
+            [
+              123.749452,
+              43.439167
+            ],
+            [
+              123.710032,
+              43.417001
+            ],
+            [
+              123.703873,
+              43.37047
+            ],
+            [
+              123.698329,
+              43.272071
+            ],
+            [
+              123.664453,
+              43.264663
+            ],
+            [
+              123.676771,
+              43.223684
+            ],
+            [
+              123.645974,
+              43.208855
+            ],
+            [
+              123.666916,
+              43.179623
+            ],
+            [
+              123.636119,
+              43.141644
+            ],
+            [
+              123.631192,
+              43.088346
+            ],
+            [
+              123.580685,
+              43.036314
+            ],
+            [
+              123.572678,
+              43.003498
+            ],
+            [
+              123.536337,
+              43.007
+            ],
+            [
+              123.474743,
+              43.042438
+            ],
+            [
+              123.434707,
+              43.027565
+            ],
+            [
+              123.323222,
+              43.000872
+            ],
+            [
+              123.259165,
+              42.993431
+            ],
+            [
+              123.18402,
+              42.925983
+            ],
+            [
+              123.188947,
+              42.895739
+            ],
+            [
+              123.169853,
+              42.859777
+            ],
+            [
+              123.227752,
+              42.831695
+            ],
+            [
+              123.118114,
+              42.801405
+            ],
+            [
+              123.058368,
+              42.768903
+            ],
+            [
+              122.980144,
+              42.777689
+            ],
+            [
+              122.945651,
+              42.753524
+            ],
+            [
+              122.925941,
+              42.772417
+            ],
+            [
+              122.887137,
+              42.770221
+            ],
+            [
+              122.883442,
+              42.751766
+            ],
+            [
+              122.883442,
+              42.751766
+            ],
+            [
+              122.848949,
+              42.712203
+            ],
+            [
+              122.848949,
+              42.712203
+            ],
+            [
+              122.786123,
+              42.757479
+            ],
+            [
+              122.73808,
+              42.77066
+            ],
+            [
+              122.733152,
+              42.786034
+            ],
+            [
+              122.653696,
+              42.78252
+            ],
+            [
+              122.624747,
+              42.773296
+            ],
+            [
+              122.580399,
+              42.789987
+            ],
+            [
+              122.576088,
+              42.819405
+            ],
+            [
+              122.556378,
+              42.827745
+            ],
+            [
+              122.436886,
+              42.843105
+            ],
+            [
+              122.35127,
+              42.830378
+            ],
+            [
+              122.371596,
+              42.776371
+            ],
+            [
+              122.439349,
+              42.770221
+            ],
+            [
+              122.460907,
+              42.755282
+            ],
+            [
+              122.396234,
+              42.707366
+            ],
+            [
+              122.396234,
+              42.684054
+            ],
+            [
+              122.338951,
+              42.669975
+            ],
+            [
+              122.324785,
+              42.684934
+            ],
+            [
+              122.261343,
+              42.695931
+            ],
+            [
+              122.204676,
+              42.732867
+            ],
+            [
+              122.204676,
+              42.685374
+            ],
+            [
+              122.160945,
+              42.684934
+            ],
+            [
+              122.072865,
+              42.710444
+            ],
+            [
+              122.062394,
+              42.723635
+            ],
+            [
+              122.018663,
+              42.69901
+            ],
+            [
+              121.939207,
+              42.688453
+            ],
+            [
+              121.94167,
+              42.666014
+            ],
+            [
+              121.915801,
+              42.656332
+            ],
+            [
+              121.921344,
+              42.605697
+            ],
+            [
+              121.889931,
+              42.556784
+            ],
+            [
+              121.844352,
+              42.522389
+            ],
+            [
+              121.831417,
+              42.533856
+            ],
+            [
+              121.817867,
+              42.504303
+            ],
+            [
+              121.803084,
+              42.514891
+            ],
+            [
+              121.747649,
+              42.484887
+            ],
+            [
+              121.69899,
+              42.438529
+            ],
+            [
+              121.66573,
+              42.437204
+            ],
+            [
+              121.604136,
+              42.495037
+            ],
+            [
+              121.607831,
+              42.516214
+            ],
+            [
+              121.570875,
+              42.487093
+            ],
+            [
+              121.506201,
+              42.482239
+            ],
+            [
+              121.4791,
+              42.49636
+            ],
+            [
+              121.434752,
+              42.475176
+            ],
+            [
+              121.386093,
+              42.474294
+            ],
+            [
+              121.304789,
+              42.435879
+            ],
+            [
+              121.314644,
+              42.42837
+            ],
+            [
+              121.285079,
+              42.387717
+            ],
+            [
+              121.218558,
+              42.371802
+            ],
+            [
+              121.184681,
+              42.333324
+            ],
+            [
+              121.133558,
+              42.300135
+            ],
+            [
+              121.120623,
+              42.280656
+            ],
+            [
+              121.087978,
+              42.278885
+            ],
+            [
+              121.070732,
+              42.254083
+            ],
+            [
+              121.028848,
+              42.242565
+            ],
+            [
+              120.992508,
+              42.264714
+            ],
+            [
+              120.933994,
+              42.27977
+            ],
+            [
+              120.883487,
+              42.269585
+            ],
+            [
+              120.883487,
+              42.269585
+            ],
+            [
+              120.883487,
+              42.242565
+            ],
+            [
+              120.8299,
+              42.252755
+            ],
+            [
+              120.820661,
+              42.227943
+            ],
+            [
+              120.79048,
+              42.218636
+            ],
+            [
+              120.745516,
+              42.223512
+            ],
+            [
+              120.72211,
+              42.203565
+            ],
+            [
+              120.624792,
+              42.154338
+            ],
+            [
+              120.58414,
+              42.167203
+            ],
+            [
+              120.56751,
+              42.152119
+            ],
+            [
+              120.466496,
+              42.105516
+            ],
+            [
+              120.493597,
+              42.073539
+            ],
+            [
+              120.450481,
+              42.057101
+            ],
+            [
+              120.456641,
+              42.016208
+            ],
+            [
+              120.399358,
+              41.984631
+            ],
+            [
+              120.373489,
+              41.994862
+            ],
+            [
+              120.309431,
+              41.951704
+            ],
+            [
+              120.318054,
+              41.93746
+            ],
+            [
+              120.271859,
+              41.925439
+            ],
+            [
+              120.260156,
+              41.904062
+            ],
+            [
+              120.290337,
+              41.897381
+            ],
+            [
+              120.286641,
+              41.880005
+            ],
+            [
+              120.251533,
+              41.884016
+            ],
+            [
+              120.215808,
+              41.853265
+            ],
+            [
+              120.188707,
+              41.848361
+            ],
+            [
+              120.183164,
+              41.826513
+            ],
+            [
+              120.127113,
+              41.77253
+            ],
+            [
+              120.1382,
+              41.729221
+            ],
+            [
+              120.096316,
+              41.697056
+            ],
+            [
+              120.035954,
+              41.708226
+            ],
+            [
+              120.024867,
+              41.737707
+            ],
+            [
+              120.050737,
+              41.776101
+            ],
+            [
+              120.041498,
+              41.818932
+            ],
+            [
+              120.023019,
+              41.816701
+            ],
+            [
+              119.989759,
+              41.899163
+            ],
+            [
+              119.954034,
+              41.923212
+            ],
+            [
+              119.950954,
+              41.974399
+            ],
+            [
+              119.924469,
+              41.98908
+            ],
+            [
+              119.921389,
+              42.014429
+            ],
+            [
+              119.897368,
+              42.030879
+            ],
+            [
+              119.87581,
+              42.077982
+            ],
+            [
+              119.845629,
+              42.097079
+            ],
+            [
+              119.837622,
+              42.135257
+            ],
+            [
+              119.854868,
+              42.170308
+            ],
+            [
+              119.841933,
+              42.215534
+            ],
+            [
+              119.744615,
+              42.211545
+            ],
+            [
+              119.679941,
+              42.240793
+            ],
+            [
+              119.617115,
+              42.252755
+            ],
+            [
+              119.609108,
+              42.276671
+            ],
+            [
+              119.557985,
+              42.289068
+            ],
+            [
+              119.557985,
+              42.289068
+            ],
+            [
+              119.539507,
+              42.297922
+            ],
+            [
+              119.571536,
+              42.335536
+            ],
+            [
+              119.572152,
+              42.359421
+            ],
+            [
+              119.540123,
+              42.363401
+            ],
+            [
+              119.502551,
+              42.388159
+            ],
+            [
+              119.482841,
+              42.347037
+            ],
+            [
+              119.432949,
+              42.317396
+            ],
+            [
+              119.34795,
+              42.300578
+            ],
+            [
+              119.280197,
+              42.260728
+            ],
+            [
+              119.274037,
+              42.239021
+            ],
+            [
+              119.237697,
+              42.200905
+            ],
+            [
+              119.277733,
+              42.185387
+            ],
+            [
+              119.286972,
+              42.154781
+            ],
+            [
+              119.30853,
+              42.147239
+            ],
+            [
+              119.314689,
+              42.119723
+            ],
+            [
+              119.352261,
+              42.118391
+            ],
+            [
+              119.384906,
+              42.08953
+            ],
+            [
+              119.375667,
+              42.023322
+            ],
+            [
+              119.324544,
+              41.969505
+            ],
+            [
+              119.323928,
+              41.937014
+            ],
+            [
+              119.340559,
+              41.926774
+            ],
+            [
+              119.323312,
+              41.889807
+            ],
+            [
+              119.334399,
+              41.871539
+            ],
+            [
+              119.312841,
+              41.80555
+            ],
+            [
+              119.292515,
+              41.790827
+            ],
+            [
+              119.317769,
+              41.764049
+            ],
+            [
+              119.319001,
+              41.727435
+            ],
+            [
+              119.299907,
+              41.705545
+            ],
+            [
+              119.307914,
+              41.657273
+            ],
+            [
+              119.342406,
+              41.617914
+            ],
+            [
+              119.415703,
+              41.590169
+            ],
+            [
+              119.420015,
+              41.567785
+            ],
+            [
+              119.362116,
+              41.566442
+            ],
+            [
+              119.361501,
+              41.545841
+            ],
+            [
+              119.406464,
+              41.503276
+            ],
+            [
+              119.401537,
+              41.472343
+            ],
+            [
+              119.378131,
+              41.459787
+            ],
+            [
+              119.376283,
+              41.422102
+            ],
+            [
+              119.309762,
+              41.405944
+            ],
+            [
+              119.330704,
+              41.385293
+            ],
+            [
+              119.296211,
+              41.325097
+            ],
+            [
+              119.239545,
+              41.31431
+            ],
+            [
+              119.2494,
+              41.279689
+            ],
+            [
+              119.209364,
+              41.244599
+            ],
+            [
+              119.204436,
+              41.222546
+            ],
+            [
+              119.169943,
+              41.222996
+            ],
+            [
+              119.189038,
+              41.198234
+            ],
+            [
+              119.126212,
+              41.138767
+            ],
+            [
+              119.081248,
+              41.131555
+            ],
+            [
+              119.080632,
+              41.095936
+            ],
+            [
+              119.037516,
+              41.067516
+            ],
+            [
+              118.964836,
+              41.079246
+            ],
+            [
+              118.937118,
+              41.052625
+            ],
+            [
+              118.951901,
+              41.018317
+            ],
+            [
+              119.013495,
+              41.007479
+            ],
+            [
+              119.00056,
+              40.967273
+            ],
+            [
+              118.977154,
+              40.959138
+            ],
+            [
+              118.977154,
+              40.959138
+            ],
+            [
+              118.916792,
+              40.969984
+            ],
+            [
+              118.90201,
+              40.960946
+            ],
+            [
+              118.873061,
+              40.847866
+            ],
+            [
+              118.845959,
+              40.822057
+            ],
+            [
+              118.878604,
+              40.783098
+            ],
+            [
+              118.907553,
+              40.775394
+            ],
+            [
+              118.895234,
+              40.75409
+            ],
+            [
+              118.950053,
+              40.747743
+            ],
+            [
+              118.96114,
+              40.72008
+            ],
+            [
+              119.011031,
+              40.687414
+            ],
+            [
+              119.028277,
+              40.692406
+            ],
+            [
+              119.054763,
+              40.664721
+            ],
+            [
+              119.115125,
+              40.666536
+            ],
+            [
+              119.165632,
+              40.69286
+            ],
+            [
+              119.184726,
+              40.680153
+            ],
+            [
+              119.14469,
+              40.632482
+            ],
+            [
+              119.162552,
+              40.600228
+            ],
+            [
+              119.177951,
+              40.609315
+            ],
+            [
+              119.230921,
+              40.603863
+            ],
+            [
+              119.22045,
+              40.569322
+            ],
+            [
+              119.256175,
+              40.543404
+            ],
+            [
+              119.30237,
+              40.530215
+            ],
+            [
+              119.429254,
+              40.540221
+            ],
+            [
+              119.477913,
+              40.533399
+            ],
+            [
+              119.503783,
+              40.553864
+            ],
+            [
+              119.559217,
+              40.547952
+            ],
+            [
+              119.572152,
+              40.523846
+            ],
+            [
+              119.553674,
+              40.502007
+            ],
+            [
+              119.604797,
+              40.455119
+            ],
+            [
+              119.586934,
+              40.375381
+            ],
+            [
+              119.598021,
+              40.334335
+            ],
+            [
+              119.651608,
+              40.271808
+            ],
+            [
+              119.639289,
+              40.231613
+            ],
+            [
+              119.639289,
+              40.231613
+            ],
+            [
+              119.671934,
+              40.23938
+            ],
+            [
+              119.716898,
+              40.195966
+            ],
+            [
+              119.745847,
+              40.207851
+            ],
+            [
+              119.760629,
+              40.136056
+            ],
+            [
+              119.736608,
+              40.104936
+            ],
+            [
+              119.772332,
+              40.08113
+            ],
+            [
+              119.783419,
+              40.046778
+            ],
+            [
+              119.783419,
+              40.046778
+            ],
+            [
+              119.787115,
+              40.041739
+            ],
+            [
+              119.787115,
+              40.041739
+            ],
+            [
+              119.81668,
+              40.050443
+            ],
+            [
+              119.81668,
+              40.050443
+            ],
+            [
+              119.854252,
+              40.033033
+            ],
+            [
+              119.845629,
+              40.000949
+            ],
+            [
+              119.845629,
+              40.000949
+            ],
+            [
+              119.854252,
+              39.98857
+            ],
+            [
+              119.91831,
+              39.989946
+            ],
+            [
+              119.941715,
+              40.009659
+            ],
+            [
+              119.947259,
+              40.040364
+            ],
+            [
+              120.092005,
+              40.077466
+            ],
+            [
+              120.134504,
+              40.074719
+            ],
+            [
+              120.161606,
+              40.096239
+            ],
+            [
+              120.273091,
+              40.127362
+            ],
+            [
+              120.371641,
+              40.174478
+            ],
+            [
+              120.451097,
+              40.177679
+            ],
+            [
+              120.491749,
+              40.20008
+            ],
+            [
+              120.523778,
+              40.256737
+            ],
+            [
+              120.52193,
+              40.304676
+            ],
+            [
+              120.537329,
+              40.325211
+            ],
+            [
+              120.602618,
+              40.36079
+            ],
+            [
+              120.596459,
+              40.399084
+            ],
+            [
+              120.617401,
+              40.41959
+            ],
+            [
+              120.616169,
+              40.444645
+            ],
+            [
+              120.619249,
+              40.460128
+            ],
+            [
+              120.666676,
+              40.467413
+            ],
+            [
+              120.693777,
+              40.505647
+            ],
+            [
+              120.72211,
+              40.515657
+            ],
+            [
+              120.72827,
+              40.539311
+            ],
+            [
+              120.822509,
+              40.59432
+            ],
+            [
+              120.837291,
+              40.644289
+            ],
+            [
+              120.8299,
+              40.671076
+            ],
+            [
+              120.861313,
+              40.684692
+            ],
+            [
+              120.939537,
+              40.686507
+            ],
+            [
+              120.983269,
+              40.712822
+            ],
+            [
+              121.032544,
+              40.709193
+            ],
+            [
+              121.028848,
+              40.746382
+            ],
+            [
+              120.991276,
+              40.744115
+            ],
+            [
+              120.980189,
+              40.766329
+            ],
+            [
+              120.994356,
+              40.790801
+            ],
+            [
+              120.971566,
+              40.805751
+            ],
+            [
+              121.00729,
+              40.807563
+            ],
+            [
+              121.010986,
+              40.784457
+            ],
+            [
+              121.086747,
+              40.79805
+            ],
+            [
+              121.076892,
+              40.815716
+            ],
+            [
+              121.096602,
+              40.839717
+            ],
+            [
+              121.126167,
+              40.86914
+            ],
+            [
+              121.177906,
+              40.873665
+            ],
+            [
+              121.23642,
+              40.851035
+            ],
+            [
+              121.290622,
+              40.851488
+            ],
+            [
+              121.439064,
+              40.830208
+            ],
+            [
+              121.440296,
+              40.88181
+            ],
+            [
+              121.499426,
+              40.880001
+            ],
+            [
+              121.526527,
+              40.85194
+            ],
+            [
+              121.55486,
+              40.849677
+            ],
+            [
+              121.553013,
+              40.817528
+            ],
+            [
+              121.576418,
+              40.837906
+            ],
+            [
+              121.626309,
+              40.844244
+            ],
+            [
+              121.682976,
+              40.829755
+            ],
+            [
+              121.732251,
+              40.846961
+            ],
+            [
+              121.735331,
+              40.862351
+            ],
+            [
+              121.778446,
+              40.886787
+            ],
+            [
+              121.816019,
+              40.894931
+            ],
+            [
+              121.84312,
+              40.831567
+            ],
+            [
+              121.883772,
+              40.802127
+            ],
+            [
+              121.934279,
+              40.79805
+            ],
+            [
+              121.936127,
+              40.711462
+            ],
+            [
+              121.951525,
+              40.680607
+            ],
+            [
+              122.025438,
+              40.674253
+            ],
+            [
+              122.06609,
+              40.64883
+            ],
+            [
+              122.122141,
+              40.657457
+            ],
+            [
+              122.148626,
+              40.671983
+            ],
+            [
+              122.133843,
+              40.614313
+            ],
+            [
+              122.150474,
+              40.588413
+            ],
+            [
+              122.245944,
+              40.519752
+            ],
+            [
+              122.231162,
+              40.505192
+            ],
+            [
+              122.265038,
+              40.48016
+            ],
+            [
+              122.221923,
+              40.481071
+            ],
+            [
+              122.240401,
+              40.461039
+            ],
+            [
+              122.250872,
+              40.445555
+            ],
+            [
+              122.229314,
+              40.424146
+            ],
+            [
+              122.186814,
+              40.422779
+            ],
+            [
+              122.198517,
+              40.382219
+            ],
+            [
+              122.152322,
+              40.357597
+            ],
+            [
+              122.135691,
+              40.374925
+            ],
+            [
+              122.111054,
+              40.348932
+            ],
+            [
+              122.138155,
+              40.338897
+            ],
+            [
+              122.110438,
+              40.315629
+            ],
+            [
+              122.079641,
+              40.332967
+            ],
+            [
+              122.040221,
+              40.322017
+            ],
+            [
+              122.039605,
+              40.260391
+            ],
+            [
+              122.02667,
+              40.244862
+            ],
+            [
+              121.940438,
+              40.242121
+            ],
+            [
+              121.950293,
+              40.204194
+            ],
+            [
+              121.98109,
+              40.173106
+            ],
+            [
+              122.003264,
+              40.172191
+            ],
+            [
+              121.995257,
+              40.128277
+            ],
+            [
+              121.956453,
+              40.133311
+            ],
+            [
+              121.910257,
+              40.072887
+            ],
+            [
+              121.824642,
+              40.025701
+            ],
+            [
+              121.796309,
+              39.999116
+            ],
+            [
+              121.779062,
+              39.942702
+            ],
+            [
+              121.76428,
+              39.933525
+            ],
+            [
+              121.699606,
+              39.937196
+            ],
+            [
+              121.626925,
+              39.882569
+            ],
+            [
+              121.572107,
+              39.865116
+            ],
+            [
+              121.541926,
+              39.874302
+            ],
+            [
+              121.530223,
+              39.851334
+            ],
+            [
+              121.472325,
+              39.802155
+            ],
+            [
+              121.487107,
+              39.760303
+            ],
+            [
+              121.45939,
+              39.747881
+            ],
+            [
+              121.502506,
+              39.703233
+            ],
+            [
+              121.482796,
+              39.659478
+            ],
+            [
+              121.451999,
+              39.658095
+            ],
+            [
+              121.450151,
+              39.624914
+            ],
+            [
+              121.325731,
+              39.601402
+            ],
+            [
+              121.299246,
+              39.606013
+            ],
+            [
+              121.263521,
+              39.589873
+            ],
+            [
+              121.226565,
+              39.554814
+            ],
+            [
+              121.224717,
+              39.519275
+            ],
+            [
+              121.268449,
+              39.482794
+            ],
+            [
+              121.286927,
+              39.507271
+            ],
+            [
+              121.301709,
+              39.476327
+            ],
+            [
+              121.245659,
+              39.456923
+            ],
+            [
+              121.270296,
+              39.434277
+            ],
+            [
+              121.246891,
+              39.421334
+            ],
+            [
+              121.245659,
+              39.389427
+            ],
+            [
+              121.270296,
+              39.374162
+            ],
+            [
+              121.307869,
+              39.391277
+            ],
+            [
+              121.324499,
+              39.371386
+            ],
+            [
+              121.35468,
+              39.377863
+            ],
+            [
+              121.432904,
+              39.357506
+            ],
+            [
+              121.435984,
+              39.329736
+            ],
+            [
+              121.466781,
+              39.320014
+            ],
+            [
+              121.474788,
+              39.296398
+            ],
+            [
+              121.508665,
+              39.29223
+            ],
+            [
+              121.51544,
+              39.286672
+            ],
+            [
+              121.562252,
+              39.322792
+            ],
+            [
+              121.621382,
+              39.326033
+            ],
+            [
+              121.72486,
+              39.364447
+            ],
+            [
+              121.711925,
+              39.33992
+            ],
+            [
+              121.7187,
+              39.320477
+            ],
+            [
+              121.667577,
+              39.310754
+            ],
+            [
+              121.672505,
+              39.275554
+            ],
+            [
+              121.623846,
+              39.285745
+            ],
+            [
+              121.589353,
+              39.263044
+            ],
+            [
+              121.631237,
+              39.22643
+            ],
+            [
+              121.591201,
+              39.228748
+            ],
+            [
+              121.586889,
+              39.193506
+            ],
+            [
+              121.604136,
+              39.166136
+            ],
+            [
+              121.639244,
+              39.166136
+            ],
+            [
+              121.68236,
+              39.117863
+            ],
+            [
+              121.631853,
+              39.077921
+            ],
+            [
+              121.605983,
+              39.080708
+            ],
+            [
+              121.642324,
+              39.11972
+            ],
+            [
+              121.590585,
+              39.154999
+            ],
+            [
+              121.562252,
+              39.127149
+            ],
+            [
+              121.599208,
+              39.098824
+            ],
+            [
+              121.581962,
+              39.075598
+            ],
+            [
+              121.508049,
+              39.034237
+            ],
+            [
+              121.431057,
+              39.027263
+            ],
+            [
+              121.370695,
+              39.060264
+            ],
+            [
+              121.317108,
+              39.012384
+            ],
+            [
+              121.341129,
+              38.980757
+            ],
+            [
+              121.275224,
+              38.971917
+            ],
+            [
+              121.204391,
+              38.941202
+            ],
+            [
+              121.180369,
+              38.959819
+            ],
+            [
+              121.128014,
+              38.958888
+            ],
+            [
+              121.08921,
+              38.922115
+            ],
+            [
+              121.094138,
+              38.894173
+            ],
+            [
+              121.129862,
+              38.879266
+            ],
+            [
+              121.110768,
+              38.862026
+            ],
+            [
+              121.12863,
+              38.799089
+            ],
+            [
+              121.112,
+              38.776231
+            ],
+            [
+              121.13787,
+              38.723023
+            ],
+            [
+              121.198848,
+              38.721623
+            ],
+            [
+              121.259825,
+              38.786495
+            ],
+            [
+              121.280767,
+              38.786961
+            ],
+            [
+              121.288775,
+              38.78976
+            ],
+            [
+              121.315876,
+              38.793958
+            ],
+            [
+              121.359608,
+              38.822406
+            ],
+            [
+              121.399028,
+              38.812613
+            ],
+            [
+              121.509897,
+              38.817743
+            ],
+            [
+              121.564715,
+              38.874607
+            ],
+            [
+              121.618302,
+              38.862492
+            ],
+            [
+              121.675585,
+              38.86156
+            ],
+            [
+              121.708845,
+              38.872744
+            ],
+            [
+              121.719316,
+              38.920252
+            ],
+            [
+              121.655874,
+              38.946788
+            ],
+            [
+              121.618918,
+              38.950046
+            ],
+            [
+              121.66265,
+              38.966333
+            ],
+            [
+              121.671273,
+              39.010059
+            ],
+            [
+              121.73841,
+              38.998898
+            ],
+            [
+              121.756889,
+              39.025869
+            ],
+            [
+              121.790149,
+              39.022614
+            ],
+            [
+              121.804932,
+              38.970986
+            ],
+            [
+              121.863446,
+              38.942598
+            ],
+            [
+              121.920728,
+              38.969591
+            ],
+            [
+              121.905946,
+              38.997503
+            ],
+            [
+              121.852975,
+              39.035631
+            ],
+            [
+              121.8887,
+              39.027263
+            ],
+            [
+              121.929352,
+              39.024939
+            ],
+            [
+              121.907178,
+              39.055617
+            ],
+            [
+              121.923192,
+              39.053758
+            ],
+            [
+              121.963228,
+              39.030053
+            ],
+            [
+              122.013735,
+              39.073275
+            ],
+            [
+              122.061778,
+              39.060264
+            ],
+            [
+              122.071634,
+              39.074204
+            ],
+            [
+              122.048228,
+              39.101146
+            ],
+            [
+              122.088264,
+              39.112291
+            ],
+            [
+              122.127684,
+              39.144788
+            ],
+            [
+              122.167104,
+              39.158711
+            ],
+            [
+              122.123988,
+              39.172631
+            ],
+            [
+              122.117213,
+              39.213911
+            ],
+            [
+              122.160329,
+              39.238019
+            ],
+            [
+              122.242865,
+              39.267678
+            ],
+            [
+              122.274893,
+              39.322329
+            ],
+            [
+              122.30877,
+              39.346399
+            ],
+            [
+              122.366053,
+              39.370461
+            ],
+            [
+              122.412864,
+              39.411625
+            ],
+            [
+              122.455364,
+              39.408388
+            ],
+            [
+              122.467682,
+              39.403301
+            ],
+            [
+              122.51203,
+              39.413474
+            ],
+            [
+              122.532972,
+              39.419947
+            ],
+            [
+              122.581631,
+              39.464316
+            ],
+            [
+              122.637066,
+              39.488799
+            ],
+            [
+              122.649385,
+              39.516505
+            ],
+            [
+              122.682645,
+              39.514658
+            ],
+            [
+              122.808913,
+              39.559889
+            ],
+            [
+              122.847101,
+              39.581571
+            ],
+            [
+              122.860652,
+              39.604629
+            ],
+            [
+              122.941956,
+              39.604629
+            ],
+            [
+              122.972753,
+              39.594946
+            ],
+            [
+              122.978912,
+              39.616156
+            ],
+            [
+              123.021412,
+              39.64335
+            ],
+            [
+              123.010941,
+              39.655331
+            ],
+            [
+              123.103332,
+              39.676983
+            ],
+            [
+              123.146448,
+              39.647037
+            ],
+            [
+              123.166774,
+              39.674219
+            ],
+            [
+              123.212969,
+              39.665928
+            ],
+            [
+              123.215433,
+              39.696786
+            ],
+            [
+              123.253005,
+              39.689879
+            ],
+            [
+              123.286882,
+              39.704154
+            ],
+            [
+              123.270251,
+              39.714743
+            ],
+            [
+              123.274563,
+              39.753862
+            ],
+            [
+              123.350939,
+              39.750641
+            ],
+            [
+              123.388512,
+              39.74742
+            ],
+            [
+              123.392823,
+              39.723949
+            ],
+            [
+              123.477823,
+              39.74696
+            ],
+            [
+              123.521555,
+              39.772724
+            ],
+            [
+              123.534489,
+              39.788361
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.63953,
+              39.286209
+            ],
+            [
+              122.593334,
+              39.278334
+            ],
+            [
+              122.539131,
+              39.308439
+            ],
+            [
+              122.50895,
+              39.290377
+            ],
+            [
+              122.57732,
+              39.269994
+            ],
+            [
+              122.67895,
+              39.268605
+            ],
+            [
+              122.673406,
+              39.269531
+            ],
+            [
+              122.662935,
+              39.273701
+            ],
+            [
+              122.655544,
+              39.277407
+            ],
+            [
+              122.640761,
+              39.288061
+            ],
+            [
+              122.63953,
+              39.286209
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.318625,
+              39.170775
+            ],
+            [
+              122.345111,
+              39.144788
+            ],
+            [
+              122.366053,
+              39.174951
+            ],
+            [
+              122.398697,
+              39.16196
+            ],
+            [
+              122.383299,
+              39.190723
+            ],
+            [
+              122.393154,
+              39.213448
+            ],
+            [
+              122.343263,
+              39.203246
+            ],
+            [
+              122.322321,
+              39.177271
+            ],
+            [
+              122.322937,
+              39.174487
+            ],
+            [
+              122.319241,
+              39.172167
+            ],
+            [
+              122.318625,
+              39.170775
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.691884,
+              39.23292
+            ],
+            [
+              122.696812,
+              39.206492
+            ],
+            [
+              122.751631,
+              39.229675
+            ],
+            [
+              122.740544,
+              39.248679
+            ],
+            [
+              122.635834,
+              39.241727
+            ],
+            [
+              122.628443,
+              39.231993
+            ],
+            [
+              122.690037,
+              39.234774
+            ],
+            [
+              122.691268,
+              39.23431
+            ],
+            [
+              122.691884,
+              39.23292
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.738696,
+              39.034701
+            ],
+            [
+              122.704819,
+              39.044463
+            ],
+            [
+              122.733152,
+              39.014244
+            ],
+            [
+              122.75779,
+              39.009594
+            ],
+            [
+              122.739312,
+              39.036561
+            ],
+            [
+              122.738696,
+              39.034701
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              123.022644,
+              39.546507
+            ],
+            [
+              122.96105,
+              39.551122
+            ],
+            [
+              122.945035,
+              39.520198
+            ],
+            [
+              122.995542,
+              39.495264
+            ],
+            [
+              123.036194,
+              39.533123
+            ],
+            [
+              123.022644,
+              39.546507
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.503407,
+              39.241263
+            ],
+            [
+              122.502175,
+              39.224112
+            ],
+            [
+              122.547755,
+              39.229211
+            ],
+            [
+              122.503407,
+              39.241263
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.786784,
+              40.473787
+            ],
+            [
+              120.83298,
+              40.491995
+            ],
+            [
+              120.8299,
+              40.516112
+            ],
+            [
+              120.805262,
+              40.525666
+            ],
+            [
+              120.774465,
+              40.48016
+            ],
+            [
+              120.786784,
+              40.473787
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              123.086702,
+              39.426881
+            ],
+            [
+              123.090397,
+              39.450915
+            ],
+            [
+              123.054057,
+              39.457847
+            ],
+            [
+              123.086702,
+              39.426881
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              123.160614,
+              39.025404
+            ],
+            [
+              123.205578,
+              39.057011
+            ],
+            [
+              123.20065,
+              39.077921
+            ],
+            [
+              123.145832,
+              39.091857
+            ],
+            [
+              123.143984,
+              39.038885
+            ],
+            [
+              123.160614,
+              39.025404
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              123.716807,
+              39.74512
+            ],
+            [
+              123.756843,
+              39.754322
+            ],
+            [
+              123.719887,
+              39.763063
+            ],
+            [
+              123.716807,
+              39.74512
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 22e4,
+      name: "吉林省",
+      center: [
+        125.3245,
+        43.886841
+      ],
+      centroid: [
+        126.171208,
+        43.703954
+      ],
+      childrenNum: 9,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 6,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              129.601492,
+              42.415116
+            ],
+            [
+              129.601492,
+              42.422627
+            ],
+            [
+              129.591021,
+              42.447803
+            ],
+            [
+              129.627361,
+              42.462816
+            ],
+            [
+              129.651999,
+              42.426603
+            ],
+            [
+              129.704354,
+              42.427045
+            ],
+            [
+              129.748701,
+              42.471204
+            ],
+            [
+              129.738846,
+              42.500332
+            ],
+            [
+              129.749933,
+              42.546644
+            ],
+            [
+              129.746237,
+              42.58455
+            ],
+            [
+              129.786889,
+              42.615387
+            ],
+            [
+              129.754245,
+              42.645768
+            ],
+            [
+              129.796744,
+              42.681854
+            ],
+            [
+              129.767179,
+              42.707806
+            ],
+            [
+              129.78381,
+              42.762752
+            ],
+            [
+              129.810911,
+              42.795257
+            ],
+            [
+              129.816454,
+              42.851003
+            ],
+            [
+              129.835549,
+              42.866796
+            ],
+            [
+              129.846636,
+              42.918533
+            ],
+            [
+              129.874969,
+              42.923792
+            ],
+            [
+              129.856491,
+              42.951833
+            ],
+            [
+              129.868193,
+              42.97373
+            ],
+            [
+              129.903918,
+              42.968475
+            ],
+            [
+              129.897143,
+              43.001748
+            ],
+            [
+              129.954425,
+              43.010938
+            ],
+            [
+              129.963664,
+              42.978547
+            ],
+            [
+              130.002468,
+              42.981174
+            ],
+            [
+              130.027106,
+              42.9676
+            ],
+            [
+              130.072685,
+              42.971541
+            ],
+            [
+              130.10841,
+              42.989929
+            ],
+            [
+              130.144134,
+              42.976357
+            ],
+            [
+              130.120729,
+              42.954461
+            ],
+            [
+              130.127504,
+              42.932556
+            ],
+            [
+              130.10225,
+              42.922916
+            ],
+            [
+              130.136127,
+              42.90363
+            ],
+            [
+              130.17062,
+              42.912397
+            ],
+            [
+              130.21004,
+              42.902315
+            ],
+            [
+              130.258083,
+              42.90626
+            ],
+            [
+              130.277793,
+              42.892232
+            ],
+            [
+              130.258083,
+              42.860655
+            ],
+            [
+              130.245148,
+              42.799209
+            ],
+            [
+              130.242069,
+              42.738582
+            ],
+            [
+              130.257467,
+              42.710884
+            ],
+            [
+              130.290112,
+              42.702968
+            ],
+            [
+              130.333228,
+              42.64973
+            ],
+            [
+              130.373264,
+              42.630799
+            ],
+            [
+              130.388046,
+              42.603054
+            ],
+            [
+              130.420691,
+              42.617148
+            ],
+            [
+              130.44656,
+              42.607459
+            ],
+            [
+              130.423771,
+              42.574855
+            ],
+            [
+              130.435474,
+              42.553257
+            ],
+            [
+              130.476125,
+              42.570007
+            ],
+            [
+              130.459495,
+              42.588075
+            ],
+            [
+              130.482285,
+              42.626837
+            ],
+            [
+              130.522937,
+              42.622433
+            ],
+            [
+              130.520473,
+              42.593362
+            ],
+            [
+              130.558661,
+              42.495919
+            ],
+            [
+              130.585763,
+              42.485328
+            ],
+            [
+              130.581451,
+              42.435437
+            ],
+            [
+              130.645509,
+              42.426603
+            ],
+            [
+              130.600545,
+              42.450453
+            ],
+            [
+              130.599929,
+              42.486211
+            ],
+            [
+              130.565437,
+              42.506509
+            ],
+            [
+              130.570364,
+              42.557224
+            ],
+            [
+              130.622719,
+              42.573092
+            ],
+            [
+              130.633806,
+              42.603494
+            ],
+            [
+              130.592538,
+              42.671295
+            ],
+            [
+              130.521089,
+              42.702089
+            ],
+            [
+              130.464423,
+              42.688453
+            ],
+            [
+              130.425003,
+              42.706926
+            ],
+            [
+              130.40714,
+              42.731548
+            ],
+            [
+              130.46627,
+              42.772417
+            ],
+            [
+              130.532792,
+              42.787352
+            ],
+            [
+              130.562357,
+              42.815015
+            ],
+            [
+              130.603625,
+              42.819405
+            ],
+            [
+              130.665835,
+              42.847932
+            ],
+            [
+              130.708335,
+              42.846615
+            ],
+            [
+              130.719422,
+              42.831695
+            ],
+            [
+              130.75453,
+              42.845738
+            ],
+            [
+              130.784095,
+              42.842227
+            ],
+            [
+              130.801957,
+              42.879515
+            ],
+            [
+              130.845073,
+              42.881269
+            ],
+            [
+              130.890653,
+              42.852758
+            ],
+            [
+              130.912826,
+              42.870744
+            ],
+            [
+              130.949783,
+              42.876884
+            ],
+            [
+              130.981812,
+              42.857145
+            ],
+            [
+              131.043406,
+              42.862848
+            ],
+            [
+              131.017536,
+              42.915027
+            ],
+            [
+              131.034167,
+              42.929051
+            ],
+            [
+              131.114855,
+              42.915027
+            ],
+            [
+              131.145652,
+              42.9365
+            ],
+            [
+              131.151195,
+              42.968475
+            ],
+            [
+              131.115471,
+              42.975482
+            ],
+            [
+              131.11855,
+              43.007875
+            ],
+            [
+              131.102536,
+              43.021002
+            ],
+            [
+              131.120398,
+              43.068238
+            ],
+            [
+              131.171521,
+              43.06955
+            ],
+            [
+              131.173985,
+              43.111506
+            ],
+            [
+              131.207861,
+              43.1316
+            ],
+            [
+              131.218948,
+              43.191405
+            ],
+            [
+              131.201086,
+              43.203185
+            ],
+            [
+              131.206014,
+              43.237202
+            ],
+            [
+              131.255289,
+              43.265099
+            ],
+            [
+              131.269455,
+              43.297775
+            ],
+            [
+              131.275615,
+              43.369165
+            ],
+            [
+              131.314419,
+              43.392653
+            ],
+            [
+              131.295941,
+              43.441774
+            ],
+            [
+              131.314419,
+              43.461325
+            ],
+            [
+              131.31873,
+              43.499539
+            ],
+            [
+              131.304564,
+              43.502144
+            ],
+            [
+              131.294093,
+              43.470012
+            ],
+            [
+              131.234963,
+              43.475224
+            ],
+            [
+              131.201086,
+              43.442209
+            ],
+            [
+              131.175217,
+              43.444816
+            ],
+            [
+              131.142572,
+              43.425695
+            ],
+            [
+              131.026775,
+              43.508655
+            ],
+            [
+              130.959638,
+              43.48608
+            ],
+            [
+              130.907283,
+              43.434387
+            ],
+            [
+              130.864167,
+              43.437863
+            ],
+            [
+              130.841378,
+              43.454374
+            ],
+            [
+              130.822899,
+              43.503446
+            ],
+            [
+              130.776704,
+              43.52341
+            ],
+            [
+              130.727429,
+              43.560284
+            ],
+            [
+              130.671378,
+              43.565054
+            ],
+            [
+              130.665835,
+              43.583698
+            ],
+            [
+              130.623335,
+              43.589767
+            ],
+            [
+              130.630726,
+              43.622268
+            ],
+            [
+              130.57098,
+              43.626167
+            ],
+            [
+              130.57098,
+              43.626167
+            ],
+            [
+              130.501995,
+              43.636563
+            ],
+            [
+              130.488444,
+              43.65605
+            ],
+            [
+              130.437937,
+              43.646091
+            ],
+            [
+              130.412684,
+              43.652586
+            ],
+            [
+              130.394206,
+              43.703227
+            ],
+            [
+              130.423155,
+              43.745179
+            ],
+            [
+              130.382503,
+              43.777164
+            ],
+            [
+              130.381887,
+              43.817768
+            ],
+            [
+              130.362793,
+              43.844967
+            ],
+            [
+              130.386198,
+              43.85403
+            ],
+            [
+              130.368336,
+              43.894151
+            ],
+            [
+              130.381887,
+              43.910106
+            ],
+            [
+              130.338155,
+              43.963975
+            ],
+            [
+              130.364025,
+              43.992399
+            ],
+            [
+              130.365256,
+              44.044042
+            ],
+            [
+              130.319061,
+              44.03974
+            ],
+            [
+              130.307358,
+              44.002731
+            ],
+            [
+              130.27225,
+              43.981634
+            ],
+            [
+              130.262395,
+              43.949328
+            ],
+            [
+              130.208192,
+              43.948466
+            ],
+            [
+              130.153373,
+              43.915711
+            ],
+            [
+              130.143518,
+              43.878624
+            ],
+            [
+              130.116417,
+              43.878192
+            ],
+            [
+              130.110873,
+              43.852735
+            ],
+            [
+              130.079461,
+              43.835039
+            ],
+            [
+              130.027722,
+              43.851872
+            ],
+            [
+              130.009243,
+              43.889407
+            ],
+            [
+              130.022794,
+              43.917866
+            ],
+            [
+              130.017867,
+              43.961821
+            ],
+            [
+              129.979062,
+              44.015644
+            ],
+            [
+              129.951345,
+              44.027263
+            ],
+            [
+              129.907614,
+              44.023821
+            ],
+            [
+              129.881128,
+              44.000148
+            ],
+            [
+              129.868193,
+              44.012631
+            ],
+            [
+              129.802904,
+              43.964837
+            ],
+            [
+              129.780114,
+              43.892857
+            ],
+            [
+              129.739462,
+              43.895876
+            ],
+            [
+              129.743158,
+              43.876035
+            ],
+            [
+              129.699426,
+              43.8838
+            ],
+            [
+              129.650767,
+              43.873016
+            ],
+            [
+              129.529427,
+              43.870427
+            ],
+            [
+              129.467833,
+              43.874741
+            ],
+            [
+              129.449971,
+              43.850578
+            ],
+            [
+              129.417942,
+              43.843672
+            ],
+            [
+              129.406855,
+              43.819496
+            ],
+            [
+              129.348341,
+              43.798333
+            ],
+            [
+              129.30892,
+              43.812155
+            ],
+            [
+              129.289826,
+              43.797038
+            ],
+            [
+              129.254718,
+              43.819496
+            ],
+            [
+              129.211602,
+              43.784509
+            ],
+            [
+              129.232544,
+              43.709284
+            ],
+            [
+              129.214066,
+              43.695006
+            ],
+            [
+              129.217146,
+              43.648689
+            ],
+            [
+              129.232544,
+              43.635263
+            ],
+            [
+              129.23008,
+              43.593234
+            ],
+            [
+              129.169102,
+              43.561585
+            ],
+            [
+              129.145081,
+              43.570258
+            ],
+            [
+              129.093958,
+              43.547706
+            ],
+            [
+              129.037907,
+              43.540332
+            ],
+            [
+              129.013886,
+              43.522976
+            ],
+            [
+              128.962763,
+              43.53903
+            ],
+            [
+              128.949828,
+              43.553779
+            ],
+            [
+              128.878379,
+              43.539898
+            ],
+            [
+              128.834647,
+              43.587599
+            ],
+            [
+              128.821097,
+              43.637429
+            ],
+            [
+              128.78722,
+              43.686784
+            ],
+            [
+              128.768126,
+              43.732207
+            ],
+            [
+              128.729322,
+              43.736964
+            ],
+            [
+              128.760119,
+              43.755554
+            ],
+            [
+              128.739177,
+              43.806972
+            ],
+            [
+              128.719467,
+              43.816905
+            ],
+            [
+              128.760734,
+              43.857482
+            ],
+            [
+              128.729938,
+              43.889838
+            ],
+            [
+              128.696061,
+              43.903207
+            ],
+            [
+              128.636315,
+              43.891132
+            ],
+            [
+              128.64001,
+              43.948035
+            ],
+            [
+              128.610445,
+              43.960529
+            ],
+            [
+              128.584576,
+              43.990246
+            ],
+            [
+              128.574721,
+              44.047914
+            ],
+            [
+              128.529141,
+              44.112401
+            ],
+            [
+              128.471859,
+              44.157501
+            ],
+            [
+              128.450301,
+              44.203423
+            ],
+            [
+              128.471859,
+              44.247596
+            ],
+            [
+              128.453997,
+              44.257884
+            ],
+            [
+              128.472475,
+              44.320001
+            ],
+            [
+              128.446605,
+              44.339694
+            ],
+            [
+              128.475555,
+              44.346114
+            ],
+            [
+              128.481714,
+              44.375637
+            ],
+            [
+              128.457076,
+              44.409848
+            ],
+            [
+              128.463236,
+              44.431647
+            ],
+            [
+              128.427511,
+              44.473512
+            ],
+            [
+              128.397946,
+              44.483761
+            ],
+            [
+              128.372693,
+              44.514495
+            ],
+            [
+              128.295084,
+              44.480772
+            ],
+            [
+              128.293237,
+              44.467961
+            ],
+            [
+              128.228563,
+              44.445748
+            ],
+            [
+              128.211317,
+              44.431647
+            ],
+            [
+              128.172512,
+              44.34697
+            ],
+            [
+              128.137404,
+              44.357668
+            ],
+            [
+              128.094904,
+              44.354673
+            ],
+            [
+              128.074578,
+              44.370075
+            ],
+            [
+              128.049941,
+              44.349965
+            ],
+            [
+              128.065339,
+              44.307155
+            ],
+            [
+              128.101679,
+              44.293449
+            ],
+            [
+              128.064107,
+              44.251454
+            ],
+            [
+              128.104143,
+              44.230017
+            ],
+            [
+              128.09244,
+              44.181539
+            ],
+            [
+              128.060411,
+              44.168663
+            ],
+            [
+              128.088129,
+              44.158359
+            ],
+            [
+              128.091208,
+              44.133022
+            ],
+            [
+              128.042549,
+              44.103807
+            ],
+            [
+              127.950158,
+              44.088334
+            ],
+            [
+              127.912586,
+              44.064687
+            ],
+            [
+              127.862695,
+              44.062967
+            ],
+            [
+              127.846065,
+              44.081886
+            ],
+            [
+              127.808492,
+              44.086615
+            ],
+            [
+              127.783239,
+              44.071997
+            ],
+            [
+              127.729036,
+              44.09908
+            ],
+            [
+              127.735811,
+              44.11412
+            ],
+            [
+              127.712406,
+              44.199133
+            ],
+            [
+              127.681609,
+              44.166946
+            ],
+            [
+              127.641573,
+              44.193555
+            ],
+            [
+              127.626174,
+              44.187977
+            ],
+            [
+              127.59045,
+              44.227872
+            ],
+            [
+              127.623711,
+              44.278025
+            ],
+            [
+              127.579363,
+              44.310581
+            ],
+            [
+              127.486356,
+              44.410275
+            ],
+            [
+              127.50853,
+              44.437202
+            ],
+            [
+              127.463566,
+              44.484615
+            ],
+            [
+              127.465414,
+              44.516628
+            ],
+            [
+              127.485124,
+              44.528576
+            ],
+            [
+              127.536247,
+              44.522176
+            ],
+            [
+              127.570124,
+              44.55033
+            ],
+            [
+              127.557189,
+              44.575488
+            ],
+            [
+              127.392733,
+              44.632158
+            ],
+            [
+              127.275705,
+              44.640249
+            ],
+            [
+              127.261538,
+              44.61299
+            ],
+            [
+              127.214111,
+              44.624917
+            ],
+            [
+              127.228893,
+              44.642804
+            ],
+            [
+              127.182082,
+              44.644507
+            ],
+            [
+              127.138966,
+              44.607451
+            ],
+            [
+              127.094619,
+              44.615972
+            ],
+            [
+              127.089691,
+              44.593816
+            ],
+            [
+              127.049655,
+              44.566961
+            ],
+            [
+              127.041648,
+              44.591258
+            ],
+            [
+              127.044112,
+              44.653874
+            ],
+            [
+              127.030561,
+              44.673454
+            ],
+            [
+              127.041032,
+              44.712169
+            ],
+            [
+              126.9973,
+              44.764882
+            ],
+            [
+              126.984366,
+              44.823914
+            ],
+            [
+              126.999764,
+              44.87398
+            ],
+            [
+              127.021938,
+              44.898997
+            ],
+            [
+              127.073061,
+              44.907051
+            ],
+            [
+              127.092771,
+              44.94688
+            ],
+            [
+              127.050271,
+              45.004034
+            ],
+            [
+              127.018242,
+              45.024341
+            ],
+            [
+              126.984981,
+              45.067893
+            ],
+            [
+              126.970815,
+              45.070852
+            ],
+            [
+              126.96404,
+              45.132104
+            ],
+            [
+              126.85625,
+              45.145613
+            ],
+            [
+              126.792808,
+              45.135481
+            ],
+            [
+              126.787265,
+              45.159118
+            ],
+            [
+              126.732446,
+              45.187385
+            ],
+            [
+              126.685635,
+              45.187807
+            ],
+            [
+              126.640055,
+              45.214373
+            ],
+            [
+              126.644983,
+              45.225334
+            ],
+            [
+              126.569222,
+              45.252725
+            ],
+            [
+              126.540273,
+              45.23882
+            ],
+            [
+              126.519331,
+              45.248091
+            ],
+            [
+              126.402919,
+              45.222805
+            ],
+            [
+              126.356107,
+              45.185698
+            ],
+            [
+              126.293282,
+              45.180214
+            ],
+            [
+              126.285274,
+              45.162494
+            ],
+            [
+              126.235383,
+              45.140125
+            ],
+            [
+              126.225528,
+              45.154054
+            ],
+            [
+              126.166398,
+              45.13337
+            ],
+            [
+              126.142992,
+              45.147723
+            ],
+            [
+              126.091869,
+              45.149411
+            ],
+            [
+              126.047522,
+              45.170933
+            ],
+            [
+              125.998247,
+              45.162072
+            ],
+            [
+              125.992703,
+              45.192447
+            ],
+            [
+              125.957595,
+              45.201303
+            ],
+            [
+              125.915095,
+              45.196664
+            ],
+            [
+              125.849805,
+              45.23882
+            ],
+            [
+              125.823936,
+              45.237978
+            ],
+            [
+              125.815929,
+              45.264942
+            ],
+            [
+              125.761726,
+              45.291472
+            ],
+            [
+              125.726001,
+              45.336503
+            ],
+            [
+              125.695205,
+              45.352066
+            ],
+            [
+              125.712451,
+              45.389485
+            ],
+            [
+              125.711835,
+              45.477677
+            ],
+            [
+              125.687813,
+              45.514173
+            ],
+            [
+              125.660096,
+              45.507043
+            ],
+            [
+              125.61698,
+              45.517947
+            ],
+            [
+              125.583104,
+              45.491942
+            ],
+            [
+              125.497488,
+              45.469283
+            ],
+            [
+              125.480242,
+              45.486488
+            ],
+            [
+              125.424807,
+              45.485649
+            ],
+            [
+              125.434662,
+              45.462988
+            ],
+            [
+              125.398322,
+              45.416797
+            ],
+            [
+              125.361981,
+              45.392847
+            ],
+            [
+              125.319482,
+              45.422678
+            ],
+            [
+              125.301619,
+              45.402092
+            ],
+            [
+              125.248649,
+              45.417637
+            ],
+            [
+              125.189518,
+              45.39915
+            ],
+            [
+              125.137779,
+              45.409655
+            ],
+            [
+              125.097127,
+              45.38276
+            ],
+            [
+              125.06633,
+              45.39915
+            ],
+            [
+              125.08912,
+              45.420998
+            ],
+            [
+              125.0497,
+              45.428558
+            ],
+            [
+              125.025678,
+              45.493201
+            ],
+            [
+              124.961005,
+              45.495299
+            ],
+            [
+              124.936983,
+              45.53388
+            ],
+            [
+              124.911114,
+              45.535976
+            ],
+            [
+              124.884628,
+              45.495299
+            ],
+            [
+              124.886476,
+              45.442836
+            ],
+            [
+              124.839665,
+              45.455852
+            ],
+            [
+              124.792853,
+              45.436958
+            ],
+            [
+              124.776223,
+              45.468024
+            ],
+            [
+              124.729412,
+              45.444096
+            ],
+            [
+              124.690607,
+              45.452493
+            ],
+            [
+              124.625318,
+              45.437377
+            ],
+            [
+              124.575427,
+              45.451234
+            ],
+            [
+              124.579738,
+              45.424358
+            ],
+            [
+              124.544014,
+              45.411756
+            ],
+            [
+              124.507058,
+              45.424778
+            ],
+            [
+              124.480572,
+              45.456271
+            ],
+            [
+              124.398652,
+              45.440737
+            ],
+            [
+              124.374015,
+              45.45795
+            ],
+            [
+              124.352457,
+              45.496557
+            ],
+            [
+              124.369087,
+              45.512915
+            ],
+            [
+              124.348761,
+              45.546874
+            ],
+            [
+              124.287783,
+              45.539329
+            ],
+            [
+              124.264377,
+              45.555256
+            ],
+            [
+              124.273001,
+              45.584163
+            ],
+            [
+              124.238508,
+              45.591702
+            ],
+            [
+              124.226805,
+              45.633564
+            ],
+            [
+              124.162132,
+              45.616404
+            ],
+            [
+              124.128255,
+              45.641933
+            ],
+            [
+              124.147349,
+              45.665359
+            ],
+            [
+              124.122096,
+              45.669123
+            ],
+            [
+              124.13503,
+              45.690448
+            ],
+            [
+              124.10177,
+              45.700898
+            ],
+            [
+              124.098074,
+              45.722628
+            ],
+            [
+              124.054342,
+              45.751449
+            ],
+            [
+              124.014922,
+              45.749779
+            ],
+            [
+              124.001987,
+              45.770655
+            ],
+            [
+              124.064197,
+              45.802372
+            ],
+            [
+              124.03648,
+              45.83824
+            ],
+            [
+              124.067277,
+              45.840325
+            ],
+            [
+              124.061118,
+              45.886168
+            ],
+            [
+              123.996444,
+              45.906993
+            ],
+            [
+              123.968727,
+              45.936551
+            ],
+            [
+              123.973654,
+              45.973997
+            ],
+            [
+              124.011842,
+              45.981899
+            ],
+            [
+              123.989053,
+              46.011833
+            ],
+            [
+              124.040176,
+              46.01973
+            ],
+            [
+              124.034016,
+              46.045074
+            ],
+            [
+              124.009995,
+              46.057534
+            ],
+            [
+              124.015538,
+              46.088257
+            ],
+            [
+              123.99398,
+              46.101123
+            ],
+            [
+              124.01677,
+              46.118549
+            ],
+            [
+              123.991516,
+              46.143019
+            ],
+            [
+              124.001987,
+              46.166649
+            ],
+            [
+              123.971806,
+              46.170379
+            ],
+            [
+              123.956408,
+              46.206009
+            ],
+            [
+              123.979814,
+              46.228784
+            ],
+            [
+              123.952096,
+              46.256516
+            ],
+            [
+              123.960103,
+              46.288369
+            ],
+            [
+              123.936082,
+              46.286715
+            ],
+            [
+              123.917604,
+              46.25693
+            ],
+            [
+              123.896046,
+              46.303668
+            ],
+            [
+              123.84985,
+              46.302428
+            ],
+            [
+              123.775938,
+              46.263136
+            ],
+            [
+              123.726047,
+              46.255688
+            ],
+            [
+              123.673692,
+              46.258585
+            ],
+            [
+              123.604706,
+              46.251964
+            ],
+            [
+              123.569598,
+              46.223816
+            ],
+            [
+              123.569598,
+              46.223816
+            ],
+            [
+              123.499381,
+              46.259826
+            ],
+            [
+              123.452569,
+              46.233338
+            ],
+            [
+              123.430396,
+              46.243687
+            ],
+            [
+              123.357099,
+              46.232096
+            ],
+            [
+              123.357099,
+              46.232096
+            ],
+            [
+              123.320758,
+              46.254447
+            ],
+            [
+              123.286266,
+              46.250308
+            ],
+            [
+              123.248078,
+              46.273065
+            ],
+            [
+              123.178476,
+              46.248239
+            ],
+            [
+              123.128585,
+              46.210565
+            ],
+            [
+              123.127354,
+              46.174523
+            ],
+            [
+              123.102716,
+              46.172037
+            ],
+            [
+              123.112571,
+              46.130163
+            ],
+            [
+              123.070071,
+              46.123527
+            ],
+            [
+              123.04605,
+              46.099878
+            ],
+            [
+              122.792898,
+              46.073313
+            ],
+            [
+              122.828623,
+              45.912406
+            ],
+            [
+              122.80029,
+              45.856583
+            ],
+            [
+              122.772572,
+              45.856583
+            ],
+            [
+              122.752246,
+              45.834905
+            ],
+            [
+              122.792283,
+              45.766063
+            ],
+            [
+              122.751015,
+              45.735996
+            ],
+            [
+              122.741775,
+              45.705077
+            ],
+            [
+              122.671558,
+              45.70048
+            ],
+            [
+              122.650001,
+              45.731401
+            ],
+            [
+              122.640761,
+              45.771072
+            ],
+            [
+              122.603189,
+              45.778169
+            ],
+            [
+              122.556378,
+              45.82156
+            ],
+            [
+              122.522501,
+              45.786933
+            ],
+            [
+              122.504639,
+              45.786933
+            ],
+            [
+              122.496016,
+              45.85825
+            ],
+            [
+              122.446125,
+              45.916986
+            ],
+            [
+              122.362357,
+              45.917403
+            ],
+            [
+              122.372828,
+              45.856166
+            ],
+            [
+              122.337719,
+              45.859917
+            ],
+            [
+              122.301379,
+              45.813218
+            ],
+            [
+              122.253952,
+              45.7982
+            ],
+            [
+              122.236705,
+              45.831569
+            ],
+            [
+              122.200981,
+              45.857
+            ],
+            [
+              122.091344,
+              45.882002
+            ],
+            [
+              122.085184,
+              45.912406
+            ],
+            [
+              122.040221,
+              45.959022
+            ],
+            [
+              121.92812,
+              45.988552
+            ],
+            [
+              121.923808,
+              46.004767
+            ],
+            [
+              121.864062,
+              46.002272
+            ],
+            [
+              121.843736,
+              46.024301
+            ],
+            [
+              121.819098,
+              46.023054
+            ],
+            [
+              121.761816,
+              45.998947
+            ],
+            [
+              121.809243,
+              45.961102
+            ],
+            [
+              121.821562,
+              45.918235
+            ],
+            [
+              121.805548,
+              45.900746
+            ],
+            [
+              121.817251,
+              45.875336
+            ],
+            [
+              121.769823,
+              45.84366
+            ],
+            [
+              121.766744,
+              45.830318
+            ],
+            [
+              121.766744,
+              45.830318
+            ],
+            [
+              121.754425,
+              45.794862
+            ],
+            [
+              121.697142,
+              45.76314
+            ],
+            [
+              121.657106,
+              45.770238
+            ],
+            [
+              121.644172,
+              45.752284
+            ],
+            [
+              121.666345,
+              45.727641
+            ],
+            [
+              121.713773,
+              45.701734
+            ],
+            [
+              121.811091,
+              45.687103
+            ],
+            [
+              121.812323,
+              45.704659
+            ],
+            [
+              121.867142,
+              45.719703
+            ],
+            [
+              121.934279,
+              45.71051
+            ],
+            [
+              121.970004,
+              45.692956
+            ],
+            [
+              122.003264,
+              45.623102
+            ],
+            [
+              121.995873,
+              45.59882
+            ],
+            [
+              121.966308,
+              45.596308
+            ],
+            [
+              121.993409,
+              45.552741
+            ],
+            [
+              122.002648,
+              45.507882
+            ],
+            [
+              122.064242,
+              45.472641
+            ],
+            [
+              122.168336,
+              45.439897
+            ],
+            [
+              122.180039,
+              45.409655
+            ],
+            [
+              122.146778,
+              45.374352
+            ],
+            [
+              122.147394,
+              45.295682
+            ],
+            [
+              122.239169,
+              45.276313
+            ],
+            [
+              122.22993,
+              45.206784
+            ],
+            [
+              122.192358,
+              45.180636
+            ],
+            [
+              122.143082,
+              45.183167
+            ],
+            [
+              122.109822,
+              45.142236
+            ],
+            [
+              122.119677,
+              45.068739
+            ],
+            [
+              122.098735,
+              45.02138
+            ],
+            [
+              122.074713,
+              45.006573
+            ],
+            [
+              122.087032,
+              44.95281
+            ],
+            [
+              122.079025,
+              44.914256
+            ],
+            [
+              122.04946,
+              44.912985
+            ],
+            [
+              122.098119,
+              44.81882
+            ],
+            [
+              122.099967,
+              44.7823
+            ],
+            [
+              122.168952,
+              44.770405
+            ],
+            [
+              122.142467,
+              44.753833
+            ],
+            [
+              122.110438,
+              44.767856
+            ],
+            [
+              122.10243,
+              44.736406
+            ],
+            [
+              122.152322,
+              44.744057
+            ],
+            [
+              122.161561,
+              44.728328
+            ],
+            [
+              122.117213,
+              44.701961
+            ],
+            [
+              122.103046,
+              44.67388
+            ],
+            [
+              122.113517,
+              44.615546
+            ],
+            [
+              122.13138,
+              44.577619
+            ],
+            [
+              122.196053,
+              44.559712
+            ],
+            [
+              122.224386,
+              44.526016
+            ],
+            [
+              122.228082,
+              44.480345
+            ],
+            [
+              122.28598,
+              44.477783
+            ],
+            [
+              122.294604,
+              44.41113
+            ],
+            [
+              122.291524,
+              44.310152
+            ],
+            [
+              122.271198,
+              44.255741
+            ],
+            [
+              122.319241,
+              44.233018
+            ],
+            [
+              122.483081,
+              44.236877
+            ],
+            [
+              122.515726,
+              44.251025
+            ],
+            [
+              122.641993,
+              44.283595
+            ],
+            [
+              122.675254,
+              44.285738
+            ],
+            [
+              122.702971,
+              44.319145
+            ],
+            [
+              122.76087,
+              44.369648
+            ],
+            [
+              122.85634,
+              44.398304
+            ],
+            [
+              123.025108,
+              44.493153
+            ],
+            [
+              123.06576,
+              44.505959
+            ],
+            [
+              123.12489,
+              44.5098
+            ],
+            [
+              123.137209,
+              44.486322
+            ],
+            [
+              123.125506,
+              44.455147
+            ],
+            [
+              123.142136,
+              44.428228
+            ],
+            [
+              123.114419,
+              44.40258
+            ],
+            [
+              123.128585,
+              44.367081
+            ],
+            [
+              123.196955,
+              44.34483
+            ],
+            [
+              123.277027,
+              44.25274
+            ],
+            [
+              123.286882,
+              44.211574
+            ],
+            [
+              123.323838,
+              44.179823
+            ],
+            [
+              123.386664,
+              44.161794
+            ],
+            [
+              123.362642,
+              44.133452
+            ],
+            [
+              123.350939,
+              44.092633
+            ],
+            [
+              123.32815,
+              44.084035
+            ],
+            [
+              123.331229,
+              44.028984
+            ],
+            [
+              123.365722,
+              44.013922
+            ],
+            [
+              123.400831,
+              43.979481
+            ],
+            [
+              123.37065,
+              43.970006
+            ],
+            [
+              123.397135,
+              43.954929
+            ],
+            [
+              123.467968,
+              43.853599
+            ],
+            [
+              123.461809,
+              43.822518
+            ],
+            [
+              123.498149,
+              43.771114
+            ],
+            [
+              123.48275,
+              43.737396
+            ],
+            [
+              123.520323,
+              43.708419
+            ],
+            [
+              123.518475,
+              43.682024
+            ],
+            [
+              123.536953,
+              43.633964
+            ],
+            [
+              123.510468,
+              43.624867
+            ],
+            [
+              123.5117,
+              43.592801
+            ],
+            [
+              123.421157,
+              43.598435
+            ],
+            [
+              123.434091,
+              43.575461
+            ],
+            [
+              123.461193,
+              43.568523
+            ],
+            [
+              123.452569,
+              43.545971
+            ],
+            [
+              123.452569,
+              43.545971
+            ],
+            [
+              123.360179,
+              43.567223
+            ],
+            [
+              123.304744,
+              43.550742
+            ],
+            [
+              123.329998,
+              43.519071
+            ],
+            [
+              123.315831,
+              43.492159
+            ],
+            [
+              123.36449,
+              43.483475
+            ],
+            [
+              123.382968,
+              43.469143
+            ],
+            [
+              123.419925,
+              43.410046
+            ],
+            [
+              123.442098,
+              43.437863
+            ],
+            [
+              123.486446,
+              43.44525
+            ],
+            [
+              123.519707,
+              43.402219
+            ],
+            [
+              123.54496,
+              43.415262
+            ],
+            [
+              123.608402,
+              43.366119
+            ],
+            [
+              123.703873,
+              43.37047
+            ],
+            [
+              123.710032,
+              43.417001
+            ],
+            [
+              123.749452,
+              43.439167
+            ],
+            [
+              123.747604,
+              43.472184
+            ],
+            [
+              123.79688,
+              43.489988
+            ],
+            [
+              123.857858,
+              43.459153
+            ],
+            [
+              123.857858,
+              43.459153
+            ],
+            [
+              123.852314,
+              43.406133
+            ],
+            [
+              123.881263,
+              43.392218
+            ],
+            [
+              123.881263,
+              43.392218
+            ],
+            [
+              123.896046,
+              43.361333
+            ],
+            [
+              123.964415,
+              43.34088
+            ],
+            [
+              124.032784,
+              43.280786
+            ],
+            [
+              124.099306,
+              43.292983
+            ],
+            [
+              124.117168,
+              43.2773
+            ],
+            [
+              124.114088,
+              43.247229
+            ],
+            [
+              124.168291,
+              43.244177
+            ],
+            [
+              124.215102,
+              43.255947
+            ],
+            [
+              124.228653,
+              43.235022
+            ],
+            [
+              124.27608,
+              43.233278
+            ],
+            [
+              124.287167,
+              43.207983
+            ],
+            [
+              124.273617,
+              43.17875
+            ],
+            [
+              124.366007,
+              43.121554
+            ],
+            [
+              124.425754,
+              43.076107
+            ],
+            [
+              124.333363,
+              42.997371
+            ],
+            [
+              124.369703,
+              42.972854
+            ],
+            [
+              124.42329,
+              42.975482
+            ],
+            [
+              124.442384,
+              42.958841
+            ],
+            [
+              124.431913,
+              42.930803
+            ],
+            [
+              124.38079,
+              42.912835
+            ],
+            [
+              124.371551,
+              42.880831
+            ],
+            [
+              124.435609,
+              42.880831
+            ],
+            [
+              124.466406,
+              42.847054
+            ],
+            [
+              124.586514,
+              42.905384
+            ],
+            [
+              124.607456,
+              42.937376
+            ],
+            [
+              124.632093,
+              42.949642
+            ],
+            [
+              124.635173,
+              42.972854
+            ],
+            [
+              124.658579,
+              42.972854
+            ],
+            [
+              124.677673,
+              43.002185
+            ],
+            [
+              124.686912,
+              43.051185
+            ],
+            [
+              124.719557,
+              43.069987
+            ],
+            [
+              124.755281,
+              43.074359
+            ],
+            [
+              124.785462,
+              43.117185
+            ],
+            [
+              124.882781,
+              43.13422
+            ],
+            [
+              124.88894,
+              43.074796
+            ],
+            [
+              124.840897,
+              43.032377
+            ],
+            [
+              124.869846,
+              42.988178
+            ],
+            [
+              124.87231,
+              42.962344
+            ],
+            [
+              124.84952,
+              42.882585
+            ],
+            [
+              124.856911,
+              42.824234
+            ],
+            [
+              124.874157,
+              42.789987
+            ],
+            [
+              124.897563,
+              42.787791
+            ],
+            [
+              124.92836,
+              42.819844
+            ],
+            [
+              124.975171,
+              42.802722
+            ],
+            [
+              124.996729,
+              42.745174
+            ],
+            [
+              124.968396,
+              42.722756
+            ],
+            [
+              124.99057,
+              42.677455
+            ],
+            [
+              125.014592,
+              42.666014
+            ],
+            [
+              125.010896,
+              42.63212
+            ],
+            [
+              125.038613,
+              42.615387
+            ],
+            [
+              125.097127,
+              42.622433
+            ],
+            [
+              125.082961,
+              42.591159
+            ],
+            [
+              125.089736,
+              42.567803
+            ],
+            [
+              125.066946,
+              42.534738
+            ],
+            [
+              125.090968,
+              42.515773
+            ],
+            [
+              125.068794,
+              42.499449
+            ],
+            [
+              125.105135,
+              42.490624
+            ],
+            [
+              125.150098,
+              42.458842
+            ],
+            [
+              125.140243,
+              42.44692
+            ],
+            [
+              125.186439,
+              42.427928
+            ],
+            [
+              125.185823,
+              42.38197
+            ],
+            [
+              125.203685,
+              42.366938
+            ],
+            [
+              125.167345,
+              42.351903
+            ],
+            [
+              125.175352,
+              42.308102
+            ],
+            [
+              125.224011,
+              42.30102
+            ],
+            [
+              125.264047,
+              42.312528
+            ],
+            [
+              125.299156,
+              42.289953
+            ],
+            [
+              125.27575,
+              42.266928
+            ],
+            [
+              125.27575,
+              42.231045
+            ],
+            [
+              125.312706,
+              42.219966
+            ],
+            [
+              125.280677,
+              42.175187
+            ],
+            [
+              125.312706,
+              42.197359
+            ],
+            [
+              125.305931,
+              42.146351
+            ],
+            [
+              125.357054,
+              42.145464
+            ],
+            [
+              125.368141,
+              42.182726
+            ],
+            [
+              125.41372,
+              42.156112
+            ],
+            [
+              125.458068,
+              42.160105
+            ],
+            [
+              125.458068,
+              42.160105
+            ],
+            [
+              125.490097,
+              42.136145
+            ],
+            [
+              125.446365,
+              42.098411
+            ],
+            [
+              125.414336,
+              42.101964
+            ],
+            [
+              125.416184,
+              42.063766
+            ],
+            [
+              125.363213,
+              42.017097
+            ],
+            [
+              125.369989,
+              42.002868
+            ],
+            [
+              125.29854,
+              41.974399
+            ],
+            [
+              125.291764,
+              41.958825
+            ],
+            [
+              125.35151,
+              41.92811
+            ],
+            [
+              125.307779,
+              41.924548
+            ],
+            [
+              125.294844,
+              41.822945
+            ],
+            [
+              125.319482,
+              41.776993
+            ],
+            [
+              125.319482,
+              41.776993
+            ],
+            [
+              125.323177,
+              41.771191
+            ],
+            [
+              125.323177,
+              41.771191
+            ],
+            [
+              125.336112,
+              41.768067
+            ],
+            [
+              125.336112,
+              41.768067
+            ],
+            [
+              125.332416,
+              41.711354
+            ],
+            [
+              125.317018,
+              41.676944
+            ],
+            [
+              125.344119,
+              41.672474
+            ],
+            [
+              125.412488,
+              41.691246
+            ],
+            [
+              125.446981,
+              41.67605
+            ],
+            [
+              125.461148,
+              41.642516
+            ],
+            [
+              125.450061,
+              41.597777
+            ],
+            [
+              125.479626,
+              41.544946
+            ],
+            [
+              125.507343,
+              41.534195
+            ],
+            [
+              125.493176,
+              41.509103
+            ],
+            [
+              125.533212,
+              41.479069
+            ],
+            [
+              125.534444,
+              41.428833
+            ],
+            [
+              125.547995,
+              41.401006
+            ],
+            [
+              125.581256,
+              41.396517
+            ],
+            [
+              125.589879,
+              41.359245
+            ],
+            [
+              125.610205,
+              41.365084
+            ],
+            [
+              125.637306,
+              41.34442
+            ],
+            [
+              125.62006,
+              41.318355
+            ],
+            [
+              125.642234,
+              41.296327
+            ],
+            [
+              125.646545,
+              41.264396
+            ],
+            [
+              125.685349,
+              41.273842
+            ],
+            [
+              125.695205,
+              41.244599
+            ],
+            [
+              125.749407,
+              41.245499
+            ],
+            [
+              125.758646,
+              41.232449
+            ],
+            [
+              125.73832,
+              41.178418
+            ],
+            [
+              125.791291,
+              41.167607
+            ],
+            [
+              125.759878,
+              41.132908
+            ],
+            [
+              125.734009,
+              41.125695
+            ],
+            [
+              125.712451,
+              41.095485
+            ],
+            [
+              125.739552,
+              41.08917
+            ],
+            [
+              125.726617,
+              41.055332
+            ],
+            [
+              125.684118,
+              41.021929
+            ],
+            [
+              125.674879,
+              40.974503
+            ],
+            [
+              125.650241,
+              40.970888
+            ],
+            [
+              125.635458,
+              40.94151
+            ],
+            [
+              125.589263,
+              40.931112
+            ],
+            [
+              125.584335,
+              40.891764
+            ],
+            [
+              125.652089,
+              40.91619
+            ],
+            [
+              125.687813,
+              40.897645
+            ],
+            [
+              125.707523,
+              40.866877
+            ],
+            [
+              125.778356,
+              40.897645
+            ],
+            [
+              125.817161,
+              40.866877
+            ],
+            [
+              125.860892,
+              40.888597
+            ],
+            [
+              125.875059,
+              40.908501
+            ],
+            [
+              125.921254,
+              40.882715
+            ],
+            [
+              125.959442,
+              40.88181
+            ],
+            [
+              126.008102,
+              40.936537
+            ],
+            [
+              126.041362,
+              40.928851
+            ],
+            [
+              126.051833,
+              40.96185
+            ],
+            [
+              126.08263,
+              40.976762
+            ],
+            [
+              126.066,
+              40.997542
+            ],
+            [
+              126.1085,
+              41.011995
+            ],
+            [
+              126.099877,
+              41.036376
+            ],
+            [
+              126.133753,
+              41.063906
+            ],
+            [
+              126.124514,
+              41.092327
+            ],
+            [
+              126.16763,
+              41.094583
+            ],
+            [
+              126.187956,
+              41.113072
+            ],
+            [
+              126.188572,
+              41.114875
+            ],
+            [
+              126.295129,
+              41.171661
+            ],
+            [
+              126.332086,
+              41.236949
+            ],
+            [
+              126.35426,
+              41.244599
+            ],
+            [
+              126.373354,
+              41.289133
+            ],
+            [
+              126.437411,
+              41.353405
+            ],
+            [
+              126.497158,
+              41.374965
+            ],
+            [
+              126.524259,
+              41.349362
+            ],
+            [
+              126.539041,
+              41.366881
+            ],
+            [
+              126.497158,
+              41.406842
+            ],
+            [
+              126.559983,
+              41.548081
+            ],
+            [
+              126.582773,
+              41.563307
+            ],
+            [
+              126.564295,
+              41.608965
+            ],
+            [
+              126.592628,
+              41.624624
+            ],
+            [
+              126.608027,
+              41.669345
+            ],
+            [
+              126.644983,
+              41.661297
+            ],
+            [
+              126.688099,
+              41.674262
+            ],
+            [
+              126.724439,
+              41.710907
+            ],
+            [
+              126.690562,
+              41.728328
+            ],
+            [
+              126.694874,
+              41.751103
+            ],
+            [
+              126.723207,
+              41.753335
+            ],
+            [
+              126.8002,
+              41.702865
+            ],
+            [
+              126.809439,
+              41.749317
+            ],
+            [
+              126.848243,
+              41.734134
+            ],
+            [
+              126.85625,
+              41.760031
+            ],
+            [
+              126.887047,
+              41.791719
+            ],
+            [
+              126.931395,
+              41.812687
+            ],
+            [
+              126.952953,
+              41.804212
+            ],
+            [
+              126.940018,
+              41.773423
+            ],
+            [
+              126.979438,
+              41.776993
+            ],
+            [
+              127.005923,
+              41.749317
+            ],
+            [
+              127.050887,
+              41.744852
+            ],
+            [
+              127.057662,
+              41.703758
+            ],
+            [
+              127.037952,
+              41.676944
+            ],
+            [
+              127.103242,
+              41.647883
+            ],
+            [
+              127.093387,
+              41.629993
+            ],
+            [
+              127.127263,
+              41.622388
+            ],
+            [
+              127.135887,
+              41.600463
+            ],
+            [
+              127.178386,
+              41.600015
+            ],
+            [
+              127.125416,
+              41.566442
+            ],
+            [
+              127.11864,
+              41.540018
+            ],
+            [
+              127.164836,
+              41.542706
+            ],
+            [
+              127.188241,
+              41.527475
+            ],
+            [
+              127.241212,
+              41.520754
+            ],
+            [
+              127.28864,
+              41.501932
+            ],
+            [
+              127.253531,
+              41.486691
+            ],
+            [
+              127.296031,
+              41.486243
+            ],
+            [
+              127.360704,
+              41.466065
+            ],
+            [
+              127.360088,
+              41.479518
+            ],
+            [
+              127.405668,
+              41.478621
+            ],
+            [
+              127.419835,
+              41.460235
+            ],
+            [
+              127.459255,
+              41.461581
+            ],
+            [
+              127.465414,
+              41.479069
+            ],
+            [
+              127.526392,
+              41.467859
+            ],
+            [
+              127.547334,
+              41.477276
+            ],
+            [
+              127.563964,
+              41.432871
+            ],
+            [
+              127.618783,
+              41.432871
+            ],
+            [
+              127.636645,
+              41.413575
+            ],
+            [
+              127.684073,
+              41.422999
+            ],
+            [
+              127.780159,
+              41.427038
+            ],
+            [
+              127.854688,
+              41.420755
+            ],
+            [
+              127.86947,
+              41.4037
+            ],
+            [
+              127.882405,
+              41.448124
+            ],
+            [
+              127.909506,
+              41.42973
+            ],
+            [
+              127.93168,
+              41.444984
+            ],
+            [
+              127.970484,
+              41.438704
+            ],
+            [
+              127.991426,
+              41.421204
+            ],
+            [
+              128.000049,
+              41.442741
+            ],
+            [
+              128.040085,
+              41.393375
+            ],
+            [
+              128.110919,
+              41.393375
+            ],
+            [
+              128.090593,
+              41.374516
+            ],
+            [
+              128.114614,
+              41.364186
+            ],
+            [
+              128.169433,
+              41.404149
+            ],
+            [
+              128.203925,
+              41.410882
+            ],
+            [
+              128.243345,
+              41.477276
+            ],
+            [
+              128.238418,
+              41.497898
+            ],
+            [
+              128.301244,
+              41.540018
+            ],
+            [
+              128.317874,
+              41.575844
+            ],
+            [
+              128.30186,
+              41.627756
+            ],
+            [
+              128.248889,
+              41.681414
+            ],
+            [
+              128.208853,
+              41.688565
+            ],
+            [
+              128.163889,
+              41.721628
+            ],
+            [
+              128.147875,
+              41.78101
+            ],
+            [
+              128.112766,
+              41.793504
+            ],
+            [
+              128.104143,
+              41.843457
+            ],
+            [
+              128.115846,
+              41.896935
+            ],
+            [
+              128.106607,
+              41.949923
+            ],
+            [
+              128.033926,
+              42.000199
+            ],
+            [
+              128.090593,
+              42.022877
+            ],
+            [
+              128.294468,
+              42.026434
+            ],
+            [
+              128.405338,
+              42.018876
+            ],
+            [
+              128.466316,
+              42.020654
+            ],
+            [
+              128.49896,
+              42.000644
+            ],
+            [
+              128.598127,
+              42.007315
+            ],
+            [
+              128.60675,
+              42.02999
+            ],
+            [
+              128.637547,
+              42.035324
+            ],
+            [
+              128.658489,
+              42.018876
+            ],
+            [
+              128.70222,
+              42.02021
+            ],
+            [
+              128.737945,
+              42.050435
+            ],
+            [
+              128.779213,
+              42.033546
+            ],
+            [
+              128.795227,
+              42.042436
+            ],
+            [
+              128.898089,
+              42.016653
+            ],
+            [
+              128.952908,
+              42.025545
+            ],
+            [
+              128.954755,
+              42.083756
+            ],
+            [
+              128.971386,
+              42.097079
+            ],
+            [
+              129.008958,
+              42.09175
+            ],
+            [
+              129.039139,
+              42.107736
+            ],
+            [
+              129.048378,
+              42.137476
+            ],
+            [
+              129.113668,
+              42.140583
+            ],
+            [
+              129.166639,
+              42.188047
+            ],
+            [
+              129.215914,
+              42.208442
+            ],
+            [
+              129.209138,
+              42.237692
+            ],
+            [
+              129.181421,
+              42.242122
+            ],
+            [
+              129.183269,
+              42.262056
+            ],
+            [
+              129.215914,
+              42.265157
+            ],
+            [
+              129.231312,
+              42.283755
+            ],
+            [
+              129.208522,
+              42.293052
+            ],
+            [
+              129.260261,
+              42.335536
+            ],
+            [
+              129.231312,
+              42.356325
+            ],
+            [
+              129.240551,
+              42.376223
+            ],
+            [
+              129.326167,
+              42.389927
+            ],
+            [
+              129.30892,
+              42.403628
+            ],
+            [
+              129.331094,
+              42.429695
+            ],
+            [
+              129.356348,
+              42.427045
+            ],
+            [
+              129.342181,
+              42.441179
+            ],
+            [
+              129.368051,
+              42.459284
+            ],
+            [
+              129.366203,
+              42.428811
+            ],
+            [
+              129.392688,
+              42.42837
+            ],
+            [
+              129.400695,
+              42.449128
+            ],
+            [
+              129.452434,
+              42.441179
+            ],
+            [
+              129.49863,
+              42.412023
+            ],
+            [
+              129.546057,
+              42.361632
+            ],
+            [
+              129.578086,
+              42.380202
+            ],
+            [
+              129.569463,
+              42.399208
+            ],
+            [
+              129.601492,
+              42.415116
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 23e4,
+      name: "黑龙江省",
+      center: [
+        126.642464,
+        45.756967
+      ],
+      centroid: [
+        127.693027,
+        48.040465
+      ],
+      childrenNum: 13,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 7,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              123.569598,
+              46.223816
+            ],
+            [
+              123.604706,
+              46.251964
+            ],
+            [
+              123.673692,
+              46.258585
+            ],
+            [
+              123.726047,
+              46.255688
+            ],
+            [
+              123.775938,
+              46.263136
+            ],
+            [
+              123.84985,
+              46.302428
+            ],
+            [
+              123.896046,
+              46.303668
+            ],
+            [
+              123.917604,
+              46.25693
+            ],
+            [
+              123.936082,
+              46.286715
+            ],
+            [
+              123.960103,
+              46.288369
+            ],
+            [
+              123.952096,
+              46.256516
+            ],
+            [
+              123.979814,
+              46.228784
+            ],
+            [
+              123.956408,
+              46.206009
+            ],
+            [
+              123.971806,
+              46.170379
+            ],
+            [
+              124.001987,
+              46.166649
+            ],
+            [
+              123.991516,
+              46.143019
+            ],
+            [
+              124.01677,
+              46.118549
+            ],
+            [
+              123.99398,
+              46.101123
+            ],
+            [
+              124.015538,
+              46.088257
+            ],
+            [
+              124.009995,
+              46.057534
+            ],
+            [
+              124.034016,
+              46.045074
+            ],
+            [
+              124.040176,
+              46.01973
+            ],
+            [
+              123.989053,
+              46.011833
+            ],
+            [
+              124.011842,
+              45.981899
+            ],
+            [
+              123.973654,
+              45.973997
+            ],
+            [
+              123.968727,
+              45.936551
+            ],
+            [
+              123.996444,
+              45.906993
+            ],
+            [
+              124.061118,
+              45.886168
+            ],
+            [
+              124.067277,
+              45.840325
+            ],
+            [
+              124.03648,
+              45.83824
+            ],
+            [
+              124.064197,
+              45.802372
+            ],
+            [
+              124.001987,
+              45.770655
+            ],
+            [
+              124.014922,
+              45.749779
+            ],
+            [
+              124.054342,
+              45.751449
+            ],
+            [
+              124.098074,
+              45.722628
+            ],
+            [
+              124.10177,
+              45.700898
+            ],
+            [
+              124.13503,
+              45.690448
+            ],
+            [
+              124.122096,
+              45.669123
+            ],
+            [
+              124.147349,
+              45.665359
+            ],
+            [
+              124.128255,
+              45.641933
+            ],
+            [
+              124.162132,
+              45.616404
+            ],
+            [
+              124.226805,
+              45.633564
+            ],
+            [
+              124.238508,
+              45.591702
+            ],
+            [
+              124.273001,
+              45.584163
+            ],
+            [
+              124.264377,
+              45.555256
+            ],
+            [
+              124.287783,
+              45.539329
+            ],
+            [
+              124.348761,
+              45.546874
+            ],
+            [
+              124.369087,
+              45.512915
+            ],
+            [
+              124.352457,
+              45.496557
+            ],
+            [
+              124.374015,
+              45.45795
+            ],
+            [
+              124.398652,
+              45.440737
+            ],
+            [
+              124.480572,
+              45.456271
+            ],
+            [
+              124.507058,
+              45.424778
+            ],
+            [
+              124.544014,
+              45.411756
+            ],
+            [
+              124.579738,
+              45.424358
+            ],
+            [
+              124.575427,
+              45.451234
+            ],
+            [
+              124.625318,
+              45.437377
+            ],
+            [
+              124.690607,
+              45.452493
+            ],
+            [
+              124.729412,
+              45.444096
+            ],
+            [
+              124.776223,
+              45.468024
+            ],
+            [
+              124.792853,
+              45.436958
+            ],
+            [
+              124.839665,
+              45.455852
+            ],
+            [
+              124.886476,
+              45.442836
+            ],
+            [
+              124.884628,
+              45.495299
+            ],
+            [
+              124.911114,
+              45.535976
+            ],
+            [
+              124.936983,
+              45.53388
+            ],
+            [
+              124.961005,
+              45.495299
+            ],
+            [
+              125.025678,
+              45.493201
+            ],
+            [
+              125.0497,
+              45.428558
+            ],
+            [
+              125.08912,
+              45.420998
+            ],
+            [
+              125.06633,
+              45.39915
+            ],
+            [
+              125.097127,
+              45.38276
+            ],
+            [
+              125.137779,
+              45.409655
+            ],
+            [
+              125.189518,
+              45.39915
+            ],
+            [
+              125.248649,
+              45.417637
+            ],
+            [
+              125.301619,
+              45.402092
+            ],
+            [
+              125.319482,
+              45.422678
+            ],
+            [
+              125.361981,
+              45.392847
+            ],
+            [
+              125.398322,
+              45.416797
+            ],
+            [
+              125.434662,
+              45.462988
+            ],
+            [
+              125.424807,
+              45.485649
+            ],
+            [
+              125.480242,
+              45.486488
+            ],
+            [
+              125.497488,
+              45.469283
+            ],
+            [
+              125.583104,
+              45.491942
+            ],
+            [
+              125.61698,
+              45.517947
+            ],
+            [
+              125.660096,
+              45.507043
+            ],
+            [
+              125.687813,
+              45.514173
+            ],
+            [
+              125.711835,
+              45.477677
+            ],
+            [
+              125.712451,
+              45.389485
+            ],
+            [
+              125.695205,
+              45.352066
+            ],
+            [
+              125.726001,
+              45.336503
+            ],
+            [
+              125.761726,
+              45.291472
+            ],
+            [
+              125.815929,
+              45.264942
+            ],
+            [
+              125.823936,
+              45.237978
+            ],
+            [
+              125.849805,
+              45.23882
+            ],
+            [
+              125.915095,
+              45.196664
+            ],
+            [
+              125.957595,
+              45.201303
+            ],
+            [
+              125.992703,
+              45.192447
+            ],
+            [
+              125.998247,
+              45.162072
+            ],
+            [
+              126.047522,
+              45.170933
+            ],
+            [
+              126.091869,
+              45.149411
+            ],
+            [
+              126.142992,
+              45.147723
+            ],
+            [
+              126.166398,
+              45.13337
+            ],
+            [
+              126.225528,
+              45.154054
+            ],
+            [
+              126.235383,
+              45.140125
+            ],
+            [
+              126.285274,
+              45.162494
+            ],
+            [
+              126.293282,
+              45.180214
+            ],
+            [
+              126.356107,
+              45.185698
+            ],
+            [
+              126.402919,
+              45.222805
+            ],
+            [
+              126.519331,
+              45.248091
+            ],
+            [
+              126.540273,
+              45.23882
+            ],
+            [
+              126.569222,
+              45.252725
+            ],
+            [
+              126.644983,
+              45.225334
+            ],
+            [
+              126.640055,
+              45.214373
+            ],
+            [
+              126.685635,
+              45.187807
+            ],
+            [
+              126.732446,
+              45.187385
+            ],
+            [
+              126.787265,
+              45.159118
+            ],
+            [
+              126.792808,
+              45.135481
+            ],
+            [
+              126.85625,
+              45.145613
+            ],
+            [
+              126.96404,
+              45.132104
+            ],
+            [
+              126.970815,
+              45.070852
+            ],
+            [
+              126.984981,
+              45.067893
+            ],
+            [
+              127.018242,
+              45.024341
+            ],
+            [
+              127.050271,
+              45.004034
+            ],
+            [
+              127.092771,
+              44.94688
+            ],
+            [
+              127.073061,
+              44.907051
+            ],
+            [
+              127.021938,
+              44.898997
+            ],
+            [
+              126.999764,
+              44.87398
+            ],
+            [
+              126.984366,
+              44.823914
+            ],
+            [
+              126.9973,
+              44.764882
+            ],
+            [
+              127.041032,
+              44.712169
+            ],
+            [
+              127.030561,
+              44.673454
+            ],
+            [
+              127.044112,
+              44.653874
+            ],
+            [
+              127.041648,
+              44.591258
+            ],
+            [
+              127.049655,
+              44.566961
+            ],
+            [
+              127.089691,
+              44.593816
+            ],
+            [
+              127.094619,
+              44.615972
+            ],
+            [
+              127.138966,
+              44.607451
+            ],
+            [
+              127.182082,
+              44.644507
+            ],
+            [
+              127.228893,
+              44.642804
+            ],
+            [
+              127.214111,
+              44.624917
+            ],
+            [
+              127.261538,
+              44.61299
+            ],
+            [
+              127.275705,
+              44.640249
+            ],
+            [
+              127.392733,
+              44.632158
+            ],
+            [
+              127.557189,
+              44.575488
+            ],
+            [
+              127.570124,
+              44.55033
+            ],
+            [
+              127.536247,
+              44.522176
+            ],
+            [
+              127.485124,
+              44.528576
+            ],
+            [
+              127.465414,
+              44.516628
+            ],
+            [
+              127.463566,
+              44.484615
+            ],
+            [
+              127.50853,
+              44.437202
+            ],
+            [
+              127.486356,
+              44.410275
+            ],
+            [
+              127.579363,
+              44.310581
+            ],
+            [
+              127.623711,
+              44.278025
+            ],
+            [
+              127.59045,
+              44.227872
+            ],
+            [
+              127.626174,
+              44.187977
+            ],
+            [
+              127.641573,
+              44.193555
+            ],
+            [
+              127.681609,
+              44.166946
+            ],
+            [
+              127.712406,
+              44.199133
+            ],
+            [
+              127.735811,
+              44.11412
+            ],
+            [
+              127.729036,
+              44.09908
+            ],
+            [
+              127.783239,
+              44.071997
+            ],
+            [
+              127.808492,
+              44.086615
+            ],
+            [
+              127.846065,
+              44.081886
+            ],
+            [
+              127.862695,
+              44.062967
+            ],
+            [
+              127.912586,
+              44.064687
+            ],
+            [
+              127.950158,
+              44.088334
+            ],
+            [
+              128.042549,
+              44.103807
+            ],
+            [
+              128.091208,
+              44.133022
+            ],
+            [
+              128.088129,
+              44.158359
+            ],
+            [
+              128.060411,
+              44.168663
+            ],
+            [
+              128.09244,
+              44.181539
+            ],
+            [
+              128.104143,
+              44.230017
+            ],
+            [
+              128.064107,
+              44.251454
+            ],
+            [
+              128.101679,
+              44.293449
+            ],
+            [
+              128.065339,
+              44.307155
+            ],
+            [
+              128.049941,
+              44.349965
+            ],
+            [
+              128.074578,
+              44.370075
+            ],
+            [
+              128.094904,
+              44.354673
+            ],
+            [
+              128.137404,
+              44.357668
+            ],
+            [
+              128.172512,
+              44.34697
+            ],
+            [
+              128.211317,
+              44.431647
+            ],
+            [
+              128.228563,
+              44.445748
+            ],
+            [
+              128.293237,
+              44.467961
+            ],
+            [
+              128.295084,
+              44.480772
+            ],
+            [
+              128.372693,
+              44.514495
+            ],
+            [
+              128.397946,
+              44.483761
+            ],
+            [
+              128.427511,
+              44.473512
+            ],
+            [
+              128.463236,
+              44.431647
+            ],
+            [
+              128.457076,
+              44.409848
+            ],
+            [
+              128.481714,
+              44.375637
+            ],
+            [
+              128.475555,
+              44.346114
+            ],
+            [
+              128.446605,
+              44.339694
+            ],
+            [
+              128.472475,
+              44.320001
+            ],
+            [
+              128.453997,
+              44.257884
+            ],
+            [
+              128.471859,
+              44.247596
+            ],
+            [
+              128.450301,
+              44.203423
+            ],
+            [
+              128.471859,
+              44.157501
+            ],
+            [
+              128.529141,
+              44.112401
+            ],
+            [
+              128.574721,
+              44.047914
+            ],
+            [
+              128.584576,
+              43.990246
+            ],
+            [
+              128.610445,
+              43.960529
+            ],
+            [
+              128.64001,
+              43.948035
+            ],
+            [
+              128.636315,
+              43.891132
+            ],
+            [
+              128.696061,
+              43.903207
+            ],
+            [
+              128.729938,
+              43.889838
+            ],
+            [
+              128.760734,
+              43.857482
+            ],
+            [
+              128.719467,
+              43.816905
+            ],
+            [
+              128.739177,
+              43.806972
+            ],
+            [
+              128.760119,
+              43.755554
+            ],
+            [
+              128.729322,
+              43.736964
+            ],
+            [
+              128.768126,
+              43.732207
+            ],
+            [
+              128.78722,
+              43.686784
+            ],
+            [
+              128.821097,
+              43.637429
+            ],
+            [
+              128.834647,
+              43.587599
+            ],
+            [
+              128.878379,
+              43.539898
+            ],
+            [
+              128.949828,
+              43.553779
+            ],
+            [
+              128.962763,
+              43.53903
+            ],
+            [
+              129.013886,
+              43.522976
+            ],
+            [
+              129.037907,
+              43.540332
+            ],
+            [
+              129.093958,
+              43.547706
+            ],
+            [
+              129.145081,
+              43.570258
+            ],
+            [
+              129.169102,
+              43.561585
+            ],
+            [
+              129.23008,
+              43.593234
+            ],
+            [
+              129.232544,
+              43.635263
+            ],
+            [
+              129.217146,
+              43.648689
+            ],
+            [
+              129.214066,
+              43.695006
+            ],
+            [
+              129.232544,
+              43.709284
+            ],
+            [
+              129.211602,
+              43.784509
+            ],
+            [
+              129.254718,
+              43.819496
+            ],
+            [
+              129.289826,
+              43.797038
+            ],
+            [
+              129.30892,
+              43.812155
+            ],
+            [
+              129.348341,
+              43.798333
+            ],
+            [
+              129.406855,
+              43.819496
+            ],
+            [
+              129.417942,
+              43.843672
+            ],
+            [
+              129.449971,
+              43.850578
+            ],
+            [
+              129.467833,
+              43.874741
+            ],
+            [
+              129.529427,
+              43.870427
+            ],
+            [
+              129.650767,
+              43.873016
+            ],
+            [
+              129.699426,
+              43.8838
+            ],
+            [
+              129.743158,
+              43.876035
+            ],
+            [
+              129.739462,
+              43.895876
+            ],
+            [
+              129.780114,
+              43.892857
+            ],
+            [
+              129.802904,
+              43.964837
+            ],
+            [
+              129.868193,
+              44.012631
+            ],
+            [
+              129.881128,
+              44.000148
+            ],
+            [
+              129.907614,
+              44.023821
+            ],
+            [
+              129.951345,
+              44.027263
+            ],
+            [
+              129.979062,
+              44.015644
+            ],
+            [
+              130.017867,
+              43.961821
+            ],
+            [
+              130.022794,
+              43.917866
+            ],
+            [
+              130.009243,
+              43.889407
+            ],
+            [
+              130.027722,
+              43.851872
+            ],
+            [
+              130.079461,
+              43.835039
+            ],
+            [
+              130.110873,
+              43.852735
+            ],
+            [
+              130.116417,
+              43.878192
+            ],
+            [
+              130.143518,
+              43.878624
+            ],
+            [
+              130.153373,
+              43.915711
+            ],
+            [
+              130.208192,
+              43.948466
+            ],
+            [
+              130.262395,
+              43.949328
+            ],
+            [
+              130.27225,
+              43.981634
+            ],
+            [
+              130.307358,
+              44.002731
+            ],
+            [
+              130.319061,
+              44.03974
+            ],
+            [
+              130.365256,
+              44.044042
+            ],
+            [
+              130.364025,
+              43.992399
+            ],
+            [
+              130.338155,
+              43.963975
+            ],
+            [
+              130.381887,
+              43.910106
+            ],
+            [
+              130.368336,
+              43.894151
+            ],
+            [
+              130.386198,
+              43.85403
+            ],
+            [
+              130.362793,
+              43.844967
+            ],
+            [
+              130.381887,
+              43.817768
+            ],
+            [
+              130.382503,
+              43.777164
+            ],
+            [
+              130.423155,
+              43.745179
+            ],
+            [
+              130.394206,
+              43.703227
+            ],
+            [
+              130.412684,
+              43.652586
+            ],
+            [
+              130.437937,
+              43.646091
+            ],
+            [
+              130.488444,
+              43.65605
+            ],
+            [
+              130.501995,
+              43.636563
+            ],
+            [
+              130.57098,
+              43.626167
+            ],
+            [
+              130.57098,
+              43.626167
+            ],
+            [
+              130.630726,
+              43.622268
+            ],
+            [
+              130.623335,
+              43.589767
+            ],
+            [
+              130.665835,
+              43.583698
+            ],
+            [
+              130.671378,
+              43.565054
+            ],
+            [
+              130.727429,
+              43.560284
+            ],
+            [
+              130.776704,
+              43.52341
+            ],
+            [
+              130.822899,
+              43.503446
+            ],
+            [
+              130.841378,
+              43.454374
+            ],
+            [
+              130.864167,
+              43.437863
+            ],
+            [
+              130.907283,
+              43.434387
+            ],
+            [
+              130.959638,
+              43.48608
+            ],
+            [
+              131.026775,
+              43.508655
+            ],
+            [
+              131.142572,
+              43.425695
+            ],
+            [
+              131.175217,
+              43.444816
+            ],
+            [
+              131.201086,
+              43.442209
+            ],
+            [
+              131.234963,
+              43.475224
+            ],
+            [
+              131.294093,
+              43.470012
+            ],
+            [
+              131.304564,
+              43.502144
+            ],
+            [
+              131.276847,
+              43.495632
+            ],
+            [
+              131.20047,
+              43.532089
+            ],
+            [
+              131.222028,
+              43.593234
+            ],
+            [
+              131.216485,
+              43.613169
+            ],
+            [
+              131.239274,
+              43.670337
+            ],
+            [
+              131.221412,
+              43.682024
+            ],
+            [
+              131.215869,
+              43.72745
+            ],
+            [
+              131.232499,
+              43.742585
+            ],
+            [
+              131.213405,
+              43.801357
+            ],
+            [
+              131.2171,
+              43.836334
+            ],
+            [
+              131.254057,
+              43.893289
+            ],
+            [
+              131.26268,
+              43.948897
+            ],
+            [
+              131.245434,
+              43.95579
+            ],
+            [
+              131.26576,
+              44.034578
+            ],
+            [
+              131.28239,
+              44.035868
+            ],
+            [
+              131.287318,
+              44.03802
+            ],
+            [
+              131.293477,
+              44.043182
+            ],
+            [
+              131.310723,
+              44.046623
+            ],
+            [
+              131.111775,
+              44.710042
+            ],
+            [
+              131.090833,
+              44.717272
+            ],
+            [
+              131.093297,
+              44.746183
+            ],
+            [
+              131.069275,
+              44.759783
+            ],
+            [
+              131.064348,
+              44.786973
+            ],
+            [
+              131.016304,
+              44.789521
+            ],
+            [
+              131.015688,
+              44.814999
+            ],
+            [
+              130.972573,
+              44.820094
+            ],
+            [
+              130.965181,
+              44.85065
+            ],
+            [
+              131.07913,
+              44.881614
+            ],
+            [
+              131.10192,
+              44.898997
+            ],
+            [
+              131.090217,
+              44.924427
+            ],
+            [
+              131.16105,
+              44.948151
+            ],
+            [
+              131.20355,
+              44.932901
+            ],
+            [
+              131.207861,
+              44.913833
+            ],
+            [
+              131.263296,
+              44.929935
+            ],
+            [
+              131.274999,
+              44.919766
+            ],
+            [
+              131.313803,
+              44.950692
+            ],
+            [
+              131.313803,
+              44.965938
+            ],
+            [
+              131.355071,
+              44.990068
+            ],
+            [
+              131.380324,
+              44.978216
+            ],
+            [
+              131.409889,
+              44.985836
+            ],
+            [
+              131.464708,
+              44.963397
+            ],
+            [
+              131.501664,
+              44.977793
+            ],
+            [
+              131.484418,
+              44.99557
+            ],
+            [
+              131.529382,
+              45.012073
+            ],
+            [
+              131.566338,
+              45.045487
+            ],
+            [
+              131.63286,
+              45.075078
+            ],
+            [
+              131.695685,
+              45.132104
+            ],
+            [
+              131.687678,
+              45.1511
+            ],
+            [
+              131.650722,
+              45.159962
+            ],
+            [
+              131.681519,
+              45.215217
+            ],
+            [
+              131.721555,
+              45.234606
+            ],
+            [
+              131.759127,
+              45.213952
+            ],
+            [
+              131.79362,
+              45.211844
+            ],
+            [
+              131.788692,
+              45.245984
+            ],
+            [
+              131.825649,
+              45.291472
+            ],
+            [
+              131.82996,
+              45.311677
+            ],
+            [
+              131.887858,
+              45.342393
+            ],
+            [
+              131.917423,
+              45.339448
+            ],
+            [
+              131.93159,
+              45.287683
+            ],
+            [
+              131.976554,
+              45.277156
+            ],
+            [
+              132.003655,
+              45.25441
+            ],
+            [
+              132.17427,
+              45.216903
+            ],
+            [
+              132.394161,
+              45.16376
+            ],
+            [
+              132.76434,
+              45.081417
+            ],
+            [
+              132.867202,
+              45.061976
+            ],
+            [
+              132.916477,
+              45.031109
+            ],
+            [
+              132.954049,
+              45.023072
+            ],
+            [
+              132.98731,
+              45.043373
+            ],
+            [
+              133.035969,
+              45.054366
+            ],
+            [
+              133.070462,
+              45.097051
+            ],
+            [
+              133.089556,
+              45.097473
+            ],
+            [
+              133.107418,
+              45.124504
+            ],
+            [
+              133.139447,
+              45.127459
+            ],
+            [
+              133.129592,
+              45.211422
+            ],
+            [
+              133.095715,
+              45.246827
+            ],
+            [
+              133.110498,
+              45.266627
+            ],
+            [
+              133.097563,
+              45.284735
+            ],
+            [
+              133.128976,
+              45.336924
+            ],
+            [
+              133.119121,
+              45.352908
+            ],
+            [
+              133.144991,
+              45.367205
+            ],
+            [
+              133.143759,
+              45.430658
+            ],
+            [
+              133.164701,
+              45.437377
+            ],
+            [
+              133.170244,
+              45.465506
+            ],
+            [
+              133.203505,
+              45.516689
+            ],
+            [
+              133.246005,
+              45.517528
+            ],
+            [
+              133.333468,
+              45.562379
+            ],
+            [
+              133.342707,
+              45.554836
+            ],
+            [
+              133.393214,
+              45.580393
+            ],
+            [
+              133.423395,
+              45.584163
+            ],
+            [
+              133.412924,
+              45.618079
+            ],
+            [
+              133.471438,
+              45.631053
+            ],
+            [
+              133.448649,
+              45.647372
+            ],
+            [
+              133.485605,
+              45.658667
+            ],
+            [
+              133.484989,
+              45.691702
+            ],
+            [
+              133.445569,
+              45.705077
+            ],
+            [
+              133.454192,
+              45.731819
+            ],
+            [
+              133.486837,
+              45.740173
+            ],
+            [
+              133.469591,
+              45.777751
+            ],
+            [
+              133.505315,
+              45.785681
+            ],
+            [
+              133.469591,
+              45.799451
+            ],
+            [
+              133.467743,
+              45.834905
+            ],
+            [
+              133.494228,
+              45.840325
+            ],
+            [
+              133.491764,
+              45.867002
+            ],
+            [
+              133.51209,
+              45.887001
+            ],
+            [
+              133.55459,
+              45.893249
+            ],
+            [
+              133.583539,
+              45.868669
+            ],
+            [
+              133.618032,
+              45.903662
+            ],
+            [
+              133.614952,
+              45.942794
+            ],
+            [
+              133.676546,
+              45.94321
+            ],
+            [
+              133.681474,
+              45.986473
+            ],
+            [
+              133.740604,
+              46.048812
+            ],
+            [
+              133.745531,
+              46.075389
+            ],
+            [
+              133.690713,
+              46.133896
+            ],
+            [
+              133.706111,
+              46.163333
+            ],
+            [
+              133.764626,
+              46.17328
+            ],
+            [
+              133.794807,
+              46.193583
+            ],
+            [
+              133.814517,
+              46.230854
+            ],
+            [
+              133.849625,
+              46.203939
+            ],
+            [
+              133.87919,
+              46.233752
+            ],
+            [
+              133.867487,
+              46.250722
+            ],
+            [
+              133.909987,
+              46.254447
+            ],
+            [
+              133.91861,
+              46.280924
+            ],
+            [
+              133.908139,
+              46.308216
+            ],
+            [
+              133.922922,
+              46.330948
+            ],
+            [
+              133.869335,
+              46.338386
+            ],
+            [
+              133.876726,
+              46.362345
+            ],
+            [
+              133.940784,
+              46.38134
+            ],
+            [
+              133.948791,
+              46.401153
+            ],
+            [
+              133.902596,
+              46.446119
+            ],
+            [
+              133.852089,
+              46.450242
+            ],
+            [
+              133.849625,
+              46.475389
+            ],
+            [
+              133.890893,
+              46.525235
+            ],
+            [
+              133.919842,
+              46.596012
+            ],
+            [
+              134.011001,
+              46.637941
+            ],
+            [
+              134.030711,
+              46.708981
+            ],
+            [
+              134.033175,
+              46.759023
+            ],
+            [
+              134.052885,
+              46.779928
+            ],
+            [
+              134.025168,
+              46.810657
+            ],
+            [
+              134.041182,
+              46.848326
+            ],
+            [
+              134.042414,
+              46.886787
+            ],
+            [
+              134.076291,
+              46.938298
+            ],
+            [
+              134.063972,
+              46.979962
+            ],
+            [
+              134.10216,
+              47.005678
+            ],
+            [
+              134.118175,
+              47.061968
+            ],
+            [
+              134.142812,
+              47.093349
+            ],
+            [
+              134.222268,
+              47.105164
+            ],
+            [
+              134.232739,
+              47.134892
+            ],
+            [
+              134.230276,
+              47.182097
+            ],
+            [
+              134.210566,
+              47.210155
+            ],
+            [
+              134.156979,
+              47.248357
+            ],
+            [
+              134.177305,
+              47.326299
+            ],
+            [
+              134.203174,
+              47.347389
+            ],
+            [
+              134.263536,
+              47.371307
+            ],
+            [
+              134.266616,
+              47.391974
+            ],
+            [
+              134.307268,
+              47.428829
+            ],
+            [
+              134.339297,
+              47.439759
+            ],
+            [
+              134.490202,
+              47.446235
+            ],
+            [
+              134.522847,
+              47.468086
+            ],
+            [
+              134.568426,
+              47.478199
+            ],
+            [
+              134.576434,
+              47.519036
+            ],
+            [
+              134.627556,
+              47.546512
+            ],
+            [
+              134.678064,
+              47.588507
+            ],
+            [
+              134.689766,
+              47.63813
+            ],
+            [
+              134.779694,
+              47.7159
+            ],
+            [
+              134.772918,
+              47.763391
+            ],
+            [
+              134.678679,
+              47.819278
+            ],
+            [
+              134.670056,
+              47.864667
+            ],
+            [
+              134.677448,
+              47.884738
+            ],
+            [
+              134.658969,
+              47.901191
+            ],
+            [
+              134.607846,
+              47.909214
+            ],
+            [
+              134.599839,
+              47.947711
+            ],
+            [
+              134.55426,
+              47.982173
+            ],
+            [
+              134.551796,
+              48.032622
+            ],
+            [
+              134.632484,
+              48.099412
+            ],
+            [
+              134.67252,
+              48.170505
+            ],
+            [
+              134.679295,
+              48.256245
+            ],
+            [
+              134.77107,
+              48.288908
+            ],
+            [
+              134.864077,
+              48.332293
+            ],
+            [
+              135.009439,
+              48.365703
+            ],
+            [
+              135.090743,
+              48.403461
+            ],
+            [
+              135.09567,
+              48.437618
+            ],
+            [
+              135.068569,
+              48.459451
+            ],
+            [
+              135.035924,
+              48.440795
+            ],
+            [
+              134.996504,
+              48.439603
+            ],
+            [
+              134.927519,
+              48.451513
+            ],
+            [
+              134.886867,
+              48.437618
+            ],
+            [
+              134.848679,
+              48.393925
+            ],
+            [
+              134.820961,
+              48.37604
+            ],
+            [
+              134.764295,
+              48.370076
+            ],
+            [
+              134.704549,
+              48.405448
+            ],
+            [
+              134.640491,
+              48.409818
+            ],
+            [
+              134.578281,
+              48.405448
+            ],
+            [
+              134.501905,
+              48.418954
+            ],
+            [
+              134.438463,
+              48.405448
+            ],
+            [
+              134.369478,
+              48.382797
+            ],
+            [
+              134.20379,
+              48.3824
+            ],
+            [
+              134.150819,
+              48.346217
+            ],
+            [
+              134.116327,
+              48.333089
+            ],
+            [
+              134.0689,
+              48.338659
+            ],
+            [
+              134.029479,
+              48.327519
+            ],
+            [
+              133.995603,
+              48.303639
+            ],
+            [
+              133.940784,
+              48.302047
+            ],
+            [
+              133.876111,
+              48.282536
+            ],
+            [
+              133.824372,
+              48.277359
+            ],
+            [
+              133.791111,
+              48.261026
+            ],
+            [
+              133.740604,
+              48.254651
+            ],
+            [
+              133.693177,
+              48.186866
+            ],
+            [
+              133.667307,
+              48.183275
+            ],
+            [
+              133.59709,
+              48.194846
+            ],
+            [
+              133.573068,
+              48.182078
+            ],
+            [
+              133.545967,
+              48.121389
+            ],
+            [
+              133.451728,
+              48.112999
+            ],
+            [
+              133.407997,
+              48.124585
+            ],
+            [
+              133.302055,
+              48.103009
+            ],
+            [
+              133.239845,
+              48.126583
+            ],
+            [
+              133.182563,
+              48.135769
+            ],
+            [
+              133.130208,
+              48.134971
+            ],
+            [
+              133.053216,
+              48.110202
+            ],
+            [
+              133.02673,
+              48.085421
+            ],
+            [
+              133.016259,
+              48.054228
+            ],
+            [
+              132.992238,
+              48.035424
+            ],
+            [
+              132.883216,
+              48.002599
+            ],
+            [
+              132.819159,
+              47.936887
+            ],
+            [
+              132.769268,
+              47.93849
+            ],
+            [
+              132.723072,
+              47.962941
+            ],
+            [
+              132.691043,
+              47.962941
+            ],
+            [
+              132.661478,
+              47.944905
+            ],
+            [
+              132.662094,
+              47.922451
+            ],
+            [
+              132.687348,
+              47.88514
+            ],
+            [
+              132.662094,
+              47.854227
+            ],
+            [
+              132.621442,
+              47.82852
+            ],
+            [
+              132.599268,
+              47.792347
+            ],
+            [
+              132.6005,
+              47.740858
+            ],
+            [
+              132.558,
+              47.718316
+            ],
+            [
+              132.469305,
+              47.726368
+            ],
+            [
+              132.371987,
+              47.765402
+            ],
+            [
+              132.325175,
+              47.762184
+            ],
+            [
+              132.288835,
+              47.742065
+            ],
+            [
+              132.272205,
+              47.718718
+            ],
+            [
+              132.242639,
+              47.70986
+            ],
+            [
+              132.19706,
+              47.714289
+            ],
+            [
+              132.157024,
+              47.70543
+            ],
+            [
+              132.086191,
+              47.703013
+            ],
+            [
+              132.000575,
+              47.712276
+            ],
+            [
+              131.976554,
+              47.673201
+            ],
+            [
+              131.900793,
+              47.685692
+            ],
+            [
+              131.825649,
+              47.677231
+            ],
+            [
+              131.741881,
+              47.706638
+            ],
+            [
+              131.690142,
+              47.707041
+            ],
+            [
+              131.641483,
+              47.663932
+            ],
+            [
+              131.59036,
+              47.660707
+            ],
+            [
+              131.568186,
+              47.682469
+            ],
+            [
+              131.559563,
+              47.724757
+            ],
+            [
+              131.543548,
+              47.736028
+            ],
+            [
+              131.456085,
+              47.747297
+            ],
+            [
+              131.359998,
+              47.730796
+            ],
+            [
+              131.273767,
+              47.738846
+            ],
+            [
+              131.236811,
+              47.733211
+            ],
+            [
+              131.183224,
+              47.702611
+            ],
+            [
+              131.115471,
+              47.689721
+            ],
+            [
+              131.029855,
+              47.694555
+            ],
+            [
+              130.983659,
+              47.713081
+            ],
+            [
+              130.966413,
+              47.733211
+            ],
+            [
+              130.961486,
+              47.828118
+            ],
+            [
+              130.891269,
+              47.927263
+            ],
+            [
+              130.870943,
+              47.943301
+            ],
+            [
+              130.770544,
+              47.998194
+            ],
+            [
+              130.737284,
+              48.034223
+            ],
+            [
+              130.699711,
+              48.044227
+            ],
+            [
+              130.666451,
+              48.105007
+            ],
+            [
+              130.673842,
+              48.12818
+            ],
+            [
+              130.765617,
+              48.18926
+            ],
+            [
+              130.769313,
+              48.231136
+            ],
+            [
+              130.787791,
+              48.256643
+            ],
+            [
+              130.817972,
+              48.265409
+            ],
+            [
+              130.845073,
+              48.296473
+            ],
+            [
+              130.81982,
+              48.341444
+            ],
+            [
+              130.785327,
+              48.357353
+            ],
+            [
+              130.747755,
+              48.404256
+            ],
+            [
+              130.745907,
+              48.449131
+            ],
+            [
+              130.776704,
+              48.480084
+            ],
+            [
+              130.767465,
+              48.507846
+            ],
+            [
+              130.711414,
+              48.511414
+            ],
+            [
+              130.647357,
+              48.484844
+            ],
+            [
+              130.620871,
+              48.49595
+            ],
+            [
+              130.615944,
+              48.575601
+            ],
+            [
+              130.605473,
+              48.594207
+            ],
+            [
+              130.538335,
+              48.612016
+            ],
+            [
+              130.538951,
+              48.635751
+            ],
+            [
+              130.576524,
+              48.688719
+            ],
+            [
+              130.622103,
+              48.783842
+            ],
+            [
+              130.689856,
+              48.849651
+            ],
+            [
+              130.680617,
+              48.881146
+            ],
+            [
+              130.609168,
+              48.881146
+            ],
+            [
+              130.559277,
+              48.861071
+            ],
+            [
+              130.501995,
+              48.865795
+            ],
+            [
+              130.471198,
+              48.905541
+            ],
+            [
+              130.412068,
+              48.905148
+            ],
+            [
+              130.279641,
+              48.866976
+            ],
+            [
+              130.237757,
+              48.868551
+            ],
+            [
+              130.219895,
+              48.893739
+            ],
+            [
+              130.113337,
+              48.956653
+            ],
+            [
+              130.059135,
+              48.979047
+            ],
+            [
+              130.020946,
+              49.021058
+            ],
+            [
+              129.937179,
+              49.040285
+            ],
+            [
+              129.9187,
+              49.060681
+            ],
+            [
+              129.934715,
+              49.078717
+            ],
+            [
+              129.913157,
+              49.1085
+            ],
+            [
+              129.866962,
+              49.113985
+            ],
+            [
+              129.855259,
+              49.133567
+            ],
+            [
+              129.864498,
+              49.158621
+            ],
+            [
+              129.847867,
+              49.181316
+            ],
+            [
+              129.784426,
+              49.184054
+            ],
+            [
+              129.753629,
+              49.208692
+            ],
+            [
+              129.761636,
+              49.25754
+            ],
+            [
+              129.730223,
+              49.288387
+            ],
+            [
+              129.696962,
+              49.298535
+            ],
+            [
+              129.604571,
+              49.279018
+            ],
+            [
+              129.562687,
+              49.299706
+            ],
+            [
+              129.546057,
+              49.395227
+            ],
+            [
+              129.51834,
+              49.423652
+            ],
+            [
+              129.448739,
+              49.441167
+            ],
+            [
+              129.390224,
+              49.432605
+            ],
+            [
+              129.374826,
+              49.414309
+            ],
+            [
+              129.379138,
+              49.367175
+            ],
+            [
+              129.358196,
+              49.355871
+            ],
+            [
+              129.320623,
+              49.3586
+            ],
+            [
+              129.266421,
+              49.396006
+            ],
+            [
+              129.215298,
+              49.399122
+            ],
+            [
+              129.180805,
+              49.386657
+            ],
+            [
+              129.143849,
+              49.357431
+            ],
+            [
+              129.084719,
+              49.359769
+            ],
+            [
+              129.061929,
+              49.374189
+            ],
+            [
+              129.013886,
+              49.457119
+            ],
+            [
+              128.932582,
+              49.46801
+            ],
+            [
+              128.871604,
+              49.492506
+            ],
+            [
+              128.792147,
+              49.473065
+            ],
+            [
+              128.76135,
+              49.482009
+            ],
+            [
+              128.763198,
+              49.515824
+            ],
+            [
+              128.813089,
+              49.558157
+            ],
+            [
+              128.802618,
+              49.58222
+            ],
+            [
+              128.744104,
+              49.595023
+            ],
+            [
+              128.715155,
+              49.564756
+            ],
+            [
+              128.656025,
+              49.577564
+            ],
+            [
+              128.619684,
+              49.593471
+            ],
+            [
+              128.537764,
+              49.604332
+            ],
+            [
+              128.500192,
+              49.593859
+            ],
+            [
+              128.389939,
+              49.58998
+            ],
+            [
+              128.343128,
+              49.544956
+            ],
+            [
+              128.287077,
+              49.566309
+            ],
+            [
+              128.243345,
+              49.563203
+            ],
+            [
+              128.185447,
+              49.53952
+            ],
+            [
+              128.122005,
+              49.55311
+            ],
+            [
+              128.070882,
+              49.556604
+            ],
+            [
+              128.001281,
+              49.592307
+            ],
+            [
+              127.949542,
+              49.596187
+            ],
+            [
+              127.897804,
+              49.579116
+            ],
+            [
+              127.815268,
+              49.593859
+            ],
+            [
+              127.782007,
+              49.630698
+            ],
+            [
+              127.705015,
+              49.665185
+            ],
+            [
+              127.677913,
+              49.697712
+            ],
+            [
+              127.674833,
+              49.764247
+            ],
+            [
+              127.653892,
+              49.780094
+            ],
+            [
+              127.583059,
+              49.786277
+            ],
+            [
+              127.531936,
+              49.826059
+            ],
+            [
+              127.529472,
+              49.864265
+            ],
+            [
+              127.547334,
+              49.928645
+            ],
+            [
+              127.543638,
+              49.944438
+            ],
+            [
+              127.495595,
+              49.994479
+            ],
+            [
+              127.501755,
+              50.056764
+            ],
+            [
+              127.58737,
+              50.137768
+            ],
+            [
+              127.60708,
+              50.178794
+            ],
+            [
+              127.603385,
+              50.239309
+            ],
+            [
+              127.44632,
+              50.270686
+            ],
+            [
+              127.371791,
+              50.29669
+            ],
+            [
+              127.332371,
+              50.340634
+            ],
+            [
+              127.369944,
+              50.403996
+            ],
+            [
+              127.3644,
+              50.438314
+            ],
+            [
+              127.30527,
+              50.45432
+            ],
+            [
+              127.293567,
+              50.46575
+            ],
+            [
+              127.323132,
+              50.52552
+            ],
+            [
+              127.36132,
+              50.547582
+            ],
+            [
+              127.370559,
+              50.581415
+            ],
+            [
+              127.294799,
+              50.663426
+            ],
+            [
+              127.28864,
+              50.699451
+            ],
+            [
+              127.305886,
+              50.733932
+            ],
+            [
+              127.295415,
+              50.755139
+            ],
+            [
+              127.236285,
+              50.781256
+            ],
+            [
+              127.143894,
+              50.910111
+            ],
+            [
+              127.113713,
+              50.93765
+            ],
+            [
+              127.052119,
+              50.962911
+            ],
+            [
+              126.985597,
+              51.029202
+            ],
+            [
+              126.922772,
+              51.061937
+            ],
+            [
+              126.917844,
+              51.138977
+            ],
+            [
+              126.899982,
+              51.200518
+            ],
+            [
+              126.926467,
+              51.246244
+            ],
+            [
+              126.976358,
+              51.291551
+            ],
+            [
+              126.98375,
+              51.318863
+            ],
+            [
+              126.970815,
+              51.332327
+            ],
+            [
+              126.887047,
+              51.321856
+            ],
+            [
+              126.877808,
+              51.300906
+            ],
+            [
+              126.908605,
+              51.283691
+            ],
+            [
+              126.92154,
+              51.259729
+            ],
+            [
+              126.908605,
+              51.246619
+            ],
+            [
+              126.863025,
+              51.248492
+            ],
+            [
+              126.820526,
+              51.281071
+            ],
+            [
+              126.813134,
+              51.311756
+            ],
+            [
+              126.837156,
+              51.345038
+            ],
+            [
+              126.904293,
+              51.340552
+            ],
+            [
+              126.930163,
+              51.359241
+            ],
+            [
+              126.908605,
+              51.407423
+            ],
+            [
+              126.835308,
+              51.413769
+            ],
+            [
+              126.791577,
+              51.432428
+            ],
+            [
+              126.784185,
+              51.448095
+            ],
+            [
+              126.812518,
+              51.493948
+            ],
+            [
+              126.843931,
+              51.521885
+            ],
+            [
+              126.837156,
+              51.536033
+            ],
+            [
+              126.69549,
+              51.57845
+            ],
+            [
+              126.67886,
+              51.602246
+            ],
+            [
+              126.741069,
+              51.642374
+            ],
+            [
+              126.723823,
+              51.679126
+            ],
+            [
+              126.734294,
+              51.711399
+            ],
+            [
+              126.724439,
+              51.7266
+            ],
+            [
+              126.6727,
+              51.73179
+            ],
+            [
+              126.658534,
+              51.762544
+            ],
+            [
+              126.622809,
+              51.777357
+            ],
+            [
+              126.580925,
+              51.824728
+            ],
+            [
+              126.555056,
+              51.874266
+            ],
+            [
+              126.510092,
+              51.922274
+            ],
+            [
+              126.462665,
+              51.948471
+            ],
+            [
+              126.468208,
+              51.982395
+            ],
+            [
+              126.447882,
+              52.009294
+            ],
+            [
+              126.450962,
+              52.027709
+            ],
+            [
+              126.487918,
+              52.041699
+            ],
+            [
+              126.514404,
+              52.037282
+            ],
+            [
+              126.563679,
+              52.119302
+            ],
+            [
+              126.556288,
+              52.136203
+            ],
+            [
+              126.499005,
+              52.16044
+            ],
+            [
+              126.457121,
+              52.165212
+            ],
+            [
+              126.403535,
+              52.185031
+            ],
+            [
+              126.34502,
+              52.192002
+            ],
+            [
+              126.306832,
+              52.205574
+            ],
+            [
+              126.312992,
+              52.235271
+            ],
+            [
+              126.357955,
+              52.264216
+            ],
+            [
+              126.401071,
+              52.279597
+            ],
+            [
+              126.436795,
+              52.277034
+            ],
+            [
+              126.4331,
+              52.298632
+            ],
+            [
+              126.327774,
+              52.310342
+            ],
+            [
+              126.320999,
+              52.342163
+            ],
+            [
+              126.348716,
+              52.357882
+            ],
+            [
+              126.353644,
+              52.389304
+            ],
+            [
+              126.326542,
+              52.424353
+            ],
+            [
+              126.268644,
+              52.475051
+            ],
+            [
+              126.205202,
+              52.466302
+            ],
+            [
+              126.192883,
+              52.492181
+            ],
+            [
+              126.213209,
+              52.525327
+            ],
+            [
+              126.147304,
+              52.573
+            ],
+            [
+              126.066616,
+              52.603905
+            ],
+            [
+              126.055529,
+              52.582455
+            ],
+            [
+              126.030891,
+              52.576273
+            ],
+            [
+              125.989008,
+              52.603178
+            ],
+            [
+              125.968682,
+              52.630429
+            ],
+            [
+              125.971145,
+              52.654033
+            ],
+            [
+              125.995783,
+              52.675085
+            ],
+            [
+              126.061688,
+              52.673271
+            ],
+            [
+              126.072775,
+              52.691048
+            ],
+            [
+              126.044442,
+              52.739628
+            ],
+            [
+              126.112195,
+              52.757016
+            ],
+            [
+              126.116507,
+              52.768243
+            ],
+            [
+              126.052449,
+              52.800095
+            ],
+            [
+              126.02042,
+              52.795753
+            ],
+            [
+              125.985312,
+              52.758465
+            ],
+            [
+              125.966834,
+              52.759914
+            ],
+            [
+              125.937269,
+              52.786705
+            ],
+            [
+              125.923718,
+              52.815651
+            ],
+            [
+              125.855349,
+              52.866259
+            ],
+            [
+              125.854117,
+              52.891542
+            ],
+            [
+              125.827631,
+              52.899123
+            ],
+            [
+              125.772197,
+              52.89804
+            ],
+            [
+              125.751255,
+              52.88143
+            ],
+            [
+              125.722306,
+              52.880347
+            ],
+            [
+              125.678574,
+              52.86084
+            ],
+            [
+              125.666871,
+              52.869872
+            ],
+            [
+              125.665023,
+              52.913561
+            ],
+            [
+              125.737088,
+              52.943504
+            ],
+            [
+              125.742632,
+              52.993964
+            ],
+            [
+              125.684118,
+              53.00801
+            ],
+            [
+              125.643466,
+              53.039686
+            ],
+            [
+              125.640386,
+              53.06199
+            ],
+            [
+              125.613901,
+              53.083564
+            ],
+            [
+              125.588647,
+              53.081047
+            ],
+            [
+              125.530749,
+              53.0512
+            ],
+            [
+              125.504263,
+              53.061271
+            ],
+            [
+              125.503647,
+              53.095424
+            ],
+            [
+              125.452524,
+              53.107641
+            ],
+            [
+              125.343503,
+              53.14463
+            ],
+            [
+              125.315786,
+              53.144989
+            ],
+            [
+              125.252344,
+              53.18051
+            ],
+            [
+              125.195062,
+              53.198439
+            ],
+            [
+              125.142091,
+              53.204175
+            ],
+            [
+              125.038613,
+              53.202741
+            ],
+            [
+              124.970244,
+              53.194137
+            ],
+            [
+              124.887708,
+              53.164368
+            ],
+            [
+              124.909266,
+              53.118059
+            ],
+            [
+              124.87231,
+              53.099018
+            ],
+            [
+              124.832889,
+              53.145347
+            ],
+            [
+              124.787926,
+              53.140681
+            ],
+            [
+              124.734339,
+              53.146783
+            ],
+            [
+              124.712165,
+              53.162574
+            ],
+            [
+              124.720789,
+              53.192344
+            ],
+            [
+              124.678905,
+              53.207043
+            ],
+            [
+              124.590209,
+              53.208476
+            ],
+            [
+              124.563108,
+              53.201666
+            ],
+            [
+              124.496587,
+              53.207759
+            ],
+            [
+              124.487348,
+              53.217436
+            ],
+            [
+              124.435609,
+              53.223886
+            ],
+            [
+              124.412203,
+              53.248601
+            ],
+            [
+              124.375863,
+              53.258984
+            ],
+            [
+              124.327819,
+              53.331954
+            ],
+            [
+              124.239124,
+              53.379817
+            ],
+            [
+              124.19416,
+              53.37339
+            ],
+            [
+              124.125791,
+              53.348033
+            ],
+            [
+              124.058038,
+              53.404085
+            ],
+            [
+              124.01369,
+              53.403371
+            ],
+            [
+              123.985973,
+              53.434401
+            ],
+            [
+              123.865249,
+              53.489627
+            ],
+            [
+              123.797495,
+              53.489983
+            ],
+            [
+              123.746373,
+              53.500308
+            ],
+            [
+              123.698329,
+              53.498528
+            ],
+            [
+              123.668764,
+              53.533756
+            ],
+            [
+              123.620721,
+              53.550115
+            ],
+            [
+              123.58746,
+              53.546915
+            ],
+            [
+              123.569598,
+              53.505291
+            ],
+            [
+              123.53141,
+              53.507071
+            ],
+            [
+              123.557895,
+              53.531978
+            ],
+            [
+              123.546808,
+              53.551537
+            ],
+            [
+              123.517243,
+              53.558292
+            ],
+            [
+              123.490758,
+              53.542648
+            ],
+            [
+              123.510468,
+              53.509206
+            ],
+            [
+              123.499381,
+              53.497816
+            ],
+            [
+              123.47228,
+              53.509206
+            ],
+            [
+              123.454417,
+              53.536602
+            ],
+            [
+              123.394055,
+              53.538024
+            ],
+            [
+              123.309672,
+              53.56078
+            ],
+            [
+              123.274563,
+              53.563269
+            ],
+            [
+              123.231447,
+              53.549404
+            ],
+            [
+              123.179092,
+              53.509918
+            ],
+            [
+              123.137209,
+              53.498172
+            ],
+            [
+              123.093477,
+              53.508138
+            ],
+            [
+              123.052209,
+              53.506715
+            ],
+            [
+              122.943804,
+              53.483929
+            ],
+            [
+              122.894528,
+              53.462914
+            ],
+            [
+              122.826775,
+              53.457213
+            ],
+            [
+              122.763949,
+              53.463626
+            ],
+            [
+              122.673406,
+              53.459351
+            ],
+            [
+              122.608117,
+              53.465408
+            ],
+            [
+              122.5379,
+              53.453293
+            ],
+            [
+              122.496016,
+              53.458638
+            ],
+            [
+              122.435038,
+              53.444739
+            ],
+            [
+              122.37406,
+              53.47467
+            ],
+            [
+              122.350038,
+              53.505647
+            ],
+            [
+              122.266886,
+              53.470039
+            ],
+            [
+              122.227466,
+              53.461845
+            ],
+            [
+              122.161561,
+              53.468614
+            ],
+            [
+              122.111054,
+              53.426913
+            ],
+            [
+              122.077177,
+              53.422277
+            ],
+            [
+              122.026054,
+              53.428339
+            ],
+            [
+              121.875765,
+              53.426556
+            ],
+            [
+              121.816019,
+              53.41336
+            ],
+            [
+              121.754425,
+              53.389454
+            ],
+            [
+              121.697758,
+              53.392666
+            ],
+            [
+              121.589969,
+              53.350891
+            ],
+            [
+              121.499426,
+              53.337314
+            ],
+            [
+              121.504969,
+              53.323018
+            ],
+            [
+              121.575802,
+              53.29155
+            ],
+            [
+              121.615222,
+              53.258984
+            ],
+            [
+              121.642324,
+              53.262564
+            ],
+            [
+              121.679896,
+              53.240722
+            ],
+            [
+              121.67928,
+              53.199515
+            ],
+            [
+              121.660186,
+              53.195213
+            ],
+            [
+              121.665114,
+              53.170467
+            ],
+            [
+              121.722396,
+              53.145706
+            ],
+            [
+              121.753193,
+              53.147501
+            ],
+            [
+              121.784606,
+              53.104408
+            ],
+            [
+              121.775367,
+              53.089674
+            ],
+            [
+              121.817867,
+              53.061631
+            ],
+            [
+              121.785838,
+              53.018451
+            ],
+            [
+              121.715621,
+              52.997926
+            ],
+            [
+              121.677432,
+              52.948192
+            ],
+            [
+              121.66265,
+              52.912478
+            ],
+            [
+              121.610295,
+              52.892264
+            ],
+            [
+              121.604136,
+              52.872401
+            ],
+            [
+              121.620766,
+              52.853251
+            ],
+            [
+              121.591201,
+              52.824693
+            ],
+            [
+              121.537614,
+              52.801542
+            ],
+            [
+              121.511129,
+              52.779104
+            ],
+            [
+              121.476636,
+              52.772225
+            ],
+            [
+              121.455078,
+              52.73528
+            ],
+            [
+              121.373158,
+              52.683067
+            ],
+            [
+              121.309717,
+              52.676173
+            ],
+            [
+              121.29247,
+              52.651855
+            ],
+            [
+              121.237036,
+              52.619167
+            ],
+            [
+              121.182217,
+              52.59918
+            ],
+            [
+              121.225333,
+              52.577364
+            ],
+            [
+              121.280151,
+              52.586819
+            ],
+            [
+              121.323883,
+              52.573727
+            ],
+            [
+              121.353448,
+              52.534793
+            ],
+            [
+              121.411963,
+              52.52205
+            ],
+            [
+              121.416274,
+              52.499468
+            ],
+            [
+              121.474172,
+              52.482706
+            ],
+            [
+              121.495114,
+              52.484892
+            ],
+            [
+              121.519136,
+              52.456821
+            ],
+            [
+              121.565331,
+              52.460468
+            ],
+            [
+              121.590585,
+              52.443326
+            ],
+            [
+              121.63986,
+              52.44442
+            ],
+            [
+              121.678664,
+              52.419973
+            ],
+            [
+              121.658338,
+              52.3904
+            ],
+            [
+              121.715621,
+              52.342894
+            ],
+            [
+              121.714389,
+              52.318025
+            ],
+            [
+              121.769207,
+              52.308147
+            ],
+            [
+              121.841272,
+              52.282526
+            ],
+            [
+              121.901018,
+              52.280695
+            ],
+            [
+              121.94783,
+              52.298266
+            ],
+            [
+              121.976779,
+              52.343626
+            ],
+            [
+              122.035909,
+              52.377615
+            ],
+            [
+              122.040837,
+              52.413038
+            ],
+            [
+              122.091344,
+              52.427272
+            ],
+            [
+              122.080873,
+              52.440407
+            ],
+            [
+              122.107358,
+              52.452445
+            ],
+            [
+              122.142467,
+              52.495096
+            ],
+            [
+              122.140003,
+              52.510032
+            ],
+            [
+              122.168952,
+              52.513674
+            ],
+            [
+              122.178191,
+              52.48963
+            ],
+            [
+              122.207756,
+              52.469218
+            ],
+            [
+              122.310618,
+              52.475416
+            ],
+            [
+              122.326016,
+              52.459374
+            ],
+            [
+              122.342031,
+              52.414133
+            ],
+            [
+              122.367284,
+              52.413768
+            ],
+            [
+              122.378987,
+              52.395512
+            ],
+            [
+              122.419023,
+              52.375057
+            ],
+            [
+              122.447356,
+              52.394052
+            ],
+            [
+              122.484313,
+              52.341432
+            ],
+            [
+              122.478153,
+              52.29607
+            ],
+            [
+              122.560689,
+              52.282526
+            ],
+            [
+              122.585943,
+              52.266413
+            ],
+            [
+              122.67895,
+              52.276667
+            ],
+            [
+              122.710979,
+              52.256157
+            ],
+            [
+              122.76087,
+              52.26678
+            ],
+            [
+              122.787355,
+              52.252494
+            ],
+            [
+              122.766413,
+              52.232705
+            ],
+            [
+              122.769493,
+              52.179893
+            ],
+            [
+              122.73808,
+              52.153464
+            ],
+            [
+              122.690653,
+              52.140243
+            ],
+            [
+              122.629059,
+              52.13657
+            ],
+            [
+              122.643841,
+              52.111585
+            ],
+            [
+              122.625363,
+              52.067459
+            ],
+            [
+              122.650616,
+              52.058997
+            ],
+            [
+              122.664783,
+              51.99861
+            ],
+            [
+              122.683877,
+              51.974654
+            ],
+            [
+              122.726377,
+              51.978709
+            ],
+            [
+              122.729457,
+              51.919321
+            ],
+            [
+              122.706051,
+              51.890151
+            ],
+            [
+              122.725761,
+              51.87833
+            ],
+            [
+              122.732536,
+              51.832495
+            ],
+            [
+              122.771957,
+              51.779579
+            ],
+            [
+              122.749167,
+              51.746613
+            ],
+            [
+              122.778732,
+              51.698048
+            ],
+            [
+              122.816304,
+              51.655371
+            ],
+            [
+              122.820616,
+              51.633088
+            ],
+            [
+              122.85634,
+              51.606707
+            ],
+            [
+              122.832935,
+              51.581797
+            ],
+            [
+              122.874202,
+              51.561339
+            ],
+            [
+              122.880362,
+              51.537894
+            ],
+            [
+              122.858804,
+              51.524864
+            ],
+            [
+              122.880362,
+              51.511085
+            ],
+            [
+              122.854492,
+              51.477551
+            ],
+            [
+              122.871123,
+              51.455181
+            ],
+            [
+              122.900072,
+              51.445112
+            ],
+            [
+              122.903768,
+              51.415262
+            ],
+            [
+              122.946267,
+              51.405183
+            ],
+            [
+              122.965977,
+              51.386886
+            ],
+            [
+              122.965977,
+              51.345786
+            ],
+            [
+              123.002934,
+              51.31213
+            ],
+            [
+              123.069455,
+              51.321108
+            ],
+            [
+              123.127969,
+              51.297913
+            ],
+            [
+              123.231447,
+              51.279199
+            ],
+            [
+              123.231447,
+              51.268716
+            ],
+            [
+              123.294273,
+              51.254111
+            ],
+            [
+              123.339853,
+              51.27246
+            ],
+            [
+              123.376809,
+              51.266844
+            ],
+            [
+              123.414381,
+              51.278825
+            ],
+            [
+              123.440251,
+              51.270963
+            ],
+            [
+              123.46304,
+              51.286686
+            ],
+            [
+              123.582533,
+              51.294545
+            ],
+            [
+              123.582533,
+              51.306893
+            ],
+            [
+              123.661989,
+              51.319237
+            ],
+            [
+              123.660141,
+              51.342795
+            ],
+            [
+              123.711264,
+              51.398089
+            ],
+            [
+              123.794416,
+              51.361109
+            ],
+            [
+              123.842459,
+              51.367462
+            ],
+            [
+              123.887423,
+              51.320734
+            ],
+            [
+              123.926227,
+              51.300532
+            ],
+            [
+              123.939777,
+              51.313253
+            ],
+            [
+              123.994596,
+              51.322604
+            ],
+            [
+              124.071588,
+              51.320734
+            ],
+            [
+              124.090067,
+              51.3413
+            ],
+            [
+              124.128255,
+              51.347281
+            ],
+            [
+              124.192313,
+              51.33943
+            ],
+            [
+              124.239124,
+              51.344664
+            ],
+            [
+              124.271769,
+              51.308389
+            ],
+            [
+              124.297638,
+              51.298661
+            ],
+            [
+              124.339522,
+              51.293422
+            ],
+            [
+              124.406659,
+              51.272086
+            ],
+            [
+              124.430065,
+              51.301281
+            ],
+            [
+              124.426985,
+              51.331953
+            ],
+            [
+              124.443616,
+              51.35812
+            ],
+            [
+              124.478108,
+              51.36223
+            ],
+            [
+              124.490427,
+              51.380537
+            ],
+            [
+              124.555717,
+              51.375307
+            ],
+            [
+              124.58713,
+              51.363725
+            ],
+            [
+              124.62655,
+              51.327465
+            ],
+            [
+              124.693687,
+              51.3327
+            ],
+            [
+              124.752817,
+              51.35812
+            ],
+            [
+              124.76452,
+              51.38726
+            ],
+            [
+              124.783614,
+              51.392115
+            ],
+            [
+              124.864302,
+              51.37979
+            ],
+            [
+              124.885244,
+              51.40817
+            ],
+            [
+              124.942527,
+              51.447349
+            ],
+            [
+              124.917889,
+              51.474196
+            ],
+            [
+              124.928976,
+              51.498419
+            ],
+            [
+              124.983795,
+              51.508478
+            ],
+            [
+              125.004737,
+              51.529332
+            ],
+            [
+              125.047236,
+              51.529704
+            ],
+            [
+              125.073106,
+              51.553526
+            ],
+            [
+              125.060171,
+              51.59667
+            ],
+            [
+              125.098975,
+              51.658341
+            ],
+            [
+              125.12854,
+              51.659083
+            ],
+            [
+              125.130388,
+              51.635317
+            ],
+            [
+              125.175968,
+              51.639403
+            ],
+            [
+              125.214772,
+              51.627888
+            ],
+            [
+              125.228938,
+              51.640517
+            ],
+            [
+              125.289301,
+              51.633831
+            ],
+            [
+              125.316402,
+              51.610052
+            ],
+            [
+              125.35151,
+              51.623801
+            ],
+            [
+              125.38046,
+              51.585516
+            ],
+            [
+              125.424807,
+              51.562827
+            ],
+            [
+              125.528285,
+              51.488359
+            ],
+            [
+              125.559082,
+              51.461521
+            ],
+            [
+              125.559082,
+              51.461521
+            ],
+            [
+              125.595422,
+              51.416755
+            ],
+            [
+              125.595422,
+              51.416755
+            ],
+            [
+              125.60035,
+              51.413396
+            ],
+            [
+              125.60035,
+              51.413396
+            ],
+            [
+              125.600966,
+              51.410409
+            ],
+            [
+              125.600966,
+              51.410409
+            ],
+            [
+              125.62314,
+              51.398089
+            ],
+            [
+              125.62314,
+              51.398089
+            ],
+            [
+              125.623756,
+              51.387633
+            ],
+            [
+              125.623756,
+              51.387633
+            ],
+            [
+              125.626219,
+              51.380163
+            ],
+            [
+              125.626219,
+              51.380163
+            ],
+            [
+              125.700132,
+              51.327465
+            ],
+            [
+              125.700132,
+              51.327465
+            ],
+            [
+              125.740784,
+              51.27583
+            ],
+            [
+              125.740784,
+              51.27583
+            ],
+            [
+              125.76111,
+              51.261976
+            ],
+            [
+              125.76111,
+              51.261976
+            ],
+            [
+              125.761726,
+              51.226385
+            ],
+            [
+              125.819008,
+              51.227134
+            ],
+            [
+              125.850421,
+              51.21364
+            ],
+            [
+              125.864588,
+              51.146487
+            ],
+            [
+              125.909551,
+              51.138977
+            ],
+            [
+              125.946508,
+              51.108176
+            ],
+            [
+              125.970529,
+              51.123955
+            ],
+            [
+              125.993935,
+              51.119072
+            ],
+            [
+              125.976073,
+              51.084498
+            ],
+            [
+              126.059225,
+              51.043503
+            ],
+            [
+              126.033971,
+              51.011132
+            ],
+            [
+              126.041978,
+              50.981753
+            ],
+            [
+              126.068464,
+              50.967434
+            ],
+            [
+              126.042594,
+              50.92558
+            ],
+            [
+              126.02042,
+              50.927466
+            ],
+            [
+              125.996399,
+              50.906715
+            ],
+            [
+              125.997631,
+              50.872738
+            ],
+            [
+              125.961906,
+              50.901054
+            ],
+            [
+              125.939732,
+              50.85423
+            ],
+            [
+              125.913247,
+              50.825885
+            ],
+            [
+              125.878138,
+              50.816812
+            ],
+            [
+              125.890457,
+              50.805845
+            ],
+            [
+              125.836255,
+              50.793363
+            ],
+            [
+              125.846726,
+              50.769524
+            ],
+            [
+              125.828863,
+              50.756654
+            ],
+            [
+              125.804226,
+              50.773309
+            ],
+            [
+              125.758646,
+              50.746809
+            ],
+            [
+              125.795603,
+              50.738856
+            ],
+            [
+              125.78082,
+              50.725598
+            ],
+            [
+              125.825784,
+              50.70362
+            ],
+            [
+              125.789443,
+              50.679735
+            ],
+            [
+              125.804226,
+              50.658874
+            ],
+            [
+              125.793139,
+              50.643316
+            ],
+            [
+              125.814697,
+              50.62092
+            ],
+            [
+              125.807921,
+              50.60383
+            ],
+            [
+              125.829479,
+              50.56165
+            ],
+            [
+              125.794987,
+              50.532748
+            ],
+            [
+              125.770349,
+              50.531227
+            ],
+            [
+              125.754335,
+              50.506874
+            ],
+            [
+              125.740784,
+              50.523237
+            ],
+            [
+              125.699516,
+              50.487078
+            ],
+            [
+              125.654553,
+              50.471082
+            ],
+            [
+              125.627451,
+              50.443268
+            ],
+            [
+              125.580024,
+              50.449366
+            ],
+            [
+              125.562162,
+              50.438314
+            ],
+            [
+              125.583104,
+              50.409717
+            ],
+            [
+              125.567089,
+              50.402852
+            ],
+            [
+              125.536292,
+              50.420014
+            ],
+            [
+              125.522126,
+              50.404759
+            ],
+            [
+              125.546763,
+              50.358965
+            ],
+            [
+              125.520278,
+              50.3498
+            ],
+            [
+              125.530749,
+              50.331085
+            ],
+            [
+              125.463611,
+              50.295925
+            ],
+            [
+              125.466075,
+              50.266861
+            ],
+            [
+              125.442053,
+              50.260357
+            ],
+            [
+              125.448829,
+              50.216338
+            ],
+            [
+              125.417416,
+              50.195654
+            ],
+            [
+              125.39093,
+              50.199868
+            ],
+            [
+              125.382923,
+              50.172278
+            ],
+            [
+              125.335496,
+              50.161161
+            ],
+            [
+              125.376148,
+              50.137385
+            ],
+            [
+              125.311474,
+              50.140453
+            ],
+            [
+              125.27883,
+              50.127411
+            ],
+            [
+              125.258504,
+              50.103618
+            ],
+            [
+              125.287453,
+              50.093636
+            ],
+            [
+              125.283757,
+              50.070211
+            ],
+            [
+              125.328105,
+              50.065985
+            ],
+            [
+              125.315786,
+              50.04562
+            ],
+            [
+              125.289916,
+              50.057917
+            ],
+            [
+              125.25296,
+              50.041393
+            ],
+            [
+              125.283757,
+              50.036012
+            ],
+            [
+              125.297924,
+              50.014481
+            ],
+            [
+              125.278214,
+              49.996402
+            ],
+            [
+              125.241873,
+              49.987938
+            ],
+            [
+              125.231402,
+              49.957531
+            ],
+            [
+              125.190134,
+              49.959841
+            ],
+            [
+              125.199373,
+              49.935194
+            ],
+            [
+              125.225859,
+              49.922481
+            ],
+            [
+              125.212924,
+              49.907452
+            ],
+            [
+              125.245569,
+              49.87198
+            ],
+            [
+              125.225243,
+              49.867351
+            ],
+            [
+              125.239409,
+              49.844587
+            ],
+            [
+              125.177815,
+              49.829533
+            ],
+            [
+              125.222779,
+              49.799026
+            ],
+            [
+              125.221547,
+              49.754969
+            ],
+            [
+              125.204301,
+              49.734086
+            ],
+            [
+              125.225243,
+              49.726349
+            ],
+            [
+              125.219699,
+              49.669058
+            ],
+            [
+              125.185207,
+              49.634574
+            ],
+            [
+              125.189518,
+              49.652401
+            ],
+            [
+              125.164881,
+              49.669446
+            ],
+            [
+              125.132236,
+              49.672157
+            ],
+            [
+              125.127308,
+              49.655113
+            ],
+            [
+              125.15441,
+              49.616741
+            ],
+            [
+              125.16796,
+              49.629923
+            ],
+            [
+              125.205533,
+              49.593859
+            ],
+            [
+              125.23017,
+              49.595411
+            ],
+            [
+              125.233866,
+              49.536801
+            ],
+            [
+              125.211076,
+              49.539908
+            ],
+            [
+              125.228323,
+              49.487063
+            ],
+            [
+              125.270822,
+              49.454395
+            ],
+            [
+              125.256656,
+              49.437275
+            ],
+            [
+              125.25604,
+              49.395227
+            ],
+            [
+              125.277598,
+              49.379644
+            ],
+            [
+              125.256656,
+              49.359769
+            ],
+            [
+              125.261583,
+              49.322336
+            ],
+            [
+              125.214772,
+              49.277066
+            ],
+            [
+              125.227707,
+              49.248947
+            ],
+            [
+              125.219699,
+              49.189139
+            ],
+            [
+              125.187671,
+              49.186792
+            ],
+            [
+              125.158721,
+              49.144921
+            ],
+            [
+              125.117453,
+              49.126127
+            ],
+            [
+              125.034302,
+              49.157056
+            ],
+            [
+              125.039845,
+              49.17623
+            ],
+            [
+              124.983179,
+              49.162535
+            ],
+            [
+              124.906802,
+              49.184054
+            ],
+            [
+              124.860607,
+              49.166448
+            ],
+            [
+              124.847672,
+              49.129651
+            ],
+            [
+              124.809484,
+              49.115943
+            ],
+            [
+              124.828578,
+              49.077933
+            ],
+            [
+              124.808252,
+              49.020666
+            ],
+            [
+              124.756513,
+              48.967262
+            ],
+            [
+              124.744194,
+              48.920487
+            ],
+            [
+              124.709086,
+              48.920487
+            ],
+            [
+              124.715861,
+              48.885475
+            ],
+            [
+              124.697383,
+              48.841775
+            ],
+            [
+              124.654267,
+              48.83429
+            ],
+            [
+              124.644412,
+              48.80789
+            ],
+            [
+              124.656115,
+              48.783842
+            ],
+            [
+              124.612383,
+              48.747945
+            ],
+            [
+              124.624702,
+              48.701755
+            ],
+            [
+              124.601912,
+              48.632587
+            ],
+            [
+              124.579122,
+              48.596582
+            ],
+            [
+              124.520608,
+              48.556195
+            ],
+            [
+              124.548941,
+              48.535593
+            ],
+            [
+              124.533543,
+              48.515379
+            ],
+            [
+              124.555717,
+              48.467784
+            ],
+            [
+              124.507674,
+              48.445558
+            ],
+            [
+              124.52492,
+              48.426897
+            ],
+            [
+              124.51876,
+              48.378027
+            ],
+            [
+              124.547094,
+              48.35775
+            ],
+            [
+              124.540934,
+              48.335476
+            ],
+            [
+              124.579738,
+              48.297269
+            ],
+            [
+              124.558796,
+              48.268197
+            ],
+            [
+              124.579122,
+              48.262221
+            ],
+            [
+              124.547094,
+              48.200829
+            ],
+            [
+              124.512601,
+              48.164518
+            ],
+            [
+              124.529847,
+              48.146951
+            ],
+            [
+              124.505826,
+              48.124985
+            ],
+            [
+              124.478108,
+              48.123387
+            ],
+            [
+              124.46579,
+              48.098213
+            ],
+            [
+              124.415899,
+              48.08782
+            ],
+            [
+              124.430065,
+              48.12099
+            ],
+            [
+              124.471333,
+              48.133373
+            ],
+            [
+              124.475029,
+              48.173698
+            ],
+            [
+              124.418978,
+              48.181679
+            ],
+            [
+              124.412819,
+              48.219175
+            ],
+            [
+              124.422058,
+              48.245884
+            ],
+            [
+              124.365392,
+              48.283731
+            ],
+            [
+              124.353689,
+              48.315978
+            ],
+            [
+              124.317964,
+              48.35099
+            ],
+            [
+              124.331515,
+              48.380015
+            ],
+            [
+              124.309957,
+              48.413393
+            ],
+            [
+              124.330283,
+              48.435633
+            ],
+            [
+              124.302566,
+              48.456673
+            ],
+            [
+              124.314269,
+              48.503881
+            ],
+            [
+              124.25945,
+              48.536385
+            ],
+            [
+              124.25945,
+              48.536385
+            ],
+            [
+              124.136878,
+              48.463023
+            ],
+            [
+              124.07898,
+              48.43603
+            ],
+            [
+              124.019234,
+              48.39313
+            ],
+            [
+              123.862785,
+              48.271782
+            ],
+            [
+              123.746373,
+              48.197638
+            ],
+            [
+              123.705105,
+              48.152142
+            ],
+            [
+              123.579453,
+              48.045427
+            ],
+            [
+              123.537569,
+              48.021816
+            ],
+            [
+              123.300432,
+              47.953723
+            ],
+            [
+              123.256085,
+              47.876711
+            ],
+            [
+              123.214201,
+              47.824502
+            ],
+            [
+              123.161846,
+              47.781892
+            ],
+            [
+              123.041122,
+              47.746492
+            ],
+            [
+              122.926557,
+              47.697777
+            ],
+            [
+              122.848949,
+              47.67441
+            ],
+            [
+              122.765181,
+              47.614333
+            ],
+            [
+              122.59395,
+              47.54732
+            ],
+            [
+              122.543443,
+              47.495589
+            ],
+            [
+              122.507103,
+              47.401291
+            ],
+            [
+              122.418407,
+              47.350632
+            ],
+            [
+              122.441197,
+              47.310476
+            ],
+            [
+              122.441197,
+              47.310476
+            ],
+            [
+              122.462755,
+              47.27841
+            ],
+            [
+              122.498479,
+              47.255262
+            ],
+            [
+              122.531124,
+              47.198771
+            ],
+            [
+              122.582863,
+              47.158092
+            ],
+            [
+              122.582863,
+              47.158092
+            ],
+            [
+              122.615508,
+              47.124306
+            ],
+            [
+              122.679566,
+              47.094164
+            ],
+            [
+              122.710363,
+              47.093349
+            ],
+            [
+              122.710363,
+              47.093349
+            ],
+            [
+              122.821232,
+              47.065636
+            ],
+            [
+              122.852645,
+              47.072158
+            ],
+            [
+              122.845869,
+              47.046881
+            ],
+            [
+              122.778116,
+              47.002822
+            ],
+            [
+              122.77442,
+              46.973837
+            ],
+            [
+              122.798442,
+              46.9575
+            ],
+            [
+              122.791051,
+              46.941567
+            ],
+            [
+              122.83971,
+              46.937072
+            ],
+            [
+              122.895144,
+              46.960359
+            ],
+            [
+              122.893913,
+              46.895376
+            ],
+            [
+              122.906847,
+              46.80738
+            ],
+            [
+              122.996774,
+              46.761483
+            ],
+            [
+              123.00355,
+              46.730726
+            ],
+            [
+              123.026339,
+              46.718829
+            ],
+            [
+              123.076846,
+              46.745082
+            ],
+            [
+              123.103332,
+              46.734828
+            ],
+            [
+              123.163694,
+              46.74016
+            ],
+            [
+              123.198802,
+              46.803283
+            ],
+            [
+              123.22344,
+              46.821305
+            ],
+            [
+              123.221592,
+              46.850373
+            ],
+            [
+              123.295505,
+              46.865105
+            ],
+            [
+              123.341084,
+              46.826628
+            ],
+            [
+              123.374345,
+              46.837683
+            ],
+            [
+              123.40699,
+              46.906416
+            ],
+            [
+              123.404526,
+              46.935438
+            ],
+            [
+              123.360179,
+              46.970978
+            ],
+            [
+              123.304128,
+              46.964852
+            ],
+            [
+              123.301664,
+              46.999965
+            ],
+            [
+              123.337389,
+              46.988943
+            ],
+            [
+              123.42362,
+              46.934212
+            ],
+            [
+              123.487678,
+              46.959951
+            ],
+            [
+              123.52833,
+              46.944836
+            ],
+            [
+              123.483366,
+              46.84587
+            ],
+            [
+              123.506772,
+              46.827038
+            ],
+            [
+              123.562823,
+              46.82581
+            ],
+            [
+              123.575757,
+              46.845461
+            ],
+            [
+              123.576989,
+              46.891286
+            ],
+            [
+              123.605322,
+              46.891286
+            ],
+            [
+              123.599163,
+              46.868378
+            ],
+            [
+              123.625648,
+              46.847508
+            ],
+            [
+              123.580069,
+              46.827447
+            ],
+            [
+              123.629344,
+              46.813524
+            ],
+            [
+              123.631808,
+              46.728675
+            ],
+            [
+              123.603475,
+              46.68928
+            ],
+            [
+              123.474743,
+              46.686817
+            ],
+            [
+              123.366338,
+              46.677784
+            ],
+            [
+              123.318295,
+              46.662179
+            ],
+            [
+              123.276411,
+              46.660947
+            ],
+            [
+              123.279491,
+              46.616981
+            ],
+            [
+              123.228368,
+              46.588198
+            ],
+            [
+              123.18094,
+              46.614103
+            ],
+            [
+              123.098404,
+              46.603002
+            ],
+            [
+              123.077462,
+              46.622324
+            ],
+            [
+              123.04605,
+              46.617803
+            ],
+            [
+              123.052825,
+              46.579972
+            ],
+            [
+              123.002318,
+              46.574624
+            ],
+            [
+              123.010325,
+              46.524823
+            ],
+            [
+              123.011557,
+              46.434984
+            ],
+            [
+              123.089781,
+              46.347888
+            ],
+            [
+              123.142136,
+              46.298293
+            ],
+            [
+              123.178476,
+              46.248239
+            ],
+            [
+              123.248078,
+              46.273065
+            ],
+            [
+              123.286266,
+              46.250308
+            ],
+            [
+              123.320758,
+              46.254447
+            ],
+            [
+              123.357099,
+              46.232096
+            ],
+            [
+              123.357099,
+              46.232096
+            ],
+            [
+              123.430396,
+              46.243687
+            ],
+            [
+              123.452569,
+              46.233338
+            ],
+            [
+              123.499381,
+              46.259826
+            ],
+            [
+              123.569598,
+              46.223816
+            ],
+            [
+              123.569598,
+              46.223816
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 31e4,
+      name: "上海市",
+      center: [
+        121.472644,
+        31.231706
+      ],
+      centroid: [
+        121.438737,
+        31.072559
+      ],
+      childrenNum: 16,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 8,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              120.901349,
+              31.017327
+            ],
+            [
+              120.940153,
+              31.010146
+            ],
+            [
+              120.949392,
+              31.030148
+            ],
+            [
+              120.989428,
+              31.01425
+            ],
+            [
+              121.000515,
+              30.938309
+            ],
+            [
+              120.993124,
+              30.889532
+            ],
+            [
+              121.020225,
+              30.872069
+            ],
+            [
+              120.991892,
+              30.837133
+            ],
+            [
+              121.038087,
+              30.814007
+            ],
+            [
+              121.060261,
+              30.845354
+            ],
+            [
+              121.097833,
+              30.857171
+            ],
+            [
+              121.13787,
+              30.826342
+            ],
+            [
+              121.123087,
+              30.77905
+            ],
+            [
+              121.174826,
+              30.771851
+            ],
+            [
+              121.21671,
+              30.785734
+            ],
+            [
+              121.232108,
+              30.755909
+            ],
+            [
+              121.272144,
+              30.723504
+            ],
+            [
+              121.274608,
+              30.677191
+            ],
+            [
+              121.362071,
+              30.679764
+            ],
+            [
+              121.426129,
+              30.730192
+            ],
+            [
+              121.517288,
+              30.775451
+            ],
+            [
+              121.601056,
+              30.805269
+            ],
+            [
+              121.681128,
+              30.818633
+            ],
+            [
+              121.904714,
+              30.814007
+            ],
+            [
+              121.943518,
+              30.776993
+            ],
+            [
+              121.970004,
+              30.789333
+            ],
+            [
+              121.954605,
+              30.825828
+            ],
+            [
+              121.994025,
+              30.862823
+            ],
+            [
+              121.990945,
+              30.96859
+            ],
+            [
+              121.977395,
+              31.016301
+            ],
+            [
+              121.946598,
+              31.066039
+            ],
+            [
+              121.809859,
+              31.196669
+            ],
+            [
+              121.722396,
+              31.3036
+            ],
+            [
+              121.599208,
+              31.37465
+            ],
+            [
+              121.520984,
+              31.394575
+            ],
+            [
+              121.404571,
+              31.479337
+            ],
+            [
+              121.343593,
+              31.511996
+            ],
+            [
+              121.301093,
+              31.49873
+            ],
+            [
+              121.301093,
+              31.49873
+            ],
+            [
+              121.247507,
+              31.476785
+            ],
+            [
+              121.241963,
+              31.493117
+            ],
+            [
+              121.174826,
+              31.44922
+            ],
+            [
+              121.143413,
+              31.392021
+            ],
+            [
+              121.113848,
+              31.37465
+            ],
+            [
+              121.130478,
+              31.343987
+            ],
+            [
+              121.142797,
+              31.275472
+            ],
+            [
+              121.090442,
+              31.291838
+            ],
+            [
+              121.060261,
+              31.245289
+            ],
+            [
+              121.076892,
+              31.158267
+            ],
+            [
+              121.018377,
+              31.134194
+            ],
+            [
+              120.930298,
+              31.141365
+            ],
+            [
+              120.881023,
+              31.134706
+            ],
+            [
+              120.859465,
+              31.100379
+            ],
+            [
+              120.890878,
+              31.094229
+            ],
+            [
+              120.901349,
+              31.017327
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.974931,
+              31.61704
+            ],
+            [
+              121.715005,
+              31.673592
+            ],
+            [
+              121.64294,
+              31.697527
+            ],
+            [
+              121.599824,
+              31.703128
+            ],
+            [
+              121.49881,
+              31.753012
+            ],
+            [
+              121.431673,
+              31.769295
+            ],
+            [
+              121.384861,
+              31.833382
+            ],
+            [
+              121.323267,
+              31.868458
+            ],
+            [
+              121.265369,
+              31.863883
+            ],
+            [
+              121.200079,
+              31.834907
+            ],
+            [
+              121.118775,
+              31.759119
+            ],
+            [
+              121.145261,
+              31.75403
+            ],
+            [
+              121.289391,
+              31.61653
+            ],
+            [
+              121.371926,
+              31.553314
+            ],
+            [
+              121.395332,
+              31.585437
+            ],
+            [
+              121.434136,
+              31.590535
+            ],
+            [
+              121.547469,
+              31.531382
+            ],
+            [
+              121.625693,
+              31.501792
+            ],
+            [
+              121.682976,
+              31.491075
+            ],
+            [
+              121.819098,
+              31.437987
+            ],
+            [
+              121.890547,
+              31.428795
+            ],
+            [
+              121.981706,
+              31.464024
+            ],
+            [
+              121.995873,
+              31.493117
+            ],
+            [
+              121.974931,
+              31.61704
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.795693,
+              31.330186
+            ],
+            [
+              121.792613,
+              31.363408
+            ],
+            [
+              121.742106,
+              31.407345
+            ],
+            [
+              121.585657,
+              31.454836
+            ],
+            [
+              121.567179,
+              31.48342
+            ],
+            [
+              121.520984,
+              31.494137
+            ],
+            [
+              121.509897,
+              31.4824
+            ],
+            [
+              121.572107,
+              31.435944
+            ],
+            [
+              121.727939,
+              31.35472
+            ],
+            [
+              121.76428,
+              31.31536
+            ],
+            [
+              121.785222,
+              31.31127
+            ],
+            [
+              121.795693,
+              31.330186
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.801852,
+              31.356765
+            ],
+            [
+              121.8037,
+              31.328652
+            ],
+            [
+              121.840656,
+              31.295418
+            ],
+            [
+              121.932431,
+              31.283144
+            ],
+            [
+              122.016199,
+              31.282121
+            ],
+            [
+              122.097503,
+              31.255522
+            ],
+            [
+              122.122756,
+              31.307179
+            ],
+            [
+              122.116597,
+              31.320984
+            ],
+            [
+              122.040837,
+              31.324051
+            ],
+            [
+              121.951525,
+              31.337343
+            ],
+            [
+              121.845584,
+              31.37465
+            ],
+            [
+              121.792613,
+              31.377715
+            ],
+            [
+              121.801852,
+              31.356765
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.626925,
+              31.445135
+            ],
+            [
+              121.631853,
+              31.456878
+            ],
+            [
+              121.579498,
+              31.479848
+            ],
+            [
+              121.626925,
+              31.445135
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.943518,
+              31.215608
+            ],
+            [
+              121.959533,
+              31.159291
+            ],
+            [
+              121.995873,
+              31.160828
+            ],
+            [
+              122.008808,
+              31.221238
+            ],
+            [
+              121.950909,
+              31.228915
+            ],
+            [
+              121.943518,
+              31.215608
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.88254,
+              31.240684
+            ],
+            [
+              121.909026,
+              31.195133
+            ],
+            [
+              121.923808,
+              31.234032
+            ],
+            [
+              121.88254,
+              31.240684
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 32e4,
+      name: "江苏省",
+      center: [
+        118.767413,
+        32.041544
+      ],
+      centroid: [
+        119.486506,
+        32.983991
+      ],
+      childrenNum: 13,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 9,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              117.311654,
+              34.561686
+            ],
+            [
+              117.27285,
+              34.556757
+            ],
+            [
+              117.303647,
+              34.542463
+            ],
+            [
+              117.267923,
+              34.532603
+            ],
+            [
+              117.27285,
+              34.499565
+            ],
+            [
+              117.252524,
+              34.48674
+            ],
+            [
+              117.248213,
+              34.451216
+            ],
+            [
+              117.166293,
+              34.434435
+            ],
+            [
+              117.139191,
+              34.526687
+            ],
+            [
+              117.15151,
+              34.559222
+            ],
+            [
+              117.104083,
+              34.648874
+            ],
+            [
+              117.073286,
+              34.639026
+            ],
+            [
+              117.061583,
+              34.675947
+            ],
+            [
+              117.070206,
+              34.713835
+            ],
+            [
+              117.022163,
+              34.759081
+            ],
+            [
+              116.969192,
+              34.771864
+            ],
+            [
+              116.95133,
+              34.81069
+            ],
+            [
+              116.979047,
+              34.815113
+            ],
+            [
+              116.966113,
+              34.844588
+            ],
+            [
+              116.929156,
+              34.843114
+            ],
+            [
+              116.922381,
+              34.894671
+            ],
+            [
+              116.858323,
+              34.928533
+            ],
+            [
+              116.821983,
+              34.929515
+            ],
+            [
+              116.815823,
+              34.965324
+            ],
+            [
+              116.789338,
+              34.975133
+            ],
+            [
+              116.781331,
+              34.916757
+            ],
+            [
+              116.677853,
+              34.939327
+            ],
+            [
+              116.622418,
+              34.939818
+            ],
+            [
+              116.613795,
+              34.922645
+            ],
+            [
+              116.557745,
+              34.908905
+            ],
+            [
+              116.445028,
+              34.895652
+            ],
+            [
+              116.408071,
+              34.850972
+            ],
+            [
+              116.403144,
+              34.756131
+            ],
+            [
+              116.369267,
+              34.749247
+            ],
+            [
+              116.363724,
+              34.715311
+            ],
+            [
+              116.392057,
+              34.710391
+            ],
+            [
+              116.374195,
+              34.640011
+            ],
+            [
+              116.430245,
+              34.650843
+            ],
+            [
+              116.432709,
+              34.630163
+            ],
+            [
+              116.477057,
+              34.614896
+            ],
+            [
+              116.490607,
+              34.573513
+            ],
+            [
+              116.594085,
+              34.511894
+            ],
+            [
+              116.592237,
+              34.493646
+            ],
+            [
+              116.662454,
+              34.472927
+            ],
+            [
+              116.722816,
+              34.472434
+            ],
+            [
+              116.773939,
+              34.453683
+            ],
+            [
+              116.782563,
+              34.429993
+            ],
+            [
+              116.828142,
+              34.389012
+            ],
+            [
+              116.909446,
+              34.408271
+            ],
+            [
+              116.969192,
+              34.389012
+            ],
+            [
+              116.960569,
+              34.363821
+            ],
+            [
+              116.983359,
+              34.348011
+            ],
+            [
+              116.969192,
+              34.283753
+            ],
+            [
+              117.051112,
+              34.221425
+            ],
+            [
+              117.025243,
+              34.167469
+            ],
+            [
+              117.046801,
+              34.151622
+            ],
+            [
+              117.123793,
+              34.128342
+            ],
+            [
+              117.130568,
+              34.101586
+            ],
+            [
+              117.192162,
+              34.068873
+            ],
+            [
+              117.257452,
+              34.065899
+            ],
+            [
+              117.277162,
+              34.078787
+            ],
+            [
+              117.311654,
+              34.067882
+            ],
+            [
+              117.357234,
+              34.088205
+            ],
+            [
+              117.404045,
+              34.03218
+            ],
+            [
+              117.435458,
+              34.028212
+            ],
+            [
+              117.514914,
+              34.060941
+            ],
+            [
+              117.543248,
+              34.038627
+            ],
+            [
+              117.569117,
+              33.985051
+            ],
+            [
+              117.612849,
+              34.000433
+            ],
+            [
+              117.629479,
+              34.028708
+            ],
+            [
+              117.671363,
+              33.992494
+            ],
+            [
+              117.672595,
+              33.934916
+            ],
+            [
+              117.715095,
+              33.879287
+            ],
+            [
+              117.753899,
+              33.891211
+            ],
+            [
+              117.759442,
+              33.874318
+            ],
+            [
+              117.739732,
+              33.758467
+            ],
+            [
+              117.72495,
+              33.74951
+            ],
+            [
+              117.750203,
+              33.710688
+            ],
+            [
+              117.791471,
+              33.733585
+            ],
+            [
+              117.843826,
+              33.736074
+            ],
+            [
+              117.901724,
+              33.720146
+            ],
+            [
+              117.972557,
+              33.74951
+            ],
+            [
+              118.019985,
+              33.738562
+            ],
+            [
+              118.065564,
+              33.76593
+            ],
+            [
+              118.117919,
+              33.766427
+            ],
+            [
+              118.161035,
+              33.735576
+            ],
+            [
+              118.16781,
+              33.663381
+            ],
+            [
+              118.112376,
+              33.617045
+            ],
+            [
+              118.117919,
+              33.594615
+            ],
+            [
+              118.107448,
+              33.475391
+            ],
+            [
+              118.050782,
+              33.491863
+            ],
+            [
+              118.027376,
+              33.455421
+            ],
+            [
+              118.016905,
+              33.402978
+            ],
+            [
+              118.029224,
+              33.374995
+            ],
+            [
+              117.992883,
+              33.333005
+            ],
+            [
+              117.974405,
+              33.279487
+            ],
+            [
+              117.939297,
+              33.262475
+            ],
+            [
+              117.942376,
+              33.224936
+            ],
+            [
+              117.977485,
+              33.226437
+            ],
+            [
+              117.988572,
+              33.180869
+            ],
+            [
+              118.037231,
+              33.152314
+            ],
+            [
+              118.038463,
+              33.134776
+            ],
+            [
+              118.149332,
+              33.169348
+            ],
+            [
+              118.178281,
+              33.217926
+            ],
+            [
+              118.217085,
+              33.191888
+            ],
+            [
+              118.219549,
+              33.114227
+            ],
+            [
+              118.243571,
+              33.027967
+            ],
+            [
+              118.244803,
+              32.998359
+            ],
+            [
+              118.26944,
+              32.969242
+            ],
+            [
+              118.303933,
+              32.96874
+            ],
+            [
+              118.291614,
+              32.946143
+            ],
+            [
+              118.252194,
+              32.936601
+            ],
+            [
+              118.2331,
+              32.914498
+            ],
+            [
+              118.250346,
+              32.848157
+            ],
+            [
+              118.301469,
+              32.846145
+            ],
+            [
+              118.300237,
+              32.783275
+            ],
+            [
+              118.334114,
+              32.761637
+            ],
+            [
+              118.363063,
+              32.770695
+            ],
+            [
+              118.375382,
+              32.718849
+            ],
+            [
+              118.411106,
+              32.715828
+            ],
+            [
+              118.450526,
+              32.743518
+            ],
+            [
+              118.483787,
+              32.721367
+            ],
+            [
+              118.560163,
+              32.729926
+            ],
+            [
+              118.572482,
+              32.719856
+            ],
+            [
+              118.642699,
+              32.744525
+            ],
+            [
+              118.707373,
+              32.72036
+            ],
+            [
+              118.756648,
+              32.737477
+            ],
+            [
+              118.73817,
+              32.772708
+            ],
+            [
+              118.743097,
+              32.853184
+            ],
+            [
+              118.743097,
+              32.853184
+            ],
+            [
+              118.810235,
+              32.853687
+            ],
+            [
+              118.821322,
+              32.920527
+            ],
+            [
+              118.846575,
+              32.922034
+            ],
+            [
+              118.849039,
+              32.956689
+            ],
+            [
+              118.89585,
+              32.957694
+            ],
+            [
+              118.89585,
+              32.957694
+            ],
+            [
+              118.892771,
+              32.941121
+            ],
+            [
+              118.934039,
+              32.93861
+            ],
+            [
+              118.993169,
+              32.958196
+            ],
+            [
+              119.020886,
+              32.955685
+            ],
+            [
+              119.054763,
+              32.8748
+            ],
+            [
+              119.113277,
+              32.823014
+            ],
+            [
+              119.184726,
+              32.825529
+            ],
+            [
+              119.211827,
+              32.708275
+            ],
+            [
+              119.208748,
+              32.641276
+            ],
+            [
+              119.230921,
+              32.607001
+            ],
+            [
+              119.22045,
+              32.576748
+            ],
+            [
+              119.152697,
+              32.557582
+            ],
+            [
+              119.168096,
+              32.536394
+            ],
+            [
+              119.142226,
+              32.499556
+            ],
+            [
+              119.084944,
+              32.452602
+            ],
+            [
+              119.041212,
+              32.515201
+            ],
+            [
+              118.975923,
+              32.505108
+            ],
+            [
+              118.922336,
+              32.557078
+            ],
+            [
+              118.92172,
+              32.557078
+            ],
+            [
+              118.922336,
+              32.557078
+            ],
+            [
+              118.92172,
+              32.557078
+            ],
+            [
+              118.890923,
+              32.553042
+            ],
+            [
+              118.908169,
+              32.59238
+            ],
+            [
+              118.84288,
+              32.56767
+            ],
+            [
+              118.820706,
+              32.60448
+            ],
+            [
+              118.784981,
+              32.582295
+            ],
+            [
+              118.757264,
+              32.603976
+            ],
+            [
+              118.73509,
+              32.58885
+            ],
+            [
+              118.719076,
+              32.614059
+            ],
+            [
+              118.719076,
+              32.614059
+            ],
+            [
+              118.688895,
+              32.588346
+            ],
+            [
+              118.658714,
+              32.594397
+            ],
+            [
+              118.632844,
+              32.578261
+            ],
+            [
+              118.59712,
+              32.600951
+            ],
+            [
+              118.568787,
+              32.585825
+            ],
+            [
+              118.564475,
+              32.562122
+            ],
+            [
+              118.608823,
+              32.536899
+            ],
+            [
+              118.592192,
+              32.481383
+            ],
+            [
+              118.628533,
+              32.467751
+            ],
+            [
+              118.691359,
+              32.472295
+            ],
+            [
+              118.685199,
+              32.403604
+            ],
+            [
+              118.703061,
+              32.328792
+            ],
+            [
+              118.657482,
+              32.30148
+            ],
+            [
+              118.674728,
+              32.250375
+            ],
+            [
+              118.643931,
+              32.209875
+            ],
+            [
+              118.510888,
+              32.194176
+            ],
+            [
+              118.49549,
+              32.165304
+            ],
+            [
+              118.501033,
+              32.121726
+            ],
+            [
+              118.433896,
+              32.086746
+            ],
+            [
+              118.394476,
+              32.076098
+            ],
+            [
+              118.389548,
+              31.985281
+            ],
+            [
+              118.363679,
+              31.930443
+            ],
+            [
+              118.472084,
+              31.879639
+            ],
+            [
+              118.466541,
+              31.857784
+            ],
+            [
+              118.504729,
+              31.841516
+            ],
+            [
+              118.481939,
+              31.778453
+            ],
+            [
+              118.533678,
+              31.76726
+            ],
+            [
+              118.521975,
+              31.743343
+            ],
+            [
+              118.5577,
+              31.73011
+            ],
+            [
+              118.571866,
+              31.746397
+            ],
+            [
+              118.641467,
+              31.75861
+            ],
+            [
+              118.653786,
+              31.73011
+            ],
+            [
+              118.697518,
+              31.709747
+            ],
+            [
+              118.643315,
+              31.671555
+            ],
+            [
+              118.643315,
+              31.649651
+            ],
+            [
+              118.736322,
+              31.633347
+            ],
+            [
+              118.748025,
+              31.675629
+            ],
+            [
+              118.773894,
+              31.682759
+            ],
+            [
+              118.802844,
+              31.619078
+            ],
+            [
+              118.858894,
+              31.623665
+            ],
+            [
+              118.881684,
+              31.564023
+            ],
+            [
+              118.885995,
+              31.519139
+            ],
+            [
+              118.883532,
+              31.500261
+            ],
+            [
+              118.852119,
+              31.393553
+            ],
+            [
+              118.824401,
+              31.375672
+            ],
+            [
+              118.767735,
+              31.363919
+            ],
+            [
+              118.745561,
+              31.372606
+            ],
+            [
+              118.720924,
+              31.322518
+            ],
+            [
+              118.726467,
+              31.282121
+            ],
+            [
+              118.756648,
+              31.279564
+            ],
+            [
+              118.794836,
+              31.229426
+            ],
+            [
+              118.870597,
+              31.242219
+            ],
+            [
+              118.984546,
+              31.237102
+            ],
+            [
+              119.014727,
+              31.241707
+            ],
+            [
+              119.10527,
+              31.235055
+            ],
+            [
+              119.107118,
+              31.250917
+            ],
+            [
+              119.158241,
+              31.294907
+            ],
+            [
+              119.197661,
+              31.295418
+            ],
+            [
+              119.198277,
+              31.270357
+            ],
+            [
+              119.266646,
+              31.250405
+            ],
+            [
+              119.294363,
+              31.263195
+            ],
+            [
+              119.338095,
+              31.259103
+            ],
+            [
+              119.350414,
+              31.301043
+            ],
+            [
+              119.374435,
+              31.258591
+            ],
+            [
+              119.360269,
+              31.213049
+            ],
+            [
+              119.391682,
+              31.174142
+            ],
+            [
+              119.439109,
+              31.177214
+            ],
+            [
+              119.461283,
+              31.156219
+            ],
+            [
+              119.532732,
+              31.159291
+            ],
+            [
+              119.599869,
+              31.10909
+            ],
+            [
+              119.623891,
+              31.130096
+            ],
+            [
+              119.678093,
+              31.167997
+            ],
+            [
+              119.705811,
+              31.152634
+            ],
+            [
+              119.715666,
+              31.169533
+            ],
+            [
+              119.779723,
+              31.17875
+            ],
+            [
+              119.809904,
+              31.148536
+            ],
+            [
+              119.827151,
+              31.174142
+            ],
+            [
+              119.878274,
+              31.160828
+            ],
+            [
+              119.921389,
+              31.170045
+            ],
+            [
+              119.946027,
+              31.106016
+            ],
+            [
+              119.988527,
+              31.059375
+            ],
+            [
+              120.001461,
+              31.027071
+            ],
+            [
+              120.052584,
+              31.00553
+            ],
+            [
+              120.111099,
+              30.955761
+            ],
+            [
+              120.149903,
+              30.937283
+            ],
+            [
+              120.223816,
+              30.926502
+            ],
+            [
+              120.316206,
+              30.933689
+            ],
+            [
+              120.371025,
+              30.948575
+            ],
+            [
+              120.35809,
+              30.886964
+            ],
+            [
+              120.42338,
+              30.902884
+            ],
+            [
+              120.435083,
+              30.920855
+            ],
+            [
+              120.441858,
+              30.860768
+            ],
+            [
+              120.460336,
+              30.839702
+            ],
+            [
+              120.489285,
+              30.763624
+            ],
+            [
+              120.504684,
+              30.757967
+            ],
+            [
+              120.563814,
+              30.835592
+            ],
+            [
+              120.589684,
+              30.854089
+            ],
+            [
+              120.654973,
+              30.846896
+            ],
+            [
+              120.68269,
+              30.882342
+            ],
+            [
+              120.713487,
+              30.88491
+            ],
+            [
+              120.709176,
+              30.933176
+            ],
+            [
+              120.684538,
+              30.955247
+            ],
+            [
+              120.698089,
+              30.970643
+            ],
+            [
+              120.746132,
+              30.962432
+            ],
+            [
+              120.770154,
+              30.996809
+            ],
+            [
+              120.820661,
+              31.006556
+            ],
+            [
+              120.865624,
+              30.989627
+            ],
+            [
+              120.901349,
+              31.017327
+            ],
+            [
+              120.890878,
+              31.094229
+            ],
+            [
+              120.859465,
+              31.100379
+            ],
+            [
+              120.881023,
+              31.134706
+            ],
+            [
+              120.930298,
+              31.141365
+            ],
+            [
+              121.018377,
+              31.134194
+            ],
+            [
+              121.076892,
+              31.158267
+            ],
+            [
+              121.060261,
+              31.245289
+            ],
+            [
+              121.090442,
+              31.291838
+            ],
+            [
+              121.142797,
+              31.275472
+            ],
+            [
+              121.130478,
+              31.343987
+            ],
+            [
+              121.113848,
+              31.37465
+            ],
+            [
+              121.143413,
+              31.392021
+            ],
+            [
+              121.174826,
+              31.44922
+            ],
+            [
+              121.241963,
+              31.493117
+            ],
+            [
+              121.247507,
+              31.476785
+            ],
+            [
+              121.301093,
+              31.49873
+            ],
+            [
+              121.301093,
+              31.49873
+            ],
+            [
+              121.343593,
+              31.511996
+            ],
+            [
+              121.371926,
+              31.553314
+            ],
+            [
+              121.289391,
+              31.61653
+            ],
+            [
+              121.145261,
+              31.75403
+            ],
+            [
+              121.118775,
+              31.759119
+            ],
+            [
+              121.200079,
+              31.834907
+            ],
+            [
+              121.265369,
+              31.863883
+            ],
+            [
+              121.323267,
+              31.868458
+            ],
+            [
+              121.384861,
+              31.833382
+            ],
+            [
+              121.431673,
+              31.769295
+            ],
+            [
+              121.49881,
+              31.753012
+            ],
+            [
+              121.599824,
+              31.703128
+            ],
+            [
+              121.64294,
+              31.697527
+            ],
+            [
+              121.715005,
+              31.673592
+            ],
+            [
+              121.974931,
+              31.61704
+            ],
+            [
+              121.970004,
+              31.718911
+            ],
+            [
+              121.889315,
+              31.866425
+            ],
+            [
+              121.856055,
+              31.955328
+            ],
+            [
+              121.772287,
+              32.032984
+            ],
+            [
+              121.759352,
+              32.059362
+            ],
+            [
+              121.525295,
+              32.136423
+            ],
+            [
+              121.542542,
+              32.152132
+            ],
+            [
+              121.458774,
+              32.177462
+            ],
+            [
+              121.499426,
+              32.211394
+            ],
+            [
+              121.493882,
+              32.263533
+            ],
+            [
+              121.450151,
+              32.282256
+            ],
+            [
+              121.425513,
+              32.430885
+            ],
+            [
+              121.390405,
+              32.460682
+            ],
+            [
+              121.352216,
+              32.474315
+            ],
+            [
+              121.269681,
+              32.483402
+            ],
+            [
+              121.153268,
+              32.52933
+            ],
+            [
+              121.121855,
+              32.569183
+            ],
+            [
+              121.076892,
+              32.576243
+            ],
+            [
+              121.020225,
+              32.605489
+            ],
+            [
+              120.961711,
+              32.612042
+            ],
+            [
+              120.979573,
+              32.636236
+            ],
+            [
+              120.963559,
+              32.68259
+            ],
+            [
+              120.916131,
+              32.701225
+            ],
+            [
+              120.953088,
+              32.714318
+            ],
+            [
+              120.972182,
+              32.761134
+            ],
+            [
+              120.981421,
+              32.85972
+            ],
+            [
+              120.957399,
+              32.893395
+            ],
+            [
+              120.932762,
+              33.005887
+            ],
+            [
+              120.917979,
+              33.02596
+            ],
+            [
+              120.871784,
+              33.047032
+            ],
+            [
+              120.874247,
+              33.093672
+            ],
+            [
+              120.843451,
+              33.209915
+            ],
+            [
+              120.819429,
+              33.237951
+            ],
+            [
+              120.833595,
+              33.274984
+            ],
+            [
+              120.813885,
+              33.303499
+            ],
+            [
+              120.769538,
+              33.307
+            ],
+            [
+              120.741205,
+              33.337505
+            ],
+            [
+              120.717183,
+              33.436945
+            ],
+            [
+              120.680227,
+              33.520306
+            ],
+            [
+              120.622944,
+              33.615051
+            ],
+            [
+              120.611241,
+              33.627012
+            ],
+            [
+              120.583524,
+              33.668362
+            ],
+            [
+              120.534249,
+              33.782346
+            ],
+            [
+              120.48559,
+              33.859411
+            ],
+            [
+              120.367329,
+              34.091674
+            ],
+            [
+              120.347619,
+              34.179352
+            ],
+            [
+              120.314359,
+              34.255563
+            ],
+            [
+              120.311895,
+              34.306991
+            ],
+            [
+              120.103707,
+              34.391481
+            ],
+            [
+              119.962657,
+              34.459112
+            ],
+            [
+              119.811752,
+              34.485754
+            ],
+            [
+              119.781571,
+              34.515839
+            ],
+            [
+              119.641137,
+              34.569078
+            ],
+            [
+              119.610956,
+              34.592729
+            ],
+            [
+              119.569072,
+              34.615389
+            ],
+            [
+              119.465594,
+              34.672994
+            ],
+            [
+              119.525956,
+              34.73351
+            ],
+            [
+              119.456971,
+              34.748264
+            ],
+            [
+              119.381827,
+              34.752198
+            ],
+            [
+              119.494543,
+              34.754656
+            ],
+            [
+              119.497007,
+              34.754164
+            ],
+            [
+              119.439725,
+              34.785136
+            ],
+            [
+              119.440957,
+              34.769406
+            ],
+            [
+              119.378747,
+              34.764489
+            ],
+            [
+              119.312841,
+              34.774813
+            ],
+            [
+              119.272189,
+              34.797914
+            ],
+            [
+              119.238313,
+              34.799388
+            ],
+            [
+              119.217371,
+              34.827886
+            ],
+            [
+              119.202588,
+              34.890253
+            ],
+            [
+              119.214907,
+              34.925589
+            ],
+            [
+              119.211211,
+              34.981507
+            ],
+            [
+              119.238313,
+              35.048657
+            ],
+            [
+              119.285124,
+              35.068252
+            ],
+            [
+              119.291899,
+              35.028567
+            ],
+            [
+              119.307298,
+              35.032977
+            ],
+            [
+              119.292515,
+              35.068742
+            ],
+            [
+              119.306066,
+              35.076578
+            ],
+            [
+              119.286972,
+              35.115261
+            ],
+            [
+              119.250016,
+              35.124562
+            ],
+            [
+              119.217371,
+              35.106939
+            ],
+            [
+              119.137915,
+              35.096167
+            ],
+            [
+              119.114509,
+              35.055026
+            ],
+            [
+              119.027045,
+              35.055516
+            ],
+            [
+              118.942662,
+              35.040817
+            ],
+            [
+              118.928495,
+              35.051106
+            ],
+            [
+              118.86259,
+              35.025626
+            ],
+            [
+              118.860742,
+              34.944233
+            ],
+            [
+              118.805307,
+              34.87307
+            ],
+            [
+              118.80038,
+              34.843114
+            ],
+            [
+              118.772047,
+              34.794474
+            ],
+            [
+              118.739402,
+              34.792508
+            ],
+            [
+              118.719076,
+              34.745313
+            ],
+            [
+              118.764039,
+              34.740396
+            ],
+            [
+              118.783749,
+              34.723181
+            ],
+            [
+              118.739402,
+              34.693663
+            ],
+            [
+              118.690127,
+              34.678408
+            ],
+            [
+              118.664257,
+              34.693663
+            ],
+            [
+              118.607591,
+              34.694155
+            ],
+            [
+              118.601431,
+              34.714327
+            ],
+            [
+              118.545997,
+              34.705964
+            ],
+            [
+              118.460997,
+              34.656258
+            ],
+            [
+              118.473932,
+              34.623269
+            ],
+            [
+              118.439439,
+              34.626223
+            ],
+            [
+              118.424657,
+              34.595193
+            ],
+            [
+              118.439439,
+              34.507949
+            ],
+            [
+              118.416034,
+              34.473914
+            ],
+            [
+              118.404947,
+              34.427525
+            ],
+            [
+              118.379693,
+              34.415183
+            ],
+            [
+              118.290382,
+              34.424563
+            ],
+            [
+              118.277447,
+              34.404814
+            ],
+            [
+              118.220165,
+              34.405802
+            ],
+            [
+              118.217701,
+              34.379134
+            ],
+            [
+              118.179513,
+              34.379628
+            ],
+            [
+              118.177665,
+              34.45319
+            ],
+            [
+              118.132702,
+              34.483287
+            ],
+            [
+              118.16473,
+              34.50499
+            ],
+            [
+              118.185056,
+              34.543942
+            ],
+            [
+              118.079115,
+              34.569571
+            ],
+            [
+              118.114839,
+              34.614404
+            ],
+            [
+              118.084042,
+              34.655766
+            ],
+            [
+              118.053861,
+              34.650843
+            ],
+            [
+              117.951615,
+              34.678408
+            ],
+            [
+              117.909732,
+              34.670533
+            ],
+            [
+              117.902956,
+              34.644443
+            ],
+            [
+              117.793935,
+              34.651827
+            ],
+            [
+              117.791471,
+              34.583368
+            ],
+            [
+              117.801942,
+              34.518798
+            ],
+            [
+              117.684298,
+              34.547392
+            ],
+            [
+              117.659044,
+              34.501044
+            ],
+            [
+              117.609769,
+              34.490686
+            ],
+            [
+              117.592523,
+              34.462566
+            ],
+            [
+              117.53832,
+              34.467006
+            ],
+            [
+              117.465023,
+              34.484767
+            ],
+            [
+              117.402813,
+              34.550843
+            ],
+            [
+              117.402813,
+              34.569571
+            ],
+            [
+              117.370785,
+              34.584846
+            ],
+            [
+              117.325205,
+              34.573021
+            ],
+            [
+              117.325205,
+              34.573021
+            ],
+            [
+              117.32151,
+              34.566614
+            ],
+            [
+              117.32151,
+              34.566614
+            ],
+            [
+              117.311654,
+              34.561686
+            ],
+            [
+              117.311654,
+              34.561686
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 33e4,
+      name: "浙江省",
+      center: [
+        120.153576,
+        30.287459
+      ],
+      centroid: [
+        120.109913,
+        29.181466
+      ],
+      childrenNum: 11,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 10,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              118.433896,
+              28.288335
+            ],
+            [
+              118.444367,
+              28.253548
+            ],
+            [
+              118.490562,
+              28.238259
+            ],
+            [
+              118.493026,
+              28.262509
+            ],
+            [
+              118.588497,
+              28.282538
+            ],
+            [
+              118.595272,
+              28.258292
+            ],
+            [
+              118.651322,
+              28.277267
+            ],
+            [
+              118.674728,
+              28.27147
+            ],
+            [
+              118.699366,
+              28.309939
+            ],
+            [
+              118.719692,
+              28.312047
+            ],
+            [
+              118.756032,
+              28.252493
+            ],
+            [
+              118.802228,
+              28.240368
+            ],
+            [
+              118.804075,
+              28.207675
+            ],
+            [
+              118.771431,
+              28.188687
+            ],
+            [
+              118.805923,
+              28.154923
+            ],
+            [
+              118.802228,
+              28.117453
+            ],
+            [
+              118.767735,
+              28.10584
+            ],
+            [
+              118.719076,
+              28.063601
+            ],
+            [
+              118.733858,
+              28.027684
+            ],
+            [
+              118.730163,
+              27.970615
+            ],
+            [
+              118.753568,
+              27.947885
+            ],
+            [
+              118.818242,
+              27.916689
+            ],
+            [
+              118.829329,
+              27.847921
+            ],
+            [
+              118.873677,
+              27.733563
+            ],
+            [
+              118.879836,
+              27.667859
+            ],
+            [
+              118.913713,
+              27.619616
+            ],
+            [
+              118.909401,
+              27.568168
+            ],
+            [
+              118.869365,
+              27.540047
+            ],
+            [
+              118.907553,
+              27.460952
+            ],
+            [
+              118.955597,
+              27.4498
+            ],
+            [
+              118.986393,
+              27.47582
+            ],
+            [
+              118.983314,
+              27.498649
+            ],
+            [
+              119.020886,
+              27.498118
+            ],
+            [
+              119.03998,
+              27.478475
+            ],
+            [
+              119.092335,
+              27.466262
+            ],
+            [
+              119.129907,
+              27.475289
+            ],
+            [
+              119.121284,
+              27.438115
+            ],
+            [
+              119.14777,
+              27.424836
+            ],
+            [
+              119.224146,
+              27.416868
+            ],
+            [
+              119.26911,
+              27.42218
+            ],
+            [
+              119.285124,
+              27.457766
+            ],
+            [
+              119.334399,
+              27.480067
+            ],
+            [
+              119.360269,
+              27.524657
+            ],
+            [
+              119.416935,
+              27.539517
+            ],
+            [
+              119.438493,
+              27.508734
+            ],
+            [
+              119.466826,
+              27.526249
+            ],
+            [
+              119.501935,
+              27.610601
+            ],
+            [
+              119.501319,
+              27.649837
+            ],
+            [
+              119.541971,
+              27.666799
+            ],
+            [
+              119.606028,
+              27.674749
+            ],
+            [
+              119.644217,
+              27.663619
+            ],
+            [
+              119.626354,
+              27.620676
+            ],
+            [
+              119.630666,
+              27.582491
+            ],
+            [
+              119.675014,
+              27.574534
+            ],
+            [
+              119.659615,
+              27.540578
+            ],
+            [
+              119.690412,
+              27.537394
+            ],
+            [
+              119.70889,
+              27.514042
+            ],
+            [
+              119.703347,
+              27.446613
+            ],
+            [
+              119.685485,
+              27.438646
+            ],
+            [
+              119.711354,
+              27.403054
+            ],
+            [
+              119.750774,
+              27.373829
+            ],
+            [
+              119.739687,
+              27.362668
+            ],
+            [
+              119.782187,
+              27.330241
+            ],
+            [
+              119.768636,
+              27.307909
+            ],
+            [
+              119.843165,
+              27.300464
+            ],
+            [
+              119.938636,
+              27.329709
+            ],
+            [
+              119.960194,
+              27.365857
+            ],
+            [
+              120.008237,
+              27.375423
+            ],
+            [
+              120.026099,
+              27.344063
+            ],
+            [
+              120.052584,
+              27.338747
+            ],
+            [
+              120.096316,
+              27.390302
+            ],
+            [
+              120.136968,
+              27.402523
+            ],
+            [
+              120.134504,
+              27.420055
+            ],
+            [
+              120.221352,
+              27.420055
+            ],
+            [
+              120.26262,
+              27.432804
+            ],
+            [
+              120.273091,
+              27.38924
+            ],
+            [
+              120.340844,
+              27.399867
+            ],
+            [
+              120.343924,
+              27.363199
+            ],
+            [
+              120.430155,
+              27.258976
+            ],
+            [
+              120.401822,
+              27.250996
+            ],
+            [
+              120.404286,
+              27.204166
+            ],
+            [
+              120.461568,
+              27.142407
+            ],
+            [
+              120.492365,
+              27.136016
+            ],
+            [
+              120.545952,
+              27.156785
+            ],
+            [
+              120.574901,
+              27.234501
+            ],
+            [
+              120.554575,
+              27.25206
+            ],
+            [
+              120.580444,
+              27.321203
+            ],
+            [
+              120.665444,
+              27.357884
+            ],
+            [
+              120.673451,
+              27.420055
+            ],
+            [
+              120.703016,
+              27.478475
+            ],
+            [
+              120.637111,
+              27.561271
+            ],
+            [
+              120.634647,
+              27.577186
+            ],
+            [
+              120.685154,
+              27.622797
+            ],
+            [
+              120.709176,
+              27.682699
+            ],
+            [
+              120.771386,
+              27.734623
+            ],
+            [
+              120.777545,
+              27.774873
+            ],
+            [
+              120.809574,
+              27.775402
+            ],
+            [
+              120.840371,
+              27.758986
+            ],
+            [
+              120.910588,
+              27.864852
+            ],
+            [
+              120.942001,
+              27.896592
+            ],
+            [
+              120.97403,
+              27.887071
+            ],
+            [
+              121.027616,
+              27.832574
+            ],
+            [
+              121.070116,
+              27.834162
+            ],
+            [
+              121.107688,
+              27.81352
+            ],
+            [
+              121.152036,
+              27.815638
+            ],
+            [
+              121.134174,
+              27.787051
+            ],
+            [
+              121.13479,
+              27.787051
+            ],
+            [
+              121.149572,
+              27.801345
+            ],
+            [
+              121.149572,
+              27.801875
+            ],
+            [
+              121.153268,
+              27.809815
+            ],
+            [
+              121.152652,
+              27.810344
+            ],
+            [
+              121.192072,
+              27.822518
+            ],
+            [
+              121.193304,
+              27.872259
+            ],
+            [
+              121.162507,
+              27.879136
+            ],
+            [
+              121.162507,
+              27.90717
+            ],
+            [
+              121.099681,
+              27.895005
+            ],
+            [
+              121.05595,
+              27.900294
+            ],
+            [
+              120.991892,
+              27.95
+            ],
+            [
+              121.015298,
+              27.981714
+            ],
+            [
+              121.059029,
+              28.096338
+            ],
+            [
+              121.108304,
+              28.139092
+            ],
+            [
+              121.121239,
+              28.12537
+            ],
+            [
+              121.140949,
+              28.031382
+            ],
+            [
+              121.176058,
+              28.022401
+            ],
+            [
+              121.261057,
+              28.034551
+            ],
+            [
+              121.299862,
+              28.067297
+            ],
+            [
+              121.328195,
+              28.134343
+            ],
+            [
+              121.373774,
+              28.133287
+            ],
+            [
+              121.402107,
+              28.197127
+            ],
+            [
+              121.45631,
+              28.250385
+            ],
+            [
+              121.488955,
+              28.301509
+            ],
+            [
+              121.538846,
+              28.299401
+            ],
+            [
+              121.571491,
+              28.279376
+            ],
+            [
+              121.580114,
+              28.240368
+            ],
+            [
+              121.627541,
+              28.251966
+            ],
+            [
+              121.669425,
+              28.33312
+            ],
+            [
+              121.660186,
+              28.355768
+            ],
+            [
+              121.634317,
+              28.347868
+            ],
+            [
+              121.658954,
+              28.392628
+            ],
+            [
+              121.692831,
+              28.407368
+            ],
+            [
+              121.671273,
+              28.472621
+            ],
+            [
+              121.646019,
+              28.511544
+            ],
+            [
+              121.634317,
+              28.562542
+            ],
+            [
+              121.596128,
+              28.575156
+            ],
+            [
+              121.557324,
+              28.645033
+            ],
+            [
+              121.540694,
+              28.655537
+            ],
+            [
+              121.646019,
+              28.682842
+            ],
+            [
+              121.689135,
+              28.719062
+            ],
+            [
+              121.704534,
+              28.804577
+            ],
+            [
+              121.687287,
+              28.863294
+            ],
+            [
+              121.774751,
+              28.863818
+            ],
+            [
+              121.772287,
+              28.898404
+            ],
+            [
+              121.743338,
+              28.954451
+            ],
+            [
+              121.711309,
+              28.985865
+            ],
+            [
+              121.712541,
+              29.028783
+            ],
+            [
+              121.658954,
+              29.058606
+            ],
+            [
+              121.660186,
+              29.118226
+            ],
+            [
+              121.616454,
+              29.143318
+            ],
+            [
+              121.608447,
+              29.168927
+            ],
+            [
+              121.715621,
+              29.125022
+            ],
+            [
+              121.750113,
+              29.136523
+            ],
+            [
+              121.767975,
+              29.166837
+            ],
+            [
+              121.780294,
+              29.10986
+            ],
+            [
+              121.811091,
+              29.10986
+            ],
+            [
+              121.85975,
+              29.086328
+            ],
+            [
+              121.884388,
+              29.105677
+            ],
+            [
+              121.966308,
+              29.052852
+            ],
+            [
+              121.970004,
+              29.092604
+            ],
+            [
+              121.988482,
+              29.110906
+            ],
+            [
+              121.986634,
+              29.154817
+            ],
+            [
+              121.948446,
+              29.193485
+            ],
+            [
+              121.971851,
+              29.193485
+            ],
+            [
+              121.966924,
+              29.249894
+            ],
+            [
+              122.002032,
+              29.260336
+            ],
+            [
+              122.000185,
+              29.278608
+            ],
+            [
+              121.94475,
+              29.28435
+            ],
+            [
+              121.958301,
+              29.334448
+            ],
+            [
+              121.936127,
+              29.348012
+            ],
+            [
+              121.937975,
+              29.384
+            ],
+            [
+              121.975547,
+              29.411113
+            ],
+            [
+              121.993409,
+              29.45229
+            ],
+            [
+              121.973083,
+              29.477821
+            ],
+            [
+              121.968772,
+              29.515846
+            ],
+            [
+              121.995257,
+              29.545007
+            ],
+            [
+              122.000185,
+              29.582486
+            ],
+            [
+              121.966308,
+              29.636078
+            ],
+            [
+              121.909641,
+              29.650122
+            ],
+            [
+              121.872685,
+              29.632437
+            ],
+            [
+              121.833265,
+              29.653242
+            ],
+            [
+              121.937359,
+              29.748373
+            ],
+            [
+              122.003264,
+              29.762401
+            ],
+            [
+              122.043916,
+              29.822647
+            ],
+            [
+              122.10243,
+              29.859504
+            ],
+            [
+              122.143082,
+              29.877668
+            ],
+            [
+              122.140003,
+              29.901535
+            ],
+            [
+              122.00696,
+              29.891678
+            ],
+            [
+              122.00388,
+              29.92021
+            ],
+            [
+              121.971235,
+              29.955476
+            ],
+            [
+              121.919497,
+              29.920729
+            ],
+            [
+              121.835113,
+              29.958068
+            ],
+            [
+              121.78399,
+              29.99332
+            ],
+            [
+              121.721164,
+              29.992802
+            ],
+            [
+              121.699606,
+              30.007832
+            ],
+            [
+              121.652795,
+              30.071037
+            ],
+            [
+              121.635548,
+              30.070002
+            ],
+            [
+              121.561636,
+              30.184395
+            ],
+            [
+              121.497578,
+              30.258861
+            ],
+            [
+              121.395332,
+              30.338435
+            ],
+            [
+              121.371926,
+              30.37097
+            ],
+            [
+              121.328195,
+              30.397299
+            ],
+            [
+              121.225333,
+              30.404526
+            ],
+            [
+              121.183449,
+              30.434458
+            ],
+            [
+              121.092906,
+              30.515952
+            ],
+            [
+              121.058413,
+              30.563888
+            ],
+            [
+              121.148956,
+              30.599953
+            ],
+            [
+              121.188992,
+              30.632916
+            ],
+            [
+              121.239499,
+              30.648878
+            ],
+            [
+              121.274608,
+              30.677191
+            ],
+            [
+              121.272144,
+              30.723504
+            ],
+            [
+              121.232108,
+              30.755909
+            ],
+            [
+              121.21671,
+              30.785734
+            ],
+            [
+              121.174826,
+              30.771851
+            ],
+            [
+              121.123087,
+              30.77905
+            ],
+            [
+              121.13787,
+              30.826342
+            ],
+            [
+              121.097833,
+              30.857171
+            ],
+            [
+              121.060261,
+              30.845354
+            ],
+            [
+              121.038087,
+              30.814007
+            ],
+            [
+              120.991892,
+              30.837133
+            ],
+            [
+              121.020225,
+              30.872069
+            ],
+            [
+              120.993124,
+              30.889532
+            ],
+            [
+              121.000515,
+              30.938309
+            ],
+            [
+              120.989428,
+              31.01425
+            ],
+            [
+              120.949392,
+              31.030148
+            ],
+            [
+              120.940153,
+              31.010146
+            ],
+            [
+              120.901349,
+              31.017327
+            ],
+            [
+              120.865624,
+              30.989627
+            ],
+            [
+              120.820661,
+              31.006556
+            ],
+            [
+              120.770154,
+              30.996809
+            ],
+            [
+              120.746132,
+              30.962432
+            ],
+            [
+              120.698089,
+              30.970643
+            ],
+            [
+              120.684538,
+              30.955247
+            ],
+            [
+              120.709176,
+              30.933176
+            ],
+            [
+              120.713487,
+              30.88491
+            ],
+            [
+              120.68269,
+              30.882342
+            ],
+            [
+              120.654973,
+              30.846896
+            ],
+            [
+              120.589684,
+              30.854089
+            ],
+            [
+              120.563814,
+              30.835592
+            ],
+            [
+              120.504684,
+              30.757967
+            ],
+            [
+              120.489285,
+              30.763624
+            ],
+            [
+              120.460336,
+              30.839702
+            ],
+            [
+              120.441858,
+              30.860768
+            ],
+            [
+              120.435083,
+              30.920855
+            ],
+            [
+              120.42338,
+              30.902884
+            ],
+            [
+              120.35809,
+              30.886964
+            ],
+            [
+              120.371025,
+              30.948575
+            ],
+            [
+              120.316206,
+              30.933689
+            ],
+            [
+              120.223816,
+              30.926502
+            ],
+            [
+              120.149903,
+              30.937283
+            ],
+            [
+              120.111099,
+              30.955761
+            ],
+            [
+              120.052584,
+              31.00553
+            ],
+            [
+              120.001461,
+              31.027071
+            ],
+            [
+              119.988527,
+              31.059375
+            ],
+            [
+              119.946027,
+              31.106016
+            ],
+            [
+              119.921389,
+              31.170045
+            ],
+            [
+              119.878274,
+              31.160828
+            ],
+            [
+              119.827151,
+              31.174142
+            ],
+            [
+              119.809904,
+              31.148536
+            ],
+            [
+              119.779723,
+              31.17875
+            ],
+            [
+              119.715666,
+              31.169533
+            ],
+            [
+              119.705811,
+              31.152634
+            ],
+            [
+              119.678093,
+              31.167997
+            ],
+            [
+              119.623891,
+              31.130096
+            ],
+            [
+              119.649144,
+              31.104991
+            ],
+            [
+              119.629434,
+              31.085517
+            ],
+            [
+              119.633746,
+              31.019379
+            ],
+            [
+              119.580159,
+              30.967051
+            ],
+            [
+              119.582007,
+              30.932149
+            ],
+            [
+              119.563529,
+              30.919315
+            ],
+            [
+              119.557369,
+              30.874124
+            ],
+            [
+              119.575847,
+              30.829939
+            ],
+            [
+              119.55429,
+              30.825828
+            ],
+            [
+              119.527188,
+              30.77905
+            ],
+            [
+              119.479761,
+              30.772365
+            ],
+            [
+              119.482841,
+              30.704467
+            ],
+            [
+              119.444652,
+              30.650422
+            ],
+            [
+              119.408312,
+              30.645274
+            ],
+            [
+              119.39045,
+              30.685941
+            ],
+            [
+              119.343022,
+              30.664322
+            ],
+            [
+              119.323312,
+              30.630341
+            ],
+            [
+              119.238929,
+              30.609225
+            ],
+            [
+              119.265414,
+              30.574709
+            ],
+            [
+              119.237081,
+              30.546881
+            ],
+            [
+              119.272189,
+              30.510281
+            ],
+            [
+              119.326392,
+              30.532964
+            ],
+            [
+              119.336247,
+              30.508734
+            ],
+            [
+              119.335015,
+              30.448389
+            ],
+            [
+              119.36766,
+              30.38491
+            ],
+            [
+              119.402768,
+              30.374584
+            ],
+            [
+              119.349182,
+              30.349281
+            ],
+            [
+              119.326392,
+              30.372002
+            ],
+            [
+              119.277117,
+              30.341018
+            ],
+            [
+              119.246936,
+              30.341018
+            ],
+            [
+              119.236465,
+              30.297106
+            ],
+            [
+              119.201356,
+              30.290905
+            ],
+            [
+              119.126828,
+              30.304856
+            ],
+            [
+              119.091719,
+              30.323972
+            ],
+            [
+              119.06277,
+              30.304856
+            ],
+            [
+              118.988857,
+              30.332237
+            ],
+            [
+              118.954365,
+              30.360126
+            ],
+            [
+              118.880452,
+              30.31519
+            ],
+            [
+              118.877988,
+              30.282637
+            ],
+            [
+              118.905089,
+              30.216464
+            ],
+            [
+              118.929727,
+              30.2025
+            ],
+            [
+              118.852735,
+              30.166805
+            ],
+            [
+              118.852119,
+              30.149729
+            ],
+            [
+              118.895234,
+              30.148694
+            ],
+            [
+              118.873677,
+              30.11505
+            ],
+            [
+              118.878604,
+              30.064822
+            ],
+            [
+              118.902626,
+              30.029078
+            ],
+            [
+              118.894619,
+              29.937845
+            ],
+            [
+              118.838568,
+              29.934733
+            ],
+            [
+              118.841032,
+              29.891159
+            ],
+            [
+              118.740634,
+              29.814859
+            ],
+            [
+              118.744945,
+              29.73902
+            ],
+            [
+              118.700598,
+              29.706277
+            ],
+            [
+              118.647011,
+              29.64336
+            ],
+            [
+              118.61991,
+              29.654282
+            ],
+            [
+              118.573714,
+              29.638159
+            ],
+            [
+              118.532446,
+              29.588731
+            ],
+            [
+              118.500417,
+              29.57572
+            ],
+            [
+              118.496106,
+              29.519492
+            ],
+            [
+              118.381541,
+              29.504909
+            ],
+            [
+              118.347664,
+              29.474174
+            ],
+            [
+              118.329802,
+              29.495012
+            ],
+            [
+              118.306396,
+              29.479384
+            ],
+            [
+              118.316252,
+              29.422581
+            ],
+            [
+              118.248498,
+              29.431443
+            ],
+            [
+              118.193064,
+              29.395472
+            ],
+            [
+              118.205382,
+              29.343839
+            ],
+            [
+              118.166578,
+              29.314099
+            ],
+            [
+              118.178281,
+              29.297921
+            ],
+            [
+              118.138861,
+              29.283828
+            ],
+            [
+              118.077883,
+              29.290614
+            ],
+            [
+              118.073571,
+              29.216993
+            ],
+            [
+              118.042159,
+              29.210202
+            ],
+            [
+              118.027992,
+              29.167882
+            ],
+            [
+              118.045238,
+              29.149068
+            ],
+            [
+              118.037847,
+              29.102017
+            ],
+            [
+              118.076035,
+              29.074822
+            ],
+            [
+              118.066796,
+              29.053898
+            ],
+            [
+              118.097593,
+              28.998952
+            ],
+            [
+              118.115455,
+              29.009944
+            ],
+            [
+              118.115455,
+              29.009944
+            ],
+            [
+              118.133933,
+              28.983771
+            ],
+            [
+              118.165346,
+              28.986912
+            ],
+            [
+              118.227556,
+              28.942406
+            ],
+            [
+              118.195527,
+              28.904167
+            ],
+            [
+              118.270056,
+              28.918836
+            ],
+            [
+              118.300237,
+              28.826075
+            ],
+            [
+              118.364295,
+              28.813491
+            ],
+            [
+              118.403099,
+              28.702791
+            ],
+            [
+              118.428352,
+              28.681267
+            ],
+            [
+              118.428352,
+              28.617193
+            ],
+            [
+              118.428352,
+              28.617193
+            ],
+            [
+              118.412338,
+              28.55676
+            ],
+            [
+              118.4302,
+              28.515225
+            ],
+            [
+              118.414802,
+              28.497344
+            ],
+            [
+              118.474548,
+              28.478934
+            ],
+            [
+              118.456686,
+              28.424738
+            ],
+            [
+              118.432048,
+              28.402104
+            ],
+            [
+              118.455454,
+              28.384204
+            ],
+            [
+              118.480091,
+              28.327325
+            ],
+            [
+              118.433896,
+              28.288335
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.163408,
+              29.988137
+            ],
+            [
+              122.239785,
+              29.962735
+            ],
+            [
+              122.279205,
+              29.937326
+            ],
+            [
+              122.322321,
+              29.940438
+            ],
+            [
+              122.341415,
+              29.976733
+            ],
+            [
+              122.343879,
+              30.020269
+            ],
+            [
+              122.310002,
+              30.039958
+            ],
+            [
+              122.290908,
+              30.074663
+            ],
+            [
+              122.301379,
+              30.086574
+            ],
+            [
+              122.293988,
+              30.100554
+            ],
+            [
+              122.152938,
+              30.113497
+            ],
+            [
+              122.095655,
+              30.158008
+            ],
+            [
+              122.048844,
+              30.147141
+            ],
+            [
+              121.955221,
+              30.183878
+            ],
+            [
+              121.934895,
+              30.161631
+            ],
+            [
+              121.983554,
+              30.100554
+            ],
+            [
+              121.989714,
+              30.077252
+            ],
+            [
+              121.978011,
+              30.059125
+            ],
+            [
+              122.027902,
+              29.991247
+            ],
+            [
+              122.106742,
+              30.005759
+            ],
+            [
+              122.118445,
+              29.986582
+            ],
+            [
+              122.163408,
+              29.988137
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.213915,
+              30.186464
+            ],
+            [
+              122.178807,
+              30.199396
+            ],
+            [
+              122.152938,
+              30.19112
+            ],
+            [
+              122.143698,
+              30.163183
+            ],
+            [
+              122.168336,
+              30.138343
+            ],
+            [
+              122.213915,
+              30.186464
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.229314,
+              29.711995
+            ],
+            [
+              122.210836,
+              29.700559
+            ],
+            [
+              122.269966,
+              29.685482
+            ],
+            [
+              122.231162,
+              29.710435
+            ],
+            [
+              122.229314,
+              29.711995
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.427646,
+              30.738422
+            ],
+            [
+              122.427031,
+              30.697777
+            ],
+            [
+              122.532972,
+              30.696748
+            ],
+            [
+              122.528045,
+              30.725047
+            ],
+            [
+              122.475074,
+              30.714243
+            ],
+            [
+              122.445509,
+              30.745109
+            ],
+            [
+              122.427646,
+              30.738422
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.162793,
+              30.329654
+            ],
+            [
+              122.058083,
+              30.291938
+            ],
+            [
+              122.154169,
+              30.244903
+            ],
+            [
+              122.231778,
+              30.234562
+            ],
+            [
+              122.247176,
+              30.30124
+            ],
+            [
+              122.228082,
+              30.329654
+            ],
+            [
+              122.191126,
+              30.329654
+            ],
+            [
+              122.176343,
+              30.351863
+            ],
+            [
+              122.162793,
+              30.329654
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.317393,
+              30.249556
+            ],
+            [
+              122.277973,
+              30.242835
+            ],
+            [
+              122.358661,
+              30.236113
+            ],
+            [
+              122.365437,
+              30.255242
+            ],
+            [
+              122.417175,
+              30.238699
+            ],
+            [
+              122.40732,
+              30.272817
+            ],
+            [
+              122.333408,
+              30.272817
+            ],
+            [
+              122.317393,
+              30.249556
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.026054,
+              29.178333
+            ],
+            [
+              122.013119,
+              29.151681
+            ],
+            [
+              122.056851,
+              29.158476
+            ],
+            [
+              122.075945,
+              29.176243
+            ],
+            [
+              122.036525,
+              29.20759
+            ],
+            [
+              122.026054,
+              29.178333
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.372212,
+              29.893234
+            ],
+            [
+              122.386379,
+              29.834069
+            ],
+            [
+              122.415944,
+              29.828877
+            ],
+            [
+              122.401777,
+              29.869884
+            ],
+            [
+              122.433806,
+              29.883376
+            ],
+            [
+              122.43319,
+              29.919173
+            ],
+            [
+              122.411632,
+              29.951846
+            ],
+            [
+              122.398081,
+              29.9394
+            ],
+            [
+              122.351886,
+              29.959105
+            ],
+            [
+              122.330944,
+              29.937845
+            ],
+            [
+              122.338951,
+              29.911911
+            ],
+            [
+              122.353734,
+              29.89946
+            ],
+            [
+              122.362973,
+              29.894272
+            ],
+            [
+              122.372212,
+              29.893234
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.43011,
+              30.408655
+            ],
+            [
+              122.432574,
+              30.445294
+            ],
+            [
+              122.37406,
+              30.461802
+            ],
+            [
+              122.277973,
+              30.471603
+            ],
+            [
+              122.281669,
+              30.418461
+            ],
+            [
+              122.318625,
+              30.407106
+            ],
+            [
+              122.352502,
+              30.422074
+            ],
+            [
+              122.43011,
+              30.408655
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.837577,
+              28.770484
+            ],
+            [
+              121.86283,
+              28.782024
+            ],
+            [
+              121.861598,
+              28.814016
+            ],
+            [
+              121.837577,
+              28.770484
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.265038,
+              29.84549
+            ],
+            [
+              122.221307,
+              29.832512
+            ],
+            [
+              122.248408,
+              29.804473
+            ],
+            [
+              122.310002,
+              29.766557
+            ],
+            [
+              122.325401,
+              29.781621
+            ],
+            [
+              122.299531,
+              29.819532
+            ],
+            [
+              122.319241,
+              29.829397
+            ],
+            [
+              122.265038,
+              29.84549
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.790765,
+              29.082144
+            ],
+            [
+              121.832649,
+              29.050236
+            ],
+            [
+              121.84312,
+              29.082144
+            ],
+            [
+              121.82033,
+              29.099402
+            ],
+            [
+              121.790765,
+              29.082144
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.201311,
+              27.623328
+            ],
+            [
+              121.197616,
+              27.618025
+            ],
+            [
+              121.198848,
+              27.616964
+            ],
+            [
+              121.203775,
+              27.625979
+            ],
+            [
+              121.201311,
+              27.623328
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.943518,
+              30.776993
+            ],
+            [
+              121.968156,
+              30.688514
+            ],
+            [
+              121.997105,
+              30.658659
+            ],
+            [
+              122.087032,
+              30.602014
+            ],
+            [
+              122.133227,
+              30.595317
+            ],
+            [
+              122.075329,
+              30.647848
+            ],
+            [
+              122.011271,
+              30.66947
+            ],
+            [
+              121.992793,
+              30.695204
+            ],
+            [
+              121.987866,
+              30.753338
+            ],
+            [
+              121.970004,
+              30.789333
+            ],
+            [
+              121.943518,
+              30.776993
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.889315,
+              28.471569
+            ],
+            [
+              121.918881,
+              28.497344
+            ],
+            [
+              121.881924,
+              28.502603
+            ],
+            [
+              121.889315,
+              28.471569
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.182503,
+              29.650642
+            ],
+            [
+              122.211452,
+              29.692241
+            ],
+            [
+              122.200365,
+              29.712515
+            ],
+            [
+              122.146778,
+              29.749412
+            ],
+            [
+              122.13138,
+              29.788893
+            ],
+            [
+              122.083952,
+              29.78318
+            ],
+            [
+              122.047612,
+              29.719791
+            ],
+            [
+              122.074097,
+              29.701599
+            ],
+            [
+              122.095655,
+              29.716673
+            ],
+            [
+              122.138155,
+              29.662083
+            ],
+            [
+              122.182503,
+              29.650642
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.461523,
+              29.944068
+            ],
+            [
+              122.459675,
+              29.944586
+            ],
+            [
+              122.460291,
+              29.947179
+            ],
+            [
+              122.451668,
+              29.943031
+            ],
+            [
+              122.451052,
+              29.940956
+            ],
+            [
+              122.450436,
+              29.940956
+            ],
+            [
+              122.449204,
+              29.9394
+            ],
+            [
+              122.4529,
+              29.936807
+            ],
+            [
+              122.452284,
+              29.935252
+            ],
+            [
+              122.45598,
+              29.926435
+            ],
+            [
+              122.457827,
+              29.927472
+            ],
+            [
+              122.462755,
+              29.927991
+            ],
+            [
+              122.467067,
+              29.928509
+            ],
+            [
+              122.459059,
+              29.938882
+            ],
+            [
+              122.461523,
+              29.944068
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.570544,
+              30.644244
+            ],
+            [
+              122.559457,
+              30.679764
+            ],
+            [
+              122.546523,
+              30.651967
+            ],
+            [
+              122.570544,
+              30.644244
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.869605,
+              28.423685
+            ],
+            [
+              121.910873,
+              28.44
+            ],
+            [
+              121.889931,
+              28.45105
+            ],
+            [
+              121.869605,
+              28.423685
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.065474,
+              30.179739
+            ],
+            [
+              122.055619,
+              30.200431
+            ],
+            [
+              122.017431,
+              30.186464
+            ],
+            [
+              122.025438,
+              30.161631
+            ],
+            [
+              122.065474,
+              30.179739
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.391306,
+              29.970512
+            ],
+            [
+              122.411632,
+              30.025969
+            ],
+            [
+              122.378371,
+              30.023896
+            ],
+            [
+              122.3679,
+              29.980361
+            ],
+            [
+              122.391306,
+              29.970512
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.850511,
+              29.977251
+            ],
+            [
+              121.874533,
+              29.964809
+            ],
+            [
+              121.933047,
+              29.994875
+            ],
+            [
+              121.924424,
+              30.052391
+            ],
+            [
+              121.88562,
+              30.094859
+            ],
+            [
+              121.848663,
+              30.101072
+            ],
+            [
+              121.84004,
+              30.047211
+            ],
+            [
+              121.844968,
+              29.982953
+            ],
+            [
+              121.850511,
+              29.977251
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.066421,
+              27.478475
+            ],
+            [
+              121.066421,
+              27.461483
+            ],
+            [
+              121.107073,
+              27.443958
+            ],
+            [
+              121.067036,
+              27.478475
+            ],
+            [
+              121.066421,
+              27.478475
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.952141,
+              29.187738
+            ],
+            [
+              121.979243,
+              29.160043
+            ],
+            [
+              121.976779,
+              29.191918
+            ],
+            [
+              121.952141,
+              29.187738
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.038373,
+              29.759284
+            ],
+            [
+              122.011271,
+              29.746294
+            ],
+            [
+              122.02975,
+              29.716673
+            ],
+            [
+              122.038373,
+              29.759284
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.940438,
+              30.114533
+            ],
+            [
+              121.910257,
+              30.089163
+            ],
+            [
+              121.945982,
+              30.064304
+            ],
+            [
+              121.962612,
+              30.106249
+            ],
+            [
+              121.940438,
+              30.114533
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.957685,
+              30.287804
+            ],
+            [
+              122.0008,
+              30.308473
+            ],
+            [
+              121.989098,
+              30.339985
+            ],
+            [
+              121.94167,
+              30.33327
+            ],
+            [
+              121.921344,
+              30.30744
+            ],
+            [
+              121.957685,
+              30.287804
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.192974,
+              29.965327
+            ],
+            [
+              122.163408,
+              29.988137
+            ],
+            [
+              122.152322,
+              29.97103
+            ],
+            [
+              122.154169,
+              29.97103
+            ],
+            [
+              122.155401,
+              29.970512
+            ],
+            [
+              122.18435,
+              29.955476
+            ],
+            [
+              122.192974,
+              29.965327
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.287828,
+              29.723949
+            ],
+            [
+              122.301379,
+              29.748373
+            ],
+            [
+              122.258263,
+              29.753569
+            ],
+            [
+              122.241633,
+              29.784738
+            ],
+            [
+              122.2133,
+              29.771752
+            ],
+            [
+              122.251488,
+              29.731225
+            ],
+            [
+              122.287828,
+              29.723949
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.134174,
+              27.787051
+            ],
+            [
+              121.134174,
+              27.785992
+            ],
+            [
+              121.13479,
+              27.787051
+            ],
+            [
+              121.134174,
+              27.787051
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.760254,
+              30.141966
+            ],
+            [
+              122.784275,
+              30.130062
+            ],
+            [
+              122.781196,
+              30.13265
+            ],
+            [
+              122.778116,
+              30.13679
+            ],
+            [
+              122.770725,
+              30.138861
+            ],
+            [
+              122.763333,
+              30.141966
+            ],
+            [
+              122.762101,
+              30.142484
+            ],
+            [
+              122.760254,
+              30.141966
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.264423,
+              30.269716
+            ],
+            [
+              122.253952,
+              30.237147
+            ],
+            [
+              122.315545,
+              30.250073
+            ],
+            [
+              122.300147,
+              30.271266
+            ],
+            [
+              122.264423,
+              30.269716
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.282901,
+              29.860542
+            ],
+            [
+              122.30877,
+              29.849642
+            ],
+            [
+              122.343263,
+              29.860542
+            ],
+            [
+              122.343263,
+              29.882857
+            ],
+            [
+              122.301379,
+              29.883895
+            ],
+            [
+              122.282901,
+              29.860542
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.781196,
+              30.694175
+            ],
+            [
+              122.799674,
+              30.716301
+            ],
+            [
+              122.778732,
+              30.729677
+            ],
+            [
+              122.757174,
+              30.713728
+            ],
+            [
+              122.781196,
+              30.694175
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.098449,
+              27.937311
+            ],
+            [
+              121.152652,
+              27.961629
+            ],
+            [
+              121.120623,
+              27.986471
+            ],
+            [
+              121.0695,
+              27.984357
+            ],
+            [
+              121.038087,
+              27.948942
+            ],
+            [
+              121.098449,
+              27.937311
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.185913,
+              27.963215
+            ],
+            [
+              121.237652,
+              27.988056
+            ],
+            [
+              121.197616,
+              28.000739
+            ],
+            [
+              121.17113,
+              27.978543
+            ],
+            [
+              121.185913,
+              27.963215
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.454132,
+              29.956513
+            ],
+            [
+              122.447972,
+              29.955994
+            ],
+            [
+              122.445509,
+              29.952365
+            ],
+            [
+              122.446741,
+              29.951327
+            ],
+            [
+              122.447972,
+              29.947698
+            ],
+            [
+              122.459059,
+              29.950809
+            ],
+            [
+              122.458443,
+              29.951846
+            ],
+            [
+              122.455364,
+              29.955994
+            ],
+            [
+              122.454132,
+              29.956513
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.836014,
+              30.698806
+            ],
+            [
+              122.831087,
+              30.728648
+            ],
+            [
+              122.807681,
+              30.714243
+            ],
+            [
+              122.836014,
+              30.698806
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.200365,
+              29.969475
+            ],
+            [
+              122.233626,
+              29.946661
+            ],
+            [
+              122.273662,
+              29.93214
+            ],
+            [
+              122.239785,
+              29.960142
+            ],
+            [
+              122.200365,
+              29.969475
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.029134,
+              29.954957
+            ],
+            [
+              122.043916,
+              29.930584
+            ],
+            [
+              122.058699,
+              29.955994
+            ],
+            [
+              122.029134,
+              29.954957
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.044247,
+              27.979072
+            ],
+            [
+              121.089826,
+              27.998625
+            ],
+            [
+              121.073812,
+              28.007608
+            ],
+            [
+              121.044247,
+              27.979072
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.471378,
+              29.927472
+            ],
+            [
+              122.470762,
+              29.925916
+            ],
+            [
+              122.473226,
+              29.925397
+            ],
+            [
+              122.47261,
+              29.927472
+            ],
+            [
+              122.471378,
+              29.927472
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.152322,
+              29.97103
+            ],
+            [
+              122.155401,
+              29.970512
+            ],
+            [
+              122.154169,
+              29.97103
+            ],
+            [
+              122.152322,
+              29.97103
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 34e4,
+      name: "安徽省",
+      center: [
+        117.283042,
+        31.86119
+      ],
+      centroid: [
+        117.226884,
+        31.849254
+      ],
+      childrenNum: 16,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 11,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              116.599629,
+              34.014324
+            ],
+            [
+              116.641512,
+              33.978103
+            ],
+            [
+              116.64336,
+              33.896675
+            ],
+            [
+              116.631042,
+              33.887733
+            ],
+            [
+              116.566984,
+              33.9081
+            ],
+            [
+              116.558361,
+              33.881274
+            ],
+            [
+              116.486296,
+              33.869846
+            ],
+            [
+              116.437637,
+              33.846489
+            ],
+            [
+              116.437021,
+              33.801246
+            ],
+            [
+              116.408071,
+              33.805721
+            ],
+            [
+              116.393905,
+              33.782843
+            ],
+            [
+              116.316912,
+              33.771402
+            ],
+            [
+              116.263326,
+              33.730101
+            ],
+            [
+              116.230065,
+              33.735078
+            ],
+            [
+              116.155536,
+              33.709693
+            ],
+            [
+              116.132747,
+              33.751501
+            ],
+            [
+              116.100102,
+              33.782843
+            ],
+            [
+              116.074232,
+              33.781351
+            ],
+            [
+              116.055754,
+              33.804727
+            ],
+            [
+              116.05945,
+              33.860902
+            ],
+            [
+              115.982457,
+              33.917039
+            ],
+            [
+              116.00032,
+              33.965199
+            ],
+            [
+              115.95782,
+              34.007875
+            ],
+            [
+              115.904233,
+              34.009859
+            ],
+            [
+              115.876516,
+              34.028708
+            ],
+            [
+              115.877132,
+              34.002913
+            ],
+            [
+              115.85003,
+              34.004898
+            ],
+            [
+              115.846335,
+              34.028708
+            ],
+            [
+              115.809378,
+              34.062428
+            ],
+            [
+              115.768726,
+              34.061932
+            ],
+            [
+              115.736082,
+              34.076805
+            ],
+            [
+              115.705901,
+              34.059949
+            ],
+            [
+              115.658473,
+              34.061437
+            ],
+            [
+              115.642459,
+              34.03218
+            ],
+            [
+              115.60735,
+              34.030196
+            ],
+            [
+              115.579017,
+              33.974133
+            ],
+            [
+              115.577785,
+              33.950307
+            ],
+            [
+              115.547604,
+              33.874815
+            ],
+            [
+              115.631988,
+              33.869846
+            ],
+            [
+              115.614126,
+              33.775879
+            ],
+            [
+              115.576553,
+              33.787817
+            ],
+            [
+              115.563003,
+              33.772895
+            ],
+            [
+              115.601807,
+              33.718653
+            ],
+            [
+              115.601191,
+              33.658898
+            ],
+            [
+              115.639995,
+              33.585143
+            ],
+            [
+              115.564851,
+              33.576169
+            ],
+            [
+              115.511264,
+              33.55323
+            ],
+            [
+              115.463837,
+              33.567193
+            ],
+            [
+              115.422569,
+              33.557219
+            ],
+            [
+              115.394851,
+              33.506335
+            ],
+            [
+              115.366518,
+              33.5233
+            ],
+            [
+              115.345576,
+              33.502842
+            ],
+            [
+              115.345576,
+              33.449928
+            ],
+            [
+              115.324634,
+              33.457418
+            ],
+            [
+              115.315395,
+              33.431451
+            ],
+            [
+              115.328946,
+              33.403477
+            ],
+            [
+              115.313547,
+              33.376994
+            ],
+            [
+              115.341881,
+              33.370997
+            ],
+            [
+              115.365286,
+              33.336005
+            ],
+            [
+              115.361591,
+              33.298497
+            ],
+            [
+              115.335105,
+              33.297997
+            ],
+            [
+              115.340033,
+              33.260973
+            ],
+            [
+              115.300613,
+              33.204407
+            ],
+            [
+              115.303692,
+              33.149809
+            ],
+            [
+              115.289526,
+              33.131769
+            ],
+            [
+              115.245178,
+              33.135778
+            ],
+            [
+              115.194671,
+              33.120743
+            ],
+            [
+              115.168186,
+              33.088658
+            ],
+            [
+              115.041302,
+              33.086653
+            ],
+            [
+              114.990795,
+              33.102195
+            ],
+            [
+              114.966158,
+              33.147304
+            ],
+            [
+              114.932897,
+              33.153817
+            ],
+            [
+              114.902716,
+              33.129764
+            ],
+            [
+              114.897172,
+              33.086653
+            ],
+            [
+              114.913187,
+              33.083143
+            ],
+            [
+              114.925506,
+              33.016928
+            ],
+            [
+              114.891629,
+              33.020441
+            ],
+            [
+              114.883006,
+              32.990328
+            ],
+            [
+              114.916266,
+              32.971251
+            ],
+            [
+              114.943368,
+              32.935094
+            ],
+            [
+              115.009273,
+              32.940117
+            ],
+            [
+              115.035143,
+              32.932582
+            ],
+            [
+              115.029599,
+              32.906962
+            ],
+            [
+              115.139237,
+              32.897917
+            ],
+            [
+              115.155867,
+              32.864747
+            ],
+            [
+              115.197135,
+              32.856201
+            ],
+            [
+              115.189744,
+              32.812452
+            ],
+            [
+              115.211301,
+              32.785791
+            ],
+            [
+              115.189744,
+              32.770695
+            ],
+            [
+              115.179273,
+              32.726402
+            ],
+            [
+              115.182968,
+              32.666973
+            ],
+            [
+              115.20083,
+              32.591876
+            ],
+            [
+              115.24333,
+              32.593388
+            ],
+            [
+              115.267352,
+              32.578261
+            ],
+            [
+              115.30554,
+              32.583303
+            ],
+            [
+              115.304924,
+              32.553042
+            ],
+            [
+              115.411482,
+              32.575235
+            ],
+            [
+              115.409018,
+              32.549007
+            ],
+            [
+              115.497713,
+              32.492489
+            ],
+            [
+              115.5088,
+              32.468761
+            ],
+            [
+              115.510648,
+              32.468761
+            ],
+            [
+              115.510648,
+              32.468256
+            ],
+            [
+              115.510648,
+              32.467751
+            ],
+            [
+              115.509416,
+              32.466741
+            ],
+            [
+              115.522967,
+              32.441997
+            ],
+            [
+              115.57101,
+              32.419266
+            ],
+            [
+              115.604271,
+              32.425833
+            ],
+            [
+              115.626445,
+              32.40512
+            ],
+            [
+              115.657857,
+              32.428864
+            ],
+            [
+              115.667712,
+              32.409667
+            ],
+            [
+              115.704669,
+              32.495013
+            ],
+            [
+              115.742241,
+              32.476335
+            ],
+            [
+              115.771806,
+              32.505108
+            ],
+            [
+              115.789052,
+              32.468761
+            ],
+            [
+              115.861117,
+              32.537403
+            ],
+            [
+              115.891298,
+              32.576243
+            ],
+            [
+              115.910393,
+              32.567165
+            ],
+            [
+              115.8759,
+              32.542448
+            ],
+            [
+              115.845719,
+              32.501575
+            ],
+            [
+              115.883291,
+              32.487946
+            ],
+            [
+              115.865429,
+              32.458662
+            ],
+            [
+              115.899306,
+              32.390971
+            ],
+            [
+              115.912856,
+              32.227596
+            ],
+            [
+              115.941805,
+              32.166318
+            ],
+            [
+              115.922095,
+              32.049725
+            ],
+            [
+              115.928871,
+              32.003046
+            ],
+            [
+              115.909161,
+              31.94314
+            ],
+            [
+              115.920248,
+              31.920285
+            ],
+            [
+              115.894994,
+              31.8649
+            ],
+            [
+              115.893762,
+              31.832365
+            ],
+            [
+              115.914704,
+              31.814567
+            ],
+            [
+              115.886371,
+              31.776418
+            ],
+            [
+              115.851878,
+              31.786593
+            ],
+            [
+              115.808147,
+              31.770313
+            ],
+            [
+              115.808147,
+              31.770313
+            ],
+            [
+              115.767495,
+              31.78761
+            ],
+            [
+              115.731154,
+              31.76726
+            ],
+            [
+              115.676336,
+              31.778453
+            ],
+            [
+              115.553764,
+              31.69549
+            ],
+            [
+              115.534054,
+              31.698545
+            ],
+            [
+              115.495249,
+              31.673083
+            ],
+            [
+              115.476771,
+              31.643028
+            ],
+            [
+              115.485394,
+              31.608885
+            ],
+            [
+              115.439815,
+              31.588496
+            ],
+            [
+              115.415793,
+              31.525771
+            ],
+            [
+              115.371446,
+              31.495668
+            ],
+            [
+              115.389924,
+              31.450241
+            ],
+            [
+              115.373909,
+              31.405813
+            ],
+            [
+              115.393004,
+              31.389977
+            ],
+            [
+              115.372062,
+              31.349098
+            ],
+            [
+              115.40717,
+              31.337854
+            ],
+            [
+              115.443511,
+              31.344498
+            ],
+            [
+              115.473076,
+              31.265242
+            ],
+            [
+              115.507568,
+              31.267799
+            ],
+            [
+              115.539597,
+              31.231985
+            ],
+            [
+              115.540213,
+              31.194621
+            ],
+            [
+              115.585793,
+              31.143926
+            ],
+            [
+              115.603655,
+              31.17363
+            ],
+            [
+              115.655394,
+              31.211002
+            ],
+            [
+              115.700973,
+              31.201276
+            ],
+            [
+              115.778582,
+              31.112164
+            ],
+            [
+              115.797676,
+              31.128047
+            ],
+            [
+              115.837712,
+              31.127022
+            ],
+            [
+              115.867277,
+              31.147512
+            ],
+            [
+              115.887603,
+              31.10909
+            ],
+            [
+              115.939958,
+              31.071678
+            ],
+            [
+              115.938726,
+              31.04707
+            ],
+            [
+              116.006479,
+              31.034764
+            ],
+            [
+              116.015102,
+              31.011685
+            ],
+            [
+              116.058834,
+              31.012711
+            ],
+            [
+              116.071769,
+              30.956787
+            ],
+            [
+              116.03974,
+              30.957813
+            ],
+            [
+              115.976298,
+              30.931636
+            ],
+            [
+              115.932566,
+              30.889532
+            ],
+            [
+              115.865429,
+              30.864364
+            ],
+            [
+              115.848799,
+              30.828397
+            ],
+            [
+              115.863581,
+              30.815549
+            ],
+            [
+              115.851262,
+              30.756938
+            ],
+            [
+              115.782893,
+              30.751795
+            ],
+            [
+              115.762567,
+              30.685426
+            ],
+            [
+              115.81369,
+              30.637035
+            ],
+            [
+              115.819234,
+              30.597893
+            ],
+            [
+              115.848799,
+              30.602014
+            ],
+            [
+              115.876516,
+              30.582438
+            ],
+            [
+              115.887603,
+              30.542758
+            ],
+            [
+              115.910393,
+              30.519046
+            ],
+            [
+              115.894994,
+              30.452517
+            ],
+            [
+              115.921479,
+              30.416397
+            ],
+            [
+              115.885139,
+              30.379747
+            ],
+            [
+              115.91532,
+              30.337919
+            ],
+            [
+              115.903001,
+              30.31364
+            ],
+            [
+              115.985537,
+              30.290905
+            ],
+            [
+              115.997856,
+              30.252657
+            ],
+            [
+              116.065609,
+              30.204569
+            ],
+            [
+              116.055754,
+              30.180774
+            ],
+            [
+              116.088399,
+              30.110391
+            ],
+            [
+              116.078544,
+              30.062233
+            ],
+            [
+              116.091479,
+              30.036331
+            ],
+            [
+              116.073616,
+              29.969993
+            ],
+            [
+              116.128435,
+              29.897904
+            ],
+            [
+              116.13521,
+              29.819532
+            ],
+            [
+              116.172783,
+              29.828358
+            ],
+            [
+              116.227601,
+              29.816936
+            ],
+            [
+              116.250391,
+              29.785777
+            ],
+            [
+              116.280572,
+              29.788893
+            ],
+            [
+              116.342782,
+              29.835626
+            ],
+            [
+              116.467818,
+              29.896347
+            ],
+            [
+              116.525716,
+              29.897385
+            ],
+            [
+              116.552201,
+              29.909836
+            ],
+            [
+              116.585462,
+              30.045657
+            ],
+            [
+              116.620571,
+              30.073109
+            ],
+            [
+              116.666766,
+              30.076734
+            ],
+            [
+              116.720353,
+              30.053945
+            ],
+            [
+              116.747454,
+              30.057053
+            ],
+            [
+              116.783794,
+              30.030632
+            ],
+            [
+              116.802889,
+              29.99643
+            ],
+            [
+              116.830606,
+              30.004723
+            ],
+            [
+              116.83307,
+              29.95755
+            ],
+            [
+              116.868794,
+              29.980361
+            ],
+            [
+              116.900207,
+              29.949253
+            ],
+            [
+              116.882961,
+              29.893753
+            ],
+            [
+              116.780715,
+              29.792529
+            ],
+            [
+              116.762237,
+              29.802396
+            ],
+            [
+              116.673541,
+              29.709916
+            ],
+            [
+              116.698795,
+              29.707836
+            ],
+            [
+              116.70557,
+              29.69692
+            ],
+            [
+              116.706802,
+              29.6964
+            ],
+            [
+              116.704954,
+              29.688602
+            ],
+            [
+              116.680317,
+              29.681323
+            ],
+            [
+              116.651983,
+              29.637118
+            ],
+            [
+              116.716657,
+              29.590813
+            ],
+            [
+              116.721585,
+              29.564789
+            ],
+            [
+              116.760389,
+              29.599139
+            ],
+            [
+              116.780715,
+              29.569994
+            ],
+            [
+              116.849084,
+              29.57624
+            ],
+            [
+              116.873722,
+              29.609546
+            ],
+            [
+              116.939627,
+              29.648561
+            ],
+            [
+              116.974736,
+              29.657403
+            ],
+            [
+              116.996294,
+              29.683403
+            ],
+            [
+              117.041873,
+              29.680803
+            ],
+            [
+              117.112706,
+              29.711995
+            ],
+            [
+              117.108395,
+              29.75201
+            ],
+            [
+              117.136728,
+              29.775388
+            ],
+            [
+              117.123177,
+              29.798761
+            ],
+            [
+              117.073286,
+              29.831992
+            ],
+            [
+              117.127489,
+              29.86158
+            ],
+            [
+              117.129952,
+              29.89946
+            ],
+            [
+              117.171836,
+              29.920729
+            ],
+            [
+              117.2168,
+              29.926953
+            ],
+            [
+              117.246365,
+              29.915023
+            ],
+            [
+              117.261763,
+              29.880781
+            ],
+            [
+              117.25314,
+              29.834588
+            ],
+            [
+              117.29256,
+              29.822647
+            ],
+            [
+              117.338756,
+              29.848085
+            ],
+            [
+              117.359082,
+              29.812782
+            ],
+            [
+              117.382487,
+              29.840818
+            ],
+            [
+              117.415132,
+              29.85068
+            ],
+            [
+              117.408973,
+              29.802396
+            ],
+            [
+              117.455168,
+              29.749412
+            ],
+            [
+              117.453936,
+              29.688082
+            ],
+            [
+              117.490277,
+              29.660003
+            ],
+            [
+              117.530313,
+              29.654282
+            ],
+            [
+              117.523538,
+              29.630356
+            ],
+            [
+              117.543248,
+              29.588731
+            ],
+            [
+              117.608537,
+              29.591333
+            ],
+            [
+              117.647957,
+              29.614749
+            ],
+            [
+              117.678754,
+              29.595496
+            ],
+            [
+              117.690457,
+              29.555939
+            ],
+            [
+              117.729877,
+              29.550213
+            ],
+            [
+              117.795167,
+              29.570515
+            ],
+            [
+              117.872775,
+              29.54761
+            ],
+            [
+              117.933753,
+              29.549172
+            ],
+            [
+              118.00397,
+              29.578322
+            ],
+            [
+              118.042774,
+              29.566351
+            ],
+            [
+              118.050782,
+              29.542924
+            ],
+            [
+              118.095129,
+              29.534072
+            ],
+            [
+              118.143788,
+              29.489803
+            ],
+            [
+              118.127774,
+              29.47209
+            ],
+            [
+              118.136397,
+              29.418932
+            ],
+            [
+              118.193064,
+              29.395472
+            ],
+            [
+              118.248498,
+              29.431443
+            ],
+            [
+              118.316252,
+              29.422581
+            ],
+            [
+              118.306396,
+              29.479384
+            ],
+            [
+              118.329802,
+              29.495012
+            ],
+            [
+              118.347664,
+              29.474174
+            ],
+            [
+              118.381541,
+              29.504909
+            ],
+            [
+              118.496106,
+              29.519492
+            ],
+            [
+              118.500417,
+              29.57572
+            ],
+            [
+              118.532446,
+              29.588731
+            ],
+            [
+              118.573714,
+              29.638159
+            ],
+            [
+              118.61991,
+              29.654282
+            ],
+            [
+              118.647011,
+              29.64336
+            ],
+            [
+              118.700598,
+              29.706277
+            ],
+            [
+              118.744945,
+              29.73902
+            ],
+            [
+              118.740634,
+              29.814859
+            ],
+            [
+              118.841032,
+              29.891159
+            ],
+            [
+              118.838568,
+              29.934733
+            ],
+            [
+              118.894619,
+              29.937845
+            ],
+            [
+              118.902626,
+              30.029078
+            ],
+            [
+              118.878604,
+              30.064822
+            ],
+            [
+              118.873677,
+              30.11505
+            ],
+            [
+              118.895234,
+              30.148694
+            ],
+            [
+              118.852119,
+              30.149729
+            ],
+            [
+              118.852735,
+              30.166805
+            ],
+            [
+              118.929727,
+              30.2025
+            ],
+            [
+              118.905089,
+              30.216464
+            ],
+            [
+              118.877988,
+              30.282637
+            ],
+            [
+              118.880452,
+              30.31519
+            ],
+            [
+              118.954365,
+              30.360126
+            ],
+            [
+              118.988857,
+              30.332237
+            ],
+            [
+              119.06277,
+              30.304856
+            ],
+            [
+              119.091719,
+              30.323972
+            ],
+            [
+              119.126828,
+              30.304856
+            ],
+            [
+              119.201356,
+              30.290905
+            ],
+            [
+              119.236465,
+              30.297106
+            ],
+            [
+              119.246936,
+              30.341018
+            ],
+            [
+              119.277117,
+              30.341018
+            ],
+            [
+              119.326392,
+              30.372002
+            ],
+            [
+              119.349182,
+              30.349281
+            ],
+            [
+              119.402768,
+              30.374584
+            ],
+            [
+              119.36766,
+              30.38491
+            ],
+            [
+              119.335015,
+              30.448389
+            ],
+            [
+              119.336247,
+              30.508734
+            ],
+            [
+              119.326392,
+              30.532964
+            ],
+            [
+              119.272189,
+              30.510281
+            ],
+            [
+              119.237081,
+              30.546881
+            ],
+            [
+              119.265414,
+              30.574709
+            ],
+            [
+              119.238929,
+              30.609225
+            ],
+            [
+              119.323312,
+              30.630341
+            ],
+            [
+              119.343022,
+              30.664322
+            ],
+            [
+              119.39045,
+              30.685941
+            ],
+            [
+              119.408312,
+              30.645274
+            ],
+            [
+              119.444652,
+              30.650422
+            ],
+            [
+              119.482841,
+              30.704467
+            ],
+            [
+              119.479761,
+              30.772365
+            ],
+            [
+              119.527188,
+              30.77905
+            ],
+            [
+              119.55429,
+              30.825828
+            ],
+            [
+              119.575847,
+              30.829939
+            ],
+            [
+              119.557369,
+              30.874124
+            ],
+            [
+              119.563529,
+              30.919315
+            ],
+            [
+              119.582007,
+              30.932149
+            ],
+            [
+              119.580159,
+              30.967051
+            ],
+            [
+              119.633746,
+              31.019379
+            ],
+            [
+              119.629434,
+              31.085517
+            ],
+            [
+              119.649144,
+              31.104991
+            ],
+            [
+              119.623891,
+              31.130096
+            ],
+            [
+              119.599869,
+              31.10909
+            ],
+            [
+              119.532732,
+              31.159291
+            ],
+            [
+              119.461283,
+              31.156219
+            ],
+            [
+              119.439109,
+              31.177214
+            ],
+            [
+              119.391682,
+              31.174142
+            ],
+            [
+              119.360269,
+              31.213049
+            ],
+            [
+              119.374435,
+              31.258591
+            ],
+            [
+              119.350414,
+              31.301043
+            ],
+            [
+              119.338095,
+              31.259103
+            ],
+            [
+              119.294363,
+              31.263195
+            ],
+            [
+              119.266646,
+              31.250405
+            ],
+            [
+              119.198277,
+              31.270357
+            ],
+            [
+              119.197661,
+              31.295418
+            ],
+            [
+              119.158241,
+              31.294907
+            ],
+            [
+              119.107118,
+              31.250917
+            ],
+            [
+              119.10527,
+              31.235055
+            ],
+            [
+              119.014727,
+              31.241707
+            ],
+            [
+              118.984546,
+              31.237102
+            ],
+            [
+              118.870597,
+              31.242219
+            ],
+            [
+              118.794836,
+              31.229426
+            ],
+            [
+              118.756648,
+              31.279564
+            ],
+            [
+              118.726467,
+              31.282121
+            ],
+            [
+              118.720924,
+              31.322518
+            ],
+            [
+              118.745561,
+              31.372606
+            ],
+            [
+              118.767735,
+              31.363919
+            ],
+            [
+              118.824401,
+              31.375672
+            ],
+            [
+              118.852119,
+              31.393553
+            ],
+            [
+              118.883532,
+              31.500261
+            ],
+            [
+              118.857046,
+              31.506384
+            ],
+            [
+              118.865669,
+              31.519139
+            ],
+            [
+              118.885995,
+              31.519139
+            ],
+            [
+              118.881684,
+              31.564023
+            ],
+            [
+              118.858894,
+              31.623665
+            ],
+            [
+              118.802844,
+              31.619078
+            ],
+            [
+              118.773894,
+              31.682759
+            ],
+            [
+              118.748025,
+              31.675629
+            ],
+            [
+              118.736322,
+              31.633347
+            ],
+            [
+              118.643315,
+              31.649651
+            ],
+            [
+              118.643315,
+              31.671555
+            ],
+            [
+              118.697518,
+              31.709747
+            ],
+            [
+              118.653786,
+              31.73011
+            ],
+            [
+              118.641467,
+              31.75861
+            ],
+            [
+              118.571866,
+              31.746397
+            ],
+            [
+              118.5577,
+              31.73011
+            ],
+            [
+              118.521975,
+              31.743343
+            ],
+            [
+              118.533678,
+              31.76726
+            ],
+            [
+              118.481939,
+              31.778453
+            ],
+            [
+              118.504729,
+              31.841516
+            ],
+            [
+              118.466541,
+              31.857784
+            ],
+            [
+              118.472084,
+              31.879639
+            ],
+            [
+              118.363679,
+              31.930443
+            ],
+            [
+              118.389548,
+              31.985281
+            ],
+            [
+              118.394476,
+              32.076098
+            ],
+            [
+              118.433896,
+              32.086746
+            ],
+            [
+              118.501033,
+              32.121726
+            ],
+            [
+              118.49549,
+              32.165304
+            ],
+            [
+              118.510888,
+              32.194176
+            ],
+            [
+              118.643931,
+              32.209875
+            ],
+            [
+              118.674728,
+              32.250375
+            ],
+            [
+              118.657482,
+              32.30148
+            ],
+            [
+              118.703061,
+              32.328792
+            ],
+            [
+              118.685199,
+              32.403604
+            ],
+            [
+              118.691359,
+              32.472295
+            ],
+            [
+              118.628533,
+              32.467751
+            ],
+            [
+              118.592192,
+              32.481383
+            ],
+            [
+              118.608823,
+              32.536899
+            ],
+            [
+              118.564475,
+              32.562122
+            ],
+            [
+              118.568787,
+              32.585825
+            ],
+            [
+              118.59712,
+              32.600951
+            ],
+            [
+              118.632844,
+              32.578261
+            ],
+            [
+              118.658714,
+              32.594397
+            ],
+            [
+              118.688895,
+              32.588346
+            ],
+            [
+              118.719076,
+              32.614059
+            ],
+            [
+              118.719076,
+              32.614059
+            ],
+            [
+              118.73509,
+              32.58885
+            ],
+            [
+              118.757264,
+              32.603976
+            ],
+            [
+              118.784981,
+              32.582295
+            ],
+            [
+              118.820706,
+              32.60448
+            ],
+            [
+              118.84288,
+              32.56767
+            ],
+            [
+              118.908169,
+              32.59238
+            ],
+            [
+              118.890923,
+              32.553042
+            ],
+            [
+              118.92172,
+              32.557078
+            ],
+            [
+              118.922336,
+              32.557078
+            ],
+            [
+              118.92172,
+              32.557078
+            ],
+            [
+              118.922336,
+              32.557078
+            ],
+            [
+              118.975923,
+              32.505108
+            ],
+            [
+              119.041212,
+              32.515201
+            ],
+            [
+              119.084944,
+              32.452602
+            ],
+            [
+              119.142226,
+              32.499556
+            ],
+            [
+              119.168096,
+              32.536394
+            ],
+            [
+              119.152697,
+              32.557582
+            ],
+            [
+              119.22045,
+              32.576748
+            ],
+            [
+              119.230921,
+              32.607001
+            ],
+            [
+              119.208748,
+              32.641276
+            ],
+            [
+              119.211827,
+              32.708275
+            ],
+            [
+              119.184726,
+              32.825529
+            ],
+            [
+              119.113277,
+              32.823014
+            ],
+            [
+              119.054763,
+              32.8748
+            ],
+            [
+              119.020886,
+              32.955685
+            ],
+            [
+              118.993169,
+              32.958196
+            ],
+            [
+              118.934039,
+              32.93861
+            ],
+            [
+              118.892771,
+              32.941121
+            ],
+            [
+              118.89585,
+              32.957694
+            ],
+            [
+              118.89585,
+              32.957694
+            ],
+            [
+              118.849039,
+              32.956689
+            ],
+            [
+              118.846575,
+              32.922034
+            ],
+            [
+              118.821322,
+              32.920527
+            ],
+            [
+              118.810235,
+              32.853687
+            ],
+            [
+              118.743097,
+              32.853184
+            ],
+            [
+              118.743097,
+              32.853184
+            ],
+            [
+              118.73817,
+              32.772708
+            ],
+            [
+              118.756648,
+              32.737477
+            ],
+            [
+              118.707373,
+              32.72036
+            ],
+            [
+              118.642699,
+              32.744525
+            ],
+            [
+              118.572482,
+              32.719856
+            ],
+            [
+              118.560163,
+              32.729926
+            ],
+            [
+              118.483787,
+              32.721367
+            ],
+            [
+              118.450526,
+              32.743518
+            ],
+            [
+              118.411106,
+              32.715828
+            ],
+            [
+              118.375382,
+              32.718849
+            ],
+            [
+              118.363063,
+              32.770695
+            ],
+            [
+              118.334114,
+              32.761637
+            ],
+            [
+              118.300237,
+              32.783275
+            ],
+            [
+              118.301469,
+              32.846145
+            ],
+            [
+              118.250346,
+              32.848157
+            ],
+            [
+              118.2331,
+              32.914498
+            ],
+            [
+              118.252194,
+              32.936601
+            ],
+            [
+              118.291614,
+              32.946143
+            ],
+            [
+              118.303933,
+              32.96874
+            ],
+            [
+              118.26944,
+              32.969242
+            ],
+            [
+              118.244803,
+              32.998359
+            ],
+            [
+              118.243571,
+              33.027967
+            ],
+            [
+              118.219549,
+              33.114227
+            ],
+            [
+              118.217085,
+              33.191888
+            ],
+            [
+              118.178281,
+              33.217926
+            ],
+            [
+              118.149332,
+              33.169348
+            ],
+            [
+              118.038463,
+              33.134776
+            ],
+            [
+              118.037231,
+              33.152314
+            ],
+            [
+              117.988572,
+              33.180869
+            ],
+            [
+              117.977485,
+              33.226437
+            ],
+            [
+              117.942376,
+              33.224936
+            ],
+            [
+              117.939297,
+              33.262475
+            ],
+            [
+              117.974405,
+              33.279487
+            ],
+            [
+              117.992883,
+              33.333005
+            ],
+            [
+              118.029224,
+              33.374995
+            ],
+            [
+              118.016905,
+              33.402978
+            ],
+            [
+              118.027376,
+              33.455421
+            ],
+            [
+              118.050782,
+              33.491863
+            ],
+            [
+              118.107448,
+              33.475391
+            ],
+            [
+              118.117919,
+              33.594615
+            ],
+            [
+              118.112376,
+              33.617045
+            ],
+            [
+              118.16781,
+              33.663381
+            ],
+            [
+              118.161035,
+              33.735576
+            ],
+            [
+              118.117919,
+              33.766427
+            ],
+            [
+              118.065564,
+              33.76593
+            ],
+            [
+              118.019985,
+              33.738562
+            ],
+            [
+              117.972557,
+              33.74951
+            ],
+            [
+              117.901724,
+              33.720146
+            ],
+            [
+              117.843826,
+              33.736074
+            ],
+            [
+              117.791471,
+              33.733585
+            ],
+            [
+              117.750203,
+              33.710688
+            ],
+            [
+              117.72495,
+              33.74951
+            ],
+            [
+              117.739732,
+              33.758467
+            ],
+            [
+              117.759442,
+              33.874318
+            ],
+            [
+              117.753899,
+              33.891211
+            ],
+            [
+              117.715095,
+              33.879287
+            ],
+            [
+              117.672595,
+              33.934916
+            ],
+            [
+              117.671363,
+              33.992494
+            ],
+            [
+              117.629479,
+              34.028708
+            ],
+            [
+              117.612849,
+              34.000433
+            ],
+            [
+              117.569117,
+              33.985051
+            ],
+            [
+              117.543248,
+              34.038627
+            ],
+            [
+              117.514914,
+              34.060941
+            ],
+            [
+              117.435458,
+              34.028212
+            ],
+            [
+              117.404045,
+              34.03218
+            ],
+            [
+              117.357234,
+              34.088205
+            ],
+            [
+              117.311654,
+              34.067882
+            ],
+            [
+              117.277162,
+              34.078787
+            ],
+            [
+              117.257452,
+              34.065899
+            ],
+            [
+              117.192162,
+              34.068873
+            ],
+            [
+              117.130568,
+              34.101586
+            ],
+            [
+              117.123793,
+              34.128342
+            ],
+            [
+              117.046801,
+              34.151622
+            ],
+            [
+              117.025243,
+              34.167469
+            ],
+            [
+              117.051112,
+              34.221425
+            ],
+            [
+              116.969192,
+              34.283753
+            ],
+            [
+              116.983359,
+              34.348011
+            ],
+            [
+              116.960569,
+              34.363821
+            ],
+            [
+              116.969192,
+              34.389012
+            ],
+            [
+              116.909446,
+              34.408271
+            ],
+            [
+              116.828142,
+              34.389012
+            ],
+            [
+              116.782563,
+              34.429993
+            ],
+            [
+              116.773939,
+              34.453683
+            ],
+            [
+              116.722816,
+              34.472434
+            ],
+            [
+              116.662454,
+              34.472927
+            ],
+            [
+              116.592237,
+              34.493646
+            ],
+            [
+              116.594085,
+              34.511894
+            ],
+            [
+              116.490607,
+              34.573513
+            ],
+            [
+              116.477057,
+              34.614896
+            ],
+            [
+              116.432709,
+              34.630163
+            ],
+            [
+              116.430245,
+              34.650843
+            ],
+            [
+              116.374195,
+              34.640011
+            ],
+            [
+              116.334159,
+              34.620806
+            ],
+            [
+              116.32492,
+              34.601104
+            ],
+            [
+              116.286116,
+              34.608986
+            ],
+            [
+              116.247927,
+              34.551829
+            ],
+            [
+              116.196804,
+              34.575977
+            ],
+            [
+              116.191261,
+              34.535561
+            ],
+            [
+              116.204196,
+              34.508442
+            ],
+            [
+              116.178326,
+              34.496112
+            ],
+            [
+              116.162312,
+              34.459605
+            ],
+            [
+              116.178942,
+              34.430487
+            ],
+            [
+              116.215898,
+              34.403333
+            ],
+            [
+              116.213435,
+              34.382098
+            ],
+            [
+              116.255934,
+              34.376665
+            ],
+            [
+              116.301514,
+              34.342082
+            ],
+            [
+              116.357564,
+              34.319843
+            ],
+            [
+              116.372347,
+              34.26595
+            ],
+            [
+              116.409303,
+              34.273863
+            ],
+            [
+              116.409303,
+              34.273863
+            ],
+            [
+              116.456731,
+              34.268917
+            ],
+            [
+              116.516477,
+              34.296114
+            ],
+            [
+              116.562056,
+              34.285731
+            ],
+            [
+              116.582382,
+              34.266444
+            ],
+            [
+              116.545426,
+              34.241711
+            ],
+            [
+              116.542962,
+              34.203608
+            ],
+            [
+              116.565752,
+              34.16945
+            ],
+            [
+              116.536187,
+              34.151127
+            ],
+            [
+              116.52818,
+              34.122892
+            ],
+            [
+              116.576223,
+              34.068873
+            ],
+            [
+              116.576223,
+              34.068873
+            ],
+            [
+              116.599629,
+              34.014324
+            ],
+            [
+              116.599629,
+              34.014324
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              118.865669,
+              31.519139
+            ],
+            [
+              118.857046,
+              31.506384
+            ],
+            [
+              118.883532,
+              31.500261
+            ],
+            [
+              118.885995,
+              31.519139
+            ],
+            [
+              118.865669,
+              31.519139
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.698795,
+              29.707836
+            ],
+            [
+              116.673541,
+              29.709916
+            ],
+            [
+              116.653831,
+              29.694841
+            ],
+            [
+              116.680317,
+              29.681323
+            ],
+            [
+              116.704954,
+              29.688602
+            ],
+            [
+              116.706802,
+              29.6964
+            ],
+            [
+              116.70557,
+              29.69692
+            ],
+            [
+              116.698795,
+              29.707836
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.5088,
+              32.468761
+            ],
+            [
+              115.509416,
+              32.466741
+            ],
+            [
+              115.510648,
+              32.467751
+            ],
+            [
+              115.510648,
+              32.468256
+            ],
+            [
+              115.510648,
+              32.468761
+            ],
+            [
+              115.5088,
+              32.468761
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 35e4,
+      name: "福建省",
+      center: [
+        119.306239,
+        26.075302
+      ],
+      centroid: [
+        118.006468,
+        26.069925
+      ],
+      childrenNum: 9,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 12,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              119.004872,
+              24.970009
+            ],
+            [
+              118.989473,
+              24.973807
+            ],
+            [
+              119.023966,
+              25.04377
+            ],
+            [
+              119.016575,
+              25.058409
+            ],
+            [
+              118.974691,
+              25.024792
+            ],
+            [
+              118.945126,
+              25.028588
+            ],
+            [
+              118.892155,
+              25.092558
+            ],
+            [
+              118.974691,
+              25.115319
+            ],
+            [
+              118.951901,
+              25.15162
+            ],
+            [
+              118.985162,
+              25.168954
+            ],
+            [
+              118.985162,
+              25.19495
+            ],
+            [
+              118.942046,
+              25.211195
+            ],
+            [
+              118.940198,
+              25.21715
+            ],
+            [
+              118.943278,
+              25.221482
+            ],
+            [
+              118.903242,
+              25.239347
+            ],
+            [
+              118.900162,
+              25.242595
+            ],
+            [
+              118.919256,
+              25.248008
+            ],
+            [
+              118.91556,
+              25.256668
+            ],
+            [
+              118.918024,
+              25.25721
+            ],
+            [
+              118.956212,
+              25.272905
+            ],
+            [
+              118.996864,
+              25.266411
+            ],
+            [
+              118.975307,
+              25.237723
+            ],
+            [
+              118.990089,
+              25.20199
+            ],
+            [
+              119.055379,
+              25.219316
+            ],
+            [
+              119.074473,
+              25.211195
+            ],
+            [
+              119.054147,
+              25.168412
+            ],
+            [
+              119.032589,
+              25.17437
+            ],
+            [
+              119.028893,
+              25.139702
+            ],
+            [
+              119.06585,
+              25.102855
+            ],
+            [
+              119.075705,
+              25.099604
+            ],
+            [
+              119.134219,
+              25.106107
+            ],
+            [
+              119.107118,
+              25.075214
+            ],
+            [
+              119.119436,
+              25.012861
+            ],
+            [
+              119.146538,
+              25.056782
+            ],
+            [
+              119.165632,
+              25.145661
+            ],
+            [
+              119.137299,
+              25.15487
+            ],
+            [
+              119.108349,
+              25.193867
+            ],
+            [
+              119.131755,
+              25.223106
+            ],
+            [
+              119.190269,
+              25.175995
+            ],
+            [
+              119.231537,
+              25.188993
+            ],
+            [
+              119.26911,
+              25.159746
+            ],
+            [
+              119.314689,
+              25.190076
+            ],
+            [
+              119.294979,
+              25.237182
+            ],
+            [
+              119.331935,
+              25.230685
+            ],
+            [
+              119.380595,
+              25.250173
+            ],
+            [
+              119.333167,
+              25.287516
+            ],
+            [
+              119.299291,
+              25.328634
+            ],
+            [
+              119.247552,
+              25.333502
+            ],
+            [
+              119.240776,
+              25.316733
+            ],
+            [
+              119.218603,
+              25.368115
+            ],
+            [
+              119.14469,
+              25.388121
+            ],
+            [
+              119.151465,
+              25.426503
+            ],
+            [
+              119.191501,
+              25.424341
+            ],
+            [
+              119.232153,
+              25.442176
+            ],
+            [
+              119.219834,
+              25.468654
+            ],
+            [
+              119.256175,
+              25.488643
+            ],
+            [
+              119.275269,
+              25.476758
+            ],
+            [
+              119.26295,
+              25.428124
+            ],
+            [
+              119.288204,
+              25.410827
+            ],
+            [
+              119.353493,
+              25.411908
+            ],
+            [
+              119.343638,
+              25.472436
+            ],
+            [
+              119.359037,
+              25.521592
+            ],
+            [
+              119.400921,
+              25.493505
+            ],
+            [
+              119.45266,
+              25.493505
+            ],
+            [
+              119.438493,
+              25.412449
+            ],
+            [
+              119.463131,
+              25.448661
+            ],
+            [
+              119.491464,
+              25.443257
+            ],
+            [
+              119.48592,
+              25.418935
+            ],
+            [
+              119.507478,
+              25.396231
+            ],
+            [
+              119.486536,
+              25.369737
+            ],
+            [
+              119.548746,
+              25.365952
+            ],
+            [
+              119.578927,
+              25.400556
+            ],
+            [
+              119.555521,
+              25.429205
+            ],
+            [
+              119.577695,
+              25.445959
+            ],
+            [
+              119.59063,
+              25.398394
+            ],
+            [
+              119.582623,
+              25.374063
+            ],
+            [
+              119.597405,
+              25.334584
+            ],
+            [
+              119.649144,
+              25.342697
+            ],
+            [
+              119.665159,
+              25.3719
+            ],
+            [
+              119.656535,
+              25.396772
+            ],
+            [
+              119.670086,
+              25.435691
+            ],
+            [
+              119.622659,
+              25.434069
+            ],
+            [
+              119.675014,
+              25.468113
+            ],
+            [
+              119.682405,
+              25.445959
+            ],
+            [
+              119.688564,
+              25.441095
+            ],
+            [
+              119.773564,
+              25.395691
+            ],
+            [
+              119.764325,
+              25.433529
+            ],
+            [
+              119.804977,
+              25.457847
+            ],
+            [
+              119.866571,
+              25.455145
+            ],
+            [
+              119.864107,
+              25.469734
+            ],
+            [
+              119.862875,
+              25.474597
+            ],
+            [
+              119.811136,
+              25.507009
+            ],
+            [
+              119.81668,
+              25.532393
+            ],
+            [
+              119.861027,
+              25.531313
+            ],
+            [
+              119.883817,
+              25.546432
+            ],
+            [
+              119.831462,
+              25.579905
+            ],
+            [
+              119.843165,
+              25.597717
+            ],
+            [
+              119.790194,
+              25.614447
+            ],
+            [
+              119.785883,
+              25.66786
+            ],
+            [
+              119.700267,
+              25.616606
+            ],
+            [
+              119.683637,
+              25.592859
+            ],
+            [
+              119.716898,
+              25.551292
+            ],
+            [
+              119.715666,
+              25.51187
+            ],
+            [
+              119.680557,
+              25.497827
+            ],
+            [
+              119.675014,
+              25.475137
+            ],
+            [
+              119.634362,
+              25.475137
+            ],
+            [
+              119.611572,
+              25.519972
+            ],
+            [
+              119.616499,
+              25.556691
+            ],
+            [
+              119.586934,
+              25.59232
+            ],
+            [
+              119.534579,
+              25.585303
+            ],
+            [
+              119.541355,
+              25.6247
+            ],
+            [
+              119.478529,
+              25.631715
+            ],
+            [
+              119.472986,
+              25.662466
+            ],
+            [
+              119.543819,
+              25.684581
+            ],
+            [
+              119.602949,
+              25.68512
+            ],
+            [
+              119.602949,
+              25.714779
+            ],
+            [
+              119.626354,
+              25.723406
+            ],
+            [
+              119.628202,
+              25.87212
+            ],
+            [
+              119.638057,
+              25.889888
+            ],
+            [
+              119.69534,
+              25.904424
+            ],
+            [
+              119.723673,
+              26.011503
+            ],
+            [
+              119.700267,
+              26.032477
+            ],
+            [
+              119.668854,
+              26.026024
+            ],
+            [
+              119.654688,
+              26.090002
+            ],
+            [
+              119.618963,
+              26.11956
+            ],
+            [
+              119.604181,
+              26.168985
+            ],
+            [
+              119.664543,
+              26.202282
+            ],
+            [
+              119.676246,
+              26.262943
+            ],
+            [
+              119.7711,
+              26.285481
+            ],
+            [
+              119.802513,
+              26.268846
+            ],
+            [
+              119.806825,
+              26.307479
+            ],
+            [
+              119.845013,
+              26.323036
+            ],
+            [
+              119.862875,
+              26.307479
+            ],
+            [
+              119.904143,
+              26.308552
+            ],
+            [
+              119.95465,
+              26.352534
+            ],
+            [
+              119.946027,
+              26.374519
+            ],
+            [
+              119.893672,
+              26.355752
+            ],
+            [
+              119.835774,
+              26.434019
+            ],
+            [
+              119.83639,
+              26.454381
+            ],
+            [
+              119.788346,
+              26.583435
+            ],
+            [
+              119.740303,
+              26.610727
+            ],
+            [
+              119.670086,
+              26.618218
+            ],
+            [
+              119.605412,
+              26.595744
+            ],
+            [
+              119.577695,
+              26.622498
+            ],
+            [
+              119.619579,
+              26.649246
+            ],
+            [
+              119.637441,
+              26.703256
+            ],
+            [
+              119.664543,
+              26.726243
+            ],
+            [
+              119.711354,
+              26.686681
+            ],
+            [
+              119.833926,
+              26.690959
+            ],
+            [
+              119.864107,
+              26.671174
+            ],
+            [
+              119.873962,
+              26.642827
+            ],
+            [
+              119.908455,
+              26.661547
+            ],
+            [
+              119.899216,
+              26.693098
+            ],
+            [
+              119.938636,
+              26.747088
+            ],
+            [
+              119.942947,
+              26.784492
+            ],
+            [
+              120.052584,
+              26.786629
+            ],
+            [
+              120.061824,
+              26.768997
+            ],
+            [
+              119.99407,
+              26.720363
+            ],
+            [
+              119.969433,
+              26.686681
+            ],
+            [
+              119.972512,
+              26.654594
+            ],
+            [
+              119.949107,
+              26.624638
+            ],
+            [
+              119.901679,
+              26.624638
+            ],
+            [
+              119.851788,
+              26.595209
+            ],
+            [
+              119.828383,
+              26.524013
+            ],
+            [
+              119.867187,
+              26.509019
+            ],
+            [
+              119.947875,
+              26.56042
+            ],
+            [
+              119.93802,
+              26.576478
+            ],
+            [
+              119.967585,
+              26.597885
+            ],
+            [
+              120.007621,
+              26.595744
+            ],
+            [
+              120.063671,
+              26.627848
+            ],
+            [
+              120.093852,
+              26.613938
+            ],
+            [
+              120.1382,
+              26.638012
+            ],
+            [
+              120.110483,
+              26.692563
+            ],
+            [
+              120.162222,
+              26.717691
+            ],
+            [
+              120.151135,
+              26.750829
+            ],
+            [
+              120.106787,
+              26.752966
+            ],
+            [
+              120.136352,
+              26.797847
+            ],
+            [
+              120.103707,
+              26.794642
+            ],
+            [
+              120.102476,
+              26.82669
+            ],
+            [
+              120.073526,
+              26.823485
+            ],
+            [
+              120.054432,
+              26.863533
+            ],
+            [
+              120.117874,
+              26.882751
+            ],
+            [
+              120.126497,
+              26.920644
+            ],
+            [
+              120.130193,
+              26.917976
+            ],
+            [
+              120.1807,
+              26.920644
+            ],
+            [
+              120.233055,
+              26.907837
+            ],
+            [
+              120.25954,
+              26.982526
+            ],
+            [
+              120.279866,
+              26.987326
+            ],
+            [
+              120.275554,
+              27.027315
+            ],
+            [
+              120.29588,
+              27.035845
+            ],
+            [
+              120.282946,
+              27.089671
+            ],
+            [
+              120.391967,
+              27.081146
+            ],
+            [
+              120.403054,
+              27.10086
+            ],
+            [
+              120.461568,
+              27.142407
+            ],
+            [
+              120.404286,
+              27.204166
+            ],
+            [
+              120.401822,
+              27.250996
+            ],
+            [
+              120.430155,
+              27.258976
+            ],
+            [
+              120.343924,
+              27.363199
+            ],
+            [
+              120.340844,
+              27.399867
+            ],
+            [
+              120.273091,
+              27.38924
+            ],
+            [
+              120.26262,
+              27.432804
+            ],
+            [
+              120.221352,
+              27.420055
+            ],
+            [
+              120.134504,
+              27.420055
+            ],
+            [
+              120.136968,
+              27.402523
+            ],
+            [
+              120.096316,
+              27.390302
+            ],
+            [
+              120.052584,
+              27.338747
+            ],
+            [
+              120.026099,
+              27.344063
+            ],
+            [
+              120.008237,
+              27.375423
+            ],
+            [
+              119.960194,
+              27.365857
+            ],
+            [
+              119.938636,
+              27.329709
+            ],
+            [
+              119.843165,
+              27.300464
+            ],
+            [
+              119.768636,
+              27.307909
+            ],
+            [
+              119.782187,
+              27.330241
+            ],
+            [
+              119.739687,
+              27.362668
+            ],
+            [
+              119.750774,
+              27.373829
+            ],
+            [
+              119.711354,
+              27.403054
+            ],
+            [
+              119.685485,
+              27.438646
+            ],
+            [
+              119.703347,
+              27.446613
+            ],
+            [
+              119.70889,
+              27.514042
+            ],
+            [
+              119.690412,
+              27.537394
+            ],
+            [
+              119.659615,
+              27.540578
+            ],
+            [
+              119.675014,
+              27.574534
+            ],
+            [
+              119.630666,
+              27.582491
+            ],
+            [
+              119.626354,
+              27.620676
+            ],
+            [
+              119.644217,
+              27.663619
+            ],
+            [
+              119.606028,
+              27.674749
+            ],
+            [
+              119.541971,
+              27.666799
+            ],
+            [
+              119.501319,
+              27.649837
+            ],
+            [
+              119.501935,
+              27.610601
+            ],
+            [
+              119.466826,
+              27.526249
+            ],
+            [
+              119.438493,
+              27.508734
+            ],
+            [
+              119.416935,
+              27.539517
+            ],
+            [
+              119.360269,
+              27.524657
+            ],
+            [
+              119.334399,
+              27.480067
+            ],
+            [
+              119.285124,
+              27.457766
+            ],
+            [
+              119.26911,
+              27.42218
+            ],
+            [
+              119.224146,
+              27.416868
+            ],
+            [
+              119.14777,
+              27.424836
+            ],
+            [
+              119.121284,
+              27.438115
+            ],
+            [
+              119.129907,
+              27.475289
+            ],
+            [
+              119.092335,
+              27.466262
+            ],
+            [
+              119.03998,
+              27.478475
+            ],
+            [
+              119.020886,
+              27.498118
+            ],
+            [
+              118.983314,
+              27.498649
+            ],
+            [
+              118.986393,
+              27.47582
+            ],
+            [
+              118.955597,
+              27.4498
+            ],
+            [
+              118.907553,
+              27.460952
+            ],
+            [
+              118.869365,
+              27.540047
+            ],
+            [
+              118.909401,
+              27.568168
+            ],
+            [
+              118.913713,
+              27.619616
+            ],
+            [
+              118.879836,
+              27.667859
+            ],
+            [
+              118.873677,
+              27.733563
+            ],
+            [
+              118.829329,
+              27.847921
+            ],
+            [
+              118.818242,
+              27.916689
+            ],
+            [
+              118.753568,
+              27.947885
+            ],
+            [
+              118.730163,
+              27.970615
+            ],
+            [
+              118.733858,
+              28.027684
+            ],
+            [
+              118.719076,
+              28.063601
+            ],
+            [
+              118.767735,
+              28.10584
+            ],
+            [
+              118.802228,
+              28.117453
+            ],
+            [
+              118.805923,
+              28.154923
+            ],
+            [
+              118.771431,
+              28.188687
+            ],
+            [
+              118.804075,
+              28.207675
+            ],
+            [
+              118.802228,
+              28.240368
+            ],
+            [
+              118.756032,
+              28.252493
+            ],
+            [
+              118.719692,
+              28.312047
+            ],
+            [
+              118.699366,
+              28.309939
+            ],
+            [
+              118.674728,
+              28.27147
+            ],
+            [
+              118.651322,
+              28.277267
+            ],
+            [
+              118.595272,
+              28.258292
+            ],
+            [
+              118.588497,
+              28.282538
+            ],
+            [
+              118.493026,
+              28.262509
+            ],
+            [
+              118.490562,
+              28.238259
+            ],
+            [
+              118.444367,
+              28.253548
+            ],
+            [
+              118.433896,
+              28.288335
+            ],
+            [
+              118.424041,
+              28.291497
+            ],
+            [
+              118.314404,
+              28.221913
+            ],
+            [
+              118.339041,
+              28.193962
+            ],
+            [
+              118.375382,
+              28.186577
+            ],
+            [
+              118.361215,
+              28.155978
+            ],
+            [
+              118.356288,
+              28.091586
+            ],
+            [
+              118.242339,
+              28.075746
+            ],
+            [
+              118.199839,
+              28.049869
+            ],
+            [
+              118.153644,
+              28.062016
+            ],
+            [
+              118.120999,
+              28.041946
+            ],
+            [
+              118.129006,
+              28.017118
+            ],
+            [
+              118.094513,
+              28.003909
+            ],
+            [
+              118.096977,
+              27.970615
+            ],
+            [
+              117.999043,
+              27.991227
+            ],
+            [
+              117.965166,
+              27.962687
+            ],
+            [
+              117.942992,
+              27.974315
+            ],
+            [
+              117.910963,
+              27.949471
+            ],
+            [
+              117.856145,
+              27.94577
+            ],
+            [
+              117.78716,
+              27.896063
+            ],
+            [
+              117.788392,
+              27.855858
+            ],
+            [
+              117.740348,
+              27.800286
+            ],
+            [
+              117.704624,
+              27.834162
+            ],
+            [
+              117.68245,
+              27.823577
+            ],
+            [
+              117.649805,
+              27.851625
+            ],
+            [
+              117.609769,
+              27.863265
+            ],
+            [
+              117.556182,
+              27.966387
+            ],
+            [
+              117.52169,
+              27.982243
+            ],
+            [
+              117.477958,
+              27.930966
+            ],
+            [
+              117.453936,
+              27.939955
+            ],
+            [
+              117.407741,
+              27.893948
+            ],
+            [
+              117.366473,
+              27.88231
+            ],
+            [
+              117.341836,
+              27.855858
+            ],
+            [
+              117.334444,
+              27.8876
+            ],
+            [
+              117.280242,
+              27.871201
+            ],
+            [
+              117.276546,
+              27.847921
+            ],
+            [
+              117.303031,
+              27.833103
+            ],
+            [
+              117.296256,
+              27.764282
+            ],
+            [
+              117.245133,
+              27.71926
+            ],
+            [
+              117.205097,
+              27.714492
+            ],
+            [
+              117.204481,
+              27.683759
+            ],
+            [
+              117.174916,
+              27.677399
+            ],
+            [
+              117.114554,
+              27.692238
+            ],
+            [
+              117.096076,
+              27.667329
+            ],
+            [
+              117.11209,
+              27.645596
+            ],
+            [
+              117.094228,
+              27.627569
+            ],
+            [
+              117.065279,
+              27.665739
+            ],
+            [
+              117.040641,
+              27.669979
+            ],
+            [
+              117.003685,
+              27.625449
+            ],
+            [
+              117.024627,
+              27.592569
+            ],
+            [
+              117.01662,
+              27.563393
+            ],
+            [
+              117.054808,
+              27.5427
+            ],
+            [
+              117.076982,
+              27.566046
+            ],
+            [
+              117.103467,
+              27.533149
+            ],
+            [
+              117.110242,
+              27.458828
+            ],
+            [
+              117.133032,
+              27.42218
+            ],
+            [
+              117.107163,
+              27.393491
+            ],
+            [
+              117.104699,
+              27.330773
+            ],
+            [
+              117.140423,
+              27.322798
+            ],
+            [
+              117.136728,
+              27.303123
+            ],
+            [
+              117.171836,
+              27.29036
+            ],
+            [
+              117.149662,
+              27.241419
+            ],
+            [
+              117.044953,
+              27.146667
+            ],
+            [
+              117.05296,
+              27.100327
+            ],
+            [
+              116.967344,
+              27.061962
+            ],
+            [
+              116.936547,
+              27.019319
+            ],
+            [
+              116.910062,
+              27.034779
+            ],
+            [
+              116.851548,
+              27.009188
+            ],
+            [
+              116.817671,
+              27.018252
+            ],
+            [
+              116.679085,
+              26.978259
+            ],
+            [
+              116.632889,
+              26.933984
+            ],
+            [
+              116.602092,
+              26.888623
+            ],
+            [
+              116.548506,
+              26.84004
+            ],
+            [
+              116.543578,
+              26.803723
+            ],
+            [
+              116.557745,
+              26.773806
+            ],
+            [
+              116.515245,
+              26.720898
+            ],
+            [
+              116.520172,
+              26.684543
+            ],
+            [
+              116.566368,
+              26.650315
+            ],
+            [
+              116.553433,
+              26.575942
+            ],
+            [
+              116.539267,
+              26.559349
+            ],
+            [
+              116.597165,
+              26.512768
+            ],
+            [
+              116.610716,
+              26.476882
+            ],
+            [
+              116.638433,
+              26.477418
+            ],
+            [
+              116.608252,
+              26.429732
+            ],
+            [
+              116.601476,
+              26.372911
+            ],
+            [
+              116.553433,
+              26.365404
+            ],
+            [
+              116.553433,
+              26.400253
+            ],
+            [
+              116.519557,
+              26.410437
+            ],
+            [
+              116.499846,
+              26.361651
+            ],
+            [
+              116.459194,
+              26.345026
+            ],
+            [
+              116.437021,
+              26.308016
+            ],
+            [
+              116.412999,
+              26.297822
+            ],
+            [
+              116.385282,
+              26.238253
+            ],
+            [
+              116.400064,
+              26.202819
+            ],
+            [
+              116.392057,
+              26.171133
+            ],
+            [
+              116.435789,
+              26.159854
+            ],
+            [
+              116.476441,
+              26.172745
+            ],
+            [
+              116.489375,
+              26.113649
+            ],
+            [
+              116.384666,
+              26.030864
+            ],
+            [
+              116.360028,
+              25.991601
+            ],
+            [
+              116.369883,
+              25.963088
+            ],
+            [
+              116.326152,
+              25.956631
+            ],
+            [
+              116.303362,
+              25.924341
+            ],
+            [
+              116.258398,
+              25.902809
+            ],
+            [
+              116.225138,
+              25.908731
+            ],
+            [
+              116.17771,
+              25.894195
+            ],
+            [
+              116.132131,
+              25.860273
+            ],
+            [
+              116.131515,
+              25.824185
+            ],
+            [
+              116.18079,
+              25.778926
+            ],
+            [
+              116.129667,
+              25.758985
+            ],
+            [
+              116.106877,
+              25.701299
+            ],
+            [
+              116.067457,
+              25.703995
+            ],
+            [
+              116.068689,
+              25.646282
+            ],
+            [
+              116.041588,
+              25.62416
+            ],
+            [
+              116.063145,
+              25.56317
+            ],
+            [
+              116.040356,
+              25.548052
+            ],
+            [
+              116.03666,
+              25.514571
+            ],
+            [
+              116.005247,
+              25.490264
+            ],
+            [
+              116.023109,
+              25.435691
+            ],
+            [
+              115.992928,
+              25.374063
+            ],
+            [
+              116.008327,
+              25.319437
+            ],
+            [
+              115.987385,
+              25.290221
+            ],
+            [
+              115.949813,
+              25.292386
+            ],
+            [
+              115.930719,
+              25.236099
+            ],
+            [
+              115.855574,
+              25.20957
+            ],
+            [
+              115.860501,
+              25.165704
+            ],
+            [
+              115.888219,
+              25.128866
+            ],
+            [
+              115.880212,
+              25.092016
+            ],
+            [
+              115.908545,
+              25.084428
+            ],
+            [
+              115.928255,
+              25.050276
+            ],
+            [
+              115.873436,
+              25.019911
+            ],
+            [
+              115.925175,
+              24.960786
+            ],
+            [
+              115.870356,
+              24.959701
+            ],
+            [
+              115.89253,
+              24.936911
+            ],
+            [
+              115.907929,
+              24.923343
+            ],
+            [
+              115.985537,
+              24.899461
+            ],
+            [
+              116.015102,
+              24.905975
+            ],
+            [
+              116.068073,
+              24.850053
+            ],
+            [
+              116.153073,
+              24.846795
+            ],
+            [
+              116.191877,
+              24.877203
+            ],
+            [
+              116.221442,
+              24.829959
+            ],
+            [
+              116.251007,
+              24.82507
+            ],
+            [
+              116.244232,
+              24.793563
+            ],
+            [
+              116.297202,
+              24.801712
+            ],
+            [
+              116.345862,
+              24.828872
+            ],
+            [
+              116.363724,
+              24.87123
+            ],
+            [
+              116.395137,
+              24.877746
+            ],
+            [
+              116.417927,
+              24.840821
+            ],
+            [
+              116.381586,
+              24.82507
+            ],
+            [
+              116.375427,
+              24.803885
+            ],
+            [
+              116.419158,
+              24.767482
+            ],
+            [
+              116.416079,
+              24.744113
+            ],
+            [
+              116.44626,
+              24.714216
+            ],
+            [
+              116.485064,
+              24.720196
+            ],
+            [
+              116.517709,
+              24.652225
+            ],
+            [
+              116.506622,
+              24.621218
+            ],
+            [
+              116.530027,
+              24.604895
+            ],
+            [
+              116.570679,
+              24.621762
+            ],
+            [
+              116.600861,
+              24.654401
+            ],
+            [
+              116.623034,
+              24.64189
+            ],
+            [
+              116.667382,
+              24.658752
+            ],
+            [
+              116.777635,
+              24.679418
+            ],
+            [
+              116.815207,
+              24.654944
+            ],
+            [
+              116.761005,
+              24.583128
+            ],
+            [
+              116.759157,
+              24.545572
+            ],
+            [
+              116.796729,
+              24.502014
+            ],
+            [
+              116.83307,
+              24.496568
+            ],
+            [
+              116.860787,
+              24.460075
+            ],
+            [
+              116.839229,
+              24.442097
+            ],
+            [
+              116.903903,
+              24.369614
+            ],
+            [
+              116.895895,
+              24.350533
+            ],
+            [
+              116.919301,
+              24.321087
+            ],
+            [
+              116.914374,
+              24.287817
+            ],
+            [
+              116.938395,
+              24.28127
+            ],
+            [
+              116.933468,
+              24.220157
+            ],
+            [
+              116.956257,
+              24.216883
+            ],
+            [
+              116.998757,
+              24.179217
+            ],
+            [
+              116.9347,
+              24.126794
+            ],
+            [
+              116.930388,
+              24.064514
+            ],
+            [
+              116.953178,
+              24.008218
+            ],
+            [
+              116.981511,
+              23.999471
+            ],
+            [
+              116.976583,
+              23.931659
+            ],
+            [
+              116.955642,
+              23.922359
+            ],
+            [
+              116.981511,
+              23.855602
+            ],
+            [
+              117.012308,
+              23.855054
+            ],
+            [
+              117.019083,
+              23.801952
+            ],
+            [
+              117.048032,
+              23.758687
+            ],
+            [
+              117.055424,
+              23.694038
+            ],
+            [
+              117.123793,
+              23.647448
+            ],
+            [
+              117.147199,
+              23.654027
+            ],
+            [
+              117.192778,
+              23.629356
+            ],
+            [
+              117.192778,
+              23.5619
+            ],
+            [
+              117.291328,
+              23.571225
+            ],
+            [
+              117.302415,
+              23.550379
+            ],
+            [
+              117.387415,
+              23.555317
+            ],
+            [
+              117.463791,
+              23.584937
+            ],
+            [
+              117.454552,
+              23.628259
+            ],
+            [
+              117.493357,
+              23.642514
+            ],
+            [
+              117.501364,
+              23.70445
+            ],
+            [
+              117.54448,
+              23.715956
+            ],
+            [
+              117.601762,
+              23.70171
+            ],
+            [
+              117.660276,
+              23.789357
+            ],
+            [
+              117.651653,
+              23.815093
+            ],
+            [
+              117.671979,
+              23.878041
+            ],
+            [
+              117.691073,
+              23.888985
+            ],
+            [
+              117.762522,
+              23.886796
+            ],
+            [
+              117.792703,
+              23.906494
+            ],
+            [
+              117.807486,
+              23.947521
+            ],
+            [
+              117.864768,
+              24.004938
+            ],
+            [
+              117.910347,
+              24.012045
+            ],
+            [
+              117.927594,
+              24.039922
+            ],
+            [
+              117.936217,
+              24.100029
+            ],
+            [
+              118.000275,
+              24.152462
+            ],
+            [
+              118.019369,
+              24.197232
+            ],
+            [
+              118.074803,
+              24.225615
+            ],
+            [
+              118.115455,
+              24.229435
+            ],
+            [
+              118.158571,
+              24.269814
+            ],
+            [
+              118.112376,
+              24.357075
+            ],
+            [
+              118.081579,
+              24.35653
+            ],
+            [
+              118.088354,
+              24.408858
+            ],
+            [
+              118.048934,
+              24.418122
+            ],
+            [
+              118.084042,
+              24.528695
+            ],
+            [
+              118.121615,
+              24.570067
+            ],
+            [
+              118.150564,
+              24.583673
+            ],
+            [
+              118.169042,
+              24.559725
+            ],
+            [
+              118.242955,
+              24.51236
+            ],
+            [
+              118.375382,
+              24.536317
+            ],
+            [
+              118.363679,
+              24.567889
+            ],
+            [
+              118.444367,
+              24.614689
+            ],
+            [
+              118.512736,
+              24.60816
+            ],
+            [
+              118.557084,
+              24.572788
+            ],
+            [
+              118.558316,
+              24.51236
+            ],
+            [
+              118.614366,
+              24.521617
+            ],
+            [
+              118.680272,
+              24.58204
+            ],
+            [
+              118.687047,
+              24.63373
+            ],
+            [
+              118.661178,
+              24.622306
+            ],
+            [
+              118.652554,
+              24.653857
+            ],
+            [
+              118.670417,
+              24.679962
+            ],
+            [
+              118.703677,
+              24.665278
+            ],
+            [
+              118.778822,
+              24.743569
+            ],
+            [
+              118.786213,
+              24.77672
+            ],
+            [
+              118.650707,
+              24.808774
+            ],
+            [
+              118.647627,
+              24.843536
+            ],
+            [
+              118.702445,
+              24.865258
+            ],
+            [
+              118.69875,
+              24.848967
+            ],
+            [
+              118.748641,
+              24.84245
+            ],
+            [
+              118.807771,
+              24.870687
+            ],
+            [
+              118.834256,
+              24.854397
+            ],
+            [
+              118.864437,
+              24.887518
+            ],
+            [
+              118.933423,
+              24.870687
+            ],
+            [
+              118.988857,
+              24.878831
+            ],
+            [
+              118.987009,
+              24.898375
+            ],
+            [
+              118.932807,
+              24.906518
+            ],
+            [
+              118.91864,
+              24.932569
+            ],
+            [
+              118.945741,
+              24.954275
+            ],
+            [
+              119.014111,
+              24.941252
+            ],
+            [
+              119.032589,
+              24.961328
+            ],
+            [
+              119.032589,
+              24.961871
+            ],
+            [
+              119.007335,
+              24.963499
+            ],
+            [
+              119.004872,
+              24.970009
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              118.412338,
+              24.514538
+            ],
+            [
+              118.374766,
+              24.458986
+            ],
+            [
+              118.318715,
+              24.486765
+            ],
+            [
+              118.298389,
+              24.477506
+            ],
+            [
+              118.31194,
+              24.424661
+            ],
+            [
+              118.282375,
+              24.413218
+            ],
+            [
+              118.329802,
+              24.382152
+            ],
+            [
+              118.353208,
+              24.415398
+            ],
+            [
+              118.405563,
+              24.427931
+            ],
+            [
+              118.457918,
+              24.412128
+            ],
+            [
+              118.477012,
+              24.437738
+            ],
+            [
+              118.451758,
+              24.506915
+            ],
+            [
+              118.412338,
+              24.514538
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.471138,
+              25.197116
+            ],
+            [
+              119.507478,
+              25.183036
+            ],
+            [
+              119.52534,
+              25.157579
+            ],
+            [
+              119.549362,
+              25.161912
+            ],
+            [
+              119.566608,
+              25.210112
+            ],
+            [
+              119.540739,
+              25.20199
+            ],
+            [
+              119.501319,
+              25.21715
+            ],
+            [
+              119.473601,
+              25.259916
+            ],
+            [
+              119.44342,
+              25.238806
+            ],
+            [
+              119.444036,
+              25.20199
+            ],
+            [
+              119.471138,
+              25.197116
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.580159,
+              25.627398
+            ],
+            [
+              119.611572,
+              25.669479
+            ],
+            [
+              119.580775,
+              25.650059
+            ],
+            [
+              119.580159,
+              25.627398
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.976824,
+              26.191005
+            ],
+            [
+              120.016244,
+              26.217316
+            ],
+            [
+              119.998998,
+              26.235569
+            ],
+            [
+              119.970665,
+              26.217852
+            ],
+            [
+              119.976824,
+              26.191005
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              118.230636,
+              24.401228
+            ],
+            [
+              118.273752,
+              24.441007
+            ],
+            [
+              118.233716,
+              24.445911
+            ],
+            [
+              118.230636,
+              24.401228
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.906607,
+              26.68989
+            ],
+            [
+              119.926933,
+              26.664756
+            ],
+            [
+              119.950954,
+              26.692563
+            ],
+            [
+              119.906607,
+              26.68989
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              118.204151,
+              24.504737
+            ],
+            [
+              118.191832,
+              24.536861
+            ],
+            [
+              118.14502,
+              24.560814
+            ],
+            [
+              118.093281,
+              24.540672
+            ],
+            [
+              118.068644,
+              24.463344
+            ],
+            [
+              118.084042,
+              24.435559
+            ],
+            [
+              118.143173,
+              24.420847
+            ],
+            [
+              118.19368,
+              24.463344
+            ],
+            [
+              118.204151,
+              24.504737
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.929397,
+              26.134067
+            ],
+            [
+              119.960194,
+              26.146961
+            ],
+            [
+              119.919542,
+              26.172208
+            ],
+            [
+              119.929397,
+              26.134067
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.642985,
+              26.129231
+            ],
+            [
+              119.665159,
+              26.155556
+            ],
+            [
+              119.62697,
+              26.173282
+            ],
+            [
+              119.606028,
+              26.15287
+            ],
+            [
+              119.642985,
+              26.129231
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.034106,
+              26.488667
+            ],
+            [
+              120.066751,
+              26.498308
+            ],
+            [
+              120.071679,
+              26.521336
+            ],
+            [
+              120.035954,
+              26.515981
+            ],
+            [
+              120.034106,
+              26.488667
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.662079,
+              25.646822
+            ],
+            [
+              119.673782,
+              25.632794
+            ],
+            [
+              119.718745,
+              25.634952
+            ],
+            [
+              119.716898,
+              25.664624
+            ],
+            [
+              119.662079,
+              25.646822
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.760629,
+              26.613402
+            ],
+            [
+              119.776644,
+              26.600025
+            ],
+            [
+              119.818527,
+              26.616613
+            ],
+            [
+              119.796354,
+              26.630523
+            ],
+            [
+              119.760629,
+              26.613402
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.135736,
+              26.550784
+            ],
+            [
+              120.167149,
+              26.571661
+            ],
+            [
+              120.153598,
+              26.604841
+            ],
+            [
+              120.117874,
+              26.568984
+            ],
+            [
+              120.135736,
+              26.550784
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.360554,
+              26.916909
+            ],
+            [
+              120.394431,
+              26.933984
+            ],
+            [
+              120.363018,
+              26.967592
+            ],
+            [
+              120.327909,
+              26.963858
+            ],
+            [
+              120.319286,
+              26.944654
+            ],
+            [
+              120.360554,
+              26.916909
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.150519,
+              26.798916
+            ],
+            [
+              120.140048,
+              26.795176
+            ],
+            [
+              120.163454,
+              26.798381
+            ],
+            [
+              120.161606,
+              26.803189
+            ],
+            [
+              120.150519,
+              26.798916
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.668238,
+              26.628383
+            ],
+            [
+              119.720593,
+              26.635873
+            ],
+            [
+              119.758781,
+              26.659408
+            ],
+            [
+              119.748926,
+              26.681334
+            ],
+            [
+              119.712586,
+              26.6685
+            ],
+            [
+              119.673782,
+              26.680799
+            ],
+            [
+              119.651608,
+              26.657269
+            ],
+            [
+              119.668238,
+              26.628383
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 36e4,
+      name: "江西省",
+      center: [
+        115.892151,
+        28.676493
+      ],
+      centroid: [
+        115.732975,
+        27.636112
+      ],
+      childrenNum: 11,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 13,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              118.193064,
+              29.395472
+            ],
+            [
+              118.136397,
+              29.418932
+            ],
+            [
+              118.127774,
+              29.47209
+            ],
+            [
+              118.143788,
+              29.489803
+            ],
+            [
+              118.095129,
+              29.534072
+            ],
+            [
+              118.050782,
+              29.542924
+            ],
+            [
+              118.042774,
+              29.566351
+            ],
+            [
+              118.00397,
+              29.578322
+            ],
+            [
+              117.933753,
+              29.549172
+            ],
+            [
+              117.872775,
+              29.54761
+            ],
+            [
+              117.795167,
+              29.570515
+            ],
+            [
+              117.729877,
+              29.550213
+            ],
+            [
+              117.690457,
+              29.555939
+            ],
+            [
+              117.678754,
+              29.595496
+            ],
+            [
+              117.647957,
+              29.614749
+            ],
+            [
+              117.608537,
+              29.591333
+            ],
+            [
+              117.543248,
+              29.588731
+            ],
+            [
+              117.523538,
+              29.630356
+            ],
+            [
+              117.530313,
+              29.654282
+            ],
+            [
+              117.490277,
+              29.660003
+            ],
+            [
+              117.453936,
+              29.688082
+            ],
+            [
+              117.455168,
+              29.749412
+            ],
+            [
+              117.408973,
+              29.802396
+            ],
+            [
+              117.415132,
+              29.85068
+            ],
+            [
+              117.382487,
+              29.840818
+            ],
+            [
+              117.359082,
+              29.812782
+            ],
+            [
+              117.338756,
+              29.848085
+            ],
+            [
+              117.29256,
+              29.822647
+            ],
+            [
+              117.25314,
+              29.834588
+            ],
+            [
+              117.261763,
+              29.880781
+            ],
+            [
+              117.246365,
+              29.915023
+            ],
+            [
+              117.2168,
+              29.926953
+            ],
+            [
+              117.171836,
+              29.920729
+            ],
+            [
+              117.129952,
+              29.89946
+            ],
+            [
+              117.127489,
+              29.86158
+            ],
+            [
+              117.073286,
+              29.831992
+            ],
+            [
+              117.123177,
+              29.798761
+            ],
+            [
+              117.136728,
+              29.775388
+            ],
+            [
+              117.108395,
+              29.75201
+            ],
+            [
+              117.112706,
+              29.711995
+            ],
+            [
+              117.041873,
+              29.680803
+            ],
+            [
+              116.996294,
+              29.683403
+            ],
+            [
+              116.974736,
+              29.657403
+            ],
+            [
+              116.939627,
+              29.648561
+            ],
+            [
+              116.873722,
+              29.609546
+            ],
+            [
+              116.849084,
+              29.57624
+            ],
+            [
+              116.780715,
+              29.569994
+            ],
+            [
+              116.760389,
+              29.599139
+            ],
+            [
+              116.721585,
+              29.564789
+            ],
+            [
+              116.716657,
+              29.590813
+            ],
+            [
+              116.651983,
+              29.637118
+            ],
+            [
+              116.680317,
+              29.681323
+            ],
+            [
+              116.653831,
+              29.694841
+            ],
+            [
+              116.673541,
+              29.709916
+            ],
+            [
+              116.762237,
+              29.802396
+            ],
+            [
+              116.780715,
+              29.792529
+            ],
+            [
+              116.882961,
+              29.893753
+            ],
+            [
+              116.900207,
+              29.949253
+            ],
+            [
+              116.868794,
+              29.980361
+            ],
+            [
+              116.83307,
+              29.95755
+            ],
+            [
+              116.830606,
+              30.004723
+            ],
+            [
+              116.802889,
+              29.99643
+            ],
+            [
+              116.783794,
+              30.030632
+            ],
+            [
+              116.747454,
+              30.057053
+            ],
+            [
+              116.720353,
+              30.053945
+            ],
+            [
+              116.666766,
+              30.076734
+            ],
+            [
+              116.620571,
+              30.073109
+            ],
+            [
+              116.585462,
+              30.045657
+            ],
+            [
+              116.552201,
+              29.909836
+            ],
+            [
+              116.525716,
+              29.897385
+            ],
+            [
+              116.467818,
+              29.896347
+            ],
+            [
+              116.342782,
+              29.835626
+            ],
+            [
+              116.280572,
+              29.788893
+            ],
+            [
+              116.250391,
+              29.785777
+            ],
+            [
+              116.227601,
+              29.816936
+            ],
+            [
+              116.172783,
+              29.828358
+            ],
+            [
+              116.13521,
+              29.819532
+            ],
+            [
+              116.087167,
+              29.795125
+            ],
+            [
+              116.049595,
+              29.761881
+            ],
+            [
+              115.965827,
+              29.724469
+            ],
+            [
+              115.909777,
+              29.723949
+            ],
+            [
+              115.837096,
+              29.748373
+            ],
+            [
+              115.762567,
+              29.793048
+            ],
+            [
+              115.706517,
+              29.837703
+            ],
+            [
+              115.667712,
+              29.850161
+            ],
+            [
+              115.611662,
+              29.841337
+            ],
+            [
+              115.51188,
+              29.840299
+            ],
+            [
+              115.479235,
+              29.811224
+            ],
+            [
+              115.470612,
+              29.739539
+            ],
+            [
+              115.412714,
+              29.688602
+            ],
+            [
+              115.355431,
+              29.649602
+            ],
+            [
+              115.304924,
+              29.637118
+            ],
+            [
+              115.28583,
+              29.618391
+            ],
+            [
+              115.250722,
+              29.660003
+            ],
+            [
+              115.176809,
+              29.654803
+            ],
+            [
+              115.113367,
+              29.684963
+            ],
+            [
+              115.117679,
+              29.655843
+            ],
+            [
+              115.143548,
+              29.645961
+            ],
+            [
+              115.120142,
+              29.597578
+            ],
+            [
+              115.157099,
+              29.584568
+            ],
+            [
+              115.154019,
+              29.510117
+            ],
+            [
+              115.086266,
+              29.525741
+            ],
+            [
+              115.087498,
+              29.560104
+            ],
+            [
+              115.033295,
+              29.546568
+            ],
+            [
+              115.00065,
+              29.572076
+            ],
+            [
+              114.947679,
+              29.542924
+            ],
+            [
+              114.966773,
+              29.522096
+            ],
+            [
+              114.940288,
+              29.493971
+            ],
+            [
+              114.900868,
+              29.505951
+            ],
+            [
+              114.860216,
+              29.476258
+            ],
+            [
+              114.888549,
+              29.436134
+            ],
+            [
+              114.918114,
+              29.454374
+            ],
+            [
+              114.90518,
+              29.473132
+            ],
+            [
+              114.935977,
+              29.486678
+            ],
+            [
+              114.947063,
+              29.465317
+            ],
+            [
+              114.931049,
+              29.422581
+            ],
+            [
+              114.895325,
+              29.397557
+            ],
+            [
+              114.866375,
+              29.404335
+            ],
+            [
+              114.812173,
+              29.383478
+            ],
+            [
+              114.784455,
+              29.386086
+            ],
+            [
+              114.759818,
+              29.363139
+            ],
+            [
+              114.740724,
+              29.386607
+            ],
+            [
+              114.67297,
+              29.395993
+            ],
+            [
+              114.621847,
+              29.379828
+            ],
+            [
+              114.589819,
+              29.352707
+            ],
+            [
+              114.519602,
+              29.325578
+            ],
+            [
+              114.466015,
+              29.324013
+            ],
+            [
+              114.440145,
+              29.341752
+            ],
+            [
+              114.376088,
+              29.322969
+            ],
+            [
+              114.341595,
+              29.327665
+            ],
+            [
+              114.307102,
+              29.365225
+            ],
+            [
+              114.259059,
+              29.343839
+            ],
+            [
+              114.252284,
+              29.23475
+            ],
+            [
+              114.169748,
+              29.216993
+            ],
+            [
+              114.063191,
+              29.204978
+            ],
+            [
+              114.034857,
+              29.152204
+            ],
+            [
+              113.98743,
+              29.126068
+            ],
+            [
+              113.952321,
+              29.092604
+            ],
+            [
+              113.94185,
+              29.047097
+            ],
+            [
+              113.961561,
+              28.999476
+            ],
+            [
+              113.955401,
+              28.978536
+            ],
+            [
+              113.973879,
+              28.937692
+            ],
+            [
+              114.008988,
+              28.955498
+            ],
+            [
+              114.005292,
+              28.917788
+            ],
+            [
+              114.028082,
+              28.891069
+            ],
+            [
+              114.060111,
+              28.902596
+            ],
+            [
+              114.056415,
+              28.872204
+            ],
+            [
+              114.076741,
+              28.834464
+            ],
+            [
+              114.124784,
+              28.843376
+            ],
+            [
+              114.153734,
+              28.829221
+            ],
+            [
+              114.137719,
+              28.779926
+            ],
+            [
+              114.157429,
+              28.761566
+            ],
+            [
+              114.122321,
+              28.623497
+            ],
+            [
+              114.132176,
+              28.607211
+            ],
+            [
+              114.08598,
+              28.558337
+            ],
+            [
+              114.138335,
+              28.533629
+            ],
+            [
+              114.15435,
+              28.507337
+            ],
+            [
+              114.218407,
+              28.48472
+            ],
+            [
+              114.217175,
+              28.466308
+            ],
+            [
+              114.172212,
+              28.432632
+            ],
+            [
+              114.214712,
+              28.403157
+            ],
+            [
+              114.252284,
+              28.395787
+            ],
+            [
+              114.2529,
+              28.319423
+            ],
+            [
+              114.198081,
+              28.29097
+            ],
+            [
+              114.182067,
+              28.249858
+            ],
+            [
+              114.143879,
+              28.246694
+            ],
+            [
+              114.109386,
+              28.205038
+            ],
+            [
+              114.107538,
+              28.182885
+            ],
+            [
+              114.068734,
+              28.171806
+            ],
+            [
+              114.012068,
+              28.174972
+            ],
+            [
+              113.992357,
+              28.161255
+            ],
+            [
+              114.025002,
+              28.080499
+            ],
+            [
+              114.047176,
+              28.057263
+            ],
+            [
+              114.025618,
+              28.031382
+            ],
+            [
+              113.970184,
+              28.041418
+            ],
+            [
+              113.966488,
+              28.017646
+            ],
+            [
+              113.936307,
+              28.018703
+            ],
+            [
+              113.914133,
+              27.991227
+            ],
+            [
+              113.864242,
+              28.004966
+            ],
+            [
+              113.845148,
+              27.971672
+            ],
+            [
+              113.822974,
+              27.982243
+            ],
+            [
+              113.752141,
+              27.93361
+            ],
+            [
+              113.72812,
+              27.874904
+            ],
+            [
+              113.756453,
+              27.860091
+            ],
+            [
+              113.763228,
+              27.799228
+            ],
+            [
+              113.69917,
+              27.740979
+            ],
+            [
+              113.696707,
+              27.71979
+            ],
+            [
+              113.652359,
+              27.663619
+            ],
+            [
+              113.607395,
+              27.625449
+            ],
+            [
+              113.608627,
+              27.585143
+            ],
+            [
+              113.579062,
+              27.545354
+            ],
+            [
+              113.583374,
+              27.524657
+            ],
+            [
+              113.627105,
+              27.49971
+            ],
+            [
+              113.591381,
+              27.467855
+            ],
+            [
+              113.59754,
+              27.428554
+            ],
+            [
+              113.632033,
+              27.40518
+            ],
+            [
+              113.605548,
+              27.38924
+            ],
+            [
+              113.616635,
+              27.345658
+            ],
+            [
+              113.657902,
+              27.347253
+            ],
+            [
+              113.699786,
+              27.331836
+            ],
+            [
+              113.72812,
+              27.350442
+            ],
+            [
+              113.872865,
+              27.384988
+            ],
+            [
+              113.872865,
+              27.346721
+            ],
+            [
+              113.854387,
+              27.30525
+            ],
+            [
+              113.872865,
+              27.289828
+            ],
+            [
+              113.846996,
+              27.222262
+            ],
+            [
+              113.779242,
+              27.137081
+            ],
+            [
+              113.771851,
+              27.096598
+            ],
+            [
+              113.803264,
+              27.099261
+            ],
+            [
+              113.824206,
+              27.036378
+            ],
+            [
+              113.86301,
+              27.018252
+            ],
+            [
+              113.892575,
+              26.964925
+            ],
+            [
+              113.927068,
+              26.948922
+            ],
+            [
+              113.890112,
+              26.895562
+            ],
+            [
+              113.877177,
+              26.859262
+            ],
+            [
+              113.835909,
+              26.806394
+            ],
+            [
+              113.853771,
+              26.769532
+            ],
+            [
+              113.860546,
+              26.664221
+            ],
+            [
+              113.912901,
+              26.613938
+            ],
+            [
+              113.996669,
+              26.615543
+            ],
+            [
+              114.019459,
+              26.587182
+            ],
+            [
+              114.10877,
+              26.56952
+            ],
+            [
+              114.07243,
+              26.480096
+            ],
+            [
+              114.110002,
+              26.482775
+            ],
+            [
+              114.090292,
+              26.455988
+            ],
+            [
+              114.085364,
+              26.406149
+            ],
+            [
+              114.062575,
+              26.406149
+            ],
+            [
+              114.030546,
+              26.376664
+            ],
+            [
+              114.047792,
+              26.337518
+            ],
+            [
+              114.021307,
+              26.288701
+            ],
+            [
+              114.029314,
+              26.266163
+            ],
+            [
+              113.978807,
+              26.237716
+            ],
+            [
+              113.972647,
+              26.20604
+            ],
+            [
+              113.949242,
+              26.192616
+            ],
+            [
+              113.962792,
+              26.150722
+            ],
+            [
+              114.013299,
+              26.184023
+            ],
+            [
+              114.088444,
+              26.168448
+            ],
+            [
+              114.102611,
+              26.187783
+            ],
+            [
+              114.181451,
+              26.214631
+            ],
+            [
+              114.216559,
+              26.203355
+            ],
+            [
+              114.237501,
+              26.152333
+            ],
+            [
+              114.188842,
+              26.121172
+            ],
+            [
+              114.10569,
+              26.097526
+            ],
+            [
+              114.121089,
+              26.085702
+            ],
+            [
+              114.087828,
+              26.06635
+            ],
+            [
+              114.044096,
+              26.076564
+            ],
+            [
+              114.008372,
+              26.015806
+            ],
+            [
+              114.028082,
+              25.98138
+            ],
+            [
+              114.028082,
+              25.893119
+            ],
+            [
+              113.971416,
+              25.836036
+            ],
+            [
+              113.961561,
+              25.77731
+            ],
+            [
+              113.920293,
+              25.741197
+            ],
+            [
+              113.913517,
+              25.701299
+            ],
+            [
+              113.957249,
+              25.611749
+            ],
+            [
+              113.983118,
+              25.599336
+            ],
+            [
+              113.986198,
+              25.529153
+            ],
+            [
+              113.962792,
+              25.528072
+            ],
+            [
+              113.94493,
+              25.441635
+            ],
+            [
+              114.003444,
+              25.442716
+            ],
+            [
+              113.983118,
+              25.415152
+            ],
+            [
+              114.050256,
+              25.36433
+            ],
+            [
+              114.029314,
+              25.328093
+            ],
+            [
+              114.017611,
+              25.273987
+            ],
+            [
+              114.039785,
+              25.250714
+            ],
+            [
+              114.055799,
+              25.277775
+            ],
+            [
+              114.083517,
+              25.275611
+            ],
+            [
+              114.115545,
+              25.302125
+            ],
+            [
+              114.190074,
+              25.316733
+            ],
+            [
+              114.204857,
+              25.29942
+            ],
+            [
+              114.260291,
+              25.291845
+            ],
+            [
+              114.2954,
+              25.299961
+            ],
+            [
+              114.31511,
+              25.33837
+            ],
+            [
+              114.382863,
+              25.317274
+            ],
+            [
+              114.43029,
+              25.343779
+            ],
+            [
+              114.438914,
+              25.376226
+            ],
+            [
+              114.477718,
+              25.37136
+            ],
+            [
+              114.541159,
+              25.416773
+            ],
+            [
+              114.599674,
+              25.385959
+            ],
+            [
+              114.63663,
+              25.324306
+            ],
+            [
+              114.714238,
+              25.315651
+            ],
+            [
+              114.743188,
+              25.274528
+            ],
+            [
+              114.73518,
+              25.225813
+            ],
+            [
+              114.693912,
+              25.213902
+            ],
+            [
+              114.685905,
+              25.173287
+            ],
+            [
+              114.73518,
+              25.155954
+            ],
+            [
+              114.735796,
+              25.121822
+            ],
+            [
+              114.664963,
+              25.10123
+            ],
+            [
+              114.640326,
+              25.074129
+            ],
+            [
+              114.604601,
+              25.083886
+            ],
+            [
+              114.561485,
+              25.077382
+            ],
+            [
+              114.532536,
+              25.022623
+            ],
+            [
+              114.506051,
+              24.999844
+            ],
+            [
+              114.45616,
+              24.99659
+            ],
+            [
+              114.454928,
+              24.977062
+            ],
+            [
+              114.395798,
+              24.951019
+            ],
+            [
+              114.403189,
+              24.877746
+            ],
+            [
+              114.378551,
+              24.861457
+            ],
+            [
+              114.342211,
+              24.807145
+            ],
+            [
+              114.336052,
+              24.749004
+            ],
+            [
+              114.281849,
+              24.724001
+            ],
+            [
+              114.27261,
+              24.700624
+            ],
+            [
+              114.169132,
+              24.689749
+            ],
+            [
+              114.19069,
+              24.656576
+            ],
+            [
+              114.258443,
+              24.641346
+            ],
+            [
+              114.289856,
+              24.619042
+            ],
+            [
+              114.300943,
+              24.578775
+            ],
+            [
+              114.363769,
+              24.582584
+            ],
+            [
+              114.391486,
+              24.563535
+            ],
+            [
+              114.403189,
+              24.497657
+            ],
+            [
+              114.429058,
+              24.48622
+            ],
+            [
+              114.534384,
+              24.559181
+            ],
+            [
+              114.589819,
+              24.537406
+            ],
+            [
+              114.627391,
+              24.576598
+            ],
+            [
+              114.664963,
+              24.583673
+            ],
+            [
+              114.704999,
+              24.525973
+            ],
+            [
+              114.73826,
+              24.565168
+            ],
+            [
+              114.729637,
+              24.608704
+            ],
+            [
+              114.781376,
+              24.613057
+            ],
+            [
+              114.827571,
+              24.588026
+            ],
+            [
+              114.846665,
+              24.602719
+            ],
+            [
+              114.868839,
+              24.562446
+            ],
+            [
+              114.893477,
+              24.582584
+            ],
+            [
+              114.909491,
+              24.661471
+            ],
+            [
+              114.940288,
+              24.650049
+            ],
+            [
+              115.00373,
+              24.679418
+            ],
+            [
+              115.024672,
+              24.669085
+            ],
+            [
+              115.057317,
+              24.703343
+            ],
+            [
+              115.083802,
+              24.699537
+            ],
+            [
+              115.104744,
+              24.667997
+            ],
+            [
+              115.1842,
+              24.711498
+            ],
+            [
+              115.258729,
+              24.728894
+            ],
+            [
+              115.269816,
+              24.749548
+            ],
+            [
+              115.306772,
+              24.758787
+            ],
+            [
+              115.358511,
+              24.735416
+            ],
+            [
+              115.372678,
+              24.774546
+            ],
+            [
+              115.412714,
+              24.79302
+            ],
+            [
+              115.476771,
+              24.762591
+            ],
+            [
+              115.522967,
+              24.702799
+            ],
+            [
+              115.555611,
+              24.683768
+            ],
+            [
+              115.569778,
+              24.622306
+            ],
+            [
+              115.605503,
+              24.62557
+            ],
+            [
+              115.671408,
+              24.604895
+            ],
+            [
+              115.68927,
+              24.545027
+            ],
+            [
+              115.752712,
+              24.546116
+            ],
+            [
+              115.785357,
+              24.567345
+            ],
+            [
+              115.843871,
+              24.562446
+            ],
+            [
+              115.840791,
+              24.584217
+            ],
+            [
+              115.797676,
+              24.628834
+            ],
+            [
+              115.780429,
+              24.663103
+            ],
+            [
+              115.801371,
+              24.705517
+            ],
+            [
+              115.769342,
+              24.708236
+            ],
+            [
+              115.756408,
+              24.749004
+            ],
+            [
+              115.776734,
+              24.774546
+            ],
+            [
+              115.764415,
+              24.791933
+            ],
+            [
+              115.790284,
+              24.856027
+            ],
+            [
+              115.807531,
+              24.862543
+            ],
+            [
+              115.824161,
+              24.909232
+            ],
+            [
+              115.863581,
+              24.891318
+            ],
+            [
+              115.861733,
+              24.863629
+            ],
+            [
+              115.907313,
+              24.879917
+            ],
+            [
+              115.885139,
+              24.898918
+            ],
+            [
+              115.89253,
+              24.936911
+            ],
+            [
+              115.870356,
+              24.959701
+            ],
+            [
+              115.925175,
+              24.960786
+            ],
+            [
+              115.873436,
+              25.019911
+            ],
+            [
+              115.928255,
+              25.050276
+            ],
+            [
+              115.908545,
+              25.084428
+            ],
+            [
+              115.880212,
+              25.092016
+            ],
+            [
+              115.888219,
+              25.128866
+            ],
+            [
+              115.860501,
+              25.165704
+            ],
+            [
+              115.855574,
+              25.20957
+            ],
+            [
+              115.930719,
+              25.236099
+            ],
+            [
+              115.949813,
+              25.292386
+            ],
+            [
+              115.987385,
+              25.290221
+            ],
+            [
+              116.008327,
+              25.319437
+            ],
+            [
+              115.992928,
+              25.374063
+            ],
+            [
+              116.023109,
+              25.435691
+            ],
+            [
+              116.005247,
+              25.490264
+            ],
+            [
+              116.03666,
+              25.514571
+            ],
+            [
+              116.040356,
+              25.548052
+            ],
+            [
+              116.063145,
+              25.56317
+            ],
+            [
+              116.041588,
+              25.62416
+            ],
+            [
+              116.068689,
+              25.646282
+            ],
+            [
+              116.067457,
+              25.703995
+            ],
+            [
+              116.106877,
+              25.701299
+            ],
+            [
+              116.129667,
+              25.758985
+            ],
+            [
+              116.18079,
+              25.778926
+            ],
+            [
+              116.131515,
+              25.824185
+            ],
+            [
+              116.132131,
+              25.860273
+            ],
+            [
+              116.17771,
+              25.894195
+            ],
+            [
+              116.225138,
+              25.908731
+            ],
+            [
+              116.258398,
+              25.902809
+            ],
+            [
+              116.303362,
+              25.924341
+            ],
+            [
+              116.326152,
+              25.956631
+            ],
+            [
+              116.369883,
+              25.963088
+            ],
+            [
+              116.360028,
+              25.991601
+            ],
+            [
+              116.384666,
+              26.030864
+            ],
+            [
+              116.489375,
+              26.113649
+            ],
+            [
+              116.476441,
+              26.172745
+            ],
+            [
+              116.435789,
+              26.159854
+            ],
+            [
+              116.392057,
+              26.171133
+            ],
+            [
+              116.400064,
+              26.202819
+            ],
+            [
+              116.385282,
+              26.238253
+            ],
+            [
+              116.412999,
+              26.297822
+            ],
+            [
+              116.437021,
+              26.308016
+            ],
+            [
+              116.459194,
+              26.345026
+            ],
+            [
+              116.499846,
+              26.361651
+            ],
+            [
+              116.519557,
+              26.410437
+            ],
+            [
+              116.553433,
+              26.400253
+            ],
+            [
+              116.553433,
+              26.365404
+            ],
+            [
+              116.601476,
+              26.372911
+            ],
+            [
+              116.608252,
+              26.429732
+            ],
+            [
+              116.638433,
+              26.477418
+            ],
+            [
+              116.610716,
+              26.476882
+            ],
+            [
+              116.597165,
+              26.512768
+            ],
+            [
+              116.539267,
+              26.559349
+            ],
+            [
+              116.553433,
+              26.575942
+            ],
+            [
+              116.566368,
+              26.650315
+            ],
+            [
+              116.520172,
+              26.684543
+            ],
+            [
+              116.515245,
+              26.720898
+            ],
+            [
+              116.557745,
+              26.773806
+            ],
+            [
+              116.543578,
+              26.803723
+            ],
+            [
+              116.548506,
+              26.84004
+            ],
+            [
+              116.602092,
+              26.888623
+            ],
+            [
+              116.632889,
+              26.933984
+            ],
+            [
+              116.679085,
+              26.978259
+            ],
+            [
+              116.817671,
+              27.018252
+            ],
+            [
+              116.851548,
+              27.009188
+            ],
+            [
+              116.910062,
+              27.034779
+            ],
+            [
+              116.936547,
+              27.019319
+            ],
+            [
+              116.967344,
+              27.061962
+            ],
+            [
+              117.05296,
+              27.100327
+            ],
+            [
+              117.044953,
+              27.146667
+            ],
+            [
+              117.149662,
+              27.241419
+            ],
+            [
+              117.171836,
+              27.29036
+            ],
+            [
+              117.136728,
+              27.303123
+            ],
+            [
+              117.140423,
+              27.322798
+            ],
+            [
+              117.104699,
+              27.330773
+            ],
+            [
+              117.107163,
+              27.393491
+            ],
+            [
+              117.133032,
+              27.42218
+            ],
+            [
+              117.110242,
+              27.458828
+            ],
+            [
+              117.103467,
+              27.533149
+            ],
+            [
+              117.076982,
+              27.566046
+            ],
+            [
+              117.054808,
+              27.5427
+            ],
+            [
+              117.01662,
+              27.563393
+            ],
+            [
+              117.024627,
+              27.592569
+            ],
+            [
+              117.003685,
+              27.625449
+            ],
+            [
+              117.040641,
+              27.669979
+            ],
+            [
+              117.065279,
+              27.665739
+            ],
+            [
+              117.094228,
+              27.627569
+            ],
+            [
+              117.11209,
+              27.645596
+            ],
+            [
+              117.096076,
+              27.667329
+            ],
+            [
+              117.114554,
+              27.692238
+            ],
+            [
+              117.174916,
+              27.677399
+            ],
+            [
+              117.204481,
+              27.683759
+            ],
+            [
+              117.205097,
+              27.714492
+            ],
+            [
+              117.245133,
+              27.71926
+            ],
+            [
+              117.296256,
+              27.764282
+            ],
+            [
+              117.303031,
+              27.833103
+            ],
+            [
+              117.276546,
+              27.847921
+            ],
+            [
+              117.280242,
+              27.871201
+            ],
+            [
+              117.334444,
+              27.8876
+            ],
+            [
+              117.341836,
+              27.855858
+            ],
+            [
+              117.366473,
+              27.88231
+            ],
+            [
+              117.407741,
+              27.893948
+            ],
+            [
+              117.453936,
+              27.939955
+            ],
+            [
+              117.477958,
+              27.930966
+            ],
+            [
+              117.52169,
+              27.982243
+            ],
+            [
+              117.556182,
+              27.966387
+            ],
+            [
+              117.609769,
+              27.863265
+            ],
+            [
+              117.649805,
+              27.851625
+            ],
+            [
+              117.68245,
+              27.823577
+            ],
+            [
+              117.704624,
+              27.834162
+            ],
+            [
+              117.740348,
+              27.800286
+            ],
+            [
+              117.788392,
+              27.855858
+            ],
+            [
+              117.78716,
+              27.896063
+            ],
+            [
+              117.856145,
+              27.94577
+            ],
+            [
+              117.910963,
+              27.949471
+            ],
+            [
+              117.942992,
+              27.974315
+            ],
+            [
+              117.965166,
+              27.962687
+            ],
+            [
+              117.999043,
+              27.991227
+            ],
+            [
+              118.096977,
+              27.970615
+            ],
+            [
+              118.094513,
+              28.003909
+            ],
+            [
+              118.129006,
+              28.017118
+            ],
+            [
+              118.120999,
+              28.041946
+            ],
+            [
+              118.153644,
+              28.062016
+            ],
+            [
+              118.199839,
+              28.049869
+            ],
+            [
+              118.242339,
+              28.075746
+            ],
+            [
+              118.356288,
+              28.091586
+            ],
+            [
+              118.361215,
+              28.155978
+            ],
+            [
+              118.375382,
+              28.186577
+            ],
+            [
+              118.339041,
+              28.193962
+            ],
+            [
+              118.314404,
+              28.221913
+            ],
+            [
+              118.424041,
+              28.291497
+            ],
+            [
+              118.433896,
+              28.288335
+            ],
+            [
+              118.480091,
+              28.327325
+            ],
+            [
+              118.455454,
+              28.384204
+            ],
+            [
+              118.432048,
+              28.402104
+            ],
+            [
+              118.456686,
+              28.424738
+            ],
+            [
+              118.474548,
+              28.478934
+            ],
+            [
+              118.414802,
+              28.497344
+            ],
+            [
+              118.4302,
+              28.515225
+            ],
+            [
+              118.412338,
+              28.55676
+            ],
+            [
+              118.428352,
+              28.617193
+            ],
+            [
+              118.428352,
+              28.617193
+            ],
+            [
+              118.428352,
+              28.681267
+            ],
+            [
+              118.403099,
+              28.702791
+            ],
+            [
+              118.364295,
+              28.813491
+            ],
+            [
+              118.300237,
+              28.826075
+            ],
+            [
+              118.270056,
+              28.918836
+            ],
+            [
+              118.195527,
+              28.904167
+            ],
+            [
+              118.227556,
+              28.942406
+            ],
+            [
+              118.165346,
+              28.986912
+            ],
+            [
+              118.133933,
+              28.983771
+            ],
+            [
+              118.115455,
+              29.009944
+            ],
+            [
+              118.115455,
+              29.009944
+            ],
+            [
+              118.097593,
+              28.998952
+            ],
+            [
+              118.066796,
+              29.053898
+            ],
+            [
+              118.076035,
+              29.074822
+            ],
+            [
+              118.037847,
+              29.102017
+            ],
+            [
+              118.045238,
+              29.149068
+            ],
+            [
+              118.027992,
+              29.167882
+            ],
+            [
+              118.042159,
+              29.210202
+            ],
+            [
+              118.073571,
+              29.216993
+            ],
+            [
+              118.077883,
+              29.290614
+            ],
+            [
+              118.138861,
+              29.283828
+            ],
+            [
+              118.178281,
+              29.297921
+            ],
+            [
+              118.166578,
+              29.314099
+            ],
+            [
+              118.205382,
+              29.343839
+            ],
+            [
+              118.193064,
+              29.395472
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 37e4,
+      name: "山东省",
+      center: [
+        117.000923,
+        36.675807
+      ],
+      centroid: [
+        118.187759,
+        36.376092
+      ],
+      childrenNum: 16,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 14,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              116.374195,
+              34.640011
+            ],
+            [
+              116.392057,
+              34.710391
+            ],
+            [
+              116.363724,
+              34.715311
+            ],
+            [
+              116.369267,
+              34.749247
+            ],
+            [
+              116.403144,
+              34.756131
+            ],
+            [
+              116.408071,
+              34.850972
+            ],
+            [
+              116.445028,
+              34.895652
+            ],
+            [
+              116.557745,
+              34.908905
+            ],
+            [
+              116.613795,
+              34.922645
+            ],
+            [
+              116.622418,
+              34.939818
+            ],
+            [
+              116.677853,
+              34.939327
+            ],
+            [
+              116.781331,
+              34.916757
+            ],
+            [
+              116.789338,
+              34.975133
+            ],
+            [
+              116.815823,
+              34.965324
+            ],
+            [
+              116.821983,
+              34.929515
+            ],
+            [
+              116.858323,
+              34.928533
+            ],
+            [
+              116.922381,
+              34.894671
+            ],
+            [
+              116.929156,
+              34.843114
+            ],
+            [
+              116.966113,
+              34.844588
+            ],
+            [
+              116.979047,
+              34.815113
+            ],
+            [
+              116.95133,
+              34.81069
+            ],
+            [
+              116.969192,
+              34.771864
+            ],
+            [
+              117.022163,
+              34.759081
+            ],
+            [
+              117.070206,
+              34.713835
+            ],
+            [
+              117.061583,
+              34.675947
+            ],
+            [
+              117.073286,
+              34.639026
+            ],
+            [
+              117.104083,
+              34.648874
+            ],
+            [
+              117.15151,
+              34.559222
+            ],
+            [
+              117.139191,
+              34.526687
+            ],
+            [
+              117.166293,
+              34.434435
+            ],
+            [
+              117.248213,
+              34.451216
+            ],
+            [
+              117.252524,
+              34.48674
+            ],
+            [
+              117.27285,
+              34.499565
+            ],
+            [
+              117.267923,
+              34.532603
+            ],
+            [
+              117.303647,
+              34.542463
+            ],
+            [
+              117.27285,
+              34.556757
+            ],
+            [
+              117.311654,
+              34.561686
+            ],
+            [
+              117.311654,
+              34.561686
+            ],
+            [
+              117.32151,
+              34.566614
+            ],
+            [
+              117.32151,
+              34.566614
+            ],
+            [
+              117.325205,
+              34.573021
+            ],
+            [
+              117.325205,
+              34.573021
+            ],
+            [
+              117.370785,
+              34.584846
+            ],
+            [
+              117.402813,
+              34.569571
+            ],
+            [
+              117.402813,
+              34.550843
+            ],
+            [
+              117.465023,
+              34.484767
+            ],
+            [
+              117.53832,
+              34.467006
+            ],
+            [
+              117.592523,
+              34.462566
+            ],
+            [
+              117.609769,
+              34.490686
+            ],
+            [
+              117.659044,
+              34.501044
+            ],
+            [
+              117.684298,
+              34.547392
+            ],
+            [
+              117.801942,
+              34.518798
+            ],
+            [
+              117.791471,
+              34.583368
+            ],
+            [
+              117.793935,
+              34.651827
+            ],
+            [
+              117.902956,
+              34.644443
+            ],
+            [
+              117.909732,
+              34.670533
+            ],
+            [
+              117.951615,
+              34.678408
+            ],
+            [
+              118.053861,
+              34.650843
+            ],
+            [
+              118.084042,
+              34.655766
+            ],
+            [
+              118.114839,
+              34.614404
+            ],
+            [
+              118.079115,
+              34.569571
+            ],
+            [
+              118.185056,
+              34.543942
+            ],
+            [
+              118.16473,
+              34.50499
+            ],
+            [
+              118.132702,
+              34.483287
+            ],
+            [
+              118.177665,
+              34.45319
+            ],
+            [
+              118.179513,
+              34.379628
+            ],
+            [
+              118.217701,
+              34.379134
+            ],
+            [
+              118.220165,
+              34.405802
+            ],
+            [
+              118.277447,
+              34.404814
+            ],
+            [
+              118.290382,
+              34.424563
+            ],
+            [
+              118.379693,
+              34.415183
+            ],
+            [
+              118.404947,
+              34.427525
+            ],
+            [
+              118.416034,
+              34.473914
+            ],
+            [
+              118.439439,
+              34.507949
+            ],
+            [
+              118.424657,
+              34.595193
+            ],
+            [
+              118.439439,
+              34.626223
+            ],
+            [
+              118.473932,
+              34.623269
+            ],
+            [
+              118.460997,
+              34.656258
+            ],
+            [
+              118.545997,
+              34.705964
+            ],
+            [
+              118.601431,
+              34.714327
+            ],
+            [
+              118.607591,
+              34.694155
+            ],
+            [
+              118.664257,
+              34.693663
+            ],
+            [
+              118.690127,
+              34.678408
+            ],
+            [
+              118.739402,
+              34.693663
+            ],
+            [
+              118.783749,
+              34.723181
+            ],
+            [
+              118.764039,
+              34.740396
+            ],
+            [
+              118.719076,
+              34.745313
+            ],
+            [
+              118.739402,
+              34.792508
+            ],
+            [
+              118.772047,
+              34.794474
+            ],
+            [
+              118.80038,
+              34.843114
+            ],
+            [
+              118.805307,
+              34.87307
+            ],
+            [
+              118.860742,
+              34.944233
+            ],
+            [
+              118.86259,
+              35.025626
+            ],
+            [
+              118.928495,
+              35.051106
+            ],
+            [
+              118.942662,
+              35.040817
+            ],
+            [
+              119.027045,
+              35.055516
+            ],
+            [
+              119.114509,
+              35.055026
+            ],
+            [
+              119.137915,
+              35.096167
+            ],
+            [
+              119.217371,
+              35.106939
+            ],
+            [
+              119.250016,
+              35.124562
+            ],
+            [
+              119.286972,
+              35.115261
+            ],
+            [
+              119.306066,
+              35.076578
+            ],
+            [
+              119.354109,
+              35.080007
+            ],
+            [
+              119.373819,
+              35.078538
+            ],
+            [
+              119.428022,
+              35.121136
+            ],
+            [
+              119.397841,
+              35.137777
+            ],
+            [
+              119.411392,
+              35.231689
+            ],
+            [
+              119.450812,
+              35.285443
+            ],
+            [
+              119.493312,
+              35.318655
+            ],
+            [
+              119.538275,
+              35.296678
+            ],
+            [
+              119.543819,
+              35.347949
+            ],
+            [
+              119.590014,
+              35.37284
+            ],
+            [
+              119.579543,
+              35.406504
+            ],
+            [
+              119.618963,
+              35.459655
+            ],
+            [
+              119.663311,
+              35.562931
+            ],
+            [
+              119.662079,
+              35.589215
+            ],
+            [
+              119.718129,
+              35.615492
+            ],
+            [
+              119.75139,
+              35.617924
+            ],
+            [
+              119.772332,
+              35.578995
+            ],
+            [
+              119.780339,
+              35.584835
+            ],
+            [
+              119.792658,
+              35.615492
+            ],
+            [
+              119.824071,
+              35.646136
+            ],
+            [
+              119.83023,
+              35.620357
+            ],
+            [
+              119.868419,
+              35.60868
+            ],
+            [
+              119.925085,
+              35.637382
+            ],
+            [
+              119.91215,
+              35.660725
+            ],
+            [
+              119.950339,
+              35.729741
+            ],
+            [
+              119.920157,
+              35.739943
+            ],
+            [
+              119.926317,
+              35.759856
+            ],
+            [
+              119.958346,
+              35.760342
+            ],
+            [
+              120.01378,
+              35.714193
+            ],
+            [
+              120.049505,
+              35.786562
+            ],
+            [
+              120.032258,
+              35.812288
+            ],
+            [
+              120.064287,
+              35.873414
+            ],
+            [
+              120.112331,
+              35.885052
+            ],
+            [
+              120.125265,
+              35.906868
+            ],
+            [
+              120.152983,
+              35.907353
+            ],
+            [
+              120.207801,
+              35.947575
+            ],
+            [
+              120.169613,
+              35.888446
+            ],
+            [
+              120.202258,
+              35.89184
+            ],
+            [
+              120.209033,
+              35.917531
+            ],
+            [
+              120.265699,
+              35.966468
+            ],
+            [
+              120.30512,
+              35.971796
+            ],
+            [
+              120.316206,
+              36.002304
+            ],
+            [
+              120.289721,
+              36.017311
+            ],
+            [
+              120.285409,
+              36.01247
+            ],
+            [
+              120.249069,
+              35.992136
+            ],
+            [
+              120.257076,
+              36.025055
+            ],
+            [
+              120.198562,
+              35.995525
+            ],
+            [
+              120.234902,
+              36.030863
+            ],
+            [
+              120.239214,
+              36.062316
+            ],
+            [
+              120.181316,
+              36.066669
+            ],
+            [
+              120.152367,
+              36.095206
+            ],
+            [
+              120.116642,
+              36.102943
+            ],
+            [
+              120.108635,
+              36.127599
+            ],
+            [
+              120.142512,
+              36.143549
+            ],
+            [
+              120.140664,
+              36.173507
+            ],
+            [
+              120.181316,
+              36.203936
+            ],
+            [
+              120.22012,
+              36.209248
+            ],
+            [
+              120.224432,
+              36.19138
+            ],
+            [
+              120.260772,
+              36.198624
+            ],
+            [
+              120.263236,
+              36.182202
+            ],
+            [
+              120.310047,
+              36.185101
+            ],
+            [
+              120.297112,
+              36.225664
+            ],
+            [
+              120.319902,
+              36.232423
+            ],
+            [
+              120.362402,
+              36.196209
+            ],
+            [
+              120.35809,
+              36.174956
+            ],
+            [
+              120.286025,
+              36.047317
+            ],
+            [
+              120.337764,
+              36.055058
+            ],
+            [
+              120.429539,
+              36.056994
+            ],
+            [
+              120.468959,
+              36.087952
+            ],
+            [
+              120.546568,
+              36.091821
+            ],
+            [
+              120.546568,
+              36.107778
+            ],
+            [
+              120.593995,
+              36.100525
+            ],
+            [
+              120.615553,
+              36.120348
+            ],
+            [
+              120.64327,
+              36.114547
+            ],
+            [
+              120.672835,
+              36.130016
+            ],
+            [
+              120.712255,
+              36.126632
+            ],
+            [
+              120.696857,
+              36.15563
+            ],
+            [
+              120.696857,
+              36.203936
+            ],
+            [
+              120.680843,
+              36.238698
+            ],
+            [
+              120.686386,
+              36.279234
+            ],
+            [
+              120.657437,
+              36.276339
+            ],
+            [
+              120.66298,
+              36.331803
+            ],
+            [
+              120.744284,
+              36.327946
+            ],
+            [
+              120.694393,
+              36.390118
+            ],
+            [
+              120.759683,
+              36.46283
+            ],
+            [
+              120.828668,
+              36.46668
+            ],
+            [
+              120.837291,
+              36.459942
+            ],
+            [
+              120.858849,
+              36.424797
+            ],
+            [
+              120.848994,
+              36.403124
+            ],
+            [
+              120.871784,
+              36.36699
+            ],
+            [
+              120.911204,
+              36.412276
+            ],
+            [
+              120.917979,
+              36.417573
+            ],
+            [
+              120.90874,
+              36.450315
+            ],
+            [
+              120.938305,
+              36.447908
+            ],
+            [
+              120.965407,
+              36.466199
+            ],
+            [
+              120.95432,
+              36.507578
+            ],
+            [
+              120.983269,
+              36.546051
+            ],
+            [
+              120.962327,
+              36.562877
+            ],
+            [
+              120.909972,
+              36.568645
+            ],
+            [
+              120.884718,
+              36.601323
+            ],
+            [
+              120.847146,
+              36.618617
+            ],
+            [
+              120.882255,
+              36.627262
+            ],
+            [
+              120.926602,
+              36.611892
+            ],
+            [
+              120.955551,
+              36.575855
+            ],
+            [
+              121.028848,
+              36.572971
+            ],
+            [
+              121.078123,
+              36.607568
+            ],
+            [
+              121.161275,
+              36.651273
+            ],
+            [
+              121.251818,
+              36.671436
+            ],
+            [
+              121.29863,
+              36.702151
+            ],
+            [
+              121.31218,
+              36.702151
+            ],
+            [
+              121.35776,
+              36.713186
+            ],
+            [
+              121.400876,
+              36.701191
+            ],
+            [
+              121.3941,
+              36.738129
+            ],
+            [
+              121.454462,
+              36.752515
+            ],
+            [
+              121.496962,
+              36.795179
+            ],
+            [
+              121.506817,
+              36.803805
+            ],
+            [
+              121.565331,
+              36.830635
+            ],
+            [
+              121.548701,
+              36.807638
+            ],
+            [
+              121.485259,
+              36.786073
+            ],
+            [
+              121.532071,
+              36.73621
+            ],
+            [
+              121.575186,
+              36.740047
+            ],
+            [
+              121.556092,
+              36.764502
+            ],
+            [
+              121.651563,
+              36.723739
+            ],
+            [
+              121.631853,
+              36.80093
+            ],
+            [
+              121.6762,
+              36.819137
+            ],
+            [
+              121.726092,
+              36.826323
+            ],
+            [
+              121.762432,
+              36.84644
+            ],
+            [
+              121.767975,
+              36.874691
+            ],
+            [
+              121.927504,
+              36.932597
+            ],
+            [
+              121.965076,
+              36.938337
+            ],
+            [
+              122.008808,
+              36.96225
+            ],
+            [
+              122.042684,
+              36.871819
+            ],
+            [
+              122.051923,
+              36.904846
+            ],
+            [
+              122.093191,
+              36.913938
+            ],
+            [
+              122.115981,
+              36.94025
+            ],
+            [
+              122.124604,
+              36.944077
+            ],
+            [
+              122.141235,
+              36.938337
+            ],
+            [
+              122.119677,
+              36.891924
+            ],
+            [
+              122.175727,
+              36.894317
+            ],
+            [
+              122.188662,
+              36.866073
+            ],
+            [
+              122.174495,
+              36.842609
+            ],
+            [
+              122.220691,
+              36.848835
+            ],
+            [
+              122.275509,
+              36.83734
+            ],
+            [
+              122.280437,
+              36.835904
+            ],
+            [
+              122.344495,
+              36.828239
+            ],
+            [
+              122.378371,
+              36.844525
+            ],
+            [
+              122.383915,
+              36.865595
+            ],
+            [
+              122.415944,
+              36.85937
+            ],
+            [
+              122.454748,
+              36.879
+            ],
+            [
+              122.452284,
+              36.88618
+            ],
+            [
+              122.434422,
+              36.914416
+            ],
+            [
+              122.483081,
+              36.913938
+            ],
+            [
+              122.48924,
+              36.886659
+            ],
+            [
+              122.532356,
+              36.901496
+            ],
+            [
+              122.55761,
+              36.968467
+            ],
+            [
+              122.544675,
+              37.004797
+            ],
+            [
+              122.583479,
+              37.037289
+            ],
+            [
+              122.575472,
+              37.054485
+            ],
+            [
+              122.494168,
+              37.033945
+            ],
+            [
+              122.467067,
+              37.037289
+            ],
+            [
+              122.478769,
+              37.058784
+            ],
+            [
+              122.484313,
+              37.128956
+            ],
+            [
+              122.533588,
+              37.153286
+            ],
+            [
+              122.581015,
+              37.147562
+            ],
+            [
+              122.573624,
+              37.176178
+            ],
+            [
+              122.624131,
+              37.190959
+            ],
+            [
+              122.592718,
+              37.261485
+            ],
+            [
+              122.567465,
+              37.25958
+            ],
+            [
+              122.573624,
+              37.296247
+            ],
+            [
+              122.611196,
+              37.339558
+            ],
+            [
+              122.607501,
+              37.364296
+            ],
+            [
+              122.650616,
+              37.388551
+            ],
+            [
+              122.6925,
+              37.373809
+            ],
+            [
+              122.714058,
+              37.392355
+            ],
+            [
+              122.701739,
+              37.418501
+            ],
+            [
+              122.67587,
+              37.413273
+            ],
+            [
+              122.641377,
+              37.428482
+            ],
+            [
+              122.553914,
+              37.407093
+            ],
+            [
+              122.4954,
+              37.413748
+            ],
+            [
+              122.487393,
+              37.43466
+            ],
+            [
+              122.41656,
+              37.414699
+            ],
+            [
+              122.337103,
+              37.414223
+            ],
+            [
+              122.281053,
+              37.430858
+            ],
+            [
+              122.287212,
+              37.445114
+            ],
+            [
+              122.25272,
+              37.467917
+            ],
+            [
+              122.194205,
+              37.456041
+            ],
+            [
+              122.166488,
+              37.438937
+            ],
+            [
+              122.131996,
+              37.49926
+            ],
+            [
+              122.163408,
+              37.519199
+            ],
+            [
+              122.150474,
+              37.557163
+            ],
+            [
+              122.08888,
+              37.554316
+            ],
+            [
+              122.075329,
+              37.540556
+            ],
+            [
+              122.017431,
+              37.531065
+            ],
+            [
+              121.997721,
+              37.494512
+            ],
+            [
+              121.923808,
+              37.473142
+            ],
+            [
+              121.772903,
+              37.466492
+            ],
+            [
+              121.66573,
+              37.473617
+            ],
+            [
+              121.635548,
+              37.494037
+            ],
+            [
+              121.575802,
+              37.460317
+            ],
+            [
+              121.571491,
+              37.441313
+            ],
+            [
+              121.477252,
+              37.475992
+            ],
+            [
+              121.460006,
+              37.522522
+            ],
+            [
+              121.400876,
+              37.557638
+            ],
+            [
+              121.395948,
+              37.589891
+            ],
+            [
+              121.435368,
+              37.592737
+            ],
+            [
+              121.391021,
+              37.625449
+            ],
+            [
+              121.349137,
+              37.635403
+            ],
+            [
+              121.358376,
+              37.597479
+            ],
+            [
+              121.304789,
+              37.582778
+            ],
+            [
+              121.217326,
+              37.582778
+            ],
+            [
+              121.17421,
+              37.597479
+            ],
+            [
+              121.148956,
+              37.626397
+            ],
+            [
+              121.161891,
+              37.646302
+            ],
+            [
+              121.142797,
+              37.661464
+            ],
+            [
+              121.160043,
+              37.698882
+            ],
+            [
+              121.136022,
+              37.723501
+            ],
+            [
+              121.037471,
+              37.718767
+            ],
+            [
+              120.994356,
+              37.759468
+            ],
+            [
+              120.943233,
+              37.785486
+            ],
+            [
+              120.940769,
+              37.819533
+            ],
+            [
+              120.874863,
+              37.833241
+            ],
+            [
+              120.845298,
+              37.826623
+            ],
+            [
+              120.839139,
+              37.82426
+            ],
+            [
+              120.733197,
+              37.833714
+            ],
+            [
+              120.656821,
+              37.793054
+            ],
+            [
+              120.634031,
+              37.796364
+            ],
+            [
+              120.590915,
+              37.7642
+            ],
+            [
+              120.517619,
+              37.750005
+            ],
+            [
+              120.454793,
+              37.757576
+            ],
+            [
+              120.367945,
+              37.697935
+            ],
+            [
+              120.227511,
+              37.693673
+            ],
+            [
+              120.22012,
+              37.671886
+            ],
+            [
+              120.269395,
+              37.658622
+            ],
+            [
+              120.272475,
+              37.636824
+            ],
+            [
+              120.215192,
+              37.621183
+            ],
+            [
+              120.208417,
+              37.588469
+            ],
+            [
+              120.246605,
+              37.556689
+            ],
+            [
+              120.222584,
+              37.532963
+            ],
+            [
+              120.144359,
+              37.481691
+            ],
+            [
+              120.086461,
+              37.465067
+            ],
+            [
+              120.064903,
+              37.448915
+            ],
+            [
+              120.010085,
+              37.442263
+            ],
+            [
+              119.949723,
+              37.419927
+            ],
+            [
+              119.926933,
+              37.386649
+            ],
+            [
+              119.843781,
+              37.376662
+            ],
+            [
+              119.837006,
+              37.346695
+            ],
+            [
+              119.883201,
+              37.311004
+            ],
+            [
+              119.89244,
+              37.263866
+            ],
+            [
+              119.865339,
+              37.233854
+            ],
+            [
+              119.83023,
+              37.225754
+            ],
+            [
+              119.808057,
+              37.196203
+            ],
+            [
+              119.740303,
+              37.133727
+            ],
+            [
+              119.687332,
+              37.143746
+            ],
+            [
+              119.678709,
+              37.158056
+            ],
+            [
+              119.576463,
+              37.127524
+            ],
+            [
+              119.489616,
+              37.134681
+            ],
+            [
+              119.428022,
+              37.125616
+            ],
+            [
+              119.361501,
+              37.125616
+            ],
+            [
+              119.327624,
+              37.115595
+            ],
+            [
+              119.301138,
+              37.139452
+            ],
+            [
+              119.298675,
+              37.197156
+            ],
+            [
+              119.2069,
+              37.223371
+            ],
+            [
+              119.190885,
+              37.25958
+            ],
+            [
+              119.204436,
+              37.280058
+            ],
+            [
+              119.136683,
+              37.230995
+            ],
+            [
+              119.12806,
+              37.254816
+            ],
+            [
+              119.091103,
+              37.257674
+            ],
+            [
+              119.084328,
+              37.239572
+            ],
+            [
+              119.054147,
+              37.254816
+            ],
+            [
+              119.03998,
+              37.30434
+            ],
+            [
+              119.001176,
+              37.31862
+            ],
+            [
+              118.942662,
+              37.497361
+            ],
+            [
+              118.939582,
+              37.527268
+            ],
+            [
+              118.988857,
+              37.620709
+            ],
+            [
+              119.023966,
+              37.642037
+            ],
+            [
+              119.153313,
+              37.655305
+            ],
+            [
+              119.236465,
+              37.651988
+            ],
+            [
+              119.262334,
+              37.660517
+            ],
+            [
+              119.280197,
+              37.692726
+            ],
+            [
+              119.309146,
+              37.805349
+            ],
+            [
+              119.291899,
+              37.869627
+            ],
+            [
+              119.24016,
+              37.878131
+            ],
+            [
+              119.212443,
+              37.838913
+            ],
+            [
+              119.16132,
+              37.81906
+            ],
+            [
+              119.12806,
+              37.847892
+            ],
+            [
+              119.110813,
+              37.921577
+            ],
+            [
+              119.001792,
+              37.99613
+            ],
+            [
+              118.974075,
+              38.094162
+            ],
+            [
+              118.908169,
+              38.139362
+            ],
+            [
+              118.811467,
+              38.157717
+            ],
+            [
+              118.703677,
+              38.151129
+            ],
+            [
+              118.626069,
+              38.138421
+            ],
+            [
+              118.607591,
+              38.129006
+            ],
+            [
+              118.597736,
+              38.079088
+            ],
+            [
+              118.552156,
+              38.05553
+            ],
+            [
+              118.534294,
+              38.063541
+            ],
+            [
+              118.517048,
+              38.088509
+            ],
+            [
+              118.504729,
+              38.11394
+            ],
+            [
+              118.44991,
+              38.124299
+            ],
+            [
+              118.431432,
+              38.106406
+            ],
+            [
+              118.404331,
+              38.121003
+            ],
+            [
+              118.331034,
+              38.12524
+            ],
+            [
+              118.217085,
+              38.146893
+            ],
+            [
+              118.177665,
+              38.186417
+            ],
+            [
+              118.112376,
+              38.210403
+            ],
+            [
+              118.045238,
+              38.214165
+            ],
+            [
+              118.018753,
+              38.202409
+            ],
+            [
+              117.896797,
+              38.279495
+            ],
+            [
+              117.895565,
+              38.301572
+            ],
+            [
+              117.848754,
+              38.255062
+            ],
+            [
+              117.808718,
+              38.22827
+            ],
+            [
+              117.789007,
+              38.180772
+            ],
+            [
+              117.766834,
+              38.158658
+            ],
+            [
+              117.771145,
+              38.134655
+            ],
+            [
+              117.746508,
+              38.12524
+            ],
+            [
+              117.704624,
+              38.076262
+            ],
+            [
+              117.586979,
+              38.071551
+            ],
+            [
+              117.557414,
+              38.046105
+            ],
+            [
+              117.557414,
+              38.046105
+            ],
+            [
+              117.524154,
+              37.989527
+            ],
+            [
+              117.513067,
+              37.94329
+            ],
+            [
+              117.481038,
+              37.914967
+            ],
+            [
+              117.438538,
+              37.854035
+            ],
+            [
+              117.400966,
+              37.844584
+            ],
+            [
+              117.320278,
+              37.861596
+            ],
+            [
+              117.271618,
+              37.839858
+            ],
+            [
+              117.185387,
+              37.849783
+            ],
+            [
+              117.150278,
+              37.839385
+            ],
+            [
+              117.074518,
+              37.848837
+            ],
+            [
+              117.027091,
+              37.832296
+            ],
+            [
+              116.919301,
+              37.846002
+            ],
+            [
+              116.837997,
+              37.835132
+            ],
+            [
+              116.804736,
+              37.848837
+            ],
+            [
+              116.753613,
+              37.793054
+            ],
+            [
+              116.753613,
+              37.77035
+            ],
+            [
+              116.724664,
+              37.744327
+            ],
+            [
+              116.679085,
+              37.728708
+            ],
+            [
+              116.66307,
+              37.686096
+            ],
+            [
+              116.604556,
+              37.624975
+            ],
+            [
+              116.575607,
+              37.610754
+            ],
+            [
+              116.4826,
+              37.521573
+            ],
+            [
+              116.448108,
+              37.503059
+            ],
+            [
+              116.433941,
+              37.473142
+            ],
+            [
+              116.38097,
+              37.522522
+            ],
+            [
+              116.379738,
+              37.522047
+            ],
+            [
+              116.38097,
+              37.522522
+            ],
+            [
+              116.379738,
+              37.522047
+            ],
+            [
+              116.36742,
+              37.566177
+            ],
+            [
+              116.336007,
+              37.581355
+            ],
+            [
+              116.295355,
+              37.554316
+            ],
+            [
+              116.278724,
+              37.524895
+            ],
+            [
+              116.290427,
+              37.484065
+            ],
+            [
+              116.27626,
+              37.466967
+            ],
+            [
+              116.240536,
+              37.489764
+            ],
+            [
+              116.240536,
+              37.489764
+            ],
+            [
+              116.224522,
+              37.479791
+            ],
+            [
+              116.243,
+              37.447965
+            ],
+            [
+              116.226369,
+              37.428007
+            ],
+            [
+              116.2855,
+              37.404241
+            ],
+            [
+              116.236224,
+              37.361442
+            ],
+            [
+              116.193109,
+              37.365723
+            ],
+            [
+              116.169087,
+              37.384271
+            ],
+            [
+              116.106261,
+              37.368577
+            ],
+            [
+              116.085935,
+              37.373809
+            ],
+            [
+              116.024341,
+              37.360015
+            ],
+            [
+              115.975682,
+              37.337179
+            ],
+            [
+              115.969523,
+              37.239572
+            ],
+            [
+              115.909777,
+              37.20669
+            ],
+            [
+              115.91224,
+              37.177132
+            ],
+            [
+              115.879596,
+              37.150901
+            ],
+            [
+              115.888219,
+              37.112254
+            ],
+            [
+              115.85619,
+              37.060694
+            ],
+            [
+              115.776734,
+              36.992848
+            ],
+            [
+              115.79706,
+              36.968945
+            ],
+            [
+              115.75764,
+              36.902453
+            ],
+            [
+              115.71206,
+              36.883308
+            ],
+            [
+              115.683727,
+              36.808117
+            ],
+            [
+              115.524815,
+              36.763543
+            ],
+            [
+              115.479851,
+              36.760187
+            ],
+            [
+              115.451518,
+              36.702151
+            ],
+            [
+              115.420105,
+              36.686795
+            ],
+            [
+              115.365902,
+              36.621979
+            ],
+            [
+              115.355431,
+              36.627262
+            ],
+            [
+              115.33141,
+              36.550378
+            ],
+            [
+              115.272895,
+              36.497476
+            ],
+            [
+              115.291374,
+              36.460423
+            ],
+            [
+              115.317243,
+              36.454166
+            ],
+            [
+              115.297533,
+              36.413239
+            ],
+            [
+              115.340033,
+              36.398307
+            ],
+            [
+              115.368982,
+              36.342409
+            ],
+            [
+              115.366518,
+              36.30914
+            ],
+            [
+              115.423185,
+              36.32216
+            ],
+            [
+              115.417025,
+              36.292742
+            ],
+            [
+              115.462605,
+              36.276339
+            ],
+            [
+              115.466916,
+              36.258969
+            ],
+            [
+              115.466916,
+              36.258969
+            ],
+            [
+              115.474923,
+              36.248352
+            ],
+            [
+              115.483547,
+              36.148865
+            ],
+            [
+              115.484163,
+              36.125666
+            ],
+            [
+              115.449054,
+              36.047317
+            ],
+            [
+              115.447822,
+              36.01247
+            ],
+            [
+              115.362822,
+              35.971796
+            ],
+            [
+              115.353583,
+              35.938854
+            ],
+            [
+              115.364054,
+              35.894264
+            ],
+            [
+              115.335105,
+              35.796756
+            ],
+            [
+              115.363438,
+              35.779765
+            ],
+            [
+              115.407786,
+              35.80889
+            ],
+            [
+              115.460141,
+              35.867594
+            ],
+            [
+              115.487858,
+              35.880688
+            ],
+            [
+              115.495249,
+              35.896203
+            ],
+            [
+              115.505104,
+              35.899112
+            ],
+            [
+              115.513112,
+              35.890385
+            ],
+            [
+              115.583945,
+              35.921893
+            ],
+            [
+              115.648618,
+              35.922863
+            ],
+            [
+              115.699125,
+              35.966468
+            ],
+            [
+              115.774886,
+              35.974702
+            ],
+            [
+              115.779813,
+              35.993588
+            ],
+            [
+              115.817386,
+              36.012954
+            ],
+            [
+              115.859886,
+              36.003756
+            ],
+            [
+              115.89869,
+              36.026507
+            ],
+            [
+              115.989849,
+              36.045381
+            ],
+            [
+              116.057602,
+              36.104877
+            ],
+            [
+              116.099486,
+              36.112129
+            ],
+            [
+              116.063145,
+              36.028927
+            ],
+            [
+              116.048979,
+              35.970343
+            ],
+            [
+              115.984921,
+              35.974218
+            ],
+            [
+              115.911624,
+              35.960171
+            ],
+            [
+              115.907929,
+              35.92674
+            ],
+            [
+              115.873436,
+              35.918985
+            ],
+            [
+              115.882675,
+              35.879718
+            ],
+            [
+              115.859886,
+              35.857894
+            ],
+            [
+              115.81677,
+              35.844312
+            ],
+            [
+              115.773654,
+              35.854014
+            ],
+            [
+              115.73485,
+              35.833154
+            ],
+            [
+              115.696046,
+              35.788989
+            ],
+            [
+              115.693582,
+              35.754028
+            ],
+            [
+              115.622749,
+              35.739457
+            ],
+            [
+              115.52851,
+              35.733628
+            ],
+            [
+              115.48601,
+              35.710306
+            ],
+            [
+              115.383148,
+              35.568772
+            ],
+            [
+              115.34496,
+              35.55368
+            ],
+            [
+              115.356047,
+              35.490359
+            ],
+            [
+              115.307388,
+              35.480126
+            ],
+            [
+              115.237171,
+              35.423087
+            ],
+            [
+              115.172497,
+              35.426501
+            ],
+            [
+              115.126302,
+              35.41821
+            ],
+            [
+              115.117679,
+              35.400163
+            ],
+            [
+              115.091809,
+              35.416259
+            ],
+            [
+              115.073947,
+              35.374304
+            ],
+            [
+              115.04315,
+              35.376744
+            ],
+            [
+              114.957534,
+              35.261014
+            ],
+            [
+              114.929201,
+              35.244886
+            ],
+            [
+              114.932281,
+              35.198441
+            ],
+            [
+              114.861448,
+              35.182301
+            ],
+            [
+              114.841738,
+              35.15099
+            ],
+            [
+              114.883006,
+              35.098615
+            ],
+            [
+              114.835578,
+              35.076578
+            ],
+            [
+              114.818948,
+              35.051596
+            ],
+            [
+              114.852209,
+              35.041797
+            ],
+            [
+              114.824492,
+              35.012393
+            ],
+            [
+              114.880542,
+              35.00357
+            ],
+            [
+              114.923658,
+              34.968757
+            ],
+            [
+              114.950759,
+              34.989843
+            ],
+            [
+              115.008041,
+              34.988372
+            ],
+            [
+              115.028983,
+              34.9717
+            ],
+            [
+              115.075179,
+              35.000628
+            ],
+            [
+              115.12815,
+              35.00455
+            ],
+            [
+              115.157099,
+              34.957968
+            ],
+            [
+              115.219309,
+              34.96042
+            ],
+            [
+              115.205142,
+              34.914303
+            ],
+            [
+              115.251953,
+              34.906451
+            ],
+            [
+              115.239019,
+              34.87798
+            ],
+            [
+              115.256265,
+              34.845079
+            ],
+            [
+              115.317243,
+              34.859321
+            ],
+            [
+              115.42688,
+              34.805285
+            ],
+            [
+              115.449054,
+              34.74433
+            ],
+            [
+              115.433655,
+              34.725149
+            ],
+            [
+              115.461373,
+              34.637057
+            ],
+            [
+              115.515575,
+              34.582383
+            ],
+            [
+              115.553148,
+              34.568586
+            ],
+            [
+              115.622749,
+              34.574499
+            ],
+            [
+              115.685575,
+              34.556265
+            ],
+            [
+              115.697278,
+              34.594207
+            ],
+            [
+              115.787821,
+              34.580905
+            ],
+            [
+              115.827241,
+              34.558236
+            ],
+            [
+              115.838328,
+              34.5676
+            ],
+            [
+              115.984305,
+              34.589281
+            ],
+            [
+              115.991081,
+              34.615389
+            ],
+            [
+              116.037276,
+              34.593222
+            ],
+            [
+              116.101334,
+              34.60603
+            ],
+            [
+              116.134594,
+              34.559715
+            ],
+            [
+              116.156768,
+              34.5538
+            ],
+            [
+              116.196804,
+              34.575977
+            ],
+            [
+              116.247927,
+              34.551829
+            ],
+            [
+              116.286116,
+              34.608986
+            ],
+            [
+              116.32492,
+              34.601104
+            ],
+            [
+              116.334159,
+              34.620806
+            ],
+            [
+              116.374195,
+              34.640011
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.729502,
+              37.947065
+            ],
+            [
+              120.721495,
+              37.917328
+            ],
+            [
+              120.76461,
+              37.895134
+            ],
+            [
+              120.76461,
+              37.923937
+            ],
+            [
+              120.729502,
+              37.947065
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.692545,
+              37.983867
+            ],
+            [
+              120.732581,
+              37.961694
+            ],
+            [
+              120.724574,
+              37.987641
+            ],
+            [
+              120.692545,
+              37.983867
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.990044,
+              36.413239
+            ],
+            [
+              120.978341,
+              36.428649
+            ],
+            [
+              120.950624,
+              36.414684
+            ],
+            [
+              120.990044,
+              36.413239
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.750444,
+              38.150188
+            ],
+            [
+              120.7874,
+              38.158658
+            ],
+            [
+              120.742436,
+              38.199116
+            ],
+            [
+              120.750444,
+              38.150188
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.918595,
+              38.345236
+            ],
+            [
+              120.914899,
+              38.373393
+            ],
+            [
+              120.895189,
+              38.36307
+            ],
+            [
+              120.918595,
+              38.345236
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.159142,
+              35.765198
+            ],
+            [
+              120.169613,
+              35.740428
+            ],
+            [
+              120.193019,
+              35.756942
+            ],
+            [
+              120.172077,
+              35.785591
+            ],
+            [
+              120.159142,
+              35.765198
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.62664,
+              37.94565
+            ],
+            [
+              120.631567,
+              37.981037
+            ],
+            [
+              120.602002,
+              37.978678
+            ],
+            [
+              120.62664,
+              37.94565
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.802183,
+              38.284193
+            ],
+            [
+              120.848378,
+              38.305799
+            ],
+            [
+              120.816349,
+              38.318008
+            ],
+            [
+              120.802183,
+              38.284193
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.489571,
+              37.577086
+            ],
+            [
+              121.489571,
+              37.577561
+            ],
+            [
+              121.489571,
+              37.578509
+            ],
+            [
+              121.488955,
+              37.578035
+            ],
+            [
+              121.489571,
+              37.577086
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.485875,
+              37.578509
+            ],
+            [
+              121.487723,
+              37.578035
+            ],
+            [
+              121.487723,
+              37.578509
+            ],
+            [
+              121.485875,
+              37.578509
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.487723,
+              37.578509
+            ],
+            [
+              121.487723,
+              37.577561
+            ],
+            [
+              121.488955,
+              37.578035
+            ],
+            [
+              121.488955,
+              37.578509
+            ],
+            [
+              121.488339,
+              37.578509
+            ],
+            [
+              121.487723,
+              37.578509
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.495249,
+              35.896203
+            ],
+            [
+              115.487858,
+              35.880688
+            ],
+            [
+              115.513112,
+              35.890385
+            ],
+            [
+              115.505104,
+              35.899112
+            ],
+            [
+              115.495249,
+              35.896203
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 41e4,
+      name: "河南省",
+      center: [
+        113.665412,
+        34.757975
+      ],
+      centroid: [
+        113.619717,
+        33.902648
+      ],
+      childrenNum: 18,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 15,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              112.716747,
+              32.357612
+            ],
+            [
+              112.735841,
+              32.356095
+            ],
+            [
+              112.776493,
+              32.358623
+            ],
+            [
+              112.860877,
+              32.396024
+            ],
+            [
+              112.888594,
+              32.37682
+            ],
+            [
+              112.912,
+              32.390971
+            ],
+            [
+              112.992072,
+              32.378336
+            ],
+            [
+              113.000695,
+              32.41674
+            ],
+            [
+              113.025949,
+              32.425328
+            ],
+            [
+              113.078919,
+              32.394508
+            ],
+            [
+              113.107869,
+              32.398551
+            ],
+            [
+              113.118956,
+              32.375809
+            ],
+            [
+              113.155912,
+              32.380863
+            ],
+            [
+              113.158992,
+              32.410677
+            ],
+            [
+              113.211962,
+              32.431895
+            ],
+            [
+              113.2366,
+              32.407141
+            ],
+            [
+              113.333918,
+              32.336377
+            ],
+            [
+              113.317904,
+              32.327275
+            ],
+            [
+              113.353628,
+              32.294904
+            ],
+            [
+              113.376418,
+              32.298445
+            ],
+            [
+              113.428773,
+              32.270618
+            ],
+            [
+              113.511925,
+              32.316654
+            ],
+            [
+              113.624642,
+              32.36115
+            ],
+            [
+              113.650511,
+              32.412698
+            ],
+            [
+              113.700402,
+              32.420782
+            ],
+            [
+              113.735511,
+              32.410677
+            ],
+            [
+              113.76754,
+              32.370249
+            ],
+            [
+              113.753989,
+              32.328286
+            ],
+            [
+              113.768772,
+              32.30148
+            ],
+            [
+              113.768156,
+              32.284279
+            ],
+            [
+              113.758301,
+              32.27669
+            ],
+            [
+              113.749061,
+              32.272642
+            ],
+            [
+              113.73859,
+              32.255942
+            ],
+            [
+              113.752757,
+              32.215951
+            ],
+            [
+              113.782322,
+              32.184553
+            ],
+            [
+              113.750293,
+              32.11615
+            ],
+            [
+              113.722576,
+              32.12426
+            ],
+            [
+              113.728735,
+              32.083197
+            ],
+            [
+              113.791561,
+              32.036028
+            ],
+            [
+              113.757685,
+              31.98985
+            ],
+            [
+              113.817431,
+              31.964467
+            ],
+            [
+              113.805728,
+              31.929428
+            ],
+            [
+              113.832213,
+              31.918761
+            ],
+            [
+              113.830981,
+              31.87913
+            ],
+            [
+              113.854387,
+              31.843042
+            ],
+            [
+              113.893807,
+              31.847109
+            ],
+            [
+              113.914749,
+              31.877098
+            ],
+            [
+              113.957865,
+              31.852701
+            ],
+            [
+              113.952321,
+              31.793714
+            ],
+            [
+              113.988662,
+              31.749959
+            ],
+            [
+              114.017611,
+              31.770822
+            ],
+            [
+              114.086596,
+              31.782014
+            ],
+            [
+              114.121705,
+              31.809482
+            ],
+            [
+              114.134024,
+              31.843042
+            ],
+            [
+              114.191922,
+              31.852192
+            ],
+            [
+              114.235654,
+              31.833382
+            ],
+            [
+              114.292936,
+              31.752503
+            ],
+            [
+              114.350218,
+              31.755557
+            ],
+            [
+              114.403189,
+              31.746906
+            ],
+            [
+              114.443841,
+              31.728074
+            ],
+            [
+              114.530688,
+              31.742834
+            ],
+            [
+              114.549783,
+              31.766751
+            ],
+            [
+              114.586123,
+              31.762172
+            ],
+            [
+              114.57134,
+              31.660858
+            ],
+            [
+              114.547935,
+              31.623665
+            ],
+            [
+              114.560869,
+              31.560963
+            ],
+            [
+              114.572572,
+              31.553824
+            ],
+            [
+              114.61692,
+              31.585437
+            ],
+            [
+              114.641558,
+              31.582378
+            ],
+            [
+              114.696376,
+              31.525771
+            ],
+            [
+              114.778912,
+              31.520669
+            ],
+            [
+              114.789383,
+              31.480358
+            ],
+            [
+              114.830035,
+              31.45892
+            ],
+            [
+              114.870071,
+              31.479337
+            ],
+            [
+              114.884238,
+              31.469129
+            ],
+            [
+              114.962462,
+              31.494648
+            ],
+            [
+              114.995107,
+              31.471171
+            ],
+            [
+              115.022824,
+              31.527811
+            ],
+            [
+              115.096121,
+              31.508425
+            ],
+            [
+              115.114599,
+              31.530362
+            ],
+            [
+              115.106592,
+              31.567592
+            ],
+            [
+              115.12507,
+              31.599201
+            ],
+            [
+              115.16449,
+              31.604808
+            ],
+            [
+              115.212533,
+              31.555354
+            ],
+            [
+              115.235939,
+              31.555354
+            ],
+            [
+              115.218077,
+              31.515057
+            ],
+            [
+              115.211301,
+              31.442072
+            ],
+            [
+              115.252569,
+              31.421646
+            ],
+            [
+              115.250722,
+              31.392021
+            ],
+            [
+              115.301229,
+              31.383846
+            ],
+            [
+              115.338801,
+              31.40428
+            ],
+            [
+              115.373909,
+              31.405813
+            ],
+            [
+              115.389924,
+              31.450241
+            ],
+            [
+              115.371446,
+              31.495668
+            ],
+            [
+              115.415793,
+              31.525771
+            ],
+            [
+              115.439815,
+              31.588496
+            ],
+            [
+              115.485394,
+              31.608885
+            ],
+            [
+              115.476771,
+              31.643028
+            ],
+            [
+              115.495249,
+              31.673083
+            ],
+            [
+              115.534054,
+              31.698545
+            ],
+            [
+              115.553764,
+              31.69549
+            ],
+            [
+              115.676336,
+              31.778453
+            ],
+            [
+              115.731154,
+              31.76726
+            ],
+            [
+              115.767495,
+              31.78761
+            ],
+            [
+              115.808147,
+              31.770313
+            ],
+            [
+              115.808147,
+              31.770313
+            ],
+            [
+              115.851878,
+              31.786593
+            ],
+            [
+              115.886371,
+              31.776418
+            ],
+            [
+              115.914704,
+              31.814567
+            ],
+            [
+              115.893762,
+              31.832365
+            ],
+            [
+              115.894994,
+              31.8649
+            ],
+            [
+              115.920248,
+              31.920285
+            ],
+            [
+              115.909161,
+              31.94314
+            ],
+            [
+              115.928871,
+              32.003046
+            ],
+            [
+              115.922095,
+              32.049725
+            ],
+            [
+              115.941805,
+              32.166318
+            ],
+            [
+              115.912856,
+              32.227596
+            ],
+            [
+              115.899306,
+              32.390971
+            ],
+            [
+              115.865429,
+              32.458662
+            ],
+            [
+              115.883291,
+              32.487946
+            ],
+            [
+              115.845719,
+              32.501575
+            ],
+            [
+              115.8759,
+              32.542448
+            ],
+            [
+              115.910393,
+              32.567165
+            ],
+            [
+              115.891298,
+              32.576243
+            ],
+            [
+              115.861117,
+              32.537403
+            ],
+            [
+              115.789052,
+              32.468761
+            ],
+            [
+              115.771806,
+              32.505108
+            ],
+            [
+              115.742241,
+              32.476335
+            ],
+            [
+              115.704669,
+              32.495013
+            ],
+            [
+              115.667712,
+              32.409667
+            ],
+            [
+              115.657857,
+              32.428864
+            ],
+            [
+              115.626445,
+              32.40512
+            ],
+            [
+              115.604271,
+              32.425833
+            ],
+            [
+              115.57101,
+              32.419266
+            ],
+            [
+              115.522967,
+              32.441997
+            ],
+            [
+              115.509416,
+              32.466741
+            ],
+            [
+              115.5088,
+              32.468761
+            ],
+            [
+              115.497713,
+              32.492489
+            ],
+            [
+              115.409018,
+              32.549007
+            ],
+            [
+              115.411482,
+              32.575235
+            ],
+            [
+              115.304924,
+              32.553042
+            ],
+            [
+              115.30554,
+              32.583303
+            ],
+            [
+              115.267352,
+              32.578261
+            ],
+            [
+              115.24333,
+              32.593388
+            ],
+            [
+              115.20083,
+              32.591876
+            ],
+            [
+              115.182968,
+              32.666973
+            ],
+            [
+              115.179273,
+              32.726402
+            ],
+            [
+              115.189744,
+              32.770695
+            ],
+            [
+              115.211301,
+              32.785791
+            ],
+            [
+              115.189744,
+              32.812452
+            ],
+            [
+              115.197135,
+              32.856201
+            ],
+            [
+              115.155867,
+              32.864747
+            ],
+            [
+              115.139237,
+              32.897917
+            ],
+            [
+              115.029599,
+              32.906962
+            ],
+            [
+              115.035143,
+              32.932582
+            ],
+            [
+              115.009273,
+              32.940117
+            ],
+            [
+              114.943368,
+              32.935094
+            ],
+            [
+              114.916266,
+              32.971251
+            ],
+            [
+              114.883006,
+              32.990328
+            ],
+            [
+              114.891629,
+              33.020441
+            ],
+            [
+              114.925506,
+              33.016928
+            ],
+            [
+              114.913187,
+              33.083143
+            ],
+            [
+              114.897172,
+              33.086653
+            ],
+            [
+              114.902716,
+              33.129764
+            ],
+            [
+              114.932897,
+              33.153817
+            ],
+            [
+              114.966158,
+              33.147304
+            ],
+            [
+              114.990795,
+              33.102195
+            ],
+            [
+              115.041302,
+              33.086653
+            ],
+            [
+              115.168186,
+              33.088658
+            ],
+            [
+              115.194671,
+              33.120743
+            ],
+            [
+              115.245178,
+              33.135778
+            ],
+            [
+              115.289526,
+              33.131769
+            ],
+            [
+              115.303692,
+              33.149809
+            ],
+            [
+              115.300613,
+              33.204407
+            ],
+            [
+              115.340033,
+              33.260973
+            ],
+            [
+              115.335105,
+              33.297997
+            ],
+            [
+              115.361591,
+              33.298497
+            ],
+            [
+              115.365286,
+              33.336005
+            ],
+            [
+              115.341881,
+              33.370997
+            ],
+            [
+              115.313547,
+              33.376994
+            ],
+            [
+              115.328946,
+              33.403477
+            ],
+            [
+              115.315395,
+              33.431451
+            ],
+            [
+              115.324634,
+              33.457418
+            ],
+            [
+              115.345576,
+              33.449928
+            ],
+            [
+              115.345576,
+              33.502842
+            ],
+            [
+              115.366518,
+              33.5233
+            ],
+            [
+              115.394851,
+              33.506335
+            ],
+            [
+              115.422569,
+              33.557219
+            ],
+            [
+              115.463837,
+              33.567193
+            ],
+            [
+              115.511264,
+              33.55323
+            ],
+            [
+              115.564851,
+              33.576169
+            ],
+            [
+              115.639995,
+              33.585143
+            ],
+            [
+              115.601191,
+              33.658898
+            ],
+            [
+              115.601807,
+              33.718653
+            ],
+            [
+              115.563003,
+              33.772895
+            ],
+            [
+              115.576553,
+              33.787817
+            ],
+            [
+              115.614126,
+              33.775879
+            ],
+            [
+              115.631988,
+              33.869846
+            ],
+            [
+              115.547604,
+              33.874815
+            ],
+            [
+              115.577785,
+              33.950307
+            ],
+            [
+              115.579017,
+              33.974133
+            ],
+            [
+              115.60735,
+              34.030196
+            ],
+            [
+              115.642459,
+              34.03218
+            ],
+            [
+              115.658473,
+              34.061437
+            ],
+            [
+              115.705901,
+              34.059949
+            ],
+            [
+              115.736082,
+              34.076805
+            ],
+            [
+              115.768726,
+              34.061932
+            ],
+            [
+              115.809378,
+              34.062428
+            ],
+            [
+              115.846335,
+              34.028708
+            ],
+            [
+              115.85003,
+              34.004898
+            ],
+            [
+              115.877132,
+              34.002913
+            ],
+            [
+              115.876516,
+              34.028708
+            ],
+            [
+              115.904233,
+              34.009859
+            ],
+            [
+              115.95782,
+              34.007875
+            ],
+            [
+              116.00032,
+              33.965199
+            ],
+            [
+              115.982457,
+              33.917039
+            ],
+            [
+              116.05945,
+              33.860902
+            ],
+            [
+              116.055754,
+              33.804727
+            ],
+            [
+              116.074232,
+              33.781351
+            ],
+            [
+              116.100102,
+              33.782843
+            ],
+            [
+              116.132747,
+              33.751501
+            ],
+            [
+              116.155536,
+              33.709693
+            ],
+            [
+              116.230065,
+              33.735078
+            ],
+            [
+              116.263326,
+              33.730101
+            ],
+            [
+              116.316912,
+              33.771402
+            ],
+            [
+              116.393905,
+              33.782843
+            ],
+            [
+              116.408071,
+              33.805721
+            ],
+            [
+              116.437021,
+              33.801246
+            ],
+            [
+              116.437637,
+              33.846489
+            ],
+            [
+              116.486296,
+              33.869846
+            ],
+            [
+              116.558361,
+              33.881274
+            ],
+            [
+              116.566984,
+              33.9081
+            ],
+            [
+              116.631042,
+              33.887733
+            ],
+            [
+              116.64336,
+              33.896675
+            ],
+            [
+              116.641512,
+              33.978103
+            ],
+            [
+              116.599629,
+              34.014324
+            ],
+            [
+              116.599629,
+              34.014324
+            ],
+            [
+              116.576223,
+              34.068873
+            ],
+            [
+              116.576223,
+              34.068873
+            ],
+            [
+              116.52818,
+              34.122892
+            ],
+            [
+              116.536187,
+              34.151127
+            ],
+            [
+              116.565752,
+              34.16945
+            ],
+            [
+              116.542962,
+              34.203608
+            ],
+            [
+              116.545426,
+              34.241711
+            ],
+            [
+              116.582382,
+              34.266444
+            ],
+            [
+              116.562056,
+              34.285731
+            ],
+            [
+              116.516477,
+              34.296114
+            ],
+            [
+              116.456731,
+              34.268917
+            ],
+            [
+              116.409303,
+              34.273863
+            ],
+            [
+              116.409303,
+              34.273863
+            ],
+            [
+              116.372347,
+              34.26595
+            ],
+            [
+              116.357564,
+              34.319843
+            ],
+            [
+              116.301514,
+              34.342082
+            ],
+            [
+              116.255934,
+              34.376665
+            ],
+            [
+              116.213435,
+              34.382098
+            ],
+            [
+              116.215898,
+              34.403333
+            ],
+            [
+              116.178942,
+              34.430487
+            ],
+            [
+              116.162312,
+              34.459605
+            ],
+            [
+              116.178326,
+              34.496112
+            ],
+            [
+              116.204196,
+              34.508442
+            ],
+            [
+              116.191261,
+              34.535561
+            ],
+            [
+              116.196804,
+              34.575977
+            ],
+            [
+              116.156768,
+              34.5538
+            ],
+            [
+              116.134594,
+              34.559715
+            ],
+            [
+              116.101334,
+              34.60603
+            ],
+            [
+              116.037276,
+              34.593222
+            ],
+            [
+              115.991081,
+              34.615389
+            ],
+            [
+              115.984305,
+              34.589281
+            ],
+            [
+              115.838328,
+              34.5676
+            ],
+            [
+              115.827241,
+              34.558236
+            ],
+            [
+              115.787821,
+              34.580905
+            ],
+            [
+              115.697278,
+              34.594207
+            ],
+            [
+              115.685575,
+              34.556265
+            ],
+            [
+              115.622749,
+              34.574499
+            ],
+            [
+              115.553148,
+              34.568586
+            ],
+            [
+              115.515575,
+              34.582383
+            ],
+            [
+              115.461373,
+              34.637057
+            ],
+            [
+              115.433655,
+              34.725149
+            ],
+            [
+              115.449054,
+              34.74433
+            ],
+            [
+              115.42688,
+              34.805285
+            ],
+            [
+              115.317243,
+              34.859321
+            ],
+            [
+              115.256265,
+              34.845079
+            ],
+            [
+              115.239019,
+              34.87798
+            ],
+            [
+              115.251953,
+              34.906451
+            ],
+            [
+              115.205142,
+              34.914303
+            ],
+            [
+              115.219309,
+              34.96042
+            ],
+            [
+              115.157099,
+              34.957968
+            ],
+            [
+              115.12815,
+              35.00455
+            ],
+            [
+              115.075179,
+              35.000628
+            ],
+            [
+              115.028983,
+              34.9717
+            ],
+            [
+              115.008041,
+              34.988372
+            ],
+            [
+              114.950759,
+              34.989843
+            ],
+            [
+              114.923658,
+              34.968757
+            ],
+            [
+              114.880542,
+              35.00357
+            ],
+            [
+              114.824492,
+              35.012393
+            ],
+            [
+              114.852209,
+              35.041797
+            ],
+            [
+              114.818948,
+              35.051596
+            ],
+            [
+              114.835578,
+              35.076578
+            ],
+            [
+              114.883006,
+              35.098615
+            ],
+            [
+              114.841738,
+              35.15099
+            ],
+            [
+              114.861448,
+              35.182301
+            ],
+            [
+              114.932281,
+              35.198441
+            ],
+            [
+              114.929201,
+              35.244886
+            ],
+            [
+              114.957534,
+              35.261014
+            ],
+            [
+              115.04315,
+              35.376744
+            ],
+            [
+              115.073947,
+              35.374304
+            ],
+            [
+              115.091809,
+              35.416259
+            ],
+            [
+              115.117679,
+              35.400163
+            ],
+            [
+              115.126302,
+              35.41821
+            ],
+            [
+              115.172497,
+              35.426501
+            ],
+            [
+              115.237171,
+              35.423087
+            ],
+            [
+              115.307388,
+              35.480126
+            ],
+            [
+              115.356047,
+              35.490359
+            ],
+            [
+              115.34496,
+              35.55368
+            ],
+            [
+              115.383148,
+              35.568772
+            ],
+            [
+              115.48601,
+              35.710306
+            ],
+            [
+              115.52851,
+              35.733628
+            ],
+            [
+              115.622749,
+              35.739457
+            ],
+            [
+              115.693582,
+              35.754028
+            ],
+            [
+              115.696046,
+              35.788989
+            ],
+            [
+              115.73485,
+              35.833154
+            ],
+            [
+              115.773654,
+              35.854014
+            ],
+            [
+              115.81677,
+              35.844312
+            ],
+            [
+              115.859886,
+              35.857894
+            ],
+            [
+              115.882675,
+              35.879718
+            ],
+            [
+              115.873436,
+              35.918985
+            ],
+            [
+              115.907929,
+              35.92674
+            ],
+            [
+              115.911624,
+              35.960171
+            ],
+            [
+              115.984921,
+              35.974218
+            ],
+            [
+              116.048979,
+              35.970343
+            ],
+            [
+              116.063145,
+              36.028927
+            ],
+            [
+              116.099486,
+              36.112129
+            ],
+            [
+              116.057602,
+              36.104877
+            ],
+            [
+              115.989849,
+              36.045381
+            ],
+            [
+              115.89869,
+              36.026507
+            ],
+            [
+              115.859886,
+              36.003756
+            ],
+            [
+              115.817386,
+              36.012954
+            ],
+            [
+              115.779813,
+              35.993588
+            ],
+            [
+              115.774886,
+              35.974702
+            ],
+            [
+              115.699125,
+              35.966468
+            ],
+            [
+              115.648618,
+              35.922863
+            ],
+            [
+              115.583945,
+              35.921893
+            ],
+            [
+              115.513112,
+              35.890385
+            ],
+            [
+              115.487858,
+              35.880688
+            ],
+            [
+              115.460141,
+              35.867594
+            ],
+            [
+              115.407786,
+              35.80889
+            ],
+            [
+              115.363438,
+              35.779765
+            ],
+            [
+              115.335105,
+              35.796756
+            ],
+            [
+              115.364054,
+              35.894264
+            ],
+            [
+              115.353583,
+              35.938854
+            ],
+            [
+              115.362822,
+              35.971796
+            ],
+            [
+              115.447822,
+              36.01247
+            ],
+            [
+              115.449054,
+              36.047317
+            ],
+            [
+              115.484163,
+              36.125666
+            ],
+            [
+              115.483547,
+              36.148865
+            ],
+            [
+              115.465068,
+              36.170125
+            ],
+            [
+              115.450902,
+              36.152248
+            ],
+            [
+              115.376989,
+              36.128083
+            ],
+            [
+              115.365902,
+              36.099074
+            ],
+            [
+              115.312931,
+              36.088436
+            ],
+            [
+              115.30246,
+              36.127599
+            ],
+            [
+              115.279055,
+              36.13775
+            ],
+            [
+              115.242098,
+              36.19138
+            ],
+            [
+              115.202678,
+              36.208765
+            ],
+            [
+              115.202678,
+              36.208765
+            ],
+            [
+              115.202678,
+              36.209248
+            ],
+            [
+              115.202678,
+              36.209248
+            ],
+            [
+              115.201446,
+              36.210214
+            ],
+            [
+              115.201446,
+              36.210214
+            ],
+            [
+              115.1842,
+              36.193312
+            ],
+            [
+              115.12507,
+              36.209731
+            ],
+            [
+              115.104744,
+              36.172058
+            ],
+            [
+              115.06286,
+              36.178338
+            ],
+            [
+              115.048693,
+              36.161912
+            ],
+            [
+              115.04623,
+              36.112613
+            ],
+            [
+              114.998186,
+              36.069572
+            ],
+            [
+              114.914419,
+              36.052155
+            ],
+            [
+              114.926737,
+              36.089403
+            ],
+            [
+              114.912571,
+              36.140649
+            ],
+            [
+              114.858368,
+              36.144516
+            ],
+            [
+              114.857752,
+              36.127599
+            ],
+            [
+              114.771521,
+              36.124699
+            ],
+            [
+              114.734564,
+              36.15563
+            ],
+            [
+              114.720398,
+              36.140166
+            ],
+            [
+              114.640326,
+              36.137266
+            ],
+            [
+              114.588587,
+              36.118414
+            ],
+            [
+              114.586739,
+              36.141133
+            ],
+            [
+              114.533152,
+              36.171575
+            ],
+            [
+              114.480181,
+              36.177855
+            ],
+            [
+              114.466015,
+              36.197658
+            ],
+            [
+              114.417356,
+              36.205868
+            ],
+            [
+              114.408117,
+              36.224699
+            ],
+            [
+              114.356378,
+              36.230492
+            ],
+            [
+              114.345291,
+              36.255591
+            ],
+            [
+              114.299095,
+              36.245938
+            ],
+            [
+              114.257827,
+              36.263794
+            ],
+            [
+              114.241197,
+              36.251247
+            ],
+            [
+              114.2104,
+              36.272962
+            ],
+            [
+              114.203009,
+              36.245456
+            ],
+            [
+              114.170364,
+              36.245938
+            ],
+            [
+              114.170364,
+              36.245938
+            ],
+            [
+              114.175907,
+              36.264759
+            ],
+            [
+              114.129096,
+              36.280199
+            ],
+            [
+              114.080437,
+              36.269585
+            ],
+            [
+              114.04348,
+              36.303353
+            ],
+            [
+              114.056415,
+              36.329392
+            ],
+            [
+              114.002828,
+              36.334214
+            ],
+            [
+              113.981887,
+              36.31782
+            ],
+            [
+              113.962792,
+              36.353977
+            ],
+            [
+              113.911054,
+              36.314927
+            ],
+            [
+              113.882104,
+              36.353977
+            ],
+            [
+              113.84946,
+              36.347711
+            ],
+            [
+              113.856851,
+              36.329392
+            ],
+            [
+              113.813119,
+              36.332285
+            ],
+            [
+              113.755221,
+              36.366026
+            ],
+            [
+              113.731199,
+              36.363135
+            ],
+            [
+              113.736127,
+              36.324571
+            ],
+            [
+              113.712105,
+              36.303353
+            ],
+            [
+              113.716417,
+              36.262347
+            ],
+            [
+              113.681924,
+              36.216491
+            ],
+            [
+              113.697939,
+              36.181719
+            ],
+            [
+              113.651127,
+              36.174473
+            ],
+            [
+              113.705946,
+              36.148865
+            ],
+            [
+              113.712721,
+              36.129533
+            ],
+            [
+              113.655439,
+              36.125182
+            ],
+            [
+              113.671453,
+              36.115514
+            ],
+            [
+              113.68562,
+              36.056026
+            ],
+            [
+              113.660366,
+              36.034735
+            ],
+            [
+              113.694859,
+              36.026991
+            ],
+            [
+              113.678844,
+              35.985841
+            ],
+            [
+              113.648663,
+              35.994073
+            ],
+            [
+              113.654207,
+              35.931586
+            ],
+            [
+              113.637576,
+              35.870019
+            ],
+            [
+              113.660982,
+              35.837035
+            ],
+            [
+              113.582758,
+              35.818111
+            ],
+            [
+              113.604932,
+              35.797727
+            ],
+            [
+              113.587685,
+              35.736542
+            ],
+            [
+              113.592613,
+              35.691838
+            ],
+            [
+              113.622794,
+              35.674825
+            ],
+            [
+              113.625258,
+              35.632518
+            ],
+            [
+              113.578446,
+              35.633491
+            ],
+            [
+              113.547649,
+              35.656835
+            ],
+            [
+              113.55812,
+              35.621816
+            ],
+            [
+              113.513773,
+              35.57364
+            ],
+            [
+              113.49899,
+              35.532254
+            ],
+            [
+              113.439244,
+              35.507412
+            ],
+            [
+              113.391817,
+              35.506925
+            ],
+            [
+              113.348085,
+              35.468429
+            ],
+            [
+              113.31236,
+              35.481101
+            ],
+            [
+              113.304353,
+              35.426989
+            ],
+            [
+              113.243375,
+              35.449418
+            ],
+            [
+              113.189789,
+              35.44893
+            ],
+            [
+              113.185477,
+              35.409431
+            ],
+            [
+              113.165151,
+              35.412845
+            ],
+            [
+              113.149137,
+              35.350878
+            ],
+            [
+              113.126347,
+              35.332327
+            ],
+            [
+              113.067217,
+              35.353806
+            ],
+            [
+              112.996384,
+              35.362104
+            ],
+            [
+              112.985913,
+              35.33965
+            ],
+            [
+              112.992072,
+              35.29619
+            ],
+            [
+              112.936022,
+              35.284466
+            ],
+            [
+              112.934174,
+              35.262968
+            ],
+            [
+              112.884283,
+              35.243909
+            ],
+            [
+              112.822073,
+              35.258082
+            ],
+            [
+              112.772798,
+              35.207732
+            ],
+            [
+              112.720443,
+              35.206265
+            ],
+            [
+              112.628052,
+              35.263457
+            ],
+            [
+              112.637291,
+              35.225822
+            ],
+            [
+              112.513487,
+              35.218489
+            ],
+            [
+              112.390915,
+              35.239021
+            ],
+            [
+              112.36751,
+              35.219956
+            ],
+            [
+              112.288053,
+              35.219956
+            ],
+            [
+              112.304684,
+              35.251728
+            ],
+            [
+              112.242474,
+              35.234622
+            ],
+            [
+              112.21722,
+              35.253195
+            ],
+            [
+              112.13838,
+              35.271275
+            ],
+            [
+              112.058924,
+              35.280069
+            ],
+            [
+              112.078634,
+              35.219467
+            ],
+            [
+              112.03983,
+              35.194039
+            ],
+            [
+              112.066315,
+              35.153437
+            ],
+            [
+              112.05646,
+              35.098615
+            ],
+            [
+              112.062004,
+              35.056005
+            ],
+            [
+              112.039214,
+              35.045717
+            ],
+            [
+              112.018888,
+              35.068742
+            ],
+            [
+              111.97762,
+              35.067272
+            ],
+            [
+              111.933272,
+              35.083435
+            ],
+            [
+              111.810084,
+              35.062374
+            ],
+            [
+              111.807005,
+              35.032977
+            ],
+            [
+              111.740483,
+              35.00455
+            ],
+            [
+              111.664107,
+              34.984449
+            ],
+            [
+              111.681969,
+              34.9511
+            ],
+            [
+              111.646861,
+              34.938836
+            ],
+            [
+              111.617911,
+              34.894671
+            ],
+            [
+              111.592042,
+              34.881416
+            ],
+            [
+              111.570484,
+              34.843114
+            ],
+            [
+              111.543999,
+              34.853428
+            ],
+            [
+              111.502731,
+              34.829851
+            ],
+            [
+              111.439289,
+              34.838202
+            ],
+            [
+              111.389398,
+              34.815113
+            ],
+            [
+              111.345666,
+              34.831816
+            ],
+            [
+              111.29208,
+              34.806759
+            ],
+            [
+              111.255123,
+              34.819535
+            ],
+            [
+              111.232949,
+              34.789559
+            ],
+            [
+              111.148566,
+              34.807742
+            ],
+            [
+              111.118385,
+              34.756623
+            ],
+            [
+              111.035233,
+              34.740887
+            ],
+            [
+              110.976103,
+              34.706456
+            ],
+            [
+              110.920052,
+              34.730068
+            ],
+            [
+              110.903422,
+              34.669056
+            ],
+            [
+              110.883712,
+              34.64395
+            ],
+            [
+              110.824582,
+              34.615881
+            ],
+            [
+              110.791937,
+              34.649858
+            ],
+            [
+              110.749437,
+              34.65232
+            ],
+            [
+              110.710017,
+              34.605045
+            ],
+            [
+              110.610851,
+              34.607508
+            ],
+            [
+              110.533242,
+              34.583368
+            ],
+            [
+              110.488279,
+              34.610956
+            ],
+            [
+              110.424837,
+              34.588295
+            ],
+            [
+              110.379257,
+              34.600612
+            ],
+            [
+              110.366939,
+              34.566614
+            ],
+            [
+              110.404511,
+              34.557743
+            ],
+            [
+              110.372482,
+              34.544435
+            ],
+            [
+              110.360779,
+              34.516825
+            ],
+            [
+              110.403279,
+              34.433448
+            ],
+            [
+              110.403279,
+              34.433448
+            ],
+            [
+              110.473496,
+              34.393457
+            ],
+            [
+              110.503677,
+              34.33714
+            ],
+            [
+              110.451938,
+              34.292653
+            ],
+            [
+              110.428533,
+              34.288203
+            ],
+            [
+              110.43962,
+              34.243196
+            ],
+            [
+              110.507989,
+              34.217466
+            ],
+            [
+              110.55172,
+              34.213012
+            ],
+            [
+              110.55788,
+              34.193214
+            ],
+            [
+              110.621938,
+              34.177372
+            ],
+            [
+              110.642264,
+              34.161032
+            ],
+            [
+              110.61393,
+              34.113478
+            ],
+            [
+              110.591757,
+              34.101586
+            ],
+            [
+              110.587445,
+              34.023252
+            ],
+            [
+              110.620706,
+              34.035652
+            ],
+            [
+              110.671213,
+              33.966192
+            ],
+            [
+              110.665669,
+              33.937895
+            ],
+            [
+              110.627481,
+              33.925482
+            ],
+            [
+              110.628713,
+              33.910086
+            ],
+            [
+              110.587445,
+              33.887733
+            ],
+            [
+              110.612083,
+              33.852453
+            ],
+            [
+              110.66259,
+              33.85295
+            ],
+            [
+              110.712481,
+              33.833564
+            ],
+            [
+              110.74143,
+              33.798759
+            ],
+            [
+              110.782082,
+              33.796272
+            ],
+            [
+              110.81719,
+              33.751003
+            ],
+            [
+              110.831973,
+              33.713675
+            ],
+            [
+              110.823966,
+              33.685793
+            ],
+            [
+              110.878784,
+              33.634486
+            ],
+            [
+              110.966864,
+              33.609071
+            ],
+            [
+              111.00382,
+              33.578662
+            ],
+            [
+              111.002588,
+              33.535772
+            ],
+            [
+              111.02661,
+              33.478386
+            ],
+            [
+              111.02661,
+              33.467903
+            ],
+            [
+              110.996429,
+              33.435946
+            ],
+            [
+              111.025994,
+              33.375495
+            ],
+            [
+              111.025994,
+              33.330504
+            ],
+            [
+              110.984726,
+              33.255469
+            ],
+            [
+              111.046936,
+              33.202905
+            ],
+            [
+              111.045704,
+              33.169849
+            ],
+            [
+              111.08882,
+              33.181871
+            ],
+            [
+              111.12824,
+              33.15532
+            ],
+            [
+              111.146102,
+              33.12375
+            ],
+            [
+              111.179363,
+              33.115229
+            ],
+            [
+              111.192913,
+              33.071609
+            ],
+            [
+              111.152877,
+              33.039507
+            ],
+            [
+              111.221862,
+              33.042517
+            ],
+            [
+              111.258819,
+              33.006389
+            ],
+            [
+              111.273601,
+              32.971753
+            ],
+            [
+              111.242804,
+              32.930573
+            ],
+            [
+              111.255123,
+              32.883846
+            ],
+            [
+              111.276065,
+              32.903445
+            ],
+            [
+              111.293311,
+              32.859217
+            ],
+            [
+              111.380159,
+              32.829049
+            ],
+            [
+              111.41342,
+              32.757108
+            ],
+            [
+              111.475629,
+              32.760127
+            ],
+            [
+              111.458383,
+              32.726402
+            ],
+            [
+              111.513202,
+              32.674026
+            ],
+            [
+              111.530448,
+              32.628172
+            ],
+            [
+              111.577875,
+              32.593388
+            ],
+            [
+              111.640701,
+              32.634724
+            ],
+            [
+              111.646245,
+              32.605993
+            ],
+            [
+              111.713382,
+              32.606497
+            ],
+            [
+              111.808853,
+              32.536899
+            ],
+            [
+              111.858128,
+              32.528826
+            ],
+            [
+              111.890157,
+              32.503089
+            ],
+            [
+              111.948671,
+              32.51722
+            ],
+            [
+              111.975772,
+              32.471791
+            ],
+            [
+              112.014576,
+              32.450077
+            ],
+            [
+              112.063851,
+              32.474315
+            ],
+            [
+              112.081098,
+              32.425833
+            ],
+            [
+              112.155626,
+              32.377326
+            ],
+            [
+              112.150083,
+              32.411688
+            ],
+            [
+              112.172873,
+              32.385412
+            ],
+            [
+              112.206133,
+              32.392992
+            ],
+            [
+              112.328089,
+              32.321712
+            ],
+            [
+              112.360118,
+              32.3657
+            ],
+            [
+              112.390915,
+              32.37126
+            ],
+            [
+              112.448814,
+              32.34295
+            ],
+            [
+              112.477147,
+              32.380863
+            ],
+            [
+              112.530733,
+              32.37682
+            ],
+            [
+              112.545516,
+              32.404109
+            ],
+            [
+              112.589248,
+              32.381369
+            ],
+            [
+              112.612037,
+              32.386928
+            ],
+            [
+              112.645298,
+              32.368227
+            ],
+            [
+              112.716747,
+              32.357612
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.768156,
+              32.284279
+            ],
+            [
+              113.768772,
+              32.30148
+            ],
+            [
+              113.749061,
+              32.272642
+            ],
+            [
+              113.758301,
+              32.27669
+            ],
+            [
+              113.768156,
+              32.284279
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 42e4,
+      name: "湖北省",
+      center: [
+        114.298572,
+        30.584355
+      ],
+      centroid: [
+        112.271301,
+        30.987527
+      ],
+      childrenNum: 17,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 16,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              111.045704,
+              33.169849
+            ],
+            [
+              111.034001,
+              33.177864
+            ],
+            [
+              111.035849,
+              33.187881
+            ],
+            [
+              111.046936,
+              33.202905
+            ],
+            [
+              110.984726,
+              33.255469
+            ],
+            [
+              110.960704,
+              33.253967
+            ],
+            [
+              110.9219,
+              33.203907
+            ],
+            [
+              110.865234,
+              33.213921
+            ],
+            [
+              110.828893,
+              33.201403
+            ],
+            [
+              110.824582,
+              33.158327
+            ],
+            [
+              110.753133,
+              33.15031
+            ],
+            [
+              110.702626,
+              33.097182
+            ],
+            [
+              110.650887,
+              33.157324
+            ],
+            [
+              110.623785,
+              33.143796
+            ],
+            [
+              110.59422,
+              33.168346
+            ],
+            [
+              110.57759,
+              33.250464
+            ],
+            [
+              110.54125,
+              33.255469
+            ],
+            [
+              110.471032,
+              33.171352
+            ],
+            [
+              110.398352,
+              33.176862
+            ],
+            [
+              110.398352,
+              33.176862
+            ],
+            [
+              110.372482,
+              33.186379
+            ],
+            [
+              110.33799,
+              33.160331
+            ],
+            [
+              110.285635,
+              33.171352
+            ],
+            [
+              110.218497,
+              33.163336
+            ],
+            [
+              110.164911,
+              33.209415
+            ],
+            [
+              110.031252,
+              33.191888
+            ],
+            [
+              109.999223,
+              33.212419
+            ],
+            [
+              109.973353,
+              33.203907
+            ],
+            [
+              109.916687,
+              33.229942
+            ],
+            [
+              109.852013,
+              33.247961
+            ],
+            [
+              109.813209,
+              33.236449
+            ],
+            [
+              109.732521,
+              33.231443
+            ],
+            [
+              109.693101,
+              33.254468
+            ],
+            [
+              109.649985,
+              33.251465
+            ],
+            [
+              109.619804,
+              33.275484
+            ],
+            [
+              109.60687,
+              33.235949
+            ],
+            [
+              109.514479,
+              33.237951
+            ],
+            [
+              109.498464,
+              33.207412
+            ],
+            [
+              109.438718,
+              33.152314
+            ],
+            [
+              109.468283,
+              33.140288
+            ],
+            [
+              109.522486,
+              33.138785
+            ],
+            [
+              109.576073,
+              33.110216
+            ],
+            [
+              109.688174,
+              33.116733
+            ],
+            [
+              109.704188,
+              33.101694
+            ],
+            [
+              109.794731,
+              33.067095
+            ],
+            [
+              109.785492,
+              32.987316
+            ],
+            [
+              109.76455,
+              32.909474
+            ],
+            [
+              109.789804,
+              32.882339
+            ],
+            [
+              109.847702,
+              32.893395
+            ],
+            [
+              109.856941,
+              32.910479
+            ],
+            [
+              109.907448,
+              32.903947
+            ],
+            [
+              109.927158,
+              32.887364
+            ],
+            [
+              109.988752,
+              32.886359
+            ],
+            [
+              110.051578,
+              32.851676
+            ],
+            [
+              110.105164,
+              32.832569
+            ],
+            [
+              110.142121,
+              32.802895
+            ],
+            [
+              110.127338,
+              32.77774
+            ],
+            [
+              110.159367,
+              32.767173
+            ],
+            [
+              110.156903,
+              32.683093
+            ],
+            [
+              110.206179,
+              32.633212
+            ],
+            [
+              110.153824,
+              32.593388
+            ],
+            [
+              110.124259,
+              32.616579
+            ],
+            [
+              110.090382,
+              32.617083
+            ],
+            [
+              110.084223,
+              32.580782
+            ],
+            [
+              110.017701,
+              32.546989
+            ],
+            [
+              109.97089,
+              32.577756
+            ],
+            [
+              109.910528,
+              32.592884
+            ],
+            [
+              109.816905,
+              32.577252
+            ],
+            [
+              109.746072,
+              32.594901
+            ],
+            [
+              109.726978,
+              32.608513
+            ],
+            [
+              109.631507,
+              32.599943
+            ],
+            [
+              109.619804,
+              32.56767
+            ],
+            [
+              109.637051,
+              32.540935
+            ],
+            [
+              109.575457,
+              32.506622
+            ],
+            [
+              109.526797,
+              32.43341
+            ],
+            [
+              109.529877,
+              32.405625
+            ],
+            [
+              109.502776,
+              32.38895
+            ],
+            [
+              109.513247,
+              32.342444
+            ],
+            [
+              109.495385,
+              32.300468
+            ],
+            [
+              109.528645,
+              32.270112
+            ],
+            [
+              109.550203,
+              32.225065
+            ],
+            [
+              109.592703,
+              32.219495
+            ],
+            [
+              109.604406,
+              32.199241
+            ],
+            [
+              109.58716,
+              32.161251
+            ],
+            [
+              109.621652,
+              32.106519
+            ],
+            [
+              109.590855,
+              32.047696
+            ],
+            [
+              109.590855,
+              32.012688
+            ],
+            [
+              109.631507,
+              31.962436
+            ],
+            [
+              109.62042,
+              31.928412
+            ],
+            [
+              109.584696,
+              31.900472
+            ],
+            [
+              109.60379,
+              31.885737
+            ],
+            [
+              109.633971,
+              31.824738
+            ],
+            [
+              109.633971,
+              31.804396
+            ],
+            [
+              109.592087,
+              31.789136
+            ],
+            [
+              109.585928,
+              31.726546
+            ],
+            [
+              109.622268,
+              31.711783
+            ],
+            [
+              109.683246,
+              31.719929
+            ],
+            [
+              109.731289,
+              31.700582
+            ],
+            [
+              109.737449,
+              31.628761
+            ],
+            [
+              109.76455,
+              31.602769
+            ],
+            [
+              109.745456,
+              31.598182
+            ],
+            [
+              109.727594,
+              31.548214
+            ],
+            [
+              109.837847,
+              31.555354
+            ],
+            [
+              109.894513,
+              31.519139
+            ],
+            [
+              109.969658,
+              31.508935
+            ],
+            [
+              109.94502,
+              31.47066
+            ],
+            [
+              109.98752,
+              31.474744
+            ],
+            [
+              110.036795,
+              31.436966
+            ],
+            [
+              110.054042,
+              31.410921
+            ],
+            [
+              110.118715,
+              31.409899
+            ],
+            [
+              110.161831,
+              31.314338
+            ],
+            [
+              110.155671,
+              31.279564
+            ],
+            [
+              110.180309,
+              31.179774
+            ],
+            [
+              110.200019,
+              31.158779
+            ],
+            [
+              110.180309,
+              31.121899
+            ],
+            [
+              110.147048,
+              31.116776
+            ],
+            [
+              110.119947,
+              31.088592
+            ],
+            [
+              110.120563,
+              31.0322
+            ],
+            [
+              110.140273,
+              31.030661
+            ],
+            [
+              110.140889,
+              30.987062
+            ],
+            [
+              110.172918,
+              30.978853
+            ],
+            [
+              110.153824,
+              30.953708
+            ],
+            [
+              110.151976,
+              30.911613
+            ],
+            [
+              110.082375,
+              30.799614
+            ],
+            [
+              110.048498,
+              30.800642
+            ],
+            [
+              110.019549,
+              30.829425
+            ],
+            [
+              110.008462,
+              30.883369
+            ],
+            [
+              109.943788,
+              30.878746
+            ],
+            [
+              109.894513,
+              30.899803
+            ],
+            [
+              109.828608,
+              30.864364
+            ],
+            [
+              109.780564,
+              30.848437
+            ],
+            [
+              109.701724,
+              30.783677
+            ],
+            [
+              109.656761,
+              30.760538
+            ],
+            [
+              109.661072,
+              30.738936
+            ],
+            [
+              109.625348,
+              30.702923
+            ],
+            [
+              109.590855,
+              30.69366
+            ],
+            [
+              109.574225,
+              30.646818
+            ],
+            [
+              109.543428,
+              30.63961
+            ],
+            [
+              109.535421,
+              30.664837
+            ],
+            [
+              109.435638,
+              30.595832
+            ],
+            [
+              109.418392,
+              30.559766
+            ],
+            [
+              109.35495,
+              30.487076
+            ],
+            [
+              109.337088,
+              30.521623
+            ],
+            [
+              109.36111,
+              30.551004
+            ],
+            [
+              109.314298,
+              30.599953
+            ],
+            [
+              109.299516,
+              30.630341
+            ],
+            [
+              109.245313,
+              30.580892
+            ],
+            [
+              109.191726,
+              30.545851
+            ],
+            [
+              109.191726,
+              30.545851
+            ],
+            [
+              109.143683,
+              30.521108
+            ],
+            [
+              109.103647,
+              30.565949
+            ],
+            [
+              109.09256,
+              30.578831
+            ],
+            [
+              109.106111,
+              30.61077
+            ],
+            [
+              109.111654,
+              30.646303
+            ],
+            [
+              109.071002,
+              30.640125
+            ],
+            [
+              109.042669,
+              30.655571
+            ],
+            [
+              109.006329,
+              30.626736
+            ],
+            [
+              108.971836,
+              30.627766
+            ],
+            [
+              108.893612,
+              30.565434
+            ],
+            [
+              108.838793,
+              30.503062
+            ],
+            [
+              108.808612,
+              30.491202
+            ],
+            [
+              108.789518,
+              30.513374
+            ],
+            [
+              108.743939,
+              30.494812
+            ],
+            [
+              108.698975,
+              30.54482
+            ],
+            [
+              108.688504,
+              30.58759
+            ],
+            [
+              108.642925,
+              30.578831
+            ],
+            [
+              108.6497,
+              30.53915
+            ],
+            [
+              108.56778,
+              30.468508
+            ],
+            [
+              108.556077,
+              30.487592
+            ],
+            [
+              108.512961,
+              30.501515
+            ],
+            [
+              108.472925,
+              30.487076
+            ],
+            [
+              108.42673,
+              30.492233
+            ],
+            [
+              108.411331,
+              30.438586
+            ],
+            [
+              108.430425,
+              30.416397
+            ],
+            [
+              108.402092,
+              30.376649
+            ],
+            [
+              108.431041,
+              30.354446
+            ],
+            [
+              108.460606,
+              30.35961
+            ],
+            [
+              108.501258,
+              30.314673
+            ],
+            [
+              108.524048,
+              30.309506
+            ],
+            [
+              108.54499,
+              30.269716
+            ],
+            [
+              108.581947,
+              30.255759
+            ],
+            [
+              108.551766,
+              30.1637
+            ],
+            [
+              108.56778,
+              30.157491
+            ],
+            [
+              108.546222,
+              30.104178
+            ],
+            [
+              108.513577,
+              30.057571
+            ],
+            [
+              108.532055,
+              30.051873
+            ],
+            [
+              108.536367,
+              29.983472
+            ],
+            [
+              108.517889,
+              29.9394
+            ],
+            [
+              108.516041,
+              29.885451
+            ],
+            [
+              108.467998,
+              29.864175
+            ],
+            [
+              108.433505,
+              29.880262
+            ],
+            [
+              108.371295,
+              29.841337
+            ],
+            [
+              108.424266,
+              29.815897
+            ],
+            [
+              108.422418,
+              29.772791
+            ],
+            [
+              108.442744,
+              29.778505
+            ],
+            [
+              108.437201,
+              29.741098
+            ],
+            [
+              108.460606,
+              29.741098
+            ],
+            [
+              108.504338,
+              29.707836
+            ],
+            [
+              108.504954,
+              29.728626
+            ],
+            [
+              108.548686,
+              29.749412
+            ],
+            [
+              108.52528,
+              29.770713
+            ],
+            [
+              108.556077,
+              29.818493
+            ],
+            [
+              108.601041,
+              29.863656
+            ],
+            [
+              108.658939,
+              29.854833
+            ],
+            [
+              108.680497,
+              29.800319
+            ],
+            [
+              108.676801,
+              29.749412
+            ],
+            [
+              108.690968,
+              29.689642
+            ],
+            [
+              108.752562,
+              29.649082
+            ],
+            [
+              108.786438,
+              29.691721
+            ],
+            [
+              108.797525,
+              29.660003
+            ],
+            [
+              108.781511,
+              29.635558
+            ],
+            [
+              108.844337,
+              29.658443
+            ],
+            [
+              108.888068,
+              29.628795
+            ],
+            [
+              108.870206,
+              29.596537
+            ],
+            [
+              108.901003,
+              29.604863
+            ],
+            [
+              108.913322,
+              29.574679
+            ],
+            [
+              108.878213,
+              29.539279
+            ],
+            [
+              108.888684,
+              29.502305
+            ],
+            [
+              108.866511,
+              29.470527
+            ],
+            [
+              108.884373,
+              29.440824
+            ],
+            [
+              108.927488,
+              29.435612
+            ],
+            [
+              108.934264,
+              29.399643
+            ],
+            [
+              108.919481,
+              29.3261
+            ],
+            [
+              108.983539,
+              29.332883
+            ],
+            [
+              108.999553,
+              29.36366
+            ],
+            [
+              109.034662,
+              29.360531
+            ],
+            [
+              109.060531,
+              29.403292
+            ],
+            [
+              109.11227,
+              29.361053
+            ],
+            [
+              109.106727,
+              29.288526
+            ],
+            [
+              109.141835,
+              29.270256
+            ],
+            [
+              109.110422,
+              29.21647
+            ],
+            [
+              109.139372,
+              29.168927
+            ],
+            [
+              109.162777,
+              29.180946
+            ],
+            [
+              109.215748,
+              29.145409
+            ],
+            [
+              109.232378,
+              29.119271
+            ],
+            [
+              109.274262,
+              29.121885
+            ],
+            [
+              109.261328,
+              29.161089
+            ],
+            [
+              109.275494,
+              29.202366
+            ],
+            [
+              109.257632,
+              29.222738
+            ],
+            [
+              109.312451,
+              29.25146
+            ],
+            [
+              109.352487,
+              29.284872
+            ],
+            [
+              109.343863,
+              29.369398
+            ],
+            [
+              109.391291,
+              29.372005
+            ],
+            [
+              109.368501,
+              29.413719
+            ],
+            [
+              109.418392,
+              29.453332
+            ],
+            [
+              109.415928,
+              29.497617
+            ],
+            [
+              109.436254,
+              29.488761
+            ],
+            [
+              109.433791,
+              29.530948
+            ],
+            [
+              109.458428,
+              29.513242
+            ],
+            [
+              109.467051,
+              29.560104
+            ],
+            [
+              109.488609,
+              29.553336
+            ],
+            [
+              109.516326,
+              29.626194
+            ],
+            [
+              109.558826,
+              29.606944
+            ],
+            [
+              109.578536,
+              29.629836
+            ],
+            [
+              109.651833,
+              29.625674
+            ],
+            [
+              109.664768,
+              29.599659
+            ],
+            [
+              109.717739,
+              29.615269
+            ],
+            [
+              109.701108,
+              29.636078
+            ],
+            [
+              109.714659,
+              29.673524
+            ],
+            [
+              109.760238,
+              29.689122
+            ],
+            [
+              109.755311,
+              29.733304
+            ],
+            [
+              109.779333,
+              29.757725
+            ],
+            [
+              109.869876,
+              29.774869
+            ],
+            [
+              109.908064,
+              29.763959
+            ],
+            [
+              109.941325,
+              29.774349
+            ],
+            [
+              110.02386,
+              29.769674
+            ],
+            [
+              110.113788,
+              29.789932
+            ],
+            [
+              110.160599,
+              29.753569
+            ],
+            [
+              110.219729,
+              29.746814
+            ],
+            [
+              110.289946,
+              29.6964
+            ],
+            [
+              110.302265,
+              29.661563
+            ],
+            [
+              110.339221,
+              29.668324
+            ],
+            [
+              110.372482,
+              29.633477
+            ],
+            [
+              110.447011,
+              29.664684
+            ],
+            [
+              110.467337,
+              29.713034
+            ],
+            [
+              110.507373,
+              29.692241
+            ],
+            [
+              110.562807,
+              29.712515
+            ],
+            [
+              110.642879,
+              29.775907
+            ],
+            [
+              110.60038,
+              29.839779
+            ],
+            [
+              110.549873,
+              29.848085
+            ],
+            [
+              110.538786,
+              29.895828
+            ],
+            [
+              110.49875,
+              29.91243
+            ],
+            [
+              110.517228,
+              29.961179
+            ],
+            [
+              110.557264,
+              29.988137
+            ],
+            [
+              110.491358,
+              30.019751
+            ],
+            [
+              110.497518,
+              30.055499
+            ],
+            [
+              110.531394,
+              30.061197
+            ],
+            [
+              110.600996,
+              30.054463
+            ],
+            [
+              110.650887,
+              30.07777
+            ],
+            [
+              110.712481,
+              30.033223
+            ],
+            [
+              110.756212,
+              30.054463
+            ],
+            [
+              110.746973,
+              30.112979
+            ],
+            [
+              110.851067,
+              30.126439
+            ],
+            [
+              110.924364,
+              30.111426
+            ],
+            [
+              110.929907,
+              30.063268
+            ],
+            [
+              111.031537,
+              30.048765
+            ],
+            [
+              111.242188,
+              30.040476
+            ],
+            [
+              111.266826,
+              30.01146
+            ],
+            [
+              111.3315,
+              29.970512
+            ],
+            [
+              111.342587,
+              29.944586
+            ],
+            [
+              111.382623,
+              29.95029
+            ],
+            [
+              111.394325,
+              29.912948
+            ],
+            [
+              111.436825,
+              29.930065
+            ],
+            [
+              111.475629,
+              29.918654
+            ],
+            [
+              111.527368,
+              29.925916
+            ],
+            [
+              111.553854,
+              29.894272
+            ],
+            [
+              111.669034,
+              29.888565
+            ],
+            [
+              111.669034,
+              29.888565
+            ],
+            [
+              111.705375,
+              29.890121
+            ],
+            [
+              111.723853,
+              29.909317
+            ],
+            [
+              111.723853,
+              29.909317
+            ],
+            [
+              111.75773,
+              29.92021
+            ],
+            [
+              111.8107,
+              29.901017
+            ],
+            [
+              111.861207,
+              29.856909
+            ],
+            [
+              111.899396,
+              29.855871
+            ],
+            [
+              111.899396,
+              29.855871
+            ],
+            [
+              111.925881,
+              29.836665
+            ],
+            [
+              111.965917,
+              29.832512
+            ],
+            [
+              111.95483,
+              29.796683
+            ],
+            [
+              112.008417,
+              29.778505
+            ],
+            [
+              112.07617,
+              29.743696
+            ],
+            [
+              112.065699,
+              29.681323
+            ],
+            [
+              112.089721,
+              29.685482
+            ],
+            [
+              112.111279,
+              29.659483
+            ],
+            [
+              112.178416,
+              29.656883
+            ],
+            [
+              112.202438,
+              29.633997
+            ],
+            [
+              112.244322,
+              29.659483
+            ],
+            [
+              112.233851,
+              29.61631
+            ],
+            [
+              112.303452,
+              29.585609
+            ],
+            [
+              112.281278,
+              29.536676
+            ],
+            [
+              112.291133,
+              29.517409
+            ],
+            [
+              112.333017,
+              29.545007
+            ],
+            [
+              112.368741,
+              29.541362
+            ],
+            [
+              112.424792,
+              29.598619
+            ],
+            [
+              112.439574,
+              29.633997
+            ],
+            [
+              112.499321,
+              29.629316
+            ],
+            [
+              112.54182,
+              29.60122
+            ],
+            [
+              112.572001,
+              29.624113
+            ],
+            [
+              112.640371,
+              29.607985
+            ],
+            [
+              112.650842,
+              29.592374
+            ],
+            [
+              112.693957,
+              29.601741
+            ],
+            [
+              112.714283,
+              29.648561
+            ],
+            [
+              112.733378,
+              29.645441
+            ],
+            [
+              112.788812,
+              29.681323
+            ],
+            [
+              112.79374,
+              29.735902
+            ],
+            [
+              112.861493,
+              29.78318
+            ],
+            [
+              112.894138,
+              29.783699
+            ],
+            [
+              112.902145,
+              29.79149
+            ],
+            [
+              112.929246,
+              29.77383
+            ],
+            [
+              112.923703,
+              29.766557
+            ],
+            [
+              112.926782,
+              29.692241
+            ],
+            [
+              112.944645,
+              29.682883
+            ],
+            [
+              112.974826,
+              29.732784
+            ],
+            [
+              113.025949,
+              29.772791
+            ],
+            [
+              113.005007,
+              29.693801
+            ],
+            [
+              112.915696,
+              29.620992
+            ],
+            [
+              112.912,
+              29.606944
+            ],
+            [
+              112.950188,
+              29.473132
+            ],
+            [
+              113.034572,
+              29.523658
+            ],
+            [
+              113.057362,
+              29.522616
+            ],
+            [
+              113.078304,
+              29.438218
+            ],
+            [
+              113.099861,
+              29.459585
+            ],
+            [
+              113.145441,
+              29.449163
+            ],
+            [
+              113.181781,
+              29.485636
+            ],
+            [
+              113.222433,
+              29.543965
+            ],
+            [
+              113.277252,
+              29.594976
+            ],
+            [
+              113.37765,
+              29.703158
+            ],
+            [
+              113.571671,
+              29.849123
+            ],
+            [
+              113.575367,
+              29.809147
+            ],
+            [
+              113.550729,
+              29.768115
+            ],
+            [
+              113.558736,
+              29.727067
+            ],
+            [
+              113.540258,
+              29.699519
+            ],
+            [
+              113.547033,
+              29.675603
+            ],
+            [
+              113.606164,
+              29.666764
+            ],
+            [
+              113.663446,
+              29.684443
+            ],
+            [
+              113.680692,
+              29.64336
+            ],
+            [
+              113.704098,
+              29.634518
+            ],
+            [
+              113.73859,
+              29.579363
+            ],
+            [
+              113.710257,
+              29.555419
+            ],
+            [
+              113.630801,
+              29.523137
+            ],
+            [
+              113.677613,
+              29.513763
+            ],
+            [
+              113.755221,
+              29.446557
+            ],
+            [
+              113.731199,
+              29.393907
+            ],
+            [
+              113.674533,
+              29.388172
+            ],
+            [
+              113.660982,
+              29.333405
+            ],
+            [
+              113.632033,
+              29.316186
+            ],
+            [
+              113.609859,
+              29.25146
+            ],
+            [
+              113.651743,
+              29.225872
+            ],
+            [
+              113.693011,
+              29.226394
+            ],
+            [
+              113.691779,
+              29.19662
+            ],
+            [
+              113.66283,
+              29.16945
+            ],
+            [
+              113.690547,
+              29.114566
+            ],
+            [
+              113.696091,
+              29.077437
+            ],
+            [
+              113.722576,
+              29.104631
+            ],
+            [
+              113.749677,
+              29.060699
+            ],
+            [
+              113.775547,
+              29.095219
+            ],
+            [
+              113.816199,
+              29.105154
+            ],
+            [
+              113.852539,
+              29.058606
+            ],
+            [
+              113.882104,
+              29.065407
+            ],
+            [
+              113.876561,
+              29.038202
+            ],
+            [
+              113.898119,
+              29.029307
+            ],
+            [
+              113.94185,
+              29.047097
+            ],
+            [
+              113.952321,
+              29.092604
+            ],
+            [
+              113.98743,
+              29.126068
+            ],
+            [
+              114.034857,
+              29.152204
+            ],
+            [
+              114.063191,
+              29.204978
+            ],
+            [
+              114.169748,
+              29.216993
+            ],
+            [
+              114.252284,
+              29.23475
+            ],
+            [
+              114.259059,
+              29.343839
+            ],
+            [
+              114.307102,
+              29.365225
+            ],
+            [
+              114.341595,
+              29.327665
+            ],
+            [
+              114.376088,
+              29.322969
+            ],
+            [
+              114.440145,
+              29.341752
+            ],
+            [
+              114.466015,
+              29.324013
+            ],
+            [
+              114.519602,
+              29.325578
+            ],
+            [
+              114.589819,
+              29.352707
+            ],
+            [
+              114.621847,
+              29.379828
+            ],
+            [
+              114.67297,
+              29.395993
+            ],
+            [
+              114.740724,
+              29.386607
+            ],
+            [
+              114.759818,
+              29.363139
+            ],
+            [
+              114.784455,
+              29.386086
+            ],
+            [
+              114.812173,
+              29.383478
+            ],
+            [
+              114.866375,
+              29.404335
+            ],
+            [
+              114.895325,
+              29.397557
+            ],
+            [
+              114.931049,
+              29.422581
+            ],
+            [
+              114.947063,
+              29.465317
+            ],
+            [
+              114.935977,
+              29.486678
+            ],
+            [
+              114.90518,
+              29.473132
+            ],
+            [
+              114.918114,
+              29.454374
+            ],
+            [
+              114.888549,
+              29.436134
+            ],
+            [
+              114.860216,
+              29.476258
+            ],
+            [
+              114.900868,
+              29.505951
+            ],
+            [
+              114.940288,
+              29.493971
+            ],
+            [
+              114.966773,
+              29.522096
+            ],
+            [
+              114.947679,
+              29.542924
+            ],
+            [
+              115.00065,
+              29.572076
+            ],
+            [
+              115.033295,
+              29.546568
+            ],
+            [
+              115.087498,
+              29.560104
+            ],
+            [
+              115.086266,
+              29.525741
+            ],
+            [
+              115.154019,
+              29.510117
+            ],
+            [
+              115.157099,
+              29.584568
+            ],
+            [
+              115.120142,
+              29.597578
+            ],
+            [
+              115.143548,
+              29.645961
+            ],
+            [
+              115.117679,
+              29.655843
+            ],
+            [
+              115.113367,
+              29.684963
+            ],
+            [
+              115.176809,
+              29.654803
+            ],
+            [
+              115.250722,
+              29.660003
+            ],
+            [
+              115.28583,
+              29.618391
+            ],
+            [
+              115.304924,
+              29.637118
+            ],
+            [
+              115.355431,
+              29.649602
+            ],
+            [
+              115.412714,
+              29.688602
+            ],
+            [
+              115.470612,
+              29.739539
+            ],
+            [
+              115.479235,
+              29.811224
+            ],
+            [
+              115.51188,
+              29.840299
+            ],
+            [
+              115.611662,
+              29.841337
+            ],
+            [
+              115.667712,
+              29.850161
+            ],
+            [
+              115.706517,
+              29.837703
+            ],
+            [
+              115.762567,
+              29.793048
+            ],
+            [
+              115.837096,
+              29.748373
+            ],
+            [
+              115.909777,
+              29.723949
+            ],
+            [
+              115.965827,
+              29.724469
+            ],
+            [
+              116.049595,
+              29.761881
+            ],
+            [
+              116.087167,
+              29.795125
+            ],
+            [
+              116.13521,
+              29.819532
+            ],
+            [
+              116.128435,
+              29.897904
+            ],
+            [
+              116.073616,
+              29.969993
+            ],
+            [
+              116.091479,
+              30.036331
+            ],
+            [
+              116.078544,
+              30.062233
+            ],
+            [
+              116.088399,
+              30.110391
+            ],
+            [
+              116.055754,
+              30.180774
+            ],
+            [
+              116.065609,
+              30.204569
+            ],
+            [
+              115.997856,
+              30.252657
+            ],
+            [
+              115.985537,
+              30.290905
+            ],
+            [
+              115.903001,
+              30.31364
+            ],
+            [
+              115.91532,
+              30.337919
+            ],
+            [
+              115.885139,
+              30.379747
+            ],
+            [
+              115.921479,
+              30.416397
+            ],
+            [
+              115.894994,
+              30.452517
+            ],
+            [
+              115.910393,
+              30.519046
+            ],
+            [
+              115.887603,
+              30.542758
+            ],
+            [
+              115.876516,
+              30.582438
+            ],
+            [
+              115.848799,
+              30.602014
+            ],
+            [
+              115.819234,
+              30.597893
+            ],
+            [
+              115.81369,
+              30.637035
+            ],
+            [
+              115.762567,
+              30.685426
+            ],
+            [
+              115.782893,
+              30.751795
+            ],
+            [
+              115.851262,
+              30.756938
+            ],
+            [
+              115.863581,
+              30.815549
+            ],
+            [
+              115.848799,
+              30.828397
+            ],
+            [
+              115.865429,
+              30.864364
+            ],
+            [
+              115.932566,
+              30.889532
+            ],
+            [
+              115.976298,
+              30.931636
+            ],
+            [
+              116.03974,
+              30.957813
+            ],
+            [
+              116.071769,
+              30.956787
+            ],
+            [
+              116.058834,
+              31.012711
+            ],
+            [
+              116.015102,
+              31.011685
+            ],
+            [
+              116.006479,
+              31.034764
+            ],
+            [
+              115.938726,
+              31.04707
+            ],
+            [
+              115.939958,
+              31.071678
+            ],
+            [
+              115.887603,
+              31.10909
+            ],
+            [
+              115.867277,
+              31.147512
+            ],
+            [
+              115.837712,
+              31.127022
+            ],
+            [
+              115.797676,
+              31.128047
+            ],
+            [
+              115.778582,
+              31.112164
+            ],
+            [
+              115.700973,
+              31.201276
+            ],
+            [
+              115.655394,
+              31.211002
+            ],
+            [
+              115.603655,
+              31.17363
+            ],
+            [
+              115.585793,
+              31.143926
+            ],
+            [
+              115.540213,
+              31.194621
+            ],
+            [
+              115.539597,
+              31.231985
+            ],
+            [
+              115.507568,
+              31.267799
+            ],
+            [
+              115.473076,
+              31.265242
+            ],
+            [
+              115.443511,
+              31.344498
+            ],
+            [
+              115.40717,
+              31.337854
+            ],
+            [
+              115.372062,
+              31.349098
+            ],
+            [
+              115.393004,
+              31.389977
+            ],
+            [
+              115.373909,
+              31.405813
+            ],
+            [
+              115.338801,
+              31.40428
+            ],
+            [
+              115.301229,
+              31.383846
+            ],
+            [
+              115.250722,
+              31.392021
+            ],
+            [
+              115.252569,
+              31.421646
+            ],
+            [
+              115.211301,
+              31.442072
+            ],
+            [
+              115.218077,
+              31.515057
+            ],
+            [
+              115.235939,
+              31.555354
+            ],
+            [
+              115.212533,
+              31.555354
+            ],
+            [
+              115.16449,
+              31.604808
+            ],
+            [
+              115.12507,
+              31.599201
+            ],
+            [
+              115.106592,
+              31.567592
+            ],
+            [
+              115.114599,
+              31.530362
+            ],
+            [
+              115.096121,
+              31.508425
+            ],
+            [
+              115.022824,
+              31.527811
+            ],
+            [
+              114.995107,
+              31.471171
+            ],
+            [
+              114.962462,
+              31.494648
+            ],
+            [
+              114.884238,
+              31.469129
+            ],
+            [
+              114.870071,
+              31.479337
+            ],
+            [
+              114.830035,
+              31.45892
+            ],
+            [
+              114.789383,
+              31.480358
+            ],
+            [
+              114.778912,
+              31.520669
+            ],
+            [
+              114.696376,
+              31.525771
+            ],
+            [
+              114.641558,
+              31.582378
+            ],
+            [
+              114.61692,
+              31.585437
+            ],
+            [
+              114.572572,
+              31.553824
+            ],
+            [
+              114.560869,
+              31.560963
+            ],
+            [
+              114.547935,
+              31.623665
+            ],
+            [
+              114.57134,
+              31.660858
+            ],
+            [
+              114.586123,
+              31.762172
+            ],
+            [
+              114.549783,
+              31.766751
+            ],
+            [
+              114.530688,
+              31.742834
+            ],
+            [
+              114.443841,
+              31.728074
+            ],
+            [
+              114.403189,
+              31.746906
+            ],
+            [
+              114.350218,
+              31.755557
+            ],
+            [
+              114.292936,
+              31.752503
+            ],
+            [
+              114.235654,
+              31.833382
+            ],
+            [
+              114.191922,
+              31.852192
+            ],
+            [
+              114.134024,
+              31.843042
+            ],
+            [
+              114.121705,
+              31.809482
+            ],
+            [
+              114.086596,
+              31.782014
+            ],
+            [
+              114.017611,
+              31.770822
+            ],
+            [
+              113.988662,
+              31.749959
+            ],
+            [
+              113.952321,
+              31.793714
+            ],
+            [
+              113.957865,
+              31.852701
+            ],
+            [
+              113.914749,
+              31.877098
+            ],
+            [
+              113.893807,
+              31.847109
+            ],
+            [
+              113.854387,
+              31.843042
+            ],
+            [
+              113.830981,
+              31.87913
+            ],
+            [
+              113.832213,
+              31.918761
+            ],
+            [
+              113.805728,
+              31.929428
+            ],
+            [
+              113.817431,
+              31.964467
+            ],
+            [
+              113.757685,
+              31.98985
+            ],
+            [
+              113.791561,
+              32.036028
+            ],
+            [
+              113.728735,
+              32.083197
+            ],
+            [
+              113.722576,
+              32.12426
+            ],
+            [
+              113.750293,
+              32.11615
+            ],
+            [
+              113.782322,
+              32.184553
+            ],
+            [
+              113.752757,
+              32.215951
+            ],
+            [
+              113.73859,
+              32.255942
+            ],
+            [
+              113.749061,
+              32.272642
+            ],
+            [
+              113.768772,
+              32.30148
+            ],
+            [
+              113.753989,
+              32.328286
+            ],
+            [
+              113.76754,
+              32.370249
+            ],
+            [
+              113.735511,
+              32.410677
+            ],
+            [
+              113.700402,
+              32.420782
+            ],
+            [
+              113.650511,
+              32.412698
+            ],
+            [
+              113.624642,
+              32.36115
+            ],
+            [
+              113.511925,
+              32.316654
+            ],
+            [
+              113.428773,
+              32.270618
+            ],
+            [
+              113.376418,
+              32.298445
+            ],
+            [
+              113.353628,
+              32.294904
+            ],
+            [
+              113.317904,
+              32.327275
+            ],
+            [
+              113.333918,
+              32.336377
+            ],
+            [
+              113.2366,
+              32.407141
+            ],
+            [
+              113.211962,
+              32.431895
+            ],
+            [
+              113.158992,
+              32.410677
+            ],
+            [
+              113.155912,
+              32.380863
+            ],
+            [
+              113.118956,
+              32.375809
+            ],
+            [
+              113.107869,
+              32.398551
+            ],
+            [
+              113.078919,
+              32.394508
+            ],
+            [
+              113.025949,
+              32.425328
+            ],
+            [
+              113.000695,
+              32.41674
+            ],
+            [
+              112.992072,
+              32.378336
+            ],
+            [
+              112.912,
+              32.390971
+            ],
+            [
+              112.888594,
+              32.37682
+            ],
+            [
+              112.860877,
+              32.396024
+            ],
+            [
+              112.776493,
+              32.358623
+            ],
+            [
+              112.735841,
+              32.356095
+            ],
+            [
+              112.733993,
+              32.356601
+            ],
+            [
+              112.724138,
+              32.358623
+            ],
+            [
+              112.716747,
+              32.357612
+            ],
+            [
+              112.645298,
+              32.368227
+            ],
+            [
+              112.612037,
+              32.386928
+            ],
+            [
+              112.589248,
+              32.381369
+            ],
+            [
+              112.545516,
+              32.404109
+            ],
+            [
+              112.530733,
+              32.37682
+            ],
+            [
+              112.477147,
+              32.380863
+            ],
+            [
+              112.448814,
+              32.34295
+            ],
+            [
+              112.390915,
+              32.37126
+            ],
+            [
+              112.360118,
+              32.3657
+            ],
+            [
+              112.328089,
+              32.321712
+            ],
+            [
+              112.206133,
+              32.392992
+            ],
+            [
+              112.172873,
+              32.385412
+            ],
+            [
+              112.150083,
+              32.411688
+            ],
+            [
+              112.155626,
+              32.377326
+            ],
+            [
+              112.081098,
+              32.425833
+            ],
+            [
+              112.063851,
+              32.474315
+            ],
+            [
+              112.014576,
+              32.450077
+            ],
+            [
+              111.975772,
+              32.471791
+            ],
+            [
+              111.948671,
+              32.51722
+            ],
+            [
+              111.890157,
+              32.503089
+            ],
+            [
+              111.858128,
+              32.528826
+            ],
+            [
+              111.808853,
+              32.536899
+            ],
+            [
+              111.713382,
+              32.606497
+            ],
+            [
+              111.646245,
+              32.605993
+            ],
+            [
+              111.640701,
+              32.634724
+            ],
+            [
+              111.577875,
+              32.593388
+            ],
+            [
+              111.530448,
+              32.628172
+            ],
+            [
+              111.513202,
+              32.674026
+            ],
+            [
+              111.458383,
+              32.726402
+            ],
+            [
+              111.475629,
+              32.760127
+            ],
+            [
+              111.41342,
+              32.757108
+            ],
+            [
+              111.380159,
+              32.829049
+            ],
+            [
+              111.293311,
+              32.859217
+            ],
+            [
+              111.276065,
+              32.903445
+            ],
+            [
+              111.255123,
+              32.883846
+            ],
+            [
+              111.242804,
+              32.930573
+            ],
+            [
+              111.273601,
+              32.971753
+            ],
+            [
+              111.258819,
+              33.006389
+            ],
+            [
+              111.221862,
+              33.042517
+            ],
+            [
+              111.152877,
+              33.039507
+            ],
+            [
+              111.192913,
+              33.071609
+            ],
+            [
+              111.179363,
+              33.115229
+            ],
+            [
+              111.146102,
+              33.12375
+            ],
+            [
+              111.12824,
+              33.15532
+            ],
+            [
+              111.08882,
+              33.181871
+            ],
+            [
+              111.045704,
+              33.169849
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.106111,
+              30.570587
+            ],
+            [
+              109.101183,
+              30.579346
+            ],
+            [
+              109.09872,
+              30.579346
+            ],
+            [
+              109.106111,
+              30.570587
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.046936,
+              33.202905
+            ],
+            [
+              111.035849,
+              33.187881
+            ],
+            [
+              111.034001,
+              33.177864
+            ],
+            [
+              111.045704,
+              33.169849
+            ],
+            [
+              111.046936,
+              33.202905
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.716747,
+              32.357612
+            ],
+            [
+              112.735841,
+              32.356095
+            ],
+            [
+              112.733993,
+              32.356601
+            ],
+            [
+              112.724138,
+              32.358623
+            ],
+            [
+              112.716747,
+              32.357612
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.902145,
+              29.79149
+            ],
+            [
+              112.894138,
+              29.783699
+            ],
+            [
+              112.923703,
+              29.766557
+            ],
+            [
+              112.929246,
+              29.77383
+            ],
+            [
+              112.902145,
+              29.79149
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 43e4,
+      name: "湖南省",
+      center: [
+        112.982279,
+        28.19409
+      ],
+      centroid: [
+        111.711649,
+        27.629216
+      ],
+      childrenNum: 14,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 17,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              112.024431,
+              24.740308
+            ],
+            [
+              112.03367,
+              24.771286
+            ],
+            [
+              112.124214,
+              24.841364
+            ],
+            [
+              112.149467,
+              24.837019
+            ],
+            [
+              112.167329,
+              24.859828
+            ],
+            [
+              112.175337,
+              24.927685
+            ],
+            [
+              112.119902,
+              24.963499
+            ],
+            [
+              112.12175,
+              24.989538
+            ],
+            [
+              112.155626,
+              25.026419
+            ],
+            [
+              112.151931,
+              25.055698
+            ],
+            [
+              112.177184,
+              25.106649
+            ],
+            [
+              112.187039,
+              25.182494
+            ],
+            [
+              112.246785,
+              25.185202
+            ],
+            [
+              112.256025,
+              25.159204
+            ],
+            [
+              112.302836,
+              25.157037
+            ],
+            [
+              112.315771,
+              25.175453
+            ],
+            [
+              112.365046,
+              25.191701
+            ],
+            [
+              112.414937,
+              25.14241
+            ],
+            [
+              112.44327,
+              25.185744
+            ],
+            [
+              112.458053,
+              25.152162
+            ],
+            [
+              112.562762,
+              25.124531
+            ],
+            [
+              112.628052,
+              25.140785
+            ],
+            [
+              112.660081,
+              25.132658
+            ],
+            [
+              112.712436,
+              25.083344
+            ],
+            [
+              112.714899,
+              25.025876
+            ],
+            [
+              112.742001,
+              24.99876
+            ],
+            [
+              112.743233,
+              24.959701
+            ],
+            [
+              112.778341,
+              24.947764
+            ],
+            [
+              112.780805,
+              24.896747
+            ],
+            [
+              112.873812,
+              24.896747
+            ],
+            [
+              112.904609,
+              24.921715
+            ],
+            [
+              112.941565,
+              24.915745
+            ],
+            [
+              112.994536,
+              24.927142
+            ],
+            [
+              113.009934,
+              24.977604
+            ],
+            [
+              112.979137,
+              25.03401
+            ],
+            [
+              113.004391,
+              25.089306
+            ],
+            [
+              112.96805,
+              25.141869
+            ],
+            [
+              112.97421,
+              25.168412
+            ],
+            [
+              113.034572,
+              25.198199
+            ],
+            [
+              112.992688,
+              25.247467
+            ],
+            [
+              112.958195,
+              25.254503
+            ],
+            [
+              112.897833,
+              25.238264
+            ],
+            [
+              112.867036,
+              25.249632
+            ],
+            [
+              112.854718,
+              25.337829
+            ],
+            [
+              112.891058,
+              25.339993
+            ],
+            [
+              112.924319,
+              25.296714
+            ],
+            [
+              112.93479,
+              25.325929
+            ],
+            [
+              112.969898,
+              25.350269
+            ],
+            [
+              113.013014,
+              25.352432
+            ],
+            [
+              113.078304,
+              25.382174
+            ],
+            [
+              113.096782,
+              25.412449
+            ],
+            [
+              113.131274,
+              25.414611
+            ],
+            [
+              113.11834,
+              25.445418
+            ],
+            [
+              113.176854,
+              25.471355
+            ],
+            [
+              113.226129,
+              25.50971
+            ],
+            [
+              113.248919,
+              25.514031
+            ],
+            [
+              113.311129,
+              25.490264
+            ],
+            [
+              113.314208,
+              25.442716
+            ],
+            [
+              113.341926,
+              25.448661
+            ],
+            [
+              113.373338,
+              25.402719
+            ],
+            [
+              113.407215,
+              25.401637
+            ],
+            [
+              113.449715,
+              25.359463
+            ],
+            [
+              113.479896,
+              25.375145
+            ],
+            [
+              113.535946,
+              25.368656
+            ],
+            [
+              113.579062,
+              25.34432
+            ],
+            [
+              113.584606,
+              25.306453
+            ],
+            [
+              113.611707,
+              25.327552
+            ],
+            [
+              113.680076,
+              25.334584
+            ],
+            [
+              113.686852,
+              25.351891
+            ],
+            [
+              113.753373,
+              25.362707
+            ],
+            [
+              113.76446,
+              25.333502
+            ],
+            [
+              113.814967,
+              25.328634
+            ],
+            [
+              113.839605,
+              25.363248
+            ],
+            [
+              113.877177,
+              25.380552
+            ],
+            [
+              113.887032,
+              25.436772
+            ],
+            [
+              113.94493,
+              25.441635
+            ],
+            [
+              113.962792,
+              25.528072
+            ],
+            [
+              113.986198,
+              25.529153
+            ],
+            [
+              113.983118,
+              25.599336
+            ],
+            [
+              113.957249,
+              25.611749
+            ],
+            [
+              113.913517,
+              25.701299
+            ],
+            [
+              113.920293,
+              25.741197
+            ],
+            [
+              113.961561,
+              25.77731
+            ],
+            [
+              113.971416,
+              25.836036
+            ],
+            [
+              114.028082,
+              25.893119
+            ],
+            [
+              114.028082,
+              25.98138
+            ],
+            [
+              114.008372,
+              26.015806
+            ],
+            [
+              114.044096,
+              26.076564
+            ],
+            [
+              114.087828,
+              26.06635
+            ],
+            [
+              114.121089,
+              26.085702
+            ],
+            [
+              114.10569,
+              26.097526
+            ],
+            [
+              114.188842,
+              26.121172
+            ],
+            [
+              114.237501,
+              26.152333
+            ],
+            [
+              114.216559,
+              26.203355
+            ],
+            [
+              114.181451,
+              26.214631
+            ],
+            [
+              114.102611,
+              26.187783
+            ],
+            [
+              114.088444,
+              26.168448
+            ],
+            [
+              114.013299,
+              26.184023
+            ],
+            [
+              113.962792,
+              26.150722
+            ],
+            [
+              113.949242,
+              26.192616
+            ],
+            [
+              113.972647,
+              26.20604
+            ],
+            [
+              113.978807,
+              26.237716
+            ],
+            [
+              114.029314,
+              26.266163
+            ],
+            [
+              114.021307,
+              26.288701
+            ],
+            [
+              114.047792,
+              26.337518
+            ],
+            [
+              114.030546,
+              26.376664
+            ],
+            [
+              114.062575,
+              26.406149
+            ],
+            [
+              114.085364,
+              26.406149
+            ],
+            [
+              114.090292,
+              26.455988
+            ],
+            [
+              114.110002,
+              26.482775
+            ],
+            [
+              114.07243,
+              26.480096
+            ],
+            [
+              114.10877,
+              26.56952
+            ],
+            [
+              114.019459,
+              26.587182
+            ],
+            [
+              113.996669,
+              26.615543
+            ],
+            [
+              113.912901,
+              26.613938
+            ],
+            [
+              113.860546,
+              26.664221
+            ],
+            [
+              113.853771,
+              26.769532
+            ],
+            [
+              113.835909,
+              26.806394
+            ],
+            [
+              113.877177,
+              26.859262
+            ],
+            [
+              113.890112,
+              26.895562
+            ],
+            [
+              113.927068,
+              26.948922
+            ],
+            [
+              113.892575,
+              26.964925
+            ],
+            [
+              113.86301,
+              27.018252
+            ],
+            [
+              113.824206,
+              27.036378
+            ],
+            [
+              113.803264,
+              27.099261
+            ],
+            [
+              113.771851,
+              27.096598
+            ],
+            [
+              113.779242,
+              27.137081
+            ],
+            [
+              113.846996,
+              27.222262
+            ],
+            [
+              113.872865,
+              27.289828
+            ],
+            [
+              113.854387,
+              27.30525
+            ],
+            [
+              113.872865,
+              27.346721
+            ],
+            [
+              113.872865,
+              27.384988
+            ],
+            [
+              113.72812,
+              27.350442
+            ],
+            [
+              113.699786,
+              27.331836
+            ],
+            [
+              113.657902,
+              27.347253
+            ],
+            [
+              113.616635,
+              27.345658
+            ],
+            [
+              113.605548,
+              27.38924
+            ],
+            [
+              113.632033,
+              27.40518
+            ],
+            [
+              113.59754,
+              27.428554
+            ],
+            [
+              113.591381,
+              27.467855
+            ],
+            [
+              113.627105,
+              27.49971
+            ],
+            [
+              113.583374,
+              27.524657
+            ],
+            [
+              113.579062,
+              27.545354
+            ],
+            [
+              113.608627,
+              27.585143
+            ],
+            [
+              113.607395,
+              27.625449
+            ],
+            [
+              113.652359,
+              27.663619
+            ],
+            [
+              113.696707,
+              27.71979
+            ],
+            [
+              113.69917,
+              27.740979
+            ],
+            [
+              113.763228,
+              27.799228
+            ],
+            [
+              113.756453,
+              27.860091
+            ],
+            [
+              113.72812,
+              27.874904
+            ],
+            [
+              113.752141,
+              27.93361
+            ],
+            [
+              113.822974,
+              27.982243
+            ],
+            [
+              113.845148,
+              27.971672
+            ],
+            [
+              113.864242,
+              28.004966
+            ],
+            [
+              113.914133,
+              27.991227
+            ],
+            [
+              113.936307,
+              28.018703
+            ],
+            [
+              113.966488,
+              28.017646
+            ],
+            [
+              113.970184,
+              28.041418
+            ],
+            [
+              114.025618,
+              28.031382
+            ],
+            [
+              114.047176,
+              28.057263
+            ],
+            [
+              114.025002,
+              28.080499
+            ],
+            [
+              113.992357,
+              28.161255
+            ],
+            [
+              114.012068,
+              28.174972
+            ],
+            [
+              114.068734,
+              28.171806
+            ],
+            [
+              114.107538,
+              28.182885
+            ],
+            [
+              114.109386,
+              28.205038
+            ],
+            [
+              114.143879,
+              28.246694
+            ],
+            [
+              114.182067,
+              28.249858
+            ],
+            [
+              114.198081,
+              28.29097
+            ],
+            [
+              114.2529,
+              28.319423
+            ],
+            [
+              114.252284,
+              28.395787
+            ],
+            [
+              114.214712,
+              28.403157
+            ],
+            [
+              114.172212,
+              28.432632
+            ],
+            [
+              114.217175,
+              28.466308
+            ],
+            [
+              114.218407,
+              28.48472
+            ],
+            [
+              114.15435,
+              28.507337
+            ],
+            [
+              114.138335,
+              28.533629
+            ],
+            [
+              114.08598,
+              28.558337
+            ],
+            [
+              114.132176,
+              28.607211
+            ],
+            [
+              114.122321,
+              28.623497
+            ],
+            [
+              114.157429,
+              28.761566
+            ],
+            [
+              114.137719,
+              28.779926
+            ],
+            [
+              114.153734,
+              28.829221
+            ],
+            [
+              114.124784,
+              28.843376
+            ],
+            [
+              114.076741,
+              28.834464
+            ],
+            [
+              114.056415,
+              28.872204
+            ],
+            [
+              114.060111,
+              28.902596
+            ],
+            [
+              114.028082,
+              28.891069
+            ],
+            [
+              114.005292,
+              28.917788
+            ],
+            [
+              114.008988,
+              28.955498
+            ],
+            [
+              113.973879,
+              28.937692
+            ],
+            [
+              113.955401,
+              28.978536
+            ],
+            [
+              113.961561,
+              28.999476
+            ],
+            [
+              113.94185,
+              29.047097
+            ],
+            [
+              113.898119,
+              29.029307
+            ],
+            [
+              113.876561,
+              29.038202
+            ],
+            [
+              113.882104,
+              29.065407
+            ],
+            [
+              113.852539,
+              29.058606
+            ],
+            [
+              113.816199,
+              29.105154
+            ],
+            [
+              113.775547,
+              29.095219
+            ],
+            [
+              113.749677,
+              29.060699
+            ],
+            [
+              113.722576,
+              29.104631
+            ],
+            [
+              113.696091,
+              29.077437
+            ],
+            [
+              113.690547,
+              29.114566
+            ],
+            [
+              113.66283,
+              29.16945
+            ],
+            [
+              113.691779,
+              29.19662
+            ],
+            [
+              113.693011,
+              29.226394
+            ],
+            [
+              113.651743,
+              29.225872
+            ],
+            [
+              113.609859,
+              29.25146
+            ],
+            [
+              113.632033,
+              29.316186
+            ],
+            [
+              113.660982,
+              29.333405
+            ],
+            [
+              113.674533,
+              29.388172
+            ],
+            [
+              113.731199,
+              29.393907
+            ],
+            [
+              113.755221,
+              29.446557
+            ],
+            [
+              113.677613,
+              29.513763
+            ],
+            [
+              113.630801,
+              29.523137
+            ],
+            [
+              113.710257,
+              29.555419
+            ],
+            [
+              113.73859,
+              29.579363
+            ],
+            [
+              113.704098,
+              29.634518
+            ],
+            [
+              113.680692,
+              29.64336
+            ],
+            [
+              113.663446,
+              29.684443
+            ],
+            [
+              113.606164,
+              29.666764
+            ],
+            [
+              113.547033,
+              29.675603
+            ],
+            [
+              113.540258,
+              29.699519
+            ],
+            [
+              113.558736,
+              29.727067
+            ],
+            [
+              113.550729,
+              29.768115
+            ],
+            [
+              113.575367,
+              29.809147
+            ],
+            [
+              113.571671,
+              29.849123
+            ],
+            [
+              113.37765,
+              29.703158
+            ],
+            [
+              113.277252,
+              29.594976
+            ],
+            [
+              113.222433,
+              29.543965
+            ],
+            [
+              113.181781,
+              29.485636
+            ],
+            [
+              113.145441,
+              29.449163
+            ],
+            [
+              113.099861,
+              29.459585
+            ],
+            [
+              113.078304,
+              29.438218
+            ],
+            [
+              113.057362,
+              29.522616
+            ],
+            [
+              113.034572,
+              29.523658
+            ],
+            [
+              112.950188,
+              29.473132
+            ],
+            [
+              112.912,
+              29.606944
+            ],
+            [
+              112.915696,
+              29.620992
+            ],
+            [
+              113.005007,
+              29.693801
+            ],
+            [
+              113.025949,
+              29.772791
+            ],
+            [
+              112.974826,
+              29.732784
+            ],
+            [
+              112.944645,
+              29.682883
+            ],
+            [
+              112.926782,
+              29.692241
+            ],
+            [
+              112.923703,
+              29.766557
+            ],
+            [
+              112.894138,
+              29.783699
+            ],
+            [
+              112.861493,
+              29.78318
+            ],
+            [
+              112.79374,
+              29.735902
+            ],
+            [
+              112.788812,
+              29.681323
+            ],
+            [
+              112.733378,
+              29.645441
+            ],
+            [
+              112.714283,
+              29.648561
+            ],
+            [
+              112.693957,
+              29.601741
+            ],
+            [
+              112.650842,
+              29.592374
+            ],
+            [
+              112.640371,
+              29.607985
+            ],
+            [
+              112.572001,
+              29.624113
+            ],
+            [
+              112.54182,
+              29.60122
+            ],
+            [
+              112.499321,
+              29.629316
+            ],
+            [
+              112.439574,
+              29.633997
+            ],
+            [
+              112.424792,
+              29.598619
+            ],
+            [
+              112.368741,
+              29.541362
+            ],
+            [
+              112.333017,
+              29.545007
+            ],
+            [
+              112.291133,
+              29.517409
+            ],
+            [
+              112.281278,
+              29.536676
+            ],
+            [
+              112.303452,
+              29.585609
+            ],
+            [
+              112.233851,
+              29.61631
+            ],
+            [
+              112.244322,
+              29.659483
+            ],
+            [
+              112.202438,
+              29.633997
+            ],
+            [
+              112.178416,
+              29.656883
+            ],
+            [
+              112.111279,
+              29.659483
+            ],
+            [
+              112.089721,
+              29.685482
+            ],
+            [
+              112.065699,
+              29.681323
+            ],
+            [
+              112.07617,
+              29.743696
+            ],
+            [
+              112.008417,
+              29.778505
+            ],
+            [
+              111.95483,
+              29.796683
+            ],
+            [
+              111.965917,
+              29.832512
+            ],
+            [
+              111.925881,
+              29.836665
+            ],
+            [
+              111.899396,
+              29.855871
+            ],
+            [
+              111.899396,
+              29.855871
+            ],
+            [
+              111.861207,
+              29.856909
+            ],
+            [
+              111.8107,
+              29.901017
+            ],
+            [
+              111.75773,
+              29.92021
+            ],
+            [
+              111.723853,
+              29.909317
+            ],
+            [
+              111.723853,
+              29.909317
+            ],
+            [
+              111.705375,
+              29.890121
+            ],
+            [
+              111.669034,
+              29.888565
+            ],
+            [
+              111.669034,
+              29.888565
+            ],
+            [
+              111.553854,
+              29.894272
+            ],
+            [
+              111.527368,
+              29.925916
+            ],
+            [
+              111.475629,
+              29.918654
+            ],
+            [
+              111.436825,
+              29.930065
+            ],
+            [
+              111.394325,
+              29.912948
+            ],
+            [
+              111.382623,
+              29.95029
+            ],
+            [
+              111.342587,
+              29.944586
+            ],
+            [
+              111.3315,
+              29.970512
+            ],
+            [
+              111.266826,
+              30.01146
+            ],
+            [
+              111.242188,
+              30.040476
+            ],
+            [
+              111.031537,
+              30.048765
+            ],
+            [
+              110.929907,
+              30.063268
+            ],
+            [
+              110.924364,
+              30.111426
+            ],
+            [
+              110.851067,
+              30.126439
+            ],
+            [
+              110.746973,
+              30.112979
+            ],
+            [
+              110.756212,
+              30.054463
+            ],
+            [
+              110.712481,
+              30.033223
+            ],
+            [
+              110.650887,
+              30.07777
+            ],
+            [
+              110.600996,
+              30.054463
+            ],
+            [
+              110.531394,
+              30.061197
+            ],
+            [
+              110.497518,
+              30.055499
+            ],
+            [
+              110.491358,
+              30.019751
+            ],
+            [
+              110.557264,
+              29.988137
+            ],
+            [
+              110.517228,
+              29.961179
+            ],
+            [
+              110.49875,
+              29.91243
+            ],
+            [
+              110.538786,
+              29.895828
+            ],
+            [
+              110.549873,
+              29.848085
+            ],
+            [
+              110.60038,
+              29.839779
+            ],
+            [
+              110.642879,
+              29.775907
+            ],
+            [
+              110.562807,
+              29.712515
+            ],
+            [
+              110.507373,
+              29.692241
+            ],
+            [
+              110.467337,
+              29.713034
+            ],
+            [
+              110.447011,
+              29.664684
+            ],
+            [
+              110.372482,
+              29.633477
+            ],
+            [
+              110.339221,
+              29.668324
+            ],
+            [
+              110.302265,
+              29.661563
+            ],
+            [
+              110.289946,
+              29.6964
+            ],
+            [
+              110.219729,
+              29.746814
+            ],
+            [
+              110.160599,
+              29.753569
+            ],
+            [
+              110.113788,
+              29.789932
+            ],
+            [
+              110.02386,
+              29.769674
+            ],
+            [
+              109.941325,
+              29.774349
+            ],
+            [
+              109.908064,
+              29.763959
+            ],
+            [
+              109.869876,
+              29.774869
+            ],
+            [
+              109.779333,
+              29.757725
+            ],
+            [
+              109.755311,
+              29.733304
+            ],
+            [
+              109.760238,
+              29.689122
+            ],
+            [
+              109.714659,
+              29.673524
+            ],
+            [
+              109.701108,
+              29.636078
+            ],
+            [
+              109.717739,
+              29.615269
+            ],
+            [
+              109.664768,
+              29.599659
+            ],
+            [
+              109.651833,
+              29.625674
+            ],
+            [
+              109.578536,
+              29.629836
+            ],
+            [
+              109.558826,
+              29.606944
+            ],
+            [
+              109.516326,
+              29.626194
+            ],
+            [
+              109.488609,
+              29.553336
+            ],
+            [
+              109.467051,
+              29.560104
+            ],
+            [
+              109.458428,
+              29.513242
+            ],
+            [
+              109.433791,
+              29.530948
+            ],
+            [
+              109.436254,
+              29.488761
+            ],
+            [
+              109.415928,
+              29.497617
+            ],
+            [
+              109.418392,
+              29.453332
+            ],
+            [
+              109.368501,
+              29.413719
+            ],
+            [
+              109.391291,
+              29.372005
+            ],
+            [
+              109.343863,
+              29.369398
+            ],
+            [
+              109.352487,
+              29.284872
+            ],
+            [
+              109.312451,
+              29.25146
+            ],
+            [
+              109.257632,
+              29.222738
+            ],
+            [
+              109.275494,
+              29.202366
+            ],
+            [
+              109.261328,
+              29.161089
+            ],
+            [
+              109.274262,
+              29.121885
+            ],
+            [
+              109.232378,
+              29.119271
+            ],
+            [
+              109.240386,
+              29.086328
+            ],
+            [
+              109.312451,
+              29.066453
+            ],
+            [
+              109.319842,
+              29.042388
+            ],
+            [
+              109.294588,
+              29.015177
+            ],
+            [
+              109.292741,
+              28.987436
+            ],
+            [
+              109.261328,
+              28.952356
+            ],
+            [
+              109.235458,
+              28.882161
+            ],
+            [
+              109.246545,
+              28.80143
+            ],
+            [
+              109.241002,
+              28.776779
+            ],
+            [
+              109.2989,
+              28.7474
+            ],
+            [
+              109.294588,
+              28.722211
+            ],
+            [
+              109.252704,
+              28.691767
+            ],
+            [
+              109.271183,
+              28.671816
+            ],
+            [
+              109.192958,
+              28.636104
+            ],
+            [
+              109.201581,
+              28.597753
+            ],
+            [
+              109.235458,
+              28.61982
+            ],
+            [
+              109.252089,
+              28.606685
+            ],
+            [
+              109.306907,
+              28.62087
+            ],
+            [
+              109.319842,
+              28.579886
+            ],
+            [
+              109.273646,
+              28.53836
+            ],
+            [
+              109.274262,
+              28.494714
+            ],
+            [
+              109.260712,
+              28.46473
+            ],
+            [
+              109.264407,
+              28.392628
+            ],
+            [
+              109.289045,
+              28.373673
+            ],
+            [
+              109.268719,
+              28.33786
+            ],
+            [
+              109.275494,
+              28.313101
+            ],
+            [
+              109.317994,
+              28.277795
+            ],
+            [
+              109.33524,
+              28.293605
+            ],
+            [
+              109.388211,
+              28.268307
+            ],
+            [
+              109.367885,
+              28.254602
+            ],
+            [
+              109.340168,
+              28.19027
+            ],
+            [
+              109.33832,
+              28.141731
+            ],
+            [
+              109.314298,
+              28.103729
+            ],
+            [
+              109.298284,
+              28.036136
+            ],
+            [
+              109.335856,
+              28.063073
+            ],
+            [
+              109.378972,
+              28.034551
+            ],
+            [
+              109.362342,
+              28.007608
+            ],
+            [
+              109.319842,
+              27.988585
+            ],
+            [
+              109.30198,
+              27.956343
+            ],
+            [
+              109.32169,
+              27.868027
+            ],
+            [
+              109.346943,
+              27.838396
+            ],
+            [
+              109.332777,
+              27.782815
+            ],
+            [
+              109.37774,
+              27.736741
+            ],
+            [
+              109.366653,
+              27.721909
+            ],
+            [
+              109.414081,
+              27.725087
+            ],
+            [
+              109.470747,
+              27.680049
+            ],
+            [
+              109.45658,
+              27.673689
+            ],
+            [
+              109.470131,
+              27.62863
+            ],
+            [
+              109.451037,
+              27.586204
+            ],
+            [
+              109.461508,
+              27.567637
+            ],
+            [
+              109.404841,
+              27.55066
+            ],
+            [
+              109.303211,
+              27.47582
+            ],
+            [
+              109.300132,
+              27.423774
+            ],
+            [
+              109.245313,
+              27.41793
+            ],
+            [
+              109.202197,
+              27.450331
+            ],
+            [
+              109.167089,
+              27.41793
+            ],
+            [
+              109.141835,
+              27.448207
+            ],
+            [
+              109.142451,
+              27.418461
+            ],
+            [
+              109.103647,
+              27.336621
+            ],
+            [
+              109.044517,
+              27.331304
+            ],
+            [
+              109.053756,
+              27.293551
+            ],
+            [
+              108.983539,
+              27.26802
+            ],
+            [
+              108.963213,
+              27.235565
+            ],
+            [
+              108.907778,
+              27.204699
+            ],
+            [
+              108.926873,
+              27.160512
+            ],
+            [
+              108.878829,
+              27.106187
+            ],
+            [
+              108.79075,
+              27.084343
+            ],
+            [
+              108.877597,
+              27.01612
+            ],
+            [
+              108.942887,
+              27.017186
+            ],
+            [
+              108.942887,
+              27.017186
+            ],
+            [
+              108.940423,
+              27.044907
+            ],
+            [
+              109.007561,
+              27.08008
+            ],
+            [
+              109.032814,
+              27.104056
+            ],
+            [
+              109.128901,
+              27.122701
+            ],
+            [
+              109.101183,
+              27.06889
+            ],
+            [
+              109.165857,
+              27.066758
+            ],
+            [
+              109.21698,
+              27.114711
+            ],
+            [
+              109.239154,
+              27.14933
+            ],
+            [
+              109.264407,
+              27.131755
+            ],
+            [
+              109.33524,
+              27.139212
+            ],
+            [
+              109.358646,
+              27.153058
+            ],
+            [
+              109.415312,
+              27.154123
+            ],
+            [
+              109.441182,
+              27.117907
+            ],
+            [
+              109.472595,
+              27.134951
+            ],
+            [
+              109.454733,
+              27.069423
+            ],
+            [
+              109.486761,
+              27.053968
+            ],
+            [
+              109.497848,
+              27.079548
+            ],
+            [
+              109.520022,
+              27.058764
+            ],
+            [
+              109.555131,
+              26.946788
+            ],
+            [
+              109.436254,
+              26.892359
+            ],
+            [
+              109.452885,
+              26.861932
+            ],
+            [
+              109.486761,
+              26.895562
+            ],
+            [
+              109.509551,
+              26.877947
+            ],
+            [
+              109.513247,
+              26.84004
+            ],
+            [
+              109.497232,
+              26.815474
+            ],
+            [
+              109.522486,
+              26.749226
+            ],
+            [
+              109.528645,
+              26.743881
+            ],
+            [
+              109.554515,
+              26.73533
+            ],
+            [
+              109.597015,
+              26.756173
+            ],
+            [
+              109.568065,
+              26.726243
+            ],
+            [
+              109.528645,
+              26.743881
+            ],
+            [
+              109.52187,
+              26.749226
+            ],
+            [
+              109.486761,
+              26.759913
+            ],
+            [
+              109.447957,
+              26.759913
+            ],
+            [
+              109.407305,
+              26.719829
+            ],
+            [
+              109.35495,
+              26.693098
+            ],
+            [
+              109.283501,
+              26.698445
+            ],
+            [
+              109.306291,
+              26.661012
+            ],
+            [
+              109.334008,
+              26.646036
+            ],
+            [
+              109.35495,
+              26.658873
+            ],
+            [
+              109.390675,
+              26.598955
+            ],
+            [
+              109.407305,
+              26.533116
+            ],
+            [
+              109.381436,
+              26.518659
+            ],
+            [
+              109.385747,
+              26.493487
+            ],
+            [
+              109.362342,
+              26.472061
+            ],
+            [
+              109.38082,
+              26.454381
+            ],
+            [
+              109.319842,
+              26.418477
+            ],
+            [
+              109.29582,
+              26.350389
+            ],
+            [
+              109.271183,
+              26.327863
+            ],
+            [
+              109.285965,
+              26.295676
+            ],
+            [
+              109.325385,
+              26.29031
+            ],
+            [
+              109.351255,
+              26.264016
+            ],
+            [
+              109.369733,
+              26.277432
+            ],
+            [
+              109.442414,
+              26.289774
+            ],
+            [
+              109.467051,
+              26.313917
+            ],
+            [
+              109.439334,
+              26.238789
+            ],
+            [
+              109.47629,
+              26.148035
+            ],
+            [
+              109.513863,
+              26.128157
+            ],
+            [
+              109.502776,
+              26.096451
+            ],
+            [
+              109.449805,
+              26.101826
+            ],
+            [
+              109.452885,
+              26.055598
+            ],
+            [
+              109.48245,
+              26.029788
+            ],
+            [
+              109.513247,
+              25.998056
+            ],
+            [
+              109.560058,
+              26.021184
+            ],
+            [
+              109.588391,
+              26.019571
+            ],
+            [
+              109.635203,
+              26.047533
+            ],
+            [
+              109.649369,
+              26.016882
+            ],
+            [
+              109.730057,
+              25.989988
+            ],
+            [
+              109.710963,
+              25.954478
+            ],
+            [
+              109.693717,
+              25.959321
+            ],
+            [
+              109.67955,
+              25.921649
+            ],
+            [
+              109.685094,
+              25.880197
+            ],
+            [
+              109.768246,
+              25.890427
+            ],
+            [
+              109.779333,
+              25.866196
+            ],
+            [
+              109.811361,
+              25.877504
+            ],
+            [
+              109.826144,
+              25.911422
+            ],
+            [
+              109.806434,
+              25.973848
+            ],
+            [
+              109.782412,
+              25.996981
+            ],
+            [
+              109.814441,
+              26.041081
+            ],
+            [
+              109.864332,
+              26.027637
+            ],
+            [
+              109.898825,
+              26.095377
+            ],
+            [
+              109.904368,
+              26.135679
+            ],
+            [
+              109.970274,
+              26.195301
+            ],
+            [
+              110.03002,
+              26.166299
+            ],
+            [
+              110.099005,
+              26.168985
+            ],
+            [
+              110.100853,
+              26.132455
+            ],
+            [
+              110.065128,
+              26.050221
+            ],
+            [
+              110.100853,
+              26.020108
+            ],
+            [
+              110.168606,
+              26.028713
+            ],
+            [
+              110.181541,
+              26.060437
+            ],
+            [
+              110.24991,
+              26.010965
+            ],
+            [
+              110.257301,
+              25.961473
+            ],
+            [
+              110.325671,
+              25.975462
+            ],
+            [
+              110.373098,
+              26.088927
+            ],
+            [
+              110.437772,
+              26.153945
+            ],
+            [
+              110.477808,
+              26.179727
+            ],
+            [
+              110.495054,
+              26.166299
+            ],
+            [
+              110.546793,
+              26.233421
+            ],
+            [
+              110.552952,
+              26.283335
+            ],
+            [
+              110.584365,
+              26.296749
+            ],
+            [
+              110.612083,
+              26.333764
+            ],
+            [
+              110.643495,
+              26.308552
+            ],
+            [
+              110.673676,
+              26.317135
+            ],
+            [
+              110.721104,
+              26.294066
+            ],
+            [
+              110.742046,
+              26.313917
+            ],
+            [
+              110.73527,
+              26.270993
+            ],
+            [
+              110.759292,
+              26.248451
+            ],
+            [
+              110.836284,
+              26.255966
+            ],
+            [
+              110.939762,
+              26.286554
+            ],
+            [
+              110.926212,
+              26.320354
+            ],
+            [
+              110.944074,
+              26.326791
+            ],
+            [
+              110.94469,
+              26.373447
+            ],
+            [
+              110.974255,
+              26.385778
+            ],
+            [
+              111.008747,
+              26.35897
+            ],
+            [
+              111.008132,
+              26.336982
+            ],
+            [
+              111.090667,
+              26.308016
+            ],
+            [
+              111.208928,
+              26.30426
+            ],
+            [
+              111.204616,
+              26.276359
+            ],
+            [
+              111.228022,
+              26.261333
+            ],
+            [
+              111.277913,
+              26.272066
+            ],
+            [
+              111.293311,
+              26.222148
+            ],
+            [
+              111.271754,
+              26.217316
+            ],
+            [
+              111.274833,
+              26.183486
+            ],
+            [
+              111.258203,
+              26.151796
+            ],
+            [
+              111.26621,
+              26.095914
+            ],
+            [
+              111.244652,
+              26.078177
+            ],
+            [
+              111.267442,
+              26.058824
+            ],
+            [
+              111.235413,
+              26.048071
+            ],
+            [
+              111.189834,
+              25.953402
+            ],
+            [
+              111.230486,
+              25.916267
+            ],
+            [
+              111.251428,
+              25.864581
+            ],
+            [
+              111.29208,
+              25.854349
+            ],
+            [
+              111.297007,
+              25.874274
+            ],
+            [
+              111.346282,
+              25.906577
+            ],
+            [
+              111.376463,
+              25.906039
+            ],
+            [
+              111.383239,
+              25.881812
+            ],
+            [
+              111.460231,
+              25.885042
+            ],
+            [
+              111.4861,
+              25.859196
+            ],
+            [
+              111.43313,
+              25.84627
+            ],
+            [
+              111.442369,
+              25.77192
+            ],
+            [
+              111.399869,
+              25.744431
+            ],
+            [
+              111.30871,
+              25.720171
+            ],
+            [
+              111.309942,
+              25.645203
+            ],
+            [
+              111.343202,
+              25.602574
+            ],
+            [
+              111.324724,
+              25.564249
+            ],
+            [
+              111.32842,
+              25.521592
+            ],
+            [
+              111.279145,
+              25.42326
+            ],
+            [
+              111.210776,
+              25.363248
+            ],
+            [
+              111.184906,
+              25.367034
+            ],
+            [
+              111.138711,
+              25.303748
+            ],
+            [
+              111.103602,
+              25.285351
+            ],
+            [
+              111.112841,
+              25.21715
+            ],
+            [
+              110.998892,
+              25.161371
+            ],
+            [
+              110.98411,
+              25.101772
+            ],
+            [
+              110.951465,
+              25.04377
+            ],
+            [
+              110.968711,
+              24.975434
+            ],
+            [
+              111.009363,
+              24.921172
+            ],
+            [
+              111.100522,
+              24.945593
+            ],
+            [
+              111.101754,
+              25.035095
+            ],
+            [
+              111.139943,
+              25.042144
+            ],
+            [
+              111.200921,
+              25.074672
+            ],
+            [
+              111.221862,
+              25.106649
+            ],
+            [
+              111.274833,
+              25.151078
+            ],
+            [
+              111.321645,
+              25.105023
+            ],
+            [
+              111.36784,
+              25.108817
+            ],
+            [
+              111.375231,
+              25.128324
+            ],
+            [
+              111.435593,
+              25.093642
+            ],
+            [
+              111.416499,
+              25.047566
+            ],
+            [
+              111.467622,
+              25.02208
+            ],
+            [
+              111.460231,
+              24.992793
+            ],
+            [
+              111.43313,
+              24.979774
+            ],
+            [
+              111.434977,
+              24.951562
+            ],
+            [
+              111.470086,
+              24.92877
+            ],
+            [
+              111.447296,
+              24.892947
+            ],
+            [
+              111.449144,
+              24.857113
+            ],
+            [
+              111.479325,
+              24.797366
+            ],
+            [
+              111.461463,
+              24.728894
+            ],
+            [
+              111.431282,
+              24.687574
+            ],
+            [
+              111.451608,
+              24.665822
+            ],
+            [
+              111.499035,
+              24.667997
+            ],
+            [
+              111.526752,
+              24.637538
+            ],
+            [
+              111.570484,
+              24.64461
+            ],
+            [
+              111.588962,
+              24.690837
+            ],
+            [
+              111.641933,
+              24.684856
+            ],
+            [
+              111.637621,
+              24.715303
+            ],
+            [
+              111.666571,
+              24.760961
+            ],
+            [
+              111.708455,
+              24.788673
+            ],
+            [
+              111.783599,
+              24.785957
+            ],
+            [
+              111.814396,
+              24.770199
+            ],
+            [
+              111.868599,
+              24.771829
+            ],
+            [
+              111.875374,
+              24.756613
+            ],
+            [
+              111.929577,
+              24.75607
+            ],
+            [
+              111.951135,
+              24.769655
+            ],
+            [
+              112.024431,
+              24.740308
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.528645,
+              26.743881
+            ],
+            [
+              109.522486,
+              26.749226
+            ],
+            [
+              109.52187,
+              26.749226
+            ],
+            [
+              109.528645,
+              26.743881
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 44e4,
+      name: "广东省",
+      center: [
+        113.280637,
+        23.125178
+      ],
+      centroid: [
+        113.429919,
+        23.334643
+      ],
+      childrenNum: 21,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 18,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              113.558736,
+              22.212244
+            ],
+            [
+              113.594461,
+              22.228864
+            ],
+            [
+              113.595693,
+              22.304186
+            ],
+            [
+              113.617866,
+              22.315259
+            ],
+            [
+              113.604932,
+              22.339617
+            ],
+            [
+              113.627721,
+              22.349027
+            ],
+            [
+              113.669605,
+              22.416539
+            ],
+            [
+              113.66591,
+              22.438667
+            ],
+            [
+              113.624642,
+              22.443092
+            ],
+            [
+              113.608627,
+              22.408793
+            ],
+            [
+              113.573519,
+              22.41156
+            ],
+            [
+              113.631417,
+              22.475723
+            ],
+            [
+              113.668373,
+              22.4807
+            ],
+            [
+              113.691779,
+              22.514981
+            ],
+            [
+              113.740438,
+              22.534329
+            ],
+            [
+              113.717033,
+              22.645391
+            ],
+            [
+              113.678228,
+              22.726007
+            ],
+            [
+              113.733663,
+              22.736494
+            ],
+            [
+              113.758301,
+              22.683496
+            ],
+            [
+              113.765692,
+              22.665825
+            ],
+            [
+              113.803264,
+              22.593463
+            ],
+            [
+              113.856851,
+              22.539857
+            ],
+            [
+              113.869786,
+              22.459685
+            ],
+            [
+              113.893807,
+              22.442539
+            ],
+            [
+              113.952937,
+              22.486783
+            ],
+            [
+              113.954785,
+              22.491206
+            ],
+            [
+              113.976343,
+              22.510558
+            ],
+            [
+              114.031778,
+              22.503923
+            ],
+            [
+              114.082285,
+              22.512216
+            ],
+            [
+              114.095219,
+              22.534329
+            ],
+            [
+              114.156813,
+              22.543726
+            ],
+            [
+              114.166052,
+              22.559201
+            ],
+            [
+              114.222719,
+              22.553122
+            ],
+            [
+              114.232574,
+              22.539857
+            ],
+            [
+              114.294784,
+              22.563623
+            ],
+            [
+              114.321885,
+              22.587385
+            ],
+            [
+              114.381631,
+              22.60175
+            ],
+            [
+              114.427211,
+              22.589042
+            ],
+            [
+              114.472174,
+              22.522168
+            ],
+            [
+              114.476486,
+              22.459132
+            ],
+            [
+              114.506667,
+              22.438667
+            ],
+            [
+              114.549167,
+              22.465769
+            ],
+            [
+              114.611377,
+              22.481806
+            ],
+            [
+              114.628623,
+              22.513875
+            ],
+            [
+              114.614456,
+              22.545384
+            ],
+            [
+              114.568261,
+              22.560859
+            ],
+            [
+              114.559022,
+              22.583517
+            ],
+            [
+              114.603369,
+              22.638763
+            ],
+            [
+              114.579964,
+              22.661407
+            ],
+            [
+              114.51529,
+              22.655332
+            ],
+            [
+              114.567029,
+              22.685705
+            ],
+            [
+              114.591666,
+              22.690122
+            ],
+            [
+              114.601521,
+              22.730975
+            ],
+            [
+              114.689601,
+              22.7674
+            ],
+            [
+              114.709927,
+              22.787817
+            ],
+            [
+              114.749963,
+              22.764089
+            ],
+            [
+              114.73518,
+              22.724351
+            ],
+            [
+              114.728405,
+              22.651466
+            ],
+            [
+              114.743803,
+              22.632687
+            ],
+            [
+              114.746267,
+              22.581859
+            ],
+            [
+              114.866375,
+              22.591805
+            ],
+            [
+              114.88547,
+              22.538751
+            ],
+            [
+              114.922426,
+              22.549253
+            ],
+            [
+              114.927969,
+              22.621639
+            ],
+            [
+              114.945216,
+              22.645391
+            ],
+            [
+              115.039454,
+              22.713862
+            ],
+            [
+              115.02344,
+              22.726007
+            ],
+            [
+              115.053621,
+              22.747533
+            ],
+            [
+              115.076411,
+              22.788368
+            ],
+            [
+              115.154635,
+              22.80161
+            ],
+            [
+              115.190975,
+              22.77347
+            ],
+            [
+              115.190359,
+              22.818711
+            ],
+            [
+              115.236555,
+              22.82533
+            ],
+            [
+              115.230396,
+              22.776781
+            ],
+            [
+              115.319091,
+              22.783402
+            ],
+            [
+              115.338185,
+              22.776781
+            ],
+            [
+              115.349272,
+              22.712206
+            ],
+            [
+              115.381301,
+              22.684048
+            ],
+            [
+              115.430576,
+              22.684048
+            ],
+            [
+              115.471844,
+              22.697852
+            ],
+            [
+              115.575322,
+              22.650914
+            ],
+            [
+              115.565467,
+              22.684048
+            ],
+            [
+              115.609198,
+              22.753052
+            ],
+            [
+              115.541445,
+              22.755259
+            ],
+            [
+              115.570394,
+              22.786713
+            ],
+            [
+              115.583945,
+              22.82864
+            ],
+            [
+              115.654162,
+              22.865591
+            ],
+            [
+              115.696046,
+              22.84298
+            ],
+            [
+              115.760103,
+              22.834707
+            ],
+            [
+              115.788437,
+              22.809885
+            ],
+            [
+              115.796444,
+              22.739254
+            ],
+            [
+              115.829089,
+              22.734838
+            ],
+            [
+              115.883291,
+              22.78561
+            ],
+            [
+              115.931334,
+              22.802713
+            ],
+            [
+              115.965211,
+              22.800506
+            ],
+            [
+              115.99724,
+              22.826985
+            ],
+            [
+              116.05637,
+              22.844635
+            ],
+            [
+              116.104413,
+              22.816505
+            ],
+            [
+              116.14137,
+              22.835259
+            ],
+            [
+              116.239304,
+              22.921275
+            ],
+            [
+              116.259014,
+              22.932298
+            ],
+            [
+              116.302746,
+              22.951588
+            ],
+            [
+              116.382818,
+              22.91907
+            ],
+            [
+              116.449955,
+              22.936707
+            ],
+            [
+              116.50539,
+              22.930645
+            ],
+            [
+              116.544194,
+              22.996769
+            ],
+            [
+              116.576839,
+              23.014397
+            ],
+            [
+              116.557129,
+              23.056253
+            ],
+            [
+              116.566368,
+              23.088738
+            ],
+            [
+              116.550969,
+              23.109656
+            ],
+            [
+              116.566368,
+              23.134424
+            ],
+            [
+              116.665534,
+              23.158086
+            ],
+            [
+              116.701259,
+              23.198248
+            ],
+            [
+              116.74499,
+              23.215299
+            ],
+            [
+              116.806584,
+              23.200998
+            ],
+            [
+              116.821367,
+              23.240597
+            ],
+            [
+              116.798577,
+              23.244996
+            ],
+            [
+              116.782563,
+              23.313714
+            ],
+            [
+              116.871874,
+              23.4159
+            ],
+            [
+              116.871258,
+              23.416449
+            ],
+            [
+              116.874338,
+              23.447199
+            ],
+            [
+              116.874953,
+              23.447748
+            ],
+            [
+              116.895895,
+              23.476295
+            ],
+            [
+              116.888504,
+              23.501543
+            ],
+            [
+              116.92854,
+              23.530079
+            ],
+            [
+              116.963649,
+              23.507031
+            ],
+            [
+              117.01046,
+              23.502641
+            ],
+            [
+              117.044953,
+              23.539955
+            ],
+            [
+              117.085605,
+              23.536663
+            ],
+            [
+              117.192778,
+              23.5619
+            ],
+            [
+              117.192778,
+              23.629356
+            ],
+            [
+              117.147199,
+              23.654027
+            ],
+            [
+              117.123793,
+              23.647448
+            ],
+            [
+              117.055424,
+              23.694038
+            ],
+            [
+              117.048032,
+              23.758687
+            ],
+            [
+              117.019083,
+              23.801952
+            ],
+            [
+              117.012308,
+              23.855054
+            ],
+            [
+              116.981511,
+              23.855602
+            ],
+            [
+              116.955642,
+              23.922359
+            ],
+            [
+              116.976583,
+              23.931659
+            ],
+            [
+              116.981511,
+              23.999471
+            ],
+            [
+              116.953178,
+              24.008218
+            ],
+            [
+              116.930388,
+              24.064514
+            ],
+            [
+              116.9347,
+              24.126794
+            ],
+            [
+              116.998757,
+              24.179217
+            ],
+            [
+              116.956257,
+              24.216883
+            ],
+            [
+              116.933468,
+              24.220157
+            ],
+            [
+              116.938395,
+              24.28127
+            ],
+            [
+              116.914374,
+              24.287817
+            ],
+            [
+              116.919301,
+              24.321087
+            ],
+            [
+              116.895895,
+              24.350533
+            ],
+            [
+              116.903903,
+              24.369614
+            ],
+            [
+              116.839229,
+              24.442097
+            ],
+            [
+              116.860787,
+              24.460075
+            ],
+            [
+              116.83307,
+              24.496568
+            ],
+            [
+              116.796729,
+              24.502014
+            ],
+            [
+              116.759157,
+              24.545572
+            ],
+            [
+              116.761005,
+              24.583128
+            ],
+            [
+              116.815207,
+              24.654944
+            ],
+            [
+              116.777635,
+              24.679418
+            ],
+            [
+              116.667382,
+              24.658752
+            ],
+            [
+              116.623034,
+              24.64189
+            ],
+            [
+              116.600861,
+              24.654401
+            ],
+            [
+              116.570679,
+              24.621762
+            ],
+            [
+              116.530027,
+              24.604895
+            ],
+            [
+              116.506622,
+              24.621218
+            ],
+            [
+              116.517709,
+              24.652225
+            ],
+            [
+              116.485064,
+              24.720196
+            ],
+            [
+              116.44626,
+              24.714216
+            ],
+            [
+              116.416079,
+              24.744113
+            ],
+            [
+              116.419158,
+              24.767482
+            ],
+            [
+              116.375427,
+              24.803885
+            ],
+            [
+              116.381586,
+              24.82507
+            ],
+            [
+              116.417927,
+              24.840821
+            ],
+            [
+              116.395137,
+              24.877746
+            ],
+            [
+              116.363724,
+              24.87123
+            ],
+            [
+              116.345862,
+              24.828872
+            ],
+            [
+              116.297202,
+              24.801712
+            ],
+            [
+              116.244232,
+              24.793563
+            ],
+            [
+              116.251007,
+              24.82507
+            ],
+            [
+              116.221442,
+              24.829959
+            ],
+            [
+              116.191877,
+              24.877203
+            ],
+            [
+              116.153073,
+              24.846795
+            ],
+            [
+              116.068073,
+              24.850053
+            ],
+            [
+              116.015102,
+              24.905975
+            ],
+            [
+              115.985537,
+              24.899461
+            ],
+            [
+              115.907929,
+              24.923343
+            ],
+            [
+              115.89253,
+              24.936911
+            ],
+            [
+              115.885139,
+              24.898918
+            ],
+            [
+              115.907313,
+              24.879917
+            ],
+            [
+              115.861733,
+              24.863629
+            ],
+            [
+              115.863581,
+              24.891318
+            ],
+            [
+              115.824161,
+              24.909232
+            ],
+            [
+              115.807531,
+              24.862543
+            ],
+            [
+              115.790284,
+              24.856027
+            ],
+            [
+              115.764415,
+              24.791933
+            ],
+            [
+              115.776734,
+              24.774546
+            ],
+            [
+              115.756408,
+              24.749004
+            ],
+            [
+              115.769342,
+              24.708236
+            ],
+            [
+              115.801371,
+              24.705517
+            ],
+            [
+              115.780429,
+              24.663103
+            ],
+            [
+              115.797676,
+              24.628834
+            ],
+            [
+              115.840791,
+              24.584217
+            ],
+            [
+              115.843871,
+              24.562446
+            ],
+            [
+              115.785357,
+              24.567345
+            ],
+            [
+              115.752712,
+              24.546116
+            ],
+            [
+              115.68927,
+              24.545027
+            ],
+            [
+              115.671408,
+              24.604895
+            ],
+            [
+              115.605503,
+              24.62557
+            ],
+            [
+              115.569778,
+              24.622306
+            ],
+            [
+              115.555611,
+              24.683768
+            ],
+            [
+              115.522967,
+              24.702799
+            ],
+            [
+              115.476771,
+              24.762591
+            ],
+            [
+              115.412714,
+              24.79302
+            ],
+            [
+              115.372678,
+              24.774546
+            ],
+            [
+              115.358511,
+              24.735416
+            ],
+            [
+              115.306772,
+              24.758787
+            ],
+            [
+              115.269816,
+              24.749548
+            ],
+            [
+              115.258729,
+              24.728894
+            ],
+            [
+              115.1842,
+              24.711498
+            ],
+            [
+              115.104744,
+              24.667997
+            ],
+            [
+              115.083802,
+              24.699537
+            ],
+            [
+              115.057317,
+              24.703343
+            ],
+            [
+              115.024672,
+              24.669085
+            ],
+            [
+              115.00373,
+              24.679418
+            ],
+            [
+              114.940288,
+              24.650049
+            ],
+            [
+              114.909491,
+              24.661471
+            ],
+            [
+              114.893477,
+              24.582584
+            ],
+            [
+              114.868839,
+              24.562446
+            ],
+            [
+              114.846665,
+              24.602719
+            ],
+            [
+              114.827571,
+              24.588026
+            ],
+            [
+              114.781376,
+              24.613057
+            ],
+            [
+              114.729637,
+              24.608704
+            ],
+            [
+              114.73826,
+              24.565168
+            ],
+            [
+              114.704999,
+              24.525973
+            ],
+            [
+              114.664963,
+              24.583673
+            ],
+            [
+              114.627391,
+              24.576598
+            ],
+            [
+              114.589819,
+              24.537406
+            ],
+            [
+              114.534384,
+              24.559181
+            ],
+            [
+              114.429058,
+              24.48622
+            ],
+            [
+              114.403189,
+              24.497657
+            ],
+            [
+              114.391486,
+              24.563535
+            ],
+            [
+              114.363769,
+              24.582584
+            ],
+            [
+              114.300943,
+              24.578775
+            ],
+            [
+              114.289856,
+              24.619042
+            ],
+            [
+              114.258443,
+              24.641346
+            ],
+            [
+              114.19069,
+              24.656576
+            ],
+            [
+              114.169132,
+              24.689749
+            ],
+            [
+              114.27261,
+              24.700624
+            ],
+            [
+              114.281849,
+              24.724001
+            ],
+            [
+              114.336052,
+              24.749004
+            ],
+            [
+              114.342211,
+              24.807145
+            ],
+            [
+              114.378551,
+              24.861457
+            ],
+            [
+              114.403189,
+              24.877746
+            ],
+            [
+              114.395798,
+              24.951019
+            ],
+            [
+              114.454928,
+              24.977062
+            ],
+            [
+              114.45616,
+              24.99659
+            ],
+            [
+              114.506051,
+              24.999844
+            ],
+            [
+              114.532536,
+              25.022623
+            ],
+            [
+              114.561485,
+              25.077382
+            ],
+            [
+              114.604601,
+              25.083886
+            ],
+            [
+              114.640326,
+              25.074129
+            ],
+            [
+              114.664963,
+              25.10123
+            ],
+            [
+              114.735796,
+              25.121822
+            ],
+            [
+              114.73518,
+              25.155954
+            ],
+            [
+              114.685905,
+              25.173287
+            ],
+            [
+              114.693912,
+              25.213902
+            ],
+            [
+              114.73518,
+              25.225813
+            ],
+            [
+              114.743188,
+              25.274528
+            ],
+            [
+              114.714238,
+              25.315651
+            ],
+            [
+              114.63663,
+              25.324306
+            ],
+            [
+              114.599674,
+              25.385959
+            ],
+            [
+              114.541159,
+              25.416773
+            ],
+            [
+              114.477718,
+              25.37136
+            ],
+            [
+              114.438914,
+              25.376226
+            ],
+            [
+              114.43029,
+              25.343779
+            ],
+            [
+              114.382863,
+              25.317274
+            ],
+            [
+              114.31511,
+              25.33837
+            ],
+            [
+              114.2954,
+              25.299961
+            ],
+            [
+              114.260291,
+              25.291845
+            ],
+            [
+              114.204857,
+              25.29942
+            ],
+            [
+              114.190074,
+              25.316733
+            ],
+            [
+              114.115545,
+              25.302125
+            ],
+            [
+              114.083517,
+              25.275611
+            ],
+            [
+              114.055799,
+              25.277775
+            ],
+            [
+              114.039785,
+              25.250714
+            ],
+            [
+              114.017611,
+              25.273987
+            ],
+            [
+              114.029314,
+              25.328093
+            ],
+            [
+              114.050256,
+              25.36433
+            ],
+            [
+              113.983118,
+              25.415152
+            ],
+            [
+              114.003444,
+              25.442716
+            ],
+            [
+              113.94493,
+              25.441635
+            ],
+            [
+              113.887032,
+              25.436772
+            ],
+            [
+              113.877177,
+              25.380552
+            ],
+            [
+              113.839605,
+              25.363248
+            ],
+            [
+              113.814967,
+              25.328634
+            ],
+            [
+              113.76446,
+              25.333502
+            ],
+            [
+              113.753373,
+              25.362707
+            ],
+            [
+              113.686852,
+              25.351891
+            ],
+            [
+              113.680076,
+              25.334584
+            ],
+            [
+              113.611707,
+              25.327552
+            ],
+            [
+              113.584606,
+              25.306453
+            ],
+            [
+              113.579062,
+              25.34432
+            ],
+            [
+              113.535946,
+              25.368656
+            ],
+            [
+              113.479896,
+              25.375145
+            ],
+            [
+              113.449715,
+              25.359463
+            ],
+            [
+              113.407215,
+              25.401637
+            ],
+            [
+              113.373338,
+              25.402719
+            ],
+            [
+              113.341926,
+              25.448661
+            ],
+            [
+              113.314208,
+              25.442716
+            ],
+            [
+              113.311129,
+              25.490264
+            ],
+            [
+              113.248919,
+              25.514031
+            ],
+            [
+              113.226129,
+              25.50971
+            ],
+            [
+              113.176854,
+              25.471355
+            ],
+            [
+              113.11834,
+              25.445418
+            ],
+            [
+              113.131274,
+              25.414611
+            ],
+            [
+              113.096782,
+              25.412449
+            ],
+            [
+              113.078304,
+              25.382174
+            ],
+            [
+              113.013014,
+              25.352432
+            ],
+            [
+              112.969898,
+              25.350269
+            ],
+            [
+              112.93479,
+              25.325929
+            ],
+            [
+              112.924319,
+              25.296714
+            ],
+            [
+              112.891058,
+              25.339993
+            ],
+            [
+              112.854718,
+              25.337829
+            ],
+            [
+              112.867036,
+              25.249632
+            ],
+            [
+              112.897833,
+              25.238264
+            ],
+            [
+              112.958195,
+              25.254503
+            ],
+            [
+              112.992688,
+              25.247467
+            ],
+            [
+              113.034572,
+              25.198199
+            ],
+            [
+              112.97421,
+              25.168412
+            ],
+            [
+              112.96805,
+              25.141869
+            ],
+            [
+              113.004391,
+              25.089306
+            ],
+            [
+              112.979137,
+              25.03401
+            ],
+            [
+              113.009934,
+              24.977604
+            ],
+            [
+              112.994536,
+              24.927142
+            ],
+            [
+              112.941565,
+              24.915745
+            ],
+            [
+              112.904609,
+              24.921715
+            ],
+            [
+              112.873812,
+              24.896747
+            ],
+            [
+              112.780805,
+              24.896747
+            ],
+            [
+              112.778341,
+              24.947764
+            ],
+            [
+              112.743233,
+              24.959701
+            ],
+            [
+              112.742001,
+              24.99876
+            ],
+            [
+              112.714899,
+              25.025876
+            ],
+            [
+              112.712436,
+              25.083344
+            ],
+            [
+              112.660081,
+              25.132658
+            ],
+            [
+              112.628052,
+              25.140785
+            ],
+            [
+              112.562762,
+              25.124531
+            ],
+            [
+              112.458053,
+              25.152162
+            ],
+            [
+              112.44327,
+              25.185744
+            ],
+            [
+              112.414937,
+              25.14241
+            ],
+            [
+              112.365046,
+              25.191701
+            ],
+            [
+              112.315771,
+              25.175453
+            ],
+            [
+              112.302836,
+              25.157037
+            ],
+            [
+              112.256025,
+              25.159204
+            ],
+            [
+              112.246785,
+              25.185202
+            ],
+            [
+              112.187039,
+              25.182494
+            ],
+            [
+              112.177184,
+              25.106649
+            ],
+            [
+              112.151931,
+              25.055698
+            ],
+            [
+              112.155626,
+              25.026419
+            ],
+            [
+              112.12175,
+              24.989538
+            ],
+            [
+              112.119902,
+              24.963499
+            ],
+            [
+              112.175337,
+              24.927685
+            ],
+            [
+              112.167329,
+              24.859828
+            ],
+            [
+              112.149467,
+              24.837019
+            ],
+            [
+              112.124214,
+              24.841364
+            ],
+            [
+              112.03367,
+              24.771286
+            ],
+            [
+              112.024431,
+              24.740308
+            ],
+            [
+              111.961606,
+              24.721283
+            ],
+            [
+              111.939432,
+              24.686487
+            ],
+            [
+              111.953598,
+              24.64733
+            ],
+            [
+              111.927729,
+              24.629378
+            ],
+            [
+              111.936968,
+              24.595645
+            ],
+            [
+              111.972077,
+              24.578775
+            ],
+            [
+              112.007185,
+              24.534684
+            ],
+            [
+              112.009649,
+              24.503103
+            ],
+            [
+              111.985011,
+              24.467701
+            ],
+            [
+              112.025047,
+              24.438828
+            ],
+            [
+              112.057692,
+              24.387057
+            ],
+            [
+              112.05954,
+              24.339628
+            ],
+            [
+              112.026279,
+              24.294908
+            ],
+            [
+              111.990555,
+              24.279634
+            ],
+            [
+              111.986243,
+              24.25672
+            ],
+            [
+              111.958526,
+              24.263813
+            ],
+            [
+              111.912946,
+              24.221795
+            ],
+            [
+              111.877222,
+              24.227252
+            ],
+            [
+              111.871062,
+              24.176487
+            ],
+            [
+              111.886461,
+              24.163929
+            ],
+            [
+              111.878454,
+              24.109862
+            ],
+            [
+              111.92157,
+              24.012045
+            ],
+            [
+              111.940664,
+              23.987989
+            ],
+            [
+              111.911714,
+              23.943693
+            ],
+            [
+              111.854432,
+              23.947521
+            ],
+            [
+              111.845809,
+              23.904305
+            ],
+            [
+              111.812548,
+              23.887343
+            ],
+            [
+              111.824867,
+              23.832612
+            ],
+            [
+              111.8107,
+              23.80688
+            ],
+            [
+              111.722621,
+              23.823305
+            ],
+            [
+              111.683201,
+              23.822758
+            ],
+            [
+              111.683201,
+              23.822758
+            ],
+            [
+              111.654868,
+              23.833159
+            ],
+            [
+              111.627766,
+              23.78881
+            ],
+            [
+              111.621607,
+              23.725819
+            ],
+            [
+              111.666571,
+              23.718696
+            ],
+            [
+              111.614832,
+              23.65896
+            ],
+            [
+              111.615448,
+              23.639225
+            ],
+            [
+              111.555702,
+              23.64087
+            ],
+            [
+              111.487332,
+              23.626615
+            ],
+            [
+              111.479941,
+              23.532822
+            ],
+            [
+              111.428818,
+              23.466414
+            ],
+            [
+              111.399869,
+              23.469159
+            ],
+            [
+              111.383239,
+              23.399423
+            ],
+            [
+              111.389398,
+              23.375804
+            ],
+            [
+              111.363528,
+              23.340641
+            ],
+            [
+              111.376463,
+              23.30437
+            ],
+            [
+              111.353058,
+              23.284582
+            ],
+            [
+              111.36476,
+              23.240047
+            ],
+            [
+              111.388782,
+              23.210349
+            ],
+            [
+              111.38447,
+              23.16744
+            ],
+            [
+              111.365992,
+              23.14488
+            ],
+            [
+              111.377695,
+              23.082132
+            ],
+            [
+              111.402333,
+              23.066165
+            ],
+            [
+              111.43313,
+              23.073322
+            ],
+            [
+              111.433746,
+              23.036428
+            ],
+            [
+              111.389398,
+              23.005583
+            ],
+            [
+              111.403565,
+              22.99126
+            ],
+            [
+              111.362913,
+              22.967568
+            ],
+            [
+              111.374615,
+              22.938361
+            ],
+            [
+              111.358601,
+              22.889301
+            ],
+            [
+              111.218167,
+              22.748085
+            ],
+            [
+              111.185522,
+              22.735942
+            ],
+            [
+              111.118385,
+              22.744773
+            ],
+            [
+              111.058023,
+              22.729871
+            ],
+            [
+              111.089435,
+              22.695643
+            ],
+            [
+              111.055559,
+              22.648705
+            ],
+            [
+              110.997045,
+              22.631582
+            ],
+            [
+              110.958856,
+              22.636553
+            ],
+            [
+              110.950233,
+              22.61059
+            ],
+            [
+              110.896031,
+              22.613352
+            ],
+            [
+              110.897878,
+              22.591805
+            ],
+            [
+              110.812263,
+              22.576333
+            ],
+            [
+              110.778386,
+              22.585174
+            ],
+            [
+              110.749437,
+              22.556991
+            ],
+            [
+              110.762988,
+              22.518298
+            ],
+            [
+              110.740198,
+              22.498947
+            ],
+            [
+              110.74143,
+              22.464109
+            ],
+            [
+              110.688459,
+              22.477935
+            ],
+            [
+              110.712481,
+              22.440879
+            ],
+            [
+              110.711249,
+              22.369506
+            ],
+            [
+              110.74143,
+              22.361757
+            ],
+            [
+              110.749437,
+              22.329653
+            ],
+            [
+              110.787009,
+              22.28259
+            ],
+            [
+              110.759292,
+              22.274837
+            ],
+            [
+              110.725415,
+              22.29588
+            ],
+            [
+              110.687843,
+              22.249914
+            ],
+            [
+              110.646575,
+              22.220554
+            ],
+            [
+              110.678604,
+              22.172901
+            ],
+            [
+              110.629329,
+              22.149068
+            ],
+            [
+              110.598532,
+              22.162924
+            ],
+            [
+              110.602843,
+              22.18343
+            ],
+            [
+              110.55788,
+              22.196175
+            ],
+            [
+              110.505525,
+              22.14297
+            ],
+            [
+              110.456866,
+              22.189526
+            ],
+            [
+              110.414366,
+              22.208365
+            ],
+            [
+              110.378026,
+              22.164587
+            ],
+            [
+              110.34846,
+              22.195621
+            ],
+            [
+              110.326287,
+              22.152393
+            ],
+            [
+              110.364475,
+              22.125785
+            ],
+            [
+              110.35154,
+              22.097508
+            ],
+            [
+              110.359547,
+              22.015973
+            ],
+            [
+              110.352772,
+              21.97602
+            ],
+            [
+              110.374946,
+              21.967695
+            ],
+            [
+              110.374946,
+              21.967695
+            ],
+            [
+              110.378642,
+              21.939942
+            ],
+            [
+              110.378642,
+              21.939942
+            ],
+            [
+              110.391576,
+              21.89386
+            ],
+            [
+              110.337374,
+              21.887751
+            ],
+            [
+              110.290562,
+              21.917736
+            ],
+            [
+              110.283787,
+              21.892194
+            ],
+            [
+              110.224041,
+              21.882198
+            ],
+            [
+              110.224041,
+              21.882198
+            ],
+            [
+              110.212338,
+              21.886085
+            ],
+            [
+              110.212338,
+              21.886085
+            ],
+            [
+              110.196323,
+              21.899968
+            ],
+            [
+              110.12857,
+              21.902744
+            ],
+            [
+              110.101469,
+              21.86998
+            ],
+            [
+              110.050962,
+              21.857205
+            ],
+            [
+              109.999839,
+              21.881643
+            ],
+            [
+              109.94502,
+              21.84443
+            ],
+            [
+              109.940093,
+              21.769419
+            ],
+            [
+              109.916071,
+              21.668787
+            ],
+            [
+              109.888354,
+              21.652101
+            ],
+            [
+              109.888354,
+              21.652101
+            ],
+            [
+              109.839695,
+              21.636525
+            ],
+            [
+              109.786108,
+              21.637638
+            ],
+            [
+              109.778101,
+              21.670455
+            ],
+            [
+              109.742992,
+              21.616497
+            ],
+            [
+              109.754695,
+              21.556396
+            ],
+            [
+              109.788572,
+              21.490702
+            ],
+            [
+              109.785492,
+              21.45673
+            ],
+            [
+              109.819369,
+              21.445033
+            ],
+            [
+              109.894513,
+              21.442248
+            ],
+            [
+              109.904368,
+              21.429992
+            ],
+            [
+              109.868644,
+              21.365913
+            ],
+            [
+              109.770709,
+              21.359783
+            ],
+            [
+              109.757775,
+              21.346963
+            ],
+            [
+              109.763934,
+              21.226514
+            ],
+            [
+              109.674623,
+              21.136671
+            ],
+            [
+              109.674007,
+              21.067997
+            ],
+            [
+              109.655529,
+              20.929435
+            ],
+            [
+              109.664768,
+              20.862343
+            ],
+            [
+              109.711579,
+              20.774519
+            ],
+            [
+              109.730057,
+              20.719673
+            ],
+            [
+              109.74484,
+              20.621124
+            ],
+            [
+              109.793499,
+              20.615522
+            ],
+            [
+              109.813825,
+              20.574627
+            ],
+            [
+              109.811977,
+              20.541566
+            ],
+            [
+              109.839695,
+              20.489439
+            ],
+            [
+              109.888354,
+              20.475423
+            ],
+            [
+              109.895745,
+              20.42776
+            ],
+            [
+              109.864948,
+              20.40196
+            ],
+            [
+              109.861252,
+              20.376717
+            ],
+            [
+              109.916071,
+              20.316677
+            ],
+            [
+              109.909296,
+              20.236961
+            ],
+            [
+              109.929006,
+              20.211691
+            ],
+            [
+              109.993679,
+              20.254368
+            ],
+            [
+              110.082375,
+              20.258859
+            ],
+            [
+              110.118099,
+              20.219553
+            ],
+            [
+              110.168606,
+              20.219553
+            ],
+            [
+              110.220345,
+              20.25156
+            ],
+            [
+              110.296722,
+              20.249314
+            ],
+            [
+              110.349076,
+              20.258859
+            ],
+            [
+              110.384185,
+              20.293103
+            ],
+            [
+              110.425453,
+              20.291419
+            ],
+            [
+              110.452554,
+              20.311064
+            ],
+            [
+              110.491358,
+              20.373912
+            ],
+            [
+              110.54125,
+              20.42047
+            ],
+            [
+              110.550489,
+              20.47262
+            ],
+            [
+              110.499982,
+              20.572386
+            ],
+            [
+              110.487047,
+              20.640167
+            ],
+            [
+              110.466105,
+              20.680485
+            ],
+            [
+              110.411286,
+              20.670966
+            ],
+            [
+              110.392192,
+              20.682724
+            ],
+            [
+              110.407591,
+              20.731987
+            ],
+            [
+              110.393424,
+              20.816479
+            ],
+            [
+              110.350924,
+              20.84165
+            ],
+            [
+              110.327519,
+              20.847802
+            ],
+            [
+              110.269004,
+              20.839972
+            ],
+            [
+              110.209874,
+              20.860106
+            ],
+            [
+              110.184005,
+              20.891979
+            ],
+            [
+              110.180925,
+              20.98197
+            ],
+            [
+              110.204947,
+              21.003202
+            ],
+            [
+              110.208642,
+              21.050684
+            ],
+            [
+              110.241903,
+              21.016051
+            ],
+            [
+              110.24991,
+              21.045098
+            ],
+            [
+              110.296722,
+              21.093684
+            ],
+            [
+              110.39096,
+              21.124949
+            ],
+            [
+              110.422373,
+              21.190807
+            ],
+            [
+              110.451322,
+              21.186343
+            ],
+            [
+              110.501213,
+              21.217588
+            ],
+            [
+              110.534474,
+              21.204198
+            ],
+            [
+              110.626249,
+              21.215915
+            ],
+            [
+              110.65951,
+              21.239902
+            ],
+            [
+              110.713097,
+              21.3124
+            ],
+            [
+              110.768531,
+              21.364799
+            ],
+            [
+              110.796248,
+              21.37483
+            ],
+            [
+              110.888639,
+              21.367585
+            ],
+            [
+              110.929291,
+              21.375945
+            ],
+            [
+              111.034617,
+              21.438906
+            ],
+            [
+              111.103602,
+              21.455616
+            ],
+            [
+              111.171355,
+              21.458401
+            ],
+            [
+              111.28284,
+              21.485691
+            ],
+            [
+              111.276065,
+              21.443362
+            ],
+            [
+              111.250196,
+              21.45116
+            ],
+            [
+              111.257587,
+              21.41495
+            ],
+            [
+              111.28592,
+              21.41885
+            ],
+            [
+              111.353058,
+              21.464528
+            ],
+            [
+              111.382623,
+              21.495714
+            ],
+            [
+              111.444217,
+              21.514088
+            ],
+            [
+              111.494724,
+              21.501282
+            ],
+            [
+              111.521825,
+              21.517429
+            ],
+            [
+              111.560629,
+              21.50518
+            ],
+            [
+              111.609904,
+              21.530234
+            ],
+            [
+              111.650556,
+              21.512418
+            ],
+            [
+              111.677658,
+              21.529677
+            ],
+            [
+              111.693672,
+              21.590345
+            ],
+            [
+              111.736788,
+              21.609821
+            ],
+            [
+              111.794686,
+              21.61149
+            ],
+            [
+              111.832258,
+              21.578659
+            ],
+            [
+              111.810084,
+              21.555283
+            ],
+            [
+              111.887693,
+              21.578659
+            ],
+            [
+              111.941896,
+              21.607039
+            ],
+            [
+              111.972692,
+              21.603144
+            ],
+            [
+              112.026895,
+              21.633744
+            ],
+            [
+              111.997946,
+              21.657107
+            ],
+            [
+              111.954214,
+              21.667674
+            ],
+            [
+              111.956062,
+              21.710494
+            ],
+            [
+              112.036134,
+              21.761637
+            ],
+            [
+              112.136532,
+              21.793871
+            ],
+            [
+              112.192583,
+              21.789425
+            ],
+            [
+              112.196894,
+              21.736624
+            ],
+            [
+              112.236315,
+              21.727173
+            ],
+            [
+              112.238778,
+              21.702153
+            ],
+            [
+              112.353343,
+              21.707157
+            ],
+            [
+              112.415553,
+              21.734956
+            ],
+            [
+              112.427256,
+              21.789981
+            ],
+            [
+              112.445734,
+              21.803317
+            ],
+            [
+              112.497473,
+              21.785535
+            ],
+            [
+              112.535661,
+              21.753856
+            ],
+            [
+              112.647146,
+              21.758302
+            ],
+            [
+              112.68595,
+              21.810541
+            ],
+            [
+              112.792508,
+              21.921067
+            ],
+            [
+              112.841167,
+              21.920512
+            ],
+            [
+              112.893522,
+              21.84443
+            ],
+            [
+              112.929862,
+              21.838875
+            ],
+            [
+              112.989608,
+              21.869424
+            ],
+            [
+              113.047507,
+              21.956595
+            ],
+            [
+              113.053666,
+              22.012089
+            ],
+            [
+              113.032108,
+              22.04593
+            ],
+            [
+              113.045659,
+              22.088636
+            ],
+            [
+              113.086927,
+              22.12634
+            ],
+            [
+              113.091854,
+              22.065344
+            ],
+            [
+              113.142977,
+              22.012089
+            ],
+            [
+              113.1516,
+              21.979905
+            ],
+            [
+              113.235368,
+              21.887751
+            ],
+            [
+              113.266781,
+              21.871646
+            ],
+            [
+              113.319752,
+              21.909407
+            ],
+            [
+              113.330223,
+              21.96159
+            ],
+            [
+              113.442324,
+              22.009315
+            ],
+            [
+              113.45957,
+              22.043711
+            ],
+            [
+              113.527939,
+              22.073663
+            ],
+            [
+              113.567359,
+              22.075327
+            ],
+            [
+              113.554425,
+              22.107489
+            ],
+            [
+              113.554425,
+              22.142416
+            ],
+            [
+              113.534715,
+              22.174009
+            ],
+            [
+              113.53841,
+              22.209473
+            ],
+            [
+              113.558736,
+              22.212244
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.024627,
+              23.437865
+            ],
+            [
+              116.982743,
+              23.460924
+            ],
+            [
+              116.944555,
+              23.440061
+            ],
+            [
+              116.951946,
+              23.419744
+            ],
+            [
+              117.027091,
+              23.41535
+            ],
+            [
+              117.050496,
+              23.400522
+            ],
+            [
+              117.081909,
+              23.409309
+            ],
+            [
+              117.124409,
+              23.389537
+            ],
+            [
+              117.142887,
+              23.400522
+            ],
+            [
+              117.142887,
+              23.459826
+            ],
+            [
+              117.129336,
+              23.483431
+            ],
+            [
+              117.093612,
+              23.459277
+            ],
+            [
+              117.058503,
+              23.47355
+            ],
+            [
+              117.029554,
+              23.443356
+            ],
+            [
+              117.024627,
+              23.437865
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.853486,
+              21.740515
+            ],
+            [
+              112.876275,
+              21.772753
+            ],
+            [
+              112.840551,
+              21.776644
+            ],
+            [
+              112.782653,
+              21.739959
+            ],
+            [
+              112.724138,
+              21.719945
+            ],
+            [
+              112.70566,
+              21.679354
+            ],
+            [
+              112.734609,
+              21.666562
+            ],
+            [
+              112.780189,
+              21.671568
+            ],
+            [
+              112.730914,
+              21.613715
+            ],
+            [
+              112.775261,
+              21.564189
+            ],
+            [
+              112.817145,
+              21.590345
+            ],
+            [
+              112.798667,
+              21.610933
+            ],
+            [
+              112.821457,
+              21.655994
+            ],
+            [
+              112.804826,
+              21.686583
+            ],
+            [
+              112.83316,
+              21.736624
+            ],
+            [
+              112.853486,
+              21.740515
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.530733,
+              21.583667
+            ],
+            [
+              112.563378,
+              21.591458
+            ],
+            [
+              112.571385,
+              21.619835
+            ],
+            [
+              112.621277,
+              21.606482
+            ],
+            [
+              112.665624,
+              21.642644
+            ],
+            [
+              112.639139,
+              21.67268
+            ],
+            [
+              112.66624,
+              21.683803
+            ],
+            [
+              112.663776,
+              21.714386
+            ],
+            [
+              112.592327,
+              21.693256
+            ],
+            [
+              112.560299,
+              21.666562
+            ],
+            [
+              112.57077,
+              21.645982
+            ],
+            [
+              112.535045,
+              21.628737
+            ],
+            [
+              112.530733,
+              21.583667
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.231342,
+              22.016528
+            ],
+            [
+              114.311414,
+              22.041493
+            ],
+            [
+              114.302791,
+              22.050368
+            ],
+            [
+              114.239965,
+              22.03539
+            ],
+            [
+              114.231342,
+              22.016528
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.43346,
+              21.171276
+            ],
+            [
+              110.489511,
+              21.138904
+            ],
+            [
+              110.508605,
+              21.140579
+            ],
+            [
+              110.544945,
+              21.083633
+            ],
+            [
+              110.582517,
+              21.094801
+            ],
+            [
+              110.632409,
+              21.210893
+            ],
+            [
+              110.589293,
+              21.194713
+            ],
+            [
+              110.525235,
+              21.190249
+            ],
+            [
+              110.499366,
+              21.213125
+            ],
+            [
+              110.445163,
+              21.184669
+            ],
+            [
+              110.431612,
+              21.180763
+            ],
+            [
+              110.43346,
+              21.171276
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.435263,
+              21.663781
+            ],
+            [
+              112.456205,
+              21.648763
+            ],
+            [
+              112.458669,
+              21.68992
+            ],
+            [
+              112.435263,
+              21.663781
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.517844,
+              21.079166
+            ],
+            [
+              110.459946,
+              21.062971
+            ],
+            [
+              110.398352,
+              21.096476
+            ],
+            [
+              110.352772,
+              21.079724
+            ],
+            [
+              110.305961,
+              21.0881
+            ],
+            [
+              110.27578,
+              21.033369
+            ],
+            [
+              110.211106,
+              20.986999
+            ],
+            [
+              110.201251,
+              20.938378
+            ],
+            [
+              110.309656,
+              20.963529
+            ],
+            [
+              110.347845,
+              20.984763
+            ],
+            [
+              110.407591,
+              20.990351
+            ],
+            [
+              110.47288,
+              20.983087
+            ],
+            [
+              110.511684,
+              20.916578
+            ],
+            [
+              110.535706,
+              20.922727
+            ],
+            [
+              110.539402,
+              20.987557
+            ],
+            [
+              110.560344,
+              21.061295
+            ],
+            [
+              110.517844,
+              21.079166
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.765076,
+              21.962145
+            ],
+            [
+              113.774315,
+              21.998218
+            ],
+            [
+              113.74167,
+              21.991559
+            ],
+            [
+              113.765076,
+              21.962145
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.723192,
+              21.922177
+            ],
+            [
+              113.742902,
+              21.950489
+            ],
+            [
+              113.71888,
+              21.951599
+            ],
+            [
+              113.723192,
+              21.922177
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.142977,
+              21.831653
+            ],
+            [
+              113.162071,
+              21.853873
+            ],
+            [
+              113.203955,
+              21.861093
+            ],
+            [
+              113.167615,
+              21.876644
+            ],
+            [
+              113.136818,
+              21.868869
+            ],
+            [
+              113.142977,
+              21.831653
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.819894,
+              22.396068
+            ],
+            [
+              113.813735,
+              22.419858
+            ],
+            [
+              113.786634,
+              22.413773
+            ],
+            [
+              113.819894,
+              22.396068
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.190074,
+              21.986564
+            ],
+            [
+              114.229494,
+              21.995443
+            ],
+            [
+              114.180835,
+              22.00987
+            ],
+            [
+              114.190074,
+              21.986564
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.153734,
+              21.97491
+            ],
+            [
+              114.171596,
+              22.000437
+            ],
+            [
+              114.124169,
+              21.985455
+            ],
+            [
+              114.153734,
+              21.97491
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.769628,
+              20.771721
+            ],
+            [
+              116.761005,
+              20.750456
+            ],
+            [
+              116.87249,
+              20.738143
+            ],
+            [
+              116.889736,
+              20.683284
+            ],
+            [
+              116.849084,
+              20.628405
+            ],
+            [
+              116.749302,
+              20.600958
+            ],
+            [
+              116.796113,
+              20.582471
+            ],
+            [
+              116.862635,
+              20.588633
+            ],
+            [
+              116.905135,
+              20.619443
+            ],
+            [
+              116.934084,
+              20.676565
+            ],
+            [
+              116.925461,
+              20.726949
+            ],
+            [
+              116.88604,
+              20.775638
+            ],
+            [
+              116.820135,
+              20.780674
+            ],
+            [
+              116.769628,
+              20.771721
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.025333,
+              21.847762
+            ],
+            [
+              113.045659,
+              21.882753
+            ],
+            [
+              113.007471,
+              21.869424
+            ],
+            [
+              113.025333,
+              21.847762
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.405127,
+              20.678245
+            ],
+            [
+              110.437772,
+              20.677685
+            ],
+            [
+              110.414366,
+              20.710157
+            ],
+            [
+              110.405127,
+              20.678245
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.644727,
+              20.935584
+            ],
+            [
+              110.584365,
+              20.948998
+            ],
+            [
+              110.548641,
+              20.908752
+            ],
+            [
+              110.562807,
+              20.861224
+            ],
+            [
+              110.611467,
+              20.860106
+            ],
+            [
+              110.646575,
+              20.917137
+            ],
+            [
+              110.644727,
+              20.935584
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.556648,
+              20.32734
+            ],
+            [
+              110.593604,
+              20.360447
+            ],
+            [
+              110.586213,
+              20.381205
+            ],
+            [
+              110.556648,
+              20.32734
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.943037,
+              21.097592
+            ],
+            [
+              115.953508,
+              21.064088
+            ],
+            [
+              115.989233,
+              21.035603
+            ],
+            [
+              116.040356,
+              21.02052
+            ],
+            [
+              116.067457,
+              21.04063
+            ],
+            [
+              116.044051,
+              21.110434
+            ],
+            [
+              116.024341,
+              21.12439
+            ],
+            [
+              115.965211,
+              21.123832
+            ],
+            [
+              115.943037,
+              21.097592
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.926407,
+              20.981411
+            ],
+            [
+              115.939342,
+              20.945644
+            ],
+            [
+              115.970139,
+              20.919373
+            ],
+            [
+              115.999088,
+              20.922727
+            ],
+            [
+              116.000936,
+              20.948439
+            ],
+            [
+              115.954124,
+              20.99985
+            ],
+            [
+              115.926407,
+              20.981411
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.834632,
+              22.722695
+            ],
+            [
+              115.834632,
+              22.722143
+            ],
+            [
+              115.835248,
+              22.722695
+            ],
+            [
+              115.834632,
+              22.722695
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.834632,
+              22.723247
+            ],
+            [
+              115.834632,
+              22.722695
+            ],
+            [
+              115.835248,
+              22.722695
+            ],
+            [
+              115.834632,
+              22.723247
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 45e4,
+      name: "广西壮族自治区",
+      center: [
+        108.320004,
+        22.82402
+      ],
+      centroid: [
+        108.7944,
+        23.833381
+      ],
+      childrenNum: 14,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 19,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              109.48245,
+              26.029788
+            ],
+            [
+              109.473211,
+              26.006663
+            ],
+            [
+              109.408537,
+              25.967392
+            ],
+            [
+              109.435022,
+              25.93349
+            ],
+            [
+              109.396834,
+              25.900117
+            ],
+            [
+              109.359262,
+              25.836036
+            ],
+            [
+              109.339552,
+              25.83442
+            ],
+            [
+              109.327849,
+              25.76168
+            ],
+            [
+              109.340168,
+              25.731493
+            ],
+            [
+              109.296436,
+              25.71424
+            ],
+            [
+              109.207125,
+              25.740119
+            ],
+            [
+              109.206509,
+              25.788087
+            ],
+            [
+              109.147995,
+              25.741736
+            ],
+            [
+              109.13198,
+              25.762758
+            ],
+            [
+              109.143683,
+              25.795092
+            ],
+            [
+              109.095024,
+              25.80533
+            ],
+            [
+              109.077778,
+              25.776771
+            ],
+            [
+              109.048213,
+              25.790781
+            ],
+            [
+              108.989698,
+              25.778926
+            ],
+            [
+              108.999553,
+              25.765453
+            ],
+            [
+              108.963829,
+              25.732572
+            ],
+            [
+              108.940423,
+              25.740119
+            ],
+            [
+              108.896076,
+              25.71424
+            ],
+            [
+              108.900387,
+              25.682423
+            ],
+            [
+              108.953974,
+              25.686738
+            ],
+            [
+              108.953974,
+              25.686738
+            ],
+            [
+              109.007561,
+              25.734728
+            ],
+            [
+              109.043285,
+              25.738502
+            ],
+            [
+              109.07901,
+              25.72071
+            ],
+            [
+              109.075314,
+              25.693749
+            ],
+            [
+              109.030966,
+              25.629556
+            ],
+            [
+              109.051908,
+              25.566949
+            ],
+            [
+              109.088249,
+              25.550752
+            ],
+            [
+              109.024807,
+              25.51241
+            ],
+            [
+              108.949046,
+              25.557231
+            ],
+            [
+              108.8893,
+              25.543193
+            ],
+            [
+              108.890532,
+              25.556151
+            ],
+            [
+              108.826474,
+              25.550212
+            ],
+            [
+              108.814772,
+              25.526992
+            ],
+            [
+              108.781511,
+              25.554531
+            ],
+            [
+              108.799989,
+              25.576666
+            ],
+            [
+              108.783975,
+              25.628477
+            ],
+            [
+              108.724844,
+              25.634952
+            ],
+            [
+              108.68912,
+              25.623081
+            ],
+            [
+              108.68604,
+              25.587462
+            ],
+            [
+              108.660787,
+              25.584763
+            ],
+            [
+              108.658323,
+              25.550212
+            ],
+            [
+              108.68912,
+              25.533473
+            ],
+            [
+              108.634917,
+              25.520512
+            ],
+            [
+              108.6072,
+              25.491885
+            ],
+            [
+              108.600425,
+              25.432448
+            ],
+            [
+              108.62999,
+              25.335666
+            ],
+            [
+              108.625062,
+              25.308076
+            ],
+            [
+              108.589338,
+              25.335125
+            ],
+            [
+              108.585642,
+              25.365952
+            ],
+            [
+              108.471693,
+              25.458928
+            ],
+            [
+              108.418723,
+              25.443257
+            ],
+            [
+              108.400244,
+              25.491344
+            ],
+            [
+              108.359592,
+              25.513491
+            ],
+            [
+              108.348506,
+              25.536173
+            ],
+            [
+              108.308469,
+              25.525912
+            ],
+            [
+              108.280752,
+              25.48
+            ],
+            [
+              108.241332,
+              25.46217
+            ],
+            [
+              108.251803,
+              25.430286
+            ],
+            [
+              108.192673,
+              25.458928
+            ],
+            [
+              108.162492,
+              25.444878
+            ],
+            [
+              108.193289,
+              25.405421
+            ],
+            [
+              108.142782,
+              25.390825
+            ],
+            [
+              108.152021,
+              25.324306
+            ],
+            [
+              108.143398,
+              25.269658
+            ],
+            [
+              108.115065,
+              25.210112
+            ],
+            [
+              108.080572,
+              25.193867
+            ],
+            [
+              108.001732,
+              25.196574
+            ],
+            [
+              107.928435,
+              25.155954
+            ],
+            [
+              107.872384,
+              25.141327
+            ],
+            [
+              107.839124,
+              25.115861
+            ],
+            [
+              107.762747,
+              25.125073
+            ],
+            [
+              107.789233,
+              25.15487
+            ],
+            [
+              107.760283,
+              25.188451
+            ],
+            [
+              107.762131,
+              25.229061
+            ],
+            [
+              107.741805,
+              25.24043
+            ],
+            [
+              107.700537,
+              25.194408
+            ],
+            [
+              107.696226,
+              25.219858
+            ],
+            [
+              107.661733,
+              25.258833
+            ],
+            [
+              107.659885,
+              25.316192
+            ],
+            [
+              107.632168,
+              25.310241
+            ],
+            [
+              107.599523,
+              25.250714
+            ],
+            [
+              107.576734,
+              25.256668
+            ],
+            [
+              107.512676,
+              25.209029
+            ],
+            [
+              107.472024,
+              25.213902
+            ],
+            [
+              107.489886,
+              25.276693
+            ],
+            [
+              107.481263,
+              25.299961
+            ],
+            [
+              107.432604,
+              25.289139
+            ],
+            [
+              107.409198,
+              25.347024
+            ],
+            [
+              107.420901,
+              25.392987
+            ],
+            [
+              107.375937,
+              25.411908
+            ],
+            [
+              107.358691,
+              25.393528
+            ],
+            [
+              107.318039,
+              25.401637
+            ],
+            [
+              107.308184,
+              25.432988
+            ],
+            [
+              107.336517,
+              25.461089
+            ],
+            [
+              107.263836,
+              25.543193
+            ],
+            [
+              107.232423,
+              25.556691
+            ],
+            [
+              107.228728,
+              25.604733
+            ],
+            [
+              107.205322,
+              25.607971
+            ],
+            [
+              107.185612,
+              25.578825
+            ],
+            [
+              107.064272,
+              25.559391
+            ],
+            [
+              107.066736,
+              25.50917
+            ],
+            [
+              107.015613,
+              25.495666
+            ],
+            [
+              106.996519,
+              25.442716
+            ],
+            [
+              106.963874,
+              25.437852
+            ],
+            [
+              106.987896,
+              25.358922
+            ],
+            [
+              107.012533,
+              25.352973
+            ],
+            [
+              107.013765,
+              25.275611
+            ],
+            [
+              106.975577,
+              25.232851
+            ],
+            [
+              106.933077,
+              25.250714
+            ],
+            [
+              106.904128,
+              25.231768
+            ],
+            [
+              106.888113,
+              25.181953
+            ],
+            [
+              106.853005,
+              25.186827
+            ],
+            [
+              106.787715,
+              25.17112
+            ],
+            [
+              106.764926,
+              25.183036
+            ],
+            [
+              106.732281,
+              25.162454
+            ],
+            [
+              106.691013,
+              25.179245
+            ],
+            [
+              106.644817,
+              25.164621
+            ],
+            [
+              106.63989,
+              25.132658
+            ],
+            [
+              106.590615,
+              25.08768
+            ],
+            [
+              106.551195,
+              25.082802
+            ],
+            [
+              106.519782,
+              25.054072
+            ],
+            [
+              106.450181,
+              25.033468
+            ],
+            [
+              106.442173,
+              25.019369
+            ],
+            [
+              106.332536,
+              24.988454
+            ],
+            [
+              106.304819,
+              24.973807
+            ],
+            [
+              106.253696,
+              24.971094
+            ],
+            [
+              106.215508,
+              24.981944
+            ],
+            [
+              106.191486,
+              24.95319
+            ],
+            [
+              106.145291,
+              24.954275
+            ],
+            [
+              106.197645,
+              24.885889
+            ],
+            [
+              106.206269,
+              24.851139
+            ],
+            [
+              106.173008,
+              24.760417
+            ],
+            [
+              106.150218,
+              24.762591
+            ],
+            [
+              106.113878,
+              24.714216
+            ],
+            [
+              106.047356,
+              24.684312
+            ],
+            [
+              106.024566,
+              24.633186
+            ],
+            [
+              105.961741,
+              24.677786
+            ],
+            [
+              105.942031,
+              24.725088
+            ],
+            [
+              105.863806,
+              24.729437
+            ],
+            [
+              105.827466,
+              24.702799
+            ],
+            [
+              105.767104,
+              24.719109
+            ],
+            [
+              105.70551,
+              24.768569
+            ],
+            [
+              105.617431,
+              24.78161
+            ],
+            [
+              105.607576,
+              24.803885
+            ],
+            [
+              105.573083,
+              24.797366
+            ],
+            [
+              105.497322,
+              24.809318
+            ],
+            [
+              105.493011,
+              24.833217
+            ],
+            [
+              105.457286,
+              24.87123
+            ],
+            [
+              105.428337,
+              24.930941
+            ],
+            [
+              105.365511,
+              24.943423
+            ],
+            [
+              105.334099,
+              24.9266
+            ],
+            [
+              105.267577,
+              24.929313
+            ],
+            [
+              105.251563,
+              24.967296
+            ],
+            [
+              105.212758,
+              24.995505
+            ],
+            [
+              105.178266,
+              24.985199
+            ],
+            [
+              105.157324,
+              24.958616
+            ],
+            [
+              105.131454,
+              24.959701
+            ],
+            [
+              105.09573,
+              24.92877
+            ],
+            [
+              105.096346,
+              24.928228
+            ],
+            [
+              105.082179,
+              24.915745
+            ],
+            [
+              105.077868,
+              24.918459
+            ],
+            [
+              105.039064,
+              24.872859
+            ],
+            [
+              105.026745,
+              24.815836
+            ],
+            [
+              105.03352,
+              24.787586
+            ],
+            [
+              104.899245,
+              24.752809
+            ],
+            [
+              104.865985,
+              24.730524
+            ],
+            [
+              104.841963,
+              24.676155
+            ],
+            [
+              104.771746,
+              24.659839
+            ],
+            [
+              104.729246,
+              24.617953
+            ],
+            [
+              104.703377,
+              24.645698
+            ],
+            [
+              104.628848,
+              24.660927
+            ],
+            [
+              104.595587,
+              24.709323
+            ],
+            [
+              104.529682,
+              24.731611
+            ],
+            [
+              104.489646,
+              24.653313
+            ],
+            [
+              104.520443,
+              24.535228
+            ],
+            [
+              104.550008,
+              24.518894
+            ],
+            [
+              104.575877,
+              24.424661
+            ],
+            [
+              104.616529,
+              24.421937
+            ],
+            [
+              104.63008,
+              24.397958
+            ],
+            [
+              104.610986,
+              24.377246
+            ],
+            [
+              104.641783,
+              24.367979
+            ],
+            [
+              104.70892,
+              24.321087
+            ],
+            [
+              104.721239,
+              24.340173
+            ],
+            [
+              104.703377,
+              24.419757
+            ],
+            [
+              104.715695,
+              24.441552
+            ],
+            [
+              104.74834,
+              24.435559
+            ],
+            [
+              104.765587,
+              24.45953
+            ],
+            [
+              104.784681,
+              24.443732
+            ],
+            [
+              104.83642,
+              24.446456
+            ],
+            [
+              104.914028,
+              24.426296
+            ],
+            [
+              104.930042,
+              24.411038
+            ],
+            [
+              104.979933,
+              24.412673
+            ],
+            [
+              105.042759,
+              24.442097
+            ],
+            [
+              105.106817,
+              24.414853
+            ],
+            [
+              105.111744,
+              24.37234
+            ],
+            [
+              105.138846,
+              24.376701
+            ],
+            [
+              105.188121,
+              24.347261
+            ],
+            [
+              105.196744,
+              24.326541
+            ],
+            [
+              105.164715,
+              24.288362
+            ],
+            [
+              105.215222,
+              24.214699
+            ],
+            [
+              105.24294,
+              24.208695
+            ],
+            [
+              105.229389,
+              24.165567
+            ],
+            [
+              105.182577,
+              24.167205
+            ],
+            [
+              105.20044,
+              24.105491
+            ],
+            [
+              105.260186,
+              24.061236
+            ],
+            [
+              105.292831,
+              24.074896
+            ],
+            [
+              105.273121,
+              24.092927
+            ],
+            [
+              105.320548,
+              24.116416
+            ],
+            [
+              105.334099,
+              24.094566
+            ],
+            [
+              105.395692,
+              24.065607
+            ],
+            [
+              105.406163,
+              24.043748
+            ],
+            [
+              105.493011,
+              24.016965
+            ],
+            [
+              105.533663,
+              24.130071
+            ],
+            [
+              105.594641,
+              24.137718
+            ],
+            [
+              105.628518,
+              24.126794
+            ],
+            [
+              105.649459,
+              24.032816
+            ],
+            [
+              105.704278,
+              24.0667
+            ],
+            [
+              105.739387,
+              24.059596
+            ],
+            [
+              105.765256,
+              24.073804
+            ],
+            [
+              105.802212,
+              24.051945
+            ],
+            [
+              105.796669,
+              24.023524
+            ],
+            [
+              105.841633,
+              24.03063
+            ],
+            [
+              105.859495,
+              24.056864
+            ],
+            [
+              105.89214,
+              24.040468
+            ],
+            [
+              105.908154,
+              24.069432
+            ],
+            [
+              105.901995,
+              24.099482
+            ],
+            [
+              105.919241,
+              24.122425
+            ],
+            [
+              105.963589,
+              24.110954
+            ],
+            [
+              105.998081,
+              24.120786
+            ],
+            [
+              106.011632,
+              24.099482
+            ],
+            [
+              106.04982,
+              24.089649
+            ],
+            [
+              106.053516,
+              24.051399
+            ],
+            [
+              106.096631,
+              24.018058
+            ],
+            [
+              106.091088,
+              23.998924
+            ],
+            [
+              106.128044,
+              23.956819
+            ],
+            [
+              106.157609,
+              23.891174
+            ],
+            [
+              106.192718,
+              23.879135
+            ],
+            [
+              106.173008,
+              23.861622
+            ],
+            [
+              106.192102,
+              23.824947
+            ],
+            [
+              106.136667,
+              23.795381
+            ],
+            [
+              106.157609,
+              23.724175
+            ],
+            [
+              106.149602,
+              23.665538
+            ],
+            [
+              106.120653,
+              23.605229
+            ],
+            [
+              106.141595,
+              23.569579
+            ],
+            [
+              106.08616,
+              23.524043
+            ],
+            [
+              106.071994,
+              23.495506
+            ],
+            [
+              106.039965,
+              23.484529
+            ],
+            [
+              105.999929,
+              23.447748
+            ],
+            [
+              105.986378,
+              23.489469
+            ],
+            [
+              105.935871,
+              23.508678
+            ],
+            [
+              105.913081,
+              23.499348
+            ],
+            [
+              105.89214,
+              23.52514
+            ],
+            [
+              105.852103,
+              23.526786
+            ],
+            [
+              105.815763,
+              23.507031
+            ],
+            [
+              105.805908,
+              23.467512
+            ],
+            [
+              105.758481,
+              23.459826
+            ],
+            [
+              105.699966,
+              23.40162
+            ],
+            [
+              105.637757,
+              23.404366
+            ],
+            [
+              105.694423,
+              23.363168
+            ],
+            [
+              105.699966,
+              23.327453
+            ],
+            [
+              105.649459,
+              23.346136
+            ],
+            [
+              105.593409,
+              23.312614
+            ],
+            [
+              105.560148,
+              23.257093
+            ],
+            [
+              105.526272,
+              23.234548
+            ],
+            [
+              105.542902,
+              23.184495
+            ],
+            [
+              105.558916,
+              23.177893
+            ],
+            [
+              105.574931,
+              23.066165
+            ],
+            [
+              105.625438,
+              23.064513
+            ],
+            [
+              105.648844,
+              23.078828
+            ],
+            [
+              105.724604,
+              23.06231
+            ],
+            [
+              105.74185,
+              23.030921
+            ],
+            [
+              105.780039,
+              23.022659
+            ],
+            [
+              105.805908,
+              22.994565
+            ],
+            [
+              105.839169,
+              22.987403
+            ],
+            [
+              105.879205,
+              22.916865
+            ],
+            [
+              105.893987,
+              22.936707
+            ],
+            [
+              105.959277,
+              22.948832
+            ],
+            [
+              105.994385,
+              22.93781
+            ],
+            [
+              106.019639,
+              22.990709
+            ],
+            [
+              106.08616,
+              22.996218
+            ],
+            [
+              106.106486,
+              22.980792
+            ],
+            [
+              106.153914,
+              22.988505
+            ],
+            [
+              106.206885,
+              22.978588
+            ],
+            [
+              106.270326,
+              22.907494
+            ],
+            [
+              106.258007,
+              22.889852
+            ],
+            [
+              106.286957,
+              22.867245
+            ],
+            [
+              106.366413,
+              22.857871
+            ],
+            [
+              106.37134,
+              22.878273
+            ],
+            [
+              106.41384,
+              22.877171
+            ],
+            [
+              106.504383,
+              22.91025
+            ],
+            [
+              106.525941,
+              22.946628
+            ],
+            [
+              106.562282,
+              22.923479
+            ],
+            [
+              106.606013,
+              22.925684
+            ],
+            [
+              106.631267,
+              22.88103
+            ],
+            [
+              106.657136,
+              22.863385
+            ],
+            [
+              106.674998,
+              22.891506
+            ],
+            [
+              106.716882,
+              22.881582
+            ],
+            [
+              106.709491,
+              22.866142
+            ],
+            [
+              106.774781,
+              22.812643
+            ],
+            [
+              106.776012,
+              22.813746
+            ],
+            [
+              106.778476,
+              22.814298
+            ],
+            [
+              106.779092,
+              22.813746
+            ],
+            [
+              106.779708,
+              22.813195
+            ],
+            [
+              106.78094,
+              22.813195
+            ],
+            [
+              106.784636,
+              22.812643
+            ],
+            [
+              106.796338,
+              22.812091
+            ],
+            [
+              106.801882,
+              22.815401
+            ],
+            [
+              106.804346,
+              22.816505
+            ],
+            [
+              106.808657,
+              22.817608
+            ],
+            [
+              106.813585,
+              22.817608
+            ],
+            [
+              106.838838,
+              22.803265
+            ],
+            [
+              106.820976,
+              22.768504
+            ],
+            [
+              106.768621,
+              22.739254
+            ],
+            [
+              106.780324,
+              22.708894
+            ],
+            [
+              106.756302,
+              22.68957
+            ],
+            [
+              106.711955,
+              22.575228
+            ],
+            [
+              106.650361,
+              22.575228
+            ],
+            [
+              106.61402,
+              22.602303
+            ],
+            [
+              106.585071,
+              22.517192
+            ],
+            [
+              106.588151,
+              22.472958
+            ],
+            [
+              106.560434,
+              22.455813
+            ],
+            [
+              106.588767,
+              22.374486
+            ],
+            [
+              106.562897,
+              22.345706
+            ],
+            [
+              106.663296,
+              22.33076
+            ],
+            [
+              106.670071,
+              22.283144
+            ],
+            [
+              106.688549,
+              22.260438
+            ],
+            [
+              106.7021,
+              22.207257
+            ],
+            [
+              106.673151,
+              22.182322
+            ],
+            [
+              106.706411,
+              22.160707
+            ],
+            [
+              106.691629,
+              22.13521
+            ],
+            [
+              106.71565,
+              22.089745
+            ],
+            [
+              106.706411,
+              22.021521
+            ],
+            [
+              106.683006,
+              21.999882
+            ],
+            [
+              106.698404,
+              21.959925
+            ],
+            [
+              106.73844,
+              22.008205
+            ],
+            [
+              106.790179,
+              22.004876
+            ],
+            [
+              106.802498,
+              21.98157
+            ],
+            [
+              106.859164,
+              21.986009
+            ],
+            [
+              106.926302,
+              21.967695
+            ],
+            [
+              106.935541,
+              21.933836
+            ],
+            [
+              106.974345,
+              21.923288
+            ],
+            [
+              106.999598,
+              21.947714
+            ],
+            [
+              107.05996,
+              21.914959
+            ],
+            [
+              107.058729,
+              21.887196
+            ],
+            [
+              107.018693,
+              21.859427
+            ],
+            [
+              107.018077,
+              21.81943
+            ],
+            [
+              107.093837,
+              21.803317
+            ],
+            [
+              107.148656,
+              21.758858
+            ],
+            [
+              107.194851,
+              21.736624
+            ],
+            [
+              107.199163,
+              21.718833
+            ],
+            [
+              107.242279,
+              21.703265
+            ],
+            [
+              107.271844,
+              21.727173
+            ],
+            [
+              107.310648,
+              21.733844
+            ],
+            [
+              107.356843,
+              21.667674
+            ],
+            [
+              107.363619,
+              21.602031
+            ],
+            [
+              107.388256,
+              21.594241
+            ],
+            [
+              107.431372,
+              21.642088
+            ],
+            [
+              107.477567,
+              21.659888
+            ],
+            [
+              107.500973,
+              21.613715
+            ],
+            [
+              107.486806,
+              21.59591
+            ],
+            [
+              107.547168,
+              21.58645
+            ],
+            [
+              107.584741,
+              21.614828
+            ],
+            [
+              107.603219,
+              21.597579
+            ],
+            [
+              107.712856,
+              21.616497
+            ],
+            [
+              107.807711,
+              21.655438
+            ],
+            [
+              107.837892,
+              21.640419
+            ],
+            [
+              107.863761,
+              21.650988
+            ],
+            [
+              107.892095,
+              21.622617
+            ],
+            [
+              107.893942,
+              21.596466
+            ],
+            [
+              107.929051,
+              21.585893
+            ],
+            [
+              107.958,
+              21.534131
+            ],
+            [
+              108.034376,
+              21.545821
+            ],
+            [
+              108.108289,
+              21.508521
+            ],
+            [
+              108.193905,
+              21.519656
+            ],
+            [
+              108.156332,
+              21.55083
+            ],
+            [
+              108.205608,
+              21.597579
+            ],
+            [
+              108.241332,
+              21.599805
+            ],
+            [
+              108.249955,
+              21.561406
+            ],
+            [
+              108.210535,
+              21.505737
+            ],
+            [
+              108.230245,
+              21.491259
+            ],
+            [
+              108.330027,
+              21.540254
+            ],
+            [
+              108.397781,
+              21.533017
+            ],
+            [
+              108.492635,
+              21.554727
+            ],
+            [
+              108.591802,
+              21.677129
+            ],
+            [
+              108.626294,
+              21.67991
+            ],
+            [
+              108.658939,
+              21.643757
+            ],
+            [
+              108.678033,
+              21.659331
+            ],
+            [
+              108.735931,
+              21.628181
+            ],
+            [
+              108.734084,
+              21.626512
+            ],
+            [
+              108.745786,
+              21.602587
+            ],
+            [
+              108.801837,
+              21.626512
+            ],
+            [
+              108.83325,
+              21.610933
+            ],
+            [
+              108.881293,
+              21.627068
+            ],
+            [
+              108.937959,
+              21.589789
+            ],
+            [
+              109.093792,
+              21.579215
+            ],
+            [
+              109.09872,
+              21.571424
+            ],
+            [
+              109.110422,
+              21.568085
+            ],
+            [
+              109.138756,
+              21.567528
+            ],
+            [
+              109.142451,
+              21.511861
+            ],
+            [
+              109.074698,
+              21.489589
+            ],
+            [
+              109.039589,
+              21.457844
+            ],
+            [
+              109.046365,
+              21.424421
+            ],
+            [
+              109.095024,
+              21.419407
+            ],
+            [
+              109.138756,
+              21.388762
+            ],
+            [
+              109.186183,
+              21.390991
+            ],
+            [
+              109.245929,
+              21.425536
+            ],
+            [
+              109.41716,
+              21.438906
+            ],
+            [
+              109.484914,
+              21.453388
+            ],
+            [
+              109.529877,
+              21.437234
+            ],
+            [
+              109.540964,
+              21.466199
+            ],
+            [
+              109.576689,
+              21.493487
+            ],
+            [
+              109.604406,
+              21.523553
+            ],
+            [
+              109.612413,
+              21.556953
+            ],
+            [
+              109.654913,
+              21.493487
+            ],
+            [
+              109.704188,
+              21.462857
+            ],
+            [
+              109.785492,
+              21.45673
+            ],
+            [
+              109.788572,
+              21.490702
+            ],
+            [
+              109.754695,
+              21.556396
+            ],
+            [
+              109.742992,
+              21.616497
+            ],
+            [
+              109.778101,
+              21.670455
+            ],
+            [
+              109.786108,
+              21.637638
+            ],
+            [
+              109.839695,
+              21.636525
+            ],
+            [
+              109.888354,
+              21.652101
+            ],
+            [
+              109.888354,
+              21.652101
+            ],
+            [
+              109.916071,
+              21.668787
+            ],
+            [
+              109.940093,
+              21.769419
+            ],
+            [
+              109.94502,
+              21.84443
+            ],
+            [
+              109.999839,
+              21.881643
+            ],
+            [
+              110.050962,
+              21.857205
+            ],
+            [
+              110.101469,
+              21.86998
+            ],
+            [
+              110.12857,
+              21.902744
+            ],
+            [
+              110.196323,
+              21.899968
+            ],
+            [
+              110.212338,
+              21.886085
+            ],
+            [
+              110.212338,
+              21.886085
+            ],
+            [
+              110.224041,
+              21.882198
+            ],
+            [
+              110.224041,
+              21.882198
+            ],
+            [
+              110.283787,
+              21.892194
+            ],
+            [
+              110.290562,
+              21.917736
+            ],
+            [
+              110.337374,
+              21.887751
+            ],
+            [
+              110.391576,
+              21.89386
+            ],
+            [
+              110.378642,
+              21.939942
+            ],
+            [
+              110.378642,
+              21.939942
+            ],
+            [
+              110.374946,
+              21.967695
+            ],
+            [
+              110.374946,
+              21.967695
+            ],
+            [
+              110.352772,
+              21.97602
+            ],
+            [
+              110.359547,
+              22.015973
+            ],
+            [
+              110.35154,
+              22.097508
+            ],
+            [
+              110.364475,
+              22.125785
+            ],
+            [
+              110.326287,
+              22.152393
+            ],
+            [
+              110.34846,
+              22.195621
+            ],
+            [
+              110.378026,
+              22.164587
+            ],
+            [
+              110.414366,
+              22.208365
+            ],
+            [
+              110.456866,
+              22.189526
+            ],
+            [
+              110.505525,
+              22.14297
+            ],
+            [
+              110.55788,
+              22.196175
+            ],
+            [
+              110.602843,
+              22.18343
+            ],
+            [
+              110.598532,
+              22.162924
+            ],
+            [
+              110.629329,
+              22.149068
+            ],
+            [
+              110.678604,
+              22.172901
+            ],
+            [
+              110.646575,
+              22.220554
+            ],
+            [
+              110.687843,
+              22.249914
+            ],
+            [
+              110.725415,
+              22.29588
+            ],
+            [
+              110.759292,
+              22.274837
+            ],
+            [
+              110.787009,
+              22.28259
+            ],
+            [
+              110.749437,
+              22.329653
+            ],
+            [
+              110.74143,
+              22.361757
+            ],
+            [
+              110.711249,
+              22.369506
+            ],
+            [
+              110.712481,
+              22.440879
+            ],
+            [
+              110.688459,
+              22.477935
+            ],
+            [
+              110.74143,
+              22.464109
+            ],
+            [
+              110.740198,
+              22.498947
+            ],
+            [
+              110.762988,
+              22.518298
+            ],
+            [
+              110.749437,
+              22.556991
+            ],
+            [
+              110.778386,
+              22.585174
+            ],
+            [
+              110.812263,
+              22.576333
+            ],
+            [
+              110.897878,
+              22.591805
+            ],
+            [
+              110.896031,
+              22.613352
+            ],
+            [
+              110.950233,
+              22.61059
+            ],
+            [
+              110.958856,
+              22.636553
+            ],
+            [
+              110.997045,
+              22.631582
+            ],
+            [
+              111.055559,
+              22.648705
+            ],
+            [
+              111.089435,
+              22.695643
+            ],
+            [
+              111.058023,
+              22.729871
+            ],
+            [
+              111.118385,
+              22.744773
+            ],
+            [
+              111.185522,
+              22.735942
+            ],
+            [
+              111.218167,
+              22.748085
+            ],
+            [
+              111.358601,
+              22.889301
+            ],
+            [
+              111.374615,
+              22.938361
+            ],
+            [
+              111.362913,
+              22.967568
+            ],
+            [
+              111.403565,
+              22.99126
+            ],
+            [
+              111.389398,
+              23.005583
+            ],
+            [
+              111.433746,
+              23.036428
+            ],
+            [
+              111.43313,
+              23.073322
+            ],
+            [
+              111.402333,
+              23.066165
+            ],
+            [
+              111.377695,
+              23.082132
+            ],
+            [
+              111.365992,
+              23.14488
+            ],
+            [
+              111.38447,
+              23.16744
+            ],
+            [
+              111.388782,
+              23.210349
+            ],
+            [
+              111.36476,
+              23.240047
+            ],
+            [
+              111.353058,
+              23.284582
+            ],
+            [
+              111.376463,
+              23.30437
+            ],
+            [
+              111.363528,
+              23.340641
+            ],
+            [
+              111.389398,
+              23.375804
+            ],
+            [
+              111.383239,
+              23.399423
+            ],
+            [
+              111.399869,
+              23.469159
+            ],
+            [
+              111.428818,
+              23.466414
+            ],
+            [
+              111.479941,
+              23.532822
+            ],
+            [
+              111.487332,
+              23.626615
+            ],
+            [
+              111.555702,
+              23.64087
+            ],
+            [
+              111.615448,
+              23.639225
+            ],
+            [
+              111.614832,
+              23.65896
+            ],
+            [
+              111.666571,
+              23.718696
+            ],
+            [
+              111.621607,
+              23.725819
+            ],
+            [
+              111.627766,
+              23.78881
+            ],
+            [
+              111.654868,
+              23.833159
+            ],
+            [
+              111.683201,
+              23.822758
+            ],
+            [
+              111.683201,
+              23.822758
+            ],
+            [
+              111.722621,
+              23.823305
+            ],
+            [
+              111.8107,
+              23.80688
+            ],
+            [
+              111.824867,
+              23.832612
+            ],
+            [
+              111.812548,
+              23.887343
+            ],
+            [
+              111.845809,
+              23.904305
+            ],
+            [
+              111.854432,
+              23.947521
+            ],
+            [
+              111.911714,
+              23.943693
+            ],
+            [
+              111.940664,
+              23.987989
+            ],
+            [
+              111.92157,
+              24.012045
+            ],
+            [
+              111.878454,
+              24.109862
+            ],
+            [
+              111.886461,
+              24.163929
+            ],
+            [
+              111.871062,
+              24.176487
+            ],
+            [
+              111.877222,
+              24.227252
+            ],
+            [
+              111.912946,
+              24.221795
+            ],
+            [
+              111.958526,
+              24.263813
+            ],
+            [
+              111.986243,
+              24.25672
+            ],
+            [
+              111.990555,
+              24.279634
+            ],
+            [
+              112.026279,
+              24.294908
+            ],
+            [
+              112.05954,
+              24.339628
+            ],
+            [
+              112.057692,
+              24.387057
+            ],
+            [
+              112.025047,
+              24.438828
+            ],
+            [
+              111.985011,
+              24.467701
+            ],
+            [
+              112.009649,
+              24.503103
+            ],
+            [
+              112.007185,
+              24.534684
+            ],
+            [
+              111.972077,
+              24.578775
+            ],
+            [
+              111.936968,
+              24.595645
+            ],
+            [
+              111.927729,
+              24.629378
+            ],
+            [
+              111.953598,
+              24.64733
+            ],
+            [
+              111.939432,
+              24.686487
+            ],
+            [
+              111.961606,
+              24.721283
+            ],
+            [
+              112.024431,
+              24.740308
+            ],
+            [
+              111.951135,
+              24.769655
+            ],
+            [
+              111.929577,
+              24.75607
+            ],
+            [
+              111.875374,
+              24.756613
+            ],
+            [
+              111.868599,
+              24.771829
+            ],
+            [
+              111.814396,
+              24.770199
+            ],
+            [
+              111.783599,
+              24.785957
+            ],
+            [
+              111.708455,
+              24.788673
+            ],
+            [
+              111.666571,
+              24.760961
+            ],
+            [
+              111.637621,
+              24.715303
+            ],
+            [
+              111.641933,
+              24.684856
+            ],
+            [
+              111.588962,
+              24.690837
+            ],
+            [
+              111.570484,
+              24.64461
+            ],
+            [
+              111.526752,
+              24.637538
+            ],
+            [
+              111.499035,
+              24.667997
+            ],
+            [
+              111.451608,
+              24.665822
+            ],
+            [
+              111.431282,
+              24.687574
+            ],
+            [
+              111.461463,
+              24.728894
+            ],
+            [
+              111.479325,
+              24.797366
+            ],
+            [
+              111.449144,
+              24.857113
+            ],
+            [
+              111.447296,
+              24.892947
+            ],
+            [
+              111.470086,
+              24.92877
+            ],
+            [
+              111.434977,
+              24.951562
+            ],
+            [
+              111.43313,
+              24.979774
+            ],
+            [
+              111.460231,
+              24.992793
+            ],
+            [
+              111.467622,
+              25.02208
+            ],
+            [
+              111.416499,
+              25.047566
+            ],
+            [
+              111.435593,
+              25.093642
+            ],
+            [
+              111.375231,
+              25.128324
+            ],
+            [
+              111.36784,
+              25.108817
+            ],
+            [
+              111.321645,
+              25.105023
+            ],
+            [
+              111.274833,
+              25.151078
+            ],
+            [
+              111.221862,
+              25.106649
+            ],
+            [
+              111.200921,
+              25.074672
+            ],
+            [
+              111.139943,
+              25.042144
+            ],
+            [
+              111.101754,
+              25.035095
+            ],
+            [
+              111.100522,
+              24.945593
+            ],
+            [
+              111.009363,
+              24.921172
+            ],
+            [
+              110.968711,
+              24.975434
+            ],
+            [
+              110.951465,
+              25.04377
+            ],
+            [
+              110.98411,
+              25.101772
+            ],
+            [
+              110.998892,
+              25.161371
+            ],
+            [
+              111.112841,
+              25.21715
+            ],
+            [
+              111.103602,
+              25.285351
+            ],
+            [
+              111.138711,
+              25.303748
+            ],
+            [
+              111.184906,
+              25.367034
+            ],
+            [
+              111.210776,
+              25.363248
+            ],
+            [
+              111.279145,
+              25.42326
+            ],
+            [
+              111.32842,
+              25.521592
+            ],
+            [
+              111.324724,
+              25.564249
+            ],
+            [
+              111.343202,
+              25.602574
+            ],
+            [
+              111.309942,
+              25.645203
+            ],
+            [
+              111.30871,
+              25.720171
+            ],
+            [
+              111.399869,
+              25.744431
+            ],
+            [
+              111.442369,
+              25.77192
+            ],
+            [
+              111.43313,
+              25.84627
+            ],
+            [
+              111.4861,
+              25.859196
+            ],
+            [
+              111.460231,
+              25.885042
+            ],
+            [
+              111.383239,
+              25.881812
+            ],
+            [
+              111.376463,
+              25.906039
+            ],
+            [
+              111.346282,
+              25.906577
+            ],
+            [
+              111.297007,
+              25.874274
+            ],
+            [
+              111.29208,
+              25.854349
+            ],
+            [
+              111.251428,
+              25.864581
+            ],
+            [
+              111.230486,
+              25.916267
+            ],
+            [
+              111.189834,
+              25.953402
+            ],
+            [
+              111.235413,
+              26.048071
+            ],
+            [
+              111.267442,
+              26.058824
+            ],
+            [
+              111.244652,
+              26.078177
+            ],
+            [
+              111.26621,
+              26.095914
+            ],
+            [
+              111.258203,
+              26.151796
+            ],
+            [
+              111.274833,
+              26.183486
+            ],
+            [
+              111.271754,
+              26.217316
+            ],
+            [
+              111.293311,
+              26.222148
+            ],
+            [
+              111.277913,
+              26.272066
+            ],
+            [
+              111.228022,
+              26.261333
+            ],
+            [
+              111.204616,
+              26.276359
+            ],
+            [
+              111.208928,
+              26.30426
+            ],
+            [
+              111.090667,
+              26.308016
+            ],
+            [
+              111.008132,
+              26.336982
+            ],
+            [
+              111.008747,
+              26.35897
+            ],
+            [
+              110.974255,
+              26.385778
+            ],
+            [
+              110.94469,
+              26.373447
+            ],
+            [
+              110.944074,
+              26.326791
+            ],
+            [
+              110.926212,
+              26.320354
+            ],
+            [
+              110.939762,
+              26.286554
+            ],
+            [
+              110.836284,
+              26.255966
+            ],
+            [
+              110.759292,
+              26.248451
+            ],
+            [
+              110.73527,
+              26.270993
+            ],
+            [
+              110.742046,
+              26.313917
+            ],
+            [
+              110.721104,
+              26.294066
+            ],
+            [
+              110.673676,
+              26.317135
+            ],
+            [
+              110.643495,
+              26.308552
+            ],
+            [
+              110.612083,
+              26.333764
+            ],
+            [
+              110.584365,
+              26.296749
+            ],
+            [
+              110.552952,
+              26.283335
+            ],
+            [
+              110.546793,
+              26.233421
+            ],
+            [
+              110.495054,
+              26.166299
+            ],
+            [
+              110.477808,
+              26.179727
+            ],
+            [
+              110.437772,
+              26.153945
+            ],
+            [
+              110.373098,
+              26.088927
+            ],
+            [
+              110.325671,
+              25.975462
+            ],
+            [
+              110.257301,
+              25.961473
+            ],
+            [
+              110.24991,
+              26.010965
+            ],
+            [
+              110.181541,
+              26.060437
+            ],
+            [
+              110.168606,
+              26.028713
+            ],
+            [
+              110.100853,
+              26.020108
+            ],
+            [
+              110.065128,
+              26.050221
+            ],
+            [
+              110.100853,
+              26.132455
+            ],
+            [
+              110.099005,
+              26.168985
+            ],
+            [
+              110.03002,
+              26.166299
+            ],
+            [
+              109.970274,
+              26.195301
+            ],
+            [
+              109.904368,
+              26.135679
+            ],
+            [
+              109.898825,
+              26.095377
+            ],
+            [
+              109.864332,
+              26.027637
+            ],
+            [
+              109.814441,
+              26.041081
+            ],
+            [
+              109.782412,
+              25.996981
+            ],
+            [
+              109.806434,
+              25.973848
+            ],
+            [
+              109.826144,
+              25.911422
+            ],
+            [
+              109.811361,
+              25.877504
+            ],
+            [
+              109.779333,
+              25.866196
+            ],
+            [
+              109.768246,
+              25.890427
+            ],
+            [
+              109.685094,
+              25.880197
+            ],
+            [
+              109.67955,
+              25.921649
+            ],
+            [
+              109.693717,
+              25.959321
+            ],
+            [
+              109.710963,
+              25.954478
+            ],
+            [
+              109.730057,
+              25.989988
+            ],
+            [
+              109.649369,
+              26.016882
+            ],
+            [
+              109.635203,
+              26.047533
+            ],
+            [
+              109.588391,
+              26.019571
+            ],
+            [
+              109.560058,
+              26.021184
+            ],
+            [
+              109.513247,
+              25.998056
+            ],
+            [
+              109.48245,
+              26.029788
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              105.096346,
+              24.928228
+            ],
+            [
+              105.09573,
+              24.92877
+            ],
+            [
+              105.077868,
+              24.918459
+            ],
+            [
+              105.082179,
+              24.915745
+            ],
+            [
+              105.096346,
+              24.928228
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.088249,
+              21.014934
+            ],
+            [
+              109.11227,
+              21.02499
+            ],
+            [
+              109.117814,
+              21.017727
+            ],
+            [
+              109.144299,
+              21.041189
+            ],
+            [
+              109.138756,
+              21.067439
+            ],
+            [
+              109.09256,
+              21.057386
+            ],
+            [
+              109.088865,
+              21.031134
+            ],
+            [
+              109.088249,
+              21.014934
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 46e4,
+      name: "海南省",
+      center: [
+        110.33119,
+        20.031971
+      ],
+      centroid: [
+        109.754859,
+        19.189767
+      ],
+      childrenNum: 19,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 20,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              110.106396,
+              20.026812
+            ],
+            [
+              110.042339,
+              19.991384
+            ],
+            [
+              109.997375,
+              19.980136
+            ],
+            [
+              109.965346,
+              19.993634
+            ],
+            [
+              109.898825,
+              19.994196
+            ],
+            [
+              109.855093,
+              19.984073
+            ],
+            [
+              109.814441,
+              19.993072
+            ],
+            [
+              109.76147,
+              19.981261
+            ],
+            [
+              109.712195,
+              20.017253
+            ],
+            [
+              109.657993,
+              20.01163
+            ],
+            [
+              109.585312,
+              19.98801
+            ],
+            [
+              109.526797,
+              19.943573
+            ],
+            [
+              109.498464,
+              19.873236
+            ],
+            [
+              109.411001,
+              19.895184
+            ],
+            [
+              109.349407,
+              19.898561
+            ],
+            [
+              109.300748,
+              19.917693
+            ],
+            [
+              109.25948,
+              19.898561
+            ],
+            [
+              109.255784,
+              19.867045
+            ],
+            [
+              109.231147,
+              19.863105
+            ],
+            [
+              109.159082,
+              19.79048
+            ],
+            [
+              109.169553,
+              19.736411
+            ],
+            [
+              109.147379,
+              19.704863
+            ],
+            [
+              109.093792,
+              19.68965
+            ],
+            [
+              109.048829,
+              19.619764
+            ],
+            [
+              108.993394,
+              19.587065
+            ],
+            [
+              108.92872,
+              19.524468
+            ],
+            [
+              108.855424,
+              19.469182
+            ],
+            [
+              108.806148,
+              19.450561
+            ],
+            [
+              108.765496,
+              19.400894
+            ],
+            [
+              108.694047,
+              19.387346
+            ],
+            [
+              108.644772,
+              19.349518
+            ],
+            [
+              108.609048,
+              19.276661
+            ],
+            [
+              108.591186,
+              19.141592
+            ],
+            [
+              108.598577,
+              19.055633
+            ],
+            [
+              108.630606,
+              19.003017
+            ],
+            [
+              108.637997,
+              18.924346
+            ],
+            [
+              108.595497,
+              18.872256
+            ],
+            [
+              108.593033,
+              18.809386
+            ],
+            [
+              108.65278,
+              18.740258
+            ],
+            [
+              108.663866,
+              18.67337
+            ],
+            [
+              108.641077,
+              18.565614
+            ],
+            [
+              108.644772,
+              18.486738
+            ],
+            [
+              108.68912,
+              18.447571
+            ],
+            [
+              108.776583,
+              18.441894
+            ],
+            [
+              108.881293,
+              18.416344
+            ],
+            [
+              108.905315,
+              18.389087
+            ],
+            [
+              108.944735,
+              18.314107
+            ],
+            [
+              109.006329,
+              18.323198
+            ],
+            [
+              109.108575,
+              18.323766
+            ],
+            [
+              109.138756,
+              18.268081
+            ],
+            [
+              109.17448,
+              18.260125
+            ],
+            [
+              109.287813,
+              18.264671
+            ],
+            [
+              109.355566,
+              18.215221
+            ],
+            [
+              109.441182,
+              18.199303
+            ],
+            [
+              109.467051,
+              18.173718
+            ],
+            [
+              109.527413,
+              18.169169
+            ],
+            [
+              109.584696,
+              18.143579
+            ],
+            [
+              109.661688,
+              18.175424
+            ],
+            [
+              109.726362,
+              18.177698
+            ],
+            [
+              109.749767,
+              18.193618
+            ],
+            [
+              109.785492,
+              18.339672
+            ],
+            [
+              109.919767,
+              18.375457
+            ],
+            [
+              110.022629,
+              18.360121
+            ],
+            [
+              110.070672,
+              18.376025
+            ],
+            [
+              110.090382,
+              18.399309
+            ],
+            [
+              110.116867,
+              18.506602
+            ],
+            [
+              110.214186,
+              18.578662
+            ],
+            [
+              110.246215,
+              18.609859
+            ],
+            [
+              110.329366,
+              18.642185
+            ],
+            [
+              110.367555,
+              18.631977
+            ],
+            [
+              110.499366,
+              18.651824
+            ],
+            [
+              110.499366,
+              18.751592
+            ],
+            [
+              110.578206,
+              18.784458
+            ],
+            [
+              110.590525,
+              18.838841
+            ],
+            [
+              110.585597,
+              18.88075
+            ],
+            [
+              110.619474,
+              19.152334
+            ],
+            [
+              110.676756,
+              19.286264
+            ],
+            [
+              110.706321,
+              19.320153
+            ],
+            [
+              110.729727,
+              19.378878
+            ],
+            [
+              110.787009,
+              19.399765
+            ],
+            [
+              110.844292,
+              19.449996
+            ],
+            [
+              110.888023,
+              19.518827
+            ],
+            [
+              110.920668,
+              19.552668
+            ],
+            [
+              111.008747,
+              19.60398
+            ],
+            [
+              111.061718,
+              19.612436
+            ],
+            [
+              111.071573,
+              19.628784
+            ],
+            [
+              111.043856,
+              19.763448
+            ],
+            [
+              111.013675,
+              19.850159
+            ],
+            [
+              110.966248,
+              20.018377
+            ],
+            [
+              110.940994,
+              20.028499
+            ],
+            [
+              110.871393,
+              20.01163
+            ],
+            [
+              110.808567,
+              20.035808
+            ],
+            [
+              110.778386,
+              20.068415
+            ],
+            [
+              110.744509,
+              20.074036
+            ],
+            [
+              110.717408,
+              20.148778
+            ],
+            [
+              110.687843,
+              20.163947
+            ],
+            [
+              110.655814,
+              20.134169
+            ],
+            [
+              110.562191,
+              20.110006
+            ],
+            [
+              110.526467,
+              20.07516
+            ],
+            [
+              110.495054,
+              20.077408
+            ],
+            [
+              110.387265,
+              20.113378
+            ],
+            [
+              110.318279,
+              20.108882
+            ],
+            [
+              110.28933,
+              20.056047
+            ],
+            [
+              110.243135,
+              20.077408
+            ],
+            [
+              110.144585,
+              20.074598
+            ],
+            [
+              110.106396,
+              20.026812
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.208597,
+              3.876129
+            ],
+            [
+              112.241858,
+              3.845677
+            ],
+            [
+              112.280046,
+              3.86777
+            ],
+            [
+              112.260336,
+              3.917925
+            ],
+            [
+              112.219068,
+              3.908969
+            ],
+            [
+              112.208597,
+              3.876129
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.266165,
+              8.125929
+            ],
+            [
+              113.311129,
+              8.177469
+            ],
+            [
+              113.343157,
+              8.193463
+            ],
+            [
+              113.288955,
+              8.119412
+            ],
+            [
+              113.349933,
+              8.172137
+            ],
+            [
+              113.386273,
+              8.238479
+            ],
+            [
+              113.386273,
+              8.289412
+            ],
+            [
+              113.354244,
+              8.304217
+            ],
+            [
+              113.353628,
+              8.237887
+            ],
+            [
+              113.293882,
+              8.176284
+            ],
+            [
+              113.266165,
+              8.125929
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.99733,
+              3.848065
+            ],
+            [
+              112.015192,
+              3.823583
+            ],
+            [
+              112.064467,
+              3.830152
+            ],
+            [
+              112.073707,
+              3.865979
+            ],
+            [
+              112.03367,
+              3.892251
+            ],
+            [
+              111.99733,
+              3.848065
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.463311,
+              17.077491
+            ],
+            [
+              111.536607,
+              17.104949
+            ],
+            [
+              111.4861,
+              17.058039
+            ],
+            [
+              111.559397,
+              17.087788
+            ],
+            [
+              111.542151,
+              17.11982
+            ],
+            [
+              111.452224,
+              17.092936
+            ],
+            [
+              111.463311,
+              17.077491
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.708319,
+              15.182712
+            ],
+            [
+              117.712631,
+              15.118592
+            ],
+            [
+              117.726798,
+              15.105303
+            ],
+            [
+              117.827812,
+              15.111659
+            ],
+            [
+              117.72495,
+              15.131302
+            ],
+            [
+              117.720638,
+              15.195418
+            ],
+            [
+              117.74466,
+              15.217941
+            ],
+            [
+              117.784696,
+              15.16885
+            ],
+            [
+              117.838899,
+              15.15903
+            ],
+            [
+              117.782848,
+              15.187333
+            ],
+            [
+              117.748355,
+              15.230068
+            ],
+            [
+              117.715095,
+              15.222561
+            ],
+            [
+              117.708319,
+              15.182712
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.241858,
+              3.942404
+            ],
+            [
+              112.292365,
+              3.946583
+            ],
+            [
+              112.288053,
+              3.97345
+            ],
+            [
+              112.254177,
+              3.97942
+            ],
+            [
+              112.241858,
+              3.942404
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.734324,
+              16.19732
+            ],
+            [
+              111.779903,
+              16.19732
+            ],
+            [
+              111.81686,
+              16.224329
+            ],
+            [
+              111.813164,
+              16.261676
+            ],
+            [
+              111.782367,
+              16.273741
+            ],
+            [
+              111.716462,
+              16.249036
+            ],
+            [
+              111.789758,
+              16.250186
+            ],
+            [
+              111.790374,
+              16.220307
+            ],
+            [
+              111.734324,
+              16.19732
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.649324,
+              16.255931
+            ],
+            [
+              111.577875,
+              16.208239
+            ],
+            [
+              111.56802,
+              16.162834
+            ],
+            [
+              111.611136,
+              16.156511
+            ],
+            [
+              111.690592,
+              16.211112
+            ],
+            [
+              111.606825,
+              16.177779
+            ],
+            [
+              111.598817,
+              16.198469
+            ],
+            [
+              111.681353,
+              16.262251
+            ],
+            [
+              111.649324,
+              16.255931
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.896887,
+              7.607204
+            ],
+            [
+              113.919677,
+              7.566865
+            ],
+            [
+              113.98743,
+              7.536014
+            ],
+            [
+              114.058879,
+              7.537794
+            ],
+            [
+              114.157429,
+              7.561525
+            ],
+            [
+              114.289856,
+              7.617288
+            ],
+            [
+              114.368696,
+              7.638642
+            ],
+            [
+              114.407501,
+              7.683126
+            ],
+            [
+              114.419819,
+              7.765557
+            ],
+            [
+              114.464167,
+              7.814771
+            ],
+            [
+              114.540543,
+              7.862201
+            ],
+            [
+              114.555326,
+              7.891249
+            ],
+            [
+              114.540543,
+              7.945783
+            ],
+            [
+              114.511594,
+              7.966527
+            ],
+            [
+              114.47279,
+              7.968898
+            ],
+            [
+              114.414892,
+              7.952895
+            ],
+            [
+              114.268298,
+              7.870501
+            ],
+            [
+              114.211632,
+              7.786904
+            ],
+            [
+              114.095219,
+              7.721082
+            ],
+            [
+              114.029314,
+              7.670078
+            ],
+            [
+              113.921524,
+              7.639235
+            ],
+            [
+              113.896887,
+              7.607204
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.976959,
+              8.872888
+            ],
+            [
+              114.013299,
+              8.836817
+            ],
+            [
+              114.035473,
+              8.783591
+            ],
+            [
+              114.060111,
+              8.816119
+            ],
+            [
+              114.041017,
+              8.843913
+            ],
+            [
+              113.989894,
+              8.878801
+            ],
+            [
+              113.976959,
+              8.872888
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.956017,
+              8.840365
+            ],
+            [
+              113.975111,
+              8.793054
+            ],
+            [
+              114.012068,
+              8.798376
+            ],
+            [
+              113.977575,
+              8.841548
+            ],
+            [
+              113.956017,
+              8.840365
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.97454,
+              16.323715
+            ],
+            [
+              112.002258,
+              16.306484
+            ],
+            [
+              112.07617,
+              16.323715
+            ],
+            [
+              112.074938,
+              16.349558
+            ],
+            [
+              112.047221,
+              16.360469
+            ],
+            [
+              112.002874,
+              16.350707
+            ],
+            [
+              111.97454,
+              16.323715
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.739251,
+              16.452898
+            ],
+            [
+              111.766969,
+              16.470116
+            ],
+            [
+              111.786679,
+              16.520039
+            ],
+            [
+              111.759577,
+              16.545857
+            ],
+            [
+              111.765737,
+              16.495366
+            ],
+            [
+              111.739251,
+              16.452898
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.216604,
+              8.866383
+            ],
+            [
+              112.206133,
+              8.88767
+            ],
+            [
+              112.180264,
+              8.862244
+            ],
+            [
+              112.216604,
+              8.866383
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.792177,
+              7.373422
+            ],
+            [
+              113.828518,
+              7.362145
+            ],
+            [
+              113.829134,
+              7.383511
+            ],
+            [
+              113.792177,
+              7.373422
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.194386,
+              8.764664
+            ],
+            [
+              114.201161,
+              8.727991
+            ],
+            [
+              114.248588,
+              8.724442
+            ],
+            [
+              114.222103,
+              8.784773
+            ],
+            [
+              114.194386,
+              8.764664
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.232619,
+              16.996239
+            ],
+            [
+              112.207981,
+              16.987081
+            ],
+            [
+              112.222764,
+              16.960751
+            ],
+            [
+              112.292981,
+              16.96762
+            ],
+            [
+              112.266496,
+              16.993949
+            ],
+            [
+              112.232619,
+              16.996239
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.689601,
+              10.345648
+            ],
+            [
+              114.702536,
+              10.312677
+            ],
+            [
+              114.725941,
+              10.319154
+            ],
+            [
+              114.747499,
+              10.37214
+            ],
+            [
+              114.717318,
+              10.380381
+            ],
+            [
+              114.689601,
+              10.345648
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.837712,
+              9.709775
+            ],
+            [
+              115.861117,
+              9.694438
+            ],
+            [
+              115.867277,
+              9.650191
+            ],
+            [
+              115.901153,
+              9.67084
+            ],
+            [
+              115.925791,
+              9.781734
+            ],
+            [
+              115.901153,
+              9.795888
+            ],
+            [
+              115.870972,
+              9.778785
+            ],
+            [
+              115.837712,
+              9.709775
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.617536,
+              9.965688
+            ],
+            [
+              114.642173,
+              9.917351
+            ],
+            [
+              114.672355,
+              9.927963
+            ],
+            [
+              114.685905,
+              9.979245
+            ],
+            [
+              114.617536,
+              9.965688
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.769387,
+              7.636862
+            ],
+            [
+              113.773699,
+              7.601865
+            ],
+            [
+              113.814967,
+              7.603051
+            ],
+            [
+              113.831597,
+              7.644573
+            ],
+            [
+              113.769387,
+              7.636862
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.463972,
+              7.344339
+            ],
+            [
+              109.463972,
+              7.315254
+            ],
+            [
+              109.513247,
+              7.320002
+            ],
+            [
+              109.571761,
+              7.373422
+            ],
+            [
+              109.654297,
+              7.479648
+            ],
+            [
+              109.709115,
+              7.511095
+            ],
+            [
+              109.791651,
+              7.524742
+            ],
+            [
+              109.938861,
+              7.504569
+            ],
+            [
+              109.948716,
+              7.522962
+            ],
+            [
+              109.904984,
+              7.55144
+            ],
+            [
+              109.816289,
+              7.572797
+            ],
+            [
+              109.72205,
+              7.575763
+            ],
+            [
+              109.653065,
+              7.559745
+            ],
+            [
+              109.536037,
+              7.448792
+            ],
+            [
+              109.463972,
+              7.344339
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.273181,
+              8.879392
+            ],
+            [
+              116.294123,
+              8.858105
+            ],
+            [
+              116.332311,
+              8.901269
+            ],
+            [
+              116.305826,
+              8.917233
+            ],
+            [
+              116.273181,
+              8.879392
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.476531,
+              16.001247
+            ],
+            [
+              112.570154,
+              16.011027
+            ],
+            [
+              112.612037,
+              16.039212
+            ],
+            [
+              112.588016,
+              16.070844
+            ],
+            [
+              112.462364,
+              16.043813
+            ],
+            [
+              112.448814,
+              16.005274
+            ],
+            [
+              112.476531,
+              16.001247
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.537509,
+              8.846278
+            ],
+            [
+              112.57077,
+              8.815527
+            ],
+            [
+              112.639755,
+              8.818484
+            ],
+            [
+              112.598487,
+              8.859288
+            ],
+            [
+              112.537509,
+              8.846278
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.469095,
+              10.836261
+            ],
+            [
+              114.475254,
+              10.814512
+            ],
+            [
+              114.513442,
+              10.848605
+            ],
+            [
+              114.565181,
+              10.836261
+            ],
+            [
+              114.593514,
+              10.856245
+            ],
+            [
+              114.587355,
+              10.909138
+            ],
+            [
+              114.55471,
+              10.900911
+            ],
+            [
+              114.469095,
+              10.836261
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.409393,
+              16.294996
+            ],
+            [
+              112.383524,
+              16.265698
+            ],
+            [
+              112.411241,
+              16.2634
+            ],
+            [
+              112.475915,
+              16.288677
+            ],
+            [
+              112.531349,
+              16.285805
+            ],
+            [
+              112.536893,
+              16.312228
+            ],
+            [
+              112.509176,
+              16.317397
+            ],
+            [
+              112.409393,
+              16.294996
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.48876,
+              10.395686
+            ],
+            [
+              116.461658,
+              10.34918
+            ],
+            [
+              116.467202,
+              10.309144
+            ],
+            [
+              116.511549,
+              10.297957
+            ],
+            [
+              116.566368,
+              10.304434
+            ],
+            [
+              116.644592,
+              10.335051
+            ],
+            [
+              116.637817,
+              10.365076
+            ],
+            [
+              116.514629,
+              10.34918
+            ],
+            [
+              116.542346,
+              10.41982
+            ],
+            [
+              116.526332,
+              10.426883
+            ],
+            [
+              116.48876,
+              10.395686
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.349031,
+              16.912088
+            ],
+            [
+              112.360734,
+              16.925257
+            ],
+            [
+              112.334249,
+              16.962469
+            ],
+            [
+              112.30222,
+              16.963041
+            ],
+            [
+              112.349031,
+              16.912088
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.500267,
+              16.45175
+            ],
+            [
+              111.49534,
+              16.4374
+            ],
+            [
+              111.545847,
+              16.43453
+            ],
+            [
+              111.538455,
+              16.461507
+            ],
+            [
+              111.500267,
+              16.45175
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.500177,
+              9.897897
+            ],
+            [
+              115.54822,
+              9.869007
+            ],
+            [
+              115.585177,
+              9.896128
+            ],
+            [
+              115.581481,
+              9.917351
+            ],
+            [
+              115.518039,
+              9.933857
+            ],
+            [
+              115.500177,
+              9.897897
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.669891,
+              8.210048
+            ],
+            [
+              114.691449,
+              8.18517
+            ],
+            [
+              114.74134,
+              8.189316
+            ],
+            [
+              114.726557,
+              8.21064
+            ],
+            [
+              114.669891,
+              8.210048
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.507899,
+              8.120004
+            ],
+            [
+              114.530073,
+              8.103415
+            ],
+            [
+              114.595978,
+              8.120596
+            ],
+            [
+              114.624311,
+              8.149626
+            ],
+            [
+              114.595978,
+              8.15792
+            ],
+            [
+              114.507899,
+              8.120004
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.16757,
+              8.386523
+            ],
+            [
+              115.18112,
+              8.345668
+            ],
+            [
+              115.235939,
+              8.321982
+            ],
+            [
+              115.285214,
+              8.314876
+            ],
+            [
+              115.315395,
+              8.356326
+            ],
+            [
+              115.299381,
+              8.370537
+            ],
+            [
+              115.202678,
+              8.395403
+            ],
+            [
+              115.16757,
+              8.386523
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.895039,
+              8.00505
+            ],
+            [
+              113.904894,
+              7.963564
+            ],
+            [
+              113.9708,
+              7.944597
+            ],
+            [
+              113.969568,
+              7.974825
+            ],
+            [
+              113.940003,
+              8.018088
+            ],
+            [
+              113.895039,
+              8.00505
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.436119,
+              9.393447
+            ],
+            [
+              115.450286,
+              9.345028
+            ],
+            [
+              115.469996,
+              9.3592
+            ],
+            [
+              115.456445,
+              9.417064
+            ],
+            [
+              115.436119,
+              9.393447
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.457347,
+              9.174326
+            ],
+            [
+              116.477057,
+              9.137103
+            ],
+            [
+              116.500462,
+              9.164282
+            ],
+            [
+              116.457347,
+              9.174326
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.638192,
+              8.976942
+            ],
+            [
+              113.654823,
+              8.962163
+            ],
+            [
+              113.730583,
+              9.004133
+            ],
+            [
+              113.719496,
+              9.020092
+            ],
+            [
+              113.644968,
+              8.989355
+            ],
+            [
+              113.638192,
+              8.976942
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.696992,
+              11.004322
+            ],
+            [
+              114.710543,
+              11.001972
+            ],
+            [
+              114.793079,
+              11.07657
+            ],
+            [
+              114.799854,
+              11.10476
+            ],
+            [
+              114.766593,
+              11.110045
+            ],
+            [
+              114.710543,
+              11.039567
+            ],
+            [
+              114.696992,
+              11.004322
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.62,
+              11.432264
+            ],
+            [
+              114.652644,
+              11.436957
+            ],
+            [
+              114.661884,
+              11.522584
+            ],
+            [
+              114.621232,
+              11.518479
+            ],
+            [
+              114.62,
+              11.432264
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.910723,
+              10.863298
+            ],
+            [
+              114.931049,
+              10.841551
+            ],
+            [
+              114.959998,
+              10.902087
+            ],
+            [
+              114.934129,
+              10.902674
+            ],
+            [
+              114.910723,
+              10.863298
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.572948,
+              16.470116
+            ],
+            [
+              111.578491,
+              16.447158
+            ],
+            [
+              111.614216,
+              16.44027
+            ],
+            [
+              111.592658,
+              16.490775
+            ],
+            [
+              111.572948,
+              16.470116
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.939387,
+              8.875253
+            ],
+            [
+              113.912285,
+              8.888853
+            ],
+            [
+              113.893807,
+              8.862836
+            ],
+            [
+              113.916597,
+              8.837999
+            ],
+            [
+              113.939387,
+              8.875253
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.936397,
+              7.848566
+            ],
+            [
+              109.936397,
+              7.823665
+            ],
+            [
+              109.988136,
+              7.8124
+            ],
+            [
+              110.050346,
+              7.846194
+            ],
+            [
+              110.082991,
+              7.896584
+            ],
+            [
+              110.078063,
+              7.949339
+            ],
+            [
+              110.0331,
+              7.944597
+            ],
+            [
+              109.953027,
+              7.888878
+            ],
+            [
+              109.936397,
+              7.848566
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.727128,
+              11.501473
+            ],
+            [
+              116.765316,
+              11.430504
+            ],
+            [
+              116.772092,
+              11.445755
+            ],
+            [
+              116.738215,
+              11.514961
+            ],
+            [
+              116.727128,
+              11.501473
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.690592,
+              16.587731
+            ],
+            [
+              111.724469,
+              16.560198
+            ],
+            [
+              111.717078,
+              16.59404
+            ],
+            [
+              111.690592,
+              16.587731
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.507328,
+              16.466098
+            ],
+            [
+              112.586784,
+              16.525777
+            ],
+            [
+              112.575081,
+              16.537251
+            ],
+            [
+              112.499321,
+              16.493645
+            ],
+            [
+              112.507328,
+              16.466098
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.761425,
+              16.061642
+            ],
+            [
+              111.791606,
+              16.028859
+            ],
+            [
+              111.828563,
+              16.049565
+            ],
+            [
+              111.829795,
+              16.070844
+            ],
+            [
+              111.761425,
+              16.061642
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.845764,
+              10.018733
+            ],
+            [
+              113.865474,
+              10.00341
+            ],
+            [
+              113.872249,
+              10.123029
+            ],
+            [
+              113.856851,
+              10.12185
+            ],
+            [
+              113.845764,
+              10.018733
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.791847,
+              8.160882
+            ],
+            [
+              114.777064,
+              8.114079
+            ],
+            [
+              114.812173,
+              8.110524
+            ],
+            [
+              114.818332,
+              8.141332
+            ],
+            [
+              114.791847,
+              8.160882
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.557129,
+              9.745167
+            ],
+            [
+              116.566368,
+              9.718623
+            ],
+            [
+              116.593469,
+              9.723932
+            ],
+            [
+              116.557129,
+              9.745167
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.28275,
+              10.191951
+            ],
+            [
+              115.288294,
+              10.172513
+            ],
+            [
+              115.333257,
+              10.200198
+            ],
+            [
+              115.28891,
+              10.211388
+            ],
+            [
+              115.28275,
+              10.191951
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.832454,
+              10.476908
+            ],
+            [
+              116.855243,
+              10.468669
+            ],
+            [
+              116.868794,
+              10.495739
+            ],
+            [
+              116.832454,
+              10.476908
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.703151,
+              16.170307
+            ],
+            [
+              114.816484,
+              16.198469
+            ],
+            [
+              114.802934,
+              16.215135
+            ],
+            [
+              114.704383,
+              16.199044
+            ],
+            [
+              114.703151,
+              16.170307
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.97753,
+              9.321997
+            ],
+            [
+              115.926407,
+              9.311366
+            ],
+            [
+              115.943037,
+              9.269433
+            ],
+            [
+              115.976298,
+              9.268252
+            ],
+            [
+              115.999088,
+              9.293649
+            ],
+            [
+              115.97753,
+              9.321997
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.660366,
+              9.231039
+            ],
+            [
+              113.676997,
+              9.202683
+            ],
+            [
+              113.697323,
+              9.225722
+            ],
+            [
+              113.660366,
+              9.231039
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.665579,
+              7.590001
+            ],
+            [
+              114.671739,
+              7.563898
+            ],
+            [
+              114.72163,
+              7.59178
+            ],
+            [
+              114.703767,
+              7.614915
+            ],
+            [
+              114.665579,
+              7.590001
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.493116,
+              10.717504
+            ],
+            [
+              114.513442,
+              10.722208
+            ],
+            [
+              114.562717,
+              10.778064
+            ],
+            [
+              114.539312,
+              10.793349
+            ],
+            [
+              114.493116,
+              10.717504
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.770529,
+              10.773361
+            ],
+            [
+              117.798862,
+              10.753371
+            ],
+            [
+              117.835819,
+              10.803931
+            ],
+            [
+              117.831507,
+              10.838612
+            ],
+            [
+              117.801942,
+              10.839788
+            ],
+            [
+              117.775457,
+              10.809222
+            ],
+            [
+              117.770529,
+              10.773361
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.242429,
+              10.242014
+            ],
+            [
+              114.263371,
+              10.239658
+            ],
+            [
+              114.326197,
+              10.284414
+            ],
+            [
+              114.312646,
+              10.300901
+            ],
+            [
+              114.265219,
+              10.275581
+            ],
+            [
+              114.242429,
+              10.242014
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.688985,
+              11.469217
+            ],
+            [
+              114.722246,
+              11.429331
+            ],
+            [
+              114.737644,
+              11.463938
+            ],
+            [
+              114.720398,
+              11.49209
+            ],
+            [
+              114.688985,
+              11.469217
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.638433,
+              10.503977
+            ],
+            [
+              116.653215,
+              10.491031
+            ],
+            [
+              116.70865,
+              10.492797
+            ],
+            [
+              116.699411,
+              10.517511
+            ],
+            [
+              116.638433,
+              10.503977
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.459946,
+              8.116449
+            ],
+            [
+              110.471032,
+              8.072012
+            ],
+            [
+              110.554184,
+              8.093935
+            ],
+            [
+              110.599764,
+              8.156735
+            ],
+            [
+              110.568351,
+              8.17273
+            ],
+            [
+              110.461793,
+              8.128298
+            ],
+            [
+              110.459946,
+              8.116449
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.463311,
+              8.52504
+            ],
+            [
+              111.497187,
+              8.523857
+            ],
+            [
+              111.509506,
+              8.550489
+            ],
+            [
+              111.463311,
+              8.52504
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.258113,
+              8.509652
+            ],
+            [
+              115.271048,
+              8.477098
+            ],
+            [
+              115.296301,
+              8.510836
+            ],
+            [
+              115.258113,
+              8.509652
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.221817,
+              8.073789
+            ],
+            [
+              113.235984,
+              8.068456
+            ],
+            [
+              113.283411,
+              8.111117
+            ],
+            [
+              113.269861,
+              8.120004
+            ],
+            [
+              113.221817,
+              8.073789
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.074893,
+              10.929118
+            ],
+            [
+              114.064422,
+              10.904437
+            ],
+            [
+              114.110002,
+              10.918541
+            ],
+            [
+              114.096451,
+              10.947921
+            ],
+            [
+              114.074893,
+              10.929118
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.258068,
+              10.320331
+            ],
+            [
+              117.299336,
+              10.313855
+            ],
+            [
+              117.299952,
+              10.343293
+            ],
+            [
+              117.274698,
+              10.358011
+            ],
+            [
+              117.258068,
+              10.320331
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.212864,
+              16.040937
+            ],
+            [
+              114.31203,
+              16.034611
+            ],
+            [
+              114.306487,
+              16.057616
+            ],
+            [
+              114.268914,
+              16.059342
+            ],
+            [
+              114.212864,
+              16.040937
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.609003,
+              8.010976
+            ],
+            [
+              110.642879,
+              7.989049
+            ],
+            [
+              110.641648,
+              8.031125
+            ],
+            [
+              110.622553,
+              8.041199
+            ],
+            [
+              110.609003,
+              8.010976
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.509416,
+              8.490712
+            ],
+            [
+              115.521735,
+              8.460523
+            ],
+            [
+              115.55438,
+              8.461115
+            ],
+            [
+              115.569162,
+              8.49012
+            ],
+            [
+              115.558691,
+              8.523265
+            ],
+            [
+              115.514344,
+              8.519122
+            ],
+            [
+              115.509416,
+              8.490712
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.539071,
+              7.54432
+            ],
+            [
+              111.542767,
+              7.524742
+            ],
+            [
+              111.583419,
+              7.543134
+            ],
+            [
+              111.612368,
+              7.592374
+            ],
+            [
+              111.566788,
+              7.606017
+            ],
+            [
+              111.539071,
+              7.54432
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.657947,
+              8.672974
+            ],
+            [
+              111.665955,
+              8.622683
+            ],
+            [
+              111.717694,
+              8.6499
+            ],
+            [
+              111.697368,
+              8.67889
+            ],
+            [
+              111.657947,
+              8.672974
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.460561,
+              7.799948
+            ],
+            [
+              110.487663,
+              7.783346
+            ],
+            [
+              110.511684,
+              7.805878
+            ],
+            [
+              110.485199,
+              7.827815
+            ],
+            [
+              110.460561,
+              7.799948
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.345952,
+              8.926101
+            ],
+            [
+              112.392763,
+              8.919598
+            ],
+            [
+              112.384756,
+              8.946793
+            ],
+            [
+              112.345952,
+              8.926101
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.469665,
+              9.810041
+            ],
+            [
+              116.47952,
+              9.785272
+            ],
+            [
+              116.50847,
+              9.79117
+            ],
+            [
+              116.490607,
+              9.821246
+            ],
+            [
+              116.469665,
+              9.810041
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.925265,
+              8.070827
+            ],
+            [
+              111.949287,
+              8.05068
+            ],
+            [
+              111.994866,
+              8.047125
+            ],
+            [
+              112.018888,
+              8.065494
+            ],
+            [
+              112.013344,
+              8.093342
+            ],
+            [
+              111.95483,
+              8.106377
+            ],
+            [
+              111.925265,
+              8.070827
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.457392,
+              15.599305
+            ],
+            [
+              114.466631,
+              15.576823
+            ],
+            [
+              114.491884,
+              15.59354
+            ],
+            [
+              114.457392,
+              15.599305
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.985252,
+              11.078332
+            ],
+            [
+              115.013585,
+              11.063062
+            ],
+            [
+              115.021592,
+              11.085967
+            ],
+            [
+              114.985252,
+              11.078332
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.10569,
+              16.004124
+            ],
+            [
+              114.110618,
+              15.978235
+            ],
+            [
+              114.132176,
+              16.007575
+            ],
+            [
+              114.10569,
+              16.004124
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.045283,
+              10.095338
+            ],
+            [
+              116.067457,
+              10.065876
+            ],
+            [
+              116.09579,
+              10.09357
+            ],
+            [
+              116.070537,
+              10.12892
+            ],
+            [
+              116.045283,
+              10.095338
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.266691,
+              10.69163
+            ],
+            [
+              117.348611,
+              10.672811
+            ],
+            [
+              117.404661,
+              10.671047
+            ],
+            [
+              117.418212,
+              10.702803
+            ],
+            [
+              117.369553,
+              10.7422
+            ],
+            [
+              117.293176,
+              10.735144
+            ],
+            [
+              117.266691,
+              10.69163
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.854057,
+              7.244611
+            ],
+            [
+              114.819564,
+              7.192957
+            ],
+            [
+              114.869455,
+              7.198895
+            ],
+            [
+              114.854057,
+              7.244611
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.823305,
+              8.910729
+            ],
+            [
+              112.859645,
+              8.889444
+            ],
+            [
+              112.873196,
+              8.908364
+            ],
+            [
+              112.823305,
+              8.910729
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.670266,
+              7.651098
+            ],
+            [
+              111.707223,
+              7.648725
+            ],
+            [
+              111.749722,
+              7.703884
+            ],
+            [
+              111.726317,
+              7.729977
+            ],
+            [
+              111.691208,
+              7.711593
+            ],
+            [
+              111.670266,
+              7.651098
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.207981,
+              8.835634
+            ],
+            [
+              112.235699,
+              8.827355
+            ],
+            [
+              112.241242,
+              8.852783
+            ],
+            [
+              112.207981,
+              8.835634
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.527654,
+              5.79444
+            ],
+            [
+              112.531965,
+              5.766455
+            ],
+            [
+              112.562762,
+              5.75931
+            ],
+            [
+              112.562146,
+              5.820637
+            ],
+            [
+              112.527654,
+              5.79444
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.599058,
+              8.846278
+            ],
+            [
+              114.645869,
+              8.844504
+            ],
+            [
+              114.68221,
+              8.881166
+            ],
+            [
+              114.665579,
+              8.900087
+            ],
+            [
+              114.61692,
+              8.881166
+            ],
+            [
+              114.599058,
+              8.846278
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.868223,
+              7.983715
+            ],
+            [
+              114.907643,
+              7.951117
+            ],
+            [
+              114.914419,
+              8.00742
+            ],
+            [
+              114.883006,
+              8.011569
+            ],
+            [
+              114.868223,
+              7.983715
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.945261,
+              8.410204
+            ],
+            [
+              112.985297,
+              8.429149
+            ],
+            [
+              112.949572,
+              8.432701
+            ],
+            [
+              112.945261,
+              8.410204
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.600004,
+              6.961929
+            ],
+            [
+              113.580294,
+              6.920344
+            ],
+            [
+              113.62341,
+              6.942325
+            ],
+            [
+              113.600004,
+              6.961929
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.695099,
+              16.345538
+            ],
+            [
+              116.708034,
+              16.299591
+            ],
+            [
+              116.738831,
+              16.303612
+            ],
+            [
+              116.747454,
+              16.360469
+            ],
+            [
+              116.717889,
+              16.373676
+            ],
+            [
+              116.695099,
+              16.345538
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.347995,
+              10.090624
+            ],
+            [
+              117.354154,
+              10.06293
+            ],
+            [
+              117.385567,
+              10.063519
+            ],
+            [
+              117.373864,
+              10.106532
+            ],
+            [
+              117.347995,
+              10.090624
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.993304,
+              19.472003
+            ],
+            [
+              113.038883,
+              19.480466
+            ],
+            [
+              113.048123,
+              19.506417
+            ],
+            [
+              113.029028,
+              19.52898
+            ],
+            [
+              112.993304,
+              19.52616
+            ],
+            [
+              112.980369,
+              19.496263
+            ],
+            [
+              112.993304,
+              19.472003
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.448153,
+              16.034035
+            ],
+            [
+              114.485109,
+              16.034611
+            ],
+            [
+              114.521449,
+              16.056466
+            ],
+            [
+              114.465399,
+              16.067393
+            ],
+            [
+              114.448153,
+              16.034035
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.832213,
+              19.158552
+            ],
+            [
+              113.874097,
+              19.151203
+            ],
+            [
+              113.914749,
+              19.172119
+            ],
+            [
+              113.920293,
+              19.223551
+            ],
+            [
+              113.875945,
+              19.237113
+            ],
+            [
+              113.80696,
+              19.222986
+            ],
+            [
+              113.799568,
+              19.19925
+            ],
+            [
+              113.832213,
+              19.158552
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.650842,
+              5.106941
+            ],
+            [
+              112.655769,
+              5.055676
+            ],
+            [
+              112.682871,
+              5.048522
+            ],
+            [
+              112.719211,
+              5.075944
+            ],
+            [
+              112.678559,
+              5.121247
+            ],
+            [
+              112.650842,
+              5.106941
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.638853,
+              7.907254
+            ],
+            [
+              111.665339,
+              7.887099
+            ],
+            [
+              111.712766,
+              7.887099
+            ],
+            [
+              111.713382,
+              7.927408
+            ],
+            [
+              111.651788,
+              7.932743
+            ],
+            [
+              111.638853,
+              7.907254
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.244322,
+              8.874662
+            ],
+            [
+              112.281278,
+              8.855148
+            ],
+            [
+              112.288669,
+              8.885896
+            ],
+            [
+              112.244322,
+              8.874662
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.89229,
+              7.844416
+            ],
+            [
+              112.929862,
+              7.827815
+            ],
+            [
+              112.93171,
+              7.867537
+            ],
+            [
+              112.89229,
+              7.844416
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.583088,
+              5.56159
+            ],
+            [
+              112.606494,
+              5.51751
+            ],
+            [
+              112.614501,
+              5.465683
+            ],
+            [
+              112.642834,
+              5.489512
+            ],
+            [
+              112.616349,
+              5.568737
+            ],
+            [
+              112.583088,
+              5.56159
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.523342,
+              5.656289
+            ],
+            [
+              112.5449,
+              5.616386
+            ],
+            [
+              112.565842,
+              5.63068
+            ],
+            [
+              112.56153,
+              5.677133
+            ],
+            [
+              112.528886,
+              5.687257
+            ],
+            [
+              112.523342,
+              5.656289
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.361591,
+              13.948985
+            ],
+            [
+              115.397315,
+              13.92517
+            ],
+            [
+              115.438583,
+              13.943757
+            ],
+            [
+              115.423185,
+              13.977443
+            ],
+            [
+              115.377605,
+              13.968732
+            ],
+            [
+              115.361591,
+              13.948985
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.596924,
+              10.240836
+            ],
+            [
+              113.617866,
+              10.22199
+            ],
+            [
+              113.638192,
+              10.243192
+            ],
+            [
+              113.596924,
+              10.240836
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.860546,
+              15.477068
+            ],
+            [
+              113.893807,
+              15.463802
+            ],
+            [
+              113.890112,
+              15.490909
+            ],
+            [
+              113.860546,
+              15.477068
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.907072,
+              4.993079
+            ],
+            [
+              112.943413,
+              4.991887
+            ],
+            [
+              112.952652,
+              5.047926
+            ],
+            [
+              112.910768,
+              5.038388
+            ],
+            [
+              112.907072,
+              4.993079
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.557219,
+              5.109326
+            ],
+            [
+              112.568922,
+              5.071771
+            ],
+            [
+              112.610806,
+              5.091443
+            ],
+            [
+              112.601567,
+              5.120055
+            ],
+            [
+              112.557219,
+              5.109326
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.350263,
+              5.621747
+            ],
+            [
+              112.385988,
+              5.615791
+            ],
+            [
+              112.385372,
+              5.643187
+            ],
+            [
+              112.350263,
+              5.621747
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.226459,
+              16.759147
+            ],
+            [
+              112.254177,
+              16.751698
+            ],
+            [
+              112.262184,
+              16.778057
+            ],
+            [
+              112.211061,
+              16.795819
+            ],
+            [
+              112.226459,
+              16.759147
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.233851,
+              15.69612
+            ],
+            [
+              112.25972,
+              15.734718
+            ],
+            [
+              112.240626,
+              15.741055
+            ],
+            [
+              112.20367,
+              15.71398
+            ],
+            [
+              112.233851,
+              15.69612
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.612037,
+              5.367973
+            ],
+            [
+              112.640371,
+              5.347715
+            ],
+            [
+              112.685334,
+              5.371548
+            ],
+            [
+              112.690878,
+              5.406702
+            ],
+            [
+              112.62374,
+              5.401935
+            ],
+            [
+              112.612037,
+              5.367973
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.472219,
+              5.73966
+            ],
+            [
+              112.496857,
+              5.736683
+            ],
+            [
+              112.498089,
+              5.775387
+            ],
+            [
+              112.472219,
+              5.73966
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.217506,
+              6.306249
+            ],
+            [
+              113.230441,
+              6.285429
+            ],
+            [
+              113.243991,
+              6.325878
+            ],
+            [
+              113.217506,
+              6.306249
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.152457,
+              9.579384
+            ],
+            [
+              116.189413,
+              9.565221
+            ],
+            [
+              116.187565,
+              9.595317
+            ],
+            [
+              116.152457,
+              9.579384
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.948911,
+              7.508722
+            ],
+            [
+              114.960614,
+              7.484988
+            ],
+            [
+              115.012353,
+              7.484988
+            ],
+            [
+              115.013585,
+              7.525928
+            ],
+            [
+              114.948911,
+              7.508722
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.553854,
+              7.807656
+            ],
+            [
+              111.585267,
+              7.771487
+            ],
+            [
+              111.619759,
+              7.840265
+            ],
+            [
+              111.603745,
+              7.861608
+            ],
+            [
+              111.553854,
+              7.807656
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.938771,
+              15.8355
+            ],
+            [
+              113.973263,
+              15.805558
+            ],
+            [
+              113.9708,
+              15.83953
+            ],
+            [
+              113.938771,
+              15.8355
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.926122,
+              16.036911
+            ],
+            [
+              114.895325,
+              16.036336
+            ],
+            [
+              114.910723,
+              16.001823
+            ],
+            [
+              114.926122,
+              16.036911
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              116.749302,
+              9.056736
+            ],
+            [
+              116.699411,
+              9.049053
+            ],
+            [
+              116.70865,
+              9.024229
+            ],
+            [
+              116.740679,
+              9.028367
+            ],
+            [
+              116.749302,
+              9.056736
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.64653,
+              16.385733
+            ],
+            [
+              112.681639,
+              16.400661
+            ],
+            [
+              112.660081,
+              16.426494
+            ],
+            [
+              112.64653,
+              16.385733
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.203384,
+              19.92557
+            ],
+            [
+              111.203384,
+              19.925007
+            ],
+            [
+              111.204,
+              19.92557
+            ],
+            [
+              111.204,
+              19.926132
+            ],
+            [
+              111.203384,
+              19.92557
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.758256,
+              10.461018
+            ],
+            [
+              115.776118,
+              10.434534
+            ],
+            [
+              115.801987,
+              10.463372
+            ],
+            [
+              115.758256,
+              10.461018
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.21372,
+              10.735144
+            ],
+            [
+              117.187235,
+              10.741612
+            ],
+            [
+              117.206945,
+              10.707507
+            ],
+            [
+              117.21372,
+              10.735144
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.671784,
+              16.331755
+            ],
+            [
+              112.701349,
+              16.331755
+            ],
+            [
+              112.677943,
+              16.35932
+            ],
+            [
+              112.671784,
+              16.331755
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.782277,
+              10.541046
+            ],
+            [
+              115.795212,
+              10.499858
+            ],
+            [
+              115.805067,
+              10.524571
+            ],
+            [
+              115.782277,
+              10.541046
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.512255,
+              9.544566
+            ],
+            [
+              112.50856,
+              9.525679
+            ],
+            [
+              112.568922,
+              9.516826
+            ],
+            [
+              112.567074,
+              9.554008
+            ],
+            [
+              112.512255,
+              9.544566
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.610145,
+              15.649447
+            ],
+            [
+              114.581195,
+              15.625242
+            ],
+            [
+              114.610761,
+              15.615444
+            ],
+            [
+              114.610145,
+              15.649447
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.299336,
+              11.077745
+            ],
+            [
+              117.264227,
+              11.063062
+            ],
+            [
+              117.284553,
+              11.02547
+            ],
+            [
+              117.304263,
+              11.027232
+            ],
+            [
+              117.299336,
+              11.077745
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              117.691073,
+              11.048965
+            ],
+            [
+              117.653501,
+              11.046029
+            ],
+            [
+              117.655965,
+              11.024882
+            ],
+            [
+              117.690457,
+              11.016658
+            ],
+            [
+              117.691073,
+              11.048965
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.166668,
+              9.38459
+            ],
+            [
+              114.175291,
+              9.342075
+            ],
+            [
+              114.195617,
+              9.350933
+            ],
+            [
+              114.194386,
+              9.391676
+            ],
+            [
+              114.166668,
+              9.38459
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.714854,
+              9.736909
+            ],
+            [
+              114.693296,
+              9.741038
+            ],
+            [
+              114.680978,
+              9.707416
+            ],
+            [
+              114.704999,
+              9.700337
+            ],
+            [
+              114.714854,
+              9.736909
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.554139,
+              5.97839
+            ],
+            [
+              112.553523,
+              5.942676
+            ],
+            [
+              112.575697,
+              5.971247
+            ],
+            [
+              112.554139,
+              5.97839
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 5e5,
+      name: "重庆市",
+      center: [
+        106.504962,
+        29.533155
+      ],
+      centroid: [
+        107.8839,
+        30.067297
+      ],
+      childrenNum: 38,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 21,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              106.37442,
+              28.525742
+            ],
+            [
+              106.403369,
+              28.569901
+            ],
+            [
+              106.477282,
+              28.530474
+            ],
+            [
+              106.504999,
+              28.544669
+            ],
+            [
+              106.466811,
+              28.586193
+            ],
+            [
+              106.49268,
+              28.591448
+            ],
+            [
+              106.502535,
+              28.661313
+            ],
+            [
+              106.528405,
+              28.677591
+            ],
+            [
+              106.492064,
+              28.742153
+            ],
+            [
+              106.461883,
+              28.761041
+            ],
+            [
+              106.45326,
+              28.817162
+            ],
+            [
+              106.474202,
+              28.832891
+            ],
+            [
+              106.561666,
+              28.756319
+            ],
+            [
+              106.56105,
+              28.719062
+            ],
+            [
+              106.587535,
+              28.691767
+            ],
+            [
+              106.6171,
+              28.691242
+            ],
+            [
+              106.617716,
+              28.66709
+            ],
+            [
+              106.651593,
+              28.649235
+            ],
+            [
+              106.618332,
+              28.645033
+            ],
+            [
+              106.63681,
+              28.622972
+            ],
+            [
+              106.606629,
+              28.593024
+            ],
+            [
+              106.615252,
+              28.549401
+            ],
+            [
+              106.567825,
+              28.523638
+            ],
+            [
+              106.564745,
+              28.485247
+            ],
+            [
+              106.632499,
+              28.503655
+            ],
+            [
+              106.697788,
+              28.47683
+            ],
+            [
+              106.708259,
+              28.450524
+            ],
+            [
+              106.747063,
+              28.467361
+            ],
+            [
+              106.726121,
+              28.51838
+            ],
+            [
+              106.73844,
+              28.554657
+            ],
+            [
+              106.77786,
+              28.563068
+            ],
+            [
+              106.756918,
+              28.607211
+            ],
+            [
+              106.784636,
+              28.626649
+            ],
+            [
+              106.807425,
+              28.589346
+            ],
+            [
+              106.830831,
+              28.623497
+            ],
+            [
+              106.866556,
+              28.624548
+            ],
+            [
+              106.889345,
+              28.695966
+            ],
+            [
+              106.86594,
+              28.690192
+            ],
+            [
+              106.824056,
+              28.756319
+            ],
+            [
+              106.845614,
+              28.780975
+            ],
+            [
+              106.872099,
+              28.777304
+            ],
+            [
+              106.923222,
+              28.809821
+            ],
+            [
+              106.951555,
+              28.766812
+            ],
+            [
+              106.988512,
+              28.776254
+            ],
+            [
+              106.983584,
+              28.851239
+            ],
+            [
+              107.019308,
+              28.861722
+            ],
+            [
+              107.016229,
+              28.882685
+            ],
+            [
+              107.14188,
+              28.887925
+            ],
+            [
+              107.206554,
+              28.868535
+            ],
+            [
+              107.194851,
+              28.838134
+            ],
+            [
+              107.227496,
+              28.836037
+            ],
+            [
+              107.210866,
+              28.817686
+            ],
+            [
+              107.219489,
+              28.772582
+            ],
+            [
+              107.24659,
+              28.76209
+            ],
+            [
+              107.261373,
+              28.792514
+            ],
+            [
+              107.327894,
+              28.810869
+            ],
+            [
+              107.339597,
+              28.845997
+            ],
+            [
+              107.383945,
+              28.848618
+            ],
+            [
+              107.41351,
+              28.911502
+            ],
+            [
+              107.441227,
+              28.943977
+            ],
+            [
+              107.412894,
+              28.960211
+            ],
+            [
+              107.396879,
+              28.993718
+            ],
+            [
+              107.364235,
+              29.00942
+            ],
+            [
+              107.395647,
+              29.041341
+            ],
+            [
+              107.369778,
+              29.091558
+            ],
+            [
+              107.412278,
+              29.094696
+            ],
+            [
+              107.427676,
+              29.128682
+            ],
+            [
+              107.408582,
+              29.138091
+            ],
+            [
+              107.401807,
+              29.184603
+            ],
+            [
+              107.441227,
+              29.203934
+            ],
+            [
+              107.486806,
+              29.174153
+            ],
+            [
+              107.570574,
+              29.218037
+            ],
+            [
+              107.589052,
+              29.150113
+            ],
+            [
+              107.605683,
+              29.164747
+            ],
+            [
+              107.659885,
+              29.162656
+            ],
+            [
+              107.700537,
+              29.141228
+            ],
+            [
+              107.749197,
+              29.199754
+            ],
+            [
+              107.810791,
+              29.139137
+            ],
+            [
+              107.784921,
+              29.048143
+            ],
+            [
+              107.823725,
+              29.034016
+            ],
+            [
+              107.810175,
+              28.984295
+            ],
+            [
+              107.867457,
+              28.960211
+            ],
+            [
+              107.882855,
+              29.00628
+            ],
+            [
+              107.908725,
+              29.007327
+            ],
+            [
+              107.925971,
+              29.032446
+            ],
+            [
+              108.026369,
+              29.039772
+            ],
+            [
+              108.070717,
+              29.086328
+            ],
+            [
+              108.150173,
+              29.053375
+            ],
+            [
+              108.193289,
+              29.072207
+            ],
+            [
+              108.256115,
+              29.040295
+            ],
+            [
+              108.277673,
+              29.091558
+            ],
+            [
+              108.306622,
+              29.079006
+            ],
+            [
+              108.297999,
+              29.045527
+            ],
+            [
+              108.319556,
+              28.961258
+            ],
+            [
+              108.345426,
+              28.943453
+            ],
+            [
+              108.357745,
+              28.893165
+            ],
+            [
+              108.346658,
+              28.859625
+            ],
+            [
+              108.352817,
+              28.815589
+            ],
+            [
+              108.386078,
+              28.803003
+            ],
+            [
+              108.385462,
+              28.772058
+            ],
+            [
+              108.347274,
+              28.736381
+            ],
+            [
+              108.332491,
+              28.679166
+            ],
+            [
+              108.439049,
+              28.634003
+            ],
+            [
+              108.501258,
+              28.626649
+            ],
+            [
+              108.50249,
+              28.63768
+            ],
+            [
+              108.575787,
+              28.659738
+            ],
+            [
+              108.636149,
+              28.621396
+            ],
+            [
+              108.604736,
+              28.590922
+            ],
+            [
+              108.610896,
+              28.539412
+            ],
+            [
+              108.573939,
+              28.531
+            ],
+            [
+              108.586874,
+              28.463678
+            ],
+            [
+              108.609664,
+              28.43579
+            ],
+            [
+              108.609048,
+              28.407368
+            ],
+            [
+              108.576403,
+              28.38631
+            ],
+            [
+              108.580099,
+              28.343128
+            ],
+            [
+              108.611512,
+              28.324691
+            ],
+            [
+              108.667562,
+              28.334173
+            ],
+            [
+              108.656475,
+              28.359981
+            ],
+            [
+              108.697127,
+              28.401051
+            ],
+            [
+              108.688504,
+              28.422106
+            ],
+            [
+              108.640461,
+              28.456838
+            ],
+            [
+              108.657091,
+              28.47683
+            ],
+            [
+              108.700207,
+              28.48209
+            ],
+            [
+              108.709446,
+              28.501026
+            ],
+            [
+              108.746402,
+              28.45105
+            ],
+            [
+              108.780279,
+              28.42579
+            ],
+            [
+              108.759953,
+              28.389995
+            ],
+            [
+              108.783359,
+              28.380518
+            ],
+            [
+              108.761801,
+              28.304143
+            ],
+            [
+              108.726692,
+              28.282011
+            ],
+            [
+              108.738395,
+              28.228241
+            ],
+            [
+              108.772888,
+              28.212949
+            ],
+            [
+              108.821547,
+              28.245113
+            ],
+            [
+              108.855424,
+              28.199764
+            ],
+            [
+              108.89546,
+              28.219804
+            ],
+            [
+              108.923793,
+              28.217167
+            ],
+            [
+              108.929952,
+              28.19027
+            ],
+            [
+              109.005713,
+              28.162837
+            ],
+            [
+              109.026655,
+              28.220331
+            ],
+            [
+              109.086401,
+              28.184467
+            ],
+            [
+              109.101799,
+              28.202401
+            ],
+            [
+              109.081473,
+              28.247749
+            ],
+            [
+              109.117198,
+              28.277795
+            ],
+            [
+              109.152306,
+              28.349975
+            ],
+            [
+              109.153538,
+              28.417369
+            ],
+            [
+              109.191726,
+              28.471043
+            ],
+            [
+              109.23361,
+              28.474726
+            ],
+            [
+              109.274262,
+              28.494714
+            ],
+            [
+              109.273646,
+              28.53836
+            ],
+            [
+              109.319842,
+              28.579886
+            ],
+            [
+              109.306907,
+              28.62087
+            ],
+            [
+              109.252089,
+              28.606685
+            ],
+            [
+              109.235458,
+              28.61982
+            ],
+            [
+              109.201581,
+              28.597753
+            ],
+            [
+              109.192958,
+              28.636104
+            ],
+            [
+              109.271183,
+              28.671816
+            ],
+            [
+              109.252704,
+              28.691767
+            ],
+            [
+              109.294588,
+              28.722211
+            ],
+            [
+              109.2989,
+              28.7474
+            ],
+            [
+              109.241002,
+              28.776779
+            ],
+            [
+              109.246545,
+              28.80143
+            ],
+            [
+              109.235458,
+              28.882161
+            ],
+            [
+              109.261328,
+              28.952356
+            ],
+            [
+              109.292741,
+              28.987436
+            ],
+            [
+              109.294588,
+              29.015177
+            ],
+            [
+              109.319842,
+              29.042388
+            ],
+            [
+              109.312451,
+              29.066453
+            ],
+            [
+              109.240386,
+              29.086328
+            ],
+            [
+              109.232378,
+              29.119271
+            ],
+            [
+              109.215748,
+              29.145409
+            ],
+            [
+              109.162777,
+              29.180946
+            ],
+            [
+              109.139372,
+              29.168927
+            ],
+            [
+              109.110422,
+              29.21647
+            ],
+            [
+              109.141835,
+              29.270256
+            ],
+            [
+              109.106727,
+              29.288526
+            ],
+            [
+              109.11227,
+              29.361053
+            ],
+            [
+              109.060531,
+              29.403292
+            ],
+            [
+              109.034662,
+              29.360531
+            ],
+            [
+              108.999553,
+              29.36366
+            ],
+            [
+              108.983539,
+              29.332883
+            ],
+            [
+              108.919481,
+              29.3261
+            ],
+            [
+              108.934264,
+              29.399643
+            ],
+            [
+              108.927488,
+              29.435612
+            ],
+            [
+              108.884373,
+              29.440824
+            ],
+            [
+              108.866511,
+              29.470527
+            ],
+            [
+              108.888684,
+              29.502305
+            ],
+            [
+              108.878213,
+              29.539279
+            ],
+            [
+              108.913322,
+              29.574679
+            ],
+            [
+              108.901003,
+              29.604863
+            ],
+            [
+              108.870206,
+              29.596537
+            ],
+            [
+              108.888068,
+              29.628795
+            ],
+            [
+              108.844337,
+              29.658443
+            ],
+            [
+              108.781511,
+              29.635558
+            ],
+            [
+              108.797525,
+              29.660003
+            ],
+            [
+              108.786438,
+              29.691721
+            ],
+            [
+              108.752562,
+              29.649082
+            ],
+            [
+              108.690968,
+              29.689642
+            ],
+            [
+              108.676801,
+              29.749412
+            ],
+            [
+              108.680497,
+              29.800319
+            ],
+            [
+              108.658939,
+              29.854833
+            ],
+            [
+              108.601041,
+              29.863656
+            ],
+            [
+              108.556077,
+              29.818493
+            ],
+            [
+              108.52528,
+              29.770713
+            ],
+            [
+              108.548686,
+              29.749412
+            ],
+            [
+              108.504954,
+              29.728626
+            ],
+            [
+              108.504338,
+              29.707836
+            ],
+            [
+              108.460606,
+              29.741098
+            ],
+            [
+              108.437201,
+              29.741098
+            ],
+            [
+              108.442744,
+              29.778505
+            ],
+            [
+              108.422418,
+              29.772791
+            ],
+            [
+              108.424266,
+              29.815897
+            ],
+            [
+              108.371295,
+              29.841337
+            ],
+            [
+              108.433505,
+              29.880262
+            ],
+            [
+              108.467998,
+              29.864175
+            ],
+            [
+              108.516041,
+              29.885451
+            ],
+            [
+              108.517889,
+              29.9394
+            ],
+            [
+              108.536367,
+              29.983472
+            ],
+            [
+              108.532055,
+              30.051873
+            ],
+            [
+              108.513577,
+              30.057571
+            ],
+            [
+              108.546222,
+              30.104178
+            ],
+            [
+              108.56778,
+              30.157491
+            ],
+            [
+              108.551766,
+              30.1637
+            ],
+            [
+              108.581947,
+              30.255759
+            ],
+            [
+              108.54499,
+              30.269716
+            ],
+            [
+              108.524048,
+              30.309506
+            ],
+            [
+              108.501258,
+              30.314673
+            ],
+            [
+              108.460606,
+              30.35961
+            ],
+            [
+              108.431041,
+              30.354446
+            ],
+            [
+              108.402092,
+              30.376649
+            ],
+            [
+              108.430425,
+              30.416397
+            ],
+            [
+              108.411331,
+              30.438586
+            ],
+            [
+              108.42673,
+              30.492233
+            ],
+            [
+              108.472925,
+              30.487076
+            ],
+            [
+              108.512961,
+              30.501515
+            ],
+            [
+              108.556077,
+              30.487592
+            ],
+            [
+              108.56778,
+              30.468508
+            ],
+            [
+              108.6497,
+              30.53915
+            ],
+            [
+              108.642925,
+              30.578831
+            ],
+            [
+              108.688504,
+              30.58759
+            ],
+            [
+              108.698975,
+              30.54482
+            ],
+            [
+              108.743939,
+              30.494812
+            ],
+            [
+              108.789518,
+              30.513374
+            ],
+            [
+              108.808612,
+              30.491202
+            ],
+            [
+              108.838793,
+              30.503062
+            ],
+            [
+              108.893612,
+              30.565434
+            ],
+            [
+              108.971836,
+              30.627766
+            ],
+            [
+              109.006329,
+              30.626736
+            ],
+            [
+              109.042669,
+              30.655571
+            ],
+            [
+              109.071002,
+              30.640125
+            ],
+            [
+              109.111654,
+              30.646303
+            ],
+            [
+              109.106111,
+              30.61077
+            ],
+            [
+              109.105495,
+              30.585529
+            ],
+            [
+              109.102415,
+              30.580377
+            ],
+            [
+              109.101183,
+              30.579346
+            ],
+            [
+              109.106111,
+              30.570587
+            ],
+            [
+              109.103647,
+              30.565949
+            ],
+            [
+              109.143683,
+              30.521108
+            ],
+            [
+              109.191726,
+              30.545851
+            ],
+            [
+              109.191726,
+              30.545851
+            ],
+            [
+              109.245313,
+              30.580892
+            ],
+            [
+              109.299516,
+              30.630341
+            ],
+            [
+              109.314298,
+              30.599953
+            ],
+            [
+              109.36111,
+              30.551004
+            ],
+            [
+              109.337088,
+              30.521623
+            ],
+            [
+              109.35495,
+              30.487076
+            ],
+            [
+              109.418392,
+              30.559766
+            ],
+            [
+              109.435638,
+              30.595832
+            ],
+            [
+              109.535421,
+              30.664837
+            ],
+            [
+              109.543428,
+              30.63961
+            ],
+            [
+              109.574225,
+              30.646818
+            ],
+            [
+              109.590855,
+              30.69366
+            ],
+            [
+              109.625348,
+              30.702923
+            ],
+            [
+              109.661072,
+              30.738936
+            ],
+            [
+              109.656761,
+              30.760538
+            ],
+            [
+              109.701724,
+              30.783677
+            ],
+            [
+              109.780564,
+              30.848437
+            ],
+            [
+              109.828608,
+              30.864364
+            ],
+            [
+              109.894513,
+              30.899803
+            ],
+            [
+              109.943788,
+              30.878746
+            ],
+            [
+              110.008462,
+              30.883369
+            ],
+            [
+              110.019549,
+              30.829425
+            ],
+            [
+              110.048498,
+              30.800642
+            ],
+            [
+              110.082375,
+              30.799614
+            ],
+            [
+              110.151976,
+              30.911613
+            ],
+            [
+              110.153824,
+              30.953708
+            ],
+            [
+              110.172918,
+              30.978853
+            ],
+            [
+              110.140889,
+              30.987062
+            ],
+            [
+              110.140273,
+              31.030661
+            ],
+            [
+              110.120563,
+              31.0322
+            ],
+            [
+              110.119947,
+              31.088592
+            ],
+            [
+              110.147048,
+              31.116776
+            ],
+            [
+              110.180309,
+              31.121899
+            ],
+            [
+              110.200019,
+              31.158779
+            ],
+            [
+              110.180309,
+              31.179774
+            ],
+            [
+              110.155671,
+              31.279564
+            ],
+            [
+              110.161831,
+              31.314338
+            ],
+            [
+              110.118715,
+              31.409899
+            ],
+            [
+              110.054042,
+              31.410921
+            ],
+            [
+              110.036795,
+              31.436966
+            ],
+            [
+              109.98752,
+              31.474744
+            ],
+            [
+              109.94502,
+              31.47066
+            ],
+            [
+              109.969658,
+              31.508935
+            ],
+            [
+              109.894513,
+              31.519139
+            ],
+            [
+              109.837847,
+              31.555354
+            ],
+            [
+              109.727594,
+              31.548214
+            ],
+            [
+              109.745456,
+              31.598182
+            ],
+            [
+              109.76455,
+              31.602769
+            ],
+            [
+              109.737449,
+              31.628761
+            ],
+            [
+              109.731289,
+              31.700582
+            ],
+            [
+              109.683246,
+              31.719929
+            ],
+            [
+              109.622268,
+              31.711783
+            ],
+            [
+              109.585928,
+              31.726546
+            ],
+            [
+              109.549587,
+              31.73011
+            ],
+            [
+              109.502776,
+              31.716365
+            ],
+            [
+              109.446109,
+              31.722983
+            ],
+            [
+              109.381436,
+              31.705165
+            ],
+            [
+              109.281654,
+              31.716874
+            ],
+            [
+              109.282885,
+              31.743343
+            ],
+            [
+              109.253936,
+              31.759628
+            ],
+            [
+              109.279806,
+              31.776418
+            ],
+            [
+              109.27611,
+              31.79931
+            ],
+            [
+              109.195422,
+              31.817618
+            ],
+            [
+              109.191111,
+              31.85575
+            ],
+            [
+              109.123357,
+              31.892851
+            ],
+            [
+              109.085785,
+              31.929428
+            ],
+            [
+              108.986619,
+              31.980205
+            ],
+            [
+              108.902235,
+              31.984774
+            ],
+            [
+              108.837561,
+              32.039072
+            ],
+            [
+              108.78767,
+              32.04871
+            ],
+            [
+              108.75133,
+              32.076098
+            ],
+            [
+              108.734084,
+              32.106519
+            ],
+            [
+              108.676801,
+              32.10297
+            ],
+            [
+              108.585026,
+              32.17189
+            ],
+            [
+              108.543758,
+              32.177969
+            ],
+            [
+              108.509882,
+              32.201266
+            ],
+            [
+              108.480317,
+              32.182527
+            ],
+            [
+              108.399013,
+              32.194176
+            ],
+            [
+              108.370063,
+              32.172397
+            ],
+            [
+              108.379918,
+              32.154158
+            ],
+            [
+              108.379918,
+              32.154158
+            ],
+            [
+              108.379303,
+              32.153652
+            ],
+            [
+              108.379303,
+              32.153652
+            ],
+            [
+              108.399628,
+              32.147065
+            ],
+            [
+              108.452599,
+              32.090296
+            ],
+            [
+              108.42981,
+              32.061391
+            ],
+            [
+              108.372527,
+              32.077112
+            ],
+            [
+              108.344194,
+              32.067477
+            ],
+            [
+              108.362056,
+              32.035521
+            ],
+            [
+              108.329411,
+              32.020299
+            ],
+            [
+              108.370063,
+              31.988835
+            ],
+            [
+              108.351585,
+              31.971575
+            ],
+            [
+              108.307238,
+              31.997463
+            ],
+            [
+              108.259194,
+              31.967006
+            ],
+            [
+              108.343578,
+              31.860834
+            ],
+            [
+              108.386078,
+              31.854226
+            ],
+            [
+              108.391005,
+              31.829822
+            ],
+            [
+              108.429194,
+              31.809482
+            ],
+            [
+              108.455063,
+              31.814059
+            ],
+            [
+              108.462454,
+              31.780488
+            ],
+            [
+              108.535135,
+              31.757592
+            ],
+            [
+              108.50557,
+              31.734182
+            ],
+            [
+              108.514809,
+              31.693963
+            ],
+            [
+              108.546838,
+              31.665442
+            ],
+            [
+              108.519121,
+              31.665952
+            ],
+            [
+              108.468614,
+              31.636404
+            ],
+            [
+              108.442744,
+              31.633856
+            ],
+            [
+              108.390389,
+              31.591555
+            ],
+            [
+              108.386078,
+              31.544134
+            ],
+            [
+              108.339266,
+              31.539033
+            ],
+            [
+              108.344194,
+              31.512506
+            ],
+            [
+              108.254883,
+              31.49873
+            ],
+            [
+              108.233941,
+              31.506894
+            ],
+            [
+              108.191441,
+              31.492096
+            ],
+            [
+              108.193289,
+              31.467598
+            ],
+            [
+              108.224086,
+              31.464024
+            ],
+            [
+              108.216079,
+              31.41041
+            ],
+            [
+              108.153869,
+              31.371073
+            ],
+            [
+              108.185898,
+              31.336831
+            ],
+            [
+              108.095354,
+              31.268311
+            ],
+            [
+              108.038688,
+              31.252964
+            ],
+            [
+              108.031297,
+              31.217144
+            ],
+            [
+              108.07626,
+              31.231985
+            ],
+            [
+              108.089811,
+              31.204859
+            ],
+            [
+              108.025753,
+              31.116263
+            ],
+            [
+              108.009123,
+              31.109602
+            ],
+            [
+              108.026985,
+              31.061938
+            ],
+            [
+              108.060246,
+              31.052197
+            ],
+            [
+              108.00358,
+              31.025533
+            ],
+            [
+              107.983254,
+              30.983983
+            ],
+            [
+              107.942602,
+              30.989114
+            ],
+            [
+              107.948145,
+              30.918802
+            ],
+            [
+              107.994956,
+              30.908533
+            ],
+            [
+              107.956152,
+              30.882855
+            ],
+            [
+              107.851443,
+              30.792931
+            ],
+            [
+              107.788001,
+              30.81966
+            ],
+            [
+              107.763979,
+              30.817091
+            ],
+            [
+              107.760899,
+              30.862823
+            ],
+            [
+              107.739957,
+              30.884396
+            ],
+            [
+              107.693146,
+              30.875665
+            ],
+            [
+              107.645103,
+              30.821202
+            ],
+            [
+              107.57735,
+              30.847924
+            ],
+            [
+              107.515756,
+              30.854603
+            ],
+            [
+              107.483111,
+              30.838675
+            ],
+            [
+              107.498509,
+              30.809381
+            ],
+            [
+              107.454162,
+              30.771851
+            ],
+            [
+              107.454162,
+              30.771851
+            ],
+            [
+              107.424597,
+              30.74048
+            ],
+            [
+              107.458473,
+              30.704981
+            ],
+            [
+              107.477567,
+              30.664837
+            ],
+            [
+              107.516987,
+              30.644759
+            ],
+            [
+              107.485575,
+              30.598408
+            ],
+            [
+              107.427676,
+              30.547397
+            ],
+            [
+              107.443075,
+              30.53348
+            ],
+            [
+              107.408582,
+              30.521623
+            ],
+            [
+              107.368546,
+              30.468508
+            ],
+            [
+              107.338981,
+              30.386459
+            ],
+            [
+              107.288474,
+              30.337402
+            ],
+            [
+              107.257677,
+              30.267131
+            ],
+            [
+              107.221337,
+              30.213878
+            ],
+            [
+              107.103076,
+              30.090198
+            ],
+            [
+              107.080286,
+              30.094341
+            ],
+            [
+              107.084598,
+              30.063786
+            ],
+            [
+              107.058113,
+              30.043066
+            ],
+            [
+              107.055649,
+              30.040476
+            ],
+            [
+              107.054417,
+              30.040994
+            ],
+            [
+              107.053801,
+              30.043584
+            ],
+            [
+              107.02054,
+              30.036849
+            ],
+            [
+              106.981736,
+              30.08502
+            ],
+            [
+              106.976193,
+              30.083467
+            ],
+            [
+              106.94478,
+              30.037367
+            ],
+            [
+              106.913367,
+              30.025451
+            ],
+            [
+              106.862244,
+              30.033223
+            ],
+            [
+              106.83699,
+              30.049801
+            ],
+            [
+              106.825904,
+              30.03115
+            ],
+            [
+              106.825904,
+              30.03115
+            ],
+            [
+              106.785252,
+              30.01716
+            ],
+            [
+              106.732281,
+              30.027005
+            ],
+            [
+              106.724274,
+              30.058607
+            ],
+            [
+              106.699636,
+              30.074145
+            ],
+            [
+              106.700252,
+              30.111944
+            ],
+            [
+              106.672535,
+              30.122297
+            ],
+            [
+              106.677462,
+              30.156974
+            ],
+            [
+              106.631883,
+              30.186464
+            ],
+            [
+              106.611557,
+              30.235596
+            ],
+            [
+              106.612173,
+              30.235596
+            ],
+            [
+              106.611557,
+              30.235596
+            ],
+            [
+              106.612173,
+              30.235596
+            ],
+            [
+              106.612173,
+              30.235596
+            ],
+            [
+              106.612789,
+              30.235596
+            ],
+            [
+              106.612789,
+              30.235596
+            ],
+            [
+              106.642354,
+              30.246454
+            ],
+            [
+              106.611557,
+              30.292455
+            ],
+            [
+              106.560434,
+              30.31519
+            ],
+            [
+              106.545035,
+              30.296589
+            ],
+            [
+              106.49884,
+              30.295556
+            ],
+            [
+              106.43971,
+              30.308473
+            ],
+            [
+              106.428623,
+              30.254725
+            ],
+            [
+              106.401521,
+              30.242318
+            ],
+            [
+              106.349167,
+              30.24542
+            ],
+            [
+              106.334384,
+              30.225772
+            ],
+            [
+              106.306667,
+              30.238182
+            ],
+            [
+              106.296196,
+              30.205603
+            ],
+            [
+              106.264167,
+              30.20974
+            ],
+            [
+              106.260471,
+              30.19681
+            ],
+            [
+              106.232754,
+              30.185947
+            ],
+            [
+              106.180399,
+              30.233011
+            ],
+            [
+              106.168696,
+              30.303823
+            ],
+            [
+              106.132356,
+              30.323972
+            ],
+            [
+              106.132972,
+              30.30279
+            ],
+            [
+              106.07261,
+              30.333786
+            ],
+            [
+              106.031958,
+              30.373551
+            ],
+            [
+              105.943263,
+              30.372002
+            ],
+            [
+              105.900763,
+              30.405042
+            ],
+            [
+              105.84656,
+              30.410203
+            ],
+            [
+              105.825618,
+              30.436006
+            ],
+            [
+              105.792357,
+              30.427234
+            ],
+            [
+              105.760329,
+              30.384393
+            ],
+            [
+              105.754785,
+              30.342567
+            ],
+            [
+              105.714749,
+              30.322939
+            ],
+            [
+              105.720292,
+              30.252657
+            ],
+            [
+              105.720292,
+              30.252657
+            ],
+            [
+              105.670401,
+              30.254208
+            ],
+            [
+              105.624822,
+              30.275918
+            ],
+            [
+              105.619894,
+              30.234045
+            ],
+            [
+              105.662394,
+              30.210258
+            ],
+            [
+              105.642684,
+              30.186464
+            ],
+            [
+              105.56138,
+              30.183878
+            ],
+            [
+              105.550909,
+              30.179222
+            ],
+            [
+              105.536127,
+              30.152834
+            ],
+            [
+              105.596489,
+              30.159043
+            ],
+            [
+              105.574315,
+              30.130579
+            ],
+            [
+              105.580474,
+              30.129544
+            ],
+            [
+              105.582938,
+              30.127474
+            ],
+            [
+              105.582938,
+              30.12385
+            ],
+            [
+              105.642068,
+              30.101072
+            ],
+            [
+              105.638988,
+              30.076216
+            ],
+            [
+              105.676561,
+              30.06793
+            ],
+            [
+              105.687032,
+              30.038922
+            ],
+            [
+              105.719677,
+              30.042548
+            ],
+            [
+              105.753553,
+              30.018196
+            ],
+            [
+              105.723372,
+              29.975177
+            ],
+            [
+              105.730763,
+              29.95755
+            ],
+            [
+              105.70243,
+              29.924879
+            ],
+            [
+              105.717213,
+              29.893753
+            ],
+            [
+              105.738771,
+              29.891159
+            ],
+            [
+              105.707974,
+              29.840818
+            ],
+            [
+              105.610655,
+              29.837184
+            ],
+            [
+              105.582938,
+              29.819013
+            ],
+            [
+              105.574931,
+              29.744216
+            ],
+            [
+              105.529351,
+              29.707836
+            ],
+            [
+              105.481924,
+              29.718232
+            ],
+            [
+              105.476996,
+              29.674564
+            ],
+            [
+              105.419714,
+              29.688082
+            ],
+            [
+              105.38091,
+              29.628275
+            ],
+            [
+              105.347649,
+              29.621512
+            ],
+            [
+              105.332867,
+              29.592374
+            ],
+            [
+              105.296526,
+              29.571035
+            ],
+            [
+              105.305149,
+              29.53199
+            ],
+            [
+              105.337794,
+              29.459064
+            ],
+            [
+              105.334099,
+              29.441345
+            ],
+            [
+              105.387069,
+              29.455416
+            ],
+            [
+              105.387069,
+              29.455416
+            ],
+            [
+              105.399388,
+              29.43874
+            ],
+            [
+              105.372903,
+              29.421018
+            ],
+            [
+              105.426489,
+              29.419454
+            ],
+            [
+              105.441888,
+              29.400686
+            ],
+            [
+              105.418482,
+              29.352185
+            ],
+            [
+              105.42033,
+              29.31149
+            ],
+            [
+              105.465294,
+              29.322969
+            ],
+            [
+              105.459134,
+              29.288526
+            ],
+            [
+              105.513337,
+              29.283306
+            ],
+            [
+              105.521344,
+              29.264513
+            ],
+            [
+              105.557684,
+              29.278608
+            ],
+            [
+              105.631597,
+              29.280174
+            ],
+            [
+              105.647612,
+              29.253027
+            ],
+            [
+              105.695039,
+              29.287482
+            ],
+            [
+              105.712285,
+              29.219082
+            ],
+            [
+              105.703662,
+              29.176766
+            ],
+            [
+              105.728916,
+              29.134432
+            ],
+            [
+              105.752321,
+              29.129727
+            ],
+            [
+              105.728916,
+              29.1062
+            ],
+            [
+              105.757865,
+              29.069068
+            ],
+            [
+              105.74185,
+              29.039249
+            ],
+            [
+              105.766488,
+              29.013607
+            ],
+            [
+              105.762176,
+              28.9911
+            ],
+            [
+              105.801596,
+              28.958116
+            ],
+            [
+              105.797285,
+              28.936121
+            ],
+            [
+              105.830546,
+              28.944501
+            ],
+            [
+              105.852719,
+              28.927217
+            ],
+            [
+              105.910002,
+              28.920407
+            ],
+            [
+              105.969132,
+              28.965971
+            ],
+            [
+              106.001161,
+              28.973824
+            ],
+            [
+              106.040581,
+              28.955498
+            ],
+            [
+              106.049204,
+              28.906263
+            ],
+            [
+              106.070762,
+              28.919884
+            ],
+            [
+              106.101559,
+              28.898928
+            ],
+            [
+              106.14837,
+              28.901548
+            ],
+            [
+              106.173008,
+              28.920407
+            ],
+            [
+              106.206885,
+              28.904691
+            ],
+            [
+              106.264783,
+              28.845997
+            ],
+            [
+              106.245689,
+              28.817686
+            ],
+            [
+              106.267863,
+              28.779402
+            ],
+            [
+              106.274022,
+              28.739004
+            ],
+            [
+              106.305435,
+              28.704365
+            ],
+            [
+              106.304203,
+              28.64976
+            ],
+            [
+              106.346703,
+              28.583565
+            ],
+            [
+              106.33192,
+              28.55308
+            ],
+            [
+              106.37442,
+              28.525742
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.105495,
+              30.585529
+            ],
+            [
+              109.106111,
+              30.61077
+            ],
+            [
+              109.09256,
+              30.578831
+            ],
+            [
+              109.09872,
+              30.579346
+            ],
+            [
+              109.101183,
+              30.579346
+            ],
+            [
+              109.102415,
+              30.580377
+            ],
+            [
+              109.105495,
+              30.585529
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              105.582938,
+              30.12385
+            ],
+            [
+              105.582938,
+              30.127474
+            ],
+            [
+              105.580474,
+              30.129544
+            ],
+            [
+              105.574315,
+              30.130579
+            ],
+            [
+              105.582938,
+              30.12385
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.09872,
+              30.579346
+            ],
+            [
+              109.09256,
+              30.578831
+            ],
+            [
+              109.103647,
+              30.565949
+            ],
+            [
+              109.106111,
+              30.570587
+            ],
+            [
+              109.09872,
+              30.579346
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              107.058113,
+              30.043066
+            ],
+            [
+              107.053801,
+              30.043584
+            ],
+            [
+              107.054417,
+              30.040994
+            ],
+            [
+              107.055649,
+              30.040476
+            ],
+            [
+              107.058113,
+              30.043066
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 51e4,
+      name: "四川省",
+      center: [
+        104.065735,
+        30.659462
+      ],
+      centroid: [
+        102.693453,
+        30.674545
+      ],
+      childrenNum: 21,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 22,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              101.167885,
+              27.198311
+            ],
+            [
+              101.170349,
+              27.175421
+            ],
+            [
+              101.145095,
+              27.103523
+            ],
+            [
+              101.157414,
+              27.094999
+            ],
+            [
+              101.136472,
+              27.023584
+            ],
+            [
+              101.228863,
+              26.981992
+            ],
+            [
+              101.227015,
+              26.959057
+            ],
+            [
+              101.264587,
+              26.955323
+            ],
+            [
+              101.267667,
+              26.903034
+            ],
+            [
+              101.311399,
+              26.903034
+            ],
+            [
+              101.365602,
+              26.883819
+            ],
+            [
+              101.399478,
+              26.841642
+            ],
+            [
+              101.358826,
+              26.771669
+            ],
+            [
+              101.387159,
+              26.753501
+            ],
+            [
+              101.389623,
+              26.723036
+            ],
+            [
+              101.435819,
+              26.740675
+            ],
+            [
+              101.458608,
+              26.731054
+            ],
+            [
+              101.445674,
+              26.77434
+            ],
+            [
+              101.466,
+              26.786629
+            ],
+            [
+              101.513427,
+              26.768463
+            ],
+            [
+              101.453065,
+              26.692563
+            ],
+            [
+              101.481398,
+              26.673313
+            ],
+            [
+              101.461072,
+              26.640687
+            ],
+            [
+              101.461688,
+              26.606447
+            ],
+            [
+              101.402558,
+              26.604841
+            ],
+            [
+              101.395783,
+              26.591998
+            ],
+            [
+              101.422884,
+              26.53151
+            ],
+            [
+              101.458608,
+              26.49563
+            ],
+            [
+              101.506652,
+              26.499915
+            ],
+            [
+              101.530057,
+              26.467239
+            ],
+            [
+              101.565782,
+              26.454381
+            ],
+            [
+              101.637847,
+              26.388995
+            ],
+            [
+              101.635383,
+              26.357361
+            ],
+            [
+              101.660636,
+              26.346635
+            ],
+            [
+              101.64031,
+              26.318745
+            ],
+            [
+              101.597195,
+              26.303187
+            ],
+            [
+              101.586108,
+              26.279579
+            ],
+            [
+              101.630455,
+              26.224832
+            ],
+            [
+              101.690202,
+              26.241473
+            ],
+            [
+              101.737013,
+              26.219463
+            ],
+            [
+              101.773353,
+              26.168448
+            ],
+            [
+              101.807846,
+              26.156093
+            ],
+            [
+              101.796759,
+              26.114723
+            ],
+            [
+              101.839875,
+              26.082477
+            ],
+            [
+              101.835563,
+              26.04592
+            ],
+            [
+              101.857737,
+              26.049146
+            ],
+            [
+              101.899621,
+              26.099139
+            ],
+            [
+              101.929186,
+              26.105588
+            ],
+            [
+              101.954439,
+              26.084627
+            ],
+            [
+              102.020961,
+              26.096451
+            ],
+            [
+              102.080091,
+              26.065275
+            ],
+            [
+              102.107808,
+              26.068501
+            ],
+            [
+              102.152156,
+              26.10935
+            ],
+            [
+              102.174946,
+              26.146961
+            ],
+            [
+              102.242699,
+              26.190468
+            ],
+            [
+              102.245163,
+              26.212483
+            ],
+            [
+              102.349257,
+              26.244694
+            ],
+            [
+              102.392372,
+              26.296749
+            ],
+            [
+              102.440416,
+              26.300505
+            ],
+            [
+              102.542046,
+              26.338591
+            ],
+            [
+              102.570995,
+              26.362723
+            ],
+            [
+              102.629509,
+              26.336982
+            ],
+            [
+              102.638748,
+              26.307479
+            ],
+            [
+              102.60056,
+              26.250598
+            ],
+            [
+              102.659074,
+              26.221611
+            ],
+            [
+              102.709581,
+              26.210336
+            ],
+            [
+              102.739762,
+              26.268846
+            ],
+            [
+              102.785342,
+              26.298895
+            ],
+            [
+              102.833385,
+              26.306406
+            ],
+            [
+              102.878964,
+              26.364332
+            ],
+            [
+              102.893131,
+              26.338591
+            ],
+            [
+              102.975667,
+              26.340736
+            ],
+            [
+              102.998457,
+              26.371839
+            ],
+            [
+              102.988602,
+              26.413117
+            ],
+            [
+              102.989833,
+              26.482775
+            ],
+            [
+              103.030485,
+              26.485989
+            ],
+            [
+              103.052659,
+              26.514374
+            ],
+            [
+              103.052659,
+              26.555602
+            ],
+            [
+              103.035413,
+              26.556673
+            ],
+            [
+              103.026174,
+              26.664221
+            ],
+            [
+              103.005232,
+              26.679195
+            ],
+            [
+              103.008312,
+              26.710741
+            ],
+            [
+              102.983674,
+              26.76686
+            ],
+            [
+              102.991681,
+              26.775409
+            ],
+            [
+              102.966428,
+              26.837904
+            ],
+            [
+              102.949181,
+              26.843244
+            ],
+            [
+              102.896211,
+              26.91264
+            ],
+            [
+              102.894979,
+              27.001724
+            ],
+            [
+              102.870957,
+              27.026782
+            ],
+            [
+              102.913457,
+              27.133886
+            ],
+            [
+              102.904218,
+              27.227584
+            ],
+            [
+              102.883276,
+              27.258444
+            ],
+            [
+              102.883892,
+              27.299401
+            ],
+            [
+              102.899906,
+              27.317481
+            ],
+            [
+              102.941174,
+              27.405711
+            ],
+            [
+              102.989833,
+              27.367983
+            ],
+            [
+              103.055739,
+              27.40943
+            ],
+            [
+              103.080992,
+              27.396679
+            ],
+            [
+              103.141355,
+              27.420586
+            ],
+            [
+              103.144434,
+              27.450331
+            ],
+            [
+              103.19063,
+              27.523596
+            ],
+            [
+              103.232514,
+              27.56976
+            ],
+            [
+              103.2861,
+              27.561802
+            ],
+            [
+              103.29226,
+              27.632872
+            ],
+            [
+              103.349542,
+              27.678459
+            ],
+            [
+              103.369868,
+              27.708664
+            ],
+            [
+              103.393274,
+              27.709194
+            ],
+            [
+              103.461027,
+              27.779638
+            ],
+            [
+              103.487512,
+              27.794992
+            ],
+            [
+              103.509686,
+              27.843687
+            ],
+            [
+              103.502295,
+              27.910343
+            ],
+            [
+              103.55465,
+              27.978543
+            ],
+            [
+              103.515846,
+              27.965329
+            ],
+            [
+              103.486281,
+              28.033495
+            ],
+            [
+              103.459179,
+              28.021345
+            ],
+            [
+              103.430846,
+              28.044587
+            ],
+            [
+              103.470266,
+              28.122204
+            ],
+            [
+              103.533092,
+              28.168641
+            ],
+            [
+              103.573128,
+              28.230877
+            ],
+            [
+              103.643961,
+              28.260401
+            ],
+            [
+              103.692004,
+              28.232459
+            ],
+            [
+              103.701859,
+              28.198709
+            ],
+            [
+              103.740048,
+              28.23615
+            ],
+            [
+              103.770845,
+              28.233514
+            ],
+            [
+              103.828743,
+              28.285173
+            ],
+            [
+              103.877402,
+              28.316262
+            ],
+            [
+              103.85338,
+              28.356822
+            ],
+            [
+              103.860156,
+              28.383677
+            ],
+            [
+              103.828743,
+              28.44
+            ],
+            [
+              103.829975,
+              28.459995
+            ],
+            [
+              103.781931,
+              28.525216
+            ],
+            [
+              103.802873,
+              28.563068
+            ],
+            [
+              103.838598,
+              28.587244
+            ],
+            [
+              103.833054,
+              28.605109
+            ],
+            [
+              103.850917,
+              28.66709
+            ],
+            [
+              103.887873,
+              28.61982
+            ],
+            [
+              103.910047,
+              28.631377
+            ],
+            [
+              103.953779,
+              28.600906
+            ],
+            [
+              104.05972,
+              28.6277
+            ],
+            [
+              104.09606,
+              28.603533
+            ],
+            [
+              104.117618,
+              28.634003
+            ],
+            [
+              104.170589,
+              28.642932
+            ],
+            [
+              104.230951,
+              28.635579
+            ],
+            [
+              104.252509,
+              28.660788
+            ],
+            [
+              104.277147,
+              28.631902
+            ],
+            [
+              104.314719,
+              28.615617
+            ],
+            [
+              104.372617,
+              28.649235
+            ],
+            [
+              104.425588,
+              28.626649
+            ],
+            [
+              104.417581,
+              28.598279
+            ],
+            [
+              104.375697,
+              28.5946
+            ],
+            [
+              104.355987,
+              28.555183
+            ],
+            [
+              104.323342,
+              28.540989
+            ],
+            [
+              104.260516,
+              28.536257
+            ],
+            [
+              104.267908,
+              28.499448
+            ],
+            [
+              104.254357,
+              28.403683
+            ],
+            [
+              104.282074,
+              28.343128
+            ],
+            [
+              104.314103,
+              28.306778
+            ],
+            [
+              104.343052,
+              28.334173
+            ],
+            [
+              104.384936,
+              28.329959
+            ],
+            [
+              104.392943,
+              28.291497
+            ],
+            [
+              104.420045,
+              28.269889
+            ],
+            [
+              104.44961,
+              28.269889
+            ],
+            [
+              104.462544,
+              28.241422
+            ],
+            [
+              104.442834,
+              28.211366
+            ],
+            [
+              104.402182,
+              28.202928
+            ],
+            [
+              104.406494,
+              28.173389
+            ],
+            [
+              104.444682,
+              28.16231
+            ],
+            [
+              104.448994,
+              28.113758
+            ],
+            [
+              104.40095,
+              28.091586
+            ],
+            [
+              104.373233,
+              28.051454
+            ],
+            [
+              104.304248,
+              28.050926
+            ],
+            [
+              104.30856,
+              28.036136
+            ],
+            [
+              104.362762,
+              28.012891
+            ],
+            [
+              104.40095,
+              27.952114
+            ],
+            [
+              104.44961,
+              27.927794
+            ],
+            [
+              104.508124,
+              27.878078
+            ],
+            [
+              104.52537,
+              27.889187
+            ],
+            [
+              104.573413,
+              27.840512
+            ],
+            [
+              104.607906,
+              27.857974
+            ],
+            [
+              104.63316,
+              27.850567
+            ],
+            [
+              104.676275,
+              27.880723
+            ],
+            [
+              104.743413,
+              27.901881
+            ],
+            [
+              104.761891,
+              27.884426
+            ],
+            [
+              104.796999,
+              27.901352
+            ],
+            [
+              104.842579,
+              27.900294
+            ],
+            [
+              104.888158,
+              27.914574
+            ],
+            [
+              104.918339,
+              27.938897
+            ],
+            [
+              104.903557,
+              27.962158
+            ],
+            [
+              104.975006,
+              28.020816
+            ],
+            [
+              104.980549,
+              28.063073
+            ],
+            [
+              105.002107,
+              28.064129
+            ],
+            [
+              105.061853,
+              28.096866
+            ],
+            [
+              105.119752,
+              28.07205
+            ],
+            [
+              105.168411,
+              28.071522
+            ],
+            [
+              105.186889,
+              28.054623
+            ],
+            [
+              105.167795,
+              28.021345
+            ],
+            [
+              105.186273,
+              27.995454
+            ],
+            [
+              105.218302,
+              27.990698
+            ],
+            [
+              105.247867,
+              28.009193
+            ],
+            [
+              105.270657,
+              27.99704
+            ],
+            [
+              105.284823,
+              27.935725
+            ],
+            [
+              105.233084,
+              27.895534
+            ],
+            [
+              105.25957,
+              27.827811
+            ],
+            [
+              105.313157,
+              27.810874
+            ],
+            [
+              105.273736,
+              27.794992
+            ],
+            [
+              105.293447,
+              27.770637
+            ],
+            [
+              105.290367,
+              27.712373
+            ],
+            [
+              105.308229,
+              27.704955
+            ],
+            [
+              105.353809,
+              27.748924
+            ],
+            [
+              105.44004,
+              27.775402
+            ],
+            [
+              105.508409,
+              27.769048
+            ],
+            [
+              105.560148,
+              27.71979
+            ],
+            [
+              105.605112,
+              27.715552
+            ],
+            [
+              105.62359,
+              27.666269
+            ],
+            [
+              105.664242,
+              27.683759
+            ],
+            [
+              105.720292,
+              27.683759
+            ],
+            [
+              105.722756,
+              27.706015
+            ],
+            [
+              105.76772,
+              27.7182
+            ],
+            [
+              105.848408,
+              27.707074
+            ],
+            [
+              105.868118,
+              27.732504
+            ],
+            [
+              105.922937,
+              27.746805
+            ],
+            [
+              105.92848,
+              27.729855
+            ],
+            [
+              105.985146,
+              27.749983
+            ],
+            [
+              106.023335,
+              27.746805
+            ],
+            [
+              106.063987,
+              27.776991
+            ],
+            [
+              106.120653,
+              27.779638
+            ],
+            [
+              106.193334,
+              27.75422
+            ],
+            [
+              106.242609,
+              27.767459
+            ],
+            [
+              106.306667,
+              27.808756
+            ],
+            [
+              106.337464,
+              27.859033
+            ],
+            [
+              106.325145,
+              27.898708
+            ],
+            [
+              106.304819,
+              27.899237
+            ],
+            [
+              106.307899,
+              27.936782
+            ],
+            [
+              106.328225,
+              27.952643
+            ],
+            [
+              106.286341,
+              28.007079
+            ],
+            [
+              106.246305,
+              28.011835
+            ],
+            [
+              106.266631,
+              28.066769
+            ],
+            [
+              106.206885,
+              28.134343
+            ],
+            [
+              106.145291,
+              28.162837
+            ],
+            [
+              106.093552,
+              28.162837
+            ],
+            [
+              105.975907,
+              28.107952
+            ],
+            [
+              105.943878,
+              28.143314
+            ],
+            [
+              105.895219,
+              28.119565
+            ],
+            [
+              105.860727,
+              28.159672
+            ],
+            [
+              105.889676,
+              28.237732
+            ],
+            [
+              105.848408,
+              28.255656
+            ],
+            [
+              105.824386,
+              28.306251
+            ],
+            [
+              105.78743,
+              28.335753
+            ],
+            [
+              105.76464,
+              28.308359
+            ],
+            [
+              105.76464,
+              28.308359
+            ],
+            [
+              105.737539,
+              28.30309
+            ],
+            [
+              105.730147,
+              28.271997
+            ],
+            [
+              105.68888,
+              28.284119
+            ],
+            [
+              105.639604,
+              28.324164
+            ],
+            [
+              105.655003,
+              28.362615
+            ],
+            [
+              105.643916,
+              28.431053
+            ],
+            [
+              105.612503,
+              28.438947
+            ],
+            [
+              105.62359,
+              28.517854
+            ],
+            [
+              105.68272,
+              28.534154
+            ],
+            [
+              105.693191,
+              28.58882
+            ],
+            [
+              105.712901,
+              28.586718
+            ],
+            [
+              105.74493,
+              28.616668
+            ],
+            [
+              105.757249,
+              28.590397
+            ],
+            [
+              105.78435,
+              28.610889
+            ],
+            [
+              105.808372,
+              28.599855
+            ],
+            [
+              105.884748,
+              28.595126
+            ],
+            [
+              105.889676,
+              28.670765
+            ],
+            [
+              105.937719,
+              28.686517
+            ],
+            [
+              105.966668,
+              28.761041
+            ],
+            [
+              106.001161,
+              28.743727
+            ],
+            [
+              106.030726,
+              28.694917
+            ],
+            [
+              106.085544,
+              28.681792
+            ],
+            [
+              106.103407,
+              28.636104
+            ],
+            [
+              106.14837,
+              28.642932
+            ],
+            [
+              106.17116,
+              28.629275
+            ],
+            [
+              106.184711,
+              28.58882
+            ],
+            [
+              106.254928,
+              28.539412
+            ],
+            [
+              106.2925,
+              28.537309
+            ],
+            [
+              106.304819,
+              28.505233
+            ],
+            [
+              106.349167,
+              28.473674
+            ],
+            [
+              106.379348,
+              28.479986
+            ],
+            [
+              106.37442,
+              28.525742
+            ],
+            [
+              106.33192,
+              28.55308
+            ],
+            [
+              106.346703,
+              28.583565
+            ],
+            [
+              106.304203,
+              28.64976
+            ],
+            [
+              106.305435,
+              28.704365
+            ],
+            [
+              106.274022,
+              28.739004
+            ],
+            [
+              106.267863,
+              28.779402
+            ],
+            [
+              106.245689,
+              28.817686
+            ],
+            [
+              106.264783,
+              28.845997
+            ],
+            [
+              106.206885,
+              28.904691
+            ],
+            [
+              106.173008,
+              28.920407
+            ],
+            [
+              106.14837,
+              28.901548
+            ],
+            [
+              106.101559,
+              28.898928
+            ],
+            [
+              106.070762,
+              28.919884
+            ],
+            [
+              106.049204,
+              28.906263
+            ],
+            [
+              106.040581,
+              28.955498
+            ],
+            [
+              106.001161,
+              28.973824
+            ],
+            [
+              105.969132,
+              28.965971
+            ],
+            [
+              105.910002,
+              28.920407
+            ],
+            [
+              105.852719,
+              28.927217
+            ],
+            [
+              105.830546,
+              28.944501
+            ],
+            [
+              105.797285,
+              28.936121
+            ],
+            [
+              105.801596,
+              28.958116
+            ],
+            [
+              105.762176,
+              28.9911
+            ],
+            [
+              105.766488,
+              29.013607
+            ],
+            [
+              105.74185,
+              29.039249
+            ],
+            [
+              105.757865,
+              29.069068
+            ],
+            [
+              105.728916,
+              29.1062
+            ],
+            [
+              105.752321,
+              29.129727
+            ],
+            [
+              105.728916,
+              29.134432
+            ],
+            [
+              105.703662,
+              29.176766
+            ],
+            [
+              105.712285,
+              29.219082
+            ],
+            [
+              105.695039,
+              29.287482
+            ],
+            [
+              105.647612,
+              29.253027
+            ],
+            [
+              105.631597,
+              29.280174
+            ],
+            [
+              105.557684,
+              29.278608
+            ],
+            [
+              105.521344,
+              29.264513
+            ],
+            [
+              105.513337,
+              29.283306
+            ],
+            [
+              105.459134,
+              29.288526
+            ],
+            [
+              105.465294,
+              29.322969
+            ],
+            [
+              105.42033,
+              29.31149
+            ],
+            [
+              105.418482,
+              29.352185
+            ],
+            [
+              105.441888,
+              29.400686
+            ],
+            [
+              105.426489,
+              29.419454
+            ],
+            [
+              105.372903,
+              29.421018
+            ],
+            [
+              105.399388,
+              29.43874
+            ],
+            [
+              105.387069,
+              29.455416
+            ],
+            [
+              105.387069,
+              29.455416
+            ],
+            [
+              105.334099,
+              29.441345
+            ],
+            [
+              105.337794,
+              29.459064
+            ],
+            [
+              105.305149,
+              29.53199
+            ],
+            [
+              105.296526,
+              29.571035
+            ],
+            [
+              105.332867,
+              29.592374
+            ],
+            [
+              105.347649,
+              29.621512
+            ],
+            [
+              105.38091,
+              29.628275
+            ],
+            [
+              105.419714,
+              29.688082
+            ],
+            [
+              105.476996,
+              29.674564
+            ],
+            [
+              105.481924,
+              29.718232
+            ],
+            [
+              105.529351,
+              29.707836
+            ],
+            [
+              105.574931,
+              29.744216
+            ],
+            [
+              105.582938,
+              29.819013
+            ],
+            [
+              105.610655,
+              29.837184
+            ],
+            [
+              105.707974,
+              29.840818
+            ],
+            [
+              105.738771,
+              29.891159
+            ],
+            [
+              105.717213,
+              29.893753
+            ],
+            [
+              105.70243,
+              29.924879
+            ],
+            [
+              105.730763,
+              29.95755
+            ],
+            [
+              105.723372,
+              29.975177
+            ],
+            [
+              105.753553,
+              30.018196
+            ],
+            [
+              105.719677,
+              30.042548
+            ],
+            [
+              105.687032,
+              30.038922
+            ],
+            [
+              105.676561,
+              30.06793
+            ],
+            [
+              105.638988,
+              30.076216
+            ],
+            [
+              105.642068,
+              30.101072
+            ],
+            [
+              105.582938,
+              30.12385
+            ],
+            [
+              105.574315,
+              30.130579
+            ],
+            [
+              105.596489,
+              30.159043
+            ],
+            [
+              105.536127,
+              30.152834
+            ],
+            [
+              105.550909,
+              30.179222
+            ],
+            [
+              105.556453,
+              30.187499
+            ],
+            [
+              105.558916,
+              30.18543
+            ],
+            [
+              105.56138,
+              30.183878
+            ],
+            [
+              105.642684,
+              30.186464
+            ],
+            [
+              105.662394,
+              30.210258
+            ],
+            [
+              105.619894,
+              30.234045
+            ],
+            [
+              105.624822,
+              30.275918
+            ],
+            [
+              105.670401,
+              30.254208
+            ],
+            [
+              105.720292,
+              30.252657
+            ],
+            [
+              105.720292,
+              30.252657
+            ],
+            [
+              105.714749,
+              30.322939
+            ],
+            [
+              105.754785,
+              30.342567
+            ],
+            [
+              105.760329,
+              30.384393
+            ],
+            [
+              105.792357,
+              30.427234
+            ],
+            [
+              105.825618,
+              30.436006
+            ],
+            [
+              105.84656,
+              30.410203
+            ],
+            [
+              105.900763,
+              30.405042
+            ],
+            [
+              105.943263,
+              30.372002
+            ],
+            [
+              106.031958,
+              30.373551
+            ],
+            [
+              106.07261,
+              30.333786
+            ],
+            [
+              106.132972,
+              30.30279
+            ],
+            [
+              106.132356,
+              30.323972
+            ],
+            [
+              106.168696,
+              30.303823
+            ],
+            [
+              106.180399,
+              30.233011
+            ],
+            [
+              106.232754,
+              30.185947
+            ],
+            [
+              106.260471,
+              30.19681
+            ],
+            [
+              106.260471,
+              30.204051
+            ],
+            [
+              106.260471,
+              30.207672
+            ],
+            [
+              106.264167,
+              30.20974
+            ],
+            [
+              106.296196,
+              30.205603
+            ],
+            [
+              106.306667,
+              30.238182
+            ],
+            [
+              106.334384,
+              30.225772
+            ],
+            [
+              106.349167,
+              30.24542
+            ],
+            [
+              106.401521,
+              30.242318
+            ],
+            [
+              106.428623,
+              30.254725
+            ],
+            [
+              106.43971,
+              30.308473
+            ],
+            [
+              106.49884,
+              30.295556
+            ],
+            [
+              106.545035,
+              30.296589
+            ],
+            [
+              106.560434,
+              30.31519
+            ],
+            [
+              106.611557,
+              30.292455
+            ],
+            [
+              106.642354,
+              30.246454
+            ],
+            [
+              106.612789,
+              30.235596
+            ],
+            [
+              106.612789,
+              30.235596
+            ],
+            [
+              106.612173,
+              30.235596
+            ],
+            [
+              106.612173,
+              30.235596
+            ],
+            [
+              106.611557,
+              30.235596
+            ],
+            [
+              106.612173,
+              30.235596
+            ],
+            [
+              106.611557,
+              30.235596
+            ],
+            [
+              106.631883,
+              30.186464
+            ],
+            [
+              106.677462,
+              30.156974
+            ],
+            [
+              106.672535,
+              30.122297
+            ],
+            [
+              106.700252,
+              30.111944
+            ],
+            [
+              106.699636,
+              30.074145
+            ],
+            [
+              106.724274,
+              30.058607
+            ],
+            [
+              106.732281,
+              30.027005
+            ],
+            [
+              106.785252,
+              30.01716
+            ],
+            [
+              106.825904,
+              30.03115
+            ],
+            [
+              106.825904,
+              30.03115
+            ],
+            [
+              106.83699,
+              30.049801
+            ],
+            [
+              106.862244,
+              30.033223
+            ],
+            [
+              106.913367,
+              30.025451
+            ],
+            [
+              106.94478,
+              30.037367
+            ],
+            [
+              106.976193,
+              30.083467
+            ],
+            [
+              106.975577,
+              30.088127
+            ],
+            [
+              106.976809,
+              30.088127
+            ],
+            [
+              106.977425,
+              30.087609
+            ],
+            [
+              106.978656,
+              30.087609
+            ],
+            [
+              106.979888,
+              30.088127
+            ],
+            [
+              106.980504,
+              30.087609
+            ],
+            [
+              106.981736,
+              30.08502
+            ],
+            [
+              107.02054,
+              30.036849
+            ],
+            [
+              107.053801,
+              30.043584
+            ],
+            [
+              107.058113,
+              30.043066
+            ],
+            [
+              107.084598,
+              30.063786
+            ],
+            [
+              107.080286,
+              30.094341
+            ],
+            [
+              107.103076,
+              30.090198
+            ],
+            [
+              107.221337,
+              30.213878
+            ],
+            [
+              107.257677,
+              30.267131
+            ],
+            [
+              107.288474,
+              30.337402
+            ],
+            [
+              107.338981,
+              30.386459
+            ],
+            [
+              107.368546,
+              30.468508
+            ],
+            [
+              107.408582,
+              30.521623
+            ],
+            [
+              107.443075,
+              30.53348
+            ],
+            [
+              107.427676,
+              30.547397
+            ],
+            [
+              107.485575,
+              30.598408
+            ],
+            [
+              107.516987,
+              30.644759
+            ],
+            [
+              107.477567,
+              30.664837
+            ],
+            [
+              107.458473,
+              30.704981
+            ],
+            [
+              107.424597,
+              30.74048
+            ],
+            [
+              107.454162,
+              30.771851
+            ],
+            [
+              107.454162,
+              30.771851
+            ],
+            [
+              107.498509,
+              30.809381
+            ],
+            [
+              107.483111,
+              30.838675
+            ],
+            [
+              107.515756,
+              30.854603
+            ],
+            [
+              107.57735,
+              30.847924
+            ],
+            [
+              107.645103,
+              30.821202
+            ],
+            [
+              107.693146,
+              30.875665
+            ],
+            [
+              107.739957,
+              30.884396
+            ],
+            [
+              107.760899,
+              30.862823
+            ],
+            [
+              107.763979,
+              30.817091
+            ],
+            [
+              107.788001,
+              30.81966
+            ],
+            [
+              107.851443,
+              30.792931
+            ],
+            [
+              107.956152,
+              30.882855
+            ],
+            [
+              107.994956,
+              30.908533
+            ],
+            [
+              107.948145,
+              30.918802
+            ],
+            [
+              107.942602,
+              30.989114
+            ],
+            [
+              107.983254,
+              30.983983
+            ],
+            [
+              108.00358,
+              31.025533
+            ],
+            [
+              108.060246,
+              31.052197
+            ],
+            [
+              108.026985,
+              31.061938
+            ],
+            [
+              108.009123,
+              31.109602
+            ],
+            [
+              108.025753,
+              31.116263
+            ],
+            [
+              108.089811,
+              31.204859
+            ],
+            [
+              108.07626,
+              31.231985
+            ],
+            [
+              108.031297,
+              31.217144
+            ],
+            [
+              108.038688,
+              31.252964
+            ],
+            [
+              108.095354,
+              31.268311
+            ],
+            [
+              108.185898,
+              31.336831
+            ],
+            [
+              108.153869,
+              31.371073
+            ],
+            [
+              108.216079,
+              31.41041
+            ],
+            [
+              108.224086,
+              31.464024
+            ],
+            [
+              108.193289,
+              31.467598
+            ],
+            [
+              108.191441,
+              31.492096
+            ],
+            [
+              108.233941,
+              31.506894
+            ],
+            [
+              108.254883,
+              31.49873
+            ],
+            [
+              108.344194,
+              31.512506
+            ],
+            [
+              108.339266,
+              31.539033
+            ],
+            [
+              108.386078,
+              31.544134
+            ],
+            [
+              108.390389,
+              31.591555
+            ],
+            [
+              108.442744,
+              31.633856
+            ],
+            [
+              108.468614,
+              31.636404
+            ],
+            [
+              108.519121,
+              31.665952
+            ],
+            [
+              108.546838,
+              31.665442
+            ],
+            [
+              108.514809,
+              31.693963
+            ],
+            [
+              108.50557,
+              31.734182
+            ],
+            [
+              108.535135,
+              31.757592
+            ],
+            [
+              108.462454,
+              31.780488
+            ],
+            [
+              108.455063,
+              31.814059
+            ],
+            [
+              108.429194,
+              31.809482
+            ],
+            [
+              108.391005,
+              31.829822
+            ],
+            [
+              108.386078,
+              31.854226
+            ],
+            [
+              108.343578,
+              31.860834
+            ],
+            [
+              108.259194,
+              31.967006
+            ],
+            [
+              108.307238,
+              31.997463
+            ],
+            [
+              108.351585,
+              31.971575
+            ],
+            [
+              108.370063,
+              31.988835
+            ],
+            [
+              108.329411,
+              32.020299
+            ],
+            [
+              108.362056,
+              32.035521
+            ],
+            [
+              108.344194,
+              32.067477
+            ],
+            [
+              108.372527,
+              32.077112
+            ],
+            [
+              108.42981,
+              32.061391
+            ],
+            [
+              108.452599,
+              32.090296
+            ],
+            [
+              108.399628,
+              32.147065
+            ],
+            [
+              108.379303,
+              32.153652
+            ],
+            [
+              108.379303,
+              32.153652
+            ],
+            [
+              108.379918,
+              32.154158
+            ],
+            [
+              108.379918,
+              32.154158
+            ],
+            [
+              108.370063,
+              32.172397
+            ],
+            [
+              108.399013,
+              32.194176
+            ],
+            [
+              108.480317,
+              32.182527
+            ],
+            [
+              108.509882,
+              32.201266
+            ],
+            [
+              108.507418,
+              32.245819
+            ],
+            [
+              108.469846,
+              32.270618
+            ],
+            [
+              108.414411,
+              32.252399
+            ],
+            [
+              108.389773,
+              32.263533
+            ],
+            [
+              108.310933,
+              32.232152
+            ],
+            [
+              108.240716,
+              32.274666
+            ],
+            [
+              108.179738,
+              32.221521
+            ],
+            [
+              108.156948,
+              32.239239
+            ],
+            [
+              108.143398,
+              32.219495
+            ],
+            [
+              108.086731,
+              32.233165
+            ],
+            [
+              108.018362,
+              32.2119
+            ],
+            [
+              108.024521,
+              32.177462
+            ],
+            [
+              107.979558,
+              32.146051
+            ],
+            [
+              107.924739,
+              32.197215
+            ],
+            [
+              107.890247,
+              32.214432
+            ],
+            [
+              107.864377,
+              32.201266
+            ],
+            [
+              107.812022,
+              32.247844
+            ],
+            [
+              107.753508,
+              32.338399
+            ],
+            [
+              107.707929,
+              32.331826
+            ],
+            [
+              107.680827,
+              32.397035
+            ],
+            [
+              107.648183,
+              32.413709
+            ],
+            [
+              107.598291,
+              32.411688
+            ],
+            [
+              107.527458,
+              32.38238
+            ],
+            [
+              107.489886,
+              32.425328
+            ],
+            [
+              107.456625,
+              32.41775
+            ],
+            [
+              107.460937,
+              32.453612
+            ],
+            [
+              107.438763,
+              32.465732
+            ],
+            [
+              107.436299,
+              32.529835
+            ],
+            [
+              107.382097,
+              32.54043
+            ],
+            [
+              107.356843,
+              32.506622
+            ],
+            [
+              107.313727,
+              32.489965
+            ],
+            [
+              107.287858,
+              32.457147
+            ],
+            [
+              107.263836,
+              32.403099
+            ],
+            [
+              107.212097,
+              32.428864
+            ],
+            [
+              107.189924,
+              32.468256
+            ],
+            [
+              107.127098,
+              32.482393
+            ],
+            [
+              107.080286,
+              32.542448
+            ],
+            [
+              107.108004,
+              32.600951
+            ],
+            [
+              107.098765,
+              32.649338
+            ],
+            [
+              107.05996,
+              32.686115
+            ],
+            [
+              107.066736,
+              32.708779
+            ],
+            [
+              107.012533,
+              32.721367
+            ],
+            [
+              106.912751,
+              32.704247
+            ],
+            [
+              106.903512,
+              32.721367
+            ],
+            [
+              106.854853,
+              32.724388
+            ],
+            [
+              106.82344,
+              32.705254
+            ],
+            [
+              106.793259,
+              32.712807
+            ],
+            [
+              106.783404,
+              32.735967
+            ],
+            [
+              106.733513,
+              32.739491
+            ],
+            [
+              106.670071,
+              32.694678
+            ],
+            [
+              106.626955,
+              32.682086
+            ],
+            [
+              106.585687,
+              32.68813
+            ],
+            [
+              106.517934,
+              32.668485
+            ],
+            [
+              106.498224,
+              32.649338
+            ],
+            [
+              106.451412,
+              32.65992
+            ],
+            [
+              106.421231,
+              32.616579
+            ],
+            [
+              106.389203,
+              32.62666
+            ],
+            [
+              106.347935,
+              32.671003
+            ],
+            [
+              106.301123,
+              32.680071
+            ],
+            [
+              106.267863,
+              32.673522
+            ],
+            [
+              106.254928,
+              32.693671
+            ],
+            [
+              106.17424,
+              32.6977
+            ],
+            [
+              106.120037,
+              32.719856
+            ],
+            [
+              106.071378,
+              32.758114
+            ],
+            [
+              106.07261,
+              32.76365
+            ],
+            [
+              106.093552,
+              32.82402
+            ],
+            [
+              106.071378,
+              32.828546
+            ],
+            [
+              106.044277,
+              32.864747
+            ],
+            [
+              106.011632,
+              32.829552
+            ],
+            [
+              105.969132,
+              32.849162
+            ],
+            [
+              105.93156,
+              32.826032
+            ],
+            [
+              105.893371,
+              32.838603
+            ],
+            [
+              105.849024,
+              32.817985
+            ],
+            [
+              105.825002,
+              32.824523
+            ],
+            [
+              105.822538,
+              32.770192
+            ],
+            [
+              105.779423,
+              32.750061
+            ],
+            [
+              105.768952,
+              32.767676
+            ],
+            [
+              105.719061,
+              32.759624
+            ],
+            [
+              105.677793,
+              32.726402
+            ],
+            [
+              105.596489,
+              32.69921
+            ],
+            [
+              105.585402,
+              32.728919
+            ],
+            [
+              105.563844,
+              32.724891
+            ],
+            [
+              105.555221,
+              32.794343
+            ],
+            [
+              105.534279,
+              32.790822
+            ],
+            [
+              105.524424,
+              32.847654
+            ],
+            [
+              105.495475,
+              32.873292
+            ],
+            [
+              105.49917,
+              32.911986
+            ],
+            [
+              105.467757,
+              32.930071
+            ],
+            [
+              105.414171,
+              32.922034
+            ],
+            [
+              105.408011,
+              32.885857
+            ],
+            [
+              105.38091,
+              32.876307
+            ],
+            [
+              105.396308,
+              32.85067
+            ],
+            [
+              105.396308,
+              32.85067
+            ],
+            [
+              105.427721,
+              32.784281
+            ],
+            [
+              105.454207,
+              32.767173
+            ],
+            [
+              105.448663,
+              32.732946
+            ],
+            [
+              105.368591,
+              32.712807
+            ],
+            [
+              105.347033,
+              32.68259
+            ],
+            [
+              105.297758,
+              32.656897
+            ],
+            [
+              105.263265,
+              32.652362
+            ],
+            [
+              105.219534,
+              32.666469
+            ],
+            [
+              105.215222,
+              32.63674
+            ],
+            [
+              105.185041,
+              32.617587
+            ],
+            [
+              105.111128,
+              32.593893
+            ],
+            [
+              105.0791,
+              32.637244
+            ],
+            [
+              105.026745,
+              32.650346
+            ],
+            [
+              104.925115,
+              32.607505
+            ],
+            [
+              104.881999,
+              32.600951
+            ],
+            [
+              104.845659,
+              32.653873
+            ],
+            [
+              104.820405,
+              32.662943
+            ],
+            [
+              104.795768,
+              32.643292
+            ],
+            [
+              104.739717,
+              32.635228
+            ],
+            [
+              104.696601,
+              32.673522
+            ],
+            [
+              104.643015,
+              32.661935
+            ],
+            [
+              104.592508,
+              32.695685
+            ],
+            [
+              104.582653,
+              32.722374
+            ],
+            [
+              104.526602,
+              32.728416
+            ],
+            [
+              104.51182,
+              32.753585
+            ],
+            [
+              104.458849,
+              32.748551
+            ],
+            [
+              104.363994,
+              32.822511
+            ],
+            [
+              104.294393,
+              32.835586
+            ],
+            [
+              104.277147,
+              32.90244
+            ],
+            [
+              104.288234,
+              32.942628
+            ],
+            [
+              104.345516,
+              32.940117
+            ],
+            [
+              104.378161,
+              32.953174
+            ],
+            [
+              104.383704,
+              32.994343
+            ],
+            [
+              104.426204,
+              33.010906
+            ],
+            [
+              104.391711,
+              33.035493
+            ],
+            [
+              104.337509,
+              33.038002
+            ],
+            [
+              104.378161,
+              33.109214
+            ],
+            [
+              104.351059,
+              33.158828
+            ],
+            [
+              104.32827,
+              33.223934
+            ],
+            [
+              104.323958,
+              33.26898
+            ],
+            [
+              104.303632,
+              33.304499
+            ],
+            [
+              104.333813,
+              33.315502
+            ],
+            [
+              104.386168,
+              33.298497
+            ],
+            [
+              104.420045,
+              33.327004
+            ],
+            [
+              104.373849,
+              33.345004
+            ],
+            [
+              104.292545,
+              33.336505
+            ],
+            [
+              104.272219,
+              33.391486
+            ],
+            [
+              104.22048,
+              33.404477
+            ],
+            [
+              104.213089,
+              33.446932
+            ],
+            [
+              104.180444,
+              33.472895
+            ],
+            [
+              104.155191,
+              33.542755
+            ],
+            [
+              104.176749,
+              33.5996
+            ],
+            [
+              104.103452,
+              33.663381
+            ],
+            [
+              104.046169,
+              33.686291
+            ],
+            [
+              103.980264,
+              33.670852
+            ],
+            [
+              103.861388,
+              33.682307
+            ],
+            [
+              103.778236,
+              33.658898
+            ],
+            [
+              103.690772,
+              33.69376
+            ],
+            [
+              103.667983,
+              33.685793
+            ],
+            [
+              103.645809,
+              33.708697
+            ],
+            [
+              103.593454,
+              33.716164
+            ],
+            [
+              103.563889,
+              33.699735
+            ],
+            [
+              103.552186,
+              33.671351
+            ],
+            [
+              103.520157,
+              33.678323
+            ],
+            [
+              103.545411,
+              33.719649
+            ],
+            [
+              103.518309,
+              33.807213
+            ],
+            [
+              103.464723,
+              33.80224
+            ],
+            [
+              103.434542,
+              33.752993
+            ],
+            [
+              103.35447,
+              33.743539
+            ],
+            [
+              103.278709,
+              33.774387
+            ],
+            [
+              103.284868,
+              33.80224
+            ],
+            [
+              103.24976,
+              33.814175
+            ],
+            [
+              103.228202,
+              33.79478
+            ],
+            [
+              103.165376,
+              33.805721
+            ],
+            [
+              103.153673,
+              33.819147
+            ],
+            [
+              103.181391,
+              33.900649
+            ],
+            [
+              103.16476,
+              33.929454
+            ],
+            [
+              103.1315,
+              33.931937
+            ],
+            [
+              103.120413,
+              33.953286
+            ],
+            [
+              103.157369,
+              33.998944
+            ],
+            [
+              103.147514,
+              34.036644
+            ],
+            [
+              103.119797,
+              34.03466
+            ],
+            [
+              103.129652,
+              34.065899
+            ],
+            [
+              103.178927,
+              34.079779
+            ],
+            [
+              103.121644,
+              34.112487
+            ],
+            [
+              103.124108,
+              34.162022
+            ],
+            [
+              103.100087,
+              34.181828
+            ],
+            [
+              103.052043,
+              34.195194
+            ],
+            [
+              103.005848,
+              34.184798
+            ],
+            [
+              102.973203,
+              34.205588
+            ],
+            [
+              102.977515,
+              34.252595
+            ],
+            [
+              102.949181,
+              34.292159
+            ],
+            [
+              102.911609,
+              34.312923
+            ],
+            [
+              102.85987,
+              34.301058
+            ],
+            [
+              102.856791,
+              34.270895
+            ],
+            [
+              102.798276,
+              34.272874
+            ],
+            [
+              102.779798,
+              34.236764
+            ],
+            [
+              102.728675,
+              34.235774
+            ],
+            [
+              102.694799,
+              34.198659
+            ],
+            [
+              102.664002,
+              34.192719
+            ],
+            [
+              102.651067,
+              34.165983
+            ],
+            [
+              102.598712,
+              34.14766
+            ],
+            [
+              102.655994,
+              34.113478
+            ],
+            [
+              102.649219,
+              34.080275
+            ],
+            [
+              102.615958,
+              34.099604
+            ],
+            [
+              102.511865,
+              34.086222
+            ],
+            [
+              102.471213,
+              34.072839
+            ],
+            [
+              102.437336,
+              34.087214
+            ],
+            [
+              102.406539,
+              34.033172
+            ],
+            [
+              102.392372,
+              33.971651
+            ],
+            [
+              102.345561,
+              33.969666
+            ],
+            [
+              102.315996,
+              33.993983
+            ],
+            [
+              102.287047,
+              33.977607
+            ],
+            [
+              102.248858,
+              33.98654
+            ],
+            [
+              102.226069,
+              33.963214
+            ],
+            [
+              102.16817,
+              33.983066
+            ],
+            [
+              102.136142,
+              33.965199
+            ],
+            [
+              102.25317,
+              33.861399
+            ],
+            [
+              102.261177,
+              33.821136
+            ],
+            [
+              102.243315,
+              33.786823
+            ],
+            [
+              102.296286,
+              33.783838
+            ],
+            [
+              102.324619,
+              33.754486
+            ],
+            [
+              102.284583,
+              33.719151
+            ],
+            [
+              102.342481,
+              33.725622
+            ],
+            [
+              102.31538,
+              33.665374
+            ],
+            [
+              102.346793,
+              33.605582
+            ],
+            [
+              102.440416,
+              33.574673
+            ],
+            [
+              102.477988,
+              33.543254
+            ],
+            [
+              102.446575,
+              33.53228
+            ],
+            [
+              102.461358,
+              33.501345
+            ],
+            [
+              102.462589,
+              33.449429
+            ],
+            [
+              102.447807,
+              33.454922
+            ],
+            [
+              102.392988,
+              33.404477
+            ],
+            [
+              102.368967,
+              33.41247
+            ],
+            [
+              102.310452,
+              33.397982
+            ],
+            [
+              102.296286,
+              33.413969
+            ],
+            [
+              102.258098,
+              33.409472
+            ],
+            [
+              102.218062,
+              33.349503
+            ],
+            [
+              102.192192,
+              33.337005
+            ],
+            [
+              102.217446,
+              33.247961
+            ],
+            [
+              102.200815,
+              33.223434
+            ],
+            [
+              102.160163,
+              33.242956
+            ],
+            [
+              102.144765,
+              33.273983
+            ],
+            [
+              102.117047,
+              33.288492
+            ],
+            [
+              102.08933,
+              33.227439
+            ],
+            [
+              102.08933,
+              33.204908
+            ],
+            [
+              102.054838,
+              33.189884
+            ],
+            [
+              101.99386,
+              33.1999
+            ],
+            [
+              101.935345,
+              33.186879
+            ],
+            [
+              101.921795,
+              33.153817
+            ],
+            [
+              101.887302,
+              33.135778
+            ],
+            [
+              101.865744,
+              33.103198
+            ],
+            [
+              101.825708,
+              33.119239
+            ],
+            [
+              101.841723,
+              33.184876
+            ],
+            [
+              101.83002,
+              33.213921
+            ],
+            [
+              101.770274,
+              33.248962
+            ],
+            [
+              101.769658,
+              33.26898
+            ],
+            [
+              101.877447,
+              33.314502
+            ],
+            [
+              101.887302,
+              33.383991
+            ],
+            [
+              101.915635,
+              33.425957
+            ],
+            [
+              101.946432,
+              33.442937
+            ],
+            [
+              101.906396,
+              33.48188
+            ],
+            [
+              101.907012,
+              33.539264
+            ],
+            [
+              101.884222,
+              33.578163
+            ],
+            [
+              101.844186,
+              33.602591
+            ],
+            [
+              101.831252,
+              33.554726
+            ],
+            [
+              101.783208,
+              33.556721
+            ],
+            [
+              101.769042,
+              33.538765
+            ],
+            [
+              101.777665,
+              33.533776
+            ],
+            [
+              101.769042,
+              33.45592
+            ],
+            [
+              101.695745,
+              33.433948
+            ],
+            [
+              101.663716,
+              33.383991
+            ],
+            [
+              101.64955,
+              33.323004
+            ],
+            [
+              101.677883,
+              33.297497
+            ],
+            [
+              101.735781,
+              33.279987
+            ],
+            [
+              101.709912,
+              33.21292
+            ],
+            [
+              101.653861,
+              33.162835
+            ],
+            [
+              101.661252,
+              33.135778
+            ],
+            [
+              101.633535,
+              33.101193
+            ],
+            [
+              101.557775,
+              33.167344
+            ],
+            [
+              101.515275,
+              33.192889
+            ],
+            [
+              101.487557,
+              33.226938
+            ],
+            [
+              101.403174,
+              33.225436
+            ],
+            [
+              101.386543,
+              33.207412
+            ],
+            [
+              101.393935,
+              33.157826
+            ],
+            [
+              101.381616,
+              33.153316
+            ],
+            [
+              101.297232,
+              33.262475
+            ],
+            [
+              101.217776,
+              33.256469
+            ],
+            [
+              101.182668,
+              33.26948
+            ],
+            [
+              101.156798,
+              33.236449
+            ],
+            [
+              101.124769,
+              33.221431
+            ],
+            [
+              101.11553,
+              33.194893
+            ],
+            [
+              101.169733,
+              33.10019
+            ],
+            [
+              101.143863,
+              33.086151
+            ],
+            [
+              101.146327,
+              33.056563
+            ],
+            [
+              101.184515,
+              33.041514
+            ],
+            [
+              101.171581,
+              33.009902
+            ],
+            [
+              101.183899,
+              32.984304
+            ],
+            [
+              101.129081,
+              32.989324
+            ],
+            [
+              101.134624,
+              32.95217
+            ],
+            [
+              101.124153,
+              32.909976
+            ],
+            [
+              101.178356,
+              32.892892
+            ],
+            [
+              101.223935,
+              32.855698
+            ],
+            [
+              101.237486,
+              32.825026
+            ],
+            [
+              101.22332,
+              32.725898
+            ],
+            [
+              101.157414,
+              32.661431
+            ],
+            [
+              101.124769,
+              32.658408
+            ],
+            [
+              101.077342,
+              32.68259
+            ],
+            [
+              101.030531,
+              32.660424
+            ],
+            [
+              100.99727,
+              32.627668
+            ],
+            [
+              100.956618,
+              32.621116
+            ],
+            [
+              100.93198,
+              32.600447
+            ],
+            [
+              100.887633,
+              32.632708
+            ],
+            [
+              100.834046,
+              32.648835
+            ],
+            [
+              100.77122,
+              32.643795
+            ],
+            [
+              100.690532,
+              32.678056
+            ],
+            [
+              100.71209,
+              32.645307
+            ],
+            [
+              100.710242,
+              32.610026
+            ],
+            [
+              100.673286,
+              32.628172
+            ],
+            [
+              100.661583,
+              32.616075
+            ],
+            [
+              100.657887,
+              32.546484
+            ],
+            [
+              100.645568,
+              32.526303
+            ],
+            [
+              100.603069,
+              32.553547
+            ],
+            [
+              100.54517,
+              32.569687
+            ],
+            [
+              100.516837,
+              32.632204
+            ],
+            [
+              100.470026,
+              32.694678
+            ],
+            [
+              100.450932,
+              32.694678
+            ],
+            [
+              100.420135,
+              32.73194
+            ],
+            [
+              100.378251,
+              32.698707
+            ],
+            [
+              100.399193,
+              32.756101
+            ],
+            [
+              100.339447,
+              32.719353
+            ],
+            [
+              100.258759,
+              32.742511
+            ],
+            [
+              100.231041,
+              32.696189
+            ],
+            [
+              100.229809,
+              32.650346
+            ],
+            [
+              100.208252,
+              32.606497
+            ],
+            [
+              100.189773,
+              32.630692
+            ],
+            [
+              100.109701,
+              32.640268
+            ],
+            [
+              100.088143,
+              32.668988
+            ],
+            [
+              100.139266,
+              32.724388
+            ],
+            [
+              100.117093,
+              32.802392
+            ],
+            [
+              100.123252,
+              32.837095
+            ],
+            [
+              100.064738,
+              32.895907
+            ],
+            [
+              100.029629,
+              32.895907
+            ],
+            [
+              100.038252,
+              32.929066
+            ],
+            [
+              99.956332,
+              32.948152
+            ],
+            [
+              99.947709,
+              32.986814
+            ],
+            [
+              99.877492,
+              33.045527
+            ],
+            [
+              99.877492,
+              32.993339
+            ],
+            [
+              99.851007,
+              32.941623
+            ],
+            [
+              99.805427,
+              32.940619
+            ],
+            [
+              99.788181,
+              32.956689
+            ],
+            [
+              99.764159,
+              32.924545
+            ],
+            [
+              99.791877,
+              32.883344
+            ],
+            [
+              99.766623,
+              32.826032
+            ],
+            [
+              99.760464,
+              32.769689
+            ],
+            [
+              99.717964,
+              32.732443
+            ],
+            [
+              99.700718,
+              32.76667
+            ],
+            [
+              99.646515,
+              32.774721
+            ],
+            [
+              99.640355,
+              32.790822
+            ],
+            [
+              99.589233,
+              32.789312
+            ],
+            [
+              99.558436,
+              32.839106
+            ],
+            [
+              99.45311,
+              32.862233
+            ],
+            [
+              99.376118,
+              32.899927
+            ],
+            [
+              99.353944,
+              32.885354
+            ],
+            [
+              99.268944,
+              32.878318
+            ],
+            [
+              99.24677,
+              32.924043
+            ],
+            [
+              99.235067,
+              32.982296
+            ],
+            [
+              99.214741,
+              32.991332
+            ],
+            [
+              99.196263,
+              33.035493
+            ],
+            [
+              99.124814,
+              33.046028
+            ],
+            [
+              99.090322,
+              33.079131
+            ],
+            [
+              99.024416,
+              33.094675
+            ],
+            [
+              99.014561,
+              33.081137
+            ],
+            [
+              98.971445,
+              33.098185
+            ],
+            [
+              98.967134,
+              33.115229
+            ],
+            [
+              98.92217,
+              33.118738
+            ],
+            [
+              98.858728,
+              33.150811
+            ],
+            [
+              98.804526,
+              33.219428
+            ],
+            [
+              98.802062,
+              33.270481
+            ],
+            [
+              98.759562,
+              33.276985
+            ],
+            [
+              98.779888,
+              33.370497
+            ],
+            [
+              98.736157,
+              33.406975
+            ],
+            [
+              98.742316,
+              33.477887
+            ],
+            [
+              98.725686,
+              33.503341
+            ],
+            [
+              98.678258,
+              33.522801
+            ],
+            [
+              98.648077,
+              33.548741
+            ],
+            [
+              98.652389,
+              33.595114
+            ],
+            [
+              98.622824,
+              33.610067
+            ],
+            [
+              98.61728,
+              33.637476
+            ],
+            [
+              98.6567,
+              33.64744
+            ],
+            [
+              98.610505,
+              33.682805
+            ],
+            [
+              98.582788,
+              33.731595
+            ],
+            [
+              98.539672,
+              33.746525
+            ],
+            [
+              98.51873,
+              33.77389
+            ],
+            [
+              98.494092,
+              33.768915
+            ],
+            [
+              98.492861,
+              33.796272
+            ],
+            [
+              98.463295,
+              33.848477
+            ],
+            [
+              98.434962,
+              33.843009
+            ],
+            [
+              98.407245,
+              33.867362
+            ],
+            [
+              98.425723,
+              33.913066
+            ],
+            [
+              98.415252,
+              33.956761
+            ],
+            [
+              98.440506,
+              33.981577
+            ],
+            [
+              98.428187,
+              34.029204
+            ],
+            [
+              98.396774,
+              34.053008
+            ],
+            [
+              98.399854,
+              34.085231
+            ],
+            [
+              98.344419,
+              34.094648
+            ],
+            [
+              98.258188,
+              34.083249
+            ],
+            [
+              98.206449,
+              34.08424
+            ],
+            [
+              98.158405,
+              34.107037
+            ],
+            [
+              98.098043,
+              34.122892
+            ],
+            [
+              98.028442,
+              34.122892
+            ],
+            [
+              97.95453,
+              34.190739
+            ],
+            [
+              97.898479,
+              34.209548
+            ],
+            [
+              97.8104,
+              34.207568
+            ],
+            [
+              97.796849,
+              34.199154
+            ],
+            [
+              97.796849,
+              34.199154
+            ],
+            [
+              97.789458,
+              34.182818
+            ],
+            [
+              97.789458,
+              34.182818
+            ],
+            [
+              97.766668,
+              34.158555
+            ],
+            [
+              97.665654,
+              34.126855
+            ],
+            [
+              97.70261,
+              34.036644
+            ],
+            [
+              97.652719,
+              33.998448
+            ],
+            [
+              97.660111,
+              33.956264
+            ],
+            [
+              97.629314,
+              33.919523
+            ],
+            [
+              97.601596,
+              33.929951
+            ],
+            [
+              97.52214,
+              33.903133
+            ],
+            [
+              97.503662,
+              33.912073
+            ],
+            [
+              97.460546,
+              33.887236
+            ],
+            [
+              97.395257,
+              33.889224
+            ],
+            [
+              97.398336,
+              33.848477
+            ],
+            [
+              97.371851,
+              33.842015
+            ],
+            [
+              97.373083,
+              33.817655
+            ],
+            [
+              97.406344,
+              33.795278
+            ],
+            [
+              97.422974,
+              33.754984
+            ],
+            [
+              97.418046,
+              33.728608
+            ],
+            [
+              97.435293,
+              33.682307
+            ],
+            [
+              97.415583,
+              33.605582
+            ],
+            [
+              97.450075,
+              33.582152
+            ],
+            [
+              97.523372,
+              33.577166
+            ],
+            [
+              97.511669,
+              33.520805
+            ],
+            [
+              97.552321,
+              33.465906
+            ],
+            [
+              97.625618,
+              33.461412
+            ],
+            [
+              97.674893,
+              33.432949
+            ],
+            [
+              97.754349,
+              33.409972
+            ],
+            [
+              97.676125,
+              33.341004
+            ],
+            [
+              97.622538,
+              33.337005
+            ],
+            [
+              97.607756,
+              33.263976
+            ],
+            [
+              97.548626,
+              33.203907
+            ],
+            [
+              97.487648,
+              33.168346
+            ],
+            [
+              97.498119,
+              33.137783
+            ],
+            [
+              97.487032,
+              33.107209
+            ],
+            [
+              97.517213,
+              33.097683
+            ],
+            [
+              97.542466,
+              33.035995
+            ],
+            [
+              97.499966,
+              33.011408
+            ],
+            [
+              97.523988,
+              32.988822
+            ],
+            [
+              97.438372,
+              32.976271
+            ],
+            [
+              97.375547,
+              32.956689
+            ],
+            [
+              97.347829,
+              32.895907
+            ],
+            [
+              97.376163,
+              32.886359
+            ],
+            [
+              97.392793,
+              32.828546
+            ],
+            [
+              97.386018,
+              32.77925
+            ],
+            [
+              97.429133,
+              32.714318
+            ],
+            [
+              97.42359,
+              32.70475
+            ],
+            [
+              97.48272,
+              32.654377
+            ],
+            [
+              97.535075,
+              32.638252
+            ],
+            [
+              97.543698,
+              32.62162
+            ],
+            [
+              97.607756,
+              32.614059
+            ],
+            [
+              97.616995,
+              32.586329
+            ],
+            [
+              97.700763,
+              32.53488
+            ],
+            [
+              97.730944,
+              32.527312
+            ],
+            [
+              97.795617,
+              32.521257
+            ],
+            [
+              97.80732,
+              32.50006
+            ],
+            [
+              97.863986,
+              32.499051
+            ],
+            [
+              97.880001,
+              32.486431
+            ],
+            [
+              97.940363,
+              32.482393
+            ],
+            [
+              98.079565,
+              32.415224
+            ],
+            [
+              98.107283,
+              32.391476
+            ],
+            [
+              98.125145,
+              32.401077
+            ],
+            [
+              98.218768,
+              32.342444
+            ],
+            [
+              98.208913,
+              32.318171
+            ],
+            [
+              98.23047,
+              32.262521
+            ],
+            [
+              98.218768,
+              32.234683
+            ],
+            [
+              98.260035,
+              32.208862
+            ],
+            [
+              98.303151,
+              32.121726
+            ],
+            [
+              98.357354,
+              32.087253
+            ],
+            [
+              98.404781,
+              32.045159
+            ],
+            [
+              98.402933,
+              32.026896
+            ],
+            [
+              98.434962,
+              32.007613
+            ],
+            [
+              98.432498,
+              31.922825
+            ],
+            [
+              98.399238,
+              31.895899
+            ],
+            [
+              98.426339,
+              31.856767
+            ],
+            [
+              98.414636,
+              31.832365
+            ],
+            [
+              98.461448,
+              31.800327
+            ],
+            [
+              98.508875,
+              31.751995
+            ],
+            [
+              98.516882,
+              31.717383
+            ],
+            [
+              98.545831,
+              31.717383
+            ],
+            [
+              98.553839,
+              31.660349
+            ],
+            [
+              98.619128,
+              31.591555
+            ],
+            [
+              98.651157,
+              31.57881
+            ],
+            [
+              98.696736,
+              31.538523
+            ],
+            [
+              98.714599,
+              31.508935
+            ],
+            [
+              98.844562,
+              31.429817
+            ],
+            [
+              98.84333,
+              31.416028
+            ],
+            [
+              98.887062,
+              31.37465
+            ],
+            [
+              98.810685,
+              31.306668
+            ],
+            [
+              98.805758,
+              31.279052
+            ],
+            [
+              98.773113,
+              31.249382
+            ],
+            [
+              98.691809,
+              31.333253
+            ],
+            [
+              98.643766,
+              31.338876
+            ],
+            [
+              98.616048,
+              31.3036
+            ],
+            [
+              98.60373,
+              31.257568
+            ],
+            [
+              98.62344,
+              31.221238
+            ],
+            [
+              98.602498,
+              31.192062
+            ],
+            [
+              98.675179,
+              31.15417
+            ],
+            [
+              98.710287,
+              31.1178
+            ],
+            [
+              98.712135,
+              31.082954
+            ],
+            [
+              98.736772,
+              31.049121
+            ],
+            [
+              98.774961,
+              31.031174
+            ],
+            [
+              98.806374,
+              30.995783
+            ],
+            [
+              98.797135,
+              30.948575
+            ],
+            [
+              98.774345,
+              30.908019
+            ],
+            [
+              98.797135,
+              30.87926
+            ],
+            [
+              98.850105,
+              30.849465
+            ],
+            [
+              98.904924,
+              30.782649
+            ],
+            [
+              98.957895,
+              30.765166
+            ],
+            [
+              98.963438,
+              30.728134
+            ],
+            [
+              98.907388,
+              30.698292
+            ],
+            [
+              98.92217,
+              30.609225
+            ],
+            [
+              98.939417,
+              30.598923
+            ],
+            [
+              98.926482,
+              30.569556
+            ],
+            [
+              98.932025,
+              30.521623
+            ],
+            [
+              98.965286,
+              30.449937
+            ],
+            [
+              98.967134,
+              30.33482
+            ],
+            [
+              98.986844,
+              30.280569
+            ],
+            [
+              98.970829,
+              30.260928
+            ],
+            [
+              98.993003,
+              30.215429
+            ],
+            [
+              98.9813,
+              30.182843
+            ],
+            [
+              98.989308,
+              30.151799
+            ],
+            [
+              99.044742,
+              30.079842
+            ],
+            [
+              99.036735,
+              30.053945
+            ],
+            [
+              99.055213,
+              29.958587
+            ],
+            [
+              99.068148,
+              29.931621
+            ],
+            [
+              99.0238,
+              29.846009
+            ],
+            [
+              99.018873,
+              29.792009
+            ],
+            [
+              98.992387,
+              29.677163
+            ],
+            [
+              99.014561,
+              29.607464
+            ],
+            [
+              99.052133,
+              29.563748
+            ],
+            [
+              99.044742,
+              29.520013
+            ],
+            [
+              99.066916,
+              29.421018
+            ],
+            [
+              99.058909,
+              29.417368
+            ],
+            [
+              99.075539,
+              29.316186
+            ],
+            [
+              99.114343,
+              29.243628
+            ],
+            [
+              99.113727,
+              29.221171
+            ],
+            [
+              99.105104,
+              29.162656
+            ],
+            [
+              99.118039,
+              29.100971
+            ],
+            [
+              99.113727,
+              29.07273
+            ],
+            [
+              99.132206,
+              28.94869
+            ],
+            [
+              99.123582,
+              28.890021
+            ],
+            [
+              99.103872,
+              28.841803
+            ],
+            [
+              99.114343,
+              28.765763
+            ],
+            [
+              99.134053,
+              28.734806
+            ],
+            [
+              99.126662,
+              28.698066
+            ],
+            [
+              99.147604,
+              28.640831
+            ],
+            [
+              99.183944,
+              28.58882
+            ],
+            [
+              99.170394,
+              28.566221
+            ],
+            [
+              99.191952,
+              28.494714
+            ],
+            [
+              99.187024,
+              28.44
+            ],
+            [
+              99.16485,
+              28.425264
+            ],
+            [
+              99.200575,
+              28.365774
+            ],
+            [
+              99.229524,
+              28.350502
+            ],
+            [
+              99.237531,
+              28.317842
+            ],
+            [
+              99.28927,
+              28.286227
+            ],
+            [
+              99.306516,
+              28.227714
+            ],
+            [
+              99.374886,
+              28.18183
+            ],
+            [
+              99.412458,
+              28.295186
+            ],
+            [
+              99.392748,
+              28.318369
+            ],
+            [
+              99.437095,
+              28.398419
+            ],
+            [
+              99.404451,
+              28.44421
+            ],
+            [
+              99.426625,
+              28.454207
+            ],
+            [
+              99.396444,
+              28.491032
+            ],
+            [
+              99.403219,
+              28.546246
+            ],
+            [
+              99.463581,
+              28.549401
+            ],
+            [
+              99.466045,
+              28.579886
+            ],
+            [
+              99.504233,
+              28.619294
+            ],
+            [
+              99.540573,
+              28.623497
+            ],
+            [
+              99.53195,
+              28.677591
+            ],
+            [
+              99.553508,
+              28.710664
+            ],
+            [
+              99.614486,
+              28.740054
+            ],
+            [
+              99.609559,
+              28.784122
+            ],
+            [
+              99.625573,
+              28.81454
+            ],
+            [
+              99.676696,
+              28.810345
+            ],
+            [
+              99.717964,
+              28.846521
+            ],
+            [
+              99.722275,
+              28.757369
+            ],
+            [
+              99.755536,
+              28.701216
+            ],
+            [
+              99.79434,
+              28.699116
+            ],
+            [
+              99.834992,
+              28.660788
+            ],
+            [
+              99.834376,
+              28.628225
+            ],
+            [
+              99.873181,
+              28.631902
+            ],
+            [
+              99.875644,
+              28.611939
+            ],
+            [
+              99.91876,
+              28.599329
+            ],
+            [
+              99.985281,
+              28.529422
+            ],
+            [
+              99.990209,
+              28.47683
+            ],
+            [
+              100.073977,
+              28.426317
+            ],
+            [
+              100.057346,
+              28.368934
+            ],
+            [
+              100.136803,
+              28.349975
+            ],
+            [
+              100.176223,
+              28.325218
+            ],
+            [
+              100.147274,
+              28.288862
+            ],
+            [
+              100.188541,
+              28.252493
+            ],
+            [
+              100.153433,
+              28.208202
+            ],
+            [
+              100.102926,
+              28.201873
+            ],
+            [
+              100.091223,
+              28.181302
+            ],
+            [
+              100.062274,
+              28.193962
+            ],
+            [
+              100.033325,
+              28.184467
+            ],
+            [
+              100.021006,
+              28.147008
+            ],
+            [
+              100.05673,
+              28.097922
+            ],
+            [
+              100.088759,
+              28.029269
+            ],
+            [
+              100.120788,
+              28.018703
+            ],
+            [
+              100.196549,
+              27.936254
+            ],
+            [
+              100.170063,
+              27.907699
+            ],
+            [
+              100.210715,
+              27.87702
+            ],
+            [
+              100.30865,
+              27.861149
+            ],
+            [
+              100.30865,
+              27.830457
+            ],
+            [
+              100.28586,
+              27.80611
+            ],
+            [
+              100.304954,
+              27.788639
+            ],
+            [
+              100.311729,
+              27.724028
+            ],
+            [
+              100.327744,
+              27.72032
+            ],
+            [
+              100.350534,
+              27.755809
+            ],
+            [
+              100.412127,
+              27.816167
+            ],
+            [
+              100.442924,
+              27.86644
+            ],
+            [
+              100.504518,
+              27.852154
+            ],
+            [
+              100.511294,
+              27.827811
+            ],
+            [
+              100.54517,
+              27.809286
+            ],
+            [
+              100.609228,
+              27.859033
+            ],
+            [
+              100.634482,
+              27.915631
+            ],
+            [
+              100.681293,
+              27.923035
+            ],
+            [
+              100.719481,
+              27.858503
+            ],
+            [
+              100.707162,
+              27.800816
+            ],
+            [
+              100.757053,
+              27.770107
+            ],
+            [
+              100.775532,
+              27.743098
+            ],
+            [
+              100.782307,
+              27.691708
+            ],
+            [
+              100.848212,
+              27.672099
+            ],
+            [
+              100.827886,
+              27.615904
+            ],
+            [
+              100.854988,
+              27.623858
+            ],
+            [
+              100.91227,
+              27.521473
+            ],
+            [
+              100.901183,
+              27.453517
+            ],
+            [
+              100.936908,
+              27.469448
+            ],
+            [
+              100.95169,
+              27.426961
+            ],
+            [
+              101.021907,
+              27.332899
+            ],
+            [
+              101.026219,
+              27.270679
+            ],
+            [
+              101.042233,
+              27.22173
+            ],
+            [
+              101.071798,
+              27.194585
+            ],
+            [
+              101.119226,
+              27.208957
+            ],
+            [
+              101.167885,
+              27.198311
+            ],
+            [
+              101.167885,
+              27.198311
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.264167,
+              30.20974
+            ],
+            [
+              106.260471,
+              30.207672
+            ],
+            [
+              106.260471,
+              30.204051
+            ],
+            [
+              106.260471,
+              30.19681
+            ],
+            [
+              106.264167,
+              30.20974
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.976809,
+              30.088127
+            ],
+            [
+              106.975577,
+              30.088127
+            ],
+            [
+              106.976193,
+              30.083467
+            ],
+            [
+              106.981736,
+              30.08502
+            ],
+            [
+              106.980504,
+              30.087609
+            ],
+            [
+              106.979888,
+              30.088127
+            ],
+            [
+              106.978656,
+              30.087609
+            ],
+            [
+              106.977425,
+              30.087609
+            ],
+            [
+              106.976809,
+              30.088127
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              105.558916,
+              30.18543
+            ],
+            [
+              105.556453,
+              30.187499
+            ],
+            [
+              105.550909,
+              30.179222
+            ],
+            [
+              105.56138,
+              30.183878
+            ],
+            [
+              105.558916,
+              30.18543
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 52e4,
+      name: "贵州省",
+      center: [
+        106.713478,
+        26.578343
+      ],
+      centroid: [
+        106.880455,
+        26.826368
+      ],
+      childrenNum: 9,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 23,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              109.274262,
+              28.494714
+            ],
+            [
+              109.23361,
+              28.474726
+            ],
+            [
+              109.191726,
+              28.471043
+            ],
+            [
+              109.153538,
+              28.417369
+            ],
+            [
+              109.152306,
+              28.349975
+            ],
+            [
+              109.117198,
+              28.277795
+            ],
+            [
+              109.081473,
+              28.247749
+            ],
+            [
+              109.101799,
+              28.202401
+            ],
+            [
+              109.086401,
+              28.184467
+            ],
+            [
+              109.026655,
+              28.220331
+            ],
+            [
+              109.005713,
+              28.162837
+            ],
+            [
+              108.929952,
+              28.19027
+            ],
+            [
+              108.923793,
+              28.217167
+            ],
+            [
+              108.89546,
+              28.219804
+            ],
+            [
+              108.855424,
+              28.199764
+            ],
+            [
+              108.821547,
+              28.245113
+            ],
+            [
+              108.772888,
+              28.212949
+            ],
+            [
+              108.738395,
+              28.228241
+            ],
+            [
+              108.726692,
+              28.282011
+            ],
+            [
+              108.761801,
+              28.304143
+            ],
+            [
+              108.783359,
+              28.380518
+            ],
+            [
+              108.759953,
+              28.389995
+            ],
+            [
+              108.780279,
+              28.42579
+            ],
+            [
+              108.746402,
+              28.45105
+            ],
+            [
+              108.709446,
+              28.501026
+            ],
+            [
+              108.700207,
+              28.48209
+            ],
+            [
+              108.657091,
+              28.47683
+            ],
+            [
+              108.640461,
+              28.456838
+            ],
+            [
+              108.688504,
+              28.422106
+            ],
+            [
+              108.697127,
+              28.401051
+            ],
+            [
+              108.656475,
+              28.359981
+            ],
+            [
+              108.667562,
+              28.334173
+            ],
+            [
+              108.611512,
+              28.324691
+            ],
+            [
+              108.580099,
+              28.343128
+            ],
+            [
+              108.576403,
+              28.38631
+            ],
+            [
+              108.609048,
+              28.407368
+            ],
+            [
+              108.609664,
+              28.43579
+            ],
+            [
+              108.586874,
+              28.463678
+            ],
+            [
+              108.573939,
+              28.531
+            ],
+            [
+              108.610896,
+              28.539412
+            ],
+            [
+              108.604736,
+              28.590922
+            ],
+            [
+              108.636149,
+              28.621396
+            ],
+            [
+              108.575787,
+              28.659738
+            ],
+            [
+              108.50249,
+              28.63768
+            ],
+            [
+              108.501258,
+              28.626649
+            ],
+            [
+              108.439049,
+              28.634003
+            ],
+            [
+              108.332491,
+              28.679166
+            ],
+            [
+              108.347274,
+              28.736381
+            ],
+            [
+              108.385462,
+              28.772058
+            ],
+            [
+              108.386078,
+              28.803003
+            ],
+            [
+              108.352817,
+              28.815589
+            ],
+            [
+              108.346658,
+              28.859625
+            ],
+            [
+              108.357745,
+              28.893165
+            ],
+            [
+              108.345426,
+              28.943453
+            ],
+            [
+              108.319556,
+              28.961258
+            ],
+            [
+              108.297999,
+              29.045527
+            ],
+            [
+              108.306622,
+              29.079006
+            ],
+            [
+              108.277673,
+              29.091558
+            ],
+            [
+              108.256115,
+              29.040295
+            ],
+            [
+              108.193289,
+              29.072207
+            ],
+            [
+              108.150173,
+              29.053375
+            ],
+            [
+              108.070717,
+              29.086328
+            ],
+            [
+              108.026369,
+              29.039772
+            ],
+            [
+              107.925971,
+              29.032446
+            ],
+            [
+              107.908725,
+              29.007327
+            ],
+            [
+              107.882855,
+              29.00628
+            ],
+            [
+              107.867457,
+              28.960211
+            ],
+            [
+              107.810175,
+              28.984295
+            ],
+            [
+              107.823725,
+              29.034016
+            ],
+            [
+              107.784921,
+              29.048143
+            ],
+            [
+              107.810791,
+              29.139137
+            ],
+            [
+              107.749197,
+              29.199754
+            ],
+            [
+              107.700537,
+              29.141228
+            ],
+            [
+              107.659885,
+              29.162656
+            ],
+            [
+              107.605683,
+              29.164747
+            ],
+            [
+              107.589052,
+              29.150113
+            ],
+            [
+              107.570574,
+              29.218037
+            ],
+            [
+              107.486806,
+              29.174153
+            ],
+            [
+              107.441227,
+              29.203934
+            ],
+            [
+              107.401807,
+              29.184603
+            ],
+            [
+              107.408582,
+              29.138091
+            ],
+            [
+              107.427676,
+              29.128682
+            ],
+            [
+              107.412278,
+              29.094696
+            ],
+            [
+              107.369778,
+              29.091558
+            ],
+            [
+              107.395647,
+              29.041341
+            ],
+            [
+              107.364235,
+              29.00942
+            ],
+            [
+              107.396879,
+              28.993718
+            ],
+            [
+              107.412894,
+              28.960211
+            ],
+            [
+              107.441227,
+              28.943977
+            ],
+            [
+              107.41351,
+              28.911502
+            ],
+            [
+              107.383945,
+              28.848618
+            ],
+            [
+              107.339597,
+              28.845997
+            ],
+            [
+              107.327894,
+              28.810869
+            ],
+            [
+              107.261373,
+              28.792514
+            ],
+            [
+              107.24659,
+              28.76209
+            ],
+            [
+              107.219489,
+              28.772582
+            ],
+            [
+              107.210866,
+              28.817686
+            ],
+            [
+              107.227496,
+              28.836037
+            ],
+            [
+              107.194851,
+              28.838134
+            ],
+            [
+              107.206554,
+              28.868535
+            ],
+            [
+              107.14188,
+              28.887925
+            ],
+            [
+              107.016229,
+              28.882685
+            ],
+            [
+              107.019308,
+              28.861722
+            ],
+            [
+              106.983584,
+              28.851239
+            ],
+            [
+              106.988512,
+              28.776254
+            ],
+            [
+              106.951555,
+              28.766812
+            ],
+            [
+              106.923222,
+              28.809821
+            ],
+            [
+              106.872099,
+              28.777304
+            ],
+            [
+              106.845614,
+              28.780975
+            ],
+            [
+              106.824056,
+              28.756319
+            ],
+            [
+              106.86594,
+              28.690192
+            ],
+            [
+              106.889345,
+              28.695966
+            ],
+            [
+              106.866556,
+              28.624548
+            ],
+            [
+              106.830831,
+              28.623497
+            ],
+            [
+              106.807425,
+              28.589346
+            ],
+            [
+              106.784636,
+              28.626649
+            ],
+            [
+              106.756918,
+              28.607211
+            ],
+            [
+              106.77786,
+              28.563068
+            ],
+            [
+              106.73844,
+              28.554657
+            ],
+            [
+              106.726121,
+              28.51838
+            ],
+            [
+              106.747063,
+              28.467361
+            ],
+            [
+              106.708259,
+              28.450524
+            ],
+            [
+              106.697788,
+              28.47683
+            ],
+            [
+              106.632499,
+              28.503655
+            ],
+            [
+              106.564745,
+              28.485247
+            ],
+            [
+              106.567825,
+              28.523638
+            ],
+            [
+              106.615252,
+              28.549401
+            ],
+            [
+              106.606629,
+              28.593024
+            ],
+            [
+              106.63681,
+              28.622972
+            ],
+            [
+              106.618332,
+              28.645033
+            ],
+            [
+              106.651593,
+              28.649235
+            ],
+            [
+              106.617716,
+              28.66709
+            ],
+            [
+              106.6171,
+              28.691242
+            ],
+            [
+              106.587535,
+              28.691767
+            ],
+            [
+              106.56105,
+              28.719062
+            ],
+            [
+              106.561666,
+              28.756319
+            ],
+            [
+              106.474202,
+              28.832891
+            ],
+            [
+              106.45326,
+              28.817162
+            ],
+            [
+              106.461883,
+              28.761041
+            ],
+            [
+              106.492064,
+              28.742153
+            ],
+            [
+              106.528405,
+              28.677591
+            ],
+            [
+              106.502535,
+              28.661313
+            ],
+            [
+              106.49268,
+              28.591448
+            ],
+            [
+              106.466811,
+              28.586193
+            ],
+            [
+              106.504999,
+              28.544669
+            ],
+            [
+              106.477282,
+              28.530474
+            ],
+            [
+              106.403369,
+              28.569901
+            ],
+            [
+              106.37442,
+              28.525742
+            ],
+            [
+              106.379348,
+              28.479986
+            ],
+            [
+              106.349167,
+              28.473674
+            ],
+            [
+              106.304819,
+              28.505233
+            ],
+            [
+              106.2925,
+              28.537309
+            ],
+            [
+              106.254928,
+              28.539412
+            ],
+            [
+              106.184711,
+              28.58882
+            ],
+            [
+              106.17116,
+              28.629275
+            ],
+            [
+              106.14837,
+              28.642932
+            ],
+            [
+              106.103407,
+              28.636104
+            ],
+            [
+              106.085544,
+              28.681792
+            ],
+            [
+              106.030726,
+              28.694917
+            ],
+            [
+              106.001161,
+              28.743727
+            ],
+            [
+              105.966668,
+              28.761041
+            ],
+            [
+              105.937719,
+              28.686517
+            ],
+            [
+              105.889676,
+              28.670765
+            ],
+            [
+              105.884748,
+              28.595126
+            ],
+            [
+              105.808372,
+              28.599855
+            ],
+            [
+              105.78435,
+              28.610889
+            ],
+            [
+              105.757249,
+              28.590397
+            ],
+            [
+              105.74493,
+              28.616668
+            ],
+            [
+              105.712901,
+              28.586718
+            ],
+            [
+              105.693191,
+              28.58882
+            ],
+            [
+              105.68272,
+              28.534154
+            ],
+            [
+              105.62359,
+              28.517854
+            ],
+            [
+              105.612503,
+              28.438947
+            ],
+            [
+              105.643916,
+              28.431053
+            ],
+            [
+              105.655003,
+              28.362615
+            ],
+            [
+              105.639604,
+              28.324164
+            ],
+            [
+              105.68888,
+              28.284119
+            ],
+            [
+              105.730147,
+              28.271997
+            ],
+            [
+              105.737539,
+              28.30309
+            ],
+            [
+              105.76464,
+              28.308359
+            ],
+            [
+              105.76464,
+              28.308359
+            ],
+            [
+              105.78743,
+              28.335753
+            ],
+            [
+              105.824386,
+              28.306251
+            ],
+            [
+              105.848408,
+              28.255656
+            ],
+            [
+              105.889676,
+              28.237732
+            ],
+            [
+              105.860727,
+              28.159672
+            ],
+            [
+              105.895219,
+              28.119565
+            ],
+            [
+              105.943878,
+              28.143314
+            ],
+            [
+              105.975907,
+              28.107952
+            ],
+            [
+              106.093552,
+              28.162837
+            ],
+            [
+              106.145291,
+              28.162837
+            ],
+            [
+              106.206885,
+              28.134343
+            ],
+            [
+              106.266631,
+              28.066769
+            ],
+            [
+              106.246305,
+              28.011835
+            ],
+            [
+              106.286341,
+              28.007079
+            ],
+            [
+              106.328225,
+              27.952643
+            ],
+            [
+              106.307899,
+              27.936782
+            ],
+            [
+              106.304819,
+              27.899237
+            ],
+            [
+              106.325145,
+              27.898708
+            ],
+            [
+              106.337464,
+              27.859033
+            ],
+            [
+              106.306667,
+              27.808756
+            ],
+            [
+              106.242609,
+              27.767459
+            ],
+            [
+              106.193334,
+              27.75422
+            ],
+            [
+              106.120653,
+              27.779638
+            ],
+            [
+              106.063987,
+              27.776991
+            ],
+            [
+              106.023335,
+              27.746805
+            ],
+            [
+              105.985146,
+              27.749983
+            ],
+            [
+              105.92848,
+              27.729855
+            ],
+            [
+              105.922937,
+              27.746805
+            ],
+            [
+              105.868118,
+              27.732504
+            ],
+            [
+              105.848408,
+              27.707074
+            ],
+            [
+              105.76772,
+              27.7182
+            ],
+            [
+              105.722756,
+              27.706015
+            ],
+            [
+              105.720292,
+              27.683759
+            ],
+            [
+              105.664242,
+              27.683759
+            ],
+            [
+              105.62359,
+              27.666269
+            ],
+            [
+              105.605112,
+              27.715552
+            ],
+            [
+              105.560148,
+              27.71979
+            ],
+            [
+              105.508409,
+              27.769048
+            ],
+            [
+              105.44004,
+              27.775402
+            ],
+            [
+              105.353809,
+              27.748924
+            ],
+            [
+              105.308229,
+              27.704955
+            ],
+            [
+              105.29591,
+              27.631811
+            ],
+            [
+              105.304533,
+              27.611661
+            ],
+            [
+              105.25649,
+              27.582491
+            ],
+            [
+              105.232469,
+              27.546945
+            ],
+            [
+              105.260186,
+              27.514573
+            ],
+            [
+              105.234316,
+              27.489093
+            ],
+            [
+              105.233084,
+              27.436522
+            ],
+            [
+              105.182577,
+              27.367451
+            ],
+            [
+              105.184425,
+              27.392959
+            ],
+            [
+              105.120984,
+              27.418461
+            ],
+            [
+              105.068013,
+              27.418461
+            ],
+            [
+              105.01073,
+              27.379143
+            ],
+            [
+              104.913412,
+              27.327051
+            ],
+            [
+              104.871528,
+              27.290891
+            ],
+            [
+              104.851818,
+              27.299401
+            ],
+            [
+              104.856746,
+              27.332368
+            ],
+            [
+              104.824717,
+              27.3531
+            ],
+            [
+              104.77113,
+              27.317481
+            ],
+            [
+              104.7545,
+              27.345658
+            ],
+            [
+              104.611602,
+              27.306846
+            ],
+            [
+              104.570334,
+              27.331836
+            ],
+            [
+              104.539537,
+              27.327583
+            ],
+            [
+              104.497037,
+              27.414743
+            ],
+            [
+              104.467472,
+              27.414211
+            ],
+            [
+              104.363378,
+              27.467855
+            ],
+            [
+              104.30856,
+              27.407305
+            ],
+            [
+              104.295625,
+              27.37436
+            ],
+            [
+              104.247582,
+              27.336621
+            ],
+            [
+              104.248813,
+              27.291955
+            ],
+            [
+              104.210625,
+              27.297273
+            ],
+            [
+              104.173053,
+              27.263232
+            ],
+            [
+              104.113923,
+              27.338216
+            ],
+            [
+              104.084358,
+              27.330773
+            ],
+            [
+              104.01722,
+              27.383926
+            ],
+            [
+              104.015372,
+              27.429086
+            ],
+            [
+              103.956242,
+              27.425367
+            ],
+            [
+              103.932221,
+              27.443958
+            ],
+            [
+              103.905119,
+              27.38552
+            ],
+            [
+              103.903271,
+              27.347785
+            ],
+            [
+              103.874322,
+              27.331304
+            ],
+            [
+              103.865699,
+              27.28185
+            ],
+            [
+              103.80041,
+              27.26536
+            ],
+            [
+              103.801641,
+              27.250464
+            ],
+            [
+              103.748671,
+              27.210021
+            ],
+            [
+              103.696316,
+              27.126429
+            ],
+            [
+              103.63349,
+              27.12057
+            ],
+            [
+              103.620555,
+              27.096598
+            ],
+            [
+              103.652584,
+              27.092868
+            ],
+            [
+              103.659975,
+              27.065692
+            ],
+            [
+              103.614396,
+              27.079548
+            ],
+            [
+              103.601461,
+              27.061962
+            ],
+            [
+              103.623635,
+              27.035312
+            ],
+            [
+              103.623019,
+              27.007056
+            ],
+            [
+              103.675374,
+              27.051836
+            ],
+            [
+              103.704939,
+              27.049171
+            ],
+            [
+              103.73204,
+              27.018785
+            ],
+            [
+              103.753598,
+              26.963858
+            ],
+            [
+              103.775156,
+              26.951056
+            ],
+            [
+              103.763453,
+              26.905702
+            ],
+            [
+              103.779468,
+              26.87421
+            ],
+            [
+              103.722185,
+              26.851253
+            ],
+            [
+              103.705555,
+              26.794642
+            ],
+            [
+              103.725265,
+              26.742812
+            ],
+            [
+              103.773308,
+              26.716621
+            ],
+            [
+              103.759142,
+              26.689355
+            ],
+            [
+              103.748671,
+              26.623568
+            ],
+            [
+              103.763453,
+              26.585041
+            ],
+            [
+              103.815808,
+              26.55239
+            ],
+            [
+              103.819504,
+              26.529903
+            ],
+            [
+              103.865699,
+              26.512232
+            ],
+            [
+              103.953163,
+              26.521336
+            ],
+            [
+              104.008597,
+              26.511697
+            ],
+            [
+              104.067727,
+              26.51491
+            ],
+            [
+              104.068343,
+              26.573266
+            ],
+            [
+              104.121314,
+              26.638012
+            ],
+            [
+              104.160734,
+              26.646571
+            ],
+            [
+              104.222328,
+              26.620358
+            ],
+            [
+              104.268524,
+              26.617683
+            ],
+            [
+              104.274683,
+              26.633733
+            ],
+            [
+              104.313487,
+              26.612867
+            ],
+            [
+              104.353523,
+              26.620893
+            ],
+            [
+              104.398487,
+              26.686147
+            ],
+            [
+              104.424356,
+              26.709137
+            ],
+            [
+              104.468088,
+              26.644431
+            ],
+            [
+              104.459465,
+              26.602701
+            ],
+            [
+              104.488414,
+              26.579689
+            ],
+            [
+              104.556783,
+              26.590393
+            ],
+            [
+              104.579573,
+              26.568449
+            ],
+            [
+              104.57095,
+              26.524549
+            ],
+            [
+              104.598667,
+              26.520801
+            ],
+            [
+              104.638703,
+              26.477954
+            ],
+            [
+              104.631928,
+              26.451702
+            ],
+            [
+              104.665804,
+              26.434019
+            ],
+            [
+              104.664572,
+              26.397572
+            ],
+            [
+              104.684283,
+              26.3772
+            ],
+            [
+              104.659645,
+              26.335373
+            ],
+            [
+              104.592508,
+              26.317672
+            ],
+            [
+              104.542616,
+              26.253282
+            ],
+            [
+              104.548776,
+              26.226979
+            ],
+            [
+              104.518595,
+              26.165762
+            ],
+            [
+              104.52845,
+              26.114186
+            ],
+            [
+              104.499501,
+              26.070651
+            ],
+            [
+              104.460081,
+              26.085702
+            ],
+            [
+              104.470552,
+              26.009352
+            ],
+            [
+              104.438523,
+              25.92757
+            ],
+            [
+              104.414501,
+              25.909807
+            ],
+            [
+              104.441602,
+              25.868889
+            ],
+            [
+              104.42374,
+              25.841961
+            ],
+            [
+              104.397871,
+              25.76168
+            ],
+            [
+              104.370769,
+              25.730415
+            ],
+            [
+              104.328886,
+              25.760602
+            ],
+            [
+              104.310407,
+              25.647901
+            ],
+            [
+              104.332581,
+              25.598796
+            ],
+            [
+              104.389248,
+              25.595558
+            ],
+            [
+              104.428668,
+              25.576126
+            ],
+            [
+              104.436059,
+              25.520512
+            ],
+            [
+              104.418813,
+              25.499447
+            ],
+            [
+              104.434827,
+              25.472436
+            ],
+            [
+              104.44961,
+              25.495126
+            ],
+            [
+              104.483486,
+              25.494585
+            ],
+            [
+              104.524138,
+              25.526992
+            ],
+            [
+              104.556783,
+              25.524832
+            ],
+            [
+              104.543232,
+              25.400556
+            ],
+            [
+              104.566638,
+              25.402719
+            ],
+            [
+              104.615913,
+              25.364871
+            ],
+            [
+              104.646094,
+              25.356759
+            ],
+            [
+              104.639935,
+              25.295632
+            ],
+            [
+              104.689826,
+              25.296173
+            ],
+            [
+              104.736021,
+              25.268034
+            ],
+            [
+              104.816094,
+              25.262622
+            ],
+            [
+              104.826565,
+              25.235558
+            ],
+            [
+              104.806854,
+              25.224189
+            ],
+            [
+              104.822869,
+              25.170037
+            ],
+            [
+              104.801927,
+              25.163537
+            ],
+            [
+              104.753884,
+              25.214443
+            ],
+            [
+              104.724319,
+              25.195491
+            ],
+            [
+              104.732326,
+              25.167871
+            ],
+            [
+              104.695369,
+              25.122364
+            ],
+            [
+              104.685514,
+              25.078466
+            ],
+            [
+              104.619609,
+              25.060577
+            ],
+            [
+              104.684898,
+              25.054072
+            ],
+            [
+              104.713232,
+              24.996048
+            ],
+            [
+              104.663957,
+              24.964584
+            ],
+            [
+              104.635623,
+              24.903803
+            ],
+            [
+              104.586964,
+              24.872859
+            ],
+            [
+              104.539537,
+              24.813663
+            ],
+            [
+              104.542616,
+              24.75607
+            ],
+            [
+              104.529682,
+              24.731611
+            ],
+            [
+              104.595587,
+              24.709323
+            ],
+            [
+              104.628848,
+              24.660927
+            ],
+            [
+              104.703377,
+              24.645698
+            ],
+            [
+              104.729246,
+              24.617953
+            ],
+            [
+              104.771746,
+              24.659839
+            ],
+            [
+              104.841963,
+              24.676155
+            ],
+            [
+              104.865985,
+              24.730524
+            ],
+            [
+              104.899245,
+              24.752809
+            ],
+            [
+              105.03352,
+              24.787586
+            ],
+            [
+              105.026745,
+              24.815836
+            ],
+            [
+              105.039064,
+              24.872859
+            ],
+            [
+              105.077868,
+              24.918459
+            ],
+            [
+              105.09573,
+              24.92877
+            ],
+            [
+              105.131454,
+              24.959701
+            ],
+            [
+              105.157324,
+              24.958616
+            ],
+            [
+              105.178266,
+              24.985199
+            ],
+            [
+              105.212758,
+              24.995505
+            ],
+            [
+              105.251563,
+              24.967296
+            ],
+            [
+              105.267577,
+              24.929313
+            ],
+            [
+              105.334099,
+              24.9266
+            ],
+            [
+              105.365511,
+              24.943423
+            ],
+            [
+              105.428337,
+              24.930941
+            ],
+            [
+              105.457286,
+              24.87123
+            ],
+            [
+              105.493011,
+              24.833217
+            ],
+            [
+              105.497322,
+              24.809318
+            ],
+            [
+              105.573083,
+              24.797366
+            ],
+            [
+              105.607576,
+              24.803885
+            ],
+            [
+              105.617431,
+              24.78161
+            ],
+            [
+              105.70551,
+              24.768569
+            ],
+            [
+              105.767104,
+              24.719109
+            ],
+            [
+              105.827466,
+              24.702799
+            ],
+            [
+              105.863806,
+              24.729437
+            ],
+            [
+              105.942031,
+              24.725088
+            ],
+            [
+              105.961741,
+              24.677786
+            ],
+            [
+              106.024566,
+              24.633186
+            ],
+            [
+              106.047356,
+              24.684312
+            ],
+            [
+              106.113878,
+              24.714216
+            ],
+            [
+              106.150218,
+              24.762591
+            ],
+            [
+              106.173008,
+              24.760417
+            ],
+            [
+              106.206269,
+              24.851139
+            ],
+            [
+              106.197645,
+              24.885889
+            ],
+            [
+              106.145291,
+              24.954275
+            ],
+            [
+              106.191486,
+              24.95319
+            ],
+            [
+              106.215508,
+              24.981944
+            ],
+            [
+              106.253696,
+              24.971094
+            ],
+            [
+              106.304819,
+              24.973807
+            ],
+            [
+              106.332536,
+              24.988454
+            ],
+            [
+              106.442173,
+              25.019369
+            ],
+            [
+              106.450181,
+              25.033468
+            ],
+            [
+              106.519782,
+              25.054072
+            ],
+            [
+              106.551195,
+              25.082802
+            ],
+            [
+              106.590615,
+              25.08768
+            ],
+            [
+              106.63989,
+              25.132658
+            ],
+            [
+              106.644817,
+              25.164621
+            ],
+            [
+              106.691013,
+              25.179245
+            ],
+            [
+              106.732281,
+              25.162454
+            ],
+            [
+              106.764926,
+              25.183036
+            ],
+            [
+              106.787715,
+              25.17112
+            ],
+            [
+              106.853005,
+              25.186827
+            ],
+            [
+              106.888113,
+              25.181953
+            ],
+            [
+              106.904128,
+              25.231768
+            ],
+            [
+              106.933077,
+              25.250714
+            ],
+            [
+              106.975577,
+              25.232851
+            ],
+            [
+              107.013765,
+              25.275611
+            ],
+            [
+              107.012533,
+              25.352973
+            ],
+            [
+              106.987896,
+              25.358922
+            ],
+            [
+              106.963874,
+              25.437852
+            ],
+            [
+              106.996519,
+              25.442716
+            ],
+            [
+              107.015613,
+              25.495666
+            ],
+            [
+              107.066736,
+              25.50917
+            ],
+            [
+              107.064272,
+              25.559391
+            ],
+            [
+              107.185612,
+              25.578825
+            ],
+            [
+              107.205322,
+              25.607971
+            ],
+            [
+              107.228728,
+              25.604733
+            ],
+            [
+              107.232423,
+              25.556691
+            ],
+            [
+              107.263836,
+              25.543193
+            ],
+            [
+              107.336517,
+              25.461089
+            ],
+            [
+              107.308184,
+              25.432988
+            ],
+            [
+              107.318039,
+              25.401637
+            ],
+            [
+              107.358691,
+              25.393528
+            ],
+            [
+              107.375937,
+              25.411908
+            ],
+            [
+              107.420901,
+              25.392987
+            ],
+            [
+              107.409198,
+              25.347024
+            ],
+            [
+              107.432604,
+              25.289139
+            ],
+            [
+              107.481263,
+              25.299961
+            ],
+            [
+              107.489886,
+              25.276693
+            ],
+            [
+              107.472024,
+              25.213902
+            ],
+            [
+              107.512676,
+              25.209029
+            ],
+            [
+              107.576734,
+              25.256668
+            ],
+            [
+              107.599523,
+              25.250714
+            ],
+            [
+              107.632168,
+              25.310241
+            ],
+            [
+              107.659885,
+              25.316192
+            ],
+            [
+              107.661733,
+              25.258833
+            ],
+            [
+              107.696226,
+              25.219858
+            ],
+            [
+              107.700537,
+              25.194408
+            ],
+            [
+              107.741805,
+              25.24043
+            ],
+            [
+              107.762131,
+              25.229061
+            ],
+            [
+              107.760283,
+              25.188451
+            ],
+            [
+              107.789233,
+              25.15487
+            ],
+            [
+              107.762747,
+              25.125073
+            ],
+            [
+              107.839124,
+              25.115861
+            ],
+            [
+              107.872384,
+              25.141327
+            ],
+            [
+              107.928435,
+              25.155954
+            ],
+            [
+              108.001732,
+              25.196574
+            ],
+            [
+              108.080572,
+              25.193867
+            ],
+            [
+              108.115065,
+              25.210112
+            ],
+            [
+              108.143398,
+              25.269658
+            ],
+            [
+              108.152021,
+              25.324306
+            ],
+            [
+              108.142782,
+              25.390825
+            ],
+            [
+              108.193289,
+              25.405421
+            ],
+            [
+              108.162492,
+              25.444878
+            ],
+            [
+              108.192673,
+              25.458928
+            ],
+            [
+              108.251803,
+              25.430286
+            ],
+            [
+              108.241332,
+              25.46217
+            ],
+            [
+              108.280752,
+              25.48
+            ],
+            [
+              108.308469,
+              25.525912
+            ],
+            [
+              108.348506,
+              25.536173
+            ],
+            [
+              108.359592,
+              25.513491
+            ],
+            [
+              108.400244,
+              25.491344
+            ],
+            [
+              108.418723,
+              25.443257
+            ],
+            [
+              108.471693,
+              25.458928
+            ],
+            [
+              108.585642,
+              25.365952
+            ],
+            [
+              108.589338,
+              25.335125
+            ],
+            [
+              108.625062,
+              25.308076
+            ],
+            [
+              108.62999,
+              25.335666
+            ],
+            [
+              108.600425,
+              25.432448
+            ],
+            [
+              108.6072,
+              25.491885
+            ],
+            [
+              108.634917,
+              25.520512
+            ],
+            [
+              108.68912,
+              25.533473
+            ],
+            [
+              108.658323,
+              25.550212
+            ],
+            [
+              108.660787,
+              25.584763
+            ],
+            [
+              108.68604,
+              25.587462
+            ],
+            [
+              108.68912,
+              25.623081
+            ],
+            [
+              108.724844,
+              25.634952
+            ],
+            [
+              108.783975,
+              25.628477
+            ],
+            [
+              108.799989,
+              25.576666
+            ],
+            [
+              108.781511,
+              25.554531
+            ],
+            [
+              108.814772,
+              25.526992
+            ],
+            [
+              108.826474,
+              25.550212
+            ],
+            [
+              108.890532,
+              25.556151
+            ],
+            [
+              108.8893,
+              25.543193
+            ],
+            [
+              108.949046,
+              25.557231
+            ],
+            [
+              109.024807,
+              25.51241
+            ],
+            [
+              109.088249,
+              25.550752
+            ],
+            [
+              109.051908,
+              25.566949
+            ],
+            [
+              109.030966,
+              25.629556
+            ],
+            [
+              109.075314,
+              25.693749
+            ],
+            [
+              109.07901,
+              25.72071
+            ],
+            [
+              109.043285,
+              25.738502
+            ],
+            [
+              109.007561,
+              25.734728
+            ],
+            [
+              108.953974,
+              25.686738
+            ],
+            [
+              108.953974,
+              25.686738
+            ],
+            [
+              108.900387,
+              25.682423
+            ],
+            [
+              108.896076,
+              25.71424
+            ],
+            [
+              108.940423,
+              25.740119
+            ],
+            [
+              108.963829,
+              25.732572
+            ],
+            [
+              108.999553,
+              25.765453
+            ],
+            [
+              108.989698,
+              25.778926
+            ],
+            [
+              109.048213,
+              25.790781
+            ],
+            [
+              109.077778,
+              25.776771
+            ],
+            [
+              109.095024,
+              25.80533
+            ],
+            [
+              109.143683,
+              25.795092
+            ],
+            [
+              109.13198,
+              25.762758
+            ],
+            [
+              109.147995,
+              25.741736
+            ],
+            [
+              109.206509,
+              25.788087
+            ],
+            [
+              109.207125,
+              25.740119
+            ],
+            [
+              109.296436,
+              25.71424
+            ],
+            [
+              109.340168,
+              25.731493
+            ],
+            [
+              109.327849,
+              25.76168
+            ],
+            [
+              109.339552,
+              25.83442
+            ],
+            [
+              109.359262,
+              25.836036
+            ],
+            [
+              109.396834,
+              25.900117
+            ],
+            [
+              109.435022,
+              25.93349
+            ],
+            [
+              109.408537,
+              25.967392
+            ],
+            [
+              109.473211,
+              26.006663
+            ],
+            [
+              109.48245,
+              26.029788
+            ],
+            [
+              109.452885,
+              26.055598
+            ],
+            [
+              109.449805,
+              26.101826
+            ],
+            [
+              109.502776,
+              26.096451
+            ],
+            [
+              109.513863,
+              26.128157
+            ],
+            [
+              109.47629,
+              26.148035
+            ],
+            [
+              109.439334,
+              26.238789
+            ],
+            [
+              109.467051,
+              26.313917
+            ],
+            [
+              109.442414,
+              26.289774
+            ],
+            [
+              109.369733,
+              26.277432
+            ],
+            [
+              109.351255,
+              26.264016
+            ],
+            [
+              109.325385,
+              26.29031
+            ],
+            [
+              109.285965,
+              26.295676
+            ],
+            [
+              109.271183,
+              26.327863
+            ],
+            [
+              109.29582,
+              26.350389
+            ],
+            [
+              109.319842,
+              26.418477
+            ],
+            [
+              109.38082,
+              26.454381
+            ],
+            [
+              109.362342,
+              26.472061
+            ],
+            [
+              109.385747,
+              26.493487
+            ],
+            [
+              109.381436,
+              26.518659
+            ],
+            [
+              109.407305,
+              26.533116
+            ],
+            [
+              109.390675,
+              26.598955
+            ],
+            [
+              109.35495,
+              26.658873
+            ],
+            [
+              109.334008,
+              26.646036
+            ],
+            [
+              109.306291,
+              26.661012
+            ],
+            [
+              109.283501,
+              26.698445
+            ],
+            [
+              109.35495,
+              26.693098
+            ],
+            [
+              109.407305,
+              26.719829
+            ],
+            [
+              109.447957,
+              26.759913
+            ],
+            [
+              109.486761,
+              26.759913
+            ],
+            [
+              109.47629,
+              26.829894
+            ],
+            [
+              109.467051,
+              26.83203
+            ],
+            [
+              109.452885,
+              26.861932
+            ],
+            [
+              109.436254,
+              26.892359
+            ],
+            [
+              109.555131,
+              26.946788
+            ],
+            [
+              109.520022,
+              27.058764
+            ],
+            [
+              109.497848,
+              27.079548
+            ],
+            [
+              109.486761,
+              27.053968
+            ],
+            [
+              109.454733,
+              27.069423
+            ],
+            [
+              109.472595,
+              27.134951
+            ],
+            [
+              109.441182,
+              27.117907
+            ],
+            [
+              109.415312,
+              27.154123
+            ],
+            [
+              109.358646,
+              27.153058
+            ],
+            [
+              109.33524,
+              27.139212
+            ],
+            [
+              109.264407,
+              27.131755
+            ],
+            [
+              109.239154,
+              27.14933
+            ],
+            [
+              109.21698,
+              27.114711
+            ],
+            [
+              109.165857,
+              27.066758
+            ],
+            [
+              109.101183,
+              27.06889
+            ],
+            [
+              109.128901,
+              27.122701
+            ],
+            [
+              109.032814,
+              27.104056
+            ],
+            [
+              109.007561,
+              27.08008
+            ],
+            [
+              108.940423,
+              27.044907
+            ],
+            [
+              108.942887,
+              27.017186
+            ],
+            [
+              108.942887,
+              27.017186
+            ],
+            [
+              108.877597,
+              27.01612
+            ],
+            [
+              108.79075,
+              27.084343
+            ],
+            [
+              108.878829,
+              27.106187
+            ],
+            [
+              108.926873,
+              27.160512
+            ],
+            [
+              108.907778,
+              27.204699
+            ],
+            [
+              108.963213,
+              27.235565
+            ],
+            [
+              108.983539,
+              27.26802
+            ],
+            [
+              109.053756,
+              27.293551
+            ],
+            [
+              109.044517,
+              27.331304
+            ],
+            [
+              109.103647,
+              27.336621
+            ],
+            [
+              109.142451,
+              27.418461
+            ],
+            [
+              109.141835,
+              27.448207
+            ],
+            [
+              109.167089,
+              27.41793
+            ],
+            [
+              109.202197,
+              27.450331
+            ],
+            [
+              109.245313,
+              27.41793
+            ],
+            [
+              109.300132,
+              27.423774
+            ],
+            [
+              109.303211,
+              27.47582
+            ],
+            [
+              109.404841,
+              27.55066
+            ],
+            [
+              109.461508,
+              27.567637
+            ],
+            [
+              109.451037,
+              27.586204
+            ],
+            [
+              109.470131,
+              27.62863
+            ],
+            [
+              109.45658,
+              27.673689
+            ],
+            [
+              109.470747,
+              27.680049
+            ],
+            [
+              109.414081,
+              27.725087
+            ],
+            [
+              109.366653,
+              27.721909
+            ],
+            [
+              109.37774,
+              27.736741
+            ],
+            [
+              109.332777,
+              27.782815
+            ],
+            [
+              109.346943,
+              27.838396
+            ],
+            [
+              109.32169,
+              27.868027
+            ],
+            [
+              109.30198,
+              27.956343
+            ],
+            [
+              109.319842,
+              27.988585
+            ],
+            [
+              109.362342,
+              28.007608
+            ],
+            [
+              109.378972,
+              28.034551
+            ],
+            [
+              109.335856,
+              28.063073
+            ],
+            [
+              109.298284,
+              28.036136
+            ],
+            [
+              109.314298,
+              28.103729
+            ],
+            [
+              109.33832,
+              28.141731
+            ],
+            [
+              109.340168,
+              28.19027
+            ],
+            [
+              109.367885,
+              28.254602
+            ],
+            [
+              109.388211,
+              28.268307
+            ],
+            [
+              109.33524,
+              28.293605
+            ],
+            [
+              109.317994,
+              28.277795
+            ],
+            [
+              109.275494,
+              28.313101
+            ],
+            [
+              109.268719,
+              28.33786
+            ],
+            [
+              109.289045,
+              28.373673
+            ],
+            [
+              109.264407,
+              28.392628
+            ],
+            [
+              109.260712,
+              28.46473
+            ],
+            [
+              109.274262,
+              28.494714
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.47629,
+              26.829894
+            ],
+            [
+              109.486761,
+              26.759913
+            ],
+            [
+              109.52187,
+              26.749226
+            ],
+            [
+              109.522486,
+              26.749226
+            ],
+            [
+              109.497232,
+              26.815474
+            ],
+            [
+              109.513247,
+              26.84004
+            ],
+            [
+              109.509551,
+              26.877947
+            ],
+            [
+              109.486761,
+              26.895562
+            ],
+            [
+              109.452885,
+              26.861932
+            ],
+            [
+              109.467051,
+              26.83203
+            ],
+            [
+              109.47629,
+              26.829894
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.528645,
+              26.743881
+            ],
+            [
+              109.568065,
+              26.726243
+            ],
+            [
+              109.597015,
+              26.756173
+            ],
+            [
+              109.554515,
+              26.73533
+            ],
+            [
+              109.528645,
+              26.743881
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 53e4,
+      name: "云南省",
+      center: [
+        102.712251,
+        25.040609
+      ],
+      centroid: [
+        101.485106,
+        25.008643
+      ],
+      childrenNum: 16,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 24,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              105.308229,
+              27.704955
+            ],
+            [
+              105.290367,
+              27.712373
+            ],
+            [
+              105.293447,
+              27.770637
+            ],
+            [
+              105.273736,
+              27.794992
+            ],
+            [
+              105.313157,
+              27.810874
+            ],
+            [
+              105.25957,
+              27.827811
+            ],
+            [
+              105.233084,
+              27.895534
+            ],
+            [
+              105.284823,
+              27.935725
+            ],
+            [
+              105.270657,
+              27.99704
+            ],
+            [
+              105.247867,
+              28.009193
+            ],
+            [
+              105.218302,
+              27.990698
+            ],
+            [
+              105.186273,
+              27.995454
+            ],
+            [
+              105.167795,
+              28.021345
+            ],
+            [
+              105.186889,
+              28.054623
+            ],
+            [
+              105.168411,
+              28.071522
+            ],
+            [
+              105.119752,
+              28.07205
+            ],
+            [
+              105.061853,
+              28.096866
+            ],
+            [
+              105.002107,
+              28.064129
+            ],
+            [
+              104.980549,
+              28.063073
+            ],
+            [
+              104.975006,
+              28.020816
+            ],
+            [
+              104.903557,
+              27.962158
+            ],
+            [
+              104.918339,
+              27.938897
+            ],
+            [
+              104.888158,
+              27.914574
+            ],
+            [
+              104.842579,
+              27.900294
+            ],
+            [
+              104.796999,
+              27.901352
+            ],
+            [
+              104.761891,
+              27.884426
+            ],
+            [
+              104.743413,
+              27.901881
+            ],
+            [
+              104.676275,
+              27.880723
+            ],
+            [
+              104.63316,
+              27.850567
+            ],
+            [
+              104.607906,
+              27.857974
+            ],
+            [
+              104.573413,
+              27.840512
+            ],
+            [
+              104.52537,
+              27.889187
+            ],
+            [
+              104.508124,
+              27.878078
+            ],
+            [
+              104.44961,
+              27.927794
+            ],
+            [
+              104.40095,
+              27.952114
+            ],
+            [
+              104.362762,
+              28.012891
+            ],
+            [
+              104.30856,
+              28.036136
+            ],
+            [
+              104.304248,
+              28.050926
+            ],
+            [
+              104.373233,
+              28.051454
+            ],
+            [
+              104.40095,
+              28.091586
+            ],
+            [
+              104.448994,
+              28.113758
+            ],
+            [
+              104.444682,
+              28.16231
+            ],
+            [
+              104.406494,
+              28.173389
+            ],
+            [
+              104.402182,
+              28.202928
+            ],
+            [
+              104.442834,
+              28.211366
+            ],
+            [
+              104.462544,
+              28.241422
+            ],
+            [
+              104.44961,
+              28.269889
+            ],
+            [
+              104.420045,
+              28.269889
+            ],
+            [
+              104.392943,
+              28.291497
+            ],
+            [
+              104.384936,
+              28.329959
+            ],
+            [
+              104.343052,
+              28.334173
+            ],
+            [
+              104.314103,
+              28.306778
+            ],
+            [
+              104.282074,
+              28.343128
+            ],
+            [
+              104.254357,
+              28.403683
+            ],
+            [
+              104.267908,
+              28.499448
+            ],
+            [
+              104.260516,
+              28.536257
+            ],
+            [
+              104.323342,
+              28.540989
+            ],
+            [
+              104.355987,
+              28.555183
+            ],
+            [
+              104.375697,
+              28.5946
+            ],
+            [
+              104.417581,
+              28.598279
+            ],
+            [
+              104.425588,
+              28.626649
+            ],
+            [
+              104.372617,
+              28.649235
+            ],
+            [
+              104.314719,
+              28.615617
+            ],
+            [
+              104.277147,
+              28.631902
+            ],
+            [
+              104.252509,
+              28.660788
+            ],
+            [
+              104.230951,
+              28.635579
+            ],
+            [
+              104.170589,
+              28.642932
+            ],
+            [
+              104.117618,
+              28.634003
+            ],
+            [
+              104.09606,
+              28.603533
+            ],
+            [
+              104.05972,
+              28.6277
+            ],
+            [
+              103.953779,
+              28.600906
+            ],
+            [
+              103.910047,
+              28.631377
+            ],
+            [
+              103.887873,
+              28.61982
+            ],
+            [
+              103.850917,
+              28.66709
+            ],
+            [
+              103.833054,
+              28.605109
+            ],
+            [
+              103.838598,
+              28.587244
+            ],
+            [
+              103.802873,
+              28.563068
+            ],
+            [
+              103.781931,
+              28.525216
+            ],
+            [
+              103.829975,
+              28.459995
+            ],
+            [
+              103.828743,
+              28.44
+            ],
+            [
+              103.860156,
+              28.383677
+            ],
+            [
+              103.85338,
+              28.356822
+            ],
+            [
+              103.877402,
+              28.316262
+            ],
+            [
+              103.828743,
+              28.285173
+            ],
+            [
+              103.770845,
+              28.233514
+            ],
+            [
+              103.740048,
+              28.23615
+            ],
+            [
+              103.701859,
+              28.198709
+            ],
+            [
+              103.692004,
+              28.232459
+            ],
+            [
+              103.643961,
+              28.260401
+            ],
+            [
+              103.573128,
+              28.230877
+            ],
+            [
+              103.533092,
+              28.168641
+            ],
+            [
+              103.470266,
+              28.122204
+            ],
+            [
+              103.430846,
+              28.044587
+            ],
+            [
+              103.459179,
+              28.021345
+            ],
+            [
+              103.486281,
+              28.033495
+            ],
+            [
+              103.515846,
+              27.965329
+            ],
+            [
+              103.55465,
+              27.978543
+            ],
+            [
+              103.502295,
+              27.910343
+            ],
+            [
+              103.509686,
+              27.843687
+            ],
+            [
+              103.487512,
+              27.794992
+            ],
+            [
+              103.461027,
+              27.779638
+            ],
+            [
+              103.393274,
+              27.709194
+            ],
+            [
+              103.369868,
+              27.708664
+            ],
+            [
+              103.349542,
+              27.678459
+            ],
+            [
+              103.29226,
+              27.632872
+            ],
+            [
+              103.2861,
+              27.561802
+            ],
+            [
+              103.232514,
+              27.56976
+            ],
+            [
+              103.19063,
+              27.523596
+            ],
+            [
+              103.144434,
+              27.450331
+            ],
+            [
+              103.141355,
+              27.420586
+            ],
+            [
+              103.080992,
+              27.396679
+            ],
+            [
+              103.055739,
+              27.40943
+            ],
+            [
+              102.989833,
+              27.367983
+            ],
+            [
+              102.941174,
+              27.405711
+            ],
+            [
+              102.899906,
+              27.317481
+            ],
+            [
+              102.883892,
+              27.299401
+            ],
+            [
+              102.883276,
+              27.258444
+            ],
+            [
+              102.904218,
+              27.227584
+            ],
+            [
+              102.913457,
+              27.133886
+            ],
+            [
+              102.870957,
+              27.026782
+            ],
+            [
+              102.894979,
+              27.001724
+            ],
+            [
+              102.896211,
+              26.91264
+            ],
+            [
+              102.949181,
+              26.843244
+            ],
+            [
+              102.966428,
+              26.837904
+            ],
+            [
+              102.991681,
+              26.775409
+            ],
+            [
+              102.983674,
+              26.76686
+            ],
+            [
+              103.008312,
+              26.710741
+            ],
+            [
+              103.005232,
+              26.679195
+            ],
+            [
+              103.026174,
+              26.664221
+            ],
+            [
+              103.035413,
+              26.556673
+            ],
+            [
+              103.052659,
+              26.555602
+            ],
+            [
+              103.052659,
+              26.514374
+            ],
+            [
+              103.030485,
+              26.485989
+            ],
+            [
+              102.989833,
+              26.482775
+            ],
+            [
+              102.988602,
+              26.413117
+            ],
+            [
+              102.998457,
+              26.371839
+            ],
+            [
+              102.975667,
+              26.340736
+            ],
+            [
+              102.893131,
+              26.338591
+            ],
+            [
+              102.878964,
+              26.364332
+            ],
+            [
+              102.833385,
+              26.306406
+            ],
+            [
+              102.785342,
+              26.298895
+            ],
+            [
+              102.739762,
+              26.268846
+            ],
+            [
+              102.709581,
+              26.210336
+            ],
+            [
+              102.659074,
+              26.221611
+            ],
+            [
+              102.60056,
+              26.250598
+            ],
+            [
+              102.638748,
+              26.307479
+            ],
+            [
+              102.629509,
+              26.336982
+            ],
+            [
+              102.570995,
+              26.362723
+            ],
+            [
+              102.542046,
+              26.338591
+            ],
+            [
+              102.440416,
+              26.300505
+            ],
+            [
+              102.392372,
+              26.296749
+            ],
+            [
+              102.349257,
+              26.244694
+            ],
+            [
+              102.245163,
+              26.212483
+            ],
+            [
+              102.242699,
+              26.190468
+            ],
+            [
+              102.174946,
+              26.146961
+            ],
+            [
+              102.152156,
+              26.10935
+            ],
+            [
+              102.107808,
+              26.068501
+            ],
+            [
+              102.080091,
+              26.065275
+            ],
+            [
+              102.020961,
+              26.096451
+            ],
+            [
+              101.954439,
+              26.084627
+            ],
+            [
+              101.929186,
+              26.105588
+            ],
+            [
+              101.899621,
+              26.099139
+            ],
+            [
+              101.857737,
+              26.049146
+            ],
+            [
+              101.835563,
+              26.04592
+            ],
+            [
+              101.839875,
+              26.082477
+            ],
+            [
+              101.796759,
+              26.114723
+            ],
+            [
+              101.807846,
+              26.156093
+            ],
+            [
+              101.773353,
+              26.168448
+            ],
+            [
+              101.737013,
+              26.219463
+            ],
+            [
+              101.690202,
+              26.241473
+            ],
+            [
+              101.630455,
+              26.224832
+            ],
+            [
+              101.586108,
+              26.279579
+            ],
+            [
+              101.597195,
+              26.303187
+            ],
+            [
+              101.64031,
+              26.318745
+            ],
+            [
+              101.660636,
+              26.346635
+            ],
+            [
+              101.635383,
+              26.357361
+            ],
+            [
+              101.637847,
+              26.388995
+            ],
+            [
+              101.565782,
+              26.454381
+            ],
+            [
+              101.530057,
+              26.467239
+            ],
+            [
+              101.506652,
+              26.499915
+            ],
+            [
+              101.458608,
+              26.49563
+            ],
+            [
+              101.422884,
+              26.53151
+            ],
+            [
+              101.395783,
+              26.591998
+            ],
+            [
+              101.402558,
+              26.604841
+            ],
+            [
+              101.461688,
+              26.606447
+            ],
+            [
+              101.461072,
+              26.640687
+            ],
+            [
+              101.481398,
+              26.673313
+            ],
+            [
+              101.453065,
+              26.692563
+            ],
+            [
+              101.513427,
+              26.768463
+            ],
+            [
+              101.466,
+              26.786629
+            ],
+            [
+              101.445674,
+              26.77434
+            ],
+            [
+              101.458608,
+              26.731054
+            ],
+            [
+              101.435819,
+              26.740675
+            ],
+            [
+              101.389623,
+              26.723036
+            ],
+            [
+              101.387159,
+              26.753501
+            ],
+            [
+              101.358826,
+              26.771669
+            ],
+            [
+              101.399478,
+              26.841642
+            ],
+            [
+              101.365602,
+              26.883819
+            ],
+            [
+              101.311399,
+              26.903034
+            ],
+            [
+              101.267667,
+              26.903034
+            ],
+            [
+              101.264587,
+              26.955323
+            ],
+            [
+              101.227015,
+              26.959057
+            ],
+            [
+              101.228863,
+              26.981992
+            ],
+            [
+              101.136472,
+              27.023584
+            ],
+            [
+              101.157414,
+              27.094999
+            ],
+            [
+              101.145095,
+              27.103523
+            ],
+            [
+              101.170349,
+              27.175421
+            ],
+            [
+              101.167885,
+              27.198311
+            ],
+            [
+              101.167885,
+              27.198311
+            ],
+            [
+              101.119226,
+              27.208957
+            ],
+            [
+              101.071798,
+              27.194585
+            ],
+            [
+              101.042233,
+              27.22173
+            ],
+            [
+              101.026219,
+              27.270679
+            ],
+            [
+              101.021907,
+              27.332899
+            ],
+            [
+              100.95169,
+              27.426961
+            ],
+            [
+              100.936908,
+              27.469448
+            ],
+            [
+              100.901183,
+              27.453517
+            ],
+            [
+              100.91227,
+              27.521473
+            ],
+            [
+              100.854988,
+              27.623858
+            ],
+            [
+              100.827886,
+              27.615904
+            ],
+            [
+              100.848212,
+              27.672099
+            ],
+            [
+              100.782307,
+              27.691708
+            ],
+            [
+              100.775532,
+              27.743098
+            ],
+            [
+              100.757053,
+              27.770107
+            ],
+            [
+              100.707162,
+              27.800816
+            ],
+            [
+              100.719481,
+              27.858503
+            ],
+            [
+              100.681293,
+              27.923035
+            ],
+            [
+              100.634482,
+              27.915631
+            ],
+            [
+              100.609228,
+              27.859033
+            ],
+            [
+              100.54517,
+              27.809286
+            ],
+            [
+              100.511294,
+              27.827811
+            ],
+            [
+              100.504518,
+              27.852154
+            ],
+            [
+              100.442924,
+              27.86644
+            ],
+            [
+              100.412127,
+              27.816167
+            ],
+            [
+              100.350534,
+              27.755809
+            ],
+            [
+              100.327744,
+              27.72032
+            ],
+            [
+              100.311729,
+              27.724028
+            ],
+            [
+              100.304954,
+              27.788639
+            ],
+            [
+              100.28586,
+              27.80611
+            ],
+            [
+              100.30865,
+              27.830457
+            ],
+            [
+              100.30865,
+              27.861149
+            ],
+            [
+              100.210715,
+              27.87702
+            ],
+            [
+              100.170063,
+              27.907699
+            ],
+            [
+              100.196549,
+              27.936254
+            ],
+            [
+              100.120788,
+              28.018703
+            ],
+            [
+              100.088759,
+              28.029269
+            ],
+            [
+              100.05673,
+              28.097922
+            ],
+            [
+              100.021006,
+              28.147008
+            ],
+            [
+              100.033325,
+              28.184467
+            ],
+            [
+              100.062274,
+              28.193962
+            ],
+            [
+              100.091223,
+              28.181302
+            ],
+            [
+              100.102926,
+              28.201873
+            ],
+            [
+              100.153433,
+              28.208202
+            ],
+            [
+              100.188541,
+              28.252493
+            ],
+            [
+              100.147274,
+              28.288862
+            ],
+            [
+              100.176223,
+              28.325218
+            ],
+            [
+              100.136803,
+              28.349975
+            ],
+            [
+              100.057346,
+              28.368934
+            ],
+            [
+              100.073977,
+              28.426317
+            ],
+            [
+              99.990209,
+              28.47683
+            ],
+            [
+              99.985281,
+              28.529422
+            ],
+            [
+              99.91876,
+              28.599329
+            ],
+            [
+              99.875644,
+              28.611939
+            ],
+            [
+              99.873181,
+              28.631902
+            ],
+            [
+              99.834376,
+              28.628225
+            ],
+            [
+              99.834992,
+              28.660788
+            ],
+            [
+              99.79434,
+              28.699116
+            ],
+            [
+              99.755536,
+              28.701216
+            ],
+            [
+              99.722275,
+              28.757369
+            ],
+            [
+              99.717964,
+              28.846521
+            ],
+            [
+              99.676696,
+              28.810345
+            ],
+            [
+              99.625573,
+              28.81454
+            ],
+            [
+              99.609559,
+              28.784122
+            ],
+            [
+              99.614486,
+              28.740054
+            ],
+            [
+              99.553508,
+              28.710664
+            ],
+            [
+              99.53195,
+              28.677591
+            ],
+            [
+              99.540573,
+              28.623497
+            ],
+            [
+              99.504233,
+              28.619294
+            ],
+            [
+              99.466045,
+              28.579886
+            ],
+            [
+              99.463581,
+              28.549401
+            ],
+            [
+              99.403219,
+              28.546246
+            ],
+            [
+              99.396444,
+              28.491032
+            ],
+            [
+              99.426625,
+              28.454207
+            ],
+            [
+              99.404451,
+              28.44421
+            ],
+            [
+              99.437095,
+              28.398419
+            ],
+            [
+              99.392748,
+              28.318369
+            ],
+            [
+              99.412458,
+              28.295186
+            ],
+            [
+              99.374886,
+              28.18183
+            ],
+            [
+              99.306516,
+              28.227714
+            ],
+            [
+              99.28927,
+              28.286227
+            ],
+            [
+              99.237531,
+              28.317842
+            ],
+            [
+              99.229524,
+              28.350502
+            ],
+            [
+              99.200575,
+              28.365774
+            ],
+            [
+              99.16485,
+              28.425264
+            ],
+            [
+              99.187024,
+              28.44
+            ],
+            [
+              99.191952,
+              28.494714
+            ],
+            [
+              99.170394,
+              28.566221
+            ],
+            [
+              99.183944,
+              28.58882
+            ],
+            [
+              99.147604,
+              28.640831
+            ],
+            [
+              99.126662,
+              28.698066
+            ],
+            [
+              99.134053,
+              28.734806
+            ],
+            [
+              99.114343,
+              28.765763
+            ],
+            [
+              99.103872,
+              28.841803
+            ],
+            [
+              99.123582,
+              28.890021
+            ],
+            [
+              99.132206,
+              28.94869
+            ],
+            [
+              99.113727,
+              29.07273
+            ],
+            [
+              99.118039,
+              29.100971
+            ],
+            [
+              99.105104,
+              29.162656
+            ],
+            [
+              99.113727,
+              29.221171
+            ],
+            [
+              99.037351,
+              29.20759
+            ],
+            [
+              99.024416,
+              29.188783
+            ],
+            [
+              98.9813,
+              29.204978
+            ],
+            [
+              98.960974,
+              29.165792
+            ],
+            [
+              98.967134,
+              29.128159
+            ],
+            [
+              98.991771,
+              29.105677
+            ],
+            [
+              99.013329,
+              29.036632
+            ],
+            [
+              98.925866,
+              28.978536
+            ],
+            [
+              98.917859,
+              28.886877
+            ],
+            [
+              98.973909,
+              28.864867
+            ],
+            [
+              98.972677,
+              28.832367
+            ],
+            [
+              98.922786,
+              28.823978
+            ],
+            [
+              98.912931,
+              28.800906
+            ],
+            [
+              98.852569,
+              28.798283
+            ],
+            [
+              98.827932,
+              28.821356
+            ],
+            [
+              98.821772,
+              28.920931
+            ],
+            [
+              98.786048,
+              28.998952
+            ],
+            [
+              98.757714,
+              29.004186
+            ],
+            [
+              98.70228,
+              28.9644
+            ],
+            [
+              98.655469,
+              28.976966
+            ],
+            [
+              98.624056,
+              28.95864
+            ],
+            [
+              98.6567,
+              28.910454
+            ],
+            [
+              98.643766,
+              28.895261
+            ],
+            [
+              98.668403,
+              28.843376
+            ],
+            [
+              98.652389,
+              28.817162
+            ],
+            [
+              98.683802,
+              28.740054
+            ],
+            [
+              98.666555,
+              28.712239
+            ],
+            [
+              98.594491,
+              28.667615
+            ],
+            [
+              98.637606,
+              28.552029
+            ],
+            [
+              98.619128,
+              28.50944
+            ],
+            [
+              98.625903,
+              28.489455
+            ],
+            [
+              98.673947,
+              28.478934
+            ],
+            [
+              98.693041,
+              28.43158
+            ],
+            [
+              98.740468,
+              28.348395
+            ],
+            [
+              98.746628,
+              28.321003
+            ],
+            [
+              98.710287,
+              28.288862
+            ],
+            [
+              98.712135,
+              28.229296
+            ],
+            [
+              98.649925,
+              28.200291
+            ],
+            [
+              98.625903,
+              28.165475
+            ],
+            [
+              98.559382,
+              28.182885
+            ],
+            [
+              98.494092,
+              28.141203
+            ],
+            [
+              98.464527,
+              28.151229
+            ],
+            [
+              98.428803,
+              28.104785
+            ],
+            [
+              98.389383,
+              28.114814
+            ],
+            [
+              98.389999,
+              28.16442
+            ],
+            [
+              98.370289,
+              28.18394
+            ],
+            [
+              98.37768,
+              28.246167
+            ],
+            [
+              98.353042,
+              28.293078
+            ],
+            [
+              98.317934,
+              28.324691
+            ],
+            [
+              98.301303,
+              28.384204
+            ],
+            [
+              98.208913,
+              28.358401
+            ],
+            [
+              98.207681,
+              28.330486
+            ],
+            [
+              98.231702,
+              28.314681
+            ],
+            [
+              98.266811,
+              28.242477
+            ],
+            [
+              98.21692,
+              28.212949
+            ],
+            [
+              98.169492,
+              28.206093
+            ],
+            [
+              98.17442,
+              28.163365
+            ],
+            [
+              98.139311,
+              28.142259
+            ],
+            [
+              98.160253,
+              28.101089
+            ],
+            [
+              98.133152,
+              27.990698
+            ],
+            [
+              98.143007,
+              27.948942
+            ],
+            [
+              98.187355,
+              27.939426
+            ],
+            [
+              98.205217,
+              27.889716
+            ],
+            [
+              98.169492,
+              27.851096
+            ],
+            [
+              98.215688,
+              27.810874
+            ],
+            [
+              98.234166,
+              27.690648
+            ],
+            [
+              98.283441,
+              27.654608
+            ],
+            [
+              98.310542,
+              27.583552
+            ],
+            [
+              98.317318,
+              27.51935
+            ],
+            [
+              98.337644,
+              27.508734
+            ],
+            [
+              98.388767,
+              27.515104
+            ],
+            [
+              98.429419,
+              27.549068
+            ],
+            [
+              98.430035,
+              27.653547
+            ],
+            [
+              98.444201,
+              27.665209
+            ],
+            [
+              98.474998,
+              27.634462
+            ],
+            [
+              98.53536,
+              27.620676
+            ],
+            [
+              98.554454,
+              27.646126
+            ],
+            [
+              98.587099,
+              27.587265
+            ],
+            [
+              98.583404,
+              27.571351
+            ],
+            [
+              98.650541,
+              27.567637
+            ],
+            [
+              98.662244,
+              27.586734
+            ],
+            [
+              98.706591,
+              27.553313
+            ],
+            [
+              98.685034,
+              27.484315
+            ],
+            [
+              98.704744,
+              27.462014
+            ],
+            [
+              98.686881,
+              27.425367
+            ],
+            [
+              98.702896,
+              27.412618
+            ],
+            [
+              98.706591,
+              27.362136
+            ],
+            [
+              98.741084,
+              27.330241
+            ],
+            [
+              98.734925,
+              27.287168
+            ],
+            [
+              98.717062,
+              27.271211
+            ],
+            [
+              98.723222,
+              27.221198
+            ],
+            [
+              98.696121,
+              27.211086
+            ],
+            [
+              98.713983,
+              27.139744
+            ],
+            [
+              98.712751,
+              27.075817
+            ],
+            [
+              98.765722,
+              27.05077
+            ],
+            [
+              98.762642,
+              27.018252
+            ],
+            [
+              98.732461,
+              27.002257
+            ],
+            [
+              98.757098,
+              26.877947
+            ],
+            [
+              98.730613,
+              26.851253
+            ],
+            [
+              98.762026,
+              26.798916
+            ],
+            [
+              98.746012,
+              26.696841
+            ],
+            [
+              98.770033,
+              26.690424
+            ],
+            [
+              98.762642,
+              26.660478
+            ],
+            [
+              98.781736,
+              26.620893
+            ],
+            [
+              98.773113,
+              26.578083
+            ],
+            [
+              98.753403,
+              26.559349
+            ],
+            [
+              98.757098,
+              26.491881
+            ],
+            [
+              98.741084,
+              26.432947
+            ],
+            [
+              98.750323,
+              26.424372
+            ],
+            [
+              98.733693,
+              26.350926
+            ],
+            [
+              98.681338,
+              26.308016
+            ],
+            [
+              98.672715,
+              26.239863
+            ],
+            [
+              98.713367,
+              26.231274
+            ],
+            [
+              98.735541,
+              26.185097
+            ],
+            [
+              98.712751,
+              26.156093
+            ],
+            [
+              98.720142,
+              26.127082
+            ],
+            [
+              98.661012,
+              26.087852
+            ],
+            [
+              98.656084,
+              26.139977
+            ],
+            [
+              98.632679,
+              26.145887
+            ],
+            [
+              98.575396,
+              26.118485
+            ],
+            [
+              98.602498,
+              26.054523
+            ],
+            [
+              98.614201,
+              25.968468
+            ],
+            [
+              98.637606,
+              25.971696
+            ],
+            [
+              98.686881,
+              25.925955
+            ],
+            [
+              98.705976,
+              25.855426
+            ],
+            [
+              98.677642,
+              25.816105
+            ],
+            [
+              98.640686,
+              25.798864
+            ],
+            [
+              98.553839,
+              25.845731
+            ],
+            [
+              98.529201,
+              25.840884
+            ],
+            [
+              98.476846,
+              25.77731
+            ],
+            [
+              98.461448,
+              25.735267
+            ],
+            [
+              98.457752,
+              25.682963
+            ],
+            [
+              98.409709,
+              25.664084
+            ],
+            [
+              98.402317,
+              25.593939
+            ],
+            [
+              98.326557,
+              25.566409
+            ],
+            [
+              98.314854,
+              25.543193
+            ],
+            [
+              98.247717,
+              25.607971
+            ],
+            [
+              98.170724,
+              25.620383
+            ],
+            [
+              98.189818,
+              25.569108
+            ],
+            [
+              98.163949,
+              25.524292
+            ],
+            [
+              98.131304,
+              25.51025
+            ],
+            [
+              98.15779,
+              25.457307
+            ],
+            [
+              98.137464,
+              25.381633
+            ],
+            [
+              98.101123,
+              25.388662
+            ],
+            [
+              98.099891,
+              25.354055
+            ],
+            [
+              98.06971,
+              25.311864
+            ],
+            [
+              98.006884,
+              25.298338
+            ],
+            [
+              98.0075,
+              25.279399
+            ],
+            [
+              97.940363,
+              25.214985
+            ],
+            [
+              97.904023,
+              25.216609
+            ],
+            [
+              97.875689,
+              25.25721
+            ],
+            [
+              97.839349,
+              25.27074
+            ],
+            [
+              97.796233,
+              25.155954
+            ],
+            [
+              97.743262,
+              25.078466
+            ],
+            [
+              97.719857,
+              25.080634
+            ],
+            [
+              97.727864,
+              25.04377
+            ],
+            [
+              97.716777,
+              24.978147
+            ],
+            [
+              97.729712,
+              24.908689
+            ],
+            [
+              97.785762,
+              24.876117
+            ],
+            [
+              97.797465,
+              24.845709
+            ],
+            [
+              97.765436,
+              24.823984
+            ],
+            [
+              97.680437,
+              24.827243
+            ],
+            [
+              97.652103,
+              24.790846
+            ],
+            [
+              97.569567,
+              24.765852
+            ],
+            [
+              97.547394,
+              24.739221
+            ],
+            [
+              97.569567,
+              24.708236
+            ],
+            [
+              97.570799,
+              24.602719
+            ],
+            [
+              97.554785,
+              24.490577
+            ],
+            [
+              97.530147,
+              24.443187
+            ],
+            [
+              97.588662,
+              24.435559
+            ],
+            [
+              97.669966,
+              24.452993
+            ],
+            [
+              97.679821,
+              24.401228
+            ],
+            [
+              97.716161,
+              24.358711
+            ],
+            [
+              97.662574,
+              24.339083
+            ],
+            [
+              97.665038,
+              24.296544
+            ],
+            [
+              97.721089,
+              24.295999
+            ],
+            [
+              97.767284,
+              24.258357
+            ],
+            [
+              97.729712,
+              24.227252
+            ],
+            [
+              97.72848,
+              24.183585
+            ],
+            [
+              97.754349,
+              24.163929
+            ],
+            [
+              97.748806,
+              24.160653
+            ],
+            [
+              97.743262,
+              24.159561
+            ],
+            [
+              97.730944,
+              24.113685
+            ],
+            [
+              97.700763,
+              24.093473
+            ],
+            [
+              97.697067,
+              24.092927
+            ],
+            [
+              97.637321,
+              24.04812
+            ],
+            [
+              97.628698,
+              24.004938
+            ],
+            [
+              97.572647,
+              23.983068
+            ],
+            [
+              97.529531,
+              23.943146
+            ],
+            [
+              97.5283,
+              23.926736
+            ],
+            [
+              97.618227,
+              23.888438
+            ],
+            [
+              97.640401,
+              23.866001
+            ],
+            [
+              97.647176,
+              23.840823
+            ],
+            [
+              97.684132,
+              23.876946
+            ],
+            [
+              97.718009,
+              23.867643
+            ],
+            [
+              97.72848,
+              23.895551
+            ],
+            [
+              97.763588,
+              23.907041
+            ],
+            [
+              97.795617,
+              23.951897
+            ],
+            [
+              97.8104,
+              23.943146
+            ],
+            [
+              97.863371,
+              23.978693
+            ],
+            [
+              97.896015,
+              23.974319
+            ],
+            [
+              97.902175,
+              24.014231
+            ],
+            [
+              97.984095,
+              24.031177
+            ],
+            [
+              97.995182,
+              24.04648
+            ],
+            [
+              98.091268,
+              24.085824
+            ],
+            [
+              98.096196,
+              24.08637
+            ],
+            [
+              98.123297,
+              24.092927
+            ],
+            [
+              98.125761,
+              24.092927
+            ],
+            [
+              98.132536,
+              24.09238
+            ],
+            [
+              98.19721,
+              24.09839
+            ],
+            [
+              98.219999,
+              24.113685
+            ],
+            [
+              98.343187,
+              24.098936
+            ],
+            [
+              98.37768,
+              24.114232
+            ],
+            [
+              98.48239,
+              24.122425
+            ],
+            [
+              98.487933,
+              24.123517
+            ],
+            [
+              98.547063,
+              24.128433
+            ],
+            [
+              98.593875,
+              24.08036
+            ],
+            [
+              98.646229,
+              24.106038
+            ],
+            [
+              98.681954,
+              24.100029
+            ],
+            [
+              98.71891,
+              24.127887
+            ],
+            [
+              98.818692,
+              24.133348
+            ],
+            [
+              98.841482,
+              24.126794
+            ],
+            [
+              98.876591,
+              24.15137
+            ],
+            [
+              98.895069,
+              24.098936
+            ],
+            [
+              98.807606,
+              24.025164
+            ],
+            [
+              98.773729,
+              24.022431
+            ],
+            [
+              98.727533,
+              23.970491
+            ],
+            [
+              98.701048,
+              23.981427
+            ],
+            [
+              98.673331,
+              23.960647
+            ],
+            [
+              98.701048,
+              23.946427
+            ],
+            [
+              98.68565,
+              23.90157
+            ],
+            [
+              98.701664,
+              23.834254
+            ],
+            [
+              98.669019,
+              23.800857
+            ],
+            [
+              98.696121,
+              23.784429
+            ],
+            [
+              98.784816,
+              23.781691
+            ],
+            [
+              98.824236,
+              23.727462
+            ],
+            [
+              98.811917,
+              23.703354
+            ],
+            [
+              98.835939,
+              23.683625
+            ],
+            [
+              98.847026,
+              23.632097
+            ],
+            [
+              98.882134,
+              23.620035
+            ],
+            [
+              98.882134,
+              23.595358
+            ],
+            [
+              98.844562,
+              23.578904
+            ],
+            [
+              98.80391,
+              23.540504
+            ],
+            [
+              98.826084,
+              23.470257
+            ],
+            [
+              98.874743,
+              23.483431
+            ],
+            [
+              98.912315,
+              23.426333
+            ],
+            [
+              98.920938,
+              23.360971
+            ],
+            [
+              98.872895,
+              23.329651
+            ],
+            [
+              98.906772,
+              23.331849
+            ],
+            [
+              98.936953,
+              23.309866
+            ],
+            [
+              98.928946,
+              23.26589
+            ],
+            [
+              98.889525,
+              23.209249
+            ],
+            [
+              98.906772,
+              23.185595
+            ],
+            [
+              99.002242,
+              23.160287
+            ],
+            [
+              99.057677,
+              23.164689
+            ],
+            [
+              99.048438,
+              23.11461
+            ],
+            [
+              99.106336,
+              23.086536
+            ],
+            [
+              99.187024,
+              23.100299
+            ],
+            [
+              99.255393,
+              23.077727
+            ],
+            [
+              99.281879,
+              23.101399
+            ],
+            [
+              99.3484,
+              23.12892
+            ],
+            [
+              99.380429,
+              23.099748
+            ],
+            [
+              99.440791,
+              23.079379
+            ],
+            [
+              99.477747,
+              23.083233
+            ],
+            [
+              99.528255,
+              23.065614
+            ],
+            [
+              99.517168,
+              23.006685
+            ],
+            [
+              99.533798,
+              22.961507
+            ],
+            [
+              99.563363,
+              22.925684
+            ],
+            [
+              99.531334,
+              22.897019
+            ],
+            [
+              99.446951,
+              22.934503
+            ],
+            [
+              99.43648,
+              22.913557
+            ],
+            [
+              99.462965,
+              22.844635
+            ],
+            [
+              99.401371,
+              22.826434
+            ],
+            [
+              99.385357,
+              22.761882
+            ],
+            [
+              99.326842,
+              22.751396
+            ],
+            [
+              99.31514,
+              22.737598
+            ],
+            [
+              99.339777,
+              22.708894
+            ],
+            [
+              99.385973,
+              22.57136
+            ],
+            [
+              99.359487,
+              22.535435
+            ],
+            [
+              99.382277,
+              22.493418
+            ],
+            [
+              99.297277,
+              22.41156
+            ],
+            [
+              99.251698,
+              22.393301
+            ],
+            [
+              99.278183,
+              22.34626
+            ],
+            [
+              99.233836,
+              22.296434
+            ],
+            [
+              99.235683,
+              22.250468
+            ],
+            [
+              99.207966,
+              22.232188
+            ],
+            [
+              99.175321,
+              22.185647
+            ],
+            [
+              99.188256,
+              22.162924
+            ],
+            [
+              99.156227,
+              22.159599
+            ],
+            [
+              99.219669,
+              22.110816
+            ],
+            [
+              99.294814,
+              22.109152
+            ],
+            [
+              99.35456,
+              22.095845
+            ],
+            [
+              99.400139,
+              22.100281
+            ],
+            [
+              99.486987,
+              22.128557
+            ],
+            [
+              99.516552,
+              22.099726
+            ],
+            [
+              99.562747,
+              22.113034
+            ],
+            [
+              99.578762,
+              22.098617
+            ],
+            [
+              99.581841,
+              22.103053
+            ],
+            [
+              99.648979,
+              22.100835
+            ],
+            [
+              99.696406,
+              22.067562
+            ],
+            [
+              99.762927,
+              22.068117
+            ],
+            [
+              99.870101,
+              22.029288
+            ],
+            [
+              99.871333,
+              22.067007
+            ],
+            [
+              99.972347,
+              22.053141
+            ],
+            [
+              99.965571,
+              22.014309
+            ],
+            [
+              100.000064,
+              21.973245
+            ],
+            [
+              99.982202,
+              21.919401
+            ],
+            [
+              99.960028,
+              21.907186
+            ],
+            [
+              99.944014,
+              21.821097
+            ],
+            [
+              99.991441,
+              21.703821
+            ],
+            [
+              100.049339,
+              21.669899
+            ],
+            [
+              100.094303,
+              21.702709
+            ],
+            [
+              100.131875,
+              21.699929
+            ],
+            [
+              100.169447,
+              21.663225
+            ],
+            [
+              100.107853,
+              21.585337
+            ],
+            [
+              100.123252,
+              21.565302
+            ],
+            [
+              100.131259,
+              21.504066
+            ],
+            [
+              100.168831,
+              21.482906
+            ],
+            [
+              100.184846,
+              21.516315
+            ],
+            [
+              100.206404,
+              21.509634
+            ],
+            [
+              100.235353,
+              21.466756
+            ],
+            [
+              100.298795,
+              21.477894
+            ],
+            [
+              100.349302,
+              21.528564
+            ],
+            [
+              100.437381,
+              21.533017
+            ],
+            [
+              100.48296,
+              21.458958
+            ],
+            [
+              100.526692,
+              21.471211
+            ],
+            [
+              100.579047,
+              21.451717
+            ],
+            [
+              100.691764,
+              21.510748
+            ],
+            [
+              100.730568,
+              21.518542
+            ],
+            [
+              100.753358,
+              21.555283
+            ],
+            [
+              100.789082,
+              21.570867
+            ],
+            [
+              100.804481,
+              21.609821
+            ],
+            [
+              100.847597,
+              21.634856
+            ],
+            [
+              100.870386,
+              21.67268
+            ],
+            [
+              100.896872,
+              21.68269
+            ],
+            [
+              100.899335,
+              21.684915
+            ],
+            [
+              100.936292,
+              21.694368
+            ],
+            [
+              100.937524,
+              21.693812
+            ],
+            [
+              101.015132,
+              21.707157
+            ],
+            [
+              101.089661,
+              21.773865
+            ],
+            [
+              101.123537,
+              21.771642
+            ],
+            [
+              101.111835,
+              21.746074
+            ],
+            [
+              101.116762,
+              21.691032
+            ],
+            [
+              101.153102,
+              21.669343
+            ],
+            [
+              101.169117,
+              21.590345
+            ],
+            [
+              101.146943,
+              21.560293
+            ],
+            [
+              101.209153,
+              21.55751
+            ],
+            [
+              101.210385,
+              21.509077
+            ],
+            [
+              101.225167,
+              21.499055
+            ],
+            [
+              101.193138,
+              21.473996
+            ],
+            [
+              101.194986,
+              21.424979
+            ],
+            [
+              101.142631,
+              21.409379
+            ],
+            [
+              101.183899,
+              21.334699
+            ],
+            [
+              101.244877,
+              21.302364
+            ],
+            [
+              101.246725,
+              21.275598
+            ],
+            [
+              101.222088,
+              21.234324
+            ],
+            [
+              101.290457,
+              21.17853
+            ],
+            [
+              101.387775,
+              21.225956
+            ],
+            [
+              101.439514,
+              21.227072
+            ],
+            [
+              101.532521,
+              21.252174
+            ],
+            [
+              101.601506,
+              21.233208
+            ],
+            [
+              101.588572,
+              21.191365
+            ],
+            [
+              101.605818,
+              21.172392
+            ],
+            [
+              101.672339,
+              21.194713
+            ],
+            [
+              101.703136,
+              21.14616
+            ],
+            [
+              101.76473,
+              21.147835
+            ],
+            [
+              101.794911,
+              21.208104
+            ],
+            [
+              101.834331,
+              21.204756
+            ],
+            [
+              101.833715,
+              21.252731
+            ],
+            [
+              101.791832,
+              21.285636
+            ],
+            [
+              101.745636,
+              21.297345
+            ],
+            [
+              101.730238,
+              21.336929
+            ],
+            [
+              101.749948,
+              21.409379
+            ],
+            [
+              101.741324,
+              21.482906
+            ],
+            [
+              101.772737,
+              21.512975
+            ],
+            [
+              101.755491,
+              21.538027
+            ],
+            [
+              101.754875,
+              21.58478
+            ],
+            [
+              101.804766,
+              21.577546
+            ],
+            [
+              101.828788,
+              21.617054
+            ],
+            [
+              101.807846,
+              21.644313
+            ],
+            [
+              101.780129,
+              21.640975
+            ],
+            [
+              101.76781,
+              21.716054
+            ],
+            [
+              101.747484,
+              21.729953
+            ],
+            [
+              101.771506,
+              21.833319
+            ],
+            [
+              101.740093,
+              21.845541
+            ],
+            [
+              101.735165,
+              21.875534
+            ],
+            [
+              101.700057,
+              21.897191
+            ],
+            [
+              101.701288,
+              21.938832
+            ],
+            [
+              101.666796,
+              21.934391
+            ],
+            [
+              101.606434,
+              21.967695
+            ],
+            [
+              101.626144,
+              22.005986
+            ],
+            [
+              101.573789,
+              22.115251
+            ],
+            [
+              101.602738,
+              22.131883
+            ],
+            [
+              101.596579,
+              22.161262
+            ],
+            [
+              101.547304,
+              22.238282
+            ],
+            [
+              101.56455,
+              22.269299
+            ],
+            [
+              101.625528,
+              22.28259
+            ],
+            [
+              101.671723,
+              22.372826
+            ],
+            [
+              101.648318,
+              22.400494
+            ],
+            [
+              101.672339,
+              22.47517
+            ],
+            [
+              101.715455,
+              22.477935
+            ],
+            [
+              101.774585,
+              22.506135
+            ],
+            [
+              101.824476,
+              22.45692
+            ],
+            [
+              101.823244,
+              22.42705
+            ],
+            [
+              101.862665,
+              22.389427
+            ],
+            [
+              101.901469,
+              22.384447
+            ],
+            [
+              101.907628,
+              22.437007
+            ],
+            [
+              101.978461,
+              22.427603
+            ],
+            [
+              102.046214,
+              22.458026
+            ],
+            [
+              102.131214,
+              22.430922
+            ],
+            [
+              102.145381,
+              22.397727
+            ],
+            [
+              102.179257,
+              22.430369
+            ],
+            [
+              102.270416,
+              22.419858
+            ],
+            [
+              102.25625,
+              22.457473
+            ],
+            [
+              102.322771,
+              22.554227
+            ],
+            [
+              102.356648,
+              22.563623
+            ],
+            [
+              102.404691,
+              22.629925
+            ],
+            [
+              102.384365,
+              22.679631
+            ],
+            [
+              102.43672,
+              22.699508
+            ],
+            [
+              102.45951,
+              22.762986
+            ],
+            [
+              102.510633,
+              22.774574
+            ],
+            [
+              102.551285,
+              22.743669
+            ],
+            [
+              102.569763,
+              22.701164
+            ],
+            [
+              102.607335,
+              22.730975
+            ],
+            [
+              102.657226,
+              22.687913
+            ],
+            [
+              102.688639,
+              22.70006
+            ],
+            [
+              102.80074,
+              22.620534
+            ],
+            [
+              102.82353,
+              22.623296
+            ],
+            [
+              102.880196,
+              22.586832
+            ],
+            [
+              102.892515,
+              22.533223
+            ],
+            [
+              102.930703,
+              22.482359
+            ],
+            [
+              102.986754,
+              22.477935
+            ],
+            [
+              103.030485,
+              22.441432
+            ],
+            [
+              103.081608,
+              22.454154
+            ],
+            [
+              103.071753,
+              22.488441
+            ],
+            [
+              103.183238,
+              22.558649
+            ],
+            [
+              103.161065,
+              22.590147
+            ],
+            [
+              103.195557,
+              22.648153
+            ],
+            [
+              103.220195,
+              22.643734
+            ],
+            [
+              103.283021,
+              22.678526
+            ],
+            [
+              103.288564,
+              22.732078
+            ],
+            [
+              103.321209,
+              22.777885
+            ],
+            [
+              103.323057,
+              22.807678
+            ],
+            [
+              103.375411,
+              22.794989
+            ],
+            [
+              103.441317,
+              22.753052
+            ],
+            [
+              103.436389,
+              22.6973
+            ],
+            [
+              103.457947,
+              22.658646
+            ],
+            [
+              103.50907,
+              22.601198
+            ],
+            [
+              103.529396,
+              22.59291
+            ],
+            [
+              103.580519,
+              22.66693
+            ],
+            [
+              103.567585,
+              22.701164
+            ],
+            [
+              103.642113,
+              22.794989
+            ],
+            [
+              103.740048,
+              22.709446
+            ],
+            [
+              103.743127,
+              22.697852
+            ],
+            [
+              103.766533,
+              22.688465
+            ],
+            [
+              103.825047,
+              22.615562
+            ],
+            [
+              103.863851,
+              22.584069
+            ],
+            [
+              103.875554,
+              22.565833
+            ],
+            [
+              103.894032,
+              22.564728
+            ],
+            [
+              103.964865,
+              22.502265
+            ],
+            [
+              104.009213,
+              22.517745
+            ],
+            [
+              104.009213,
+              22.575228
+            ],
+            [
+              104.022148,
+              22.593463
+            ],
+            [
+              104.04309,
+              22.67687
+            ],
+            [
+              104.045553,
+              22.728215
+            ],
+            [
+              104.089901,
+              22.768504
+            ],
+            [
+              104.117618,
+              22.808781
+            ],
+            [
+              104.224176,
+              22.826434
+            ],
+            [
+              104.261748,
+              22.841877
+            ],
+            [
+              104.274067,
+              22.828088
+            ],
+            [
+              104.256821,
+              22.77347
+            ],
+            [
+              104.272835,
+              22.73815
+            ],
+            [
+              104.323342,
+              22.728767
+            ],
+            [
+              104.375697,
+              22.690122
+            ],
+            [
+              104.422508,
+              22.734838
+            ],
+            [
+              104.498885,
+              22.774574
+            ],
+            [
+              104.527834,
+              22.814298
+            ],
+            [
+              104.596203,
+              22.846289
+            ],
+            [
+              104.674428,
+              22.817056
+            ],
+            [
+              104.737869,
+              22.825882
+            ],
+            [
+              104.732942,
+              22.852356
+            ],
+            [
+              104.760659,
+              22.862282
+            ],
+            [
+              104.772362,
+              22.893711
+            ],
+            [
+              104.846275,
+              22.926235
+            ],
+            [
+              104.860441,
+              22.970874
+            ],
+            [
+              104.821021,
+              23.032022
+            ],
+            [
+              104.804391,
+              23.110207
+            ],
+            [
+              104.874608,
+              23.123417
+            ],
+            [
+              104.882615,
+              23.163589
+            ],
+            [
+              104.912796,
+              23.175693
+            ],
+            [
+              104.949136,
+              23.152033
+            ],
+            [
+              104.958991,
+              23.188896
+            ],
+            [
+              105.093266,
+              23.260942
+            ],
+            [
+              105.122215,
+              23.247745
+            ],
+            [
+              105.181962,
+              23.279084
+            ],
+            [
+              105.238012,
+              23.26424
+            ],
+            [
+              105.260186,
+              23.31811
+            ],
+            [
+              105.325475,
+              23.390086
+            ],
+            [
+              105.353809,
+              23.362069
+            ],
+            [
+              105.372903,
+              23.317561
+            ],
+            [
+              105.416018,
+              23.283482
+            ],
+            [
+              105.445584,
+              23.292827
+            ],
+            [
+              105.50225,
+              23.202648
+            ],
+            [
+              105.542902,
+              23.184495
+            ],
+            [
+              105.526272,
+              23.234548
+            ],
+            [
+              105.560148,
+              23.257093
+            ],
+            [
+              105.593409,
+              23.312614
+            ],
+            [
+              105.649459,
+              23.346136
+            ],
+            [
+              105.699966,
+              23.327453
+            ],
+            [
+              105.694423,
+              23.363168
+            ],
+            [
+              105.637757,
+              23.404366
+            ],
+            [
+              105.699966,
+              23.40162
+            ],
+            [
+              105.758481,
+              23.459826
+            ],
+            [
+              105.805908,
+              23.467512
+            ],
+            [
+              105.815763,
+              23.507031
+            ],
+            [
+              105.852103,
+              23.526786
+            ],
+            [
+              105.89214,
+              23.52514
+            ],
+            [
+              105.913081,
+              23.499348
+            ],
+            [
+              105.935871,
+              23.508678
+            ],
+            [
+              105.986378,
+              23.489469
+            ],
+            [
+              105.999929,
+              23.447748
+            ],
+            [
+              106.039965,
+              23.484529
+            ],
+            [
+              106.071994,
+              23.495506
+            ],
+            [
+              106.08616,
+              23.524043
+            ],
+            [
+              106.141595,
+              23.569579
+            ],
+            [
+              106.120653,
+              23.605229
+            ],
+            [
+              106.149602,
+              23.665538
+            ],
+            [
+              106.157609,
+              23.724175
+            ],
+            [
+              106.136667,
+              23.795381
+            ],
+            [
+              106.192102,
+              23.824947
+            ],
+            [
+              106.173008,
+              23.861622
+            ],
+            [
+              106.192718,
+              23.879135
+            ],
+            [
+              106.157609,
+              23.891174
+            ],
+            [
+              106.128044,
+              23.956819
+            ],
+            [
+              106.091088,
+              23.998924
+            ],
+            [
+              106.096631,
+              24.018058
+            ],
+            [
+              106.053516,
+              24.051399
+            ],
+            [
+              106.04982,
+              24.089649
+            ],
+            [
+              106.011632,
+              24.099482
+            ],
+            [
+              105.998081,
+              24.120786
+            ],
+            [
+              105.963589,
+              24.110954
+            ],
+            [
+              105.919241,
+              24.122425
+            ],
+            [
+              105.901995,
+              24.099482
+            ],
+            [
+              105.908154,
+              24.069432
+            ],
+            [
+              105.89214,
+              24.040468
+            ],
+            [
+              105.859495,
+              24.056864
+            ],
+            [
+              105.841633,
+              24.03063
+            ],
+            [
+              105.796669,
+              24.023524
+            ],
+            [
+              105.802212,
+              24.051945
+            ],
+            [
+              105.765256,
+              24.073804
+            ],
+            [
+              105.739387,
+              24.059596
+            ],
+            [
+              105.704278,
+              24.0667
+            ],
+            [
+              105.649459,
+              24.032816
+            ],
+            [
+              105.628518,
+              24.126794
+            ],
+            [
+              105.594641,
+              24.137718
+            ],
+            [
+              105.533663,
+              24.130071
+            ],
+            [
+              105.493011,
+              24.016965
+            ],
+            [
+              105.406163,
+              24.043748
+            ],
+            [
+              105.395692,
+              24.065607
+            ],
+            [
+              105.334099,
+              24.094566
+            ],
+            [
+              105.320548,
+              24.116416
+            ],
+            [
+              105.273121,
+              24.092927
+            ],
+            [
+              105.292831,
+              24.074896
+            ],
+            [
+              105.260186,
+              24.061236
+            ],
+            [
+              105.20044,
+              24.105491
+            ],
+            [
+              105.182577,
+              24.167205
+            ],
+            [
+              105.229389,
+              24.165567
+            ],
+            [
+              105.24294,
+              24.208695
+            ],
+            [
+              105.215222,
+              24.214699
+            ],
+            [
+              105.164715,
+              24.288362
+            ],
+            [
+              105.196744,
+              24.326541
+            ],
+            [
+              105.188121,
+              24.347261
+            ],
+            [
+              105.138846,
+              24.376701
+            ],
+            [
+              105.111744,
+              24.37234
+            ],
+            [
+              105.106817,
+              24.414853
+            ],
+            [
+              105.042759,
+              24.442097
+            ],
+            [
+              104.979933,
+              24.412673
+            ],
+            [
+              104.930042,
+              24.411038
+            ],
+            [
+              104.914028,
+              24.426296
+            ],
+            [
+              104.83642,
+              24.446456
+            ],
+            [
+              104.784681,
+              24.443732
+            ],
+            [
+              104.765587,
+              24.45953
+            ],
+            [
+              104.74834,
+              24.435559
+            ],
+            [
+              104.715695,
+              24.441552
+            ],
+            [
+              104.703377,
+              24.419757
+            ],
+            [
+              104.721239,
+              24.340173
+            ],
+            [
+              104.70892,
+              24.321087
+            ],
+            [
+              104.641783,
+              24.367979
+            ],
+            [
+              104.610986,
+              24.377246
+            ],
+            [
+              104.63008,
+              24.397958
+            ],
+            [
+              104.616529,
+              24.421937
+            ],
+            [
+              104.575877,
+              24.424661
+            ],
+            [
+              104.550008,
+              24.518894
+            ],
+            [
+              104.520443,
+              24.535228
+            ],
+            [
+              104.489646,
+              24.653313
+            ],
+            [
+              104.529682,
+              24.731611
+            ],
+            [
+              104.542616,
+              24.75607
+            ],
+            [
+              104.539537,
+              24.813663
+            ],
+            [
+              104.586964,
+              24.872859
+            ],
+            [
+              104.635623,
+              24.903803
+            ],
+            [
+              104.663957,
+              24.964584
+            ],
+            [
+              104.713232,
+              24.996048
+            ],
+            [
+              104.684898,
+              25.054072
+            ],
+            [
+              104.619609,
+              25.060577
+            ],
+            [
+              104.685514,
+              25.078466
+            ],
+            [
+              104.695369,
+              25.122364
+            ],
+            [
+              104.732326,
+              25.167871
+            ],
+            [
+              104.724319,
+              25.195491
+            ],
+            [
+              104.753884,
+              25.214443
+            ],
+            [
+              104.801927,
+              25.163537
+            ],
+            [
+              104.822869,
+              25.170037
+            ],
+            [
+              104.806854,
+              25.224189
+            ],
+            [
+              104.826565,
+              25.235558
+            ],
+            [
+              104.816094,
+              25.262622
+            ],
+            [
+              104.736021,
+              25.268034
+            ],
+            [
+              104.689826,
+              25.296173
+            ],
+            [
+              104.639935,
+              25.295632
+            ],
+            [
+              104.646094,
+              25.356759
+            ],
+            [
+              104.615913,
+              25.364871
+            ],
+            [
+              104.566638,
+              25.402719
+            ],
+            [
+              104.543232,
+              25.400556
+            ],
+            [
+              104.556783,
+              25.524832
+            ],
+            [
+              104.524138,
+              25.526992
+            ],
+            [
+              104.483486,
+              25.494585
+            ],
+            [
+              104.44961,
+              25.495126
+            ],
+            [
+              104.434827,
+              25.472436
+            ],
+            [
+              104.418813,
+              25.499447
+            ],
+            [
+              104.436059,
+              25.520512
+            ],
+            [
+              104.428668,
+              25.576126
+            ],
+            [
+              104.389248,
+              25.595558
+            ],
+            [
+              104.332581,
+              25.598796
+            ],
+            [
+              104.310407,
+              25.647901
+            ],
+            [
+              104.328886,
+              25.760602
+            ],
+            [
+              104.370769,
+              25.730415
+            ],
+            [
+              104.397871,
+              25.76168
+            ],
+            [
+              104.42374,
+              25.841961
+            ],
+            [
+              104.441602,
+              25.868889
+            ],
+            [
+              104.414501,
+              25.909807
+            ],
+            [
+              104.438523,
+              25.92757
+            ],
+            [
+              104.470552,
+              26.009352
+            ],
+            [
+              104.460081,
+              26.085702
+            ],
+            [
+              104.499501,
+              26.070651
+            ],
+            [
+              104.52845,
+              26.114186
+            ],
+            [
+              104.518595,
+              26.165762
+            ],
+            [
+              104.548776,
+              26.226979
+            ],
+            [
+              104.542616,
+              26.253282
+            ],
+            [
+              104.592508,
+              26.317672
+            ],
+            [
+              104.659645,
+              26.335373
+            ],
+            [
+              104.684283,
+              26.3772
+            ],
+            [
+              104.664572,
+              26.397572
+            ],
+            [
+              104.665804,
+              26.434019
+            ],
+            [
+              104.631928,
+              26.451702
+            ],
+            [
+              104.638703,
+              26.477954
+            ],
+            [
+              104.598667,
+              26.520801
+            ],
+            [
+              104.57095,
+              26.524549
+            ],
+            [
+              104.579573,
+              26.568449
+            ],
+            [
+              104.556783,
+              26.590393
+            ],
+            [
+              104.488414,
+              26.579689
+            ],
+            [
+              104.459465,
+              26.602701
+            ],
+            [
+              104.468088,
+              26.644431
+            ],
+            [
+              104.424356,
+              26.709137
+            ],
+            [
+              104.398487,
+              26.686147
+            ],
+            [
+              104.353523,
+              26.620893
+            ],
+            [
+              104.313487,
+              26.612867
+            ],
+            [
+              104.274683,
+              26.633733
+            ],
+            [
+              104.268524,
+              26.617683
+            ],
+            [
+              104.222328,
+              26.620358
+            ],
+            [
+              104.160734,
+              26.646571
+            ],
+            [
+              104.121314,
+              26.638012
+            ],
+            [
+              104.068343,
+              26.573266
+            ],
+            [
+              104.067727,
+              26.51491
+            ],
+            [
+              104.008597,
+              26.511697
+            ],
+            [
+              103.953163,
+              26.521336
+            ],
+            [
+              103.865699,
+              26.512232
+            ],
+            [
+              103.819504,
+              26.529903
+            ],
+            [
+              103.815808,
+              26.55239
+            ],
+            [
+              103.763453,
+              26.585041
+            ],
+            [
+              103.748671,
+              26.623568
+            ],
+            [
+              103.759142,
+              26.689355
+            ],
+            [
+              103.773308,
+              26.716621
+            ],
+            [
+              103.725265,
+              26.742812
+            ],
+            [
+              103.705555,
+              26.794642
+            ],
+            [
+              103.722185,
+              26.851253
+            ],
+            [
+              103.779468,
+              26.87421
+            ],
+            [
+              103.763453,
+              26.905702
+            ],
+            [
+              103.775156,
+              26.951056
+            ],
+            [
+              103.753598,
+              26.963858
+            ],
+            [
+              103.73204,
+              27.018785
+            ],
+            [
+              103.704939,
+              27.049171
+            ],
+            [
+              103.675374,
+              27.051836
+            ],
+            [
+              103.623019,
+              27.007056
+            ],
+            [
+              103.623635,
+              27.035312
+            ],
+            [
+              103.601461,
+              27.061962
+            ],
+            [
+              103.614396,
+              27.079548
+            ],
+            [
+              103.659975,
+              27.065692
+            ],
+            [
+              103.652584,
+              27.092868
+            ],
+            [
+              103.620555,
+              27.096598
+            ],
+            [
+              103.63349,
+              27.12057
+            ],
+            [
+              103.696316,
+              27.126429
+            ],
+            [
+              103.748671,
+              27.210021
+            ],
+            [
+              103.801641,
+              27.250464
+            ],
+            [
+              103.80041,
+              27.26536
+            ],
+            [
+              103.865699,
+              27.28185
+            ],
+            [
+              103.874322,
+              27.331304
+            ],
+            [
+              103.903271,
+              27.347785
+            ],
+            [
+              103.905119,
+              27.38552
+            ],
+            [
+              103.932221,
+              27.443958
+            ],
+            [
+              103.956242,
+              27.425367
+            ],
+            [
+              104.015372,
+              27.429086
+            ],
+            [
+              104.01722,
+              27.383926
+            ],
+            [
+              104.084358,
+              27.330773
+            ],
+            [
+              104.113923,
+              27.338216
+            ],
+            [
+              104.173053,
+              27.263232
+            ],
+            [
+              104.210625,
+              27.297273
+            ],
+            [
+              104.248813,
+              27.291955
+            ],
+            [
+              104.247582,
+              27.336621
+            ],
+            [
+              104.295625,
+              27.37436
+            ],
+            [
+              104.30856,
+              27.407305
+            ],
+            [
+              104.363378,
+              27.467855
+            ],
+            [
+              104.467472,
+              27.414211
+            ],
+            [
+              104.497037,
+              27.414743
+            ],
+            [
+              104.539537,
+              27.327583
+            ],
+            [
+              104.570334,
+              27.331836
+            ],
+            [
+              104.611602,
+              27.306846
+            ],
+            [
+              104.7545,
+              27.345658
+            ],
+            [
+              104.77113,
+              27.317481
+            ],
+            [
+              104.824717,
+              27.3531
+            ],
+            [
+              104.856746,
+              27.332368
+            ],
+            [
+              104.851818,
+              27.299401
+            ],
+            [
+              104.871528,
+              27.290891
+            ],
+            [
+              104.913412,
+              27.327051
+            ],
+            [
+              105.01073,
+              27.379143
+            ],
+            [
+              105.068013,
+              27.418461
+            ],
+            [
+              105.120984,
+              27.418461
+            ],
+            [
+              105.184425,
+              27.392959
+            ],
+            [
+              105.182577,
+              27.367451
+            ],
+            [
+              105.233084,
+              27.436522
+            ],
+            [
+              105.234316,
+              27.489093
+            ],
+            [
+              105.260186,
+              27.514573
+            ],
+            [
+              105.232469,
+              27.546945
+            ],
+            [
+              105.25649,
+              27.582491
+            ],
+            [
+              105.304533,
+              27.611661
+            ],
+            [
+              105.29591,
+              27.631811
+            ],
+            [
+              105.308229,
+              27.704955
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 54e4,
+      name: "西藏自治区",
+      center: [
+        91.132212,
+        29.660361
+      ],
+      centroid: [
+        88.388277,
+        31.56375
+      ],
+      childrenNum: 7,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 25,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              89.711414,
+              36.093272
+            ],
+            [
+              89.614711,
+              36.109712
+            ],
+            [
+              89.594385,
+              36.126632
+            ],
+            [
+              89.490291,
+              36.151281
+            ],
+            [
+              89.375727,
+              36.228078
+            ],
+            [
+              89.335075,
+              36.23725
+            ],
+            [
+              89.292575,
+              36.231457
+            ],
+            [
+              89.232213,
+              36.295636
+            ],
+            [
+              89.198952,
+              36.260417
+            ],
+            [
+              89.126887,
+              36.254626
+            ],
+            [
+              89.10225,
+              36.281164
+            ],
+            [
+              89.054822,
+              36.291777
+            ],
+            [
+              89.013554,
+              36.315409
+            ],
+            [
+              88.964279,
+              36.318785
+            ],
+            [
+              88.926091,
+              36.36458
+            ],
+            [
+              88.870657,
+              36.348193
+            ],
+            [
+              88.838628,
+              36.353496
+            ],
+            [
+              88.802903,
+              36.33807
+            ],
+            [
+              88.783809,
+              36.291777
+            ],
+            [
+              88.766563,
+              36.292259
+            ],
+            [
+              88.690186,
+              36.367954
+            ],
+            [
+              88.623665,
+              36.389636
+            ],
+            [
+              88.618121,
+              36.428168
+            ],
+            [
+              88.573158,
+              36.461386
+            ],
+            [
+              88.498629,
+              36.446463
+            ],
+            [
+              88.470912,
+              36.48208
+            ],
+            [
+              88.41055,
+              36.473418
+            ],
+            [
+              88.356963,
+              36.477268
+            ],
+            [
+              88.366202,
+              36.458016
+            ],
+            [
+              88.282434,
+              36.470049
+            ],
+            [
+              88.241782,
+              36.468605
+            ],
+            [
+              88.222688,
+              36.447426
+            ],
+            [
+              88.182652,
+              36.452721
+            ],
+            [
+              88.134609,
+              36.427205
+            ],
+            [
+              88.092109,
+              36.43539
+            ],
+            [
+              88.006494,
+              36.430575
+            ],
+            [
+              87.983088,
+              36.437797
+            ],
+            [
+              87.95845,
+              36.408423
+            ],
+            [
+              87.919646,
+              36.39349
+            ],
+            [
+              87.838342,
+              36.383855
+            ],
+            [
+              87.826023,
+              36.391563
+            ],
+            [
+              87.767509,
+              36.3747
+            ],
+            [
+              87.731785,
+              36.384818
+            ],
+            [
+              87.6203,
+              36.360243
+            ],
+            [
+              87.570409,
+              36.342409
+            ],
+            [
+              87.470626,
+              36.354459
+            ],
+            [
+              87.460155,
+              36.409868
+            ],
+            [
+              87.426895,
+              36.42576
+            ],
+            [
+              87.386859,
+              36.412757
+            ],
+            [
+              87.363453,
+              36.420463
+            ],
+            [
+              87.348055,
+              36.393008
+            ],
+            [
+              87.292004,
+              36.358797
+            ],
+            [
+              87.193454,
+              36.349158
+            ],
+            [
+              87.161425,
+              36.325535
+            ],
+            [
+              87.149106,
+              36.297565
+            ],
+            [
+              87.08628,
+              36.310587
+            ],
+            [
+              87.051788,
+              36.2966
+            ],
+            [
+              86.996353,
+              36.308658
+            ],
+            [
+              86.943998,
+              36.284058
+            ],
+            [
+              86.931064,
+              36.265242
+            ],
+            [
+              86.887332,
+              36.262829
+            ],
+            [
+              86.86331,
+              36.299977
+            ],
+            [
+              86.836209,
+              36.291294
+            ],
+            [
+              86.746282,
+              36.291777
+            ],
+            [
+              86.69947,
+              36.24449
+            ],
+            [
+              86.599072,
+              36.222285
+            ],
+            [
+              86.531935,
+              36.227113
+            ],
+            [
+              86.515305,
+              36.205385
+            ],
+            [
+              86.454943,
+              36.221319
+            ],
+            [
+              86.392733,
+              36.206834
+            ],
+            [
+              86.35824,
+              36.168676
+            ],
+            [
+              86.2794,
+              36.170608
+            ],
+            [
+              86.248603,
+              36.141616
+            ],
+            [
+              86.187625,
+              36.130983
+            ],
+            [
+              86.182081,
+              36.064734
+            ],
+            [
+              86.199944,
+              36.047801
+            ],
+            [
+              86.173458,
+              36.008113
+            ],
+            [
+              86.150668,
+              36.00424
+            ],
+            [
+              86.129111,
+              35.941761
+            ],
+            [
+              86.093386,
+              35.906868
+            ],
+            [
+              86.090306,
+              35.876809
+            ],
+            [
+              86.05335,
+              35.842857
+            ],
+            [
+              86.035488,
+              35.846738
+            ],
+            [
+              85.949256,
+              35.778794
+            ],
+            [
+              85.903677,
+              35.78462
+            ],
+            [
+              85.835308,
+              35.771996
+            ],
+            [
+              85.811286,
+              35.778794
+            ],
+            [
+              85.691178,
+              35.751114
+            ],
+            [
+              85.65299,
+              35.731199
+            ],
+            [
+              85.612953,
+              35.651486
+            ],
+            [
+              85.566142,
+              35.6403
+            ],
+            [
+              85.518715,
+              35.680658
+            ],
+            [
+              85.373969,
+              35.700101
+            ],
+            [
+              85.341324,
+              35.753543
+            ],
+            [
+              85.271107,
+              35.788989
+            ],
+            [
+              85.146071,
+              35.742371
+            ],
+            [
+              85.053065,
+              35.752086
+            ],
+            [
+              84.99455,
+              35.737028
+            ],
+            [
+              84.973608,
+              35.709334
+            ],
+            [
+              84.920022,
+              35.696213
+            ],
+            [
+              84.798066,
+              35.647595
+            ],
+            [
+              84.729081,
+              35.613546
+            ],
+            [
+              84.704443,
+              35.616951
+            ],
+            [
+              84.628067,
+              35.595055
+            ],
+            [
+              84.570168,
+              35.588242
+            ],
+            [
+              84.513502,
+              35.564391
+            ],
+            [
+              84.448828,
+              35.550272
+            ],
+            [
+              84.475929,
+              35.516181
+            ],
+            [
+              84.45314,
+              35.473303
+            ],
+            [
+              84.424191,
+              35.466479
+            ],
+            [
+              84.333032,
+              35.413821
+            ],
+            [
+              84.274517,
+              35.404065
+            ],
+            [
+              84.200605,
+              35.381135
+            ],
+            [
+              84.160569,
+              35.359663
+            ],
+            [
+              84.140859,
+              35.379184
+            ],
+            [
+              84.095895,
+              35.362592
+            ],
+            [
+              84.077417,
+              35.400163
+            ],
+            [
+              84.005968,
+              35.422599
+            ],
+            [
+              83.906186,
+              35.40309
+            ],
+            [
+              83.885244,
+              35.367472
+            ],
+            [
+              83.79778,
+              35.354783
+            ],
+            [
+              83.785462,
+              35.36308
+            ],
+            [
+              83.677672,
+              35.361128
+            ],
+            [
+              83.622238,
+              35.335256
+            ],
+            [
+              83.599448,
+              35.351366
+            ],
+            [
+              83.54155,
+              35.341603
+            ],
+            [
+              83.540318,
+              35.364056
+            ],
+            [
+              83.502745,
+              35.360639
+            ],
+            [
+              83.449159,
+              35.382111
+            ],
+            [
+              83.405427,
+              35.380648
+            ],
+            [
+              83.333978,
+              35.397236
+            ],
+            [
+              83.280391,
+              35.401138
+            ],
+            [
+              83.251442,
+              35.417722
+            ],
+            [
+              83.178145,
+              35.38943
+            ],
+            [
+              83.127022,
+              35.398699
+            ],
+            [
+              83.088834,
+              35.425526
+            ],
+            [
+              83.067892,
+              35.46258
+            ],
+            [
+              82.998907,
+              35.484512
+            ],
+            [
+              82.971806,
+              35.548324
+            ],
+            [
+              82.981661,
+              35.599922
+            ],
+            [
+              82.956407,
+              35.636409
+            ],
+            [
+              82.967494,
+              35.667532
+            ],
+            [
+              82.894813,
+              35.673852
+            ],
+            [
+              82.873871,
+              35.688922
+            ],
+            [
+              82.795031,
+              35.688436
+            ],
+            [
+              82.780249,
+              35.666073
+            ],
+            [
+              82.731589,
+              35.637868
+            ],
+            [
+              82.652133,
+              35.67288
+            ],
+            [
+              82.628727,
+              35.692324
+            ],
+            [
+              82.546192,
+              35.708362
+            ],
+            [
+              82.501844,
+              35.701073
+            ],
+            [
+              82.468583,
+              35.717595
+            ],
+            [
+              82.424852,
+              35.712736
+            ],
+            [
+              82.392823,
+              35.656349
+            ],
+            [
+              82.336156,
+              35.651486
+            ],
+            [
+              82.350323,
+              35.611113
+            ],
+            [
+              82.328149,
+              35.559523
+            ],
+            [
+              82.2992,
+              35.544916
+            ],
+            [
+              82.263475,
+              35.547837
+            ],
+            [
+              82.234526,
+              35.520565
+            ],
+            [
+              82.189563,
+              35.513258
+            ],
+            [
+              82.164925,
+              35.495719
+            ],
+            [
+              82.086701,
+              35.467454
+            ],
+            [
+              82.071302,
+              35.450393
+            ],
+            [
+              82.034346,
+              35.451855
+            ],
+            [
+              82.029419,
+              35.426013
+            ],
+            [
+              82.05344,
+              35.35039
+            ],
+            [
+              82.030034,
+              35.321585
+            ],
+            [
+              81.99123,
+              35.30547
+            ],
+            [
+              81.955506,
+              35.307423
+            ],
+            [
+              81.927789,
+              35.271275
+            ],
+            [
+              81.853876,
+              35.25857
+            ],
+            [
+              81.804601,
+              35.270786
+            ],
+            [
+              81.736847,
+              35.26248
+            ],
+            [
+              81.68634,
+              35.235599
+            ],
+            [
+              81.513261,
+              35.23511
+            ],
+            [
+              81.504638,
+              35.279092
+            ],
+            [
+              81.447972,
+              35.318167
+            ],
+            [
+              81.441196,
+              35.333303
+            ],
+            [
+              81.385762,
+              35.335256
+            ],
+            [
+              81.363588,
+              35.354783
+            ],
+            [
+              81.314313,
+              35.337209
+            ],
+            [
+              81.285364,
+              35.345508
+            ],
+            [
+              81.26627,
+              35.322562
+            ],
+            [
+              81.219458,
+              35.319144
+            ],
+            [
+              81.191741,
+              35.36552
+            ],
+            [
+              81.142466,
+              35.365032
+            ],
+            [
+              81.103662,
+              35.386015
+            ],
+            [
+              81.09935,
+              35.40748
+            ],
+            [
+              81.054387,
+              35.402602
+            ],
+            [
+              81.031597,
+              35.380648
+            ],
+            [
+              81.030981,
+              35.337209
+            ],
+            [
+              81.002648,
+              35.334768
+            ],
+            [
+              81.026053,
+              35.31133
+            ],
+            [
+              80.963844,
+              35.310842
+            ],
+            [
+              80.924423,
+              35.330862
+            ],
+            [
+              80.894242,
+              35.324027
+            ],
+            [
+              80.844351,
+              35.345508
+            ],
+            [
+              80.759968,
+              35.334768
+            ],
+            [
+              80.689135,
+              35.339162
+            ],
+            [
+              80.690982,
+              35.364544
+            ],
+            [
+              80.65649,
+              35.393821
+            ],
+            [
+              80.599823,
+              35.409431
+            ],
+            [
+              80.56841,
+              35.391381
+            ],
+            [
+              80.532686,
+              35.404553
+            ],
+            [
+              80.514824,
+              35.391869
+            ],
+            [
+              80.444607,
+              35.417235
+            ],
+            [
+              80.432904,
+              35.449418
+            ],
+            [
+              80.375006,
+              35.387966
+            ],
+            [
+              80.321419,
+              35.38699
+            ],
+            [
+              80.286926,
+              35.35283
+            ],
+            [
+              80.267832,
+              35.295701
+            ],
+            [
+              80.362687,
+              35.20871
+            ],
+            [
+              80.257977,
+              35.203331
+            ],
+            [
+              80.223484,
+              35.177409
+            ],
+            [
+              80.23026,
+              35.147565
+            ],
+            [
+              80.118159,
+              35.066293
+            ],
+            [
+              80.078123,
+              35.076578
+            ],
+            [
+              80.031311,
+              35.034447
+            ],
+            [
+              80.04363,
+              35.022196
+            ],
+            [
+              80.02392,
+              34.971209
+            ],
+            [
+              80.041782,
+              34.943252
+            ],
+            [
+              80.034391,
+              34.902033
+            ],
+            [
+              80.003594,
+              34.895162
+            ],
+            [
+              79.996819,
+              34.856375
+            ],
+            [
+              79.961094,
+              34.862759
+            ],
+            [
+              79.926602,
+              34.849499
+            ],
+            [
+              79.947544,
+              34.821008
+            ],
+            [
+              79.898268,
+              34.732035
+            ],
+            [
+              79.906892,
+              34.683821
+            ],
+            [
+              79.866856,
+              34.671517
+            ],
+            [
+              79.88595,
+              34.642965
+            ],
+            [
+              79.84345,
+              34.55725
+            ],
+            [
+              79.861312,
+              34.528166
+            ],
+            [
+              79.801566,
+              34.478847
+            ],
+            [
+              79.735661,
+              34.471447
+            ],
+            [
+              79.699936,
+              34.477861
+            ],
+            [
+              79.675914,
+              34.451216
+            ],
+            [
+              79.58106,
+              34.456151
+            ],
+            [
+              79.545335,
+              34.476381
+            ],
+            [
+              79.504683,
+              34.45467
+            ],
+            [
+              79.435082,
+              34.447761
+            ],
+            [
+              79.363017,
+              34.428018
+            ],
+            [
+              79.326677,
+              34.44332
+            ],
+            [
+              79.274322,
+              34.435916
+            ],
+            [
+              79.241677,
+              34.415183
+            ],
+            [
+              79.179467,
+              34.422588
+            ],
+            [
+              79.161605,
+              34.441345
+            ],
+            [
+              79.072294,
+              34.412714
+            ],
+            [
+              79.039033,
+              34.421601
+            ],
+            [
+              79.0107,
+              34.399877
+            ],
+            [
+              79.048888,
+              34.348506
+            ],
+            [
+              79.039649,
+              34.33467
+            ],
+            [
+              79.019939,
+              34.313417
+            ],
+            [
+              78.981751,
+              34.31836
+            ],
+            [
+              78.958345,
+              34.230827
+            ],
+            [
+              78.941099,
+              34.212022
+            ],
+            [
+              78.9257,
+              34.155584
+            ],
+            [
+              78.910302,
+              34.143202
+            ],
+            [
+              78.878273,
+              34.163012
+            ],
+            [
+              78.828998,
+              34.125369
+            ],
+            [
+              78.801897,
+              34.137258
+            ],
+            [
+              78.737223,
+              34.089692
+            ],
+            [
+              78.661462,
+              34.086718
+            ],
+            [
+              78.656535,
+              34.030196
+            ],
+            [
+              78.736607,
+              33.999937
+            ],
+            [
+              78.744614,
+              33.980585
+            ],
+            [
+              78.734143,
+              33.918529
+            ],
+            [
+              78.762476,
+              33.90959
+            ],
+            [
+              78.756317,
+              33.8773
+            ],
+            [
+              78.766172,
+              33.823124
+            ],
+            [
+              78.758165,
+              33.790802
+            ],
+            [
+              78.779723,
+              33.73259
+            ],
+            [
+              78.692259,
+              33.676331
+            ],
+            [
+              78.684868,
+              33.654415
+            ],
+            [
+              78.713201,
+              33.623025
+            ],
+            [
+              78.755085,
+              33.623025
+            ],
+            [
+              78.74215,
+              33.55323
+            ],
+            [
+              78.816679,
+              33.480882
+            ],
+            [
+              78.84994,
+              33.419963
+            ],
+            [
+              78.896751,
+              33.41247
+            ],
+            [
+              78.949722,
+              33.376495
+            ],
+            [
+              78.9682,
+              33.334505
+            ],
+            [
+              79.022403,
+              33.323504
+            ],
+            [
+              79.041497,
+              33.268479
+            ],
+            [
+              79.083997,
+              33.245459
+            ],
+            [
+              79.072294,
+              33.22844
+            ],
+            [
+              79.10925,
+              33.200401
+            ],
+            [
+              79.152366,
+              33.184375
+            ],
+            [
+              79.162221,
+              33.165841
+            ],
+            [
+              79.139431,
+              33.117735
+            ],
+            [
+              79.162837,
+              33.01191
+            ],
+            [
+              79.204721,
+              32.964724
+            ],
+            [
+              79.255844,
+              32.942628
+            ],
+            [
+              79.227511,
+              32.89038
+            ],
+            [
+              79.237982,
+              32.846145
+            ],
+            [
+              79.225047,
+              32.784281
+            ],
+            [
+              79.275554,
+              32.778746
+            ],
+            [
+              79.301423,
+              32.728919
+            ],
+            [
+              79.27309,
+              32.678056
+            ],
+            [
+              79.299575,
+              32.637244
+            ],
+            [
+              79.308199,
+              32.596918
+            ],
+            [
+              79.272474,
+              32.561113
+            ],
+            [
+              79.252148,
+              32.516715
+            ],
+            [
+              79.190554,
+              32.511669
+            ],
+            [
+              79.180083,
+              32.492994
+            ],
+            [
+              79.135736,
+              32.472295
+            ],
+            [
+              79.124649,
+              32.416235
+            ],
+            [
+              79.103091,
+              32.369744
+            ],
+            [
+              79.067982,
+              32.380863
+            ],
+            [
+              79.005772,
+              32.375304
+            ],
+            [
+              78.970664,
+              32.331826
+            ],
+            [
+              78.904142,
+              32.374798
+            ],
+            [
+              78.87273,
+              32.40512
+            ],
+            [
+              78.81052,
+              32.436441
+            ],
+            [
+              78.782186,
+              32.480373
+            ],
+            [
+              78.760629,
+              32.563635
+            ],
+            [
+              78.781571,
+              32.608009
+            ],
+            [
+              78.74215,
+              32.654881
+            ],
+            [
+              78.741534,
+              32.703743
+            ],
+            [
+              78.6861,
+              32.680071
+            ],
+            [
+              78.675013,
+              32.658408
+            ],
+            [
+              78.628202,
+              32.630188
+            ],
+            [
+              78.588782,
+              32.637748
+            ],
+            [
+              78.577695,
+              32.615067
+            ],
+            [
+              78.518564,
+              32.605993
+            ],
+            [
+              78.500086,
+              32.580782
+            ],
+            [
+              78.424942,
+              32.565652
+            ],
+            [
+              78.395377,
+              32.530339
+            ],
+            [
+              78.426174,
+              32.502584
+            ],
+            [
+              78.472985,
+              32.435431
+            ],
+            [
+              78.458818,
+              32.379853
+            ],
+            [
+              78.483456,
+              32.357106
+            ],
+            [
+              78.480992,
+              32.329297
+            ],
+            [
+              78.508709,
+              32.297939
+            ],
+            [
+              78.475449,
+              32.236708
+            ],
+            [
+              78.430485,
+              32.212407
+            ],
+            [
+              78.429869,
+              32.194683
+            ],
+            [
+              78.469905,
+              32.127808
+            ],
+            [
+              78.509941,
+              32.147065
+            ],
+            [
+              78.527188,
+              32.11463
+            ],
+            [
+              78.609107,
+              32.052768
+            ],
+            [
+              78.60726,
+              32.023851
+            ],
+            [
+              78.705194,
+              31.988835
+            ],
+            [
+              78.762476,
+              31.947203
+            ],
+            [
+              78.768636,
+              31.92638
+            ],
+            [
+              78.739687,
+              31.885228
+            ],
+            [
+              78.665158,
+              31.851684
+            ],
+            [
+              78.654687,
+              31.819144
+            ],
+            [
+              78.706426,
+              31.778453
+            ],
+            [
+              78.763092,
+              31.668499
+            ],
+            [
+              78.798817,
+              31.675629
+            ],
+            [
+              78.806824,
+              31.64099
+            ],
+            [
+              78.845628,
+              31.609905
+            ],
+            [
+              78.833925,
+              31.584927
+            ],
+            [
+              78.779723,
+              31.545154
+            ],
+            [
+              78.740303,
+              31.532912
+            ],
+            [
+              78.729832,
+              31.478316
+            ],
+            [
+              78.755701,
+              31.478316
+            ],
+            [
+              78.792041,
+              31.435944
+            ],
+            [
+              78.760013,
+              31.392531
+            ],
+            [
+              78.755085,
+              31.355742
+            ],
+            [
+              78.795121,
+              31.301043
+            ],
+            [
+              78.859179,
+              31.289281
+            ],
+            [
+              78.865338,
+              31.312804
+            ],
+            [
+              78.884432,
+              31.277006
+            ],
+            [
+              78.923852,
+              31.246824
+            ],
+            [
+              78.930628,
+              31.220726
+            ],
+            [
+              78.997765,
+              31.158779
+            ],
+            [
+              78.97436,
+              31.115751
+            ],
+            [
+              79.010084,
+              31.043994
+            ],
+            [
+              79.059359,
+              31.028097
+            ],
+            [
+              79.096931,
+              30.992192
+            ],
+            [
+              79.181931,
+              31.015788
+            ],
+            [
+              79.205953,
+              31.0004
+            ],
+            [
+              79.227511,
+              30.949088
+            ],
+            [
+              79.33222,
+              30.969103
+            ],
+            [
+              79.316206,
+              31.01784
+            ],
+            [
+              79.35809,
+              31.031174
+            ],
+            [
+              79.404901,
+              31.071678
+            ],
+            [
+              79.424611,
+              31.061425
+            ],
+            [
+              79.427075,
+              31.018353
+            ],
+            [
+              79.505915,
+              31.027584
+            ],
+            [
+              79.550879,
+              30.957813
+            ],
+            [
+              79.59769,
+              30.925989
+            ],
+            [
+              79.660516,
+              30.956787
+            ],
+            [
+              79.668523,
+              30.980392
+            ],
+            [
+              79.729501,
+              30.941389
+            ],
+            [
+              79.75845,
+              30.936769
+            ],
+            [
+              79.835443,
+              30.851006
+            ],
+            [
+              79.890877,
+              30.855116
+            ],
+            [
+              79.913051,
+              30.833022
+            ],
+            [
+              79.900732,
+              30.7991
+            ],
+            [
+              79.961094,
+              30.771337
+            ],
+            [
+              79.955551,
+              30.738422
+            ],
+            [
+              79.970333,
+              30.685941
+            ],
+            [
+              80.014065,
+              30.661748
+            ],
+            [
+              80.04363,
+              30.603559
+            ],
+            [
+              80.143412,
+              30.55822
+            ],
+            [
+              80.214245,
+              30.586044
+            ],
+            [
+              80.261673,
+              30.566465
+            ],
+            [
+              80.322035,
+              30.564403
+            ],
+            [
+              80.357759,
+              30.520592
+            ],
+            [
+              80.43044,
+              30.515952
+            ],
+            [
+              80.446454,
+              30.495327
+            ],
+            [
+              80.504969,
+              30.483466
+            ],
+            [
+              80.549316,
+              30.448905
+            ],
+            [
+              80.585041,
+              30.463866
+            ],
+            [
+              80.633084,
+              30.458707
+            ],
+            [
+              80.692214,
+              30.416913
+            ],
+            [
+              80.719316,
+              30.414848
+            ],
+            [
+              80.81725,
+              30.321389
+            ],
+            [
+              80.910873,
+              30.30279
+            ],
+            [
+              80.933662,
+              30.266614
+            ],
+            [
+              80.996488,
+              30.267648
+            ],
+            [
+              81.034677,
+              30.246971
+            ],
+            [
+              81.038372,
+              30.205086
+            ],
+            [
+              81.082104,
+              30.151281
+            ],
+            [
+              81.085799,
+              30.100554
+            ],
+            [
+              81.110437,
+              30.085538
+            ],
+            [
+              81.09627,
+              30.052909
+            ],
+            [
+              81.131995,
+              30.016124
+            ],
+            [
+              81.225618,
+              30.005759
+            ],
+            [
+              81.256415,
+              30.011978
+            ],
+            [
+              81.247792,
+              30.032705
+            ],
+            [
+              81.2829,
+              30.061197
+            ],
+            [
+              81.293371,
+              30.094859
+            ],
+            [
+              81.269349,
+              30.153351
+            ],
+            [
+              81.335871,
+              30.149729
+            ],
+            [
+              81.393769,
+              30.199396
+            ],
+            [
+              81.397465,
+              30.240767
+            ],
+            [
+              81.419023,
+              30.270232
+            ],
+            [
+              81.406088,
+              30.291938
+            ],
+            [
+              81.427646,
+              30.305373
+            ],
+            [
+              81.399929,
+              30.319323
+            ],
+            [
+              81.406088,
+              30.369421
+            ],
+            [
+              81.432573,
+              30.379231
+            ],
+            [
+              81.406704,
+              30.40401
+            ],
+            [
+              81.418407,
+              30.420525
+            ],
+            [
+              81.454131,
+              30.412268
+            ],
+            [
+              81.494783,
+              30.381296
+            ],
+            [
+              81.555761,
+              30.369421
+            ],
+            [
+              81.566232,
+              30.428782
+            ],
+            [
+              81.613044,
+              30.412784
+            ],
+            [
+              81.63029,
+              30.446842
+            ],
+            [
+              81.723913,
+              30.407623
+            ],
+            [
+              81.759021,
+              30.385426
+            ],
+            [
+              81.872354,
+              30.373035
+            ],
+            [
+              81.939491,
+              30.344633
+            ],
+            [
+              81.954274,
+              30.355995
+            ],
+            [
+              81.99123,
+              30.322939
+            ],
+            [
+              82.022027,
+              30.339468
+            ],
+            [
+              82.060215,
+              30.332237
+            ],
+            [
+              82.104563,
+              30.346182
+            ],
+            [
+              82.132896,
+              30.30434
+            ],
+            [
+              82.11873,
+              30.279019
+            ],
+            [
+              82.114418,
+              30.226806
+            ],
+            [
+              82.142135,
+              30.200948
+            ],
+            [
+              82.188947,
+              30.18543
+            ],
+            [
+              82.207425,
+              30.143519
+            ],
+            [
+              82.183403,
+              30.12178
+            ],
+            [
+              82.17786,
+              30.06793
+            ],
+            [
+              82.246845,
+              30.071555
+            ],
+            [
+              82.311519,
+              30.035813
+            ],
+            [
+              82.333693,
+              30.045138
+            ],
+            [
+              82.368185,
+              30.014051
+            ],
+            [
+              82.412533,
+              30.011978
+            ],
+            [
+              82.431011,
+              29.989692
+            ],
+            [
+              82.474743,
+              29.973622
+            ],
+            [
+              82.498148,
+              29.947698
+            ],
+            [
+              82.560974,
+              29.955476
+            ],
+            [
+              82.609017,
+              29.886489
+            ],
+            [
+              82.64351,
+              29.868846
+            ],
+            [
+              82.6238,
+              29.834588
+            ],
+            [
+              82.703872,
+              29.847566
+            ],
+            [
+              82.737749,
+              29.80655
+            ],
+            [
+              82.691553,
+              29.766037
+            ],
+            [
+              82.757459,
+              29.761881
+            ],
+            [
+              82.774089,
+              29.726548
+            ],
+            [
+              82.816589,
+              29.717192
+            ],
+            [
+              82.830756,
+              29.687562
+            ],
+            [
+              82.885574,
+              29.689122
+            ],
+            [
+              82.9484,
+              29.704718
+            ],
+            [
+              82.966878,
+              29.658963
+            ],
+            [
+              83.011226,
+              29.667804
+            ],
+            [
+              83.088834,
+              29.604863
+            ],
+            [
+              83.12887,
+              29.623593
+            ],
+            [
+              83.159667,
+              29.61735
+            ],
+            [
+              83.164595,
+              29.595496
+            ],
+            [
+              83.217565,
+              29.60018
+            ],
+            [
+              83.266841,
+              29.571035
+            ],
+            [
+              83.27608,
+              29.505951
+            ],
+            [
+              83.325355,
+              29.502826
+            ],
+            [
+              83.383253,
+              29.42206
+            ],
+            [
+              83.415898,
+              29.420496
+            ],
+            [
+              83.423289,
+              29.361053
+            ],
+            [
+              83.450391,
+              29.332883
+            ],
+            [
+              83.463941,
+              29.285916
+            ],
+            [
+              83.492274,
+              29.280174
+            ],
+            [
+              83.548941,
+              29.201322
+            ],
+            [
+              83.57789,
+              29.203934
+            ],
+            [
+              83.596368,
+              29.174153
+            ],
+            [
+              83.656114,
+              29.16736
+            ],
+            [
+              83.667201,
+              29.200277
+            ],
+            [
+              83.727563,
+              29.244672
+            ],
+            [
+              83.800244,
+              29.249372
+            ],
+            [
+              83.82057,
+              29.294267
+            ],
+            [
+              83.851367,
+              29.294789
+            ],
+            [
+              83.911729,
+              29.323491
+            ],
+            [
+              83.949301,
+              29.312533
+            ],
+            [
+              83.986874,
+              29.325057
+            ],
+            [
+              84.002272,
+              29.291658
+            ],
+            [
+              84.052163,
+              29.296877
+            ],
+            [
+              84.116837,
+              29.286438
+            ],
+            [
+              84.130388,
+              29.239972
+            ],
+            [
+              84.203068,
+              29.239972
+            ],
+            [
+              84.197525,
+              29.210202
+            ],
+            [
+              84.17104,
+              29.19453
+            ],
+            [
+              84.176583,
+              29.133909
+            ],
+            [
+              84.20738,
+              29.118749
+            ],
+            [
+              84.192597,
+              29.084236
+            ],
+            [
+              84.194445,
+              29.045004
+            ],
+            [
+              84.224626,
+              29.049189
+            ],
+            [
+              84.248648,
+              29.030353
+            ],
+            [
+              84.228322,
+              28.949738
+            ],
+            [
+              84.234481,
+              28.889497
+            ],
+            [
+              84.268358,
+              28.895261
+            ],
+            [
+              84.330568,
+              28.859101
+            ],
+            [
+              84.340423,
+              28.866963
+            ],
+            [
+              84.408176,
+              28.85386
+            ],
+            [
+              84.404481,
+              28.828173
+            ],
+            [
+              84.434046,
+              28.823978
+            ],
+            [
+              84.445133,
+              28.764189
+            ],
+            [
+              84.483321,
+              28.735331
+            ],
+            [
+              84.557233,
+              28.74635
+            ],
+            [
+              84.620059,
+              28.732182
+            ],
+            [
+              84.650856,
+              28.714338
+            ],
+            [
+              84.669334,
+              28.680742
+            ],
+            [
+              84.699515,
+              28.671816
+            ],
+            [
+              84.698284,
+              28.633478
+            ],
+            [
+              84.773428,
+              28.610363
+            ],
+            [
+              84.857196,
+              28.567798
+            ],
+            [
+              84.896616,
+              28.587244
+            ],
+            [
+              84.981616,
+              28.586193
+            ],
+            [
+              84.995782,
+              28.611414
+            ],
+            [
+              85.05676,
+              28.674441
+            ],
+            [
+              85.126361,
+              28.676016
+            ],
+            [
+              85.155926,
+              28.643983
+            ],
+            [
+              85.195963,
+              28.624022
+            ],
+            [
+              85.18426,
+              28.587244
+            ],
+            [
+              85.189803,
+              28.544669
+            ],
+            [
+              85.160238,
+              28.49261
+            ],
+            [
+              85.108499,
+              28.461047
+            ],
+            [
+              85.129441,
+              28.377885
+            ],
+            [
+              85.113427,
+              28.344708
+            ],
+            [
+              85.179948,
+              28.324164
+            ],
+            [
+              85.209513,
+              28.338914
+            ],
+            [
+              85.272339,
+              28.282538
+            ],
+            [
+              85.349947,
+              28.298347
+            ],
+            [
+              85.379512,
+              28.274105
+            ],
+            [
+              85.415853,
+              28.321003
+            ],
+            [
+              85.458969,
+              28.332593
+            ],
+            [
+              85.520563,
+              28.326798
+            ],
+            [
+              85.602483,
+              28.295712
+            ],
+            [
+              85.601251,
+              28.254075
+            ],
+            [
+              85.650526,
+              28.283592
+            ],
+            [
+              85.682555,
+              28.375779
+            ],
+            [
+              85.720743,
+              28.372093
+            ],
+            [
+              85.753388,
+              28.227714
+            ],
+            [
+              85.791576,
+              28.195544
+            ],
+            [
+              85.854402,
+              28.172334
+            ],
+            [
+              85.871648,
+              28.124843
+            ],
+            [
+              85.898749,
+              28.101617
+            ],
+            [
+              85.901213,
+              28.053566
+            ],
+            [
+              85.980053,
+              27.984357
+            ],
+            [
+              85.949256,
+              27.937311
+            ],
+            [
+              86.002227,
+              27.90717
+            ],
+            [
+              86.053966,
+              27.900823
+            ],
+            [
+              86.125415,
+              27.923035
+            ],
+            [
+              86.082915,
+              28.018175
+            ],
+            [
+              86.086611,
+              28.090002
+            ],
+            [
+              86.128495,
+              28.086835
+            ],
+            [
+              86.140198,
+              28.114814
+            ],
+            [
+              86.19132,
+              28.167058
+            ],
+            [
+              86.223965,
+              28.092642
+            ],
+            [
+              86.206103,
+              28.084195
+            ],
+            [
+              86.231972,
+              27.974315
+            ],
+            [
+              86.27324,
+              27.976958
+            ],
+            [
+              86.308965,
+              27.950528
+            ],
+            [
+              86.393349,
+              27.926736
+            ],
+            [
+              86.414906,
+              27.904526
+            ],
+            [
+              86.450015,
+              27.908757
+            ],
+            [
+              86.475884,
+              27.944713
+            ],
+            [
+              86.514689,
+              27.954757
+            ],
+            [
+              86.513457,
+              27.996511
+            ],
+            [
+              86.537478,
+              28.044587
+            ],
+            [
+              86.55842,
+              28.047757
+            ],
+            [
+              86.568891,
+              28.103201
+            ],
+            [
+              86.60092,
+              28.097922
+            ],
+            [
+              86.611391,
+              28.069938
+            ],
+            [
+              86.647732,
+              28.06941
+            ],
+            [
+              86.662514,
+              28.092114
+            ],
+            [
+              86.700086,
+              28.101617
+            ],
+            [
+              86.74813,
+              28.089474
+            ],
+            [
+              86.768456,
+              28.06941
+            ],
+            [
+              86.756753,
+              28.032967
+            ],
+            [
+              86.827586,
+              28.012363
+            ],
+            [
+              86.864542,
+              28.022401
+            ],
+            [
+              86.885484,
+              27.995983
+            ],
+            [
+              86.926752,
+              27.985942
+            ],
+            [
+              86.935375,
+              27.955286
+            ],
+            [
+              87.035157,
+              27.946299
+            ],
+            [
+              87.080737,
+              27.910872
+            ],
+            [
+              87.118309,
+              27.840512
+            ],
+            [
+              87.173744,
+              27.818284
+            ],
+            [
+              87.227946,
+              27.812991
+            ],
+            [
+              87.249504,
+              27.839454
+            ],
+            [
+              87.280917,
+              27.845275
+            ],
+            [
+              87.317258,
+              27.826753
+            ],
+            [
+              87.364069,
+              27.824106
+            ],
+            [
+              87.421967,
+              27.856916
+            ],
+            [
+              87.418272,
+              27.825694
+            ],
+            [
+              87.45954,
+              27.820931
+            ],
+            [
+              87.58088,
+              27.859562
+            ],
+            [
+              87.598126,
+              27.814579
+            ],
+            [
+              87.670191,
+              27.832045
+            ],
+            [
+              87.668343,
+              27.809815
+            ],
+            [
+              87.727473,
+              27.802933
+            ],
+            [
+              87.77798,
+              27.860091
+            ],
+            [
+              87.782292,
+              27.890774
+            ],
+            [
+              87.826639,
+              27.927794
+            ],
+            [
+              87.930733,
+              27.909285
+            ],
+            [
+              87.982472,
+              27.884426
+            ],
+            [
+              88.037291,
+              27.901881
+            ],
+            [
+              88.090877,
+              27.885484
+            ],
+            [
+              88.111819,
+              27.864852
+            ],
+            [
+              88.137689,
+              27.878607
+            ],
+            [
+              88.120442,
+              27.915103
+            ],
+            [
+              88.156783,
+              27.957929
+            ],
+            [
+              88.203594,
+              27.943127
+            ],
+            [
+              88.242398,
+              27.967444
+            ],
+            [
+              88.254101,
+              27.939426
+            ],
+            [
+              88.357579,
+              27.986471
+            ],
+            [
+              88.401311,
+              27.976958
+            ],
+            [
+              88.43334,
+              28.002852
+            ],
+            [
+              88.469064,
+              28.009721
+            ],
+            [
+              88.498013,
+              28.04089
+            ],
+            [
+              88.554064,
+              28.027684
+            ],
+            [
+              88.565151,
+              28.083139
+            ],
+            [
+              88.620585,
+              28.091586
+            ],
+            [
+              88.645223,
+              28.111119
+            ],
+            [
+              88.67602,
+              28.068353
+            ],
+            [
+              88.764099,
+              28.068353
+            ],
+            [
+              88.812142,
+              28.018175
+            ],
+            [
+              88.842939,
+              28.006023
+            ],
+            [
+              88.846635,
+              27.921448
+            ],
+            [
+              88.864497,
+              27.921448
+            ],
+            [
+              88.888519,
+              27.846863
+            ],
+            [
+              88.863265,
+              27.811932
+            ],
+            [
+              88.870657,
+              27.743098
+            ],
+            [
+              88.850331,
+              27.710783
+            ],
+            [
+              88.852178,
+              27.671039
+            ],
+            [
+              88.816454,
+              27.641354
+            ],
+            [
+              88.813374,
+              27.606889
+            ],
+            [
+              88.770874,
+              27.563924
+            ],
+            [
+              88.797976,
+              27.521473
+            ],
+            [
+              88.783193,
+              27.467324
+            ],
+            [
+              88.809063,
+              27.405711
+            ],
+            [
+              88.838012,
+              27.37808
+            ],
+            [
+              88.867577,
+              27.3818
+            ],
+            [
+              88.901453,
+              27.327583
+            ],
+            [
+              88.920548,
+              27.325456
+            ],
+            [
+              88.911924,
+              27.272807
+            ],
+            [
+              88.942105,
+              27.261636
+            ],
+            [
+              88.984605,
+              27.208957
+            ],
+            [
+              89.067757,
+              27.240354
+            ],
+            [
+              89.077612,
+              27.287168
+            ],
+            [
+              89.152757,
+              27.319076
+            ],
+            [
+              89.182938,
+              27.373829
+            ],
+            [
+              89.132431,
+              27.441302
+            ],
+            [
+              89.095474,
+              27.471572
+            ],
+            [
+              89.109025,
+              27.537925
+            ],
+            [
+              89.163228,
+              27.574534
+            ],
+            [
+              89.128735,
+              27.611131
+            ],
+            [
+              89.131815,
+              27.633402
+            ],
+            [
+              89.184786,
+              27.673689
+            ],
+            [
+              89.238988,
+              27.796581
+            ],
+            [
+              89.295655,
+              27.84845
+            ],
+            [
+              89.375727,
+              27.875962
+            ],
+            [
+              89.44348,
+              27.968501
+            ],
+            [
+              89.461958,
+              28.03191
+            ],
+            [
+              89.511233,
+              28.086307
+            ],
+            [
+              89.541414,
+              28.088418
+            ],
+            [
+              89.605472,
+              28.161782
+            ],
+            [
+              89.720037,
+              28.170224
+            ],
+            [
+              89.779167,
+              28.197127
+            ],
+            [
+              89.789638,
+              28.240895
+            ],
+            [
+              89.869094,
+              28.221386
+            ],
+            [
+              89.901739,
+              28.18183
+            ],
+            [
+              89.976268,
+              28.189215
+            ],
+            [
+              90.017536,
+              28.162837
+            ],
+            [
+              90.03355,
+              28.136981
+            ],
+            [
+              90.07297,
+              28.155451
+            ],
+            [
+              90.103151,
+              28.141731
+            ],
+            [
+              90.124709,
+              28.190797
+            ],
+            [
+              90.166593,
+              28.187632
+            ],
+            [
+              90.189999,
+              28.161782
+            ],
+            [
+              90.231882,
+              28.144897
+            ],
+            [
+              90.297172,
+              28.153868
+            ],
+            [
+              90.367389,
+              28.088946
+            ],
+            [
+              90.384019,
+              28.06096
+            ],
+            [
+              90.43699,
+              28.063073
+            ],
+            [
+              90.47949,
+              28.044587
+            ],
+            [
+              90.513983,
+              28.062016
+            ],
+            [
+              90.569417,
+              28.044059
+            ],
+            [
+              90.591591,
+              28.021345
+            ],
+            [
+              90.701844,
+              28.076274
+            ],
+            [
+              90.741264,
+              28.053038
+            ],
+            [
+              90.802242,
+              28.040362
+            ],
+            [
+              90.806554,
+              28.015005
+            ],
+            [
+              90.853365,
+              27.969029
+            ],
+            [
+              90.896481,
+              27.946299
+            ],
+            [
+              90.96177,
+              27.9537
+            ],
+            [
+              90.976553,
+              27.935725
+            ],
+            [
+              90.96485,
+              27.900294
+            ],
+            [
+              91.025828,
+              27.857445
+            ],
+            [
+              91.113292,
+              27.846333
+            ],
+            [
+              91.155175,
+              27.894476
+            ],
+            [
+              91.147784,
+              27.927794
+            ],
+            [
+              91.162567,
+              27.968501
+            ],
+            [
+              91.216153,
+              27.989113
+            ],
+            [
+              91.251878,
+              27.970615
+            ],
+            [
+              91.309776,
+              28.057791
+            ],
+            [
+              91.464993,
+              28.002852
+            ],
+            [
+              91.490246,
+              27.971672
+            ],
+            [
+              91.486551,
+              27.937311
+            ],
+            [
+              91.552456,
+              27.90717
+            ],
+            [
+              91.611586,
+              27.891303
+            ],
+            [
+              91.618978,
+              27.856916
+            ],
+            [
+              91.561079,
+              27.855329
+            ],
+            [
+              91.544449,
+              27.820401
+            ],
+            [
+              91.610355,
+              27.819343
+            ],
+            [
+              91.642383,
+              27.7664
+            ],
+            [
+              91.622673,
+              27.692238
+            ],
+            [
+              91.570934,
+              27.650897
+            ],
+            [
+              91.562311,
+              27.627569
+            ],
+            [
+              91.582637,
+              27.598933
+            ],
+            [
+              91.564775,
+              27.58196
+            ],
+            [
+              91.585101,
+              27.540578
+            ],
+            [
+              91.626985,
+              27.509265
+            ],
+            [
+              91.663325,
+              27.507142
+            ],
+            [
+              91.71876,
+              27.467324
+            ],
+            [
+              91.753868,
+              27.462545
+            ],
+            [
+              91.839484,
+              27.489624
+            ],
+            [
+              91.946657,
+              27.464138
+            ],
+            [
+              92.010715,
+              27.474758
+            ],
+            [
+              92.021802,
+              27.444489
+            ],
+            [
+              92.064918,
+              27.391365
+            ],
+            [
+              92.125896,
+              27.273339
+            ],
+            [
+              92.091403,
+              27.264296
+            ],
+            [
+              92.071077,
+              27.237694
+            ],
+            [
+              92.061222,
+              27.190327
+            ],
+            [
+              92.032273,
+              27.167967
+            ],
+            [
+              92.02673,
+              27.108318
+            ],
+            [
+              92.043976,
+              27.052902
+            ],
+            [
+              92.076005,
+              27.041175
+            ],
+            [
+              92.124664,
+              26.960124
+            ],
+            [
+              92.109265,
+              26.854991
+            ],
+            [
+              92.197961,
+              26.86994
+            ],
+            [
+              92.28604,
+              26.892359
+            ],
+            [
+              92.404916,
+              26.9025
+            ],
+            [
+              92.496691,
+              26.921711
+            ],
+            [
+              92.549046,
+              26.941453
+            ],
+            [
+              92.64698,
+              26.952656
+            ],
+            [
+              92.682089,
+              26.947855
+            ],
+            [
+              92.802813,
+              26.895028
+            ],
+            [
+              92.909371,
+              26.914241
+            ],
+            [
+              93.050421,
+              26.883819
+            ],
+            [
+              93.111399,
+              26.880082
+            ],
+            [
+              93.232739,
+              26.906769
+            ],
+            [
+              93.56781,
+              26.938252
+            ],
+            [
+              93.625092,
+              26.955323
+            ],
+            [
+              93.747048,
+              27.015587
+            ],
+            [
+              93.817265,
+              27.025183
+            ],
+            [
+              93.841903,
+              27.045973
+            ],
+            [
+              93.849294,
+              27.168499
+            ],
+            [
+              93.970634,
+              27.30525
+            ],
+            [
+              94.056866,
+              27.375423
+            ],
+            [
+              94.147409,
+              27.458297
+            ],
+            [
+              94.220705,
+              27.536333
+            ],
+            [
+              94.277372,
+              27.58143
+            ],
+            [
+              94.353132,
+              27.578778
+            ],
+            [
+              94.399944,
+              27.589386
+            ],
+            [
+              94.443675,
+              27.585143
+            ],
+            [
+              94.478168,
+              27.602116
+            ],
+            [
+              94.524979,
+              27.596282
+            ],
+            [
+              94.660486,
+              27.650367
+            ],
+            [
+              94.722696,
+              27.683759
+            ],
+            [
+              94.78121,
+              27.699127
+            ],
+            [
+              94.836645,
+              27.728796
+            ],
+            [
+              94.88592,
+              27.743098
+            ],
+            [
+              94.947514,
+              27.792345
+            ],
+            [
+              95.015267,
+              27.82887
+            ],
+            [
+              95.067006,
+              27.840512
+            ],
+            [
+              95.28628,
+              27.939955
+            ],
+            [
+              95.32878,
+              28.017646
+            ],
+            [
+              95.352802,
+              28.04089
+            ],
+            [
+              95.371896,
+              28.110063
+            ],
+            [
+              95.39715,
+              28.142259
+            ],
+            [
+              95.437802,
+              28.161782
+            ],
+            [
+              95.528345,
+              28.182885
+            ],
+            [
+              95.674322,
+              28.254075
+            ],
+            [
+              95.740228,
+              28.275159
+            ],
+            [
+              95.787655,
+              28.270416
+            ],
+            [
+              95.832003,
+              28.295186
+            ],
+            [
+              95.874502,
+              28.29782
+            ],
+            [
+              95.899756,
+              28.278322
+            ],
+            [
+              95.907763,
+              28.241422
+            ],
+            [
+              95.936096,
+              28.240368
+            ],
+            [
+              95.989067,
+              28.198181
+            ],
+            [
+              96.074683,
+              28.193434
+            ],
+            [
+              96.098088,
+              28.212421
+            ],
+            [
+              96.194175,
+              28.212949
+            ],
+            [
+              96.275479,
+              28.228241
+            ],
+            [
+              96.298269,
+              28.140148
+            ],
+            [
+              96.367254,
+              28.118509
+            ],
+            [
+              96.398667,
+              28.118509
+            ],
+            [
+              96.395587,
+              28.143842
+            ],
+            [
+              96.426384,
+              28.161782
+            ],
+            [
+              96.46334,
+              28.143314
+            ],
+            [
+              96.499681,
+              28.067297
+            ],
+            [
+              96.538485,
+              28.075218
+            ],
+            [
+              96.623485,
+              28.024514
+            ],
+            [
+              96.635188,
+              27.994926
+            ],
+            [
+              96.690622,
+              27.948942
+            ],
+            [
+              96.711564,
+              27.9574
+            ],
+            [
+              96.784245,
+              27.931495
+            ],
+            [
+              96.810114,
+              27.890245
+            ],
+            [
+              96.849534,
+              27.874375
+            ],
+            [
+              96.908049,
+              27.884426
+            ],
+            [
+              96.972722,
+              27.861149
+            ],
+            [
+              97.008447,
+              27.807698
+            ],
+            [
+              97.049099,
+              27.81405
+            ],
+            [
+              97.062649,
+              27.742568
+            ],
+            [
+              97.097758,
+              27.740979
+            ],
+            [
+              97.103301,
+              27.780697
+            ],
+            [
+              97.167975,
+              27.811932
+            ],
+            [
+              97.253591,
+              27.891832
+            ],
+            [
+              97.303482,
+              27.913516
+            ],
+            [
+              97.324424,
+              27.880723
+            ],
+            [
+              97.386634,
+              27.882839
+            ],
+            [
+              97.372467,
+              27.907699
+            ],
+            [
+              97.379242,
+              27.970087
+            ],
+            [
+              97.413119,
+              28.01342
+            ],
+            [
+              97.378626,
+              28.031382
+            ],
+            [
+              97.375547,
+              28.062545
+            ],
+            [
+              97.320728,
+              28.054095
+            ],
+            [
+              97.305945,
+              28.071522
+            ],
+            [
+              97.340438,
+              28.104785
+            ],
+            [
+              97.326887,
+              28.132759
+            ],
+            [
+              97.352757,
+              28.149646
+            ],
+            [
+              97.362612,
+              28.199236
+            ],
+            [
+              97.349677,
+              28.235623
+            ],
+            [
+              97.398336,
+              28.238786
+            ],
+            [
+              97.402032,
+              28.279903
+            ],
+            [
+              97.422358,
+              28.297293
+            ],
+            [
+              97.461162,
+              28.26778
+            ],
+            [
+              97.469169,
+              28.30309
+            ],
+            [
+              97.518445,
+              28.327852
+            ],
+            [
+              97.488879,
+              28.347341
+            ],
+            [
+              97.485184,
+              28.38631
+            ],
+            [
+              97.499966,
+              28.428948
+            ],
+            [
+              97.521524,
+              28.444736
+            ],
+            [
+              97.507974,
+              28.46473
+            ],
+            [
+              97.521524,
+              28.495766
+            ],
+            [
+              97.569567,
+              28.541515
+            ],
+            [
+              97.60406,
+              28.515225
+            ],
+            [
+              97.634857,
+              28.532051
+            ],
+            [
+              97.68598,
+              28.519958
+            ],
+            [
+              97.737103,
+              28.465782
+            ],
+            [
+              97.738335,
+              28.396313
+            ],
+            [
+              97.769748,
+              28.3742
+            ],
+            [
+              97.801161,
+              28.326798
+            ],
+            [
+              97.842429,
+              28.326798
+            ],
+            [
+              97.871378,
+              28.361561
+            ],
+            [
+              97.907718,
+              28.363141
+            ],
+            [
+              98.020435,
+              28.253548
+            ],
+            [
+              98.008116,
+              28.214003
+            ],
+            [
+              98.03337,
+              28.187105
+            ],
+            [
+              98.056775,
+              28.202401
+            ],
+            [
+              98.090036,
+              28.195544
+            ],
+            [
+              98.097427,
+              28.166531
+            ],
+            [
+              98.139311,
+              28.142259
+            ],
+            [
+              98.17442,
+              28.163365
+            ],
+            [
+              98.169492,
+              28.206093
+            ],
+            [
+              98.21692,
+              28.212949
+            ],
+            [
+              98.266811,
+              28.242477
+            ],
+            [
+              98.231702,
+              28.314681
+            ],
+            [
+              98.207681,
+              28.330486
+            ],
+            [
+              98.208913,
+              28.358401
+            ],
+            [
+              98.301303,
+              28.384204
+            ],
+            [
+              98.317934,
+              28.324691
+            ],
+            [
+              98.353042,
+              28.293078
+            ],
+            [
+              98.37768,
+              28.246167
+            ],
+            [
+              98.370289,
+              28.18394
+            ],
+            [
+              98.389999,
+              28.16442
+            ],
+            [
+              98.389383,
+              28.114814
+            ],
+            [
+              98.428803,
+              28.104785
+            ],
+            [
+              98.464527,
+              28.151229
+            ],
+            [
+              98.494092,
+              28.141203
+            ],
+            [
+              98.559382,
+              28.182885
+            ],
+            [
+              98.625903,
+              28.165475
+            ],
+            [
+              98.649925,
+              28.200291
+            ],
+            [
+              98.712135,
+              28.229296
+            ],
+            [
+              98.710287,
+              28.288862
+            ],
+            [
+              98.746628,
+              28.321003
+            ],
+            [
+              98.740468,
+              28.348395
+            ],
+            [
+              98.693041,
+              28.43158
+            ],
+            [
+              98.673947,
+              28.478934
+            ],
+            [
+              98.625903,
+              28.489455
+            ],
+            [
+              98.619128,
+              28.50944
+            ],
+            [
+              98.637606,
+              28.552029
+            ],
+            [
+              98.594491,
+              28.667615
+            ],
+            [
+              98.666555,
+              28.712239
+            ],
+            [
+              98.683802,
+              28.740054
+            ],
+            [
+              98.652389,
+              28.817162
+            ],
+            [
+              98.668403,
+              28.843376
+            ],
+            [
+              98.643766,
+              28.895261
+            ],
+            [
+              98.6567,
+              28.910454
+            ],
+            [
+              98.624056,
+              28.95864
+            ],
+            [
+              98.655469,
+              28.976966
+            ],
+            [
+              98.70228,
+              28.9644
+            ],
+            [
+              98.757714,
+              29.004186
+            ],
+            [
+              98.786048,
+              28.998952
+            ],
+            [
+              98.821772,
+              28.920931
+            ],
+            [
+              98.827932,
+              28.821356
+            ],
+            [
+              98.852569,
+              28.798283
+            ],
+            [
+              98.912931,
+              28.800906
+            ],
+            [
+              98.922786,
+              28.823978
+            ],
+            [
+              98.972677,
+              28.832367
+            ],
+            [
+              98.973909,
+              28.864867
+            ],
+            [
+              98.917859,
+              28.886877
+            ],
+            [
+              98.925866,
+              28.978536
+            ],
+            [
+              99.013329,
+              29.036632
+            ],
+            [
+              98.991771,
+              29.105677
+            ],
+            [
+              98.967134,
+              29.128159
+            ],
+            [
+              98.960974,
+              29.165792
+            ],
+            [
+              98.9813,
+              29.204978
+            ],
+            [
+              99.024416,
+              29.188783
+            ],
+            [
+              99.037351,
+              29.20759
+            ],
+            [
+              99.113727,
+              29.221171
+            ],
+            [
+              99.114343,
+              29.243628
+            ],
+            [
+              99.075539,
+              29.316186
+            ],
+            [
+              99.058909,
+              29.417368
+            ],
+            [
+              99.066916,
+              29.421018
+            ],
+            [
+              99.044742,
+              29.520013
+            ],
+            [
+              99.052133,
+              29.563748
+            ],
+            [
+              99.014561,
+              29.607464
+            ],
+            [
+              98.992387,
+              29.677163
+            ],
+            [
+              99.018873,
+              29.792009
+            ],
+            [
+              99.0238,
+              29.846009
+            ],
+            [
+              99.068148,
+              29.931621
+            ],
+            [
+              99.055213,
+              29.958587
+            ],
+            [
+              99.036735,
+              30.053945
+            ],
+            [
+              99.044742,
+              30.079842
+            ],
+            [
+              98.989308,
+              30.151799
+            ],
+            [
+              98.9813,
+              30.182843
+            ],
+            [
+              98.993003,
+              30.215429
+            ],
+            [
+              98.970829,
+              30.260928
+            ],
+            [
+              98.986844,
+              30.280569
+            ],
+            [
+              98.967134,
+              30.33482
+            ],
+            [
+              98.965286,
+              30.449937
+            ],
+            [
+              98.932025,
+              30.521623
+            ],
+            [
+              98.926482,
+              30.569556
+            ],
+            [
+              98.939417,
+              30.598923
+            ],
+            [
+              98.92217,
+              30.609225
+            ],
+            [
+              98.907388,
+              30.698292
+            ],
+            [
+              98.963438,
+              30.728134
+            ],
+            [
+              98.957895,
+              30.765166
+            ],
+            [
+              98.904924,
+              30.782649
+            ],
+            [
+              98.850105,
+              30.849465
+            ],
+            [
+              98.797135,
+              30.87926
+            ],
+            [
+              98.774345,
+              30.908019
+            ],
+            [
+              98.797135,
+              30.948575
+            ],
+            [
+              98.806374,
+              30.995783
+            ],
+            [
+              98.774961,
+              31.031174
+            ],
+            [
+              98.736772,
+              31.049121
+            ],
+            [
+              98.712135,
+              31.082954
+            ],
+            [
+              98.710287,
+              31.1178
+            ],
+            [
+              98.675179,
+              31.15417
+            ],
+            [
+              98.602498,
+              31.192062
+            ],
+            [
+              98.62344,
+              31.221238
+            ],
+            [
+              98.60373,
+              31.257568
+            ],
+            [
+              98.616048,
+              31.3036
+            ],
+            [
+              98.643766,
+              31.338876
+            ],
+            [
+              98.691809,
+              31.333253
+            ],
+            [
+              98.773113,
+              31.249382
+            ],
+            [
+              98.805758,
+              31.279052
+            ],
+            [
+              98.810685,
+              31.306668
+            ],
+            [
+              98.887062,
+              31.37465
+            ],
+            [
+              98.84333,
+              31.416028
+            ],
+            [
+              98.844562,
+              31.429817
+            ],
+            [
+              98.714599,
+              31.508935
+            ],
+            [
+              98.696736,
+              31.538523
+            ],
+            [
+              98.651157,
+              31.57881
+            ],
+            [
+              98.619128,
+              31.591555
+            ],
+            [
+              98.553839,
+              31.660349
+            ],
+            [
+              98.545831,
+              31.717383
+            ],
+            [
+              98.516882,
+              31.717383
+            ],
+            [
+              98.508875,
+              31.751995
+            ],
+            [
+              98.461448,
+              31.800327
+            ],
+            [
+              98.414636,
+              31.832365
+            ],
+            [
+              98.426339,
+              31.856767
+            ],
+            [
+              98.399238,
+              31.895899
+            ],
+            [
+              98.432498,
+              31.922825
+            ],
+            [
+              98.434962,
+              32.007613
+            ],
+            [
+              98.402933,
+              32.026896
+            ],
+            [
+              98.404781,
+              32.045159
+            ],
+            [
+              98.357354,
+              32.087253
+            ],
+            [
+              98.303151,
+              32.121726
+            ],
+            [
+              98.260035,
+              32.208862
+            ],
+            [
+              98.218768,
+              32.234683
+            ],
+            [
+              98.23047,
+              32.262521
+            ],
+            [
+              98.208913,
+              32.318171
+            ],
+            [
+              98.218768,
+              32.342444
+            ],
+            [
+              98.125145,
+              32.401077
+            ],
+            [
+              98.107283,
+              32.391476
+            ],
+            [
+              98.079565,
+              32.415224
+            ],
+            [
+              97.940363,
+              32.482393
+            ],
+            [
+              97.880001,
+              32.486431
+            ],
+            [
+              97.863986,
+              32.499051
+            ],
+            [
+              97.80732,
+              32.50006
+            ],
+            [
+              97.795617,
+              32.521257
+            ],
+            [
+              97.730944,
+              32.527312
+            ],
+            [
+              97.684132,
+              32.530339
+            ],
+            [
+              97.670582,
+              32.51722
+            ],
+            [
+              97.540618,
+              32.536899
+            ],
+            [
+              97.50243,
+              32.530844
+            ],
+            [
+              97.463626,
+              32.55506
+            ],
+            [
+              97.448843,
+              32.586833
+            ],
+            [
+              97.411887,
+              32.575235
+            ],
+            [
+              97.374315,
+              32.546484
+            ],
+            [
+              97.3583,
+              32.563635
+            ],
+            [
+              97.332431,
+              32.542448
+            ],
+            [
+              97.334895,
+              32.514192
+            ],
+            [
+              97.388481,
+              32.501575
+            ],
+            [
+              97.341054,
+              32.440987
+            ],
+            [
+              97.387865,
+              32.427349
+            ],
+            [
+              97.424822,
+              32.322723
+            ],
+            [
+              97.415583,
+              32.296421
+            ],
+            [
+              97.371235,
+              32.273148
+            ],
+            [
+              97.32196,
+              32.303503
+            ],
+            [
+              97.299786,
+              32.294904
+            ],
+            [
+              97.264062,
+              32.182527
+            ],
+            [
+              97.271453,
+              32.139971
+            ],
+            [
+              97.313953,
+              32.130342
+            ],
+            [
+              97.293011,
+              32.096887
+            ],
+            [
+              97.308409,
+              32.076605
+            ],
+            [
+              97.258518,
+              32.072041
+            ],
+            [
+              97.219714,
+              32.109054
+            ],
+            [
+              97.201852,
+              32.090296
+            ],
+            [
+              97.233881,
+              32.063927
+            ],
+            [
+              97.214786,
+              32.042623
+            ],
+            [
+              97.188301,
+              32.055304
+            ],
+            [
+              97.169823,
+              32.032984
+            ],
+            [
+              97.127323,
+              32.044145
+            ],
+            [
+              97.028773,
+              32.04871
+            ],
+            [
+              97.006599,
+              32.067984
+            ],
+            [
+              96.935766,
+              32.048203
+            ],
+            [
+              96.965947,
+              32.008628
+            ],
+            [
+              96.941925,
+              31.986297
+            ],
+            [
+              96.894498,
+              32.013703
+            ],
+            [
+              96.863085,
+              31.996448
+            ],
+            [
+              96.868629,
+              31.964975
+            ],
+            [
+              96.824281,
+              32.007613
+            ],
+            [
+              96.722651,
+              32.013195
+            ],
+            [
+              96.742977,
+              32.001016
+            ],
+            [
+              96.753448,
+              31.944156
+            ],
+            [
+              96.776238,
+              31.935015
+            ],
+            [
+              96.81073,
+              31.894375
+            ],
+            [
+              96.794716,
+              31.869474
+            ],
+            [
+              96.760223,
+              31.860325
+            ],
+            [
+              96.765767,
+              31.819144
+            ],
+            [
+              96.799027,
+              31.792188
+            ],
+            [
+              96.840295,
+              31.720438
+            ],
+            [
+              96.790404,
+              31.698545
+            ],
+            [
+              96.778701,
+              31.675629
+            ],
+            [
+              96.722651,
+              31.686833
+            ],
+            [
+              96.691854,
+              31.722474
+            ],
+            [
+              96.661057,
+              31.705674
+            ],
+            [
+              96.615477,
+              31.737236
+            ],
+            [
+              96.56805,
+              31.711783
+            ],
+            [
+              96.519391,
+              31.74945
+            ],
+            [
+              96.468884,
+              31.769804
+            ],
+            [
+              96.435623,
+              31.796258
+            ],
+            [
+              96.407906,
+              31.845583
+            ],
+            [
+              96.389428,
+              31.919777
+            ],
+            [
+              96.288414,
+              31.919777
+            ],
+            [
+              96.253305,
+              31.929936
+            ],
+            [
+              96.220044,
+              31.905553
+            ],
+            [
+              96.188632,
+              31.904028
+            ],
+            [
+              96.214501,
+              31.876589
+            ],
+            [
+              96.202798,
+              31.841008
+            ],
+            [
+              96.183088,
+              31.835924
+            ],
+            [
+              96.178161,
+              31.775401
+            ],
+            [
+              96.231131,
+              31.749959
+            ],
+            [
+              96.222508,
+              31.733164
+            ],
+            [
+              96.252073,
+              31.697527
+            ],
+            [
+              96.245298,
+              31.657802
+            ],
+            [
+              96.221892,
+              31.647613
+            ],
+            [
+              96.207726,
+              31.598691
+            ],
+            [
+              96.156603,
+              31.602769
+            ],
+            [
+              96.148595,
+              31.686324
+            ],
+            [
+              96.135661,
+              31.70211
+            ],
+            [
+              96.064828,
+              31.720438
+            ],
+            [
+              95.989067,
+              31.78761
+            ],
+            [
+              95.983524,
+              31.816601
+            ],
+            [
+              95.89914,
+              31.81711
+            ],
+            [
+              95.846169,
+              31.736218
+            ],
+            [
+              95.853561,
+              31.714329
+            ],
+            [
+              95.823995,
+              31.68225
+            ],
+            [
+              95.779648,
+              31.748941
+            ],
+            [
+              95.634286,
+              31.782523
+            ],
+            [
+              95.580083,
+              31.76726
+            ],
+            [
+              95.546823,
+              31.73978
+            ],
+            [
+              95.511714,
+              31.750468
+            ],
+            [
+              95.480301,
+              31.795749
+            ],
+            [
+              95.456896,
+              31.801853
+            ],
+            [
+              95.406389,
+              31.896915
+            ],
+            [
+              95.408852,
+              31.918761
+            ],
+            [
+              95.3682,
+              31.92892
+            ],
+            [
+              95.360809,
+              31.95939
+            ],
+            [
+              95.395918,
+              32.001523
+            ],
+            [
+              95.454432,
+              32.007613
+            ],
+            [
+              95.421171,
+              32.033999
+            ],
+            [
+              95.454432,
+              32.061898
+            ],
+            [
+              95.440265,
+              32.157705
+            ],
+            [
+              95.406389,
+              32.182021
+            ],
+            [
+              95.367584,
+              32.178982
+            ],
+            [
+              95.366968,
+              32.151118
+            ],
+            [
+              95.31523,
+              32.148585
+            ],
+            [
+              95.270266,
+              32.194683
+            ],
+            [
+              95.270266,
+              32.194683
+            ],
+            [
+              95.239469,
+              32.287315
+            ],
+            [
+              95.241317,
+              32.3207
+            ],
+            [
+              95.214216,
+              32.321712
+            ],
+            [
+              95.20744,
+              32.297433
+            ],
+            [
+              95.10581,
+              32.258979
+            ],
+            [
+              95.079325,
+              32.279726
+            ],
+            [
+              95.096571,
+              32.322217
+            ],
+            [
+              95.193274,
+              32.332331
+            ],
+            [
+              95.261643,
+              32.348006
+            ],
+            [
+              95.228382,
+              32.363678
+            ],
+            [
+              95.218527,
+              32.397035
+            ],
+            [
+              95.153853,
+              32.386423
+            ],
+            [
+              95.081789,
+              32.384907
+            ],
+            [
+              95.075013,
+              32.376315
+            ],
+            [
+              95.075013,
+              32.376315
+            ],
+            [
+              95.057151,
+              32.395014
+            ],
+            [
+              94.988166,
+              32.422802
+            ],
+            [
+              94.944434,
+              32.404109
+            ],
+            [
+              94.912405,
+              32.41573
+            ],
+            [
+              94.889616,
+              32.472295
+            ],
+            [
+              94.852043,
+              32.463712
+            ],
+            [
+              94.80708,
+              32.486431
+            ],
+            [
+              94.78737,
+              32.522266
+            ],
+            [
+              94.762116,
+              32.526303
+            ],
+            [
+              94.737479,
+              32.587338
+            ],
+            [
+              94.638312,
+              32.645307
+            ],
+            [
+              94.614291,
+              32.673522
+            ],
+            [
+              94.591501,
+              32.640772
+            ],
+            [
+              94.522516,
+              32.595909
+            ],
+            [
+              94.459074,
+              32.599439
+            ],
+            [
+              94.463386,
+              32.572209
+            ],
+            [
+              94.435052,
+              32.562626
+            ],
+            [
+              94.395016,
+              32.594397
+            ],
+            [
+              94.371611,
+              32.524789
+            ],
+            [
+              94.350053,
+              32.533871
+            ],
+            [
+              94.294002,
+              32.519743
+            ],
+            [
+              94.292154,
+              32.502584
+            ],
+            [
+              94.250886,
+              32.51722
+            ],
+            [
+              94.196684,
+              32.51621
+            ],
+            [
+              94.176974,
+              32.454117
+            ],
+            [
+              94.137554,
+              32.433915
+            ],
+            [
+              94.091974,
+              32.463207
+            ],
+            [
+              94.049474,
+              32.469771
+            ],
+            [
+              94.03038,
+              32.448057
+            ],
+            [
+              93.978641,
+              32.459672
+            ],
+            [
+              93.960163,
+              32.484917
+            ],
+            [
+              93.90904,
+              32.463207
+            ],
+            [
+              93.861613,
+              32.466237
+            ],
+            [
+              93.851142,
+              32.50965
+            ],
+            [
+              93.820345,
+              32.549511
+            ],
+            [
+              93.75136,
+              32.56313
+            ],
+            [
+              93.721795,
+              32.578261
+            ],
+            [
+              93.651577,
+              32.571705
+            ],
+            [
+              93.618933,
+              32.522771
+            ],
+            [
+              93.516687,
+              32.47583
+            ],
+            [
+              93.501904,
+              32.503593
+            ],
+            [
+              93.476651,
+              32.504603
+            ],
+            [
+              93.4631,
+              32.556069
+            ],
+            [
+              93.411977,
+              32.558086
+            ],
+            [
+              93.385492,
+              32.525294
+            ],
+            [
+              93.33868,
+              32.5712
+            ],
+            [
+              93.308499,
+              32.580278
+            ],
+            [
+              93.300492,
+              32.619604
+            ],
+            [
+              93.260456,
+              32.62666
+            ],
+            [
+              93.239514,
+              32.662439
+            ],
+            [
+              93.210565,
+              32.655385
+            ],
+            [
+              93.176688,
+              32.6705
+            ],
+            [
+              93.159442,
+              32.644803
+            ],
+            [
+              93.087993,
+              32.63674
+            ],
+            [
+              93.069515,
+              32.626156
+            ],
+            [
+              93.023935,
+              32.703239
+            ],
+            [
+              93.019624,
+              32.737477
+            ],
+            [
+              93.00053,
+              32.741001
+            ],
+            [
+              92.964189,
+              32.714821
+            ],
+            [
+              92.933392,
+              32.719353
+            ],
+            [
+              92.866871,
+              32.698203
+            ],
+            [
+              92.822523,
+              32.729926
+            ],
+            [
+              92.789262,
+              32.719856
+            ],
+            [
+              92.756618,
+              32.743014
+            ],
+            [
+              92.686401,
+              32.76516
+            ],
+            [
+              92.667922,
+              32.73194
+            ],
+            [
+              92.634662,
+              32.720863
+            ],
+            [
+              92.574916,
+              32.741001
+            ],
+            [
+              92.56814,
+              32.73194
+            ],
+            [
+              92.484372,
+              32.745028
+            ],
+            [
+              92.459119,
+              32.76365
+            ],
+            [
+              92.411076,
+              32.748048
+            ],
+            [
+              92.355641,
+              32.764657
+            ],
+            [
+              92.343938,
+              32.738484
+            ],
+            [
+              92.310062,
+              32.751571
+            ],
+            [
+              92.255243,
+              32.720863
+            ],
+            [
+              92.198577,
+              32.754591
+            ],
+            [
+              92.211511,
+              32.788306
+            ],
+            [
+              92.193649,
+              32.801889
+            ],
+            [
+              92.227526,
+              32.821003
+            ],
+            [
+              92.205352,
+              32.866255
+            ],
+            [
+              92.145606,
+              32.885857
+            ],
+            [
+              92.101874,
+              32.860222
+            ],
+            [
+              92.038432,
+              32.860725
+            ],
+            [
+              92.018722,
+              32.829552
+            ],
+            [
+              91.955897,
+              32.8205
+            ],
+            [
+              91.896766,
+              32.907967
+            ],
+            [
+              91.857962,
+              32.90244
+            ],
+            [
+              91.839484,
+              32.948152
+            ],
+            [
+              91.799448,
+              32.942126
+            ],
+            [
+              91.752637,
+              32.969242
+            ],
+            [
+              91.685499,
+              32.989324
+            ],
+            [
+              91.664557,
+              33.012913
+            ],
+            [
+              91.583253,
+              33.0375
+            ],
+            [
+              91.55492,
+              33.060074
+            ],
+            [
+              91.535826,
+              33.10019
+            ],
+            [
+              91.49579,
+              33.109214
+            ],
+            [
+              91.436044,
+              33.066092
+            ],
+            [
+              91.370138,
+              33.100691
+            ],
+            [
+              91.311624,
+              33.108211
+            ],
+            [
+              91.261733,
+              33.141291
+            ],
+            [
+              91.226624,
+              33.141792
+            ],
+            [
+              91.18782,
+              33.106206
+            ],
+            [
+              91.161335,
+              33.108712
+            ],
+            [
+              91.147784,
+              33.07211
+            ],
+            [
+              91.072024,
+              33.113224
+            ],
+            [
+              91.037531,
+              33.098686
+            ],
+            [
+              91.001807,
+              33.11573
+            ],
+            [
+              90.927894,
+              33.120241
+            ],
+            [
+              90.902024,
+              33.083143
+            ],
+            [
+              90.88293,
+              33.120241
+            ],
+            [
+              90.803474,
+              33.114227
+            ],
+            [
+              90.740032,
+              33.142293
+            ],
+            [
+              90.704308,
+              33.135778
+            ],
+            [
+              90.627315,
+              33.180368
+            ],
+            [
+              90.562642,
+              33.229441
+            ],
+            [
+              90.490577,
+              33.264977
+            ],
+            [
+              90.405577,
+              33.260473
+            ],
+            [
+              90.363077,
+              33.279487
+            ],
+            [
+              90.332896,
+              33.310501
+            ],
+            [
+              90.246665,
+              33.423959
+            ],
+            [
+              90.22018,
+              33.437943
+            ],
+            [
+              90.107463,
+              33.460913
+            ],
+            [
+              90.088984,
+              33.478885
+            ],
+            [
+              90.083441,
+              33.525295
+            ],
+            [
+              90.01076,
+              33.553728
+            ],
+            [
+              89.984275,
+              33.612061
+            ],
+            [
+              90.008296,
+              33.687785
+            ],
+            [
+              89.981195,
+              33.70322
+            ],
+            [
+              89.983659,
+              33.725622
+            ],
+            [
+              89.907282,
+              33.741051
+            ],
+            [
+              89.902355,
+              33.758467
+            ],
+            [
+              89.942391,
+              33.801246
+            ],
+            [
+              89.899891,
+              33.80771
+            ],
+            [
+              89.837065,
+              33.868853
+            ],
+            [
+              89.795181,
+              33.865374
+            ],
+            [
+              89.73174,
+              33.921509
+            ],
+            [
+              89.718805,
+              33.946832
+            ],
+            [
+              89.688008,
+              33.959739
+            ],
+            [
+              89.684928,
+              33.990013
+            ],
+            [
+              89.635037,
+              34.049537
+            ],
+            [
+              89.656595,
+              34.057966
+            ],
+            [
+              89.655979,
+              34.097126
+            ],
+            [
+              89.71203,
+              34.131809
+            ],
+            [
+              89.756993,
+              34.124874
+            ],
+            [
+              89.760073,
+              34.152613
+            ],
+            [
+              89.789638,
+              34.150632
+            ],
+            [
+              89.816739,
+              34.16945
+            ],
+            [
+              89.838297,
+              34.263477
+            ],
+            [
+              89.825362,
+              34.293642
+            ],
+            [
+              89.86663,
+              34.324785
+            ],
+            [
+              89.858623,
+              34.359375
+            ],
+            [
+              89.820435,
+              34.369255
+            ],
+            [
+              89.799493,
+              34.39642
+            ],
+            [
+              89.819819,
+              34.420614
+            ],
+            [
+              89.823515,
+              34.455657
+            ],
+            [
+              89.814891,
+              34.548871
+            ],
+            [
+              89.777935,
+              34.574499
+            ],
+            [
+              89.798877,
+              34.628686
+            ],
+            [
+              89.74837,
+              34.641981
+            ],
+            [
+              89.72558,
+              34.660689
+            ],
+            [
+              89.732356,
+              34.732035
+            ],
+            [
+              89.799493,
+              34.743838
+            ],
+            [
+              89.825978,
+              34.796931
+            ],
+            [
+              89.867862,
+              34.81069
+            ],
+            [
+              89.838913,
+              34.865705
+            ],
+            [
+              89.814891,
+              34.86816
+            ],
+            [
+              89.821051,
+              34.902033
+            ],
+            [
+              89.78779,
+              34.921664
+            ],
+            [
+              89.747138,
+              34.903506
+            ],
+            [
+              89.707102,
+              34.919701
+            ],
+            [
+              89.670146,
+              34.887798
+            ],
+            [
+              89.578987,
+              34.895162
+            ],
+            [
+              89.560509,
+              34.938836
+            ],
+            [
+              89.59069,
+              35.057965
+            ],
+            [
+              89.593153,
+              35.104491
+            ],
+            [
+              89.579603,
+              35.118688
+            ],
+            [
+              89.519241,
+              35.133862
+            ],
+            [
+              89.46935,
+              35.214577
+            ],
+            [
+              89.450255,
+              35.223867
+            ],
+            [
+              89.48598,
+              35.256616
+            ],
+            [
+              89.531559,
+              35.276161
+            ],
+            [
+              89.494603,
+              35.298632
+            ],
+            [
+              89.516161,
+              35.330862
+            ],
+            [
+              89.497067,
+              35.361128
+            ],
+            [
+              89.58761,
+              35.383575
+            ],
+            [
+              89.619639,
+              35.412357
+            ],
+            [
+              89.658443,
+              35.425526
+            ],
+            [
+              89.685544,
+              35.416259
+            ],
+            [
+              89.739131,
+              35.468429
+            ],
+            [
+              89.765,
+              35.482563
+            ],
+            [
+              89.740979,
+              35.507412
+            ],
+            [
+              89.720037,
+              35.501566
+            ],
+            [
+              89.699711,
+              35.544916
+            ],
+            [
+              89.71203,
+              35.581915
+            ],
+            [
+              89.75145,
+              35.580942
+            ],
+            [
+              89.765616,
+              35.599922
+            ],
+            [
+              89.726196,
+              35.648082
+            ],
+            [
+              89.748986,
+              35.66267
+            ],
+            [
+              89.747138,
+              35.7516
+            ],
+            [
+              89.782863,
+              35.773453
+            ],
+            [
+              89.767464,
+              35.799183
+            ],
+            [
+              89.801957,
+              35.848193
+            ],
+            [
+              89.778551,
+              35.861775
+            ],
+            [
+              89.707718,
+              35.849163
+            ],
+            [
+              89.654747,
+              35.848193
+            ],
+            [
+              89.62395,
+              35.859349
+            ],
+            [
+              89.550654,
+              35.856924
+            ],
+            [
+              89.554965,
+              35.873414
+            ],
+            [
+              89.489676,
+              35.903475
+            ],
+            [
+              89.428082,
+              35.917531
+            ],
+            [
+              89.434857,
+              35.992136
+            ],
+            [
+              89.404676,
+              36.016827
+            ],
+            [
+              89.417611,
+              36.044897
+            ],
+            [
+              89.474893,
+              36.022151
+            ],
+            [
+              89.605472,
+              36.038123
+            ],
+            [
+              89.688624,
+              36.091337
+            ],
+            [
+              89.711414,
+              36.093272
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 61e4,
+      name: "陕西省",
+      center: [
+        108.948024,
+        34.263161
+      ],
+      centroid: [
+        108.887114,
+        35.263661
+      ],
+      childrenNum: 10,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 26,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              110.379257,
+              34.600612
+            ],
+            [
+              110.29549,
+              34.610956
+            ],
+            [
+              110.269004,
+              34.629671
+            ],
+            [
+              110.229584,
+              34.692679
+            ],
+            [
+              110.243135,
+              34.725641
+            ],
+            [
+              110.246831,
+              34.789068
+            ],
+            [
+              110.230816,
+              34.880925
+            ],
+            [
+              110.262229,
+              34.944233
+            ],
+            [
+              110.320743,
+              35.00504
+            ],
+            [
+              110.373714,
+              35.134351
+            ],
+            [
+              110.364475,
+              35.197952
+            ],
+            [
+              110.378642,
+              35.210666
+            ],
+            [
+              110.374946,
+              35.251728
+            ],
+            [
+              110.45009,
+              35.327933
+            ],
+            [
+              110.477808,
+              35.413821
+            ],
+            [
+              110.531394,
+              35.511309
+            ],
+            [
+              110.567735,
+              35.539559
+            ],
+            [
+              110.589293,
+              35.602355
+            ],
+            [
+              110.609619,
+              35.632031
+            ],
+            [
+              110.57759,
+              35.701559
+            ],
+            [
+              110.571431,
+              35.800639
+            ],
+            [
+              110.550489,
+              35.838005
+            ],
+            [
+              110.549257,
+              35.877778
+            ],
+            [
+              110.511684,
+              35.879718
+            ],
+            [
+              110.516612,
+              35.918501
+            ],
+            [
+              110.502445,
+              35.947575
+            ],
+            [
+              110.516612,
+              35.971796
+            ],
+            [
+              110.49259,
+              35.994073
+            ],
+            [
+              110.491974,
+              36.034735
+            ],
+            [
+              110.467953,
+              36.074893
+            ],
+            [
+              110.447011,
+              36.164328
+            ],
+            [
+              110.45625,
+              36.22663
+            ],
+            [
+              110.474112,
+              36.248352
+            ],
+            [
+              110.474112,
+              36.306729
+            ],
+            [
+              110.459946,
+              36.327946
+            ],
+            [
+              110.487047,
+              36.393972
+            ],
+            [
+              110.489511,
+              36.430094
+            ],
+            [
+              110.47288,
+              36.453203
+            ],
+            [
+              110.503677,
+              36.488335
+            ],
+            [
+              110.488895,
+              36.556628
+            ],
+            [
+              110.496902,
+              36.582102
+            ],
+            [
+              110.447627,
+              36.621018
+            ],
+            [
+              110.426685,
+              36.657514
+            ],
+            [
+              110.394656,
+              36.676716
+            ],
+            [
+              110.402663,
+              36.697352
+            ],
+            [
+              110.438388,
+              36.685835
+            ],
+            [
+              110.447011,
+              36.737649
+            ],
+            [
+              110.407591,
+              36.776007
+            ],
+            [
+              110.423605,
+              36.818179
+            ],
+            [
+              110.406975,
+              36.824886
+            ],
+            [
+              110.424221,
+              36.855539
+            ],
+            [
+              110.376178,
+              36.882351
+            ],
+            [
+              110.408823,
+              36.892403
+            ],
+            [
+              110.424221,
+              36.963685
+            ],
+            [
+              110.381721,
+              37.002408
+            ],
+            [
+              110.382953,
+              37.022001
+            ],
+            [
+              110.426685,
+              37.008621
+            ],
+            [
+              110.417446,
+              37.027257
+            ],
+            [
+              110.460561,
+              37.044932
+            ],
+            [
+              110.49567,
+              37.086956
+            ],
+            [
+              110.535706,
+              37.115118
+            ],
+            [
+              110.53509,
+              37.138021
+            ],
+            [
+              110.590525,
+              37.187145
+            ],
+            [
+              110.651503,
+              37.256722
+            ],
+            [
+              110.661974,
+              37.281963
+            ],
+            [
+              110.690307,
+              37.287201
+            ],
+            [
+              110.678604,
+              37.317668
+            ],
+            [
+              110.695234,
+              37.34955
+            ],
+            [
+              110.641648,
+              37.360015
+            ],
+            [
+              110.630561,
+              37.372858
+            ],
+            [
+              110.644111,
+              37.435135
+            ],
+            [
+              110.740198,
+              37.44939
+            ],
+            [
+              110.759292,
+              37.474567
+            ],
+            [
+              110.770995,
+              37.538184
+            ],
+            [
+              110.795017,
+              37.558586
+            ],
+            [
+              110.771611,
+              37.594634
+            ],
+            [
+              110.763604,
+              37.639668
+            ],
+            [
+              110.793169,
+              37.650567
+            ],
+            [
+              110.775306,
+              37.680886
+            ],
+            [
+              110.706321,
+              37.705511
+            ],
+            [
+              110.716792,
+              37.728708
+            ],
+            [
+              110.750669,
+              37.736281
+            ],
+            [
+              110.735886,
+              37.77035
+            ],
+            [
+              110.680452,
+              37.790216
+            ],
+            [
+              110.59422,
+              37.922049
+            ],
+            [
+              110.522771,
+              37.955088
+            ],
+            [
+              110.528315,
+              37.990471
+            ],
+            [
+              110.507989,
+              38.013107
+            ],
+            [
+              110.501829,
+              38.097929
+            ],
+            [
+              110.519692,
+              38.130889
+            ],
+            [
+              110.509221,
+              38.192061
+            ],
+            [
+              110.528315,
+              38.211814
+            ],
+            [
+              110.565887,
+              38.215105
+            ],
+            [
+              110.57759,
+              38.297345
+            ],
+            [
+              110.601612,
+              38.308147
+            ],
+            [
+              110.661358,
+              38.308617
+            ],
+            [
+              110.701394,
+              38.353215
+            ],
+            [
+              110.746973,
+              38.366355
+            ],
+            [
+              110.77777,
+              38.440924
+            ],
+            [
+              110.796864,
+              38.453579
+            ],
+            [
+              110.840596,
+              38.439986
+            ],
+            [
+              110.874473,
+              38.453579
+            ],
+            [
+              110.870777,
+              38.510265
+            ],
+            [
+              110.907733,
+              38.521035
+            ],
+            [
+              110.920052,
+              38.581878
+            ],
+            [
+              110.898494,
+              38.587024
+            ],
+            [
+              110.880632,
+              38.626776
+            ],
+            [
+              110.916357,
+              38.673981
+            ],
+            [
+              110.915125,
+              38.704345
+            ],
+            [
+              110.965016,
+              38.755699
+            ],
+            [
+              111.009363,
+              38.847579
+            ],
+            [
+              110.995813,
+              38.868084
+            ],
+            [
+              111.016755,
+              38.889981
+            ],
+            [
+              111.009979,
+              38.932823
+            ],
+            [
+              110.980414,
+              38.970056
+            ],
+            [
+              110.998276,
+              38.998433
+            ],
+            [
+              111.038313,
+              39.020289
+            ],
+            [
+              111.094363,
+              39.030053
+            ],
+            [
+              111.138095,
+              39.064447
+            ],
+            [
+              111.147334,
+              39.100681
+            ],
+            [
+              111.173819,
+              39.135041
+            ],
+            [
+              111.163348,
+              39.152678
+            ],
+            [
+              111.219399,
+              39.244044
+            ],
+            [
+              111.213239,
+              39.257021
+            ],
+            [
+              111.247732,
+              39.302419
+            ],
+            [
+              111.202152,
+              39.305197
+            ],
+            [
+              111.179363,
+              39.326959
+            ],
+            [
+              111.186138,
+              39.35149
+            ],
+            [
+              111.155341,
+              39.338531
+            ],
+            [
+              111.159037,
+              39.362596
+            ],
+            [
+              111.125776,
+              39.366297
+            ],
+            [
+              111.087588,
+              39.376013
+            ],
+            [
+              111.098059,
+              39.401914
+            ],
+            [
+              111.064182,
+              39.400989
+            ],
+            [
+              111.058639,
+              39.447681
+            ],
+            [
+              111.10545,
+              39.472631
+            ],
+            [
+              111.10545,
+              39.497573
+            ],
+            [
+              111.148566,
+              39.531277
+            ],
+            [
+              111.154725,
+              39.569116
+            ],
+            [
+              111.136863,
+              39.587106
+            ],
+            [
+              111.101138,
+              39.559428
+            ],
+            [
+              111.017371,
+              39.552045
+            ],
+            [
+              110.958856,
+              39.519275
+            ],
+            [
+              110.891103,
+              39.509118
+            ],
+            [
+              110.869545,
+              39.494341
+            ],
+            [
+              110.782698,
+              39.38804
+            ],
+            [
+              110.73835,
+              39.348713
+            ],
+            [
+              110.731575,
+              39.30705
+            ],
+            [
+              110.702626,
+              39.273701
+            ],
+            [
+              110.626249,
+              39.266751
+            ],
+            [
+              110.596684,
+              39.282966
+            ],
+            [
+              110.566503,
+              39.320014
+            ],
+            [
+              110.559728,
+              39.351027
+            ],
+            [
+              110.524003,
+              39.382952
+            ],
+            [
+              110.482735,
+              39.360745
+            ],
+            [
+              110.434692,
+              39.381101
+            ],
+            [
+              110.429764,
+              39.341308
+            ],
+            [
+              110.385417,
+              39.310291
+            ],
+            [
+              110.257917,
+              39.407001
+            ],
+            [
+              110.243751,
+              39.423645
+            ],
+            [
+              110.152592,
+              39.45415
+            ],
+            [
+              110.12549,
+              39.432891
+            ],
+            [
+              110.136577,
+              39.39174
+            ],
+            [
+              110.161831,
+              39.387115
+            ],
+            [
+              110.184005,
+              39.355192
+            ],
+            [
+              110.217881,
+              39.281113
+            ],
+            [
+              110.109476,
+              39.249606
+            ],
+            [
+              110.041107,
+              39.21623
+            ],
+            [
+              109.962267,
+              39.212056
+            ],
+            [
+              109.90252,
+              39.271848
+            ],
+            [
+              109.871723,
+              39.243581
+            ],
+            [
+              109.961035,
+              39.191651
+            ],
+            [
+              109.893897,
+              39.141075
+            ],
+            [
+              109.92223,
+              39.107183
+            ],
+            [
+              109.890818,
+              39.103932
+            ],
+            [
+              109.851397,
+              39.122971
+            ],
+            [
+              109.793499,
+              39.074204
+            ],
+            [
+              109.762086,
+              39.057476
+            ],
+            [
+              109.72513,
+              39.018429
+            ],
+            [
+              109.665384,
+              38.981687
+            ],
+            [
+              109.685094,
+              38.968195
+            ],
+            [
+              109.672159,
+              38.928167
+            ],
+            [
+              109.624116,
+              38.85457
+            ],
+            [
+              109.549587,
+              38.805618
+            ],
+            [
+              109.511399,
+              38.833595
+            ],
+            [
+              109.444262,
+              38.782763
+            ],
+            [
+              109.404226,
+              38.720689
+            ],
+            [
+              109.338936,
+              38.701542
+            ],
+            [
+              109.329081,
+              38.66043
+            ],
+            [
+              109.367269,
+              38.627711
+            ],
+            [
+              109.331545,
+              38.597783
+            ],
+            [
+              109.276726,
+              38.623035
+            ],
+            [
+              109.196654,
+              38.552867
+            ],
+            [
+              109.175712,
+              38.518694
+            ],
+            [
+              109.128901,
+              38.480288
+            ],
+            [
+              109.054372,
+              38.433892
+            ],
+            [
+              109.051292,
+              38.385122
+            ],
+            [
+              109.007561,
+              38.359316
+            ],
+            [
+              108.961981,
+              38.26493
+            ],
+            [
+              108.976148,
+              38.245192
+            ],
+            [
+              108.938575,
+              38.207582
+            ],
+            [
+              108.964445,
+              38.154894
+            ],
+            [
+              109.069155,
+              38.091336
+            ],
+            [
+              109.050676,
+              38.055059
+            ],
+            [
+              109.06977,
+              38.023008
+            ],
+            [
+              109.037742,
+              38.021593
+            ],
+            [
+              109.018648,
+              37.971602
+            ],
+            [
+              108.982923,
+              37.964053
+            ],
+            [
+              108.9743,
+              37.931962
+            ],
+            [
+              108.93488,
+              37.922521
+            ],
+            [
+              108.893612,
+              37.978207
+            ],
+            [
+              108.883141,
+              38.01405
+            ],
+            [
+              108.830786,
+              38.049875
+            ],
+            [
+              108.797525,
+              38.04799
+            ],
+            [
+              108.82709,
+              37.989056
+            ],
+            [
+              108.798141,
+              37.93385
+            ],
+            [
+              108.791982,
+              37.872934
+            ],
+            [
+              108.799989,
+              37.784068
+            ],
+            [
+              108.784591,
+              37.764673
+            ],
+            [
+              108.791982,
+              37.700303
+            ],
+            [
+              108.777815,
+              37.683728
+            ],
+            [
+              108.720533,
+              37.683728
+            ],
+            [
+              108.699591,
+              37.669518
+            ],
+            [
+              108.628142,
+              37.651988
+            ],
+            [
+              108.532671,
+              37.690832
+            ],
+            [
+              108.485244,
+              37.678044
+            ],
+            [
+              108.422418,
+              37.648672
+            ],
+            [
+              108.301078,
+              37.640616
+            ],
+            [
+              108.293071,
+              37.656726
+            ],
+            [
+              108.24626,
+              37.665728
+            ],
+            [
+              108.205608,
+              37.655779
+            ],
+            [
+              108.193905,
+              37.638246
+            ],
+            [
+              108.134159,
+              37.622131
+            ],
+            [
+              108.055318,
+              37.652462
+            ],
+            [
+              108.025137,
+              37.649619
+            ],
+            [
+              108.012819,
+              37.66857
+            ],
+            [
+              108.025753,
+              37.696041
+            ],
+            [
+              107.993109,
+              37.735335
+            ],
+            [
+              107.982022,
+              37.787378
+            ],
+            [
+              107.884703,
+              37.808186
+            ],
+            [
+              107.842819,
+              37.828987
+            ],
+            [
+              107.732566,
+              37.84931
+            ],
+            [
+              107.684523,
+              37.888522
+            ],
+            [
+              107.65003,
+              37.86443
+            ],
+            [
+              107.659269,
+              37.844112
+            ],
+            [
+              107.646335,
+              37.805349
+            ],
+            [
+              107.620465,
+              37.776026
+            ],
+            [
+              107.599523,
+              37.791162
+            ],
+            [
+              107.57119,
+              37.776499
+            ],
+            [
+              107.499125,
+              37.765619
+            ],
+            [
+              107.484959,
+              37.706458
+            ],
+            [
+              107.425828,
+              37.684201
+            ],
+            [
+              107.387024,
+              37.691305
+            ],
+            [
+              107.389488,
+              37.671413
+            ],
+            [
+              107.422133,
+              37.665254
+            ],
+            [
+              107.361155,
+              37.613125
+            ],
+            [
+              107.311264,
+              37.609806
+            ],
+            [
+              107.330358,
+              37.584201
+            ],
+            [
+              107.369162,
+              37.58752
+            ],
+            [
+              107.345756,
+              37.518725
+            ],
+            [
+              107.284162,
+              37.481691
+            ],
+            [
+              107.282931,
+              37.437036
+            ],
+            [
+              107.257677,
+              37.337179
+            ],
+            [
+              107.273075,
+              37.29101
+            ],
+            [
+              107.309416,
+              37.239095
+            ],
+            [
+              107.270612,
+              37.229089
+            ],
+            [
+              107.317423,
+              37.200017
+            ],
+            [
+              107.336517,
+              37.165687
+            ],
+            [
+              107.334669,
+              37.138975
+            ],
+            [
+              107.306952,
+              37.100799
+            ],
+            [
+              107.281083,
+              37.127047
+            ],
+            [
+              107.268764,
+              37.099367
+            ],
+            [
+              107.28601,
+              37.054963
+            ],
+            [
+              107.288474,
+              37.008143
+            ],
+            [
+              107.288474,
+              37.008143
+            ],
+            [
+              107.291554,
+              36.979463
+            ],
+            [
+              107.291554,
+              36.979463
+            ],
+            [
+              107.310032,
+              36.912502
+            ],
+            [
+              107.336517,
+              36.925899
+            ],
+            [
+              107.365466,
+              36.905324
+            ],
+            [
+              107.478183,
+              36.908196
+            ],
+            [
+              107.533618,
+              36.867031
+            ],
+            [
+              107.540393,
+              36.828718
+            ],
+            [
+              107.5909,
+              36.836382
+            ],
+            [
+              107.642023,
+              36.819137
+            ],
+            [
+              107.670356,
+              36.83303
+            ],
+            [
+              107.722095,
+              36.802367
+            ],
+            [
+              107.742421,
+              36.811951
+            ],
+            [
+              107.768291,
+              36.792783
+            ],
+            [
+              107.866841,
+              36.766899
+            ],
+            [
+              107.907493,
+              36.750118
+            ],
+            [
+              107.914268,
+              36.720861
+            ],
+            [
+              107.940754,
+              36.694953
+            ],
+            [
+              107.938906,
+              36.655594
+            ],
+            [
+              108.006659,
+              36.683435
+            ],
+            [
+              108.02329,
+              36.647912
+            ],
+            [
+              108.001732,
+              36.639269
+            ],
+            [
+              108.060862,
+              36.592194
+            ],
+            [
+              108.079956,
+              36.614294
+            ],
+            [
+              108.092891,
+              36.587388
+            ],
+            [
+              108.163724,
+              36.563839
+            ],
+            [
+              108.1976,
+              36.630144
+            ],
+            [
+              108.222854,
+              36.631105
+            ],
+            [
+              108.204992,
+              36.606607
+            ],
+            [
+              108.204992,
+              36.606607
+            ],
+            [
+              108.210535,
+              36.577296
+            ],
+            [
+              108.245644,
+              36.571048
+            ],
+            [
+              108.262274,
+              36.549417
+            ],
+            [
+              108.340498,
+              36.559032
+            ],
+            [
+              108.365136,
+              36.519603
+            ],
+            [
+              108.391621,
+              36.505654
+            ],
+            [
+              108.408252,
+              36.45946
+            ],
+            [
+              108.460606,
+              36.422871
+            ],
+            [
+              108.495099,
+              36.422389
+            ],
+            [
+              108.514809,
+              36.445501
+            ],
+            [
+              108.510498,
+              36.47438
+            ],
+            [
+              108.562852,
+              36.43876
+            ],
+            [
+              108.618903,
+              36.433946
+            ],
+            [
+              108.651548,
+              36.384818
+            ],
+            [
+              108.641693,
+              36.359279
+            ],
+            [
+              108.646004,
+              36.254143
+            ],
+            [
+              108.712526,
+              36.138716
+            ],
+            [
+              108.682345,
+              36.062316
+            ],
+            [
+              108.688504,
+              36.021183
+            ],
+            [
+              108.659555,
+              35.990683
+            ],
+            [
+              108.652164,
+              35.94806
+            ],
+            [
+              108.593649,
+              35.950967
+            ],
+            [
+              108.562852,
+              35.921409
+            ],
+            [
+              108.518505,
+              35.905414
+            ],
+            [
+              108.499411,
+              35.872444
+            ],
+            [
+              108.527744,
+              35.82442
+            ],
+            [
+              108.533903,
+              35.746257
+            ],
+            [
+              108.517889,
+              35.699615
+            ],
+            [
+              108.539447,
+              35.605761
+            ],
+            [
+              108.618287,
+              35.557088
+            ],
+            [
+              108.625678,
+              35.537124
+            ],
+            [
+              108.605968,
+              35.503028
+            ],
+            [
+              108.631222,
+              35.418698
+            ],
+            [
+              108.61028,
+              35.355271
+            ],
+            [
+              108.614591,
+              35.328909
+            ],
+            [
+              108.583178,
+              35.294724
+            ],
+            [
+              108.547454,
+              35.304981
+            ],
+            [
+              108.48894,
+              35.275184
+            ],
+            [
+              108.36144,
+              35.279581
+            ],
+            [
+              108.345426,
+              35.300586
+            ],
+            [
+              108.296767,
+              35.267855
+            ],
+            [
+              108.239484,
+              35.256127
+            ],
+            [
+              108.221622,
+              35.296678
+            ],
+            [
+              108.174811,
+              35.304981
+            ],
+            [
+              108.094739,
+              35.280069
+            ],
+            [
+              108.049159,
+              35.253683
+            ],
+            [
+              107.949993,
+              35.245375
+            ],
+            [
+              107.960464,
+              35.263457
+            ],
+            [
+              107.867457,
+              35.256127
+            ],
+            [
+              107.841587,
+              35.276649
+            ],
+            [
+              107.745501,
+              35.311819
+            ],
+            [
+              107.737494,
+              35.267366
+            ],
+            [
+              107.667277,
+              35.257104
+            ],
+            [
+              107.652494,
+              35.244886
+            ],
+            [
+              107.686371,
+              35.218
+            ],
+            [
+              107.715936,
+              35.168114
+            ],
+            [
+              107.727639,
+              35.120157
+            ],
+            [
+              107.769523,
+              35.064333
+            ],
+            [
+              107.769523,
+              35.064333
+            ],
+            [
+              107.773218,
+              35.060904
+            ],
+            [
+              107.773218,
+              35.060904
+            ],
+            [
+              107.814486,
+              35.024646
+            ],
+            [
+              107.846515,
+              35.024646
+            ],
+            [
+              107.863145,
+              34.999158
+            ],
+            [
+              107.842203,
+              34.979056
+            ],
+            [
+              107.741805,
+              34.953553
+            ],
+            [
+              107.675284,
+              34.9511
+            ],
+            [
+              107.638943,
+              34.935402
+            ],
+            [
+              107.619849,
+              34.964834
+            ],
+            [
+              107.564415,
+              34.968757
+            ],
+            [
+              107.523763,
+              34.909886
+            ],
+            [
+              107.455394,
+              34.916757
+            ],
+            [
+              107.400575,
+              34.932949
+            ],
+            [
+              107.369162,
+              34.917738
+            ],
+            [
+              107.350068,
+              34.93393
+            ],
+            [
+              107.286626,
+              34.931968
+            ],
+            [
+              107.252749,
+              34.880925
+            ],
+            [
+              107.189308,
+              34.893198
+            ],
+            [
+              107.162206,
+              34.944233
+            ],
+            [
+              107.119707,
+              34.950119
+            ],
+            [
+              107.089526,
+              34.976604
+            ],
+            [
+              107.08275,
+              35.024156
+            ],
+            [
+              107.012533,
+              35.029547
+            ],
+            [
+              106.990975,
+              35.068252
+            ],
+            [
+              106.950323,
+              35.066782
+            ],
+            [
+              106.901664,
+              35.094698
+            ],
+            [
+              106.838222,
+              35.080007
+            ],
+            [
+              106.710723,
+              35.100574
+            ],
+            [
+              106.706411,
+              35.081966
+            ],
+            [
+              106.615252,
+              35.071191
+            ],
+            [
+              106.577064,
+              35.089312
+            ],
+            [
+              106.541956,
+              35.083925
+            ],
+            [
+              106.52163,
+              35.027587
+            ],
+            [
+              106.494528,
+              35.006021
+            ],
+            [
+              106.494528,
+              35.006021
+            ],
+            [
+              106.484673,
+              34.983959
+            ],
+            [
+              106.493296,
+              34.941289
+            ],
+            [
+              106.527789,
+              34.876507
+            ],
+            [
+              106.556122,
+              34.861285
+            ],
+            [
+              106.550579,
+              34.82936
+            ],
+            [
+              106.575216,
+              34.769897
+            ],
+            [
+              106.539492,
+              34.745805
+            ],
+            [
+              106.505615,
+              34.746789
+            ],
+            [
+              106.487137,
+              34.715311
+            ],
+            [
+              106.456956,
+              34.703996
+            ],
+            [
+              106.442173,
+              34.675455
+            ],
+            [
+              106.471122,
+              34.634102
+            ],
+            [
+              106.419384,
+              34.643458
+            ],
+            [
+              106.314058,
+              34.578934
+            ],
+            [
+              106.341159,
+              34.568093
+            ],
+            [
+              106.334384,
+              34.517811
+            ],
+            [
+              106.455108,
+              34.531617
+            ],
+            [
+              106.514238,
+              34.511894
+            ],
+            [
+              106.513622,
+              34.498085
+            ],
+            [
+              106.558586,
+              34.48822
+            ],
+            [
+              106.610941,
+              34.454177
+            ],
+            [
+              106.638042,
+              34.391481
+            ],
+            [
+              106.717498,
+              34.369255
+            ],
+            [
+              106.691013,
+              34.337635
+            ],
+            [
+              106.705179,
+              34.299575
+            ],
+            [
+              106.68239,
+              34.256057
+            ],
+            [
+              106.652825,
+              34.24369
+            ],
+            [
+              106.63373,
+              34.260014
+            ],
+            [
+              106.589383,
+              34.253584
+            ],
+            [
+              106.577064,
+              34.280786
+            ],
+            [
+              106.526557,
+              34.292159
+            ],
+            [
+              106.496376,
+              34.238248
+            ],
+            [
+              106.5321,
+              34.254079
+            ],
+            [
+              106.55797,
+              34.229837
+            ],
+            [
+              106.585071,
+              34.149641
+            ],
+            [
+              106.560434,
+              34.109514
+            ],
+            [
+              106.501919,
+              34.105055
+            ],
+            [
+              106.505615,
+              34.056479
+            ],
+            [
+              106.471738,
+              34.024244
+            ],
+            [
+              106.474202,
+              33.970659
+            ],
+            [
+              106.41076,
+              33.909093
+            ],
+            [
+              106.428007,
+              33.866368
+            ],
+            [
+              106.475434,
+              33.875809
+            ],
+            [
+              106.491448,
+              33.834559
+            ],
+            [
+              106.461883,
+              33.789807
+            ],
+            [
+              106.488369,
+              33.757969
+            ],
+            [
+              106.482825,
+              33.707203
+            ],
+            [
+              106.534564,
+              33.695254
+            ],
+            [
+              106.575832,
+              33.631497
+            ],
+            [
+              106.58076,
+              33.576169
+            ],
+            [
+              106.540108,
+              33.512822
+            ],
+            [
+              106.456956,
+              33.532779
+            ],
+            [
+              106.447101,
+              33.613058
+            ],
+            [
+              106.384891,
+              33.612061
+            ],
+            [
+              106.35163,
+              33.587137
+            ],
+            [
+              106.303587,
+              33.604585
+            ],
+            [
+              106.237681,
+              33.564201
+            ],
+            [
+              106.187174,
+              33.546746
+            ],
+            [
+              106.108334,
+              33.569686
+            ],
+            [
+              106.117573,
+              33.602591
+            ],
+            [
+              106.086776,
+              33.617045
+            ],
+            [
+              106.047356,
+              33.610067
+            ],
+            [
+              105.971596,
+              33.613058
+            ],
+            [
+              105.940183,
+              33.570684
+            ],
+            [
+              105.902611,
+              33.556222
+            ],
+            [
+              105.871198,
+              33.511325
+            ],
+            [
+              105.842248,
+              33.489866
+            ],
+            [
+              105.831162,
+              33.451926
+            ],
+            [
+              105.837937,
+              33.410971
+            ],
+            [
+              105.827466,
+              33.379993
+            ],
+            [
+              105.709822,
+              33.382991
+            ],
+            [
+              105.755401,
+              33.329004
+            ],
+            [
+              105.752937,
+              33.291994
+            ],
+            [
+              105.791741,
+              33.278486
+            ],
+            [
+              105.799133,
+              33.258471
+            ],
+            [
+              105.862574,
+              33.234447
+            ],
+            [
+              105.917393,
+              33.237951
+            ],
+            [
+              105.965436,
+              33.204407
+            ],
+            [
+              105.968516,
+              33.154318
+            ],
+            [
+              105.93156,
+              33.178365
+            ],
+            [
+              105.897067,
+              33.146803
+            ],
+            [
+              105.923552,
+              33.147805
+            ],
+            [
+              105.934639,
+              33.112221
+            ],
+            [
+              105.914929,
+              33.066092
+            ],
+            [
+              105.926632,
+              33.042517
+            ],
+            [
+              105.917393,
+              32.993841
+            ],
+            [
+              105.861959,
+              32.939112
+            ],
+            [
+              105.82685,
+              32.950663
+            ],
+            [
+              105.735691,
+              32.905454
+            ],
+            [
+              105.656851,
+              32.895405
+            ],
+            [
+              105.638373,
+              32.879323
+            ],
+            [
+              105.590329,
+              32.87681
+            ],
+            [
+              105.565692,
+              32.906962
+            ],
+            [
+              105.528119,
+              32.919019
+            ],
+            [
+              105.49917,
+              32.911986
+            ],
+            [
+              105.495475,
+              32.873292
+            ],
+            [
+              105.524424,
+              32.847654
+            ],
+            [
+              105.534279,
+              32.790822
+            ],
+            [
+              105.555221,
+              32.794343
+            ],
+            [
+              105.563844,
+              32.724891
+            ],
+            [
+              105.585402,
+              32.728919
+            ],
+            [
+              105.596489,
+              32.69921
+            ],
+            [
+              105.677793,
+              32.726402
+            ],
+            [
+              105.719061,
+              32.759624
+            ],
+            [
+              105.768952,
+              32.767676
+            ],
+            [
+              105.779423,
+              32.750061
+            ],
+            [
+              105.822538,
+              32.770192
+            ],
+            [
+              105.825002,
+              32.824523
+            ],
+            [
+              105.849024,
+              32.817985
+            ],
+            [
+              105.893371,
+              32.838603
+            ],
+            [
+              105.93156,
+              32.826032
+            ],
+            [
+              105.969132,
+              32.849162
+            ],
+            [
+              106.011632,
+              32.829552
+            ],
+            [
+              106.044277,
+              32.864747
+            ],
+            [
+              106.071378,
+              32.828546
+            ],
+            [
+              106.093552,
+              32.82402
+            ],
+            [
+              106.07261,
+              32.76365
+            ],
+            [
+              106.076921,
+              32.76365
+            ],
+            [
+              106.076305,
+              32.759121
+            ],
+            [
+              106.071378,
+              32.758114
+            ],
+            [
+              106.120037,
+              32.719856
+            ],
+            [
+              106.17424,
+              32.6977
+            ],
+            [
+              106.254928,
+              32.693671
+            ],
+            [
+              106.267863,
+              32.673522
+            ],
+            [
+              106.301123,
+              32.680071
+            ],
+            [
+              106.347935,
+              32.671003
+            ],
+            [
+              106.389203,
+              32.62666
+            ],
+            [
+              106.421231,
+              32.616579
+            ],
+            [
+              106.451412,
+              32.65992
+            ],
+            [
+              106.498224,
+              32.649338
+            ],
+            [
+              106.517934,
+              32.668485
+            ],
+            [
+              106.585687,
+              32.68813
+            ],
+            [
+              106.626955,
+              32.682086
+            ],
+            [
+              106.670071,
+              32.694678
+            ],
+            [
+              106.733513,
+              32.739491
+            ],
+            [
+              106.783404,
+              32.735967
+            ],
+            [
+              106.793259,
+              32.712807
+            ],
+            [
+              106.82344,
+              32.705254
+            ],
+            [
+              106.854853,
+              32.724388
+            ],
+            [
+              106.903512,
+              32.721367
+            ],
+            [
+              106.912751,
+              32.704247
+            ],
+            [
+              107.012533,
+              32.721367
+            ],
+            [
+              107.066736,
+              32.708779
+            ],
+            [
+              107.05996,
+              32.686115
+            ],
+            [
+              107.098765,
+              32.649338
+            ],
+            [
+              107.108004,
+              32.600951
+            ],
+            [
+              107.080286,
+              32.542448
+            ],
+            [
+              107.127098,
+              32.482393
+            ],
+            [
+              107.189924,
+              32.468256
+            ],
+            [
+              107.212097,
+              32.428864
+            ],
+            [
+              107.263836,
+              32.403099
+            ],
+            [
+              107.287858,
+              32.457147
+            ],
+            [
+              107.313727,
+              32.489965
+            ],
+            [
+              107.356843,
+              32.506622
+            ],
+            [
+              107.382097,
+              32.54043
+            ],
+            [
+              107.436299,
+              32.529835
+            ],
+            [
+              107.438763,
+              32.465732
+            ],
+            [
+              107.460937,
+              32.453612
+            ],
+            [
+              107.456625,
+              32.41775
+            ],
+            [
+              107.489886,
+              32.425328
+            ],
+            [
+              107.527458,
+              32.38238
+            ],
+            [
+              107.598291,
+              32.411688
+            ],
+            [
+              107.648183,
+              32.413709
+            ],
+            [
+              107.680827,
+              32.397035
+            ],
+            [
+              107.707929,
+              32.331826
+            ],
+            [
+              107.753508,
+              32.338399
+            ],
+            [
+              107.812022,
+              32.247844
+            ],
+            [
+              107.864377,
+              32.201266
+            ],
+            [
+              107.890247,
+              32.214432
+            ],
+            [
+              107.924739,
+              32.197215
+            ],
+            [
+              107.979558,
+              32.146051
+            ],
+            [
+              108.024521,
+              32.177462
+            ],
+            [
+              108.018362,
+              32.2119
+            ],
+            [
+              108.086731,
+              32.233165
+            ],
+            [
+              108.143398,
+              32.219495
+            ],
+            [
+              108.156948,
+              32.239239
+            ],
+            [
+              108.179738,
+              32.221521
+            ],
+            [
+              108.240716,
+              32.274666
+            ],
+            [
+              108.310933,
+              32.232152
+            ],
+            [
+              108.389773,
+              32.263533
+            ],
+            [
+              108.414411,
+              32.252399
+            ],
+            [
+              108.469846,
+              32.270618
+            ],
+            [
+              108.507418,
+              32.245819
+            ],
+            [
+              108.509882,
+              32.201266
+            ],
+            [
+              108.543758,
+              32.177969
+            ],
+            [
+              108.585026,
+              32.17189
+            ],
+            [
+              108.676801,
+              32.10297
+            ],
+            [
+              108.734084,
+              32.106519
+            ],
+            [
+              108.75133,
+              32.076098
+            ],
+            [
+              108.78767,
+              32.04871
+            ],
+            [
+              108.837561,
+              32.039072
+            ],
+            [
+              108.902235,
+              31.984774
+            ],
+            [
+              108.986619,
+              31.980205
+            ],
+            [
+              109.085785,
+              31.929428
+            ],
+            [
+              109.123357,
+              31.892851
+            ],
+            [
+              109.191111,
+              31.85575
+            ],
+            [
+              109.195422,
+              31.817618
+            ],
+            [
+              109.27611,
+              31.79931
+            ],
+            [
+              109.279806,
+              31.776418
+            ],
+            [
+              109.253936,
+              31.759628
+            ],
+            [
+              109.282885,
+              31.743343
+            ],
+            [
+              109.281654,
+              31.716874
+            ],
+            [
+              109.381436,
+              31.705165
+            ],
+            [
+              109.446109,
+              31.722983
+            ],
+            [
+              109.502776,
+              31.716365
+            ],
+            [
+              109.549587,
+              31.73011
+            ],
+            [
+              109.585928,
+              31.726546
+            ],
+            [
+              109.592087,
+              31.789136
+            ],
+            [
+              109.633971,
+              31.804396
+            ],
+            [
+              109.633971,
+              31.824738
+            ],
+            [
+              109.60379,
+              31.885737
+            ],
+            [
+              109.584696,
+              31.900472
+            ],
+            [
+              109.62042,
+              31.928412
+            ],
+            [
+              109.631507,
+              31.962436
+            ],
+            [
+              109.590855,
+              32.012688
+            ],
+            [
+              109.590855,
+              32.047696
+            ],
+            [
+              109.621652,
+              32.106519
+            ],
+            [
+              109.58716,
+              32.161251
+            ],
+            [
+              109.604406,
+              32.199241
+            ],
+            [
+              109.592703,
+              32.219495
+            ],
+            [
+              109.550203,
+              32.225065
+            ],
+            [
+              109.528645,
+              32.270112
+            ],
+            [
+              109.495385,
+              32.300468
+            ],
+            [
+              109.513247,
+              32.342444
+            ],
+            [
+              109.502776,
+              32.38895
+            ],
+            [
+              109.529877,
+              32.405625
+            ],
+            [
+              109.526797,
+              32.43341
+            ],
+            [
+              109.575457,
+              32.506622
+            ],
+            [
+              109.637051,
+              32.540935
+            ],
+            [
+              109.619804,
+              32.56767
+            ],
+            [
+              109.631507,
+              32.599943
+            ],
+            [
+              109.726978,
+              32.608513
+            ],
+            [
+              109.746072,
+              32.594901
+            ],
+            [
+              109.816905,
+              32.577252
+            ],
+            [
+              109.910528,
+              32.592884
+            ],
+            [
+              109.97089,
+              32.577756
+            ],
+            [
+              110.017701,
+              32.546989
+            ],
+            [
+              110.084223,
+              32.580782
+            ],
+            [
+              110.090382,
+              32.617083
+            ],
+            [
+              110.124259,
+              32.616579
+            ],
+            [
+              110.153824,
+              32.593388
+            ],
+            [
+              110.206179,
+              32.633212
+            ],
+            [
+              110.156903,
+              32.683093
+            ],
+            [
+              110.159367,
+              32.767173
+            ],
+            [
+              110.127338,
+              32.77774
+            ],
+            [
+              110.142121,
+              32.802895
+            ],
+            [
+              110.105164,
+              32.832569
+            ],
+            [
+              110.051578,
+              32.851676
+            ],
+            [
+              109.988752,
+              32.886359
+            ],
+            [
+              109.927158,
+              32.887364
+            ],
+            [
+              109.907448,
+              32.903947
+            ],
+            [
+              109.856941,
+              32.910479
+            ],
+            [
+              109.847702,
+              32.893395
+            ],
+            [
+              109.789804,
+              32.882339
+            ],
+            [
+              109.76455,
+              32.909474
+            ],
+            [
+              109.785492,
+              32.987316
+            ],
+            [
+              109.794731,
+              33.067095
+            ],
+            [
+              109.704188,
+              33.101694
+            ],
+            [
+              109.688174,
+              33.116733
+            ],
+            [
+              109.576073,
+              33.110216
+            ],
+            [
+              109.522486,
+              33.138785
+            ],
+            [
+              109.468283,
+              33.140288
+            ],
+            [
+              109.438718,
+              33.152314
+            ],
+            [
+              109.498464,
+              33.207412
+            ],
+            [
+              109.514479,
+              33.237951
+            ],
+            [
+              109.60687,
+              33.235949
+            ],
+            [
+              109.619804,
+              33.275484
+            ],
+            [
+              109.649985,
+              33.251465
+            ],
+            [
+              109.693101,
+              33.254468
+            ],
+            [
+              109.732521,
+              33.231443
+            ],
+            [
+              109.813209,
+              33.236449
+            ],
+            [
+              109.852013,
+              33.247961
+            ],
+            [
+              109.916687,
+              33.229942
+            ],
+            [
+              109.973353,
+              33.203907
+            ],
+            [
+              109.999223,
+              33.212419
+            ],
+            [
+              110.031252,
+              33.191888
+            ],
+            [
+              110.164911,
+              33.209415
+            ],
+            [
+              110.218497,
+              33.163336
+            ],
+            [
+              110.285635,
+              33.171352
+            ],
+            [
+              110.33799,
+              33.160331
+            ],
+            [
+              110.372482,
+              33.186379
+            ],
+            [
+              110.398352,
+              33.176862
+            ],
+            [
+              110.398352,
+              33.176862
+            ],
+            [
+              110.471032,
+              33.171352
+            ],
+            [
+              110.54125,
+              33.255469
+            ],
+            [
+              110.57759,
+              33.250464
+            ],
+            [
+              110.59422,
+              33.168346
+            ],
+            [
+              110.623785,
+              33.143796
+            ],
+            [
+              110.650887,
+              33.157324
+            ],
+            [
+              110.702626,
+              33.097182
+            ],
+            [
+              110.753133,
+              33.15031
+            ],
+            [
+              110.824582,
+              33.158327
+            ],
+            [
+              110.828893,
+              33.201403
+            ],
+            [
+              110.865234,
+              33.213921
+            ],
+            [
+              110.9219,
+              33.203907
+            ],
+            [
+              110.960704,
+              33.253967
+            ],
+            [
+              110.984726,
+              33.255469
+            ],
+            [
+              111.025994,
+              33.330504
+            ],
+            [
+              111.025994,
+              33.375495
+            ],
+            [
+              110.996429,
+              33.435946
+            ],
+            [
+              111.02661,
+              33.467903
+            ],
+            [
+              111.021066,
+              33.471397
+            ],
+            [
+              111.021682,
+              33.476389
+            ],
+            [
+              111.02661,
+              33.478386
+            ],
+            [
+              111.002588,
+              33.535772
+            ],
+            [
+              111.00382,
+              33.578662
+            ],
+            [
+              110.966864,
+              33.609071
+            ],
+            [
+              110.878784,
+              33.634486
+            ],
+            [
+              110.823966,
+              33.685793
+            ],
+            [
+              110.831973,
+              33.713675
+            ],
+            [
+              110.81719,
+              33.751003
+            ],
+            [
+              110.782082,
+              33.796272
+            ],
+            [
+              110.74143,
+              33.798759
+            ],
+            [
+              110.712481,
+              33.833564
+            ],
+            [
+              110.66259,
+              33.85295
+            ],
+            [
+              110.612083,
+              33.852453
+            ],
+            [
+              110.587445,
+              33.887733
+            ],
+            [
+              110.628713,
+              33.910086
+            ],
+            [
+              110.627481,
+              33.925482
+            ],
+            [
+              110.665669,
+              33.937895
+            ],
+            [
+              110.671213,
+              33.966192
+            ],
+            [
+              110.620706,
+              34.035652
+            ],
+            [
+              110.587445,
+              34.023252
+            ],
+            [
+              110.591757,
+              34.101586
+            ],
+            [
+              110.61393,
+              34.113478
+            ],
+            [
+              110.642264,
+              34.161032
+            ],
+            [
+              110.621938,
+              34.177372
+            ],
+            [
+              110.55788,
+              34.193214
+            ],
+            [
+              110.55172,
+              34.213012
+            ],
+            [
+              110.507989,
+              34.217466
+            ],
+            [
+              110.43962,
+              34.243196
+            ],
+            [
+              110.428533,
+              34.288203
+            ],
+            [
+              110.451938,
+              34.292653
+            ],
+            [
+              110.503677,
+              34.33714
+            ],
+            [
+              110.473496,
+              34.393457
+            ],
+            [
+              110.403279,
+              34.433448
+            ],
+            [
+              110.403279,
+              34.433448
+            ],
+            [
+              110.360779,
+              34.516825
+            ],
+            [
+              110.372482,
+              34.544435
+            ],
+            [
+              110.404511,
+              34.557743
+            ],
+            [
+              110.366939,
+              34.566614
+            ],
+            [
+              110.379257,
+              34.600612
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              111.02661,
+              33.478386
+            ],
+            [
+              111.021682,
+              33.476389
+            ],
+            [
+              111.021066,
+              33.471397
+            ],
+            [
+              111.02661,
+              33.467903
+            ],
+            [
+              111.02661,
+              33.478386
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.076921,
+              32.76365
+            ],
+            [
+              106.07261,
+              32.76365
+            ],
+            [
+              106.071378,
+              32.758114
+            ],
+            [
+              106.076305,
+              32.759121
+            ],
+            [
+              106.076921,
+              32.76365
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 62e4,
+      name: "甘肃省",
+      center: [
+        103.823557,
+        36.058039
+      ],
+      childrenNum: 14,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 27,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              106.506231,
+              35.737514
+            ],
+            [
+              106.504383,
+              35.736057
+            ],
+            [
+              106.498224,
+              35.732656
+            ],
+            [
+              106.49268,
+              35.732656
+            ],
+            [
+              106.434782,
+              35.688436
+            ],
+            [
+              106.460036,
+              35.643705
+            ],
+            [
+              106.47913,
+              35.575101
+            ],
+            [
+              106.460036,
+              35.578995
+            ],
+            [
+              106.440941,
+              35.52641
+            ],
+            [
+              106.465579,
+              35.481101
+            ],
+            [
+              106.490217,
+              35.480613
+            ],
+            [
+              106.483441,
+              35.450393
+            ],
+            [
+              106.503767,
+              35.415284
+            ],
+            [
+              106.501304,
+              35.364056
+            ],
+            [
+              106.472354,
+              35.310842
+            ],
+            [
+              106.415688,
+              35.276161
+            ],
+            [
+              106.368261,
+              35.273718
+            ],
+            [
+              106.363333,
+              35.238532
+            ],
+            [
+              106.319601,
+              35.265411
+            ],
+            [
+              106.241377,
+              35.358687
+            ],
+            [
+              106.237681,
+              35.409431
+            ],
+            [
+              106.196414,
+              35.409919
+            ],
+            [
+              106.173008,
+              35.437716
+            ],
+            [
+              106.129892,
+              35.393333
+            ],
+            [
+              106.113262,
+              35.361616
+            ],
+            [
+              106.083081,
+              35.421624
+            ],
+            [
+              106.073226,
+              35.420649
+            ],
+            [
+              106.067682,
+              35.436254
+            ],
+            [
+              106.073226,
+              35.447468
+            ],
+            [
+              106.071378,
+              35.449418
+            ],
+            [
+              106.06953,
+              35.458193
+            ],
+            [
+              106.071994,
+              35.463555
+            ],
+            [
+              106.054132,
+              35.45478
+            ],
+            [
+              106.034422,
+              35.469404
+            ],
+            [
+              106.002393,
+              35.438692
+            ],
+            [
+              105.894603,
+              35.413821
+            ],
+            [
+              105.897683,
+              35.451368
+            ],
+            [
+              106.048588,
+              35.488898
+            ],
+            [
+              106.047356,
+              35.498155
+            ],
+            [
+              106.023335,
+              35.49377
+            ],
+            [
+              106.017175,
+              35.519103
+            ],
+            [
+              105.900147,
+              35.54735
+            ],
+            [
+              105.868734,
+              35.540046
+            ],
+            [
+              105.847176,
+              35.490359
+            ],
+            [
+              105.816379,
+              35.575101
+            ],
+            [
+              105.800365,
+              35.564878
+            ],
+            [
+              105.762176,
+              35.602841
+            ],
+            [
+              105.759097,
+              35.634464
+            ],
+            [
+              105.713517,
+              35.650513
+            ],
+            [
+              105.722756,
+              35.673366
+            ],
+            [
+              105.690727,
+              35.698643
+            ],
+            [
+              105.723988,
+              35.725854
+            ],
+            [
+              105.740618,
+              35.698643
+            ],
+            [
+              105.759097,
+              35.724883
+            ],
+            [
+              105.70243,
+              35.733142
+            ],
+            [
+              105.667322,
+              35.749657
+            ],
+            [
+              105.595873,
+              35.715651
+            ],
+            [
+              105.481924,
+              35.727312
+            ],
+            [
+              105.457286,
+              35.771511
+            ],
+            [
+              105.432033,
+              35.787533
+            ],
+            [
+              105.428953,
+              35.819082
+            ],
+            [
+              105.408627,
+              35.822479
+            ],
+            [
+              105.38091,
+              35.792873
+            ],
+            [
+              105.371055,
+              35.844312
+            ],
+            [
+              105.39754,
+              35.857409
+            ],
+            [
+              105.350113,
+              35.875839
+            ],
+            [
+              105.324859,
+              35.941761
+            ],
+            [
+              105.343954,
+              36.033767
+            ],
+            [
+              105.406163,
+              36.074409
+            ],
+            [
+              105.430801,
+              36.10391
+            ],
+            [
+              105.491163,
+              36.101009
+            ],
+            [
+              105.515185,
+              36.147415
+            ],
+            [
+              105.478844,
+              36.213111
+            ],
+            [
+              105.460366,
+              36.223733
+            ],
+            [
+              105.45975,
+              36.268137
+            ],
+            [
+              105.476381,
+              36.293224
+            ],
+            [
+              105.455439,
+              36.321678
+            ],
+            [
+              105.425873,
+              36.330357
+            ],
+            [
+              105.401236,
+              36.369881
+            ],
+            [
+              105.398156,
+              36.430575
+            ],
+            [
+              105.363048,
+              36.443093
+            ],
+            [
+              105.362432,
+              36.496514
+            ],
+            [
+              105.322396,
+              36.535954
+            ],
+            [
+              105.281744,
+              36.522489
+            ],
+            [
+              105.252179,
+              36.553263
+            ],
+            [
+              105.2762,
+              36.563358
+            ],
+            [
+              105.261418,
+              36.602764
+            ],
+            [
+              105.22015,
+              36.631105
+            ],
+            [
+              105.225693,
+              36.664716
+            ],
+            [
+              105.201056,
+              36.700711
+            ],
+            [
+              105.218302,
+              36.730455
+            ],
+            [
+              105.272505,
+              36.739567
+            ],
+            [
+              105.275584,
+              36.752515
+            ],
+            [
+              105.319932,
+              36.742924
+            ],
+            [
+              105.340874,
+              36.764502
+            ],
+            [
+              105.334714,
+              36.80093
+            ],
+            [
+              105.303302,
+              36.820575
+            ],
+            [
+              105.279896,
+              36.86751
+            ],
+            [
+              105.244787,
+              36.894796
+            ],
+            [
+              105.178882,
+              36.892403
+            ],
+            [
+              105.185657,
+              36.942164
+            ],
+            [
+              105.165331,
+              36.99476
+            ],
+            [
+              105.128991,
+              36.996194
+            ],
+            [
+              105.05939,
+              37.022956
+            ],
+            [
+              105.03968,
+              37.007187
+            ],
+            [
+              105.004571,
+              37.035378
+            ],
+            [
+              104.95468,
+              37.040156
+            ],
+            [
+              104.954064,
+              37.077407
+            ],
+            [
+              104.914644,
+              37.097935
+            ],
+            [
+              104.888158,
+              37.15901
+            ],
+            [
+              104.864753,
+              37.17284
+            ],
+            [
+              104.85613,
+              37.211933
+            ],
+            [
+              104.776673,
+              37.246718
+            ],
+            [
+              104.717543,
+              37.208597
+            ],
+            [
+              104.638087,
+              37.201923
+            ],
+            [
+              104.600515,
+              37.242907
+            ],
+            [
+              104.624536,
+              37.298627
+            ],
+            [
+              104.651022,
+              37.290534
+            ],
+            [
+              104.673812,
+              37.317668
+            ],
+            [
+              104.713848,
+              37.329566
+            ],
+            [
+              104.662109,
+              37.367626
+            ],
+            [
+              104.679971,
+              37.408044
+            ],
+            [
+              104.521059,
+              37.43466
+            ],
+            [
+              104.499501,
+              37.421353
+            ],
+            [
+              104.448994,
+              37.42468
+            ],
+            [
+              104.437907,
+              37.445589
+            ],
+            [
+              104.365226,
+              37.418026
+            ],
+            [
+              104.298705,
+              37.414223
+            ],
+            [
+              104.287002,
+              37.428007
+            ],
+            [
+              104.237727,
+              37.411847
+            ],
+            [
+              104.183524,
+              37.406618
+            ],
+            [
+              104.089285,
+              37.465067
+            ],
+            [
+              103.935916,
+              37.572818
+            ],
+            [
+              103.874938,
+              37.604117
+            ],
+            [
+              103.841062,
+              37.64725
+            ],
+            [
+              103.683381,
+              37.777919
+            ],
+            [
+              103.627947,
+              37.797783
+            ],
+            [
+              103.40744,
+              37.860651
+            ],
+            [
+              103.362477,
+              38.037621
+            ],
+            [
+              103.368636,
+              38.08898
+            ],
+            [
+              103.53494,
+              38.156776
+            ],
+            [
+              103.507838,
+              38.280905
+            ],
+            [
+              103.465339,
+              38.353215
+            ],
+            [
+              103.416063,
+              38.404821
+            ],
+            [
+              103.85954,
+              38.64454
+            ],
+            [
+              104.011677,
+              38.85923
+            ],
+            [
+              104.044322,
+              38.895105
+            ],
+            [
+              104.173053,
+              38.94446
+            ],
+            [
+              104.196459,
+              38.9882
+            ],
+            [
+              104.190915,
+              39.042139
+            ],
+            [
+              104.207546,
+              39.083495
+            ],
+            [
+              104.171205,
+              39.160567
+            ],
+            [
+              104.047401,
+              39.297788
+            ],
+            [
+              104.073271,
+              39.351953
+            ],
+            [
+              104.089901,
+              39.419947
+            ],
+            [
+              103.955626,
+              39.456923
+            ],
+            [
+              103.85338,
+              39.461543
+            ],
+            [
+              103.728961,
+              39.430117
+            ],
+            [
+              103.595302,
+              39.386652
+            ],
+            [
+              103.428998,
+              39.353341
+            ],
+            [
+              103.344615,
+              39.331588
+            ],
+            [
+              103.259615,
+              39.263971
+            ],
+            [
+              103.188166,
+              39.215302
+            ],
+            [
+              103.133347,
+              39.192579
+            ],
+            [
+              103.007696,
+              39.099753
+            ],
+            [
+              102.883892,
+              39.120649
+            ],
+            [
+              102.616574,
+              39.171703
+            ],
+            [
+              102.579002,
+              39.183301
+            ],
+            [
+              102.45335,
+              39.255167
+            ],
+            [
+              102.3548,
+              39.231993
+            ],
+            [
+              102.276576,
+              39.188868
+            ],
+            [
+              102.050526,
+              39.141075
+            ],
+            [
+              102.012338,
+              39.127149
+            ],
+            [
+              101.902701,
+              39.111827
+            ],
+            [
+              101.833715,
+              39.08907
+            ],
+            [
+              101.926106,
+              39.000758
+            ],
+            [
+              101.955055,
+              38.985874
+            ],
+            [
+              102.045599,
+              38.904885
+            ],
+            [
+              102.075164,
+              38.891378
+            ],
+            [
+              101.941505,
+              38.808883
+            ],
+            [
+              101.873751,
+              38.733761
+            ],
+            [
+              101.777049,
+              38.66043
+            ],
+            [
+              101.672955,
+              38.6908
+            ],
+            [
+              101.601506,
+              38.65529
+            ],
+            [
+              101.562702,
+              38.713218
+            ],
+            [
+              101.412413,
+              38.764099
+            ],
+            [
+              101.331109,
+              38.777164
+            ],
+            [
+              101.307087,
+              38.80282
+            ],
+            [
+              101.34158,
+              38.822406
+            ],
+            [
+              101.33542,
+              38.847113
+            ],
+            [
+              101.24303,
+              38.860628
+            ],
+            [
+              101.237486,
+              38.907214
+            ],
+            [
+              101.198682,
+              38.943064
+            ],
+            [
+              101.228863,
+              39.020754
+            ],
+            [
+              101.117378,
+              38.975174
+            ],
+            [
+              100.969553,
+              38.946788
+            ],
+            [
+              100.961545,
+              39.005874
+            ],
+            [
+              100.901799,
+              39.030053
+            ],
+            [
+              100.875314,
+              39.002619
+            ],
+            [
+              100.835278,
+              39.025869
+            ],
+            [
+              100.829118,
+              39.075133
+            ],
+            [
+              100.864227,
+              39.106719
+            ],
+            [
+              100.842669,
+              39.199999
+            ],
+            [
+              100.842053,
+              39.405614
+            ],
+            [
+              100.707778,
+              39.404689
+            ],
+            [
+              100.606764,
+              39.387577
+            ],
+            [
+              100.498975,
+              39.400527
+            ],
+            [
+              100.500823,
+              39.481408
+            ],
+            [
+              100.44354,
+              39.485565
+            ],
+            [
+              100.326512,
+              39.509118
+            ],
+            [
+              100.301258,
+              39.572345
+            ],
+            [
+              100.314193,
+              39.606935
+            ],
+            [
+              100.250135,
+              39.685274
+            ],
+            [
+              100.128179,
+              39.702312
+            ],
+            [
+              100.040716,
+              39.757083
+            ],
+            [
+              99.958796,
+              39.769504
+            ],
+            [
+              99.904593,
+              39.785601
+            ],
+            [
+              99.822058,
+              39.860063
+            ],
+            [
+              99.672384,
+              39.888079
+            ],
+            [
+              99.469124,
+              39.875221
+            ],
+            [
+              99.440791,
+              39.885783
+            ],
+            [
+              99.459885,
+              39.898181
+            ],
+            [
+              99.491298,
+              39.884406
+            ],
+            [
+              99.533182,
+              39.891753
+            ],
+            [
+              99.714268,
+              39.972061
+            ],
+            [
+              99.751225,
+              40.006909
+            ],
+            [
+              99.841152,
+              40.013326
+            ],
+            [
+              99.927383,
+              40.063727
+            ],
+            [
+              99.955716,
+              40.150695
+            ],
+            [
+              100.007455,
+              40.20008
+            ],
+            [
+              100.169447,
+              40.277743
+            ],
+            [
+              100.169447,
+              40.541131
+            ],
+            [
+              100.242744,
+              40.618855
+            ],
+            [
+              100.237201,
+              40.716905
+            ],
+            [
+              100.224882,
+              40.727337
+            ],
+            [
+              100.107853,
+              40.875475
+            ],
+            [
+              100.057346,
+              40.908049
+            ],
+            [
+              99.985897,
+              40.909858
+            ],
+            [
+              99.673,
+              40.93292
+            ],
+            [
+              99.565827,
+              40.846961
+            ],
+            [
+              99.174705,
+              40.858278
+            ],
+            [
+              99.172858,
+              40.747289
+            ],
+            [
+              99.12543,
+              40.715091
+            ],
+            [
+              99.102025,
+              40.676522
+            ],
+            [
+              99.041662,
+              40.693767
+            ],
+            [
+              98.984996,
+              40.782644
+            ],
+            [
+              98.790975,
+              40.705564
+            ],
+            [
+              98.80699,
+              40.660181
+            ],
+            [
+              98.802678,
+              40.607043
+            ],
+            [
+              98.762642,
+              40.639748
+            ],
+            [
+              98.72199,
+              40.657911
+            ],
+            [
+              98.689345,
+              40.691952
+            ],
+            [
+              98.668403,
+              40.773128
+            ],
+            [
+              98.569853,
+              40.746836
+            ],
+            [
+              98.627751,
+              40.677884
+            ],
+            [
+              98.344419,
+              40.568413
+            ],
+            [
+              98.333332,
+              40.918903
+            ],
+            [
+              98.25018,
+              40.93925
+            ],
+            [
+              98.184891,
+              40.988056
+            ],
+            [
+              98.142391,
+              41.001607
+            ],
+            [
+              97.971776,
+              41.09774
+            ],
+            [
+              97.903407,
+              41.168057
+            ],
+            [
+              97.629314,
+              41.440498
+            ],
+            [
+              97.613915,
+              41.477276
+            ],
+            [
+              97.84674,
+              41.656379
+            ],
+            [
+              97.653335,
+              41.986856
+            ],
+            [
+              97.500582,
+              42.243894
+            ],
+            [
+              97.371235,
+              42.457076
+            ],
+            [
+              97.172903,
+              42.795257
+            ],
+            [
+              96.968411,
+              42.756161
+            ],
+            [
+              96.742361,
+              42.75704
+            ],
+            [
+              96.386348,
+              42.727592
+            ],
+            [
+              96.166458,
+              42.623314
+            ],
+            [
+              96.103632,
+              42.604375
+            ],
+            [
+              96.072219,
+              42.569566
+            ],
+            [
+              96.02356,
+              42.542675
+            ],
+            [
+              96.0174,
+              42.482239
+            ],
+            [
+              95.978596,
+              42.436762
+            ],
+            [
+              96.06606,
+              42.414674
+            ],
+            [
+              96.042038,
+              42.352787
+            ],
+            [
+              96.040806,
+              42.326688
+            ],
+            [
+              96.178161,
+              42.21775
+            ],
+            [
+              96.077147,
+              42.149457
+            ],
+            [
+              96.13874,
+              42.05399
+            ],
+            [
+              96.137509,
+              42.019765
+            ],
+            [
+              96.117183,
+              41.985966
+            ],
+            [
+              96.054973,
+              41.936124
+            ],
+            [
+              95.998306,
+              41.906289
+            ],
+            [
+              95.855408,
+              41.849699
+            ],
+            [
+              95.801206,
+              41.848361
+            ],
+            [
+              95.759322,
+              41.835878
+            ],
+            [
+              95.65646,
+              41.826067
+            ],
+            [
+              95.57146,
+              41.796181
+            ],
+            [
+              95.445193,
+              41.719841
+            ],
+            [
+              95.39407,
+              41.693481
+            ],
+            [
+              95.335556,
+              41.644305
+            ],
+            [
+              95.299831,
+              41.565994
+            ],
+            [
+              95.247476,
+              41.61344
+            ],
+            [
+              95.194505,
+              41.694821
+            ],
+            [
+              95.199433,
+              41.719395
+            ],
+            [
+              95.16494,
+              41.735474
+            ],
+            [
+              95.135991,
+              41.772976
+            ],
+            [
+              95.110738,
+              41.768513
+            ],
+            [
+              95.011572,
+              41.726541
+            ],
+            [
+              94.969072,
+              41.718948
+            ],
+            [
+              94.861898,
+              41.668451
+            ],
+            [
+              94.809543,
+              41.619256
+            ],
+            [
+              94.750413,
+              41.538227
+            ],
+            [
+              94.534219,
+              41.505966
+            ],
+            [
+              94.184365,
+              41.268444
+            ],
+            [
+              94.01067,
+              41.114875
+            ],
+            [
+              93.908424,
+              40.983539
+            ],
+            [
+              93.809874,
+              40.879548
+            ],
+            [
+              93.820961,
+              40.793519
+            ],
+            [
+              93.760599,
+              40.664721
+            ],
+            [
+              93.506216,
+              40.648376
+            ],
+            [
+              92.928465,
+              40.572504
+            ],
+            [
+              92.920458,
+              40.391792
+            ],
+            [
+              92.906907,
+              40.310609
+            ],
+            [
+              92.796654,
+              40.153897
+            ],
+            [
+              92.745531,
+              39.868331
+            ],
+            [
+              92.687632,
+              39.657174
+            ],
+            [
+              92.639589,
+              39.514196
+            ],
+            [
+              92.52564,
+              39.368611
+            ],
+            [
+              92.378431,
+              39.258411
+            ],
+            [
+              92.339011,
+              39.236628
+            ],
+            [
+              92.343938,
+              39.146181
+            ],
+            [
+              92.366112,
+              39.096037
+            ],
+            [
+              92.366728,
+              39.059335
+            ],
+            [
+              92.41046,
+              39.03842
+            ],
+            [
+              92.459119,
+              39.042604
+            ],
+            [
+              92.459119,
+              39.063982
+            ],
+            [
+              92.489916,
+              39.099753
+            ],
+            [
+              92.545966,
+              39.111362
+            ],
+            [
+              92.659299,
+              39.109969
+            ],
+            [
+              92.765857,
+              39.136898
+            ],
+            [
+              92.866871,
+              39.138754
+            ],
+            [
+              92.889045,
+              39.160103
+            ],
+            [
+              92.938936,
+              39.169848
+            ],
+            [
+              92.978356,
+              39.143396
+            ],
+            [
+              93.043029,
+              39.146645
+            ],
+            [
+              93.115094,
+              39.17959
+            ],
+            [
+              93.142196,
+              39.160567
+            ],
+            [
+              93.131725,
+              39.108112
+            ],
+            [
+              93.165601,
+              39.090928
+            ],
+            [
+              93.198246,
+              39.045857
+            ],
+            [
+              93.179152,
+              38.923977
+            ],
+            [
+              93.237666,
+              38.916062
+            ],
+            [
+              93.274007,
+              38.896036
+            ],
+            [
+              93.453245,
+              38.915596
+            ],
+            [
+              93.729186,
+              38.924443
+            ],
+            [
+              93.834511,
+              38.867618
+            ],
+            [
+              93.884403,
+              38.867618
+            ],
+            [
+              93.884403,
+              38.826136
+            ],
+            [
+              93.769838,
+              38.821007
+            ],
+            [
+              93.756287,
+              38.807484
+            ],
+            [
+              93.773533,
+              38.771099
+            ],
+            [
+              93.800019,
+              38.750566
+            ],
+            [
+              93.885018,
+              38.720689
+            ],
+            [
+              93.95154,
+              38.715086
+            ],
+            [
+              93.973098,
+              38.724891
+            ],
+            [
+              94.281067,
+              38.7599
+            ],
+            [
+              94.370379,
+              38.7627
+            ],
+            [
+              94.511429,
+              38.445142
+            ],
+            [
+              94.527443,
+              38.425922
+            ],
+            [
+              94.527443,
+              38.365416
+            ],
+            [
+              94.56132,
+              38.351807
+            ],
+            [
+              94.582878,
+              38.36917
+            ],
+            [
+              94.672805,
+              38.386998
+            ],
+            [
+              94.812623,
+              38.385591
+            ],
+            [
+              94.861282,
+              38.393565
+            ],
+            [
+              94.884072,
+              38.414669
+            ],
+            [
+              94.973999,
+              38.430142
+            ],
+            [
+              95.045448,
+              38.418889
+            ],
+            [
+              95.072549,
+              38.402476
+            ],
+            [
+              95.122441,
+              38.417014
+            ],
+            [
+              95.140919,
+              38.392158
+            ],
+            [
+              95.185266,
+              38.379492
+            ],
+            [
+              95.209904,
+              38.327868
+            ],
+            [
+              95.229614,
+              38.330685
+            ],
+            [
+              95.259179,
+              38.302981
+            ],
+            [
+              95.315846,
+              38.318947
+            ],
+            [
+              95.408236,
+              38.300163
+            ],
+            [
+              95.440881,
+              38.310965
+            ],
+            [
+              95.455664,
+              38.291709
+            ],
+            [
+              95.487693,
+              38.314721
+            ],
+            [
+              95.51849,
+              38.294997
+            ],
+            [
+              95.585011,
+              38.343359
+            ],
+            [
+              95.608417,
+              38.339134
+            ],
+            [
+              95.671858,
+              38.388405
+            ],
+            [
+              95.703887,
+              38.400131
+            ],
+            [
+              95.723597,
+              38.378554
+            ],
+            [
+              95.775952,
+              38.356031
+            ],
+            [
+              95.83693,
+              38.344298
+            ],
+            [
+              95.852945,
+              38.287481
+            ],
+            [
+              95.89606,
+              38.2903
+            ],
+            [
+              95.932401,
+              38.259291
+            ],
+            [
+              95.93856,
+              38.237202
+            ],
+            [
+              96.006929,
+              38.207582
+            ],
+            [
+              96.06606,
+              38.173245
+            ],
+            [
+              96.109175,
+              38.187358
+            ],
+            [
+              96.221892,
+              38.149246
+            ],
+            [
+              96.252689,
+              38.167599
+            ],
+            [
+              96.264392,
+              38.145952
+            ],
+            [
+              96.313051,
+              38.161952
+            ],
+            [
+              96.301964,
+              38.183124
+            ],
+            [
+              96.335841,
+              38.246132
+            ],
+            [
+              96.378341,
+              38.277146
+            ],
+            [
+              96.46334,
+              38.277616
+            ],
+            [
+              96.665369,
+              38.23015
+            ],
+            [
+              96.655514,
+              38.295936
+            ],
+            [
+              96.638883,
+              38.307208
+            ],
+            [
+              96.626564,
+              38.356031
+            ],
+            [
+              96.698013,
+              38.422172
+            ],
+            [
+              96.707868,
+              38.459203
+            ],
+            [
+              96.6666,
+              38.483567
+            ],
+            [
+              96.706637,
+              38.505582
+            ],
+            [
+              96.780549,
+              38.504177
+            ],
+            [
+              96.800259,
+              38.52759
+            ],
+            [
+              96.767614,
+              38.552399
+            ],
+            [
+              96.808882,
+              38.582346
+            ],
+            [
+              96.7941,
+              38.608072
+            ],
+            [
+              96.847071,
+              38.599186
+            ],
+            [
+              96.876636,
+              38.580475
+            ],
+            [
+              96.961019,
+              38.558015
+            ],
+            [
+              97.055874,
+              38.594508
+            ],
+            [
+              97.047251,
+              38.653888
+            ],
+            [
+              97.057722,
+              38.67258
+            ],
+            [
+              97.009063,
+              38.702477
+            ],
+            [
+              97.023229,
+              38.755699
+            ],
+            [
+              97.00044,
+              38.7613
+            ],
+            [
+              96.987505,
+              38.793025
+            ],
+            [
+              96.993664,
+              38.834993
+            ],
+            [
+              96.983809,
+              38.869016
+            ],
+            [
+              96.940693,
+              38.90768
+            ],
+            [
+              96.938846,
+              38.95563
+            ],
+            [
+              96.965331,
+              39.017034
+            ],
+            [
+              96.95794,
+              39.041674
+            ],
+            [
+              96.969643,
+              39.097895
+            ],
+            [
+              97.012142,
+              39.142004
+            ],
+            [
+              96.962251,
+              39.198144
+            ],
+            [
+              97.017686,
+              39.208347
+            ],
+            [
+              97.060186,
+              39.19768
+            ],
+            [
+              97.14149,
+              39.199999
+            ],
+            [
+              97.220946,
+              39.193042
+            ],
+            [
+              97.315185,
+              39.164744
+            ],
+            [
+              97.347213,
+              39.167528
+            ],
+            [
+              97.371235,
+              39.140611
+            ],
+            [
+              97.401416,
+              39.146645
+            ],
+            [
+              97.458698,
+              39.117863
+            ],
+            [
+              97.504894,
+              39.076527
+            ],
+            [
+              97.58127,
+              39.052364
+            ],
+            [
+              97.679205,
+              39.010524
+            ],
+            [
+              97.701379,
+              38.963076
+            ],
+            [
+              97.828878,
+              38.93003
+            ],
+            [
+              97.875689,
+              38.898365
+            ],
+            [
+              98.009348,
+              38.85923
+            ],
+            [
+              98.029058,
+              38.834061
+            ],
+            [
+              98.068478,
+              38.816344
+            ],
+            [
+              98.091884,
+              38.786495
+            ],
+            [
+              98.167645,
+              38.840121
+            ],
+            [
+              98.242173,
+              38.880664
+            ],
+            [
+              98.235398,
+              38.918855
+            ],
+            [
+              98.276666,
+              38.963541
+            ],
+            [
+              98.287753,
+              38.992386
+            ],
+            [
+              98.280977,
+              39.027263
+            ],
+            [
+              98.316702,
+              39.040744
+            ],
+            [
+              98.383839,
+              39.029588
+            ],
+            [
+              98.401086,
+              39.001688
+            ],
+            [
+              98.432498,
+              38.996107
+            ],
+            [
+              98.428187,
+              38.976104
+            ],
+            [
+              98.457752,
+              38.952838
+            ],
+            [
+              98.526737,
+              38.95563
+            ],
+            [
+              98.584635,
+              38.93003
+            ],
+            [
+              98.624056,
+              38.959353
+            ],
+            [
+              98.612353,
+              38.977035
+            ],
+            [
+              98.661628,
+              38.993782
+            ],
+            [
+              98.70536,
+              39.043533
+            ],
+            [
+              98.730613,
+              39.057011
+            ],
+            [
+              98.743548,
+              39.086747
+            ],
+            [
+              98.816845,
+              39.085818
+            ],
+            [
+              98.818076,
+              39.064911
+            ],
+            [
+              98.886446,
+              39.040744
+            ],
+            [
+              98.903076,
+              39.012384
+            ],
+            [
+              98.951735,
+              38.987735
+            ],
+            [
+              99.054597,
+              38.97657
+            ],
+            [
+              99.107568,
+              38.951907
+            ],
+            [
+              99.071843,
+              38.921184
+            ],
+            [
+              99.068764,
+              38.896968
+            ],
+            [
+              99.141445,
+              38.852706
+            ],
+            [
+              99.222133,
+              38.788827
+            ],
+            [
+              99.291118,
+              38.765966
+            ],
+            [
+              99.361951,
+              38.718354
+            ],
+            [
+              99.375502,
+              38.684727
+            ],
+            [
+              99.412458,
+              38.665571
+            ],
+            [
+              99.450646,
+              38.60433
+            ],
+            [
+              99.501769,
+              38.612281
+            ],
+            [
+              99.52887,
+              38.546314
+            ],
+            [
+              99.585537,
+              38.498556
+            ],
+            [
+              99.63974,
+              38.474666
+            ],
+            [
+              99.65945,
+              38.449361
+            ],
+            [
+              99.727203,
+              38.415607
+            ],
+            [
+              99.758,
+              38.410449
+            ],
+            [
+              99.826985,
+              38.370109
+            ],
+            [
+              99.960028,
+              38.320825
+            ],
+            [
+              100.001912,
+              38.315191
+            ],
+            [
+              100.049955,
+              38.283254
+            ],
+            [
+              100.071513,
+              38.284663
+            ],
+            [
+              100.117093,
+              38.253652
+            ],
+            [
+              100.126332,
+              38.231561
+            ],
+            [
+              100.182998,
+              38.222158
+            ],
+            [
+              100.159592,
+              38.291239
+            ],
+            [
+              100.163904,
+              38.328337
+            ],
+            [
+              100.136803,
+              38.33444
+            ],
+            [
+              100.093071,
+              38.407166
+            ],
+            [
+              100.022238,
+              38.432017
+            ],
+            [
+              100.001296,
+              38.467169
+            ],
+            [
+              100.025933,
+              38.507923
+            ],
+            [
+              100.064122,
+              38.518694
+            ],
+            [
+              100.086911,
+              38.492936
+            ],
+            [
+              100.113397,
+              38.497151
+            ],
+            [
+              100.163288,
+              38.461546
+            ],
+            [
+              100.24028,
+              38.441861
+            ],
+            [
+              100.259374,
+              38.366355
+            ],
+            [
+              100.301874,
+              38.388405
+            ],
+            [
+              100.331439,
+              38.337257
+            ],
+            [
+              100.318505,
+              38.329276
+            ],
+            [
+              100.396729,
+              38.293118
+            ],
+            [
+              100.424446,
+              38.307208
+            ],
+            [
+              100.432453,
+              38.275267
+            ],
+            [
+              100.459555,
+              38.2654
+            ],
+            [
+              100.474953,
+              38.288891
+            ],
+            [
+              100.516837,
+              38.272448
+            ],
+            [
+              100.545786,
+              38.247072
+            ],
+            [
+              100.595061,
+              38.242372
+            ],
+            [
+              100.619083,
+              38.26587
+            ],
+            [
+              100.71517,
+              38.253652
+            ],
+            [
+              100.752126,
+              38.238612
+            ],
+            [
+              100.825423,
+              38.158658
+            ],
+            [
+              100.860531,
+              38.148305
+            ],
+            [
+              100.913502,
+              38.17889
+            ],
+            [
+              100.93814,
+              38.16007
+            ],
+            [
+              100.91843,
+              38.129006
+            ],
+            [
+              100.922125,
+              38.084741
+            ],
+            [
+              100.888864,
+              38.056001
+            ],
+            [
+              100.895024,
+              38.013107
+            ],
+            [
+              100.91843,
+              37.999432
+            ],
+            [
+              100.964009,
+              38.011221
+            ],
+            [
+              101.077342,
+              37.941874
+            ],
+            [
+              101.103211,
+              37.946593
+            ],
+            [
+              101.114298,
+              37.92016
+            ],
+            [
+              101.152486,
+              37.891356
+            ],
+            [
+              101.159262,
+              37.86821
+            ],
+            [
+              101.202994,
+              37.84742
+            ],
+            [
+              101.276906,
+              37.83655
+            ],
+            [
+              101.362522,
+              37.791162
+            ],
+            [
+              101.382848,
+              37.822369
+            ],
+            [
+              101.459224,
+              37.86632
+            ],
+            [
+              101.551615,
+              37.835604
+            ],
+            [
+              101.598427,
+              37.827569
+            ],
+            [
+              101.670491,
+              37.754264
+            ],
+            [
+              101.659405,
+              37.733441
+            ],
+            [
+              101.791832,
+              37.696041
+            ],
+            [
+              101.815853,
+              37.654357
+            ],
+            [
+              101.854657,
+              37.664781
+            ],
+            [
+              101.873135,
+              37.686569
+            ],
+            [
+              101.946432,
+              37.728235
+            ],
+            [
+              101.998787,
+              37.724921
+            ],
+            [
+              102.036359,
+              37.685149
+            ],
+            [
+              102.048678,
+              37.651515
+            ],
+            [
+              102.035128,
+              37.627819
+            ],
+            [
+              102.102265,
+              37.582304
+            ],
+            [
+              102.131214,
+              37.54625
+            ],
+            [
+              102.103497,
+              37.482641
+            ],
+            [
+              102.125055,
+              37.48549
+            ],
+            [
+              102.176794,
+              37.458892
+            ],
+            [
+              102.19712,
+              37.420403
+            ],
+            [
+              102.299981,
+              37.391404
+            ],
+            [
+              102.29875,
+              37.370004
+            ],
+            [
+              102.368351,
+              37.327662
+            ],
+            [
+              102.428097,
+              37.308624
+            ],
+            [
+              102.419474,
+              37.294343
+            ],
+            [
+              102.45335,
+              37.271487
+            ],
+            [
+              102.457662,
+              37.248147
+            ],
+            [
+              102.490307,
+              37.223371
+            ],
+            [
+              102.533422,
+              37.217176
+            ],
+            [
+              102.578386,
+              37.17284
+            ],
+            [
+              102.599944,
+              37.174748
+            ],
+            [
+              102.642444,
+              37.099845
+            ],
+            [
+              102.583314,
+              37.104618
+            ],
+            [
+              102.488459,
+              37.078362
+            ],
+            [
+              102.506321,
+              37.019134
+            ],
+            [
+              102.450271,
+              36.968467
+            ],
+            [
+              102.499546,
+              36.954599
+            ],
+            [
+              102.526031,
+              36.928291
+            ],
+            [
+              102.56114,
+              36.91968
+            ],
+            [
+              102.587009,
+              36.869904
+            ],
+            [
+              102.639364,
+              36.852666
+            ],
+            [
+              102.720052,
+              36.767858
+            ],
+            [
+              102.692335,
+              36.775528
+            ],
+            [
+              102.639364,
+              36.732853
+            ],
+            [
+              102.612879,
+              36.738129
+            ],
+            [
+              102.601176,
+              36.710307
+            ],
+            [
+              102.630741,
+              36.650793
+            ],
+            [
+              102.684328,
+              36.619097
+            ],
+            [
+              102.724364,
+              36.613813
+            ],
+            [
+              102.714509,
+              36.599401
+            ],
+            [
+              102.761936,
+              36.568645
+            ],
+            [
+              102.734219,
+              36.562396
+            ],
+            [
+              102.753313,
+              36.525855
+            ],
+            [
+              102.793349,
+              36.497957
+            ],
+            [
+              102.771791,
+              36.47438
+            ],
+            [
+              102.829689,
+              36.365544
+            ],
+            [
+              102.831537,
+              36.365544
+            ],
+            [
+              102.838928,
+              36.345783
+            ],
+            [
+              102.836465,
+              36.344819
+            ],
+            [
+              102.845704,
+              36.331803
+            ],
+            [
+              102.896827,
+              36.331803
+            ],
+            [
+              102.922696,
+              36.298047
+            ],
+            [
+              103.024942,
+              36.256556
+            ],
+            [
+              103.021246,
+              36.232906
+            ],
+            [
+              103.066826,
+              36.216974
+            ],
+            [
+              103.048964,
+              36.199107
+            ],
+            [
+              102.986754,
+              36.193312
+            ],
+            [
+              102.965812,
+              36.151765
+            ],
+            [
+              102.948566,
+              36.150798
+            ],
+            [
+              102.941174,
+              36.104877
+            ],
+            [
+              102.882044,
+              36.082632
+            ],
+            [
+              102.932551,
+              36.048285
+            ],
+            [
+              102.968276,
+              36.044414
+            ],
+            [
+              102.951645,
+              36.021667
+            ],
+            [
+              102.971971,
+              35.995525
+            ],
+            [
+              102.942406,
+              35.92674
+            ],
+            [
+              102.954725,
+              35.858864
+            ],
+            [
+              102.94487,
+              35.829757
+            ],
+            [
+              102.914073,
+              35.845282
+            ],
+            [
+              102.81737,
+              35.850133
+            ],
+            [
+              102.787189,
+              35.862745
+            ],
+            [
+              102.739146,
+              35.821023
+            ],
+            [
+              102.715125,
+              35.815685
+            ],
+            [
+              102.686175,
+              35.771996
+            ],
+            [
+              102.707733,
+              35.70496
+            ],
+            [
+              102.744074,
+              35.657807
+            ],
+            [
+              102.7644,
+              35.653431
+            ],
+            [
+              102.763168,
+              35.612086
+            ],
+            [
+              102.808747,
+              35.560496
+            ],
+            [
+              102.746537,
+              35.545403
+            ],
+            [
+              102.729291,
+              35.523487
+            ],
+            [
+              102.782878,
+              35.527871
+            ],
+            [
+              102.743458,
+              35.494745
+            ],
+            [
+              102.695414,
+              35.528358
+            ],
+            [
+              102.570995,
+              35.548324
+            ],
+            [
+              102.531575,
+              35.580455
+            ],
+            [
+              102.503241,
+              35.585322
+            ],
+            [
+              102.49893,
+              35.545403
+            ],
+            [
+              102.437952,
+              35.455268
+            ],
+            [
+              102.447807,
+              35.437229
+            ],
+            [
+              102.408387,
+              35.409431
+            ],
+            [
+              102.314764,
+              35.434303
+            ],
+            [
+              102.293822,
+              35.424063
+            ],
+            [
+              102.287663,
+              35.36552
+            ],
+            [
+              102.317844,
+              35.343067
+            ],
+            [
+              102.311684,
+              35.31426
+            ],
+            [
+              102.280887,
+              35.303028
+            ],
+            [
+              102.3123,
+              35.282512
+            ],
+            [
+              102.370199,
+              35.263946
+            ],
+            [
+              102.365887,
+              35.235599
+            ],
+            [
+              102.404075,
+              35.179366
+            ],
+            [
+              102.346793,
+              35.164201
+            ],
+            [
+              102.310452,
+              35.128967
+            ],
+            [
+              102.29567,
+              35.071681
+            ],
+            [
+              102.252554,
+              35.048657
+            ],
+            [
+              102.218062,
+              35.057475
+            ],
+            [
+              102.211286,
+              35.034937
+            ],
+            [
+              102.176178,
+              35.032977
+            ],
+            [
+              102.157699,
+              35.010923
+            ],
+            [
+              102.133678,
+              35.014844
+            ],
+            [
+              102.094874,
+              34.986901
+            ],
+            [
+              102.048062,
+              34.910868
+            ],
+            [
+              102.068388,
+              34.887798
+            ],
+            [
+              101.985852,
+              34.90007
+            ],
+            [
+              101.916867,
+              34.873561
+            ],
+            [
+              101.923027,
+              34.835746
+            ],
+            [
+              101.917483,
+              34.705964
+            ],
+            [
+              101.919947,
+              34.621791
+            ],
+            [
+              101.934729,
+              34.58731
+            ],
+            [
+              101.956287,
+              34.582876
+            ],
+            [
+              101.97415,
+              34.548871
+            ],
+            [
+              102.001867,
+              34.538519
+            ],
+            [
+              102.093026,
+              34.536547
+            ],
+            [
+              102.139837,
+              34.50351
+            ],
+            [
+              102.155852,
+              34.507456
+            ],
+            [
+              102.169402,
+              34.457631
+            ],
+            [
+              102.205743,
+              34.407777
+            ],
+            [
+              102.259329,
+              34.355917
+            ],
+            [
+              102.237156,
+              34.34307
+            ],
+            [
+              102.237156,
+              34.34307
+            ],
+            [
+              102.186649,
+              34.352952
+            ],
+            [
+              102.149692,
+              34.271885
+            ],
+            [
+              102.067772,
+              34.293642
+            ],
+            [
+              102.062229,
+              34.227858
+            ],
+            [
+              102.01357,
+              34.218456
+            ],
+            [
+              102.030816,
+              34.190739
+            ],
+            [
+              102.003099,
+              34.162022
+            ],
+            [
+              101.965526,
+              34.167469
+            ],
+            [
+              101.955055,
+              34.109514
+            ],
+            [
+              101.897773,
+              34.133791
+            ],
+            [
+              101.874367,
+              34.130323
+            ],
+            [
+              101.851578,
+              34.153108
+            ],
+            [
+              101.836795,
+              34.124378
+            ],
+            [
+              101.788136,
+              34.131809
+            ],
+            [
+              101.764114,
+              34.122892
+            ],
+            [
+              101.736397,
+              34.080275
+            ],
+            [
+              101.718535,
+              34.083249
+            ],
+            [
+              101.703136,
+              34.119424
+            ],
+            [
+              101.674187,
+              34.110506
+            ],
+            [
+              101.6206,
+              34.178857
+            ],
+            [
+              101.53868,
+              34.212022
+            ],
+            [
+              101.492485,
+              34.195689
+            ],
+            [
+              101.482014,
+              34.218951
+            ],
+            [
+              101.417956,
+              34.227858
+            ],
+            [
+              101.369913,
+              34.248143
+            ],
+            [
+              101.327413,
+              34.24468
+            ],
+            [
+              101.325565,
+              34.268423
+            ],
+            [
+              101.268899,
+              34.278808
+            ],
+            [
+              101.228863,
+              34.298586
+            ],
+            [
+              101.235022,
+              34.325279
+            ],
+            [
+              101.193754,
+              34.336646
+            ],
+            [
+              101.178356,
+              34.320831
+            ],
+            [
+              101.098284,
+              34.329233
+            ],
+            [
+              101.054552,
+              34.322808
+            ],
+            [
+              100.986799,
+              34.374689
+            ],
+            [
+              100.951074,
+              34.38358
+            ],
+            [
+              100.895024,
+              34.375183
+            ],
+            [
+              100.868538,
+              34.332693
+            ],
+            [
+              100.821727,
+              34.317371
+            ],
+            [
+              100.798321,
+              34.260014
+            ],
+            [
+              100.809408,
+              34.247153
+            ],
+            [
+              100.764445,
+              34.178857
+            ],
+            [
+              100.806329,
+              34.155584
+            ],
+            [
+              100.848828,
+              34.089692
+            ],
+            [
+              100.870386,
+              34.083744
+            ],
+            [
+              100.880857,
+              34.036644
+            ],
+            [
+              100.93506,
+              33.990013
+            ],
+            [
+              100.927669,
+              33.975126
+            ],
+            [
+              100.965857,
+              33.946832
+            ],
+            [
+              100.994806,
+              33.891707
+            ],
+            [
+              101.023139,
+              33.896178
+            ],
+            [
+              101.054552,
+              33.863386
+            ],
+            [
+              101.153718,
+              33.8445
+            ],
+            [
+              101.153102,
+              33.823124
+            ],
+            [
+              101.190675,
+              33.791796
+            ],
+            [
+              101.186363,
+              33.741051
+            ],
+            [
+              101.162957,
+              33.719649
+            ],
+            [
+              101.177124,
+              33.685295
+            ],
+            [
+              101.166653,
+              33.659894
+            ],
+            [
+              101.217776,
+              33.669856
+            ],
+            [
+              101.23687,
+              33.685793
+            ],
+            [
+              101.302776,
+              33.657902
+            ],
+            [
+              101.385312,
+              33.644949
+            ],
+            [
+              101.424732,
+              33.655411
+            ],
+            [
+              101.428427,
+              33.680315
+            ],
+            [
+              101.501724,
+              33.702723
+            ],
+            [
+              101.58426,
+              33.674339
+            ],
+            [
+              101.585492,
+              33.645448
+            ],
+            [
+              101.616905,
+              33.598603
+            ],
+            [
+              101.611977,
+              33.565199
+            ],
+            [
+              101.622448,
+              33.502343
+            ],
+            [
+              101.718535,
+              33.494857
+            ],
+            [
+              101.748716,
+              33.505337
+            ],
+            [
+              101.769042,
+              33.538765
+            ],
+            [
+              101.783208,
+              33.556721
+            ],
+            [
+              101.831252,
+              33.554726
+            ],
+            [
+              101.844186,
+              33.602591
+            ],
+            [
+              101.884222,
+              33.578163
+            ],
+            [
+              101.907012,
+              33.539264
+            ],
+            [
+              101.906396,
+              33.48188
+            ],
+            [
+              101.946432,
+              33.442937
+            ],
+            [
+              101.915635,
+              33.425957
+            ],
+            [
+              101.887302,
+              33.383991
+            ],
+            [
+              101.877447,
+              33.314502
+            ],
+            [
+              101.769658,
+              33.26898
+            ],
+            [
+              101.770274,
+              33.248962
+            ],
+            [
+              101.83002,
+              33.213921
+            ],
+            [
+              101.841723,
+              33.184876
+            ],
+            [
+              101.825708,
+              33.119239
+            ],
+            [
+              101.865744,
+              33.103198
+            ],
+            [
+              101.887302,
+              33.135778
+            ],
+            [
+              101.921795,
+              33.153817
+            ],
+            [
+              101.935345,
+              33.186879
+            ],
+            [
+              101.99386,
+              33.1999
+            ],
+            [
+              102.054838,
+              33.189884
+            ],
+            [
+              102.08933,
+              33.204908
+            ],
+            [
+              102.08933,
+              33.227439
+            ],
+            [
+              102.117047,
+              33.288492
+            ],
+            [
+              102.144765,
+              33.273983
+            ],
+            [
+              102.160163,
+              33.242956
+            ],
+            [
+              102.200815,
+              33.223434
+            ],
+            [
+              102.217446,
+              33.247961
+            ],
+            [
+              102.192192,
+              33.337005
+            ],
+            [
+              102.218062,
+              33.349503
+            ],
+            [
+              102.258098,
+              33.409472
+            ],
+            [
+              102.296286,
+              33.413969
+            ],
+            [
+              102.310452,
+              33.397982
+            ],
+            [
+              102.368967,
+              33.41247
+            ],
+            [
+              102.392988,
+              33.404477
+            ],
+            [
+              102.447807,
+              33.454922
+            ],
+            [
+              102.462589,
+              33.449429
+            ],
+            [
+              102.461358,
+              33.501345
+            ],
+            [
+              102.446575,
+              33.53228
+            ],
+            [
+              102.477988,
+              33.543254
+            ],
+            [
+              102.440416,
+              33.574673
+            ],
+            [
+              102.346793,
+              33.605582
+            ],
+            [
+              102.31538,
+              33.665374
+            ],
+            [
+              102.342481,
+              33.725622
+            ],
+            [
+              102.284583,
+              33.719151
+            ],
+            [
+              102.324619,
+              33.754486
+            ],
+            [
+              102.296286,
+              33.783838
+            ],
+            [
+              102.243315,
+              33.786823
+            ],
+            [
+              102.261177,
+              33.821136
+            ],
+            [
+              102.25317,
+              33.861399
+            ],
+            [
+              102.136142,
+              33.965199
+            ],
+            [
+              102.16817,
+              33.983066
+            ],
+            [
+              102.226069,
+              33.963214
+            ],
+            [
+              102.248858,
+              33.98654
+            ],
+            [
+              102.287047,
+              33.977607
+            ],
+            [
+              102.315996,
+              33.993983
+            ],
+            [
+              102.345561,
+              33.969666
+            ],
+            [
+              102.392372,
+              33.971651
+            ],
+            [
+              102.406539,
+              34.033172
+            ],
+            [
+              102.437336,
+              34.087214
+            ],
+            [
+              102.471213,
+              34.072839
+            ],
+            [
+              102.511865,
+              34.086222
+            ],
+            [
+              102.615958,
+              34.099604
+            ],
+            [
+              102.649219,
+              34.080275
+            ],
+            [
+              102.655994,
+              34.113478
+            ],
+            [
+              102.598712,
+              34.14766
+            ],
+            [
+              102.651067,
+              34.165983
+            ],
+            [
+              102.664002,
+              34.192719
+            ],
+            [
+              102.694799,
+              34.198659
+            ],
+            [
+              102.728675,
+              34.235774
+            ],
+            [
+              102.779798,
+              34.236764
+            ],
+            [
+              102.798276,
+              34.272874
+            ],
+            [
+              102.856791,
+              34.270895
+            ],
+            [
+              102.85987,
+              34.301058
+            ],
+            [
+              102.911609,
+              34.312923
+            ],
+            [
+              102.949181,
+              34.292159
+            ],
+            [
+              102.977515,
+              34.252595
+            ],
+            [
+              102.973203,
+              34.205588
+            ],
+            [
+              103.005848,
+              34.184798
+            ],
+            [
+              103.052043,
+              34.195194
+            ],
+            [
+              103.100087,
+              34.181828
+            ],
+            [
+              103.124108,
+              34.162022
+            ],
+            [
+              103.121644,
+              34.112487
+            ],
+            [
+              103.178927,
+              34.079779
+            ],
+            [
+              103.129652,
+              34.065899
+            ],
+            [
+              103.119797,
+              34.03466
+            ],
+            [
+              103.147514,
+              34.036644
+            ],
+            [
+              103.157369,
+              33.998944
+            ],
+            [
+              103.120413,
+              33.953286
+            ],
+            [
+              103.1315,
+              33.931937
+            ],
+            [
+              103.16476,
+              33.929454
+            ],
+            [
+              103.181391,
+              33.900649
+            ],
+            [
+              103.153673,
+              33.819147
+            ],
+            [
+              103.165376,
+              33.805721
+            ],
+            [
+              103.228202,
+              33.79478
+            ],
+            [
+              103.24976,
+              33.814175
+            ],
+            [
+              103.284868,
+              33.80224
+            ],
+            [
+              103.278709,
+              33.774387
+            ],
+            [
+              103.35447,
+              33.743539
+            ],
+            [
+              103.434542,
+              33.752993
+            ],
+            [
+              103.464723,
+              33.80224
+            ],
+            [
+              103.518309,
+              33.807213
+            ],
+            [
+              103.545411,
+              33.719649
+            ],
+            [
+              103.520157,
+              33.678323
+            ],
+            [
+              103.552186,
+              33.671351
+            ],
+            [
+              103.563889,
+              33.699735
+            ],
+            [
+              103.593454,
+              33.716164
+            ],
+            [
+              103.645809,
+              33.708697
+            ],
+            [
+              103.667983,
+              33.685793
+            ],
+            [
+              103.690772,
+              33.69376
+            ],
+            [
+              103.778236,
+              33.658898
+            ],
+            [
+              103.861388,
+              33.682307
+            ],
+            [
+              103.980264,
+              33.670852
+            ],
+            [
+              104.046169,
+              33.686291
+            ],
+            [
+              104.103452,
+              33.663381
+            ],
+            [
+              104.176749,
+              33.5996
+            ],
+            [
+              104.155191,
+              33.542755
+            ],
+            [
+              104.180444,
+              33.472895
+            ],
+            [
+              104.213089,
+              33.446932
+            ],
+            [
+              104.22048,
+              33.404477
+            ],
+            [
+              104.272219,
+              33.391486
+            ],
+            [
+              104.292545,
+              33.336505
+            ],
+            [
+              104.373849,
+              33.345004
+            ],
+            [
+              104.420045,
+              33.327004
+            ],
+            [
+              104.386168,
+              33.298497
+            ],
+            [
+              104.333813,
+              33.315502
+            ],
+            [
+              104.303632,
+              33.304499
+            ],
+            [
+              104.323958,
+              33.26898
+            ],
+            [
+              104.32827,
+              33.223934
+            ],
+            [
+              104.351059,
+              33.158828
+            ],
+            [
+              104.378161,
+              33.109214
+            ],
+            [
+              104.337509,
+              33.038002
+            ],
+            [
+              104.391711,
+              33.035493
+            ],
+            [
+              104.426204,
+              33.010906
+            ],
+            [
+              104.383704,
+              32.994343
+            ],
+            [
+              104.378161,
+              32.953174
+            ],
+            [
+              104.345516,
+              32.940117
+            ],
+            [
+              104.288234,
+              32.942628
+            ],
+            [
+              104.277147,
+              32.90244
+            ],
+            [
+              104.294393,
+              32.835586
+            ],
+            [
+              104.363994,
+              32.822511
+            ],
+            [
+              104.458849,
+              32.748551
+            ],
+            [
+              104.51182,
+              32.753585
+            ],
+            [
+              104.526602,
+              32.728416
+            ],
+            [
+              104.582653,
+              32.722374
+            ],
+            [
+              104.592508,
+              32.695685
+            ],
+            [
+              104.643015,
+              32.661935
+            ],
+            [
+              104.696601,
+              32.673522
+            ],
+            [
+              104.739717,
+              32.635228
+            ],
+            [
+              104.795768,
+              32.643292
+            ],
+            [
+              104.820405,
+              32.662943
+            ],
+            [
+              104.845659,
+              32.653873
+            ],
+            [
+              104.881999,
+              32.600951
+            ],
+            [
+              104.925115,
+              32.607505
+            ],
+            [
+              105.026745,
+              32.650346
+            ],
+            [
+              105.0791,
+              32.637244
+            ],
+            [
+              105.111128,
+              32.593893
+            ],
+            [
+              105.185041,
+              32.617587
+            ],
+            [
+              105.215222,
+              32.63674
+            ],
+            [
+              105.219534,
+              32.666469
+            ],
+            [
+              105.263265,
+              32.652362
+            ],
+            [
+              105.297758,
+              32.656897
+            ],
+            [
+              105.347033,
+              32.68259
+            ],
+            [
+              105.368591,
+              32.712807
+            ],
+            [
+              105.448663,
+              32.732946
+            ],
+            [
+              105.454207,
+              32.767173
+            ],
+            [
+              105.427721,
+              32.784281
+            ],
+            [
+              105.396308,
+              32.85067
+            ],
+            [
+              105.396308,
+              32.85067
+            ],
+            [
+              105.38091,
+              32.876307
+            ],
+            [
+              105.408011,
+              32.885857
+            ],
+            [
+              105.414171,
+              32.922034
+            ],
+            [
+              105.467757,
+              32.930071
+            ],
+            [
+              105.49917,
+              32.911986
+            ],
+            [
+              105.528119,
+              32.919019
+            ],
+            [
+              105.565692,
+              32.906962
+            ],
+            [
+              105.590329,
+              32.87681
+            ],
+            [
+              105.638373,
+              32.879323
+            ],
+            [
+              105.656851,
+              32.895405
+            ],
+            [
+              105.735691,
+              32.905454
+            ],
+            [
+              105.82685,
+              32.950663
+            ],
+            [
+              105.861959,
+              32.939112
+            ],
+            [
+              105.917393,
+              32.993841
+            ],
+            [
+              105.926632,
+              33.042517
+            ],
+            [
+              105.914929,
+              33.066092
+            ],
+            [
+              105.934639,
+              33.112221
+            ],
+            [
+              105.923552,
+              33.147805
+            ],
+            [
+              105.897067,
+              33.146803
+            ],
+            [
+              105.93156,
+              33.178365
+            ],
+            [
+              105.968516,
+              33.154318
+            ],
+            [
+              105.965436,
+              33.204407
+            ],
+            [
+              105.917393,
+              33.237951
+            ],
+            [
+              105.862574,
+              33.234447
+            ],
+            [
+              105.799133,
+              33.258471
+            ],
+            [
+              105.791741,
+              33.278486
+            ],
+            [
+              105.752937,
+              33.291994
+            ],
+            [
+              105.755401,
+              33.329004
+            ],
+            [
+              105.709822,
+              33.382991
+            ],
+            [
+              105.827466,
+              33.379993
+            ],
+            [
+              105.837937,
+              33.410971
+            ],
+            [
+              105.831162,
+              33.451926
+            ],
+            [
+              105.842248,
+              33.489866
+            ],
+            [
+              105.871198,
+              33.511325
+            ],
+            [
+              105.902611,
+              33.556222
+            ],
+            [
+              105.940183,
+              33.570684
+            ],
+            [
+              105.971596,
+              33.613058
+            ],
+            [
+              106.047356,
+              33.610067
+            ],
+            [
+              106.086776,
+              33.617045
+            ],
+            [
+              106.117573,
+              33.602591
+            ],
+            [
+              106.108334,
+              33.569686
+            ],
+            [
+              106.187174,
+              33.546746
+            ],
+            [
+              106.237681,
+              33.564201
+            ],
+            [
+              106.303587,
+              33.604585
+            ],
+            [
+              106.35163,
+              33.587137
+            ],
+            [
+              106.384891,
+              33.612061
+            ],
+            [
+              106.447101,
+              33.613058
+            ],
+            [
+              106.456956,
+              33.532779
+            ],
+            [
+              106.540108,
+              33.512822
+            ],
+            [
+              106.58076,
+              33.576169
+            ],
+            [
+              106.575832,
+              33.631497
+            ],
+            [
+              106.534564,
+              33.695254
+            ],
+            [
+              106.482825,
+              33.707203
+            ],
+            [
+              106.488369,
+              33.757969
+            ],
+            [
+              106.461883,
+              33.789807
+            ],
+            [
+              106.491448,
+              33.834559
+            ],
+            [
+              106.475434,
+              33.875809
+            ],
+            [
+              106.428007,
+              33.866368
+            ],
+            [
+              106.41076,
+              33.909093
+            ],
+            [
+              106.474202,
+              33.970659
+            ],
+            [
+              106.471738,
+              34.024244
+            ],
+            [
+              106.505615,
+              34.056479
+            ],
+            [
+              106.501919,
+              34.105055
+            ],
+            [
+              106.560434,
+              34.109514
+            ],
+            [
+              106.585071,
+              34.149641
+            ],
+            [
+              106.55797,
+              34.229837
+            ],
+            [
+              106.5321,
+              34.254079
+            ],
+            [
+              106.496376,
+              34.238248
+            ],
+            [
+              106.526557,
+              34.292159
+            ],
+            [
+              106.577064,
+              34.280786
+            ],
+            [
+              106.589383,
+              34.253584
+            ],
+            [
+              106.63373,
+              34.260014
+            ],
+            [
+              106.652825,
+              34.24369
+            ],
+            [
+              106.68239,
+              34.256057
+            ],
+            [
+              106.705179,
+              34.299575
+            ],
+            [
+              106.691013,
+              34.337635
+            ],
+            [
+              106.717498,
+              34.369255
+            ],
+            [
+              106.638042,
+              34.391481
+            ],
+            [
+              106.610941,
+              34.454177
+            ],
+            [
+              106.558586,
+              34.48822
+            ],
+            [
+              106.513622,
+              34.498085
+            ],
+            [
+              106.514238,
+              34.511894
+            ],
+            [
+              106.455108,
+              34.531617
+            ],
+            [
+              106.334384,
+              34.517811
+            ],
+            [
+              106.341159,
+              34.568093
+            ],
+            [
+              106.314058,
+              34.578934
+            ],
+            [
+              106.419384,
+              34.643458
+            ],
+            [
+              106.471122,
+              34.634102
+            ],
+            [
+              106.442173,
+              34.675455
+            ],
+            [
+              106.456956,
+              34.703996
+            ],
+            [
+              106.487137,
+              34.715311
+            ],
+            [
+              106.505615,
+              34.746789
+            ],
+            [
+              106.539492,
+              34.745805
+            ],
+            [
+              106.575216,
+              34.769897
+            ],
+            [
+              106.550579,
+              34.82936
+            ],
+            [
+              106.556122,
+              34.861285
+            ],
+            [
+              106.527789,
+              34.876507
+            ],
+            [
+              106.493296,
+              34.941289
+            ],
+            [
+              106.484673,
+              34.983959
+            ],
+            [
+              106.494528,
+              35.006021
+            ],
+            [
+              106.494528,
+              35.006021
+            ],
+            [
+              106.52163,
+              35.027587
+            ],
+            [
+              106.541956,
+              35.083925
+            ],
+            [
+              106.577064,
+              35.089312
+            ],
+            [
+              106.615252,
+              35.071191
+            ],
+            [
+              106.706411,
+              35.081966
+            ],
+            [
+              106.710723,
+              35.100574
+            ],
+            [
+              106.838222,
+              35.080007
+            ],
+            [
+              106.901664,
+              35.094698
+            ],
+            [
+              106.950323,
+              35.066782
+            ],
+            [
+              106.990975,
+              35.068252
+            ],
+            [
+              107.012533,
+              35.029547
+            ],
+            [
+              107.08275,
+              35.024156
+            ],
+            [
+              107.089526,
+              34.976604
+            ],
+            [
+              107.119707,
+              34.950119
+            ],
+            [
+              107.162206,
+              34.944233
+            ],
+            [
+              107.189308,
+              34.893198
+            ],
+            [
+              107.252749,
+              34.880925
+            ],
+            [
+              107.286626,
+              34.931968
+            ],
+            [
+              107.350068,
+              34.93393
+            ],
+            [
+              107.369162,
+              34.917738
+            ],
+            [
+              107.400575,
+              34.932949
+            ],
+            [
+              107.455394,
+              34.916757
+            ],
+            [
+              107.523763,
+              34.909886
+            ],
+            [
+              107.564415,
+              34.968757
+            ],
+            [
+              107.619849,
+              34.964834
+            ],
+            [
+              107.638943,
+              34.935402
+            ],
+            [
+              107.675284,
+              34.9511
+            ],
+            [
+              107.741805,
+              34.953553
+            ],
+            [
+              107.842203,
+              34.979056
+            ],
+            [
+              107.863145,
+              34.999158
+            ],
+            [
+              107.846515,
+              35.024646
+            ],
+            [
+              107.814486,
+              35.024646
+            ],
+            [
+              107.773218,
+              35.060904
+            ],
+            [
+              107.773218,
+              35.060904
+            ],
+            [
+              107.769523,
+              35.064333
+            ],
+            [
+              107.769523,
+              35.064333
+            ],
+            [
+              107.727639,
+              35.120157
+            ],
+            [
+              107.715936,
+              35.168114
+            ],
+            [
+              107.686371,
+              35.218
+            ],
+            [
+              107.652494,
+              35.244886
+            ],
+            [
+              107.667277,
+              35.257104
+            ],
+            [
+              107.737494,
+              35.267366
+            ],
+            [
+              107.745501,
+              35.311819
+            ],
+            [
+              107.841587,
+              35.276649
+            ],
+            [
+              107.867457,
+              35.256127
+            ],
+            [
+              107.960464,
+              35.263457
+            ],
+            [
+              107.949993,
+              35.245375
+            ],
+            [
+              108.049159,
+              35.253683
+            ],
+            [
+              108.094739,
+              35.280069
+            ],
+            [
+              108.174811,
+              35.304981
+            ],
+            [
+              108.221622,
+              35.296678
+            ],
+            [
+              108.239484,
+              35.256127
+            ],
+            [
+              108.296767,
+              35.267855
+            ],
+            [
+              108.345426,
+              35.300586
+            ],
+            [
+              108.36144,
+              35.279581
+            ],
+            [
+              108.48894,
+              35.275184
+            ],
+            [
+              108.547454,
+              35.304981
+            ],
+            [
+              108.583178,
+              35.294724
+            ],
+            [
+              108.614591,
+              35.328909
+            ],
+            [
+              108.61028,
+              35.355271
+            ],
+            [
+              108.631222,
+              35.418698
+            ],
+            [
+              108.605968,
+              35.503028
+            ],
+            [
+              108.625678,
+              35.537124
+            ],
+            [
+              108.618287,
+              35.557088
+            ],
+            [
+              108.539447,
+              35.605761
+            ],
+            [
+              108.517889,
+              35.699615
+            ],
+            [
+              108.533903,
+              35.746257
+            ],
+            [
+              108.527744,
+              35.82442
+            ],
+            [
+              108.499411,
+              35.872444
+            ],
+            [
+              108.518505,
+              35.905414
+            ],
+            [
+              108.562852,
+              35.921409
+            ],
+            [
+              108.593649,
+              35.950967
+            ],
+            [
+              108.652164,
+              35.94806
+            ],
+            [
+              108.659555,
+              35.990683
+            ],
+            [
+              108.688504,
+              36.021183
+            ],
+            [
+              108.682345,
+              36.062316
+            ],
+            [
+              108.712526,
+              36.138716
+            ],
+            [
+              108.646004,
+              36.254143
+            ],
+            [
+              108.641693,
+              36.359279
+            ],
+            [
+              108.651548,
+              36.384818
+            ],
+            [
+              108.618903,
+              36.433946
+            ],
+            [
+              108.562852,
+              36.43876
+            ],
+            [
+              108.510498,
+              36.47438
+            ],
+            [
+              108.514809,
+              36.445501
+            ],
+            [
+              108.495099,
+              36.422389
+            ],
+            [
+              108.460606,
+              36.422871
+            ],
+            [
+              108.408252,
+              36.45946
+            ],
+            [
+              108.391621,
+              36.505654
+            ],
+            [
+              108.365136,
+              36.519603
+            ],
+            [
+              108.340498,
+              36.559032
+            ],
+            [
+              108.262274,
+              36.549417
+            ],
+            [
+              108.245644,
+              36.571048
+            ],
+            [
+              108.210535,
+              36.577296
+            ],
+            [
+              108.204992,
+              36.606607
+            ],
+            [
+              108.204992,
+              36.606607
+            ],
+            [
+              108.222854,
+              36.631105
+            ],
+            [
+              108.1976,
+              36.630144
+            ],
+            [
+              108.163724,
+              36.563839
+            ],
+            [
+              108.092891,
+              36.587388
+            ],
+            [
+              108.079956,
+              36.614294
+            ],
+            [
+              108.060862,
+              36.592194
+            ],
+            [
+              108.001732,
+              36.639269
+            ],
+            [
+              108.02329,
+              36.647912
+            ],
+            [
+              108.006659,
+              36.683435
+            ],
+            [
+              107.938906,
+              36.655594
+            ],
+            [
+              107.940754,
+              36.694953
+            ],
+            [
+              107.914268,
+              36.720861
+            ],
+            [
+              107.907493,
+              36.750118
+            ],
+            [
+              107.866841,
+              36.766899
+            ],
+            [
+              107.768291,
+              36.792783
+            ],
+            [
+              107.742421,
+              36.811951
+            ],
+            [
+              107.722095,
+              36.802367
+            ],
+            [
+              107.670356,
+              36.83303
+            ],
+            [
+              107.642023,
+              36.819137
+            ],
+            [
+              107.5909,
+              36.836382
+            ],
+            [
+              107.540393,
+              36.828718
+            ],
+            [
+              107.533618,
+              36.867031
+            ],
+            [
+              107.478183,
+              36.908196
+            ],
+            [
+              107.365466,
+              36.905324
+            ],
+            [
+              107.336517,
+              36.925899
+            ],
+            [
+              107.310032,
+              36.912502
+            ],
+            [
+              107.291554,
+              36.979463
+            ],
+            [
+              107.291554,
+              36.979463
+            ],
+            [
+              107.288474,
+              37.008143
+            ],
+            [
+              107.288474,
+              37.008143
+            ],
+            [
+              107.28601,
+              37.054963
+            ],
+            [
+              107.268764,
+              37.099367
+            ],
+            [
+              107.234887,
+              37.096503
+            ],
+            [
+              107.181916,
+              37.143269
+            ],
+            [
+              107.133873,
+              37.134681
+            ],
+            [
+              107.095685,
+              37.115595
+            ],
+            [
+              107.030395,
+              37.140883
+            ],
+            [
+              107.031011,
+              37.108436
+            ],
+            [
+              106.998367,
+              37.106527
+            ],
+            [
+              106.905976,
+              37.151378
+            ],
+            [
+              106.912135,
+              37.110345
+            ],
+            [
+              106.891193,
+              37.098413
+            ],
+            [
+              106.818512,
+              37.141838
+            ],
+            [
+              106.776012,
+              37.158056
+            ],
+            [
+              106.772933,
+              37.120367
+            ],
+            [
+              106.750143,
+              37.09889
+            ],
+            [
+              106.728585,
+              37.121321
+            ],
+            [
+              106.687933,
+              37.12991
+            ],
+            [
+              106.673151,
+              37.1113
+            ],
+            [
+              106.6171,
+              37.135158
+            ],
+            [
+              106.605397,
+              37.127524
+            ],
+            [
+              106.645433,
+              37.064992
+            ],
+            [
+              106.666991,
+              37.016745
+            ],
+            [
+              106.646665,
+              37.000496
+            ],
+            [
+              106.64297,
+              36.962729
+            ],
+            [
+              106.594926,
+              36.967988
+            ],
+            [
+              106.595542,
+              36.94025
+            ],
+            [
+              106.540108,
+              36.984244
+            ],
+            [
+              106.549347,
+              36.941685
+            ],
+            [
+              106.601702,
+              36.918244
+            ],
+            [
+              106.609709,
+              36.878521
+            ],
+            [
+              106.609709,
+              36.878521
+            ],
+            [
+              106.626955,
+              36.892403
+            ],
+            [
+              106.637426,
+              36.867031
+            ],
+            [
+              106.637426,
+              36.867031
+            ],
+            [
+              106.657752,
+              36.820575
+            ],
+            [
+              106.627571,
+              36.752995
+            ],
+            [
+              106.644817,
+              36.72278
+            ],
+            [
+              106.59431,
+              36.750118
+            ],
+            [
+              106.514238,
+              36.715584
+            ],
+            [
+              106.519782,
+              36.708868
+            ],
+            [
+              106.519782,
+              36.708868
+            ],
+            [
+              106.530869,
+              36.690154
+            ],
+            [
+              106.490833,
+              36.685835
+            ],
+            [
+              106.491448,
+              36.628703
+            ],
+            [
+              106.444637,
+              36.624861
+            ],
+            [
+              106.465579,
+              36.583063
+            ],
+            [
+              106.444637,
+              36.557109
+            ],
+            [
+              106.397826,
+              36.576816
+            ],
+            [
+              106.392282,
+              36.556628
+            ],
+            [
+              106.363949,
+              36.577296
+            ],
+            [
+              106.37134,
+              36.549417
+            ],
+            [
+              106.39721,
+              36.548455
+            ],
+            [
+              106.455724,
+              36.496995
+            ],
+            [
+              106.494528,
+              36.494589
+            ],
+            [
+              106.523477,
+              36.468605
+            ],
+            [
+              106.492064,
+              36.422389
+            ],
+            [
+              106.510543,
+              36.379037
+            ],
+            [
+              106.497608,
+              36.31348
+            ],
+            [
+              106.470507,
+              36.306246
+            ],
+            [
+              106.504383,
+              36.266207
+            ],
+            [
+              106.54134,
+              36.25366
+            ],
+            [
+              106.559202,
+              36.292259
+            ],
+            [
+              106.647897,
+              36.259451
+            ],
+            [
+              106.685469,
+              36.273445
+            ],
+            [
+              106.698404,
+              36.244008
+            ],
+            [
+              106.735976,
+              36.23725
+            ],
+            [
+              106.772933,
+              36.212628
+            ],
+            [
+              106.808657,
+              36.21118
+            ],
+            [
+              106.833295,
+              36.229044
+            ],
+            [
+              106.858548,
+              36.206834
+            ],
+            [
+              106.858548,
+              36.206834
+            ],
+            [
+              106.873947,
+              36.178338
+            ],
+            [
+              106.873947,
+              36.178338
+            ],
+            [
+              106.930613,
+              36.138716
+            ],
+            [
+              106.925686,
+              36.115997
+            ],
+            [
+              106.957715,
+              36.091337
+            ],
+            [
+              106.940468,
+              36.064734
+            ],
+            [
+              106.928149,
+              36.011502
+            ],
+            [
+              106.94786,
+              35.988262
+            ],
+            [
+              106.90228,
+              35.943699
+            ],
+            [
+              106.93862,
+              35.952905
+            ],
+            [
+              106.940468,
+              35.931101
+            ],
+            [
+              106.912751,
+              35.93207
+            ],
+            [
+              106.849925,
+              35.887476
+            ],
+            [
+              106.927534,
+              35.810346
+            ],
+            [
+              106.897353,
+              35.759856
+            ],
+            [
+              106.868403,
+              35.771996
+            ],
+            [
+              106.867171,
+              35.738485
+            ],
+            [
+              106.819128,
+              35.7448
+            ],
+            [
+              106.806193,
+              35.70982
+            ],
+            [
+              106.750759,
+              35.725369
+            ],
+            [
+              106.750759,
+              35.689408
+            ],
+            [
+              106.674998,
+              35.728284
+            ],
+            [
+              106.66268,
+              35.70739
+            ],
+            [
+              106.633115,
+              35.714679
+            ],
+            [
+              106.620796,
+              35.743829
+            ],
+            [
+              106.595542,
+              35.727312
+            ],
+            [
+              106.566593,
+              35.738971
+            ],
+            [
+              106.506231,
+              35.737514
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.047356,
+              35.498155
+            ],
+            [
+              106.048588,
+              35.488898
+            ],
+            [
+              106.054132,
+              35.45478
+            ],
+            [
+              106.071994,
+              35.463555
+            ],
+            [
+              106.078769,
+              35.509848
+            ],
+            [
+              106.047356,
+              35.498155
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              102.831537,
+              36.365544
+            ],
+            [
+              102.829689,
+              36.365544
+            ],
+            [
+              102.836465,
+              36.344819
+            ],
+            [
+              102.838928,
+              36.345783
+            ],
+            [
+              102.831537,
+              36.365544
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.073226,
+              35.447468
+            ],
+            [
+              106.067682,
+              35.436254
+            ],
+            [
+              106.073226,
+              35.420649
+            ],
+            [
+              106.083081,
+              35.421624
+            ],
+            [
+              106.073226,
+              35.447468
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.504383,
+              35.736057
+            ],
+            [
+              106.506231,
+              35.737514
+            ],
+            [
+              106.49268,
+              35.732656
+            ],
+            [
+              106.498224,
+              35.732656
+            ],
+            [
+              106.504383,
+              35.736057
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 63e4,
+      name: "青海省",
+      center: [
+        101.778916,
+        36.623178
+      ],
+      centroid: [
+        96.043533,
+        35.726403
+      ],
+      childrenNum: 8,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 28,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              102.829689,
+              36.365544
+            ],
+            [
+              102.771791,
+              36.47438
+            ],
+            [
+              102.793349,
+              36.497957
+            ],
+            [
+              102.753313,
+              36.525855
+            ],
+            [
+              102.734219,
+              36.562396
+            ],
+            [
+              102.761936,
+              36.568645
+            ],
+            [
+              102.714509,
+              36.599401
+            ],
+            [
+              102.724364,
+              36.613813
+            ],
+            [
+              102.684328,
+              36.619097
+            ],
+            [
+              102.630741,
+              36.650793
+            ],
+            [
+              102.601176,
+              36.710307
+            ],
+            [
+              102.612879,
+              36.738129
+            ],
+            [
+              102.639364,
+              36.732853
+            ],
+            [
+              102.692335,
+              36.775528
+            ],
+            [
+              102.720052,
+              36.767858
+            ],
+            [
+              102.639364,
+              36.852666
+            ],
+            [
+              102.587009,
+              36.869904
+            ],
+            [
+              102.56114,
+              36.91968
+            ],
+            [
+              102.526031,
+              36.928291
+            ],
+            [
+              102.499546,
+              36.954599
+            ],
+            [
+              102.450271,
+              36.968467
+            ],
+            [
+              102.506321,
+              37.019134
+            ],
+            [
+              102.488459,
+              37.078362
+            ],
+            [
+              102.583314,
+              37.104618
+            ],
+            [
+              102.642444,
+              37.099845
+            ],
+            [
+              102.599944,
+              37.174748
+            ],
+            [
+              102.578386,
+              37.17284
+            ],
+            [
+              102.533422,
+              37.217176
+            ],
+            [
+              102.490307,
+              37.223371
+            ],
+            [
+              102.457662,
+              37.248147
+            ],
+            [
+              102.45335,
+              37.271487
+            ],
+            [
+              102.419474,
+              37.294343
+            ],
+            [
+              102.428097,
+              37.308624
+            ],
+            [
+              102.368351,
+              37.327662
+            ],
+            [
+              102.29875,
+              37.370004
+            ],
+            [
+              102.299981,
+              37.391404
+            ],
+            [
+              102.19712,
+              37.420403
+            ],
+            [
+              102.176794,
+              37.458892
+            ],
+            [
+              102.125055,
+              37.48549
+            ],
+            [
+              102.103497,
+              37.482641
+            ],
+            [
+              102.131214,
+              37.54625
+            ],
+            [
+              102.102265,
+              37.582304
+            ],
+            [
+              102.035128,
+              37.627819
+            ],
+            [
+              102.048678,
+              37.651515
+            ],
+            [
+              102.036359,
+              37.685149
+            ],
+            [
+              101.998787,
+              37.724921
+            ],
+            [
+              101.946432,
+              37.728235
+            ],
+            [
+              101.873135,
+              37.686569
+            ],
+            [
+              101.854657,
+              37.664781
+            ],
+            [
+              101.815853,
+              37.654357
+            ],
+            [
+              101.791832,
+              37.696041
+            ],
+            [
+              101.659405,
+              37.733441
+            ],
+            [
+              101.670491,
+              37.754264
+            ],
+            [
+              101.598427,
+              37.827569
+            ],
+            [
+              101.551615,
+              37.835604
+            ],
+            [
+              101.459224,
+              37.86632
+            ],
+            [
+              101.382848,
+              37.822369
+            ],
+            [
+              101.362522,
+              37.791162
+            ],
+            [
+              101.276906,
+              37.83655
+            ],
+            [
+              101.202994,
+              37.84742
+            ],
+            [
+              101.159262,
+              37.86821
+            ],
+            [
+              101.152486,
+              37.891356
+            ],
+            [
+              101.114298,
+              37.92016
+            ],
+            [
+              101.103211,
+              37.946593
+            ],
+            [
+              101.077342,
+              37.941874
+            ],
+            [
+              100.964009,
+              38.011221
+            ],
+            [
+              100.91843,
+              37.999432
+            ],
+            [
+              100.895024,
+              38.013107
+            ],
+            [
+              100.888864,
+              38.056001
+            ],
+            [
+              100.922125,
+              38.084741
+            ],
+            [
+              100.91843,
+              38.129006
+            ],
+            [
+              100.93814,
+              38.16007
+            ],
+            [
+              100.913502,
+              38.17889
+            ],
+            [
+              100.860531,
+              38.148305
+            ],
+            [
+              100.825423,
+              38.158658
+            ],
+            [
+              100.752126,
+              38.238612
+            ],
+            [
+              100.71517,
+              38.253652
+            ],
+            [
+              100.619083,
+              38.26587
+            ],
+            [
+              100.595061,
+              38.242372
+            ],
+            [
+              100.545786,
+              38.247072
+            ],
+            [
+              100.516837,
+              38.272448
+            ],
+            [
+              100.474953,
+              38.288891
+            ],
+            [
+              100.459555,
+              38.2654
+            ],
+            [
+              100.432453,
+              38.275267
+            ],
+            [
+              100.424446,
+              38.307208
+            ],
+            [
+              100.396729,
+              38.293118
+            ],
+            [
+              100.318505,
+              38.329276
+            ],
+            [
+              100.331439,
+              38.337257
+            ],
+            [
+              100.301874,
+              38.388405
+            ],
+            [
+              100.259374,
+              38.366355
+            ],
+            [
+              100.24028,
+              38.441861
+            ],
+            [
+              100.163288,
+              38.461546
+            ],
+            [
+              100.113397,
+              38.497151
+            ],
+            [
+              100.086911,
+              38.492936
+            ],
+            [
+              100.064122,
+              38.518694
+            ],
+            [
+              100.025933,
+              38.507923
+            ],
+            [
+              100.001296,
+              38.467169
+            ],
+            [
+              100.022238,
+              38.432017
+            ],
+            [
+              100.093071,
+              38.407166
+            ],
+            [
+              100.136803,
+              38.33444
+            ],
+            [
+              100.163904,
+              38.328337
+            ],
+            [
+              100.159592,
+              38.291239
+            ],
+            [
+              100.182998,
+              38.222158
+            ],
+            [
+              100.126332,
+              38.231561
+            ],
+            [
+              100.117093,
+              38.253652
+            ],
+            [
+              100.071513,
+              38.284663
+            ],
+            [
+              100.049955,
+              38.283254
+            ],
+            [
+              100.001912,
+              38.315191
+            ],
+            [
+              99.960028,
+              38.320825
+            ],
+            [
+              99.826985,
+              38.370109
+            ],
+            [
+              99.758,
+              38.410449
+            ],
+            [
+              99.727203,
+              38.415607
+            ],
+            [
+              99.65945,
+              38.449361
+            ],
+            [
+              99.63974,
+              38.474666
+            ],
+            [
+              99.585537,
+              38.498556
+            ],
+            [
+              99.52887,
+              38.546314
+            ],
+            [
+              99.501769,
+              38.612281
+            ],
+            [
+              99.450646,
+              38.60433
+            ],
+            [
+              99.412458,
+              38.665571
+            ],
+            [
+              99.375502,
+              38.684727
+            ],
+            [
+              99.361951,
+              38.718354
+            ],
+            [
+              99.291118,
+              38.765966
+            ],
+            [
+              99.222133,
+              38.788827
+            ],
+            [
+              99.141445,
+              38.852706
+            ],
+            [
+              99.068764,
+              38.896968
+            ],
+            [
+              99.071843,
+              38.921184
+            ],
+            [
+              99.107568,
+              38.951907
+            ],
+            [
+              99.054597,
+              38.97657
+            ],
+            [
+              98.951735,
+              38.987735
+            ],
+            [
+              98.903076,
+              39.012384
+            ],
+            [
+              98.886446,
+              39.040744
+            ],
+            [
+              98.818076,
+              39.064911
+            ],
+            [
+              98.816845,
+              39.085818
+            ],
+            [
+              98.743548,
+              39.086747
+            ],
+            [
+              98.730613,
+              39.057011
+            ],
+            [
+              98.70536,
+              39.043533
+            ],
+            [
+              98.661628,
+              38.993782
+            ],
+            [
+              98.612353,
+              38.977035
+            ],
+            [
+              98.624056,
+              38.959353
+            ],
+            [
+              98.584635,
+              38.93003
+            ],
+            [
+              98.526737,
+              38.95563
+            ],
+            [
+              98.457752,
+              38.952838
+            ],
+            [
+              98.428187,
+              38.976104
+            ],
+            [
+              98.432498,
+              38.996107
+            ],
+            [
+              98.401086,
+              39.001688
+            ],
+            [
+              98.383839,
+              39.029588
+            ],
+            [
+              98.316702,
+              39.040744
+            ],
+            [
+              98.280977,
+              39.027263
+            ],
+            [
+              98.287753,
+              38.992386
+            ],
+            [
+              98.276666,
+              38.963541
+            ],
+            [
+              98.235398,
+              38.918855
+            ],
+            [
+              98.242173,
+              38.880664
+            ],
+            [
+              98.167645,
+              38.840121
+            ],
+            [
+              98.091884,
+              38.786495
+            ],
+            [
+              98.068478,
+              38.816344
+            ],
+            [
+              98.029058,
+              38.834061
+            ],
+            [
+              98.009348,
+              38.85923
+            ],
+            [
+              97.875689,
+              38.898365
+            ],
+            [
+              97.828878,
+              38.93003
+            ],
+            [
+              97.701379,
+              38.963076
+            ],
+            [
+              97.679205,
+              39.010524
+            ],
+            [
+              97.58127,
+              39.052364
+            ],
+            [
+              97.504894,
+              39.076527
+            ],
+            [
+              97.458698,
+              39.117863
+            ],
+            [
+              97.401416,
+              39.146645
+            ],
+            [
+              97.371235,
+              39.140611
+            ],
+            [
+              97.347213,
+              39.167528
+            ],
+            [
+              97.315185,
+              39.164744
+            ],
+            [
+              97.220946,
+              39.193042
+            ],
+            [
+              97.14149,
+              39.199999
+            ],
+            [
+              97.060186,
+              39.19768
+            ],
+            [
+              97.017686,
+              39.208347
+            ],
+            [
+              96.962251,
+              39.198144
+            ],
+            [
+              97.012142,
+              39.142004
+            ],
+            [
+              96.969643,
+              39.097895
+            ],
+            [
+              96.95794,
+              39.041674
+            ],
+            [
+              96.965331,
+              39.017034
+            ],
+            [
+              96.938846,
+              38.95563
+            ],
+            [
+              96.940693,
+              38.90768
+            ],
+            [
+              96.983809,
+              38.869016
+            ],
+            [
+              96.993664,
+              38.834993
+            ],
+            [
+              96.987505,
+              38.793025
+            ],
+            [
+              97.00044,
+              38.7613
+            ],
+            [
+              97.023229,
+              38.755699
+            ],
+            [
+              97.009063,
+              38.702477
+            ],
+            [
+              97.057722,
+              38.67258
+            ],
+            [
+              97.047251,
+              38.653888
+            ],
+            [
+              97.055874,
+              38.594508
+            ],
+            [
+              96.961019,
+              38.558015
+            ],
+            [
+              96.876636,
+              38.580475
+            ],
+            [
+              96.847071,
+              38.599186
+            ],
+            [
+              96.7941,
+              38.608072
+            ],
+            [
+              96.808882,
+              38.582346
+            ],
+            [
+              96.767614,
+              38.552399
+            ],
+            [
+              96.800259,
+              38.52759
+            ],
+            [
+              96.780549,
+              38.504177
+            ],
+            [
+              96.706637,
+              38.505582
+            ],
+            [
+              96.6666,
+              38.483567
+            ],
+            [
+              96.707868,
+              38.459203
+            ],
+            [
+              96.698013,
+              38.422172
+            ],
+            [
+              96.626564,
+              38.356031
+            ],
+            [
+              96.638883,
+              38.307208
+            ],
+            [
+              96.655514,
+              38.295936
+            ],
+            [
+              96.665369,
+              38.23015
+            ],
+            [
+              96.46334,
+              38.277616
+            ],
+            [
+              96.378341,
+              38.277146
+            ],
+            [
+              96.335841,
+              38.246132
+            ],
+            [
+              96.301964,
+              38.183124
+            ],
+            [
+              96.313051,
+              38.161952
+            ],
+            [
+              96.264392,
+              38.145952
+            ],
+            [
+              96.252689,
+              38.167599
+            ],
+            [
+              96.221892,
+              38.149246
+            ],
+            [
+              96.109175,
+              38.187358
+            ],
+            [
+              96.06606,
+              38.173245
+            ],
+            [
+              96.006929,
+              38.207582
+            ],
+            [
+              95.93856,
+              38.237202
+            ],
+            [
+              95.932401,
+              38.259291
+            ],
+            [
+              95.89606,
+              38.2903
+            ],
+            [
+              95.852945,
+              38.287481
+            ],
+            [
+              95.83693,
+              38.344298
+            ],
+            [
+              95.775952,
+              38.356031
+            ],
+            [
+              95.723597,
+              38.378554
+            ],
+            [
+              95.703887,
+              38.400131
+            ],
+            [
+              95.671858,
+              38.388405
+            ],
+            [
+              95.608417,
+              38.339134
+            ],
+            [
+              95.585011,
+              38.343359
+            ],
+            [
+              95.51849,
+              38.294997
+            ],
+            [
+              95.487693,
+              38.314721
+            ],
+            [
+              95.455664,
+              38.291709
+            ],
+            [
+              95.440881,
+              38.310965
+            ],
+            [
+              95.408236,
+              38.300163
+            ],
+            [
+              95.315846,
+              38.318947
+            ],
+            [
+              95.259179,
+              38.302981
+            ],
+            [
+              95.229614,
+              38.330685
+            ],
+            [
+              95.209904,
+              38.327868
+            ],
+            [
+              95.185266,
+              38.379492
+            ],
+            [
+              95.140919,
+              38.392158
+            ],
+            [
+              95.122441,
+              38.417014
+            ],
+            [
+              95.072549,
+              38.402476
+            ],
+            [
+              95.045448,
+              38.418889
+            ],
+            [
+              94.973999,
+              38.430142
+            ],
+            [
+              94.884072,
+              38.414669
+            ],
+            [
+              94.861282,
+              38.393565
+            ],
+            [
+              94.812623,
+              38.385591
+            ],
+            [
+              94.672805,
+              38.386998
+            ],
+            [
+              94.582878,
+              38.36917
+            ],
+            [
+              94.56132,
+              38.351807
+            ],
+            [
+              94.527443,
+              38.365416
+            ],
+            [
+              94.527443,
+              38.425922
+            ],
+            [
+              94.511429,
+              38.445142
+            ],
+            [
+              94.370379,
+              38.7627
+            ],
+            [
+              94.281067,
+              38.7599
+            ],
+            [
+              93.973098,
+              38.724891
+            ],
+            [
+              93.95154,
+              38.715086
+            ],
+            [
+              93.885018,
+              38.720689
+            ],
+            [
+              93.800019,
+              38.750566
+            ],
+            [
+              93.773533,
+              38.771099
+            ],
+            [
+              93.756287,
+              38.807484
+            ],
+            [
+              93.769838,
+              38.821007
+            ],
+            [
+              93.884403,
+              38.826136
+            ],
+            [
+              93.884403,
+              38.867618
+            ],
+            [
+              93.834511,
+              38.867618
+            ],
+            [
+              93.729186,
+              38.924443
+            ],
+            [
+              93.453245,
+              38.915596
+            ],
+            [
+              93.274007,
+              38.896036
+            ],
+            [
+              93.237666,
+              38.916062
+            ],
+            [
+              93.179152,
+              38.923977
+            ],
+            [
+              93.198246,
+              39.045857
+            ],
+            [
+              93.165601,
+              39.090928
+            ],
+            [
+              93.131725,
+              39.108112
+            ],
+            [
+              93.142196,
+              39.160567
+            ],
+            [
+              93.115094,
+              39.17959
+            ],
+            [
+              93.043029,
+              39.146645
+            ],
+            [
+              92.978356,
+              39.143396
+            ],
+            [
+              92.938936,
+              39.169848
+            ],
+            [
+              92.889045,
+              39.160103
+            ],
+            [
+              92.866871,
+              39.138754
+            ],
+            [
+              92.765857,
+              39.136898
+            ],
+            [
+              92.659299,
+              39.109969
+            ],
+            [
+              92.545966,
+              39.111362
+            ],
+            [
+              92.489916,
+              39.099753
+            ],
+            [
+              92.459119,
+              39.063982
+            ],
+            [
+              92.459119,
+              39.042604
+            ],
+            [
+              92.41046,
+              39.03842
+            ],
+            [
+              92.416003,
+              39.010524
+            ],
+            [
+              92.380279,
+              38.999828
+            ],
+            [
+              92.263866,
+              39.002153
+            ],
+            [
+              92.197961,
+              38.983548
+            ],
+            [
+              92.173323,
+              38.960749
+            ],
+            [
+              92.10865,
+              38.963541
+            ],
+            [
+              91.966368,
+              38.930961
+            ],
+            [
+              91.880752,
+              38.899297
+            ],
+            [
+              91.87952,
+              38.884391
+            ],
+            [
+              91.806223,
+              38.872744
+            ],
+            [
+              91.694738,
+              38.86622
+            ],
+            [
+              91.681188,
+              38.852706
+            ],
+            [
+              91.501333,
+              38.815411
+            ],
+            [
+              91.446515,
+              38.813546
+            ],
+            [
+              91.298689,
+              38.746365
+            ],
+            [
+              91.242639,
+              38.752433
+            ],
+            [
+              91.188436,
+              38.73096
+            ],
+            [
+              90.992567,
+              38.695003
+            ],
+            [
+              90.970394,
+              38.697806
+            ],
+            [
+              90.899561,
+              38.679588
+            ],
+            [
+              90.724634,
+              38.658094
+            ],
+            [
+              90.65996,
+              38.674449
+            ],
+            [
+              90.619308,
+              38.664636
+            ],
+            [
+              90.645794,
+              38.635191
+            ],
+            [
+              90.606374,
+              38.610878
+            ],
+            [
+              90.608837,
+              38.594508
+            ],
+            [
+              90.560794,
+              38.593573
+            ],
+            [
+              90.525685,
+              38.561291
+            ],
+            [
+              90.463476,
+              38.556611
+            ],
+            [
+              90.465323,
+              38.521971
+            ],
+            [
+              90.427135,
+              38.493873
+            ],
+            [
+              90.353222,
+              38.482162
+            ],
+            [
+              90.315034,
+              38.501835
+            ],
+            [
+              90.248513,
+              38.491531
+            ],
+            [
+              90.130868,
+              38.494341
+            ],
+            [
+              90.111774,
+              38.477945
+            ],
+            [
+              90.111774,
+              38.418889
+            ],
+            [
+              90.129636,
+              38.400131
+            ],
+            [
+              90.179528,
+              38.396848
+            ],
+            [
+              90.137644,
+              38.340543
+            ],
+            [
+              90.280542,
+              38.238142
+            ],
+            [
+              90.352607,
+              38.233441
+            ],
+            [
+              90.361846,
+              38.300163
+            ],
+            [
+              90.401882,
+              38.311434
+            ],
+            [
+              90.531229,
+              38.319886
+            ],
+            [
+              90.516446,
+              38.207111
+            ],
+            [
+              90.519526,
+              37.730601
+            ],
+            [
+              90.579272,
+              37.720661
+            ],
+            [
+              90.586663,
+              37.703144
+            ],
+            [
+              90.643946,
+              37.696988
+            ],
+            [
+              90.777605,
+              37.648672
+            ],
+            [
+              90.820104,
+              37.613599
+            ],
+            [
+              90.854597,
+              37.604117
+            ],
+            [
+              90.882314,
+              37.575664
+            ],
+            [
+              90.865684,
+              37.53059
+            ],
+            [
+              90.911879,
+              37.519674
+            ],
+            [
+              90.958075,
+              37.477891
+            ],
+            [
+              91.019669,
+              37.493088
+            ],
+            [
+              91.073256,
+              37.475992
+            ],
+            [
+              91.099741,
+              37.447965
+            ],
+            [
+              91.113292,
+              37.387124
+            ],
+            [
+              91.136081,
+              37.355734
+            ],
+            [
+              91.134849,
+              37.324331
+            ],
+            [
+              91.194596,
+              37.273868
+            ],
+            [
+              91.1909,
+              37.205737
+            ],
+            [
+              91.280211,
+              37.163779
+            ],
+            [
+              91.286371,
+              37.105095
+            ],
+            [
+              91.303617,
+              37.083136
+            ],
+            [
+              91.291298,
+              37.042544
+            ],
+            [
+              91.303617,
+              37.012444
+            ],
+            [
+              91.216153,
+              37.010054
+            ],
+            [
+              91.181045,
+              37.025345
+            ],
+            [
+              91.133618,
+              37.007665
+            ],
+            [
+              91.126842,
+              36.978507
+            ],
+            [
+              91.051698,
+              36.96751
+            ],
+            [
+              91.036915,
+              36.929727
+            ],
+            [
+              90.983944,
+              36.913459
+            ],
+            [
+              90.924198,
+              36.921115
+            ],
+            [
+              90.853981,
+              36.915373
+            ],
+            [
+              90.758511,
+              36.825844
+            ],
+            [
+              90.732025,
+              36.825844
+            ],
+            [
+              90.727098,
+              36.755872
+            ],
+            [
+              90.754815,
+              36.721341
+            ],
+            [
+              90.720938,
+              36.708868
+            ],
+            [
+              90.706156,
+              36.658955
+            ],
+            [
+              90.730793,
+              36.655594
+            ],
+            [
+              90.72217,
+              36.620058
+            ],
+            [
+              90.741264,
+              36.585947
+            ],
+            [
+              90.810865,
+              36.585466
+            ],
+            [
+              90.831191,
+              36.55807
+            ],
+            [
+              90.905104,
+              36.560474
+            ],
+            [
+              91.011662,
+              36.539801
+            ],
+            [
+              91.035683,
+              36.529703
+            ],
+            [
+              91.039995,
+              36.474861
+            ],
+            [
+              91.028292,
+              36.443093
+            ],
+            [
+              91.051698,
+              36.433946
+            ],
+            [
+              91.026444,
+              36.323607
+            ],
+            [
+              91.07264,
+              36.299012
+            ],
+            [
+              91.051698,
+              36.238215
+            ],
+            [
+              91.096045,
+              36.219871
+            ],
+            [
+              91.09235,
+              36.163844
+            ],
+            [
+              91.124994,
+              36.115514
+            ],
+            [
+              91.081263,
+              36.088436
+            ],
+            [
+              90.979017,
+              36.106811
+            ],
+            [
+              90.922966,
+              36.028927
+            ],
+            [
+              90.850285,
+              36.016827
+            ],
+            [
+              90.815793,
+              36.035703
+            ],
+            [
+              90.776373,
+              36.086501
+            ],
+            [
+              90.659344,
+              36.13485
+            ],
+            [
+              90.613149,
+              36.126632
+            ],
+            [
+              90.534925,
+              36.147899
+            ],
+            [
+              90.478258,
+              36.13195
+            ],
+            [
+              90.424055,
+              36.133883
+            ],
+            [
+              90.325505,
+              36.159496
+            ],
+            [
+              90.23681,
+              36.160462
+            ],
+            [
+              90.198006,
+              36.187516
+            ],
+            [
+              90.130252,
+              36.2078
+            ],
+            [
+              90.145651,
+              36.239181
+            ],
+            [
+              90.058188,
+              36.255591
+            ],
+            [
+              90.043405,
+              36.276822
+            ],
+            [
+              90.003369,
+              36.278752
+            ],
+            [
+              90.028006,
+              36.258486
+            ],
+            [
+              90.019999,
+              36.213594
+            ],
+            [
+              89.997825,
+              36.168193
+            ],
+            [
+              89.944855,
+              36.140649
+            ],
+            [
+              89.941159,
+              36.067637
+            ],
+            [
+              89.914058,
+              36.079246
+            ],
+            [
+              89.819819,
+              36.080697
+            ],
+            [
+              89.766848,
+              36.073925
+            ],
+            [
+              89.711414,
+              36.093272
+            ],
+            [
+              89.688624,
+              36.091337
+            ],
+            [
+              89.605472,
+              36.038123
+            ],
+            [
+              89.474893,
+              36.022151
+            ],
+            [
+              89.417611,
+              36.044897
+            ],
+            [
+              89.404676,
+              36.016827
+            ],
+            [
+              89.434857,
+              35.992136
+            ],
+            [
+              89.428082,
+              35.917531
+            ],
+            [
+              89.489676,
+              35.903475
+            ],
+            [
+              89.554965,
+              35.873414
+            ],
+            [
+              89.550654,
+              35.856924
+            ],
+            [
+              89.62395,
+              35.859349
+            ],
+            [
+              89.654747,
+              35.848193
+            ],
+            [
+              89.707718,
+              35.849163
+            ],
+            [
+              89.778551,
+              35.861775
+            ],
+            [
+              89.801957,
+              35.848193
+            ],
+            [
+              89.767464,
+              35.799183
+            ],
+            [
+              89.782863,
+              35.773453
+            ],
+            [
+              89.747138,
+              35.7516
+            ],
+            [
+              89.748986,
+              35.66267
+            ],
+            [
+              89.726196,
+              35.648082
+            ],
+            [
+              89.765616,
+              35.599922
+            ],
+            [
+              89.75145,
+              35.580942
+            ],
+            [
+              89.71203,
+              35.581915
+            ],
+            [
+              89.699711,
+              35.544916
+            ],
+            [
+              89.720037,
+              35.501566
+            ],
+            [
+              89.740979,
+              35.507412
+            ],
+            [
+              89.765,
+              35.482563
+            ],
+            [
+              89.739131,
+              35.468429
+            ],
+            [
+              89.685544,
+              35.416259
+            ],
+            [
+              89.658443,
+              35.425526
+            ],
+            [
+              89.619639,
+              35.412357
+            ],
+            [
+              89.58761,
+              35.383575
+            ],
+            [
+              89.497067,
+              35.361128
+            ],
+            [
+              89.516161,
+              35.330862
+            ],
+            [
+              89.494603,
+              35.298632
+            ],
+            [
+              89.531559,
+              35.276161
+            ],
+            [
+              89.48598,
+              35.256616
+            ],
+            [
+              89.450255,
+              35.223867
+            ],
+            [
+              89.46935,
+              35.214577
+            ],
+            [
+              89.519241,
+              35.133862
+            ],
+            [
+              89.579603,
+              35.118688
+            ],
+            [
+              89.593153,
+              35.104491
+            ],
+            [
+              89.59069,
+              35.057965
+            ],
+            [
+              89.560509,
+              34.938836
+            ],
+            [
+              89.578987,
+              34.895162
+            ],
+            [
+              89.670146,
+              34.887798
+            ],
+            [
+              89.707102,
+              34.919701
+            ],
+            [
+              89.747138,
+              34.903506
+            ],
+            [
+              89.78779,
+              34.921664
+            ],
+            [
+              89.821051,
+              34.902033
+            ],
+            [
+              89.814891,
+              34.86816
+            ],
+            [
+              89.838913,
+              34.865705
+            ],
+            [
+              89.867862,
+              34.81069
+            ],
+            [
+              89.825978,
+              34.796931
+            ],
+            [
+              89.799493,
+              34.743838
+            ],
+            [
+              89.732356,
+              34.732035
+            ],
+            [
+              89.72558,
+              34.660689
+            ],
+            [
+              89.74837,
+              34.641981
+            ],
+            [
+              89.798877,
+              34.628686
+            ],
+            [
+              89.777935,
+              34.574499
+            ],
+            [
+              89.814891,
+              34.548871
+            ],
+            [
+              89.823515,
+              34.455657
+            ],
+            [
+              89.819819,
+              34.420614
+            ],
+            [
+              89.799493,
+              34.39642
+            ],
+            [
+              89.820435,
+              34.369255
+            ],
+            [
+              89.858623,
+              34.359375
+            ],
+            [
+              89.86663,
+              34.324785
+            ],
+            [
+              89.825362,
+              34.293642
+            ],
+            [
+              89.838297,
+              34.263477
+            ],
+            [
+              89.816739,
+              34.16945
+            ],
+            [
+              89.789638,
+              34.150632
+            ],
+            [
+              89.760073,
+              34.152613
+            ],
+            [
+              89.756993,
+              34.124874
+            ],
+            [
+              89.71203,
+              34.131809
+            ],
+            [
+              89.655979,
+              34.097126
+            ],
+            [
+              89.656595,
+              34.057966
+            ],
+            [
+              89.635037,
+              34.049537
+            ],
+            [
+              89.684928,
+              33.990013
+            ],
+            [
+              89.688008,
+              33.959739
+            ],
+            [
+              89.718805,
+              33.946832
+            ],
+            [
+              89.73174,
+              33.921509
+            ],
+            [
+              89.795181,
+              33.865374
+            ],
+            [
+              89.837065,
+              33.868853
+            ],
+            [
+              89.899891,
+              33.80771
+            ],
+            [
+              89.942391,
+              33.801246
+            ],
+            [
+              89.902355,
+              33.758467
+            ],
+            [
+              89.907282,
+              33.741051
+            ],
+            [
+              89.983659,
+              33.725622
+            ],
+            [
+              89.981195,
+              33.70322
+            ],
+            [
+              90.008296,
+              33.687785
+            ],
+            [
+              89.984275,
+              33.612061
+            ],
+            [
+              90.01076,
+              33.553728
+            ],
+            [
+              90.083441,
+              33.525295
+            ],
+            [
+              90.088984,
+              33.478885
+            ],
+            [
+              90.107463,
+              33.460913
+            ],
+            [
+              90.22018,
+              33.437943
+            ],
+            [
+              90.246665,
+              33.423959
+            ],
+            [
+              90.332896,
+              33.310501
+            ],
+            [
+              90.363077,
+              33.279487
+            ],
+            [
+              90.405577,
+              33.260473
+            ],
+            [
+              90.490577,
+              33.264977
+            ],
+            [
+              90.562642,
+              33.229441
+            ],
+            [
+              90.627315,
+              33.180368
+            ],
+            [
+              90.704308,
+              33.135778
+            ],
+            [
+              90.740032,
+              33.142293
+            ],
+            [
+              90.803474,
+              33.114227
+            ],
+            [
+              90.88293,
+              33.120241
+            ],
+            [
+              90.902024,
+              33.083143
+            ],
+            [
+              90.927894,
+              33.120241
+            ],
+            [
+              91.001807,
+              33.11573
+            ],
+            [
+              91.037531,
+              33.098686
+            ],
+            [
+              91.072024,
+              33.113224
+            ],
+            [
+              91.147784,
+              33.07211
+            ],
+            [
+              91.161335,
+              33.108712
+            ],
+            [
+              91.18782,
+              33.106206
+            ],
+            [
+              91.226624,
+              33.141792
+            ],
+            [
+              91.261733,
+              33.141291
+            ],
+            [
+              91.311624,
+              33.108211
+            ],
+            [
+              91.370138,
+              33.100691
+            ],
+            [
+              91.436044,
+              33.066092
+            ],
+            [
+              91.49579,
+              33.109214
+            ],
+            [
+              91.535826,
+              33.10019
+            ],
+            [
+              91.55492,
+              33.060074
+            ],
+            [
+              91.583253,
+              33.0375
+            ],
+            [
+              91.664557,
+              33.012913
+            ],
+            [
+              91.685499,
+              32.989324
+            ],
+            [
+              91.752637,
+              32.969242
+            ],
+            [
+              91.799448,
+              32.942126
+            ],
+            [
+              91.839484,
+              32.948152
+            ],
+            [
+              91.857962,
+              32.90244
+            ],
+            [
+              91.896766,
+              32.907967
+            ],
+            [
+              91.955897,
+              32.8205
+            ],
+            [
+              92.018722,
+              32.829552
+            ],
+            [
+              92.038432,
+              32.860725
+            ],
+            [
+              92.101874,
+              32.860222
+            ],
+            [
+              92.145606,
+              32.885857
+            ],
+            [
+              92.205352,
+              32.866255
+            ],
+            [
+              92.227526,
+              32.821003
+            ],
+            [
+              92.193649,
+              32.801889
+            ],
+            [
+              92.211511,
+              32.788306
+            ],
+            [
+              92.198577,
+              32.754591
+            ],
+            [
+              92.255243,
+              32.720863
+            ],
+            [
+              92.310062,
+              32.751571
+            ],
+            [
+              92.343938,
+              32.738484
+            ],
+            [
+              92.355641,
+              32.764657
+            ],
+            [
+              92.411076,
+              32.748048
+            ],
+            [
+              92.459119,
+              32.76365
+            ],
+            [
+              92.484372,
+              32.745028
+            ],
+            [
+              92.56814,
+              32.73194
+            ],
+            [
+              92.574916,
+              32.741001
+            ],
+            [
+              92.634662,
+              32.720863
+            ],
+            [
+              92.667922,
+              32.73194
+            ],
+            [
+              92.686401,
+              32.76516
+            ],
+            [
+              92.756618,
+              32.743014
+            ],
+            [
+              92.789262,
+              32.719856
+            ],
+            [
+              92.822523,
+              32.729926
+            ],
+            [
+              92.866871,
+              32.698203
+            ],
+            [
+              92.933392,
+              32.719353
+            ],
+            [
+              92.964189,
+              32.714821
+            ],
+            [
+              93.00053,
+              32.741001
+            ],
+            [
+              93.019624,
+              32.737477
+            ],
+            [
+              93.023935,
+              32.703239
+            ],
+            [
+              93.069515,
+              32.626156
+            ],
+            [
+              93.087993,
+              32.63674
+            ],
+            [
+              93.159442,
+              32.644803
+            ],
+            [
+              93.176688,
+              32.6705
+            ],
+            [
+              93.210565,
+              32.655385
+            ],
+            [
+              93.239514,
+              32.662439
+            ],
+            [
+              93.260456,
+              32.62666
+            ],
+            [
+              93.300492,
+              32.619604
+            ],
+            [
+              93.308499,
+              32.580278
+            ],
+            [
+              93.33868,
+              32.5712
+            ],
+            [
+              93.385492,
+              32.525294
+            ],
+            [
+              93.411977,
+              32.558086
+            ],
+            [
+              93.4631,
+              32.556069
+            ],
+            [
+              93.476651,
+              32.504603
+            ],
+            [
+              93.501904,
+              32.503593
+            ],
+            [
+              93.516687,
+              32.47583
+            ],
+            [
+              93.618933,
+              32.522771
+            ],
+            [
+              93.651577,
+              32.571705
+            ],
+            [
+              93.721795,
+              32.578261
+            ],
+            [
+              93.75136,
+              32.56313
+            ],
+            [
+              93.820345,
+              32.549511
+            ],
+            [
+              93.851142,
+              32.50965
+            ],
+            [
+              93.861613,
+              32.466237
+            ],
+            [
+              93.90904,
+              32.463207
+            ],
+            [
+              93.960163,
+              32.484917
+            ],
+            [
+              93.978641,
+              32.459672
+            ],
+            [
+              94.03038,
+              32.448057
+            ],
+            [
+              94.049474,
+              32.469771
+            ],
+            [
+              94.091974,
+              32.463207
+            ],
+            [
+              94.137554,
+              32.433915
+            ],
+            [
+              94.176974,
+              32.454117
+            ],
+            [
+              94.196684,
+              32.51621
+            ],
+            [
+              94.250886,
+              32.51722
+            ],
+            [
+              94.292154,
+              32.502584
+            ],
+            [
+              94.294002,
+              32.519743
+            ],
+            [
+              94.350053,
+              32.533871
+            ],
+            [
+              94.371611,
+              32.524789
+            ],
+            [
+              94.395016,
+              32.594397
+            ],
+            [
+              94.435052,
+              32.562626
+            ],
+            [
+              94.463386,
+              32.572209
+            ],
+            [
+              94.459074,
+              32.599439
+            ],
+            [
+              94.522516,
+              32.595909
+            ],
+            [
+              94.591501,
+              32.640772
+            ],
+            [
+              94.614291,
+              32.673522
+            ],
+            [
+              94.638312,
+              32.645307
+            ],
+            [
+              94.737479,
+              32.587338
+            ],
+            [
+              94.762116,
+              32.526303
+            ],
+            [
+              94.78737,
+              32.522266
+            ],
+            [
+              94.80708,
+              32.486431
+            ],
+            [
+              94.852043,
+              32.463712
+            ],
+            [
+              94.889616,
+              32.472295
+            ],
+            [
+              94.912405,
+              32.41573
+            ],
+            [
+              94.944434,
+              32.404109
+            ],
+            [
+              94.988166,
+              32.422802
+            ],
+            [
+              95.057151,
+              32.395014
+            ],
+            [
+              95.075013,
+              32.376315
+            ],
+            [
+              95.075013,
+              32.376315
+            ],
+            [
+              95.081789,
+              32.384907
+            ],
+            [
+              95.153853,
+              32.386423
+            ],
+            [
+              95.218527,
+              32.397035
+            ],
+            [
+              95.228382,
+              32.363678
+            ],
+            [
+              95.261643,
+              32.348006
+            ],
+            [
+              95.193274,
+              32.332331
+            ],
+            [
+              95.096571,
+              32.322217
+            ],
+            [
+              95.079325,
+              32.279726
+            ],
+            [
+              95.10581,
+              32.258979
+            ],
+            [
+              95.20744,
+              32.297433
+            ],
+            [
+              95.214216,
+              32.321712
+            ],
+            [
+              95.241317,
+              32.3207
+            ],
+            [
+              95.239469,
+              32.287315
+            ],
+            [
+              95.270266,
+              32.194683
+            ],
+            [
+              95.270266,
+              32.194683
+            ],
+            [
+              95.31523,
+              32.148585
+            ],
+            [
+              95.366968,
+              32.151118
+            ],
+            [
+              95.367584,
+              32.178982
+            ],
+            [
+              95.406389,
+              32.182021
+            ],
+            [
+              95.440265,
+              32.157705
+            ],
+            [
+              95.454432,
+              32.061898
+            ],
+            [
+              95.421171,
+              32.033999
+            ],
+            [
+              95.454432,
+              32.007613
+            ],
+            [
+              95.395918,
+              32.001523
+            ],
+            [
+              95.360809,
+              31.95939
+            ],
+            [
+              95.3682,
+              31.92892
+            ],
+            [
+              95.408852,
+              31.918761
+            ],
+            [
+              95.406389,
+              31.896915
+            ],
+            [
+              95.456896,
+              31.801853
+            ],
+            [
+              95.480301,
+              31.795749
+            ],
+            [
+              95.511714,
+              31.750468
+            ],
+            [
+              95.546823,
+              31.73978
+            ],
+            [
+              95.580083,
+              31.76726
+            ],
+            [
+              95.634286,
+              31.782523
+            ],
+            [
+              95.779648,
+              31.748941
+            ],
+            [
+              95.823995,
+              31.68225
+            ],
+            [
+              95.853561,
+              31.714329
+            ],
+            [
+              95.846169,
+              31.736218
+            ],
+            [
+              95.89914,
+              31.81711
+            ],
+            [
+              95.983524,
+              31.816601
+            ],
+            [
+              95.989067,
+              31.78761
+            ],
+            [
+              96.064828,
+              31.720438
+            ],
+            [
+              96.135661,
+              31.70211
+            ],
+            [
+              96.148595,
+              31.686324
+            ],
+            [
+              96.156603,
+              31.602769
+            ],
+            [
+              96.207726,
+              31.598691
+            ],
+            [
+              96.221892,
+              31.647613
+            ],
+            [
+              96.245298,
+              31.657802
+            ],
+            [
+              96.252073,
+              31.697527
+            ],
+            [
+              96.222508,
+              31.733164
+            ],
+            [
+              96.231131,
+              31.749959
+            ],
+            [
+              96.178161,
+              31.775401
+            ],
+            [
+              96.183088,
+              31.835924
+            ],
+            [
+              96.202798,
+              31.841008
+            ],
+            [
+              96.214501,
+              31.876589
+            ],
+            [
+              96.188632,
+              31.904028
+            ],
+            [
+              96.220044,
+              31.905553
+            ],
+            [
+              96.253305,
+              31.929936
+            ],
+            [
+              96.288414,
+              31.919777
+            ],
+            [
+              96.389428,
+              31.919777
+            ],
+            [
+              96.407906,
+              31.845583
+            ],
+            [
+              96.435623,
+              31.796258
+            ],
+            [
+              96.468884,
+              31.769804
+            ],
+            [
+              96.519391,
+              31.74945
+            ],
+            [
+              96.56805,
+              31.711783
+            ],
+            [
+              96.615477,
+              31.737236
+            ],
+            [
+              96.661057,
+              31.705674
+            ],
+            [
+              96.691854,
+              31.722474
+            ],
+            [
+              96.722651,
+              31.686833
+            ],
+            [
+              96.778701,
+              31.675629
+            ],
+            [
+              96.790404,
+              31.698545
+            ],
+            [
+              96.840295,
+              31.720438
+            ],
+            [
+              96.799027,
+              31.792188
+            ],
+            [
+              96.765767,
+              31.819144
+            ],
+            [
+              96.760223,
+              31.860325
+            ],
+            [
+              96.794716,
+              31.869474
+            ],
+            [
+              96.81073,
+              31.894375
+            ],
+            [
+              96.776238,
+              31.935015
+            ],
+            [
+              96.753448,
+              31.944156
+            ],
+            [
+              96.742977,
+              32.001016
+            ],
+            [
+              96.722651,
+              32.013195
+            ],
+            [
+              96.824281,
+              32.007613
+            ],
+            [
+              96.868629,
+              31.964975
+            ],
+            [
+              96.863085,
+              31.996448
+            ],
+            [
+              96.894498,
+              32.013703
+            ],
+            [
+              96.941925,
+              31.986297
+            ],
+            [
+              96.965947,
+              32.008628
+            ],
+            [
+              96.935766,
+              32.048203
+            ],
+            [
+              97.006599,
+              32.067984
+            ],
+            [
+              97.028773,
+              32.04871
+            ],
+            [
+              97.127323,
+              32.044145
+            ],
+            [
+              97.169823,
+              32.032984
+            ],
+            [
+              97.188301,
+              32.055304
+            ],
+            [
+              97.214786,
+              32.042623
+            ],
+            [
+              97.233881,
+              32.063927
+            ],
+            [
+              97.201852,
+              32.090296
+            ],
+            [
+              97.219714,
+              32.109054
+            ],
+            [
+              97.258518,
+              32.072041
+            ],
+            [
+              97.308409,
+              32.076605
+            ],
+            [
+              97.293011,
+              32.096887
+            ],
+            [
+              97.313953,
+              32.130342
+            ],
+            [
+              97.271453,
+              32.139971
+            ],
+            [
+              97.264062,
+              32.182527
+            ],
+            [
+              97.299786,
+              32.294904
+            ],
+            [
+              97.32196,
+              32.303503
+            ],
+            [
+              97.371235,
+              32.273148
+            ],
+            [
+              97.415583,
+              32.296421
+            ],
+            [
+              97.424822,
+              32.322723
+            ],
+            [
+              97.387865,
+              32.427349
+            ],
+            [
+              97.341054,
+              32.440987
+            ],
+            [
+              97.388481,
+              32.501575
+            ],
+            [
+              97.334895,
+              32.514192
+            ],
+            [
+              97.332431,
+              32.542448
+            ],
+            [
+              97.3583,
+              32.563635
+            ],
+            [
+              97.374315,
+              32.546484
+            ],
+            [
+              97.411887,
+              32.575235
+            ],
+            [
+              97.448843,
+              32.586833
+            ],
+            [
+              97.463626,
+              32.55506
+            ],
+            [
+              97.50243,
+              32.530844
+            ],
+            [
+              97.540618,
+              32.536899
+            ],
+            [
+              97.670582,
+              32.51722
+            ],
+            [
+              97.684132,
+              32.530339
+            ],
+            [
+              97.730944,
+              32.527312
+            ],
+            [
+              97.700763,
+              32.53488
+            ],
+            [
+              97.616995,
+              32.586329
+            ],
+            [
+              97.607756,
+              32.614059
+            ],
+            [
+              97.543698,
+              32.62162
+            ],
+            [
+              97.535075,
+              32.638252
+            ],
+            [
+              97.48272,
+              32.654377
+            ],
+            [
+              97.42359,
+              32.70475
+            ],
+            [
+              97.429133,
+              32.714318
+            ],
+            [
+              97.386018,
+              32.77925
+            ],
+            [
+              97.392793,
+              32.828546
+            ],
+            [
+              97.376163,
+              32.886359
+            ],
+            [
+              97.347829,
+              32.895907
+            ],
+            [
+              97.375547,
+              32.956689
+            ],
+            [
+              97.438372,
+              32.976271
+            ],
+            [
+              97.523988,
+              32.988822
+            ],
+            [
+              97.499966,
+              33.011408
+            ],
+            [
+              97.542466,
+              33.035995
+            ],
+            [
+              97.517213,
+              33.097683
+            ],
+            [
+              97.487032,
+              33.107209
+            ],
+            [
+              97.498119,
+              33.137783
+            ],
+            [
+              97.487648,
+              33.168346
+            ],
+            [
+              97.548626,
+              33.203907
+            ],
+            [
+              97.607756,
+              33.263976
+            ],
+            [
+              97.622538,
+              33.337005
+            ],
+            [
+              97.676125,
+              33.341004
+            ],
+            [
+              97.754349,
+              33.409972
+            ],
+            [
+              97.674893,
+              33.432949
+            ],
+            [
+              97.625618,
+              33.461412
+            ],
+            [
+              97.552321,
+              33.465906
+            ],
+            [
+              97.511669,
+              33.520805
+            ],
+            [
+              97.523372,
+              33.577166
+            ],
+            [
+              97.450075,
+              33.582152
+            ],
+            [
+              97.415583,
+              33.605582
+            ],
+            [
+              97.435293,
+              33.682307
+            ],
+            [
+              97.418046,
+              33.728608
+            ],
+            [
+              97.422974,
+              33.754984
+            ],
+            [
+              97.406344,
+              33.795278
+            ],
+            [
+              97.373083,
+              33.817655
+            ],
+            [
+              97.371851,
+              33.842015
+            ],
+            [
+              97.398336,
+              33.848477
+            ],
+            [
+              97.395257,
+              33.889224
+            ],
+            [
+              97.460546,
+              33.887236
+            ],
+            [
+              97.503662,
+              33.912073
+            ],
+            [
+              97.52214,
+              33.903133
+            ],
+            [
+              97.601596,
+              33.929951
+            ],
+            [
+              97.629314,
+              33.919523
+            ],
+            [
+              97.660111,
+              33.956264
+            ],
+            [
+              97.652719,
+              33.998448
+            ],
+            [
+              97.70261,
+              34.036644
+            ],
+            [
+              97.665654,
+              34.126855
+            ],
+            [
+              97.766668,
+              34.158555
+            ],
+            [
+              97.789458,
+              34.182818
+            ],
+            [
+              97.789458,
+              34.182818
+            ],
+            [
+              97.796849,
+              34.199154
+            ],
+            [
+              97.796849,
+              34.199154
+            ],
+            [
+              97.8104,
+              34.207568
+            ],
+            [
+              97.898479,
+              34.209548
+            ],
+            [
+              97.95453,
+              34.190739
+            ],
+            [
+              98.028442,
+              34.122892
+            ],
+            [
+              98.098043,
+              34.122892
+            ],
+            [
+              98.158405,
+              34.107037
+            ],
+            [
+              98.206449,
+              34.08424
+            ],
+            [
+              98.258188,
+              34.083249
+            ],
+            [
+              98.344419,
+              34.094648
+            ],
+            [
+              98.399854,
+              34.085231
+            ],
+            [
+              98.396774,
+              34.053008
+            ],
+            [
+              98.428187,
+              34.029204
+            ],
+            [
+              98.440506,
+              33.981577
+            ],
+            [
+              98.415252,
+              33.956761
+            ],
+            [
+              98.425723,
+              33.913066
+            ],
+            [
+              98.407245,
+              33.867362
+            ],
+            [
+              98.434962,
+              33.843009
+            ],
+            [
+              98.463295,
+              33.848477
+            ],
+            [
+              98.492861,
+              33.796272
+            ],
+            [
+              98.494092,
+              33.768915
+            ],
+            [
+              98.51873,
+              33.77389
+            ],
+            [
+              98.539672,
+              33.746525
+            ],
+            [
+              98.582788,
+              33.731595
+            ],
+            [
+              98.610505,
+              33.682805
+            ],
+            [
+              98.6567,
+              33.64744
+            ],
+            [
+              98.61728,
+              33.637476
+            ],
+            [
+              98.622824,
+              33.610067
+            ],
+            [
+              98.652389,
+              33.595114
+            ],
+            [
+              98.648077,
+              33.548741
+            ],
+            [
+              98.678258,
+              33.522801
+            ],
+            [
+              98.725686,
+              33.503341
+            ],
+            [
+              98.742316,
+              33.477887
+            ],
+            [
+              98.736157,
+              33.406975
+            ],
+            [
+              98.779888,
+              33.370497
+            ],
+            [
+              98.759562,
+              33.276985
+            ],
+            [
+              98.802062,
+              33.270481
+            ],
+            [
+              98.804526,
+              33.219428
+            ],
+            [
+              98.858728,
+              33.150811
+            ],
+            [
+              98.92217,
+              33.118738
+            ],
+            [
+              98.967134,
+              33.115229
+            ],
+            [
+              98.971445,
+              33.098185
+            ],
+            [
+              99.014561,
+              33.081137
+            ],
+            [
+              99.024416,
+              33.094675
+            ],
+            [
+              99.090322,
+              33.079131
+            ],
+            [
+              99.124814,
+              33.046028
+            ],
+            [
+              99.196263,
+              33.035493
+            ],
+            [
+              99.214741,
+              32.991332
+            ],
+            [
+              99.235067,
+              32.982296
+            ],
+            [
+              99.24677,
+              32.924043
+            ],
+            [
+              99.268944,
+              32.878318
+            ],
+            [
+              99.353944,
+              32.885354
+            ],
+            [
+              99.376118,
+              32.899927
+            ],
+            [
+              99.45311,
+              32.862233
+            ],
+            [
+              99.558436,
+              32.839106
+            ],
+            [
+              99.589233,
+              32.789312
+            ],
+            [
+              99.640355,
+              32.790822
+            ],
+            [
+              99.646515,
+              32.774721
+            ],
+            [
+              99.700718,
+              32.76667
+            ],
+            [
+              99.717964,
+              32.732443
+            ],
+            [
+              99.760464,
+              32.769689
+            ],
+            [
+              99.766623,
+              32.826032
+            ],
+            [
+              99.791877,
+              32.883344
+            ],
+            [
+              99.764159,
+              32.924545
+            ],
+            [
+              99.788181,
+              32.956689
+            ],
+            [
+              99.805427,
+              32.940619
+            ],
+            [
+              99.851007,
+              32.941623
+            ],
+            [
+              99.877492,
+              32.993339
+            ],
+            [
+              99.877492,
+              33.045527
+            ],
+            [
+              99.947709,
+              32.986814
+            ],
+            [
+              99.956332,
+              32.948152
+            ],
+            [
+              100.038252,
+              32.929066
+            ],
+            [
+              100.029629,
+              32.895907
+            ],
+            [
+              100.064738,
+              32.895907
+            ],
+            [
+              100.123252,
+              32.837095
+            ],
+            [
+              100.117093,
+              32.802392
+            ],
+            [
+              100.139266,
+              32.724388
+            ],
+            [
+              100.088143,
+              32.668988
+            ],
+            [
+              100.109701,
+              32.640268
+            ],
+            [
+              100.189773,
+              32.630692
+            ],
+            [
+              100.208252,
+              32.606497
+            ],
+            [
+              100.229809,
+              32.650346
+            ],
+            [
+              100.231041,
+              32.696189
+            ],
+            [
+              100.258759,
+              32.742511
+            ],
+            [
+              100.339447,
+              32.719353
+            ],
+            [
+              100.399193,
+              32.756101
+            ],
+            [
+              100.378251,
+              32.698707
+            ],
+            [
+              100.420135,
+              32.73194
+            ],
+            [
+              100.450932,
+              32.694678
+            ],
+            [
+              100.470026,
+              32.694678
+            ],
+            [
+              100.516837,
+              32.632204
+            ],
+            [
+              100.54517,
+              32.569687
+            ],
+            [
+              100.603069,
+              32.553547
+            ],
+            [
+              100.645568,
+              32.526303
+            ],
+            [
+              100.657887,
+              32.546484
+            ],
+            [
+              100.661583,
+              32.616075
+            ],
+            [
+              100.673286,
+              32.628172
+            ],
+            [
+              100.710242,
+              32.610026
+            ],
+            [
+              100.71209,
+              32.645307
+            ],
+            [
+              100.690532,
+              32.678056
+            ],
+            [
+              100.77122,
+              32.643795
+            ],
+            [
+              100.834046,
+              32.648835
+            ],
+            [
+              100.887633,
+              32.632708
+            ],
+            [
+              100.93198,
+              32.600447
+            ],
+            [
+              100.956618,
+              32.621116
+            ],
+            [
+              100.99727,
+              32.627668
+            ],
+            [
+              101.030531,
+              32.660424
+            ],
+            [
+              101.077342,
+              32.68259
+            ],
+            [
+              101.124769,
+              32.658408
+            ],
+            [
+              101.157414,
+              32.661431
+            ],
+            [
+              101.22332,
+              32.725898
+            ],
+            [
+              101.237486,
+              32.825026
+            ],
+            [
+              101.223935,
+              32.855698
+            ],
+            [
+              101.178356,
+              32.892892
+            ],
+            [
+              101.124153,
+              32.909976
+            ],
+            [
+              101.134624,
+              32.95217
+            ],
+            [
+              101.129081,
+              32.989324
+            ],
+            [
+              101.183899,
+              32.984304
+            ],
+            [
+              101.171581,
+              33.009902
+            ],
+            [
+              101.184515,
+              33.041514
+            ],
+            [
+              101.146327,
+              33.056563
+            ],
+            [
+              101.143863,
+              33.086151
+            ],
+            [
+              101.169733,
+              33.10019
+            ],
+            [
+              101.11553,
+              33.194893
+            ],
+            [
+              101.124769,
+              33.221431
+            ],
+            [
+              101.156798,
+              33.236449
+            ],
+            [
+              101.182668,
+              33.26948
+            ],
+            [
+              101.217776,
+              33.256469
+            ],
+            [
+              101.297232,
+              33.262475
+            ],
+            [
+              101.381616,
+              33.153316
+            ],
+            [
+              101.393935,
+              33.157826
+            ],
+            [
+              101.386543,
+              33.207412
+            ],
+            [
+              101.403174,
+              33.225436
+            ],
+            [
+              101.487557,
+              33.226938
+            ],
+            [
+              101.515275,
+              33.192889
+            ],
+            [
+              101.557775,
+              33.167344
+            ],
+            [
+              101.633535,
+              33.101193
+            ],
+            [
+              101.661252,
+              33.135778
+            ],
+            [
+              101.653861,
+              33.162835
+            ],
+            [
+              101.709912,
+              33.21292
+            ],
+            [
+              101.735781,
+              33.279987
+            ],
+            [
+              101.677883,
+              33.297497
+            ],
+            [
+              101.64955,
+              33.323004
+            ],
+            [
+              101.663716,
+              33.383991
+            ],
+            [
+              101.695745,
+              33.433948
+            ],
+            [
+              101.769042,
+              33.45592
+            ],
+            [
+              101.777665,
+              33.533776
+            ],
+            [
+              101.769042,
+              33.538765
+            ],
+            [
+              101.748716,
+              33.505337
+            ],
+            [
+              101.718535,
+              33.494857
+            ],
+            [
+              101.622448,
+              33.502343
+            ],
+            [
+              101.611977,
+              33.565199
+            ],
+            [
+              101.616905,
+              33.598603
+            ],
+            [
+              101.585492,
+              33.645448
+            ],
+            [
+              101.58426,
+              33.674339
+            ],
+            [
+              101.501724,
+              33.702723
+            ],
+            [
+              101.428427,
+              33.680315
+            ],
+            [
+              101.424732,
+              33.655411
+            ],
+            [
+              101.385312,
+              33.644949
+            ],
+            [
+              101.302776,
+              33.657902
+            ],
+            [
+              101.23687,
+              33.685793
+            ],
+            [
+              101.217776,
+              33.669856
+            ],
+            [
+              101.166653,
+              33.659894
+            ],
+            [
+              101.177124,
+              33.685295
+            ],
+            [
+              101.162957,
+              33.719649
+            ],
+            [
+              101.186363,
+              33.741051
+            ],
+            [
+              101.190675,
+              33.791796
+            ],
+            [
+              101.153102,
+              33.823124
+            ],
+            [
+              101.153718,
+              33.8445
+            ],
+            [
+              101.054552,
+              33.863386
+            ],
+            [
+              101.023139,
+              33.896178
+            ],
+            [
+              100.994806,
+              33.891707
+            ],
+            [
+              100.965857,
+              33.946832
+            ],
+            [
+              100.927669,
+              33.975126
+            ],
+            [
+              100.93506,
+              33.990013
+            ],
+            [
+              100.880857,
+              34.036644
+            ],
+            [
+              100.870386,
+              34.083744
+            ],
+            [
+              100.848828,
+              34.089692
+            ],
+            [
+              100.806329,
+              34.155584
+            ],
+            [
+              100.764445,
+              34.178857
+            ],
+            [
+              100.809408,
+              34.247153
+            ],
+            [
+              100.798321,
+              34.260014
+            ],
+            [
+              100.821727,
+              34.317371
+            ],
+            [
+              100.868538,
+              34.332693
+            ],
+            [
+              100.895024,
+              34.375183
+            ],
+            [
+              100.951074,
+              34.38358
+            ],
+            [
+              100.986799,
+              34.374689
+            ],
+            [
+              101.054552,
+              34.322808
+            ],
+            [
+              101.098284,
+              34.329233
+            ],
+            [
+              101.178356,
+              34.320831
+            ],
+            [
+              101.193754,
+              34.336646
+            ],
+            [
+              101.235022,
+              34.325279
+            ],
+            [
+              101.228863,
+              34.298586
+            ],
+            [
+              101.268899,
+              34.278808
+            ],
+            [
+              101.325565,
+              34.268423
+            ],
+            [
+              101.327413,
+              34.24468
+            ],
+            [
+              101.369913,
+              34.248143
+            ],
+            [
+              101.417956,
+              34.227858
+            ],
+            [
+              101.482014,
+              34.218951
+            ],
+            [
+              101.492485,
+              34.195689
+            ],
+            [
+              101.53868,
+              34.212022
+            ],
+            [
+              101.6206,
+              34.178857
+            ],
+            [
+              101.674187,
+              34.110506
+            ],
+            [
+              101.703136,
+              34.119424
+            ],
+            [
+              101.718535,
+              34.083249
+            ],
+            [
+              101.736397,
+              34.080275
+            ],
+            [
+              101.764114,
+              34.122892
+            ],
+            [
+              101.788136,
+              34.131809
+            ],
+            [
+              101.836795,
+              34.124378
+            ],
+            [
+              101.851578,
+              34.153108
+            ],
+            [
+              101.874367,
+              34.130323
+            ],
+            [
+              101.897773,
+              34.133791
+            ],
+            [
+              101.955055,
+              34.109514
+            ],
+            [
+              101.965526,
+              34.167469
+            ],
+            [
+              102.003099,
+              34.162022
+            ],
+            [
+              102.030816,
+              34.190739
+            ],
+            [
+              102.01357,
+              34.218456
+            ],
+            [
+              102.062229,
+              34.227858
+            ],
+            [
+              102.067772,
+              34.293642
+            ],
+            [
+              102.149692,
+              34.271885
+            ],
+            [
+              102.186649,
+              34.352952
+            ],
+            [
+              102.237156,
+              34.34307
+            ],
+            [
+              102.237156,
+              34.34307
+            ],
+            [
+              102.259329,
+              34.355917
+            ],
+            [
+              102.205743,
+              34.407777
+            ],
+            [
+              102.169402,
+              34.457631
+            ],
+            [
+              102.155852,
+              34.507456
+            ],
+            [
+              102.139837,
+              34.50351
+            ],
+            [
+              102.093026,
+              34.536547
+            ],
+            [
+              102.001867,
+              34.538519
+            ],
+            [
+              101.97415,
+              34.548871
+            ],
+            [
+              101.956287,
+              34.582876
+            ],
+            [
+              101.934729,
+              34.58731
+            ],
+            [
+              101.919947,
+              34.621791
+            ],
+            [
+              101.917483,
+              34.705964
+            ],
+            [
+              101.923027,
+              34.835746
+            ],
+            [
+              101.916867,
+              34.873561
+            ],
+            [
+              101.985852,
+              34.90007
+            ],
+            [
+              102.068388,
+              34.887798
+            ],
+            [
+              102.048062,
+              34.910868
+            ],
+            [
+              102.094874,
+              34.986901
+            ],
+            [
+              102.133678,
+              35.014844
+            ],
+            [
+              102.157699,
+              35.010923
+            ],
+            [
+              102.176178,
+              35.032977
+            ],
+            [
+              102.211286,
+              35.034937
+            ],
+            [
+              102.218062,
+              35.057475
+            ],
+            [
+              102.252554,
+              35.048657
+            ],
+            [
+              102.29567,
+              35.071681
+            ],
+            [
+              102.310452,
+              35.128967
+            ],
+            [
+              102.346793,
+              35.164201
+            ],
+            [
+              102.404075,
+              35.179366
+            ],
+            [
+              102.365887,
+              35.235599
+            ],
+            [
+              102.370199,
+              35.263946
+            ],
+            [
+              102.3123,
+              35.282512
+            ],
+            [
+              102.280887,
+              35.303028
+            ],
+            [
+              102.311684,
+              35.31426
+            ],
+            [
+              102.317844,
+              35.343067
+            ],
+            [
+              102.287663,
+              35.36552
+            ],
+            [
+              102.293822,
+              35.424063
+            ],
+            [
+              102.314764,
+              35.434303
+            ],
+            [
+              102.408387,
+              35.409431
+            ],
+            [
+              102.447807,
+              35.437229
+            ],
+            [
+              102.437952,
+              35.455268
+            ],
+            [
+              102.49893,
+              35.545403
+            ],
+            [
+              102.503241,
+              35.585322
+            ],
+            [
+              102.531575,
+              35.580455
+            ],
+            [
+              102.570995,
+              35.548324
+            ],
+            [
+              102.695414,
+              35.528358
+            ],
+            [
+              102.743458,
+              35.494745
+            ],
+            [
+              102.782878,
+              35.527871
+            ],
+            [
+              102.729291,
+              35.523487
+            ],
+            [
+              102.746537,
+              35.545403
+            ],
+            [
+              102.808747,
+              35.560496
+            ],
+            [
+              102.763168,
+              35.612086
+            ],
+            [
+              102.7644,
+              35.653431
+            ],
+            [
+              102.744074,
+              35.657807
+            ],
+            [
+              102.707733,
+              35.70496
+            ],
+            [
+              102.686175,
+              35.771996
+            ],
+            [
+              102.715125,
+              35.815685
+            ],
+            [
+              102.739146,
+              35.821023
+            ],
+            [
+              102.787189,
+              35.862745
+            ],
+            [
+              102.81737,
+              35.850133
+            ],
+            [
+              102.914073,
+              35.845282
+            ],
+            [
+              102.94487,
+              35.829757
+            ],
+            [
+              102.954725,
+              35.858864
+            ],
+            [
+              102.942406,
+              35.92674
+            ],
+            [
+              102.971971,
+              35.995525
+            ],
+            [
+              102.951645,
+              36.021667
+            ],
+            [
+              102.968276,
+              36.044414
+            ],
+            [
+              102.932551,
+              36.048285
+            ],
+            [
+              102.882044,
+              36.082632
+            ],
+            [
+              102.941174,
+              36.104877
+            ],
+            [
+              102.948566,
+              36.150798
+            ],
+            [
+              102.965812,
+              36.151765
+            ],
+            [
+              102.986754,
+              36.193312
+            ],
+            [
+              103.048964,
+              36.199107
+            ],
+            [
+              103.066826,
+              36.216974
+            ],
+            [
+              103.021246,
+              36.232906
+            ],
+            [
+              103.024942,
+              36.256556
+            ],
+            [
+              102.922696,
+              36.298047
+            ],
+            [
+              102.896827,
+              36.331803
+            ],
+            [
+              102.845704,
+              36.331803
+            ],
+            [
+              102.836465,
+              36.344819
+            ],
+            [
+              102.829689,
+              36.365544
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 64e4,
+      name: "宁夏回族自治区",
+      center: [
+        106.278179,
+        38.46637
+      ],
+      centroid: [
+        106.169866,
+        37.291332
+      ],
+      childrenNum: 5,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 29,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              107.268764,
+              37.099367
+            ],
+            [
+              107.281083,
+              37.127047
+            ],
+            [
+              107.306952,
+              37.100799
+            ],
+            [
+              107.334669,
+              37.138975
+            ],
+            [
+              107.336517,
+              37.165687
+            ],
+            [
+              107.317423,
+              37.200017
+            ],
+            [
+              107.270612,
+              37.229089
+            ],
+            [
+              107.309416,
+              37.239095
+            ],
+            [
+              107.273075,
+              37.29101
+            ],
+            [
+              107.257677,
+              37.337179
+            ],
+            [
+              107.282931,
+              37.437036
+            ],
+            [
+              107.284162,
+              37.481691
+            ],
+            [
+              107.345756,
+              37.518725
+            ],
+            [
+              107.369162,
+              37.58752
+            ],
+            [
+              107.330358,
+              37.584201
+            ],
+            [
+              107.311264,
+              37.609806
+            ],
+            [
+              107.361155,
+              37.613125
+            ],
+            [
+              107.422133,
+              37.665254
+            ],
+            [
+              107.389488,
+              37.671413
+            ],
+            [
+              107.387024,
+              37.691305
+            ],
+            [
+              107.425828,
+              37.684201
+            ],
+            [
+              107.484959,
+              37.706458
+            ],
+            [
+              107.499125,
+              37.765619
+            ],
+            [
+              107.57119,
+              37.776499
+            ],
+            [
+              107.599523,
+              37.791162
+            ],
+            [
+              107.620465,
+              37.776026
+            ],
+            [
+              107.646335,
+              37.805349
+            ],
+            [
+              107.659269,
+              37.844112
+            ],
+            [
+              107.65003,
+              37.86443
+            ],
+            [
+              107.560719,
+              37.893717
+            ],
+            [
+              107.49235,
+              37.944706
+            ],
+            [
+              107.448618,
+              37.933378
+            ],
+            [
+              107.411662,
+              37.948009
+            ],
+            [
+              107.440611,
+              37.995659
+            ],
+            [
+              107.3938,
+              38.014993
+            ],
+            [
+              107.33159,
+              38.086625
+            ],
+            [
+              107.240431,
+              38.111586
+            ],
+            [
+              107.19054,
+              38.153953
+            ],
+            [
+              107.138801,
+              38.161011
+            ],
+            [
+              107.119091,
+              38.134185
+            ],
+            [
+              107.071047,
+              38.138892
+            ],
+            [
+              107.051337,
+              38.122886
+            ],
+            [
+              107.010069,
+              38.120532
+            ],
+            [
+              106.942316,
+              38.132302
+            ],
+            [
+              106.858548,
+              38.156306
+            ],
+            [
+              106.779092,
+              38.171833
+            ],
+            [
+              106.737824,
+              38.197706
+            ],
+            [
+              106.654672,
+              38.22921
+            ],
+            [
+              106.627571,
+              38.232501
+            ],
+            [
+              106.555506,
+              38.263521
+            ],
+            [
+              106.482209,
+              38.319417
+            ],
+            [
+              106.599854,
+              38.389812
+            ],
+            [
+              106.647897,
+              38.470917
+            ],
+            [
+              106.66268,
+              38.601524
+            ],
+            [
+              106.709491,
+              38.718821
+            ],
+            [
+              106.756302,
+              38.748699
+            ],
+            [
+              106.837606,
+              38.847579
+            ],
+            [
+              106.954019,
+              38.941202
+            ],
+            [
+              106.971881,
+              39.026333
+            ],
+            [
+              106.96757,
+              39.054688
+            ],
+            [
+              106.933693,
+              39.076527
+            ],
+            [
+              106.878874,
+              39.091392
+            ],
+            [
+              106.859164,
+              39.107648
+            ],
+            [
+              106.825288,
+              39.19397
+            ],
+            [
+              106.795723,
+              39.214375
+            ],
+            [
+              106.790795,
+              39.241263
+            ],
+            [
+              106.806193,
+              39.277407
+            ],
+            [
+              106.806809,
+              39.318625
+            ],
+            [
+              106.781556,
+              39.371849
+            ],
+            [
+              106.751375,
+              39.381564
+            ],
+            [
+              106.683622,
+              39.357506
+            ],
+            [
+              106.643586,
+              39.357969
+            ],
+            [
+              106.602318,
+              39.37555
+            ],
+            [
+              106.556122,
+              39.322329
+            ],
+            [
+              106.525325,
+              39.308439
+            ],
+            [
+              106.511774,
+              39.272311
+            ],
+            [
+              106.402753,
+              39.291767
+            ],
+            [
+              106.280181,
+              39.262118
+            ],
+            [
+              106.29558,
+              39.167992
+            ],
+            [
+              106.285109,
+              39.146181
+            ],
+            [
+              106.251232,
+              39.131327
+            ],
+            [
+              106.192718,
+              39.142932
+            ],
+            [
+              106.170544,
+              39.163352
+            ],
+            [
+              106.145907,
+              39.153142
+            ],
+            [
+              106.096631,
+              39.084889
+            ],
+            [
+              106.078153,
+              39.026333
+            ],
+            [
+              106.087392,
+              39.006339
+            ],
+            [
+              106.060907,
+              38.96866
+            ],
+            [
+              106.021487,
+              38.953769
+            ],
+            [
+              105.97098,
+              38.909077
+            ],
+            [
+              105.992538,
+              38.857366
+            ],
+            [
+              105.909386,
+              38.791159
+            ],
+            [
+              105.908154,
+              38.737496
+            ],
+            [
+              105.88598,
+              38.716953
+            ],
+            [
+              105.894603,
+              38.696405
+            ],
+            [
+              105.852719,
+              38.641735
+            ],
+            [
+              105.874277,
+              38.593105
+            ],
+            [
+              105.856415,
+              38.569714
+            ],
+            [
+              105.863806,
+              38.53508
+            ],
+            [
+              105.836705,
+              38.476071
+            ],
+            [
+              105.850872,
+              38.443736
+            ],
+            [
+              105.827466,
+              38.432486
+            ],
+            [
+              105.835473,
+              38.387467
+            ],
+            [
+              105.821307,
+              38.366824
+            ],
+            [
+              105.86627,
+              38.296406
+            ],
+            [
+              105.842248,
+              38.240962
+            ],
+            [
+              105.802828,
+              38.220277
+            ],
+            [
+              105.775111,
+              38.186887
+            ],
+            [
+              105.76772,
+              38.121474
+            ],
+            [
+              105.780655,
+              38.084741
+            ],
+            [
+              105.840401,
+              38.004147
+            ],
+            [
+              105.799749,
+              37.939986
+            ],
+            [
+              105.80406,
+              37.862068
+            ],
+            [
+              105.760944,
+              37.799674
+            ],
+            [
+              105.677177,
+              37.771769
+            ],
+            [
+              105.622358,
+              37.777919
+            ],
+            [
+              105.616199,
+              37.722555
+            ],
+            [
+              105.598952,
+              37.699356
+            ],
+            [
+              105.467141,
+              37.695094
+            ],
+            [
+              105.4037,
+              37.710246
+            ],
+            [
+              105.315004,
+              37.702197
+            ],
+            [
+              105.221998,
+              37.677097
+            ],
+            [
+              105.187505,
+              37.657674
+            ],
+            [
+              105.111128,
+              37.633981
+            ],
+            [
+              105.027977,
+              37.580881
+            ],
+            [
+              104.866601,
+              37.566651
+            ],
+            [
+              104.805007,
+              37.539133
+            ],
+            [
+              104.623305,
+              37.522522
+            ],
+            [
+              104.433595,
+              37.515402
+            ],
+            [
+              104.419429,
+              37.511604
+            ],
+            [
+              104.407726,
+              37.464592
+            ],
+            [
+              104.322726,
+              37.44844
+            ],
+            [
+              104.287002,
+              37.428007
+            ],
+            [
+              104.298705,
+              37.414223
+            ],
+            [
+              104.365226,
+              37.418026
+            ],
+            [
+              104.437907,
+              37.445589
+            ],
+            [
+              104.448994,
+              37.42468
+            ],
+            [
+              104.499501,
+              37.421353
+            ],
+            [
+              104.521059,
+              37.43466
+            ],
+            [
+              104.679971,
+              37.408044
+            ],
+            [
+              104.662109,
+              37.367626
+            ],
+            [
+              104.713848,
+              37.329566
+            ],
+            [
+              104.673812,
+              37.317668
+            ],
+            [
+              104.651022,
+              37.290534
+            ],
+            [
+              104.624536,
+              37.298627
+            ],
+            [
+              104.600515,
+              37.242907
+            ],
+            [
+              104.638087,
+              37.201923
+            ],
+            [
+              104.717543,
+              37.208597
+            ],
+            [
+              104.776673,
+              37.246718
+            ],
+            [
+              104.85613,
+              37.211933
+            ],
+            [
+              104.864753,
+              37.17284
+            ],
+            [
+              104.888158,
+              37.15901
+            ],
+            [
+              104.914644,
+              37.097935
+            ],
+            [
+              104.954064,
+              37.077407
+            ],
+            [
+              104.95468,
+              37.040156
+            ],
+            [
+              105.004571,
+              37.035378
+            ],
+            [
+              105.03968,
+              37.007187
+            ],
+            [
+              105.05939,
+              37.022956
+            ],
+            [
+              105.128991,
+              36.996194
+            ],
+            [
+              105.165331,
+              36.99476
+            ],
+            [
+              105.185657,
+              36.942164
+            ],
+            [
+              105.178882,
+              36.892403
+            ],
+            [
+              105.244787,
+              36.894796
+            ],
+            [
+              105.279896,
+              36.86751
+            ],
+            [
+              105.303302,
+              36.820575
+            ],
+            [
+              105.334714,
+              36.80093
+            ],
+            [
+              105.340874,
+              36.764502
+            ],
+            [
+              105.319932,
+              36.742924
+            ],
+            [
+              105.275584,
+              36.752515
+            ],
+            [
+              105.272505,
+              36.739567
+            ],
+            [
+              105.218302,
+              36.730455
+            ],
+            [
+              105.201056,
+              36.700711
+            ],
+            [
+              105.225693,
+              36.664716
+            ],
+            [
+              105.22015,
+              36.631105
+            ],
+            [
+              105.261418,
+              36.602764
+            ],
+            [
+              105.2762,
+              36.563358
+            ],
+            [
+              105.252179,
+              36.553263
+            ],
+            [
+              105.281744,
+              36.522489
+            ],
+            [
+              105.322396,
+              36.535954
+            ],
+            [
+              105.362432,
+              36.496514
+            ],
+            [
+              105.363048,
+              36.443093
+            ],
+            [
+              105.398156,
+              36.430575
+            ],
+            [
+              105.401236,
+              36.369881
+            ],
+            [
+              105.425873,
+              36.330357
+            ],
+            [
+              105.455439,
+              36.321678
+            ],
+            [
+              105.476381,
+              36.293224
+            ],
+            [
+              105.45975,
+              36.268137
+            ],
+            [
+              105.460366,
+              36.223733
+            ],
+            [
+              105.478844,
+              36.213111
+            ],
+            [
+              105.515185,
+              36.147415
+            ],
+            [
+              105.491163,
+              36.101009
+            ],
+            [
+              105.430801,
+              36.10391
+            ],
+            [
+              105.406163,
+              36.074409
+            ],
+            [
+              105.343954,
+              36.033767
+            ],
+            [
+              105.324859,
+              35.941761
+            ],
+            [
+              105.350113,
+              35.875839
+            ],
+            [
+              105.39754,
+              35.857409
+            ],
+            [
+              105.371055,
+              35.844312
+            ],
+            [
+              105.38091,
+              35.792873
+            ],
+            [
+              105.408627,
+              35.822479
+            ],
+            [
+              105.428953,
+              35.819082
+            ],
+            [
+              105.432033,
+              35.787533
+            ],
+            [
+              105.457286,
+              35.771511
+            ],
+            [
+              105.481924,
+              35.727312
+            ],
+            [
+              105.595873,
+              35.715651
+            ],
+            [
+              105.667322,
+              35.749657
+            ],
+            [
+              105.70243,
+              35.733142
+            ],
+            [
+              105.759097,
+              35.724883
+            ],
+            [
+              105.740618,
+              35.698643
+            ],
+            [
+              105.723988,
+              35.725854
+            ],
+            [
+              105.690727,
+              35.698643
+            ],
+            [
+              105.722756,
+              35.673366
+            ],
+            [
+              105.713517,
+              35.650513
+            ],
+            [
+              105.759097,
+              35.634464
+            ],
+            [
+              105.762176,
+              35.602841
+            ],
+            [
+              105.800365,
+              35.564878
+            ],
+            [
+              105.816379,
+              35.575101
+            ],
+            [
+              105.847176,
+              35.490359
+            ],
+            [
+              105.868734,
+              35.540046
+            ],
+            [
+              105.900147,
+              35.54735
+            ],
+            [
+              106.017175,
+              35.519103
+            ],
+            [
+              106.023335,
+              35.49377
+            ],
+            [
+              106.047356,
+              35.498155
+            ],
+            [
+              106.078769,
+              35.509848
+            ],
+            [
+              106.071994,
+              35.463555
+            ],
+            [
+              106.06953,
+              35.458193
+            ],
+            [
+              106.073842,
+              35.45478
+            ],
+            [
+              106.073226,
+              35.450393
+            ],
+            [
+              106.071378,
+              35.449418
+            ],
+            [
+              106.073226,
+              35.447468
+            ],
+            [
+              106.083081,
+              35.421624
+            ],
+            [
+              106.113262,
+              35.361616
+            ],
+            [
+              106.129892,
+              35.393333
+            ],
+            [
+              106.173008,
+              35.437716
+            ],
+            [
+              106.196414,
+              35.409919
+            ],
+            [
+              106.237681,
+              35.409431
+            ],
+            [
+              106.241377,
+              35.358687
+            ],
+            [
+              106.319601,
+              35.265411
+            ],
+            [
+              106.363333,
+              35.238532
+            ],
+            [
+              106.368261,
+              35.273718
+            ],
+            [
+              106.415688,
+              35.276161
+            ],
+            [
+              106.472354,
+              35.310842
+            ],
+            [
+              106.501304,
+              35.364056
+            ],
+            [
+              106.503767,
+              35.415284
+            ],
+            [
+              106.483441,
+              35.450393
+            ],
+            [
+              106.490217,
+              35.480613
+            ],
+            [
+              106.465579,
+              35.481101
+            ],
+            [
+              106.440941,
+              35.52641
+            ],
+            [
+              106.460036,
+              35.578995
+            ],
+            [
+              106.47913,
+              35.575101
+            ],
+            [
+              106.460036,
+              35.643705
+            ],
+            [
+              106.434782,
+              35.688436
+            ],
+            [
+              106.49268,
+              35.732656
+            ],
+            [
+              106.506231,
+              35.737514
+            ],
+            [
+              106.566593,
+              35.738971
+            ],
+            [
+              106.595542,
+              35.727312
+            ],
+            [
+              106.620796,
+              35.743829
+            ],
+            [
+              106.633115,
+              35.714679
+            ],
+            [
+              106.66268,
+              35.70739
+            ],
+            [
+              106.674998,
+              35.728284
+            ],
+            [
+              106.750759,
+              35.689408
+            ],
+            [
+              106.750759,
+              35.725369
+            ],
+            [
+              106.806193,
+              35.70982
+            ],
+            [
+              106.819128,
+              35.7448
+            ],
+            [
+              106.867171,
+              35.738485
+            ],
+            [
+              106.868403,
+              35.771996
+            ],
+            [
+              106.897353,
+              35.759856
+            ],
+            [
+              106.927534,
+              35.810346
+            ],
+            [
+              106.849925,
+              35.887476
+            ],
+            [
+              106.912751,
+              35.93207
+            ],
+            [
+              106.940468,
+              35.931101
+            ],
+            [
+              106.93862,
+              35.952905
+            ],
+            [
+              106.90228,
+              35.943699
+            ],
+            [
+              106.94786,
+              35.988262
+            ],
+            [
+              106.928149,
+              36.011502
+            ],
+            [
+              106.940468,
+              36.064734
+            ],
+            [
+              106.957715,
+              36.091337
+            ],
+            [
+              106.925686,
+              36.115997
+            ],
+            [
+              106.930613,
+              36.138716
+            ],
+            [
+              106.873947,
+              36.178338
+            ],
+            [
+              106.873947,
+              36.178338
+            ],
+            [
+              106.858548,
+              36.206834
+            ],
+            [
+              106.858548,
+              36.206834
+            ],
+            [
+              106.833295,
+              36.229044
+            ],
+            [
+              106.808657,
+              36.21118
+            ],
+            [
+              106.772933,
+              36.212628
+            ],
+            [
+              106.735976,
+              36.23725
+            ],
+            [
+              106.698404,
+              36.244008
+            ],
+            [
+              106.685469,
+              36.273445
+            ],
+            [
+              106.647897,
+              36.259451
+            ],
+            [
+              106.559202,
+              36.292259
+            ],
+            [
+              106.54134,
+              36.25366
+            ],
+            [
+              106.504383,
+              36.266207
+            ],
+            [
+              106.470507,
+              36.306246
+            ],
+            [
+              106.497608,
+              36.31348
+            ],
+            [
+              106.510543,
+              36.379037
+            ],
+            [
+              106.492064,
+              36.422389
+            ],
+            [
+              106.523477,
+              36.468605
+            ],
+            [
+              106.494528,
+              36.494589
+            ],
+            [
+              106.455724,
+              36.496995
+            ],
+            [
+              106.39721,
+              36.548455
+            ],
+            [
+              106.37134,
+              36.549417
+            ],
+            [
+              106.363949,
+              36.577296
+            ],
+            [
+              106.392282,
+              36.556628
+            ],
+            [
+              106.397826,
+              36.576816
+            ],
+            [
+              106.444637,
+              36.557109
+            ],
+            [
+              106.465579,
+              36.583063
+            ],
+            [
+              106.444637,
+              36.624861
+            ],
+            [
+              106.491448,
+              36.628703
+            ],
+            [
+              106.490833,
+              36.685835
+            ],
+            [
+              106.530869,
+              36.690154
+            ],
+            [
+              106.519782,
+              36.708868
+            ],
+            [
+              106.519782,
+              36.708868
+            ],
+            [
+              106.514238,
+              36.715584
+            ],
+            [
+              106.59431,
+              36.750118
+            ],
+            [
+              106.644817,
+              36.72278
+            ],
+            [
+              106.627571,
+              36.752995
+            ],
+            [
+              106.657752,
+              36.820575
+            ],
+            [
+              106.637426,
+              36.867031
+            ],
+            [
+              106.637426,
+              36.867031
+            ],
+            [
+              106.626955,
+              36.892403
+            ],
+            [
+              106.609709,
+              36.878521
+            ],
+            [
+              106.609709,
+              36.878521
+            ],
+            [
+              106.601702,
+              36.918244
+            ],
+            [
+              106.549347,
+              36.941685
+            ],
+            [
+              106.540108,
+              36.984244
+            ],
+            [
+              106.595542,
+              36.94025
+            ],
+            [
+              106.594926,
+              36.967988
+            ],
+            [
+              106.64297,
+              36.962729
+            ],
+            [
+              106.646665,
+              37.000496
+            ],
+            [
+              106.666991,
+              37.016745
+            ],
+            [
+              106.645433,
+              37.064992
+            ],
+            [
+              106.605397,
+              37.127524
+            ],
+            [
+              106.6171,
+              37.135158
+            ],
+            [
+              106.673151,
+              37.1113
+            ],
+            [
+              106.687933,
+              37.12991
+            ],
+            [
+              106.728585,
+              37.121321
+            ],
+            [
+              106.750143,
+              37.09889
+            ],
+            [
+              106.772933,
+              37.120367
+            ],
+            [
+              106.776012,
+              37.158056
+            ],
+            [
+              106.818512,
+              37.141838
+            ],
+            [
+              106.891193,
+              37.098413
+            ],
+            [
+              106.912135,
+              37.110345
+            ],
+            [
+              106.905976,
+              37.151378
+            ],
+            [
+              106.998367,
+              37.106527
+            ],
+            [
+              107.031011,
+              37.108436
+            ],
+            [
+              107.030395,
+              37.140883
+            ],
+            [
+              107.095685,
+              37.115595
+            ],
+            [
+              107.133873,
+              37.134681
+            ],
+            [
+              107.181916,
+              37.143269
+            ],
+            [
+              107.234887,
+              37.096503
+            ],
+            [
+              107.268764,
+              37.099367
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.048588,
+              35.488898
+            ],
+            [
+              105.897683,
+              35.451368
+            ],
+            [
+              105.894603,
+              35.413821
+            ],
+            [
+              106.002393,
+              35.438692
+            ],
+            [
+              106.034422,
+              35.469404
+            ],
+            [
+              106.054132,
+              35.45478
+            ],
+            [
+              106.048588,
+              35.488898
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              106.073842,
+              35.45478
+            ],
+            [
+              106.06953,
+              35.458193
+            ],
+            [
+              106.071378,
+              35.449418
+            ],
+            [
+              106.073226,
+              35.450393
+            ],
+            [
+              106.073842,
+              35.45478
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 65e4,
+      name: "新疆维吾尔自治区",
+      center: [
+        87.617733,
+        43.792818
+      ],
+      centroid: [
+        85.294711,
+        41.371801
+      ],
+      childrenNum: 24,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 30,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              96.386348,
+              42.727592
+            ],
+            [
+              96.363558,
+              42.900562
+            ],
+            [
+              95.921314,
+              43.229789
+            ],
+            [
+              95.880046,
+              43.28035
+            ],
+            [
+              95.857872,
+              43.417436
+            ],
+            [
+              95.735916,
+              43.597569
+            ],
+            [
+              95.705735,
+              43.67077
+            ],
+            [
+              95.645373,
+              43.787966
+            ],
+            [
+              95.623199,
+              43.855756
+            ],
+            [
+              95.527113,
+              44.007466
+            ],
+            [
+              95.426099,
+              44.009618
+            ],
+            [
+              95.377439,
+              44.025972
+            ],
+            [
+              95.326932,
+              44.028554
+            ],
+            [
+              95.35157,
+              44.090054
+            ],
+            [
+              95.355882,
+              44.166087
+            ],
+            [
+              95.376208,
+              44.227444
+            ],
+            [
+              95.4107,
+              44.245024
+            ],
+            [
+              95.43041,
+              44.281882
+            ],
+            [
+              95.41378,
+              44.298589
+            ],
+            [
+              95.238853,
+              44.277169
+            ],
+            [
+              95.1286,
+              44.269884
+            ],
+            [
+              94.998637,
+              44.253169
+            ],
+            [
+              94.945666,
+              44.292592
+            ],
+            [
+              94.826174,
+              44.320001
+            ],
+            [
+              94.768275,
+              44.34055
+            ],
+            [
+              94.722696,
+              44.34055
+            ],
+            [
+              94.673421,
+              44.397021
+            ],
+            [
+              94.606283,
+              44.448311
+            ],
+            [
+              94.557008,
+              44.462408
+            ],
+            [
+              94.470777,
+              44.509373
+            ],
+            [
+              94.390705,
+              44.521749
+            ],
+            [
+              94.359292,
+              44.515775
+            ],
+            [
+              94.329727,
+              44.582734
+            ],
+            [
+              94.279836,
+              44.603617
+            ],
+            [
+              94.227481,
+              44.645785
+            ],
+            [
+              94.215162,
+              44.667921
+            ],
+            [
+              94.152336,
+              44.684944
+            ],
+            [
+              94.066105,
+              44.732154
+            ],
+            [
+              93.723642,
+              44.865498
+            ],
+            [
+              93.716251,
+              44.894334
+            ],
+            [
+              93.613389,
+              44.926546
+            ],
+            [
+              93.509296,
+              44.968055
+            ],
+            [
+              93.434767,
+              44.955351
+            ],
+            [
+              93.376869,
+              44.985412
+            ],
+            [
+              93.314659,
+              44.995147
+            ],
+            [
+              93.314043,
+              44.980333
+            ],
+            [
+              93.252449,
+              44.991761
+            ],
+            [
+              93.174225,
+              45.015458
+            ],
+            [
+              93.100312,
+              45.007419
+            ],
+            [
+              93.062124,
+              45.018419
+            ],
+            [
+              93.002377,
+              45.009958
+            ],
+            [
+              92.932776,
+              45.017573
+            ],
+            [
+              92.922921,
+              45.03703
+            ],
+            [
+              92.884117,
+              45.046756
+            ],
+            [
+              92.847777,
+              45.038721
+            ],
+            [
+              92.779407,
+              45.050561
+            ],
+            [
+              92.683937,
+              45.02561
+            ],
+            [
+              92.547814,
+              45.018419
+            ],
+            [
+              92.501003,
+              45.001072
+            ],
+            [
+              92.414155,
+              45.018419
+            ],
+            [
+              92.348866,
+              45.014188
+            ],
+            [
+              92.315605,
+              45.028994
+            ],
+            [
+              92.240461,
+              45.015881
+            ],
+            [
+              92.100026,
+              45.081417
+            ],
+            [
+              92.056911,
+              45.086911
+            ],
+            [
+              91.885679,
+              45.078882
+            ],
+            [
+              91.803144,
+              45.082685
+            ],
+            [
+              91.694738,
+              45.065357
+            ],
+            [
+              91.561695,
+              45.075501
+            ],
+            [
+              91.500101,
+              45.103809
+            ],
+            [
+              91.448978,
+              45.156586
+            ],
+            [
+              91.429268,
+              45.156586
+            ],
+            [
+              91.37753,
+              45.11099
+            ],
+            [
+              91.33503,
+              45.129571
+            ],
+            [
+              91.242023,
+              45.13717
+            ],
+            [
+              91.230936,
+              45.153632
+            ],
+            [
+              91.195827,
+              45.159118
+            ],
+            [
+              91.17119,
+              45.199616
+            ],
+            [
+              91.129922,
+              45.21606
+            ],
+            [
+              91.050466,
+              45.208892
+            ],
+            [
+              91.007966,
+              45.218589
+            ],
+            [
+              90.96177,
+              45.201303
+            ],
+            [
+              90.881698,
+              45.192025
+            ],
+            [
+              90.866916,
+              45.209314
+            ],
+            [
+              90.897713,
+              45.249776
+            ],
+            [
+              90.877387,
+              45.280946
+            ],
+            [
+              90.831807,
+              45.300313
+            ],
+            [
+              90.804706,
+              45.29484
+            ],
+            [
+              90.813329,
+              45.32851
+            ],
+            [
+              90.773909,
+              45.405874
+            ],
+            [
+              90.772677,
+              45.432338
+            ],
+            [
+              90.723402,
+              45.464667
+            ],
+            [
+              90.671047,
+              45.487747
+            ],
+            [
+              90.676591,
+              45.582488
+            ],
+            [
+              90.714779,
+              45.728895
+            ],
+            [
+              90.799778,
+              45.834905
+            ],
+            [
+              90.890937,
+              45.921566
+            ],
+            [
+              91.028292,
+              46.023054
+            ],
+            [
+              91.014741,
+              46.06667
+            ],
+            [
+              91.021517,
+              46.121038
+            ],
+            [
+              90.98456,
+              46.160431
+            ],
+            [
+              90.94822,
+              46.219262
+            ],
+            [
+              90.955611,
+              46.233752
+            ],
+            [
+              90.900177,
+              46.31235
+            ],
+            [
+              90.983328,
+              46.374734
+            ],
+            [
+              90.996263,
+              46.419309
+            ],
+            [
+              91.025828,
+              46.444057
+            ],
+            [
+              91.038147,
+              46.500936
+            ],
+            [
+              91.060937,
+              46.516999
+            ],
+            [
+              91.079415,
+              46.558989
+            ],
+            [
+              91.068328,
+              46.579149
+            ],
+            [
+              91.017821,
+              46.58244
+            ],
+            [
+              91.036299,
+              46.670393
+            ],
+            [
+              91.054161,
+              46.717598
+            ],
+            [
+              91.019053,
+              46.766402
+            ],
+            [
+              90.992567,
+              46.769682
+            ],
+            [
+              90.992567,
+              46.790583
+            ],
+            [
+              90.942676,
+              46.82581
+            ],
+            [
+              90.958075,
+              46.879425
+            ],
+            [
+              90.929742,
+              46.893331
+            ],
+            [
+              90.92235,
+              46.938707
+            ],
+            [
+              90.901408,
+              46.960768
+            ],
+            [
+              90.830575,
+              46.995883
+            ],
+            [
+              90.767134,
+              46.992617
+            ],
+            [
+              90.691989,
+              47.080717
+            ],
+            [
+              90.653801,
+              47.111681
+            ],
+            [
+              90.579888,
+              47.198364
+            ],
+            [
+              90.56141,
+              47.206903
+            ],
+            [
+              90.521374,
+              47.2845
+            ],
+            [
+              90.488113,
+              47.317374
+            ],
+            [
+              90.526301,
+              47.379007
+            ],
+            [
+              90.507823,
+              47.400076
+            ],
+            [
+              90.468403,
+              47.404937
+            ],
+            [
+              90.459164,
+              47.43895
+            ],
+            [
+              90.474562,
+              47.462422
+            ],
+            [
+              90.468403,
+              47.497611
+            ],
+            [
+              90.398186,
+              47.547724
+            ],
+            [
+              90.376012,
+              47.603036
+            ],
+            [
+              90.346447,
+              47.637324
+            ],
+            [
+              90.384635,
+              47.644179
+            ],
+            [
+              90.331665,
+              47.681663
+            ],
+            [
+              90.216484,
+              47.70543
+            ],
+            [
+              90.180144,
+              47.72516
+            ],
+            [
+              90.13518,
+              47.723147
+            ],
+            [
+              90.07605,
+              47.777469
+            ],
+            [
+              90.070506,
+              47.820483
+            ],
+            [
+              90.086521,
+              47.86547
+            ],
+            [
+              90.066195,
+              47.883534
+            ],
+            [
+              90.040941,
+              47.874704
+            ],
+            [
+              89.960253,
+              47.885942
+            ],
+            [
+              89.957789,
+              47.842982
+            ],
+            [
+              89.86971,
+              47.834144
+            ],
+            [
+              89.761921,
+              47.835751
+            ],
+            [
+              89.735435,
+              47.89758
+            ],
+            [
+              89.651052,
+              47.913627
+            ],
+            [
+              89.645508,
+              47.947711
+            ],
+            [
+              89.595617,
+              47.973359
+            ],
+            [
+              89.599313,
+              48.015811
+            ],
+            [
+              89.569132,
+              48.037825
+            ],
+            [
+              89.498299,
+              48.02822
+            ],
+            [
+              89.38127,
+              48.046227
+            ],
+            [
+              89.359712,
+              48.026219
+            ],
+            [
+              89.308589,
+              48.021816
+            ],
+            [
+              89.282104,
+              47.994189
+            ],
+            [
+              89.231597,
+              47.98017
+            ],
+            [
+              89.156452,
+              47.996992
+            ],
+            [
+              89.078228,
+              47.98698
+            ],
+            [
+              89.044967,
+              48.009806
+            ],
+            [
+              89.027105,
+              48.051028
+            ],
+            [
+              88.953808,
+              48.090618
+            ],
+            [
+              88.939026,
+              48.115396
+            ],
+            [
+              88.824461,
+              48.107005
+            ],
+            [
+              88.79736,
+              48.133772
+            ],
+            [
+              88.721599,
+              48.160526
+            ],
+            [
+              88.700657,
+              48.180881
+            ],
+            [
+              88.668628,
+              48.171303
+            ],
+            [
+              88.638447,
+              48.183674
+            ],
+            [
+              88.601491,
+              48.221567
+            ],
+            [
+              88.594716,
+              48.259831
+            ],
+            [
+              88.575006,
+              48.277757
+            ],
+            [
+              88.605803,
+              48.337863
+            ],
+            [
+              88.573774,
+              48.351785
+            ],
+            [
+              88.573158,
+              48.369679
+            ],
+            [
+              88.535586,
+              48.368884
+            ],
+            [
+              88.523267,
+              48.403461
+            ],
+            [
+              88.503557,
+              48.412996
+            ],
+            [
+              88.462289,
+              48.392335
+            ],
+            [
+              88.438267,
+              48.393528
+            ],
+            [
+              88.360659,
+              48.433251
+            ],
+            [
+              88.363123,
+              48.460641
+            ],
+            [
+              88.318159,
+              48.478497
+            ],
+            [
+              88.229464,
+              48.498329
+            ],
+            [
+              88.196819,
+              48.493967
+            ],
+            [
+              88.151855,
+              48.526478
+            ],
+            [
+              88.130297,
+              48.521721
+            ],
+            [
+              88.10874,
+              48.545895
+            ],
+            [
+              88.041602,
+              48.548272
+            ],
+            [
+              87.973233,
+              48.575997
+            ],
+            [
+              87.96153,
+              48.599353
+            ],
+            [
+              88.010805,
+              48.618742
+            ],
+            [
+              88.02682,
+              48.65315
+            ],
+            [
+              88.089645,
+              48.69504
+            ],
+            [
+              88.090877,
+              48.71992
+            ],
+            [
+              88.064392,
+              48.712813
+            ],
+            [
+              88.029283,
+              48.750313
+            ],
+            [
+              87.96153,
+              48.773588
+            ],
+            [
+              87.93874,
+              48.757809
+            ],
+            [
+              87.872219,
+              48.799612
+            ],
+            [
+              87.826639,
+              48.800795
+            ],
+            [
+              87.803234,
+              48.824835
+            ],
+            [
+              87.829103,
+              48.825623
+            ],
+            [
+              87.792147,
+              48.849258
+            ],
+            [
+              87.78106,
+              48.872094
+            ],
+            [
+              87.742256,
+              48.881146
+            ],
+            [
+              87.760118,
+              48.925992
+            ],
+            [
+              87.793995,
+              48.927565
+            ],
+            [
+              87.814321,
+              48.945256
+            ],
+            [
+              87.87653,
+              48.949186
+            ],
+            [
+              87.871603,
+              48.963726
+            ],
+            [
+              87.911639,
+              48.979833
+            ],
+            [
+              87.883922,
+              48.993971
+            ],
+            [
+              87.883306,
+              49.023806
+            ],
+            [
+              87.835263,
+              49.054406
+            ],
+            [
+              87.858052,
+              49.07362
+            ],
+            [
+              87.844502,
+              49.090084
+            ],
+            [
+              87.867291,
+              49.108892
+            ],
+            [
+              87.845733,
+              49.146096
+            ],
+            [
+              87.82048,
+              49.148445
+            ],
+            [
+              87.821096,
+              49.173883
+            ],
+            [
+              87.793379,
+              49.18249
+            ],
+            [
+              87.762582,
+              49.172709
+            ],
+            [
+              87.700372,
+              49.175839
+            ],
+            [
+              87.67635,
+              49.15549
+            ],
+            [
+              87.602437,
+              49.152359
+            ],
+            [
+              87.563017,
+              49.142572
+            ],
+            [
+              87.517438,
+              49.145704
+            ],
+            [
+              87.49588,
+              49.132001
+            ],
+            [
+              87.511894,
+              49.10184
+            ],
+            [
+              87.43675,
+              49.075188
+            ],
+            [
+              87.388707,
+              49.097921
+            ],
+            [
+              87.304939,
+              49.112418
+            ],
+            [
+              87.239033,
+              49.114376
+            ],
+            [
+              87.211932,
+              49.140615
+            ],
+            [
+              87.112766,
+              49.15549
+            ],
+            [
+              87.088128,
+              49.133567
+            ],
+            [
+              87.000049,
+              49.142572
+            ],
+            [
+              86.953853,
+              49.131218
+            ],
+            [
+              86.887948,
+              49.132001
+            ],
+            [
+              86.854071,
+              49.109284
+            ],
+            [
+              86.84976,
+              49.066563
+            ],
+            [
+              86.836209,
+              49.051269
+            ],
+            [
+              86.772151,
+              49.02773
+            ],
+            [
+              86.732115,
+              48.994757
+            ],
+            [
+              86.730267,
+              48.959797
+            ],
+            [
+              86.757985,
+              48.894919
+            ],
+            [
+              86.782006,
+              48.887049
+            ],
+            [
+              86.821426,
+              48.850439
+            ],
+            [
+              86.818963,
+              48.831139
+            ],
+            [
+              86.770303,
+              48.810255
+            ],
+            [
+              86.754289,
+              48.78463
+            ],
+            [
+              86.780774,
+              48.731369
+            ],
+            [
+              86.771535,
+              48.717156
+            ],
+            [
+              86.70255,
+              48.666195
+            ],
+            [
+              86.693311,
+              48.64366
+            ],
+            [
+              86.640956,
+              48.629027
+            ],
+            [
+              86.635413,
+              48.612016
+            ],
+            [
+              86.594761,
+              48.576789
+            ],
+            [
+              86.579978,
+              48.538763
+            ],
+            [
+              86.416138,
+              48.481671
+            ],
+            [
+              86.38103,
+              48.49357
+            ],
+            [
+              86.305269,
+              48.491984
+            ],
+            [
+              86.270161,
+              48.452307
+            ],
+            [
+              86.225813,
+              48.432456
+            ],
+            [
+              86.053966,
+              48.441192
+            ],
+            [
+              85.916612,
+              48.438015
+            ],
+            [
+              85.791576,
+              48.418954
+            ],
+            [
+              85.758315,
+              48.403064
+            ],
+            [
+              85.695489,
+              48.335078
+            ],
+            [
+              85.695489,
+              48.302445
+            ],
+            [
+              85.678243,
+              48.266205
+            ],
+            [
+              85.633895,
+              48.232731
+            ],
+            [
+              85.622193,
+              48.202824
+            ],
+            [
+              85.587084,
+              48.191654
+            ],
+            [
+              85.576613,
+              48.15853
+            ],
+            [
+              85.55136,
+              48.127781
+            ],
+            [
+              85.551975,
+              48.081423
+            ],
+            [
+              85.531649,
+              48.046227
+            ],
+            [
+              85.547048,
+              48.008205
+            ],
+            [
+              85.617881,
+              47.550552
+            ],
+            [
+              85.614801,
+              47.498015
+            ],
+            [
+              85.685018,
+              47.428829
+            ],
+            [
+              85.701649,
+              47.384275
+            ],
+            [
+              85.675779,
+              47.321837
+            ],
+            [
+              85.701033,
+              47.28856
+            ],
+            [
+              85.682555,
+              47.249982
+            ],
+            [
+              85.682555,
+              47.222757
+            ],
+            [
+              85.641903,
+              47.18413
+            ],
+            [
+              85.582772,
+              47.142626
+            ],
+            [
+              85.547048,
+              47.096609
+            ],
+            [
+              85.545816,
+              47.057891
+            ],
+            [
+              85.441106,
+              47.063191
+            ],
+            [
+              85.355491,
+              47.054629
+            ],
+            [
+              85.325926,
+              47.044842
+            ],
+            [
+              85.276651,
+              47.068898
+            ],
+            [
+              85.213825,
+              47.041172
+            ],
+            [
+              85.175637,
+              46.997924
+            ],
+            [
+              85.102956,
+              46.968936
+            ],
+            [
+              85.082014,
+              46.939933
+            ],
+            [
+              84.987159,
+              46.918272
+            ],
+            [
+              84.979768,
+              46.883106
+            ],
+            [
+              84.95513,
+              46.861013
+            ],
+            [
+              84.934188,
+              46.863878
+            ],
+            [
+              84.867051,
+              46.927673
+            ],
+            [
+              84.849189,
+              46.957092
+            ],
+            [
+              84.781435,
+              46.979962
+            ],
+            [
+              84.748175,
+              47.009759
+            ],
+            [
+              84.699515,
+              47.008535
+            ],
+            [
+              84.668718,
+              46.995067
+            ],
+            [
+              84.563393,
+              46.991801
+            ],
+            [
+              84.506726,
+              46.97302
+            ],
+            [
+              84.425422,
+              47.008943
+            ],
+            [
+              84.37122,
+              46.993434
+            ],
+            [
+              84.336727,
+              47.00527
+            ],
+            [
+              84.2893,
+              46.994658
+            ],
+            [
+              84.195061,
+              47.003638
+            ],
+            [
+              84.150098,
+              46.977512
+            ],
+            [
+              84.086656,
+              46.965261
+            ],
+            [
+              84.038613,
+              46.973428
+            ],
+            [
+              84.002888,
+              46.990576
+            ],
+            [
+              83.951765,
+              46.98731
+            ],
+            [
+              83.932671,
+              46.970161
+            ],
+            [
+              83.88586,
+              46.982003
+            ],
+            [
+              83.766367,
+              47.026896
+            ],
+            [
+              83.69923,
+              47.015472
+            ],
+            [
+              83.700462,
+              47.032199
+            ],
+            [
+              83.576042,
+              47.059114
+            ],
+            [
+              83.566803,
+              47.080717
+            ],
+            [
+              83.53847,
+              47.083977
+            ],
+            [
+              83.463325,
+              47.132042
+            ],
+            [
+              83.418978,
+              47.119012
+            ],
+            [
+              83.370318,
+              47.178436
+            ],
+            [
+              83.324739,
+              47.167858
+            ],
+            [
+              83.306261,
+              47.179656
+            ],
+            [
+              83.257602,
+              47.173147
+            ],
+            [
+              83.221877,
+              47.186977
+            ],
+            [
+              83.207094,
+              47.213814
+            ],
+            [
+              83.17445,
+              47.218286
+            ],
+            [
+              83.15474,
+              47.236168
+            ],
+            [
+              83.108544,
+              47.221944
+            ],
+            [
+              83.02724,
+              47.21544
+            ],
+            [
+              83.031552,
+              47.168265
+            ],
+            [
+              82.993364,
+              47.065229
+            ],
+            [
+              82.937929,
+              47.014248
+            ],
+            [
+              82.923762,
+              46.932169
+            ],
+            [
+              82.876335,
+              46.823762
+            ],
+            [
+              82.878183,
+              46.797138
+            ],
+            [
+              82.829524,
+              46.772551
+            ],
+            [
+              82.788872,
+              46.677784
+            ],
+            [
+              82.774089,
+              46.600124
+            ],
+            [
+              82.726662,
+              46.494756
+            ],
+            [
+              82.609017,
+              46.294985
+            ],
+            [
+              82.518474,
+              46.153798
+            ],
+            [
+              82.461808,
+              45.97982
+            ],
+            [
+              82.401446,
+              45.972333
+            ],
+            [
+              82.342932,
+              45.935303
+            ],
+            [
+              82.336156,
+              45.882418
+            ],
+            [
+              82.349707,
+              45.822811
+            ],
+            [
+              82.340468,
+              45.772742
+            ],
+            [
+              82.289961,
+              45.71636
+            ],
+            [
+              82.288729,
+              45.655321
+            ],
+            [
+              82.266555,
+              45.620172
+            ],
+            [
+              82.281954,
+              45.53891
+            ],
+            [
+              82.448257,
+              45.461309
+            ],
+            [
+              82.546808,
+              45.426038
+            ],
+            [
+              82.60101,
+              45.346178
+            ],
+            [
+              82.58746,
+              45.224069
+            ],
+            [
+              82.562822,
+              45.204676
+            ],
+            [
+              82.487061,
+              45.181058
+            ],
+            [
+              82.344779,
+              45.219011
+            ],
+            [
+              82.294272,
+              45.247669
+            ],
+            [
+              82.206809,
+              45.236713
+            ],
+            [
+              82.109491,
+              45.211422
+            ],
+            [
+              82.091012,
+              45.222383
+            ],
+            [
+              82.09594,
+              45.249776
+            ],
+            [
+              82.052824,
+              45.255674
+            ],
+            [
+              81.993078,
+              45.237978
+            ],
+            [
+              81.921013,
+              45.233342
+            ],
+            [
+              81.879745,
+              45.284314
+            ],
+            [
+              81.832318,
+              45.319673
+            ],
+            [
+              81.78797,
+              45.3836
+            ],
+            [
+              81.677101,
+              45.35459
+            ],
+            [
+              81.645072,
+              45.359216
+            ],
+            [
+              81.582863,
+              45.336503
+            ],
+            [
+              81.575471,
+              45.30789
+            ],
+            [
+              81.536667,
+              45.304101
+            ],
+            [
+              81.52866,
+              45.285999
+            ],
+            [
+              81.462754,
+              45.264099
+            ],
+            [
+              81.437501,
+              45.28263
+            ],
+            [
+              81.398697,
+              45.275471
+            ],
+            [
+              81.382066,
+              45.257781
+            ],
+            [
+              81.327864,
+              45.260729
+            ],
+            [
+              81.284748,
+              45.23882
+            ],
+            [
+              81.236705,
+              45.247248
+            ],
+            [
+              81.175111,
+              45.227863
+            ],
+            [
+              81.170183,
+              45.211001
+            ],
+            [
+              81.111669,
+              45.218168
+            ],
+            [
+              81.080872,
+              45.182745
+            ],
+            [
+              81.024821,
+              45.162916
+            ],
+            [
+              80.966307,
+              45.168402
+            ],
+            [
+              80.93551,
+              45.160384
+            ],
+            [
+              80.897938,
+              45.127459
+            ],
+            [
+              80.862214,
+              45.127037
+            ],
+            [
+              80.816634,
+              45.152788
+            ],
+            [
+              80.731634,
+              45.156164
+            ],
+            [
+              80.686055,
+              45.129148
+            ],
+            [
+              80.599207,
+              45.105921
+            ],
+            [
+              80.519135,
+              45.108878
+            ],
+            [
+              80.493882,
+              45.127037
+            ],
+            [
+              80.445839,
+              45.097895
+            ],
+            [
+              80.443991,
+              45.077614
+            ],
+            [
+              80.404571,
+              45.049293
+            ],
+            [
+              80.358375,
+              45.040836
+            ],
+            [
+              80.328194,
+              45.070007
+            ],
+            [
+              80.291854,
+              45.06578
+            ],
+            [
+              80.24381,
+              45.031532
+            ],
+            [
+              80.195767,
+              45.030686
+            ],
+            [
+              80.144644,
+              45.059017
+            ],
+            [
+              80.136021,
+              45.041259
+            ],
+            [
+              80.111999,
+              45.052675
+            ],
+            [
+              80.060876,
+              45.026033
+            ],
+            [
+              80.056565,
+              45.011227
+            ],
+            [
+              79.98142,
+              44.964244
+            ],
+            [
+              79.951855,
+              44.957892
+            ],
+            [
+              79.944464,
+              44.937985
+            ],
+            [
+              79.887798,
+              44.90917
+            ],
+            [
+              79.969102,
+              44.877797
+            ],
+            [
+              79.953703,
+              44.849377
+            ],
+            [
+              79.991891,
+              44.830281
+            ],
+            [
+              79.999283,
+              44.793768
+            ],
+            [
+              80.087978,
+              44.817122
+            ],
+            [
+              80.115695,
+              44.815424
+            ],
+            [
+              80.169898,
+              44.84471
+            ],
+            [
+              80.18776,
+              44.825612
+            ],
+            [
+              80.178521,
+              44.796741
+            ],
+            [
+              80.200695,
+              44.756808
+            ],
+            [
+              80.238883,
+              44.7228
+            ],
+            [
+              80.313412,
+              44.704938
+            ],
+            [
+              80.400259,
+              44.628751
+            ],
+            [
+              80.411962,
+              44.605321
+            ],
+            [
+              80.350368,
+              44.484615
+            ],
+            [
+              80.383013,
+              44.401297
+            ],
+            [
+              80.399027,
+              44.30587
+            ],
+            [
+              80.413194,
+              44.264741
+            ],
+            [
+              80.400875,
+              44.198704
+            ],
+            [
+              80.407034,
+              44.149772
+            ],
+            [
+              80.3941,
+              44.127009
+            ],
+            [
+              80.449534,
+              44.078017
+            ],
+            [
+              80.458773,
+              44.047054
+            ],
+            [
+              80.457541,
+              43.981203
+            ],
+            [
+              80.485259,
+              43.95579
+            ],
+            [
+              80.475404,
+              43.938124
+            ],
+            [
+              80.511128,
+              43.906657
+            ],
+            [
+              80.522215,
+              43.816473
+            ],
+            [
+              80.75504,
+              43.494329
+            ],
+            [
+              80.761199,
+              43.446554
+            ],
+            [
+              80.746417,
+              43.439167
+            ],
+            [
+              80.735946,
+              43.389609
+            ],
+            [
+              80.686055,
+              43.333916
+            ],
+            [
+              80.69283,
+              43.32042
+            ],
+            [
+              80.777214,
+              43.308227
+            ],
+            [
+              80.769207,
+              43.265535
+            ],
+            [
+              80.788917,
+              43.242433
+            ],
+            [
+              80.789533,
+              43.201876
+            ],
+            [
+              80.804315,
+              43.178314
+            ],
+            [
+              80.79446,
+              43.137277
+            ],
+            [
+              80.752576,
+              43.148194
+            ],
+            [
+              80.73225,
+              43.131163
+            ],
+            [
+              80.706997,
+              43.143828
+            ],
+            [
+              80.650946,
+              43.147321
+            ],
+            [
+              80.593048,
+              43.133347
+            ],
+            [
+              80.556092,
+              43.104515
+            ],
+            [
+              80.482795,
+              43.06955
+            ],
+            [
+              80.416889,
+              43.05687
+            ],
+            [
+              80.378701,
+              43.031502
+            ],
+            [
+              80.397795,
+              42.996933
+            ],
+            [
+              80.487106,
+              42.948766
+            ],
+            [
+              80.5912,
+              42.923354
+            ],
+            [
+              80.602903,
+              42.894424
+            ],
+            [
+              80.503737,
+              42.882146
+            ],
+            [
+              80.450766,
+              42.861971
+            ],
+            [
+              80.407034,
+              42.834767
+            ],
+            [
+              80.338049,
+              42.831695
+            ],
+            [
+              80.280151,
+              42.838278
+            ],
+            [
+              80.262289,
+              42.828623
+            ],
+            [
+              80.259209,
+              42.790865
+            ],
+            [
+              80.225948,
+              42.713083
+            ],
+            [
+              80.228412,
+              42.692852
+            ],
+            [
+              80.179753,
+              42.670415
+            ],
+            [
+              80.163738,
+              42.629919
+            ],
+            [
+              80.180985,
+              42.590718
+            ],
+            [
+              80.221637,
+              42.533415
+            ],
+            [
+              80.265368,
+              42.502097
+            ],
+            [
+              80.225948,
+              42.485769
+            ],
+            [
+              80.206238,
+              42.431462
+            ],
+            [
+              80.239499,
+              42.389927
+            ],
+            [
+              80.229028,
+              42.358536
+            ],
+            [
+              80.283847,
+              42.320493
+            ],
+            [
+              80.272144,
+              42.281984
+            ],
+            [
+              80.29247,
+              42.259842
+            ],
+            [
+              80.28631,
+              42.233261
+            ],
+            [
+              80.233339,
+              42.210215
+            ],
+            [
+              80.168666,
+              42.200462
+            ],
+            [
+              80.163738,
+              42.152563
+            ],
+            [
+              80.139717,
+              42.151232
+            ],
+            [
+              80.16805,
+              42.096635
+            ],
+            [
+              80.193303,
+              42.081535
+            ],
+            [
+              80.14218,
+              42.03488
+            ],
+            [
+              80.089826,
+              42.047325
+            ],
+            [
+              79.923522,
+              42.042436
+            ],
+            [
+              79.852689,
+              42.015319
+            ],
+            [
+              79.854537,
+              41.984186
+            ],
+            [
+              79.822508,
+              41.963275
+            ],
+            [
+              79.776313,
+              41.89248
+            ],
+            [
+              79.724574,
+              41.896935
+            ],
+            [
+              79.640806,
+              41.884907
+            ],
+            [
+              79.616784,
+              41.856385
+            ],
+            [
+              79.550879,
+              41.834094
+            ],
+            [
+              79.500988,
+              41.835432
+            ],
+            [
+              79.457256,
+              41.847915
+            ],
+            [
+              79.415372,
+              41.836769
+            ],
+            [
+              79.356242,
+              41.795735
+            ],
+            [
+              79.326061,
+              41.809565
+            ],
+            [
+              79.276786,
+              41.78101
+            ],
+            [
+              79.271858,
+              41.767174
+            ],
+            [
+              79.21704,
+              41.725648
+            ],
+            [
+              79.138199,
+              41.722968
+            ],
+            [
+              79.10925,
+              41.697503
+            ],
+            [
+              79.043345,
+              41.681414
+            ],
+            [
+              79.021787,
+              41.657273
+            ],
+            [
+              78.99407,
+              41.664427
+            ],
+            [
+              78.957729,
+              41.65146
+            ],
+            [
+              78.891824,
+              41.597777
+            ],
+            [
+              78.86657,
+              41.593749
+            ],
+            [
+              78.825302,
+              41.560173
+            ],
+            [
+              78.739071,
+              41.555695
+            ],
+            [
+              78.696571,
+              41.54181
+            ],
+            [
+              78.707042,
+              41.522098
+            ],
+            [
+              78.675629,
+              41.50238
+            ],
+            [
+              78.650375,
+              41.467411
+            ],
+            [
+              78.580774,
+              41.481759
+            ],
+            [
+              78.527188,
+              41.440947
+            ],
+            [
+              78.454507,
+              41.412228
+            ],
+            [
+              78.391681,
+              41.408189
+            ],
+            [
+              78.385522,
+              41.394721
+            ],
+            [
+              78.338094,
+              41.397415
+            ],
+            [
+              78.324544,
+              41.384395
+            ],
+            [
+              78.235232,
+              41.399211
+            ],
+            [
+              78.163783,
+              41.383497
+            ],
+            [
+              78.149617,
+              41.368228
+            ],
+            [
+              78.165015,
+              41.340825
+            ],
+            [
+              78.136682,
+              41.279239
+            ],
+            [
+              78.129291,
+              41.228398
+            ],
+            [
+              78.094798,
+              41.224347
+            ],
+            [
+              77.972842,
+              41.173013
+            ],
+            [
+              77.905089,
+              41.185174
+            ],
+            [
+              77.836104,
+              41.153189
+            ],
+            [
+              77.814546,
+              41.13426
+            ],
+            [
+              77.807155,
+              41.091876
+            ],
+            [
+              77.829328,
+              41.059394
+            ],
+            [
+              77.796068,
+              41.049014
+            ],
+            [
+              77.780669,
+              41.022832
+            ],
+            [
+              77.737553,
+              41.032313
+            ],
+            [
+              77.684583,
+              41.00793
+            ],
+            [
+              77.654402,
+              41.016059
+            ],
+            [
+              77.597119,
+              41.005221
+            ],
+            [
+              77.591576,
+              40.992122
+            ],
+            [
+              77.540453,
+              41.006575
+            ],
+            [
+              77.476395,
+              40.999349
+            ],
+            [
+              77.473931,
+              41.022832
+            ],
+            [
+              77.415417,
+              41.038633
+            ],
+            [
+              77.363062,
+              41.04089
+            ],
+            [
+              77.296541,
+              41.004769
+            ],
+            [
+              77.236795,
+              41.027798
+            ],
+            [
+              77.169041,
+              41.009285
+            ],
+            [
+              77.108063,
+              41.038181
+            ],
+            [
+              77.091433,
+              41.062553
+            ],
+            [
+              77.023064,
+              41.059394
+            ],
+            [
+              77.002122,
+              41.073381
+            ],
+            [
+              76.940528,
+              41.028701
+            ],
+            [
+              76.885709,
+              41.027347
+            ],
+            [
+              76.85368,
+              40.97631
+            ],
+            [
+              76.817956,
+              40.975406
+            ],
+            [
+              76.761905,
+              40.954167
+            ],
+            [
+              76.741579,
+              40.912119
+            ],
+            [
+              76.731724,
+              40.818887
+            ],
+            [
+              76.693536,
+              40.779472
+            ],
+            [
+              76.646725,
+              40.759983
+            ],
+            [
+              76.646725,
+              40.73686
+            ],
+            [
+              76.676906,
+              40.696036
+            ],
+            [
+              76.654732,
+              40.652917
+            ],
+            [
+              76.657196,
+              40.620218
+            ],
+            [
+              76.611,
+              40.601591
+            ],
+            [
+              76.601145,
+              40.578868
+            ],
+            [
+              76.556798,
+              40.542495
+            ],
+            [
+              76.543247,
+              40.513837
+            ],
+            [
+              76.539551,
+              40.464226
+            ],
+            [
+              76.508754,
+              40.429613
+            ],
+            [
+              76.470566,
+              40.422779
+            ],
+            [
+              76.442233,
+              40.391336
+            ],
+            [
+              76.390494,
+              40.37766
+            ],
+            [
+              76.381871,
+              40.39088
+            ],
+            [
+              76.333212,
+              40.343459
+            ],
+            [
+              76.327668,
+              40.391336
+            ],
+            [
+              76.283321,
+              40.415034
+            ],
+            [
+              76.279625,
+              40.439179
+            ],
+            [
+              76.22419,
+              40.401819
+            ],
+            [
+              76.176147,
+              40.381307
+            ],
+            [
+              76.144118,
+              40.393615
+            ],
+            [
+              76.081293,
+              40.39635
+            ],
+            [
+              76.048648,
+              40.388601
+            ],
+            [
+              76.048648,
+              40.357141
+            ],
+            [
+              76.026474,
+              40.355317
+            ],
+            [
+              75.986438,
+              40.381763
+            ],
+            [
+              75.932235,
+              40.339353
+            ],
+            [
+              75.921764,
+              40.291439
+            ],
+            [
+              75.890351,
+              40.30924
+            ],
+            [
+              75.84046,
+              40.312434
+            ],
+            [
+              75.831221,
+              40.327492
+            ],
+            [
+              75.785642,
+              40.301025
+            ],
+            [
+              75.739446,
+              40.299199
+            ],
+            [
+              75.709265,
+              40.280939
+            ],
+            [
+              75.688323,
+              40.343915
+            ],
+            [
+              75.669845,
+              40.363982
+            ],
+            [
+              75.686475,
+              40.418223
+            ],
+            [
+              75.717272,
+              40.443278
+            ],
+            [
+              75.733287,
+              40.474242
+            ],
+            [
+              75.646439,
+              40.516567
+            ],
+            [
+              75.631041,
+              40.548862
+            ],
+            [
+              75.627345,
+              40.605226
+            ],
+            [
+              75.636584,
+              40.624306
+            ],
+            [
+              75.599628,
+              40.659727
+            ],
+            [
+              75.550353,
+              40.64883
+            ],
+            [
+              75.467817,
+              40.599773
+            ],
+            [
+              75.432093,
+              40.563412
+            ],
+            [
+              75.355716,
+              40.537947
+            ],
+            [
+              75.292274,
+              40.483802
+            ],
+            [
+              75.268869,
+              40.483802
+            ],
+            [
+              75.242383,
+              40.448743
+            ],
+            [
+              75.206659,
+              40.447833
+            ],
+            [
+              75.13521,
+              40.463315
+            ],
+            [
+              75.102565,
+              40.44009
+            ],
+            [
+              75.051442,
+              40.449654
+            ],
+            [
+              75.021877,
+              40.466958
+            ],
+            [
+              74.995392,
+              40.455119
+            ],
+            [
+              74.963363,
+              40.464681
+            ],
+            [
+              74.891914,
+              40.507467
+            ],
+            [
+              74.844486,
+              40.521117
+            ],
+            [
+              74.819233,
+              40.505647
+            ],
+            [
+              74.814921,
+              40.461039
+            ],
+            [
+              74.795211,
+              40.443278
+            ],
+            [
+              74.908544,
+              40.338897
+            ],
+            [
+              74.862965,
+              40.32658
+            ],
+            [
+              74.824776,
+              40.344371
+            ],
+            [
+              74.700357,
+              40.346195
+            ],
+            [
+              74.697893,
+              40.310153
+            ],
+            [
+              74.673255,
+              40.278656
+            ],
+            [
+              74.618437,
+              40.27957
+            ],
+            [
+              74.577169,
+              40.260391
+            ],
+            [
+              74.534669,
+              40.207851
+            ],
+            [
+              74.485394,
+              40.182251
+            ],
+            [
+              74.433039,
+              40.13148
+            ],
+            [
+              74.356662,
+              40.089371
+            ],
+            [
+              74.316626,
+              40.106767
+            ],
+            [
+              74.280902,
+              40.09807
+            ],
+            [
+              74.26304,
+              40.125074
+            ],
+            [
+              74.126301,
+              40.104479
+            ],
+            [
+              74.113366,
+              40.086624
+            ],
+            [
+              74.023439,
+              40.085251
+            ],
+            [
+              74.008041,
+              40.050901
+            ],
+            [
+              73.943367,
+              40.016076
+            ],
+            [
+              73.980324,
+              40.004617
+            ],
+            [
+              73.910722,
+              39.934443
+            ],
+            [
+              73.907027,
+              39.873843
+            ],
+            [
+              73.845433,
+              39.831115
+            ],
+            [
+              73.841737,
+              39.756163
+            ],
+            [
+              73.905795,
+              39.741899
+            ],
+            [
+              73.924273,
+              39.722108
+            ],
+            [
+              73.953838,
+              39.600018
+            ],
+            [
+              73.916266,
+              39.586644
+            ],
+            [
+              73.914418,
+              39.564041
+            ],
+            [
+              73.883621,
+              39.540969
+            ],
+            [
+              73.893476,
+              39.528046
+            ],
+            [
+              73.868223,
+              39.482794
+            ],
+            [
+              73.836194,
+              39.472169
+            ],
+            [
+              73.745651,
+              39.462005
+            ],
+            [
+              73.6471,
+              39.474479
+            ],
+            [
+              73.61076,
+              39.465702
+            ],
+            [
+              73.592898,
+              39.412087
+            ],
+            [
+              73.502355,
+              39.383877
+            ],
+            [
+              73.554094,
+              39.350102
+            ],
+            [
+              73.554709,
+              39.295935
+            ],
+            [
+              73.542391,
+              39.269531
+            ],
+            [
+              73.564564,
+              39.266288
+            ],
+            [
+              73.580579,
+              39.237555
+            ],
+            [
+              73.623079,
+              39.235237
+            ],
+            [
+              73.639709,
+              39.220402
+            ],
+            [
+              73.657571,
+              39.166136
+            ],
+            [
+              73.688368,
+              39.154999
+            ],
+            [
+              73.719781,
+              39.108112
+            ],
+            [
+              73.720397,
+              39.071881
+            ],
+            [
+              73.743187,
+              39.029588
+            ],
+            [
+              73.780143,
+              39.026798
+            ],
+            [
+              73.820179,
+              39.041674
+            ],
+            [
+              73.839889,
+              39.008199
+            ],
+            [
+              73.846665,
+              38.962145
+            ],
+            [
+              73.826339,
+              38.916993
+            ],
+            [
+              73.767824,
+              38.941202
+            ],
+            [
+              73.742571,
+              38.933754
+            ],
+            [
+              73.70931,
+              38.893241
+            ],
+            [
+              73.699455,
+              38.857832
+            ],
+            [
+              73.729636,
+              38.837324
+            ],
+            [
+              73.769056,
+              38.775765
+            ],
+            [
+              73.757353,
+              38.719755
+            ],
+            [
+              73.809092,
+              38.634256
+            ],
+            [
+              73.799237,
+              38.610878
+            ],
+            [
+              73.852208,
+              38.584217
+            ],
+            [
+              73.89902,
+              38.579071
+            ],
+            [
+              73.926121,
+              38.536016
+            ],
+            [
+              74.011736,
+              38.52478
+            ],
+            [
+              74.034526,
+              38.541634
+            ],
+            [
+              74.090577,
+              38.542102
+            ],
+            [
+              74.068403,
+              38.585621
+            ],
+            [
+              74.088113,
+              38.610878
+            ],
+            [
+              74.11275,
+              38.611345
+            ],
+            [
+              74.147859,
+              38.676785
+            ],
+            [
+              74.229779,
+              38.656224
+            ],
+            [
+              74.353583,
+              38.655757
+            ],
+            [
+              74.421952,
+              38.647812
+            ],
+            [
+              74.455829,
+              38.632853
+            ],
+            [
+              74.506336,
+              38.637528
+            ],
+            [
+              74.546988,
+              38.607604
+            ],
+            [
+              74.613509,
+              38.593105
+            ],
+            [
+              74.639995,
+              38.599653
+            ],
+            [
+              74.717603,
+              38.542102
+            ],
+            [
+              74.78474,
+              38.538357
+            ],
+            [
+              74.821697,
+              38.491062
+            ],
+            [
+              74.862965,
+              38.484035
+            ],
+            [
+              74.868508,
+              38.403883
+            ],
+            [
+              74.834015,
+              38.361193
+            ],
+            [
+              74.789668,
+              38.324581
+            ],
+            [
+              74.806914,
+              38.285602
+            ],
+            [
+              74.793363,
+              38.271039
+            ],
+            [
+              74.816769,
+              38.215576
+            ],
+            [
+              74.80445,
+              38.167128
+            ],
+            [
+              74.821697,
+              38.10311
+            ],
+            [
+              74.879595,
+              38.021122
+            ],
+            [
+              74.92579,
+              38.01735
+            ],
+            [
+              74.911008,
+              37.966884
+            ],
+            [
+              74.919015,
+              37.908357
+            ],
+            [
+              74.936877,
+              37.876241
+            ],
+            [
+              74.917167,
+              37.845057
+            ],
+            [
+              74.989848,
+              37.797783
+            ],
+            [
+              75.006478,
+              37.770823
+            ],
+            [
+              74.949196,
+              37.725395
+            ],
+            [
+              74.923327,
+              37.717347
+            ],
+            [
+              74.920863,
+              37.684675
+            ],
+            [
+              74.891914,
+              37.668097
+            ],
+            [
+              74.940573,
+              37.559061
+            ],
+            [
+              75.000935,
+              37.53059
+            ],
+            [
+              75.002167,
+              37.511604
+            ],
+            [
+              75.035428,
+              37.500685
+            ],
+            [
+              75.078543,
+              37.511129
+            ],
+            [
+              75.090862,
+              37.486915
+            ],
+            [
+              75.129666,
+              37.459367
+            ],
+            [
+              75.153072,
+              37.414223
+            ],
+            [
+              75.125971,
+              37.388075
+            ],
+            [
+              75.140137,
+              37.355258
+            ],
+            [
+              75.125971,
+              37.322427
+            ],
+            [
+              75.078543,
+              37.318144
+            ],
+            [
+              75.018181,
+              37.293867
+            ],
+            [
+              74.927022,
+              37.277678
+            ],
+            [
+              74.911008,
+              37.233378
+            ],
+            [
+              74.816153,
+              37.216699
+            ],
+            [
+              74.800139,
+              37.248147
+            ],
+            [
+              74.753943,
+              37.281011
+            ],
+            [
+              74.727458,
+              37.282916
+            ],
+            [
+              74.665864,
+              37.23576
+            ],
+            [
+              74.642458,
+              37.261485
+            ],
+            [
+              74.598727,
+              37.258151
+            ],
+            [
+              74.578401,
+              37.231472
+            ],
+            [
+              74.54514,
+              37.2491
+            ],
+            [
+              74.511263,
+              37.240048
+            ],
+            [
+              74.477387,
+              37.19954
+            ],
+            [
+              74.487858,
+              37.161871
+            ],
+            [
+              74.465068,
+              37.147085
+            ],
+            [
+              74.496481,
+              37.116072
+            ],
+            [
+              74.498944,
+              37.072155
+            ],
+            [
+              74.530357,
+              37.082182
+            ],
+            [
+              74.56793,
+              37.032512
+            ],
+            [
+              74.617205,
+              37.043499
+            ],
+            [
+              74.632603,
+              37.066425
+            ],
+            [
+              74.70898,
+              37.084569
+            ],
+            [
+              74.739161,
+              37.028212
+            ],
+            [
+              74.792747,
+              37.027257
+            ],
+            [
+              74.806914,
+              37.054485
+            ],
+            [
+              74.84695,
+              37.056873
+            ],
+            [
+              74.84387,
+              37.0134
+            ],
+            [
+              74.86974,
+              36.990458
+            ],
+            [
+              74.893762,
+              36.939772
+            ],
+            [
+              74.938725,
+              36.94312
+            ],
+            [
+              74.927638,
+              36.978029
+            ],
+            [
+              75.005862,
+              36.99476
+            ],
+            [
+              75.032348,
+              37.016745
+            ],
+            [
+              75.063145,
+              37.006231
+            ],
+            [
+              75.172166,
+              37.013877
+            ],
+            [
+              75.16847,
+              36.991892
+            ],
+            [
+              75.244847,
+              36.963207
+            ],
+            [
+              75.288579,
+              36.974682
+            ],
+            [
+              75.345861,
+              36.960816
+            ],
+            [
+              75.413614,
+              36.954599
+            ],
+            [
+              75.396368,
+              36.904367
+            ],
+            [
+              75.430245,
+              36.873255
+            ],
+            [
+              75.434556,
+              36.83303
+            ],
+            [
+              75.425933,
+              36.778883
+            ],
+            [
+              75.458578,
+              36.720861
+            ],
+            [
+              75.504773,
+              36.743404
+            ],
+            [
+              75.536802,
+              36.729975
+            ],
+            [
+              75.537418,
+              36.773131
+            ],
+            [
+              75.588541,
+              36.762584
+            ],
+            [
+              75.634121,
+              36.771693
+            ],
+            [
+              75.724048,
+              36.750597
+            ],
+            [
+              75.8072,
+              36.707908
+            ],
+            [
+              75.871257,
+              36.666636
+            ],
+            [
+              75.947018,
+              36.590752
+            ],
+            [
+              75.924228,
+              36.566242
+            ],
+            [
+              75.991981,
+              36.505654
+            ],
+            [
+              76.035097,
+              36.409386
+            ],
+            [
+              75.991365,
+              36.35205
+            ],
+            [
+              75.998757,
+              36.312034
+            ],
+            [
+              76.055423,
+              36.252695
+            ],
+            [
+              76.060967,
+              36.225182
+            ],
+            [
+              76.011691,
+              36.229044
+            ],
+            [
+              76.016619,
+              36.165294
+            ],
+            [
+              75.96796,
+              36.159013
+            ],
+            [
+              75.936547,
+              36.13485
+            ],
+            [
+              75.949482,
+              36.070056
+            ],
+            [
+              75.982742,
+              36.031347
+            ],
+            [
+              76.028322,
+              36.016827
+            ],
+            [
+              76.044336,
+              36.026991
+            ],
+            [
+              76.097307,
+              36.022635
+            ],
+            [
+              76.117017,
+              35.975186
+            ],
+            [
+              76.16506,
+              35.908807
+            ],
+            [
+              76.146582,
+              35.839946
+            ],
+            [
+              76.160133,
+              35.82442
+            ],
+            [
+              76.221727,
+              35.823449
+            ],
+            [
+              76.228502,
+              35.837035
+            ],
+            [
+              76.298719,
+              35.841401
+            ],
+            [
+              76.365857,
+              35.82442
+            ],
+            [
+              76.369552,
+              35.86323
+            ],
+            [
+              76.431762,
+              35.851589
+            ],
+            [
+              76.471798,
+              35.886021
+            ],
+            [
+              76.51553,
+              35.881173
+            ],
+            [
+              76.55803,
+              35.923347
+            ],
+            [
+              76.59745,
+              35.895718
+            ],
+            [
+              76.579587,
+              35.866625
+            ],
+            [
+              76.587595,
+              35.840431
+            ],
+            [
+              76.566037,
+              35.819082
+            ],
+            [
+              76.593754,
+              35.771996
+            ],
+            [
+              76.69292,
+              35.747714
+            ],
+            [
+              76.769297,
+              35.653917
+            ],
+            [
+              76.848753,
+              35.668018
+            ],
+            [
+              76.906651,
+              35.615005
+            ],
+            [
+              76.967013,
+              35.591649
+            ],
+            [
+              76.99781,
+              35.611113
+            ],
+            [
+              77.072339,
+              35.591162
+            ],
+            [
+              77.093281,
+              35.569746
+            ],
+            [
+              77.195527,
+              35.519103
+            ],
+            [
+              77.307628,
+              35.540533
+            ],
+            [
+              77.331649,
+              35.530793
+            ],
+            [
+              77.355055,
+              35.494257
+            ],
+            [
+              77.396939,
+              35.467942
+            ],
+            [
+              77.451758,
+              35.46063
+            ],
+            [
+              77.518895,
+              35.482075
+            ],
+            [
+              77.578025,
+              35.47574
+            ],
+            [
+              77.590344,
+              35.460143
+            ],
+            [
+              77.639619,
+              35.45478
+            ],
+            [
+              77.657481,
+              35.477689
+            ],
+            [
+              77.690742,
+              35.448443
+            ],
+            [
+              77.735706,
+              35.461605
+            ],
+            [
+              77.757879,
+              35.497181
+            ],
+            [
+              77.797299,
+              35.491334
+            ],
+            [
+              77.816394,
+              35.518616
+            ],
+            [
+              77.85643,
+              35.487436
+            ],
+            [
+              77.870596,
+              35.495232
+            ],
+            [
+              77.914944,
+              35.465017
+            ],
+            [
+              77.917408,
+              35.490847
+            ],
+            [
+              77.951284,
+              35.478664
+            ],
+            [
+              78.009799,
+              35.491821
+            ],
+            [
+              78.029509,
+              35.469404
+            ],
+            [
+              78.048603,
+              35.491334
+            ],
+            [
+              78.140378,
+              35.494745
+            ],
+            [
+              78.113892,
+              35.466967
+            ],
+            [
+              78.107117,
+              35.437229
+            ],
+            [
+              78.046755,
+              35.384063
+            ],
+            [
+              78.013494,
+              35.366008
+            ],
+            [
+              78.020885,
+              35.315237
+            ],
+            [
+              78.01719,
+              35.228267
+            ],
+            [
+              78.060306,
+              35.180344
+            ],
+            [
+              78.062769,
+              35.114772
+            ],
+            [
+              78.078784,
+              35.100084
+            ],
+            [
+              78.124979,
+              35.108407
+            ],
+            [
+              78.150849,
+              35.069721
+            ],
+            [
+              78.123131,
+              35.036897
+            ],
+            [
+              78.160704,
+              34.990823
+            ],
+            [
+              78.201972,
+              34.974642
+            ],
+            [
+              78.182262,
+              34.936874
+            ],
+            [
+              78.206283,
+              34.891726
+            ],
+            [
+              78.237696,
+              34.882398
+            ],
+            [
+              78.230921,
+              34.776288
+            ],
+            [
+              78.21429,
+              34.760556
+            ],
+            [
+              78.213059,
+              34.717771
+            ],
+            [
+              78.267261,
+              34.705472
+            ],
+            [
+              78.265413,
+              34.651335
+            ],
+            [
+              78.280812,
+              34.623269
+            ],
+            [
+              78.346101,
+              34.60406
+            ],
+            [
+              78.397224,
+              34.605538
+            ],
+            [
+              78.427405,
+              34.594207
+            ],
+            [
+              78.436029,
+              34.543942
+            ],
+            [
+              78.492695,
+              34.578441
+            ],
+            [
+              78.542586,
+              34.574499
+            ],
+            [
+              78.559832,
+              34.55725
+            ],
+            [
+              78.562912,
+              34.51288
+            ],
+            [
+              78.58139,
+              34.505483
+            ],
+            [
+              78.634977,
+              34.538026
+            ],
+            [
+              78.708274,
+              34.522249
+            ],
+            [
+              78.715049,
+              34.502031
+            ],
+            [
+              78.758781,
+              34.481807
+            ],
+            [
+              78.742766,
+              34.45467
+            ],
+            [
+              78.809288,
+              34.432955
+            ],
+            [
+              78.878273,
+              34.391481
+            ],
+            [
+              78.899831,
+              34.354929
+            ],
+            [
+              78.958961,
+              34.386049
+            ],
+            [
+              78.973128,
+              34.362833
+            ],
+            [
+              79.039649,
+              34.33467
+            ],
+            [
+              79.048888,
+              34.348506
+            ],
+            [
+              79.0107,
+              34.399877
+            ],
+            [
+              79.039033,
+              34.421601
+            ],
+            [
+              79.072294,
+              34.412714
+            ],
+            [
+              79.161605,
+              34.441345
+            ],
+            [
+              79.179467,
+              34.422588
+            ],
+            [
+              79.241677,
+              34.415183
+            ],
+            [
+              79.274322,
+              34.435916
+            ],
+            [
+              79.326677,
+              34.44332
+            ],
+            [
+              79.363017,
+              34.428018
+            ],
+            [
+              79.435082,
+              34.447761
+            ],
+            [
+              79.504683,
+              34.45467
+            ],
+            [
+              79.545335,
+              34.476381
+            ],
+            [
+              79.58106,
+              34.456151
+            ],
+            [
+              79.675914,
+              34.451216
+            ],
+            [
+              79.699936,
+              34.477861
+            ],
+            [
+              79.735661,
+              34.471447
+            ],
+            [
+              79.801566,
+              34.478847
+            ],
+            [
+              79.861312,
+              34.528166
+            ],
+            [
+              79.84345,
+              34.55725
+            ],
+            [
+              79.88595,
+              34.642965
+            ],
+            [
+              79.866856,
+              34.671517
+            ],
+            [
+              79.906892,
+              34.683821
+            ],
+            [
+              79.898268,
+              34.732035
+            ],
+            [
+              79.947544,
+              34.821008
+            ],
+            [
+              79.926602,
+              34.849499
+            ],
+            [
+              79.961094,
+              34.862759
+            ],
+            [
+              79.996819,
+              34.856375
+            ],
+            [
+              80.003594,
+              34.895162
+            ],
+            [
+              80.034391,
+              34.902033
+            ],
+            [
+              80.041782,
+              34.943252
+            ],
+            [
+              80.02392,
+              34.971209
+            ],
+            [
+              80.04363,
+              35.022196
+            ],
+            [
+              80.031311,
+              35.034447
+            ],
+            [
+              80.078123,
+              35.076578
+            ],
+            [
+              80.118159,
+              35.066293
+            ],
+            [
+              80.23026,
+              35.147565
+            ],
+            [
+              80.223484,
+              35.177409
+            ],
+            [
+              80.257977,
+              35.203331
+            ],
+            [
+              80.362687,
+              35.20871
+            ],
+            [
+              80.267832,
+              35.295701
+            ],
+            [
+              80.286926,
+              35.35283
+            ],
+            [
+              80.321419,
+              35.38699
+            ],
+            [
+              80.375006,
+              35.387966
+            ],
+            [
+              80.432904,
+              35.449418
+            ],
+            [
+              80.444607,
+              35.417235
+            ],
+            [
+              80.514824,
+              35.391869
+            ],
+            [
+              80.532686,
+              35.404553
+            ],
+            [
+              80.56841,
+              35.391381
+            ],
+            [
+              80.599823,
+              35.409431
+            ],
+            [
+              80.65649,
+              35.393821
+            ],
+            [
+              80.690982,
+              35.364544
+            ],
+            [
+              80.689135,
+              35.339162
+            ],
+            [
+              80.759968,
+              35.334768
+            ],
+            [
+              80.844351,
+              35.345508
+            ],
+            [
+              80.894242,
+              35.324027
+            ],
+            [
+              80.924423,
+              35.330862
+            ],
+            [
+              80.963844,
+              35.310842
+            ],
+            [
+              81.026053,
+              35.31133
+            ],
+            [
+              81.002648,
+              35.334768
+            ],
+            [
+              81.030981,
+              35.337209
+            ],
+            [
+              81.031597,
+              35.380648
+            ],
+            [
+              81.054387,
+              35.402602
+            ],
+            [
+              81.09935,
+              35.40748
+            ],
+            [
+              81.103662,
+              35.386015
+            ],
+            [
+              81.142466,
+              35.365032
+            ],
+            [
+              81.191741,
+              35.36552
+            ],
+            [
+              81.219458,
+              35.319144
+            ],
+            [
+              81.26627,
+              35.322562
+            ],
+            [
+              81.285364,
+              35.345508
+            ],
+            [
+              81.314313,
+              35.337209
+            ],
+            [
+              81.363588,
+              35.354783
+            ],
+            [
+              81.385762,
+              35.335256
+            ],
+            [
+              81.441196,
+              35.333303
+            ],
+            [
+              81.447972,
+              35.318167
+            ],
+            [
+              81.504638,
+              35.279092
+            ],
+            [
+              81.513261,
+              35.23511
+            ],
+            [
+              81.68634,
+              35.235599
+            ],
+            [
+              81.736847,
+              35.26248
+            ],
+            [
+              81.804601,
+              35.270786
+            ],
+            [
+              81.853876,
+              35.25857
+            ],
+            [
+              81.927789,
+              35.271275
+            ],
+            [
+              81.955506,
+              35.307423
+            ],
+            [
+              81.99123,
+              35.30547
+            ],
+            [
+              82.030034,
+              35.321585
+            ],
+            [
+              82.05344,
+              35.35039
+            ],
+            [
+              82.029419,
+              35.426013
+            ],
+            [
+              82.034346,
+              35.451855
+            ],
+            [
+              82.071302,
+              35.450393
+            ],
+            [
+              82.086701,
+              35.467454
+            ],
+            [
+              82.164925,
+              35.495719
+            ],
+            [
+              82.189563,
+              35.513258
+            ],
+            [
+              82.234526,
+              35.520565
+            ],
+            [
+              82.263475,
+              35.547837
+            ],
+            [
+              82.2992,
+              35.544916
+            ],
+            [
+              82.328149,
+              35.559523
+            ],
+            [
+              82.350323,
+              35.611113
+            ],
+            [
+              82.336156,
+              35.651486
+            ],
+            [
+              82.392823,
+              35.656349
+            ],
+            [
+              82.424852,
+              35.712736
+            ],
+            [
+              82.468583,
+              35.717595
+            ],
+            [
+              82.501844,
+              35.701073
+            ],
+            [
+              82.546192,
+              35.708362
+            ],
+            [
+              82.628727,
+              35.692324
+            ],
+            [
+              82.652133,
+              35.67288
+            ],
+            [
+              82.731589,
+              35.637868
+            ],
+            [
+              82.780249,
+              35.666073
+            ],
+            [
+              82.795031,
+              35.688436
+            ],
+            [
+              82.873871,
+              35.688922
+            ],
+            [
+              82.894813,
+              35.673852
+            ],
+            [
+              82.967494,
+              35.667532
+            ],
+            [
+              82.956407,
+              35.636409
+            ],
+            [
+              82.981661,
+              35.599922
+            ],
+            [
+              82.971806,
+              35.548324
+            ],
+            [
+              82.998907,
+              35.484512
+            ],
+            [
+              83.067892,
+              35.46258
+            ],
+            [
+              83.088834,
+              35.425526
+            ],
+            [
+              83.127022,
+              35.398699
+            ],
+            [
+              83.178145,
+              35.38943
+            ],
+            [
+              83.251442,
+              35.417722
+            ],
+            [
+              83.280391,
+              35.401138
+            ],
+            [
+              83.333978,
+              35.397236
+            ],
+            [
+              83.405427,
+              35.380648
+            ],
+            [
+              83.449159,
+              35.382111
+            ],
+            [
+              83.502745,
+              35.360639
+            ],
+            [
+              83.540318,
+              35.364056
+            ],
+            [
+              83.54155,
+              35.341603
+            ],
+            [
+              83.599448,
+              35.351366
+            ],
+            [
+              83.622238,
+              35.335256
+            ],
+            [
+              83.677672,
+              35.361128
+            ],
+            [
+              83.785462,
+              35.36308
+            ],
+            [
+              83.79778,
+              35.354783
+            ],
+            [
+              83.885244,
+              35.367472
+            ],
+            [
+              83.906186,
+              35.40309
+            ],
+            [
+              84.005968,
+              35.422599
+            ],
+            [
+              84.077417,
+              35.400163
+            ],
+            [
+              84.095895,
+              35.362592
+            ],
+            [
+              84.140859,
+              35.379184
+            ],
+            [
+              84.160569,
+              35.359663
+            ],
+            [
+              84.200605,
+              35.381135
+            ],
+            [
+              84.274517,
+              35.404065
+            ],
+            [
+              84.333032,
+              35.413821
+            ],
+            [
+              84.424191,
+              35.466479
+            ],
+            [
+              84.45314,
+              35.473303
+            ],
+            [
+              84.475929,
+              35.516181
+            ],
+            [
+              84.448828,
+              35.550272
+            ],
+            [
+              84.513502,
+              35.564391
+            ],
+            [
+              84.570168,
+              35.588242
+            ],
+            [
+              84.628067,
+              35.595055
+            ],
+            [
+              84.704443,
+              35.616951
+            ],
+            [
+              84.729081,
+              35.613546
+            ],
+            [
+              84.798066,
+              35.647595
+            ],
+            [
+              84.920022,
+              35.696213
+            ],
+            [
+              84.973608,
+              35.709334
+            ],
+            [
+              84.99455,
+              35.737028
+            ],
+            [
+              85.053065,
+              35.752086
+            ],
+            [
+              85.146071,
+              35.742371
+            ],
+            [
+              85.271107,
+              35.788989
+            ],
+            [
+              85.341324,
+              35.753543
+            ],
+            [
+              85.373969,
+              35.700101
+            ],
+            [
+              85.518715,
+              35.680658
+            ],
+            [
+              85.566142,
+              35.6403
+            ],
+            [
+              85.612953,
+              35.651486
+            ],
+            [
+              85.65299,
+              35.731199
+            ],
+            [
+              85.691178,
+              35.751114
+            ],
+            [
+              85.811286,
+              35.778794
+            ],
+            [
+              85.835308,
+              35.771996
+            ],
+            [
+              85.903677,
+              35.78462
+            ],
+            [
+              85.949256,
+              35.778794
+            ],
+            [
+              86.035488,
+              35.846738
+            ],
+            [
+              86.05335,
+              35.842857
+            ],
+            [
+              86.090306,
+              35.876809
+            ],
+            [
+              86.093386,
+              35.906868
+            ],
+            [
+              86.129111,
+              35.941761
+            ],
+            [
+              86.150668,
+              36.00424
+            ],
+            [
+              86.173458,
+              36.008113
+            ],
+            [
+              86.199944,
+              36.047801
+            ],
+            [
+              86.182081,
+              36.064734
+            ],
+            [
+              86.187625,
+              36.130983
+            ],
+            [
+              86.248603,
+              36.141616
+            ],
+            [
+              86.2794,
+              36.170608
+            ],
+            [
+              86.35824,
+              36.168676
+            ],
+            [
+              86.392733,
+              36.206834
+            ],
+            [
+              86.454943,
+              36.221319
+            ],
+            [
+              86.515305,
+              36.205385
+            ],
+            [
+              86.531935,
+              36.227113
+            ],
+            [
+              86.599072,
+              36.222285
+            ],
+            [
+              86.69947,
+              36.24449
+            ],
+            [
+              86.746282,
+              36.291777
+            ],
+            [
+              86.836209,
+              36.291294
+            ],
+            [
+              86.86331,
+              36.299977
+            ],
+            [
+              86.887332,
+              36.262829
+            ],
+            [
+              86.931064,
+              36.265242
+            ],
+            [
+              86.943998,
+              36.284058
+            ],
+            [
+              86.996353,
+              36.308658
+            ],
+            [
+              87.051788,
+              36.2966
+            ],
+            [
+              87.08628,
+              36.310587
+            ],
+            [
+              87.149106,
+              36.297565
+            ],
+            [
+              87.161425,
+              36.325535
+            ],
+            [
+              87.193454,
+              36.349158
+            ],
+            [
+              87.292004,
+              36.358797
+            ],
+            [
+              87.348055,
+              36.393008
+            ],
+            [
+              87.363453,
+              36.420463
+            ],
+            [
+              87.386859,
+              36.412757
+            ],
+            [
+              87.426895,
+              36.42576
+            ],
+            [
+              87.460155,
+              36.409868
+            ],
+            [
+              87.470626,
+              36.354459
+            ],
+            [
+              87.570409,
+              36.342409
+            ],
+            [
+              87.6203,
+              36.360243
+            ],
+            [
+              87.731785,
+              36.384818
+            ],
+            [
+              87.767509,
+              36.3747
+            ],
+            [
+              87.826023,
+              36.391563
+            ],
+            [
+              87.838342,
+              36.383855
+            ],
+            [
+              87.919646,
+              36.39349
+            ],
+            [
+              87.95845,
+              36.408423
+            ],
+            [
+              87.983088,
+              36.437797
+            ],
+            [
+              88.006494,
+              36.430575
+            ],
+            [
+              88.092109,
+              36.43539
+            ],
+            [
+              88.134609,
+              36.427205
+            ],
+            [
+              88.182652,
+              36.452721
+            ],
+            [
+              88.222688,
+              36.447426
+            ],
+            [
+              88.241782,
+              36.468605
+            ],
+            [
+              88.282434,
+              36.470049
+            ],
+            [
+              88.366202,
+              36.458016
+            ],
+            [
+              88.356963,
+              36.477268
+            ],
+            [
+              88.41055,
+              36.473418
+            ],
+            [
+              88.470912,
+              36.48208
+            ],
+            [
+              88.498629,
+              36.446463
+            ],
+            [
+              88.573158,
+              36.461386
+            ],
+            [
+              88.618121,
+              36.428168
+            ],
+            [
+              88.623665,
+              36.389636
+            ],
+            [
+              88.690186,
+              36.367954
+            ],
+            [
+              88.766563,
+              36.292259
+            ],
+            [
+              88.783809,
+              36.291777
+            ],
+            [
+              88.802903,
+              36.33807
+            ],
+            [
+              88.838628,
+              36.353496
+            ],
+            [
+              88.870657,
+              36.348193
+            ],
+            [
+              88.926091,
+              36.36458
+            ],
+            [
+              88.964279,
+              36.318785
+            ],
+            [
+              89.013554,
+              36.315409
+            ],
+            [
+              89.054822,
+              36.291777
+            ],
+            [
+              89.10225,
+              36.281164
+            ],
+            [
+              89.126887,
+              36.254626
+            ],
+            [
+              89.198952,
+              36.260417
+            ],
+            [
+              89.232213,
+              36.295636
+            ],
+            [
+              89.292575,
+              36.231457
+            ],
+            [
+              89.335075,
+              36.23725
+            ],
+            [
+              89.375727,
+              36.228078
+            ],
+            [
+              89.490291,
+              36.151281
+            ],
+            [
+              89.594385,
+              36.126632
+            ],
+            [
+              89.614711,
+              36.109712
+            ],
+            [
+              89.711414,
+              36.093272
+            ],
+            [
+              89.766848,
+              36.073925
+            ],
+            [
+              89.819819,
+              36.080697
+            ],
+            [
+              89.914058,
+              36.079246
+            ],
+            [
+              89.941159,
+              36.067637
+            ],
+            [
+              89.944855,
+              36.140649
+            ],
+            [
+              89.997825,
+              36.168193
+            ],
+            [
+              90.019999,
+              36.213594
+            ],
+            [
+              90.028006,
+              36.258486
+            ],
+            [
+              90.003369,
+              36.278752
+            ],
+            [
+              90.043405,
+              36.276822
+            ],
+            [
+              90.058188,
+              36.255591
+            ],
+            [
+              90.145651,
+              36.239181
+            ],
+            [
+              90.130252,
+              36.2078
+            ],
+            [
+              90.198006,
+              36.187516
+            ],
+            [
+              90.23681,
+              36.160462
+            ],
+            [
+              90.325505,
+              36.159496
+            ],
+            [
+              90.424055,
+              36.133883
+            ],
+            [
+              90.478258,
+              36.13195
+            ],
+            [
+              90.534925,
+              36.147899
+            ],
+            [
+              90.613149,
+              36.126632
+            ],
+            [
+              90.659344,
+              36.13485
+            ],
+            [
+              90.776373,
+              36.086501
+            ],
+            [
+              90.815793,
+              36.035703
+            ],
+            [
+              90.850285,
+              36.016827
+            ],
+            [
+              90.922966,
+              36.028927
+            ],
+            [
+              90.979017,
+              36.106811
+            ],
+            [
+              91.081263,
+              36.088436
+            ],
+            [
+              91.124994,
+              36.115514
+            ],
+            [
+              91.09235,
+              36.163844
+            ],
+            [
+              91.096045,
+              36.219871
+            ],
+            [
+              91.051698,
+              36.238215
+            ],
+            [
+              91.07264,
+              36.299012
+            ],
+            [
+              91.026444,
+              36.323607
+            ],
+            [
+              91.051698,
+              36.433946
+            ],
+            [
+              91.028292,
+              36.443093
+            ],
+            [
+              91.039995,
+              36.474861
+            ],
+            [
+              91.035683,
+              36.529703
+            ],
+            [
+              91.011662,
+              36.539801
+            ],
+            [
+              90.905104,
+              36.560474
+            ],
+            [
+              90.831191,
+              36.55807
+            ],
+            [
+              90.810865,
+              36.585466
+            ],
+            [
+              90.741264,
+              36.585947
+            ],
+            [
+              90.72217,
+              36.620058
+            ],
+            [
+              90.730793,
+              36.655594
+            ],
+            [
+              90.706156,
+              36.658955
+            ],
+            [
+              90.720938,
+              36.708868
+            ],
+            [
+              90.754815,
+              36.721341
+            ],
+            [
+              90.727098,
+              36.755872
+            ],
+            [
+              90.732025,
+              36.825844
+            ],
+            [
+              90.758511,
+              36.825844
+            ],
+            [
+              90.853981,
+              36.915373
+            ],
+            [
+              90.924198,
+              36.921115
+            ],
+            [
+              90.983944,
+              36.913459
+            ],
+            [
+              91.036915,
+              36.929727
+            ],
+            [
+              91.051698,
+              36.96751
+            ],
+            [
+              91.126842,
+              36.978507
+            ],
+            [
+              91.133618,
+              37.007665
+            ],
+            [
+              91.181045,
+              37.025345
+            ],
+            [
+              91.216153,
+              37.010054
+            ],
+            [
+              91.303617,
+              37.012444
+            ],
+            [
+              91.291298,
+              37.042544
+            ],
+            [
+              91.303617,
+              37.083136
+            ],
+            [
+              91.286371,
+              37.105095
+            ],
+            [
+              91.280211,
+              37.163779
+            ],
+            [
+              91.1909,
+              37.205737
+            ],
+            [
+              91.194596,
+              37.273868
+            ],
+            [
+              91.134849,
+              37.324331
+            ],
+            [
+              91.136081,
+              37.355734
+            ],
+            [
+              91.113292,
+              37.387124
+            ],
+            [
+              91.099741,
+              37.447965
+            ],
+            [
+              91.073256,
+              37.475992
+            ],
+            [
+              91.019669,
+              37.493088
+            ],
+            [
+              90.958075,
+              37.477891
+            ],
+            [
+              90.911879,
+              37.519674
+            ],
+            [
+              90.865684,
+              37.53059
+            ],
+            [
+              90.882314,
+              37.575664
+            ],
+            [
+              90.854597,
+              37.604117
+            ],
+            [
+              90.820104,
+              37.613599
+            ],
+            [
+              90.777605,
+              37.648672
+            ],
+            [
+              90.643946,
+              37.696988
+            ],
+            [
+              90.586663,
+              37.703144
+            ],
+            [
+              90.579272,
+              37.720661
+            ],
+            [
+              90.519526,
+              37.730601
+            ],
+            [
+              90.516446,
+              38.207111
+            ],
+            [
+              90.531229,
+              38.319886
+            ],
+            [
+              90.401882,
+              38.311434
+            ],
+            [
+              90.361846,
+              38.300163
+            ],
+            [
+              90.352607,
+              38.233441
+            ],
+            [
+              90.280542,
+              38.238142
+            ],
+            [
+              90.137644,
+              38.340543
+            ],
+            [
+              90.179528,
+              38.396848
+            ],
+            [
+              90.129636,
+              38.400131
+            ],
+            [
+              90.111774,
+              38.418889
+            ],
+            [
+              90.111774,
+              38.477945
+            ],
+            [
+              90.130868,
+              38.494341
+            ],
+            [
+              90.248513,
+              38.491531
+            ],
+            [
+              90.315034,
+              38.501835
+            ],
+            [
+              90.353222,
+              38.482162
+            ],
+            [
+              90.427135,
+              38.493873
+            ],
+            [
+              90.465323,
+              38.521971
+            ],
+            [
+              90.463476,
+              38.556611
+            ],
+            [
+              90.525685,
+              38.561291
+            ],
+            [
+              90.560794,
+              38.593573
+            ],
+            [
+              90.608837,
+              38.594508
+            ],
+            [
+              90.606374,
+              38.610878
+            ],
+            [
+              90.645794,
+              38.635191
+            ],
+            [
+              90.619308,
+              38.664636
+            ],
+            [
+              90.65996,
+              38.674449
+            ],
+            [
+              90.724634,
+              38.658094
+            ],
+            [
+              90.899561,
+              38.679588
+            ],
+            [
+              90.970394,
+              38.697806
+            ],
+            [
+              90.992567,
+              38.695003
+            ],
+            [
+              91.188436,
+              38.73096
+            ],
+            [
+              91.242639,
+              38.752433
+            ],
+            [
+              91.298689,
+              38.746365
+            ],
+            [
+              91.446515,
+              38.813546
+            ],
+            [
+              91.501333,
+              38.815411
+            ],
+            [
+              91.681188,
+              38.852706
+            ],
+            [
+              91.694738,
+              38.86622
+            ],
+            [
+              91.806223,
+              38.872744
+            ],
+            [
+              91.87952,
+              38.884391
+            ],
+            [
+              91.880752,
+              38.899297
+            ],
+            [
+              91.966368,
+              38.930961
+            ],
+            [
+              92.10865,
+              38.963541
+            ],
+            [
+              92.173323,
+              38.960749
+            ],
+            [
+              92.197961,
+              38.983548
+            ],
+            [
+              92.263866,
+              39.002153
+            ],
+            [
+              92.380279,
+              38.999828
+            ],
+            [
+              92.416003,
+              39.010524
+            ],
+            [
+              92.41046,
+              39.03842
+            ],
+            [
+              92.366728,
+              39.059335
+            ],
+            [
+              92.366112,
+              39.096037
+            ],
+            [
+              92.343938,
+              39.146181
+            ],
+            [
+              92.339011,
+              39.236628
+            ],
+            [
+              92.378431,
+              39.258411
+            ],
+            [
+              92.52564,
+              39.368611
+            ],
+            [
+              92.639589,
+              39.514196
+            ],
+            [
+              92.687632,
+              39.657174
+            ],
+            [
+              92.745531,
+              39.868331
+            ],
+            [
+              92.796654,
+              40.153897
+            ],
+            [
+              92.906907,
+              40.310609
+            ],
+            [
+              92.920458,
+              40.391792
+            ],
+            [
+              92.928465,
+              40.572504
+            ],
+            [
+              93.506216,
+              40.648376
+            ],
+            [
+              93.760599,
+              40.664721
+            ],
+            [
+              93.820961,
+              40.793519
+            ],
+            [
+              93.809874,
+              40.879548
+            ],
+            [
+              93.908424,
+              40.983539
+            ],
+            [
+              94.01067,
+              41.114875
+            ],
+            [
+              94.184365,
+              41.268444
+            ],
+            [
+              94.534219,
+              41.505966
+            ],
+            [
+              94.750413,
+              41.538227
+            ],
+            [
+              94.809543,
+              41.619256
+            ],
+            [
+              94.861898,
+              41.668451
+            ],
+            [
+              94.969072,
+              41.718948
+            ],
+            [
+              95.011572,
+              41.726541
+            ],
+            [
+              95.110738,
+              41.768513
+            ],
+            [
+              95.135991,
+              41.772976
+            ],
+            [
+              95.16494,
+              41.735474
+            ],
+            [
+              95.199433,
+              41.719395
+            ],
+            [
+              95.194505,
+              41.694821
+            ],
+            [
+              95.247476,
+              41.61344
+            ],
+            [
+              95.299831,
+              41.565994
+            ],
+            [
+              95.335556,
+              41.644305
+            ],
+            [
+              95.39407,
+              41.693481
+            ],
+            [
+              95.445193,
+              41.719841
+            ],
+            [
+              95.57146,
+              41.796181
+            ],
+            [
+              95.65646,
+              41.826067
+            ],
+            [
+              95.759322,
+              41.835878
+            ],
+            [
+              95.801206,
+              41.848361
+            ],
+            [
+              95.855408,
+              41.849699
+            ],
+            [
+              95.998306,
+              41.906289
+            ],
+            [
+              96.054973,
+              41.936124
+            ],
+            [
+              96.117183,
+              41.985966
+            ],
+            [
+              96.137509,
+              42.019765
+            ],
+            [
+              96.13874,
+              42.05399
+            ],
+            [
+              96.077147,
+              42.149457
+            ],
+            [
+              96.178161,
+              42.21775
+            ],
+            [
+              96.040806,
+              42.326688
+            ],
+            [
+              96.042038,
+              42.352787
+            ],
+            [
+              96.06606,
+              42.414674
+            ],
+            [
+              95.978596,
+              42.436762
+            ],
+            [
+              96.0174,
+              42.482239
+            ],
+            [
+              96.02356,
+              42.542675
+            ],
+            [
+              96.072219,
+              42.569566
+            ],
+            [
+              96.103632,
+              42.604375
+            ],
+            [
+              96.166458,
+              42.623314
+            ],
+            [
+              96.386348,
+              42.727592
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 71e4,
+      name: "台湾省",
+      center: [
+        121.509062,
+        25.044332
+      ],
+      centroid: [
+        120.971485,
+        23.749452
+      ],
+      childrenNum: 0,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 31,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              120.443706,
+              22.441432
+            ],
+            [
+              120.517619,
+              22.408793
+            ],
+            [
+              120.569973,
+              22.361757
+            ],
+            [
+              120.640806,
+              22.241605
+            ],
+            [
+              120.659285,
+              22.154056
+            ],
+            [
+              120.661748,
+              22.067007
+            ],
+            [
+              120.651277,
+              22.033171
+            ],
+            [
+              120.667908,
+              21.983235
+            ],
+            [
+              120.701784,
+              21.927174
+            ],
+            [
+              120.743052,
+              21.915515
+            ],
+            [
+              120.781857,
+              21.923843
+            ],
+            [
+              120.854537,
+              21.883309
+            ],
+            [
+              120.873016,
+              21.897191
+            ],
+            [
+              120.86624,
+              21.984345
+            ],
+            [
+              120.907508,
+              22.033171
+            ],
+            [
+              120.912436,
+              22.086418
+            ],
+            [
+              120.903197,
+              22.12634
+            ],
+            [
+              120.914899,
+              22.302525
+            ],
+            [
+              120.981421,
+              22.528248
+            ],
+            [
+              121.014682,
+              22.584069
+            ],
+            [
+              121.03316,
+              22.650914
+            ],
+            [
+              121.078739,
+              22.669691
+            ],
+            [
+              121.170514,
+              22.723247
+            ],
+            [
+              121.21055,
+              22.770711
+            ],
+            [
+              121.237652,
+              22.836362
+            ],
+            [
+              121.276456,
+              22.877171
+            ],
+            [
+              121.324499,
+              22.945526
+            ],
+            [
+              121.35468,
+              23.00999
+            ],
+            [
+              121.370695,
+              23.084334
+            ],
+            [
+              121.409499,
+              23.1025
+            ],
+            [
+              121.430441,
+              23.137175
+            ],
+            [
+              121.415042,
+              23.196047
+            ],
+            [
+              121.440296,
+              23.271937
+            ],
+            [
+              121.479716,
+              23.322507
+            ],
+            [
+              121.497578,
+              23.419744
+            ],
+            [
+              121.5216,
+              23.483431
+            ],
+            [
+              121.522832,
+              23.538858
+            ],
+            [
+              121.587505,
+              23.760878
+            ],
+            [
+              121.621382,
+              23.920718
+            ],
+            [
+              121.65957,
+              24.007125
+            ],
+            [
+              121.63986,
+              24.064514
+            ],
+            [
+              121.643556,
+              24.097843
+            ],
+            [
+              121.678048,
+              24.133895
+            ],
+            [
+              121.689135,
+              24.174303
+            ],
+            [
+              121.809243,
+              24.339083
+            ],
+            [
+              121.82649,
+              24.423572
+            ],
+            [
+              121.867758,
+              24.47914
+            ],
+            [
+              121.88562,
+              24.529784
+            ],
+            [
+              121.892395,
+              24.617953
+            ],
+            [
+              121.86283,
+              24.671261
+            ],
+            [
+              121.841272,
+              24.734329
+            ],
+            [
+              121.844968,
+              24.836476
+            ],
+            [
+              121.933047,
+              24.938539
+            ],
+            [
+              122.012503,
+              25.001471
+            ],
+            [
+              121.98109,
+              25.030757
+            ],
+            [
+              121.947214,
+              25.031841
+            ],
+            [
+              121.917033,
+              25.138076
+            ],
+            [
+              121.841888,
+              25.135367
+            ],
+            [
+              121.782142,
+              25.160287
+            ],
+            [
+              121.745186,
+              25.161912
+            ],
+            [
+              121.707613,
+              25.191701
+            ],
+            [
+              121.700222,
+              25.226896
+            ],
+            [
+              121.655259,
+              25.242054
+            ],
+            [
+              121.62323,
+              25.29455
+            ],
+            [
+              121.585041,
+              25.309159
+            ],
+            [
+              121.53515,
+              25.307535
+            ],
+            [
+              121.444607,
+              25.27074
+            ],
+            [
+              121.413194,
+              25.238806
+            ],
+            [
+              121.371926,
+              25.159746
+            ],
+            [
+              121.319572,
+              25.140785
+            ],
+            [
+              121.209318,
+              25.12724
+            ],
+            [
+              121.132942,
+              25.078466
+            ],
+            [
+              121.102145,
+              25.075214
+            ],
+            [
+              121.024537,
+              25.040517
+            ],
+            [
+              121.009754,
+              24.993878
+            ],
+            [
+              120.961095,
+              24.940167
+            ],
+            [
+              120.914899,
+              24.864715
+            ],
+            [
+              120.89211,
+              24.767482
+            ],
+            [
+              120.82374,
+              24.688118
+            ],
+            [
+              120.762147,
+              24.658208
+            ],
+            [
+              120.68885,
+              24.600542
+            ],
+            [
+              120.642654,
+              24.490033
+            ],
+            [
+              120.589068,
+              24.43229
+            ],
+            [
+              120.546568,
+              24.370159
+            ],
+            [
+              120.520698,
+              24.311816
+            ],
+            [
+              120.470807,
+              24.242533
+            ],
+            [
+              120.451713,
+              24.182493
+            ],
+            [
+              120.391967,
+              24.118055
+            ],
+            [
+              120.316206,
+              23.984708
+            ],
+            [
+              120.278018,
+              23.92783
+            ],
+            [
+              120.245989,
+              23.840276
+            ],
+            [
+              120.175156,
+              23.807427
+            ],
+            [
+              120.102476,
+              23.701162
+            ],
+            [
+              120.095084,
+              23.58768
+            ],
+            [
+              120.12157,
+              23.504836
+            ],
+            [
+              120.108019,
+              23.341191
+            ],
+            [
+              120.081534,
+              23.291728
+            ],
+            [
+              120.018708,
+              23.073322
+            ],
+            [
+              120.029795,
+              23.048544
+            ],
+            [
+              120.133272,
+              23.000625
+            ],
+            [
+              120.149287,
+              22.896468
+            ],
+            [
+              120.20041,
+              22.721039
+            ],
+            [
+              120.274323,
+              22.560307
+            ],
+            [
+              120.297112,
+              22.531565
+            ],
+            [
+              120.443706,
+              22.441432
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              124.542782,
+              25.903886
+            ],
+            [
+              124.584666,
+              25.908731
+            ],
+            [
+              124.566804,
+              25.941563
+            ],
+            [
+              124.542782,
+              25.903886
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              123.445178,
+              25.726102
+            ],
+            [
+              123.469816,
+              25.712623
+            ],
+            [
+              123.50862,
+              25.722867
+            ],
+            [
+              123.512316,
+              25.755212
+            ],
+            [
+              123.479055,
+              25.768687
+            ],
+            [
+              123.445794,
+              25.749822
+            ],
+            [
+              123.445178,
+              25.726102
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.646064,
+              23.550928
+            ],
+            [
+              119.691028,
+              23.547087
+            ],
+            [
+              119.678093,
+              23.600294
+            ],
+            [
+              119.61034,
+              23.604132
+            ],
+            [
+              119.601717,
+              23.575613
+            ],
+            [
+              119.566608,
+              23.584937
+            ],
+            [
+              119.562297,
+              23.530627
+            ],
+            [
+              119.578927,
+              23.502641
+            ],
+            [
+              119.609108,
+              23.503738
+            ],
+            [
+              119.646064,
+              23.550928
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              123.666916,
+              25.914114
+            ],
+            [
+              123.706952,
+              25.91519
+            ],
+            [
+              123.689706,
+              25.939949
+            ],
+            [
+              123.666916,
+              25.914114
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.506246,
+              23.625518
+            ],
+            [
+              119.506246,
+              23.577259
+            ],
+            [
+              119.47237,
+              23.556962
+            ],
+            [
+              119.519181,
+              23.559705
+            ],
+            [
+              119.52534,
+              23.62497
+            ],
+            [
+              119.506246,
+              23.625518
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.497623,
+              23.38679
+            ],
+            [
+              119.495159,
+              23.349982
+            ],
+            [
+              119.516717,
+              23.349982
+            ],
+            [
+              119.497623,
+              23.38679
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.557369,
+              23.666634
+            ],
+            [
+              119.608492,
+              23.620035
+            ],
+            [
+              119.615268,
+              23.661153
+            ],
+            [
+              119.586318,
+              23.675952
+            ],
+            [
+              119.557369,
+              23.666634
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.066706,
+              25.6247
+            ],
+            [
+              122.087032,
+              25.61067
+            ],
+            [
+              122.092575,
+              25.639268
+            ],
+            [
+              122.066706,
+              25.6247
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.468013,
+              22.67687
+            ],
+            [
+              121.474788,
+              22.643734
+            ],
+            [
+              121.513592,
+              22.631582
+            ],
+            [
+              121.514824,
+              22.676318
+            ],
+            [
+              121.468013,
+              22.67687
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.510513,
+              22.086972
+            ],
+            [
+              121.507433,
+              22.048704
+            ],
+            [
+              121.533918,
+              22.022076
+            ],
+            [
+              121.594281,
+              21.995443
+            ],
+            [
+              121.604752,
+              22.022631
+            ],
+            [
+              121.575186,
+              22.037055
+            ],
+            [
+              121.575802,
+              22.0842
+            ],
+            [
+              121.510513,
+              22.086972
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              122.097503,
+              25.499987
+            ],
+            [
+              122.110438,
+              25.465952
+            ],
+            [
+              122.122141,
+              25.495666
+            ],
+            [
+              122.097503,
+              25.499987
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.421247,
+              23.216949
+            ],
+            [
+              119.436029,
+              23.186146
+            ],
+            [
+              119.453275,
+              23.216399
+            ],
+            [
+              119.421247,
+              23.216949
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              120.355011,
+              22.327439
+            ],
+            [
+              120.395663,
+              22.342385
+            ],
+            [
+              120.383344,
+              22.355669
+            ],
+            [
+              120.355011,
+              22.327439
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 81e4,
+      name: "香港特别行政区",
+      center: [
+        114.173355,
+        22.320048
+      ],
+      centroid: [
+        114.134357,
+        22.377366
+      ],
+      childrenNum: 18,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 32,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              114.031778,
+              22.503923
+            ],
+            [
+              114.000981,
+              22.491206
+            ],
+            [
+              113.977575,
+              22.45692
+            ],
+            [
+              113.918445,
+              22.418199
+            ],
+            [
+              113.920293,
+              22.367845
+            ],
+            [
+              113.951706,
+              22.355116
+            ],
+            [
+              113.956633,
+              22.359543
+            ],
+            [
+              113.980039,
+              22.366185
+            ],
+            [
+              114.026234,
+              22.34792
+            ],
+            [
+              113.955401,
+              22.298649
+            ],
+            [
+              113.969568,
+              22.321349
+            ],
+            [
+              113.898119,
+              22.308615
+            ],
+            [
+              113.889496,
+              22.271514
+            ],
+            [
+              113.8433,
+              22.229418
+            ],
+            [
+              113.84946,
+              22.191188
+            ],
+            [
+              113.899351,
+              22.215568
+            ],
+            [
+              113.935691,
+              22.205041
+            ],
+            [
+              113.981271,
+              22.229972
+            ],
+            [
+              113.996669,
+              22.206149
+            ],
+            [
+              114.026234,
+              22.229418
+            ],
+            [
+              114.004676,
+              22.239389
+            ],
+            [
+              114.02993,
+              22.263207
+            ],
+            [
+              114.034857,
+              22.300864
+            ],
+            [
+              114.069966,
+              22.326885
+            ],
+            [
+              114.121089,
+              22.320795
+            ],
+            [
+              114.145726,
+              22.300864
+            ],
+            [
+              114.120473,
+              22.272068
+            ],
+            [
+              114.164821,
+              22.226648
+            ],
+            [
+              114.200545,
+              22.232188
+            ],
+            [
+              114.203009,
+              22.206703
+            ],
+            [
+              114.265835,
+              22.200608
+            ],
+            [
+              114.248588,
+              22.274837
+            ],
+            [
+              114.262139,
+              22.294773
+            ],
+            [
+              114.284929,
+              22.263761
+            ],
+            [
+              114.313262,
+              22.264315
+            ],
+            [
+              114.315726,
+              22.299203
+            ],
+            [
+              114.315726,
+              22.299756
+            ],
+            [
+              114.278153,
+              22.328546
+            ],
+            [
+              114.283081,
+              22.386661
+            ],
+            [
+              114.322501,
+              22.385554
+            ],
+            [
+              114.323117,
+              22.385554
+            ],
+            [
+              114.323733,
+              22.385001
+            ],
+            [
+              114.323733,
+              22.384447
+            ],
+            [
+              114.356994,
+              22.340171
+            ],
+            [
+              114.394566,
+              22.361757
+            ],
+            [
+              114.385327,
+              22.41156
+            ],
+            [
+              114.406269,
+              22.432582
+            ],
+            [
+              114.406269,
+              22.433688
+            ],
+            [
+              114.376088,
+              22.436454
+            ],
+            [
+              114.325581,
+              22.479041
+            ],
+            [
+              114.278769,
+              22.435901
+            ],
+            [
+              114.220255,
+              22.427603
+            ],
+            [
+              114.205473,
+              22.449729
+            ],
+            [
+              114.23319,
+              22.466875
+            ],
+            [
+              114.2529,
+              22.445304
+            ],
+            [
+              114.340979,
+              22.50337
+            ],
+            [
+              114.309566,
+              22.497288
+            ],
+            [
+              114.28924,
+              22.52272
+            ],
+            [
+              114.263987,
+              22.541515
+            ],
+            [
+              114.263371,
+              22.541515
+            ],
+            [
+              114.260291,
+              22.547595
+            ],
+            [
+              114.232574,
+              22.528801
+            ],
+            [
+              114.232574,
+              22.539857
+            ],
+            [
+              114.222719,
+              22.553122
+            ],
+            [
+              114.166052,
+              22.559201
+            ],
+            [
+              114.156813,
+              22.543726
+            ],
+            [
+              114.095219,
+              22.534329
+            ],
+            [
+              114.082285,
+              22.512216
+            ],
+            [
+              114.031778,
+              22.503923
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.142647,
+              22.213906
+            ],
+            [
+              114.123553,
+              22.238836
+            ],
+            [
+              114.120473,
+              22.177888
+            ],
+            [
+              114.154965,
+              22.177888
+            ],
+            [
+              114.166668,
+              22.205041
+            ],
+            [
+              114.142647,
+              22.213906
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.305871,
+              22.372273
+            ],
+            [
+              114.313878,
+              22.340724
+            ],
+            [
+              114.332972,
+              22.353455
+            ],
+            [
+              114.305255,
+              22.372826
+            ],
+            [
+              114.305871,
+              22.372273
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.320037,
+              22.381127
+            ],
+            [
+              114.323733,
+              22.384447
+            ],
+            [
+              114.323733,
+              22.385001
+            ],
+            [
+              114.323117,
+              22.385554
+            ],
+            [
+              114.322501,
+              22.385554
+            ],
+            [
+              114.319421,
+              22.382234
+            ],
+            [
+              114.320037,
+              22.38168
+            ],
+            [
+              114.320037,
+              22.381127
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.305871,
+              22.369506
+            ],
+            [
+              114.305871,
+              22.372273
+            ],
+            [
+              114.305255,
+              22.372826
+            ],
+            [
+              114.305871,
+              22.369506
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.315726,
+              22.299203
+            ],
+            [
+              114.316958,
+              22.298649
+            ],
+            [
+              114.316342,
+              22.30031
+            ],
+            [
+              114.315726,
+              22.299756
+            ],
+            [
+              114.315726,
+              22.299203
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.319421,
+              22.382234
+            ],
+            [
+              114.320037,
+              22.381127
+            ],
+            [
+              114.320037,
+              22.38168
+            ],
+            [
+              114.319421,
+              22.382234
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.372392,
+              22.32301
+            ],
+            [
+              114.373008,
+              22.323564
+            ],
+            [
+              114.372392,
+              22.323564
+            ],
+            [
+              114.372392,
+              22.32301
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              114.323733,
+              22.297541
+            ],
+            [
+              114.324349,
+              22.297541
+            ],
+            [
+              114.323733,
+              22.298095
+            ],
+            [
+              114.323733,
+              22.297541
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      adcode: 82e4,
+      name: "澳门特别行政区",
+      center: [
+        113.54909,
+        22.198951
+      ],
+      centroid: [
+        113.566988,
+        22.159307
+      ],
+      childrenNum: 8,
+      level: "province",
+      parent: {
+        adcode: 1e5
+      },
+      subFeatureIndex: 33,
+      acroutes: [
+        1e5
+      ]
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              113.554425,
+              22.107489
+            ],
+            [
+              113.6037,
+              22.132438
+            ],
+            [
+              113.575983,
+              22.194513
+            ],
+            [
+              113.558736,
+              22.212244
+            ],
+            [
+              113.53841,
+              22.209473
+            ],
+            [
+              113.534715,
+              22.174009
+            ],
+            [
+              113.554425,
+              22.142416
+            ],
+            [
+              113.554425,
+              22.107489
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              113.586453,
+              22.201162
+            ],
+            [
+              113.575983,
+              22.201162
+            ],
+            [
+              113.575983,
+              22.194513
+            ],
+            [
+              113.586453,
+              22.201162
+            ]
+          ]
+        ]
+      ]
+    }
+  },
+  {
+    type: "Feature",
+    properties: {
+      name: "",
+      adchar: "JD",
+      adcode: "100000_JD"
+    },
+    geometry: {
+      type: "MultiPolygon",
+      coordinates: [
+        [
+          [
+            [
+              122.51865306,
+              23.46078502
+            ],
+            [
+              122.79861399,
+              24.57367379
+            ],
+            [
+              122.79889322,
+              24.57678999
+            ],
+            [
+              122.79819583,
+              24.57983997
+            ],
+            [
+              122.79659008,
+              24.58252516
+            ],
+            [
+              122.79423315,
+              24.58458272
+            ],
+            [
+              122.79135575,
+              24.58581125
+            ],
+            [
+              122.78823955,
+              24.58609049
+            ],
+            [
+              122.78518957,
+              24.5853931
+            ],
+            [
+              122.78250438,
+              24.58378734
+            ],
+            [
+              122.78044682,
+              24.58143041
+            ],
+            [
+              122.77921829,
+              24.57855302
+            ],
+            [
+              122.49925737,
+              23.46566424
+            ],
+            [
+              122.49897813,
+              23.46254804
+            ],
+            [
+              122.49967552,
+              23.45949807
+            ],
+            [
+              122.50128127,
+              23.45681287
+            ],
+            [
+              122.5036382,
+              23.45475531
+            ],
+            [
+              122.5065156,
+              23.45352678
+            ],
+            [
+              122.50963181,
+              23.45324755
+            ],
+            [
+              122.51268178,
+              23.45394494
+            ],
+            [
+              122.51536697,
+              23.45555069
+            ],
+            [
+              122.51742454,
+              23.45790762
+            ],
+            [
+              122.51865306,
+              23.46078502
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              121.17202617,
+              20.8054593
+            ],
+            [
+              121.90938804,
+              21.68743347
+            ],
+            [
+              121.9109946,
+              21.69011818
+            ],
+            [
+              121.91169291,
+              21.69316794
+            ],
+            [
+              121.91141462,
+              21.69628423
+            ],
+            [
+              121.91018696,
+              21.699162
+            ],
+            [
+              121.9081301,
+              21.70151955
+            ],
+            [
+              121.9054454,
+              21.70312611
+            ],
+            [
+              121.90239563,
+              21.70382443
+            ],
+            [
+              121.89927934,
+              21.70354613
+            ],
+            [
+              121.89640158,
+              21.70231847
+            ],
+            [
+              121.89404403,
+              21.70026162
+            ],
+            [
+              121.15668216,
+              20.81828744
+            ],
+            [
+              121.1550756,
+              20.81560273
+            ],
+            [
+              121.15437729,
+              20.81255297
+            ],
+            [
+              121.15465558,
+              20.80943668
+            ],
+            [
+              121.15588324,
+              20.80655891
+            ],
+            [
+              121.1579401,
+              20.80420136
+            ],
+            [
+              121.1606248,
+              20.8025948
+            ],
+            [
+              121.16367457,
+              20.80189649
+            ],
+            [
+              121.16679085,
+              20.80217478
+            ],
+            [
+              121.16966862,
+              20.80340244
+            ],
+            [
+              121.17202617,
+              20.8054593
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.47366172,
+              18.00707291
+            ],
+            [
+              120.02569734,
+              19.02403788
+            ],
+            [
+              120.02674143,
+              19.02698721
+            ],
+            [
+              120.02682302,
+              19.03011484
+            ],
+            [
+              120.02593412,
+              19.0331146
+            ],
+            [
+              120.02416175,
+              19.03569286
+            ],
+            [
+              120.02167941,
+              19.03759723
+            ],
+            [
+              120.01873007,
+              19.03864132
+            ],
+            [
+              120.01560245,
+              19.03872291
+            ],
+            [
+              120.01260269,
+              19.03783401
+            ],
+            [
+              120.01002443,
+              19.03606165
+            ],
+            [
+              120.00812005,
+              19.0335793
+            ],
+            [
+              119.45608443,
+              18.01661433
+            ],
+            [
+              119.45504035,
+              18.01366499
+            ],
+            [
+              119.45495876,
+              18.01053737
+            ],
+            [
+              119.45584765,
+              18.00753761
+            ],
+            [
+              119.45762002,
+              18.00495935
+            ],
+            [
+              119.46010237,
+              18.00305497
+            ],
+            [
+              119.4630517,
+              18.00201089
+            ],
+            [
+              119.46617933,
+              18.0019293
+            ],
+            [
+              119.46917909,
+              18.0028182
+            ],
+            [
+              119.47175735,
+              18.00459056
+            ],
+            [
+              119.47366172,
+              18.00707291
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              119.0726757,
+              15.04098494
+            ],
+            [
+              119.0726757,
+              16.04388528
+            ],
+            [
+              119.07218626,
+              16.04697545
+            ],
+            [
+              119.07076587,
+              16.04976313
+            ],
+            [
+              119.06855355,
+              16.05197545
+            ],
+            [
+              119.06576587,
+              16.05339584
+            ],
+            [
+              119.0626757,
+              16.05388528
+            ],
+            [
+              119.05958553,
+              16.05339584
+            ],
+            [
+              119.05679784,
+              16.05197545
+            ],
+            [
+              119.05458553,
+              16.04976313
+            ],
+            [
+              119.05316513,
+              16.04697545
+            ],
+            [
+              119.0526757,
+              16.04388528
+            ],
+            [
+              119.0526757,
+              15.04105889
+            ],
+            [
+              119.0521839,
+              15.00781004
+            ],
+            [
+              119.05262758,
+              15.00471297
+            ],
+            [
+              119.05400659,
+              15.00190458
+            ],
+            [
+              119.05618595,
+              14.99965979
+            ],
+            [
+              119.05895232,
+              14.99819832
+            ],
+            [
+              119.06203491,
+              14.99766324
+            ],
+            [
+              119.06513198,
+              14.99810691
+            ],
+            [
+              119.06794036,
+              14.99948592
+            ],
+            [
+              119.07018516,
+              15.00166528
+            ],
+            [
+              119.07164663,
+              15.00443165
+            ],
+            [
+              119.07218171,
+              15.00751424
+            ],
+            [
+              119.0726746,
+              15.04083704
+            ],
+            [
+              119.0726757,
+              15.04098494
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              118.68646749,
+              11.18959191
+            ],
+            [
+              118.52518702,
+              10.91547751
+            ],
+            [
+              118.52404181,
+              10.91256595
+            ],
+            [
+              118.52385237,
+              10.909443
+            ],
+            [
+              118.52463726,
+              10.90641436
+            ],
+            [
+              118.52631962,
+              10.9037765
+            ],
+            [
+              118.5287348,
+              10.90178762
+            ],
+            [
+              118.53164636,
+              10.90064241
+            ],
+            [
+              118.53476931,
+              10.90045298
+            ],
+            [
+              118.53779795,
+              10.90123786
+            ],
+            [
+              118.54043581,
+              10.90292022
+            ],
+            [
+              118.54242469,
+              10.9053354
+            ],
+            [
+              118.70409227,
+              11.18010771
+            ],
+            [
+              118.70476212,
+              11.18147468
+            ],
+            [
+              118.87431591,
+              11.606662
+            ],
+            [
+              118.87459939,
+              11.60747236
+            ],
+            [
+              118.98894963,
+              11.98573108
+            ],
+            [
+              118.98937534,
+              11.98883067
+            ],
+            [
+              118.9888224,
+              11.99191011
+            ],
+            [
+              118.98734492,
+              11.99466796
+            ],
+            [
+              118.98508753,
+              11.99683427
+            ],
+            [
+              118.98227119,
+              11.99819697
+            ],
+            [
+              118.9791716,
+              11.99862269
+            ],
+            [
+              118.97609216,
+              11.99806975
+            ],
+            [
+              118.97333431,
+              11.99659227
+            ],
+            [
+              118.97116801,
+              11.99433487
+            ],
+            [
+              118.9698053,
+              11.99151854
+            ],
+            [
+              118.85557939,
+              11.6136711
+            ],
+            [
+              118.68646749,
+              11.18959191
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              115.54466883,
+              7.14672265
+            ],
+            [
+              116.2504858,
+              7.979279
+            ],
+            [
+              116.25211077,
+              7.98195261
+            ],
+            [
+              116.25283001,
+              7.9849975
+            ],
+            [
+              116.25257312,
+              7.98811563
+            ],
+            [
+              116.25136525,
+              7.99100176
+            ],
+            [
+              116.24932463,
+              7.99337338
+            ],
+            [
+              116.24665102,
+              7.99499834
+            ],
+            [
+              116.24360613,
+              7.99571758
+            ],
+            [
+              116.240488,
+              7.99546069
+            ],
+            [
+              116.23760187,
+              7.99425282
+            ],
+            [
+              116.23523025,
+              7.99221221
+            ],
+            [
+              115.52941328,
+              7.15965587
+            ],
+            [
+              115.52778832,
+              7.15698226
+            ],
+            [
+              115.52706908,
+              7.15393736
+            ],
+            [
+              115.52732596,
+              7.15081924
+            ],
+            [
+              115.52853383,
+              7.1479331
+            ],
+            [
+              115.53057445,
+              7.14556148
+            ],
+            [
+              115.53324806,
+              7.14393652
+            ],
+            [
+              115.53629295,
+              7.14321728
+            ],
+            [
+              115.53941108,
+              7.14347417
+            ],
+            [
+              115.54229721,
+              7.14468204
+            ],
+            [
+              115.54466883,
+              7.14672265
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              112.30705249,
+              3.53487257
+            ],
+            [
+              111.78690114,
+              3.41687263
+            ],
+            [
+              111.78399583,
+              3.41571167
+            ],
+            [
+              111.78159146,
+              3.41370973
+            ],
+            [
+              111.77992341,
+              3.41106279
+            ],
+            [
+              111.77915495,
+              3.40802995
+            ],
+            [
+              111.77936129,
+              3.40490807
+            ],
+            [
+              111.78052226,
+              3.40200275
+            ],
+            [
+              111.78252419,
+              3.39959839
+            ],
+            [
+              111.78517113,
+              3.39793033
+            ],
+            [
+              111.78820398,
+              3.39716187
+            ],
+            [
+              111.79132585,
+              3.39736822
+            ],
+            [
+              112.31181658,
+              3.51544515
+            ],
+            [
+              112.31248917,
+              3.51562254
+            ],
+            [
+              112.52147408,
+              3.5785908
+            ],
+            [
+              112.52281386,
+              3.57910186
+            ],
+            [
+              112.85206367,
+              3.73256867
+            ],
+            [
+              112.85465776,
+              3.7343178
+            ],
+            [
+              112.85658437,
+              3.73678292
+            ],
+            [
+              112.85765492,
+              3.73972276
+            ],
+            [
+              112.85776462,
+              3.74284952
+            ],
+            [
+              112.85690272,
+              3.74585715
+            ],
+            [
+              112.8551536,
+              3.74845124
+            ],
+            [
+              112.85268847,
+              3.75037785
+            ],
+            [
+              112.84974864,
+              3.7514484
+            ],
+            [
+              112.84662187,
+              3.75155809
+            ],
+            [
+              112.84361424,
+              3.7506962
+            ],
+            [
+              112.51501594,
+              3.59753306
+            ],
+            [
+              112.30705249,
+              3.53487257
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              108.26055972,
+              6.08912451
+            ],
+            [
+              108.29013305,
+              6.01266273
+            ],
+            [
+              108.29170425,
+              6.00995718
+            ],
+            [
+              108.29403462,
+              6.00786957
+            ],
+            [
+              108.29689603,
+              6.00660426
+            ],
+            [
+              108.3000084,
+              6.00628511
+            ],
+            [
+              108.30306706,
+              6.00694335
+            ],
+            [
+              108.30577262,
+              6.00851455
+            ],
+            [
+              108.30786022,
+              6.01084492
+            ],
+            [
+              108.30912553,
+              6.01370633
+            ],
+            [
+              108.30944469,
+              6.0168187
+            ],
+            [
+              108.30878645,
+              6.01987736
+            ],
+            [
+              108.279563,
+              6.09543449
+            ],
+            [
+              108.25611734,
+              6.22752625
+            ],
+            [
+              108.21679964,
+              6.53816468
+            ],
+            [
+              108.21876335,
+              6.94964057
+            ],
+            [
+              108.24419535,
+              7.07390742
+            ],
+            [
+              108.24433543,
+              7.07703297
+            ],
+            [
+              108.24350281,
+              7.08004883
+            ],
+            [
+              108.24177899,
+              7.0826598
+            ],
+            [
+              108.2393327,
+              7.08461028
+            ],
+            [
+              108.23640341,
+              7.08570936
+            ],
+            [
+              108.23327786,
+              7.08584944
+            ],
+            [
+              108.230262,
+              7.08501682
+            ],
+            [
+              108.22765103,
+              7.083293
+            ],
+            [
+              108.22570055,
+              7.08084671
+            ],
+            [
+              108.22460147,
+              7.07791743
+            ],
+            [
+              108.19897125,
+              6.95268198
+            ],
+            [
+              108.1987683,
+              6.95072469
+            ],
+            [
+              108.19679674,
+              6.53760583
+            ],
+            [
+              108.19687578,
+              6.53630242
+            ],
+            [
+              108.23630689,
+              6.22476797
+            ],
+            [
+              108.23638164,
+              6.22427602
+            ],
+            [
+              108.26004031,
+              6.09098419
+            ],
+            [
+              108.26055972,
+              6.08912451
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              110.12822847,
+              11.36894451
+            ],
+            [
+              110.05553696,
+              11.25335394
+            ],
+            [
+              110.05430621,
+              11.25047749
+            ],
+            [
+              110.05402458,
+              11.2473615
+            ],
+            [
+              110.05471962,
+              11.24431099
+            ],
+            [
+              110.05632331,
+              11.24162456
+            ],
+            [
+              110.05867865,
+              11.23956519
+            ],
+            [
+              110.0615551,
+              11.23833444
+            ],
+            [
+              110.06467109,
+              11.23805281
+            ],
+            [
+              110.0677216,
+              11.23874785
+            ],
+            [
+              110.07040803,
+              11.24035153
+            ],
+            [
+              110.07246741,
+              11.24270688
+            ],
+            [
+              110.14541497,
+              11.35870461
+            ],
+            [
+              110.14588682,
+              11.35954163
+            ],
+            [
+              110.20700505,
+              11.48128846
+            ],
+            [
+              110.20728377,
+              11.48189306
+            ],
+            [
+              110.25854422,
+              11.60358735
+            ],
+            [
+              110.25901765,
+              11.60499559
+            ],
+            [
+              110.30436343,
+              11.7826124
+            ],
+            [
+              110.30456934,
+              11.78364161
+            ],
+            [
+              110.32822801,
+              11.94571326
+            ],
+            [
+              110.32832827,
+              11.94685414
+            ],
+            [
+              110.33424294,
+              12.14159753
+            ],
+            [
+              110.33424553,
+              12.14210167
+            ],
+            [
+              110.33227398,
+              12.24038351
+            ],
+            [
+              110.33172267,
+              12.24346324
+            ],
+            [
+              110.33024665,
+              12.24622187
+            ],
+            [
+              110.3279904,
+              12.24838938
+            ],
+            [
+              110.32517479,
+              12.24975358
+            ],
+            [
+              110.32207543,
+              12.25018094
+            ],
+            [
+              110.3189957,
+              12.24962962
+            ],
+            [
+              110.31623706,
+              12.2481536
+            ],
+            [
+              110.31406956,
+              12.24589736
+            ],
+            [
+              110.31270536,
+              12.24308175
+            ],
+            [
+              110.312278,
+              12.23998238
+            ],
+            [
+              110.3142445,
+              12.14195265
+            ],
+            [
+              110.3083549,
+              11.94803461
+            ],
+            [
+              110.28485499,
+              11.78705054
+            ],
+            [
+              110.23982347,
+              11.61066468
+            ],
+            [
+              110.18898148,
+              11.48996382
+            ],
+            [
+              110.12822847,
+              11.36894451
+            ]
+          ]
+        ],
+        [
+          [
+            [
+              109.82951587,
+              15.22896754
+            ],
+            [
+              109.84522534,
+              15.15316562
+            ],
+            [
+              109.84633168,
+              15.15023907
+            ],
+            [
+              109.84828823,
+              15.14779763
+            ],
+            [
+              109.85090347,
+              15.14608029
+            ],
+            [
+              109.85392139,
+              15.14525516
+            ],
+            [
+              109.85704658,
+              15.145403
+            ],
+            [
+              109.85997314,
+              15.14650935
+            ],
+            [
+              109.86241457,
+              15.1484659
+            ],
+            [
+              109.86413191,
+              15.15108113
+            ],
+            [
+              109.86495704,
+              15.15409906
+            ],
+            [
+              109.8648092,
+              15.15722425
+            ],
+            [
+              109.84903675,
+              15.23333003
+            ],
+            [
+              109.84889209,
+              15.23393326
+            ],
+            [
+              109.78974541,
+              15.45068337
+            ],
+            [
+              109.7892391,
+              15.45210582
+            ],
+            [
+              109.69066131,
+              15.67432448
+            ],
+            [
+              109.6900529,
+              15.67548445
+            ],
+            [
+              109.59147511,
+              15.83677407
+            ],
+            [
+              109.59116145,
+              15.8372556
+            ],
+            [
+              109.53201478,
+              15.92259221
+            ],
+            [
+              109.53166592,
+              15.92306523
+            ],
+            [
+              109.30888011,
+              16.20725797
+            ],
+            [
+              109.30658844,
+              16.20938798
+            ],
+            [
+              109.30375073,
+              16.21070558
+            ],
+            [
+              109.30064474,
+              16.21108179
+            ],
+            [
+              109.29757451,
+              16.21047978
+            ],
+            [
+              109.29484059,
+              16.20895848
+            ],
+            [
+              109.29271057,
+              16.20666681
+            ],
+            [
+              109.29139298,
+              16.2038291
+            ],
+            [
+              109.29101677,
+              16.20072311
+            ],
+            [
+              109.29161878,
+              16.19765288
+            ],
+            [
+              109.29314007,
+              16.19491896
+            ],
+            [
+              109.51574449,
+              15.91095759
+            ],
+            [
+              109.57455994,
+              15.82609887
+            ],
+            [
+              109.67264555,
+              15.66561455
+            ],
+            [
+              109.77065019,
+              15.44468789
+            ],
+            [
+              109.82951587,
+              15.22896754
+            ]
+          ]
+        ]
+      ]
+    }
+  }
+];
+const chinaMap = {
+  type,
+  features
+};
+setupProdMockServer();
+echarts4.registerMap("china", chinaMap);
+const app = createApp(App);
+HwcClient.configure({
+  ...config.hwcConfig,
+  accessKey: "",
+  secretKey: ""
+});
+app.use(router);
+app.use(pinia);
+app.use(i18n({ locale: "zhCN" }));
+app.use(globalComponents);
+app.use(directive);
+app.mount("#app");
+export {
+  $props as $,
+  index$19 as A,
+  Button as B,
+  Checkbox as C,
+  index$1a as D,
+  index$18 as E,
+  Footer as F,
+  useAppStore as G,
+  HwcClient as H,
+  Input as I,
+  extend$4 as J,
+  index$E as K,
+  LOCALE_OPTIONS as L,
+  KEY_CODE as M,
+  Tooltip as N,
+  index$W as O,
+  getDomNode as P,
+  addClass as Q,
+  Radio as R,
+  removeClass as S,
+  TINYModal as T,
+  merge$2 as U,
+  ActionSheet as V,
+  Popover as W,
+  index$14 as X,
+  t$2 as Y,
+  index$11 as Z,
+  _export_sfc as _,
+  setup as a,
+  fillChar as a$,
+  index$12 as a0,
+  appProperties as a1,
+  CheckboxGroup as a2,
+  directive$1 as a3,
+  useDefer as a4,
+  isVue2 as a5,
+  isNumber$2 as a6,
+  clickoutside_default as a7,
+  format$3 as a8,
+  guid$1 as a9,
+  Tree$2 as aA,
+  index$X as aB,
+  index$S as aC,
+  DATEPICKER as aD,
+  isDateObject as aE,
+  isDate$2 as aF,
+  formatDate as aG,
+  getDateWithNewTimezone as aH,
+  getLocalTimezone as aI,
+  getStrTimezone$1 as aJ,
+  parseDate$1 as aK,
+  toDate$1 as aL,
+  getWeekNumber as aM,
+  prevDate as aN,
+  nextDate as aO,
+  isDate$1 as aP,
+  clearMilliseconds as aQ,
+  clearTime as aR,
+  prevMonth as aS,
+  nextMonth as aT,
+  prevYear as aU,
+  nextYear as aV,
+  modifyTime as aW,
+  modifyWithTimeString as aX,
+  modifyDate as aY,
+  changeYearMonthAndClampDate as aZ,
+  timeWithinRange as a_,
+  CollapseTransition as aa,
+  index$1c as ab,
+  index$C as ac,
+  capitalize as ad,
+  POSITION as ae,
+  debounce_default as af,
+  random$1 as ag,
+  KeepAlive as ah,
+  getUserData as ai,
+  isNull$2 as aj,
+  VALIDATE_STATE as ak,
+  omitText as al,
+  parseVnode as am,
+  getObj as an,
+  isKorean$1 as ao,
+  find$1 as ap,
+  isEqual as aq,
+  isEmptyObject as ar,
+  getDataset as as,
+  browser_default as at,
+  BROWSER_NAME as au,
+  index$y as av,
+  vue_popper_default as aw,
+  isObject$5 as ax,
+  typeOf as ay,
+  index$J as az,
+  $prefix as b,
+  extractTimeFormat as b0,
+  extractDateFormat as b1,
+  DATE as b2,
+  limitTimeRange as b3,
+  getRangeHours as b4,
+  getRangeMinutes as b5,
+  once as b6,
+  getFirstDayOfMonth as b7,
+  getDayCountOfMonth as b8,
+  getStartDateOfMonth as b9,
+  index$R as bA,
+  tryToCurrency as bB,
+  tryToDecimal as bC,
+  tryToInt as bD,
+  toFileSize as bE,
+  truncate as bF,
+  toRate as bG,
+  toBoolValue as bH,
+  toDateStr as bI,
+  log$1 as bJ,
+  hasOwn$1 as bK,
+  isFunction$2 as bL,
+  isNullOrEmpty as bM,
+  getLength as bN,
+  hasClass as ba,
+  range as bb,
+  getDayCountOfYear as bc,
+  language as bd,
+  isBrowser as be,
+  toObject as bf,
+  throttle_default as bg,
+  index$D as bh,
+  isPlainObject$1 as bi,
+  isRegExp$2 as bj,
+  setupComponent as bk,
+  getStyle$1 as bl,
+  index$I as bm,
+  $install as bn,
+  isVnode as bo,
+  mergeClass as bp,
+  resolveTheme as bq,
+  emitter$1 as br,
+  resolveMode as bs,
+  useBreakpoint as bt,
+  index$M as bu,
+  index$L as bv,
+  log as bw,
+  isDisplayNone as bx,
+  toDecimal as by,
+  popper_default as bz,
+  $setup as c,
+  defineComponent as d,
+  popup_manager_default as e,
+  off as f,
+  index$H as g,
+  createComponent as h,
+  index$13 as i,
+  index$17 as j,
+  h as k,
+  useLocale as l,
+  _imports_0$1 as m,
+  Layout as n,
+  on as o,
+  props as p,
+  axios$1 as q,
+  registerUser as r,
+  svg as s,
+  ListType as t,
+  useUserStore as u,
+  index$U as v,
+  copyArray as w,
+  xss as x,
+  __spreadProps as y,
+  __spreadValues as z
+};
diff --git a/admin-website/src/main/resources/static/assets/index10.css b/admin-website/src/main/resources/static/assets/index10.css
new file mode 100644
index 0000000..eb32faa
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index10.css
@@ -0,0 +1,26 @@
+[data-v-6e9a77c8] .tiny-tree-menu {
+  width: 250px;
+}
+[data-v-6e9a77c8] .tiny-tree-menu::before {
+  border-right: none;
+}
+[data-v-6e9a77c8] .tiny-tree-menu .tiny-tree > div {
+  margin: 3px 0;
+}
+[data-v-6e9a77c8] .tiny-tree-menu .tiny-tree .tree-node-name {
+  border-left: 2px solid transparent !important;
+}
+[data-v-6e9a77c8] 
+    .tiny-tree-menu
+      .tiny-tree
+      .tiny-tree-node.is-current
+      > .tiny-tree-node__content
+      .tree-node-name
+      .tiny-svg
+   {
+  fill: var(--ti-tree-menu-node-current-color);
+}
+[data-v-6e9a77c8] .tiny-collapse-item__header {
+  background-color: var(--ti-common-color-bg-light-normal);
+  color: var(--ti-common-color-text-highlight);
+}
diff --git a/admin-website/src/main/resources/static/assets/index10.js b/admin-website/src/main/resources/static/assets/index10.js
new file mode 100644
index 0000000..478ed51
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index10.js
@@ -0,0 +1,12 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const index_vue_vue_type_style_index_0_scoped_6e9a77c8_lang = "";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6e9a77c8"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index11.css b/admin-website/src/main/resources/static/assets/index11.css
new file mode 100644
index 0000000..40303f4
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index11.css
@@ -0,0 +1,54 @@
+[data-v-b595ccc3] .tiny-select {
+  width: 380px;
+}
+.container[data-v-74df977c] {
+  height: 100%;
+}
+.container-form[data-v-74df977c] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  height: calc(100% - 60px);
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.base-card[data-v-74df977c] {
+  flex: 1 1 auto;
+  margin: 8px 10px;
+  padding: 22px 20px 60px;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 8px 8px rgba(169, 174, 184, 0.05);
+}
+.base-card .card-tip[data-v-74df977c] {
+  padding-left: 40px;
+  font-size: 12px;
+  font-weight: normal;
+  text-align: left;
+  color: #e37d29;
+  line-height: 18px;
+}
+.base-card .card-tip[data-v-74df977c] .tiny-scroll-text {
+  width: 100%;
+  background: #e6f7ff;
+}
+.base-card[data-v-74df977c] .tiny-collapse-item {
+  margin-bottom: 20px;
+}
+.base-card .frequency[data-v-74df977c] {
+  width: 200px;
+}
+.base-foot[data-v-74df977c] {
+  padding-top: 10px;
+}
+[data-v-74df977c] .tiny-button {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+[data-v-74df977c] .tiny-collapse-item__arrow.is-active {
+  fill: var(--ti-common-color-text-highlight);
+}
+[data-v-74df977c] .tiny-collapse-item__header svg {
+  fill: var(--ti-common-color-text-highlight);
+}
diff --git a/admin-website/src/main/resources/static/assets/index11.js b/admin-website/src/main/resources/static/assets/index11.js
new file mode 100644
index 0000000..ffb8da0
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index11.js
@@ -0,0 +1,1388 @@
+import { d as defineComponent, a8 as reactive, a9 as toRefs, r as ref, c as computed, u as openBlock, y as createBlock, H as withCtx, l as createVNode, W as unref, v as createElementBlock, N as renderList, M as Fragment, w as createBaseVNode, J as createTextVNode, E as toDisplayString, a0 as useI18n, j as onMounted, k as resolveComponent } from "./vue.js";
+import { I as Input, n as Layout, R as Radio, _ as _export_sfc, v as index$1, T as TINYModal, B as Button } from "./index.js";
+import { C as CollapseItem, a as Collapse } from "./index37.js";
+import { R as Row, C as Col, L as Loadings } from "./index31.js";
+import { g as getBaseData } from "./form.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import { S as Select, O as Option } from "./index34.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index35.js";
+const _sfc_main$7 = /* @__PURE__ */ defineComponent({
+  __name: "people-from",
+  props: {
+    projectData: Object,
+    peopleVis: Boolean
+  },
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      filterOptions: {}
+    });
+    const { filterOptions } = toRefs(state);
+    const peopleFormRef = ref();
+    const props = __props;
+    const { projectData, peopleVis } = toRefs(props);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rulesSelect = {
+      required: true,
+      message: "必选",
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        department: peopleVis.value ? [rulesType] : "",
+        rank: peopleVis.value ? [rulesSelect] : "",
+        person: peopleVis.value ? [rulesSelect] : ""
+      };
+    });
+    const peopleValid = () => {
+      let peopleValidate = false;
+      peopleFormRef.value.validate((valid) => {
+        peopleValidate = valid;
+      });
+      return peopleValidate;
+    };
+    const peopleReset = () => {
+      state.filterOptions = {};
+    };
+    __expose({
+      peopleValid,
+      peopleReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "peopleFormRef",
+            ref: peopleFormRef,
+            model: unref(filterOptions),
+            rules: rules.value,
+            "label-width": "120px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.type"),
+                        prop: "person"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: unref(filterOptions).person,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).person = $event),
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            multiple: ""
+                          }, {
+                            default: withCtx(() => {
+                              var _a;
+                              return [
+                                (openBlock(true), createElementBlock(Fragment, null, renderList((_a = unref(projectData)) == null ? void 0 : _a.person, (item) => {
+                                  return openBlock(), createBlock(unref(Option), {
+                                    key: item.value,
+                                    label: _ctx.$t(item.label),
+                                    value: item.value
+                                  }, null, 8, ["label", "value"]);
+                                }), 128))
+                              ];
+                            }),
+                            _: 1
+                          }, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.rank"),
+                        prop: "rank"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: unref(filterOptions).rank,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).rank = $event),
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            multiple: ""
+                          }, {
+                            default: withCtx(() => {
+                              var _a;
+                              return [
+                                (openBlock(true), createElementBlock(Fragment, null, renderList((_a = unref(projectData)) == null ? void 0 : _a.rank, (item) => {
+                                  return openBlock(), createBlock(unref(Option), {
+                                    key: item.value,
+                                    label: item.label,
+                                    value: item.value
+                                  }, null, 8, ["label", "value"]);
+                                }), 128))
+                              ];
+                            }),
+                            _: 1
+                          }, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.culture"),
+                        prop: "department"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).department,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(filterOptions).department = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.business")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).business,
+                            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(filterOptions).business = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _sfc_main$6 = /* @__PURE__ */ defineComponent({
+  __name: "objective-from",
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      filterOptions: {
+        culture: "1",
+        develop: "1",
+        effective: "1"
+      }
+    });
+    const { filterOptions } = toRefs(state);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        culture: [rulesType],
+        develop: [rulesType],
+        effective: [rulesType]
+      };
+    });
+    const objective = ref();
+    const objectiveReset = () => {
+      state.filterOptions = {
+        culture: "1",
+        develop: "1",
+        effective: "1"
+      };
+    };
+    __expose({
+      objectiveReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "objective",
+            ref: objective,
+            rules: rules.value,
+            mode: unref(filterOptions),
+            "responsive-layout": true,
+            "label-width": "120px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.culture"),
+                        prop: "culture"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).culture,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).culture = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.yes")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).culture,
+                              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).culture = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.no")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.develop"),
+                        prop: "develop"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).develop,
+                              "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(filterOptions).develop = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.developone")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).develop,
+                              "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(filterOptions).develop = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.developtwo")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.effective"),
+                        prop: "effective"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).effective,
+                              "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(filterOptions).effective = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.effectiveone")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).effective,
+                              "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(filterOptions).effective = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.effectivetwo")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).effective,
+                              "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(filterOptions).effective = $event),
+                              label: "3"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.effectivethree")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).effective,
+                              "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(filterOptions).effective = $event),
+                              label: "4"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.effectivefour")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["rules", "mode"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _hoisted_1$1 = { class: "frequency" };
+const _sfc_main$5 = /* @__PURE__ */ defineComponent({
+  __name: "plan-from",
+  props: {
+    projectData: Object,
+    planVis: Boolean
+  },
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      filterOptions: {
+        confirm: "1",
+        role: "1",
+        condition: "1",
+        staged: "1"
+      }
+    });
+    const { filterOptions } = toRefs(state);
+    const planFromRef = ref();
+    const props = __props;
+    const { projectData, planVis } = toRefs(props);
+    const rulesType = {
+      required: true,
+      message: "必选",
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        frequency: planVis.value ? [rulesType] : "",
+        confirm: planVis.value ? [rulesType] : "",
+        role: planVis.value ? [rulesType] : "",
+        condition: planVis.value ? [rulesType] : "",
+        staged: planVis.value ? [rulesType] : ""
+      };
+    });
+    const planValid = () => {
+      let planValidate = false;
+      planFromRef.value.validate((valid) => {
+        planValidate = valid;
+      });
+      return planValidate;
+    };
+    const planReset = () => {
+      state.filterOptions = {
+        confirm: "1",
+        role: "1",
+        condition: "1",
+        staged: "1"
+      };
+    };
+    __expose({
+      planValid,
+      planReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "planFromRef",
+            ref: planFromRef,
+            rules: rules.value,
+            model: unref(filterOptions),
+            "responsive-layout": true,
+            "label-width": "120px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.confirm"),
+                        prop: "confirm"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).confirm,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).confirm = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.yes")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).confirm,
+                              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).confirm = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.no")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.frequency"),
+                        prop: "frequency"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", _hoisted_1$1, [
+                            createVNode(unref(Select), {
+                              modelValue: unref(filterOptions).frequency,
+                              "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(filterOptions).frequency = $event),
+                              placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                              filterable: ""
+                            }, {
+                              default: withCtx(() => {
+                                var _a;
+                                return [
+                                  (openBlock(true), createElementBlock(Fragment, null, renderList((_a = unref(projectData)) == null ? void 0 : _a.frequency, (item) => {
+                                    return openBlock(), createBlock(unref(Option), {
+                                      key: item,
+                                      label: _ctx.$t(item),
+                                      value: item
+                                    }, null, 8, ["label", "value"]);
+                                  }), 128))
+                                ];
+                              }),
+                              _: 1
+                            }, 8, ["modelValue", "placeholder"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.role"),
+                        prop: "role"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).role,
+                              "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(filterOptions).role = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.roleone")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).role,
+                              "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(filterOptions).role = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.roletwo")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.condition"),
+                        prop: "condition"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).condition,
+                              "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(filterOptions).condition = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.conditionone")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).condition,
+                              "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(filterOptions).condition = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.conditiontwo")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).condition,
+                              "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(filterOptions).condition = $event),
+                              label: "3"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.conditionthree")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).condition,
+                              "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(filterOptions).condition = $event),
+                              label: "4"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.conditionfour")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.staged"),
+                        prop: "staged"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).staged,
+                              "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => unref(filterOptions).staged = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.stagedone")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).staged,
+                              "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => unref(filterOptions).staged = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.stagedtwo")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).staged,
+                              "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => unref(filterOptions).staged = $event),
+                              label: "3"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.stagedthree")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["rules", "model"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const planFrom_vue_vue_type_style_index_0_scoped_b595ccc3_lang = "";
+const planfrom = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-b595ccc3"]]);
+const _sfc_main$4 = /* @__PURE__ */ defineComponent({
+  __name: "evaluation-from",
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      filterOptions: {
+        wholeconfirm: "1",
+        overallevaluation: "1"
+      }
+    });
+    const { filterOptions } = toRefs(state);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        wholeconfirm: [rulesType],
+        overallevaluation: [rulesType]
+      };
+    });
+    const evaluationRef = ref();
+    const evaluationReset = () => {
+      state.filterOptions = {
+        wholeconfirm: "1",
+        overallevaluation: "1"
+      };
+    };
+    __expose({
+      evaluationReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "evaluationRef",
+            ref: evaluationRef,
+            rules: rules.value,
+            mode: unref(filterOptions),
+            "responsive-layout": true,
+            "label-width": "120px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.wholeconfirm"),
+                        prop: "wholeconfirm"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).wholeconfirm,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).wholeconfirm = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.yes")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).wholeconfirm,
+                              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).wholeconfirm = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.no")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.evaluation"),
+                        prop: "overallevaluation"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).overallevaluation,
+                              "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(filterOptions).overallevaluation = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.evaluationyes")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).overallevaluation,
+                              "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(filterOptions).overallevaluation = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.evaluationno")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["rules", "mode"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _sfc_main$3 = /* @__PURE__ */ defineComponent({
+  __name: "mentor-from",
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      filterOptions: {
+        mentor: "1"
+      }
+    });
+    const { filterOptions } = toRefs(state);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        mentor: [rulesType]
+      };
+    });
+    const mentorRef = ref();
+    const mentorReset = () => {
+      state.filterOptions = {
+        mentor: "1"
+      };
+    };
+    __expose({
+      mentorReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "mentorRef",
+            ref: mentorRef,
+            rules: rules.value,
+            mode: unref(filterOptions),
+            "responsive-layout": true,
+            "label-width": "220px",
+            "label-align": true,
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.mentor"),
+                        prop: "mentor"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).mentor,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).mentor = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.yes")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).mentor,
+                              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).mentor = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.no")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["rules", "mode"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  __name: "reminder-from",
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      filterOptions: {
+        reminder: "1"
+      }
+    });
+    const { filterOptions } = toRefs(state);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        reminder: [rulesType]
+      };
+    });
+    const reminderRef = ref();
+    const reminderReset = () => {
+      state.filterOptions = {
+        reminder: "1"
+      };
+    };
+    __expose({
+      reminderReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "reminderRef",
+            ref: reminderRef,
+            rules: rules.value,
+            mode: unref(filterOptions),
+            "responsive-layout": true,
+            "label-width": "120px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 8,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.label.reminder"),
+                        prop: "reminder"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).reminder,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).reminder = $event),
+                              label: "1"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.yes")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"]),
+                            createVNode(unref(Radio), {
+                              modelValue: unref(filterOptions).reminder,
+                              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).reminder = $event),
+                              label: "2"
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.no")), 1)
+                              ]),
+                              _: 1
+                            }, 8, ["modelValue"])
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["rules", "mode"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "home-from",
+  props: {
+    // eslint-disable-next-line vue/require-prop-types
+    projectData: []
+  },
+  setup(__props) {
+    const state = reactive({
+      filterOptions: {}
+    });
+    const { filterOptions } = toRefs(state);
+    const props = __props;
+    const { projectData } = toRefs(props);
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            "label-width": "120px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("baseForm.form.project"),
+                        prop: "department"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: unref(filterOptions).project,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).project = $event),
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            filterable: ""
+                          }, {
+                            default: withCtx(() => [
+                              (openBlock(true), createElementBlock(Fragment, null, renderList(unref(projectData), (item) => {
+                                return openBlock(), createBlock(unref(Option), {
+                                  key: item,
+                                  label: _ctx.$t(item),
+                                  value: item
+                                }, null, 8, ["label", "value"]);
+                              }), 128))
+                            ]),
+                            _: 1
+                          }, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          })
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "container-form" };
+const _hoisted_3 = { class: "base-card" };
+const _hoisted_4 = { class: "card-tip" };
+const _hoisted_5 = { class: "base-foot" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const state = reactive({
+      loading: null
+    });
+    const { t } = useI18n();
+    const peopleFormRef = ref();
+    const planFromRef = ref();
+    const objectiveRef = ref();
+    const evaluationRef = ref();
+    const mentorRef = ref();
+    const reminderRef = ref();
+    index$1();
+    const activeNames = [
+      "project",
+      "people",
+      "objectives",
+      "plan",
+      "evaluation",
+      "mentortitle",
+      "remindertitle"
+    ];
+    const peopleVis = ref(true);
+    const planVis = ref(true);
+    const projectData = reactive({
+      Project: [],
+      rank: [],
+      person: [],
+      frequency: []
+    });
+    const fetchData = async () => {
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("container"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getBaseData();
+        projectData.Project = data.Project;
+        projectData.rank = data.rank;
+        projectData.person = data.person;
+        projectData.frequency = data.frequency;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    function handleFormReset() {
+      peopleFormRef.value.peopleReset();
+      objectiveRef.value.objectiveReset();
+      planFromRef.value.planReset();
+      evaluationRef.value.evaluationReset();
+      mentorRef.value.mentorReset();
+      reminderRef.value.reminderReset();
+    }
+    function handleSubmit() {
+      const peopleValid = peopleFormRef.value.peopleValid();
+      const planValid = peopleFormRef.value.peopleValid();
+      if (peopleValid && planValid) {
+        TINYModal.message({
+          message: t("baseForm.form.submit.success"),
+          status: "success"
+        });
+      } else {
+        TINYModal.message({
+          message: t("baseForm.form.submit.error"),
+          status: "error"
+        });
+      }
+    }
+    const change = (val) => {
+      let peopleIndex = val.indexOf("people");
+      peopleIndex > -1 ? peopleVis.value = true : peopleVis.value = false;
+      let planIndex = val.indexOf("plan");
+      planIndex > -1 ? planVis.value = true : planVis.value = false;
+    };
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.form", "menu.form.base"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createVNode(unref(Collapse), {
+              modelValue: activeNames,
+              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeNames = $event),
+              onChange: change
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.project"),
+                  name: "project"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$1, {
+                      "project-data": projectData.Project
+                    }, null, 8, ["project-data"])
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.people"),
+                  name: "people"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$7, {
+                      ref_key: "peopleFormRef",
+                      ref: peopleFormRef,
+                      "project-data": projectData,
+                      "people-vis": peopleVis.value
+                    }, null, 8, ["project-data", "people-vis"])
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.Objectives"),
+                  name: "objectives"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$6, {
+                      ref_key: "objectiveRef",
+                      ref: objectiveRef
+                    }, null, 512)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.plan"),
+                  name: "plan"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(planfrom, {
+                      ref_key: "planFromRef",
+                      ref: planFromRef,
+                      "project-data": projectData,
+                      "plan-vis": planVis.value
+                    }, null, 8, ["project-data", "plan-vis"])
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.evaluation"),
+                  name: "evaluation"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$4, {
+                      ref_key: "evaluationRef",
+                      ref: evaluationRef
+                    }, null, 512)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.mentortitle"),
+                  name: "mentortitle"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$3, {
+                      ref_key: "mentorRef",
+                      ref: mentorRef
+                    }, null, 512),
+                    createBaseVNode("div", _hoisted_4, toDisplayString(_ctx.$t("baseForm.form.label.mentortip")), 1)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.remindertitle"),
+                  name: "remindertitle"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$2, {
+                      ref_key: "reminderRef",
+                      ref: reminderRef
+                    }, null, 512)
+                  ]),
+                  _: 1
+                }, 8, ["title"])
+              ]),
+              _: 1
+            }),
+            createBaseVNode("div", _hoisted_5, [
+              createVNode(unref(Button), {
+                type: "primary",
+                "native-type": "submit",
+                onClick: handleSubmit
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("baseForm.form.submit")), 1)
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Button), { onClick: handleFormReset }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("baseForm.form.cancel")), 1)
+                ]),
+                _: 1
+              })
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_74df977c_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-74df977c"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index12.css b/admin-website/src/main/resources/static/assets/index12.css
new file mode 100644
index 0000000..2085e85
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index12.css
@@ -0,0 +1,87 @@
+.tiny-transfer{--ti-transfer-font-size:var(--ti-common-font-size-1, 14px);--ti-transfer-buttons-padding-left:var(--ti-common-space-4x, 16px);--ti-transfer-buttons-padding-right:var(--ti-common-space-4x, 16px);--ti-transfer-buttons-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-buttons-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-buttons-defaultButton-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-buttons-defaultButton-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-buttons-defaultButton-margin-top:var(--ti-common-space-3x, 12px);--ti-transfer-buttons-defaultButton-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-buttons-margin-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-button-margin-left:auto;--ti-transfer-button-margin-right:auto;--ti-transfer-button-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-button-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-button-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-transfer-button-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-button-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-button-padding-top:var(--ti-common-space-2x, 8px);--ti-transfer-button-padding-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-transfer-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-transfer-button-disabled-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-transfer-button-disabled-line-height:1;--ti-transfer-first-button-margin-bottom:var(--ti-common-space-3x, 12px);--ti-transfer-panel-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-transfer-panel-body-height:260px;--ti-transfer-panel-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-panel-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-transfer-panel-item-height:30px;--ti-transfer-panel-item-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-transfer-panel-item-hover-text-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-transfer-panel-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-transfer-panel-filter-height:var(--ti-common-size-height-normal, 28px);--ti-transfer-panel-filter-font-size:var(--ti-common-font-size-base, 12px);--ti-transfer-panel-filter-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-transfer-panel-body-filter-height:calc(var(--ti-common-size-50x, 200px) + 16px);--ti-transfer-panel-body-padding-right:calc(var(--ti-common-space-1, 1px) + 1px);--ti-transfer-panel-body-footer-padding-bottom:var(--ti-common-space-10x, 40px);--ti-transfer-panel-body-footer-height:calc(100% - 40px);--ti-transfer-panel-width:var(--ti-common-size-50x, 200px);--ti-transfer-header-height:var(--ti-common-size-10x, 40px);--ti-transfer-header-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-transfer-header-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-header-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-transfer-header-span-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-transfer-header-font-size:var(--ti-common-font-size-base, 12px);--ti-transfer-header-sort-width:var(--ti-common-size-5x, 20px);--ti-transfer-header-sort-text-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-transfer-footer-height:var(--ti-common-size-10x, 40px);--ti-transfer-footer-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-transfer-footer-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-transfer-empty-height:var(--ti-common-size-height-minor);--ti-transfer-empty-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-transfer-panel-body-tree-height:100%;--ti-transfer-panel-body-tree-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-panel-body-tree-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-panel-body-tree-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-tree-padding-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-panel-body-tree-filter-height:calc(100% - 46px);--ti-transfer-panel-body-list-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-padding-left:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-padding-right:var(--ti-common-space-0, 0px);--ti-transfer-panel-body-list-padding-top:var(--ti-common-space-6, 6px);--ti-transfer-panel-body-list-padding-bottom:var(--ti-common-space-6, 6px);--ti-transfer-panel-body-filter-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-panel-item-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-panel-item-checkbox-padding-left:calc(var(--ti-common-space-5x, 20px) + 2px);--ti-transfer-panel-filter-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-padding-top:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-padding-bottom:var(--ti-common-space-2x, 8px);--ti-transfer-panel-filter-input-padding-right:calc(var(--ti-common-space-8x, 32px) - 2px);--ti-transfer-panel-filter-input-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-header-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-header-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-header-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-header-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-header-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-header-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-header-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-header-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-header-span-font-weight:var(--ti-common-font-weight-4, normal);--ti-transfer-header-sort-margin-right:var(--ti-common-space-2x, 8px);--ti-transfer-header-sort-border-radius:50%;--ti-transfer-footer-margin-left:var(--ti-common-space-0, 0px);--ti-transfer-footer-margin-right:var(--ti-common-space-0, 0px);--ti-transfer-footer-margin-top:var(--ti-common-space-0, 0px);--ti-transfer-footer-margin-bottom:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-left:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-right:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-footer-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-footer-checkbox-padding-left:var(--ti-common-space-5x, 20px);--ti-transfer-empty-padding-top:var(--ti-common-space-6, 6px);--ti-transfer-empty-padding-right:calc(var(--ti-common-space-4x, 16px) - 1px);--ti-transfer-empty-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-empty-padding-left:var(--ti-common-space-0, 0px);--ti-transfer-table-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-table-padding-top:var(--ti-common-space-0, 0px);--ti-transfer-table-padding-right:var(--ti-common-space-2x, 8px);--ti-transfer-table-padding-bottom:var(--ti-common-space-0, 0px);--ti-transfer-pager-padding-left:var(--ti-common-space-10, 10px);--ti-transfer-pager-padding-top:var(--ti-common-space-10, 10px);--ti-transfer-pager-padding-right:var(--ti-common-space-10, 10px);--ti-transfer-pager-padding-bottom:var(--ti-common-space-10, 10px);--ti-transfer-checkbox-label-padding-left:var(--ti-common-space-2x, 8px);--ti-transfer-button-width:30px;--ti-transfer-button-height:30px;--ti-transfer-svg-font-size:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--ti-transfer-font-size)}.tiny-transfer__buttons{padding-left:var(--ti-transfer-buttons-padding-left);padding-right:var(--ti-transfer-buttons-padding-right);padding-top:var(--ti-transfer-buttons-padding-top);padding-bottom:var(--ti-transfer-buttons-padding-bottom)}.tiny-transfer__buttons .defaultButton{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-transfer__buttons .defaultButton .tiny-button+.tiny-button{margin-left:var(--ti-transfer-buttons-defaultButton-margin-left)}.tiny-transfer__buttons .defaultButton+.tiny-button{margin-right:var(--ti-transfer-buttons-defaultButton-margin-right);margin-top:var(--ti-transfer-buttons-defaultButton-margin-top);margin-bottom:var(--ti-transfer-buttons-defaultButton-margin-bottom)}.tiny-transfer__buttons .tiny-button{min-width:auto;margin-left:var(--ti-transfer-buttons-margin-left);margin-right:var(--ti-transfer-buttons-margin-right);margin-top:var(--ti-transfer-buttons-margin-top);margin-bottom:var(--ti-transfer-buttons-margin-bottom)}.tiny-transfer__button{display:block;margin-left:var(--ti-transfer-button-margin-left);margin-right:var(--ti-transfer-button-margin-right);margin-top:var(--ti-transfer-button-margin-top);margin-bottom:var(--ti-transfer-button-margin-bottom);border-color:var(--ti-transfer-button-bg-color);background-color:var(--ti-transfer-button-bg-color);width:var(--ti-transfer-button-width);height:var(--ti-transfer-button-height);border-radius:var(--ti-transfer-button-border-radius);line-height:normal;padding-left:var(--ti-transfer-button-padding-left);padding-right:var(--ti-transfer-button-padding-right);padding-top:var(--ti-transfer-button-padding-top);padding-bottom:var(--ti-transfer-button-padding-bottom);text-overflow:clip}.tiny-transfer__button.is-with-texts{border-radius:var(--ti-transfer-button-border-radius);min-width:60px}.tiny-transfer__button.tiny-button:not(.is-circle) .tiny-svg{font-size:var(--ti-transfer-svg-font-size);margin-right:0}.tiny-transfer__button:first-child{margin-bottom:var(--ti-transfer-first-button-margin-bottom)}.tiny-transfer__button:nth-child(2){margin:0}.tiny-transfer__button i,.tiny-transfer__button span{font-size:var(--ti-transfer-font-size)}.tiny-transfer__button [class*=tiny-icon]+span{margin-left:0}.tiny-transfer .tiny-transfer__button.is-disabled,.tiny-transfer .tiny-transfer__button.is-disabled:hover{border:1px solid var(--ti-transfer-button-disabled-border-color);background-color:var(--ti-transfer-button-disabled-bg-color);color:var(--ti-transfer-button-disabled-text-color);line-height:var(--ti-transfer-button-disabled-line-height)}.tiny-transfer .tiny-transfer__button.is-disabled .tiny-svg,.tiny-transfer .tiny-transfer__button.is-disabled:hover .tiny-svg{fill:var(--ti-transfer-button-disabled-text-color)}.tiny-transfer-panel{border:1px solid var(--ti-transfer-panel-border-color);border-radius:var(--ti-transfer-panel-border-radius);overflow:hidden;background:var(--ti-transfer-panel-bg-color);width:var(--ti-transfer-panel-width);max-height:100%;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.tiny-transfer-panel__body{position:relative;height:var(--ti-transfer-panel-body-height);text-align:left;padding-right:var(--ti-transfer-panel-body-padding-right)}.tiny-transfer-panel__body.is-with-footer{padding-bottom:var(--ti-transfer-panel-body-footer-padding-bottom);height:var(--ti-transfer-panel-body-footer-height)}.tiny-transfer-panel__body .tiny-tree{height:var(--ti-transfer-panel-body-tree-height);padding-left:var(--ti-transfer-panel-body-tree-padding-left);padding-right:var(--ti-transfer-panel-body-tree-padding-right);padding-top:var(--ti-transfer-panel-body-tree-padding-top);padding-bottom:var(--ti-transfer-panel-body-tree-padding-bottom);overflow:auto}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar{width:8px;height:8px}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-track-piece{background:#fafafa}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:calc(8px / 2)}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-thumb:hover{background:#999}.tiny-transfer-panel__body .tiny-tree::-webkit-scrollbar-thumb:active{background:#999}.tiny-transfer-panel__body .tiny-transfer-panel__filter~.tiny-tree{height:var(--ti-transfer-panel-body-tree-filter-height)}.tiny-transfer-panel__list{margin-left:var(--ti-transfer-panel-body-list-margin-left);margin-right:var(--ti-transfer-panel-body-list-margin-right);margin-top:var(--ti-transfer-panel-body-list-margin-top);margin-bottom:var(--ti-transfer-panel-body-list-margin-bottom);padding-left:var(--ti-transfer-panel-body-list-padding-left);padding-right:var(--ti-transfer-panel-body-list-padding-right);padding-top:var(--ti-transfer-panel-body-list-padding-top);padding-bottom:var(--ti-transfer-panel-body-list-padding-bottom);list-style:none;height:var(--ti-transfer-panel-body-height);overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;display:block}.tiny-transfer-panel__list.tiny-checkbox-group{display:block}.tiny-transfer-panel__list.is-filterable{height:var(--ti-transfer-panel-body-filter-height);padding-top:var(--ti-transfer-panel-body-filter-padding-top);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-transfer-panel__list.is-filterable .tiny-transfer-panel__item{-ms-flex-negative:0;flex-shrink:0}}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar{width:8px;height:8px}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-track-piece{background:#fafafa}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:calc(8px / 2)}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-thumb:hover{background:#999}.tiny-transfer-panel .tiny-transfer-panel__list::-webkit-scrollbar-thumb:active{background:#999}.tiny-transfer-panel__item{line-height:var(--ti-transfer-panel-item-height);padding-left:var(--ti-transfer-panel-item-padding-left);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:all .5s;transition:all .5s}.tiny-transfer-panel__item+.tiny-transfer-panel__item{margin-left:0;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-transfer-panel__item.tiny-checkbox{color:var(--ti-transfer-panel-item-text-color);line-height:var(--ti-transfer-panel-item-height);margin:0;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-transfer-panel__item.tiny-checkbox.tiny-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:var(--ti-transfer-panel-item-checkbox-padding-left);line-height:var(--ti-transfer-panel-item-height)}.tiny-transfer-panel__item.tiny-checkbox .tiny-checkbox__input{line-height:1}.tiny-transfer-panel__item:hover{background:var(--ti-transfer-panel-item-hover-bg-color);color:var(--ti-transfer-panel-item-hover-text-color)}.tiny-transfer-panel__item.is-disabled:hover{background:0}.tiny-transfer-panel__item.tiny-checkbox__input{position:absolute;top:7px}.tiny-transfer-panel__filter{text-align:center;padding-left:var(--ti-transfer-panel-filter-padding-left);padding-right:var(--ti-transfer-panel-filter-padding-right);padding-top:var(--ti-transfer-panel-filter-padding-top);padding-bottom:var(--ti-transfer-panel-filter-padding-bottom);-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.tiny-transfer-panel__filter .tiny-input__inner{height:var(--ti-transfer-panel-filter-height);line-height:var(--ti-transfer-panel-filter-height);width:100%;font-size:var(--ti-transfer-panel-filter-font-size);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--ti-transfer-panel-filter-border-radius);padding-right:var(--ti-transfer-panel-filter-input-padding-right);padding-left:var(--ti-transfer-panel-filter-input-padding-left)}.tiny-transfer-panel__filter .tiny-input__icon{margin-left:5px}.tiny-transfer-panel__filter .tiny-icon-circle-close{cursor:pointer}.tiny-transfer-panel .tiny-transfer-panel__header{height:var(--ti-transfer-header-height);line-height:var(--ti-transfer-header-height);background:var(--ti-transfer-header-bg-color);margin-left:var(--ti-transfer-header-margin-left);margin-right:var(--ti-transfer-header-margin-right);margin-top:var(--ti-transfer-header-margin-top);margin-bottom:var(--ti-transfer-header-margin-bottom);padding-left:var(--ti-transfer-header-padding-left);padding-right:var(--ti-transfer-header-padding-right);padding-top:var(--ti-transfer-header-padding-top);padding-bottom:var(--ti-transfer-header-padding-bottom);border-bottom:1px solid var(--ti-transfer-header-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--ti-transfer-header-text-color);position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-transfer-panel .tiny-transfer-panel__header .tiny-checkbox{width:100%;line-height:1;text-align:left}.tiny-transfer-panel .tiny-transfer-panel__header .tiny-checkbox .tiny-checkbox__label{font-size:var(--ti-transfer-header-font-size);color:var(--ti-transfer-header-text-color);font-weight:400;width:calc(100% - 38px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-transfer-panel .tiny-transfer-panel__header .tiny-checkbox .tiny-checkbox__label span{position:absolute;right:0;color:var(--ti-transfer-header-span-text-color);font-size:var(--ti-transfer-header-font-size);font-weight:var(--ti-transfer-header-span-font-weight)}.tiny-transfer-panel .tiny-transfer-panel__header .headSort{position:absolute;left:50%;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-transfer-panel .tiny-transfer-panel__header .headSort div{width:var(--ti-transfer-header-sort-width);height:var(--ti-transfer-header-sort-width);line-height:var(--ti-transfer-header-sort-width);margin-right:var(--ti-transfer-header-sort-margin-right);text-align:center;border:1px solid;border-radius:var(--ti-transfer-header-sort-border-radius);color:var(--ti-transfer-header-sort-text-color);display:inline-block;cursor:pointer}.tiny-transfer-panel .tiny-transfer-panel__header .headSort div i{width:calc(var(--ti-transfer-header-sort-width) - 2px);height:calc(var(--ti-transfer-header-sort-width) - 2px);display:block}.tiny-transfer-panel .tiny-transfer-panel__footer{height:var(--ti-transfer-footer-height);background:var(--ti-transfer-footer-bg-color);margin-left:var(--ti-transfer-footer-margin-left);margin-right:var(--ti-transfer-footer-margin-right);margin-top:var(--ti-transfer-footer-margin-top);margin-bottom:var(--ti-transfer-footer-margin-bottom);padding-left:var(--ti-transfer-footer-padding-left);padding-right:var(--ti-transfer-footer-padding-right);padding-top:var(--ti-transfer-footer-padding-top);padding-bottom:var(--ti-transfer-footer-padding-bottom);border-top:1px solid var(--ti-transfer-footer-border-color);position:absolute;bottom:0;left:0;width:100%;z-index:1}.tiny-transfer-panel .tiny-transfer-panel__footer::after{display:inline-block;content:'';height:100%;vertical-align:middle}.tiny-transfer-panel .tiny-transfer-panel__footer .tiny-checkbox{padding-left:var(--ti-transfer-footer-checkbox-padding-left)}.tiny-transfer-panel .tiny-transfer-panel__empty{position:absolute;width:100%;top:calc(50% - 33px);margin:0;height:var(--ti-transfer-empty-height);line-height:var(--ti-transfer-empty-height);padding-left:var(--ti-transfer-empty-padding-left);padding-right:var(--ti-transfer-empty-padding-right);padding-top:var(--ti-transfer-empty-padding-top);padding-bottom:var(--ti-transfer-empty-padding-bottom);color:var(--ti-transfer-empty-text-color);text-align:center}.tiny-transfer-panel.transferGrid{width:600px}.tiny-transfer-panel.transferGrid .tiny-transfer-panel__body{height:100%}.tiny-transfer-panel.transferGrid .tiny-table.simple{width:100%;padding-left:var(--ti-transfer-table-padding-left);padding-right:var(--ti-transfer-table-padding-right);padding-top:var(--ti-transfer-table-padding-top);padding-bottom:var(--ti-transfer-table-padding-bottom);height:400px;overflow-y:auto}.tiny-transfer-panel.transferGrid .tiny-table.simple table{width:100%}.tiny-transfer-panel.transferGrid .tiny-pager{padding-left:var(--ti-transfer-pager-padding-left);padding-top:var(--ti-transfer-pager-padding-top);padding-bottom:var(--ti-transfer-pager-padding-bottom);padding-right:var(--ti-transfer-pager-padding-right)}.tiny-transfer-panel .tiny-checkbox__label{padding-left:var(--ti-transfer-checkbox-label-padding-left)}[data-v-2ab0c792] .tiny-row {
+  margin-bottom: 15px;
+}
+.contain[data-v-14c87db0] {
+  display: flex;
+  justify-content: start;
+}
+#container[data-v-4fd609cb] {
+  padding: 10px 50px;
+}
+#container div[data-v-4fd609cb] {
+  padding-top: 20px;
+}
+#container .targetStyle[data-v-4fd609cb] {
+  margin-bottom: 10px;
+}
+h3[data-v-4fd609cb] {
+  color: #252b3a;
+  font-weight: 700;
+  font-size: 15px;
+  text-align: left;
+}
+.container-step[data-v-dcaaabb9] {
+  display: flex;
+  flex-direction: column;
+  align-content: center;
+  justify-content: center;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: auto;
+  word-break: break-all;
+}
+.container-step .general-card[data-v-dcaaabb9] {
+  display: flex;
+  flex-direction: column;
+  align-content: center;
+  justify-content: flex-start;
+  margin: 0 10px;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.container-step .general-card .general-top[data-v-dcaaabb9] {
+  display: flex;
+  justify-content: space-around;
+  margin: 10px -10px;
+  background-image: url('/ui/admin/assets/step-head.png');
+  background-size: cover;
+}
+.container-step .general-card .general-contain[data-v-dcaaabb9] {
+  height: 180px;
+  margin-bottom: 20px;
+  color: #252b3a;
+  font-weight: 600;
+  font-size: 15px;
+  background-color: #fff;
+  border-radius: 8px;
+}
+.container-step .general-card .general-contain div[data-v-dcaaabb9]:first-child {
+  margin: 25px 55px;
+  font-size: 15px;
+}
+.container-step .general-card .general-contain[data-v-dcaaabb9] .tiny-steps-normal {
+  width: 1200px;
+  margin-left: -80px;
+}
+.container-step .general-card .general-foot[data-v-dcaaabb9] {
+  background-color: #fff;
+  border-radius: 8px;
+}
+.container-step .general-btn[data-v-dcaaabb9] {
+  display: flex;
+  justify-content: start;
+  min-width: 180px;
+  margin-left: 210px;
+  padding-bottom: 20px;
+}
+.container-step .general-btn[data-v-dcaaabb9] .tiny-button {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+@media (max-width: 1208px) {
+.general-top[data-v-dcaaabb9] {
+    height: 250px !important;
+}
+}
diff --git a/admin-website/src/main/resources/static/assets/index12.js b/admin-website/src/main/resources/static/assets/index12.js
new file mode 100644
index 0000000..fbd3880
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index12.js
@@ -0,0 +1,2258 @@
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, k as resolveComponent, l as createVNode, H as withCtx, J as createTextVNode, E as toDisplayString, z as createCommentVNode, y as createBlock, A as normalizeClass, I as withDirectives, L as vShow, M as Fragment, N as renderList, P as withModifiers, F as mergeProps, S as toHandlers, B as resolveDynamicComponent, D as renderSlot, d as defineComponent$1, a9 as toRefs, a8 as reactive, a0 as useI18n, r as ref, c as computed, W as unref, j as onMounted, a2 as watch } from "./vue.js";
+import { s as svg, w as copyArray, y as __spreadProps, z as __spreadValues, d as defineComponent, b as $prefix, C as Checkbox, I as Input, A as index$4, D as index$5, a as setup, B as Button, E as index$8, p as props, $ as $props, c as $setup, n as Layout, T as TINYModal, _ as _export_sfc$2, G as useAppStore } from "./index.js";
+import { T as TimeLine } from "./index38.js";
+import { P as Pager, i as index$6, b as index$7, c as index$9, R as Row, C as Col, L as Loadings } from "./index31.js";
+import { a as getStepData } from "./form.js";
+import { D as DatePicker } from "./index36.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import { S as Select, O as Option } from "./index34.js";
+import { h as headtop } from "./head.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index35.js";
+var _hoisted_1$6 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$5 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "arrow-down_svg__st0",
+    d: "m13 17.7 5.4-5.4c.4-.4 1-.4 1.4 0 .4.4.4 1 0 1.4l-7.1 7.1c-.4.4-1 .4-1.4 0-.2-.2-.3-.5-.3-.8 0 .5.5 1 1 1s1-.4 1-1c0 .3-.1.5-.3.7-.4.4-1 .4-1.4 0l-7.1-7.1c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.4 5.4V4c0-.6.4-1 1-1s1 .4 1 1v13.7z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$5 = [_hoisted_2$5];
+function render$1(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$6, [].concat(_hoisted_3$5));
+}
+var ArrowDown = {
+  render: render$1
+};
+var index$3 = function index2() {
+  return svg({
+    name: "IconArrowDown",
+    component: ArrowDown
+  })();
+};
+var _hoisted_1$5 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$4 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "arrow-up_svg__st0",
+    d: "m11 6.3-5.4 5.4c-.4.4-1 .4-1.4 0-.4-.4-.4-1 0-1.4l7.1-7.1c.4-.4 1-.4 1.4 0l7.1 7.1c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L13 6.3V20c0 .6-.4 1-1 1s-1-.4-1-1V6.3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$4 = [_hoisted_2$4];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$5, [].concat(_hoisted_3$4));
+}
+var ArrowUp = {
+  render
+};
+var index$2 = function index22() {
+  return svg({
+    name: "IconArrowUp",
+    component: ArrowUp
+  })();
+};
+const getObj = (props2) => () => props2.data.reduce((o, cur) => (o[cur[props2.props.key]] = cur) && o, {});
+const getSourceData = ({ props: props2, Tree }) => () => {
+  if (props2.render && props2.render.plugin.name === Tree) {
+    return props2.data;
+  }
+  return props2.data.filter((item) => !props2.modelValue.includes(item[props2.props.key]));
+};
+const getFlatData = (data, hasChildren) => {
+  const nodes = [];
+  const getChild = (data2) => {
+    data2.forEach((node) => {
+      nodes.push(node);
+      if (node.children && node.children.length > 0) {
+        getChild(node.children);
+      }
+    });
+  };
+  getChild(data);
+  if (hasChildren) {
+    nodes.forEach((item) => {
+      if (item.children) {
+        delete item.children;
+      }
+    });
+  }
+  return nodes;
+};
+const getTargetData = ({
+  props: props2,
+  state,
+  Tree,
+  Table
+}) => () => {
+  if (props2.render && props2.render.plugin.name === Tree) {
+    const nodes = getFlatData(copyArray(props2.data), true);
+    const rightData = nodes.filter((item) => props2.modelValue.includes(item[props2.props.key]));
+    const sortAry = [];
+    props2.modelValue.forEach((value) => {
+      sortAry.push(rightData.filter((item) => item[props2.props.key] === value)[0]);
+    });
+    sortAry.flag = "sort";
+    return sortAry;
+  }
+  if (props2.targetOrder === "original") {
+    return props2.data.filter((item) => props2.modelValue.includes(item[props2.props.key]));
+  } else {
+    const data = props2.modelValue.reduce((arr, cur) => {
+      const val = state.dataObj[cur];
+      if (val) {
+        arr.push(val);
+      }
+      return arr;
+    }, []);
+    if (props2.render && props2.render.plugin.name === Table) {
+      data.flag = "table";
+    }
+    return data;
+  }
+};
+const onSourceCheckedChange = ({ emit, state }) => (val, movedKeys) => {
+  state.leftChecked = val;
+  if (movedKeys === void 0) {
+    return;
+  }
+  emit("left-check-change", val, movedKeys);
+};
+const onTargetCheckedChange = ({ emit, state }) => (val, movedKeys) => {
+  state.rightChecked = val;
+  if (movedKeys === void 0) {
+    return;
+  }
+  emit("right-check-change", val, movedKeys);
+};
+const addToLeft = ({ emit, props: props2, state }) => (value) => {
+  const change = () => {
+    state.isToLeft = true;
+    let currentValue = props2.modelValue.slice();
+    if (value === "all") {
+      state.rightChecked = state.rightData.map((item) => item[props2.props.key]);
+    }
+    state.rightChecked.forEach((item) => {
+      const index3 = currentValue.indexOf(item);
+      if (index3 > -1) {
+        currentValue.splice(index3, 1);
+      }
+    });
+    state.rightChecked = state.rightChecked.slice(0);
+    emit("update:modelValue", currentValue);
+    emit("change", currentValue, "left", state.rightChecked);
+  };
+  props2.beforeTransfer ? props2.beforeTransfer(change) : change();
+};
+const addToRight = ({
+  emit,
+  refs,
+  props: props2,
+  state,
+  Tree
+}) => (value) => {
+  const change = () => {
+    state.isToLeft = false;
+    let currentValue = props2.modelValue.slice();
+    const itemsToBeMoved = [];
+    const key = props2.props.key;
+    if (props2.render && props2.render.plugin.name === Tree) {
+      if (!props2.treeOp.checkStrictly) {
+        currentValue = refs.leftPanel.$refs.plugin.getCheckedKeys();
+      } else {
+        state.leftChecked.forEach((item) => !currentValue.includes(item) && currentValue.push(item));
+      }
+    } else {
+      if (value === "all") {
+        state.leftData.forEach((item) => {
+          const itemKey = item[key];
+          if (!props2.modelValue.includes(itemKey)) {
+            itemsToBeMoved.push(itemKey);
+          }
+        });
+        state.leftChecked = itemsToBeMoved.slice();
+      } else {
+        props2.data.forEach((item) => {
+          const itemKey = item[key];
+          if (state.leftChecked.includes(itemKey) && !props2.modelValue.includes(itemKey)) {
+            itemsToBeMoved.push(itemKey);
+          }
+        });
+      }
+      currentValue = props2.targetOrder === "unshift" ? itemsToBeMoved.concat(currentValue) : currentValue.concat(itemsToBeMoved);
+    }
+    state.rightDisabled = false;
+    emit("update:modelValue", currentValue);
+    emit("change", currentValue, "right", state.leftChecked);
+  };
+  props2.beforeTransfer ? props2.beforeTransfer(change) : change();
+};
+const clearQuery$1 = (refs) => (which) => {
+  if (which === "left") {
+    refs.leftPanel.state.query = "";
+  } else if (which === "right") {
+    refs.rightPanel.state.query = "";
+  }
+};
+const logicFun = ({ props: props2, emit, state }) => ({ event, isAdd, pullMode }) => {
+  let currentValue = props2.modelValue.slice();
+  let movedKeys = [];
+  if (pullMode) {
+    currentValue.splice(event.newIndex, 0, currentValue.splice(event.oldIndex, 1)[0]);
+  } else {
+    const key = isAdd ? state.targetData[event.oldIndex][props2.props.key] : state.sourceData[event.oldIndex][props2.props.key];
+    const index3 = isAdd ? state.rightChecked.indexOf(key) : state.leftChecked.indexOf(key);
+    const valueIndex = currentValue.indexOf(key);
+    if (isAdd) {
+      ~valueIndex && currentValue.splice(valueIndex, 1);
+    } else {
+      !~valueIndex && currentValue.splice(event.newIndex, 0, key);
+    }
+    if (~index3) {
+      isAdd ? state.rightChecked.splice(index3, 1) : state.leftChecked.splice(index3, 1);
+    }
+    movedKeys = [key];
+  }
+  state.rightChecked = state.rightChecked.slice(0);
+  emit("update:modelValue", currentValue);
+  emit("change", currentValue, "left", movedKeys);
+};
+const sortableEvent = ({
+  api: api2,
+  droppanel,
+  props: props2,
+  queryDom,
+  refs
+}) => () => {
+  if (props2.dropConfig) {
+    const leftPanel = refs.leftPanel.$el.querySelector(droppanel);
+    const Sortable = props2.dropConfig.plugin;
+    new Sortable(leftPanel, {
+      group: "sorting",
+      handle: queryDom,
+      sort: false,
+      filter: ".is-disabled",
+      onAdd(event) {
+        api2.logicFun({ event, isAdd: true });
+      },
+      onRemove(event) {
+        api2.logicFun({ event, isAdd: false });
+      }
+    });
+    const rightPanle = refs.rightPanel.$el.querySelector(droppanel);
+    new Sortable(rightPanle, {
+      group: "sorting",
+      handle: queryDom,
+      sort: true,
+      filter: ".is-disabled",
+      onUpdate(event) {
+        if (event.pullMode) {
+          return;
+        }
+        api2.logicFun({ event, pullMode: "sort" });
+      }
+    });
+  }
+};
+const getLeftCheckedData = ({ props: props2, state }) => () => state.sourceData.filter((item) => !item[props2.props.disabled]);
+const getRightCheckedData = ({ props: props2, state }) => () => state.targetData.filter((item) => !item[props2.props.disabled]);
+const api$1 = ["state", "onSourceCheckedChange", "onTargetCheckedChange", "addToLeft", "addToRight", "clearQuery"];
+const initState$1 = ({ reactive: reactive2, computed: computed2, api: api2, props: props2, h, slots }) => reactive2({
+  leftChecked: [],
+  rightChecked: [],
+  rightData: computed2(() => api2.getRightCheckedData()),
+  leftData: computed2(() => api2.getLeftCheckedData()),
+  dataObj: computed2(() => api2.getObj()),
+  sourceData: computed2(() => api2.getSourceData()),
+  targetData: computed2(() => api2.getTargetData()),
+  hasButtonTexts: computed2(() => props2.buttonTexts.length === 2),
+  isToLeft: false,
+  optionRender: computed2(() => (option) => {
+    if (props2.renderContent) {
+      return props2.renderContent(h, option);
+    }
+    if (slots.default) {
+      return slots.default({ option });
+    }
+    return h("span", option[props2.props.label] || option[props2.props.key]);
+  })
+});
+const renderless$1 = (props2, { computed: computed2, onMounted: onMounted2, reactive: reactive2, h }, { $prefix: $prefix2, emit, refs, parent, slots }) => {
+  const api2 = {};
+  const Tree = $prefix2 + "Tree";
+  const Table = $prefix2 + "Table";
+  const state = initState$1({ reactive: reactive2, computed: computed2, api: api2, props: props2, h, slots });
+  const { DROPPANEL, TRANSFERPANEL } = parent.$constants;
+  Object.assign(api2, {
+    state,
+    getObj: getObj(props2),
+    clearQuery: clearQuery$1(refs),
+    getSourceData: getSourceData({ props: props2, Tree }),
+    addToLeft: addToLeft({ emit, props: props2, state }),
+    getLeftCheckedData: getLeftCheckedData({ props: props2, state }),
+    getRightCheckedData: getRightCheckedData({ props: props2, state }),
+    addToRight: addToRight({ emit, refs, props: props2, state, Tree }),
+    onTargetCheckedChange: onTargetCheckedChange({ emit, state }),
+    onSourceCheckedChange: onSourceCheckedChange({ emit, state }),
+    logicFun: logicFun({ props: props2, emit, state }),
+    getTargetData: getTargetData({ props: props2, state, Tree, Table }),
+    sortableEvent: sortableEvent({ api: api2, droppanel: DROPPANEL, props: props2, queryDom: TRANSFERPANEL, refs })
+  });
+  onMounted2(api2.sortableEvent);
+  return api2;
+};
+const showFilterData = (data, sign) => {
+  const getChild = (data2, sign2) => data2.filter((node) => {
+    if (node.children && node.children.length > 0) {
+      node.children = getChild(node.children, sign2);
+    }
+    return node[sign2];
+  });
+  return getChild(data, sign);
+};
+const getFilterData = ({ api: api2, props: props2, state, Table, Tree }) => () => {
+  if (state.renderType === Table) {
+    let tableData = [];
+    if (props2.filterMethod) {
+      tableData = props2.data.filter((item) => props2.filterMethod(state.query, item));
+    } else {
+      tableData = props2.data;
+    }
+    state.pagerTotal = tableData;
+    if (props2.showPager) {
+      const pageSize = state.sizes || 10;
+      const totalPageCount = Math.ceil(tableData.length / pageSize);
+      if (state.internalPage > totalPageCount) {
+        api2.handlePageChange(totalPageCount);
+      }
+      if (totalPageCount > 0 && state.internalPage === 0) {
+        state.internalPage = 1;
+      }
+      if (totalPageCount > 0 && state.currentPage === 0) {
+        state.currentPage = 1;
+      }
+      return tableData.slice((state.internalPage - 1) * pageSize, pageSize * state.internalPage);
+    } else {
+      return tableData;
+    }
+  } else if (state.renderType === Tree) {
+    return showFilterData(api2.getFilterTreeData(copyArray(props2.data)), "visible");
+  } else {
+    return props2.data.filter((item) => {
+      if (typeof props2.filterMethod === "function") {
+        return props2.filterMethod(state.query, item);
+      } else {
+        const label = item[state.labelProp] || item[state.keyProp].toString();
+        return label.toLowerCase().includes(state.query.toLowerCase());
+      }
+    });
+  }
+};
+const getCheckableData = ({ api: api2, state, Tree }) => () => {
+  if (state.renderType === Tree) {
+    return api2.getTreeCheckableData(state.filteredData);
+  } else {
+    return state.filteredData.filter((item) => !item[state.disabledProp]);
+  }
+};
+const getCheckedSummary = ({ props: props2, state, Tree }) => () => {
+  const checkedLength = state.checked.length;
+  let dataLength = 0;
+  if (state.renderType === Tree) {
+    dataLength = getFlatData(copyArray(props2.data)).length;
+  } else {
+    dataLength = props2.data.length;
+  }
+  const { noChecked, hasChecked } = props2.format;
+  if (noChecked && hasChecked) {
+    return checkedLength > 0 ? hasChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength) : noChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength);
+  } else {
+    return `${checkedLength} / ${dataLength}`;
+  }
+};
+const getDeteminate = (state) => () => state.checked.length > 0 && state.checked.length < state.checkableData.length;
+const watchChecked = ({ api: api2, emit, state }) => ({ value, oldvalue }) => {
+  api2.updateAllChecked();
+  if (state.checkChangeByUser) {
+    const movedKeys = value.concat(oldvalue).filter((v) => !value.includes(v) || !oldvalue.includes(v));
+    emit("checked-change", value, movedKeys);
+  } else {
+    emit("checked-change", value);
+    state.checkChangeByUser = true;
+  }
+};
+const watchData = ({ api: api2, props: props2, state, Tree }) => (value) => {
+  state.pagerTotal = value;
+  const checked = [];
+  if (state.renderType === Tree && !props2.treeOp.checkStrictly) {
+    state.checked = api2.getStrictData(state.filteredData).keys;
+  } else {
+    const filteredDataKeys = state.filteredData.map((item) => item[state.keyProp]);
+    state.checked.forEach((item) => {
+      if (filteredDataKeys.includes(item)) {
+        checked.push(item);
+      }
+    });
+    state.checkChangeByUser = false;
+    state.checked = checked;
+  }
+};
+const watchDefaultCheckded = ({ api: api2, props: props2, state, Tree }) => ({ value, oldvalue }) => {
+  if (oldvalue && value.length === oldvalue.length && value.every((item) => oldvalue.includes(item))) {
+    return;
+  }
+  if (state.renderType === Tree && !props2.treeOp.checkStrictly) {
+    if (!state.render) {
+      return;
+    }
+    state.render.defaultCheckedKeys = state.checked = api2.getStrictData(state.filteredData).keys;
+  } else {
+    const checked = [];
+    const checkableDataKeys = state.checkableData.map((item) => item[state.keyProp]);
+    value.forEach((item) => {
+      if (checkableDataKeys.includes(item)) {
+        checked.push(item);
+      }
+    });
+    state.checkChangeByUser = false;
+    state.checked = checked;
+  }
+};
+const updateAllChecked = ({ state, Table, Tree }) => () => {
+  const checkableDataKeys = state.checkableData.map((item) => item[state.keyProp]);
+  state.allChecked = checkableDataKeys && checkableDataKeys.length > 0 && checkableDataKeys.every((item) => state.checked.includes(item));
+  if (state.renderType === Table || state.renderType === Tree) {
+    state.render.data = state.filteredData;
+    if (state.renderType === Tree) {
+      state.render.defaultCheckedKeys = state.checked;
+    } else {
+      const pageCheckedKeys = [];
+      state.filteredData.forEach((data) => {
+        state.checked.includes(data[state.keyProp]) && pageCheckedKeys.push(data[state.keyProp]);
+      });
+      state.render.defaultChecked = pageCheckedKeys;
+    }
+  }
+};
+const handleAllCheckedChange = ({ state, Table, Tree, vm }) => (value) => {
+  state.checked = value ? state.checkableData.map((item) => item[state.keyProp]) : [];
+  if (state.renderType === Table) {
+    state.render.defaultChecked = state.checked;
+  } else if (state.renderType === Tree) {
+    state.checked.length !== 0 ? state.render.defaultCheckedKeys = state.checked : vm.$refs.plugin.setCheckedKeys(state.checked);
+  }
+};
+const clearQuery = (state) => () => {
+  if (state.inputIcon === "circle-close") {
+    state.query = "";
+  }
+};
+const checkedEvent = (state) => (value, disabled) => {
+  if (disabled) {
+    return;
+  }
+  const index3 = state.checked.indexOf(value);
+  let tmpArray = [...state.checked];
+  if (~index3) {
+    tmpArray.splice(index3, 1);
+    state.checked = tmpArray;
+  } else {
+    tmpArray.push(value);
+    state.checked = tmpArray;
+  }
+};
+const setPosition = ({ parent, state }) => (trend, event) => {
+  event.stopPropagation();
+  event.preventDefault();
+  const checkedKey = [];
+  const uncheckedKey = [];
+  state.filteredData.forEach((item) => {
+    if (~state.checked.indexOf(item[state.keyProp])) {
+      checkedKey.push(item[state.keyProp]);
+    } else {
+      uncheckedKey.push(item[state.keyProp]);
+    }
+  });
+  const result = trend === "up" ? [...checkedKey, ...uncheckedKey] : [...uncheckedKey, ...checkedKey];
+  parent.$parent.$emit("update:modelValue", result);
+};
+const selectChange = (state) => (keys) => state.checked = keys;
+const handlePageChange = (state) => (currentPage) => {
+  state.pageChangeData = true;
+  state.internalPage = currentPage;
+  state.currentPage = currentPage;
+};
+const getFilterTreeData = ({ props: props2, state }) => (data) => {
+  const getChild = (data2, query) => {
+    data2.forEach((node) => {
+      const label = node[state.labelProp];
+      if (typeof props2.treeOp.filterNodeMethod === "function") {
+        const result = props2.treeOp.filterNodeMethod(state.query, node);
+        if (typeof result !== "boolean") {
+          node.visible = true;
+        } else {
+          node.visible = result;
+        }
+      } else {
+        node.visible = label.toLowerCase().includes(query.toLowerCase());
+      }
+      if (node.children && node.children.length > 0) {
+        getChild(node.children, query);
+      }
+      if (!node.visible && node.children && node.children.length) {
+        let allHidden = true;
+        allHidden = !node.children.some((child) => child.visible);
+        node.visible = allHidden === false;
+      }
+    });
+  };
+  getChild(data, state.query);
+  return data;
+};
+const getTreeCheckableData = (state) => (data) => {
+  const nodes = [];
+  const getChild = (data2) => {
+    data2.forEach((node) => {
+      !node[state.disabledProp] && nodes.push(node);
+      if (node.children && node.children.length > 0) {
+        getChild(node.children);
+      }
+    });
+  };
+  getChild(data);
+  return nodes;
+};
+const getStrictData = ({ props: props2, state }) => (data) => {
+  const keys = [];
+  const strictData = (data2, isStrict) => {
+    data2.forEach((node) => {
+      if (props2.defaultChecked.includes(node[state.keyProp])) {
+        node.isCheckable = true;
+        keys.push(node[state.keyProp]);
+      } else {
+        node.isCheckable = isStrict;
+        isStrict && keys.push(node[state.keyProp]);
+      }
+      if (node.children && node.children.length > 0) {
+        strictData(node.children, node.isCheckable);
+      }
+    });
+  };
+  strictData(data, false);
+  return { data, keys };
+};
+const sizesChange = (state) => (sizes) => state.sizes = sizes;
+const setExpandCache = (state) => (node, expand) => {
+  const { expanded, keyProp } = state;
+  const index3 = state.expanded.indexOf(node[keyProp]);
+  if (expand) {
+    index3 === -1 && expanded.push(node[keyProp]);
+  } else {
+    index3 !== -1 && expanded.splice(index3, 1);
+  }
+};
+const api = [
+  "markRaw",
+  "toRaw",
+  "state",
+  "check",
+  "sizesChange",
+  "clearQuery",
+  "handleAllCheckedChange",
+  "checkedEvent",
+  "setPosition",
+  "selectChange",
+  "handlePageChange"
+];
+const initState = ({ reactive: reactive2, props: props2, parent, computed: computed2, api: api2, slots }) => {
+  const state = reactive2({
+    query: "",
+    checked: [],
+    allChecked: false,
+    inputHover: false,
+    internalPage: props2.pagerOp.pageVO.currentPage || 1,
+    pagerTotal: 0,
+    pageChangeData: parent.state.isToLeft,
+    currentPage: props2.pagerOp.pageVO.currentPage || 1,
+    sizes: props2.pagerOp && props2.pagerOp.pageVO.pageSize,
+    render: {},
+    checkChangeByUser: true,
+    filteredData: computed2(() => api2.getFilterData()),
+    checkableData: computed2(() => api2.getCheckableData()),
+    checkedSummary: computed2(() => api2.getCheckedSummary()),
+    isIndeterminate: computed2(() => api2.getDeteminate()),
+    hasNoMatch: computed2(() => state.query.length > 0 && state.filteredData.length === 0),
+    inputIcon: computed2(() => state.query.length > 0 && state.inputHover ? "circle-close" : "search"),
+    labelProp: computed2(() => props2.props.label || "label"),
+    keyProp: computed2(() => props2.props.key || "key"),
+    disabledProp: computed2(() => props2.props.disabled || "disabled"),
+    childrenProp: computed2(() => props2.treeOp && props2.treeOp.props && props2.treeOp.props.childern || "children"),
+    hasFooter: computed2(() => (!!parent.slots["left-footer"] || !!parent.slots["right-footer"]) && !!slots.default),
+    renderType: computed2(() => props2.render && props2.render.plugin.name),
+    expanded: []
+  });
+  return state;
+};
+const initStateRender = ({ reactive: reactive2, state, props: props2, api: api2 }) => reactive2(__spreadProps(__spreadValues({
+  keys: state.keyProp,
+  data: [],
+  defaultChecked: state.checked,
+  defaultExpandedKeys: state.expanded,
+  columns: props2.columns
+}, props2.treeOp), {
+  on: {
+    "checked-change": (selected, isAll) => {
+      api2.selectChange(selected, isAll);
+    },
+    check: (data, { checkedKeys }) => {
+      state.checked = checkedKeys;
+    },
+    "node-expand": (node) => api2.setExpandCache(node, true),
+    "node-collapse": (node) => api2.setExpandCache(node, false)
+  }
+}));
+const initWatcher = ({ watch: watch2, state, api: api2, props: props2, Table }) => {
+  watch2(
+    () => state.checked,
+    (value, oldvalue) => api2.watchChecked({ value, oldvalue })
+  );
+  watch2(
+    () => props2.pagerOp.pageVO.currentPage,
+    (value) => {
+      state.currentPage = value;
+    },
+    { deep: true, immediate: true }
+  );
+  watch2(() => props2.data, api2.watchData, { immediate: true });
+  watch2(() => state.checkableData, api2.updateAllChecked);
+  watch2(
+    () => props2.defaultChecked,
+    (value, oldvalue) => api2.watchDefaultCheckded({ value, oldvalue }),
+    { immediate: true }
+  );
+  watch2(
+    () => props2.isToLeft,
+    () => {
+      if (state.renderType === Table) {
+        state.internalPage = 1;
+        state.currentPage = 1;
+        state.render.data = state.filteredData;
+      }
+    }
+  );
+};
+const renderless = (props2, { computed: computed2, reactive: reactive2, watch: watch2, toRaw }, { $prefix: $prefix2, emit, parent, vm, slots }) => {
+  const api2 = {};
+  const Table = $prefix2 + "Table";
+  const Tree = $prefix2 + "Tree";
+  const state = initState({ reactive: reactive2, props: props2, parent, computed: computed2, api: api2, slots });
+  Object.assign(api2, {
+    state,
+    toRaw,
+    sizesChange: sizesChange(state),
+    setPosition: setPosition({ parent, state }),
+    selectChange: selectChange(state),
+    handlePageChange: handlePageChange(state),
+    clearQuery: clearQuery(state),
+    checkedEvent: checkedEvent(state),
+    getDeteminate: getDeteminate(state),
+    updateAllChecked: updateAllChecked({ state, Table, Tree }),
+    handleAllCheckedChange: handleAllCheckedChange({ state, Table, Tree, vm }),
+    getCheckedSummary: getCheckedSummary({ props: props2, state, Tree }),
+    getFilterTreeData: getFilterTreeData({ props: props2, state }),
+    getTreeCheckableData: getTreeCheckableData(state),
+    getStrictData: getStrictData({ props: props2, state }),
+    setExpandCache: setExpandCache(state),
+    getCheckableData: getCheckableData({ api: api2, state, Tree }),
+    getFilterData: getFilterData({ api: api2, props: props2, state, Table, Tree }),
+    watchData: watchData({ api: api2, props: props2, state, Tree }),
+    watchDefaultCheckded: watchDefaultCheckded({ api: api2, props: props2, state, Tree }),
+    watchChecked: watchChecked({ api: api2, emit, state })
+  });
+  state.render = initStateRender({ reactive: reactive2, state, props: props2, api: api2 });
+  initWatcher({ watch: watch2, state, api: api2, props: props2, Table });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var transferPanelProps = {
+  columns: Array,
+  data: {
+    type: Array,
+    default: function _default() {
+      return [];
+    }
+  },
+  defaultChecked: Array,
+  filterMethod: Function,
+  filterable: Boolean,
+  format: Object,
+  isToLeft: Boolean,
+  optionRender: Function,
+  pagerOp: Object,
+  placeholder: String,
+  props: Object,
+  render: Object,
+  renderContent: Function,
+  showLeft: Boolean,
+  showPager: Boolean,
+  title: String,
+  treeOp: Object,
+  value: {
+    type: Array,
+    default: function _default2() {
+      return [];
+    }
+  }
+};
+var _sfc_main$7 = defineComponent({
+  name: $prefix + "TransferPanel",
+  componentName: "TransferPanel",
+  inheritAttrs: false,
+  components: {
+    TinyCheckbox: Checkbox,
+    TinyInput: Input,
+    TinyPager: Pager,
+    IconArrowDown: index$3(),
+    IconArrowUp: index$2(),
+    IconCheckedSur: index$4(),
+    IconCheck: index$5(),
+    OptionContent: {
+      props: {
+        option: [Object, Array]
+      },
+      render: function render2() {
+        return this.option;
+      }
+    }
+  },
+  props: transferPanelProps,
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$4 = {
+  class: "tiny-transfer-panel__header"
+};
+var _hoisted_2$3 = {
+  key: 0,
+  class: "headSort"
+};
+var _hoisted_3$3 = ["onClick"];
+var _hoisted_4$3 = {
+  class: "tiny-checkbox__inner"
+};
+var _hoisted_5$2 = ["disabled", "value"];
+var _hoisted_6$2 = {
+  class: "tiny-checkbox__label"
+};
+var _hoisted_7$1 = {
+  key: 0,
+  class: "tiny-transfer-panel__footer"
+};
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_arrow_up = resolveComponent("icon-arrow-up");
+  var _component_icon_arrow_down = resolveComponent("icon-arrow-down");
+  var _component_tiny_checkbox = resolveComponent("tiny-checkbox");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_icon_check = resolveComponent("icon-check");
+  var _component_icon_checked_sur = resolveComponent("icon-checked-sur");
+  var _component_option_content = resolveComponent("option-content");
+  var _component_tiny_pager = resolveComponent("tiny-pager");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-transfer-panel", [_ctx.state.renderType === "TinyTable" ? "transferGrid" : ""]])
+    },
+    [createBaseVNode("p", _hoisted_1$4, [createVNode(_component_tiny_checkbox, {
+      modelValue: _ctx.state.allChecked,
+      "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+        return _ctx.state.allChecked = $event;
+      }),
+      onChange: _ctx.handleAllCheckedChange,
+      indeterminate: _ctx.state.isIndeterminate
+    }, {
+      default: withCtx(function() {
+        return [createTextVNode(
+          toDisplayString(_ctx.title) + " ",
+          1
+          /* TEXT */
+        ), _ctx.render && _ctx.state.renderType !== "TinyTable" && _ctx.data.flag === "sort" ? (openBlock(), createElementBlock("div", _hoisted_2$3, [createBaseVNode("div", {
+          class: "sort-btn disabled up",
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx.setPosition("up", $event);
+          })
+        }, [createVNode(_component_icon_arrow_up)]), createBaseVNode("div", {
+          class: "sort-btn disabled down",
+          onClick: _cache[1] || (_cache[1] = function($event) {
+            return _ctx.setPosition("down", $event);
+          })
+        }, [createVNode(_component_icon_arrow_down)])])) : createCommentVNode("v-if", true), createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx.state.checkedSummary),
+          1
+          /* TEXT */
+        )];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["modelValue", "onChange", "indeterminate"])]), createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(["tiny-transfer-panel__body", _ctx.state.hasFooter ? "is-with-footer" : ""]),
+        ref: "reference"
+      },
+      [_ctx.filterable ? (openBlock(), createBlock(_component_tiny_input, {
+        key: 0,
+        class: "tiny-transfer-panel__filter",
+        modelValue: _ctx.state.query,
+        "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+          return _ctx.state.query = $event;
+        }),
+        size: "small",
+        placeholder: _ctx.placeholder,
+        onMouseenter: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.state.inputHover = true;
+        }),
+        onMouseleave: _cache[6] || (_cache[6] = function($event) {
+          return _ctx.state.inputHover = false;
+        })
+      }, {
+        prefix: withCtx(function() {
+          return [createBaseVNode(
+            "i",
+            {
+              class: normalizeClass(["tiny-input__icon", "tiny-icon-" + _ctx.state.inputIcon]),
+              onClick: _cache[3] || (_cache[3] = function() {
+                return _ctx.clearQuery && _ctx.clearQuery.apply(_ctx, arguments);
+              })
+            },
+            null,
+            2
+            /* CLASS */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["modelValue", "placeholder"])) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+        "div",
+        {
+          role: "group",
+          "aria-label": "checkbox-group",
+          class: normalizeClass(["tiny-checkbox-group tiny-transfer-panel__list", {
+            "is-filterable": _ctx.filterable
+          }])
+        },
+        [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.filteredData, function(item) {
+            return openBlock(), createElementBlock("label", {
+              class: normalizeClass(["tiny-checkbox tiny-transfer-panel__item", [item[_ctx.state.disabledProp] ? "is-disabled" : "", _ctx.state.checked.length > 0 && _ctx.state.checked.indexOf(item[_ctx.state.keyProp]) > -1 ? "is-checked" : ""]]),
+              onClick: withModifiers(function($event) {
+                return _ctx.checkedEvent(item[_ctx.state.keyProp], item[_ctx.state.disabledProp]);
+              }, ["stop", "prevent"]),
+              key: item[_ctx.state.keyProp]
+            }, [createBaseVNode(
+              "span",
+              {
+                class: normalizeClass(["tiny-checkbox__input", [item[_ctx.state.disabledProp] ? "is-disabled" : "", _ctx.state.checked.length > 0 && _ctx.state.checked.indexOf(item[_ctx.state.keyProp]) > -1 ? "is-checked" : ""]])
+              },
+              [createBaseVNode("span", _hoisted_4$3, [!(_ctx.state.checked.length > 0 && _ctx.state.checked.indexOf(item[_ctx.state.keyProp]) > -1) ? (openBlock(), createBlock(_component_icon_check, {
+                key: 0,
+                class: "tiny-svg-size"
+              })) : (openBlock(), createBlock(_component_icon_checked_sur, {
+                key: 1,
+                class: "tiny-svg-size"
+              }))]), createBaseVNode("input", {
+                type: "checkbox",
+                "aria-hidden": "false",
+                disabled: item[_ctx.state.disabledProp],
+                class: "tiny-checkbox__original",
+                value: item[_ctx.state.keyProp]
+              }, null, 8, _hoisted_5$2)],
+              2
+              /* CLASS */
+            ), createBaseVNode("span", _hoisted_6$2, [createVNode(_component_option_content, {
+              option: _ctx.optionRender(item)
+            }, null, 8, ["option"])])], 10, _hoisted_3$3);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))],
+        2
+        /* CLASS */
+      ), [[vShow, !_ctx.render]]), _ctx.render && _ctx.render.plugin ? (openBlock(), createBlock(
+        resolveDynamicComponent(_ctx.toRaw(_ctx.render.plugin)),
+        mergeProps({
+          key: 1,
+          ref: "plugin"
+        }, _ctx.state.render, toHandlers(_ctx.state.render.on)),
+        null,
+        16
+        /* FULL_PROPS */
+      )) : createCommentVNode("v-if", true), withDirectives(createVNode(_component_tiny_pager, {
+        onSizeChange: _ctx.sizesChange,
+        ref: "pager",
+        total: _ctx.state.pagerTotal.length,
+        "current-page": _ctx.state.currentPage,
+        "onUpdate:currentPage": _cache[7] || (_cache[7] = function($event) {
+          return _ctx.state.currentPage = $event;
+        }),
+        "page-size": _ctx.pagerOp.pageVO.pageSize,
+        layout: _ctx.pagerOp.pageVO.layout,
+        "page-sizes": _ctx.pagerOp.pageVO.pageSizes,
+        mode: _ctx.pagerOp.mode,
+        "pager-count": _ctx.pagerOp.pagerCount,
+        onCurrentChange: _ctx.handlePageChange
+      }, null, 8, ["onSizeChange", "total", "current-page", "page-size", "layout", "page-sizes", "mode", "pager-count", "onCurrentChange"]), [[vShow, _ctx.showPager && _ctx.state.renderType === "TinyTable"]]), withDirectives(createBaseVNode(
+        "p",
+        {
+          class: "tiny-transfer-panel__empty"
+        },
+        toDisplayString(_ctx.t("ui.transfer.noMatch")),
+        513
+        /* TEXT, NEED_PATCH */
+      ), [[vShow, !_ctx.render && _ctx.state.hasNoMatch]]), withDirectives(createBaseVNode(
+        "p",
+        {
+          class: "tiny-transfer-panel__empty"
+        },
+        toDisplayString(_ctx.t("ui.transfer.noData")),
+        513
+        /* TEXT, NEED_PATCH */
+      ), [[vShow, !_ctx.render && _ctx.data.length === 0 && !_ctx.state.hasNoMatch]])],
+      2
+      /* CLASS */
+    ), _ctx.$parent.slots["left-footer"] || _ctx.$parent.slots["right-footer"] ? (openBlock(), createElementBlock("p", _hoisted_7$1, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var TransferPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["render", _sfc_render$1]]);
+var version$1 = "3.16.0";
+TransferPanel.install = function(Vue) {
+  Vue.component(TransferPanel.name, TransferPanel);
+};
+TransferPanel.version = version$1;
+const index$1 = "";
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$6 = defineComponent({
+  components: {
+    TinyButton: Button,
+    TinyTransferPanel: TransferPanel,
+    IconDoubleLeft: index$6(),
+    IconChevronLeft: index$7(),
+    IconChevronRight: index$8(),
+    IconDoubleRight: index$9()
+  },
+  props: [].concat(props, ["data", "titles", "buttonTexts", "filterPlaceholder", "filterMethod", "leftDefaultChecked", "rightDefaultChecked", "renderContent", "modelValue", "format", "filterable", "props", "targetOrder", "dropConfig", "showAllBtn", "toLeftDisable", "toRightDisable", "renderType", "leftColumns", "rightColumns", "columns", "pageVO", "pagerOp", "showPager", "render", "treeOp", "beforeTransfer"]),
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$3 = {
+  class: "tiny-transfer"
+};
+var _hoisted_2$2 = {
+  key: 1,
+  class: "tiny-transfer-panel transfer-custom-left-panel"
+};
+var _hoisted_3$2 = {
+  class: "tiny-transfer__buttons"
+};
+var _hoisted_4$2 = {
+  class: "defaultButton"
+};
+var _hoisted_5$1 = {
+  key: 0
+};
+var _hoisted_6$1 = {
+  key: 0
+};
+var _hoisted_7 = {
+  key: 3,
+  class: "tiny-transfer-panel transfer-custom-right-panel"
+};
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_transfer_panel = resolveComponent("tiny-transfer-panel");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_icon_chevron_left = resolveComponent("icon-chevron-left");
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  return openBlock(), createElementBlock("div", _hoisted_1$3, [!_ctx.slots["right-panel"] && !_ctx.slots["left-panel"] ? (openBlock(), createBlock(_component_tiny_transfer_panel, mergeProps({
+    key: 0,
+    id: "leftPanel"
+  }, _ctx.$props, {
+    "option-render": _ctx.state.optionRender,
+    "tree-op": _ctx.treeOp,
+    render: _ctx.render,
+    "show-pager": _ctx.showPager,
+    "pager-op": _ctx.pagerOp,
+    ref: "leftPanel",
+    "page-v-o": _ctx.pageVO,
+    "render-type": _ctx.renderType,
+    columns: _ctx.leftColumns || _ctx.columns,
+    data: _ctx.state.sourceData,
+    title: _ctx.titles[0] || _ctx.t("ui.transfer.titles.0"),
+    "default-checked": _ctx.leftDefaultChecked,
+    placeholder: _ctx.filterPlaceholder || _ctx.t("ui.transfer.filterPlaceholder"),
+    onCheckedChange: _ctx.onSourceCheckedChange
+  }), {
+    default: withCtx(function() {
+      return [renderSlot(_ctx.$slots, "left-footer"), renderSlot(_ctx.$slots, "filter")];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 16, ["option-render", "tree-op", "render", "show-pager", "pager-op", "page-v-o", "render-type", "columns", "data", "title", "default-checked", "placeholder", "onCheckedChange"])) : createCommentVNode("v-if", true), _ctx.slots["left-panel"] && _ctx.slots["right-panel"] ? (openBlock(), createElementBlock("div", _hoisted_2$2, [renderSlot(_ctx.$slots, "left-panel")])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_3$2, [renderSlot(_ctx.$slots, "button-panel", {}, function() {
+    return [_ctx.showAllBtn ? (openBlock(), createBlock(_component_tiny_button, {
+      key: 0,
+      type: "primary",
+      disabled: _ctx.state.leftData.length === 0,
+      class: "tiny-transfer__button",
+      onClick: _cache[0] || (_cache[0] = function($event) {
+        return _ctx.addToRight("all");
+      })
+    }, {
+      default: withCtx(function() {
+        return [createVNode(_component_icon_double_right, {
+          class: "tiny-svg-size"
+        })];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["disabled"])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_4$2, [createVNode(_component_tiny_button, {
+      type: "primary",
+      class: normalizeClass(["tiny-transfer__button", _ctx.state.hasButtonTexts ? "is-with-texts" : ""]),
+      onClick: _ctx.addToRight,
+      disabled: _ctx.toLeftDisable && _ctx.state.leftChecked.length === 0
+    }, {
+      default: withCtx(function() {
+        return [_ctx.buttonTexts[1] !== void 0 ? (openBlock(), createElementBlock(
+          "span",
+          _hoisted_5$1,
+          toDisplayString(_ctx.buttonTexts[1]),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true), createVNode(_component_icon_chevron_right, {
+          class: "tiny-svg-size"
+        })];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["class", "onClick", "disabled"]), createVNode(_component_tiny_button, {
+      type: "primary",
+      class: normalizeClass(["tiny-transfer__button", _ctx.state.hasButtonTexts ? "is-with-texts" : ""]),
+      onClick: _ctx.addToLeft,
+      disabled: _ctx.toRightDisable && _ctx.state.rightChecked.length === 0
+    }, {
+      default: withCtx(function() {
+        return [createVNode(_component_icon_chevron_left, {
+          class: "tiny-svg-size"
+        }), _ctx.buttonTexts[0] !== void 0 ? (openBlock(), createElementBlock(
+          "span",
+          _hoisted_6$1,
+          toDisplayString(_ctx.buttonTexts[0]),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true)];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["class", "onClick", "disabled"])]), _ctx.showAllBtn ? (openBlock(), createBlock(_component_tiny_button, {
+      key: 1,
+      type: "primary",
+      disabled: _ctx.state.rightData.length === 0,
+      class: "tiny-transfer__button",
+      onClick: _cache[1] || (_cache[1] = function($event) {
+        return _ctx.addToLeft("all");
+      })
+    }, {
+      default: withCtx(function() {
+        return [createVNode(_component_icon_double_left, {
+          class: "tiny-svg-size"
+        })];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["disabled"])) : createCommentVNode("v-if", true)];
+  })]), !_ctx.slots["right-panel"] && !_ctx.slots["left-panel"] ? (openBlock(), createBlock(_component_tiny_transfer_panel, mergeProps({
+    key: 2
+  }, _ctx.$props, {
+    id: "rightPanel",
+    render: _ctx.render,
+    "option-render": _ctx.state.optionRender,
+    "tree-op": _ctx.treeOp,
+    "show-pager": _ctx.showPager,
+    "is-to-left": _ctx.state.isToLeft,
+    "pager-op": _ctx.pagerOp,
+    ref: "rightPanel",
+    "page-v-o": _ctx.pageVO,
+    "render-type": _ctx.renderType,
+    columns: _ctx.rightColumns || _ctx.columns,
+    data: _ctx.state.targetData,
+    title: _ctx.titles[1] || _ctx.t("ui.transfer.titles.1"),
+    "default-checked": _ctx.rightDefaultChecked,
+    placeholder: _ctx.filterPlaceholder || _ctx.t("ui.transfer.filterPlaceholder"),
+    onCheckedChange: _ctx.onTargetCheckedChange
+  }), {
+    default: withCtx(function() {
+      return [renderSlot(_ctx.$slots, "right-footer"), renderSlot(_ctx.$slots, "filter")];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 16, ["render", "option-render", "tree-op", "show-pager", "is-to-left", "pager-op", "page-v-o", "render-type", "columns", "data", "title", "default-checked", "placeholder", "onCheckedChange"])) : createCommentVNode("v-if", true), _ctx.slots["left-panel"] && _ctx.slots["right-panel"] ? (openBlock(), createElementBlock("div", _hoisted_7, [renderSlot(_ctx.$slots, "right-panel")])) : createCommentVNode("v-if", true)]);
+}
+var pc = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render]]);
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template2(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc;
+};
+var $constants = {
+  ISCHECKED: "is-checked",
+  DROPPANEL: ".tiny-transfer-panel__list",
+  TRANSFERPANEL: ".tiny-transfer-panel__item"
+};
+var transferProps = _extends({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default3() {
+      return $constants;
+    }
+  },
+  buttonTexts: {
+    type: Array,
+    default: function _default22() {
+      return [];
+    }
+  },
+  columns: Array,
+  leftColumns: Array,
+  rightColumns: Array,
+  data: {
+    type: Array,
+    default: function _default32() {
+      return [];
+    }
+  },
+  dropConfig: Object,
+  filterMethod: Function,
+  filterPlaceholder: {
+    type: String,
+    default: ""
+  },
+  filterable: Boolean,
+  format: {
+    type: Object,
+    default: function _default4() {
+      return {};
+    }
+  },
+  leftDefaultChecked: {
+    type: Array,
+    default: function _default5() {
+      return [];
+    }
+  },
+  modelValue: {
+    type: Array,
+    default: function _default6() {
+      return [];
+    }
+  },
+  pagerOp: {
+    type: Object,
+    default: function _default7() {
+      return {
+        mode: "fixed",
+        pageVO: {
+          currentPage: 1,
+          pageSize: 10
+        }
+      };
+    }
+  },
+  props: {
+    type: Object,
+    default: function _default8() {
+      return {
+        label: "label",
+        key: "key",
+        disabled: "disabled"
+      };
+    }
+  },
+  render: Object,
+  renderContent: Function,
+  renderType: String,
+  rightDefaultChecked: {
+    type: Array,
+    default: function _default9() {
+      return [];
+    }
+  },
+  showAllBtn: Boolean,
+  showPager: {
+    type: Boolean,
+    default: false
+  },
+  targetOrder: {
+    type: String,
+    default: "original"
+  },
+  titles: {
+    type: Array,
+    default: function _default10() {
+      return [];
+    }
+  },
+  toLeftDisable: {
+    type: Boolean,
+    default: true
+  },
+  toRightDisable: {
+    type: Boolean,
+    default: true
+  },
+  treeOp: Object,
+  beforeTransfer: Function
+});
+var Transfer = defineComponent({
+  name: $prefix + "Transfer",
+  props: transferProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+Transfer.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Transfer.install = function(Vue) {
+  Vue.component(Transfer.name, Transfer);
+};
+Transfer.version = version;
+const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
+  __name: "coach-from",
+  props: {
+    projectData: Object,
+    coachPlay: Boolean
+  },
+  setup(__props, { expose: __expose }) {
+    const props2 = __props;
+    const { coachPlay } = toRefs(props2);
+    const state = reactive({
+      filterOptions: {}
+    });
+    const { t } = useI18n();
+    const coachFormRef = ref();
+    const disabled = ref(false);
+    const handleBlur = () => {
+      const start = new Date(
+        JSON.parse(JSON.stringify(state.filterOptions.startTime))
+      ).getTime();
+      const end = new Date(
+        JSON.parse(JSON.stringify(state.filterOptions.endTime))
+      ).getTime();
+      if (end < start) {
+        state.filterOptions.endTime = "";
+        TINYModal.message({
+          message: t("userInfo.time.message"),
+          status: "error"
+        });
+      }
+    };
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rulesSelect = {
+      required: true,
+      message: "必选",
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        sector: coachPlay.value ? [rulesType] : "",
+        position: coachPlay.value ? [rulesSelect] : "",
+        hr: coachPlay.value ? [rulesSelect] : "",
+        teacher: coachPlay.value ? [rulesSelect] : "",
+        startTime: coachPlay.value ? [rulesType] : "",
+        endTime: coachPlay.value ? [rulesType] : ""
+      };
+    });
+    const coachValid = () => {
+      let coachValidate = false;
+      coachFormRef.value.validate((valid) => {
+        if (valid) {
+          disabled.value = true;
+        }
+        coachValidate = valid;
+      });
+      return coachValidate;
+    };
+    const coachReset = () => {
+      disabled.value = false;
+      state.filterOptions = {};
+    };
+    __expose({
+      coachValid,
+      coachReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "coachFormRef",
+            ref: coachFormRef,
+            model: state.filterOptions,
+            rules: rules.value,
+            "label-width": "150px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.coach.culture"),
+                        prop: "sector"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: state.filterOptions.sector,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.filterOptions.sector = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.coach.position"),
+                        prop: "position"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: state.filterOptions.position,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.filterOptions.position = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            multiple: ""
+                          }, {
+                            default: withCtx(() => {
+                              var _a;
+                              return [
+                                (openBlock(true), createElementBlock(Fragment, null, renderList((_a = __props.projectData) == null ? void 0 : _a.position, (item) => {
+                                  return openBlock(), createBlock(unref(Option), {
+                                    key: item.value,
+                                    label: item.label,
+                                    value: item.value
+                                  }, null, 8, ["label", "value"]);
+                                }), 128))
+                              ];
+                            }),
+                            _: 1
+                          }, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: "HR",
+                        prop: "hr"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: state.filterOptions.hr,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => state.filterOptions.hr = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            multiple: ""
+                          }, {
+                            default: withCtx(() => {
+                              var _a;
+                              return [
+                                (openBlock(true), createElementBlock(Fragment, null, renderList((_a = __props.projectData) == null ? void 0 : _a.HR, (item) => {
+                                  return openBlock(), createBlock(unref(Option), {
+                                    key: item.value,
+                                    label: item.label,
+                                    value: item.value
+                                  }, null, 8, ["label", "value"]);
+                                }), 128))
+                              ];
+                            }),
+                            _: 1
+                          }, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      })
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.coach.mentor"),
+                        prop: "teacher"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: state.filterOptions.teacher,
+                            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => state.filterOptions.teacher = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            multiple: ""
+                          }, {
+                            default: withCtx(() => {
+                              var _a;
+                              return [
+                                (openBlock(true), createElementBlock(Fragment, null, renderList((_a = __props.projectData) == null ? void 0 : _a.mentor, (item) => {
+                                  return openBlock(), createBlock(unref(Option), {
+                                    key: item,
+                                    label: item,
+                                    value: item
+                                  }, null, 8, ["label", "value"]);
+                                }), 128))
+                              ];
+                            }),
+                            _: 1
+                          }, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.coach.startTime"),
+                        prop: "startTime"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.startTime,
+                            "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => state.filterOptions.startTime = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.coach.endTime"),
+                        prop: "endTime"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.endTime,
+                            "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => state.filterOptions.endTime = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("searchTable.form.input"),
+                            onBlur: handleBlur
+                          }, null, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const coachFrom_vue_vue_type_style_index_0_scoped_2ab0c792_lang = "";
+const coachfrom = /* @__PURE__ */ _export_sfc$2(_sfc_main$5, [["__scopeId", "data-v-2ab0c792"]]);
+const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
+  __name: "director-from",
+  props: {
+    projectData: Object,
+    directorPlay: Boolean
+  },
+  setup(__props, { expose: __expose }) {
+    const props2 = __props;
+    const { directorPlay } = toRefs(props2);
+    const state = reactive({
+      filterOptions: {}
+    });
+    const { t } = useI18n();
+    const directorFormRef = ref();
+    const disabled = ref(false);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rulesSelect = {
+      required: true,
+      message: "必选",
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        director: directorPlay.value ? [rulesSelect] : "",
+        remark: directorPlay.value ? [rulesType] : "",
+        startTime: directorPlay.value ? [rulesType] : "",
+        endTime: directorPlay.value ? [rulesType] : ""
+      };
+    });
+    const handleBlur = () => {
+      const start = new Date(
+        JSON.parse(JSON.stringify(state.filterOptions.startTime))
+      ).getTime();
+      const end = new Date(
+        JSON.parse(JSON.stringify(state.filterOptions.endTime))
+      ).getTime();
+      if (end < start) {
+        state.filterOptions.endTime = "";
+        TINYModal.message({
+          message: t("userInfo.time.message"),
+          status: "error"
+        });
+      }
+    };
+    const directorValid = () => {
+      let directorValidate = false;
+      directorFormRef.value.validate((valid) => {
+        if (valid) {
+          disabled.value = true;
+        }
+        directorValidate = valid;
+      });
+      return directorValidate;
+    };
+    const directorReset = () => {
+      disabled.value = false;
+      state.filterOptions = {};
+    };
+    __expose({
+      directorValid,
+      directorReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "directorFormRef",
+            ref: directorFormRef,
+            model: state.filterOptions,
+            rules: rules.value,
+            "label-width": "150px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.dire.supervisor"),
+                        prop: "director"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: state.filterOptions.director,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.filterOptions.director = $event),
+                            disabled: disabled.value,
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                            multiple: ""
+                          }, {
+                            default: withCtx(() => {
+                              var _a;
+                              return [
+                                (openBlock(true), createElementBlock(Fragment, null, renderList((_a = __props.projectData) == null ? void 0 : _a.director, (item) => {
+                                  return openBlock(), createBlock(unref(Option), {
+                                    key: item,
+                                    label: _ctx.$t(item),
+                                    value: item
+                                  }, null, 8, ["label", "value"]);
+                                }), 128))
+                              ];
+                            }),
+                            _: 1
+                          }, 8, ["modelValue", "disabled", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.dire.remarks"),
+                        prop: "remark"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: state.filterOptions.remark,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.filterOptions.remark = $event),
+                            disabled: disabled.value
+                          }, null, 8, ["modelValue", "disabled"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.dire.startTime"),
+                        prop: "startTime"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.startTime,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => state.filterOptions.startTime = $event),
+                            disabled: disabled.value
+                          }, null, 8, ["modelValue", "disabled"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.dire.endTime"),
+                        prop: "endTime"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.endTime,
+                            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => state.filterOptions.endTime = $event),
+                            disabled: disabled.value,
+                            onBlur: handleBlur
+                          }, null, 8, ["modelValue", "disabled"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _hoisted_1$2 = { class: "contain" };
+const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
+  __name: "target-from",
+  setup(__props, { expose: __expose }) {
+    const targetFormRef = ref();
+    const arr = reactive([]);
+    for (let i = 0; i <= 15; i += 1) {
+      arr.push({
+        key: i,
+        label: `Options ${i}`,
+        disabled: false
+      });
+    }
+    const length = ref([]);
+    const targetSubmit = () => {
+      if (length.value.length > 0) {
+        arr.forEach((item) => {
+          item.disabled = true;
+        });
+        return true;
+      }
+      return false;
+    };
+    const targetReset = () => {
+      length.value = [];
+    };
+    __expose({
+      targetReset,
+      targetSubmit
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$2, [
+        createVNode(unref(Transfer), {
+          ref_key: "targetFormRef",
+          ref: targetFormRef,
+          modelValue: length.value,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => length.value = $event),
+          data: arr,
+          titles: [_ctx.$t("stepForm.target.list"), _ctx.$t("stepForm.target.sure")]
+        }, null, 8, ["modelValue", "data", "titles"])
+      ]);
+    };
+  }
+});
+const targetFrom_vue_vue_type_style_index_0_scoped_14c87db0_lang = "";
+const targetfrom = /* @__PURE__ */ _export_sfc$2(_sfc_main$3, [["__scopeId", "data-v-14c87db0"]]);
+const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
+  __name: "summation-from",
+  props: {
+    summationPlay: Boolean
+  },
+  setup(__props, { expose: __expose }) {
+    const props2 = __props;
+    const { summationPlay } = toRefs(props2);
+    const state = reactive({
+      filterOptions: {}
+    });
+    const summarizeRef = ref();
+    const disabled = ref(false);
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        summarize: summationPlay.value ? [rulesType] : ""
+      };
+    });
+    const summarizeValid = () => {
+      let sumValid = false;
+      summarizeRef.value.validate((valid) => {
+        if (valid) {
+          disabled.value = true;
+        }
+        sumValid = valid;
+      });
+      return sumValid;
+    };
+    const summarizeReset = () => {
+      disabled.value = false;
+      state.filterOptions = {};
+    };
+    __expose({
+      summarizeValid,
+      summarizeReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "summarizeRef",
+            ref: summarizeRef,
+            model: state.filterOptions,
+            rules: rules.value,
+            "label-width": "100px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("stepForm.sum.self"),
+                        prop: "summarize"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: state.filterOptions.summarize,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.filterOptions.summarize = $event),
+                            disabled: disabled.value,
+                            type: "textarea"
+                          }, null, 8, ["modelValue", "disabled"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const _hoisted_1$1 = { id: "container" };
+const _hoisted_2$1 = { key: 0 };
+const _hoisted_3$1 = {
+  key: 1,
+  class: "targetStyle"
+};
+const _hoisted_4$1 = { key: 2 };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
+  __name: "collapse-from",
+  setup(__props, { expose: __expose }) {
+    const state = reactive({
+      loading: null
+    });
+    const { t } = useI18n();
+    const appStore = useAppStore();
+    const coachFormRef = ref();
+    const directorRef = ref();
+    const targetRef = ref();
+    const summationRef = ref();
+    const directorVis = ref(false);
+    const targetVis = ref(false);
+    const summationVis = ref(false);
+    const coachPlay = ref(true);
+    const directorPlay = ref(true);
+    const summationPlay = ref(true);
+    const projectData = reactive({
+      position: [],
+      HR: [],
+      mentor: [],
+      director: []
+    });
+    const fetchData = async () => {
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("container"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getStepData();
+        projectData.position = data.position;
+        projectData.HR = data.HR;
+        projectData.mentor = data.mentor;
+        projectData.director = data.director;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    watch(
+      appStore.$state,
+      (newValue, oldValue) => {
+        if (newValue.step === 1) {
+          directorVis.value = true;
+        } else if (newValue.step === 2) {
+          targetVis.value = true;
+        } else if (newValue.step === 3) {
+          summationVis.value = true;
+        }
+      },
+      { immediate: true }
+    );
+    const collapseReset = () => {
+      if (appStore.step === 0) {
+        coachFormRef.value.coachReset();
+      } else if (appStore.step === 1) {
+        directorRef.value.directorReset();
+      } else if (appStore.step === 2) {
+        targetRef.value.targetReset();
+      } else if (appStore.step === 3) {
+        summationRef.value.summarizeReset();
+      }
+    };
+    const packaged = (vaild, index3, key) => {
+      if (vaild) {
+        TINYModal.message({
+          message: t("baseForm.form.submit.success"),
+          status: "success"
+        });
+        appStore.updateStep(index3);
+      } else {
+        TINYModal.message({
+          message: index3 !== 3 ? t("baseForm.form.submit.error") : t("stepForm.error.target"),
+          status: "error"
+        });
+      }
+    };
+    const collapseSubmit = () => {
+      if (appStore.step === 0) {
+        const vaild = coachFormRef.value.coachValid();
+        packaged(vaild, 1);
+      } else if (appStore.step === 1) {
+        const vaild = directorRef.value.directorValid();
+        packaged(vaild, 2);
+      } else if (appStore.step === 2) {
+        const vaild = targetRef.value.targetSubmit();
+        packaged(vaild, 3);
+      } else if (appStore.step === 3) {
+        const vaild = summationRef.value.summarizeValid();
+        packaged(vaild, 4);
+      }
+    };
+    const collapseRestore = () => {
+      appStore.updateStep(0);
+      coachFormRef.value.coachReset();
+      directorRef.value.directorReset();
+      targetRef.value.targetReset();
+      summationRef.value.summarizeReset();
+      directorVis.value = false;
+      targetVis.value = false;
+      summationVis.value = false;
+    };
+    __expose({
+      collapseReset,
+      collapseSubmit,
+      collapseRestore
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$1, [
+        createBaseVNode("div", null, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("stepForm.collapse.base")), 1),
+          createVNode(coachfrom, {
+            ref_key: "coachFormRef",
+            ref: coachFormRef,
+            "project-data": projectData,
+            "coach-play": coachPlay.value
+          }, null, 8, ["project-data", "coach-play"])
+        ]),
+        directorVis.value ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("stepForm.collapse.supervisor")), 1),
+          createVNode(_sfc_main$4, {
+            ref_key: "directorRef",
+            ref: directorRef,
+            "project-data": projectData,
+            "director-play": directorPlay.value
+          }, null, 8, ["project-data", "director-play"])
+        ])) : createCommentVNode("", true),
+        targetVis.value ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("stepForm.collapse.goals")), 1),
+          createVNode(targetfrom, {
+            ref_key: "targetRef",
+            ref: targetRef,
+            "project-data": projectData
+          }, null, 8, ["project-data"])
+        ])) : createCommentVNode("", true),
+        summationVis.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("stepForm.collapse.summary")), 1),
+          createVNode(_sfc_main$2, {
+            ref_key: "summationRef",
+            ref: summationRef,
+            "project-data": projectData,
+            "summation-play": summationPlay.value
+          }, null, 8, ["project-data", "summation-play"])
+        ])) : createCommentVNode("", true)
+      ]);
+    };
+  }
+});
+const collapseFrom_vue_vue_type_style_index_0_scoped_4fd609cb_lang = "";
+const collapsefrom = /* @__PURE__ */ _export_sfc$2(_sfc_main$1, [["__scopeId", "data-v-4fd609cb"]]);
+const _hoisted_1 = { class: "container-step" };
+const _hoisted_2 = { class: "general-card" };
+const _hoisted_3 = { class: "general-top" };
+const _hoisted_4 = { class: "general-contain" };
+const _hoisted_5 = { class: "general-foot" };
+const _hoisted_6 = { class: "general-btn" };
+const _sfc_main = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    const { t } = useI18n();
+    const appStore = useAppStore();
+    const collapseRef = ref();
+    const normalActive = computed(() => appStore.step);
+    function handleFormReset() {
+      collapseRef.value.collapseReset();
+    }
+    function handleSubmit() {
+      collapseRef.value.collapseSubmit();
+    }
+    function handleFormRestore() {
+      collapseRef.value.collapseRestore();
+    }
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.form", "menu.form.step"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createVNode(headtop)
+          ]),
+          createBaseVNode("div", _hoisted_4, [
+            createBaseVNode("div", null, toDisplayString(_ctx.$t("stepForm.coaching.process")), 1),
+            createBaseVNode("div", null, [
+              createVNode(unref(TimeLine), {
+                data: [
+                  { name: unref(t)("stepForm.start.coaching") },
+                  { name: unref(t)("stepForm.immediate.supervisor") },
+                  { name: unref(t)("stepForm.overall.goals") },
+                  { name: unref(t)("stepForm.overall.summary") },
+                  { name: unref(t)("stepForm.overall.end") }
+                ],
+                active: normalActive.value,
+                type: "normal"
+              }, null, 8, ["data", "active"])
+            ])
+          ]),
+          createBaseVNode("div", _hoisted_5, [
+            createVNode(collapsefrom, {
+              ref_key: "collapseRef",
+              ref: collapseRef
+            }, null, 512),
+            createBaseVNode("div", _hoisted_6, [
+              normalActive.value !== 4 ? (openBlock(), createBlock(unref(Button), {
+                key: 0,
+                type: "primary",
+                "native-type": "submit",
+                onClick: handleSubmit
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("stepForm.button.submit")), 1)
+                ]),
+                _: 1
+              })) : createCommentVNode("", true),
+              normalActive.value !== 4 ? (openBlock(), createBlock(unref(Button), {
+                key: 1,
+                onClick: handleFormReset
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("stepForm.button.cancel")), 1)
+                ]),
+                _: 1
+              })) : createCommentVNode("", true),
+              normalActive.value === 4 ? (openBlock(), createBlock(unref(Button), {
+                key: 2,
+                onClick: handleFormRestore
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("stepForm.button.restore")), 1)
+                ]),
+                _: 1
+              })) : createCommentVNode("", true)
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_dcaaabb9_lang = "";
+const index = /* @__PURE__ */ _export_sfc$2(_sfc_main, [["__scopeId", "data-v-dcaaabb9"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index13.css b/admin-website/src/main/resources/static/assets/index13.css
new file mode 100644
index 0000000..d0198e6
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index13.css
@@ -0,0 +1,227 @@
+.main[data-v-2ef760ef] {
+  padding: 0;
+}
+.main .col[data-v-2ef760ef] {
+  display: flex;
+  justify-content: space-around;
+  min-width: 396px;
+  height: 150px;
+  background: #fff;
+  border-radius: 6px;
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.2);
+}
+.main .col[data-v-2ef760ef]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.main .img[data-v-2ef760ef] {
+  display: flex;
+  align-items: center;
+}
+.main .num[data-v-2ef760ef] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+}
+.main .num #up span[data-v-2ef760ef] {
+  color: #f7961e;
+}
+.main .num #down span[data-v-2ef760ef] {
+  color: #3eb21f;
+}
+.main .num .up .left[data-v-2ef760ef] {
+  margin-left: -15%;
+  color: #35383e;
+  font-weight: 400;
+  font-size: 18px;
+  letter-spacing: 0.45px;
+  text-align: left;
+}
+.main .num .up .right[data-v-2ef760ef] {
+  margin-left: 15%;
+  color: #777;
+  font-size: 16px;
+  letter-spacing: 0.4px;
+  text-align: left;
+}
+.main .num .down[data-v-2ef760ef] {
+  margin-left: -30px;
+}
+.main .num .down .left[data-v-2ef760ef] {
+  width: 99px;
+  height: 36px;
+  color: #242424;
+  font-weight: 700;
+  font-size: 36px;
+  letter-spacing: 1.2px;
+  text-align: left;
+}
+.main .num .down .right[data-v-2ef760ef] {
+  width: 8px;
+  height: 14px;
+  color: #777;
+  font-weight: 400;
+  font-size: 16px;
+  letter-spacing: 0.4px;
+  text-align: left;
+}
+[data-v-2ef760ef] .tiny-col {
+  padding: 0 11.5px;
+}
+@media (max-width: 1760px) {
+.main[data-v-2ef760ef] {
+    display: none;
+}
+.col[data-v-2ef760ef] {
+    width: 300px;
+}
+}
+.curve[data-v-f83ab95d] {
+  width: 100%;
+  height: 491px;
+  margin-top: 2%;
+  background: #fff;
+  border-radius: 6px;
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.2);
+}
+#line[data-v-f83ab95d] {
+  width: 100%;
+  height: inherit;
+}
+.image[data-v-f83ab95d] {
+  float: left;
+  width: 25px;
+  margin-top: 0.5%;
+  margin-left: 0.5%;
+  background-color: #a125ff;
+  border-radius: 4px;
+  opacity: 0.6;
+}
+h3[data-v-f83ab95d] {
+  float: left;
+  width: 200px;
+  margin-top: 0.4%;
+  margin-left: 0.5%;
+  color: #524343;
+  font-weight: 700;
+  font-size: 18px;
+}
+.falls[data-v-282ced62] {
+  width: 100%;
+  height: 406px;
+  margin-top: 2%;
+  background: #fff;
+  border-radius: 6px;
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.2);
+}
+#flow[data-v-282ced62] {
+  width: 100%;
+  height: inherit;
+}
+.image[data-v-282ced62] {
+  float: left;
+  width: 25px;
+  margin-top: 0.5%;
+  margin-left: 0.5%;
+  border-radius: 4px;
+  opacity: 0.6;
+}
+h3[data-v-282ced62] {
+  float: left;
+  width: 200px;
+  margin-top: 0.5%;
+  margin-left: 0.5%;
+  color: #524343;
+  font-weight: 700;
+  font-size: 18px;
+}
+.container[data-v-83d55124] {
+  width: inherit;
+}
+.round[data-v-efe9211a] {
+  display: flex;
+  justify-content: space-between;
+  margin-top: 2%;
+  background: #fff;
+  border-radius: 6px;
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.2);
+}
+#circled[data-v-efe9211a] {
+  width: 32vw !important;
+  height: 350px;
+  margin-left: 2.3%;
+}
+.image[data-v-efe9211a] {
+  float: left;
+  width: 25px;
+  margin-top: 1.5%;
+  margin-left: 1.5%;
+  border-radius: 4px;
+  opacity: 0.6;
+}
+.round-from[data-v-efe9211a] {
+  width: 46vw;
+  margin-top: 2%;
+  margin-left: 5%;
+}
+h3[data-v-efe9211a] {
+  float: left;
+  width: 300px;
+  margin-top: 1.4%;
+  margin-left: 1.5%;
+  color: #524343;
+  font-weight: 700;
+  font-size: 18px;
+}
+.container[data-v-6c846ff9] {
+  width: inherit;
+}
+.region[data-v-5c348cc6] {
+  display: flex;
+  justify-content: space-between;
+  margin-top: 2%;
+  background: #fff;
+  border-radius: 6px;
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.2);
+}
+.region .region-title[data-v-5c348cc6] {
+  display: flex;
+}
+.region h3[data-v-5c348cc6] {
+  width: 300px;
+  margin-top: 1.5%;
+  margin-left: 10px;
+  color: #524343;
+  font-weight: 700;
+  font-size: 18px;
+}
+#earth[data-v-5c348cc6] {
+  width: 32vw;
+  height: 358px;
+  margin-left: 15%;
+}
+.image[data-v-5c348cc6] {
+  width: 25px;
+  height: 25px;
+  margin-top: 1.5%;
+  margin-left: 1.5%;
+  background: tomato;
+  border-radius: 4px;
+  opacity: 0.6;
+}
+.region-from[data-v-5c348cc6] {
+  width: 46vw;
+  margin-top: 2%;
+  margin-left: 5%;
+}
+.container[data-v-9655f689] {
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+@media (max-width: 1208px) {
+.container[data-v-9655f689] {
+    overflow-x: auto;
+}
+}
diff --git a/admin-website/src/main/resources/static/assets/index13.js b/admin-website/src/main/resources/static/assets/index13.js
new file mode 100644
index 0000000..413d9eb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index13.js
@@ -0,0 +1,11 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index14.css b/admin-website/src/main/resources/static/assets/index14.css
new file mode 100644
index 0000000..f5b8504
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index14.css
@@ -0,0 +1,494 @@
+.col[data-v-dec666ba] {
+  height: 150px;
+  text-align: center;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.col[data-v-dec666ba]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.font[data-v-dec666ba] {
+  font-weight: 600;
+  font-size: 48px;
+  line-height: 36px;
+  text-align: left;
+}
+.col > div[data-v-dec666ba] {
+  padding: 15px 0;
+  color: #252b3a;
+  font-weight: normal;
+  font-size: 18px;
+  line-height: 14px;
+  text-align: center;
+}
+.col > div .plan-pass[data-v-dec666ba] {
+  color: #f05d0a;
+  font-weight: 600;
+  font-size: 48px;
+  line-height: 36px;
+  text-align: left;
+}
+.col > div .plan-fail[data-v-dec666ba] {
+  color: #252b3a;
+  font-weight: 600;
+  font-size: 48px;
+  line-height: 36px;
+  text-align: left;
+}
+.col > div .num[data-v-dec666ba] {
+  color: #adb0b8;
+  font-size: 14px;
+  line-height: 14px;
+}
+.title[data-v-dec666ba] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.title img[data-v-dec666ba] {
+  padding-right: 10px;
+}
+@media (max-width: 1600px) {
+.col > div[data-v-dec666ba] {
+    font-size: 10px;
+}
+.col > div .plan-pass[data-v-dec666ba],
+  .col > div .plan-fail[data-v-dec666ba] {
+    font-size: 24px;
+}
+}
+.col[data-v-5b4740cd] {
+  display: flex;
+  justify-content: space-around;
+  min-height: 150px;
+  text-align: center;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.col[data-v-5b4740cd]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.num[data-v-5b4740cd] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.left[data-v-5b4740cd] {
+  width: 50%;
+}
+.right[data-v-5b4740cd] {
+  width: 50%;
+}
+.left[data-v-5b4740cd],
+.right[data-v-5b4740cd] {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+}
+.left-title[data-v-5b4740cd] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  color: #4e5969;
+  font-weight: normal;
+  font-size: 18px;
+  line-height: 14px;
+}
+.left-content[data-v-5b4740cd] {
+  display: flex;
+  align-items: flex-end;
+  justify-content: center;
+  padding-bottom: 15px;
+}
+.divider[data-v-5b4740cd] {
+  width: 1px;
+  height: 41px;
+  margin: 0 20px;
+  margin-top: 8%;
+  background: #7b7e84;
+  opacity: 0.3;
+}
+.coach-select[data-v-5b4740cd] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 12px 8px;
+}
+.coach-select h3[data-v-5b4740cd] {
+  width: 20%;
+  color: #575d6c;
+  font-size: 16px;
+  line-height: 14px;
+  text-align: left;
+}
+.coach-select div[data-v-5b4740cd] {
+  width: 323px;
+}
+.coach-select[data-v-5b4740cd] .tiny-input {
+  background-color: #f5f6f7;
+}
+.coach-select[data-v-5b4740cd] .tiny-input input {
+  border-radius: 17px;
+}
+@media (max-width: 1600px) {
+.num[data-v-5b4740cd] {
+    font-size: 24px;
+}
+.left-title[data-v-5b4740cd] {
+    font-size: 10px;
+}
+}
+.margin-bottom[data-v-1dcb662d] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 98.5%;
+  height: 150px;
+  margin: 0 auto;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.margin-bottom[data-v-1dcb662d]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.col[data-v-1dcb662d] {
+  text-align: center;
+}
+.col > span[data-v-1dcb662d] {
+  display: flex;
+  flex-direction: column;
+  padding: 10px 10px;
+  text-align: center;
+}
+.col > span[data-v-1dcb662d]:last-child {
+  color: #4e5969;
+  font-weight: normal;
+  font-size: 18px;
+  line-height: 14px;
+}
+.divider[data-v-1dcb662d] {
+  width: 1px;
+  height: 41px;
+  margin: 0 20px;
+  background: #7b7e84;
+  opacity: 0.3;
+}
+.font[data-v-1dcb662d] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.font-pass[data-v-1dcb662d] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.font-fail[data-v-1dcb662d] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+  color: #2f5bea;
+}
+@media (max-width: 1600px) {
+.font-pass[data-v-1dcb662d] {
+    font-size: 24px;
+}
+.col > span[data-v-1dcb662d]:last-child {
+    font-size: 10px;
+}
+}
+.margin-bottom[data-v-999aa533] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 98.5%;
+  height: 150px;
+  margin: 0 auto;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.margin-bottom[data-v-999aa533]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.col[data-v-999aa533] {
+  text-align: center;
+}
+.col > span[data-v-999aa533] {
+  display: flex;
+  flex-direction: column;
+  padding: 10px 10px;
+  text-align: center;
+}
+.col > span[data-v-999aa533]:last-child {
+  color: #4e5969;
+  font-weight: normal;
+  font-size: 18px;
+  line-height: 14px;
+}
+.divider[data-v-999aa533] {
+  width: 1px;
+  height: 41px;
+  margin: 0 20px;
+  background: #7b7e84;
+  opacity: 0.3;
+}
+.font[data-v-999aa533] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.font-pass[data-v-999aa533] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.font-fail[data-v-999aa533] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+  color: #2f5bea;
+}
+.practiced-select[data-v-999aa533] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 12px 8px;
+}
+.practiced-select h3[data-v-999aa533] {
+  width: 20%;
+  color: #575d6c;
+  font-size: 16px;
+  line-height: 14px;
+  text-align: left;
+}
+.practiced-select div[data-v-999aa533] {
+  width: 323px;
+}
+.practiced-select[data-v-999aa533] .tiny-input {
+  background-color: #f5f6f7;
+}
+.practiced-select[data-v-999aa533] .tiny-input input {
+  border-radius: 17px;
+}
+@media (max-width: 1600px) {
+.font-pass[data-v-999aa533] {
+    font-size: 24px;
+}
+.col > span[data-v-999aa533]:last-child {
+    font-size: 10px;
+}
+}
+.margin-bottom[data-v-cff1f1d5] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 98.5%;
+  height: 150px;
+  margin: 0 auto;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.margin-bottom[data-v-cff1f1d5]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.col[data-v-cff1f1d5] {
+  text-align: center;
+}
+.col > span[data-v-cff1f1d5] {
+  display: flex;
+  flex-direction: column;
+  padding: 10px 10px;
+  text-align: center;
+}
+.col > span[data-v-cff1f1d5]:last-child {
+  color: #4e5969;
+  font-weight: normal;
+  font-size: 18px;
+  line-height: 14px;
+}
+.divider[data-v-cff1f1d5] {
+  width: 1px;
+  height: 41px;
+  margin: 0 20px;
+  background: #7b7e84;
+  opacity: 0.3;
+}
+.font[data-v-cff1f1d5] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.font-pass[data-v-cff1f1d5] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.font-fail[data-v-cff1f1d5] {
+  color: #575d6c;
+  font-weight: 600;
+  font-size: 30px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+  color: #2f5bea;
+}
+.train-select[data-v-cff1f1d5] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 15px 8px;
+}
+.train-select h3[data-v-cff1f1d5] {
+  width: 20%;
+  color: #575d6c;
+  font-size: 16px;
+  line-height: 14px;
+  text-align: left;
+}
+.train-select div[data-v-cff1f1d5] {
+  width: 323px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.train-select[data-v-cff1f1d5] .tiny-input input {
+  border-radius: 17px;
+}
+@media (max-width: 1600px) {
+.font-pass[data-v-cff1f1d5] {
+    font-size: 24px;
+}
+.col > span[data-v-cff1f1d5]:last-child {
+    font-size: 10px;
+}
+}
+.container-work[data-v-9c8c59f2] {
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: auto;
+  background: #f6f8f9;
+}
+.container-work .work-image[data-v-9c8c59f2] {
+  width: 99%;
+  margin: 0 auto;
+}
+.container-work .work-image img[data-v-9c8c59f2] {
+  width: 100%;
+  min-height: 50px;
+}
+.content[data-v-9c8c59f2] {
+  display: flex;
+  justify-content: space-between;
+  padding-bottom: 10px;
+}
+.content .font[data-v-9c8c59f2] {
+  padding: 12px 8px;
+  color: #575d6c;
+  font-size: 16px;
+  line-height: 14px;
+}
+.content .left[data-v-9c8c59f2] {
+  width: 80%;
+}
+.content .left .card[data-v-9c8c59f2] {
+  display: flex;
+  flex-direction: column;
+  min-height: 150px;
+}
+.content .left .card h3[data-v-9c8c59f2] {
+  padding: 12px 8px;
+  color: #575d6c;
+  font-size: 16px;
+  line-height: 14px;
+}
+.content .right[data-v-9c8c59f2] {
+  width: 19%;
+  padding-right: 10px;
+}
+.content .right h3[data-v-9c8c59f2] {
+  padding: 12px 8px;
+  color: #575d6c;
+  font-size: 16px;
+  line-height: 14px;
+}
+.content .right .more[data-v-9c8c59f2] {
+  min-height: 369px;
+}
+.content .right .less[data-v-9c8c59f2] {
+  min-height: 156px;
+}
+.content .right .card[data-v-9c8c59f2] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-evenly;
+  padding: 20px;
+  color: #010407;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);
+}
+.content .right .card dl dt[data-v-9c8c59f2] {
+  margin-top: 10px;
+  margin-left: 10px;
+  font-weight: bolder;
+  font-size: 16px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 15px;
+  text-align: left;
+}
+.content .right .card dl dd[data-v-9c8c59f2] {
+  padding: 10px;
+}
+.content .right .card dl dd a[data-v-9c8c59f2] {
+  color: #999;
+  text-decoration: none;
+}
+.content .right .card[data-v-9c8c59f2]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.col > span[data-v-9c8c59f2] {
+  display: flex;
+  flex-direction: column;
+  padding: 10px 10px;
+  text-align: center;
+}
+.col > span[data-v-9c8c59f2]:first-child {
+  color: #010407;
+  font-weight: 500;
+}
+.col > span[data-v-9c8c59f2]:last-child {
+  font-weight: 900;
+  font-size: large;
+}
diff --git a/admin-website/src/main/resources/static/assets/index14.js b/admin-website/src/main/resources/static/assets/index14.js
new file mode 100644
index 0000000..5c01d6e
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index14.js
@@ -0,0 +1,1217 @@
+import { d as defineComponent, u as openBlock, v as createElementBlock, l as createVNode, H as withCtx, W as unref, w as createBaseVNode, E as toDisplayString, J as createTextVNode, Z as pushScopeId, _ as popScopeId, a0 as useI18n, r as ref, j as onMounted, n as nextTick, a2 as watch, i as inject, a8 as reactive, k as resolveComponent } from "./vue.js";
+import { _ as _imports_0$2, a as _imports_1, b as _imports_2, c as _imports_3 } from "./home-down.js";
+import { R as Row, C as Col, P as Pager, a as Column, G as Grid } from "./index31.js";
+import { n as Layout, _ as _export_sfc, l as useLocale } from "./index.js";
+import "./index32.js";
+import "./chevron-up.js";
+import "./index30.js";
+const _imports_4 = "/ui/admin/assets/home-mainup.png";
+const _imports_5 = "/ui/admin/assets/home-main1.png";
+const _withScopeId$4 = (n) => (pushScopeId("data-v-2ef760ef"), n = n(), popScopeId(), n);
+const _hoisted_1$7 = { class: "main" };
+const _hoisted_2$5 = { class: "col" };
+const _hoisted_3$2 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "img" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_0$2,
+    class: "image"
+  })
+], -1));
+const _hoisted_4$1 = { class: "num" };
+const _hoisted_5 = { class: "up" };
+const _hoisted_6 = { class: "left" };
+const _hoisted_7 = {
+  id: "up",
+  class: "right"
+};
+const _hoisted_8 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_1,
+  class: "image"
+}, null, -1));
+const _hoisted_9 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, "0.88%", -1));
+const _hoisted_10 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "down" }, [
+  /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "3.23"),
+  /* @__PURE__ */ createBaseVNode("span", { class: "right" }, " / S")
+], -1));
+const _hoisted_11 = { class: "col" };
+const _hoisted_12 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "img" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_2,
+    class: "image"
+  })
+], -1));
+const _hoisted_13 = { class: "num" };
+const _hoisted_14 = { class: "up" };
+const _hoisted_15 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "DOM Ready", -1));
+const _hoisted_16 = {
+  id: "down",
+  class: "right"
+};
+const _hoisted_17 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_3,
+  class: "image"
+}, null, -1));
+const _hoisted_18 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, "0.88%", -1));
+const _hoisted_19 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "down" }, [
+  /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "1.56"),
+  /* @__PURE__ */ createBaseVNode("span", { class: "right" }, " / S")
+], -1));
+const _hoisted_20 = { class: "col" };
+const _hoisted_21 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "img" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_4,
+    class: "image"
+  })
+], -1));
+const _hoisted_22 = { class: "num" };
+const _hoisted_23 = { class: "up" };
+const _hoisted_24 = { class: "left" };
+const _hoisted_25 = {
+  id: "up",
+  class: "right"
+};
+const _hoisted_26 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_1,
+  class: "image"
+}, null, -1));
+const _hoisted_27 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, "0.88%", -1));
+const _hoisted_28 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "down" }, [
+  /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "3.69"),
+  /* @__PURE__ */ createBaseVNode("span", { class: "right" }, " / S")
+], -1));
+const _hoisted_29 = { class: "col" };
+const _hoisted_30 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "img" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_5,
+    class: "image"
+  })
+], -1));
+const _hoisted_31 = { class: "num" };
+const _hoisted_32 = { class: "up" };
+const _hoisted_33 = { class: "left" };
+const _hoisted_34 = {
+  id: "down",
+  class: "right"
+};
+const _hoisted_35 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_3,
+  class: "image"
+}, null, -1));
+const _hoisted_36 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, "0.88%", -1));
+const _hoisted_37 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "down" }, [
+  /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "0.69"),
+  /* @__PURE__ */ createBaseVNode("span", { class: "right" }, " / S")
+], -1));
+const _sfc_main$7 = /* @__PURE__ */ defineComponent({
+  __name: "main",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$7, [
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "center"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 4 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_2$5, [
+                      _hoisted_3$2,
+                      createBaseVNode("div", _hoisted_4$1, [
+                        createBaseVNode("div", _hoisted_5, [
+                          createBaseVNode("span", _hoisted_6, toDisplayString(_ctx.$t("home.main.one")), 1),
+                          createBaseVNode("span", _hoisted_7, [
+                            createTextVNode(toDisplayString(_ctx.$t("home.main.day")) + " ", 1),
+                            _hoisted_8,
+                            _hoisted_9
+                          ])
+                        ]),
+                        _hoisted_10
+                      ])
+                    ])
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Col), { span: 4 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_11, [
+                      _hoisted_12,
+                      createBaseVNode("div", _hoisted_13, [
+                        createBaseVNode("div", _hoisted_14, [
+                          _hoisted_15,
+                          createBaseVNode("span", _hoisted_16, [
+                            createTextVNode(toDisplayString(_ctx.$t("home.main.day")) + " ", 1),
+                            _hoisted_17,
+                            _hoisted_18
+                          ])
+                        ]),
+                        _hoisted_19
+                      ])
+                    ])
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Col), { span: 4 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_20, [
+                      _hoisted_21,
+                      createBaseVNode("div", _hoisted_22, [
+                        createBaseVNode("div", _hoisted_23, [
+                          createBaseVNode("span", _hoisted_24, toDisplayString(_ctx.$t("home.main.up")), 1),
+                          createBaseVNode("span", _hoisted_25, [
+                            createTextVNode(toDisplayString(_ctx.$t("home.main.day")) + " ", 1),
+                            _hoisted_26,
+                            _hoisted_27
+                          ])
+                        ]),
+                        _hoisted_28
+                      ])
+                    ])
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Col), { span: 4 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_29, [
+                      _hoisted_30,
+                      createBaseVNode("div", _hoisted_31, [
+                        createBaseVNode("div", _hoisted_32, [
+                          createBaseVNode("span", _hoisted_33, toDisplayString(_ctx.$t("home.main.down")), 1),
+                          createBaseVNode("span", _hoisted_34, [
+                            createTextVNode(toDisplayString(_ctx.$t("home.main.day")) + " ", 1),
+                            _hoisted_35,
+                            _hoisted_36
+                          ])
+                        ]),
+                        _hoisted_37
+                      ])
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const main_vue_vue_type_style_index_0_scoped_2ef760ef_lang = "";
+const main_vue_vue_type_style_index_1_scoped_2ef760ef_lang = "";
+const Main = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-2ef760ef"]]);
+const _imports_0$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAHeklEQVRYR81Y228WRRQ/Z7ZQQMHEELkkYAtyC7fPiJoYIhAE4UFjJCAQffBBfaFN+QNIgOJfQEj8iIhKDIZgjBsohApUW1EjopEgxdBCwMICghEotGV3xpy57Jzdb1uCaYjz0H67ey6/+Z0zZ84MQm6o4zPGQSLnA+IsADUaAKvyMoP7rGJQeA1AnYJAtOG805e5fXQP6ujCKhgRrZQACwQCAkgmJzKY6Ev2zSBBVqAAVSuIR/fgvJ/vkVUNUIMbfnkdAM7IuBISpMZp4NBfA06CFACC/rAhhQRBX6WfgJenL8aAljMG6MG8FEaPfgsM2uHOmK24qCU2AI9NXwMgF2rXVi9FZI0aHMaQcWLtO/jWjyQHJCmE9k/CZo4augVPfgikUTYTysUkgBZ8vn03qrZp4yGADVIpLeHEDBeOMYeSv3FQHIUuJSwQw6WdltMzst6Hi4r/7oBKRCkS2UgAVwGqxdJmo1AeFL1z7rRlZZJCv1OWqTRRAJyukeFZLACUtAnl7fD00PJk39lTRDoexqRt+iZAOTabY964eOHMu86QOrM+VNebokzi5R6ywAaSrGTTSacMo4gwaZ22DUBVFS5Lyo35DGD7+lD91RTl6PGe8gufL3f+rQh38cxiTL6ZWh6QkRdzAK8OzOD9OXswCUxappZNsSkeIgOwIVRXDhSHuD8bNm8LrfOcYznOZQ1AvgLyObWAMfh7Q6iu9QOQ642cNSp9vHOuG5Lu5MF489KYHOEhttOl5eTq5+I//CI51RCqqxwgp8f9ViAW5XUoLYji3DKtQJ0PgwJMvvYMKtB7HBsKBAd4kgAaZ3pXSqWdY7teKnQORAZ+fkL98epQEMDmKTrERpXP0jp7ibFxsiGUV5oiJ5dNLwOaRlCg46AUpSpN1bFrfvm/GFuA+hUrC+45WMoA/tYQyqtNEUoA2necjP5vU4J+iwIdDZBqtZXT+mTHInc26B3fajA+MKXsCa2kPFjGAP7aEMooW2aKMiurUx/K6KBe+fjYjJE4cvooPbW+G33yasu1+wUZ4yYTYj0KkAbLOcD6UF4+GFXI5TIjq+MnJWZuLuGE1c9pX92dUfLtsjBji8ff5g/GTZPLpjVhc/H7PnBnyS/1IRAb6a5guxunasOT0TlRH8IVoyNmby7hRAvwdmeUtC4LvdfiLhPjkDFouz3fBwEErzAGT9SHsouH2PdyBrRxwnUSAthlQgxzN5eCFGBHlBxdHvpt0zaRrD/UORuHk8sVmaq/kMWcs+P1IVCIqeeb3VjCmjU6XOp2ZySPLg2dneDVs2nt1AD/NJMSc7wOEINHlvoQOyrd6rGlBeOvJg+4F2ecEcBLlsE5jaUgBdgRySMvp+H6LzpuledTDeMvKQf7OX8IgOA1xsZP9SFcbIp0ypYYwFsdkWx2ACUEr3d6BrXOvkh34nMbS0GtZZ10Di+xk3LtuGlx/XKQgH1f1JZdw01NKBUqoSRIW7CG5J1d2GdWcen9UjDJO4ubyRnpAgQr2KR+NCHWzS9NiunI5iWhA6SbVfKdduG2sPTtJYB+5BfzkBWMjR9okeyLtMzTOYCHloSupSvS0TmY05GHDEA3+FEgrXx9n1uA+YOClRiykgE8Vh9KChc5e3ZLKZi01iySWx1RfHBJ6MrPkDe4Tl0ou/YbHQL4FGOddPgoqDTY4wCSAba5OtmsMwbwGebsZkcUH/BsVGcAGh2yV1WgkwHIzjGOL+zZXVvuhzxNSPVqxsZ3daG8aNmYt6UUPGUZvNkR9TX5EHOd+FhdmFwwOlUFOqaYVV4TuNBjz2e15fR8mtsR6LF6rQcYt9aFycX9kaCCN2zsUBgxepg2f+9uLG+dvZPm0uMzR7m1KG91dot73YmOyLAnhsKIMcO0HOn8c/YOqXuAJoTmWYGg/qpnV3aRZClXUP3mOV8y2nd+r/5uv0HqZvstOulkz87Fe2jWC9mKO/Z22XVrP9oGsOfTmrLvdiu7heq3PMB8vgzmc++u2u2VsBVgz8c15YKjvpEVAA8N4CcWYO4GBHs+Igb7H9VvPyQGd+YZtAHv2fHkNn0HWNyL+x5xMOM50FGU+1GqF+9+WLMJEfTVx/9tIMhL2Lt94ioZiMX6LOCKEkdq35u7L3OOoNy027Z56d7Z35ljAFvodrvVKukh1eqmZxG296GSh7F7x4TxIsENqIRQ7v6PAXEA9DddtCSgFOaQZOXSiLEKow9DWoVKkshcbhkiJCh2ial7E3e2o54FpUwC1agzr/eDCWsUBgtdeXSUmLQ0wAigq33ZI0jaj7DDI5VYV2rpvyu/7hTXT3tnI0f2UUBL9Tvnd2sMaiNU3R03cR0qMSN1jhJQMWC5Kbp6T6jM3adlSoMxoGhi9NsPAQrdvTOBNZPTPu1ZFpFuYUX78Cvnt+JGMFfAKcixNStRyQWIgP6uIOvcA8knrWGY7xwGgHvnmc7esTL8ijIHW4eK0XvwPXaJzkSge+uE8ViF8xHULAQxWqEKUie683YHpcz9cHqIz+DRoTJR4JflKCUo6rB1DstehXBdAZxWsWp7pO7iJY7nX5Z2E5VlYvhPAAAAAElFTkSuQmCC";
+const _withScopeId$3 = (n) => (pushScopeId("data-v-f83ab95d"), n = n(), popScopeId(), n);
+const _hoisted_1$6 = { class: "curve" };
+const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0$1,
+  class: "image"
+}, null, -1));
+const _sfc_main$6 = /* @__PURE__ */ defineComponent({
+  __name: "curve",
+  setup(__props) {
+    const { t } = useI18n();
+    const { currentLocale } = useLocale();
+    let echarts = inject("echarts");
+    const echartsDom = ref();
+    let option = {
+      tooltip: {
+        trigger: "axis",
+        axisPointer: {
+          type: "cross",
+          crossStyle: {
+            color: "#999"
+          }
+        }
+      },
+      legend: {
+        data: [t("home.main.down"), t("home.curve.play"), t("home.curve.page")],
+        top: "10"
+      },
+      dataZoom: [
+        {
+          type: "inside",
+          start: 10
+        },
+        {
+          type: "slider"
+        }
+      ],
+      xAxis: [
+        {
+          type: "category",
+          data: new Array(20).fill("16:00"),
+          axisPointer: {
+            type: "shadow"
+          },
+          axisLabel: {
+            // eslint-disable-line
+            formatter(value, index2) {
+              if (index2 % 2 !== 0) {
+                return value;
+              }
+              return value;
+            }
+          }
+        }
+      ],
+      yAxis: [
+        {
+          type: "value",
+          min: 0,
+          max: 50,
+          interval: 5,
+          axisLabel: {
+            formatter: "{value} s"
+          }
+        },
+        {
+          type: "value",
+          min: 0,
+          max: 30,
+          interval: 5,
+          axisLabel: {
+            formatter: "{value}"
+          }
+        }
+      ],
+      series: [
+        {
+          name: t("home.main.down"),
+          type: "bar",
+          barWidth: 12,
+          itemStyle: {
+            color: "#4e85f4",
+            barBorderRadius: [5, 5, 0, 0]
+          },
+          tooltip: {
+            valueFormatter(value) {
+              return `${value} s`;
+            }
+          },
+          data: [
+            22,
+            4.9,
+            7,
+            23.2,
+            25.6,
+            16.7,
+            15.6,
+            22.2,
+            12.6,
+            22,
+            6.4,
+            33.3,
+            22,
+            4.9,
+            7,
+            23.2,
+            25.6,
+            16.7,
+            15.6,
+            22.2,
+            12.6,
+            22,
+            6.4,
+            33.3,
+            22,
+            4.9,
+            7,
+            23.2,
+            25.6,
+            16.7,
+            15.6,
+            22.2,
+            12.6,
+            22,
+            6.4,
+            33.3
+          ]
+        },
+        {
+          name: t("home.curve.play"),
+          type: "line",
+          smooth: true,
+          showSymbol: false,
+          yAxisIndex: 1,
+          lineStyle: {
+            normal: {
+              color: "#5f45ff"
+            }
+          },
+          // 区域填充样式
+          areaStyle: {
+            color: {
+              type: "linear",
+              x: 0,
+              y: 0,
+              x2: 0,
+              y2: 1,
+              colorStops: [
+                {
+                  offset: 0,
+                  color: "rgba(163, 156, 211,0.2)"
+                },
+                {
+                  offset: 1,
+                  color: "rgba(58,132,255, 0)"
+                }
+              ],
+              global: false
+            }
+          },
+          tooltip: {
+            valueFormatter(value) {
+              return value;
+            }
+          },
+          data: [
+            22,
+            4.9,
+            7,
+            23.2,
+            25.6,
+            16.7,
+            15.6,
+            22.2,
+            12.6,
+            22,
+            6.4,
+            3.3,
+            22,
+            4.9,
+            7,
+            23.2,
+            25.6,
+            16.7,
+            15.6,
+            22.2,
+            12.6,
+            22,
+            6.4,
+            3.3,
+            22,
+            4.9,
+            7,
+            23.2,
+            25.6,
+            16.7,
+            15.6,
+            22.2,
+            12.6,
+            22,
+            6.4,
+            33.3
+          ]
+        },
+        {
+          name: t("home.curve.page"),
+          type: "line",
+          smooth: true,
+          showSymbol: false,
+          yAxisIndex: 1,
+          lineStyle: {
+            normal: {
+              color: "#ff9e03"
+            }
+          },
+          areaStyle: {
+            color: {
+              type: "linear",
+              x: 0,
+              y: 0,
+              x2: 0,
+              y2: 1,
+              colorStops: [
+                {
+                  offset: 0,
+                  color: "rgba(226, 210, 66,0.2)"
+                },
+                {
+                  offset: 1,
+                  color: "rgba(58,132,255, 0)"
+                }
+              ],
+              global: false
+            }
+          },
+          tooltip: {
+            valueFormatter(value) {
+              return value;
+            }
+          },
+          data: [
+            22,
+            9,
+            17,
+            27.2,
+            15.6,
+            26.7,
+            25.6,
+            22.2,
+            12.6,
+            22,
+            26.4,
+            13.3,
+            22,
+            24.9,
+            12,
+            23.2,
+            25.6,
+            26.7,
+            25.6,
+            22.2,
+            22.6,
+            22,
+            26.4,
+            23.3,
+            22,
+            24,
+            27,
+            13.2,
+            15.6,
+            16.7,
+            11.6,
+            22.2,
+            22.6,
+            32,
+            16.4,
+            13.3
+          ]
+        }
+      ]
+    };
+    onMounted(() => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      option && myChart.setOption(option);
+      window.addEventListener("resize", () => {
+        myChart.resize();
+      });
+      nextTick(() => {
+        myChart.resize();
+      });
+    });
+    watch(currentLocale, (newValue, oldValue) => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      if (newValue === "zhCN") {
+        option.legend.data = ["采样PV", "首屏可见", "页面Onload"];
+        option.series[0].name = "采样PV";
+        option.series[1].name = "首屏可见";
+        option.series[2].name = "页面Onload";
+      } else {
+        option.legend.data = [
+          "Sampling PV",
+          "Visible on the first screen",
+          "Page Onload"
+        ];
+        option.series[0].name = "Sampling PV";
+        option.series[1].name = "Visible on the first screen";
+        option.series[2].name = "Page Onload";
+      }
+      myChart.setOption(option);
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$6, [
+        _hoisted_2$4,
+        createBaseVNode("h3", null, toDisplayString(_ctx.$t("home.curve.trend")), 1),
+        createBaseVNode("div", {
+          id: "line",
+          ref_key: "echartsDom",
+          ref: echartsDom
+        }, null, 512)
+      ]);
+    };
+  }
+});
+const curve_vue_vue_type_style_index_0_scoped_f83ab95d_lang = "";
+const Curve = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-f83ab95d"]]);
+const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAISklEQVRYR71Ze3BVxRn/vkPGoe2UP2qQBKcgr6gV65UGKUyG4ISmtZCqUKJ0WqbSDulgUFKm0TYNJoLPTqlOZNqrM7a106FD6TjuiAkkIblNCHmSlJehII8Q00NuSICSgHKz29nn2XNy743K1PNH7tk9+33fb7/3bhACz3PRcLrjjGYxCnMRMRUQUwAoOOAAFWvlXwBH/eqxN8e/ULEuuEZykV8UP8ZiwCAKDjtK6YTGkskF/7EhoR6UsbKUlIHJqxAgG4CZ+eAG/r9jZAygYXJqys4CLLjOZQkgHJwz8JVCoHinDUBq4vN5bF0jg+7RKRcqyrAsJgBudn+3GgGWADCFRiuQj5O96/V6r/Z6PpeIPvjNVoLkyQDrn00r2oHFPS9NTUnBUuFmQfVpl7NVaW/VehfbcNQWx7ql5BzfLce6tVodi7Et+FTvc/kUIEfogDnS+5glAdU8UKlLBOCOwn9RKZBxZLbXMgqoEXN2fMx/xR+1VskQU5yd4Kt2jFTwpgi1WHS2rJyBkyYXUgDqADpUGceBbdNK12nF/nlgF/nXyPuuWAeOFBrHRTUvBEd+pwAoZHO+kk6rk1EK4Diedvlasw/qYuGp0u0MQKQS+ehdyNFrtz1rAL7Zv5McHD7kCmljkCkUQjOeJnxu6PMB7TeWPE2rdo4AMVx3sjjsC1VBp4gdgPCslwzAN87vIO2Xu1yx4zGP2iCndfS7tWcxpejMdxuk3phfo/jY8aJw/FQiif+Usc0A3O6+Rdoud7nx2GqjJYqzODsScBOlff0NHz1aGE4WpH/9WoUBWPHhH0nzpYNuslrCgcye+NVJGlDv9fPD10Y/HtXjgGHH5Nng5nHlkYKwL18FUsGuu/9gAG479wZputzhxk0ZwnoyvHfdFaC52OF6VU/nRvVrUhUDcFAFi5c/Ma/zsbCXP0Su8fAyABJ60wB8+czvSePFNgnQzt/2GADIPQGaS+2uiapxc7eVGxgAPtD5o3A8/9Bz74XeMgBfOLOdNAy2eNpIQDiG5mKL3NRneDC344cCoA4sbgpjZQpQmfkXA/D50xWkYahV+KDPb223AIDKeTbNa6RhqMWN62wBwCIlqjmRDLihlrY9mlSD1Zk7DMCtH7xKIkPN42rDT1NBIkNNgmb2l2Z8edbE6ZP4fq7ELn984NLB6HhKxZzWR0SaCUaymEOAmsy/GYBbPniF1A1KgMFos6O0Zr5N8yqpGzzgcl4bp/0ktPyWb93H1/Zc63PXHv45CZbtIBbMbl2pNMjLEgW0VzgA9fN3GYDlJ18hdUIbuhTG3/9YmkaxqU3TC0J5FsA1h58gJiOI8sbLoB8iZjWvCBv/0/ZXKuLzkYX/MAA3n/wtqYs2uaJ0BhK/KuOCQ8MCP00k2uRynyqewQHmCg2evdrnrunaIDWYoMBwObiw6XthrxHxDCcbAoCmhe8YgKUnfkNqB6QGi2euDz005dtG2A+6HifCAgCwP0CzT9H8wkfT667uepx4SUWi9BoJnpgcwAX785IGSfMiYgCWnHiZ1EaluZ6atT708JTvKIC97iOd66W5AOCz0CQKFsxsWBa22znZpsmCzf2hddF7BuAvj79Iai9wgBSenlkYWpH2XQHwzNVeN7/jZ0RHTmvWu4bmV90vkurBRpdr5umZ6300qzrXEdm2yTZPmpqqdlSOcV7DA6rUxdkDBehYXOkB7H6B7B34p8hpJXM2hFakK4Aj59yV7VyY9KeOrDg0AFAye4MF8Jy7smMdCcSEP51wk98TyfWZWDaZXvB3Ld5jABZ3P0/29keENkrmPBH6fvoyqcGRc+7D7T81Ju4M0FT3R1xe4X5t0ZxWNMHjY6BSA94dWSoB6j5ee6paeWhxtQfw2FZSNRBx+drSjI2hVenLBUAu7MH2tUTzOJRt0XRvJVXnIyIPlsx50k/TtpbYbbmnGg823lWfozQotSZbck+DR7L3GYCbjm0he6IRESSbM54M5afnKYA97vK2tSIi+XMku8ZHUxWtEzTPZBT5aPLafkw8jfnlalvjHfuyZS2Oc+jic0fvrzfCio6Wk6p+Kaz8jk1G2KmRHndZyxqi62g8Gv7tmYxNofxb5aY4TV7LGl8l0VFg6jH3wYyaxUnTzPGciAG48fBmUtkvNThlYupNk2+6eSJ/v0avxk5e6RnRAuZOut00rKeHzw4Pj14TDWsymoRpZk5NlmViG7vsP/+9dL93quv5+4FjV04MJmJ2I/Nv9+3+UOYVleZUecEZ1QvjaNCcVuGUBfBGAIxHO7Nm0etyje+ADXjbngVhrxgGHZHC6dxmo8HxhNzI9xk133zdTtaaF06rnC81qKyrz9E6gZ7Nbf1cAE7fe5/SoGxEBBxu8Vv3fGM7Un4H+Omf4FXRJ+EQvJ5KRKN4f4RTq+4tRzYhzXf3wKkEJ76FOIdMg8xucwOXWUZystY2cFYQfKk5tDGAPkzbPS8fkebYMEyrp2LF3COocYBt0jvEuJ164MCe6JyNjNVi6t57p6bEaCk/lUr1o6o+njHQdxHjvzLyKgGnY9ZKOY73SBpvtYxbOZbSxYjGrjtbxCh199dXO4hLhJmFenTEqOOemdPf1f1NwMI+MEbtfO3YGyw7MMW7UaO0D2WsfmDZoR0Sbt2SlNThaCEA3Claee57RoAk0Ffo/nCXkOQVu5YizwO6vZPtpfrueFfrHh6LUh95EboHvnhzBdxfL6+ADcj/RldRB7OBMt51jb2gDhSahGvso9onCW29xkHGGG0YSv/CTsjs8C7RbR6p79w+leKELAA2l/F/QzCY8Glk2GsTXXAG+H3EEC44DN532GjjwIPH++zv/wOqmhHBZasEuwAAAABJRU5ErkJggg==";
+const _withScopeId$2 = (n) => (pushScopeId("data-v-282ced62"), n = n(), popScopeId(), n);
+const _hoisted_1$5 = { class: "falls" };
+const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  class: "image"
+}, null, -1));
+const _sfc_main$5 = /* @__PURE__ */ defineComponent({
+  __name: "falls",
+  setup(__props) {
+    const { t } = useI18n();
+    const { currentLocale } = useLocale();
+    let echarts = inject("echarts");
+    const echartsDom = ref();
+    const list = [
+      {
+        label: "Dns",
+        value: "Dns"
+      },
+      {
+        label: t("home.falls.tcp"),
+        value: "TCP"
+      },
+      {
+        label: t("home.falls.ssl"),
+        value: "SSL"
+      },
+      {
+        label: "Dns",
+        value: "Dns"
+      },
+      {
+        label: t("home.falls.tcp"),
+        value: "TCP"
+      },
+      {
+        label: t("home.falls.ssl"),
+        value: "SSL"
+      },
+      {
+        label: "Dns",
+        value: "Dns"
+      },
+      {
+        label: t("home.falls.tcp"),
+        value: "TCP"
+      },
+      {
+        label: t("home.falls.ssl"),
+        value: "SSL"
+      },
+      {
+        label: "Dns",
+        value: "Dns"
+      },
+      {
+        label: t("home.falls.tcp"),
+        value: "TCP"
+      },
+      {
+        label: t("home.falls.ssl"),
+        value: "SSL"
+      }
+    ];
+    let option = {
+      tooltip: {
+        trigger: "axis",
+        axisPointer: {
+          type: "shadow"
+        },
+        formatter(params) {
+          let tar;
+          if (params[1].value !== "-") {
+            tar = params[1];
+          } else {
+            tar = params[0];
+          }
+          return tar.name + "<br/>" + tar.seriesName + " : " + tar.value;
+        }
+      },
+      grid: {
+        left: "3%",
+        right: "4%",
+        bottom: "3%",
+        containLabel: true
+      },
+      xAxis: {
+        type: "value",
+        show: false
+      },
+      yAxis: {
+        type: "category",
+        axisLabel: {
+          formatter(value, index2) {
+            var _a, _b;
+            return (
+              // eslint-disable-next-line prefer-template
+              ((_a = list[index2]) == null ? void 0 : _a.label) + "  " + ((_b = list[index2]) == null ? void 0 : _b.value) + "  " + value + "s"
+            );
+          },
+          margin: 20
+        }
+      },
+      series: [
+        {
+          name: "Placeholder",
+          type: "bar",
+          stack: "Total",
+          itemStyle: {
+            borderColor: "transparent",
+            color: "transparent"
+          },
+          emphasis: {
+            itemStyle: {
+              borderColor: "transparent",
+              color: "transparent"
+            }
+          },
+          data: [0, 900, 405, 250, 136, 236, 651, 169, 156, 195, 192]
+        },
+        {
+          name: "Income",
+          type: "bar",
+          stack: "Total",
+          itemStyle: {
+            color: "#4e85f4",
+            barBorderRadius: [2, 2, 2, 2]
+          },
+          label: {
+            show: false
+          },
+          data: [500, "-", 593, "-", "-", 135, 178, 286, "-", "-", "-"]
+        },
+        {
+          name: "Expenses",
+          type: "bar",
+          stack: "Total",
+          itemStyle: {
+            color: "#5f45ff",
+            barBorderRadius: [5, 5, 5, 5]
+          },
+          label: {
+            show: false
+          },
+          data: ["-", "-", "-", 408, 154, "-", "-", "-", 119, 361, "-"]
+        },
+        {
+          name: "test",
+          type: "bar",
+          stack: "Total",
+          itemStyle: {
+            color: "#e2b525 ",
+            barBorderRadius: [5, 5, 5, 5]
+          },
+          label: {
+            show: false
+          },
+          data: ["-", 99, "-", "-", "-", "-", "-", "-", "-", "-", 32]
+        }
+      ]
+    };
+    onMounted(() => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      option && myChart.setOption(option);
+      window.addEventListener("resize", () => {
+        myChart.resize();
+      });
+      nextTick(() => {
+        myChart.resize();
+      });
+    });
+    watch(currentLocale, (newValue, oldValue) => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      myChart.setOption(option);
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$5, [
+        _hoisted_2$3,
+        createBaseVNode("h3", null, toDisplayString(_ctx.$t("home.falls.line")), 1),
+        createBaseVNode("div", {
+          id: "flow",
+          ref_key: "echartsDom",
+          ref: echartsDom
+        }, null, 512)
+      ]);
+    };
+  }
+});
+const falls_vue_vue_type_style_index_0_scoped_282ced62_lang = "";
+const Falls = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-282ced62"]]);
+const _hoisted_1$4 = { class: "container" };
+const _sfc_main$4 = /* @__PURE__ */ defineComponent({
+  __name: "roundtable",
+  setup(__props) {
+    const { t } = useI18n();
+    const pagerConfig = reactive({
+      component: Pager,
+      attrs: {
+        currentPage: 1,
+        pageSize: 10,
+        pageSizes: [5, 10],
+        total: 0,
+        layout: "total, prev, pager, next, jumper, sizes"
+      }
+    });
+    async function fetchData(params = {
+      pageIndex: 1,
+      pageSize: 10
+    }) {
+      let offset = (params.pageIndex - 1) * params.pageSize;
+      const total = tableData.length;
+      return {
+        result: tableData.slice(offset, offset + params.pageSize),
+        page: { total }
+      };
+    }
+    const fetchDataOption = reactive({
+      api: ({ page }) => {
+        const { currentPage, pageSize } = page;
+        return fetchData({
+          pageIndex: currentPage,
+          pageSize
+        });
+      }
+    });
+    const tableData = [
+      {
+        id: "1",
+        space: "4G",
+        pv: "1767(97.77%)",
+        play: "0.44s",
+        page: "2.7s"
+      },
+      {
+        id: "2",
+        space: "2G",
+        pv: "22(1.77%)",
+        play: "0.43s",
+        page: "1.1s"
+      },
+      {
+        id: "3",
+        space: t("home.round.unknow"),
+        pv: "32(1.77%)",
+        play: "0.44s",
+        page: "1.7s"
+      },
+      {
+        id: "4",
+        space: t("home.round.unknow"),
+        pv: "32(1.77%)",
+        play: "0.44s",
+        page: "1.7s"
+      },
+      {
+        id: "5",
+        space: "3G",
+        pv: "16(0.88%)",
+        play: "0.66s",
+        page: "3.12s"
+      },
+      {
+        id: "6",
+        space: "5G",
+        pv: "1765(97.35%)",
+        play: "0.44s",
+        page: "1.7s"
+      },
+      {
+        id: "7",
+        space: "2G",
+        pv: "32(1.77%)",
+        play: "0.65s",
+        page: "2.92s"
+      }
+    ];
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$4, [
+        createVNode(unref(Grid), {
+          ref: "grid",
+          "fetch-data": fetchDataOption,
+          pager: pagerConfig
+        }, {
+          default: withCtx(() => [
+            createVNode(unref(Column), {
+              field: "id",
+              title: _ctx.$t("home.roundtable.index"),
+              width: "100"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "space",
+              title: _ctx.$t("home.roundtable.space"),
+              width: "200"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "pv",
+              title: _ctx.$t("home.roundtable.pv"),
+              width: "220"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "play",
+              title: _ctx.$t("home.roundtable.play"),
+              width: "200"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "page",
+              title: _ctx.$t("home.roundtable.page")
+            }, null, 8, ["title"])
+          ]),
+          _: 1
+        }, 8, ["fetch-data", "pager"])
+      ]);
+    };
+  }
+});
+const roundtable_vue_vue_type_style_index_0_scoped_83d55124_lang = "";
+const RoundTable = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-83d55124"]]);
+const _withScopeId$1 = (n) => (pushScopeId("data-v-efe9211a"), n = n(), popScopeId(), n);
+const _hoisted_1$3 = { class: "round" };
+const _hoisted_2$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0$1,
+  class: "image"
+}, null, -1));
+const _hoisted_3$1 = { class: "round-from" };
+const _sfc_main$3 = /* @__PURE__ */ defineComponent({
+  __name: "round",
+  setup(__props) {
+    useI18n();
+    const { currentLocale } = useLocale();
+    let echarts = inject("echarts");
+    const echartsDom = ref();
+    let option = {
+      tooltip: {
+        trigger: "item"
+      },
+      legend: {
+        orient: "vertical",
+        y: "center",
+        x: "right"
+      },
+      series: [
+        {
+          type: "pie",
+          selectedMode: "single",
+          radius: ["60%", "80%"],
+          itemStyle: {
+            borderRadius: 10,
+            borderColor: "#fff",
+            borderWidth: 2
+          },
+          avoidLabelOverlap: true,
+          label: {
+            show: false,
+            position: "center"
+          },
+          width: "100%",
+          emphasis: {
+            label: {
+              show: true,
+              fontSize: "40",
+              fontWeight: "bold"
+            }
+          },
+          labelLine: {
+            show: false
+          },
+          data: [
+            { value: 300, name: "5G" },
+            { value: 1048, name: "4G" },
+            { value: 735, name: "unknow" },
+            { value: 580, name: "3G" }
+          ]
+        }
+      ]
+    };
+    onMounted(() => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      option && myChart.setOption(option);
+      window.addEventListener("resize", () => {
+        myChart.resize();
+      });
+      nextTick(() => {
+        myChart.resize();
+      });
+    });
+    watch(currentLocale, (newValue, oldValue) => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      myChart.setOption(option);
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$3, [
+        createBaseVNode("div", null, [
+          _hoisted_2$2,
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("home.round.title")), 1),
+          createBaseVNode("div", {
+            id: "circled",
+            ref_key: "echartsDom",
+            ref: echartsDom
+          }, null, 512)
+        ]),
+        createBaseVNode("div", _hoisted_3$1, [
+          createVNode(RoundTable)
+        ])
+      ]);
+    };
+  }
+});
+const round_vue_vue_type_style_index_0_scoped_efe9211a_lang = "";
+const Round = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-efe9211a"]]);
+const _hoisted_1$2 = { class: "container" };
+const _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  __name: "regiontable",
+  setup(__props) {
+    useI18n();
+    const tableData = [
+      {
+        id: "1",
+        space: "上海",
+        pv: "1767(97.77%)",
+        page: "2.7s"
+      },
+      {
+        id: "2",
+        space: "香港",
+        pv: "22(1.77%)",
+        page: "1.1s"
+      },
+      {
+        id: "3",
+        space: "北京",
+        pv: "32(1.77%)",
+        page: "1.7s"
+      },
+      {
+        id: "4",
+        space: "广东",
+        pv: "32(1.77%)",
+        page: "1.7s"
+      },
+      {
+        id: "5",
+        space: "江苏",
+        pv: "16(0.88%)",
+        page: "3.12s"
+      },
+      {
+        id: "6",
+        space: "福建",
+        pv: "1765(97.35%)",
+        page: "1.7s"
+      },
+      {
+        id: "7",
+        space: "四川",
+        pv: "32(1.77%)",
+        page: "2.92s"
+      }
+    ];
+    const pagerConfig = reactive({
+      component: Pager,
+      attrs: {
+        currentPage: 1,
+        pageSize: 10,
+        pageSizes: [5, 10],
+        total: 0,
+        layout: "total, prev, pager, next, jumper, sizes"
+      }
+    });
+    const fetchDataOption = reactive({
+      api: ({ page }) => {
+        const { currentPage, pageSize } = page;
+        return fetchData({
+          pageIndex: currentPage,
+          pageSize
+        });
+      }
+    });
+    async function fetchData(params = {
+      pageIndex: 1,
+      pageSize: 10
+    }) {
+      let offset = (params.pageIndex - 1) * params.pageSize;
+      const total = tableData.length;
+      return {
+        result: tableData.slice(offset, offset + params.pageSize),
+        page: { total }
+      };
+    }
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$2, [
+        createVNode(unref(Grid), {
+          ref: "grid",
+          "fetch-data": fetchDataOption,
+          pager: pagerConfig
+        }, {
+          default: withCtx(() => [
+            createVNode(unref(Column), {
+              field: "id",
+              title: _ctx.$t("home.roundtable.index"),
+              width: "200"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "space",
+              title: _ctx.$t("home.region.title"),
+              width: "260"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "pv",
+              title: _ctx.$t("home.roundtable.pv"),
+              width: "260"
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "page",
+              title: _ctx.$t("home.roundtable.page")
+            }, null, 8, ["title"])
+          ]),
+          _: 1
+        }, 8, ["fetch-data", "pager"])
+      ]);
+    };
+  }
+});
+const regiontable_vue_vue_type_style_index_0_scoped_6c846ff9_lang = "";
+const RegionTable = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-6c846ff9"]]);
+const _withScopeId = (n) => (pushScopeId("data-v-5c348cc6"), n = n(), popScopeId(), n);
+const _hoisted_1$1 = { class: "region" };
+const _hoisted_2$1 = { class: "region-title" };
+const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0$1,
+  class: "image"
+}, null, -1));
+const _hoisted_4 = { class: "region-from" };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "region",
+  setup(__props) {
+    const data = [
+      { name: "北京", value: 35e4 },
+      { name: "天津", value: 12e4 },
+      { name: "上海", value: 3e5 },
+      { name: "重庆", value: 92e3 },
+      { name: "河北", value: 25e3 },
+      { name: "河南", value: 2e4 },
+      { name: "云南", value: 500 },
+      { name: "辽宁", value: 3050 },
+      { name: "黑龙江", value: 8e4 },
+      { name: "湖南", value: 2e3 },
+      { name: "安徽", value: 24580 },
+      { name: "山东", value: 40629 },
+      { name: "新疆", value: 36981 },
+      { name: "江苏", value: 13569 },
+      { name: "浙江", value: 24956 },
+      { name: "江西", value: 15194 },
+      { name: "湖北", value: 41398 },
+      { name: "广西", value: 41150 },
+      { name: "甘肃", value: 17630 },
+      { name: "山西", value: 27370 },
+      { name: "内蒙古", value: 27370 },
+      { name: "陕西", value: 97208 },
+      { name: "吉林", value: 88290 },
+      { name: "福建", value: 19978 },
+      { name: "贵州", value: 94485 },
+      { name: "广东", value: 89426 },
+      { name: "青海", value: 35484 },
+      { name: "西藏", value: 97413 },
+      { name: "四川", value: 54161 },
+      { name: "宁夏", value: 56515 },
+      { name: "海南", value: 54871 },
+      { name: "台湾", value: 48544 },
+      { name: "香港", value: 49474 },
+      { name: "澳门", value: 34594 }
+    ];
+    let echarts = inject("echarts");
+    const echartsDom = ref();
+    let options = {
+      tooltip: {
+        trigger: "item"
+      },
+      visualMap: {
+        show: true,
+        top: "-5px",
+        x: "left",
+        y: "bottom",
+        realtime: false,
+        splitList: [
+          { start: 5e3, end: 5e5 },
+          { start: 4e3, end: 5e3 },
+          { start: 3e3, end: 4e3 },
+          { start: 2e3, end: 3e3 },
+          { start: 1e3, end: 2e3 },
+          { start: 0, end: 1e3 }
+        ],
+        color: ["#9feaa5", "#5475f5", "#85daef", "#74e2ca", "#e6ac53", "#9fb5ea"]
+      },
+      series: [
+        {
+          name: "china",
+          type: "map",
+          mapType: "china",
+          roam: false,
+          zoom: 1.2,
+          top: "30px",
+          itemStyle: {
+            normal: {
+              areaColor: "#000",
+              borderColor: "skyblue",
+              borderWidth: 1,
+              shadowColor: "#ccc",
+              shadowBlur: 30,
+              opacity: 1
+            }
+          },
+          label: {
+            normal: {
+              show: true,
+              textStyle: {
+                fontSize: 5
+              }
+            }
+          },
+          data
+        }
+      ]
+    };
+    onMounted(() => {
+      const chartDom = echartsDom.value;
+      const myChart = echarts.init(chartDom);
+      window.addEventListener("resize", () => {
+        myChart.resize();
+      });
+      options && myChart.setOption(options);
+      nextTick(() => {
+        myChart.resize();
+      });
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$1, [
+        createBaseVNode("div", null, [
+          createBaseVNode("div", _hoisted_2$1, [
+            _hoisted_3,
+            createBaseVNode("h3", null, toDisplayString(_ctx.$t("home.region.title")), 1)
+          ]),
+          createBaseVNode("div", {
+            id: "earth",
+            ref_key: "echartsDom",
+            ref: echartsDom
+          }, null, 512)
+        ]),
+        createBaseVNode("div", _hoisted_4, [
+          createVNode(RegionTable)
+        ])
+      ]);
+    };
+  }
+});
+const region_vue_vue_type_style_index_0_scoped_5c348cc6_lang = "";
+const Region = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-5c348cc6"]]);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "contain" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.board", "menu.home"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createVNode(Main),
+          createVNode(Curve),
+          createVNode(Falls),
+          createVNode(Round),
+          createVNode(Region)
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_9655f689_lang = "";
+const index_vue_vue_type_style_index_1_scoped_9655f689_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9655f689"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index15.css b/admin-website/src/main/resources/static/assets/index15.css
new file mode 100644
index 0000000..65a9855
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index15.css
@@ -0,0 +1,3 @@
+.operations[data-v-6ddb8718] {
+  display: flex;
+}
diff --git a/admin-website/src/main/resources/static/assets/index15.js b/admin-website/src/main/resources/static/assets/index15.js
new file mode 100644
index 0000000..f0ffabf
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index15.js
@@ -0,0 +1,732 @@
+import { d as defineComponent, u as openBlock, y as createBlock, H as withCtx, W as unref, l as createVNode, w as createBaseVNode, E as toDisplayString, Z as pushScopeId, _ as popScopeId, a8 as reactive, j as onMounted, r as ref, a2 as watch, v as createElementBlock, M as Fragment, N as renderList, k as resolveComponent } from "./vue.js";
+import { C as Col, R as Row, L as Loadings } from "./index31.js";
+import { n as Layout, _ as _export_sfc, q as axios } from "./index.js";
+import { O as Option, S as Select } from "./index34.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index35.js";
+const _imports_0$2 = "/ui/admin/assets/woker.png";
+const _imports_0$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAA0UlEQVRIS2M0jHvl+e8f4yyG//9lGIgBjIxPmJj+p51fJLYdWbl+9Kv/RGnXj3n9mGjLYCYyMj65uERUljwLiXQZuusvLhVjHJoWorsc5gv0OKKaD0cthAXxaJDiKgQYiS0hCOVDYkoZkJoBsJCcoo2BgQFX9iHkU0aSC2+oiWRbSMhFuORJjntoLYNSAJNiOckWglMM4xP6WgiykxRfkVMdoZtPdLYgVJQRW+iPWgiPgtEgpXuiITZ7US2V0t5CcmoZUNFGbJmIHkck1zLQwhsA3xTnTytjJ1oAAAAASUVORK5CYII=";
+const _imports_1$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAFAUlEQVRYR82YfUyUdRzAPw/cCwLH5SGCmOfAyAmuSCfOF5opTCk1bZhhNiNfSpoTNYr5ksylmWVgknMa6lpmjRaZiMrEmk1ts2VYVC5LhBMEOY578UDv5Wl3gvHcCXeEOJ7/nj2/3/f7eb7vv5+Ax9NcI44WRZYAqYAWkVDPNb18NyNQC5QDn4QPF6o6yxM6XkRRVBiuko/Aa6JIQC+V+rVdEHAisGvgMFYLgmBzbXIDtcMcF+EpvyTd70UCFRotaS4oN1BztfixCFn3W09P5AkBFGq0wgrBFTOIVD4oN3UFKQg4RHhc0F8VCxBZ2ZO/6cO1+YK+WvwdGNWHSvwWLQhUuSxkQSTE1y6rUaRotZ5L524xYqyCxR+GExbhnYxVp29xcIOBm0YnM5apSMtS+RLd+bvZZSHRnx1fvtPCheOtzH1DTWmhiUfGKln03kDJVqcdssdcIzF1ANoEBV9sMrDum0hiEhX+qEAQEP0Gyl94g4fjFcxbq6Z0p4nKk22sOzxYokhf6+Ct5Do2fzeEyBgZb06sZ9bKMJLn+3SAW45PIL3OwaE8AzVVNkxNDlIWq0jPVXO00My3BUZUmkAJkMMhYtY7ePd0NBHaQHIn17tdp4mSkbwghJTM7ou+T6Ct6Y20mkWS5oRyttjC6CeDyMhTU7LdxLmvrUx9OUwCZDU6KSs0sPnUECJjZaxJqiduXBDqwYGcOmAi+9MIEpKVXbrPJ9CyWB0Ltgxi5IQgyncbuVhh5ZnXwzix10zsGCWz13jEkAO2za3j0fFKho5SULqjheV7oogeKWdvViOJKUHMXiX9CUkf6zaGRFgSU0tm/mC38ttWkcPvG/jnlza0CUrm5AxkgNo7y6orb1G2owWr2cmk+SompN9x077sG8RPVDA3R/0/LeQB5CnF1iZid7dD6SNTCsjvkVR9DvTD52Yun2/1AkqcHsITM7yzqs+BLp9vo6nGfheosdqGXmdjckYYcUlBXqB9DtRZoyu7SrY1u2MrecG9K/MDBaooMtLwt415G8ORK+/OfBIrHVzbRMIkZbetpPu09xHUHdpcbjuS30xXsdOxzmkXiY4RELqZRe8LUEdwP5cbjjpSWrmdDjhXbOaPM63odXai4+QkzQxmysKQ9llVGmq9BnIpPLShCUWQwLy3w6VtxA77sxtpqrW7W0ZUrJxrl2xUHDATN07JiqJBXtbqNVBzvYPD2/QMi1eSslRa8Cr2mfj5qIWNZVHoLtk4U3yTZR9puFHjYNPM6zybrSblFWlv6zVQ/V82fiq1MHy0ksdSgyUWKnjxOtOXhjJ1USg/llj5/qCF3K/uTAdHdpi4eMp7Wug1UFc9wGGHvGk6cg5FMHKC0g1U8oGRaYtCmZapovJkK/tzmtn521CJCJ/NdWViHckZKia90KOpz62kIKOetOVhTHkphIYrdo7tMhMoh+fXP8TJIgsXyq2sPxLZM6ATe8wUb2lBM0RGgOze9cXTSq46lJkfwdliM5XlVjaWRRKq+S/XDXUO8tIaeDpLxfRXpT/q00IuZVd/tVFTdRvR2WWTlnxwNdfxs4Pd67emN9By3UHqUpU7y3R/2ijfa0YbL2fVZxEESKtE+8To55DvH450lf02HNtt4sKJVhqv2IkaISNpVrB78vSEad9p6pfHoP51UOx3R2mX7/rVZYMLqN9dx3SC6h8XVp2Ttc+v9AQsQE1XV3r/Ahkdh5YlQ8AtAAAAAElFTkSuQmCC";
+const _imports_2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAAFpUlEQVRYR82Ye2xTVRzHv6e3vb3r3l23jo6xTJ5uDAgQlBCRiUOYYBRf4WGCQaNEhKCRP3wkJhIfmICMSEQIEkgQoqhTosAAISIhDoQ9GAgZsKFl6x5tV9q79t7eY87d1q7Zym3r1J3/7j2/x+ec8zu/8zuHYJBGPQ0TIQdfAKVlAEYBNGUwucT/EQ9Am0FIFfTcTpJafKm/LdL/g9J6Hm66GZS+DEp1iTuNQ5MgCJBtyCh5nRAiMc0QlArkCh4GRWkcJodOlJBjyCgpZ2BhqM6abQBWDZ2XBCwRspVkTlqjQtHO2hIQXPzPliwaL1tKPTepB8pZWwFKX01gbEOvQsimvpm6DNAJ8XigAQ/E5lMQm05Bcl1H0NfGhgd9ykjo00bCmDsVyWMXgvCp8ZhlsvW9UDVeAKZYtKkkwlO3B576PaCKDME2E3x2EThTjqoud92E5GpCoPUCaDAA0+gFSJ++GjohMxbzTMZNKNv6ztpgLBqy8zraqtZC8XchbfJKpNz7NIghaVBVBu/94xt46veq/VmlH4K3TtF2Q4gSMxQbedvRteDN45A19+PYRx4MoOPk2xCbfoZ5znsw3TMfVPbDbz8LYdSDAyFjhQp6W9D63TIYc6chq/R9QKcfYIz6XaCyCMIZQYyZAOmflylcZz6C91olchbtRsBRC/eFnbAtOZI4lOPQ86BSN3IWfQGiF8KGFBmy4zzkjkugEgvLnkY4AZx5AvTW6SD68PK2V70GyXkNnJAJQ9Z4ZM56KzEosekEOo69AeviAzBkjgkZoYEu+Bu/B/U7o8YJMSSDL1wIXe8mYDPecvBJKJKInAWfwWibkRhUa+UyGNILYZ6zIWyAKvBf/QqK6AjPjtEMImRCcTdGOGIpwTh+KQjHq//VnVuzC7ZlJwAyyPGqFVNsZPb95cgp/xzGEdNDzqSWasgtZyOc85PXQZcxDt2/rAWUQESfPqsYhvyHQv+Ubmf0jaIF5b1yEK7qCuQtZ6PieowqMsS6HQCVIxwbp70JXVohxNPrAOnOgGURileAGGJIpFpQ7uot8LdcUHdMX1M8zfA3Vg5wqgXFZorNmGbTguo89Y6aU7LmbgzZYjtNunUifqjcGdDn3qfqsR3ot59DSvGS+ANdvHkMhEuCkD8rDNV5BVJzVVQoufU3INAF6eYhQA6nCcOImWqKYK3r9+3quWl9fF/8UINNNfU50H31wIAuvuQVcJbwMeKv3QqlozYkxxeWg0sfrX47f92AoNcBy7yKoYFiVrobdoNVCRFNx6uBzopZGhRBPU3hbp0eQvHKUFpw/LACvKUIGTPXJwbla/xJPV645J4qgLWg+wYCNw5pxmyfgCFvDvTZJeqnInbCvq8MlkcqIIwMh0XImFagqwa+nAchfzYsZZsiIKSmKsjOK5pguuQ8GMcuDsl5anajq3YX8pYeBzhD/DPlvfw1nGc+AAUdkEChBBH48ySCnQ1Rwbi0QhgK5oWWjS25/cBCpJYsR9qUFwfX05qpth9fUqtI2WOH0u2C9bE9A0aneG9Dbq+H4rODSj71ANaZrODMReDSCiIcdxxfD7/jIkY8VRm1DoMW1O3989XijEuxofXbZ2DImgDLw5ujG7zLYrrPbYWnbi9yyneAt06OLqkF1V8z4KhD+9E10KcXwFL2CXRChmY8MQGWfFkK8DUehnn2uzCNefTuevFAMUuyuwltR1aDHagpRc8ideJz0eEUGb7rh+E+/ymUgA+WuRthtPVk9Ls2BqWOpjO+i0NXzQ7cubRfrS4F2/3gs4vBmbJ70oWvTT1GxFunwer05PFPIH3qKuiSzFo4ff3uf3TFYjPR/Vc1Au0NUFixR6kKp0/Lh5D/AJIKSiPyW4xUvVcsZ80WUKyJUenfFet3GR1+1/beuBpeDxwq1HB8CgqBDadHs/7R+38/L/4N5KPf/8UG78EAAAAASUVORK5CYII=";
+const _imports_3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADsklEQVRYR9WYW2gUVxjH/9+Z2XF3za4mkkSzRhERognaYmlUBNHFG4jggxe0ikgRihaT9KG0IFoKLT6YRNpSEBHxhpcHodRLK6svQrRU1JLogpRis1t3U4xxN252Z2fOkRnJJGuy2VlcdTxvZ+Z83/md73LOdw7hlSYeP6mHrn8KwVeAaBqEKHt1zGv1ifohxL8g9jsk6QhNmdQ1XB8NdoQQCiI9rSB8BiHYa01qV5iIQ+BnTK1qISLVEDOBTJho/DIEltnVVdJxhGsIVK82oF4Cdcd/BMSukk5StDL6iWqrd9PLmNH+emtuygdquE+S55KI9LRB8KaiF/QmBIi1k+iOGVE+pxj9IhFD9v5VaOHr4L2PwBNxU5z5q8EqpkOuWwrXnOUg/+Ri1Bpj75OIxJN2U1skepAOtSH753kIwSFVzYI0pQ7krzYnFok49Mdh6D0PQcTg+mg93MFmkL/KHhhRv2EhYWe09iCE1LkmQM9CWbgNysdbwCZNH1WUP3kE9Y9TUDuOA5IL3g3tkGcH7UwDW0BqxzGkf/0WUmAevJt/AE0M2FIu+qJInf4cevQe3Gv2Qlm4vaBcQSDTMid3Qq5fBe+GNkBWCirNGaCpSJ1rhtZ1Bd5PDhe01JhARswk24KQKmdh/M4zuTCcQ4tFwZ/2QqQHTAZye8DKKyBPDgBs2GavqXh+eBP0/x/C1xwaM6bGBBq48BWydy7A1xLKcRNPPoP2z9/gmfSo1mLj3JBnzATzTbD+G+5Ltgbh+nAdPOu+z2vlvEBGaicPLIayeAfcq7+2FBgw2XAXCmWCcQS46upzoNKXv4N64yh8X97IuyXkBVJvnsDAL/vg++L6UDZxDrXzbq5lPB6QxwPR2zti1YallIYPLPcZ2Zc8uBSetd9AWbB1VCvlBUod2wHeF0VZ02+WoPZfN7Rod44i16JFYJWVyFy8CGjaiEnkQC3kmlrre3/7SrCJAXi3Hy0OqL81CCnQAM/GQ5ag2nUPPPU8R5GyZAlYRQXSly4BmcxIK3nHQ6mfZ30fOLsHerQTZS2h4oAS+xugNG7OiZ/M7ZsQnBcFRIxh3PwFlowZR7dOw7+/8z0HKtZleiQCkclAC4cB1Sz+zMZK5TLbQd3YCKmmZijOOjrAYzGrX7Kgtp32kgRWXm4CCE2D6Osbsk4p095xG6OxTEcdHaYLnHa4GlCOKj8Go9NRBdog1NsrYR1Y5DvtGuS0i6LTrtLmfuOkxwYTyGnPMRaUUx6shpdu7/pJ7wUKGa1nPNRZtgAAAABJRU5ErkJggg==";
+const _withScopeId$5 = (n) => (pushScopeId("data-v-dec666ba"), n = n(), popScopeId(), n);
+const _hoisted_1$5 = { class: "col" };
+const _hoisted_2$5 = { class: "title" };
+const _hoisted_3$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("img", { src: _imports_0$1 }, null, -1));
+const _hoisted_4$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", { class: "plan-pass" }, "1890", -1));
+const _hoisted_5$5 = { class: "num" };
+const _hoisted_6$5 = { class: "col" };
+const _hoisted_7$5 = { class: "title" };
+const _hoisted_8$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("img", { src: _imports_1$1 }, null, -1));
+const _hoisted_9$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", { class: "plan-pass" }, "23", -1));
+const _hoisted_10$4 = { class: "num" };
+const _hoisted_11$4 = { class: "col" };
+const _hoisted_12$3 = { class: "title" };
+const _hoisted_13$2 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("img", { src: _imports_2 }, null, -1));
+const _hoisted_14$2 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", { class: "plan-fail" }, "113", -1));
+const _hoisted_15$2 = { class: "num" };
+const _hoisted_16 = { class: "col" };
+const _hoisted_17 = { class: "title" };
+const _hoisted_18 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("img", { src: _imports_3 }, null, -1));
+const _hoisted_19 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", { class: "plan-pass" }, "56", -1));
+const _hoisted_20 = { class: "num" };
+const _sfc_main$5 = /* @__PURE__ */ defineComponent({
+  __name: "learn-plan",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Row), {
+            flex: true,
+            justify: "center"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Col), null, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_1$5, [
+                    createBaseVNode("div", _hoisted_2$5, [
+                      _hoisted_3$5,
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.plans")), 1)
+                    ]),
+                    createBaseVNode("div", null, [
+                      _hoisted_4$5,
+                      createBaseVNode("span", _hoisted_5$5, " / " + toDisplayString(_ctx.$t("work.index.Numbers")), 1)
+                    ])
+                  ])
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Col), null, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_6$5, [
+                    createBaseVNode("div", _hoisted_7$5, [
+                      _hoisted_8$5,
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.Unfinished")), 1)
+                    ]),
+                    createBaseVNode("div", null, [
+                      _hoisted_9$5,
+                      createBaseVNode("span", _hoisted_10$4, " / " + toDisplayString(_ctx.$t("work.index.Numbers")), 1)
+                    ])
+                  ])
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Col), null, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_11$4, [
+                    createBaseVNode("div", _hoisted_12$3, [
+                      _hoisted_13$2,
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.beOverdue")), 1)
+                    ]),
+                    createBaseVNode("div", null, [
+                      _hoisted_14$2,
+                      createBaseVNode("span", _hoisted_15$2, " / " + toDisplayString(_ctx.$t("work.index.Numbers")), 1)
+                    ])
+                  ])
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Col), null, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_16, [
+                    createBaseVNode("div", _hoisted_17, [
+                      _hoisted_18,
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.Overdue")), 1)
+                    ]),
+                    createBaseVNode("div", null, [
+                      _hoisted_19,
+                      createBaseVNode("span", _hoisted_20, " / " + toDisplayString(_ctx.$t("work.index.Numbers")), 1)
+                    ])
+                  ])
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          })
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const learnPlan_vue_vue_type_style_index_0_scoped_dec666ba_lang = "";
+const learnplan = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-dec666ba"]]);
+const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAABBCAYAAABIHp+5AAAMK0lEQVR4Xu1da7AcRRX+Ts/s3pub8BCMVPyNWr4QRcW3iPpP/1glRSwRo5ACCVJRwEAEtrgBEUTEMsojkAAV0N/+UwFf+MAnKlpSpSJlWUKeRHL37s5MH+t09yzXvrOZ3l2mLgs9qc2Znj59+szp7545093TTag5PtrhdtLHB4VNM1gRSKiky3OhpRhWyL6zjb5XJzfmRwtMYoEB4IYJWQrckIoicEOsFHkmtcBzClzxxJQgjx530maJ5essMBFwlQJrDRK6NFS472r6fl3FMT9aYBILBAFX9fF+qSRRoEKDhVZVShqsU+QRuJM0SSwbYoEg4LZyfECECTBZgYQa4SmA3FEArEFI0b+3Qz8IqTzyRAuMa4Eg4La19bjLjhK0Qh2QWSO7d1sE7rgNEsuFWSAIuDPA6aMAd/fVdH9Y9ZErWmA8C0wG3Io6mZDtvioCd7zmiKVCLTAScJfFuF4tJv4F+vd06IFQBSJftMA4FggC7hrC+0S4H9Iuq7AA0EJ2zxURuOM0RiwTboEg4M4Bp4lITSDFYKGSLs+Flvnice++ih4MVyFyRguMboEw4CYWuBCPmjgq6fJcqABZg4oU/bu3RuCO3hSxxCgWGA24NZLLAYgI3FGaIPKOY4Eg4B7lPK7WYKVAQisrkwEJjWzXFfTDcZSJZaIFQi0QBNzVhPcagd5ImZIhXgUSakIFGRIm9HdeTj8KVSDyRQuMY4Fa4HY63H5iBu8xwitGypYO+co5zyDbeWlzwF2/lc8mYG3ozXILu+7r0N5Q/sg3HRaoBa7Mxz0qccD17ilJgSIHhA6OBNntTQL3cn6EgZNCzZskOGn3PP0xlD/yTYcFaoG78VZu5fttqFA3AGFuOUF2xxb6cVO3vz4CtynTTpXcIOAWe63HTVMgzy01kYM7F7rU40bgThUGplLZIODq/Xh31d2VUxyFDjxyC/kdF0ePO5VomCKlg4CrDlngVnrYJTdrPDIj23Ep/aQpG8RQoSnLTpfcIOCWHtfrDYNWYBktE7o0VLjtYvppU2aIwG3KstMlNwi4OIh3Vd2W/82Z+f6sjf4tm+mhpswQgduUZadL7kjA9T2u361rgEzIo8edLhBMo7ZBwFWH8M7gm0uRvZg87vqtvJ4AFWqf3dtwLxFVD5mHCol81V/rLrWL9OO2HXCLBJwUIKHCwwWIErBQ06sg54T8xQTcM7dyBjaD4UHHR05GesYZJPPs4jGBBYI8bvI03mHqqIsVUoBz5Ldc+uKJcSNwJ0DfBEWDgNvq4u2mDi+oLSfYCC1xnUWPe8TmiB53ArQuKToacOvqlEk2LeTfvIh+Vsc6bv7zrVchetxxW3KyciMB15/G6FdtPC8j276Zfj6ZWsNLR+A2ZdnpkhsE3JnDeFtIjBuBW9/4MVSot1EIRxhwexa4/uwwWXKJFNgsveQO6ceNHne46SNwQ2BZzxME3NkuTq0S5U+yER6tkG/fFEOFYaaPwK0HZQjHRMBVCVgXIKFlp0NCyG/eRL8MqXwcnhjjjmO1F16ZIODO9fFW400dSIVK2geuXJMBiAjcGCo0/acSBNzZHG8xQHUzwYRWKSazxIhRROBG4D4vgDvwuN40xmXTHOVlLUV20/n0cFOKx1ChKctOl9wgj7vGeVz/1qo++mWFPAI3etym/wyCgDuX4c2iSN03Z5LPBfIbL6BfNaV49LhNWXa65AYB92i2wK075NOepI38xo0RuLE7rA4tk+WPBNy6JZhkJRsFZNefR7+eTK3hpaPHbcqy0yU3CLjHKpwit5VnQNqy1IQO/793iZ08ppBH4MYYt+k/gyDgHg28yXSHuQXvhEra98BK+nlbyK47l37TlOLR4w637Fk38OrsgFvLOGD7Wigc/va26VygcCTg1oGx1bIvZxG4K+NxBbjF026BwrrGkkWHCIfvmW9unbcAFcZmCQLu8c7jSoTQAuAihcG5XJNDPulRjCICd+WAq/9rVx0qJz8JNdpU7IOQMBbuuqa5xVvGRmVAwSDgrk3wRpGVZYB4VaHmKFFcItfFuNd+in4bUPdYLDFUOHKogIXqpQSqSiWEhV1XNrd4y1gNHFgoCLjHOuD6Mv2J5bJVqvQqzJ9Dvwusf2S2CNwjAzdZcN8HemxVy2WpBN07v9jc4i0jN+4IBYKAe1wbJxuZdbGCOGGFfP7sCNxhbdDktMaNt/Ic77fALZd/FWoOrwvIbNtBWLh9S3OfWY2Aw5FZa4HbeZDT7O8WuEUBShKw0GGhQgTukdugaeAWe+2Hrf4oZ7l5uNBSw4TRvfXy5uZOj4zGEQoEAXfxcRvjJhpcKJDQqjrEIc8p5J0N9PsRdBiJNYYKw80lHhcHqyf9V5VKgO63vkC/GKkBnifMQcAtPe6ylzE/dHChQgTu8NZt2uOqQ3budN0SGMYRAd3tlzQ36b9JjAcBd/GfeIMo4Xci+BPLpTtsllFE4K4McDd/lVf1lZ07XbcNqHzY2tZYuPni5uaVbLiM1/YSi51lg1XeYJbwcIqn7uvQH0IAHwTcwgHXX4KpXI5JaFlZK0F+5Vn0SEjl4/DEUGG41QS4eeomRAVsNJO20L3pwubmlZxzDZ+w2LVhZsWOTWZ52vKjBFmTKmU8ddd82KhrEHDxL7tZiP9ytizgbwFJH8X8pyNwh8GryVBBgMstOzzvPw21DA4VIKGSL+cgdL9+URhQxnEy53X4Zd3E9Uh5u5ISgZlBQgeyU+zZtTXs/SgIuP1/uF1uvFjBf1mTF7e2Rt45O8zdj2OM6HGP7HFpxnq4OodrYlzG4g2bmhssuvBaXruQWOz4n31VzTSkNvbsuCQMO0HALT1uHdDEA7cUdAwVVi7GTeash/MHh/x13gQ4bULvuvOb63MX4GYtvNbFuFQuBF5lHZOXYN9tnwvb2isIuMUTeH0daM3LWxvQfRTR464McDs7ebbXty9DFR0+y5RKUix+ucGw7vNf4ZfmKV5jngD+Dk1+t4eNg/dt30SPhmAtCLjqPxa4vnsvclCSgoWaR08KRg4dgbtywF2Eayt/KQFv+1oZnmfG4rXnhj2aQ8Dk81z2DT7+cI5XV3pYb00Ow6Ow/2sX0F9C6goCLv6N11UK6wNoAxAqRxtQfRRXbghz9yEK+jwxxh1uNfG4WWLbyp8QVTEfSuZX9+YbbKvNO/g4XsSrjDP19sir6h5TGvuv/wz9NQQXQcBVT9o4pe6QN1npDtt6Jv2pjnfc/AjcIwO37x7NVV2VfslEodf5RHNttWU3v0R38QrzNHYr2Zddp37XquHROPiljfRYCDaeU+BKYJW0UETgrlyooGbtoznr23cOocOOJEGv83H6cwhQxuHp7ORjM40TTRTghQZ+DC6ApgQHtn2S/hZS10jA9d27//gpu8O2fCwswA5R8IUWKnz2Q5hbtw6cpqAnE1BL5n4oUEqgZw5ByXn5e4bsuToMSgjUS6AUQd7OSXXNSpnUk7T7LfQx++jjOJEkDRDJikOJnIC0yGIokxaQEGimjeyVJ+DxnGxaEZQ5lyK5vSa/XNIuX64X0gNc8jkq16iAEr7C8R86jDV7D2CdyNN2crvZ5EXSZqVPkSKXE0DSs3NYXHcU9ohs7WRIvvBDg5hMeavXw4/xTkmwJDTkazIjjF0B1lALi5iTtBQ0QuScYcSIgcy5LaNE8upZ9EROKcPoyja/VLasQ64PZJaKOf6BHs/qpO5/CC8/tIC2K2Nxbf/8yj9CQ+U/qf/0U7Hv6DUwdiOCkmvm3Olc3ru7ZgxjeFyDeHoa+wxkAPTdB9Aa9KBbPaXiZx3C0g52Bn/4NOTm6wSjniy1BpZ/Jk3QJg2XZpdv84RHk3CXPFa2lSFtr6G7fSSuU186+E2e/KT/n6T5Je3qk/SqNjKR7WTosoy7C19P7fQc1Gl0dTqV8oVH5OUFaKGHttFH6mB5vzcGZg1wQpYanUhGfJGtmsGiu9dn61iib3nvAtwNZeVKwSrmlFGlUWW0xRpB5oWZmxFlZYpjqbRcUwxz45DrJc+SGyvlC4+pR2TIeWrlaIaWNUVMfnldhrBd2uTLeWsJD5sbtuVTaM3gtjRiKUPSbZsutM2fkTx5y15lGtvkrWJwVkDr1YaP11j+we8YDe4dAy3XMg0+oQDnuf31TgQvAnyK2GfQEHFLqHGeqKFl/gdcV8nzkZjnEwAAAABJRU5ErkJggg==";
+const _imports_1 = "/ui/admin/assets/coach-2.png";
+function getUserData() {
+  return axios.get("/api/user/getdata");
+}
+function getUserPractic() {
+  return axios.get("/api/user/getrpractic");
+}
+function getUserTrain() {
+  return axios.get("/api/user/getrtrain");
+}
+function getUserChange(data) {
+  return axios.post("/api/user/getselect", data);
+}
+const _withScopeId$4 = (n) => (pushScopeId("data-v-5b4740cd"), n = n(), popScopeId(), n);
+const _hoisted_1$4 = { class: "coach-select" };
+const _hoisted_2$4 = { class: "col" };
+const _hoisted_3$4 = { class: "left" };
+const _hoisted_4$4 = { class: "left-content" };
+const _hoisted_5$4 = { class: "num" };
+const _hoisted_6$4 = { class: "left-title" };
+const _hoisted_7$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_8$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "right" }, [
+  /* @__PURE__ */ createBaseVNode("img", { src: _imports_0 })
+], -1));
+const _hoisted_9$4 = { class: "col" };
+const _hoisted_10$3 = { class: "left" };
+const _hoisted_11$3 = { class: "left-content" };
+const _hoisted_12$2 = { class: "num" };
+const _hoisted_13$1 = { class: "left-title" };
+const _hoisted_14$1 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_15$1 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "right" }, [
+  /* @__PURE__ */ createBaseVNode("img", { src: _imports_1 })
+], -1));
+const _sfc_main$4 = /* @__PURE__ */ defineComponent({
+  __name: "learn-coach",
+  setup(__props) {
+    const state = reactive({
+      loading: null,
+      options: [],
+      project: ""
+    });
+    const fetchData = async () => {
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("container"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getUserData();
+        state.options = data.options;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    let number = ref([]);
+    const fetchSelect = async (param) => {
+      const { data } = await getUserChange(param);
+      number.value = data;
+    };
+    watch(
+      state,
+      (newValue, oldValue) => {
+        fetchSelect(newValue.project);
+      },
+      { immediate: true }
+    );
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock(Fragment, null, [
+        createBaseVNode("div", _hoisted_1$4, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.coach")), 1),
+          createVNode(unref(Select), {
+            modelValue: state.project,
+            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.project = $event),
+            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+            filterable: ""
+          }, {
+            default: withCtx(() => [
+              (openBlock(true), createElementBlock(Fragment, null, renderList(state.options, (item) => {
+                return openBlock(), createBlock(unref(Option), {
+                  key: item.value,
+                  label: _ctx.$t(item.label),
+                  value: item.value
+                }, null, 8, ["label", "value"]);
+              }), 128))
+            ]),
+            _: 1
+          }, 8, ["modelValue", "placeholder"])
+        ]),
+        createBaseVNode("div", null, [
+          createVNode(unref(Layout), null, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "center"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), { span: 8 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_2$4, [
+                        createBaseVNode("div", _hoisted_3$4, [
+                          createBaseVNode("div", _hoisted_4$4, [
+                            createBaseVNode("span", _hoisted_5$4, toDisplayString(unref(number)[0]), 1),
+                            createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                          ]),
+                          createBaseVNode("div", _hoisted_6$4, toDisplayString(_ctx.$t("work.index.trainees")), 1)
+                        ]),
+                        _hoisted_7$4,
+                        _hoisted_8$4
+                      ])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), { span: 8 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_9$4, [
+                        createBaseVNode("div", _hoisted_10$3, [
+                          createBaseVNode("div", _hoisted_11$3, [
+                            createBaseVNode("span", _hoisted_12$2, toDisplayString(unref(number)[1]), 1),
+                            createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                          ]),
+                          createBaseVNode("div", _hoisted_13$1, toDisplayString(_ctx.$t("work.index.coachNum")), 1)
+                        ]),
+                        _hoisted_14$1,
+                        _hoisted_15$1
+                      ])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          })
+        ])
+      ], 64);
+    };
+  }
+});
+const learnCoach_vue_vue_type_style_index_0_scoped_5b4740cd_lang = "";
+const learncoach = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-5b4740cd"]]);
+const _withScopeId$3 = (n) => (pushScopeId("data-v-1dcb662d"), n = n(), popScopeId(), n);
+const _hoisted_1$3 = { class: "col" };
+const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", { class: "font-pass" }, "6", -1));
+const _hoisted_3$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_4$3 = { class: "col" };
+const _hoisted_5$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", { class: "font-pass" }, "186", -1));
+const _hoisted_6$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_7$3 = { class: "col" };
+const _hoisted_8$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", { class: "font-pass" }, "324", -1));
+const _hoisted_9$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_10$2 = { class: "col" };
+const _hoisted_11$2 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", { class: "font-pass" }, "736", -1));
+const _sfc_main$3 = /* @__PURE__ */ defineComponent({
+  __name: "learn-probation",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Row), {
+            flex: true,
+            justify: "center",
+            class: "margin-bottom"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Col), { span: 3 }, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_1$3, [
+                    createBaseVNode("div", null, [
+                      _hoisted_2$3,
+                      createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                    ]),
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.unpark")), 1)
+                  ])
+                ]),
+                _: 1
+              }),
+              _hoisted_3$3,
+              createVNode(unref(Col), { span: 3 }, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_4$3, [
+                    createBaseVNode("div", null, [
+                      _hoisted_5$3,
+                      createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                    ]),
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.entered")), 1)
+                  ])
+                ]),
+                _: 1
+              }),
+              _hoisted_6$3,
+              createVNode(unref(Col), { span: 3 }, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_7$3, [
+                    createBaseVNode("div", null, [
+                      _hoisted_8$3,
+                      createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                    ]),
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.approved")), 1)
+                  ])
+                ]),
+                _: 1
+              }),
+              _hoisted_9$3,
+              createVNode(unref(Col), { span: 3 }, {
+                default: withCtx(() => [
+                  createBaseVNode("div", _hoisted_10$2, [
+                    createBaseVNode("div", null, [
+                      _hoisted_11$2,
+                      createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                    ]),
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.put")), 1)
+                  ])
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          })
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const learnProbation_vue_vue_type_style_index_0_scoped_1dcb662d_lang = "";
+const learnprobation = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-1dcb662d"]]);
+const _withScopeId$2 = (n) => (pushScopeId("data-v-999aa533"), n = n(), popScopeId(), n);
+const _hoisted_1$2 = { class: "practiced-select" };
+const _hoisted_2$2 = { class: "col" };
+const _hoisted_3$2 = { class: "font-pass" };
+const _hoisted_4$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_5$2 = { class: "col" };
+const _hoisted_6$2 = { class: "font-pass" };
+const _hoisted_7$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_8$2 = { class: "col" };
+const _hoisted_9$2 = { class: "font-pass" };
+const _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  __name: "learn-practiced",
+  setup(__props) {
+    const state = reactive({
+      loading: null,
+      options: [],
+      project: ""
+    });
+    const fetchData = async () => {
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("container"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getUserPractic();
+        state.options = data.options;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    let number = ref([]);
+    const fetchSelect = async (param) => {
+      const { data } = await getUserChange(param);
+      number.value = data;
+    };
+    watch(
+      state,
+      (newValue, oldValue) => {
+        fetchSelect(newValue.project);
+      },
+      { immediate: true }
+    );
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createBaseVNode("div", _hoisted_1$2, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.practiced")), 1),
+          createVNode(unref(Select), {
+            modelValue: state.project,
+            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.project = $event),
+            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+            filterable: ""
+          }, {
+            default: withCtx(() => [
+              (openBlock(true), createElementBlock(Fragment, null, renderList(state.options, (item) => {
+                return openBlock(), createBlock(unref(Option), {
+                  key: item.value,
+                  label: _ctx.$t(item.label),
+                  value: item.value
+                }, null, 8, ["label", "value"]);
+              }), 128))
+            ]),
+            _: 1
+          }, 8, ["modelValue", "placeholder"])
+        ]),
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "center",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_2$2, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_3$2, toDisplayString(unref(number)[0]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.allocated")), 1)
+                    ])
+                  ]),
+                  _: 1
+                }),
+                _hoisted_4$2,
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_5$2, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_6$2, toDisplayString(unref(number)[1]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.start")), 1)
+                    ])
+                  ]),
+                  _: 1
+                }),
+                _hoisted_7$2,
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_8$2, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_9$2, toDisplayString(unref(number)[2]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.practice")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const learnPracticed_vue_vue_type_style_index_0_scoped_999aa533_lang = "";
+const learnpracticed = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-999aa533"]]);
+const _withScopeId$1 = (n) => (pushScopeId("data-v-cff1f1d5"), n = n(), popScopeId(), n);
+const _hoisted_1$1 = { class: "train-select" };
+const _hoisted_2$1 = { class: "col" };
+const _hoisted_3$1 = { class: "font-pass" };
+const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_5$1 = { class: "col" };
+const _hoisted_6$1 = { class: "font-pass" };
+const _hoisted_7$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_8$1 = { class: "col" };
+const _hoisted_9$1 = { class: "font-pass" };
+const _hoisted_10$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("div", { class: "divider" }, null, -1));
+const _hoisted_11$1 = { class: "col" };
+const _hoisted_12$1 = { class: "font-pass" };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "learn-traini",
+  setup(__props) {
+    const state = reactive({
+      loading: null,
+      options: [],
+      project: ""
+    });
+    const fetchData = async () => {
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("container"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getUserTrain();
+        state.options = data.options;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    let number = ref([]);
+    const fetchSelect = async (param) => {
+      const { data } = await getUserChange(param);
+      number.value = data;
+    };
+    watch(
+      state,
+      (newValue, oldValue) => {
+        fetchSelect(newValue.project);
+      },
+      { immediate: true }
+    );
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createBaseVNode("div", _hoisted_1$1, [
+          createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.train")), 1),
+          createVNode(unref(Select), {
+            modelValue: state.project,
+            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.project = $event),
+            placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+            filterable: ""
+          }, {
+            default: withCtx(() => [
+              (openBlock(true), createElementBlock(Fragment, null, renderList(state.options, (item) => {
+                return openBlock(), createBlock(unref(Option), {
+                  key: item.value,
+                  label: _ctx.$t(item.label),
+                  value: item.value
+                }, null, 8, ["label", "value"]);
+              }), 128))
+            ]),
+            _: 1
+          }, 8, ["modelValue", "placeholder"])
+        ]),
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "center",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_2$1, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_3$1, toDisplayString(unref(number)[0]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.assign")), 1)
+                    ])
+                  ]),
+                  _: 1
+                }),
+                _hoisted_4$1,
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_5$1, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_6$1, toDisplayString(unref(number)[1]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.prepare")), 1)
+                    ])
+                  ]),
+                  _: 1
+                }),
+                _hoisted_7$1,
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_8$1, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_9$1, toDisplayString(unref(number)[2]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.open")), 1)
+                    ])
+                  ]),
+                  _: 1
+                }),
+                _hoisted_10$1,
+                createVNode(unref(Col), { span: 3 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_11$1, [
+                      createBaseVNode("div", null, [
+                        createBaseVNode("span", _hoisted_12$1, toDisplayString(unref(number)[3]), 1),
+                        createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Person")), 1)
+                      ]),
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("work.index.classes")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const learnTraini_vue_vue_type_style_index_0_scoped_cff1f1d5_lang = "";
+const learntrain = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-cff1f1d5"]]);
+const _withScopeId = (n) => (pushScopeId("data-v-9c8c59f2"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container-work" };
+const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "work-image" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_0$2,
+    alt: "403",
+    class: "user-image"
+  })
+], -1));
+const _hoisted_3 = { class: "content" };
+const _hoisted_4 = { class: "left" };
+const _hoisted_5 = { class: "card" };
+const _hoisted_6 = { class: "card" };
+const _hoisted_7 = { class: "card" };
+const _hoisted_8 = { class: "card" };
+const _hoisted_9 = { class: "card" };
+const _hoisted_10 = { class: "right" };
+const _hoisted_11 = { class: "card more" };
+const _hoisted_12 = { href: "javascript:;" };
+const _hoisted_13 = { class: "card more" };
+const _hoisted_14 = { href: "javascript:;" };
+const _hoisted_15 = { class: "card less" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const Inquiry = [
+      { label: "work.index.policy", value: "work.index.Period" },
+      { label: "work.index.Hotline", value: "work.index.service" },
+      { label: "work.index.Attendance", value: "work.index.FAQs" },
+      { label: "work.index.Payroll", value: "work.index.Tax" },
+      { label: "work.index.net", value: "work.index.netonline" }
+    ];
+    const Home = [
+      { label: "work.index.Brave", value: "work.index.Growth" },
+      { label: "work.index.Termbase", value: "work.index.lingo" },
+      { label: "work.index.Library", value: "work.index.domain" },
+      { label: "work.index.learning", value: "work.index.platform" },
+      { label: "work.index.net", value: "work.index.netonline" }
+    ];
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.board", "menu.work"] }),
+        _hoisted_2,
+        createBaseVNode("div", _hoisted_3, [
+          createBaseVNode("div", _hoisted_4, [
+            createBaseVNode("div", _hoisted_5, [
+              createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.learn")), 1),
+              createBaseVNode("div", null, [
+                createVNode(learnplan)
+              ])
+            ]),
+            createBaseVNode("div", _hoisted_6, [
+              createBaseVNode("div", null, [
+                createVNode(learncoach)
+              ])
+            ]),
+            createBaseVNode("div", _hoisted_7, [
+              createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.formalization")), 1),
+              createBaseVNode("div", null, [
+                createVNode(learnprobation)
+              ])
+            ]),
+            createBaseVNode("div", _hoisted_8, [
+              createBaseVNode("div", null, [
+                createVNode(learnpracticed)
+              ])
+            ]),
+            createBaseVNode("div", _hoisted_9, [
+              createBaseVNode("div", null, [
+                createVNode(learntrain)
+              ])
+            ])
+          ]),
+          createBaseVNode("div", _hoisted_10, [
+            createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.Inquiry")), 1),
+            createBaseVNode("div", _hoisted_11, [
+              (openBlock(), createElementBlock(Fragment, null, renderList(Inquiry, (item) => {
+                return createBaseVNode("dl", {
+                  key: item
+                }, [
+                  createBaseVNode("dt", null, toDisplayString(_ctx.$t(item.label)), 1),
+                  createBaseVNode("dd", null, [
+                    createBaseVNode("a", _hoisted_12, toDisplayString(_ctx.$t(item.value)), 1)
+                  ])
+                ]);
+              }), 64))
+            ]),
+            createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.Home")), 1),
+            createBaseVNode("div", _hoisted_13, [
+              (openBlock(), createElementBlock(Fragment, null, renderList(Home, (item) => {
+                return createBaseVNode("dl", {
+                  key: item
+                }, [
+                  createBaseVNode("dt", null, toDisplayString(_ctx.$t(item.label)), 1),
+                  createBaseVNode("dd", null, [
+                    createBaseVNode("a", _hoisted_14, toDisplayString(_ctx.$t(item.value)), 1)
+                  ])
+                ]);
+              }), 64))
+            ]),
+            createBaseVNode("h3", null, toDisplayString(_ctx.$t("work.index.Guide")), 1),
+            createBaseVNode("div", _hoisted_15, [
+              createBaseVNode("dl", null, [
+                createBaseVNode("dt", null, toDisplayString(_ctx.$t("work.index.Operation")), 1)
+              ])
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_9c8c59f2_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9c8c59f2"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index16.css b/admin-website/src/main/resources/static/assets/index16.css
new file mode 100644
index 0000000..e2c3d73
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index16.css
@@ -0,0 +1,153 @@
+.tiny-fullscreen{overflow:auto}.container-list[data-v-6e43c7c3] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  height: calc(100% - 60px);
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.line[data-v-6e43c7c3] {
+  height: 1px;
+  color: #d5d5d5;
+  background-color: #d5d5d5;
+  border: 0;
+}
+.contain[data-v-6e43c7c3] {
+  flex: 1 1 auto;
+  margin: 8px 10px;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 8px 8px rgba(169, 174, 184, 0.05);
+}
+.contain .contain-head[data-v-6e43c7c3] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 30px 30px 0 30px;
+}
+.contain .contain-head hr[data-v-6e43c7c3] {
+  height: 1px;
+  color: #d5d5d5;
+  background-color: #d5d5d5;
+  border: 0;
+  width: 86%;
+  margin: 0 20px;
+}
+.contain .contain-head span[data-v-6e43c7c3] {
+  color: #1a1818;
+  font-size: 16px;
+}
+.contain .contain-box[data-v-6e43c7c3] {
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+  min-width: 52px;
+}
+.contain .contain-img[data-v-6e43c7c3] {
+  position: relative;
+  display: flex;
+  cursor: pointer;
+}
+.contain .contain-img img[data-v-6e43c7c3]:hover {
+  background: whitesmoke;
+}
+.contain .contain-text[data-v-6e43c7c3] {
+  padding-left: 10px;
+  color: #4e5969;
+  font-size: 14px;
+  cursor: pointer;
+}
+.bottom-line[data-v-6e43c7c3] {
+  padding-bottom: 24px;
+}
+.bottom-line hr[data-v-6e43c7c3] {
+  height: 1px;
+  color: #d5d5d5;
+  background-color: #d5d5d5;
+  border: 0;
+  width: 96%;
+  margin: 0 auto;
+}
+.filter-form[data-v-6e43c7c3] {
+  margin: 30px 0;
+}
+.col[data-v-6e43c7c3] {
+  width: 80%;
+  height: 70px;
+}
+[data-v-6e43c7c3] .tiny-pager {
+  float: right;
+}
+[data-v-6e43c7c3] .tiny-grid-button__wrapper {
+  width: 100%;
+}
+[data-v-6e43c7c3] .tiny-form-item__label {
+  color: #494747;
+  font-weight: normal;
+}
+[data-v-6e43c7c3] .tiny-grid-header__column {
+  height: 35px;
+  color: #8b8989;
+  background-color: #f5f6f7;
+}
+.operation[data-v-6e43c7c3] {
+  color: #5e7ce0;
+}
+.btn[data-v-6e43c7c3] {
+  display: flex;
+  justify-content: space-between;
+  width: 100%;
+}
+.btn button[data-v-6e43c7c3] {
+  border-radius: 4px;
+  width: 100px;
+  height: 36px;
+}
+.btn .screen[data-v-6e43c7c3] {
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+  width: 60px;
+  text-align: center;
+  cursor: pointer;
+}
+.btn .screen span[data-v-6e43c7c3] {
+  margin-left: 10px;
+  color: #4e5969;
+  font-size: 14px;
+}
+.status-dot[data-v-6e43c7c3] {
+  position: relative;
+  top: -1px;
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin-right: 5px;
+  vertical-align: middle;
+  background-color: #1890ff;
+  border-radius: 50%;
+}
+.status-closed .status-dot[data-v-6e43c7c3] {
+  background-color: #d9d9d9;
+}
+.status-finished .status-dot[data-v-6e43c7c3] {
+  background-color: #52c41a;
+}
+.tiny-fullscreen[data-v-6e43c7c3] {
+  background: #fff;
+}
+.tiny-fullscreen-wrapper[data-v-6e43c7c3] {
+  min-height: 710px;
+  padding: 0 30px;
+}
+.tiny-fullscreen-scroll[data-v-6e43c7c3] {
+  overflow-y: auto;
+}
+.search-btn[data-v-6e43c7c3] {
+  display: flex;
+}
+.search-btn button[data-v-6e43c7c3] {
+  height: 36px;
+  width: 100px;
+  border-radius: 4px;
+}
diff --git a/admin-website/src/main/resources/static/assets/index16.js b/admin-website/src/main/resources/static/assets/index16.js
new file mode 100644
index 0000000..f0d5e34
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index16.js
@@ -0,0 +1,12 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const index_vue_vue_type_style_index_0_scoped_6ddb8718_lang = "";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6ddb8718"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index17.css b/admin-website/src/main/resources/static/assets/index17.css
new file mode 100644
index 0000000..550a4d1
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index17.css
@@ -0,0 +1 @@
+.tiny-transition-alert-fade-enter,.tiny-transition-alert-fade-enter-from,.tiny-transition-alert-fade-leave-active{opacity:0}.tiny-transition-alert-fade-leave-active{-webkit-transition:opacity .3s ease-in;transition:opacity .3s ease-in}.tiny-alert{--ti-alert-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-alert-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-alert-description-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-close-position-top:var(--ti-common-space-4x, 16px);--ti-alert-close-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-close-text-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-alert-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-success-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-info-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-warning-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-error-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-simple-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-alert-title-font-size:var(--ti-common-font-size-1, 14px);--ti-alert-icon-margin-top:var(--ti-common-space-1, 1px);--ti-alert-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-alert-description-line-height:var(--ti-common-line-height-number, 1.5);--ti-alert-normal-content-padding-vertical:var(--ti-common-space-0, 0px);--ti-alert-normal-content-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-alert-description-margin-top:var(--ti-common-space-base, 4px);--ti-alert-description-margin-bottom:var(--ti-common-space-base, 4px);--ti-alert-description-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-alert-normal-padding-top:var(--ti-common-space-3x, 12px);--ti-alert-normal-padding-right:var(--ti-common-space-4x, 16px);--ti-alert-normal-padding-bottom:var(--ti-common-space-3x, 12px);--ti-alert-normal-padding-left:var(--ti-common-space-4x, 16px);--ti-alert-normal-margin-vertical:var(--ti-common-space-2x, 8px);--ti-alert-normal-margin-horizontal:var(--ti-common-space-0, 0px);--ti-alert-large-padding-top:calc(var(--ti-common-space-base, 4px) * 3.5);--ti-alert-large-padding-bottom:var(--ti-common-space-3x, 12px);--ti-alert-large-padding-left:var(--ti-common-space-4x, 16px);--ti-alert-large-padding-right:calc(var(--ti-common-space-base, 4px) * 10.5);--ti-alert-opration-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-alert-opration-font-size:var(--ti-common-font-size-base, 12px);--ti-alert-large-icon-font-size:var(--ti-common-font-size-5, 24px);--ti-alert-large-icon-margin-top:calc(var(--ti-common-space-base, 4px) - 2px);--ti-alert-large-content-padding-left:var(--ti-common-space-4x, 16px);--ti-alert-large-close-font-size:var(--ti-alert-close-font-size);--ti-alert-warning-border-color:var(--ti-common-color-warn-border, #ffd0a6);--ti-alert-warning-icon-color:var(--ti-common-color-warn, #fa9841);--ti-alert-warning-link-text-color:var(--ti-common-color-warn-text, #e37d29);--ti-alert-warning-bg-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-alert-warning-close-icon-color:var(--ti-alert-warning-icon-color);--ti-alert-warning-close-hover-icon-color:var(--ti-alert-warning-icon-color);--ti-alert-error-border-color:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-alert-error-icon-color:var(--ti-common-color-error, #f66f6a);--ti-alert-error-link-text-color:var(--ti-common-color-error-text, #de504e);--ti-alert-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-alert-error-close-icon-color:var(--ti-alert-error-icon-color);--ti-alert-error-close-hover-icon-color:var(--ti-alert-error-icon-color);--ti-alert-success-border-color:var(--ti-common-color-success-border, #acf2dc);--ti-alert-success-icon-color:var(--ti-common-color-success, #50d4ab);--ti-alert-success-link-text-color:var(--ti-common-color-text-success, #3ac295);--ti-alert-success-bg-color:var(--ti-common-color-success-bg, #edfff9);--ti-alert-success-close-icon-color:var(--ti-alert-success-icon-color);--ti-alert-success-close-hover-icon-color:var(--ti-alert-success-icon-color);--ti-alert-info-border-color:var(--ti-common-color-prompt-border, #beccfa);--ti-alert-info-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-alert-info-link-text-color:var(--ti-common-color-prompt-text, #526ecc);--ti-alert-info-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-alert-info-close-icon-color:var(--ti-alert-info-icon-color);--ti-alert-info-close-hover-icon-color:var(--ti-alert-info-icon-color);--ti-alert-simple-border-color:var(--ti-common-color-info-border, #d3d4d6);--ti-alert-simple-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-alert-simple-link-text-color:var(--ti-common-color-primary-active, #7693f5);--ti-alert-simple-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-alert-simple-close-icon-color:var(--ti-alert-simple-icon-color);--ti-alert-simple-close-hover-icon-color:var(--ti-alert-simple-icon-color);position:relative;border:var(--ti-alert-border-weight) solid;border-radius:var(--ti-alert-border-radius);font-family:var(--ti-alert-font-family)}.tiny-alert.tiny-alert--normal{padding:var(--ti-alert-normal-padding-top) var(--ti-alert-normal-padding-right) var(--ti-alert-normal-padding-bottom) var(--ti-alert-normal-padding-left);margin:var(--ti-alert-normal-margin-vertical) var(--ti-alert-normal-margin-horizontal);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.tiny-alert.tiny-alert--normal .tiny-alert__content{padding:var(--ti-alert-normal-content-padding-vertical) var(--ti-alert-normal-content-padding-horizontal);display:table-cell;max-width:calc(100% - 30px)}.tiny-alert.tiny-alert--large{padding:var(--ti-alert-large-padding-top) var(--ti-alert-large-padding-right) var(--ti-alert-large-padding-bottom) var(--ti-alert-large-padding-left);display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-alert.tiny-alert--large .tiny-alert__content{padding-left:var(--ti-alert-large-content-padding-left);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-alert.tiny-alert--large .tiny-alert__description{margin-bottom:var(--ti-alert-description-margin-bottom);margin-top:var(--ti-alert-description-margin-top);color:var(--ti-alert-description-text-color)}.tiny-alert.tiny-alert--large .tiny-alert__description.is-hide{margin:0}.tiny-alert.tiny-alert--large .tiny-alert__icon{font-size:var(--ti-alert-large-icon-font-size);margin-top:var(--ti-alert-large-icon-margin-top);vertical-align:top;-ms-flex-negative:0;flex-shrink:0}.tiny-alert.tiny-alert--large .tiny-alert__close{font-size:var(--ti-alert-large-close-font-size);top:12px;right:12px;-webkit-transform:none;transform:none;margin-top:0}.tiny-alert.tiny-alert--success{background:var(--ti-alert-success-bg-color);border-color:var(--ti-alert-success-border-color);color:var(--ti-alert-success-title-text-color)}.tiny-alert.tiny-alert--success hr{border-top-color:var(--ti-alert-success-link-text-color)}.tiny-alert.tiny-alert--success .alert-link{color:var(--ti-alert-success-link-text-color)}.tiny-alert.tiny-alert--success .tiny-alert__icon{fill:var(--ti-alert-success-icon-color)}.tiny-alert.tiny-alert--success .tiny-alert__close{fill:var(--ti-alert-success-close-icon-color)}.tiny-alert.tiny-alert--success .tiny-alert__close:hover{fill:var(--ti-alert-success-close-hover-icon-color)}.tiny-alert.tiny-alert--info{background:var(--ti-alert-info-bg-color);border-color:var(--ti-alert-info-border-color);color:var(--ti-alert-info-title-text-color)}.tiny-alert.tiny-alert--info hr{border-top-color:var(--ti-alert-info-link-text-color)}.tiny-alert.tiny-alert--info .alert-link{color:var(--ti-alert-info-link-text-color)}.tiny-alert.tiny-alert--info .tiny-alert__icon{fill:var(--ti-alert-info-icon-color)}.tiny-alert.tiny-alert--info .tiny-alert__close{fill:var(--ti-alert-info-close-icon-color)}.tiny-alert.tiny-alert--info .tiny-alert__close:hover{fill:var(--ti-alert-info-close-hover-icon-color)}.tiny-alert.tiny-alert--warning{background:var(--ti-alert-warning-bg-color);border-color:var(--ti-alert-warning-border-color);color:var(--ti-alert-warning-title-text-color)}.tiny-alert.tiny-alert--warning hr{border-top-color:var(--ti-alert-warning-link-text-color)}.tiny-alert.tiny-alert--warning .alert-link{color:var(--ti-alert-warning-link-text-color)}.tiny-alert.tiny-alert--warning .tiny-alert__icon{fill:var(--ti-alert-warning-icon-color)}.tiny-alert.tiny-alert--warning .tiny-alert__close{fill:var(--ti-alert-warning-close-icon-color)}.tiny-alert.tiny-alert--warning .tiny-alert__close:hover{fill:var(--ti-alert-warning-close-hover-icon-color)}.tiny-alert.tiny-alert--error{background:var(--ti-alert-error-bg-color);border-color:var(--ti-alert-error-border-color);color:var(--ti-alert-error-title-text-color)}.tiny-alert.tiny-alert--error hr{border-top-color:var(--ti-alert-error-link-text-color)}.tiny-alert.tiny-alert--error .alert-link{color:var(--ti-alert-error-link-text-color)}.tiny-alert.tiny-alert--error .tiny-alert__icon{fill:var(--ti-alert-error-icon-color)}.tiny-alert.tiny-alert--error .tiny-alert__close{fill:var(--ti-alert-error-close-icon-color)}.tiny-alert.tiny-alert--error .tiny-alert__close:hover{fill:var(--ti-alert-error-close-hover-icon-color)}.tiny-alert.tiny-alert--simple{background:var(--ti-alert-simple-bg-color);border-color:var(--ti-alert-simple-border-color);color:var(--ti-alert-simple-title-text-color)}.tiny-alert.tiny-alert--simple hr{border-top-color:var(--ti-alert-simple-link-text-color)}.tiny-alert.tiny-alert--simple .alert-link{color:var(--ti-alert-simple-link-text-color)}.tiny-alert.tiny-alert--simple .tiny-alert__icon{fill:var(--ti-alert-simple-icon-color)}.tiny-alert.tiny-alert--simple .tiny-alert__close{fill:var(--ti-alert-simple-close-icon-color)}.tiny-alert.tiny-alert--simple .tiny-alert__close:hover{fill:var(--ti-alert-simple-close-hover-icon-color)}.tiny-alert__icon{font-size:var(--ti-alert-icon-font-size)}.tiny-alert__icon:first-child{margin-top:var(--ti-alert-icon-margin-top)}.tiny-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.tiny-alert .is-custom{position:absolute;font-size:var(--ti-alert-close-text-font-size);top:var(--ti-alert-close-position-top);right:12px;cursor:pointer}.tiny-alert .tiny-alert__close{font-size:var(--ti-alert-close-font-size);position:absolute;top:var(--ti-alert-close-position-top);right:12px;cursor:pointer}.tiny-alert .tiny-alert__content .tiny-alert__opration{font-size:var(--ti-alert-opration-font-size);color:var(--ti-alert-opration-text-color);line-height:1}.tiny-alert .tiny-alert__content .tiny-alert__opration a{font-size:var(--ti-alert-opration-font-size);color:var(--ti-alert-opration-text-color)}.tiny-alert .tiny-alert__content .tiny-alert__opration a:not(:last-child){margin-right:16px}.tiny-alert .tiny-alert__title{font-size:var(--ti-alert-title-font-size);color:var(--ti-alert-title-text-color);font-weight:700}.tiny-alert .tiny-alert__description{font-size:var(--ti-alert-description-font-size);line-height:var(--ti-alert-description-line-height)}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:'HarmonySans','鸿蒙黑体','NotoSans','Helvetica','Arial','PingFangSC-Regular','Hiragino Sans GB','Microsoft YaHei','微软雅黑','Microsoft JhengHei';--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, 0.08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, 0.5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, 0.75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}:root{--ti-mobile-base-color-primary-normal:#1890ff;--ti-mobile-base-color-primary-disabled:#bfbfbf;--ti-mobile-base-color-primary-hover:#40a9ff;--ti-mobile-base-color-primary-active:#096dd9;--ti-mobile-base-color-success-normal:#52c41a;--ti-mobile-base-color-success-disabled:#a6c3b9;--ti-mobile-base-color-success-hover:#73d13d;--ti-mobile-base-color-success-active:#389e0d;--ti-mobile-base-color-warning-normal:#faad14;--ti-mobile-base-color-warning-disabled:#d3c6a2;--ti-mobile-base-color-warning-hover:#ffc53d;--ti-mobile-base-color-warning-active:#ffc53d;--ti-mobile-base-color-danger-normal:#f5222d;--ti-mobile-base-color-danger-disabled:#d8bab5;--ti-mobile-base-color-danger-hover:#ff4d4f;--ti-mobile-base-color-danger-active:#cf1322;--ti-mobile-base-color-info-normal:#333333;--ti-mobile-base-color-info-disabled:#bfbfbf;--ti-mobile-base-color-info-hover:#54657e;--ti-mobile-base-color-info-active:#54657e;--ti-mobile-base-color-light:#fff;--ti-mobile-base-color-dark:#000;--ti-mobile-base-color-border:#d9d9d9;--ti-mobile-base-color-secondary:#666;--ti-mobile-base-color-placeholder:#999;--ti-mobile-base-color-hover-background:#e6f7ff;--ti-mobile-base-color-selected-background:#f5f5f5;--ti-mobile-base-color-navigation-background:#2e3243;--ti-mobile-base-radius-large:3px;--ti-mobile-base-radius-medium:2px;--ti-mobile-base-radius-small:1px;--ti-mobile-base-font-family-normal:Helvetica,Arial,'microsoft yahei';--ti-mobile-base-font-size:12px;--ti-mobile-base-font-size-normal:1em;--ti-mobile-base-font-size-large:1.125em;--ti-mobile-base-font-weight-bold:700;--ti-mobile-base-size-width-large:130px;--ti-mobile-base-size-width-medium:120px;--ti-mobile-base-size-width-normal:80px;--ti-mobile-base-size-width-small:36px;--ti-mobile-base-size-width-minor:30px;--ti-mobile-base-size-width-mini:24px;--ti-mobile-base-size-height-large:48px;--ti-mobile-base-size-height-medium:42px;--ti-mobile-base-size-height-small:36px;--ti-mobile-base-size-height-minor:30px;--ti-mobile-base-size-height-mini:24px}.tiny-mobile-alert{--ti-mobile-alert-warning-icon-color:var(--ti-mobile-color-warning, #ff8800);--ti-mobile-alert-warning-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-warning-bg-color:var(--ti-mobile-color-warning-subtle, #ffebd1);--ti-mobile-alert-error-icon-color:var(--ti-mobile-color-error, #f23030);--ti-mobile-alert-error-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-error-bg-color:var(--ti-mobile-color-error-subtle, #fce3e1);--ti-mobile-alert-success-icon-color:var(--ti-mobile-color-success, #5cb300);--ti-mobile-alert-success-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-success-bg-color:var(--ti-mobile-color-success-subtle, #e6f2d5);--ti-mobile-alert-info-icon-color:var(--ti-mobile-color-brand-2, #1476ff);--ti-mobile-alert-info-link-color:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-alert-info-bg-color:var(--ti-mobile-color-info-subtle, #deecff);--ti-mobile-alert-height:var(--ti-mobile-color-info-subtle, 36px);--ti-mobile-alert-padding-left:var(--ti-mobile-space-6x, 24px);--ti-mobile-alert-padding-right:var(--ti-mobile-space-6x, 24px);--ti-mobile-alert-padding-top:9px;--ti-mobile-alert-padding-bottom:9px;--ti-mobile-alert-icon-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-alert-content-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-alert-content-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-alert-font-weight:var(--ti-mobile-font-weight-regular, 400);--ti-mobile-alert-content-padding-horizontal:var(--ti-mobile-space-2x, 8px);--ti-mobile-alert-large-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-alert-large-padding-vertical:10px;--ti-mobile-alert-close-icon-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-alert-close-icon-color:var(--ti-mobile-color-default, #808080);--ti-mobile-alert-custom-text-color:var(--ti-mobile-color-text-placeholder, #808080);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;clear:both;position:relative;width:100%;font-size:0}.tiny-mobile-alert .tiny-mobile-alert__content{-webkit-box-flex:1;-ms-flex:1;flex:1;color:var(--ti-mobile-alert-content-text-color);font-weight:var(--ti-mobile-alert-font-weight);padding:0 var(--ti-mobile-alert-content-padding-horizontal);white-space:pre-wrap;word-break:break-all}.tiny-mobile-alert--normal{height:var(--ti-mobile-alert-height,36px);line-height:1.5;padding:var(--ti-mobile-alert-padding-top) var(--ti-mobile-alert-padding-right) var(--ti-mobile-alert-padding-bottom) var(--ti-mobile-alert-padding-left)}.tiny-mobile-alert--normal .tiny-mobile-alert__content{font-size:var(--ti-mobile-alert-content-font-size,12px)}.tiny-mobile-alert--normal .tiny-mobile-alert__content.is-hideicon{padding:0}.tiny-mobile-alert.tiny-mobile-alert--large{padding:var(--ti-mobile-alert-large-padding-vertical) var(--ti-mobile-alert-padding-right) var(--ti-mobile-alert-large-padding-vertical) var(--ti-mobile-alert-padding-left)}.tiny-mobile-alert.tiny-mobile-alert--large .tiny-mobile-alert__content{font-size:var(--ti-mobile-alert-large-font-size)}.tiny-mobile-alert.tiny-mobile-alert--large .tiny-mobile-alert__content.is-hideicoalert-variantn{padding:0}.tiny-mobile-alert.tiny-mobile-alert--large .is-custom{font-size:var(--ti-mobile-alert-large-font-size)}.tiny-mobile-alert.tiny-mobile-alert--large .tiny-mobile-alert__icon{margin-top:4px}.tiny-mobile-alert--success{background:var(--ti-mobile-alert-success-bg-color)}.tiny-mobile-alert--success hr{border-top-color:var(--ti-mobile-alert-success-link-color)}.tiny-mobile-alert--success .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-success-icon-color)}.tiny-mobile-alert--info{background:var(--ti-mobile-alert-info-bg-color)}.tiny-mobile-alert--info hr{border-top-color:var(--ti-mobile-alert-info-link-color)}.tiny-mobile-alert--info .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-info-icon-color)}.tiny-mobile-alert--warning{background:var(--ti-mobile-alert-warning-bg-color)}.tiny-mobile-alert--warning hr{border-top-color:var(--ti-mobile-alert-warning-link-color)}.tiny-mobile-alert--warning .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-warning-icon-color)}.tiny-mobile-alert--error{background:var(--ti-mobile-alert-error-bg-color)}.tiny-mobile-alert--error hr{border-top-color:var(--ti-mobile-alert-error-link-color)}.tiny-mobile-alert--error .tiny-mobile-alert__icon{fill:var(--ti-mobile-alert-error-icon-color)}.tiny-mobile-alert__icon{margin-top:2px;font-size:var(--ti-mobile-alert-icon-size)}.tiny-mobile-alert__icon.tiny-mobile-alert__close{position:absolute;top:var(--ti-mobile-alert-padding-top);right:var(--ti-mobile-alert-padding-right);margin-top:0;fill:var(--ti-mobile-alert-close-icon-color)}.tiny-mobile-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-mobile-alert.is-center .tiny-mobile-alert__content{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.tiny-mobile-alert .is-custom{cursor:pointer;font-size:var(--ti-mobile-alert-content-font-size);color:var(--ti-mobile-alert-custom-text-color)}.tiny-mobile-alert .tiny-mobile-alert__close{font-size:var(--ti-mobile-alert-close-icon-font-size);cursor:pointer}.tiny-radio-button{--ti-radio-button-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-radio-button-hover-text-color:var(--ti-common-color-light, #fff);--ti-radio-button-border-color:var(--ti-common-color-border, #adb0b8);--ti-radio-button-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-radio-button-font-size:var(--ti-common-font-size-base, 12px);--ti-radio-button-bg-color:var(--ti-common-color-light, #fff);--ti-radio-button-checked-normal-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-radio-button-checked-normal-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-radio-button-checked-normal-box-shadow:-1px 0 0 0 var(--ti-common-color-primary-normal, #5e7ce0);--ti-radio-button-checked-hover-bg-color:var(--ti-common-color-primary-hover, #7693f5);--ti-radio-button-checked-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-radio-button-checked-hover-box-shadow:-1px 0 0 0 var(--ti-common-color-primary-hover, #7693f5);--ti-radio-button-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-radio-button-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-radio-button-medium-font-size:var(--ti-common-font-size-1, 14px)}.tiny-radio-button:first-child .tiny-radio-button__inner{border-left:1px solid var(--ti-radio-button-border-color);border-radius:var(--ti-radio-button-border-radius) 0 0 var(--ti-radio-button-border-radius)}.tiny-radio-button:first-child .tiny-radio-button__orig-radio:checked+.tiny-radio-button__inner{-webkit-box-shadow:none;box-shadow:none}.tiny-radio-button:last-child .tiny-radio-button__inner{border-radius:0 var(--ti-radio-button-border-radius) var(--ti-radio-button-border-radius) 0}.tiny-radio-button:first-child:last-child .tiny-radio-button__inner{border-radius:var(--ti-radio-button-border-radius)}.tiny-radio-button,.tiny-radio-button__inner{display:inline-block;position:relative;outline:0}.tiny-radio-button__inner{color:var(--ti-radio-button-text-color);font-size:var(--ti-radio-button-font-size);background:var(--ti-radio-button-bg-color);border:1px solid var(--ti-radio-button-border-color);padding:12px 20px;font-weight:500;border-radius:0;border-left:0;line-height:1;white-space:nowrap;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.tiny-radio-button__inner.is-round{padding:12px 20px}.tiny-radio-button__inner:hover{color:var(--ti-radio-button-hover-text-color);background-color:var(--ti-radio-button-checked-hover-bg-color);border-color:var(--ti-radio-button-checked-hover-border-color);outline:0}.tiny-radio-button__inner [class*=tiny-icon]{line-height:.9}.tiny-radio-button__inner [class*=tiny-icon]+span{margin-left:5px}.tiny-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.tiny-radio-button__orig-radio:checked+.tiny-radio-button__inner{color:#fff;background-color:var(--ti-radio-button-checked-normal-bg-color);border-color:var(--ti-radio-button-checked-normal-border-color);-webkit-box-shadow:var(--ti-radio-button-checked-normal-box-shadow);box-shadow:var(--ti-radio-button-checked-normal-box-shadow)}.tiny-radio-button__orig-radio:checked+.tiny-radio-button__inner:hover{background-color:var(--ti-radio-button-checked-hover-bg-color);border-color:var(--ti-radio-button-checked-hover-border-color);-webkit-box-shadow:var(--ti-radio-button-checked-hover-box-shadow);box-shadow:var(--ti-radio-button-checked-hover-box-shadow)}.tiny-radio-button__orig-radio:disabled+.tiny-radio-button__inner{color:var(--ti-radio-button-disabled-text-color);border-color:var(--ti-radio-button-border-color);background-color:var(--ti-radio-button-disabled-bg-color);background-image:none;-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed}.tiny-radio-button__orig-radio:disabled:checked+.tiny-radio-button__inner{background-color:var(--ti-radio-input-checked-disabled-bg-color)}.tiny-radio-button__orig-radio:disabled:checked+.tiny-radio-button__inner,.tiny-radio-button__orig-radio:disabled:checked+.tiny-radio-button__inner:hover{border-color:var(--ti-radio-input-checked-disabled-border-color)}.tiny-radio-button--medium .tiny-radio-button__inner{font-size:var(--ti-radio-button-medium-font-size);padding:10px 20px;border-radius:0}.tiny-radio-button--medium .tiny-radio-button__inner.is-round{padding:10px 20px}.tiny-radio-button--small .tiny-radio-button__inner{font-size:var(--ti-radio-button-font-size);padding:9px 15px;border-radius:0}.tiny-radio-button--small .tiny-radio-button__inner.is-round{padding:9px 15px}.tiny-radio-button--mini .tiny-radio-button__inner{font-size:var(--ti-radio-button-font-size);padding:7px 15px;border-radius:0}.tiny-radio-button--mini .tiny-radio-button__inner.is-round{padding:7px 15px}.tiny-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color);box-shadow:0 0 2px 2px var(--ti-radio-bordered-hover-border-color)}.tiny-radio-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.tiny-radio-group.list-inline{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-radio-group.list-inline .tiny-radio{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:0}.tiny-radio-group.list-inline .tiny-radio:not(:last-child){margin-bottom:var(--ti-radio-button-margin-bottom)}.tiny-radio-group.list-inline .tiny-radio-button{display:block}.tiny-radio-group.list-inline .tiny-radio-button:first-child .tiny-radio-button__inner{border-radius:var(--ti-radio-button-border-radius) var(--ti-radio-button-border-radius) 0 0;border-top:1px solid var(--ti-radio-button-border-color)}.tiny-radio-group.list-inline .tiny-radio-button:last-child .tiny-radio-button__inner{border-radius:0 0 var(--ti-radio-button-border-radius) var(--ti-radio-button-border-radius)}.tiny-radio-group.list-inline .tiny-radio-button.is-active .tiny-radio-button__inner{-webkit-box-shadow:none;box-shadow:none;border-color:var(--ti-radio-button-checked-normal-border-color)}.tiny-radio-group.list-inline .tiny-radio-button.is-active.is-disabled .tiny-radio-button__inner{border-color:var(--ti-radio-input-checked-disabled-border-color)}.tiny-radio-group.list-inline .tiny-radio-button__inner{border-top:0;border-left:1px solid var(--ti-radio-button-border-color)}.tiny-dialog-box{position:absolute;background:var(--ti-dialog-box-bg-color);border:1px solid transparent;border-radius:var(--ti-dialog-box-border-radius);-webkit-box-shadow:var(--ti-dialog-box-shadow);box-shadow:var(--ti-dialog-box-shadow);overflow:hidden}.tiny-dialog-box__wrapper{--ti-dialog-box-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-dialog-box-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-dialog-box-shadow:var(--ti-common-shadow-4-down, 0 8px 40px 0 rgba(0, 0, 0, 0.2));--ti-dialog-box-head-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-dialog-box-head-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-head-padding-top:var(--ti-common-space-8x, 32px);--ti-dialog-box-head-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-dialog-box-head-padding-bottom:calc(var(--ti-common-space-base, 4px) * 7);--ti-dialog-box-head-title-font-size:var(--ti-common-font-size-3, 18px);--ti-dialog-box-head-title-font-weight:var(--ti-common-font-weight-7, bold);--ti-dialog-box-head-title-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-head-border-bottom-color:var(--ti-common-color-transparent, transparent);--ti-dialog-box-head-font-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-dialog-box-head-font-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-dialog-box-head-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-head-body-font-size:var(--ti-common-font-size-1, 14px);--ti-dialog-box-btn-width:var(--ti-common-size-8x, 32px);--ti-dialog-box-btn-height:var(--ti-dialog-box-btn-width);--ti-dialog-box-btn-border-radius:var(--ti-common-border-radius-1, 4px);--ti-dialog-box-close-icon-size:var(--ti-common-font-size-1, 14px);--ti-dialog-box-close-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-dialog-box-close-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-dialog-box-btn-background-color-hover:none;--ti-dialog-box-btn-position-top:var(--ti-common-space-5x, 20px);--ti-dialog-box-btn-position-right:var(--ti-common-space-5x, 20px);--ti-dialog-box-body-font-size:var(--ti-common-font-size-base, 12px);--ti-dialog-box-body-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dialog-box-body-padding-vertical:var(--ti-common-space-0, 0px);--ti-dialog-box-body-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-dialog-box-footer-padding-top:calc(var(--ti-common-space-base, 4px) * 7);--ti-dialog-box-footer-padding-horizontal:var(--ti-common-space-8x, 32px);--ti-dialog-box-footer-margin-bottom:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-min-width:calc(var(--ti-common-space-10, 10px) * 50);--ti-dialog-box-drawer-max-width:calc(var(--ti-common-space-10, 10px) * 100);--ti-dialog-box-drawer-padding-left:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-padding-right:var(--ti-common-space-10x, 40px);--ti-dialog-box-drawer-header-padding-top:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-header-padding-bottom:var(--ti-common-space-5x, 20px);--ti-dialog-box-drawer-header-padding-left:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-right:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-top:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-bottom:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-body-padding-left:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-header-padding-right:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-footer-text-align:right;--ti-dialog-box-drawer-footer-padding-top:var(--ti-common-space-5x, 20px);--ti-dialog-box-drawer-footer-padding-bottom:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-footer-padding-left:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-footer-padding-right:var(--ti-common-space-0, 0px);--ti-dialog-box-drawer-footer-margin-left:var(--ti-common-space-8x, 32px);--ti-dialog-box-drawer-footer-margin-right:var(--ti-common-space-10x, 40px);--ti-dialog-box-drawer-divider-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-dialog-box-drawer-radius:var(--ti-common-space-0, 0px);--ti-dialog-box-wrapper-display:block;--ti-dialog-box-wrapper-align-items:normal;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0;display:var(--ti-dialog-box-wrapper-display);-webkit-box-align:var(--ti-dialog-box-wrapper-align-items);-ms-flex-align:var(--ti-dialog-box-wrapper-align-items);align-items:var(--ti-dialog-box-wrapper-align-items)}.tiny-dialog-box.is-fullscreen{left:0;top:0;width:100vw;height:100vh}.tiny-dialog-box.is-fullscreen .tiny-dialog-box__footer{position:absolute;left:0;bottom:0;width:100vw}.tiny-dialog-box.is-center .tiny-dialog-box__footer,.tiny-dialog-box.is-center .tiny-dialog-box__header{text-align:center}.tiny-dialog-box.is-fullscreen .tiny-dialog-box__body{max-height:calc(100vh - 94px)}.tiny-dialog-box .tiny-dialog-box__header{padding:var(--ti-dialog-box-head-padding-top) var(--ti-dialog-box-head-padding-horizontal) var(--ti-dialog-box-head-padding-bottom);background:var(--ti-dialog-box-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--ti-dialog-box-head-title-font-size);color:var(--ti-dialog-box-head-title-text-color);font-weight:var(--ti-dialog-box-head-title-font-weight);border-bottom:1px solid var(--ti-dialog-box-head-border-bottom-color)}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__title{-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn{border:none;background:0 0;padding:0;line-height:1;top:calc(var(--ti-dialog-box-btn-position-top) - (var(--ti-dialog-box-btn-height) - var(--ti-dialog-box-close-icon-size))/ 2);right:calc(var(--ti-dialog-box-btn-position-right) - (var(--ti-dialog-box-btn-width) - var(--ti-dialog-box-close-icon-size))/ 2);cursor:pointer}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn:hover{background-color:var(--ti-dialog-box-btn-background-color-hover);border-radius:var(--ti-dialog-box-btn-border-radius)}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn+.tiny-dialog-box__headerbtn{margin-left:8px}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn:focus{outline:0}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn .tiny-dialog-box__close{fill:var(--ti-dialog-box-close-icon-color);font-size:var(--ti-dialog-box-close-icon-size)}.tiny-dialog-box .tiny-dialog-box__header .tiny-dialog-box__headerbtn .tiny-dialog-box__close:hover{fill:var(--ti-dialog-box-close-icon-color-hover)}.tiny-dialog-box .tiny-dialog-box__body{text-align:left;padding:var(--ti-dialog-box-body-padding-vertical) var(--ti-dialog-box-body-padding-horizontal);margin-bottom:var(--ti-dialog-box-body-margin-bottom);color:var(--ti-dialog-box-body-text-color);font-size:var(--ti-dialog-box-body-font-size)}.tiny-dialog-box .tiny-dialog-box__body .tiny-upload{overflow:hidden}.tiny-dialog-box .tiny-dialog-box__body>span{max-height:120px;overflow-y:auto}.tiny-dialog-box .tiny-dialog-box__body .tiny-dept__search{line-height:30px}.tiny-dialog-box .tiny-dialog-box__footer{padding:var(--ti-dialog-box-footer-padding-top) var(--ti-dialog-box-footer-padding-horizontal) var(--ti-dialog-box-footer-margin-bottom);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-dialog-box .tiny-dialog-box__footer .tiny-button{min-width:var(--ti-dialog-box-footer-btn-min-width)}.tiny-dialog-box .tiny-dialog-box__footer .tiny-toolbar .tiny-button{margin:0 4px}.tiny-dialog-box.is-right-slide{border-radius:var(--ti-dialog-box-drawer-radius);min-width:var(--ti-dialog-box-drawer-min-width);max-width:var(--ti-dialog-box-drawer-max-width);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-dialog-box.is-right-slide .tiny-dialog-box__body,.tiny-dialog-box.is-right-slide .tiny-dialog-box__footer,.tiny-dialog-box.is-right-slide .tiny-dialog-box__header{width:calc(100% - var(--ti-dialog-box-drawer-padding-left) - var(--ti-dialog-box-drawer-padding-right));margin-left:var(--ti-dialog-box-drawer-padding-left);margin-right:var(--ti-dialog-box-drawer-padding-right)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__header{padding:var(--ti-dialog-box-drawer-header-padding-top) var(--ti-dialog-box-drawer-header-padding-right) var(--ti-dialog-box-drawer-header-padding-bottom) var(--ti-dialog-box-drawer-header-padding-left);border-bottom:1px solid var(--ti-dialog-box-drawer-divider-border-color)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__headerbtn{right:calc(var(--ti-dialog-box-btn-position-right) - var(--ti-dialog-box-drawer-padding-right) - (var(--ti-dialog-box-btn-width) - var(--ti-dialog-box-close-icon-size))/ 2)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:var(--ti-dialog-box-drawer-body-padding-top) var(--ti-dialog-box-drawer-body-padding-right) var(--ti-dialog-box-drawer-body-padding-bottom) var(--ti-dialog-box-drawer-body-padding-left)}.tiny-dialog-box.is-right-slide .tiny-dialog-box__footer{padding:var(--ti-dialog-box-drawer-footer-padding-top) var(--ti-dialog-box-drawer-footer-padding-right) var(--ti-dialog-box-drawer-footer-padding-bottom) var(--ti-dialog-box-drawer-footer-padding-left);border-top:1px solid var(--ti-dialog-box-drawer-divider-border-color);text-align:var(--ti-dialog-box-drawer-footer-text-align)}.popup-parent--hidden{overflow:hidden}body:not(.popup-parent--hidden) .v-modal{pointer-events:none}body:not(.popup-parent--hidden) .tiny-dialog-box__wrapper{pointer-events:none}body:not(.popup-parent--hidden) .tiny-dialog-box__wrapper .tiny-dialog-box{pointer-events:auto}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.3;background:#000}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.dialog-slideRight-enter-active{-webkit-animation:slideRight .5s ease-in forwards;animation:slideRight .5s ease-in forwards}.dialog-slideRight-leave-active{-webkit-animation:slideRightout .5s ease-in forwards;animation:slideRightout .5s ease-in forwards}@-webkit-keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.enlarge-enter-active{-webkit-animation:enlarge-in 350ms linear;animation:enlarge-in 350ms linear}@-webkit-keyframes enlarge-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(.5);transform:scale(.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes enlarge-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(.5);transform:scale(.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@media (max-width:480px){.tiny-dialog-box{width:100%!important;top:0!important;left:0!important}}.tiny-mobile-dialog-box{--ti-mobile-dialogbox-background:var(--ti-mobile-base-color-light, #fff);--ti-mobile-dialogbox-width:270px;--ti-mobile-dialogbox-border-color:#ccc;--ti-mobile-dialogbox-title-font-size:17px;--ti-mobile-dialogbox-title-color:var(--ti-mobile-base-color-dark, #000);--ti-mobile-dialogbox-body-font-size:16px;--ti-mobile-dialogbox-body-color:var(--ti-mobile-base-color-info-normal, #333);--ti-mobile-dialogbox-cancel-button-color:var(--ti-mobile-base-color-placeholder, #999);--ti-mobile-dialogbox-confirm-button-color:var(--ti-mobile-base-color-info-normal, #333);position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:var(--ti-mobile-dialogbox-width,270px);background:var(--ti-mobile-dialogbox-background,#fff)}.tiny-mobile-dialog-box__wrapper{margin:0;overflow:auto;position:fixed;right:0;top:0;left:0;bottom:0}.tiny-mobile-dialog-box.is-hide-header .tiny-mobile-dialog-box__body{padding:24px 16px;max-height:490px}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__header{padding:16px 16px 8px;text-align:center}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__title{font-size:var(--ti-mobile-dialogbox-title-font-size,17px);color:var(--ti-mobile-dialogbox-title-color,#000);font-weight:700}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__body{font-size:var(--ti-mobile-dialogbox-body-font-size,16px);color:var(--ti-mobile-dialogbox-body-color,#333);padding:0 16px 16px;max-height:482px;overflow-y:auto}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer{height:44px;padding:0 16px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid var(--ti-mobile-dialogbox-border-color,#ccc)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer{border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer::before{content:'';z-index:1;display:block;background-color:var(--ti-mobile-dialogbox-border-color,#ccc);position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__footer::before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button{width:50%;font-size:16px;line-height:42px;border:0;background:0;cursor:pointer}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button:focus{outline:0}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button{color:var(--ti-mobile-dialogbox-cancel-button-color,#999);border-right:1px solid var(--ti-mobile-dialogbox-border-color,#ccc);position:relative}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button{border-right:none;position:relative}html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button::after{content:'';z-index:1;display:block;background-color:var(--ti-mobile-dialogbox-border-color,#ccc);position:absolute;right:0;left:auto;bottom:auto;top:0;height:100%;width:1px;background:var(--ti-mobile-dialogbox-border-color,#ccc);-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.cancel-button::after{-webkit-transform:scaleX(.33);transform:scaleX(.33)}}.tiny-mobile-dialog-box .tiny-mobile-dialog-box__button.confirm-button{color:var(--ti-mobile-dialogbox-confirm-button-color,#333)}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.3;background:#000}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.dialog-slideRight-enter-active{-webkit-animation:slideRight .5s ease-in forwards;animation:slideRight .5s ease-in forwards}.dialog-slideRight-leave-active{-webkit-animation:slideRightout .5s ease-in forwards;animation:slideRightout .5s ease-in forwards}@-webkit-keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideRightout{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}50%{opacity:.6;-webkit-transform:translateX(50%);transform:translateX(50%)}100%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}@-webkit-keyframes dialog-fade-out{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes dialog-fade-out{0%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@-webkit-keyframes dialog-fade-in{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes dialog-fade-in{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.tiny-split-wrapper{--ti-split-pane-font-size:var(--ti-common-font-size-2, 16px);--ti-split-trigger-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-split-trigger-bar-bg-color:var(--ti-common-color-icon-normal, #575d6c);--ti-split-trigger-hover-bg-color:var(--ti-split-trigger-bg-color);--ti-split-trigger-bar-hover-bg-color:var(--ti-split-trigger-bar-bg-color);--ti-split-trigger-bar-con-bg-color:var(--ti-common-color-light, #fff);--ti-split-trigger-size:var(--ti-common-size-base, 4px);--ti-split-trigger-bar-margin-left:var(--ti-common-space-base, 4px);--ti-split-trigger-con-col-cursor:e-resize;--ti-split-trigger-bar-margin-top:var(--ti-common-space-base, 4px);--ti-split-trigger-con-row-cursor:n-resize;position:relative;width:100%;height:100%;overflow:hidden;-webkit-box-shadow:0 0 0 1px #d9d9d9;box-shadow:0 0 0 1px #d9d9d9}.tiny-split-pane{position:absolute;font-size:var(--ti-split-pane-font-size)}.tiny-split-pane.left-pane,.tiny-split-pane.right-pane{top:0;bottom:0;overflow:hidden}.tiny-split-pane.left-pane{left:0}.tiny-split-pane.right-pane{right:0}.tiny-split-pane.bottom-pane,.tiny-split-pane.top-pane{left:0;right:0;overflow:hidden}.tiny-split-pane.top-pane{top:0}.tiny-split-pane.bottom-pane{bottom:0}.tiny-split-trigger-con{position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:10}.tiny-split-trigger-bar-con{position:absolute;background:#fff}.tiny-split-trigger-bar-con.vertical{top:50%;height:28px;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.tiny-split-trigger-bar-con.horizontal{left:50%;width:28px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.tiny-split-trigger-vertical{width:4px;height:100%;background:#eaecf1;cursor:e-resize}.tiny-split-trigger-vertical .tiny-split-trigger-bar{width:4px;height:4px;background:#4e4e4e;float:left;margin-top:4px;border-radius:50%}.tiny-split-trigger-horizontal{height:4px;width:100%;background:#eaecf1;cursor:n-resize}.tiny-split-trigger-horizontal .tiny-split-trigger-bar{height:4px;width:4px;background:#4e4e4e;float:left;margin-left:4px;border-radius:50%}.tiny-split-horizontal .tiny-split-trigger-con{top:50%;height:100%;width:0}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-button{width:14px;height:26px;position:absolute;top:50%}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-button:hover{width:18px}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-left-button{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);left:-6px;border-radius:4px 0 0 4px;border-right:0}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-left-button:hover{left:-10px}.tiny-split-horizontal .tiny-split-trigger-con .tiny-split-trigger-right-button{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);border-radius:0 4px 4px 0;left:9px;border-left:0}.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal,.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical{cursor:auto}.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal:hover,.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical:hover{background:#eaecf1}.tiny-split-horizontal .tiny-split-trigger-con.tiny-split-trigger-con-left-active{margin-left:-1px}.tiny-split-horizontal .tiny-split-vertical .tiny-split-trigger-con{left:50%;height:0;width:100%}.tiny-split-horizontal .tiny-split-trigger-con-drag{cursor:e-resize}.tiny-split-horizontal .tiny-split-pane-moving{cursor:e-resize}.tiny-split-vertical .tiny-split-trigger-con{left:50%;height:0;width:100%}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-button{width:26px;height:14px;position:absolute;left:50%}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-button:hover{height:18px}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-top-button{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);border-radius:4px 4px 0 0;top:-6px;border-bottom:0}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-top-button .tiny-svg{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-top-button:hover{top:-10px}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-bottom-button{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);border-radius:0 0 4px 4px;border-top:0;top:9px}.tiny-split-vertical .tiny-split-trigger-con .tiny-split-trigger-bottom-button .tiny-svg{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal,.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical{cursor:auto}.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-horizontal:hover,.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-disabled .tiny-split-trigger-vertical:hover{background:#eaecf1}.tiny-split-vertical .tiny-split-trigger-con.tiny-split-trigger-con-top-active{margin-top:-1px}.tiny-split-vertical .tiny-split-horizontal .tiny-split-trigger-con{top:50%;height:100%;width:0}.tiny-split-vertical .tiny-split-trigger-con-drag{cursor:n-resize}.tiny-split-vertical .tiny-split-pane-moving{cursor:n-resize}.tiny-split .no-select{-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-split-trigger-button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid rgba(25,25,25,.1);background:#fff;-webkit-transition:all .1s;transition:all .1s;visibility:hidden}.tiny-split-trigger-button .tiny-svg{fill:#939393}.tiny-split-trigger-button:hover{cursor:pointer}.tiny-split-trigger-button:hover .tiny-svg{fill:#282c43}.tiny-split-trigger-button-show{visibility:visible}.tiny-split-trigger-con{-webkit-transition:all .1s;transition:all .1s}.tiny-split-trigger-con-drag{-webkit-transition:none;transition:none}.tiny-split-trigger-con-vertical.tiny-split-trigger-con-simple{padding:0 8px;cursor:e-resize}.tiny-split-trigger-con-horizontal.tiny-split-trigger-con-simple{padding:8px 0;cursor:n-resize}.tiny-split-trigger-con-simple .tiny-split-trigger-vertical{width:1px}.tiny-split-trigger-con-simple .tiny-split-trigger-horizontal{height:1px}.tiny-split-trigger-con-simple:hover .tiny-split-trigger{background:#0072e8}.tiny-grid-toolbar-modal .tiny-grid-modal__box .tiny-grid-modal__body{padding:0 0 10px 0}.tiny-grid-toolbar-modal .tiny-grid-modal__content{position:relative}.tiny-grid-toolbar-modal .tiny-grid-modal__header{border:none}.tiny-grid-toolbar-modal .tiny-grid-modal__header .tiny-grid-modal__close-btn{height:18px;width:18px}.tiny-grid-toolbar-modal .tiny-grid-modal__close-btn,.tiny-grid-toolbar-modal .tiny-grid-modal__zoom-btn{top:18px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs{padding-top:28px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head{white-space:nowrap;margin:0;overflow:hidden;width:300px;position:absolute;left:0;top:0;z-index:5000;height:40px;padding-top:2px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul{height:100%;border:none}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li{float:left;margin-right:-1px;margin-left:24px;cursor:pointer;padding:0 2px;color:#161e26;height:100%;min-width:auto;line-height:unset}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li.tiny-grid-custom__tabs-selected{color:#1890ff}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li.tiny-grid-custom__tabs-base{font-weight:700}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item{height:340px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .other-setting{height:100%;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;padding:30px 20px 20px 25px;position:relative;top:-1px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .other-setting .label{margin-right:20px;font-size:12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane.left-pane{overflow-y:auto}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header{padding-bottom:10px;margin-bottom:8px;color:#8d959e;border-bottom:1px solid #e8ebef;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header p{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header .clear-all{color:#1890ff;cursor:pointer;margin-left:16px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .header span:not(.clear-all){display:inline-block;text-align:center;width:60px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__inner{border-width:0;padding:0;padding-left:5px;height:24px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__inner:focus{border-width:1px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__suffix{display:none;right:6px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane .tiny-input .tiny-input__suffix svg{width:12px;height:12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul{height:calc(100% - 20px);overflow-y:auto}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li{height:32px;padding:0 8px 0 6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li.show-dropdown .dropdown-column .set-btn{visibility:visible}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .sort-number{width:40px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .name{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:32px;line-height:32px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .name.dragable{cursor:move}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .close-icon{visibility:hidden;cursor:pointer;margin-left:18px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .drag-icon{display:grid;cursor:move;margin-right:6px;grid-template-columns:1fr 1fr;grid-column-gap:2px;grid-row-gap:4px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .drag-icon span{display:inline-block;width:2px;height:2px;background-color:#8d959e}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-btn{display:inline-block;width:24px;height:24px;line-height:24px;background-color:#f5f6f8}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column{width:60px;text-align:center}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column .is-text{display:inline-block;width:60px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column .is-text .set-btn.visibility-hidden{visibility:hidden}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .dropdown-column.visibility-hidden{visibility:hidden}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li .set-btn{font-size:12px;text-align:center;display:inline-block;visibility:hidden;width:60px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover{background-color:#f5f6f8}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .close-icon{visibility:visible}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .close-icon.visibility-hidden{visibility:hidden}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .close-icon svg{fill:#8d959e}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .set-btn:not(.visibility-hidden){visibility:visible}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .tiny-input:hover .tiny-input__inner{background-color:#fff}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .tiny-input .tiny-input__inner{background-color:#f5f6f8}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-split-pane ul li:hover .tiny-input .tiny-input__suffix{display:block}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .left-panel{padding:16px 18px 16px 24px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .right-panel{padding:20px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .group-label{font-size:14px;font-weight:700;margin:18px 0 12px 0}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .group-label.group-label-first{margin-top:0}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .check-all-btn{margin-bottom:16px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-checkbox-group.is-vertical .tiny-checkbox:not(:last-child){margin-bottom:12px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-checkbox .tiny-checkbox__label{font-size:14px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .tiny-search{margin-bottom:18px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template{margin-bottom:8px}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template .tiny-filter-box{max-width:100%}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template .tiny-filter-box .value{max-width:initial}.tiny-grid-toolbar-modal .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-split-wrapper .select-template .tiny-filter-box .filter-icon-close{-ms-flex-negative:0;flex-shrink:0}.tiny-grid-toolbar-modal .tiny-grid-custom .tiny-grid-custom__footer{margin:2px 12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:right;-ms-flex-pack:right;justify-content:right;padding-right:10px}.tiny-grid-toolbar-modal .tiny-grid-custom .tiny-grid-custom__footer>button{margin:0 5px}.tiny-grid-toolbar-modal .tiny-grid-custom .tiny-grid-custom__footer>span{margin:0 5px}.tiny-popover.grid-toolbar-template-popover .radio-box{margin-bottom:14px}.tiny-popover.grid-toolbar-template-popover .btn-box{text-align:right;margin-top:16px}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index17.js b/admin-website/src/main/resources/static/assets/index17.js
new file mode 100644
index 0000000..630ad4e
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index17.js
@@ -0,0 +1,1079 @@
+import { u as openBlock, v as createElementBlock, D as renderSlot, F as mergeProps, d as defineComponent$1, a8 as reactive, r as ref, a9 as toRefs, k as resolveComponent, l as createVNode, w as createBaseVNode, E as toDisplayString, z as createCommentVNode, H as withCtx, W as unref, y as createBlock, J as createTextVNode, A as normalizeClass, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { o as on, f as off, J as extend, d as defineComponent, b as $prefix, a as setup, q as axios, I as Input, B as Button, T as TINYModal, _ as _export_sfc$1 } from "./index.js";
+import { P as Pager, R as Row, C as Col, G as Grid, a as Column } from "./index31.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import "./index32.js";
+import { G as GridToolbar } from "./index33.js";
+import { S as Select } from "./index34.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./warning-triangle.js";
+import "./index35.js";
+const fullscreenApi = [
+  "fullscreenElement",
+  "fullscreenEnabled",
+  "requestFullscreen",
+  "exitFullscreen",
+  "fullscreenchange",
+  "fullscreenerror"
+];
+const fullscreenApiMoz = [
+  "mozFullScreenElement",
+  "mozFullScreenEnabled",
+  "mozRequestFullScreen",
+  "mozCancelFullScreen",
+  "mozfullscreenchange",
+  "mozfullscreenerror"
+];
+const fullscreenApiWebkit = [
+  "webkitFullscreenElement",
+  "webkitFullscreenEnabled",
+  "webkitRequestFullscreen",
+  "webkitExitFullscreen",
+  "webkitfullscreenchange",
+  "webkitfullscreenerror"
+];
+const fullscreenApiMs = [
+  "msFullscreenElement",
+  "msFullscreenEnabled",
+  "msRequestFullscreen",
+  "msExitFullscreen",
+  "MSFullscreenChange",
+  "MSFullscreenError"
+];
+const fullscreenApiMap = [fullscreenApi, fullscreenApiWebkit, fullscreenApiMoz, fullscreenApiMs];
+const document$1 = typeof window !== "undefined" && typeof window.document !== "undefined" ? window.document : {};
+let fullscreenEvents = null;
+const getFullScreenEvents = () => {
+  for (let i = 0, len = fullscreenApiMap.length; i < len; i++) {
+    let eventName = fullscreenApiMap[i];
+    if (eventName && eventName[1] in document$1) {
+      fullscreenEvents = {};
+      for (i = 0; i < eventName.length; i++) {
+        fullscreenEvents[fullscreenApiMap[0][i]] = eventName[i];
+      }
+      return;
+    }
+  }
+};
+getFullScreenEvents();
+const eventNameMap = {
+  change: fullscreenEvents && fullscreenEvents.fullscreenchange,
+  error: fullscreenEvents && fullscreenEvents.fullscreenerror
+};
+const screenfull = {
+  request(element, options) {
+    return new Promise((resolve, reject) => {
+      const onFullscreenEntered = () => {
+        this.off("change", onFullscreenEntered);
+        resolve();
+      };
+      this.on("change", onFullscreenEntered);
+      element = element || document$1.documentElement;
+      if (element[fullscreenEvents && fullscreenEvents.requestFullscreen]) {
+        const promiseReturn = element[fullscreenEvents && fullscreenEvents.requestFullscreen](options);
+        if (promiseReturn instanceof Promise) {
+          promiseReturn.then(onFullscreenEntered).catch(reject);
+        }
+      }
+    });
+  },
+  exit() {
+    return new Promise((resolve, reject) => {
+      if (!this.isFullscreen) {
+        resolve();
+        return;
+      }
+      const onFullscreenExit = () => {
+        this.off("change", onFullscreenExit);
+        resolve();
+      };
+      this.on("change", onFullscreenExit);
+      if (document$1[fullscreenEvents && fullscreenEvents.exitFullscreen]) {
+        const promiseReturn = document$1[fullscreenEvents && fullscreenEvents.exitFullscreen]();
+        if (promiseReturn instanceof Promise) {
+          promiseReturn.then(onFullscreenExit).catch(reject);
+        }
+      }
+    });
+  },
+  toggle(element, options) {
+    return this.isFullscreen ? this.exit() : this.request(element, options);
+  },
+  onchange(callback) {
+    this.on("change", callback);
+  },
+  onerror(callback) {
+    this.on("error", callback);
+  },
+  on(event, callback) {
+    const eventName = eventNameMap[event];
+    if (eventName) {
+      on(document$1, eventName, callback);
+    }
+  },
+  off(event, callback) {
+    const eventName = eventNameMap[event];
+    if (eventName) {
+      off(document$1, eventName, callback);
+    }
+  },
+  raw: fullscreenEvents
+};
+Object.defineProperties(screenfull, {
+  isFullscreen: {
+    get() {
+      return !!document$1[fullscreenEvents && fullscreenEvents.fullscreenElement];
+    }
+  },
+  element: {
+    enumerable: true,
+    get() {
+      return document$1[fullscreenEvents && fullscreenEvents.fullscreenElement];
+    }
+  },
+  isEnabled: {
+    enumerable: true,
+    get() {
+      return !!document$1[fullscreenEvents && fullscreenEvents.fullscreenEnabled];
+    }
+  }
+});
+var screenfull_default = screenfull;
+const toggle = ({ state, api: api2 }) => (value) => {
+  if (value === void 0) {
+    if (state.isFullscreen) {
+      api2.exit();
+    } else {
+      api2.request();
+    }
+  } else {
+    value ? api2.request() : api2.exit();
+  }
+};
+const request = ({ props, state, vm, sf, api: api2 }) => () => {
+  const change = () => {
+    if (state.isPageOnly) {
+      state.isFullscreen = true;
+      api2.onChangeFullScreen();
+      off(document, "keyup", api2.keypressCallback);
+      on(document, "keyup", api2.keypressCallback);
+    } else {
+      sf.off("change", api2.fullScreenCallback);
+      sf.on("change", api2.fullScreenCallback);
+      sf.request(props.teleport ? document.body : vm.$el);
+    }
+    if (props.teleport) {
+      if (vm.$el.parentNode === document.body) {
+        return;
+      }
+      state.__parentNode = vm.$el.parentNode;
+      state.__token = document.createComment("fullscreen-token");
+      state.__parentNode.insertBefore(state.__token, vm.$el);
+      document.body.appendChild(vm.$el);
+    }
+  };
+  props.beforeChange ? props.beforeChange(change) : change();
+};
+const exit = ({ state, api: api2, sf, props }) => () => {
+  const change = () => {
+    if (!state.isFullscreen) {
+      return;
+    }
+    if (state.isPageOnly) {
+      state.isFullscreen = false;
+      api2.onChangeFullScreen();
+      off(document, "keyup", api2.keypressCallback);
+    } else {
+      sf.exit();
+    }
+  };
+  props.beforeChange ? props.beforeChange(change) : change();
+};
+const shadeClick = ({ props, vm, api: api2 }) => (e) => {
+  if (e.target === vm.$el) {
+    if (props.exitOnClickWrapper) {
+      api2.exit();
+    }
+  }
+};
+const fullScreenCallback = ({ state, sf, api: api2 }) => () => {
+  if (!sf.isFullscreen) {
+    sf.off("change", api2.fullScreenCallback);
+  }
+  state.isFullscreen = sf.isFullscreen;
+  api2.onChangeFullScreen();
+};
+const keypressCallback = (api2) => (e) => {
+  if (e.key === "Escape") {
+    api2.exit();
+  }
+};
+const onChangeFullScreen = ({ props, state, vm, emit }) => () => {
+  if (!state.isFullscreen) {
+    if (props.teleport && state.__parentNode) {
+      state.__parentNode.insertBefore(vm.$el, state.__token);
+      state.__parentNode.removeChild(state.__token);
+    }
+  }
+  emit("change", state.isFullscreen);
+  emit("update:fullscreen", state.isFullscreen);
+};
+const enter = (api2) => () => {
+  api2.request();
+};
+const getState = (state) => () => state.isFullscreen;
+const computeWrapperStyle = ({ props, state }) => () => {
+  let style = {};
+  if ((state.isPageOnly || props.teleport) && state.isFullscreen) {
+    Object.assign(style, {
+      position: "fixed",
+      left: "0",
+      top: "0",
+      width: "100%",
+      height: "100%"
+    });
+  }
+  if (style && props.zIndex) {
+    style.zIndex = props.zIndex;
+  }
+  return style;
+};
+const api$1 = [
+  "state",
+  "exit",
+  "enter",
+  "toggle",
+  "request",
+  "getState",
+  "shadeClick",
+  "keypressCallback",
+  "fullScreenCallback",
+  "onChangeFullScreen"
+];
+const renderless = (props, { reactive: reactive2, computed, watch }, { vm, emit }) => {
+  const api2 = {};
+  const state = reactive2({
+    isFullscreen: false,
+    isEnabled: false,
+    support: computed(() => state.isEnabled),
+    // 如果不支持浏览器全屏,改用网页全屏
+    isPageOnly: computed(() => props.pageOnly || !screenfull_default.isEnabled),
+    wrapperStyle: computed(() => api2.computeWrapperStyle())
+  });
+  Object.assign(api2, {
+    state,
+    getState: getState(state),
+    enter: enter(api2),
+    exit: exit({ state, api: api2, sf: screenfull_default, props }),
+    toggle: toggle({ state, api: api2 }),
+    keypressCallback: keypressCallback(api2),
+    shadeClick: shadeClick({ props, vm, api: api2 }),
+    request: request({ props, state, vm, sf: screenfull_default, api: api2 }),
+    fullScreenCallback: fullScreenCallback({ state, sf: screenfull_default, api: api2 }),
+    computeWrapperStyle: computeWrapperStyle({ props, state }),
+    onChangeFullScreen: onChangeFullScreen({ props, state, vm, emit })
+  });
+  watch(
+    () => props.fullscreen,
+    (value) => {
+      if (value !== state.isFullscreen) {
+        value ? api2.request() : api2.exit();
+      }
+    },
+    { lazy: true }
+  );
+  state.isEnabled = screenfull_default.isEnabled;
+  return api2;
+};
+const defaults = {
+  callback: () => void 0,
+  fullscreenClass: "fullscreen",
+  pageOnly: false,
+  teleport: false
+};
+let token;
+let parentNode;
+const setStyle = (element, style) => {
+  element.style.position = style.position;
+  element.style.left = style.left;
+  element.style.top = style.top;
+  element.style.width = style.width;
+  element.style.height = style.height;
+  element.style.zIndex = style.zIndex;
+};
+const resetElement = (api2) => {
+  const targetEle = api2.targetElement;
+  if (targetEle) {
+    targetEle.classList.remove(api2.opts.fullscreenClass);
+    if (api2.opts.teleport || api2.opts.pageOnly) {
+      if (api2.opts.teleport && parentNode) {
+        parentNode.insertBefore(targetEle, token);
+        parentNode.removeChild(token);
+      }
+      if (targetEle.__styleCache) {
+        setStyle(targetEle, targetEle.__styleCache);
+      }
+    }
+  }
+};
+const setTargetStyle = (target, options) => {
+  const { position, left, top, width, height, zIndex } = target.style;
+  target.classList.add(options.fullscreenClass);
+  if (options.teleport || options.pageOnly) {
+    const style = {
+      position: "fixed",
+      left: "0",
+      top: "0",
+      width: "100%",
+      height: "100%"
+    };
+    target.__styleCache = { position, left, top, width, height, zIndex };
+    options.zIndex && (style.zIndex = options.zIndex);
+    setStyle(target, style);
+  }
+};
+const getOptions = (screenfull2, options, target) => {
+  options = extend({}, defaults, options);
+  if (target === document.body) {
+    options.teleport = false;
+  }
+  if (!screenfull2.isEnabled) {
+    options.pageOnly = true;
+  }
+  return options;
+};
+const api = {
+  targetElement: null,
+  opts: null,
+  isEnabled: screenfull_default.isEnabled,
+  isFullscreen: false,
+  toggle(target, options, force) {
+    if (force === void 0) {
+      return !this.isFullscreen ? this.request(target, options) : this.exit();
+    }
+    return force ? this.request(target, options) : this.exit();
+  },
+  request(targetEle, options) {
+    if (this.isFullscreen) {
+      return Promise.resolve();
+    }
+    if (!targetEle) {
+      targetEle = document.body;
+    }
+    this.opts = getOptions(screenfull_default, options, targetEle);
+    setTargetStyle(targetEle, this.opts);
+    if (this.opts.teleport) {
+      parentNode = targetEle.parentNode;
+      if (parentNode) {
+        token = document.createComment("fullscreen-token");
+        parentNode.insertBefore(token, targetEle);
+        document.body.appendChild(targetEle);
+      }
+    }
+    if (this.opts.pageOnly) {
+      const keypressCallback2 = (e) => {
+        if (e.key === "Escape") {
+          off(document, "keyup", keypressCallback2);
+          this.exit();
+        }
+      };
+      this.isFullscreen = true;
+      this.targetElement = targetEle;
+      off(document, "keyup", keypressCallback2);
+      on(document, "keyup", keypressCallback2);
+      if (this.opts.callback) {
+        this.opts.callback(this.isFullscreen);
+      }
+      return Promise.resolve();
+    } else {
+      const fullScreenCallback2 = () => {
+        if (!screenfull_default.isFullscreen) {
+          screenfull_default.off("change", fullScreenCallback2);
+          resetElement(this);
+        }
+        this.isFullscreen = screenfull_default.isFullscreen;
+        this.targetElement = !this.opts.teleport ? screenfull_default.targetElement : targetEle || null;
+        if (this.opts.callback) {
+          this.opts.callback(screenfull_default.isFullscreen);
+        }
+      };
+      screenfull_default.on("change", fullScreenCallback2);
+      return screenfull_default.request(this.opts.teleport ? document.body : targetEle);
+    }
+  },
+  exit() {
+    if (!this.isFullscreen) {
+      return Promise.resolve();
+    }
+    if (this.opts.pageOnly) {
+      resetElement(this);
+      this.isFullscreen = false;
+      this.targetElement = null;
+      if (this.opts.callback) {
+        this.opts.callback(this.isFullscreen);
+      }
+      return Promise.resolve();
+    }
+    return screenfull_default.exit();
+  }
+};
+api.support = api.isEnabled;
+api.getState = () => api.isFullscreen;
+api.enter = api.request;
+var apis_default = api;
+const index$1 = "";
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc2(sfc, props) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$1 = defineComponent({
+  name: $prefix + "Fullscreen",
+  props: {
+    fullscreen: {
+      type: Boolean,
+      default: false
+    },
+    exitOnClickWrapper: {
+      type: Boolean,
+      default: true
+    },
+    fullscreenClass: {
+      type: String,
+      default: ""
+    },
+    pageOnly: {
+      type: Boolean,
+      default: false
+    },
+    teleport: {
+      type: Boolean,
+      default: false
+    },
+    zIndex: {
+      type: Number,
+      default: 0
+    },
+    beforeChange: Function
+  },
+  setup: function setup$1(props, context) {
+    return setup({
+      props,
+      context,
+      renderless,
+      api: api$1,
+      mono: true
+    });
+  }
+});
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  var _class;
+  return openBlock(), createElementBlock(
+    "div",
+    mergeProps({
+      ref: "wrapper",
+      class: "tiny-fullscreen"
+    }, _ctx.$attrs, {
+      style: _ctx.state.wrapperStyle,
+      class: (_class = {}, _class[_ctx.fullscreenClass] = _ctx.state.isFullscreen, _class),
+      onClick: _cache[0] || (_cache[0] = function($event) {
+        return _ctx.shadeClick($event);
+      }),
+      onKeyup: _cache[1] || (_cache[1] = function() {
+        return _ctx.exit && _ctx.exit.apply(_ctx, arguments);
+      })
+    }),
+    [renderSlot(_ctx.$slots, "default")],
+    16
+    /* FULL_PROPS */
+  );
+}
+var Fullscreen = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render]]);
+var version = "3.16.0";
+var apis = ["exit", "enter", "element", "getState", "isEnabled", "isFullscreen", "options", "request", "support", "toggle"];
+apis.forEach(function(api2) {
+  if (apis_default[api2] && !Fullscreen[api2]) {
+    Fullscreen[api2] = apis_default[api2];
+  }
+});
+Fullscreen.install = function(Vue) {
+  Vue.component(Fullscreen.name, Fullscreen);
+};
+Fullscreen.version = version;
+const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAHCAYAAAA4R3wZAAABCklEQVQoU22QP0sCcRzGP1/P/kgHDb2F9oIa8pziMq8zaAvqNQQODRI0GEJDDjU1tDS0CS3BKWGnS/wqagl6Ay2NQVEYduc3GgwTn/Hh84GHRxiSemg2FMqAKFrKu5mzQUwGi+DKFEQ4BJ6BCJhGpegvpQ/62X9i0DQ7ouwr8piMusuWlYw7El8Cc4ru5d1MqSf/iUF4UxZ0F7hPfON5nvP6CzUaD5NRolNTcFSp+G66KCIqqir15m0FdBvR65F4bDWbnX/rn9Vqteyv7viFoouqcuy7C1tSC80RUABCK5pYy+VmPocdVjUmZbc5B1ZQTiQIzZ3Ay0eKzXXHaQ+Tel21+jRqT72fArM/mhth5VHyw18AAAAASUVORK5CYII=";
+const _imports_1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAHCAYAAAA4R3wZAAABCUlEQVQoU33QPUtCARTG8f/jRcPKpS/REtTQoi1hycWEWsK1qYiGtnAqqiGq2aAgaHdoEW6LL0taw21rbYqWQOjFEG7SCSvBXugZz3l+HDjyyvVz0G2zEVvIZkcC/onv++H7h+AQMSavVD9CLIG8ZtTms4lE6y9bKFxHYkNPBRNzoBOZmbzyZV6yFaDitAdmXXf0pRcXi36/Ew1OEa6w4+fG3bI6hU98sSexBtTCb5FMKjX+2NlVq9XBlvUVMSaBfDoZX5VkH7Abr1TfRqwDVxFzXDOn/RoKzoA4sv2Z5ESu2/0GO0OvXMuBdoEboA0MC22mp+JbvUd+wS+8COyAQmZsZKYTBz8f9g5qeF7nvFWQIgAAAABJRU5ErkJggg==";
+const _imports_2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABKElEQVQoU4WST0vDQBDF36RJz7nrF9NrUlAPTYqC+VNwFzS5tamo1JiKXjzEj9SreBBE6kUEcWRXk26r4J52Z94w7zezlBUVwzhJ6JP5Xs/TMsBZEvZSU9zcs2KWAxypd1NwDGAIwijuewdEpLsKISzH3Tgn0A4zSyI60gXKRlZcjQEKGTxNAn+vLEv7+a1zA2BbidNBTyht65eZKSuup5bF9vvLQw+A1XU3T5n5SYkbeyuAqkhKSUKIz79YNIOZUAU6uGSwhRAfpmbV0qS6sIi6Ud/zpbx3HPf1jkDzJPTi1lIDnRfViIEBgMs48Ha/oe1bgLeYcJIG/lBD/+xBj5WAcRR4+42luq4788fF2a+xqnZMyNPAT9Zh9fQms5yAQ3Nxre6/r/EFIFKalUqbcTIAAAAASUVORK5CYII=";
+const _imports_3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAA60lEQVQoU52RP2vCUBTFz+ngKK4d/Ax+m+LiZAoKooIIiYI+W5Ooi0kFl7xsDg79cl2F5parRFIJxfqmyznvd/9y9ZE2sm8Znb6qjjEvJ5Q8Y8xTpVa3YPZJP7ZNCg6gHL2+0wrjNJsMHSoXRFY0DiK7B9Al4J6NME47IrIHuAbELQIAV6qRMvMGr+9n4JItcQGGGv8GAJLGG7QX6l1LF1u/BXJP9WuFsmHLtMcA3ca/W/Jju6RgetfQYZRsBByLyILkvDh0ruWb0qPsAPQA6Me3/FjFw/nbxGgihRhEaRuQ58nQWf61KYXU/wGrn32WXzmHCAAAAABJRU5ErkJggg==";
+function queryEmployeeList(params) {
+  return axios.post("/api/employee/getEmployee", params);
+}
+function deleteEmployee(id) {
+  return axios.delete(`/api/employee/delete?id=${id}`);
+}
+const _withScopeId = (n) => (pushScopeId("data-v-6e43c7c3"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container-list" };
+const _hoisted_2 = { class: "contain" };
+const _hoisted_3 = { class: "contain-head" };
+const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("hr", null, null, -1));
+const _hoisted_5 = { class: "contain-img" };
+const _hoisted_6 = { class: "contain-text" };
+const _hoisted_7 = { class: "search-btn" };
+const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "bottom-line" }, [
+  /* @__PURE__ */ createBaseVNode("hr")
+], -1));
+const _hoisted_9 = { class: "tiny-fullscreen-scroll" };
+const _hoisted_10 = { class: "tiny-fullscreen-wrapper" };
+const _hoisted_11 = { class: "btn" };
+const _hoisted_12 = { class: "screen" };
+const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("span", { class: "status-dot" }, null, -1));
+const _hoisted_14 = { class: "status-text" };
+const _hoisted_15 = ["onClick"];
+const _sfc_main = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    const state = reactive({
+      loading: false,
+      filterOptions: {}
+    });
+    const pagerConfig = reactive({
+      component: Pager,
+      attrs: {
+        currentPage: 1,
+        pageSize: 10,
+        pageSizes: [10, 20],
+        total: 10,
+        layout: "total, prev, pager, next, jumper, sizes"
+      }
+    });
+    let tableData = ref([]);
+    const taskGrid = ref();
+    const { loading, filterOptions } = toRefs(state);
+    const statusOptions = [
+      {
+        value: "0",
+        label: "offline"
+      },
+      {
+        value: "1",
+        label: "online"
+      },
+      {
+        value: "2",
+        label: "doing"
+      }
+    ];
+    async function fetchData(params = {
+      pageIndex: 1,
+      pageSize: 10,
+      status: ""
+    }) {
+      const { ...rest } = filterOptions.value;
+      const queryParmas = {
+        searchInfo: rest,
+        ...params
+      };
+      state.loading = true;
+      try {
+        const { data } = await queryEmployeeList(queryParmas);
+        const { data: list, total } = data;
+        tableData.value = list;
+        return {
+          result: list,
+          page: { total }
+        };
+      } finally {
+        state.loading = false;
+      }
+    }
+    const fetchDataOption = reactive({
+      api: ({ page }) => {
+        const { currentPage, pageSize } = page;
+        return fetchData({
+          pageIndex: currentPage,
+          pageSize
+        });
+      }
+    });
+    const handleDelete = (id) => {
+      deleteEmployee(id).then((res) => {
+        TINYModal.message({
+          message: "已删除",
+          status: "success"
+        });
+      });
+    };
+    function getStatusText(status) {
+      var _a;
+      return ((_a = statusOptions.find(({ value }) => status === value)) == null ? void 0 : _a.label) || "";
+    }
+    function reloadGrid() {
+      taskGrid == null ? void 0 : taskGrid.value.handleFetch("reload");
+      fetchData();
+    }
+    function handleFormReset() {
+      state.filterOptions = {};
+      reloadGrid();
+    }
+    const setCollapse = ref(true);
+    function collapse() {
+      setCollapse.value = false;
+    }
+    function extend2() {
+      setCollapse.value = true;
+    }
+    const toCsvEvent = () => {
+      taskGrid.value.exportCsv({
+        filename: "table.csv",
+        original: true,
+        isHeader: false,
+        data: tableData.value
+      });
+    };
+    const fullscreen = ref(false);
+    const toggle2 = () => {
+      fullscreen.value = !fullscreen.value;
+    };
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.list", "menu.list.searchTable"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createBaseVNode("span", null, toDisplayString(_ctx.$t("searchTable.form.create")), 1),
+            _hoisted_4,
+            createBaseVNode("div", _hoisted_5, [
+              setCollapse.value ? (openBlock(), createElementBlock("img", {
+                key: 0,
+                src: _imports_0,
+                alt: "collapse",
+                onClick: collapse
+              })) : createCommentVNode("", true),
+              !setCollapse.value ? (openBlock(), createElementBlock("img", {
+                key: 1,
+                src: _imports_1,
+                alt: "expand",
+                onClick: extend2
+              })) : createCommentVNode("", true)
+            ]),
+            createBaseVNode("div", _hoisted_6, toDisplayString(setCollapse.value ? _ctx.$t("searchTable.form.collapse") : _ctx.$t("searchTable.form.extend")), 1)
+          ]),
+          createVNode(unref(Form), {
+            model: unref(filterOptions),
+            "label-position": "right",
+            "label-width": "100px",
+            class: "filter-form",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "center",
+                class: "col"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.name")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).name,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filterOptions).name = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.department"),
+                        prop: "id"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).department,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(filterOptions).department = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.role")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).roles,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(filterOptions).roles = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              setCollapse.value ? (openBlock(), createBlock(unref(Row), {
+                key: 0,
+                flex: true,
+                justify: "center",
+                class: "col"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), { span: 4 }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.workname")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).workbenchName,
+                            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(filterOptions).workbenchName = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.enablement"),
+                        prop: "id"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).project,
+                            "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(filterOptions).project = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.type")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).type,
+                            "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(filterOptions).type = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })) : createCommentVNode("", true),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "end",
+                class: "col"
+              }, {
+                default: withCtx(() => [
+                  setCollapse.value ? (openBlock(), createBlock(unref(Col), {
+                    key: 0,
+                    span: 4,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.columns.study")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(filterOptions).address,
+                            "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(filterOptions).address = $event),
+                            placeholder: _ctx.$t("searchTable.form.input")
+                          }, null, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })) : createCommentVNode("", true),
+                  setCollapse.value ? (openBlock(), createBlock(unref(Col), {
+                    key: 1,
+                    span: 4
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("searchTable.form.status")
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: unref(filterOptions).status,
+                            "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(filterOptions).status = $event),
+                            options: statusOptions
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })) : createCommentVNode("", true),
+                  createVNode(unref(Col), { span: 4 }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), null, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", _hoisted_7, [
+                            createVNode(unref(Button), {
+                              type: "primary",
+                              onClick: reloadGrid
+                            }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("searchTable.form.search")), 1)
+                              ]),
+                              _: 1
+                            }),
+                            createVNode(unref(Button), { onClick: handleFormReset }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("searchTable.form.reset")), 1)
+                              ]),
+                              _: 1
+                            })
+                          ])
+                        ]),
+                        _: 1
+                      })
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model"]),
+          _hoisted_8,
+          createVNode(unref(Fullscreen), {
+            teleport: true,
+            "page-only": true,
+            "z-index": 999,
+            fullscreen: fullscreen.value,
+            "onUpdate:fullscreen": _cache[8] || (_cache[8] = ($event) => fullscreen.value = $event)
+          }, {
+            default: withCtx(() => [
+              createBaseVNode("div", _hoisted_9, [
+                createBaseVNode("div", _hoisted_10, [
+                  createVNode(unref(Grid), {
+                    ref_key: "taskGrid",
+                    ref: taskGrid,
+                    "fetch-data": fetchDataOption,
+                    pager: pagerConfig,
+                    loading: unref(loading),
+                    size: "medium",
+                    "auto-resize": true
+                  }, {
+                    toolbar: withCtx(() => [
+                      createVNode(unref(GridToolbar), null, {
+                        buttons: withCtx(() => [
+                          createBaseVNode("div", _hoisted_11, [
+                            createVNode(unref(Button), { onClick: toCsvEvent }, {
+                              default: withCtx(() => [
+                                createTextVNode(toDisplayString(_ctx.$t("searchTable.operation.import")), 1)
+                              ]),
+                              _: 1
+                            }),
+                            createBaseVNode("div", _hoisted_12, [
+                              !fullscreen.value ? (openBlock(), createElementBlock("img", {
+                                key: 0,
+                                src: _imports_2,
+                                class: "screen-image",
+                                onClick: toggle2
+                              })) : createCommentVNode("", true),
+                              fullscreen.value ? (openBlock(), createElementBlock("img", {
+                                key: 1,
+                                src: _imports_3,
+                                class: "screen-image",
+                                onClick: toggle2
+                              })) : createCommentVNode("", true),
+                              createBaseVNode("span", { onClick: toggle2 }, toDisplayString(fullscreen.value ? _ctx.$t("searchTable.collapse.restores") : _ctx.$t("searchTable.collapse.full")), 1)
+                            ])
+                          ])
+                        ]),
+                        _: 1
+                      })
+                    ]),
+                    default: withCtx(() => [
+                      createVNode(unref(Column), {
+                        field: "name",
+                        title: _ctx.$t("searchTable.columns.name"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "employeeNo",
+                        title: _ctx.$t("searchTable.columns.number"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "departmentLevel",
+                        title: _ctx.$t("searchTable.columns.filterType"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "department",
+                        title: _ctx.$t("searchTable.columns.department"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "status",
+                        title: _ctx.$t("searchTable.form.status"),
+                        align: "center"
+                      }, {
+                        default: withCtx(({ row }) => [
+                          createBaseVNode("span", {
+                            class: normalizeClass(["status", {
+                              "status-closed": row.status === "0",
+                              "status-finished": row.status === "1"
+                            }])
+                          }, [
+                            _hoisted_13,
+                            createBaseVNode("span", _hoisted_14, toDisplayString(getStatusText(row.status)), 1)
+                          ], 2)
+                        ]),
+                        _: 1
+                      }, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "workbenchName",
+                        title: _ctx.$t("searchTable.columns.workname"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "project",
+                        title: _ctx.$t("searchTable.columns.enablement"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "type",
+                        title: _ctx.$t("searchTable.columns.type"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "address",
+                        title: _ctx.$t("searchTable.columns.study"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "roles",
+                        title: _ctx.$t("searchTable.columns.role"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "lastUpdateUser",
+                        title: _ctx.$t("searchTable.columns.updatesperson"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        field: "createTime",
+                        title: _ctx.$t("searchTable.columns.createdTime"),
+                        align: "center"
+                      }, null, 8, ["title"]),
+                      createVNode(unref(Column), {
+                        title: _ctx.$t("searchTable.columns.operations"),
+                        align: "center"
+                      }, {
+                        default: withCtx((data) => [
+                          createBaseVNode("a", {
+                            class: "operation",
+                            onClick: ($event) => handleDelete(data.row.id)
+                          }, toDisplayString(_ctx.$t("searchTable.columns.operations.delete")), 9, _hoisted_15)
+                        ]),
+                        _: 1
+                      }, 8, ["title"])
+                    ]),
+                    _: 1
+                  }, 8, ["fetch-data", "pager", "loading"])
+                ])
+              ])
+            ]),
+            _: 1
+          }, 8, ["fullscreen"])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_6e43c7c3_lang = "";
+const index = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-6e43c7c3"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index18.css b/admin-website/src/main/resources/static/assets/index18.css
new file mode 100644
index 0000000..e3ff39b
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index18.css
@@ -0,0 +1,75 @@
+.margin-bottom[data-v-12d7f218] {
+  margin-top: 20px;
+  margin-bottom: 30px;
+}
+.col > span[data-v-12d7f218] {
+  padding: 0 10px;
+}
+.margin-bottom[data-v-e6b9a58f] {
+  margin-top: 20px;
+  margin-bottom: 30px;
+}
+.col > span[data-v-e6b9a58f] {
+  padding: 0 10px;
+}
+.margin-bottom[data-v-ba8fc2e0] {
+  margin-top: 20px;
+  margin-bottom: 30px;
+}
+.col > span[data-v-ba8fc2e0] {
+  padding: 0 10px;
+}
+.margin-bottom[data-v-80e0925e] {
+  margin-top: 20px;
+  margin-bottom: 30px;
+}
+.col > span[data-v-80e0925e] {
+  padding: 0 10px;
+}
+.margin-bottom[data-v-fdf1e4e9] {
+  margin-top: 20px;
+  margin-bottom: 30px;
+}
+.col > span[data-v-fdf1e4e9] {
+  padding: 0 10px;
+}
+.detail-page[data-v-f7bfd6d4] {
+  height: 100%;
+}
+#container[data-v-f7bfd6d4] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  height: calc(100% - 60px);
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.detail-contain[data-v-f7bfd6d4] {
+  flex: 1 1 auto;
+  height: 100%;
+  margin: 8px 10px;
+  padding: 22px 20px;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 8px 8px rgba(169, 174, 184, 0.05);
+}
+[data-v-f7bfd6d4] .tiny-select {
+  width: 400px;
+}
+[data-v-f7bfd6d4] .tiny-collapse-item {
+  margin-bottom: 20px;
+}
+.margin-bottom[data-v-f7bfd6d4] {
+  margin-top: 20px;
+  margin-bottom: 30px;
+}
+.col > span[data-v-f7bfd6d4] {
+  padding: 0 10px;
+}
+[data-v-f7bfd6d4] .tiny-collapse-item__arrow.is-active {
+  fill: var(--ti-common-color-text-highlight);
+}
+[data-v-f7bfd6d4] .tiny-collapse-item__header svg {
+  fill: var(--ti-common-color-text-highlight);
+}
diff --git a/admin-website/src/main/resources/static/assets/index18.js b/admin-website/src/main/resources/static/assets/index18.js
new file mode 100644
index 0000000..413d9eb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index18.js
@@ -0,0 +1,11 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index-0cc49d5e.css b/admin-website/src/main/resources/static/assets/index19.css
similarity index 99%
rename from admin-website/src/main/resources/static/assets/index-0cc49d5e.css
rename to admin-website/src/main/resources/static/assets/index19.css
index e243ded..35bbcfa 100644
--- a/admin-website/src/main/resources/static/assets/index-0cc49d5e.css
+++ b/admin-website/src/main/resources/static/assets/index19.css
@@ -1 +1 @@
-.tiny-collapse-item{--ti-collapse-item-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-collapse-item-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-collapse-item-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-collapse-item-border-color-left:var(--ti-collapse-item-border-color);--ti-collapse-item-border-color-right:var(--ti-collapse-item-border-color);--ti-collapse-item-border-color-top:var(--ti-collapse-item-border-color);--ti-collapse-item-disabled-border-color-left:var(--ti-collapse-item-border-color);--ti-collapse-item-disabled-border-color-right:var(--ti-collapse-item-border-color);--ti-collapse-item-disabled-border-color-top:var(--ti-collapse-item-border-color);--ti-collapse-item-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-collapse-item-margin-top:var(--ti-common-space-2x, 8px);--ti-collapse-item-header-min-height:var(--ti-common-size-8x, 32px);--ti-collapse-item-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-collapse-item-wrap-bg-color:var(--ti-common-color-light, #fff);--ti-collapse-item-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-collapse-item-disabled-header-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-collapse-item-header-font-size:var(--ti-common-font-size-base, 12px);--ti-collapse-item-header-font-weight:var(--ti-common-font-weight-4, normal);--ti-collapse-item-header-focus-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-collapse-item-arrow-font-size:var(--ti-common-font-size-base, 12px);--ti-collapse-item-arrow-margin-right:var(--ti-common-space-3x, 12px);--ti-collapse-item-arrow-hover-text-color:var(--ti-common-color-info, #252b3a);--ti-collapse-item-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-collapse-item-arrow-transform:rotate(90deg);--ti-collapse-item-is-active-arrow-transform:rotate(-90deg);--ti-collapse-item-is-active-arrow-text-color:var(--ti-collapse-item-icon-color);--ti-collapse-item-header-padding-vertical:var(--ti-common-space-0, 0px);--ti-collapse-item-header-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-collapse-item-header-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-collapse-item-header-border-color:var(--ti-common-color-transparent, transparent);--ti-collapse-item-header-border-color-left:var(--ti-collapse-item-header-border-color);--ti-collapse-item-header-border-color-right:var(--ti-collapse-item-header-border-color);--ti-collapse-item-content-border-color:var(--ti-common-color-transparent, transparent);--ti-collapse-item-content-border-color-left:var(--ti-collapse-item-content-border-color);--ti-collapse-item-content-border-color-right:var(--ti-collapse-item-content-border-color);--ti-collapse-item-content-border-color-top:var(--ti-collapse-item-border-color);--ti-collapse-item-content-padding-top:var(--ti-common-space-3x, 12px);--ti-collapse-item-content-padding-left:var(--ti-common-space-4x, 16px);--ti-collapse-item-content-padding-right:var(--ti-common-space-4x, 16px);--ti-collapse-item-content-padding-bottom:var(--ti-common-space-3x, 12px);--ti-collapse-item-content-font-size:var(--ti-common-font-size-base, 12px);--ti-collapse-item-title-right-color:var(--ti-common-color-text-primary, #252b3a);--ti-collapse-item-title-right-fill:var(--ti-common-color-text-primary, #252b3a);margin-top:var(--ti-collapse-item-margin-top);background-color:var(--ti-collapse-item-bg-color);border:1px solid var(--ti-collapse-item-border-color);border-left-color:var(--ti-collapse-item-border-color-left);border-right-color:var(--ti-collapse-item-border-color-right);border-top-color:var(--ti-collapse-item-border-color-top);border-radius:var(--ti-collapse-item-border-radius)}.tiny-collapse-item:last-child{margin-bottom:-1px}.tiny-collapse-item.is-disabled{border-left-color:var(--ti-collapse-item-disabled-border-color-left);border-right-color:var(--ti-collapse-item-disabled-border-color-right);border-top-color:var(--ti-collapse-item-disabled-border-color-top)}.tiny-collapse-item.is-disabled .tiny-collapse-item__header{color:var(--ti-collapse-item-disabled-text-color);background-color:var(--ti-collapse-item-disabled-header-bg-color);cursor:not-allowed}.tiny-collapse-item.is-disabled .tiny-collapse-item__arrow svg{fill:var(--ti-collapse-item-disabled-text-color)}.tiny-collapse-item.is-disabled .tiny-collapse-item__word-overflow{cursor:not-allowed}.tiny-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;border:1px solid var(--ti-collapse-item-header-border-color);border-left-color:var(--ti-collapse-item-header-border-color-left);border-right-color:var(--ti-collapse-item-header-border-color-right);font-weight:var(--ti-collapse-item-header-font-weight);-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--ti-collapse-item-header-min-height);background-color:var(--ti-collapse-item-header-bg-color);color:var(--ti-collapse-item-text-color);font-size:var(--ti-collapse-item-header-font-size);outline:0;cursor:pointer;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;border-radius:var(--ti-collapse-item-border-radius);padding:var(--ti-collapse-item-header-padding-vertical) var(--ti-collapse-item-header-padding-horizontal)}.tiny-collapse-item__header.focusing:focus:not(:hover){color:var(--ti-collapse-item-header-focus-text-color)}.tiny-collapse-item__header .tiny-collapse-item__word-overflow{white-space:nowrap;overflow:hidden;line-height:1.5;text-overflow:ellipsis;display:inline-block;cursor:pointer}.tiny-collapse-item__header .tiny-collapse-item__arrow{margin-right:var(--ti-collapse-item-arrow-margin-right);font-size:var(--ti-collapse-item-arrow-font-size);-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:var(--ti-collapse-item-arrow-transform);transform:var(--ti-collapse-item-arrow-transform)}.tiny-collapse-item__header .tiny-collapse-item__arrow svg{font-size:var(--ti-collapse-item-icon-font-size);fill:var(--ti-collapse-item-icon-color)}.tiny-collapse-item__header .tiny-collapse-item__title__right{margin-left:auto;color:var(--ti-collapse-item-title-right-color);fill:var(--ti-collapse-item-title-right-fill)}.tiny-collapse-item__header.is-active{border-bottom-color:transparent}.tiny-collapse-item__header.is-active .tiny-collapse-item__arrow{-webkit-transform:var(--ti-collapse-item-is-active-arrow-transform);transform:var(--ti-collapse-item-is-active-arrow-transform)}.tiny-collapse-item__header.is-active .tiny-collapse-item__arrow svg{fill:var(--ti-collapse-item-is-active-arrow-text-color)}.tiny-collapse-item:hover:not(.is-disabled) .tiny-collapse-item__arrow svg{fill:var(--ti-collapse-item-arrow-hover-text-color)}.tiny-collapse-item__wrap{will-change:height;background-color:var(--ti-collapse-item-wrap-bg-color);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-collapse-item__content{padding-top:var(--ti-collapse-item-content-padding-top);padding-left:var(--ti-collapse-item-content-padding-left);padding-right:var(--ti-collapse-item-content-padding-right);padding-bottom:var(--ti-collapse-item-content-padding-bottom);font-size:var(--ti-collapse-item-content-font-size);color:var(--ti-collapse-item-text-color);border:1px solid var(--ti-collapse-item-content-border-color);border-right-color:var(--ti-collapse-item-content-border-color-right);border-left-color:var(--ti-collapse-item-content-border-color-left);border-top-color:var(--ti-collapse-item-content-border-color-top);line-height:var(--ti-collapse-item-content-line-height)}
+.tiny-collapse-item{--ti-collapse-item-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-collapse-item-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-collapse-item-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-collapse-item-border-color-left:var(--ti-collapse-item-border-color);--ti-collapse-item-border-color-right:var(--ti-collapse-item-border-color);--ti-collapse-item-border-color-top:var(--ti-collapse-item-border-color);--ti-collapse-item-disabled-border-color-left:var(--ti-collapse-item-border-color);--ti-collapse-item-disabled-border-color-right:var(--ti-collapse-item-border-color);--ti-collapse-item-disabled-border-color-top:var(--ti-collapse-item-border-color);--ti-collapse-item-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-collapse-item-margin-top:var(--ti-common-space-2x, 8px);--ti-collapse-item-header-min-height:var(--ti-common-size-8x, 32px);--ti-collapse-item-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-collapse-item-wrap-bg-color:var(--ti-common-color-light, #fff);--ti-collapse-item-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-collapse-item-disabled-header-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-collapse-item-header-font-size:var(--ti-common-font-size-base, 12px);--ti-collapse-item-header-font-weight:var(--ti-common-font-weight-4, normal);--ti-collapse-item-header-focus-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-collapse-item-arrow-font-size:var(--ti-common-font-size-base, 12px);--ti-collapse-item-arrow-margin-right:var(--ti-common-space-3x, 12px);--ti-collapse-item-arrow-hover-text-color:var(--ti-common-color-info, #252b3a);--ti-collapse-item-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-collapse-item-arrow-transform:rotate(90deg);--ti-collapse-item-is-active-arrow-transform:rotate(-90deg);--ti-collapse-item-is-active-arrow-text-color:var(--ti-collapse-item-icon-color);--ti-collapse-item-header-padding-vertical:var(--ti-common-space-0, 0px);--ti-collapse-item-header-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-collapse-item-header-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-collapse-item-header-border-color:var(--ti-common-color-transparent, transparent);--ti-collapse-item-header-border-color-left:var(--ti-collapse-item-header-border-color);--ti-collapse-item-header-border-color-right:var(--ti-collapse-item-header-border-color);--ti-collapse-item-content-border-color:var(--ti-common-color-transparent, transparent);--ti-collapse-item-content-border-color-left:var(--ti-collapse-item-content-border-color);--ti-collapse-item-content-border-color-right:var(--ti-collapse-item-content-border-color);--ti-collapse-item-content-border-color-top:var(--ti-collapse-item-border-color);--ti-collapse-item-content-padding-top:var(--ti-common-space-3x, 12px);--ti-collapse-item-content-padding-left:var(--ti-common-space-4x, 16px);--ti-collapse-item-content-padding-right:var(--ti-common-space-4x, 16px);--ti-collapse-item-content-padding-bottom:var(--ti-common-space-3x, 12px);--ti-collapse-item-content-font-size:var(--ti-common-font-size-base, 12px);--ti-collapse-item-title-right-color:var(--ti-common-color-text-primary, #252b3a);--ti-collapse-item-title-right-fill:var(--ti-common-color-text-primary, #252b3a);margin-top:var(--ti-collapse-item-margin-top);background-color:var(--ti-collapse-item-bg-color);border:1px solid var(--ti-collapse-item-border-color);border-left-color:var(--ti-collapse-item-border-color-left);border-right-color:var(--ti-collapse-item-border-color-right);border-top-color:var(--ti-collapse-item-border-color-top);border-radius:var(--ti-collapse-item-border-radius)}.tiny-collapse-item:last-child{margin-bottom:-1px}.tiny-collapse-item.is-disabled{border-left-color:var(--ti-collapse-item-disabled-border-color-left);border-right-color:var(--ti-collapse-item-disabled-border-color-right);border-top-color:var(--ti-collapse-item-disabled-border-color-top)}.tiny-collapse-item.is-disabled .tiny-collapse-item__header{color:var(--ti-collapse-item-disabled-text-color);background-color:var(--ti-collapse-item-disabled-header-bg-color);cursor:not-allowed}.tiny-collapse-item.is-disabled .tiny-collapse-item__arrow svg{fill:var(--ti-collapse-item-disabled-text-color)}.tiny-collapse-item.is-disabled .tiny-collapse-item__word-overflow{cursor:not-allowed}.tiny-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;border:1px solid var(--ti-collapse-item-header-border-color);border-left-color:var(--ti-collapse-item-header-border-color-left);border-right-color:var(--ti-collapse-item-header-border-color-right);font-weight:var(--ti-collapse-item-header-font-weight);-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--ti-collapse-item-header-min-height);background-color:var(--ti-collapse-item-header-bg-color);color:var(--ti-collapse-item-text-color);font-size:var(--ti-collapse-item-header-font-size);outline:0;cursor:pointer;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;border-radius:var(--ti-collapse-item-border-radius);padding:var(--ti-collapse-item-header-padding-vertical) var(--ti-collapse-item-header-padding-horizontal)}.tiny-collapse-item__header.focusing:focus:not(:hover){color:var(--ti-collapse-item-header-focus-text-color)}.tiny-collapse-item__header .tiny-collapse-item__word-overflow{white-space:nowrap;overflow:hidden;line-height:1.5;text-overflow:ellipsis;display:inline-block;cursor:pointer}.tiny-collapse-item__header .tiny-collapse-item__arrow{margin-right:var(--ti-collapse-item-arrow-margin-right);font-size:var(--ti-collapse-item-arrow-font-size);-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:var(--ti-collapse-item-arrow-transform);transform:var(--ti-collapse-item-arrow-transform)}.tiny-collapse-item__header .tiny-collapse-item__arrow svg{font-size:var(--ti-collapse-item-icon-font-size);fill:var(--ti-collapse-item-icon-color)}.tiny-collapse-item__header .tiny-collapse-item__title__right{margin-left:auto;color:var(--ti-collapse-item-title-right-color);fill:var(--ti-collapse-item-title-right-fill)}.tiny-collapse-item__header.is-active{border-bottom-color:transparent}.tiny-collapse-item__header.is-active .tiny-collapse-item__arrow{-webkit-transform:var(--ti-collapse-item-is-active-arrow-transform);transform:var(--ti-collapse-item-is-active-arrow-transform)}.tiny-collapse-item__header.is-active .tiny-collapse-item__arrow svg{fill:var(--ti-collapse-item-is-active-arrow-text-color)}.tiny-collapse-item:hover:not(.is-disabled) .tiny-collapse-item__arrow svg{fill:var(--ti-collapse-item-arrow-hover-text-color)}.tiny-collapse-item__wrap{will-change:height;background-color:var(--ti-collapse-item-wrap-bg-color);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-collapse-item__content{padding-top:var(--ti-collapse-item-content-padding-top);padding-left:var(--ti-collapse-item-content-padding-left);padding-right:var(--ti-collapse-item-content-padding-right);padding-bottom:var(--ti-collapse-item-content-padding-bottom);font-size:var(--ti-collapse-item-content-font-size);color:var(--ti-collapse-item-text-color);border:1px solid var(--ti-collapse-item-content-border-color);border-right-color:var(--ti-collapse-item-content-border-color-right);border-left-color:var(--ti-collapse-item-content-border-color-left);border-top-color:var(--ti-collapse-item-content-border-color-top);line-height:var(--ti-collapse-item-content-line-height)}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index19.js b/admin-website/src/main/resources/static/assets/index19.js
new file mode 100644
index 0000000..e8c68cc
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index19.js
@@ -0,0 +1,591 @@
+import { d as defineComponent, u as openBlock, v as createElementBlock, l as createVNode, H as withCtx, W as unref, w as createBaseVNode, J as createTextVNode, E as toDisplayString, Z as pushScopeId, _ as popScopeId, a8 as reactive, j as onMounted, k as resolveComponent, M as Fragment, N as renderList, y as createBlock } from "./vue.js";
+import { R as Row, C as Col, a as Column, G as Grid, L as Loadings } from "./index31.js";
+import { C as CollapseItem, a as Collapse } from "./index37.js";
+import { S as Select, O as Option } from "./index34.js";
+import { q as axios, n as Layout, _ as _export_sfc } from "./index.js";
+import "./index32.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index35.js";
+function getDetailData() {
+  return axios.get("/api/detail/getdata");
+}
+const _withScopeId$5 = (n) => (pushScopeId("data-v-12d7f218"), n = n(), popScopeId(), n);
+const _hoisted_1$5 = { class: "col" };
+const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_3$4 = { class: "col" };
+const _hoisted_4$4 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_5$3 = { class: "col" };
+const _hoisted_6$2 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_7$1 = { class: "col" };
+const _hoisted_8$1 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _sfc_main$6 = /* @__PURE__ */ defineComponent({
+  __name: "plan-detail",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 2 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_1$5, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.department")) + " ", 1),
+                      _hoisted_2$5,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.resource")), 1)
+                    ])
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Col), { span: 2 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_3$4, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.job")) + " ", 1),
+                      _hoisted_4$4,
+                      createTextVNode(" All ")
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 2 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_5$3, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.person")) + " ", 1),
+                      _hoisted_6$2,
+                      createTextVNode(" All ")
+                    ])
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Col), { span: 2 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_7$1, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.attribute")) + " ", 1),
+                      _hoisted_8$1,
+                      createTextVNode("IT ")
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const planDetail_vue_vue_type_style_index_0_scoped_12d7f218_lang = "";
+const planDetail = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-12d7f218"]]);
+const _withScopeId$4 = (n) => (pushScopeId("data-v-e6b9a58f"), n = n(), popScopeId(), n);
+const _hoisted_1$4 = { class: "col" };
+const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_3$3 = { class: "col" };
+const _hoisted_4$3 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_5$2 = { class: "col" };
+const _hoisted_6$1 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _sfc_main$5 = /* @__PURE__ */ defineComponent({
+  __name: "target-detail",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_1$4, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.develop")) + " ", 1),
+                      _hoisted_2$4,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.yes")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_3$3, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.role")) + " ", 1),
+                      _hoisted_4$3,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.mentor")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_5$2, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.condition")) + " ", 1),
+                      _hoisted_6$1,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.approval")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const targetDetail_vue_vue_type_style_index_0_scoped_e6b9a58f_lang = "";
+const targetDetail = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-e6b9a58f"]]);
+const _withScopeId$3 = (n) => (pushScopeId("data-v-ba8fc2e0"), n = n(), popScopeId(), n);
+const _hoisted_1$3 = { class: "col" };
+const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_3$2 = { class: "col" };
+const _hoisted_4$2 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_5$1 = { class: "col" };
+const _hoisted_6 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_7 = { class: "col" };
+const _hoisted_8 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_9 = { class: "col" };
+const _hoisted_10 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _sfc_main$4 = /* @__PURE__ */ defineComponent({
+  __name: "evaluation-detail",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_1$3, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.develop")) + " ", 1),
+                      _hoisted_2$3,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.yes")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_3$2, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.frequency")) + " ", 1),
+                      _hoisted_4$2,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.month")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_5$1, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.goal")) + " ", 1),
+                      _hoisted_6,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.trainees")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_7, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.condition")) + " ", 1),
+                      _hoisted_8,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.teacher")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_9, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.phase")) + " ", 1),
+                      _hoisted_10,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.evaluation")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const evaluationDetail_vue_vue_type_style_index_0_scoped_ba8fc2e0_lang = "";
+const evaluationDetail = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ba8fc2e0"]]);
+const _withScopeId$2 = (n) => (pushScopeId("data-v-80e0925e"), n = n(), popScopeId(), n);
+const _hoisted_1$2 = { class: "col" };
+const _hoisted_2$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _hoisted_3$1 = { class: "col" };
+const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _sfc_main$3 = /* @__PURE__ */ defineComponent({
+  __name: "whole-detail",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_1$2, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.develop")) + " ", 1),
+                      _hoisted_2$2,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.yes")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_3$1, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.whole")) + " ", 1),
+                      _hoisted_4$1,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.evaluation")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const wholeDetail_vue_vue_type_style_index_0_scoped_80e0925e_lang = "";
+const wholeDetail = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-80e0925e"]]);
+const _withScopeId$1 = (n) => (pushScopeId("data-v-fdf1e4e9"), n = n(), popScopeId(), n);
+const _hoisted_1$1 = { class: "col" };
+const _hoisted_2$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  __name: "mentor-detail",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createVNode(unref(Layout), null, {
+          default: withCtx(() => [
+            createVNode(unref(Row), {
+              flex: true,
+              justify: "left",
+              class: "margin-bottom"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Col), { span: 9 }, {
+                  default: withCtx(() => [
+                    createBaseVNode("div", _hoisted_1$1, [
+                      createTextVNode(toDisplayString(_ctx.$t("menu.plan.pool")) + " ", 1),
+                      _hoisted_2$1,
+                      createTextVNode(" " + toDisplayString(_ctx.$t("menu.plan.no")), 1)
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const mentorDetail_vue_vue_type_style_index_0_scoped_fdf1e4e9_lang = "";
+const mentor = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-fdf1e4e9"]]);
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "record-detail",
+  props: {
+    // eslint-disable-next-line vue/require-prop-types
+    tableData: []
+  },
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        createVNode(unref(Grid), {
+          data: __props.tableData,
+          "auto-resize": ""
+        }, {
+          default: withCtx(() => [
+            createVNode(unref(Column), { type: "index" }),
+            createVNode(unref(Column), {
+              field: "version",
+              title: _ctx.$t("menu.plan.version")
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "operation",
+              title: _ctx.$t("menu.plan.operation")
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "updated",
+              title: _ctx.$t("menu.plan.updated")
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "time",
+              title: _ctx.$t("menu.plan.time"),
+              "show-overflow": ""
+            }, null, 8, ["title"])
+          ]),
+          _: 1
+        }, 8, ["data"])
+      ]);
+    };
+  }
+});
+const _withScopeId = (n) => (pushScopeId("data-v-f7bfd6d4"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "detail-page" };
+const _hoisted_2 = { id: "container" };
+const _hoisted_3 = { class: "detail-contain" };
+const _hoisted_4 = { class: "col" };
+const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("span", null, ":", -1));
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const state = reactive({
+      loading: null,
+      filterOptions: {},
+      activeNames: ["1", "2", "3", "4", "5", "6", "7"],
+      Project: [],
+      tableData: [],
+      project: ""
+    });
+    const fetchData = async () => {
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("container"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getDetailData();
+        state.Project = data.Project;
+        state.tableData = data.tableData;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.profile", "menu.profile.detail"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createVNode(unref(Collapse), {
+              modelValue: state.activeNames,
+              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.activeNames = $event)
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.type"),
+                  name: "1"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(unref(Row), {
+                      flex: true,
+                      justify: "left",
+                      class: "margin-bottom"
+                    }, {
+                      default: withCtx(() => [
+                        createVNode(unref(Col), { span: 9 }, {
+                          default: withCtx(() => [
+                            createBaseVNode("div", _hoisted_4, [
+                              createTextVNode(toDisplayString(_ctx.$t("baseForm.form.label.type")) + " ", 1),
+                              _hoisted_5,
+                              createVNode(unref(Select), {
+                                modelValue: state.project,
+                                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.project = $event),
+                                placeholder: _ctx.$t("baseForm.form.label.placeholder"),
+                                filterable: ""
+                              }, {
+                                default: withCtx(() => [
+                                  (openBlock(true), createElementBlock(Fragment, null, renderList(state.Project, (item) => {
+                                    return openBlock(), createBlock(unref(Option), {
+                                      key: item,
+                                      label: _ctx.$t(item),
+                                      value: item
+                                    }, null, 8, ["label", "value"]);
+                                  }), 128))
+                                ]),
+                                _: 1
+                              }, 8, ["modelValue", "placeholder"])
+                            ])
+                          ]),
+                          _: 1
+                        })
+                      ]),
+                      _: 1
+                    })
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.people"),
+                  name: "2"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(planDetail)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.Objectives"),
+                  name: "3"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(targetDetail)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.plan"),
+                  name: "4"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(evaluationDetail)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.evaluation"),
+                  name: "5"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(wholeDetail)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.label.mentortitle"),
+                  name: "6"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(mentor)
+                  ]),
+                  _: 1
+                }, 8, ["title"]),
+                createVNode(unref(CollapseItem), {
+                  title: _ctx.$t("baseForm.form.record"),
+                  name: "7"
+                }, {
+                  default: withCtx(() => [
+                    createVNode(_sfc_main$1, {
+                      "table-data": state.tableData
+                    }, null, 8, ["table-data"])
+                  ]),
+                  _: 1
+                }, 8, ["title"])
+              ]),
+              _: 1
+            }, 8, ["modelValue"])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_f7bfd6d4_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f7bfd6d4"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index2.css b/admin-website/src/main/resources/static/assets/index2.css
new file mode 100644
index 0000000..716bc2e
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index2.css
@@ -0,0 +1,198 @@
+.tiny-link{--ti-link-font-size:var(--ti-common-font-size-1, 14px);--ti-link-font-weight:var(--ti-common-font-weight-5, 500);--ti-link-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-link-has-icon-underline-width:100%;--ti-link-only-text-underline-width:100%;--ti-link-display:inline;--ti-link-svg-width:1em;--ti-link-svg-height:1em;--ti-link-svg-margin-right:0px;--ti-link-icon-hover-text-weight:var(--ti-common-font-weight-5, 500);--ti-link-default-text-color:var(--ti-common-color-info-text, #252b3a);--ti-link-default-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-link-default-hover-text-color:var(--ti-common-color-text-link, #526ecc);--ti-link-default-disabled-text-color:var(--ti-common-color-info-disabled, #bfbfbf);--ti-link-default-hover-border-color:var(--ti-link-default-hover-text-color);--ti-link-primary-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-link-primary-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-link-primary-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-link-primary-disabled-text-color:var(--ti-common-color-primary-disabled, #a0cfff);--ti-link-danger-text-color:var(--ti-common-bg-primary, #c7000b);--ti-link-danger-border-color:var(--ti-common-bg-primary, #c7000b);--ti-link-danger-hover-text-color:var(--ti-common-bg-primary-hover, #d64a52);--ti-link-danger-disabled-text-color:var(--ti-common-color-danger-disabled, #d8bab5);--ti-link-success-text-color:var(--ti-common-color-success-normal, #50d4ab);--ti-link-success-border-color:var(--ti-common-color-success-normal, #50d4ab);--ti-link-success-hover-text-color:var(--ti-common-color-success-hover, #acf2dc);--ti-link-success-disabled-text-color:var(--ti-common-color-success-disabled, #a6c3b9);--ti-link-warning-text-color:var(--ti-common-color-warning-normal, #fa9841);--ti-link-warning-border-color:var(--ti-common-color-warning-normal, #fa9841);--ti-link-warning-hover-text-color:var(--ti-common-color-warning-hover, #fac20a);--ti-link-warning-disabled-text-color:var(--ti-common-color-warning-disabled, #d3c6a2);--ti-link-info-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-link-info-border-color:var(--ti-common-color-info-normal, #252b3a);--ti-link-info-hover-text-color:var(--ti-common-color-info-hover, #5c6173);--ti-link-info-disabled-text-color:var(--ti-common-color-info-disabled, #bfbfbf);--ti-link-has-svg-hover-text-color:var(--ti-common-color-text-link, #526ecc);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:var(--ti-link-font-size);font-weight:var(--ti-link-font-weight)}.tiny-link .tiny-svg{width:var(--ti-link-svg-width);height:var(--ti-link-svg-height);margin-right:0;margin-left:var(--ti-link-svg-margin-right)}.tiny-link .tiny-link-svg{margin-right:var(--ti-link-svg-margin-right);margin-left:0}.tiny-link .tiny-link__inner .tiny-svg{margin-right:0;margin-left:var(--ti-link-svg-margin-right)}.tiny-link.tiny-link--additional:hover{color:var(--ti-link-default-hover-text-color);fill:var(--ti-link-default-hover-text-color)}.tiny-link.tiny-link--additional.is-disabled:hover{color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.tiny-link--additional:has(.tiny-svg):hover{font-weight:var(--ti-link-icon-hover-text-weight);color:var(--ti-link-has-svg-hover-text-color);fill:var(--ti-link-has-svg-hover-text-color)}.tiny-link.tiny-link--additional:has(.tiny-svg).is-disabled:hover{font-weight:var(--ti-common-font-weight-4);color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.is-underline:hover:after{content:'';width:var(--ti-link-only-text-underline-width);position:absolute;left:0;height:0;bottom:0;display:block;border-bottom:1px solid var(--ti-link-border-color)}.tiny-link.is-underline:hover:has(.tiny-svg):after{width:var(--ti-link-has-icon-underline-width)}.tiny-link.is-underline:hover:has(>:first-child:not(.tiny-link__inner)):after{left:calc(100% - var(--ti-link-has-icon-underline-width))}.tiny-link.is-disabled{cursor:not-allowed}.tiny-link.tiny-link--default{color:var(--ti-link-default-text-color);fill:var(--ti-link-default-text-color)}.tiny-link.tiny-link--default g{color:var(--ti-link-default-text-color);fill:var(--ti-link-default-text-color)}.tiny-link.tiny-link--default.is-underline:hover:after{border-color:var(--ti-link-default-border-color)}.tiny-link.tiny-link--default:hover{text-decoration:none;color:var(--ti-link-default-hover-text-color)}.tiny-link.tiny-link--default.is-disabled,.tiny-link.tiny-link--default.is-disabled:hover{color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.tiny-link--default.is-disabled g,.tiny-link.tiny-link--default.is-disabled:hover g{color:var(--ti-link-default-disabled-text-color);fill:var(--ti-link-default-disabled-text-color)}.tiny-link.tiny-link--primary{color:var(--ti-link-primary-text-color);fill:var(--ti-link-primary-text-color)}.tiny-link.tiny-link--primary g{color:var(--ti-link-primary-text-color);fill:var(--ti-link-primary-text-color)}.tiny-link.tiny-link--primary.is-underline:hover:after{border-color:var(--ti-link-primary-border-color)}.tiny-link.tiny-link--primary:hover{text-decoration:none;color:var(--ti-link-primary-hover-text-color)}.tiny-link.tiny-link--primary.is-disabled,.tiny-link.tiny-link--primary.is-disabled:hover{color:var(--ti-link-primary-disabled-text-color);fill:var(--ti-link-primary-disabled-text-color)}.tiny-link.tiny-link--primary.is-disabled g,.tiny-link.tiny-link--primary.is-disabled:hover g{color:var(--ti-link-primary-disabled-text-color);fill:var(--ti-link-primary-disabled-text-color)}.tiny-link.tiny-link--danger{color:var(--ti-link-danger-text-color);fill:var(--ti-link-danger-text-color)}.tiny-link.tiny-link--danger g{color:var(--ti-link-danger-text-color);fill:var(--ti-link-danger-text-color)}.tiny-link.tiny-link--danger.is-underline:hover:after{border-color:var(--ti-link-danger-border-color)}.tiny-link.tiny-link--danger:hover{text-decoration:none;color:var(--ti-link-danger-hover-text-color)}.tiny-link.tiny-link--danger.is-disabled,.tiny-link.tiny-link--danger.is-disabled:hover{color:var(--ti-link-danger-disabled-text-color);fill:var(--ti-link-danger-disabled-text-color)}.tiny-link.tiny-link--danger.is-disabled g,.tiny-link.tiny-link--danger.is-disabled:hover g{color:var(--ti-link-danger-disabled-text-color);fill:var(--ti-link-danger-disabled-text-color)}.tiny-link.tiny-link--success{color:var(--ti-link-success-text-color);fill:var(--ti-link-success-text-color)}.tiny-link.tiny-link--success g{color:var(--ti-link-success-text-color);fill:var(--ti-link-success-text-color)}.tiny-link.tiny-link--success.is-underline:hover:after{border-color:var(--ti-link-success-border-color)}.tiny-link.tiny-link--success:hover{text-decoration:none;color:var(--ti-link-success-hover-text-color)}.tiny-link.tiny-link--success.is-disabled,.tiny-link.tiny-link--success.is-disabled:hover{color:var(--ti-link-success-disabled-text-color);fill:var(--ti-link-success-disabled-text-color)}.tiny-link.tiny-link--success.is-disabled g,.tiny-link.tiny-link--success.is-disabled:hover g{color:var(--ti-link-success-disabled-text-color);fill:var(--ti-link-success-disabled-text-color)}.tiny-link.tiny-link--warning{color:var(--ti-link-warning-text-color);fill:var(--ti-link-warning-text-color)}.tiny-link.tiny-link--warning g{color:var(--ti-link-warning-text-color);fill:var(--ti-link-warning-text-color)}.tiny-link.tiny-link--warning.is-underline:hover:after{border-color:var(--ti-link-warning-border-color)}.tiny-link.tiny-link--warning:hover{text-decoration:none;color:var(--ti-link-warning-hover-text-color)}.tiny-link.tiny-link--warning.is-disabled,.tiny-link.tiny-link--warning.is-disabled:hover{color:var(--ti-link-warning-disabled-text-color);fill:var(--ti-link-warning-disabled-text-color)}.tiny-link.tiny-link--warning.is-disabled g,.tiny-link.tiny-link--warning.is-disabled:hover g{color:var(--ti-link-warning-disabled-text-color);fill:var(--ti-link-warning-disabled-text-color)}.tiny-link.tiny-link--info{color:var(--ti-link-info-text-color);fill:var(--ti-link-info-text-color)}.tiny-link.tiny-link--info g{color:var(--ti-link-info-text-color);fill:var(--ti-link-info-text-color)}.tiny-link.tiny-link--info.is-underline:hover:after{border-color:var(--ti-link-info-border-color)}.tiny-link.tiny-link--info:hover{text-decoration:none;color:var(--ti-link-info-hover-text-color)}.tiny-link.tiny-link--info.is-disabled,.tiny-link.tiny-link--info.is-disabled:hover{color:var(--ti-link-info-disabled-text-color);fill:var(--ti-link-info-disabled-text-color)}.tiny-link.tiny-link--info.is-disabled g,.tiny-link.tiny-link--info.is-disabled:hover g{color:var(--ti-link-info-disabled-text-color);fill:var(--ti-link-info-disabled-text-color)}.tiny-notify{--ti-notify-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-notify-info-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-notify-info-icon-color:var(--ti-common-color-prompt, #5e7ce0);--ti-notify-warning-bg-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-notify-warning-icon-color:var(--ti-common-color-warn, #fa9841);--ti-notify-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-notify-error-icon-color:var(--ti-common-color-error, #f66f6a);--ti-notify-success-bg-color:var(--ti-common-color-success-bg, #edfff9);--ti-notify-success-icon-color:var(--ti-common-color-success, #50d4ab);--ti-notify-text-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-notify-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-notify-title-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-notify-content-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-notify-title-font-size:var(--ti-common-font-size-1, 14px);--ti-notify-title-font-weight:var(--ti-common-font-weight-7, bold);--ti-notify-title-margin-top:var(--ti-common-space-0, 0px);--ti-notify-title-margin-horizontal:var(--ti-common-space-0, 0px);--ti-notify-title-margin-bottom:var(--ti-common-space-2x, 8px);--ti-notify-title-white-space:normal;--ti-notify-content-font-size:var(--ti-common-font-size-1, 14px);--ti-notify-message-margin-top:var(--ti-common-space-0, 0px);--ti-notify-message-margin-bottom:var(--ti-common-space-0, 0px);--ti-notify-message-margin-right:var(--ti-common-space-0, 0px);--ti-notify-message-margin-left:var(--ti-common-space-10, 10px);--ti-notify-icon-size:var(--ti-common-font-size-5, 24px);--ti-notify-close-icon-color:var(--ti-base-color-common-7, #252b3a);--ti-notify-max-width:400px;--ti-notify-box-shadow:var(--ti-common-shadow-4-down, 0 8px 40px 0 rgba(0, 0, 0, 0.2));--ti-notify-padding-vertical:var(--ti-common-space-4x, 16px);--ti-notify-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-notify-close-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-notify-close-hover-icon-color:var(--ti-base-color-common-7, #252b3a);--ti-notify-position-top-left:10px;--ti-notify-position-bottom-left:10px;--ti-notify-position-top-right:10px;--ti-notify-position-bottom-right:10px;--ti-notify-icon-transform:translate(0, -2px);position:fixed;z-index:1101;max-width:var(--ti-notify-max-width);width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;transition:all .3s;overflow:hidden;white-space:nowrap;padding:var(--ti-notify-padding-vertical) var(--ti-notify-padding-horizontal);background:var(--ti-notify-bg-color);border-radius:2px;border-radius:var(--ti-notify-border-radius);font-size:var(--ti-common-font-size-base);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:var(--ti-notify-box-shadow);box-shadow:var(--ti-notify-box-shadow)}.tiny-notify--info{background:var(--ti-notify-info-bg-color)}.tiny-notify--warning{background:var(--ti-notify-warning-bg-color)}.tiny-notify--error{background:var(--ti-notify-error-bg-color)}.tiny-notify--success{background:var(--ti-notify-success-bg-color)}.tiny-notify.top-left{left:var(--ti-notify-position-top-left);top:25px}.tiny-notify.bottom-left{left:var(--ti-notify-position-bottom-left);bottom:25px}.tiny-notify.top-right{right:var(--ti-notify-position-top-right);top:25px}.tiny-notify.bottom-right{right:var(--ti-notify-position-bottom-right);bottom:25px}.tiny-notify .tiny-notify__title{font-weight:var(--ti-notify-title-font-weight);font-size:var(--ti-notify-title-font-size);color:var(--ti-notify-title-text-color);line-height:1.5;white-space:var(--ti-notify-title-white-space);overflow-x:hidden;text-overflow:ellipsis}.tiny-notify .tiny-notify__icon{color:var(--ti-notify-text-color)}.tiny-notify .tiny-notify__content{color:var(--ti-notify-content-text-color);font-size:var(--ti-common-font-size-base);margin:0;padding:0;font-size:var(--ti-common-font-size-1);overflow-wrap:break-word;white-space:pre-wrap}.tiny-notify .tiny-notify__closebtn{cursor:pointer;color:var(--ti-notify-text-color);position:absolute;top:50%;right:10px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-notify .tiny-notify__icon-zone{font-size:var(--ti-notify-icon-size)}.tiny-notify .tiny-notify__icon-zone svg{vertical-align:inherit;-webkit-transform:var(--ti-notify-icon-transform);transform:var(--ti-notify-icon-transform)}.tiny-notify .tiny-notify__message-zone{width:calc(100% - 40px);margin:var(--ti-notify-message-margin-top) var(--ti-notify-message-margin-right) var(--ti-notify-message-margin-bottom) var(--ti-notify-message-margin-left)}.tiny-notify .tiny-notify__close-zone{font-size:var(--ti-notify-close-icon-font-size);cursor:pointer}.tiny-notify .tiny-notify__close-zone svg{vertical-align:inherit}.tiny-notify .tiny-notify__close-zone svg:hover{fill:var(--ti-notify-close-hover-icon-color)}.tiny-notify--info .tiny-notify__icon-zone{fill:var(--ti-notify-info-icon-color)}.tiny-notify--info .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--warning .tiny-notify__icon-zone{fill:var(--ti-notify-warning-icon-color)}.tiny-notify--warning .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--error .tiny-notify__icon-zone{fill:var(--ti-notify-error-icon-color)}.tiny-notify--error .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--success .tiny-notify__icon-zone{fill:var(--ti-notify-success-icon-color)}.tiny-notify--success .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify--error .tiny-notify__close-zone{fill:var(--ti-notify-close-icon-color)}.tiny-notify__icon-zone .tiny-notify__icon-status{position:relative}.tiny-notify--no-close .tiny-notify__message-zone{width:calc(100% - 24px)}.tiny-notify__message-zone .tiny-notify__title-wrapper{color:var(--ti-notify-title-text-color);font-size:var(--ti-notify-title-font-size);margin:var(--ti-notify-title-margin-top) var(--ti-notify-title-margin-horizontal) var(--ti-notify-title-margin-bottom);line-height:1.5}.tiny-notify__message-zone .tiny-notify__content-wrapper{height:auto;line-height:22px;max-height:96px;overflow-y:auto;font-size:var(--ti-notify-content-font-size)}.tiny-notify__close-zone .tiny-notify__icon-close{position:relative;top:-4px;right:-4px}.tiny-notify--no-icon .tiny-notify__message-zone{width:100%}.login-form-container[data-v-985986a4] {
+  margin-top: 5%;
+}
+.login-form[data-v-985986a4] {
+  margin-left: 6%;
+}
+.login-form .tiny-form-item[data-v-985986a4] {
+  margin-bottom: 20px;
+}
+.login-form-container[data-v-985986a4] {
+  width: 320px;
+}
+.login-form-options[data-v-985986a4] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-bottom: 20px;
+  font-size: 12px;
+}
+.login-form-btn[data-v-985986a4] {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+}
+.divide-line[data-v-985986a4] {
+  margin: 0 5px;
+}
+@media (max-width: 360px) {
+.login-form[data-v-985986a4] {
+    margin-left: 5%;
+}
+.login-form-container[data-v-985986a4] {
+    width: 240px;
+}
+}
+.login-register-container[data-v-99554533] {
+  margin-top: -6%;
+  margin-left: 6%;
+}
+.login-register-container .tiny-form-item[data-v-99554533] {
+  margin-bottom: 20px;
+}
+.login-register-container-container[data-v-99554533] {
+  width: 320px;
+}
+.login-register-container .login-form-options[data-v-99554533] {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-bottom: 20px;
+  margin-left: 65%;
+}
+.login-register-container .login-form-btn[data-v-99554533] {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+}
+@media (max-width: 360px) {
+.login-register-container[data-v-99554533] {
+    margin-top: -10%;
+}
+.login-register-container .tiny-form-item[data-v-99554533] {
+    margin-bottom: 5px;
+}
+.login-register-container .login-form-options[data-v-99554533] {
+    margin-bottom: 10px;
+    margin-left: 50%;
+}
+}
+@media (max-height: 1208px) {
+.login-register-container[data-v-99554533] {
+    margin-top: -15%;
+}
+}
+.login-lan-drop[data-v-ea2ebbb9] {
+  margin-left: -36%;
+  background: #fff;
+  border: 1px solid #ccc;
+}
+.login-lan-drop li[data-v-ea2ebbb9] {
+  display: block;
+  padding: 6px;
+  text-align: left;
+  list-style-type: none;
+  box-shadow: 0 0 2px 2px var(--ti-common-color-bg-normal);
+  cursor: pointer;
+}
+.login-lan-drop li[data-v-ea2ebbb9]:hover {
+  color: #2f5bea;
+  background-color: #f5f6f7;
+}
+span[data-v-ea2ebbb9] {
+  padding-left: 5px;
+  font-size: 20px;
+}
+@media (max-width: 360px) {
+.login-lan-drop li[data-v-ea2ebbb9] {
+    padding: 2px;
+}
+}
+.login-form-container[data-v-19097b9e] {
+  margin-top: 5%;
+}
+.login-form-language[data-v-19097b9e] {
+  position: absolute;
+  top: 10%;
+  left: 93%;
+}
+[data-v-19097b9e] .tiny-tabs__content {
+  margin-left: -6%;
+}
+[data-v-19097b9e] .tiny-tabs__nav.is-show-active-bar .tiny-tabs__item {
+  margin-right: 0;
+}
+@media (max-width: 992px) {
+.login-form-language[data-v-19097b9e] {
+    position: absolute;
+    top: 10%;
+    left: 90%;
+}
+}
+@media (max-width: 360px) {
+.login-form-language[data-v-19097b9e] {
+    position: absolute;
+    top: 1%;
+    left: 72%;
+}
+}
+@media (min-width: 768px) {
+.login-form-language[data-v-19097b9e] {
+    position: absolute;
+    top: 3%;
+    left: 86%;
+}
+}
+.container-login[data-v-fe79e3e5] {
+  display: flex;
+  flex-direction: column;
+  width: 100vw;
+  height: 100vh;
+  background-image: url('/ui/admin/assets/img_log.png');
+  background-size: 100% 100%;
+}
+.content[data-v-fe79e3e5] {
+  position: relative;
+  display: flex;
+  flex: 1;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 40px 0;
+}
+.login[data-v-fe79e3e5] {
+  width: 450px;
+  height: 550px;
+  padding: 60px 40px;
+  font-size: var(--ti-common-font-size-1);
+  background: #fff;
+  box-shadow: 0 0 2px 2px var(--ti-common-color-bg-normal);
+}
+.login-header[data-v-fe79e3e5] {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+}
+.login-logo[data-v-fe79e3e5] {
+  margin-right: 20px;
+}
+.login-logo-img[data-v-fe79e3e5] {
+  margin-right: 10px;
+  vertical-align: middle;
+}
+.login-logo-text[data-v-fe79e3e5] {
+  display: inline-block;
+  color: rgba(0, 0, 0, 0.7);
+  font-weight: bold;
+  font-size: 30px;
+  vertical-align: middle;
+}
+.login-desc[data-v-fe79e3e5] {
+  margin-top: 12px;
+  margin-bottom: 40px;
+  color: rgba(0, 0, 0, 0.5);
+  font-size: 14px;
+}
+[data-v-fe79e3e5] .tiny-link.is-underline:hover::after {
+  border-bottom: none;
+}
+@media (max-width: 360px) {
+.login[data-v-fe79e3e5] {
+    width: 350px;
+    height: 550px;
+}
+.login-logo-text[data-v-fe79e3e5] {
+    font-size: 15px;
+}
+}
diff --git a/admin-website/src/main/resources/static/assets/index2.js b/admin-website/src/main/resources/static/assets/index2.js
new file mode 100644
index 0000000..413d9eb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index2.js
@@ -0,0 +1,11 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index20.css b/admin-website/src/main/resources/static/assets/index20.css
new file mode 100644
index 0000000..1fc59ca
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index20.css
@@ -0,0 +1,67 @@
+.container[data-v-ca919170] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: hidden;
+}
+.container[data-v-ca919170] .tiny-steps {
+  margin-top: 10px;
+}
+.content[data-v-ca919170] {
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  height: 100%;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+}
+.content-main[data-v-ca919170] {
+  padding: 75px 0;
+}
+.result-alert[data-v-ca919170] {
+  display: flex;
+  flex-direction: column;
+  align-content: center;
+  justify-content: center;
+  color: black;
+  text-align: center;
+}
+.result-alert img[data-v-ca919170] {
+  width: 68px;
+  height: 68px;
+  margin: 0 auto;
+}
+.result-alert div[data-v-ca919170]:first-child {
+  padding-top: 50px;
+  font-weight: 900;
+  font-size: 20px;
+}
+.result-alert div[data-v-ca919170]:last-child {
+  padding-top: 20px;
+  font-size: 14px;
+}
+.result-line[data-v-ca919170] {
+  width: 75%;
+  height: 200px;
+  margin: 0 auto;
+  margin-top: 50px;
+  color: black;
+  background-color: #f5f6f7;
+}
+.result-line div[data-v-ca919170]:first-child {
+  padding: 20px;
+}
+.result-btn[data-v-ca919170] {
+  display: flex;
+  justify-content: center;
+  padding: 50px 0;
+}
+.result-btn button[data-v-ca919170] {
+  width: 120px;
+  height: 36px;
+  border-radius: 4px;
+}
diff --git a/admin-website/src/main/resources/static/assets/index20.js b/admin-website/src/main/resources/static/assets/index20.js
new file mode 100644
index 0000000..413d9eb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index20.js
@@ -0,0 +1,11 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index21.css b/admin-website/src/main/resources/static/assets/index21.css
new file mode 100644
index 0000000..beb599c
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index21.css
@@ -0,0 +1,68 @@
+.container[data-v-3543871e] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: hidden;
+}
+.container[data-v-3543871e] .tiny-steps {
+  margin-top: 10px;
+}
+.content[data-v-3543871e] {
+  display: flex;
+  flex: 1 1 auto;
+  flex-direction: column;
+  justify-content: flex-start;
+  height: 100%;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+}
+.content-main[data-v-3543871e] {
+  padding: 75px 0;
+}
+.result-alert[data-v-3543871e] {
+  display: flex;
+  flex-direction: column;
+  align-content: center;
+  justify-content: center;
+  color: black;
+  text-align: center;
+}
+.result-alert img[data-v-3543871e] {
+  width: 68px;
+  height: 68px;
+  margin: 0 auto;
+}
+.result-alert div[data-v-3543871e]:first-child {
+  padding-top: 50px;
+  font-weight: 900;
+  font-size: 20px;
+}
+.result-alert div[data-v-3543871e]:last-child {
+  padding-top: 20px;
+  font-size: 14px;
+}
+.result-line[data-v-3543871e] {
+  width: 75%;
+  height: 200px;
+  margin: 0 auto;
+  margin-top: 50px;
+  color: black;
+  background-color: #f5f6f7;
+}
+.result-line div[data-v-3543871e]:first-child {
+  padding: 20px;
+}
+.result-btn[data-v-3543871e] {
+  display: flex;
+  justify-content: center;
+  padding: 50px 0;
+}
+.result-btn button[data-v-3543871e] {
+  width: 120px;
+  height: 36px;
+  border-radius: 4px;
+}
diff --git a/admin-website/src/main/resources/static/assets/index21.js b/admin-website/src/main/resources/static/assets/index21.js
new file mode 100644
index 0000000..e67b358
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index21.js
@@ -0,0 +1,102 @@
+import { d as defineComponent, a0 as useI18n, r as ref, k as resolveComponent, u as openBlock, v as createElementBlock, l as createVNode, w as createBaseVNode, E as toDisplayString, z as createCommentVNode, H as withCtx, W as unref, J as createTextVNode, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { T as TINYModal, B as Button, _ as _export_sfc } from "./index.js";
+import { T as TimeLine } from "./index38.js";
+import "./chevron-up.js";
+const _imports_0 = "/ui/admin/assets/success.png";
+const _withScopeId = (n) => (pushScopeId("data-v-ca919170"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = { class: "content-main" };
+const _hoisted_4 = {
+  key: 0,
+  class: "result-alert"
+};
+const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "success"
+}, null, -1));
+const _hoisted_6 = { class: "result-btn" };
+const _hoisted_7 = { class: "result-line" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const { t } = useI18n();
+    const active = ref(4);
+    function handleSubmit() {
+      if (active.value < 4) {
+        active.value += 1;
+        TINYModal.message({
+          message: t("menu.result.messageSuccess"),
+          status: "success"
+        });
+      } else {
+        active.value = 4;
+        TINYModal.message({
+          message: t("menu.result.messageEnd"),
+          status: "success"
+        });
+      }
+    }
+    function handleFormReset() {
+      if (active.value === 4) {
+        active.value = 0;
+      }
+    }
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.result", "menu.result.success"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            active.value === 4 ? (openBlock(), createElementBlock("div", _hoisted_4, [
+              _hoisted_5,
+              createBaseVNode("div", null, [
+                createBaseVNode("div", null, toDisplayString(_ctx.$t("menu.result.messageSuccess")), 1),
+                createBaseVNode("div", null, toDisplayString(_ctx.$t("success.result.title")), 1)
+              ])
+            ])) : createCommentVNode("", true),
+            createBaseVNode("div", _hoisted_6, [
+              createVNode(unref(Button), {
+                type: "primary",
+                "native-type": "submit",
+                onClick: handleSubmit
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("menu.btn.submit")), 1)
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Button), { onClick: handleFormReset }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("menu.btn.cancel")), 1)
+                ]),
+                _: 1
+              })
+            ]),
+            createBaseVNode("div", _hoisted_7, [
+              createBaseVNode("div", null, toDisplayString(_ctx.$t("menu.line.process")), 1),
+              createBaseVNode("div", null, [
+                createVNode(unref(TimeLine), {
+                  data: [
+                    { name: unref(t)("stepForm.start.coaching") },
+                    { name: unref(t)("stepForm.immediate.supervisor") },
+                    { name: unref(t)("stepForm.overall.goals") },
+                    { name: unref(t)("stepForm.overall.summary") },
+                    { name: unref(t)("stepForm.overall.end") }
+                  ],
+                  active: active.value,
+                  type: "normal"
+                }, null, 8, ["data", "active"])
+              ])
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_ca919170_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ca919170"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index22.css b/admin-website/src/main/resources/static/assets/index22.css
new file mode 100644
index 0000000..af68346
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index22.css
@@ -0,0 +1 @@
+.tiny-steps,.tiny-timeline{--ti-steps-circle-width-height:var(--ti-common-size-5x, 20px);--ti-steps-number-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-font-size-base:var(--ti-common-font-size-base, 12px);--ti-steps-font-size-hover:var(--ti-common-font-weight-4, normal);--ti-steps-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-steps-bg-color-hover:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-border-color-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-text-color-hover:var(--ti-common-color-primary-normal, #5e7ce0);--ti-steps-icon-size:var(--ti-common-size-5x, 20px);--ti-steps-icon-hover-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-steps-font-size-7:var(--ti-common-font-size-7, 36px);--ti-steps-line-height:var(--ti-common-border-weight-normal, 1px);--ti-steps-line-margin-horizontal:var(--ti-common-space-2x, 8px);--ti-steps-line-min-width:var(--ti-common-space-4x, 16px);--ti-steps-text-margin-left:var(--ti-common-space-base, 4px);--ti-steps-line-width:var(--ti-common-size-16x, 64px);--ti-steps-content-max-width:calc(var(--ti-common-space-10, 10px) * 25);--ti-steps-content-margin-top:var(--ti-common-space-6, 6px);--ti-steps-bottom-divider-height:var(--ti-common-space-1, 1px);--ti-steps-bottom-divider-margin-top:var(--ti-common-space-4x, 16px);--ti-steps-bottom-divider-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-description-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-description-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-steps-description-min-width:calc(var(--ti-common-space-10, 10px) * 10);--ti-steps-vertical-description-margin-top:var(--ti-common-space-2x);--ti-steps-icon-border-width:var(--ti-common-space-1, 1px);--ti-steps-custom-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-custom-icon-width-height:var(--ti-common-space-3x, 12px);--ti-steps-advanced-active-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-steps-done-active-bg-color-hover:var(--ti-common-color-primary-hover, #7693f5);--ti-steps-advanced-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-line-active-icon-color:var(--ti-common-color-icon-white, #fff);--ti-steps-active-font-weight:var(--ti-common-font-weight-4, normal);--ti-steps-advanced-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-steps-done-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-steps-line-active-bg-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-done-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-done-active-border-color-hover:var(--ti-common-color-primary-hover, #7693f5);--ti-steps-done-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-steps-done-icon-size:var(--ti-common-font-size-1, 14px);--ti-steps-done-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-line-bg-color:var(--ti-common-color-bg-secondary, #adb0b8);--ti-steps-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-unselected-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-steps-unselected-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-steps-unselected-hover-name-text-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-steps-unselected-border-color:var(--ti-steps-unselected-icon-color);--ti-steps-unselected-hover-border-color:var(--ti-steps-unselected-hover-icon-color);--ti-steps-timeline-date-time-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-steps-doing-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-steps-doing-border-color-hover:var(--ti-common-color-primary-hover, #7693f5);--ti-steps-doing-icon-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-steps-doing-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-warning-icon-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-warning-icon-bg-color:var(--ti-common-color-warn, #fa9841);--ti-steps-error-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-error-icon-bg-color-hover:var(--ti-common-color-error-bg, #ffeeed);--ti-steps-error-icon-color:var(--ti-common-color-error-text, #de504e);--ti-steps-error-icon-size:var(--ti-common-font-size-1, 14px);--ti-steps-error-border-color:var(--ti-common-color-error-border, #f66f6a);--ti-steps-error-text-color:var(--ti-common-color-error-text, #de504e);--ti-steps-disabled-icon-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-steps-disabled-icon-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-disabled-border-color:var(--ti-steps-disabled-icon-color);--ti-steps-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-disabled-name-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-disabled-select-icon-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-disabled-select-icon-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-steps-mini-icon-size:var(--ti-common-font-size-5, 24px);--ti-steps-mini-number-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-mini-font-size-base:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-steps-advanced-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-steps-advanced-line-height:var(--ti-common-size-7x, 28px);--ti-steps-advanced-border-radius:calc(var(--ti-common-space-1, 1px) * 3);--ti-steps-advanced-li-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-steps-advanced-li-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-steps-advanced-li-hover-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-steps-advanced-li-hover-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-steps-advanced-link-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-dot-height:var(--ti-common-size-3x, 12px);--ti-steps-advanced-dot-width:var(--ti-common-size-3x, 12px);--ti-steps-advanced-count-bg-color:var(--ti-common-bg-primary, #c7000b);--ti-steps-advanced-count-border-radius:var(--ti-common-space-10, 10px);--ti-steps-advanced-count-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-count-height:calc(var(--ti-common-space-6, 6px) * 3);--ti-steps-advanced-border-weight:calc(var(--ti-common-space-base, 4px) * 3.5);--ti-steps-timeline-date-time-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-advanced-dot-doing-bg-color:var(--ti-common-color-warn, #fa9841);--ti-steps-advanced-dot-wait-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-steps-advanced-dot-done-bg-color:var(--ti-common-color-success-normal, #50d4ab);--ti-steps-advanced-default-bg-color:var(--ti-common-color-bg-normal, #eef0f5);--ti-steps-advanced-bg-color-hover:#dfe1e6;--ti-steps-advanced-done-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-steps-advanced-done-bg-color-hover:var(--ti-base-color-brand-3, #beccfa);--ti-steps-advanced-doing-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-steps-advanced-doing-bg-color-hover:var(--ti-base-color-brand-3, #beccfa);--ti-steps-advanced-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-steps-advanced-error-bg-color-hover:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-steps-advanced-error-bg-color-selected:#de504e;--ti-steps-advanced-error-icon-color:var(--ti-common-color-error-text, #de504e);--ti-steps-advanced-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f5);--ti-steps-advanced-disabled-bg-color-hover:var(--ti-common-color-bg-disabled, #f5f5f5);--ti-steps-advanced-disabled-bg-color-active:var(--ti-common-color-bg-disabled, #f5f5f5);--ti-steps-timeline-name-font-size:var(--ti-common-font-size-1, 14px);--ti-steps-timeline-vertical-time-width:var(--ti-common-size-25x, 100px);--ti-steps-timeline-line-margin-vertical:var(--ti-common-size-base, 4px);--ti-steps-timeline-vertical-line-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-timeline-vertical-line-margin-left:var(--ti-common-size-3x, 12px);--ti-steps-timeline-vertical-line-margin-right:var(--ti-steps-timeline-vertical-line-margin-left);--ti-steps-timeline-shape-dot-content-margin-left:var(--ti-common-size-3x, 12px);--ti-steps-timeline-dot-width:var(--ti-common-size-2x, 8px);--ti-steps-timeline-dot-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-timeline-dot-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-steps-timeline-item-padding-bottom:var(--ti-common-size-5x, 20px);--ti-steps-timeline-item-secondary-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-steps-timeline-item-secondary-text-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-timeline-item-title-margin-bottom:var(--ti-common-size-base, 4px);--ti-steps-timeline-dot-primary-bg-color:var(--ti-steps-timeline-dot-bg-color);--ti-steps-timeline-dot-success-bg-color:var(--ti-common-color-success, #50d4ab);--ti-steps-timeline-dot-warning-bg-color:var(--ti-common-color-warn, #fa9841);--ti-steps-timeline-dot-danger-bg-color:var(--ti-common-color-error, #f66f6a);--ti-steps-timeline-dot-info-bg-color:var(--ti-common-color-prompt, #5e7ce0);--ti-steps-time-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-steps-time-font-size:var(--ti-common-font-size-base, 12px);--ti-steps-time-margin-bottom:var(--ti-common-space-6, 6px)}.tiny-steps-senior{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;color:var(--ti-steps-text-color);font-size:var(--ti-steps-font-size-base);line-height:16px}.tiny-steps-senior .tiny-steps-slide-bar{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-steps-senior .tiny-steps-slide-bar .slide-main{-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:auto}.tiny-steps-senior .tiny-steps-slide-bar .slide-main>div{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-steps-senior .tiny-steps-slide-bar .slide-main::-webkit-scrollbar{width:0;height:0}.tiny-steps-senior .tiny-steps-slide-bar .more-button{display:none;-webkit-box-flex:0;-ms-flex:none;flex:none;height:32px;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-steps-senior .tiny-steps-slide-bar .more-button.display-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-steps-senior .tiny-steps-slide-bar .more-button .content{width:16px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#f5f6f8}.tiny-steps-senior .tiny-steps-slide-bar .more-button .icon{height:12px;width:12px}.tiny-steps-senior .tiny-steps-slide-bar .more-button.left .content{margin-right:6px}.tiny-steps-senior .tiny-steps-slide-bar .more-button.right .content{margin-left:6px}.tiny-steps-senior .more-button-con{width:16px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:6px;color:#c9c9c9;background-color:#f5f6f8}.tiny-steps-senior .more-button-con.left{margin-right:6px}.tiny-steps-senior .more-button-con.right{margin-left:6px}.tiny-steps-senior .more-button-con.bar-visible{color:#161e26}.tiny-steps-senior .more-button-con.bar-visible:hover{background-color:#b0bffd;color:#1890ff}.tiny-steps-senior .more-button-con .icon{width:12px;height:12px;fill:currentColor}.tiny-steps-senior .tiny-steps-block{height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:2px;position:relative;cursor:pointer;color:var(--ti-steps-text-color);margin:0 1px;overflow:hidden;background-color:var(--ti-steps-advanced-default-bg-color)}.tiny-steps-senior .tiny-steps-block .right-arrow.hide{display:none}.tiny-steps-senior .tiny-steps-block:hover{background-color:var(--ti-steps-advanced-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.active{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.active:hover{background-color:var(--ti-steps-done-active-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.not-flex{width:176px}.tiny-steps-senior .tiny-steps-block.done{background-color:var(--ti-steps-advanced-done-bg-color)}.tiny-steps-senior .tiny-steps-block.done:hover{background-color:var(--ti-steps-advanced-done-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.done.active{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.doing{background-color:var(--ti-steps-advanced-doing-bg-color)}.tiny-steps-senior .tiny-steps-block.doing:hover{color:#fff;background-color:var(--ti-steps-advanced-doing-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.doing.active{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.doing.active:hover{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-senior .tiny-steps-block.fault{background-color:var(--ti-steps-advanced-error-bg-color)}.tiny-steps-senior .tiny-steps-block.fault:hover{background-color:var(--ti-steps-advanced-error-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.fault.active{background-color:var(--ti-steps-advanced-error-bg-color-selected)}.tiny-steps-senior .tiny-steps-block.disabled{color:var(--ti-steps-disabled-icon-color);background-color:var(--ti-steps-advanced-disabled-bg-color)}.tiny-steps-senior .tiny-steps-block.disabled:hover{background-color:var(--ti-steps-advanced-disabled-bg-color-hover)}.tiny-steps-senior .tiny-steps-block.disabled.active{background-color:var(--ti-steps-advanced-disabled-bg-color-active)}.tiny-steps-senior .tiny-steps-block .arrow{height:0;width:0;position:absolute;border-top-width:16px;border-bottom-width:16px;border-left-width:6px;border-right-width:0;border-color:#fff;border-style:solid}.tiny-steps-senior .tiny-steps-block .left-arrow{left:0;border-top-color:transparent;border-bottom-color:transparent}.tiny-steps-senior .tiny-steps-block .left-arrow.hide{display:none}.tiny-steps-senior .tiny-steps-block .right-arrow{right:0;border-left-color:transparent}.tiny-steps-senior .tiny-steps-content{font-size:14px;-webkit-box-flex:1;-ms-flex:auto;flex:auto;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 24px;overflow:hidden;height:32px}.tiny-steps-senior .tiny-steps-content:hover .tiny-steps-icon.doing{background-color:#fff;color:#1890ff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon{width:16px;height:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:none;flex:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:9999px;margin-right:8px;background-color:#c9c9c9;color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.doing,.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.done{background-color:var(--ti-steps-advanced-active-bg-color);color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.active:not(.disabled){color:var(--ti-steps-advanced-active-text-color);background-color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.fault{background-color:var(--ti-steps-advanced-error-icon-color);color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon.fault.active{color:var(--ti-steps-error-icon-color);background-color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-icon .icon{width:10px;height:10px;fill:currentColor}.tiny-steps-senior .tiny-steps-content .tiny-steps-prefixslot{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-steps-senior .tiny-steps-content .tiny-steps-prefixslot .prefix{margin-right:-8px}.tiny-steps-senior .tiny-steps-content .tiny-steps-text{-webkit-box-flex:1;-ms-flex:auto;flex:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-senior .tiny-steps-content .tiny-steps-text.active:not(.disabled){color:#fff}.tiny-steps-senior .tiny-steps-content .tiny-steps-text .tiny-steps-text-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-senior .tiny-steps-content .tiny-steps-text .tiny-steps-text-description{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-senior.large .more-button{height:48px}.tiny-steps-senior.large .tiny-steps-block{height:48px}.tiny-steps-senior.large .tiny-steps-block .arrow{border-top-width:24px;border-bottom-width:24px;border-left-width:9px}.tiny-steps-senior.large .tiny-steps-block .tiny-steps-content{height:48px}.tiny-steps-senior.large .tiny-steps-block .tiny-steps-content .tiny-steps-icon{width:24px;height:24px;margin-right:12px}.tiny-steps-senior.large .tiny-steps-block .tiny-steps-content .tiny-steps-icon .icon{width:14px;height:14px}.tiny-steps-senior.large .tiny-steps-block:not(.active):not(:hover).doing .tiny-steps-text-description,.tiny-steps-senior.large .tiny-steps-block:not(.active):not(:hover).done .tiny-steps-text-description{color:var(--ti-steps-description-text-color)}.tiny-steps-line{display:-webkit-box;display:-ms-flexbox;display:flex;color:var(--ti-steps-text-color)}.tiny-steps-line.vertical .tiny-steps-block .description{margin-left:0}.tiny-steps-line .item-number{position:relative;font-size:var(--ti-steps-number-font-size);line-height:1}.tiny-steps-line .item-circle{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);-webkit-box-flex:0;-ms-flex:none;flex:none;border-radius:9999px;border:1px solid var(--ti-steps-line-bg-color);background-color:#fff;font-weight:500;position:absolute}.tiny-steps-line .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:10;border:1px solid var(--ti-steps-unselected-border-color);border-radius:50%}.tiny-steps-line .tiny-steps-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.tiny-steps-line .tiny-steps-main .line.line-brand{border-color:var(--ti-steps-done-active-border-color)}.tiny-steps-line .tiny-steps-block{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;cursor:pointer;text-align:center}.tiny-steps-line .tiny-steps-block:not(.active,.fault,.disabled,.doing):hover .title{color:var(--ti-steps-text-color-hover)}.tiny-steps-line .tiny-steps-block:not(.active,.fault,.disabled,.doing):hover .tiny-steps-icon{border-color:var(--ti-steps-border-color-hover);color:var(--ti-steps-icon-hover-text-color)}.tiny-steps-line .tiny-steps-block.not-vertical{min-width:128px;max-width:320px;margin-right:var(--ti-steps-line-margin-horizontal);text-align:left}.tiny-steps-line .tiny-steps-block .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:none;flex:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:9999px;border:1px solid var(--ti-steps-unselected-border-color);background-color:var(--ti-steps-icon-bg-color);color:var(--ti-steps-unselected-icon-color);font-size:14px}.tiny-steps-line .tiny-steps-block .tiny-steps-icon:hover{background-color:var(--ti-steps-bg-color-hover)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.active{background-color:var(--ti-steps-advanced-active-bg-color);color:#fff;border-color:var(--ti-steps-advanced-active-border-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.active.fault{color:var(--ti-steps-error-text-color);border:1px solid var(--ti-steps-error-border-color);background-color:var(--ti-steps-error-icon-bg-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.active.disabled{background-color:var(--ti-steps-disabled-select-icon-bg-color);color:var(--ti-steps-disabled-select-icon-color);border-color:var(--ti-steps-disabled-border-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon .icon-finish{fill:var(--ti-steps-done-icon-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon .icon-finish.active{fill:#fff}.tiny-steps-line .tiny-steps-block .tiny-steps-icon .icon-warn{fill:var(--ti-steps-error-icon-color)}.tiny-steps-line .tiny-steps-block.flex-non{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-steps-line .tiny-steps-block.active div.title,.tiny-steps-line .tiny-steps-block.active div.title-vertical{color:var(--ti-steps-advanced-active-text-color)}.tiny-steps-line .tiny-steps-block.active .description:not(.disabled,.fault){color:var(--ti-steps-advanced-active-text-color)}.tiny-steps-line .tiny-steps-block.active .description.fault{color:var(--ti-steps-error-text-color)}.tiny-steps-line .tiny-steps-block.disabled{color:var(--ti-steps-disabled-icon-color);cursor:not-allowed}.tiny-steps-line .tiny-steps-block.disabled.active div.title,.tiny-steps-line .tiny-steps-block.disabled.active div.title-vertical{color:var(--ti-steps-disabled-name-text-color)}.tiny-steps-line .tiny-steps-block.fault div.title,.tiny-steps-line .tiny-steps-block.fault div.title-vertical{color:var(--ti-steps-error-text-color)}.tiny-steps-line .tiny-steps-block.fault .tiny-steps-icon{color:var(--ti-steps-error-icon-color);border-color:var(--ti-steps-error-border-color);background-color:var(--ti-steps-error-icon-bg-color)}.tiny-steps-line .tiny-steps-block.fault .tiny-steps-icon:hover{background-color:var(--ti-steps-error-icon-bg-color-hover)}.tiny-steps-line .tiny-steps-block.doing .tiny-steps-icon{border:1px solid var(--ti-steps-doing-border-color);background-color:var(--ti-steps-doing-icon-bg-color);color:var(--ti-steps-doing-icon-color)}.tiny-steps-line .tiny-steps-block.doing .tiny-steps-icon:hover{border-color:var(--ti-steps-doing-border-color-hover)}.tiny-steps-line .tiny-steps-block.doing .tiny-steps-icon.active{border:1px solid var(--ti-steps-doing-border-color);background-color:var(--ti-steps-advanced-active-bg-color);color:var(--ti-steps-line-active-icon-color)}.tiny-steps-line .tiny-steps-block.done .title{color:var(--ti-steps-done-text-color)}.tiny-steps-line .tiny-steps-block.done .tiny-steps-main .tiny-steps-icon{background-color:var(--ti-steps-done-icon-bg-color);border-color:var(--ti-steps-done-active-border-color)}.tiny-steps-line .tiny-steps-block.done .tiny-steps-main .tiny-steps-icon:hover{border-color:var(--ti-steps-done-active-border-color-hover)}.tiny-steps-line .tiny-steps-block.done .tiny-steps-main .tiny-steps-icon.active{border-color:var(--ti-steps-advanced-active-border-color);background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-icon.disabled{color:var(--ti-steps-disabled-icon-color);background-color:var(--ti-steps-disabled-icon-bg-color);border-color:var(--ti-steps-disabled-border-color)}.tiny-steps-line .tiny-steps-block .title{font-size:var(--ti-steps-font-size-base);margin-left:var(--ti-steps-text-margin-left);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-steps-line .tiny-steps-block .line{border-top:1px solid var(--ti-steps-line-bg-color);-webkit-box-flex:1;-ms-flex:auto;flex:auto}.tiny-steps-line .tiny-steps-block .left-line.acetate{opacity:0}.tiny-steps-line .tiny-steps-block .left-line.not-vertical{display:none;min-width:24px;margin-left:16px}.tiny-steps-line .tiny-steps-block .right-line.acetate{opacity:0}.tiny-steps-line .tiny-steps-block .right-line.hide{display:none}.tiny-steps-line .tiny-steps-block .right-line.not-vertical{min-width:24px;margin-left:var(--ti-steps-line-margin-horizontal)}.tiny-steps-line .tiny-steps-block .title-vertical{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:12px 20px 0}.tiny-steps-line .tiny-steps-block .title-vertical.not-vertical{display:none;margin:0}.tiny-steps-line .tiny-steps-block .description{font-size:12px;color:var(--ti-steps-description-text-color);margin-left:calc(var(--ti-steps-circle-width-height) + var(--ti-steps-text-margin-left));margin-top:var(--ti-steps-vertical-description-margin-top);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all}.tiny-steps-line .tiny-steps-block .description.disabled{color:var(--ti-steps-disabled-text-color)}.tiny-steps-line .tiny-steps-block .description .fault{color:var(--ti-steps-error-text-color)}.tiny-steps-line .tiny-steps-block .description.not-vertical{margin-top:0}.tiny-steps-line .tiny-steps-block.done .left-line{border-top:1px solid var(--ti-steps-line-active-bg-color)}.tiny-steps-line .tiny-steps-block.done .right-line{border-top:1px solid var(--ti-steps-line-active-bg-color)}.tiny-steps-line .tiny-steps-block.doing .left-line{border-top:1px solid var(--ti-steps-line-active-bg-color)}.tiny-steps-line .tiny-steps-block .tiny-steps-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-steps-line .tiny-steps-block.mini .tiny-steps-icon{width:8px;height:8px;font-size:12px}.tiny-steps-line .tiny-steps-block.mini .title,.tiny-steps-line .tiny-steps-block.mini .title-vertical{font-size:12px}.tiny-steps-line .tiny-steps-block.small .tiny-steps-icon{width:16px;height:16px;font-size:12px}.tiny-steps-line .tiny-steps-block.small .tiny-steps-icon .icon{width:10px;height:10px}.tiny-steps-line .tiny-steps-block.small .title,.tiny-steps-line .tiny-steps-block.small .title-vertical{font-size:12px}.tiny-steps-line .tiny-steps-block.medium .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);font-size:var(--ti-steps-font-size-base)}.tiny-steps-line .tiny-steps-block.medium .tiny-steps-icon .icon{width:var(--ti-steps-number-font-size);height:var(--ti-steps-number-font-size)}.tiny-steps-line .tiny-steps-block.large .tiny-steps-icon{width:32px;height:32px;font-size:16px}.tiny-steps-line .tiny-steps-block.large .tiny-steps-icon .icon{width:18px;height:18px}.tiny-steps-line .tiny-steps-block.large .title,.tiny-steps-line .tiny-steps-block.large .title-vertical{font-size:16px}.tiny-steps-line.medium .left-line{margin-right:8px}.tiny-steps-line.medium .right-line{margin-left:8px}.tiny-steps-line.small .left-line{margin-right:8px}.tiny-steps-line.small .right-line{margin-left:8px}.tiny-steps-line.mini .left-line{margin-right:4px}.tiny-steps-line.mini .right-line{margin-left:4px}.tiny-steps-line.large .left-line{margin-right:12px}.tiny-steps-line.large .right-line{margin-left:12px}.tiny-steps-line .tiny-steps-left .tiny-steps-icon,.tiny-steps-line .tiny-steps-right .tiny-steps-icon{border:none}.tiny-steps-line .tiny-steps-left .tiny-steps-icon .item-number,.tiny-steps-line .tiny-steps-right .tiny-steps-icon .item-number{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:10;border:1px solid var(--ti-steps-unselected-border-color);border-radius:50%;background-color:var(--ti-steps-icon-bg-color)}.tiny-steps-line .tiny-steps-left{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;cursor:pointer;max-width:320px;margin-right:16px}.tiny-steps-line .tiny-steps-left .tiny-steps-icon{border-color:var()}.tiny-steps-line .tiny-steps-left.vertical{text-align:center;margin-right:0;max-width:initial}.tiny-steps-line .tiny-steps-left .left-line{border-top:1px solid;-webkit-box-flex:1;-ms-flex:auto;flex:auto;opacity:0}.tiny-steps-line .tiny-steps-left .left-line.not-vertical{display:none;margin-right:16px;min-width:24px}.tiny-steps-line .tiny-steps-left .right-line{-webkit-box-flex:1;-ms-flex:auto;flex:auto;border-top:1px solid}.tiny-steps-line .tiny-steps-left .right-line.not-vertical{min-width:24px}.tiny-steps-line .tiny-steps-right{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;cursor:pointer;text-align:center}.tiny-steps-line .tiny-steps-right.not-vertical{min-width:128px;max-width:320px;text-align:left}.tiny-steps-line .tiny-steps-right .tiny-steps-main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.tiny-steps-line .tiny-steps-right .line{border-top:1px solid var(--ti-steps-line-bg-color);-webkit-box-flex:1;-ms-flex:auto;flex:auto}.tiny-steps-line .tiny-steps-right .line.right-line{opacity:0}.tiny-steps-line .tiny-steps-right .line.not-vertical{display:none;min-width:24px;margin-left:16px}.tiny-steps-line .tiny-steps-right .tiny-steps-icon{-webkit-box-flex:0;-ms-flex:none;flex:none;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;z-index:10}.tiny-steps-line .tiny-steps-right .item-circle{-webkit-box-flex:0;-ms-flex:none;flex:none;border-radius:9999px;border:1px solid var(--ti-steps-line-bg-color);background-color:var(--ti-steps-icon-bg-color);font-weight:500;position:absolute}.tiny-steps-line.mini .tiny-steps-icon{width:8px;height:8px;font-size:12px}.tiny-steps-line.small .tiny-steps-icon{width:16px;height:16px;font-size:12px}.tiny-steps-line.medium .tiny-steps-icon{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height);font-size:14px}.tiny-steps-line.large .tiny-steps-icon{width:32px;height:32px;font-size:16px}.tiny-steps-line.mini .item-circle{width:8px;height:8px}.tiny-steps-line.small .item-circle{width:16px;height:16px}.tiny-steps-line.medium .item-circle{width:var(--ti-steps-circle-width-height);height:var(--ti-steps-circle-width-height)}.tiny-steps-line.large .item-number{font-size:16px}.tiny-steps-line.large .item-circle{width:32px;height:32px}.tiny-steps-standard{position:relative;font-size:0;color:var(--ti-steps-timeline-date-time-text-color)}.tiny-steps-standard .tiny-steps-advanced li{line-height:var(--ti-steps-advanced-line-height);display:inline-block;background:var(--ti-steps-advanced-li-bg-color);position:relative}.tiny-steps-standard .tiny-steps-advanced li.current .label{background:var(--ti-steps-advanced-active-bg-color);color:var(--ti-steps-advanced-li-text-color);font-weight:700}.tiny-steps-standard .tiny-steps-advanced li.current .label::after{border-left-color:var(--ti-steps-advanced-active-bg-color)}.tiny-steps-standard .tiny-steps-advanced li .label{border:solid 1px var(--ti-steps-advanced-border-color);border-right:none;display:block;text-align:center;position:relative;text-decoration:none;white-space:nowrap;color:var(--ti-steps-advanced-text-color);font-size:var(--ti-steps-advanced-link-font-size)}.tiny-steps-standard .tiny-steps-advanced li .label::after{content:'';border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:9px solid #fff;position:absolute;right:0;top:0;-webkit-transform:translateX(100%);transform:translateX(100%);z-index:1}.tiny-steps-standard .tiny-steps-advanced li .label::before{content:'';border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:9px solid #d7d8da;position:absolute;left:0;top:0}.tiny-steps-standard .tiny-steps-advanced li .label:hover{background:var(--ti-steps-advanced-li-hover-bg-color);color:var(--ti-steps-advanced-li-hover-text-color);text-decoration:none}.tiny-steps-standard .tiny-steps-advanced li .label:hover::after{border-left-color:var(--ti-steps-advanced-li-hover-bg-color)}.tiny-steps-standard .tiny-steps-advanced li:first-child .label{border-top-left-radius:var(--ti-steps-advanced-border-radius);border-bottom-left-radius:var(--ti-steps-advanced-border-radius)}.tiny-steps-standard .tiny-steps-advanced li:first-child .label::before{display:none}.tiny-steps-standard .tiny-steps-advanced li:last-child .label{border-right:solid 1px var(--ti-steps-advanced-border-color);border-top-right-radius:var(--ti-steps-advanced-border-radius);border-bottom-right-radius:var(--ti-steps-advanced-border-radius)}.tiny-steps-standard .tiny-steps-advanced li:last-child .label::after{display:none}.tiny-steps-standard .tiny-steps-advanced li .dot{height:var(--ti-steps-advanced-dot-height);width:var(--ti-steps-advanced-dot-width);margin-right:8px;padding:0;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute}.tiny-steps-standard .tiny-steps-advanced li .dot svg{width:100%;height:100%;fill:var(--ti-steps-advanced-text-color)}.tiny-steps-standard .tiny-steps-advanced li.current .dot svg,.tiny-steps-standard .tiny-steps-advanced li.current .dot svg:hover{fill:var(--ti-steps-advanced-li-bg-color)}.tiny-steps-standard .tiny-steps-advanced li:hover .dot svg{fill:var(--ti-steps-advanced-text-color)}.tiny-steps-standard .tiny-steps-advanced .count{background-color:var(--ti-steps-advanced-count-bg-color);border-radius:var(--ti-steps-advanced-count-border-radius);color:var(--ti-steps-advanced-li-text-color);display:inline-block;font-size:var(--ti-steps-advanced-count-font-size);height:var(--ti-steps-advanced-count-height);line-height:var(--ti-steps-advanced-count-height);padding:0 6px;text-align:center;white-space:nowrap;position:absolute;top:-10px;right:10px}.tiny-timeline{position:relative}.tiny-timeline .line{background:var(--ti-steps-line-bg-color)}.tiny-timeline .icon{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:var(--ti-steps-number-font-size);left:calc(50% - var(--ti-steps-icon-size)/ 2);top:0;width:var(--ti-steps-icon-size);height:var(--ti-steps-icon-size);border:var(--ti-steps-icon-border-width) solid var(--ti-steps-unselected-border-color);border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:var(--ti-steps-unselected-icon-color);cursor:pointer;background-color:var(--ti-steps-icon-bg-color);z-index:15}.tiny-timeline .icon[class*=icon-]{background-color:var(--ti-steps-custom-icon-bg-color)}.tiny-timeline .icon.icon-success{border-color:var(--ti-steps-done-active-border-color)}.tiny-timeline .icon.icon-success .fixicon{fill:var(--ti-steps-done-icon-color)}.tiny-timeline .icon.icon-warning{background-color:var(--ti-steps-warning-icon-bg-color);border-color:var(--ti-steps-warning-icon-bg-color)}.tiny-timeline .icon.icon-warning .fixicon{fill:var(--ti-steps-warning-icon-color)}.tiny-timeline .icon.icon-error{border-color:var(--ti-steps-error-border-color)}.tiny-timeline .icon.icon-error .fixicon{fill:var(--ti-steps-error-icon-color)}.tiny-timeline .icon .fixicon,.tiny-timeline .icon .fixicons{width:var(--ti-steps-custom-icon-width-height);height:var(--ti-steps-custom-icon-width-height);background-color:transparent}.tiny-timeline .icon.fixicons{padding:0;left:0;border:none}.tiny-timeline .icon .number{display:inline-block}.tiny-timeline .date-time{text-align:center;color:var(--ti-steps-time-text-color);font-size:var(--ti-steps-time-font-size);margin-bottom:var(--ti-steps-time-margin-bottom)}.tiny-timeline .tiny-steps__node{position:relative}.tiny-timeline .process-done .node-description{color:var(--ti-steps-done-text-color)}.tiny-timeline .process-done .icon{color:var(--ti-steps-done-icon-color);fill:var(--ti-steps-done-icon-color);border-color:var(--ti-steps-done-active-border-color);background-color:var(--ti-steps-done-icon-bg-color)}.tiny-timeline .process-done .icon .icon-yes{fill:var(--ti-steps-done-icon-color);font-size:var(--ti-steps-done-icon-size);border-radius:50%}.tiny-timeline .process-done.tiny-timeline-item .dot-container .dot{border-color:var(--ti-steps-done-active-border-color);background-color:var(--ti-steps-done-icon-bg-color)}.tiny-timeline .process-done .line,.tiny-timeline .process-done.tiny-timeline-item.timeline .tiny-timeline-item__pillar .line{background-color:var(--ti-steps-line-active-bg-color)}.tiny-timeline .process-current .icon{color:var(--ti-steps-advanced-li-text-color);font-size:var(--ti-steps-font-size-base);border-color:var(--ti-steps-advanced-active-border-color);background:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .process-current .icon .fixicons{fill:var(--ti-steps-advanced-li-text-color)}.tiny-timeline .process-current.tiny-timeline-item .dot-container .dot{background-color:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .process-error{cursor:not-allowed}.tiny-timeline .process-error .icon{-ms-flex-negative:0;flex-shrink:0;color:var(--ti-steps-error-icon-color);border-color:var(--ti-steps-error-border-color);background-color:var(--ti-steps-error-bg-color)}.tiny-timeline .process-error .icon .icon-wrap{font-size:0}.tiny-timeline .process-error .icon svg{fill:var(--ti-steps-error-icon-color);font-size:var(--ti-steps-error-icon-size)}.tiny-timeline .process-error.tiny-timeline-item .dot-container .dot{background-color:var(--ti-steps-error-border-color)}.tiny-timeline .process-error.normal .node-description .name,.tiny-timeline .process-error.normal .node-description div.name:hover{color:var(--ti-steps-error-text-color)}.tiny-timeline .process-disabled{cursor:not-allowed}.tiny-timeline .process-disabled .icon{background-color:var(--ti-steps-disabled-icon-bg-color);border-color:var(--ti-steps-disabled-border-color)}.tiny-timeline .process-disabled .icon .number{color:var(--ti-steps-disabled-icon-color)}.tiny-timeline .process-disabled.tiny-timeline-item .dot-container .dot{background-color:var(--ti-steps-disabled-icon-bg-color)}.tiny-timeline .process-disabled .tiny-timeline-item__content .name,.tiny-timeline .process-disabled .tiny-timeline-item__content div.name:hover,.tiny-timeline .process-disabled.normal .node-description .name,.tiny-timeline .process-disabled.normal .node-description div.name:hover{color:var(--ti-steps-disabled-text-color)}.tiny-timeline .process-current .node-description .name:hover,.tiny-timeline .process-done .node-description .name:hover,.tiny-timeline .process-error .node-description .name:hover{font-weight:var(--ti-steps-font-size-hover)}.tiny-timeline .reverse .process-current .line{background:var(--ti-steps-line-active-bg-color)}.tiny-timeline .tiny-steps-normal .normal{display:block;position:relative;font-size:var(--ti-steps-font-size-base)}.tiny-timeline .tiny-steps-normal .icon span{display:inline-block}.tiny-timeline .tiny-steps-normal .name{color:var(--ti-steps-timeline-date-time-text-color);cursor:pointer}.tiny-timeline .tiny-steps-normal.text-right{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:0;margin:0}.tiny-timeline .tiny-steps-normal.text-right .normal{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.tiny-timeline .tiny-steps-normal.text-right .normal .step-icon{top:0;left:0;-ms-flex-negative:0;flex-shrink:0}.tiny-timeline .tiny-steps-normal.text-right .normal .node-description{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;margin-left:var(--ti-steps-text-margin-left);-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-timeline .tiny-steps-normal.text-right .normal .node-description .name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-right:var(--ti-steps-name-margin-right);overflow:hidden;text-overflow:ellipsis;word-break:break-all;white-space:normal;text-align:left;max-width:var(--ti-steps-content-max-width)}.tiny-timeline .tiny-steps-normal.text-right .normal .line{-webkit-box-flex:1;-ms-flex:1;flex:1;height:var(--ti-steps-line-height);margin-left:var(--ti-steps-line-margin-horizontal)}.tiny-timeline .tiny-steps-normal.text-right .normal .line.line-end{-webkit-box-flex:0;-ms-flex:0;flex:0}.tiny-timeline .tiny-steps-normal.text-right .normal:not(:first-child){padding-left:var(--ti-steps-line-margin-horizontal)}.tiny-timeline .tiny-steps-normal.text-right .normal:not(:last-child){-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-timeline .tiny-steps-normal.text-right .normal.no-flex{-webkit-box-flex:0;-ms-flex:none;flex:none}.tiny-timeline .tiny-steps-normal.text-bottom{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-timeline .tiny-steps-normal.text-bottom .node-description{position:relative;text-align:center;margin-top:var(--ti-steps-content-margin-top)}.tiny-timeline .tiny-steps-normal.text-bottom .node-description .name{font-size:var(--ti-steps-font-size-base);float:left;width:100%;cursor:pointer}.tiny-timeline .tiny-steps-normal.text-bottom .node-description .name:hover{color:var(--ti-steps-text-color-hover)}.tiny-timeline .tiny-steps-normal.text-bottom .node-description .status{font-size:var(--ti-steps-font-size-base);float:left;width:100%}.tiny-timeline .tiny-steps-normal.text-bottom .line{width:calc(100% - var(--ti-steps-icon-size) - var(--ti-steps-line-margin-horizontal) * 2);height:var(--ti-steps-line-height);left:calc(50% + var(--ti-steps-icon-size)/ 2 + var(--ti-steps-line-margin-horizontal));top:calc((var(--ti-steps-icon-size) - var(--ti-steps-line-height))/ 2);position:absolute}.tiny-timeline .tiny-steps-normal.text-bottom .line.line-end{width:0}.tiny-timeline .tiny-steps-normal .tiny-timeline-item__description{position:absolute;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);min-width:var(--ti-steps-description-min-width);text-align:left}.tiny-timeline .tiny-steps-normal .process-current .node-description .name{color:var(--ti-steps-advanced-active-text-color);font-weight:var(--ti-steps-active-font-weight)}.tiny-timeline .show-divider .tiny-timeline-item{padding-bottom:calc(var(--ti-steps-bottom-divider-margin-top) + var(--ti-steps-bottom-divider-height))}.tiny-timeline .show-divider .tiny-timeline-item.process-current::after{content:'';display:inline-block;position:absolute;bottom:0;left:calc(var(--ti-steps-line-margin-horizontal) + var(--ti-steps-icon-size)/ 2 - 7px);border:7px solid transparent;border-top:none;border-bottom-color:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .show-divider .tiny-timeline-item:first-child.process-current::after{content:'';display:inline-block;position:absolute;bottom:0;left:calc(var(--ti-steps-icon-size)/ 2 - 7px);border:7px solid transparent;border-top:none;border-bottom-color:var(--ti-steps-advanced-active-bg-color)}.tiny-timeline .show-divider+.tiny-steps__bottom-divider{position:absolute;bottom:0;width:100%;height:var(--ti-steps-bottom-divider-height);margin-top:calc(var(--ti-steps-bottom-divider-margin-top) - 4px);background-color:var(--ti-steps-bottom-divider-bg-color)}.tiny-timeline .tiny-steps-timeline{font-size:var(--ti-steps-timeline-name-font-size);color:var(--ti-steps-timeline-date-time-text-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot{padding-top:4px}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__pillar .line{width:var(--ti-steps-line-height);margin-block:var(--ti-steps-timeline-line-margin-vertical);background-color:var(--ti-steps-timeline-vertical-line-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content{margin-left:var(--ti-steps-timeline-shape-dot-content-margin-left)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--primary .dot{border-color:var(--ti-steps-timeline-dot-primary-bg-color);background-color:var(--ti-steps-timeline-dot-primary-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--success .dot{border-color:var(--ti-steps-timeline-dot-success-bg-color);background-color:var(--ti-steps-timeline-dot-success-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--warning .dot{border-color:var(--ti-steps-timeline-dot-warning-bg-color);background-color:var(--ti-steps-timeline-dot-warning-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--danger .dot{border-color:var(--ti-steps-timeline-dot-danger-bg-color);background-color:var(--ti-steps-timeline-dot-danger-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline.timeline-item--info .dot{border-color:var(--ti-steps-timeline-dot-info-bg-color);background-color:var(--ti-steps-timeline-dot-info-bg-color)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content{margin-top:-5px}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content .name{margin-bottom:var(--ti-steps-timeline-item-title-margin-bottom)}.tiny-timeline .tiny-steps-timeline.tiny-timeline__shape-dot .timeline .tiny-timeline-item__content .time{color:var(--ti-steps-timeline-item-secondary-text-color);font-size:var(--ti-steps-timeline-item-secondary-text-font-size)}.tiny-timeline .tiny-steps-timeline .timeline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-timeline .tiny-steps-timeline .timeline.process-done{color:var(--ti-steps-done-text-color)}.tiny-timeline .tiny-steps-timeline .timeline.process-current{color:var(--ti-steps-advanced-active-text-color)}.tiny-timeline .tiny-steps-timeline .timeline:last-child .tiny-timeline-item__pillar .line{-webkit-box-flex:0;-ms-flex:0;flex:0}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch;width:var(--ti-steps-timeline-dot-width)}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar .line{width:var(--ti-steps-line-height);-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar .line .tiny-svg{vertical-align:baseline}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__pillar .icon{left:0}.tiny-timeline .tiny-steps-timeline .timeline .date-time{width:var(--ti-steps-timeline-vertical-left-width);padding-right:var(--ti-steps-timeline-vertical-line-margin-left);padding-bottom:var(--ti-steps-timeline-item-padding-bottom);text-align:right}.tiny-timeline .tiny-steps-timeline .timeline .date-time .time{display:block;line-height:1}.tiny-timeline .tiny-steps-timeline .timeline .date-time .date{display:block;line-height:1;margin-bottom:4px}.tiny-timeline .tiny-steps-timeline .timeline .dot-container{padding:var(--ti-steps-timeline-dot-margin-bottom);position:relative}.tiny-timeline .tiny-steps-timeline .timeline .dot-container .fixicons{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-timeline .tiny-steps-timeline .timeline .dot{display:block;width:var(--ti-steps-timeline-dot-width);height:var(--ti-steps-timeline-dot-width);border:1px solid var(--ti-steps-timeline-dot-border-color);border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--ti-steps-timeline-dot-bg-color)}.tiny-timeline .tiny-steps-timeline .timeline .tiny-timeline-item__content{padding-bottom:var(--ti-steps-timeline-item-padding-bottom);margin-left:var(--ti-steps-timeline-vertical-line-margin-right)}.tiny-timeline .tiny-steps-timeline .timeline .icon{top:0}.tiny-timeline--mini .icon{width:var(--ti-steps-mini-icon-size);height:var(--ti-steps-mini-icon-size)}.tiny-timeline--mini .process-done .icon .tiny-svg,.tiny-timeline--mini .process-done .icon span,.tiny-timeline--mini .process-error .icon .tiny-svg,.tiny-timeline--mini .tiny-svg,.tiny-timeline--mini span{font-size:var(--ti-steps-mini-number-font-size)}.tiny-timeline--mini .node-description .name,.tiny-timeline--mini .node-description .status{font-size:var(--ti-steps-mini-font-size-base)}.tiny-mobile-steps{--ti-mobile-steps-timeline-date-time-text-color:var(--ti-mobile-common-color-text-primary, #191919);--ti-mobile-steps-advanced-line-height:28px;--ti-mobile-steps-advanced-li-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-steps-advanced-active-bg-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-advanced-li-text-color:var(--ti-mobile-common-color-text-white, #fff);--ti-mobile-steps-line-bg-color:var(--ti-mobile-common-bg-color-weaken, #dbdbdb);--ti-mobile-steps-icon-size:20px;--ti-mobile-steps-icon-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-steps-unselected-text-color:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-steps-font-size-base:12px;--ti-mobile-steps-done-text-color:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-steps-done-icon-bg-color:var(--ti-mobile-common-bg-color-white, #fff);--ti-mobile-steps-done-icon-fill-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-done-active-border-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-line-active-bg-color:var(--ti-mobile-color-bg-primary-default, #191919);--ti-mobile-steps-line-height:1px;--ti-mobile-steps-timeline-name-font-size:14px;--ti-mobile-steps-timeline-bg-color-normal:var(--ti-mobile-common-status-bg-color-normal, #fff);--ti-mobile-steps-timeline-bg-color-success:var(--ti-mobile-common-status-bg-color-success, #5bd475);--ti-mobile-steps-timeline-bg-color-error:var(--ti-mobile-common-status-bg-color-error, #eb5454);--ti-mobile-steps-timeline-bg-color-handing:var(--ti-mobile-common-status-bg-color-handing, #4a79fe);--ti-mobile-steps-arrow-btn-border-color:var(--ti-mobile-common-color-text-weaken-dark, #999);color:var(--ti-mobile-steps-timeline-date-time-text-color)}.tiny-mobile-steps .line{background:var(--ti-mobile-steps-line-bg-color)}.tiny-mobile-steps .icon{width:var(--ti-mobile-steps-icon-size);height:var(--ti-mobile-steps-icon-size);line-height:var(--ti-mobile-steps-icon-size);position:relative;text-align:center;left:calc(50% - 10px);top:4px;border-radius:50%;background:var(--ti-mobile-steps-icon-bg-color);color:var(--ti-mobile-steps-unselected-text-color);cursor:pointer;z-index:15}.tiny-mobile-steps .date-time{text-align:center}.tiny-mobile-steps .node-description{position:relative;margin-top:4px;overflow:hidden;text-align:center}.tiny-mobile-steps .node-description .name{font-size:var(--ti-mobile-steps-font-size-base);float:left;width:100%}.tiny-mobile-steps .node-description .status{font-size:var(--ti-mobile-steps-font-size-base);float:left;width:100%}.tiny-mobile-steps .process-done .node-description{color:var(--ti-mobile-steps-done-text-color)}.tiny-mobile-steps .process-done .icon{background:var(--ti-mobile-steps-done-icon-bg-color);color:var(--ti-mobile-steps-done-icon-fill-color);width:var(--ti-mobile-steps-icon-size);height:var(--ti-mobile-steps-icon-size);line-height:var(--ti-mobile-steps-icon-size);font-size:var(--ti-mobile-steps-icon-size)}.tiny-mobile-steps .process-done .icon .tiny-svg{fill:var(--ti-mobile-steps-done-icon-fill-color);vertical-align:baseline;border:1px solid var(--ti-mobile-steps-done-active-border-color);border-radius:50%;padding:2px}.tiny-mobile-steps .process-done .line{background:var(--ti-mobile-steps-line-active-bg-color)}.tiny-mobile-steps .process-current .node-description{color:var(--ti-mobile-steps-done-text-color)}.tiny-mobile-steps .process-current .icon{border:none;background:var(--ti-mobile-steps-advanced-active-bg-color);color:var(--ti-mobile-steps-advanced-li-text-color);font-size:var(--ti-mobile-steps-font-size-base)}.tiny-mobile-steps .process-wait .icon{border:1px solid var(--ti-mobile-steps-unselected-text-color);-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--ti-mobile-steps-font-size-base)}.tiny-mobile-steps .reverse .process-current .line{background:var(--ti-mobile-steps-line-active-bg-color)}.tiny-mobile-steps .tiny-mobile-steps-normal{overflow:hidden}.tiny-mobile-steps .tiny-mobile-steps-normal .normal{display:block;float:left}.tiny-mobile-steps .tiny-mobile-steps-normal .line{height:var(--ti-mobile-steps-line-height);left:50%;top:-6px;position:relative}.tiny-mobile-steps .tiny-mobile-steps-normal .line-end{width:0}.tiny-mobile-steps .tiny-mobile-steps-normal .process-done .line{background:var(--ti-mobile-steps-line-active-bg-color)}.tiny-mobile-steps .tiny-mobile-steps-normal .process-current .name{color:var(--ti-mobile-steps-advanced-active-bg-color);font-weight:700}.tiny-mobile-steps .tiny-mobile-steps-normal .icon{font-weight:600}.tiny-mobile-steps .tiny-mobile-steps-normal .icon span{display:inline-block}.tiny-mobile-steps .tiny-mobile-steps-timeline{overflow:hidden;font-size:var(--ti-mobile-steps-timeline-name-font-size);color:var(--ti-mobile-steps-timeline-date-time-text-color)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline li{position:relative}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .date-time-vertical{width:100px;font-size:10px;line-height:1.2;text-align:right;padding-right:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round{position:relative;width:7px;height:7px;border-radius:50%;z-index:10}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-normal{border:1px solid var(--ti-mobile-steps-unselected-text-color);-webkit-box-sizing:border-box;box-sizing:border-box;background:var(--ti-mobile-steps-timeline-bg-color-normal)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-success{background:var(--ti-mobile-steps-timeline-bg-color-success)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-error{background:var(--ti-mobile-steps-timeline-bg-color-error)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .round-handing{background:var(--ti-mobile-steps-timeline-bg-color-handing)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .name{margin-left:12px;height:36px;line-height:36px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .arrow-btn{position:absolute;cursor:pointer;right:16px;width:20px;height:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .arrow-btn-arrow{width:8px;height:8px;border-color:var(--ti-mobile-steps-arrow-btn-border-color);border-style:solid;border-width:2px 2px 0 0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .header .arrow-btn-arrow-fold{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .content{margin-left:19px;margin-right:10px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .content-left-margin{margin-left:119px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .line{width:var(--ti-mobile-steps-line-height);position:absolute;left:3px;top:0;bottom:0;z-index:1}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .line .tiny-svg{vertical-align:baseline}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .line-left-margin{left:103px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline:first-child .line{top:18px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline:last-child .line{height:18px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .date-time{width:100px;float:left;padding-right:20px;text-align:right}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .date-time .time{display:block;line-height:1}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .date-time .date{display:block;line-height:1;margin-bottom:4px}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline.process-done{color:var(--ti-mobile-steps-done-text-color)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline.process-current{color:var(--ti-mobile-steps-advanced-active-bg-color)}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .name{float:left;margin-left:20px;line-height:1.45em}.tiny-mobile-steps .tiny-mobile-steps-timeline .timeline .icon{top:0}.tiny-mobile-steps.mobile{padding-left:10%}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline{overflow:inherit}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .tiny-icon{font-size:45px}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .timeline .line .icon{width:45px;line-height:45px;height:45px;font-size:var(--ti-mobile-steps-font-size-7);position:relative;left:-20px}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .timeline .name{margin-left:30px;font-size:26px}.tiny-mobile-steps.mobile .tiny-mobile-steps-timeline .timeline>div{margin-left:20px}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index22.js b/admin-website/src/main/resources/static/assets/index22.js
new file mode 100644
index 0000000..c0e9487
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index22.js
@@ -0,0 +1,102 @@
+import { d as defineComponent, a0 as useI18n, r as ref, k as resolveComponent, u as openBlock, v as createElementBlock, l as createVNode, w as createBaseVNode, E as toDisplayString, z as createCommentVNode, H as withCtx, W as unref, J as createTextVNode, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { T as TINYModal, B as Button, _ as _export_sfc } from "./index.js";
+import { T as TimeLine } from "./index38.js";
+import "./chevron-up.js";
+const _imports_0 = "/ui/admin/assets/error.png";
+const _withScopeId = (n) => (pushScopeId("data-v-3543871e"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = { class: "content-main" };
+const _hoisted_4 = {
+  key: 0,
+  class: "result-alert"
+};
+const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "error"
+}, null, -1));
+const _hoisted_6 = { class: "result-btn" };
+const _hoisted_7 = { class: "result-line" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const { t } = useI18n();
+    const active = ref(4);
+    function handleSubmit() {
+      if (active.value < 4) {
+        active.value += 1;
+        TINYModal.message({
+          message: t("menu.result.messageSuccess"),
+          status: "success"
+        });
+      } else {
+        active.value = 4;
+        TINYModal.message({
+          message: t("menu.result.messageEnd"),
+          status: "success"
+        });
+      }
+    }
+    function handleFormReset() {
+      if (active.value === 4) {
+        active.value = 0;
+      }
+    }
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.result", "menu.result.error"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            active.value === 4 ? (openBlock(), createElementBlock("div", _hoisted_4, [
+              _hoisted_5,
+              createBaseVNode("div", null, [
+                createBaseVNode("div", null, toDisplayString(_ctx.$t("menu.result.messageError")), 1),
+                createBaseVNode("div", null, toDisplayString(_ctx.$t("error.result.title")), 1)
+              ])
+            ])) : createCommentVNode("", true),
+            createBaseVNode("div", _hoisted_6, [
+              createVNode(unref(Button), {
+                type: "primary",
+                "native-type": "submit",
+                onClick: handleSubmit
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("error.result.home")), 1)
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Button), { onClick: handleFormReset }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("menu.btn.cancel")), 1)
+                ]),
+                _: 1
+              })
+            ]),
+            createBaseVNode("div", _hoisted_7, [
+              createBaseVNode("div", null, toDisplayString(_ctx.$t("menu.line.process")), 1),
+              createBaseVNode("div", null, [
+                createVNode(unref(TimeLine), {
+                  data: [
+                    { name: unref(t)("stepForm.start.coaching") },
+                    { name: unref(t)("stepForm.immediate.supervisor") },
+                    { name: unref(t)("stepForm.overall.goals") },
+                    { name: unref(t)("stepForm.overall.summary") },
+                    { name: unref(t)("stepForm.overall.end") }
+                  ],
+                  active: active.value,
+                  type: "normal"
+                }, null, 8, ["data", "active"])
+              ])
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_3543871e_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3543871e"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index23.css b/admin-website/src/main/resources/static/assets/index23.css
new file mode 100644
index 0000000..b828296
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index23.css
@@ -0,0 +1,443 @@
+.tiny-tabs__more-dropdown{--ti-tabs-header-font-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tabs-header-font-weight-active:var(--ti-common-font-weight-5, 500);--ti-tabs-header-font-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-tabs-header-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-tabs-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tabs-new-height:calc(var(--ti-common-space-base, 4px) * 4.5);--ti-tabs-new-width:calc(var(--ti-common-space-base, 4px) * 4.5);--ti-tabs-new-svg-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-tabs-more-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-tabs-item-disabled-text-color:#b4bccc;--ti-tabs-new-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-dropdown-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-dropdown-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-dropdown-li-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-tabs-content-font-size:var(--ti-common-font-size-2, 16px);--ti-tabs-height:var(--ti-common-size-10x, 40px);--ti-tabs-header-font-normal-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-dropdown-li-border-color:#e6e6e6;--ti-tabs-header-top-bar-active-bg-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tabs-small-height:var(--ti-common-size-9x, 36px);--ti-tabs-item-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-tabs-item-bottom-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tabs-item-bottom-border-color:var(--ti-common-color-light, #fff);--ti-tabs-item-top-right-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tabs-item-card-active-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-item-card-border-radius:var(--ti-common-border-radius-0, 0px);--ti-tabs-item-card-border-color:var(--ti-common-color-transparent, transparent);--ti-tabs-item-card-hover-font-weight:var(--ti-common-font-weight-5, 500);--ti-tabs-dark-border-radius:var(--ti-common-border-radius-normal, 2px) var(--ti-common-border-radius-normal, 2px) 0 0;--ti-tabs-dark-text-color-active:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-dark-bg-color-active:var(--ti-common-color-bg-normal, #eef0f5);--ti-tabs-dark-text-color-hover:var(--ti-common-color-text-white, #fff);--ti-tabs-dark-bg-color-hover:var(--ti-common-color-bg-dark-emphasize, #5c6173);--ti-tabs-dark-text-color:var(--ti-common-color-text-darkbg, #adb0b8);--ti-tabs-dark-margin-top:calc(var(--ti-common-space-base, 4px) + 1px);--ti-tabs-dark-first-margin-left:var(--ti-common-space-5x, 20px);--ti-tabs-dark-border-weight:var(--ti-common-size-0, 0px);--ti-tabs-header-dark-bg-color:var(--ti-common-color-bg-dark-normal, #464c59);--ti-tabs-dark-item-height:calc(var(--ti-common-space-base, 4px) * 9.25);--ti-tabs-prev-next-btn-icon-size:var(--ti-common-font-size-base, 12px);--ti-tabs-item-margin-right:var(--ti-common-space-10x, 40px);--ti-tabs-item-active-border-style:var(--ti-common-border-style-solid, solid);--ti-tabs-item-bottom-border-style:var(--ti-common-border-style-solid, solid);--ti-tabs-item-font-size:var(--ti-common-font-size-1, 14px);--ti-tabs-header-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-tabs-font-size-base:var(--ti-common-font-size-base, 12px);--ti-tabs-item-vertical-padding-horizontal:var(--ti-common-space-5x, 20px);--ti-tabs-item-active-border-weight:var(--ti-common-border-weight-2, 3px);--ti-tabs-item-active-border-color:var(--ti-tabs-header-font-active-border-color);--ti-tabs-icon-close-hover-bg-color:var(--ti-common-bg-minor-hover, #ffffff);--ti-tabs-icon-close-default-bg-color:var(--ti-common-color-transparent, transparent);--ti-tabs-icon-close-default-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-icon-close-hover-text-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tabs-icon-size-close:var(--ti-common-font-size-1, 14px);--ti-tabs-icon-close-margin-vertical:var(--ti-common-space-0, 0px);--ti-tabs-icon-close-margin-right:var(--ti-common-space-0, 0px);--ti-tabs-icon-close-margin-left:5px;--ti-tabs-dropdown-more-margin-top:var(--ti-common-space-3x, 12px);--ti-tabs-dropdown-more-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tabs-dropdown-more-item-hover-font-weight:var(--ti-common-font-weight-5, 500);--ti-tabs-more-icon-padding-horizontal:8.5px;--ti-tabs-more-icon-height:calc(var(--ti-common-size-base, 4px) * 10.25);--ti-tabs-more-icon-size:var(--ti-common-font-size-2, 16px);--ti-tabs-more-left-box-height:var(--ti-common-size-10x, 40px);--ti-tabs-more-left-box-shadow:-3px 0px 4px 0px rgba(0, 0, 0, 0.08);--ti-tabs-content-margin-vertical:calc(var(--ti-common-space-base, 4px) * 3.75);--ti-tabs-content-margin-horizontal:var(--ti-common-space-6x, 24px);--ti-tabs-button-card-nav-bg-color:rgba(0, 0, 0, 0.05);--ti-tabs-button-card-item-text-color:#595959;--ti-tabs-button-card-item-hover-text-color:#191919;--ti-tabs-button-card-item-font-size:var(--ti-common-font-size-1, 14px);--ti-tabs-button-card-item-height:var(--ti-common-size-8x, 32px);--ti-tabs-button-card-item-active-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-button-card-item-active-text-color:#191919;--ti-tabs-button-card-item-active-border-color:#191919;--ti-tabs-button-card-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-button-card-title-padding-horizontal:var(--ti-common-space-6x, 24px);--ti-tabs-button-card-font-weight:var(--ti-common-font-weight-7, bold)}.tiny-tabs{--ti-tabs-header-font-active-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tabs-header-font-weight-active:var(--ti-common-font-weight-5, 500);--ti-tabs-header-font-active-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-tabs-header-text-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-tabs-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-tabs-new-height:calc(var(--ti-common-space-base, 4px) * 4.5);--ti-tabs-new-width:calc(var(--ti-common-space-base, 4px) * 4.5);--ti-tabs-new-svg-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-tabs-more-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-tabs-item-disabled-text-color:#b4bccc;--ti-tabs-new-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-dropdown-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-dropdown-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-dropdown-li-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-tabs-content-font-size:var(--ti-common-font-size-2, 16px);--ti-tabs-height:var(--ti-common-size-10x, 40px);--ti-tabs-header-font-normal-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-dropdown-li-border-color:#e6e6e6;--ti-tabs-header-top-bar-active-bg-color:var(--ti-common-color-line-active, #5e7ce0);--ti-tabs-small-height:var(--ti-common-size-9x, 36px);--ti-tabs-item-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-tabs-item-bottom-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tabs-item-bottom-border-color:var(--ti-common-color-light, #fff);--ti-tabs-item-top-right-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tabs-item-card-active-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-item-card-border-radius:var(--ti-common-border-radius-0, 0px);--ti-tabs-item-card-border-color:var(--ti-common-color-transparent, transparent);--ti-tabs-item-card-hover-font-weight:var(--ti-common-font-weight-5, 500);--ti-tabs-dark-border-radius:var(--ti-common-border-radius-normal, 2px) var(--ti-common-border-radius-normal, 2px) 0 0;--ti-tabs-dark-text-color-active:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-dark-bg-color-active:var(--ti-common-color-bg-normal, #eef0f5);--ti-tabs-dark-text-color-hover:var(--ti-common-color-text-white, #fff);--ti-tabs-dark-bg-color-hover:var(--ti-common-color-bg-dark-emphasize, #5c6173);--ti-tabs-dark-text-color:var(--ti-common-color-text-darkbg, #adb0b8);--ti-tabs-dark-margin-top:calc(var(--ti-common-space-base, 4px) + 1px);--ti-tabs-dark-first-margin-left:var(--ti-common-space-5x, 20px);--ti-tabs-dark-border-weight:var(--ti-common-size-0, 0px);--ti-tabs-header-dark-bg-color:var(--ti-common-color-bg-dark-normal, #464c59);--ti-tabs-dark-item-height:calc(var(--ti-common-space-base, 4px) * 9.25);--ti-tabs-prev-next-btn-icon-size:var(--ti-common-font-size-base, 12px);--ti-tabs-item-margin-right:var(--ti-common-space-10x, 40px);--ti-tabs-item-active-border-style:var(--ti-common-border-style-solid, solid);--ti-tabs-item-bottom-border-style:var(--ti-common-border-style-solid, solid);--ti-tabs-item-font-size:var(--ti-common-font-size-1, 14px);--ti-tabs-header-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-tabs-font-size-base:var(--ti-common-font-size-base, 12px);--ti-tabs-item-vertical-padding-horizontal:var(--ti-common-space-5x, 20px);--ti-tabs-item-active-border-weight:var(--ti-common-border-weight-2, 3px);--ti-tabs-item-active-border-color:var(--ti-tabs-header-font-active-border-color);--ti-tabs-icon-close-hover-bg-color:var(--ti-common-bg-minor-hover, #ffffff);--ti-tabs-icon-close-default-bg-color:var(--ti-common-color-transparent, transparent);--ti-tabs-icon-close-default-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tabs-icon-close-hover-text-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-tabs-icon-size-close:var(--ti-common-font-size-1, 14px);--ti-tabs-icon-close-margin-vertical:var(--ti-common-space-0, 0px);--ti-tabs-icon-close-margin-right:var(--ti-common-space-0, 0px);--ti-tabs-icon-close-margin-left:5px;--ti-tabs-dropdown-more-margin-top:var(--ti-common-space-3x, 12px);--ti-tabs-dropdown-more-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-tabs-dropdown-more-item-hover-font-weight:var(--ti-common-font-weight-5, 500);--ti-tabs-more-icon-padding-horizontal:8.5px;--ti-tabs-more-icon-height:calc(var(--ti-common-size-base, 4px) * 10.25);--ti-tabs-more-icon-size:var(--ti-common-font-size-2, 16px);--ti-tabs-more-left-box-height:var(--ti-common-size-10x, 40px);--ti-tabs-more-left-box-shadow:-3px 0px 4px 0px rgba(0, 0, 0, 0.08);--ti-tabs-content-margin-vertical:calc(var(--ti-common-space-base, 4px) * 3.75);--ti-tabs-content-margin-horizontal:var(--ti-common-space-6x, 24px);--ti-tabs-button-card-nav-bg-color:rgba(0, 0, 0, 0.05);--ti-tabs-button-card-item-text-color:#595959;--ti-tabs-button-card-item-hover-text-color:#191919;--ti-tabs-button-card-item-font-size:var(--ti-common-font-size-1, 14px);--ti-tabs-button-card-item-height:var(--ti-common-size-8x, 32px);--ti-tabs-button-card-item-active-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-tabs-button-card-item-active-text-color:#191919;--ti-tabs-button-card-item-active-border-color:#191919;--ti-tabs-button-card-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tabs-button-card-title-padding-horizontal:var(--ti-common-space-6x, 24px);--ti-tabs-button-card-font-weight:var(--ti-common-font-weight-7, bold)}.tiny-tabs--left,.tiny-tabs--right,.tiny-tabs__content,.tiny-tabs__nav-scroll,.tiny-tabs__nav-wrap{overflow:hidden}.tiny-tabs__header{padding:0;position:relative;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-tabs__header .tiny-tabs__active-bar{position:absolute;bottom:0;left:0;height:var(--ti-tabs-item-active-border-weight);background-color:var(--ti-tabs-item-active-border-color);z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.tiny-tabs__header .tiny-tabs__new-tab{float:right;border:1px solid var(--ti-tabs-border-color);height:var(--ti-tabs-new-height);line-height:var(--ti-tabs-new-height);width:var(--ti-tabs-new-width);margin:12px 0 9px 10px;border-radius:var(--ti-tabs-new-border-radius);font-size:var(--ti-tabs-font-size-base);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;outline:0}.tiny-tabs__header .tiny-tabs__new-tab svg{fill:var(--ti-tabs-new-svg-text-color)}.tiny-tabs__header .tiny-tabs__new-tab:hover svg{fill:var(--ti-tabs-header-text-color)}.tiny-tabs__header .tiny-tabs__nav-wrap{margin-bottom:-1px;position:relative;width:100%}.tiny-tabs__header .tiny-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-tabs__header .tiny-tabs__nav-wrap-not-separator::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--ti-tabs-border-color);z-index:1}.tiny-tabs__header .tab-dropdown{position:absolute;right:8px;z-index:90;font-size:var(--ti-tabs-item-font-size);-webkit-box-shadow:0 1px 2px 1px rgba(0,0,0,.18);box-shadow:0 1px 2px 1px rgba(0,0,0,.18);background:var(--ti-tabs-dropdown-bg-color);border-radius:var(--ti-tabs-dropdown-border-radius)}.tiny-tabs__header .tab-dropdown:before{position:absolute;display:inline-block;top:-5px;left:44%;width:0;height:0;content:'';border-style:solid;border-width:6px;border-color:#fff #fff transparent transparent;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-box-shadow:1px -1px 1px #e4e4e4;box-shadow:1px -1px 1px #e4e4e4}.tiny-tabs__header .tab-dropdown li{border-bottom:1px solid var(--ti-tabs-dropdown-li-border-color)}.tiny-tabs__header .tab-dropdown li:last-child{border-bottom:none}.tiny-tabs__header .tab-dropdown li a{white-space:nowrap;color:var(--ti-tabs-dropdown-li-text-color);line-height:26px;padding:0 10px;min-width:100px;display:block;font-size:var(--ti-tabs-font-size-base)}.tiny-tabs__header .tab-dropdown li a:hover{color:var(--ti-tabs-more-hover-text-color);text-decoration:none}.tiny-tabs__nav-more{position:absolute;cursor:pointer;height:var(--ti-tabs-height);line-height:var(--ti-tabs-height);font-size:var(--ti-common-font-size-1);right:45px;z-index:99;color:var(--ti-tabs-header-text-color)}.tiny-tabs__nav-next,.tiny-tabs__nav-prev{position:absolute;cursor:pointer;line-height:var(--ti-tabs-height);font-size:var(--ti-tabs-prev-next-btn-icon-size);color:var(--ti-tabs-header-font-normal-text-color)}.tiny-tabs__nav-next{right:0}.tiny-tabs__nav-prev{left:0}.tiny-tabs__nav:not(.is-stretch) .tiny-tabs__item__title{display:inline-block;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.tiny-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.tiny-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tiny-tabs__nav .tiny-tabs__item-separator-space:last-child .tiny-tabs__item-separator{display:none}.tiny-tabs__nav.is-show-active-bar .tiny-tabs__item{margin-right:var(--ti-tabs-item-margin-right)}.tiny-tabs__nav.is-show-active-bar .tiny-tabs__item.tiny-tabs__item-separator-space{margin-right:0}.tiny-tabs__item-separator-space{padding-left:14px;padding-right:14px}.tiny-tabs__item-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.tiny-tabs__item{height:var(--ti-tabs-height);-webkit-box-sizing:border-box;box-sizing:border-box;line-height:var(--ti-tabs-height);display:inline-block;list-style:none;font-size:var(--ti-tabs-item-font-size);color:var(--ti-tabs-header-font-normal-text-color);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.tiny-tabs__item:active,.tiny-tabs__item:focus{outline:0}.tiny-tabs__item.is-active,.tiny-tabs__item:hover{color:var(--ti-tabs-header-font-active-text-color);cursor:pointer}.tiny-tabs__item.is-active .tiny-tabs__icon-close svg,.tiny-tabs__item:hover .tiny-tabs__icon-close svg{fill:var(--ti-tabs-icon-close-hover-text-color)}.tiny-tabs__item.is-active{font-weight:var(--ti-tabs-header-font-weight-active)}.tiny-tabs__item:hover{font-weight:var(--ti-tabs-item-card-hover-font-weight)}.tiny-tabs__item.is-disabled{color:var(--ti-tabs-item-disabled-text-color);cursor:default}.tiny-tabs__item.is-disabled .tiny-tabs__icon-close,.tiny-tabs__item.is-disabled .tiny-tabs__icon-close:hover{background-color:transparent}.tiny-tabs__item.is-disabled .tiny-tabs__icon-close svg,.tiny-tabs__item.is-disabled .tiny-tabs__icon-close:hover svg{fill:var(--ti-tabs-item-disabled-text-color)}.tiny-tabs__item.is-closable>div{display:inline-block}.tiny-tabs__item.is-closable .tiny-tabs__icon-close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:14px;height:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-tabs__item>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-tabs__item .tiny-tabs__icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin:var(--ti-tabs-icon-close-margin-vertical) var(--ti-tabs-icon-close-margin-right) var(--ti-tabs-icon-close-margin-vertical) var(--ti-tabs-icon-close-margin-left);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;background-color:var(--ti-tabs-icon-close-default-bg-color)}.tiny-tabs__item .tiny-tabs__icon-close svg{font-size:var(--ti-tabs-font-size-base);-webkit-transform:scale(.9);transform:scale(.9);vertical-align:middle;fill:var(--ti-tabs-icon-close-default-text-color)}.tiny-tabs__item .tiny-tabs__icon-close:hover{background-color:var(--ti-tabs-icon-close-hover-bg-color)}.tiny-tabs__item .tiny-tabs__icon-close:hover svg{fill:var(--ti-tabs-icon-close-hover-text-color)}.tiny-tabs__content{position:relative;margin:var(--ti-tabs-content-margin-vertical) var(--ti-tabs-content-margin-horizontal);font-size:var(--ti-tabs-content-font-size)}.tiny-tabs .is-show-more{padding:0 48px 0 0}.tiny-tabs__more-container{position:absolute;right:0;font-size:var(--ti-tabs-font-size-base);color:var(--ti-tabs-header-font-normal-text-color);line-height:var(--ti-tabs-height)}.tiny-tabs__more-container .tiny-dropdown__suffix-inner{display:none}.tiny-tabs__more-container .tiny-tabs__more-icon{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;padding:0 var(--ti-tabs-more-icon-padding-horizontal);height:var(--ti-tabs-more-icon-height);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:18px}.tiny-tabs__more-container .tiny-tabs__more-icon::before{content:'';position:absolute;left:0;top:0;display:inline-block;width:4px;height:var(--ti-tabs-more-left-box-height);-webkit-box-shadow:var(--ti-tabs-more-left-box-shadow);box-shadow:var(--ti-tabs-more-left-box-shadow)}.tiny-tabs__more-container .tiny-tabs__more-icon .tiny-svg.icon{font-size:var(--ti-tabs-more-icon-size);vertical-align:middle}.tiny-tabs__more{cursor:pointer;color:var(--ti-tabs-header-text-color);font-size:var(--ti-tabs-item-font-size);outline:0;padding:0 var(--ti-tabs-more-icon-padding-horizontal)}.tiny-tabs__more:hover{color:var(--ti-tabs-more-hover-text-color)}.tiny-tabs__more-dropdown.tiny-dropdown-menu.tiny-popper{margin-top:var(--ti-tabs-dropdown-more-margin-top);overflow:auto}.tiny-tabs__more-dropdown .tiny-tabs__more-item{outline:0}.tiny-tabs__more-dropdown .tiny-tabs__more-item:hover{font-weight:var(--ti-tabs-dropdown-more-item-hover-font-weight);background:var(--ti-tabs-dropdown-more-item-hover-bg-color)}.tiny-tabs.tiny-tabs--large.tiny-tabs--top .tiny-tabs__header .tiny-tabs__nav-wrap .tiny-tabs__nav-scroll .tiny-tabs__nav .tiny-tabs__item{font-size:16px}.tiny-tabs.tiny-tabs--large.tiny-tabs--top .tiny-tabs__header .tiny-tabs__nav-wrap .tiny-tabs__nav-scroll .tiny-tabs__nav .tiny-tabs__item.is-active{font-size:16px}.tiny-tabs.tiny-tabs--card.tiny-tabs--left .tiny-tabs__nav,.tiny-tabs.tiny-tabs--card.tiny-tabs--right .tiny-tabs__nav{width:120px}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:first-child{border-left:var(--ti-tabs-item-top-right-border-weight) solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active{top:-1px;border-bottom:var(--ti-tabs-item-bottom-border-weight) var(--ti-tabs-item-bottom-border-style) var(--ti-tabs-item-bottom-border-color);border-top:var(--ti-tabs-item-top-right-border-weight) solid var(--ti-tabs-border-color);border-left:1px solid var(--ti-tabs-border-color);border-right:var(--ti-tabs-item-top-right-border-weight) solid var(--ti-tabs-border-color);background-color:var(--ti-tabs-item-card-active-bg-color);border-radius:var(--ti-tabs-item-card-border-radius)}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before{left:0;top:0}.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active.is-closable{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active{-webkit-box-shadow:0 -2px 0 0 #fff;box-shadow:0 -2px 0 0 #fff}.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active:before{left:0;bottom:0}.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active.is-closable{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header{border-bottom:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--ti-tabs-item-card-border-color);border-right:var(--ti-tabs-item-top-right-border-weight) solid transparent;border-top:1px solid transparent;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item:first-child{border-left:none}.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__nav{border:1px solid var(--ti-tabs-item-card-border-color);border-bottom:none;top:1px}.tiny-tabs.tiny-tabs--border-card{background:#fff;border-top:1px solid var(--ti-tabs-border-color);-webkit-box-shadow:none;box-shadow:none}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header{background-color:var(--ti-tabs-header-dark-bg-color);border:none;margin:0;border-right:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color);border-bottom:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin:-1px -1px 0;color:var(--ti-tabs-dark-text-color);padding:0 24px;border:none;height:var(--ti-tabs-dark-item-height);margin:var(--ti-tabs-dark-margin-top) 4px 0 0;line-height:var(--ti-tabs-dark-item-height)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item:nth-child(2){padding:0 12px}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active{color:var(--ti-tabs-dark-text-color-active);background-color:var(--ti-tabs-dark-bg-color-active);border-top:none;border-left:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color);border-right:var(--ti-tabs-dark-border-weight) solid var(--ti-tabs-border-color);border-bottom-color:#fff;border-radius:var(--ti-tabs-dark-border-radius)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before{left:0;top:0}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active.is-closable{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item:not(.is-active):hover{border-color:var(--ti-tabs-border-color);color:var(--ti-tabs-dark-text-color-hover);background:var(--ti-tabs-dark-bg-color-hover)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item:first-child{margin-left:var(--ti-tabs-dark-first-margin-left);border-left:none}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__nav-prev{fill:var(--ti-common-color-icon-white)}.tiny-tabs.tiny-tabs--border-card .tiny-tabs--border-card .tiny-tabs--bottom{border-top:0}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__nav-wrap::after{background-color:transparent}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__nav{background-color:var(--ti-tabs-button-card-nav-bg-color);border-radius:var(--ti-tabs-button-card-border-radius)}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item{color:var(--ti-tabs-button-card-item-text-color);font-size:var(--ti-tabs-button-card-item-font-size);height:var(--ti-tabs-button-card-item-height);line-height:var(--ti-tabs-button-card-item-height);border:1px solid transparent}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item:hover{color:var(--ti-tabs-button-card-item-hover-text-color);font-weight:var(--ti-tabs-button-card-font-weight)}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item.is-active{background-color:var(--ti-tabs-button-card-item-active-bg-color);color:var(--ti-tabs-button-card-item-active-text-color);border:1px solid var(--ti-tabs-button-card-item-active-border-color);border-radius:var(--ti-tabs-button-card-border-radius);font-weight:var(--ti-tabs-button-card-font-weight)}.tiny-tabs.tiny-tabs--button-card .tiny-tabs__item__title{padding:0 var(--ti-tabs-button-card-title-padding-horizontal)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active:before,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before,.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item.is-active:before,.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item.is-active:before{position:absolute;content:'';width:100%;height:3px;background:var(--ti-tabs-header-top-bar-active-bg-color)}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close,.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close,.tiny-tabs.tiny-tabs--card.tiny-tabs--top>.tiny-tabs__header .tiny-tabs__item .tiny-tabs__icon-close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--ti-tabs-icon-size-close);height:var(--ti-tabs-icon-size-close);line-height:var(--ti-tabs-icon-size-close);vertical-align:middle;overflow:hidden;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.tiny-tabs.tiny-tabs--border-card.tiny-tabs--bottom .is-scrollable,.tiny-tabs.tiny-tabs--border-card.tiny-tabs--top .is-scrollable,.tiny-tabs.tiny-tabs--card.tiny-tabs--bottom .is-scrollable,.tiny-tabs.tiny-tabs--card.tiny-tabs--top .is-scrollable{padding:0 24px}.tiny-tabs.tiny-tabs--border-card>.tiny-tabs__header .tiny-tabs__nav-wrap:after,.tiny-tabs.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__nav-wrap:after{content:none}.tiny-tabs.tiny-tabs--small .tiny-tabs__item{height:var(--ti-tabs-small-height);line-height:var(--ti-tabs-small-height)}.tiny-tabs.tiny-tabs--small .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--small .tiny-tabs__nav-prev{line-height:var(--ti-tabs-small-height);font-size:var(--ti-tabs-prev-next-btn-icon-size)}.tiny-tabs.tiny-tabs--left .tiny-tabs__header{float:left;margin-bottom:0;margin-right:10px}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap{margin-right:-1px}.tiny-tabs.tiny-tabs--left .tiny-tabs__item{text-align:left;padding:0 var(--ti-tabs-item-vertical-padding-horizontal)}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item{border-left:1px solid var(--ti-tabs-border-color);border-right:1px solid var(--ti-tabs-border-color);border-top:1px solid var(--ti-tabs-border-color);background-color:var(--ti-tabs-header-bg-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item:first-child{border-top:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item.is-active{border-right-color:transparent;border-left:var(--ti-tabs-item-active-border-weight) var(--ti-tabs-item-active-border-style) var(--ti-tabs-item-active-border-color);border-bottom:none;background:0 0}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item.is-active:first-child{border-top:none;border-right-color:transparent}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item.is-active:last-child{border-bottom:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__nav{border-right:none;border-left:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__new-tab{float:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__header{border-right:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item{border:1px solid transparent;margin:-1px -1px -1px 0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item.is-active{border:1px solid var(--ti-tabs-border-color);border-left:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .tiny-tabs__item{margin:-1px}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .tiny-tabs__item.is-bottom.is-active{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap::after{right:auto;left:0}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-scroll{height:100%}.tiny-tabs.tiny-tabs--right .tiny-tabs__header{float:right;margin-bottom:0;margin-left:10px}.tiny-tabs.tiny-tabs--right .tiny-tabs__header.is-left{margin-left:0}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap{margin-left:-1px}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-left{margin-left:0}.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap:after{left:0;right:auto}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item{border-top:1px solid var(--ti-tabs-border-color);border-bottom:none;background-color:var(--ti-tabs-header-bg-color);padding:0 var(--ti-tabs-item-vertical-padding-horizontal)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active{border-left-color:transparent;border-right:var(--ti-tabs-item-active-border-weight) var(--ti-tabs-item-active-border-style) var(--ti-tabs-item-active-border-color);background:0 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active:first-child{border-left:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active:last-child{border-bottom:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active.is-bottom{border-top:0;border-right:0;border-left-color:var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-active.is-bottom:first-child{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item:first-child{border-left:1px solid var(--ti-tabs-border-color);border-top:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-bottom:first-child{border-top:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-bottom.is-active:first-child{border-top:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-bottom,.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__item.is-top{background:0 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__nav{border-bottom:1px solid var(--ti-tabs-border-color);border-left:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs__nav.is-bottom{border-top:none}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__header{margin-left:0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__item{border-top:none;border-bottom:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__item.is-active{top:0;border-right:0;border-left-color:var(--ti-tabs-border-color);border-bottom:1px solid #fff}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tab-pane .tiny-tabs--top .tiny-tabs__item.is-active:first-child{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-top{margin:0 0 -1px -1px}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-top.is-active{border-right:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-bottom{margin:-1px}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-bottom.is-active{border-right:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-right{margin:-1px 0 -1px 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__item.is-right.is-active{border-top:1px solid var(--ti-tabs-border-color);border-bottom:1px solid var(--ti-tabs-border-color);border-right:3px solid var(--ti-tabs-header-font-active-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--card .tiny-tabs--border-card .tiny-tabs__nav.is-bottom{border-bottom:0}.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__header{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__item{border:1px solid transparent;margin:-1px -1px -1px 0}.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__item.is-active{border-color:var(--ti-tabs-border-color) transparent}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__active-bar{left:auto;right:0}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__active-bar.is-bottom{left:0}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__active-bar.is-left{left:0;right:auto}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__nav-wrap::after{left:auto;right:0}.tiny-tabs.tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__nav-wrap.is-left::after{left:0;right:auto}.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-bottom{margin-left:0}.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item{border-bottom:0;background-color:transparent}.tiny-tabs.tiny-tabs--right .tiny-tabs--bottom:not(.tiny-tabs--card) .tiny-tabs__item{border-top:0;background-color:transparent}.tiny-tabs.tiny-tabs--right .tiny-tabs--left.tiny-tabs--card .tiny-tabs__item.is-active:first-child{border-left:3px solid var(--ti-tabs-header-font-active-border-color);border-right:0}.tiny-tabs.tiny-tabs--right .tiny-tabs--left:not(.tiny-tabs--card) .tiny-tabs__nav,.tiny-tabs.tiny-tabs--right .tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__nav{border-bottom:0}.tiny-tabs.tiny-tabs--right .tiny-tabs--left:not(.tiny-tabs--card) .tiny-tabs__item,.tiny-tabs.tiny-tabs--right .tiny-tabs--right:not(.tiny-tabs--card) .tiny-tabs__item{border:0;background-color:transparent}.tiny-tabs.tiny-tabs--right .tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item.is-active{border:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--right .tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__item.is-active.is-left{border-left:3px solid var(--ti-tabs-header-font-active-border-color)}.tiny-tabs.tiny-tabs--left .tiny-tabs__header,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--right .tiny-tabs__header,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap{height:100%}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar,.tiny-tabs.tiny-tabs--right .tiny-tabs__active-bar{top:1px;bottom:auto;width:2px;height:auto}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar.is-top,.tiny-tabs.tiny-tabs--right .tiny-tabs__active-bar.is-top{height:3px;bottom:0;left:0;top:auto}.tiny-tabs.tiny-tabs--left .tiny-tabs__active-bar.is-bottom,.tiny-tabs.tiny-tabs--right .tiny-tabs__active-bar.is-bottom{top:auto;bottom:0;height:3px}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap{margin-bottom:0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap.is-scrollable,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-scrollable{padding:30px 0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap::after,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap::after{height:100%;width:2px;bottom:auto;top:0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap.is-top::after,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-top::after{left:0;bottom:0;top:auto;width:100%;height:1px}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-wrap.is-bottom:after,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-wrap.is-bottom:after{left:0;bottom:0;top:auto;width:100%;height:1px;background-color:#d9d9d9;z-index:1}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav{float:none}.tiny-tabs.tiny-tabs--left .tiny-tabs__item,.tiny-tabs.tiny-tabs--right .tiny-tabs__item{display:block;font-size:var(--ti-tabs-font-size-base)}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-next i,.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-prev i,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-next i,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-prev{left:auto;top:0}.tiny-tabs.tiny-tabs--left .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--right .tiny-tabs__nav-next{right:auto;bottom:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap{float:inherit;margin-bottom:-1px}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-bottom,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-top,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-bottom,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-top,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-bottom,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-top,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-bottom,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-top{float:none;margin-right:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-left,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-left,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-left,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-left{float:left;margin-bottom:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__header.is-right,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav-wrap.is-right,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__header.is-right,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav-wrap.is-right{float:right;margin-bottom:0;margin-right:0}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__item,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__item{display:inline-block}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__item.is-left,.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__item.is-right,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__item.is-left,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__item.is-right{display:inherit}.tiny-tabs.tiny-tabs--left .tiny-tab-pane .tiny-tabs__nav,.tiny-tabs.tiny-tabs--right .tiny-tab-pane .tiny-tabs__nav{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card{border-top:0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__nav-wrap.is-scrollable,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__nav-wrap.is-scrollable{padding:0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__nav-prev{display:none}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs__header,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs__header{border:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__header,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__header{border-top:0;border-left:0}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__item.is-active,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs--border-card .is-top.tiny-tabs__item.is-active{border-left:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--left.tiny-tabs--border-card .tiny-tabs--border-card .is-bottom.tiny-tabs__header,.tiny-tabs.tiny-tabs--right.tiny-tabs--border-card .tiny-tabs--border-card .is-bottom.tiny-tabs__header{border-left:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs__header{margin-bottom:0;margin-top:10px}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card{border-top:0}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__header{background:var(--ti-tabs-header-bg-color);border-bottom:1px solid var(--ti-tabs-border-color);border-right:1px solid var(--ti-tabs-border-color);border-top:1px solid var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__nav-wrap{margin-top:-1px;margin-bottom:0}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__nav-wrap.is-top{margin-bottom:-1px}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__item{border:1px solid transparent;margin:0 -1px -1px}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__item.is-active{background-color:var(--ti-tabs-dropdown-bg-color);border-right-color:var(--ti-tabs-border-color);border-left-color:var(--ti-tabs-border-color)}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs__item.is-active:before{left:0;bottom:0}.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card .tiny-tabs--border-card{border-top:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header{background:0 0;border:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-left .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-left .tiny-tabs__nav-prev,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-right .tiny-tabs__nav-next,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-right .tiny-tabs__nav-prev{display:none}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-left .tiny-tabs__nav-wrap,.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__header.is-right .tiny-tabs__nav-wrap{padding:0}.tiny-tabs.tiny-tabs--bottom .tiny-tabs:not(.tiny-tabs--border-card):not(.tiny-tabs--card) .tiny-tabs__item.is-active{background-color:transparent;border:none}.tiny-tabs.tiny-tabs--top .tiny-tabs__item-separator{width:1px;height:12px;display:inline-block;position:relative;left:14px;top:2px;background-color:#dfdfdf}.tiny-tabs.tiny-tabs--bottom .tiny-tabs--left>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--bottom .tiny-tabs--right>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--bottom.tiny-tabs--border-card>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--bottom.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item,.tiny-tabs.tiny-tabs--top .tiny-tabs--left>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top .tiny-tabs--right>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top.tiny-tabs--border-card>.tiny-tabs__header .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top.tiny-tabs--card>.tiny-tabs__header .tiny-tabs__item{padding:0 var(--ti-tabs-item-padding-horizontal)}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item,.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item{padding-left:0}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space,.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space{padding-left:14px;padding-right:14px}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:nth-child(2),.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:nth-child(2){margin-left:0}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:not(:nth-child(2)),.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item-separator-space:not(:nth-child(2)){margin-left:1px}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item.is-left,.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item.is-left{padding:0 24px}.tiny-tabs.tiny-tabs--bottom:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item:nth-child(2),.tiny-tabs.tiny-tabs--top:not(.tiny-tabs--card):not(.tiny-tabs--border-card) .tiny-tabs__item:nth-child(2){padding-left:0}.tiny-tabs .slideInLeft-transition,.tiny-tabs .slideInRight-transition{display:inline-block}.tiny-tabs .slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.tiny-tabs .slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.tiny-tabs .slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.tiny-tabs .slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}:root{--ti-mobile-color-brand-1:#1f1b1b;--ti-mobile-color-brand-2:#1476ff;--ti-mobile-color-bg-default:#f5f5f5;--ti-mobile-color-bg-active:#f5f5f5;--ti-mobile-color-bg-disabled:#f0f0f0;--ti-mobile-color-bg-control-active:#1476ff;--ti-mobile-color-bg-control-default:#c2c2c2;--ti-mobile-color-bg-control-disabled-1:#dbdbdb;--ti-mobile-color-bg-control-disabled-2:#b3d6ff;--ti-mobile-color-bg-container-1:#fff;--ti-mobile-color-bg-container-2:#fafafa;--ti-mobile-color-bg-topnavigation:#fff;--ti-mobile-color-bg-topnavigation-active:#595959;--ti-mobile-color-bg-primary-default:#191919;--ti-mobile-color-bg-primary-active:#595959;--ti-mobile-color-bg-mask:#0000004b;--ti-mobile-color-bg-cell-active:#f0f7ff;--ti-mobile-color-text-primary:#191919;--ti-mobile-color-text-secondary:#595959;--ti-mobile-color-text-placeholder:#808080;--ti-mobile-color-text-disabled:#c2c2c2;--ti-mobile-color-text-inverse:#fff;--ti-mobile-color-text-brand:#191919;--ti-mobile-color-text-link:#1476ff;--ti-mobile-color-icon-control:#191919;--ti-mobile-color-icon-default:#808080;--ti-mobile-color-icon-active:#191919;--ti-mobile-color-icon-disabled:#c2c2c2;--ti-mobile-color-icon-link:#1476ff;--ti-mobile-color-icon-inverse:#fff;--ti-mobile-color-border-default:#c2c2c2;--ti-mobile-color-border-default-2:#595959;--ti-mobile-color-border-active:#191919;--ti-mobile-color-border-disabled:#dbdbdb;--ti-mobile-color-border-divider:#f0f0f0;--ti-mobile-color-border-dash:#191919;--ti-mobile-color-success:#5cb300;--ti-mobile-color-success-subtle:#e6f2d5;--ti-mobile-color-error:#f23030;--ti-mobile-color-error-subtle:#fce3e1;--ti-mobile-color-warning:#ff8800;--ti-mobile-color-warning-subtle:#ffebd1;--ti-mobile-color-info:#1476ff;--ti-mobile-color-info-subtle:#deecff;--ti-mobile-color-none:#c2c2c2;--ti-mobile-color-alert-fatal:#b50e65;--ti-mobile-color-alert-error:#f23030;--ti-mobile-color-alert-warning:#ff8800;--ti-mobile-color-alert-secondary:#ffb700;--ti-mobile-color-alert-ordinary:#f2e70c;--ti-mobile-color-chart-1:#1476ff;--ti-mobile-color-chart-2:#0bb8b2;--ti-mobile-color-chart-3:#6e51e0;--ti-mobile-color-chart-4:#5cb300;--ti-mobile-color-chart-5:#fcb1e1;--ti-mobile-color-chart-6:#33bcf2;--ti-mobile-color-chart-7:#ba53e6;--ti-mobile-color-chart-8:#eb4696;--ti-mobile-color-chart-9:#c2c2c2;--ti-mobile-font-size-xs:10px;--ti-mobile-font-size-s:12px;--ti-mobile-font-size-m:14px;--ti-mobile-font-size-l:16px;--ti-mobile-font-size-xl:18px;--ti-mobile-font-size-2xl:20px;--ti-mobile-font-size-3xl:24px;--ti-mobile-font-size-4xl:30px;--ti-mobile-font-size-5xl:38px;--ti-mobile-font-size-6xl:48px;--ti-mobile-font-weight-regular:400;--ti-mobile-font-weight-medium:500;--ti-mobile-font-family:'HarmonySans','鸿蒙黑体','NotoSans','Helvetica','Arial','PingFangSC-Regular','Hiragino Sans GB','Microsoft YaHei','微软雅黑','Microsoft JhengHei';--ti-mobile-space-1x:4px;--ti-mobile-space-2x:8px;--ti-mobile-space-3x:12px;--ti-mobile-space-4x:16px;--ti-mobile-space-5x:20px;--ti-mobile-space-6x:24px;--ti-mobile-space-8x:32px;--ti-mobile-space-12x:48px;--ti-mobile-space-16x:64px;--ti-mobile-border-radius-xs:2px;--ti-mobile-border-radius-s:4px;--ti-mobile-border-radius-m:8px;--ti-mobile-border-radius-l:12px;--ti-mobile-border-radius-xl:16px;--ti-mobile-border-radius-xxl:24px;--ti-mobile-border-radius-full:9999px;--ti-mobile-border-width-1:1px;--ti-mobile-border-style-solid:solid;--ti-mobile-border-style-dash:dash;--ti-mobile-shadow-xs:0 0 4px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-s:0 0 20px 0 rgba(0, 0, 0, 0.08);--ti-mobile-shadow-m:0 10px 20px 0 rgba(0, 0, 0, 0);--ti-mobile-shadow-l:0 10px 50px 0 rgba(0, 0, 0, 0);--ti-mobile-base-color-brand-1:#4a79fe;--ti-mobile-base-color-brand-2:#3168f1;--ti-mobile-base-color-brand-3:#6e94fe;--ti-mobile-base-color-brand-4:#92affe;--ti-mobile-base-color-brand-5:#b7c9ff;--ti-mobile-base-color-brand-6:#95a2f8;--ti-mobile-base-color-brand-6:#ffffff;--ti-mobile-base-color-bg-1:#f5f5f5;--ti-mobile-base-color-bg-2:#fafafa;--ti-mobile-base-color-bg-3:#ffffff;--ti-mobile-base-color-common-1:#000000;--ti-mobile-base-color-common-2:#191919;--ti-mobile-base-color-common-3:#262626;--ti-mobile-base-color-common-4:#333333;--ti-mobile-base-color-common-5:#595959;--ti-mobile-base-color-common-6:#999999;--ti-mobile-base-color-common-7:#c2c2c2;--ti-mobile-base-color-common-8:#dbdbdb;--ti-mobile-base-color-common-9:#ededed;--ti-mobile-base-color-common-10:#f5f5f5;--ti-mobile-base-color-common-11:#fafafa;--ti-mobile-base-color-common-12:#ffffff;--ti-mobile-base-color-common-13:#627199;--ti-mobile-common-color-warning-figure-1:#eb4096;--ti-mobile-common-color-warning-text-1:#e61c81;--ti-mobile-common-color-warning-figure-2:#ff9c32;--ti-mobile-common-color-warning-text-2:#ff8800;--ti-mobile-common-color-warning-figure-3:#1ebe40;--ti-mobile-common-color-warning-text-3:#00b336;--ti-mobile-common-color-error-figure-1:#eb5454;--ti-mobile-common-color-error-text-1:#e62222;--ti-mobile-common-color-error-figure-2:#fccd32;--ti-mobile-common-color-error-text-2:#fcbe1e;--ti-mobile-common-color-error-figure-3:#1e8aff;--ti-mobile-common-color-error-text-3:#1476ff;--ti-mobile-common-color-error-figure-4:#c2c2c2;--ti-mobile-common-color-error-text-4:#999999;--ti-mobile-common-color-chart-1:#1476ff;--ti-mobile-common-color-chart-2:#10c7c1;--ti-mobile-common-color-chart-3:#b878f0;--ti-mobile-common-color-chart-4:#d6a981;--ti-mobile-common-color-chart-5:#c1cc7a;--ti-mobile-common-color-text-primary:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-text-secondary:var(--ti-mobile-base-color-common-5);--ti-mobile-common-color-text-weaken-dark:var(--ti-mobile-base-color-common-6);--ti-mobile-common-color-text-weaken-ligtht:var(--ti-mobile-base-color-common-7);--ti-mobile-common-color-text-weaken-disabled:var(--ti-mobile-base-color-common-8);--ti-mobile-common-color-text-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-text-placeholder-primary:#dbe5fc;--ti-mobile-common-color-text-placeholder-gray:#acacac;--ti-mobile-common-color-text-high-light:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-dark:var(--ti-mobile-base-color-common-2);--ti-mobile-common-color-link-highlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-link-gray:var(--ti-mobile-base-color-common-13);--ti-mobile-common-color-link-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-line-hightlight:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-color-line-dark:var(--ti-mobile-base-color-common-9);--ti-mobile-common-color-line-light:var(--ti-mobile-base-color-common-10);--ti-mobile-common-color-line-white:var(--ti-mobile-base-color-common-12);--ti-mobile-common-color-mask-light:rgba(0, 0, 0, 0.5);--ti-mobile-common-color-mask-dark:rgba(0, 0, 0, 0.75);--ti-mobile-common-bg-color-white:var(--ti-mobile-base-color-bg-3);--ti-mobile-common-bg-color-main:var(--ti-mobile-base-color-brand-1);--ti-mobile-common-bg-color-light:var(--ti-mobile-base-color-bg-2);--ti-mobile-common-bg-color-blue-1:var(--ti-mobile-base-color-brand-2);--ti-mobile-common-bg-color-disabled:#e8e8e8;--ti-mobile-common-bg-color-dark-gray:var(--ti-mobile-base-color-bg-1);--ti-mobile-common-bg-color-weaken:var(--ti-mobile-base-color-common-8);--ti-mobile-common-status-bg-color-success:#5bd475;--ti-mobile-common-status-bg-color-error:#eb5454;--ti-mobile-common-status-bg-color-normal:#fff;--ti-mobile-common-status-bg-color-handing:var(--ti-mobile-base-color-brand-1)}.tiny-mobile-tabs{--ti-mobile-tabs-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-tabs-bg-color:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-tabs-content-bg-color:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-tabs-font-size:var(--ti-mobile-font-size-m, 14px);--ti-mobile-tabs-header-height:56px;--ti-mobile-tabs-new-tab-width:44px;--ti-mobile-tabs-icon-font-size:var(--ti-mobile-font-size-3xl, 24px);--ti-mobile-tabs-icon-color:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-tabs-expand-icon-width:56px;--ti-mobile-tabs-item-margin-right:var(--ti-mobile-space-6x, 24px);--ti-mobile-tabs-item-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-tabs-item-text-color:var(--ti-mobile-color-text-secondary, #595959);--ti-mobile-tabs-item-text-color-active:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-tabs-item-text-color-disabled:var(--ti-mobile-color-text-disabled, #c2c2c2);--ti-mobile-tabs-item-text-font-weight:var(--ti-mobile-font-weight-medium, 500);--ti-mobile-tabs-line-margin-top:var(--ti-mobile-space-1x, 4px);--ti-mobile-tabs-line-height:2px;--ti-mobile-tabs-line-bg-color-active:var(--ti-mobile-color-bg-navigation-active, #191919);--ti-mobile-tabs-small-header-height:40px;--ti-mobile-tabs-item-small-font-size:var(--ti-mobile-font-size-s, 12px);--ti-mobile-tabs-expand-tab-font-color-active:var(--ti-mobile-color-text-link, #1476ff);--ti-mobile-tabs-expand-tab-bg-color-active:var(--ti-mobile-color-bg-cell-active, #f0f7ff);position:relative}.tiny-mobile-tabs-small .tiny-mobile-tabs__header{height:var(--ti-mobile-tabs-small-header-height)}.tiny-mobile-tabs-small .tiny-mobile-tabs__item{font-size:var(--ti-mobile-tabs-item-small-font-size);line-height:var(--ti-mobile-tabs-small-header-height)}.tiny-mobile-tabs-small .tiny-mobile-tabs__line{bottom:calc((var(--ti-mobile-tabs-small-header-height) - var(--ti-mobile-tabs-item-font-size)) * .5 - var(--ti-mobile-tabs-line-margin-top) - var(--ti-mobile-tabs-line-height))}.tiny-mobile-tabs-small .tiny-mobile-tabs__expand{height:var(--ti-mobile-tabs-small-header-height);line-height:var(--ti-mobile-tabs-small-header-height);width:var(--ti-mobile-tabs-small-header-height)}.tiny-mobile-tabs__header{background:var(--ti-mobile-tabs-bg-color);position:relative}.tiny-mobile-tabs__content{overflow:hidden;font-size:var(--ti-mobile-tabs-font-size);color:var(--ti-mobile-tabs-text-color);background:var(--ti-mobile-tabs-content-bg-color)}.tiny-mobile-tabs__new-tab{position:absolute;right:0;top:0;bottom:0;width:var(--ti-mobile-tabs-new-tab-width);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-tabs__new-tab:focus{outline:0}.tiny-mobile-tabs__new-tab svg{font-size:var(--ti-mobile-tabs-icon-font-size);fill:var(--ti-mobile-tabs-icon-color)}.tiny-mobile-tabs__new-tab+.tiny-mobile-tabs__nav-wrap{width:calc(100% - var(--ti-mobile-tabs-new-tab-width))}.tiny-mobile-tabs__nav-wrap{position:relative}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__item{-webkit-box-flex:0;-ms-flex:0 0 22%;flex:0 0 22%}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav{overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav::-webkit-scrollbar{display:none}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav-scroll:before{position:absolute;content:'';top:0;bottom:0;left:0;width:11%;background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));border-radius:16px 0 0 0;z-index:2}.tiny-mobile-tabs__nav-wrap.tiny-mobile-tabs__wrap-scrollable .tiny-mobile-tabs__nav-scroll:after{position:absolute;content:'';top:0;bottom:0;right:0;width:11%;background:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(90deg,hsla(0,0%,100%,0),#fff);border-radius:0 16px 0 0;z-index:2}.tiny-mobile-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-mobile-tabs__item{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;height:100%;margin-right:var(--ti-mobile-tabs-item-margin-right);line-height:var(--ti-mobile-tabs-header-height);font-size:var(--ti-mobile-tabs-item-font-size);color:var(--ti-mobile-tabs-item-text-color);cursor:pointer;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;font-weight:400}.tiny-mobile-tabs__name{display:inline-block;line-height:1}.tiny-mobile-tabs__item.is-active .tiny-mobile-tabs__name{color:var(--ti-mobile-tabs-item-text-color-active);font-weight:var(--ti-mobile-tabs-item-text-font-weight);position:relative}.tiny-mobile-tabs__item.is-disabled .tiny-mobile-tabs__name{color:var(--ti-mobile-tabs-item-text-color-disabled)}.tiny-mobile-tabs__line{position:absolute;bottom:calc((var(--ti-mobile-tabs-header-height) - var(--ti-mobile-tabs-item-font-size)) * .5 - var(--ti-mobile-tabs-line-margin-top) - var(--ti-mobile-tabs-line-height));left:0;z-index:1;width:20px;height:var(--ti-mobile-tabs-line-height);background-color:var(--ti-mobile-tabs-line-bg-color-active);border-radius:3px;-webkit-transition-duration:.3s;transition-duration:.3s}.tiny-mobile-tabs__expand-icon{position:absolute;top:0;right:0;z-index:3}.tiny-mobile-tabs__expand{display:inline-block;font-size:14px;height:var(--ti-mobile-tabs-header-height);line-height:var(--ti-mobile-tabs-header-height);width:var(--ti-mobile-tabs-header-height);text-align:center;z-index:9999}.tiny-mobile-tabs__expand svg{fill:#595959}.tiny-mobile-tabs__expand-content{position:absolute;background:#f5f5f5;z-index:500}.tiny-mobile-tabs__expand-mask{height:22px}.tiny-mobile-tabs__expand-header{height:48px;border-radius:16px 16px 0 0;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.06) inset;box-shadow:0 -1px 0 0 rgba(0,0,0,.06) inset;background:#fff;color:#595959;font-size:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-mobile-tabs__expand-header-title{display:inline-block;padding-left:16px}.tiny-mobile-tabs__expand-list{width:100%;max-height:160px;overflow-y:auto;border-radius:0 0 16px 16px;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.06) inset;box-shadow:0 -1px 0 0 rgba(0,0,0,.06) inset;background:#fff;padding:16px}.tiny-mobile-tabs__expand-item{margin-bottom:10px;padding-left:10px;padding-right:10px}.tiny-mobile-tabs__expand-item:focus{outline:0}.tiny-mobile-tabs__expand-item.tiny-mobile-tabs__expand-mode-columns{width:33.33%;display:inline-block}.tiny-mobile-tabs__expand-item .tiny-mobile-tabs__expand-item-title{height:36px;line-height:36px;text-align:center;font-size:13px;color:#191919;font-weight:400;border-radius:6px;background:rgba(0,0,0,.04);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 5px}.tiny-mobile-tabs__expand-item-title.is-current{background:var(--ti-mobile-tabs-expand-tab-bg-color-active);color:var(--ti-mobile-tabs-expand-tab-font-color-active);font-weight:500}.tiny-mobile-tabs__icon-close{margin-left:5px}.option[data-v-d3437e1d] {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: start;
+  padding: 10px 3px;
+}
+.option .required[data-v-d3437e1d] {
+  margin-top: 5px;
+  color: #be1818;
+  font-size: 140%;
+}
+.option span[data-v-d3437e1d] {
+  width: 70px;
+  height: 18px;
+  font-size: 14px;
+}
+.option[data-v-3e258a22] {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: start;
+  padding: 10px 3px;
+}
+.option .required[data-v-3e258a22] {
+  margin-top: 5px;
+  color: #be1818;
+  font-size: 140%;
+}
+.option span[data-v-3e258a22] {
+  width: 70px;
+  height: 18px;
+  font-size: 14px;
+}
+.option[data-v-17ff8179] {
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+  padding: 10px 3px;
+}
+.option .required[data-v-17ff8179] {
+  margin-top: 5px;
+  color: #be1818;
+  font-size: 140%;
+}
+.option span[data-v-17ff8179] {
+  width: 110px;
+  height: 18px;
+  font-size: 14px;
+}
+.option[data-v-549c1142] {
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+  padding: 10px 3px;
+}
+.option .required[data-v-549c1142] {
+  margin-top: 5px;
+  color: #be1818;
+  font-size: 140%;
+}
+.option span[data-v-549c1142] {
+  width: 110px;
+  height: 18px;
+  font-size: 14px;
+}
+button[data-v-67ec3d9a] {
+  margin-top: 10%;
+  margin-left: 35%;
+}
+.card[data-v-e52c6f21] {
+  display: flex;
+  justify-content: space-between;
+  margin: 16px 0;
+  text-align: center;
+}
+.card .col[data-v-e52c6f21] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  width: 360px;
+  height: 138px;
+  background: #eff1f7;
+  border-radius: 10px;
+  opacity: 1.6;
+}
+.card .col[data-v-e52c6f21]:hover {
+  box-shadow: 0 3px 10px 0 rgba(64, 98, 225, 0.45);
+}
+.card .col div[data-v-e52c6f21]:first-child {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding-right: 20px;
+}
+.card .col div:first-child span[data-v-e52c6f21] {
+  height: 14px;
+  color: #5c5f66;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 14px;
+  text-align: left;
+}
+.card .col div:first-child img[data-v-e52c6f21] {
+  width: 36px;
+  height: 36px;
+  margin-right: 10px;
+}
+.card .font[data-v-e52c6f21] {
+  font-weight: 600;
+  font-size: 48px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.card .plan-pass[data-v-e52c6f21] {
+  color: rgba(82, 196, 26, 0.8);
+  font-weight: 600;
+  font-size: 48px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.card .plan-fail[data-v-e52c6f21] {
+  color: #d0d321;
+  font-weight: 600;
+  font-size: 48px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.card .plan-overdue[data-v-e52c6f21] {
+  color: #5da6a8;
+  font-weight: 600;
+  font-size: 48px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+.card .plan-limit[data-v-e52c6f21] {
+  color: #ff0800;
+  font-weight: 600;
+  font-size: 48px;
+  font-family: PingFang SC, PingFang SC-PingFang SC;
+  line-height: 36px;
+  text-align: left;
+}
+@media (max-width: 1800px) {
+.card .col[data-v-e52c6f21] {
+    width: 260px;
+}
+}
+.table[data-v-330389cd] {
+  padding-bottom: 20px;
+  background-color: #fff;
+}
+.chart[data-v-6dde2c6d] {
+  display: flex;
+  flex-direction: row;
+  width: 100%;
+  overflow-x: auto;
+  background-color: #fff;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+.chart .list[data-v-6dde2c6d] {
+  position: relative;
+  display: inline-block;
+  flex-shrink: 0;
+  box-sizing: border-box;
+  width: 180px;
+  border-right: -0.1px solid #d9d9d9;
+  border-left: 1px solid #d9d9d9;
+}
+.chart .list h4[data-v-6dde2c6d] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 40px;
+  margin: 0;
+  padding: 0;
+  font-size: 14px;
+  background: #eff1f7;
+}
+.chart .cardold[data-v-6dde2c6d] {
+  display: flex;
+  justify-content: start;
+  box-sizing: border-box;
+  height: 45px;
+  margin: 13px 0;
+  padding: 15px 15px;
+  background-color: #fff;
+  border-radius: 0 6px 6px 0;
+}
+.chart .cardold img[data-v-6dde2c6d] {
+  width: 14px;
+  height: 14px;
+}
+.chart .cardnew[data-v-6dde2c6d] {
+  position: relative;
+  z-index: 10;
+  display: flex;
+  justify-content: start;
+  box-sizing: border-box;
+  height: 45px;
+  margin: 13px 0;
+  padding: 15px 15px;
+  background-color: #fff;
+  border-radius: 0 6px 6px 0;
+}
+.chart .cardnew img[data-v-6dde2c6d] {
+  width: 14px;
+  height: 14px;
+}
+.chart .cardtip[data-v-6dde2c6d] {
+  display: flex;
+  align-items: center;
+  justify-content: start;
+  width: 140px;
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.chart .cardtip span[data-v-6dde2c6d]:first-child {
+  padding-right: 5px;
+}
+.chart .cardtip span[data-v-6dde2c6d]:last-child {
+  padding-left: 5px;
+}
+.chart .cardContent[data-v-6dde2c6d] {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.chart .cardType[data-v-6dde2c6d] {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  height: 20px;
+  color: #202e54;
+  font-weight: 800;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.chart .cardStatus[data-v-6dde2c6d] {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  height: 17px;
+  font-weight: normal;
+  font-size: 12px;
+  line-height: 17px;
+}
+.chart .A[data-v-6dde2c6d] {
+  background: rgba(123, 208, 108, 0.1);
+  border-left: 4px solid #7bd06c;
+}
+.chart .A .cardStatus[data-v-6dde2c6d] {
+  color: #7bd06c;
+}
+.chart .B[data-v-6dde2c6d] {
+  background: rgba(47, 91, 234, 0.1);
+  border-left: 4px solid #5e7ce0;
+}
+.chart .B .cardStatus[data-v-6dde2c6d] {
+  color: #5e7ce0;
+}
+.chart .C[data-v-6dde2c6d] {
+  background: rgba(227, 83, 73, 0.1);
+  border-left: 4px solid #e35349;
+}
+.chart .C .cardStatus[data-v-6dde2c6d] {
+  color: #e35349;
+}
+.chart .D[data-v-6dde2c6d] {
+  background: rgba(250, 173, 20, 0.1);
+  border-left: 4px solid #f0960a;
+}
+.chart .D .cardStatus[data-v-6dde2c6d] {
+  color: #f0960a;
+}
+.card[data-v-4de66e26] {
+  display: flex;
+  justify-content: flex-start;
+  padding: 24px 0;
+  text-align: center;
+}
+.card .col[data-v-4de66e26] {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 130px;
+  height: 36px;
+  margin-right: 20px;
+  border-radius: 18px;
+}
+.card .col span[data-v-4de66e26] {
+  overflow: hidden;
+  font-size: 14px;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+.card .col img[data-v-4de66e26] {
+  width: 14px;
+  height: 14px;
+  margin-right: 5px;
+}
+.card div[data-v-4de66e26]:first-child {
+  background: rgba(123, 208, 108, 0.1);
+}
+.card div[data-v-4de66e26]:nth-child(2) {
+  background: rgba(47, 91, 234, 0.1);
+}
+.card div[data-v-4de66e26]:nth-child(3) {
+  background: rgba(227, 83, 73, 0.1);
+}
+.card div[data-v-4de66e26]:last-child {
+  background: rgba(250, 173, 20, 0.1);
+}
+#contain[data-v-674b89f0] {
+  height: 100%;
+  padding: 15px;
+  overflow: hidden;
+}
+.contentFilter[data-v-674b89f0] {
+  position: absolute;
+  top: 10px;
+  right: 24px;
+  z-index: 99;
+  display: flex;
+  height: 30px;
+  cursor: pointer;
+}
+.filter[data-v-674b89f0] {
+  z-index: 99;
+}
+.contentFilter .left[data-v-674b89f0] {
+  width: 122px;
+  height: 34px;
+  font-size: 14px;
+  line-height: 32px;
+  text-align: center;
+  background: #eff1f7;
+  border-radius: 17px;
+}
+.contentFilter .right[data-v-674b89f0] {
+  width: 60px;
+  height: 34px;
+  margin: 0 15px;
+  line-height: 34px;
+  text-align: center;
+  background: #eff1f7;
+  border-radius: 17px;
+}
+.contentFilter img[data-v-674b89f0] {
+  width: 14px;
+  height: 14px;
+}
+.sort[data-v-674b89f0] {
+  position: absolute;
+  top: 44px;
+  right: 100px;
+  z-index: 99;
+  width: 150px;
+  margin-top: 10px;
+  margin-left: -7px;
+  color: #606266;
+  background: #fff;
+  border: 1px solid #d9d9d9;
+  border-radius: 6px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+.sort li[data-v-674b89f0] {
+  position: relative;
+  padding: 0 12px;
+  color: #333;
+  font-size: 14px;
+  line-height: 36px;
+  text-align: center;
+  list-style-type: none;
+  background-color: #fff;
+  border-radius: 6px;
+  cursor: pointer;
+}
+.sort li[data-v-674b89f0]:hover {
+  color: #2f5bea;
+  background-color: #f5f6f7;
+}
+.filter[data-v-674b89f0] {
+  position: absolute;
+  top: 55px;
+  right: 1%;
+  z-index: 99;
+  width: 522px;
+  padding: 30px;
+  color: #606266;
+  background: #fff;
+  border: 1px solid #d9d9d9;
+  border-radius: 4px;
+  box-shadow: 0 0 2px 2px var(--ti-common-color-bg-normal);
+}
+.filter div[data-v-674b89f0] {
+  padding-top: 3px;
+}
+.container[data-v-875e3e38] {
+  width: 100%;
+  height: 100%;
+}
+.container-info[data-v-875e3e38] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 100%;
+  height: calc(100% - 60px);
+  margin: 0 auto;
+}
+.container-info .general-card[data-v-875e3e38] {
+  flex: 1 1 auto;
+  height: 100%;
+  overflow-x: hidden;
+  overflow-y: auto;
+  border-radius: 10px;
+}
+.container-info .general-card .general-top[data-v-875e3e38] {
+  display: flex;
+  min-height: 178px;
+  margin-bottom: 20px;
+  overflow: hidden;
+  background-image: url('/ui/admin/assets/blue-bg.png');
+  background-size: 100% 100%;
+  border-radius: 4px;
+  box-shadow: 0 0 8px 8px rgba(169, 174, 184, 0.05);
+}
+.container-info .general-card .general-content[data-v-875e3e38] {
+  height: calc(100% - 198px);
+  position: relative;
+  color: black;
+  font-size: medium;
+  background-color: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 8px 8px rgba(169, 174, 184, 0.05);
+  overflow-y: auto;
+}
diff --git a/admin-website/src/main/resources/static/assets/index23.js b/admin-website/src/main/resources/static/assets/index23.js
new file mode 100644
index 0000000..413d9eb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index23.js
@@ -0,0 +1,11 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index24.css b/admin-website/src/main/resources/static/assets/index24.css
new file mode 100644
index 0000000..fb79fcc
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index24.css
@@ -0,0 +1,56 @@
+[data-v-0e48261b] .tiny-row {
+  margin-bottom: 15px;
+}
+.container-set[data-v-1616658a] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+}
+.container-set .general-card[data-v-1616658a] {
+  height: 100%;
+  padding: 10px;
+  overflow-x: hidden;
+  overflow-y: auto;
+  border-radius: 10px;
+}
+.container-set .general-card .general-top[data-v-1616658a] {
+  display: flex;
+  justify-content: space-around;
+  min-height: 202px;
+  margin: 0 -12px;
+  overflow: hidden;
+  background-image: url('/ui/admin/assets/step-head.png');
+  background-size: 100% 100%;
+}
+.container-set .general-card .general-contain[data-v-1616658a] {
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  min-height: 75%;
+  padding: 30px 0 10px 20px;
+  color: black;
+  background-color: #fff;
+  border-radius: 10px;
+}
+.container-set .general-card .general-contain .tiny-layout[data-v-1616658a] {
+  width: 80%;
+}
+.container-set .general-card .general-btn[data-v-1616658a] {
+  position: relative;
+  left: 160px;
+}
+.container-set .general-card .general-btn button[data-v-1616658a] {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+.container-set .general-card .margin-bottom[data-v-1616658a] {
+  margin: 15px 0;
+}
+.container-set .general-card .col[data-v-1616658a] {
+  padding: 4px 0;
+  color: #fff;
+}
diff --git a/admin-website/src/main/resources/static/assets/index24.js b/admin-website/src/main/resources/static/assets/index24.js
new file mode 100644
index 0000000..177e18f
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index24.js
@@ -0,0 +1,3185 @@
+import { l as createVNode, k as resolveComponent, u as openBlock, v as createElementBlock, G as normalizeStyle, A as normalizeClass, I as withDirectives, L as vShow, D as renderSlot, z as createCommentVNode, d as defineComponent$1, a0 as useI18n, r as ref, a2 as watch, w as createBaseVNode, E as toDisplayString, W as unref, Z as pushScopeId, _ as popScopeId, y as createBlock, H as withCtx, J as createTextVNode, M as Fragment, N as renderList, a8 as reactive, j as onMounted } from "./vue.js";
+import { D as Dropdown, p as DropdownMenu, q as DropdownItem, b as index$3, A as touchStart, E as touchMove, F as singleton_default, H as index$8, a as Column, G as Grid, L as Loadings } from "./index31.js";
+import { ad as capitalize, M as KEY_CODE, ae as POSITION, o as on, f as off, $ as $props, d as defineComponent, b as $prefix, N as Tooltip, E as index$4, j as index$5, a as setup, k as h, p as props, Y as t, af as debounce_default, ag as random, ah as KeepAlive, c as $setup, u as useUserStore, a2 as CheckboxGroup, _ as _export_sfc$2, T as TINYModal, B as Button, ai as getUserData } from "./index.js";
+import { a as addResizeListener, r as removeResizeListener, i as index$6 } from "./index35.js";
+import { i as index$7 } from "./chevron-up.js";
+import { D as DatePicker } from "./index36.js";
+import "./index32.js";
+import { h as headtop } from "./head.js";
+import "./index30.js";
+const getOrderedPanes = (parent, panes) => {
+  const slotDefault = parent.$slots.default;
+  let orders;
+  if (typeof slotDefault === "function") {
+    orders = [];
+    const tabVnodes = slotDefault();
+    const handler = ({ type, componentOptions, props: props2 }) => {
+      let componentName = type && type.componentName;
+      if (!componentName)
+        componentName = componentOptions && componentOptions.Ctor.extendOptions.componentName;
+      if (componentName === "TabItem") {
+        const paneName = props2 && props2.name || componentOptions && componentOptions.propsData.name;
+        orders.push(paneName);
+      }
+    };
+    tabVnodes.forEach(({ type, componentOptions, props: props2, children }) => {
+      if (type && (type.toString() === "Symbol(Fragment)" || // vue@3.3之前的开发模式
+      type.toString() === "Symbol(v-fgt)" || //   vue@3.3.1 的变更
+      type.toString() === "Symbol()")) {
+        Array.isArray(children) && children.forEach(({ type: type2, componentOptions: componentOptions2, props: props22 }) => handler({ type: type2, componentOptions: componentOptions2, props: props22 }));
+      } else {
+        handler({ type, componentOptions, props: props2 });
+      }
+    });
+  }
+  if (orders.length > 0) {
+    let tmpPanes = [];
+    orders.forEach((paneName) => {
+      let pane = panes.find((pane2) => pane2.name === paneName);
+      if (pane)
+        tmpPanes.push(pane);
+    });
+    panes = tmpPanes;
+  }
+  return panes;
+};
+const calcPaneInstances = ({
+  constants,
+  parent,
+  state,
+  childrenHandler
+}) => (isForceUpdate = false) => {
+  const tabItemVNodes = parent.$slots.default;
+  if (tabItemVNodes) {
+    const orderPanes = [];
+    tabItemVNodes().forEach((vnode) => {
+      var _a;
+      if (Array.isArray(vnode.children)) {
+        vnode.children.forEach((child) => {
+          var _a2;
+          const name = (_a2 = child.props) == null ? void 0 : _a2.name;
+          name && orderPanes.push(name);
+        });
+      } else {
+        const name = (_a = vnode.props) == null ? void 0 : _a.name;
+        name && orderPanes.push(name);
+      }
+    });
+    const currentPanes = [];
+    childrenHandler(({ vm, isLevel1 }) => {
+      if (isLevel1 && vm.$options.componentName === constants.TAB_ITEM) {
+        const index2 = orderPanes.findIndex((name) => name === vm.name);
+        index2 > -1 ? currentPanes[index2] = vm : currentPanes.push(vm);
+      }
+    });
+    const newPanes = getOrderedPanes(parent, currentPanes);
+    const panesChanged = !(newPanes.length === state.panes.length && newPanes.every((pane, index2) => pane.state === state.panes[index2].state));
+    if (isForceUpdate || panesChanged) {
+      state.panes = newPanes;
+    }
+  } else if (state.panes.length !== 0) {
+    state.panes = [];
+  }
+};
+const calcMorePanes = ({ parent, props: props2, state, refs }) => () => {
+  if (!props2.showMoreTabs) {
+    return;
+  }
+  const el = parent.$el;
+  const tabs = el.querySelectorAll(".tiny-tabs__item");
+  const tabNavRefs = refs.nav.$refs;
+  if (props2.moreShowAll) {
+    state.showPanesCount = 0;
+    return;
+  }
+  if (tabs && tabs.length) {
+    let tabsAllWidth = 0;
+    for (let i = 0; i < tabs.length; i++) {
+      const tabItem = tabs[i];
+      tabsAllWidth = tabItem.offsetLeft + tabItem.offsetWidth / 2;
+      const tabsHeaderWidth = tabNavRefs.navScroll.offsetWidth;
+      const currentName = Number(state.currentName || 0);
+      if (tabsAllWidth > tabsHeaderWidth && currentName >= 0) {
+        if (currentName >= i + 1) {
+          state.showPanesCount = currentName - 0;
+        } else {
+          state.showPanesCount = i;
+        }
+        break;
+      }
+    }
+  }
+};
+const calcExpandPanes = ({ parent, props: props2, state }) => () => {
+  if (!props2.showExpandTabs) {
+    return;
+  }
+  const el = parent.$el;
+  const tabsHeader = el.querySelector(".tiny-mobile-tabs__header");
+  if (tabsHeader) {
+    state.expandPanesWidth = tabsHeader.clientWidth;
+  }
+};
+const handleTabClick = ({ api: api2, emit, props: props2, refs }) => (pane, tabName, event) => {
+  if (pane.disabled) {
+    return;
+  }
+  api2.setCurrentName(tabName);
+  emit("click", pane, event);
+  if (props2.showExpandTabs) {
+    refs.nav && refs.nav.expandTabHide();
+  }
+};
+const handleTabRemove = ({ emit, props: props2 }) => (pane, event) => {
+  if (pane.disabled) {
+    return;
+  }
+  event.stopPropagation();
+  const emitEvent = () => {
+    emit("edit", pane.name, "remove");
+    emit("close", pane.name);
+  };
+  if (typeof props2.beforeClose === "function") {
+    const beforeCloseResult = props2.beforeClose(pane.name);
+    if (beforeCloseResult && beforeCloseResult.then) {
+      beforeCloseResult.then((res) => res && emitEvent());
+    } else {
+      beforeCloseResult && emitEvent();
+    }
+  } else {
+    emitEvent();
+  }
+};
+const handleTabAdd = (emit) => () => {
+  emit("edit", null, "add");
+  emit("add");
+};
+const setCurrentName = ({ api: api2, props: props2, refs, state }) => (value) => {
+  api2.changeDirection(state.currentName);
+  if (state.currentName !== value && props2.beforeLeave) {
+    const before = props2.beforeLeave(value, state.currentName);
+    if (before && before.then) {
+      before.then(() => {
+        api2.changeCurrentName(value);
+        refs.nav && refs.nav.removeFocus(value);
+      }).catch(() => null);
+    } else if (before !== false) {
+      api2.changeCurrentName(value);
+    }
+  } else {
+    api2.changeCurrentName(value);
+  }
+};
+const changeCurrentName$1 = ({ emit, state }) => (value) => {
+  state.currentName = value;
+  emit("update:modelValue", value);
+};
+const created = ({ api: api2, parent, state }) => () => {
+  api2.changeDirection(state.currentName);
+  parent.$on("tab-nav-update", api2.calcPaneInstances.bind(null, true));
+};
+const changeDirection = ({ props: props2, state }) => (currentName) => {
+  const panes = state.panes;
+  panes.forEach((item, index2) => {
+    if (item.state.paneName === currentName && state.currentIndex !== index2) {
+      const isTopOrBottom = ~["top", "bottom"].indexOf(props2.position);
+      const isPrev = state.currentIndex < index2;
+      state.direction = isTopOrBottom ? isPrev ? "right" : "left" : isPrev ? "bottom" : "top";
+      state.currentIndex = index2;
+    }
+  });
+};
+const handleTabDragStart$1 = ({ emit }) => (event) => {
+  emit("tab-drag-start", event);
+};
+const handleTabDragOver = ({ emit }) => (event) => {
+  emit("tab-drag-over", event);
+};
+const handleTabDragEnd$1 = ({ state, emit }) => (event) => {
+  const { oldDraggableIndex, newDraggableIndex } = event;
+  const panel = state.panes.splice(oldDraggableIndex, 1)[0];
+  state.panes.splice(newDraggableIndex, 0, panel);
+  emit("tab-drag-end", event);
+};
+const api$7 = [
+  "state",
+  "handleTabAdd",
+  "calcPaneInstances",
+  "handleTabRemove",
+  "handleTabClick",
+  "handleTabDragStart",
+  "handleTabDragOver",
+  "handleTabDragEnd",
+  "setCurrentName",
+  "getNavRefs"
+];
+const initState = ({ reactive: reactive2, props: props2 }) => reactive2({
+  panes: [],
+  currentName: props2.modelValue || props2.activeName,
+  currentIndex: -1,
+  showPanesCount: -1,
+  startX: 0,
+  startY: 0,
+  deltaX: 0,
+  deltaY: 0,
+  offsetX: 0,
+  offsetY: 0,
+  direction: "",
+  expandPanesWidth: "",
+  activeIndex: 1,
+  separator: props2.separator
+});
+const initWatcher = ({
+  watch: watch2,
+  props: props2,
+  api: api2,
+  state,
+  nextTick,
+  refs
+}) => {
+  watch2(() => props2.modelValue, api2.setCurrentName);
+  watch2(() => props2.activeName, api2.setCurrentName);
+  watch2(
+    () => state.currentName,
+    () => {
+      nextTick(() => {
+        refs.nav.scrollToActiveTab();
+      });
+    },
+    { deep: true }
+  );
+  watch2(
+    () => props2.showMoreTabs,
+    (value) => {
+      if (!value) {
+        state.morePanes = [];
+        state.showPanesCount = -1;
+      }
+    },
+    { immediate: true }
+  );
+};
+const renderless$8 = (props2, { onMounted: onMounted2, onUpdated, provide: provide2, reactive: reactive2, watch: watch2 }, { refs, parent, emit, constants, nextTick, childrenHandler }) => {
+  const api2 = {};
+  const state = initState({ reactive: reactive2, props: props2 });
+  Object.assign(api2, {
+    state,
+    handleTabAdd: handleTabAdd(emit),
+    handleTabRemove: handleTabRemove({ emit, props: props2 }),
+    changeDirection: changeDirection({ props: props2, state }),
+    changeCurrentName: changeCurrentName$1({ emit, state }),
+    calcMorePanes: calcMorePanes({ parent, props: props2, state, refs }),
+    calcExpandPanes: calcExpandPanes({ parent, props: props2, state }),
+    calcPaneInstances: calcPaneInstances({ constants, parent, state, childrenHandler }),
+    handleTabDragStart: handleTabDragStart$1({ emit }),
+    handleTabDragOver: handleTabDragOver({ emit }),
+    handleTabDragEnd: handleTabDragEnd$1({ state, emit }),
+    handleTabClick: handleTabClick({ api: api2, emit, props: props2, refs }),
+    setCurrentName: setCurrentName({ api: api2, props: props2, refs, state }),
+    created: created({ api: api2, parent, state })
+  });
+  api2.created();
+  provide2("rootTabs", parent);
+  provide2("separator", state.separator);
+  initWatcher({ watch: watch2, props: props2, api: api2, state, nextTick, refs });
+  onMounted2(() => {
+    api2.calcPaneInstances();
+    api2.calcMorePanes();
+    api2.calcExpandPanes();
+  });
+  onUpdated(() => {
+    api2.calcPaneInstances();
+    api2.calcMorePanes();
+    api2.calcExpandPanes();
+  });
+  return api2;
+};
+const computedNavStyle = (state) => {
+  const dir = ~[POSITION.Top, POSITION.Bottom].indexOf(state.rootTabs.position) ? "X" : "Y";
+  if (state.mode === "mobile") {
+    const { offset, width } = state.lineStyle;
+    return {
+      width: `${width}px`,
+      transform: `translate${dir}(${offset}px) translate${dir}(-50%)`
+    };
+  } else {
+    return {
+      transform: `translate${dir}(-${state.navOffset}px)`
+    };
+  }
+};
+const scrollIntoView = ({ parent, vm, state }) => () => {
+  if (!state.scrollable) {
+    return;
+  }
+  const nav = vm.$refs.nav;
+  const activeTab = parent.$el.querySelector(".is-active");
+  if (!activeTab) {
+    return;
+  }
+  const to = activeTab.offsetLeft - (nav.offsetWidth - activeTab.offsetWidth) / 2;
+  const from = nav.scrollLeft;
+  if (state.mode === "mobile") {
+    nav.scrollLeft += to - from;
+    const nameHtml = activeTab.querySelector(".tiny-mobile-tabs__name");
+    state.lineStyle.width = nameHtml.offsetWidth;
+    state.lineStyle.offset = activeTab.offsetLeft + activeTab.offsetWidth / 2;
+  }
+};
+const computedSizeName = (state) => ~[POSITION.Top, POSITION.Bottom].indexOf(state.rootTabs.position) ? "width" : "height";
+const updated = ({ api: api2, vm, state }) => () => {
+  if (!vm.$refs.nav || state.dragging) {
+    return;
+  }
+  let navSize = vm.$refs.nav[`offset${capitalize(state.sizeName)}`];
+  if (state.mode === "mobile") {
+    Array.prototype.forEach.call(vm.$refs.nav.children, (item) => {
+      if (item.classList && item.classList.contains("tiny-mobile-tabs__item")) {
+        navSize += item.offsetWidth;
+      }
+      if (item.classList && item.classList.contains("is-active")) {
+        const nameHtml = item.querySelector(".tiny-mobile-tabs__name");
+        state.isActive = true;
+        state.lineStyle.width = nameHtml.offsetWidth;
+        state.lineStyle.offset = item.offsetLeft + item.offsetWidth / 2;
+      }
+    });
+  }
+  const containerSize = vm.$refs.navScroll[`offset${capitalize(state.sizeName)}`];
+  const currentOffset = state.navOffset;
+  if (containerSize < navSize) {
+    const currentOffset2 = state.navOffset;
+    if (!state.scrollable) {
+      state.scrollable = {
+        prev: currentOffset2,
+        next: currentOffset2 + containerSize < navSize
+      };
+    }
+    if (navSize - currentOffset2 < containerSize) {
+      state.navOffset = navSize - containerSize;
+    }
+  } else {
+    state.scrollable = false;
+    if (currentOffset > 0) {
+      state.navOffset = 0;
+    }
+  }
+  state.isActive && api2.scrollIntoView();
+  if (vm.$refs.tabBar) {
+    vm.$refs.tabBar.state.barStyle = vm.$refs.tabBar.computedBarStyle(vm.$refs.tabBar, state);
+  } else {
+    const line = vm.$refs.nav.querySelector("tiny-mobile-tabs__line");
+    line && line.style && (line.style.transform = api2.computedNavStyle(state).transform);
+  }
+};
+const mounted = ({ api: api2, parent }) => {
+  const el = parent.$refs.nav.$el;
+  addResizeListener(el, api2.updated);
+  on(document, "visibilitychange", api2.visibilityChangeHandler);
+  on(window, "blur", api2.windowBlurHandler);
+  on(window, "focus", api2.windowFocusHandler);
+  api2.scrollToActiveTab();
+  api2.scrollIntoView();
+  api2.sortableEvent();
+};
+const beforeUnmount = ({ api: api2, parent }) => {
+  const el = parent.$refs.nav && parent.$refs.nav.$el;
+  if (el && api2.updated) {
+    removeResizeListener(el, api2.updated);
+  }
+  off(document, "visibilitychange", api2.visibilityChangeHandler);
+  off(window, "blur", api2.windowBlurHandler);
+  off(window, "focus", api2.windowFocusHandler);
+};
+const visibilityChangeHandler = (state) => () => {
+  const visibility = document.visibilityState;
+  if (visibility === "hidden") {
+    state.focusable = false;
+  } else if (visibility === "visible") {
+    setTimeout(() => {
+      state.focusable = true;
+    }, 50);
+  }
+};
+const windowBlurHandler = (state) => () => {
+  state.focusable = false;
+};
+const windowFocusHandler = (state) => () => {
+  setTimeout(() => {
+    state.focusable = true;
+  }, 50);
+};
+const scrollToActiveTab = ({ parent, vm, state }) => () => {
+  if (!state.scrollable) {
+    return;
+  }
+  const nav = vm.$refs.nav;
+  const activeTab = parent.$el.querySelector(".is-active");
+  if (!activeTab) {
+    return;
+  }
+  const navScroll = vm.$refs.navScroll;
+  const activeTabBounding = activeTab.getBoundingClientRect();
+  const navScrollBounding = navScroll.getBoundingClientRect();
+  let maxOffset = nav.offsetWidth - navScrollBounding.width;
+  if (state.mode === "mobile") {
+    if (activeTabBounding.left > navScrollBounding.width) {
+      maxOffset = activeTabBounding.left - navScrollBounding.width + activeTabBounding.width;
+    } else {
+      maxOffset = activeTabBounding.width;
+    }
+  }
+  const currentOffset = state.navOffset;
+  let newOffset = currentOffset;
+  if (activeTabBounding.left < navScrollBounding.left) {
+    newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left);
+  }
+  if (activeTabBounding.right > navScrollBounding.right) {
+    newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right;
+  }
+  newOffset = Math.max(newOffset, 0);
+  state.navOffset = Math.min(newOffset, maxOffset);
+};
+const scrollPrev = ({ vm, state }) => () => {
+  const containerSize = vm.$refs.navScroll[`offset${capitalize(state.sizeName)}`];
+  const currentOffset = state.navOffset;
+  if (!currentOffset) {
+    return;
+  }
+  const newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0;
+  state.navOffset = newOffset;
+};
+const scrollNext = ({ vm, state }) => () => {
+  const navSize = vm.$refs.nav[`offset${capitalize(state.sizeName)}`];
+  const containerSize = vm.$refs.navScroll[`offset${capitalize(state.sizeName)}`];
+  const currentOffset = state.navOffset;
+  if (navSize - currentOffset <= containerSize) {
+    return;
+  }
+  const newOffset = navSize - currentOffset > containerSize * 2 ? currentOffset + containerSize : navSize - containerSize;
+  state.navOffset = newOffset;
+};
+const changeTab = (api2) => (event) => {
+  const keyCode = event.keyCode;
+  let nextIndex;
+  let currentIndex, tabList;
+  if (~[KEY_CODE.ArrowLeft, KEY_CODE.ArrowRight, KEY_CODE.ArrowUp, KEY_CODE.ArrowDown].indexOf(keyCode) && event.currentTarget) {
+    const target = event.currentTarget;
+    tabList = target.querySelectorAll("[role=tab]");
+    currentIndex = Array.prototype.indexOf.call(tabList, event.target);
+  } else {
+    return;
+  }
+  if (keyCode === KEY_CODE.ArrowLeft || keyCode === KEY_CODE.ArrowUp) {
+    if (currentIndex === 0) {
+      nextIndex = tabList.length - 1;
+    } else {
+      nextIndex = currentIndex - 1;
+    }
+  } else {
+    if (currentIndex < tabList.length - 1) {
+      nextIndex = currentIndex + 1;
+    } else {
+      nextIndex = 0;
+    }
+  }
+  tabList[nextIndex].focus();
+  tabList[nextIndex].click();
+  api2.setFocus();
+};
+const setFocus = (state) => () => {
+  if (state.focusable) {
+    state.isFocus = true;
+  }
+};
+const removeFocus = (state) => () => {
+  state.isFocus = true;
+};
+const moreTabShow = (state) => () => {
+  if (state.showMoreItem) {
+    state.showMoreItem = false;
+  } else {
+    state.showMoreItem = true;
+  }
+};
+const expandTabShow = ({ api: api2, state }) => () => {
+  state.showExpandItem = !state.showExpandItem;
+  if (state.showExpandItem) {
+    api2.computedHeaderStyle();
+  }
+};
+const expandTabHide = (state) => () => state.showExpandItem = false;
+const computedHeaderStyle = ({ vm, state }) => () => {
+  if (vm.$refs.nav) {
+    state.expandHeaderStyle[state.sizeName] = vm.$refs.nav[`offset${capitalize(state.sizeName)}`] + "px";
+  }
+  return state.expandHeaderStyle;
+};
+const handleTabDragStart = ({ state, vm, emit }) => (event) => {
+  state.dragging = true;
+  if (![POSITION.Top, POSITION.Bottom].includes(state.rootTabs.position)) {
+    emit("tab-drag-start", event);
+    return;
+  }
+  const navContainer = vm.$refs.navScroll;
+  const nav = vm.$refs.nav;
+  const containerWidth = navContainer.offsetWidth;
+  const navWidth = nav.offsetWidth;
+  if (navWidth > containerWidth) {
+    const navHeight = nav.offsetHeight;
+    navContainer.style.height = navHeight + "px";
+    nav.style.transition = "none";
+    nav.style.transform = "";
+    nav.style.width = containerWidth + "px";
+    nav.style.overflowX = "scroll";
+    nav.scrollTo(state.navOffset, 0);
+  }
+  emit("tab-drag-start", event);
+};
+const handleTabDragEnd = ({ vm, state, nextTick }) => () => {
+  state.dragging = false;
+  if (![POSITION.Top, POSITION.Bottom].includes(state.rootTabs.position)) {
+    return;
+  }
+  const nav = vm.$refs.nav;
+  if (nav.style.width) {
+    const navOffset = nav.scrollLeft;
+    const navContainer = vm.$refs.navScroll;
+    navContainer.style.height = "";
+    nav.style.width = "";
+    nav.style.overflowX = "";
+    state.navOffset = navOffset;
+    nextTick(() => {
+      nav.style.transition = "";
+    });
+  }
+};
+const sortableEvent = ({
+  api: api2,
+  props: props2,
+  state,
+  vm,
+  emit,
+  markRaw
+}) => () => {
+  if (!props2.dropConfig || typeof props2.dropConfig.plugin !== "function") {
+    return;
+  }
+  const navSortableObj = new props2.dropConfig.plugin(vm.$refs.nav, {
+    sort: true,
+    draggable: ".tiny-tabs__item",
+    onUpdate(event) {
+      emit("tab-drag-end", event);
+    },
+    onMove(event) {
+      emit("tab-drag-over", event);
+    },
+    onStart(event) {
+      api2.handleTabDragStart(event);
+    },
+    onEnd() {
+      api2.handleTabDragEnd();
+    }
+  });
+  state.navSortableObj = markRaw(navSortableObj);
+};
+const watchCurrentName = ({ nextTick, vm, state }) => () => {
+  nextTick(() => {
+    const tabBarVnode = vm.$refs.tabBar;
+    if (tabBarVnode) {
+      tabBarVnode.state.barStyle = tabBarVnode.computedBarStyle(tabBarVnode, state);
+    }
+  });
+};
+const handleTitleMouseenter = ({ state, vm, props: props2 }) => (e, title) => {
+  const dom = e.target;
+  const el = title == null ? void 0 : title.el;
+  if (props2.tooltipConfig) {
+    return;
+  }
+  if (dom && el && el.scrollWidth > el.offsetWidth) {
+    const tooltip = vm.$refs.tooltip;
+    tooltip.state.referenceElm = dom;
+    tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+    tooltip.doDestroy();
+    state.tooltipContent = title;
+    state.tooltipVisible = true;
+    setTimeout(tooltip.updatePopper, 20);
+  }
+};
+const handleTitleMouseleave = ({ state }) => () => {
+  state.tooltipVisible = false;
+};
+const api$6 = [
+  "state",
+  "setFocus",
+  "removeFocus",
+  "scrollPrev",
+  "scrollNext",
+  "changeTab",
+  "scrollToActiveTab",
+  "scrollIntoView",
+  "moreTabShow",
+  "expandTabShow",
+  "expandTabHide",
+  "computedHeaderStyle",
+  "swiperHandle",
+  "updated",
+  "handleTitleMouseenter",
+  "handleTitleMouseleave"
+];
+const renderless$7 = (props2, { computed, inject, onBeforeUnmount, onMounted: onMounted2, onUpdated, reactive: reactive2, markRaw }, { parent, vm, nextTick, mode: tinyMode, emit }) => {
+  const api2 = { mounted, beforeUnmount, computedNavStyle, computedSizeName };
+  const state = reactive2({
+    dragging: false,
+    navOffset: 0,
+    lineStyle: {
+      width: 20,
+      offset: 0
+    },
+    scrollable: false,
+    isFocus: false,
+    focusable: false,
+    showMoreItem: false,
+    isActive: false,
+    tooltipVisible: false,
+    tooltipContent: "",
+    showMoreTabs: props2.showMoreTabs,
+    showExpandItem: false,
+    showExpandTabs: props2.showExpandTabs,
+    expandHeaderStyle: {},
+    mode: props2._mode || parent.$mode || tinyMode || "pc",
+    rootTabs: inject("rootTabs"),
+    sizeName: computed(() => api2.computedSizeName(state)),
+    navStyle: computed(() => api2.computedNavStyle(state)),
+    navSortableObj: {},
+    separator: inject("separator", null)
+  });
+  Object.assign(api2, {
+    state,
+    setFocus: setFocus(state),
+    removeFocus: removeFocus(state),
+    moreTabShow: moreTabShow(state),
+    expandTabShow: expandTabShow({ api: api2, state }),
+    expandTabHide: expandTabHide(state),
+    scrollPrev: scrollPrev({ vm, state }),
+    scrollNext: scrollNext({ vm, state }),
+    windowBlurHandler: windowBlurHandler(state),
+    windowFocusHandler: windowFocusHandler(state),
+    visibilityChangeHandler: visibilityChangeHandler(state),
+    scrollToActiveTab: scrollToActiveTab({ parent, vm, state }),
+    scrollIntoView: scrollIntoView({ parent, vm, state }),
+    computedHeaderStyle: computedHeaderStyle({ vm, state }),
+    watchCurrentName: watchCurrentName({ nextTick, vm, state }),
+    handleTabDragStart: handleTabDragStart({ state, vm, emit }),
+    handleTabDragEnd: handleTabDragEnd({ state, vm, nextTick }),
+    sortableEvent: sortableEvent({ api: api2, props: props2, state, vm, emit, markRaw }),
+    handleTitleMouseenter: handleTitleMouseenter({ state, vm, props: props2 }),
+    handleTitleMouseleave: handleTitleMouseleave({ state })
+  });
+  Object.assign(api2, { updated: updated({ api: api2, vm, state }), changeTab: changeTab(api2) });
+  onUpdated(() => api2.updated());
+  onMounted2(() => api2.mounted({ api: api2, parent }));
+  onBeforeUnmount(() => api2.beforeUnmount({ api: api2, parent }));
+  return api2;
+};
+const computedBarStyle = (parent) => (props2, state) => {
+  const style = {};
+  let offset = 0;
+  let tabSize = 0;
+  const sizeName = ~[POSITION.Top, POSITION.Bottom].indexOf(state.rootTabs.position) ? "width" : "height";
+  const sizeDir = sizeName === "width" ? "x" : "y";
+  if (props2.tabs && props2.tabs.length) {
+    props2.tabs.every(({ state: state2 }) => {
+      const $el = parent.$refs[`tabs-${state2.paneName}`];
+      if (!$el) {
+        return false;
+      }
+      const barLength = $el.getBoundingClientRect()[sizeName];
+      const barMarginRight = parseFloat(window.getComputedStyle($el).marginRight);
+      if (!state2.active) {
+        if ($el.getBoundingClientRect().width === 0) {
+          const unactive = $el.cloneNode(true);
+          document.body.appendChild(unactive);
+          const unactiveSty = window.getComputedStyle(unactive);
+          offset += parseFloat(unactiveSty[sizeName]) - parseFloat(unactiveSty.marginRight);
+          document.body.removeChild(unactive);
+        } else {
+          offset += sizeName === "height" ? barLength : barLength + barMarginRight;
+        }
+        return true;
+      } else {
+        const copyEl = $el.cloneNode(true);
+        const eleStyle = window.getComputedStyle(copyEl);
+        tabSize = barLength;
+        if (tabSize === 0) {
+          document.body.appendChild(copyEl);
+          tabSize = parseFloat(eleStyle.width) - parseFloat(eleStyle.paddingLeft) - parseFloat(eleStyle.paddingRight);
+          document.body.removeChild(copyEl);
+        } else {
+          if (sizeName === "width") {
+            document.body.appendChild(copyEl);
+            tabSize -= parseFloat(eleStyle.paddingRight);
+            document.body.removeChild(copyEl);
+            return false;
+          }
+        }
+      }
+    });
+  }
+  const transform = `translate${capitalize(sizeDir)}(${offset}px)`;
+  style[sizeName] = state.separator ? "" : tabSize + "px";
+  style.transform = transform;
+  style.msTransform = transform;
+  style.webkitTransform = transform;
+  return style;
+};
+const api$5 = ["state", "computedBarStyle"];
+const renderless$6 = (props2, { inject, reactive: reactive2 }, { parent }) => {
+  const state = reactive2({
+    rootTabs: inject("rootTabs"),
+    barStyle: {},
+    separator: inject("separator", null)
+  });
+  const api2 = {
+    state,
+    computedBarStyle: computedBarStyle(parent)
+  };
+  return api2;
+};
+const index$2 = "";
+function _extends$1$2() {
+  return _extends$1$2 = Object.assign ? Object.assign.bind() : function(n) {
+    for (var e = 1; e < arguments.length; e++) {
+      var t2 = arguments[e];
+      for (var r in t2)
+        ({}).hasOwnProperty.call(t2, r) && (n[r] = t2[r]);
+    }
+    return n;
+  }, _extends$1$2.apply(null, arguments);
+}
+var tabNavPcProps = _extends$1$2({}, $props, {
+  panes: {
+    type: Array,
+    default: function _default() {
+      return [];
+    }
+  },
+  currentName: String,
+  editable: Boolean,
+  overflowTitle: Boolean,
+  onTabClick: {
+    type: Function,
+    default: function _default2() {
+    }
+  },
+  onTabRemove: {
+    type: Function,
+    default: function _default3() {
+    }
+  },
+  tabStyle: String,
+  stretch: Boolean,
+  showMoreTabs: Boolean,
+  showPanesCount: Number,
+  popperClass: String,
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  },
+  dropConfig: {
+    type: Object,
+    default: function _default4() {
+      return null;
+    }
+  },
+  titleWidth: {
+    type: String,
+    default: "256px"
+  },
+  // tiny 新增
+  tooltipConfig: [String, Object],
+  panelMaxHeight: String,
+  panelWidth: String
+});
+_extends$1$2({}, $props, {
+  panes: {
+    type: Array,
+    default: function _default5() {
+      return [];
+    }
+  },
+  currentName: String,
+  activeColor: {
+    type: String,
+    default: ""
+  },
+  onTabClick: {
+    type: Function,
+    default: function _default6() {
+    }
+  },
+  onTabRemove: {
+    type: Function,
+    default: function _default7() {
+    }
+  },
+  showExpandTabs: Boolean,
+  expandPanesWidth: {
+    type: String,
+    default: ""
+  },
+  expandTabsTitle: {
+    type: String,
+    default: "请选择"
+  },
+  expandTabsMode: {
+    type: String,
+    default: "columns"
+  },
+  stretch: {
+    type: Boolean,
+    default: false
+  }
+});
+var tabBarProps = _extends$1$2({}, $props, {
+  tabs: Array
+});
+function _createForOfIteratorHelperLoose$1(r, e) {
+  var t2 = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
+  if (t2)
+    return (t2 = t2.call(r)).next.bind(t2);
+  if (Array.isArray(r) || (t2 = _unsupportedIterableToArray$1(r)) || e && r && "number" == typeof r.length) {
+    t2 && (r = t2);
+    var o = 0;
+    return function() {
+      return o >= r.length ? { done: true } : { done: false, value: r[o++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(r, a) {
+  if (r) {
+    if ("string" == typeof r)
+      return _arrayLikeToArray$1(r, a);
+    var t2 = {}.toString.call(r).slice(8, -1);
+    return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$1(r, a) : void 0;
+  }
+}
+function _arrayLikeToArray$1(r, a) {
+  (null == a || a > r.length) && (a = r.length);
+  for (var e = 0, n = Array(a); e < a; e++)
+    n[e] = r[e];
+  return n;
+}
+var _export_sfc$1 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+function _extends$5() {
+  return _extends$5 = Object.assign ? Object.assign.bind() : function(n) {
+    for (var e = 1; e < arguments.length; e++) {
+      var t2 = arguments[e];
+      for (var r in t2)
+        ({}).hasOwnProperty.call(t2, r) && (n[r] = t2[r]);
+    }
+    return n;
+  }, _extends$5.apply(null, arguments);
+}
+var _sfc_main$2$2 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "TabBar",
+  props: tabBarProps,
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$5,
+      mono: true
+    });
+  }
+});
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      style: normalizeStyle(_ctx.state.barStyle),
+      class: normalizeClass(["is-" + _ctx.state.rootTabs.position, _ctx.state.separator ? "" : "tiny-tabs__active-bar"])
+    },
+    null,
+    6
+    /* CLASS, STYLE */
+  );
+}
+var TabBar = /* @__PURE__ */ _export_sfc$1(_sfc_main$2$2, [["render", _sfc_render$1]]);
+var _sfc_main$1$3 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "TabNav",
+  components: {
+    TabBar,
+    Dropdown,
+    DropdownMenu,
+    DropdownItem,
+    Tooltip,
+    IconChevronLeft: index$3(),
+    IconChevronRight: index$4(),
+    IconClose: index$5()
+  },
+  props: tabNavPcProps,
+  inject: ["moreIcon"],
+  setup: function setup2(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$7,
+      api: api$6,
+      mono: true
+    });
+  },
+  render: function render() {
+    var state = this.state, tabStyle = this.tabStyle, editable = this.editable, stretch = this.stretch, showPanesCount = this.showPanesCount, onTabClick = this.onTabClick, onTabRemove = this.onTabRemove, scrollNext2 = this.scrollNext, scrollPrev2 = this.scrollPrev, changeTab2 = this.changeTab, setFocus2 = this.setFocus, removeFocus2 = this.removeFocus, showMoreTabs = this.showMoreTabs, popperClass = this.popperClass, overflowTitle = this.overflowTitle, titleWidth = this.titleWidth, handleTitleMouseenter2 = this.handleTitleMouseenter, handleTitleMouseleave2 = this.handleTitleMouseleave, moreIcon = this.moreIcon, tooltipConfig = this.tooltipConfig, panelMaxHeight = this.panelMaxHeight, panelWidth = this.panelWidth;
+    var panes = this.panes;
+    var spans = [createVNode("span", {
+      "class": ["tiny-tabs__nav-prev", state.scrollable.prev ? "" : "is-disabled"],
+      "onClick": scrollPrev2
+    }, [createVNode(resolveComponent("icon-chevron-left"), null, null)]), !showMoreTabs ? createVNode("span", {
+      "class": ["tiny-tabs__nav-next", state.scrollable.next ? "" : "is-disabled"],
+      "onClick": scrollNext2
+    }, [createVNode(resolveComponent("icon-chevron-right"), null, null)]) : null];
+    var scrollBtn = state.scrollable ? spans : null;
+    var moreTabs = null;
+    if (showMoreTabs && state.scrollable) {
+      var reference = function reference2() {
+        return moreIcon ? createVNode("span", {
+          "class": "tiny-tabs__more-icon"
+        }, [moreIcon() || t("ui.tabs.moreItem")]) : createVNode("span", {
+          "class": "tiny-tabs__more"
+        }, [t("ui.tabs.moreItem")]);
+      };
+      var dropdowpList = panes.slice(showPanesCount);
+      var isShowDropDown = showPanesCount !== -1 && Boolean(dropdowpList.length);
+      var menuSlot = function menuSlot2() {
+        return isShowDropDown ? dropdowpList.map(function(pane, index2) {
+          var tabName = pane.name || pane.state.index || index2;
+          var tabLabelContent = pane.$slots.title || pane.title;
+          var tabindex = pane.state.active ? 0 : -1;
+          pane.state.index = "" + (index2 + showPanesCount);
+          return createVNode(resolveComponent("dropdown-item"), {
+            "class": "tiny-tabs__more-item",
+            "tabindex": tabindex,
+            "onFocus": function onFocus() {
+              setFocus2();
+            },
+            "onBlur": function onBlur() {
+              removeFocus2();
+            },
+            "onClick": function onClick(e) {
+              removeFocus2();
+              onTabClick(pane, tabName, e);
+            }
+          }, {
+            default: function _default11() {
+              return [typeof tabLabelContent === "function" ? tabLabelContent() : tabLabelContent];
+            }
+          });
+        }) : null;
+      };
+      var dropdownSlot = function dropdownSlot2() {
+        return isShowDropDown ? h(DropdownMenu, {
+          attrs: {
+            popperClass: "tiny-tabs-dropdown tiny-tabs__more-dropdown" + (popperClass ? " " + popperClass : ""),
+            placement: "bottom-start",
+            style: {
+              maxHeight: panelMaxHeight,
+              width: panelWidth
+            }
+          },
+          scopedSlots: {
+            default: menuSlot
+          }
+        }) : null;
+      };
+      moreTabs = createVNode("div", {
+        "class": "tiny-tabs__more-container",
+        "ref": "more"
+      }, [isShowDropDown ? h(Dropdown, {
+        attrs: {
+          trigger: "hover"
+        },
+        scopedSlots: {
+          default: reference,
+          dropdown: dropdownSlot
+        }
+      }) : reference()]);
+    }
+    var tabs = panes.map(function(pane, index2) {
+      var _class;
+      var tabName = pane.name || pane.state.index || index2;
+      var withClose = pane.state.isClosable || editable;
+      pane.state.index = "" + index2;
+      var btnClose = withClose ? createVNode("span", {
+        "class": "tiny-tabs__icon-close"
+      }, [createVNode(resolveComponent("icon-close"), {
+        "onClick": function onClick(e) {
+          onTabRemove(pane, e);
+        }
+      }, null)]) : null;
+      var getTabTitle = function getTabTitle2(title) {
+        return h("span", {
+          class: {
+            "tiny-tabs__item-title": true
+          },
+          style: {
+            "max-width": titleWidth
+          },
+          on: {
+            mouseenter: function mouseenter(e) {
+              handleTitleMouseenter2(e, title);
+            },
+            mouseleave: function mouseleave(e) {
+              handleTitleMouseleave2(e);
+            }
+          }
+        }, [title]);
+      };
+      var tipComp = function tipComp2() {
+        return tooltipConfig === "title" ? h("span", {
+          class: "tiny-tabs__item__title",
+          attrs: {
+            title: pane.title
+          }
+        }, [pane.title]) : h(Tooltip, {
+          class: "tiny-tabs__item__title",
+          props: _extends$5({
+            content: pane.title
+          }, tooltipConfig)
+        }, [h("span", {}, [pane.title])]);
+      };
+      var toolTipComp = function toolTipComp2() {
+        return tooltipConfig ? tipComp() : h("span", {
+          class: "tiny-tabs__item__title"
+        }, [pane.title]);
+      };
+      var itemsSeparator = createVNode("span", {
+        "class": "tiny-tabs__item-separator"
+      }, null);
+      var tabLabelContent = pane.$slots.title ? pane.$slots.title() : toolTipComp();
+      var tabindex = pane.state.active ? 0 : -1;
+      return h("div", {
+        ref: "tabs-" + tabName,
+        key: "tab-" + tabName + "-" + index2,
+        class: (_class = {
+          "tiny-tabs__item": true,
+          "tiny-tabs__item-separator-space": state.separator
+        }, _class["is-" + state.rootTabs.position] = true, _class["is-active"] = pane.state.active, _class["is-disabled"] = pane.disabled, _class["is-closable"] = withClose, _class["is-focus"] = state.isFocus, _class),
+        attrs: {
+          id: "tab-" + tabName,
+          "aria-controls": "pane-" + tabName,
+          "data-index": index2 + 1,
+          role: "tab",
+          "aria-selected": pane.state.active,
+          tabindex,
+          refInFor: true
+        },
+        on: {
+          focus: function focus() {
+            setFocus2();
+          },
+          blur: function blur() {
+            removeFocus2();
+          },
+          click: function click(e) {
+            removeFocus2();
+            onTabClick(pane, tabName, e);
+          },
+          keydown: function keydown(e) {
+            if (withClose && (e.keyCode === 46 || e.keyCode === 8)) {
+              onTabRemove(pane, e);
+            }
+          }
+        }
+      }, [overflowTitle ? getTabTitle(tabLabelContent) : tabLabelContent, btnClose, state.separator && itemsSeparator]);
+    });
+    var paddingRight = this.$refs.more ? this.$refs.more.offsetWidth + "px" : "46px";
+    return createVNode("div", {
+      "style": showMoreTabs ? {
+        paddingRight
+      } : {},
+      "class": ["tiny-tabs__nav-wrap", !state.separator && "tiny-tabs__nav-wrap-not-separator", state.scrollable ? "is-scrollable" : "", showMoreTabs ? "is-show-more" : "", "is-" + state.rootTabs.position]
+    }, [[scrollBtn, moreTabs], createVNode("div", {
+      "class": ["tiny-tabs__nav-scroll"],
+      "ref": "navScroll"
+    }, [createVNode("div", {
+      "class": ["tiny-tabs__nav", "is-" + state.rootTabs.position, stretch && ["top", "bottom"].includes(state.rootTabs.position) ? "is-stretch" : "", !tabStyle ? "is-show-active-bar" : ""],
+      "ref": "nav",
+      "style": state.navStyle,
+      "role": "tablist",
+      "on-keydown": changeTab2
+    }, [!tabStyle ? createVNode(resolveComponent("tab-bar"), {
+      "ref": "tabBar",
+      "tabs": panes
+    }, null) : null, tabs])]), overflowTitle ? createVNode(Tooltip, {
+      "ref": "tooltip",
+      "modelValue": state.tooltipVisible,
+      "onUpdate:modelValue": function onUpdateModelValue($event) {
+        return state.tooltipVisible = $event;
+      },
+      "manual": true,
+      "effect": "light",
+      "content": state.tooltipContent,
+      "placement": "top"
+    }, null) : null]);
+  }
+});
+var _sfc_main$f = /* @__PURE__ */ defineComponent({
+  emits: ["add", "click", "close", "edit", "update:modelValue", "tab-nav-update", "tab-drag-start", "tab-drag-over", "tab-drag-end"],
+  props: [].concat(props, ["tabStyle", "activeName", "withClose", "withAdd", "size", "modelValue", "editable", "position", "beforeLeave", "stretch", "showMoreTabs", "popperClass", "popperAppendToBody", "dropConfig", "tooltipConfig", "separator", "beforeClose", "overflowTitle", "titleWidth", "moreShowAll", "panelMaxHeight", "panelWidth"]),
+  components: {
+    TabNav: _sfc_main$1$3,
+    IconPlus: index$6()
+  },
+  provide: function provide() {
+    return {
+      moreIcon: this.$slots.moreIcon
+    };
+  },
+  setup: function setup3(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$7
+    });
+  },
+  render: function render2() {
+    var _this = this, _class2;
+    var state = this.state, tabStyle = this.tabStyle, handleTabClick2 = this.handleTabClick, handleTabRemove2 = this.handleTabRemove, handleTabAdd2 = this.handleTabAdd, handleTabDragStart2 = this.handleTabDragStart, handleTabDragOver2 = this.handleTabDragOver, handleTabDragEnd2 = this.handleTabDragEnd, editable = this.editable, withAdd = this.withAdd, position = this.position, size = this.size, stretch = this.stretch, showMoreTabs = this.showMoreTabs, popperClass = this.popperClass, popperAppendToBody = this.popperAppendToBody, dropConfig = this.dropConfig, tooltipConfig = this.tooltipConfig, overflowTitle = this.overflowTitle, titleWidth = this.titleWidth, panelMaxHeight = this.panelMaxHeight, panelWidth = this.panelWidth;
+    var newButton = editable || withAdd ? createVNode("span", {
+      "class": "tiny-tabs__new-tab",
+      "onClick": handleTabAdd2,
+      "tabindex": "0",
+      "onKeydown": function onKeydown(ev) {
+        if (ev.keyCode === 13) {
+          handleTabAdd2();
+        }
+      }
+    }, [createVNode(resolveComponent("icon-plus"), null, null)]) : null;
+    var navData = {
+      props: {
+        currentName: state.currentName,
+        panes: state.panes,
+        onTabClick: handleTabClick2,
+        onTabRemove: handleTabRemove2,
+        showPanesCount: state.showPanesCount,
+        editable,
+        tabStyle,
+        size,
+        stretch,
+        showMoreTabs,
+        popperClass,
+        popperAppendToBody,
+        dropConfig,
+        tooltipConfig,
+        overflowTitle,
+        titleWidth,
+        separator: state.separator,
+        panelMaxHeight,
+        panelWidth
+      },
+      on: {
+        "tab-drag-start": handleTabDragStart2,
+        "tab-drag-over": handleTabDragOver2,
+        "tab-drag-end": handleTabDragEnd2
+      },
+      ref: "nav"
+    };
+    var TabNavComponent = h(_sfc_main$1$3, _extends$5({}, navData));
+    this.$nextTick(function() {
+      _this.$refs.nav && _this.$refs.nav.$forceUpdate();
+    });
+    var header = createVNode("div", {
+      "class": ["tiny-tabs__header", "is-" + position]
+    }, [TabNavComponent, newButton]);
+    var panels = createVNode("div", {
+      "class": "tiny-tabs__content"
+    }, [this.slots.default && this.slots.default()]);
+    return createVNode("div", {
+      "class": (_class2 = {
+        "tiny-tabs": true,
+        "tiny-tabs--card": tabStyle === "card"
+      }, _class2["tiny-tabs--" + (!state.separator ? position : "top")] = true, _class2["tiny-tabs--border-card"] = tabStyle === "border-card", _class2["tiny-tabs--button-card"] = tabStyle === "button-card", _class2["tiny-tabs--small"] = size === "small", _class2["tiny-tabs--large"] = size === "large", _class2)
+    }, [position !== "bottom" ? [header, panels] : [panels, header]]);
+  }
+});
+const index$1 = "";
+function _extends$1$1() {
+  return _extends$1$1 = Object.assign ? Object.assign.bind() : function(n) {
+    for (var e = 1; e < arguments.length; e++) {
+      var t2 = arguments[e];
+      for (var r in t2)
+        ({}).hasOwnProperty.call(t2, r) && (n[r] = t2[r]);
+    }
+    return n;
+  }, _extends$1$1.apply(null, arguments);
+}
+_extends$1$1({}, $props, {
+  panes: {
+    type: Array,
+    default: function _default8() {
+      return [];
+    }
+  },
+  currentName: String,
+  editable: Boolean,
+  overflowTitle: Boolean,
+  onTabClick: {
+    type: Function,
+    default: function _default22() {
+    }
+  },
+  onTabRemove: {
+    type: Function,
+    default: function _default32() {
+    }
+  },
+  tabStyle: String,
+  stretch: Boolean,
+  showMoreTabs: Boolean,
+  showPanesCount: Number,
+  popperClass: String,
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  },
+  dropConfig: {
+    type: Object,
+    default: function _default42() {
+      return null;
+    }
+  },
+  titleWidth: {
+    type: String,
+    default: "256px"
+  },
+  // tiny 新增
+  tooltipConfig: [String, Object],
+  panelMaxHeight: String,
+  panelWidth: String
+});
+var tabNavMobileProps = _extends$1$1({}, $props, {
+  panes: {
+    type: Array,
+    default: function _default52() {
+      return [];
+    }
+  },
+  currentName: String,
+  activeColor: {
+    type: String,
+    default: ""
+  },
+  onTabClick: {
+    type: Function,
+    default: function _default62() {
+    }
+  },
+  onTabRemove: {
+    type: Function,
+    default: function _default72() {
+    }
+  },
+  showExpandTabs: Boolean,
+  expandPanesWidth: {
+    type: String,
+    default: ""
+  },
+  expandTabsTitle: {
+    type: String,
+    default: "请选择"
+  },
+  expandTabsMode: {
+    type: String,
+    default: "columns"
+  },
+  stretch: {
+    type: Boolean,
+    default: false
+  }
+});
+_extends$1$1({}, $props, {
+  tabs: Array
+});
+function _extends$4() {
+  return _extends$4 = Object.assign ? Object.assign.bind() : function(n) {
+    for (var e = 1; e < arguments.length; e++) {
+      var t2 = arguments[e];
+      for (var r in t2)
+        ({}).hasOwnProperty.call(t2, r) && (n[r] = t2[r]);
+    }
+    return n;
+  }, _extends$4.apply(null, arguments);
+}
+var _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "TabNav",
+  components: {
+    IconClose: index$5(),
+    IconChevronDown: index$7()
+  },
+  props: tabNavMobileProps,
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$7,
+      api: api$6,
+      mono: true,
+      h
+    });
+  },
+  render: function render3() {
+    var state = this.state, panes = this.panes, onTabClick = this.onTabClick, onTabRemove = this.onTabRemove, showExpandTabs = this.showExpandTabs, expandTabShow2 = this.expandTabShow, activeColor = this.activeColor, expandPanesWidth = this.expandPanesWidth, currentName = this.currentName, expandTabsTitle = this.expandTabsTitle, expandTabsMode = this.expandTabsMode, stretch = this.stretch;
+    var tabsExpandIcon = showExpandTabs ? createVNode("div", {
+      "class": "tiny-mobile-tabs__expand-icon"
+    }, [createVNode("span", {
+      "slot": "reference",
+      "class": "tiny-mobile-tabs__expand",
+      "onClick": function onClick() {
+        expandTabShow2();
+      }
+    }, [createVNode(resolveComponent("icon-chevron-down"), null, null)])]) : null;
+    var tabsExpandContent = createVNode("div", {
+      "class": "tiny-mobile-tabs__expand-content",
+      "style": state.showExpandItem ? {
+        display: "block",
+        width: expandPanesWidth ? expandPanesWidth + "px" : ""
+      } : {
+        display: "none"
+      }
+    }, [createVNode("div", {
+      "class": "tiny-mobile-tabs__expand-mask"
+    }, null), createVNode("div", {
+      "class": "tiny-mobile-tabs__expand-header"
+    }, [createVNode("label", {
+      "class": "tiny-mobile-tabs__expand-header-title",
+      "style": state.expandHeaderStyle
+    }, [expandTabsTitle]), createVNode("span", {
+      "slot": "reference",
+      "class": "tiny-mobile-tabs__expand",
+      "style": {
+        transform: "rotate(180deg)"
+      }
+    }, [createVNode(resolveComponent("icon-chevron-down"), null, null)])]), createVNode("div", {
+      "class": "tiny-mobile-tabs__expand-list"
+    }, [panes.map(function(pane, index2) {
+      var _class;
+      var tabName = pane.name || pane.state.index || index2;
+      var tabTitle = pane.$slots.title || pane.title;
+      return createVNode("div", {
+        "class": (_class = {
+          "tiny-mobile-tabs__expand-item": true
+        }, _class["tiny-mobile-tabs__expand-mode-" + expandTabsMode] = expandTabsMode === "columns", _class)
+      }, [createVNode("div", {
+        "class": {
+          "tiny-mobile-tabs__expand-item-title": true,
+          "is-current": currentName === tabName
+        },
+        "onClick": function onClick(e) {
+          onTabClick(pane, tabName, e);
+        }
+      }, [tabTitle])]);
+    })])]);
+    var navStyle = {};
+    var tabs = panes.map(function(pane, index2) {
+      var _class2;
+      var tabName = pane.name || pane.state.index || index2;
+      var withClose = pane.state.isClosable;
+      pane.state.index = "" + index2;
+      var btnClose = withClose && panes.length > 1 ? createVNode("span", {
+        "class": "tiny-mobile-tabs__icon-close"
+      }, [createVNode(resolveComponent("icon-close"), {
+        "onClick": function onClick(e) {
+          onTabRemove(pane, e);
+        }
+      }, null)]) : null;
+      var tabTitle = pane.$slots.title || pane.title;
+      var tabItemStyle = {};
+      if (!stretch) {
+        tabItemStyle.flex = 0;
+        navStyle.justifyContent = "center";
+      }
+      if (index2 === panes.length - 1) {
+        tabItemStyle.marginRight = 0;
+      }
+      return createVNode("div", {
+        "class": (_class2 = {
+          "tiny-mobile-tabs__item": true
+        }, _class2["is-" + state.rootTabs.position] = true, _class2["is-active"] = pane.state.active, _class2["is-disabled"] = pane.disabled, _class2["is-closable"] = withClose, _class2),
+        "style": tabItemStyle,
+        "role": "tab",
+        "ref": "tabs",
+        "id": "tab-" + tabName,
+        "key": "tab-" + tabName,
+        "aria-controls": "pane-" + tabName,
+        "aria-selected": pane.state.active,
+        "onClick": function onClick(e) {
+          onTabClick(pane, tabName, e);
+        }
+      }, [createVNode("span", {
+        "class": "tiny-mobile-tabs__name",
+        "style": activeColor && pane.state.active ? {
+          color: activeColor
+        } : {}
+      }, [tabTitle, btnClose])]);
+    });
+    return createVNode("div", {
+      "style": showExpandTabs ? {
+        paddingRight: "46px"
+      } : {},
+      "class": ["tiny-mobile-tabs__nav-wrap", state.scrollable ? "is-scrollable" : "", panes.length > 4 ? "tiny-mobile-tabs__wrap-scrollable" : "", showExpandTabs ? "is-show-expand" : "", "is-" + state.rootTabs.position]
+    }, [createVNode("div", {
+      "class": ["tiny-mobile-tabs__nav-scroll"],
+      "ref": "navScroll"
+    }, [createVNode("div", {
+      "class": ["tiny-mobile-tabs__nav", "is-" + state.rootTabs.position],
+      "style": navStyle,
+      "ref": "nav",
+      "role": "tablist"
+    }, [tabs, createVNode("div", {
+      "class": "tiny-mobile-tabs__line",
+      "style": [state.navStyle, activeColor ? {
+        backgroundColor: activeColor
+      } : {}]
+    }, null)])]), [tabsExpandIcon, tabsExpandContent]]);
+  }
+});
+var MIN_SWIPE_DISTANCE = 50;
+var _sfc_main$e = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["activeName", "position", "withClose", "withAdd", "activeColor", "modelValue", "beforeLeave", "editable", "showExpandTabs", "childrenTabs", "swipeable", "expandTabsTitle", "expandTabsMode", "stretch", "size"]),
+  components: {
+    TabNav: _sfc_main$1$2,
+    IconPlus: index$6()
+  },
+  setup: function setup22(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$7
+    });
+  },
+  methods: {
+    getCurIndex: function getCurIndex() {
+      var _this = this;
+      var current = 0;
+      this.state.panes.filter(function(node, index2) {
+        return node.name === _this.state.currentName && (current = index2);
+      });
+      return current;
+    },
+    onTouchEnd: function onTouchEnd() {
+      var _this$state = this.state, direction = _this$state.direction, deltaX = _this$state.deltaX;
+      var currentIndex = this.getCurIndex();
+      if (direction === "horizontal" && this.state.offsetX >= MIN_SWIPE_DISTANCE) {
+        if (deltaX > 0 && currentIndex !== 0) {
+          var name = this.state.panes[currentIndex - 1].name;
+          this.$emit("swipeLeft", name);
+          this.setCurrentName(name);
+          this.$refs.nav.scrollToActiveTab();
+        } else if (deltaX < 0 && currentIndex !== this.state.panes.length - 1) {
+          var _name = this.state.panes[currentIndex + 1].name;
+          this.$emit("swipeRight", _name);
+          this.setCurrentName(_name);
+          this.$refs.nav.scrollToActiveTab();
+        }
+      }
+    }
+  },
+  render: function render22() {
+    var _class3;
+    var state = this.state, position = this.position, handleTabClick2 = this.handleTabClick, handleTabRemove2 = this.handleTabRemove, handleTabAdd2 = this.handleTabAdd, editable = this.editable, withAdd = this.withAdd, showExpandTabs = this.showExpandTabs, swipeable = this.swipeable, activeColor = this.activeColor, expandTabsTitle = this.expandTabsTitle, expandTabsMode = this.expandTabsMode, stretch = this.stretch, size = this.size;
+    var newButton = editable || withAdd ? createVNode("span", {
+      "class": "tiny-mobile-tabs__new-tab",
+      "onClick": handleTabAdd2,
+      "tabindex": "0",
+      "onKeydown": function onKeydown(ev) {
+        if (ev.keyCode === 13) {
+          handleTabAdd2();
+        }
+      }
+    }, [createVNode(resolveComponent("icon-plus"), null, null)]) : null;
+    var navData = {
+      props: {
+        currentName: state.currentName,
+        panes: state.panes,
+        activeColor,
+        onTabClick: handleTabClick2,
+        onTabRemove: handleTabRemove2,
+        showExpandTabs,
+        expandPanesWidth: state.expandPanesWidth,
+        expandTabsTitle,
+        expandTabsMode,
+        stretch
+      },
+      ref: "nav"
+    };
+    var TabNavComponent = h(_sfc_main$1$2, _extends$4({}, navData));
+    var header = createVNode("div", {
+      "class": ["tiny-mobile-tabs__header", "is-" + position]
+    }, [newButton, TabNavComponent]);
+    var listeners = swipeable ? {
+      touchstart: touchStart(state),
+      touchmove: touchMove(state),
+      touchend: this.onTouchEnd,
+      touchcancel: this.onTouchEnd
+    } : {};
+    var panels = h("div", {
+      class: "tiny-mobile-tabs__content",
+      on: _extends$4({}, listeners)
+    }, this.slots.default());
+    return createVNode("div", {
+      "class": (_class3 = {
+        "tiny-mobile-tabs": true
+      }, _class3["tiny-mobile--" + position] = true, _class3["tiny-mobile-tabs-small"] = size === "small", _class3)
+    }, [[header, panels]]);
+  }
+});
+const setActive = ({ state, props: props2, api: api2 }) => (name) => {
+  const current = state.currentItem ? state.currentItem.name : "";
+  if (current && current !== name && props2.beforeLeave) {
+    const before = props2.beforeLeave(name, current);
+    if (before && before.then) {
+      before.then(() => {
+        api2.changeCurrentName(name);
+      }).catch(() => null);
+    } else if (before !== false) {
+      api2.changeCurrentName(name);
+    }
+  } else {
+    api2.changeCurrentName(name);
+  }
+};
+const changeCurrentName = ({ emit, state }) => (name) => {
+  state.items.forEach((item) => item.selected = item.name === name);
+  emit("update:activeName", name);
+  emit("update:modelValue", name);
+};
+const addItem = (state) => (item) => {
+  state.items = [...state.items, item];
+};
+const addNav = (state) => (nav) => {
+  state.navs = [...state.navs, nav];
+};
+const scrollTo = ({ vm, state }) => (name) => {
+  const { navs } = state;
+  const { $refs } = vm;
+  const { tabbar } = $refs;
+  const { scroll } = tabbar.$refs;
+  singleton_default.measure(() => {
+    const { clientWidth, scrollWidth } = scroll;
+    if (name && scrollWidth > clientWidth) {
+      const total = navs.length;
+      const index2 = navs.findIndex((nav) => nav.name === name);
+      const max = scrollWidth - clientWidth;
+      if (~index2) {
+        singleton_default.mutate(() => {
+          scroll.scrollLeft = max / (total - 1) * index2;
+          tabbar.wheelListener();
+        });
+      }
+    }
+  });
+};
+const clickMore = (api2) => (name) => {
+  api2.setActive(name);
+  api2.scrollTo(name);
+};
+const removeItem = ({ state, emit }) => (name, silent = false) => {
+  const itemIndex = state.items.findIndex((item) => item.name === name);
+  const navIndex = state.navs.findIndex((item) => item.name === name);
+  if (~itemIndex) {
+    state.items.splice(itemIndex, 1);
+    state.items = [...state.items];
+    state.navs.splice(navIndex, 1);
+    state.navs = [...state.navs];
+    if (!silent) {
+      emit("edit", name, "remove");
+      emit("close", name);
+    }
+  }
+};
+const wheelListener = ({ vm, api: api2, tabs, state }) => debounce_default(10, (e) => {
+  const { $refs } = vm;
+  const { getBoundRect: getBoundRect2 } = api2;
+  e && e.stopPropagation();
+  $refs.scroll && ($refs.scroll.scrollLeft += ((e || {}).deltaY || 0) / 3);
+  state.tabMoreWidth = $refs.tabMore && $refs.tabMore.offsetWidth || 0;
+  state.navPaddingRight = state.tabMoreWidth + 1;
+  const { left, width } = getBoundRect2();
+  const barRange = { left, width, reserve: state.tabMoreWidth };
+  let { moreList = [], moreLeft = false, moreRight = false } = {};
+  tabs.state.navs.forEach((nav) => {
+    const { name, rect } = nav.getBoundRect();
+    const { left: left2, width: width2 } = rect;
+    const navRange = { name, left: left2, width: width2 };
+    if (navRange.left < barRange.left || navRange.left + navRange.width > barRange.left + barRange.width - barRange.reserve) {
+      moreList.push(navRange.name);
+    }
+  });
+  if (tabs.state.items.length) {
+    moreLeft = ~moreList.indexOf(tabs.state.items[0].name);
+    moreRight = ~moreList.indexOf(tabs.state.items[tabs.state.items.length - 1].name);
+  }
+  Object.assign(state, { moreList, moreLeft, moreRight });
+});
+const getBoundRect = (vm) => () => vm.$el.getBoundingClientRect();
+const handleClickDropdownItem = (tabs) => (name) => tabs.clickMore(name);
+const key = (opt) => opt.name + "-" + random();
+const emitAdd = (tabs) => () => {
+  tabs.$emit("edit", null, "add");
+  tabs.$emit("add");
+};
+const handleNavItemClick = ({ tabs, props: props2 }) => () => {
+  tabs.setActive(props2.navItem.name);
+  tabs.$emit("click", props2.navItem);
+};
+const getBoundRectNV = ({ vm, props: props2 }) => () => ({
+  name: props2.navItem.name,
+  rect: vm.$el.getBoundingClientRect()
+});
+const handleNavItemClose = ({ tabs, props: props2 }) => (e) => {
+  e.stopPropagation();
+  tabs.removeItem(props2.navItem.name);
+};
+const api$4 = ["state", "setActive", "addItem", "addNav", "scrollTo", "clickMore", "removeItem"];
+const renderless$5 = (props2, { onMounted: onMounted2, onBeforeUnmount, provide: provide2, reactive: reactive2, watch: watch2, computed }, { vm, emit }) => {
+  const state = reactive2({
+    items: [],
+    navs: [],
+    currentItem: computed(() => state.items.find((item) => item.selected)),
+    key: computed(() => state.currentItem ? state.currentItem.name : random()),
+    separator: props2.separator
+  });
+  const api2 = {};
+  Object.assign(api2, {
+    state,
+    setActive: setActive({ api: api2, state, props: props2 }),
+    addItem: addItem(state),
+    addNav: addNav(state),
+    scrollTo: scrollTo({ vm, state }),
+    removeItem: removeItem({ state, emit }),
+    changeCurrentName: changeCurrentName({ state, emit }),
+    clickMore: clickMore(api2)
+  });
+  provide2("tabs", vm);
+  watch2(
+    () => props2.activeName,
+    (name) => name && api2.setActive(name)
+  );
+  watch2(
+    () => props2.modelValue,
+    (name) => name && api2.setActive(name)
+  );
+  onMounted2(() => {
+    props2.activeName && api2.scrollTo(props2.activeName);
+    props2.modelValue && api2.scrollTo(props2.modelValue);
+  });
+  onBeforeUnmount(() => {
+    state.navs.forEach((n, i) => state.navs[i] = null);
+    state.navs.length = 0;
+  });
+  provide2("separator", state.separator);
+  return api2;
+};
+const getAddWheelListener = (window2, document2) => {
+  const { addApiName, removeApiName, prefix } = detectEventModel(window2);
+  const support = detectAvailableWheelEvent(document2);
+  const params = { addApiName, removeApiName, prefix, support, window: window2 };
+  const { add, remove } = getWheelListener(params);
+  return {
+    addWheelListener: (elem, callback, useCapture) => {
+      support === "DOMMouseScroll" ? add(elem, "MozMousePixelScroll", callback, useCapture) : add(elem, support, callback, useCapture);
+    },
+    removeWheelListener: (elem, callback, useCapture) => {
+      support === "DOMMouseScroll" ? remove(elem, "MozMousePixelScroll", callback, useCapture) : remove(elem, support, callback, useCapture);
+    }
+  };
+};
+const detectEventModel = (window2) => {
+  const flag = window2.addEventListener;
+  const addApiName = flag ? "addEventListener" : "attachEvent";
+  const removeApiName = flag ? "removeEventListener" : "detachEvent";
+  const prefix = flag ? "" : "on";
+  return { addApiName, removeApiName, prefix };
+};
+const detectAvailableWheelEvent = (document2) => {
+  let support;
+  if ("onwheel" in document2.createElement("div")) {
+    support = "wheel";
+  } else if (document2.onmousewheel !== void 0) {
+    support = "mousewheel";
+  } else {
+    support = "DOMMouseScroll";
+  }
+  return support;
+};
+const elemCbMap = /* @__PURE__ */ new WeakMap();
+const getWheelListener = ({ addApiName, removeApiName, prefix, support, window: window2 }) => ({
+  add: (elem, eventName, callback, useCapture) => {
+    let cb = callback;
+    if (support !== "wheel") {
+      cb = (oEvent) => {
+        !oEvent && (oEvent = window2.event);
+        const event = {
+          originalEvent: oEvent,
+          target: oEvent.target || oEvent.srcElement,
+          type: "wheel",
+          deltaMode: oEvent.type === "MozMousePixelScroll" ? 0 : 1,
+          deltaX: 0,
+          deltaZ: 0,
+          preventDefault: () => {
+            oEvent.preventDefault ? oEvent.preventDefault() : oEvent.returnValue = false;
+          }
+        };
+        if (support === "mousewheel") {
+          event.deltaY = -1 / 40 * oEvent.wheelDelta;
+          oEvent.wheelDeltaX && (event.deltaX = -1 / 40 * oEvent.wheelDeltaX);
+        } else {
+          event.deltaY = oEvent.detail;
+        }
+        return callback(event);
+      };
+    }
+    elemCbMap.set(elem, cb);
+    elem[addApiName](prefix + eventName, cb, useCapture || false);
+  },
+  remove: (elem, eventName, callback, useCapture) => {
+    const cb = elemCbMap.get(elem);
+    elem[removeApiName](prefix + eventName, cb, useCapture || false);
+    elemCbMap.delete(elem);
+  }
+});
+const { addWheelListener, removeWheelListener } = getAddWheelListener(window, document);
+const api$3 = ["state", "wheelListener", "handleClickDropdownItem", "key", "emitAdd"];
+const renderless$4 = (props2, { onMounted: onMounted2, onBeforeUnmount, reactive: reactive2, watch: watch2, inject, computed }, { vm }) => {
+  const tabs = inject("tabs", null);
+  const state = reactive2({
+    moreList: [],
+    moreLeft: false,
+    moreRight: false,
+    moreOptions: [],
+    tabMoreWidth: 0,
+    navPaddingRight: 0,
+    withAdd: computed(() => tabs.withAdd),
+    slotCustom: tabs.slots.custom,
+    separator: inject("separator", null)
+  });
+  const api2 = {
+    getBoundRect: getBoundRect(vm),
+    handleClickDropdownItem: handleClickDropdownItem(tabs),
+    key,
+    emitAdd: emitAdd(tabs)
+  };
+  Object.assign(api2, {
+    state,
+    wheelListener: wheelListener({ vm, api: api2, tabs, state })
+  });
+  watch2(
+    () => state.moreList,
+    () => {
+      state.moreOptions = state.moreList.map((name) => tabs.state.items.find((item) => item.name === name));
+    }
+  );
+  onMounted2(() => {
+    addWheelListener(vm.$refs.scroll, api2.wheelListener);
+    addResizeListener(vm.$el, api2.wheelListener);
+    api2.wheelListener();
+  });
+  onBeforeUnmount(() => {
+    removeWheelListener(vm.$refs.scroll, api2.wheelListener);
+    removeResizeListener(vm.$el, api2.wheelListener);
+  });
+  return api2;
+};
+const api$2 = ["state"];
+const renderless$3 = (props2, { reactive: reactive2, inject, computed, onMounted: onMounted2, onBeforeUnmount }, { vm }) => {
+  const tabs = inject("tabs", null);
+  const state = reactive2({
+    navItems: computed(() => tabs.state.items),
+    currentNav: computed(() => tabs.state.navs[state.currentIndex]),
+    currentIndex: computed(
+      () => tabs.state.navs.findIndex((item) => tabs.state.currentItem && tabs.state.currentItem.name === item.name)
+    ),
+    currentWidth: 0,
+    currentPosition: 0
+  });
+  let rafId, observer;
+  onMounted2(() => {
+    observer = new MutationObserver((mutationsList) => {
+      for (let mutation of mutationsList) {
+        if (mutation.type === "attributes") {
+          if (rafId) {
+            cancelAnimationFrame(rafId);
+          }
+          rafId = requestAnimationFrame(() => {
+            const nav = state.currentNav;
+            state.currentWidth = nav && nav.$el.offsetWidth || 0;
+            state.currentPosition = nav && nav.$el.offsetLeft || 0;
+          });
+        }
+      }
+    });
+    observer.observe(vm.$el, { attributes: true, subtree: true });
+  });
+  onBeforeUnmount(() => {
+    if (rafId) {
+      cancelAnimationFrame(rafId);
+    }
+    observer.disconnect();
+    observer = null;
+  });
+  return { state };
+};
+const api$1 = ["state", "handleNavItemClick", "getBoundRect", "handleNavItemClose"];
+const renderless$2 = (props2, { inject, markRaw, reactive: reactive2, computed }, { vm }) => {
+  const tabs = inject("tabs", null);
+  tabs.addNav(markRaw(vm));
+  const state = reactive2({
+    tabSize: computed(() => tabs.size),
+    withClose: computed(() => tabs.withClose),
+    separator: inject("separator", null)
+  });
+  const api2 = {
+    state,
+    handleNavItemClick: handleNavItemClick({ tabs, props: props2 }),
+    getBoundRect: getBoundRectNV({ vm, props: props2 }),
+    handleNavItemClose: handleNavItemClose({ tabs, props: props2 })
+  };
+  return api2;
+};
+function _extends$3() {
+  return _extends$3 = Object.assign ? Object.assign.bind() : function(n) {
+    for (var e = 1; e < arguments.length; e++) {
+      var t2 = arguments[e];
+      for (var r in t2)
+        ({}).hasOwnProperty.call(t2, r) && (n[r] = t2[r]);
+    }
+    return n;
+  }, _extends$3.apply(null, arguments);
+}
+var _sfc_main$4$1 = defineComponent({
+  props: _extends$3({}, $props, {
+    title: String,
+    name: String,
+    selected: Boolean,
+    navItem: Object
+  }),
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$1,
+      mono: true
+    });
+  },
+  render: function render4() {
+    var state = this.state, handleNavItemClick2 = this.handleNavItemClick, selected = this.selected, title = this.title, handleNavItemClose2 = this.handleNavItemClose, navItem = this.navItem;
+    var settingClick = function settingClick2(e) {
+      return e.stopPropagation();
+    };
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-tab-nav-item"
+      },
+      class: ["w-max h-11 sm:h-10 inline-flex flex-col justify-center group", "first:ml-3 last:mr-3 hover:cursor-pointer sm:first:pl-0 sm:last:pr-0 sm:first:ml-0 sm:last:mr-0", state.separator ? "mx-3.5 [&:last-of-type>div>span:last-of-type]:hidden [&:not(:last-of-type)]:mr-px" : "mx-3"],
+      on: {
+        click: handleNavItemClick2
+      }
+    }, [h("span", {
+      class: ["text-base sm:text-sm leading-6 sm:leading-5.5 group-hover:text-color-brand", state.tabSize === "large" ? "min-w-[theme(spacing.8)]" : "min-w-[theme(spacing.7)]", selected ? "text-color-brand font-bold" : "text-color-text-primary"],
+      style: state.tabSize === "large" ? "font-size: 1rem" : ""
+    }, [navItem.slotTitle ? navItem.slotTitle(navItem) : h("span", {}, title), navItem.slotSetting || state.withClose ? h("span", {
+      class: ["pl-2 inline-flex translate-y-0.5 text-xs fill-color-icon-primary", "hover:fill-color-icon-hover focus:fill-color-icon-focus", navItem.slotSetting ? "-translate-y-0.5" : ""],
+      on: {
+        click: navItem.slotSetting ? settingClick : handleNavItemClose2
+      }
+    }, [navItem.slotSetting ? navItem.slotSetting(navItem) : h(index$5())]) : null, state.separator ? h("span", {
+      attrs: {
+        "data-tag": "tiny-tab-nav-item-separator"
+      },
+      class: "relative left-3.5 inline-flex bg-color-border-separator w-px h-3"
+    }) : null])]);
+  }
+});
+var _sfc_main$3$1 = defineComponent({
+  props: _extends$3({}, $props, {
+    customClass: {
+      type: String,
+      default: ""
+    }
+  }),
+  setup: function setup23(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$2,
+      mono: true
+    });
+  },
+  render: function render23() {
+    var state = this.state, customClass = this.customClass, m = this.m;
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-tab-nav"
+      },
+      class: m("relative", customClass)
+    }, [].concat(state.navItems.map(function(item) {
+      return typeof item.visible === "undefined" || item.visible ? h(_sfc_main$4$1, {
+        key: item.name,
+        props: {
+          title: item.title,
+          name: item.name,
+          selected: item.selected,
+          navItem: item
+        }
+      }) : null;
+    }), [h("div", {
+      class: m("absolute bottom-0.5 h-0.5 bg-color-brand transition-all duration-300", {
+        "hidden": !state.currentNav
+      }),
+      style: {
+        width: state.currentWidth + "px",
+        left: state.currentPosition + "px"
+      }
+    })]));
+  }
+});
+var _sfc_main$2$1 = defineComponent({
+  props: [].concat(props),
+  setup: function setup32(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$3,
+      mono: true
+    });
+  },
+  render: function render32() {
+    var state = this.state, handleClickDropdownItem2 = this.handleClickDropdownItem, key2 = this.key, emitAdd2 = this.emitAdd;
+    var tabNavClass = state.moreList.length > 0 ? "w-max inline-block" : "w-full inline-flex justify-around sm:w-max sm:inline-block";
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-tab-bar"
+      },
+      class: "w-full h-11 sm:h-10 overflow-hidden relative"
+    }, [h("div", {
+      ref: "scroll",
+      class: ["scrollbar-size-0 w-full overflow-x-auto whitespace-nowrap", "before:block before:absolute before:w-0 before:h-11 sm:before:h-10", "after:block after:absolute after:top-0 after:right-0 after:w-0 after:h-11 sm:after:h-10", "before:shadow-[1px_-10px_4px_4px_rgba(0,0,0,0.08)] after:shadow-[-1px_-10_4px_4px_rgba(0,0,0,0.08)]", !state.moreLeft && !state.moreRight ? "before:hidden after:hidden" : "", !state.moreLeft ? "before:hidden" : "", !state.moreRight ? "after:hidden" : ""]
+    }, [h(_sfc_main$3$1, {
+      ref: "tabNav",
+      props: {
+        customClass: tabNavClass
+      },
+      style: "margin-right:" + state.navPaddingRight + "px"
+    })]), h("div", {
+      class: [state.separator ? "sm:invisible" : "invisible sm:visible absolute w-full h-px bottom-px bg-color-border-separator z-10"]
+    }), h("div", {
+      ref: "tabMore",
+      attrs: {
+        "data-tag": "tiny-tab-more"
+      },
+      class: ["inline-flex w-max h-11 sm:h-10 absolute top-0 right-0 z-0 bg-color-bg-1", state.moreRight ? "shadow-[-1px_-10px_4px_4px_rgba(0,0,0,0.08)]" : ""]
+    }, [state.moreList.length ? h("div", {
+      class: "hidden sm:inline-block w-11 h-11 sm:h-10 text-sm cursor-pointer"
+    }, [h("span", {
+      class: "inline-flex w-full h-full flex-col justify-center items-center"
+    }, [h(Dropdown, {
+      on: {
+        "item-click": handleClickDropdownItem2
+      },
+      props: {
+        showIcon: false
+      }
+    }, [h("span", {}, [h(index$8(), {
+      class: "fill-color-icon-focus text-base"
+    })]), h(DropdownMenu, {
+      slot: "dropdown",
+      props: {
+        popperClass: "max-h-[theme(spacing.80)] overflow-x-hidden overflow-y-auto"
+      }
+    }, state.moreOptions.map(function(opt) {
+      return h(DropdownItem, {
+        key: key2(opt),
+        props: {
+          itemData: opt.name
+        }
+      }, [opt.slotTitle ? opt.slotTitle() : opt.title]);
+    }))])])]) : null, state.withAdd ? h("div", {
+      attrs: {
+        "data-tag": "tiny-tab-add"
+      },
+      class: "hidden sm:inline-block w-11 h-11 sm:h-10 text-sm cursor-pointer",
+      on: {
+        click: emitAdd2
+      }
+    }, [h("span", {
+      class: "inline-flex w-full h-full flex-col justify-center items-center"
+    }, [h(index$6(), {
+      class: "fill-color-icon-primary hover:fill-color-icon-focus"
+    })])]) : null, state.slotCustom ? h("div", {
+      attrs: {
+        "data-tag": "tiny-tab-custom"
+      },
+      class: "hidden sm:inline-block w-max h-11 sm:h-10 text-sm"
+    }, [h("span", {
+      class: "inline-flex w-max h-full flex-col justify-center"
+    }, [state.slotCustom()])]) : null])]);
+  }
+});
+var _sfc_main$1$1 = defineComponent({
+  props: _extends$3({}, $props, {
+    item: Object
+  }),
+  setup: function setup4(props2) {
+    if (props2.item) {
+      props2.item.rendered = true;
+    }
+  },
+  render: function render42() {
+    var slots = "$scopedSlots" in this ? this.$scopedSlots : this.$slots;
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-tab-panel"
+      }
+    }, typeof slots.default === "function" && slots.default());
+  }
+});
+var _sfc_main$d = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["activeName", "modelValue", "size", "withClose", "withAdd", "beforeLeave", "separator", "optimized", "beforeClose"]),
+  emits: ["update:activeName", "update:modelValue", "click", "edit", "close", "add"],
+  components: {
+    TabBar: _sfc_main$2$1,
+    TabPanel: _sfc_main$1$1
+  },
+  setup: function setup5(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$5,
+      api: api$4
+    });
+  },
+  render: function render5() {
+    var state = this.state, slots = this.slots, optimized = this.optimized;
+    var runFnuc = function runFnuc2(fn) {
+      return typeof fn === "function" && fn() || "";
+    };
+    var hiddens = createVNode("div", {
+      "data-tag": "tiny-tabs-hidden",
+      "class": "hidden"
+    }, [runFnuc(slots.default)]);
+    var tabPanel = [];
+    if (optimized) {
+      var defaultSlot, vnodes;
+      if (state.currentItem) {
+        defaultSlot = state.currentItem.slotDefault;
+      }
+      vnodes = [];
+      state.items.forEach(function(item) {
+        if (item !== state.currentItem) {
+          return;
+        }
+        vnodes.push(h(_sfc_main$1$1, {
+          key: state.currentItem.name
+        }, function() {
+          return runFnuc(defaultSlot);
+        }));
+      });
+      tabPanel.push(h(KeepAlive, {}, function() {
+        return vnodes;
+      }));
+    } else {
+      state.items.forEach(function(item) {
+        if (item.lazy && item !== state.currentItem && !item.rendered) {
+          return;
+        }
+        var itemDefSlot = item.slotDefault;
+        var props2 = {
+          style: {
+            display: item === state.currentItem ? "block" : "none"
+          },
+          attrs: {
+            "data-tag": "tiny-tab-panel"
+          },
+          class: "w-full",
+          props: {
+            item
+          },
+          key: item.name
+        };
+        tabPanel.push(h(_sfc_main$1$1, props2, function() {
+          return runFnuc(itemDefSlot);
+        }));
+      });
+    }
+    return createVNode("div", {
+      "data-tag": "tiny-tabs"
+    }, [hiddens, createVNode(resolveComponent("tab-bar"), {
+      "ref": "tabbar"
+    }, null), tabPanel]);
+  }
+});
+function _extends$2() {
+  return _extends$2 = Object.assign ? Object.assign.bind() : function(n) {
+    for (var e = 1; e < arguments.length; e++) {
+      var t2 = arguments[e];
+      for (var r in t2)
+        ({}).hasOwnProperty.call(t2, r) && (n[r] = t2[r]);
+    }
+    return n;
+  }, _extends$2.apply(null, arguments);
+}
+var template$1 = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return _sfc_main$f;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return _sfc_main$e;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$d;
+  }
+  return _sfc_main$f;
+};
+var $constants$1 = {
+  TAB_ITEM: "TabItem"
+};
+var tabsProps = _extends$2({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default9() {
+      return $constants$1;
+    }
+  },
+  tabStyle: String,
+  activeName: String,
+  withClose: Boolean,
+  withAdd: Boolean,
+  size: String,
+  activeColor: {
+    type: String,
+    default: ""
+  },
+  modelValue: {},
+  editable: Boolean,
+  position: {
+    type: String,
+    default: "top"
+  },
+  beforeLeave: Function,
+  stretch: Boolean,
+  showMoreTabs: Boolean,
+  swipeable: {
+    type: Boolean,
+    default: true
+  },
+  popperClass: String,
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  },
+  dropConfig: {
+    type: Object,
+    default: function _default23() {
+      return null;
+    }
+  },
+  separator: Boolean,
+  // tiny 新增
+  showExpandTabs: Boolean,
+  expandTabsTitle: String,
+  expandTabsMode: String,
+  tooltipConfig: [String, Object],
+  optimized: {
+    type: Boolean,
+    default: true
+  },
+  beforeClose: Function,
+  overflowTitle: Boolean,
+  titleWidth: String,
+  // tiny 新增
+  moreShowAll: Boolean,
+  panelMaxHeight: String,
+  panelWidth: String
+});
+var Tabs = defineComponent({
+  name: $prefix + "Tabs",
+  props: tabsProps,
+  setup: function setup6(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$1 = "3.undefined";
+Tabs.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Tabs.install = function(Vue) {
+  Vue.component(Tabs.name, Tabs);
+};
+Tabs.version = version$1;
+const computedIsClosable = ({ rootTabs, props: props2 }) => () => props2.withClose || rootTabs.withClose;
+const computedActive = ({ nextTick, props: props2, state }) => () => {
+  const active = state.rootTabs.state.currentName === (props2.name || state.index);
+  if (active) {
+    state.loaded = true;
+    nextTick(() => {
+      state.animateShow = true;
+    });
+  } else {
+    state.animateShow = false;
+  }
+  return active;
+};
+const computedPaneName = ({ props: props2, state }) => () => props2.name || state.index;
+const watchTitle = (parent) => () => parent.$emit("tab-nav-update");
+const api = ["state"];
+const renderless$1 = (props2, { computed, inject, reactive: reactive2, watch: watch2 }, { parent, nextTick }) => {
+  const rootTabs = inject("rootTabs");
+  const api2 = {
+    watchTitle: watchTitle(parent),
+    computedIsClosable: computedIsClosable({ rootTabs, props: props2 })
+  };
+  const state = reactive2({
+    index: null,
+    loaded: false,
+    animateShow: true,
+    rootTabs,
+    active: computed(() => api2.computedActive()),
+    paneName: computed(() => api2.computedPaneName()),
+    isClosable: computed(() => api2.computedIsClosable())
+  });
+  Object.assign(api2, {
+    state,
+    computedActive: computedActive({ nextTick, props: props2, state }),
+    computedPaneName: computedPaneName({ props: props2, state })
+  });
+  watch2(() => props2.title, api2.watchTitle);
+  return api2;
+};
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key2 = _step$value[0], val = _step$value[1];
+    target[key2] = val;
+  }
+  return target;
+};
+var _sfc_main$c = defineComponent({
+  name: $prefix + "TabItem",
+  componentName: "TabItem",
+  emits: ["tab-nav-update"],
+  props: {
+    title: String,
+    name: String,
+    withClose: Boolean,
+    disabled: Boolean,
+    lazy: Boolean
+  },
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api
+    });
+  }
+});
+var _hoisted_1$a = ["aria-hidden", "id", "aria-labelledby"];
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return !_ctx.lazy || _ctx.state.loaded || _ctx.state.active ? withDirectives((openBlock(), createElementBlock("div", {
+    key: 0,
+    "aria-hidden": !_ctx.state.active,
+    id: "pane-" + _ctx.state.paneName,
+    "aria-labelledby": "tab-" + _ctx.state.paneName,
+    class: normalizeClass(["tiny-tab-pane", _ctx.state.animateShow ? "active-item" : ""]),
+    role: "tabpanel"
+  }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$a)), [[vShow, _ctx.state.active]]) : createCommentVNode("v-if", true);
+}
+var pc = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render]]);
+const renderless = (props2, { inject, onBeforeUnmount, reactive: reactive2, toRef, markRaw }, { slots, vm }) => {
+  const tabs = inject("tabs", null);
+  const { lazy } = props2;
+  const item = reactive2({
+    title: toRef(props2, "title"),
+    name: toRef(props2, "name"),
+    slotDefault: slots.default,
+    slotTitle: props2.renderTitle ? toRef(props2, "renderTitle") : slots.title,
+    slotSetting: props2.renderSetting ? toRef(props2, "renderSetting") : slots.setting,
+    lazy,
+    selected: false,
+    vm: markRaw(vm)
+  });
+  item.selected = (tabs.activeName || tabs.modelValue) === item.name;
+  tabs.addItem(item);
+  onBeforeUnmount(() => tabs.removeItem(item.name, true));
+  return {};
+};
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key2 in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key2)) {
+          target[key2] = source[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var _sfc_main$b = defineComponent({
+  props: _extends$1({}, $props, {
+    title: String,
+    name: String,
+    selected: Boolean,
+    renderTitle: Function,
+    renderSetting: Function,
+    lazy: Boolean
+  }),
+  setup: function setup$15(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api: null
+    });
+  },
+  render: function render6() {
+    return null;
+  }
+});
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key2 in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key2)) {
+          target[key2] = source[key2];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$b;
+  }
+  return pc;
+};
+var $constants = {};
+var tabItemProps = _extends({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default10() {
+      return $constants;
+    }
+  },
+  title: String,
+  name: String,
+  withClose: Boolean,
+  disabled: Boolean,
+  lazy: Boolean,
+  selected: Boolean,
+  renderTitle: Function,
+  renderSetting: Function
+});
+var TabItem = defineComponent({
+  name: $prefix + "TabItem",
+  componentName: "TabItem",
+  props: tabItemProps,
+  setup: function setup7(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+TabItem.install = function(Vue) {
+  Vue.component(TabItem.name, TabItem);
+};
+TabItem.version = version;
+const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADdElEQVRIS+2WT2hcVRTGv+++SZqklLQaolCqS1uwuCga3Lz8s5XOTJLVuBHcdCFmJo2VYpUgjli0YlFJMoFC3QhFaFY1kwn9k3/ThaTYRS2IuCvWRUssrU2TZvLe/eRNMrFNZiY1ybJ38Xjce8753XPe+e59RJnR1JbYbX21AtgraTeBFwFuE7EtcKNwH9B9ATdI/g7gunE4OjHUH7wXHVw563Z8sAu5h+8CeEfArhJ+C0vzFcXWCfwJ4AdUVp3KnvsmeF8ey8A3Ysdq52dmPifVKcEh+ADQGIyZIvmrsfY2K820qaiZvjT41b0gQuBjF2brlLN11ph6WfuKgAZALRBqSPgAU1t3mE9GzvT9k69K8Ghu737J87wLkF4geYXkyfqaivTg4Ldz5Upeai0WO1J960GuDdJRAa+CvFEJHBjNpP5ga3v3c7kF7zqg7SS6spmBU+uBlPJpjMTfk0WvoDvVVTV76YY7T0s4BPLDy5nU15sJK8RyI/FjsjphyNMB8KaEnU7I7CnXXRvZiBt5f49s7jcSf9E92HlXQK0huyczqd6NBC7l64YT3ZL9juStIMOzEmIE5+HoUDY9cGYzoW608234/F7QFtD8yJbokZ2ezf0i6fl825JjFE+yoe7iRDLprQfelEyGNDW9X9RRSS2LcuBMiHh5URbheIMvjAra+ohE74A8T2DKGFxzHN52zJbp2tBrfw8OvuUHdrHYWeeed+VZ387X+b7qrcWiDqU3AT1TiJXXNBHOZlLZZeG74bgLIfM4tGh+AnE3vyJsL2i5ZCWI2ZDjhMeH+iaXhV8wbm7ravR8PxOcEusp5SofYtYwFJ0c7h3/L9sVVk3RRJNv7fCGoeQcxWh2pH/sUcSqwztYbIwcbrby0uuGknMhg7bxdGp0ZdZFgYGRezDRIioNqfp/lZecc2jaJ4b7LhXzKwnMd2803upZDD0plMBDku2TmdTFUpssC8yXNxzfL+knAVXlMg1gcJyObLrvwhp2axfMjXYdgO+fKwUNTikZdlwe7j+/VrQ1MywEcMOJLyX7UdHvQnMim+n/eC3YKh2Wc3DDiaRkPy0ORDKbGfjsKfBpSR/rATeS6JG1x4s1hgF7JkdSX2xq0zRHDu/zrPczgJU/vwshE3p9fLj36qYCg2BLN0kPgH1Lwa+GHOd44a57EuC/QwB9PFNZMMoAAAAASUVORK5CYII=";
+const _withScopeId$4 = (n) => (pushScopeId("data-v-d3437e1d"), n = n(), popScopeId(), n);
+const _hoisted_1$9 = { class: "option" };
+const _hoisted_2$8 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createBaseVNode("div", { class: "required" }, "*", -1));
+const _sfc_main$a = /* @__PURE__ */ defineComponent$1({
+  __name: "info-filterStatus",
+  setup(__props, { expose: __expose }) {
+    const { t: t2 } = useI18n();
+    const userStore = useUserStore();
+    const checkList = ref([]);
+    const options = ref([
+      { label: "A", text: t2("userInfo.status.optionA") },
+      { label: "B", text: t2("userInfo.status.optionB") },
+      { label: "C", text: t2("userInfo.status.optionC") },
+      { label: "D", text: t2("userInfo.status.optionD") }
+    ]);
+    const reset = () => {
+      checkList.value = [];
+    };
+    watch(checkList, (newValue, oldValue) => {
+      userStore.setInfo({ filterStatus: newValue });
+    });
+    __expose({
+      reset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$9, [
+        _hoisted_2$8,
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.status.status")) + ":", 1),
+        createVNode(unref(CheckboxGroup), {
+          modelValue: checkList.value,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => checkList.value = $event),
+          type: "checkbox",
+          options: options.value
+        }, null, 8, ["modelValue", "options"])
+      ]);
+    };
+  }
+});
+const infoFilterStatus_vue_vue_type_style_index_0_scoped_d3437e1d_lang = "";
+const infofilterstatus = /* @__PURE__ */ _export_sfc$2(_sfc_main$a, [["__scopeId", "data-v-d3437e1d"]]);
+const _withScopeId$3 = (n) => (pushScopeId("data-v-3e258a22"), n = n(), popScopeId(), n);
+const _hoisted_1$8 = { class: "option" };
+const _hoisted_2$7 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createBaseVNode("div", { class: "required" }, "*", -1));
+const _sfc_main$9 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-filterType",
+  setup(__props, { expose: __expose }) {
+    const { t: t2 } = useI18n();
+    const userStore = useUserStore();
+    const checkList = ref([]);
+    const options = ref([
+      { label: "A", text: t2("userInfo.type.optionA") },
+      { label: "B", text: t2("userInfo.type.optionB") },
+      { label: "C", text: t2("userInfo.type.optionC") }
+    ]);
+    const reset = () => {
+      checkList.value = [];
+    };
+    watch(checkList, (newValue, oldValue) => {
+      userStore.setInfo({ filterType: newValue });
+    });
+    __expose({
+      reset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$8, [
+        _hoisted_2$7,
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.type.type")) + ":", 1),
+        createVNode(unref(CheckboxGroup), {
+          modelValue: checkList.value,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => checkList.value = $event),
+          type: "checkbox",
+          options: options.value
+        }, null, 8, ["modelValue", "options"])
+      ]);
+    };
+  }
+});
+const infoFilterType_vue_vue_type_style_index_0_scoped_3e258a22_lang = "";
+const infofiltertype = /* @__PURE__ */ _export_sfc$2(_sfc_main$9, [["__scopeId", "data-v-3e258a22"]]);
+const _withScopeId$2 = (n) => (pushScopeId("data-v-17ff8179"), n = n(), popScopeId(), n);
+const _hoisted_1$7 = { class: "option" };
+const _hoisted_2$6 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createBaseVNode("div", { class: "required" }, "*", -1));
+const _sfc_main$8 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-filterStartTime",
+  setup(__props, { expose: __expose }) {
+    const userStore = useUserStore();
+    const startTime = ref("");
+    const reset = () => {
+      startTime.value = "";
+    };
+    watch(startTime, (newValue, oldValue) => {
+      userStore.setInfo({ startTime: newValue });
+    });
+    __expose({
+      reset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$7, [
+        _hoisted_2$6,
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.filter.startTime")) + ":", 1),
+        createVNode(unref(DatePicker), {
+          modelValue: startTime.value,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => startTime.value = $event),
+          "value-format": "yyyy-MM-dd"
+        }, null, 8, ["modelValue"])
+      ]);
+    };
+  }
+});
+const infoFilterStartTime_vue_vue_type_style_index_0_scoped_17ff8179_lang = "";
+const infofilterstarttime = /* @__PURE__ */ _export_sfc$2(_sfc_main$8, [["__scopeId", "data-v-17ff8179"]]);
+const _withScopeId$1 = (n) => (pushScopeId("data-v-549c1142"), n = n(), popScopeId(), n);
+const _hoisted_1$6 = { class: "option" };
+const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("div", { class: "required" }, "*", -1));
+const _sfc_main$7 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-filterEndTime",
+  setup(__props, { expose: __expose }) {
+    const { t: t2 } = useI18n();
+    const userStore = useUserStore();
+    const endTime = ref("");
+    const reset = () => {
+      endTime.value = "";
+    };
+    const handleBlur = () => {
+      const start = new Date(
+        JSON.parse(JSON.stringify(userStore.startTime))
+      ).getTime();
+      const end = new Date(JSON.parse(JSON.stringify(endTime.value))).getTime();
+      if (end < start) {
+        endTime.value = "";
+        TINYModal.message({
+          message: t2("userInfo.time.message"),
+          status: "error"
+        });
+      }
+    };
+    watch(endTime, (newValue, oldValue) => {
+      userStore.setInfo({ endTime: newValue });
+    });
+    __expose({
+      reset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$6, [
+        _hoisted_2$5,
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.filter.endTime")) + ":", 1),
+        createVNode(unref(DatePicker), {
+          modelValue: endTime.value,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => endTime.value = $event),
+          "value-format": "yyyy-MM-dd",
+          onBlur: handleBlur
+        }, null, 8, ["modelValue"])
+      ]);
+    };
+  }
+});
+const infoFilterEndTime_vue_vue_type_style_index_0_scoped_549c1142_lang = "";
+const infofilterendtime = /* @__PURE__ */ _export_sfc$2(_sfc_main$7, [["__scopeId", "data-v-549c1142"]]);
+const _sfc_main$6 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-filter",
+  props: {
+    activeName: String
+  },
+  setup(__props, { expose: __expose }) {
+    const props2 = __props;
+    const userStore = useUserStore();
+    const filterstarttime = ref();
+    const filterendtime = ref();
+    const filterstatus = ref();
+    const filtertype = ref();
+    const { t: t2 } = useI18n();
+    const reset = () => {
+      if (props2.activeName === "1") {
+        filterstarttime.value.reset();
+        filterendtime.value.reset();
+      }
+      filterstatus.value.reset();
+      filtertype.value.reset();
+      userStore.resetFilterInfo();
+      userStore.setInfo({ reset: true });
+    };
+    const submit = () => {
+      var _a, _b, _c, _d;
+      if (props2.activeName === "1") {
+        userStore.startTime === "" || userStore.endTime === "" || ((_a = userStore.filterStatus) == null ? void 0 : _a.length) === 0 || ((_b = userStore.filterType) == null ? void 0 : _b.length) === 0 ? TINYModal.message({
+          message: t2("userInfo.filter.all"),
+          status: "error"
+        }) : userStore.setInfo({ submit: true, sort: void 0 });
+      } else {
+        ((_c = userStore.filterStatus) == null ? void 0 : _c.length) === 0 || ((_d = userStore.filterType) == null ? void 0 : _d.length) === 0 ? TINYModal.message({
+          message: t2("userInfo.filter.all"),
+          status: "error"
+        }) : userStore.setInfo({ submit: true, sort: void 0 });
+      }
+    };
+    __expose({
+      reset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", null, [
+        __props.activeName === "1" ? (openBlock(), createBlock(infofilterstarttime, {
+          key: 0,
+          ref_key: "filterstarttime",
+          ref: filterstarttime
+        }, null, 512)) : createCommentVNode("", true),
+        __props.activeName === "1" ? (openBlock(), createBlock(infofilterendtime, {
+          key: 1,
+          ref_key: "filterendtime",
+          ref: filterendtime
+        }, null, 512)) : createCommentVNode("", true),
+        createVNode(infofilterstatus, {
+          ref_key: "filterstatus",
+          ref: filterstatus
+        }, null, 512),
+        createVNode(infofiltertype, {
+          ref_key: "filtertype",
+          ref: filtertype
+        }, null, 512),
+        createVNode(unref(Button), {
+          type: "primary",
+          onClick: submit
+        }, {
+          default: withCtx(() => [
+            createTextVNode(toDisplayString(_ctx.$t("userInfo.btn.search")), 1)
+          ]),
+          _: 1
+        }),
+        createVNode(unref(Button), { onClick: reset }, {
+          default: withCtx(() => [
+            createTextVNode(toDisplayString(_ctx.$t("userInfo.btn.reset")), 1)
+          ]),
+          _: 1
+        })
+      ]);
+    };
+  }
+});
+const infoFilter_vue_vue_type_style_index_0_scoped_67ec3d9a_lang = "";
+const infofilter = /* @__PURE__ */ _export_sfc$2(_sfc_main$6, [["__scopeId", "data-v-67ec3d9a"]]);
+const info1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABKCAYAAAAYJRJMAAAIkklEQVR4Xu2ce2zT1xXHv+dnO3EejmM7CXGSEvEqhEIpa9dQpMIKWUcHJG3VIXW0ZY9OmiqVCiqNbeqmauoenQSo/WNdJWCs7dbBaAcE6MpDLR2iFRVrN94lsAZi5+lXHD+S2L8z3V/qQBIntuOfE+zk/pXHueee8/nd332cc3+XkEBpdvAdTKiVgblglBFQxoAhARVjLkqAlwE7CHYJOE+M/VYLnYvXEIolaGfOlV3YAOD7YMyIJZ8W/ydcAfAnyYStZUT+kWweFhAzS81OPC0DLwKwpoXjiRvZLAEvWs3YRkRytOpRAbUzG3pceIsZtYm3mX41iLBfZ8LaEqKuwdYPAWR3caXMOADGvPRzNQmLCWclwqoyEzXerGUAIAdzQdCJTxioSqKptK1KwAW9GYssRJ0RJ/oBiTHH5kI9GN9OWw/VMJxwqNyE1ZExqR9Qk4M3AtisRhsZoOP5CgttEX4ogFwuLvQxroBhzgDnkneB4MwjzDCZyK0Asjn5d8zYlLzmzNFAhJfLzfRTYmaN3YVWZlgyx73kPSGCo8yEKWR38RJZxvHkVWaeBknCUmpysBiMxFZisgwiIEnYQjYHH2Vg+SSdoQQIOCYAnZ+oC8NYnUIsHKnJyW4wjLGEJ+T/CR4xBvF4On/pyyBO/rsTbc5eZVFWbNZhyT0FmDFVP55m9bc9roBOnPbi0EfOKCAI31lhwcKqvHGHNG6AOpwhbH3DDmaGJBGmleshM+NLW7fyN51OwsZ1ZTAaNOMKadwA7T3mxKn/ehXnn6orwZzpOcrPp8/68M6RDuXne+804OHl47v7GVNAnq4wDp9w43pLN5zukNJjsrSEZ58og8Wk7e8pr/2tBdebu5WeZcjt60HZ2RIqrdmoWWyEIW/setWYAfL5Zfxxdwscrt4hr0zNfYVYtujGRHrlWhA797UhHBo6f+TlaPDsE1YU5I8NpDEDtOtQB/5zyafAISJopD5OuTkarHukBNYi3QBwXQHG9r+3wOHuAxqWoYxNonxtbj4e+9bYbB3HDNBLrzXBHwzDmK/FM9+1wpD3FaE4h2CvT8Yf/toMT1dI0bHpR+Vx1kxOLKWAAkEZJz/3oqExiGvNQYgOUFqkw/ony0Zl9ZaddnS4epUeONWajZmVeiy+y4AcfWKwE2k8ZYAuXAngH0cd6PKHh9hjMepQkOD03ekNw+EZOn7l52rwSI0FVTP6ZkG1S0oAnfnCj7cPtvfbqpEI5gItOjp7wVGzT4m5VVSohaszjLB8YxB/fGUx5t+em5iiOKRVB9Tll7H1z3YEgmFlmn6g2ogl9xih0wKN9m7sOeyIOpPFtpUwxaJD7XIzppVnozcEHP/Ugw9PeSDLjBy9BhvWlSE/V93XTXVABz504eRnfVmTFfeblH3V4OIPyuiNMoWPBEmvk5CdPTTPefzTTrx/wqVUXbywAKu+YYrNOgEJ1QFFBlLxRF/4cQUoZvY/AWujiIqB/9evN8EfCKPIpMPG741uAhjOCtUB/fLVawiFGTMrc/CDR0uS8z7O2jvebUNDYwBaDeFX66fGWSs+MdUB/XxrX+Z2/u15eHxlUXxWJCn19sEOnPmibxH6mw2VSWobWH0SUAyck4AmASX3xk32oHTuQZf+F8ThEy7Mm5WLB24Khwz2aUIO0mcv+yFCJGI7kZMt4RfP3Dbss55wgMRebtd7HcoWQpS6ZRZUL8ifGIDCYaDTF4Kp4EaI9WbPP7vgw573HV8Fxwi1y0xYtGDkk8YZ1YNe39WKRnsQ1QsMqFs2MCB/+pwP7x65Aaeuxozq+cP3nAjYjAK0eYe9P65z97x8PFpjUfZrp850Ye9RkSNjJSAm/n73vPjyYhkFyN7Wgx3vtCnhV1EWVuWjojQL9R+IHXkfHBFvTiRpmFGABJTmjl7s2NMKX2BgtFHEj9asKMKdsxMLfGUcIAGp1dGL7Xta+0OyIuq45qGiUUUFMxKQgNTuDOHN+jaInNljD44+rpyxgCKzkJj6NUnkATMeUHLbSWASUAyCaQXohVeuKVuEOdNz8VRdcbKdI676b+xrx8WrfiWL8tJzt3jI9eVtNni8IRQatPjJ02OTHv79Nhvc3hCMBi02qdym6vGg3e858PnFvs+u1q4qwR2zUpPxjHStc5cD+MuBNuXXu+bkY81D6h5qUB1Qc3uvcshACVPoNcrCb/a01Jw3FPGi3f/sUJKUYh0lDkVYiweeEonrHR1BSHVAoq0PPvHgyMfu/mbLp2SjrDgLWVnqJMl6ehj29h7YWrv72/jmfYUjBtVGCyolgGQZOPqxGyLrGTnTM1oDY9UTe7elXy+AOIQlqZt1VppOCaCIU9dbenDspBtXm4JKMlHNIpKE0yv0WL64ELeVZqmpeoAucdLex0Biu8MEzRHpYZGPVwuSgJOrl1Ke1ibAL07aN2TM9/AJPriY4oQGsjn5I2bcH1N4AgoQ4V/iFdvGwA8noP8xXSZgO9lcXMcy9saUnoACJOFhUu7mcEIcbU/tkjf9AAckM4oiH/WKayjWpp8PKbSY8FaFmZ5UALW4eXpIxgUwUregSKEvqqsm9GglVJUW0tX+tb/Nwa8wsF71xtJQIQGvllvoOWUlHbHf6WRjgJV7O+akoU+qmUzARb0Z1ZH7OwbsHts8PLMnjFNgqHtUVDXzU6yI4MrS4N4SIzVEWhqyvW528dIwY9+E+46V4NEQ6qwmGnCHQNT4g62TZ3Mv6gHMSvEzu1XUXyYdVpcX0KXBBg0boHG72eQLYzMI68RXk7eKJ2raQQQZjJ25Ep4XF5lE0x0zgiVuvpMJvwWwMlNAKWCAgxLjZ7FuxIsJKEK1xcsl4TBWQ0YtA3OJYWUgvuMXaj72UegiwMeEZgLOQ8J+jQb1pQbqC2THKHEDiqZHXOnFgVv8HsUceG++cisWkLjHoEQVZar8/wGqUQvK/wAGRQAAAABJRU5ErkJggg==";
+const info2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAKZ0lEQVR4Xu1ce3CU1RX/3X1mN9kkuxuSbHaT8MaKoEUYQYRWaZHaSpDiDKMFhAGKUKmtbVVmLC2tDs4oM61Uap1C0WLpgEh4WMkgQygUEYGCVMQQNI99kGR389pks8nu7dzvyy77SLKP79tks3L/yua799xzfvfcc88953wfQZzN1kxH+SjK4MNdFCiiBAZQaOMkM9jdOwiBFYCFUFQRGQ4VZuMsIYTGygiJpSOlVGZ2YhWANaCYHMuYYdDHQgjeoTJsNmUTezR+owJlcdKFPh82AxgXjdiwfE7QIgFeNmixhRDS1Z8M/QLFtMjqxGs+ijXDEoD4mT6jUGJBfhax9TW0T6Cam6m23Yd3QXF//PMN6xFmIsHDRi25EC5FBFC99qjiawgShw0BGgjBtCIdqQ0GKwIos4P+iVKsHdZ6IZR5gosyLWYWEuLykwoByuykZdSH/ULnSYfxhOB1o46siwCKUiq1OHCZArelg6BCZSAEPXIpbs/PIVW9W5InabHT1T7gDaETpNn4vSY9eTQEKLOdfkKBu9NMUEHiEAKfRI5Cg4Y0cjbK3kFNnZ2oE0Q1TQcTCVYYtWQHB5TZQddRiq1pKqsgsQhBuVFHFviB+gul3F3uVgtDgBB8ZdSRUX6gDlKKH9xCqQ8ECLpMOpLhB+ocpZhyC6h+EJAjjwOq3kGrQTE6mUBZG7tx4JgDo0xKzJ2Zm/BUdTYPDh93YlxpBubMyEmYTjwDZVKMGTSg9hyx48Jn7Rx/z640IUcjjYfXQN9/HG7Cp1+4QAjBhtUmZKolCdGJZ9CgAvX3g4347FoHx99PlxahQC+Ph9dA3x37GlBV08n9/sUKI3Q5soToxDPoFlAxopV0oFydPnR0+gAKHDhuR3Wtm2Nt6fx86HMT06h9R5tQY+EDkSseKUCOhtcohZJAo5ZCkoSdmBSguroojn7UjIufu9De4Y1xzcTpJpdLOCM/e2oOSgwKcYgCEB2oqho39lXY0dLeIxqTiRJiYD14Xy5I1KxA9BlEBeqLGjd2vtcASvkMkERCOIOdp+W3WI3FjdZ2XsPGj1RBqUhsj3xpdqPdxdOZMEoFhZyn0+bywtroQZfHF5CcgTVvVuKuiJ+QaEB1d1O8ssPMMcvamBIVFs3Vh7gAg3HqdfdQVJxqxqnzbeAMI8uvLTYI3oaiAXXmUjvKP+RTY4YRCqx9zABpmMIMBlB+DTh03In/XGjlfk4cq8bjD4+Ivr8G6CEaUDvLG3H1Ou8jLVtQgAmjMiKmrTzbiiMnnVBlSPHcKhPkCbo/R0+34NhHzdBkyvCrlcaIBWETMw3ftK0OXi8FM/C/WVcsyFaJBtQf37bC1uThwHnhyWKoMiLtDzNd1+vcGKGTIzsrMa+c0Wd0rtW6Oc3NGsAr37rLBksD70Y8v7oYmszEbCIbLxpQr2y3wNHSzSV7XvpZiSA1F2uwmB78LaBiXJW0BmrbbhvqrPzWE3IJT9rW2/BjU4zrlJxuzI+r+sqNvRXsFKZQKaV4Ya0wnpKgUckRXgjVWXfn4HuzhTmdaQ/U2FIVlszPT9gVEd0zv3nqAYy5oWzsaqfNlmF0cQYmT1CLwkoSNCp13ANREOolMuyA6vEC1XVuWGxdaHF5wSowNVlSGAuUGFOSwRzDpLRhA5TbQ3HibAtO/7ctJDoQjIpCIcGMOzWYPS0HKqUIsZUg4sMCqFqrB7sONqLNFVuMK0stxY/mj0CJQSmadqU8UNdq3HirvAE9Xj5kwjIvd4xTc3Eofa6Mu+jam3vw+fVOXK7qCMTCpFKCJWX5GF8aeTlPBL0kAAUwv6W/xlJLUydmQa2KfkFlALz+jhWdXXwgjsXYfzhXj5HGvjWl1toFlhKzO9mdE1AqJVi32IA8XYJhiuRuvejrNWViFhfUi9Z27m/A1S/5tNSY4gwsLcuHXH7T9rAgnVwWaovY/94qb0R1LT9uXKkKyxfmR5sq6vOkaFS0WedMz42a4a2zerBtN3vRAFz86pnlRVAHhW5sTd1445825OvleHJxYciUTAO3/M0CV29iY83iQsH2KilALV9Y0C9WzNAaRkRPUx2udOLUeT5COW+WFrOnZofQPHmuDe+fcHD/Y0HA8PhW8POZU7Lx/W8JewMlCUCJ43C+tssKawMfCOzr5s9i4ocreaCeXWVCTlggkCUxNr9Zzz0vzFNg/RJDNEUf8HnKAvXin+vh6vRyBnnj2uIIIYKBWvloITQqKYgEyNPeNNy/31aPDrc3VaMH4mjUxq116O72ITtLhudWGQcEKvjhbaPVWFrGJxJeftPM5ReZq/C79cKirqJp1Ks7LLA386HgF58uERTIZ0K+ut0Ce0s35zdteqoE0rCrSbBGBQNlyFPgqSUG+HzAxq21XHIhV8MnIYQ00YAKjiY+vbSIO42EtLcPNOJKNZ/VeWJhQYTj2GjvQX1v4sA/j0xKuPseOx1ZjcNf373BPWLO6bIFwlwE0YAqP+bAmYss6Qh8Z0YuHpgurMDr/P9c2FvRxNFLxBcK9sEe+a4e0+7IErJu4mVhgv0eZhNWLipAaVHidy2Ph888+4s8Fs3Nw5SJmTEJe+GKC3s+4EFWq6T45XIjlAIvyaJpFGPKXwnH/ma25d5vargaA3YSsd/9Nfakr+q7jz9tx/6jfPaZgT/vPi1mTtEMCBaLLvzrhDNwNyx7QI977hSmTWxCUYHq8lBs33cjkPmIafl7O+XrFfjJ44aIeNKeD+y4cIUvZ2RtpDGDcx6NBaElPZYGD96vdOJ6PV9/xdrkCZlY/FBePGz021dUoNgs7LSp/KSVS3mzEyee9vNlxogLLAvU7T3ShEtXA2+DcSSZ28DCvaw5W3vQGlZmNGl8JhY9mCc4Vu7nX3Sg/ISdrV6uXpOl2TvcPi4N3u/WI3wZ0D2T+98ibEt9eLqFcyAHaiw1xQ6SaFs0ngUUfevFO3m8/VmU89zlds5tqLvh4RxS1lgRhilfgdvHqsEiE2JHN8OBugSKSfEyP5T9WQkkJUCGQtywb18yKZQw8G8u2OkRCswdSsFTdW5C4C3Sgl8Os53uoMATqcrsEPNlNumJiQPK4qDP+yheGmKGUnN6guMmHbmfA8rmoJN6KC6lJqdDztUzJj3ZErCEg/Hi0JCLnAADcinGFuSS6gBQZjv9LQV+nQCttB1CCE4bdeReJmAAKDul2W4nqimFOH5/GsAnleDbBi2pDAGKM+pOut7nwx/SQEbhIhAcNulI4K3YEG/t6/5dFj+6fX2fJcKtrW+levTg42S/ESp8yZNEgcAjAeYU6cjJ4Bn69P8tbfQbPg8qAAgrfkySLEkjS+AhwDKjjuwOn6Pfi1JDOy30dOE9ANOTxlgKEWbbDQQLjTpyqi+2BrxRUkqVFic2UYr1AMQpDUkhcAI2iaCcAOvDvxkVdeuFy2Jx0BJQbPIRPAYKYSmWFAKKEPybABvC7VHcGhU+oNfXeghAGSjuAvu8JBBaGJBCQISx4uY+MUlRBQkOEYrygTQoZhsVq7w2SjNlnRBWyB3rZAn2k3ejMyeH8MUKCbbkR70SZCzVhv0fDl7AS3ZX8lsAAAAASUVORK5CYII=";
+const info3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAMVElEQVR4Xu1ce3TT9RX/3Dyapk2bJn0mKQ/BBw9ZRcXiYyrykiEwZAxBwec5KOjm1LPtOHbcOaLHxzzOx1Enggo6nqIDBpY6USf4QIoKRVRYhbZJ2zRJ0zZJm9d35/vLWtrm9UvyS2Vh33P6V+/3fu/95H7vvd97b0JIYLV0sjJ/N2YxoJIRjACMYCgEQAmwGVxSQjcBFsZgJsIPMsKusgL8i4j8iQgSV0HGGDXaMZ8I9wKYyNhpDIpYzQl2At4iYKVRTyfFbIsJlMXBrgoE8SSACWKY/c/RELplhOfVwEqdjtpiyR8VKLOdPciAlRlhQfE+QcIxmQKzjPl0NBppGFCMsSyzA68xhoXx+GfU/wlOGcMCYyFVRdIrDKhGG3uVAbdkFAjilfHI5LjSWEBfDNzSD6gGG7sfwJ/F881IykZVNiYU55Klr3a9QDU7WIWfoYYxyDJS/QSUIsK7Jj3NiAhUo529yximJ8Avs0nlmFJeQP/sUVKwqIY2NhkBvJfZmiemHRFqjDpcTESM7wwBZWObAMxPjFXmU8vkmNDj2ElIB+xoZUBe5quemIYywiNGPa0QLMpsY9cGgV2JsThDqAmHy/U0TgCq0c5+xxgeO0NUT0hNIgSNOqj4A5oabewZBvwqIQ5nEHG2GuVFOdRI/3fksT91uQKXGLS0n1vUbgZM/TGMpNnmw9F/e9Dm9MPpCqDDFYDbE4AqSwZ1tgx6rQLlpSoMMWTBWJL1Y4gIkmOaqYCqBx2oFpsPB2pdOHLcDVubT7TyunwlKkbloLIiD1qNXPS+VAkHHShuLe/tc+KL2k4wJuRwwiorCllLvkaOvFw5ctRydHcH4fYEYXX4cNLcDZvzFKByOeGisRpMnqgV6NO9BhWoD/e34/3PnPD5goJehqIsXDAmF2POzkGhVhFXV2dnAAdrXQLI9v+CplbJcd0kHcaPzo27PxWCQQHK52fYUmXDoe9cgqxajQLTrihIWjluiDW1Luze5xD8GV/jx2hw/dRCyNP0lE87UFyRddusaGjqFhT66cVaTLm0AMr4BhTXALxehm177Kg50inQjhyixk2zi6HKitsCiMt7IEFageKKvLihCc02L7hPmTulEBeOkf6KfHaoE9vftyMYZBg5VI1b5pb0WtbufW34ts6DO+aVChE02ZVWoN7cbkXtMTeUShluu74Ew4yqZOWMu+/Qd25s2NkqBIjxozWYf20hurwMj7xUj0CA4TdLTCguTN6M0wbU+5868d4noYbGouuKcf45OTGV9fmBYyc8qD3uhsXqRXtnANy35efKUZCvwLnD1Bh7Tg50+dEj3IHDLrxV3Sqc88sZReC+bPO7rdBrlXjgNt5+TH6lBSirzY+/rDMLn+6kS7SYenlBVAm5MjyK8ZShwxW7F0lEuGB0LqZdVgBtXmTANlfZcPBIJ9QqGYr0StRbunHVBC2mXxFdBjHwpQWoN3dYUfu9G6ZSFZYtLANF8a2eriDe2G5FXUOXGFl7abKyZLhhRhFGjVCH7eN+8Zl1FjjaT+VcyxcZYCpNLaOXHKj6Ji9eXB+qx98+rxQjh2ZHBIHnRK9sbk4oK+/LiFvX7Ml6VI7ThPH/8qgLm3aFrqAU147zkRwongp8c9wtRJ/b55VEBIn7o1Wbm3pThoFEMhlPRpVosvkQCKVJERcHiweJgR8Gv87PrrMI0fbyC/Mx8ypdQhYbiVhSoHw+hpUvNcDnD+LW60txzrDI1rTzIwc+PtAeVfj7Fpeg4lw1vj/ZhZWrmmMqyZ86999qglrV/36bW7zgLwHuzwp1yUe7nsMlBeqb4x6s29YClUqGFXcOiZglt3UE8NSrjULIjrR4Zr36T0PBrYWvZY/Ww+UJPXmirasv0WJajICRsjlJffW2VtvxxeEOjDs3FwtnFkWUb8cHDuw7GN2aFHIO1LDevXc/Vo8OV2ygeJ62Ymk5lErpM/K0WNTTa82w2nyYN60IF42NnIE//kojnB3R04BkgOLKLJ5dgtEjw6OgFNYkuTN/+IV6eLqDuGN+GUaUh2fhPL96em1jTNmTBaryJ3mYM1kvFS5hfCTzUTySPfTcCeGA+242oUgf7kC/O9GF17bGds7JAnXecDVunhs5ykqBnmRAOdr9eHJ1yFoeWj404gueVzTf2h3Kb6KtZIEyFGfhnpsM/djyNOGljU3IVcuxZE5xSnhJBhR/gD6+qgH6fAXuWdxf4B4J+yaCYoF6br1ViHpefxB1jV4Eo/j1IWUq3LWwrB9bXot/Zq1ZiKArf80jafJYSQYUF8HdFYRSQcJfpHW8vgurtyR29fryOXDEjWfXWyPyHj0yB4tn97eaYye6sGZrMzQ5cjy4tDx5lKROD+JJwp8t3OpiLf6pv/zHociKEOrbXQHc81jk/ZEevgePuLC5qhWRrmU8WQf+X1KLEnP4c29aYGnxxiSddLEG0y/Lh6KPZfKsf/tHTuz7KlROHriWLigLq3d98Fm7UC6WwtEPOlD8WVH1sUMMpqJptHkK/PZ2U5gPWr2lBcfrPadnmSUQBIIBFjVL5mWQJ9c0wuWJ8doVDVGIcO7UQkw4v38VwdPN8CivbgYZ7ryhDEMNqVVXJbeoVZub0WT1YtmNhqgtqP2HO/F2tS1BOCKTc/9z942GMGv66ls3Nu60CqkBd+SpRDx+sqRA2Zx+PLUmlEtddL4G86byb31EXlt221BTG+qeJLvU2XIBpEjl4b9ubMYJc5fQJJ03LbocYs+WFKi+/od3XR641RS1ZOsPABt3hSqhySxuKYvnlGCoIbxyebTOg7XvtAiDhDwJNRQrkzmi3x5JgToV0XgexVBxXi4W/CxyFaFHiup9Tny43ym0msQuQ0kWbppVDF1++DOJZ+PPv2GBpdWLilG5WDAj9vliz5QMqFPXjvCL6YVCZ5iDdeOsEow9O/ar3mr3o2qvA7ye1XceYaASfEDjmolaoTcYzefs+dSJ6k/aIJcR7r3FKKpVLwYsyYD64PN27N7rwDBjNpYuKMU/PnRgb0274EzvXFgmSmDebOBgcWvg7Sovb1flyFGgVeC84dlxR35ChUOeuTNMqizA1Mu0YjAQRSMZUJt22fDl0U7MvkaPiRV54D7oxb+FrgAv8PMQrclJvlMbTxtLqw8vb2xCtzeIUWflYPGc4pQjXd8zJQPK0R7A9z94MGGcpldA/ihdtakZ7q4AiguVWDKnRJRlxQNl4P+//aELG3ZahTEh3stbttCAbInnDyQDKppyvFi35u1moarJR3RumFkUtemQKECcfm9NB3izgvu2Ip1SqEmJGSFK9Ky0A8UF4v7m9bdbhGvIF4+G116pS2li7oS5G7s+cuCkJTQlM3JINhbNKhY6xOlYgwIUF5zXq7ZUteLIsVDexBsC40flCldVbBeX9/iOnewSGhh8+CO0CJUVGlx3tT5ts1HCKYM9w8mTwR17HL0Tc1yIQp0Sw00qDDdkoyA/NJaYlUVwu4No6/ALw2Lccvj4DnfWPYtb0YwrdXGjoRQWNuhAcaF5ROTTd59/3Sk8MxJZPOM/e0g2Ki/Iw6iz0td1GSjTjwJUXyF4sslLIXUN3Who8qLTE+id8eQlXF6d5AOwRQUK8Comry2pBnSFEwE6WdpTQNnZO4xhTrKMpNzH56K8PoacbJmkuVAqMhLhCpOe9pLZzl4IMtyVCrNM3quQY0RZAdVRg4OtQBAPZ7Kyqehm0kNNRF38mwsLGLAhFWaZupcIJ016EgYiyG5nWjdgBUPqxZsMQ4wIL5j0tDyUtQFotLFqBkzJMD1TVqcn4vUCZXGwJYEgXk+Zc2YxaDDpMYKIhKFQwaIYYzKzA18zhrGZpWvy2pAMt5l09GoPh94euMXOZgYYdiTPOoN2Eg6bdKggot53U79hAbONvRYEbs4glZNRJeLvs/QDijGmMjuwhzFcmswJmbCHCItMelo/UJew8ZPmTlbq86IaDMLX2M+URQTeDvq9SU9PRNI54pxOC2ManwPrGMPPzwSgCHCRDEuMOtoaTd+oI1b8t+3MdtzPCCvAIF1b4zRDnggfK4DlpXr6OpZocWfRGtpZIXz4AwFLGRD7q1KnGQgxxSEcIsIKk462iRE7LlA9TBhjarMDU8CvI6GSAQYwpG8cV4z0YmkIPgKaANQR/3kVJf5uzKNvxG7vTTgT2dCXljGW3eqGnuj0/clJrx/dhjzYen7eKFldRVtUsgdkyr7/AAvka5YHgKl3AAAAAElFTkSuQmCC";
+const info4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAJW0lEQVR4Xu2ce2xT1x3Hvz+/8jB52HEetgOMAe0Yj46UPUoHRSsgCqg8Ch2BFm3rWIGVSW21rtOoqrWqVhU6rWKjiBVa2NigiDXQobECpaxlFVCKoDxWaIFA7JCXnaedxPb9TecaJ05ixzfhOnUSHyl/xP6dc8/vc16/x/El9LC43ZztZcyWgKkE2MGwgpDHDE0Pm+ozcSL4mFFBgJOB6yAcsptwiIialXaClAo6ank6AniGCdPA0Cutl6hyBDSBsF8LvFhgpnOx+hkTVIWLJ/gZ6xiYGaux/vg9ESQwthtS8ZtcIzmj6dAtqHI3Lw8wNoOR0h8h9KTPRKgiYKHNTB9FqhcVlMPFrzDjlz15WL+XJbQSYaXdRG921iUiqDI3PwcJL/R7xXuhABEYhAV2E+0Nr94FlNPNC5ixh4X4IC0ENGoJkwvM9FkIQQcYFY2c72/BZQYyBimjNrUJuGgzYzwRBcSHHUA5XbxRYqwa7JBC+muAx205tLkDqMo6Hu0L4AIzdElQbQTKNWaMshF52maUw8W/Y8azSUgdCRCwxJ5Du9pB1fAFBsYkQXUCRdhpN1OxDEosu1Y/LiUhRSBAqLObkCuDKq/lRYEAdidBRSZg0GG0DMrp5l9IEl5LgopMQKPBfTIoh4tfZsavkqAiEyBCcI9yuvh1ibFSLVA+P+OjU/W46mhBVY1PrWbb2yHAkq3DMHsqphZlIiUlzk4EYZXqoGrq/NhWUolqVxwARUBuytRh+fw85OfEMUSmNihmYPPbFSh1tgcOdVoCqTzg4jn+ALdhs+YasHqpFdp4xVjVBvVFaTO2/qNCVsBi0qN4bi6slviMdLXLj7/vr0J5dav8vKVzczFudLr6yzzov6i79D44UY/3jrnlzhbPycX4O+LU8Vs4vrzejC17ggMzdVIWZk3J7h+gSg67cOJsg9zZNctssObFZzaFaLjr/Vi3xSH/O+FOI5bMtiRBRSLgrg9g3ZYy+avxdxhRPGcAgDp6sh7/u+KF2Ih7W0YOT8WMe7Laqg84UOEK9RZSqF74kh5woMQs2rTrJm6Ut9wWJ6vFgJXFVuhvRcwGHKgQHY9XpNB6X4xpHQ2lAQuq94gi10yCUkg0CSoJSiEBhWIDckbtP+rG51e9YEkZBZ2OMLkoA98eNyRqhXBQA8Iyd9X5sX5r0NXoSUlL1eK5VYVRqwizQ7gwtQ1+zPtBDr57V3SoPXluF1m1neLufL2/7Ku6ZZkrMxD0OsKUSVmYHmaJR1LW28Jy7Guo1XBbLLqt3Jeg4qdFH7ScBKUQcn8BFQgAl655ceGKB1U1fjR5AkhJ0cCUqcXo4WkYOyodxvR4hTfjELiLRzzqs0seHPjQDRF7ilb0Og2+X5SBad/Jgl6vctxZPDSRZ5Q40fYdceH4mWAgMLyQuO0VIV5jzTNg+bw8ZA3RKlxTCsX6EtTb/6rBxasehHvFInMi4uqRFHvnoAsnz7VDGmpNweSJmRg5NBVD0jVoaWU4Kltx+mIjPj3f1AYuJ1svJxrS1Exh9RUokcJ6NYodtWBGThej8tT5Jux5r1oebo2GMHeaCd+7K/rdNkdFK/76bhXqGoLLc8zIdDz6YK7C6aJArK9Aia6UHHLh4hVPhwhnvsWAHz5gkWdIqPh8jPVvOtDQJF90w0MzLbh7rDGmNsKo3fi3m/A0B+s9tihfnn2qlL4EpbTDJ842ouRwjSw+dnQ6ls1VPjNOX2zC7gPBmShOwx8vzFP62O7lEhHUtncq8fk1r9zxJ5ZZYctTbnGL/V24SuKE1GoJa1cORYpBhVMwEUG9uPEGvC0SMofo8OwKuwys0SOh1Bk9jGzO1LWlxva+335SrlhcgBGFKvyWINFA+fzA8xtKZTgjClOxYnE+mrwSXnmjDOLiR3dl8SwLJo4x4tinDdh/1CWLLpmdiwl3qpCETTRQ4sj/7Z+uy0qOHJaGxx7KQ7Xbj9+/FTvy8MBUE6bcnYnjZxqx9/3gHheCd9sbVaKBEgo9/8cb8Pkk5Jj0ePpHNlnHy6XNEOnzaMWUpUPRN40QEYcDH9biP5/UyaI/WZiPUcNVOPkSEdSmnTdx/VZa65mfFiI7o2dW9oYd5SivFBc3CL/+mR0Zxp7VjzgYiQjqyIl6HLx10ePeokzMuc+keOVcLWvBn3fflOULC1KwurhAcd1uBRMRlDA01291wueXoNUQVjycj2HW2CeX2N827ixvu+G3aKYFRQoMVUUk1QZ18L91OHK89rb3h4PHanHkRHCfMaZpZUe3uwimp1nCjn1VuOoI7mMFFgPWPGJV7wKb2qDOf+HFjncrg6fW0DQsn5fbq7BHQALe2N1+c08Yj/d8K0P+E1cRQ6WlhXH2chMOf1yH+sagnyfiVD9fYoXFrOIvVdQGJfy0P2wvh7s+eH9TJAfyzHpoYsTUvl6Yivs7xcZF+n373ipcL+942glQQ4xaOXpQU+tDIOyKYnqqFo88mIuv2WMvVUVLLiSkNijRrthQ3yqplI/4npRI7oo/APkG38enGxCQujc4xQyeP92MnGwVZ1I8QYm2a2r9EHm8Ukez7I7EKrlmPZ5Yao26TEV7p8434sKXXlS7fZBkaCQf/cJOmvgNozr2UrSOts0oN78qSXgqlkK9+b6hSYoYjQxvK7MHEUnh+HqbJaQYNNCqYCIp0UmjwXLZtS6r4acBrFdSaTDKkBYzQhfyl0qMHYMRghKdtQaMDYKq5UlSACeVVBp0MoRWnQlmGRQzk8MF4aJbBx2IGAoT4d92M81qC/+VuXgTGI8nQXUiQFhVaKZN4b8pvpcZEV+3MVjhEeDRGjCiIIMqOwSUy1z8TzDmDFYwnfXWEF6ymWmt+LwDqJsuHhcAziTyu6D6ahCJUJ1qwsgcovouoGSbahC/l6XNYyEwERbaTFTS7sVEGCKHi3cx4+G+Gr2Eew5hbaGZXgrvV8Skl5M5nV3Yx8D9CadEnDukIbxuM9Pqzo+Jmh1kZp3TjdeY0aVSnPv6lTRPhAAIT9pNtCFSB2KmUZ1uflSS8DKAYEpkIBbCOS1hjdVEH0RTLyYoUVEsRcmNJwE8BYZ5oLAiwjUQXrBlYxsRdRsPUgQqBEYsx4o6TA1ImA9gCsTrJQFLf3gpl1ha4hWTAG5ogIPQYq8tmz5ROug9AhWpUWbWV3tgIUrc93AGJPjzjKiKNWu6g3bboJSOSH+X+z9Y4PzoLgzvbQAAAABJRU5ErkJggg==";
+const _hoisted_1$5 = { class: "card" };
+const _hoisted_2$4 = ["src"];
+const _sfc_main$5 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-card",
+  setup(__props) {
+    const InfoNum = [
+      {
+        value: 1,
+        class: "plan-pass",
+        text: "userInfo.status.optionA",
+        img: info1
+      },
+      {
+        value: 1,
+        class: "plan-overdue",
+        text: "userInfo.status.optionB",
+        img: info2
+      },
+      {
+        value: 4,
+        class: "plan-limit",
+        text: "userInfo.status.optionC",
+        img: info3
+      },
+      {
+        value: 4,
+        class: "plan-fail",
+        text: "userInfo.status.optionD",
+        img: info4
+      }
+    ];
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$5, [
+        (openBlock(), createElementBlock(Fragment, null, renderList(InfoNum, (item, index2) => {
+          return createBaseVNode("div", {
+            key: index2,
+            class: "col"
+          }, [
+            createBaseVNode("div", null, [
+              createBaseVNode("img", {
+                src: item.img
+              }, null, 8, _hoisted_2$4),
+              createBaseVNode("span", null, toDisplayString(_ctx.$t(item.text)), 1)
+            ]),
+            createBaseVNode("div", null, [
+              createBaseVNode("span", {
+                class: normalizeClass(item.class)
+              }, toDisplayString(item.value), 3),
+              createBaseVNode("span", null, " / " + toDisplayString(_ctx.$t("work.index.Numbers")), 1)
+            ])
+          ]);
+        }), 64))
+      ]);
+    };
+  }
+});
+const infoCard_vue_vue_type_style_index_0_scoped_e52c6f21_lang = "";
+const infocard = /* @__PURE__ */ _export_sfc$2(_sfc_main$5, [["__scopeId", "data-v-e52c6f21"]]);
+const _hoisted_1$4 = { class: "table" };
+const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-table",
+  props: {
+    // eslint-disable-next-line vue/require-prop-types
+    tableData: []
+  },
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$4, [
+        createVNode(unref(Grid), {
+          ref: "expandGrid",
+          data: __props.tableData,
+          "auto-resize": true
+        }, {
+          default: withCtx(() => [
+            createVNode(unref(Column), {
+              type: "index",
+              width: "60"
+            }),
+            createVNode(unref(Column), {
+              type: "expand",
+              width: "60"
+            }, {
+              default: withCtx((data) => [
+                createBaseVNode("ul", null, [
+                  createBaseVNode("li", null, [
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.table.columnA")) + ":", 1),
+                    createBaseVNode("span", null, toDisplayString(data.row.name), 1)
+                  ]),
+                  createBaseVNode("li", null, [
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.table.columnB")) + ":", 1),
+                    createBaseVNode("span", null, toDisplayString(data.row.time), 1)
+                  ]),
+                  createBaseVNode("li", null, [
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.table.columnC")) + ":", 1),
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t(`${data.row.type}`)), 1)
+                  ]),
+                  createBaseVNode("li", null, [
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t("userInfo.table.columnD")) + ":", 1),
+                    createBaseVNode("span", null, toDisplayString(_ctx.$t(`${data.row.status}`)), 1)
+                  ])
+                ])
+              ]),
+              _: 1
+            }),
+            createVNode(unref(Column), {
+              field: "name",
+              title: _ctx.$t("userInfo.table.columnA")
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "time",
+              title: _ctx.$t("userInfo.table.columnB")
+            }, null, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "type",
+              title: _ctx.$t("userInfo.table.columnC")
+            }, {
+              default: withCtx((data) => [
+                createBaseVNode("span", null, toDisplayString(_ctx.$t(`${data.row.type}`)), 1)
+              ]),
+              _: 1
+            }, 8, ["title"]),
+            createVNode(unref(Column), {
+              field: "status",
+              title: _ctx.$t("userInfo.table.columnD")
+            }, {
+              default: withCtx((data) => [
+                createBaseVNode("span", null, toDisplayString(_ctx.$t(`${data.row.status}`)), 1)
+              ]),
+              _: 1
+            }, 8, ["title"])
+          ]),
+          _: 1
+        }, 8, ["data"])
+      ]);
+    };
+  }
+});
+const infoTable_vue_vue_type_style_index_0_scoped_330389cd_lang = "";
+const infotable = /* @__PURE__ */ _export_sfc$2(_sfc_main$4, [["__scopeId", "data-v-330389cd"]]);
+const tip1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAADx0lEQVRIS72XbWxTZRTH/+fpRveGzo1RtkFCNhT5cosh6ifBxMyoEeNLJM4vDjAmxLYyHRmkrWnSMVlGNqSo0QSYn0pQjNHFt0ky0Phu2K0mKrBFsjc22Rhh7Zhtn2PuhTXd+nbbLZ6P5/n/z++c3Huf57mE/znIKK/lr8bq2RvRBySjioirNB8zjQjCiLnA9I1rfeewkVppgR2DjYUTE9FdIFkPYBMYyfUEBvArWPjLy03vvLqmcyYVPCXQFXBsZym9AKqNdB6nGSYh3C3K4ePJfAlAbarJychRZtamyjmIyF9Wlrdz4bTzgAf6m2+fvh7qYfC9OZPijAT6uWR5Ud3e2rZrc+kY0MMeEQ5MdIP50aWAxWoQfZ6vlD/uIY/UcjGgS7W1MmPfksJuFRNErV6rzxkDegK7a8Iy8ieA/MUAVxetxVDo72Qlwvki726PcmhAn9Cl2vzMeG4xsActj+Ahy2M4PfYZese+SChFhBMt1iP11HrBXhEK4TIzi1yBG25T8PzaF0FEYGa8e7EjYVIiknkFyyx063s7livMUlCJl9a9BrPJrJf4erQbveNfJi1HQuwgp2r7EIxn0gGLTMUIRYMJkkJTEXbduQdl5hX62u9T53DiUpreCafI2Wc7B2BjKuBK8yrsqHXg+yu9ODP+VUwmINBQ+zJqSu7Sc6MzQ3jvQgfCHE7Xex85VftlMFuSqbTJHOudKMlfri/3jH4ag26tfhb3r9is54OR63j7fDuuha+mfzJEY+RS7bPMvCyVcsvKh1FXuTW2rEGDkWk8uebmzhflKI71+3Ap2J/xNSCifzXgIDOvTqdeCJUsIejmS/3xoB+/TH6XEaYJiGiInH32HwG+L5NjIVTT/3DlLLqHP8hkjVunnzTgcYAbjLjioQPT59HV/xYk9C3SYFAXvf6b46loVH5k0AGldBMqClbh2/HTmJU3jNp0nckknqZ2tal4imf/AbgwK3fWYpopJXOFvpe6VVu7ZDRlXSMLgyAc9FqP7NGBbwT23hGUwQEGl2ZRw7CUQFPForhmn3Lgauw8dAfsDVJy0nuI4cophELQdq/i69I/jXiNU7V3gnn3YgHz/ESH9lt9jXO5ecCTfNIUCJw9yowXlgJKhPcVZfPObbQtmhQ4l3SqjiYCt+V6RmpnH4Oa91sPH1zYeMp7qbvPfo8EtwGoy3LaHgFq9m70aadQQmS86rsD9i0sUc/AEwBXJofTKAGfkIDfq/jOpGswI3DOzMzk/uOVdRThKu3/Qstr/xWcRyPeDW9eJCLtup8x/gOovGPJ5EtgrgAAAABJRU5ErkJggg==";
+const tip2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACLUlEQVRIS8WWP2/TUBTFz3lxJQYWBiRASlKkwhcg6ggDCAELW6FLAulAZ1jrNMQzzDA0kC5AJ5CQupShjCh8AdqhdqoKiaFDWSoSH2Q3qZI2yM8FGa/vnvt77/r+Iyy+iutfEXmXoa6JuADgXF/2ncKODNcpfWh5xa9J7vgnA0msLnZmQsmTdCnJUXROcsOQbvNpfoWkxmnGAufqnalf3fANoJIN6LgN2xOOmV2q5zePnh0DVuv+jW4XK4DOnAw2UHHXcTDTrBfXhv2MAGNYD6uQnL+D9dVk18nh9jD0ENgP4xeblxH4EbkUcDb5YtydcMz0ILwxMEqQihtEsMR/RvLTxVzh1s55cH87WJV03QLabnmF6SiRYuDDWnCvF4Zvk4UADOeXG8WXkW255j9CqBc2upwx9181Cu9iYMX1v9mmvqGZe+0VmpHugRtUQ4VLNsCoZFpe8TLjopbaNqLI5qTAfp2WWK4FDYShmwUQxnisLPjrgq5mAST4mWXX34A0lQUQ5GYE3IN0OiPgz/8CTBVSEM+XvckncR26W88gPLaNThzStEkDsAcqLnyC85KMLfAgaVKWha3zsXZxWaQs/P7LOqIEoZDmAiRLqVsbwLVT+cKdCLTfCT4KumkDPWxtaZs3ycWWV2wc9OCtBQmeDXCkeacZTyC3HYNZhLm9HrrvJUwmAzk6niJBmgGcDBi2GDOAB8eZrhgj0KyWqAE00zVxAM10ET6aFP9y1f8NshFrEuSxoPwAAAAASUVORK5CYII=";
+const tip3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACK0lEQVRIS72Wv2sUQRTHv292tlAkjaJ33qWwUVsFQUENESxOjAh71/hHWFqpYLwqlZomkto0mwNJhAiGiAhGFI1Y5WJh4Z3x13piFE2yu09mzR53uT0zeyu7xRY77/s+7Hfem3kEjadunTvkY/08gU4AyIF4byBjeg+gzuDHAubdXGVqYat09K+AWulsEeyVmXFgq0RqnQhVkHE5b9+b7BYfCfxQGtrn+u4EA0d1QJtjCHgqhbyQsaffRqy1f1ouDQ14vlthYGcvsFBDgGMIaWXt6Uetedr+UMFcdh+AYSaBNbWEdUnydCu0Cdyw8XnSP4uw0JFCHgntbQJrVmFee89ME3LXbrjLdS0j1J7mKzPHgsJSL1WN7Hu2lloIZEbHIfdk0Ri7hZ+z97VkJIySqt6/wGJhUbf0Za4fmZu3A8ivZ0/gjJT1gIRqfnLmIG009UstFQCZ70fmRgichzNyXVcKAfMwvbMK1wBc1VUlAQIYppp1Zo7Bg2kACfRQAasM3p8ScIlqxcIKM3b0Avz9egGNsdE2qfflE+D7kemI8CMRMCqr99XBx0sX4X9rdCwTaCW2paKvD9nxOyDD6GrK5/IVrL56EQVcil00Ksv2k6ew7fgASHRC194s4rs9EWlrUDRx20J3r7vEDcdu/CTAoPHjHm29AtU0EBxtsQ/vHolth3cAjXM9xYR2XE9Kn/oFrKCpjhihS6kOUSE01TGxtR5SG4Q3F+H/HPX/ALCOIrMWH1BwAAAAAElFTkSuQmCC";
+const tip4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAADZElEQVRIS72XT2gcZRjGn2d2Zm39t1vIbGIaPAQPIkZaRBGx1UsOQvyzq4I5iK09iHix0FKKCgWhWCzoRTzVxlME3QnV4B9yUSKi1tLiSURy0HSN2Wq1LU2y8+33SGaTdbM7u7NponMa5nve9/e98z3vN98Q//PFbnn6eGB7NVzcJaAfQn8UR5QIlFLelmk+Mnu+m1wdgfp6YKuZW3wBwiiIuyXE6kkIwhkQ427flnd4/+xCO3hboAn8vZJeE7C9m5mvagicJ/mqWyifjItrAS5XFc5VTkB2dD2gFi2dca8vva+52jVATQ1mzOVLUxLu2RBsJZjEafemm4c5PPN3wxuo3UpHHDPx9qSkhzcDVgeQn7r5F0fII7bms5UrLPpHBR3eTFgD9KhXKL9cB2oyN2iW7I8CvP8ECITudc7tHJmfiSqsBP44pKfbwjJ3ArYCXP6pVZIZAuxS/Fijmnw/XSiPUp/0+WbBzAlwYoGZIbi7ioA1MNOPr03caawpGQHrptO9XO43K73brrrUA0U4ud01Yy2W/4WuwJjeFo3Z0meofvNMxxVxyOcYFv0PBT3RVullowqZvasOrf7wClI7Xkcd9ucZVL96EjBXOgIJFlkJ/LOQdnRUNkEbtbZLWBRDnmMY+HOSehPduQzdfQrM3FGX2ovnUJ3OJ1bW0B6/Myz2LAlIJwKb1qxlTRMTRE1fYRj0/CphoKO+CSZrQMdtNVIClMTsMvBbCfe278FaW9QN8sf3qJ5+Hu59Y2B2aF1QEt+xUvRPAtrTTVusMUhkpKAO7aYtAI7RFHN5CxsktYVs2Gr9Fahspau2cOAUqM97bzBXbFnQ1k5QyMS70cui7VhDQoIL7o2OH+2lYdDzhoQDXRjtmiUkjnuFCwcjoCZv3WYqV2ckZK85Y4dAEn+56esHOfLLxfr30Ez4e6xV7Dlko5NwHO518+WxaLNpTBZO+G/K6qWNAhrj6fAtL1/eX99tGgelp1LhxBcnID27KVDyPS//0D7yg2oscPVhGOQOQPZY229k0o4CWNA55BXmjzdL255Ldcrfaao4Jml4PdWSnHJTOMTHymfj4hKP+mHQ8yCBUYGPSrolNgn5G6GPBIx7hQtfdppgInA1WBIxmbvNhOona/8WEkquxxJG5n8mqW7exD8bfIXprBWGkQAAAABJRU5ErkJggg==";
+const _hoisted_1$3 = { class: "chart" };
+const _hoisted_2$3 = ["value"];
+const _hoisted_3$2 = { key: 0 };
+const _hoisted_4$2 = ["value"];
+const _hoisted_5$2 = { class: "cardtip" };
+const _hoisted_6$1 = { class: "cardType" };
+const _hoisted_7$1 = ["src"];
+const _hoisted_8$1 = ["src"];
+const _hoisted_9 = ["src"];
+const _hoisted_10 = ["src"];
+const _hoisted_11 = { class: "cardStatus" };
+const _hoisted_12 = { class: "cardtip" };
+const _hoisted_13 = { class: "cardType" };
+const _hoisted_14 = ["src"];
+const _hoisted_15 = ["src"];
+const _hoisted_16 = ["src"];
+const _hoisted_17 = ["src"];
+const _hoisted_18 = { class: "cardStatus" };
+const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-chart",
+  props: {
+    // eslint-disable-next-line vue/require-prop-types
+    chartData: []
+  },
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$3, [
+        (openBlock(true), createElementBlock(Fragment, null, renderList(__props.chartData, (item) => {
+          return openBlock(), createElementBlock("div", {
+            key: item.title,
+            class: "list",
+            value: item.value
+          }, [
+            createBaseVNode("h4", null, toDisplayString(_ctx.$t(item.title)), 1),
+            item.value === 1 ? (openBlock(), createElementBlock("div", _hoisted_3$2, [
+              (openBlock(true), createElementBlock(Fragment, null, renderList(item.list, (itemson) => {
+                return openBlock(), createElementBlock("div", {
+                  key: itemson.sort,
+                  value: itemson.type
+                }, [
+                  itemson.len === 1 ? (openBlock(), createElementBlock("div", {
+                    key: 0,
+                    class: normalizeClass(["cardold", itemson.pid])
+                  }, [
+                    createBaseVNode("div", _hoisted_5$2, [
+                      createBaseVNode("span", _hoisted_6$1, toDisplayString(_ctx.$t(itemson.type)), 1),
+                      itemson.pid === "A" ? (openBlock(), createElementBlock("img", {
+                        key: 0,
+                        src: unref(tip1)
+                      }, null, 8, _hoisted_7$1)) : createCommentVNode("", true),
+                      itemson.pid === "B" ? (openBlock(), createElementBlock("img", {
+                        key: 1,
+                        src: unref(tip2)
+                      }, null, 8, _hoisted_8$1)) : createCommentVNode("", true),
+                      itemson.pid === "C" ? (openBlock(), createElementBlock("img", {
+                        key: 2,
+                        src: unref(tip3)
+                      }, null, 8, _hoisted_9)) : createCommentVNode("", true),
+                      itemson.pid === "D" ? (openBlock(), createElementBlock("img", {
+                        key: 3,
+                        src: unref(tip4)
+                      }, null, 8, _hoisted_10)) : createCommentVNode("", true),
+                      createBaseVNode("span", _hoisted_11, toDisplayString(_ctx.$t(itemson.status)), 1)
+                    ])
+                  ], 2)) : createCommentVNode("", true),
+                  itemson.len !== 1 ? (openBlock(), createElementBlock("div", {
+                    key: 1,
+                    class: normalizeClass(["cardnew", itemson.pid]),
+                    style: normalizeStyle({ width: `${itemson.len * 199}px` })
+                  }, [
+                    createBaseVNode("div", _hoisted_12, [
+                      createBaseVNode("span", _hoisted_13, toDisplayString(_ctx.$t(itemson.type)), 1),
+                      itemson.pid === "A" ? (openBlock(), createElementBlock("img", {
+                        key: 0,
+                        src: unref(tip1)
+                      }, null, 8, _hoisted_14)) : createCommentVNode("", true),
+                      itemson.pid === "B" ? (openBlock(), createElementBlock("img", {
+                        key: 1,
+                        src: unref(tip2)
+                      }, null, 8, _hoisted_15)) : createCommentVNode("", true),
+                      itemson.pid === "C" ? (openBlock(), createElementBlock("img", {
+                        key: 2,
+                        src: unref(tip3)
+                      }, null, 8, _hoisted_16)) : createCommentVNode("", true),
+                      itemson.pid === "D" ? (openBlock(), createElementBlock("img", {
+                        key: 3,
+                        src: unref(tip4)
+                      }, null, 8, _hoisted_17)) : createCommentVNode("", true),
+                      createBaseVNode("span", _hoisted_18, toDisplayString(_ctx.$t(itemson.status)), 1)
+                    ])
+                  ], 6)) : createCommentVNode("", true)
+                ], 8, _hoisted_4$2);
+              }), 128))
+            ])) : createCommentVNode("", true)
+          ], 8, _hoisted_2$3);
+        }), 128))
+      ]);
+    };
+  }
+});
+const infoChart_vue_vue_type_style_index_0_scoped_6dde2c6d_lang = "";
+const infochart = /* @__PURE__ */ _export_sfc$2(_sfc_main$3, [["__scopeId", "data-v-6dde2c6d"]]);
+const _hoisted_1$2 = { class: "card" };
+const _hoisted_2$2 = ["src"];
+const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-tasksTip",
+  setup(__props) {
+    const InfoNum = [
+      {
+        value: 5,
+        class: "plan-pass",
+        text: "userInfo.status.optionA",
+        img: tip1
+      },
+      {
+        value: 2,
+        class: "plan-overdue",
+        text: "userInfo.status.optionB",
+        img: tip2
+      },
+      {
+        value: 3,
+        class: "plan-limit",
+        text: "userInfo.status.optionC",
+        img: tip3
+      },
+      {
+        value: 3,
+        class: "plan-fail",
+        text: "userInfo.status.optionD",
+        img: tip4
+      }
+    ];
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$2, [
+        (openBlock(), createElementBlock(Fragment, null, renderList(InfoNum, (item, index2) => {
+          return createBaseVNode("div", {
+            key: index2,
+            class: "col"
+          }, [
+            createBaseVNode("img", {
+              src: item.img
+            }, null, 8, _hoisted_2$2),
+            createBaseVNode("span", null, toDisplayString(_ctx.$t(item.text)) + "/" + toDisplayString(item.value), 1)
+          ]);
+        }), 64))
+      ]);
+    };
+  }
+});
+const infoTasksTip_vue_vue_type_style_index_0_scoped_4de66e26_lang = "";
+const infoTasksTip = /* @__PURE__ */ _export_sfc$2(_sfc_main$2, [["__scopeId", "data-v-4de66e26"]]);
+const _withScopeId = (n) => (pushScopeId("data-v-674b89f0"), n = n(), popScopeId(), n);
+const _hoisted_1$1 = { id: "contain" };
+const _hoisted_2$1 = { class: "chartLength" };
+const _hoisted_3$1 = { class: "contentFilter" };
+const _hoisted_4$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", { src: _imports_0 }, null, -1));
+const _hoisted_5$1 = [
+  _hoisted_4$1
+];
+const _hoisted_6 = { class: "sort" };
+const _hoisted_7 = ["value", "onClick"];
+const _hoisted_8 = { class: "filter" };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
+  __name: "info-tab",
+  setup(__props) {
+    const state = reactive({
+      loading: null,
+      chartData: [],
+      tableData: []
+    });
+    const userStore = useUserStore();
+    const ChevronDown = index$7();
+    const activeName = ref("1");
+    const Filter = ref(false);
+    const Sort = ref(false);
+    const timeList = [
+      { label: "userInfo.end.positiveOrder", value: 1 },
+      { label: "userInfo.end.reverseOrder", value: 2 },
+      { label: "userInfo.start.positiveOrder", value: 3 },
+      { label: "userInfo.start.reverseOrder", value: 4 }
+    ];
+    const filterInfo = ref();
+    const fetchData = async () => {
+      userStore.setInfo({ reset: false, submit: false });
+      state.loading = Loadings.service({
+        text: "loading...",
+        target: document.getElementById("contain"),
+        background: "rgba(0, 0, 0, 0.7)"
+      });
+      try {
+        const { data } = await getUserData(userStore.$state);
+        state.chartData = data.chartData;
+        state.tableData = data.tableData;
+      } finally {
+        state.loading.close();
+      }
+    };
+    onMounted(() => {
+      fetchData();
+    });
+    const changeTime = (value) => {
+      userStore.setInfo({ sort: value });
+      fetchData();
+    };
+    const changeFilter = () => {
+      Sort.value = false;
+      Filter.value = !Filter.value;
+    };
+    const changeSort = () => {
+      Filter.value = false;
+      Sort.value = !Sort.value;
+    };
+    watch(userStore.$state, (newValue, oldValue) => {
+      if (newValue.reset || newValue.submit) {
+        fetchData();
+        Filter.value = false;
+      }
+    });
+    watch(activeName, () => {
+      filterInfo.value.reset();
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock(Fragment, null, [
+        createBaseVNode("div", _hoisted_1$1, [
+          createVNode(unref(Tabs), {
+            modelValue: activeName.value,
+            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeName.value = $event)
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(TabItem), {
+                title: _ctx.$t("userInfo.tab.one"),
+                name: "1"
+              }, {
+                default: withCtx(() => [
+                  createVNode(infocard),
+                  createVNode(infotable, {
+                    "table-data": state.tableData
+                  }, null, 8, ["table-data"])
+                ]),
+                _: 1
+              }, 8, ["title"]),
+              createVNode(unref(TabItem), {
+                title: _ctx.$t("userInfo.tab.two"),
+                name: "2"
+              }, {
+                default: withCtx(() => [
+                  createVNode(infoTasksTip),
+                  createBaseVNode("div", _hoisted_2$1, [
+                    createVNode(infochart, {
+                      "chart-data": state.chartData
+                    }, null, 8, ["chart-data"])
+                  ])
+                ]),
+                _: 1
+              }, 8, ["title"])
+            ]),
+            _: 1
+          }, 8, ["modelValue"])
+        ]),
+        createBaseVNode("div", _hoisted_3$1, [
+          createBaseVNode("div", {
+            class: "left",
+            onClick: changeSort
+          }, [
+            createTextVNode(toDisplayString(_ctx.$t("userInfo.filter.sort")) + " ", 1),
+            createVNode(unref(ChevronDown))
+          ]),
+          createBaseVNode("div", {
+            class: "right",
+            onClick: changeFilter
+          }, _hoisted_5$1)
+        ]),
+        withDirectives(createBaseVNode("div", _hoisted_6, [
+          (openBlock(), createElementBlock(Fragment, null, renderList(timeList, (item, index2) => {
+            return createBaseVNode("li", {
+              key: index2,
+              value: item.value,
+              onClick: ($event) => changeTime(timeList[index2].value)
+            }, toDisplayString(_ctx.$t(item.label)), 9, _hoisted_7);
+          }), 64))
+        ], 512), [
+          [vShow, Sort.value]
+        ]),
+        withDirectives(createBaseVNode("div", _hoisted_8, [
+          createVNode(infofilter, {
+            ref_key: "filterInfo",
+            ref: filterInfo,
+            "active-name": activeName.value
+          }, null, 8, ["active-name"])
+        ], 512), [
+          [vShow, Filter.value]
+        ])
+      ], 64);
+    };
+  }
+});
+const infoTab_vue_vue_type_style_index_0_scoped_674b89f0_lang = "";
+const infotab = /* @__PURE__ */ _export_sfc$2(_sfc_main$1, [["__scopeId", "data-v-674b89f0"]]);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "container-info" };
+const _hoisted_3 = { class: "general-card" };
+const _hoisted_4 = { class: "general-top" };
+const _hoisted_5 = { class: "general-content" };
+const _sfc_main = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.user", "menu.user.info"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createBaseVNode("div", _hoisted_4, [
+              createVNode(headtop)
+            ]),
+            createBaseVNode("div", _hoisted_5, [
+              createVNode(infotab)
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_875e3e38_lang = "";
+const index = /* @__PURE__ */ _export_sfc$2(_sfc_main, [["__scopeId", "data-v-875e3e38"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index25.css b/admin-website/src/main/resources/static/assets/index25.css
new file mode 100644
index 0000000..1d01535
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index25.css
@@ -0,0 +1 @@
+.tiny-form{--ti-form-valid-padding-horizontal:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-valid-padding-vertical:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-item-margin-right:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-label-top-margin-bottom:var(--ti-common-space-4x, 16px);--ti-form-label-top-label-line-height:var(--ti-common-size-height-normal, 28px);--ti-form-label-top-label-height:var(--ti-common-size-height-normal, 28px);width:100%;overflow:hidden}.tiny-form div{outline:0}.tiny-form--inline .tiny-form-item,.tiny-form--inline .tiny-form-item__content{display:inline-block;vertical-align:top}.tiny-form--inline .tiny-form-item{margin-right:var(--ti-form-item-margin-right)}.tiny-form--inline .tiny-form-item__label{float:none;display:inline-block}.tiny-form--inline .tiny-form--label-top .tiny-form-item__content{display:block}.tiny-form--label-left.has-required .tiny-form-item__label{padding-left:12px}.tiny-form--label-left .tiny-form-item__label{text-align:left}.tiny-form--label-left.label-align .tiny-form-item.is-required .tiny-form-item__label{padding-left:12px;position:relative}.tiny-form--label-left.label-align .tiny-form-item.is-required .tiny-form-item__label::before{font-size:20px;line-height:1;position:absolute;left:0;top:60%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-form--label-left.label-align .tiny-form-item.is-required~.tiny-form-item .tiny-form-item__label{padding-left:12px}.tiny-form--label-top .tiny-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 8px;height:var(--ti-form-label-top-label-height);line-height:var(--ti-form-label-top-label-line-height)}.tiny-form--label-top .tiny-form-item{margin-bottom:var(--ti-form-label-top-margin-bottom)}.tiny-form--label-top .tiny-form{margin-bottom:var(--ti-form-label-top-margin-bottom)}.tiny-form--inline.tiny-form--label-top .tiny-form-item{margin-bottom:16px;margin-right:64px}.tiny-form--inline.tiny-form--label-top .tiny-form-item__label{display:block;text-align:left}.tiny-form__valid{--ti-form-valid-padding-horizontal:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-valid-padding-vertical:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-item-margin-right:calc(var(--ti-common-space-2x, 8px) + 2px);--ti-form-label-top-margin-bottom:var(--ti-common-space-4x, 16px);--ti-form-label-top-label-line-height:var(--ti-common-size-height-normal, 28px);--ti-form-label-top-label-height:var(--ti-common-size-height-normal, 28px)}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper{padding:var(--ti-form-valid-padding-vertical) var(--ti-form-valid-padding-horizontal)}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper .tooltip-validate-icon{fill:var(--ti-tooltip-validate-icon-color);margin-right:8px}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-4px}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper[x-placement^=top]{margin-bottom:6px}.tiny-form__valid.tiny-tooltip.tiny-tooltip__popper[x-placement^=bottom]{margin-top:6px}.tiny-form__valid .tiny-form-item__validate-message{vertical-align:middle}.tiny-form.is-display-only .tiny-form-item__label{line-height:1.5;height:auto;vertical-align:inherit}.tiny-form.is-display-only .tiny-form-item__content{line-height:1.5;font-size:14px;height:auto;vertical-align:inherit}.tiny-form.is-display-only .tiny-form-item.is-required:not(.is-no-asterisk) .tiny-form-item__label-wrap>.tiny-form-item__label:before,.tiny-form.is-display-only .tiny-form-item.is-required:not(.is-no-asterisk)>.tiny-form-item__label:before{content:''}.tiny-form.is-display-only .tiny-form-item__content .tiny-checkbox{line-height:1.5}.tiny-form.is-display-only .tiny-form-item__content .tiny-radio{line-height:1;padding:0}.tiny-form.is-display-only .tiny-form-item__content .tiny-switch{margin-top:0}.tiny-form.is-display-only .tiny-form-item__content .tiny-input.tiny-range-editor.tiny-input__inner{height:18px}.tiny-form.is-display-only .tiny-form-item__content .tiny-textarea__inner{height:0;padding:0;border-style:none}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__content .tiny-input .tiny-input__inner,.tiny-form.is-display-only .tiny-form-item--mini .tiny-form-item__content .tiny-input .tiny-input__inner,.tiny-form.is-display-only .tiny-form-item--small .tiny-form-item__content .tiny-input .tiny-input__inner{height:36px;line-height:36px}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__content,.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__label{font-size:14px}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__content .tiny-tooltip{font-size:14px}.tiny-form.is-display-only .tiny-form-item--medium .tiny-form-item__label{padding-bottom:12px}.tiny-form-item{--ti-form-item-small-line-height:var(--ti-common-line-height-6, 32px);--ti-form-item-medium-line-height:calc(var(--ti-common-line-height-7, 36px) + 4px);--ti-form-item-mini-line-height:var(--ti-common-line-height-5, 24px);--ti-form-item-label-line-height:var(--ti-common-size-height-normal, 28px);--ti-form-item-input-mini-height:var(--ti-common-size-6x, 24px);--ti-form-item-input-small-height:var(--ti-common-size-8x, 32px);--ti-form-item-input-medium-height:var(--ti-common-size-10x, 40px);--ti-form-item-label-font-size:var(--ti-common-font-size-1, 14px);--ti-form-item-label-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-form-item-error-font-size:var(--ti-common-font-size-base, 12px);--ti-form-item-error-text-color:var(--ti-common-color-error, #f66f6a);--ti-form-item-error-star-text-color:var(--ti-common-color-error, #f66f6a);--ti-form-item-error-border-color:var(--ti-common-color-error-border, #f66f6a);--ti-form-item-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-form-item-margin-bottom-default:var(--ti-common-space-5x, 20px);--ti-form-item-margin-bottom-mini:var(--ti-common-space-2x, 8px);--ti-form-item-margin-bottom-small:var(--ti-common-space-2x, 8px);--ti-form-item-margin-bottom-medium:var(--ti-common-space-3x, 12px);--ti-form-item-error-star-display:inline-block;--ti-form-item-error-inline-margin-left:calc(var(--ti-common-space-base, 4px) * 2.5);--ti-form-item-error-block-padding-top:var(--ti-common-space-2x, 8px);--ti-form-item-extra-tip-margin-top:var(--ti-common-space-2x, 8px);--ti-form-item-extra-tip-font-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-form-item-extra-tip-font-size:var(--ti-common-font-size-1, 14px);--ti-form-item-extra-tip-line-height:var(--ti-common-line-height-number, 1.5);font-family:var(--ti-common-font-family);margin-bottom:var(--ti-form-item-margin-bottom-default)}.tiny-form-item:after,.tiny-form-item:before{content:'';display:table}.tiny-form-item:after{clear:both}.tiny-form-item .tiny-form-item__content-muti-children{width:100%}.tiny-form-item .tiny-form-item__extra-tip{line-height:var(--ti-form-item-extra-tip-line-height);margin-top:var(--ti-form-item-extra-tip-margin-top);color:var(--ti-form-item-extra-tip-font-color);font-size:var(--ti-form-item-extra-tip-font-size)}.tiny-form-item .tiny-form-item{margin-bottom:0}.tiny-form-item--small .tiny-form-item__error{padding-top:2px}.tiny-form-item--mini .tiny-form-item__error{padding-top:1px}.tiny-form-item--medium{margin-bottom:var(--ti-form-item-margin-bottom-medium)}.tiny-form-item--medium .tiny-form-item__content{line-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__content .tiny-checkbox,.tiny-form-item--medium .tiny-form-item__content .tiny-radio{line-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__content .tiny-numeric{display:block}.tiny-form-item--medium .tiny-form-item__content .tiny-numeric__input-inner{height:var(--ti-form-item-medium-line-height)}.tiny-form-item--medium .tiny-form-item__label{height:var(--ti-form-item-medium-line-height);line-height:var(--ti-form-item-medium-line-height)}.tiny-form-item--small{margin-bottom:var(--ti-form-item-margin-bottom-small)}.tiny-form-item--small .tiny-form-item__content{line-height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__content .tiny-checkbox,.tiny-form-item--small .tiny-form-item__content .tiny-radio{line-height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__content .tiny-numeric{display:block}.tiny-form-item--small .tiny-form-item__content .tiny-numeric__input-inner{height:var(--ti-form-item-small-line-height)}.tiny-form-item--small .tiny-form-item__label{height:var(--ti-form-item-small-line-height);line-height:var(--ti-form-item-small-line-height)}.tiny-form-item--mini{margin-bottom:var(--ti-form-item-margin-bottom-mini)}.tiny-form-item--mini .tiny-form-item__content{line-height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__content .tiny-checkbox,.tiny-form-item--mini .tiny-form-item__content .tiny-radio{line-height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__content .tiny-numeric{display:block}.tiny-form-item--mini .tiny-form-item__content .tiny-numeric__input-inner{height:var(--ti-form-item-mini-line-height)}.tiny-form-item--mini .tiny-form-item__label{height:var(--ti-form-item-mini-line-height);line-height:var(--ti-form-item-mini-line-height)}.tiny-form-item__label-wrap{float:left}.tiny-form-item__label-wrap .tiny-form-item__label{display:inline-block;float:none}.tiny-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:var(--ti-form-item-label-font-size);color:var(--ti-form-item-label-text-color);height:var(--ti-form-item-label-line-height);line-height:var(--ti-form-item-label-line-height);padding-right:8px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tiny-form-item__content{position:relative;font-size:var(--ti-form-item-label-font-size);line-height:var(--ti-form-item-label-line-height)}.tiny-form-item__content:after,.tiny-form-item__content:before{content:'';display:table}.tiny-form-item__content:after{clear:both}.tiny-form-item__content .tiny-input{display:inline-block}.tiny-form-item__content .tiny-input.tiny-range-editor.tiny-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.tiny-form-item__content .tiny-input.tiny-input-group{display:inline-table}.tiny-form-item__content .tiny-rate{vertical-align:middle}.tiny-form-item__content .tiny-rate__text{line-height:1.5}.tiny-form-item__content .tiny-input-group{vertical-align:top}.tiny-form-item__content .tiny-button+.tiny-button{margin-left:8px}.tiny-form-item__content .tiny-checkbox,.tiny-form-item__content .tiny-radio{vertical-align:middle;line-height:30px}.tiny-form-item__content .tiny-checkbox-group{min-height:var(--ti-form-item-label-line-height)}.tiny-form-item__content .tiny-date-editor--daterange.tiny-input,.tiny-form-item__content .tiny-date-editor--daterange.tiny-input__inner,.tiny-form-item__content .tiny-date-editor--timerange.tiny-input,.tiny-form-item__content .tiny-date-editor--timerange.tiny-input__inner,.tiny-form-item__content .tiny-numeric{width:100%}.tiny-form-item__error{color:var(--ti-form-item-error-text-color);font-size:var(--ti-form-item-error-font-size);line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.tiny-form-item__error .validate-icon{fill:var(--ti-form-item-error-text-color);margin-right:8px}.tiny-form-item__error .tiny-form-item__validate-message{vertical-align:middle}.tiny-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:var(--ti-form-item-error-inline-margin-left)}.tiny-form-item__error--block{position:relative;top:auto;left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:0;padding-top:var(--ti-form-item-error-block-padding-top)}.tiny-form-item.is-required:not(.is-no-asterisk) .tiny-form-item__label-wrap>.tiny-form-item__label:before,.tiny-form-item.is-required:not(.is-no-asterisk)>.tiny-form-item__label:before{display:var(--ti-form-item-error-star-display);content:'*';color:var(--ti-form-item-error-star-text-color);margin-right:4px}.tiny-form-item.is-error .tiny-input__inner,.tiny-form-item.is-error .tiny-input__inner:focus,.tiny-form-item.is-error .tiny-textarea,.tiny-form-item.is-error .tiny-textarea:focus,.tiny-form-item.is-error .tiny-textarea__inner,.tiny-form-item.is-error .tiny-textarea__inner:focus{border-color:var(--ti-form-item-error-border-color);background-color:var(--ti-form-item-error-bg-color);--ti-textarea-bg-color:var(--ti-form-item-error-bg-color)}.tiny-form-item.is-error .tiny-input-group__append .tiny-input__inner,.tiny-form-item.is-error .tiny-input-group__prepend .tiny-input__inner{border-color:transparent}.tiny-form-item.is-error .tiny-input__validateIcon{color:var(--ti-form-item-error-text-color)}.tiny-form-item.is-error .tiny-numeric__input-inner,.tiny-form-item.is-error .tiny-numeric__input-inner:focus{border-color:var(--ti-form-item-error-border-color);background-color:var(--ti-form-item-error-bg-color)}.tiny-form-item--feedback .tiny-input__validateIcon{display:inline-block}.tiny-form-item .tiny-input__validateIcon{display:none}.tiny-mobile-form{width:100%;overflow:hidden}.tiny-mobile-form div{outline:0}.tiny-mobile-form .tiny-mobile-form-item{position:relative;margin-bottom:0}.tiny-mobile-form .tiny-mobile-form-item__label{width:35%;min-height:48px;line-height:1.4;font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;z-index:1;padding:13px 0}.tiny-mobile-form .tiny-mobile-form-item__value{width:65%}.tiny-mobile-form--inline .tiny-mobile-form-item,.tiny-mobile-form--inline .tiny-mobile-form-item__content{display:inline-block;vertical-align:top}.tiny-mobile-form--inline .tiny-mobile-form-item{margin-right:var(--ti-form-item-margin-right,10px)}.tiny-mobile-form--inline .tiny-mobile-form-item__label{float:none;display:inline-block}.tiny-mobile-form--inline .tiny-mobile-form--label-top .tiny-mobile-form-item__content{display:block}.tiny-mobile-form--label-left .tiny-mobile-form-item__label{text-align:left}.tiny-mobile-form--label-top .tiny-mobile-form-item__label{width:100%;float:none;position:initial;text-align:left;line-height:1}.tiny-mobile-form--label-top .tiny-mobile-form-item__value{width:100%}.tiny-mobile-form--label-top .tiny-mobile-form-item{margin-bottom:16px}.tiny-mobile-form--label-top .tiny-mobile-input-form__input{width:100%}.tiny-mobile-form--label-top .tiny-mobile-form-item__content{-ms-flex-wrap:wrap;flex-wrap:wrap}.tiny-mobile-form--label-top .tiny-mobile-form{margin-bottom:16px}.tiny-mobile-form--inline.tiny-mobile-form--label-top .tiny-mobile-form-item{margin-bottom:16px;margin-right:64px}.tiny-mobile-form--inline.tiny-mobile-form--label-top .tiny-mobile-form-item__label{display:block;text-align:left}.tiny-mobile-form-item{--ti-form-item-small-line-height:28px;--ti-form-item-medium-line-height:36px;--ti-form-item-mini-line-height:24px;--ti-form-item-label-line-height:var(--ti-mobile-base-size-height-minor, 30px);--ti-form-item-label-font-size:14px;--ti-form-item-label-color:var(--ti-mobile-base-color-info-normal, #333);--ti-form-item-error-color:var(--ti-mobile-base-color-danger-normal, #f5222d);--ti-form-item-error-font-size:var(--ti-mobile-base-font-size, 12px);margin-bottom:12px}.tiny-mobile-form-item:after{clear:both}.tiny-mobile-form-item:after,.tiny-mobile-form-item:before{content:'';display:table}.tiny-mobile-form-item .tiny-mobile-form-item{margin-bottom:0}.tiny-mobile-form-item.tiny-mobile-form-item--mini,.tiny-mobile-form-item.tiny-mobile-form-item--small{margin-bottom:8px}.tiny-mobile-form-item--medium .tiny-mobile-form-item__content,.tiny-mobile-form-item--medium .tiny-mobile-form-item__label{line-height:var(--ti-form-item-medium-line-height,36px)}.tiny-mobile-form-item--small .tiny-mobile-form-item__content,.tiny-mobile-form-item--small .tiny-mobile-form-item__label{line-height:var(--ti-form-item-small-line-height,28px)}.tiny-mobile-form-item--small .tiny-mobile-form-item__error{padding-top:2px}.tiny-mobile-form-item--mini .tiny-mobile-form-item__content,.tiny-mobile-form-item--mini .tiny-mobile-form-item__label{line-height:var(--ti-form-item-mini-line-height,24px)}.tiny-mobile-form-item--mini .tiny-mobile-form-item__error{padding-top:1px}.tiny-mobile-form-item__label-wrap{float:left}.tiny-mobile-form-item__label-wrap .tiny-mobile-form-item__label{display:inline-block;float:none}.tiny-mobile-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:16px;color:var(--ti-form-item-label-color,#333);line-height:48px;padding-right:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-mobile-form-item__value{float:right}.tiny-mobile-form-item__value .tiny-mobile-input-form__input{text-align:left}.tiny-mobile-form-item__content{line-height:48px;position:relative;font-size:var(--ti-form-item-label-font-size,14px)}.tiny-mobile-form-item__content:after{clear:both}.tiny-mobile-form-item__content:after,.tiny-mobile-form-item__content:before{content:'';display:table}.tiny-mobile-form-item__content .tiny-mobile-input-group{vertical-align:top}.tiny-mobile-form-item__content .tiny-mobile-button+.tiny-mobile-button{margin-left:8px}.tiny-mobile-form-item__label.is-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:initial}.tiny-mobile-form-item.is-error .is-vertical{margin-bottom:36px}.tiny-mobile-form-item .is-vertical{border-bottom:1px solid #ddd}.tiny-mobile-form-item__error{color:var(--ti-form-item-error-color,#f5222d);font-size:var(--ti-form-item-error-font-size,12px);line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.tiny-mobile-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.tiny-mobile-form-item.is-required:not(.is-no-asterisk) .tiny-mobile-form-item__label-wrap>.tiny-mobile-form-item__label:before,.tiny-mobile-form-item.is-required:not(.is-no-asterisk) .tiny-mobile-form-item__label:before{content:'*';color:var(--ti-form-item-error-color,#f5222d);margin-right:4px}.tiny-mobile-form-item.is-error .tiny-mobile-input__inner,.tiny-mobile-form-item.is-error .tiny-mobile-input__inner:focus,.tiny-mobile-form-item.is-error .tiny-mobile-textarea__inner,.tiny-mobile-form-item.is-error .tiny-mobile-textarea__inner:focus{border-color:var(--ti-form-item-error-color,#f5222d)}.tiny-mobile-form-item.is-error .tiny-mobile-input-group__append .tiny-mobile-input__inner,.tiny-mobile-form-item.is-error .tiny-mobile-input-group__prepend .tiny-mobile-input__inner{border-color:transparent}.tiny-mobile-form-item.is-error .tiny-mobile-input__validateIcon{color:var(--ti-form-item-error-color,#f5222d)}.tiny-mobile-form-item.is-error .tiny-mobile-numeric__input-inner,.tiny-mobile-form-item.is-error .tiny-mobile-numeric__input-inner:focus{border-color:var(--ti-form-item-error-color,#f5222d)}.tiny-mobile-form-item--feedback .tiny-mobile-input__validateIcon{display:inline-block}.tiny-mobile-form-item .tiny-mobile-input__validateIcon{display:none}.tiny-mobile-zoom-in-top-enter-active,.tiny-mobile-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.tiny-mobile-zoom-in-top-enter,.tiny-mobile-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index25.js b/admin-website/src/main/resources/static/assets/index25.js
new file mode 100644
index 0000000..47beb06
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index25.js
@@ -0,0 +1,388 @@
+import { d as defineComponent, a8 as reactive, r as ref, a0 as useI18n, c as computed, u as openBlock, y as createBlock, H as withCtx, W as unref, l as createVNode, v as createElementBlock, N as renderList, M as Fragment, k as resolveComponent, w as createBaseVNode, J as createTextVNode, E as toDisplayString } from "./vue.js";
+import { I as Input, n as Layout, T as TINYModal, _ as _export_sfc, u as useUserStore, B as Button } from "./index.js";
+import { g as getSimpleDate } from "./time.js";
+import { h as headtop } from "./head.js";
+import { R as Row, C as Col } from "./index31.js";
+import { D as DatePicker } from "./index36.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import { S as Select, O as Option } from "./index34.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index35.js";
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "set-from",
+  setup(__props, { expose: __expose }) {
+    const projectData = [
+      {
+        value: "1",
+        label: "social recruitment"
+      },
+      {
+        value: "2",
+        label: "scholl recruitment"
+      },
+      {
+        value: "3",
+        label: "Job transfer"
+      }
+    ];
+    const state = reactive({
+      filterOptions: {},
+      department: "",
+      position: [],
+      type: [],
+      date: [],
+      during: "",
+      startTime: "",
+      endTime: ""
+    });
+    const setFormRef = ref();
+    const { t } = useI18n();
+    const rulesType = {
+      required: true,
+      trigger: "blur"
+    };
+    const rulesSelect = {
+      required: true,
+      message: "必选",
+      trigger: "blur"
+    };
+    const rules = computed(() => {
+      return {
+        department: [rulesType],
+        position: [rulesType],
+        type: [rulesSelect],
+        date: [rulesType],
+        during: [rulesType],
+        startTime: [rulesType],
+        endTime: [rulesType]
+      };
+    });
+    const handleBlur = () => {
+      var _a, _b;
+      const start = (_a = state.filterOptions.startTime) == null ? void 0 : _a.getTime();
+      const end = (_b = state.filterOptions.endTime) == null ? void 0 : _b.getTime();
+      if (end < start) {
+        state.filterOptions.endTime = "";
+        TINYModal.message({
+          message: t("userInfo.time.message"),
+          status: "error"
+        });
+      }
+    };
+    const setFormValid = () => {
+      let setValidate = false;
+      setFormRef.value.validate((valid) => {
+        setValidate = valid;
+      });
+      return setValidate;
+    };
+    const setReset = () => {
+      state.filterOptions = {};
+    };
+    const setData = () => {
+      return state;
+    };
+    __expose({
+      setData,
+      setFormValid,
+      setReset
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Layout), null, {
+        default: withCtx(() => [
+          createVNode(unref(Form), {
+            ref_key: "setFormRef",
+            ref: setFormRef,
+            model: state.filterOptions,
+            rules: rules.value,
+            "label-width": "150px",
+            "label-align": true,
+            "label-position": "left",
+            size: "small"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.department"),
+                        prop: "department"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: state.filterOptions.department,
+                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.filterOptions.department = $event)
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.position"),
+                        prop: "position"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: state.filterOptions.position,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.filterOptions.position = $event)
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.type"),
+                        prop: "type"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Select), {
+                            modelValue: state.filterOptions.type,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => state.filterOptions.type = $event),
+                            placeholder: _ctx.$t("baseForm.form.label.placeholder")
+                          }, {
+                            default: withCtx(() => [
+                              (openBlock(true), createElementBlock(Fragment, null, renderList(projectData, (item) => {
+                                return openBlock(), createBlock(unref(Option), {
+                                  key: item.value,
+                                  label: _ctx.$t(item.label),
+                                  value: item.label
+                                }, null, 8, ["label", "value"]);
+                              }), 128))
+                            ]),
+                            _: 1
+                          }, 8, ["modelValue", "placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.date"),
+                        prop: "date"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.date,
+                            "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => state.filterOptions.date = $event),
+                            "unlink-panels": "",
+                            type: "daterange",
+                            "range-separator": "-",
+                            "start-placeholder": _ctx.$t("userSetting.first"),
+                            "end-placeholder": _ctx.$t("userSetting.last")
+                          }, null, 8, ["modelValue", "start-placeholder", "end-placeholder"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.during"),
+                        prop: "during"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: state.filterOptions.during,
+                            "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => state.filterOptions.during = $event)
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.startTime"),
+                        prop: "startTime"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.startTime,
+                            "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => state.filterOptions.startTime = $event),
+                            onBlur: handleBlur
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "left"
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), {
+                    span: 5,
+                    "label-width": "100px"
+                  }, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("userSetting.endTime"),
+                        prop: "endTime"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(DatePicker), {
+                            modelValue: state.filterOptions.endTime,
+                            "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => state.filterOptions.endTime = $event),
+                            onBlur: handleBlur
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules"])
+        ]),
+        _: 1
+      });
+    };
+  }
+});
+const setFrom_vue_vue_type_style_index_0_scoped_0e48261b_lang = "";
+const setFrom = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0e48261b"]]);
+const _hoisted_1 = { class: "container-set" };
+const _hoisted_2 = { class: "general-card" };
+const _hoisted_3 = { class: "general-top" };
+const _hoisted_4 = { class: "general-contain" };
+const _hoisted_5 = { class: "general-btn" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const { t } = useI18n();
+    const setFormRef = ref();
+    const userStore = useUserStore();
+    function handleFormReset() {
+      setFormRef.value.setReset();
+    }
+    async function handleSubmit() {
+      let data = setFormRef.value.setData();
+      if (setFormRef.value.setFormValid()) {
+        let newTemp = {
+          department: data.filterOptions.department,
+          job: data.filterOptions.position,
+          employeeType: data.filterOptions.type,
+          probationStart: getSimpleDate(data.filterOptions.date[0]),
+          probationEnd: getSimpleDate(data.filterOptions.date[1]),
+          probationDuration: data.filterOptions.during,
+          protocolStart: getSimpleDate(data.filterOptions.startTime),
+          protocolEnd: getSimpleDate(data.filterOptions.endTime)
+        };
+        await userStore.updateInfo(newTemp);
+        TINYModal.message({
+          message: t("baseForm.form.submit.success"),
+          status: "success"
+        });
+        handleFormReset();
+      } else {
+        TINYModal.message({
+          message: t("baseForm.form.submit.error"),
+          status: "error"
+        });
+      }
+    }
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.user", "menu.user.setting"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createVNode(headtop)
+          ]),
+          createBaseVNode("div", _hoisted_4, [
+            createVNode(setFrom, {
+              ref_key: "setFormRef",
+              ref: setFormRef
+            }, null, 512),
+            createBaseVNode("div", _hoisted_5, [
+              createVNode(unref(Button), {
+                type: "primary",
+                "native-type": "submit",
+                onClick: handleSubmit
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("userSetting.save")), 1)
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Button), { onClick: handleFormReset }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("userSetting.cancel")), 1)
+                ]),
+                _: 1
+              })
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_1616658a_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1616658a"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index26.css b/admin-website/src/main/resources/static/assets/index26.css
new file mode 100644
index 0000000..49ec80e
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index26.css
@@ -0,0 +1 @@
+.tiny-select-dropdown{--ti-option-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-option-font-size:var(--ti-common-font-size-base, 12px);--ti-option-height:30px;--ti-option-line-height:var(--ti-common-line-height-number, 1.5);--ti-option-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-option-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-option-disabled-bg-color:var(--ti-common-color-light, #fff);--ti-option-bg-color-selected:var(--ti-common-color-light, #fff);--ti-option-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-option-hover-bg-color-selected:var(--ti-common-color-hover-background, #f2f5fc);--ti-option-selected-bg-color-hover:var(--ti-common-color-selected-background, #5e7ce0);--ti-option-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-option-selected-font-weight:var(--ti-common-font-weight-4, normal);--ti-option-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-option-checkbox-border-color-hover:var(--ti-common-color-line-normal, #adb0b8);--ti-option-checkbox-all-select-border-color-hover:var(--ti-common-color-line-normal, #adb0b8);--ti-option-icon-color-selected:var(--ti-common-color-selected-background, #5e7ce0);--ti-option-padding-vertical:var(--ti-common-space-0, 0px);--ti-option-padding-horizontal:var(--ti-common-space-10, 10px);--ti-option-padding-horizontal-group:calc((var(--ti-common-space-10, 10px) + var(--ti-common-space-1, 1px)) * 2);--ti-option-margin-top:var(--ti-common-size-0, 0px);--ti-option-highlight-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-option-highlight-selected-text-color:var(--ti-common-color-text-white, #fff);--ti-option-icon-margin-right:var(--ti-common-space-2x, 8px);--ti-option-icon-size:var(--ti-common-font-size-2, 16px)}.tiny-select-dropdown.is-multiple .tiny-option.selected{color:var(--ti-option-text-color);background-color:var(--ti-option-bg-color-selected)}.tiny-select-dropdown.is-multiple .tiny-option.selected:hover{background-color:var(--ti-option-hover-bg-color-selected)}.tiny-select-dropdown.is-multiple .tiny-option.selected.is-disabled{color:var(--ti-option-disabled-text-color)}.tiny-select-dropdown.is-multiple .tiny-option.selected.is-disabled:hover{background-color:var(--ti-option-disabled-bg-color)}.tiny-select-dropdown.is-multiple .tiny-option.selected .tiny-option__checkbox-wrap{color:var(--ti-option-selected-text-color)}.tiny-option{position:relative;color:var(--ti-option-text-color);font-size:var(--ti-option-font-size);height:var(--ti-option-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:var(--ti-option-margin-top);border-radius:var(--ti-option-border-radius)}.tiny-option>.tiny-option__label{display:inline-block;width:100%;text-overflow:ellipsis;overflow:hidden}.tiny-option>.tiny-option__icon{font-size:var(--ti-option-icon-size);margin-right:var(--ti-option-icon-margin-right)}.tiny-option.is-disabled{color:var(--ti-option-disabled-text-color);cursor:not-allowed}.tiny-option.hover,.tiny-option:hover{background-color:var(--ti-option-hover-bg-color)}.tiny-option.hover.is-disabled,.tiny-option:hover.is-disabled{background-color:var(--ti-option-disabled-bg-color)}.tiny-option:not(.is-disabled):not(.selected):hover .tiny-checkbox__inner{border-color:var(--ti-option-checkbox-border-color-hover)}.tiny-option:not(.is-disabled):not(.selected):hover .checked-sur .tiny-checkbox__inner,.tiny-option:not(.is-disabled):not(.selected):hover .halfselect .tiny-checkbox__inner{border-color:var(--ti-option-checkbox-all-select-border-color-hover)}.tiny-option .tiny-option-checkbox{vertical-align:top}.tiny-option .tiny-option-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-option .tiny-option-wrapper.calc-width{width:calc(100% - 24px)}.tiny-option .tiny-option-wrapper.full-width{width:100%}.tiny-option .tiny-option-label{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-option.selected{color:var(--ti-option-selected-text-color);background-color:var(--ti-option-selected-bg-color);font-weight:var(--ti-option-selected-font-weight)}.tiny-option.selected:hover{background-color:var(--ti-option-selected-bg-color-hover)}.tiny-option .tiny-checkbox{vertical-align:middle;margin-bottom:2px}.tiny-option .checked-sur .tiny-checkbox__label,.tiny-option .halfselect .tiny-checkbox__label{font-weight:var(--ti-option-selected-font-weight)}.tiny-option.memorize-highlight{color:var(--ti-option-highlight-text-color)}.tiny-option.memorize-highlight.selected{color:var(--ti-option-highlight-selected-text-color)}.tiny-select-dropdown{--ti-select-dropdown-border-color:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-border-weight:var(--ti-common-size-0, 0px);--ti-select-dropdown-border-style:var(--ti-common-border-style-solid, solid);--ti-select-dropdown-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-select-dropdown-bg-color:var(--ti-common-color-light, #fff);--ti-select-dropdown-box-shadow:var(--ti-common-shadow-2-down, 0 2px 8px 0 rgba(0, 0, 0, 0.2));--ti-select-dropdown-item-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-select-dropdown-margin-top:var(--ti-common-dropdown-gap, 2px);--ti-select-dropdown-max-height:calc(30px * 8 + 8px);--ti-select-dropdown-empty-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-select-dropdown-empty-font-size:var(--ti-common-font-size-1, 14px);--ti-select-dropdown-empty-padding-horizontal:var(--ti-common-space-10, 10px);--ti-select-dropdown-empty-padding-vertical:var(--ti-common-space-6, 6px);--ti-select-dropdown-empty-image-width:var(--ti-common-size-16x, 64px);--ti-select-dropdown-empty-image-height:var(--ti-common-size-16x, 64px);--ti-select-dropdown-empty-image-margin-bottom:var(--ti-common-space-2x, 8px);--ti-select-dropdown-empty-line-height:var(--ti-common-line-height-number, 1.5);--ti-select-dropdown-padding-top:var(--ti-common-size-base, 4px);--ti-select-dropdown-padding-horizontal:var(--ti-common-size-0, 0px);--ti-select-dropdown-padding-bottom:var(--ti-common-space-base, 4px);--ti-select-dropdown-search-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-select-dropdown-line-bg-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-select-dropdown-line-margin-vertical:var(--ti-common-size-0, 0px);--ti-select-dropdown-line-margin-horizontal:var(--ti-common-space-2x, 8px);--ti-select-dropdown-line-height:var(--ti-common-font-size-1, 14px);--ti-select-dropdown-line-width:var(--ti-common-border-weight-normal, 1px);--ti-select-dropdown-svg-hover-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-select-dropdown-search-margin-top:calc(-1 * var(--ti-common-size-base));--ti-select-dropdown-search-margin-bottom:var(--ti-common-space-base, 4px);--ti-select-dropdown-search-margin-left:var(--ti-common-size-0, 0px);--ti-select-dropdown-search-margin-right:var(--ti-common-size-0, 0px);--ti-select-dropdown-search-width:100%;--ti-select-dropdown-search-border-width:var(--ti-common-size-0, 0px);--ti-select-dropdown-search-border-radius:var(--ti-common-border-radius-0, 0px);--ti-select-dropdown-search-border-color-left:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-search-border-color-right:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-search-border-color-top:var(--ti-common-color-transparent, transparent);--ti-select-dropdown-search-suffix-display:'block';--ti-select-dropdown-search-prefix-display:none;--ti-select-dropdown-search-height:28px;--ti-select-dropdown-search-input-padding-right:54px;--ti-select-dropdown-search-input-padding-left:var(--ti-common-space-2x, 8px);--ti-select-dropdown-search-empty-padding-top:var(--ti-common-space-6, 6px);--ti-select-dropdown-search-empty-padding-bottom:var(--ti-common-space-6, 6px);--ti-select-dropdown-wrap-padding-bottom:var(--ti-common-space-0, 0px);--ti-select-dropdown-icon-size:var(--ti-common-font-size-1, 14px);--ti-select-dropdown-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-select-dropdown-top-create-text-color:var(--ti-common-color-text-link);--ti-select-dropdown-top-create-text-color-hover:var(--ti-common-color-text-link-hover);--ti-select-dropdown-top-create-icon-color:var(--ti-common-color-icon-active);--ti-select-dropdown-top-create-border-weight-bottom:var(--ti-common-border-weight-normal);--ti-select-dropdown-top-create-border-style-bottom:var(--ti-common-border-style-solid);--ti-select-dropdown-top-create-border-color-bottom:var(--ti-common-color-line-dividing);--ti-select-dropdown-loading-padding-vertical:var(--ti-common-space-6, 6px);--ti-select-dropdown-loading-padding-horizontal:var(--ti-common-space-10, 10px);position:absolute;z-index:1001;border:var(--ti-select-dropdown-border-weight) var(--ti-select-dropdown-border-style) var(--ti-select-dropdown-border-color);border-radius:var(--ti-select-dropdown-border-radius);background-color:var(--ti-select-dropdown-bg-color);-webkit-box-shadow:var(--ti-select-dropdown-box-shadow);box-shadow:var(--ti-select-dropdown-box-shadow);margin-top:var(--ti-select-dropdown-margin-top);-webkit-box-sizing:border-box;box-sizing:border-box;padding:var(--ti-select-dropdown-padding-top) var(--ti-select-dropdown-padding-horizontal) var(--ti-select-dropdown-padding-bottom)}.tiny-select-dropdown .tiny-tree{max-height:300px;overflow-y:auto}.tiny-select-dropdown.tiny-popper{margin:var(--ti-select-dropdown-margin-top) 0}.tiny-select-dropdown .tiny-scrollbar.is-empty{display:none}.tiny-select-dropdown .tiny-scrollbar.is-empty__list{padding:0}.tiny-select-dropdown .tiny-recycle-scroller{list-style:none}.tiny-select-dropdown .tiny-recycle-scroller__slot .tiny-select-dropdown__item{margin-bottom:4px}.tiny-select-dropdown .tiny-select-dropdown__search{margin:var(--ti-select-dropdown-search-margin-top) var(--ti-select-dropdown-search-margin-right) var(--ti-select-dropdown-search-margin-bottom) var(--ti-select-dropdown-search-margin-left);width:var(--ti-select-dropdown-search-width)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__inner{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:var(--ti-select-dropdown-search-border-width);background-color:var(--ti-select-dropdown-search-bg-color);height:var(--ti-select-dropdown-search-height);padding-right:var(--ti-select-dropdown-search-input-padding-right);padding-left:var(--ti-select-dropdown-search-input-padding-left);border-radius:var(--ti-select-dropdown-search-border-radius);border-top-color:var(--ti-select-dropdown-search-border-color-top);border-left-color:var(--ti-select-dropdown-search-border-color-left);border-right-color:var(--ti-select-dropdown-search-border-color-right)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__suffix{display:var(--ti-select-dropdown-search-suffix-display)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__suffix .tiny-svg{font-size:var(--ti-select-dropdown-icon-size);fill:var(--ti-select-dropdown-icon-color)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__suffix-inner{width:auto;height:auto}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__prefix{display:var(--ti-select-dropdown-search-prefix-display);left:0;font-size:0}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__prefix .tiny-svg{font-size:var(--ti-select-dropdown-icon-size);fill:var(--ti-select-dropdown-icon-color);margin-right:4px}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-input__prefix-inner{width:auto;height:auto}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-icon-close::after{content:'';display:inline-block;height:var(--ti-select-dropdown-line-height);width:var(--ti-select-dropdown-line-width);background-color:var(--ti-select-dropdown-line-bg-color);line-height:100%;vertical-align:middle;margin:var(--ti-select-dropdown-line-margin-vertical) var(--ti-select-dropdown-line-margin-horizontal)}.tiny-select-dropdown .tiny-select-dropdown__search .tiny-svg:hover{fill:var(--ti-select-dropdown-svg-hover-bg-color)}.tiny-select-dropdown .tiny-select-dropdown__search+div+.tiny-select-dropdown__empty-wrap{padding-top:var(--ti-select-dropdown-search-empty-padding-top);padding-bottom:var(--ti-select-dropdown-search-empty-padding-bottom)}.tiny-select-dropdown .tiny-select-dropdown__search+.tiny-scrollbar .tiny-select-dropdown__wrap .tiny-option-group:first-child .tiny-option-group__title{margin-top:0}.tiny-select-dropdown__loading{padding:var(--ti-select-dropdown-loading-padding-vertical) var(--ti-select-dropdown-loading-padding-horizontal);margin:0;text-align:center;color:var(--ti-select-dropdown-empty-text-color);font-size:var(--ti-select-dropdown-empty-font-size);line-height:var(--ti-select-dropdown-empty-line-height)}.tiny-select-dropdown__loading-svg{height:21px}.tiny-select-dropdown__empty{padding:var(--ti-select-dropdown-empty-padding-vertical) var(--ti-select-dropdown-empty-padding-horizontal);margin:0;text-align:center;color:var(--ti-select-dropdown-empty-text-color);font-size:var(--ti-select-dropdown-empty-font-size);line-height:var(--ti-select-dropdown-empty-line-height)}.tiny-select-dropdown__empty-images{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAADvVJREFUeF7tnQ1wVNUVgM95C9lACDRBAvt2DYmgWLD+gI42CQU7VhGYgiIqtvgzKAYoNdqxxj8aQGtRRxSqJerUKlqhCKiVFmkpKExsYcAaAYVCiGTffUGYCRJCsyT7Tuc8s7hFyP7k/ezbfXeGGWDvPfeec753z/177yK4KaMtgBmtvas8uABkOAQuAC4AGW6BDFff7QFcADLcAhmuvtsDuABkuAUyXH23B3AByHALZLj6bg/gApDhFshw9d0ewAUgwy2Q4eq7PYALQIZbIMPVd3uAOADIzc3t27t37wc1TbsdAPIBYLuqqpfGUTTls7gAnMFFUU6fDABnA3xzdoKI1MbGRjnlvRtHA10AoozUidOJAUBEICL+y7tCiAlx2Dfls2Q8AJ053ev1Yjgchvb2dvD5fNDc3AzHjh1jAH4lhJiX8t6No4EZCUBnTu/RowcOHz4cevXqBe+//75uwtLSUqisrISJEycCAyFJ0g8VRdkQh31TPkvGABDL6SNGjIApU6aALMswf/582L59Ozsa7rzzTv3/jxw5Atdddx2HAs7j3bZtW1vKezeOBqY1APE6fejQobqpduzYAXPnzoXDhw9Dfn4+zJkzBy666CL9t/Xr18Njjz3Gf21VVbVHHLZ1RJa0AyBRp0e89NZbb8GSJUv0Lv7CCy/Und+3b9+TTly8eDGsWrWK/62oqhpwhHfjaGRaAeD3+1/QNK08aspGPXv21GM6d+ORJz3aLsePH4cnn3wSPvjgA/2/b775Zr3b93g8/2e+iooK+OSTT3gAWCOEKI3Dto7IklYA+Hy+dgDwcOwuKSk5o9Mjnqmrq4OqqipoaGiAnJwcfaBXVlZ2WscxGAcPHuRxwYuKotztCO/G0ci0AkCW5cNEpPfbPXr0gHHjxsFdd90FWVlZ3zLFunXrYOHChdDa2gqDBg2CefPm6QPAM6UxY8ZAKBTiHmCaEOL3cdjWEVnSCoDi4uL+oVBoFRFdAQASe4C78muuuQbuv/9+3SFtbW2waNEieO+99/R/X3vttXDPPfeA1+vt1GFXXnll5PeBqqoecIR342hkWgEQ0ZcHgrm5uc8BwA1ExJ6lDRs2tNXW1mY9/fTTepfPvQI7fuzYsTHNtGvXLpg1axbnC6uq2i1mAQdlSEsAIvYnIvT7/b/QNK2lpqZmVVlZmSAiKTs7G8rLy2HChPhWc5ctWwbV1dUs9oiqqnkO8m/MpqY1AKdqP2DAgFZEPNnXFxYWwqRJk+Dqq68GhuJMiQeKHbOEz1RV/XrRIE1SRgHg8/m+BIB+t956q77My6N6ThwOzjnnHJg9e/Zpp4rTpk0DnjGk0yZQhN+MBODtt9/W1/r5qX722Wf1TZ6ORAUFBciA8AwikjhUHD16lAGoEkLMTZOHX1cjYwHo06cP8IBwzZo1bIdjiPgVEfE8ULcJTyN5hsCLQuPHjwdN09JqEyjjewBe+n399df5qT6OiFcpivKRz+cbgYiLoqeRUQPKNlVVvYiobwilS8rIHmDq1KmwdOlS9mG7JEkTFUXRu4FI6tOnT17Pnj0X8TQSAHh02E5EP29sbPxdujg+U3sAFQAGROK9JEl3KIryamdOHThwoK++vr4x3Z78jARAluU3iehmffCD+EshxFPp9kQnqk9GhYCioqLsEydOTJEkqS4YDH69/ZfhKaMAyHBfn1b9lANg8uTJnpqamuuJiNdpryAijtk5J2MW4hohxPhYzpRl+RJEvFXTtB/xsW5E3CqEuCpWua787vP5eDAZvbnQgoiNAPBPRHynpKRk1YoVK8JdqcPosikFgN/vH6dp2m8BoOhMimIMAIYNG9arqalpMRHdFr3OgYjrbQDgVDXqJUn62amzDqOdmoi8lAHA5/M9BACPdwzQFAB4FhG3Z2dn79i3bx8v4cZMhYWFeW1tbX8DAJ7PtxLRCx6PZ3l2dvbne/fuPRpTgMEZBg0aVNDa2noBEQ0HgAoi8ndU8ZCqqk8YXF1S4lICAL/ff7emaUs65uVViPhMMBj8b6IaybJ8ExEtQ8Q9Ho9nbENDw75EZZiVPxAI9CCi+zRNqwKAbpIklSuKom8x2plsByAQCFwbDof5dAZKknSboij6Ck0yqWOUPyE7O3ttXV3dV8nIMLuM3++fqmkarz2Qx+MZHwwG/2p2nZ3JtxWA0aNHd9uzZ88uIjoXAFKmWzTbIZFwh4j/Oe+884Zu3LiRzzLakmwFQJblHxPROwBwyOv1FtbX17faYgWLK+WeKhQK8bGyfog4QQjxrsVNOFmd3QC8TkQ/QcT5Qog5dhnBjnplWZ5HRI8i4htCiJ/a0Qau01YAfD6fvjaPiOcLIXYna4SioqIBoVDoHUR8Tgjxx2TlWFlOluXziegzADioqmpkf8LKJuh12QaALMtDiOhzAGhUVdXXFc0DgcCocDi8ERE3CyFGdkWWlWUjD0BWVtbQL774gmGwPNkGQGTqh4jLhBBTuqL54MGD+7W0tPBaQbPX6y1wylgisjklSdJMRVFs2Wq2DYAo5Q2ZD8uy/FHHQY7pqqq+1BWgrCob9RD8SQhxk1X1RtdjGwBGxf+IMrIs30JEbwBAi8fj+X4wGPzUDoMmUmdUGLRtHGALAEbG/2iDy7K8joh482d/Tk7OxXYs/yYCAOe1exxgCwBGxv9og/v9/r5E9A8iutDj8dwQDAZXJuoQq/PbPQ6wBQCj43+00zo2hEbn5+ev2blz54moEDEbAPj9rtPpvKu0tPSG6K3aQCCQL0nSdw4cOFBnJhR2jwNsAcDo+B+Pg2RZXk5EN54uLyIeyc3NLdy9e/fJFwR8Ph+fGOIp5WpErBBCNMRTT6J57B4HWA6AWfE/luGrqqqkl19+eRC/L3hq3l69eqnRzuff/X5/ORE9R0RZiHjY4/FMamho+DBWPcn8buc4wHIAzIr/yRg+VpnCwsKh7e3tLxFRCQAc9Xg8I4PBYG2scon+buc4wHIAzIz/iRo+nvzcY8iyzNvVYxHx09LS0kuMPtZl5zjAcgDsiP/xOLqzPB0rjfzkD5Ak6UZFUVZ0VeYp01fDlsUTbZelANgV/xM1yunyy7JcQkS/7t69+6wDBw7sNEJmtAy7xgGWAuCk+G+0g2PJs2scYCkATov/sZxm5O9RD8dyIYT+9pIVyVIAnBj/rXAC12FXeLQMALsUtMqBRtQT9YB8VwjBZyVMT5YB4Mb/2L6MCpEzFEXhY/KmJ8sAcON/bF/aMQ6wDAA3/scGwI4waQkAdigW29ypmcPqcYAlALjxP37YrB4HWAKAG//jB8DqcYAlALjxP34ArA6XpgNgtULxmzp1c1o5DjAdADf+Jw6aleMA0wFw43/iAFg5DjAdADf+Jw6AlWHTVACsVCRxM6d2CavGAaYC4Mb/5CGzahxgKgBu/E8eAKseHrMBCPGx6uTNkFTJLxBx+VlnnTWvtra2JSkJpykUCATODYfDv0HE0USUb5TcOOSYek+RqQD4fD7bPq2OiH+fPn36NVVVVVocRu40S1FRUVEoFPoXABR0VVYy5VVVNc1PpglmRSMA1NYafpT+jHbcunUrVFRUUHNzM3o8nnHBYPAvyRg9uowsyy8Q0YxLL71Uv2iS7xqyIvEVtpxcABK09iuvvKJfComIbwohbkmw+P9l7/iS2ZdElMdXzfDdQlYlF4AkLa2qqn5ZJL/Nk5OTc3ZXXhP3+/3jNU378+DBgyOXRyfZqsSLuQAkbrOTJfiuny1btnAvkPQXyPh9wurq6i386Vm+eZRvGrEyuQB0wdp803eHw8KIeH0y3+Lz+Xz83Z7ygoIC/XKpWNfLdqG5py3qAtBFi/KtYK+99hr3Avzd4auEEDXxivT7/Y9qmjaPr4p58cUX8fLLL4+3qGH5XAC6aMr29na499579fsBGQIieqZ3794LTn0VPLoanu9rmvYkEU3k7/lWVlbiLbd0aRyZtBYuAEmb7puCDMH8+fNh9erVkf/8UpKkRYjIn5Xf279//+bDhw+fFQ6HLw6HwxMR8Q4i6u71eumRRx7BeO8XNqCp3xLhAmCgVTds2KBPDevr62NKLSsrgwceeAAGDhwYM6+ZGVwATLDupk2bYOPGjfDxxx/DoUOHoKWlBfLy8iAQCMBll10GY8aMAZ7ypUJyAUgFL9jYBhcAG42fClW7AKSCF2xsgwuAjcZPharTBgCeh/NAy03xW6CpqQlGjRqlF3D8buCKFStgyJAh8Wvv5oTdu3fD5MmT0wOAhx9+GG66yZavoTsWpeXLl8Pjj+vXKDq/BygpKYElSyz53oFjHX5qw8vLy6Gm5uutCyeHAL67rzdvqKxcuRJTZYEl1SnZu3cvTJo0iTo+a3tUVdU+ZrXZ7CNhfGnDBdz4kSNHwvPPP2+WHmkld+bMmbB58+aITjtUVf2eWQqaCoDf71+oaVoFIvLpYK8dhyrMMpxZcpcuXQpPPfUU717qNgOAhaqq3mdWfWYDcLGmadsBgE/mSpIkwYIFC7DjuJZZOjlW7tq1a6GyspI0TT/IHLHZcEVR/m2WUqYCwI2WZfkPfJU7IjbxwUreY58xYwZOnz4dPB6PWXo5Sm44HIbq6moeKPMxeozYChFfFULcbqYypgMwZMiQ3Obm5s18jQsAHAeAbO4NiouLYfbs2TB69Gjo1q2bmTqmrGw+q8A7k4sXL4b9+/dHnnq+PrcnItbm5uaWdXZ4xQjFTAeAG1lcXNw/FAqtICL9Useo+Aa5ubk0cuRI5OPW/fr1g5ycHCP0SlkZvP3M29B1dXWwadMm/f2FU22CiJu8Xu/k/fv3HzRbEUsAYCVGjBjRXQjBd/Y8aNcbNmYb0wD5fPnlE7IsP79t27Y2A+TFFGEZAJGWDBs2LKupqekHAMB/ZCLia2P7c7fXER7SPR7wVfHczXM4PIiIfH+yAIAP8/LyPoy+6Cqm9wzIYDkABrTZFWGgBVwADDSmE0W5ADjRawa22QXAQGM6UZQLgBO9ZmCbXQAMNKYTRbkAONFrBrbZBcBAYzpRlAuAE71mYJtdAAw0phNFuQA40WsGttkFwEBjOlGUC4ATvWZgm10ADDSmE0W5ADjRawa22QXAQGM6UZQLgBO9ZmCbXQAMNKYTRf0Plv3l2xQS5icAAAAASUVORK5CYII=);width:var(--ti-select-dropdown-empty-image-width);height:var(--ti-select-dropdown-empty-image-height);margin-bottom:var(--ti-select-dropdown-empty-image-margin-bottom);background-size:cover;background-repeat:no-repeat;display:inline-block;vertical-align:bottom}.tiny-select-dropdown .tiny-select-dropdown__wrap{max-height:var(--ti-select-dropdown-max-height);margin-right:-4px;padding-bottom:var(--ti-select-dropdown-wrap-padding-bottom)}.tiny-select-dropdown .tiny-select-dropdown__list{list-style:none;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-bottom:6px;text-align:left}.tiny-select-dropdown .tiny-option{padding:var(--ti-option-padding-vertical) var(--ti-option-padding-horizontal)}.tiny-select-dropdown .tiny-select-dropdown__wrap.virtual{position:relative;margin-right:0!important}.tiny-select-dropdown .tiny-select-dropdown__wrap.virtual .tiny-option{position:absolute;width:100%}.tiny-select-dropdown .tiny-select-dropdown__item{white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 var(--ti-select-dropdown-item-padding-horizontal)}.tiny-select-dropdown .tiny-select-dropdown__item.is-disabled svg path:first-of-type{fill:#f5f5f5}.tiny-select-dropdown .tiny-select-dropdown__loading{text-align:center;padding:10px 0}.tiny-select-dropdown .tiny-select-dropdown__loading>.circular{fill:var(--ti-common-color-line-hover);height:16px;width:16px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.tiny-select-dropdown .tiny-select-dropdown__loading>.circular .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--ti-common-color-line-hover);stroke-linecap:round}.tiny-select-dropdown .tiny-select__top-create{margin:0 8px 4px;border-bottom:var(--ti-select-dropdown-top-create-border-weight-bottom) var(--ti-select-dropdown-top-create-border-style-bottom) var(--ti-select-dropdown-top-create-border-color-bottom)}.tiny-select-dropdown .tiny-select__top-create>div{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px;line-height:20px;color:var(--ti-select-dropdown-top-create-text-color);cursor:pointer}.tiny-select-dropdown .tiny-select__top-create>div:hover{color:var(--ti-select-dropdown-top-create-text-color-hover)}.tiny-select-dropdown .tiny-select__top-create>div svg{fill:var(--ti-select-dropdown-top-create-icon-color);font-size:14px;margin-right:4px}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.tiny-transition-search-line-fade-enter,.tiny-transition-search-line-fade-enter-from,.tiny-transition-search-line-fade-leave-to{opacity:0}.tiny-transition-search-line-fade-enter-to{opacity:0}.tiny-transition-search-line-fade-enter-active,.tiny-transition-search-line-fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.tiny-transition-icon-out-in-enter-active{-webkit-animation:bounce-in .3s;animation:bounce-in .3s}.tiny-transition-icon-out-in-leave-active{animation:bounce-in .3s reverse}.tiny-transition-icon-scale-in-enter-active{-webkit-animation:scale-in .3s;animation:scale-in .3s}.tiny-transition-icon-scale-in-leave-active{animation:scale-in .3s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}100%{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@keyframes bounce-in{0%{-webkit-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}50%{-webkit-transform:translateY(-50%) scale(1.2);transform:translateY(-50%) scale(1.2)}100%{-webkit-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}}@-webkit-keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}100%{-webkit-transform:scale(1);transform:scale(1)}}.tiny-search{--ti-search-font-size:var(--ti-common-font-size-base, 12px);--ti-search-input-height:var(--ti-common-size-height-normal, 28px);--ti-search-input-padding-left:var(--ti-common-space-2x, 8px);--ti-search-input-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-search-input-focus-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-search-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-search-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-search-input-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-search-size-height-normal:var(--ti-common-size-height-normal, 28px);--ti-search-input-placeholder-color:var(--ti-common-color-placeholder, #adb0b8);--ti-search-input-btn-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-search-input-btn-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-search-input-btn-icon-size:var(--ti-common-font-size-1, 14px);--ti-search-input-btn-width:var(--ti-common-size-6x, 24px);--ti-search-input-btn-line-height:var(--ti-search-input-height);--ti-search-icon-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-search-input-btn-icon-position-right:var(--ti-common-space-10, 10px);--ti-search-input-left-svg-margin-right:var(--ti-common-space-0, 0px);--ti-search-input-left-svg-margin-left:var(--ti-common-space-3x, 12px);--ti-search-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-search-mini-width:var(--ti-search-input-height);--ti-search-line-hover-border-color:var(--ti-common-color-line-hover, #575d6c);--ti-search-size-height-small:var(--ti-common-size-height-small, 32px);--ti-search-selector-width:var(--ti-common-size-20x, 80px);--ti-search-selector-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-search-selector-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-search-selector-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-search-selector-box-shadow:var(--ti-common-shadow-2-down, 0 2px 8px 0 rgba(0, 0, 0, 0.2));--ti-search-selector-box-min-width:var(--ti-common-size-20x, 80px);--ti-search-selector-margin-top:var(--ti-common-space-base, 4px);--ti-search-selector-max-height:calc(var(--ti-common-space-10, 10px) * 30);--ti-search-selector-list-height:var(--ti-common-size-height-normal, 28px);--ti-search-list-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-search-selector-list-padding-horizontal:var(--ti-common-space-10, 10px);position:relative;display:inline-block;font-size:var(--ti-search-font-size);width:100%}.tiny-search .tiny-search__line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:var(--ti-search-input-height);border:1px solid var(--ti-search-input-border-color);border-radius:var(--ti-search-input-border-radius);background-color:var(--ti-search-input-bg-color);-webkit-transition:.4s;transition:.4s;border-collapse:separate}.tiny-search .tiny-search__line:hover{border-color:var(--ti-search-line-hover-border-color)}.tiny-search .tiny-search__line.focus,.tiny-search .tiny-search__line:focus{border-color:var(--ti-search-input-focus-border-color)}.tiny-search .tiny-search__input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%;width:0;font-size:var(--ti-search-font-size);line-height:1;color:var(--ti-search-input-text-color);padding:0 0 0 var(--ti-search-input-padding-left);border:0;outline:0;background:0 0}.tiny-search .tiny-search__input::-moz-placeholder{color:var(--ti-search-input-placeholder-color);opacity:1}.tiny-search .tiny-search__input:-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input::-webkit-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input::-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input::placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::-moz-placeholder{color:var(--ti-search-input-placeholder-color);opacity:1}.tiny-search .tiny-search__input:focus:-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::-webkit-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::-ms-input-placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input:focus::placeholder{color:var(--ti-search-input-placeholder-color)}.tiny-search .tiny-search__input-btn{text-align:center}.tiny-search .tiny-search__input-btn a{position:relative;text-decoration:none;display:block;width:var(--ti-search-input-btn-width);height:calc(var(--ti-search-input-height) - 2px);line-height:calc(var(--ti-search-input-height) - 2px)}.tiny-search .tiny-search__input-btn svg{position:absolute;top:50%;right:var(--ti-search-input-btn-icon-position-right);-webkit-transform:translateY(-50%);transform:translateY(-50%);fill:var(--ti-search-input-btn-icon-color);font-size:var(--ti-search-input-btn-icon-size)}.tiny-search .tiny-search__input-btn:hover svg{fill:var(--ti-search-input-btn-hover-icon-color)}.tiny-search .tiny-search__prefix{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-search .tiny-search__prefix svg{margin:0 var(--ti-search-input-left-svg-margin-right) 0 var(--ti-search-input-left-svg-margin-left);font-size:var(--ti-search-input-btn-icon-size);fill:var(--ti-search-input-btn-icon-color)}.tiny-search .tiny-search__present{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:var(--ti-search-selector-width);color:var(--ti-search-selector-text-color);line-height:var(--ti-search-size-height-normal);padding-left:var(--ti-search-input-padding-left);white-space:nowrap}.tiny-search .tiny-search__present .tiny-search__text{-webkit-box-flex:1;-ms-flex:1;flex:1;display:inline-block}.tiny-search .tiny-search__present .icon-outer{height:calc(var(--ti-search-size-height-normal) - 12px);line-height:calc(var(--ti-search-size-height-normal) - 12px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 8px 0 4px;border-right:1px solid var(--ti-search-input-border-color);cursor:pointer}.tiny-search .tiny-search__present .icon-outer svg{font-size:var(--ti-search-input-btn-icon-size);fill:var(--ti-search-icon-color)}.tiny-search .tiny-search__selector{position:absolute;top:var(--ti-search-input-height);left:0;overflow:hidden;min-width:var(--ti-search-selector-box-min-width);border:1px solid var(--ti-search-input-border-color);border-radius:var(--ti-search-selector-border-radius);font-size:var(--ti-search-font-size);-webkit-box-shadow:var(--ti-search-selector-box-shadow);box-shadow:var(--ti-search-selector-box-shadow);background:var(--ti-search-selector-bg-color);color:var(--ti-search-selector-text-color);margin-top:var(--ti-search-selector-margin-top)}.tiny-search .tiny-search__selector-body{max-height:var(--ti-search-selector-max-height);overflow-y:auto;overflow-x:hidden}.tiny-search .tiny-search__poplist-item{min-height:var(--ti-search-selector-list-height);padding:0 var(--ti-search-selector-list-padding-horizontal);line-height:var(--ti-search-selector-list-height);max-width:100%;font-size:var(--ti-search-font-size);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.tiny-search .tiny-search__poplist-item:hover{background:var(--ti-search-list-hover-bg-color);cursor:pointer}.tiny-search .tiny-search__poplist-item span{font-size:var(--ti-search-font-size)}.tiny-search .tiny-search__poplist-item .icon-check{font-size:var(--ti-common-font-size-2)}.tiny-search .tiny-search__poplist-item .icon-check:hover{color:var(--ti-search-input-btn-hover-icon-color)}.tiny-search.mini .tiny-search__line{border-radius:var(--ti-search-input-height);width:100%;float:right}.tiny-search.mini.collapse .tiny-search__input-btn a{width:calc(var(--ti-search-mini-width) - 2px)}.tiny-search.mini.collapse .tiny-search__input-btn a svg{fill:var(--ti-search-icon-color);left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-search.mini .tiny-search__input{border-radius:var(--ti-search-input-height)}.tiny-search.mini.collapse{visibility:visible}.tiny-search.collapse .tiny-search__input{padding:0;width:var(--ti-search-size-height-normal);float:right}.tiny-search.mini.collapse .tiny-search__line{width:var(--ti-search-mini-width);float:right;background-color:transparent;border-collapse:separate}.tiny-search.mini.collapse .tiny-search__input,.tiny-search.mini.collapse .tiny-search__present{display:none}.tiny-search .fade-enter-to{opacity:0}.tiny-search .fade-enter,.tiny-search .fade-leave-to{opacity:0}.tiny-mobile-search{--ti-mobile-search-height:56px;--ti-mobile-search-input-height:40px;--ti-mobile-search-font-size:var(--ti-mobile-font-size-l, 16px);--ti-mobile-search-input-bg-color-gray:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-search-input-bg-color-primary:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-search-text-color-gray:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-text-color-primary:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-icon-fill-color-gray:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-search-icon-fill-color-primary:var(--ti-mobile-color-icon-default, #808080);--ti-mobile-search-caret-color-primary:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-caret-color-gray:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-search-bg-color-primary:var(--ti-mobile-color-bg-default, #f5f5f5);--ti-mobile-search-bg-color-gray:var(--ti-mobile-color-bg-container-1, #fff);--ti-mobile-search-placeholder-text-color-primary:var(--ti-mobile-color-text-placeholder, #808080);--ti-mobile-search-placeholder-text-color-gray:var(--ti-mobile-color-text-placeholder, #808080);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--ti-mobile-search-height);outline:0}.tiny-mobile-search .tiny-mobile-search__line{position:relative;-webkit-box-flex:1;-ms-flex:auto;flex:auto;height:var(--ti-mobile-search-input-height);margin-left:16px;border-radius:var(--ti-mobile-search-input-height);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;background:0 0}.tiny-mobile-search .tiny-mobile-search__line:after{content:'';width:200%;height:200%;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0}.tiny-mobile-search .tiny-mobile-search__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;height:100%;padding-left:16px;padding-right:16px;z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tiny-mobile-search-gray .tiny-mobile-search__box{background:var(--ti-mobile-search-input-bg-color-gray)}.tiny-mobile-search-primary .tiny-mobile-search__box{background:var(--ti-mobile-search-input-bg-color-primary)}.tiny-mobile-search .tiny-mobile-search__input{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;border:0;margin-left:8px;padding-right:15px;color:var(--ti-mobile-search-text-color-primary);background:0 0;font-size:var(--ti-mobile-search-font-size);outline:0}.tiny-mobile-search .tiny-mobile-search__input-primary{color:var(--ti-mobile-search-text-color-primary);caret-color:var(--ti-mobile-search-caret-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-primary:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary::placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-primary:focus:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-primary:focus::placeholder{color:var(--ti-mobile-search-placeholder-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__input-gray{color:var(--ti-mobile-search-text-color-gray);caret-color:var(--ti-mobile-search-caret-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-gray:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray::placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::-moz-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray);opacity:1}.tiny-mobile-search .tiny-mobile-search__input-gray:focus:-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::-webkit-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::-ms-input-placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search .tiny-mobile-search__input-gray:focus::placeholder{color:var(--ti-mobile-search-placeholder-text-color-gray)}.tiny-mobile-search-primary{background-color:var(--ti-mobile-search-bg-color-primary)}.tiny-mobile-search-primary .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-primary)}.tiny-mobile-search-gray{color:var(--ti-mobile-search-text-color-gray);background-color:var(--ti-mobile-search-bg-color-gray)}.tiny-mobile-search-gray .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-gray)}.tiny-mobile-search .tiny-mobile-search__icon{text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-mobile-search .tiny-mobile-search__icon .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-primary)}.tiny-mobile-search-gray .tiny-mobile-search__icon .tiny-svg{fill:var(--ti-mobile-search-icon-fill-color-gray)}.tiny-mobile-search .tiny-mobile-search__close-icon{position:absolute;right:5px;padding:0 8px;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-mobile-search__right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:46px;height:100%;color:var(--ti-mobile-search-text-color-primary)}.tiny-mobile-search .tiny-mobile-search__present{color:var(--ti-mobile-search-text-color-primary);font-size:var(--ti-mobile-search-font-size);line-height:1;white-space:nowrap;cursor:pointer;outline:0}.tiny-mobile-search-gray .tiny-mobile-search__present{color:var(--ti-mobile-search-text-color-gray)}.tiny-mobile-search.focus .tiny-mobile-search__present{display:block}.tiny-mobile-search.focus .tiny-mobile-search__label{display:none}.tiny-mobile-search.focus .tiny-mobile-search__box{opacity:1}.tiny-mobile-search.collapse .tiny-mobile-search__input{padding:0;width:30px;float:right}.tiny-mobile-search .fade-enter-to{opacity:0}.tiny-mobile-search .fade-enter,.tiny-mobile-search .fade-leave-to{opacity:0}.tiny-select{--ti-select-inner-border-color-active:var(--ti-common-color-line-active, #5e7ce0);--ti-select-input-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-select-input-font-size:var(--ti-common-font-size-base, 12px);--ti-select-input-icon-top:14px;--ti-select-input-icon-top-medium:var(--ti-common-space-5x, 20px);--ti-select-input-icon-top-small:var(--ti-common-space-4x, 16px);--ti-select-input-icon-top-mini:var(--ti-common-space-3x, 12px);--ti-select-input-caret-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-select-input-caret-hover-icon-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-select-input-caret-font-size:10px;--ti-select-input-icon-close-margin-right:var(--ti-common-space-0, 0px);--ti-select-input-disabled-caret-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-select-input-disabled-hover-border-color:var(--ti-common-color-line-disabled, #dfe1e6);--ti-select-input-height:var(--ti-common-size-6x, 24px);--ti-select-input-mini-height:var(--ti-common-size-6x, 24px);--ti-select-input-small-height:var(--ti-common-size-7x, 28px);--ti-select-input-medium-height:var(--ti-common-size-42);--ti-select-tags-wrap-padding-left:calc(var(--ti-common-space-1, 1px) * 2);--ti-select-tags-wrap-padding-top:calc(var(--ti-common-space-1, 1px) * 2);--ti-select-tags-wrap-padding-bottom:calc(var(--ti-common-space-1, 1px) * 2);--ti-select-tags-wrap-padding-right:var(--ti-common-space-0, 0px);--ti-select-tags-margin-top:var(--ti-common-space-1, 1px);--ti-select-tags-margin-right:var(--ti-common-space-1, 1px);--ti-select-tags-margin-bottom:var(--ti-common-space-1, 1px);--ti-select-tags-margin-left:var(--ti-common-space-1, 1px);--ti-select-tags-height:calc(var(--ti-common-size-base) * 7);--ti-select-tags-max-height:var(--ti-common-size-24x, 96px);--ti-select-suffix-display:'inline-block';--ti-select-suffix-icon-margin-right:var(--ti-common-space-base, 4px);--ti-select-suffix-font-size:var(--ti-common-font-size-base, 12px);--ti-select-collapse-button-text-icon-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-select-collapse-button-icon-margin-left:var(--ti-common-space-2, 2px);--ti-select-collapse-button-font-size:var(--ti-common-font-size-base, 12px);display:inline-block;position:relative;width:100%;outline:0}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-select.tiny-select__multiple:not(.tiny-select__collapse-tags):not(.tiny-select__filterable) .tiny-select__tags>span{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}}@supports (-ms-ime-align:auto){.tiny-select.tiny-select__multiple:not(.tiny-select__collapse-tags):not(.tiny-select__filterable) .tiny-select__tags>span{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}}.tiny-select.tiny-select__collapse-tags .tiny-select__tags>span{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.tiny-select.tiny-select__collapse-tags .tiny-select__tags>span>span{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-select.tiny-select__collapse-tags .tiny-select__tags>span>span:not(:only-child):first-child{max-width:70%}.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span{width:auto;max-width:76%}.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:first-child{-ms-flex-preferred-size:auto;flex-basis:auto}}.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:not(:only-child):first-child,.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:only-child{max-width:100%}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-select.tiny-select__collapse-tags.tiny-select__filterable .tiny-select__tags>span>span:not(:only-child):not(:first-child){-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:auto;flex-basis:auto}}.tiny-select.tiny-select__filterable .tiny-select__tags .tiny-select__input{cursor:text}.tiny-select__tags{position:absolute;line-height:normal;white-space:normal;padding-left:var(--ti-select-tags-wrap-padding-left);padding-right:var(--ti-select-tags-wrap-padding-right);padding-bottom:var(--ti-select-tags-wrap-padding-bottom);padding-top:var(--ti-select-tags-wrap-padding-top);z-index:1;top:50%;margin-left:1px;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;cursor:pointer}.tiny-select__tags>span{display:contents}.tiny-select__tags>span>span{font-size:0}.tiny-select__tags .not-visible{visibility:hidden}.tiny-select__tags .tiny-select__input{cursor:pointer;border:none;outline:0;padding:0;margin-left:8px;color:var(--ti-select-input-text-color);font-size:var(--ti-select-input-font-size);height:var(--ti-select-input-height);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.tiny-select__tags .tiny-select__input.is-mini{height:var(--ti-select-input-mini-height)}.tiny-select__tags .tiny-select__input.is-small{height:var(--ti-select-input-small-height)}.tiny-select__tags .tiny-select__input.is-medium{height:var(--ti-select-input-medium-height)}.tiny-select__tags.is-showicon{padding-left:24px}.tiny-select__tags .tiny-tag{white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:var(--ti-select-tags-margin-top) var(--ti-select-tags-margin-right) var(--ti-select-tags-margin-bottom) var(--ti-select-tags-margin-left);text-overflow:ellipsis;overflow:hidden;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:160px}.tiny-select__tags .tiny-select__tags-text{display:inline-block;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.tiny-select__tags .tiny-select__tags-text+.tiny-tag__close{-ms-flex-negative:0;flex-shrink:0}.tiny-select__tags .tiny-select__tags-text.is-disabled{max-height:24px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.tiny-select__tags .tiny-select__tags-text.is-disabled>span{color:red;font-size:var(--ti-tag-font-size);margin:var(--ti-select-tags-margin-top) var(--ti-select-tags-margin-right) var(--ti-select-tags-margin-bottom) var(--ti-select-tags-margin-left);display:inline-block;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tiny-select__tags .tiny-select__collapse-text{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:var(--ti-select-tags-margin-left);font-size:var(--ti-select-collapse-button-font-size);color:var(--ti-select-collapse-button-text-icon-color)}.tiny-select__tags .tiny-select__collapse-text .tiny-svg{margin-left:var(--ti-select-collapse-button-icon-margin-left);fill:var(--ti-select-collapse-button-text-icon-color)}.tiny-select.is-click-expand,.tiny-select.is-hover-expand{vertical-align:top}.tiny-select.is-click-expand .tiny-select__tags-group,.tiny-select.is-hover-expand .tiny-select__tags-group{position:absolute;top:0;left:0;right:0}.tiny-select.is-click-expand.is-hover .is-expand,.tiny-select.is-hover-expand.is-hover .is-expand{z-index:2}.tiny-select.is-click-expand .tiny-select__tags,.tiny-select.is-hover-expand .tiny-select__tags{height:var(--ti-select-tags-height);overflow:hidden}.tiny-select.is-click-expand .tiny-select__tags-collapse,.tiny-select.is-hover-expand .tiny-select__tags-collapse{visibility:visible;position:static}.tiny-select.is-click-expand .tiny-select__tags .is-hidden,.tiny-select.is-hover-expand .tiny-select__tags .is-hidden{visibility:hidden;position:absolute}.tiny-select.is-click-expand .tiny-select__tags>span>span,.tiny-select.is-hover-expand .tiny-select__tags>span>span{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.tiny-select.is-click-expand .tiny-select__tags .hidden,.tiny-select.is-hover-expand .tiny-select__tags .hidden{visibility:hidden}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags,.tiny-select.is-click-expand.is-hover .tiny-select__tags,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags,.tiny-select.is-hover-expand.is-hover .tiny-select__tags{height:auto;max-height:var(--ti-select-tags-max-height);overflow-y:auto}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags-collapse,.tiny-select.is-click-expand.is-hover .tiny-select__tags-collapse,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags-collapse,.tiny-select.is-hover-expand.is-hover .tiny-select__tags-collapse{visibility:hidden;position:absolute}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags-collapse.is-hidden,.tiny-select.is-click-expand.is-hover .tiny-select__tags-collapse.is-hidden,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags-collapse.is-hidden,.tiny-select.is-hover-expand.is-hover .tiny-select__tags-collapse.is-hidden{margin:0}.tiny-select.is-click-expand.collapse-tag-clicked .tiny-select__tags.not-selected,.tiny-select.is-click-expand.is-hover .tiny-select__tags.not-selected,.tiny-select.is-hover-expand.collapse-tag-clicked .tiny-select__tags.not-selected,.tiny-select.is-hover-expand.is-hover .tiny-select__tags.not-selected{overflow-y:hidden}.tiny-select.is-click-expand .is-expand,.tiny-select.is-hover-expand .is-expand{position:absolute;width:100%}.tiny-select.is-click-expand.tiny-select--small .tiny-select__tags,.tiny-select.is-hover-expand.tiny-select--small .tiny-select__tags{padding-top:2px}.tiny-select.is-click-expand.tiny-select--mini .tiny-select__tags,.tiny-select.is-hover-expand.tiny-select--mini .tiny-select__tags{padding-top:2px}.tiny-select.is-hover-expand.is-disabled .tiny-select__tags{height:auto}.tiny-select.is-click-expand .tiny-select__tags-collapse{visibility:visible;position:static}.tiny-select.is-click-expand .tiny-select__tags-collapse.is-hidden{visibility:hidden;position:absolute}.tiny-select.is-disabled{cursor:not-allowed}.tiny-select.is-disabled .tiny-input__inner{padding-right:12px}.tiny-select.is-disabled .tiny-input__suffix{display:var(--ti-select-suffix-display)}.tiny-select.is-disabled .tiny-select__tags{padding-right:16px}.tiny-select-tip .tiny-select-tipcontent{max-width:300px}.tiny-select .tiny-input{display:block}.tiny-select .tiny-input .tiny-input__inner[readonly]{cursor:pointer}.tiny-select .tiny-input .tiny-select__caret{fill:var(--ti-select-input-caret-icon-color);font-size:var(--ti-select-input-caret-font-size);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.tiny-select .tiny-input .tiny-select__caret.tiny-select__close{margin-right:var(--ti-select-input-icon-close-margin-right)}.tiny-select .tiny-input .tiny-select__caret:hover{fill:var(--ti-select-input-caret-hover-icon-color)}.tiny-select .tiny-input .tiny-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.tiny-select .tiny-input .tiny-select__limit-txt,.tiny-select .tiny-input .tiny-select__proportion-txt{font-size:var(--ti-select-suffix-font-size);line-height:1;margin:0 var(--ti-select-suffix-icon-margin-right)}.tiny-select .tiny-input .tiny-select__copy{cursor:pointer;margin-right:var(--ti-select-suffix-icon-margin-right)}.tiny-select .tiny-input .tiny-input__suffix{top:var(--ti-select-input-icon-top)}.tiny-select .tiny-input .tiny-input__suffix-inner{font-size:0}.tiny-select .tiny-input .tiny-input__suffix-inner{overflow:hidden}.tiny-select .tiny-input-medium .tiny-input__suffix{top:var(--ti-select-input-icon-top-medium)}.tiny-select .tiny-input-small .tiny-input__suffix{top:var(--ti-select-input-icon-top-small)}.tiny-select .tiny-input-mini .tiny-input__suffix{top:var(--ti-select-input-icon-top-mini)}.tiny-select .tiny-input.is-disabled .tiny-select__caret{fill:var(--ti-select-input-disabled-caret-text-color);cursor:not-allowed}.tiny-select .tiny-input.is-disabled .tiny-input__inner{cursor:not-allowed}.tiny-select .tiny-input.is-disabled .tiny-input__inner:hover{border-color:var(--ti-select-input-disabled-hover-border-color)}.tiny-select .tiny-input.is-focus .tiny-input__inner{border-color:var(--ti-select-inner-border-color-active)}.tiny-select__underline .tiny-input .tiny-input__inner,.tiny-select__underline .tiny-input.is-disabled .tiny-input__inner{border-radius:0;border-top-width:0;border-left-width:0;border-right-width:0;padding-left:0;background-color:var(--ti-input-bg-color)}.tiny-select__underline .tiny-input.is-disabled__suffix,.tiny-select__underline .tiny-input__suffix{right:0}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index26.js b/admin-website/src/main/resources/static/assets/index26.js
new file mode 100644
index 0000000..20522ed
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index26.js
@@ -0,0 +1,1368 @@
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, y as createBlock, A as normalizeClass, B as resolveDynamicComponent, z as createCommentVNode, E as toDisplayString, D as renderSlot, F as mergeProps, l as createVNode, I as withDirectives, L as vShow, r as ref, d as defineComponent$1, a0 as useI18n, c as computed, a8 as reactive, H as withCtx, W as unref, a1 as useRouter, i as inject, J as createTextVNode, M as Fragment, N as renderList, p as provide, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { s as svg, x as xss, d as defineComponent, p as props, a as setup, $ as $props, b as $prefix, c as $setup, e as popup_manager_default, o as on, f as off, i as index$6, g as index$7, h as createComponent, j as index$8, k as h, u as useUserStore, I as Input, C as Checkbox, B as Button, T as TINYModal, _ as _export_sfc$1, r as registerUser, l as useLocale, L as LOCALE_OPTIONS, F as Footer, m as _imports_0 } from "./index.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import { i as index$5 } from "./warning-triangle.js";
+import "./index30.js";
+var _hoisted_1$7 = {
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$7 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M512 1024a512 512 0 1 1 512-512 512 512 0 0 1-512 512zm0-960a448 448 0 1 0 448 448A448 448 0 0 0 512 64z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$4 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M512 1024c-145.28 0-256-224-256-512S366.72 0 512 0s259.2 224 259.2 512-113.92 512-259.2 512zm0-960c-94.08 0-192 181.76-192 448s97.92 448 192 448 195.2-179.2 195.2-448S606.08 64 512 64z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$3 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M512 339.84a778.88 778.88 0 0 1-390.4-90.88A32 32 0 1 1 154.24 192 723.2 723.2 0 0 0 512 275.84a733.44 733.44 0 0 0 352.64-78.08A32 32 0 1 1 896 256a794.88 794.88 0 0 1-384 83.84zM880.64 822.4a30.72 30.72 0 0 1-16.64-4.48A723.2 723.2 0 0 0 506.24 736a733.44 733.44 0 0 0-352.64 78.72 32 32 0 0 1-32-55.68 802.56 802.56 0 0 1 384-87.04A790.4 790.4 0 0 1 896 762.88a32 32 0 0 1-16.64 59.52zM989.44 544H34.56a32 32 0 1 1 0-64h954.88a32 32 0 0 1 0 64z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_5$1 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M512 1024a32 32 0 0 1-32-32V34.56a32 32 0 1 1 64 0v954.88a32 32 0 0 1-32 34.56z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_6$1 = [_hoisted_2$7, _hoisted_3$4, _hoisted_4$3, _hoisted_5$1];
+function render$1(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$7, [].concat(_hoisted_6$1));
+}
+var Language = {
+  render: render$1
+};
+var index$4 = function index2() {
+  return svg({
+    name: "IconLanguage",
+    component: Language
+  })();
+};
+var _hoisted_1$6 = {
+  class: "prompt_svg__tiny-icon-prompt",
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 14 14",
+  style: {
+    "enable-background": "new 0 0 14 14"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$6 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M7 0C3.13 0 0 3.13 0 7s3.13 7 7 7 7-3.13 7-7-3.13-7-7-7z",
+    style: {
+      "fill-rule": "evenodd",
+      "clip-rule": "evenodd"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$3 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M7.57 6.43v4a.57.57 0 1 1-1.14 0v-4a.57.57 0 1 1 1.14 0zM7 3c-.47 0-.86.38-.86.86s.39.85.86.85.86-.38.86-.86S7.47 3 7 3z",
+    style: {
+      "fill-rule": "evenodd",
+      "clip-rule": "evenodd",
+      "fill": "#fff"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$2 = [_hoisted_2$6, _hoisted_3$3];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$6, [].concat(_hoisted_4$2));
+}
+var Prompt = {
+  render
+};
+var index$3 = function index22() {
+  return svg({
+    name: "IconPrompt",
+    component: Prompt
+  })();
+};
+const handleClick = ({ emit, props: props2, state }) => (event) => {
+  if (!state.disabled && !props2.href) {
+    emit("click", event);
+  }
+};
+const api$1 = ["state", "handleClick"];
+const renderless$1 = (props2, { inject: inject2, reactive: reactive2, computed: computed2 }, { emit, parent }) => {
+  parent.tinyForm = parent.tinyForm || inject2("form", null);
+  const state = reactive2({
+    formDisabled: computed2(() => (parent.tinyForm || {}).disabled),
+    disabled: computed2(() => props2.disabled || state.formDisabled),
+    href: computed2(() => xss.filterUrl(props2.href))
+  });
+  return {
+    state,
+    handleClick: handleClick({ emit, props: props2, state })
+  };
+};
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$6 = defineComponent({
+  props: [].concat(props, ["disabled", "href", "icon", "type", "underline", "value", "size"]),
+  emits: ["click"],
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$5 = ["href"];
+var _hoisted_2$5 = {
+  key: 1,
+  class: "tiny-link__inner"
+};
+var _hoisted_3$2 = {
+  key: 2,
+  class: "tiny-link__inner"
+};
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("a", mergeProps({
+    class: ["tiny-link", "tiny-link--additional", _ctx.type ? "tiny-link--" + _ctx.type : "", _ctx.state.disabled && "is-disabled", _ctx.underline && !_ctx.state.disabled && "is-underline", _ctx.size === "medium" ? "tiny-link--" + _ctx.size : "tiny-link--base"],
+    href: _ctx.state.disabled ? null : _ctx.state.href
+  }, _ctx.a(_ctx.$attrs, ["^on[A-Z]"]), {
+    rel: "noopener noreferrer",
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
+    })
+  }), [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
+    key: 0,
+    class: normalizeClass(["tiny-svg-size tiny-link-svg", {
+      "tiny-link-svg-only": !(_ctx.slots.default || _ctx.value)
+    }])
+  }, null, 8, ["class"])) : createCommentVNode("v-if", true), _ctx.value ? (openBlock(), createElementBlock(
+    "span",
+    _hoisted_2$5,
+    toDisplayString(_ctx.value),
+    1
+    /* TEXT */
+  )) : _ctx.slots.default ? (openBlock(), createElementBlock("span", _hoisted_3$2, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("v-if", true), _ctx.slots.icon ? renderSlot(_ctx.$slots, "icon", {
+    key: 3
+  }) : createCommentVNode("v-if", true)], 16, _hoisted_1$5);
+}
+var pc = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render]]);
+const index$2 = "";
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template2(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc;
+};
+var linkProps = _extends({}, $props, {
+  type: {
+    type: String,
+    default: "default"
+  },
+  value: String,
+  underline: {
+    type: Boolean,
+    default: true
+  },
+  href: String,
+  icon: [Object, String],
+  disabled: Boolean,
+  size: String
+});
+var Link = defineComponent({
+  name: $prefix + "Link",
+  props: linkProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+Link.install = function(Vue) {
+  Vue.component(Link.name, Link);
+};
+Link.version = version;
+const startTimer = ({ api: api2, state }) => () => {
+  if (state.duration > 0) {
+    state.timer = setTimeout(() => {
+      !state.closed && api2.close();
+    }, state.duration);
+  }
+};
+const clearTimer = (state) => () => {
+  clearTimeout(state.timer);
+  state.timer = null;
+};
+const click = ({ emit, state }) => () => {
+  typeof state.onClick === "function" && (void 0).onClick();
+  emit("click", "");
+};
+const close = ({ state, props: props2 }) => () => {
+  if (!props2.beforeClose || typeof props2.beforeClose === "function" && props2.beforeClose()) {
+    typeof props2.onClose === "function" && props2.onClose();
+    state.closed = true;
+  }
+};
+const watchClosed = (state) => (value) => {
+  if (value) {
+    state.visible = false;
+  }
+};
+const getOffsetStyle = (state) => {
+  const side = {};
+  side[state.verticalProperty] = `${state.verticalOffset}px`;
+  return side;
+};
+const getZindex = () => popup_manager_default.nextZIndex();
+const getPositionSide = (state) => state.position.startsWith("top-") ? "top" : "bottom";
+const bindEvent = ({ api: api2, state }) => () => {
+  if (state.timer) {
+    api2.clearTimer();
+  }
+  api2.startTimer();
+  on(document, "keydown", api2.bindKeyDown);
+};
+const unBindEvent = (api2) => () => off(document, "keydown", api2.bindKeyDown);
+const api = [
+  "state",
+  "clearTimer",
+  "startTimer",
+  "close",
+  "bindEvent",
+  "unBindEvent",
+  "click",
+  "watchClosed",
+  "getOffsetStyle",
+  "getPositionSide",
+  "getZindex"
+];
+const renderless = (props2, { computed: computed2, onBeforeUnmount, onMounted, reactive: reactive2, watch }, { emit }) => {
+  const api2 = {};
+  const state = reactive2({
+    timer: null,
+    closed: false,
+    visible: true,
+    duration: computed2(() => props2.duration),
+    showClose: true,
+    verticalOffset: 0,
+    position: computed2(() => props2.position),
+    dangerouslyUseHTMLString: false,
+    positionStyle: computed2(() => api2.getOffsetStyle(state)),
+    verticalProperty: computed2(() => api2.getPositionSide(state)),
+    customClass: computed2(() => props2.customClass)
+  });
+  Object.assign(api2, {
+    state,
+    getZindex,
+    getOffsetStyle,
+    getPositionSide,
+    close: close({ state, props: props2 }),
+    click: click({ emit, state }),
+    clearTimer: clearTimer(state),
+    bindEvent: bindEvent({ api: api2, state }),
+    unBindEvent: unBindEvent(api2),
+    startTimer: startTimer({ api: api2, state }),
+    watchClosed: watchClosed(state)
+  });
+  watch(() => state.closed, api2.watchClosed, { immediate: true });
+  onMounted(api2.bindEvent);
+  onBeforeUnmount(api2.unBindEvent);
+  return api2;
+};
+const index$1 = "";
+function _regeneratorRuntime() {
+  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
+  _regeneratorRuntime = function _regeneratorRuntime2() {
+    return e;
+  };
+  var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function(t2, e2, r2) {
+    t2[e2] = r2.value;
+  }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag";
+  function define(t2, e2, r2) {
+    return Object.defineProperty(t2, e2, { value: r2, enumerable: true, configurable: true, writable: true }), t2[e2];
+  }
+  try {
+    define({}, "");
+  } catch (t2) {
+    define = function define2(t3, e2, r2) {
+      return t3[e2] = r2;
+    };
+  }
+  function wrap(t2, e2, r2, n2) {
+    var i2 = e2 && e2.prototype instanceof Generator ? e2 : Generator, a2 = Object.create(i2.prototype), c2 = new Context(n2 || []);
+    return o(a2, "_invoke", { value: makeInvokeMethod(t2, r2, c2) }), a2;
+  }
+  function tryCatch(t2, e2, r2) {
+    try {
+      return { type: "normal", arg: t2.call(e2, r2) };
+    } catch (t3) {
+      return { type: "throw", arg: t3 };
+    }
+  }
+  e.wrap = wrap;
+  var h2 = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {};
+  function Generator() {
+  }
+  function GeneratorFunction() {
+  }
+  function GeneratorFunctionPrototype() {
+  }
+  var p = {};
+  define(p, a, function() {
+    return this;
+  });
+  var d = Object.getPrototypeOf, v = d && d(d(values([])));
+  v && v !== r && n.call(v, a) && (p = v);
+  var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
+  function defineIteratorMethods(t2) {
+    ["next", "throw", "return"].forEach(function(e2) {
+      define(t2, e2, function(t3) {
+        return this._invoke(e2, t3);
+      });
+    });
+  }
+  function AsyncIterator(t2, e2) {
+    function invoke(r3, o2, i2, a2) {
+      var c2 = tryCatch(t2[r3], t2, o2);
+      if ("throw" !== c2.type) {
+        var u2 = c2.arg, h3 = u2.value;
+        return h3 && "object" == typeof h3 && n.call(h3, "__await") ? e2.resolve(h3.__await).then(function(t3) {
+          invoke("next", t3, i2, a2);
+        }, function(t3) {
+          invoke("throw", t3, i2, a2);
+        }) : e2.resolve(h3).then(function(t3) {
+          u2.value = t3, i2(u2);
+        }, function(t3) {
+          return invoke("throw", t3, i2, a2);
+        });
+      }
+      a2(c2.arg);
+    }
+    var r2;
+    o(this, "_invoke", { value: function value(t3, n2) {
+      function callInvokeWithMethodAndArg() {
+        return new e2(function(e3, r3) {
+          invoke(t3, n2, e3, r3);
+        });
+      }
+      return r2 = r2 ? r2.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+    } });
+  }
+  function makeInvokeMethod(e2, r2, n2) {
+    var o2 = h2;
+    return function(i2, a2) {
+      if (o2 === f)
+        throw Error("Generator is already running");
+      if (o2 === s) {
+        if ("throw" === i2)
+          throw a2;
+        return { value: t, done: true };
+      }
+      for (n2.method = i2, n2.arg = a2; ; ) {
+        var c2 = n2.delegate;
+        if (c2) {
+          var u2 = maybeInvokeDelegate(c2, n2);
+          if (u2) {
+            if (u2 === y)
+              continue;
+            return u2;
+          }
+        }
+        if ("next" === n2.method)
+          n2.sent = n2._sent = n2.arg;
+        else if ("throw" === n2.method) {
+          if (o2 === h2)
+            throw o2 = s, n2.arg;
+          n2.dispatchException(n2.arg);
+        } else
+          "return" === n2.method && n2.abrupt("return", n2.arg);
+        o2 = f;
+        var p2 = tryCatch(e2, r2, n2);
+        if ("normal" === p2.type) {
+          if (o2 = n2.done ? s : l, p2.arg === y)
+            continue;
+          return { value: p2.arg, done: n2.done };
+        }
+        "throw" === p2.type && (o2 = s, n2.method = "throw", n2.arg = p2.arg);
+      }
+    };
+  }
+  function maybeInvokeDelegate(e2, r2) {
+    var n2 = r2.method, o2 = e2.iterator[n2];
+    if (o2 === t)
+      return r2.delegate = null, "throw" === n2 && e2.iterator.return && (r2.method = "return", r2.arg = t, maybeInvokeDelegate(e2, r2), "throw" === r2.method) || "return" !== n2 && (r2.method = "throw", r2.arg = new TypeError("The iterator does not provide a '" + n2 + "' method")), y;
+    var i2 = tryCatch(o2, e2.iterator, r2.arg);
+    if ("throw" === i2.type)
+      return r2.method = "throw", r2.arg = i2.arg, r2.delegate = null, y;
+    var a2 = i2.arg;
+    return a2 ? a2.done ? (r2[e2.resultName] = a2.value, r2.next = e2.nextLoc, "return" !== r2.method && (r2.method = "next", r2.arg = t), r2.delegate = null, y) : a2 : (r2.method = "throw", r2.arg = new TypeError("iterator result is not an object"), r2.delegate = null, y);
+  }
+  function pushTryEntry(t2) {
+    var e2 = { tryLoc: t2[0] };
+    1 in t2 && (e2.catchLoc = t2[1]), 2 in t2 && (e2.finallyLoc = t2[2], e2.afterLoc = t2[3]), this.tryEntries.push(e2);
+  }
+  function resetTryEntry(t2) {
+    var e2 = t2.completion || {};
+    e2.type = "normal", delete e2.arg, t2.completion = e2;
+  }
+  function Context(t2) {
+    this.tryEntries = [{ tryLoc: "root" }], t2.forEach(pushTryEntry, this), this.reset(true);
+  }
+  function values(e2) {
+    if (e2 || "" === e2) {
+      var r2 = e2[a];
+      if (r2)
+        return r2.call(e2);
+      if ("function" == typeof e2.next)
+        return e2;
+      if (!isNaN(e2.length)) {
+        var o2 = -1, i2 = function next() {
+          for (; ++o2 < e2.length; )
+            if (n.call(e2, o2))
+              return next.value = e2[o2], next.done = false, next;
+          return next.value = t, next.done = true, next;
+        };
+        return i2.next = i2;
+      }
+    }
+    throw new TypeError(typeof e2 + " is not iterable");
+  }
+  return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: true }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: true }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function(t2) {
+    var e2 = "function" == typeof t2 && t2.constructor;
+    return !!e2 && (e2 === GeneratorFunction || "GeneratorFunction" === (e2.displayName || e2.name));
+  }, e.mark = function(t2) {
+    return Object.setPrototypeOf ? Object.setPrototypeOf(t2, GeneratorFunctionPrototype) : (t2.__proto__ = GeneratorFunctionPrototype, define(t2, u, "GeneratorFunction")), t2.prototype = Object.create(g), t2;
+  }, e.awrap = function(t2) {
+    return { __await: t2 };
+  }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function() {
+    return this;
+  }), e.AsyncIterator = AsyncIterator, e.async = function(t2, r2, n2, o2, i2) {
+    void 0 === i2 && (i2 = Promise);
+    var a2 = new AsyncIterator(wrap(t2, r2, n2, o2), i2);
+    return e.isGeneratorFunction(r2) ? a2 : a2.next().then(function(t3) {
+      return t3.done ? t3.value : a2.next();
+    });
+  }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function() {
+    return this;
+  }), define(g, "toString", function() {
+    return "[object Generator]";
+  }), e.keys = function(t2) {
+    var e2 = Object(t2), r2 = [];
+    for (var n2 in e2)
+      r2.push(n2);
+    return r2.reverse(), function next() {
+      for (; r2.length; ) {
+        var t3 = r2.pop();
+        if (t3 in e2)
+          return next.value = t3, next.done = false, next;
+      }
+      return next.done = true, next;
+    };
+  }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e2) {
+    if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e2)
+      for (var r2 in this)
+        "t" === r2.charAt(0) && n.call(this, r2) && !isNaN(+r2.slice(1)) && (this[r2] = t);
+  }, stop: function stop() {
+    this.done = true;
+    var t2 = this.tryEntries[0].completion;
+    if ("throw" === t2.type)
+      throw t2.arg;
+    return this.rval;
+  }, dispatchException: function dispatchException(e2) {
+    if (this.done)
+      throw e2;
+    var r2 = this;
+    function handle(n2, o3) {
+      return a2.type = "throw", a2.arg = e2, r2.next = n2, o3 && (r2.method = "next", r2.arg = t), !!o3;
+    }
+    for (var o2 = this.tryEntries.length - 1; o2 >= 0; --o2) {
+      var i2 = this.tryEntries[o2], a2 = i2.completion;
+      if ("root" === i2.tryLoc)
+        return handle("end");
+      if (i2.tryLoc <= this.prev) {
+        var c2 = n.call(i2, "catchLoc"), u2 = n.call(i2, "finallyLoc");
+        if (c2 && u2) {
+          if (this.prev < i2.catchLoc)
+            return handle(i2.catchLoc, true);
+          if (this.prev < i2.finallyLoc)
+            return handle(i2.finallyLoc);
+        } else if (c2) {
+          if (this.prev < i2.catchLoc)
+            return handle(i2.catchLoc, true);
+        } else {
+          if (!u2)
+            throw Error("try statement without catch or finally");
+          if (this.prev < i2.finallyLoc)
+            return handle(i2.finallyLoc);
+        }
+      }
+    }
+  }, abrupt: function abrupt(t2, e2) {
+    for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
+      var o2 = this.tryEntries[r2];
+      if (o2.tryLoc <= this.prev && n.call(o2, "finallyLoc") && this.prev < o2.finallyLoc) {
+        var i2 = o2;
+        break;
+      }
+    }
+    i2 && ("break" === t2 || "continue" === t2) && i2.tryLoc <= e2 && e2 <= i2.finallyLoc && (i2 = null);
+    var a2 = i2 ? i2.completion : {};
+    return a2.type = t2, a2.arg = e2, i2 ? (this.method = "next", this.next = i2.finallyLoc, y) : this.complete(a2);
+  }, complete: function complete(t2, e2) {
+    if ("throw" === t2.type)
+      throw t2.arg;
+    return "break" === t2.type || "continue" === t2.type ? this.next = t2.arg : "return" === t2.type ? (this.rval = this.arg = t2.arg, this.method = "return", this.next = "end") : "normal" === t2.type && e2 && (this.next = e2), y;
+  }, finish: function finish(t2) {
+    for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
+      var r2 = this.tryEntries[e2];
+      if (r2.finallyLoc === t2)
+        return this.complete(r2.completion, r2.afterLoc), resetTryEntry(r2), y;
+    }
+  }, catch: function _catch(t2) {
+    for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
+      var r2 = this.tryEntries[e2];
+      if (r2.tryLoc === t2) {
+        var n2 = r2.completion;
+        if ("throw" === n2.type) {
+          var o2 = n2.arg;
+          resetTryEntry(r2);
+        }
+        return o2;
+      }
+    }
+    throw Error("illegal catch attempt");
+  }, delegateYield: function delegateYield(e2, r2, n2) {
+    return this.delegate = { iterator: values(e2), resultName: r2, nextLoc: n2 }, "next" === this.method && (this.arg = t), y;
+  } }, e;
+}
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+  try {
+    var info = gen[key](arg);
+    var value = info.value;
+  } catch (error) {
+    reject(error);
+    return;
+  }
+  if (info.done) {
+    resolve(value);
+  } else {
+    Promise.resolve(value).then(_next, _throw);
+  }
+}
+function _asyncToGenerator(fn) {
+  return function() {
+    var self = this, args = arguments;
+    return new Promise(function(resolve, reject) {
+      var gen = fn.apply(self, args);
+      function _next(value) {
+        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
+      }
+      function _throw(err) {
+        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
+      }
+      _next(void 0);
+    });
+  };
+}
+var _sfc_main$5 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Notify",
+  props: {
+    beforeClose: Function,
+    closeIcon: {
+      type: Object,
+      default: function _default() {
+        return index$8();
+      }
+    },
+    customClass: [String, Object],
+    duration: {
+      type: Number,
+      default: 0
+    },
+    message: [String, Function],
+    onClose: Function,
+    position: {
+      type: String,
+      default: "bottom-right"
+    },
+    showClose: {
+      type: Boolean,
+      default: true
+    },
+    showIcon: {
+      type: Boolean,
+      default: true
+    },
+    statusIcon: Object,
+    title: [String, Function],
+    type: String
+  },
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api,
+      mono: true
+    });
+  },
+  render: function render2() {
+    var clearTimer2 = this.clearTimer, click2 = this.click, close2 = this.close, closeIcon = this.closeIcon, message = this.message, showClose = this.showClose;
+    var showIcon = this.showIcon, startTimer2 = this.startTimer, state = this.state, statusIcon = this.statusIcon, title = this.title, type = this.type;
+    var _ref = {}, _ref$closeVNode = _ref.closeVNode, closeVNode = _ref$closeVNode === void 0 ? null : _ref$closeVNode, _ref$iconVNode = _ref.iconVNode, iconVNode = _ref$iconVNode === void 0 ? null : _ref$iconVNode, _ref$notifyContent = _ref.notifyContent, notifyContent = _ref$notifyContent === void 0 ? null : _ref$notifyContent, _ref$notifyTitle = _ref.notifyTitle, notifyTitle = _ref$notifyTitle === void 0 ? null : _ref$notifyTitle;
+    if (showIcon && statusIcon) {
+      iconVNode = createVNode("div", {
+        "class": "tiny-notify__icon-zone"
+      }, [createVNode("span", {
+        "class": "tiny-notify__icon-status"
+      }, [createVNode(statusIcon, {
+        "class": "tiny-svg-size"
+      }, null)])]);
+    }
+    if (showClose) {
+      closeVNode = createVNode("div", {
+        "class": "tiny-notify__close-zone"
+      }, [createVNode("span", {
+        "class": "tiny-notify__icon-close"
+      }, [createVNode(closeIcon, {
+        "class": "tiny-svg-size",
+        "onClick": close2
+      }, null)])]);
+    }
+    if (title && typeof title === "string") {
+      notifyTitle = h("div", {
+        class: "tiny-notify__title"
+      }, title);
+    } else if (typeof title === "function") {
+      notifyTitle = title(h, {
+        vm: this,
+        titleClass: "tiny-notify__title"
+      });
+    }
+    if (typeof message === "string") {
+      notifyContent = h("p", {
+        class: "tiny-notify__content"
+      }, message);
+    } else if (typeof message === "function") {
+      notifyContent = message(h, {
+        vm: this,
+        messageClass: "tiny-notify__content"
+      });
+    }
+    var msgVNode = createVNode("div", {
+      "class": "tiny-notify__message-zone"
+    }, [notifyTitle ? createVNode("div", {
+      "class": "tiny-notify__title-wrapper"
+    }, [notifyTitle]) : null, createVNode("div", {
+      "class": "tiny-notify__content-wrapper"
+    }, [notifyContent])]);
+    return withDirectives(createVNode("div", {
+      "class": ["tiny-notify", "tiny-notify--" + type, showIcon ? "" : "tiny-notify--no-icon", showClose ? "" : "tiny-notify--no-close", state.position, state.customClass],
+      "style": state.positionStyle,
+      "onMouseenter": clearTimer2,
+      "onMouseleave": startTimer2,
+      "onClick": click2
+    }, [[iconVNode, msgVNode, closeVNode]]), [[vShow, "state.visible"]]);
+  }
+});
+var seed = 1;
+var instances = [];
+var IconMap = {
+  warning: index$5(),
+  error: index$6(),
+  info: index$3(),
+  success: index$7()
+};
+var durationMap = {
+  info: 5e3,
+  success: 5e3,
+  warning: 1e4,
+  error: 1e4
+};
+var positionList = ["top-right", "bottom-right"];
+var debounce = function debounce2(fn, debounceDelay) {
+  var timer = null;
+  return /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee() {
+    var _arguments = arguments, _this = this;
+    var instance;
+    return _regeneratorRuntime().wrap(function _callee$(_context) {
+      while (1)
+        switch (_context.prev = _context.next) {
+          case 0:
+            if (timer) {
+              clearTimeout(timer);
+            }
+            instance = null;
+            _context.next = 4;
+            return new Promise(function(resolve) {
+              timer = setTimeout(function() {
+                instance = fn.apply(_this, _arguments);
+                timer = null;
+                resolve();
+              }, debounceDelay);
+            });
+          case 4:
+            return _context.abrupt("return", instance);
+          case 5:
+          case "end":
+            return _context.stop();
+        }
+    }, _callee);
+  }));
+};
+var notify = function notify2(options) {
+  if (!~Object.keys(IconMap).indexOf(options.type)) {
+    options.type = "info";
+  }
+  options.duration = options.duration ? options.duration : durationMap[options.type];
+  options.position = !~positionList.indexOf(options.position) ? "bottom-right" : options.position;
+  !options.statusIcon && options.type && (options.statusIcon = IconMap[options.type]);
+  var id = "notify_" + seed++;
+  var userOnClose = options.onClose;
+  var position = options.position;
+  options.onClose = function() {
+    Notify.close(id, userOnClose);
+  };
+  var instance = createComponent({
+    el: document.createElement("div"),
+    propsData: options,
+    component: _sfc_main$5
+  });
+  instance.id = id;
+  document.body.appendChild(instance.$el);
+  var verticalOffset = options.offset || 0;
+  instances.filter(function(item) {
+    return item.state.position === position;
+  }).forEach(function(item) {
+    verticalOffset += item.$el.offsetHeight + 16;
+  });
+  verticalOffset += options.verticalOffset ? Number(options.verticalOffset) : 16;
+  instances.push(instance);
+  instance.dom = instance.$el;
+  instance.dom.style.zIndex = instance.getZindex();
+  instance.state.verticalOffset = verticalOffset;
+  instance.state.visible = true;
+  if (verticalOffset + instance.$el.offsetHeight > window.innerHeight) {
+    instances[0] && instances[0].close(instances[0].id);
+  }
+  return instance;
+};
+var Notify = function Notify2(options) {
+  var debounceDelay = options.debounceDelay;
+  if (debounceDelay) {
+    return debounce(function() {
+      return notify(options);
+    }, debounceDelay);
+  } else {
+    return notify(options);
+  }
+};
+Notify.close = function(id, userOnClose) {
+  var index3 = -1;
+  var len = instances.length;
+  var instance;
+  for (var i = 0; i < len; i++) {
+    var tmp = instances[i];
+    if (tmp.id === id) {
+      index3 = i;
+      instance = tmp;
+      break;
+    }
+  }
+  if (!instance) {
+    return;
+  }
+  typeof userOnClose === "function" && userOnClose(instance);
+  var lastHeight = instance.$el.offsetHeight;
+  instance.$el.parentNode.removeChild(instance.$el);
+  instances.splice(index3, 1);
+  if (len <= 1) {
+    return;
+  }
+  var removedPosition = instance.position;
+  var copys = instances.slice(index3);
+  var verticalOffset = 16;
+  instances.filter(function(item) {
+    return item.state.position === removedPosition;
+  }).forEach(function(item) {
+    item.state.verticalOffset = verticalOffset;
+    verticalOffset += item.$el.offsetHeight + 16;
+  });
+  copys.forEach(function(copy) {
+    if (copy.position === removedPosition) {
+      var height = parseInt(copy.dom.style[instance.state.verticalProperty], 10) - lastHeight - 16;
+      copy.dom.style[instance.state.verticalProperty] = height + "px";
+    }
+  });
+};
+Notify.closeAll = function() {
+  var copys = instances.slice(0);
+  copys = copys.reverse();
+  copys.forEach(function(instance) {
+    instance.close();
+  });
+};
+function useLoading(initValue = false) {
+  const loading = ref(initValue);
+  const setLoading = (value) => {
+    loading.value = value;
+  };
+  const toggle = () => {
+    loading.value = !loading.value;
+  };
+  return {
+    loading,
+    setLoading,
+    toggle
+  };
+}
+const _hoisted_1$4 = { class: "login-form-container" };
+const _hoisted_2$4 = { class: "login-form-options" };
+const _sfc_main$4 = /* @__PURE__ */ defineComponent$1({
+  __name: "login-mail",
+  setup(__props) {
+    const router = useRouter();
+    const { t } = useI18n();
+    const { loading, setLoading } = useLoading();
+    const userStore = useUserStore();
+    const loginFormMail = ref();
+    const rules = computed(() => {
+      return {
+        mailname: [
+          {
+            required: true,
+            message: t("login.form.mailName.errMsg"),
+            trigger: "change"
+          }
+        ],
+        mailpassword: [
+          {
+            required: true,
+            message: t("login.form.mailpassword.errMsg"),
+            trigger: "change"
+          }
+        ]
+      };
+    });
+    const loginMail = reactive({
+      mailname: "admin",
+      mailpassword: "changeMyPassword",
+      rememberPassword: true
+    });
+    const handle = inject("handle");
+    const typeChange = () => {
+      handle(true);
+    };
+    function handleSubmit() {
+      var _a;
+      (_a = loginFormMail.value) == null ? void 0 : _a.validate(async (valid) => {
+        if (!valid) {
+          return;
+        }
+        setLoading(true);
+        try {
+          await userStore.login({
+            username: loginMail.mailname,
+            password: loginMail.mailpassword,
+            grant_type: "password"
+          });
+          TINYModal.message({
+            message: t("login.form.login.success"),
+            status: "success"
+          });
+          const { redirect, ...othersQuery } = router.currentRoute.value.query;
+          router.push({
+            name: redirect || "Home",
+            query: {
+              ...othersQuery
+            }
+          });
+        } catch (err) {
+          Notify({
+            type: "error",
+            title: t("login.tip.right"),
+            message: t("login.tip.mail"),
+            position: "top-right",
+            duration: 2e3,
+            customClass: "my-custom-cls"
+          });
+        } finally {
+          setLoading(false);
+        }
+      });
+    }
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$4, [
+        createVNode(unref(Form), {
+          ref_key: "loginFormMail",
+          ref: loginFormMail,
+          model: loginMail,
+          class: "login-form",
+          rules: rules.value,
+          "validate-type": "text",
+          "label-width": "0",
+          size: "medium"
+        }, {
+          default: withCtx(() => [
+            createVNode(unref(FormItem), {
+              prop: "mailname",
+              size: "medium"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Input), {
+                  modelValue: loginMail.mailname,
+                  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => loginMail.mailname = $event),
+                  placeholder: _ctx.$t("login.form.mailName.placeholder")
+                }, null, 8, ["modelValue", "placeholder"])
+              ]),
+              _: 1
+            }),
+            createVNode(unref(FormItem), {
+              prop: "mailpassword",
+              size: "medium"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Input), {
+                  modelValue: loginMail.mailpassword,
+                  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => loginMail.mailpassword = $event),
+                  type: "password",
+                  "show-password": "",
+                  placeholder: _ctx.$t("login.form.mailpassword.placeholder")
+                }, null, 8, ["modelValue", "placeholder"])
+              ]),
+              _: 1
+            }),
+            createBaseVNode("div", _hoisted_2$4, [
+              createVNode(unref(Checkbox), null, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("login.form.rememberPassword")), 1)
+                ]),
+                _: 1
+              }),
+              createBaseVNode("div", null, [
+                createVNode(unref(Link), { type: "primary" }, {
+                  default: withCtx(() => [
+                    createTextVNode(toDisplayString(_ctx.$t("login.form.forgetPassword")), 1)
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Link), {
+                  type: "primary",
+                  class: "divide-line"
+                }, {
+                  default: withCtx(() => [
+                    createTextVNode("|")
+                  ]),
+                  _: 1
+                }),
+                createVNode(unref(Link), {
+                  type: "primary",
+                  onClick: typeChange
+                }, {
+                  default: withCtx(() => [
+                    createTextVNode(toDisplayString(_ctx.$t("login.form.registration")), 1)
+                  ]),
+                  _: 1
+                })
+              ])
+            ]),
+            createVNode(unref(FormItem), { size: "medium" }, {
+              default: withCtx(() => [
+                createVNode(unref(Button), {
+                  type: "primary",
+                  class: "login-form-btn",
+                  loading: unref(loading),
+                  onClick: handleSubmit
+                }, {
+                  default: withCtx(() => [
+                    createTextVNode(toDisplayString(_ctx.$t("login.form.login")), 1)
+                  ]),
+                  _: 1
+                }, 8, ["loading"])
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        }, 8, ["model", "rules"])
+      ]);
+    };
+  }
+});
+const loginMail_vue_vue_type_style_index_0_scoped_985986a4_lang = "";
+const LoginMail = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["__scopeId", "data-v-985986a4"]]);
+const _hoisted_1$3 = { class: "login-register-container" };
+const _hoisted_2$3 = { class: "login-form-options" };
+const _sfc_main$3 = /* @__PURE__ */ defineComponent$1({
+  __name: "login-register",
+  setup(__props) {
+    const { t } = useI18n();
+    const { loading, setLoading } = useLoading();
+    const ruleForm = ref();
+    const handle = inject("handle");
+    const typeChange = () => {
+      handle(false);
+    };
+    let createData = reactive({
+      username: "",
+      password: "",
+      passwordConfirm: ""
+    });
+    let isvalidate = ref(true);
+    const validatePass = (rule, value, callback) => {
+      if (!/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/.test(value)) {
+        callback(new Error(t("login.form.checkPassword")));
+      } else {
+        callback();
+      }
+    };
+    const validateMail = (rule, value, callback) => {
+      if (!/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(value)) {
+        callback(new Error(t("login.form.checkUsername")));
+      } else {
+        callback();
+      }
+    };
+    const validatePassConfirm = (rule, value, callback) => {
+      if (createData.password && createData.password !== value) {
+        callback(new Error(t("login.form.confirmPassword")));
+      } else {
+        callback();
+      }
+    };
+    const rules = computed(() => {
+      return {
+        username: [
+          {
+            required: true,
+            message: t("login.form.mailName.errMsg"),
+            trigger: "blur"
+          },
+          { validator: validateMail, trigger: "blur" }
+        ],
+        password: [
+          {
+            required: true,
+            message: t("login.form.mailpassword.errMsg"),
+            trigger: "blur"
+          },
+          { validator: validatePass, trigger: "blur" }
+        ],
+        passwordConfirm: [
+          {
+            required: true,
+            message: t("login.form.mailpassword2.errMsg"),
+            trigger: "blur"
+          },
+          { validator: validatePassConfirm, trigger: "blur" }
+        ]
+      };
+    });
+    function handleSubmit() {
+      ruleForm.value.validate(async (e) => {
+        if (e) {
+          let data = reactive({
+            username: createData.username,
+            password: createData.password
+          });
+          await registerUser(data);
+          TINYModal.message({
+            message: t("login.form.registerPass"),
+            status: "success"
+          });
+          handle(false);
+        } else {
+          TINYModal.message({
+            message: t("login.form.registerError"),
+            status: "warning"
+          });
+        }
+      });
+    }
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$3, [
+        createVNode(unref(Form), {
+          ref_key: "ruleForm",
+          ref: ruleForm,
+          model: unref(createData),
+          rules: rules.value,
+          "validate-on-rule-change": unref(isvalidate),
+          "label-align": true,
+          "label-position": "top",
+          "label-width": "100px"
+        }, {
+          default: withCtx(() => [
+            createVNode(unref(FormItem), {
+              label: _ctx.$t("login.form.mailInput"),
+              prop: "username",
+              size: "medium"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Input), {
+                  modelValue: unref(createData).username,
+                  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(createData).username = $event),
+                  placeholder: _ctx.$t("login.form.registerMail.placeholder")
+                }, null, 8, ["modelValue", "placeholder"])
+              ]),
+              _: 1
+            }, 8, ["label"]),
+            createVNode(unref(FormItem), {
+              label: _ctx.$t("login.form.passwordInput"),
+              prop: "password",
+              size: "medium"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Input), {
+                  modelValue: unref(createData).password,
+                  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(createData).password = $event),
+                  placeholder: _ctx.$t("login.form.registerPassword.placeholder"),
+                  type: "password",
+                  "show-password": ""
+                }, null, 8, ["modelValue", "placeholder"])
+              ]),
+              _: 1
+            }, 8, ["label"]),
+            createVNode(unref(FormItem), {
+              label: _ctx.$t("login.form.passwordConfirm"),
+              prop: "passwordConfirm",
+              size: "medium"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Input), {
+                  modelValue: unref(createData).passwordConfirm,
+                  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(createData).passwordConfirm = $event),
+                  placeholder: _ctx.$t("login.form.registerConfirmPassword.placeholder"),
+                  type: "password",
+                  "show-password": ""
+                }, null, 8, ["modelValue", "placeholder"])
+              ]),
+              _: 1
+            }, 8, ["label"]),
+            createBaseVNode("div", _hoisted_2$3, [
+              createVNode(unref(Link), {
+                type: "primary",
+                onClick: typeChange
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("login.form.change")), 1)
+                ]),
+                _: 1
+              })
+            ]),
+            createVNode(unref(FormItem), { size: "medium" }, {
+              default: withCtx(() => [
+                createVNode(unref(Button), {
+                  type: "primary",
+                  class: "login-form-btn",
+                  loading: unref(loading),
+                  onClick: handleSubmit
+                }, {
+                  default: withCtx(() => [
+                    createTextVNode(toDisplayString(_ctx.$t("login.form.register")), 1)
+                  ]),
+                  _: 1
+                }, 8, ["loading"])
+              ]),
+              _: 1
+            })
+          ]),
+          _: 1
+        }, 8, ["model", "rules", "validate-on-rule-change"])
+      ]);
+    };
+  }
+});
+const loginRegister_vue_vue_type_style_index_0_scoped_99554533_lang = "";
+const LoginRegister = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["__scopeId", "data-v-99554533"]]);
+const _hoisted_1$2 = {
+  key: 0,
+  class: "login-lan-drop"
+};
+const _hoisted_2$2 = ["value", "onClick"];
+const _sfc_main$2 = /* @__PURE__ */ defineComponent$1({
+  __name: "login-lang",
+  setup(__props) {
+    const locales = [...LOCALE_OPTIONS];
+    const { changeLocale } = useLocale();
+    const Language2 = index$4();
+    const LangDrop = ref(false);
+    const changeLangDrop = () => {
+      LangDrop.value = !LangDrop.value;
+    };
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock(Fragment, null, [
+        createVNode(unref(Button), {
+          icon: unref(Language2),
+          circle: "",
+          onClick: changeLangDrop
+        }, null, 8, ["icon"]),
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("login.icon.language")), 1),
+        LangDrop.value ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
+          (openBlock(), createElementBlock(Fragment, null, renderList(locales, (item, index3) => {
+            return createBaseVNode("li", {
+              key: index3,
+              value: item.value,
+              onClick: ($event) => unref(changeLocale)(locales[index3].value)
+            }, toDisplayString(item.label), 9, _hoisted_2$2);
+          }), 64))
+        ])) : createCommentVNode("", true)
+      ], 64);
+    };
+  }
+});
+const loginLang_vue_vue_type_style_index_0_scoped_ea2ebbb9_lang = "";
+const LoginLang = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-ea2ebbb9"]]);
+const _hoisted_1$1 = { class: "login-form-container" };
+const _hoisted_2$1 = { class: "login-form-language" };
+const _hoisted_3$1 = { key: 0 };
+const _hoisted_4$1 = { key: 1 };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent$1({
+  __name: "login-form",
+  setup(__props) {
+    ref("first");
+    let display = ref(false);
+    const handle = (value) => {
+      display.value = value;
+    };
+    provide("handle", handle);
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$1, [
+        createBaseVNode("div", _hoisted_2$1, [
+          createVNode(LoginLang)
+        ]),
+        unref(display) ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
+          createVNode(LoginRegister)
+        ])) : createCommentVNode("", true),
+        !unref(display) ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
+          createVNode(LoginMail)
+        ])) : createCommentVNode("", true)
+      ]);
+    };
+  }
+});
+const loginForm_vue_vue_type_style_index_0_scoped_19097b9e_lang = "";
+const LoginForm = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-19097b9e"]]);
+const _withScopeId = (n) => (pushScopeId("data-v-fe79e3e5"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container-login" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = { class: "login" };
+const _hoisted_4 = { class: "login-header" };
+const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "login-logo" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    class: "login-logo-img",
+    alt: "Tiny Design",
+    src: _imports_0
+  }),
+  /* @__PURE__ */ createBaseVNode("span", { class: "login-logo-text" }, "TinyPro of Vue")
+], -1));
+const _hoisted_6 = { class: "login-desc" };
+const _hoisted_7 = { class: "footer" };
+const _sfc_main = /* @__PURE__ */ defineComponent$1({
+  __name: "index",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("div", _hoisted_3, [
+            createBaseVNode("div", _hoisted_4, [
+              _hoisted_5,
+              createBaseVNode("div", _hoisted_6, toDisplayString(_ctx.$t("login.main.text")), 1)
+            ]),
+            createVNode(LoginForm)
+          ])
+        ]),
+        createBaseVNode("div", _hoisted_7, [
+          createVNode(Footer)
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_fe79e3e5_lang = "";
+const index_vue_vue_type_style_index_1_scoped_fe79e3e5_lang = "";
+const index = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-fe79e3e5"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index27.css b/admin-website/src/main/resources/static/assets/index27.css
new file mode 100644
index 0000000..3e5767d
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index27.css
@@ -0,0 +1 @@
+.tiny-time-spinner{--ti-time-spinner-arrow-text-color:#909399;--ti-time-spinner-arrow-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-time-spinner-item-active-text-color:#303133;--ti-time-spinner-item-font-weight:700;--ti-time-spinner-item-bg-color:transparent;--ti-time-spinner-list-border-color:transparent;--ti-time-spinner-font-size:var(--ti-common-font-size-base, 12px);--ti-time-spinner-text-color:var(--ti-base-color-info-normal);--ti-time-spinner-bg-color:var(--ti-base-color-light);--ti-time-spinner-selected-bg-color:#f2f2f3;--ti-time-spinner-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8)}.tiny-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.tiny-time-spinner__wrapper.tiny-scrollbar{overflow:hidden}.tiny-time-spinner__wrapper .tiny-scrollbar__wrap:not(.tiny-scrollbar__wrap--hidden-default){padding-bottom:15px}.tiny-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.tiny-time-spinner__wrapper.is-arrow .tiny-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.tiny-time-spinner__wrapper.is-arrow .tiny-time-spinner__item:hover:not(.disabled):not(.active){background:var(--ti-time-spinner-bg-color);cursor:default}.tiny-time-spinner__wrapper .tiny-time-spinner__list{-webkit-transform:translateY(-6px);transform:translateY(-6px)}.tiny-time-spinner__wrapper:last-child .tiny-time-spinner__list{border-right:0}.tiny-time-spinner__arrow{font-size:var(--ti-time-spinner-font-size);color:var(--ti-time-spinner-arrow-text-color);height:30px;line-height:30px;position:absolute;left:0;width:100%;z-index:1;text-align:center;cursor:pointer}.tiny-time-spinner__arrow .tiny-svg{fill:var(--ti-time-spinner-arrow-text-color)}.tiny-time-spinner__arrow:hover .tiny-svg{fill:var(--ti-time-spinner-arrow-hover-text-color)}.tiny-time-spinner__arrow.tiny-icon-arrow-up{top:10px}.tiny-time-spinner__arrow.tiny-icon-arrow-down{bottom:10px}.tiny-time-spinner__arrow.tiny-input{width:70%}.tiny-time-spinner__arrow.tiny-input .tiny-input__inner{padding:0;text-align:center}.tiny-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center;border-right:1px solid var(--ti-time-spinner-list-border-color)}.tiny-time-spinner__list::after,.tiny-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.tiny-time-spinner__item{font-size:var(--ti-time-spinner-font-size);color:var(--ti-time-spinner-text-color);height:32px;line-height:32px}.tiny-time-spinner__item:hover:not(.disabled):not(.active){background:var(--ti-time-spinner-selected-bg-color);cursor:pointer}.tiny-time-spinner__item.active:not(.disabled){color:var(--ti-time-spinner-item-active-text-color);font-weight:var(--ti-time-spinner-item-font-weight);background-color:var(--ti-time-spinner-item-bg-color)}.tiny-time-spinner__item.disabled{color:var(--ti-time-spinner-disabled-text-color);cursor:not-allowed}.tiny-time-spinner.has-seconds .tiny-time-spinner__wrapper{width:33.3%}.tiny-time-panel{--ti-time-panel-border-color:var(--ti-date-picker-border-color);--ti-time-panel-box-shadow:0 2px 12px 0 rgba(0, 0, 0, 0.1);--ti-time-panel-content-split-line-display:block;--ti-time-panel-btn-cancel-display:inline-block;--ti-time-panel-btn-bg-color:transparent;--ti-time-panel-btn-padding-vertical:0;--ti-time-panel-btn-padding-horizontal:5px;--ti-time-panel-btn-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-time-panel-btn-height:28px;--ti-time-panel-btn-min-width:inherit;--ti-time-panel-btn-font-weight:800;--ti-time-panel-btn-confirm-hover-bg-color:transparent;--ti-time-panel-footer-height:36px;--ti-time-panel-btn-text-color:#303133;--ti-time-panel-btn-confirm-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-time-panel-bg-color:var(--ti-common-color-light, #fff);--ti-time-panel-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-time-panel-border-color:var(--ti-common-color-line-dividing, #dfe1e6);margin:5px 0;border:1px solid var(--ti-time-panel-border-color);background-color:var(--ti-time-panel-bg-color);-webkit-box-shadow:var(--ti-time-panel-box-shadow);box-shadow:var(--ti-time-panel-box-shadow);border-radius:var(--ti-time-panel-border-radius);position:absolute;width:180px;left:0;z-index:1000;-webkit-box-sizing:content-box;box-sizing:content-box;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-time-panel__content{font-size:0;position:relative;overflow:hidden}.tiny-time-panel__content:after,.tiny-time-panel__content:before{display:var(--ti-time-panel-content-split-line-display);content:'';top:50%;position:absolute;margin-top:-19px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid var(--ti-time-panel-border-color);border-bottom:1px solid var(--ti-time-panel-border-color)}.tiny-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.tiny-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.tiny-time-panel__content.has-seconds:after{left:calc(100% / 3 * 2)}.tiny-time-panel__content.has-seconds:before{padding-left:calc(100% / 3)}.tiny-time-panel__footer{border-top:1px solid var(--ti-time-panel-border-color);padding:4px;height:36px;height:var(--ti-time-panel-footer-height,36px);line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-time-panel__btn{min-width:var(--ti-time-panel-btn-min-width);border:none;line-height:var(--ti-time-panel-btn-height);padding:var(--ti-time-panel-btn-padding-vertical) var(--ti-time-panel-btn-padding-horizontal);margin:0 5px;cursor:pointer;background-color:var(--ti-time-panel-btn-bg-color);outline:0;font-size:12px;color:var(--ti-time-panel-btn-text-color);border-radius:var(--ti-time-panel-btn-border-radius);-webkit-transition:background-color .3s cubic-bezier(.645,.045,.355,1);transition:background-color .3s cubic-bezier(.645,.045,.355,1)}.tiny-time-panel__btn.cancel{display:var(--ti-time-panel-btn-cancel-display)}.tiny-time-panel__btn.confirm{font-weight:var(--ti-time-panel-btn-font-weight);color:var(--ti-time-panel-btn-confirm-text-color)}.tiny-time-panel__btn.confirm:hover{background-color:var(--ti-time-panel-btn-confirm-hover-bg-color)}.tiny-date-table{--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-table-font-size);-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-date-table.is-week-mode .tiny-date-table__row:hover td.available:hover{color:var(--ti-date-table-text-color)}.tiny-date-table.is-week-mode .tiny-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:var(--ti-date-table-td-border-radius);border-bottom-left-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table.is-week-mode .tiny-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:var(--ti-date-table-td-border-radius);border-bottom-right-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table.is-week-mode .tiny-date-table__row:hover div{background-color:var(--ti-date-table-hover-bg-color)}.tiny-date-table.is-week-mode .tiny-date-table__row.current div{background-color:var(--ti-date-table-week-bg-color-current-select)}.tiny-date-table.is-week-mode .tiny-date-table__row.current div:hover{background-color:var(--ti-date-table-week-bg-color-current-hover)}.tiny-date-table.is-week-mode .tiny-date-table__row.current td.available:hover span{background-color:transparent}.tiny-date-table.is-week-mode .tiny-date-table__row.current td.available.end-date span,.tiny-date-table.is-week-mode .tiny-date-table__row.current td.available.start-date span{background-color:var(--ti-date-table-bg-color-current-select);border-radius:var(--ti-date-table-border-radius-current-select)}.tiny-date-table td{width:var(--ti-date-table-td-width);height:var(--ti-date-table-td-height);padding:var(--ti-date-table-td-padding-vertical) var(--ti-date-table-td-padding-horizontal);-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;vertical-align:middle;position:relative}.tiny-date-table td div{height:var(--ti-date-table-td-div-height);min-width:var(--ti-date-table-td-div-width);padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-date-table td span{min-width:var(--ti-date-table-td-span-width);height:var(--ti-date-table-td-span-height);line-height:var(--ti-date-table-td-span-height);display:block;margin:0 auto;position:absolute;left:50%;top:var(--ti-date-table-td-span-top);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tiny-date-table td.next-month,.tiny-date-table td.pre-month{color:var(--ti-date-table-td-pre-month-text-color);cursor:pointer}.tiny-date-table td.next-month span:hover,.tiny-date-table td.pre-month span:hover{background:var(--ti-datetime-beside-day-bg-color-hover)}.tiny-date-table td.today{position:relative;color:var(--ti-date-table-td-today-text-color)}.tiny-date-table td.today:after{content:'';width:12px;height:1px;background:var(--ti-date-table-td-today-border-color);position:absolute;left:0;right:0;margin:auto;bottom:5px}.tiny-date-table td.today span{min-width:var(--ti-date-table-td-today-width);height:var(--ti-date-table-td-today-height);border-radius:var(--ti-date-table-td-today-border-radius);border:solid var(--ti-date-table-td-today-circle-border-width) var(--ti-date-table-td-today-circle-border-color)}.tiny-date-table td.today.end-date span,.tiny-date-table td.today.start-date span{color:var(--ti-date-table-td-normal-text-color)}.tiny-date-table td.available:not(.today):hover span{background-color:var(--ti-date-table-hover-bg-color);border-radius:var(--ti-date-table-border-radius-current-select);border-color:transparent}.tiny-date-table td.current:not(.disabled) span{color:var(--ti-date-table-td-normal-text-color);background-color:var(--ti-date-table-bg-color-current-select);border-radius:var(--ti-date-table-border-radius-current-select);border-color:transparent}.tiny-date-table td.current:not(.disabled):after{background-color:transparent}.tiny-date-table td.end-date div,.tiny-date-table td.start-date div{color:var(--ti-date-table-td-normal-text-color)}.tiny-date-table td.end-date span,.tiny-date-table td.start-date span{background-color:var(--ti-date-table-bg-color-current-select);border-radius:var(--ti-date-table-start-date-border-radius);border:0}.tiny-date-table td.start-date div{margin-left:5px;border-top-left-radius:var(--ti-date-table-td-border-radius);border-bottom-left-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table td.end-date div{margin-right:5px;border-top-right-radius:var(--ti-date-table-td-border-radius);border-bottom-right-radius:var(--ti-date-table-td-border-radius)}.tiny-date-table td.disabled div{background-color:var(--ti-date-table-disabled-bg-color);opacity:1;cursor:not-allowed;color:var(--ti-date-table-disabled-text-color)}.tiny-date-table td.in-range div{background-color:var(--ti-date-table-range-bg-color)}.tiny-date-table td.in-range div:hover{background-color:var(--ti-date-table-range-hover-bg-color)}.tiny-date-table td.in-range.end-date:hover span,.tiny-date-table td.in-range.start-date:hover span{background-color:var(--ti-date-table-bg-color-current-select)}.tiny-date-table td.available{padding:0}.tiny-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:var(--ti-date-table-td-range-bg-color)}.tiny-date-table td.selected div:hover{background-color:var(--ti-date-table-td-range-bg-color)}.tiny-date-table td.selected span{background-color:var(--ti-date-table-bg-color-current-select);color:var(--ti-date-table-td-normal-text-color);border:none;border-radius:var(--ti-date-table-cell-selected-border-radius)}.tiny-date-table td.selected.available:hover span{background-color:var(--ti-date-table-bg-color-current-select)}.tiny-date-table td.week{font-size:80%;color:var(--ti-date-table-text-color)}.tiny-date-table th{color:var(--ti-date-table-th-text-color);font-weight:400;white-space:nowrap}.tiny-month-table{--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-month-table td,.tiny-month-table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-month-table td.current,.tiny-month-table tr.current{padding-left:3px;padding-right:3px}.tiny-month-table td div,.tiny-month-table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-month-table td.today .cell,.tiny-month-table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-month-table td.today.end-date .cell,.tiny-month-table td.today.start-date .cell,.tiny-month-table tr.today.end-date .cell,.tiny-month-table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-month-table td.disabled .cell,.tiny-month-table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td.disabled .cell:hover,.tiny-month-table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td .cell,.tiny-month-table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-month-table td .cell:hover,.tiny-month-table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-month-table td.in-range div,.tiny-month-table td.in-range div:hover,.tiny-month-table tr.in-range div,.tiny-month-table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-month-table td.end-date div,.tiny-month-table td.start-date div,.tiny-month-table tr.end-date div,.tiny-month-table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-month-table td.end-date .cell,.tiny-month-table td.start-date .cell,.tiny-month-table tr.end-date .cell,.tiny-month-table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-month-table td:not(.in-range) .cell,.tiny-month-table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-month-table td.current:not(.disabled) .cell,.tiny-month-table td.current:not(.disabled) .cell:hover,.tiny-month-table tr.current:not(.disabled) .cell,.tiny-month-table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-year-table{--ti-year-table-td-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-year-table-td-icon-color:#303133;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-year-table td,.tiny-year-table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-year-table td.current,.tiny-year-table tr.current{padding-left:3px;padding-right:3px}.tiny-year-table td div,.tiny-year-table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-year-table td.today .cell,.tiny-year-table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-year-table td.today.end-date .cell,.tiny-year-table td.today.start-date .cell,.tiny-year-table tr.today.end-date .cell,.tiny-year-table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-year-table td.disabled .cell,.tiny-year-table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-year-table td.disabled .cell:hover,.tiny-year-table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-year-table td .cell,.tiny-year-table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-year-table td .cell:hover,.tiny-year-table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-year-table td.in-range div,.tiny-year-table td.in-range div:hover,.tiny-year-table tr.in-range div,.tiny-year-table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-year-table td.end-date div,.tiny-year-table td.start-date div,.tiny-year-table tr.end-date div,.tiny-year-table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-year-table td.end-date .cell,.tiny-year-table td.start-date .cell,.tiny-year-table tr.end-date .cell,.tiny-year-table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-year-table td:not(.in-range) .cell,.tiny-year-table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-year-table td.current:not(.disabled) .cell,.tiny-year-table td.current:not(.disabled) .cell:hover,.tiny-year-table tr.current:not(.disabled) .cell,.tiny-year-table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-month-table{--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-month-table td,.tiny-month-table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-month-table td.current,.tiny-month-table tr.current{padding-left:3px;padding-right:3px}.tiny-month-table td div,.tiny-month-table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-month-table td.today .cell,.tiny-month-table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-month-table td.today.end-date .cell,.tiny-month-table td.today.start-date .cell,.tiny-month-table tr.today.end-date .cell,.tiny-month-table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-month-table td.disabled .cell,.tiny-month-table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td.disabled .cell:hover,.tiny-month-table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td .cell,.tiny-month-table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-month-table td .cell:hover,.tiny-month-table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-month-table td.in-range div,.tiny-month-table td.in-range div:hover,.tiny-month-table tr.in-range div,.tiny-month-table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-month-table td.end-date div,.tiny-month-table td.start-date div,.tiny-month-table tr.end-date div,.tiny-month-table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-month-table td.end-date .cell,.tiny-month-table td.start-date .cell,.tiny-month-table tr.end-date .cell,.tiny-month-table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-month-table td:not(.in-range) .cell,.tiny-month-table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-month-table td.current:not(.disabled) .cell,.tiny-month-table td.current:not(.disabled) .cell:hover,.tiny-month-table tr.current:not(.disabled) .cell,.tiny-month-table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-picker-panel{--ti-picker-panel-line-height:var(--ti-common-size-height-normal, 28px);--ti-picker-panel-shortcut-font-size:var(--ti-common-font-size-1, 14px);--ti-picker-panel-icon-color-btn:var(--ti-common-color-icon-normal, #575d6c);--ti-picker-panel-icon-color-btn-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-picker-panel-icon-color-btn-disabled:var(--ti-common-color-icon-disabled, #adb0b8);--ti-picker-panel-box-shadow:2px 3px 7px rgba(0, 0, 0, 0.15);--ti-picker-panel-font-size:var(--ti-common-font-size-base, 12px);--ti-picker-panel-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-picker-panel-bg-color:var(--ti-common-color-light, #fff);--ti-picker-panel-selected-bg-color:#f2f2f3;--ti-picker-panel-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-picker-panel-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-picker-panel-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-picker-panel-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-picker-panel-content-border-color:transparent;--ti-picker-panel-content-padding-top:0;--ti-picker-panel-content-padding-left:0;--ti-picker-panel-content-padding-right:0;--ti-picker-panel-icon-btn-line-height:30px;--ti-picker-panel-shortcut-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-picker-panel-shortcut-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);color:var(--ti-picker-panel-text-color);font-size:var(--ti-picker-panel-font-size);border:1px solid var(--ti-picker-panel-border-color);-webkit-box-shadow:var(--ti-picker-panel-box-shadow);box-shadow:var(--ti-picker-panel-box-shadow);background:var(--ti-picker-panel-bg-color);border-radius:var(--ti-common-border-radius-normal);line-height:var(--ti-picker-panel-line-height);margin:var(--ti-common-dropdown-gap) 0}.tiny-picker-panel__body-wrapper::after,.tiny-picker-panel__body::after{content:'';display:table;clear:both}.tiny-picker-panel__body{padding-bottom:8px}.tiny-picker-panel__content{position:relative;border-top:solid 1px var(--ti-picker-panel-content-border-color);padding-top:var(--ti-picker-panel-content-padding-top);padding-left:var(--ti-picker-panel-content-padding-left);padding-right:var(--ti-picker-panel-content-padding-right)}.tiny-picker-panel__footer{border-top:1px solid var(--ti-picker-panel-border-color);padding:6px 16px;background-color:var(--ti-picker-panel-bg-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-picker-panel__footer .tiny-button{min-width:60px}.tiny-picker-panel__footer .tiny-button:only-child{float:right}.tiny-picker-panel__footer .tiny-button--text{text-align:left}.tiny-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:var(--ti-picker-panel-shortcut-font-size);color:var(--ti-picker-panel-text-color);padding-left:12px;text-align:left;outline:0;cursor:pointer}.tiny-picker-panel__shortcut:hover{background-color:var(--ti-picker-panel-hover-bg-color)}.tiny-picker-panel__shortcut.active{background-color:var(--ti-picker-panel-selected-bg-color)}.tiny-picker-panel__shortcut-selected[type=button]{color:var(--ti-picker-panel-shortcut-selected-text-color);background-color:var(--ti-picker-panel-shortcut-selected-bg-color)}.tiny-picker-panel__btn{color:var(--ti-picker-panel-text-color);border:1px solid var(--ti-picker-panel-border-color);font-size:var(--ti-picker-panel-font-size);line-height:24px;border-radius:var(--ti-picker-panel-border-radius);padding:0 20px;cursor:pointer;outline:0;background-color:transparent}.tiny-picker-panel__btn [disabled]{color:var(--ti-picker-panel-disabled-text-color);cursor:not-allowed}.tiny-picker-panel__icon-btn{font-size:var(--ti-picker-panel-font-size);line-height:var(--ti-picker-panel-icon-btn-line-height);fill:var(--ti-picker-panel-icon-color-btn);border:0;background:0 0;cursor:pointer;outline:0}.tiny-picker-panel__icon-btn:hover{fill:var(--ti-picker-panel-icon-color-btn-hover)}.tiny-picker-panel__icon-btn.is-disabled{color:var(--ti-picker-panel-icon-color-btn-disabled)}.tiny-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.tiny-picker-panel__link-btn{vertical-align:middle}.tiny-picker-panel [slot=sidebar],.tiny-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid var(--ti-picker-panel-border-color);-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:var(--ti-picker-panel-bg-color);overflow:auto}.tiny-picker-panel [slot=sidebar]+.tiny-picker-panel__body,.tiny-picker-panel__sidebar+.tiny-picker-panel__body{margin-left:110px}.tiny-picker-panel__timezone{margin-bottom:10px}.tiny-picker-panel__timezone .tiny-picker-panel__tzlist{z-index:10;overflow-y:hidden}.tiny-picker-panel__timezone .tiny-picker-panel__tzlist-li{height:30px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;border:1px solid #f4f0f0;cursor:pointer}.tiny-picker-panel__timezone .tiny-picker-panel__tzlist .tiny-popup{position:absolute;width:238px;bottom:77px;max-height:260px;-webkit-box-shadow:0 -1px 2px 0 rgba(53,29,29,.5);box-shadow:0 -1px 2px 0 rgba(53,29,29,.5)}.tiny-picker-panel__timezone .tiny-input{position:relative}.tiny-date-range-picker{--ti-date-range-picker-header-font-size:var(--ti-common-font-size-2, 16px);--ti-date-range-picker-time-header-icon-color:#303133;width:558px}.tiny-date-range-picker.has-sidebar{width:668px}.tiny-date-range-picker table{table-layout:fixed;width:100%}.tiny-date-range-picker .tiny-picker-panel__body{min-width:var(--ti-date-range-picker-body-min-width)}.tiny-date-range-picker .tiny-picker-panel__content{margin:0}.tiny-date-range-picker__header{position:relative;text-align:center;height:28px}.tiny-date-range-picker__header [class*=arrow-left]{float:left}.tiny-date-range-picker__header [class*=arrow-right]{float:right}.tiny-date-range-picker__header div{font-size:var(--ti-date-range-picker-header-font-size);font-weight:500;margin-right:50px}.tiny-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.tiny-date-range-picker__content.is-left{border-right:1px solid var(--ti-date-picker-border-color)}.tiny-date-range-picker__content .tiny-date-range-picker__header div{margin-left:50px;margin-right:50px}.tiny-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.tiny-date-range-picker__editors-wrap.is-right{text-align:right}.tiny-date-range-picker__time-header{position:relative;border-bottom:1px solid var(--ti-date-picker-border-color);font-size:var(--ti-date-picker-font-size);padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-date-range-picker__time-header>.tiny-icon-arrow-right{font-size:var(--ti-common-font-size-4);vertical-align:middle;display:table-cell;color:var(--ti-date-range-picker-time-header-icon-color)}.tiny-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.tiny-date-range-picker__time-picker-wrap .tiny-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:var(--ti-date-picker-bg-color)}.tiny-time-range-picker{--ti-time-range-picker-header-font-size:var(--ti-common-font-size-1, 14px);width:354px;overflow:visible}.tiny-time-range-picker__content{position:relative;text-align:center;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%}.tiny-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:var(--ti-time-range-picker-header-font-size)}.tiny-time-range-picker__body{border-radius:var(--ti-date-picker-border-radius);border:1px solid var(--ti-date-picker-border-color)}.tiny-month-table{--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-month-table td,.tiny-month-table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-month-table td.current,.tiny-month-table tr.current{padding-left:3px;padding-right:3px}.tiny-month-table td div,.tiny-month-table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-month-table td.today .cell,.tiny-month-table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-month-table td.today.end-date .cell,.tiny-month-table td.today.start-date .cell,.tiny-month-table tr.today.end-date .cell,.tiny-month-table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-month-table td.disabled .cell,.tiny-month-table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td.disabled .cell:hover,.tiny-month-table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-month-table td .cell,.tiny-month-table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-month-table td .cell:hover,.tiny-month-table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-month-table td.in-range div,.tiny-month-table td.in-range div:hover,.tiny-month-table tr.in-range div,.tiny-month-table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-month-table td.end-date div,.tiny-month-table td.start-date div,.tiny-month-table tr.end-date div,.tiny-month-table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-month-table td.end-date .cell,.tiny-month-table td.start-date .cell,.tiny-month-table tr.end-date .cell,.tiny-month-table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-month-table td:not(.in-range) .cell,.tiny-month-table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-month-table td.current:not(.disabled) .cell,.tiny-month-table td.current:not(.disabled) .cell:hover,.tiny-month-table tr.current:not(.disabled) .cell,.tiny-month-table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-quarter-panel table{table-layout:fixed;width:100%}.tiny-quarter-panel__header{margin:12px 12px 0 12px;text-align:center;padding-bottom:12px;border-bottom:1px solid var(--ti-date-picker-border-color);line-height:var(--ti-date-picker-header-line-height)}.tiny-quarter-panel__table{--ti-month-table-td-text-bg-color:var(--ti-base-color-brand-7, #526ecc);--ti-month-table-cell-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-month-table-td-range-bg-color:#f2f6fc;--ti-month-table-td-date-text-color:var(--ti-common-color-light, #fff);--ti-month-table-td-date-border-radius:24px;--ti-month-table-cell-today-font-weight:700;--ti-month-table-cell-height:32px;--ti-month-table-cell-border-radius:2px;--ti-month-table-cell-today-border-color:transparent;--ti-month-table-cell-hover-bg-color:var(--ti-base-color-brand-2);--ti-month-table-td-div-height:32px;--ti-date-table-td-width:36px;--ti-date-table-td-height:34px;--ti-date-table-td-padding-vertical:4px;--ti-date-table-td-padding-horizontal:0;--ti-date-table-td-span-width:36px;--ti-date-table-td-span-height:24px;--ti-date-table-th-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-border-radius:0;--ti-date-table-td-pre-month-text-color:var(--ti-base-color-common-2, #adb0b8);--ti-date-table-td-normal-text-color:var(--ti-common-color-light, #fff);--ti-date-table-td-range-bg-color:#f2f6fc;--ti-date-table-td-today-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-td-today-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-week-bg-color-current-select:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-week-bg-color-current-hover:var(--ti-base-color-brand-3, #beccfa);--ti-date-table-font-size:var(--ti-common-font-size-base, 12px);--ti-date-table-hover-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-date-table-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-table-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-table-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-table-bg-color-current-select:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-table-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-table-border-radius-current-select:0;--ti-date-table-td-today-width:36px;--ti-date-table-td-today-height:24px;--ti-date-table-td-today-border-radius:0;--ti-date-table-td-today-circle-border-color:transparent;--ti-date-table-td-today-circle-border-width:0;--ti-date-table-td-div-height:24px;--ti-date-table-td-div-width:36px;--ti-date-table-td-span-top:5px;--ti-date-table-start-date-border-radius:0;--ti-date-table-cell-selected-border-radius:0;font-size:var(--ti-date-picker-font-size);margin:-1px;border-collapse:collapse}.tiny-quarter-panel__table td,.tiny-quarter-panel__table tr{text-align:center;padding:16px 0;cursor:pointer}.tiny-quarter-panel__table td.current,.tiny-quarter-panel__table tr.current{padding-left:3px;padding-right:3px}.tiny-quarter-panel__table td div,.tiny-quarter-panel__table tr div{height:var(--ti-month-table-td-div-height);-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 4px}.tiny-quarter-panel__table td.today .cell,.tiny-quarter-panel__table tr.today .cell{color:var(--ti-month-table-cell-today-text-color);font-weight:var(--ti-month-table-cell-today-font-weight);border:solid 1px var(--ti-month-table-cell-today-border-color)}.tiny-quarter-panel__table td.today.end-date .cell,.tiny-quarter-panel__table td.today.start-date .cell,.tiny-quarter-panel__table tr.today.end-date .cell,.tiny-quarter-panel__table tr.today.start-date .cell{color:var(--ti-month-table-td-date-text-color);border-color:transparent}.tiny-quarter-panel__table td.disabled .cell,.tiny-quarter-panel__table tr.disabled .cell{background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed;color:var(--ti-date-picker-disabled-text-color)}.tiny-quarter-panel__table td.disabled .cell:hover,.tiny-quarter-panel__table tr.disabled .cell:hover{color:var(--ti-date-picker-disabled-text-color)}.tiny-quarter-panel__table td .cell,.tiny-quarter-panel__table tr .cell{width:100%;height:var(--ti-month-table-cell-height);line-height:var(--ti-month-table-cell-height);display:block;color:var(--ti-date-picker-text-color)}.tiny-quarter-panel__table td .cell:hover,.tiny-quarter-panel__table tr .cell:hover{color:var(--ti-date-picker-text-color);background:var(--ti-month-table-cell-hover-bg-color);border-color:transparent}.tiny-quarter-panel__table td.in-range div,.tiny-quarter-panel__table td.in-range div:hover,.tiny-quarter-panel__table tr.in-range div,.tiny-quarter-panel__table tr.in-range div:hover{background-color:var(--ti-month-table-td-range-bg-color)}.tiny-quarter-panel__table td.end-date div,.tiny-quarter-panel__table td.start-date div,.tiny-quarter-panel__table tr.end-date div,.tiny-quarter-panel__table tr.start-date div{color:var(--ti-month-table-td-date-text-color)}.tiny-quarter-panel__table td.end-date .cell,.tiny-quarter-panel__table td.start-date .cell,.tiny-quarter-panel__table tr.end-date .cell,.tiny-quarter-panel__table tr.start-date .cell{color:var(--ti-month-table-td-date-text-color);background-color:var(--ti-month-table-td-text-bg-color)}.tiny-quarter-panel__table td:not(.in-range) .cell,.tiny-quarter-panel__table tr:not(.in-range) .cell{width:auto;border-radius:var(--ti-month-table-cell-border-radius)}.tiny-quarter-panel__table td.current:not(.disabled) .cell,.tiny-quarter-panel__table td.current:not(.disabled) .cell:hover,.tiny-quarter-panel__table tr.current:not(.disabled) .cell,.tiny-quarter-panel__table tr.current:not(.disabled) .cell:hover{color:var(--ti-date-table-td-normal-text-color);background:var(--ti-month-table-td-text-bg-color);border-color:transparent}.tiny-transition-timepicker{-webkit-animation:fadein .3s;animation:fadein .3s}.tiny-transition-timepicker-up{-webkit-animation:fadeup .3s;animation:fadeup .3s}@-webkit-keyframes fadein{0%{-webkit-transform:translateY(-200px);transform:translateY(-200px);z-index:-999}100%{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}@keyframes fadein{0%{-webkit-transform:translateY(-200px);transform:translateY(-200px);z-index:-999}100%{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}@-webkit-keyframes fadeup{0%{-webkit-transform:translateY(200px);transform:translateY(200px);z-index:-999}100%{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}@keyframes fadeup{0%{-webkit-transform:translateY(200px);transform:translateY(200px);z-index:-999}100%{-webkit-transform:translateY(0);transform:translateY(0);z-index:0}}.tiny-date-container{position:relative}.tiny-date-editor{--ti-range-separator-text-color:#303133;--ti-date-editor-input-icon-color-fill:#575d6c;--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;position:relative;display:inline-block;text-align:left}.tiny-date-editor.tiny-input,.tiny-date-editor.tiny-input__inner{width:100%}.tiny-date-editor--monthrange.tiny-input,.tiny-date-editor--monthrange.tiny-input__inner{width:350px}.tiny-date-editor--daterange.tiny-input,.tiny-date-editor--daterange.tiny-input__inner,.tiny-date-editor--timerange.tiny-input,.tiny-date-editor--timerange.tiny-input__inner{width:350px}.tiny-date-editor--datetimerange.tiny-input,.tiny-date-editor--datetimerange.tiny-input__inner{width:400px}.tiny-date-editor--dates .tiny-input__inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-date-editor.show-auto-width.tiny-input,.tiny-date-editor.show-auto-width.tiny-input__inner{width:100%}.tiny-date-editor .tiny-input__label{color:#8d959e;font-size:12px;margin-right:8px;max-width:100px;display:inline-block;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-date-editor .tiny-input__icon-container{width:initial;cursor:pointer;color:var(--ti-date-editor-input-icon-color-fill)}.tiny-date-editor .tiny-input__icon-container .baseClearicon{margin-right:8px;fill:#252b3a}.tiny-date-editor .tiny-input__icon-container .baseClearicon:hover{fill:var(--ti-input-clear-text-color-hover)}.tiny-date-editor .tiny-input__icon-container:not(.tiny-range__icon){display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-date-editor .tiny-range__icon{font-size:var(--ti-date-picker-icon-font-size);color:#c0c4cc;margin-left:-5px;float:left;line-height:1}.tiny-date-editor .tiny-range-input,.tiny-date-editor .tiny-range-separator{font-size:var(--ti-date-picker-font-size);height:100%;margin:0;text-align:center;display:inline-block}.tiny-date-editor .tiny-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:var(--ti-date-picker-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-date-editor .tiny-range-input::-moz-placeholder{color:#999;opacity:1}.tiny-date-editor .tiny-range-input:-ms-input-placeholder{color:#999}.tiny-date-editor .tiny-range-input::-webkit-input-placeholder{color:#999}.tiny-date-editor .tiny-range-input::-ms-input-placeholder{color:#999}.tiny-date-editor .tiny-range-input::placeholder{color:#999}.tiny-date-editor .tiny-range-separator{padding:0 5px;line-height:22px;width:12%;color:var(--ti-range-separator-text-color)}.tiny-date-editor .tiny-range__close-icon{font-size:var(--ti-date-picker-icon-font-size);width:25px;float:right;line-height:32px;margin-right:14px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-date-editor .tiny-range__close-icon,.tiny-date-editor .tiny-range__close-icon:hover{fill:var(--ti-input-icon-close-text-color)}.tiny-range-editor.tiny-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.tiny-range-editor .tiny-range-input{line-height:1}.tiny-range-editor.is-active,.tiny-range-editor.is-active:hover{border-color:var(--ti-date-picker-current-border-color)}.tiny-range-editor--medium.tiny-input__inner{height:42px}.tiny-range-editor--medium .tiny-range-separator{line-height:34px;font-size:var(--ti-common-font-size-2)}.tiny-range-editor--medium .tiny-range-input{font-size:var(--ti-common-font-size-2)}.tiny-range-editor--medium .tiny-range__close-icon,.tiny-range-editor--medium .tiny-range__icon{line-height:34px}.tiny-range-editor--small.tiny-input__inner{height:36px}.tiny-range-editor--small .tiny-range-separator{line-height:28px;font-size:var(--ti-common-font-size-1)}.tiny-range-editor--small .tiny-range-input{font-size:var(--ti-common-font-size-1)}.tiny-range-editor--small .tiny-range__close-icon,.tiny-range-editor--small .tiny-range__icon{line-height:28px}.tiny-range-editor--mini.tiny-input__inner{height:24px}.tiny-range-editor--mini .tiny-range-separator{line-height:16px;font-size:var(--ti-common-font-size-base)}.tiny-range-editor--mini .tiny-range-input{font-size:var(--ti-common-font-size-base)}.tiny-range-editor--mini .tiny-range__close-icon,.tiny-range-editor--mini .tiny-range__icon{line-height:16px}.tiny-range-editor.is-disabled{background-color:var(--ti-date-picker-disabled-bg-color);border-color:var(--ti-date-picker-border-color);color:var(--ti-date-picker-disabled-text-color);cursor:not-allowed}.tiny-range-editor.is-disabled:focus,.tiny-range-editor.is-disabled:hover{border-color:var(--ti-date-picker-border-color)}.tiny-range-editor.is-disabled input{color:var(--ti-date-picker-disabled-text-color);background-color:var(--ti-date-picker-disabled-bg-color);cursor:not-allowed}.tiny-range-editor.is-disabled input::-moz-placeholder{color:#999;opacity:1}.tiny-range-editor.is-disabled input:-ms-input-placeholder{color:#999}.tiny-range-editor.is-disabled input::-webkit-input-placeholder{color:#999}.tiny-range-editor.is-disabled input::-ms-input-placeholder{color:#999}.tiny-range-editor.is-disabled input::placeholder{color:#999}.tiny-range-editor.is-disabled .tiny-range-separator{color:var(--ti-date-picker-disabled-text-color)}.tiny-scrollbar{overflow:hidden;position:relative}.tiny-scrollbar:active>.tiny-scrollbar__bar,.tiny-scrollbar:focus>.tiny-scrollbar__bar,.tiny-scrollbar:hover>.tiny-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.tiny-scrollbar__wrap{overflow:scroll;height:100%}.tiny-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.tiny-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.tiny-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.tiny-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.tiny-scrollbar__bar.is-vertical{width:6px;top:2px}.tiny-scrollbar__bar.is-vertical>div{width:100%}.tiny-scrollbar__bar.is-horizontal{height:6px;left:2px}.tiny-scrollbar__bar.is-horizontal>div{height:100%}.tiny-mobile-picker-column{--ti-mobile-picker-column-item-height:34px;--ti-mobile-picker-column-item-color:#333;--ti-mobile-picker-column-item-font-size:17px;--ti-mobile-picker-column-item-select-color:#039be5;--ti-mobile-picker-column-indicator-border-color:#e5e5e5;--ti-mobile-picker-column-mask-background:linear-gradient(#fff, #ddd, #fff);position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;height:100%}.tiny-mobile-picker-column__wrapper{position:absolute;top:0;left:0;width:100%;-webkit-transition-timing-function:cubic-bezier(.23,1,.68,1);transition-timing-function:cubic-bezier(.23,1,.68,1)}.tiny-mobile-picker-column__item{height:var(--ti-mobile-picker-column-item-height,34px);line-height:var(--ti-mobile-picker-column-item-height,34px);color:var(--ti-mobile-picker-column-item-color,#333);font-size:var(--ti-mobile-picker-column-item-font-size,17px);padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.tiny-mobile-picker-column__item.is-select{color:var(--ti-mobile-picker-column-item-select-color,#039be5)}.tiny-mobile-picker-column__mask{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background-image:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.9)),to(hsla(0,0%,100%,.4))),-webkit-gradient(linear,left bottom,left top,from(hsla(0,0%,100%,.9)),to(hsla(0,0%,100%,.4)));background-image:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4)),linear-gradient(0deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.4));background-repeat:no-repeat;background-position:top,bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none}.tiny-mobile-picker-column__indicator{position:absolute;top:50%;right:0;left:0;z-index:3;-webkit-transform:translateY(-50%);transform:translateY(-50%);border-top:1px solid var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5);border-bottom:1px solid var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator{border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-picker-column__indicator::before{content:'';z-index:1;display:block;background-color:var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5);position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator::before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator{border-bottom:none;position:relative}html:not([data-scale]) .tiny-mobile-picker-column__indicator::after{content:'';z-index:1;display:block;background-color:var(--ti-mobile-picker-column-indicator-border-color,#e5e5e5);position:absolute;right:auto;left:0;bottom:0;top:auto;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-picker-column__indicator::after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-picker-column:not(:first-child) .tiny-mobile-picker-column__mask::before{position:absolute;top:0;bottom:0;left:0;width:1px;-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:0 0;transform-origin:0 0;content:' ';background:var(--ti-mobile-picker-column-mask-background,linear-gradient(#fff,#ddd,#fff))}.tiny-mobile-mini-picker{--ti-mobile-mini-picker-mask-background:rgba(0, 0, 0, 0.6);--ti-mobile-mini-picker-content-bgcolor:#ddd;--ti-mobile-mini-picker-toolbar-height:44px;--ti-mobile-mini-picker-toolbar-bgcolor:#fff;--ti-mobile-mini-picker-toolbar-font-size:14px;--ti-mobile-mini-picker-toolbar-border-color:#ddd;--ti-mobile-mini-picker-toolbar-action-color:#039be5;--ti-mobile-mini-picker-toolbar-cancel-color:#666;--ti-mobile-mini-picker-toolbar-title-color:#333;--ti-mobile-mini-picker-toolbar-title-font-size:17px;--ti-mobile-mini-picker-columns-bgcolor:#fff}.tiny-mobile-mini-picker__mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ti-mobile-mini-picker-mask-background,rgba(0,0,0,.6));z-index:1000}.tiny-mobile-mini-picker__content{position:fixed;bottom:0;left:0;width:100%;background-color:var(--ti-mobile-mini-picker-content-bgcolor,#ddd);-webkit-transform:translate(0,100%);transform:translate(0,100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;z-index:5000}.tiny-mobile-mini-picker__content.is-toggle{-webkit-transform:translate(0,0);transform:translate(0,0)}.tiny-mobile-mini-picker__toolbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:var(--ti-mobile-mini-picker-toolbar-height,44px);line-height:var(--ti-mobile-mini-picker-toolbar-height,44px);padding:0 17px;background-color:var(--ti-mobile-mini-picker-toolbar-bgcolor,#fff);font-size:var(--ti-mobile-mini-picker-toolbar-font-size,14px);text-align:center;border-bottom:1px solid var(--ti-mobile-mini-picker-toolbar-border-color,#ddd)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-mini-picker__toolbar{border-bottom:none;position:relative}html:not([data-scale]) .tiny-mobile-mini-picker__toolbar::after{content:'';z-index:1;display:block;background-color:var(--ti-mobile-mini-picker-toolbar-border-color,#ddd);position:absolute;right:auto;left:0;bottom:0;top:auto;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-mini-picker__toolbar::after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-mini-picker__toolbar .picker_action{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;color:var(--ti-mobile-mini-picker-toolbar-action-color,#039be5)}.tiny-mobile-mini-picker__toolbar .picker_cancel{color:var(--ti-mobile-mini-picker-toolbar-cancel-color,#666);text-align:left}.tiny-mobile-mini-picker__toolbar .picker_title{color:var(--ti-mobile-mini-picker-toolbar-title-color,#333);font-size:var(--ti-mobile-mini-picker-toolbar-title-font-size,17px);font-family:PingFangSC-Regular}.tiny-mobile-mini-picker__toolbar .picker_confirm{text-align:right}.tiny-mobile-mini-picker__columns{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;height:238px;background-color:var(--ti-mobile-mini-picker-columns-bgcolor,#fff);overflow:hidden}.tiny-date-picker{--ti-date-picker-width:280px;--ti-date-picker-font-size:var(--ti-common-font-size-base, 12px);--ti-date-picker-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-date-picker-bg-color:var(--ti-common-color-light, #fff);--ti-date-picker-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-date-picker-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-date-picker-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-date-picker-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-date-picker-selected-bg-color:#f2f2f3;--ti-date-picker-icon-font-size:var(--ti-common-font-size-1, 14px);--ti-date-picker-current-select-bg-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-color:var(--ti-base-color-brand-6, #5e7ce0);--ti-date-picker-current-border-radius:0;--ti-date-picker-range-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-range-hover-bg-color:var(--ti-base-color-brand-2, #e9edfa);--ti-date-picker-header-label-hover-text-color:var(--ti-base-color-brand-7, #526ecc);--ti-date-picker-header-line-height:32px;width:var(--ti-date-picker-width)}.tiny-date-picker.has-sidebar.has-time{width:434px}.tiny-date-picker.has-sidebar{width:398px}.tiny-date-picker.has-time .tiny-picker-panel__body-wrapper{position:relative}.tiny-date-picker table{table-layout:fixed;width:100%}.tiny-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.tiny-date-picker__time-header{position:relative;border-bottom:1px solid var(--ti-date-picker-border-color);font-size:var(--ti-date-picker-font-size);padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-date-picker__header{margin:12px;text-align:center;line-height:var(--ti-date-picker-header-line-height)}.tiny-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid var(--ti-date-picker-border-color)}.tiny-date-picker__header--bordered+.tiny-picker-panel__content{margin-top:0}.tiny-date-picker__header-label{font-size:var(--ti-date-picker-font-size);font-weight:700;padding:0 4px;text-align:center;cursor:pointer;color:var(--ti-date-picker-text-color);vertical-align:middle}.tiny-date-picker__header-label.active,.tiny-date-picker__header-label:hover{color:var(--ti-date-picker-header-label-hover-text-color)}.tiny-date-picker__prev-btn{float:left}.tiny-date-picker__next-btn{float:right}.tiny-date-picker__time-wrap{padding:10px;text-align:center}.tiny-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index27.js b/admin-website/src/main/resources/static/assets/index27.js
new file mode 100644
index 0000000..3faef78
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index27.js
@@ -0,0 +1,18 @@
+import { d as defineComponent, u as openBlock, v as createElementBlock, a1 as useRouter, w as createBaseVNode } from "./vue.js";
+const _hoisted_1 = { class: "content" };
+const _hoisted_2 = /* @__PURE__ */ createBaseVNode("div", null, "notfound", -1);
+const _hoisted_3 = [
+  _hoisted_2
+];
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    useRouter();
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1, _hoisted_3);
+    };
+  }
+});
+export {
+  _sfc_main as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index28.css b/admin-website/src/main/resources/static/assets/index28.css
new file mode 100644
index 0000000..0c34c84
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index28.css
@@ -0,0 +1 @@
+.tiny-scrollbar{--ti-scrollbar-vertical-right:2px;--ti-scrollbar-vertical-width:6px;--ti-scrollbar-thumb-bg-color:rgba(144, 147, 153, 0.3);--ti-scrollbar-thumb-hover-bg-color:rgba(144, 147, 153, 0.5);--ti-scrollbar-thumb-border-radius:inherit;overflow:hidden;position:relative}.tiny-scrollbar:active>.tiny-scrollbar__bar,.tiny-scrollbar:focus>.tiny-scrollbar__bar,.tiny-scrollbar:hover>.tiny-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.tiny-scrollbar__wrap{overflow:scroll;height:100%;max-height:200px}.tiny-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.tiny-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:var(--ti-scrollbar-thumb-border-radius);background-color:var(--ti-scrollbar-thumb-bg-color);-webkit-transition:.3s background-color;transition:.3s background-color}.tiny-scrollbar__thumb:hover{background-color:var(--ti-scrollbar-thumb-hover-bg-color)}.tiny-scrollbar__bar{position:absolute;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.tiny-scrollbar__bar.is-vertical{width:var(--ti-scrollbar-vertical-width);top:2px;right:var(--ti-scrollbar-vertical-right)}.tiny-scrollbar__bar.is-vertical>div{width:100%}.tiny-scrollbar__bar.is-horizontal{height:6px;left:2px;right:2px}.tiny-scrollbar__bar.is-horizontal>div{height:100%}.tiny-filter-box{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:28px;line-height:28px;border-radius:4px;background:#f5f6f8;color:#161e26;padding:4px 6px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:12px}.tiny-filter-box:hover{background:rgba(92,172,255,.1)}.tiny-filter-box.disabled{cursor:not-allowed}.tiny-filter-box.disabled .title label{color:#b5bbc1}.tiny-filter-box.disabled .value{color:#5c6976}.tiny-filter-box.disabled svg.filter-box-icon{fill:#b5bbce;cursor:not-allowed}.tiny-filter-box .title{height:inherit;line-height:inherit;font-size:12px}.tiny-filter-box .title label{display:inline-block;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#78828d;margin-right:4px}.tiny-filter-box .title.active label{color:#1890ff}.tiny-filter-box .title svg{width:16px;height:16px;margin-right:4px;fill:#8d959e;position:relative;top:-1px;vertical-align:super}.tiny-filter-box .title svg:hover{fill:#1890ff}.tiny-filter-box .value{max-width:100px;height:inherit;line-height:inherit;margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#161e26}.tiny-filter-box .value.placeholder{color:#aeaeae}.tiny-filter-box .filter-box-icon{width:12px;height:12px;cursor:pointer;fill:#78828d;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.tiny-filter-box .filter-box-icon.is-reverse{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tiny-filter-box .filter-icon-close{width:16px;height:16px;cursor:pointer;fill:#b5bbc1}.tiny-filter-box .filter-icon-close:hover{fill:#78828d}.tiny-filter-box.is-blank{background-color:transparent}.tiny-recycle-scroller{position:relative}.tiny-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.tiny-recycle-scroller.direction-vertical .tiny-recycle-scroller__item-wrapper{width:100%}.tiny-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.tiny-recycle-scroller.direction-horizontal .tiny-recycle-scroller__item-wrapper{height:100%}.tiny-recycle-scroller .tiny-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.tiny-recycle-scroller .tiny-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.tiny-recycle-scroller.ready .tiny-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.tiny-recycle-scroller.ready.direction-vertical .tiny-recycle-scroller__item-view{width:100%}.tiny-recycle-scroller.ready.direction-horizontal .tiny-recycle-scroller__item-view{height:100%}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index28.js b/admin-website/src/main/resources/static/assets/index28.js
new file mode 100644
index 0000000..c75db42
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index28.js
@@ -0,0 +1,213 @@
+import { d as defineComponent, a0 as useI18n, a8 as reactive, u as openBlock, v as createElementBlock, w as createBaseVNode, l as createVNode, H as withCtx, W as unref, E as toDisplayString, J as createTextVNode, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { _ as _imports_0, a as _imports_1, b as _imports_2, c as _imports_3 } from "./home-down.js";
+import { P as Pager, R as Row, C as Col, a as Column, G as Grid } from "./index31.js";
+import "./index32.js";
+import { n as Layout, _ as _export_sfc } from "./index.js";
+import "./chevron-up.js";
+import "./index30.js";
+const _withScopeId = (n) => (pushScopeId("data-v-b51475b6"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "preview-main" };
+const _hoisted_2 = { class: "preview-card" };
+const _hoisted_3 = { class: "col" };
+const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "img" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_0,
+    class: "image"
+  })
+], -1));
+const _hoisted_5 = { class: "num" };
+const _hoisted_6 = { class: "up" };
+const _hoisted_7 = { class: "left" };
+const _hoisted_8 = {
+  id: "up",
+  class: "right"
+};
+const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_1,
+  class: "image"
+}, null, -1));
+const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("span", null, "0.88%", -1));
+const _hoisted_11 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "down" }, [
+  /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "3.23"),
+  /* @__PURE__ */ createBaseVNode("span", { class: "right" }, "/ s")
+], -1));
+const _hoisted_12 = { class: "col" };
+const _hoisted_13 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "img" }, [
+  /* @__PURE__ */ createBaseVNode("img", {
+    src: _imports_2,
+    class: "image"
+  })
+], -1));
+const _hoisted_14 = { class: "num" };
+const _hoisted_15 = { class: "up" };
+const _hoisted_16 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "DOM Ready", -1));
+const _hoisted_17 = {
+  id: "down",
+  class: "right"
+};
+const _hoisted_18 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_3,
+  class: "image"
+}, null, -1));
+const _hoisted_19 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("span", null, "0.88%", -1));
+const _hoisted_20 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "down" }, [
+  /* @__PURE__ */ createBaseVNode("span", { class: "left" }, "1.56"),
+  /* @__PURE__ */ createBaseVNode("span", { class: "right" }, "/ s")
+], -1));
+const _hoisted_21 = { class: "preview-table" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const { t } = useI18n();
+    const tableData = [
+      {
+        id: "1",
+        space: "4G",
+        pv: "1767(97.77%)",
+        play: "0.44s"
+      },
+      {
+        id: "2",
+        space: "2G",
+        pv: "22(1.77%)",
+        play: "0.43s"
+      },
+      {
+        id: "3",
+        space: t("home.round.unknow"),
+        pv: "32(1.77%)",
+        play: "0.44s"
+      },
+      {
+        id: "4",
+        space: t("home.round.unknow"),
+        pv: "32(1.77%)",
+        play: "0.44s"
+      }
+    ];
+    const pagerConfig = reactive({
+      component: Pager,
+      attrs: {
+        currentPage: 1,
+        pageSize: 5,
+        pageSizes: [5, 10],
+        total: 0,
+        layout: "total, prev, pager, next, jumper, sizes"
+      }
+    });
+    async function fetchData(params = {
+      pageIndex: 1,
+      pageSize: 10
+    }) {
+      const total = tableData.length;
+      return {
+        result: tableData,
+        page: { total }
+      };
+    }
+    const fetchDataOption = reactive({
+      api: ({ page }) => {
+        const { currentPage, pageSize } = page;
+        return fetchData({
+          pageIndex: currentPage,
+          pageSize
+        });
+      }
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createBaseVNode("div", _hoisted_2, [
+          createVNode(unref(Layout), null, {
+            default: withCtx(() => [
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_3, [
+                        _hoisted_4,
+                        createBaseVNode("div", _hoisted_5, [
+                          createBaseVNode("div", _hoisted_6, [
+                            createBaseVNode("span", _hoisted_7, toDisplayString(_ctx.$t("home.main.one")), 1),
+                            createBaseVNode("span", _hoisted_8, [
+                              createTextVNode(toDisplayString(_ctx.$t("home.main.day")) + " ", 1),
+                              _hoisted_9,
+                              _hoisted_10
+                            ])
+                          ]),
+                          _hoisted_11
+                        ])
+                      ])
+                    ]),
+                    _: 1
+                  }),
+                  createVNode(unref(Col), { span: 6 }, {
+                    default: withCtx(() => [
+                      createBaseVNode("div", _hoisted_12, [
+                        _hoisted_13,
+                        createBaseVNode("div", _hoisted_14, [
+                          createBaseVNode("div", _hoisted_15, [
+                            _hoisted_16,
+                            createBaseVNode("span", _hoisted_17, [
+                              createTextVNode(toDisplayString(_ctx.$t("home.main.day")) + " ", 1),
+                              _hoisted_18,
+                              _hoisted_19
+                            ])
+                          ]),
+                          _hoisted_20
+                        ])
+                      ])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), {
+                flex: true,
+                justify: "center"
+              })
+            ]),
+            _: 1
+          })
+        ]),
+        createBaseVNode("div", _hoisted_21, [
+          createVNode(unref(Grid), {
+            ref: "grid",
+            "fetch-data": fetchDataOption,
+            pager: pagerConfig
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Column), {
+                field: "id",
+                title: _ctx.$t("home.roundtable.index"),
+                width: "160"
+              }, null, 8, ["title"]),
+              createVNode(unref(Column), {
+                field: "space",
+                title: _ctx.$t("home.roundtable.space"),
+                width: "180"
+              }, null, 8, ["title"]),
+              createVNode(unref(Column), {
+                field: "pv",
+                title: _ctx.$t("home.roundtable.pv"),
+                width: "180"
+              }, null, 8, ["title"]),
+              createVNode(unref(Column), {
+                field: "play",
+                title: _ctx.$t("home.roundtable.play"),
+                width: "200"
+              }, null, 8, ["title"])
+            ]),
+            _: 1
+          }, 8, ["fetch-data", "pager"])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_b51475b6_lang = "";
+const index_vue_vue_type_style_index_1_scoped_b51475b6_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b51475b6"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index29.css b/admin-website/src/main/resources/static/assets/index29.css
new file mode 100644
index 0000000..14c637a
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index29.css
@@ -0,0 +1 @@
+.tiny-button-group{--ti-button-group-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-button-group-border-weight:var(--ti-common-size-0, 0px);--ti-button-group-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-button-group-mini-side-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-button-group-right-border-radius:var(--ti-common-border-radius-0, 0px);--ti-button-group-mini-right-border-radius:var(--ti-button-group-mini-border-radius, 0px);--ti-button-group-middle-border-radius:var(--ti-common-border-radius-0, 0px);--ti-button-group-left-border-radius:var(--ti-common-border-radius-0, 0px);--ti-button-group-mini-left-border-radius:var(--ti-button-group-mini-border-radius, 0px);--ti-button-group-hover-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-button-group-info-border-color:var(--ti-common-color-light, #fff);--ti-button-group-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-group-item-bg-color:var(--ti-common-color-bg-light-normal, #e9edfa);--ti-button-group-item-btn-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-group-item-btn-width:var(--ti-common-size-width-normal, 80px);--ti-button-group-item-btn-height:var(--ti-common-size-height-normal, 28px);--ti-button-group-item-btn-font-size:var(--ti-common-font-size-base, 12px);--ti-button-group-item-btn-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-button-group-item-btn-disabled-border-color:var(--ti-common-color-border, #adb0b8);--ti-button-group-item-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-group-item-active-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-button-group-item-btn-hover-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-button-group-item-btn-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-group-item-btn-hover-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-button-group-item-btn-plain-text-color:var(--ti-common-color-text-link-hover, #344899);--ti-button-group-item-btn-plain-bg-color:var(--ti-common-color-prompt-bg, #ebf6ff);--ti-button-group-item-btn-plain-border-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-item-active-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-item-btn-active-hover-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-button-group-plain-active-text-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-item-active-disabled-bg-color:var(--ti-common-color-bg-dark-disabled, #dfe1e6);--ti-button-group-item-active-text-color:var(--ti-common-color-light, #fff);--ti-button-group-item-li-margin-right:calc(var(--ti-common-space-base, 4px) / 2);--ti-button-group-item-li-margin-bottom:var(--ti-common-space-base, 4px);--ti-button-group-item-active-border-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-button-group-active-hover-border-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-group-btn-padding-horizontal:calc(var(--ti-common-space-10, 10px) * 3);--ti-button-group-margin-top:var(--ti-common-space-0, 0px);--ti-button-group-item-margin-top:var(--ti-common-space-0, 0px);--ti-button-group-mini-margin-right:calc(var(--ti-common-space-base, 4px) / 2);--ti-button-group-mini-font-size:calc(var(--ti-common-font-size-1, 14px) - 2px);--ti-button-group-no-border-hover-bg-color:var(--ti-common-color-bg-light-emphasize, #beccfa);--ti-button-group-no-border-active-hover-bg-color:var(--ti-common-color-primary-hover, #7693f5);--ti-button-group-no-border-disabled-bg-color:var(--ti-common-color-light, #ffffff);--ti-button-group-mini-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-button-group-mini-border-radius:calc(var(--ti-common-border-radius-normal, 2px) - 2px);--ti-button-group-no-border-hover-border-color:var(--ti-common-color-transparent, transparent);--ti-button-group-no-border-border-color:var(--ti-common-color-transparent, transparent);--ti-button-group-item-sup-height:var(--ti-common-size-4x, 16px);--ti-button-group-item-sup-position-top:calc(-1 * var(--ti-button-group-item-sup-height) / 2);--ti-button-group-item-sup-font-color:var(--ti-common-color-text-white, #fff);--ti-button-group-item-sup-font-size:var(--ti-common-font-size-base, 12px);display:inline-block;vertical-align:middle;margin-top:var(--ti-button-group-margin-top)}.tiny-button-group:after,.tiny-button-group:before{content:'';display:table}.tiny-button-group:after{clear:both}.tiny-button-group--empty{color:var(--ti-common-color-placeholder)}.tiny-button-group .tiny-group-item{display:inline-block;vertical-align:middle}.tiny-button-group .tiny-group-item li.active button.disabled,.tiny-button-group .tiny-group-item li.active[disabled]{color:var(--ti-button-group-item-active-disabled-text-color)}.tiny-button-group .tiny-group-item li{line-height:28px;float:left;position:relative;margin-top:var(--ti-button-group-item-margin-top)}.tiny-button-group .tiny-group-item li button{border:var(--ti-button-group-border-weight) solid var(--ti-button-group-border-color);display:block;text-align:center;color:var(--ti-button-group-item-btn-text-color);background:var(--ti-button-group-item-bg-color);min-width:var(--ti-button-group-item-btn-width);height:var(--ti-button-group-item-btn-height);padding:0 var(--ti-button-group-btn-padding-horizontal);text-decoration:none;font-size:var(--ti-button-group-item-btn-font-size);cursor:pointer;-webkit-transition:background ease-in .3s,border ease-in .3s;transition:background ease-in .3s,border ease-in .3s;border-radius:var(--ti-button-group-middle-border-radius)}.tiny-button-group .tiny-group-item li button:focus-visible{outline:2px solid var(--ti-button-group-item-active-bg-color)}.tiny-button-group .tiny-group-item li button.disabled,.tiny-button-group .tiny-group-item li button[disabled]{background:var(--ti-button-group-item-btn-disabled-bg-color);border-color:var(--ti-button-group-item-btn-disabled-border-color);cursor:not-allowed;color:var(--ti-button-group-item-disabled-text-color);outline:0}.tiny-button-group .tiny-group-item li button.plain,.tiny-button-group .tiny-group-item li button[plain]{background:0 0}.tiny-button-group .tiny-group-item li:hover{z-index:1}.tiny-button-group .tiny-group-item li:hover button:not(.disabled){background:var(--ti-button-group-item-btn-hover-bg-color);color:var(--ti-button-group-item-btn-hover-text-color);border-color:var(--ti-button-group-item-btn-hover-border-color)}.tiny-button-group .tiny-group-item li:hover button:not(.disabled).plain,.tiny-button-group .tiny-group-item li:hover button:not(.disabled)[plain]{color:var(--ti-button-group-item-btn-plain-text-color);background-color:var(--ti-button-group-item-btn-plain-bg-color);border-color:var(--ti-button-group-item-btn-plain-border-color)}.tiny-button-group .tiny-group-item li.active{z-index:1}.tiny-button-group .tiny-group-item li.active:hover button:not(.disabled){background:var(--ti-button-group-item-btn-active-hover-bg-color);border-color:var(--ti-button-group-active-hover-border-color)}.tiny-button-group .tiny-group-item li.active:hover button:not(.disabled).plain,.tiny-button-group .tiny-group-item li.active:hover button:not(.disabled)[plain]{background-color:var(--ti-button-group-item-btn-plain-bg-color)}.tiny-button-group .tiny-group-item li.active button.disabled{background:var(--ti-button-group-item-active-disabled-bg-color)}.tiny-button-group .tiny-group-item li.active button:not(.disabled){background:var(--ti-button-group-item-active-bg-color);color:var(--ti-button-group-item-active-text-color);border-color:var(--ti-button-group-item-active-border-color)}.tiny-button-group .tiny-group-item li.active button:not(.disabled).plain,.tiny-button-group .tiny-group-item li.active button:not(.disabled)[plain]{color:var(--ti-button-group-plain-active-text-color);background:0 0}.tiny-button-group .tiny-group-item li:first-child button{border-radius:var(--ti-button-group-border-radius) var(--ti-button-group-right-border-radius) var(--ti-button-group-right-border-radius) var(--ti-button-group-border-radius)}.tiny-button-group .tiny-group-item li:last-child button{border-radius:var(--ti-button-group-left-border-radius) var(--ti-button-group-border-radius) var(--ti-button-group-border-radius) var(--ti-button-group-left-border-radius)}.tiny-button-group .tiny-group-item li:not(:last-child){margin-right:var(--ti-button-group-item-li-margin-right);margin-bottom:var(--ti-button-group-item-li-margin-bottom)}.tiny-button-group .tiny-group-item__sup{position:absolute;min-width:var(--ti-button-group-item-sup-height);height:var(--ti-button-group-item-sup-height);top:var(--ti-button-group-item-sup-position-top);color:var(--ti-button-group-item-sup-font-color);right:0;font-size:var(--ti-button-group-item-btn-font-size);line-height:var(--ti-button-group-item-sup-height);text-align:center;background-color:#fa9841}.tiny-button-group .tiny-group-item__sup .tiny-svg{vertical-align:unset}.tiny-button-group .tiny-group-item__sup-icon{background-color:#fa9841;border-radius:2px;fill:#fff}.tiny-button-group .tiny-group-item__sup-text{background-color:#fa9841;padding:0 4px;border-top-left-radius:4px;border-bottom-right-radius:4px}.tiny-button-group>.tiny-button{float:left;position:relative}.tiny-button-group>.tiny-button+.tiny-button{margin-left:0}.tiny-button-group>.tiny-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:var(--ti-button-group-info-border-color)}.tiny-button-group>.tiny-button:first-child.tiny-button--default{border-right-color:var(--ti-button-group-border-color)}.tiny-button-group>.tiny-button:first-child.tiny-button--default:active,.tiny-button-group>.tiny-button:first-child.tiny-button--default:focus,.tiny-button-group>.tiny-button:first-child.tiny-button--default:hover{border-right-color:var(--ti-button-group-hover-border-color);z-index:1}.tiny-button-group>.tiny-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--ti-button-group-info-border-color)}.tiny-button-group>.tiny-button:last-child.tiny-button--default{border-left-color:var(--ti-button-group-border-color)}.tiny-button-group>.tiny-button:last-child.tiny-button--default:active,.tiny-button-group>.tiny-button:last-child.tiny-button--default:focus,.tiny-button-group>.tiny-button:last-child.tiny-button--default:hover{border-left-color:var(--ti-button-group-hover-border-color);z-index:1}.tiny-button-group>.tiny-button:first-child:last-child{border-radius:var(--ti-button-group-border-radius)}.tiny-button-group>.tiny-button:first-child:last-child.is-round{border-radius:calc(var(--ti-button-size-normal-height,30px)/ 2)}.tiny-button-group>.tiny-button:first-child:last-child.is-circle{border-radius:50%}.tiny-button-group>.tiny-button:not(:first-child):not(:last-child){border-radius:0;border-left-color:var(--ti-button-group-info-border-color);border-right-color:var(--ti-button-group-info-border-color)}.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default{border-left-color:var(--ti-button-group-border-color);border-right-color:var(--ti-button-group-border-color)}.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default:active,.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default:focus,.tiny-button-group>.tiny-button:not(:first-child):not(:last-child).tiny-button--default:hover{border-left-color:var(--ti-button-group-hover-border-color);border-right-color:var(--ti-button-group-hover-border-color);z-index:1}.tiny-button-group>.tiny-button:not(:last-child){margin-right:-1px}.tiny-button-group>.tiny-button>.tiny-dropdown>.tiny-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--ti-button-group-info-border-color)}.tiny-button-group.tiny-button-group--mini li:first-child button{border-radius:var(--ti-button-group-mini-side-border-radius) var(--ti-button-group-mini-right-border-radius) var(--ti-button-group-mini-right-border-radius) var(--ti-button-group-mini-side-border-radius)}.tiny-button-group.tiny-button-group--mini li:last-child button{border-radius:var(--ti-button-group-mini-left-border-radius) var(--ti-button-group-mini-side-border-radius) var(--ti-button-group-mini-side-border-radius) var(--ti-button-group-mini-left-border-radius)}.tiny-button-group.tiny-button-group--mini li:not(:last-child){margin-right:var(--ti-button-group-mini-margin-right)}.tiny-button-group.tiny-button-group--mini li button{font-size:var(--ti-button-group-mini-font-size);padding:0 var(--ti-button-group-mini-padding-horizontal);border-radius:var(--ti-button-group-mini-border-radius)}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li button{border:1px solid transparent;background:0 0}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li:hover button:not(.disabled){background-color:var(--ti-button-group-no-border-hover-bg-color);border-color:var(--ti-button-group-no-border-hover-border-color)}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li.active:hover button:not(.disabled){background-color:var(--ti-button-group-no-border-active-hover-bg-color);border-color:var(--ti-button-group-no-border-border-color)}.tiny-button-group.tiny-button-group--borderless .tiny-group-item li button.disabled{background-color:var(--ti-button-group-no-border-disabled-bg-color)}.tiny-dropdown-item{--ti-dropdown-item-height:30px;--ti-dropdown-item-hover-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-dropdown-item-bg-color-selected:var(--ti-common-color-selected-background, #5e7ce0);--ti-dropdown-item-font-weight-selected:var(--ti-common-font-weight-4, normal);--ti-dropdown-item-text-color-selected:var(--ti-common-color-text-white, #fff);--ti-dropdown-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-dropdown-item-active-bg-color:var(--ti-common-color-bg-emphasize, #5e7ce0);--ti-dropdown-item-active-text-color:var(--ti-common-color-text-white, #fff);--ti-dropdown-item-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-dropdown-item-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-dropdown-item-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-item-line-height:var(--ti-common-line-height-number, 1.5);--ti-dropdown-item-padding-vertical:var(--ti-common-space-6, 6px);--ti-dropdown-item-padding-horizontal:var(--ti-common-space-5x, 20px);--ti-dropdown-item-margin-bottom:var(--ti-common-space-0, 0px);--ti-dropdown-item-margin-left:var(--ti-common-space-0, 0px);--ti-dropdown-item-margin-right:var(--ti-common-space-0, 0px);--ti-dropdown-item-margin-top:var(--ti-common-space-0, 0px);--ti-dropdown-item-border-radius:var(--ti-common-border-radius-0, 0px);--ti-dropdown-item-max-width:var(--ti-common-size-33x, 132px);--ti-dropdown-item-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-dropdown-item-icon-color-hover:var(--ti-common-color-icon-hover, #5e7ce0);--ti-dropdown-item-icon-color-active:var(--ti-common-color-icon-white, #fff);--ti-dropdown-item-icon-color-disabled:var(--ti-common-color-icon-disabled, #adb0b8);--ti-dropdown-item-expand-svg-margin-left:calc(-1 * (var(--ti-common-space-base, 4px) + var(--ti-dropdown-item-expand-icon-size)));--ti-dropdown-item-expand-svg-margin-right:var(--ti-common-space-0, 0px);--ti-dropdown-item-content-margin-left:var(--ti-common-space-0, 0px);--ti-dropdown-item-content-font-weight-hover:var(--ti-common-font-weight-4, normal);--ti-dropdown-item-content-text-hover:var(--ti-common-color-text-highlight);--ti-dropdown-item-content-bg-hover:var(--ti-common-color-bg-white-emphasize);--ti-dropdown-item-divided-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-dropdown-item-divided-border-style:var(--ti-common-border-style-solid, solid);--ti-dropdown-item-divided-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-dropdown-item-before-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-dropdown-item-before-margin-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-medium-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-small-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-mini-before-margin-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-item-before-height:6px;--ti-dropdown-item-medium-before-height:6px;--ti-dropdown-item-small-before-height:var(--ti-common-size-base, 4px);--ti-dropdown-item-mini-before-height:3px;--ti-dropdown-item-medium-line-height:var(--ti-common-size-height-normal, 28px);--ti-dropdown-item-medium-font-size:var(--ti-common-font-size-1, 14px);--ti-dropdown-item-medium-padding-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-medium-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-dropdown-item-medium-divided-margin-top:var(--ti-common-space-6, 6px);--ti-dropdown-item-small-line-height:var(--ti-common-line-height-5, 24px);--ti-dropdown-item-small-padding-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-small-padding-horizontal:var(--ti-common-space-4x, 16px);--ti-dropdown-item-small-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-item-small-divided-margin-top:var(--ti-common-space-base, 4px);--ti-dropdown-item-mini-line-height:var(--ti-common-line-height-5, 24px);--ti-dropdown-item-mini-padding-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-item-mini-padding-horizontal:var(--ti-common-space-10, 10px);--ti-dropdown-item-mini-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-item-mini-divided-margin-top:calc(var(--ti-common-space-1, 1px) * 3);--ti-dropdown-item-expand-icon-size:8px;list-style:none;font-size:var(--ti-dropdown-item-font-size);color:var(--ti-dropdown-item-text-color);cursor:pointer;outline:0;position:relative;word-break:break-all;max-width:var(--ti-dropdown-item-max-width)}.tiny-dropdown-item[class*=tiny-]{margin:var(--ti-dropdown-item-margin-top) var(--ti-dropdown-item-margin-right) var(--ti-dropdown-item-margin-bottom) var(--ti-dropdown-item-margin-left)}.tiny-dropdown-item[class*=tiny-]:last-of-type{margin-bottom:0}.tiny-dropdown-item__wrap{line-height:var(--ti-dropdown-item-line-height);padding:var(--ti-dropdown-item-padding-vertical) var(--ti-dropdown-item-padding-horizontal);height:var(--ti-dropdown-item-height);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-dropdown-item__wrap .tiny-dropdown-item--child{position:absolute;right:100%;top:0;display:none}.tiny-dropdown-item__wrap .tiny-dropdown-item__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-dropdown-item__wrap .tiny-dropdown-item__expand .tiny-svg{fill:var(--ti-dropdown-item-icon-color);font-size:var(--ti-dropdown-item-expand-icon-size);margin-left:var(--ti-dropdown-item-expand-svg-margin-left);margin-right:var(--ti-dropdown-item-expand-svg-margin-right)}.tiny-dropdown-item__wrap .tiny-dropdown-item__expand+.tiny-dropdown-item__content{margin-left:0}.tiny-dropdown-item__wrap .tiny-dropdown-item__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.tiny-dropdown-item__wrap .tiny-dropdown-item__content .tiny-dropdown-item__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-dropdown-item__wrap .tiny-dropdown-item__content .tiny-svg{margin-right:4px;fill:var(--ti-dropdown-item-icon-color)}.tiny-dropdown-item:focus,.tiny-dropdown-item:not(.is-disabled):hover{background-color:var(--ti-dropdown-item-hover-bg-color);color:var(--ti-dropdown-item-hover-text-color);border-radius:var(--ti-dropdown-item-border-radius)}.tiny-dropdown-item:focus>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content .tiny-svg,.tiny-dropdown-item:focus>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand .tiny-svg,.tiny-dropdown-item:not(.is-disabled):hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content .tiny-svg,.tiny-dropdown-item:not(.is-disabled):hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand .tiny-svg{fill:var(--ti-dropdown-item-icon-color-hover)}.tiny-dropdown-item:focus>.tiny-dropdown-item__wrap>.tiny-dropdown-item--child,.tiny-dropdown-item:not(.is-disabled):hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item--child{display:block}.tiny-dropdown-item:not(.is-disabled):active{background-color:var(--ti-dropdown-item-active-bg-color);color:var(--ti-dropdown-item-active-text-color);border-radius:var(--ti-dropdown-item-border-radius)}.tiny-dropdown-item:not(.is-disabled):active>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content .tiny-svg,.tiny-dropdown-item:not(.is-disabled):active>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand .tiny-svg{fill:var(--ti-dropdown-item-icon-color-active)}.tiny-dropdown-item:not(.is-disabled).has-children:hover{color:var(--ti-dropdown-item-content-text-hover);background-color:var(--ti-dropdown-item-content-bg-hover)}.tiny-dropdown-item:not(.is-disabled).has-children:hover>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content{font-weight:var(--ti-dropdown-item-content-font-weight-hover)}.tiny-dropdown-item.is-disabled{cursor:not-allowed;color:var(--ti-dropdown-item-disabled-text-color)}.tiny-dropdown-item.is-disabled>.tiny-dropdown-item__wrap>.tiny-dropdown-item__content svg,.tiny-dropdown-item.is-disabled>.tiny-dropdown-item__wrap>.tiny-dropdown-item__expand svg{fill:var(--ti-dropdown-item-icon-color-disabled)}.tiny-dropdown-item--divided{position:relative;border-top:var(--ti-dropdown-item-divided-border-weight) var(--ti-dropdown-item-divided-border-style) var(--ti-dropdown-item-divided-border-color)}.tiny-dropdown-item--divided:before{content:'';height:var(--ti-dropdown-item-before-height);display:block;margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-before-margin-horizontal);background-color:var(--ti-dropdown-item-before-bg-color)}.tiny-dropdown-item--check-status{background-color:var(--ti-dropdown-item-bg-color-selected);color:var(--ti-dropdown-item-text-color-selected);font-weight:var(--ti-dropdown-item-font-weight-selected)}.tiny-fade-enter-active{-webkit-animation:.3s mobile-fade-in both ease-out;animation:.3s mobile-fade-in both ease-out}.tiny-fade-leave-active{-webkit-animation:.3s mobile-fade-out both ease-in;animation:.3s mobile-fade-out both ease-in}.tiny-overlay{position:fixed;top:0;left:0;z-index:1;width:100%;height:100%;background-color:rgba(0,0,0,.7)}.tiny-overflow-hidden{overflow:hidden!important}.tiny-popup{position:fixed;max-height:100%;overflow-y:auto;background-color:#fff;-webkit-overflow-scrolling:touch;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.tiny-popup--center{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);left:50%;top:50%}.tiny-popup--center.tiny-popup--round{border-radius:20px}.tiny-popup--top{top:0;left:0;width:100%}.tiny-popup--top.tiny-popup--round{border-radius:0 0 20px 20px}.tiny-popup--right{top:50%;right:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.tiny-popup--right.tiny-popup--round{border-radius:20px 0 0 20px}.tiny-popup--bottom{bottom:0;left:0;width:100%}.tiny-popup--bottom.tiny-popup--round{border-radius:20px 20px 0 0}.tiny-popup--left{top:50%;left:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.tiny-popup--left.tiny-popup--round{border-radius:0 20px 20px 0}.tiny-popup--safe-area-inset-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.tiny-popup-slide-top-enter,.tiny-popup-slide-top-leave-active{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.tiny-popup-slide-right-enter,.tiny-popup-slide-right-leave-active{-webkit-transform:translate3d(100%,-50%,0);transform:translate3d(100%,-50%,0)}.tiny-popup-slide-bottom-enter,.tiny-popup-slide-bottom-leave-active{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.tiny-popup-slide-left-enter,.tiny-popup-slide-left-leave-active{-webkit-transform:translate3d(-100%,-50%,0);transform:translate3d(-100%,-50%,0)}.tiny-popup__close-icon{position:absolute;z-index:1;color:#c8c9cc;font-size:22px;cursor:pointer}.tiny-popup__close-icon:active{color:#969799}.tiny-popup__close-icon--top-left{top:16px;left:16px}.tiny-popup__close-icon--top-right{top:16px;right:16px}.tiny-popup__close-icon--bottom-left{bottom:16px;left:16px}.tiny-popup__close-icon--bottom-right{right:16px;bottom:16px}@-webkit-keyframes mobile-fade-in{from{opacity:0}to{opacity:1}}@keyframes mobile-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes mobile-fade-out{from{opacity:1}to{opacity:0}}@keyframes mobile-fade-out{from{opacity:1}to{opacity:0}}.tiny-mobile-dropdown-item{position:fixed;right:0;left:0;z-index:10;overflow:hidden}.tiny-mobile-dropdown-item--up{top:0}.tiny-mobile-dropdown-item--down{bottom:0}.tiny-mobile-dropdown-item__content{position:absolute}.tiny-mobile-dropdown-item__cell{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;overflow:hidden;font-size:14px;background-color:#fff}.tiny-mobile-dropdown-item__option{height:48px;line-height:48px;padding:0 16px;text-align:left;outline:0;cursor:pointer}.tiny-mobile-dropdown-item__option:after{content:' ';display:block;height:1px;width:100%;margin-left:16px;border-top:1px solid #ddd;color:#ddd;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:0 0;transform-origin:0 0;position:absolute;top:auto;right:auto;bottom:0;left:0}.tiny-mobile-dropdown-item__option-title{position:relative;overflow:hidden;color:#333;-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-mobile-dropdown-item__option-value{padding-left:8px;font-size:16px}.tiny-mobile-dropdown-item__option.is-active .tiny-mobile-dropdown-item__option-title{color:#f36f64}.tiny-mobile-dropdown-item__filter{max-height:408px;overflow:hidden}.tiny-mobile-dropdown-item__filter-wrap{width:100%;height:calc(100% - 76px);padding:16px 12px 0 16px;overflow:hidden;overflow-y:auto}.tiny-mobile-dropdown-item__filter-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.tiny-mobile-dropdown-item__filter-item:not(:first-child){margin-top:22px}.tiny-mobile-dropdown-item__filter-title{display:block;color:#666}.tiny-mobile-dropdown-item__filter .tiny-mobile-dropdown-item__filter-li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:32px;padding:0 16px;border-radius:2px;margin:8px 8px 8px 0;color:#333;background:#f5f5f5}.tiny-mobile-dropdown-item__filter .tiny-mobile-dropdown-item__filter-li.checked{padding:0 15px;background:#fff}.tiny-mobile-dropdown-item__filter-operate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:column;-ms-flex-positive:column;flex-grow:column;padding:16px;border-top:1px solid #ddd}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dropdown-item__filter-operate{border-top:none;position:relative}html:not([data-scale]) .tiny-mobile-dropdown-item__filter-operate::before{content:'';z-index:1;display:block;background-color:#ddd;position:absolute;right:auto;left:0;bottom:auto;top:0;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dropdown-item__filter-operate::before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-dropdown-item__filter-operate button{width:50%;-webkit-box-flex:1;-ms-flex:1;flex:1}.tiny-mobile-dropdown-item__filter-operate button:first-child{margin-right:16px}.tiny-dropdown-menu{--ti-dropdown-menu-border-width:0;--ti-dropdown-menu-border-color:var(--ti-common-color-light, #fff);--ti-dropdown-menu-box-shadow:var(--ti-common-shadow-2-down, 0 2px 8px 0 rgba(0, 0, 0, 0.2));--ti-dropdown-menu-bg-color:var(--ti-common-color-bg-white-normal, #fff);--ti-dropdown-menu-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-dropdown-menu-min-width:var(--ti-common-size-9x, 36px);--ti-dropdown-menu-margin-vertical:var(--ti-common-space-base, 4px);--ti-dropdown-menu-padding-vertical:var(--ti-common-space-base, 4px);--ti-dropdown-menu-padding-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-menu-medium-padding-vertical:var(--ti-common-space-6, 6px);--ti-dropdown-menu-medium-padding-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-menu-small-padding-vertical:var(--ti-common-space-6, 6px);--ti-dropdown-menu-small-padding-horizontal:var(--ti-common-space-0, 0px);--ti-dropdown-menu-arrow-border-width:6px;--ti-dropdown-menu-arrow-margin-bottom:12px;--ti-dropdown-menu-arrow-margin-top:12px;--ti-dropdown-menu-arrow-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-dropdown-menu-arrow-after-border-color:var(--ti-common-color-light, #fff);--ti-dropdown-menu-arrow-after-default-border-color:var(--ti-common-color-transparent, transparent);position:absolute;padding:var(--ti-dropdown-menu-padding-vertical) var(--ti-dropdown-menu-padding-horizontal);background-color:var(--ti-dropdown-menu-bg-color);border-radius:var(--ti-dropdown-menu-border-radius);-webkit-box-shadow:var(--ti-dropdown-menu-box-shadow);box-shadow:var(--ti-dropdown-menu-box-shadow);width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:var(--ti-dropdown-menu-min-width);margin:var(--ti-dropdown-menu-margin-vertical) 0;border:var(--ti-dropdown-menu-border-width) solid var(--ti-dropdown-menu-border-color)}.tiny-dropdown-menu .tiny-dropdown-menu{padding:var(--ti-dropdown-menu-padding-vertical) var(--ti-dropdown-menu-padding-horizontal)}.tiny-dropdown-menu:has(.has-children) li:not(.has-children) .tiny-dropdown-item__content{margin-left:var(--ti-dropdown-item-content-margin-left)}.tiny-dropdown-menu.tiny-popper .popper__arrow,.tiny-dropdown-menu.tiny-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:var(--ti-dropdown-menu-arrow-after-default-border-color);border-style:solid}.tiny-dropdown-menu.tiny-popper .popper__arrow{border-width:var(--ti-dropdown-menu-arrow-border-width);-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.tiny-dropdown-menu.tiny-popper .popper__arrow::after{content:' ';border-width:var(--ti-dropdown-menu-arrow-border-width)}.tiny-dropdown-menu.tiny-popper[x-placement^=top]{margin-bottom:var(--ti-dropdown-menu-arrow-margin-bottom)}.tiny-dropdown-menu.tiny-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:var(--ti-dropdown-menu-arrow-border-color);border-bottom-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:var(--ti-dropdown-menu-arrow-after-border-color);border-bottom-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=bottom]{margin-top:var(--ti-dropdown-menu-arrow-margin-top)}.tiny-dropdown-menu.tiny-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:var(--ti-dropdown-menu-arrow-border-color)}.tiny-dropdown-menu.tiny-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:var(--ti-dropdown-menu-arrow-after-border-color)}.tiny-dropdown-menu.tiny-popper[x-placement^=right]{margin-left:12px}.tiny-dropdown-menu.tiny-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:var(--ti-dropdown-menu-arrow-border-color);border-left-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:var(--ti-dropdown-menu-arrow-after-border-color);border-left-width:0}.tiny-dropdown-menu.tiny-popper[x-placement^=left]{margin-right:12px}.tiny-dropdown-menu.tiny-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:var(--ti-dropdown-menu-arrow-border-color)}.tiny-dropdown-menu.tiny-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:var(--ti-dropdown-menu-arrow-after-border-color)}.tiny-dropdown-menu--medium{padding:var(--ti-dropdown-menu-medium-padding-vertical) var(--ti-dropdown-menu-medium-padding-horizontal)}.tiny-dropdown-menu--medium .tiny-dropdown-item{line-height:var(--ti-dropdown-item-medium-line-height);font-size:var(--ti-dropdown-item-medium-font-size)}.tiny-dropdown-menu--medium .tiny-dropdown-item.tiny-dropdown-item--divided{margin-top:var(--ti-dropdown-item-medium-divided-margin-top)}.tiny-dropdown-menu--medium .tiny-dropdown-item.tiny-dropdown-item--divided:before{height:var(--ti-dropdown-item-medium-before-height);margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-medium-before-margin-horizontal)}.tiny-dropdown-menu--small{padding:var(--ti-dropdown-menu-small-padding-vertical) var(--ti-dropdown-menu-small-padding-horizontal)}.tiny-dropdown-menu--small .tiny-dropdown-item{line-height:var(--ti-dropdown-item-small-line-height);font-size:var(--ti-dropdown-item-small-font-size)}.tiny-dropdown-menu--small .tiny-dropdown-item.tiny-dropdown-item--divided{margin-top:var(--ti-dropdown-item-small-divided-margin-top)}.tiny-dropdown-menu--small .tiny-dropdown-item.tiny-dropdown-item--divided:before{height:var(--ti-dropdown-item-small-before-height);margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-small-before-margin-horizontal)}.tiny-dropdown-menu--mini{padding:3px 0}.tiny-dropdown-menu--mini .tiny-dropdown-item{line-height:var(--ti-dropdown-item-mini-line-height);font-size:var(--ti-dropdown-item-mini-font-size)}.tiny-dropdown-menu--mini .tiny-dropdown-item.tiny-dropdown-item--divided{margin-top:var(--ti-dropdown-item-mini-divided-margin-top)}.tiny-dropdown-menu--mini .tiny-dropdown-item.tiny-dropdown-item--divided:before{height:var(--ti-dropdown-item-small-before-height);margin:var(--ti-dropdown-item-before-margin-vertical) var(--ti-dropdown-item-mini-before-margin-horizontal)}.tiny-mobile-dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-mobile-dropdown-menu__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:40px;outline:0;cursor:pointer}.tiny-mobile-dropdown-menu__item:active{opacity:.7}.tiny-mobile-dropdown-menu__item.is-disabled:active{opacity:1}.tiny-mobile-dropdown-menu__item.is-disabled .tiny-mobile-dropdown-menu__title{color:#969799}.tiny-mobile-dropdown-menu__title{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;padding-left:16px;color:#666;font-size:14px;line-height:1}.tiny-mobile-dropdown-menu__title-wrap .tiny-svg{font-size:10px}.tiny-mobile-dropdown-menu__title-wrap .tiny-svg.filter-icon{font-size:16px}.tiny-mobile-dropdown-menu__title-icon{position:relative;height:18px;display:inline-block;vertical-align:text-bottom}.tiny-mobile-dropdown-menu__title-icon .up{position:absolute;top:0}.tiny-mobile-dropdown-menu__title-icon .down{position:absolute;bottom:0}.tiny-mobile-dropdown-menu__title-text{position:relative;width:auto;max-width:calc(100% - 16px);margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1}.tiny-mobile-dropdown-menu__title.is-active{color:#f36f64}.tiny-mobile-dropdown-menu__title.is-down::after{margin-top:-1px;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-mobile-dropdown-menu__bar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#fff;border-bottom:1px solid #ccc}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){html:not([data-scale]) .tiny-mobile-dropdown-menu__bar{border-bottom:none;position:relative}html:not([data-scale]) .tiny-mobile-dropdown-menu__bar::after{content:'';z-index:1;display:block;background-color:#ccc;position:absolute;right:auto;left:0;bottom:0;top:auto;height:1px;width:100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@media (-webkit-min-device-pixel-ratio:2) and (-webkit-min-device-pixel-ratio:3),(min-resolution:2dppx) and (min-resolution:3dppx){html:not([data-scale]) .tiny-mobile-dropdown-menu__bar::after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.tiny-mobile-dropdown-menu__bar--opened{z-index:11}.tiny-dropdown{--ti-dropdown-font-size:var(--ti-common-font-size-base, 12px);--ti-dropdown-text-color:var(--ti-common-color-text-link, #526ecc);--ti-dropdown-text-color-hover:var(--ti-common-color-text-link-hover, #344899);--ti-dropdown-line-height:var(--ti-common-line-height-number, 1.5);--ti-dropdown-icon-size:10px;--ti-dropdown-icon-color:var(--ti-common-color-text-link, #526ecc);--ti-dropdown-icon-color-hover:var(--ti-common-color-text-link-hover, #344899);--ti-dropdown-trigger-only-svg-width:var(--ti-common-size-5x);--ti-dropdown-trigger-only-svg-height:var(--ti-common-size-5x);--ti-dropdown-trigger-only-svg-hover-bg-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-dropdown-trigger-only-svg-hover-radius:var(--ti-common-border-radius-normal);--ti-dropdown-button-icon-color:var(--ti-common-color-icon-white, #fff);--ti-dropdown-button-icon-size:var(--ti-common-font-size-1, 14px);--ti-dropdown-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-dropdown-trigger-title-margin-right:var(--ti-common-space-base, 4px);--ti-dropdown-trigger-svg-margin-left:var(--ti-common-space-base, 4px);--ti-dropdown-trigger-svg-margin-top:1px;--ti-dropdown-trigger-svg-margin-bottom:1px;--ti-dropdown-caret-button-padding-left:var(--ti-common-space-base, 4px);--ti-dropdown-caret-button-padding-right:var(--ti-common-space-base, 4px);--ti-dropdown-caret-button-min-width:var(--ti-common-size-6x, 24px);--ti-dropdown-caret-line-bg-color:var(--ti-common-color-light, #fff);--ti-dropdown-caret-line-margin-top:var(--ti-common-space-base, 4px);--ti-dropdown-caret-line-margin-bottom:var(--ti-common-space-base, 4px);--ti-dropdown-caret-line-margin-top-hover:var(--ti-common-space-0, 0px);--ti-dropdown-caret-line-margin-bottom-hover:var(--ti-common-space-0, 0px);--ti-dropdown-caret-line-width:var(--ti-common-border-weight-normal, 1px);--ti-dropdown-caret-line-bg-color-default:var(--ti-common-color-line-normal, #adb0b8);--ti-dropdown-caret-line-bg-color-default-hover:var(--ti-common-color-line-active, #5e7ce0);--ti-dropdown-caret-svg-margin-vertical:var(--ti-common-space-0, 0px);--ti-dropdown-caret-svg-margin-horizontal:var(--ti-common-space-base, 4px);--ti-dropdown-caret-svg-padding-left:var(--ti-common-space-0, 0px);--ti-dropdown-title-button-padding-right:var(--ti-common-space-5x, 20px);--ti-dropdown-title-button-padding-left:var(--ti-common-space-5x, 20px);display:inline-block;position:relative;color:var(--ti-dropdown-text-color);font-size:var(--ti-dropdown-font-size)}.tiny-dropdown span{display:inline-block}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button) .tiny-svg{margin-top:var(--ti-dropdown-trigger-svg-margin-top);margin-bottom:var(--ti-dropdown-trigger-svg-margin-bottom);vertical-align:top}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button):not(:has(.tiny-dropdown__title))>.tiny-dropdown__suffix-inner .tiny-svg{width:var(--ti-dropdown-trigger-only-svg-width);height:var(--ti-dropdown-trigger-only-svg-height);margin:2px}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-button):not(:has(.tiny-dropdown__title))>.tiny-dropdown__suffix-inner:hover{background-color:var(--ti-dropdown-trigger-only-svg-hover-bg-color);border-radius:var(--ti-dropdown-trigger-only-svg-hover-radius)}.tiny-dropdown .tiny-dropdown__trigger .tiny-dropdown__title{line-height:var(--ti-dropdown-line-height);margin-right:var(--ti-dropdown-trigger-title-margin-right)}.tiny-dropdown .tiny-dropdown__trigger .tiny-svg{fill:var(--ti-dropdown-icon-color);font-size:var(--ti-dropdown-icon-size)}.tiny-dropdown .tiny-dropdown__trigger.tiny-button .tiny-svg{fill:var(--ti-dropdown-button-icon-color);font-size:var(--ti-dropdown-button-icon-size);margin-left:var(--ti-dropdown-trigger-svg-margin-left)}.tiny-dropdown .tiny-dropdown__trigger.tiny-button--default .tiny-svg{fill:var(--ti-button-normal-text-color)}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-dropdown__caret-button):not(.is-disabled):hover{color:var(--ti-dropdown-text-color-hover)}.tiny-dropdown .tiny-dropdown__trigger:not(.tiny-dropdown__caret-button):not(.is-disabled):hover .tiny-svg{fill:var(--ti-dropdown-icon-color-hover)}.tiny-dropdown .tiny-dropdown__trigger.is-disabled{cursor:not-allowed;color:var(--ti-dropdown-text-color-disabled)}.tiny-dropdown .tiny-dropdown__trigger.is-disabled .tiny-svg{fill:var(--ti-dropdown-text-color-disabled)}.tiny-dropdown .tiny-dropdown__border .tiny-dropdown__title{line-height:var(--ti-dropdown-line-height);margin-right:var(--ti-dropdown-trigger-title-margin-right)}.tiny-dropdown .tiny-button-group{display:block}.tiny-dropdown .tiny-button-group .tiny-button{float:none}.tiny-dropdown .tiny-button-group .tiny-button--medium+.tiny-button.tiny-button--medium{margin-left:0}.tiny-dropdown .tiny-button-group .tiny-button--small+.tiny-button.tiny-button--small{margin-left:0}.tiny-dropdown .tiny-dropdown__title-button{padding-left:var(--ti-dropdown-title-button-padding-left);padding-right:var(--ti-dropdown-title-button-padding-right)}.tiny-dropdown .tiny-dropdown__title-button.is-disabled.tiny-button--default:hover{z-index:0}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button{padding-left:var(--ti-dropdown-caret-button-padding-left);padding-right:var(--ti-dropdown-caret-button-padding-right);position:relative;border-left:none;min-width:var(--ti-dropdown-caret-button-min-width);line-height:1}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button:before{content:'';position:absolute;display:block;width:var(--ti-dropdown-caret-line-width);top:0;bottom:0;left:0;margin-top:var(--ti-dropdown-caret-line-margin-top);margin-bottom:var(--ti-dropdown-caret-line-margin-bottom);background-color:var(--ti-dropdown-caret-line-bg-color)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button.tiny-button--default:before{background:var(--ti-dropdown-caret-line-bg-color-default)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button.tiny-button--default:hover:not(.is-disabled):before{background-color:var(--ti-dropdown-caret-line-bg-color-default-hover)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button:hover:not(.is-disabled):before{margin-top:var(--ti-dropdown-caret-line-margin-top-hover);margin-bottom:var(--ti-dropdown-caret-line-margin-bottom-hover)}.tiny-dropdown .tiny-dropdown__trigger.tiny-dropdown__caret-button .tiny-svg{padding-left:var(--ti-dropdown-caret-svg-padding-left);margin:var(--ti-dropdown-caret-svg-margin-vertical) var(--ti-dropdown-caret-svg-margin-horizontal)}.tiny-dropdown .tiny-dropdown-selfdefine:focus:active,.tiny-dropdown .tiny-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.tiny-dropdown:hover{cursor:pointer}.tiny-dropdown--visible{-webkit-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:center;transform-origin:center}.tiny-mobile-tag{--ti-mobile-tag-color-default:var(--ti-mobile-color-text-primary, #191919);--ti-mobile-tag-color-red:var(--ti-mobile-color-eror, #f23030);--ti-mobile-tag-color-blue:var(--ti-mobile-color-info, #1476ff);--ti-mobile-tag-color-yellow:var(--ti-mobile-color-warning, #d96900);--ti-mobile-tag-color-green:var(--ti-mobile-color-success, #5cb300);--ti-mobile-tag-bg-color-default:var(--ti-mobile-color-bg-disabled, #f0f0f0);--ti-mobile-tag-bg-color-red:var(--ti-mobile-color-error-subtle, #fce3e1);--ti-mobile-tag-bg-color-blue:var(--ti-mobile-color-info-subtle, #deecff);--ti-mobile-tag-bg-color-yellow:var(--ti-mobile-color-warning-subtle, #ffebd1);--ti-mobile-tag-bg-color-green:var(--ti-mobile-color-success-subtle, #e6f2d5);--ti-mobile-tag-height-default:var(--ti-mobile-space-6x, 24px);--ti-mobile-tag-height-mini:calc(var(--ti-mobile-space-4x) + 2px);--ti-mobile-tag-font-size-default:var(--ti-mobile-font-size-m, 14px);--ti-mobile-tag-font-size-mini:var(--ti-mobile-font-size-s, 12px);--ti-mobile-tag-padding-default:var(--ti-mobile-space-2x, 8px);--ti-mobile-tag-padding-mini:var(--ti-mobile-space-1x, 4px);--ti-mobile-tag-border-radius-default:var(--ti-mobile-border-radius-s, 4px);--ti-mobile-tag-border-radius-mini:var(--ti-mobile-border-radius-xs, 2px);line-height:var(--ti-mobile-tag-height-default);padding:0 var(--ti-mobile-tag-padding-default);text-align:center;font-size:var(--ti-mobile-tag-font-size-default);color:var(--ti-mobile-tag-color-default);background-color:var(--ti-mobile-tag-bg-color-default);display:inline-block;border-radius:var(--ti-mobile-tag-border-radius-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiny-mobile-tag-mini{line-height:var(--ti-mobile-tag-height-mini);padding:0 var(--ti-mobile-tag-padding-mini);font-size:var(--ti-mobile-tag-font-size-mini);border-radius:var(--ti-mobile-tag-border-radius-mini)}.tiny-mobile-tag-red{color:var(--ti-mobile-tag-color-red);background-color:var(--ti-mobile-tag-bg-color-red)}.tiny-mobile-tag-blue{color:var(--ti-mobile-tag-color-blue);background-color:var(--ti-mobile-tag-bg-color-blue)}.tiny-mobile-tag-yellow{color:var(--ti-mobile-tag-color-yellow);background-color:var(--ti-mobile-tag-bg-color-yellow)}.tiny-mobile-tag-green{color:var(--ti-mobile-tag-color-green);background-color:var(--ti-mobile-tag-bg-color-green)}.tiny-tag{--ti-tag-height:calc(var(--ti-common-size-base, 4px) * 5.5);--ti-tag-medium-height:var(--ti-common-size-6x, 24px);--ti-tag-medium-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-tag-medium-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tag-small-height:var(--ti-common-line-height-4, 20px);--ti-tag-small-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-tag-mini-height:var(--ti-common-size-4x, 16px);--ti-tag-border-weight:var(--ti-common-border-weight-normal, 1px);--ti-tag-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tag-small-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-tag-font-size:var(--ti-common-font-size-base, 12px);--ti-tag-close-font-size:var(--ti-common-font-size-1, 14px);--ti-tag-close-margin-left:var(--ti-common-space-6, 6px);--ti-tag-close-margin-right:var(--ti-common-space-0, 0px);--ti-tag-close-medium-margin-left:var(--ti-common-space-6, 6px);--ti-tag-close-medium-margin-right:var(--ti-common-space-0, 0px);--ti-tag-close-small-margin-left:var(--ti-common-space-6, 6px);--ti-tag-close-small-margin-right:var(--ti-common-space-0, 0px);--ti-tag-primary-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tag-primary-close-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tag-primary-close-hover-icon-color:var(--ti-common-color-text-secondary, #575d6c);--ti-tag-primary-close-opacity:0.5;--ti-tag-primary-border-color:var(--ti-common-color-bg-normal, #eef0f5);--ti-tag-primary-background-color:var(--ti-common-color-bg-normal, #eef0f5);--ti-tag-warning-text-color:var(--ti-common-color-warn-text, #e37d29);--ti-tag-warning-border-color:var(--ti-common-color-warn-border, #ffd0a6);--ti-tag-warning-background-color:var(--ti-common-color-warn-bg, #fff3e8);--ti-tag-danger-text-color:var(--ti-common-color-error-text, #de504e);--ti-tag-danger-border-color:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-tag-danger-background-color:var(--ti-common-color-error-bg, #ffeeed);--ti-tag-success-text-color:var(--ti-common-color-text-success, #3ac295);--ti-tag-success-border-color:var(--ti-common-color-success-border, #acf2dc);--ti-tag-success-background-color:var(--ti-common-color-success-bg, #edfff9);--ti-tag-info-text-color:var(--ti-common-color-text-primary, #252b3a);--ti-tag-info-border-color:var(--ti-common-color-info-border, #d3d4d6);--ti-tag-info-background-color:var(--ti-common-color-info-bg, rgba(51, 51, 51, 0.06));--ti-tag-dark-text-color:var(--ti-common-color-light, #fff);--ti-tag-dark-bg-color:var(--ti-common-color-prompt, #5e7ce0);--ti-tag-dark-success-bg-color:var(--ti-common-color-success, #50d4ab);--ti-tag-dark-warning-bg-color:var(--ti-common-color-warn, #fa9841);--ti-tag-dark-danger-bg-color:var(--ti-common-color-error, #f66f6a);--ti-tag-dark-info-bg-color:var(--ti-common-color-info, #252b3a);--ti-tag-plain-text-color:var(--ti-common-color-prompt, #5e7ce0);--ti-tag-plain-border-color:var(--ti-common-color-prompt-border, #beccfa);--ti-tag-plain-background-color:var(--ti-common-color-light, #fff);--ti-tag-plain-info-text-color:var(--ti-common-color-info, #252b3a);--ti-tag-plain-info-border-color:var(--ti-common-color-info-border, #d3d4d6);--ti-tag-plain-success-text-color:var(--ti-common-color-success, #50d4ab);--ti-tag-plain-success-border-color:var(--ti-common-color-success-border, #acf2dc);--ti-tag-plain-warning-text-color:var(--ti-common-color-warn, #fa9841);--ti-tag-plain-warning-border-color:var(--ti-common-color-warn-border, #ffd0a6);--ti-tag-plain-danger-text-color:var(--ti-common-color-error, #f66f6a);--ti-tag-plain-danger-border-color:var(--ti-common-color-error-border-secondary, #ffbcba);--ti-tag-red-text-color:var(--ti-common-color-error-text);--ti-tag-red-bg-color:#fce3e0;--ti-tag-orange-text-color:#d96900;--ti-tag-orange-bg-color:var(--ti-common-color-warn-bg);--ti-tag-green-text-color:#029931;--ti-tag-green-bg-color:#d5f2dc;--ti-tag-blue-text-color:var(--ti-common-color-text-link);--ti-tag-blue-bg-color:var(--ti-common-color-prompt-bg);--ti-tag-purple-text-color:#832fd6;--ti-tag-purple-bg-color:#f4e0fc;--ti-tag-brown-text-color:#a64d00;--ti-tag-brown-bg-color:var(--ti-common-color-warn-bg);--ti-tag-grey-text-color:var(--ti-common-color-text-gray);--ti-tag-grey-bg-color:#e6e6e6;height:var(--ti-tag-height);line-height:var(--ti-tag-height);padding:0 8px;font-size:var(--ti-tag-font-size);border-width:var(--ti-tag-border-weight);border-radius:var(--ti-tag-border-radius);border-style:solid;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--ti-tag-primary-text-color);border-color:var(--ti-tag-primary-border-color);background-color:var(--ti-tag-primary-background-color)}.tiny-tag:not(.tiny-__close){fill:var(--ti-tag-primary-text-color)}.tiny-tag.is-hit{border-color:var(--ti-tag-primary-text-color)}.tiny-tag .tiny-tag__close{fill:var(--ti-tag-primary-text-color);opacity:.5}.tiny-tag .tiny-tag__close:hover{opacity:1}.tiny-tag .tiny-tag__close{font-size:var(--ti-tag-close-font-size);margin-left:var(--ti-tag-close-margin-left);margin-right:var(--ti-tag-close-margin-right);opacity:var(--ti-tag-primary-close-opacity);fill:var(--ti-tag-primary-close-icon-color)}.tiny-tag .tiny-tag__close:hover{cursor:pointer;fill:var(--ti-tag-primary-close-hover-icon-color)}.tiny-tag.tiny-tag--info{color:var(--ti-tag-info-text-color);border-color:var(--ti-tag-info-border-color);background-color:var(--ti-tag-info-background-color)}.tiny-tag.tiny-tag--info:not(.tiny-__close){fill:var(--ti-tag-info-text-color)}.tiny-tag.tiny-tag--info.is-hit{border-color:var(--ti-tag-info-text-color)}.tiny-tag.tiny-tag--info .tiny-tag__close{fill:var(--ti-tag-info-text-color);opacity:.5}.tiny-tag.tiny-tag--info .tiny-tag__close:hover{opacity:1}.tiny-tag.tiny-tag--success{color:var(--ti-tag-success-text-color);border-color:var(--ti-tag-success-border-color);background-color:var(--ti-tag-success-background-color)}.tiny-tag.tiny-tag--success:not(.tiny-__close){fill:var(--ti-tag-success-text-color)}.tiny-tag.tiny-tag--success.is-hit{border-color:var(--ti-tag-success-text-color)}.tiny-tag.tiny-tag--success .tiny-tag__close{fill:var(--ti-tag-success-text-color);opacity:.5}.tiny-tag.tiny-tag--success .tiny-tag__close:hover{opacity:1}.tiny-tag.tiny-tag--warning{color:var(--ti-tag-warning-text-color);border-color:var(--ti-tag-warning-border-color);background-color:var(--ti-tag-warning-background-color)}.tiny-tag.tiny-tag--warning:not(.tiny-__close){fill:var(--ti-tag-warning-text-color)}.tiny-tag.tiny-tag--warning.is-hit{border-color:var(--ti-tag-warning-text-color)}.tiny-tag.tiny-tag--warning .tiny-tag__close{fill:var(--ti-tag-warning-text-color);opacity:.5}.tiny-tag.tiny-tag--warning .tiny-tag__close:hover{opacity:1}.tiny-tag.tiny-tag--danger{color:var(--ti-tag-danger-text-color);border-color:var(--ti-tag-danger-border-color);background-color:var(--ti-tag-danger-background-color)}.tiny-tag.tiny-tag--danger:not(.tiny-__close){fill:var(--ti-tag-danger-text-color)}.tiny-tag.tiny-tag--danger.is-hit{border-color:var(--ti-tag-danger-text-color)}.tiny-tag.tiny-tag--danger .tiny-tag__close{fill:var(--ti-tag-danger-text-color);opacity:.5}.tiny-tag.tiny-tag--danger .tiny-tag__close:hover{opacity:1}.tiny-tag--dark{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-bg-color);background-color:var(--ti-tag-dark-bg-color)}.tiny-tag--dark.is-hit{border-color:var(--ti-tag-dark-bg-color)}.tiny-tag--dark .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--info{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-info-bg-color);background-color:var(--ti-tag-dark-info-bg-color)}.tiny-tag--dark.tiny-tag--info.is-hit{border-color:var(--ti-tag-dark-info-bg-color)}.tiny-tag--dark.tiny-tag--info .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--info .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--success{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-success-bg-color);background-color:var(--ti-tag-dark-success-bg-color)}.tiny-tag--dark.tiny-tag--success.is-hit{border-color:var(--ti-tag-dark-success-bg-color)}.tiny-tag--dark.tiny-tag--success .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--success .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--warning{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-warning-bg-color);background-color:var(--ti-tag-dark-warning-bg-color)}.tiny-tag--dark.tiny-tag--warning.is-hit{border-color:var(--ti-tag-dark-warning-bg-color)}.tiny-tag--dark.tiny-tag--warning .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--warning .tiny-tag__close:hover{opacity:1}.tiny-tag--dark.tiny-tag--danger{color:var(--ti-tag-dark-text-color);border-color:var(--ti-tag-dark-danger-bg-color);background-color:var(--ti-tag-dark-danger-bg-color)}.tiny-tag--dark.tiny-tag--danger.is-hit{border-color:var(--ti-tag-dark-danger-bg-color)}.tiny-tag--dark.tiny-tag--danger .tiny-tag__close{fill:var(--ti-tag-dark-text-color);opacity:.5}.tiny-tag--dark.tiny-tag--danger .tiny-tag__close:hover{opacity:1}.tiny-tag--plain{color:var(--ti-tag-plain-text-color);border-color:var(--ti-tag-plain-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain:not(.tiny-__close){fill:var(--ti-tag-plain-text-color)}.tiny-tag--plain.is-hit{border-color:var(--ti-tag-plain-text-color)}.tiny-tag--plain .tiny-tag__close{fill:var(--ti-tag-plain-text-color);opacity:.5}.tiny-tag--plain .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--info{color:var(--ti-tag-plain-info-text-color);border-color:var(--ti-tag-plain-info-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--info:not(.tiny-__close){fill:var(--ti-tag-plain-info-text-color)}.tiny-tag--plain.tiny-tag--info.is-hit{border-color:var(--ti-tag-plain-info-text-color)}.tiny-tag--plain.tiny-tag--info .tiny-tag__close{fill:var(--ti-tag-plain-info-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--info .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--success{color:var(--ti-tag-plain-success-text-color);border-color:var(--ti-tag-plain-success-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--success:not(.tiny-__close){fill:var(--ti-tag-plain-success-text-color)}.tiny-tag--plain.tiny-tag--success.is-hit{border-color:var(--ti-tag-plain-success-text-color)}.tiny-tag--plain.tiny-tag--success .tiny-tag__close{fill:var(--ti-tag-plain-success-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--success .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--warning{color:var(--ti-tag-plain-warning-text-color);border-color:var(--ti-tag-plain-warning-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--warning:not(.tiny-__close){fill:var(--ti-tag-plain-warning-text-color)}.tiny-tag--plain.tiny-tag--warning.is-hit{border-color:var(--ti-tag-plain-warning-text-color)}.tiny-tag--plain.tiny-tag--warning .tiny-tag__close{fill:var(--ti-tag-plain-warning-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--warning .tiny-tag__close:hover{opacity:1}.tiny-tag--plain.tiny-tag--danger{color:var(--ti-tag-plain-danger-text-color);border-color:var(--ti-tag-plain-danger-border-color);background-color:var(--ti-tag-plain-background-color)}.tiny-tag--plain.tiny-tag--danger:not(.tiny-__close){fill:var(--ti-tag-plain-danger-text-color)}.tiny-tag--plain.tiny-tag--danger.is-hit{border-color:var(--ti-tag-plain-danger-text-color)}.tiny-tag--plain.tiny-tag--danger .tiny-tag__close{fill:var(--ti-tag-plain-danger-text-color);opacity:.5}.tiny-tag--plain.tiny-tag--danger .tiny-tag__close:hover{opacity:1}.tiny-tag--red{color:var(--ti-tag-red-text-color);border-color:var(--ti-tag-red-text-color);background-color:var(--ti-tag-red-bg-color)}.tiny-tag--red:not(.tiny-__close){fill:var(--ti-tag-red-text-color)}.tiny-tag--red.is-hit{border-color:var(--ti-tag-red-text-color)}.tiny-tag--red .tiny-tag__close{fill:var(--ti-tag-red-text-color);opacity:.5}.tiny-tag--red .tiny-tag__close:hover{opacity:1}.tiny-tag--orange{color:var(--ti-tag-orange-text-color);border-color:var(--ti-tag-orange-text-color);background-color:var(--ti-tag-orange-bg-color)}.tiny-tag--orange:not(.tiny-__close){fill:var(--ti-tag-orange-text-color)}.tiny-tag--orange.is-hit{border-color:var(--ti-tag-orange-text-color)}.tiny-tag--orange .tiny-tag__close{fill:var(--ti-tag-orange-text-color);opacity:.5}.tiny-tag--orange .tiny-tag__close:hover{opacity:1}.tiny-tag--green{color:var(--ti-tag-green-text-color);border-color:var(--ti-tag-green-text-color);background-color:var(--ti-tag-green-bg-color)}.tiny-tag--green:not(.tiny-__close){fill:var(--ti-tag-green-text-color)}.tiny-tag--green.is-hit{border-color:var(--ti-tag-green-text-color)}.tiny-tag--green .tiny-tag__close{fill:var(--ti-tag-green-text-color);opacity:.5}.tiny-tag--green .tiny-tag__close:hover{opacity:1}.tiny-tag--blue{color:var(--ti-tag-blue-text-color);border-color:var(--ti-tag-blue-text-color);background-color:var(--ti-tag-blue-bg-color)}.tiny-tag--blue:not(.tiny-__close){fill:var(--ti-tag-blue-text-color)}.tiny-tag--blue.is-hit{border-color:var(--ti-tag-blue-text-color)}.tiny-tag--blue .tiny-tag__close{fill:var(--ti-tag-blue-text-color);opacity:.5}.tiny-tag--blue .tiny-tag__close:hover{opacity:1}.tiny-tag--purple{color:var(--ti-tag-purple-text-color);border-color:var(--ti-tag-purple-text-color);background-color:var(--ti-tag-purple-bg-color)}.tiny-tag--purple:not(.tiny-__close){fill:var(--ti-tag-purple-text-color)}.tiny-tag--purple.is-hit{border-color:var(--ti-tag-purple-text-color)}.tiny-tag--purple .tiny-tag__close{fill:var(--ti-tag-purple-text-color);opacity:.5}.tiny-tag--purple .tiny-tag__close:hover{opacity:1}.tiny-tag--brown{color:var(--ti-tag-brown-text-color);border-color:var(--ti-tag-brown-text-color);background-color:var(--ti-tag-brown-bg-color)}.tiny-tag--brown:not(.tiny-__close){fill:var(--ti-tag-brown-text-color)}.tiny-tag--brown.is-hit{border-color:var(--ti-tag-brown-text-color)}.tiny-tag--brown .tiny-tag__close{fill:var(--ti-tag-brown-text-color);opacity:.5}.tiny-tag--brown .tiny-tag__close:hover{opacity:1}.tiny-tag--grey{color:var(--ti-tag-grey-text-color);border-color:var(--ti-tag-grey-text-color);background-color:var(--ti-tag-grey-bg-color)}.tiny-tag--grey:not(.tiny-__close){fill:var(--ti-tag-grey-text-color)}.tiny-tag--grey.is-hit{border-color:var(--ti-tag-grey-text-color)}.tiny-tag--grey .tiny-tag__close{fill:var(--ti-tag-grey-text-color);opacity:.5}.tiny-tag--grey .tiny-tag__close:hover{opacity:1}.tiny-tag--medium{height:var(--ti-tag-medium-height);line-height:var(--ti-tag-medium-height);padding:0 var(--ti-tag-medium-padding-horizontal);border-radius:var(--ti-tag-medium-border-radius)}.tiny-tag--medium .tiny-tag__close{margin-left:var(--ti-tag-close-medium-margin-left);margin-right:var(--ti-tag-close-medium-margin-right)}.tiny-tag--small{height:var(--ti-tag-small-height);line-height:var(--ti-tag-small-height);padding:0 var(--ti-tag-small-padding-horizontal);font-size:12px;border-radius:var(--ti-tag-small-border-radius)}.tiny-tag--small .tiny-tag__close{margin-left:var(--ti-tag-close-small-margin-left);margin-right:var(--ti-tag-close-small-margin-right)}.tiny-tag--mini{height:var(--ti-tag-mini-height);line-height:var(--ti-tag-mini-height);padding:0 var(--ti-tag-small-padding-horizontal);font-size:12px;border-radius:var(--ti-tag-small-border-radius)}.tiny-tag--mini .tiny-tag__close{margin-left:var(--ti-tag-close-small-margin-left);margin-right:var(--ti-tag-close-small-margin-right)}.tiny-tag.is-disabled,.tiny-tag.is-disabled:focus,.tiny-tag.is-disabled:hover{cursor:not-allowed;color:#c2c2c2;background-color:rgba(0,0,0,.05)}.tiny-tag.is-disabled .tiny-tag__close,.tiny-tag.is-disabled svg,.tiny-tag.is-disabled svg:hover,.tiny-tag.is-disabled:focus .tiny-tag__close,.tiny-tag.is-disabled:focus svg,.tiny-tag.is-disabled:focus svg:hover,.tiny-tag.is-disabled:hover .tiny-tag__close,.tiny-tag.is-disabled:hover svg,.tiny-tag.is-disabled:hover svg:hover{cursor:not-allowed;fill:#c2c2c2}[class*=tiny-grid-icon__]{display:inline-block;vertical-align:middle;position:relative;direction:ltr;font-family:var(--ti-grid-font-family)}.tiny-grid-icon__zoomin{width:.8em;height:.8em;margin:.1em;border-width:.1em;border-style:solid;border-color:inherit}.tiny-grid-icon__zoomout{width:1em;height:1em;line-height:1em;position:relative}.tiny-grid-icon__zoomout:before{content:'';position:absolute;right:0;width:.7em;border-style:solid;top:0;border-width:.1em;height:.7em;border-color:inherit}.tiny-grid-icon__zoomout:after{content:'';position:absolute;bottom:.1em;background-color:#fff;left:.1em;border-style:solid;width:.7em;border-width:.1em;height:.7em;border-color:inherit}.tiny-grid-icon__menu{width:.22em;height:.22em;-webkit-box-shadow:0 -.4em 0,-.4em -.4em 0,.4em -.4em 0,0 0 0 1em inset,-.4em 0 0,.4em 0 0,0 .4em 0,-.4em .4em 0,.4em .4em 0;box-shadow:0 -.4em 0,-.4em -.4em 0,.4em -.4em 0,0 0 0 1em inset,-.4em 0 0,.4em 0 0,0 .4em 0,-.4em .4em 0,.4em .4em 0;margin:.58em;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.tiny-grid-icon__caret-bottom,.tiny-grid-icon__caret-left,.tiny-grid-icon__caret-right,.tiny-grid-icon__caret-top{width:1em;height:1em;line-height:1em}.tiny-grid-icon__caret-bottom:before,.tiny-grid-icon__caret-left:before,.tiny-grid-icon__caret-right:before,.tiny-grid-icon__caret-top:before{content:'';left:0;bottom:.25em;border-right-color:transparent;position:absolute;border-width:.5em;border-style:solid;border-top-color:transparent;border-bottom-color:inherit;border-left-color:transparent;-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.tiny-grid-icon__caret-bottom{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tiny-grid-icon__caret-left{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tiny-grid-icon__caret-right{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tiny-grid-icon__arrow-top{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-grid-icon__arrow-top:before{content:'';position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__arrow-bottom{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-grid-icon__arrow-bottom:before{content:'';position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__arrow-left{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.tiny-grid-icon__arrow-left:before{content:'';position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__arrow-right{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid-icon__arrow-right:before{content:'';position:absolute;top:.38em;left:.12em;width:.5em;height:.5em;border-width:.1em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-top{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-grid-icon__d-arrow-top:before{content:'';position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-top:after{content:'';position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-bottom{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-grid-icon__d-arrow-bottom:before{content:'';position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-bottom:after{content:'';position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-left{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.tiny-grid-icon__d-arrow-left:before{content:'';position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-left:after{content:'';position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__d-arrow-right{width:1em;height:1em;line-height:1em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid-icon__d-arrow-right:before{content:'';position:absolute;top:.24em;left:.26em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-right-color:inherit;border-top-color:inherit;border-left-color:transparent;border-bottom-color:transparent}.tiny-grid-icon__d-arrow-right:after{content:'';position:absolute;top:.42em;left:.1em;width:.5em;height:.5em;border-width:.08em;border-style:solid;border-top-color:inherit;border-bottom-color:transparent;border-left-color:transparent;border-right-color:inherit}.tiny-grid-icon__funnel{width:1em;height:1em;line-height:1em}.tiny-grid-icon__funnel:before{content:'';border-top-color:inherit;position:absolute;border-bottom-color:transparent;top:.1em;border-right-color:transparent;left:0;border-left-color:transparent;border-width:.5em;border-style:solid}.tiny-grid-icon__funnel:after{content:'';position:absolute;left:.4em;top:.5em;width:0;height:.4em;border-width:0 .2em 0 0;border-style:solid;border-right-color:inherit}.tiny-grid-icon__edit-outline{width:1em;height:1em;line-height:1em;border-radius:.2em;border-width:.1em;border-style:solid;border-color:inherit}.tiny-grid-icon__edit-outline:before{content:'';position:absolute;top:-.1em;right:-.1em;width:.4em;height:.4em;background-color:#fff}.tiny-grid-icon__edit-outline:after{content:'';position:absolute;left:.15em;top:.12em;width:.9em;height:0;border-radius:.2em;border-width:0 0 .15em 0;border-style:solid;border-color:inherit;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.tiny-grid-icon__more{width:1em;height:1em;line-height:1em}.tiny-grid-icon__more:before{content:'...';position:absolute;top:0;left:.1em;line-height:.5em;font-weight:700}.tiny-grid-icon__close{width:1em;height:1em;line-height:1em}.tiny-grid-icon__close:after,.tiny-grid-icon__close:before{content:'';position:absolute;left:0;top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-style:solid;border-width:0}.tiny-grid-icon__close:before{width:1em;border-bottom-width:.1em;top:.45em}.tiny-grid-icon__close:after{height:1em;border-right-width:.1em;left:.45em}.tiny-grid-icon__refresh{width:1em;height:1em;line-height:1em;border-style:solid;border-width:.1em;border-right-color:transparent!important;border-radius:50%;border-left-color:transparent!important}.tiny-grid-icon__refresh:after{right:50%;bottom:0;-webkit-transform:translateX(-50%) rotate(135deg);transform:translateX(-50%) rotate(135deg)}.tiny-grid-icon__refresh:before{left:50%;top:0;-webkit-transform:translateX(50%) rotate(-45deg);transform:translateX(50%) rotate(-45deg)}.tiny-grid-icon__refresh:after,.tiny-grid-icon__refresh:before{content:'';position:absolute;border-left-color:transparent;width:0;border-right-color:transparent;height:0;border-bottom-color:transparent;border-width:.25em;border-style:solid}.tiny-grid-icon__refresh.roll{-webkit-animation:rollCircle 1s infinite linear;animation:rollCircle 1s infinite linear}.tiny-grid-icon__question{width:1em;height:1em;line-height:1em}.tiny-grid-icon__question:before{content:'';border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__question:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:'?'}.tiny-grid-icon__info{width:1em;height:1em;line-height:1em}.tiny-grid-icon__info:before{content:'';border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__info:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:'!';-webkit-transform:rotate(180deg) translateY(1px);transform:rotate(180deg) translateY(1px)}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-grid-icon__info:after{font-size:var(--ti-common-font-size-1)}}@media screen and (-ms-ime-align:auto){.tiny-grid-icon__info:after{font-size:var(--ti-common-font-size-1)}}.tiny-grid-icon__warning{width:1em;height:1em;line-height:1em}.tiny-grid-icon__warning:before{content:'';border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__warning:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:'!'}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-grid-icon__warning:after{font-size:var(--ti-common-font-size-1)}}@media screen and (-ms-ime-align:auto){.tiny-grid-icon__warning:after{font-size:var(--ti-common-font-size-1)}}.tiny-grid-icon__success{width:1em;height:1em;line-height:1em}.tiny-grid-icon__success:before{content:'';border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__success:after{content:'';position:absolute;height:.55em;width:.3em;left:.35em;top:.15em;border-width:.1em;border-style:solid;border-color:#fff;border-left:0;border-top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid-icon__error{width:1em;height:1em;line-height:1em}.tiny-grid-icon__error:before{content:'';border-radius:50%;border-width:.5em;border-style:solid;border-color:inherit;position:absolute;top:0;left:0}.tiny-grid-icon__error:after{position:absolute;color:var(--ti-grid-light-color);font-size:.7em;display:inline-block;top:0;left:0;width:inherit;height:inherit;text-align:center;font-weight:700;content:'\2716'}@-webkit-keyframes rollCircle{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rollCircle{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.tiny-grid__animat .tiny-grid-filter__btn:after,.tiny-grid__animat .tiny-grid-filter__btn:before,.tiny-grid__animat .tiny-grid-sort__asc-btn:after,.tiny-grid__animat .tiny-grid-sort__asc-btn:before,.tiny-grid__animat .tiny-grid-sort__desc-btn:after,.tiny-grid__animat .tiny-grid-sort__desc-btn:before{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.tiny-grid__animat .tiny-grid__expand-icon{-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.tiny-grid__animat .tiny-grid-input__wrapper .tiny-grid-input{-webkit-transition:border .1s ease-in-out;transition:border .1s ease-in-out}.tiny-grid__animat .tiny-grid-tree__node-btn{-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.tiny-grid__animat .tiny-grid-checkbox>input:checked+span,.tiny-grid__animat .tiny-grid-radio>input:checked+span{-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out}.tiny-grid{position:relative;overflow:hidden;font-size:var(--ti-grid-font-size);color:var(--ti-grid-text-color);font-family:var(--ti-grid-font-family);background-color:var(--ti-grid-light-color)}.tiny-grid .tiny-grid-body__expanded-row{background-color:var(--ti-grid-expand-background-color)}.tiny-grid.show__foot.scroll__x .tiny-grid__body-wrapper{overflow-x:auto}.tiny-grid.column__highlight .tiny-grid-header__column:not(.col__index):hover{background-color:var(--ti-grid-column-hover-background-color)}.tiny-grid.size__medium .tiny-grid-body__column,.tiny-grid.size__medium .tiny-grid-footer__column,.tiny-grid.size__medium .tiny-grid-header__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.size__medium .tiny-grid-body__column,.tiny-grid.size__medium .tiny-grid-footer__column{height:var(--ti-grid-medium-column-height)}.tiny-grid.size__medium .tiny-grid-header__column{height:var(--ti-grid-medium-header-column-height)}.tiny-grid.size__medium .tiny-grid-loading .tiny-grid__spinner{width:48px;height:48px}.tiny-grid.size__medium .tiny-grid-default-input,.tiny-grid.size__medium .tiny-grid-default-select,.tiny-grid.size__medium .tiny-grid-default-textarea,.tiny-grid.size__medium .tiny-grid-input__wrapper{height:var(--ti-grid-medium-column-height)}.tiny-grid.size__medium .tiny-grid-header__column .tiny-grid-resizable{height:var(--ti-grid-medium-column-height)}.tiny-grid.size__small .tiny-grid-body__column,.tiny-grid.size__small .tiny-grid-footer__column,.tiny-grid.size__small .tiny-grid-header__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.size__small .tiny-grid-body__column,.tiny-grid.size__small .tiny-grid-footer__column{height:var(--ti-grid-small-column-height)}.tiny-grid.size__small .tiny-grid-header__column{height:var(--ti-grid-small-header-column-height)}.tiny-grid.size__small .tiny-grid-loading .tiny-grid__spinner{width:40px;height:40px}.tiny-grid.size__small .tiny-grid-default-input,.tiny-grid.size__small .tiny-grid-default-select,.tiny-grid.size__small .tiny-grid-default-textarea,.tiny-grid.size__small .tiny-grid-input__wrapper{height:var(--ti-grid-small-column-height)}.tiny-grid.size__small .tiny-grid-header__column .tiny-grid-resizable{height:var(--ti-grid-small-column-height)}.tiny-grid.size__mini .tiny-grid-body__column,.tiny-grid.size__mini .tiny-grid-footer__column,.tiny-grid.size__mini .tiny-grid-header__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.size__mini .tiny-grid-body__column,.tiny-grid.size__mini .tiny-grid-footer__column{height:var(--ti-grid-mini-column-height)}.tiny-grid.size__mini .tiny-grid-header__column{height:var(--ti-grid-mini-header-column-height)}.tiny-grid.size__mini .tiny-grid-loading .tiny-grid__spinner{width:36px;height:36px}.tiny-grid.size__mini .tiny-grid-default-input,.tiny-grid.size__mini .tiny-grid-default-select,.tiny-grid.size__mini .tiny-grid-default-textarea,.tiny-grid.size__mini .tiny-grid-input__wrapper{height:var(--ti-grid-mini-column-height)}.tiny-grid.size__mini .tiny-grid-header__column .tiny-grid-resizable{height:var(--ti-grid-mini-column-height)}.tiny-grid .fixed__column{position:sticky!important;z-index:1;background-color:inherit}.tiny-grid .fixed__column.fixed-left-last__column:after{position:absolute;top:0;right:0;bottom:0;width:30px;-webkit-transform:translate(100%);transform:translate(100%);-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s;content:'';pointer-events:none}.tiny-grid .fixed__column.fixed-right-first__column:after{position:absolute;top:0;bottom:0;left:0;width:30px;-webkit-transform:translate(-100%);transform:translate(-100%);-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s;content:'';pointer-events:none}.tiny-grid .fixed__column.fixed-right-first__column+.col__gutter{position:sticky;right:0;background-color:var(--ti-grid-header-background-color)}.tiny-grid th.fixed__column{background-color:var(--ti-grid-header-background-color)}.tiny-grid th.fixed__column.tiny-grid-header__column .tiny-grid-resizable.is__line::before{-webkit-transform:translateX(-1px);transform:translateX(-1px)}.tiny-grid-fixed__left .fixed__column.fixed-left-last__column:after{-webkit-box-shadow:inset 10px 0 8px -8px #00000026;box-shadow:inset 10px 0 8px -8px #00000026}.tiny-grid-fixed__right .fixed__column.fixed-right-first__column:after{-webkit-box-shadow:inset -10px 0 8px -8px #00000026;box-shadow:inset -10px 0 8px -8px #00000026}.tiny-grid table{border-spacing:0;border-collapse:separate;table-layout:fixed}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row:not(.row__hover):nth-child(2n){background-color:var(--ti-grid-row-striped-background-color)}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row:not(.row__hover).row__current{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row.row__selected:not(.row__hover):nth-child(2n){background-color:rgba(47,143,232,.1)}.tiny-grid.tiny-grid__stripe .tiny-grid-body__row.row__selected:not(.row__hover):nth-child(2n+1){background-color:rgba(47,143,232,.15)}.tiny-grid.tiny-grid__stripe.row__highlight .tiny-grid-body__row:hover{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.tiny-grid__stripe.row__highlight .tiny-grid-body__row:hover .fixed__column{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.tiny-grid__stripe.mark-insert .tiny-grid-body__row.row__new{background-color:var(--ti-grid-new-row-background-color)}.tiny-grid.tiny-grid__border:after,.tiny-grid.tiny-grid__border:before{content:'';position:absolute;left:0;width:100%;height:0;z-index:1}.tiny-grid.tiny-grid__border:before{top:0;z-index:2;border-top:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__border:after{bottom:0;border-bottom:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__border .tiny-grid__header{border:0;border-spacing:0;border-collapse:separate}.tiny-grid.tiny-grid__border .tiny-grid-body__column,.tiny-grid.tiny-grid__border .tiny-grid-footer__column,.tiny-grid.tiny-grid__border .tiny-grid-header__column{background-image:-webkit-gradient(linear,right top,left top,from(var(--ti-grid-border-color)),to(var(--ti-grid-border-color))),-webkit-gradient(linear,left top,left bottom,from(var(--ti-grid-border-color)),to(var(--ti-grid-border-color)));background-image:linear-gradient(-90deg,var(--ti-grid-border-color),var(--ti-grid-border-color)),linear-gradient(-180deg,var(--ti-grid-border-color),var(--ti-grid-border-color));background-repeat:no-repeat;background-size:1px 100%,100% 1px;background-position:100% 0,100% 100%;border:none}.tiny-grid.tiny-grid__border .tiny-grid__body-wrapper{border-bottom:none}.tiny-grid.tiny-grid__border .tiny-grid__border-line:after,.tiny-grid.tiny-grid__border .tiny-grid__border-line:before{content:'';position:absolute;top:0;width:0;height:100%;z-index:1}.tiny-grid.tiny-grid__border .tiny-grid__border-line:before{left:0;border-left:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__border .tiny-grid__border-line:after{right:0;border-right:1px solid var(--ti-grid-border-color)}.tiny-grid.tiny-grid__checked{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-grid.tiny-grid__checked .tiny-grid-body__column.col__index,.tiny-grid.tiny-grid__checked .tiny-grid-header__column.col__index{text-align:center;cursor:default}.tiny-grid.tiny-grid__checked .tiny-grid-header__column.col__index .tiny-grid-cell{visibility:hidden}.tiny-grid.tiny-grid__checked .tiny-grid-body__column.col__index{background-color:var(--ti-grid-header-background-color)}.tiny-grid.tiny-grid__checked .tiny-grid-body__column.col__index.col__index-checked{background-color:#dcdcdc}.tiny-grid .tiny-grid__footer-wrapper,.tiny-grid .tiny-grid__header-wrapper{overflow-x:hidden;overflow-y:hidden}.tiny-grid .tiny-grid__footer-wrapper{border-top:1px solid var(--ti-grid-border-color);border-bottom:none;overflow:hidden!important}.tiny-grid .tiny-grid__footer-wrapper .tiny-grid-footer__row .tiny-grid-cell.cell__summary{font-weight:700;text-align:right}.tiny-grid .tiny-grid__body-wrapper,.tiny-grid .tiny-grid__footer-wrapper,.tiny-grid .tiny-grid__header-wrapper{position:relative}.tiny-grid.tiny-grid-cell__resize *{cursor:col-resize}.tiny-grid .tiny-grid-body__row{background-color:var(--ti-grid-row-background-color)}.tiny-grid .tiny-grid-body__row.row__selected{background-color:var(--ti-grid-row-selected-background-color)}.tiny-grid .tiny-grid-body__row.row__current{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.row__highlight .tiny-grid-body__row:hover{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid.row__highlight .tiny-grid-body__row:hover .fixed__column{background-color:var(--ti-grid-row-hover-background-color)}.tiny-grid .tiny-grid-body__column,.tiny-grid .tiny-grid-footer__column,.tiny-grid .tiny-grid-header__column{text-align:left;padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal);border-bottom:1px solid var(--ti-grid-body-td-border-color)}.tiny-grid .tiny-grid-body__column.col__current,.tiny-grid .tiny-grid-footer__column.col__current,.tiny-grid .tiny-grid-header__column.col__current{background-color:var(--ti-grid-column-current-background-color)}.tiny-grid .tiny-grid-body__column.col__center,.tiny-grid .tiny-grid-footer__column.col__center,.tiny-grid .tiny-grid-header__column.col__center{text-align:center}.tiny-grid .tiny-grid-body__column.col__right,.tiny-grid .tiny-grid-footer__column.col__right,.tiny-grid .tiny-grid-header__column.col__right{text-align:right}.tiny-grid .tiny-grid-body__column.col__ellipsis:not(.col__actived) .tiny-grid-cell,.tiny-grid .tiny-grid-footer__column.col__ellipsis:not(.col__actived) .tiny-grid-cell,.tiny-grid .tiny-grid-header__column.col__ellipsis:not(.col__actived) .tiny-grid-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid .tiny-grid-body__column.col__ellipsis:not(.col__actived) .tiny-grid-cell>.tiny-grid-checkbox,.tiny-grid .tiny-grid-footer__column.col__ellipsis:not(.col__actived) .tiny-grid-cell>.tiny-grid-checkbox,.tiny-grid .tiny-grid-header__column.col__ellipsis:not(.col__actived) .tiny-grid-cell>.tiny-grid-checkbox{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:0}.tiny-grid .tiny-grid-header__column{height:var(--ti-grid-default-header-column-height)}.tiny-grid .tiny-grid-header__column.col__center .tiny-grid-cell{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid .tiny-grid-header__column.col__right .tiny-grid-cell{-webkit-box-pack:right;-ms-flex-pack:right;justify-content:right}.tiny-grid .tiny-grid-body__column,.tiny-grid .tiny-grid-footer__column{height:var(--ti-grid-default-column-height)}.tiny-grid .tiny-grid-cell{line-height:var(--ti-grid-line-height-number);white-space:normal;word-break:break-word}.tiny-grid .tiny-grid-cell .tiny-grid-checkbox{vertical-align:middle}.tiny-grid .tiny-grid-cell .tiny-grid__data-boole,.tiny-grid .tiny-grid-cell .tiny-grid__data-rate{width:100%;position:relative}.tiny-grid .tiny-grid-cell .tiny-grid__data-boole .icon-yes{fill:var(--ti-grid-success-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-boole .icon-close{fill:var(--ti-grid-error-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart{opacity:.6;background-color:var(--ti-grid-success-color);height:30px;line-height:30px}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-completed{background-color:var(--ti-grid-success-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-danger{background-color:var(--ti-grid-error-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-warning{background-color:var(--ti-grid-warning-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-chart.tiny-grid__chart-normal{background-color:var(--ti-grid-primary-color)}.tiny-grid .tiny-grid-cell .tiny-grid__data-rate .tiny-grid__rate-text{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tiny-grid .tiny-grid-header__column:not(.col__selection) .tiny-grid-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.tiny-grid .tiny-grid-header__column:not(.col__selection).col__center .tiny-grid-cell{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid .tiny-grid-header__column:not(.col__selection).col__right .tiny-grid-cell{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end}.tiny-grid .tiny-grid-header__column:not(.col__selection).col__ellipsis .tiny-grid-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid .tiny-grid-body__x-space{width:100%;height:1px;margin-bottom:-1px}.tiny-grid .tiny-grid-body__y-space{width:0;float:left}.tiny-grid .tiny-grid-sort-wrapper{margin-left:4px;position:var(--ti-grid-sort-icon-position);right:var(--ti-grid-sort-icon-right)}.tiny-grid .tiny-grid-sort-wrapper .tiny-grid-sort__btn{display:block;font-size:var(--ti-grid-header-icon-font-size);fill:var(--ti-grid-column-icon-text-color);-webkit-transform:scale(var(--ti-grid-column-icon-scale-size));transform:scale(var(--ti-grid-column-icon-scale-size));cursor:pointer}.tiny-grid .tiny-grid-sort-wrapper .tiny-grid-sort__btn:hover{fill:var(--ti-grid-icon-color)}.tiny-grid .tiny-grid-sort-wrapper .tiny-grid-sort__btn.sort__active{fill:var(--ti-grid-primary-color)}.tiny-grid .tiny-grid__resizable-bar{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:4}.tiny-grid .tiny-grid__resizable-bar:before{content:'';display:block;height:100%;background-color:#d9dddf}.tiny-grid .tiny-grid-tree__indent{display:inline-block}.tiny-grid .tiny-grid-tree-wrapper{display:inline-block;vertical-align:bottom;width:18px;cursor:pointer}.tiny-grid .tiny-grid-tree-wrapper.is__active .tiny-grid-tree__node-btn{-webkit-transform:rotate(0);transform:rotate(0)}.tiny-grid .tiny-grid-tree-wrapper .tiny-grid-tree__node-btn{font-size:var(--ti-grid-font-size);border-color:var(--ti-grid-tree-icon-color);-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tiny-grid .tiny-grid-tree-wrapper .tiny-grid-tree__node-btn:hover{border-color:var(--ti-grid-tree-icon-hover-color)}.tiny-grid .tiny-grid__expanded{display:inline-block;text-align:center;cursor:pointer}.tiny-grid .tiny-grid__expanded .tiny-grid__expand-icon{display:inline-block;width:8px;height:8px;border:1px solid #666;vertical-align:middle;border-width:1px 1px 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:transparent}.tiny-grid .tiny-grid__expanded.expand__active .tiny-grid__expand-icon{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.tiny-grid .tiny-grid-body__expanded-column{border-bottom:1px solid var(--ti-grid-border-color)}.tiny-grid .tiny-grid-body__expanded-cell{padding:20px}.tiny-grid.is__loading .tiny-grid__empty-block{visibility:hidden}.tiny-grid .tiny-grid__empty-block{display:none;opacity:0;height:100%;min-height:60px;padding:60px 0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.tiny-grid .tiny-grid__empty-block.is__visible{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;opacity:1}.tiny-grid .tiny-grid__empty-block.is__visible.is__center{opacity:0}.tiny-grid .empty-center-block{z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;position:absolute;width:100%;height:calc(100% - 60px)}.tiny-grid .empty-center-block .tiny-grid__empty-text{width:100%}.tiny-grid .tiny-grid__empty-img{width:100%;height:100px;margin:0;background:var(--ti-table-nodata-td-bg-img-url) 50% no-repeat}.tiny-grid .tiny-grid__empty-text{display:block;margin-top:8px;width:50%}.tiny-grid .tiny-grid-body__column.col__selected:not(.col__checked){-webkit-box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color);box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color)}.tiny-grid .tiny-grid-body__column.col__actived,.tiny-grid .tiny-grid-body__column.col__dirty,.tiny-grid .tiny-grid-body__column.col__selected{position:relative}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-cell__valid{width:320px;position:absolute;bottom:calc(100% + 4px);left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);text-align:center;pointer-events:none;z-index:9}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-cell__valid .tiny-grid-cell__valid-msg{display:inline-block;border-radius:4px;padding:8px 12px;color:var(--ti-grid-light-color);background-color:var(--ti-grid-error-color);pointer-events:auto}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-default-input,.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-default-select,.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-default-textarea{border-color:var(--ti-grid-error-color);background-color:var(--ti-grid-error-bg-color)}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-grid-input__wrapper>.tiny-grid-input{border-color:var(--ti-grid-error-color);background-color:var(--ti-grid-error-bg-color)}.tiny-grid .tiny-grid-body__column.col__valid-error .tiny-input__inner{border-color:var(--ti-grid-error-color);background-color:var(--ti-grid-error-bg-color)}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell .tiny-grid-tree__indent{-ms-flex-negative:0;flex-shrink:0}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell .tiny-grid-tree-wrapper{width:20px;height:20px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translateX(-4px);transform:translateX(-4px);-ms-flex-negative:0;flex-shrink:0}.tiny-grid .tiny-grid-body__column.col__treenode .tiny-grid-cell .tiny-grid-tree-wrapper svg{font-size:var(--ti-grid-tree-expand-icon-font-size)}.tiny-grid .tiny-grid-body__column.col__treenode.col__ellipsis .tiny-grid-cell__ellipsis:has(.tiny-grid-tree__indent:nth-last-child(2):first-child),.tiny-grid .tiny-grid-body__column.col__treenode.col__ellipsis .tiny-grid-cell__title:has(.tiny-grid-tree__indent:nth-last-child(2):first-child),.tiny-grid .tiny-grid-body__column.col__treenode.col__ellipsis .tiny-grid-cell__tooltip:has(.tiny-grid-tree__indent:nth-last-child(2):first-child){display:inline-block}.tiny-grid .tiny-grid-body__row:first-child .tiny-grid-cell__valid{bottom:auto;top:calc(100% + 4px)}.tiny-grid .tiny-grid__body-wrapper.body__wrapper.is__scrollload{overflow-y:hidden;position:static}.tiny-grid .is__scrollload .tiny-grid-body__y-space{position:absolute;right:0;width:12px;overflow-y:scroll}.tiny-grid .is__scrollload .tiny-grid-body__y-space .tiny-grid-body__y-scrollbar{width:1px}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived{-webkit-box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color);box-shadow:inset 0 0 0 2px var(--ti-grid-primary-color)}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived.col__valid-error{-webkit-box-shadow:inset 0 0 0 2px var(--ti-grid-error-color);box-shadow:inset 0 0 0 2px var(--ti-grid-error-color)}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-default-input,.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-default-textarea{border:0;padding:0}.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid.tiny-grid-editable.tiny-grid-cell__highlight .tiny-grid-body__column.col__actived .tiny-grid-cell .tiny-grid-input__wrapper .tiny-grid-textarea{border:0;padding:0}.tiny-grid.tiny-grid-editable .tiny-grid-body__column{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__actived{padding:var(--ti-grid-td-padding-vertical) var(--ti-grid-td-padding-horizontal)}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__ellipsis{padding:0}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__ellipsis.col__actived{padding:0}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__dirty:before{content:'';top:-5px;left:-5px;position:absolute;border-width:5px;border-style:solid;border-color:transparent var(--ti-grid-error-color) transparent transparent;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.tiny-grid.tiny-grid-editable .tiny-grid-body__column.col__dirty.col__valid-success:before{border-color:transparent var(--ti-grid-success-color) transparent transparent}.tiny-grid.tiny-grid-editable .tiny-grid__body-wrapper .tiny-grid-editor .tiny-select-dropdown{left:0!important}.tiny-grid .tiny-grid-default-input,.tiny-grid .tiny-grid-default-select,.tiny-grid .tiny-grid-default-textarea,.tiny-grid__filter-wrapper .tiny-grid-default-input,.tiny-grid__filter-wrapper .tiny-grid-default-select,.tiny-grid__filter-wrapper .tiny-grid-default-textarea{outline:0;height:var(--ti-grid-input-height);padding:0 var(--ti-grid-td-padding-horizontal);width:100%;color:var(--ti-grid-text-color);border-radius:var(--ti-grid-border-radius);border:1px solid var(--ti-grid-border-color)}.tiny-grid .tiny-grid-default-input:focus,.tiny-grid .tiny-grid-default-select:focus,.tiny-grid .tiny-grid-default-textarea:focus,.tiny-grid__filter-wrapper .tiny-grid-default-input:focus,.tiny-grid__filter-wrapper .tiny-grid-default-select:focus,.tiny-grid__filter-wrapper .tiny-grid-default-textarea:focus{border:1px solid var(--ti-grid-primary-color)}.tiny-grid .tiny-grid-editor,.tiny-grid__filter-wrapper .tiny-grid-editor{width:100%;height:var(--ti-grid-input-height);line-height:normal;color:var(--ti-grid-text-color)}.tiny-grid .tiny-grid-editor .tiny-input,.tiny-grid__filter-wrapper .tiny-grid-editor .tiny-input{width:100%}.tiny-grid .tiny-grid-editor .tiny-select,.tiny-grid__filter-wrapper .tiny-grid-editor .tiny-select{z-index:1}.tiny-grid .tiny-grid-default-textarea,.tiny-grid__filter-wrapper .tiny-grid-default-textarea{resize:none;vertical-align:middle}.tiny-grid .tiny-grid-input__wrapper,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper{width:100%;display:block}.tiny-grid .tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid .tiny-grid-input__wrapper .tiny-grid-textarea,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper .tiny-grid-textarea{padding:0 2px}.tiny-grid .tiny-grid-input__wrapper .tiny-grid-textarea,.tiny-grid__filter-wrapper .tiny-grid-input__wrapper .tiny-grid-textarea{resize:none}.tiny-grid__filter-wrapper .tiny-grid-default-input,.tiny-grid__filter-wrapper .tiny-grid-default-textarea{padding:0 10px}.tiny-grid-hidden-column{display:none}.tiny-grid .tiny-pager,.tiny-grid+.tiny-pager{padding-top:24px}.tiny-grid .tiny-grid__header th.col__gutter{width:0;position:sticky;right:0;background-color:var(--ti-grid-header-background-color)}.tiny-grid .tiny-grid__selected-box-outer{width:100%;display:grid}.tiny-grid .tiny-grid__selected-box-outer-default{grid-template-columns:repeat(4,minmax(0,1fr))}.tiny-grid .tiny-grid__selected-box-wrapper{border-width:1px;border-style:solid;border-color:#eee}.tiny-grid .tiny-grid__selected-box-wrapper-default{display:block}.tiny-grid .tiny-grid__selected-box-table{grid-column:span 3/span 3;height:-webkit-max-content;height:-moz-max-content;height:max-content}.tiny-grid .tiny-grid__column-anchor{-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin-top:.5rem;margin-bottom:.5rem;height:2rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid .tiny-grid__column-anchor-item{-ms-flex-negative:0;flex-shrink:0;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1.5rem;font-size:.875rem;cursor:pointer;color:#161e26}.tiny-grid .tiny-grid__column-anchor-item:last-child{margin-right:0}.tiny-grid .tiny-grid__column-anchor-item:hover{color:#0072e8}.tiny-grid .tiny-grid__column-anchor-item:hover .tiny-grid__column-anchor-item-icon{fill:#0072e8}.tiny-grid .tiny-grid__column-anchor-item--active{padding-left:1.25rem;position:relative;color:#005bba}.tiny-grid .tiny-grid__column-anchor-item-icon{position:absolute;left:0;bottom:50%;-webkit-transform:translateY(50%);transform:translateY(50%);fill:#005bba}.tiny-grid .tiny-grid__oper-col-elps{outline:2px solid transparent;outline-offset:2px;font-size:1rem;line-height:1.5rem;cursor:pointer}.tiny-grid .tiny-grid__oper-col-button{font-size:.875rem;line-height:1.25rem;cursor:pointer;margin-right:.5rem}.tiny-grid .tiny-grid__oper-col-button--disabled{cursor:not-allowed;fill:rgba(51,61,72,.3);color:rgba(22,30,38,.3)}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived{height:72px}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived .tiny-grid-cell__valid{--td-padding-x:8px;position:absolute;top:auto;right:auto;bottom:1px;left:var(--td-padding-x);width:calc(100% - 2 * var(--td-padding-x));height:16px;line-height:1;-webkit-transform:translate(0,0);transform:translate(0,0);background-color:transparent;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5222d}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived .tiny-grid-cell__valid .tiny-grid-cell__valid-icon{margin-right:8px}.tiny-grid.row__valid-inline .tiny-grid__body-wrapper .tiny-grid-body__row.row__actived .tiny-grid-cell__valid .tiny-grid-cell__valid-msg{padding:0;background-color:transparent;display:inline;color:inherit;font-size:12px}.tiny-fullscreen-full{z-index:1000;position:fixed;overflow:auto;background:var(--ti-grid-light-color);width:100%;height:100%;top:0;left:0;margin:0;padding:8px}.tiny-grid__header-wrapper{background-color:var(--ti-grid-header-background-color)}.tiny-grid__header-wrapper .tiny-grid__repair{position:absolute;left:0;bottom:0;height:0;z-index:1;border-bottom:1px solid var(--ti-grid-header-repair-border-color)}.tiny-grid-header__column{position:relative;font-size:var(--ti-grid-font-size);color:var(--ti-grid-header-text-color)}.tiny-grid-header__column:nth-last-of-type(2) .tiny-grid-resizable.is__line:before{width:0}.tiny-grid-header__column:not(.fixed__column){left:unset!important;right:unset!important}.tiny-grid-header__column.col__title-checked{background-color:#dcdcdc}.tiny-grid-header__column.col__title-checked .tiny-grid-edit-icon.tiny-grid-icon__edit-outline:before{background-color:#dcdcdc}.tiny-grid-header__column.col__ellipsis .tiny-grid-edit-icon{-ms-flex-negative:0;flex-shrink:0}.tiny-grid-header__column .tiny-grid-required-icon{color:var(--ti-grid-error-color);line-height:14px;font-size:var(--ti-common-font-size-1);-ms-flex-item-align:baseline;align-self:baseline}.tiny-grid-header__column .tiny-grid-required-icon:before{content:'*';width:10px;height:10px;display:block}.tiny-grid-header__column .tiny-grid-edit-icon{font-size:var(--ti-common-font-size-2);margin-right:4px;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1;fill:var(--ti-grid-column-icon-text-color)}.tiny-grid-header__column .tiny-grid-resizable,.tiny-grid-header__column .tiny-grid-thead-partition{position:absolute;right:0;-webkit-transform:translateX(50%);transform:translateX(50%);bottom:0;top:0;margin:auto;width:14px;height:100%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.tiny-grid-header__column .tiny-grid-resizable,.tiny-grid-header__column .tiny-grid-thead-partition{margin:0}}.tiny-grid-header__column .tiny-grid-resizable.is__line:after,.tiny-grid-header__column .tiny-grid-resizable.is__line:before,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:after,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:before{content:'';display:inline-block;vertical-align:middle}.tiny-grid-header__column .tiny-grid-resizable.is__line:before,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:before{width:1px;height:var(--ti-grid-header-resizable-line-height);background-color:var(--ti-grid-header-resizable-bg-color)}.tiny-grid-header__column .tiny-grid-resizable.is__line:after,.tiny-grid-header__column .tiny-grid-thead-partition.is__line:after{width:0;height:100%}.tiny-grid-header__column .tiny-grid-resizable{cursor:col-resize}.tiny-grid-header__column .tiny-grid-checkbox>input:not(:checked)+.tiny-grid-checkbox__icon:hover{border-color:var(--ti-grid-border-color)}.tiny-grid-header__column .tiny-grid-checkbox.is__indeterminate>input+.tiny-grid-checkbox__icon:hover{border-color:var(--ti-grid-primary-color)}.tiny-grid__header .tiny-grid-cell-text{font-weight:var(--ti-grid-header-font-weight)}.tiny-grid__header .tiny-grid-cell__header-suffix{position:relative;min-height:16px}.tiny-grid__header .tiny-grid-cell__header-suffix .suffix-icon-1{position:absolute;right:12px}.tiny-grid__header .tiny-grid-cell__header-suffix .suffix-icon-0{position:absolute;right:0}.tiny-grid th.col__selection>.tiny-grid-cell{position:relative}.tiny-grid th.col__selection>.tiny-grid-cell>.selection-dropdown-wrapper{position:absolute;right:0;top:0}.tiny-grid__body-wrapper,.tiny-grid__fixed-left-body-wrapper,.tiny-grid__fixed-right-body-wrapper{overflow-y:auto;overflow-x:auto}.tiny-grid__borders .tiny-grid-border-bottom,.tiny-grid__borders .tiny-grid-border-left,.tiny-grid__borders .tiny-grid-border-right,.tiny-grid__borders .tiny-grid-border-top{position:absolute;background-color:var(--ti-grid-primary-color)}.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-bottom,.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-top{height:var(--ti-grid-column-checked-border-width)}.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-left,.tiny-grid__borders .tiny-grid-checked-borders .tiny-grid-border-right{width:var(--ti-grid-column-checked-border-width)}.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-bottom,.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-top{height:calc(var(--ti-grid-column-checked-border-width) + 1px)}.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-left,.tiny-grid__borders .tiny-grid-copyed-borders .tiny-grid-border-right{width:calc(var(--ti-grid-column-checked-border-width) + 1px)}.tiny-grid__borders .tiny-grid-copyed-borders>span{background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--ti-grid-primary-color) 3px,var(--ti-grid-primary-color) 9px);-webkit-animation:shine 1s infinite linear;animation:shine 1s infinite linear}.tiny-grid-body__row .tiny-grid-body__column.col__selected{background-color:var(--ti-grid-light-color)}.tiny-grid-body__row .tiny-grid-body__column .tiny-numeric{width:100%}@-webkit-keyframes shine{0%{background-position:-1px -1px}100%{background-position:-12px -12px}}@keyframes shine{0%{background-position:-1px -1px}100%{background-position:-12px -12px}}.tiny-grid__footer-wrapper{margin-top:-1px;background-color:var(--ti-grid-light-color)}.tiny-grid__footer-wrapper .tiny-grid-footer__row{background-color:var(--ti-grid-row-background-color)}.tiny-grid__footer-wrapper.body__wrapper{overflow-x:auto}.tiny-grid-filter-wrapper{padding-left:4px}.tiny-grid-filter-wrapper.is__active .tiny-grid-filter__btn{fill:var(--ti-grid-primary-hover-color)}.tiny-grid-filter-wrapper .tiny-grid-filter__btn{font-size:var(--ti-common-font-size-base);fill:#999;cursor:pointer;vertical-align:middle}.tiny-grid-filter-wrapper .tiny-grid-filter__btn:hover{fill:var(--ti-grid-primary-hover-color)}.filter__active .tiny-grid-filter-wrapper .tiny-grid-filter__btn{fill:var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper{display:none;position:absolute;min-width:270px;border-radius:var(--ti-grid-border-radius);-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.2);box-shadow:0 2px 12px 0 rgba(0,0,0,.2);font-size:var(--ti-common-font-size-base);z-index:4000}.tiny-grid__filter-wrapper.filter__active{display:block}.tiny-grid__filter-wrapper .tiny-grid__filter-body{padding:0;list-style-type:none;background-color:var(--ti-grid-light-color);overflow-x:hidden;overflow-y:auto}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel{margin:0;width:100%;padding:12px 8px 8px;border-bottom:solid 1px var(--ti-grid-border-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-search{margin-bottom:4px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-search .tiny-input__inner{border-width:0;background-color:var(--ti-grid-header-background-color);padding-right:54px;padding-left:8px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default{padding:8px 20px 4px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default{padding-left:0;padding-right:0}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear .tiny-grid__filter-option,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default .tiny-grid__filter-option{cursor:pointer;padding-left:16px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear .tiny-grid__filter-option:hover,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default .tiny-grid__filter-option:hover{background-color:var(--ti-grid-primary-hover-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__clear .tiny-grid__filter-option:hover a,.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__default .tiny-grid__filter-option:hover a{color:var(--ti-grid-light-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum{padding-top:4px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options{max-height:170px;overflow:auto}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-empty{text-align:center;line-height:30px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option{height:28px;line-height:28px;padding:0 8px;max-width:240px;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option.selected{background-color:var(--ti-grid-header-background-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option svg{font-size:var(--ti-common-font-size-2);fill:var(--ti-grid-normal-text-color);margin-right:8px;outline:0;vertical-align:middle}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option svg:hover{fill:var(--ti-grid-primary-hover-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__enum .tiny-grid__filter-options .tiny-grid__filter-option svg.is-checked{fill:var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option{margin:0;height:24px;line-height:24px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option a{color:var(--ti-grid-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios{margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio{width:auto;display:inline-block}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio .tiny-grid-radio__label{color:var(--ti-grid-text-color);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:auto;max-width:80%}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio+.tiny-grid-radio{margin-left:0}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio:nth-child(2){text-align:center}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__radios label.tiny-grid-radio:nth-child(3){text-align:right}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel .tiny-grid__filter-option.filter-option__btns{margin:8px 0 16px;text-align:center}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__simple{padding:0}.tiny-grid__filter-wrapper .tiny-grid__filter-body .tiny-grid__filter-panel.filter-panel__simple .tiny-grid__filter-option.filter-option__btns{padding:var(--ti-grid-filter-button-group-size) 0;margin:0 var(--ti-grid-filter-button-group-size);border-top:1px solid var(--ti-grid-popup-border-color);text-align:left;height:auto}.tiny-grid__filter-wrapper .tiny-grid__filter-body .filter-option__input>input{width:100%;border:solid 1px #bdbdbd;border-radius:var(--ti-grid-border-radius);outline:0;padding:0 8px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:inherit;height:30px}.tiny-grid__filter-wrapper .tiny-grid__filter-body .filter-option__input>input:focus{border:1px solid var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-footer{border-top:1px solid var(--ti-grid-popup-border-color);padding:8px}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button{background-color:transparent;padding:0 3px;border:0;font-size:13px;color:var(--ti-grid-text-color);cursor:pointer}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button:focus{outline:0}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button:hover{color:var(--ti-grid-primary-color)}.tiny-grid__filter-wrapper .tiny-grid__filter-footer button.is__disabled{color:var(--ti-grid-column-icon-text-color);cursor:not-allowed}.tiny-grid__filter-simple{background-color:#fff;min-width:80px}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple{border-bottom:none}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date-title{padding:var(--ti-grid-filter-button-group-size);color:var(--ti-grid-filter-date-title-color)}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date{padding:0 var(--ti-grid-filter-button-group-size);min-width:270px}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date .tiny-grid__filter-date-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:var(--ti-grid-filter-button-group-size);color:var(--ti-grid-filter-date-color)}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-date .tiny-grid__filter-date-item .tiny-grid__filter-date-pick{width:160px}.tiny-grid__filter-simple .tiny-grid__filter-body .filter-panel__simple .tiny-grid__filter-option.filter-option__date-button.filter-option__btns{text-align:right}.tiny-grid-loading{display:none;position:absolute;width:100%;height:100%;top:0;left:0;z-index:99;background-color:var(--ti-grid-loading-background-color)}.tiny-grid-loading .tiny-grid-loading__wrap{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.tiny-grid-loading .tiny-grid-loading__wrap.tiny-loading__spinner{margin-top:0}.tiny-grid-loading .tiny-grid-loading__wrap .circular{width:var(--ti-grid-loading-width-size);height:var(--ti-grid-loading-height-size)}.tiny-grid-loading .tiny-grid-loading__round{width:46px;height:46px;position:relative;margin:0 auto;background:-webkit-gradient(linear,left bottom,left top,from(transparent),to(transparent));background:linear-gradient(to top,transparent,transparent)}.tiny-grid-loading .tiny-grid-loading__round span{display:inline-block;width:10px;height:10px;border-radius:50%;background:-webkit-gradient(linear,left top,left bottom,from(#000),to(#000));background:linear-gradient(#000,#000);position:absolute;-webkit-animation:load 1.04s ease infinite;animation:load 1.04s ease infinite}@-webkit-keyframes load{0%{opacity:10}100%{opacity:.1}}@keyframes load{0%{opacity:10}100%{opacity:.1}}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(1){top:68%;left:68%;animation-delay:0s;-webkit-animation-delay:0s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(2){top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);animation-delay:.1s;-webkit-animation-delay:.1s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(3){top:10%;left:68%;animation-delay:.2s;-webkit-animation-delay:.2s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(5){top:10%;left:12%;animation-delay:.4s;-webkit-animation-delay:.4s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(4){top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);animation-delay:.3s;-webkit-animation-delay:.3s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(8){bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);animation-delay:.7s;-webkit-animation-delay:.7s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(6){top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);animation-delay:.5s;-webkit-animation-delay:.5s}.tiny-grid-loading .tiny-grid-loading__round span:nth-child(7){top:68%;left:12%;animation-delay:.6s;-webkit-animation-delay:.6s}.tiny-grid .tiny-grid-body__row.row__pending{color:var(--ti-grid-error-color);text-decoration:line-through;cursor:no-drop}.tiny-grid .tiny-grid-body__row.row__pending .tiny-grid-body__column{position:relative}.tiny-grid .tiny-grid-body__row.row__pending .tiny-grid-body__column:after{content:'';position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--ti-grid-error-color);z-index:1}.tiny-grid.mark-insert .tiny-grid-body__row.row__new{background-color:var(--ti-grid-new-row-background-color)}.tiny-grid-menu__clild-wrapper,.tiny-grid-menu__wrapper{display:none;position:absolute;top:0;left:0;z-index:5000;font-size:var(--ti-grid-font-size);background-color:var(--ti-grid-light-color);-webkit-box-shadow:2px 2px 4px -2px rgba(0,0,0,.2);box-shadow:2px 2px 4px -2px rgba(0,0,0,.2);padding:0 1px;color:var(--ti-grid-text-color);font-family:var(--ti-grid-font-family);overflow:visible;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-grid-menu__clild-wrapper.show,.tiny-grid-menu__wrapper.show{display:block}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper{margin:0;padding:0;list-style-type:none;border-bottom:1px solid var(--ti-grid-border-color)}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li{position:relative;margin:1px 0;border:1px solid transparent}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li:last-child,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li:last-child,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li:last-child,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li:last-child{border:0}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__active,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__active{color:#2b2b2b;background-color:#c5c5c5;border-color:#c5c5c5}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__disabled .tiny-grid-menu__link,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__disabled .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__disabled .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__disabled .tiny-grid-menu__link{color:var(--ti-grid-text-color);cursor:initial}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active{border-color:#c0c1c2;background-color:#eee}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active:hover,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active:hover,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper li.link__disabled.link__active:hover,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper li.link__disabled.link__active:hover{background-color:inherit}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link{display:block;padding:0 30px;min-width:120px;max-width:180px;line-height:26px;color:var(--ti-grid-text-color)}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix{position:absolute;top:5px;margin-right:5px;font-size:var(--ti-common-font-size-2)}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-prefix{left:5px}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix{right:5px}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild{top:8px}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-suffix.suffix__haschild:before{position:absolute;content:'';border:4px solid transparent;border-left-color:#727272}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__link .tiny-grid-menu__link-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__clild-wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link,.tiny-grid-menu__wrapper .tiny-grid-menu__option-wrapper .tiny-grid-menu__clild-wrapper .tiny-grid-menu__link{max-width:180px;padding:0 20px 0 30px}.tiny-grid-menu__clild-wrapper{display:none;z-index:5100;top:0;left:100%}.tiny-grid-custom{width:100%}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head{white-space:nowrap;margin:0;overflow:hidden;height:var(--ti-grid-custom-head-height);width:100%;position:relative}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul{height:var(--ti-grid-custom-head-height);border-bottom:1px solid var(--ti-grid-border-color);list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li{float:left;margin-right:-1px;cursor:pointer;line-height:28px;padding:0 20px;color:var(--ti-grid-text-color);min-width:90px;height:var(--ti-grid-custom-head-height);line-height:var(--ti-grid-custom-head-height)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-head ul li.tiny-grid-custom__tabs-selected{color:var(--ti-grid-primary-color);border-bottom:3px solid var(--ti-grid-primary-color);font-weight:700}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body{overflow-y:auto;border:0;padding:12px 0}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__alert{position:relative;border:1px solid;border-radius:var(--ti-grid-border-radius);height:var(--ti-grid-custom-body-list-height);line-height:var(--ti-grid-custom-body-list-height);padding-left:8px;overflow:hidden;background:var(--ti-grid-row-hover-background-color);border-color:#91d5ff;color:var(--ti-grid-text-color);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__alert .tiny-svg{font-size:var(--ti-common-font-size-3);fill:var(--ti-grid-primary-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__alert p{display:inline-block;line-height:16px;padding-left:8px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting{border-bottom:1px solid var(--ti-grid-border-color);padding:12px 0 24px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item{font-size:var(--ti-grid-font-size);padding:10px 8px;overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon{font-size:0}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .icon{display:inline-block}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .icon:not(:last-child){margin-right:12px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg{font-size:var(--ti-common-font-size-1);fill:var(--ti-grid-normal-text-color);cursor:pointer}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg:hover{fill:var(--ti-grid-primary-disabled-text-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.lock,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.open,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.sort{fill:var(--ti-grid-primary-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.lock:hover,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.open:hover,.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.sort:hover{fill:var(--ti-grid-primary-hover-color)}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting .setting-item .setting-icon .tiny-svg.is-visible{visibility:hidden;pointer-events:none}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.label{width:26%;display:inline-block;text-align:right;padding-right:24px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.selection{-webkit-box-flex:1;-ms-flex:1;flex:1;display:inline-block}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.selection .tiny-grid-radio{margin-right:10px;margin-left:0!important}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid-custom__tabs-body .tabs-body-item .tiny-grid-custom__setting.other-setting .setting-item span.selection .tiny-grid-radio__label{height:16px;line-height:18px}.tiny-grid-custom .tiny-grid-custom__tabs .tiny-grid__body-wrapper{max-height:45vh;border-bottom:0}.tiny-grid-custom .tiny-grid-custom__footer{margin:12px;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid-custom-switch{margin-top:8px;padding-bottom:12px;border-bottom:1px solid #d9d9d9}.tiny-grid-custom-switch .tiny-grid-custom-switch__title{margin-bottom:12px;font-weight:400}.tiny-grid-custom-switch .tiny-grid-custom-switch__title .tiny-svg{font-size:var(--ti-common-font-size-3)}.tiny-grid-custom-switch .tiny-grid-custom-switch__title .tiny-alert__description{font-size:var(--ti-common-font-size-1)}.tiny-grid-custom-switch .tiny-grid-custom-switch__label{text-align:right;position:relative;top:2px;padding-right:3px}.tiny-grid-custom-switch .tiny-grid-custom-switch__content{position:relative;top:-4px}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn{fill:#1890ff;font-size:var(--ti-common-font-size-1);cursor:pointer}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn:hover{fill:#096dd9}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn--disabled,.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn--disabled:hover{fill:#bfbfbf;cursor:not-allowed}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn+.tiny-grid-custom-switch__icon-btn{margin-left:12px}.tiny-grid-custom-switch .tiny-grid-custom-switch__icon-btn:first-child{margin-left:20px}.tiny-grid-custom-switch__dialog-box .tiny-grid-custom-switch__confirm-btns{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:85%}.tiny-grid-custom-switch__dialog-box .tiny-grid-custom-switch__del-tip{text-align:center}.tiny-grid-toolbar{padding:12px 0}.tiny-grid-toolbar:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden}.tiny-grid-toolbar svg{fill:var(--ti-grid-primary-color);font-size:var(--ti-common-font-size-1)}.tiny-grid-toolbar.is__loading{position:relative}.tiny-grid-toolbar.is__loading:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background-color:var(--ti-grid-loading-background-color)}.tiny-grid-toolbar.size__mini,.tiny-grid-toolbar.size__small{padding:8px 0}.tiny-grid-toolbar.size__medium .tiny-grid-custom__setting-btn,.tiny-grid-toolbar.size__medium .tiny-grid-refresh__btn{font-size:17px}.tiny-grid-toolbar.size__small .tiny-grid-custom__setting-btn,.tiny-grid-toolbar.size__small .tiny-grid-refresh__btn{font-size:15px}.tiny-grid-toolbar.size__mini .tiny-grid-custom__setting-btn,.tiny-grid-toolbar.size__mini .tiny-grid-refresh__btn{font-size:var(--ti-common-font-size-1)}.tiny-grid-toolbar .tiny-grid-custom__wrapper,.tiny-grid-toolbar .tiny-grid-fullscreen__wrapper,.tiny-grid-toolbar .tiny-grid-refresh__wrapper,.tiny-grid-toolbar .tiny-grid-tools__wrapper{float:right;width:var(--ti-grid-toolbar-icon-btn-width);height:var(--ti-grid-toolbar-icon-btn-height);line-height:var(--ti-grid-toolbar-icon-btn-height);border:solid 1px var(--ti-grid-toolbar-icon-btn-border-color);border-radius:var(--ti-grid-toolbar-icon-btn-border-radius);text-align:center;margin:0 4px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-grid-toolbar .tiny-grid-custom__wrapper:hover,.tiny-grid-toolbar .tiny-grid-fullscreen__wrapper:hover,.tiny-grid-toolbar .tiny-grid-refresh__wrapper:hover,.tiny-grid-toolbar .tiny-grid-tools__wrapper:hover{border-color:var(--ti-grid-primary-color)}.tiny-grid-toolbar .tiny-grid-custom__wrapper{position:relative}.tiny-grid-toolbar .tiny-grid-custom__wrapper.is__active .tiny-grid-custom__setting-btn{border-color:var(--ti-grid-primary-color)}.tiny-grid-toolbar .tiny-grid-custom__wrapper.is__active .tiny-grid-custom__option-wrapper{display:block}.tiny-grid-toolbar .tiny-grid-custom__setting-btn,.tiny-grid-toolbar .tiny-grid-fullscreen__btn,.tiny-grid-toolbar .tiny-grid-refresh__btn{font-size:var(--ti-common-font-size-2);vertical-align:middle;width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tiny-grid-toolbar .tiny-grid-custom__setting-btn>i,.tiny-grid-toolbar .tiny-grid-fullscreen__btn>i,.tiny-grid-toolbar .tiny-grid-refresh__btn>i{display:block;color:var(--ti-grid-primary-color);line-height:28px}.tiny-grid-toolbar .tiny-grid-custom__option-wrapper{display:none;position:absolute;right:0;text-align:left;background-color:var(--ti-grid-light-color);z-index:19;max-height:210px;overflow:auto;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.2)}.tiny-grid-toolbar .tiny-grid-custom__option-wrapper .tiny-grid-custom__option{padding:5px 5px;border:1px solid var(--ti-grid-border-color);border-radius:2px;font-weight:700;font-size:var(--ti-common-font-size-1)}.tiny-grid-toolbar .tiny-grid-custom__option-wrapper .tiny-grid-custom__option>.tiny-grid-checkbox{display:block;padding:5px;margin:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-grid__select-toolbar{position:absolute;background-color:var(--ti-common-color-light)}.tiny-grid__select-toolbar .tiny-grid-toolbar{padding:2px 0 2px 6px}.tiny-grid-checkbox{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiny-grid-checkbox.size__mini,.tiny-grid-checkbox.size__small{font-size:var(--ti-grid-font-size)}.tiny-grid-checkbox.size__mini>input+.tiny-grid-checkbox__icon,.tiny-grid-checkbox.size__small>input+.tiny-grid-checkbox__icon{font-size:var(--ti-grid-checkbox-icon-size)}.tiny-grid-checkbox+.tiny-grid-checkbox{margin-left:10px}.tiny-grid-checkbox>input{display:none}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon{position:relative;display:block;width:1em;height:1em;border-radius:var(--ti-grid-checkbox-border-radius);font-size:var(--ti-common-font-size-2)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon:hover{border-color:var(--ti-grid-primary-hover-color)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon+.tiny-grid-checkbox__label{display:none}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon>svg{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);fill:var(--ti-grid-checkbox-border-color);font-size:var(--ti-grid-select-icon-font-size)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon>svg:hover{fill:var(--ti-grid-primary-color)}.tiny-grid-checkbox>input+.tiny-grid-checkbox__icon>svg.icon-checked-sur{display:none}.tiny-grid-checkbox>input:checked+.tiny-grid-checkbox__icon+.tiny-grid-checkbox__label{color:var(--ti-grid-primary-color)}.tiny-grid-checkbox>input:checked+.tiny-grid-checkbox__icon>svg.icon-check{display:block}.tiny-grid-checkbox>input:checked+.tiny-grid-checkbox__icon>svg.icon-checked-sur{display:block;fill:var(--ti-grid-checkbox-bg-color-checked)}.tiny-grid-checkbox.is__indeterminate>input:not(:checked)+.tiny-grid-checkbox__icon{border:none}.tiny-grid-checkbox.is__indeterminate>input:not(:checked)+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-checkbox-bg-color-checked);border-radius:var(--ti-grid-checkbox-border-radius)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate){cursor:not-allowed}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-border-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input+.tiny-grid-checkbox__icon>svg path:first-of-type{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input+.tiny-grid-checkbox__icon+.tiny-grid-checkbox__label{color:var(--ti-grid-disabled-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input:checked+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-disabled-color)}.tiny-grid-checkbox.is__disabled:not(.is__indeterminate)>input:checked+.tiny-grid-checkbox__icon>svg path:first-child{fill:var(--ti-grid-disabled-color)}.tiny-grid-checkbox.is__disabled.is__indeterminate{cursor:not-allowed}.tiny-grid-checkbox.is__disabled.is__indeterminate>input+.tiny-grid-checkbox__icon>svg{fill:var(--ti-grid-disabled-color)}.tiny-grid-checkbox .tiny-grid-checkbox__label{padding-left:5px;vertical-align:middle;display:inline-block}.tiny-grid-radio{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tiny-grid-radio.size__mini,.tiny-grid-radio.size__small{font-size:var(--ti-grid-font-size)}.tiny-grid-radio.size__mini>input+.tiny-grid-radio__icon,.tiny-grid-radio.size__small>input+.tiny-grid-radio__icon{font-size:var(--ti-common-font-size-1)}.tiny-grid-radio>input{display:none}.tiny-grid-radio>input+.tiny-grid-radio__icon{position:relative;display:inline-block;width:1em;height:1em;vertical-align:middle;border-radius:50%;font-size:var(--ti-common-font-size-2)}.tiny-grid-radio>input+.tiny-grid-radio__icon>svg{fill:var(--ti-grid-radio-border-color);vertical-align:top;font-size:var(--ti-grid-select-icon-font-size)}.tiny-grid-radio>input+.tiny-grid-radio__icon>svg:hover{fill:var(--ti-grid-primary-hover-color)}.tiny-grid-radio>input+.tiny-grid-radio__icon>svg.icon-radio-selected{display:none}.tiny-grid-radio>input:checked+.tiny-grid-radio__icon>svg.icon-radio{display:none}.tiny-grid-radio>input:checked+.tiny-grid-radio__icon>svg.icon-radio-selected{display:inline-block;fill:var(--ti-grid-radio-bg-color-checked)}.tiny-grid-radio>input:checked+.tiny-grid-radio__icon+.tiny-grid-radio__label{color:var(--ti-grid-primary-color)}.tiny-grid-radio.is__disabled{cursor:not-allowed}.tiny-grid-radio.is__disabled>input+.tiny-grid-radio__icon>svg{fill:var(--ti-grid-border-color)}.tiny-grid-radio.is__disabled>input+.tiny-grid-radio__icon>svg path:last-child{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-radio.is__disabled>input+.tiny-grid-radio__icon+.tiny-grid-radio__label{color:var(--ti-grid-radio-border-color)}.tiny-grid-radio.is__disabled>input:checked+.tiny-grid-radio__icon>svg{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-radio.is__disabled>input:checked+.tiny-grid-radio__icon>svg path:first-child{fill:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-radio .tiny-grid-radio__label{padding-left:5px;vertical-align:middle;display:inline-block}.tiny-grid-radio+.tiny-grid-radio{margin-left:10px}.tiny-grid-input__wrapper{font-size:var(--ti-common-font-size-base);font-size:var(--ti-grid-font-size,12px);display:inline-block}.tiny-grid-input__wrapper.type__textarea{width:100%}.tiny-grid-input__wrapper .tiny-grid-input,.tiny-grid-input__wrapper .tiny-grid-textarea{border-radius:4px;outline:0;padding:4px 8px;width:100%;color:var(--ti-grid-text-color);border:1px solid var(--ti-grid-border-color);background-color:#fff}.tiny-grid-input__wrapper .tiny-grid-input:focus,.tiny-grid-input__wrapper .tiny-grid-textarea:focus{border:1px solid var(--ti-grid-primary-color)}.tiny-grid-input__wrapper .tiny-grid-input[disabled],.tiny-grid-input__wrapper .tiny-grid-textarea[disabled]{cursor:not-allowed;background-color:var(--ti-grid-input-disabled-bg-color)}.tiny-grid-input__wrapper .tiny-grid-input{height:32px}.tiny-grid-input__wrapper .tiny-grid-textarea{height:100%}.tiny-grid-input__wrapper.size__medium .tiny-grid-input{height:36px}.tiny-grid-input__wrapper.size__small .tiny-grid-input{height:32px}.tiny-grid-input__wrapper.size__mini .tiny-grid-input{height:28px}.tiny-grid-button{position:relative;text-align:center;background-color:var(--ti-grid-light-color);outline:0;font-size:var(--ti-grid-font-size);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tiny-grid-button.is__disabled{color:var(--ti-grid-primary-disabled-text-color)}.tiny-grid-button.is__disabled:not(.is__loading){cursor:no-drop}.tiny-grid-button:not(.is__disabled){color:var(--ti-grid-primary-color);cursor:pointer}.tiny-grid-button.is__loading:before{content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35);pointer-events:none}.tiny-grid-button.type__text{text-decoration:none;border:0;background-color:transparent}.tiny-grid-button.type__text:not(.is__disabled):hover{color:var(--ti-grid-primary-hover-color)}.tiny-grid-button.type__button{padding:0 var(--ti-grid-toolbar-btn-padding-horizontal);line-height:var(--ti-grid-toolbar-btn-line-height);border:1px solid var(--ti-grid-toolbar-btn-border-color);border-radius:var(--ti-grid-toolbar-btn-border-radius);min-width:var(--ti-grid-toolbar-btn-min-width)}.tiny-grid-button.type__button.theme__primary{color:var(--ti-grid-light-color);border-color:var(--ti-grid-primary-color);background-color:var(--ti-grid-primary-color)}.tiny-grid-button.type__button.theme__primary:not(.is__disabled):hover{color:var(--ti-grid-light-color);background-color:var(--ti-grid-primary-hover-color);border-color:var(--ti-grid-primary-hover-color)}.tiny-grid-button.type__button.theme__primary:not(.is__disabled):active{color:var(--ti-grid-light-color);background-color:var(--ti-grid-primary-active-color);border-color:var(--ti-grid-primary-active-color)}.tiny-grid-button.type__button:not(.theme__primary):not(.is__disabled):hover{color:var(--ti-grid-primary-color);border-color:var(--ti-grid-toolbar-btn-hover-border-color)}.tiny-grid-button.type__button:not(.theme__primary):not(.is__disabled):active{color:var(--ti-grid-primary-active-color);border-color:var(--ti-grid-primary-active-color)}.tiny-grid-button.type__button.size__medium{padding:0 14px;line-height:28px}.tiny-grid-button.type__button.size__small{padding:0 12px;line-height:26px}.tiny-grid-button.type__button.size__mini{padding:0 10px;line-height:24px}.tiny-grid-button.size__mini,.tiny-grid-button.size__small{font-size:var(--ti-common-font-size-base)}.tiny-grid-button+.tiny-grid-button,.tiny-grid-button+.tiny-grid-button__dropdown{margin-left:8px}.tiny-grid-button+.tiny-grid-button.size__medium,.tiny-grid-button+.tiny-grid-button__dropdown.size__medium{margin-left:8px}.tiny-grid-button+.tiny-grid-button.size__small,.tiny-grid-button+.tiny-grid-button__dropdown.size__small{margin-left:6px}.tiny-grid-button+.tiny-grid-button.size__mini,.tiny-grid-button+.tiny-grid-button__dropdown.size__mini{margin-left:4px}.tiny-grid-button__loading-icon{margin-right:5px}.tiny-grid-button__dropdown,.tiny-grid-button__wrapper{display:inline-block}.tiny-grid-button__dropdown{position:relative}.tiny-grid-button__dropdown+.tiny-grid-button,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown{margin-left:8px}.tiny-grid-button__dropdown+.tiny-grid-button.size__medium,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown.size__medium{margin-left:8px}.tiny-grid-button__dropdown+.tiny-grid-button.size__small,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown.size__small{margin-left:6px}.tiny-grid-button__dropdown+.tiny-grid-button.size__mini,.tiny-grid-button__dropdown+.tiny-grid-button__dropdown.size__mini{margin-left:4px}.tiny-grid-button__dropdown.is__active>.tiny-grid-button.theme__primary{color:var(--ti-grid-light-color);background-color:var(--ti-grid-primary-hover-color);border-color:var(--ti-grid-primary-hover-color)}.tiny-grid-button__dropdown.is__active>.tiny-grid-button:not(.is__disabled):not(.theme__primary){color:var(--ti-grid-primary-color);border-color:var(--ti-grid-toolbar-btn-hover-border-color)}.tiny-grid-button__dropdown.is__active .tiny-grid-button__dropdown-wrapper{display:block}.tiny-grid-button__dropdown.is__active .tiny-grid-button__dropdown-arrow{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.tiny-grid-button__dropdown.is__active .tiny-grid-button__dropdown-arrow.tiny-grid-icon__arrow-bottom{margin-top:-2px}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-arrow{font-size:var(--ti-common-font-size-base);margin-left:5px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-wrapper{display:none;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-top:5px;z-index:100;padding:5px;background-color:var(--ti-grid-light-color);border-radius:4px;border:1px solid var(--ti-grid-border-color);-webkit-box-shadow:0 1px 6px rgba(0,0,0,.2);box-shadow:0 1px 6px rgba(0,0,0,.2)}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-wrapper>.tiny-grid-button{margin:0;display:block;width:100%;border:0}.tiny-grid-button__dropdown .tiny-grid-button__dropdown-wrapper>.tiny-grid-button.type__text{padding:2px 8px}.tiny-grid-button__wrapper .tiny-input{width:270px}.tiny-grid-button__wrapper .tiny-button,.tiny-grid-button__wrapper .tiny-input{vertical-align:middle}.tiny-grid__wrapper{--ti-grid-font-family:var(--ti-common-font-family, 'Helvetica', 'Arial', 'PingFangSC-Regular', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'Microsoft JhengHei');--ti-grid-header-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-grid-header-font-weight:var(--ti-common-font-weight-4, normal);--ti-grid-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-grid-icon-color:var(--ti-common-color-info-normal, #252b3a);--ti-grid-light-color:var(--ti-common-color-light, #fff);--ti-grid-error-color:var(--ti-common-color-error-text, #de504e);--ti-grid-error-bg-color:var(--ti-common-color-error-bg, #ffeeed);--ti-grid-success-color:var(--ti-common-color-success, #50d4ab);--ti-grid-warning-color:var(--ti-common-color-warn, #fa9841);--ti-grid-disabled-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-grid-normal-text-color:var(--ti-common-color-placeholder, #adb0b8);--ti-grid-font-size:var(--ti-common-font-size-base, 12px);--ti-grid-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-grid-body-td-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-header-repair-border-color:var(--ti-common-color-transparent, transparent);--ti-grid-radio-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-grid-radio-bg-color-checked:var(--ti-grid-primary-color);--ti-grid-checkbox-border-color:var(--ti-common-color-line-normal, #adb0b8);--ti-grid-select-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-grid-checkbox-bg-color-checked:var(--ti-grid-primary-color);--ti-grid-checkbox-icon-size:var(--ti-common-font-size-1, 14px);--ti-grid-checkbox-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-grid-header-background-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-grid-new-row-background-color:var(--ti-common-color-bg-white-emphasize, #f2f5fc);--ti-grid-primary-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-grid-primary-hover-color:var(--ti-common-color-primary-hover, #7693f5);--ti-grid-primary-active-color:var(--ti-common-color-primary-active, #7693f5);--ti-grid-primary-disabled-text-color:var(--ti-common-color-text-disabled, #adb0b8);--ti-grid-custom-head-height:var(--ti-common-space-10x, 40px);--ti-grid-custom-body-list-height:var(--ti-common-size-height-small, 32px);--ti-grid-header-resizable-bg-color:var(--ti-common-color-text-white, #fff);--ti-grid-header-resizable-line-height:100%;--ti-grid-input-disabled-bg-color:var(--ti-common-color-bg-disabled, #f5f5f6);--ti-grid-popup-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-filter-button-group-size:var(--ti-common-space-10, 10px);--ti-grid-filter-date-title-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-grid-filter-date-color:var(--ti-common-color-text-primary, #252b3a);--ti-grid-tree-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-grid-tree-icon-hover-color:var(--ti-common-color-icon-hover, #5e7ce0);--ti-grid-row-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-grid-row-selected-background-color:var(--ti-common-color-bg-white-normal, #fff);--ti-grid-row-striped-background-color:#fafafa;--ti-grid-row-hover-background-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-grid-column-hover-background-color:#d7effb;--ti-grid-column-current-background-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-grid-column-icon-text-color:var(--ti-common-color-icon-normal, #575d6c);--ti-grid-input-height:var(--ti-common-size-height-normal, 28px);--ti-grid-column-checked-border-width:var(--ti-common-border-weight-1, 2px);--ti-grid-loading-background-color:rgba(0, 0, 0, 0.2);--ti-grid-loading-width-size:var(--ti-common-size-10x, 40px);--ti-grid-loading-height-size:var(--ti-common-size-10x, 40px);--ti-grid-line-height-number:var(--ti-common-line-height-number, 1.5);--ti-grid-medium-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-default-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-small-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-mini-header-column-height:var(--ti-common-size-height-normal, 28px);--ti-grid-medium-column-height:var(--ti-common-size-13x, 52px);--ti-grid-default-column-height:calc(var(--ti-common-space-10x, 40px) + 2px);--ti-grid-small-column-height:var(--ti-common-size-9x, 36px);--ti-grid-mini-column-height:var(--ti-common-size-7x, 28px);--ti-grid-td-padding-vertical:calc(var(--ti-common-space-1, 1px) * 2);--ti-grid-td-padding-horizontal:var(--ti-common-space-2x, 8px);--ti-grid-header-icon-font-size:var(--ti-common-font-size-2, 16px);--ti-grid-column-icon-scale-size:1;--ti-table-nodata-td-bg-img-url:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAFPr3GUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADPNJREFUeNqUULENwCAMK0wsSDmBk3oCn/UFegR7N84oH6SAoAISFdWShwQbRxaIuDFoSzE/SEaIzAycgY2quBNNiawnfYl7iOGkEAJRTDsrf/yecQwJAEAUWmvS0ltdjJEYlFL9eA4J3nticM71477llhIB17hKo9WQaVbi2dBoO6Gb3x8BhE1DAFRxA7ocI1LCwxcXjMhpiFCk/YcpdoCJvH37FkXFlStXUDSAFO8HsVavXs3w69cvFMXCwsIMu3btwkz7Hz9+xBoxjx49wlQsKSmJ4VA2NjY0lyOBZ8+egWlgssUaQyDFB3BF35s3b1D4pOQmeE5iJKQQRLCgC6DZgmIIQABhSxsw7PCfOHAAlxnYBCkBCUQn1Fu3bjF8+fKF4dy5cwwpKSkMc+bMAcf38+fPwfKurq4M8vLyOMMQa+xs3boVbIC3tzfWxIMMQBYKCQkxBAUFYY3NAHRRkMEBAQHgtI2nfAHnBRsbG4Z3795hzWkgw9djk3n9+jVm8kYDoFyJo+KB551GdEFQWMJ8QAiIiooyGBkZYU+8uHIEqJr4/v07To0wy1lZWRlERESwmo03taCnDlAEgyIblnJAAMTGlVrwlcbkAqzpHFdrgKjqGJsgQADWqxjHQRgI2lEqGn8h10F5NS3iO1F+cj0PoM0DaE6iRbwA6SQekDRUIHE3lhKZZRfMwUhuzHq9LLOzy1L5u+tOyv2yduaIqLVEQYqvjakYOfvzjtxyF2gu4qfaj5FGjLHHrHEaxeOqocDnp/UnaXWWZavEzfNc5PTJHUDdSH0APRdsreo9qFbHceydVIgYznCiNFKh6bpODcOgwjCc6TQ0/IWqqmyX6ft+1jBmPIYBDMuyXI22rmtxhDlLh2g6ED0u9AXrGJNV27YqiqKJYwpjjLXl9JkraeuUAh+I9kOMfE3T+EfMIU3TWSqSJFFFUYh98MY9wGu6QEsKgmCyJzl19fhflbdg89ZjSOWVyyt47fa7F9ALMZMIo4P2/V/YAk1ZoY9yytFNH+FU4jEMPjc4/OYCWmqmrnAbZv/jb/1Ih34FYM6KURuGoajieAwkF8jQwVlsqLdshq5eSm7Q3iBX6QmKfYIO3jKkFzD4CM0eaMGQzbR9wko/qSV9K3HaB4IEK9b395f+ey/c9t81Zq0mdcXadW1ONgRpje9iODx9jzWrUM54hUMCtVmZ6L6NQ107YNn+2rUfhiKIQ+L5ouQzz3MRRZEIgkBKQ2WVUOo3mUw6r+E76Ak+2/QsieunZFxkPZqUMlJcgd9zGuIJ4GccM12ZHnO324nNZiOWy6XwfV9SJ2aGrNjv95JroOkmSSIWi4Vp+pb6P7c28Q7+gYDH47F0KzmanAOYBwDoG3g4Ax/I9IttlpIlQNM01rtS+kepts5sUBlP05QT9BSZvu+TGbWI8a5T+ymJ8kKZqUx3upEO5/QvgDDTRUxvBoDZZHJdUGZIwuFw6FVSXst2rMDxptSAbSMi0ygLjQ10PA7n87nchFAOfTa2p+s6pwjD8OhG2zYialoNk/hFEiAoELTJC+tqLm+cifTfkjiOZaZ0sG0+XY0zceMTAm3thtgoVVXJo8/zvF7Z6SoPKFh1KjGRySS7mN1FUchxDsqy/MyyrM9PXk18ms0/6ro28g7aLOg1g6TUYUX7iY5Pxy09/A8Ycc/pqp38+MfBjlyVyzUVzIpDK/p0xBl5+rsLBZmRe444AQNfAjBvBbdtBDFwdfBPjyQNCEkFKcF2BUEaEOwKknTiVBClAcWpIPZP+jk//ewOFOunl+M5HA3qsLsc3u35NMDCEGzvDSgulxzyPJbO4X1zSZ09r9PI738/rwVLyi4JuksIX3tEvLtGghhcQhDcJKzZFefNnq7cg4UUvKeFD9+f0JoiKUH6bbPpl4Ejx7YxTO+DOMYl82hZPWfpi5FuxTdWKlFlCP8Y+fp+8rgHYu79keQdUVeJWfpYCIurXFmWpvOL5XJZT0jojgaKAqSfkoLq30nHH4AkJjMNJN4F1drVpOlIgYGV1WpVP5jR7iSHljkq/MRnp0o1iV3jT57KpS+66njSTg5BTZUxKCWJdbg5D9wjGxfxdUPa1Uh07F3Q3b35fM6UYLVvU6Rl5kl6wbon3IewSA2bzaZehCH+4uzRYo0myk4jMIopVqwZnsBHidNXngdBERobJ566TxRTxNwUINnKIARE+FRYwx6YxvDMMYiARefTophixWZENGkmymAPDCvDEPp/CFxQpGEtPQrLanKz2cz0aVgbpHHQSXyiSe92uzCdTk1RXQvqOalXIgXCHAzSHq7sXW6JpWEVWKdkjMbBhqUHIZ26FPpAvrXYuFOpwvbgQTnALazQCJL6JQCPpU+8pBn3yPVaNOkO4Q64rfr4YwrSusg1gJxi+oHu4u5uWe6hQ6PVtWJcLYJF1ehsJpDgI3pst1sz5CGXwLJCHtzDebEADyBNTbPgoMCKGIK0SiUhzbgYSHv77CD9wIY9WBpAc78EJEY7SH/TIe+n9deYDtjv97WlSwBFsLgHZkYceuILaTOnxnWLB63X62yW5ynZkDShE9x+oysV6mKF7c2ARWmJPV646svlLJDtOPigTHZ7NQ/57MjqgO85sQZF2y9mFxS7cBmv5hHLZVyaR0LLuwvGpM0r40BdSpEO4XhG3KJDhRXzdYyEy5AYCKtYPxqB8KJrajoZwcc/WLc0k+VBTf38CmQfGyOZaQWbml43G94OeOCKtuRC6wKaMLkKiXPlgjx6tJnlzeprx1X8r/26aZf1X4D2zienjRgK4yZCQmwIbFmNlAMk3USwSnKCcoPCEXqD3qDlBKQ3oCdowpJVWLPJEeACqPqN/EZmOjOZ2M+TyZ8njaBFcuxvnj8/29970brQ97XEvr0b+7MbYZ7MrHvP6obhMaxJoMc2Av7WksX2t10KZtsO9MDuM0ZmO2xud8uLbQD6xnpJ12y3vdvZ99gmoBPbob7ZTXuxDrTcFNC88QezX1YZ4msDvY8ABwO+DtBt0iW3xb7UXTzrAH1uQ6D+AddSDid0fQsBuvaR3sGqdepVQBem6AcFqvO5eX19/fR/HAzzSOq/xt+kLlLRhWGdmkkBVpqHXQb0LNZGg4SYk5OTdZNb1AwRIcXUuNwZjaIMcW4KJHedpkDGu3jILNoUyJiUD8vPLEUbFW3r86e7Uw2Q5Y6IqxWuXfLl+dpiaCJFpQGd8HtJHTcfsKfGud10qQNu+RnSusuXJGfTcWiCjEUupfv9fjqgTXq0vHjq9HCxjTaCh36L4qSkpp2PfbdrXQY02+ggSbpwH1ZU/Enqd0ZejGrNNrl5RT6BQ/CQuspPalsCvIcSvczS+5eOE2GoWJ3E9rYYgLI4I/j6+PjIKEQ8X8l+CUfjzV9DW6ODeLRIlhBH5utJhRgyEFcphLKoSl1U1U+0Bfkqv6LAk89QnHVgmxybmhLvVeYKHwAbXqbzeAp1KagGliSJV9uiWy8CDXGzL3UUpeCLoyjT2+2xWTPNoszQ70hiOAsfFOJqMEM4umxmhNIU4iscwp017ktUtHFHM2aWUEm8AuCZ3p6qxszKhOKrBORFRsQDiLwkRJDoZCXaiEAbWbjX0WxNOij6QiIaqIOBDIfDrIpeSNsuR/usAQL02dlZE/xcumFR8Wg0kTwu6M/Pz0HhHd7rnmn4giGFpzHKqLhHEFsDtNtBBsRmpajCvoZH+9BG3oibG+BnfaClk3ge+S/i4Vp5XZPJJKUh2vNt0w3v4GcoBIeI6c0C9B+NODoPtFCGRB4oi9lt+XI0bVKWCUDg516v5wWKG96xg5XjgMhAp19zMY1BHxJ5HB0dpdEHmxkG6HPABAhIygWM/L99jX7RPxdoX0dYYWleCLcC79pAC9gsNrkvMVnb8OCiSsY+cbREHbR5enraBD+D7eOxc3L3oE0fAA0YDIRpGpLpDD9rGlxPZOTyMx4e4WQxvXGROBr6eNH2ahZEMaiDg/+AXDIV47BInEBAjbTtNhbTqQu00dqK53la4uk2GvyMZ0t8HgHoDNP8nSF/+KvxCXgwZ9QSrzIozhbkUnXTRhYnjiDb7wj9+lT1quhyVg1sjPNeavkyKBbFy8vL1hz8X11dpSFnzYQ2b5DLgE53p0ZZlUQZm6enp/R3bqCvr68bv9JyZxlxPUBHsEL1UpWug73z0ihKcFmIWAwZcKieo0qzUfU3Ppsc1QgvmRU1MSWKpTqSMHUhzQ7ayi8wqCtyTOx06B4w/c+LB0Yxl2xpqeTugG1mdw69rg4lPYXot2Z/NdJeYvTQ1IqBDWO6e0ARYxOQSBR6lbWw0+fC5FL6d2iRu7BjDMrWipH+Rqd+bHGkcm/7/6bZaBMJnWPb8bbmG85t/2ZRz1U2kKJ8bhdTnqbTNeQ0bartsW0EelW8PnCe8zVmwtyCt3CeZVsG9g+URCM796dvBgAAAABJRU5ErkJggg==');--ti-grid-toolbar-btn-padding-horizontal:var(--ti-common-space-3x, 12px);--ti-grid-toolbar-btn-line-height:var(--ti-common-space-7x, 28px);--ti-grid-toolbar-btn-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-toolbar-btn-border-radius:calc(var(--ti-common-size-base, 4px) - 2px);--ti-grid-toolbar-btn-min-width:none;--ti-grid-toolbar-btn-hover-border-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-grid-toolbar-icon-btn-height:calc(var(--ti-common-size-7x, 28px) + 2px);--ti-grid-toolbar-icon-btn-width:calc(var(--ti-common-size-7x, 28px) + 2px);--ti-grid-toolbar-icon-btn-border-color:var(--ti-common-color-line-dividing, #dfe1e6);--ti-grid-toolbar-icon-btn-border-radius:calc(var(--ti-common-size-base, 4px) - 1px);--ti-grid-sort-icon-position:static;--ti-grid-sort-icon-right:unset;--ti-grid-expand-background-color:'';--ti-grid-tree-expand-icon-font-size:var(--ti-common-font-size-1, 14px)}.tiny-loading{--ti-loading-text-color:var(--ti-common-color-icon-active, #5e7ce0);--ti-loading-mask-bg-color:var(--ti-common-bg-minor, #ffffff);--ti-loading-text-font-size:var(--ti-common-font-size-1, 14px);--ti-loading-spinner-margin-top:calc(var(--ti-common-space-0, 0px) - 21px);--ti-loading-text-margin-vertical:calc(var(--ti-common-space-base, 4px) - 1px);--ti-loading-text-margin-horizontal:var(--ti-common-space-0, 0px);--ti-loading-fullscreen-small-width:var(--ti-common-size-4x, 16px);--ti-loading-fullscreen-medium-width:var(--ti-common-size-8x, 32px);--ti-loading-fullscreen-large-width:var(--ti-common-size-10x, 40px);--ti-loading-fullscreen-small-height:var(--ti-common-size-4x, 16px);--ti-loading-fullscreen-medium-height:var(--ti-common-size-8x, 32px);--ti-loading-fullscreen-large-height:var(--ti-common-size-10x, 40px);--ti-loading-spinner-small-height:var(--ti-common-size-4x, 16px);--ti-loading-spinner-medium-height:var(--ti-common-size-8x, 32px);--ti-loading-spinner-large-height:var(--ti-common-size-10x, 40px);--ti-loading-spinner-small-width:var(--ti-common-size-4x, 16px);--ti-loading-spinner-medium-width:var(--ti-common-size-8x, 32px);--ti-loading-spinner-large-width:var(--ti-common-size-10x, 40px)}.tiny-loading__mask{position:absolute;z-index:2000;background-color:var(--ti-loading-mask-bg-color);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.tiny-loading__mask.is-fullscreen{position:fixed}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner{margin-top:-25px}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner-small svg{height:var(--ti-loading-fullscreen-small-height);width:var(--ti-loading-fullscreen-small-width)}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner-medium svg{height:var(--ti-loading-fullscreen-medium-height);width:var(--ti-loading-fullscreen-medium-width)}.tiny-loading__mask.is-fullscreen .tiny-loading__spinner-large svg{height:var(--ti-loading-fullscreen-large-height);width:var(--ti-loading-fullscreen-large-width)}.tiny-loading__spinner{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%;text-align:center;position:absolute}.tiny-loading__spinner .tiny-loading__text{color:var(--ti-loading-text-color);margin:var(--ti-loading-text-margin-vertical) var(--ti-loading-text-margin-horizontal);font-size:var(--ti-loading-text-font-size)}.tiny-loading__spinner-small img,.tiny-loading__spinner-small svg{height:var(--ti-loading-spinner-small-height);width:var(--ti-loading-spinner-small-width)}.tiny-loading__spinner-medium img,.tiny-loading__spinner-medium svg{height:var(--ti-loading-spinner-medium-height);width:var(--ti-loading-spinner-medium-width)}.tiny-loading__spinner-large img,.tiny-loading__spinner-large svg{height:var(--ti-loading-spinner-large-height);width:var(--ti-loading-spinner-large-width)}.tiny-loading__spinner .circular{-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite;display:inline-block}.tiny-loading__spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--ti-loading-text-color);stroke-linecap:round}.tiny-loading__spinner svg{fill:var(--ti-loading-text-color)}.tiny-loading__parent-relative{position:relative!important}.tiny-loading__parent-hidden{overflow:hidden!important}.tiny-loading-fade-enter,.tiny-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.tiny-icon-loading{font-size:var(--ti-common-font-size-1);line-height:1;vertical-align:text-top;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.tiny-mobile-loading{--ti-mobile-loading-font-color:var(--ti-mobile-color-text-primary);--ti-mobile-loading-bg-color-primary:var(--ti-mobile-color-bg-mask);--ti-mobile-loading-icon-color:var(--ti-mobile-color-brand-2);--ti-mobile-loading-icon-width:40px;--ti-mobile-loading-icon-height:40px;--ti-mobile-loading-text-font-size:var(--ti-mobile-font-size-s);--ti-mobile-loading-text-margin-top:10px;--ti-mobile-loading-mini-text-margin-left:8px;--ti-mobile-loading-mini-icon-width:14px;--ti-mobile-loading-mini-icon-height:14px;--ti-mobile-loading-small-icon-width:24px;--ti-mobile-loading-small-icon-height:24px;--ti-mobile-loading-medium-icon-width:40px;--ti-mobile-loading-medium-icon-height:40px;--ti-mobile-loading-large-icon-width:96px;--ti-mobile-loading-large-icon-height:96px;display:block;position:absolute;margin:0;top:0;right:0;left:0;bottom:0;-webkit-transition:all 1s cubic-bezier(.4,0,.2,1);transition:all 1s cubic-bezier(.4,0,.2,1);background-color:var(--ti-mobile-loading-bg-color-primary);color:var(--ti-mobile-loading-font-color)}.tiny-mobile-loading__fullscreen{position:fixed;opacity:.8}.tiny-mobile-loading__body{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.tiny-mobile-loading__body .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-icon-width);height:var(--ti-mobile-loading-icon-height);stroke-width:2}.tiny-mobile-loading__body .tiny-mobile-loading__spinner{line-height:var(--tiny-lineHeight-none,1);-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;fill:var(--ti-mobile-loading-icon-color)}.tiny-mobile-loading__body .tiny-mobile-loading__text{display:inline-block;margin-top:var(--ti-mobile-loading-text-margin-top);font-size:var(--ti-mobile-loading-text-font-size)}.tiny-mobile-loading-mini{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.tiny-mobile-loading-mini .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-mini-icon-width);height:var(--ti-mobile-loading-mini-icon-height);stroke-width:1}.tiny-mobile-loading-mini .tiny-mobile-loading__text{margin-top:0;margin-left:var(--ti-mobile-loading-mini-text-margin-left)}.tiny-mobile-loading-small{stroke-width:1}.tiny-mobile-loading-small .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-small-icon-width);height:var(--ti-mobile-loading-small-icon-height)}.tiny-mobile-loading-medium .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-medium-icon-width);height:var(--ti-mobile-loading-medium-icon-height)}.tiny-mobile-loading-large .tiny-mobile-loading__icon{width:var(--ti-mobile-loading-large-icon-width);height:var(--ti-mobile-loading-large-icon-height)}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.component-css-vars-exception{--ti-mobile-exception-main-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-main-message-font-size:13px;--ti-mobile-exception-sub-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-sub-message-font-size:12px;--ti-mobile-exception-footer-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-footer-font-size:12px;--ti-mobile-exception-image-width:200px;--ti-mobile-exception-image-height:100px;--ti-mobile-exception-content-width:234px;--ti-mobile-exception-button-width:136px;--ti-mobile-exception-button-height:42px}.tiny-mobile-exception{--ti-mobile-exception-main-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-main-message-font-size:13px;--ti-mobile-exception-sub-message-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-sub-message-font-size:12px;--ti-mobile-exception-footer-color:var(--ti-mobile-common-color-text-weaken-dark, #999);--ti-mobile-exception-footer-font-size:12px;--ti-mobile-exception-image-width:200px;--ti-mobile-exception-image-height:100px;--ti-mobile-exception-content-width:234px;--ti-mobile-exception-button-width:136px;--ti-mobile-exception-button-height:42px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;background-color:var(--ti-mobile-exception-bg-color,#fff);text-align:center;z-index:9999}.tiny-mobile-exception__content-view{width:var(--ti-mobile-exception-view-size,200px);height:var(--ti-mobile-exception-view-size,200px);background-size:100%}.tiny-mobile-exception__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--ti-mobile-exception-content-width,234px)}.tiny-mobile-exception__image{width:var(--ti-mobile-exception-image-width,200px)}.tiny-mobile-exception__content-nodata{background-image:url(/ui/admin/assets/nodata.png)}.tiny-mobile-exception__content-build{background-image:url(/ui/admin/assets/build.png)}.tiny-mobile-exception__content-busy{background-image:url(/ui/admin/assets/busy.png)}.tiny-mobile-exception__content-noperm{background-image:url(/ui/admin/assets/404.png)}.tiny-mobile-exception__content-pcview{background-image:url(/ui/admin/assets/pcview.png)}.tiny-mobile-exception__content-weaknet{background-image:url(/ui/admin/assets/netcut.png)}.tiny-mobile-exception__content-message{margin-top:12px}.tiny-mobile-exception__content-message button{min-width:var(--ti-mobile-exception-button-width,136px);height:var(--ti-mobile-exception-button-height,42px);margin-top:24px}.tiny-mobile-exception__content-message .main-message{color:var(--ti-mobile-exception-main-message-color,#999);font-size:var(--ti-mobile-exception-main-message-font-size,13px);line-height:1.5}.tiny-mobile-exception__content-message .sub-message{margin-top:4px;color:var(--ti-mobile-exception-sub-message-color,#999);font-size:var(--ti-mobile-exception-sub-message-font-size,12px)}.tiny-mobile-exception__footer{position:fixed;right:16px;bottom:40px;left:16px;color:var(--ti-mobile-exception-footer-color,#999);overflow:hidden;font-size:var(--ti-mobile-exception-footer-font-size,12px);text-align:center;z-index:10000;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tiny-pager{--ti-pager-normal-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-primary-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-active-font-color:var(--ti-common-color-text-white, #fff);--ti-pager-active-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-primary-text-color:var(--ti-common-color-text-link, #526ecc);--ti-pager-primary-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-primary-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-pager-active-font-weight:var(--ti-common-font-weight-normal);--ti-pager-disabled-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-pager-disabled-border-color:transparent;--ti-pager-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-pager-input-hover-border-color:var(--ti-common-color-line-hover, #575d6c);--ti-pager-input-stop-color:var(--ti-common-color-line-normal, #adb0b8);--ti-pager-input-lighting-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-input-height:var(--ti-common-size-height-mini, 24px);--ti-pager-input-padding-vertical:10px;--ti-pager-font-size:var(--ti-common-font-size-base, 12px);--ti-pager-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-normal-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-pager-height:var(--ti-common-size-height-mini, 24px);--ti-pager-width:auto;--ti-pager-min-width:auto;--ti-pager-input-width:var(--ti-common-space-10x, 40px);--ti-pager-poplist-item-padding-vertical:var(--ti-common-space-0, 0px);--ti-pager-poplist-item-padding-horizontal:var(--ti-common-space-6, 6px);--ti-pager-poplist-item-unchecked-box-shadow:none;--ti-pager-li-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-li-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-li-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-li-item-hover-font-weight:var(--ti-common-font-weight-normal);--ti-pager-poplist-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-poplist-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-poplist-item-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-pager-poplist-item-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-pager-poplist-item-hover-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-pop-body-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-pop-body-margin-top:4px;--ti-pager-poplist-item-min-height:30px;--ti-pager-prev-next-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-pager-goto-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-goto-btn-border-hover-color:var(--ti-common-color-border-hover, #575d6c);--ti-pager-goto-btn-text-hover-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-prev-padding-left:6px;--ti-pager-prev-padding-right:6px;--ti-pager-prev-margin-left:4px;--ti-pager-prev-margin-right:4px;--ti-pager-next-padding-right:4px;--ti-pager-next-margin-right:6px;--ti-pager-next-margin-left:6px;--ti-pager-btn-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-total-font-size:12px;--ti-pager-total-height:24px;--ti-pager-total-line-height:24px;--ti-pager-total-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-svg-font-size:var(--ti-pager-font-size);--ti-pager-dot-is-popup-display:inline;--ti-pager-dot-before-display:none;--ti-pager-prev-next-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-group-sizes-margin-right:16px;--ti-pager-sizes-input-min-width:var(--ti-common-size-10x, 80px);--ti-pager-sizes-input-hover-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-input-btn-width:var(--ti-common-size-7x, 28px);--ti-pager-selector-padding-vertical:var(--ti-common-space-3x, 12px);--ti-pager-mini-min-width:18px;--ti-pager-sizes-num-margin-right:var(--ti-common-space-base, 4px);text-align:left;padding:var(--ti-pager-selector-padding-vertical) 0;color:var(--ti-pager-text-color)}.tiny-pager .tiny-pager__group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;font-size:var(--ti-pager-font-size)}.tiny-pager .tiny-pager__group>span{display:inline-block;vertical-align:middle}.tiny-pager .tiny-pager__total{height:var(--ti-pager-total-height);line-height:var(--ti-pager-total-line-height);font-size:var(--ti-pager-total-font-size);color:var(--ti-pager-normal-text-color)}.tiny-pager .tiny-pager__total-allpage{margin:0 4px}.tiny-pager .tiny-pager__pull-left{float:left;height:var(--ti-pager-height)}.tiny-pager .tiny-pager__pages{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--ti-pager-font-size)}.tiny-pager .tiny-pager__pages li{background:0 0;display:inline-block;font-size:var(--ti-pager-font-size);cursor:pointer;margin-right:4px;text-align:center;line-height:calc(var(--ti-pager-height) - 2px);border-radius:var(--ti-pager-li-border-radius);height:var(--ti-pager-height);width:var(--ti-pager-width);min-width:var(--ti-pager-min-width);color:var(--ti-pager-text-color);padding:var(--ti-pager-poplist-item-padding-vertical) var(--ti-pager-poplist-item-padding-horizontal);-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid var(--ti-pager-li-border-color);-webkit-transition:all .5s ease;transition:all .5s ease}.tiny-pager .tiny-pager__pages li a{color:var(--ti-pager-text-color)}.tiny-pager .tiny-pager__pages li svg{fill:var(--ti-pager-text-color);vertical-align:middle}.tiny-pager .tiny-pager__pages li:not(.dot):not(.is-active):hover{color:var(--ti-pager-list-item-hover-text-color);background-color:var(--ti-pager-poplist-item-hover-bg-color);-webkit-box-shadow:var(--ti-pager-poplist-item-unchecked-box-shadow);box-shadow:var(--ti-pager-poplist-item-unchecked-box-shadow);border:1px solid var(--ti-pager-poplist-item-hover-border-color);font-weight:var(--ti-pager-li-item-hover-font-weight)}.tiny-pager .tiny-pager__pages li:not(.dot):not(.is-active):hover svg{fill:var(--ti-pager-list-item-hover-text-color)}.tiny-pager .tiny-pager__pages li.dot .icon{font-size:14px}.tiny-pager .tiny-pager__pages li.dot.is-popup svg{display:var(--ti-pager-dot-is-popup-display)}.tiny-pager .tiny-pager__pages li.dot.is-popup::before{content:'\00b7\00b7\00b7';display:var(--ti-pager-dot-before-display);letter-spacing:1px}.tiny-pager .tiny-pager__pages li.is-active{font-weight:var(--ti-pager-active-font-weight);color:var(--ti-pager-active-font-color);background-color:var(--ti-pager-active-bg-color);border:1px solid var(--ti-pager-poplist-item-hover-border-color)}.tiny-pager .tiny-pager__pages li:last-child{margin-right:0}.tiny-pager__loading .tiny-pager__total{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-pager__loading .tiny-pager__total-loading{width:30px}.tiny-pager__loading .tiny-loading__spinner{margin-top:3px}.tiny-pager__goto{font-size:0}.tiny-pager__goto input[type=text]{width:var(--ti-pager-input-width);text-align:center;vertical-align:top;border-radius:var(--ti-pager-input-border-radius);display:inline-block;position:inherit;height:var(--ti-pager-input-height);line-height:var(--ti-pager-input-height);border:1px solid var(--ti-pager-input-border-color);color:var(--ti-pager-normal-text-color);font-size:var(--ti-pager-font-size);-webkit-transition:border .3s;transition:border .3s;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;margin-right:4px}.tiny-pager__goto input[type=text]:hover{border:1px solid var(--ti-pager-input-hover-border-color);color:var(--ti-pager-normal-text-color)}.tiny-pager__goto input[type=text].active,.tiny-pager__goto input[type=text]:active,.tiny-pager__goto input[type=text]:focus,.tiny-pager__goto input[type=text][active]{border:1px solid var(--ti-pager-primary-border-color);-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent}.tiny-pager__goto input[type=text][disabled]{color:var(--ti-pager-disabled-text-color);border-color:var(--ti-pager-disabled-border-color);cursor:not-allowed}.tiny-pager__goto-text{color:var(--ti-pager-normal-text-color);font-size:var(--ti-pager-font-size);padding-left:14px;margin-right:8px;line-height:var(--ti-pager-input-height)}.tiny-pager__goto-text-sufix{padding-left:4px}.tiny-pager__goto button{height:var(--ti-pager-input-height);line-height:var(--ti-pager-input-height);border:1px solid #d9d9d9;color:var(--ti-pager-goto-text-color);vertical-align:middle;border-radius:var(--ti-pager-input-border-radius);background:#fff;font-size:var(--ti-pager-font-size);padding:0 8px;text-align:center;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-transition:border .3s,color .3s,background .3s;transition:border .3s,color .3s,background .3s;outline:0;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-pager__goto button:hover{border:1px solid var(--ti-pager-goto-btn-border-hover-color);color:var(--ti-pager-goto-btn-text-hover-color)}.tiny-pager__goto button.is-disabled{color:var(--ti-pager-disabled-text-color);border-color:var(--ti-pager-disabled-border-color);cursor:not-allowed}.tiny-pager__btn-next,.tiny-pager__btn-prev{width:var(--ti-pager-width);height:var(--ti-pager-height);line-height:calc(var(--ti-pager-height) - 2px);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--ti-pager-font-size);font-weight:bolder;color:var(--ti-pagination-prev-next-color);outline:0;border:1px solid var(--ti-pager-li-border-color);background:0 0;margin-top:0;margin-right:var(--ti-pager-prev-margin-right);margin-bottom:0;margin-left:var(--ti-pager-prev-margin-left);padding-top:0;padding-right:var(--ti-pager-prev-padding-right);padding-bottom:0;padding-left:var(--ti-pager-prev-padding-left);vertical-align:middle;cursor:pointer}.tiny-pager__btn-next span,.tiny-pager__btn-prev span{color:var(--ti-pager-primary-text-color)}.tiny-pager__btn-next svg,.tiny-pager__btn-prev svg{fill:var(--ti-pager-btn-svg-fill-color);font-size:var(--ti-pager-svg-font-size);vertical-align:middle}.tiny-pager__btn-next:hover,.tiny-pager__btn-prev:hover{background-color:var(--ti-pager-prev-next-hover-bg-color);border:1px solid var(--ti-pager-poplist-item-hover-border-color)}.tiny-pager__btn-next:hover svg,.tiny-pager__btn-prev:hover svg{fill:var(--ti-pager-poplist-item-hover-text-color)}.tiny-pager__btn-next[disabled],.tiny-pager__btn-next[disabled]:hover,.tiny-pager__btn-prev[disabled],.tiny-pager__btn-prev[disabled]:hover{background-color:transparent;cursor:not-allowed}.tiny-pager__btn-next[disabled] span,.tiny-pager__btn-prev[disabled] span{color:var(--ti-pager-prev-next-text-color-disabled)}.tiny-pager__btn-next[disabled] svg,.tiny-pager__btn-prev[disabled] svg{fill:var(--ti-pager-prev-next-text-color-disabled)}.tiny-pager__btn-next{margin-right:var(--ti-pager-next-margin-right);margin-left:var(--ti-pager-next-margin-left);padding-right:var(--ti-pager-next-padding-right)}.tiny-pager__selector{--ti-pager-normal-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-primary-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-active-font-color:var(--ti-common-color-text-white, #fff);--ti-pager-active-bg-color:var(--ti-common-color-primary-normal, #5e7ce0);--ti-pager-primary-text-color:var(--ti-common-color-text-link, #526ecc);--ti-pager-primary-border-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-primary-hover-text-color:var(--ti-common-color-primary-hover, #7693f5);--ti-pager-active-font-weight:var(--ti-common-font-weight-normal);--ti-pager-disabled-text-color:var(--ti-common-color-text-weaken, #8a8e99);--ti-pager-disabled-border-color:transparent;--ti-pager-input-border-color:var(--ti-common-color-border, #adb0b8);--ti-pager-input-hover-border-color:var(--ti-common-color-line-hover, #575d6c);--ti-pager-input-stop-color:var(--ti-common-color-line-normal, #adb0b8);--ti-pager-input-lighting-color:var(--ti-common-color-line-active, #5e7ce0);--ti-pager-input-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-input-height:var(--ti-common-size-height-mini, 24px);--ti-pager-input-padding-vertical:10px;--ti-pager-font-size:var(--ti-common-font-size-base, 12px);--ti-pager-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-normal-icon-color:var(--ti-common-color-icon-normal, #575d6c);--ti-pager-height:var(--ti-common-size-height-mini, 24px);--ti-pager-width:auto;--ti-pager-min-width:auto;--ti-pager-input-width:var(--ti-common-space-10x, 40px);--ti-pager-poplist-item-padding-vertical:var(--ti-common-space-0, 0px);--ti-pager-poplist-item-padding-horizontal:var(--ti-common-space-6, 6px);--ti-pager-poplist-item-unchecked-box-shadow:none;--ti-pager-li-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-li-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-li-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-li-item-hover-font-weight:var(--ti-common-font-weight-normal);--ti-pager-poplist-item-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-poplist-item-hover-text-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-poplist-item-selected-bg-color:var(--ti-common-color-selected-background, #5e7ce0);--ti-pager-poplist-item-selected-text-color:var(--ti-common-color-selected-text-color, #fff);--ti-pager-poplist-item-hover-border-color:var(--ti-common-color-transparent, transparent);--ti-pager-pop-body-border-radius:var(--ti-common-border-radius-normal, 2px);--ti-pager-pop-body-margin-top:4px;--ti-pager-poplist-item-min-height:30px;--ti-pager-prev-next-text-color-disabled:var(--ti-common-color-text-disabled, #adb0b8);--ti-pager-goto-text-color:var(--ti-common-color-text-secondary, #575d6c);--ti-pager-goto-btn-border-hover-color:var(--ti-common-color-border-hover, #575d6c);--ti-pager-goto-btn-text-hover-color:var(--ti-common-color-text-highlight, #526ecc);--ti-pager-prev-padding-left:6px;--ti-pager-prev-padding-right:6px;--ti-pager-prev-margin-left:4px;--ti-pager-prev-margin-right:4px;--ti-pager-next-padding-right:4px;--ti-pager-next-margin-right:6px;--ti-pager-next-margin-left:6px;--ti-pager-btn-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-total-font-size:12px;--ti-pager-total-height:24px;--ti-pager-total-line-height:24px;--ti-pager-total-svg-fill-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-svg-font-size:var(--ti-pager-font-size);--ti-pager-dot-is-popup-display:inline;--ti-pager-dot-before-display:none;--ti-pager-prev-next-hover-bg-color:var(--ti-common-color-hover-background, #f2f5fc);--ti-pager-group-sizes-margin-right:16px;--ti-pager-sizes-input-min-width:var(--ti-common-size-10x, 80px);--ti-pager-sizes-input-hover-text-color:var(--ti-common-color-info-normal, #252b3a);--ti-pager-input-btn-width:var(--ti-common-size-7x, 28px);--ti-pager-selector-padding-vertical:var(--ti-common-space-3x, 12px);--ti-pager-mini-min-width:18px;--ti-pager-sizes-num-margin-right:var(--ti-common-space-base, 4px)}.tiny-pager__selector.tiny-popover.tiny-popper{min-width:var(--ti-pager-sizes-input-min-width);padding:0;border-radius:var(--ti-pager-pop-body-border-radius)}.tiny-pager__selector.tiny-popover.tiny-popper[x-placement^=bottom]{margin-top:var(--ti-pager-pop-body-margin-top)}.tiny-pager__selector.tiny-popover.tiny-popper[x-placement^=top]{margin-bottom:0}.tiny-pager__selector-body{max-height:300px;overflow-y:auto;overflow-x:hidden}.tiny-pager__selector-poplist .list-item{min-height:var(--ti-pager-poplist-item-min-height);padding:0 8px;line-height:30px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiny-pager__selector-poplist .list-item:hover{cursor:pointer;background:var(--ti-pager-poplist-item-hover-bg-color);color:var(--ti-pager-poplist-item-hover-text-color)}.tiny-pager__selector-poplist .list-item.is-selected{background:var(--ti-pager-poplist-item-selected-bg-color);color:var(--ti-pager-normal-text-color)}.tiny-pager__selector-poplist .list-item.is-selected:hover{background:var(--ti-pager-poplist-item-selected-bg-color)}.tiny-pager__selector-poplist .list-item.select-pre{background:var(--ti-pager-poplist-item-hover-bg-color);color:var(--ti-pager-poplist-item-hover-text-color)}.tiny-pager__selector-poplist .list-item.select-pre.is-selected{color:var(--ti-pager-poplist-item-selected-text-color);background:var(--ti-pager-poplist-item-selected-bg-color)}.tiny-pager .tiny-pager__popover{margin:0 4px 0 14px}.tiny-pager .tiny-pager__sizes .tiny-select{width:70px}.tiny-pager .tiny-pager__sizes .tiny-pager__popover{margin:0}.tiny-pager .tiny-pager__sizes+.tiny-pager__group{margin:0 16px}.tiny-pager .tiny-pager__group+.tiny-pager__sizes{margin-top:0;margin-right:var(--ti-pager-group-sizes-margin-right);margin-bottom:0;margin-left:16px}.tiny-pager__page-size{min-width:var(--ti-pager-sizes-input-min-width);max-width:200px;position:relative;text-align:left;height:var(--ti-pager-input-height);line-height:calc(var(--ti-pager-input-height) - 2px);border:1px solid var(--ti-pager-input-border-color);color:var(--ti-pager-normal-text-color);border-radius:var(--ti-pager-input-border-radius);background:#fff;font-size:var(--ti-pager-font-size);padding:0;padding-left:12px;padding-right:4px;display:block;white-space:nowrap;-webkit-transition:border .3s;transition:border .3s;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;-moz-user-select:none;user-select:none}.tiny-pager__page-size:hover{outline:0;color:var(--ti-pager-sizes-input-hover-text-color);border-color:var(--ti-pager-input-hover-border-color)}.tiny-pager__page-size:active,.tiny-pager__page-size:focus{outline:0;border-color:var(--ti-pager-input-hover-border-color)}.tiny-pager__page-size-btn{width:var(--ti-pager-input-btn-width);height:var(--ti-pager-height);line-height:calc(var(--ti-pager-height) - 2px);position:relative;float:right;top:-1px;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;cursor:pointer}.tiny-pager__page-size-btn svg{font-size:var(--ti-pager-svg-font-size);fill:var(--ti-pager-total-svg-fill-color);vertical-align:middle}.tiny-pager__page-size .sizes{margin-right:var(--ti-pager-sizes-num-margin-right)}.tiny-pager .tiny-svg-size.tiny-svg-size__reverse-180{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.tiny-pager .tiny-popover__reference{outline:0}.tiny-pager.tiny-pager--mini .tiny-pager__total{font-size:12px}.tiny-pager.tiny-pager--mini li{min-width:var(--ti-pager-mini-min-width);height:24px;padding:0 4px;line-height:22px;font-size:12px}.tiny-pager.tiny-pager--mini .tiny-pager__btn-next svg,.tiny-pager.tiny-pager--mini .tiny-pager__btn-prev svg{font-size:14px}.tiny-pager.tiny-pager--mini .tiny-pager__input input{height:24px;line-height:22px}.tiny-pager.tiny-pager--mini .tiny-pager__input-btn{height:24px;line-height:22px}.tiny-pager.is-disabled .tiny-pager__total{color:var(--ti-pager-disabled-text-color)}.tiny-pager.is-disabled ul li{cursor:not-allowed;color:var(--ti-pager-disabled-text-color);background-color:transparent;border-color:var(--ti-pager-disabled-border-color)}.tiny-pager.is-disabled ul li.is-active,.tiny-pager.is-disabled ul li:not(.dot):not(.is-active):hover{color:var(--ti-pager-disabled-text-color);font-weight:400;background-color:transparent;border-color:var(--ti-pager-disabled-border-color)}.tiny-pager.is-disabled .tiny-pager__page-size{color:var(--ti-pager-disabled-text-color);cursor:not-allowed;border-color:var(--ti-pager-disabled-border-color);background-color:var(--ti-base-color-bg-1)}.tiny-pager.is-disabled .tiny-pager__page-size-btn svg{fill:var(--ti-pager-disabled-text-color);color:var(--ti-pager-disabled-text-color);cursor:not-allowed}.tiny-pager.is-disabled .tiny-pager__goto-text{color:var(--ti-pager-disabled-text-color)}@media (max-width:768px){.tiny-pager{text-align:left}.tiny-pager .tiny-pager__pull-left{float:none!important}}.container{padding-right:10px;margin-right:auto;padding-left:10px;margin-left:auto}.container:after,.container:before{content:'';display:table}.container:after{clear:both}@media (min-width:768px){.container{width:788px}}@media (min-width:992px){.container{width:1012px}}@media (min-width:1200px){.container{width:1220px}}@media (min-width:1920px){.container{width:1940px}}.row{margin-left:-10px;margin-right:-10px}.row:after,.row:before{content:'';display:table}.row:after{clear:both}.row h3{margin-left:10px}.tiny-filter .row{overflow:hidden}.tiny-filter .row .title{margin-left:10px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-2,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-2,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-2,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-13,.col-xl-14,.col-xl-15,.col-xl-16,.col-xl-17,.col-xl-18,.col-xl-19,.col-xl-2,.col-xl-20,.col-xl-21,.col-xl-22,.col-xl-23,.col-xl-24,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-13,.col-xs-14,.col-xs-15,.col-xs-16,.col-xs-17,.col-xs-18,.col-xs-19,.col-xs-2,.col-xs-20,.col-xs-21,.col-xs-22,.col-xs-23,.col-xs-24,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:10px;padding-right:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-13,.col-xs-14,.col-xs-15,.col-xs-16,.col-xs-17,.col-xs-18,.col-xs-19,.col-xs-2,.col-xs-20,.col-xs-21,.col-xs-22,.col-xs-23,.col-xs-24,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-24{width:100%}.col-xs-23{width:95.83333333%}.col-xs-22{width:91.66666667%}.col-xs-21{width:87.5%}.col-xs-20{width:83.33333333%}.col-xs-19{width:79.16666667%}.col-xs-18{width:75%}.col-xs-17{width:70.83333333%}.col-xs-16{width:66.66666667%}.col-xs-15{width:62.5%}.col-xs-14{width:58.33333333%}.col-xs-13{width:54.16666667%}.col-xs-12{width:50%}.col-xs-11{width:45.83333333%}.col-xs-10{width:41.66666667%}.col-xs-9{width:37.5%}.col-xs-8{width:33.33333333%}.col-xs-7{width:29.16666667%}.col-xs-6{width:25%}.col-xs-5{width:20.83333333%}.col-xs-4{width:16.66666667%}.col-xs-3{width:12.5%}.col-xs-2{width:8.33333333%}.col-xs-1{width:4.16666667%}.col-xs-push-24{left:100%}.col-xs-push-23{left:95.83333333%}.col-xs-push-22{left:91.66666667%}.col-xs-push-21{left:87.5%}.col-xs-push-20{left:83.33333333%}.col-xs-push-19{left:79.16666667%}.col-xs-push-18{left:75%}.col-xs-push-17{left:70.83333333%}.col-xs-push-16{left:66.66666667%}.col-xs-push-15{left:62.5%}.col-xs-push-14{left:58.33333333%}.col-xs-push-13{left:54.16666667%}.col-xs-push-12{left:50%}.col-xs-push-11{left:45.83333333%}.col-xs-push-10{left:41.66666667%}.col-xs-push-9{left:37.5%}.col-xs-push-8{left:33.33333333%}.col-xs-push-7{left:29.16666667%}.col-xs-push-6{left:25%}.col-xs-push-5{left:20.83333333%}.col-xs-push-4{left:16.66666667%}.col-xs-push-3{left:12.5%}.col-xs-push-2{left:8.33333333%}.col-xs-push-1{left:4.16666667%}.col-xs-push-0{left:0}.col-xs-pull-24{right:100%}.col-xs-pull-23{right:95.83333333%}.col-xs-pull-22{right:91.66666667%}.col-xs-pull-21{right:87.5%}.col-xs-pull-20{right:83.33333333%}.col-xs-pull-19{right:79.16666667%}.col-xs-pull-18{right:75%}.col-xs-pull-17{right:70.83333333%}.col-xs-pull-16{right:66.66666667%}.col-xs-pull-15{right:62.5%}.col-xs-pull-14{right:58.33333333%}.col-xs-pull-13{right:54.16666667%}.col-xs-pull-12{right:50%}.col-xs-pull-11{right:45.83333333%}.col-xs-pull-10{right:41.66666667%}.col-xs-pull-9{right:37.5%}.col-xs-pull-8{right:33.33333333%}.col-xs-pull-7{right:29.16666667%}.col-xs-pull-6{right:25%}.col-xs-pull-5{right:20.83333333%}.col-xs-pull-4{right:16.66666667%}.col-xs-pull-3{right:12.5%}.col-xs-pull-2{right:8.33333333%}.col-xs-pull-1{right:4.16666667%}.col-xs-pull-0{right:0}.col-xs-offset-24{margin-left:100%}.col-xs-offset-23{margin-left:95.83333333%}.col-xs-offset-22{margin-left:91.66666667%}.col-xs-offset-21{margin-left:87.5%}.col-xs-offset-20{margin-left:83.33333333%}.col-xs-offset-19{margin-left:79.16666667%}.col-xs-offset-18{margin-left:75%}.col-xs-offset-17{margin-left:70.83333333%}.col-xs-offset-16{margin-left:66.66666667%}.col-xs-offset-15{margin-left:62.5%}.col-xs-offset-14{margin-left:58.33333333%}.col-xs-offset-13{margin-left:54.16666667%}.col-xs-offset-12{margin-left:50%}.col-xs-offset-11{margin-left:45.83333333%}.col-xs-offset-10{margin-left:41.66666667%}.col-xs-offset-9{margin-left:37.5%}.col-xs-offset-8{margin-left:33.33333333%}.col-xs-offset-7{margin-left:29.16666667%}.col-xs-offset-6{margin-left:25%}.col-xs-offset-5{margin-left:20.83333333%}.col-xs-offset-4{margin-left:16.66666667%}.col-xs-offset-3{margin-left:12.5%}.col-xs-offset-2{margin-left:8.33333333%}.col-xs-offset-1{margin-left:4.16666667%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-13,.col-sm-14,.col-sm-15,.col-sm-16,.col-sm-17,.col-sm-18,.col-sm-19,.col-sm-2,.col-sm-20,.col-sm-21,.col-sm-22,.col-sm-23,.col-sm-24,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-24{width:100%}.col-sm-23{width:95.83333333%}.col-sm-22{width:91.66666667%}.col-sm-21{width:87.5%}.col-sm-20{width:83.33333333%}.col-sm-19{width:79.16666667%}.col-sm-18{width:75%}.col-sm-17{width:70.83333333%}.col-sm-16{width:66.66666667%}.col-sm-15{width:62.5%}.col-sm-14{width:58.33333333%}.col-sm-13{width:54.16666667%}.col-sm-12{width:50%}.col-sm-11{width:45.83333333%}.col-sm-10{width:41.66666667%}.col-sm-9{width:37.5%}.col-sm-8{width:33.33333333%}.col-sm-7{width:29.16666667%}.col-sm-6{width:25%}.col-sm-5{width:20.83333333%}.col-sm-4{width:16.66666667%}.col-sm-3{width:12.5%}.col-sm-2{width:8.33333333%}.col-sm-1{width:4.16666667%}.col-sm-push-24{left:100%}.col-sm-push-23{left:95.83333333%}.col-sm-push-22{left:91.66666667%}.col-sm-push-21{left:87.5%}.col-sm-push-20{left:83.33333333%}.col-sm-push-19{left:79.16666667%}.col-sm-push-18{left:75%}.col-sm-push-17{left:70.83333333%}.col-sm-push-16{left:66.66666667%}.col-sm-push-15{left:62.5%}.col-sm-push-14{left:58.33333333%}.col-sm-push-13{left:54.16666667%}.col-sm-push-12{left:50%}.col-sm-push-11{left:45.83333333%}.col-sm-push-10{left:41.66666667%}.col-sm-push-9{left:37.5%}.col-sm-push-8{left:33.33333333%}.col-sm-push-7{left:29.16666667%}.col-sm-push-6{left:25%}.col-sm-push-5{left:20.83333333%}.col-sm-push-4{left:16.66666667%}.col-sm-push-3{left:12.5%}.col-sm-push-2{left:8.33333333%}.col-sm-push-1{left:4.16666667%}.col-sm-push-0{left:0}.col-sm-pull-24{right:100%}.col-sm-pull-23{right:95.83333333%}.col-sm-pull-22{right:91.66666667%}.col-sm-pull-21{right:87.5%}.col-sm-pull-20{right:83.33333333%}.col-sm-pull-19{right:79.16666667%}.col-sm-pull-18{right:75%}.col-sm-pull-17{right:70.83333333%}.col-sm-pull-16{right:66.66666667%}.col-sm-pull-15{right:62.5%}.col-sm-pull-14{right:58.33333333%}.col-sm-pull-13{right:54.16666667%}.col-sm-pull-12{right:50%}.col-sm-pull-11{right:45.83333333%}.col-sm-pull-10{right:41.66666667%}.col-sm-pull-9{right:37.5%}.col-sm-pull-8{right:33.33333333%}.col-sm-pull-7{right:29.16666667%}.col-sm-pull-6{right:25%}.col-sm-pull-5{right:20.83333333%}.col-sm-pull-4{right:16.66666667%}.col-sm-pull-3{right:12.5%}.col-sm-pull-2{right:8.33333333%}.col-sm-pull-1{right:4.16666667%}.col-sm-pull-0{right:0}.col-sm-offset-24{margin-left:100%}.col-sm-offset-23{margin-left:95.83333333%}.col-sm-offset-22{margin-left:91.66666667%}.col-sm-offset-21{margin-left:87.5%}.col-sm-offset-20{margin-left:83.33333333%}.col-sm-offset-19{margin-left:79.16666667%}.col-sm-offset-18{margin-left:75%}.col-sm-offset-17{margin-left:70.83333333%}.col-sm-offset-16{margin-left:66.66666667%}.col-sm-offset-15{margin-left:62.5%}.col-sm-offset-14{margin-left:58.33333333%}.col-sm-offset-13{margin-left:54.16666667%}.col-sm-offset-12{margin-left:50%}.col-sm-offset-11{margin-left:45.83333333%}.col-sm-offset-10{margin-left:41.66666667%}.col-sm-offset-9{margin-left:37.5%}.col-sm-offset-8{margin-left:33.33333333%}.col-sm-offset-7{margin-left:29.16666667%}.col-sm-offset-6{margin-left:25%}.col-sm-offset-5{margin-left:20.83333333%}.col-sm-offset-4{margin-left:16.66666667%}.col-sm-offset-3{margin-left:12.5%}.col-sm-offset-2{margin-left:8.33333333%}.col-sm-offset-1{margin-left:4.16666667%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-13,.col-md-14,.col-md-15,.col-md-16,.col-md-17,.col-md-18,.col-md-19,.col-md-2,.col-md-20,.col-md-21,.col-md-22,.col-md-23,.col-md-24,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-24{width:100%}.col-md-23{width:95.83333333%}.col-md-22{width:91.66666667%}.col-md-21{width:87.5%}.col-md-20{width:83.33333333%}.col-md-19{width:79.16666667%}.col-md-18{width:75%}.col-md-17{width:70.83333333%}.col-md-16{width:66.66666667%}.col-md-15{width:62.5%}.col-md-14{width:58.33333333%}.col-md-13{width:54.16666667%}.col-md-12{width:50%}.col-md-11{width:45.83333333%}.col-md-10{width:41.66666667%}.col-md-9{width:37.5%}.col-md-8{width:33.33333333%}.col-md-7{width:29.16666667%}.col-md-6{width:25%}.col-md-5{width:20.83333333%}.col-md-4{width:16.66666667%}.col-md-3{width:12.5%}.col-md-2{width:8.33333333%}.col-md-1{width:4.16666667%}.col-md-push-24{left:100%}.col-md-push-23{left:95.83333333%}.col-md-push-22{left:91.66666667%}.col-md-push-21{left:87.5%}.col-md-push-20{left:83.33333333%}.col-md-push-19{left:79.16666667%}.col-md-push-18{left:75%}.col-md-push-17{left:70.83333333%}.col-md-push-16{left:66.66666667%}.col-md-push-15{left:62.5%}.col-md-push-14{left:58.33333333%}.col-md-push-13{left:54.16666667%}.col-md-push-12{left:50%}.col-md-push-11{left:45.83333333%}.col-md-push-10{left:41.66666667%}.col-md-push-9{left:37.5%}.col-md-push-8{left:33.33333333%}.col-md-push-7{left:29.16666667%}.col-md-push-6{left:25%}.col-md-push-5{left:20.83333333%}.col-md-push-4{left:16.66666667%}.col-md-push-3{left:12.5%}.col-md-push-2{left:8.33333333%}.col-md-push-1{left:4.16666667%}.col-md-push-0{left:0}.col-md-pull-24{right:100%}.col-md-pull-23{right:95.83333333%}.col-md-pull-22{right:91.66666667%}.col-md-pull-21{right:87.5%}.col-md-pull-20{right:83.33333333%}.col-md-pull-19{right:79.16666667%}.col-md-pull-18{right:75%}.col-md-pull-17{right:70.83333333%}.col-md-pull-16{right:66.66666667%}.col-md-pull-15{right:62.5%}.col-md-pull-14{right:58.33333333%}.col-md-pull-13{right:54.16666667%}.col-md-pull-12{right:50%}.col-md-pull-11{right:45.83333333%}.col-md-pull-10{right:41.66666667%}.col-md-pull-9{right:37.5%}.col-md-pull-8{right:33.33333333%}.col-md-pull-7{right:29.16666667%}.col-md-pull-6{right:25%}.col-md-pull-5{right:20.83333333%}.col-md-pull-4{right:16.66666667%}.col-md-pull-3{right:12.5%}.col-md-pull-2{right:8.33333333%}.col-md-pull-1{right:4.16666667%}.col-md-pull-0{right:0}.col-md-offset-24{margin-left:100%}.col-md-offset-23{margin-left:95.83333333%}.col-md-offset-22{margin-left:91.66666667%}.col-md-offset-21{margin-left:87.5%}.col-md-offset-20{margin-left:83.33333333%}.col-md-offset-19{margin-left:79.16666667%}.col-md-offset-18{margin-left:75%}.col-md-offset-17{margin-left:70.83333333%}.col-md-offset-16{margin-left:66.66666667%}.col-md-offset-15{margin-left:62.5%}.col-md-offset-14{margin-left:58.33333333%}.col-md-offset-13{margin-left:54.16666667%}.col-md-offset-12{margin-left:50%}.col-md-offset-11{margin-left:45.83333333%}.col-md-offset-10{margin-left:41.66666667%}.col-md-offset-9{margin-left:37.5%}.col-md-offset-8{margin-left:33.33333333%}.col-md-offset-7{margin-left:29.16666667%}.col-md-offset-6{margin-left:25%}.col-md-offset-5{margin-left:20.83333333%}.col-md-offset-4{margin-left:16.66666667%}.col-md-offset-3{margin-left:12.5%}.col-md-offset-2{margin-left:8.33333333%}.col-md-offset-1{margin-left:4.16666667%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-13,.col-lg-14,.col-lg-15,.col-lg-16,.col-lg-17,.col-lg-18,.col-lg-19,.col-lg-2,.col-lg-20,.col-lg-21,.col-lg-22,.col-lg-23,.col-lg-24,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-24{width:100%}.col-lg-23{width:95.83333333%}.col-lg-22{width:91.66666667%}.col-lg-21{width:87.5%}.col-lg-20{width:83.33333333%}.col-lg-19{width:79.16666667%}.col-lg-18{width:75%}.col-lg-17{width:70.83333333%}.col-lg-16{width:66.66666667%}.col-lg-15{width:62.5%}.col-lg-14{width:58.33333333%}.col-lg-13{width:54.16666667%}.col-lg-12{width:50%}.col-lg-11{width:45.83333333%}.col-lg-10{width:41.66666667%}.col-lg-9{width:37.5%}.col-lg-8{width:33.33333333%}.col-lg-7{width:29.16666667%}.col-lg-6{width:25%}.col-lg-5{width:20.83333333%}.col-lg-4{width:16.66666667%}.col-lg-3{width:12.5%}.col-lg-2{width:8.33333333%}.col-lg-1{width:4.16666667%}.col-lg-push-24{left:100%}.col-lg-push-23{left:95.83333333%}.col-lg-push-22{left:91.66666667%}.col-lg-push-21{left:87.5%}.col-lg-push-20{left:83.33333333%}.col-lg-push-19{left:79.16666667%}.col-lg-push-18{left:75%}.col-lg-push-17{left:70.83333333%}.col-lg-push-16{left:66.66666667%}.col-lg-push-15{left:62.5%}.col-lg-push-14{left:58.33333333%}.col-lg-push-13{left:54.16666667%}.col-lg-push-12{left:50%}.col-lg-push-11{left:45.83333333%}.col-lg-push-10{left:41.66666667%}.col-lg-push-9{left:37.5%}.col-lg-push-8{left:33.33333333%}.col-lg-push-7{left:29.16666667%}.col-lg-push-6{left:25%}.col-lg-push-5{left:20.83333333%}.col-lg-push-4{left:16.66666667%}.col-lg-push-3{left:12.5%}.col-lg-push-2{left:8.33333333%}.col-lg-push-1{left:4.16666667%}.col-lg-push-0{left:0}.col-lg-pull-24{right:100%}.col-lg-pull-23{right:95.83333333%}.col-lg-pull-22{right:91.66666667%}.col-lg-pull-21{right:87.5%}.col-lg-pull-20{right:83.33333333%}.col-lg-pull-19{right:79.16666667%}.col-lg-pull-18{right:75%}.col-lg-pull-17{right:70.83333333%}.col-lg-pull-16{right:66.66666667%}.col-lg-pull-15{right:62.5%}.col-lg-pull-14{right:58.33333333%}.col-lg-pull-13{right:54.16666667%}.col-lg-pull-12{right:50%}.col-lg-pull-11{right:45.83333333%}.col-lg-pull-10{right:41.66666667%}.col-lg-pull-9{right:37.5%}.col-lg-pull-8{right:33.33333333%}.col-lg-pull-7{right:29.16666667%}.col-lg-pull-6{right:25%}.col-lg-pull-5{right:20.83333333%}.col-lg-pull-4{right:16.66666667%}.col-lg-pull-3{right:12.5%}.col-lg-pull-2{right:8.33333333%}.col-lg-pull-1{right:4.16666667%}.col-lg-pull-0{right:0}.col-lg-offset-24{margin-left:100%}.col-lg-offset-23{margin-left:95.83333333%}.col-lg-offset-22{margin-left:91.66666667%}.col-lg-offset-21{margin-left:87.5%}.col-lg-offset-20{margin-left:83.33333333%}.col-lg-offset-19{margin-left:79.16666667%}.col-lg-offset-18{margin-left:75%}.col-lg-offset-17{margin-left:70.83333333%}.col-lg-offset-16{margin-left:66.66666667%}.col-lg-offset-15{margin-left:62.5%}.col-lg-offset-14{margin-left:58.33333333%}.col-lg-offset-13{margin-left:54.16666667%}.col-lg-offset-12{margin-left:50%}.col-lg-offset-11{margin-left:45.83333333%}.col-lg-offset-10{margin-left:41.66666667%}.col-lg-offset-9{margin-left:37.5%}.col-lg-offset-8{margin-left:33.33333333%}.col-lg-offset-7{margin-left:29.16666667%}.col-lg-offset-6{margin-left:25%}.col-lg-offset-5{margin-left:20.83333333%}.col-lg-offset-4{margin-left:16.66666667%}.col-lg-offset-3{margin-left:12.5%}.col-lg-offset-2{margin-left:8.33333333%}.col-lg-offset-1{margin-left:4.16666667%}.col-lg-offset-0{margin-left:0}}@media (min-width:1920px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-13,.col-xl-14,.col-xl-15,.col-xl-16,.col-xl-17,.col-xl-18,.col-xl-19,.col-xl-2,.col-xl-20,.col-xl-21,.col-xl-22,.col-xl-23,.col-xl-24,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{float:left}.col-xl-24{width:100%}.col-xl-23{width:95.83333333%}.col-xl-22{width:91.66666667%}.col-xl-21{width:87.5%}.col-xl-20{width:83.33333333%}.col-xl-19{width:79.16666667%}.col-xl-18{width:75%}.col-xl-17{width:70.83333333%}.col-xl-16{width:66.66666667%}.col-xl-15{width:62.5%}.col-xl-14{width:58.33333333%}.col-xl-13{width:54.16666667%}.col-xl-12{width:50%}.col-xl-11{width:45.83333333%}.col-xl-10{width:41.66666667%}.col-xl-9{width:37.5%}.col-xl-8{width:33.33333333%}.col-xl-7{width:29.16666667%}.col-xl-6{width:25%}.col-xl-5{width:20.83333333%}.col-xl-4{width:16.66666667%}.col-xl-3{width:12.5%}.col-xl-2{width:8.33333333%}.col-xl-1{width:4.16666667%}.col-xl-push-24{left:100%}.col-xl-push-23{left:95.83333333%}.col-xl-push-22{left:91.66666667%}.col-xl-push-21{left:87.5%}.col-xl-push-20{left:83.33333333%}.col-xl-push-19{left:79.16666667%}.col-xl-push-18{left:75%}.col-xl-push-17{left:70.83333333%}.col-xl-push-16{left:66.66666667%}.col-xl-push-15{left:62.5%}.col-xl-push-14{left:58.33333333%}.col-xl-push-13{left:54.16666667%}.col-xl-push-12{left:50%}.col-xl-push-11{left:45.83333333%}.col-xl-push-10{left:41.66666667%}.col-xl-push-9{left:37.5%}.col-xl-push-8{left:33.33333333%}.col-xl-push-7{left:29.16666667%}.col-xl-push-6{left:25%}.col-xl-push-5{left:20.83333333%}.col-xl-push-4{left:16.66666667%}.col-xl-push-3{left:12.5%}.col-xl-push-2{left:8.33333333%}.col-xl-push-1{left:4.16666667%}.col-xl-push-0{left:0}.col-xl-pull-24{right:100%}.col-xl-pull-23{right:95.83333333%}.col-xl-pull-22{right:91.66666667%}.col-xl-pull-21{right:87.5%}.col-xl-pull-20{right:83.33333333%}.col-xl-pull-19{right:79.16666667%}.col-xl-pull-18{right:75%}.col-xl-pull-17{right:70.83333333%}.col-xl-pull-16{right:66.66666667%}.col-xl-pull-15{right:62.5%}.col-xl-pull-14{right:58.33333333%}.col-xl-pull-13{right:54.16666667%}.col-xl-pull-12{right:50%}.col-xl-pull-11{right:45.83333333%}.col-xl-pull-10{right:41.66666667%}.col-xl-pull-9{right:37.5%}.col-xl-pull-8{right:33.33333333%}.col-xl-pull-7{right:29.16666667%}.col-xl-pull-6{right:25%}.col-xl-pull-5{right:20.83333333%}.col-xl-pull-4{right:16.66666667%}.col-xl-pull-3{right:12.5%}.col-xl-pull-2{right:8.33333333%}.col-xl-pull-1{right:4.16666667%}.col-xl-pull-0{right:0}.col-xl-offset-24{margin-left:100%}.col-xl-offset-23{margin-left:95.83333333%}.col-xl-offset-22{margin-left:91.66666667%}.col-xl-offset-21{margin-left:87.5%}.col-xl-offset-20{margin-left:83.33333333%}.col-xl-offset-19{margin-left:79.16666667%}.col-xl-offset-18{margin-left:75%}.col-xl-offset-17{margin-left:70.83333333%}.col-xl-offset-16{margin-left:66.66666667%}.col-xl-offset-15{margin-left:62.5%}.col-xl-offset-14{margin-left:58.33333333%}.col-xl-offset-13{margin-left:54.16666667%}.col-xl-offset-12{margin-left:50%}.col-xl-offset-11{margin-left:45.83333333%}.col-xl-offset-10{margin-left:41.66666667%}.col-xl-offset-9{margin-left:37.5%}.col-xl-offset-8{margin-left:33.33333333%}.col-xl-offset-7{margin-left:29.16666667%}.col-xl-offset-6{margin-left:25%}.col-xl-offset-5{margin-left:20.83333333%}.col-xl-offset-4{margin-left:16.66666667%}.col-xl-offset-3{margin-left:12.5%}.col-xl-offset-2{margin-left:8.33333333%}.col-xl-offset-1{margin-left:4.16666667%}.col-xl-offset-0{margin-left:0}}.tiny-row{width:100%}.tiny-row:after,.tiny-row:before{content:'';display:table}.tiny-row:after{clear:both}.tiny-row.row-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.tiny-row.row-justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.tiny-row.row-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.tiny-row.row-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-row.row-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.tiny-row.row-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tiny-row.row-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.tiny-row.row-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.tiny-row.row-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}
\ No newline at end of file
diff --git a/admin-website/src/main/resources/static/assets/index29.js b/admin-website/src/main/resources/static/assets/index29.js
new file mode 100644
index 0000000..177d1cf
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index29.js
@@ -0,0 +1,1816 @@
+import { U as merge, d as defineComponent, N as Tooltip, p as props, a as setup, $ as $props, b as $prefix, c as $setup, aj as isNull, ak as VALIDATE_STATE, ae as POSITION, af as debounce_default, al as omitText, k as h, am as parseVnode, O as index$4 } from "./index.js";
+import { k as resolveComponent, u as openBlock, v as createElementBlock, D as renderSlot, y as createBlock, z as createCommentVNode, A as normalizeClass, P as withModifiers, l as createVNode, t as Text, H as withCtx, G as normalizeStyle, w as createBaseVNode, J as createTextVNode, E as toDisplayString, I as withDirectives, L as vShow } from "./vue.js";
+import { v as validate_default } from "./index30.js";
+const watchRules = ({ api: api2, props: props2, state }) => (newRules = {}, oldRules = {}) => {
+  const newValidFields = Object.keys(newRules);
+  const oldValidFields = Object.keys(oldRules);
+  const removeValidFields = oldValidFields.filter((item) => !newValidFields.includes(item));
+  api2.clearValidate(removeValidFields);
+  state.fields.forEach((field) => {
+    field.removeValidateEvents();
+    field.addValidateEvents();
+  });
+  if (props2.validateOnRuleChange) {
+    api2.validate(() => void 0);
+  }
+};
+const computedAutoLabelWidth = ({ state }) => () => {
+  if (!state.potentialLabelWidthArr.length) {
+    return "0";
+  }
+  const max = Math.max(...state.potentialLabelWidthArr);
+  return max ? `${max}px` : "";
+};
+const computedHideRequiredAsterisk = ({ props: props2, designConfig }) => () => {
+  var _a, _b;
+  return (_b = (_a = props2.hideRequiredAsterisk) != null ? _a : designConfig == null ? void 0 : designConfig.hideRequiredAsterisk) != null ? _b : false;
+};
+const computedValidateIcon$1 = ({ props: props2, designConfig }) => () => {
+  var _a, _b, _c;
+  return (_c = (_b = props2.validateIcon) != null ? _b : (_a = designConfig == null ? void 0 : designConfig.icons) == null ? void 0 : _a.validateIcon) != null ? _c : null;
+};
+const computedIsErrorInline$1 = ({ props: props2, designConfig }) => () => {
+  if (props2.messageType) {
+    return props2.messageType === "inline";
+  }
+  if (typeof props2.inlineMessage === "boolean") {
+    return props2.inlineMessage;
+  }
+  return (designConfig == null ? void 0 : designConfig.messageType) === "inline" || false;
+};
+const computedIsErrorBlock$1 = ({ props: props2, designConfig }) => () => {
+  if (props2.messageType) {
+    return props2.messageType === "block";
+  }
+  return (designConfig == null ? void 0 : designConfig.messageType) === "block" || false;
+};
+const created = ({ parent, state }) => () => {
+  parent.$on("form:addField", (field) => {
+    if (field) {
+      state.fields.push(field);
+    }
+  });
+  parent.$on("form:removeField", (field) => {
+    if (field.prop) {
+      state.fields.splice(state.fields.indexOf(field), 1);
+    }
+  });
+};
+const resetFields = ({ props: props2, state }) => () => {
+  if (!props2.model) {
+    return;
+  }
+  state.fields.forEach((field) => {
+    field.resetField();
+  });
+};
+const updateTip$1 = ({ props: props2, state }) => () => {
+  if (!props2.model) {
+    return;
+  }
+  state.fields.forEach((field) => {
+    field.updateTip();
+  });
+};
+const clearValidate$1 = (state) => (props2 = []) => {
+  let fields;
+  if (props2.length) {
+    fields = typeof props2 === "string" ? state.fields.filter((field) => props2 === field.prop) : state.fields.filter((field) => field.prop && props2.includes(field.prop));
+  } else {
+    fields = state.fields;
+  }
+  fields.forEach((field) => {
+    field.clearValidate();
+  });
+};
+const validate$1 = ({ props: props2, state }) => (callback) => {
+  if (!props2.model) {
+    return;
+  }
+  let promise;
+  if (typeof callback !== "function" && window.Promise) {
+    promise = new window.Promise((resolve, reject) => {
+      callback = (valid2) => {
+        valid2 ? resolve(valid2) : reject(valid2);
+      };
+    });
+  }
+  let valid = true;
+  let count = 0;
+  if (state.fields.length === 0 && callback) {
+    callback(true);
+  }
+  let invalidFields = {};
+  state.fields.forEach((field) => {
+    field.validate("", (message, field2) => {
+      if (message) {
+        valid = false;
+      }
+      invalidFields = merge({}, invalidFields, field2);
+      if (typeof callback === "function" && ++count === state.fields.length) {
+        callback(valid, invalidFields);
+      }
+    });
+  });
+  if (promise) {
+    return promise;
+  }
+};
+const validateField = (state) => (props2, cb) => {
+  props2 = [].concat(props2);
+  const fields = state.fields.filter((field) => props2.includes(field.prop));
+  if (!fields.length) {
+    return;
+  }
+  fields.forEach((field) => {
+    field.validate("", cb);
+  });
+};
+const getLabelWidthIndex = (state) => (width) => {
+  const index2 = state.potentialLabelWidthArr.indexOf(width);
+  if (index2 === -1) {
+    throw new Error("unpected width ", width);
+  }
+  return index2;
+};
+const registerLabelWidth = ({ api: api2, state }) => (val, oldVal) => {
+  if (val && oldVal) {
+    const index2 = api2.getLabelWidthIndex(oldVal);
+    state.potentialLabelWidthArr.splice(index2, 1, val);
+  } else if (val) {
+    state.potentialLabelWidthArr.push(val);
+  }
+};
+const deregisterLabelWidth = ({ api: api2, state }) => (val) => {
+  const index2 = api2.getLabelWidthIndex(val);
+  state.potentialLabelWidthArr.splice(index2, 1);
+};
+const bindDialogEvent = ({ api: api2, dialog, state }) => {
+  let unbindDialogEvent = () => {
+  };
+  if (dialog) {
+    const boxCloseHandler = (isFormReset = true) => {
+      isFormReset ? api2.resetFields() : api2.clearValidate();
+    };
+    const boxDragHandler = () => {
+      if (!state.timer) {
+        state.timer = window.setTimeout(() => {
+          state.timer = 0;
+          api2.updateTip();
+        }, 10);
+      }
+    };
+    dialog.state.emitter.on("boxclose", boxCloseHandler);
+    dialog.state.emitter.on("boxdrag", boxDragHandler);
+    unbindDialogEvent = () => {
+      dialog.state.emitter.off("boxclose", boxCloseHandler);
+      dialog.state.emitter.off("boxdrag", boxDragHandler);
+    };
+  }
+  return unbindDialogEvent;
+};
+const showTooltip = ({ vm, state }) => (dom, val) => {
+  const tooltip = vm.$refs.tooltip;
+  tooltip.state.referenceElm = dom;
+  tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+  tooltip.doDestroy();
+  state.tooltipVisible = true;
+  state.displayedValue = val;
+  setTimeout(tooltip.updatePopper, 20);
+};
+const hideTooltip = ({ state }) => () => {
+  state.tooltipVisible = false;
+};
+const api$1 = [
+  "state",
+  "resetFields",
+  "clearValidate",
+  "validate",
+  "validateField",
+  "getLabelWidthIndex",
+  "registerLabelWidth",
+  "deregisterLabelWidth",
+  "updateTip",
+  "showTooltip",
+  "hideTooltip"
+];
+const renderless$1 = (props2, { computed, inject, provide: provide2, reactive, watch, onBeforeUnmount }, { vm, parent, designConfig }) => {
+  const api2 = {};
+  const dialog = inject("dialog", null);
+  const state = reactive({
+    showAutoWidth: props2.showAutoWidth,
+    fields: [],
+    timer: 0,
+    tooltipVisible: false,
+    displayedValue: "",
+    potentialLabelWidthArr: [],
+    autoLabelWidth: computed(() => api2.computedAutoLabelWidth()),
+    hideRequiredAsterisk: computed(() => api2.computedHideRequiredAsterisk()),
+    validateIcon: computed(() => api2.computedValidateIcon()),
+    isErrorInline: computed(() => api2.computedIsErrorInline()),
+    isErrorBlock: computed(() => api2.computedIsErrorBlock()),
+    isDisplayOnly: computed(() => props2.displayOnly),
+    hasRequired: computed(() => {
+      if (props2.rules) {
+        return Object.values(props2.rules).find((ruleOrRules) => {
+          if (Array.isArray(ruleOrRules)) {
+            return ruleOrRules.some((r) => r.required);
+          } else {
+            return ruleOrRules.required;
+          }
+        });
+      } else {
+        return false;
+      }
+    }),
+    labelWidth: computed(() => {
+      var _a;
+      return props2.labelWidth || ((_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.labelWidth) || "80px";
+    }),
+    tooltipType: computed(() => {
+      var _a;
+      return ((_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.tooltipType) || "normal";
+    })
+  });
+  Object.assign(api2, {
+    state,
+    updateTip: updateTip$1({ props: props2, state }),
+    computedAutoLabelWidth: computedAutoLabelWidth({ state }),
+    computedHideRequiredAsterisk: computedHideRequiredAsterisk({ props: props2, designConfig }),
+    computedValidateIcon: computedValidateIcon$1({ props: props2, designConfig }),
+    computedIsErrorInline: computedIsErrorInline$1({ props: props2, designConfig }),
+    computedIsErrorBlock: computedIsErrorBlock$1({ props: props2, designConfig }),
+    created: created({ parent, state }),
+    resetFields: resetFields({ props: props2, state }),
+    clearValidate: clearValidate$1(state),
+    validate: validate$1({ props: props2, state }),
+    validateField: validateField(state),
+    getLabelWidthIndex: getLabelWidthIndex(state),
+    registerLabelWidth: registerLabelWidth({ api: api2, state }),
+    deregisterLabelWidth: deregisterLabelWidth({ api: api2, state }),
+    watchRules: watchRules({ api: api2, props: props2, state }),
+    showTooltip: showTooltip({ vm, state }),
+    hideTooltip: hideTooltip({ state })
+  });
+  api2.created();
+  provide2("form", parent);
+  provide2("showAutoWidth", state.showAutoWidth);
+  const unbindDialogEvent = bindDialogEvent({ api: api2, dialog, state });
+  onBeforeUnmount(unbindDialogEvent);
+  watch(() => props2.rules, api2.watchRules);
+  return api2;
+};
+const index$3 = "";
+const index$2 = "";
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$4 = /* @__PURE__ */ defineComponent({
+  components: {
+    TinyTooltip: Tooltip
+  },
+  props: [].concat(props, ["validateOnRuleChange", "hideRequiredAsterisk", "model", "rules", "inlineMessage", "messageType", "statusIcon", "labelPosition", "labelAlign", "showMessage", "size", "disabled", "labelWidth", "contentOffset", "labelSuffix", "inline", "responsiveLayout", "validateType", "validateIcon", "manual", "appendToBody", "popperOptions", "displayOnly", "showAutoWidth", "showEmptyValue", "validateTag", "overflowTitle"]),
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  return openBlock(), createElementBlock(
+    "form",
+    {
+      class: normalizeClass(["tiny-form", [_ctx.labelPosition ? "tiny-form--label-" + _ctx.labelPosition : "", {
+        "tiny-form--inline": _ctx.inline
+      }, {
+        "label-align": _ctx.labelAlign
+      }, {
+        "has-required": _ctx.state.hasRequired
+      }, {
+        "asterisk-form": _ctx.labelPosition === "top" && !_ctx.state.hideRequiredAsterisk
+      }, {
+        "is-display-only": _ctx.state.isDisplayOnly
+      }]]),
+      onSubmit: _cache[1] || (_cache[1] = withModifiers(function() {
+      }, ["prevent"]))
+    },
+    [renderSlot(_ctx.$slots, "default"), _ctx.overflowTitle ? (openBlock(), createBlock(_component_tiny_tooltip, {
+      key: 0,
+      ref: "tooltip",
+      modelValue: _ctx.state.tooltipVisible,
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx.state.tooltipVisible = $event;
+      }),
+      manual: true,
+      effect: "light",
+      content: _ctx.state.displayedValue,
+      placement: "top"
+    }, null, 8, ["modelValue", "content"])) : createCommentVNode("v-if", true)],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var pc = /* @__PURE__ */ _export_sfc$3(_sfc_main$4, [["render", _sfc_render$3]]);
+const index$1 = "";
+const index = "";
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$3 = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["validatePosition", "validateOnRuleChange", "hideRequiredAsterisk", "model", "rules", "inlineMessage", "messageType", "statusIcon", "labelPosition", "labelAlign", "showMessage", "size", "disabled", "labelWidth", "contentOffset", "labelSuffix", "inline", "responsiveLayout", "validateType", "validateIcon", "manual"]),
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "form",
+    {
+      class: normalizeClass(["tiny-mobile-form", [_ctx.labelPosition ? "tiny-mobile-form--label-" + _ctx.labelPosition : "", {
+        "tiny-mobile-form--inline": _ctx.inline
+      }, {
+        "label-align": _ctx.labelAlign
+      }]]),
+      onSubmit: _cache[0] || (_cache[0] = withModifiers(function() {
+      }, ["prevent"]))
+    },
+    [renderSlot(_ctx.$slots, "default")],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var mobile = /* @__PURE__ */ _export_sfc$2(_sfc_main$3, [["render", _sfc_render$2]]);
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$2 = defineComponent({
+  components: {
+    TinyTooltip: Tooltip
+  },
+  provide: function provide() {
+    return {
+      TinyMode: "mobile-first"
+    };
+  },
+  props: [].concat(props, ["validateOnRuleChange", "hideRequiredAsterisk", "model", "rules", "inlineMessage", "messageType", "statusIcon", "labelPosition", "showMessage", "size", "disabled", "labelWidth", "contentOffset", "labelSuffix", "inline", "responsiveLayout", "validateType", "validateIcon", "manual", "appendToBody", "popperOptions", "displayOnly", "showEmptyValue"]),
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  return openBlock(), createElementBlock(
+    "form",
+    {
+      "data-tag": "tiny-form",
+      class: normalizeClass(["w-full overflow-hidden", {
+        "overflow-x-visible": _ctx.labelPosition === "top" && !_ctx.hideRequiredAsterisk,
+        "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4": _ctx.inline
+      }]),
+      onSubmit: _cache[1] || (_cache[1] = withModifiers(function() {
+      }, ["prevent"]))
+    },
+    [renderSlot(_ctx.$slots, "default"), _ctx.displayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+      key: 0,
+      ref: "tooltip",
+      modelValue: _ctx.state.tooltipVisible,
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx.state.tooltipVisible = $event;
+      }),
+      "popper-class": "absolute",
+      manual: true,
+      effect: "light",
+      content: _ctx.state.displayedValue,
+      placement: "top"
+    }, null, 8, ["modelValue", "content"])) : createCommentVNode("v-if", true)],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["render", _sfc_render$1]]);
+function _extends$4() {
+  _extends$4 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$4.apply(this, arguments);
+}
+var template$1 = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$1;
+  }
+  return pc;
+};
+var formProps = _extends$4({}, $props, {
+  model: Object,
+  rules: Object,
+  inlineMessage: {
+    type: Boolean,
+    default: void 0
+  },
+  messageType: String,
+  statusIcon: Boolean,
+  showMessage: {
+    type: Boolean,
+    default: true
+  },
+  validatePosition: {
+    type: String,
+    default: "right"
+  },
+  size: String,
+  disabled: Boolean,
+  validateOnRuleChange: {
+    type: Boolean,
+    default: true
+  },
+  hideRequiredAsterisk: {
+    type: Boolean,
+    default: void 0
+  },
+  labelPosition: {
+    type: String,
+    default: "right",
+    validator: function validator(value) {
+      return ["left", "top", "right"].includes(value);
+    }
+  },
+  labelWidth: {
+    type: String,
+    // 默认值挪到design中
+    default: ""
+  },
+  labelAlign: {
+    type: Boolean,
+    default: false
+  },
+  contentOffset: Number,
+  labelSuffix: {
+    type: String,
+    default: ""
+  },
+  inline: {
+    type: Boolean,
+    default: false
+  },
+  responsiveLayout: {
+    type: Boolean,
+    default: false
+  },
+  validateType: {
+    type: String,
+    default: "tip",
+    validator: function validator2(value) {
+      return Boolean(~["tip", "text"].indexOf(value));
+    }
+  },
+  validateIcon: Object,
+  manual: {
+    type: Boolean,
+    default: false
+  },
+  appendToBody: {
+    type: Boolean,
+    default: void 0
+  },
+  popperOptions: {
+    type: Object,
+    default: function _default() {
+      return {};
+    }
+  },
+  displayOnly: {
+    type: Boolean,
+    default: false
+  },
+  showAutoWidth: {
+    type: Boolean,
+    default: false
+  },
+  showEmptyValue: {
+    type: Boolean,
+    default: true
+  },
+  validateTag: {
+    type: Boolean,
+    default: false
+  },
+  overflowTitle: {
+    type: Boolean,
+    default: false
+  }
+});
+var Form = defineComponent({
+  name: $prefix + "Form",
+  componentName: "Form",
+  props: formProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version = "3.16.0";
+Form.install = function(Vue) {
+  Vue.component(Form.name, Form);
+};
+Form.version = version;
+const watchError = (state) => (value) => {
+  if (!isNull(value) && state.getValidateType === "tip") {
+    state.canShowTip = true;
+  }
+  state.validateMessage = value;
+  state.validateState = value ? VALIDATE_STATE.Error : "";
+};
+const watchValidateStatus = (state) => (value) => {
+  state.validateState = value;
+};
+const computedGetValidateType = ({ props: props2, state }) => () => props2.validateType || (state.formInstance ? state.formInstance.validateType : "");
+const computedValidateIcon = ({ props: props2, state }) => () => {
+  var _a, _b, _c, _d;
+  return (_d = (_c = props2.validateIcon) != null ? _c : (_b = (_a = state == null ? void 0 : state.formInstance) == null ? void 0 : _a.state) == null ? void 0 : _b.validateIcon) != null ? _d : null;
+};
+const computedIsErrorInline = ({ props: props2, state }) => () => {
+  var _a, _b, _c;
+  if (props2.messageType) {
+    return props2.messageType === "inline";
+  }
+  if (typeof props2.inlineMessage === "boolean") {
+    return props2.inlineMessage;
+  }
+  return (_c = (_b = (_a = state == null ? void 0 : state.formInstance) == null ? void 0 : _a.state) == null ? void 0 : _b.isErrorInline) != null ? _c : false;
+};
+const computedIsErrorBlock = ({ props: props2, state }) => () => {
+  var _a, _b, _c;
+  if (props2.messageType) {
+    return props2.messageType === "block";
+  }
+  return (_c = (_b = (_a = state == null ? void 0 : state.formInstance) == null ? void 0 : _a.state) == null ? void 0 : _b.isErrorBlock) != null ? _c : false;
+};
+const computedLabelStyle = ({ props: props2, state }) => () => {
+  const result = { width: "" };
+  if (state.form.labelPosition === POSITION.Top) {
+    return result;
+  }
+  const labelWidth = props2.labelWidth || state.form.state.labelWidth;
+  if (labelWidth) {
+    result.width = labelWidth;
+  }
+  return result;
+};
+const computedValueStyle = ({ props: props2, state }) => () => {
+  const result = { width: "" };
+  if (state.form.labelPosition === POSITION.Top) {
+    result.width = "100%";
+    return result;
+  }
+  const labelWidth = props2.labelWidth || state.form.state.labelWidth;
+  if (labelWidth) {
+    if (labelWidth === "auto") {
+      result.width = labelWidth;
+    } else {
+      result.width = `calc(100% - ${labelWidth})`;
+    }
+  }
+  return result;
+};
+const computedContentStyle = ({ props: props2, state }) => () => {
+  const result = {};
+  const label = props2.label;
+  if (state.form.labelPosition === POSITION.Top || state.form.inline) {
+    return result;
+  }
+  if (!label && !props2.labelWidth && state.isNested) {
+    return result;
+  }
+  const labelWidth = props2.labelWidth || state.form.state.labelWidth;
+  if (labelWidth === "auto") {
+    if (props2.labelWidth === "auto") {
+      result.marginLeft = state.computedLabelWidth;
+    } else if (state.form.state.labelWidth === "auto") {
+      result.marginLeft = state.formInstance.state.autoLabelWidth;
+    }
+  } else {
+    result.marginLeft = labelWidth;
+  }
+  return result;
+};
+const computedForm = ({ constants, vm, state }) => () => {
+  var _a, _b, _c;
+  const { FORM_NAME, FORM_ITEM_NAME } = constants;
+  let parent = (_a = vm.$parent) == null ? void 0 : _a.$parent;
+  let parentName = (_b = parent == null ? void 0 : parent.$options) == null ? void 0 : _b.componentName;
+  while (parent && parentName !== FORM_NAME) {
+    if (parentName === FORM_ITEM_NAME) {
+      state.isNested = true;
+    }
+    parent = parent == null ? void 0 : parent.$parent;
+    parentName = (_c = parent == null ? void 0 : parent.$options) == null ? void 0 : _c.componentName;
+  }
+  return parent;
+};
+const computedIsRequired = ({ api: api2, state }) => () => {
+  if (state.validationRequired) {
+    return true;
+  }
+  let rules = api2.getRules();
+  let isRequired = false;
+  if (rules && rules.length) {
+    rules.every((rule) => {
+      if (rule.required) {
+        isRequired = true;
+        return false;
+      }
+      return true;
+    });
+  }
+  return isRequired;
+};
+const getPropByPath = (obj, path, strict) => {
+  let findObj = obj;
+  path = path.replace(/\[(\w+)\]/g, ".$1");
+  path = path.replace(/^\./, "");
+  let index2 = 0;
+  let keys = path.split(".");
+  for (let len = keys.length; index2 < len - 1; ++index2) {
+    if (!findObj && !strict) {
+      break;
+    }
+    let key = keys[index2];
+    if (findObj && key in findObj) {
+      findObj = findObj[key];
+    } else {
+      if (strict) {
+        throw new Error("[Tiny Form] please transfer a valid prop path to form item!");
+      }
+      break;
+    }
+  }
+  return {
+    o: findObj,
+    k: keys[index2],
+    v: findObj ? findObj[keys[index2]] : null
+  };
+};
+const computedFieldValue = ({ props: props2, state }) => () => {
+  const model = state.form.model;
+  if (!model || !props2.prop) {
+    return;
+  }
+  let path = props2.prop;
+  if (path.includes(":")) {
+    path = path.replace(/:/, ".");
+  }
+  return getPropByPath(model, path, true).v;
+};
+const mounted = ({ api: api2, vm, props: props2, state }) => () => {
+  state.tooltip = vm.$refs.tooltip;
+  if (props2.prop) {
+    api2.dispatch("Form", "form:addField", vm);
+    let initialValue = state.fieldValue;
+    if (Array.isArray(initialValue)) {
+      initialValue = [].concat(initialValue);
+    }
+    state.initialValue = initialValue;
+    api2.addValidateEvents();
+  }
+};
+const unmounted = ({ api: api2, vm, state }) => () => {
+  state.canShowTip = false;
+  api2.dispatch("Form", "form:removeField", vm);
+};
+const validate = ({ api: api2, props: props2, state, t }) => (trigger, callback = () => void 0) => {
+  state.validateDisabled = false;
+  const rules = api2.getFilteredRule(trigger);
+  if ((!rules || rules.length === 0) && props2.required === void 0 || props2.validateDisabled) {
+    callback();
+    return;
+  }
+  state.validateState = VALIDATE_STATE.Validating;
+  const descriptor = {};
+  if (rules && rules.length > 0) {
+    rules.forEach((rule) => {
+      delete rule.trigger;
+    });
+  }
+  descriptor[props2.prop || ""] = rules;
+  const validator3 = new validate_default(descriptor, t);
+  const model = {};
+  model[props2.prop || ""] = state.fieldValue;
+  validator3.validate(model, { firstFields: true }, (errors, invalidFields) => {
+    api2.clearValidate();
+    const handlerError = () => {
+      state.validateState = !errors ? VALIDATE_STATE.Success : VALIDATE_STATE.Error;
+      if (errors && props2.error) {
+        errors[0].message = props2.error;
+      }
+      state.validateMessage = errors ? errors[0].message : "";
+      state.canShowTip = Boolean(errors);
+      callback(state.validateMessage, invalidFields);
+      state.formInstance && state.formInstance.$emit("validate", props2.prop, !errors, state.validateMessage || null);
+    };
+    handlerError();
+  });
+};
+const clearValidate = (state) => () => {
+  state.validateState = "";
+  state.validateMessage = "";
+  state.validateDisabled = false;
+};
+const resetField = ({ api: api2, nextTick, props: props2, state }) => () => {
+  if (state.getValidateType === "tip") {
+    state.canShowTip = false;
+  }
+  state.validateState = "";
+  state.validateMessage = "";
+  let model = state.form.model || {};
+  let value = state.fieldValue;
+  let path = props2.prop || "";
+  if (path && path.includes(":")) {
+    path = path.replace(/:/, ".");
+  }
+  let prop = getPropByPath(model, path, true);
+  state.validateDisabled = true;
+  if (Array.isArray(value)) {
+    prop.o[prop.k] = [].concat(state.initialValue);
+  } else {
+    prop.o[prop.k] = state.initialValue;
+  }
+  nextTick(() => {
+    state.validateDisabled = false;
+  });
+  setTimeout(() => state.validateState && (state.validateState = ""));
+  api2.broadcast("timeSelect", "fieldReset", state.initialValue);
+};
+const getRules = ({ props: props2, state }) => () => {
+  let formRules = state.form.rules || {};
+  const selfRules = props2.rules;
+  const requiredRule = props2.required !== void 0 ? { required: Boolean(props2.required) } : [];
+  const prop = getPropByPath(formRules, props2.prop || "");
+  formRules = formRules ? prop.o[props2.prop || ""] || prop.v : [];
+  return [].concat(selfRules || formRules || []).concat(requiredRule);
+};
+const getFilteredRule = (api2) => (trigger) => {
+  const rules = api2.getRules();
+  return rules.filter((rule) => {
+    if (!rule.trigger || trigger === "") {
+      return true;
+    }
+    if (Array.isArray(rule.trigger)) {
+      return rule.trigger.includes(trigger);
+    }
+    return rule.trigger === trigger;
+  }).map((rule) => merge({}, rule));
+};
+const onFieldBlur = (api2) => () => {
+  api2.validate("blur");
+};
+const onFieldChange = ({ api: api2, state }) => () => {
+  if (state.validateDisabled) {
+    state.validateDisabled = false;
+    return;
+  }
+  api2.validate("change");
+};
+const updateComputedLabelWidth = (state) => (width) => {
+  state.computedLabelWidth = width ? `${width}px` : "";
+};
+const addValidateEvents = ({ api: api2, vm, props: props2, state }) => () => {
+  const rules = api2.getRules();
+  if (rules.length || props2.required !== void 0) {
+    const manual = props2.manual || (state.formInstance ? state.formInstance.manual : false);
+    if (!manual) {
+      vm.$on("form.blur", api2.onFieldBlur);
+      vm.$on("form.change", api2.onFieldChange);
+    }
+  }
+};
+const removeValidateEvents = (vm) => () => {
+  vm.$off();
+};
+const updateTip = ({ vm, state }) => () => {
+  if (state.getValidateType !== "tip" && !state.canShowTip) {
+    return;
+  }
+  const tooltip = vm.$refs.tooltip;
+  if (!tooltip) {
+    return;
+  }
+  tooltip.updatePopper();
+};
+const wrapValidate = ({
+  validateFunc,
+  props: props2
+}) => {
+  if (props2.validateDebounce) {
+    return debounce_default(500, validateFunc);
+  } else {
+    return validateFunc;
+  }
+};
+const handleMouseenter = ({ state }) => (e) => {
+  if (!state.isDisplayOnly || !state.typeName || !state.form)
+    return;
+  const dom = e.target;
+  const text = dom.textContent;
+  const font = window.getComputedStyle(dom).font;
+  const rect = dom.getBoundingClientRect();
+  let res = {};
+  let overHeight = false;
+  if (["text", "password", "number"].includes(state.typeName)) {
+    res = omitText(text, font, rect.width);
+  }
+  if (state.typeName === "textarea" && dom && dom.scrollHeight > dom.offsetHeight) {
+    overHeight = true;
+  }
+  if (res.o || overHeight) {
+    state.form.showTooltip(dom, state.displayedValue);
+  }
+};
+const handleLabelMouseenter = ({ props: props2, state, slots }) => (e) => {
+  if (!state.form.overflowTitle || !state.form || slots.label)
+    return;
+  const label = e.target;
+  if (label && label.scrollWidth > label.offsetWidth) {
+    state.form.showTooltip(label, props2.label + state.form.labelSuffix);
+  }
+};
+const handleMouseleave = (state) => () => {
+  state.form && state.form.hideTooltip();
+};
+const getDisplayedValue = ({ state }) => (param) => {
+  if (!state.formInstance.displayOnly)
+    return;
+  state.typeName = param.type;
+  state.isBasicComp = true;
+  state.displayedValue = param.val;
+};
+const clearDisplayedValue = ({ state }) => () => {
+  state.typeName = "";
+  state.isBasicComp = false;
+  state.displayedValue = "";
+};
+const api = [
+  "state",
+  "validate",
+  "clearValidate",
+  "resetField",
+  "getRules",
+  "getFilteredRule",
+  "onFieldBlur",
+  "onFieldChange",
+  "updateComputedLabelWidth",
+  "addValidateEvents",
+  "removeValidateEvents",
+  "updateTip",
+  "getDisplayedValue",
+  "handleLabelMouseenter",
+  "handleMouseenter",
+  "handleMouseleave"
+];
+const initState = ({
+  reactive,
+  computed,
+  api: api2,
+  mode,
+  inject,
+  props: props2
+}) => {
+  const state = reactive({
+    mode,
+    validateState: "",
+    validateMessage: "",
+    validateDisabled: false,
+    validator: {},
+    isNested: false,
+    computedLabelWidth: "",
+    initialValue: null,
+    canShowTip: false,
+    // 兼容 2.0 validation 的 required
+    validationRequired: false,
+    validateType: "text",
+    tooltip: "",
+    displayedValue: "",
+    isBasicComp: false,
+    showTooltip: false,
+    typeName: "",
+    formInstance: inject("form"),
+    labelFor: computed(() => props2.for || props2.prop || ""),
+    labelStyle: computed(() => api2.computedLabelStyle()),
+    valueStyle: computed(() => api2.computedValueStyle()),
+    contentStyle: computed(() => api2.computedContentStyle()),
+    form: computed(() => api2.computedForm()),
+    fieldValue: computed(() => api2.computedFieldValue()),
+    isRequired: computed(() => api2.computedIsRequired()),
+    formInline: computed(() => state.formInstance.inline),
+    formSize: computed(() => state.formInstance.size),
+    formItemSize: computed(() => props2.size || state.formSize),
+    isDisplayOnly: computed(() => state.formInstance.displayOnly),
+    labelPosition: computed(() => state.formInstance.labelPosition),
+    hideRequiredAsterisk: computed(() => state.formInstance.state.hideRequiredAsterisk),
+    labelSuffix: computed(() => state.formInstance.labelSuffix),
+    labelWidth: computed(() => state.formInstance.labelWidth),
+    showMessage: computed(() => state.formInstance.showMessage),
+    sizeClass: computed(() => state.formItemSize),
+    getValidateType: computed(() => api2.computedGetValidateType()),
+    validateIcon: computed(() => api2.computedValidateIcon()),
+    isErrorInline: computed(() => api2.computedIsErrorInline()),
+    isErrorBlock: computed(() => api2.computedIsErrorBlock()),
+    disabled: computed(() => state.formInstance.disabled),
+    tooltipType: computed(() => state.formInstance.state.tooltipType)
+  });
+  return state;
+};
+const initApi = ({ api: api2, state, dispatch, broadcast, props: props2, constants, vm, t, nextTick, slots }) => {
+  Object.assign(api2, {
+    state,
+    dispatch,
+    broadcast,
+    watchError: watchError(state),
+    updateTip: updateTip({ vm, state }),
+    watchValidateStatus: watchValidateStatus(state),
+    computedLabelStyle: computedLabelStyle({ props: props2, state }),
+    computedValueStyle: computedValueStyle({ props: props2, state }),
+    computedContentStyle: computedContentStyle({ props: props2, state }),
+    computedForm: computedForm({ constants, vm, state }),
+    computedFieldValue: computedFieldValue({ props: props2, state }),
+    computedGetValidateType: computedGetValidateType({ props: props2, state }),
+    computedValidateIcon: computedValidateIcon({ props: props2, state }),
+    computedIsErrorInline: computedIsErrorInline({ props: props2, state }),
+    computedIsErrorBlock: computedIsErrorBlock({ props: props2, state }),
+    clearValidate: clearValidate(state),
+    getRules: getRules({ props: props2, state }),
+    updateComputedLabelWidth: updateComputedLabelWidth(state),
+    removeValidateEvents: removeValidateEvents(vm),
+    unmounted: unmounted({ api: api2, vm, state }),
+    mounted: mounted({ api: api2, vm, props: props2, state }),
+    computedIsRequired: computedIsRequired({ api: api2, state }),
+    resetField: resetField({ api: api2, nextTick, props: props2, state }),
+    getFilteredRule: getFilteredRule(api2),
+    onFieldBlur: onFieldBlur(api2),
+    onFieldChange: onFieldChange({ api: api2, state }),
+    addValidateEvents: addValidateEvents({ api: api2, vm, props: props2, state }),
+    validate: wrapValidate({ validateFunc: validate({ api: api2, props: props2, state, t }), props: props2 }),
+    getDisplayedValue: getDisplayedValue({ state }),
+    clearDisplayedValue: clearDisplayedValue({ state }),
+    handleLabelMouseenter: handleLabelMouseenter({ props: props2, state, slots }),
+    handleMouseenter: handleMouseenter({ state }),
+    handleMouseleave: handleMouseleave(state)
+  });
+};
+const initWatch = ({ watch, api: api2, props: props2, state }) => {
+  watch(() => props2.error, api2.watchError, { immediate: true });
+  watch(() => props2.validateStatus, api2.watchValidateStatus);
+  watch(() => state.formInstance.displayOnly, api2.clearDisplayedValue);
+};
+const renderless = (props2, { computed, inject, onMounted, onUnmounted, provide: provide2, reactive, watch }, { vm, constants, t, nextTick, broadcast, dispatch, mode, slots }) => {
+  const api2 = {};
+  const state = initState({ reactive, computed, api: api2, mode, inject, props: props2 });
+  provide2("formItem", vm);
+  initApi({ api: api2, state, dispatch, broadcast, props: props2, constants, vm, t, nextTick, slots });
+  initWatch({ watch, api: api2, props: props2, state });
+  onMounted(api2.mounted);
+  vm.$on("displayed-value-changed", (param) => {
+    api2.getDisplayedValue(param);
+  });
+  onUnmounted(api2.unmounted);
+  return api2;
+};
+function _extends$3() {
+  _extends$3 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$3.apply(this, arguments);
+}
+var labelWrap = defineComponent({
+  props: _extends$3({}, $props, {
+    isAutoWidth: Boolean,
+    updateAll: Boolean,
+    isMobile: Boolean,
+    isMobileFirst: Boolean
+  }),
+  inject: ["form", "formItem"],
+  render: function render() {
+    var slotsDefault = this.slots.default && this.slots.default();
+    var classPrefix = this.isMobile ? "tiny-mobile-" : "tiny-";
+    if (!slotsDefault)
+      return null;
+    if (this.isAutoWidth) {
+      var autoLabelWidth = this.form.autoLabelWidth;
+      var style = {};
+      if (autoLabelWidth && autoLabelWidth !== "auto") {
+        var marginLeft = parseInt(autoLabelWidth, 10) - this.computedWidth;
+        if (marginLeft) {
+          style.marginLeft = marginLeft + "px";
+        }
+      }
+      return h("div", {
+        class: this.isMobileFirst ? "float-left" : classPrefix + "form-item_label-wrap",
+        style
+      }, slotsDefault);
+    } else {
+      return slotsDefault[0];
+    }
+  },
+  methods: {
+    getLabelWidth: function getLabelWidth() {
+      var computedStylWidth = function computedStylWidth2(elem) {
+        return window.getComputedStyle(elem).width;
+      };
+      var ceilFloat = function ceilFloat2(f) {
+        return Math.ceil(parseFloat(f));
+      };
+      return !this.$el || !this.$el.firstElementChild ? 0 : ceilFloat(computedStylWidth(this.$el.firstElementChild));
+    },
+    updateLabelWidth: function updateLabelWidth(action) {
+      var _this = this;
+      if (action === void 0) {
+        action = "update";
+      }
+      if (!this.$slots.default || !this.isAutoWidth || !this.$el.firstElementChild) {
+        return;
+      }
+      var setComputedWidth = function setComputedWidth2() {
+        return _this.computedWidth = _this.getLabelWidth();
+      };
+      var deregisterFormLabelWidth = function deregisterFormLabelWidth2() {
+        return _this.form.deregisterLabelWidth(_this.computedWidth);
+      };
+      if (action === "update") {
+        setComputedWidth();
+      } else if (action === "remove") {
+        deregisterFormLabelWidth();
+      }
+    }
+  },
+  watch: {
+    computedWidth: function computedWidth(val, oldVal) {
+      if (this.updateAll) {
+        this.form.registerLabelWidth(val, oldVal);
+        this.formItem.updateComputedLabelWidth(val);
+      }
+    }
+  },
+  setup: function setup$14(props2, context) {
+    var renderless2 = function renderless22(props22, _ref, _ref2) {
+      var onMounted = _ref.onMounted, onUpdated = _ref.onUpdated, onBeforeUnmount = _ref.onBeforeUnmount;
+      var vm = _ref2.vm;
+      onMounted(function() {
+        return vm.updateLabelWidth("update");
+      });
+      onUpdated(function() {
+        return vm.updateLabelWidth("update");
+      });
+      onBeforeUnmount(function() {
+        return vm.updateLabelWidth("remove");
+      });
+      return {
+        computedWidth: 0
+      };
+    };
+    var api2 = ["computedWidth"];
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless2,
+      api: api2
+    });
+  }
+});
+function _extends$2() {
+  _extends$2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$2.apply(this, arguments);
+}
+var $constants$2 = {
+  FORM_NAME: "Form",
+  FORM_ITEM_NAME: "FormItem"
+};
+var _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "FormItem",
+  componentName: "FormItem",
+  components: {
+    LabelWrap: labelWrap,
+    Tooltip
+  },
+  props: _extends$2({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default2() {
+        return $constants$2;
+      }
+    },
+    appendToBody: {
+      type: Boolean,
+      default: void 0
+    },
+    error: String,
+    for: String,
+    inlineMessage: {
+      type: Boolean,
+      default: void 0
+    },
+    messageType: String,
+    label: String,
+    labelWidth: String,
+    manual: Boolean,
+    popperOptions: {
+      type: Object,
+      default: function _default22() {
+        return {};
+      }
+    },
+    prop: String,
+    required: {
+      type: Boolean,
+      default: void 0
+    },
+    rules: [Object, Array],
+    showMessage: {
+      type: Boolean,
+      default: true
+    },
+    size: String,
+    validateDisabled: Boolean,
+    validateDebounce: Boolean,
+    validatePosition: String,
+    validateStatus: String,
+    validateType: String,
+    validateIcon: {
+      type: Object,
+      default: null
+    },
+    ellipsis: {
+      type: Boolean,
+      default: false
+    },
+    vertical: {
+      type: Boolean,
+      default: false
+    },
+    extra: String
+  }),
+  setup: function setup$15(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  },
+  render: function render2() {
+    var _this = this, _class, _class2, _class3, _class4, _class5;
+    var state = this.state, required = this.required, slots = this.slots, label = this.label, scopedSlots = this.scopedSlots, showMessage = this.showMessage;
+    this.inlineMessage;
+    var ellipsis = this.ellipsis, vertical = this.vertical, handleLabelMouseenter2 = this.handleLabelMouseenter, handleMouseleave2 = this.handleMouseleave;
+    var validateIcon = state.validateIcon, isErrorInline = state.isErrorInline, isErrorBlock = state.isErrorBlock, tooltipType = state.tooltipType;
+    var isMobile = state.mode === "mobile";
+    var classPrefix = isMobile ? "tiny-mobile-" : "tiny-";
+    var labelSlot = slots.label ? slots.label() : null;
+    var defaultSlots = slots.default ? slots.default() : null;
+    var errorSlot = scopedSlots.error && scopedSlots.error(state.validateMessage);
+    var formItemClass = classPrefix + "form-item--" + (state.sizeClass ? state.sizeClass : "default");
+    var isShowError = state.validateState === "error" && showMessage && state.form.showMessage;
+    state.formInstance && state.formInstance.validateTag;
+    var validateMessage;
+    var ItemContent = defaultSlots ? defaultSlots.map(function(vnode) {
+      var item = parseVnode(vnode);
+      item.props = item.props || {};
+      var type = item.type;
+      Object.assign(item.props, {
+        size: state.formItemSize,
+        mini: state.formItemSize === "mini"
+      });
+      if (type && type.name && type.name.toLowerCase().endsWith("button")) {
+        return item;
+      }
+      var propsData = item.props;
+      if (propsData) {
+        if (!state.isRequired) {
+          state.validationRequired = propsData.validation && !!propsData.validation.required;
+        }
+        if (propsData.validation) {
+          return item;
+        }
+      }
+      if (isMobile) {
+        return h("div", {
+          class: classPrefix + "form-item__value",
+          style: state.valueStyle
+        }, [item]);
+      }
+      return item;
+    }) : null;
+    var getFormItemContnet = function getFormItemContnet2() {
+      if (isMobile) {
+        var _validatePosition = _this.validatePosition || state.formInstance.validatePosition || "right";
+        validateMessage = state.validateMessage ? _validatePosition === "right" ? createVNode("div", {
+          "class": "tiny-mobile-input-form__error align-right"
+        }, [state.validateMessage]) : createVNode("div", {
+          "class": "tiny-mobile-input-form__error align-left"
+        }, [state.validateMessage]) : null;
+        return ItemContent;
+      }
+      var tooltipTriggerContent = ItemContent.length > 1 ? h("div", {
+        class: "tiny-form-item__content-muti-children"
+      }, ItemContent) : ItemContent[0];
+      if (!_this.showMessage) {
+        return tooltipTriggerContent;
+      }
+      var formAppendToBody = state.formInstance && state.formInstance.appendToBody;
+      var appendToBody = typeof _this.appendToBody === "boolean" ? _this.appendToBody : typeof formAppendToBody === "boolean" ? formAppendToBody : true;
+      var validatePosition = _this.validatePosition || state.formInstance && state.formInstance.validatePosition || "top-end";
+      var popperOptions = _extends$2({}, state.formInstance.popperOptions, _this.popperOptions, {
+        forceAbsolute: !appendToBody,
+        onUpdate: function onUpdate(options) {
+          var popper = options.instance._popper;
+          var translate3d = popper.style.transform;
+          var matchTranslate = translate3d.match(/translate3d\((\w+)px, (\w+)px, (\w+)px\)/);
+          if (!Array.isArray(matchTranslate)) {
+            return;
+          }
+          var _matchTranslate$slice = matchTranslate.slice(1), x = _matchTranslate$slice[0], y = _matchTranslate$slice[1], z = _matchTranslate$slice[2];
+          popper.style.transform = "translate3d(" + x + "px, " + parseInt(y, 10) + "px, " + z + "px)";
+        }
+      });
+      var validateIconNode = validateIcon ? h(validateIcon, {
+        class: "tooltip-validate-icon"
+      }) : null;
+      return h("tooltip", {
+        props: {
+          popperClass: classPrefix + "form__valid",
+          arrowOffset: 0,
+          adjustArrow: true,
+          type: tooltipType,
+          disabled: state.getValidateType !== "tip",
+          placement: validatePosition,
+          manual: true,
+          appendToBody,
+          popperOptions,
+          modelValue: isShowError ? state.canShowTip : false,
+          zIndex: "relative",
+          renderContent: function renderContent() {
+            var tooltipContent;
+            if (errorSlot) {
+              tooltipContent = [errorSlot];
+            } else {
+              tooltipContent = [validateIconNode, createVNode("span", {
+                "class": classPrefix + "form-item__validate-message"
+              }, [state.validateMessage])];
+            }
+            return tooltipContent;
+          }
+        },
+        on: {
+          "update:modelValue": function updateModelValue(value) {
+            state.canShowTip = value;
+          }
+        },
+        ref: "tooltip"
+      }, [tooltipTriggerContent.type === Text ? createVNode("span", null, [tooltipTriggerContent]) : tooltipTriggerContent]);
+    };
+    var FormItemContnet = ItemContent ? getFormItemContnet() : null;
+    var ErrorContent = isShowError && state.getValidateType === "text" ? errorSlot || h("div", {
+      class: (_class = {}, _class[classPrefix + "form-item__error"] = true, _class[classPrefix + "form-item__error--inline"] = isErrorInline, _class[classPrefix + "form-item__error--block"] = isErrorBlock, _class),
+      attrs: {
+        title: [state.validateMessage]
+      }
+    }, [validateIcon ? h(validateIcon, {
+      class: "validate-icon"
+    }) : null, createVNode("span", {
+      "class": classPrefix + "form-item__validate-message"
+    }, [state.validateMessage])]) : null;
+    var LabelContent = h("label-wrap", {
+      props: {
+        isAutoWidth: state.labelStyle && state.labelStyle.width === "auto",
+        updateAll: state.form.labelWidth === "auto",
+        isMobile: state.mode === "mobile"
+      }
+    }, [labelSlot || label ? h("label", {
+      class: (_class2 = {}, _class2[classPrefix + "form-item__label"] = true, _class2["is-ellipsis"] = isMobile && ellipsis, _class2),
+      style: state.labelStyle,
+      attrs: {
+        for: state.labelFor
+      },
+      on: {
+        mouseenter: handleLabelMouseenter2,
+        mouseleave: handleMouseleave2
+      }
+    }, labelSlot || label + state.form.labelSuffix) : null]);
+    var ExtraTip = this.extra ? h("div", {
+      class: (_class3 = {}, _class3[classPrefix + "form-item__extra-tip"] = true, _class3)
+    }, this.extra) : null;
+    return h("div", {
+      class: (_class4 = {}, _class4[classPrefix + "form-item"] = true, _class4[classPrefix + "form-item--feedback"] = state.formInstance && state.formInstance.statusIcon, _class4["is-error"] = state.validateState === "error", _class4["is-text"] = state.getValidateType === "text", _class4["is-validating"] = state.validateState === "validating", _class4["is-success"] = state.validateState === "success", _class4["is-required"] = state.isRequired || required, _class4["is-no-asterisk"] = state.hideRequiredAsterisk, _class4[formItemClass] = true, _class4)
+    }, [!isMobile ? LabelContent : null, h("div", {
+      class: (_class5 = {}, _class5[classPrefix + "form-item__content"] = true, _class5["is-vertical"] = isMobile && vertical, _class5),
+      style: !isMobile && state.contentStyle
+    }, [isMobile ? LabelContent : null, FormItemContnet, isMobile ? validateMessage : null, h("transition", {
+      attrs: {
+        name: classPrefix + "zoom-in-top"
+      }
+    }, [ErrorContent]), isMobile ? null : ExtraTip])]);
+  }
+});
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var $constants$1 = {
+  FORM_NAME: "Form",
+  FORM_ITEM_NAME: "FormItem"
+};
+var _sfc_main = defineComponent({
+  name: $prefix + "FormItem",
+  componentName: "FormItem",
+  components: {
+    LabelWrap: labelWrap,
+    TinyTooltip: Tooltip,
+    IconHelpCircle: index$4()
+  },
+  props: _extends$1({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default3() {
+        return $constants$1;
+      }
+    },
+    appendToBody: {
+      type: Boolean,
+      default: void 0
+    },
+    error: String,
+    for: String,
+    inlineMessage: {
+      type: [String, Boolean],
+      default: ""
+    },
+    label: String,
+    labelWidth: String,
+    manual: Boolean,
+    popperOptions: {
+      type: Object,
+      default: function _default23() {
+        return {};
+      }
+    },
+    prop: String,
+    required: {
+      type: Boolean,
+      default: void 0
+    },
+    rules: [Object, Array],
+    showMessage: {
+      type: Boolean,
+      default: true
+    },
+    size: String,
+    tipContent: String,
+    validateDisabled: Boolean,
+    validateDebounce: Boolean,
+    validatePosition: String,
+    validateStatus: String,
+    validateType: String
+  }),
+  setup: function setup$16(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1 = ["for"];
+var _hoisted_2 = ["type-name"];
+var _hoisted_3 = ["title"];
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_help_circle = resolveComponent("icon-help-circle");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_label_wrap = resolveComponent("label-wrap");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-form-item",
+      class: normalizeClass(_ctx.m("flex min-h-[theme(spacing.12)] sm:min-h-[theme(spacing.7)] mb-0 p-0 sm:mb-4 box-border after:content-[''] after:table after:clear-both before:content-['']  before:table border-b-0.5 border-color-border-separator sm:border-none", _ctx.state.validateState === "error" && _ctx.state.validateType === "text" ? "mb-0 sm:mb-5" : "", _ctx.state.formInline ? "align-sub" : "", _ctx.state.labelPosition === "top" ? "block mb-4" : "", _ctx.state.validateState === "error" ? "[&_.tiny-range-editor]:border-color-error [&_[data-tag~=tiny-range-editor]]:border-color-error [&_[data-tag=tiny-numeric-main]]:border-color-error [&_input]:border-color-error [&_textarea]:border-color-error [&_input:focus]:border-color-error [&_input:hover]:border-color-error [&_textarea:focus]:border-color-error [&_textarea:hover]:border-color-error" : "", _ctx.state.labelPosition === "top" && !_ctx.state.hideRequiredAsterisk ? "pl-0" : "", !_ctx.slots.label && !_ctx.label ? "border-none" : "", _ctx.state.isDisplayOnly ? "border-none py-0.5" : ""))
+    },
+    [createVNode(_component_label_wrap, {
+      "is-auto-width": _ctx.state.labelStyle && _ctx.state.labelStyle.width === "auto",
+      "update-all": _ctx.state.labelWidth === "auto",
+      "is-mobile-first": true
+    }, {
+      default: withCtx(function() {
+        return [_ctx.slots.label || _ctx.label ? (openBlock(), createElementBlock("label", {
+          key: 0,
+          "data-tag": "tiny-item-label",
+          class: normalizeClass(_ctx.m("py-3 sm:py-1.5 sm:min-h-[theme(spacing.7)] relative align-bottom float-left text-sm pr-3 sm:pr-4 box-border leading-5", "overflow-hidden text-ellipsis", _ctx.state.labelPosition === "top" ? "float-none inline-block text-left sm:text-left leading-none px-0 pt-0 pb-1.5 h-auto min-h-0 sm:py-0 sm:pb-1 sm:min-h-[theme(spacing.0)]" : "min-h-[theme(spacing.9)]", _ctx.state.labelPosition === "right" ? "text-right sm:text-right" : "", _ctx.state.labelPosition === "left" ? "text-left sm:text-left" : "", _ctx.state.formInline && _ctx.state.labelPosition === "top" ? "block" : "", _ctx.state.isDisplayOnly ? "leading-none h-auto align-[inherit] pr-4" : "", _ctx.tipContent ? "pr-5 sm:pr-7" : "", _ctx.state.labelPosition === "top" && !_ctx.state.hideRequiredAsterisk ? "overflow-visible relative before:absolute before:-left-2.5" : "", _ctx.state.disabled ? "text-color-icon-placeholder sm:text-color-text-secondary" : "text-color-text-secondary", _ctx.state.formItemSize !== "mini" ? "sm:text-sm" : "sm:text-xs")),
+          style: normalizeStyle(_ctx.state.labelStyle),
+          for: _ctx.state.labelFor
+        }, [createBaseVNode(
+          "span",
+          {
+            class: normalizeClass(_ctx.m("max-h-[theme(spacing.10)] line-clamp-2 inline-block relative top-px pl-2 sm:pl-0 leading-normal", (_ctx.state.isRequired || _ctx.required) && !_ctx.state.hideRequiredAsterisk ? "before:content-['*'] before:text-color-error before:absolute before:left-0 before:sm:relative" : "", _ctx.state.isDisplayOnly ? "pl-0 before:hidden" : ""))
+          },
+          [renderSlot(_ctx.$slots, "label", {}, function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.label + _ctx.state.labelSuffix),
+              1
+              /* TEXT */
+            )];
+          })],
+          2
+          /* CLASS */
+        ), _ctx.tipContent ? (openBlock(), createBlock(_component_tiny_tooltip, {
+          key: 0,
+          effect: "light",
+          content: _ctx.tipContent,
+          placement: "top"
+        }, {
+          default: withCtx(function() {
+            return [createVNode(_component_icon_help_circle, {
+              "custom-class": "h-4 w-4 ml-0.5 absolute right-1 sm:right-2 align-text-bottom fill-color-text-secondary",
+              class: normalizeClass([_ctx.state.labelPosition === "top" ? "top-0.5 sm:top-1.5" : "top-3.5 sm:top-1.5"])
+            }, null, 8, ["class"])];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["content"])) : createCommentVNode("v-if", true)], 14, _hoisted_1)) : createCommentVNode("v-if", true)];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["is-auto-width", "update-all"]), createBaseVNode(
+      "div",
+      {
+        "data-tag": "tiny-form-item-inline",
+        class: normalizeClass(_ctx.m("flex-1 m-0 sm:m-auto relative sm:pt-0 sm:top-auto text-sm after:content-['']  after:table after:clear-both before:content-['']  before:table [&_button:not(:last-child)]:mr-2", "[&_[data-tag=tiny-checkbox]]:py-0 [&_[data-tag=tiny-input]]:w-full", "[&_[data-tag=tiny-input]_textarea]:px-0 sm:[&_[data-tag=tiny-input]_textarea]:px-3 [&_[data-tag=tiny-input]_textarea]:w-full [&_[data-tag=tiny-input]_textarea]:pt-1 sm:[&_[data-tag=tiny-input]_textarea]:pt-2", _ctx.state.formInline ? "align-sub leading-none" : "", _ctx.state.labelPosition === "top" && !_ctx.state.hideRequiredAsterisk ? _ctx.state.isDisplayOnly ? "pl-0" : "pl-2 sm:pl-0" : "pt-2", _ctx.state.formItemSize !== "mini" ? "sm:text-sm" : "sm:text-xs"))
+      },
+      [_ctx.state.isDisplayOnly && _ctx.state.isBasicComp ? (openBlock(), createElementBlock("div", {
+        key: 0,
+        "data-tag": "tiny-form-item-display-only",
+        class: normalizeClass(["break-all min-h-[28px] leading-7 text-color-text-primary", _ctx.state.typeName === "textarea" ? "line-clamp-3" : "line-clamp-1"]),
+        "type-name": _ctx.state.typeName,
+        onMouseenter: _cache[0] || (_cache[0] = function() {
+          return _ctx.handleMouseenter && _ctx.handleMouseenter.apply(_ctx, arguments);
+        }),
+        onMouseleave: _cache[1] || (_cache[1] = function() {
+          return _ctx.handleMouseleave && _ctx.handleMouseleave.apply(_ctx, arguments);
+        })
+      }, toDisplayString(_ctx.state.displayedValue || "-"), 43, _hoisted_2)) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-form-item-show",
+          class: normalizeClass(["[&_[aria-label=checkbox-group]]:pl-0.5 sm:[&_[aria-label=checkbox-group]]:pl-0", "[&_>:first-child[data-tag=tiny-checkbox]]:pl-0.5 sm:[&_>:first-child[data-tag=tiny-checkbox]]:pl-0", "[&_>:first-child[data-tag=tiny-cascader]]:w-full", "[&_>:first-child[class=tiny-autocomplete]]:w-full", "[&_>:first-child[class=tiny-cascader]]:w-full", _ctx.state.isDisplayOnly ? "[&_>*:not([data-tag^=tiny-],[class^=tiny-])]:leading-8 [&_>*:not([data-tag^=tiny-],[class^=tiny-])]:sm:leading-normal" : ""])
+        },
+        [renderSlot(_ctx.$slots, "default")],
+        2
+        /* CLASS */
+      ), [[vShow, !(_ctx.state.isDisplayOnly && _ctx.state.isBasicComp)]]), _ctx.state.validateState === "error" && _ctx.showMessage && _ctx.state.showMessage ? renderSlot(_ctx.$slots, "error", {
+        key: 1,
+        dataTag: "tiny-form-item-error"
+      }, function() {
+        return [createBaseVNode("div", {
+          class: normalizeClass(_ctx.m("relative sm:absolute left-0 bottom-1 sm:-bottom-5 text-color-error text-xs leading-normal line-clamp-3 sm:line-clamp-1", typeof _ctx.inlineMessage === "boolean" && _ctx.inlineMessage || _ctx.state.inlineMessage ? "relative top-auto left-auto inline-block" : "", _ctx.state.formItemSize === "small" ? "pt-0.5" : "", _ctx.state.formItemSize === "mini" ? "pt-px" : "")),
+          title: _ctx.state.validateMessage
+        }, toDisplayString(_ctx.state.validateMessage), 11, _hoisted_3)];
+      }) : createCommentVNode("v-if", true), _ctx.state.validateState !== "error" && _ctx.showMessage && _ctx.state.showMessage ? renderSlot(_ctx.$slots, "prompt", {
+        key: 2
+      }) : createCommentVNode("v-if", true)],
+      2
+      /* CLASS */
+    )],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return _sfc_main$1;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return _sfc_main$1;
+};
+var $constants = {
+  FORM_NAME: "Form",
+  FORM_ITEM_NAME: "FormItem"
+};
+var formItemProps = _extends({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default4() {
+      return $constants;
+    }
+  },
+  appendToBody: {
+    type: Boolean,
+    default: void 0
+  },
+  error: {
+    type: String,
+    default: ""
+  },
+  for: String,
+  inlineMessage: {
+    type: Boolean,
+    default: void 0
+  },
+  messageType: String,
+  label: String,
+  labelWidth: String,
+  manual: Boolean,
+  popperOptions: {
+    type: Object,
+    default: function _default24() {
+      return {};
+    }
+  },
+  prop: String,
+  required: {
+    type: Boolean,
+    default: void 0
+  },
+  rules: [Object, Array],
+  showMessage: {
+    type: Boolean,
+    default: true
+  },
+  size: String,
+  tipContent: String,
+  validateDisabled: Boolean,
+  validateDebounce: Boolean,
+  validatePosition: String,
+  validateStatus: String,
+  validateType: String,
+  validateIcon: Object,
+  ellipsis: {
+    type: Boolean,
+    default: false
+  },
+  vertical: {
+    type: Boolean,
+    default: false
+  },
+  extra: String
+});
+var FormItem = defineComponent({
+  name: $prefix + "FormItem",
+  componentName: "FormItem",
+  props: formItemProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+FormItem.install = function(Vue) {
+  Vue.component(FormItem.name, FormItem);
+};
+export {
+  FormItem as F,
+  Form as a
+};
diff --git a/admin-website/src/main/resources/static/assets/index3.css b/admin-website/src/main/resources/static/assets/index3.css
new file mode 100644
index 0000000..a82c599
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index3.css
@@ -0,0 +1,82 @@
+.preview-main[data-v-b51475b6] {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  height: 471px;
+  padding: 0;
+}
+.preview-main .preview-table[data-v-b51475b6] {
+  margin-top: 1%;
+}
+.preview-main[data-v-b51475b6] .tiny-grid .tiny-pager {
+  padding-left: 14px;
+}
+.preview-main .col[data-v-b51475b6] {
+  display: flex;
+  justify-content: space-around;
+  width: 350px;
+  height: 150px;
+  background: #fff;
+  border-radius: 6px;
+  box-shadow: 0 3px 20px 0 rgba(64, 98, 225, 0.2);
+}
+.preview-main .col[data-v-b51475b6]:hover {
+  box-shadow: 0 3px 20px 0 rgba(64, 98, 225, 0.55);
+}
+.preview-main .img[data-v-b51475b6] {
+  display: flex;
+  align-items: center;
+}
+.preview-main .num[data-v-b51475b6] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+}
+.preview-main .num #up span[data-v-b51475b6] {
+  color: #f7961e;
+}
+.preview-main .num #down span[data-v-b51475b6] {
+  color: #3eb21f;
+}
+.preview-main .num .up .left[data-v-b51475b6] {
+  margin-left: -15%;
+  color: #35383e;
+  font-weight: 400;
+  font-size: 18px;
+  letter-spacing: 0.45px;
+  text-align: left;
+}
+.preview-main .num .up .right[data-v-b51475b6] {
+  margin-left: 15%;
+  color: #777;
+  font-size: 16px;
+  letter-spacing: 0.4px;
+  text-align: left;
+}
+.preview-main .num .down .left[data-v-b51475b6] {
+  width: 99px;
+  height: 36px;
+  color: #242424;
+  font-weight: 700;
+  font-size: 36px;
+  letter-spacing: 1.2px;
+  text-align: left;
+}
+.preview-main .num .down .right[data-v-b51475b6] {
+  width: 8px;
+  height: 14px;
+  color: #777;
+  font-weight: 400;
+  font-size: 16px;
+  letter-spacing: 0.4px;
+  text-align: left;
+}
+@media (max-width: 1208px) {
+.main[data-v-b51475b6] {
+    overflow-x: auto;
+}
+.col[data-v-b51475b6] {
+    width: 300px;
+}
+}
diff --git a/admin-website/src/main/resources/static/assets/index3.js b/admin-website/src/main/resources/static/assets/index3.js
new file mode 100644
index 0000000..a6f3897
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index3.js
@@ -0,0 +1,42 @@
+import { d as defineComponent, r as ref, j as onMounted, k as resolveComponent, u as openBlock, v as createElementBlock, l as createVNode, w as createBaseVNode, E as toDisplayString } from "./vue.js";
+import { H as HwcClientService } from "./hwcClient.service.js";
+import { _ as _export_sfc } from "./index.js";
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = {
+  x: "40",
+  y: "150"
+};
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const text = ref();
+    const helloWorldApigInfo = {
+      apigName: "apig_hello_world",
+      apigGroupName: "group_hello_world"
+    };
+    async function getData() {
+      const result = await HwcClientService.apiRequest(
+        "",
+        {},
+        helloWorldApigInfo
+      );
+      text.value = result == null ? void 0 : result.data;
+    }
+    onMounted(getData);
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createVNode(_component_Breadcrumb, { items: ["menu.cloud", "menu.cloud.hello"] }),
+        createBaseVNode("div", _hoisted_2, [
+          createBaseVNode("text", _hoisted_3, toDisplayString(text.value), 1)
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_7e3c5c0f_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7e3c5c0f"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index30.js b/admin-website/src/main/resources/static/assets/index30.js
new file mode 100644
index 0000000..d36222b
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index30.js
@@ -0,0 +1,947 @@
+import { bJ as log, bK as hasOwn, z as __spreadValues, aj as isNull, bL as isFunction, y as __spreadProps, aF as isDate, a6 as isNumber, ax as isObject, ay as typeOf, bM as isNullOrEmpty, a8 as format$1, bN as getLength } from "./index.js";
+const formatRegExp = /%[sdj%]/g;
+const warning = () => void 0;
+function convertFieldsError(errors) {
+  if (!errors || !errors.length) {
+    return null;
+  }
+  const fields = {};
+  errors.forEach((error) => {
+    const field = error.field;
+    fields[field] = fields[field] || [];
+    fields[field].push(error);
+  });
+  return fields;
+}
+function format(i18nTemplate, ...rest) {
+  if (typeof i18nTemplate === "function") {
+    return i18nTemplate(...rest);
+  }
+  if (typeof i18nTemplate === "string") {
+    let i = 0;
+    const len = rest.length;
+    let str = String(i18nTemplate).replace(formatRegExp, (matchChar) => {
+      if (matchChar === "%%") {
+        return "%";
+      }
+      if (i >= len) {
+        return matchChar;
+      }
+      switch (matchChar) {
+        case "%j":
+          try {
+            return JSON.stringify(rest[i++]);
+          } catch (e) {
+            return "[Circular]";
+          }
+        case "%d":
+          return Number(rest[i++]);
+        case "%s":
+          return String(rest[i++]);
+        default:
+          return matchChar;
+      }
+    });
+    return str;
+  }
+  return i18nTemplate;
+}
+function isNativeStringType(type) {
+  return [
+    "string",
+    "url",
+    "hex",
+    "email",
+    "pattern",
+    "digits",
+    "time",
+    "dateYMD",
+    "longDateTime",
+    "dateTime",
+    "dateYM",
+    "version",
+    "speczh",
+    "specialch",
+    "specialch2",
+    "acceptImg",
+    "acceptFile",
+    "fileSize"
+  ].includes(type);
+}
+function isEmptyValue(data, dataType) {
+  if (isNull(data)) {
+    return true;
+  }
+  if (dataType === "array" && Array.isArray(data) && !data.length) {
+    return true;
+  }
+  if (isNativeStringType(dataType) && typeof data === "string" && !data) {
+    return true;
+  }
+  return false;
+}
+function isEmptyObject(data) {
+  return Object.keys(data).length === 0;
+}
+function asyncParallelArray(arrData, func, callback) {
+  let count = 0;
+  const results = [];
+  const arrLength = arrData.length;
+  function checkCount(errors) {
+    results.push(...errors);
+    count++;
+    if (count === arrLength) {
+      callback(results);
+    }
+  }
+  arrData.forEach((rule) => {
+    func(rule, checkCount);
+  });
+}
+function asyncSerialArray(arr, fn, cb) {
+  let idx = 0;
+  const arrLength = arr.length;
+  function checkNext(errorList) {
+    if (errorList && errorList.length) {
+      cb(errorList);
+      return;
+    }
+    const original = idx;
+    idx = idx + 1;
+    if (original < arrLength) {
+      fn(arr[original], checkNext);
+    } else {
+      cb([]);
+    }
+  }
+  checkNext([]);
+}
+function flattenObjArr(objArr) {
+  const result = [];
+  Object.keys(objArr).forEach((item) => {
+    result.push(...objArr[item]);
+  });
+  return result;
+}
+function asyncMap(objArray, option, func, callback) {
+  if (option.first) {
+    const pending2 = new Promise((resolve, reject) => {
+      const errorFn = reject;
+      const next = (errors) => {
+        callback(errors);
+        return errors.length ? errorFn({ errors, fields: convertFieldsError(errors) }) : resolve();
+      };
+      const flattenArr = flattenObjArr(objArray);
+      asyncSerialArray(flattenArr, func, next);
+    });
+    pending2.catch((error) => error.errors && error.fields || log.logger.error(error));
+    return pending2;
+  }
+  let firstFields = option.firstFields || [];
+  if (firstFields === true) {
+    firstFields = Object.keys(objArray);
+  }
+  let total = 0;
+  const objArrayKeys = Object.keys(objArray);
+  const objArrLength = objArrayKeys.length;
+  const results = [];
+  const pending = new Promise((resolve, reject) => {
+    const errorFn = reject;
+    const next = (errors) => {
+      results.push(...errors);
+      total++;
+      if (total === objArrLength) {
+        callback(results);
+        return results.length ? errorFn({ errors: results, fields: convertFieldsError(results) }) : resolve();
+      }
+    };
+    objArrayKeys.forEach((key) => {
+      const arr = objArray[key];
+      if (firstFields.includes(key)) {
+        asyncSerialArray(arr, func, next);
+      } else {
+        asyncParallelArray(arr, func, next);
+      }
+    });
+  });
+  pending.catch((error) => error.errors && error.fields || log.logger.error(error));
+  return pending;
+}
+function complementError(rule) {
+  return (onError) => {
+    if (onError && onError.message) {
+      onError.field = onError.field || rule.fullField;
+      return onError;
+    }
+    return {
+      message: typeof onError === "function" ? onError() : onError,
+      field: onError.field || rule.fullField
+    };
+  };
+}
+function deepMerge(target, sources) {
+  if (!sources) {
+    return target;
+  }
+  for (const source in sources) {
+    if (hasOwn.call(sources, source)) {
+      const value = sources[source];
+      if (typeof value === "object" && typeof target[source] === "object") {
+        target[source] = __spreadValues(__spreadValues({}, target[source]), value);
+      } else {
+        target[source] = value;
+      }
+    }
+  }
+  return target;
+}
+const util = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  asyncMap,
+  complementError,
+  convertFieldsError,
+  deepMerge,
+  format,
+  isEmptyObject,
+  isEmptyValue,
+  warning
+}, Symbol.toStringTag, { value: "Module" }));
+function Schema(descriptor, translate) {
+  Schema.getSystemMessage = () => Schema.getDefaultMessage(translate);
+  Schema.messages = Schema.getSystemMessage(translate);
+  Schema.systemMessages = Schema.messages;
+  this.rules = null;
+  this._messages = Schema.systemMessages;
+  this.define(descriptor);
+}
+const getCompleteFn = (validCallback) => (results) => {
+  let idx;
+  let errors = [];
+  let fields = {};
+  function addValid(eror) {
+    if (Array.isArray(eror)) {
+      errors = errors.concat(...eror);
+    } else {
+      errors.push(eror);
+    }
+  }
+  for (idx = 0; idx < results.length; idx++) {
+    addValid(results[idx]);
+  }
+  if (errors.length) {
+    fields = convertFieldsError(errors);
+  } else {
+    errors = null;
+    fields = null;
+  }
+  validCallback(errors, fields);
+};
+const isDeep = (rule, data) => {
+  let deep = (rule.type === "object" || rule.type === "array") && (typeof rule.fields === "object" || typeof rule.defaultField === "object");
+  deep = deep && (rule.required || !rule.required && data.value);
+  return deep;
+};
+const getFieldsSchema = (rule, data) => {
+  let schema = {};
+  function addFullfield(key, item) {
+    return __spreadProps(__spreadValues({}, item), {
+      fullField: `${rule.fullField}.${key}`
+    });
+  }
+  if (rule.defaultField) {
+    for (const k in data.value) {
+      if (hasOwn.call(data.value, k)) {
+        schema[k] = rule.defaultField;
+      }
+    }
+  }
+  schema = __spreadValues(__spreadValues({}, schema), data.rule.fields);
+  for (const f in schema) {
+    if (hasOwn.call(schema, f)) {
+      const fieldSchema = Array.isArray(schema[f]) ? schema[f] : [schema[f]];
+      schema[f] = fieldSchema.map(addFullfield.bind(null, f));
+    }
+  }
+  return schema;
+};
+const arrayed = (failds) => {
+  if (!Array.isArray(failds)) {
+    failds = [failds];
+  }
+  return failds;
+};
+const getRequiredErrorFeilds = ({ rule, failds, options }) => {
+  if (rule.message) {
+    failds = [].concat(rule.message).map(complementError(rule));
+  } else if (options.error) {
+    failds = [options.error(rule, format(options.messages.required, rule.field))];
+  } else {
+    failds = [];
+  }
+  return failds;
+};
+const setDataRuleOptions = ({ data, options }) => {
+  if (data.rule.options) {
+    let { messages, error } = options;
+    Object.assign(data.rule.options, { messages, error });
+  }
+};
+const getValidateCallback = ({ failds, doIt }) => (errs) => {
+  const finalErrors = [];
+  if (failds && failds.length) {
+    finalErrors.push(...failds);
+  }
+  if (errs && errs.length) {
+    finalErrors.push(...errs);
+  }
+  doIt(finalErrors.length ? finalErrors : null);
+};
+const asyncCallback = (options, rule, errorFields, doIt, data) => (e = []) => {
+  let failds = e;
+  const deep = isDeep(rule, data);
+  failds = arrayed(failds);
+  if (!options.suppressWarning && failds.length) {
+    Schema.warning("async-validator:", failds);
+  }
+  if (failds.length && rule.message) {
+    failds = [].concat(rule.message);
+  }
+  failds = failds.map(complementError(rule));
+  if (options.first && failds.length) {
+    errorFields[rule.field] = 1;
+    return doIt(failds);
+  }
+  if (deep) {
+    if (rule.required && !data.value) {
+      failds = getRequiredErrorFeilds({ rule, failds, options });
+      return doIt(failds);
+    }
+    const schema = new Schema(getFieldsSchema(rule, data));
+    schema.messages(options.messages);
+    setDataRuleOptions({ data, options });
+    schema.validate(data.value, data.rule.options || options, getValidateCallback({ failds, doIt }));
+  } else {
+    doIt(failds);
+  }
+};
+Schema.prototype = {
+  messages(messages) {
+    if (messages) {
+      this._messages = deepMerge(Schema.getSystemMessage(), messages);
+    }
+    return this._messages;
+  },
+  /** 格式化检验规则并添加到实例上。
+   *  rules格式化后的数据结构: { key: [ { type: 'xx', ...others } ] }
+   */
+  define(rules) {
+    if (!rules) {
+      throw new Error("Cannot configure a schema with no rules");
+    }
+    if (Array.isArray(rules) || typeof rules !== "object") {
+      throw new TypeError("Rules must be an object");
+    }
+    this.rules = {};
+    let rule;
+    Object.keys(rules).forEach((key) => {
+      if (hasOwn.call(rules, key)) {
+        rule = rules[key];
+        this.rules[key] = Array.isArray(rule) ? rule : [rule];
+      }
+    });
+  },
+  /** 将检验规则和源数据合并转化成新数据
+   *  rules: { key: [rule1, rule2] }, source: { key: sourceData, key2: sourceData2 }
+   *  series { key: [{ rule: rule1, value: sourceData, source, field: key }, ...] }
+   */
+  getSeries(options, source, source_) {
+    let arr;
+    let value;
+    const series = {};
+    const keys = options.keys || Object.keys(this.rules);
+    keys.forEach((key) => {
+      arr = this.rules[key];
+      value = source[key];
+      arr.forEach((r) => {
+        let rule = r;
+        if (typeof rule.transform === "function") {
+          if (source === source_) {
+            source = __spreadValues({}, source);
+          }
+          source[key] = rule.transform(value);
+          value = source[key];
+        }
+        if (typeof rule === "function") {
+          rule = { validator: rule };
+        } else {
+          rule = __spreadValues({}, rule);
+        }
+        rule.validator = this.getValidationMethod(rule);
+        rule.field = key;
+        rule.fullField = rule.fullField || key;
+        rule.type = this.getType(rule);
+        options.custom && Object.assign(rule, options.custom);
+        if (!rule.validator) {
+          return;
+        }
+        series[key] = series[key] || [];
+        series[key].push({ rule, value, source, field: key });
+      });
+    });
+    return series;
+  },
+  mergeMessage(options) {
+    if (options.messages) {
+      let messages = this.messages();
+      if (messages === Schema.systemMessages) {
+        messages = Schema.getSystemMessage();
+      }
+      deepMerge(messages, options.messages);
+      options.messages = messages;
+    } else {
+      options.messages = this.messages();
+    }
+  },
+  validate(source_, o = {}, oc = () => void 0) {
+    let source = source_;
+    let options = o;
+    let validCallback = oc;
+    if (typeof options === "function") {
+      validCallback = options;
+      options = {};
+    }
+    if (!this.rules || Object.keys(this.rules).length === 0) {
+      validCallback && validCallback();
+      return Promise.resolve();
+    }
+    const complete = getCompleteFn(validCallback);
+    this.mergeMessage(options);
+    const seriesData = this.getSeries(options, source, source_);
+    const errorFields = {};
+    return asyncMap(
+      seriesData,
+      options,
+      (data, doIt) => {
+        const rule = data.rule;
+        const validHandler = asyncCallback(options, rule, errorFields, doIt, data);
+        let validResult;
+        if (rule.asyncValidator) {
+          validResult = rule.asyncValidator(rule, data.value, validHandler, data.source, options);
+        } else if (rule.validator) {
+          validResult = rule.validator(rule, data.value, validHandler, data.source, options);
+          if (validResult === true) {
+            validHandler();
+          } else if (validResult === false) {
+            validHandler(rule.message || `${rule.field} fails`);
+          } else if (Array.isArray(validResult)) {
+            validHandler(validResult);
+          } else if (validResult instanceof Error) {
+            validHandler(validResult.message);
+          }
+        }
+        if (validResult && validResult.then) {
+          validResult.then(
+            () => validHandler(),
+            (e) => validHandler(e)
+          );
+        }
+      },
+      (results) => {
+        complete(results);
+      }
+    );
+  },
+  getValidationMethod(rule) {
+    if (isFunction(rule.validator)) {
+      return rule.validator;
+    }
+    const ruleKeys = Object.keys(rule);
+    const messageIndex = ruleKeys.indexOf("message");
+    if (messageIndex > -1) {
+      ruleKeys.splice(messageIndex, 1);
+    }
+    if (ruleKeys.length === 1 && ruleKeys[0] === "required") {
+      return Schema.validators.required;
+    }
+    return Schema.validators[this.getType(rule)] || false;
+  },
+  getType(rule) {
+    if (rule.type === void 0 && rule.pattern instanceof RegExp) {
+      rule.type = "pattern";
+    }
+    if (typeof rule.validator !== "function" && rule.type && !hasOwn.call(Schema.validators, rule.type)) {
+      throw new Error(format("Unknown rule type %s", rule.type));
+    }
+    return rule.type || "string";
+  }
+};
+Schema.register = (type, validator) => {
+  if (typeof validator !== "function") {
+    throw new TypeError("Cannot register a validator by type, validator is not a function");
+  }
+  Schema.validators[type] = validator;
+};
+Schema.validators = {};
+Schema.warning = warning;
+Schema.messages = {};
+Schema.systemMessages = {};
+Schema.getDefaultMessage = () => void 0;
+var schema_default = Schema;
+function required_default$1({ rule, checkValue, source, errors, options, type }) {
+  if (rule.required && (!hasOwn.call(source, rule.field) || isEmptyValue(checkValue, type || rule.type))) {
+    errors.push(format(options.messages.required, ""));
+  }
+}
+const emailReg1 = '^(([^<>()\\[\\]\\\\.,;:\\s@"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))';
+const emailReg = new RegExp(
+  emailReg1 + "@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,6}))$"
+);
+const pattern = {
+  acceptImg: /\.(png|jpe?g|gif)$/,
+  acceptFile: /\.(doc?x|xls?x|ppt?x|txt)$/,
+  email: emailReg,
+  fileSize: /^\d+(\.\d+)?[KMGTPEZY]?B$/i,
+  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,
+  speczh: /^[0-9a-zA-Z_\u4E00-\u9FA5]+$/,
+  specialch: /^[0-9a-zA-Z_\-.]+$/,
+  specialch2: /^[0-9a-zA-Z_-]+$/,
+  url: /^(([a-zA-Z]{3,}):)?\/\/([\w-]+\.)+[\w]+(\/[a-zA-Z- ./?%&=]*)?/i,
+  version: /^\d+\.\d+(\.\d+)*$/
+};
+const types = {
+  integer: (value) => types.number(value) && /^[-]?[\d]+$/.test(value),
+  float: (value) => types.number(value) && !types.integer(value),
+  array: Array.isArray,
+  regexp(value) {
+    if (value instanceof RegExp) {
+      return true;
+    }
+    try {
+      return !!new RegExp(value);
+    } catch (e) {
+      return false;
+    }
+  },
+  date: isDate,
+  number: (value) => isNumber(Number(value)),
+  object: (value) => isObject(value) && !types.array(value),
+  method: (value) => typeOf(value) === "function",
+  email: (value) => isNullOrEmpty(value) || !!value.match(pattern.email) && value.length < 255,
+  url: (value) => isNullOrEmpty(value) || !!value.match(pattern.url),
+  hex: (value) => isNullOrEmpty(value) || !!value.match(pattern.hex),
+  digits: (value) => isNullOrEmpty(value) || /^\d+$/.test(value),
+  time: (value) => isNullOrEmpty(value) || /^((0)[0-9]|1[0-9]|20|21|22|23):([0-5][0-9])$/.test(value),
+  dateYM: (value) => isNullOrEmpty(value) || format$1(value, "yyyy-MM") === value,
+  dateYMD: (value) => isNullOrEmpty(value) || format$1(value, "yyyy-MM-dd") === value,
+  dateTime: (value) => isNullOrEmpty(value) || format$1(value, "yyyy-MM-dd hh:mm") === value,
+  longDateTime: (value) => isNullOrEmpty(value) || format$1(value, "yyyy-MM-dd hh:mm:ss") === value,
+  version: (value) => isNullOrEmpty(value) || !!value.match(pattern.version),
+  speczh: (value) => isNullOrEmpty(value) || !!value.match(pattern.speczh),
+  specialch: (value) => isNullOrEmpty(value) || !!value.match(pattern.specialch),
+  specialch2: (value) => isNullOrEmpty(value) || !!value.match(pattern.specialch2),
+  acceptImg: (value) => isNullOrEmpty(value) || !!value.match(pattern.acceptImg),
+  acceptFile: (value) => isNullOrEmpty(value) || !!value.match(pattern.acceptFile),
+  fileSize: (value) => isNullOrEmpty(value) || !!value.match(pattern.fileSize)
+};
+function type_default$1(rule, value, source, errors, options) {
+  if (rule.required && value === void 0) {
+    required_default$1(rule);
+    return;
+  }
+  const custom = [
+    "array",
+    "acceptImg",
+    "acceptFile",
+    "date",
+    "digits",
+    "dateTime",
+    "dateYM",
+    "dateYMD",
+    "email",
+    "float",
+    "fileSize",
+    "hex",
+    "integer",
+    "longDateTime",
+    "method",
+    "number",
+    "object",
+    "regexp",
+    "speczh",
+    "specialch",
+    "specialch2",
+    "time",
+    "version",
+    "url"
+  ];
+  const ruleType = rule.type;
+  if (custom.includes(ruleType)) {
+    if (!types[ruleType](value)) {
+      errors.push(format(options.messages.types[ruleType], "", rule.type));
+    }
+  } else if (ruleType && typeof value !== rule.type) {
+    errors.push(format(options.messages.types[ruleType], "", rule.type));
+  }
+}
+function getErro({ min, max, val, key, rule, errors, util: util2, options }) {
+  if (min && !max && val < rule.min) {
+    errors.push(util2.format(options.messages[key].min, "", rule.min));
+  } else if (max && !min && val > rule.max) {
+    errors.push(util2.format(options.messages[key].max, "", rule.max));
+  } else if (min && max && (val < rule.min || val > rule.max)) {
+    errors.push(util2.format(options.messages[key].range, "", rule.min, rule.max));
+  }
+}
+function range_default(rule, checkValue, source, errors, options) {
+  const len = isNumber(rule.len);
+  const min = isNumber(rule.min);
+  const max = isNumber(rule.max);
+  let val = checkValue;
+  let key = null;
+  const num = isNumber(Number(checkValue));
+  const str = typeof checkValue === "string";
+  const arr = Array.isArray(checkValue);
+  if (num) {
+    key = "number";
+  } else if (str) {
+    key = "string";
+  } else if (arr) {
+    key = "array";
+  }
+  if (!key) {
+    return false;
+  }
+  if (arr) {
+    val = checkValue.length;
+  }
+  if (str) {
+    val = getLength(checkValue, "string");
+  }
+  if (rule.type === "number") {
+    val = checkValue;
+  }
+  if (len) {
+    if (val !== rule.len) {
+      errors.push(format(options.messages[key].len, "", rule.len));
+    }
+  } else {
+    getErro({ min, max, val, key, rule, errors, util, options });
+  }
+}
+const ENUM$1 = "enum";
+function enum_default$1(rule, checkValue, source, errors, options) {
+  rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];
+  if (!rule[ENUM$1].includes(checkValue)) {
+    errors.push(format(options.messages[ENUM$1], "", rule[ENUM$1].join(", ")));
+  }
+}
+function pattern_default$1(rule, checkValue, source, errors, options) {
+  if (rule.pattern) {
+    if (rule.pattern instanceof RegExp) {
+      rule.pattern.lastIndex = 0;
+      if (!rule.pattern.test(checkValue)) {
+        errors.push(format(options.messages.pattern.mismatch, "", checkValue, rule.pattern));
+      }
+    } else if (typeof rule.pattern === "string") {
+      const _pattern = new RegExp(rule.pattern);
+      if (!_pattern.test(checkValue)) {
+        errors.push(format(options.messages.pattern.mismatch, "", checkValue, rule.pattern));
+      }
+    }
+  }
+}
+function whitespace_default(rule, checkValue, source, errors, options) {
+  if (/^\s+$/.test(checkValue) || checkValue === "") {
+    errors.push(format(options.messages.whitespace, ""));
+  }
+}
+var rules_default = {
+  type: type_default$1,
+  range: range_default,
+  pattern: pattern_default$1,
+  required: required_default$1,
+  whitespace: whitespace_default,
+  enum: enum_default$1
+};
+function date_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  const isValidDateStr = (value) => value && typeof value === "string" && new Date(value).toString() !== "Invalid Date";
+  if (validate) {
+    if (isEmptyValue(checkValue) && !rule.required) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (!isEmptyValue(checkValue)) {
+      let dateObject;
+      if (typeof checkValue === "number" || isValidDateStr(checkValue)) {
+        dateObject = new Date(checkValue);
+      } else {
+        dateObject = checkValue;
+      }
+      rules_default.type(rule, dateObject, source, errors, options);
+      if (dateObject && typeof dateObject.getTime === "function") {
+        rules_default.range(rule, dateObject.getTime(), source, errors, options);
+      }
+    }
+  }
+  callback(errors);
+}
+function type_default(rule, checkValue, callback, source, options) {
+  const ruleType = rule.type;
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue, ruleType) && !rule.required) {
+      return callback();
+    }
+    rules_default.required({
+      rule,
+      checkValue,
+      source,
+      errors,
+      options,
+      type: ruleType
+    });
+    if (!isEmptyValue(checkValue, ruleType)) {
+      rules_default.type(rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+function float_default(rule, checkValue, cb, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue) && !rule.required) {
+      return cb();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (checkValue !== void 0) {
+      rules_default.type(rule, checkValue, source, errors, options);
+      rules_default.range(rule, checkValue, source, errors, options);
+    }
+  }
+  cb(errors);
+}
+function array_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue, "array") && !rule.required) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options, type: "array" });
+    if (!isEmptyValue(checkValue, "array")) {
+      rules_default.type(rule, checkValue, source, errors, options);
+      rules_default.range(rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+function string_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue, "string") && !rule.required) {
+      return callback();
+    }
+    rules_default.required({
+      rule,
+      checkValue,
+      source,
+      errors,
+      options,
+      type: "string"
+    });
+    if (!isEmptyValue(checkValue, "string")) {
+      rules_default.type(rule, checkValue, source, errors, options);
+      rules_default.range(rule, checkValue, source, errors, options);
+      rules_default.pattern(rule, checkValue, source, errors, options);
+      if (rule.whitespace === true) {
+        rules_default.whitespace(rule, checkValue, source, errors, options);
+      }
+    }
+  }
+  callback(errors);
+}
+function method_default(rule, checkValue, callback, source, options) {
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  const errors = [];
+  if (validate) {
+    if (!rule.required && isEmptyValue(checkValue)) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (checkValue !== void 0) {
+      rules_default.type(rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+function number_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (checkValue === "") {
+      checkValue = void 0;
+    }
+    if (!rule.required && isEmptyValue(checkValue)) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (checkValue !== void 0) {
+      rules_default.type(rule, checkValue, source, errors, options);
+      rules_default.range(rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+function integer_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue) && !rule.required) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (checkValue !== void 0 && checkValue !== "") {
+      rules_default.type(rule, checkValue, source, errors, options);
+      rules_default.range(rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+function pattern_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue, "string") && !rule.required) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (!isEmptyValue(checkValue, "string")) {
+      rules_default.pattern(rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+function required_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const type = Array.isArray(checkValue) ? "array" : typeof checkValue;
+  rules_default.required({ rule, checkValue, source, errors, options, type });
+  callback(errors);
+}
+const ENUM = "enum";
+function enum_default(rule, checkValue, callback, source, options) {
+  const errors = [];
+  const validate = rule.required || !rule.required && hasOwn.call(source, rule.field);
+  if (validate) {
+    if (isEmptyValue(checkValue) && !rule.required) {
+      return callback();
+    }
+    rules_default.required({ rule, checkValue, source, errors, options });
+    if (checkValue !== void 0) {
+      rules_default[ENUM](rule, checkValue, source, errors, options);
+    }
+  }
+  callback(errors);
+}
+var validations_default = {
+  date: date_default,
+  float: float_default,
+  array: array_default,
+  string: string_default,
+  method: method_default,
+  number: number_default,
+  integer: integer_default,
+  pattern: pattern_default,
+  required: required_default,
+  hex: type_default,
+  url: type_default,
+  time: type_default,
+  email: type_default,
+  digits: type_default,
+  dateYM: type_default,
+  speczh: type_default,
+  dateYMD: type_default,
+  version: type_default,
+  fileSize: type_default,
+  regexp: method_default,
+  object: method_default,
+  dateTime: type_default,
+  specialch: type_default,
+  boolean: method_default,
+  acceptImg: type_default,
+  specialch2: type_default,
+  acceptFile: type_default,
+  longDateTime: type_default,
+  enum: enum_default
+};
+const getTypesObj = (translate) => ({
+  string: translate("validation.types.string"),
+  method: translate("validation.types.method"),
+  array: translate("validation.types.array"),
+  object: translate("validation.types.object"),
+  number: translate("validation.types.number"),
+  date: translate("validation.types.date"),
+  boolean: translate("validation.types.boolean"),
+  integer: translate("validation.types.integer"),
+  float: translate("validation.types.float"),
+  regexp: translate("validation.types.regexp"),
+  email: translate("validation.types.email"),
+  url: translate("validation.types.url"),
+  hex: translate("validation.types.hex"),
+  digits: translate("validation.types.digits"),
+  time: translate("validation.types.time"),
+  dateYM: translate("validation.types.dateYM"),
+  dateYMD: translate("validation.types.dateYMD"),
+  dateTime: translate("validation.types.dateTime"),
+  longDateTime: translate("validation.types.longDateTime"),
+  version: translate("validation.types.version"),
+  speczh: translate("validation.types.speczh"),
+  specialch: translate("validation.types.specialch"),
+  specialch2: translate("validation.types.hex"),
+  acceptImg: translate("validation.types.acceptImg"),
+  acceptFile: translate("validation.types.acceptFile"),
+  fileSize: translate("validation.types.fileSize")
+});
+var messages_default = (translate = (value) => value) => ({
+  default: translate("validation.default"),
+  required: translate("validation.required"),
+  enum: translate("validation.enum"),
+  whitespace: translate("validation.whitespace"),
+  date: {
+    format: translate("validation.date.format"),
+    parse: translate("validation.date.parse"),
+    invalid: translate("validation.date.invalid")
+  },
+  types: getTypesObj(translate),
+  string: {
+    len: translate("validation.string.len"),
+    min: translate("validation.string.min"),
+    max: translate("validation.string.max"),
+    range: translate("validation.string.range")
+  },
+  number: {
+    len: translate("validation.number.len"),
+    min: translate("validation.number.min"),
+    max: translate("validation.number.max"),
+    range: translate("validation.number.range")
+  },
+  array: {
+    len: translate("validation.array.len"),
+    min: translate("validation.array.min"),
+    max: translate("validation.array.max"),
+    range: translate("validation.array.range")
+  },
+  pattern: {
+    mismatch: translate("validation.pattern.mismatch")
+  }
+});
+schema_default.validators = validations_default;
+schema_default.getDefaultMessage = messages_default;
+var validate_default = schema_default;
+export {
+  validate_default as v
+};
diff --git a/admin-website/src/main/resources/static/assets/index31.js b/admin-website/src/main/resources/static/assets/index31.js
new file mode 100644
index 0000000..3331d58
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index31.js
@@ -0,0 +1,25490 @@
+import { s as svg, Q as addClass, S as removeClass, M as KEY_CODE, o as on, f as off, a9 as guid, d as defineComponent, p as props, W as Popover, B as Button$1, bh as index$K, a as setup$1, $ as $props, b as $prefix, c as $setup, aw as vue_popper_default, z as __spreadValues, N as Tooltip$1, aj as isNull$1, j as index$L, a3 as directive$1, a7 as clickoutside_default, ac as index$M, al as omitText, k as h, ab as index$P, bi as isPlainObject, bj as isRegExp, aF as isDate, at as browser_default, ap as find$1, ba as hasClass, h as createComponent, a1 as appProperties, bk as setupComponent, bl as getStyle$2, e as popup_manager_default, J as extend, x as xss, E as index$Q, X as index$R, bm as index$S, bn as $install, bo as isVnode, bp as mergeClass, ax as isObject$1, ar as isEmptyObject, bq as resolveTheme, br as emitter, bs as resolveMode, bt as useBreakpoint, af as debounce_default, Y as t, bu as index$T, bv as index$U, az as index$V, as as getDataset, bw as log, A as index$W, D as index$X, aB as index$Y, P as getDomNode, ag as random, bx as isDisplayNone, by as toDecimal, bz as popper_default, an as getObj, T as TINYModal, bA as index$Z, bB as tryToCurrency, bC as tryToDecimal, bD as tryToInt, bE as toFileSize, bF as truncate, bG as toRate, a6 as isNumber$1, bH as toBoolValue, bg as throttle_default, a5 as isVue2, aL as toDate, aH as getDateWithNewTimezone, a8 as format, bI as toDateStr } from "./index.js";
+import { i as index$N, a as index$O } from "./chevron-up.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, x as createStaticVNode, k as resolveComponent, D as renderSlot, M as Fragment, N as renderList, A as normalizeClass, E as toDisplayString, G as normalizeStyle, y as createBlock, B as resolveDynamicComponent, z as createCommentVNode, l as createVNode, H as withCtx, J as createTextVNode, P as withModifiers, I as withDirectives, L as vShow, T as Transition, V as resolveDirective, n as nextTick, m as markRaw, g as getCurrentInstance, r as ref, o as onBeforeUnmount, ae as onDeactivated, af as toRaw, a8 as reactive, i as inject, ag as onUpdated, a2 as watch, b as isVNode, F as mergeProps, h as h$1 } from "./vue.js";
+import { v as validate_default } from "./index30.js";
+var _hoisted_1$G = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$D = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "chevron-left_svg__st0",
+    d: "M17 21c-.2 0-.5-.1-.6-.2l-9.9-8c-.4-.2-.5-.5-.5-.8 0-.3.1-.6.4-.8l9.9-7.9c.4-.4 1.1-.3 1.4.2.4.4.3 1.1-.2 1.4L8.7 12l8.9 7.2c.4.4.5 1 .2 1.4-.3.3-.5.4-.8.4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$B = [_hoisted_2$D];
+function render$s(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$G, [].concat(_hoisted_3$B));
+}
+var ChevronLeft = {
+  render: render$s
+};
+var index$J = function index2() {
+  return svg({
+    name: "IconChevronLeft",
+    component: ChevronLeft
+  })();
+};
+var _hoisted_1$F = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$C = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "conment-refresh_svg__st0",
+    d: "M23.2 12c-.5 0-.9.3-.9.8-.2 2.6-1.4 5-3.3 6.8-1.9 1.8-4.4 2.8-7 2.8-2 0-4-.6-5.7-1.7-1.5-1-2.7-2.3-3.5-3.9h2.3c.5 0 .8-.4.8-.8.1-.6-.3-1-.7-1H.8c-.4 0-.8.4-.8.8v4.3c0 .5.4.9.8.9s.8-.4.8-.8v-2c1 1.5 2.3 2.8 3.8 3.8 2 1.3 4.3 2 6.6 2 3 0 6-1.1 8.2-3.2 2.2-2.1 3.6-4.9 3.8-7.9 0-.5-.3-.9-.8-.9zm0-9c-.5 0-.8.4-.8.8v2c-1-1.5-2.3-2.8-3.8-3.8-2-1.3-4.3-2-6.6-2-3 0-6 1.1-8.2 3.2C1.6 5.3.3 8.1 0 11.1c0 .5.3.9.8.9s.9-.3.9-.8C1.9 8.6 3 6.2 5 4.4c1.9-1.8 4.4-2.8 7-2.8 2 0 4 .6 5.7 1.7 1.5 1 2.7 2.3 3.5 3.9h-2.3c-.5 0-.8.4-.8.8-.1.6.3 1 .7 1h4.3c.5 0 .9-.4.9-.8V3.8c0-.4-.4-.8-.8-.8z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$A = [_hoisted_2$C];
+function render$r(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$F, [].concat(_hoisted_3$A));
+}
+var ConmentRefresh = {
+  render: render$r
+};
+var index$I = function index22() {
+  return svg({
+    name: "IconConmentRefresh",
+    component: ConmentRefresh
+  })();
+};
+var _hoisted_1$E = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$B = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "delta-down_svg__st0",
+    d: "M2 6h20L12 19z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$z = [_hoisted_2$B];
+function render$q(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$E, [].concat(_hoisted_3$z));
+}
+var DeltaDown = {
+  render: render$q
+};
+var index$H = function index23() {
+  return svg({
+    name: "IconDeltaDown",
+    component: DeltaDown
+  })();
+};
+var _hoisted_1$D = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$A = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "delta-left_svg__st0",
+    d: "M18 2v20L5 12z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$y = [_hoisted_2$A];
+function render$p(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$D, [].concat(_hoisted_3$y));
+}
+var DeltaLeft = {
+  render: render$p
+};
+var index$G = function index24() {
+  return svg({
+    name: "IconDeltaLeft",
+    component: DeltaLeft
+  })();
+};
+var _hoisted_1$C = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$z = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "delta-up_svg__st0",
+    d: "M2 19h20L12 6z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$x = [_hoisted_2$z];
+function render$o(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$C, [].concat(_hoisted_3$x));
+}
+var DeltaUp = {
+  render: render$o
+};
+var index$F = function index25() {
+  return svg({
+    name: "IconDeltaUp",
+    component: DeltaUp
+  })();
+};
+var _hoisted_1$B = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$y = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "double-left_svg__st0",
+    d: "M13 21c-.2 0-.5-.1-.6-.2l-9.9-8c-.4-.2-.5-.5-.5-.8 0-.3.1-.6.4-.8l9.9-7.9c.4-.4 1.1-.3 1.4.2.4.4.3 1.1-.2 1.4L4.7 12l8.9 7.2c.4.4.5 1 .2 1.4-.2.3-.5.4-.8.4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$w = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "double-left_svg__st0",
+    d: "M21 21c-.2 0-.5-.1-.6-.2l-9.9-8c-.4-.2-.5-.5-.5-.8 0-.3.1-.6.4-.8l9.9-7.9c.4-.4 1.1-.3 1.4.2.4.4.3 1.1-.2 1.4L12.7 12l8.9 7.2c.4.4.5 1 .2 1.4-.2.3-.5.4-.8.4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$9 = [_hoisted_2$y, _hoisted_3$w];
+function render$n(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$B, [].concat(_hoisted_4$9));
+}
+var DoubleLeft = {
+  render: render$n
+};
+var index$E = function index26() {
+  return svg({
+    name: "IconDoubleLeft",
+    component: DoubleLeft
+  })();
+};
+var _hoisted_1$A = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$x = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "double-right_svg__st0",
+    d: "M11 21c.2 0 .5-.1.6-.2l9.9-8c.2-.2.4-.5.4-.8 0-.3-.1-.6-.4-.8l-9.9-7.9c-.4-.4-1.1-.3-1.4.2-.4.4-.3 1.1.2 1.4l8.9 7.2-8.9 7.2c-.4.4-.5 1-.2 1.4.2.2.5.3.8.3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$v = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "double-right_svg__st0",
+    d: "M3 21c.2 0 .5-.1.6-.2l9.9-8c.2-.2.4-.5.4-.8 0-.3-.1-.6-.4-.8l-9.8-8c-.4-.3-1.1-.3-1.4.2-.4.4-.3 1.1.1 1.4l8.9 7.2-8.9 7.2c-.4.4-.5 1-.2 1.4.2.3.5.4.8.4z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$8 = [_hoisted_2$x, _hoisted_3$v];
+function render$m(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$A, [].concat(_hoisted_4$8));
+}
+var DoubleRight = {
+  render: render$m
+};
+var index$D = function index27() {
+  return svg({
+    name: "IconDoubleRight",
+    component: DoubleRight
+  })();
+};
+var _hoisted_1$z = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$w = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "down_svg__st0",
+    d: "M2 6h20L12 19z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$u = [_hoisted_2$w];
+function render$l(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$z, [].concat(_hoisted_3$u));
+}
+var Down = {
+  render: render$l
+};
+var index$C = function index28() {
+  return svg({
+    name: "IconDown",
+    component: Down
+  })();
+};
+var _hoisted_1$y = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$v = /* @__PURE__ */ createBaseVNode(
+  "g",
+  {
+    transform: "translate(-4 -10)"
+  },
+  [/* @__PURE__ */ createBaseVNode("circle", {
+    class: "ellipsis_svg__st0",
+    cx: "9",
+    cy: "22",
+    r: "1.5"
+  }), /* @__PURE__ */ createBaseVNode("circle", {
+    class: "ellipsis_svg__st0",
+    cx: "16",
+    cy: "22",
+    r: "1.5"
+  }), /* @__PURE__ */ createBaseVNode("circle", {
+    class: "ellipsis_svg__st0",
+    cx: "23",
+    cy: "22",
+    r: "1.5"
+  })],
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$t = [_hoisted_2$v];
+function render$k(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$y, [].concat(_hoisted_3$t));
+}
+var Ellipsis = {
+  render: render$k
+};
+var index$B = function index29() {
+  return svg({
+    name: "IconEllipsis",
+    component: Ellipsis
+  })();
+};
+var _hoisted_1$x = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$u = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "fullscreen_svg__st0",
+    d: "M8 3H4.5l5.2 5.3c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L3 4.3V8c0 .6-.4 1-1 1s-1-.4-1-1V2c0-.6.4-1 1-1h6c.5 0 1 .4 1 1s-.4 1-1 1zM8 21H4.5l5.2-5.3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L3 19.7V16c0-.6-.4-1-1-1s-1 .4-1 1v6c0 .6.4 1 1 1h6c.5 0 1-.4 1-1s-.4-1-1-1zM16 3h3.5l-5.2 5.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L21 4.3V8c0 .6.4 1 1 1s1-.4 1-1V2c0-.6-.4-1-1-1h-6c-.5 0-1 .4-1 1s.4 1 1 1zM16 21h3.5l-5.2-5.3c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0l5.3 5.4V16c0-.6.4-1 1-1s1 .4 1 1v6c0 .6-.4 1-1 1h-6c-.5 0-1-.4-1-1s.4-1 1-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$s = [_hoisted_2$u];
+function render$j(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$x, [].concat(_hoisted_3$s));
+}
+var Fullscreen = {
+  render: render$j
+};
+var index$A = function index210() {
+  return svg({
+    name: "IconFullscreen",
+    component: Fullscreen
+  })();
+};
+var _hoisted_1$w = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$t = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "minscreen_svg__st0",
+    d: "M3 8h3.5L1.3 2.7c-.4-.4-.4-1 0-1.4.4-.4 1-.4 1.4 0L8 6.7V3c0-.6.4-1 1-1s1 .4 1 1v6c0 .6-.4 1-1 1H3c-.5 0-1-.4-1-1s.4-1 1-1zM3 16h3.5l-5.2 5.3c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0L8 17.3V21c0 .6.4 1 1 1s1-.4 1-1v-6c0-.6-.4-1-1-1H3c-.5 0-1 .4-1 1s.4 1 1 1zM21 8h-3.5l5.2-5.3c.4-.4.4-1 0-1.4s-1-.4-1.4 0L16 6.7V3c0-.6-.4-1-1-1s-1 .4-1 1v6c0 .6.4 1 1 1h6c.5 0 1-.4 1-1s-.4-1-1-1zM21 16h-3.5l5.2 5.3c.4.4.4 1 0 1.4-.4.4-1 .4-1.4 0L16 17.3V21c0 .6-.4 1-1 1s-1-.4-1-1v-6c0-.6.4-1 1-1h6c.5 0 1 .4 1 1s-.4 1-1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$r = [_hoisted_2$t];
+function render$i(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$w, [].concat(_hoisted_3$r));
+}
+var Minscreen = {
+  render: render$i
+};
+var index$z = function index211() {
+  return svg({
+    name: "IconMinscreen",
+    component: Minscreen
+  })();
+};
+var _hoisted_1$v = {
+  class: "popup_svg__icon",
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$s = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M292.768 449.694c2.491.515 4.99.987 7.469 1.551 28.956 6.587 48.828 32.893 47.59 62.98-1.187 28.85-23.508 53.387-52.383 57.605-.904.132-1.784.433-2.676.655H280.21c-.773-.21-1.536-.498-2.323-.615-26.22-3.891-46.433-23.108-51.662-49.134-.36-1.793-.753-3.579-1.13-5.369V504.81c.233-.992.536-1.973.694-2.977 3.902-24.797 21.983-44.51 46.302-50.418 2.688-.653 5.413-1.151 8.12-1.722 4.185.002 8.371.002 12.557.002zm212.46 122.792c-2.49-.515-4.99-.988-7.469-1.55-28.956-6.589-48.828-32.895-47.59-62.981 1.186-28.85 23.507-53.387 52.383-57.604.905-.132 1.785-.433 2.676-.656h12.557c2.491.515 4.99.987 7.47 1.551 28.956 6.587 48.828 32.893 47.59 62.98-1.186 28.85-23.507 53.387-52.383 57.605-.904.132-1.784.433-2.676.655h-12.558zm224.692 0c-2.491-.515-4.991-.988-7.47-1.55-28.957-6.589-48.829-32.895-47.59-62.981 1.186-28.85 23.507-53.387 52.383-57.604.904-.132 1.784-.433 2.676-.656h12.557c.774.209 1.536.498 2.324.615 26.22 3.89 46.433 23.108 51.661 49.134.361 1.793.753 3.58 1.131 5.368v12.558c-.234.992-.536 1.973-.695 2.977-3.902 24.798-21.983 44.51-46.302 50.418-2.688.654-5.412 1.152-8.12 1.723-4.184-.002-8.369-.002-12.555-.002z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$q = [_hoisted_2$s];
+function render$h(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$v, [].concat(_hoisted_3$q));
+}
+var Popup$1 = {
+  render: render$h
+};
+var index$y = function index212() {
+  return svg({
+    name: "IconPopup",
+    component: Popup$1
+  })();
+};
+var _hoisted_1$u = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$r = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "sort_svg__st0",
+    d: "M2 14h20L12 24 2 14zm0-4L12 0l10 10H2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$p = [_hoisted_2$r];
+function render$g(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$u, [].concat(_hoisted_3$p));
+}
+var Sort$1 = {
+  render: render$g
+};
+var index$x = function index213() {
+  return svg({
+    name: "IconSort",
+    component: Sort$1
+  })();
+};
+var _hoisted_1$t = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$q = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M12.243 6 8.14 10.101a.2.2 0 0 1-.282 0L3.757 6h0",
+    stroke: "currentColor",
+    fill: "none",
+    "fill-rule": "evenodd",
+    "stroke-linecap": "round",
+    "stroke-linejoin": "round"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$o = [_hoisted_2$q];
+function render$f(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$t, [].concat(_hoisted_3$o));
+}
+var TriangleDown = {
+  render: render$f
+};
+var index$w = function index214() {
+  return svg({
+    name: "IconTriangleDown",
+    component: TriangleDown
+  })();
+};
+var _hoisted_1$s = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 126 151",
+  "xml:space": "preserve"
+};
+var _hoisted_2$p = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M112.524 12.653 75.041 62.736l-.023 74.905 12.502 12.484V62.736l37.507-50.083V.193H.002v12.46L37.51 62.736v62.42l12.502 12.485V62.736L12.505 12.653z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$n = [_hoisted_2$p];
+function render$e(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$s, [].concat(_hoisted_3$n));
+}
+var Unfilter = {
+  render: render$e
+};
+var index$v = function index215() {
+  return svg({
+    name: "IconUnfilter",
+    component: Unfilter
+  })();
+};
+var _hoisted_1$r = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$o = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "up_svg__st0",
+    d: "M2 19h20L12 6z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$m = [_hoisted_2$o];
+function render$d(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$r, [].concat(_hoisted_3$m));
+}
+var Up = {
+  render: render$d
+};
+var index$u = function index216() {
+  return svg({
+    name: "IconUp",
+    component: Up
+  })();
+};
+var _hoisted_1$q = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 16 16",
+  style: {
+    "enable-background": "new 0 0 16 16"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$n = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "down-ward_svg__st0",
+    d: "M8 11.43c-.15 0-.31-.06-.42-.18L1.92 5.6c-.23-.23-.23-.61 0-.85s.61-.23.85 0L8 9.98l5.23-5.23a.61.61 0 0 1 .85 0c.23.23.23.61 0 .85l-5.66 5.66c-.11.11-.27.17-.42.17z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$l = [_hoisted_2$n];
+function render$c(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$q, [].concat(_hoisted_3$l));
+}
+var DownWard = {
+  render: render$c
+};
+var index$t = function index217() {
+  return svg({
+    name: "IconDownWard",
+    component: DownWard
+  })();
+};
+var _hoisted_1$p = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 16 16",
+  style: {
+    "enable-background": "new 0 0 16 16"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$m = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "sort-triangle_svg__st0",
+    d: "M11.75 9.43 7.99 13.5 4.25 9.43h7.5M8 1.5c-.28 0-.55.11-.75.32L3.44 5.97c-.16.18-.25.4-.25.64 0 .53.45.97 1 .97h7.61c.24 0 .48-.09.66-.24.41-.35.45-.96.09-1.36l-3.8-4.16a.647.647 0 0 1-.09-.08c-.19-.16-.42-.24-.66-.24l.01 1 3.74 4.07h-7.5L7.99 2.5H8v-1zm3.81 6.93H4.19c-.24 0-.48.09-.66.24-.41.35-.45.96-.08 1.36l3.81 4.14c.03.03.06.06.09.08.18.17.41.25.65.25.28 0 .55-.11.75-.32l3.81-4.14c.16-.18.25-.4.25-.64 0-.54-.45-.97-1-.97z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$k = [_hoisted_2$m];
+function render$b(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$p, [].concat(_hoisted_3$k));
+}
+var SortTriangle = {
+  render: render$b
+};
+var index$s = function index218() {
+  return svg({
+    name: "IconSortTriangle",
+    component: SortTriangle
+  })();
+};
+var _hoisted_1$o = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 16 16",
+  style: {
+    "enable-background": "new 0 0 16 16"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$l = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "sort-triangle-ascending_svg__st0",
+    d: "M8 1.5c.24 0 .47.08.66.24.03.03.06.06.09.08l3.81 4.14a.93.93 0 0 1-.09 1.36c-.18.16-.42.24-.66.24H4.19c-.55 0-1-.43-1-.97 0-.24.09-.46.25-.64l3.81-4.14c.2-.2.47-.31.75-.31m4.81 7.89c0 .24-.09.46-.25.64l-3.81 4.14c-.2.22-.47.33-.75.33-.24 0-.47-.08-.66-.24-.03-.03-.06-.05-.09-.08l-3.81-4.14a.938.938 0 0 1 .08-1.36c.18-.16.42-.24.66-.24h7.61c.57-.01 1.02.42 1.02.95zm-1.06.04h-7.5l3.74 4.07 3.76-4.07z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$j = [_hoisted_2$l];
+function render$a(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$o, [].concat(_hoisted_3$j));
+}
+var SortTriangleAscending = {
+  render: render$a
+};
+var index$r = function index219() {
+  return svg({
+    name: "IconSortTriangleAscending",
+    component: SortTriangleAscending
+  })();
+};
+var _hoisted_1$n = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 16 16",
+  style: {
+    "enable-background": "new 0 0 16 16"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2$k = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "sort-triangle-descending_svg__st0",
+    d: "M8 14.5c-.24 0-.47-.08-.66-.24-.03-.03-.06-.05-.09-.08l-3.81-4.14a.93.93 0 0 1 .09-1.36c.18-.16.42-.24.66-.24h7.61c.55 0 1 .43 1 .97 0 .24-.09.46-.25.64l-3.81 4.14c-.19.2-.46.31-.74.31M3.19 6.61c0-.24.09-.46.25-.64l3.81-4.14c.2-.22.47-.33.75-.33.24 0 .47.08.66.24.03.03.06.06.09.08l3.81 4.14c.37.4.33 1.01-.08 1.36-.18.16-.42.24-.66.24H4.19c-.55.01-1-.42-1-.95zm1.06-.04h7.51L8.01 2.5 4.25 6.57z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$i = [_hoisted_2$k];
+function render$9(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$n, [].concat(_hoisted_3$i));
+}
+var SortTriangleDescending = {
+  render: render$9
+};
+var index$q = function index220() {
+  return svg({
+    name: "IconSortTriangleDescending",
+    component: SortTriangleDescending
+  })();
+};
+var _hoisted_1$m = {
+  viewBox: "0 0 96 96",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$j = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 1h96v96H0z"></path><path d="M3 .5h90v90H3z"></path><path d="M18.3 29.3h61.406c.88 0 1.594.714 1.594 1.594v44.25a4.555 4.555 0 0 1-4.555 4.556h-53.89a4.555 4.555 0 0 1-4.555-4.555V29.3Z" fill="#EEE"></path><path d="M15.394 29.3H64.2v45.845a4.555 4.555 0 0 1-4.555 4.555h-41.29a4.555 4.555 0 0 1-4.555-4.555v-44.25c0-.881.714-1.595 1.594-1.595Z" fill="#FFF"></path><path d="M64.2 29.3H14.74c-.784 0-1.514.404-1.93 1.069L4.99 42.857a1.139 1.139 0 0 0 .966 1.743h45.865a4.555 4.555 0 0 0 3.824-2.08L64.2 29.3ZM64.2 29.3h16.832c.775 0 1.497.395 1.916 1.047l8.026 12.499a1.139 1.139 0 0 1-.959 1.754h-14.21a4.555 4.555 0 0 1-3.926-2.246L64.2 29.3Z" fill="#FFF"></path><path d="M3 .5h90v90H3z"></path><path d="M81.813 44.102V75.65a4.05 4.05 0 0 1-4.05 4.05H60.207v-.9h17.556a3.15 3.15 0 0 0 3.15-3.15V44.102h.9Z" fill="#818181" fill-rule="nonzero"></path><path d="M64.65 29.3v46.35a4.05 4.05 0 0 1-4.05 4.05H17.4a4.05 4.05 0 0 1-4.05-4.05V44.102h.9V75.65a3.15 3.15 0 0 0 3.15 3.15h43.2a3.15 3.15 0 0 0 3.15-3.15V30.2H15.06v-.9h49.59Z" fill="#818181" fill-rule="nonzero"></path><path d="M14.476 29.3a1.8 1.8 0 0 0-1.526.845L4.762 43.222a.9.9 0 0 0 .763 1.378h46.817a3.6 3.6 0 0 0 3.022-1.644L64.2 29.3H14.476Zm0 .9h48.07l-7.938 12.267a2.7 2.7 0 0 1-2.266 1.233H5.525l8.188-13.078a.9.9 0 0 1 .763-.422ZM81.293 29.3a1.8 1.8 0 0 1 1.514.827l8.403 13.087a.9.9 0 0 1-.757 1.386H75.259a3.6 3.6 0 0 1-3.103-1.775L64.2 29.3h17.093Zm0 .9h-15.52l7.159 12.169a2.7 2.7 0 0 0 2.327 1.331h15.194L82.05 30.614a.9.9 0 0 0-.757-.414Z" fill="#818181" fill-rule="nonzero"></path><g fill="#818181" fill-rule="nonzero"><path d="M48.9 10.85v6.3a.45.45 0 0 1-.9 0v-6.3a.45.45 0 1 1 .9 0ZM65.344 14.13l-3.15 5.455a.45.45 0 1 1-.78-.45l3.15-5.456a.45.45 0 0 1 .78.45ZM32.336 13.68l3.15 5.455a.45.45 0 1 1-.78.45l-3.15-5.456a.45.45 0 0 1 .78-.45Z"></path></g><g transform="translate(20.1 60.8)"><rect fill="#0067D1" width="14.4" height="4.5" rx="1.14"></rect><rect fill="#818181" y="8.1" width="10.8" height="1" rx=".399"></rect><rect fill="#818181" y="11.7" width="5.4" height="1" rx=".399"></rect></g></g>', 1);
+var _hoisted_3$h = [_hoisted_2$j];
+function render$8(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$m, [].concat(_hoisted_3$h));
+}
+var NoData = {
+  render: render$8
+};
+var index$p = function index221() {
+  return svg({
+    name: "IconNoData",
+    component: NoData
+  })();
+};
+var _hoisted_1$l = {
+  viewBox: "0 0 96 96",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$i = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><path d="m13.076 37.224 31.573-22.36a4.555 4.555 0 0 1 5.265 0l31.574 22.36a4.555 4.555 0 0 1 1.922 3.718V80.36a3.417 3.417 0 0 1-3.416 3.417H14.57a3.417 3.417 0 0 1-3.417-3.417V40.942c0-1.478.717-2.864 1.923-3.718Z" fill="#FFF"></path><path d="m49.612 14.65 32.114 22.743a3.98 3.98 0 0 1 1.684 3.247v40.146a3 3 0 0 1-3.01 2.99H14.164a3 3 0 0 1-3.01-2.99V40.64a3.98 3.98 0 0 1 1.683-3.247L44.951 14.65a4.036 4.036 0 0 1 4.661 0Zm-4.078.812L13.42 38.205a2.984 2.984 0 0 0-1.263 2.435v40.146a2 2 0 0 0 2.007 1.994H80.4a2 2 0 0 0 2.007-1.994V40.64c0-.967-.47-1.874-1.263-2.435L49.03 15.462a3.027 3.027 0 0 0-3.496 0Z" fill="#818181" fill-rule="nonzero"></path><path d="M44.638 56.15a4.541 4.541 0 0 1 5.096-.13l.192.13L83.41 80.548a.628.628 0 0 1-.998.508L49.338 56.958a3.532 3.532 0 0 0-3.935-.12l-.178.12-33.074 24.098a.628.628 0 0 1-.998-.508L44.638 56.15Z" fill="#818181" fill-rule="nonzero"></path><path d="M83.41 40.912 52.3 59.062l29.3 21.399a1.139 1.139 0 0 0 1.81-.92v-38.63Z" fill="#EEE"></path><path d="M83.41 40.912v38.9c0 .213-.068.42-.195.591a1.008 1.008 0 0 1-1.403.213L52.3 59.063l31.11-18.151Zm-1.003 1.74L54.12 59.157l28.286 20.657v-37.16Z" fill="#818181" fill-rule="nonzero"></path><path d="m11.153 40.912 31.11 18.15-29.3 21.399a1.139 1.139 0 0 1-1.81-.92v-38.63Z" fill="#EEE"></path><path d="M11.153 40.912v38.9c0 .213.068.42.195.591.328.444.957.539 1.403.213l29.513-21.553-31.11-18.151Zm1.004 1.74 28.285 16.504-28.285 20.657v-37.16Z" fill="#818181" fill-rule="nonzero"></path><g fill-rule="nonzero"><path d="M82.964 52.173c-5.533 0-10.035 4.472-10.035 9.968 0 5.497 4.502 9.969 10.035 9.969C88.498 72.11 93 67.638 93 62.14c0-5.496-4.502-9.968-10.036-9.968" fill="#0067D1"></path><path d="M82.964 56.908a.75.75 0 0 1 .753.747v5.856a.75.75 0 0 1-.753.748.75.75 0 0 1-.752-.748v-5.856a.75.75 0 0 1 .752-.747M82.964 67.624a1 1 0 0 1-1.003-.997 1 1 0 0 1 1.003-.997 1 1 0 0 1 1.004.997 1 1 0 0 1-1.004.997" fill="#FFF"></path></g><g fill="#818181"><path d="M17.064 20.162h-1v7.45h1zM6.982 24.117a.464.464 0 0 0 0 .658l4.64 4.61a.47.47 0 0 0 .664 0 .464.464 0 0 0 0-.658l-4.641-4.61a.47.47 0 0 0-.663 0ZM3 33.666c0 .257.208.466.466.466h6.57a.466.466 0 0 0 0-.932h-6.57a.466.466 0 0 0-.466.466Z"></path></g></g>', 1);
+var _hoisted_3$g = [_hoisted_2$i];
+function render$7(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$l, [].concat(_hoisted_3$g));
+}
+var NoNews = {
+  render: render$7
+};
+var index$o = function index222() {
+  return svg({
+    name: "IconNoNews",
+    component: NoNews
+  })();
+};
+var _hoisted_1$k = {
+  viewBox: "0 0 96 96",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$h = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><g transform="translate(3 17)"><rect fill="#FFF" width="81.173" height="61.765" rx="4.218"></rect><path d="M77.432 0c2.066 0 3.741 1.656 3.741 3.698v54.368c0 2.043-1.675 3.699-3.74 3.699H3.74C1.675 61.765 0 60.109 0 58.066V3.698C0 1.656 1.675 0 3.74 0h73.692Zm0 1H3.741C2.233 1 1.01 2.208 1.01 3.698v54.368c0 1.49 1.222 2.7 2.73 2.7h73.691c1.508 0 2.73-1.21 2.73-2.7V3.698c0-1.49-1.222-2.698-2.73-2.698Z" fill="#8F8F8F" fill-rule="nonzero"></path><path d="M4.218 0h72.627a4.218 4.218 0 0 1 4.218 4.218v9.266H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M77.322 0c2.066 0 3.741 1.656 3.741 3.698v9.786H0V3.698C0 1.656 1.675 0 3.74 0h73.582Zm0 1H3.741C2.233 1 1.01 2.208 1.01 3.698v8.786h79.041V3.698c0-1.454-1.163-2.64-2.62-2.696L77.322 1Z" fill="#818181" fill-rule="nonzero"></path><path d="M74.504 8.464c.89 0 1.61-.71 1.61-1.587s-.72-1.587-1.61-1.587c-.89 0-1.61.71-1.61 1.587 0 .876.72 1.587 1.61 1.587Zm-5.37 0c.89 0 1.612-.71 1.612-1.587s-.722-1.587-1.611-1.587c-.89 0-1.61.71-1.61 1.587 0 .876.72 1.587 1.61 1.587Zm-5.368 0c.89 0 1.61-.71 1.61-1.587s-.72-1.587-1.61-1.587c-.89 0-1.61.71-1.61 1.587 0 .876.72 1.587 1.61 1.587Z" fill="#818181"></path></g><g fill-rule="nonzero"><path d="M82.9 49.622c-5.569 0-10.1 4.48-10.1 9.986s4.531 9.985 10.1 9.985c5.57 0 10.1-4.48 10.1-9.985 0-5.507-4.53-9.986-10.1-9.986" fill="#0067D1"></path><path d="M82.9 54.365c.418 0 .758.335.758.749v5.866c0 .413-.34.749-.758.749a.754.754 0 0 1-.757-.75v-5.865c0-.414.339-.75.757-.75M82.9 65.1c-.557 0-1.01-.447-1.01-.999s.453-.998 1.01-.998c.558 0 1.01.446 1.01.998s-.452.999-1.01.999" fill="#FFF"></path></g><path d="M43.137 46.478c2.134 0 3.864 1.61 3.864 3.596v1.766h.11c1.27 0 2.308.925 2.38 2.09l.005.13v4.993c0 1.225-1.068 2.219-2.385 2.219h-7.949c-1.317 0-2.385-.994-2.385-2.22V54.06c0-1.225 1.069-2.22 2.385-2.22h.11v-1.766c0-1.933 1.638-3.509 3.693-3.593l.172-.003Zm-3.325 6.288h-.704c-.667 0-1.208.51-1.208 1.138v5.12c0 .629.54 1.138 1.208 1.138h8.057c.667 0 1.209-.51 1.209-1.138v-5.12c0-.628-.542-1.138-1.209-1.138h-7.353Zm3.138 1.849a.56.56 0 0 1 .556.48l.005.075.001 1.478a.921.921 0 0 1 .373.74.93.93 0 0 1-.935.925.93.93 0 0 1-.936-.925c0-.303.147-.571.374-.74V55.17c0-.307.252-.555.562-.555Zm.187-7.028c-1.446 0-2.619 1.065-2.619 2.379v1.69h5.237v-1.69c0-1.27-1.095-2.307-2.474-2.375l-.144-.004Z" fill="#818181" fill-rule="nonzero"></path></g>', 1);
+var _hoisted_3$f = [_hoisted_2$h];
+function render$6(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$k, [].concat(_hoisted_3$f));
+}
+var NoPerm = {
+  render: render$6
+};
+var index$n = function index223() {
+  return svg({
+    name: "IconNoPerm",
+    component: NoPerm
+  })();
+};
+var _hoisted_1$j = {
+  viewBox: "0 0 96 96",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$g = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><path d="M59.584 11h8.796a5.062 5.062 0 0 1 5.062 5.062v9.875c0 .698-.567 1.265-1.266 1.265H59.584V11Z" fill="#EEE"></path><path d="M68.822 11a4.624 4.624 0 0 1 4.62 4.63v10.415c0 .639-.517 1.157-1.155 1.157H59.584V11h9.238Zm0 1.043h-8.197v14.116h11.662a.115.115 0 0 0 .114-.114V15.629a3.583 3.583 0 0 0-3.579-3.586Z" fill="#818181" fill-rule="nonzero"></path><path d="M14.257 11h54.546l.31.988c-5.005 0-4.363 3.19-4.363 13.066V37.04a5.483 5.483 0 1 0 0 .007v40.221a5.483 5.483 0 0 1-5.484 5.483H14.257a5.483 5.483 0 0 1-5.483-5.483V16.483A5.483 5.483 0 0 1 14.257 11Z" fill="#FFF"></path><path d="m68.803 11 .31.988c-5.005 0-4.363 3.19-4.363 13.066v52.683a5.01 5.01 0 0 1-5.004 5.014H13.778a5.01 5.01 0 0 1-5.004-5.014V16.015A5.01 5.01 0 0 1 13.778 11h55.025Zm-55.025 1.043a3.968 3.968 0 0 0-3.964 3.972v61.722a3.968 3.968 0 0 0 3.964 3.972h45.968a3.968 3.968 0 0 0 3.963-3.972v-52.84c0-.784-.004-1.5-.013-2.654-.006-.781-.01-1.48-.01-2.106v-.408c.005-3.379.121-4.57.546-5.829.263-.783.646-1.396 1.162-1.856l-51.616-.001Z" fill="#818181" fill-rule="nonzero"></path><path d="M60.002 82.751H10.33A7.33 7.33 0 0 1 3 75.422v-6.486c0-.466.378-.843.844-.843h50.381c.466 0 .844.377.844.843v8.561c0 1.886 1.277 4.226 4.006 4.226 1.714 0 .094 1.028.927 1.028Z" fill="#FFF"></path><path d="M54.299 68.093a.77.77 0 0 1 .77.771v8.633c0 1.886 1.277 4.226 4.006 4.226 1.714 0 .094 1.028.927 1.028H10.314C6.274 82.751 3 79.47 3 75.422v-6.558a.77.77 0 0 1 .77-.771h50.529Zm-.27 1.042H4.04v6.287c0 3.42 2.725 6.201 6.117 6.285l.157.002H55.97l-.033-.027c-1.173-.954-1.868-2.44-1.907-4.043l-.002-.142v-8.362Z" fill="#818181" fill-rule="nonzero"></path><path d="m81.398 74.93-2.891-2.897a.634.634 0 0 1 .894-.896l2.892 2.897a.634.634 0 0 1-.895.897Z" fill="#818181"></path><path d="M81.637 74.326a2.076 2.076 0 0 1 2.94 0l5.88 5.891a2.085 2.085 0 0 1 0 2.946 2.076 2.076 0 0 1-2.94 0l-5.88-5.892a2.085 2.085 0 0 1 0-2.945Z" fill="#FFF"></path><path d="M81.628 74.326a2.08 2.08 0 0 1 2.943.003l5.891 5.892a2.08 2.08 0 0 1 .004 2.942 2.08 2.08 0 0 1-2.943-.003l-5.892-5.892a2.08 2.08 0 0 1-.003-2.942Zm.736.736a1.04 1.04 0 0 0 .002 1.471l5.892 5.892a1.04 1.04 0 1 0 1.47-1.47l-5.892-5.891a1.04 1.04 0 0 0-1.472-.002Z" fill="#818181" fill-rule="nonzero"></path><path d="M69.578 46.265c8.023 0 14.55 6.54 14.55 14.581s-6.527 14.582-14.55 14.582-14.55-6.541-14.55-14.582c0-8.04 6.527-14.581 14.55-14.581Z" fill="#FFF"></path><path d="M69.578 46.265c8.023 0 14.55 6.54 14.55 14.581s-6.527 14.582-14.55 14.582-14.55-6.541-14.55-14.582c0-8.04 6.527-14.581 14.55-14.581Zm0 1.041c-7.45 0-13.511 6.075-13.511 13.54 0 7.466 6.062 13.54 13.51 13.54 7.45 0 13.512-6.074 13.512-13.54 0-7.465-6.062-13.54-13.511-13.54Z" fill="#818181" fill-rule="nonzero"></path><g fill="#818181"><path d="M78.435 35.48h1v7.785h-1zM88.876 39.613c.19.19.19.498 0 .688l-4.806 4.816a.485.485 0 1 1-.686-.688l4.806-4.816a.485.485 0 0 1 .686 0ZM93 49.59a.487.487 0 0 1-.487.486H85.72a.487.487 0 0 1 0-.973h6.794c.27 0 .487.218.487.487Z"></path></g><g fill-rule="nonzero"><path d="M37.009 32.603c-5.73 0-10.393 4.672-10.393 10.415 0 5.743 4.662 10.416 10.393 10.416 5.73 0 10.393-4.673 10.393-10.416s-4.663-10.415-10.393-10.415" fill="#0067D1"></path><path d="M37.009 37.55c.43 0 .78.35.78.781v6.118a.78.78 0 1 1-1.56 0v-6.118a.78.78 0 0 1 .78-.781M37.009 48.747a1.04 1.04 0 0 1-1.04-1.042 1.04 1.04 0 1 1 2.08 0 1.04 1.04 0 0 1-1.04 1.042" fill="#FFF"></path></g></g>', 1);
+var _hoisted_3$e = [_hoisted_2$g];
+function render$5(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$j, [].concat(_hoisted_3$e));
+}
+var NoResult = {
+  render: render$5
+};
+var index$m = function index224() {
+  return svg({
+    name: "IconNoResult",
+    component: NoResult
+  })();
+};
+var _hoisted_1$i = {
+  viewBox: "0 0 120 120",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$f = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h120v120H0z"></path><g fill-rule="nonzero"><g transform="translate(4 21)"><rect fill="#FFF" width="102.819" height="78" rx="4.218"></rect><path d="M98.08 0c2.618 0 4.74 2.091 4.74 4.67v68.66c0 2.579-2.122 4.67-4.74 4.67H4.739C2.121 78 0 75.909 0 73.33V4.67C0 2.092 2.121 0 4.738 0h93.343Zm0 1.262H4.739c-1.91 0-3.457 1.526-3.457 3.409v68.658c0 1.883 1.548 3.409 3.457 3.409h93.343c1.91 0 3.458-1.526 3.458-3.409V4.671c0-1.883-1.549-3.409-3.458-3.409Z" fill="#8F8F8F"></path><path d="M4.218 0h94.244a4.218 4.218 0 0 1 4.218 4.218v12.81H0V4.219A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M97.942 0c2.617 0 4.738 2.091 4.738 4.67V17.03H0V4.67C0 2.09 2.121 0 4.738 0h93.204Zm0 1.262H4.738c-1.91 0-3.457 1.526-3.457 3.409v11.095h100.118V4.671c0-1.837-1.473-3.334-3.318-3.406l-.14-.003Z" fill="#818181"></path><path d="M94.371 10.689c1.127 0 2.04-.898 2.04-2.004 0-1.107-.913-2.005-2.04-2.005-1.126 0-2.04.898-2.04 2.005 0 1.106.914 2.004 2.04 2.004Zm-6.8 0c1.127 0 2.04-.898 2.04-2.004 0-1.107-.913-2.005-2.04-2.005s-2.04.898-2.04 2.005c0 1.106.913 2.004 2.04 2.004Zm-6.8 0c1.126 0 2.04-.898 2.04-2.004 0-1.107-.914-2.005-2.04-2.005-1.128 0-2.041.898-2.041 2.005 0 1.106.913 2.004 2.04 2.004Z" fill="#818181"></path></g><path d="M105.207 62.196c-7.054 0-12.793 5.658-12.793 12.611 0 6.954 5.739 12.611 12.793 12.611 7.054 0 12.793-5.657 12.793-12.61 0-6.954-5.739-12.612-12.793-12.612" fill="#0067D1"></path><path d="M105.207 68.187c.53 0 .96.423.96.945v7.408c0 .522-.43.946-.96.946a.953.953 0 0 1-.96-.946v-7.408c0-.522.43-.945.96-.945M105.207 81.743a1.27 1.27 0 0 1-1.28-1.26 1.27 1.27 0 0 1 1.28-1.262c.706 0 1.28.564 1.28 1.261a1.27 1.27 0 0 1-1.28 1.261" fill="#FFF"></path><path d="M54.84 58.226c2.703 0 4.894 2.033 4.894 4.541v2.231h.14c1.608 0 2.924 1.168 3.016 2.639l.005.164v6.306c0 1.547-1.353 2.802-3.021 2.802H49.805c-1.668 0-3.02-1.255-3.02-2.802V67.8c0-1.547 1.353-2.802 3.02-2.802l.14-.001v-2.23c0-2.441 2.074-4.431 4.677-4.537l.218-.005Zm-4.212 7.941h-.891c-.845 0-1.53.644-1.53 1.437v6.467c0 .793.685 1.437 1.53 1.437h10.205c.846 0 1.531-.644 1.531-1.437v-6.467c0-.793-.686-1.437-1.53-1.437h-9.315Zm3.975 2.335c.36 0 .657.264.704.606l.007.095.001 1.867c.287.213.472.552.472.934 0 .645-.53 1.169-1.184 1.169a1.177 1.177 0 0 1-1.185-1.17c0-.381.186-.72.473-.934l.001-1.866c0-.387.318-.701.71-.701Zm.237-8.874c-1.832 0-3.317 1.344-3.317 3.003v2.134h6.633v-2.134c0-1.604-1.387-2.913-3.134-2.999l-.182-.004Z" fill="#818181"></path></g></g>', 1);
+var _hoisted_3$d = [_hoisted_2$f];
+function render$4(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$i, [].concat(_hoisted_3$d));
+}
+var PageNoperm = {
+  render: render$4
+};
+var index$l = function index225() {
+  return svg({
+    name: "IconPageNoperm",
+    component: PageNoperm
+  })();
+};
+var _hoisted_1$h = {
+  viewBox: "0 0 120 120",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$e = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h120v120H0z"></path><g fill-rule="nonzero" transform="translate(3 21)"><rect fill="#FFF" width="102.903" height="78.69" rx="4.218"></rect><path d="M98.16 0c2.62 0 4.743 2.11 4.743 4.712v69.266c0 2.603-2.123 4.712-4.742 4.712H4.742C2.123 78.69 0 76.58 0 73.978V4.712C0 2.11 2.123 0 4.742 0h93.419Zm0 1.274H4.743c-1.911 0-3.46 1.539-3.46 3.438v69.266c0 1.9 1.549 3.439 3.46 3.439h93.419c1.91 0 3.46-1.54 3.46-3.439V4.712c0-1.899-1.55-3.438-3.46-3.438Z" fill="#8F8F8F"></path><path d="M4.218 0h94.327a4.218 4.218 0 0 1 4.218 4.218v12.961H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M98.021 0c2.62 0 4.742 2.11 4.742 4.712v12.467H0V4.712C0 2.11 2.123 0 4.742 0h93.28Zm0 1.274H4.742c-1.911 0-3.46 1.539-3.46 3.438v11.194h100.2V4.712c0-1.853-1.475-3.363-3.321-3.436l-.14-.002Z" fill="#818181"></path><path d="M94.448 10.783a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021A2.032 2.032 0 0 0 85.6 8.76c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Z" fill="#818181"></path></g><g transform="translate(36.861 58.897)" stroke="#818181" stroke-width="1.139"><rect fill="#FFF" fill-rule="nonzero" width="36.189" height="19.038" rx="2.278"></rect><ellipse cx="17.858" cy="9.999" rx="2.266" ry="2.313"></ellipse><ellipse cx="26.363" cy="9.999" rx="2.266" ry="2.313"></ellipse><ellipse cx="9.353" cy="9.999" rx="2.266" ry="2.313"></ellipse></g><g fill-rule="nonzero"><path d="M106.39 62.363c-6.954 0-12.611 5.657-12.611 12.61 0 6.954 5.657 12.611 12.61 12.611 6.954 0 12.611-5.657 12.611-12.61 0-6.954-5.657-12.611-12.61-12.611" fill="#0067D1"></path><path d="M106.39 68.353c.521 0 .945.424.945.946v7.407a.946.946 0 0 1-1.891 0V69.3c0-.522.423-.946.945-.946M106.39 81.91a1.26 1.26 0 1 1-.001-2.522 1.26 1.26 0 0 1 0 2.521" fill="#FFF"></path></g></g>', 1);
+var _hoisted_3$c = [_hoisted_2$e];
+function render$3(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$h, [].concat(_hoisted_3$c));
+}
+var PageNothing = {
+  render: render$3
+};
+var index$k = function index226() {
+  return svg({
+    name: "IconPageNothing",
+    component: PageNothing
+  })();
+};
+var _hoisted_1$g = {
+  viewBox: "0 0 155 126",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$d = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h155v126H0z"></path><g fill-rule="nonzero"><g transform="translate(83.562 20.562)"><path d="M58.876 55.25v26.94c0 .465-.189.887-.494 1.192a1.68 1.68 0 0 1-1.192.494H1.686a1.68 1.68 0 0 1-1.192-.494A1.68 1.68 0 0 1 0 82.19V55.25h58.876Z" stroke="#818181" stroke-width="1.124" fill="#FFF"></path><path stroke="#818181" stroke-width="1.124" fill="#FFF" d="M0 27.625h58.876v28.626H0z"></path><path d="M57.19 0c.465 0 .887.189 1.192.494.305.305.494.727.494 1.192v26.94H0V1.686C0 1.221.189.8.494.494A1.68 1.68 0 0 1 1.686 0H57.19Z" stroke="#818181" stroke-width="1.124" fill="#FFF"></path><circle fill="#0067D1" cx="44.938" cy="13.938" r="2.5"></circle><circle fill="#EEE" cx="44.938" cy="41.938" r="2.5"></circle><circle fill="#EEE" cx="44.938" cy="69.938" r="2.5"></circle><path fill="#EEE" d="M17.438 13.438h21v1h-21zM17.438 41.438h21v1h-21zM17.438 69.438h21v1h-21z"></path></g><path d="M3.444 104.021h147.112a.444.444 0 1 1 0 .888H3.444a.444.444 0 0 1 0-.888Z" fill="#818181"></path><g stroke="#818181" stroke-width=".964"><path d="M109.414 31.482c.931 0 1.775.377 2.385.988.61.61.988 1.454.988 2.385v61.014H14.213V34.855c0-.931.378-1.775.988-2.385a3.363 3.363 0 0 1 2.385-.988h91.828Z" fill="#EEE"></path><path d="m120.036 95.871.482 4.324a4.31 4.31 0 0 1-1.266 3.057 4.31 4.31 0 0 1-3.057 1.266H10.805a4.31 4.31 0 0 1-3.057-1.266 4.31 4.31 0 0 1-1.266-3.057v-3.842l113.554-.482Z" fill="#FFF"></path><path d="m78.817 95.871-.537 2.004a1.182 1.182 0 0 1-1.143.877H50.829a1.182 1.182 0 0 1-1.143-.877l-.537-2.004h29.668Z" fill="#EEE"></path><path d="M106.512 35.326c.665 0 1.268.27 1.704.706.436.436.705 1.038.705 1.703V95.87H18.08V37.735c0-.665.27-1.267.705-1.703a2.402 2.402 0 0 1 1.704-.706h86.024Z" fill="#FFF"></path></g><path d="M43.86 53.611c-6.892 0-12.5 5.608-12.5 12.5 0 6.893 5.608 12.5 12.5 12.5s12.5-5.607 12.5-12.5c0-6.892-5.608-12.5-12.5-12.5" fill="#0067D1"></path><path d="M44.195 59.714c.531 0 .962.431.962.963v7.547a.963.963 0 1 1-1.925 0v-7.547c0-.532.431-.963.963-.963M44.195 73.524a1.284 1.284 0 1 1 0-2.567 1.284 1.284 0 0 1 0 2.567" fill="#FFF"></path><g fill="#818181"><path d="M66.857 52.143h4.837a.48.48 0 0 1 0 .96h-4.837a.48.48 0 1 1 0-.96ZM77.487 52.143h17.668a.48.48 0 1 1 0 .96H77.487a.48.48 0 1 1 0-.96ZM66.857 58.87h28.147a.48.48 0 1 1 0 .961H66.857a.48.48 0 1 1 0-.96ZM66.857 65.597h28.147a.48.48 0 1 1 0 .961H66.857a.48.48 0 1 1 0-.96ZM66.857 72.325h28.147a.48.48 0 1 1 0 .96H66.857a.48.48 0 1 1 0-.96ZM66.857 79.052h4.837a.48.48 0 0 1 0 .961h-4.837a.48.48 0 0 1 0-.961ZM76.04 79.052h7.731v1h-7.73z"></path></g></g></g>', 1);
+var _hoisted_3$b = [_hoisted_2$d];
+function render$2(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$g, [].concat(_hoisted_3$b));
+}
+var PageServererror = {
+  render: render$2
+};
+var index$j = function index227() {
+  return svg({
+    name: "IconPageServererror",
+    component: PageServererror
+  })();
+};
+var _hoisted_1$f = {
+  viewBox: "0 0 120 120",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$c = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h120v120H0z"></path><g fill-rule="nonzero"><g transform="translate(4 24)"><rect fill="#FFF" width="102.903" height="78.69" rx="4.218"></rect><path d="M98.16 0c2.62 0 4.743 2.11 4.743 4.712v69.266c0 2.603-2.123 4.712-4.742 4.712H4.742C2.123 78.69 0 76.58 0 73.978V4.712C0 2.11 2.123 0 4.742 0h93.419Zm0 1.274H4.743c-1.911 0-3.46 1.539-3.46 3.438v69.266c0 1.9 1.549 3.439 3.46 3.439h93.419c1.91 0 3.46-1.54 3.46-3.439V4.712c0-1.899-1.55-3.438-3.46-3.438Z" fill="#8F8F8F"></path><path d="M4.218 0h94.327a4.218 4.218 0 0 1 4.218 4.218v12.961H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M98.021 0c2.62 0 4.742 2.11 4.742 4.712v12.467H0V4.712C0 2.11 2.123 0 4.742 0h93.28Zm0 1.274H4.742c-1.911 0-3.46 1.539-3.46 3.438v11.194h100.2V4.712c0-1.853-1.475-3.363-3.321-3.436l-.14-.002Z" fill="#818181"></path><path d="M94.448 10.783a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021A2.032 2.032 0 0 0 85.6 8.76c0 1.117.914 2.022 2.042 2.022Zm-6.806 0a2.032 2.032 0 0 0 2.042-2.022 2.032 2.032 0 0 0-2.042-2.021 2.032 2.032 0 0 0-2.042 2.021c0 1.117.914 2.022 2.042 2.022Z" fill="#818181"></path></g><path d="M54.175 78.041a1.421 1.421 0 0 1 2.02 0 1.445 1.445 0 0 1 0 2.034 1.421 1.421 0 0 1-2.02 0 1.445 1.445 0 0 1 0-2.034Zm5.512-3.995c.342.38.342.994 0 1.373a.818.818 0 0 1-1.24 0c-1.935-2.143-5.066-2.143-7 0a.818.818 0 0 1-1.24 0 1.046 1.046 0 0 1 0-1.373c2.619-2.901 6.86-2.901 9.48 0Zm4.285-3.562a.775.775 0 0 1 0 1.148.91.91 0 0 1-1.227 0c-4.18-3.908-10.942-3.908-15.12 0a.91.91 0 0 1-1.228 0 .775.775 0 0 1 0-1.148c4.857-4.542 12.718-4.542 17.575 0Zm3.333-3.945a.888.888 0 0 1 0 1.24.852.852 0 0 1-1.22 0 15.554 15.554 0 0 0-22.277 0 .852.852 0 0 1-1.22 0 .888.888 0 0 1 0-1.24 17.258 17.258 0 0 1 24.717 0Z" fill="#818181"></path><path d="M105.39 65.363c-6.954 0-12.611 5.657-12.611 12.61 0 6.954 5.657 12.611 12.61 12.611 6.954 0 12.611-5.657 12.611-12.61 0-6.954-5.657-12.611-12.61-12.611" fill="#0067D1"></path><path d="M105.39 71.353c.521 0 .945.424.945.946v7.407a.946.946 0 0 1-1.891 0V72.3c0-.522.423-.946.945-.946M105.39 84.91a1.26 1.26 0 1 1-.001-2.522 1.26 1.26 0 0 1 0 2.521" fill="#FFF"></path></g></g>', 1);
+var _hoisted_3$a = [_hoisted_2$c];
+function render$1(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$f, [].concat(_hoisted_3$a));
+}
+var PageWeaknet = {
+  render: render$1
+};
+var index$i = function index228() {
+  return svg({
+    name: "IconPageWeaknet",
+    component: PageWeaknet
+  })();
+};
+var _hoisted_1$e = {
+  viewBox: "0 0 96 96",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$b = /* @__PURE__ */ createStaticVNode('<g fill="none" fill-rule="evenodd"><path d="M0 0h96v96H0z"></path><g transform="translate(3 17)"><rect fill="#FFF" width="81.055" height="61.765" rx="4.218"></rect><path d="M77.32 0c2.062 0 3.735 1.656 3.735 3.698v54.368c0 2.043-1.673 3.699-3.736 3.699H3.735C1.672 61.765 0 60.109 0 58.066V3.698C0 1.656 1.672 0 3.735 0H77.32Zm0 1H3.734C2.23 1 1.01 2.208 1.01 3.698v54.368c0 1.49 1.22 2.7 2.725 2.7H77.32c1.506 0 2.726-1.21 2.726-2.7V3.698c0-1.49-1.22-2.698-2.726-2.698Z" fill="#8F8F8F" fill-rule="nonzero"></path><path d="M4.218 0h72.509a4.218 4.218 0 0 1 4.218 4.218v9.266H0V4.218A4.218 4.218 0 0 1 4.218 0Z" fill="#EEE"></path><path d="M77.21 0c2.063 0 3.735 1.656 3.735 3.698v9.786H0V3.698C0 1.656 1.672 0 3.735 0H77.21Zm0 1H3.735C2.23 1 1.01 2.208 1.01 3.698v8.786h78.925V3.698c0-1.454-1.161-2.64-2.616-2.696L77.21 1Z" fill="#818181" fill-rule="nonzero"></path><path d="M74.395 8.464c.888 0 1.608-.71 1.608-1.587s-.72-1.587-1.608-1.587c-.888 0-1.608.71-1.608 1.587 0 .876.72 1.587 1.608 1.587Zm-5.361 0c.888 0 1.608-.71 1.608-1.587s-.72-1.587-1.608-1.587c-.888 0-1.608.71-1.608 1.587 0 .876.72 1.587 1.608 1.587Zm-5.361 0c.888 0 1.608-.71 1.608-1.587s-.72-1.587-1.608-1.587c-.888 0-1.608.71-1.608 1.587 0 .876.72 1.587 1.608 1.587Z" fill="#818181"></path></g><path d="M42.023 59.418a1.129 1.129 0 0 1 1.585 0 1.102 1.102 0 0 1 0 1.569 1.129 1.129 0 0 1-1.585 0 1.102 1.102 0 0 1 0-1.57Zm4.326-3.084a.797.797 0 0 1 0 1.06.65.65 0 0 1-.973 0c-1.519-1.654-3.976-1.654-5.494 0a.65.65 0 0 1-.973 0 .797.797 0 0 1 0-1.06c2.055-2.24 5.384-2.24 7.44 0Zm3.364-2.749a.591.591 0 0 1 0 .886.724.724 0 0 1-.963 0c-3.28-3.016-8.589-3.016-11.869 0a.724.724 0 0 1-.963 0 .591.591 0 0 1 0-.886c3.812-3.505 9.982-3.505 13.795 0Zm2.616-3.045a.677.677 0 0 1-.957.958c-4.832-4.835-12.654-4.835-17.486 0a.676.676 0 1 1-.957-.958c5.36-5.363 14.04-5.363 19.4 0Z" fill="#818181" fill-rule="nonzero"></path><g fill-rule="nonzero"><path d="M82.915 49.382c-5.561 0-10.085 4.48-10.085 9.986s4.524 9.986 10.085 9.986c5.56 0 10.085-4.48 10.085-9.986 0-5.507-4.524-9.986-10.085-9.986" fill="#0067D1"></path><path d="M82.915 54.125c.417 0 .756.336.756.749v5.866a.753.753 0 0 1-.756.749.753.753 0 0 1-.757-.75v-5.865c0-.413.34-.749.757-.749M82.915 64.86a1.003 1.003 0 0 1-1.009-.999c0-.552.452-.998 1.009-.998.557 0 1.008.446 1.008.998 0 .553-.451.999-1.008.999" fill="#FFF"></path></g></g>', 1);
+var _hoisted_3$9 = [_hoisted_2$b];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$e, [].concat(_hoisted_3$9));
+}
+var Weaknet = {
+  render
+};
+var index$h = function index229() {
+  return svg({
+    name: "IconWeaknet",
+    component: Weaknet
+  })();
+};
+const watchVisible = ({ broadcast, emit, nextTick: nextTick2 }) => (value) => {
+  broadcast("TinyDropdownMenu", "visible", value);
+  nextTick2(() => emit("visible-change", value));
+};
+const watchFocusing = (parent) => (value) => {
+  const selfDefine = parent.$el.querySelector(".tiny-dropdown-selfdefine");
+  if (selfDefine) {
+    value ? addClass(selfDefine, "focusing") : removeClass(selfDefine, "focusing");
+  }
+};
+const show = ({ props: props2, state }) => () => {
+  if (props2.disabled) {
+    return;
+  }
+  clearTimeout(Number(state.timeout));
+  state.timeout = setTimeout(
+    () => {
+      state.visible = true;
+    },
+    state.trigger === "click" ? 0 : props2.showTimeout
+  );
+};
+const hide = ({ api: api2, props: props2, state }) => () => {
+  if (props2.disabled) {
+    return;
+  }
+  api2.removeTabindex();
+  if (props2.tabindex >= 0 && state.triggerElm) {
+    api2.resetTabindex(state.triggerElm);
+  }
+  clearTimeout(Number(state.timeout));
+  state.timeout = setTimeout(
+    () => {
+      state.visible = false;
+    },
+    state.trigger === "click" ? 0 : props2.hideTimeout
+  );
+};
+const handleClick$3 = ({ api: api2, props: props2, state, emit }) => () => {
+  if (props2.disabled) {
+    return;
+  }
+  emit("handle-click", state.visible);
+  state.visible ? api2.hide() : api2.show();
+};
+const handleTriggerKeyDown = ({ api: api2, state }) => (event) => {
+  const keyCode = event.keyCode;
+  if (~[KEY_CODE.ArrowUp, KEY_CODE.ArrowDown].indexOf(keyCode)) {
+    api2.removeTabindex();
+    if (state.menuItems) {
+      api2.resetTabindex(state.menuItems[0]);
+      state.menuItems[0].focus();
+    }
+    event.preventDefault();
+    event.stopPropagation();
+  } else if (keyCode === KEY_CODE.Enter) {
+    api2.handleClick();
+  } else if (~[KEY_CODE.Tab, KEY_CODE.Escape].indexOf(keyCode)) {
+    api2.hide();
+  }
+};
+const handleItemKeyDown = ({ api: api2, props: props2, state }) => (event) => {
+  const keyCode = event.keyCode;
+  const target = event.target;
+  const currentIndex = state.menuItemsArray.indexOf(target);
+  const max = state.menuItemsArray.length - 1;
+  let nextIndex;
+  if (~[KEY_CODE.ArrowUp, KEY_CODE.ArrowDown].indexOf(keyCode)) {
+    if (keyCode === KEY_CODE.ArrowUp) {
+      nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;
+    } else {
+      nextIndex = currentIndex < max ? currentIndex + 1 : max;
+    }
+    api2.removeTabindex();
+    if (state.menuItems) {
+      api2.resetTabindex(state.menuItems[nextIndex]);
+      state.menuItems[nextIndex].focus();
+    }
+    event.preventDefault();
+    event.stopPropagation();
+  } else if (keyCode === KEY_CODE.Enter) {
+    api2.triggerElmFocus();
+    target == null ? void 0 : target.click();
+    if (props2.hideOnClick) {
+      state.visible = false;
+    }
+  } else if (~[KEY_CODE.Tab, KEY_CODE.Escape].indexOf(keyCode)) {
+    api2.hide();
+    api2.triggerElmFocus();
+  }
+};
+const resetTabindex = (api2) => (el) => {
+  api2.removeTabindex();
+  el.setAttribute("tabindex", "0");
+};
+const removeTabindex = (state) => () => {
+  var _a, _b;
+  (_a = state.triggerElm) == null ? void 0 : _a.setAttribute("tabindex", "-1");
+  (_b = state.menuItemsArray) == null ? void 0 : _b.forEach((item) => {
+    item.setAttribute("tabindex", "-1");
+  });
+};
+const initAria = ({ state, props: props2 }) => () => {
+  var _a, _b, _c, _d, _e;
+  (_a = state.dropdownElm) == null ? void 0 : _a.setAttribute("id", state.listId);
+  (_b = state.triggerElm) == null ? void 0 : _b.setAttribute("aria-haspopup", "list");
+  (_c = state.triggerElm) == null ? void 0 : _c.setAttribute("aria-controls", state.listId);
+  if (!props2.splitButton || !props2.singleButton) {
+    (_d = state.triggerElm) == null ? void 0 : _d.setAttribute("role", "button");
+    (_e = state.triggerElm) == null ? void 0 : _e.setAttribute("tabindex", String(props2.tabindex));
+    addClass(state.triggerElm, "tiny-dropdown-selfdefine");
+  }
+};
+const toggleFocus = ({ state, value }) => () => {
+  state.focusing = value;
+};
+const initEvent = ({ api: api2, props: props2, state, vm, mode }) => () => {
+  var _a;
+  let buttonValue = props2.splitButton || props2.singleButton;
+  state.triggerElm = buttonValue ? vm.$refs.trigger.$el : props2.border ? vm.$refs.trigger.$el : vm.$refs.trigger;
+  on(state.triggerElm, "keydown", api2.handleTriggerKeyDown);
+  (_a = state.dropdownElm) == null ? void 0 : _a.addEventListener("keydown", api2.handleItemKeyDown, true);
+  if (!props2.splitButton || !props2.singleButton) {
+    on(state.triggerElm, "focus", toggleFocus({ state, value: true }));
+    on(state.triggerElm, "blur", toggleFocus({ state, value: false }));
+    on(state.triggerElm, "click", toggleFocus({ state, value: false }));
+  }
+  if (state.trigger === "hover") {
+    on(state.triggerElm, "mouseenter", api2.show);
+    on(state.triggerElm, "mouseleave", api2.hide);
+    on(state.dropdownElm, "mouseenter", api2.show);
+    on(state.dropdownElm, "mouseleave", api2.hide);
+  } else if (state.trigger === "click") {
+    on(state.triggerElm, "click", api2.handleClick);
+  }
+  if (mode === "mobile-first") {
+    if (props2.splitButton || props2.singleButton) {
+      on(state.triggerElm, "click", api2.handleClick);
+    }
+  }
+};
+const handleMenuItemClick$1 = ({ props: props2, state, emit }) => ({ itemData, vm, disabled }) => {
+  if (props2.hideOnClick && !disabled) {
+    state.visible = false;
+  }
+  if (!disabled) {
+    const data8 = { itemData, vm };
+    emit("item-click", data8);
+  }
+};
+const triggerElmFocus = (state) => () => {
+  var _a;
+  ((_a = state.triggerElm) == null ? void 0 : _a.focus) && state.triggerElm.focus();
+};
+const initDomOperation = ({ api: api2, state, vm }) => () => {
+  var _a;
+  state.dropdownElm = vm.popperElm;
+  state.menuItems = (_a = state.dropdownElm) == null ? void 0 : _a.querySelectorAll('[tabindex="-1"]');
+  state.menuItemsArray = [].slice.call(state.menuItems);
+  api2.initEvent();
+  api2.initAria();
+};
+const handleMainButtonClick = ({ api: api2, emit }) => (event) => {
+  emit("button-click", event);
+  api2.hide();
+};
+const mounted$1 = ({ api: api2, vm, state, broadcast }) => () => {
+  if (state.showSelfIcon) {
+    state.showIcon = false;
+  }
+  vm.$on("menu-item-click", api2.handleMenuItemClick);
+  vm.$on("current-item-click", api2.handleMenuItemClick);
+  vm.$on("selected-index", (selectedIndex) => {
+    broadcast("TinyDropdownMenu", "menu-selected-index", selectedIndex);
+  });
+  vm.$on("is-disabled", api2.clickOutside);
+};
+const beforeDistory = ({ api: api2, state }) => () => {
+  if (state.triggerElm) {
+    off(state.triggerElm, "keydown", api2.handleTriggerKeyDown);
+    off(state.triggerElm, "focus", toggleFocus({ state, value: true }));
+    off(state.triggerElm, "blur", toggleFocus({ state, value: false }));
+    off(state.triggerElm, "click", toggleFocus({ state, value: false }));
+    off(state.triggerElm, "mouseenter", api2.show);
+    off(state.triggerElm, "mouseleave", api2.hide);
+    off(state.triggerElm, "click", api2.handleClick);
+    state.triggerElm = null;
+  }
+  if (state.dropdownElm) {
+    state.dropdownElm.removeEventListener("keydown", api2.handleItemKeyDown, true);
+    off(state.dropdownElm, "mouseenter", api2.show);
+    off(state.dropdownElm, "mouseleave", api2.hide);
+    state.dropdownElm = null;
+  }
+};
+const clickOutside$2 = ({ props: props2, api: api2 }) => (disabled) => {
+  if (props2.hideOnClick) {
+    disabled ? api2.show() : api2.hide();
+  }
+};
+const api$c = ["state", "handleMainButtonClick", "hide", "show", "initDomOperation", "handleClick", "clickOutside"];
+const renderless$c = (props2, { reactive: reactive2, watch: watch2, provide: provide5, onMounted, computed }, { emit, parent, broadcast, vm, nextTick: nextTick2, mode, designConfig }) => {
+  const api2 = {};
+  const state = reactive2({
+    visible: false,
+    timeout: null,
+    focusing: false,
+    menuItems: [],
+    menuItemsArray: [],
+    triggerElm: null,
+    dropdownElm: null,
+    listId: `dropdown-menu-${guid()}`,
+    showIcon: props2.showIcon,
+    showSelfIcon: props2.showSelfIcon,
+    designConfig,
+    trigger: computed(() => {
+      var _a;
+      return props2.trigger || ((_a = designConfig == null ? void 0 : designConfig.props) == null ? void 0 : _a.trigger) || "hover";
+    })
+  });
+  provide5("dropdownVm", vm);
+  Object.assign(api2, {
+    state,
+    watchVisible: watchVisible({ broadcast, emit, nextTick: nextTick2 }),
+    watchFocusing: watchFocusing(parent),
+    show: show({ props: props2, state }),
+    hide: hide({ api: api2, props: props2, state }),
+    mounted: mounted$1({ api: api2, vm, state, broadcast }),
+    handleClick: handleClick$3({ api: api2, props: props2, state, emit }),
+    handleTriggerKeyDown: handleTriggerKeyDown({ api: api2, state }),
+    handleItemKeyDown: handleItemKeyDown({ api: api2, props: props2, state }),
+    resetTabindex: resetTabindex(api2),
+    removeTabindex: removeTabindex(state),
+    initAria: initAria({ state, props: props2 }),
+    initEvent: initEvent({ api: api2, props: props2, state, vm, mode }),
+    handleMenuItemClick: handleMenuItemClick$1({ props: props2, state, emit }),
+    handleMainButtonClick: handleMainButtonClick({ api: api2, emit }),
+    triggerElmFocus: triggerElmFocus(state),
+    initDomOperation: initDomOperation({ api: api2, state, vm }),
+    beforeDistory: beforeDistory({ api: api2, state }),
+    clickOutside: clickOutside$2({ state, props: props2, api: api2 })
+  });
+  watch2(() => state.visible, api2.watchVisible);
+  watch2(() => state.focusing, api2.watchFocusing);
+  onMounted(api2.mounted);
+  return api2;
+};
+const handleChange = ({ emit, state }) => () => {
+  if (!state.disabled) {
+    emit("change", state.value);
+  }
+};
+const handleClick$2 = ({ emit, props: props2, state }) => (node) => {
+  if (!state.disabled && !node.disabled) {
+    state.value = node[props2.valueField];
+    emit("update:modelValue", state.value);
+  }
+};
+const moreNodeClick = ({ emit, props: props2, state }) => (node) => {
+  if (!state.disabled) {
+    const index3 = state.moreData.indexOf(node);
+    state.moreData.splice(index3, 1, state.buttonData[state.buttonData.length - 1]);
+    state.buttonData.splice(state.buttonData.length - 1, 1, node);
+    state.value = node[props2.valueField];
+    emit("update:modelValue", state.value);
+  }
+};
+const getItemClass = ({ props: props2, state }) => (node) => {
+  if (state.disabled || node.disabled) {
+    return { disabled: true };
+  }
+  return props2.plain ? { plain: props2.plain } : {};
+};
+const api$b = ["state", "handleClick", "moreNodeClick", "handleChange", "getItemClass"];
+const renderless$b = (props2, { computed, reactive: reactive2, watch: watch2, inject: inject2 }, { emit, parent }) => {
+  var _a, _b;
+  parent.tinyForm = parent.tinyForm || inject2("form", null);
+  const state = reactive2({
+    value: props2.modelValue,
+    buttonData: ((_a = props2.data) == null ? void 0 : _a.slice(0, props2.showMore)) || [],
+    moreData: ((_b = props2.data) == null ? void 0 : _b.slice(props2.showMore, props2.data.length)) || [],
+    formDisabled: computed(() => (parent.tinyForm || {}).disabled),
+    disabled: computed(() => props2.disabled || state.formDisabled)
+  });
+  watch2(
+    () => props2.modelValue,
+    (value) => {
+      if (!state.disabled && state.value !== value) {
+        state.value = value;
+      }
+    },
+    { immediate: true }
+  );
+  watch2(
+    () => state.value,
+    () => api2.handleChange()
+  );
+  const api2 = {
+    state,
+    handleClick: handleClick$2({ emit, props: props2, state }),
+    moreNodeClick: moreNodeClick({ emit, props: props2, state }),
+    handleChange: handleChange({ emit, state }),
+    getItemClass: getItemClass({ props: props2, state })
+  };
+  return api2;
+};
+function _createForOfIteratorHelperLoose$j(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$j(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$j(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$j(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$j(o, minLen);
+}
+function _arrayLikeToArray$j(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$j = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$j(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$u = defineComponent({
+  emits: ["change", "edit", "update:modelValue"],
+  props: [].concat(props, ["size", "data", "plain", "modelValue", "disabled", "valueField", "textField", "showMore", "showEdit", "border"]),
+  components: {
+    TinyPopover: Popover,
+    TinyButton: Button$1,
+    IconPopup: index$y(),
+    IconWriting: index$K()
+  },
+  setup: function setup$1$1(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$b,
+      api: api$b
+    });
+  }
+});
+var _hoisted_1$d = {
+  key: 0,
+  class: "tiny-group-item"
+};
+var _hoisted_2$a = ["tabindex", "onClick"];
+var _hoisted_3$8 = {
+  key: 2
+};
+var _hoisted_4$7 = {
+  key: 1,
+  class: "tiny-group-item show-more"
+};
+var _hoisted_5$7 = {
+  key: 2
+};
+var _hoisted_6$4 = {
+  key: 0,
+  class: "tiny-group-item__more"
+};
+var _hoisted_7$3 = {
+  class: "more-list"
+};
+var _hoisted_8$2 = ["onClick"];
+var _hoisted_9$2 = {
+  key: 1,
+  class: "tiny-group-item__edit"
+};
+var _hoisted_10$2 = {
+  key: 1,
+  class: "tiny-button-group--empty"
+};
+function _sfc_render$k(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_icon_popup = resolveComponent("icon-popup");
+  var _component_tiny_popover = resolveComponent("tiny-popover");
+  var _component_icon_writing = resolveComponent("icon-writing");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-button-group", [_ctx.size ? "tiny-button-group--" + _ctx.size : "", _ctx.border ? "" : "tiny-button-group--borderless"]])
+    },
+    [renderSlot(_ctx.$slots, "default", {}, function() {
+      return [_ctx.data.length > 0 ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        [!(_ctx.showMore && _ctx.showMore > 0) ? (openBlock(), createElementBlock("ul", _hoisted_1$d, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.data, function(node, index3) {
+            return openBlock(), createElementBlock(
+              "li",
+              {
+                key: index3,
+                class: normalizeClass({
+                  active: _ctx.state.value === node[_ctx.valueField]
+                })
+              },
+              [createBaseVNode("button", {
+                class: normalizeClass(_ctx.getItemClass(node)),
+                style: normalizeStyle({
+                  height: _ctx.size === "medium" ? "42px" : _ctx.size === "small" ? "32px" : _ctx.size === "mini" ? "24px" : "",
+                  "line-height": _ctx.size === "medium" ? "40px" : _ctx.size === "small" ? "30px" : _ctx.size === "mini" ? "22px" : ""
+                }),
+                type: "button",
+                tabindex: _ctx.getItemClass(node).disabled ? "-1" : "0",
+                onClick: function onClick($event) {
+                  return _ctx.handleClick(node);
+                }
+              }, toDisplayString(node[_ctx.textField]), 15, _hoisted_2$a), node.sup ? (openBlock(), createElementBlock(
+                "span",
+                {
+                  key: 0,
+                  class: normalizeClass(["tiny-group-item__sup", {
+                    "tiny-group-item__sup-text": !node.sup.slot && !node.sup.icon && node.sup.text,
+                    "tiny-group-item__sup-icon": !node.sup.slot && node.sup.icon
+                  }, typeof node.sup.class === "string" ? node.sup.class : ""].concat(Array.isArray(node.sup.class) ? node.sup.class : []))
+                },
+                [node.sup.slot ? renderSlot(_ctx.$slots, node.sup.slot, {
+                  key: 0,
+                  sup: node.sup
+                }) : node.sup.icon ? (openBlock(), createBlock(resolveDynamicComponent(node.sup.icon), {
+                  key: 1
+                })) : node.sup.text ? (openBlock(), createElementBlock(
+                  "span",
+                  _hoisted_3$8,
+                  toDisplayString(node.sup.text),
+                  1
+                  /* TEXT */
+                )) : createCommentVNode("v-if", true)],
+                2
+                /* CLASS */
+              )) : createCommentVNode("v-if", true)],
+              2
+              /* CLASS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))])) : (openBlock(), createElementBlock("ul", _hoisted_4$7, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.buttonData, function(node, index3) {
+            return openBlock(), createElementBlock(
+              "li",
+              {
+                key: index3,
+                class: normalizeClass({
+                  active: _ctx.state.value === node[_ctx.valueField]
+                })
+              },
+              [createVNode(_component_tiny_button, {
+                class: normalizeClass(_ctx.getItemClass(node)),
+                onClick: function onClick($event) {
+                  return _ctx.handleClick(node);
+                }
+              }, {
+                default: withCtx(function() {
+                  return [createTextVNode(
+                    toDisplayString(node[_ctx.textField]),
+                    1
+                    /* TEXT */
+                  )];
+                }),
+                _: 2
+                /* DYNAMIC */
+              }, 1032, ["class", "onClick"]), node.sup ? (openBlock(), createElementBlock(
+                "span",
+                {
+                  key: 0,
+                  class: normalizeClass(["tiny-group-item__sup", {
+                    "tiny-group-item__sup-text": !node.sup.slot && !node.sup.icon && node.sup.text,
+                    "tiny-group-item__sup-icon": !node.sup.slot && node.sup.icon
+                  }, typeof node.sup.class === "string" ? node.sup.class : ""].concat(Array.isArray(node.sup.class) ? node.sup.class : []))
+                },
+                [node.sup.slot ? renderSlot(_ctx.$slots, node.sup.slot, {
+                  key: 0,
+                  sup: node.sup
+                }) : node.sup.icon ? (openBlock(), createBlock(resolveDynamicComponent(node.sup.icon), {
+                  key: 1
+                })) : node.sup.text ? (openBlock(), createElementBlock(
+                  "span",
+                  _hoisted_5$7,
+                  toDisplayString(node.sup.text),
+                  1
+                  /* TEXT */
+                )) : createCommentVNode("v-if", true)],
+                2
+                /* CLASS */
+              )) : createCommentVNode("v-if", true)],
+              2
+              /* CLASS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        )), _ctx.data.length > _ctx.showMore ? (openBlock(), createElementBlock("li", _hoisted_6$4, [createVNode(_component_tiny_popover, {
+          "visible-arrow": false,
+          width: "200",
+          "popper-class": "tiny-group-item__more-popover"
+        }, {
+          reference: withCtx(function() {
+            return [createVNode(_component_tiny_button, {
+              class: "more-button"
+            }, {
+              default: withCtx(function() {
+                return [createVNode(_component_icon_popup)];
+              }),
+              _: 1
+              /* STABLE */
+            })];
+          }),
+          default: withCtx(function() {
+            return [createBaseVNode("ul", _hoisted_7$3, [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.moreData, function(moreNode, index3) {
+                return openBlock(), createElementBlock("li", {
+                  key: index3,
+                  class: normalizeClass({
+                    active: _ctx.state.value === moreNode[_ctx.valueField],
+                    "more-item": true
+                  }),
+                  onClick: function onClick($event) {
+                    return _ctx.moreNodeClick(moreNode);
+                  }
+                }, toDisplayString(moreNode[_ctx.textField]), 11, _hoisted_8$2);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))])];
+          }),
+          _: 1
+          /* STABLE */
+        })])) : createCommentVNode("v-if", true), _ctx.showEdit ? (openBlock(), createElementBlock("li", _hoisted_9$2, [createVNode(_component_tiny_button, {
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx.$emit("edit");
+          }),
+          class: "edit-button"
+        }, {
+          default: withCtx(function() {
+            return [createVNode(_component_icon_writing)];
+          }),
+          _: 1
+          /* STABLE */
+        })])) : createCommentVNode("v-if", true)]))],
+        64
+        /* STABLE_FRAGMENT */
+      )) : (openBlock(), createElementBlock("span", _hoisted_10$2, " 暂无数据 "))];
+    })],
+    2
+    /* CLASS */
+  );
+}
+var pc$7 = /* @__PURE__ */ _export_sfc$j(_sfc_main$u, [["render", _sfc_render$k]]);
+const index$g = "";
+function _extends$h() {
+  _extends$h = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$h.apply(this, arguments);
+}
+var template$b = function template2(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$7;
+};
+var buttonGroupProps = _extends$h({}, $props, {
+  size: String,
+  data: {
+    type: Array,
+    default: function _default() {
+      return [];
+    }
+  },
+  plain: Boolean,
+  modelValue: [String, Number],
+  disabled: Boolean,
+  valueField: {
+    type: String,
+    default: "value"
+  },
+  textField: {
+    type: String,
+    default: "text"
+  },
+  showMore: Number,
+  showEdit: {
+    type: Boolean,
+    default: false
+  },
+  border: {
+    type: Boolean,
+    default: true
+  }
+});
+var ButtonGroup = defineComponent({
+  name: $prefix + "ButtonGroup",
+  provide: function provide() {
+    return {
+      buttonGroup: this
+    };
+  },
+  props: buttonGroupProps,
+  setup: function setup(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$b
+    });
+  }
+});
+var version$c = "3.16.0";
+ButtonGroup.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+ButtonGroup.install = function(Vue) {
+  Vue.component(ButtonGroup.name, ButtonGroup);
+};
+ButtonGroup.version = version$c;
+const toggleItem = (state) => (active, item) => {
+  if (item.disabled) {
+    return;
+  }
+  if (item.type === "sort") {
+    if (!item.modelValue || item.modelValue === "desc") {
+      item.state.sort = "asc";
+      item.$emit("update:modelValue", "asc");
+      item.$emit("click", "asc");
+    } else {
+      item.state.sort = "desc";
+      item.$emit("update:modelValue", "desc");
+      item.$emit("click", "desc");
+    }
+  } else {
+    const singleton = state.children.length === 1 && item.state.showPopup;
+    state.children.forEach((item2, index3) => {
+      if (index3 === active && !singleton) {
+        item2.toggle(true);
+      } else if (item2.state.showPopup) {
+        item2.toggle(false, { immediate: true });
+      }
+    });
+  }
+};
+const updateOffset = ({ props: props2, state, vm }) => () => {
+  if (!vm.$refs.menu) {
+    return;
+  }
+  const rect = vm.$refs.menu.getBoundingClientRect();
+  if (props2.direction === "down") {
+    state.offset = rect.bottom;
+  } else {
+    state.offset = window.innerHeight - rect.top;
+  }
+};
+const clickOutside$1 = ({ props: props2, state }) => () => {
+  if (props2.closeOnClickOutside && props2.closeOnClickOverlay) {
+    state.children.forEach((item) => {
+      item.type !== "filter" && item.toggle(false);
+    });
+  }
+};
+const getScroller = (el, root) => {
+  const overflowScrollReg = /scroll|auto/i;
+  let node = el;
+  let getComputedStyle = window.getComputedStyle;
+  while (node && node.tagName !== "HTML" && node.nodeType === 1 && node !== root) {
+    const { overflowY } = getComputedStyle(node);
+    if (overflowScrollReg.test(overflowY)) {
+      if (node.tagName !== "BODY") {
+        return node;
+      }
+      const { overflowY: htmlOverflowY } = getComputedStyle(node.parentNode);
+      if (overflowScrollReg.test(htmlOverflowY)) {
+        return node;
+      }
+    }
+    node = node.parentNode;
+  }
+  return root || null;
+};
+const useVuePopper = ({
+  api: api2,
+  props: props2,
+  hooks,
+  instance,
+  state,
+  dropdownVm,
+  designConfig
+}) => {
+  var _a, _b;
+  const { nextTick: nextTick2, onBeforeUnmount: onBeforeUnmount2, onDeactivated: onDeactivated2, onMounted, reactive: reactive2, toRefs, watch: watch2 } = hooks;
+  const { emit, slots, vm, parent } = instance;
+  const designProps = {
+    placement: props2.placement || ((_a = designConfig == null ? void 0 : designConfig.props) == null ? void 0 : _a.placement) || "bottom-end",
+    visibleArrow: props2.visibleArrow || ((_b = designConfig == null ? void 0 : designConfig.props) == null ? void 0 : _b.visibleArrow) || false
+  };
+  const popper = vue_popper_default({
+    emit,
+    nextTick: nextTick2,
+    onBeforeUnmount: onBeforeUnmount2,
+    onDeactivated: onDeactivated2,
+    props: __spreadValues(__spreadValues({
+      popperOptions: { boundariesPadding: 0, gpuAcceleration: false },
+      offset: 0,
+      boundariesPadding: 5
+    }, props2), designProps),
+    reactive: reactive2,
+    vm,
+    slots,
+    toRefs,
+    watch: watch2
+  });
+  onMounted(() => {
+    if (!dropdownVm)
+      return;
+    dropdownVm.popperElm = popper.popperElm.value = vm.$el;
+    nextTick2(() => popper.referenceElm.value = dropdownVm.$el);
+    !props2.multiStage && dropdownVm.initDomOperation();
+    if (dropdownVm.inheritWidth) {
+      dropdownVm.popperElm.style.minWidth = dropdownVm.$el.clientWidth + "px";
+    }
+  });
+  onBeforeUnmount2(() => {
+    popper.destroyPopper("remove");
+    popper.popperElm = null;
+    popper.referenceElm = null;
+  });
+  api2.doDestroy = popper.doDestroy;
+  state.size = (dropdownVm == null ? void 0 : dropdownVm.size) || "";
+  state.showPopper = popper.showPopper.value;
+  parent.$on("updatePopper", () => {
+    if (state.showPopper) {
+      popper.updatePopper();
+    }
+  });
+  parent.$on("visible", (value) => {
+    state.showPopper = value;
+    popper.showPopper.value = value;
+  });
+  watch2(
+    () => props2.placement,
+    (value) => {
+      popper.currentPlacement.value = value;
+    }
+  );
+};
+const mounted = ({ api: api2, parent, state }) => () => {
+  parent.$on("menu-selected-index", (selectedIndex) => {
+    state.selectedIndex = selectedIndex;
+  });
+  parent.$on("menu-item-click", api2.handleMenuItemClick);
+  parent.$on("mouseenter-tips", (showContent, label) => {
+    state.label = label;
+    state.showContent = showContent;
+  });
+  parent.$on("mouseleave-tips", (showContent, label) => {
+    state.label = label;
+    state.showContent = showContent;
+  });
+};
+const handleMenuItemClick = ({ state, dispatch }) => ({ itemData, vm, label, showContent, disabled }) => {
+  state.label = label;
+  state.showContent = showContent;
+  const data8 = { itemData, vm, disabled };
+  dispatch("TinyDropdown", "current-item-click", data8);
+};
+const handleMouseenter = (emit) => ($event) => {
+  emit("mouseenter", $event);
+};
+const handleMouseleave = (emit) => ($event) => {
+  emit("mouseleave", $event);
+};
+const api$a = [
+  "state",
+  "toggleItem",
+  "updateOffset",
+  "clickOutside",
+  "doDestroy",
+  "handleMouseenter",
+  "handleMouseleave"
+];
+const renderless$a = (props2, hooks, instance) => {
+  const api2 = {};
+  const { reactive: reactive2, provide: provide5, onMounted, inject: inject2 } = hooks;
+  const { nextTick: nextTick2, mode, vm, parent, dispatch, emit, designConfig } = instance;
+  const state = reactive2({
+    offset: 0,
+    scroller: null,
+    children: [],
+    size: "",
+    showPopper: false,
+    label: "",
+    showContent: false,
+    selected: false,
+    selectedIndex: -1,
+    canvasHeight: inject2("change-size", null)
+  });
+  provide5("dropdownMenuVm", vm);
+  provide5("multiStage", props2.multiStage);
+  const dropdownVm = inject2("dropdownVm");
+  if (mode === "mobile") {
+    nextTick2(() => {
+      state.scroller = getScroller(vm.$refs.menu);
+    });
+  } else {
+    useVuePopper({ api: api2, hooks, props: props2, instance, state, dropdownVm, designConfig });
+  }
+  Object.assign(api2, {
+    state,
+    toggleItem: toggleItem(state),
+    clickOutside: clickOutside$1({ props: props2, state }),
+    updateOffset: updateOffset({ props: props2, state, vm }),
+    mounted: mounted({ api: api2, parent, state }),
+    handleMouseenter: handleMouseenter(emit),
+    handleMouseleave: handleMouseleave(emit),
+    handleMenuItemClick: handleMenuItemClick({ dispatch, state })
+  });
+  onMounted(api2.mounted);
+  return api2;
+};
+const getTitle = (props2) => () => {
+  if (props2.title) {
+    return props2.title;
+  }
+  const match = props2.options.filter((option) => option.value === props2.modelValue);
+  return match.length ? match[0].text : "";
+};
+const bindScroll = ({ api: api2, parent }) => (value) => {
+  const action = value ? on : off;
+  action(parent.state.scroller, "scroll", api2.onScroll, true);
+};
+const toggle = ({ parent, props: props2, state }) => (show3) => {
+  if (show3 === state.showPopup) {
+    return;
+  }
+  state.transition = !props2.options.immediate;
+  state.showPopup = show3;
+  if (show3) {
+    parent.updateOffset();
+    state.showWrapper = true;
+  }
+};
+const onScroll = (parent) => () => parent.updateOffset();
+const clickWrapper = (parent) => (event) => parent.$el && event.stopPropagation();
+const clickItem = ({ emit, props: props2, state }) => (value) => {
+  state.showPopup = false;
+  if (value !== props2.modelValue) {
+    emit("update:modelValue", value);
+    emit("change", value);
+  }
+};
+const getItemStyle = ({ parent, state }) => () => ({
+  zIndex: parent.zIndex,
+  top: parent.direction === "down" ? state.offset + "px" : "",
+  bottom: parent.direction !== "down" ? state.offset + "px" : ""
+});
+const getOptionStyle = (state) => (tag, tags) => {
+  if (tags.includes(tag.value)) {
+    return {
+      color: state.activeColor ? state.activeColor : "#f36f64",
+      border: `1px solid ${state.activeColor ? state.activeColor : "#f36f64"}`
+    };
+  } else {
+    return {
+      color: "#333"
+    };
+  }
+};
+const closed$1 = ({ emit, state }) => () => {
+  state.showWrapper = false;
+  emit("closed");
+};
+const open$1 = (emit) => () => emit("open");
+const opened$1 = (emit) => () => emit("opened");
+const close$2 = (emit) => () => emit("close");
+const tagClick = ({ emit, props: props2 }) => (key, tag, event) => {
+  event.preventDefault();
+  event.stopPropagation();
+  const filterValue = props2.modelValue.slice();
+  const value = filterValue[key];
+  const index3 = value.indexOf(tag.value);
+  if (index3 === -1) {
+    value.push(tag.value);
+  } else {
+    value.splice(index3, 1);
+  }
+  filterValue[key] = value;
+  emit("update:modelValue", filterValue);
+};
+const confirm = ({ emit, props: props2, state }) => () => {
+  state.showPopup = false;
+  emit("confirm", props2.modelValue);
+};
+const reset = ({ emit, props: props2 }) => () => {
+  const len = props2.modelValue.length;
+  const array = [];
+  for (let i = 0; i < len; i++) {
+    array.push([]);
+  }
+  emit("update:modelValue", array);
+  emit("reset", array);
+};
+const clickOutside = (parent) => () => {
+  if (parent.closeOnClickOutside && parent.closeOnClickOverlay) {
+    parent.state.children.forEach((item) => {
+      item.toggle(false);
+    });
+  }
+};
+const handleClick$1 = ({
+  state,
+  props: props2,
+  dispatch,
+  vm,
+  emit
+}) => (event) => {
+  event.stopPropagation();
+  state.currentIndex = `${props2.currentIndex}`;
+  const data8 = { itemData: props2.itemData, vm, disabled: props2.disabled };
+  if (!props2.disabled) {
+    emit("item-click", data8);
+  }
+  dispatch("TinyDropdown", "menu-item-click", data8);
+  dispatch("TinyDropdown", "is-disabled", [props2.disabled]);
+  dispatch("TinyDropdown", "selected-index", [state.currentIndex]);
+};
+const computedGetIcon = ({ constants: constants2, designConfig }) => (name = "leftWardArrow") => {
+  return (designConfig == null ? void 0 : designConfig.icons[name]) || (constants2 == null ? void 0 : constants2.ICON_MAP[name]);
+};
+const getTip = ({ props: props2, vm }) => {
+  if (props2.tip && typeof props2.tip === "function") {
+    return props2.tip({ itemData: props2.itemData, vm });
+  }
+  return props2.tip || "";
+};
+const api$9 = [
+  "state",
+  "confirm",
+  "clickOutside",
+  "getOptionStyle",
+  "reset",
+  "tagClick",
+  "clickItem",
+  "clickWrapper",
+  "toggle",
+  "open",
+  "opened",
+  "close",
+  "closed",
+  "handleClick",
+  "getTip"
+];
+const initState$1 = ({ reactive: reactive2, computed, api: api2, props: props2, parent, dropdownMenuVm }) => {
+  const state = reactive2({
+    checkedStatus: dropdownMenuVm == null ? void 0 : dropdownMenuVm.checkedStatus,
+    sort: props2.modelValue,
+    transition: true,
+    getTitle: false,
+    showWrapper: false,
+    showPopup: false,
+    duration: parent.duration,
+    overlay: computed(() => parent.overlay),
+    offset: computed(() => parent.state.offset),
+    direction: computed(() => parent.direction),
+    displayTitle: computed(() => api2.getTitle()),
+    itemStyle: computed(() => api2.getItemStyle()),
+    activeColor: computed(() => parent.activeColor),
+    closeOnClickOverlay: computed(() => parent.closeOnClickOverlay),
+    dropdownMenuVm,
+    currentIndex: props2.currentIndex,
+    textField: (dropdownMenuVm == null ? void 0 : dropdownMenuVm.textField) || props2.textField,
+    popperClass: (dropdownMenuVm == null ? void 0 : dropdownMenuVm.popperClass) || "",
+    getIcon: computed(() => api2.computedGetIcon()),
+    children: []
+  });
+  return state;
+};
+const initApi$1 = ({ api: api2, state, emit, props: props2, parent, dispatch, vm, constants: constants2, designConfig }) => {
+  Object.assign(api2, {
+    state,
+    open: open$1(emit),
+    opened: opened$1(emit),
+    close: close$2(emit),
+    getTitle: getTitle(props2),
+    onScroll: onScroll(parent),
+    reset: reset({ emit, props: props2 }),
+    closed: closed$1({ emit, state }),
+    clickWrapper: clickWrapper(parent),
+    clickOutside: clickOutside(parent),
+    tagClick: tagClick({ emit, props: props2 }),
+    getOptionStyle: getOptionStyle(state),
+    toggle: toggle({ parent, props: props2, state }),
+    clickItem: clickItem({ emit, props: props2, state }),
+    getItemStyle: getItemStyle({ parent, state }),
+    bindScroll: bindScroll({ api: api2, parent }),
+    confirm: confirm({ emit, props: props2, state }),
+    handleClick: handleClick$1({ state, props: props2, dispatch, vm, emit }),
+    computedGetIcon: computedGetIcon({ constants: constants2, designConfig }),
+    getTip: getTip({ props: props2, vm })
+  });
+};
+const renderless$9 = (props2, { computed, onMounted, reactive: reactive2, watch: watch2, inject: inject2 }, { parent, emit, vm, dispatch, constants: constants2, designConfig }) => {
+  const api2 = {};
+  const dropdownMenuVm = inject2("dropdownMenuVm", null);
+  const state = initState$1({ reactive: reactive2, computed, api: api2, props: props2, parent, dropdownMenuVm });
+  initApi$1({ api: api2, state, emit, props: props2, parent, dispatch, vm, constants: constants2, designConfig });
+  watch2(() => state.showPopup, api2.bindScroll);
+  onMounted(() => {
+    const realParent = parent.$parent.$parent || {};
+    if (realParent.state && realParent.state.children) {
+      realParent.state.children.push(vm);
+    } else {
+      if (dropdownMenuVm) {
+        dropdownMenuVm.state.children = [...dropdownMenuVm.state.children, vm];
+      }
+    }
+    if (props2.disabled) {
+      state.checkedStatus = false;
+    }
+  });
+  return api2;
+};
+const index$f = "";
+function _createForOfIteratorHelperLoose$i(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$i(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$i(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$i(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$i(o, minLen);
+}
+function _arrayLikeToArray$i(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$i = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$i(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$t = defineComponent({
+  name: $prefix + "DropdownItem",
+  componentName: $prefix + "DropdownItem",
+  emits: ["item-click", "update:modelValue", "change", "closed", "open", "opened", "close", "confirm", "reset"],
+  props: [].concat(props, [
+    "disabled",
+    "divided",
+    "icon",
+    "itemData",
+    "selected",
+    "currentIndex",
+    "title",
+    "titleClass",
+    "options",
+    "type",
+    "label",
+    "selectedField",
+    "multiStage",
+    // tiny新增
+    "appendToBody",
+    "textField",
+    "tip",
+    "tipPosition"
+  ]),
+  components: {
+    IconDeltaLeft: index$G(),
+    TinyTooltip: Tooltip$1
+  },
+  setup: function setup$1$12(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$9,
+      api: api$9
+    });
+  }
+});
+var _hoisted_1$c = ["aria-disabled", "tabindex"];
+var _hoisted_2$9 = {
+  class: "tiny-dropdown-item__wrap"
+};
+var _hoisted_3$7 = {
+  key: 0,
+  class: "tiny-dropdown-item__expand tiny-dropdown-menu__item-expand"
+};
+var _hoisted_4$6 = {
+  class: "tiny-dropdown-item__content tiny-dropdown-menu__item-content"
+};
+var _hoisted_5$6 = {
+  class: "tiny-dropdown-item__label"
+};
+function _sfc_render$j(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_dropdown_item = resolveComponent("tiny-dropdown-item");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  return openBlock(), createBlock(_component_tiny_tooltip, {
+    content: _ctx.getTip,
+    placement: _ctx.tipPosition
+  }, {
+    default: withCtx(function() {
+      return [createBaseVNode("li", {
+        class: normalizeClass(["tiny-dropdown-item tiny-dropdown-menu__item", {
+          "is-disabled": _ctx.disabled,
+          "tiny-dropdown-item--divided tiny-dropdown-menu__item--divided": _ctx.divided,
+          "tiny-dropdown-item--check-status": _ctx.state.checkedStatus && _ctx.selected,
+          "has-children": _ctx.itemData.children && _ctx.itemData.children.length
+        }]),
+        ref: "dropdownItem",
+        onClick: _cache[0] || (_cache[0] = withModifiers(function() {
+          return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
+        }, ["stop"])),
+        onMousedown: _cache[1] || (_cache[1] = withModifiers(function() {
+        }, ["stop"])),
+        "aria-disabled": _ctx.disabled,
+        tabindex: _ctx.disabled ? null : -1
+      }, [createBaseVNode("div", _hoisted_2$9, [_ctx.itemData.children && _ctx.itemData.children.length ? (openBlock(), createElementBlock("span", _hoisted_3$7, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.getIcon)))])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_4$6, [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
+        key: 0,
+        class: "tiny-svg-size"
+      })) : createCommentVNode("v-if", true), createBaseVNode("span", _hoisted_5$6, [renderSlot(_ctx.$slots, "default", {
+        itemData: _ctx.itemData
+      }, function() {
+        return [createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx.label),
+          1
+          /* TEXT */
+        )];
+      })])]), _ctx.itemData.children && _ctx.itemData.children.length ? (openBlock(), createElementBlock(
+        "ul",
+        {
+          key: 1,
+          class: normalizeClass(["tiny-dropdown-menu", "tiny-dropdown-item--child tiny-dropdown-menu__item--child", _ctx.state.popperClass])
+        },
+        [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.itemData.children, function(item, index3) {
+            return openBlock(), createBlock(_component_tiny_dropdown_item, {
+              key: index3,
+              label: item[_ctx.state.textField],
+              "item-data": item,
+              icon: item.icon,
+              disabled: item.disabled,
+              divided: item.divided,
+              tip: item.tip,
+              "tip-position": item.tipPosition
+            }, {
+              default: withCtx(function() {
+                return [renderSlot(_ctx.$slots, "default", {
+                  itemData: item
+                })];
+              }),
+              _: 2
+              /* DYNAMIC */
+            }, 1032, ["label", "item-data", "icon", "disabled", "divided", "tip", "tip-position"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))],
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true)])], 42, _hoisted_1$c)];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["content", "placement"]);
+}
+var pc$6 = /* @__PURE__ */ _export_sfc$i(_sfc_main$t, [["render", _sfc_render$j]]);
+const MIN_DISTANCE = 10;
+const getDirection = (x, y) => {
+  if (x > y && x > MIN_DISTANCE) {
+    return "horizontal";
+  }
+  if (y > x && y > MIN_DISTANCE) {
+    return "vertical";
+  }
+  return "";
+};
+const touchStart = (state) => (event) => {
+  resetTouchStatus(state);
+  state.startX = event.touches[0].clientX;
+  state.startY = event.touches[0].clientY;
+};
+const touchMove = (state) => (event) => {
+  const touch = event.touches[0];
+  state.deltaX = touch.clientX - state.startX;
+  state.deltaY = touch.clientY - state.startY;
+  state.offsetX = Math.abs(state.deltaX);
+  state.offsetY = Math.abs(state.deltaY);
+  state.direction = state.direction || getDirection(state.offsetX, state.offsetY);
+};
+const resetTouchStatus = (state) => {
+  state.direction = "";
+  state.deltaX = 0;
+  state.deltaY = 0;
+  state.offsetX = 0;
+  state.offsetY = 0;
+};
+const getStyle$1 = (props2) => () => {
+  const style = __spreadValues({}, props2.popupStyle);
+  if (!isNull$1(props2.duration)) {
+    const key = props2.position === "center" ? "animationDuration" : "transitionDuration";
+    style[key] = `${props2.duration}s`;
+  }
+  return style;
+};
+const watchValue = (api2) => (value) => {
+  const type = value ? "open" : "close";
+  api2[type]();
+};
+const open = ({ api: api2, constants: constants2, emit, props: props2, state }) => () => {
+  if (state.opened) {
+    return;
+  }
+  if (props2.zIndex !== void 0) {
+    state.context.zIndex = props2.zIndex;
+  }
+  api2.renderOverlay();
+  state.opened = true;
+  emit("open");
+  if (props2.lockScroll) {
+    on(document, "touchstart", touchStart);
+    on(document, "touchmove", api2.onTouchMove);
+    if (!state.context.lockCount) {
+      document.body.classList.add(constants2.OVERFLOWHIDDEN);
+    }
+    state.context.lockCount++;
+  }
+};
+const close$1 = ({ api: api2, constants: constants2, emit, props: props2, state }) => () => {
+  if (!state.opened) {
+    return;
+  }
+  if (props2.lockScroll) {
+    state.context.lockCount--;
+    off(document, "touchstart", touchStart);
+    off(document, "touchmove", api2.onTouchMove);
+    if (!state.context.lockCount) {
+      document.body.classList.remove(constants2.OVERFLOWHIDDEN);
+    }
+  }
+  state.opened = false;
+  emit("update:modelValue", false);
+  emit("close");
+};
+const onTouchMove = ({ vm, state }) => (event) => {
+  const direction = state.deltaY > 0 ? "10" : "01";
+  const el = getScroller()(event.target, vm.$refs.$el);
+  const { scrollHeight, offsetHeight, scrollTop } = el;
+  let status = "11";
+  if (scrollTop === 0) {
+    status = offsetHeight >= scrollHeight ? "00" : "01";
+  } else if (scrollTop + offsetHeight >= scrollHeight) {
+    status = "10";
+  }
+  if (status !== "11" && state.direction === "vertical" && !(parseInt(status, 2) & parseInt(direction, 2))) {
+    event.preventDefault();
+  }
+};
+const renderOverlay = ({ api: api2, nextTick: nextTick2, props: props2, state }) => () => {
+  if (!props2.modelValue) {
+    return;
+  }
+  nextTick2(() => {
+    api2.updateZIndex(props2.overlay ? 1 : 0);
+    if (props2.overlay) {
+      state.zIndex = state.context.zIndex++;
+    }
+  });
+};
+const updateZIndex = ({ vm, state }) => (value = 0) => vm.$refs.popup.style.zIndex = ++state.context.zIndex + value;
+const clickOverlay = ({ api: api2, props: props2, emit }) => () => {
+  if (props2.closeOnClickOverlay) {
+    api2.close();
+    emit("click-overlay");
+  }
+};
+const closed = (emit) => () => emit("closed");
+const opened = (emit) => () => emit("opened");
+const api$8 = ["state", "open", "close", "clickOverlay", "onTouchMove", "opened", "closed"];
+const initState = ({ reactive: reactive2, computed, props: props2, api: api2 }) => {
+  const state = reactive2({
+    transitionName: computed(
+      () => props2.transition || props2.position === "center" ? "tiny-fade" : `tiny-popup-slide-${props2.position}`
+    ),
+    style: computed(() => api2.getStyle()),
+    inited: computed(() => state.inited || props2.modelValue),
+    opened: false,
+    startX: 0,
+    startY: 0,
+    deltaX: 0,
+    deltaY: 0,
+    offsetX: 0,
+    offsetY: 0,
+    direction: "",
+    shouldRender: computed(() => state.inited || props2.lazyRender),
+    context: { zIndex: 2e3, lockCount: 0, stack: [] },
+    zIndex: props2.zIndex,
+    overlayStyle: computed(() => __spreadValues({
+      zIndex: state.zIndex
+    }, props2.overlayStyle))
+  });
+  return state;
+};
+const initApi = ({ api: api2, props: props2, state, vm, emit, nextTick: nextTick2, constants: constants2 }) => {
+  Object.assign(api2, {
+    state,
+    opened: opened(emit),
+    closed: closed(emit),
+    getStyle: getStyle$1(props2),
+    watchValue: watchValue(api2),
+    updateZIndex: updateZIndex({ vm, state }),
+    clickOverlay: clickOverlay({ api: api2, emit, props: props2 }),
+    renderOverlay: renderOverlay({ api: api2, nextTick: nextTick2, props: props2, state }),
+    onTouchMove: onTouchMove({ vm, state }),
+    open: open({ api: api2, constants: constants2, emit, props: props2, state }),
+    close: close$1({ api: api2, constants: constants2, emit, props: props2, state })
+  });
+};
+const renderless$8 = (props2, { computed, onMounted, reactive: reactive2, watch: watch2, nextTick: nextTick2 }, { constants: constants2, vm, emit }) => {
+  const api2 = {};
+  const state = initState({ reactive: reactive2, computed, props: props2, api: api2 });
+  initApi({ api: api2, props: props2, state, vm, emit, nextTick: nextTick2, constants: constants2 });
+  watch2(() => props2.modelValue, api2.watchValue, { immediate: true });
+  onMounted(() => {
+    props2.modelValue && api2.open();
+  });
+  return api2;
+};
+const index$e = "";
+function _createForOfIteratorHelperLoose$h(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$h(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$h(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$h(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$h(o, minLen);
+}
+function _arrayLikeToArray$h(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$h = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$h(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$g() {
+  _extends$g = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$g.apply(this, arguments);
+}
+var $constants$2 = {
+  OVERFLOWHIDDEN: "tiny-overflow-hidde"
+};
+var _sfc_main$s = defineComponent({
+  name: $prefix + "Popup",
+  emits: ["open", "close", "update:modelValue", "click-overlay", "closed", "opened", "click"],
+  components: {
+    IconClose: index$L()
+  },
+  props: _extends$g({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default2() {
+        return $constants$2;
+      }
+    },
+    closeIcon: {
+      type: String,
+      default: "cross"
+    },
+    closeIconPosition: {
+      type: String,
+      default: "top-right"
+    },
+    closeOnClickOverlay: {
+      type: Boolean,
+      default: true
+    },
+    closeable: {
+      type: Boolean,
+      default: true
+    },
+    duration: [Number, String],
+    lazyRender: {
+      type: Boolean,
+      default: true
+    },
+    lockScroll: {
+      type: Boolean,
+      default: true
+    },
+    modelValue: Boolean,
+    overlay: {
+      type: Boolean,
+      default: true
+    },
+    overlayClass: String,
+    overlayStyle: Object,
+    popupClass: String,
+    popupStyle: Object,
+    position: {
+      type: String,
+      default: "center"
+    },
+    round: Boolean,
+    safeAreaInsetBottom: Boolean,
+    transition: String,
+    zIndex: [Number, String]
+  }),
+  setup: function setup$1$13(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$8,
+      mono: true
+    });
+  }
+});
+function _sfc_render$i(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createElementBlock("div", null, [createVNode(Transition, {
+    name: _ctx.state.transitionName,
+    onAfterEnter: _ctx.opened,
+    onAfterLeave: _ctx.closed,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          ref: "popup",
+          class: normalizeClass(["tiny-popup", [_ctx.round ? "tiny-popup--round" : "", _ctx.position ? "tiny-popup--" + _ctx.position : "", _ctx.popupClass]]),
+          style: normalizeStyle(_ctx.state.style),
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx.$emit("click");
+          })
+        },
+        [renderSlot(_ctx.$slots, "default"), _ctx.closeable ? (openBlock(), createBlock(_component_icon_close, {
+          key: 0,
+          class: "tiny-popup__close-icon tiny-popup__close-icon--top-right",
+          fill: "#c8c9cc",
+          tabindex: "0",
+          onClick: _ctx.close
+        }, null, 8, ["onClick"])) : createCommentVNode("v-if", true)],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.modelValue]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["name", "onAfterEnter", "onAfterLeave"]), createVNode(Transition, {
+    name: "tiny-fade",
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          style: normalizeStyle(_ctx.state.overlayStyle),
+          class: normalizeClass([_ctx.overlayClass, "tiny-overlay"]),
+          onClick: _cache[1] || (_cache[1] = function() {
+            return _ctx.clickOverlay && _ctx.clickOverlay.apply(_ctx, arguments);
+          })
+        },
+        [renderSlot(_ctx.$slots, "overlay")],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.opened && _ctx.overlay]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  })]);
+}
+var Popup = /* @__PURE__ */ _export_sfc$h(_sfc_main$s, [["render", _sfc_render$i]]);
+var version$b = "3.16.0";
+Popup.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Popup.install = function(Vue) {
+  Vue.component(Popup.name, Popup);
+};
+Popup.version = version$b;
+const index$d = "";
+function _createForOfIteratorHelperLoose$g(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$g(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$g(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$g(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$g(o, minLen);
+}
+function _arrayLikeToArray$g(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$g = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$g(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$r = defineComponent({
+  directives: directive$1({
+    Clickoutside: clickoutside_default
+  }),
+  props: [].concat(props, ["modelValue", "title", "disabled", "titleClass", "options", "icon", "type"]),
+  components: {
+    IconYes: index$M(),
+    TinyPopup: Popup,
+    TinyButton: Button$1
+  },
+  emits: ["update:modelValue", "open", "opened", "click", "change", "closed", "close", "reset", "confirm", "item-click"],
+  setup: function setup$1$14(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$9,
+      api: api$9
+    });
+  }
+});
+var _hoisted_1$b = {
+  key: 0,
+  class: "tiny-mobile-dropdown-item__options"
+};
+var _hoisted_2$8 = ["onClick"];
+var _hoisted_3$6 = {
+  class: "tiny-mobile-dropdown-item__option-icon"
+};
+var _hoisted_4$5 = {
+  class: "tiny-mobile-dropdown-item__option-title"
+};
+var _hoisted_5$5 = {
+  class: "tiny-mobile-dropdown-item__option-value"
+};
+var _hoisted_6$3 = {
+  key: 1,
+  class: "tiny-mobile-dropdown-item__filter"
+};
+var _hoisted_7$2 = {
+  class: "tiny-mobile-dropdown-item__filter-wrap"
+};
+var _hoisted_8$1 = {
+  class: "tiny-mobile-dropdown-item__filter-title"
+};
+var _hoisted_9$1 = ["onClick"];
+var _hoisted_10$1 = {
+  class: "tiny-mobile-dropdown-item__filter-operate"
+};
+function _sfc_render$h(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_yes = resolveComponent("icon-yes");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_popup = resolveComponent("tiny-popup");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    {
+      ref: "wrapper",
+      class: normalizeClass(["tiny-mobile-dropdown-item--" + _ctx.state.direction, "tiny-mobile-dropdown-item"]),
+      onClick: _cache[1] || (_cache[1] = function() {
+        return _ctx.clickWrapper && _ctx.clickWrapper.apply(_ctx, arguments);
+      }),
+      style: normalizeStyle(_ctx.state.itemStyle)
+    },
+    [createVNode(_component_tiny_popup, {
+      modelValue: _ctx.state.showPopup,
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx.state.showPopup = $event;
+      }),
+      "popup-class": "tiny-mobile-dropdown-item__content",
+      overlay: _ctx.state.overlay,
+      "close-on-click-overlay": _ctx.state.closeOnClickOverlay,
+      closeable: false,
+      position: _ctx.state.direction === "down" ? "top" : "bottom",
+      duration: _ctx.state.transition ? _ctx.state.duration : 0,
+      onOpen: _ctx.open,
+      onClose: _ctx.close,
+      onOpened: _ctx.opened,
+      onClosed: _ctx.closed
+    }, {
+      default: withCtx(function() {
+        return [renderSlot(_ctx.$slots, "default", {}, function() {
+          return [_ctx.type === "selection" ? (openBlock(), createElementBlock("div", _hoisted_1$b, [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.options, function(item, index3) {
+              return openBlock(), createElementBlock("div", {
+                class: normalizeClass(["tiny-mobile-dropdown-item__cell tiny-mobile-dropdown-item__option", item.value === _ctx.modelValue ? "is-active" : ""]),
+                key: index3,
+                tabindex: "0",
+                onClick: function onClick($event) {
+                  return _ctx.clickItem(item.value);
+                }
+              }, [createBaseVNode("div", _hoisted_3$6, [renderSlot(_ctx.$slots, "icon", {}, function() {
+                return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))];
+              })]), createBaseVNode("div", _hoisted_4$5, [renderSlot(_ctx.$slots, "title", {
+                titleData: item
+              }, function() {
+                return [createBaseVNode(
+                  "span",
+                  {
+                    style: normalizeStyle({
+                      color: item.value === _ctx.modelValue && _ctx.state.activeColor ? _ctx.state.activeColor : ""
+                    })
+                  },
+                  toDisplayString(item.text),
+                  5
+                  /* TEXT, STYLE */
+                )];
+              })]), createBaseVNode("div", _hoisted_5$5, [item.value === _ctx.modelValue ? (openBlock(), createBlock(_component_icon_yes, {
+                key: 0,
+                fill: _ctx.state.activeColor ? _ctx.state.activeColor : "#f36f64"
+              }, null, 8, ["fill"])) : createCommentVNode("v-if", true)])], 10, _hoisted_2$8);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))])) : createCommentVNode("v-if", true), _ctx.type === "filter" ? withDirectives((openBlock(), createElementBlock("div", _hoisted_6$3, [createBaseVNode("div", _hoisted_7$2, [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.options, function(item, key) {
+              return openBlock(), createElementBlock("div", {
+                key,
+                class: "tiny-mobile-dropdown-item__cell tiny-mobile-dropdown-item__filter-item"
+              }, [createBaseVNode(
+                "span",
+                _hoisted_8$1,
+                toDisplayString(item.title),
+                1
+                /* TEXT */
+              ), createBaseVNode("ul", null, [(openBlock(true), createElementBlock(
+                Fragment,
+                null,
+                renderList(_ctx.options.length === 0 ? item.data = [] : item.data, function(tag, tagkey) {
+                  return openBlock(), createElementBlock("li", {
+                    class: normalizeClass(["tiny-mobile-dropdown-item__filter-li", [_ctx.modelValue[key].indexOf(tag.value) > -1 ? "checked" : ""]]),
+                    style: normalizeStyle(_ctx.getOptionStyle(tag, _ctx.modelValue[key])),
+                    onClick: function onClick($event) {
+                      return _ctx.tagClick(key, tag, $event);
+                    },
+                    key: tagkey
+                  }, toDisplayString(tag.text), 15, _hoisted_9$1);
+                }),
+                128
+                /* KEYED_FRAGMENT */
+              ))])]);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))]), createBaseVNode("div", _hoisted_10$1, [createVNode(_component_tiny_button, {
+            onClick: _ctx.reset
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(" Reset ")];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["onClick"]), createVNode(_component_tiny_button, {
+            type: "primary",
+            onClick: _ctx.confirm
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(" OK ")];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["onClick"])])])), [[_directive_clickoutside, _ctx.clickOutside]]) : createCommentVNode("v-if", true)];
+        })];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["modelValue", "overlay", "close-on-click-overlay", "position", "duration", "onOpen", "onClose", "onOpened", "onClosed"])],
+    6
+    /* CLASS, STYLE */
+  )), [[vShow, _ctx.state.showWrapper]]);
+}
+var mobile$4 = /* @__PURE__ */ _export_sfc$g(_sfc_main$r, [["render", _sfc_render$h]]);
+const api$7 = ["dataStore", "handleClick", "dataStore", "mouseEnter", "mouseLeave"];
+const renderless$7 = (props2, { reactive: reactive2, inject: inject2 }, { dispatch, vm }) => {
+  const api2 = {};
+  const dropdownMenuVm = inject2("dropdownMenuVm", null);
+  let dataStore = reactive2({
+    checkedStatus: dropdownMenuVm == null ? void 0 : dropdownMenuVm.checkedStatus,
+    multiStageMenu: "",
+    multiStage: inject2("multiStage", null),
+    itemData: "",
+    itemLabel: "",
+    showContent: false,
+    dropdownMenuVm,
+    currentIndex: props2.currentIndex,
+    level: props2.level
+  });
+  const handleClick3 = ({ dataStore: dataStore2, props: props22, vm: vm2 }) => () => {
+    if (props22.disabled) {
+      dataStore2.checkedStatus = false;
+    }
+    dataStore2.itemData = props22.itemData;
+    dataStore2.itemLabel = "";
+    dataStore2.showContent = false;
+    if (props22.level === "2") {
+      dataStore2.currentIndex = `${props22.level}-${props22.currentIndex}`;
+    } else {
+      dataStore2.currentIndex = `${props22.currentIndex}`;
+    }
+    dispatch("TinyDropdown", "selected-index", [dataStore2.currentIndex]);
+    const data8 = {
+      itemData: dataStore2.itemData,
+      vm: vm2,
+      label: dataStore2.itemLabel,
+      showContent: dataStore2.showContent,
+      disabled: props22.disabled
+    };
+    dispatch("TinyDropdownMenu", "menu-item-click", data8);
+    dispatch("TinyDropdown", "is-disabled", [props22.disabled]);
+  };
+  const mouseLeave = ({ dataStore: dataStore2 }) => () => {
+    dataStore2.itemLabel = "";
+    dataStore2.showContent = false;
+    dispatch("TinyDropdownMenu", "mouseleave-tips", [dataStore2.showContent, dataStore2.itemLabel]);
+  };
+  const mouseEnter = ({ vm: vm2, dataStore: dataStore2, props: props22 }) => (e) => {
+    const dom = e.target;
+    const text = dom.textContent;
+    const font = window.getComputedStyle(dom).font;
+    const rect = dom.getBoundingClientRect();
+    const res = omitText(text, font, rect.width);
+    const tooltip = dataStore2.dropdownMenuVm.$refs.tooltip;
+    if (res.o) {
+      tooltip.state.referenceElm = dom;
+      tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+      tooltip.doDestroy();
+      dataStore2.itemLabel = props22.tooltipContent || text;
+      if (vm2.$refs.level.scrollWidth > vm2.$refs.level.offsetWidth) {
+        dataStore2.showContent = true;
+      }
+      setTimeout(tooltip.updatePopper, 20);
+    }
+    dispatch("TinyDropdownMenu", "mouseenter-tips", [dataStore2.showContent, dataStore2.itemLabel]);
+  };
+  Object.assign(api2, {
+    dataStore,
+    handleClick: handleClick3({ dataStore, props: props2, vm }),
+    mouseEnter: mouseEnter({ dataStore, vm }),
+    mouseLeave: mouseLeave({ dataStore })
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$f(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$f(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$f(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$f(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$f(o, minLen);
+}
+function _arrayLikeToArray$f(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$f = function _export_sfc25(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$f(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$q = defineComponent({
+  emits: ["update:modelValue", "change", "closed", "open", "opened", "close", "confirm", "reset"],
+  props: [].concat(props, ["disabled", "icon", "itemData", "selected", "label", "level", "currentIndex", "tooltipContent"]),
+  setup: function setup$1$15(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$7,
+      api: api$7
+    });
+  }
+});
+var _hoisted_1$a = ["aria-disabled", "tabindex"];
+function _sfc_render$g(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("li", {
+    "data-tag": "tiny-dropdown-item",
+    onMouseenter: _cache[0] || (_cache[0] = function() {
+      return _ctx.mouseEnter && _ctx.mouseEnter.apply(_ctx, arguments);
+    }),
+    onMouseleave: _cache[1] || (_cache[1] = function() {
+      return _ctx.mouseLeave && _ctx.mouseLeave.apply(_ctx, arguments);
+    }),
+    class: normalizeClass(_ctx.m("rounded-sm list-none leading-10 sm:leading-8 outline-0 min-w-[theme(spacing.18)] max-w-[theme(spacing.52)] w-full [&_svg]:sm:w-3.5 [&_svg]:sm:h-3.5 [&_svg]:sm:mr-1.5 [&_svg]:mr-2 [&_svg]:align-text-bottom", _ctx.disabled ? "cursor-not-allowed text-color-text-disabled [&_svg]:fill-color-text-disabled" : "text-color-text-primary active:bg-color-bg-4 visited:text-color-brand hover:bg-color-bg-2 focus:bg-color-bg-4 cursor-pointer", {
+      "text-color-brand-focus bg-color-fill-6": _ctx.dataStore.checkedStatus && _ctx.selected
+    }, _ctx.dataStore.multiStage ? "!px-0 mb-1" : "[&:not(:last-of-type)]:mb-1")),
+    onClick: _cache[2] || (_cache[2] = withModifiers(function() {
+      return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
+    }, ["stop"])),
+    "aria-disabled": _ctx.disabled,
+    tabindex: _ctx.disabled ? null : -1
+  }, [createBaseVNode(
+    "div",
+    {
+      "data-tag": "tiny-dropdown-level",
+      ref: "level",
+      class: normalizeClass(["sm:text-xs text-sm", _ctx.level === "2" ? "mx-6 overflow-hidden text-ellipsis whitespace-nowrap" : "mx-4 sm:mx-3 overflow-hidden text-ellipsis whitespace-nowrap"])
+    },
+    [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
+      key: 0,
+      class: "sm:w-3.5 sm:h-3.5 sm:mr-1.5 mr-2 align-text-bottom"
+    })) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default")],
+    2
+    /* CLASS */
+  )], 42, _hoisted_1$a);
+}
+var mobileFirst$4 = /* @__PURE__ */ _export_sfc$f(_sfc_main$q, [["render", _sfc_render$g]]);
+function _extends$f() {
+  _extends$f = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$f.apply(this, arguments);
+}
+var template$a = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$6;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$4;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$4;
+  }
+  return pc$6;
+};
+var $constants$1 = {
+  ICON_MAP: {
+    leftWardArrow: "icon-delta-left"
+  }
+};
+var dropdownItemProps = _extends$f({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default3() {
+      return $constants$1;
+    }
+  },
+  icon: [String, Object],
+  disabled: Boolean,
+  divided: Boolean,
+  itemData: {
+    type: [String, Object],
+    default: ""
+  },
+  title: String,
+  label: String,
+  level: String,
+  titleClass: String,
+  options: {
+    type: Array,
+    default: function _default22() {
+      return [];
+    }
+  },
+  // mobile 属性,可选值 selection | filter | sort
+  type: {
+    type: String,
+    default: "selection"
+  },
+  // 是否选中,勾选状态功能
+  selected: {
+    type: Boolean,
+    default: false
+  },
+  // 暂没找到使用的地方
+  selectedField: {
+    type: String,
+    default: "selected"
+  },
+  // 暂没找到使用的地方
+  multiStage: {
+    type: Boolean,
+    default: false
+  },
+  currentIndex: {
+    type: Number,
+    default: function _default32() {
+      return -1;
+    }
+  },
+  tooltipContent: {
+    type: String,
+    default: ""
+  },
+  // 以下为 tiny 新增
+  appendToBody: {
+    type: Boolean,
+    default: true
+  },
+  textField: {
+    type: String,
+    default: "label"
+  },
+  tip: {
+    type: [String, Function],
+    default: ""
+  },
+  tipPosition: {
+    type: String,
+    default: "right"
+  }
+});
+var DropdownItem = defineComponent({
+  name: $prefix + "DropdownItem",
+  componentName: "TinyDropdownItem",
+  props: dropdownItemProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$a
+    });
+  }
+});
+var version$a = "3.16.0";
+DropdownItem.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+DropdownItem.install = function(Vue) {
+  Vue.component(DropdownItem.name, DropdownItem);
+};
+DropdownItem.version = version$a;
+const index$c = "";
+function _createForOfIteratorHelperLoose$e(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$e(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$e(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$e(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$e(o, minLen);
+}
+function _arrayLikeToArray$e(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$e = function _export_sfc26(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$e(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$p = defineComponent({
+  components: {
+    TinyDropdownItem: DropdownItem
+  },
+  emits: ["mouseenter", "mouseleave", "click", "update:modelValue", "created"],
+  props: [].concat(props, [
+    "visibleArrow",
+    "arrowOffset",
+    "placement",
+    "popperClass",
+    "popperAppendToBody",
+    "checkedStatus",
+    // tiny 新增
+    "textField",
+    "options"
+  ]),
+  setup: function setup$1$16(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$a,
+      api: api$a
+    });
+  }
+});
+function _sfc_render$f(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_dropdown_item = resolveComponent("tiny-dropdown-item");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _ctx.doDestroy,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "ul",
+        {
+          class: normalizeClass(["tiny-dropdown-menu tiny-popper", [_ctx.state.size && "tiny-dropdown-menu--" + _ctx.state.size, _ctx.popperClass]]),
+          onMouseenter: _cache[0] || (_cache[0] = function() {
+            return _ctx.handleMouseenter && _ctx.handleMouseenter.apply(_ctx, arguments);
+          }),
+          onMouseleave: _cache[1] || (_cache[1] = function() {
+            return _ctx.handleMouseleave && _ctx.handleMouseleave.apply(_ctx, arguments);
+          })
+        },
+        [renderSlot(_ctx.$slots, "default", {
+          selectedIndex: _ctx.state.selectedIndex
+        }, function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.options, function(item, index3) {
+              return openBlock(), createBlock(_component_tiny_dropdown_item, {
+                "item-data": item,
+                label: item[_ctx.textField],
+                key: index3,
+                icon: item.icon,
+                disabled: item.disabled,
+                divided: item.divided,
+                tip: item.tip,
+                "tip-position": item.tipPosition
+              }, null, 8, ["item-data", "label", "icon", "disabled", "divided", "tip", "tip-position"]);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        })],
+        34
+        /* CLASS, NEED_HYDRATION */
+      ), [[vShow, _ctx.state.showPopper]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["onAfterLeave"]);
+}
+var pc$5 = /* @__PURE__ */ _export_sfc$e(_sfc_main$p, [["render", _sfc_render$f]]);
+const index$b = "";
+function _createForOfIteratorHelperLoose$d(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$d(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$d(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$d(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$d(o, minLen);
+}
+function _arrayLikeToArray$d(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$d = function _export_sfc27(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$d(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$o = defineComponent({
+  props: [].concat(props, ["activeColor", "closeOnClickOutside", "closeOnClickOverlay", "direction", "duration", "overlay", "zIndex"]),
+  components: {
+    IconUp: index$u(),
+    IconDown: index$C(),
+    IconUnfilter: index$v(),
+    IconSort: index$x(),
+    IconDeltaDown: index$H(),
+    IconDeltaUp: index$F()
+  },
+  directives: directive$1({
+    Clickoutside: clickoutside_default
+  }),
+  emits: ["open", "created"],
+  setup: function setup$1$17(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$a,
+      api: api$a
+    });
+  }
+});
+var _hoisted_1$9 = {
+  ref: "menu",
+  class: "tiny-mobile-dropdown-menu"
+};
+var _hoisted_2$7 = {
+  class: "tiny-mobile-dropdown-menu__bar tiny-mobile-dropdown-menu__bar--opened"
+};
+var _hoisted_3$5 = ["tabindex", "onClick"];
+var _hoisted_4$4 = {
+  class: "tiny-mobile-dropdown-menu__title-wrap"
+};
+var _hoisted_5$4 = {
+  key: 0
+};
+var _hoisted_6$2 = {
+  class: "tiny-mobile-dropdown-menu__title-text"
+};
+var _hoisted_7$1 = {
+  key: 0,
+  class: "tiny-mobile-dropdown-menu__title-icon"
+};
+function _sfc_render$e(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_delta_up = resolveComponent("icon-delta-up");
+  var _component_icon_delta_down = resolveComponent("icon-delta-down");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createElementBlock(
+    "div",
+    _hoisted_1$9,
+    [createBaseVNode("div", _hoisted_2$7, [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.children, function(item, index3) {
+        return withDirectives((openBlock(), createElementBlock("div", {
+          key: index3,
+          role: "button",
+          tabindex: item.disabled ? -1 : 0,
+          class: normalizeClass(["tiny-mobile-dropdown-menu__item", [item.disabled ? "is-disabled" : "", item.titleClass]]),
+          onClick: function onClick($event) {
+            return _ctx.toggleItem(index3, item);
+          }
+        }, [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-mobile-dropdown-menu__title", {
+              "is-active": item.state.showPopup,
+              "is-down": item.state.showPopup === (_ctx.direction === "down")
+            }]),
+            style: normalizeStyle({
+              color: item.state.showPopup ? _ctx.activeColor : ""
+            })
+          },
+          [createBaseVNode("div", _hoisted_4$4, [!_ctx.slots.title ? (openBlock(), createElementBlock("span", _hoisted_5$4, [createBaseVNode(
+            "span",
+            _hoisted_6$2,
+            toDisplayString(item.state.displayTitle),
+            1
+            /* TEXT */
+          ), item.type === "sort" ? (openBlock(), createElementBlock("span", _hoisted_7$1, [createVNode(_component_icon_delta_up, {
+            class: "up",
+            fill: item.state.sort === "asc" ? _ctx.activeColor ? _ctx.activeColor : "#f36f64" : "#ccc"
+          }, null, 8, ["fill"]), createVNode(_component_icon_delta_down, {
+            class: "down",
+            fill: item.state.sort === "desc" ? _ctx.activeColor ? _ctx.activeColor : "#f36f64" : "#ccc"
+          }, null, 8, ["fill"])])) : (openBlock(), createBlock(resolveDynamicComponent(item.type === "filter" ? "IconUnfilter" : item.type === "selection" && item.state.showPopup ? "IconUp" : "IconDown"), {
+            key: 1,
+            fill: item.state.showPopup ? _ctx.activeColor ? _ctx.activeColor : "#f36f64" : "#ccc",
+            class: normalizeClass([item.type === "filter" ? "filter-icon" : ""])
+          }, null, 8, ["fill", "class"]))])) : renderSlot(_ctx.$slots, "title", {
+            key: 1
+          })])],
+          6
+          /* CLASS, STYLE */
+        )], 10, _hoisted_3$5)), [[_directive_clickoutside, _ctx.clickOutside]]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))]), renderSlot(_ctx.$slots, "default")],
+    512
+    /* NEED_PATCH */
+  );
+}
+var mobile$3 = /* @__PURE__ */ _export_sfc$d(_sfc_main$o, [["render", _sfc_render$e]]);
+function _createForOfIteratorHelperLoose$c(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$c(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$c(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$c(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$c(o, minLen);
+}
+function _arrayLikeToArray$c(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$c = function _export_sfc28(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$c(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$n = defineComponent({
+  props: [].concat(props, ["visibleArrow", "arrowOffset", "placement", "popperClass", "popperAppendToBody", "checkedStatus", "multiStage", "maxHeight"]),
+  emits: ["menu-item-click", "created"],
+  components: {
+    TinyTooltip: Tooltip$1
+  },
+  setup: function setup$1$18(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$a,
+      api: api$a
+    });
+  }
+});
+function _sfc_render$d(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    duration: 150,
+    onAfterLeave: _ctx.doDestroy,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "ul",
+        {
+          "data-tag": "tiny-dropdown-menu",
+          class: normalizeClass(_ctx.m("min-w-[theme(spacing.18)] max-w-[theme(spacing.52)] absoulte bg-color-bg-1", {
+            "py-1.5": _ctx.state.size === "medium"
+          }, {
+            "py-1.5": _ctx.state.size === "small"
+          }, {
+            "py-0.75": _ctx.state.size === "mini"
+          }, {
+            "overflow-x-hidden scrollbar-size-0": _ctx.maxHeight
+          }, _ctx.multiStage ? "!block  rounded-none" : "rounded py-1 shadow-sm sm:shadow-md px-1", _ctx.state.canvasHeight ? "sm:mb-6" : !_ctx.multiStage && "sm:my-1 my-2", _ctx.popperClass)),
+          style: normalizeStyle({
+            maxHeight: _ctx.maxHeight + "px"
+          })
+        },
+        [createVNode(_component_tiny_tooltip, {
+          ref: "tooltip",
+          effect: "light",
+          content: _ctx.state.label,
+          placement: "top-start",
+          manual: true,
+          modelValue: _ctx.state.showContent,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+            return _ctx.state.showContent = $event;
+          })
+        }, null, 8, ["content", "modelValue"]), renderSlot(_ctx.$slots, "default", {
+          selectedIndex: _ctx.state.selectedIndex
+        })],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.showPopper]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["onAfterLeave"]);
+}
+var mobileFirst$3 = /* @__PURE__ */ _export_sfc$c(_sfc_main$n, [["render", _sfc_render$d]]);
+function _extends$e() {
+  _extends$e = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$e.apply(this, arguments);
+}
+var template$9 = function template23(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$5;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$3;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$3;
+  }
+  return pc$5;
+};
+var dropdownMenuProps = _extends$e({}, $props, {
+  multiStage: {
+    type: Boolean,
+    default: false
+  },
+  checkedStatus: {
+    type: Boolean,
+    default: false
+  },
+  visibleArrow: Boolean,
+  arrowOffset: {
+    type: Number,
+    default: 0
+  },
+  placement: String,
+  // 默认主题 'bottom-end'
+  popperClass: String,
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  },
+  activeColor: String,
+  closeOnClickOutside: {
+    type: Boolean,
+    default: true
+  },
+  closeOnClickOverlay: {
+    type: Boolean,
+    default: true
+  },
+  direction: {
+    type: String,
+    default: "down"
+  },
+  duration: {
+    type: [Number, String],
+    default: 0.2
+  },
+  overlay: {
+    type: Boolean,
+    default: true
+  },
+  zIndex: [Number, String],
+  maxHeight: {
+    type: [Number, String],
+    default: "400"
+  },
+  // tiny新增
+  options: {
+    type: Array,
+    default: function _default4() {
+      return [];
+    }
+  },
+  textField: {
+    type: String,
+    default: "label"
+  }
+});
+var DropdownMenu = defineComponent({
+  name: $prefix + "DropdownMenu",
+  componentName: $prefix + "DropdownMenu",
+  props: dropdownMenuProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$9
+    });
+  }
+});
+var version$9 = "3.16.0";
+DropdownMenu.install = function(Vue) {
+  Vue.component(DropdownMenu.name, DropdownMenu);
+};
+DropdownMenu.version = version$9;
+function _extends$d() {
+  _extends$d = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$d.apply(this, arguments);
+}
+var _sfc_main$m = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Dropdown",
+  componentName: "TinyDropdown",
+  components: {
+    TinyButton: Button$1,
+    TinyButtonGroup: ButtonGroup,
+    TinyDropdownMenu: DropdownMenu,
+    IconDownWard: index$t()
+  },
+  directives: directive$1({
+    Clickoutside: clickoutside_default
+  }),
+  props: _extends$d({}, $props, {
+    type: String,
+    trigger: String,
+    size: {
+      type: String,
+      default: ""
+    },
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    splitButton: Boolean,
+    showTimeout: {
+      type: Number,
+      default: 250
+    },
+    hideTimeout: {
+      type: Number,
+      default: 150
+    },
+    hideOnClick: {
+      type: Boolean,
+      default: true
+    },
+    tabindex: {
+      type: Number,
+      default: 0
+    },
+    border: {
+      type: Boolean,
+      default: false
+    },
+    round: {
+      type: Boolean,
+      default: false
+    },
+    showIcon: {
+      type: Boolean,
+      default: true
+    },
+    menuOptions: {
+      type: Object,
+      default: function _default5() {
+        return {
+          options: [],
+          textField: "label",
+          popperClass: "",
+          placement: "bottom-end"
+        };
+      }
+    },
+    title: {
+      type: String,
+      default: "下拉菜单"
+      // TINY-TODO: 国际化
+    },
+    inheritWidth: {
+      type: Boolean,
+      default: false
+    },
+    suffixIcon: Object
+  }),
+  emits: ["visible-change", "item-click", "button-click", "menu-item-click", "handle-click", "is-disabled", "selected-index"],
+  setup: function setup4(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c,
+      h
+    });
+  },
+  render: function render2() {
+    var _state$designConfig, _state$designConfig$i, _state$designConfig2, _state$designConfig2$;
+    var splitButton = this.splitButton, type = this.type, disabled = this.disabled, handleMainButtonClick2 = this.handleMainButtonClick, menuOptions = this.menuOptions, title = this.title, suffixIcon = this.suffixIcon;
+    var slots = this.slots, size = this.size, state = this.state, border = this.border, showIcon = this.showIcon, round = this.round, clickOutside2 = this.clickOutside;
+    var params = {
+      visible: state.visible
+    };
+    var triggerElm = null;
+    var triggerClass = "tiny-dropdown__trigger tiny-dropdown-trigger";
+    var visibleClass = state.visible ? "tiny-dropdown--visible tiny-dropdown-visible" : "";
+    var IconDown = suffixIcon || ((_state$designConfig = state.designConfig) == null ? void 0 : (_state$designConfig$i = _state$designConfig.icons) == null ? void 0 : _state$designConfig$i.dropdownIcon) || index$H();
+    var ButtonIconDown = ((_state$designConfig2 = state.designConfig) == null ? void 0 : (_state$designConfig2$ = _state$designConfig2.icons) == null ? void 0 : _state$designConfig2$.dropdownIcon) || index$t();
+    var defaultSlot = slots.default && slots.default(params);
+    if (splitButton) {
+      triggerElm = createVNode(resolveComponent("tiny-button-group"), null, {
+        default: function _default28() {
+          return [createVNode(resolveComponent("tiny-button"), {
+            "type": type,
+            "size": size,
+            "onClick": handleMainButtonClick2,
+            "disabled": disabled,
+            "class": "tiny-dropdown__title-button"
+          }, {
+            default: function _default37() {
+              return [defaultSlot || createVNode("span", null, [title])];
+            }
+          }), createVNode(resolveComponent("tiny-button"), {
+            "ref": "trigger",
+            "type": type,
+            "size": size,
+            "class": "tiny-dropdown__caret-button " + triggerClass,
+            "disabled": disabled,
+            "reset-time": 0
+          }, {
+            default: function _default37() {
+              return [createVNode(ButtonIconDown, {
+                "class": visibleClass
+              }, null)];
+            }
+          })];
+        }
+      });
+    } else {
+      var _defaultSlot$;
+      var suffixSlot = slots["suffix-icon"] && slots["suffix-icon"]();
+      var vnodeData = defaultSlot && ((_defaultSlot$ = defaultSlot[0]) == null ? void 0 : _defaultSlot$.data) || {};
+      var _vnodeData$attrs = vnodeData.attrs, attrs = _vnodeData$attrs === void 0 ? {} : _vnodeData$attrs;
+      if (disabled && !attrs.disabled) {
+        attrs.disabled = true;
+        vnodeData.attrs = attrs;
+      }
+      var suffixInner = showIcon ? createVNode("span", {
+        "class": "tiny-dropdown__suffix-inner " + visibleClass
+      }, [suffixSlot || createVNode(IconDown, null, null)]) : "";
+      var defaultTriggerElm = defaultSlot || title ? createVNode("span", {
+        "class": "tiny-dropdown__title"
+      }, [defaultSlot || title]) : null;
+      triggerElm = border ? createVNode(resolveComponent("tiny-button"), {
+        "ref": "trigger",
+        "round": round,
+        "disabled": disabled,
+        "class": "tiny-dropdown__border " + (state.visible ? "is-expand" : "") + (showIcon ? " is-show-icon " : ""),
+        "reset-time": 0
+      }, {
+        default: function _default28() {
+          return [defaultTriggerElm, suffixInner];
+        }
+      }) : createVNode("span", {
+        "ref": "trigger",
+        "class": "is-text" + (state.visible ? " is-expand" : " is-hide") + (disabled ? " is-disabled" : "") + " " + triggerClass
+      }, [defaultTriggerElm, suffixInner]);
+    }
+    var defaulMenuElm = createVNode(resolveComponent("tiny-dropdown-menu"), {
+      "options": menuOptions.options,
+      "text-field": menuOptions.textField || menuOptions["text-field"],
+      "popper-class": menuOptions.popperClass || menuOptions["popper-class"],
+      "placement": menuOptions.placement
+    }, null);
+    var menuElm = disabled ? null : slots.dropdown && slots.dropdown() || defaulMenuElm;
+    return withDirectives(createVNode("div", {
+      "class": "tiny-dropdown",
+      "aria-disabled": disabled
+    }, [triggerElm, menuElm]), [[resolveDirective("clickoutside"), clickOutside2]]);
+  }
+});
+function _extends$c() {
+  _extends$c = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$c.apply(this, arguments);
+}
+var _sfc_main$l = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Dropdown",
+  componentName: "TinyDropdown",
+  components: {
+    TinyButton: Button$1,
+    TinyButtonGroup: ButtonGroup,
+    IconChevronDown: index$N(),
+    IconChevronUp: index$O(),
+    IconArrowBottom: index$P()
+  },
+  directives: directive$1({
+    Clickoutside: clickoutside_default
+  }),
+  props: _extends$c({}, $props, {
+    type: String,
+    trigger: String,
+    size: {
+      type: String,
+      default: ""
+    },
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    singleButton: {
+      type: Boolean,
+      default: false
+    },
+    showTimeout: {
+      type: Number,
+      default: 250
+    },
+    hideTimeout: {
+      type: Number,
+      default: 150
+    },
+    hideOnClick: {
+      type: Boolean,
+      default: true
+    },
+    tabindex: {
+      type: Number,
+      default: 0
+    },
+    border: {
+      type: Boolean,
+      default: false
+    },
+    round: {
+      type: Boolean,
+      default: false
+    },
+    showIcon: {
+      type: Boolean,
+      default: true
+    },
+    modelValue: [String, Number],
+    showSelfIcon: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  emits: ["visible-change", "item-click", "button-click", "selectedIndex", "current-item-click", "is-disabled"],
+  setup: function setup5(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c,
+      mono: true,
+      h
+    });
+  },
+  render: function render3() {
+    var type = this.type, disabled = this.disabled, handleMainButtonClick2 = this.handleMainButtonClick, slots = this.slots, size = this.size, state = this.state, border = this.border, round = this.round, m = this.m, clickOutside2 = this.clickOutside, singleButton = this.singleButton;
+    var params = {
+      visible: state.visible
+    };
+    var triggerElm = null;
+    if (singleButton) {
+      triggerElm = createVNode(resolveComponent("tiny-button"), {
+        "ref": "trigger",
+        "type": type === "primary" ? type : "",
+        "size": size,
+        "customClass": m(["rounded active:rounded flex items-center justify-center", state.visible && type !== "primary" && "active:border-color-border-focus text-color-text-primary active:text-color-brand-focus focus:border-color-border-focus focus:text-color-brand-focus"]),
+        "disabled": disabled,
+        "reset-time": 0,
+        "onClick": handleMainButtonClick2
+      }, {
+        default: function _default28() {
+          return [createVNode("div", {
+            "class": "overflow-hidden overflow-ellipsis whitespace-nowrap w-full"
+          }, [slots.default && slots.default(params)])];
+        }
+      });
+    } else {
+      var defaultSlot = slots.default && slots.default(params);
+      var suffixSlot = slots["suffix-icon"] && slots["suffix-icon"]();
+      var vnodeData = (defaultSlot == null ? void 0 : defaultSlot[0].data) || {};
+      var _vnodeData$attrs = vnodeData.attrs, attrs = _vnodeData$attrs === void 0 ? {} : _vnodeData$attrs;
+      if (disabled && !attrs.disabled) {
+        attrs.disabled = true;
+        vnodeData.attrs = attrs;
+      }
+      var defaultIcon = createVNode("span", {
+        "class": "block text-[0]"
+      }, [createVNode(resolveComponent("icon-chevron-down"), {
+        "class": "sm:block hidden will-change-transform"
+      }, null), createVNode(resolveComponent("icon-arrow-bottom"), {
+        "class": "sm:hidden block will-change-transform"
+      }, null)]);
+      var suffixInner = state.showIcon && createVNode("span", {
+        "data-tag": "tiny-dropdown-showicon",
+        "class": ["ml-1 sm:ml-2 [&_svg:nth-of-type(1)]:align-top w-4 h-4 inline-block [&_svg]:transition-transform [&_svg]:duration-300", {
+          "fill-color-brand-focus [&_svg:nth-of-type(1)]:hover:fill-color-brand-hover [&_svg:nth-of-type(1)]:active:fill-color-brand-focus leading-4": !disabled && !border
+        }, border && (state.visible ? "[&_svg]:rotate-180" : "[&_svg]:rotate-0"), border && type !== "primary" && state.visible && "[&_svg]:fill-color-border-focus visited:[&_svg]:fill-color-border-focus active:[&_svg]:fill-color-border-focus"]
+      }, [suffixSlot || defaultIcon]);
+      triggerElm = border ? createVNode(resolveComponent("tiny-button"), {
+        "ref": "trigger",
+        "round": round,
+        "size": size,
+        "type": type === "primary" ? type : "",
+        "disabled": disabled,
+        "class": ["rounded inline-flex items-center justify-center", type === "primary" ? "[&_svg]:fill-color-bg-1" : state.visible ? "active:border-color-border-focus text-color-text-primary active:text-color-brand-focus focus:border-color-border-focus focus:text-color-brand-focus" : "[&_svg]:fill-color-icon-placeholder"],
+        "reset-time": 0
+      }, {
+        default: function _default28() {
+          return [defaultSlot, suffixInner];
+        }
+      }) : createVNode("span", {
+        "ref": "trigger",
+        "class": [state.visible && !state.showSelfIcon ? "[&_svg]:rotate-180" : "[&_svg]:rotate-0", disabled && "cursor-not-allowed [&_svg]:fill-color-text-disabled", "inline-flex [&_svg]:transition-transform [&_svg]:duration-300"]
+      }, [createVNode("span", {
+        "class": ["inline-flex h-4 leading-4", disabled ? "text-color-text-disabled" : "hover:text-color-brand-hover active:text-color-brand-focus"]
+      }, [defaultSlot]), createVNode("span", {
+        "class": "align-bottom leading-4 h-4"
+      }, [suffixInner])]);
+    }
+    var menuElm = disabled ? null : slots.dropdown && slots.dropdown();
+    return withDirectives(createVNode("div", {
+      "class": ["relative inline-block [&>span:nth-of-type(1)]:text-color-brand-focus [&>span:nth-of-type(1)]:text-sm sm:[&>span:nth-of-type(1)]:text-xs", disabled && "[&>span:nth-of-type(1)]:text-color-brand-focus", state.showSelfIcon && "leading-4 h-4 [&_svg]:align-top [&_svg]:rotate-0"],
+      "aria-disabled": disabled,
+      "data-tag": "tiny-dropdown"
+    }, [triggerElm, menuElm]), [[resolveDirective("clickoutside"), clickOutside2]]);
+  }
+});
+const index$a = "";
+function _extends$b() {
+  _extends$b = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$b.apply(this, arguments);
+}
+var template$8 = function template24(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return _sfc_main$m;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$l;
+  }
+  return _sfc_main$m;
+};
+var dropdownProps = _extends$b({}, $props, {
+  modelValue: [String, Number],
+  type: String,
+  trigger: String,
+  // 默认主题为 'hover'
+  size: {
+    type: String,
+    default: ""
+  },
+  disabled: {
+    type: Boolean,
+    default: false
+  },
+  splitButton: Boolean,
+  singleButton: {
+    type: Boolean,
+    default: false
+  },
+  showTimeout: {
+    type: Number,
+    default: 250
+  },
+  hideTimeout: {
+    type: Number,
+    default: 150
+  },
+  hideOnClick: {
+    type: Boolean,
+    default: true
+  },
+  tabindex: {
+    type: Number,
+    default: 0
+  },
+  border: {
+    type: Boolean,
+    default: false
+  },
+  round: {
+    type: Boolean,
+    default: false
+  },
+  showIcon: {
+    type: Boolean,
+    default: true
+  },
+  showSelfIcon: {
+    type: Boolean,
+    default: false
+  },
+  // tiny新增
+  menuOptions: {
+    type: Object,
+    default: function _default6() {
+      return {
+        options: [],
+        textField: "label",
+        popperClass: "",
+        placement: "bottom-end"
+      };
+    }
+  },
+  title: {
+    type: String,
+    default: "下拉菜单"
+  },
+  inheritWidth: {
+    type: Boolean,
+    default: false
+  },
+  suffixIcon: Object
+});
+var Dropdown = defineComponent({
+  name: $prefix + "Dropdown",
+  componentName: "TinyDropdown",
+  props: dropdownProps,
+  setup: function setup6(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$8
+    });
+  }
+});
+var version$8 = "3.16.0";
+Dropdown.install = function(Vue) {
+  Vue.component(Dropdown.name, Dropdown);
+};
+Dropdown.version = version$8;
+const arrayEach = (obj, iterate, context) => {
+  if (obj) {
+    if (obj.forEach) {
+      obj.forEach(iterate, context);
+    } else {
+      for (let index3 = 0, len = obj.length; index3 < len; index3++) {
+        iterate.call(context, obj[index3], index3, obj);
+      }
+    }
+  }
+};
+var arrayEach_default = arrayEach;
+const hasOwnProp = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
+var hasOwnProp_default = hasOwnProp;
+const objectEach = (obj, iterate, context) => {
+  if (obj) {
+    Object.keys(obj).forEach((key) => {
+      if (hasOwnProp_default(obj, key)) {
+        iterate.call(context, obj[key], key, obj);
+      }
+    });
+  }
+};
+var objectEach_default = objectEach;
+const each = (obj, iterate, context) => {
+  if (obj) {
+    return Array.isArray(obj) ? arrayEach_default(obj, iterate, context) : objectEach_default(obj, iterate, context);
+  }
+  return obj;
+};
+var each_default = each;
+const helperCreateGetObjects = (name, getIndex) => {
+  let proMethod = Object[name];
+  return (obj) => {
+    let result = [];
+    if (!obj) {
+      return result;
+    }
+    if (proMethod) {
+      return proMethod(obj);
+    }
+    let eachCallback;
+    if (getIndex > 1) {
+      eachCallback = (key) => {
+        result.push([String(key), obj[key]]);
+      };
+    } else {
+      eachCallback = function() {
+        result.push(arguments[getIndex]);
+      };
+    }
+    each_default(obj, eachCallback);
+    return result;
+  };
+};
+var helperCreateGetObjects_default = helperCreateGetObjects;
+const keys = helperCreateGetObjects_default("keys", 1);
+var keys_default = keys;
+var isPlainObject_default = isPlainObject;
+const isFunction = (obj) => typeof obj === "function";
+var isFunction_default = isFunction;
+const isNull = (object) => object === null;
+var isNull_default = isNull;
+const property = (key, defs) => (object) => isNull_default(object) ? defs : object[key];
+var property_default = property;
+const objectMap = (obj, iterate, context) => {
+  let result = {};
+  if (obj) {
+    if (iterate) {
+      if (!isFunction_default(iterate)) {
+        iterate = property_default(iterate);
+      }
+      each_default(obj, (val, index3) => {
+        result[index3] = iterate.call(context, val, index3, obj);
+      });
+    } else {
+      return obj;
+    }
+  }
+  return result;
+};
+var objectMap_default = objectMap;
+const map = function(obj, iterate, context) {
+  let result = [];
+  if (obj && arguments.length > 1) {
+    if (!isFunction_default(iterate)) {
+      iterate = property_default(iterate);
+    }
+    if (obj.map) {
+      return obj.map(iterate, context);
+    } else {
+      each_default(obj, (...args) => {
+        result.push(iterate.apply(context, args));
+      });
+    }
+  }
+  return result;
+};
+var map_default = map;
+let deepClone;
+const startClone = (func, obj, deep) => func(obj, deep ? (val) => deepClone(val, deep) : (val) => val);
+deepClone = (val, deep) => isPlainObject_default(val) ? startClone(objectMap_default, val, deep) : Array.isArray(val) ? startClone(map_default, val, deep) : val;
+const clone = (obj, deep) => obj ? deepClone(obj, deep) : obj;
+var clone_default = clone;
+let objectAssignFns = Object.assign;
+const handleAssign = (destination, args, isClone) => {
+  let len = args.length;
+  for (let source, index3 = 1; index3 < len; index3++) {
+    source = args[index3];
+    let eachCallback;
+    if (isClone) {
+      eachCallback = (key) => {
+        destination[key] = clone_default(source[key], isClone);
+      };
+    } else {
+      eachCallback = (key) => {
+        destination[key] = source[key];
+      };
+    }
+    arrayEach_default(keys_default(args[index3]), eachCallback);
+  }
+  return destination;
+};
+const assign = function(target) {
+  if (target) {
+    let args = arguments;
+    if (target === true) {
+      if (args.length > 1) {
+        target = Array.isArray(target[1]) ? [] : {};
+        return handleAssign(target, args, true);
+      }
+    } else {
+      return objectAssignFns ? objectAssignFns.apply(Object, args) : handleAssign(target, args);
+    }
+  }
+  return target;
+};
+var assign_default = assign;
+const lastArrayEach = (obj, iterate, context) => {
+  for (let len = obj.length - 1; len >= 0; len--) {
+    iterate.call(context, obj[len], len, obj);
+  }
+};
+var lastArrayEach_default = lastArrayEach;
+const lastObjectEach = (obj, iterate, context) => {
+  lastArrayEach_default(keys_default(obj), (key) => {
+    iterate.call(context, obj[key], key, obj);
+  });
+};
+var lastObjectEach_default = lastObjectEach;
+const handle = ({ useArray, obj, iterate, context, matchValue, restIndex }) => {
+  let value;
+  let flag = 0;
+  if (useArray && Array.isArray(obj)) {
+    for (let index3 = 0, len = obj.length; index3 < len; index3++) {
+      if (!!iterate.call(context, obj[index3], index3, obj) === matchValue) {
+        value = [true, false, index3, obj[index3]][restIndex];
+        flag = 1;
+        break;
+      }
+    }
+  } else {
+    for (let key of Object.keys(obj)) {
+      if (hasOwnProp_default(obj, key)) {
+        if (!!iterate.call(context, obj[key], key, obj) === matchValue) {
+          value = [true, false, key, obj[key]][restIndex];
+          flag = 2;
+          break;
+        }
+      }
+    }
+  }
+  return { value, flag };
+};
+const helperCreateIterateHandle = (prop, useArray, restIndex, matchValue, defaultValue) => (obj, iterate, context) => {
+  if (!obj || !iterate) {
+    return defaultValue;
+  }
+  if (prop && obj[prop]) {
+    return obj[prop](iterate, context);
+  } else {
+    const ret = handle({
+      useArray,
+      obj,
+      iterate,
+      context,
+      matchValue,
+      restIndex
+    });
+    if (ret.flag) {
+      return ret.value;
+    }
+  }
+  return defaultValue;
+};
+var helperCreateIterateHandle_default = helperCreateIterateHandle;
+var every_default = helperCreateIterateHandle_default("every", 1, 1, false, true);
+const find = helperCreateIterateHandle_default("find", 1, 3, true);
+var find_default = find;
+const toArray = (arr) => map_default(arr, (item) => item);
+var toArray_default = toArray;
+const isUndefined = (obj) => typeof obj === "undefined";
+var isUndefined_default = isUndefined;
+const eqNull = (object) => isNull_default(object) || isUndefined_default(object);
+var eqNull_default = eqNull;
+const helperGetHGSKeys = (property2) => (
+  // 以最快的方式判断数组,可忽略准确性
+  property2 ? property2.splice && property2.join ? property2 : String(property2).split(".") : []
+);
+var helperGetHGSKeys_default = helperGetHGSKeys;
+const staticHGKeyRE = /(.+)?\[(\d+)\]$/;
+var staticHGKeyRE_default = staticHGKeyRE;
+const valGet = (obj, key) => {
+  const matchs = key ? key.match(staticHGKeyRE_default) : "";
+  return matchs ? matchs[1] ? obj[matchs[1]] ? obj[matchs[1]][matchs[2]] : void 0 : obj[matchs[2]] : obj[key];
+};
+const pathGet = (obj, property2) => {
+  if (!obj) {
+    return;
+  }
+  let rest;
+  let index3 = 0;
+  const getRest = (len, props2) => {
+    for (rest = obj; index3 < len; index3++) {
+      rest = valGet(rest, props2[index3]);
+      if (eqNull_default(rest)) {
+        return;
+      }
+    }
+  };
+  if (obj[property2] || hasOwnProp_default(obj, property2)) {
+    return obj[property2];
+  } else {
+    const props2 = helperGetHGSKeys_default(property2);
+    const len = props2.length;
+    if (len) {
+      getRest(len, props2);
+    }
+    return rest;
+  }
+};
+const get = (obj, property2, defaultValue) => {
+  if (eqNull_default(obj)) {
+    return defaultValue;
+  }
+  const result = pathGet(obj, property2);
+  return isUndefined_default(result) ? defaultValue : result;
+};
+var get_default = get;
+const sortByDef = (v1, v2) => {
+  if (isUndefined_default(v1) || isUndefined_default(v2)) {
+    return isUndefined_default(v2) ? 1 : -1;
+  }
+  if (isNull_default(v1) || isNull_default(v2)) {
+    return isNull_default(v2) ? 1 : -1;
+  }
+  return v1 && v1.localeCompare ? v1.localeCompare(v2) : v1 > v2 ? 1 : -1;
+};
+const sortMultis = (name, compares) => (item1, item2) => {
+  let v1 = item1[name];
+  let v2 = item2[name];
+  if (v1 === v2) {
+    return compares ? compares(item1, item2) : 0;
+  }
+  return sortByDef(v1, v2);
+};
+const getSortPros = (arr, list, iterate, context) => {
+  iterate = Array.isArray(iterate) ? iterate : [iterate];
+  arrayEach_default(iterate, (prop, index3) => {
+    let eachCallback;
+    if (isFunction_default(prop)) {
+      eachCallback = (val, key) => {
+        val[index3] = prop.call(context, val.data, key, arr);
+      };
+    } else {
+      eachCallback = (val) => {
+        val[index3] = get_default(val.data, prop);
+      };
+    }
+    arrayEach_default(list, eachCallback);
+  });
+  return iterate;
+};
+const sortBy = (arr, iterate, context, STR_UNDEFINED) => {
+  if (arr) {
+    if (iterate === STR_UNDEFINED) {
+      return toArray_default(arr).sort(sortByDef);
+    }
+    let compares;
+    let list = map_default(arr, (item) => ({ data: item }));
+    let sortPros = getSortPros(arr, list, iterate, context);
+    let len = sortPros.length;
+    if (len) {
+      while (len >= 0) {
+        compares = sortMultis(len, compares);
+        len--;
+      }
+      list = list.sort(compares);
+    }
+    return map_default(list, property_default("data"));
+  }
+  return [];
+};
+var sortBy_default = sortBy;
+const slice = (array, startIndex, endIndex) => {
+  let result = [];
+  if (array) {
+    for (startIndex = startIndex || 0, endIndex = endIndex || array.length; startIndex < endIndex; startIndex++) {
+      result.push(array[startIndex]);
+    }
+  }
+  return result;
+};
+var slice_default = slice;
+const helperCreateIndexOf = (name, callback) => (obj, val) => {
+  if (!obj) {
+    return -1;
+  }
+  if (typeof obj === "string" || Array.isArray(obj)) {
+    if (obj[name]) {
+      return obj[name](val);
+    }
+    return callback(obj, val);
+  }
+  for (let key of Object.keys(obj)) {
+    if (val === obj[key]) {
+      return key;
+    }
+  }
+  return -1;
+};
+var helperCreateIndexOf_default = helperCreateIndexOf;
+const arrayIndexOf = (obj, val) => {
+  if (obj.indexOf) {
+    return obj.indexOf(val);
+  }
+  for (let index3 = 0, len = obj.length; index3 < len; index3++) {
+    if (val === obj[index3]) {
+      return index3;
+    }
+  }
+};
+var arrayIndexOf_default = arrayIndexOf;
+var indexOf_default = helperCreateIndexOf_default("indexOf", arrayIndexOf_default);
+const includes = (obj, val) => ~indexOf_default(obj, val);
+var includes_default = includes;
+const helperCreateToNumber = (handle2) => (str) => {
+  if (str) {
+    let num = handle2(str);
+    if (!isNaN(num)) {
+      return num;
+    }
+  }
+  return 0;
+};
+var helperCreateToNumber_default = helperCreateToNumber;
+const toNumber = helperCreateToNumber_default(parseFloat);
+var toNumber_default = toNumber;
+const sum = (array, iterate, context) => {
+  let result = 0;
+  let eachCallback;
+  if (iterate) {
+    if (isFunction_default(iterate)) {
+      eachCallback = (...args) => {
+        result += toNumber_default(iterate.apply(context, args));
+      };
+    } else {
+      eachCallback = (val) => {
+        result += toNumber_default(val[iterate]);
+      };
+    }
+  } else {
+    eachCallback = (val) => {
+      result += toNumber_default(val);
+    };
+  }
+  each_default(array, eachCallback);
+  return result;
+};
+var sum_default = sum;
+const defaultOptions$1 = { parentKey: "parentId", key: "id", children: "children" };
+const unTreeList = (result, array, opts) => {
+  let optChildren = opts.children;
+  let optData = opts.data;
+  each_default(array, (item) => {
+    const children = item[optChildren];
+    if (optData) {
+      item = item[optData];
+    }
+    result.push(item);
+    children && unTreeList(result, children, opts);
+  });
+  return result;
+};
+const toTreeArray = (array, options) => unTreeList([], array, assign_default({}, defaultOptions$1, options));
+var toTreeArray_default = toTreeArray;
+const helperCreateTreeFunc = (handle2) => (obj, iterate, options, context) => {
+  let opts = options || {};
+  let optChildren = opts.children || "children";
+  const params = {
+    item: null,
+    obj,
+    iterate,
+    context,
+    path: [],
+    node: [],
+    parseChildren: optChildren,
+    opts
+  };
+  return handle2(params);
+};
+var helperCreateTreeFunc_default = helperCreateTreeFunc;
+const findTreeItem = ({ parent, obj, iterate, context, path, node, parseChildren, opts }) => {
+  if (obj) {
+    for (let index3 = 0, len = obj.length; index3 < len; index3++) {
+      const item = obj[index3];
+      const paths = path.concat([`${index3}`]);
+      const nodes = node.concat([item]);
+      if (iterate.call(context, item, index3, obj, paths, parent, nodes)) {
+        return { index: index3, item, path, items: obj, parent, nodes };
+      }
+      if (parseChildren && item) {
+        const newPath = paths.concat([parseChildren]);
+        const match = findTreeItem({
+          parent: item,
+          obj: item[parseChildren],
+          iterate,
+          context,
+          path: newPath,
+          node: nodes,
+          parseChildren,
+          opts
+        });
+        if (match) {
+          return match;
+        }
+      }
+    }
+  }
+};
+const findTree = helperCreateTreeFunc_default(findTreeItem);
+var findTree_default = findTree;
+const eachTreeItem = ({ parent, obj, iterate, context, path, node, parseChildren, opts }) => {
+  each_default(obj, (item, index3) => {
+    const paths = path.concat([`${index3}`]);
+    const nodes = node.concat([item]);
+    iterate.call(context, item, index3, obj, paths, parent, nodes);
+    if (item && parseChildren) {
+      paths.push(parseChildren);
+      eachTreeItem({
+        item,
+        obj: item[parseChildren],
+        context,
+        iterate,
+        node: nodes,
+        parseChildren,
+        path: paths,
+        opts
+      });
+    }
+  });
+};
+const eachTree = helperCreateTreeFunc_default(eachTreeItem);
+var eachTree_default = eachTree;
+const mapTreeItem = ({ parent, obj, iterate, context, path, node, parseChildren, opts }) => {
+  let mapChildren = opts.mapChildren || parseChildren;
+  return map_default(obj, (item, index3) => {
+    const paths = path.concat([`${index3}`]);
+    const nodes = node.concat([item]);
+    const rest = iterate.call(context, item, index3, obj, paths, parent, nodes);
+    if (rest && item && parseChildren && item[parseChildren]) {
+      rest[mapChildren] = mapTreeItem({
+        item,
+        obj: item[parseChildren],
+        iterate,
+        context,
+        path: paths,
+        node: nodes,
+        parseChildren,
+        opts
+      });
+    }
+    return rest;
+  });
+};
+const mapTree = helperCreateTreeFunc_default(mapTreeItem);
+var mapTree_default = mapTree;
+const filterTree = (obj, iterate, options, context) => {
+  let result = [];
+  if (obj && iterate) {
+    eachTree_default(
+      obj,
+      (...args) => {
+        if (iterate.apply(context, args)) {
+          result.push(args[0]);
+        }
+      },
+      options
+    );
+  }
+  return result;
+};
+var filterTree_default = filterTree;
+const isObject = (obj) => typeof obj === "object" && obj !== null;
+var isObject_default = isObject;
+const isString = (obj) => typeof obj === "string";
+var isString_default = isString;
+const lastEach = (obj, iterate, context) => {
+  if (obj) {
+    return Array.isArray(obj) ? lastArrayEach_default(obj, iterate, context) : lastObjectEach_default(obj, iterate, context);
+  }
+  return obj;
+};
+var lastEach_default = lastEach;
+const helperDeleteProperty = (obj, property2) => {
+  try {
+    delete obj[property2];
+  } catch (e) {
+    obj[property2] = void 0;
+  }
+};
+var helperDeleteProperty_default = helperDeleteProperty;
+const clear = function(obj, defs, assigns) {
+  if (!obj) {
+    return obj;
+  }
+  let isDefs = arguments.length > 1 && (isNull_default(defs) || !isObject_default(defs));
+  let extds = isDefs ? assigns : defs;
+  if (isPlainObject_default(obj)) {
+    let eachCallback;
+    if (isDefs) {
+      eachCallback = (val, key) => {
+        obj[key] = defs;
+      };
+    } else {
+      eachCallback = (val, key) => {
+        helperDeleteProperty_default(obj, key);
+      };
+    }
+    objectEach_default(obj, eachCallback);
+    if (extds) {
+      assign_default(obj, extds);
+    }
+  } else if (Array.isArray(obj)) {
+    if (isDefs) {
+      let len = obj.length;
+      while (len > 0) {
+        len--;
+        obj[len] = defs;
+      }
+    } else {
+      obj.length = 0;
+    }
+    if (extds) {
+      obj.push.apply(obj, extds);
+    }
+  }
+  return obj;
+};
+var clear_default = clear;
+const pluckProperty = (name) => (obj, key) => key === name;
+const remove$1 = (obj, iterate, context) => {
+  if (obj) {
+    if (!eqNull_default(iterate)) {
+      let removeIndexs = [];
+      let rest = [];
+      if (!isFunction_default(iterate)) {
+        iterate = pluckProperty(iterate);
+      }
+      each_default(obj, (item, index3, rest2) => {
+        if (iterate.call(context, item, index3, rest2)) {
+          removeIndexs.push(index3);
+        }
+      });
+      if (Array.isArray(obj)) {
+        lastEach_default(removeIndexs, (item) => {
+          rest.push(obj[item]);
+          obj.splice(item, 1);
+        });
+      } else {
+        rest = {};
+        arrayEach_default(removeIndexs, (key) => {
+          rest[key] = obj[key];
+          helperDeleteProperty_default(obj, key);
+        });
+      }
+      return rest;
+    }
+    return clear_default(obj);
+  }
+  return obj;
+};
+var remove_default = remove$1;
+const isBoolean = (obj) => typeof obj === "boolean";
+var isBoolean_default = isBoolean;
+const isNumber = (obj) => typeof obj === "number";
+var isNumber_default = isNumber;
+let equalVal;
+const helperEqualCompare = ({ val1, val2, compare, func, key, obj1, obj2 }) => {
+  if (val1 === val2) {
+    return true;
+  }
+  if (val1 && val2 && !isNumber_default(val1) && !isNumber_default(val2) && !isString_default(val1) && !isString_default(val2)) {
+    if (isRegExp(val1)) {
+      return compare(String(val1), String(val2), key, obj1, obj2);
+    }
+    if (isDate(val1) || isBoolean_default(val1)) {
+      return compare(Number(val1), Number(val2), key, obj1, obj2);
+    }
+    return equalVal(val1, val2, func, key, compare);
+  }
+  return compare(val1, val2, key, obj1, obj2);
+};
+equalVal = (val1, val2, func, key, compare) => {
+  let result, val1Keys, val2Keys;
+  let isObj1Arr = Array.isArray(val1);
+  let isObj2Arr = Array.isArray(val2);
+  if (isObj1Arr || isObj2Arr ? isObj1Arr && isObj2Arr : val1.constructor === val2.constructor) {
+    val1Keys = keys_default(val1);
+    val2Keys = keys_default(val2);
+    if (func) {
+      result = func(val1, val2, key);
+    }
+    if (val1Keys.length === val2Keys.length) {
+      if (isUndefined_default(result)) {
+        return every_default(
+          val1Keys,
+          (key2, index3) => key2 === val2Keys[index3] && helperEqualCompare({
+            val1: val1[key2],
+            val2: val2[val2Keys[index3]],
+            compare,
+            func,
+            key: isObj1Arr || isObj2Arr ? index3 : key2,
+            obj1: val1,
+            obj2: val2
+          })
+        );
+      }
+      return !!result;
+    }
+    return false;
+  }
+};
+var helperEqualCompare_default = helperEqualCompare;
+const isEqual = (obj1, obj2) => helperEqualCompare_default({
+  val1: obj1,
+  val2: obj2,
+  compare: (v1, v2) => v1 === v2
+});
+var isEqual_default = isEqual;
+let __uniqueId = 0;
+const uniqueId = (prefix) => (prefix ? String(prefix) : 0) + ++__uniqueId;
+var uniqueId_default = uniqueId;
+const helperCreateiterateIndexOf = (callback) => (obj, iterate, context) => {
+  if (!obj || !isFunction_default(iterate)) {
+    return -1;
+  }
+  if (Array.isArray(obj) || isString_default(obj)) {
+    return callback(obj, iterate, context);
+  }
+  for (let key of Object.keys(obj)) {
+    if (hasOwnProp_default(obj, key) && iterate.call(context, obj[key], key, obj)) {
+      return key;
+    }
+  }
+  return -1;
+};
+var helperCreateiterateIndexOf_default = helperCreateiterateIndexOf;
+const findIndexOf = helperCreateiterateIndexOf_default((obj, iterate, context) => {
+  for (let index3 = 0, len = obj.length; index3 < len; index3++) {
+    if (iterate.call(context, obj[index3], index3, obj)) {
+      return index3;
+    }
+  }
+  return -1;
+});
+var findIndexOf_default = findIndexOf;
+const toStringJSON = (str) => {
+  if (isObject_default(str)) {
+    return str;
+  } else if (isString_default(str)) {
+    try {
+      return JSON.parse(str);
+    } catch (error2) {
+    }
+  }
+  return {};
+};
+var toStringJSON_default = toStringJSON;
+const formatterArgs = (matchs, rest, isHas) => {
+  let arrIndex = matchs[1];
+  let objProp = matchs[2];
+  if (arrIndex) {
+    if (rest[arrIndex]) {
+      if (hasOwnProp_default(rest[arrIndex], objProp)) {
+        isHas = true;
+        rest = rest[arrIndex][objProp];
+      }
+    }
+  } else {
+    if (hasOwnProp_default(rest, objProp)) {
+      isHas = true;
+      rest = rest[objProp];
+    }
+  }
+  return { isHas, rest };
+};
+const has = (obj, property2) => {
+  if (!obj) {
+    return;
+  }
+  const compare = (property22) => {
+    let prop, matchs, rest, isHas;
+    let props2 = helperGetHGSKeys_default(property22);
+    let index3 = 0;
+    let len = props2.length;
+    let flag = false;
+    for (rest = obj; index3 < len; index3++) {
+      isHas = false;
+      prop = props2[index3];
+      matchs = prop ? prop.match(staticHGKeyRE_default) : "";
+      if (matchs) {
+        const args = formatterArgs(matchs, rest, isHas);
+        isHas = args.isHas;
+        rest = args.rest;
+      } else {
+        hasOwnProp_default(rest, prop) && (isHas = true, rest = rest[prop]);
+      }
+      if (isHas) {
+        index3 === len - 1 && (flag = true);
+      } else {
+        break;
+      }
+    }
+    return flag;
+  };
+  if (hasOwnProp_default(obj, property2)) {
+    return true;
+  } else {
+    return compare(property2);
+  }
+};
+var has_default = has;
+const sKeyRE = /(.+)\[(\d+)\]$/;
+const valSet = (obj, key, isSet, value) => {
+  if (obj[key]) {
+    if (isSet) {
+      obj[key] = value;
+    }
+  } else {
+    const matchs = key ? key.match(sKeyRE) : null;
+    const rest = isSet ? value : {};
+    if (matchs) {
+      const key2 = matchs[1];
+      const index3 = parseInt(matchs[2]);
+      if (obj[key2]) {
+        obj[key2][index3] = rest;
+      } else {
+        obj[key2] = new Array(index3 + 1);
+        obj[key2][index3] = rest;
+      }
+    } else {
+      obj[key] = rest;
+    }
+    return rest;
+  }
+  return obj[key];
+};
+const set = (obj, property2, value) => {
+  if (obj) {
+    if (obj[property2] || hasOwnProp_default(obj, property2)) {
+      obj[property2] = value;
+    } else {
+      let rest = obj;
+      let props2 = helperGetHGSKeys_default(property2);
+      let len = props2.length;
+      for (let index3 = 0; index3 < len; index3++) {
+        rest = valSet(rest, props2[index3], index3 === len - 1, value);
+      }
+    }
+  }
+  return obj;
+};
+var set_default = set;
+const destructuring = function(destination, sources) {
+  if (destination && sources) {
+    let rest = assign_default.apply(this, [{}].concat(slice_default(arguments, 1)));
+    let restKeys = keys_default(rest);
+    arrayEach_default(keys_default(destination), (key) => {
+      if (includes_default(restKeys, key)) {
+        destination[key] = rest[key];
+      }
+    });
+  }
+  return destination;
+};
+var destructuring_default = destructuring;
+const toValString = (obj) => {
+  if (isNumber_default(obj)) {
+    if (String(obj).includes("e-")) {
+      let isNegative = obj < 0;
+      return (isNegative ? "-" : "") + "0" + String((isNegative ? Math.abs(obj) : obj) + 1).substr(1);
+    }
+  }
+  return String(eqNull_default(obj) ? "" : obj);
+};
+var toString_default = toValString;
+const template$7 = (str, obj) => {
+  let rest = toString_default(str);
+  if (rest && obj) {
+    return rest.replace(/\{{2}([.\w[\]\s]+)\}{2}/g, (match, keys2) => get_default(obj, keys2));
+  }
+  return rest;
+};
+var template_default = template$7;
+const isArray = Array.isArray;
+const RAF = window.requestAnimationFrame;
+const scheduleFlush = (fastdom) => {
+  if (!fastdom.scheduled) {
+    fastdom.scheduled = true;
+    fastdom.raf(flush.bind(null, fastdom));
+  }
+};
+const flush = (fastdom) => {
+  const { reads, writes } = fastdom;
+  let error2;
+  try {
+    fastdom.runTasks(reads);
+    fastdom.runTasks(writes);
+  } catch (e) {
+    error2 = e;
+  }
+  fastdom.scheduled = false;
+  if (reads.length || writes.length)
+    scheduleFlush(fastdom);
+  if (error2) {
+    if (fastdom.catch) {
+      fastdom.catch(error2);
+    } else {
+      throw error2;
+    }
+  }
+};
+const remove = (array, item) => {
+  const index3 = array.indexOf(item);
+  return !!~index3 && !!array.splice(index3, 1);
+};
+const mixin = (target, source) => {
+  for (let key in source) {
+    if (Object.hasOwnProperty.call(source, key))
+      target[key] = source[key];
+  }
+};
+class FastDom {
+  constructor() {
+    this.reads = [];
+    this.writes = [];
+    this.raf = RAF.bind(window);
+  }
+  runTasks(tasks) {
+    let task;
+    while (task = tasks.shift())
+      task();
+  }
+  measure(fn, ctx) {
+    const task = !ctx ? fn : fn.bind(ctx);
+    this.reads.push(task);
+    scheduleFlush(this);
+    return task;
+  }
+  mutate(fn, ctx) {
+    const task = !ctx ? fn : fn.bind(ctx);
+    this.writes.push(task);
+    scheduleFlush(this);
+    return task;
+  }
+  clear(task) {
+    return remove(this.reads, task) || remove(this.writes, task);
+  }
+  extend(props2) {
+    if (!props2 || typeof props2 !== "object")
+      throw new Error("[TINY][FastDom] expected object");
+    const child = Object.create(this);
+    mixin(child, props2);
+    child.fastdom = this;
+    if (child.initialize)
+      child.initialize();
+    return child;
+  }
+}
+const fastdomSingleton = new FastDom();
+var singleton_default = fastdomSingleton;
+const handleClose = ({ emit, props: props2, state }) => (event) => {
+  if (props2.disabled)
+    return;
+  event.stopPropagation();
+  state.show = false;
+  const close3 = () => emit("close", event);
+  props2.beforeDelete ? props2.beforeDelete(close3) : close3();
+};
+const handleClick = ({ emit, props: props2, parent, state }) => (event) => {
+  if (props2.selectable || props2.disabled)
+    return;
+  parent.$parent && parent.$parent.tagSelectable && event.stopPropagation();
+  state.selected = !state.selected;
+  emit("click", event);
+};
+const api$6 = ["state", "handleClose", "handleClick"];
+const renderless$6 = (props2, { reactive: reactive2, computed }, { emit, parent }) => {
+  const state = reactive2({
+    type: computed(() => props2.theme || props2.type),
+    show: true,
+    selected: false,
+    mini: props2.mini,
+    color: props2.color,
+    text: props2.text,
+    maxWidth: props2.maxWidth
+  });
+  const api2 = {
+    state,
+    handleClose: handleClose({ emit, props: props2, state }),
+    handleClick: handleClick({ emit, props: props2, parent, state })
+  };
+  return api2;
+};
+var _sfc_main$k = /* @__PURE__ */ defineComponent({
+  components: {
+    IconClose: index$L()
+  },
+  emits: ["click", "close"],
+  props: [].concat(props, ["text", "closable", "type", "hit", "disabled", "color", "size", "effect", "value", "beforeDelete"]),
+  setup: function setup7(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6,
+      h
+    });
+  },
+  render: function render4() {
+    var type = this.type, size = this.size, hit = this.hit, effect = this.effect, slots = this.slots, closable = this.closable, color = this.color, handleClose2 = this.handleClose, handleClick3 = this.handleClick, disabled = this.disabled;
+    this.state;
+    var value = this.value;
+    var styles = {};
+    var classes2 = ["tiny-tag", type ? "tiny-tag--" + type : "", size ? "tiny-tag--" + size : "", effect ? "tiny-tag--" + effect : "", hit && "is-hit", disabled ? "is-disabled" : ""];
+    if (color) {
+      if (Array.isArray(color)) {
+        styles = {
+          background: color[0],
+          color: color[1]
+        };
+      } else if (["red", "orange", "green", "blue", "purple", "brown", "grey", "gold"].includes(color)) {
+        classes2.push("tiny-tag--" + color);
+      } else {
+        styles = {
+          background: color
+        };
+      }
+    }
+    var tagElement = value || slots.default && slots.default() ? createVNode("span", {
+      "data-tag": "tiny-tag",
+      "class": classes2,
+      "style": styles,
+      "onClick": handleClick3
+    }, [value ? createVNode("span", null, [value]) : slots.default && slots.default(), closable && createVNode(resolveComponent("icon-close"), {
+      "class": "tiny-svg-size tiny-tag__close ",
+      "onClick": handleClose2
+    }, null)]) : createVNode("span", null, null);
+    return tagElement;
+  }
+});
+const index$9 = "";
+function _createForOfIteratorHelperLoose$b(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$b(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$b(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$b(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$b(o, minLen);
+}
+function _arrayLikeToArray$b(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$b = function _export_sfc29(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$b(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$j = defineComponent({
+  emits: ["click", "close"],
+  props: [].concat(props, ["text", "color", "width", "mini", "maxWidth"]),
+  setup: function setup$1$19(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6,
+      h
+    });
+  }
+});
+function _sfc_render$c(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-mobile-tag", "tiny-mobile-tag-" + _ctx.state.color, _ctx.state.mini ? "tiny-mobile-tag-mini" : null]),
+      style: normalizeStyle({
+        maxWidth: _ctx.state.maxWidth ? _ctx.state.maxWidth + "px" : null
+      })
+    },
+    [renderSlot(_ctx.$slots, "default", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx.state.text),
+        1
+        /* TEXT */
+      )];
+    })],
+    6
+    /* CLASS, STYLE */
+  );
+}
+var mobile$2 = /* @__PURE__ */ _export_sfc$b(_sfc_main$j, [["render", _sfc_render$c]]);
+var classes$3 = {
+  "dark-success": "text-color-text-inverse bg-color-success",
+  "dark-alerting": "text-color-text-inverse bg-color-alert",
+  "dark-warning": "text-color-text-inverse bg-color-warning",
+  "dark-error": "text-color-text-inverse bg-color-error",
+  "dark-default": "text-color-text-inverse bg-color-info-primary",
+  "dark-info": "text-color-text-inverse bg-color-text-placeholder",
+  "dark-pink": "text-color-text-inverse bg-color-chart-17",
+  "dark-purple": "text-color-text-inverse bg-color-chart-11",
+  "dark-cyan": "text-color-text-inverse bg-color-chart-2",
+  "light-success": "text-color-success bg-color-success-subtler",
+  "light-alerting": "text-color-alert bg-color-alert-subtler",
+  "light-warning": "text-color-warning bg-color-warning-subtler",
+  "light-error": "text-color-error bg-color-error-subtler",
+  "light-default": "text-color-info-primary bg-color-info-primary-subtler",
+  "light-info": "text-color-text-primary bg-color-bg-2",
+  "light-pink": "text-color-chart-17 bg-color-chart-17-subtler",
+  "light-purple": "text-color-chart-11 bg-color-chart-11-subtler",
+  "light-cyan": "text-color-chart-2 bg-color-chart-2-subtler",
+  "plain-success": "text-color-success bg-color-bg-1",
+  "plain-alerting": "text-color-alert bg-color-bg-1",
+  "plain-warning": "text-color-warning bg-color-bg-1",
+  "plain-error": "text-color-error bg-color-bg-1",
+  "plain-default": "text-color-info-primary bg-color-bg-1",
+  "plain-info": "text-color-text-primary bg-color-bg-1",
+  "plain-pink": "text-color-chart-17 bg-color-bg-1",
+  "plain-purple": "text-color-chart-11 bg-color-bg-1",
+  "plain-cyan": "text-color-chart-2 bg-color-bg-1",
+  "success-border": "border-color-success-subtle",
+  "alerting-border": "border-color-alert-subtle",
+  "warning-border": "border-color-warning-subtle",
+  "error-border": "border-color-error-subtle",
+  "default-border": "border-color-info-primary-subtle",
+  "info-border": "border-color-none",
+  "pink-border": "border-color-chart-17-subtle",
+  "purple-border": "border-color-chart-11-subtle",
+  "cyan-border": "border-color-chart-2-subtle",
+  "fill-dark": "fill-color-bg-6 hover:fill-color-icon-inverse",
+  "fill-light-success": "fill-color-success-subtle hover:fill-color-success",
+  "fill-light-alerting": "fill-color-alert-subtle hover:fill-color-alert",
+  "fill-light-warning": "fill-color-warning-subtle hover:fill-color-warning",
+  "fill-light-error": "fill-color-error-subtle hover:fill-color-error",
+  "fill-light-default": "fill-color-info-primary-subtle hover:fill-color-info-primary",
+  "fill-light-info": "fill-color-none hover:fill-color-none",
+  "fill-light-pink": "fill-color-chart-17-subtle hover:fill-color-chart-17",
+  "fill-light-purple": "fill-color-chart-11-subtle hover:fill-color-chart-11",
+  "fill-light-cyan": "fill-color-chart-2-subtle hover:fill-color-chart-2",
+  "selectable-unselect": "h-9 sm:h-7 text-color-text-primary bg-color-bg-4 cursor-pointer hover:bg-color-fill-1",
+  "selectable-selected": "h-9 sm:h-7 text-color-brand border-current bg-color-info-primary-subtler cursor-pointer hover:text-color-brand-hover",
+  "tag-disabled": "h-9 sm:h-7 text-color-text-disabled bg-color-bg-4 border-transparent cursor-not-allowed hover:text-color-text-disabled hover:bg-color-bg-4",
+  "tag-operable": "h-7 sm:h-6 cursor-pointer",
+  "medium": "h-7 px-3",
+  "small": "h-6 px-2",
+  "mini": "h-5 px-1"
+};
+var _sfc_main$i = /* @__PURE__ */ defineComponent({
+  components: {
+    IconClose: index$L()
+  },
+  emits: ["click", "close"],
+  props: [].concat(props, ["text", "closable", "operable", "selectable", "type", "theme", "hit", "disabled", "color", "size", "effect", "customClass", "value"]),
+  setup: function setup8(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6,
+      h,
+      classes: classes$3
+    });
+  },
+  render: function render5() {
+    var slots = this.slots, selectable = this.selectable, disabled = this.disabled, color = this.color, handleClose2 = this.handleClose, handleClick3 = this.handleClick, customClass = this.customClass, hit = this.hit, m = this.m, gcls = this.gcls, state = this.state, value = this.value;
+    var size = selectable ? "medium" : this.size || "small";
+    var type = selectable ? "info" : state.type || "info";
+    var effect = selectable ? "light" : this.effect || "light";
+    var closable = selectable ? false : this.closable;
+    var operable = selectable ? false : this.operable;
+    var classes2 = m("text-xs inline-flex items-center rounded box-border border-0.5 sm:border mr-2", effect === "plain" || hit ? gcls(type + "-border") : "border-transparent", gcls(effect + "-" + type), gcls(size), {
+      hidden: !state.show
+    }, selectable ? state.selected ? gcls("selectable-selected") : gcls("selectable-unselect") : "", selectable && disabled ? gcls("tag-disabled") : "", operable ? gcls("tag-operable") : "", customClass);
+    var tagElement = value || slots.default && slots.default() ? createVNode("span", {
+      "data-tag": "tiny-tag",
+      "class": classes2,
+      "style": {
+        backgroundColor: color
+      },
+      "onClick": handleClick3
+    }, [value ? createVNode("span", null, [value]) : slots.default && slots.default(), closable && createVNode(resolveComponent("icon-close"), {
+      "class": ["w-3 h-3 ml-1 cursor-pointer", effect === "dark" ? gcls("fill-dark") : gcls("fill-light-" + type)],
+      "onClick": handleClose2
+    }, null)]) : createVNode("span", null, null);
+    return tagElement;
+  }
+});
+const index$8 = "";
+function _extends$a() {
+  _extends$a = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$a.apply(this, arguments);
+}
+var template$6 = function template25(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return _sfc_main$k;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$2;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$i;
+  }
+  return _sfc_main$k;
+};
+var tagProps = _extends$a({}, $props, {
+  hit: Boolean,
+  text: String,
+  type: String,
+  theme: String,
+  size: String,
+  color: {
+    type: [String, Array],
+    default: ""
+  },
+  closable: Boolean,
+  operable: Boolean,
+  disabled: Boolean,
+  selectable: Boolean,
+  customClass: {
+    type: String,
+    default: ""
+  },
+  effect: {
+    type: String,
+    default: "light",
+    validator: function validator(value) {
+      return Boolean(~["dark", "light", "plain"].indexOf(value));
+    }
+  },
+  beforeDelete: Function,
+  value: [Number, String],
+  // mobile
+  mini: {
+    type: Boolean,
+    default: false
+  },
+  maxWidth: {
+    type: [String, Number],
+    default: null
+  }
+});
+var Tag = defineComponent({
+  name: $prefix + "Tag",
+  props: tagProps,
+  setup: function setup9(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$6
+    });
+  }
+});
+var version$7 = "3.16.0";
+Tag.install = function(Vue) {
+  Vue.component(Tag.name, Tag);
+};
+Tag.version = version$7;
+const index$7 = "";
+const _storeMap$1 = {};
+const storeMap = {
+  mixin(map2) {
+    Object.assign(_storeMap$1, map2);
+    return storeMap;
+  },
+  get(type) {
+    return _storeMap$1[type];
+  },
+  add(type, callback) {
+    _storeMap$1[type] = callback;
+    return storeMap;
+  },
+  delete(type) {
+    delete _storeMap$1[type];
+    return storeMap;
+  }
+};
+var storeMap_default = storeMap;
+const toType = (type) => toString_default(type).replace("_", "").toLowerCase();
+const eventTypes = [
+  "created",
+  "mounted",
+  "activated",
+  "beforeDestroy",
+  "destroyed",
+  "event.clearActived",
+  "event.clearFilter",
+  "event.showMenu",
+  "event.keydown"
+].map(toType);
+const _storeMap = {};
+const Interceptor = {
+  mixin(map2) {
+    each_default(map2, (callback, type) => Interceptor.add(type, callback));
+    return Interceptor;
+  },
+  get(type) {
+    return _storeMap[toType(type)] || [];
+  },
+  add(type, callback) {
+    const selfType = toType(type);
+    if (callback && ~eventTypes.indexOf(selfType)) {
+      _storeMap[selfType] = _storeMap[selfType] ? _storeMap[selfType] : [];
+      _storeMap[selfType].push(callback);
+    }
+    return Interceptor;
+  },
+  delete(type, callback) {
+    const eList = _storeMap[toType(type)];
+    if (eList) {
+      remove_default(eList, (cb) => cb === callback);
+    }
+    return Interceptor;
+  }
+};
+var interceptor_default = Interceptor;
+const wheelName = browser_default.isDoc && /Firefox/i.test(navigator.userAgent) ? "DOMMouseScroll" : "mousewheel";
+const eventStore$1 = [];
+const GlobalEvent = {
+  on(comp, type, cb) {
+    if (cb) {
+      eventStore$1.push({ comp, type, cb });
+    }
+  },
+  off(comp, type) {
+    remove_default(eventStore$1, (item) => item.comp === comp && item.type === type);
+  },
+  trigger(event) {
+    eventStore$1.forEach(({ comp, type, cb }) => {
+      if (type === event.type || type === "mousewheel" && event.type === wheelName) {
+        cb.call(comp, event);
+      }
+    });
+  }
+};
+if (browser_default.isDoc) {
+  on(document, "keydown", GlobalEvent.trigger);
+  on(document, "contextmenu", GlobalEvent.trigger);
+  on(window, "mousedown", GlobalEvent.trigger);
+  on(window, "blur", GlobalEvent.trigger);
+  on(window, "resize", GlobalEvent.trigger);
+  on(window, wheelName, GlobalEvent.trigger);
+}
+var event_default = GlobalEvent;
+const getFuncText = (content) => isFunction_default(content) ? content() : content;
+const getRowkey = ($table) => $table.rowId;
+const getRowid = ($table, row3) => {
+  const rowId = get_default(row3, getRowkey($table));
+  return rowId ? encodeURIComponent(rowId) : "";
+};
+const getColumnList = (columns2) => {
+  const result = [];
+  columns2.forEach((column) => {
+    if (column.children && column.children.length) {
+      result.push(...getColumnList(column.children));
+    } else {
+      result.push(column);
+    }
+  });
+  return result;
+};
+const getClass = (property2, params) => property2 ? isFunction_default(property2) ? property2(params) : property2 : "";
+const getFilters = (filters) => (filters || []).map(({ label, value, data: data8, checked }) => ({
+  label,
+  value,
+  data: data8,
+  _data: data8,
+  checked: !!checked
+}));
+const initFilter = (filter2) => {
+  return __spreadValues({
+    condition: {
+      input: "",
+      relation: "equals",
+      empty: null,
+      type: null,
+      value: []
+    },
+    hasFilter: false,
+    custom: null
+  }, filter2);
+};
+const formatText = (value) => `${isNull$1(value) ? "" : value}`;
+const setCellValue = (row3, column, value) => {
+  const { format: format2, property: property2 } = column;
+  if (format2 && format2.async && Array.isArray(format2.data) && format2.data.length > 0 && value) {
+    let labelText = "";
+    const { enabled, valueSplit, textSplit } = format2.async.splitConfig || {};
+    const findCellValue = (optionValue) => find$1(format2.data, (col) => {
+      if (typeof col === "object") {
+        const colLabel = get_default(col, format2.async.text || "label");
+        const colValue = get_default(col, format2.async.value || "value");
+        col.label = colLabel;
+        return optionValue === colValue || optionValue === colLabel;
+      }
+      return optionValue === col;
+    });
+    if (enabled) {
+      const labelTexts = [];
+      value.split(valueSplit || ",").forEach((item) => {
+        const findValue = findCellValue(item);
+        if (findValue) {
+          labelTexts.push(findValue.label);
+        }
+      });
+      labelText = labelTexts.join(textSplit || ",");
+    } else {
+      labelText = findCellValue(value);
+    }
+    set_default(row3, column.asyncPrefix + property2, labelText ? labelText.label : labelText);
+  }
+  set_default(row3, property2, value);
+};
+const hasChildrenList = (item) => item && item.children && item.children.length > 0;
+const destroyColumn = ($table, { columnConfig }) => {
+  const matchObj = findTree_default($table.collectColumn, (column) => column === columnConfig);
+  if (matchObj) {
+    matchObj.items.splice(matchObj.index, 1);
+  }
+  $table.collectColumn = $table.collectColumn.slice(0);
+};
+const emitEvent$1 = (vm, type, args) => {
+  if (vm.tableListeners[type]) {
+    const params = [].concat(args);
+    vm.$emit(type, ...params);
+  }
+};
+const assemColumn = ($table, $column, instance) => {
+  const { columnConfig, $el: elm, slots, $parent } = instance;
+  const { collectColumn: collectColumn2 } = $table;
+  columnConfig.slots = slots;
+  const parentNode = elm.parentNode;
+  const insertIndex = [].indexOf.call(parentNode.children, elm);
+  if (!$column || $column !== $parent) {
+    collectColumn2.splice(insertIndex, 0, columnConfig);
+  } else {
+    const parentConfig = $column.columnConfig;
+    if (!parentConfig.children) {
+      parentConfig.children = [];
+    }
+    parentConfig.children.splice(insertIndex, 0, columnConfig);
+  }
+  $table.collectColumn = collectColumn2.slice(0);
+};
+const getCellValue = (row3, column) => {
+  const { field, prop } = column.own;
+  const property2 = field || prop;
+  return get_default(row3, property2);
+};
+const getListeners = ($attrs, $listeners) => {
+  const regHyphenate = /\B([A-Z])/g;
+  const regEventPrefix = /^on[A-Z]/;
+  const listeners = {};
+  if ($listeners) {
+    return $listeners;
+  }
+  Object.keys($attrs).forEach((name) => {
+    const event = $attrs[name];
+    if (regEventPrefix.test(name) && typeof event === "function") {
+      listeners[name.slice(2).replace(regHyphenate, "-$1").toLowerCase()] = event;
+    }
+  });
+  return listeners;
+};
+let columnUniqueId = 0;
+function setBasicProperty(column, context) {
+  column.id = `col_${++columnUniqueId}`;
+  column.type = context.type;
+  column.prop = context.prop;
+  column.rules = context.rules;
+  column.required = context.required;
+  column.property = context.field || context.prop;
+  column.title = context.title;
+  column.label = context.label;
+  column.width = context.width;
+  column.minWidth = context.minWidth;
+  column.resizable = context.resizable;
+  column.fixed = context.fixed;
+  column.align = context.align;
+  column.headerAlign = context.headerAlign;
+  column.footerAlign = context.footerAlign;
+  column.showOverflow = context.showOverflow;
+  column.showHeaderOverflow = context.showHeaderOverflow;
+  column.showTip = context.showTip;
+  column.showHeaderTip = context.showHeaderTip;
+  column.className = context.class || context.className;
+  column.headerClassName = context.headerClassName;
+  column.footerClassName = context.footerClassName;
+  column.indexMethod = context.indexMethod;
+  column.formatText = context.formatText;
+  column.formatValue = context.formatValue;
+  column.format = context.formatConfig;
+  column.sortable = context.sortable;
+  column.sortBy = context.sortBy;
+  column.sortMethod = context.sortMethod;
+  column.remoteSort = context.remoteSort;
+  column.filterMultiple = isBoolean_default(context.filterMultiple) ? context.filterMultiple : true;
+  column.filterMethod = context.filterMethod;
+  column.filterRender = context.filterRender;
+  column.filter = context.filter && initFilter(context.filter);
+  column.treeNode = context.treeNode;
+  column.renderer = context.renderer;
+  column.editor = context.editor;
+  column.operationConfig = context.operationConfig;
+  column.equals = context.equals;
+}
+function ColumnConfig(context, { renderHeader: renderHeader2, renderCell: renderCell2, renderData } = {}, config2 = {}) {
+  setBasicProperty(this, context);
+  this.params = context.params;
+  this.visible = true;
+  this.level = 1;
+  this.rowSpan = 1;
+  this.colSpan = 1;
+  this.order = null;
+  this.renderWidth = 0;
+  this.renderHeight = 0;
+  this.resizeWidth = 0;
+  this.renderLeft = 0;
+  this.model = {};
+  this.renderHeader = renderHeader2 || context.renderHeader;
+  this.renderCell = renderCell2 || context.renderCell;
+  this.renderData = renderData;
+  this.showIcon = isBoolean_default(context.showIcon) ? context.showIcon : true;
+  this.loading = false;
+  this.slots = context.slots;
+  this.own = context;
+  this.asyncPrefix = config2.constant.asyncPrefix;
+}
+const getColumnConfig = (context, options, config2) => context instanceof ColumnConfig ? context : new ColumnConfig(context, options, config2);
+const emitEvent = (emit, name, ...args) => {
+  let cancel = false;
+  if (typeof emit === "function" && typeof name === "string") {
+    const event = document.createEvent("HTMLEvents");
+    event.initEvent(name, false, true);
+    event.preventDefault = () => {
+      cancel = true;
+    };
+    args.unshift(event);
+    args.unshift(name);
+    emit.apply(null, args);
+  }
+  return !cancel;
+};
+const getActualTarget = (e) => {
+  if (!e || !e.target) {
+    return null;
+  }
+  return e.target.shadowRoot && e.composed ? e.composedPath()[0] || e.target : e.target;
+};
+const ATTR_NAME = "data-rowid";
+const CELL_CLS = ".tiny-grid-cell";
+const ROW_CLS = ".tiny-grid-body__row";
+const isPx = (val) => val && /^\d+(px)?$/.test(val);
+const isScale = (val) => val && /^\d+%$/.test(val);
+const updateCellTitle = (event) => {
+  const cellEl = event.currentTarget.querySelector(CELL_CLS);
+  const content = cellEl.innerText;
+  if (cellEl.getAttribute("title") !== content) {
+    cellEl.setAttribute("title", content);
+  }
+};
+const rowToVisible = ($table, row3) => {
+  $table.$nextTick(() => {
+    const tableBodyVnode = $table.$refs.tableBody;
+    if (tableBodyVnode) {
+      const gridbodyEl = tableBodyVnode.$el;
+      const trEl = gridbodyEl.querySelector(`[${ATTR_NAME}="${getRowid($table, row3)}"]`);
+      if (trEl) {
+        const bodyHeight = gridbodyEl.clientHeight;
+        const bodySrcollTop = gridbodyEl.scrollTop;
+        const trOffsetTop = trEl.offsetTop + (trEl.offsetParent ? trEl.offsetParent.offsetTop : 0);
+        const trHeight = trEl.clientHeight;
+        if (trOffsetTop < bodySrcollTop || trOffsetTop > bodySrcollTop + bodyHeight) {
+          gridbodyEl.scrollTop = trOffsetTop;
+        } else if (trOffsetTop + trHeight >= bodyHeight + bodySrcollTop) {
+          gridbodyEl.scrollTop = bodySrcollTop + trHeight;
+        }
+      } else {
+        if ($table.scrollYLoad) {
+          gridbodyEl.scrollTop = ($table.afterFullData.indexOf(row3) - 1) * $table.scrollYStore.rowHeight;
+        }
+      }
+    }
+  });
+};
+function getFixedLeft($table, from, column, body, offset) {
+  let scrollLeft = $table.elemStore["main-body-wrapper"].scrollLeft + offset;
+  if (!column.fixed) {
+    from.fixed === "left" && (scrollLeft = 0);
+    from.fixed === "right" && (scrollLeft = body.scrollWidth);
+  }
+  return scrollLeft;
+}
+function computeScrollLeft($table, td) {
+  const { tableBody } = $table.$refs;
+  const { visibleColumn } = $table;
+  const { scrollLeft: bodyLeft, clientWidth: bodyWidth } = tableBody.$el;
+  let leftWidth = 0;
+  let rightWidth = 0;
+  visibleColumn.forEach((column) => {
+    if (column.fixed === "left") {
+      leftWidth += column.renderWidth;
+    } else if (column.fixed === "right") {
+      rightWidth += column.renderWidth;
+    }
+  });
+  const tdLeft = td._accumulateRenderWidth || td.offsetLeft + (td.offsetParent ? td.offsetParent.offsetLeft : 0);
+  const tdWidth = td._renderWidth || td.clientWidth;
+  let scrollLeft;
+  if (tdLeft < bodyLeft + leftWidth) {
+    scrollLeft = tdLeft - leftWidth;
+  } else if (tdLeft + tdWidth > bodyLeft + bodyWidth - rightWidth) {
+    scrollLeft = tdLeft + tdWidth - bodyWidth + rightWidth;
+  } else {
+    scrollLeft = bodyLeft;
+  }
+  return scrollLeft;
+}
+function setBodyLeft(body, td, $table, column, move) {
+  const { isLeftArrow, isRightArrow, from } = move || {};
+  body.scrollLeft = computeScrollLeft($table, td);
+  if (from) {
+    const direction = isLeftArrow ? "left" : isRightArrow ? "right" : null;
+    const fixedDom = $table.elemStore[`${direction}-body-list`];
+    const mainBody = $table.elemStore["main-body-wrapper"];
+    const { left, right } = td.getBoundingClientRect();
+    let offset = 0;
+    if (isLeftArrow && fixedDom) {
+      const div = fixedDom.querySelector("td.fixed__column");
+      const division = div ? div.getBoundingClientRect().left : fixedDom.getBoundingClientRect().right;
+      division > left && (offset = left - division);
+    }
+    if (isRightArrow && fixedDom) {
+      const div = fixedDom.querySelector("td:not(.fixed__column)") || fixedDom;
+      const division = div.getBoundingClientRect().left;
+      division < right && (offset = right - division);
+    }
+    mainBody.scrollLeft = getFixedLeft($table, from, column, body, offset);
+  }
+}
+const colToVisible = ($table, column, move) => {
+  $table.$nextTick(() => {
+    const gridbodyEl = $table.$refs.tableBody.$el;
+    const tdElem = gridbodyEl.querySelector(`.${column.id}`);
+    if (tdElem) {
+      setBodyLeft(gridbodyEl, tdElem, $table, column, move);
+    } else if ($table.scrollXLoad) {
+      const visibleColumn = $table.visibleColumn;
+      let scrollLeft = 0;
+      for (let index3 = 0; index3 < visibleColumn.length; index3++) {
+        if (visibleColumn[index3] === column) {
+          break;
+        }
+        scrollLeft += visibleColumn[index3].renderWidth;
+      }
+      gridbodyEl.scrollLeft = computeScrollLeft($table, {
+        _accumulateRenderWidth: scrollLeft,
+        _renderWidth: column.renderWidth
+      });
+    }
+  });
+};
+const hasDataTag = (el, value) => {
+  if (!el || !value || !el.getAttribute) {
+    return false;
+  }
+  return (" " + el.getAttribute("data-tag") + " ").includes(" " + value + " ");
+};
+const getEventTargetNode = (event, container, queryCls) => {
+  let targetEl;
+  let target = getActualTarget(event);
+  while (target && target.nodeType && target !== document) {
+    if (queryCls && (hasClass(target, queryCls) || hasDataTag(target, queryCls))) {
+      targetEl = target;
+    } else if (target === container) {
+      return {
+        flag: queryCls ? !!targetEl : true,
+        container,
+        targetElem: targetEl
+      };
+    }
+    target = target.parentNode;
+  }
+  return { flag: false };
+};
+function getNodeOffset(el, container, rest) {
+  if (el) {
+    const htmlEl = document.querySelector("html");
+    const bodyEl = document.body;
+    const parentEl = el.parentNode;
+    rest.top += el.offsetTop;
+    rest.left += el.offsetLeft;
+    if (parentEl && parentEl !== htmlEl && parentEl !== bodyEl) {
+      rest.top -= parentEl.scrollTop;
+      rest.left -= parentEl.scrollLeft;
+    }
+    if (container && (el === container || el.offsetParent === container) ? 0 : el.offsetParent) {
+      return getNodeOffset(el.offsetParent, container, rest);
+    }
+  }
+  return rest;
+}
+const getOffsetPos = (el, container) => getNodeOffset(el, container, { left: 0, top: 0 });
+const getCellNodeIndex = (cell) => {
+  const trEl = cell.parentNode;
+  const columnIndex = arrayIndexOf_default(trEl.children, cell);
+  const rowIndex = arrayIndexOf_default(trEl.parentNode.children, trEl);
+  return { columnIndex, rowIndex };
+};
+const getRowNodes = (trList, cellNode, targetCellNode) => {
+  const startColIndex = cellNode.columnIndex;
+  const startRowIndex = cellNode.rowIndex;
+  const targetColIndex = targetCellNode.columnIndex;
+  const targetRowIndex = targetCellNode.rowIndex;
+  const rows = [];
+  for (let rowIndex = Math.min(startRowIndex, targetRowIndex), rowLen = Math.max(startRowIndex, targetRowIndex); rowIndex <= rowLen; rowIndex++) {
+    const cells = [];
+    const trEl = trList[rowIndex];
+    for (let colIndex = Math.min(startColIndex, targetColIndex), colLen = Math.max(startColIndex, targetColIndex); colIndex <= colLen; colIndex++) {
+      cells.push(trEl.children[colIndex]);
+    }
+    rows.push(cells);
+  }
+  return rows;
+};
+const getCell = ($table, { row: row3, column }) => new Promise((resolve) => {
+  $table.$nextTick(() => {
+    const bodyElem = $table.$refs[`${column.fixed || "table"}Body`];
+    resolve(
+      (bodyElem || $table.$refs.tableBody).$el.querySelector(
+        `${ROW_CLS}[${ATTR_NAME}="${getRowid($table, row3)}"] .${column.id}`
+      )
+    );
+  });
+});
+const AfterLave = "after-leave";
+const Speed = 300;
+var after_leave_default = (instance, callback, speed = Speed, once = false) => {
+  if (!instance || !callback) {
+    throw new Error("instance & callback is required");
+  }
+  let called = false;
+  const eventCallback = function() {
+    if (called) {
+      return;
+    }
+    called = true;
+    if (typeof callback === "function") {
+      callback.apply(null, arguments);
+    }
+  };
+  if (once) {
+    instance.$once(AfterLave, eventCallback);
+  } else {
+    instance.$on(AfterLave, eventCallback);
+  }
+  setTimeout(eventCallback, speed + 100);
+};
+const handleAfterLeave = (emit) => () => {
+  emit("after-leave");
+};
+const setText = (state) => (text) => {
+  state.text = text;
+};
+const close = ({ state, constants: constants2, vm }) => () => {
+  after_leave_default(
+    vm,
+    () => {
+      const target = state.fullscreen || state.body ? document.body : state.target;
+      if (vm.$el && vm.$el.parentNode) {
+        removeClass(target, constants2.PARENT_RELATIVE_CLS);
+        removeClass(target, constants2.PARENT_HIDDEN_CLS);
+        vm.$el.parentNode.removeChild(vm.$el);
+      }
+      state.closed = true;
+    },
+    300
+  );
+  state.visible = false;
+};
+const api$5 = ["state", "handleAfterLeave", "setText", "close"];
+const renderless$5 = (props2, { reactive: reactive2, computed }, { constants: constants2, vm, emit, designConfig }) => {
+  const state = reactive2({
+    text: null,
+    spinner: null,
+    visible: false,
+    customClass: "",
+    background: null,
+    fullscreen: true,
+    closed: false,
+    size: "",
+    iconSize: "",
+    loadingImg: computed(() => {
+      var _a;
+      return props2.loadingImg || ((_a = designConfig == null ? void 0 : designConfig.props) == null ? void 0 : _a.loadingImg);
+    }),
+    iconStyle: computed(() => state.iconSize ? { width: state.iconSize + "px", height: state.iconSize + "px" } : {})
+  });
+  const api2 = {
+    state,
+    setText: setText(state),
+    handleAfterLeave: handleAfterLeave(emit),
+    close: close({ state, constants: constants2, vm })
+  };
+  return api2;
+};
+const index$6 = "";
+function _createForOfIteratorHelperLoose$a(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$a(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$a(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$a(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$a(o, minLen);
+}
+function _arrayLikeToArray$a(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$a = function _export_sfc210(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$a(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$h = defineComponent({
+  inheritAttrs: false,
+  name: $prefix + "Loading",
+  emits: ["after-leave"],
+  props: [].concat(props, ["_constants", "loadingImg", "size"]),
+  setup: function setup$1$110(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$5,
+      api: api$5
+    });
+  }
+});
+var _hoisted_1$8 = ["src"];
+var _hoisted_2$6 = {
+  key: 2,
+  class: "circular",
+  viewBox: "25 25 50 50"
+};
+var _hoisted_3$4 = /* @__PURE__ */ createBaseVNode(
+  "circle",
+  {
+    class: "path",
+    cx: "50",
+    cy: "50",
+    r: "24",
+    fill: "none"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$3 = [_hoisted_3$4];
+var _hoisted_5$3 = {
+  key: 3,
+  class: "tiny-loading__text"
+};
+function _sfc_render$b(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-loading-fade",
+    onAfterLeave: _ctx.handleAfterLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-loading",
+          class: normalizeClass(["tiny-loading tiny-loading__mask", [_ctx.state.customClass, {
+            "is-fullscreen": _ctx.state.fullscreen
+          }]]),
+          style: normalizeStyle({
+            backgroundColor: _ctx.state.background || ""
+          })
+        },
+        [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-loading__spinner", {
+              small: "tiny-loading__spinner-small",
+              medium: "tiny-loading__spinner-medium",
+              large: "tiny-loading__spinner-large"
+            }[_ctx.size]])
+          },
+          [_ctx.state.spinner ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.spinner), {
+            key: 0,
+            class: "tiny-icon-loading"
+          })) : _ctx.state.loadingImg ? (openBlock(), createElementBlock("img", {
+            key: 1,
+            class: "circular",
+            style: normalizeStyle(_ctx.state.iconStyle),
+            src: _ctx.state.loadingImg
+          }, null, 12, _hoisted_1$8)) : (openBlock(), createElementBlock("svg", _hoisted_2$6, _hoisted_4$3)), _ctx.state.text ? (openBlock(), createElementBlock(
+            "p",
+            _hoisted_5$3,
+            toDisplayString(_ctx.state.text),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["onAfterLeave"]);
+}
+var pc$4 = /* @__PURE__ */ _export_sfc$a(_sfc_main$h, [["render", _sfc_render$b]]);
+const loadingImg = "/ui/admin/assets/loading.png";
+const index$5 = "";
+var classes$2 = {
+  "loading-default": "m-0 top-0 right-0 left-0 bottom-0 block transition bg-color-bg-1 duration-1000",
+  "loading-fullscreen": "fixed opacity-80",
+  "loading-unfullscreen": "absolute",
+  "loading-content": "absolute -translate-y-2/4  w-full  top-1/2 text-center  flex justify-center items-center",
+  "loading-size-mini": "flex-row",
+  "loading-size-unmini": "flex-col",
+  "loading-unspinner": "animate-[spin_1.5s_linear_infinite] fill-current",
+  "loading-unspinner-size-default": "h-10 w-10 stroke-2",
+  "loading-unspinner-size-large": "h-24 w-24 stroke-2",
+  "loading-unspinner-size-medium": "h-10 w-10 stroke-2",
+  "loading-unspinner-size-small": "h-6 w-6 stroke-1",
+  "loading-unspinner-size-mini": "h-3.5 w-3.5 stroke-1",
+  "loading-unspinner-svg-circle": "stroke-color-brand tiny-loading-path",
+  "loading-spinner": "text-sm fill-color-brand leading-none animate-[spin_2s_linear_infinite]",
+  "loading-spinner-text": "tiny-tailwind-text block text-color-brand  text-xs leading-6",
+  "loading-spinner-size-mini": "my-0 ml-2",
+  "loading-spinner-size-unmini": "mb-1 mt-2.5"
+};
+function _createForOfIteratorHelperLoose$9(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$9(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$9(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$9(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$9(o, minLen);
+}
+function _arrayLikeToArray$9(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$9 = function _export_sfc211(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$9(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$9() {
+  _extends$9 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$9.apply(this, arguments);
+}
+var _sfc_main$g = defineComponent({
+  name: $prefix + "Loading",
+  emits: ["after-leave"],
+  props: _extends$9({}, $props, {
+    _constants: Object,
+    loadingImg: {
+      type: String,
+      default: loadingImg
+    },
+    size: {
+      type: String
+    }
+  }),
+  setup: function setup$1$111(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$5,
+      api: api$5,
+      classes: classes$2
+    });
+  }
+});
+var _hoisted_1$7 = ["src"];
+var _hoisted_2$5 = {
+  key: 2,
+  class: "tiny-mobile-loading__text"
+};
+function _sfc_render$a(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-loading-fade",
+    onAfterLeave: _ctx.handleAfterLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      var _ref;
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-mobile-loading", _ctx.state.customClass]),
+          style: normalizeStyle("background-color:" + _ctx.state.background)
+        },
+        [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-mobile-loading__body", (_ref = {}, _ref["tiny-mobile-loading-" + _ctx.size] = _ctx.size, _ref)])
+          },
+          [!_ctx.state.spinner ? (openBlock(), createElementBlock("img", {
+            key: 0,
+            class: "tiny-mobile-loading__icon",
+            src: _ctx.state.loadingImg,
+            style: normalizeStyle(_ctx.state.iconStyle)
+          }, null, 12, _hoisted_1$7)) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.spinner), {
+            key: 1,
+            class: "tiny-mobile-loading__spinner"
+          })), _ctx.state.text ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_2$5,
+            toDisplayString(_ctx.state.text),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["onAfterLeave"]);
+}
+var mobile$1 = /* @__PURE__ */ _export_sfc$9(_sfc_main$g, [["render", _sfc_render$a]]);
+var classes$1 = {
+  "loading-default": "m-0 top-0 right-0 left-0 bottom-0 block transition bg-color-bg-1 duration-1000",
+  "loading-fullscreen": "fixed opacity-80",
+  "loading-unfullscreen": "absolute",
+  "loading-content": "absolute -translate-y-2/4  w-full  top-1/2 text-center  flex justify-center items-center",
+  "loading-size-mini": "flex-row",
+  "loading-size-unmini": "flex-col",
+  "loading-unspinner": "animate-[spin_1.5s_linear_infinite] fill-current",
+  "loading-unspinner-size-default": "h-10 w-10 stroke-2",
+  "loading-unspinner-size-large": "h-24 w-24 stroke-2",
+  "loading-unspinner-size-medium": "h-10 w-10 stroke-2",
+  "loading-unspinner-size-small": "h-6 w-6 stroke-1",
+  "loading-unspinner-size-mini": "h-3.5 w-3.5 stroke-1",
+  "loading-unspinner-svg-circle": "stroke-color-brand tiny-loading-path",
+  "loading-spinner": "text-sm fill-color-brand leading-none animate-[spin_2s_linear_infinite]",
+  "loading-spinner-text": "tiny-tailwind-text block text-color-brand  text-xs leading-6",
+  "loading-spinner-size-mini": "my-0 ml-2",
+  "loading-spinner-size-unmini": "mb-1 mt-2.5"
+};
+function _createForOfIteratorHelperLoose$8(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$8(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$8(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$8(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$8(o, minLen);
+}
+function _arrayLikeToArray$8(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$8 = function _export_sfc212(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$8(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$f = defineComponent({
+  inheritAttrs: false,
+  name: $prefix + "Loading",
+  emits: ["after-leave"],
+  props: [].concat(props, ["_constants", "loadingImg", "size"]),
+  setup: function setup$1$112(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$5,
+      api: api$5,
+      classes: classes$1
+    });
+  }
+});
+var _hoisted_1$6 = ["src"];
+function _sfc_render$9(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-loading-fade",
+    onAfterLeave: _ctx.handleAfterLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-loading",
+          class: normalizeClass(_ctx.m(_ctx.state.customClass, _ctx.gcls("loading-default"), _ctx.gcls({
+            "loading-fullscreen": _ctx.state.fullscreen
+          }), _ctx.gcls({
+            "loading-unfullscreen": !_ctx.state.fullscreen
+          }))),
+          style: normalizeStyle("background-color:" + _ctx.state.background)
+        },
+        [createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-loading-body",
+            class: normalizeClass(_ctx.m(_ctx.gcls("loading-content"), _ctx.gcls({
+              "loading-size-mini": _ctx.size === "mini"
+            }), _ctx.gcls({
+              "loading-size-unmini": _ctx.size !== "mini"
+            })))
+          },
+          [!_ctx.state.spinner ? (openBlock(), createElementBlock("img", {
+            key: 0,
+            "data-tag": "tiny-loading-icon",
+            class: normalizeClass(_ctx.m(_ctx.gcls({
+              "loading-unspinner-size-default": !_ctx.size || !["large", "medium", "small", "mini"].includes(_ctx.size)
+            }), _ctx.gcls({
+              "loading-unspinner-size-large": _ctx.size === "large"
+            }), _ctx.gcls({
+              "loading-unspinner-size-medium": _ctx.size === "medium"
+            }), _ctx.gcls({
+              "loading-unspinner-size-small": _ctx.size === "small"
+            }), _ctx.gcls({
+              "loading-unspinner-size-mini": _ctx.size === "mini"
+            }))),
+            src: _ctx.state.loadingImg,
+            style: normalizeStyle(_ctx.state.iconStyle)
+          }, null, 14, _hoisted_1$6)) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.spinner), {
+            key: 1,
+            "data-tag": "tiny-loading-spinner",
+            class: normalizeClass(_ctx.m(_ctx.gcls("loading-spinner")))
+          }, null, 8, ["class"])), _ctx.state.text ? (openBlock(), createElementBlock(
+            "span",
+            {
+              key: 2,
+              "data-tag": "tiny-loading-text",
+              class: normalizeClass(_ctx.m(_ctx.gcls("loading-spinner-text"), _ctx.gcls({
+                "loading-spinner-size-mini": _ctx.size === "mini"
+              }), _ctx.gcls({
+                "loading-spinner-size-unmini": _ctx.size !== "mini"
+              })))
+            },
+            toDisplayString(_ctx.state.text),
+            3
+            /* TEXT, CLASS */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["onAfterLeave"]);
+}
+var mobileFirst$2 = /* @__PURE__ */ _export_sfc$8(_sfc_main$f, [["render", _sfc_render$9]]);
+function _extends$8() {
+  _extends$8 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$8.apply(this, arguments);
+}
+var template$5 = function template26(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$4;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$1;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$2;
+  }
+  return pc$4;
+};
+var loadingProps = _extends$8({}, $props, {
+  type: {
+    type: String,
+    validator: function validator2(value) {
+      return Boolean(~["primary", "simple"].indexOf(value));
+    }
+  },
+  loadtext: {
+    type: String,
+    default: function _default7() {
+      return constants.LOAD_ICON_TEXT;
+    }
+  },
+  _constants: {
+    type: Object,
+    default: function _default23() {
+      return constants;
+    }
+  },
+  loadingImg: {
+    type: String
+  },
+  size: {
+    type: String,
+    default: "small"
+  }
+});
+var Loading$1 = defineComponent({
+  name: $prefix + "Loading",
+  emits: [],
+  props: loadingProps,
+  setup: function setup10(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$5
+    });
+  }
+});
+var defaults = {
+  text: null,
+  body: false,
+  lock: false,
+  customClass: "",
+  fullscreen: true,
+  iconSize: ""
+};
+var fullscreenLoading = null;
+var constants = {
+  TEXT_ATTR: "tiny-loading__text",
+  IS_FULLSCREEN_CLS: "is-fullscreen",
+  TEXT_SPINNER: "tiny-loading__spinner",
+  TEXT_BACKGROUND: "tiny-loading__background",
+  TEXT_CUSTOM_CLS: "tiny-loading__custom-class",
+  PARENT_HIDDEN_CLS: "tiny-loading__parent-hidden",
+  PARENT_RELATIVE_CLS: "tiny-loading__parent-relative",
+  LOAD_ICON_TEXT: "ui.load.dot"
+};
+var addStyle = function addStyle2(options, parent, instance) {
+  var maskStyle = {};
+  if (options.fullscreen) {
+    instance.originalPosition = getStyle$2(document.body, "position");
+    instance.originalOverflow = getStyle$2(document.body, "overflow");
+    maskStyle.zIndex = popup_manager_default.nextZIndex();
+  } else if (options.body) {
+    var clientRect = options.target.getBoundingClientRect();
+    instance.originalPosition = getStyle$2(document.body, "position");
+    var direction = ["top", "left"];
+    direction.forEach(function(property2) {
+      var scroll = property2 === "top" ? "scrollTop" : "scrollLeft";
+      maskStyle[property2] = clientRect[property2] + document.body[scroll] + document.documentElement[scroll] + "px";
+    });
+    var size = ["height", "width"];
+    size.forEach(function(property2) {
+      maskStyle[property2] = clientRect[property2] + "px";
+    });
+  } else {
+    instance.originalPosition = getStyle$2(parent, "position");
+  }
+  Object.keys(maskStyle).forEach(function(property2) {
+    instance.$el.style[property2] = maskStyle[property2];
+  });
+};
+var service = function service2(configs) {
+  var _appProperties$tiny_m;
+  if (configs === void 0) {
+    configs = {};
+  }
+  configs = _extends$8({}, defaults, configs);
+  if (typeof configs.target === "string") {
+    configs.target = document.querySelector(configs.target);
+  }
+  configs.target = configs.target || document.body;
+  if (configs.target !== document.body) {
+    configs.fullscreen = false;
+  } else {
+    configs.body = true;
+  }
+  if (configs.fullscreen && fullscreenLoading && !fullscreenLoading.state.closed) {
+    return fullscreenLoading;
+  }
+  var parent = configs.body ? document.body : configs.target;
+  var loadingEl = parent.querySelector(':scope > [data-tag="tiny-loading"]');
+  loadingEl && parent.removeChild(loadingEl);
+  var instance = createComponent({
+    component: Loading$1,
+    propsData: {
+      _constants: constants,
+      size: configs.size,
+      loadingImg: configs.loadingImg,
+      tiny_mode: configs.tiny_mode || ((_appProperties$tiny_m = appProperties().tiny_mode) == null ? void 0 : _appProperties$tiny_m.value)
+    },
+    el: document.createElement("div")
+  });
+  for (var key in configs) {
+    if (Object.prototype.hasOwnProperty.call(configs, key)) {
+      instance.state[key] = configs[key];
+    }
+  }
+  addStyle(configs, parent, instance);
+  if (instance.originalPosition !== "absolute" && instance.originalPosition !== "fixed") {
+    addClass(parent, constants.PARENT_RELATIVE_CLS);
+  }
+  if (configs.fullscreen && configs.lock) {
+    addClass(parent, constants.PARENT_HIDDEN_CLS);
+  }
+  parent.appendChild(instance.$el);
+  nextTick(function() {
+    instance.state.visible = true;
+  });
+  if (configs.fullscreen) {
+    fullscreenLoading = instance;
+  }
+  return instance;
+};
+var insertDom = function insertDom2(parent, el, binding) {
+  if (!el.domVisible && getStyle$2(el, "display") !== "none" && getStyle$2(el, "visibility") !== "hidden") {
+    Object.keys(el.maskStyle).forEach(function(property2) {
+      el.mask.style[property2] = el.maskStyle[property2];
+    });
+    if (el.originalPosition !== "absolute" && el.originalPosition !== "fixed") {
+      addClass(parent, constants.PARENT_RELATIVE_CLS);
+    }
+    if (binding.modifiers.fullscreen && binding.modifiers.lock) {
+      addClass(parent, constants.PARENT_HIDDEN_CLS);
+    }
+    el.domVisible = true;
+    parent.appendChild(el.mask);
+    nextTick(function() {
+      if (el.instance.hiding) {
+        el.instance.$emit("after-leave");
+      } else {
+        el.instance.state.visible = true;
+      }
+    });
+    el.domInserted = true;
+  } else if (el.domVisible && el.instance.hiding === true) {
+    el.instance.state.visible = true;
+    el.instance.hiding = false;
+  }
+};
+var appendLoadingToBody = function appendLoadingToBody2(el, binding) {
+  var clientRect = el.getBoundingClientRect();
+  el.originalPosition = getStyle$2(document.body, "position");
+  var direction = ["top", "left"];
+  direction.forEach(function(property2) {
+    var scroll = property2 === "top" ? "scrollTop" : "scrollLeft";
+    el.maskStyle[property2] = clientRect[property2] + document.body[scroll] + document.documentElement[scroll] - parseInt(getStyle$2(document.body, "margin-" + property2), 10) + "px";
+  });
+  var size = ["height", "width"];
+  size.forEach(function(property2) {
+    el.maskStyle[property2] = clientRect[property2] + "px";
+  });
+  insertDom(document.body, el, binding);
+};
+var toggleLoading = function toggleLoading2(el, binding, maskInstance) {
+  if (binding.value) {
+    nextTick(function() {
+      if (binding.modifiers.fullscreen) {
+        el.originalPosition = getStyle$2(document.body, "position");
+        el.originalOverflow = getStyle$2(document.body, "overflow");
+        el.maskStyle.zIndex = popup_manager_default.nextZIndex();
+        addClass(el.mask, constants.IS_FULLSCREEN_CLS);
+        insertDom(document.body, el, binding);
+      } else {
+        removeClass(el.mask, constants.IS_FULLSCREEN_CLS);
+        if (binding.modifiers.body) {
+          appendLoadingToBody(el, binding);
+        } else {
+          el.originalPosition = getStyle$2(el, "position");
+          insertDom(el, el, binding);
+        }
+      }
+    });
+  } else {
+    after_leave_default(maskInstance, function() {
+      if (!maskInstance.hiding) {
+        return;
+      }
+      var target = binding.modifiers.fullscreen || binding.modifiers.body ? document.body : el;
+      el.domVisible = false;
+      removeClass(target, constants.PARENT_RELATIVE_CLS);
+      removeClass(target, constants.PARENT_HIDDEN_CLS);
+      maskInstance.hiding = false;
+    }, 300, true);
+    maskInstance.state.visible = false;
+    maskInstance.hiding = true;
+  }
+};
+var vLoading = {
+  bind: function bind(el, binding, vnode) {
+    var _vm$tiny_mode, _appProperties$tiny_m2;
+    var vm = vnode.context;
+    var textExr = el.getAttribute(constants.TEXT_ATTR);
+    var spinnerExr = el.getAttribute(constants.TEXT_SPINNER);
+    var backgroundExr = el.getAttribute(constants.TEXT_BACKGROUND);
+    var customClassExr = el.getAttribute(constants.TEXT_CUSTOM_CLS);
+    var mask = createComponent({
+      component: Loading$1,
+      propsData: {
+        _constants: constants,
+        tiny_mode: ((_vm$tiny_mode = vm.tiny_mode) == null ? void 0 : _vm$tiny_mode.value) || ((_appProperties$tiny_m2 = appProperties().tiny_mode) == null ? void 0 : _appProperties$tiny_m2.value)
+      },
+      el: document.createElement("div")
+    });
+    var config2 = _extends$8({}, defaults, {
+      text: vm && vm[textExr] || textExr,
+      spinner: vm && vm[spinnerExr] || spinnerExr,
+      background: vm && vm[backgroundExr] || backgroundExr,
+      customClass: vm && vm[customClassExr] || customClassExr,
+      fullscreen: !!binding.modifiers.fullscreen
+    });
+    for (var key in config2) {
+      if (Object.prototype.hasOwnProperty.call(config2, key)) {
+        mask.state[key] = config2[key];
+      }
+    }
+    el.instance = mask;
+    el.mask = mask.$el;
+    el.maskStyle = {};
+    binding.value && toggleLoading(el, binding, mask);
+  },
+  update: function update(el, binding) {
+    el.instance.setText(el.getAttribute(constants.TEXT_ATTR));
+    if (binding.oldValue !== binding.value) {
+      toggleLoading(el, binding, el.instance);
+    }
+  },
+  unbind: function unbind(el, binding) {
+    if (el.domInserted) {
+      el.mask && el.mask.parentNode && el.mask.parentNode.removeChild(el.mask);
+      toggleLoading(el, {
+        value: false,
+        modifiers: binding.modifiers
+      }, el.instance);
+    }
+    if (el.instance) {
+      typeof el.instance.$destroy === "function" && el.instance.$destroy();
+      el.instance = null;
+      el.mask = null;
+    }
+  }
+};
+var directive = directive$1({
+  vLoading
+}).vLoading;
+var version$6 = "3.16.0";
+var Loadings = {
+  install: function install(app) {
+    app.directive("loading", directive);
+  },
+  service,
+  directive,
+  version: version$6
+};
+setupComponent.TINYLoading = {
+  init: function init(root) {
+    var prefix = root.$apiPrefix || "$";
+    root[prefix + "loading"] = service;
+  }
+};
+const emitClick = (emit) => () => emit("click");
+const api$4 = ["state", "create"];
+const renderless$4 = (props2, { reactive: reactive2 }, { emit }) => {
+  const state = reactive2({
+    urlType: props2.type
+  });
+  const api2 = {
+    state,
+    create: emitClick(emit)
+  };
+  return api2;
+};
+function _createForOfIteratorHelperLoose$7(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$7(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$7(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$7(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$7(o, minLen);
+}
+function _arrayLikeToArray$7(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$7 = function _export_sfc213(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$7(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$e = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Exception",
+  components: {
+    TinyButton: Button$1
+  },
+  props: {
+    type: {
+      type: String,
+      default: "nodata"
+    },
+    message: String,
+    subMessage: String,
+    exceptionClass: String,
+    buttonText: String,
+    imageUrl: String
+  },
+  setup: function setup$1$113(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4
+    });
+  }
+});
+var _hoisted_1$5 = {
+  class: "tiny-mobile-exception__content"
+};
+var _hoisted_2$4 = ["src"];
+var _hoisted_3$3 = {
+  class: "tiny-mobile-exception__content-message"
+};
+var _hoisted_4$2 = {
+  class: "main-message"
+};
+var _hoisted_5$2 = {
+  key: 0,
+  class: "sub-message"
+};
+var _hoisted_6$1 = {
+  class: "tiny-mobile-exception__footer"
+};
+function _sfc_render$8(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_button = resolveComponent("tiny-button");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-mobile-exception", _ctx.exceptionClass])
+    },
+    [createBaseVNode("div", _hoisted_1$5, [_ctx.imageUrl ? (openBlock(), createElementBlock("img", {
+      key: 0,
+      src: _ctx.imageUrl,
+      class: "tiny-mobile-exception__image"
+    }, null, 8, _hoisted_2$4)) : (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 1,
+        class: normalizeClass(["tiny-mobile-exception__content-view", ["tiny-mobile-exception__content-" + _ctx.type]])
+      },
+      null,
+      2
+      /* CLASS */
+    )), renderSlot(_ctx.$slots, "content", {}, function() {
+      return [createBaseVNode("div", _hoisted_3$3, [createBaseVNode(
+        "div",
+        _hoisted_4$2,
+        toDisplayString(_ctx.state.message),
+        1
+        /* TEXT */
+      ), _ctx.subMessage ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_5$2,
+        toDisplayString(_ctx.subMessage),
+        1
+        /* TEXT */
+      )) : createCommentVNode("v-if", true), _ctx.type === "nodata" ? renderSlot(_ctx.$slots, "default", {
+        key: 1
+      }, function() {
+        return [createVNode(_component_tiny_button, {
+          onClick: _ctx.create,
+          type: "primary",
+          size: "medium",
+          round: ""
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.buttonText ? _ctx.buttonText : _ctx.t("ui.exception.create")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"])];
+      }) : createCommentVNode("v-if", true)])];
+    })]), createBaseVNode("div", _hoisted_6$1, [renderSlot(_ctx.$slots, "footer")])],
+    2
+    /* CLASS */
+  );
+}
+var mobile = /* @__PURE__ */ _export_sfc$7(_sfc_main$e, [["render", _sfc_render$8]]);
+function _createForOfIteratorHelperLoose$6(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$6(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$6(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$6(o, minLen);
+}
+function _arrayLikeToArray$6(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$6 = function _export_sfc214(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$6(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$7() {
+  _extends$7 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$7.apply(this, arguments);
+}
+var $constants = {
+  INTERNALCONFIG: {
+    NODATA: "ui.exception.nodatamf",
+    NOPERM: "ui.exception.nopermmf",
+    WEAKNET: "ui.exception.weaknetmf",
+    NORESULT: "ui.exception.noresult",
+    NONEWS: "ui.exception.nonews",
+    PAGENOPERM: "ui.exception.pagenoperm",
+    PAGEWEAKNET: "ui.exception.pageweaknet",
+    PAGENOTHING: "ui.exception.pagenothing",
+    PAGESERVERERROR: "ui.exception.pageservererror"
+  },
+  ICONCONFIG: {
+    NODATA: "icon-no-data",
+    NOPERM: "icon-no-perm",
+    NONEWS: "icon-no-news",
+    WEAKNET: "icon-weaknet",
+    NORESULT: "icon-no-result",
+    PAGENOPERM: "icon-page-noperm",
+    PAGENOTHING: "icon-page-nothing",
+    PAGESERVERERROR: "icon-page-servererror",
+    PAGEWEAKNET: "icon-page-weaknet"
+  }
+};
+var _sfc_main$d = defineComponent({
+  components: {
+    TinyButton: Button$1,
+    IconNoData: index$p(),
+    IconNoNews: index$o(),
+    IconNoPerm: index$n(),
+    IconNoResult: index$m(),
+    IconWeaknet: index$h(),
+    IconPageNoperm: index$l(),
+    IconPageNothing: index$k(),
+    IconPageServererror: index$j(),
+    IconPageWeaknet: index$i()
+  },
+  emits: ["click"],
+  props: _extends$7({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default8() {
+        return $constants;
+      }
+    },
+    type: {
+      type: String,
+      default: "nodata"
+    },
+    subMessage: String,
+    exceptionClass: String,
+    pageEmpty: {
+      type: Boolean,
+      default: false
+    },
+    componentPage: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  setup: function setup$1$114(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4
+    });
+  }
+});
+var _hoisted_1$4 = {
+  "data-tag": "tiny-exception-body"
+};
+var _hoisted_2$3 = {
+  class: "bg-cover",
+  "data-tag": "tiny-exception-image"
+};
+var _hoisted_3$2 = {
+  "data-tag": "tiny-exception-description"
+};
+var _hoisted_4$1 = {
+  key: 0,
+  "data-tag": "tiny-exception-submessage",
+  class: "leading-5.5 sm:leading-3 sm:text-xs mt-1 sm:mt-2 text-color-icon-placeholder"
+};
+var _hoisted_5$1 = {
+  class: "sm:mt-4 mt-6 inline-block"
+};
+function _sfc_render$7(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-exception",
+      class: normalizeClass(_ctx.m("flex t-0 justify-center items-center w-full h-full bg-transparent sm:bg-color-bg-1 text-center", _ctx.exceptionClass))
+    },
+    [createBaseVNode("div", _hoisted_1$4, [createBaseVNode("div", _hoisted_2$3, [_ctx.state.urlType ? (openBlock(), createBlock(resolveDynamicComponent(_ctx._constants.ICONCONFIG[_ctx.type.toUpperCase()]), {
+      key: 0,
+      "custom-class": _ctx.componentPage ? "w-24 h-24" : "w-52 h-40"
+    }, null, 8, ["custom-class"])) : createCommentVNode("v-if", true)]), renderSlot(_ctx.$slots, "content", {}, function() {
+      return [createBaseVNode("div", _hoisted_3$2, [createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-exception-componentpage",
+          class: normalizeClass(["text-color-text-primary mt-1 text-center text-sm", _ctx.componentPage ? "sm:text-xs" : "sm:text-sm"])
+        },
+        toDisplayString(_ctx.t(_ctx._constants.INTERNALCONFIG[_ctx.type.toUpperCase()])),
+        3
+        /* TEXT, CLASS */
+      ), _ctx.subMessage ? (openBlock(), createElementBlock(
+        "div",
+        _hoisted_4$1,
+        toDisplayString(_ctx.subMessage),
+        1
+        /* TEXT */
+      )) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_5$1, [renderSlot(_ctx.$slots, "default")])])];
+    })])],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$d, [["render", _sfc_render$7]]);
+const index$4 = "";
+function _extends$6() {
+  _extends$6 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$6.apply(this, arguments);
+}
+var template$4 = function template27(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$1;
+  }
+  return mobile;
+};
+var Exception = defineComponent({
+  name: $prefix + "Exception",
+  props: _extends$6({}, $props, {
+    type: {
+      type: String,
+      default: "nodata"
+    },
+    message: String,
+    subMessage: String,
+    exceptionClass: String,
+    imageUrl: String,
+    pageEmpty: {
+      type: Boolean,
+      default: false
+    },
+    componentPage: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  setup: function setup11(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$4
+    });
+  }
+});
+var version$5 = "3.16.0";
+Exception.install = function(Vue) {
+  Vue.component(Exception.name, Exception);
+};
+Exception.version = version$5;
+const isIE = browser_default.name === "ie";
+const rgbRegExp = /^rgba?\((\d+),\s(\d+),\s(\d+)([\s\S]*)\)$/;
+const hexRegExp = /^#([a-zA-Z0-9]{3}|[a-zA-Z0-9]{6})$/;
+function computeColor(rgbColor) {
+  const rgb = rgbRegExp.exec(rgbColor).slice(1, 4);
+  return parseInt(rgb[0]).toString(16) + parseInt(rgb[1]).toString(16) + parseInt(rgb[2]).toString(16);
+}
+function getBgc(dom) {
+  const getComputedStyle = window.getComputedStyle;
+  const backgroundColor = isIE ? dom.currentStyle.backgroundColor : getComputedStyle(dom).backgroundColor;
+  if (rgbRegExp.test(backgroundColor)) {
+    return computeColor(backgroundColor);
+  } else if (hexRegExp.test(backgroundColor)) {
+    const bgc = backgroundColor.slice(1);
+    if (bgc.length === 3) {
+      return bgc.split("").map((s) => s + s).join("");
+    }
+    return bgc;
+  }
+  return "ffffff";
+}
+function funcFromCodePoint() {
+  let codeUnitArr = [];
+  let codeLength = 0;
+  let resultStr = "";
+  for (let i = 0, length = arguments.length; i !== length; ++i) {
+    let cp = Number(arguments[i]);
+    if (!(cp < 1114111 && cp >>> 0 === cp)) {
+      throw new RangeError("Invalid code point: " + cp);
+    }
+    if (cp <= 65535) {
+      codeLength = codeUnitArr.push(cp);
+    } else {
+      cp -= 65536;
+      codeLength = codeUnitArr.push((cp >> 10) + 55296, cp % 1024 + 56320);
+    }
+    if (codeLength >= 16383) {
+      resultStr += String.fromCharCode.apply(null, codeUnitArr);
+      codeUnitArr.length = 0;
+    }
+  }
+  return resultStr + String.fromCharCode.apply(null, codeUnitArr);
+}
+const defaultOptions = {
+  plugins: {
+    XLSX: null,
+    // xlsx 插件
+    XLSXX: null,
+    // xlsx-style 插件
+    FileSaver: null
+    // FileSaver 插件
+  },
+  table: {
+    sheetName: "tiny-sheet",
+    formatMethod: ({ value, type }) => ({ value, type }),
+    styleMethod: ({ style }) => style,
+    rowHeightMethod: ({ height: height2 }) => height2,
+    columnWidthMethod: ({ width }) => width,
+    mergesMethod: (merges) => merges
+  }
+};
+function s2ab(s) {
+  const buf = new ArrayBuffer(s.length);
+  const view = new Uint8Array(buf);
+  for (let i = 0; i !== s.length; i++) {
+    view[i] = s.charCodeAt(i) & 255;
+  }
+  return buf;
+}
+function adjustHeight(hpx) {
+  const n = parseInt(hpx / 36);
+  return hpx - 10 * n;
+}
+function initHeaderDatas({ datas, headerRowCount, headerTrs }) {
+  let maxColSpanCount = [-1, 0];
+  for (let i = 0; i < headerRowCount; i++) {
+    const childNodes = headerTrs[i].childNodes;
+    let colSpanCount = 0;
+    for (let j = 0; j < childNodes.length; j++) {
+      if (~childNodes[j].className.split(/\s/).indexOf("col__gutter")) {
+        break;
+      }
+      colSpanCount += childNodes[j].colSpan;
+    }
+    if (colSpanCount > maxColSpanCount[1]) {
+      maxColSpanCount[0] = i;
+      maxColSpanCount[1] = colSpanCount;
+    }
+  }
+  for (let i = 0; i < headerRowCount; i++) {
+    datas.push([]);
+    for (let j = 0; j < maxColSpanCount[1]; j++) {
+      datas[i].push("");
+    }
+  }
+}
+function buildHeaderMerges({ datas, headerTrs, rowHeightMethod, ths, ws }) {
+  for (let i = 0; i < headerTrs.length; i++) {
+    const headerTrRect = headerTrs[i].getBoundingClientRect();
+    const childNodes = headerTrs[i].childNodes;
+    let rowHeight = Math.round(headerTrRect.height);
+    let lastColSpan = 0;
+    rowHeight = rowHeightMethod ? rowHeightMethod({ rowIndex: i, height: rowHeight }) : rowHeight;
+    ws["!rows"].push({ hpx: adjustHeight(rowHeight) });
+    for (let j = 0; j < childNodes.length; j++) {
+      if (~childNodes[j].className.split(/\s/).indexOf("col__gutter")) {
+        break;
+      }
+      ths.push(childNodes[j]);
+      const colSpan = childNodes[j].colSpan;
+      const rowSpan = childNodes[j].rowSpan;
+      const textContent = childNodes[j].textContent;
+      if (colSpan > 1) {
+        ws["!merges"].push({
+          s: { r: i, c: lastColSpan },
+          e: { r: i, c: lastColSpan + colSpan - 1 }
+        });
+      }
+      if (rowSpan > 1) {
+        ws["!merges"].push({
+          s: { r: i, c: lastColSpan },
+          e: { r: i + rowSpan - 1, c: lastColSpan }
+        });
+      }
+      if (i !== headerTrs.length - 1) {
+        datas[i].splice(lastColSpan, 1, textContent);
+      }
+      lastColSpan += colSpan;
+    }
+  }
+}
+function buildColids({ $table, colids, columnWidthMethod, datas, ths, ws }) {
+  const getColWidth = (column, level) => {
+    if (column.children) {
+      for (let i = 0; i < column.children.length; i++) {
+        getColWidth(column.children[i], level + 1);
+      }
+    } else {
+      const colid = column.id;
+      for (let i = 0; i < ths.length; i++) {
+        if (ths[i].dataset.colid === colid) {
+          colids.push(colid);
+          const thRect = ths[i].getBoundingClientRect();
+          let columnWidth = Math.round(thRect.width);
+          columnWidth = columnWidthMethod ? columnWidthMethod({
+            columnIndex: colids.length - 1,
+            width: columnWidth
+          }) : columnWidth;
+          ws["!cols"].push({ wch: Math.round(columnWidth / 10) });
+          datas[level].splice(
+            colids.length - 1,
+            1,
+            typeof column.title === "string" ? column.title : ths[i].textContent
+          );
+          break;
+        }
+      }
+    }
+  };
+  const collectColumn2 = $table.collectColumn;
+  for (let i = 0; i < collectColumn2.length; i++) {
+    getColWidth(collectColumn2[i], 0);
+  }
+}
+function buildHeader({ $table, colids, datas, headerRowCount, headerTrs, opts, ws }) {
+  if (headerRowCount === 0) {
+    return;
+  }
+  const rowHeightMethod = opts.table.rowHeightMethod;
+  const columnWidthMethod = opts.table.columnWidthMethod;
+  const ths = [];
+  initHeaderDatas({ datas, headerRowCount, headerTrs });
+  buildHeaderMerges({ datas, headerTrs, rowHeightMethod, ths, ws });
+  buildColids({ $table, colids, columnWidthMethod, datas, ths, ws });
+}
+function updateRowsDatas({ childNodes, colids, datas, i, offset, rowHeight, rowHeightMethod, ws }) {
+  rowHeight = rowHeightMethod ? rowHeightMethod({ rowIndex: i + offset, height: rowHeight }) : rowHeight;
+  ws["!rows"].push({ hpx: adjustHeight(rowHeight) });
+  datas.push([]);
+  for (let j = 0; j < colids.length; j++) {
+    let rowTd = null;
+    let textContent = "";
+    for (let k = 0; k < childNodes.length; k++) {
+      if (childNodes[k].dataset.colid === colids[j]) {
+        rowTd = childNodes[k];
+        break;
+      }
+    }
+    if (rowTd) {
+      textContent = rowTd.textContent;
+      rowTd = null;
+    }
+    datas[offset + i].push(textContent);
+  }
+}
+function updateMerges({ childNodes, colids, i, offset, ws }) {
+  for (let j = 0; j < childNodes.length; j++) {
+    const colSpan = childNodes[j].colSpan;
+    const rowSpan = childNodes[j].rowSpan;
+    const colid = childNodes[j].dataset.colid;
+    const sc = colids.indexOf(colid);
+    const sr = offset + i;
+    if (colSpan > 1 && rowSpan > 1) {
+      ws["!merges"].push({
+        s: { r: sr, c: sc },
+        e: { r: sr + rowSpan - 1, c: sc + colSpan - 1 }
+      });
+    } else if (colSpan > 1) {
+      ws["!merges"].push({
+        s: { r: sr, c: sc },
+        e: { r: sr, c: sc + colSpan - 1 }
+      });
+    } else if (rowSpan > 1) {
+      ws["!merges"].push({
+        s: { r: sr, c: sc },
+        e: { r: sr + rowSpan - 1, c: sc }
+      });
+    }
+  }
+}
+function buildBody({ bodyRowCount, bodyTrs, colids, datas, headerRowCount, opts, ws }) {
+  if (bodyRowCount === 0) {
+    return;
+  }
+  const rowHeightMethod = opts.table.rowHeightMethod;
+  const offset = headerRowCount;
+  for (let i = 0; i < bodyTrs.length; i++) {
+    const bodyTrRect = bodyTrs[i].getBoundingClientRect();
+    const childNodes = bodyTrs[i].childNodes;
+    let rowHeight = Math.round(bodyTrRect.height);
+    updateRowsDatas({
+      colids,
+      childNodes,
+      i,
+      datas,
+      rowHeight,
+      rowHeightMethod,
+      offset,
+      ws
+    });
+    updateMerges({ childNodes, colids, i, offset, ws });
+  }
+}
+function genExcelColNames() {
+  const excelColNames = [];
+  const f = funcFromCodePoint;
+  for (let i = -1; i < 26; i++) {
+    for (let j = 0; j < 26; j++) {
+      excelColNames.push((i === -1 ? "" : f(65 + i)) + f(65 + j));
+    }
+  }
+  return excelColNames;
+}
+function buildRef({ colids, datas, excelColNames, ws }) {
+  let fullref = "";
+  if (colids.length > 0 && datas.length > 0) {
+    fullref = "A1:" + excelColNames[colids.length - 1] + datas.length;
+  }
+  ws["!fullref"] = fullref;
+  ws["!ref"] = fullref;
+}
+function updateCellStyle({
+  bodyRowCount,
+  bodyTrBgcArr,
+  footerTrBgc,
+  headerRowCount,
+  headerWrapperBgc,
+  rowIndex,
+  showBorder,
+  style
+}) {
+  style.font = { name: "Microsoft YaHei", sz: 12, color: { rgb: "000000" } };
+  if (rowIndex < headerRowCount) {
+    style.fill = { fgColor: { rgb: headerWrapperBgc } };
+    style.font.bold = true;
+  } else if (rowIndex < headerRowCount + bodyRowCount) {
+    style.fill = { fgColor: { rgb: bodyTrBgcArr[rowIndex - headerRowCount] } };
+  } else {
+    style.fill = { fgColor: { rgb: footerTrBgc } };
+  }
+  if (showBorder) {
+    style.border = {
+      top: { style: "thin", color: { rgb: "000000" } },
+      bottom: { style: "thin", color: { rgb: "000000" } },
+      left: { style: "thin", color: { rgb: "000000" } },
+      right: { style: "thin", color: { rgb: "000000" } }
+    };
+  }
+  style.alignment = { vertical: "center", horizontal: "left", wrapText: false };
+}
+function buildDatas({
+  showBorder,
+  bodyRowCount,
+  bodyTrBgcArr,
+  headerRowCount,
+  colids,
+  datas,
+  footerTrBgc,
+  headerWrapperBgc,
+  excelColNames,
+  opts,
+  $table,
+  ws
+}) {
+  if (datas.length === 0) {
+    return;
+  }
+  const styleMethod = opts.table.styleMethod;
+  const formatMethod = opts.table.formatMethod;
+  const fullColumn = $table.getTableColumn().fullColumn;
+  const isIndexColData = (i, j, indexColIndex2, headerRowCount2, bodyRowCount2) => indexColIndex2 === j && i >= headerRowCount2 && i < headerRowCount2 + bodyRowCount2;
+  let indexColIndex;
+  for (let i = 0; i < fullColumn.length; i++) {
+    if (fullColumn[i].type === "index") {
+      indexColIndex = colids.indexOf(fullColumn[i].id);
+      break;
+    }
+  }
+  for (let i = 0; i < datas.length; i++) {
+    for (let j = 0; j < datas[i].length; j++) {
+      let type = isIndexColData(i, j, indexColIndex, headerRowCount, bodyRowCount) ? "n" : "s";
+      let value = isIndexColData(i, j, indexColIndex, headerRowCount, bodyRowCount) ? parseInt(datas[i][j]) : datas[i][j].trim();
+      let style = {};
+      updateCellStyle({
+        bodyRowCount,
+        bodyTrBgcArr,
+        columnIndex: j,
+        footerTrBgc,
+        headerRowCount,
+        headerWrapperBgc,
+        rowIndex: i,
+        showBorder,
+        style
+      });
+      if (styleMethod) {
+        style = styleMethod({ rowIndex: i, columnIndex: j, style });
+      }
+      if (formatMethod) {
+        const ret = formatMethod({ rowIndex: i, columnIndex: j, value, type });
+        type = ret.type;
+        value = ret.value;
+      }
+      ws[excelColNames[j] + (i + 1)] = { t: type, v: value, s: style };
+    }
+  }
+}
+function buildWb({ XLSXX, opts, ws }) {
+  ws = ws["!cols"].length === 0 || ws["!rows"].length === 0 ? {} : ws;
+  const sheetName = opts.table.sheetName;
+  const merges = ws["!merges"];
+  if (merges) {
+    const mergesMethod = opts.table.mergesMethod;
+    ws["!merges"] = mergesMethod ? mergesMethod(merges) : merges;
+  }
+  const wb = {
+    Props: {
+      Application: "SheetJS",
+      SheetNames: [sheetName],
+      Worksheets: 1
+    },
+    SSF: XLSXX.SSF.get_table(),
+    SheetNames: [sheetName],
+    Sheets: {
+      [sheetName]: ws
+    }
+  };
+  return wb;
+}
+function computeBodyTrBgcArr(bodyTrs, isStripe) {
+  const arr = [];
+  for (let i = 0; i < bodyTrs.length; i++) {
+    arr.push(isStripe ? getBgc(bodyTrs[i]) : "ffffff");
+  }
+  return arr;
+}
+function queryDom($table) {
+  const headerTrs = $table.$el.querySelectorAll(".tiny-grid__header-wrapper.body__wrapper .tiny-grid-header__row");
+  const bodyTrs = $table.$el.querySelectorAll(".tiny-grid__body-wrapper.body__wrapper .tiny-grid-body__row:not(.group)");
+  const footerTrs = $table.$el.querySelectorAll(".tiny-grid__footer-wrapper.body__wrapper .tiny-grid-footer__row");
+  const headerWrapper = $table.$el.querySelector(".tiny-grid__header-wrapper.body__wrapper");
+  return { bodyTrs, footerTrs, headerTrs, headerWrapper };
+}
+function getTableAttr($table, headerWrapper, bodyTrs) {
+  const showBorder = ~$table.$el.className.split(/\s/).indexOf("tiny-grid__border");
+  const isStripe = ~$table.$el.className.split(/\s/).indexOf("tiny-grid__stripe");
+  const headerWrapperBgc = headerWrapper ? getBgc(headerWrapper) : "ffffff";
+  const bodyTrBgcArr = computeBodyTrBgcArr(bodyTrs, isStripe);
+  const footerTrBgc = "ffffff";
+  return { showBorder, headerWrapperBgc, bodyTrBgcArr, footerTrBgc };
+}
+function buildColidsByVisibleColumn({ $table, bodyRowCount, bodyTrs, colids, opts, ws }) {
+  if (colids.length > 0 || bodyRowCount === 0) {
+    return;
+  }
+  const columnWidthMethod = opts.table.columnWidthMethod;
+  const tds = [];
+  for (let i = 0; i < bodyTrs.length; i++) {
+    for (let j = 0; j < bodyTrs[i].childNodes.length; j++) {
+      tds.push(bodyTrs[i].childNodes[j]);
+    }
+  }
+  for (let i = 0; i < $table.visibleColumn.length; i++) {
+    let colid = $table.visibleColumn[i].id;
+    for (let j = 0; j < tds.length; j++) {
+      if (tds[j].dataset.colid === colid) {
+        colids.push(colid);
+        const tdRect = tds[j].getBoundingClientRect();
+        const colSpan = tds[j].colSpan;
+        let columnWidth = Math.round(tdRect.width / colSpan);
+        columnWidth = columnWidthMethod ? columnWidthMethod({
+          columnIndex: colids.length - 1,
+          width: columnWidth
+        }) : columnWidth;
+        ws["!cols"].push({ wch: Math.round(columnWidth / 10) });
+        break;
+      }
+    }
+  }
+}
+function buildFooter({ bodyRowCount, colids, datas, footerRowCount, footerTrs, headerRowCount, opts, ws }) {
+  if (footerRowCount === 0) {
+    return;
+  }
+  const rowHeightMethod = opts.table.rowHeightMethod;
+  const offset = headerRowCount + bodyRowCount;
+  for (let i = 0; i < footerTrs.length; i++) {
+    const footerTrRect = footerTrs[i].getBoundingClientRect();
+    const childNodes = footerTrs[i].childNodes;
+    let rowHeight = Math.round(footerTrRect.height);
+    updateRowsDatas({
+      childNodes,
+      colids,
+      datas,
+      i,
+      offset,
+      rowHeight,
+      rowHeightMethod,
+      ws
+    });
+    updateMerges({ childNodes, colids, i, offset, ws });
+  }
+}
+function createExcelFromDom($table, opts) {
+  const { XLSXX } = opts.plugins;
+  const { bodyTrs, footerTrs, headerTrs, headerWrapper } = queryDom($table);
+  const { showBorder, headerWrapperBgc, bodyTrBgcArr, footerTrBgc } = getTableAttr($table, headerWrapper, bodyTrs);
+  const headerRowCount = headerTrs.length;
+  const bodyRowCount = bodyTrs.length;
+  const footerRowCount = footerTrs.length;
+  const ws = {};
+  const datas = [];
+  const colids = [];
+  const excelColNames = genExcelColNames();
+  ws["!rows"] = [];
+  ws["!cols"] = [];
+  ws["!merges"] = [];
+  buildHeader({ $table, colids, datas, headerRowCount, headerTrs, opts, ws });
+  buildColidsByVisibleColumn({ $table, bodyRowCount, bodyTrs, colids, opts, ws });
+  buildBody({ bodyRowCount, bodyTrs, colids, datas, headerRowCount, opts, ws });
+  buildFooter({ bodyRowCount, colids, datas, footerRowCount, footerTrs, headerRowCount, opts, ws });
+  buildRef({ colids, datas, excelColNames, ws });
+  buildDatas({
+    $table,
+    bodyRowCount,
+    bodyTrBgcArr,
+    colids,
+    datas,
+    excelColNames,
+    footerTrBgc,
+    headerRowCount,
+    headerWrapperBgc,
+    opts,
+    showBorder,
+    ws
+  });
+  return buildWb({ XLSXX, opts, ws });
+}
+function exportExcel($table, options) {
+  const opts = extend(true, {}, options);
+  opts.plugins = opts.plugins || {};
+  if (!opts.plugins.XLSX || !opts.plugins.XLSXX || !opts.plugins.FileSaver) {
+    return;
+  }
+  opts.table = opts.table || {};
+  opts.table.sheetName = opts.table.sheetName || defaultOptions.table.sheetName;
+  opts.table.formatMethod = opts.table.formatMethod || defaultOptions.table.formatMethod;
+  opts.table.styleMethod = opts.table.styleMethod || defaultOptions.table.styleMethod;
+  opts.table.rowHeightMethod = opts.table.rowHeightMethod || defaultOptions.table.rowHeightMethod;
+  opts.table.columnWidthMethod = opts.table.columnWidthMethod || defaultOptions.table.columnWidthMethod;
+  opts.table.mergesMethod = opts.table.mergesMethod || defaultOptions.table.mergesMethod;
+  const wb = createExcelFromDom($table, opts);
+  const { XLSXX, FileSaver } = opts.plugins;
+  const wopts = { bookType: "xlsx", bookSST: false, type: "binary" };
+  const wbout = XLSXX.write(wb, wopts);
+  FileSaver.saveAs(new Blob([s2ab(wbout)], { type: "" }), opts.table.sheetName + ".xlsx");
+}
+const getCsvLabelData = (columns2, oData, tableElem) => {
+  const trElemList = tableElem.querySelectorAll(".tiny-grid__body-wrapper.body__wrapper .tiny-grid-body__row");
+  const trData = [];
+  for (let i = 0, len = trElemList.length; i < len; i++) {
+    const item = {};
+    const trElem = trElemList[i];
+    columns2.forEach((column) => {
+      const cell = trElem.querySelector(`.${column.id}`);
+      item[column.id] = cell ? cell.innerText.trim() : "";
+    });
+    trData.push(item);
+  }
+  return trData;
+};
+const getCsvData = (opts, oData, oColumns, tableElem) => {
+  const isOriginal = opts.original;
+  let columns2 = opts.columns ? opts.columns : oColumns;
+  if (opts.columnFilterMethod) {
+    columns2 = columns2.filter(opts.columnFilterMethod);
+  }
+  let datas = opts.data ? opts.data : isOriginal ? oData : getCsvLabelData(columns2, oData, tableElem);
+  if (opts.dataFilterMethod) {
+    datas = datas.filter(opts.dataFilterMethod);
+  }
+  return { columns: columns2, datas };
+};
+const getCsvContent = ($table, opts, oColumns, oData) => {
+  const isOriginal = opts.original;
+  const tableEl = $table.$el;
+  const tab = opts.useTabs === false ? "" : "	";
+  const { columns: columns2, datas } = getCsvData(opts, oData, oColumns, tableEl);
+  let content = "\uFEFF";
+  const transfrom = (str) => {
+    if (typeof str === "string" && str.replace(/ /g, "").match(/[\s,"]/)) {
+      str = '"' + str.replace(/"/g, '""') + '"';
+    }
+    if (typeof str === "string" && str.match(/^([@=]|([-\\+].*[^0-9\\.])).*$/)) {
+      str = " " + str;
+    }
+    return str + tab;
+  };
+  if (opts.isHeader) {
+    content += columns2.map(({ own }) => transfrom(getFuncText(own.title || own.label))).join(",") + "\n";
+  }
+  datas.forEach((row3, rowIndex) => {
+    if (isOriginal) {
+      content += columns2.map((column) => {
+        if (column.type === "index") {
+          return column.indexMethod ? column.indexMethod(rowIndex) : rowIndex + 1;
+        }
+        return transfrom(getCellValue(row3, column));
+      }).join(",") + "\n";
+    } else {
+      content += columns2.map((column) => transfrom(row3[column.id])).join(",") + "\n";
+    }
+  });
+  if (opts.isFooter) {
+    const footerData = $table.footerData;
+    const footers = opts.footerFilterMethod ? footerData.filter(opts.footerFilterMethod) : footerData;
+    const filterMaps = $table.tableColumn.map((column) => ~columns2.indexOf(column));
+    footers.forEach((rows) => {
+      content += rows.filter((val, colIndex) => filterMaps[colIndex]).join(",") + "\n";
+    });
+  }
+  return content;
+};
+const getCsvUrl = (opts, content) => {
+  if (window.Blob && window.URL && window.URL.createObjectURL && browser_default.name !== "safari") {
+    return URL.createObjectURL(new Blob([content], { type: "text/csv;charset=utf-8" }));
+  }
+  return `data:attachment/csv;charset=utf-8,${encodeURIComponent(content)}`;
+};
+const downloadCsc = (options, content) => {
+  if (!options.download) {
+    return Promise.resolve(content);
+  }
+  if (navigator.msSaveBlob && window.Blob) {
+    navigator.msSaveBlob(new Blob([content], { type: "text/csv;charset=utf-8" }), options.filename);
+  } else {
+    const linkElem = document.createElement("a");
+    linkElem.target = "_blank";
+    linkElem.rel = "noopener noreferrer";
+    linkElem.download = options.filename;
+    linkElem.href = xss.filterUrl(getCsvUrl(options, content));
+    document.body.appendChild(linkElem);
+    linkElem.click();
+    document.body.removeChild(linkElem);
+  }
+};
+var export_default = {
+  _exportCsv(options) {
+    let { visibleColumn, scrollXLoad, scrollYLoad, treeConfig } = this;
+    let mergedOpts = __spreadValues({
+      columns: null,
+      columnFilterMethod: (column) => column.property && !["index", "selection", "radio"].includes(column.type),
+      download: true,
+      data: null,
+      dataFilterMethod: null,
+      filename: "table.csv",
+      footerFilterMethod: null,
+      isHeader: true,
+      isFooter: true,
+      original: !!treeConfig
+    }, options);
+    if (!mergedOpts.filename.includes(".csv")) {
+      mergedOpts.filename += ".csv";
+    }
+    if (!mergedOpts.original) {
+      if (scrollXLoad || scrollYLoad) {
+        mergedOpts.original = true;
+      }
+    }
+    let columns2 = visibleColumn;
+    let oData = this.tableFullData;
+    if (treeConfig) {
+      oData = toTreeArray_default(oData, treeConfig);
+    }
+    oData.forEach((value) => {
+      Object.keys(value).forEach((key) => {
+        if (value[key] === 0) {
+          value[key] = "0";
+        }
+      });
+    });
+    return downloadCsc(mergedOpts, getCsvContent(this, mergedOpts, columns2, oData));
+  },
+  _exportExcel(options) {
+    exportExcel(this, options);
+  }
+};
+let resizeTimeout;
+let defaultInterval = 250;
+const eventStore = [];
+let eventHandle;
+const eventListener = () => {
+  clearTimeout(resizeTimeout);
+  resizeTimeout = setTimeout(eventHandle, defaultInterval);
+};
+eventHandle = () => {
+  if (eventStore.length) {
+    eventStore.forEach((item) => {
+      item.tarList.forEach((el) => {
+        const { target, width, heighe } = el;
+        const clientWidth = target.clientWidth;
+        const clientHeight = target.clientHeight;
+        const rWidth = clientWidth && width !== clientWidth;
+        const rHeight = clientHeight && heighe !== clientHeight;
+        if (rWidth || rHeight) {
+          el.width = clientWidth;
+          el.heighe = clientHeight;
+          requestAnimationFrame(item.callback);
+        }
+      });
+    });
+    eventListener();
+  }
+};
+class ResizeObserverPolyfill {
+  constructor(callback, resizeInterval) {
+    this.tarList = [];
+    this.callback = callback;
+    defaultInterval = resizeInterval;
+  }
+  observe(targetObj) {
+    if (targetObj) {
+      if (!this.tarList.includes(targetObj)) {
+        this.tarList.push({
+          target: targetObj,
+          width: targetObj.clientWidth,
+          heighe: targetObj.clientHeight
+        });
+      }
+      if (!eventStore.length) {
+        eventListener();
+      }
+      if (!eventStore.includes(this)) {
+        eventStore.push(this);
+      }
+    }
+  }
+  unobserve(target) {
+    remove_default(eventStore, (item) => ~item.tarList.indexOf(target));
+  }
+  disconnect() {
+    remove_default(eventStore, (item) => item === this);
+  }
+}
+const Resize$1 = browser_default.isDoc ? window.ResizeObserver || ResizeObserverPolyfill : ResizeObserverPolyfill;
+var resize_default = Resize$1;
+const getPages = ({ props: props2, state }) => () => {
+  const pagerCount = props2.pagerCount;
+  const halfPagerCount = (pagerCount - 1) / 2;
+  const currentPage2 = Number(props2.currentPage);
+  const pageCount = Number(props2.pageCount);
+  let showPrevMore = false;
+  let showNextMore = false;
+  if (pageCount > pagerCount) {
+    if (currentPage2 < pageCount - halfPagerCount) {
+      showNextMore = true;
+    }
+    if (currentPage2 > pagerCount - halfPagerCount) {
+      showPrevMore = true;
+    }
+  }
+  const pages = [];
+  if (showPrevMore && !showNextMore) {
+    const startPage = pageCount - (pagerCount - 2);
+    for (let i = startPage; i < pageCount; i++) {
+      pages.push(i);
+    }
+  } else if (!showPrevMore && showNextMore) {
+    for (let i = 2; i < pagerCount; i++) {
+      pages.push(i);
+    }
+  } else if (showPrevMore && showNextMore) {
+    const offset = Math.floor(pagerCount / 2) - 1;
+    for (let i = currentPage2 - offset; i <= currentPage2 + offset; i++) {
+      pages.push(i);
+    }
+  } else {
+    for (let i = 2; i < pageCount; i++) {
+      pages.push(i);
+    }
+  }
+  state.showPrevMore = showPrevMore;
+  state.showNextMore = showNextMore;
+  return pages;
+};
+const getClassListVal = (parentNode) => {
+  let classListVal = [];
+  const classList = parentNode.classList;
+  if (classList) {
+    let index3 = 0;
+    for (const key in classList) {
+      if (Object.prototype.hasOwnProperty.call(classList, key) && typeof Number(key) === "number") {
+        classListVal[index3] = classList[key];
+        index3++;
+      }
+    }
+  } else {
+    classListVal = parentNode.className.split(/\s+/);
+  }
+  return classListVal;
+};
+const onPagerClick = ({ emit, props: props2, vm }) => (event) => {
+  const target = event.target;
+  if (target.tagName === "UL" || props2.disabled) {
+    return;
+  }
+  let newPage = Number(event.target.textContent);
+  const { tagName, parentNode } = target;
+  const parentEl = tagName === "LI" ? target : tagName === "svg" ? parentNode : parentNode.parentNode;
+  const pageCount = props2.pageCount;
+  const currentPage2 = props2.currentPage;
+  const pagerCountOffset = props2.pagerCount - 2;
+  const classListVal = getClassListVal(parentEl);
+  if (classListVal.includes("dot")) {
+    if (classListVal.includes("quickprev")) {
+      newPage = currentPage2 - pagerCountOffset;
+    } else if (classListVal.includes("quicknext")) {
+      newPage = currentPage2 + pagerCountOffset;
+    }
+  }
+  if (!isNaN(newPage)) {
+    if (newPage < 1) {
+      newPage = 1;
+    }
+    if (newPage > pageCount) {
+      newPage = pageCount;
+    }
+  }
+  const callback = () => {
+    if (newPage !== currentPage2) {
+      emit("change", newPage);
+    }
+  };
+  if (props2.isBeforePageChange && newPage !== currentPage2) {
+    let params = { newPage, currentPage: currentPage2, callback };
+    vm.$parent.$parent.beforePagerChangeHandler(params);
+  } else {
+    callback();
+  }
+};
+const onMouseenter = ({ props: props2, state }) => (direction) => {
+  if (props2.disabled) {
+    return;
+  }
+  if (direction === "left") {
+    state.quickprevIconClass = props2.doubleLeftIcon;
+  } else {
+    state.quicknextIconClass = props2.doubleRightIcon;
+  }
+};
+const api$3 = ["state", "onPagerClick", "onMouseenter"];
+const renderless$3 = (props2, { computed, reactive: reactive2, watch: watch2 }, { emit, vm }) => {
+  const api2 = {
+    onPagerClick: onPagerClick({ emit, props: props2, vm })
+  };
+  const state = reactive2({
+    current: null,
+    showPrevMore: false,
+    showNextMore: false,
+    quicknextIconClass: props2.popupIcon,
+    quickprevIconClass: props2.popupIcon,
+    pagers: computed(() => api2.getPages())
+  });
+  Object.assign(api2, {
+    state,
+    getPages: getPages({ props: props2, state }),
+    onMouseenter: onMouseenter({ props: props2, state })
+  });
+  watch2(
+    () => state.showPrevMore,
+    (value) => {
+      if (!value) {
+        state.quickprevIconClass = props2.popupIcon;
+      }
+    },
+    { immediate: true }
+  );
+  watch2(
+    () => state.showNextMore,
+    (value) => {
+      if (!value) {
+        state.quicknextIconClass = props2.popupIcon;
+      }
+    },
+    { immediate: true }
+  );
+  return api2;
+};
+function _createForOfIteratorHelperLoose$5(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$5(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$5(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$5(o, minLen);
+}
+function _arrayLikeToArray$5(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$5 = function _export_sfc215(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$5(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$c = defineComponent({
+  name: $prefix + "PagerItem",
+  emits: ["click", "change"],
+  components: {
+    IconPopup: index$y(),
+    IconDoubleLeft: index$E(),
+    IconDoubleRight: index$D()
+  },
+  props: {
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    currentPage: Number,
+    pageCount: Number,
+    pagerCount: Number,
+    popupIcon: {
+      type: Object,
+      default: function _default9() {
+        return index$y();
+      }
+    },
+    doubleLeftIcon: {
+      type: Object,
+      default: function _default24() {
+        return index$E();
+      }
+    },
+    doubleRightIcon: {
+      type: Object,
+      default: function _default33() {
+        return index$D();
+      }
+    },
+    isBeforePageChange: Boolean
+  },
+  setup: function setup$1$115(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3
+    });
+  }
+});
+var _hoisted_1$3 = {
+  class: "tiny-pager__group tiny-unselect"
+};
+var _hoisted_2$2 = ["textContent"];
+var _hoisted_3$1 = ["textContent"];
+function _sfc_render$6(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$3, [createBaseVNode("ul", {
+    class: "tiny-pager__pages",
+    onClick: _cache[4] || (_cache[4] = function() {
+      return _ctx.onPagerClick && _ctx.onPagerClick.apply(_ctx, arguments);
+    })
+  }, [_ctx.pageCount > 0 ? (openBlock(), createElementBlock(
+    "li",
+    {
+      key: 0,
+      class: normalizeClass({
+        "is-active": _ctx.currentPage === 1
+      }),
+      textContent: "1"
+    },
+    null,
+    2
+    /* CLASS */
+  )) : createCommentVNode("v-if", true), _ctx.state.showPrevMore ? (openBlock(), createElementBlock(
+    "li",
+    {
+      key: 1,
+      class: normalizeClass(["dot quickprev", [_ctx.state.quickprevIconClass === _ctx.popupIcon && "is-popup"]]),
+      onMouseenter: _cache[0] || (_cache[0] = function($event) {
+        return _ctx.onMouseenter("left");
+      }),
+      onMouseleave: _cache[1] || (_cache[1] = function($event) {
+        return _ctx.state.quickprevIconClass = _ctx.popupIcon;
+      })
+    },
+    [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.quickprevIconClass)))],
+    34
+    /* CLASS, NEED_HYDRATION */
+  )) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+    Fragment,
+    null,
+    renderList(_ctx.state.pagers, function(pager) {
+      return openBlock(), createElementBlock("li", {
+        key: pager,
+        class: normalizeClass({
+          "is-active": _ctx.currentPage === pager
+        }),
+        textContent: toDisplayString("" + pager)
+      }, null, 10, _hoisted_2$2);
+    }),
+    128
+    /* KEYED_FRAGMENT */
+  )), _ctx.state.showNextMore ? (openBlock(), createElementBlock(
+    "li",
+    {
+      key: 2,
+      class: normalizeClass(["dot quicknext", [_ctx.state.quicknextIconClass === _ctx.popupIcon && "is-popup"]]),
+      onMouseenter: _cache[2] || (_cache[2] = function($event) {
+        return _ctx.onMouseenter("right");
+      }),
+      onMouseleave: _cache[3] || (_cache[3] = function($event) {
+        return _ctx.state.quicknextIconClass = _ctx.popupIcon;
+      })
+    },
+    [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.quicknextIconClass)))],
+    34
+    /* CLASS, NEED_HYDRATION */
+  )) : createCommentVNode("v-if", true), _ctx.pageCount > 1 ? (openBlock(), createElementBlock("li", {
+    key: 3,
+    class: normalizeClass({
+      "is-active": _ctx.pageCount === _ctx.currentPage
+    }),
+    textContent: toDisplayString("" + _ctx.pageCount)
+  }, null, 10, _hoisted_3$1)) : createCommentVNode("v-if", true)])]);
+}
+var pc$3 = /* @__PURE__ */ _export_sfc$5(_sfc_main$c, [["render", _sfc_render$6]]);
+function _createForOfIteratorHelperLoose$4(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$4(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$4(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$4(o, minLen);
+}
+function _arrayLikeToArray$4(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$4 = function _export_sfc216(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$4(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var classes = {
+  "pager-group": "inline-block align-middle text-xs h-7",
+  "li": "bg-left-top inline-block text-xs ml-2 cursor-pointer text-center h-7 leading-7 min-w-[1.75rem] rounded-sm text-color-text-primary px-1 box-border transition-all duration-300 ease-in",
+  "li-hover": "hover:text-color-brand-hover",
+  "is-active": "text-color-brand border border-solid border-color-brand",
+  "quick-icon": "h-7 w-3 fill-color-icon-primary hover:fill-color-brand",
+  "dot": "w-4 min-w-0 p-0 border-none"
+};
+var _sfc_main$b = defineComponent({
+  emits: ["click", "change"],
+  components: {
+    IconPopup: index$y(),
+    IconDoubleLeft: index$E(),
+    IconDoubleRight: index$D()
+  },
+  props: [].concat(props, ["disabled", "currentPage", "pageCount", "pagerCount", "popupIcon", "doubleLeftIcon", "doubleRightIcon", "isBeforePageChange"]),
+  setup: function setup$1$116(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3,
+      classes
+    });
+  }
+});
+var _hoisted_1$2 = ["textContent"];
+var _hoisted_2$1 = ["textContent"];
+function _sfc_render$5(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-pager-item",
+      class: normalizeClass(_ctx.gcls("pager-group"))
+    },
+    [createBaseVNode("ul", {
+      "data-tag": "pager-item-content",
+      class: "inline-flex text-xs",
+      onClick: _cache[4] || (_cache[4] = function() {
+        return _ctx.onPagerClick && _ctx.onPagerClick.apply(_ctx, arguments);
+      })
+    }, [_ctx.pageCount > 0 ? (openBlock(), createElementBlock(
+      "li",
+      {
+        key: 0,
+        "data-tag": "pager-item-hover",
+        class: normalizeClass(_ctx.m(_ctx.gcls("li"), _ctx.gcls("li-hover"), _ctx.gcls({
+          "is-active": _ctx.currentPage === 1
+        }))),
+        textContent: "1"
+      },
+      null,
+      2
+      /* CLASS */
+    )) : createCommentVNode("v-if", true), _ctx.state.showPrevMore ? (openBlock(), createElementBlock(
+      "li",
+      {
+        key: 1,
+        "data-tag": "pager-item-premore",
+        class: normalizeClass(_ctx.m(_ctx.gcls("li"), _ctx.gcls("dot"))),
+        onMouseenter: _cache[0] || (_cache[0] = function($event) {
+          return _ctx.onMouseenter("left");
+        }),
+        onMouseleave: _cache[1] || (_cache[1] = function($event) {
+          return _ctx.state.quickprevIconClass = _ctx.popupIcon;
+        })
+      },
+      [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.quickprevIconClass), {
+        class: normalizeClass(_ctx.gcls("quick-icon"))
+      }, null, 8, ["class"]))],
+      34
+      /* CLASS, NEED_HYDRATION */
+    )) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.pagers, function(pager) {
+        return openBlock(), createElementBlock("li", {
+          "data-tag": "pager-item-pager",
+          key: pager,
+          class: normalizeClass(_ctx.m(_ctx.gcls("li"), _ctx.gcls("li-hover"), _ctx.gcls({
+            "is-active": _ctx.currentPage === pager
+          }))),
+          textContent: toDisplayString("" + pager)
+        }, null, 10, _hoisted_1$2);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    )), _ctx.state.showNextMore ? (openBlock(), createElementBlock(
+      "li",
+      {
+        key: 2,
+        "data-tag": "pager-item-nextmore",
+        class: normalizeClass(_ctx.m(_ctx.gcls("li"), _ctx.gcls("dot"))),
+        onMouseenter: _cache[2] || (_cache[2] = function($event) {
+          return _ctx.onMouseenter("right");
+        }),
+        onMouseleave: _cache[3] || (_cache[3] = function($event) {
+          return _ctx.state.quicknextIconClass = _ctx.popupIcon;
+        })
+      },
+      [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.quicknextIconClass), {
+        class: normalizeClass(_ctx.gcls("quick-icon"))
+      }, null, 8, ["class"]))],
+      34
+      /* CLASS, NEED_HYDRATION */
+    )) : createCommentVNode("v-if", true), _ctx.pageCount > 1 ? (openBlock(), createElementBlock("li", {
+      key: 3,
+      "data-tag": "pager-item-active",
+      class: normalizeClass(["hover:text-color-brand-hover", _ctx.m(_ctx.gcls("li"), _ctx.gcls({
+        "is-active": _ctx.pageCount === _ctx.currentPage
+      }))]),
+      textContent: toDisplayString("" + _ctx.pageCount)
+    }, null, 10, _hoisted_2$1)) : createCommentVNode("v-if", true)])],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc$4(_sfc_main$b, [["render", _sfc_render$5]]);
+function _extends$5() {
+  _extends$5 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$5.apply(this, arguments);
+}
+var template$3 = function template28(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$3;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc$3;
+};
+var PagerItem = defineComponent({
+  name: $prefix + "PagerItem",
+  props: _extends$5({}, $props, {
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    currentPage: Number,
+    pageCount: Number,
+    pagerCount: Number,
+    popupIcon: {
+      type: Object,
+      default: index$y
+    },
+    doubleLeftIcon: {
+      type: Object,
+      default: index$E
+    },
+    doubleRightIcon: {
+      type: Object,
+      default: index$D
+    },
+    isBeforePageChange: Boolean
+  }),
+  setup: function setup12(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$3
+    });
+  }
+});
+var version$4 = "3.16.0";
+PagerItem.install = function(Vue) {
+  Vue.component(PagerItem.name, PagerItem);
+};
+PagerItem.version = version$4;
+const computedShowPager = ({ props: props2, state }) => () => {
+  const hidePager = props2.hideOnSinglePage && (!state.internalPageCount || state.internalPageCount === 1);
+  return state.internalLayout.length > 0 && !hidePager;
+};
+const computedInternalLayout = ({ props: props2 }) => () => {
+  let layout = "";
+  if (props2.mode && !props2.layout) {
+    props2.mode === "number" && (layout = "total, sizes, prev, pager, next, jumper");
+    props2.mode === "simple" && (layout = "sizes, total, prev, current, next");
+    props2.mode === "complete" && (layout = "sizes, total, prev, pager, next, jumper");
+    props2.mode === "fixed" && (layout = "prev,pager,next");
+  } else if (!props2.mode && props2.layout || props2.mode && props2.layout) {
+    layout = props2.layout;
+  } else {
+    layout = "total, prev, pager, next, jumper";
+  }
+  if (!layout) {
+    return [];
+  } else {
+    const components = layout.split(",").map((item) => item.trim());
+    return components;
+  }
+};
+const computedTotalText = ({ props: props2, t: t2 }) => () => {
+  if (typeof props2.customTotal === "string")
+    return props2.customTotal;
+  const totals = Number(props2.total);
+  if (isNaN(totals))
+    return "0";
+  const HUNDRED_THOUSAND = 1e5;
+  const MILLION = 1e6;
+  const TEN_MILLION = 1e7;
+  if (totals < HUNDRED_THOUSAND) {
+    return String(totals);
+  } else if (totals < MILLION) {
+    return t2("ui.page.hundredThousand");
+  } else if (totals < TEN_MILLION) {
+    return t2("ui.page.million");
+  } else {
+    return t2("ui.page.tenMillion");
+  }
+};
+const computedInternalPageCount = ({ props: props2, state }) => () => {
+  if (typeof props2.total === "number") {
+    return Math.max(1, Math.ceil(props2.total / state.internalPageSize));
+  } else if (typeof props2.pageCount === "number") {
+    return Math.max(1, props2.pageCount);
+  }
+  return null;
+};
+const handleJumperFocus = ({ state }) => (e) => {
+  var _a;
+  state.jumperBackup = (_a = e.target) == null ? void 0 : _a.value;
+};
+const watchInternalCurrentPage = ({ state, emit }) => (currentPage2) => {
+  const value = String(currentPage2);
+  if (state.jumperValue !== value) {
+    state.jumperValue = value;
+  }
+  emit("update:current-page", currentPage2);
+  emit("current-change", currentPage2);
+  state.lastEmittedPage = -1;
+};
+const watchPageSizes = ({ state, props: props2 }) => (newVal) => {
+  if (Array.isArray(newVal)) {
+    state.internalPageSize = newVal.includes(props2.pageSize) ? props2.pageSize : newVal[0];
+  }
+};
+const watchCurrentPage = ({ state, api: api2 }) => (curPage) => {
+  state.internalCurrentPage = api2.getValidCurrentPage(curPage);
+};
+const watchInternalPageCount = ({ state, api: api2 }) => (pageCount) => {
+  const oldCurPage = state.internalCurrentPage;
+  if (pageCount && pageCount > 0 && oldCurPage === 0) {
+    state.internalCurrentPage = 1;
+  } else if (oldCurPage > Number(pageCount)) {
+    state.internalCurrentPage = pageCount || 1;
+    state.userChangePageSize && api2.emitChange();
+  }
+  state.userChangePageSize = false;
+};
+const watchPageSize = ({ state }) => (pageSize2) => {
+  state.internalPageSize = isNaN(pageSize2) ? 10 : pageSize2;
+};
+const watchTotal = ({ state }) => (total2) => {
+  state.internalTotal = total2;
+};
+const watchShowSizes = ({ nextTick: nextTick2, vm }) => (newVal) => {
+  if (newVal) {
+    nextTick2(() => {
+      const width = vm.$refs.pageSize[0].getBoundingClientRect().width;
+      const popover = document.querySelectorAll(".tiny-pager__selector");
+      Array.from(popover).forEach((ele) => {
+        ele.style.width = width + "px";
+      });
+    });
+  }
+};
+const handleSizeChange = ({ props: props2, state, api: api2, emit, vm }) => (val) => {
+  val = Number(val);
+  if (val !== state.internalPageSize) {
+    const callback = () => {
+      if (!api2.beforeChangeHandler()) {
+        return;
+      }
+      state.internalPageSize = val;
+      state.userChangePageSize = true;
+      state.showSizes = false;
+      emit("update:pageSize", val);
+      emit("size-change", val);
+      emit("page-change", {
+        currentPage: state.internalCurrentPage,
+        pageSize: val,
+        total: state.internalTotal
+      });
+      vm.$refs.sizesList[0].state.showPopper = false;
+    };
+    if (props2.isBeforePageChange) {
+      let newPageSize = val;
+      let currentPageSize = state.internalPageSize;
+      let params = { newPageSize, currentPageSize, callback };
+      api2.beforeSizeChangeHandler(params);
+    } else {
+      callback();
+    }
+  }
+};
+const handleJumperInput = ({ state }) => (e) => {
+  const target = e.target;
+  if (!target.value) {
+    state.jumperValue = "";
+  } else if (/^\d+$/.test(target.value)) {
+    state.jumperValue = target.value || "1";
+  }
+  target.value = state.jumperValue;
+};
+const handleJumperChange = ({ props: props2, state, api: api2 }) => () => {
+  api2.parseValueNumber();
+  const callback = () => {
+    api2.handleJumperClick();
+  };
+  const rollback = () => {
+    state.jumperValue = String(state.jumperBackup);
+  };
+  const newPage = state.jumperValue;
+  const currentPage2 = state.jumperBackup;
+  if (props2.isBeforePageChange && newPage !== currentPage2) {
+    const params = { newPage, currentPage: currentPage2, callback, rollback };
+    api2.beforePagerChangeHandler(params);
+  } else {
+    callback();
+  }
+};
+const handleJumperClick = ({ props: props2, state, api: api2 }) => () => {
+  if (!api2.canJumperGo() || props2.disabled)
+    return;
+  state.internalCurrentPage = api2.getValidCurrentPage(state.jumperValue);
+  api2.emitChange();
+};
+const isValueNumber = ({ state }) => () => {
+  return !isNaN(Number(state.jumperValue));
+};
+const parseValueNumber = ({ state }) => () => {
+  let value = Number(
+    String(state.jumperValue).split(/[^0-9-+.]/).join("")
+  );
+  if (isNaN(value)) {
+    value = 1;
+  }
+  value = Number(value.toFixed(0));
+  const min = 1;
+  const max = state.internalPageCount || 1;
+  if (value >= max) {
+    state.jumperValue = String(max);
+  } else if (value <= min) {
+    state.jumperValue = String(min);
+  } else {
+    state.jumperValue = String(value);
+  }
+};
+const handleSizeShowPopover = ({ state, props: props2 }) => () => {
+  if (props2.disabled) {
+    state.showSizes = false;
+    return;
+  }
+  state.showSizes = true;
+};
+const handleSizeHidePopover = ({ state }) => () => {
+  state.showSizes = false;
+};
+const canJumperGo = ({ props: props2, state, vm }) => () => {
+  const inputValue = Number(vm.$refs.jumperInput[0].value || 0);
+  const currentPage2 = Number(state.internalCurrentPage || 0);
+  return props2.accurateJumper ? inputValue !== currentPage2 : true;
+};
+const beforeSizeChangeHandler = ({ state, emit }) => (params) => {
+  const { newPageSize, currentPageSize, callback } = params;
+  const newPage = 1;
+  const currentPage2 = state.internalCurrentPage;
+  const temp = {
+    newPage,
+    newPageSize,
+    currentPage: currentPage2,
+    currentPageSize,
+    callback
+  };
+  emit("before-page-change", temp);
+};
+const beforePagerChangeHandler = ({ state, emit }) => (params) => {
+  const { newPage, currentPage: currentPage2, callback, rollback } = params;
+  const newPageSize = state.internalPageSize;
+  const currentPageSize = state.internalPageSize;
+  const temp = {
+    newPage,
+    newPageSize,
+    currentPage: currentPage2,
+    currentPageSize,
+    callback,
+    rollback
+  };
+  emit("before-page-change", temp);
+};
+const copyEmit = ({ emit }) => (...args) => {
+  emit(args[0], ...args.slice(1));
+};
+const beforeChangeHandler = ({ state, api: api2 }) => (val = -1) => {
+  return emitEvent(api2.copyEmit, "before-change", state.internalCurrentPage, void 0, val);
+};
+const handleCurrentChange = ({ state, api: api2 }) => (val) => {
+  if (!api2.beforeChangeHandler(val)) {
+    return;
+  }
+  state.internalCurrentPage = api2.getValidCurrentPage(val);
+  state.userChangePageSize = true;
+  api2.emitChange();
+};
+const prev = ({ state, props: props2, api: api2, emit }) => () => {
+  const callback = () => {
+    if (props2.disabled || !api2.beforeChangeHandler(state.internalCurrentPage - 1)) {
+      return;
+    }
+    const newVal = state.internalCurrentPage - 1;
+    state.internalCurrentPage = api2.getValidCurrentPage(newVal);
+    emit("prev-click", state.internalCurrentPage);
+    api2.emitChange();
+  };
+  if (props2.isBeforePageChange) {
+    const newPage = state.internalCurrentPage - 1;
+    const temp = api2.buildBeforePageChangeParam({ newPage, callback });
+    emit("before-page-change", temp);
+  } else {
+    callback();
+  }
+};
+const next = ({ props: props2, state, api: api2, emit }) => () => {
+  const callback = () => {
+    if (props2.disabled || !api2.beforeChangeHandler(state.internalCurrentPage + 1)) {
+      return;
+    }
+    const newVal = state.internalCurrentPage + 1;
+    state.internalCurrentPage = api2.getValidCurrentPage(newVal);
+    emit("next-click", state.internalCurrentPage);
+    api2.emitChange();
+  };
+  if (props2.isBeforePageChange) {
+    const newPage = state.internalCurrentPage + 1;
+    const temp = api2.buildBeforePageChangeParam({ newPage, callback });
+    emit("before-page-change", temp);
+  } else {
+    callback();
+  }
+};
+const buildBeforePageChangeParam = ({ state }) => (param) => {
+  const currentPage2 = state.internalCurrentPage;
+  const newPageSize = state.internalPageSize;
+  const currentPageSize = state.internalPageSize;
+  return __spreadValues({ currentPage: currentPage2, newPageSize, currentPageSize }, param);
+};
+const getValidCurrentPage = ({ state }) => (val) => {
+  const parseVal = Number(val);
+  const hasPageCount = typeof state.internalPageCount === "number";
+  let resetVal;
+  if (hasPageCount) {
+    if (parseVal < 1) {
+      resetVal = 1;
+    } else if (parseVal > (state.internalPageCount || 0)) {
+      resetVal = state.internalPageCount;
+    }
+  } else {
+    if (isNaN(parseVal) || parseVal < 1) {
+      resetVal = 1;
+    }
+  }
+  if (resetVal === void 0 && isNaN(parseVal)) {
+    resetVal = 1;
+  } else if (resetVal === 0) {
+    resetVal = 1;
+  }
+  return resetVal === void 0 ? parseVal : resetVal;
+};
+const emitChange = ({ state, nextTick: nextTick2, emit }) => () => {
+  nextTick2(() => {
+    if (state.internalCurrentPage !== state.lastEmittedPage || state.userChangePageSize) {
+      emit("update:current-page", state.internalCurrentPage);
+      emit("page-change", {
+        currentPage: state.internalCurrentPage,
+        pageSize: state.internalPageSize,
+        total: state.internalTotal
+      });
+      state.lastEmittedPage = state.internalCurrentPage;
+      state.userChangePageSize = false;
+    }
+  });
+};
+const setTotal = ({ state }) => (val) => {
+  state.internalTotal = val;
+};
+const clickSizes = () => (e) => e.stopPropagation();
+const api$2 = [
+  "state",
+  "handleJumperFocus",
+  "handleSizeChange",
+  "handleJumperInput",
+  "handleJumperChange",
+  "handleJumperClick",
+  "isValueNumber",
+  "parseValueNumber",
+  "handleSizeShowPopover",
+  "handleSizeHidePopover",
+  "canJumperGo",
+  "beforeSizeChangeHandler",
+  "beforePagerChangeHandler",
+  "beforeJumperChangeHandler",
+  "beforeChangeHandler",
+  "handleCurrentChange",
+  "prev",
+  "next",
+  "buildBeforePageChangeParam",
+  "getValidCurrentPage",
+  "emitChange",
+  "setTotal",
+  "clickSizes"
+];
+const renderless$2 = (props2, { reactive: reactive2, computed, watch: watch2 }, { emit, vm, nextTick: nextTick2, t: t2, designConfig }) => {
+  var _a, _b, _c, _d, _e, _f, _g;
+  const api2 = {};
+  const state = reactive2({
+    showSizes: false,
+    internalCurrentPage: 1,
+    internalPageSize: props2.pageSize,
+    lastEmittedPage: -1,
+    userChangePageSize: false,
+    internalTotal: props2.total,
+    jumperValue: "1",
+    jumperBackup: "1",
+    showPager: computed(() => api2.computedShowPager()),
+    internalLayout: computed(() => api2.computedInternalLayout()),
+    totalText: computed(() => api2.computedTotalText()),
+    internalPageCount: computed(() => api2.computedInternalPageCount()),
+    showJumperSufix: (_b = (_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.showJumperSufix) != null ? _b : true,
+    align: props2.align || ((_c = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _c.align) || "left",
+    totalI18n: ((_d = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _d.totalI18n) || "totals",
+    totalFixedLeft: (_g = (_f = props2.totalFixedLeft) != null ? _f : (_e = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _e.totalFixedLeft) != null ? _g : false
+  });
+  Object.assign(api2, {
+    state,
+    computedShowPager: computedShowPager({ props: props2, state }),
+    computedInternalLayout: computedInternalLayout({ props: props2 }),
+    computedTotalText: computedTotalText({ props: props2, t: t2 }),
+    computedInternalPageCount: computedInternalPageCount({ props: props2, state }),
+    getValidCurrentPage: getValidCurrentPage({ state }),
+    handleJumperFocus: handleJumperFocus({ state }),
+    handleSizeChange: handleSizeChange({ props: props2, state, api: api2, emit, vm }),
+    handleJumperInput: handleJumperInput({ state }),
+    handleJumperChange: handleJumperChange({ props: props2, state, api: api2 }),
+    handleJumperClick: handleJumperClick({ props: props2, state, api: api2 }),
+    isValueNumber: isValueNumber({ state }),
+    parseValueNumber: parseValueNumber({ state }),
+    handleSizeShowPopover: handleSizeShowPopover({ state, props: props2 }),
+    handleSizeHidePopover: handleSizeHidePopover({ state }),
+    canJumperGo: canJumperGo({ props: props2, state, vm }),
+    beforeSizeChangeHandler: beforeSizeChangeHandler({ state, emit }),
+    beforePagerChangeHandler: beforePagerChangeHandler({ state, emit }),
+    copyEmit: copyEmit({ emit }),
+    beforeChangeHandler: beforeChangeHandler({ state, api: api2 }),
+    handleCurrentChange: handleCurrentChange({ state, api: api2 }),
+    prev: prev({ state, props: props2, api: api2, emit }),
+    next: next({ props: props2, state, api: api2, emit }),
+    buildBeforePageChangeParam: buildBeforePageChangeParam({ state }),
+    emitChange: emitChange({ state, nextTick: nextTick2, emit }),
+    setTotal: setTotal({ state }),
+    clickSizes: clickSizes(),
+    // watch
+    watchInternalCurrentPage: watchInternalCurrentPage({ state, emit }),
+    watchPageSizes: watchPageSizes({ state, props: props2 }),
+    watchCurrentPage: watchCurrentPage({ state, api: api2 }),
+    watchInternalPageCount: watchInternalPageCount({ state, api: api2 }),
+    watchPageSize: watchPageSize({ state }),
+    watchTotal: watchTotal({ state }),
+    watchShowSizes: watchShowSizes({ nextTick: nextTick2, vm })
+  });
+  state.internalCurrentPage = api2.getValidCurrentPage(props2.currentPage);
+  watch2(() => state.internalCurrentPage, api2.watchInternalCurrentPage);
+  watch2(() => props2.pageSizes, api2.watchPageSizes, { immediate: true });
+  watch2(() => props2.currentPage, api2.watchCurrentPage);
+  watch2(() => state.internalPageCount, api2.watchInternalPageCount);
+  watch2(() => props2.pageSize, api2.watchPageSize, { immediate: true });
+  watch2(() => props2.total, api2.watchTotal);
+  watch2(() => state.showSizes, api2.watchShowSizes);
+  return api2;
+};
+const index$3 = "";
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc217(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$a = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Pager",
+  props: [].concat(props, ["accurateJumper", "appendToBody", "currentPage", "disabled", "hideOnSinglePage", "isBeforePageChange", "layout", "mode", "nextText", "pageCount", "pageSize", "pageSizes", "pagerCount", "popperAppendToBody", "showTotalLoading", "customTotal", "popperClass", "prevText", "total", "size", "align"]),
+  directives: {
+    loading: Loadings.directive
+  },
+  setup: function setup$1$117(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  },
+  components: {
+    TinyPopover: Popover,
+    ChevronLeft: index$J(),
+    ChevronRight: index$Q(),
+    TriangleDown: index$w(),
+    Pager: PagerItem
+  }
+});
+var _hoisted_1$1 = ["disabled"];
+var _hoisted_2 = {
+  key: 0
+};
+var _hoisted_3 = {
+  class: "tiny-pager__goto"
+};
+var _hoisted_4 = {
+  class: "tiny-pager__goto-text"
+};
+var _hoisted_5 = ["value", "disabled"];
+var _hoisted_6 = {
+  key: 0,
+  class: "tiny-pager__goto-text tiny-pager__goto-text-sufix"
+};
+var _hoisted_7 = {
+  class: "tiny-pager__pages"
+};
+var _hoisted_8 = {
+  class: "is-active"
+};
+var _hoisted_9 = ["disabled"];
+var _hoisted_10 = {
+  key: 0
+};
+var _hoisted_11 = {
+  class: "sizes"
+};
+var _hoisted_12 = {
+  class: "tiny-pager__page-size-btn"
+};
+var _hoisted_13 = {
+  class: "tiny-pager__selector-body"
+};
+var _hoisted_14 = {
+  class: "tiny-pager__selector-poplist"
+};
+var _hoisted_15 = ["title", "onClick"];
+var _hoisted_16 = {
+  class: "tiny-pager__total-loading"
+};
+var _hoisted_17 = {
+  class: "tiny-pager__loading-text"
+};
+var _hoisted_18 = {
+  class: "tiny-pager__total-allpage"
+};
+function _sfc_render$4(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_chevron_left = resolveComponent("chevron-left");
+  var _component_pager = resolveComponent("pager");
+  var _component_chevron_right = resolveComponent("chevron-right");
+  var _component_triangle_down = resolveComponent("triangle-down");
+  var _component_tiny_popover = resolveComponent("tiny-popover");
+  var _directive_loading = resolveDirective("loading");
+  return _ctx.state.showPager ? (openBlock(), createElementBlock(
+    "div",
+    {
+      key: 0,
+      class: normalizeClass(["tiny-pager tiny-pager__number", _ctx.size ? "tiny-pager--" + _ctx.size : "", _ctx.disabled ? "is-disabled" : ""]),
+      style: normalizeStyle({
+        textAlign: _ctx.state.align
+      })
+    },
+    [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.internalLayout, function(item, index3) {
+        return openBlock(), createElementBlock(
+          Fragment,
+          null,
+          [item === "prev" ? (openBlock(), createElementBlock("button", {
+            key: "prev" + index3,
+            type: "button",
+            class: "tiny-pager__btn-prev",
+            disabled: _ctx.disabled || _ctx.state.internalCurrentPage <= 1,
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.prev && _ctx.prev.apply(_ctx, arguments);
+            })
+          }, [_ctx.prevText ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_2,
+            toDisplayString(_ctx.prevText),
+            1
+            /* TEXT */
+          )) : (openBlock(), createBlock(_component_chevron_left, {
+            key: 1,
+            class: "tiny-svg-size"
+          }))], 8, _hoisted_1$1)) : item === "jumper" ? (openBlock(), createElementBlock("div", {
+            key: "jumper" + index3,
+            class: "tiny-pager__group"
+          }, [createBaseVNode("div", _hoisted_3, [createBaseVNode(
+            "span",
+            _hoisted_4,
+            toDisplayString(_ctx.t("ui.page.jump")),
+            1
+            /* TEXT */
+          ), createBaseVNode("input", {
+            type: "text",
+            ref_for: true,
+            ref: "jumperInput",
+            value: _ctx.state.jumperValue,
+            disabled: _ctx.disabled,
+            onFocus: _cache[1] || (_cache[1] = function() {
+              return _ctx.handleJumperFocus && _ctx.handleJumperFocus.apply(_ctx, arguments);
+            }),
+            onInput: _cache[2] || (_cache[2] = function() {
+              return _ctx.handleJumperInput && _ctx.handleJumperInput.apply(_ctx, arguments);
+            }),
+            onChange: _cache[3] || (_cache[3] = function() {
+              return _ctx.handleJumperChange && _ctx.handleJumperChange.apply(_ctx, arguments);
+            })
+          }, null, 40, _hoisted_5), _ctx.state.showJumperSufix ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_6,
+            toDisplayString(_ctx.t("ui.page.pageClassifier")),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)])])) : item === "current" ? (openBlock(), createElementBlock("div", {
+            key: "current" + index3,
+            class: "tiny-pager__group tiny-unselect"
+          }, [createBaseVNode("ul", _hoisted_7, [createBaseVNode(
+            "li",
+            _hoisted_8,
+            toDisplayString(_ctx.state.internalCurrentPage),
+            1
+            /* TEXT */
+          )])])) : item === "pager" ? (openBlock(), createBlock(_component_pager, {
+            key: "pager" + index3,
+            "is-before-page-change": _ctx.isBeforePageChange,
+            "current-page": _ctx.state.internalCurrentPage,
+            "page-count": _ctx.state.internalPageCount,
+            "pager-count": _ctx.pagerCount,
+            disabled: _ctx.disabled,
+            onChange: _ctx.handleCurrentChange,
+            onBeforePageChange: _ctx.beforePagerChangeHandler
+          }, null, 8, ["is-before-page-change", "current-page", "page-count", "pager-count", "disabled", "onChange", "onBeforePageChange"])) : item === "next" ? (openBlock(), createElementBlock("button", {
+            key: "next" + index3,
+            type: "button",
+            class: "tiny-pager__btn-next",
+            disabled: _ctx.disabled || _ctx.state.internalCurrentPage === _ctx.state.internalPageCount || _ctx.state.internalPageCount === 0,
+            onClick: _cache[4] || (_cache[4] = function() {
+              return _ctx.next && _ctx.next.apply(_ctx, arguments);
+            })
+          }, [_ctx.nextText ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_10,
+            toDisplayString(_ctx.nextText),
+            1
+            /* TEXT */
+          )) : (openBlock(), createBlock(_component_chevron_right, {
+            key: 1,
+            class: "tiny-svg-size"
+          }))], 8, _hoisted_9)) : item === "sizes" ? (openBlock(), createElementBlock("div", {
+            key: "sizes" + index3,
+            class: "tiny-pager__group tiny-pager__sizes"
+          }, [createVNode(_component_tiny_popover, {
+            ref_for: true,
+            ref: "sizesList",
+            placement: "bottom-start",
+            "append-to-body": _ctx.popperAppendToBody === false ? false : _ctx.appendToBody,
+            trigger: "click",
+            "popper-class": "tiny-pager__selector " + (_ctx.popperClass ? "" + _ctx.popperClass : ""),
+            "visible-arrow": false,
+            disabled: _ctx.disabled,
+            onShow: _ctx.handleSizeShowPopover,
+            onHide: _ctx.handleSizeHidePopover
+          }, {
+            reference: withCtx(function() {
+              return [createBaseVNode("div", {
+                class: "tiny-pager__popover",
+                onClick: _cache[5] || (_cache[5] = function() {
+                  return _ctx.clickSizes && _ctx.clickSizes.apply(_ctx, arguments);
+                })
+              }, [createBaseVNode(
+                "div",
+                {
+                  ref_for: true,
+                  ref: "pageSize",
+                  class: normalizeClass(["tiny-pager__page-size", {
+                    disabled: _ctx.disabled
+                  }])
+                },
+                [createBaseVNode(
+                  "span",
+                  _hoisted_11,
+                  toDisplayString(_ctx.state.internalPageSize),
+                  1
+                  /* TEXT */
+                ), createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(_ctx.t("ui.page.page")),
+                  1
+                  /* TEXT */
+                ), createBaseVNode("div", _hoisted_12, [createVNode(_component_triangle_down, {
+                  class: normalizeClass(["tiny-svg-size", _ctx.state.showSizes ? "tiny-svg-size__reverse-180" : ""])
+                }, null, 8, ["class"])])],
+                2
+                /* CLASS */
+              )])];
+            }),
+            default: withCtx(function() {
+              return [createBaseVNode("div", _hoisted_13, [createBaseVNode("ul", _hoisted_14, [(openBlock(true), createElementBlock(
+                Fragment,
+                null,
+                renderList(_ctx.pageSizes, function(sizeItem, sizeIndex) {
+                  return openBlock(), createElementBlock("li", {
+                    key: sizeIndex,
+                    class: normalizeClass(["list-item", sizeItem === _ctx.state.internalPageSize ? "is-selected select-pre" : ""]),
+                    title: String(sizeItem),
+                    onClick: function onClick($event) {
+                      return _ctx.handleSizeChange(sizeItem);
+                    }
+                  }, toDisplayString(sizeItem), 11, _hoisted_15);
+                }),
+                128
+                /* KEYED_FRAGMENT */
+              ))])])];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["append-to-body", "popper-class", "disabled", "onShow", "onHide"])])) : item === "slot" ? renderSlot(_ctx.$slots, "default", {
+            key: 6
+          }) : item === "total" && typeof _ctx.state.internalTotal === "number" ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: "total" + index3,
+              class: normalizeClass(["tiny-pager__group", {
+                "is-disabled": _ctx.disabled,
+                "tiny-pager__loading": _ctx.showTotalLoading,
+                "tiny-pager__pull-left": _ctx.state.totalFixedLeft
+              }])
+            },
+            [createBaseVNode(
+              "div",
+              {
+                class: normalizeClass(["tiny-pager__total", _ctx.size ? "tiny-pager--" + _ctx.size : ""])
+              },
+              [_ctx.showTotalLoading ? (openBlock(), createElementBlock(
+                Fragment,
+                {
+                  key: 0
+                },
+                [withDirectives(createBaseVNode(
+                  "div",
+                  _hoisted_16,
+                  null,
+                  512
+                  /* NEED_PATCH */
+                ), [[_directive_loading, _ctx.showTotalLoading]]), createBaseVNode(
+                  "span",
+                  _hoisted_17,
+                  toDisplayString(_ctx.t("ui.page.loadingTotals")),
+                  1
+                  /* TEXT */
+                )],
+                64
+                /* STABLE_FRAGMENT */
+              )) : _ctx.state.totalI18n === "total" ? (openBlock(), createElementBlock(
+                Fragment,
+                {
+                  key: 1
+                },
+                [createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(_ctx.t("ui.page.total")),
+                  1
+                  /* TEXT */
+                ), createBaseVNode(
+                  "span",
+                  _hoisted_18,
+                  toDisplayString(_ctx.customTotal ? _ctx.state.totalText : _ctx.state.internalTotal),
+                  1
+                  /* TEXT */
+                ), createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(_ctx.t("ui.page.item")),
+                  1
+                  /* TEXT */
+                )],
+                64
+                /* STABLE_FRAGMENT */
+              )) : (openBlock(), createElementBlock(
+                Fragment,
+                {
+                  key: 2
+                },
+                [createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(_ctx.t("ui.page.totals")),
+                  1
+                  /* TEXT */
+                ), createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(_ctx.customTotal ? _ctx.state.totalText : _ctx.state.internalTotal),
+                  1
+                  /* TEXT */
+                )],
+                64
+                /* STABLE_FRAGMENT */
+              ))],
+              2
+              /* CLASS */
+            )],
+            2
+            /* CLASS */
+          )) : createCommentVNode("v-if", true)],
+          64
+          /* STABLE_FRAGMENT */
+        );
+      }),
+      256
+      /* UNKEYED_FRAGMENT */
+    ))],
+    6
+    /* CLASS, STYLE */
+  )) : createCommentVNode("v-if", true);
+}
+var pc$2 = /* @__PURE__ */ _export_sfc$3(_sfc_main$a, [["render", _sfc_render$4]]);
+function _extends$4() {
+  _extends$4 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$4.apply(this, arguments);
+}
+var _sfc_main$9 = /* @__PURE__ */ defineComponent({
+  props: _extends$4({}, $props, {
+    accurateJumper: {
+      type: Boolean,
+      default: function _default10() {
+        return true;
+      }
+    },
+    appendToBody: {
+      type: Boolean,
+      default: function _default25() {
+        return true;
+      }
+    },
+    currentPage: {
+      type: Number,
+      default: function _default34() {
+        return 1;
+      }
+    },
+    disabled: {
+      type: Boolean,
+      default: function _default42() {
+        return false;
+      }
+    },
+    hideOnSinglePage: Boolean,
+    isBeforePageChange: Boolean,
+    layout: String,
+    mode: String,
+    nextText: String,
+    pageCount: Number,
+    pageSize: {
+      type: Number,
+      default: function _default52() {
+        return 10;
+      }
+    },
+    pageSizes: {
+      type: Array,
+      default: function _default62() {
+        return [10, 20, 30, 40, 50, 100];
+      }
+    },
+    pagerCount: {
+      type: Number,
+      validator: function validator3(value) {
+        return (value | 0) === value && value > 2 && value < 22 && value % 2 === 1;
+      },
+      default: function _default72() {
+        return 7;
+      }
+    },
+    popperAppendToBody: {
+      type: Boolean,
+      default: function _default82() {
+        return true;
+      }
+    },
+    showTotalLoading: {
+      type: Boolean,
+      default: function _default92() {
+        return false;
+      }
+    },
+    customTotal: {
+      type: [Boolean, String],
+      default: function _default102() {
+        return false;
+      }
+    },
+    popperClass: String,
+    prevText: String,
+    total: Number
+  }),
+  data: function data() {
+    return {
+      internalCurrentPage: 0,
+      internalPageCount: 0,
+      internalPageSize: 0,
+      internalTotal: 0
+    };
+  },
+  watch: {
+    total: function total() {
+      this.normalizeState();
+    },
+    pageSize: function pageSize() {
+      this.normalizeState();
+    },
+    currentPage: function currentPage() {
+      this.normalizeState();
+    }
+  },
+  created: function created() {
+    this.normalizeState();
+  },
+  render: function render6() {
+    if (this.hideOnSinglePage && (!this.internalPageCount || this.internalPageCount === 1))
+      return null;
+    var ChevronLeft2 = index$J();
+    var ChevronRight = index$Q();
+    var prevDisabled = this.disabled || this.internalCurrentPage <= 1;
+    var nextDisabled = this.disabled || this.internalCurrentPage === this.internalPageCount || this.internalPageCount === 0;
+    var prevText = this.prevText;
+    var nextText = this.nextText;
+    return createVNode("div", {
+      "class": "flex justify-end"
+    }, [createVNode("nav", {
+      "class": "w-full my-1 mx-0 text-sm block w-fit"
+    }, [createVNode("ul", {
+      "class": "inline-flex m-0 p-0 list-none w-fit"
+    }, [createVNode("li", {
+      "class": ["py-0 px-0 cursor-pointer box-border h-8 text-color-brand bg-color-bg-1 select-none flex items-center justify-center relative rounded", prevText ? "w-fit" : "w-8"]
+    }, [createVNode("button", {
+      "type": "button",
+      "class": ["h-8 p-0 border border-solid rounded flex items-center justify-center group", "cursor-pointer border-color-border bg-color-bg-1 sm:bg-transparent sm:border-0", prevText ? "w-fit" : "w-8", {
+        "disabled:cursor-not-allowed disabled:border-color-border disabled:bg-color-bg-3 disabled:sm:bg-transparent": prevDisabled,
+        "hover:border-color-brand sm:hover:border-0 sm:active:border-color-brand": !prevDisabled,
+        "hover:bg-color-fill-6 sm:hover:bg-transparent sm:active:bg-transparent": !prevDisabled
+      }],
+      "disabled": prevDisabled,
+      "onClick": this.toPrevPage
+    }, [prevText ? createVNode("span", {
+      "class": ["inline-block w-fit mx-1 text-color-text-placeholder sm:text-color-primary", {
+        "disabled:text-color-text-primary sm:text-color-border": prevDisabled,
+        "group-hover:text-color-link sm:group-hover:text-color-icon-hover sm:group-active:text-color-active": !prevDisabled
+      }]
+    }, [prevText]) : createVNode(ChevronLeft2, {
+      "class": ["fill-color-fill-7 sm:fill-color-text-primary", {
+        "disabled:fill-color-fill-primary sm:fill-color-border": prevDisabled,
+        "group-hover:fill-color-brand sm:group-hover:fill-color-icon-hover sm:group-active:fill-color-icon-active": !prevDisabled
+      }]
+    }, null)])]), createVNode("li", {
+      "class": "h-8 text-color-text-primary flex items-center justify-center rounded !mx-4"
+    }, [createVNode("span", {
+      "class": "inline-block my-0 mx-0"
+    }, [this.internalCurrentPage, createTextVNode("/"), this.internalPageCount])]), createVNode("li", {
+      "class": ["py-0 px-0 cursor-pointer box-border h-8 text-color-brand bg-color-bg-1 select-none flex items-center justify-center relative rounded", nextText ? "w-fit" : "w-8"]
+    }, [createVNode("button", {
+      "type": "button",
+      "class": ["h-8 p-0 border border-solid rounded flex items-center justify-center group", "cursor-pointer border-color-border bg-color-bg-1 sm:bg-transparent sm:border-0", nextText ? "w-fit" : "w-8", {
+        "disabled:cursor-not-allowed disabled:border-color-border disabled:bg-color-bg-3 disabled:sm:bg-transparent": nextDisabled,
+        "hover:border-color-brand sm:hover:border-color-border-hover sm:active:border-color-brand": !nextDisabled,
+        "hover:bg-color-fill-6 sm:hover:bg-transparent sm:active:bg-transparent": !nextDisabled
+      }],
+      "disabled": nextDisabled,
+      "onClick": this.toNextPage
+    }, [nextText ? createVNode("span", {
+      "class": ["inline-block w-fit mx-1 text-color-text-placeholder sm:text-color-primary", {
+        "disabled:text-color-text-primary disabled:sm:text-color-border": nextDisabled,
+        "group-hover:fill-color-brand sm:group-hover:fill-color-icon-hover sm:group-active:fill-color-icon-active": !nextDisabled
+      }]
+    }, [nextText]) : createVNode(ChevronRight, {
+      "class": ["fill-color-fill-7 sm:fill-color-text-primary", {
+        "disabled:fill-color-fill-primary sm:fill-color-border": nextDisabled,
+        "group-hover:fill-color-brand sm:group-hover:fill-color-icon-hover sm:group-active:fill-color-icon-active": !nextDisabled
+      }]
+    }, null)])])])])]);
+  },
+  methods: {
+    toPrevPage: function toPrevPage() {
+      var _this = this;
+      var callback = function callback2() {
+        if (_this.internalCurrentPage > 1) {
+          _this.internalCurrentPage -= 1;
+          _this.$emit("prev-click", _this.internalCurrentPage);
+          _this.$emit("current-change", _this.internalCurrentPage);
+          _this.$emit("update:current-page", _this.internalCurrentPage);
+          _this.$emit("page-change", {
+            currentPage: _this.internalCurrentPage,
+            pageSize: _this.internalPageSize,
+            total: _this.internalTotal
+          });
+        }
+      };
+      if (this.isBeforePageChange && this.internalCurrentPage > 1) {
+        var newPage = this.internalCurrentPage - 1;
+        var newPageSize = this.internalPageSize;
+        var currentPage2 = this.internalCurrentPage;
+        var currentPageSize = this.internalPageSize;
+        this.$emit("before-page-change", {
+          newPage,
+          newPageSize,
+          currentPage: currentPage2,
+          currentPageSize,
+          callback
+        });
+      } else {
+        callback();
+      }
+    },
+    toNextPage: function toNextPage() {
+      var _this2 = this;
+      var callback = function callback2() {
+        if (_this2.internalCurrentPage < _this2.internalPageCount) {
+          _this2.internalCurrentPage += 1;
+          _this2.$emit("next-click", _this2.internalCurrentPage);
+          _this2.$emit("current-change", _this2.internalCurrentPage);
+          _this2.$emit("update:current-page", _this2.internalCurrentPage);
+          _this2.$emit("page-change", {
+            currentPage: _this2.internalCurrentPage,
+            pageSize: _this2.internalPageSize,
+            total: _this2.internalTotal
+          });
+        }
+      };
+      if (this.isBeforePageChange && this.internalCurrentPage < this.internalPageCount) {
+        var newPage = this.internalCurrentPage + 1;
+        var newPageSize = this.internalPageSize;
+        var currentPage2 = this.internalCurrentPage;
+        var currentPageSize = this.internalPageSize;
+        this.$emit("before-page-change", {
+          newPage,
+          newPageSize,
+          currentPage: currentPage2,
+          currentPageSize,
+          callback
+        });
+      } else {
+        callback();
+      }
+    },
+    normalizeState: function normalizeState() {
+      var total2 = this.total > 0 ? this.total : 0;
+      var pageSize2 = this.pageSize > 0 ? this.pageSize : 10;
+      var currentPage2 = this.currentPage > 0 ? this.currentPage : 1;
+      this.internalTotal = total2;
+      this.internalPageSize = pageSize2;
+      this.internalPageCount = Math.ceil(total2 / pageSize2);
+      this.internalCurrentPage = currentPage2 > this.internalPageCount ? 1 : currentPage2;
+    }
+  }
+});
+function _extends$3() {
+  _extends$3 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$3.apply(this, arguments);
+}
+var template$2 = function template29(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$2;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return _sfc_main$9;
+  }
+  return pc$2;
+};
+var pagerProps = _extends$3({}, $props, {
+  accurateJumper: {
+    type: Boolean,
+    default: function _default11() {
+      return true;
+    }
+  },
+  appendToBody: {
+    type: Boolean,
+    default: function _default26() {
+      return true;
+    }
+  },
+  currentPage: {
+    type: Number,
+    default: function _default35() {
+      return 1;
+    }
+  },
+  disabled: {
+    type: Boolean,
+    default: function _default43() {
+      return false;
+    }
+  },
+  hideOnSinglePage: Boolean,
+  isBeforePageChange: Boolean,
+  layout: String,
+  mode: String,
+  nextText: String,
+  pageCount: Number,
+  pageSize: {
+    type: Number,
+    default: function _default53() {
+      return 10;
+    }
+  },
+  pageSizes: {
+    type: Array,
+    default: function _default63() {
+      return [10, 20, 30, 40, 50, 100];
+    }
+  },
+  pagerCount: {
+    type: Number,
+    validator: function validator4(value) {
+      return (value | 0) === value && value > 2 && value < 22 && value % 2 === 1;
+    },
+    default: function _default73() {
+      return 7;
+    }
+  },
+  popperAppendToBody: {
+    type: Boolean,
+    default: function _default83() {
+      return true;
+    }
+  },
+  showTotalLoading: {
+    type: Boolean,
+    default: function _default93() {
+      return false;
+    }
+  },
+  customTotal: {
+    type: [Boolean, String],
+    default: function _default103() {
+      return false;
+    }
+  },
+  popperClass: String,
+  prevText: String,
+  total: Number,
+  size: {
+    type: String,
+    default: ""
+  },
+  align: {
+    type: String,
+    validator: function validator22(value) {
+      return ["left", "center", "right"].includes(value);
+    }
+  },
+  totalFixedLeft: {
+    type: Boolean,
+    default: void 0
+  }
+});
+var Pager$1 = defineComponent({
+  name: $prefix + "Pager",
+  props: pagerProps,
+  setup: function setup13(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$2
+    });
+  }
+});
+var version$3 = "3.16.0";
+Pager$1.install = function(Vue) {
+  Vue.component(Pager$1.name, Pager$1);
+};
+Pager$1.version = version$3;
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc218(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _excluded = ["input", "change"], _excluded2 = ["field"];
+function _defineProperties(target, props2) {
+  for (var i = 0; i < props2.length; i++) {
+    var descriptor = props2[i];
+    descriptor.enumerable = descriptor.enumerable || false;
+    descriptor.configurable = true;
+    if ("value" in descriptor)
+      descriptor.writable = true;
+    Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
+  }
+}
+function _createClass(Constructor, protoProps, staticProps) {
+  if (protoProps)
+    _defineProperties(Constructor.prototype, protoProps);
+  if (staticProps)
+    _defineProperties(Constructor, staticProps);
+  Object.defineProperty(Constructor, "prototype", { writable: false });
+  return Constructor;
+}
+function _toPropertyKey(t2) {
+  var i = _toPrimitive(t2, "string");
+  return "symbol" == typeof i ? i : i + "";
+}
+function _toPrimitive(t2, r) {
+  if ("object" != typeof t2 || !t2)
+    return t2;
+  var e = t2[Symbol.toPrimitive];
+  if (void 0 !== e) {
+    var i = e.call(t2, r || "default");
+    if ("object" != typeof i)
+      return i;
+    throw new TypeError("@@toPrimitive must return a primitive value.");
+  }
+  return ("string" === r ? String : Number)(t2);
+}
+function _regeneratorRuntime() {
+  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
+  _regeneratorRuntime = function _regeneratorRuntime2() {
+    return e;
+  };
+  var t2, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function(t3, e2, r2) {
+    t3[e2] = r2.value;
+  }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag";
+  function define(t3, e2, r2) {
+    return Object.defineProperty(t3, e2, { value: r2, enumerable: true, configurable: true, writable: true }), t3[e2];
+  }
+  try {
+    define({}, "");
+  } catch (t3) {
+    define = function define2(t4, e2, r2) {
+      return t4[e2] = r2;
+    };
+  }
+  function wrap(t3, e2, r2, n2) {
+    var i2 = e2 && e2.prototype instanceof Generator ? e2 : Generator, a2 = Object.create(i2.prototype), c2 = new Context(n2 || []);
+    return o(a2, "_invoke", { value: makeInvokeMethod(t3, r2, c2) }), a2;
+  }
+  function tryCatch(t3, e2, r2) {
+    try {
+      return { type: "normal", arg: t3.call(e2, r2) };
+    } catch (t4) {
+      return { type: "throw", arg: t4 };
+    }
+  }
+  e.wrap = wrap;
+  var h2 = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {};
+  function Generator() {
+  }
+  function GeneratorFunction() {
+  }
+  function GeneratorFunctionPrototype() {
+  }
+  var p = {};
+  define(p, a, function() {
+    return this;
+  });
+  var d = Object.getPrototypeOf, v = d && d(d(values([])));
+  v && v !== r && n.call(v, a) && (p = v);
+  var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
+  function defineIteratorMethods(t3) {
+    ["next", "throw", "return"].forEach(function(e2) {
+      define(t3, e2, function(t4) {
+        return this._invoke(e2, t4);
+      });
+    });
+  }
+  function AsyncIterator(t3, e2) {
+    function invoke(r3, o2, i2, a2) {
+      var c2 = tryCatch(t3[r3], t3, o2);
+      if ("throw" !== c2.type) {
+        var u2 = c2.arg, h3 = u2.value;
+        return h3 && "object" == typeof h3 && n.call(h3, "__await") ? e2.resolve(h3.__await).then(function(t4) {
+          invoke("next", t4, i2, a2);
+        }, function(t4) {
+          invoke("throw", t4, i2, a2);
+        }) : e2.resolve(h3).then(function(t4) {
+          u2.value = t4, i2(u2);
+        }, function(t4) {
+          return invoke("throw", t4, i2, a2);
+        });
+      }
+      a2(c2.arg);
+    }
+    var r2;
+    o(this, "_invoke", { value: function value(t4, n2) {
+      function callInvokeWithMethodAndArg() {
+        return new e2(function(e3, r3) {
+          invoke(t4, n2, e3, r3);
+        });
+      }
+      return r2 = r2 ? r2.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+    } });
+  }
+  function makeInvokeMethod(e2, r2, n2) {
+    var o2 = h2;
+    return function(i2, a2) {
+      if (o2 === f)
+        throw Error("Generator is already running");
+      if (o2 === s) {
+        if ("throw" === i2)
+          throw a2;
+        return { value: t2, done: true };
+      }
+      for (n2.method = i2, n2.arg = a2; ; ) {
+        var c2 = n2.delegate;
+        if (c2) {
+          var u2 = maybeInvokeDelegate(c2, n2);
+          if (u2) {
+            if (u2 === y)
+              continue;
+            return u2;
+          }
+        }
+        if ("next" === n2.method)
+          n2.sent = n2._sent = n2.arg;
+        else if ("throw" === n2.method) {
+          if (o2 === h2)
+            throw o2 = s, n2.arg;
+          n2.dispatchException(n2.arg);
+        } else
+          "return" === n2.method && n2.abrupt("return", n2.arg);
+        o2 = f;
+        var p2 = tryCatch(e2, r2, n2);
+        if ("normal" === p2.type) {
+          if (o2 = n2.done ? s : l, p2.arg === y)
+            continue;
+          return { value: p2.arg, done: n2.done };
+        }
+        "throw" === p2.type && (o2 = s, n2.method = "throw", n2.arg = p2.arg);
+      }
+    };
+  }
+  function maybeInvokeDelegate(e2, r2) {
+    var n2 = r2.method, o2 = e2.iterator[n2];
+    if (o2 === t2)
+      return r2.delegate = null, "throw" === n2 && e2.iterator.return && (r2.method = "return", r2.arg = t2, maybeInvokeDelegate(e2, r2), "throw" === r2.method) || "return" !== n2 && (r2.method = "throw", r2.arg = new TypeError("The iterator does not provide a '" + n2 + "' method")), y;
+    var i2 = tryCatch(o2, e2.iterator, r2.arg);
+    if ("throw" === i2.type)
+      return r2.method = "throw", r2.arg = i2.arg, r2.delegate = null, y;
+    var a2 = i2.arg;
+    return a2 ? a2.done ? (r2[e2.resultName] = a2.value, r2.next = e2.nextLoc, "return" !== r2.method && (r2.method = "next", r2.arg = t2), r2.delegate = null, y) : a2 : (r2.method = "throw", r2.arg = new TypeError("iterator result is not an object"), r2.delegate = null, y);
+  }
+  function pushTryEntry(t3) {
+    var e2 = { tryLoc: t3[0] };
+    1 in t3 && (e2.catchLoc = t3[1]), 2 in t3 && (e2.finallyLoc = t3[2], e2.afterLoc = t3[3]), this.tryEntries.push(e2);
+  }
+  function resetTryEntry(t3) {
+    var e2 = t3.completion || {};
+    e2.type = "normal", delete e2.arg, t3.completion = e2;
+  }
+  function Context(t3) {
+    this.tryEntries = [{ tryLoc: "root" }], t3.forEach(pushTryEntry, this), this.reset(true);
+  }
+  function values(e2) {
+    if (e2 || "" === e2) {
+      var r2 = e2[a];
+      if (r2)
+        return r2.call(e2);
+      if ("function" == typeof e2.next)
+        return e2;
+      if (!isNaN(e2.length)) {
+        var o2 = -1, i2 = function next2() {
+          for (; ++o2 < e2.length; )
+            if (n.call(e2, o2))
+              return next2.value = e2[o2], next2.done = false, next2;
+          return next2.value = t2, next2.done = true, next2;
+        };
+        return i2.next = i2;
+      }
+    }
+    throw new TypeError(typeof e2 + " is not iterable");
+  }
+  return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: true }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: true }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function(t3) {
+    var e2 = "function" == typeof t3 && t3.constructor;
+    return !!e2 && (e2 === GeneratorFunction || "GeneratorFunction" === (e2.displayName || e2.name));
+  }, e.mark = function(t3) {
+    return Object.setPrototypeOf ? Object.setPrototypeOf(t3, GeneratorFunctionPrototype) : (t3.__proto__ = GeneratorFunctionPrototype, define(t3, u, "GeneratorFunction")), t3.prototype = Object.create(g), t3;
+  }, e.awrap = function(t3) {
+    return { __await: t3 };
+  }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function() {
+    return this;
+  }), e.AsyncIterator = AsyncIterator, e.async = function(t3, r2, n2, o2, i2) {
+    void 0 === i2 && (i2 = Promise);
+    var a2 = new AsyncIterator(wrap(t3, r2, n2, o2), i2);
+    return e.isGeneratorFunction(r2) ? a2 : a2.next().then(function(t4) {
+      return t4.done ? t4.value : a2.next();
+    });
+  }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function() {
+    return this;
+  }), define(g, "toString", function() {
+    return "[object Generator]";
+  }), e.keys = function(t3) {
+    var e2 = Object(t3), r2 = [];
+    for (var n2 in e2)
+      r2.push(n2);
+    return r2.reverse(), function next2() {
+      for (; r2.length; ) {
+        var t4 = r2.pop();
+        if (t4 in e2)
+          return next2.value = t4, next2.done = false, next2;
+      }
+      return next2.done = true, next2;
+    };
+  }, e.values = values, Context.prototype = { constructor: Context, reset: function reset2(e2) {
+    if (this.prev = 0, this.next = 0, this.sent = this._sent = t2, this.done = false, this.delegate = null, this.method = "next", this.arg = t2, this.tryEntries.forEach(resetTryEntry), !e2)
+      for (var r2 in this)
+        "t" === r2.charAt(0) && n.call(this, r2) && !isNaN(+r2.slice(1)) && (this[r2] = t2);
+  }, stop: function stop() {
+    this.done = true;
+    var t3 = this.tryEntries[0].completion;
+    if ("throw" === t3.type)
+      throw t3.arg;
+    return this.rval;
+  }, dispatchException: function dispatchException(e2) {
+    if (this.done)
+      throw e2;
+    var r2 = this;
+    function handle2(n2, o3) {
+      return a2.type = "throw", a2.arg = e2, r2.next = n2, o3 && (r2.method = "next", r2.arg = t2), !!o3;
+    }
+    for (var o2 = this.tryEntries.length - 1; o2 >= 0; --o2) {
+      var i2 = this.tryEntries[o2], a2 = i2.completion;
+      if ("root" === i2.tryLoc)
+        return handle2("end");
+      if (i2.tryLoc <= this.prev) {
+        var c2 = n.call(i2, "catchLoc"), u2 = n.call(i2, "finallyLoc");
+        if (c2 && u2) {
+          if (this.prev < i2.catchLoc)
+            return handle2(i2.catchLoc, true);
+          if (this.prev < i2.finallyLoc)
+            return handle2(i2.finallyLoc);
+        } else if (c2) {
+          if (this.prev < i2.catchLoc)
+            return handle2(i2.catchLoc, true);
+        } else {
+          if (!u2)
+            throw Error("try statement without catch or finally");
+          if (this.prev < i2.finallyLoc)
+            return handle2(i2.finallyLoc);
+        }
+      }
+    }
+  }, abrupt: function abrupt(t3, e2) {
+    for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
+      var o2 = this.tryEntries[r2];
+      if (o2.tryLoc <= this.prev && n.call(o2, "finallyLoc") && this.prev < o2.finallyLoc) {
+        var i2 = o2;
+        break;
+      }
+    }
+    i2 && ("break" === t3 || "continue" === t3) && i2.tryLoc <= e2 && e2 <= i2.finallyLoc && (i2 = null);
+    var a2 = i2 ? i2.completion : {};
+    return a2.type = t3, a2.arg = e2, i2 ? (this.method = "next", this.next = i2.finallyLoc, y) : this.complete(a2);
+  }, complete: function complete(t3, e2) {
+    if ("throw" === t3.type)
+      throw t3.arg;
+    return "break" === t3.type || "continue" === t3.type ? this.next = t3.arg : "return" === t3.type ? (this.rval = this.arg = t3.arg, this.method = "return", this.next = "end") : "normal" === t3.type && e2 && (this.next = e2), y;
+  }, finish: function finish(t3) {
+    for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
+      var r2 = this.tryEntries[e2];
+      if (r2.finallyLoc === t3)
+        return this.complete(r2.completion, r2.afterLoc), resetTryEntry(r2), y;
+    }
+  }, catch: function _catch(t3) {
+    for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
+      var r2 = this.tryEntries[e2];
+      if (r2.tryLoc === t3) {
+        var n2 = r2.completion;
+        if ("throw" === n2.type) {
+          var o2 = n2.arg;
+          resetTryEntry(r2);
+        }
+        return o2;
+      }
+    }
+    throw Error("illegal catch attempt");
+  }, delegateYield: function delegateYield(e2, r2, n2) {
+    return this.delegate = { iterator: values(e2), resultName: r2, nextLoc: n2 }, "next" === this.method && (this.arg = t2), y;
+  } }, e;
+}
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+  try {
+    var info = gen[key](arg);
+    var value = info.value;
+  } catch (error2) {
+    reject(error2);
+    return;
+  }
+  if (info.done) {
+    resolve(value);
+  } else {
+    Promise.resolve(value).then(_next, _throw);
+  }
+}
+function _asyncToGenerator(fn) {
+  return function() {
+    var self = this, args = arguments;
+    return new Promise(function(resolve, reject) {
+      var gen = fn.apply(self, args);
+      function _next(value) {
+        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
+      }
+      function _throw(err) {
+        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
+      }
+      _next(void 0);
+    });
+  };
+}
+function _objectWithoutPropertiesLoose(source, excluded) {
+  if (source == null)
+    return {};
+  var target = {};
+  for (var key in source) {
+    if (Object.prototype.hasOwnProperty.call(source, key)) {
+      if (excluded.indexOf(key) >= 0)
+        continue;
+      target[key] = source[key];
+    }
+  }
+  return target;
+}
+function _extends$2() {
+  _extends$2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$2.apply(this, arguments);
+}
+var GlobalConfig = {
+  validConfig: {
+    message: "tooltip"
+  },
+  // 默认开启点击头部单元格触发排序
+  sortConfig: {
+    multipleColumnSort: false
+  },
+  // 默认不开启隔行换色和行高亮,不暴露此配置
+  stripe: false,
+  // saas下默认不开启隔行换色和行高亮
+  stripeSaas: false,
+  // saas下默认开启下划线
+  borderSaas: true,
+  // saas下通过borderVertical开启边框竖线
+  borderVertical: false,
+  // 鼠标移入表格行是否高亮显示
+  highlightHoverRow: true,
+  resizable: true,
+  // 操作列(type为index或radio或selection的列)默认不可拖动列宽
+  operationColumnResizable: false,
+  fit: true,
+  showHeader: true,
+  defaultTreeIndent: 16,
+  defaultTreeSpacing: 30,
+  rowId: "_RID",
+  // 行数据的唯一主键字段名
+  version: 0,
+  // 版本号,对于某些带数据缓存的功能有用到,上升版本号可以用于重置数据
+  optimization: {
+    animat: true,
+    delayHover: 250,
+    scrollX: {
+      gt: 100
+    },
+    scrollY: {
+      gt: 500
+    }
+  },
+  icon: {
+    sortAsc: index$q(),
+    sortDesc: index$r(),
+    sortDefault: index$s(),
+    required: "tiny-grid-required-icon",
+    filter: index$v(),
+    edit: index$R(),
+    tree: "tiny-grid-icon__caret-right",
+    refresh: index$I(),
+    minscreen: index$z(),
+    fullscreen: index$A(),
+    custom: index$S(),
+    jumpPrev: "tiny-grid-icon__d-arrow-left",
+    jumpNext: "tiny-grid-icon__d-arrow-right",
+    prevPage: "tiny-grid-icon__arrow-left",
+    nextPage: "tiny-grid-icon__arrow-right",
+    zoomIn: "tiny-grid-icon__zoomin",
+    zoomOut: "tiny-grid-icon__zoomout",
+    modalClose: "tiny-grid-icon__close",
+    modalInfo: "tiny-grid-icon__info",
+    modalSuccess: "tiny-grid-icon__success",
+    modalWarning: "tiny-grid-icon__warning",
+    modalError: "tiny-grid-icon__error",
+    modalQuestion: "tiny-grid-icon__question",
+    modalLoading: "tiny-grid-icon__refresh roll",
+    caretBottom: "tiny-grid-icon__caret-bottom",
+    dropdownBottom: "tiny-grid-icon__arrow-bottom",
+    btnLoading: "tiny-grid-icon__refresh roll"
+  },
+  grid: {},
+  menu: {},
+  tooltip: {
+    trigger: "hover",
+    theme: "dark"
+  },
+  pager: {},
+  toolbar: {
+    resizable: {
+      storage: false
+    },
+    buttons: []
+  },
+  modal: {
+    zIndex: 2e3,
+    minWidth: 340,
+    minHeight: 200,
+    lockView: true,
+    mask: true,
+    duration: 3e3,
+    marginSize: 10,
+    animat: true
+  },
+  i18n: function i18n(key) {
+    return key;
+  },
+  constant: {
+    insertedField: "_$inserted",
+    deletedField: "_$deleted",
+    asyncPrefix: "_$async_"
+  },
+  TINY_TABLE_CUSTOM_COLUMN_WIDTH: "TINY_TABLE_CUSTOM_COLUMN_WIDTH",
+  TINY_TABLE_CUSTOM_SETTING: "TINY_TABLE_CUSTOM_SETTING",
+  viewConfig: {
+    // 视图类型
+    DEFAULT: "default",
+    MF: "mf",
+    CARD: "card",
+    LIST: "list",
+    GANTT: "gantt",
+    // 移动优先视图下展示类型
+    MF_SHOW_LIST: "list",
+    MF_SHOW_CARD: "card",
+    // 在不同视图下表格模块的显示
+    toolbar: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden sm:block"
+    },
+    pager: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden sm:block"
+    },
+    columnAnchor: {
+      default: "flex",
+      mf: "hidden sm:flex",
+      card: "hidden"
+    },
+    hiddenColumn: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    tableHeader: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    emptyData: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    tableBody: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    tableFooter: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    fixedColumn: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    borderLine: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    resizeBar: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    gridLoading: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    tableWrapper: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    selectToolbar: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    mfTable: {
+      default: "hidden",
+      mf: "block sm:hidden",
+      card: "block"
+    },
+    footerBorder: {
+      default: "block",
+      mf: "hidden sm:block",
+      card: "hidden"
+    },
+    operButton: {
+      default: "inline-block",
+      mf: "hidden sm:inline-block",
+      card: "hidden"
+    }
+  },
+  themes: {
+    TINY: "tiny",
+    SAAS: "saas"
+  }
+};
+function addListConfig() {
+  var viewConfig2 = GlobalConfig.viewConfig;
+  for (var _i = 0, _Object$keys = Object.keys(viewConfig2); _i < _Object$keys.length; _i++) {
+    var key = _Object$keys[_i];
+    if (typeof viewConfig2[key] === "object") {
+      viewConfig2[key].list = viewConfig2[key].card;
+      viewConfig2[key].gantt = viewConfig2[key].card;
+    }
+  }
+}
+addListConfig();
+var GlobalConfig$1 = GlobalConfig;
+var setup14 = function setup22(options) {
+  if (options === void 0) {
+    options = {};
+  }
+  var icon = GlobalConfig$1.icon, menu = GlobalConfig$1.menu;
+  if (options.menu) {
+    menu = extend(true, {}, menu, options.menu);
+  }
+  if (options.icon) {
+    icon = extend(true, {}, icon, options.icon);
+  }
+  extend(true, GlobalConfig$1, options, {
+    icon,
+    menu
+  });
+};
+var Setup = setup14;
+function getAttrs(_ref, params) {
+  var name = _ref.name, attrs = _ref.attrs;
+  var props2 = attrs;
+  if (typeof attrs === "function") {
+    props2 = attrs(params);
+  }
+  if (name === "input") {
+    props2 = _extends$2({
+      type: "text"
+    }, props2);
+  }
+  return props2;
+}
+var isSyncCell = function isSyncCell2(renderOpts, params, context) {
+  return renderOpts.type === "visible" || context.$type === "cell";
+};
+function autoRefresh(renderOpts, params) {
+  var _renderOpts$refresh = renderOpts.refresh, refresh = _renderOpts$refresh === void 0 ? false : _renderOpts$refresh;
+  var $table = params.$table, row22 = params.row;
+  var _$table$editConfig = $table.editConfig, editConfig = _$table$editConfig === void 0 ? {} : _$table$editConfig;
+  return $table.isTemporaryRow(row22) || !editConfig.showStatus || typeof refresh === "boolean" && refresh || typeof refresh === "function" && refresh(params);
+}
+function getEvents(renderOpts, params, context) {
+  var _on;
+  var _renderOpts$component = renderOpts.component, component = _renderOpts$component === void 0 ? {} : _renderOpts$component, _renderOpts$events = renderOpts.events, events = _renderOpts$events === void 0 ? {} : _renderOpts$events;
+  var native = typeof component === "string";
+  var editorModel = component.model || {};
+  var type = component === "select" ? "change" : native ? "input" : editorModel.event || "update:modelValue";
+  var input = events.input, change = events.change, other = _objectWithoutPropertiesLoose(events, _excluded);
+  var $table = params.$table, column = params.column, row22 = params.row;
+  var model = column.model;
+  var on2 = (_on = {}, _on[type] = function(event) {
+    var cellValue = native ? event.target.value : event;
+    if (!renderOpts.isValidAlways && isSyncCell(renderOpts, params, context)) {
+      setCellValue(row22, column, cellValue);
+    } else {
+      native || set_default(row22, column.property, cellValue);
+      model.update = true;
+      model.value = cellValue;
+      $table.updateStatus(params, cellValue, renderOpts);
+    }
+    if (native) {
+      input && input.apply(null, [params].concat.apply(params, arguments));
+      change && change.apply(null, [params].concat.apply(params, arguments));
+    }
+    if (autoRefresh(renderOpts, params)) {
+      $table.editStore.editorAutoRefreshKey++;
+    }
+  }, _on);
+  var evts = native ? other : events;
+  var mapHandler = function mapHandler2(cb) {
+    return function() {
+      cb.apply(null, [params].concat.apply(params, arguments));
+    };
+  };
+  assign_default(on2, objectMap_default(evts, mapHandler));
+  return on2;
+}
+function renderOptions(h2, options, renderOpts, params, context) {
+  var _renderOpts$optionPro = renderOpts.optionProps, optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro;
+  var labelProp = optionProps.label || "label";
+  var valueProp = optionProps.value || "value";
+  var column = params.column, row22 = params.row;
+  var formatConfig = column.own.formatConfig;
+  var cellValue = isSyncCell(renderOpts, params, context) ? getCellValue(row22, column) : column.model.value;
+  if (!options && formatConfig && formatConfig.data) {
+    options = formatConfig.data;
+  }
+  return options.map(function(item, index230) {
+    var attrs = {
+      domProps: {
+        value: item[valueProp],
+        selected: item.value === cellValue
+      },
+      key: index230
+    };
+    return h2("option", attrs, item[labelProp]);
+  });
+}
+function renderOptgroups(h2, options, params, context) {
+  var optionGroups = options.optionGroups, _options$optionGroupP = options.optionGroupProps, optionGroupProps = _options$optionGroupP === void 0 ? {} : _options$optionGroupP;
+  var groupLabel = optionGroupProps.label || "label";
+  var groupOptions = optionGroupProps.options || "options";
+  return optionGroups.map(function(group, key) {
+    var attrs = {
+      domProps: {
+        label: group[groupLabel]
+      },
+      key
+    };
+    var children = renderOptions(h2, group[groupOptions], options, params, context);
+    return h2("optgroup", attrs, children);
+  });
+}
+function handleConfirmFilter(context, column, checked, item) {
+  var key = column.filterMultiple ? "changeMultipleOption" : "changeRadioOption";
+  var method = context[key];
+  method({}, checked, item);
+}
+function getFilterEvents(item, renderOpts, params, context) {
+  var _on2;
+  var events = renderOpts.events, name = renderOpts.name;
+  var column = params.column;
+  var type = name === "select" ? "change" : "input";
+  var on2 = (_on2 = {}, _on2[type] = function(event) {
+    item.data = event.target.value;
+    handleConfirmFilter(context, column, !!item.data, item);
+  }, _on2);
+  if (events) {
+    var mapHandler = function mapHandler2(cb) {
+      return function() {
+        cb.apply(null, [params].concat.apply(params, arguments));
+      };
+    };
+    assign_default(on2, objectMap_default(events, mapHandler));
+  }
+  return on2;
+}
+function defaultFilterRender(h2, renderOpts, params, context) {
+  var name = renderOpts.name;
+  var column = params.column;
+  var attrs = getAttrs(renderOpts, params);
+  return column.filters.map(function(item) {
+    var props2 = {
+      class: "tiny-grid-default-" + name,
+      attrs,
+      domProps: {
+        value: item.data
+      },
+      on: getFilterEvents(item, renderOpts, params, context)
+    };
+    return h2(name, props2);
+  });
+}
+function defaultFilterMethod(_ref2) {
+  var option = _ref2.option, row22 = _ref2.row, column = _ref2.column;
+  var cellValue = get_default(row22, column.property);
+  var data8 = option.data;
+  return cellValue == data8;
+}
+function renderSelectEdit(h2, renderOpts, params, context) {
+  var props2 = {
+    class: "tiny-grid-default-select",
+    on: getEvents(renderOpts, params, context)
+  };
+  var children = renderOpts.optionGroups ? renderOptgroups(h2, renderOpts, params, context) : renderOptions(h2, renderOpts.options, renderOpts, params, context);
+  return [h2("select", props2, children)];
+}
+function defaultEditRender(h2, renderOpts, params, context) {
+  var _extends2;
+  var $table = params.$table, column = params.column, row22 = params.row;
+  var _column$formatValue = column.formatValue, formatValue = _column$formatValue === void 0 ? function(_ref3) {
+    var cellValue2 = _ref3.cellValue;
+    return cellValue2;
+  } : _column$formatValue, own = column.own;
+  var formatOpt = own.formatConfig || {};
+  var children = renderOpts.children, _renderOpts$component2 = renderOpts.component, component = _renderOpts$component2 === void 0 ? {} : _renderOpts$component2;
+  var attrs = getAttrs(renderOpts, params);
+  var value = isSyncCell(renderOpts, params, context) ? getCellValue(row22, column) : column.model.value;
+  var cellValue = formatValue(_extends$2({
+    cellValue: value
+  }, params));
+  var isTag = ~["input", "textarea", "select"].indexOf(component);
+  var editorModel = component.model || {};
+  var modelProps = typeof component === "string" ? "value" : editorModel.prop || "modelValue";
+  var options = {
+    class: isTag ? "tiny-grid-default-" + component : "",
+    attrs: _extends$2({
+      formatOpt,
+      options: formatOpt.data
+    }, attrs, (_extends2 = {}, _extends2[modelProps] = cellValue, _extends2)),
+    on: getEvents(renderOpts, params, context)
+  };
+  if (autoRefresh(renderOpts, params)) {
+    options.attrs.editorAutoRefreshKey = $table.editStore.editorAutoRefreshKey;
+  }
+  var slot = children ? children(_extends$2({
+    props: options
+  }, params), h2) : null;
+  var cell = [h2(toRaw(component), options, slot)];
+  return isTag ? cell : [h2("div", {
+    class: "tiny-grid-editor"
+  }, cell)];
+}
+var buildRenderMap = function buildRenderMap2() {
+  var renderMapInput = [["autofocus", "input"], ["renderEdit", defaultEditRender], ["renderDefault", defaultEditRender], ["renderFilter", defaultFilterRender], ["filterMethod", defaultFilterMethod]];
+  var mapHandler = function mapHandler2(mapArr) {
+    var obj = {};
+    mapArr.forEach(function(item) {
+      return obj[item[0]] = item[1];
+    });
+    return obj;
+  };
+  var renderMap2 = {};
+  renderMap2.input = mapHandler(renderMapInput);
+  renderMapInput[0][1] = "textarea";
+  renderMap2.textarea = mapHandler(renderMapInput);
+  renderMapInput.splice(0, 1);
+  renderMapInput[0][1] = renderMapInput[1][1] = renderSelectEdit;
+  renderMapInput[2][1] = function(h2, renderOpts, params, context) {
+    var attrs = renderOpts.attrs;
+    var column = params.column;
+    return column.filters.map(function(item) {
+      var props2 = {
+        attrs,
+        class: "tiny-grid-default-select",
+        on: getFilterEvents(item, renderOpts, params, context)
+      };
+      var children = renderOpts.optionGroups ? renderOptgroups(h2, renderOpts, params) : renderOptions(h2, renderOpts.options, renderOpts, params);
+      return h2("select", props2, children);
+    });
+  };
+  renderMap2.select = mapHandler(renderMapInput);
+  return renderMap2;
+};
+var renderMap = buildRenderMap();
+var buildRenderer = function buildRenderer2() {
+  var Renderer2 = {};
+  Renderer2.mixin = function(map2) {
+    each_default(map2, function(options, name) {
+      return Renderer2.add(name, options);
+    });
+    return Renderer2;
+  };
+  Renderer2.get = function(name) {
+    return isObject_default(name) || isFunction_default(name) ? renderMap.input : renderMap[name] || null;
+  };
+  Renderer2.add = function(name, options) {
+    var renders;
+    var flag = name && options;
+    if (!flag) {
+      return Renderer2;
+    }
+    renders = renderMap[name];
+    if (renders) {
+      Object.assign(renders, options);
+    } else {
+      renderMap[name] = options;
+    }
+    return Renderer2;
+  };
+  Renderer2.delete = function(name) {
+    delete renderMap[name];
+    return Renderer2;
+  };
+  return Renderer2;
+};
+var Renderer = buildRenderer();
+var Renderer$1 = Renderer;
+var installedPlugins = [];
+var Buttons = storeMap_default;
+var Menus = storeMap_default;
+var Grid$1 = {
+  use: function use(Plugin, options) {
+    if (Plugin && Plugin.install) {
+      if (!installedPlugins.includes(Plugin)) {
+        Plugin.install(this, options);
+        installedPlugins.push(Plugin);
+      }
+    }
+    return this;
+  },
+  setup: Setup,
+  interceptor: interceptor_default,
+  renderer: Renderer$1,
+  buttons: Buttons,
+  menus: Menus,
+  _tooltip: true
+};
+var handleClearEvent = function handleClearEvent2(params, event) {
+  if (params && params.$table) {
+    var getTarget = params.$table.getEventTargetNode;
+    var bodyEl = document.body;
+    if (getTarget(event, bodyEl, "tiny-autocomplete-suggestion").flag || getTarget(event, bodyEl, "tiny-select-dropdown").flag || getTarget(event, bodyEl, "tiny-cascader__dropdown").flag || getTarget(event, bodyEl, "tiny-cascader-menus").flag || getTarget(event, bodyEl, "tiny-picker-panel").flag || getTarget(event, bodyEl, "tiny-popper").flag || getTarget(event, bodyEl, "tiny-dialog-box").flag) {
+      return false;
+    }
+  }
+};
+Grid$1.interceptor.add("event.clear_actived", handleClearEvent);
+Grid$1.interceptor.add("event.clear_filter", handleClearEvent);
+var GridAdapter = Grid$1;
+function addListenerMousedown$1(_ref4) {
+  var $table = _ref4.$table, mouseConfig = _ref4.mouseConfig, params = _ref4.params, thOns = _ref4.thOns;
+  if (mouseConfig.checked) {
+    thOns.mousedown = function(event) {
+      return $table.triggerHeaderCellMousedownEvent(event, _extends$2({
+        cell: event.currentTarget
+      }, params));
+    };
+  }
+}
+function addListenerDblclick$2(_ref5) {
+  var $table = _ref5.$table, params = _ref5.params, tableListeners = _ref5.tableListeners, thOns = _ref5.thOns;
+  if (tableListeners["header-cell-dblclick"]) {
+    thOns.dblclick = function(event) {
+      return emitEvent$1($table, "header-cell-dblclick", [_extends$2({
+        cell: event.currentTarget
+      }, params), event]);
+    };
+  }
+}
+function addListenerClick$2(_ref6) {
+  var $table = _ref6.$table, highlightCurrentColumn = _ref6.highlightCurrentColumn, mouseConfig = _ref6.mouseConfig, params = _ref6.params, sortOpts2 = _ref6.sortOpts, tableListeners = _ref6.tableListeners, thOns = _ref6.thOns;
+  if (highlightCurrentColumn || tableListeners["header-cell-click"] || mouseConfig.checked || sortOpts2.trigger === "cell") {
+    thOns.click = function(event) {
+      return $table.triggerHeaderCellClickEvent(event, _extends$2({
+        cell: event.currentTarget
+      }, params));
+    };
+  }
+}
+function addListenerMouseout$1(_ref7) {
+  var $table = _ref7.$table, showHeaderTip = _ref7.showHeaderTip, showTooltip2 = _ref7.showTooltip, thOns = _ref7.thOns;
+  if (showTooltip2 || showHeaderTip) {
+    thOns.mouseout = function() {
+      if ($table._isResize) {
+        return;
+      }
+      $table.clostTooltip();
+    };
+  }
+}
+function addListenerMouseover$1(_ref8) {
+  var $table = _ref8.$table, params = _ref8.params, showHeaderTip = _ref8.showHeaderTip, showTitle = _ref8.showTitle, showTooltip2 = _ref8.showTooltip, thOns = _ref8.thOns;
+  if (showTitle || showTooltip2 || showHeaderTip) {
+    thOns.mouseover = function(event) {
+      if ($table._isResize) {
+        return;
+      }
+      if (showTitle) {
+        updateCellTitle(event);
+      } else if (showTooltip2 || showHeaderTip) {
+        $table.triggerHeaderTooltipEvent(event, _extends$2({
+          showHeaderTip
+        }, params));
+      }
+    };
+  }
+}
+function modifyHeadAlign(_ref9) {
+  var column = _ref9.column, headAlign = _ref9.headAlign;
+  if (~["radio", "selection", "index"].indexOf(column.type)) {
+    headAlign = headAlign || "center";
+  }
+  return headAlign;
+}
+function computeDragLeft(args) {
+  var dragMinLeft = args.dragMinLeft;
+  var left = args.left;
+  var dragLeft = Math.max(left, dragMinLeft);
+  return {
+    left,
+    dragMinLeft,
+    dragLeft
+  };
+}
+function renderTableColgroup(tableColumn3) {
+  return h("colgroup", {
+    ref: "colgroup"
+  }, tableColumn3.map(function(column, columnIndex) {
+    return h("col", {
+      attrs: {
+        name: column.id
+      },
+      key: columnIndex
+    });
+  }).concat([h("col", {
+    attrs: {
+      name: "col_gutter"
+    }
+  })]));
+}
+function renderRepair() {
+  return h("div", {
+    class: "tiny-grid__repair",
+    ref: "repair"
+  });
+}
+function renderXSpace() {
+  return h("div", {
+    class: "tiny-grid-body__x-space",
+    ref: "xSpace"
+  });
+}
+var classMap$2 = {
+  colFixed: "col__fixed",
+  colIndex: "col__index",
+  colRadio: "col__radio",
+  colSelection: "col__selection",
+  colGroup: "col__group",
+  colEllipsis: "col__ellipsis",
+  fixedHidden: "fixed__column",
+  isSortable: "is__sortable",
+  isEditable: "is__editable",
+  isFilter: "is__filter",
+  filterActive: "filter__active"
+};
+function getThPropsArg(args) {
+  var _ref10, _column$style, _column$style2;
+  var column = args.column, columnIndex = args.columnIndex, columnKey = args.columnKey, fixedHiddenColumn = args.fixedHiddenColumn, hasEllipsis = args.hasEllipsis, headAlign = args.headAlign, columnStore = args.columnStore;
+  var headerCellClassName = args.headerCellClassName, headerClassName = args.headerClassName, isColGroup = args.isColGroup, isDragHeaderSorting = args.isDragHeaderSorting, params = args.params, thOns = args.thOns, scrollbarWidth = args.scrollbarWidth;
+  var leftList = columnStore.leftList, rightList = columnStore.rightList;
+  return {
+    class: ["tiny-grid-header__column", column.id, (_ref10 = {}, _ref10["col__" + headAlign] = headAlign, _ref10[classMap$2.colFixed] = column.fixed, _ref10[classMap$2.colIndex] = column.type === "index", _ref10[classMap$2.colRadio] = column.type === "radio", _ref10[classMap$2.colSelection] = column.type === "selection", _ref10[classMap$2.colGroup] = isColGroup, _ref10[classMap$2.colEllipsis] = hasEllipsis, _ref10[classMap$2.fixedHidden] = fixedHiddenColumn, _ref10[classMap$2.isSortable] = !["index", "radio", "selection"].includes(column.type) && column.sortable, _ref10[classMap$2.isEditable] = column.editor, _ref10[classMap$2.isFilter] = isObject$1(column.filter), _ref10[classMap$2.filterActive] = column.filter && column.filter.hasFilter, _ref10["fixed-left-last__column"] = column.fixed === "left" && (leftList[leftList.length - 1] === column || column.isFixedLeftLast), _ref10["fixed-right-first__column"] = column.fixed === "right" && (rightList[0] === column || column.isFixedRightFirst), _ref10), getClass(headerClassName, params), getClass(headerCellClassName, params)],
+    attrs: {
+      "data-colid": column.id,
+      colspan: column.colSpan,
+      rowspan: column.rowSpan
+    },
+    style: fixedHiddenColumn ? {
+      left: ((_column$style = column.style) == null ? void 0 : _column$style.left) + "px",
+      right: ((_column$style2 = column.style) == null ? void 0 : _column$style2.right) + scrollbarWidth + "px"
+    } : null,
+    on: thOns,
+    key: isDragHeaderSorting ? random() : columnKey || isColGroup ? column.id : columnIndex
+  };
+}
+function renderThPartition(_ref11) {
+  var border = _ref11.border, column = _ref11.column, isColGroup = _ref11.isColGroup, resizable = _ref11.resizable;
+  var res = null;
+  var classMap2 = {
+    isLine: "is__line"
+  };
+  if (!isColGroup && !(isBoolean_default(column.resizable) ? column.resizable : resizable) && column.type !== "index") {
+    var _ref12;
+    res = h("div", {
+      class: ["tiny-grid-thead-partition", (_ref12 = {}, _ref12[classMap2.isLine] = !border, _ref12)]
+    });
+  }
+  return res;
+}
+function renderThCell(args) {
+  var column = args.column, fixedHiddenColumn = args.fixedHiddenColumn, headerSuffixIconAbsolute = args.headerSuffixIconAbsolute, params = args.params, $table = args.$table;
+  var showEllipsis = args.showEllipsis, showHeaderTip = args.showHeaderTip, showTitle = args.showTitle, showTooltip2 = args.showTooltip;
+  return h(
+    "div",
+    {
+      class: ["tiny-grid-cell", {
+        "tiny-grid-cell__title": showTitle,
+        "tiny-grid-cell__tooltip": showTooltip2 || showHeaderTip,
+        "tiny-grid-cell__ellipsis": showEllipsis,
+        "tiny-grid-cell__header-suffix": headerSuffixIconAbsolute
+      }]
+    },
+    // 如果不是表格形态,就只保留表格结构(到tiny-grid-cell),不渲染具体的内容
+    $table.isShapeTable ? column.renderHeader(h, _extends$2({
+      isHidden: fixedHiddenColumn
+    }, params)) : null
+  );
+}
+function renderThResize(_ref13) {
+  var _vm = _ref13._vm, border = _ref13.border, column = _ref13.column, fixedHiddenColumn = _ref13.fixedHiddenColumn, isColGroup = _ref13.isColGroup, params = _ref13.params, resizable = _ref13.resizable, isColResize = _ref13.isColResize;
+  var res = null;
+  var classMap2 = {
+    isLine: "is__line"
+  };
+  if (!isColGroup && isColResize && (isBoolean_default(column.resizable) ? column.resizable : resizable)) {
+    var _ref14;
+    res = h("div", {
+      class: ["tiny-grid-resizable", (_ref14 = {}, _ref14[classMap2.isLine] = !border, _ref14)],
+      on: {
+        mousedown: function mousedown(event) {
+          return _vm.resizeMousedown(event, _extends$2({
+            isHidden: fixedHiddenColumn
+          }, params));
+        }
+      }
+    });
+  }
+  return res;
+}
+function getThHandler(args) {
+  var $rowIndex = args.$rowIndex, $table = args.$table, _vm = args._vm, allAlign = args.allAlign, allColumnHeaderOverflow = args.allColumnHeaderOverflow, allHeaderAlign = args.allHeaderAlign, border = args.border, columnKey = args.columnKey, headerCellClassName = args.headerCellClassName;
+  var headerSuffixIconAbsolute = args.headerSuffixIconAbsolute, highlightCurrentColumn = args.highlightCurrentColumn, isDragHeaderSorting = args.isDragHeaderSorting, mouseConfig = args.mouseConfig, resizable = args.resizable, sortOpts2 = args.sortOpts, tableListeners = args.tableListeners;
+  var operationColumnResizable = $table.operationColumnResizable;
+  return function(column, $columnIndex) {
+    var showHeaderOverflow = column.showHeaderOverflow, showHeaderTip = column.showHeaderTip, headerAlign = column.headerAlign, align = column.align, headerClassName = column.headerClassName;
+    var isColGroup = column.children && column.children.length;
+    var fixedHiddenColumn = column.fixed;
+    var headOverflow = isNull$1(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
+    var showEllipsis = headOverflow === "ellipsis";
+    var showTitle = headOverflow === "title";
+    var headAlign = headerAlign || align || allHeaderAlign || allAlign;
+    var showTooltip2 = headOverflow === true || headOverflow === "tooltip";
+    var thOns = {};
+    var hasEllipsis = showTitle || showTooltip2 || showEllipsis;
+    var columnStore = $table.columnStore, scrollbarWidth = $table.scrollbarWidth;
+    var isColResize = ["index", "radio", "selection"].includes(column.type) ? operationColumnResizable : true;
+    headAlign = modifyHeadAlign({
+      column,
+      headAlign
+    });
+    var columnIndex = $table.getColumnIndex(column);
+    var params = {
+      $table,
+      $rowIndex,
+      column
+    };
+    Object.assign(params, {
+      columnIndex,
+      $columnIndex
+    });
+    addListenerMouseover$1({
+      $table,
+      params,
+      showHeaderTip,
+      showTitle,
+      showTooltip: showTooltip2,
+      thOns
+    });
+    addListenerMouseout$1({
+      $table,
+      showHeaderTip,
+      showTooltip: showTooltip2,
+      thOns
+    });
+    var args1 = {
+      $table,
+      highlightCurrentColumn,
+      mouseConfig,
+      params
+    };
+    Object.assign(args1, {
+      sortOpts: sortOpts2,
+      tableListeners,
+      thOns
+    });
+    addListenerClick$2(args1);
+    addListenerDblclick$2({
+      $table,
+      params,
+      tableListeners,
+      thOns
+    });
+    addListenerMousedown$1({
+      $table,
+      mouseConfig,
+      params,
+      thOns
+    });
+    args1 = {
+      column,
+      columnIndex,
+      columnKey,
+      fixedHiddenColumn,
+      hasEllipsis,
+      headAlign,
+      columnStore,
+      scrollbarWidth
+    };
+    Object.assign(args1, {
+      headerCellClassName,
+      headerClassName,
+      isColGroup,
+      isDragHeaderSorting,
+      params,
+      thOns
+    });
+    var args2 = {
+      column,
+      fixedHiddenColumn,
+      headerSuffixIconAbsolute,
+      params,
+      $table
+    };
+    Object.assign(args2, {
+      showEllipsis,
+      showHeaderTip,
+      showTitle,
+      showTooltip: showTooltip2
+    });
+    return h("th", getThPropsArg(args1), [
+      renderThPartition({
+        border,
+        column,
+        isColGroup,
+        resizable
+      }),
+      renderThCell(args2),
+      // 列宽拖动
+      renderThResize({
+        _vm,
+        border,
+        column,
+        fixedHiddenColumn,
+        isColGroup,
+        params,
+        resizable,
+        isColResize
+      })
+    ]);
+  };
+}
+function renderTableThead(args) {
+  var $table = args.$table, _vm = args._vm, allAlign = args.allAlign, allColumnHeaderOverflow = args.allColumnHeaderOverflow;
+  var allHeaderAlign = args.allHeaderAlign, border = args.border, columnKey = args.columnKey;
+  var headerCellClassName = args.headerCellClassName, headerColumn = args.headerColumn, headerRowClassName = args.headerRowClassName, headerSuffixIconAbsolute = args.headerSuffixIconAbsolute;
+  var highlightCurrentColumn = args.highlightCurrentColumn, isDragHeaderSorting = args.isDragHeaderSorting, mouseConfig = args.mouseConfig;
+  var overflowX = args.overflowX, resizable = args.resizable, sortOpts2 = args.sortOpts, tableListeners = args.tableListeners;
+  return h("thead", {
+    ref: "thead"
+  }, headerColumn.map(function(cols, $rowIndex) {
+    var args1 = {
+      $rowIndex,
+      $table,
+      _vm,
+      allAlign,
+      allColumnHeaderOverflow,
+      allHeaderAlign,
+      border,
+      columnKey
+    };
+    Object.assign(args1, {
+      headerCellClassName,
+      headerSuffixIconAbsolute,
+      highlightCurrentColumn
+    });
+    Object.assign(args1, {
+      isDragHeaderSorting,
+      mouseConfig,
+      overflowX,
+      resizable,
+      sortOpts: sortOpts2,
+      tableListeners
+    });
+    return h("tr", {
+      class: ["tiny-grid-header__row", headerRowClassName ? isFunction_default(headerRowClassName) ? headerRowClassName({
+        $table,
+        $rowIndex
+      }) : headerRowClassName : ""]
+    }, cols.map(getThHandler(args1)).concat([h("th", {
+      class: "col__gutter"
+    })]));
+  }));
+}
+function updateResizableToolbar($table) {
+  var toolbarVm = $table.getVm("toolbar");
+  if (toolbarVm) {
+    toolbarVm.updateResizable();
+  }
+}
+function renderTable$1(args) {
+  var $table = args.$table, _vm = args._vm, allAlign = args.allAlign, allColumnHeaderOverflow = args.allColumnHeaderOverflow, allHeaderAlign = args.allHeaderAlign, border = args.border, columnKey = args.columnKey;
+  var headerCellClassName = args.headerCellClassName, headerColumn = args.headerColumn, headerRowClassName = args.headerRowClassName, headerSuffixIconAbsolute = args.headerSuffixIconAbsolute;
+  var highlightCurrentColumn = args.highlightCurrentColumn, isDragHeaderSorting = args.isDragHeaderSorting, mouseConfig = args.mouseConfig, overflowX = args.overflowX, resizable = args.resizable, sortOpts2 = args.sortOpts;
+  var tableColumn3 = args.tableColumn, tableLayout = args.tableLayout, tableListeners = args.tableListeners;
+  var args1 = {
+    $table,
+    _vm,
+    allAlign,
+    allColumnHeaderOverflow,
+    allHeaderAlign,
+    border,
+    columnKey
+  };
+  Object.assign(args1, {
+    headerCellClassName,
+    headerColumn,
+    headerRowClassName,
+    headerSuffixIconAbsolute
+  });
+  Object.assign(args1, {
+    highlightCurrentColumn,
+    isDragHeaderSorting,
+    mouseConfig
+  });
+  Object.assign(args1, {
+    overflowX,
+    resizable,
+    sortOpts: sortOpts2,
+    tableListeners
+  });
+  return h("table", {
+    class: "tiny-grid__header",
+    style: {
+      tableLayout
+    },
+    attrs: {
+      cellspacing: 0,
+      cellpadding: 0,
+      border: 0
+    },
+    ref: "table"
+  }, [
+    // 列宽
+    renderTableColgroup(tableColumn3),
+    // 头部
+    renderTableThead(args1)
+  ]);
+}
+var documentOnmouseup = function documentOnmouseup2(_ref15) {
+  var oldMousemove = _ref15.oldMousemove, oldMouseup = _ref15.oldMouseup, column = _ref15.column, dragPosLeft = _ref15.dragPosLeft, dragLeft = _ref15.dragLeft, resizeBarElem = _ref15.resizeBarElem, $table = _ref15.$table, params = _ref15.params;
+  document.onmousemove = oldMousemove;
+  document.onmouseup = oldMouseup;
+  var resizeWidth = column.renderWidth + dragLeft - dragPosLeft;
+  resizeWidth = typeof resizeWidth === "number" ? resizeWidth : parseInt(resizeWidth, 10) || 40;
+  column.resizeWidth = resizeWidth < 40 ? 40 : resizeWidth;
+  resizeBarElem.style.display = "none";
+  removeClass($table.$el, "tiny-grid-cell__resize");
+  Object.assign($table, {
+    _isResize: false,
+    _lastResizeTime: Date.now()
+  });
+  $table.analyColumnWidth();
+  $table.recalculate();
+  updateResizableToolbar($table);
+  emitEvent$1($table, "resizable-change", [params]);
+};
+var Header = defineComponent({
+  name: $prefix + "GridHeader",
+  props: {
+    collectColumn: Array,
+    fixedColumn: Array,
+    size: String,
+    isGroup: Boolean,
+    tableColumn: Array,
+    tableData: Array,
+    visibleColumn: Array
+  },
+  watch: {
+    tableColumn: function tableColumn() {
+      this.uploadColumn();
+    }
+  },
+  data: function data2() {
+    return {
+      headerColumn: []
+    };
+  },
+  mounted: function mounted2() {
+    var $el = this.$el, $table = this.$parent, $refs = this.$refs;
+    var elemStore = $table.elemStore;
+    var keyPrefix = "main-header-";
+    elemStore[keyPrefix + "wrapper"] = $el;
+    elemStore[keyPrefix + "table"] = $refs.table;
+    elemStore[keyPrefix + "colgroup"] = $refs.colgroup;
+    elemStore[keyPrefix + "list"] = $refs.thead;
+    elemStore[keyPrefix + "x-space"] = $refs.xSpace;
+    elemStore[keyPrefix + "repair"] = $refs.repair;
+  },
+  created: function created2() {
+    this.uploadColumn();
+  },
+  render: function render7() {
+    var $table = this.$parent, headerColumn = this.headerColumn, tableColumn3 = this.tableColumn;
+    var allAlign = $table.align, border = $table.border, columnKey = $table.columnKey, allHeaderAlign = $table.headerAlign;
+    var headerCellClassName = $table.headerCellClassName, headerRowClassName = $table.headerRowClassName, headerSuffixIconAbsolute = $table.headerSuffixIconAbsolute;
+    var highlightCurrentColumn = $table.highlightCurrentColumn, isDragHeaderSorting = $table.isDragHeaderSorting, _$table$mouseConfig = $table.mouseConfig, mouseConfig = _$table$mouseConfig === void 0 ? {} : _$table$mouseConfig, overflowX = $table.overflowX;
+    var resizable = $table.resizable, allColumnHeaderOverflow = $table.showHeaderOverflow;
+    var sortOpts2 = $table.sortOpts, tableLayout = $table.tableLayout, tableListeners = $table.tableListeners;
+    var args = {
+      $table,
+      _vm: this,
+      allAlign,
+      allColumnHeaderOverflow,
+      allHeaderAlign,
+      border,
+      columnKey
+    };
+    Object.assign(args, {
+      headerCellClassName,
+      headerColumn,
+      headerRowClassName,
+      headerSuffixIconAbsolute
+    });
+    Object.assign(args, {
+      highlightCurrentColumn,
+      isDragHeaderSorting,
+      mouseConfig,
+      overflowX,
+      resizable,
+      sortOpts: sortOpts2
+    });
+    Object.assign(args, {
+      tableColumn: tableColumn3,
+      tableLayout,
+      tableListeners
+    });
+    return h("div", {
+      class: ["tiny-grid__header-wrapper", "body__wrapper"]
+    }, [
+      // 表格主体内容x轴方向虚拟滚动条占位元素,在表头中属于无效元素,待删除
+      renderXSpace(),
+      renderTable$1(args),
+      // x轴方向虚拟滚动适配线
+      renderRepair()
+    ]);
+  },
+  methods: {
+    uploadColumn: function uploadColumn() {
+      this.headerColumn = this.isGroup ? this.$parent._sliceColumnTree(this.tableColumn) : [this.tableColumn];
+    },
+    resizeMousedown: function resizeMousedown(event, params) {
+      var $el = this.$el, $table = this.$parent;
+      var dragClientX = event.clientX, dragBtnElem = event.target;
+      var column = params.column;
+      var _ref16 = {}, _ref16$dragLeft = _ref16.dragLeft, dragLeft = _ref16$dragLeft === void 0 ? 0 : _ref16$dragLeft, _ref16$minInterval = _ref16.minInterval, minInterval = _ref16$minInterval === void 0 ? 36 : _ref16$minInterval, _ref16$fixedOffsetWid = _ref16.fixedOffsetWidth, fixedOffsetWidth = _ref16$fixedOffsetWid === void 0 ? 0 : _ref16$fixedOffsetWid;
+      var _$table$$refs = $table.$refs, resizeBarElem = _$table$$refs.resizeBar, tableBody = _$table$$refs.tableBody;
+      var _ref17 = {}, _ref17$cell = _ref17.cell, cell = _ref17$cell === void 0 ? dragBtnElem.parentNode : _ref17$cell, _ref17$dragBtnWidth = _ref17.dragBtnWidth, dragBtnWidth = _ref17$dragBtnWidth === void 0 ? dragBtnElem.clientWidth : _ref17$dragBtnWidth;
+      var _ref18 = {}, _ref18$pos = _ref18.pos, pos = _ref18$pos === void 0 ? getOffsetPos(dragBtnElem, $el) : _ref18$pos, _ref18$tableBodyElem = _ref18.tableBodyElem, tableBodyElem = _ref18$tableBodyElem === void 0 ? tableBody.$el : _ref18$tableBodyElem;
+      var dragMinLeft = pos.left - cell.clientWidth + dragBtnWidth + minInterval;
+      var dragPosLeft = pos.left + Math.floor(dragBtnWidth / 2);
+      var _ref19 = {}, _ref19$oldMousemove = _ref19.oldMousemove, oldMousemove = _ref19$oldMousemove === void 0 ? document.onmousemove : _ref19$oldMousemove, _ref19$oldMouseup = _ref19.oldMouseup, oldMouseup = _ref19$oldMouseup === void 0 ? document.onmouseup : _ref19$oldMouseup;
+      var handleMousemoveEvent = function handleMousemoveEvent2(event2) {
+        event2.stopPropagation();
+        event2.preventDefault();
+        var _ref20 = {}, _ref20$offsetX = _ref20.offsetX, offsetX = _ref20$offsetX === void 0 ? event2.clientX - dragClientX : _ref20$offsetX, _ref20$left = _ref20.left, left = _ref20$left === void 0 ? offsetX + dragPosLeft : _ref20$left;
+        var scrollLeft = tableBodyElem.scrollLeft;
+        var args = {
+          cell,
+          dragMinLeft,
+          dragPosLeft,
+          fixedOffsetWidth
+        };
+        Object.assign(args, {
+          left,
+          minInterval,
+          tableBodyElem
+        });
+        var ret = computeDragLeft(args);
+        left = ret.left;
+        dragMinLeft = ret.dragMinLeft;
+        dragLeft = ret.dragLeft;
+        resizeBarElem.style.left = dragLeft - scrollLeft + "px";
+      };
+      resizeBarElem.style.display = "block";
+      addClass($table.$el, "tiny-grid-cell__resize");
+      $table._isResize = true;
+      document.onmousemove = handleMousemoveEvent;
+      document.onmouseup = function() {
+        documentOnmouseup({
+          oldMousemove,
+          oldMouseup,
+          column,
+          dragPosLeft,
+          dragLeft,
+          resizeBarElem,
+          $table,
+          params
+        });
+      };
+      handleMousemoveEvent(event);
+    }
+  }
+});
+Header.install = function(Vue) {
+  Vue.component(Header.name, Header);
+};
+var classMap$1 = {
+  fixedHidden: "fixed__column",
+  colEllipsis: "col__ellipsis",
+  filterActive: "filter__active",
+  cellSummary: "cell__summary",
+  fixedLeftLast: "fixed-left-last__column",
+  fixedRightFirst: "fixed-right-first__column"
+};
+function doFooterSpan(_ref21) {
+  var attrs = _ref21.attrs, footerData = _ref21.footerData, footerSpanMethod = _ref21.footerSpanMethod, params = _ref21.params;
+  if (footerSpanMethod) {
+    var _ref22 = footerSpanMethod(_extends$2({
+      data: footerData
+    }, params)) || {}, _ref22$rowspan = _ref22.rowspan, rowspan = _ref22$rowspan === void 0 ? 1 : _ref22$rowspan, _ref22$colspan = _ref22.colspan, colspan = _ref22$colspan === void 0 ? 1 : _ref22$colspan;
+    if (!rowspan || !colspan) {
+      return null;
+    }
+    attrs.rowspan = rowspan;
+    attrs.colspan = colspan;
+  }
+}
+function addListenerDblclick$1(_ref23) {
+  var $table = _ref23.$table, params = _ref23.params, tableListeners = _ref23.tableListeners, tfOns = _ref23.tfOns;
+  if (tableListeners["footer-cell-dblclick"]) {
+    tfOns.dblclick = function(event) {
+      emitEvent$1($table, "footer-cell-dblclick", [_extends$2({
+        cell: event.currentTarget
+      }, params), event]);
+    };
+  }
+}
+function addListenerClick$1(_ref24) {
+  var $table = _ref24.$table, params = _ref24.params, tableListeners = _ref24.tableListeners, tfOns = _ref24.tfOns;
+  if (tableListeners["footer-cell-click"]) {
+    tfOns.click = function(event) {
+      emitEvent$1($table, "footer-cell-click", [_extends$2({
+        cell: event.currentTarget
+      }, params), event]);
+    };
+  }
+}
+function addListenerMouseout(_ref25) {
+  var $table = _ref25.$table, showTooltip2 = _ref25.showTooltip, tfOns = _ref25.tfOns;
+  if (showTooltip2) {
+    tfOns.mouseout = function() {
+      $table.clostTooltip();
+    };
+  }
+}
+function addListenerMouseover(_ref26) {
+  var $table = _ref26.$table, params = _ref26.params, showTitle = _ref26.showTitle, showTooltip2 = _ref26.showTooltip, tfOns = _ref26.tfOns;
+  if (showTitle || showTooltip2) {
+    tfOns.mouseover = function(event) {
+      if (showTitle) {
+        updateCellTitle(event);
+      } else if (showTooltip2) {
+        $table.triggerFooterTooltipEvent(event, params);
+      }
+    };
+  }
+}
+function renderColgroup(tableColumn3) {
+  return h("colgroup", {
+    ref: "colgroup"
+  }, tableColumn3.map(function(column, columnIndex) {
+    return h("col", {
+      attrs: {
+        name: column.id
+      },
+      key: columnIndex
+    });
+  }).concat([h("col", {
+    attrs: {
+      name: "col_gutter"
+    }
+  })]));
+}
+var renderfoots = function renderfoots2(opt) {
+  var $table = opt.$table, allAlign = opt.allAlign, allColumnOverflow = opt.allColumnOverflow, allFooterAlign = opt.allFooterAlign, buildParamFunc2 = opt.buildParamFunc, columnKey = opt.columnKey, columnStore = opt.columnStore;
+  var footerCellClassName = opt.footerCellClassName, footerData = opt.footerData, footerRowClassName = opt.footerRowClassName, footerSpanMethod = opt.footerSpanMethod, overflowX = opt.overflowX, tableColumn3 = opt.tableColumn, tableListeners = opt.tableListeners;
+  var scrollbarWidth = $table.scrollbarWidth;
+  return function(list, $rowIndex) {
+    return h("tr", {
+      class: ["tiny-grid-footer__row", footerRowClassName ? isFunction_default(footerRowClassName) ? footerRowClassName({
+        $table,
+        $rowIndex
+      }) : footerRowClassName : ""]
+    }, tableColumn3.map(function(column, $columnIndex) {
+      var _ref28, _ref29;
+      var arg1 = {
+        $columnIndex,
+        $rowIndex,
+        $table,
+        allAlign,
+        allColumnOverflow,
+        allFooterAlign
+      };
+      var arg2 = {
+        column,
+        footerData,
+        footerSpanMethod,
+        overflowX,
+        tableListeners
+      };
+      var _buildParamFunc = buildParamFunc2(Object.assign(arg1, arg2)), attrs = _buildParamFunc.attrs, columnIndex = _buildParamFunc.columnIndex, fixedHiddenColumn = _buildParamFunc.fixedHiddenColumn, footAlign = _buildParamFunc.footAlign, footerClassName = _buildParamFunc.footerClassName, hasEllipsis = _buildParamFunc.hasEllipsis, params = _buildParamFunc.params, tfOns = _buildParamFunc.tfOns, isShowEllipsis = _buildParamFunc.isShowEllipsis, isShowTitle = _buildParamFunc.isShowTitle, showTooltip2 = _buildParamFunc.showTooltip;
+      var leftList = columnStore.leftList, rightList = columnStore.rightList;
+      var _ref27 = column.style || {}, leftPosition = _ref27.left, right = _ref27.right;
+      var rightPosition = right >= 0 ? right + scrollbarWidth : "";
+      return h("td", {
+        class: ["tiny-grid-footer__column", column.id, (_ref28 = {}, _ref28["col__" + footAlign] = footAlign, _ref28[classMap$1.fixedHidden] = fixedHiddenColumn, _ref28[classMap$1.colEllipsis] = hasEllipsis, _ref28[classMap$1.filterActive] = column.filter && column.filter.hasFilter, _ref28[classMap$1.fixedLeftLast] = column.fixed === "left" && leftList[leftList.length - 1] === column, _ref28[classMap$1.fixedRightFirst] = column.fixed === "right" && rightList[0] === column, _ref28), getClass(footerClassName, params), getClass(footerCellClassName, params)],
+        style: fixedHiddenColumn ? {
+          left: leftPosition + "px",
+          right: rightPosition + "px"
+        } : null,
+        attrs,
+        on: tfOns,
+        key: columnKey ? column.id : columnIndex
+      }, [h(
+        "div",
+        {
+          class: ["tiny-grid-cell", (_ref29 = {}, _ref29[classMap$1.cellSummary] = $table.summaryConfig, _ref29["tiny-grid-cell__title"] = isShowTitle, _ref29["tiny-grid-cell__tooltip"] = showTooltip2 || column.showTip, _ref29["tiny-grid-cell__ellipsis"] = isShowEllipsis, _ref29)]
+        },
+        // 如果不是表格形态,就只保留表格结构(到tiny-grid-cell),不渲染具体的内容
+        $table.isShapeTable ? formatText(list[$table.tableColumn.indexOf(column)]) : null
+      )]);
+    }).concat([h("td", {
+      class: "col__gutter"
+    })]));
+  };
+};
+function renderTfoot(opt) {
+  return h("tfoot", {
+    ref: "tfoot"
+  }, opt.footerData.map(renderfoots(opt)));
+}
+var Footer = defineComponent({
+  name: $prefix + "GridFooter",
+  props: {
+    fixedColumn: Array,
+    fixedType: String,
+    footerData: Array,
+    size: String,
+    tableColumn: Array,
+    visibleColumn: Array
+  },
+  mounted: function mounted22() {
+    var $el = this.$el, $table = this.$parent, $refs = this.$refs;
+    var elemStore = $table.elemStore;
+    var keyPrefix = "main-footer-";
+    elemStore[keyPrefix + "wrapper"] = $el;
+    elemStore[keyPrefix + "table"] = $refs.table;
+    elemStore[keyPrefix + "colgroup"] = $refs.colgroup;
+    elemStore[keyPrefix + "list"] = $refs.tfoot;
+    elemStore[keyPrefix + "x-space"] = $refs.xSpace;
+  },
+  render: function render22() {
+    var $table = this.$parent, buildParamFunc2 = this.buildParamFunc, fixedColumn = this.fixedColumn, fixedType = this.fixedType, footerData = this.footerData, tableColumn3 = this.tableColumn;
+    var allAlign = $table.align, columnKey = $table.columnKey, allFooterAlign = $table.footerAlign, footerCellClassName = $table.footerCellClassName, footerRowClassName = $table.footerRowClassName, footerSpanMethod = $table.footerSpanMethod, columnStore = $table.columnStore;
+    var overflowX = $table.overflowX, allColumnOverflow = $table.showOverflow, tableLayout = $table.tableLayout, tableListeners = $table.tableListeners, renderFooter = $table.renderFooter;
+    var tableAttrs = {
+      cellspacing: 0,
+      cellpadding: 0,
+      border: 0
+    };
+    var colgroupVNode = renderColgroup(tableColumn3);
+    var arg1 = {
+      $table,
+      allAlign,
+      allColumnOverflow,
+      allFooterAlign,
+      buildParamFunc: buildParamFunc2,
+      columnKey,
+      columnStore
+    };
+    var arg2 = {
+      footerCellClassName,
+      footerData,
+      footerRowClassName,
+      footerSpanMethod,
+      overflowX,
+      tableColumn: tableColumn3,
+      tableListeners
+    };
+    var tfootVNode = renderTfoot(Object.assign(arg1, arg2));
+    var renderParams = {
+      $table,
+      columns: tableColumn3,
+      footerData,
+      fixedColumns: fixedColumn,
+      fixedType
+    };
+    return h("div", {
+      class: ["tiny-grid__footer-wrapper", "body__wrapper"],
+      on: {
+        scroll: this.scrollEvent
+      }
+    }, [h("div", {
+      class: "tiny-grid-body__x-space",
+      ref: "xSpace"
+    }), typeof renderFooter === "function" ? renderFooter(renderParams, h) : h("table", {
+      class: "tiny-grid__footer",
+      style: {
+        tableLayout
+      },
+      attrs: tableAttrs,
+      ref: "table"
+    }, [
+      //  列宽
+      colgroupVNode,
+      // 底部
+      tfootVNode
+    ])]);
+  },
+  methods: {
+    scrollEvent: function scrollEvent(event) {
+      var $table = this.$parent;
+      var $refs = $table.$refs, lastScrollLeft = $table.lastScrollLeft, scrollXLoad = $table.scrollXLoad;
+      var tableBody = $refs.tableBody, tableFooter = $refs.tableFooter, tableHeader = $refs.tableHeader;
+      var headerElem = tableHeader ? tableHeader.$el : null;
+      var bodyElem = tableBody ? tableBody.$el : null;
+      var footerElem = tableFooter ? tableFooter.$el : null;
+      var scrollLeft = footerElem.scrollLeft;
+      var isX = scrollLeft !== lastScrollLeft;
+      var setElemScrollLeft = function setElemScrollLeft2(elem, scrollLeft2) {
+        if (elem) {
+          elem.scrollLeft = scrollLeft2;
+        }
+      };
+      var eventParams = [{
+        $table,
+        isX,
+        isY: false,
+        scrollLeft,
+        scrollTop: bodyElem.scrollTop,
+        type: "footer"
+      }, event];
+      $table.lastScrollTime = Date.now();
+      $table.lastScrollLeft = scrollLeft;
+      setElemScrollLeft(headerElem, scrollLeft);
+      setElemScrollLeft(bodyElem, scrollLeft);
+      if (scrollXLoad && isX) {
+        $table.triggerScrollXEvent(event);
+      }
+      emitEvent$1($table, "scroll", eventParams);
+    },
+    buildParamFunc: function buildParamFunc(opt) {
+      var $columnIndex = opt.$columnIndex, $rowIndex = opt.$rowIndex, $table = opt.$table, allAlign = opt.allAlign, allColumnOverflow = opt.allColumnOverflow, allFooterAlign = opt.allFooterAlign;
+      var column = opt.column, footerData = opt.footerData, footerSpanMethod = opt.footerSpanMethod, tableListeners = opt.tableListeners;
+      var showOverflow = column.showOverflow, footerAlign = column.footerAlign, align = column.align, footerClassName = column.footerClassName;
+      var fixedHiddenColumn = column.fixed;
+      var cellOverflowValue = isNull$1(showOverflow) ? allColumnOverflow : showOverflow;
+      var footAlign = footerAlign || align || allFooterAlign || allAlign;
+      var isShowEllipsis = cellOverflowValue === "ellipsis";
+      var isShowTitle = cellOverflowValue === "title";
+      var showTooltip2 = cellOverflowValue === true || cellOverflowValue === "tooltip";
+      var hasEllipsis = isShowTitle || showTooltip2 || isShowEllipsis;
+      var attrs = {
+        "data-colid": column.id
+      };
+      var tfOns = {};
+      var columnIndex = $table.getColumnIndex(column);
+      var params = {
+        $table,
+        $rowIndex,
+        column,
+        columnIndex,
+        $columnIndex
+      };
+      addListenerMouseover({
+        $table,
+        params,
+        showTitle: isShowTitle,
+        showTooltip: showTooltip2,
+        tfOns
+      });
+      addListenerMouseout({
+        $table,
+        showTooltip: showTooltip2,
+        tfOns
+      });
+      addListenerClick$1({
+        $table,
+        params,
+        tableListeners,
+        tfOns
+      });
+      addListenerDblclick$1({
+        $table,
+        params,
+        tableListeners,
+        tfOns
+      });
+      doFooterSpan({
+        attrs,
+        footerData,
+        footerSpanMethod,
+        params
+      });
+      return {
+        attrs,
+        columnIndex,
+        fixedHiddenColumn,
+        footAlign,
+        footerClassName,
+        hasEllipsis,
+        isShowEllipsis,
+        isShowTitle,
+        showTooltip: showTooltip2,
+        params,
+        tfOns
+      };
+    }
+  }
+});
+Footer.install = function(Vue) {
+  Vue.component(Footer.name, Footer);
+};
+var outLog = function outLog2(type) {
+  return function(message) {
+    var msg = "[tiny-grid] " + (GlobalConfig$1.i18n(message) || message);
+    log(msg, type);
+    return msg;
+  };
+};
+var warn$1 = outLog("warn");
+var error = outLog("error");
+var DateFormat = {
+  FULLDATETIME: "yyyy-MM-dd hh:mm:ss.SSS",
+  LONGDATETIME: "yyyy-MM-dd hh:mm:ss",
+  DATETIME: "yyyy-MM-dd hh:mm",
+  DATE: "yyyy-MM-dd",
+  FULLTIME: "hh:mm:ss.SSS",
+  LONGTIME: "hh:mm:ss",
+  TIME: "hh:mm",
+  YEARMONTH: "yyyy-MM"
+};
+var dateFormat = function dateFormat2(value, formatString) {
+  var userFormat = _extends$2({
+    dateFormat: formatString
+  }, this.own.formatConfig);
+  if (value) {
+    if (typeof value === "string") {
+      if (userFormat.valueFormat) {
+        value = toDate(value, userFormat.valueFormat);
+      } else {
+        warn$1("ui.grid.error.missingValueFormat");
+        if (isNaN(Date.parse(value))) {
+          return value;
+        }
+      }
+    } else if (typeof value === "number") {
+      value = new Date(value);
+    }
+  }
+  if (userFormat.isutc8) {
+    if (!value) {
+      return value;
+    }
+    var currentTimezone = 0 - (/* @__PURE__ */ new Date()).getTimezoneOffset() / 60;
+    var newDate = getDateWithNewTimezone(isDate(value) ? value : new Date(toDate(value)), currentTimezone, userFormat.timezone || 8);
+    return format(newDate, userFormat.dateFormat);
+  }
+  return toDateStr(value, userFormat.dateFormat, userFormat.timezone);
+};
+var Formatter = {
+  money: function money(value) {
+    var prefix = "$";
+    var format2 = _extends$2({
+      fraction: 2,
+      flag: prefix + "{0}"
+    }, this.own.formatConfig);
+    return tryToCurrency(value, format2.fraction, format2.flag, "");
+  },
+  enum: function _enum(value) {
+    var format2 = _extends$2({
+      label: "label",
+      value: "value"
+    }, this.own.formatConfig);
+    var data8 = Array.isArray(format2.data) && find_default(format2.data, function(item) {
+      return item[format2.value] === value;
+    });
+    return data8 ? data8[format2.label] : "";
+  },
+  select: function select(cellValue) {
+    var _this$editor = this.editor, options = _this$editor.options, optionGroups = _this$editor.optionGroups, _this$editor$optionPr = _this$editor.optionProps, optionProps = _this$editor$optionPr === void 0 ? {} : _this$editor$optionPr, _this$editor$optionGr = _this$editor.optionGroupProps, optionGroupProps = _this$editor$optionGr === void 0 ? {} : _this$editor$optionGr;
+    var format2 = this.own.formatConfig;
+    if (isNull$1(cellValue) || cellValue === "") {
+      return "";
+    }
+    var selectItem;
+    var labelProp = optionProps.label || "label";
+    var valueProp = optionProps.value || "value";
+    if (optionGroups) {
+      var groupOptions = optionGroupProps.options || "options";
+      for (var _index = 0; _index < optionGroups.length; _index++) {
+        selectItem = find_default(optionGroups[_index][groupOptions], function(item) {
+          return item[valueProp] === cellValue;
+        });
+        if (selectItem) {
+          break;
+        }
+      }
+      return selectItem ? selectItem[labelProp] : null;
+    } else {
+      if (!options && format2 && format2.async && format2.data) {
+        options = format2.data;
+      }
+      selectItem = find_default(options, function(item) {
+        return item[valueProp] === cellValue;
+      });
+      return selectItem ? selectItem[labelProp] : null;
+    }
+  },
+  number: function number(value) {
+    var format2 = _extends$2({
+      fraction: 2
+    }, this.own.formatConfig);
+    return tryToDecimal(value, format2.fraction, false, "");
+  },
+  integer: function integer(value) {
+    return tryToInt(value, "");
+  },
+  filesize: function filesize(value) {
+    var format2 = _extends$2({}, this.own.formatConfig);
+    return toFileSize(value, format2.unit, format2.currUnit);
+  },
+  date: function date(value) {
+    return dateFormat.call(this, value, DateFormat.DATE);
+  },
+  dateTime: function dateTime(value) {
+    return dateFormat.call(this, value, DateFormat.DATETIME);
+  },
+  longDateTime: function longDateTime(value) {
+    return dateFormat.call(this, value, DateFormat.LONGDATETIME);
+  },
+  time: function time(value) {
+    return dateFormat.call(this, value, DateFormat.TIME);
+  },
+  longTime: function longTime(value) {
+    return dateFormat.call(this, value, DateFormat.LONGTIME);
+  },
+  yearMonth: function yearMonth(value) {
+    return dateFormat.call(this, value, DateFormat.YEARMONTH);
+  },
+  ellipsis: function ellipsis(value) {
+    var format2 = _extends$2({}, this.own.formatConfig);
+    return function(h2) {
+      return h2("div", {
+        class: "data-ellipsis"
+      }, [h2("span", {
+        domProps: {
+          title: value
+        }
+      }, truncate(value, format2.len))]);
+    };
+  },
+  /**
+   * rate 渲染器的计算规则:
+   * 如果配置了 max,就按照 value / max 计算样式百分比,按照 value / 1 计算显示百分比;
+   * 如果未配置 max,就按照 value / total 计算样式百分比和显示百分比;
+   * @param {Number} value
+   * @returns Function
+   */
+  rate: function rate(value) {
+    var format2 = _extends$2({
+      fraction: 2,
+      total: 1,
+      section: [30, 60, 90]
+    }, this.own.formatConfig);
+    var rateMethod = format2.rateMethod;
+    var rate2;
+    var formatTotal = format2.total;
+    var getLengthRate = function getLengthRate2(value2, config2) {
+      var lengthRate2;
+      if (config2.max && typeof config2.max === "number" && typeof value2 === "number") {
+        formatTotal = 1;
+        lengthRate2 = toRate(value2 / config2.max, formatTotal, format2.fraction);
+      }
+      return lengthRate2;
+    };
+    var lengthRate = getLengthRate(value, format2);
+    if (typeof rateMethod === "function") {
+      rate2 = rateMethod.call(this, value, Object.assign({
+        formatTotal
+      }, format2));
+    } else {
+      rate2 = toRate(value, formatTotal, format2.fraction);
+    }
+    lengthRate = lengthRate || rate2;
+    var section = format2.section;
+    var css = "";
+    if (section) {
+      var rateValue = parseInt(lengthRate, 10);
+      if (!isNumber$1(rateValue)) {
+        return rate2;
+      }
+      if (rateValue === 100) {
+        css = " tiny-grid__chart-completed";
+      } else {
+        var cssMap = {
+          0: " tiny-grid__chart-danger",
+          1: " tiny-grid__chart-warning",
+          2: " tiny-grid__chart-normal"
+        };
+        Array.isArray(section) || (section = section.split(","));
+        for (var i = 0; i < section.length; i++) {
+          if (rateValue < section[i]) {
+            css = cssMap[i];
+            break;
+          }
+        }
+      }
+    }
+    return function(h2) {
+      return h2("div", {
+        class: "tiny-grid__data-rate"
+      }, [h2("div", {
+        class: "tiny-grid__rate-chart" + css,
+        style: {
+          width: lengthRate
+        }
+      }), h2("span", {
+        class: "tiny-grid__rate-text"
+      }, rate2)]);
+    };
+  },
+  boole: function boole(value) {
+    var defaultFormat = {
+      trueValue: true,
+      falseValue: false,
+      htmlView: true,
+      noFork: false
+    };
+    var format2 = Object.assign(defaultFormat, this.own.formatConfig);
+    var cellValue = !isNull$1(format2.trueValue) ? value === format2.trueValue : toBoolValue(value);
+    if (!format2.htmlView) {
+      return cellValue;
+    }
+    if (format2.noFork && !value) {
+      return "";
+    }
+    var icon = !cellValue ? index$L() : index$M();
+    return function(h2) {
+      return h2("div", {
+        class: "tiny-grid__data-boole"
+      }, [h2(icon, {
+        class: ["tiny-svg-size", !cellValue ? "icon-close" : "icon-yes"]
+      })]);
+    };
+  }
+};
+function getRenderType(_ref30) {
+  var editor = _ref30.editor, formatConfig = _ref30.formatConfig, formatText2 = _ref30.formatText;
+  var renderType = formatText2 || formatConfig.type;
+  if (!renderType && editor && editor.component === "select") {
+    renderType = "select";
+  }
+  return renderType;
+}
+function getFormatData(_ref31) {
+  var $table = _ref31.$table, cacheFormat = _ref31.cacheFormat, row22 = _ref31.row;
+  var rest, formatData;
+  if (cacheFormat) {
+    rest = $table.fullAllDataRowMap.get(row22);
+    formatData = rest.formatData;
+    if (!formatData) {
+      formatData = $table.fullAllDataRowMap.get(row22).formatData = {};
+    }
+  }
+  return {
+    rest,
+    formatData
+  };
+}
+function hasCacheValue(_ref32) {
+  var async = _ref32.async, cellValue = _ref32.cellValue, colid = _ref32.colid, formatData = _ref32.formatData, rest = _ref32.rest;
+  return rest && formatData[colid] && formatData[colid].value === cellValue && (!async || formatData[colid].label);
+}
+function notHasCacheVal(_ref33) {
+  var cellLabel = _ref33.cellLabel, cellValue = _ref33.cellValue, column = _ref33.column, formatText2 = _ref33.formatText, hasCacheVal = _ref33.hasCacheVal, params = _ref33.params, renderType = _ref33.renderType, row22 = _ref33.row;
+  if (!hasCacheVal) {
+    var cellText = row22[GlobalConfig$1.constant.insertedField + column.property];
+    var formatParams = {
+      cellValue
+    };
+    if (cellText) {
+      formatParams.cellLabel = cellText;
+    }
+    cellLabel = isString_default(renderType) ? Formatter[renderType].call(column, cellValue) : formatText2(Object.assign(formatParams, params));
+  }
+  return cellLabel;
+}
+function setFormatData(_ref34) {
+  var cellLabel = _ref34.cellLabel, cellValue = _ref34.cellValue, colid = _ref34.colid, formatData = _ref34.formatData;
+  if (formatData) {
+    formatData[colid] = {
+      value: cellValue,
+      label: cellLabel
+    };
+  }
+}
+var getCellLabel = function getCellLabel2(row22, column, params) {
+  var formatText2 = column.formatText, editor = column.editor;
+  var _column$own$formatCon = column.own.formatConfig, formatConfig = _column$own$formatCon === void 0 ? {} : _column$own$formatCon;
+  var cellValue = getCellValue(row22, column);
+  var cellLabel = cellValue;
+  var renderType = getRenderType({
+    editor,
+    formatConfig,
+    formatText: formatText2
+  });
+  if (params && renderType) {
+    var $table = params.$table;
+    var colid = column.id;
+    var _column$own$formatCon2 = column.own.formatConfig, formatConfig2 = _column$own$formatCon2 === void 0 ? {} : _column$own$formatCon2;
+    var async = formatConfig2.async === true;
+    var cacheFormat = $table && $table.fullAllDataRowMap.has(row22);
+    var _getFormatData = getFormatData({
+      $table,
+      cacheFormat,
+      row: row22
+    }), rest = _getFormatData.rest, formatData = _getFormatData.formatData;
+    var hasCacheVal = hasCacheValue({
+      async,
+      cellValue,
+      colid,
+      formatData,
+      rest
+    });
+    if (hasCacheVal) {
+      return formatData[colid].label;
+    }
+    cellLabel = notHasCacheVal({
+      cellLabel,
+      cellValue,
+      column,
+      formatText: formatText2,
+      hasCacheVal,
+      params,
+      renderType,
+      row: row22
+    });
+    setFormatData({
+      cellLabel,
+      cellValue,
+      colid,
+      formatData
+    });
+  }
+  return cellLabel;
+};
+var index$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  error,
+  getCellLabel,
+  warn: warn$1
+}, Symbol.toStringTag, {
+  value: "Module"
+}));
+var TEMPORARY_CHILDREN = "_$children_";
+var TEMPORARY_SHOW = "_$show_";
+var ROWKEY_MAP = /* @__PURE__ */ new WeakMap();
+var TOTALROWS_MAP = /* @__PURE__ */ new WeakMap();
+var CHART_MAP = /* @__PURE__ */ new WeakMap();
+var rowUniqueId = 0;
+var getRowUniqueId = function getRowUniqueId2() {
+  return "row_" + ++rowUniqueId;
+};
+var isValidArray = function isValidArray2(arr) {
+  return Array.isArray(arr) && arr.length;
+};
+var setTableRowKey = function setTableRowKey2($table) {
+  if (!ROWKEY_MAP.has($table)) {
+    ROWKEY_MAP.set($table, getRowkey($table));
+  }
+  return ROWKEY_MAP.get($table);
+};
+var getTableRowKey = function getTableRowKey2($table) {
+  if (!ROWKEY_MAP.has($table)) {
+    setTableRowKey($table);
+  }
+  return ROWKEY_MAP.get($table);
+};
+var setTreeScrollYCache = function setTreeScrollYCache2(_vm) {
+  setCacheChartMap(_vm);
+  setTotalRows(_vm);
+};
+var buildChart = function buildChart2(_vm) {
+  var afterFullData = _vm.afterFullData, scrollYLoad = _vm.scrollYLoad, treeConfig = _vm.treeConfig, treeExpandeds = _vm.treeExpandeds;
+  if (!scrollYLoad || !treeConfig)
+    return;
+  var chart = [];
+  var stack = [];
+  var isExpanded = function isExpanded2(row22) {
+    return ~treeExpandeds.indexOf(row22);
+  };
+  var children = treeConfig.children;
+  var iterate = function iterate2(arr, chart2) {
+    return isValidArray(arr) && arr.forEach(function(row22) {
+      return traverse(row22, chart2);
+    });
+  };
+  var traverse = function traverse2(row22, chart2) {
+    chart2.push([].concat(stack, [row22]));
+    if (isExpanded(row22)) {
+      stack.push(row22);
+      iterate(row22[children], chart2);
+      stack.pop();
+    }
+  };
+  iterate(afterFullData, chart);
+  return chart;
+};
+var clearTreeShow = function clearTreeShow2(_vm) {
+  var afterFullData = _vm.afterFullData, scrollYLoad = _vm.scrollYLoad, treeConfig = _vm.treeConfig, _subTree = _vm._subTree;
+  if (!scrollYLoad || !treeConfig)
+    return;
+  var children = treeConfig.children, _treeConfig$temporary = treeConfig.temporaryChildren, temporaryChildren = _treeConfig$temporary === void 0 ? TEMPORARY_CHILDREN : _treeConfig$temporary, _treeConfig$temporary2 = treeConfig.temporaryShow, temporaryShow = _treeConfig$temporary2 === void 0 ? TEMPORARY_SHOW : _treeConfig$temporary2;
+  var iterate = function iterate2(arr) {
+    return isValidArray(arr) && arr.forEach(function(child) {
+      return traverse(child);
+    });
+  };
+  var traverse = function traverse2(row22) {
+    row22[temporaryShow] = false;
+    row22[temporaryChildren] = [];
+    iterate(row22[children]);
+  };
+  iterate(_subTree || afterFullData);
+};
+var sliceTreeData = function sliceTreeData2(_vm) {
+  clearTreeShow(_vm);
+  var chart = getCacheChartMap(_vm);
+  var scrollYStore = _vm.scrollYStore, treeConfig = _vm.treeConfig;
+  var renderSize = scrollYStore.renderSize, startIndex = scrollYStore.startIndex;
+  var subChart = chart.slice(startIndex, startIndex + renderSize);
+  var subTree = [];
+  var _treeConfig$temporary3 = treeConfig.temporaryChildren, temporaryChildren = _treeConfig$temporary3 === void 0 ? TEMPORARY_CHILDREN : _treeConfig$temporary3, _treeConfig$temporary4 = treeConfig.temporaryShow, temporaryShow = _treeConfig$temporary4 === void 0 ? TEMPORARY_SHOW : _treeConfig$temporary4;
+  var pushIfNot = function pushIfNot2(arr, item) {
+    return !arr.includes(item) && arr.push(item);
+  };
+  subChart.forEach(function(chartItem) {
+    var lastIndex = chartItem.length - 1;
+    for (var i = lastIndex; i > -1; i--) {
+      if (i === lastIndex) {
+        chartItem[i][temporaryShow] = true;
+      } else {
+        if (!chartItem[i][temporaryChildren]) {
+          chartItem[i][temporaryChildren] = [];
+        }
+        pushIfNot(chartItem[i][temporaryChildren], chartItem[i + 1]);
+      }
+    }
+    pushIfNot(subTree, chartItem[0]);
+  });
+  _vm._subTree = subTree;
+  return subTree;
+};
+var sliceFullData = function sliceFullData2(_vm) {
+  var afterFullData = _vm.afterFullData, scrollYLoad = _vm.scrollYLoad, scrollYStore = _vm.scrollYStore, treeConfig = _vm.treeConfig;
+  var renderSize = scrollYStore.renderSize, startIndex = scrollYStore.startIndex;
+  var result;
+  if (scrollYLoad) {
+    if (treeConfig) {
+      result = sliceTreeData(_vm);
+    } else {
+      result = afterFullData.slice(startIndex, startIndex + renderSize);
+    }
+  } else {
+    result = afterFullData.slice(0);
+  }
+  return result;
+};
+var setTotalRows = function setTotalRows2(_vm) {
+  var afterFullData = _vm.afterFullData, scrollYLoad = _vm.scrollYLoad, treeConfig = _vm.treeConfig;
+  var totalRows = afterFullData.length;
+  if (scrollYLoad && treeConfig) {
+    totalRows = getCacheChartMap(_vm).length;
+  }
+  TOTALROWS_MAP.set(_vm, totalRows);
+};
+var getTotalRows = function getTotalRows2(_vm) {
+  var afterFullData = _vm.afterFullData, scrollYLoad = _vm.scrollYLoad, scrollLoad = _vm.scrollLoad, treeConfig = _vm.treeConfig;
+  var totalRows = afterFullData.length;
+  if (scrollYLoad && treeConfig) {
+    if (!TOTALROWS_MAP.get(_vm)) {
+      setTotalRows(_vm);
+    }
+    totalRows = TOTALROWS_MAP.get(_vm);
+  }
+  if (scrollLoad) {
+    totalRows = scrollLoad.pageSize || 10;
+  }
+  return totalRows;
+};
+var getTreeChildrenKey = function getTreeChildrenKey2(_ref35) {
+  var scrollYLoad = _ref35.scrollYLoad, treeConfig = _ref35.treeConfig;
+  if (!treeConfig) {
+    return;
+  }
+  var childrenKey = treeConfig.children, _treeConfig$temporary5 = treeConfig.temporaryChildren, temporaryChildren = _treeConfig$temporary5 === void 0 ? TEMPORARY_CHILDREN : _treeConfig$temporary5;
+  if (scrollYLoad) {
+    childrenKey = temporaryChildren;
+  }
+  return childrenKey;
+};
+var getTreeShowKey = function getTreeShowKey2(_ref36) {
+  var scrollYLoad = _ref36.scrollYLoad, treeConfig = _ref36.treeConfig;
+  if (!treeConfig) {
+    return;
+  }
+  var treeShowKey = "";
+  var _treeConfig$temporary6 = treeConfig.temporaryShow, temporaryShow = _treeConfig$temporary6 === void 0 ? TEMPORARY_SHOW : _treeConfig$temporary6;
+  if (scrollYLoad) {
+    treeShowKey = temporaryShow;
+  }
+  return treeShowKey;
+};
+var sliceVisibleColumn = function sliceVisibleColumn2(args) {
+  var lastStartIndex = args.lastStartIndex, renderSize = args.renderSize, scrollXLoad = args.scrollXLoad, startIndex = args.startIndex, tableColumn3 = args.tableColumn, columnStore = args.columnStore;
+  var treeConfig = args.treeConfig, visibleColumn = args.visibleColumn, visibleColumnChanged = args.visibleColumnChanged;
+  var leftList = columnStore.leftList, rightList = columnStore.rightList;
+  var tableColumn22 = tableColumn3;
+  var lastStartIndex2 = lastStartIndex;
+  var visibleColumnChanged2 = visibleColumnChanged;
+  var sliced = false;
+  if (scrollXLoad && treeConfig) {
+    if (visibleColumnChanged || !~lastStartIndex || lastStartIndex !== startIndex) {
+      tableColumn22 = visibleColumn.slice(startIndex, startIndex + renderSize);
+      lastStartIndex2 = startIndex;
+      visibleColumnChanged2 = false;
+      sliced = true;
+    }
+  } else {
+    tableColumn22 = visibleColumn.slice(startIndex, startIndex + renderSize);
+    sliced = true;
+  }
+  tableColumn22 = Array.from(/* @__PURE__ */ new Set([].concat(leftList, tableColumn22, rightList)));
+  return {
+    tableColumn: tableColumn22,
+    lastStartIndex: lastStartIndex2,
+    visibleColumnChanged: visibleColumnChanged2,
+    sliced
+  };
+};
+var removeSliceColumnTree = function removeSliceColumnTree2(_vm) {
+  return _vm._sliceColumnTree && (_vm._sliceColumnTree = null);
+};
+var clearOnTableUnmount = function clearOnTableUnmount2($table) {
+  if (ROWKEY_MAP.has($table)) {
+    ROWKEY_MAP.delete($table);
+  }
+  if (TOTALROWS_MAP.has($table)) {
+    TOTALROWS_MAP.delete($table);
+  }
+  if (CHART_MAP.has($table)) {
+    CHART_MAP.delete($table);
+  }
+  removeSliceColumnTree($table);
+};
+var setCacheChartMap = function setCacheChartMap2(_vm) {
+  return CHART_MAP.set(_vm, buildChart(_vm));
+};
+var getCacheChartMap = function getCacheChartMap2(_vm) {
+  return CHART_MAP.get(_vm);
+};
+var sliceColumnTree = function sliceColumnTree2(_vm) {
+  var collectColumn2 = _vm.collectColumn;
+  var columnChart = [];
+  var stack = [];
+  var fixedMap = /* @__PURE__ */ new WeakMap();
+  var maxLevel = 1;
+  var buildColumnChart = function buildColumnChart2(columns2, columnChart2, stack2) {
+    var _loop = function _loop2() {
+      var column = columns2[i];
+      setColumnLevel(column, stack2);
+      column.rowSpan = 1;
+      column.colSpan = 1;
+      if (stack2.length === 0) {
+        fixedMap.set(column, column.fixed || "");
+      }
+      if (Array.isArray(column.children) && column.children.length) {
+        stack2.push(column);
+        buildColumnChart2(column.children, columnChart2, stack2);
+        stack2.pop();
+      } else {
+        var chartItem = [].concat(stack2, [column]);
+        columnChart2.push(chartItem);
+        if (chartItem.length > 1) {
+          chartItem.slice(1).forEach(function(_ref37) {
+            var fixed = _ref37.fixed;
+            var rootColumn = chartItem[0];
+            var cachedFixed = fixedMap.get(rootColumn);
+            if (fixed) {
+              if (cachedFixed && cachedFixed !== fixed) {
+                warn$1("ui.grid.error.groupColumnFixedError");
+              } else if (!cachedFixed) {
+                fixedMap.set(rootColumn, fixed);
+              }
+            }
+          });
+        }
+      }
+    };
+    for (var i = 0; i < columns2.length; i++) {
+      _loop();
+    }
+  };
+  var setColumnLevel = function setColumnLevel2(column, stack2) {
+    column.level = stack2.length + 1;
+    if (column.level > maxLevel) {
+      maxLevel = column.level;
+    }
+  };
+  var setColumnRowSpan = function setColumnRowSpan2(columnChart2) {
+    columnChart2.forEach(function(cols) {
+      var lastColumn = cols[cols.length - 1];
+      lastColumn.rowSpan = maxLevel - lastColumn.level + 1;
+    });
+  };
+  var findChartItem = function findChartItem2(lastColumn) {
+    for (var i = 0; i < columnChart.length; i++) {
+      var chartItem = columnChart[i];
+      if (chartItem[chartItem.length - 1] === lastColumn) {
+        return chartItem;
+      }
+    }
+  };
+  var tryRepairFixedType = function tryRepairFixedType2(chart) {
+    chart.forEach(function(item) {
+      var rootColumn = item[0];
+      item.forEach(function(col) {
+        col.fixed = fixedMap.get(rootColumn);
+      });
+    });
+  };
+  buildColumnChart(collectColumn2, columnChart, stack);
+  setColumnRowSpan(columnChart);
+  tryRepairFixedType(columnChart);
+  _vm.columnChart = columnChart;
+  return function() {
+    var tableColumn3 = _vm.tableColumn;
+    var levelColumns = [];
+    var subChart = [];
+    tableColumn3.forEach(function(column) {
+      subChart.push(findChartItem(column));
+    });
+    subChart.forEach(function(chartItem) {
+      chartItem.forEach(function(column) {
+        var levelIndex = column.level - 1;
+        if (!levelColumns[levelIndex])
+          levelColumns[levelIndex] = [];
+        var levelArr = levelColumns[levelIndex];
+        if (levelArr[levelArr.length - 1] === column) {
+          column.colSpan += 1;
+        } else {
+          levelArr.push(column);
+          column.colSpan = 1;
+        }
+      });
+    });
+    return levelColumns;
+  };
+};
+var setSliceColumnTree = function setSliceColumnTree2(_vm) {
+  return _vm.isGroup && (_vm._sliceColumnTree = sliceColumnTree(_vm));
+};
+var generateFixedClassName = function generateFixedClassName2(_ref38) {
+  var $table = _ref38.$table, bodyElem = _ref38.bodyElem, leftList = _ref38.leftList, rightList = _ref38.rightList;
+  if (!$table || !bodyElem) {
+    return;
+  }
+  var scrollLeft = bodyElem.scrollLeft;
+  if (leftList.length) {
+    if (scrollLeft === 0) {
+      removeClass($table.$el, "tiny-grid-fixed__left");
+    } else {
+      addClass($table.$el, "tiny-grid-fixed__left");
+    }
+  }
+  if (rightList.length) {
+    var isShowRightFixed = bodyElem.scrollWidth - bodyElem.clientWidth - bodyElem.scrollLeft;
+    if (isShowRightFixed === 0) {
+      removeClass($table.$el, "tiny-grid-fixed__right");
+    } else {
+      addClass($table.$el, "tiny-grid-fixed__right");
+    }
+  }
+};
+var isOperateMouse = function isOperateMouse2($table) {
+  return $table._isResize || $table.lastScrollTime && Date.now() < $table.lastScrollTime + $table.optimizeOpts.delayHover;
+};
+var classMap = {
+  colEdit: "col__edit",
+  colIndex: "col__index",
+  colRadio: "col__radio",
+  colSelection: "col__selection",
+  colEllipsis: "col__ellipsis",
+  editVisible: "edit__visible",
+  fixedColumn: "fixed__column",
+  colDirty: "col__dirty",
+  colActived: "col__actived",
+  rowNew: "row__new",
+  rowSelected: "row__selected",
+  rowActived: "row__actived",
+  isScrollload: "is__scrollload"
+};
+var renderBorder = function renderBorder2(h2, type) {
+  var vnTop = h2("span", {
+    class: "tiny-grid-border-top",
+    ref: type + "Top"
+  });
+  var vnRight = h2("span", {
+    class: "tiny-grid-border-right",
+    ref: type + "Right"
+  });
+  var vnBottom = h2("span", {
+    class: "tiny-grid-border-bottom",
+    ref: type + "Bottom"
+  });
+  var vnLeft = h2("span", {
+    class: "tiny-grid-border-left",
+    ref: type + "Left"
+  });
+  return h2("div", {
+    class: "tiny-grid-" + type + "ed-borders",
+    ref: type + "Borders"
+  }, [vnTop, vnRight, vnBottom, vnLeft]);
+};
+function buildColumnProps(args) {
+  var _ref39, _column$style3, _column$style4;
+  var attrs = args.attrs, cellAlign = args.cellAlign, cellClassName = args.cellClassName, className = args.className, column = args.column, columnActived = args.columnActived, columnIndex = args.columnIndex, columnKey = args.columnKey, editor = args.editor;
+  var fixedHiddenColumn = args.fixedHiddenColumn, hasEllipsis = args.hasEllipsis, isDirty = args.isDirty, params = args.params, tdOns = args.tdOns, validError = args.validError, validated = args.validated, columnStore = args.columnStore;
+  var leftList = columnStore.leftList, rightList = columnStore.rightList;
+  return {
+    class: ["tiny-grid-body__column", column.id, (_ref39 = {}, _ref39["col__" + cellAlign] = cellAlign, _ref39[classMap.colEdit] = editor, _ref39[classMap.colIndex] = column.type === "index", _ref39[classMap.colRadio] = column.type === "radio", _ref39[classMap.colSelection] = column.type === "selection", _ref39[classMap.colEllipsis] = hasEllipsis, _ref39[classMap.editVisible] = editor && editor.type === "visible", _ref39[classMap.fixedColumn] = fixedHiddenColumn, _ref39[classMap.colDirty] = isDirty, _ref39[classMap.colActived] = columnActived, _ref39["col__valid-error"] = validError && validated, _ref39["col__valid-success"] = columnActived ? !validError && !validated : isDirty && !validated, _ref39["col__treenode"] = column.treeNode, _ref39["fixed-left-last__column"] = column.fixed === "left" && leftList[leftList.length - 1] === column, _ref39["fixed-right-first__column"] = column.fixed === "right" && rightList[0] === column, _ref39), getClass(className, params), getClass(cellClassName, params)],
+    style: fixedHiddenColumn ? {
+      left: ((_column$style3 = column.style) == null ? void 0 : _column$style3.left) + "px",
+      right: ((_column$style4 = column.style) == null ? void 0 : _column$style4.right) + "px"
+    } : null,
+    key: columnKey ? column.id : columnIndex,
+    attrs,
+    on: tdOns
+  };
+}
+function buildColumnChildren(args) {
+  var h2 = args.h, hasDefaultTip = args.hasDefaultTip, params = args.params, row22 = args.row, validError = args.validError, column = args.column, $table = args.$table;
+  var showEllipsis = args.showEllipsis, showTip = args.showTip, showTitle = args.showTitle, showTooltip2 = args.showTooltip, validStore = args.validStore;
+  var validOpts2 = $table.validOpts;
+  var cellNode = [];
+  var validNode = null;
+  if (hasDefaultTip) {
+    validNode = [null];
+    if (validError) {
+      validNode = h2("div", {
+        class: "tiny-grid-cell__valid",
+        style: validStore.rule && validStore.rule.width ? {
+          width: validStore.rule.width + "px"
+        } : null
+      }, [validOpts2 != null && validOpts2.icon ? h2(validOpts2.icon, {
+        class: "tiny-grid-cell__valid-icon"
+      }) : null, h2("span", {
+        class: "tiny-grid-cell__valid-msg",
+        attrs: {
+          title: validStore.content
+        }
+      }, validStore.content)]);
+    }
+  }
+  cellNode = [h2(
+    "div",
+    {
+      class: ["tiny-grid-cell", {
+        "tiny-grid-cell__title": showTitle,
+        "tiny-grid-cell__tooltip": showTooltip2 || showTip,
+        "tiny-grid-cell__ellipsis": showEllipsis
+      }],
+      attrs: {
+        title: showTitle ? getCellLabel(row22, column, params) : null
+      }
+    },
+    // 调用column组件的renderCell渲染单元格内部的内容
+    // 如果不是表格形态,就只保留表格结构(到aui-grid-cell),不渲染具体的内容
+    $table.isShapeTable ? column.renderCell(h2, params) : null
+  ), validNode];
+  return cellNode;
+}
+function modifyCellAlign(_ref40) {
+  var cellAlign = _ref40.cellAlign, column = _ref40.column;
+  if (~["radio", "selection", "index"].indexOf(column.type)) {
+    cellAlign = cellAlign || "center";
+  }
+  return cellAlign;
+}
+function modifyShowEllipsis(_ref41) {
+  var hasEllipsis = _ref41.hasEllipsis, scrollXLoad = _ref41.scrollXLoad, scrollYLoad = _ref41.scrollYLoad, showEllipsis = _ref41.showEllipsis;
+  if ((scrollXLoad || scrollYLoad) && !hasEllipsis) {
+    showEllipsis = true;
+  }
+  return showEllipsis;
+}
+function addListenerMouseenter(_ref42) {
+  var $table = _ref42.$table, evntParams = _ref42.evntParams, showTip = _ref42.showTip, showTitle = _ref42.showTitle, showTooltip2 = _ref42.showTooltip, tableListeners = _ref42.tableListeners, tdOns = _ref42.tdOns;
+  if (showTip || showTitle || showTooltip2 || tableListeners["cell-mouseenter"]) {
+    tdOns.mouseenter = function(event) {
+      if (isOperateMouse($table)) {
+        return;
+      }
+      evntParams.cell = event.currentTarget;
+      if (showTitle) {
+        updateCellTitle(event);
+      } else if (showTip || showTooltip2) {
+        $table.triggerTooltipEvent(event, evntParams);
+      }
+      emitEvent$1($table, "cell-mouseenter", [evntParams, event]);
+    };
+  }
+}
+function addListenerMouseleave(_ref43) {
+  var $table = _ref43.$table, evntParams = _ref43.evntParams, showTip = _ref43.showTip, showTooltip2 = _ref43.showTooltip, tableListeners = _ref43.tableListeners, tdOns = _ref43.tdOns;
+  if (showTip || showTooltip2 || tableListeners["cell-mouseleave"]) {
+    tdOns.mouseleave = function(event) {
+      if (isOperateMouse($table)) {
+        return;
+      }
+      if (showTip || showTooltip2) {
+        $table.clostTooltip();
+      }
+      evntParams.cell = event.currentTarget;
+      emitEvent$1($table, "cell-mouseleave", [evntParams, event]);
+    };
+  }
+}
+function addListenerMousedown(_ref44) {
+  var $table = _ref44.$table, evntParams = _ref44.evntParams, mouseConfig = _ref44.mouseConfig, tdOns = _ref44.tdOns;
+  if (mouseConfig.checked || mouseConfig.selected) {
+    tdOns.mousedown = function(event) {
+      evntParams.cell = event.currentTarget;
+      $table.triggerCellMousedownEvent(event, evntParams);
+    };
+  }
+}
+function addListenerClick(args) {
+  var $table = args.$table, column = args.column, editConfig = args.editConfig, editor = args.editor, evntParams = args.evntParams, expandConfig = args.expandConfig, highlightCurrentRow = args.highlightCurrentRow;
+  var mouseConfig = args.mouseConfig, radioConfig = args.radioConfig, selectConfig = args.selectConfig, tableListeners = args.tableListeners, tdOns = args.tdOns, treeConfig = args.treeConfig;
+  var satisfy = function satisfy2(equal, trigger) {
+    return trigger === "row" || equal(column) && trigger === "cell";
+  };
+  if (highlightCurrentRow || tableListeners["cell-click"] || mouseConfig.checked || editor && editConfig || satisfy(function() {
+    return true;
+  }, expandConfig.trigger) || satisfy(function(_ref45) {
+    var type = _ref45.type;
+    return type === "radio";
+  }, radioConfig.trigger) || satisfy(function(_ref46) {
+    var type = _ref46.type;
+    return type === "selection";
+  }, selectConfig.trigger) || satisfy(function(_ref47) {
+    var treeNode = _ref47.treeNode;
+    return treeNode;
+  }, treeConfig.trigger)) {
+    tdOns.click = function(event) {
+      evntParams.cell = event.currentTarget;
+      $table.triggerCellClickEvent(event, evntParams);
+    };
+  }
+}
+function getRowSpanMethod(rowSpan) {
+  return function(_ref48) {
+    var row22 = _ref48.row, $rowIndex = _ref48.$rowIndex, column = _ref48.column, data8 = _ref48.data;
+    var fields = [];
+    if (rowSpan) {
+      rowSpan.forEach(function(item) {
+        column.visible && fields.push(item.field);
+      });
+    }
+    var cellVal = row22[column.property];
+    if (cellVal && ~fields.indexOf(column.property)) {
+      var prevSiblingRow = data8[$rowIndex - 1];
+      var nextSiblingRow = data8[$rowIndex + 1];
+      if (prevSiblingRow && prevSiblingRow[column.property] === cellVal) {
+        return {
+          rowspan: 0,
+          colspan: 0
+        };
+      } else {
+        var rowspanCount = 1;
+        while (nextSiblingRow && nextSiblingRow[column.property] === cellVal) {
+          nextSiblingRow = data8[++rowspanCount + $rowIndex];
+        }
+        if (rowspanCount > 1) {
+          return {
+            rowspan: rowspanCount,
+            colspan: 1
+          };
+        }
+      }
+    }
+  };
+}
+function addListenerDblclick(_ref49) {
+  var $table = _ref49.$table, evntParams = _ref49.evntParams, tableListeners = _ref49.tableListeners, tdOns = _ref49.tdOns, triggerDblclick = _ref49.triggerDblclick;
+  if (triggerDblclick || tableListeners["cell-dblclick"]) {
+    tdOns.dblclick = function(event) {
+      evntParams.cell = event.currentTarget;
+      $table.triggerCellDBLClickEvent(event, evntParams);
+    };
+  }
+}
+function doSpan(_ref50) {
+  var attrs = _ref50.attrs, params = _ref50.params, rowSpan = _ref50.rowSpan, spanMethod = _ref50.spanMethod;
+  var rowSpanMethod = getRowSpanMethod(rowSpan);
+  if (spanMethod || rowSpan) {
+    var _ref51 = (spanMethod ? spanMethod(params) : rowSpanMethod(params)) || {}, _ref51$rowspan = _ref51.rowspan, rowspan = _ref51$rowspan === void 0 ? 1 : _ref51$rowspan, _ref51$colspan = _ref51.colspan, colspan = _ref51$colspan === void 0 ? 1 : _ref51$colspan;
+    if (!rowspan || !colspan) {
+      return false;
+    }
+    attrs.rowspan = rowspan;
+    attrs.colspan = colspan;
+  }
+  return true;
+}
+function isCellDirty(_ref52) {
+  var $table = _ref52.$table, column = _ref52.column, editConfig = _ref52.editConfig, isDirty = _ref52.isDirty, row22 = _ref52.row;
+  var _ref53 = editConfig || {}, _ref53$showStatus = _ref53.showStatus, showStatus = _ref53$showStatus === void 0 ? false : _ref53$showStatus, _ref53$relationFields = _ref53.relationFields, relationFields = _ref53$relationFields === void 0 ? true : _ref53$relationFields;
+  var canChange = relationFields === true || Array.isArray(relationFields) && relationFields.includes(column.property);
+  if (editConfig && showStatus && column.property && (column.editor || relationFields && canChange)) {
+    isDirty = $table.hasRowChange(row22, column.property);
+  }
+  return isDirty;
+}
+var setColumnEvents = function setColumnEvents2(args1) {
+  var $columnIndex = args1.$columnIndex, $rowIndex = args1.$rowIndex, $table = args1.$table, column = args1.column, columnIndex = args1.columnIndex;
+  var row22 = args1.row, rowIndex = args1.rowIndex, rowLevel = args1.rowLevel, seq = args1.seq;
+  var editConfig = $table.editConfig, _$table$expandConfig = $table.expandConfig, expandConfig = _$table$expandConfig === void 0 ? {} : _$table$expandConfig;
+  var _$table$radioConfig = $table.radioConfig, radioConfig = _$table$radioConfig === void 0 ? {} : _$table$radioConfig, allColumnOverflow = $table.showOverflow;
+  var highlightCurrentRow = $table.highlightCurrentRow, _$table$mouseConfig2 = $table.mouseConfig, mouseConfig = _$table$mouseConfig2 === void 0 ? {} : _$table$mouseConfig2;
+  var scrollXLoad = $table.scrollXLoad, scrollYLoad = $table.scrollYLoad, _$table$selectConfig = $table.selectConfig, selectConfig = _$table$selectConfig === void 0 ? {} : _$table$selectConfig;
+  var tableListeners = $table.tableListeners, _$table$treeConfig = $table.treeConfig, treeConfig = _$table$treeConfig === void 0 ? {} : _$table$treeConfig;
+  var tdOns = {};
+  var fixedHiddenColumn = column.fixed;
+  var editor = column.editor, showOverflow = column.showOverflow, showTip = column.showTip;
+  var cellOverflow = isNull$1(showOverflow) ? allColumnOverflow : showOverflow;
+  var showTitle = cellOverflow === "title";
+  var showTooltip2 = cellOverflow === true || cellOverflow === "tooltip";
+  var showEllipsis = cellOverflow === "ellipsis";
+  var hasEllipsis = showTitle || showTooltip2 || showEllipsis;
+  var triggerDblclick = editor && editConfig && editConfig.trigger === "dblclick";
+  var commonParams = {
+    $columnIndex,
+    $rowIndex,
+    $table,
+    column,
+    columnIndex
+  };
+  Object.assign(commonParams, {
+    isHidden: fixedHiddenColumn,
+    level: rowLevel,
+    row: row22,
+    rowIndex,
+    seq
+  });
+  var evntParams = _extends$2({
+    showTip
+  }, commonParams);
+  showEllipsis = modifyShowEllipsis({
+    hasEllipsis,
+    scrollXLoad,
+    scrollYLoad,
+    showEllipsis
+  });
+  addListenerMouseenter({
+    $table,
+    evntParams,
+    showTip,
+    showTitle,
+    showTooltip: showTooltip2,
+    tableListeners,
+    tdOns
+  });
+  addListenerMouseleave({
+    $table,
+    evntParams,
+    showTip,
+    showTooltip: showTooltip2,
+    tableListeners,
+    tdOns
+  });
+  addListenerMousedown({
+    $table,
+    evntParams,
+    mouseConfig,
+    tdOns
+  });
+  var args = {
+    $table,
+    column,
+    editConfig,
+    editor,
+    evntParams,
+    expandConfig,
+    highlightCurrentRow
+  };
+  Object.assign(args, {
+    mouseConfig,
+    radioConfig,
+    selectConfig,
+    tableListeners,
+    tdOns,
+    treeConfig
+  });
+  addListenerClick(args);
+  addListenerDblclick({
+    $table,
+    evntParams,
+    tableListeners,
+    tdOns,
+    triggerDblclick
+  });
+  return {
+    commonParams,
+    args,
+    cellOverflow,
+    showTitle,
+    showTooltip: showTooltip2,
+    showEllipsis,
+    hasEllipsis,
+    tdOns,
+    fixedHiddenColumn
+  };
+};
+function renderColumn(args1) {
+  var $seq = args1.$seq, $table = args1.$table, column = args1.column, columnIndex = args1.columnIndex;
+  var h2 = args1.h, row22 = args1.row;
+  var allAlign = $table.align, cellClassName = $table.cellClassName, columnKey = $table.columnKey, editConfig = $table.editConfig;
+  var editRules = $table.editRules, editStore = $table.editStore, rowId = $table.rowId, rowSpan = $table.rowSpan, height2 = $table.height;
+  var tableData = $table.tableData, validOpts2 = $table.validOpts, validStore = $table.validStore, validatedMap = $table.validatedMap, spanMethod = $table.spanMethod, columnStore = $table.columnStore;
+  var _ref54 = {}, isDirty = _ref54.isDirty, _ref54$attrs = _ref54.attrs, attrs = _ref54$attrs === void 0 ? {
+    "data-colid": column.id
+  } : _ref54$attrs;
+  var isMessageDefault = validOpts2.isMessageDefault, isMessageInline = validOpts2.isMessageInline;
+  var actived = editStore.actived;
+  var validated = validatedMap[column.id + "-" + row22[rowId]];
+  var validError = validStore.row === row22 && validStore.column === column;
+  var hasDefaultTip = editRules && (isMessageDefault ? height2 || tableData.length > 1 : isMessageInline);
+  var align = column.align, className = column.className, editor = column.editor, showTip = column.showTip;
+  var cellAlign = align || allAlign;
+  var columnActived = editConfig && editor && actived.row === row22 && (actived.column === column || editConfig.mode === "row");
+  var _setColumnEvents = setColumnEvents(args1), commonParams = _setColumnEvents.commonParams, args = _setColumnEvents.args, showTitle = _setColumnEvents.showTitle, showTooltip2 = _setColumnEvents.showTooltip, showEllipsis = _setColumnEvents.showEllipsis, _setColumnEvents$tdOn = _setColumnEvents.tdOns, tdOns = _setColumnEvents$tdOn === void 0 ? {} : _setColumnEvents$tdOn, hasEllipsis = _setColumnEvents.hasEllipsis, fixedHiddenColumn = _setColumnEvents.fixedHiddenColumn;
+  var params = _extends$2({
+    $seq,
+    data: tableData
+  }, commonParams);
+  cellAlign = modifyCellAlign({
+    cellAlign,
+    column
+  });
+  if (!doSpan({
+    attrs,
+    params,
+    rowSpan,
+    spanMethod
+  })) {
+    return;
+  }
+  isDirty = isCellDirty({
+    $table,
+    column,
+    editConfig,
+    isDirty,
+    row: row22
+  });
+  args = {
+    attrs,
+    cellAlign,
+    cellClassName,
+    className,
+    column,
+    columnActived,
+    columnIndex,
+    columnKey,
+    editor,
+    columnStore
+  };
+  Object.assign(args, {
+    fixedHiddenColumn,
+    hasEllipsis,
+    isDirty,
+    params,
+    tdOns,
+    validError,
+    validated
+  });
+  var colProps = buildColumnProps(args);
+  args = {
+    column,
+    h: h2,
+    hasDefaultTip,
+    params,
+    row: row22,
+    $table
+  };
+  Object.assign(args, {
+    showEllipsis,
+    showTip,
+    showTitle,
+    showTooltip: showTooltip2,
+    validError,
+    validStore
+  });
+  var colChildren = buildColumnChildren(args);
+  return h2("td", colProps, colChildren);
+}
+function renderRowGroupTds(args) {
+  var closeable = args.closeable, currentIcon = args.currentIcon, field = args.field, group = args.group, render18 = args.render;
+  var row22 = args.row, tableColumn3 = args.tableColumn, targetColumn = args.targetColumn, tds = args.tds, title = args.title;
+  for (var _index2 in tableColumn3) {
+    if (Object.prototype.hasOwnProperty.call(tableColumn3, _index2)) {
+      var column = tableColumn3[_index2];
+      if (~["index", "selection"].indexOf(column.type)) {
+        tds.push(createVNode("td", null, null));
+      } else {
+        var value = row22[field];
+        var header = title || targetColumn && formatText(getFuncText(targetColumn.title)) || value;
+        var groupTitleVNode = void 0;
+        if (render18) {
+          groupTitleVNode = render18(h, {
+            value,
+            header,
+            children: group.children,
+            expand: !group.fold
+          });
+        } else {
+          groupTitleVNode = [createVNode("span", {
+            "class": "row-group-title"
+          }, [header]), ":" + value, createVNode("span", {
+            "class": "tiny-badge"
+          }, [group.children.length])];
+        }
+        tds.push(createVNode("td", {
+          "colspan": tableColumn3.length - _index2,
+          "class": "tiny-grid-body__column"
+        }, [createVNode("div", {
+          "class": "tiny-grid-cell-group"
+        }, [[closeable ? currentIcon : null].concat(groupTitleVNode)])]));
+        break;
+      }
+    }
+  }
+}
+function renderRowGroupData(_ref55) {
+  var groupData = _ref55.groupData, groupFolds = _ref55.groupFolds, row22 = _ref55.row, rowGroup = _ref55.rowGroup, rowid2 = _ref55.rowid, rows = _ref55.rows, tableColumn3 = _ref55.tableColumn;
+  if (!groupData[rowid2]) {
+    return;
+  }
+  var title = rowGroup.title, field = rowGroup.field, _rowGroup$closeable = rowGroup.closeable, closeable = _rowGroup$closeable === void 0 ? true : _rowGroup$closeable, render18 = rowGroup.render, className = rowGroup.className;
+  var _ref56 = {}, _ref56$group = _ref56.group, group = _ref56$group === void 0 ? groupData[rowid2] : _ref56$group, _ref56$tds = _ref56.tds, tds = _ref56$tds === void 0 ? [] : _ref56$tds, _ref56$ChevronRight = _ref56.ChevronRight, ChevronRight = _ref56$ChevronRight === void 0 ? index$Q() : _ref56$ChevronRight, _ref56$ChevronDown = _ref56.ChevronDown, ChevronDown = _ref56$ChevronDown === void 0 ? index$N() : _ref56$ChevronDown;
+  var targetColumn = find_default(tableColumn3, function(col) {
+    return col.property === field;
+  });
+  var currentIcon = group.fold ? createVNode(ChevronRight, {
+    "class": "tiny-svg-size"
+  }, null) : createVNode(ChevronDown, {
+    "class": "tiny-svg-size"
+  }, null);
+  renderRowGroupTds({
+    closeable,
+    currentIcon,
+    field,
+    group,
+    render: render18,
+    row: row22,
+    tableColumn: tableColumn3,
+    targetColumn,
+    tds,
+    title
+  });
+  rows.push(createVNode("tr", {
+    "class": ["tiny-grid-body__row", "group", className],
+    "onClick": function onClick() {
+      if (closeable) {
+        group.fold = !group.fold;
+        group.children.forEach(function(row3) {
+          var index230 = groupFolds.indexOf(row3);
+          if (index230 > -1) {
+            groupFolds.splice(index230, 1);
+          } else {
+            groupFolds.push(row3);
+          }
+        });
+      }
+    }
+  }, [tds]));
+}
+function renderRow(args) {
+  var _ref57;
+  var $rowIndex = args.$rowIndex, $seq = args.$seq, $table = args.$table, _vm = args._vm, editStore = args.editStore;
+  var groupFolds = args.groupFolds, h2 = args.h, row22 = args.row, rowActived = args.rowActived;
+  var rowClassName = args.rowClassName, rowIndex = args.rowIndex, rowKey = args.rowKey, rowLevel = args.rowLevel, rowid2 = args.rowid, rows = args.rows;
+  var selection = args.selection, seq = args.seq, tableColumn3 = args.tableColumn, trOn = args.trOn, treeConfig = args.treeConfig, isNotRenderRow = args.isNotRenderRow;
+  if (isNotRenderRow) {
+    return;
+  }
+  rows.push(h2("tr", {
+    class: ["tiny-grid-body__row", (_ref57 = {}, _ref57["row__level-" + rowLevel] = treeConfig, _ref57[classMap.rowNew] = editStore.insertList.includes(row22), _ref57[classMap.rowSelected] = selection.includes(row22), _ref57["tiny-hide"] = groupFolds.includes(row22), _ref57[classMap.rowActived] = rowActived, _ref57), rowClassName ? isFunction_default(rowClassName) ? rowClassName({
+      $table,
+      $seq,
+      seq,
+      rowLevel,
+      row: row22,
+      rowIndex,
+      $rowIndex
+    }) : rowClassName : ""],
+    attrs: {
+      "data-rowid": rowid2
+    },
+    key: rowKey || treeConfig ? rowid2 : $rowIndex,
+    on: trOn
+  }, tableColumn3.map(function(column, $columnIndex) {
+    var columnIndex = $table.getColumnIndex(column);
+    var args1 = {
+      $columnIndex,
+      $rowIndex,
+      $seq,
+      $table,
+      _vm,
+      column,
+      columnIndex
+    };
+    Object.assign(args1, {
+      h: h2,
+      row: row22,
+      rowIndex,
+      rowLevel,
+      seq
+    });
+    return renderColumn(args1);
+  })));
+}
+function renderRowAfter(_ref58) {
+  var $table = _ref58.$table, h2 = _ref58.h, row22 = _ref58.row, rowIndex = _ref58.rowIndex, rows = _ref58.rows, tableData = _ref58.tableData;
+  typeof $table.renderRowAfter === "function" && $table.renderRowAfter({
+    rows,
+    row: row22,
+    data: tableData,
+    rowIndex,
+    renderColumn
+  }, h2);
+}
+function renderRowExpanded(args) {
+  var $table = args.$table, expandMethod = args.expandMethod, expandeds = args.expandeds, h2 = args.h, row22 = args.row, rowIndex = args.rowIndex;
+  var rowLevel = args.rowLevel, rowid2 = args.rowid, rows = args.rows, seq = args.seq, tableColumn3 = args.tableColumn, trOn = args.trOn, treeConfig = args.treeConfig;
+  if (expandeds.length && expandeds.includes(row22) && (typeof expandMethod === "function" ? expandMethod(row22, rowLevel) : true)) {
+    var column = find_default(tableColumn3, function(column2) {
+      return column2.type === "expand";
+    });
+    var columnIndex = $table.getColumnIndex(column);
+    var cellStyle;
+    if (treeConfig) {
+      cellStyle = {
+        paddingLeft: rowLevel * (treeConfig.indent || 16) + 30 + "px"
+      };
+    }
+    if (column) {
+      var renderData = {
+        $table,
+        seq,
+        row: row22,
+        rowIndex,
+        column,
+        columnIndex,
+        level: rowLevel
+      };
+      rows.push(h2("tr", {
+        class: "tiny-grid-body__expanded-row",
+        key: "expand_" + rowid2,
+        on: trOn
+      }, [h2("td", {
+        class: "tiny-grid-body__expanded-column",
+        attrs: {
+          colspan: tableColumn3.length
+        }
+      }, [h2("div", {
+        class: "tiny-grid-body__expanded-cell",
+        style: cellStyle
+      }, [column.renderData(h2, renderData)])])]));
+    }
+  }
+}
+function renderRowTree(args, renderRows2) {
+  var $seq = args.$seq, $table = args.$table, _vm = args._vm, h2 = args.h, row22 = args.row, rowLevel = args.rowLevel;
+  var rows = args.rows, seq = args.seq, seqCount = args.seqCount, tableColumn3 = args.tableColumn, treeConfig = args.treeConfig, treeExpandeds = args.treeExpandeds;
+  var scrollYLoad = $table.scrollYLoad;
+  if (!treeConfig || !treeExpandeds.length) {
+    return;
+  }
+  var childrenKey = getTreeChildrenKey({
+    scrollYLoad,
+    treeConfig
+  });
+  var rowChildren = row22[childrenKey];
+  if (!rowChildren || !rowChildren.length || !~treeExpandeds.indexOf(row22)) {
+    return;
+  }
+  var args1 = {
+    h: h2,
+    _vm,
+    $table,
+    // $seq 树表特有序号:1 --> 1.1
+    $seq: $seq ? $seq + "." + seq : "" + seq,
+    rowLevel: rowLevel + 1,
+    tableData: rowChildren,
+    tableColumn: tableColumn3,
+    seqCount
+  };
+  rows.push.apply(rows, renderRows2(args1));
+}
+function renderRows(_ref59) {
+  var h2 = _ref59.h, _vm = _ref59._vm, $table = _ref59.$table, $seq = _ref59.$seq, rowLevel = _ref59.rowLevel, tableData = _ref59.tableData, tableColumn3 = _ref59.tableColumn, seqCount = _ref59.seqCount;
+  var rowKey = $table.rowKey, rowClassName = $table.rowClassName, treeConfig = $table.treeConfig, treeExpandeds = $table.treeExpandeds, groupFolds = $table.groupFolds;
+  var groupData = $table.groupData, scrollYLoad = $table.scrollYLoad, scrollYStore = $table.scrollYStore, editConfig = $table.editConfig, editStore = $table.editStore;
+  var _$table$expandConfig2 = $table.expandConfig, expandConfig = _$table$expandConfig2 === void 0 ? {} : _$table$expandConfig2, expandeds = $table.expandeds, selection = $table.selection, rowGroup = $table.rowGroup;
+  var rows = [];
+  var expandMethod = expandConfig.activeMethod;
+  var startIndex = scrollYStore.startIndex;
+  var isOrdered = treeConfig ? Boolean(treeConfig.ordered) : false;
+  seqCount = seqCount || {
+    value: 0
+  };
+  var treeShowKey = getTreeShowKey({
+    scrollYLoad,
+    treeConfig
+  });
+  var _ref60 = treeConfig || {}, hideMethod = _ref60.hideMethod;
+  tableData.forEach(function(row22, $rowIndex) {
+    var trOn = {};
+    var rowIndex = $rowIndex;
+    var actived = editStore.actived;
+    var rowActived = editConfig && actived.row === row22;
+    var isNotRenderRow = treeShowKey && !row22[treeShowKey] || hideMethod && hideMethod(row22, rowLevel);
+    if (!isNotRenderRow) {
+      seqCount.value = seqCount.value + 1;
+    }
+    var seq = isOrdered ? seqCount.value : rowIndex + 1;
+    if (scrollYLoad) {
+      seq += startIndex;
+    }
+    rowIndex = $table.getRowIndex(row22);
+    var rowid2 = getRowid($table, row22);
+    renderRowGroupData({
+      groupData,
+      groupFolds,
+      row: row22,
+      rowGroup,
+      rowid: rowid2,
+      rows,
+      tableColumn: tableColumn3
+    });
+    var args = {
+      $rowIndex,
+      $seq,
+      $table,
+      _vm,
+      editStore,
+      groupFolds,
+      h: h2,
+      row: row22,
+      rowActived
+    };
+    Object.assign(args, {
+      rowClassName,
+      rowIndex,
+      rowKey,
+      rowLevel,
+      rowid: rowid2,
+      rows,
+      selection,
+      seq
+    });
+    Object.assign(args, {
+      tableColumn: tableColumn3,
+      trOn,
+      treeConfig,
+      isNotRenderRow
+    });
+    renderRow(args);
+    renderRowAfter({
+      $table,
+      h: h2,
+      row: row22,
+      rowIndex,
+      rows,
+      tableData
+    });
+    args = {
+      $table,
+      expandMethod,
+      expandeds,
+      h: h2,
+      row: row22,
+      rowIndex,
+      rowLevel
+    };
+    Object.assign(args, {
+      rowid: rowid2,
+      rows,
+      seq,
+      tableColumn: tableColumn3,
+      trOn,
+      treeConfig
+    });
+    renderRowExpanded(args);
+    args = {
+      $seq,
+      $table,
+      _vm,
+      h: h2,
+      row: row22,
+      rowLevel,
+      rows
+    };
+    Object.assign(args, {
+      seq,
+      seqCount,
+      tableColumn: tableColumn3,
+      treeConfig,
+      treeExpandeds
+    });
+    renderRowTree(args, renderRows);
+  });
+  return rows;
+}
+function renderDefEmpty(h2) {
+  return [h2("p", {
+    class: "tiny-grid__empty-img"
+  }), h2("span", {
+    class: "tiny-grid__empty-text"
+  }, GlobalConfig$1.i18n("ui.grid.emptyText"))];
+}
+var syncHeaderAndFooterScroll = function syncHeaderAndFooterScroll2(_ref61) {
+  var bodyElem = _ref61.bodyElem, footerElem = _ref61.footerElem, headerElem = _ref61.headerElem, isX = _ref61.isX;
+  if (isX && headerElem) {
+    headerElem.scrollLeft = bodyElem.scrollLeft;
+  }
+  if (isX && footerElem) {
+    footerElem.scrollLeft = bodyElem.scrollLeft;
+  }
+};
+function doScrollLoad(_ref62) {
+  var $table = _ref62.$table, _vm = _ref62._vm, bodyElem = _ref62.bodyElem, event = _ref62.event, headerElem = _ref62.headerElem, isX = _ref62.isX, isY = _ref62.isY, scrollLeft = _ref62.scrollLeft, scrollXLoad = _ref62.scrollXLoad, scrollYLoad = _ref62.scrollYLoad;
+  var isScrollX = scrollXLoad && isX;
+  if (isScrollX) {
+    $table.triggerScrollXEvent(event);
+  }
+  if (isScrollX && headerElem && scrollLeft + bodyElem.clientWidth >= bodyElem.scrollWidth) {
+    _vm.$nextTick(function() {
+      if (bodyElem.scrollLeft !== headerElem.scrollLeft) {
+        headerElem.scrollLeft = bodyElem.scrollLeft;
+      }
+    });
+  }
+  if (scrollYLoad && isY) {
+    $table.triggerScrollYEvent(event);
+  }
+}
+function renderEmptyBlock(_ref63) {
+  var $slots = _ref63.$slots, $table = _ref63.$table, _vm = _ref63._vm, isCenterCls = _ref63.isCenterCls, renderEmpty = _ref63.renderEmpty, tableData = _ref63.tableData;
+  return h("div", {
+    class: "tiny-grid__empty-block" + (tableData.length ? "" : " is__visible") + " " + isCenterCls,
+    ref: "emptyBlock"
+  }, $slots.empty ? $slots.empty.call(_vm, {
+    $table
+  }, h) : renderEmpty ? [renderEmpty(h, $table)] : renderDefEmpty(h));
+}
+function renderBorders(_ref64) {
+  var keyboardConfig = _ref64.keyboardConfig, mouseConfig = _ref64.mouseConfig;
+  var res = null;
+  if (mouseConfig.checked || keyboardConfig.isCut) {
+    res = h("div", {
+      class: "tiny-grid__borders"
+    }, [mouseConfig.checked ? renderBorder(h, "check") : null, keyboardConfig.isCut ? renderBorder(h, "copy") : null]);
+  }
+  return res;
+}
+function renderTable(_ref65) {
+  var $table = _ref65.$table, _vm = _ref65._vm, tableColumn3 = _ref65.tableColumn, tableData = _ref65.tableData, tableLayout = _ref65.tableLayout;
+  return h("table", {
+    class: "tiny-grid__body",
+    style: {
+      tableLayout
+    },
+    attrs: {
+      cellspacing: 0,
+      cellpadding: 0,
+      border: 0
+    },
+    ref: "table"
+  }, [
+    // 渲染colgroup标签,设置表格列宽度,保证表头的表格和表体的表格每列宽相同
+    h("colgroup", {
+      ref: "colgroup"
+    }, tableColumn3.map(function(column, columnIndex) {
+      return h("col", {
+        attrs: {
+          name: column.id
+        },
+        key: columnIndex
+      });
+    })),
+    // 表格每次数据改变都会触发renderRow重新执行,会造成性能损失,此处待优化
+    h("tbody", {
+      ref: "tbody"
+    }, renderRows({
+      h,
+      _vm,
+      $table,
+      $seq: "",
+      rowLevel: 0,
+      tableData,
+      tableColumn: tableColumn3
+    }))
+  ]);
+}
+function renderYSpace(_ref66) {
+  var scrollLoad = _ref66.scrollLoad;
+  return h("div", {
+    class: "tiny-grid-body__y-space visual",
+    ref: "ySpace"
+  }, [scrollLoad ? h("div", {
+    class: "tiny-grid-body__y-scrollbar"
+  }) : [null]]);
+}
+var Body = /* @__PURE__ */ defineComponent({
+  name: $prefix + "GridBody",
+  props: {
+    collectColumn: Array,
+    fixedColumn: Array,
+    isGroup: Boolean,
+    size: String,
+    tableColumn: Array,
+    tableData: Array,
+    visibleColumn: Array
+  },
+  mounted: function mounted3() {
+    var $el = this.$el, $table = this.$parent, $refs = this.$refs;
+    var elemStore = $table.elemStore;
+    var keyPrefix = "main-body-";
+    elemStore[keyPrefix + "wrapper"] = $el;
+    elemStore[keyPrefix + "table"] = $refs.table;
+    elemStore[keyPrefix + "colgroup"] = $refs.colgroup;
+    elemStore[keyPrefix + "list"] = $refs.tbody;
+    elemStore[keyPrefix + "xSpace"] = $refs.xSpace;
+    elemStore[keyPrefix + "ySpace"] = $refs.ySpace;
+    elemStore[keyPrefix + "emptyBlock"] = $refs.emptyBlock;
+    $el.onscroll = this.scrollEvent;
+    $el._onscroll = this.scrollEvent;
+  },
+  updated: function updated() {
+    var $table = this.$parent, fixedType = this.fixedType;
+    !fixedType && $table.updateTableBodyHeight();
+  },
+  setup: function setup32(props2, _ref67) {
+    var slots = _ref67.slots;
+    onBeforeUnmount(function() {
+      var table = getCurrentInstance().proxy;
+      table.$el._onscroll = null;
+      table.$el.onscroll = null;
+    });
+    return {
+      slots
+    };
+  },
+  render: function render32() {
+    var _ref68;
+    var $table = this.$parent;
+    var $grid = $table.$grid, isCenterEmpty = $table.isCenterEmpty, _$table$keyboardConfi = $table.keyboardConfig, keyboardConfig = _$table$keyboardConfi === void 0 ? {} : _$table$keyboardConfi, _$table$mouseConfig3 = $table.mouseConfig, mouseConfig = _$table$mouseConfig3 === void 0 ? {} : _$table$mouseConfig3, renderEmpty = $table.renderEmpty;
+    var scrollLoad = $table.scrollLoad, tableColumn3 = $table.tableColumn, tableData = $table.tableData, tableLayout = $table.tableLayout;
+    var $slots = $grid.slots;
+    var isCenterCls = isCenterEmpty ? "is__center" : "";
+    return h("div", {
+      ref: "body",
+      class: ["tiny-grid__body-wrapper", "body__wrapper", (_ref68 = {}, _ref68[classMap.isScrollload] = scrollLoad, _ref68)]
+    }, [
+      // 表格主体内容x轴方向虚拟滚动条占位元素
+      h("div", {
+        class: "tiny-grid-body__x-space",
+        ref: "xSpace"
+      }),
+      renderYSpace({
+        scrollLoad
+      }),
+      renderTable({
+        $table,
+        _vm: this,
+        tableColumn: tableColumn3,
+        tableData,
+        tableLayout
+      }),
+      // 开启鼠标或者配置项选中边框线
+      renderBorders({
+        keyboardConfig,
+        mouseConfig
+      }),
+      // 空数据
+      renderEmptyBlock({
+        $slots,
+        $table,
+        _vm: this,
+        isCenterCls,
+        renderEmpty,
+        tableData
+      })
+    ]);
+  },
+  methods: {
+    // 滚动处理,如果存在列固定右侧,同步更新滚动状态
+    scrollEvent: function scrollEvent2(event) {
+      var $table = this.$parent;
+      var $refs = $table.$refs, lastScrollLeft = $table.lastScrollLeft, lastScrollTop = $table.lastScrollTop, scrollXLoad = $table.scrollXLoad, scrollYLoad = $table.scrollYLoad, columnStore = $table.columnStore;
+      var leftList = columnStore.leftList, rightList = columnStore.rightList;
+      var tableBody = $refs.tableBody, tableFooter = $refs.tableFooter, tableHeader = $refs.tableHeader;
+      var headerElem = tableHeader ? tableHeader.$el : null;
+      var bodyElem = tableBody.$el;
+      var footerElem = tableFooter ? tableFooter.$el : null;
+      var scrollLeft = bodyElem.scrollLeft;
+      var scrollTop = bodyElem.scrollTop;
+      var isY = scrollTop !== lastScrollTop;
+      var isX = scrollLeft !== lastScrollLeft;
+      $table.lastScrollTime = Date.now();
+      $table.lastScrollLeft = scrollLeft;
+      $table.lastScrollTop = scrollTop;
+      $table.scrollDirection = isX ? "X" : "Y";
+      syncHeaderAndFooterScroll({
+        bodyElem,
+        footerElem,
+        headerElem,
+        isX
+      });
+      if (leftList.length || rightList.length) {
+        generateFixedClassName({
+          $table,
+          bodyElem,
+          leftList,
+          rightList
+        });
+      }
+      doScrollLoad({
+        $table,
+        _vm: this,
+        bodyElem,
+        event,
+        headerElem,
+        isX,
+        isY,
+        scrollLeft,
+        scrollXLoad,
+        scrollYLoad
+      });
+      emitEvent$1($table, "scroll", [{
+        type: "body",
+        scrollTop,
+        scrollLeft,
+        isX,
+        isY,
+        $table
+      }, event]);
+    }
+  }
+});
+Body.install = function(Vue) {
+  Vue.component(Body.name, Body);
+};
+var Radio = defineComponent({
+  name: $prefix + "GridRadio",
+  emits: ["update:modelValue", "change"],
+  props: {
+    modelValue: [String, Number],
+    label: [String, Number],
+    disabled: Boolean,
+    name: String,
+    size: String
+  },
+  computed: {
+    vSize: function vSize() {
+      return this.size || this.$parent.size || this.$parent.vSize;
+    }
+  },
+  setup: function setup42(props2, _ref69) {
+    var slots = _ref69.slots;
+    return {
+      slots
+    };
+  },
+  render: function render42() {
+    var _ref70, _this2 = this;
+    var disabled = this.disabled, vSize5 = this.vSize, modelValue = this.modelValue, label = this.label, name = this.name;
+    var $slots = this.slots;
+    var disableClass = "disabled";
+    return h("label", {
+      class: ["tiny-grid-radio", (_ref70 = {}, _ref70["size__" + vSize5] = vSize5, _ref70["is__" + disableClass] = disabled, _ref70)]
+    }, [h("input", {
+      attrs: {
+        type: "radio",
+        name,
+        disabled
+      },
+      domProps: {
+        checked: modelValue === label
+      },
+      on: {
+        change: function change(event) {
+          if (!disabled) {
+            _this2.$emit("update:modelValue", label);
+            _this2.$emit("change", label, event);
+          }
+        }
+      }
+    }), h("span", {
+      class: "tiny-grid-radio__icon"
+    }, [h(index$T(), {
+      class: ["tiny-svg-size", "icon-radio"]
+    }), h(index$U(), {
+      class: ["tiny-svg-size", "icon-radio-selected"]
+    })]), $slots.default ? h("span", {
+      class: "tiny-grid-radio__label"
+    }, $slots.default()) : null]);
+  }
+});
+Radio.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+$install(Radio);
+function _isSlot(s) {
+  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
+}
+var renderInputArgs = function renderInputArgs2(_ref71) {
+  var _vm = _ref71._vm, inputFilter = _ref71.inputFilter;
+  var isAddbyProgram = false;
+  if (typeof inputFilter.relations_addby !== "undefined") {
+    isAddbyProgram = inputFilter.relations_addby === "program";
+  }
+  var inputRelations;
+  if (isAddbyProgram) {
+    inputRelations = inputFilter.relations_backup;
+  } else {
+    inputRelations = inputFilter.relations;
+  }
+  if (!inputRelations) {
+    inputRelations = [{
+      label: _vm.i18n("ui.grid.filter.prefix"),
+      value: "startwith"
+    }, {
+      label: _vm.i18n("ui.grid.filter.equal"),
+      value: "equals"
+    }, {
+      label: _vm.i18n("ui.grid.filter.include"),
+      value: "contains"
+    }];
+  }
+  return {
+    isAddbyProgram,
+    inputRelations
+  };
+};
+var renderInputProps = function renderInputProps2(_ref72) {
+  var _on3;
+  var InputComponent = _ref72.InputComponent, condition2 = _ref72.condition, event = _ref72.event, inputFilter = _ref72.inputFilter, isNativeInput = _ref72.isNativeInput, prop = _ref72.prop;
+  var inputProps = {
+    style: "width:100%",
+    on: (_on3 = {}, _on3[event] = function(value) {
+      condition2.input = value && value.target ? value.target.value : value;
+    }, _on3),
+    ref: "filterInputComponent"
+  };
+  if (isNativeInput) {
+    var _domProps;
+    inputProps = Object.assign(inputProps, {
+      domProps: (_domProps = {}, _domProps[prop] = condition2.input, _domProps),
+      attrs: _extends$2({}, inputFilter.attrs)
+    });
+  } else {
+    var _extends3;
+    InputComponent = toRaw(InputComponent);
+    inputProps = Object.assign(inputProps, {
+      props: _extends$2({}, inputFilter.attrs, (_extends3 = {}, _extends3[prop] = condition2.input, _extends3))
+    });
+  }
+  return {
+    inputProps,
+    InputComponent
+  };
+};
+var iconRender = function iconRender2(checked, index230, halfChecked) {
+  var CheckedSur = index$W();
+  var Check = index$X();
+  var HalfCheck = index$Y();
+  var props2 = {
+    class: "tiny-svg-size",
+    tabindex: index230
+  };
+  if (typeof halfChecked === "undefined") {
+    return checked ? createVNode(CheckedSur, mergeProps(props2, {
+      "class": "is-checked"
+    }), null) : createVNode(Check, props2, null);
+  } else {
+    return checked ? createVNode(CheckedSur, mergeProps(props2, {
+      "class": "is-checked"
+    }), null) : halfChecked ? createVNode(HalfCheck, mergeProps(props2, {
+      "class": "is-checked"
+    }), null) : createVNode(Check, props2, null);
+  }
+};
+var renderEnumableOptions = function renderEnumableOptions2(_ref73) {
+  var iconRender3 = _ref73.iconRender, _vm = _ref73._vm, filterStore = _ref73.filterStore, selectAll = _ref73.selectAll, searchable = _ref73.searchable;
+  var resultList = filterStore.options.filter(function(value) {
+    var _value$label;
+    return (_value$label = value.label) == null ? void 0 : _value$label.toString().includes(filterStore.searchValue);
+  });
+  if (resultList.length) {
+    var filterList = resultList.map(function(item, index230) {
+      return createVNode("li", {
+        "class": ["tiny-grid__filter-option", {
+          selected: item.checked
+        }],
+        "onClick": function onClick() {
+          if (!filterStore.multi) {
+            filterStore.options.forEach(function(option) {
+              option.checked = option === item;
+            });
+            _vm.filterEnum();
+          } else {
+            item.checked = !item.checked;
+          }
+        }
+      }, [filterStore.multi ? iconRender3(item.checked, index230 + 1) : null, createVNode("a", {
+        "title": item.label
+      }, [createTextVNode(" "), item.label, createTextVNode(" ")])]);
+    });
+    var isShowAllSelect = selectAll && (!filterStore.multi || !searchable && filterStore.multi);
+    return isShowAllSelect ? [createVNode("li", {
+      "class": "tiny-grid__filter-option",
+      "onClick": function onClick() {
+        var isAllSelected = filterStore.options.every(function(item) {
+          return item.checked;
+        });
+        filterStore.options.forEach(function(option) {
+          option.checked = !isAllSelected;
+        });
+        if (!filterStore.multi) {
+          _vm.filterEnum();
+        }
+      }
+    }, [filterStore.multi ? iconRender3(filterStore.options.every(function(item) {
+      return item.checked;
+    }), 0, filterStore.options.some(function(item) {
+      return item.checked;
+    })) : null, createVNode("a", {
+      "title": _vm.i18n("ui.grid.filter.allSelect")
+    }, [createTextVNode(" "), _vm.i18n("ui.grid.filter.allSelect")])])].concat(filterList) : filterList;
+  } else {
+    return [createVNode("li", {
+      "class": "tiny-grid__filter-empty"
+    }, [_vm.i18n("ui.grid.emptyText")])];
+  }
+};
+var Panel$1 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "GridFilter",
+  props: {
+    filterStore: Object,
+    optimizeOpts: Object
+  },
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  watch: {
+    id: function id() {
+      this.updatePanel();
+    },
+    visible: function visible() {
+      this.showAdvance = false;
+      this.updatePanel();
+    }
+  },
+  data: function data22() {
+    return {
+      popperJS: null,
+      showAdvance: false,
+      showAdvItems: false,
+      listPopper: null
+    };
+  },
+  render: function render52() {
+    var _this3 = this, _ref74;
+    var filterStore = this.filterStore, $grid = this.$grid, $table = this.$parent, optimizeOpts2 = this.optimizeOpts, renderInput2 = this.renderInput, renderEnumable2 = this.renderEnumable, renderDefault2 = this.renderDefault, renderExtends2 = this.renderExtends, renderBase2 = this.renderBase, renderSimple2 = this.renderSimple;
+    var args = filterStore.args, column = filterStore.column, options = filterStore.options, _filterStore$layout = filterStore.layout, layout = _filterStore$layout === void 0 ? "input,enum,default,extends,base" : _filterStore$layout;
+    var layoutMap = {
+      input: renderInput2,
+      enum: renderEnumable2,
+      default: renderDefault2,
+      extends: renderExtends2,
+      base: renderBase2,
+      simple: renderSimple2
+    };
+    var quickFilter = layout.split(",").map(function(item) {
+      return layoutMap[item] && layoutMap[item].call(_this3);
+    });
+    var map2 = {
+      filterActive: "filter__active"
+    };
+    return createVNode("div", {
+      "class": ["tiny-grid__wrapper", "tiny-grid__filter-wrapper", "filter__prevent-default", (_ref74 = {
+        "tiny-grid__animat": optimizeOpts2.animat
+      }, _ref74[map2.filterActive] = filterStore.visible, _ref74["tiny-grid__filter-simple"] = layout.includes("simple"), _ref74["filter-wrapper-saas"] = $table.isThemeSaas, _ref74)],
+      "style": filterStore.style
+    }, [filterStore.visible ? createVNode("div", {
+      "class": ["tiny-grid__filter-body", {
+        "show-addvance": this.showAdvance
+      }]
+    }, [column.slots && column.slots.filter ? column.slots.filter({
+      $grid,
+      values: options,
+      args,
+      context: this
+    }) : quickFilter]) : null]);
+  },
+  computed: {
+    condition: function condition() {
+      return this.filterStore.condition;
+    },
+    visible: function visible2() {
+      return this.filterStore.visible;
+    },
+    id: function id2() {
+      return this.filterStore.id;
+    },
+    i18n: function i18n2() {
+      return t || this.$t;
+    }
+  },
+  methods: {
+    updatePanel: debounce_default(20, function() {
+      var _this4 = this;
+      this.correctRelations();
+      var inputFilter = this.filterStore.inputFilter;
+      if (inputFilter) {
+        var relations = inputFilter.relations;
+        if (inputFilter !== true && !relations.filter(function(r) {
+          return r.value === _this4.condition.relation;
+        }).length) {
+          this.resetInput();
+        }
+      }
+      this.popperJS && this.popperJS.destroy() && (this.popperJS = null);
+      this.$nextTick(function() {
+        var _this4$filterStore = _this4.filterStore, targetElemParentTr = _this4$filterStore.targetElemParentTr, id3 = _this4$filterStore.id;
+        var reference = targetElemParentTr && targetElemParentTr.querySelector("svg.tiny-grid-filter__btn." + id3);
+        var popper = _this4.$el;
+        popper.style.zIndex = popup_manager_default.nextZIndex();
+        if (_this4.visible) {
+          _this4.popperJS = new popper_default(reference, popper, {
+            placement: "bottom-end"
+          }).update();
+        }
+      });
+    }),
+    // 基础清除选项
+    renderBase: function renderBase() {
+      return createVNode("ul", {
+        "class": "tiny-grid__filter-panel filter-panel__clear"
+      }, [createVNode("li", {
+        "class": "tiny-grid__filter-option",
+        "onClick": this.resetFilter
+      }, [createVNode("a", {
+        "class": "item-content"
+      }, [this.i18n("ui.grid.filter.clear")])]), createVNode("li", {
+        "class": "tiny-grid__filter-option",
+        "onClick": this.clearFilter
+      }, [createVNode("a", {
+        "class": "item-content"
+      }, [this.i18n("ui.grid.filter.clearAll")])])]);
+    },
+    // 设置筛选条件为空和不为空
+    renderDefault: function renderDefault() {
+      var _this5 = this;
+      var condition2 = this.condition, filterStore = this.filterStore;
+      if (!filterStore.defaultFilter) {
+        return null;
+      }
+      return createVNode("ul", {
+        "class": "tiny-grid__filter-panel filter-panel__default"
+      }, [createVNode("li", {
+        "class": ["tiny-grid__filter-option", {
+          active: condition2.empty === true
+        }],
+        "onClick": function onClick() {
+          _this5.filterNull(true);
+        }
+      }, [createVNode("a", {
+        "class": "item-content"
+      }, [this.i18n("ui.grid.filter.empty")])]), createVNode("li", {
+        "class": ["tiny-grid__filter-option", {
+          active: condition2.empty === false
+        }],
+        "onClick": function onClick() {
+          _this5.filterNull(false);
+        }
+      }, [createVNode("a", {
+        "class": "item-content"
+      }, [this.i18n("ui.grid.filter.unempty")])])]);
+    },
+    // 筛选扩展项
+    renderExtends: function renderExtends() {
+      var _this6 = this;
+      var filterStore = this.filterStore;
+      if (!filterStore.extends) {
+        return null;
+      }
+      return createVNode("ul", {
+        "class": "tiny-grid__filter-panel filter-panel__clear"
+      }, [filterStore.extends.map(function(item) {
+        return createVNode("li", {
+          "class": "tiny-grid__filter-option",
+          "onClick": function onClick() {
+            _this6.filterExtends(item);
+          }
+        }, [createVNode("a", {
+          "class": "item-content"
+        }, [item.label])]);
+      })]);
+    },
+    // 输入筛选项
+    renderInput: function renderInput() {
+      var _slot, _slot2, _slot3;
+      this.correctRelations();
+      var condition2 = this.condition, filterStore = this.filterStore;
+      var inputFilter = filterStore.inputFilter;
+      if (!inputFilter)
+        return null;
+      var _renderInputArgs = renderInputArgs({
+        _vm: this,
+        inputFilter
+      }), isAddbyProgram = _renderInputArgs.isAddbyProgram, inputRelations = _renderInputArgs.inputRelations;
+      var InputComponent = inputFilter.component || "input";
+      var isNativeInput = InputComponent === "input";
+      var model = InputComponent.model || {};
+      var prop = isNativeInput ? "value" : model.prop || "modelValue";
+      var event = isNativeInput ? "input" : model.event || "update:modelValue";
+      var ret = renderInputProps({
+        InputComponent,
+        condition: condition2,
+        event,
+        inputFilter,
+        isNativeInput,
+        prop
+      });
+      var inputProps = ret.inputProps;
+      InputComponent = ret.InputComponent;
+      return createVNode("ul", {
+        "class": "tiny-grid__filter-panel"
+      }, [isAddbyProgram ? null : createVNode("li", {
+        "class": "tiny-grid__filter-option filter-option__radios"
+      }, [inputRelations.map(function(_ref75) {
+        var label = _ref75.label, value = _ref75.value, method = _ref75.method;
+        return createVNode(Radio, {
+          "modelValue": condition2.relation,
+          "label": value,
+          "onChange": function onChange(value2) {
+            condition2.relation = value2;
+            condition2.method = method || function() {
+              return true;
+            };
+          }
+        }, _isSlot(label) ? label : {
+          default: function _default252() {
+            return [label];
+          }
+        });
+      })]), createVNode("li", {
+        "class": "filter-option__input"
+      }, [h(InputComponent, inputProps)]), createVNode("li", {
+        "class": "tiny-grid__filter-option filter-option__btns"
+      }, [createVNode(Button$1, {
+        "type": "primary",
+        "onClick": this.filterInput
+      }, _isSlot(_slot = this.i18n("ui.base.confirm")) ? _slot : {
+        default: function _default252() {
+          return [_slot];
+        }
+      }), createVNode(Button$1, {
+        "onClick": this.resetInput
+      }, _isSlot(_slot2 = this.i18n("ui.base.reset")) ? _slot2 : {
+        default: function _default252() {
+          return [_slot2];
+        }
+      }), createVNode(Button$1, {
+        "onClick": this.close
+      }, _isSlot(_slot3 = this.i18n("ui.base.cancel")) ? _slot3 : {
+        default: function _default252() {
+          return [_slot3];
+        }
+      })])]);
+    },
+    // 选择筛选项
+    renderEnumable: function renderEnumable() {
+      var _slot4, _slot5;
+      var filterStore = this.filterStore;
+      if (!filterStore.enumable)
+        return null;
+      return createVNode("div", {
+        "class": "tiny-grid__filter-panel filter-panel__enum"
+      }, [createVNode("ul", {
+        "class": "tiny-grid__filter-options"
+      }, [renderEnumableOptions({
+        iconRender,
+        _vm: this,
+        filterStore
+      })]), filterStore.multi ? createVNode("div", {
+        "class": "tiny-grid__filter-option filter-option__btns"
+      }, [createVNode(Button$1, {
+        "type": "primary",
+        "onClick": this.filterEnum
+      }, _isSlot(_slot4 = this.i18n("ui.base.confirm")) ? _slot4 : {
+        default: function _default252() {
+          return [_slot4];
+        }
+      }), createVNode(Button$1, {
+        "onClick": function onClick() {
+          filterStore.visible = false;
+        }
+      }, _isSlot(_slot5 = this.i18n("ui.base.cancel")) ? _slot5 : {
+        default: function _default252() {
+          return [_slot5];
+        }
+      })]) : null]);
+    },
+    // 简化版筛选按钮对齐,对齐管理侧规范
+    renderSimple: function renderSimple() {
+      var filterStore = this.filterStore;
+      var simpleFilter = filterStore.simpleFilter;
+      if (!simpleFilter) {
+        return null;
+      }
+      if (simpleFilter.isDatetime) {
+        var _simpleFilter$datetim, _simpleFilter$datetim2, _simpleFilter$datetim3, _simpleFilter$datetim4, _simpleFilter$datetim5, _simpleFilter$datetim6;
+        var _slot6, _slot7;
+        var DatePickComponents = simpleFilter != null && (_simpleFilter$datetim = simpleFilter.datetimeConfig) != null && _simpleFilter$datetim.component ? toRaw(simpleFilter.datetimeConfig.component) : null;
+        var _format = simpleFilter == null ? void 0 : (_simpleFilter$datetim2 = simpleFilter.datetimeConfig) == null ? void 0 : _simpleFilter$datetim2.format;
+        var valueFormat = simpleFilter == null ? void 0 : (_simpleFilter$datetim3 = simpleFilter.datetimeConfig) == null ? void 0 : _simpleFilter$datetim3.valueFormat;
+        var type = simpleFilter == null ? void 0 : (_simpleFilter$datetim4 = simpleFilter.datetimeConfig) == null ? void 0 : _simpleFilter$datetim4.type;
+        var max = simpleFilter == null ? void 0 : (_simpleFilter$datetim5 = simpleFilter.datetimeConfig) == null ? void 0 : _simpleFilter$datetim5.max;
+        var min = simpleFilter == null ? void 0 : (_simpleFilter$datetim6 = simpleFilter.datetimeConfig) == null ? void 0 : _simpleFilter$datetim6.min;
+        var pickerOptions = {
+          disabledDate: function disabledDate(time2) {
+            return time2.getTime() < min || time2.getTime() > max;
+          }
+        };
+        return createVNode("div", {
+          "class": "tiny-grid__filter-panel filter-panel__enum filter-panel__simple"
+        }, [createVNode("div", {
+          "class": "tiny-grid__filter-date-title"
+        }, [this.i18n("ui.grid.filter.dateTips")]), createVNode("ul", {
+          "class": "tiny-grid__filter-date"
+        }, [createVNode("li", {
+          "class": "tiny-grid__filter-date-item"
+        }, [createVNode("span", null, [this.i18n("ui.grid.filter.startDate")]), createVNode(DatePickComponents, {
+          "format": _format,
+          "type": type,
+          "value-format": valueFormat,
+          "picker-options": pickerOptions,
+          "class": "tiny-grid__filter-date-pick",
+          "onChange": function onChange(value) {
+            if (filterStore.datetimeConfig) {
+              filterStore.datetimeConfig.startDate = value;
+            }
+          },
+          "modelValue": filterStore.startDate,
+          "onUpdate:modelValue": function onUpdateModelValue($event) {
+            return filterStore.startDate = $event;
+          }
+        }, null)]), createVNode("li", {
+          "class": "tiny-grid__filter-date-item"
+        }, [createVNode("span", null, [this.i18n("ui.grid.filter.endDate")]), createVNode(DatePickComponents, {
+          "format": _format,
+          "type": type,
+          "value-format": valueFormat,
+          "picker-options": pickerOptions,
+          "class": "tiny-grid__filter-date-pick",
+          "modelValue": filterStore.endDate,
+          "onUpdate:modelValue": function onUpdateModelValue($event) {
+            return filterStore.endDate = $event;
+          },
+          "onChange": function onChange(value) {
+            if (filterStore.datetimeConfig) {
+              filterStore.datetimeConfig.endDate = value;
+            }
+          }
+        }, null)])]), createVNode("div", {
+          "class": "tiny-grid__filter-option filter-option__btns filter-option__date-button"
+        }, [createVNode(Button$1, {
+          "size": "mini",
+          "onClick": this.filterDate
+        }, _isSlot(_slot6 = this.i18n("ui.base.confirm")) ? _slot6 : {
+          default: function _default252() {
+            return [_slot6];
+          }
+        }), createVNode(Button$1, {
+          "size": "mini",
+          "onClick": function onClick() {
+            filterStore.visible = false;
+          }
+        }, _isSlot(_slot7 = this.i18n("ui.base.cancel")) ? _slot7 : {
+          default: function _default252() {
+            return [_slot7];
+          }
+        })])]);
+      } else {
+        var _simpleFilter$searchC;
+        var _slot8, _slot9;
+        var IconSearch = index$V();
+        var InputComponents = simpleFilter != null && (_simpleFilter$searchC = simpleFilter.searchConfig) != null && _simpleFilter$searchC.component ? toRaw(simpleFilter.searchConfig.component) : null;
+        return createVNode("div", {
+          "class": "tiny-grid__filter-panel filter-panel__enum filter-panel__simple"
+        }, [InputComponents ? createVNode(InputComponents, {
+          "modelValue": filterStore.searchValue,
+          "onUpdate:modelValue": function onUpdateModelValue($event) {
+            return filterStore.searchValue = $event;
+          },
+          "onChange": function onChange(value) {
+            if (filterStore.searchConfig) {
+              filterStore.searchConfig.searchValue = value;
+            }
+          },
+          "class": "tiny-grid__filter-search",
+          "clearable": true
+        }, {
+          suffix: function suffix() {
+            return createVNode(IconSearch, null, null);
+          }
+        }) : null, createVNode("ul", {
+          "class": "tiny-grid__filter-options"
+        }, [renderEnumableOptions({
+          iconRender,
+          _vm: this,
+          filterStore,
+          selectAll: simpleFilter.selectAll,
+          searchable: Boolean(InputComponents)
+        })]), filterStore.multi ? createVNode("div", {
+          "class": "tiny-grid__filter-option filter-option__btns"
+        }, [createVNode(Button$1, {
+          "size": "mini",
+          "onClick": this.filterEnum
+        }, _isSlot(_slot8 = this.i18n("ui.base.confirm")) ? _slot8 : {
+          default: function _default252() {
+            return [_slot8];
+          }
+        }), createVNode(Button$1, {
+          "size": "mini",
+          "onClick": function onClick() {
+            filterStore.visible = false;
+          }
+        }, _isSlot(_slot9 = this.i18n("ui.base.cancel")) ? _slot9 : {
+          default: function _default252() {
+            return [_slot9];
+          }
+        })]) : null]);
+      }
+    },
+    renderSlot: function renderSlot2(h2) {
+      var $table = this.$parent, filterStore = this.filterStore;
+      var args = filterStore.args, column = filterStore.column;
+      var slots = column.slots;
+      if (slots && slots.filter) {
+        return slots.filter.call($table, _extends$2({
+          $table,
+          context: this
+        }, args), h2);
+      }
+    },
+    // 全部筛选事件
+    filterCheckAllEvent: function filterCheckAllEvent(event, value) {
+      var filterStore = this.filterStore;
+      filterStore.options.forEach(function(item) {
+        item.checked = value;
+      });
+      filterStore.isAllSelected = value;
+      filterStore.isIndeterminate = false;
+    },
+    // 筛选发生改变 check 是否检查默认值的有效性,当自定义relations时,需要检查
+    resetInput: function resetInput() {
+      this.correctRelations();
+      var _this$filterStore = this.filterStore, inputFilter = _this$filterStore.inputFilter, onResetInputFilter = _this$filterStore.onResetInputFilter;
+      if (inputFilter) {
+        var _this$filterStore$inp = this.filterStore.inputFilter, relations = _this$filterStore$inp.relations, relation = _this$filterStore$inp.relation;
+        this.condition.input = "";
+        if (typeof onResetInputFilter === "function") {
+          onResetInputFilter(this.$refs.filterInputComponent);
+        }
+        var defaultrelation = "equals";
+        var relationValues;
+        var relationValue;
+        if (Array.isArray(relations) && relations.length) {
+          this.condition.method = relations[0].method;
+          defaultrelation = relations[0].value || "equals";
+          for (var i = 0; i < relations.length; i++) {
+            if (relations[i].value === "equals") {
+              defaultrelation = "equals";
+              break;
+            }
+          }
+          relationValues = relations.map(function(r) {
+            return r.value;
+          });
+          if (relation && ~relationValues.indexOf(relation)) {
+            relationValue = relation;
+          }
+        }
+        this.condition.relation = relationValue || defaultrelation;
+      }
+    },
+    // 确认筛选
+    confirmFilter: function confirmFilter(type) {
+      var column = this.filterStore.column;
+      this.condition.type = type;
+      column.filter.condition = extend(true, {}, this.condition);
+      this.$parent.confirmFilterEvent();
+    },
+    // 对外的暴露自定义提交方法
+    commitFilter: function commitFilter() {
+      var column = this.filterStore.column;
+      column.filter.condition.type = "custom";
+      this.$parent.confirmFilterEvent();
+    },
+    // 重置当前列筛选
+    resetFilter: function resetFilter() {
+      this.condition.value = null;
+      this.condition.input = "";
+      this.condition.empty = null;
+      this.condition.value = [];
+      this.condition.type = null;
+      this.resetInput();
+      this.confirmFilter();
+    },
+    // 清除所有列筛选
+    clearFilter: function clearFilter() {
+      this.$parent.clearFilter(true);
+    },
+    filterNull: function filterNull(empty) {
+      this.condition.value = [];
+      this.condition.input = "";
+      this.condition.empty = empty;
+      this.confirmFilter("empty");
+    },
+    filterExtends: function filterExtends(item) {
+      this.condition.value = item.value || item.label;
+      this.condition.method = item.method;
+      this.confirmFilter("extend");
+    },
+    filterInput: function filterInput() {
+      this.condition.value = [];
+      this.condition.empty = null;
+      this.confirmFilter("input");
+    },
+    filterDate: function filterDate() {
+      var _this$filterStore2 = this.filterStore, startDate = _this$filterStore2.startDate, endDate = _this$filterStore2.endDate;
+      this.condition.input = "";
+      this.condition.value = [];
+      this.condition.empty = null;
+      this.condition.dateList = [startDate, endDate];
+      if (startDate && !endDate) {
+        this.condition.relation = "greaterThan";
+      } else if (!startDate && endDate) {
+        this.condition.relation = "greaterThan";
+      } else if (startDate && endDate) {
+        this.condition.relation = "interveningBetween";
+      }
+      this.confirmFilter("date");
+    },
+    filterEnum: function filterEnum() {
+      this.condition.input = "";
+      this.condition.empty = null;
+      this.condition.value = this.filterStore.options.filter(function(item) {
+        return item.checked;
+      }).map(function(check) {
+        return check.value;
+      });
+      this.confirmFilter("enum");
+    },
+    close: function close2() {
+      var filterStore = this.filterStore;
+      filterStore.visible = false;
+    },
+    correctRelations: function correctRelations() {
+      if (this.filterStore && typeof this.filterStore.inputFilter === "object") {
+        var relations = this.filterStore.inputFilter.relations;
+        var relation = this.filterStore.inputFilter.relation || "equals";
+        if (!relations || Array.isArray(relations) && relations.length === 0) {
+          this.filterStore.inputFilter.relations = [{
+            label: relation,
+            value: relation
+          }];
+          this.filterStore.inputFilter.relations_addby = "program";
+          this.filterStore.inputFilter.relations_backup = relations;
+        }
+      }
+    }
+  },
+  setup: function setup52() {
+    var instance = getCurrentInstance().proxy;
+    onBeforeUnmount(function() {
+      instance.popperJS && instance.popperJS.destroy() && (instance.popperJS = null);
+    });
+  }
+});
+function handleFilterConditionCustom(_ref76) {
+  var column = _ref76.column, condition2 = _ref76.condition, method = _ref76.method, property2 = _ref76.property, row22 = _ref76.row;
+  var ret = {
+    flag: false,
+    result: null
+  };
+  if (method && condition2.type === "custom") {
+    ret.result = method({
+      property: property2,
+      row: row22,
+      column
+    });
+    ret.flag = true;
+  }
+  return ret;
+}
+function handleFilterConditionExtend(_ref77) {
+  var column = _ref77.column, condition2 = _ref77.condition, property2 = _ref77.property, row22 = _ref77.row;
+  var ret = {
+    flag: false,
+    result: null
+  };
+  if (condition2.type === "extend") {
+    var extendMethod = condition2.method;
+    if (typeof extendMethod !== "function") {
+      extendMethod = function extendMethod2() {
+        return true;
+      };
+    }
+    ret.result = extendMethod({
+      value: get_default(row22, property2),
+      row: row22,
+      column
+    });
+    ret.flag = true;
+  }
+  return ret;
+}
+function findRelationMethod(relation, relations) {
+  if (Array.isArray(relations)) {
+    var method;
+    for (var i = 0; i < relations.length; i++) {
+      if (relations[i] && relations[i].value === relation) {
+        method = relations[i].method;
+        break;
+      }
+    }
+    return method;
+  }
+}
+function handleFilterRelations(_ref78) {
+  var inputFilter = _ref78.inputFilter;
+  var relations = [];
+  if (typeof inputFilter === "object" && Array.isArray(inputFilter.relations)) {
+    relations = inputFilter.relations;
+  }
+  return relations;
+}
+function modifyValueCheckStr(value) {
+  if (!value && typeof value !== "number") {
+    value = "";
+  }
+  return value;
+}
+function handleDefaultCheckStr(_ref79) {
+  var column = _ref79.column, input = _ref79.input, relation = _ref79.relation, relationMethod = _ref79.relationMethod, relations = _ref79.relations, result = _ref79.result, row22 = _ref79.row, value = _ref79.value;
+  if (typeof relationMethod !== "function") {
+    relationMethod = findRelationMethod(relation, relations);
+  }
+  if (typeof relationMethod === "function") {
+    result = relationMethod({
+      value,
+      input,
+      row: row22,
+      column
+    });
+  }
+  return {
+    relationMethod,
+    result
+  };
+}
+function handleFilterCheckStr(_ref80) {
+  var column = _ref80.column, relationMethod = _ref80.relationMethod, relations = _ref80.relations, row22 = _ref80.row;
+  return function(value, input, relation, dateList) {
+    var result = false;
+    value = modifyValueCheckStr(value);
+    switch (relation) {
+      case "equals":
+        result = value === input;
+        break;
+      case "unequal":
+        result = value !== input;
+        break;
+      case "greaterThan":
+        result = value > input;
+        break;
+      case "lessThan":
+        result = value < input;
+        break;
+      case "equalToGreaterThan":
+        result = value >= input;
+        break;
+      case "equalToLessThan":
+        result = value <= input;
+        break;
+      case "interveningBetween":
+        result = value >= dateList[0] && value <= dateList[1];
+        break;
+      case "contains":
+        result = value.toString().includes(input);
+        break;
+      case "startwith":
+        result = value.toString().indexOf(input) === 0;
+        break;
+      case "endwith":
+        result = value.toString().match(new RegExp(input + "$"));
+        break;
+      default: {
+        var ret = handleDefaultCheckStr({
+          column,
+          input,
+          relation,
+          relationMethod,
+          relations,
+          result,
+          row: row22,
+          value
+        });
+        relationMethod = ret.relationMethod;
+        result = ret.result;
+      }
+    }
+    return result;
+  };
+}
+function handleFilterCheck(_ref81) {
+  var checkStr = _ref81.checkStr, empty = _ref81.empty, input = _ref81.input, property2 = _ref81.property, relation = _ref81.relation, row22 = _ref81.row, valueList = _ref81.valueList, dateList = _ref81.dateList;
+  return function() {
+    var value = get_default(row22, property2);
+    if (empty === true) {
+      return !value;
+    }
+    if (empty === false) {
+      return !!value;
+    }
+    if (dateList) {
+      if (!dateList[0] && !dateList[1]) {
+        return true;
+      }
+      return checkStr(value, dateList[0] || dateList[1], relation, dateList);
+    }
+    var checkInput = !input && input !== 0 || checkStr(value, input, relation);
+    var checkEnum = !valueList.length || valueList.includes(value);
+    return checkInput && checkEnum;
+  };
+}
+function getClassName$1(elem) {
+  if (elem && elem.nodeType) {
+    if (elem instanceof SVGElement) {
+      return elem.className.baseVal;
+    }
+    if (elem instanceof HTMLElement) {
+      return elem.className;
+    }
+  }
+  return "";
+}
+function closest(elem, parentClassName) {
+  if (elem && elem.nodeType) {
+    var clsReg = new RegExp("\\b" + parentClassName + "\\b");
+    var matches;
+    do {
+      matches = getClassName$1(elem).match(clsReg);
+      if (matches) {
+        return elem;
+      }
+      if (elem === document.body) {
+        break;
+      }
+      elem = elem.parentNode;
+    } while (elem);
+  }
+  return null;
+}
+var columnfilters = function columnfilters2(visibleColumn) {
+  var filters = {};
+  visibleColumn.forEach(function(column) {
+    var property2 = column.property, filter2 = column.filter;
+    if (filter2) {
+      var _filter$condition = filter2.condition, type = _filter$condition.type, input = _filter$condition.input, relation = _filter$condition.relation, value = _filter$condition.value, empty = _filter$condition.empty, dateList = _filter$condition.dateList;
+      if (type === "input") {
+        filters[property2] = {
+          type,
+          value: {
+            text: input,
+            relation
+          }
+        };
+      } else if (type === "enum") {
+        filters[property2] = {
+          type,
+          value
+        };
+      } else if (type === "empty") {
+        filters[property2] = {
+          type,
+          value: empty
+        };
+      } else if (type === "custom") {
+        filters[property2] = {
+          type
+        };
+      } else if (type === "date") {
+        filters[property2] = {
+          type,
+          value: {
+            dateList,
+            relation
+          }
+        };
+      } else if (type === "extend") {
+        filters[property2] = {
+          type,
+          value
+        };
+      } else if (type === "extend1") {
+        filters[property2] = {
+          type,
+          value
+        };
+      } else if (type === "extend2") {
+        filters[property2] = {
+          type,
+          value
+        };
+      }
+      filter2.hasFilter = value.length || input || (dateList == null ? void 0 : dateList.some(Boolean)) || input === 0 || empty !== null || type === "custom";
+    }
+  });
+  return filters;
+};
+var Methods$f = {
+  filter: function filter(field, callback) {
+    var column = this.getColumnByField(field);
+    var filters = column.filter.options;
+    if (callback) {
+      var rest = callback(filters);
+      if (isArray(rest)) {
+        column.filters = getFilters(rest);
+      }
+    }
+    return Promise.resolve(filters);
+  },
+  // 关闭筛选
+  closeFilter: function closeFilter() {
+    var filterStore = this.filterStore;
+    Object.assign(filterStore, {
+      visible: false,
+      targetElem: null,
+      targetElemParentTr: null
+    });
+    return this.$nextTick();
+  },
+  handleLocalFilter: function handleLocalFilter(row22, column) {
+    var property2 = column.property;
+    var _column$filter = column.filter, condition2 = _column$filter.condition, method = _column$filter.method, inputFilter = _column$filter.inputFilter;
+    var ret = handleFilterConditionCustom({
+      column,
+      condition: condition2,
+      method,
+      property: property2,
+      row: row22
+    });
+    if (ret.flag) {
+      return ret.result;
+    }
+    ret = handleFilterConditionExtend({
+      column,
+      condition: condition2,
+      property: property2,
+      row: row22
+    });
+    if (ret.flag) {
+      return ret.result;
+    }
+    var empty = condition2.empty, input = condition2.input, relation = condition2.relation, value = condition2.value, dateList = condition2.dateList;
+    var relationMethod = condition2.method;
+    var relations = handleFilterRelations({
+      inputFilter
+    });
+    var checkStr = handleFilterCheckStr({
+      column,
+      relationMethod,
+      relations,
+      row: row22
+    });
+    var check = handleFilterCheck({
+      checkStr,
+      empty,
+      input,
+      property: property2,
+      relation,
+      row: row22,
+      valueList: value,
+      dateList
+    });
+    return check();
+  },
+  getOptions: function getOptions(_ref82) {
+    var property2 = _ref82.property, filter2 = _ref82.filter;
+    var values = filter2.values, _filter$value = filter2.value, value = _filter$value === void 0 ? "value" : _filter$value, _filter$label = filter2.label, label = _filter$label === void 0 ? "label" : _filter$label, dataset = filter2.dataset;
+    if (typeof values === "function") {
+      return values({
+        property: property2,
+        filter: filter2
+      });
+    } else if (dataset) {
+      return getDataset({
+        dataset,
+        service: this.$service
+      });
+    } else {
+      var newOptions = (values || []).map(function(item) {
+        return {
+          label: item[label],
+          value: item[value],
+          checked: !!item.checked
+        };
+      });
+      if (!values) {
+        var optionMap = {};
+        var tableData = this.getTableData();
+        tableData.fullData.forEach(function(row22) {
+          var key = row22[property2];
+          if (!optionMap[key]) {
+            newOptions.push({
+              value: key,
+              label: key,
+              checked: false
+            });
+          }
+          optionMap[key] = true;
+        });
+      }
+      return Promise.resolve(newOptions);
+    }
+  },
+  /**
+   * 点击筛选事件
+   */
+  triggerFilterEvent: function triggerFilterEvent(event, column, params) {
+    var filterStore = this.filterStore;
+    var filter2 = column.filter;
+    var inputFilterRelation;
+    if (filterStore.id !== column.id && filterStore.visible) {
+      this.closeFilter();
+    }
+    if (filter2 && typeof filter2.inputFilter === "object" && filter2.inputFilter.relation) {
+      if (filter2.condition.relation === "equals" && filter2.inputFilter.relation && !column.isInitTriggerFlag) {
+        inputFilterRelation = filter2.inputFilter.relation;
+        column.isInitTriggerFlag = true;
+      }
+      filter2.condition.relation = inputFilterRelation || filter2.condition.relation;
+    }
+    if (filterStore.column === column && filterStore.visible) {
+      filterStore.visible = false;
+    } else {
+      var targetElem = event.target;
+      var targetElemParentTr = closest(targetElem, "tiny-grid-header__row");
+      this.getOptions(column).then(function(options) {
+        var _filter$simpleFilter, _filter$simpleFilter2, _filter$simpleFilter3, _filter$simpleFilter4, _filter$simpleFilter5, _filter$simpleFilter6, _filter$simpleFilter7, _filter$simpleFilter8;
+        Object.assign(filterStore, {
+          args: params,
+          layout: filter2.layout,
+          // 布局配置,用户可以自定义想要的筛选项
+          enumable: filter2.enumable,
+          inputFilter: filter2.inputFilter,
+          simpleFilter: filter2.simpleFilter,
+          onResetInputFilter: filter2.onResetInputFilter,
+          extends: filter2.extends,
+          defaultFilter: isBoolean_default(filter2.defaultFilter) ? filter2.defaultFilter : true,
+          options: options.map(function(_ref83) {
+            var value = _ref83.value, label = _ref83.label;
+            return {
+              value,
+              label,
+              checked: filter2.condition.value.includes(value)
+            };
+          }),
+          condition: _extends$2({}, filter2.condition),
+          multi: isBoolean_default(filter2.multi) ? filter2.multi : true,
+          column,
+          visible: true,
+          targetElem: markRaw(targetElem),
+          targetElemParentTr: markRaw(targetElemParentTr),
+          id: column.id,
+          searchConfig: (_filter$simpleFilter = filter2.simpleFilter) == null ? void 0 : _filter$simpleFilter.searchConfig,
+          datetimeConfig: (_filter$simpleFilter2 = filter2.simpleFilter) == null ? void 0 : _filter$simpleFilter2.datetimeConfig,
+          searchValue: ((_filter$simpleFilter3 = filter2.simpleFilter) == null ? void 0 : (_filter$simpleFilter4 = _filter$simpleFilter3.searchConfig) == null ? void 0 : _filter$simpleFilter4.searchValue) || "",
+          startDate: ((_filter$simpleFilter5 = filter2.simpleFilter) == null ? void 0 : (_filter$simpleFilter6 = _filter$simpleFilter5.datetimeConfig) == null ? void 0 : _filter$simpleFilter6.startDate) || "",
+          endDate: ((_filter$simpleFilter7 = filter2.simpleFilter) == null ? void 0 : (_filter$simpleFilter8 = _filter$simpleFilter7.datetimeConfig) == null ? void 0 : _filter$simpleFilter8.endDate) || ""
+        });
+      });
+    }
+  },
+  // 确认筛选
+  confirmFilterEvent: function confirmFilterEvent() {
+    var _this7 = this;
+    var visibleColumn = this.visibleColumn, filterStore = this.filterStore, scrollXLoad = this.scrollXLoad, scrollYLoad = this.scrollYLoad, remoteFilter = this.remoteFilter, lastScrollLeft = this.lastScrollLeft;
+    filterStore.visible = false;
+    if (!remoteFilter) {
+      this.handleTableData(true).then(this.refreshStyle);
+    }
+    var filters = columnfilters(visibleColumn);
+    if (remoteFilter) {
+      if (this.$grid.pagerConfig) {
+        this.$grid.pagerConfig.currentPage = 1;
+      }
+    }
+    emitEvent$1(this, "filter-change", [{
+      filters,
+      $table: this
+    }]);
+    this.updateFooter();
+    var restoreScrollLeft = function restoreScrollLeft2() {
+      return _this7.scrollTo(lastScrollLeft);
+    };
+    if (scrollXLoad || scrollYLoad) {
+      scrollXLoad && this.clearScroll();
+      if (scrollYLoad) {
+        this.updateScrollYSpace();
+      }
+    }
+    this.closeFilter();
+    this.clearSelection();
+    this.$nextTick().then(this.recalculate).then(restoreScrollLeft);
+  },
+  clearFilter: function clearFilter2(field) {
+    var _this$$grid;
+    var column = arguments.length ? this.getColumnByField(field) : null;
+    var filterStore = this.filterStore;
+    var filterData = ((_this$$grid = this.$grid) == null ? void 0 : _this$$grid.filterData) || {};
+    var handleClear = function handleClear2(column2) {
+      var filter2 = column2.filter;
+      if (filter2) {
+        filter2.condition = {
+          input: "",
+          relation: "equals",
+          empty: null,
+          value: []
+        };
+        filter2.hasFilter = false;
+        filter2.custom = null;
+        delete filterData[column2.property];
+      }
+    };
+    if (column) {
+      handleClear(column);
+    } else {
+      this.visibleColumn.forEach(handleClear);
+    }
+    if (!column || column !== filterStore.column) {
+      Object.assign(filterStore, {
+        style: null,
+        options: [],
+        column: null,
+        multi: false,
+        visible: false
+      });
+    }
+    if (field === true || column) {
+      var filters = columnfilters(this.visibleColumn);
+      emitEvent$1(this, "filter-change", [{
+        filters,
+        $table: this
+      }]);
+    }
+    this.clearSelection();
+    return this.updateData();
+  },
+  getAllFilter: function getAllFilter() {
+    return columnfilters(this.visibleColumn);
+  }
+};
+Panel$1.install = function(Table2) {
+  GridAdapter._filter = 1;
+  Object.assign(Table2.methods, Methods$f);
+};
+var Children = defineComponent({
+  name: $prefix + "GridContextMenuChild",
+  props: {
+    item: Object,
+    gIndex: Number,
+    index: Number,
+    show: Boolean,
+    ctxMenuStore: Object,
+    tableInstance: Object
+  },
+  render: function render62() {
+    var tableInstance = this.tableInstance, item = this.item, gIndex = this.gIndex, index230 = this.index, show22 = this.show, ctxMenuStore = this.ctxMenuStore;
+    var toKebab2 = tableInstance.toKebab, getEventTargetNode2 = tableInstance.getEventTargetNode;
+    return h("ul", {
+      class: ["tiny-grid-menu__clild-wrapper", {
+        show: show22
+      }]
+    }, item.children.map(function(child, cIndex) {
+      return child.visible === false ? [null] : h("li", {
+        class: {
+          "link__disabled": child.disabled,
+          "link__active": child === ctxMenuStore.selectChild
+        },
+        key: gIndex + "_" + index230 + "_" + cIndex
+      }, [h("a", {
+        class: "tiny-grid-menu__link " + toKebab2(item.code),
+        on: {
+          click: function click(event) {
+            tableInstance.ctxMenuLinkEvent(event, child);
+          },
+          mouseover: function mouseover(event) {
+            tableInstance.ctxMenuMouseoverEvent(event, item, child);
+          },
+          mouseout: function mouseout(event) {
+            if (!getEventTargetNode2(event, document.body, toKebab2(item.code)).flag) {
+              tableInstance.ctxMenuMouseoutEvent(event, item, child);
+            }
+          }
+        }
+      }, [child.prefixIcon ? h(child.prefixIcon, {
+        class: "tiny-grid-menu__link-prefix"
+      }) : [null], h("span", {
+        class: "tiny-grid-menu__link-content"
+      }, getFuncText(child.name))])]);
+    }));
+  },
+  watch: {
+    show: function show2(value) {
+      var _this8 = this;
+      if (value) {
+        this.$el.style.top = "0px";
+        this.$nextTick(function() {
+          var tableInstance = _this8.tableInstance, $el = _this8.$el;
+          var _$el$getBoundingClien = $el.getBoundingClientRect(), width = _$el$getBoundingClien.width, height2 = _$el$getBoundingClien.height, bottom = _$el$getBoundingClien.bottom;
+          var _getDomNode = getDomNode(), visibleHeight = _getDomNode.visibleHeight, visibleWidth = _getDomNode.visibleWidth;
+          var ctxElem = tableInstance.$refs.ctxWrapper.$el;
+          var target = tableInstance.ctxMenuStore.target;
+          var _ctxElem$getBoundingC = ctxElem.getBoundingClientRect(), ctxWidth = _ctxElem$getBoundingC.width, ctxRight = _ctxElem$getBoundingC.right;
+          if (width + ctxRight > visibleWidth - 6) {
+            $el.style.left = -6 - width + "px";
+          } else {
+            $el.style.left = ctxWidth + "px";
+          }
+          if (bottom > visibleHeight) {
+            var offset = target && target.clientHeight || 0;
+            $el.style.top = offset - height2 + "px";
+          }
+        });
+      }
+    }
+  }
+});
+var onMenuItem = function onMenuItem2(_ref84) {
+  var tableInstance = _ref84.tableInstance, item = _ref84.item, getEventTargetNode2 = _ref84.getEventTargetNode, toKebab2 = _ref84.toKebab;
+  return {
+    click: function click(event) {
+      tableInstance.ctxMenuLinkEvent(event, item);
+    },
+    mouseover: function mouseover(event) {
+      tableInstance.ctxMenuMouseoverEvent(event, item);
+    },
+    mouseout: function mouseout(event) {
+      if (!getEventTargetNode2(event, document.body, toKebab2(item.code)).flag) {
+        tableInstance.ctxMenuMouseoutEvent(event, item);
+      }
+    }
+  };
+};
+function createMenuItem(args) {
+  var ctxMenuStore = args.ctxMenuStore, gIndex = args.gIndex, getEventTargetNode2 = args.getEventTargetNode, hasChild = args.hasChild;
+  var index230 = args.index, item = args.item, show22 = args.show, tableInstance = args.tableInstance, toKebab2 = args.toKebab;
+  var res = [null];
+  var classMap2 = {
+    linkDisabled: "link__disabled",
+    linkActive: "link__active"
+  };
+  if (item.visible !== false) {
+    var _class;
+    res = h("li", {
+      class: (_class = {}, _class[classMap2.linkDisabled] = item.disabled, _class[classMap2.linkActive] = item === ctxMenuStore.selected, _class),
+      key: gIndex + "_" + index230
+    }, [h("a", {
+      class: "tiny-grid-menu__link " + toKebab2(item.code),
+      on: onMenuItem({
+        tableInstance,
+        item,
+        getEventTargetNode: getEventTargetNode2,
+        toKebab: toKebab2
+      })
+    }, [item.prefixIcon ? h(item.prefixIcon, {
+      class: "tiny-grid-menu__link-prefix"
+    }) : [null], h("span", {
+      class: "tiny-grid-menu__link-content"
+    }, getFuncText(item.name)), h("i", {
+      class: ["tiny-grid-menu__link-suffix", hasChild ? item.suffixIcon || "suffix__haschild" : item.suffixIcon]
+    })]), hasChild ? h(Children, {
+      props: {
+        item,
+        gIndex,
+        index: index230,
+        show: show22,
+        tableInstance,
+        ctxMenuStore
+      }
+    }) : [null]]);
+  }
+  return res;
+}
+function getMenuItemCreator(_ref85) {
+  var ctxMenuStore = _ref85.ctxMenuStore, getEventTargetNode2 = _ref85.getEventTargetNode, tableInstance = _ref85.tableInstance, toKebab2 = _ref85.toKebab;
+  return function(options, gIndex) {
+    return h("ul", {
+      class: "tiny-grid-menu__option-wrapper",
+      key: gIndex
+    }, options.map(function(item, index230) {
+      var hasChild = item.children && item.children.length;
+      var show22 = item === ctxMenuStore.selected && ctxMenuStore.showChild;
+      var args = {
+        ctxMenuStore,
+        gIndex,
+        getEventTargetNode: getEventTargetNode2,
+        hasChild
+      };
+      Object.assign(args, {
+        index: index230,
+        item,
+        show: show22,
+        tableInstance,
+        toKebab: toKebab2
+      });
+      return createMenuItem(args);
+    }));
+  };
+}
+var Panel = defineComponent({
+  name: $prefix + "GridContextMenu",
+  props: {
+    ctxMenuStore: Object
+  },
+  render: function render72() {
+    var ctxMenuStore = this.ctxMenuStore, tableInstance = this.$parent;
+    var toKebab2 = tableInstance.toKebab, getEventTargetNode2 = tableInstance.getEventTargetNode;
+    return h("div", {
+      class: ["tiny-grid__wrapper", "tiny-grid-menu__wrapper", {
+        show: ctxMenuStore.visible
+      }],
+      style: ctxMenuStore.style
+    }, ctxMenuStore.list.map(getMenuItemCreator({
+      ctxMenuStore,
+      getEventTargetNode: getEventTargetNode2,
+      tableInstance,
+      toKebab: toKebab2
+    })));
+  }
+});
+var getSelectItem = function getSelectItem2(subList) {
+  for (var i = 0; i < subList.length; i++) {
+    var menu = subList[i];
+    if (menu.visible !== false) {
+      return menu;
+    }
+  }
+};
+var Methods$e = {
+  // 关闭快捷菜单
+  _closeMenu: function _closeMenu() {
+    Object.assign(this.ctxMenuStore, {
+      visible: false,
+      selected: null,
+      selectChild: null,
+      showChild: false
+    });
+    return this.$nextTick();
+  },
+  // 处理菜单的移动
+  moveCtxMenu: function moveCtxMenu(_ref86) {
+    var _this9 = this;
+    var event = _ref86.event, keyCode = _ref86.keyCode, ctxMenuStore = _ref86.ctxMenuStore, property2 = _ref86.property, operKey = _ref86.operKey, operRest = _ref86.operRest, menuList = _ref86.menuList;
+    var selectIndex = findIndexOf_default(menuList, function(item) {
+      return ctxMenuStore[property2] === item;
+    });
+    var selectItem;
+    var ruleChains = [{
+      match: function match() {
+        return keyCode === operKey;
+      },
+      action: function action() {
+        if (!operRest || !hasChildrenList(ctxMenuStore.selected)) {
+          ctxMenuStore.showChild = false;
+          ctxMenuStore.selectChild = null;
+        } else {
+          ctxMenuStore.showChild = true;
+        }
+      }
+    }, {
+      match: function match() {
+        return keyCode === 38;
+      },
+      action: function action() {
+        var subList = menuList.slice(0, selectIndex);
+        subList = subList.reverse();
+        selectItem = getSelectItem(subList);
+        ctxMenuStore[property2] = selectItem || menuList[menuList.length - 1];
+      }
+    }, {
+      match: function match() {
+        return keyCode === 40;
+      },
+      action: function action() {
+        var subList = menuList.slice(selectIndex + 1);
+        selectItem = getSelectItem(subList);
+        ctxMenuStore[property2] = selectItem || menuList[0];
+      }
+    }, {
+      match: function match() {
+        return ctxMenuStore[property2] && (keyCode === 13 || keyCode === 32);
+      },
+      action: function action() {
+        _this9.ctxMenuLinkEvent(event, ctxMenuStore[property2]);
+      }
+    }];
+    for (var i = 0; i < ruleChains.length; i++) {
+      var ruleChain = ruleChains[i];
+      if (ruleChain.match()) {
+        ruleChain.action();
+        break;
+      }
+    }
+  },
+  // 快捷菜单事件处理
+  handleGlobalContextmenuEvent: function handleGlobalContextmenuEvent(event) {
+    var ctxMenuOpts2 = this.ctxMenuOpts, ctxMenuStore = this.ctxMenuStore, isCtxMenu2 = this.isCtxMenu;
+    var layoutList = ["header", "body", "footer"];
+    if (!isCtxMenu2) {
+      this.closeMenu();
+      this.closeFilter();
+      return;
+    }
+    if (ctxMenuStore.visible && this.$refs.ctxWrapper && this.getEventTargetNode(event, this.$refs.ctxWrapper.$el).flag) {
+      event.preventDefault();
+      return;
+    }
+    for (var i = 0; i < layoutList.length; i++) {
+      var layout = layoutList[i];
+      var eventTargetNode = this.getEventTargetNode(event, this.$el, "tiny-grid-" + layout + "__column");
+      var eventParams = {
+        $table: this,
+        columns: this.visibleColumn.slice(0),
+        type: layout
+      };
+      if (eventTargetNode.flag) {
+        var _this$getColumnNode;
+        var cell = eventTargetNode.targetElem;
+        var column = (_this$getColumnNode = this.getColumnNode(cell)) == null ? void 0 : _this$getColumnNode.item;
+        if (!column) {
+          return;
+        }
+        var typePrefix = layout + "-";
+        Object.assign(eventParams, {
+          cell,
+          column,
+          columnIndex: this.getColumnIndex(column)
+        });
+        if (layout === "body") {
+          var row22 = this.getRowNode(cell.parentNode).item;
+          typePrefix = "";
+          Object.assign(eventParams, {
+            row: row22,
+            rowIndex: this.getRowIndex(row22)
+          });
+        }
+        this.openContextMenu(event, layout, eventParams);
+        emitEvent$1(this, typePrefix + "cell-context-menu", [eventParams, event]);
+        return;
+      }
+      eventTargetNode = this.getEventTargetNode(event, this.$el, "tiny-grid__" + layout + "-wrapper");
+      if (eventTargetNode.flag) {
+        if (ctxMenuOpts2.trigger === "cell") {
+          event.preventDefault();
+        } else {
+          this.openContextMenu(event, layout, eventParams);
+        }
+        return;
+      }
+    }
+    this.closeMenu();
+    this.closeFilter();
+  },
+  // 显示快捷菜单
+  openContextMenu: function openContextMenu(event, type, params) {
+    var _this10 = this;
+    var ctxMenuOpts2 = this.ctxMenuOpts, ctxMenuStore = this.ctxMenuStore;
+    var visibleMethod = ctxMenuOpts2.visibleMethod;
+    var config2 = ctxMenuOpts2[type];
+    if (!config2) {
+      this.closeFilter();
+      return;
+    }
+    var disabled = config2.disabled, options = config2.options;
+    if (disabled) {
+      event.preventDefault();
+      this.closeFilter();
+      return;
+    }
+    if (!options || !options.length) {
+      this.closeFilter();
+      return;
+    }
+    params.options = options;
+    var end = function end2() {
+      if (visibleMethod && !visibleMethod(params, event)) {
+        _this10.closeMenu();
+        return;
+      }
+      event.preventDefault();
+      var _getDomNode2 = getDomNode(), scrollLeft = _getDomNode2.scrollLeft, scrollTop = _getDomNode2.scrollTop, visibleHeight = _getDomNode2.visibleHeight, visibleWidth = _getDomNode2.visibleWidth;
+      var clientX = event.clientX, clientY = event.clientY;
+      var left = clientX + scrollLeft;
+      var top = clientY + scrollTop;
+      var style = {
+        left: left + "px",
+        top: top + "px"
+      };
+      Object.assign(ctxMenuStore, {
+        args: params,
+        list: options,
+        selected: null,
+        selectChild: null,
+        showChild: false,
+        style,
+        visible: true
+      });
+      var next2 = function next22() {
+        var ctxElem = _this10.$refs.ctxWrapper.$el;
+        var clientWidth = ctxElem.clientWidth, clientHeight = ctxElem.clientHeight;
+        var offsetLeft = clientX + clientWidth - visibleWidth;
+        var offsetTop = clientY + clientHeight - visibleHeight;
+        offsetLeft > -10 && (ctxMenuStore.style.left = left - clientWidth + "px");
+        offsetTop > -10 && (ctxMenuStore.style.top = top - clientHeight + "px");
+      };
+      _this10.$nextTick(next2);
+    };
+    this.preventEvent(event, "event.show_menu", params, null, end);
+    this.closeFilter();
+  },
+  ctxMenuMouseoverEvent: function ctxMenuMouseoverEvent(event, item, child) {
+    var ctxMenuStore = this.ctxMenuStore;
+    event.preventDefault();
+    event.stopPropagation();
+    Object.assign(ctxMenuStore, {
+      selectChild: child,
+      selected: item,
+      target: event.target
+    });
+    !child && (ctxMenuStore.showChild = hasChildrenList(item));
+  },
+  ctxMenuMouseoutEvent: function ctxMenuMouseoutEvent(event, item) {
+    var ctxMenuStore = this.ctxMenuStore;
+    !item.children && (ctxMenuStore.selected = null);
+    Object.assign(ctxMenuStore, {
+      selectChild: null,
+      showChild: null,
+      target: null
+    });
+  },
+  // 快捷菜单点击事件
+  ctxMenuLinkEvent: function ctxMenuLinkEvent(event, menu) {
+    if (menu.disabled || menu.children && menu.children.length) {
+      return;
+    }
+    var ctxMenuStore = this.ctxMenuStore;
+    var ctxMenuMethod = Menus.get(menu.code);
+    var params = _extends$2({
+      $table: this,
+      menu
+    }, ctxMenuStore.args);
+    ctxMenuMethod && ctxMenuMethod.call(this, params, event);
+    emitEvent$1(this, "context-menu-click", [params, event]);
+    this.closeMenu();
+  },
+  toKebab: function toKebab(code) {
+    return typeof code === "string" ? code.replace(/\B([A-Z])/g, "-$1").toLowerCase() : "menu-code";
+  }
+};
+Panel.install = function(Table2) {
+  GridAdapter._menu = 1;
+  Object.assign(Table2.methods, Methods$e);
+};
+var Loading = defineComponent({
+  name: $prefix + "GridLoading",
+  directives: {
+    loading: Loadings.directive
+  },
+  props: _extends$2({}, $props, {
+    visible: Boolean,
+    loadingComponent: Object
+  }),
+  render: function render8() {
+    var loadingSpinner = h("div", {
+      class: "tiny-grid-loading__wrap tiny-loading__spinner",
+      directives: null
+    });
+    {
+      loadingSpinner = withDirectives(loadingSpinner, [[Loadings.directive, true]]);
+    }
+    var loadingComponent;
+    if (this.loadingComponent) {
+      loadingComponent = isVnode(this.loadingComponent) ? this.loadingComponent : h(this.loadingComponent);
+    }
+    return h("div", {
+      class: "tiny-grid-loading",
+      style: {
+        display: this.visible ? "block" : "none"
+      }
+    }, [loadingComponent || loadingSpinner]);
+  }
+});
+$install(Loading);
+var insertedField = GlobalConfig$1.constant.insertedField;
+var getCellRender = function getCellRender2(isTreeNode, treeCellRender, treeRender, context) {
+  return context[isTreeNode ? treeCellRender : treeRender];
+};
+function processRenderer(_ref87) {
+  var h2 = _ref87.h, params = _ref87.params, renderer = _ref87.renderer, value = _ref87.value;
+  var result = {
+    flag: false,
+    vnodes: null
+  };
+  if (renderer) {
+    if (typeof renderer === "function") {
+      result.flag = true;
+      result.vnodes = [renderer(h2, params)];
+    }
+    if (renderer.component) {
+      var component = renderer.component, attrs = renderer.attrs;
+      result.flag = true;
+      result.vnodes = [h2(toRaw(component), {
+        class: "grid-cell",
+        attrs: _extends$2({
+          value,
+          modelValue: value
+        }, typeof attrs === "function" ? attrs(params) : attrs)
+      })];
+    }
+  }
+  return result;
+}
+function processAsyncColumn(_ref88) {
+  var $table = _ref88.$table, column = _ref88.column, format2 = _ref88.format, h2 = _ref88.h, params = _ref88.params, row22 = _ref88.row;
+  var result = {
+    flag: false,
+    vnodes: null
+  };
+  var _ref89 = format2.async || {}, fetch = _ref89.fetch, loadingText = _ref89.loadingText;
+  if ($table.isAsyncColumn && row22[insertedField] !== true && typeof fetch === "function") {
+    var cellText = row22[$table.getAsyncColumnName(column.property)];
+    var loadingRender = loadingText || "loading ...";
+    if (typeof cellText === "undefined") {
+      cellText = typeof loadingRender === "function" ? loadingRender(h2, params) : loadingRender;
+    }
+    if (typeof cellText === "undefined" || typeof column.formatText === "undefined") {
+      result.flag = true;
+      result.vnodes = [cellText];
+    }
+  }
+  return result;
+}
+function getColumnRuleTypeIndex(_ref90) {
+  var _vm = _ref90._vm, isTreeNode = _ref90.isTreeNode, renMaps = _ref90.renMaps, type = _ref90.type;
+  return {
+    match: function match() {
+      return type === "index";
+    },
+    action: function action() {
+      renMaps.renderHeader = _vm.renderIndexHeader;
+      renMaps.renderCell = getCellRender(isTreeNode, "renderTreeIndexCell", "renderIndexCell", _vm);
+    }
+  };
+}
+function getColumnRuleTypeRadio(_ref91) {
+  var _vm = _ref91._vm, isTreeNode = _ref91.isTreeNode, renMaps = _ref91.renMaps, type = _ref91.type;
+  return {
+    match: function match() {
+      return type === "radio";
+    },
+    action: function action() {
+      renMaps.renderHeader = _vm.renderRadioHeader;
+      renMaps.renderCell = getCellRender(isTreeNode, "renderTreeRadioCell", "renderRadioCell", _vm);
+    }
+  };
+}
+function getColumnRuleTypeSelection(_ref92) {
+  var _vm = _ref92._vm, isTreeNode = _ref92.isTreeNode, renMaps = _ref92.renMaps, selectConfig = _ref92.selectConfig, type = _ref92.type;
+  return {
+    match: function match() {
+      return type === "selection";
+    },
+    action: function action() {
+      renMaps.renderHeader = _vm.renderSelectionHeader;
+      renMaps.renderCell = getCellRender(isTreeNode, "renderTreeSelectionCell", "renderSelectionCell", _vm);
+      if (selectConfig && selectConfig.checkField) {
+        renMaps.renderCell = getCellRender(isTreeNode, "renderTreeSelectionCellByProp", "renderSelectionCellByProp", _vm);
+      }
+    }
+  };
+}
+function getColumnRuleTypeExpand(_ref93) {
+  var _vm = _ref93._vm, renMaps = _ref93.renMaps, type = _ref93.type;
+  return {
+    match: function match() {
+      return type === "expand";
+    },
+    action: function action() {
+      renMaps.renderCell = _vm.renderExpandCell;
+      renMaps.renderData = _vm.renderExpandData;
+    }
+  };
+}
+function getColumnRuleTypeOperation(_ref94) {
+  var _vm = _ref94._vm, renMaps = _ref94.renMaps, type = _ref94.type;
+  return {
+    match: function match() {
+      return type === "operation";
+    },
+    action: function action() {
+      renMaps.renderCell = _vm.renderOperationCell;
+    }
+  };
+}
+function getColumnRuleTypeOther(_ref95) {
+  var $table = _ref95.$table, _vm = _ref95._vm, colProps = _ref95.colProps, editor = _ref95.editor, filter2 = _ref95.filter, isTreeNode = _ref95.isTreeNode, renMaps = _ref95.renMaps, type = _ref95.type;
+  return {
+    match: function match() {
+      return !~["index", "radio", "selection", "expand", "operation"].indexOf(type);
+    },
+    action: function action() {
+      var sortable = colProps.sortable, remoteSort = colProps.remoteSort;
+      var isSortable = $table.sortable && (type ? false : sortable);
+      var isSortColumn = isSortable || remoteSort;
+      if (editor) {
+        renMaps.renderHeader = _vm.renderEditHeader;
+        renMaps.renderCell = getCellRender(isTreeNode, "renderTreeRadioCell", "renderRowEdit", _vm);
+        if ($table.editConfig && $table.editConfig.mode === "row") {
+          renMaps.renderCell = getCellRender(isTreeNode, "renderTreeRowEdit", "renderRowEdit", _vm);
+        }
+        if ($table.editConfig && $table.editConfig.mode === "cell") {
+          renMaps.renderCell = getCellRender(isTreeNode, "renderTreeCellEdit", "renderCellEdit", _vm);
+        }
+      } else if (filter2) {
+        renMaps.renderHeader = _vm.renderFilterHeader;
+        if (isSortColumn) {
+          renMaps.renderHeader = _vm.renderSortAndFilterHeader;
+        }
+      } else if (isSortColumn) {
+        renMaps.renderHeader = _vm.renderSortHeader;
+      }
+    }
+  };
+}
+var isCheckStrictly = function isCheckStrictly2(selectConfig) {
+  return selectConfig && selectConfig.checkStrictly && !selectConfig.showHeader || selectConfig && !selectConfig.checkStrictly && selectConfig.showHeader === false;
+};
+var runRender = function runRender2(render18) {
+  var vnode;
+  try {
+    for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+      params[_key - 1] = arguments[_key];
+    }
+    vnode = render18.apply(void 0, params);
+  } catch (e) {
+    warn("ui.grid.error.renderParamError");
+  } finally {
+    if (!vnode || !isVnode(vnode)) {
+      try {
+        vnode = h$1(render18);
+      } catch (e) {
+        vnode = null;
+        warn("ui.grid.error.classComponentError");
+      }
+    }
+  }
+  return vnode;
+};
+var Cell = {
+  createColumn: function createColumn($table, colProps) {
+    var type = colProps.type, filter2 = colProps.filter, editor = colProps.editor, treeNode = colProps.treeNode;
+    var selectConfig = $table.selectConfig, treeConfig = $table.treeConfig;
+    var isTreeNode = treeConfig && treeNode;
+    var renMaps = {
+      renderHeader: this.renderHeader,
+      renderCell: getCellRender(isTreeNode, "renderTreeCell", "renderCell", this)
+    };
+    var _vm = this;
+    var ruleChains = [getColumnRuleTypeIndex({
+      _vm,
+      isTreeNode,
+      renMaps,
+      type
+    }), getColumnRuleTypeRadio({
+      _vm,
+      isTreeNode,
+      renMaps,
+      type
+    }), getColumnRuleTypeSelection({
+      _vm,
+      isTreeNode,
+      renMaps,
+      selectConfig,
+      type
+    }), getColumnRuleTypeExpand({
+      _vm,
+      renMaps,
+      type
+    }), getColumnRuleTypeOperation({
+      _vm,
+      renMaps,
+      type
+    }), getColumnRuleTypeOther({
+      $table,
+      _vm,
+      colProps,
+      editor,
+      filter: filter2,
+      isTreeNode,
+      renMaps,
+      type
+    })];
+    for (var j = 0; j < ruleChains.length; j++) {
+      if (ruleChains[j].match()) {
+        ruleChains[j].action();
+        break;
+      }
+    }
+    return getColumnConfig(colProps, renMaps, GlobalConfig$1);
+  },
+  // 单元格
+  renderHeader: function renderHeader(h2, params, type) {
+    var column = params.column;
+    var slots = column.slots, own = column.own, title = column.title;
+    if (slots && slots.header) {
+      return [h2("div", {
+        class: "tiny-grid-cell-text"
+      }, [slots.header(params, h2)])];
+    }
+    if (typeof title === "function") {
+      return [title(h2, params)];
+    }
+    if (type === "card") {
+      return [formatText(getFuncText(own.title))];
+    }
+    return [h2("div", {
+      class: "tiny-grid-cell-text"
+    }, [formatText(getFuncText(own.title))])];
+  },
+  renderCell: function renderCell(h2, params) {
+    var $table = params.$table, row22 = params.row, column = params.column;
+    var slots = column.slots, renderer = column.renderer;
+    var format2 = column.format || {};
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    var value = get_default(row22, column.property);
+    var result = processRenderer({
+      h: h2,
+      params,
+      renderer,
+      value
+    });
+    if (result.flag) {
+      return result.vnodes;
+    }
+    result = processAsyncColumn({
+      $table,
+      column,
+      format: format2,
+      h: h2,
+      params,
+      row: row22
+    });
+    if (result.flag) {
+      return result.vnodes;
+    }
+    var cellValue = getCellLabel(row22, column, params);
+    if (typeof cellValue === "function") {
+      return [cellValue(h2, params)];
+    }
+    return [formatText(cellValue)];
+  },
+  renderTreeCell: function renderTreeCell(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderCell.call(this, h2, params));
+  },
+  // 树节点
+  renderTreeIcon: function renderTreeIcon(h2, params) {
+    var _$table$$grid, _$table$$grid$designC, _$table$$grid$designC2, _ref96;
+    var $table = params.$table, level = params.level, row22 = params.row;
+    var treeConfig = $table.treeConfig, treeExpandeds = $table.treeExpandeds;
+    var children = treeConfig.children, indent = treeConfig.indent, renderIcon = treeConfig.renderIcon, trigger = treeConfig.trigger;
+    var isActive = ~treeExpandeds.indexOf(row22);
+    var rowChildren = row22[children];
+    var listeners = {
+      click: function click(event) {
+        event.stopPropagation();
+        $table.triggerTreeExpandEvent(event, params);
+      }
+    };
+    var icon = GlobalConfig$1.icon;
+    var customExpandIcon = renderIcon || ((_$table$$grid = $table.$grid) == null ? void 0 : (_$table$$grid$designC = _$table$$grid.designConfig) == null ? void 0 : (_$table$$grid$designC2 = _$table$$grid$designC.treeConfig) == null ? void 0 : _$table$$grid$designC2.renderIcon);
+    if (trigger && trigger !== "default") {
+      listeners = {};
+    }
+    var iconVNode = [];
+    if (rowChildren && rowChildren.length) {
+      iconVNode = [customExpandIcon ? customExpandIcon(h2, _extends$2({
+        active: isActive
+      }, params)) : h2(index$P(), {
+        class: ["tiny-grid-tree__node-btn", icon.tree, {
+          "is__active": isActive
+        }]
+      })];
+    }
+    var map2 = {
+      isActive: "is__active"
+    };
+    return [h2("span", {
+      class: "tiny-grid-tree__indent",
+      style: {
+        width: level * (indent || 16) + "px"
+      }
+    }), h2("span", {
+      class: ["tiny-grid-tree-wrapper", (_ref96 = {}, _ref96[map2.isActive] = isActive, _ref96)],
+      on: listeners
+    }, iconVNode)];
+  },
+  // 索引
+  renderIndexHeader: function renderIndexHeader(h2, params) {
+    var column = params.column;
+    var slots = column.slots;
+    var own = column.own;
+    if (slots && slots.header) {
+      return slots.header(params, h2);
+    }
+    var value = getFuncText(own.title || own.label || "");
+    return [formatText(value)];
+  },
+  renderTreeIndexCell: function renderTreeIndexCell(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderIndexCell(h2, params));
+  },
+  renderIndexCell: function renderIndexCell(h2, params) {
+    var $table = params.$table, column = params.column, row22 = params.row, seq = params.seq;
+    var startIndex = $table.startIndex, treeConfig = $table.treeConfig;
+    var indexMethod = column.indexMethod, slots = column.slots;
+    var _ref97 = treeConfig || {}, ordered = _ref97.ordered, _ref97$temporaryIndex = _ref97.temporaryIndex, temporaryIndex = _ref97$temporaryIndex === void 0 ? "_$index_" : _ref97$temporaryIndex;
+    var isTreeOrderedFalse = treeConfig && !ordered;
+    var indexValue = isTreeOrderedFalse ? row22[temporaryIndex] : startIndex + seq;
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    return [formatText(indexMethod ? indexMethod(params) : indexValue)];
+  },
+  // 单选
+  renderRadioHeader: function renderRadioHeader(h2, params) {
+    var _params$column = params.column, own = _params$column.own, slots = _params$column.slots;
+    if (slots && slots.header) {
+      return slots.header(params, h2);
+    }
+    var value = getFuncText(own.title || own.label);
+    return [formatText(value)];
+  },
+  renderRadioCell: function renderRadioCell(h2, params) {
+    var _ref98;
+    var $table = params.$table, slots = params.column.slots, row22 = params.row;
+    var _$table$radioConfig2 = $table.radioConfig, radioConfig = _$table$radioConfig2 === void 0 ? {} : _$table$radioConfig2, selectRow = $table.selectRow, vSize5 = $table.vSize;
+    var labelField = radioConfig.labelField, checkMethod = radioConfig.checkMethod;
+    var disabled = !!checkMethod;
+    var options = {};
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    options.attrs = {
+      name: "tiny-grid-radio__" + $table.id,
+      type: "radio"
+    };
+    if (checkMethod) {
+      options.attrs.disabled = disabled = !checkMethod(params);
+    }
+    options.domProps = {
+      checked: row22 === selectRow
+    };
+    options.on = {
+      change: function change(event) {
+        $table.triggerRadioRowEvent(event, params);
+      }
+    };
+    return [h2("label", {
+      class: ["tiny-grid-radio", (_ref98 = {}, _ref98["size__" + vSize5] = vSize5, _ref98["is__disabled"] = disabled, _ref98)]
+    }, [h2("input", options), h2("span", {
+      class: "tiny-grid-radio__icon"
+    }, [h2(index$T(), {
+      class: ["tiny-svg-size", "icon-radio"]
+    }), h2(index$U(), {
+      class: ["tiny-svg-size", "icon-radio-selected"]
+    })]), labelField ? h2("span", {
+      class: "tiny-grid-radio__label"
+    }, get_default(row22, labelField)) : null])];
+  },
+  renderTreeRadioCell: function renderTreeRadioCell(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderRadioCell(h2, params));
+  },
+  renderSelectionHeader: function renderSelectionHeader(h2, params) {
+    var _ref99;
+    var $table = params.$table, column = params.column;
+    var slots = column.slots, own = column.own;
+    var headerCheckDisabled = $table.headerCheckDisabled, isAllSelected = $table.isAllSelected, isIndeterminate = $table.isIndeterminate, selectConfig = $table.selectConfig, vSize5 = $table.vSize;
+    var headerTitle = own.title || own.label;
+    var options = {
+      attrs: {
+        type: "checkbox"
+      }
+    };
+    if (slots && slots.header) {
+      return slots.header(params, h2);
+    }
+    if (isCheckStrictly(selectConfig)) {
+      return [];
+    }
+    options.domProps = {
+      disabled: headerCheckDisabled,
+      checked: isAllSelected && !headerCheckDisabled
+    };
+    options.on = {
+      change: function change(event) {
+        $table.triggerCheckAllEvent(event, event.target.checked);
+        $table.showSelectToolbar();
+      }
+    };
+    var vnode = h2("label", {
+      class: ["tiny-grid-checkbox tiny-select-header", (_ref99 = {}, _ref99["size__" + vSize5] = vSize5, _ref99["is__disabled"] = headerCheckDisabled, _ref99["is__indeterminate"] = isIndeterminate, _ref99)],
+      key: random()
+    }, [h2("input", options), h2("span", {
+      class: "tiny-grid-checkbox__icon"
+    }, [h2(index$X(), {
+      class: ["tiny-svg-size", "icon-check"]
+    }), isAllSelected ? h2(index$W(), {
+      class: ["tiny-svg-size", "icon-checked-sur"]
+    }) : "", isIndeterminate ? h2(index$Y(), {
+      class: ["tiny-svg-size", "icon-half-select"]
+    }) : ""]), headerTitle ? h2("span", {
+      class: "tiny-grid-checkbox__label"
+    }, getFuncText(headerTitle)) : null]);
+    var dropdownVnode = null;
+    if (slots && slots.dropdown) {
+      dropdownVnode = h2("div", {
+        class: "selection-dropdown-wrapper"
+      }, [slots.dropdown(params, h2)]);
+    }
+    return [vnode, dropdownVnode];
+  },
+  renderSelectionCell: function renderSelectionCell(h2, params) {
+    var _ref101;
+    var $table = params.$table, column = params.column, row22 = params.row;
+    var slots = column.slots;
+    var _$table$selectConfig2 = $table.selectConfig, selectConfig = _$table$selectConfig2 === void 0 ? {} : _$table$selectConfig2, treeConfig = $table.treeConfig, treeIndeterminates = $table.treeIndeterminates, vSize5 = $table.vSize;
+    var labelField = selectConfig.labelField, checkMethod = selectConfig.checkMethod;
+    var _ref100 = {}, _ref100$indeterminate = _ref100.indeterminate, indeterminate = _ref100$indeterminate === void 0 ? false : _ref100$indeterminate, _ref100$isDisabled = _ref100.isDisabled, isDisabled = _ref100$isDisabled === void 0 ? !!checkMethod : _ref100$isDisabled;
+    var options = {
+      attrs: {
+        type: "checkbox"
+      }
+    };
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    checkMethod && (options.attrs.disabled = isDisabled = !checkMethod(params));
+    treeConfig && (indeterminate = ~treeIndeterminates.indexOf(row22));
+    options.domProps = {
+      checked: ~$table.selection.indexOf(row22)
+    };
+    options.on = {
+      change: function change(event) {
+        $table.triggerCheckRowEvent(event, params, event.target.checked);
+        $table.showSelectToolbar();
+      }
+    };
+    var twcls = params.twcls;
+    var labelCls = ["tiny-grid-checkbox tiny-select-cell", (_ref101 = {}, _ref101["size__" + vSize5] = vSize5, _ref101["is__indeterminate"] = indeterminate, _ref101["is__disabled"] = isDisabled, _ref101)];
+    var inputCls = null;
+    var spanCls = "tiny-grid-checkbox__icon";
+    var svgCls = "tiny-svg-size icon-checked-sur";
+    if (twcls) {
+      labelCls = twcls.label || labelCls;
+      inputCls = twcls.input || inputCls;
+      spanCls = twcls.span || spanCls;
+      svgCls = twcls.svg || svgCls;
+      options.class = inputCls;
+    }
+    var vnode = h2("label", {
+      class: labelCls,
+      key: random()
+    }, [h2("input", options), h2("span", {
+      class: spanCls
+    }, [h2(index$X(), {
+      class: ["tiny-svg-size", "icon-check"]
+    }), h2(index$W(), {
+      class: svgCls
+    }), indeterminate ? h2(index$Y(), {
+      class: "tiny-svg-size icon-half-select"
+    }) : ""]), labelField ? h2("span", {
+      class: "tiny-grid-checkbox__label"
+    }, get_default(row22, labelField)) : null]);
+    return [vnode];
+  },
+  renderTreeSelectionCell: function renderTreeSelectionCell(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderSelectionCell(h2, params));
+  },
+  renderSelectionCellByProp: function renderSelectionCellByProp(h2, params) {
+    var _ref103;
+    var $table = params.$table, column = params.column, row22 = params.row;
+    var slots = column.slots;
+    var _$table$selectConfig3 = $table.selectConfig, selectConfig = _$table$selectConfig3 === void 0 ? {} : _$table$selectConfig3, treeConfig = $table.treeConfig, treeIndeterminates = $table.treeIndeterminates, vSize5 = $table.vSize;
+    var property2 = selectConfig.checkField, checkMethod = selectConfig.checkMethod, labelField = selectConfig.labelField;
+    var _ref102 = {}, _ref102$indeterminate = _ref102.indeterminate, indeterminate = _ref102$indeterminate === void 0 ? false : _ref102$indeterminate, _ref102$isDisabled = _ref102.isDisabled, isDisabled = _ref102$isDisabled === void 0 ? !!checkMethod : _ref102$isDisabled;
+    var options = {
+      attrs: {
+        type: "checkbox"
+      }
+    };
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    checkMethod && (options.attrs.disabled = isDisabled = !checkMethod(params));
+    treeConfig && (indeterminate = ~treeIndeterminates.indexOf(row22));
+    options.domProps = {
+      checked: get_default(row22, property2)
+    };
+    options.on = {
+      change: function change(event) {
+        $table.triggerCheckRowEvent(event, params, event.target.checked);
+      }
+    };
+    var vnode = h2("label", {
+      key: random(),
+      class: ["tiny-grid-checkbox", (_ref103 = {}, _ref103["size__" + vSize5] = vSize5, _ref103["is__indeterminate"] = indeterminate, _ref103["is__disabled"] = isDisabled, _ref103)]
+    }, [h2("input", options), h2("span", {
+      class: "tiny-grid-checkbox__icon"
+    }, [h2(index$X(), {
+      class: ["tiny-svg-size", "icon-check"]
+    }), !indeterminate ? "" : h2(index$Y(), {
+      class: ["tiny-svg-size", "icon-half-select"]
+    }), h2(index$W(), {
+      class: ["tiny-svg-size", "icon-checked-sur"]
+    })]), labelField ? h2("span", {
+      class: "tiny-grid-checkbox__label"
+    }, get_default(row22, labelField)) : null]);
+    return [vnode];
+  },
+  renderTreeSelectionCellByProp: function renderTreeSelectionCellByProp(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderSelectionCellByProp(h2, params));
+  },
+  // 展开行
+  renderExpandCell: function renderExpandCell(h2, params) {
+    var _ref104;
+    var $table = params.$table, row22 = params.row;
+    var _$table$expandConfig3 = $table.expandConfig, expandConfig = _$table$expandConfig3 === void 0 ? {} : _$table$expandConfig3;
+    var _expandConfig$showIco = expandConfig.showIcon, showIcon = _expandConfig$showIco === void 0 ? true : _expandConfig$showIco, expandMethod = expandConfig.activeMethod;
+    var hideExpand = typeof expandMethod === "function" ? expandMethod(row22) : true;
+    var expandActive = $table.expandeds.includes(params.row);
+    if (!showIcon)
+      return null;
+    var map2 = {
+      expandActive: "expand__active"
+    };
+    return [h2("span", {
+      class: ["tiny-grid__expanded", (_ref104 = {}, _ref104[map2.expandActive] = expandActive, _ref104)],
+      on: {
+        click: function click(event) {
+          if (!hideExpand) {
+            return;
+          }
+          $table.triggerRowExpandEvent(event, params);
+        }
+      }
+    }, [hideExpand && h2("i", {
+      class: "tiny-grid__expand-icon"
+    })])];
+  },
+  renderExpandData: function renderExpandData(h2, params) {
+    var slots = params.column.slots;
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    return [];
+  },
+  // 排序和筛选
+  renderSortAndFilterHeader: function renderSortAndFilterHeader(h2, params) {
+    var suffixCls = Cell.getSuffixCls(params);
+    return Cell.renderHeader(h2, params).concat(Cell.renderFilterIcon(h2, params, suffixCls[0])).concat(Cell.renderSortIcon(h2, params, suffixCls[1]));
+  },
+  // 排序
+  renderSortHeader: function renderSortHeader(h2, params) {
+    var suffixCls = Cell.getSuffixCls(params);
+    return Cell.renderHeader(h2, params).concat(Cell.renderSortIcon(h2, params, suffixCls[1]));
+  },
+  renderSortIcon: function renderSortIcon(h2, params, cls) {
+    if (cls === void 0) {
+      cls = "";
+    }
+    var icon = GlobalConfig$1.icon;
+    var $table = params.$table, column = params.column;
+    var isColGroup = column.children && column.children.length;
+    return [h2("span", {
+      class: "tiny-grid-sort-wrapper " + cls
+    }, isColGroup ? [] : [column.order === "desc" || !icon.sortDefault ? h2(icon.sortAsc, {
+      class: ["tiny-grid-sort__btn", {
+        "sort__active": column.order === (!icon.sortDefault ? "asc" : "desc")
+      }],
+      on: {
+        click: function click(event) {
+          $table.triggerSortEvent(event, column, !icon.sortDefault ? "asc" : "");
+        }
+      }
+    }) : "", column.order === "asc" || !icon.sortDefault ? h2(icon.sortDesc, {
+      class: ["tiny-grid-sort__btn", {
+        "sort__active": column.order === (!icon.sortDefault ? "desc" : "asc")
+      }],
+      on: {
+        click: function click(event) {
+          $table.triggerSortEvent(event, column, "desc");
+        }
+      }
+    }) : "", !column.order && icon.sortDefault ? h2(icon.sortDefault, {
+      class: ["tiny-grid-sort__btn"],
+      on: {
+        click: function click(event) {
+          $table.triggerSortEvent(event, column, "asc");
+        }
+      }
+    }) : ""])];
+  },
+  // 筛选
+  renderFilterHeader: function renderFilterHeader(h2, params) {
+    var suffixCls = Cell.getSuffixCls(params);
+    return Cell.renderHeader(h2, params).concat(Cell.renderFilterIcon(h2, params, suffixCls[1]));
+  },
+  renderFilterIcon: function renderFilterIcon(h2, params, cls) {
+    var _ref105, _ref106;
+    if (cls === void 0) {
+      cls = "";
+    }
+    var $table = params.$table, column = params.column;
+    var filterStore = $table.filterStore;
+    var icon = GlobalConfig$1.icon;
+    var map2 = {
+      isActive: "is__active",
+      hasFilter: "has__Filter"
+    };
+    return [h2("span", {
+      class: ["tiny-grid-filter-wrapper " + cls, (_ref105 = {}, _ref105[map2.isActive] = filterStore.visible && filterStore.column === column, _ref105)]
+    }, [h2(icon.filter, {
+      class: ["tiny-svg-size tiny-grid-filter__btn " + column.id, (_ref106 = {}, _ref106[map2.hasFilter] = column.filter && column.filter.hasFilter, _ref106)],
+      on: {
+        click: function click(event) {
+          $table.triggerFilterEvent(event, params.column, params);
+        }
+      }
+    })])];
+  },
+  // 可编辑
+  renderEditHeader: function renderEditHeader(h2, params) {
+    var $table = params.$table, column = params.column;
+    var editConfig = $table.editConfig, editRules = $table.editRules, validOpts2 = $table.validOpts;
+    var filter2 = column.filter, remoteSort = column.remoteSort, sortable = column.sortable, type = column.type, own = column.own;
+    var icon = GlobalConfig$1.icon;
+    var isRequired;
+    sortable = $table.sortable && !type && sortable;
+    var suffixCls = Cell.getSuffixCls(params);
+    var isRenderSortIcon = sortable || remoteSort;
+    var columnRules;
+    if (editRules) {
+      columnRules = get_default(editRules, params.column.property);
+    }
+    if (editRules && columnRules && !Array.isArray(columnRules)) {
+      columnRules = [columnRules];
+    }
+    if (editRules && columnRules) {
+      isRequired = columnRules.some(function(rule) {
+        return rule.required;
+      });
+    }
+    var showAsterisk = typeof validOpts2.asteriskMethod !== "function" || validOpts2.asteriskMethod(params);
+    var vNodes = [isRequired && showAsterisk ? h2("i", {
+      class: "tiny-icon " + icon.required
+    }) : null, !editConfig || !own.showIcon ? null : h2(icon.edit, {
+      class: "tiny-grid-edit-icon tiny-svg-size"
+    })];
+    vNodes = vNodes.concat(Cell.renderHeader(h2, params));
+    vNodes = vNodes.concat(filter2 ? Cell.renderFilterIcon(h2, params, isRenderSortIcon ? suffixCls[0] : suffixCls[1]) : []);
+    vNodes = vNodes.concat(isRenderSortIcon ? Cell.renderSortIcon(h2, params, suffixCls[1]) : []);
+    return vNodes;
+  },
+  renderTreeRowEdit: function renderTreeRowEdit(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderRowEdit(h2, params));
+  },
+  // 行格编辑模式
+  renderRowEdit: function renderRowEdit(h2, params) {
+    var actived = params.$table.editStore.actived;
+    return Cell.runRenderer(h2, params, this, actived && actived.row === params.row);
+  },
+  renderTreeCellEdit: function renderTreeCellEdit(h2, params) {
+    return Cell.renderTreeIcon(h2, params).concat(Cell.renderCellEdit(h2, params));
+  },
+  // 单元格编辑模式
+  renderCellEdit: function renderCellEdit(h2, params) {
+    var actived = params.$table.editStore.actived;
+    return Cell.runRenderer(h2, params, this, actived && actived.row === params.row && actived.column === params.column);
+  },
+  runRenderer: function runRenderer(h2, params, _vm, isEdit) {
+    var $table = params.$table, column = params.column, row22 = params.row;
+    var formatText2 = column.formatText, own = column.own, slots = column.slots;
+    var editor = own.editor;
+    var compConf = Renderer$1.get(editor.component);
+    var showEdit = editor.type === "visible" || isEdit;
+    if (showEdit && slots && slots.edit) {
+      return slots.edit(params, h2);
+    }
+    if (showEdit && typeof editor === "function") {
+      return [editor(h2, params)];
+    }
+    if (showEdit && compConf && compConf.renderEdit) {
+      return compConf.renderEdit.call($table, h2, editor, params, {
+        $type: "edit",
+        $excel: $table.$parent,
+        $table,
+        $column: column
+      });
+    }
+    if (showEdit) {
+      return [];
+    }
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    if (formatText2) {
+      var cellValue = getCellLabel(row22, column, params);
+      if (typeof cellValue === "function") {
+        return [cellValue(h2)];
+      }
+      return [cellValue];
+    }
+    return Cell.renderCell.call(_vm, h2, params);
+  },
+  getSuffixCls: function getSuffixCls(params) {
+    return params.$table.headerSuffixIconAbsolute ? ["suffix-icon-1", "suffix-icon-0"] : ["", ""];
+  },
+  renderOperationCell: function renderOperationCell(h2, params) {
+    var column = params.column, $table = params.$table, row22 = params.row;
+    var _column$operationConf = column.operationConfig, operationConfig = _column$operationConf === void 0 ? {} : _column$operationConf, slots = column.slots;
+    if (slots && slots.default) {
+      return slots.default(params, h2);
+    }
+    var _operationConfig$butt = operationConfig.buttons, buttons = _operationConfig$butt === void 0 ? [] : _operationConfig$butt, render18 = operationConfig.render, _operationConfig$max = operationConfig.max, max = _operationConfig$max === void 0 ? 3 : _operationConfig$max, _operationConfig$disa = operationConfig.disabledClass, disabledClass = _operationConfig$disa === void 0 ? "" : _operationConfig$disa;
+    var viewClass = $table.viewCls("operButton");
+    if (render18) {
+      return render18({
+        h: h2,
+        buttons,
+        params
+      });
+    }
+    var renderBase2 = function renderBase3(buttonConfig, flag, classes2, attrs) {
+      var mergeParams = _extends$2({
+        buttonConfig
+      }, params);
+      var on2 = {
+        click: function click(e) {
+          if (!isDisabled(buttonConfig) && isFunction_default(buttonConfig.click)) {
+            buttonConfig.click(e, mergeParams);
+          }
+        }
+      };
+      classes2 = classes2.join(" ");
+      var clazz = isDisabled(buttonConfig) ? [classes2, "tiny-grid__oper-col-button--disabled", disabledClass] : classes2;
+      var childNodes = isFunction_default(buttonConfig.icon) ? [runRender(buttonConfig.icon, h2, mergeParams)] : [h2(buttonConfig.icon)];
+      return flag ? h2("span", {
+        class: clazz,
+        attrs,
+        on: on2
+      }, childNodes) : null;
+    };
+    var renderBig = function renderBig2(buttonConfig, cls) {
+      if (cls === void 0) {
+        cls = "";
+      }
+      var classes2 = ["tiny-grid__oper-col-button", buttonConfig.class || "", cls];
+      var attrs = {
+        title: buttonConfig.name || ""
+      };
+      return renderBase2(buttonConfig, buttonConfig.icon, classes2, attrs);
+    };
+    var isDisabled = function isDisabled2(buttonConfig) {
+      var _buttonConfig$disable = buttonConfig.disabled, disabled = _buttonConfig$disable === void 0 ? false : _buttonConfig$disable;
+      return typeof disabled === "boolean" && disabled || typeof disabled === "function" && disabled(row22);
+    };
+    var isHidden = function isHidden2(buttonConfig) {
+      var _buttonConfig$hidden = buttonConfig.hidden, hidden = _buttonConfig$hidden === void 0 ? false : _buttonConfig$hidden;
+      return typeof hidden === "boolean" && hidden || typeof hidden === "function" && hidden(row22);
+    };
+    var handleItemClick = function handleItemClick2(itemData) {
+      var realName = (itemData == null ? void 0 : itemData.name) || itemData;
+      var buttonConfig = visibleButtons.find(function(_ref107) {
+        var buttonName = _ref107.name;
+        return buttonName === realName;
+      });
+      buttonConfig.click(window.event || {}, _extends$2({
+        buttonConfig
+      }, params));
+    };
+    var visibleButtons = [];
+    buttons.forEach(function(buttonConfig) {
+      return !isHidden(buttonConfig) && visibleButtons.push(buttonConfig);
+    });
+    var groupBig;
+    if (visibleButtons.length > max) {
+      var end = max - 1;
+      groupBig = visibleButtons.slice(0, end).map(function(buttonConfig) {
+        return renderBig(buttonConfig, viewClass);
+      });
+      groupBig.push(h2(Dropdown, {
+        on: {
+          "item-click": handleItemClick
+        },
+        props: {
+          trigger: "hover",
+          showIcon: false
+        }
+      }, [h2(index$B(), {
+        class: "tiny-grid__oper-col-elps"
+      }), h2(DropdownMenu, {
+        slot: "dropdown"
+      }, visibleButtons.slice(end).map(function(buttonConfig) {
+        var _class2;
+        return h2(DropdownItem, {
+          class: (_class2 = {}, _class2[disabledClass || ""] = isDisabled(buttonConfig), _class2),
+          props: {
+            itemData: buttonConfig,
+            disabled: isDisabled(buttonConfig)
+          }
+        }, buttonConfig.name);
+      }))]));
+    } else {
+      groupBig = visibleButtons.map(function(buttonConfig) {
+        return renderBig(buttonConfig, viewClass);
+      });
+    }
+    return [h2("span", {
+      class: "inline-flex"
+    }, groupBig)];
+  }
+};
+var CellDefault = Cell;
+function setTableElemWidth(_ref108) {
+  var scrollbarWidth = _ref108.scrollbarWidth, tWidth = _ref108.tWidth, tableElem = _ref108.tableElem;
+  if (tableElem && tWidth === null) {
+    tableElem.style.width = tWidth;
+  }
+  if (tableElem && tWidth !== null) {
+    tableElem.style.width = tWidth + scrollbarWidth + "px";
+  }
+}
+function getTableWidth(_ref109) {
+  var scrollXLoad = _ref109.scrollXLoad, tWidth = _ref109.tWidth, tableColumn3 = _ref109.tableColumn;
+  if (scrollXLoad) {
+    tWidth = tableColumn3.reduce(function(previous, column) {
+      return previous + column.renderWidth;
+    }, 0);
+  }
+  return {
+    tableColumn: tableColumn3,
+    tWidth
+  };
+}
+function layoutFooter(_ref110) {
+  var customHeight = _ref110.customHeight, footerHeight = _ref110.footerHeight, headerHeight = _ref110.headerHeight, scrollXLoad = _ref110.scrollXLoad, scrollbarWidth = _ref110.scrollbarWidth, tableElem = _ref110.tableElem, scrollbarHeight = _ref110.scrollbarHeight, tableColumn3 = _ref110.tableColumn, tableHeight = _ref110.tableHeight, tableWidth = _ref110.tableWidth, wrapperElem = _ref110.wrapperElem, fixedWrapperElem = _ref110.fixedWrapperElem;
+  var tWidth = tableWidth;
+  var ret = getTableWidth({
+    scrollXLoad,
+    tWidth,
+    tableColumn: tableColumn3
+  });
+  tableColumn3 = ret.tableColumn;
+  tWidth = ret.tWidth;
+  if (wrapperElem && fixedWrapperElem) {
+    wrapperElem.style.top = (customHeight ? customHeight - footerHeight : tableHeight + headerHeight) + "px";
+  }
+  if (wrapperElem) {
+    wrapperElem.style.marginTop = -scrollbarHeight - 1 + "px";
+  }
+  setTableElemWidth({
+    scrollbarWidth,
+    tWidth,
+    tableElem
+  });
+  return tableColumn3;
+}
+function layoutColgroup(_ref111) {
+  var elemStore = _ref111.elemStore, fullColumnIdData = _ref111.fullColumnIdData, layout = _ref111.layout, scrollbarWidth = _ref111.scrollbarWidth;
+  var colgroupElem = elemStore["main-" + layout + "-colgroup"];
+  var colElemHandler = function colElemHandler2(colElem) {
+    var colid = colElem.getAttribute("name");
+    if (colid === "col_gutter") {
+      colElem.width = "" + (scrollbarWidth || "");
+    }
+    if (fullColumnIdData[colid]) {
+      var column = fullColumnIdData[colid].column;
+      colElem.width = "" + (column.renderWidth || "");
+    }
+  };
+  if (colgroupElem) {
+    arrayEach_default(colgroupElem.children, colElemHandler);
+  }
+}
+function layoutHeader(_ref112) {
+  var elemStore = _ref112.elemStore, layout = _ref112.layout, scrollXLoad = _ref112.scrollXLoad, scrollbarWidth = _ref112.scrollbarWidth, tableColumn3 = _ref112.tableColumn, tableElem = _ref112.tableElem, tableWidth = _ref112.tableWidth;
+  var tWidth = tableWidth;
+  var repairElem = elemStore["main-" + layout + "-repair"];
+  if (scrollXLoad) {
+    tWidth = tableColumn3.reduce(function(previous, column) {
+      return previous + column.renderWidth;
+    }, 0);
+  }
+  setTableElemWidth({
+    scrollbarWidth,
+    tWidth,
+    tableElem
+  });
+  if (repairElem) {
+    repairElem.style.width = tableWidth + "px";
+  }
+  return tableColumn3;
+}
+function layoutTable(_ref113) {
+  var tWidth = _ref113.tWidth, tableElem = _ref113.tableElem;
+  if (tableElem) {
+    tableElem.style.width = tWidth ? tWidth + "px" : tWidth;
+  }
+}
+function layoutBodyWrapper(_ref114) {
+  var footerHeight = _ref114.footerHeight, customHeight = _ref114.customHeight, headerHeight = _ref114.headerHeight, maxHeight = _ref114.maxHeight, minHeight = _ref114.minHeight, parentHeight2 = _ref114.parentHeight, wrapperElem = _ref114.wrapperElem, scrollbarWidth = _ref114.scrollbarWidth;
+  if (wrapperElem) {
+    if (customHeight > 0) {
+      var contentHeight = customHeight - headerHeight - footerHeight;
+      wrapperElem.style.height = contentHeight + "px";
+    }
+    if (maxHeight) {
+      maxHeight = isScale(maxHeight) ? Math.floor(parseInt(maxHeight) / 100 * parentHeight2) : toNumber_default(maxHeight);
+      var _contentHeight = maxHeight - headerHeight;
+      wrapperElem.style.maxHeight = _contentHeight + "px";
+    }
+    if (minHeight) {
+      minHeight = isScale(minHeight) ? Math.floor(parseInt(minHeight) / 100 * parentHeight2) : toNumber_default(minHeight);
+      if (maxHeight) {
+        var outerHeight = headerHeight + scrollbarWidth;
+        if (maxHeight - minHeight < outerHeight) {
+          minHeight = maxHeight - outerHeight;
+        }
+      }
+      wrapperElem.style.minHeight = minHeight + "px";
+    }
+  }
+  return {
+    maxHeight,
+    minHeight
+  };
+}
+function layoutEmptyBlock(_ref115) {
+  var emptyBlockElem = _ref115.emptyBlockElem, tWidth = _ref115.tWidth;
+  if (emptyBlockElem) {
+    emptyBlockElem.style.width = tWidth ? tWidth + "px" : tWidth || "";
+  }
+}
+function layoutBody(options) {
+  var customHeight = options.customHeight, elemStore = options.elemStore, footerHeight = options.footerHeight, headerHeight = options.headerHeight, layout = options.layout;
+  var maxHeight = options.maxHeight, minHeight = options.minHeight, parentHeight2 = options.parentHeight, scrollXLoad = options.scrollXLoad;
+  var scrollbarWidth = options.scrollbarWidth, tableColumn3 = options.tableColumn, tableElem = options.tableElem, tableWidth = options.tableWidth, wrapperElem = options.wrapperElem;
+  var emptyBlockElem = elemStore["main-" + layout + "-emptyBlock"];
+  var ret = layoutBodyWrapper({
+    customHeight,
+    footerHeight,
+    headerHeight,
+    maxHeight,
+    minHeight,
+    parentHeight: parentHeight2,
+    scrollbarWidth,
+    wrapperElem
+  });
+  maxHeight = ret.maxHeight;
+  minHeight = ret.minHeight;
+  var tWidth = tableWidth;
+  ret = getTableWidth({
+    scrollXLoad,
+    tWidth,
+    tableColumn: tableColumn3
+  });
+  tableColumn3 = ret.tableColumn;
+  tWidth = ret.tWidth;
+  layoutTable({
+    tWidth,
+    tableElem
+  });
+  layoutEmptyBlock({
+    emptyBlockElem,
+    tWidth
+  });
+  return {
+    maxHeight,
+    minHeight,
+    tableColumn: tableColumn3
+  };
+}
+function handleLayout(params) {
+  var _vm = params._vm, columnStore = params.columnStore, customHeight = params.customHeight, fixedColumn = params.fixedColumn, fixedWrapperElem = params.fixedWrapperElem, layout = params.layout, maxHeight = params.maxHeight, minHeight = params.minHeight, parentHeight2 = params.parentHeight, tableColumn3 = params.tableColumn;
+  var elemStore = _vm.elemStore, footerHeight = _vm.footerHeight, fullColumnIdData = _vm.fullColumnIdData, headerHeight = _vm.headerHeight, showFooter = _vm.showFooter;
+  var overflowX = _vm.overflowX, overflowY = _vm.overflowY, scrollXLoad = _vm.scrollXLoad, scrollbarHeight = _vm.scrollbarHeight, scrollbarWidth = _vm.scrollbarWidth;
+  var allColumnOverflow = _vm.showOverflow, tableHeight = _vm.tableHeight, tableWidth = _vm.tableWidth;
+  var wrapperElem = elemStore["main-" + layout + "-wrapper"];
+  var tableElem = elemStore["main-" + layout + "-table"];
+  if (layout === "header") {
+    tableColumn3 = layoutHeader({
+      elemStore,
+      layout,
+      scrollXLoad,
+      scrollbarWidth,
+      tableColumn: tableColumn3,
+      tableElem,
+      tableWidth
+    });
+  } else if (layout === "body") {
+    var ret = layoutBody(_extends$2({}, {
+      allColumnOverflow,
+      columnStore,
+      customHeight,
+      elemStore,
+      fixedColumn,
+      fixedWrapperElem
+    }, {
+      footerHeight,
+      headerHeight,
+      layout,
+      maxHeight,
+      minHeight,
+      overflowX,
+      overflowY
+    }, {
+      parentHeight: parentHeight2,
+      scrollXLoad,
+      scrollbarHeight,
+      scrollbarWidth,
+      showFooter,
+      tableColumn: tableColumn3,
+      tableElem,
+      tableHeight,
+      tableWidth,
+      wrapperElem
+    }));
+    maxHeight = ret.maxHeight;
+    minHeight = ret.minHeight;
+    tableColumn3 = ret.tableColumn;
+  } else if (layout === "footer") {
+    tableColumn3 = layoutFooter({
+      customHeight,
+      fixedWrapperElem,
+      footerHeight,
+      headerHeight,
+      scrollXLoad,
+      scrollbarHeight,
+      scrollbarWidth,
+      tableColumn: tableColumn3,
+      tableElem,
+      tableHeight,
+      tableWidth,
+      wrapperElem
+    });
+  }
+  layoutColgroup({
+    elemStore,
+    fullColumnIdData,
+    layout,
+    scrollbarWidth
+  });
+  return {
+    tableColumn: tableColumn3,
+    maxHeight,
+    minHeight
+  };
+}
+function isTargetRadioOrCheckbox(event, column, colType, targetType) {
+  var target = event.target;
+  return target && column.type === colType && target.tagName.toLowerCase() === "input" && target.type === (targetType || colType);
+}
+function onClickExpandColumn(_ref116) {
+  var $el = _ref116.$el, _vm = _ref116._vm, column = _ref116.column, event = _ref116.event, expandConfig = _ref116.expandConfig, params = _ref116.params;
+  if ((expandConfig.trigger === "row" || column.type === "expand" && expandConfig.trigger === "cell") && !_vm.getEventTargetNode(event, $el, "tiny-grid__expanded").flag) {
+    _vm.triggerRowExpandEvent(event, params);
+  }
+}
+function onClickTreeNodeColumn(_ref117) {
+  var _vm = _ref117._vm, column = _ref117.column, event = _ref117.event, params = _ref117.params, treeConfig = _ref117.treeConfig;
+  if (treeConfig.trigger === "row" || column.treeNode && treeConfig.trigger === "cell") {
+    _vm.triggerTreeExpandEvent(event, params);
+  }
+}
+function onHighlightCurrentRow(_ref118) {
+  var $el = _ref118.$el, _vm = _ref118._vm, event = _ref118.event, highlightCurrentRow = _ref118.highlightCurrentRow, params = _ref118.params, radioConfig = _ref118.radioConfig;
+  if (highlightCurrentRow) {
+    if (radioConfig.trigger === "row" || !_vm.getEventTargetNode(event, $el, "tiny-grid-checkbox").flag && !_vm.getEventTargetNode(event, $el, "tiny-grid-radio").flag) {
+      _vm.triggerCurrentRowEvent(event, params);
+    }
+  }
+}
+function onClickRadioColumn(_ref119) {
+  var $el = _ref119.$el, _vm = _ref119._vm, column = _ref119.column, event = _ref119.event, params = _ref119.params, radioConfig = _ref119.radioConfig;
+  if ((radioConfig.trigger === "row" || column.type === "radio" && radioConfig.trigger === "cell") && !_vm.getEventTargetNode(event, $el, "tiny-grid-radio").flag) {
+    _vm.triggerRadioRowEvent(event, params);
+  }
+}
+function onClickSelectColumn(_ref120) {
+  var _vm = _ref120._vm, column = _ref120.column, event = _ref120.event, params = _ref120.params, selectConfig = _ref120.selectConfig;
+  if ((selectConfig.trigger === "row" || column.type === "selection" && selectConfig.trigger === "cell") && !_vm.getEventTargetNode(event, params.cell, "tiny-grid-checkbox").flag) {
+    _vm.handleToggleCheckRowEvent(params, event);
+  }
+}
+function onClickCellSelect(_ref121) {
+  var _vm = _ref121._vm, actived = _ref121.actived, cell = _ref121.cell, column = _ref121.column, editConfig = _ref121.editConfig, event = _ref121.event, mouseConfig = _ref121.mouseConfig, params = _ref121.params, row22 = _ref121.row;
+  if (!mouseConfig.checked && editConfig) {
+    if (editConfig.trigger === "manual") {
+      if (actived.args && actived.row === row22 && column !== actived.column) {
+        _vm.handleChangeCell(event, params);
+      }
+    } else if (!actived.args || cell !== actived.args.cell) {
+      if (editConfig.trigger === "click") {
+        _vm.handleChangeCell(event, params);
+      } else if (editConfig.trigger === "dblclick") {
+        if (editConfig.mode === "row" && actived.row === params.row) {
+          _vm.handleChangeCell(event, params);
+        } else {
+          _vm.handleSelected(params, event);
+        }
+      }
+    }
+  }
+}
+function onGroupHeader(_ref122) {
+  var _vm = _ref122._vm, isGroup2 = _ref122.isGroup, headerProps2 = _ref122.headerProps;
+  if (isGroup2) {
+    eachTree_default(_vm.collectColumn, function(column) {
+      if (column.children && column.children.length) {
+        column.visible = !!findTree_default(column.children, function(subColumn) {
+          return subColumn.children && subColumn.children.length ? 0 : subColumn.visible;
+        }, headerProps2);
+      }
+    }, headerProps2);
+  }
+}
+function reassignNotFixed(_ref123) {
+  var centerList = _ref123.centerList, column = _ref123.column;
+  if (!column.fixed) {
+    centerList.push(column);
+  }
+}
+function reassignFixedRight(_ref124) {
+  var column = _ref124.column, columnIndex = _ref124.columnIndex, isColspan = _ref124.isColspan, rightEndIndex = _ref124.rightEndIndex, rightList = _ref124.rightList;
+  if (column.fixed === "right") {
+    if (!isColspan) {
+      if (rightEndIndex === null) {
+        rightEndIndex = columnIndex;
+      }
+      if (columnIndex - rightEndIndex !== 0) {
+        isColspan = true;
+      } else {
+        rightEndIndex++;
+      }
+    }
+    rightList.push(column);
+  }
+  return {
+    isColspan,
+    rightEndIndex
+  };
+}
+function reassignFixedLeft(_ref125) {
+  var column = _ref125.column, columnIndex = _ref125.columnIndex, isColspan = _ref125.isColspan, leftList = _ref125.leftList, leftStartIndex = _ref125.leftStartIndex, letIndex = _ref125.letIndex;
+  if (column.fixed === "left") {
+    if (leftStartIndex === null) {
+      leftStartIndex = letIndex;
+    }
+    if (!isColspan) {
+      if (columnIndex - letIndex !== 0) {
+        isColspan = true;
+      } else {
+        letIndex++;
+      }
+    }
+    leftList.push(column);
+  }
+  return {
+    leftStartIndex,
+    letIndex,
+    isColspan
+  };
+}
+function showGroupFixedError(_ref126) {
+  var isColspan = _ref126.isColspan, isGroup2 = _ref126.isGroup, leftStartIndex = _ref126.leftStartIndex, rightEndIndex = _ref126.rightEndIndex, visibleColumn = _ref126.visibleColumn;
+  if (isGroup2 && (isColspan || leftStartIndex || rightEndIndex !== null && rightEndIndex !== visibleColumn.length)) {
+    error("ui.grid.error.groupFixed");
+  }
+}
+function onScrollXLoad(_ref127) {
+  var _vm = _ref127._vm, scrollX = _ref127.scrollX, scrollXLoad = _ref127.scrollXLoad, scrollXStore = _ref127.scrollXStore, tableColumn3 = _ref127.tableColumn, visibleColumn = _ref127.visibleColumn;
+  if (scrollXLoad) {
+    if (_vm.resizable || visibleColumn.some(function(column) {
+      return column.resizable;
+    })) {
+      warn$1("ui.grid.error.notResizable");
+    }
+    Object.assign(scrollXStore, {
+      startIndex: 0,
+      visibleIndex: 0,
+      renderSize: toNumber_default(scrollX.rSize),
+      offsetSize: toNumber_default(scrollX.oSize)
+    });
+    tableColumn3 = visibleColumn.slice(scrollXStore.startIndex, scrollXStore.startIndex + scrollXStore.renderSize);
+  }
+  return tableColumn3;
+}
+function mapFetchColumnPromise(_ref128) {
+  var _vm = _ref128._vm, fetchColumns = _ref128.fetchColumns, tableColumn3 = _ref128.tableColumn;
+  return fetchColumns.map(function(_ref129) {
+    var format2 = _ref129.format, columnValues = _ref129.columnValues;
+    return format2.async.fetch({
+      columns: tableColumn3,
+      columnValues,
+      $table: _vm
+    });
+  });
+}
+function preprocessDataObjectFormat(_ref130) {
+  var columnCount = _ref130.columnCount, columnValues = _ref130.columnValues, columnValuesMap = _ref130.columnValuesMap, fields = _ref130.fields;
+  if (columnCount) {
+    columnValues.forEach(function(col) {
+      if (typeof col === "object") {
+        var label = get_default(col, fields.text || "label");
+        var value = get_default(col, fields.value || "value");
+        col.label = label;
+        columnValuesMap[value] = col;
+      }
+    });
+  }
+}
+function preventDupRender(_ref131) {
+  var asyncColumnName = _ref131.asyncColumnName, cellTexts = _ref131.cellTexts, cellValuesCount = _ref131.cellValuesCount, columnData = _ref131.columnData, columnValuesMap = _ref131.columnValuesMap, isRender = _ref131.isRender, property2 = _ref131.property, renderCount = _ref131.renderCount, row22 = _ref131.row, splitConfig = _ref131.splitConfig;
+  var cellEachIndex = 0;
+  if (!isRender && cellValuesCount) {
+    var cellLabel;
+    var cellValues = [row22[property2]];
+    if (splitConfig.enabled === true) {
+      cellValues = (row22[property2] || "").split(splitConfig.valueSplit || ",");
+    }
+    while (cellEachIndex < cellValuesCount) {
+      var activeValue = cellValues[cellEachIndex];
+      var currentRow = columnValuesMap[activeValue];
+      cellLabel = typeof currentRow === "object" ? currentRow.label : currentRow;
+      cellTexts.push(cellLabel);
+      columnData.push({
+        label: cellLabel,
+        value: cellValues[cellEachIndex],
+        row: currentRow
+      });
+      cellEachIndex++;
+      renderCount++;
+    }
+    row22[asyncColumnName] = cellTexts.join(splitConfig.textSplit || ",");
+  }
+  return renderCount;
+}
+function handleResolveColumnComplete(_ref132) {
+  var _vm = _ref132._vm, columnData = _ref132.columnData, complete = _ref132.complete;
+  if (typeof complete === "function") {
+    complete({
+      columnData,
+      $table: _vm
+    });
+  }
+}
+var isWebkit = browser_default["-webkit"];
+function computeScrollYLoad(_ref133) {
+  var _vm = _ref133._vm, scrollLoad = _ref133.scrollLoad, scrollY = _ref133.scrollY, scrollYLoad = _ref133.scrollYLoad, scrollYStore = _ref133.scrollYStore, tableBodyElem = _ref133.tableBodyElem;
+  if (scrollYLoad || scrollLoad) {
+    scrollYStore.rowHeight = _vm.getRowHeight();
+  }
+  if (scrollYLoad) {
+    var visibleYSize = toNumber_default(scrollY.vSize || Math.ceil(tableBodyElem.clientHeight / scrollYStore.rowHeight));
+    scrollYStore.visibleSize = visibleYSize;
+    if (!scrollY.oSize) {
+      scrollYStore.offsetSize = visibleYSize;
+    }
+    if (!scrollY.rSize) {
+      scrollYStore.renderSize = visibleYSize + (isWebkit ? 2 : visibleYSize);
+    }
+    _vm.updateScrollYData();
+  } else {
+    _vm.updateScrollYSpace();
+  }
+}
+function computeScrollXLoad(_ref134) {
+  var _vm = _ref134._vm, scrollX = _ref134.scrollX, scrollXLoad = _ref134.scrollXLoad, scrollXStore = _ref134.scrollXStore, tableBodyElem = _ref134.tableBodyElem, visibleColumn = _ref134.visibleColumn;
+  if (scrollXLoad) {
+    var firstColumn = visibleColumn[0];
+    var cWidth = firstColumn ? firstColumn.renderWidth : 40;
+    var visibleXSize = toNumber_default(scrollX.vSize || Math.ceil(tableBodyElem.clientWidth / cWidth));
+    scrollXStore.visibleSize = visibleXSize;
+    if (!scrollX.oSize) {
+      scrollXStore.offsetSize = visibleXSize;
+    }
+    if (!scrollX.rSize) {
+      scrollXStore.renderSize = visibleXSize + 2;
+    }
+    _vm.updateScrollXData();
+  } else {
+    _vm.updateScrollXSpace();
+  }
+}
+var adaptive = function adaptive2(_ref135) {
+  var autoArr = _ref135.autoArr, meanWidth = _ref135.meanWidth, minCellWidth = _ref135.minCellWidth, tableWidth = _ref135.tableWidth, fit = _ref135.fit, bodyWidth = _ref135.bodyWidth;
+  autoArr.forEach(function(column, index230) {
+    var width = Math.max(meanWidth, minCellWidth);
+    column.renderWidth = width;
+    tableWidth += width;
+    if (fit && index230 === autoArr.length - 1) {
+      var odiffer = bodyWidth - tableWidth;
+      if (odiffer > 0) {
+        column.renderWidth += odiffer;
+        tableWidth = bodyWidth;
+      }
+    }
+  });
+  return tableWidth;
+};
+var initTableWidth = function initTableWidth2(_ref136) {
+  var remainWidth = _ref136.remainWidth, columnStore = _ref136.columnStore;
+  var tableWidth = 0;
+  var resizeArr = columnStore.resizeList, pxMinArr = columnStore.pxMinList, pxArr = columnStore.pxList;
+  var scaleArr = columnStore.scaleList, scaleMinArr = columnStore.scaleMinList;
+  pxMinArr.forEach(function(column) {
+    var minWidth = parseInt(column.minWidth);
+    tableWidth += minWidth;
+    column.renderWidth = minWidth;
+  });
+  var meanWidth = remainWidth / 100;
+  scaleMinArr.forEach(function(column) {
+    var scaleWidth = Math.floor(parseInt(column.minWidth) * meanWidth);
+    tableWidth += scaleWidth;
+    column.renderWidth = scaleWidth;
+  });
+  scaleArr.forEach(function(column) {
+    var scaleWidth = Math.floor(parseInt(column.width) * meanWidth);
+    tableWidth += scaleWidth;
+    column.renderWidth = scaleWidth;
+  });
+  pxArr.forEach(function(column) {
+    var width = parseInt(column.width);
+    tableWidth += width;
+    column.renderWidth = width;
+  });
+  resizeArr.forEach(function(column) {
+    var width = parseInt(column.resizeWidth);
+    tableWidth += width;
+    column.renderWidth = width;
+  });
+  return {
+    tableWidth,
+    meanWidth
+  };
+};
+var calcTableWidth = function calcTableWidth2(_ref137) {
+  var bodyWidth = _ref137.bodyWidth, columnStore = _ref137.columnStore, fit = _ref137.fit, minCellWidth = _ref137.minCellWidth, remainWidth = _ref137.remainWidth;
+  var _initTableWidth = initTableWidth({
+    remainWidth,
+    columnStore
+  }), tableWidth = _initTableWidth.tableWidth, meanWidth = _initTableWidth.meanWidth;
+  var pxMinArr = columnStore.pxMinList, scaleMinArr = columnStore.scaleMinList, autoArr = columnStore.autoList;
+  remainWidth -= tableWidth;
+  meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinArr.length + pxMinArr.length + autoArr.length)) : 0;
+  if (fit) {
+    if (remainWidth > 0) {
+      scaleMinArr.concat(pxMinArr).forEach(function(column) {
+        tableWidth += meanWidth;
+        column.renderWidth += meanWidth;
+      });
+    }
+  } else {
+    meanWidth = minCellWidth;
+  }
+  tableWidth = adaptive({
+    autoArr,
+    meanWidth,
+    minCellWidth,
+    tableWidth,
+    fit,
+    bodyWidth
+  });
+  var remainingSpace = bodyWidth - tableWidth;
+  if (fit && remainingSpace > 0) {
+    scaleMinArr.concat(pxMinArr).slice(0, remainingSpace).forEach(function(column) {
+      tableWidth += 1;
+      column.renderWidth += 1;
+    });
+  }
+  return tableWidth;
+};
+var setLeftOrRightPosition = function setLeftOrRightPosition2(_ref138) {
+  var columnList = _ref138.columnList, direction = _ref138.direction, headerEl = _ref138.headerEl, bodyEl = _ref138.bodyEl, scrollbarWidth = _ref138.scrollbarWidth;
+  var colList = columnList.slice();
+  if (direction === "right") {
+    colList.reverse();
+  }
+  colList.reduce(function(pos, column) {
+    var ths = (headerEl == null ? void 0 : headerEl.querySelectorAll("[data-colid=" + column.id + "]")) || [];
+    var tds = bodyEl.querySelectorAll("[data-colid=" + column.id + "]");
+    var allFixed = [].concat(Array.from(ths), Array.from(tds));
+    allFixed.forEach(function(td) {
+      var compensatingWidth = 0;
+      if (direction === "right" && scrollbarWidth && td.className.includes("header__column")) {
+        compensatingWidth = scrollbarWidth;
+      }
+      td.style[direction] = pos + compensatingWidth + "px";
+    });
+    column.style = column.style || {};
+    column.style[direction] = pos;
+    pos += column.renderWidth;
+    return pos;
+  }, 0);
+};
+var setGroupHeaderPosition = function setGroupHeaderPosition2(_ref139) {
+  var columnChart = _ref139.columnChart, direction = _ref139.direction;
+  var colChart = columnChart.slice();
+  if (direction === "right") {
+    colChart.reverse();
+  }
+  colChart.forEach(function(columns2) {
+    var _leafColumn$style$dir, _leafColumn$style;
+    var len = columns2.length;
+    if (len === 1) {
+      return;
+    }
+    var leafColumn = columns2[len - 1];
+    var leafDirectionPos = (_leafColumn$style$dir = leafColumn == null ? void 0 : (_leafColumn$style = leafColumn.style) == null ? void 0 : _leafColumn$style[direction]) != null ? _leafColumn$style$dir : null;
+    if (leafDirectionPos !== null) {
+      columns2.forEach(function(column) {
+        var _column$style$directi;
+        column.style = column.style || {};
+        var pos = (_column$style$directi = column.style[direction]) != null ? _column$style$directi : null;
+        if (pos === null) {
+          column.style[direction] = leafDirectionPos;
+        }
+      });
+    }
+  });
+};
+var setGroupHeaderLastOrFirst = function setGroupHeaderLastOrFirst2(_ref140) {
+  var columnChart = _ref140.columnChart, leftList = _ref140.leftList, rightList = _ref140.rightList;
+  columnChart.forEach(function(columns2) {
+    var len = columns2.length;
+    var leafColumn = columns2[len - 1];
+    var isFixedLeftLast = leftList[leftList.length - 1] === leafColumn;
+    var isFixedRightFirst = rightList[0] === leafColumn;
+    columns2.forEach(function(column) {
+      column.isFixedLeftLast = column.isFixedLeftLast || isFixedLeftLast;
+      column.isFixedRightFirst = column.isFixedRightFirst || isFixedRightFirst;
+    });
+  });
+};
+var calcFixedStickyPosition = function calcFixedStickyPosition2(_ref141) {
+  var headerEl = _ref141.headerEl, bodyEl = _ref141.bodyEl, columnStore = _ref141.columnStore, scrollbarWidth = _ref141.scrollbarWidth, columnChart = _ref141.columnChart, isGroup2 = _ref141.isGroup;
+  var leftList = columnStore.leftList, rightList = columnStore.rightList;
+  setLeftOrRightPosition({
+    columnList: leftList,
+    direction: "left",
+    headerEl,
+    bodyEl,
+    scrollbarWidth
+  });
+  setLeftOrRightPosition({
+    columnList: rightList,
+    direction: "right",
+    headerEl,
+    bodyEl,
+    scrollbarWidth
+  });
+  if (isGroup2) {
+    setGroupHeaderPosition({
+      columnChart,
+      direction: "left"
+    });
+    setGroupHeaderPosition({
+      columnChart,
+      direction: "right"
+    });
+    setGroupHeaderLastOrFirst({
+      columnChart,
+      leftList,
+      rightList
+    });
+  }
+};
+var funcs = ["closeMenu", "getMouseSelecteds", "getMouseCheckeds", "clearCopyed", "clearChecked", "clearHeaderChecked", "clearIndexChecked", "clearSelected", "insert", "insertAt", "remove", "removeSelecteds", "revert", "revertData", "getRecordset", "getInsertRecords", "getRemoveRecords", "getUpdateRecords", "clearActived", "getActiveRow", "hasActiveRow", "setActiveRow", "setActiveCell", "setSelectCell", "clearValidate", "fullValidate", "validate", "exportCsv", "exportExcel"];
+var headerProps = {
+  children: "children"
+};
+var handleAllColumnPromises = function handleAllColumnPromises2(opt, ctx) {
+  var startIndex = opt.startIndex, fetchColumns = opt.fetchColumns, tableData = opt.tableData, asyncRenderMap = opt.asyncRenderMap, isScrollLoad = opt.isScrollLoad;
+  return function(data8) {
+    if (data8.length) {
+      ctx._isUpdateData = true;
+      data8.forEach(function(item, i) {
+        var columnValues = [];
+        var columnValuesMap = {};
+        var k = startIndex;
+        var renderCount = 0;
+        var columnCount = 0;
+        var columnData = [];
+        var _fetchColumns$i = fetchColumns[i], _fetchColumns$i$forma = _fetchColumns$i.format, format2 = _fetchColumns$i$forma === void 0 ? {} : _fetchColumns$i$forma, property2 = _fetchColumns$i.property;
+        var _ref142 = format2.async || {}, _ref142$splitConfig = _ref142.splitConfig, splitConfig = _ref142$splitConfig === void 0 ? {} : _ref142$splitConfig, _ref142$fields = _ref142.fields, fields = _ref142$fields === void 0 ? {} : _ref142$fields, complete = _ref142.complete;
+        columnValues = isArray(item) ? item : get_default(item, fields.data || "values");
+        columnCount = columnValues.length;
+        preprocessDataObjectFormat({
+          columnCount,
+          columnValues,
+          columnValuesMap,
+          fields
+        });
+        for (var len = tableData.length; k < len; k++) {
+          var row22 = tableData[k];
+          var cellTexts = [];
+          var uniqueKey = ctx.getAsyncColumnUniqueKey(property2, row22);
+          var cellValuesCount = asyncRenderMap[uniqueKey];
+          var asyncColumnName = ctx.getAsyncColumnName(property2);
+          var isRender = !!row22[asyncColumnName];
+          var args = {
+            asyncColumnName,
+            cellTexts,
+            cellValuesCount,
+            columnData
+          };
+          Object.assign(args, {
+            columnValuesMap,
+            isRender,
+            property: property2,
+            renderCount,
+            row: row22,
+            splitConfig
+          });
+          renderCount = preventDupRender(args);
+          if (isScrollLoad && renderCount >= columnCount) {
+            break;
+          }
+        }
+        format2.data = columnData;
+        handleResolveColumnComplete({
+          _vm: ctx,
+          columnData,
+          complete
+        });
+      });
+      ctx.tableData = ctx.tableData.slice(0);
+      ctx.$nextTick(function() {
+        ctx._isUpdateData = false;
+      });
+    } else {
+      warn$1("Unknown error:the query data is empty.");
+    }
+  };
+};
+function handleGlobalMousedownOnFilterWrapper(_ref143) {
+  var $el = _ref143.$el, _vm = _ref143._vm, event = _ref143.event, filterStore = _ref143.filterStore, filterWrapper = _ref143.filterWrapper;
+  if (filterWrapper) {
+    if (_vm.getEventTargetNode(event, $el, "tiny-grid-filter-wrapper").flag)
+      ;
+    else if (_vm.getEventTargetNode(event, filterWrapper.$el).flag)
+      ;
+    else if (_vm.getEventTargetNode(event, document.body, "tiny-popper").flag)
+      ;
+    else {
+      _vm.closeFilter();
+      _vm.preventEvent(event, "event.clear_filter", filterStore.args, _vm.closeFilter);
+    }
+  }
+}
+function handleGlobalMousedownOnCtxMenu(_ref144) {
+  var _vm = _ref144._vm, ctxMenuStore = _ref144.ctxMenuStore, event = _ref144.event;
+  if (ctxMenuStore.visible && _vm.$refs.ctxWrapper && !_vm.getEventTargetNode(event, _vm.$refs.ctxWrapper.$el).flag) {
+    _vm.closeMenu();
+  }
+}
+function handleGlobalBlurOutside(_ref145) {
+  var _vm = _ref145._vm, actived = _ref145.actived, event = _ref145.event;
+  var custblur = _vm.blurOutside(actived, event);
+  if (typeof custblur === "boolean") {
+    custblur || setTimeout(function() {
+      return _vm.clearActived(event);
+    });
+    return true;
+  }
+  return false;
+}
+function handleGlobalIsClear(_ref146) {
+  var $el = _ref146.$el, _vm = _ref146._vm, actived = _ref146.actived, editConfig = _ref146.editConfig, event = _ref146.event, isClear = _ref146.isClear, isReadonlyCol = _ref146.isReadonlyCol;
+  if (editConfig.mode === "row") {
+    var rowNode = _vm.getEventTargetNode(event, $el, "tiny-grid-body__row");
+    var isOtherRow = rowNode.flag ? rowNode.targetElem !== actived.args.cell.parentNode : 0;
+    if (editConfig.trigger === "manual") {
+      isClear = !_vm.getEventTargetNode(event, $el, "row__actived").flag && isOtherRow;
+    } else {
+      isClear = isOtherRow && isReadonlyCol;
+    }
+  } else {
+    isClear = isReadonlyCol;
+  }
+  return isClear;
+}
+function handleGlobalClearActived(_ref147) {
+  var $el = _ref147.$el, _vm = _ref147._vm, event = _ref147.event, isClear = _ref147.isClear;
+  if (isClear || // 如果点击了当前表格之外
+  !_vm.getEventTargetNode(event, $el).flag || _vm.$refs.tableHeader && _vm.$refs.tableHeader.$el.contains(event.target)) {
+    setTimeout(function() {
+      return _vm.clearActived(event);
+    });
+  }
+}
+function checkOtherKey(keyCode) {
+  return keyCode >= 48 && keyCode <= 57 || keyCode >= 65 && keyCode <= 90 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 192 || keyCode >= 219 && keyCode <= 222 || keyCode === 32;
+}
+function rule1(_ref148) {
+  var isKeyEsc = _ref148.isKeyEsc, _vm = _ref148._vm, event = _ref148.event, actived = _ref148.actived, mouseConfig = _ref148.mouseConfig;
+  return {
+    match: function match() {
+      return isKeyEsc;
+    },
+    action: function action() {
+      return _vm.handleEscKeyDown({
+        event,
+        actived,
+        mouseConfig
+      });
+    }
+  };
+}
+function rule2(_ref149) {
+  var isKeySpacebar = _ref149.isKeySpacebar, keyboardConfig = _ref149.keyboardConfig, selected = _ref149.selected, _vm = _ref149._vm, event = _ref149.event;
+  return {
+    match: function match() {
+      return isKeySpacebar && (keyboardConfig.isArrow || keyboardConfig.isTab) && selected.row && selected.column && (selected.column.type === "selection" || selected.column.type === "radio");
+    },
+    action: function action() {
+      return _vm.handleSpaceKeyDown({
+        event,
+        keyboardConfig,
+        selected
+      });
+    }
+  };
+}
+function rule3(args) {
+  var isKeyEnter = args.isKeyEnter, keyboardConfig = args.keyboardConfig, selected = args.selected, actived = args.actived;
+  var treeConfig = args.treeConfig, highlightCurrentRow = args.highlightCurrentRow, currentRow = args.currentRow, _vm = args._vm, event = args.event;
+  return {
+    match: function match() {
+      return isKeyEnter && (keyboardConfig.isArrow || keyboardConfig.isTab) && (selected.row || actived.row || treeConfig && highlightCurrentRow && currentRow);
+    },
+    action: function action() {
+      return _vm.handleEnterKeyDown({
+        event,
+        selected,
+        actived
+      });
+    }
+  };
+}
+function rule4(_ref150) {
+  var isOperCtxMenu = _ref150.isOperCtxMenu, _vm = _ref150._vm, event = _ref150.event;
+  return {
+    match: function match() {
+      return isOperCtxMenu;
+    },
+    action: function action() {
+      return _vm.handleCtxMenu({
+        event
+      });
+    }
+  };
+}
+function rule5(_ref151) {
+  var isKeyF2 = _ref151.isKeyF2, _vm = _ref151._vm, event = _ref151.event, selected = _ref151.selected;
+  return {
+    match: function match() {
+      return isKeyF2;
+    },
+    action: function action() {
+      return _vm.handleF2KeyDown({
+        event,
+        selected
+      });
+    }
+  };
+}
+function rule6(_ref152) {
+  var isOperArrowKeys = _ref152.isOperArrowKeys, keyboardConfig = _ref152.keyboardConfig, _vm = _ref152._vm, event = _ref152.event, selected = _ref152.selected;
+  return {
+    match: function match() {
+      return isOperArrowKeys && keyboardConfig.isArrow;
+    },
+    action: function action() {
+      return _vm.handleArrowKeyDown({
+        event,
+        selected
+      });
+    }
+  };
+}
+function rule7(_ref153) {
+  var isKeyTab = _ref153.isKeyTab, keyboardConfig = _ref153.keyboardConfig, _vm = _ref153._vm, event = _ref153.event, selected = _ref153.selected, actived = _ref153.actived;
+  return {
+    match: function match() {
+      return isKeyTab && keyboardConfig.isTab;
+    },
+    action: function action() {
+      return _vm.handleTabKeyDown({
+        event,
+        selected,
+        actived
+      });
+    }
+  };
+}
+function rule8(args) {
+  var isKeyDel = args.isKeyDel, treeConfig = args.treeConfig, highlightCurrentRow = args.highlightCurrentRow, currentRow = args.currentRow;
+  var isKeyBack = args.isKeyBack, keyboardConfig = args.keyboardConfig, _vm = args._vm, event = args.event, selected = args.selected;
+  return {
+    match: function match() {
+      return isKeyDel || (treeConfig && highlightCurrentRow && currentRow ? isKeyBack && keyboardConfig.isArrow : isKeyBack);
+    },
+    action: function action() {
+      return _vm.handleDelKeyDown({
+        event,
+        selected
+      });
+    }
+  };
+}
+function rule9(_ref154) {
+  var keyboardConfig = _ref154.keyboardConfig, isKeyWithCtrl = _ref154.isKeyWithCtrl, isKeyA = _ref154.isKeyA, isKeyX = _ref154.isKeyX, isKeyC = _ref154.isKeyC, isKeyV = _ref154.isKeyV, _vm = _ref154._vm, event = _ref154.event;
+  return {
+    match: function match() {
+      return keyboardConfig.isCut && isKeyWithCtrl && (isKeyA || isKeyX || isKeyC || isKeyV);
+    },
+    action: function action() {
+      return _vm.handleCopyKeyDown({
+        event
+      });
+    }
+  };
+}
+function rule10(_ref155) {
+  var keyboardConfig = _ref155.keyboardConfig, isKeyWithCtrl = _ref155.isKeyWithCtrl, _vm = _ref155._vm, event = _ref155.event, selected = _ref155.selected;
+  return {
+    match: function match() {
+      return keyboardConfig.isEdit && !isKeyWithCtrl;
+    },
+    action: function action() {
+      return _vm.handleOtherKeyDown({
+        event,
+        selected
+      });
+    }
+  };
+}
+function onGlobalKeydown(event, _vm) {
+  var isCtxMenu2 = _vm.isCtxMenu, ctxMenuStore = _vm.ctxMenuStore, _vm$mouseConfig = _vm.mouseConfig, mouseConfig = _vm$mouseConfig === void 0 ? {} : _vm$mouseConfig, _vm$keyboardConfig = _vm.keyboardConfig, keyboardConfig = _vm$keyboardConfig === void 0 ? {} : _vm$keyboardConfig;
+  var treeConfig = _vm.treeConfig, highlightCurrentRow = _vm.highlightCurrentRow, currentRow = _vm.currentRow;
+  var _vm$editStore = _vm.editStore, selected = _vm$editStore.selected, actived = _vm$editStore.actived;
+  var eventKeyCode = event.keyCode;
+  var isKeyWithCtrl = event.ctrlKey;
+  var isKeyF2 = eventKeyCode === 113;
+  var isKeyX = eventKeyCode === 88;
+  var isKeyV = eventKeyCode === 86;
+  var isKeyC = eventKeyCode === 67;
+  var isKeyA = eventKeyCode === 65;
+  var isKeyDel = eventKeyCode === 46;
+  var isKeyDwArrow = eventKeyCode === 40;
+  var isKeyRightArrow = eventKeyCode === 39;
+  var isKeyUpArrow = eventKeyCode === 38;
+  var isKeyLeftArrow = eventKeyCode === 37;
+  var isKeySpacebar = eventKeyCode === 32;
+  var isKeyEsc = eventKeyCode === 27;
+  var isKeyEnter = eventKeyCode === 13;
+  var isKeyTab = eventKeyCode === 9;
+  var isKeyBack = eventKeyCode === 8;
+  var isOperArrowKeys = isKeyLeftArrow || isKeyUpArrow || isKeyRightArrow || isKeyDwArrow;
+  var isOperCtxMenu = isCtxMenu2 && ctxMenuStore.visible && (isKeyEnter || isKeySpacebar || isOperArrowKeys);
+  var rules = [
+    rule1({
+      isKeyEsc,
+      _vm,
+      event,
+      actived,
+      mouseConfig
+    }),
+    // 空格键支持选中复选列
+    rule2({
+      isKeySpacebar,
+      keyboardConfig,
+      selected,
+      _vm,
+      event
+    }),
+    // 如果是激活状态,退则出到下一行
+    rule3({
+      isKeyEnter,
+      keyboardConfig,
+      selected,
+      actived,
+      treeConfig,
+      highlightCurrentRow,
+      currentRow,
+      _vm,
+      event
+    }),
+    // 如果配置了右键菜单; 支持方向键操作、回车
+    rule4({
+      isOperCtxMenu,
+      _vm,
+      event
+    }),
+    // 如果按下了 F2 键
+    rule5({
+      isKeyF2,
+      _vm,
+      event,
+      selected
+    }),
+    // 如果按下了方向键
+    rule6({
+      isOperArrowKeys,
+      keyboardConfig,
+      _vm,
+      event,
+      selected
+    }),
+    // 如果按下了 Tab 键切换
+    rule7({
+      isKeyTab,
+      keyboardConfig,
+      _vm,
+      event,
+      selected,
+      actived
+    }),
+    // 如果是删除键
+    rule8({
+      isKeyDel,
+      treeConfig,
+      highlightCurrentRow,
+      currentRow,
+      isKeyBack,
+      keyboardConfig,
+      _vm,
+      event,
+      selected
+    }),
+    rule9({
+      keyboardConfig,
+      isKeyWithCtrl,
+      isKeyA,
+      isKeyX,
+      isKeyC,
+      isKeyV,
+      _vm,
+      event
+    }),
+    // 如果是按下非功能键之外允许直接编辑
+    rule10({
+      keyboardConfig,
+      isKeyWithCtrl,
+      _vm,
+      event,
+      selected
+    })
+  ];
+  for (var i = 0; i < rules.length; i++) {
+    if (rules[i].match()) {
+      return rules[i].action();
+    }
+  }
+}
+function handleGlobalMousedownEvent(event) {
+  var _this11 = this;
+  var $el = this.$el, ctxMenuStore = this.ctxMenuStore, _this$editConfig = this.editConfig, editConfig = _this$editConfig === void 0 ? {} : _this$editConfig, filterStore = this.filterStore;
+  var _this$$refs = this.$refs, filterWrapper = _this$$refs.filterWrapper, validTip = _this$$refs.validTip;
+  var actived = this.editStore.actived;
+  handleGlobalMousedownOnFilterWrapper({
+    $el,
+    _vm: this,
+    event,
+    filterStore,
+    filterWrapper
+  });
+  if (actived.row && !(editConfig.autoClear === false)) {
+    if (handleGlobalBlurOutside({
+      _vm: this,
+      actived,
+      event
+    })) {
+      return;
+    }
+    if (validTip && this.getEventTargetNode(event, validTip.$el).flag)
+      ;
+    else if (!this.lastCallTime || this.lastCallTime + 50 < Date.now()) {
+      this.preventEvent(event, "event.clear_actived", actived.args, function() {
+        var isClear;
+        var isReadonlyCol = !_this11.getEventTargetNode(event, $el, "col__edit").flag;
+        isClear = handleGlobalIsClear({
+          $el,
+          _vm: _this11,
+          actived,
+          editConfig,
+          event,
+          isClear,
+          isReadonlyCol
+        });
+        handleGlobalClearActived({
+          $el,
+          _vm: _this11,
+          event,
+          isClear
+        });
+      });
+    }
+  }
+  handleGlobalMousedownOnCtxMenu({
+    _vm: this,
+    ctxMenuStore,
+    event
+  });
+}
+function handleGlobalMousedownCaptureEvent(event) {
+  this.handleClearMouseChecked(event);
+}
+function handleGlobalBlurEvent() {
+  this.closeFilter();
+  this.closeMenu();
+}
+function handleGlobalMousewheelEvent(event) {
+  this.updateScrollLoadBar(event);
+  this.clostTooltip();
+  this.closeMenu();
+}
+function handleEscKeyDown(_ref156) {
+  var _this12 = this;
+  var event = _ref156.event, actived = _ref156.actived, mouseConfig = _ref156.mouseConfig;
+  this.closeMenu();
+  this.closeFilter();
+  if (actived.row) {
+    this.clearActived(event);
+    if (mouseConfig.selected) {
+      this.$nextTick(function() {
+        return _this12.handleSelected(actived.args, event);
+      });
+    }
+  }
+}
+function handleEnterKeyDown(_ref157) {
+  var _this13 = this;
+  var event = _ref157.event, selected = _ref157.selected, actived = _ref157.actived;
+  var highlightCurrentRow = this.highlightCurrentRow, currentRow = this.currentRow, treeConfig = this.treeConfig;
+  var isLeftArrow = event.keyCode === 37;
+  var isUpArrow = event.keyCode === 38;
+  var isRightArrow = event.keyCode === 39;
+  if (selected.row || actived.row) {
+    this.moveSelected({
+      args: selected.row ? selected.args : actived.args,
+      isLeftArrow,
+      isUpArrow,
+      isRightArrow,
+      isDwArrow: true,
+      event
+    });
+  } else if (treeConfig && highlightCurrentRow && currentRow) {
+    var childrens = currentRow[treeConfig.children];
+    if (childrens && childrens.length) {
+      event.preventDefault();
+      var targetRow = childrens[0];
+      this.setTreeExpansion(currentRow, true).then(function() {
+        return _this13.scrollToRow(targetRow);
+      }).then(function() {
+        return _this13.triggerCurrentRowEvent(event, {
+          $table: _this13,
+          row: targetRow
+        });
+      });
+    }
+  }
+}
+function handleCtxMenu(_ref158) {
+  var event = _ref158.event;
+  var ctxMenuStore = this.ctxMenuStore;
+  event.preventDefault();
+  if (ctxMenuStore.showChild && hasChildrenList(ctxMenuStore.selected)) {
+    this.moveCtxMenu({
+      event,
+      keyCode: event.keyCode,
+      ctxMenuStore,
+      property: "selectChild",
+      operKey: 37,
+      operRest: false,
+      menuList: ctxMenuStore.selected.children
+    });
+  } else {
+    this.moveCtxMenu({
+      event,
+      keyCode: event.keyCode,
+      ctxMenuStore,
+      property: "selected",
+      operKey: 39,
+      operRest: true,
+      menuList: this.ctxMenuList
+    });
+  }
+}
+function handleArrowKeyDown(_ref159) {
+  var event = _ref159.event, selected = _ref159.selected;
+  var highlightCurrentRow = this.highlightCurrentRow, currentRow = this.currentRow;
+  var isLeftArrow = event.keyCode === 37;
+  var isUpArrow = event.keyCode === 38;
+  var isRightArrow = event.keyCode === 39;
+  var isDownArrow = event.keyCode === 40;
+  if (selected.row && selected.column) {
+    this.moveSelected({
+      args: selected.args,
+      isLeftArrow,
+      isUpArrow,
+      isRightArrow,
+      isDownArrow,
+      event
+    });
+  } else if ((isUpArrow || isDownArrow) && highlightCurrentRow && currentRow) {
+    this.moveCurrentRow(isUpArrow, isDownArrow, event);
+  }
+}
+function handleDelKeyDown(_ref160) {
+  var _this14 = this;
+  var event = _ref160.event, selected = _ref160.selected;
+  var _this$keyboardConfig = this.keyboardConfig, keyboardConfig = _this$keyboardConfig === void 0 ? {} : _this$keyboardConfig, treeConfig = this.treeConfig, highlightCurrentRow = this.highlightCurrentRow, currentRow = this.currentRow;
+  var isBack = event.keyCode === 8;
+  if (keyboardConfig.isDel && (selected.row || selected.column)) {
+    setCellValue(selected.row, selected.column, null);
+    if (isBack) {
+      this.handleActived(selected.args, event);
+    }
+  } else if (isBack && keyboardConfig.isArrow && treeConfig && highlightCurrentRow && currentRow) {
+    var _findTree = findTree_default(this.afterFullData, function(item) {
+      return item === currentRow;
+    }, treeConfig), parentRow = _findTree.parent;
+    if (parentRow) {
+      event.preventDefault();
+      this.setTreeExpansion(parentRow, false).then(function() {
+        return _this14.scrollToRow(parentRow);
+      }).then(function() {
+        return _this14.triggerCurrentRowEvent(event, {
+          $table: _this14,
+          row: parentRow
+        });
+      });
+    }
+  }
+}
+function handleSpaceKeyDown(_ref161) {
+  var event = _ref161.event, selected = _ref161.selected;
+  event.preventDefault();
+  if (selected.column.type === "selection") {
+    this.handleToggleCheckRowEvent(selected.args, event);
+  } else {
+    this.triggerRadioRowEvent(event, selected.args);
+  }
+}
+function handleTabKeyDown(_ref162) {
+  var event = _ref162.event, selected = _ref162.selected, actived = _ref162.actived;
+  var isShiftKey = event.shiftKey;
+  var useTab = this.editConfig.useTab;
+  if (selected.row || selected.column) {
+    this.moveTabSelected(selected.args, isShiftKey, event, useTab);
+  } else if (actived.row || actived.column) {
+    this.moveTabSelected(actived.args, isShiftKey, event, useTab);
+  }
+}
+function handleCopyKeyDown(_ref163) {
+  var event = _ref163.event;
+  if (event.keyCode === 65) {
+    this.handleAllChecked(event);
+  } else if (event.keyCode === 88 || event.keyCode === 67) {
+    this.handleCopyed(event.keyCode === 88, event);
+  } else {
+    this.handlePaste(event);
+  }
+}
+function handleF2KeyDown(_ref164) {
+  var event = _ref164.event, selected = _ref164.selected;
+  if (selected.row && selected.column) {
+    event.preventDefault();
+    this.handleActived(selected.args, event);
+  }
+}
+function handleOtherKeyDown(_ref165) {
+  var event = _ref165.event, selected = _ref165.selected;
+  var _this$keyboardConfig2 = this.keyboardConfig, keyboardConfig = _this$keyboardConfig2 === void 0 ? {} : _this$keyboardConfig2;
+  var keyCode = event.keyCode;
+  var isOtherKey = checkOtherKey(keyCode);
+  if (isOtherKey && selected.column && selected.row && selected.column.editor && (!keyboardConfig.editMethod || !(keyboardConfig.editMethod(selected.args, event) === false))) {
+    setCellValue(selected.row, selected.column, null);
+    this.handleActived(selected.args, event);
+  }
+}
+function handleGlobalKeydownEvent(event) {
+  var _this15 = this;
+  this.preventEvent(event, "event.keydown", {
+    $table: this
+  }, function() {
+    onGlobalKeydown(event, _this15);
+  });
+}
+function handleGlobalResizeEvent() {
+  this.recalculate();
+}
+var run = function run2(names, $table) {
+  return names.forEach(function(name) {
+    return $table[name].apply($table);
+  });
+};
+var debounceScrollLoadDuration = 200;
+var AsyncCollectTimeout = 100;
+var sortMultiple = function sortMultiple2(rows, columns2, _vm) {
+  var greaterThan = function greaterThan2(valueP, valueQ) {
+    var typeP = typeof valueP;
+    var typeQ = typeof valueQ;
+    if (typeP === typeQ && ["number", "string", "boolean"].includes(typeP)) {
+      return valueP > valueQ;
+    } else {
+      return String(valueP) > String(valueQ);
+    }
+  };
+  var multipleColumnSort = _vm.sortOpts.multipleColumnSort;
+  if (typeof multipleColumnSort === "function") {
+    rows = multipleColumnSort({
+      $table: _vm,
+      tableData: rows,
+      sortColumns: columns2
+    });
+  } else {
+    rows = rows.sort(function(p, q) {
+      for (var i = 0; i < columns2.length; i++) {
+        var _columns$i = columns2[i], property2 = _columns$i.property, order = _columns$i.order;
+        var flag = order === "asc" ? 1 : -1;
+        var valueP = p[property2];
+        var valueQ = q[property2];
+        if (!Object.is(valueP, valueQ)) {
+          return greaterThan(valueP, valueQ) ? flag : -flag;
+        }
+      }
+      return 0;
+    });
+  }
+  return rows;
+};
+var buildCache = function buildCache2(tableData, treeConfig) {
+  if (treeConfig === void 0) {
+    treeConfig = {};
+  }
+  var backupMap = /* @__PURE__ */ new WeakMap();
+  var _ref166 = treeConfig || {}, children = _ref166.children, ordered = _ref166.ordered, _ref166$temporaryInde = _ref166.temporaryIndex, temporaryIndex = _ref166$temporaryInde === void 0 ? "_$index_" : _ref166$temporaryInde;
+  var isTreeOrderedFalse = treeConfig && !ordered;
+  var traverse = function traverse2(arr, rowLevel, parentIndex) {
+    var backup = [];
+    if (Array.isArray(arr) && arr.length > 0) {
+      arr.forEach(function(row22, rowIndex) {
+        var _extends4;
+        if (isTreeOrderedFalse) {
+          row22[temporaryIndex] = (parentIndex ? parentIndex + "." : "") + (rowIndex + 1);
+        }
+        var backupRow = clone_default(_extends$2({}, row22, (_extends4 = {}, _extends4[children] = null, _extends4)), true);
+        backup.push(backupRow);
+        backupMap.set(row22, backupRow);
+        if (row22[children]) {
+          backupRow[children] = traverse2(row22[children], rowLevel + 1, isTreeOrderedFalse ? row22[temporaryIndex] : "");
+        }
+      });
+    }
+    return backup;
+  };
+  var backupData = traverse(tableData, 0, "");
+  return {
+    backupData,
+    backupMap
+  };
+};
+var Methods$d = {
+  getParentElem: function getParentElem() {
+    var $el = this.$grid ? this.$grid.$el : this.$el;
+    return $el.parentNode;
+  },
+  updateParentHeight: function updateParentHeight() {
+    if (this.$grid) {
+      this.$grid.updateParentHeight();
+    } else {
+      this.parentHeight = this.getParentElem().clientHeight;
+    }
+  },
+  getParentHeight: function getParentHeight() {
+    return this.parentHeight;
+  },
+  clearAll: function clearAll(silent) {
+    run(["clearScroll", "clearSort", "clearCurrentRow", "clearCurrentColumn"], this);
+    run(["clearSelection", "clearRowExpand", "clearTreeExpand"], this);
+    if (GridAdapter._filter) {
+      this.clearFilter(silent);
+    }
+    if (this.keyboardConfig || this.mouseConfig) {
+      run(["clearIndexChecked", "clearHeaderChecked", "clearChecked", "clearSelected", "clearCopyed"], this);
+    }
+    return this.clearActived();
+  },
+  refreshData: function refreshData(data8) {
+    var _this16 = this;
+    var next2 = function next22() {
+      _this16.tableData = [];
+      return _this16.loadTableData(data8 || _this16.tableFullData);
+    };
+    return this.$nextTick().then(next2);
+  },
+  refreshStyle: function refreshStyle() {
+    var $el = this.$el, rowSpan = this.rowSpan, spanMethod = this.spanMethod;
+    if ($el && (rowSpan || spanMethod)) {
+      var transform = $el.style.transform;
+      var restore = function restore2() {
+        return setTimeout(function() {
+          $el.style.transform = transform;
+        });
+      };
+      $el.style.transform = "scale(0.99999)";
+      return this.$nextTick().then(restore);
+    }
+    return this.$nextTick();
+  },
+  updateData: function updateData() {
+    var _this17 = this;
+    return this.handleTableData(true).then(function() {
+      return _this17.updateFooter();
+    }).then(function() {
+      return _this17.recalculate();
+    });
+  },
+  // 处理表格数据(过滤,排序,虚拟滚动需要渲染数据的条数)
+  handleTableData: function handleTableData(force) {
+    force && this.updateAfterFullData();
+    this.tableData = sliceFullData(this);
+    run(["updateScrollStatus", "buildGroupData"], this);
+    return this.$nextTick();
+  },
+  // 全量加载表格数据
+  loadTableData: function loadTableData(datas, notRefresh) {
+    var _this18 = this;
+    var $refs = this.$refs, editStore = this.editStore, height2 = this.height, maxHeight = this.maxHeight, treeConfig = this.treeConfig;
+    var lastScrollLeft = this.lastScrollLeft, lastScrollTop = this.lastScrollTop;
+    var scrollY = this.optimizeOpts.scrollY;
+    var tableFullData = isArray(datas) ? datas.slice(0) : [];
+    var scrollYLoad = scrollY && scrollY.gt > 0 && scrollY.gt <= tableFullData.length;
+    editStore.insertList = [];
+    editStore.removeList = [];
+    Object.assign(this, {
+      tableFullData
+    });
+    this.updateCache(true);
+    var _buildCache = buildCache(tableFullData, treeConfig), backupData = _buildCache.backupData, backupMap = _buildCache.backupMap;
+    Object.assign(this, {
+      tableSynchData: datas,
+      tableSourceData: backupData,
+      backupMap,
+      scrollYLoad
+    });
+    if (scrollYLoad && !(height2 || maxHeight)) {
+      error("ui.grid.error.scrollYHeight");
+    }
+    if (!notRefresh) {
+      this.clearScroll();
+    }
+    this.handleTableData(true);
+    run(["reserveCheckSelection", "checkSelectionStatus"], this);
+    var first = function first2() {
+      return !notRefresh && _this18.recalculate();
+    };
+    var second = function second2() {
+      if (lastScrollLeft || lastScrollTop) {
+        return _this18.scrollTo(lastScrollLeft, lastScrollTop);
+      } else {
+        var headerElem = $refs.tableHeader ? $refs.tableHeader.$el : null;
+        headerElem && (headerElem.scrollLeft = 0);
+      }
+    };
+    return this.$nextTick().then(first).then(second);
+  },
+  // 重新加载数据
+  reloadData: function reloadData(datas) {
+    var _this19 = this;
+    return this.clearAll().then(function() {
+      return _this19.loadTableData(datas);
+    }).then(function() {
+      return _this19.handleDefault();
+    });
+  },
+  // 加载全量数据
+  loadData: function loadData(datas) {
+    var _this20 = this;
+    return new Promise(function(resolve) {
+      _this20.loadTableData(datas);
+      resolve();
+    }).then(this.recalculate);
+  },
+  reloadRow: function reloadRow(row22, record, field) {
+    var tableData = this.tableData, tableSourceData = this.tableSourceData;
+    var rowIndex = this.getRowIndex(row22);
+    var originRow = tableSourceData[rowIndex];
+    var hasSrc = originRow && row22;
+    var hasSrcNoField = hasSrc && !field;
+    if (hasSrc && field) {
+      set_default(originRow, field, get_default(record || row22, field));
+    }
+    if (hasSrcNoField && record) {
+      tableSourceData[rowIndex] = record;
+      clear_default(row22, void 0);
+      Object.assign(row22, this.defineField(_extends$2({}, record)));
+      this.updateCache(true);
+    }
+    if (hasSrcNoField && !record) {
+      destructuring_default(originRow, clone_default(row22, true));
+    }
+    this.tableData = tableData.slice(0);
+    return this.$nextTick();
+  },
+  // 从新加载列配置
+  reloadColumn: function reloadColumn(columns2) {
+    var _this21 = this;
+    return this.clearAll().then(function() {
+      return _this21.loadColumn(columns2);
+    });
+  },
+  loadColumn: function loadColumn(columns2) {
+    var _this22 = this;
+    return new Promise(function(resolve) {
+      _this22.collectColumn = mapTree_default(columns2, function(column) {
+        return CellDefault.createColumn(_this22, column);
+      }, headerProps);
+      resolve();
+    }).then(function() {
+      return _this22.$nextTick();
+    });
+  },
+  // 更新数据的 Map
+  updateCache: function updateCache(source) {
+    var _this23 = this;
+    var fullAllDataRowIdData = this.fullAllDataRowIdData, fullAllDataRowMap = this.fullAllDataRowMap, fullDataRowIdData = this.fullDataRowIdData, fullDataRowMap = this.fullDataRowMap, tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    var rowKey = getTableRowKey(this);
+    var buildRowCache = function buildRowCache2(row22, index230) {
+      var rowId = getRowid(_this23, row22);
+      if (!rowId) {
+        rowId = getRowUniqueId();
+        set_default(row22, rowKey, rowId);
+      }
+      var rowCache = {
+        row: row22,
+        rowid: rowId,
+        index: index230
+      };
+      if (source) {
+        fullDataRowIdData[rowId] = rowCache;
+        fullDataRowMap.set(row22, rowCache);
+      }
+      fullAllDataRowIdData[rowId] = rowCache;
+      fullAllDataRowMap.set(row22, rowCache);
+    };
+    var clearCache = function clearCache2() {
+      fullAllDataRowIdData = {};
+      _this23.fullAllDataRowIdData = fullAllDataRowIdData;
+      fullAllDataRowMap.clear();
+      if (source) {
+        fullDataRowIdData = {};
+        _this23.fullDataRowIdData = fullDataRowIdData;
+        fullDataRowMap.clear();
+      }
+    };
+    clearCache();
+    if (treeConfig) {
+      eachTree_default(tableFullData, buildRowCache, treeConfig);
+    } else {
+      tableFullData.forEach(buildRowCache);
+    }
+  },
+  // 更新列的 Map
+  cacheColumnMap: function cacheColumnMap() {
+    var fullColumnMap = this.fullColumnMap, fullColumn = this.tableFullColumn;
+    var fullColumnIdData = {};
+    this.fullColumnIdData = fullColumnIdData;
+    Map.prototype.clear.apply(fullColumnMap);
+    fullColumn.forEach(function(column, index230) {
+      var colCache = {
+        colid: column.id,
+        column,
+        index: index230
+      };
+      fullColumnIdData[column.id] = colCache;
+      fullColumnMap.set(column, colCache);
+    });
+  },
+  // 通过tr的dom元素获取行数据等相关信息
+  getRowNode: function getRowNode(tr) {
+    var _this24 = this;
+    if (!tr) {
+      return null;
+    }
+    var fullAllDataRowIdData = this.fullAllDataRowIdData, tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    var dataRowid = tr.getAttribute("data-rowid");
+    if (treeConfig) {
+      var matches = findTree_default(tableFullData, function(row22) {
+        return getRowid(_this24, row22) === dataRowid;
+      }, treeConfig);
+      if (matches) {
+        return matches;
+      }
+    } else {
+      if (fullAllDataRowIdData[dataRowid]) {
+        var rowCache = fullAllDataRowIdData[dataRowid];
+        return {
+          item: rowCache.row,
+          index: rowCache.index,
+          items: tableFullData
+        };
+      }
+    }
+    return null;
+  },
+  getColumnNode: function getColumnNode(cell) {
+    if (!cell) {
+      return null;
+    }
+    var isGroup2 = this.isGroup, fullColumnIdData = this.fullColumnIdData, tableFullColumn = this.tableFullColumn;
+    var dataColid = cell.getAttribute("data-colid");
+    var colCache = fullColumnIdData == null ? void 0 : fullColumnIdData[dataColid];
+    if (isGroup2) {
+      var matches = findTree_default(tableFullColumn, function(column) {
+        return column.id === dataColid;
+      }, headerProps);
+      if (matches) {
+        return matches;
+      }
+    } else if (colCache) {
+      return {
+        index: colCache.index,
+        item: colCache.column,
+        items: tableFullColumn
+      };
+    }
+    return null;
+  },
+  getRowIndex: function getRowIndex(row22) {
+    var fullDataRowMap = this.fullDataRowMap;
+    return fullDataRowMap.has(row22) ? fullDataRowMap.get(row22).index : -1;
+  },
+  getColumnIndex: function getColumnIndex(column) {
+    var fullColumnMap = this.fullColumnMap;
+    return fullColumnMap.has(column) ? fullColumnMap.get(column).index : -1;
+  },
+  hasIndexColumn: function hasIndexColumn(column) {
+    return column && column.type === "index";
+  },
+  defineField: function defineField(row22, copy) {
+    if (!row22 || typeof row22 !== "object") {
+      return row22;
+    }
+    if (copy) {
+      row22 = clone_default(row22, true);
+    }
+    var visibleColumn = this.visibleColumn;
+    var rowKey = getTableRowKey(this);
+    visibleColumn.forEach(function(_ref167) {
+      var property2 = _ref167.property, editor = _ref167.editor;
+      var propNotExist = property2 && !has_default(row22, property2);
+      var propDefaultValue = editor && !isUndefined_default(editor.defaultValue) ? editor.defaultValue : null;
+      if (propNotExist) {
+        set_default(row22, property2, propDefaultValue);
+      }
+    });
+    if (!get_default(row22, rowKey)) {
+      set_default(row22, rowKey, getRowUniqueId());
+    }
+    return row22;
+  },
+  isTemporaryRow: function isTemporaryRow(row22) {
+    var _this25 = this;
+    var rowid2 = getRowid(this, row22);
+    return find_default(this.temporaryRows, function(r) {
+      return rowid2 === getRowid(_this25, r);
+    });
+  },
+  createData: function createData(records, copy) {
+    var _this26 = this;
+    var isArr = isArray(records);
+    if (!isArr) {
+      records = [records];
+    }
+    var tmp = records.map(function(record) {
+      return _this26.defineField(record, copy);
+    });
+    return new Promise(function(resolve) {
+      resolve(isArr ? tmp : tmp[0]);
+    });
+  },
+  createRow: function createRow(records) {
+    return this.createData(records, true);
+  },
+  /*
+   * 清空单元格内容:
+   * 如果不传参数,则清空整个表格内容;
+   * 如果传row,则清空一行内容;
+   * 如果传rows,则清空多行内容;
+   * 如果还额外传了field,则清空指定单元格内容;
+   */
+  clearData: function clearData(rows, field) {
+    var _this27 = this;
+    rows = !arguments.length ? this.tableFullData : rows && !isArray(rows) ? [rows] : rows;
+    rows.forEach(function(row22) {
+      if (field) {
+        set_default(row22, field, null);
+      } else {
+        _this27.visibleColumn.forEach(function(column) {
+          column.property && setCellValue(row22, column, null);
+        });
+      }
+    });
+    return this.$nextTick();
+  },
+  hasRowInsert: function hasRowInsert(row22) {
+    return ~this.editStore.insertList.indexOf(row22);
+  },
+  compareRow: function compareRow(row22, originalRow, field) {
+    var value = get_default(row22, field);
+    var originalValue = get_default(originalRow, field);
+    var column = this.getColumnByField(field);
+    var equals = column.equals || this.equals;
+    var result;
+    if (equals) {
+      result = equals({
+        value,
+        originalValue,
+        field,
+        row: row22,
+        originalRow,
+        column,
+        $table: this
+      });
+    }
+    if (typeof result !== "boolean") {
+      result = isEqual_default(originalValue, value);
+    }
+    return result;
+  },
+  hasRowChange: function hasRowChange(row22, field) {
+    var _this28 = this;
+    var tableSourceData = this.tableSourceData, treeConfig = this.treeConfig, visibleColumn = this.visibleColumn, backupMap = this.backupMap;
+    var argsLength = arguments.length;
+    var rowId = getRowid(this, row22);
+    var originRow;
+    if (this.isTemporaryRow(row22)) {
+      return false;
+    }
+    if (treeConfig) {
+      var _extends5;
+      var children = treeConfig.children;
+      var cacheRow = backupMap.get(row22);
+      row22 = _extends$2({}, row22, (_extends5 = {}, _extends5[children] = null, _extends5));
+      if (cacheRow) {
+        var _extends6;
+        originRow = _extends$2({}, cacheRow, (_extends6 = {}, _extends6[children] = null, _extends6));
+      }
+    } else {
+      originRow = find_default(tableSourceData, function(item) {
+        return rowId === getRowid(_this28, item);
+      });
+    }
+    if (originRow) {
+      if (argsLength > 1) {
+        return !this.compareRow(row22, originRow, field);
+      }
+      for (var i = 0; i < visibleColumn.length; i++) {
+        var property2 = visibleColumn[i].property;
+        if (property2 && !this.compareRow(row22, originRow, property2)) {
+          return true;
+        }
+      }
+    }
+    return false;
+  },
+  // 获取表格所有列
+  getColumns: function getColumns(columnIndex) {
+    var columns2 = this.visibleColumn;
+    var argsLength = arguments.length;
+    return argsLength ? columns2[columnIndex] : columns2.slice(0);
+  },
+  getColumnById: function getColumnById(colid) {
+    var fullColumnIdData = this.fullColumnIdData;
+    var colCache = fullColumnIdData[colid];
+    return colCache ? colCache.column : null;
+  },
+  getColumnByField: function getColumnByField(field) {
+    var columns2 = this.visibleColumn;
+    return typeof field === "string" && field ? find_default(columns2, function(column) {
+      return column.property === field;
+    }) : null;
+  },
+  // 获取当前表格的列(完整的全量表头列、处理条件之后的全量表头列、当前渲染中的表头列)
+  getTableColumn: function getTableColumn() {
+    var collectColumn2 = this.collectColumn, tableColumn3 = this.tableColumn, tableFullColumn = this.tableFullColumn, visibleColumn = this.visibleColumn;
+    return {
+      fullColumn: tableFullColumn.slice(0),
+      visibleColumn: visibleColumn.slice(0),
+      tableColumn: tableColumn3.slice(0),
+      collectColumn: collectColumn2.slice(0)
+    };
+  },
+  // 获取表格所有数据
+  getData: function getData(rowIndex) {
+    var tableSynchData = this.data || this.tableSynchData;
+    if (!tableSynchData) {
+      return tableSynchData;
+    }
+    if (!arguments.length) {
+      return tableSynchData.slice(0);
+    }
+    if (typeof rowIndex === "number" && rowIndex > -1) {
+      return tableSynchData[rowIndex];
+    }
+    return void 0;
+  },
+  // 获取选中数据。notCopy为true不返回数据副本,表格内部要继续处理其返回值时设置为true
+  getSelectRecords: function getSelectRecords(notCopy) {
+    var _this$selectConfig = this.selectConfig, selectConfig = _this$selectConfig === void 0 ? {} : _this$selectConfig, selection = this.selection;
+    var tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    var checkField = selectConfig.checkField;
+    var _ref168 = {}, _ref168$rowList = _ref168.rowList, rowList = _ref168$rowList === void 0 ? [] : _ref168$rowList;
+    if (checkField && treeConfig) {
+      rowList = filterTree_default(tableFullData, function(row22) {
+        return get_default(row22, checkField);
+      }, treeConfig);
+    }
+    if (checkField && !treeConfig) {
+      rowList = tableFullData.filter(function(row22) {
+        return get_default(row22, checkField);
+      });
+    }
+    if (!checkField && treeConfig) {
+      rowList = filterTree_default(tableFullData, function(row22) {
+        return ~selection.indexOf(row22);
+      }, treeConfig);
+    }
+    if (!checkField && !treeConfig) {
+      rowList = tableFullData.filter(function(row22) {
+        return ~selection.indexOf(row22);
+      });
+    }
+    return notCopy ? rowList : clone_default(rowList, true);
+  },
+  // 对数据进行筛选和排序,获取处理后数据。服务端筛选和排序,在接口调用时已传入参数
+  updateAfterFullData: function updateAfterFullData() {
+    var _this29 = this;
+    var remoteFilter = this.remoteFilter, remoteSort = this.remoteSort, tableFullData = this.tableFullData, visibleColumn = this.visibleColumn, sortOpts2 = this.sortOpts;
+    var tableData = tableFullData;
+    var sortColumn = find_default(visibleColumn, function(column) {
+      return column.order;
+    });
+    var filterColumn = visibleColumn.filter(function(_ref169) {
+      var filter2 = _ref169.filter;
+      return !!filter2;
+    });
+    var doTableSort = function doTableSort2() {
+      var order = sortColumn.order, property2 = sortColumn.property;
+      var params = {
+        $table: _this29,
+        column: sortColumn,
+        data: tableData,
+        order,
+        property: property2
+      };
+      tableData = _this29.sortMethod(params) || tableData;
+    };
+    var doColumnSort = function doColumnSort2() {
+      var sortedFlag = false;
+      if (sortOpts2.multipleColumnSort) {
+        var sortColumns = visibleColumn.filter(function(_ref170) {
+          var order = _ref170.order;
+          return !!order;
+        });
+        if (sortColumns.length > 1) {
+          tableData = sortMultiple(tableData, sortColumns, _this29);
+          sortedFlag = true;
+        }
+      }
+      if (!sortedFlag) {
+        var columnSortMethod = sortColumn.sortMethod;
+        var sorted = columnSortMethod ? tableData.sort(columnSortMethod) : sortBy_default(tableData, sortColumn.sortBy ? sortColumn.sortBy : sortColumn.property);
+        tableData = sortColumn.order === "desc" ? sorted.reverse() : sorted;
+      }
+    };
+    tableData = tableData.filter(function(row22) {
+      return filterColumn.every(function(column) {
+        return remoteFilter ? true : _this29.handleLocalFilter(row22, column);
+      });
+    });
+    if (sortColumn && sortColumn.order) {
+      var isRemote = isBoolean_default(sortColumn.remoteSort) ? sortColumn.remoteSort : remoteSort;
+      !isRemote && this.sortMethod && doTableSort();
+      !isRemote && !this.sortMethod && doColumnSort();
+    }
+    this.afterFullData = tableData;
+    setTreeScrollYCache(this);
+    return tableData;
+  },
+  // 组装表格分组映射表
+  buildGroupData: function buildGroupData() {
+    var _this30 = this;
+    var rowGroup = this.rowGroup, tableData = this.tableData;
+    Object.assign(this, {
+      groupData: {},
+      groupFolds: []
+    });
+    if (!rowGroup) {
+      return;
+    }
+    var _ref171 = {}, _ref171$groups = _ref171.groups, groups = _ref171$groups === void 0 ? {} : _ref171$groups, _ref171$current = _ref171.current, current = _ref171$current === void 0 ? "" : _ref171$current;
+    tableData.forEach(function(row22, rowIndex) {
+      var rowid2 = getRowid(_this30, row22);
+      var field = rowGroup.field;
+      var prevRow = tableData[rowIndex - 1];
+      if (!prevRow || prevRow[field] !== row22[field]) {
+        current = rowid2;
+        groups[rowid2] = {
+          fold: false,
+          children: [row22]
+        };
+      } else {
+        groups[current].children.push(row22);
+      }
+    });
+    this.groupData = groups;
+  },
+  getRowById: function getRowById(rowid2) {
+    var fullDataRowIdData = this.fullDataRowIdData;
+    var rowCache = fullDataRowIdData[rowid2];
+    return rowCache ? rowCache.row : null;
+  },
+  // 获取处理后的表格数据
+  getTableData: function getTableData() {
+    var afterFullData = this.afterFullData, footerData = this.footerData, tableData = this.tableData, tableFullData = this.tableFullData;
+    return {
+      visibleData: afterFullData.slice(0),
+      footerData: footerData.slice(0),
+      tableData: tableData.slice(0),
+      fullData: tableFullData.slice(0)
+    };
+  },
+  handleDefault: function handleDefault() {
+    var _this31 = this;
+    this.handleAsyncColumn(this.tableData);
+    this.selectConfig && this.handleSelectionDefChecked();
+    this.radioConfig && this.handleRadioDefChecked();
+    this.expandConfig && this.handleDefaultRowExpand();
+    this.treeConfig && this.handleDefaultTreeExpand();
+    this.updateFooter();
+    this.$nextTick(function() {
+      return setTimeout(_this31.recalculate);
+    });
+  },
+  // 动态列处理
+  mergeCustomColumn: function mergeCustomColumn(customColumns, sort2, colWidth) {
+    var isGroup2 = this.isGroup, fullColumn = this.tableFullColumn;
+    var mergeWidth = function mergeWidth2(col) {
+      return colWidth && Object.assign(col, colWidth[col.property]);
+    };
+    var getCustomCol = function getCustomCol2(col) {
+      return findTree_default(customColumns, function(item) {
+        return col.property && item.property === col.property;
+      });
+    };
+    var hasCustomsOrColWidth = customColumns.length || colWidth;
+    var isGroupOrNonSort = isGroup2 || !sort2;
+    var matches;
+    this.isUpdateCustoms = true;
+    if (hasCustomsOrColWidth && isGroupOrNonSort) {
+      fullColumn.forEach(function(column) {
+        mergeWidth(column);
+        matches = getCustomCol(column);
+        matches && Object.assign(column, matches.item);
+      });
+    }
+    if (hasCustomsOrColWidth && !isGroupOrNonSort) {
+      var _ref172 = {}, _ref172$collectColumn = _ref172.collectColumn, collectColumn2 = _ref172$collectColumn === void 0 ? [] : _ref172$collectColumn, _ref172$customMap = _ref172.customMap, customMap = _ref172$customMap === void 0 ? {} : _ref172$customMap, _ref172$orderColumn = _ref172.orderColumn, orderColumn = _ref172$orderColumn === void 0 ? [] : _ref172$orderColumn;
+      mapTree_default(customColumns, function(customCol) {
+        var targetCol = find_default(fullColumn, function(item) {
+          return customCol.property && item.property === customCol.property;
+        });
+        if (targetCol) {
+          Object.assign(targetCol, customCol);
+          customMap[customCol.property] = targetCol;
+          orderColumn.push(targetCol);
+        }
+      });
+      fullColumn.forEach(function(col) {
+        var newColumn = customMap[col.property] ? orderColumn.shift() : col;
+        if (newColumn) {
+          mergeWidth(newColumn);
+          collectColumn2.push(newColumn);
+        }
+      });
+      this.collectColumn = collectColumn2;
+    }
+    this.$emit("update:customs", fullColumn);
+  },
+  resetAll: function resetAll() {
+    run(["resetCustoms", "resetResizable"], this);
+  },
+  hideColumn: function hideColumn(tableColumn3) {
+    return this.handleVisibleColumn(tableColumn3, false);
+  },
+  showColumn: function showColumn(tableColumn3) {
+    return this.handleVisibleColumn(tableColumn3, true);
+  },
+  resetCustoms: function resetCustoms() {
+    return this.handleVisibleColumn();
+  },
+  handleVisibleColumn: function handleVisibleColumn(tableColumn3, visible3) {
+    var _arguments = arguments;
+    var tableFullColumn = this.tableFullColumn;
+    var toolbarVm = this.getVm("toolbar");
+    var columns2 = arguments.length ? [tableColumn3] : tableFullColumn;
+    columns2.forEach(function(column) {
+      column.visible = _arguments.length ? visible3 : true;
+    });
+    if (toolbarVm) {
+      toolbarVm.updateSetting();
+    }
+    return this.$nextTick();
+  },
+  // 初始化加载动态列:customColumns 列信息,sort 是否按顺序加载
+  reloadCustoms: function reloadCustoms(customColumns, sort2, colWidth) {
+    var _this32 = this;
+    var first = function first2() {
+      _this32.mergeCustomColumn(customColumns, sort2, colWidth);
+    };
+    var second = function second2() {
+      _this32.handleTableData(true);
+    };
+    var third = function third2() {
+      return _this32.refreshColumn().then(function() {
+        return _this32.tableFullColumn.slice(0);
+      });
+    };
+    return this.$nextTick().then(first).then(second).then(third);
+  },
+  watchColumn: function watchColumn(value) {
+    var customs2 = this.customs, treeConfig = this.treeConfig;
+    var toolbarVm = this.getVm("toolbar");
+    var fullColumn = getColumnList(value);
+    setSliceColumnTree(this);
+    this.tableFullColumn = fullColumn;
+    this.cacheColumnMap();
+    if (!this.isColumnInitReady) {
+      this.isColumnInitReady = true;
+      customs2 && this.mergeCustomColumn(customs2);
+      this.$emit("column-init-ready");
+    }
+    this.refreshColumn();
+    if (this.remoteFilter) {
+      this.$grid.filterData = this.getAllFilter();
+    }
+    if (!this.isColumnReady) {
+      this.isColumnReady = true;
+      this.$emit("column-ready");
+    }
+    this.handleTableData(true);
+    if (toolbarVm) {
+      toolbarVm.updateColumn(fullColumn);
+    }
+    if (treeConfig && fullColumn.some(function(column) {
+      return column.fixed;
+    }) && fullColumn.some(function(column) {
+      return column.type === "expand";
+    })) {
+      warn$1("ui.grid.error.treeFixedExpand");
+    }
+  },
+  /*
+   * 刷新列信息
+   * 将固定的列左边、右边分别靠边
+   * 如果使用了分组表头,固定列必须在左侧或者右侧
+   */
+  refreshColumn: function refreshColumn() {
+    var _this33 = this;
+    var leftList = [], centerList = [], rightList = [];
+    var letIndex = 0, leftStartIndex = null, rightEndIndex = null, isColspan = void 0;
+    var columnStore = this.columnStore, isGroup2 = this.isGroup;
+    var scrollXStore = this.scrollXStore, tableFullColumn = this.tableFullColumn;
+    var scrollX = this.optimizeOpts.scrollX;
+    onGroupHeader({
+      _vm: this,
+      isGroup: isGroup2,
+      headerProps
+    });
+    tableFullColumn.filter(function(column) {
+      return column.visible;
+    }).forEach(function(column, columnIndex) {
+      var ret = reassignFixedLeft({
+        column,
+        columnIndex,
+        isColspan,
+        leftList,
+        leftStartIndex,
+        letIndex
+      });
+      leftStartIndex = ret.leftStartIndex;
+      letIndex = ret.letIndex;
+      isColspan = ret.isColspan;
+      ret = reassignFixedRight({
+        column,
+        columnIndex,
+        isColspan,
+        rightEndIndex,
+        rightList
+      });
+      isColspan = ret.isColspan;
+      rightEndIndex = ret.rightEndIndex;
+      reassignNotFixed({
+        centerList,
+        column
+      });
+    });
+    var visibleColumn = leftList.concat(centerList).concat(rightList);
+    var scrollXLoad = scrollX && scrollX.gt && scrollX.gt < tableFullColumn.length;
+    var tableColumn3 = visibleColumn;
+    Object.assign(columnStore, {
+      leftList,
+      centerList,
+      rightList
+    });
+    showGroupFixedError({
+      isColspan,
+      isGroup: isGroup2,
+      leftStartIndex,
+      rightEndIndex,
+      visibleColumn
+    });
+    tableColumn3 = onScrollXLoad({
+      _vm: this,
+      scrollX,
+      scrollXLoad,
+      scrollXStore,
+      tableColumn: tableColumn3,
+      visibleColumn
+    });
+    this.scrollXLoad = scrollXLoad;
+    this.tableColumn = tableColumn3;
+    this.visibleColumn = visibleColumn;
+    this.visibleColumnChanged = true;
+    this.columnAnchor && this.$grid.buildColumnAnchorParams();
+    return this.$nextTick().then(function() {
+      _this33.updateFooter();
+      _this33.recalculate();
+    });
+  },
+  // 指定列宽的列进行拆分
+  analyColumnWidth: function analyColumnWidth() {
+    var columnMinWidth = this.columnMinWidth, columnStore = this.columnStore, columnWidth = this.columnWidth, tableFullColumn = this.tableFullColumn;
+    var autoList = [], pxList = [], pxMinList = [], resizeList = [], scaleList = [], scaleMinList = [];
+    var ruleChains = [{
+      match: function match(col) {
+        return col.resizeWidth;
+      },
+      action: function action(col) {
+        return resizeList.push(col);
+      }
+    }, {
+      match: function match(col) {
+        return isPx(col.width);
+      },
+      action: function action(col) {
+        return pxList.push(col);
+      }
+    }, {
+      match: function match(col) {
+        return isScale(col.width);
+      },
+      action: function action(col) {
+        return scaleList.push(col);
+      }
+    }, {
+      match: function match(col) {
+        return isPx(col.minWidth);
+      },
+      action: function action(col) {
+        return pxMinList.push(col);
+      }
+    }, {
+      match: function match(col) {
+        return isScale(col.minWidth);
+      },
+      action: function action(col) {
+        return scaleMinList.push(col);
+      }
+    }, {
+      match: function match() {
+        return true;
+      },
+      action: function action(col) {
+        return autoList.push(col);
+      }
+    }];
+    for (var i = 0; i < tableFullColumn.length; i++) {
+      var column = tableFullColumn[i];
+      columnWidth && !column.width && (column.width = columnWidth);
+      columnMinWidth && !column.minWidth && (column.minWidth = columnMinWidth);
+      if (column.visible) {
+        for (var j = 0; j < ruleChains.length; j++) {
+          var ruleChain = ruleChains[j];
+          if (ruleChain.match(column)) {
+            ruleChain.action(column);
+            break;
+          }
+        }
+      }
+    }
+    Object.assign(columnStore, {
+      autoList,
+      pxList,
+      pxMinList,
+      resizeList,
+      scaleList,
+      scaleMinList
+    });
+  },
+  /**
+   * 计算单元格列宽,动态分配可用剩余空间
+   * 支持(width=?、width=?px、width=?%、min-width=?、min-width=?px、min-width=?%)
+   */
+  recalculate: function recalculate() {
+    var _this34 = this;
+    var mainBody = this.elemStore["main-body-wrapper"];
+    if (isDisplayNone(mainBody)) {
+      return;
+    }
+    var scrollXLoad = this.scrollXLoad, scrollYLoad = this.scrollYLoad, scrollLoad = this.scrollLoad;
+    var _this$$refs2 = this.$refs, tableBody = _this$$refs2.tableBody, tableFooter = _this$$refs2.tableFooter, tableHeader = _this$$refs2.tableHeader;
+    var getElem = function getElem2(ref2) {
+      return ref2 ? ref2.$el : null;
+    };
+    var headerElem = getElem(tableHeader);
+    var bodyElem = getElem(tableBody);
+    var footerElem = getElem(tableFooter);
+    if (!bodyElem) {
+      return this.computeScrollLoad();
+    }
+    this.autoCellWidth(headerElem, bodyElem, footerElem);
+    if (scrollXLoad || scrollYLoad || scrollLoad) {
+      return this.computeScrollLoad().then(function() {
+        _this34.autoCellWidth(headerElem, bodyElem, footerElem);
+      });
+    }
+    return this.computeScrollLoad();
+  },
+  // 列宽计算
+  autoCellWidth: function autoCellWidth(headerEl, bodyEl, footerEl) {
+    var _this$$grid2, _this$$grid2$designCo;
+    var minCellWidth = ((_this$$grid2 = this.$grid) == null ? void 0 : (_this$$grid2$designCo = _this$$grid2.designConfig) == null ? void 0 : _this$$grid2$designCo.minWidth) || 40;
+    var fit = this.fit, columnStore = this.columnStore, columnChart = this.columnChart, isGroup2 = this.isGroup;
+    var tableHeight = bodyEl.offsetHeight;
+    var overflowY = bodyEl.scrollHeight > bodyEl.clientHeight;
+    var bodyW = bodyEl.clientWidth;
+    var leftList = columnStore.leftList, rightList = columnStore.rightList;
+    var tableWidth = calcTableWidth({
+      bodyWidth: bodyW,
+      columnStore,
+      fit,
+      minCellWidth,
+      remainWidth: bodyW
+    });
+    var scrollbarWidth = overflowY ? bodyEl.offsetWidth - bodyW : 0;
+    var parentHeight2 = this.parentHeight;
+    calcFixedStickyPosition({
+      headerEl,
+      bodyEl,
+      columnStore,
+      scrollbarWidth,
+      columnChart,
+      isGroup: isGroup2
+    });
+    Object.assign(this, {
+      overflowY,
+      parentHeight: parentHeight2,
+      scrollbarWidth,
+      tableHeight,
+      tableWidth
+    });
+    if (headerEl) {
+      this.headerHeight = headerEl.offsetHeight;
+    }
+    if (footerEl) {
+      var footerHeight = footerEl.offsetHeight;
+      this.scrollbarHeight = Math.max(footerHeight - footerEl.clientHeight, 0);
+      this.overflowX = tableWidth > footerEl.clientWidth;
+      this.footerHeight = footerHeight;
+    } else {
+      this.scrollbarHeight = Math.max(tableHeight - bodyEl.clientHeight, 0);
+      this.overflowX = tableWidth > bodyW;
+    }
+    if (leftList.length || rightList.length) {
+      generateFixedClassName({
+        $table: this,
+        bodyElem: bodyEl,
+        leftList,
+        rightList
+      });
+    }
+  },
+  // 同步headerHeight
+  syncHeaderHeight: function syncHeaderHeight() {
+    var _this$$refs$tableHead;
+    var headerEl = (_this$$refs$tableHead = this.$refs.tableHeader) == null ? void 0 : _this$$refs$tableHead.$el;
+    if (headerEl)
+      this.headerHeight = headerEl.offsetHeight;
+  },
+  resetResizable: function resetResizable() {
+    var toolbarVm = this.getVm("toolbar");
+    this.visibleColumn.forEach(function(col) {
+      return col.resizeWidth = 0;
+    });
+    if (toolbarVm) {
+      toolbarVm.resetResizable();
+    }
+    this.analyColumnWidth();
+    return this.recalculate();
+  },
+  updateStyle: function updateStyle() {
+    var _this35 = this;
+    this.updateParentHeight();
+    var columnStore = this.columnStore, currentRow = this.currentRow, height2 = this.height, maxHeight = this.maxHeight, minHeight = this.minHeight, parentHeight2 = this.parentHeight, tableColumn3 = this.tableColumn, scrollbarWidth = this.scrollbarWidth;
+    var scrollYLoad = this.scrollYLoad, scrollXLoad = this.scrollXLoad, scrollLoad = this.scrollLoad;
+    var layoutList = ["header", "body", "footer"];
+    var _ref173 = {}, customHeight = _ref173.customHeight, scaleToPx = _ref173.scaleToPx;
+    var _this$$refs3 = this.$refs, tableBody = _this$$refs3.tableBody, tableHeader = _this$$refs3.tableHeader;
+    var getElem = function getElem2(ref2) {
+      return ref2 ? ref2.$el : null;
+    };
+    var headerEl = getElem(tableHeader);
+    var bodyEl = getElem(tableBody);
+    if (height2 === "auto") {
+      customHeight = parentHeight2;
+    } else {
+      scaleToPx = Math.floor(parseInt(height2) / 100 * parentHeight2);
+      customHeight = isScale(height2) ? scaleToPx : toNumber_default(height2);
+    }
+    layoutList.forEach(function(layout) {
+      var args1 = {
+        _vm: _this35,
+        columnStore,
+        customHeight
+      };
+      var args2 = {
+        layout,
+        maxHeight,
+        minHeight,
+        parentHeight: parentHeight2,
+        tableColumn: tableColumn3
+      };
+      var ret = handleLayout(Object.assign(args1, args2));
+      tableColumn3 = ret.tableColumn;
+      maxHeight = ret.maxHeight;
+      minHeight = ret.minHeight;
+    });
+    currentRow && this.setCurrentRow(currentRow);
+    this.syncHeaderHeight();
+    return this.$nextTick(function() {
+      var leftList = columnStore.leftList, rightList = columnStore.rightList;
+      if ((leftList.length || rightList.length) && (scrollYLoad || scrollXLoad || scrollLoad)) {
+        calcFixedStickyPosition({
+          headerEl,
+          bodyEl,
+          columnStore,
+          scrollbarWidth
+        });
+      }
+      return true;
+    });
+  },
+  preventEvent: function preventEvent(event, type, args, next2, end) {
+    var _this36 = this;
+    var eventList = interceptor_default.get(type);
+    if (!eventList.some(function(listener) {
+      return listener(args, event, _this36) === false;
+    })) {
+      next2 && next2();
+    }
+    end && end();
+  },
+  blurOutside: function blurOutside(_ref174, event) {
+    var _this37 = this;
+    var row22 = _ref174.row, args = _ref174.args, column = _ref174.column;
+    if (column && row22) {
+      var editor = column.editor;
+      if (typeof editor.blurOutside === "function") {
+        return !!editor.blurOutside({
+          cell: args.cell,
+          event
+        });
+      }
+      var blurClassConfig = editor.blurClass || this.editConfig.blurClass;
+      if (blurClassConfig) {
+        var blurClass = [];
+        if (typeof blurClassConfig === "string") {
+          blurClass.push(blurClassConfig);
+        } else if (isArray(blurClassConfig)) {
+          blurClass = blurClassConfig.slice(0);
+        }
+        return args.cell && args.cell.contains(event.target) || blurClass.some(function(cls) {
+          return !_this37.getEventTargetNode(event, document.body, cls).flag;
+        });
+      }
+    }
+  },
+  handleGlobalMousedownEvent,
+  handleGlobalBlurEvent,
+  handleGlobalMousewheelEvent,
+  handleEscKeyDown,
+  handleEnterKeyDown,
+  handleCtxMenu,
+  handleArrowKeyDown,
+  handleDelKeyDown,
+  handleSpaceKeyDown,
+  handleTabKeyDown,
+  handleCopyKeyDown,
+  handleF2KeyDown,
+  handleOtherKeyDown,
+  handleGlobalKeydownEvent,
+  handleGlobalResizeEvent,
+  handleGlobalMousedownCaptureEvent,
+  // 处理单选框默认勾选
+  handleRadioDefChecked: function handleRadioDefChecked() {
+    var fullDataRowIdData = this.fullDataRowIdData;
+    var _ref175 = this.radioConfig || {}, checkRowKey = _ref175.checkRowKey;
+    var rowid2 = checkRowKey && encodeURIComponent(checkRowKey);
+    var rowCache = fullDataRowIdData[rowid2];
+    if (rowid2 && rowCache) {
+      this.setRadioRow(rowCache.row);
+    }
+  },
+  // 单选,行选中事件
+  triggerRadioRowEvent: function triggerRadioRowEvent(event, params) {
+    var selectRow = this.selectRow;
+    var _ref176 = this.radioConfig || {}, checkMethod = _ref176.checkMethod;
+    if (checkMethod && !checkMethod(params)) {
+      return;
+    }
+    this.setRadioRow(params.row);
+    this.setCurrentRow(params.row);
+    if (selectRow !== params.row) {
+      emitEvent$1(this, "radio-change", [params, event]);
+    }
+  },
+  triggerCurrentRowEvent: function triggerCurrentRowEvent(event, params) {
+    var currentRow = this.currentRow;
+    this.setCurrentRow(params.row);
+    if (currentRow !== params.row) {
+      emitEvent$1(this, "current-change", [params, event]);
+    }
+  },
+  // 高亮行,设置某一行为高亮状态,如果调不加参数,则会取消目前高亮行的选中状态
+  setCurrentRow: function setCurrentRow(row22) {
+    run(["clearCurrentRow", "clearCurrentColumn"], this);
+    this.currentRow = row22;
+    if (this.highlightCurrentRow) {
+      var rowElems = this.$el.querySelectorAll('[data-rowid="' + getRowid(this, row22) + '"]');
+      arrayEach_default(rowElems, function(elem) {
+        return addClass(elem, "row__current");
+      });
+    }
+    return this.$nextTick();
+  },
+  setRadioRow: function setRadioRow(row22) {
+    row22 !== this.selectRow && this.clearRadioRow();
+    this.selectRow = row22;
+    return this.$nextTick();
+  },
+  clearCurrentRow: function clearCurrentRow() {
+    Object.assign(this, {
+      currentRow: null,
+      hoverRow: null
+    });
+    var rowElems = this.$el.querySelectorAll(".row__current");
+    arrayEach_default(rowElems, function(elem) {
+      return removeClass(elem, "row__current");
+    });
+    return this.$nextTick();
+  },
+  clearRadioRow: function clearRadioRow() {
+    var radioRow = this.selectRow;
+    radioRow && (this.selectRow = null);
+    return this.$nextTick();
+  },
+  getCurrentRow: function getCurrentRow() {
+    var currentRow = this.currentRow;
+    return currentRow;
+  },
+  getRadioRow: function getRadioRow() {
+    var radioRow = this.selectRow;
+    return radioRow;
+  },
+  triggerHeaderCellClickEvent: function triggerHeaderCellClickEvent(event, params) {
+    var lastTime = this._lastResizeTime, highlightCurrentColumn = this.highlightCurrentColumn;
+    var cell = params.cell, column = params.column;
+    var trigger = this.sortOpts.trigger;
+    var isResizable2 = lastTime && lastTime > Date.now() - 300;
+    var isSort = this.getEventTargetNode(event, cell, "tiny-grid-sort-wrapper").flag;
+    var isFilter = this.getEventTargetNode(event, cell, "tiny-grid-filter-wrapper").flag;
+    if (trigger === "cell" && !(isResizable2 || isSort || isFilter)) {
+      var nextOrder = this.toggleColumnOrder(column);
+      this.triggerSortEvent(event, column, nextOrder);
+    }
+    var eventParams = _extends$2({
+      triggerResizable: isResizable2,
+      triggerSort: isSort,
+      triggerFilter: isFilter
+    }, params);
+    emitEvent$1(this, "header-cell-click", [eventParams, event]);
+    if (highlightCurrentColumn) {
+      return this.setCurrentColumn(column, true);
+    }
+    return this.$nextTick();
+  },
+  setCurrentColumn: function setCurrentColumn(column) {
+    run(["clearCurrentRow", "clearCurrentColumn"], this);
+    this.currentColumn = column;
+    var colElems = this.$el.querySelectorAll("." + column.id);
+    arrayEach_default(colElems, function(elem) {
+      return addClass(elem, "col__current");
+    });
+    return this.$nextTick();
+  },
+  clearCurrentColumn: function clearCurrentColumn() {
+    this.currentColumn = null;
+    var colElems = this.$el.querySelectorAll(".col__current");
+    arrayEach_default(colElems, function(elem) {
+      return removeClass(elem, "col__current");
+    });
+    return this.$nextTick();
+  },
+  // 当单元格发生改变时,如果存在规则,则校验
+  handleChangeCell: function handleChangeCell(event, params) {
+    var _this38 = this;
+    this.triggerValidate("blur").catch(function(e) {
+      return e;
+    }).then(function() {
+      _this38.handleActived(params, event).then(function() {
+        return _this38.triggerValidate("change");
+      }).catch(function(e) {
+        return e;
+      });
+    });
+  },
+  // 列点击事件:如果是单击模式,则激活为编辑状态;如果是双击模式,则单击后选中状态
+  triggerCellClickEvent: function triggerCellClickEvent(event, params) {
+    var $el = this.$el, highlightCurrentRow = this.highlightCurrentRow, editStore = this.editStore;
+    var _this$radioConfig = this.radioConfig, radioConfig = _this$radioConfig === void 0 ? {} : _this$radioConfig, _this$selectConfig2 = this.selectConfig, selectConfig = _this$selectConfig2 === void 0 ? {} : _this$selectConfig2, _this$expandConfig = this.expandConfig, expandConfig = _this$expandConfig === void 0 ? {} : _this$expandConfig;
+    var _this$treeConfig = this.treeConfig, treeConfig = _this$treeConfig === void 0 ? {} : _this$treeConfig, editConfig = this.editConfig, _this$mouseConfig = this.mouseConfig, mouseConfig = _this$mouseConfig === void 0 ? {} : _this$mouseConfig;
+    var actived = editStore.actived;
+    var row22 = params.row, column = params.column, cell = params.cell;
+    if (isTargetRadioOrCheckbox(event, column, "radio") || isTargetRadioOrCheckbox(event, column, "selection", "checkbox")) {
+      return;
+    }
+    onClickExpandColumn({
+      $el,
+      _vm: this,
+      column,
+      event,
+      expandConfig,
+      params
+    });
+    onClickTreeNodeColumn({
+      _vm: this,
+      column,
+      event,
+      params,
+      treeConfig
+    });
+    if ((!column.treeNode || !this.getEventTargetNode(event, $el, "tiny-grid-tree-wrapper").flag) && (column.type !== "expand" || !this.getEventTargetNode(event, $el, "tiny-grid__expanded").flag)) {
+      onHighlightCurrentRow({
+        $el,
+        _vm: this,
+        event,
+        highlightCurrentRow,
+        params,
+        radioConfig
+      });
+      onClickRadioColumn({
+        $el,
+        _vm: this,
+        column,
+        event,
+        params,
+        radioConfig
+      });
+      onClickSelectColumn({
+        _vm: this,
+        column,
+        event,
+        params,
+        selectConfig
+      });
+      onClickCellSelect({
+        _vm: this,
+        actived,
+        cell,
+        column,
+        editConfig,
+        event,
+        mouseConfig,
+        params,
+        row: row22
+      });
+    }
+    emitEvent$1(this, "cell-click", [params, event]);
+  },
+  // 列双击点击事件:如果是双击模式,则激活为编辑状态
+  triggerCellDBLClickEvent: function triggerCellDBLClickEvent(event, params) {
+    var _this39 = this;
+    var editStore = this.editStore, editConfig = this.editConfig;
+    var actived = editStore.actived;
+    var isActiveNewCell = !actived.args || event.currentTarget !== actived.args.cell;
+    var isDblclickNewCell = editConfig && editConfig.trigger === "dblclick" && isActiveNewCell;
+    if (isDblclickNewCell && editConfig.mode === "row") {
+      this.triggerValidate("blur").catch(function(e) {
+        return e;
+      }).then(function() {
+        _this39.handleActived(params, event).then(function() {
+          return _this39.triggerValidate("change");
+        }).catch(function(e) {
+          return e;
+        });
+      });
+    }
+    if (isDblclickNewCell && editConfig.mode === "cell") {
+      this.handleActived(params, event).then(function() {
+        return _this39.triggerValidate("change");
+      }).catch(function(e) {
+        return e;
+      });
+    }
+    emitEvent$1(this, "cell-dblclick", [params, event]);
+  },
+  // 点击排序事件
+  triggerSortEvent: function triggerSortEvent(event, column, order) {
+    var property2 = column.property;
+    var isColumnSortable = column.type ? false : column.sortable || column.remoteSort;
+    if (this.sortable && isColumnSortable) {
+      var evntParams = {
+        $table: this,
+        column,
+        order,
+        property: property2
+      };
+      evntParams.prop = property2;
+      evntParams.field = evntParams.prop;
+      if (order === column.order) {
+        evntParams.order = null;
+        this.clearSort(column.property);
+      } else {
+        this.sort(property2, order);
+      }
+      emitEvent$1(this, "sort-change", [evntParams, event]);
+    }
+  },
+  sort: function sort(field, order) {
+    var remoteSort = this.remoteSort, tableFullColumn = this.tableFullColumn, visibleColumn = this.visibleColumn;
+    var column = find_default(visibleColumn, function(item) {
+      return item.property === field;
+    });
+    var isRemote = isBoolean_default(column.remoteSort) ? column.remoteSort : remoteSort;
+    var isColumnSortable = column.type ? false : column.sortable || column.remoteSort;
+    if (this.sortable && isColumnSortable) {
+      if (column.order !== order) {
+        tableFullColumn.forEach(function(column2) {
+          return column2.order = null;
+        });
+        column.order = order;
+        !isRemote && this.handleTableData(true).then(this.refreshStyle);
+      }
+      return this.$nextTick().then(this.updateStyle);
+    }
+    return this.$nextTick();
+  },
+  clearSort: function clearSort() {
+    arrayEach_default(this.tableFullColumn, function(column) {
+      return column.order = null;
+    });
+    this.$grid && (this.$grid.sortData = {});
+    return this.handleTableData(true).then(this.refreshStyle);
+  },
+  toggleGroupExpansion: function toggleGroupExpansion(row22) {
+    this.groupExpandeds.push(row22);
+  },
+  // 展开行事件
+  triggerRowExpandEvent: function triggerRowExpandEvent(event, _ref177) {
+    var row22 = _ref177.row;
+    var rest = this.toggleRowExpansion(row22);
+    var eventParams = {
+      $table: this,
+      row: row22,
+      rowIndex: this.getRowIndex(row22)
+    };
+    emitEvent$1(this, "toggle-expand-change", [eventParams, event]);
+    return rest;
+  },
+  // 切换展开行
+  toggleRowExpansion: function toggleRowExpansion(row22) {
+    return this.setRowExpansion(row22);
+  },
+  // 处理默认展开行
+  handleDefaultRowExpand: function handleDefaultRowExpand() {
+    var fullDataRowIdData = this.fullDataRowIdData, tableFullData = this.tableFullData;
+    var _ref178 = this.expandConfig || {}, expandAll = _ref178.expandAll, expandRowKeys = _ref178.expandRowKeys;
+    if (expandAll) {
+      this.expandeds = tableFullData.slice(0);
+      return;
+    }
+    if (expandRowKeys) {
+      var defExpandeds = [];
+      expandRowKeys.forEach(function(rowid2) {
+        var rowCache = fullDataRowIdData[rowid2];
+        rowCache && defExpandeds.push(rowCache.row);
+      });
+      this.expandeds = defExpandeds;
+    }
+  },
+  setAllRowExpansion: function setAllRowExpansion(expanded) {
+    this.expandeds = !expanded ? [] : this.tableFullData.slice(0);
+    return this.$nextTick().then(this.recalculate);
+  },
+  // 设置展开行,二个参数设置这一行展开与否;支持单行;支持多行
+  setRowExpansion: function setRowExpansion(rows, expanded) {
+    var expandeds = this.expandeds;
+    var _ref179 = this.expandConfig || {}, accordion = _ref179.accordion;
+    var isToggle = arguments.length === 1;
+    var isAccordionCloseAll = false;
+    if (!rows) {
+      return this.$nextTick().then(this.recalculate);
+    }
+    if (!isArray(rows)) {
+      rows = [rows];
+    }
+    if (accordion) {
+      rows = rows.slice(rows.length - 1, rows.length);
+      if (rows.length && isToggle) {
+        isAccordionCloseAll = expandeds.includes(rows[0]);
+      }
+      expandeds.length = 0;
+    }
+    rows.forEach(function(row22) {
+      var index230 = expandeds.indexOf(row22);
+      if (isToggle && ~index230 || !isToggle && !expanded && ~index230) {
+        expandeds.splice(index230, 1);
+        return;
+      }
+      if (isToggle && !isAccordionCloseAll && !~index230 || !isToggle && expanded && !~index230) {
+        expandeds.push(row22);
+      }
+    });
+    return this.$nextTick().then(this.recalculate);
+  },
+  hasRowExpand: function hasRowExpand(row22) {
+    return ~this.expandeds.indexOf(row22);
+  },
+  clearRowExpand: function clearRowExpand() {
+    var _this40 = this;
+    var hasExpand = this.expandeds.length;
+    this.expandeds = [];
+    return this.$nextTick().then(function() {
+      return hasExpand ? _this40.recalculate() : 0;
+    });
+  },
+  // 获取虚拟滚动状态
+  getVirtualScroller: function getVirtualScroller() {
+    var scrollXLoad = this.scrollXLoad, scrollYLoad = this.scrollYLoad;
+    var _this$$refs$tableBody = this.$refs.tableBody.$el, scrollLeft = _this$$refs$tableBody.scrollLeft, scrollTop = _this$$refs$tableBody.scrollTop;
+    return {
+      scrollX: scrollXLoad,
+      scrollY: scrollYLoad,
+      scrollLeft,
+      scrollTop
+    };
+  },
+  // 横向 X 可视渲染事件处理
+  triggerScrollXEvent: function triggerScrollXEvent(event) {
+    this.loadScrollXData(event);
+  },
+  debounceScrollX: function debounceScrollX(event) {
+    var _this41 = this;
+    if (!this.tasks.debounceScrollX) {
+      this.tasks.debounceScrollXHandler = null;
+      this.tasks.debounceScrollX = function() {
+        return requestAnimationFrame(function() {
+          _this41.tasks.debounceScrollXHandler = null;
+          _this41.loadScrollXData(event);
+        });
+      };
+    }
+    if (this.tasks.debounceScrollXHandler) {
+      cancelAnimationFrame(this.tasks.debounceScrollXHandler);
+      this.tasks.debounceScrollXHandler = null;
+    }
+    this.tasks.debounceScrollXHandler = this.tasks.debounceScrollX();
+  },
+  // 处理x轴滚动时,虚拟滚动数据计算
+  loadScrollXData: function loadScrollXData() {
+    var scrollXStore = this.scrollXStore, visibleColumn = this.visibleColumn;
+    var offsetSize = scrollXStore.offsetSize, renderSize = scrollXStore.renderSize, startIndex = scrollXStore.startIndex, visibleIndex = scrollXStore.visibleIndex, visibleSize = scrollXStore.visibleSize;
+    var scrollLeft = this.$refs.tableBody.$el.scrollLeft;
+    var _ref180 = {}, _ref180$preload = _ref180.preload, preload = _ref180$preload === void 0 ? false : _ref180$preload, _ref180$toVisibleInde = _ref180.toVisibleIndex, toVisibleIndex = _ref180$toVisibleInde === void 0 ? 0 : _ref180$toVisibleInde, _ref180$width = _ref180.width, width = _ref180$width === void 0 ? 0 : _ref180$width;
+    for (var i = 0; i < visibleColumn.length; i++) {
+      width += visibleColumn[i].renderWidth;
+      if (scrollLeft < width) {
+        toVisibleIndex = i;
+        break;
+      }
+    }
+    if (visibleIndex === toVisibleIndex) {
+      this.clostTooltip();
+      return;
+    }
+    var marginSize = Math.min(Math.floor((renderSize - visibleSize) / 2), visibleSize);
+    if (visibleIndex > toVisibleIndex) {
+      preload = startIndex >= toVisibleIndex - offsetSize;
+      if (preload) {
+        scrollXStore.startIndex = Math.max(0, toVisibleIndex - Math.max(marginSize, renderSize - visibleSize));
+        this.updateScrollXData();
+      }
+    } else {
+      preload = startIndex + renderSize <= toVisibleIndex + visibleSize + offsetSize;
+      if (preload) {
+        scrollXStore.startIndex = Math.max(0, Math.min(visibleColumn.length - renderSize, toVisibleIndex - marginSize));
+        this.updateScrollXData();
+      }
+    }
+    scrollXStore.visibleIndex = toVisibleIndex;
+    this.clostTooltip();
+  },
+  // 纵向 Y 可视渲染事件处理
+  triggerScrollYEvent: function triggerScrollYEvent(event) {
+    this.loadScrollYData(event);
+  },
+  // 处理滚动分页相关逻辑
+  debounceScrollLoad: function debounceScrollLoad(event) {
+    var _this42 = this;
+    if (!this.tasks.debounceScrollLoad) {
+      this.tasks.debounceScrollLoad = debounce_default(debounceScrollLoadDuration, function() {
+        var _this42$scrollLoadSto = _this42.scrollLoadStore, scrollHeight = _this42$scrollLoadSto.scrollHeight, bodyHeight = _this42$scrollLoadSto.bodyHeight;
+        var _this42$$grid$tablePa = _this42.$grid.tablePage, currentPage2 = _this42$$grid$tablePa.currentPage, pageSize2 = _this42$$grid$tablePa.pageSize;
+        var max = scrollHeight - bodyHeight;
+        var scrollTop = event.target.scrollTop;
+        if (scrollTop > max) {
+          scrollTop = max;
+        }
+        var rowHeight = _this42.scrollYStore.rowHeight;
+        var visibleIndex = Math.ceil(scrollTop / rowHeight);
+        var page = Math.ceil(visibleIndex / pageSize2) + 1;
+        if (currentPage2 !== page) {
+          _this42.$grid.pageCurrentChange(page);
+        }
+      });
+    }
+    this.tasks.debounceScrollLoad();
+  },
+  // 纵向 Y 可视渲染处理
+  loadScrollYData: function loadScrollYData(event) {
+    var _this43 = this;
+    var scrollYStore = this.scrollYStore;
+    var startIndex = scrollYStore.startIndex, renderSize = scrollYStore.renderSize, offsetSize = scrollYStore.offsetSize, visibleIndex = scrollYStore.visibleIndex, visibleSize = scrollYStore.visibleSize, rowHeight = scrollYStore.rowHeight;
+    var scrollTop = event.target.scrollTop;
+    var toVisibleIndex = Math.ceil(scrollTop / rowHeight);
+    var preload = false;
+    if (visibleIndex === toVisibleIndex) {
+      return;
+    }
+    var marginSize = Math.min(Math.floor((renderSize - visibleSize) / 2), visibleSize);
+    if (toVisibleIndex < visibleIndex) {
+      preload = startIndex >= toVisibleIndex - offsetSize;
+      if (preload) {
+        scrollYStore.startIndex = Math.max(0, toVisibleIndex - Math.max(marginSize, renderSize - visibleSize));
+        this.updateScrollYData();
+      }
+    } else {
+      preload = startIndex + renderSize <= toVisibleIndex + visibleSize + offsetSize;
+      if (preload) {
+        var totalRows = getTotalRows(this);
+        scrollYStore.startIndex = Math.max(0, Math.min(totalRows - renderSize, toVisibleIndex - marginSize));
+        this.updateScrollYData();
+      }
+    }
+    scrollYStore.visibleIndex = toVisibleIndex;
+    this.$nextTick(function() {
+      _this43.updateSelectedCls(true);
+    });
+  },
+  getRowHeight: function getRowHeight() {
+    var $refs = this.$refs, vSize5 = this.vSize;
+    var scrollY = this.optimizeOpts.scrollY;
+    var tableBody = $refs.tableBody, tableHeader = $refs.tableHeader;
+    var rHeight = scrollY.rHeight;
+    if (!rHeight) {
+      var firstTrElem = tableBody && tableBody.$el.querySelector("tbody>tr") || tableHeader && tableHeader.$el.querySelector("thead>tr") || null;
+      if (firstTrElem) {
+        rHeight = firstTrElem.clientHeight;
+      }
+    }
+    if (!rHeight) {
+      var vSizeList = ["medium", "small", "mini"];
+      var defSizeList = [44, 40, 36];
+      var i = vSizeList.indexOf(vSize5);
+      rHeight = ~i ? defSizeList[i] : 48;
+    }
+    return rHeight;
+  },
+  // 计算可视渲染相关数据
+  computeScrollLoad: function computeScrollLoad() {
+    var _this44 = this;
+    return this.$nextTick().then(function() {
+      var $refs = _this44.$refs, optimizeOpts2 = _this44.optimizeOpts, visibleColumn = _this44.visibleColumn;
+      var scrollLoad = _this44.scrollLoad, scrollXLoad = _this44.scrollXLoad, scrollXStore = _this44.scrollXStore, scrollYLoad = _this44.scrollYLoad, scrollYStore = _this44.scrollYStore;
+      var scrollX = optimizeOpts2.scrollX, scrollY = optimizeOpts2.scrollY;
+      var tableBody = $refs.tableBody;
+      var bodyElem = tableBody ? tableBody.$el : null;
+      if (bodyElem) {
+        computeScrollXLoad({
+          _vm: _this44,
+          scrollX,
+          scrollXLoad,
+          scrollXStore,
+          tableBodyElem: bodyElem,
+          visibleColumn
+        });
+        computeScrollYLoad({
+          _vm: _this44,
+          scrollLoad,
+          scrollY,
+          scrollYLoad,
+          scrollYStore,
+          tableBodyElem: bodyElem
+        });
+      }
+      _this44.$nextTick(_this44.updateStyle);
+    });
+  },
+  // 处理x轴方向虚拟滚动列数据加载
+  updateScrollXData: function updateScrollXData() {
+    var _this45 = this;
+    var scrollXLoad = this.scrollXLoad, scrollXStore = this.scrollXStore, tableColumn3 = this.tableColumn, treeConfig = this.treeConfig, visibleColumn = this.visibleColumn, visibleColumnChanged = this.visibleColumnChanged, columnStore = this.columnStore;
+    var _scrollXStore$lastSta = scrollXStore.lastStartIndex, lastStartIndex = _scrollXStore$lastSta === void 0 ? -1 : _scrollXStore$lastSta, renderSize = scrollXStore.renderSize, startIndex = scrollXStore.startIndex;
+    var args = {
+      lastStartIndex,
+      renderSize,
+      scrollXLoad,
+      startIndex,
+      tableColumn: tableColumn3,
+      columnStore
+    };
+    Object.assign(args, {
+      treeConfig,
+      visibleColumn,
+      visibleColumnChanged
+    });
+    var ret = sliceVisibleColumn(args);
+    if (ret.sliced) {
+      this.updateScrollXSpace();
+      this.updateScrollStatus();
+    }
+    this.debounceRaf("updateScrollXDataHandler", function() {
+      scrollXStore.lastStartIndex = ret.lastStartIndex;
+      _this45.tableColumn = ret.tableColumn;
+      _this45.visibleColumnChanged = ret.visibleColumnChanged;
+      _this45.$nextTick(_this45.updateStyle);
+    });
+  },
+  // 更新横向 X 可视渲染上下剩余空间大小
+  updateScrollXSpace: function updateScrollXSpace() {
+    var elemStore = this.elemStore, scrollXLoad = this.scrollXLoad, scrollXStore = this.scrollXStore, scrollbarWidth = this.scrollbarWidth, tableWidth = this.tableWidth, visibleColumn = this.visibleColumn;
+    var startIndex = scrollXStore.startIndex;
+    var _ref181 = {}, bodyElem = _ref181.bodyElem, footerElem = _ref181.footerElem, headerElem = _ref181.headerElem, leftSpaceWidth = _ref181.leftSpaceWidth, marginLeft = _ref181.marginLeft;
+    headerElem = elemStore["main-header-table"];
+    bodyElem = elemStore["main-body-table"];
+    footerElem = elemStore["main-footer-table"];
+    leftSpaceWidth = visibleColumn.slice(0, startIndex).reduce(function(previous, column) {
+      if (column.fixed === "left")
+        return previous;
+      return previous + column.renderWidth;
+    }, 0);
+    marginLeft = scrollXLoad ? leftSpaceWidth + "px" : "";
+    headerElem && (headerElem.style.marginLeft = marginLeft);
+    bodyElem.style.marginLeft = marginLeft;
+    footerElem && (footerElem.style.marginLeft = marginLeft);
+    var layouts = ["header", "body", "footer"];
+    layouts.forEach(function(layout) {
+      var xSpaceElem = elemStore["main-" + layout + "-xSpace"];
+      var extra = layout === "header" ? scrollbarWidth : 0;
+      if (xSpaceElem) {
+        xSpaceElem.style.width = scrollXLoad ? tableWidth + extra + "px" : "";
+      }
+    });
+    this.$nextTick(this.updateStyle);
+  },
+  debounceRaf: function debounceRaf(handlerKey, callback) {
+    var _this46 = this;
+    if (this[handlerKey]) {
+      cancelAnimationFrame(this[handlerKey]);
+    }
+    this[handlerKey] = requestAnimationFrame(function() {
+      _this46[handlerKey] = null;
+      callback();
+    });
+  },
+  // 处理虚拟滚动加载数据,并更新YSpace位置
+  updateScrollYData: function updateScrollYData() {
+    var _this47 = this;
+    this.updateScrollYSpace();
+    this.debounceRaf("updateScrollYDataHandler", function() {
+      _this47.handleTableData().then(function() {
+        return _this47.$nextTick(_this47.updateStyle);
+      });
+    });
+  },
+  // 更新纵向虚拟滚动 Y 可视渲染上下剩余空间大小(使用tiny-grid-body__y-space元素撑开足够空间)
+  updateScrollYSpace: function updateScrollYSpace() {
+    var $grid = this.$grid, elemStore = this.elemStore, scrollLoad = this.scrollLoad, scrollLoadStore = this.scrollLoadStore, scrollYLoad = this.scrollYLoad;
+    var _this$scrollYStore = this.scrollYStore, rowHeight = _this$scrollYStore.rowHeight, startIndex = _this$scrollYStore.startIndex;
+    var totalRows = getTotalRows(this);
+    var bodyHeight = totalRows * rowHeight;
+    var scrollHeight = $grid.pagerConfig ? $grid.pagerConfig.total * rowHeight : 0;
+    var isVScrollOrLoad = scrollYLoad || scrollLoad;
+    var _ref182 = {}, marginTop = _ref182.marginTop, ySpaceHeight = _ref182.ySpaceHeight;
+    marginTop = isVScrollOrLoad && scrollYLoad ? Math.max(startIndex * rowHeight, 0) + "px" : "";
+    ySpaceHeight = isVScrollOrLoad ? bodyHeight + "px" : "";
+    scrollLoadStore.bodyHeight = bodyHeight;
+    scrollLoadStore.scrollHeight = scrollHeight;
+    var tableElem = elemStore["main-body-table"];
+    if (tableElem) {
+      tableElem.style.transform = marginTop ? "translateY(" + marginTop + ")" : "";
+    }
+    var ySpaceElem = elemStore["main-body-ySpace"];
+    ySpaceElem && (ySpaceElem.style.height = ySpaceHeight);
+    if (ySpaceElem && scrollLoad && $grid) {
+      Object.assign(scrollLoadStore, {
+        bodyHeight,
+        scrollHeight
+      });
+      ySpaceElem.firstChild.style.height = scrollHeight + "px";
+      ySpaceElem.onscroll = this.debounceScrollLoad;
+    }
+  },
+  updateScrollLoadBar: function updateScrollLoadBar(event) {
+    var $el = this.$el, elemStore = this.elemStore, scrollLoad = this.scrollLoad, scrollLoadStore = this.scrollLoadStore;
+    if (scrollLoad && $el.contains(event.target)) {
+      var wheelDelta = event.wheelDelta ? event.wheelDelta : -event.detail * 40;
+      var scrollElm = elemStore["main-body-ySpace"];
+      var scrollHeight = scrollLoadStore.scrollHeight, bodyHeight = scrollLoadStore.bodyHeight;
+      var max = scrollHeight - bodyHeight;
+      var top = scrollElm.scrollTop - wheelDelta;
+      top = max < top ? max : top;
+      top = top < 0 ? 0 : top;
+      scrollElm.scrollTop = top;
+    }
+  },
+  scrollTo: function scrollTo(scrollLeft, scrollTop) {
+    var elemStore = this.elemStore;
+    var tableBodyElem = elemStore["main-body-wrapper"];
+    var tableHeaderElem = elemStore["main-header-wrapper"];
+    var tableFooterElem = elemStore["main-footer-wrapper"];
+    if (isNumber_default(scrollLeft)) {
+      tableBodyElem && (tableBodyElem.scrollLeft = scrollLeft);
+      tableFooterElem && (tableFooterElem.scrollLeft = scrollLeft);
+      tableHeaderElem && (tableHeaderElem.scrollLeft = scrollLeft);
+    }
+    if (isNumber_default(scrollTop)) {
+      tableBodyElem && (tableBodyElem.scrollTop = scrollTop);
+    }
+    return this.$nextTick();
+  },
+  scrollToRow: function scrollToRow(row22, column, isDelay, move) {
+    var hasRowCache = this.fullAllDataRowMap.has(row22);
+    var isDelayArg = isDelay || isBoolean_default(column);
+    row22 && hasRowCache && rowToVisible(this, row22);
+    return this.scrollToColumn(column, isDelayArg, move);
+  },
+  scrollToTreeRow: function scrollToTreeRow(row22) {
+    var _this48 = this;
+    var tableFullData = this.tableFullData, treeConfig = this.treeConfig, treeOpts = this.treeOpts;
+    if (!treeConfig) {
+      return this.$nextTick();
+    }
+    var matchObj = findTree_default(tableFullData, function(item) {
+      return item === row22;
+    }, treeOpts);
+    if (!matchObj) {
+      return this.$nextTick();
+    }
+    var nodes = matchObj.nodes;
+    nodes.forEach(function(row222, index230) {
+      if (index230 === nodes.length - 1 || _this48.hasTreeExpand(row222)) {
+        return;
+      }
+      _this48.setTreeExpansion(row222, true);
+    });
+    return this.$nextTick();
+  },
+  scrollToColumn: function scrollToColumn(column, isDelay, move) {
+    var _this49 = this;
+    var hasColCache = this.fullColumnMap.has(column);
+    column && hasColCache && colToVisible(this, column, move);
+    return isDelay && (this.scrollXLoad || this.scrollYLoad) ? new Promise(function(resolve) {
+      return setTimeout(function() {
+        return resolve(_this49.$nextTick());
+      }, 50);
+    }) : this.$nextTick();
+  },
+  resetScrollTop: function resetScrollTop() {
+    this.lastScrollTop = 0;
+  },
+  clearScroll: function clearScroll() {
+    var _this50 = this;
+    var scrollXStore = this.scrollXStore, scrollYStore = this.scrollYStore, elemStore = this.elemStore;
+    Object.assign(this, {
+      lastScrollLeft: 0
+    });
+    Object.assign(scrollXStore, {
+      startIndex: 0,
+      visibleIndex: 0
+    });
+    Object.assign(scrollYStore, {
+      startIndex: 0,
+      visibleIndex: 0
+    });
+    this.$nextTick(function() {
+      var tableBodyElem = elemStore["main-body-wrapper"];
+      var tableHeaderElem = elemStore["main-header-wrapper"];
+      var tableFooterElem = elemStore["main-footer-wrapper"];
+      if (_this50.afterMounted) {
+        tableBodyElem && Object.assign(tableBodyElem, {
+          scrollLeft: 0,
+          scrollTop: 0
+        });
+        tableFooterElem && Object.assign(tableFooterElem, {
+          scrollLeft: 0
+        });
+        tableHeaderElem && Object.assign(tableHeaderElem, {
+          scrollLeft: 0
+        });
+      }
+    });
+    return this.$nextTick();
+  },
+  // 更新表尾合计
+  updateFooter: function updateFooter() {
+    var _this51 = this;
+    var afterFullData = this.afterFullData, footerMethod = this.footerMethod, showFooter = this.showFooter, summaryConfig = this.summaryConfig, tableColumn3 = this.tableColumn;
+    if (footerMethod && showFooter) {
+      var data8 = footerMethod({
+        columns: tableColumn3,
+        data: afterFullData
+      });
+      if (data8.length && data8.some(function(value) {
+        return !isArray(value);
+      })) {
+        data8 = [data8];
+      }
+      this.footerData = tableColumn3.length ? data8 : [];
+    }
+    if (summaryConfig) {
+      var fields = summaryConfig.fields, fraction = summaryConfig.fraction, text = summaryConfig.text, _truncate = summaryConfig.truncate;
+      var summary = tableColumn3.map(function(column, columnIndex) {
+        if (columnIndex === 0) {
+          return text || "";
+        }
+        if (~fields.indexOf(column.property)) {
+          return toDecimal(sum_default(_this51.afterFullData, column.property), fraction, _truncate);
+        }
+        return null;
+      });
+      this.footerData = [summary];
+    }
+    return this.$nextTick();
+  },
+  // 更新列状态:如果组件值v-model发生change,调用该函数更新列的编辑状态。如果单元格配置了校验规则,则进行校验
+  updateStatus: function updateStatus(scope, cellValue, renderOpts) {
+    var _this52 = this;
+    var customValue = !isUndefined_default(cellValue);
+    return this.$nextTick().then(function() {
+      var $refs = _this52.$refs, editRules = _this52.editRules, tableData = _this52.tableData, validStore = _this52.validStore;
+      var tableBody = $refs.tableBody;
+      if (!scope || !tableBody || !editRules) {
+        return;
+      }
+      if (renderOpts && renderOpts.isValidAlways) {
+        validStore.visible = true;
+      }
+      var column = scope.column, row22 = scope.row;
+      var type = "change";
+      if (!_this52.hasCellRules(type, row22, column)) {
+        return;
+      }
+      var rowIndex = tableData.indexOf(row22);
+      getCell(_this52, {
+        row: row22,
+        rowIndex,
+        column
+      }).then(function(cell) {
+        if (!cell) {
+          return;
+        }
+        return _this52.validCellRules(type, row22, column, cellValue).then(function() {
+          customValue && validStore.visible && setCellValue(row22, column, cellValue);
+          _this52.clearValidate();
+        }).catch(function(_ref183) {
+          var rule = _ref183.rule;
+          customValue && setCellValue(row22, column, cellValue);
+          _this52.showValidTooltip({
+            rule,
+            row: row22,
+            column,
+            cell
+          });
+        });
+      });
+    });
+  },
+  /* X/Y 方向滚动 */
+  updateScrollStatus: function updateScrollStatus() {
+    var _this53 = this;
+    if (!this.tasks.updateScrollStatus) {
+      this.tasks.updateScrollStatus = debounce_default(AsyncCollectTimeout, function() {
+        var scrollXLoad = _this53.scrollXLoad, scrollYLoad = _this53.scrollYLoad, isAsyncColumn = _this53.isAsyncColumn;
+        if (isAsyncColumn && (scrollXLoad || scrollYLoad)) {
+          var tableData = _this53.tableData, scrollXStore = _this53.scrollXStore, scrollYStore = _this53.scrollYStore, tableFullData = _this53.tableFullData, _this53$scrollDirecti = _this53.scrollDirection, scrollDirection = _this53$scrollDirecti === void 0 ? "N" : _this53$scrollDirecti;
+          var isInit = scrollXLoad && scrollXStore.visibleIndex === 0 || scrollYLoad && scrollYStore.visibleIndex === 0;
+          if (isInit || scrollDirection !== "N") {
+            _this53.handleResolveColumn(tableFullData, _this53.collectAsyncColumn(tableData));
+          }
+        }
+      });
+    }
+    this.tasks.updateScrollStatus();
+  },
+  // 获取异步列唯一ID
+  getAsyncColumnUniqueKey: function getAsyncColumnUniqueKey(property2, row22) {
+    return property2 + "_" + row22[this.rowId];
+  },
+  // 获取异步列名称
+  getAsyncColumnName: function getAsyncColumnName(property2) {
+    return GlobalConfig$1.constant.asyncPrefix + property2;
+  },
+  // 收集异步列
+  collectAsyncColumn: function collectAsyncColumn(tableData) {
+    var _this54 = this;
+    var fetchColumns = [];
+    var rowId = this.rowId, asyncRenderMap = this.asyncRenderMap, tableColumn3 = this.tableColumn;
+    if (!rowId) {
+      warn$1("The (grid-props:rowId) is required for the asynchronous column.");
+      return fetchColumns;
+    }
+    tableColumn3.forEach(function(col) {
+      var _ref184 = col.format || {}, async = _ref184.async;
+      var _ref185 = async || {}, fetch = _ref185.fetch, _ref185$splitConfig = _ref185.splitConfig, splitConfig = _ref185$splitConfig === void 0 ? {} : _ref185$splitConfig;
+      if (typeof fetch === "function") {
+        var columnValues = [];
+        tableData.forEach(function(row22) {
+          var cellValue = row22[col.property];
+          if (typeof cellValue !== "string" || typeof cellValue === "string" && !cellValue) {
+            cellValue = " ";
+          }
+          var cellValuesCount = 1;
+          var cellValues = [cellValue];
+          var uniqueKey = _this54.getAsyncColumnUniqueKey(col.property, row22);
+          if (splitConfig.enabled === true) {
+            cellValues = cellValue.split(splitConfig.valueSplit || ",");
+            cellValuesCount = cellValues.length;
+          }
+          if (!asyncRenderMap[uniqueKey]) {
+            asyncRenderMap[uniqueKey] = cellValuesCount;
+            cellValues.forEach(function(value) {
+              return columnValues.push(value);
+            });
+          }
+        });
+        if (columnValues.length) {
+          fetchColumns.push(_extends$2({}, col, {
+            columnValues
+          }));
+        }
+      }
+    });
+    return fetchColumns;
+  },
+  // fetchData 执行
+  handleAsyncColumn: function handleAsyncColumn(tableData) {
+    if (this.isAsyncColumn && tableData.length) {
+      this.asyncRenderMap = {};
+      this.handleResolveColumn(tableData, this.collectAsyncColumn(tableData));
+    }
+  },
+  // 查询异步列
+  handleResolveColumn: function handleResolveColumn(tableData, fetchColumns) {
+    var tableColumn3 = this.tableColumn, scrollYStore = this.scrollYStore, asyncRenderMap = this.asyncRenderMap, scrollXLoad = this.scrollXLoad, scrollYLoad = this.scrollYLoad;
+    var startIndex = scrollYStore.startIndex;
+    var isScrollLoad = scrollXLoad || scrollYLoad;
+    if (fetchColumns.length === 0) {
+      return;
+    }
+    var promises = mapFetchColumnPromise({
+      _vm: this,
+      fetchColumns,
+      tableColumn: tableColumn3
+    });
+    Promise.all(promises).then(handleAllColumnPromises({
+      startIndex,
+      fetchColumns,
+      tableData,
+      asyncRenderMap,
+      isScrollLoad
+    }, this));
+  },
+  // Publish methods 与工具栏对接
+  connect: function connect(_ref186) {
+    var toolbar = _ref186.toolbar;
+    this.$toolbar = toolbar;
+  },
+  // 检查触发源是否属于目标节点
+  getEventTargetNode,
+  // 可见性改变事件处理
+  handleVisibilityChange: function handleVisibilityChange(visible3, entry) {
+    if (visible3) {
+      this.updateParentHeight();
+      this.updateTableBodyHeight();
+      this.recalculate();
+    }
+    emitEvent$1(this, "visible-change", [{
+      $table: this,
+      visible: visible3,
+      entry
+    }]);
+  },
+  // 更新表体高度
+  updateTableBodyHeight: function updateTableBodyHeight() {
+    var _this55 = this;
+    if (!this.tasks.updateTableBodyHeight) {
+      this.tasks.updateTableBodyHeight = function() {
+        singleton_default.measure(function() {
+          var tableBodyElem = _this55.elemStore["main-body-wrapper"];
+          _this55.tableBodyHeight = tableBodyElem ? tableBodyElem.clientHeight : 0;
+        });
+      };
+    }
+    this.tasks.updateTableBodyHeight();
+  },
+  // 按顺序切换列的排序状态(null --> asc --> desc --> null --> ...)
+  toggleColumnOrder: function toggleColumnOrder(column) {
+    return column.order ? column.order === "asc" ? "desc" : null : "asc";
+  },
+  watchDataForVue3: function watchDataForVue3() {
+    var _this56 = this;
+    var stopWatch = watch([function() {
+      return _this56.data;
+    }, function() {
+      return _this56.data && _this56.data.length;
+    }], function(_ref187, _ref188) {
+      var newData = _ref187[0], newLength = _ref187[1];
+      var oldData = _ref188[0], oldLength = _ref188[1];
+      if (Array.isArray(_this56.data) && newData === oldData && newLength !== oldLength) {
+        _this56.handleDataChange();
+      }
+    });
+    onBeforeUnmount(function() {
+      return stopWatch();
+    });
+  },
+  getVm: function getVm(name) {
+    return this.$grid.getVm(name);
+  }
+};
+funcs.forEach(function(name) {
+  Methods$d[name] = function() {
+    return this["_" + name] ? this["_" + name].apply(this, arguments) : null;
+  };
+});
+var methods = Methods$d;
+var fnField = function fnField2(field) {
+  return typeof field === "string" ? field : field[0];
+};
+var fnFields = function fnFields2(fields) {
+  return fields.map(fnField);
+};
+var fnFieldConfig = function fnFieldConfig2(field) {
+  return Array.isArray(field) && field.length > 1 ? field[1] : {};
+};
+var _sfc_main$7 = defineComponent({
+  props: _extends$2({}, $props, {
+    datas: Object,
+    row: Object
+  }),
+  render: function render9() {
+    var datas = this.datas, row22 = this.row;
+    var selectionColumn = datas.selectionColumn, genParams2 = datas.genParams, config2 = datas.config;
+    var params = genParams2(selectionColumn, row22);
+    var tableVm = config2.tableVm;
+    if (~tableVm.selection.indexOf(row22))
+      ;
+    var _tableVm$selectConfig = tableVm.selectConfig, selectConfig = _tableVm$selectConfig === void 0 ? {} : _tableVm$selectConfig;
+    var checkMethod = selectConfig.checkMethod;
+    if (typeof checkMethod === "function" && !checkMethod(params))
+      ;
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-table-column-type"
+      },
+      class: "py-px"
+    }, selectionColumn.renderCell(h, params));
+  }
+});
+var _sfc_main$6 = defineComponent({
+  inject: ["$mftable"],
+  props: _extends$2({}, $props, {
+    datas: Object,
+    row: Object
+  }),
+  render: function render10() {
+    var _this57 = this;
+    var datas = this.datas, row22 = this.row;
+    var primaryColumn = datas.primaryColumn, contentColumns = datas.contentColumns, genParams2 = datas.genParams, config2 = datas.config, cardView2 = datas.cardView;
+    var _config$cardConfig = config2.cardConfig, cardConfig = _config$cardConfig === void 0 ? {} : _config$cardConfig;
+    var props2 = {
+      attrs: {
+        "data-tag": "tiny-table-column-content"
+      },
+      class: "my-0.5 truncate space-y-2 sm:space-y-1 [&_[data-tag=tiny-input]]:leading-7 [&_[data-tag=tiny-input-textarea]>span]:pt-0"
+    };
+    var ons = function ons2() {
+      return {
+        mouseenter: _this57.handleMouseenter,
+        mouseleave: _this57.handleMouseleave
+      };
+    };
+    if (!primaryColumn || !primaryColumn.renderCell) {
+      return h("div", props2, []);
+    }
+    var primaryVnode = null;
+    var contentVnodes = [];
+    if (cardView2) {
+      var hasLogo = typeof cardConfig.logoField !== "undefined";
+      var hasTag = false;
+      var tagVnodes = [];
+      var logoField = "";
+      var logoFieldConfig = {};
+      var logoVnode = null;
+      if (cardConfig.tagFields && cardConfig.tagFields.length) {
+        var tagFields = cardConfig.tagFields;
+        hasTag = true;
+        tagVnodes = fnFields(tagFields).map(function(field, i) {
+          if (!row22[field] || typeof row22[field] !== "string") {
+            return null;
+          }
+          var fieldConfig = fnFieldConfig(tagFields[i]);
+          var colorField = "";
+          if (cardConfig.tagColorFields && cardConfig.tagColorFields.length && cardConfig.tagColorFields[i]) {
+            colorField = fnField(cardConfig.tagColorFields[i]);
+          }
+          var type = row22[colorField] || "";
+          var tagProps2 = {
+            props: {
+              size: "mini",
+              customClass: "inline-block truncate max-w-[theme(spacing.28)] h-4.5"
+            }
+          };
+          if (type) {
+            Object.assign(tagProps2.props, {
+              type
+            });
+          }
+          if (fieldConfig.render) {
+            return fieldConfig.render({
+              h,
+              row: row22,
+              field,
+              config: fieldConfig,
+              value: row22[field],
+              color: type
+            });
+          }
+          return h(Tag, tagProps2, row22[field] || "");
+        });
+      }
+      if (cardConfig.logoField) {
+        logoField = fnField(cardConfig.logoField);
+        logoFieldConfig = fnFieldConfig(cardConfig.logoField);
+      }
+      var gridCls = ["grid mb-3", hasLogo ? "grid-cols-[theme(spacing.11)_auto]" : "grid-cols-[auto]"];
+      var logoCls = "w-11 h-11 overflow-hidden rounded";
+      var primCls = ["text-base sm:text-sm text-color-text-primary font-medium leading-5", "overflow-hidden text-ellipsis whitespace-normal line-clamp-2 sm:line-clamp-1", {
+        "ml-3": hasLogo
+      }];
+      var tagCls = ["truncate h-4.5", {
+        "ml-3": hasLogo
+      }];
+      if (logoFieldConfig.render) {
+        var params = {
+          h,
+          row: row22,
+          field: logoField,
+          config: logoFieldConfig,
+          value: row22[logoField]
+        };
+        logoVnode = logoFieldConfig.render(params);
+      } else {
+        logoVnode = h("img", {
+          class: "w-full h-full",
+          attrs: {
+            src: row22[logoField] || ""
+          }
+        });
+      }
+      primaryVnode = h("div", {
+        class: gridCls
+      }, [hasLogo ? h("div", {
+        class: logoCls
+      }, [logoVnode]) : null, h("div", {
+        class: "truncate space-y-1 relative -top-0.5"
+      }, [h("div", {
+        class: primCls,
+        on: ons()
+      }, [primaryColumn.renderCell(h, genParams2(primaryColumn, row22))]), hasTag ? h("div", {
+        class: tagCls
+      }, tagVnodes) : null])]);
+    } else {
+      var cls = ["w-full text-base sm:text-sm text-color-text-primary font-medium leading-5", "overflow-hidden text-ellipsis whitespace-normal line-clamp-2 sm:line-clamp-1"];
+      primaryVnode = h("div", {
+        class: cls,
+        on: ons()
+      }, [primaryColumn.renderCell(h, genParams2(primaryColumn, row22))]);
+    }
+    contentVnodes = contentColumns.map(function(contentColumn) {
+      var params2 = genParams2(contentColumn, row22);
+      var cls2 = ["w-full text-sm sm:text-xs text-color-fill-9 font-normal sm:font-normal leading-5 sm:leading-5", "overflow-hidden text-ellipsis whitespace-normal "];
+      var cellNode = CellDefault.renderCell(h, params2);
+      var cellIsVnode = false;
+      if (Array.isArray(cellNode)) {
+        cellIsVnode = isVnode(cellNode[0]);
+      }
+      var VnodeCls = cellIsVnode ? "inline-block flex-grow [&_span]:leading-5 [&_div[data-tag=tiny-input]]:leading-5 ml-1" : "text-color-text-primary";
+      var divCls = cellIsVnode ? "flex" : "line-clamp-2 sm:line-clamp-1";
+      return h("div", {
+        class: cls2 + divCls,
+        on: ons()
+      }, [
+        // 这里需要兼容AUI与TinyVue表头实现方式的差异,此处勿同步
+        h("span", {
+          class: "shrink-0"
+        }, [CellDefault.renderHeader(h, params2, "card")]),
+        h("span", {}, cardConfig.split || ": "),
+        h("span", {
+          class: VnodeCls
+        }, [cellNode])
+      ]);
+    });
+    return h("div", props2, [primaryVnode].concat(contentVnodes));
+  },
+  methods: {
+    handleMouseenter: function handleMouseenter2(e) {
+      var $mftable = this.$mftable;
+      $mftable.showTooltip(e);
+    },
+    handleMouseleave: function handleMouseleave2() {
+      var $mftable = this.$mftable;
+      $mftable.hideTooltip();
+    }
+  }
+});
+var _sfc_main$5 = defineComponent({
+  props: _extends$2({}, $props, {
+    datas: Object,
+    row: Object
+  }),
+  render: function render11() {
+    var datas = this.datas, row22 = this.row;
+    var slotLink = datas.slotLink, operationColumn = datas.operationColumn, hasOperation = datas.hasOperation, genParams2 = datas.genParams;
+    var params = genParams2(operationColumn, row22);
+    var vnode;
+    if (hasOperation) {
+      var _operationColumn$oper = operationColumn.operationConfig, operationConfig = _operationColumn$oper === void 0 ? {} : _operationColumn$oper;
+      var _operationConfig$butt2 = operationConfig.buttons, buttons = _operationConfig$butt2 === void 0 ? [] : _operationConfig$butt2, _operationConfig$disa2 = operationConfig.disabledClass, disabledClass = _operationConfig$disa2 === void 0 ? "" : _operationConfig$disa2;
+      var visibleButtons = [];
+      var isDisabled = function isDisabled2(buttonConfig) {
+        var _buttonConfig$disable2 = buttonConfig.disabled, disabled = _buttonConfig$disable2 === void 0 ? false : _buttonConfig$disable2;
+        return typeof disabled === "boolean" && disabled || typeof disabled === "function" && disabled(row22);
+      };
+      var isHidden = function isHidden2(buttonConfig) {
+        var _buttonConfig$hidden2 = buttonConfig.hidden, hidden = _buttonConfig$hidden2 === void 0 ? false : _buttonConfig$hidden2;
+        return typeof hidden === "boolean" && hidden || typeof hidden === "function" && hidden(row22);
+      };
+      var handleItemClick = function handleItemClick2(name) {
+        var buttonConfig = visibleButtons.find(function(_ref189) {
+          var buttonName = _ref189.name;
+          return buttonName === name;
+        });
+        buttonConfig.click(window.event || {}, _extends$2({
+          buttonConfig
+        }, params));
+      };
+      buttons.forEach(function(buttonConfig) {
+        return !isHidden(buttonConfig) && visibleButtons.push(buttonConfig);
+      });
+      vnode = visibleButtons.length === 1 ? h("div", {
+        "class": "w-5 h-5 sm:w-4 sm:w-4 " + (isDisabled(visibleButtons[0]) ? "fill-color-icon-disabled" : "fill-color-icon-secondary") + " "
+      }, [h(visibleButtons[0].icon, {
+        on: {
+          click: function click(event) {
+            if (!isDisabled(visibleButtons[0])) {
+              handleItemClick(visibleButtons[0].name);
+            }
+            event.stopPropagation();
+          }
+        },
+        "attrs": {
+          "custom-class": "w-5 h-5 sm:w-4 sm:w-4"
+        }
+      })]) : h(Dropdown, {
+        on: {
+          "item-click": handleItemClick
+        },
+        props: {
+          trigger: "hover",
+          showSelfIcon: true,
+          tiny_mode: "mobile-first",
+          tiny_mode_root: true
+        }
+      }, [h(index$B(), {
+        class: "mf-table-more outline-none text-base cursor-pointer"
+      }), h(DropdownMenu, {
+        slot: "dropdown"
+      }, visibleButtons.map(function(buttonConfig) {
+        var _class3;
+        return h(DropdownItem, {
+          class: (_class3 = {}, _class3[disabledClass || ""] = isDisabled(buttonConfig), _class3),
+          props: {
+            itemData: buttonConfig.name,
+            disabled: isDisabled(buttonConfig)
+          }
+        }, buttonConfig.name);
+      }))]);
+    } else {
+      vnode = slotLink({
+        row: row22,
+        h
+      });
+    }
+    return h("div", {
+      attrs: {
+        "data-tag": "tiny-table-column-link"
+      },
+      class: "flex flex-col items-end mt-px sm:mt-0"
+    }, [vnode]);
+  }
+});
+var _sfc_main$4 = defineComponent({
+  props: _extends$2({}, $props, {
+    datas: Object,
+    row: Object
+  }),
+  components: {
+    ColumnType: _sfc_main$7,
+    ColumnContent: _sfc_main$6,
+    ColumnLink: _sfc_main$5
+  },
+  computed: {
+    showLink: function showLink() {
+      var datas = this.datas;
+      return datas.hasLink || datas.hasOperation;
+    }
+  }
+});
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_column_type = resolveComponent("column-type");
+  var _component_column_content = resolveComponent("column-content");
+  var _component_column_link = resolveComponent("column-link");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      ref: "layout",
+      "data-tag": "tiny-table-column-layout",
+      class: normalizeClass(["grid", [_ctx.datas.hasType && _ctx.showLink ? "grid-cols-[theme(spacing.7)_auto_theme(spacing.7)]" : "", _ctx.datas.hasType && !_ctx.showLink ? "grid-cols-[theme(spacing.7)_auto]" : "", !_ctx.datas.hasType && _ctx.showLink ? "grid-cols-[auto_theme(spacing.7)]" : "", !_ctx.datas.hasType && !_ctx.showLink ? "grid-cols-[auto]" : ""]])
+    },
+    [_ctx.datas.hasType ? (openBlock(), createBlock(_component_column_type, {
+      key: 0,
+      ref: "type",
+      datas: _ctx.datas,
+      row: _ctx.row
+    }, null, 8, ["datas", "row"])) : createCommentVNode("v-if", true), createVNode(_component_column_content, {
+      datas: _ctx.datas,
+      row: _ctx.row
+    }, null, 8, ["datas", "row"]), _ctx.showLink ? (openBlock(), createBlock(_component_column_link, {
+      key: 1,
+      ref: "link",
+      datas: _ctx.datas,
+      row: _ctx.row
+    }, null, 8, ["datas", "row"])) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var ColumnLayout = /* @__PURE__ */ _export_sfc$2(_sfc_main$4, [["render", _sfc_render$2]]);
+var _sfc_main$3 = defineComponent({
+  components: {
+    ColumnLayout
+  },
+  props: _extends$2({}, $props, {
+    datas: Object,
+    currentRowId: String
+  }),
+  emits: ["card-click"],
+  data: function data3() {
+    return {
+      mergeClass
+    };
+  },
+  computed: {
+    row: function row() {
+      var datas = this.datas;
+      return datas.row;
+    },
+    rowid: function rowid() {
+      var datas = this.datas;
+      var config2 = datas.config, row22 = datas.row;
+      var tableVm = config2.tableVm;
+      return getRowid(tableVm, row22);
+    },
+    isCardType: function isCardType() {
+      var _config$tableVm;
+      var datas = this.datas;
+      var config2 = datas.config;
+      var _config$tableVm$$grid = config2 == null ? void 0 : (_config$tableVm = config2.tableVm) == null ? void 0 : _config$tableVm.$grid, viewType2 = _config$tableVm$$grid.viewType;
+      return viewType2 === "card";
+    }
+  },
+  methods: {
+    handleClick: function handleClick2(e) {
+      if (!getEventTargetNode(e, this.$el, "tiny-grid-checkbox").flag && !getEventTargetNode(e, this.$el, "mf-table-more").flag) {
+        this.$emit("card-click", this.row, e);
+      }
+    }
+  }
+});
+var _hoisted_1 = ["data-rowid"];
+function _sfc_render$1$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_column_layout = resolveComponent("column-layout");
+  return openBlock(), createElementBlock("div", {
+    class: normalizeClass(_ctx.mergeClass(_ctx.datas.rowClass, _ctx.currentRowId === _ctx.rowid && _ctx.isCardType ? "border sm:border-2 sm:border-color-brand" : "")),
+    "data-tag": "tiny-table-row",
+    "data-rowid": _ctx.rowid,
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
+    })
+  }, [createVNode(_component_column_layout, {
+    datas: _ctx.datas,
+    row: _ctx.row
+  }, null, 8, ["datas", "row"])], 10, _hoisted_1);
+}
+var TableRow = /* @__PURE__ */ _export_sfc$2(_sfc_main$3, [["render", _sfc_render$1$1]]);
+var _sfc_main$2 = defineComponent({
+  inject: ["$mftable"],
+  props: _extends$2({}, $props),
+  render: function render12() {
+    var $mftable = this.$mftable;
+    var params = {
+      $table: $mftable.config.tableVm,
+      $mftable,
+      config: $mftable.listConfig,
+      rows: $mftable.tableData,
+      columns: $mftable.config.tableVm.tableColumn,
+      h
+    };
+    return typeof $mftable.slotList === "function" ? $mftable.slotList(params) : null;
+  }
+});
+var _sfc_main$1$1 = defineComponent({
+  inject: ["$mftable"],
+  props: _extends$2({}, $props),
+  render: function render13() {
+    var $mftable = this.$mftable;
+    var params = {
+      $table: $mftable.config.tableVm,
+      $mftable,
+      config: $mftable.ganttConfig,
+      rows: $mftable.tableData,
+      columns: $mftable.config.tableVm.tableColumn,
+      h
+    };
+    return typeof $mftable.slotGantt === "function" ? $mftable.slotGantt(params) : null;
+  }
+});
+var _sfc_main$8 = defineComponent({
+  components: {
+    TableRow,
+    Tooltip: Tooltip$1,
+    Exception,
+    ListView: _sfc_main$2,
+    GanttView: _sfc_main$1$1
+  },
+  provide: function provide2() {
+    return {
+      $mftable: this
+    };
+  },
+  props: _extends$2({}, $props, {
+    tableData: Array,
+    cardConfig: Object,
+    listConfig: Object,
+    ganttConfig: Object
+  }),
+  data: function data4() {
+    return {
+      primaryColumn: null,
+      contentColumns: null,
+      operationColumn: null,
+      selectionColumn: null,
+      slotLink: null,
+      rowKey: 0,
+      wrapperHeight: 0,
+      tooltipVisible: false,
+      tooltipContent: "",
+      currentRow: null,
+      currentRowId: ""
+    };
+  },
+  computed: {
+    config: function config() {
+      var vm = this.$parent, cardConfig = this.cardConfig, listConfig = this.listConfig;
+      return {
+        tableVm: markRaw(vm),
+        cardConfig,
+        listConfig
+      };
+    },
+    cardView: function cardView() {
+      var _config$tableVm2;
+      var config2 = this.config;
+      var _config$tableVm$$grid2 = config2 == null ? void 0 : (_config$tableVm2 = config2.tableVm) == null ? void 0 : _config$tableVm2.$grid, viewType2 = _config$tableVm$$grid2.viewType, mfShow = _config$tableVm$$grid2.mfShow;
+      var _GlobalConfig$1$viewC = GlobalConfig$1.viewConfig, CARD = _GlobalConfig$1$viewC.CARD, MF = _GlobalConfig$1$viewC.MF, MF_SHOW_CARD = _GlobalConfig$1$viewC.MF_SHOW_CARD;
+      return viewType2 === CARD || viewType2 === MF && mfShow === MF_SHOW_CARD;
+    },
+    listView: function listView() {
+      var _config$tableVm3;
+      var config2 = this.config;
+      var _config$tableVm$$grid3 = config2 == null ? void 0 : (_config$tableVm3 = config2.tableVm) == null ? void 0 : _config$tableVm3.$grid, viewType2 = _config$tableVm$$grid3.viewType;
+      var LIST = GlobalConfig$1.viewConfig.LIST;
+      return viewType2 === LIST;
+    },
+    ganttView: function ganttView() {
+      var _config$tableVm4;
+      var config2 = this.config;
+      var _config$tableVm$$grid4 = config2 == null ? void 0 : (_config$tableVm4 = config2.tableVm) == null ? void 0 : _config$tableVm4.$grid, viewType2 = _config$tableVm$$grid4.viewType;
+      var GANTT = GlobalConfig$1.viewConfig.GANTT;
+      return viewType2 === GANTT;
+    },
+    wrapperClass: function wrapperClass() {
+      var _config$tableVm5;
+      var config2 = this.config;
+      return mergeClass("w-full h-full overflow-y-auto", config2 == null ? void 0 : (_config$tableVm5 = config2.tableVm) == null ? void 0 : _config$tableVm5.viewCls("mfTable"), this.exceptionVisible ? "sm:border sm:border-solid sm:border-color-border-separator rounded-sm" : "");
+    },
+    tableClass: function tableClass() {
+      var cardView2 = this.cardView;
+      var tableCls = "w-full px-3.5 sm:px-0";
+      return cardView2 ? mergeClass(tableCls, "grid gap-3") : tableCls;
+    },
+    cardClass: function cardClass() {
+      var listView2 = this.listView, ganttView2 = this.ganttView, cardConfig = this.cardConfig;
+      var smallCls = "grid-cols-[repeat(auto-fill,minmax(theme(spacing.64),1fr))]";
+      var defaultCls = "grid-cols-[repeat(auto-fill,minmax(theme(spacing.80),1fr))]";
+      return listView2 || ganttView2 ? "" : (cardConfig == null ? void 0 : cardConfig.cardSize) === "small" ? smallCls : defaultCls;
+    },
+    rowClass: function rowClass() {
+      var cardView2 = this.cardView, cardConfig = this.cardConfig;
+      var rowCls = "border-b-0.5 sm:border-b border-solid border-color-border-separator last:border-color-bg-1 py-3";
+      if (cardView2) {
+        rowCls = "border-0 sm:border border-solid border-color-border-separator p-3 rounded hover:shadow-lg bg-color-bg-1";
+        rowCls += (cardConfig == null ? void 0 : cardConfig.cardSize) === "small" ? " min-w-[theme(spacing.64)]" : " min-w-[theme(spacing.80)]";
+      }
+      return rowCls;
+    },
+    wrapperStyle: function wrapperStyle() {
+      var _config$tableVm6, _config$tableVm6$$gri;
+      var config2 = this.config, wrapperHeight = this.wrapperHeight;
+      var defaultView = (config2 == null ? void 0 : (_config$tableVm6 = config2.tableVm) == null ? void 0 : (_config$tableVm6$$gri = _config$tableVm6.$grid) == null ? void 0 : _config$tableVm6$$gri.viewType) === GlobalConfig$1.viewConfig.DEFAULT;
+      var displayStyle = defaultView ? "display:none;" : "";
+      var heightStyle = wrapperHeight ? "height:" + wrapperHeight + "px;" : "";
+      return "" + displayStyle + heightStyle;
+    },
+    exceptionVisible: function exceptionVisible() {
+      var _config$tableVm7;
+      var config2 = this.config, tableData = this.tableData;
+      var _config$tableVm$$grid5 = config2 == null ? void 0 : (_config$tableVm7 = config2.tableVm) == null ? void 0 : _config$tableVm7.$grid, viewType2 = _config$tableVm$$grid5.viewType;
+      var _GlobalConfig$1$viewC2 = GlobalConfig$1.viewConfig, CARD = _GlobalConfig$1$viewC2.CARD, LIST = _GlobalConfig$1$viewC2.LIST, MF = _GlobalConfig$1$viewC2.MF;
+      var isException = tableData.length === 0;
+      return isException && (viewType2 === CARD || viewType2 === LIST || viewType2 === MF);
+    }
+  },
+  watch: {
+    "config.tableVm.tableColumn": {
+      handler: function handler() {
+        this.mapColumns();
+      },
+      immediate: true
+    },
+    "config.tableVm.viewType": {
+      handler: function handler2() {
+        this.rowKey++;
+      },
+      immediate: true
+    },
+    "config.tableVm.height": {
+      handler: function handler3() {
+        this.getWrapperHeight();
+      },
+      immediate: true
+    },
+    "config.tableVm.parentHeight": {
+      handler: function handler4() {
+        this.getWrapperHeight();
+      },
+      immediate: true
+    },
+    "config.tableVm.currentRow": {
+      handler: function handler5(value) {
+        this.currentRow = value;
+        this.setCurrentRowId();
+      },
+      immediate: true
+    }
+  },
+  mounted: function mounted4() {
+    this.$nextTick(this.getWrapperHeight);
+  },
+  methods: {
+    mapColumns: function mapColumns() {
+      var _config$tableVm8, _config$tableVm9, _config$tableVm9$$gri, _config$tableVm9$$gri2, _config$tableVm10, _config$tableVm10$$gr, _config$tableVm10$$gr2, _config$tableVm11, _config$tableVm11$$gr, _config$tableVm11$$gr2;
+      var config2 = this.config, typeColumns2 = this.typeColumns, firstFewPropertyColumn2 = this.firstFewPropertyColumn;
+      var _this$cardConfig = this.cardConfig, cardConfig = _this$cardConfig === void 0 ? {} : _this$cardConfig, _this$listConfig = this.listConfig, listConfig = _this$listConfig === void 0 ? {} : _this$listConfig, _this$ganttConfig = this.ganttConfig, ganttConfig = _this$ganttConfig === void 0 ? {} : _this$ganttConfig;
+      var tableColumn3 = config2 == null ? void 0 : (_config$tableVm8 = config2.tableVm) == null ? void 0 : _config$tableVm8.tableColumn;
+      var primaryField = cardConfig.primaryField, contentFields = cardConfig.contentFields, selectable = cardConfig.selectable, renderLink = cardConfig.renderLink, operable = cardConfig.operable, _cardConfig$few = cardConfig.few, few = _cardConfig$few === void 0 ? 4 : _cardConfig$few;
+      var renderList2 = listConfig.renderList;
+      var renderGantt = ganttConfig.renderGantt;
+      var fieldName = "";
+      var fieldNames = [];
+      var propCols = firstFewPropertyColumn2(tableColumn3, few);
+      var primaryColumn;
+      var contentColumns;
+      var operationColumn;
+      var selectionColumn;
+      var slotLink;
+      var slotList;
+      var slotGantt;
+      if (primaryField) {
+        fieldName = fnField(primaryField);
+        primaryColumn = typeColumns2(tableColumn3, [fieldName]).find(function(column) {
+          return column.property === fieldName;
+        });
+      } else {
+        primaryColumn = propCols && propCols.length > 0 ? propCols[0] : void 0;
+      }
+      if (contentFields && contentFields.length) {
+        fieldNames = fnFields(contentFields);
+        contentColumns = typeColumns2(tableColumn3, fieldNames);
+      } else {
+        contentColumns = propCols && propCols.length > 1 ? propCols.slice(1) : [];
+      }
+      if (typeof operable === "undefined" || operable) {
+        operationColumn = typeColumns2(tableColumn3, ["operation"], "type").find(function(column) {
+          return column.type === "operation";
+        });
+      }
+      if (typeof selectable === "undefined" || selectable) {
+        selectionColumn = typeColumns2(tableColumn3, ["selection"], "type").find(function(column) {
+          return column.type === "selection";
+        });
+      }
+      slotLink = (config2 == null ? void 0 : (_config$tableVm9 = config2.tableVm) == null ? void 0 : (_config$tableVm9$$gri = _config$tableVm9.$grid) == null ? void 0 : (_config$tableVm9$$gri2 = _config$tableVm9$$gri.slots) == null ? void 0 : _config$tableVm9$$gri2.link) || renderLink;
+      slotList = (config2 == null ? void 0 : (_config$tableVm10 = config2.tableVm) == null ? void 0 : (_config$tableVm10$$gr = _config$tableVm10.$grid) == null ? void 0 : (_config$tableVm10$$gr2 = _config$tableVm10$$gr.slots) == null ? void 0 : _config$tableVm10$$gr2.list) || renderList2;
+      slotGantt = (config2 == null ? void 0 : (_config$tableVm11 = config2.tableVm) == null ? void 0 : (_config$tableVm11$$gr = _config$tableVm11.$grid) == null ? void 0 : (_config$tableVm11$$gr2 = _config$tableVm11$$gr.slots) == null ? void 0 : _config$tableVm11$$gr2.gantt) || renderGantt;
+      Object.assign(this, {
+        primaryColumn,
+        contentColumns,
+        operationColumn,
+        selectionColumn
+      });
+      Object.assign(this, {
+        slotLink,
+        slotList,
+        slotGantt
+      });
+    },
+    typeColumns: function typeColumns(columns2, types, field) {
+      var cols = types.map(function(type) {
+        return columns2.find(function(column) {
+          return column.visible && column[field || "property"] === type;
+        });
+      });
+      var res = [];
+      cols.forEach(function(col) {
+        return col && res.push(col);
+      });
+      return res;
+    },
+    firstFewPropertyColumn: function firstFewPropertyColumn(columns2, few) {
+      return columns2.filter(function(column) {
+        return column.visible && !column.type && column.property;
+      }).slice(0, few);
+    },
+    genParams: function genParams(column, row22) {
+      var config2 = this.config, tableData = this.tableData;
+      var $table = config2.tableVm;
+      var tableColumn3 = $table.tableColumn;
+      var $columnIndex = tableColumn3.indexOf(column);
+      var columnIndex = $table.getColumnIndex(column);
+      var p = {
+        column,
+        $table,
+        $columnIndex,
+        columnIndex,
+        data: tableData
+      };
+      if (row22) {
+        var $rowIndex = tableData.indexOf(row22);
+        var rowIndex = $table.getRowIndex(row22);
+        var seq = $rowIndex + 1;
+        Object.assign(p, {
+          row: row22,
+          $rowIndex,
+          rowIndex,
+          $seq: "",
+          seq
+        });
+      }
+      return p;
+    },
+    emitEvent: function emitEvent$1$1(type, args) {
+      var config2 = this.config;
+      emitEvent$1(config2 == null ? void 0 : config2.tableVm, type, args);
+    },
+    handleCardClick: function handleCardClick(row22, e) {
+      var config2 = this.config, emitEvent2 = this.emitEvent;
+      var _config$tableVm12 = config2 == null ? void 0 : config2.tableVm, highlightCurrentRow = _config$tableVm12.highlightCurrentRow;
+      if (highlightCurrentRow) {
+        var _config$tableVm13;
+        this.currentRow = row22;
+        this.setCurrentRowId();
+        config2 == null ? void 0 : (_config$tableVm13 = config2.tableVm) == null ? void 0 : _config$tableVm13.triggerCurrentRowEvent(e, {
+          $table: config2 == null ? void 0 : config2.tableVm,
+          row: row22
+        });
+      }
+      emitEvent2.call(this, "card-click", [row22, e]);
+    },
+    cfg: function cfg(row22) {
+      var config2 = this.config, cardView2 = this.cardView, selectionColumn = this.selectionColumn, slotLink = this.slotLink, primaryColumn = this.primaryColumn;
+      var operationColumn = this.operationColumn, contentColumns = this.contentColumns, genParams2 = this.genParams, rowClass2 = this.rowClass;
+      var hasType = !!selectionColumn;
+      var hasLink = !!slotLink;
+      var hasOperation = !!operationColumn;
+      var res = {
+        row: row22,
+        config: config2,
+        cardView: cardView2,
+        selectionColumn,
+        slotLink,
+        primaryColumn,
+        operationColumn,
+        contentColumns,
+        genParams: genParams2,
+        hasType,
+        hasOperation,
+        hasLink,
+        rowClass: rowClass2
+      };
+      return res;
+    },
+    getWrapperHeight: function getWrapperHeight() {
+      var _config$tableVm14, _config$tableVm15;
+      var config2 = this.config;
+      var $grid = config2 == null ? void 0 : (_config$tableVm14 = config2.tableVm) == null ? void 0 : _config$tableVm14.$grid;
+      var height2 = ($grid == null ? void 0 : $grid.height) === "auto" ? "100%" : $grid == null ? void 0 : $grid.height;
+      var parentHeight2 = config2 == null ? void 0 : (_config$tableVm15 = config2.tableVm) == null ? void 0 : _config$tableVm15.parentHeight;
+      this.wrapperHeight = isScale(height2) ? Math.floor(parseInt(height2) / 100 * parentHeight2) : toNumber_default(height2);
+    },
+    showTooltip: function showTooltip(e) {
+      var $refs = this.$refs, _this$cardConfig2 = this.cardConfig, cardConfig = _this$cardConfig2 === void 0 ? {} : _this$cardConfig2;
+      var showTip = cardConfig.showTip;
+      if (!showTip)
+        return;
+      var tooltip = $refs.tooltip;
+      var dom = e.target;
+      var text = dom.textContent;
+      var rect = dom.getBoundingClientRect();
+      var range = document.createRange();
+      range.setStart(dom, 0);
+      range.setEnd(dom, dom.childNodes.length);
+      var rangeRect = range.getBoundingClientRect();
+      if (rangeRect.x + rangeRect.width < rect.x || rangeRect.x + rangeRect.width > rect.x + rect.width || rangeRect.y + rangeRect.height < rect.y || rangeRect.y + rangeRect.height > rect.y + rect.height) {
+        tooltip.state.referenceElm = dom;
+        tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+        tooltip.doDestroy();
+        this.tooltipContent = text;
+        this.tooltipVisible = true;
+        setTimeout(tooltip.updatePopper, 20);
+      }
+    },
+    hideTooltip: function hideTooltip() {
+      this.tooltipVisible = false;
+      this.tooltipContent = "";
+    },
+    setCurrentRowId: function setCurrentRowId() {
+      var config2 = this.config, currentRow = this.currentRow;
+      if (currentRow) {
+        this.currentRowId = getRowid(config2.tableVm, currentRow);
+      }
+    }
+  }
+});
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_exception = resolveComponent("exception");
+  var _component_list_view = resolveComponent("list-view");
+  var _component_gantt_view = resolveComponent("gantt-view");
+  var _component_table_row = resolveComponent("table-row");
+  var _component_tooltip = resolveComponent("tooltip");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-table-wrapper",
+      class: normalizeClass(["scrollbar-size-0", _ctx.wrapperClass]),
+      style: normalizeStyle(_ctx.wrapperStyle)
+    },
+    [_ctx.exceptionVisible ? (openBlock(), createBlock(_component_exception, {
+      key: 0,
+      tiny_mode: "mobile-first",
+      tiny_mode_root: "",
+      class: "min-h-[theme(spacing.72)]",
+      "component-page": "",
+      type: "nodata"
+    })) : createCommentVNode("v-if", true), createBaseVNode(
+      "div",
+      {
+        "data-tag": "tiny-table",
+        class: normalizeClass([_ctx.tableClass, _ctx.cardClass]),
+        ref: "table"
+      },
+      [_ctx.listView ? (openBlock(), createBlock(_component_list_view, {
+        key: 0
+      })) : _ctx.ganttView ? (openBlock(), createBlock(_component_gantt_view, {
+        key: 1
+      })) : (openBlock(true), createElementBlock(
+        Fragment,
+        {
+          key: 2
+        },
+        renderList(_ctx.tableData, function(row22, i) {
+          return openBlock(), createBlock(_component_table_row, {
+            key: "" + _ctx.rowKey + i,
+            datas: _ctx.cfg(row22),
+            "current-row-id": _ctx.currentRowId,
+            onCardClick: _ctx.handleCardClick
+          }, null, 8, ["datas", "current-row-id", "onCardClick"]);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))],
+      2
+      /* CLASS */
+    ), createVNode(_component_tooltip, {
+      ref: "tooltip",
+      modelValue: _ctx.tooltipVisible,
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx.tooltipVisible = $event;
+      }),
+      content: _ctx.tooltipContent,
+      manual: ""
+    }, null, 8, ["modelValue", "content"])],
+    6
+    /* CLASS, STYLE */
+  );
+}
+var MfTable = /* @__PURE__ */ _export_sfc$2(_sfc_main$8, [["render", _sfc_render$3]]);
+var themes$1 = GlobalConfig$1.themes, viewConfig$1 = GlobalConfig$1.viewConfig;
+var T_TINY = themes$1.TINY, T_SAAS$1 = themes$1.SAAS;
+var V_DEFAULT = viewConfig$1.DEFAULT, V_MF$1 = viewConfig$1.MF, V_CARD$1 = viewConfig$1.CARD, V_LIST = viewConfig$1.LIST;
+var V_MF_LIST = viewConfig$1.MF_SHOW_LIST;
+function verifyConfig(_vm) {
+  if (!getRowkey(_vm)) {
+    error("ui.grid.error.rowIdEmpty");
+  }
+  if (!GridAdapter._edit && _vm.editConfig) {
+    throw new Error(template_default(error("ui.grid.error.reqModule"), {
+      name: "Edit"
+    }));
+  }
+  if (!GridAdapter._valid && _vm.editRules) {
+    throw new Error(template_default(error("ui.grid.error.reqModule"), {
+      name: "Validator"
+    }));
+  }
+  if (!GridAdapter._keyboard && (_vm.keyboardConfig || _vm.mouseConfig)) {
+    throw new Error(template_default(error("ui.grid.error.reqModule"), {
+      name: "Keyboard"
+    }));
+  }
+  if (!GridAdapter._resize && _vm.autoResize) {
+    throw new Error(template_default(error("ui.grid.error.reqModule"), {
+      name: "Resize"
+    }));
+  }
+}
+function mergeScrollDirStore(scrollDir, scrollDirStore) {
+  if (scrollDir) {
+    Object.assign(scrollDirStore, {
+      startIndex: 0,
+      visibleIndex: 0,
+      adaptive: isBoolean_default(scrollDir.adaptive) ? scrollDir.adaptive : true,
+      renderSize: toNumber_default(scrollDir.rSize),
+      offsetSize: toNumber_default(scrollDir.oSize)
+    });
+  }
+}
+function loadStatic(data8, _vm) {
+  if (data8 && data8.length > 0) {
+    _vm.loadTableData(data8, true).then(function() {
+      _vm.handleDefault();
+      _vm.updateStyle();
+    });
+  }
+}
+function mergeTreeConfig(_vm) {
+  if (_vm.treeConfig) {
+    var ordered = _vm.treeConfig.ordered;
+    if (isNull$1(ordered)) {
+      _vm.treeConfig.ordered = true;
+    }
+  }
+}
+function initDrop(_vm) {
+  var dropConfig = _vm.dropConfig;
+  if (dropConfig) {
+    var plugin = dropConfig.plugin, _dropConfig$column = dropConfig.column, column = _dropConfig$column === void 0 ? true : _dropConfig$column, _dropConfig$row = dropConfig.row, row22 = _dropConfig$row === void 0 ? true : _dropConfig$row;
+    if (plugin) {
+      column && _vm.columnDrop();
+      row22 && _vm.rowDrop();
+    }
+  }
+}
+var renderEmptyPartFn = function renderEmptyPartFn2(opt) {
+  var _vm = opt._vm, tableData = opt.tableData, $slots = opt.$slots, renderEmpty = opt.renderEmpty;
+  return function() {
+    var emptyPartVnode = null;
+    var computerTableBodyHeight2 = _vm.computerTableBodyHeight;
+    if (_vm.isCenterEmpty && !tableData.length) {
+      var emptyVnodes;
+      var noEmptyClass = _vm.viewType === V_CARD$1 || _vm.viewType === V_LIST;
+      if ($slots.empty) {
+        emptyVnodes = $slots.empty.call(_vm, h);
+      } else if (renderEmpty) {
+        emptyVnodes = [renderEmpty(h, _vm)];
+      } else {
+        emptyVnodes = [h("p", {
+          class: "tiny-grid__empty-img"
+        }), h("span", {
+          class: "tiny-grid__empty-text"
+        }, GlobalConfig$1.i18n("ui.grid.emptyText"))];
+      }
+      emptyPartVnode = h("div", {
+        class: [{
+          "empty-center-block": !noEmptyClass
+        }, _vm.viewCls("emptyData")],
+        style: {
+          height: computerTableBodyHeight2
+        }
+      }, emptyVnodes);
+    }
+    return emptyPartVnode;
+  };
+};
+var renderFooterFn = function renderFooterFn2(opt) {
+  var _vm = opt._vm, showFooter = opt.showFooter, footerData = opt.footerData, footerMethod = opt.footerMethod, tableColumn3 = opt.tableColumn, visibleColumn = opt.visibleColumn, vSize5 = opt.vSize;
+  return function() {
+    var tableFooterVnode = [null];
+    if (showFooter) {
+      tableFooterVnode = h(Footer, {
+        props: {
+          footerData,
+          footerMethod,
+          tableColumn: tableColumn3,
+          visibleColumn,
+          size: vSize5
+        },
+        ref: "tableFooter",
+        class: _vm.viewCls("tableFooter")
+      });
+    }
+    return tableFooterVnode;
+  };
+};
+var renderResizeBarFn = function renderResizeBarFn2(opt) {
+  var _vm = opt._vm, isResizable2 = opt.isResizable, overflowX = opt.overflowX, scrollbarHeight = opt.scrollbarHeight;
+  return function() {
+    var resizeBarVnode = [null];
+    if (isResizable2) {
+      resizeBarVnode = h("div", {
+        class: ["tiny-grid__resizable-bar", _vm.viewCls("resizeBar")],
+        style: overflowX ? {
+          "padding-bottom": scrollbarHeight + "px"
+        } : null,
+        ref: "resizeBar",
+        key: "tinyGridResizeBar"
+      });
+    }
+    return resizeBarVnode;
+  };
+};
+var renderPluginWrapperFn = function renderPluginWrapperFn2(opt) {
+  var hasFilter2 = opt.hasFilter, optimizeOpts2 = opt.optimizeOpts, filterStore = opt.filterStore, isCtxMenu2 = opt.isCtxMenu, ctxMenuStore = opt.ctxMenuStore, hasTip2 = opt.hasTip, tooltipContentOpts2 = opt.tooltipContentOpts;
+  var editRules = opt.editRules, validOpts2 = opt.validOpts, height2 = opt.height, tableData = opt.tableData, vaildTipOpts2 = opt.vaildTipOpts, id3 = opt.id, _vm = opt._vm;
+  return function() {
+    var filterVnode = [null];
+    var ctxMenuVnode = [null];
+    var tooltipVnode = [null];
+    var errorTooltipVnode = [null];
+    var isMessageDefault = validOpts2.isMessageDefault, isMessageTooltip = validOpts2.isMessageTooltip;
+    if (hasFilter2) {
+      filterVnode = h(Panel$1, {
+        props: {
+          optimizeOpts: optimizeOpts2,
+          filterStore
+        },
+        ref: "filterWrapper"
+      });
+    }
+    if (isCtxMenu2) {
+      ctxMenuVnode = h(Panel, {
+        props: {
+          ctxMenuStore
+        },
+        ref: "ctxWrapper"
+      });
+    }
+    if (hasTip2) {
+      tooltipVnode = h(Tooltip$1, {
+        ref: "tooltip",
+        props: tooltipContentOpts2
+      });
+    }
+    if (hasTip2 && editRules && (isMessageDefault ? !height2 : isMessageTooltip)) {
+      errorTooltipVnode = h(Tooltip$1, {
+        class: "tiny-grid__valid-error",
+        props: isMessageTooltip || tableData.length === 1 ? vaildTipOpts2 : null,
+        ref: "validTip"
+      });
+    }
+    return h("div", {
+      class: "tiny-grid" + id3 + "-wrapper " + (_vm.$attrs.staticClass || ""),
+      ref: "tableWrapper"
+    }, [
+      // 筛选
+      filterVnode,
+      // 快捷菜单
+      ctxMenuVnode,
+      // Ellipsis tooltip
+      tooltipVnode,
+      // valid error tooltip
+      errorTooltipVnode
+    ]);
+  };
+};
+var renderSelectToolbarFn = function renderSelectToolbarFn2(opt) {
+  var selectToolbar = opt.selectToolbar, selectToolbarStore = opt.selectToolbarStore, renderedToolbar = opt.renderedToolbar;
+  return function() {
+    var selectToolbarVnode = [null];
+    if (selectToolbar) {
+      selectToolbarVnode = h("div", {
+        ref: "selectToolbar",
+        class: "tiny-grid__select-toolbar",
+        style: [selectToolbarStore.layout, {
+          visibility: selectToolbarStore.visible ? "visible" : "hidden"
+        }]
+      }, renderedToolbar || [null]);
+    }
+    return selectToolbarVnode;
+  };
+};
+function getRenderer(opt) {
+  var $slots = opt.$slots, _vm = opt._vm, optimizeOpts2 = opt.optimizeOpts, overflowX = opt.overflowX, props2 = opt.props, showFooter = opt.showFooter, showHeader = opt.showHeader, tableColumn3 = opt.tableColumn, tableData = opt.tableData, vSize5 = opt.vSize, visibleColumn = opt.visibleColumn;
+  var $grid = _vm.$grid, ctxMenuStore = _vm.ctxMenuStore, editRules = _vm.editRules, filterStore = _vm.filterStore, footerData = _vm.footerData, footerMethod = _vm.footerMethod, hasFilter2 = _vm.hasFilter, hasTip2 = _vm.hasTip, height2 = _vm.height, id3 = _vm.id;
+  var isCtxMenu2 = _vm.isCtxMenu, isResizable2 = _vm.isResizable, renderEmpty = _vm.renderEmpty, scrollbarHeight = _vm.scrollbarHeight, selectToolbarStore = _vm.selectToolbarStore, tooltipContentOpts2 = _vm.tooltipContentOpts, vaildTipOpts2 = _vm.vaildTipOpts, validOpts2 = _vm.validOpts;
+  var selectToolbar = $grid.selectToolbar, renderedToolbar = $grid.renderedToolbar;
+  var renderHeader2 = function renderHeader3() {
+    return showHeader ? h(Header, {
+      ref: "tableHeader",
+      props: props2,
+      class: _vm.viewCls("tableHeader")
+    }) : [null];
+  };
+  var renderEmptyPart = renderEmptyPartFn({
+    _vm,
+    tableData,
+    $slots,
+    renderEmpty
+  });
+  var renderFooter = renderFooterFn({
+    _vm,
+    showFooter,
+    footerData,
+    footerMethod,
+    tableColumn: tableColumn3,
+    visibleColumn,
+    vSize: vSize5
+  });
+  var renderResizeBar = renderResizeBarFn({
+    _vm,
+    isResizable: isResizable2,
+    overflowX,
+    scrollbarHeight
+  });
+  var arg1 = {
+    hasFilter: hasFilter2,
+    optimizeOpts: optimizeOpts2,
+    filterStore,
+    isCtxMenu: isCtxMenu2,
+    ctxMenuStore,
+    hasTip: hasTip2,
+    tooltipContentOpts: tooltipContentOpts2
+  };
+  var arg2 = {
+    editRules,
+    validOpts: validOpts2,
+    height: height2,
+    tableData,
+    vaildTipOpts: vaildTipOpts2,
+    id: id3,
+    _vm
+  };
+  var renderPluginWrapper = renderPluginWrapperFn(Object.assign(arg1, arg2));
+  var renderSelectToolbar = renderSelectToolbarFn({
+    selectToolbar,
+    selectToolbarStore,
+    renderedToolbar
+  });
+  return {
+    renderHeader: renderHeader2,
+    renderEmptyPart,
+    renderFooter,
+    renderResizeBar,
+    renderPluginWrapper,
+    renderSelectToolbar
+  };
+}
+var renderFooterBorder = function renderFooterBorder2(_vm) {
+  var showFooterBorder = _vm.showFooterBorder, footerBorderBottom = _vm.footerBorderBottom;
+  var cls = ["tiny-grid__footer-border-line", _vm.viewCls("footerBorder")];
+  var style = "bottom:" + footerBorderBottom + "px;";
+  return showFooterBorder ? h("div", {
+    ref: "footerBorder",
+    class: cls,
+    style
+  }) : null;
+};
+function getTableAttrs(args) {
+  var _class4;
+  var vSize5 = args.vSize, editConfig = args.editConfig, showHeader = args.showHeader, showFooter = args.showFooter, overflowY = args.overflowY, overflowX = args.overflowX, showOverflow = args.showOverflow;
+  var showHeaderOverflow = args.showHeaderOverflow, highlightCell = args.highlightCell, optimizeOpts2 = args.optimizeOpts, stripe = args.stripe, border = args.border, isGroup2 = args.isGroup, mouseConfig = args.mouseConfig;
+  var loading = args.loading, highlightHoverRow = args.highlightHoverRow, highlightHoverColumn = args.highlightHoverColumn, validOpts2 = args.validOpts;
+  var stripeSaas = args.stripeSaas, borderSaas = args.borderSaas, borderVertical = args.borderVertical, isThemeSaas3 = args.isThemeSaas;
+  var map2 = {
+    showHeader: "show__head",
+    showFooter: "show__foot",
+    overflowY: "scroll__y",
+    overflowX: "scroll__x",
+    loading: "is__loading",
+    highlightHoverRow: "row__highlight",
+    highlightHoverColumn: "column__highlight"
+  };
+  return {
+    class: (_class4 = {
+      "tiny-grid h-full sm:h-auto !bg-transparent sm:!bg-color-bg-1 after:border-none sm:after:border-solid": true
+    }, _class4["row__valid-" + validOpts2.message] = true, _class4["size__" + vSize5] = vSize5, _class4["tiny-grid-editable"] = editConfig, _class4[map2.showHeader] = showHeader, _class4[map2.showFooter] = showFooter, _class4[map2.overflowY] = overflowY, _class4[map2.overflowX] = overflowX, _class4["all-overflow"] = showOverflow, _class4["all-head-overflow"] = showHeaderOverflow, _class4["tiny-grid-cell__highlight"] = highlightCell, _class4["tiny-grid__animat"] = optimizeOpts2.animat, _class4["tiny-grid__stripe"] = !isThemeSaas3 && stripe, _class4["tiny-grid__stripe-saas"] = isThemeSaas3 && stripeSaas, _class4["tiny-grid__border"] = border || isGroup2, _class4["tiny-grid__border-saas"] = isThemeSaas3 && borderSaas, _class4["tiny-grid__group-saas"] = isThemeSaas3 && isGroup2, _class4["tiny-grid__border-vertical"] = borderVertical, _class4["tiny-grid__checked"] = mouseConfig.checked, _class4["mark-insert"] = editConfig && editConfig.markInsert, _class4["edit__no-border"] = editConfig && editConfig.showBorder === false, _class4[map2.loading] = loading, _class4[map2.highlightHoverRow] = highlightHoverRow, _class4[map2.highlightHoverColumn] = highlightHoverColumn, _class4)
+  };
+}
+var gridData = {
+  // 存储异步加载过的行\列数据
+  asyncRenderMap: {},
+  // 列分组配置
+  collectColumn: [],
+  // 存放列相关的信息
+  columnStore: {
+    // 自适应的列表集合
+    autoList: [],
+    centerList: [],
+    // 左侧冻结列表集合
+    leftList: [],
+    // 右侧冻结列表集合
+    rightList: [],
+    // 固定像素宽度列表集合
+    pxList: [],
+    // 设置了最小宽度列表集合
+    pxMinList: [],
+    // 可调整列宽列表集合
+    resizeList: [],
+    // 百分比宽度列表集合
+    scaleList: [],
+    // 百分比最小宽度列表集合
+    scaleMinList: []
+  },
+  // 存放快捷菜单的信息
+  ctxMenuStore: {
+    list: [],
+    selectChild: null,
+    selected: null,
+    showChild: false,
+    style: null,
+    visible: false
+  },
+  // 当前行
+  currentRow: null,
+  // 存放可编辑相关信息
+  editStore: {
+    editorAutoRefreshKey: 0,
+    // 激活
+    actived: {
+      column: null,
+      row: null
+    },
+    // 所有选中
+    checked: {
+      columns: [],
+      rows: [],
+      tColumns: [],
+      tRows: []
+    },
+    // 已复制源
+    copyed: {
+      columns: [],
+      cut: false,
+      rows: []
+    },
+    indexs: {
+      columns: []
+    },
+    insertList: [],
+    removeList: [],
+    // 选中源
+    selected: {
+      column: null,
+      row: null
+    },
+    titles: {
+      columns: []
+    }
+  },
+  // 已展开的行
+  expandeds: [],
+  // 当前选中的筛选列
+  filterStore: {
+    column: null,
+    condition: {
+      input: "",
+      relation: "equals"
+    },
+    id: "",
+    multi: false,
+    options: [],
+    visible: false
+  },
+  // 表尾合计数据
+  footerData: [],
+  groupData: {},
+  groupFolds: [],
+  // 所有列已禁用
+  headerCheckDisabled: false,
+  // 是否全选
+  isAllSelected: false,
+  // 多选属性,有选中且非全选状态
+  isIndeterminate: false,
+  // 是否存在横向滚动条
+  overflowX: false,
+  // 是否存在纵向滚动条
+  overflowY: true,
+  // 存储滚动加载,上次滚动的位置
+  scrollLoadStore: {
+    bodyHeight: 0,
+    scrollHeight: 0
+  },
+  // 是否启用了横向 X 可视渲染方式加载
+  scrollXLoad: false,
+  // 是否启用了纵向 Y 可视渲染方式加载
+  scrollYLoad: false,
+  // 横向滚动条的高度
+  scrollbarHeight: 0,
+  // 纵向滚动条的宽度
+  scrollbarWidth: 0,
+  // 单选属性,选中行
+  selectRow: null,
+  // 存放多选工具栏相关信息
+  selectToolbarStore: {
+    layout: {
+      height: 0,
+      left: 0,
+      top: 0,
+      width: 0,
+      zIndex: 1
+    },
+    visible: false
+  },
+  // 多选属性,已选中的列
+  selection: [],
+  // 渲染的列
+  tableColumn: [],
+  // 渲染中的数据
+  tableData: [],
+  // 完整所有列
+  tableFullColumn: [],
+  // tooltip提示内容
+  tooltipContent: "",
+  // tooltip提示内容是否处理换行字符
+  tooltipContentPre: false,
+  // 已展开树节点
+  treeExpandeds: [],
+  // 树节点不确定状态的列表
+  treeIndeterminates: [],
+  // 存放数据校验相关信息
+  validStore: {
+    column: null,
+    content: "",
+    isArrow: false,
+    row: null,
+    rule: null,
+    visible: false
+  },
+  // 校验tip提示内容
+  validTipContent: "",
+  // 在编辑模式下 单元格在失去焦点验证的状态
+  validatedMap: {},
+  // 需要显示的列 (横向开启虚拟滚动的时候表示需要渲染的列,并不是真正被内部v-for循环的列)
+  visibleColumn: [],
+  // 表尾边框线是否显示和位置
+  showFooterBorder: false,
+  footerBorderBottom: 0,
+  tableBodyHeight: 0,
+  // 表格父容器的高度
+  parentHeight: 0
+};
+var getTableData2 = function getTableData3() {
+  var tableData = {
+    // 条件处理后数据
+    afterFullData: [],
+    elemStore: {},
+    // 表尾高度
+    footerHeight: 0,
+    // 缓存数据集 rowid --> { row, rowid: rowId, index }
+    fullAllDataRowIdData: {},
+    // 缓存数据集 row --> { row, rowid: rowId, index }
+    fullAllDataRowMap: /* @__PURE__ */ new Map(),
+    // 缓存数据集 columnId --> { colid: column.id, column, index }
+    fullColumnIdData: {},
+    // 缓存数据集 column --> { colid: column.id, column, index }
+    fullColumnMap: /* @__PURE__ */ new Map(),
+    fullDataRowIdData: {},
+    fullDataRowMap: /* @__PURE__ */ new Map(),
+    // 缓存树形表格行数据以及其父级行数据的映射关系
+    parentRowMap: /* @__PURE__ */ new Map(),
+    // 临时插入数据集
+    temporaryRows: [],
+    // 表头高度
+    headerHeight: 0,
+    // 最后滚动位置
+    lastScrollLeft: 0,
+    lastScrollTop: 0,
+    // 表格父容器的高度
+    parentHeight: 0,
+    scrollDirection: "N",
+    // N,X,Y (滚动方向)
+    // 存放横向 X 虚拟滚动相关的信息
+    scrollXStore: {},
+    // 存放纵向 Y 虚拟滚动相关信息
+    scrollYStore: {},
+    // 完整数据
+    tableFullData: [],
+    // 表格高度
+    tableHeight: 0,
+    // 表格宽度
+    tableWidth: 0,
+    // 存放 tooltip 相关信息
+    tooltipStore: {},
+    // 表格已挂载完成
+    afterMounted: false,
+    // 临时任务
+    tasks: {},
+    // 列初始就绪
+    isColumnInitReady: false,
+    // 列就绪
+    isColumnReady: false
+  };
+  return tableData;
+};
+var bindEvent = function bindEvent2(ctx) {
+  event_default.on(ctx, "mousedown", ctx.handleGlobalMousedownEvent);
+  event_default.on(ctx, "mousedown", ctx.handleGlobalMousedownCaptureEvent, true);
+  event_default.on(ctx, "blur", ctx.handleGlobalBlurEvent);
+  event_default.on(ctx, "mousewheel", ctx.handleGlobalMousewheelEvent);
+  event_default.on(ctx, "keydown", ctx.handleGlobalKeydownEvent);
+  event_default.on(ctx, "resize", ctx.handleGlobalResizeEvent);
+  event_default.on(ctx, "contextmenu", ctx.handleGlobalContextmenuEvent);
+};
+var unbindEvent = function unbindEvent2(table) {
+  event_default.off(table, "mousedown");
+  event_default.off(table, "mousedown", true);
+  event_default.off(table, "blur");
+  event_default.off(table, "mousewheel");
+  event_default.off(table, "keydown");
+  event_default.off(table, "resize");
+  event_default.off(table, "contextmenu");
+};
+var Table = defineComponent({
+  name: $prefix + "GridTable",
+  props: {
+    // 所有的列对齐方式
+    align: {
+      type: String,
+      default: function _default12() {
+        return GlobalConfig$1.align;
+      }
+    },
+    // 是否自动监听父容器变化去更新响应式表格宽高
+    autoResize: Boolean,
+    // 是否带有纵向边框
+    border: {
+      type: Boolean,
+      default: function _default27() {
+        return GlobalConfig$1.border;
+      }
+    },
+    // 给单元格附加 className
+    cellClassName: [String, Function],
+    // 主键配置
+    columnKey: Boolean,
+    // 所有列最小宽度,把剩余宽度按比例分配
+    columnMinWidth: [Number, String],
+    // 所有列宽度
+    columnWidth: [Number, String],
+    // 快捷菜单配置项
+    contextMenu: Object,
+    // 初始化绑定动态列
+    customs: Array,
+    // 数据
+    data: [Array, Object],
+    // 行拖拽和列拖拽的配置
+    dropConfig: Object,
+    // 编辑配置项
+    editConfig: [Object, Boolean],
+    // 校验规则配置项
+    editRules: Object,
+    // 展开行配置项
+    expandConfig: Object,
+    // 列的宽度是否自撑开
+    fit: {
+      type: Boolean,
+      default: function _default36() {
+        return GlobalConfig$1.fit;
+      }
+    },
+    // 所有的表尾列的对齐方式
+    footerAlign: {
+      type: String,
+      default: function _default44() {
+        return GlobalConfig$1.footerAlign;
+      }
+    },
+    // 给表尾的单元格附加 className
+    footerCellClassName: [String, Function],
+    // 表尾合计的计算方法
+    footerMethod: Function,
+    // 给表尾的行附加 className
+    footerRowClassName: [String, Function],
+    // 表尾合并行或列
+    footerSpanMethod: Function,
+    // 所有的表头列的对齐方式
+    headerAlign: {
+      type: String,
+      default: function _default54() {
+        return GlobalConfig$1.headerAlign;
+      }
+    },
+    // 给表头的单元格附加 className
+    headerCellClassName: [String, Function],
+    // 给表头的行附加 className
+    headerRowClassName: [String, Function],
+    // 表头后置图标是否绝对定位
+    headerSuffixIconAbsolute: Boolean,
+    // 表格的高度
+    height: [Number, String],
+    // 激活单元格编辑时是否高亮显示
+    highlightCell: Boolean,
+    // 是否要高亮当前选中列
+    highlightCurrentColumn: {
+      type: Boolean,
+      default: function _default64() {
+        return GlobalConfig$1.highlightCurrentColumn;
+      }
+    },
+    // 是否要高亮当前选中行
+    highlightCurrentRow: {
+      type: Boolean,
+      default: function _default74() {
+        return GlobalConfig$1.highlightCurrentRow;
+      }
+    },
+    // 鼠标移到列是否要高亮显示
+    highlightHoverColumn: {
+      type: Boolean,
+      default: function _default84() {
+        return GlobalConfig$1.highlightHoverColumn;
+      }
+    },
+    // 鼠标移到行是否要高亮显示
+    highlightHoverRow: {
+      type: Boolean,
+      default: function _default94() {
+        return GlobalConfig$1.highlightHoverRow;
+      }
+    },
+    // 是否开启异步列功能
+    isAsyncColumn: Boolean,
+    isCenterEmpty: Boolean,
+    // 是否拖拽表头调整列顺序
+    isDragHeaderSorting: Boolean,
+    // 按键配置项
+    keyboardConfig: Object,
+    // 表格是否加载中
+    loading: Boolean,
+    loadingComponent: Object,
+    // 表格的最大高度
+    maxHeight: [Number, String],
+    // 表格的最小高度
+    minHeight: [Number, String],
+    // 鼠标配置项
+    mouseConfig: Object,
+    // 优化配置项
+    optimization: Object,
+    // 额外的参数
+    params: Object,
+    // 单选配置
+    radioConfig: Object,
+    // 是否所有服务端筛选
+    remoteFilter: Boolean,
+    // 是否所有服务端排序
+    remoteSort: Boolean,
+    // 空数据渲染
+    renderEmpty: Function,
+    // 自定义表格行渲染后的逻辑
+    renderRowAfter: Function,
+    // 所有列是否允许拖动列宽调整大小
+    resizable: {
+      type: Boolean,
+      default: function _default104() {
+        return GlobalConfig$1.resizable;
+      }
+    },
+    // 给行附加 className
+    rowClassName: [String, Function],
+    // 行分组配置映射表
+    rowGroup: Object,
+    rowId: {
+      type: String,
+      default: function _default112() {
+        return GlobalConfig$1.rowId;
+      }
+    },
+    rowKey: Boolean,
+    // 行合并
+    rowSpan: Array,
+    // 滚动加载(滚动分页加载)
+    scrollLoad: Object,
+    // 多选配置项
+    selectConfig: Object,
+    // 是否显示表尾合计
+    showFooter: Boolean,
+    // 是否显示表头
+    showHeader: {
+      type: Boolean,
+      default: function _default122() {
+        return GlobalConfig$1.showHeader;
+      }
+    },
+    // 设置表头所有内容过长时显示为省略号
+    showHeaderOverflow: {
+      type: [Boolean, String],
+      default: function _default13() {
+        return GlobalConfig$1.showHeaderOverflow;
+      }
+    },
+    // 设置所有内容过长时显示为省略号
+    showOverflow: {
+      type: [Boolean, String],
+      default: function _default14() {
+        return GlobalConfig$1.showOverflow;
+      }
+    },
+    // 表格的尺寸
+    size: {
+      type: String,
+      default: function _default15() {
+        return GlobalConfig$1.size;
+      }
+    },
+    // 排序配置项
+    sortConfig: Object,
+    // 自定义所有列的排序方法
+    sortMethod: Function,
+    // 全局开关控制所有的列是否可以排列
+    sortable: {
+      type: Boolean,
+      default: true
+    },
+    // 合并行或列
+    spanMethod: Function,
+    // 只对 type=index 时有效,自定义序号的起始值
+    startIndex: {
+      type: Number,
+      default: 0
+    },
+    // 是否带有斑马纹
+    stripe: {
+      type: Boolean,
+      default: function _default16() {
+        return GlobalConfig$1.stripe;
+      }
+    },
+    // saas下是否带有斑马纹
+    stripeSaas: {
+      type: Boolean,
+      default: function _default17() {
+        return GlobalConfig$1.stripeSaas;
+      }
+    },
+    // saas下是否带有下边框线
+    borderSaas: {
+      type: Boolean,
+      default: function _default18() {
+        return GlobalConfig$1.borderSaas;
+      }
+    },
+    // saas下配置竖线
+    borderVertical: {
+      type: Boolean,
+      default: function _default19() {
+        return GlobalConfig$1.borderVertical;
+      }
+    },
+    // 默认统计配置
+    summaryConfig: Object,
+    // 是否自动根据状态属性去更新响应式表格宽高
+    syncResize: Boolean,
+    tableLayout: String,
+    // tooltip 配置项
+    tooltipConfig: {
+      type: Object,
+      default: function _default20() {
+        return {};
+      }
+    },
+    // 树形结构配置项
+    treeConfig: Object,
+    // 校验配置项
+    validConfig: Object,
+    // 多端卡片配置
+    cardConfig: Object,
+    // 视图类型
+    viewType: {
+      type: String,
+      default: function _default21() {
+        return V_DEFAULT;
+      }
+    },
+    // 移动优先视图下展示类型
+    mfShow: {
+      type: String,
+      default: function _default222() {
+        return V_MF_LIST;
+      }
+    },
+    // 列锚点
+    columnAnchor: Array,
+    // 表尾自定义渲染
+    renderFooter: Function,
+    // 多端列表配置
+    listConfig: Object,
+    // 多端甘特配置
+    ganttConfig: Object,
+    // 数据预取配置
+    prefetch: [Boolean, Array],
+    // 相交配置
+    intersectionOption: Object,
+    // 值比较方法
+    equals: Function,
+    // 操作列(type为index或radio或selection的列)是否可拖动列宽
+    operationColumnResizable: {
+      type: Boolean,
+      default: function _default232() {
+        return GlobalConfig$1.operationColumnResizable;
+      }
+    },
+    // 自动清空鼠标选中
+    autoClearMouseChecked: {
+      type: Boolean,
+      default: true
+    }
+  },
+  provide: function provide22() {
+    return {
+      $table: this,
+      // 嵌套表格屏蔽父表格列
+      $column: null
+    };
+  },
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  data: function data5() {
+    return extend(true, {
+      id: uniqueId_default()
+    }, gridData);
+  },
+  computed: {
+    bodyCtxMenu: function bodyCtxMenu() {
+      return this.ctxMenuOpts.body && this.ctxMenuOpts.body.options ? this.ctxMenuOpts.body.options : [];
+    },
+    ctxMenuList: function ctxMenuList() {
+      var rest = [];
+      this.ctxMenuStore.list.forEach(function(list) {
+        return list.forEach(function(item) {
+          return rest.push(item);
+        });
+      });
+      return rest;
+    },
+    ctxMenuOpts: function ctxMenuOpts() {
+      return extend(true, {}, GlobalConfig$1.menu, this.contextMenu);
+    },
+    hasFilter: function hasFilter() {
+      return this.tableColumn.some(function(column) {
+        return isObject$1(column.filter) && !isEmptyObject(column.filter);
+      });
+    },
+    hasTip: function hasTip() {
+      return GridAdapter._tooltip;
+    },
+    headerCtxMenu: function headerCtxMenu() {
+      return this.ctxMenuOpts.header && this.ctxMenuOpts.header.options ? this.ctxMenuOpts.header.options : [];
+    },
+    isCtxMenu: function isCtxMenu() {
+      return this.headerCtxMenu.length || this.bodyCtxMenu.length;
+    },
+    // 是否使用了分组表头
+    isGroup: function isGroup() {
+      return this.collectColumn.some(function(column) {
+        return hasChildrenList(column);
+      });
+    },
+    isResizable: function isResizable() {
+      return this.resizable || this.tableFullColumn.some(function(column) {
+        return column.resizable;
+      });
+    },
+    optimizeOpts: function optimizeOpts() {
+      return extend(true, {}, GlobalConfig$1.optimization, this.optimization);
+    },
+    sortOpts: function sortOpts() {
+      return extend(true, {}, GlobalConfig$1.sortConfig, this.sortConfig);
+    },
+    tooltipContentOpts: function tooltipContentOpts() {
+      return extend(true, {
+        content: this.tooltipContent,
+        pre: this.tooltipContentPre,
+        //  pre 元素可定义预格式化的文本
+        placement: "right",
+        type: this.tooltipConfig.effect ? void 0 : "normal"
+      }, this.tooltipConfig);
+    },
+    // 表格尺寸(medium|small|mini)
+    vSize: function vSize2() {
+      return this.size || this.$parent && this.$parent.size || this.$parent && this.$parent.vSize;
+    },
+    vaildTipOpts: function vaildTipOpts() {
+      return extend(true, {
+        isArrow: false,
+        placement: "top",
+        type: "error",
+        content: this.validTipContent
+      }, this.tooltipConfig);
+    },
+    validOpts: function validOpts() {
+      var _this$$grid3, _this$$grid3$designCo;
+      var config2 = Object.assign({
+        message: "tooltip"
+      }, GlobalConfig$1.validConfig, (_this$$grid3 = this.$grid) == null ? void 0 : (_this$$grid3$designCo = _this$$grid3.designConfig) == null ? void 0 : _this$$grid3$designCo.validConfig, this.validConfig);
+      config2.isMessageTooltip = config2.message === "tooltip";
+      config2.isMessageDefault = config2.message === "default";
+      config2.isMessageInline = config2.message === "inline";
+      return config2;
+    },
+    computerTableBodyHeight: function computerTableBodyHeight() {
+      return this.tableBodyHeight === 0 ? "calc(100% - 36px)" : this.tableBodyHeight + "px";
+    },
+    isThemeTiny: function isThemeTiny() {
+      return this.tinyTheme === T_TINY;
+    },
+    isThemeSaas: function isThemeSaas() {
+      return this.tinyTheme === T_SAAS$1;
+    },
+    isViewDefault: function isViewDefault() {
+      return this.viewType === V_DEFAULT;
+    },
+    isShapeTable: function isShapeTable() {
+      return this.isViewDefault || this.viewType === V_MF$1 && this.$grid.currentBreakpoint !== "default";
+    }
+  },
+  watch: {
+    collectColumn: function collectColumn(value) {
+      this.watchColumn(value);
+    },
+    customs: function customs(value) {
+      !this.isUpdateCustoms && this.mergeCustomColumn(value);
+      this.isUpdateCustoms = false;
+    },
+    height: function height() {
+      this.$nextTick(this.recalculate);
+    },
+    data: function data6() {
+      this.handleDataChange();
+    },
+    // 此属性暂时没有找到应用的demo,从语义上来说,觉得可以删除,官网有对应api但是没有对应的示例
+    syncResize: function syncResize(value) {
+      value && this.$nextTick(this.recalculate);
+    },
+    tableColumn: function tableColumn2() {
+      this.analyColumnWidth();
+      this.handleSelectionHeader();
+    },
+    parentHeight: function parentHeight() {
+      this.$nextTick(this.recalculate);
+    }
+  },
+  created: function created22() {
+    var _Object$assign = Object.assign(this, getTableData2()), scrollXStore = _Object$assign.scrollXStore, scrollYStore = _Object$assign.scrollYStore, optimizeOpts2 = _Object$assign.optimizeOpts, data8 = _Object$assign.data;
+    var scrollX = optimizeOpts2.scrollX, scrollY = optimizeOpts2.scrollY;
+    verifyConfig(this);
+    mergeScrollDirStore(scrollX, scrollXStore);
+    mergeScrollDirStore(scrollY, scrollYStore);
+    loadStatic(data8, this);
+    mergeTreeConfig(this);
+    initDrop(this);
+    bindEvent(this);
+    this.watchDataForVue3();
+    this.$grid.connect({
+      name: "table",
+      vm: this
+    });
+  },
+  mounted: function mounted5() {
+    var _this58 = this;
+    if (this.$refs.tableWrapper) {
+      document.body.appendChild(this.$refs.tableWrapper);
+    }
+    this.$nextTick().then(function() {
+      _this58.afterMounted = true;
+      if (_this58.autoResize && GridAdapter._resize) {
+        _this58.bindResize();
+      }
+    });
+    setTimeout(function() {
+      var tableFooter = _this58.$refs.tableFooter;
+      _this58.showFooterBorder = !!tableFooter;
+      _this58.footerBorderBottom = tableFooter ? tableFooter.$el.getBoundingClientRect().height : 0;
+    });
+  },
+  activated: function activated() {
+    var lastScrollLeft = this.lastScrollLeft, lastScrollTop = this.lastScrollTop, scrollXLoad = this.scrollXLoad, scrollYLoad = this.scrollYLoad;
+    if (lastScrollLeft || lastScrollTop) {
+      this.scrollTo(lastScrollLeft, lastScrollTop);
+      scrollXLoad && this.triggerScrollXEvent();
+      scrollYLoad && this.triggerScrollYEvent({
+        target: {
+          scrollTop: lastScrollTop
+        }
+      });
+    }
+    bindEvent(this);
+  },
+  setup: function setup62(props2, context) {
+    var slots = context.slots, attrs = context.attrs, listeners = context.listeners;
+    var table = getCurrentInstance().proxy;
+    var tinyTheme = ref(resolveTheme(props2, context));
+    onBeforeUnmount(function() {
+      var elemStore = table.elemStore, $refs = table.$refs;
+      var containerList = ["main", "left", "right"];
+      var tableWrapper = $refs.tableWrapper;
+      if (tableWrapper && tableWrapper.parentNode) {
+        tableWrapper.parentNode.removeChild(tableWrapper);
+      }
+      if (GridAdapter._resize) {
+        table.unbindResize();
+      }
+      table.closeFilter();
+      table.closeMenu();
+      table.columnSortable && table.columnSortable.destroy();
+      table.rowSortable && table.rowSortable.destroy();
+      containerList.forEach(function(layout) {
+        var ySpaceElem = elemStore[layout + "-body-ySpace"];
+        if (ySpaceElem) {
+          ySpaceElem.onscroll = null;
+        }
+      });
+      unbindEvent(table);
+      clearOnTableUnmount(table);
+    });
+    onDeactivated(function() {
+      unbindEvent(table);
+    });
+    var tableListeners = getListeners(attrs, listeners);
+    return {
+      slots,
+      tableListeners,
+      tinyTheme
+    };
+  },
+  render: function render14() {
+    var border = this.border, collectColumn2 = this.collectColumn, columnStore = this.columnStore, editConfig = this.editConfig, highlightCell = this.highlightCell, highlightHoverColumn = this.highlightHoverColumn;
+    var highlightHoverRow = this.highlightHoverRow, isGroup2 = this.isGroup, loading = this.loading, loadingComponent = this.loadingComponent, _this$mouseConfig2 = this.mouseConfig, mouseConfig = _this$mouseConfig2 === void 0 ? {} : _this$mouseConfig2, optimizeOpts2 = this.optimizeOpts;
+    var overflowX = this.overflowX, overflowY = this.overflowY, showFooter = this.showFooter, showHeader = this.showHeader, showHeaderOverflow = this.showHeaderOverflow, showOverflow = this.showOverflow, isThemeSaas3 = this.isThemeSaas;
+    var stripe = this.stripe, tableColumn3 = this.tableColumn, tableData = this.tableData, validOpts2 = this.validOpts, vSize5 = this.vSize, visibleColumn = this.visibleColumn, slots = this.slots, $slots = this.$slots, stripeSaas = this.stripeSaas, borderSaas = this.borderSaas, isShapeTable2 = this.isShapeTable;
+    var borderVertical = this.borderVertical, cardConfig = this.cardConfig, listConfig = this.listConfig, ganttConfig = this.ganttConfig;
+    var leftList = columnStore.leftList, rightList = columnStore.rightList;
+    var props2 = {
+      tableData,
+      tableColumn: tableColumn3,
+      visibleColumn,
+      collectColumn: collectColumn2,
+      size: vSize5,
+      isGroup: isGroup2
+    };
+    Object.assign(props2, {
+      cardConfig,
+      listConfig,
+      ganttConfig
+    });
+    var args = {
+      $slots: slots,
+      _vm: this,
+      leftList,
+      optimizeOpts: optimizeOpts2,
+      overflowX,
+      props: props2,
+      rightList
+    };
+    Object.assign(args, {
+      showFooter,
+      showHeader,
+      tableColumn: tableColumn3,
+      tableData,
+      vSize: vSize5,
+      visibleColumn
+    });
+    var renders = getRenderer(args);
+    var renderHeader2 = renders.renderHeader, renderEmptyPart = renders.renderEmptyPart, renderFooter = renders.renderFooter;
+    var renderResizeBar = renders.renderResizeBar, renderPluginWrapper = renders.renderPluginWrapper, renderSelectToolbar = renders.renderSelectToolbar;
+    args = {
+      vSize: vSize5,
+      editConfig,
+      showHeader,
+      showFooter,
+      overflowY,
+      overflowX,
+      showOverflow
+    };
+    Object.assign(args, {
+      showHeaderOverflow,
+      highlightCell,
+      optimizeOpts: optimizeOpts2,
+      stripe,
+      border,
+      isGroup: isGroup2,
+      mouseConfig
+    });
+    Object.assign(args, {
+      loading,
+      highlightHoverRow,
+      highlightHoverColumn,
+      validOpts: validOpts2
+    });
+    Object.assign(args, {
+      stripeSaas,
+      borderSaas,
+      borderVertical,
+      isThemeSaas: isThemeSaas3
+    });
+    return h("div", getTableAttrs(args), [
+      // 隐藏列
+      h("div", {
+        class: "tiny-grid-hidden-column",
+        ref: "hideColumn"
+      }, typeof $slots.default === "function" ? $slots.default() : $slots.default),
+      // 主头部
+      renderHeader2(),
+      // 居中显示空数据
+      renderEmptyPart(),
+      // 主内容
+      h(Body, {
+        ref: "tableBody",
+        props: props2,
+        class: this.viewCls("tableBody")
+      }),
+      // 底部汇总
+      renderFooter(),
+      // 边框线
+      h("div", {
+        class: ["tiny-grid__border-line", this.viewCls("borderLine")],
+        key: "tinyGridBorderLine"
+      }),
+      // 列拖拽参考线
+      renderResizeBar(),
+      // 加载中
+      h(Loading, {
+        props: {
+          visible: loading,
+          loadingComponent
+        },
+        class: this.viewCls("gridLoading")
+      }),
+      // 筛选、快捷菜单、Tip提示、校验提示
+      renderPluginWrapper(),
+      // 多选工具栏
+      renderSelectToolbar(),
+      // 多端表格(默认主题或默认视图/mf大屏下,不渲染)
+      !isShapeTable2 ? h(MfTable, {
+        ref: "mfTable",
+        props: props2
+      }) : null,
+      // 表尾边框线
+      renderFooterBorder(this)
+    ]);
+  },
+  methods: _extends$2({}, methods, {
+    handleDataChange: function handleDataChange() {
+      if (Array.isArray(this.data)) {
+        !this._isUpdateData && this.loadTableData(this.data, true).then(this.handleDefault).then(this.handleSelectionHeader);
+        this._isUpdateData = false;
+      }
+    },
+    viewCls: function viewCls(module) {
+      return this.$grid.viewCls(module);
+    }
+  })
+});
+Table.install = function(Vue) {
+  GridAdapter.Vue = Vue;
+  GridAdapter.Table = Table;
+  Vue.component(Table.name, Table);
+};
+var Column = defineComponent({
+  name: $prefix + "GridColumn",
+  componentName: "GridColumn",
+  props: _extends$2({}, $props, {
+    // 列对齐方式
+    align: String,
+    // 给单元格附加 className
+    className: [String, Function],
+    // 单元格编辑渲染配置项
+    editor: [Object, Function],
+    // 列属性
+    field: String,
+    filter: {},
+    // 自定义筛选方法
+    filterMethod: Function,
+    // 筛选是否允许多选
+    filterMultiple: {
+      type: Boolean,
+      default: true
+    },
+    // 筛选模板配置项
+    filterRender: Object,
+    // 配置筛选条件数组
+    filters: Array,
+    // 将列固定在左侧或者右侧
+    fixed: String,
+    // 表尾列的对齐方式
+    footerAlign: String,
+    // 给表尾单元格附加 className
+    footerClassName: [String, Function],
+    // 格式化配置
+    formatConfig: {
+      type: Object,
+      default: function _default242() {
+        return {
+          data: []
+        };
+      }
+    },
+    // 格式化显示内容
+    formatText: [Function, String],
+    // 格式化单元格编辑器组件的传入值
+    formatValue: Function,
+    group: {
+      type: Boolean,
+      default: false
+    },
+    // 表头对齐方式
+    headerAlign: String,
+    // 给表头单元格附加 className
+    headerClassName: [String, Function],
+    // 自定义索引方法
+    indexMethod: Function,
+    // 在 v3.0 中废弃 label
+    label: String,
+    // 列最小宽度,把剩余宽度按比例分配
+    minWidth: [Number, String],
+    // 额外的参数
+    params: Object,
+    // 在 v3.0 中废弃 prop
+    prop: String,
+    // 是否服务端排序
+    remoteSort: {
+      type: Boolean,
+      default: null
+    },
+    // 单元格渲染配置项
+    renderer: [Object, Function],
+    // 是否必填,如不设置,则会根据校验规则自动生成
+    required: {
+      type: Boolean,
+      default: false
+    },
+    // 是否允许拖动列宽调整大小
+    resizable: {
+      type: Boolean,
+      default: null
+    },
+    // 表单的验证功能
+    rules: Object,
+    // 当表头内容过长时显示为省略号
+    showHeaderOverflow: {
+      type: [Boolean, String],
+      default: null
+    },
+    // 显示列头提示
+    showHeaderTip: {
+      type: Boolean,
+      default: null
+    },
+    // 是否显示列头编辑图标
+    showIcon: {
+      type: Boolean,
+      default: true
+    },
+    // 当内容过长时显示为省略号
+    showOverflow: {
+      type: [Boolean, String],
+      default: null
+    },
+    // 显示列内容提示
+    showTip: {
+      type: Boolean,
+      default: null
+    },
+    // 自定义排序的属性
+    sortBy: [String, Array],
+    // 自定义排序方法
+    sortMethod: Function,
+    // 是否允许排序
+    sortable: {
+      type: Boolean,
+      default: false
+    },
+    // 列标题
+    title: [String, Function],
+    // 指定为树节点
+    treeNode: Boolean,
+    // 渲染类型: index,radio,selection,expand,operation,默认值空串
+    type: String,
+    // 列宽度
+    width: [Number, String],
+    // 操作列配置
+    operationConfig: Object,
+    // 值比较方法
+    equals: Function
+  }),
+  provide: function provide3() {
+    return {
+      $column: this
+    };
+  },
+  setup: function setup72(props2, _ref190) {
+    var slots = _ref190.slots;
+    var reactive$1 = reactive, onBeforeUnmount$1 = onBeforeUnmount, inject$1 = inject, getCurrentInstance$1 = getCurrentInstance, onUpdated$1 = onUpdated, watch$1 = watch, nextTick$1 = nextTick, markRaw$1 = markRaw;
+    var currentInstance = getCurrentInstance$1();
+    var instance = currentInstance.proxy;
+    var $grid = inject$1("$grid");
+    var $table = inject$1("$table");
+    var $column = inject$1("$column", null);
+    var slotsCache = {};
+    var state = reactive$1({
+      // 穿件表格列实例化对象
+      columnConfig: CellDefault.createColumn($table, props2),
+      slots,
+      cacheKey: markRaw$1({
+        uid: currentInstance.uid
+      }),
+      // 如果是静态数据源,就拿第一行数据
+      firstRow: !$grid.fetchOption && $grid.data && $grid.data.length ? $grid.data[0] : {}
+    });
+    watch$1(function() {
+      return props2.formatConfig;
+    }, function() {
+      state.columnConfig = CellDefault.createColumn($table, props2);
+    });
+    onUpdated$1(function() {
+      var slotsChange = Object.keys(instance.slots || {}).some(function(key) {
+        var _slotsCache;
+        return !(((_slotsCache = slotsCache) == null ? void 0 : _slotsCache[key]) === instance.slots[key]);
+      });
+      if (slotsChange) {
+        slotsCache = _extends$2({}, instance.slots);
+        state.columnConfig.slots = slotsCache;
+      }
+    });
+    nextTick$1(function() {
+      return assemColumn($table, $column, instance);
+    });
+    onBeforeUnmount$1(function() {
+      return destroyColumn($table, instance);
+    });
+    return state;
+  },
+  render: function render15() {
+    var slots = this.slots, firstRow = this.firstRow, columnConfig = this.columnConfig;
+    var slotVnode;
+    try {
+      slotVnode = slots.default && slots.default({
+        row: firstRow,
+        column: columnConfig,
+        skip: true
+      });
+    } catch (e) {
+      slotVnode = null;
+      warn$1("ui.grid.error.chainCallError");
+    }
+    return h("div", slotVnode);
+  },
+  methods: CellDefault
+});
+Column.install = function(Vue) {
+  Vue.component(Column.name, Column);
+};
+var themes = GlobalConfig$1.themes, viewConfig = GlobalConfig$1.viewConfig;
+var T_SAAS = themes.SAAS;
+var V_GANTT = viewConfig.GANTT, V_MF = viewConfig.MF, V_CARD = viewConfig.CARD;
+var propKeys = Object.keys(Table.props);
+function createRender(opt) {
+  var _class5;
+  var h2 = opt.h, _vm = opt._vm, vSize5 = opt.vSize, props2 = opt.props, selectToolbar = opt.selectToolbar, $slots = opt.$slots, tableOns = opt.tableOns, renderedToolbar = opt.renderedToolbar, loading = opt.loading, pagerConfig = opt.pagerConfig, pager = opt.pager, tableLoading = opt.tableLoading, viewType2 = opt.viewType, columnAnchorParams2 = opt.columnAnchorParams, columnAnchor = opt.columnAnchor, fullScreenClass = opt.fullScreenClass;
+  return h2("div", {
+    class: (_class5 = {}, _class5["tiny-grid__wrapper tiny-grid view_" + viewType2] = true, _class5["!bg-transparent sm:!bg-color-bg-1"] = viewType2 === V_MF || viewType2 === V_CARD, _class5["size__" + vSize5] = vSize5, _class5["tiny-grid__animat"] = props2.optimization.animat, _class5[fullScreenClass] = true, _class5)
+  }, [
+    selectToolbar ? null : renderedToolbar,
+    columnAnchor ? _vm.renderColumnAnchor(columnAnchorParams2, _vm) : null,
+    // 这里会渲染tiny-grid-column插槽内容,从而获取列配置
+    h2(Table, {
+      props: props2,
+      on: tableOns,
+      ref: "tinyTable"
+    }, $slots.default && $slots.default()),
+    _vm.renderPager({
+      $slots,
+      _vm,
+      loading,
+      pager,
+      pagerConfig,
+      tableLoading,
+      vSize: vSize5
+    })
+  ]);
+}
+var Grid = defineComponent({
+  name: $prefix + "Grid",
+  provide: function provide4() {
+    return {
+      $grid: this
+    };
+  },
+  props: _extends$2({}, $props, {
+    columns: Array,
+    proxyConfig: Object,
+    fetchData: Object,
+    saveData: Object,
+    deleteData: Object,
+    toolbar: Object,
+    pager: Object,
+    dataset: Object,
+    autoLoad: {
+      type: Boolean,
+      default: true
+    },
+    seqSerial: {
+      type: Boolean,
+      default: false
+    },
+    events: Object
+  }, Table.props, {
+    isBeforePageChange: Boolean,
+    showSaveMsg: {
+      type: Boolean,
+      default: false
+    },
+    isMultipleHistory: Boolean,
+    selectToolbar: [Boolean, Object]
+  }),
+  data: function data7() {
+    return {
+      emitter: emitter(),
+      fetchOption: null,
+      filterData: [],
+      listeners: {},
+      pagerConfig: null,
+      // 存放标记为删除的行数据
+      pendingRecords: [],
+      sortData: {},
+      tableCustoms: [],
+      tableData: [],
+      tableLoading: false,
+      tablePage: {
+        total: 0,
+        pageSize: 10,
+        currentPage: 1
+      },
+      columnAnchorParams: {},
+      columnAnchorKey: "",
+      tasks: {},
+      fullScreenClass: "",
+      isInitialLoading: true
+      // 是否首次加载数据
+    };
+  },
+  computed: {
+    // 工具栏按钮保存和删除时是否弹出提示信息
+    isMsg: function isMsg() {
+      return this.proxyOpts.message !== false;
+    },
+    tableProps: function tableProps() {
+      var _this59 = this;
+      var rest = {};
+      propKeys.forEach(function(key) {
+        return rest[key] = _this59[key];
+      });
+      return rest;
+    },
+    proxyOpts: function proxyOpts() {
+      return extend(true, {}, GlobalConfig$1.grid.proxyConfig, this.proxyConfig);
+    },
+    vSize: function vSize3() {
+      return this.size || this.$parent && this.$parent.size || this.$parent && this.$parent.vSize;
+    },
+    seqIndex: function seqIndex() {
+      var seqSerial = this.seqSerial, scrollLoad = this.scrollLoad, pagerConfig = this.pagerConfig, startIndex = this.startIndex;
+      var seqIndexValue = startIndex;
+      if ((seqSerial || scrollLoad) && pagerConfig) {
+        seqIndexValue = (pagerConfig.currentPage - 1) * pagerConfig.pageSize + startIndex;
+      }
+      return seqIndexValue;
+    },
+    isThemeSaas: function isThemeSaas2() {
+      return this.tinyTheme === T_SAAS;
+    },
+    isModeMobileFirst: function isModeMobileFirst() {
+      return this.tinyMode === "mobile-first";
+    },
+    isViewGantt: function isViewGantt() {
+      return this.viewType === V_GANTT;
+    }
+  },
+  watch: {
+    // 监听配置式columns数组
+    columns: function columns(cols) {
+      this.loadColumn(cols);
+    },
+    tableCustoms: function tableCustoms() {
+      this.toolbar && this.$refs.toolbar && this.$refs.toolbar.loadStorage();
+    },
+    columnAnchorParams: function columnAnchorParams() {
+      var _this60 = this;
+      setTimeout(function() {
+        return _this60.emitter.emit("active-anchor");
+      }, this.columnAnchorParams.activeAnchor.delay);
+    },
+    viewType: function viewType(value) {
+      var _this61 = this;
+      if (value === V_MF && this.fullScreenClass) {
+        this.$nextTick(function() {
+          return _this61.recalculate(true);
+        });
+      }
+    }
+  },
+  created: function created3() {
+    this.vmStore = /* @__PURE__ */ Object.create(null);
+    this.fetchOption = this.initFetchOption();
+    this.pagerConfig = this.initPagerConfig();
+    var customs2 = this.customs, events = this.events, prefetch = this.prefetch, fetchOption = this.fetchOption, autoLoad = this.autoLoad;
+    if (customs2) {
+      this.tableCustoms = customs2;
+    }
+    if (events) {
+      var listeners = {};
+      for (var event in events) {
+        if (Object.prototype.hasOwnProperty.call(events, event)) {
+          var evkey = event.replace(/\B([A-Z])/g, "-$1").toLowerCase();
+          listeners[evkey] = events[event];
+          if (~["pageChange", "sortChange", "filterChange", "toolbarButtonClick"].indexOf(event)) {
+            this.emitter.on(evkey, events[event]);
+          }
+        }
+      }
+      this.listeners = listeners;
+    }
+    if (prefetch && fetchOption && autoLoad !== false) {
+      if (Array.isArray(prefetch)) {
+        this.commitProxy("prefetch", prefetch);
+      } else {
+        this.commitProxy("prefetch");
+      }
+    }
+  },
+  mounted: function mounted6() {
+    var columns2 = this.columns, fetchOption = this.fetchOption, autoLoad = this.autoLoad, pagerSlot = this.pagerSlot, prefetch = this.prefetch;
+    if (pagerSlot) {
+      var _pagerSlot$componentO = pagerSlot.componentOptions.listeners, listeners = _pagerSlot$componentO === void 0 ? {} : _pagerSlot$componentO, componentInstance = pagerSlot.componentInstance;
+      if (!listeners["size-change"]) {
+        componentInstance.$on("size-change", this.pageSizeChange);
+      }
+      if (!listeners["current-change"]) {
+        componentInstance.$on("current-change", this.pageCurrentChange);
+      }
+    }
+    if (columns2 && columns2.length) {
+      this.loadColumn(this.columns);
+    }
+    if (!prefetch && fetchOption) {
+      if (this._pageSizeChangeCallback) {
+        this._pageSizeChangeCallback();
+        this._pageSizeChangeCallback = null;
+      } else if (autoLoad) {
+        var toolbarVm = this.getVm("toolbar");
+        this.commitProxy("query", toolbarVm && toolbarVm.orderSetting());
+      }
+    }
+    if (this.isMultipleHistory) {
+      this.initMultipleHistory();
+    }
+    this.addIntersectionObserver();
+  },
+  setup: function setup82(props2, context) {
+    var listeners = context.listeners, attrs = context.attrs;
+    var tableListeners = getListeners(attrs, listeners);
+    var tinyTheme = ref(resolveTheme(props2, context));
+    var tinyMode = ref(resolveMode(props2, context));
+    var breakpoint = useBreakpoint();
+    var renderless2 = function renderless22(props22, hooks2, _ref191) {
+      var _ref191$designConfig = _ref191.designConfig, designConfig = _ref191$designConfig === void 0 ? null : _ref191$designConfig;
+      return {
+        tableListeners,
+        designConfig,
+        tinyTheme,
+        tinyMode,
+        currentBreakpoint: breakpoint.current
+      };
+    };
+    onBeforeUnmount(function() {
+      var gridVm = getCurrentInstance().proxy;
+      gridVm.removeIntersectionObserver();
+      gridVm.vmStore = null;
+    });
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless2,
+      api: ["designConfig", "tableListeners", "tinyTheme", "tinyMode", "currentBreakpoint"]
+    });
+  },
+  render: function render16() {
+    var _this62 = this;
+    var editConfig = this.editConfig, fetchOption = this.fetchOption, listeners = this.listeners, loading = this.loading, optimization = this.optimization, pager = this.pager, pagerConfig = this.pagerConfig, remoteFilter = this.remoteFilter, remoteSort = this.remoteSort, selectToolbar = this.selectToolbar;
+    var seqIndex2 = this.seqIndex, $slots = this.slots, tableCustoms2 = this.tableCustoms, tableData = this.tableData, tableListeners = this.tableListeners, tableLoading = this.tableLoading, tableProps2 = this.tableProps, toolbar = this.toolbar, vSize5 = this.vSize, designConfig = this.designConfig, viewType2 = this.viewType;
+    var columnAnchor = this.columnAnchor, columnAnchorParams2 = this.columnAnchorParams, fullScreenClass = this.fullScreenClass;
+    if (designConfig != null && designConfig.icons) {
+      Object.assign(GlobalConfig$1.icon, designConfig.icons);
+    }
+    var optimizOpt = _extends$2({}, GlobalConfig$1.optimization, optimization);
+    var props2 = _extends$2({}, tableProps2, {
+      optimization: optimizOpt,
+      startIndex: seqIndex2
+    });
+    if ((designConfig == null ? void 0 : designConfig.stripe) !== void 0 && !props2.stripe) {
+      props2.stripe = designConfig == null ? void 0 : designConfig.stripe;
+    }
+    var tableOns = _extends$2({}, listeners, tableListeners);
+    var rowClassName = this.handleRowClassName, sortChangeEvent2 = this.sortChangeEvent, filterChangeEvent2 = this.filterChangeEvent;
+    if (fetchOption) {
+      Object.assign(props2, {
+        loading: loading || tableLoading,
+        data: tableData,
+        rowClassName
+      });
+      remoteSort && (tableOns["sort-change"] = sortChangeEvent2);
+      remoteFilter && (tableOns["filter-change"] = filterChangeEvent2);
+    }
+    toolbar && !(toolbar.setting && toolbar.setting.storage) && (props2.customs = tableCustoms2);
+    toolbar && (tableOns["update:customs"] = function(value) {
+      return _this62.tableCustoms = value;
+    });
+    tableOns["column-init-ready"] = this.handleColumnInitReady;
+    if (editConfig) {
+      props2.editConfig = _extends$2({
+        trigger: "click",
+        mode: "cell",
+        showStatus: true
+      }, editConfig, {
+        activeMethod: this.handleActiveMethod
+      });
+    }
+    var renderedToolbar = this.getRenderedToolbar({
+      $slots,
+      _vm: this,
+      loading,
+      tableLoading,
+      toolbar
+    });
+    return createRender({
+      h,
+      _vm: this,
+      vSize: vSize5,
+      props: props2,
+      selectToolbar,
+      renderedToolbar,
+      tableOns,
+      $slots,
+      loading,
+      pager,
+      pagerConfig,
+      tableLoading,
+      viewType: viewType2,
+      columnAnchorParams: columnAnchorParams2,
+      columnAnchor,
+      fullScreenClass
+    });
+  },
+  methods: {
+    updateParentHeight: function updateParentHeight2() {
+      var _this63 = this;
+      if (!this.tasks.updateParentHeight) {
+        this.tasks.updateParentHeight = debounce_default(10, function() {
+          var $el = _this63.$el, $refs = _this63.$refs;
+          var tinyTable = $refs.tinyTable;
+          var toolbarVm = _this63.getVm("toolbar");
+          if (tinyTable) {
+            tinyTable.parentHeight = $el.parentNode.clientHeight - (toolbarVm ? toolbarVm.$el.clientHeight : 0) - ($refs.pager ? $refs.pager.$el.clientHeight : 0);
+          }
+        });
+      }
+      this.tasks.updateParentHeight();
+    },
+    // 向缓存添加实例
+    connect: function connect2(_ref192) {
+      var name = _ref192.name, vm = _ref192.vm;
+      if (name && typeof name === "string" && vm) {
+        this.vmStore[name] = vm;
+      }
+    },
+    createJob: function createJob(type, callback) {
+      if (type === "pageSizeChangeCallback") {
+        this._pageSizeChangeCallback = callback;
+      } else if (type === "updateCustomsCallback") {
+        this._updateCustomsCallback = callback;
+      }
+    },
+    // 从缓存获取实例
+    getVm: function getVm2(name) {
+      if (name && typeof name === "string" && this.vmStore) {
+        return this.vmStore[name];
+      }
+    },
+    // 列就绪时的处理
+    handleColumnInitReady: function handleColumnInitReady() {
+      if (this._updateCustomsCallback) {
+        this._updateCustomsCallback();
+        this._updateCustomsCallback = null;
+      }
+    },
+    handleRowClassName: function handleRowClassName(params) {
+      var rowClassName = this.rowClassName;
+      var clss = [];
+      if (this.pendingRecords.includes(params.row)) {
+        clss.push("row__pending");
+      }
+      return clss.concat(rowClassName ? rowClassName(params) : []);
+    },
+    handleActiveMethod: function handleActiveMethod(params) {
+      return !~this.pendingRecords.indexOf(params.row) && (!this.editConfig.activeMethod || this.editConfig.activeMethod(params));
+    },
+    sortChangeEvent: function sortChangeEvent(params) {
+      var remoteSort = this.remoteSort;
+      var column = params.column;
+      var eventParams = extend(false, {
+        $grid: this
+      }, params);
+      if (isBoolean_default(column.remoteSort) ? column.remoteSort : remoteSort) {
+        this.sortData = params;
+        this.tablePage.currentPage = 1;
+        this.commitProxy("query");
+      }
+      emitEvent$1(this, "sort-change", eventParams);
+      this.emitter.emit("sort-change", eventParams);
+    },
+    viewCls: function viewCls2(module) {
+      return GlobalConfig$1.viewConfig[module][this.viewType] || "";
+    },
+    // 监听某个元素是否出现在视口中
+    addIntersectionObserver: function addIntersectionObserver() {
+      var _this64 = this;
+      if (this.intersectionOption && this.intersectionOption.disabled)
+        return;
+      this.intersectionObserver = new IntersectionObserver(function(entries) {
+        var entry = entries[0];
+        if (entries.length > 1) {
+          var intersectingEntry = entries.find(function(entry2) {
+            return entry2.isIntersecting;
+          });
+          if (intersectingEntry) {
+            entry = intersectingEntry;
+          }
+        }
+        _this64.handleVisibilityChange(entry.isIntersecting, entry);
+      }, this.intersectionOption);
+      this.intersectionObserver.observe(this.$el);
+    },
+    removeIntersectionObserver: function removeIntersectionObserver() {
+      if (this.intersectionObserver) {
+        this.intersectionObserver.unobserve(this.$el);
+        this.intersectionObserver.disconnect();
+        this.intersectionObserver = null;
+      }
+    },
+    filterChangeEvent: function filterChangeEvent(params) {
+      var eventParams = extend(false, {
+        $grid: this
+      }, params);
+      if (this.remoteFilter) {
+        this.filterData = params.filters;
+        this.commitProxy("query");
+      }
+      emitEvent$1(this, "filter-change", eventParams);
+      this.emitter.emit("filter-change", eventParams);
+    }
+  }
+});
+Grid.install = function(Vue) {
+  Vue.component(Grid.name, Grid);
+};
+function handleActivedCheckCell(_ref193) {
+  var actived = _ref193.actived, column = _ref193.column, editConfig = _ref193.editConfig, row22 = _ref193.row;
+  return actived.row !== row22 || (editConfig.mode === "cell" ? actived.column !== column : false);
+}
+function handleActivedCanActive(_ref194) {
+  var editConfig = _ref194.editConfig, params = _ref194.params;
+  return !editConfig.activeMethod || editConfig.activeMethod(params);
+}
+function handleActivedDoActive(_ref195) {
+  var _vm = _ref195._vm, actived = _ref195.actived, canActive = _ref195.canActive, cell = _ref195.cell, column = _ref195.column, editConfig = _ref195.editConfig, event = _ref195.event, params = _ref195.params, row22 = _ref195.row, tableColumn3 = _ref195.tableColumn, type = _ref195.type;
+  if (canActive) {
+    if (_vm.keyboardConfig || _vm.mouseConfig) {
+      _vm.clearCopyed(event);
+      _vm.clearChecked();
+      _vm.clearSelected(event);
+    }
+    _vm.clostTooltip();
+    _vm.clearActived(event);
+    type = "edit-actived";
+    column.renderHeight = cell.offsetHeight;
+    actived.args = params;
+    actived.row = row22;
+    actived.column = column;
+    if (editConfig.mode === "row") {
+      tableColumn3.forEach(function(column2) {
+        return _vm._getColumnModel(row22, column2);
+      });
+    } else {
+      _vm._getColumnModel(row22, column);
+    }
+    _vm.$nextTick(function() {
+      _vm.handleFocus(params, event);
+    });
+  }
+  return type;
+}
+function handleActivedClearActive(_ref196) {
+  var _vm = _ref196._vm, canActive = _ref196.canActive, event = _ref196.event;
+  if (!canActive) {
+    _vm.clearActived(event);
+  }
+}
+function handleActivedTryActive(_ref197) {
+  var _vm = _ref197._vm, actived = _ref197.actived, cell = _ref197.cell, column = _ref197.column, editor = _ref197.editor, event = _ref197.event, isActiveCell = _ref197.isActiveCell, params = _ref197.params, row22 = _ref197.row;
+  if (editor && cell && !isActiveCell) {
+    var oldColumn = actived.column;
+    if (oldColumn !== column) {
+      var oldModel = oldColumn.model;
+      if (oldModel.update) {
+        setCellValue(row22, oldColumn, oldModel.value);
+      }
+      _vm.clearValidate();
+    }
+    column.renderHeight = cell.offsetHeight;
+    actived.args = params;
+    actived.column = column;
+    setTimeout(function() {
+      _vm.handleFocus(params, event);
+    });
+  }
+}
+function operArrs(_ref198) {
+  var _vm = _ref198._vm, editStore = _ref198.editStore, newRecords = _ref198.newRecords, newRecordsCopy = _ref198.newRecordsCopy, nowData = _ref198.nowData, row22 = _ref198.row, tableFullData = _ref198.tableFullData, tableSourceData = _ref198.tableSourceData;
+  if (row22 === -1) {
+    Array.prototype.push.apply(nowData, newRecords);
+    Array.prototype.push.apply(tableFullData, newRecords);
+    Array.prototype.push.apply(tableSourceData, newRecordsCopy);
+  }
+  if (row22 && row22 !== -1) {
+    var targetIndex = nowData.indexOf(row22);
+    if (targetIndex === -1) {
+      throw new Error(error("ui.grid.error.unableInsert"));
+    }
+    var insertIndex = tableFullData.indexOf(row22);
+    Array.prototype.splice.apply(nowData, [targetIndex, 0].concat(newRecords));
+    Array.prototype.splice.apply(tableFullData, [insertIndex, 0].concat(newRecords));
+    Array.prototype.splice.apply(tableSourceData, [insertIndex, 0].concat(newRecordsCopy));
+  }
+  if (!row22) {
+    Array.prototype.unshift.apply(nowData, newRecords);
+    Array.prototype.unshift.apply(tableFullData, newRecords);
+    Array.prototype.unshift.apply(tableSourceData, newRecordsCopy);
+  }
+  Array.prototype.unshift.apply(editStore.insertList, newRecords);
+  Array.prototype.push.apply(_vm.temporaryRows, newRecordsCopy);
+}
+var _setActiveCell = function _setActiveCell2(row22, field) {
+  var _this65 = this;
+  var next1 = function next12() {
+    if (!row22 || !field) {
+      return _this65.$nextTick();
+    }
+    var column = find_default(_this65.visibleColumn, function(column2) {
+      return column2.property === field;
+    });
+    if (!column || !column.editor) {
+      return _this65.$nextTick();
+    }
+    var next2 = function next22(cell) {
+      if (!cell) {
+        return;
+      }
+      var rowIndex = _this65.getRowIndex(row22);
+      var columnIndex = _this65.getColumnIndex(column);
+      _this65.handleActived({
+        row: row22,
+        rowIndex,
+        column,
+        columnIndex,
+        cell,
+        $table: _this65
+      });
+      _this65.lastCallTime = Date.now();
+    };
+    getCell(_this65, {
+      row: row22,
+      column
+    }).then(next2);
+    return _this65.$nextTick();
+  };
+  return this.scrollToRow(row22, true).then(next1);
+};
+var Methods$c = {
+  _insert: function _insert(records) {
+    return this.insertAt(records);
+  },
+  // 根据位置从指定行添加数据
+  _insertAt: function _insertAt(records, row22) {
+    var _this66 = this;
+    var afterFullData = this.afterFullData, editStore = this.editStore, isAsyncColumn = this.isAsyncColumn, scrollYLoad = this.scrollYLoad, tableFullData = this.tableFullData, _this$tableSourceData = this.tableSourceData, tableSourceData = _this$tableSourceData === void 0 ? [] : _this$tableSourceData, treeConfig = this.treeConfig;
+    if (treeConfig) {
+      throw new Error(error("ui.grid.error.treeInsert"));
+    }
+    if (isAsyncColumn) {
+      var columnSet = this.getColumns();
+      columnSet.forEach(function(column) {
+        if (column.format && column.format.async && column.format.async.fetch) {
+          records[GlobalConfig$1.constant.insertedField] = true;
+        }
+      });
+    }
+    if (!isArray(records)) {
+      records = [records];
+    }
+    var nowData = afterFullData;
+    var newRecords = records.map(function(record) {
+      return reactive(_this66.defineField(_extends$2({}, record)));
+    });
+    var newRecordsCopy = clone_default(newRecords, true);
+    operArrs({
+      _vm: this,
+      editStore,
+      newRecords,
+      newRecordsCopy,
+      nowData,
+      row: row22,
+      tableFullData,
+      tableSourceData
+    });
+    this.updateCache(true);
+    this.handleTableData(true);
+    this.checkSelectionStatus();
+    if (scrollYLoad) {
+      this.updateScrollYSpace();
+    }
+    var res = {
+      row: newRecords.length ? newRecords[newRecords.length - 1] : null,
+      rows: newRecords
+    };
+    return this.$nextTick().then(function() {
+      _this66.recalculate();
+      return res;
+    });
+  },
+  /**
+   * 删除指定行数据
+   * 如果传 row 则删除一行
+   * 如果传 rows 则删除多行
+   */
+  _remove: function _remove(rows) {
+    var _this67 = this;
+    var afterFullData = this.afterFullData, scrollYLoad = this.scrollYLoad, _this$selectConfig3 = this.selectConfig, selectConfig = _this$selectConfig3 === void 0 ? {} : _this$selectConfig3;
+    var selection = this.selection, tableFullData = this.tableFullData, treeConfig = this.treeConfig, _this$tableSourceData2 = this.tableSourceData, tableSourceData = _this$tableSourceData2 === void 0 ? [] : _this$tableSourceData2;
+    var _this$editStore = this.editStore, insertList = _this$editStore.insertList, removeList = _this$editStore.removeList;
+    var checkField = selectConfig.checkField;
+    var nowData = afterFullData;
+    var rest = [];
+    var rowsOld = rows;
+    var inArr = function inArr2(row3, rows2) {
+      return ~rows2.indexOf(row3);
+    };
+    if (treeConfig) {
+      throw new Error(error("ui.grid.error.treeRemove"));
+    }
+    if (!rowsOld) {
+      rows = tableFullData;
+    }
+    if (rowsOld && !isArray(rowsOld)) {
+      rows = [rowsOld];
+    }
+    for (var i = 0; i < rows.length; i++) {
+      var row22 = rows[i];
+      if (this.hasRowInsert(row22))
+        continue;
+      removeList.push(row22);
+    }
+    if (!checkField) {
+      remove_default(selection, function(row3) {
+        return inArr(row3, rows);
+      });
+    }
+    if (tableFullData === rows) {
+      rows = tableFullData.slice(0);
+      tableFullData.length = 0;
+      nowData.length = 0;
+    } else {
+      rest = remove_default(tableFullData, function(row3) {
+        return inArr(row3, rows);
+      });
+      remove_default(nowData, function(row3) {
+        return inArr(row3, rows);
+      });
+    }
+    remove_default(tableSourceData, function(row3) {
+      return find_default(insertList, function(r) {
+        return getRowid(_this67, r) === getRowid(_this67, row3);
+      }) && find_default(rows, function(r) {
+        return getRowid(_this67, r) === getRowid(_this67, row3);
+      });
+    });
+    remove_default(insertList, function(row3) {
+      return inArr(row3, rows);
+    });
+    this.updateCache(true);
+    this.handleTableData(true);
+    this.checkSelectionStatus();
+    if (scrollYLoad) {
+      this.updateScrollYSpace();
+    }
+    var res = {
+      row: rows && rows.length ? rows[rows.length - 1] : null,
+      rows: rest
+    };
+    return this.$nextTick().then(function() {
+      _this67.recalculate();
+      return res;
+    });
+  },
+  /**
+   * 删除选中数据
+   */
+  _removeSelecteds: function _removeSelecteds() {
+    var _this68 = this;
+    var selectRecords = this.getSelectRecords(true);
+    var callback = function callback2(params) {
+      _this68.clearSelection();
+      return params;
+    };
+    return this.remove(selectRecords).then(callback);
+  },
+  _revert: function _revert() {
+    warn$1("ui.grid.error.delRevert");
+    return this.revertData.apply(this, arguments);
+  },
+  /**
+   * 对数据进行还原
+   * 如果不传任何参数,则还原整个表格;
+   * 如果传row则还原一行;
+   * 如果传rows则还原多行;
+   * 如果还额外传了field则还原指定单元格。
+   */
+  _revertData: function _revertData(rows, field) {
+    var _this69 = this;
+    var tableSourceData = this.tableSourceData, tableSynchData = this.tableSynchData;
+    if (arguments.length && rows && !isArray(rows)) {
+      rows = [rows];
+    }
+    if (!arguments.length) {
+      rows = tableSynchData || [];
+    }
+    var _loop2 = function _loop22() {
+      var row22 = rows[i];
+      var oRow = find_default(tableSourceData, function(item) {
+        return getRowid(_this69, row22) === getRowid(_this69, item);
+      });
+      if (oRow && row22) {
+        if (field) {
+          set_default(row22, field, get_default(oRow, field));
+        } else {
+          destructuring_default(row22, oRow);
+        }
+      }
+    };
+    for (var i = 0; i < rows.length; i++) {
+      _loop2();
+    }
+    if (arguments.length) {
+      return this.$nextTick();
+    }
+    return this.reloadData(tableSynchData);
+  },
+  /**
+   * 获取表格操作数据集
+   */
+  _getRecordset: function _getRecordset() {
+    var res = {};
+    res.insertRecords = this.getInsertRecords();
+    res.removeRecords = this.getRemoveRecords();
+    res.updateRecords = this.getUpdateRecords();
+    return res;
+  },
+  /**
+   * 获取删除数据列表
+   */
+  _getRemoveRecords: function _getRemoveRecords() {
+    return this.editStore.removeList;
+  },
+  /**
+   * 获取新增数据列表
+   */
+  _getInsertRecords: function _getInsertRecords() {
+    return this.editStore.insertList;
+  },
+  /**
+   * 获取更新数据列表
+   * 只精准匹配row的更改。如果是树表格,子节点更改状态不会影响父节点的更新状态
+   */
+  _getUpdateRecords: function _getUpdateRecords() {
+    var _this70 = this;
+    var tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    var handler6 = function handler7(row22) {
+      return !_this70.isTemporaryRow(row22) && _this70.hasRowChange(row22);
+    };
+    var updateRecords = treeConfig ? filterTree_default(tableFullData, handler6, treeConfig) : tableFullData.filter(handler6);
+    return updateRecords;
+  },
+  /**
+   * 处理激活编辑
+   */
+  handleActived: function handleActived(params, event) {
+    var _this71 = this;
+    return _asyncToGenerator(/* @__PURE__ */ _regeneratorRuntime().mark(function _callee() {
+      var editConfig, editStore, tableColumn3, cell, column, row22, editor, actived, isActiveCell, type, canActive, args;
+      return _regeneratorRuntime().wrap(function _callee$(_context) {
+        while (1)
+          switch (_context.prev = _context.next) {
+            case 0:
+              editConfig = _this71.editConfig, editStore = _this71.editStore, tableColumn3 = _this71.tableColumn;
+              cell = params.cell, column = params.column, row22 = params.row;
+              editor = column.editor;
+              actived = editStore.actived;
+              isActiveCell = handleActivedCheckCell({
+                actived,
+                column,
+                editConfig,
+                row: row22
+              });
+              if (!(editor && cell && isActiveCell)) {
+                _context.next = 15;
+                break;
+              }
+              type = "edit-disabled";
+              _context.next = 9;
+              return handleActivedCanActive({
+                editConfig,
+                params
+              });
+            case 9:
+              canActive = _context.sent;
+              args = {
+                _vm: _this71,
+                actived,
+                canActive,
+                cell,
+                column,
+                editConfig
+              };
+              Object.assign(args, {
+                event,
+                params,
+                row: row22,
+                tableColumn: tableColumn3,
+                type
+              });
+              type = handleActivedDoActive(args);
+              handleActivedClearActive({
+                _vm: _this71,
+                canActive,
+                event
+              });
+              emitEvent$1(_this71, type, [params, event]);
+            case 15:
+              handleActivedTryActive({
+                _vm: _this71,
+                actived,
+                cell,
+                column,
+                editor,
+                event,
+                isActiveCell,
+                params,
+                row: row22
+              });
+              return _context.abrupt("return", _this71.$nextTick());
+            case 17:
+            case "end":
+              return _context.stop();
+          }
+      }, _callee);
+    }))();
+  },
+  _getColumnModel: function _getColumnModel(row22, column) {
+    var model = column.model, editor = column.editor;
+    if (editor) {
+      model.value = getCellValue(row22, column);
+      model.update = false;
+    }
+  },
+  _setColumnModel: function _setColumnModel(row22, column) {
+    var model = column.model, editor = column.editor;
+    if (editor && model.update) {
+      setCellValue(row22, column, model.value);
+      model.update = false;
+      model.value = null;
+    }
+  },
+  _getActiveRow: function _getActiveRow() {
+    var $el = this.$el, editStore = this.editStore, tableData = this.tableData;
+    var actived = editStore.actived;
+    var args = actived.args, row22 = actived.row;
+    var length = $el.querySelectorAll(".tiny-grid-body__column.col__actived").length;
+    return args && ~tableData.indexOf(row22) && length ? _extends$2({}, args) : null;
+  },
+  /**
+   * 清除已激活的编辑
+   */
+  _clearActived: function _clearActived(event) {
+    var _this72 = this;
+    var _this$editConfig2 = this.editConfig, editConfig = _this$editConfig2 === void 0 ? {} : _this$editConfig2, editStore = this.editStore, tableColumn3 = this.tableColumn;
+    var actived = editStore.actived;
+    var args = actived.args, column = actived.column, row22 = actived.row;
+    var isActived = row22 || column;
+    if (isActived && editConfig.mode === "row") {
+      tableColumn3.forEach(function(column22) {
+        return _this72._setColumnModel(row22, column22);
+      });
+    }
+    if (isActived && editConfig.mode !== "row") {
+      this._setColumnModel(row22, column);
+    }
+    if (isActived) {
+      var _editor$attrs;
+      this.updateFooter();
+      var row222 = args.row, column2 = args.column;
+      var _ref199 = column2 || {}, editor = _ref199.editor;
+      if ((editor == null ? void 0 : editor.component) === "input" && (editor == null ? void 0 : (_editor$attrs = editor.attrs) == null ? void 0 : _editor$attrs.type) === "number") {
+        row222[column2.property] = +row222[column2.property];
+      }
+      emitEvent$1(this, "edit-closed", [args, event]);
+    }
+    actived.args = null;
+    actived.column = null;
+    actived.row = null;
+    return this.clearValidate().then(this.recalculate);
+  },
+  _hasActiveRow: function _hasActiveRow(row22) {
+    return this.editStore.actived.row === row22;
+  },
+  /**
+   * 处理聚焦
+   */
+  handleFocus: function handleFocus(params) {
+    var cell = params.cell, column = params.column;
+    var editor = column.editor;
+    if (!editor) {
+      return;
+    }
+    var inputElem;
+    var compRender = Renderer$1.get(editor.component);
+    var autofocus = editor.autofocus, autoselect = editor.autoselect, focusDelay = editor.focusDelay;
+    var handler6 = function handler7() {
+      if (autofocus) {
+        inputElem = cell.querySelector(autofocus);
+      }
+      var isAutofocus = compRender && compRender.autofocus;
+      if (isAutofocus && !inputElem) {
+        inputElem = cell.querySelector(isAutofocus);
+      }
+      if (!inputElem) {
+        return;
+      }
+      var type = inputElem.type;
+      inputElem.type = "text";
+      inputElem.selectionEnd = inputElem.value.length;
+      inputElem.selectionStart = inputElem.selectionEnd;
+      inputElem.type = type;
+      inputElem[autoselect ? "select" : "focus"]();
+      if (browser_default.name !== "ie") {
+        return;
+      }
+      var textRange = inputElem.createTextRange();
+      textRange.collapse(false);
+      textRange.select();
+    };
+    setTimeout(handler6, focusDelay || 50);
+  },
+  /**
+   * 激活单元格编辑
+   */
+  _setActiveCell,
+  /**
+   * 激活行编辑
+   */
+  _setActiveRow: function _setActiveRow(row22) {
+    var editColumn = find_default(this.visibleColumn, function(column) {
+      return column.editor;
+    });
+    return this.setActiveCell(row22, editColumn.property);
+  },
+  /**
+   * 只对trigger为dblclick有效,选中单元格
+   */
+  _setSelectCell: function _setSelectCell(row22, field) {
+    var _this73 = this;
+    var editConfig = this.editConfig, tableData = this.tableData, visibleColumn = this.visibleColumn;
+    if (!row22 || !field || editConfig.trigger === "manual") {
+      return this.$nextTick();
+    }
+    var column = find_default(visibleColumn, function(column2) {
+      return column2.property === field;
+    });
+    var rowIndex = tableData.indexOf(row22);
+    if (!~rowIndex || !column) {
+      return this.$nextTick();
+    }
+    var next2 = function next22(cell) {
+      var columnIndex = visibleColumn.indexOf(column);
+      var params = {
+        row: row22,
+        rowIndex,
+        column,
+        columnIndex,
+        cell
+      };
+      _this73.handleSelected(params, {});
+    };
+    getCell(this, {
+      row: row22,
+      rowIndex,
+      column
+    }).then(next2);
+    return this.$nextTick();
+  },
+  updateSelectedCls: function updateSelectedCls(clear2) {
+    var editStore = this.editStore, elemStore = this.elemStore, _this$mouseConfig3 = this.mouseConfig, mouseConfig = _this$mouseConfig3 === void 0 ? {} : _this$mouseConfig3;
+    var _editStore$selected = editStore.selected, column = _editStore$selected.column, row22 = _editStore$selected.row;
+    clear2 && this.clearSelected(true);
+    if (!mouseConfig.selected || !row22 || !column) {
+      return;
+    }
+    var listElem = elemStore["main-body-list"];
+    var rowid2 = getRowid(this, row22);
+    var trElem = listElem.querySelector('[data-rowid="' + rowid2 + '"]');
+    if (!trElem) {
+      return;
+    }
+    addClass(trElem.querySelector("." + column.id), "col__selected");
+  },
+  /**
+   * 处理选中源
+   */
+  handleSelected: function handleSelected(params, event) {
+    var _this74 = this;
+    var editConfig = this.editConfig, editStore = this.editStore, elemStore = this.elemStore, _this$mouseConfig4 = this.mouseConfig, mouseConfig = _this$mouseConfig4 === void 0 ? {} : _this$mouseConfig4;
+    var actived = editStore.actived, selected = editStore.selected;
+    var _ref200 = params || {}, cell = _ref200.cell, column = _ref200.column, row22 = _ref200.row;
+    var selectMethod = function selectMethod2() {
+      if (selected.row === row22 && selected.column === column || actived.row === row22 && (editConfig.mode !== "cell" || actived.column === column)) {
+        return _this74.$nextTick();
+      }
+      if (_this74.keyboardConfig || _this74.mouseConfig) {
+        _this74.clearChecked(event);
+        _this74.clearIndexChecked();
+        _this74.clearHeaderChecked();
+        _this74.clearSelected(event);
+      }
+      _this74.clearActived(event);
+      selected.args = params;
+      selected.row = row22;
+      selected.column = column;
+      _this74.updateSelectedCls();
+      if (!mouseConfig.checked) {
+        return _this74.$nextTick();
+      }
+      var headerElem = elemStore["main-header-list"];
+      _this74.handleChecked([[cell]]);
+      if (!headerElem) {
+        return _this74.$nextTick();
+      }
+      _this74.handleHeaderChecked([[headerElem.querySelector("." + (column && column.id))]]);
+      _this74.handleIndexChecked([[cell && cell.parentNode && cell.parentNode.querySelector(".col__index")]]);
+      return _this74.$nextTick();
+    };
+    selectMethod = debounce_default(20, selectMethod);
+    return selectMethod();
+  }
+};
+var Edit = {
+  install: function install2(Table2) {
+    GridAdapter._edit = 1;
+    Object.assign(Table2.methods, Methods$c);
+  }
+};
+var Export = {
+  install: function install22(Table2) {
+    GridAdapter._export = 1;
+    Object.assign(Table2.methods, export_default);
+  }
+};
+function findLeft(params) {
+  var checkColumn = params.checkColumn, columnIndex = params.columnIndex, isLeft = params.isLeft, rowIndex = params.rowIndex, tableData = params.tableData;
+  var targetColumn = params.targetColumn, targetColumnIndex = params.targetColumnIndex, targetRow = params.targetRow, targetRowIndex = params.targetRowIndex, visibleColumn = params.visibleColumn;
+  if (!isLeft) {
+    return {
+      targetColumn,
+      targetColumnIndex,
+      targetRow,
+      targetRowIndex
+    };
+  }
+  for (var _index3 = columnIndex - 1; _index3 >= 0; _index3--) {
+    if (checkColumn(visibleColumn[_index3])) {
+      targetColumnIndex = _index3;
+      targetColumn = visibleColumn[_index3];
+      break;
+    }
+  }
+  if (targetColumn || rowIndex <= 0) {
+    return {
+      targetColumn,
+      targetColumnIndex,
+      targetRow,
+      targetRowIndex
+    };
+  }
+  targetRowIndex = rowIndex - 1;
+  targetRow = tableData[targetRowIndex];
+  for (var _index4 = visibleColumn.length - 1; _index4 >= 0; _index4--) {
+    if (checkColumn(visibleColumn[_index4])) {
+      targetColumnIndex = _index4;
+      targetColumn = visibleColumn[_index4];
+      break;
+    }
+  }
+  return {
+    targetColumn,
+    targetColumnIndex,
+    targetRow,
+    targetRowIndex
+  };
+}
+function findRight(params) {
+  var checkColumn = params.checkColumn, columnIndex = params.columnIndex, isLeft = params.isLeft, rowIndex = params.rowIndex, tableData = params.tableData;
+  var targetColumn = params.targetColumn, targetColumnIndex = params.targetColumnIndex, targetRow = params.targetRow, targetRowIndex = params.targetRowIndex, visibleColumn = params.visibleColumn;
+  if (isLeft) {
+    return {
+      targetColumn,
+      targetColumnIndex,
+      targetRow,
+      targetRowIndex
+    };
+  }
+  for (var _index5 = columnIndex + 1; _index5 < visibleColumn.length; _index5++) {
+    if (checkColumn(visibleColumn[_index5])) {
+      targetColumnIndex = _index5;
+      targetColumn = visibleColumn[_index5];
+      break;
+    }
+  }
+  if (targetColumn || rowIndex >= tableData.length - 1) {
+    return {
+      targetColumn,
+      targetColumnIndex,
+      targetRow,
+      targetRowIndex
+    };
+  }
+  targetRowIndex = rowIndex + 1;
+  targetRow = tableData[targetRowIndex];
+  for (var _index6 = 0; _index6 < visibleColumn.length; _index6++) {
+    if (checkColumn(visibleColumn[_index6])) {
+      targetColumnIndex = _index6;
+      targetColumn = visibleColumn[_index6];
+      break;
+    }
+  }
+  return {
+    targetColumn,
+    targetColumnIndex,
+    targetRow,
+    targetRowIndex
+  };
+}
+function processTarget(args1) {
+  var _vm = args1._vm, args = args1.args, edit = args1.edit, editConfig = args1.editConfig, event = args1.event, isLeft = args1.isLeft, params = args1.params, rowIndex = args1.rowIndex;
+  var targetColumn = args1.targetColumn, targetColumnIndex = args1.targetColumnIndex, targetRow = args1.targetRow, targetRowIndex = args1.targetRowIndex;
+  if (targetColumn) {
+    if (targetRow) {
+      params.rowIndex = targetRowIndex;
+      params.row = targetRow;
+    } else {
+      params.rowIndex = rowIndex;
+    }
+    params.columnIndex = targetColumnIndex;
+    params.column = targetColumn;
+    getCell(_vm, params).then(function(resCell) {
+      params.cell = resCell;
+      if (editConfig) {
+        if (editConfig.trigger === "click" || editConfig.trigger === "dblclick") {
+          if (editConfig.mode === "row" || edit) {
+            _vm.handleActived(params, event);
+          } else {
+            _vm.handleSelected(params, event);
+            _vm.scrollToRow(params.row, params.column, false, {
+              isLeftArrow: isLeft,
+              isRightArrow: !isLeft,
+              from: args.column
+            });
+          }
+        }
+      }
+    });
+  }
+}
+function onCellMousedownGridEl(args) {
+  var _vm = args._vm, bodyList = args.bodyList, cell = args.cell, cellFirstElementChild = args.cellFirstElementChild, cellLastElementChild = args.cellLastElementChild, flag = args.flag, headStart = args.headStart, headerList = args.headerList, isIndex = args.isIndex, startCellNode = args.startCellNode, targetElem = args.targetElem;
+  if (flag) {
+    if (isIndex) {
+      var firstCell = targetElem.parentNode.firstElementChild;
+      _vm.handleChecked(getRowNodes(bodyList, getCellNodeIndex(firstCell.nextElementSibling), getCellNodeIndex(cellLastElementChild)));
+      _vm.handleIndexChecked(getRowNodes(bodyList, getCellNodeIndex(firstCell), getCellNodeIndex(cell)));
+    } else if (!hasClass(targetElem, "col__index")) {
+      var _firstCell = targetElem.parentNode.firstElementChild;
+      var colIndex = [].indexOf.call(targetElem.parentNode.children, targetElem);
+      var head = headerList[0].children[colIndex];
+      _vm.handleHeaderChecked(getRowNodes(headerList, getCellNodeIndex(head), getCellNodeIndex(headStart)));
+      _vm.handleIndexChecked(getRowNodes(bodyList, getCellNodeIndex(_firstCell), getCellNodeIndex(cellFirstElementChild)));
+      _vm.handleChecked(getRowNodes(bodyList, startCellNode, getCellNodeIndex(targetElem)));
+    }
+  }
+}
+function handleCellMousedownEvent(args1) {
+  var $el = args1.$el, _vm = args1._vm, bodyList = args1.bodyList, cell = args1.cell, cellFirstElementChild = args1.cellFirstElementChild;
+  var cellLastElementChild = args1.cellLastElementChild, headStart = args1.headStart, headerList = args1.headerList, isIndex = args1.isIndex, startCellNode = args1.startCellNode;
+  var _vm$mouseConfig2 = _vm.mouseConfig, mouseConfig = _vm$mouseConfig2 === void 0 ? {} : _vm$mouseConfig2;
+  var _ref201 = mouseConfig || {}, _ref201$updateInterva = _ref201.updateInterval, updateInterval = _ref201$updateInterva === void 0 ? 10 : _ref201$updateInterva;
+  var oldMousemove = document.onmousemove;
+  var oldMouseup = document.onmouseup;
+  var updateEvent = function updateEvent2(event) {
+    event.preventDefault();
+    var _getEventTargetNode = getEventTargetNode(event, $el, "tiny-grid-body__column"), flag = _getEventTargetNode.flag, targetElem = _getEventTargetNode.targetElem;
+    var args = {
+      _vm,
+      bodyList,
+      cell,
+      cellFirstElementChild,
+      cellLastElementChild,
+      flag
+    };
+    Object.assign(args, {
+      headStart,
+      headerList,
+      isIndex,
+      startCellNode,
+      targetElem
+    });
+    onCellMousedownGridEl(args);
+  };
+  var updateEventThrot = throttle_default(updateInterval, false, updateEvent, true);
+  document.onmousemove = updateEventThrot;
+  document.onmouseup = function() {
+    document.onmousemove = oldMousemove;
+    document.onmouseup = oldMouseup;
+  };
+}
+function onCellMousedownSelectEditable(args) {
+  var _vm = args._vm, actived = args.actived, cell = args.cell, checked = args.checked, column = args.column, editConfig = args.editConfig;
+  var event = args.event, isLeftBtn = args.isLeftBtn, mouseConfig = args.mouseConfig, params = args.params, row22 = args.row;
+  if (editConfig && (actived.row !== row22 || !(editConfig.mode === "cell" && actived.column === column)) && !(isLeftBtn && mouseConfig.checked) && mouseConfig.selected && editConfig.trigger === "dblclick" && (!checked.rowNodes || !checked.rowNodes.some(function(list) {
+    return ~list.indexOf(cell);
+  }))) {
+    _vm.handleSelected(params, event);
+  }
+}
+function onCellMousedownSelect(_ref202) {
+  var _vm = _ref202._vm, editConfig = _ref202.editConfig, event = _ref202.event, mouseConfig = _ref202.mouseConfig, params = _ref202.params;
+  if (!editConfig && mouseConfig.selected) {
+    _vm.handleSelected(params, event);
+  }
+}
+function onCellMousedownIndexColumn(args) {
+  var _vm = args._vm, bodyList = args.bodyList, cell = args.cell, cellLastElementChild = args.cellLastElementChild, event = args.event;
+  var headerList = args.headerList, isIndex = args.isIndex, params = args.params, visibleColumn = args.visibleColumn;
+  if (isIndex) {
+    var firstCell = cell.parentNode.firstElementChild;
+    params.columnIndex++;
+    params.column = visibleColumn[params.columnIndex];
+    params.cell = cell.nextElementSibling;
+    _vm.handleSelected(params, event);
+    _vm.handleChecked(getRowNodes(bodyList, getCellNodeIndex(firstCell.nextElementSibling), getCellNodeIndex(cellLastElementChild)));
+    _vm.handleHeaderChecked([headerList[0].querySelectorAll(".tiny-grid-header__column:not(.col__index)")]);
+    _vm.handleIndexChecked(getRowNodes(bodyList, getCellNodeIndex(firstCell), getCellNodeIndex(cell)));
+  }
+}
+function onCellMousedownNotIndexColumn(_ref203) {
+  var _vm = _ref203._vm, cell = _ref203.cell, column = _ref203.column, event = _ref203.event, headerList = _ref203.headerList, isIndex = _ref203.isIndex, params = _ref203.params;
+  if (!isIndex) {
+    var firstCell = cell.parentNode.firstElementChild;
+    _vm.handleSelected(params, event);
+    _vm.handleHeaderChecked([[headerList[0].querySelector("." + column.id)]]);
+    _vm.handleIndexChecked([[firstCell]]);
+  }
+}
+function handleHeaderCellMousedownEvent(_ref204) {
+  var $el = _ref204.$el, _vm = _ref204._vm, bodyList = _ref204.bodyList, cell = _ref204.cell, headerList = _ref204.headerList, startCell = _ref204.startCell;
+  var oldMousemove = document.onmousemove;
+  var oldMouseup = document.onmouseup;
+  var updateEvent = function updateEvent2(event) {
+    event.preventDefault();
+    var _getEventTargetNode2 = getEventTargetNode(event, $el, "tiny-grid-header__column"), flag = _getEventTargetNode2.flag, targetElem = _getEventTargetNode2.targetElem;
+    if (!flag) {
+      var tmp = getEventTargetNode(event, $el, "tiny-grid-body__column");
+      flag = tmp.flag;
+      targetElem = tmp.targetElem;
+    }
+    if (flag && !hasClass(targetElem, "col__index")) {
+      var colIndex = [].concat(targetElem.parentNode.children).indexOf(targetElem);
+      var lastCell = bodyList[bodyList.length - 1].children[colIndex];
+      var headCell = headerList[0].children[colIndex];
+      _vm.handleHeaderChecked(getRowNodes(headerList, getCellNodeIndex(headCell), getCellNodeIndex(cell)));
+      _vm.handleChecked(getRowNodes(bodyList, getCellNodeIndex(startCell), getCellNodeIndex(lastCell)));
+    }
+  };
+  var updateEventThrot = throttle_default(80, false, updateEvent, true);
+  addClass($el, "tiny-grid-cell__checked");
+  document.onmousemove = updateEventThrot;
+  document.onmouseup = function() {
+    removeClass($el, "tiny-grid-cell__checked");
+    document.onmousemove = oldMousemove;
+    document.onmouseup = oldMouseup;
+  };
+}
+var removeCellClass = function removeCellClass2(bodyRef, clazz) {
+  return arrayEach_default(bodyRef.$el.querySelectorAll("." + clazz), function(elem) {
+    return removeClass(elem, clazz);
+  });
+};
+var getCellIndex = function getCellIndex2(_ref205) {
+  var cell = _ref205.cell, bodyList = _ref205.bodyList;
+  var trElem = cell.parentNode;
+  var cIndex = arrayIndexOf_default(trElem.children, cell);
+  var rIndex = arrayIndexOf_default(bodyList, trElem);
+  return {
+    rIndex,
+    cIndex
+  };
+};
+var getModify = function getModify2(_ref206) {
+  var offsetTop = _ref206.offsetTop, offsetLeft = _ref206.offsetLeft, cWidth = _ref206.cWidth, cHeight = _ref206.cHeight;
+  var modifyDomStyle = function modifyDomStyle2(dom, styleOptions) {
+    return dom && Object.assign(dom.style, styleOptions);
+  };
+  return function(top, right, bottom, left) {
+    modifyDomStyle(top, {
+      top: offsetTop + "px",
+      left: offsetLeft + "px",
+      width: cWidth + "px"
+    });
+    modifyDomStyle(right, {
+      top: offsetTop + "px",
+      left: offsetLeft + cWidth + "px",
+      height: cHeight + "px"
+    });
+    modifyDomStyle(bottom, {
+      top: offsetTop + cHeight + "px",
+      left: offsetLeft + "px",
+      width: cWidth + "px"
+    });
+    modifyDomStyle(left, {
+      top: offsetTop + "px",
+      left: offsetLeft + "px",
+      height: cHeight + "px"
+    });
+  };
+};
+var Methods$b = {
+  // Tab键移动处理
+  moveTabSelected: function moveTabSelected(args, isLeft, event, edit) {
+    var editConfig = this.editConfig, hasIndexColumn2 = this.hasIndexColumn, tableData = this.tableData, visibleColumn = this.visibleColumn;
+    var params = _extends$2({}, args);
+    var columnIndex = visibleColumn.indexOf(params.column);
+    var rowIndex = tableData.indexOf(params.row);
+    var _ref207 = {}, targetColumn = _ref207.targetColumn, targetColumnIndex = _ref207.targetColumnIndex, targetRow = _ref207.targetRow, targetRowIndex = _ref207.targetRowIndex;
+    event.preventDefault();
+    var checkColumn = function checkColumn2(column) {
+      return !hasIndexColumn2(column) && (edit ? column.editor : true);
+    };
+    var args1 = {
+      columnIndex,
+      checkColumn,
+      isLeft,
+      tableData,
+      rowIndex,
+      targetColumn
+    };
+    Object.assign(args1, {
+      targetRowIndex,
+      targetColumnIndex,
+      targetRow,
+      visibleColumn
+    });
+    var ret = findLeft(args1);
+    targetColumn = ret.targetColumn;
+    targetColumnIndex = ret.targetColumnIndex;
+    targetRow = ret.targetRow;
+    targetRowIndex = ret.targetRowIndex;
+    args1 = {
+      checkColumn,
+      columnIndex,
+      isLeft,
+      rowIndex,
+      tableData,
+      targetColumn
+    };
+    Object.assign(args1, {
+      targetColumnIndex,
+      targetRow,
+      targetRowIndex,
+      visibleColumn
+    });
+    ret = findRight(args1);
+    targetColumn = ret.targetColumn;
+    targetColumnIndex = ret.targetColumnIndex;
+    targetRow = ret.targetRow;
+    targetRowIndex = ret.targetRowIndex;
+    args1 = {
+      _vm: this,
+      args,
+      edit,
+      editConfig,
+      event,
+      isLeft,
+      params,
+      rowIndex
+    };
+    Object.assign(args1, {
+      targetColumn,
+      targetColumnIndex,
+      targetRow,
+      targetRowIndex
+    });
+    processTarget(args1);
+  },
+  // 当前行方向键移动处理
+  moveCurrentRow: function moveCurrentRow(isUpArrow, isDwArrow, event) {
+    var _this75 = this;
+    var afterFullData = this.afterFullData, currentRow = this.currentRow, treeConfig = this.treeConfig;
+    var targetRow;
+    event.preventDefault();
+    if (treeConfig) {
+      var _findTree2 = findTree_default(afterFullData, function(row22) {
+        return row22 === currentRow;
+      }, treeConfig), curIndex = _findTree2.index, neighbors = _findTree2.items;
+      if (isUpArrow && curIndex > 0) {
+        targetRow = neighbors[curIndex - 1];
+      } else if (isDwArrow && curIndex < neighbors.length - 1) {
+        targetRow = neighbors[curIndex + 1];
+      }
+    } else {
+      var _curIndex = afterFullData.indexOf(currentRow);
+      if (isUpArrow && _curIndex > 0) {
+        targetRow = afterFullData[_curIndex - 1];
+      } else if (isDwArrow && _curIndex < afterFullData.length - 1) {
+        targetRow = afterFullData[_curIndex + 1];
+      }
+    }
+    if (targetRow) {
+      this.scrollToRow(targetRow).then(function() {
+        return _this75.triggerCurrentRowEvent(event, {
+          $table: _this75,
+          row: targetRow
+        });
+      });
+    }
+  },
+  // 可编辑方向键移动处理
+  moveSelected: function moveSelected(_ref208) {
+    var _this76 = this;
+    var args = _ref208.args, isLeftArrow = _ref208.isLeftArrow, isUpArrow = _ref208.isUpArrow, isRightArrow = _ref208.isRightArrow, isDownArrow = _ref208.isDownArrow, event = _ref208.event;
+    var hasIndexColumn2 = this.hasIndexColumn, visibleColumn = this.tableColumn, tableData = this.tableFullData;
+    var params = _extends$2({}, args);
+    var column = params.column;
+    var columnIndex = visibleColumn.indexOf(column);
+    event.preventDefault();
+    if (isUpArrow && params.rowIndex) {
+      params.row = tableData[--params.rowIndex];
+    } else if (isDownArrow && params.rowIndex < tableData.length - 1) {
+      params.row = tableData[++params.rowIndex];
+    } else if (isLeftArrow && columnIndex) {
+      for (var pos = columnIndex - 1; pos >= 0; pos--) {
+        if (!hasIndexColumn2(visibleColumn[pos])) {
+          params.columnIndex = pos;
+          params.column = visibleColumn[pos];
+          break;
+        }
+      }
+    } else if (isRightArrow) {
+      for (var _pos = columnIndex + 1; _pos < visibleColumn.length; _pos++) {
+        if (!hasIndexColumn2(visibleColumn[_pos])) {
+          params.columnIndex = _pos;
+          params.column = visibleColumn[_pos];
+          break;
+        }
+      }
+    }
+    getCell(this, params).then(function(resCell) {
+      params.cell = resCell;
+      _this76.handleSelected(params, event);
+      _this76.scrollToRow(params.row, params.column, false, {
+        isLeftArrow,
+        isRightArrow,
+        from: column
+      });
+    });
+  },
+  // 表头按下事件
+  triggerHeaderCellMousedownEvent: function triggerHeaderCellMousedownEvent(event, params) {
+    var _this77 = this;
+    var $el = this.$el, elemStore = this.elemStore, _this$mouseConfig5 = this.mouseConfig, mouseConfig = _this$mouseConfig5 === void 0 ? {} : _this$mouseConfig5, tableData = this.tableData;
+    var headerList = elemStore["main-header-list"].children;
+    var bodyList = elemStore["main-body-list"].children;
+    var cell = params.cell;
+    var column = params.column;
+    var isIndex = column.type === "index";
+    var startCell = bodyList[0].querySelector("." + column.id);
+    var button = event.button;
+    var isLeftBtn = button === 0;
+    if (!isLeftBtn || !mouseConfig.checked) {
+      return;
+    }
+    if (isIndex) {
+      this.handleAllChecked(event);
+      this.closeMenu();
+      return;
+    }
+    event.preventDefault();
+    event.stopPropagation();
+    this.clearSelected(event);
+    this.clearHeaderChecked();
+    this.clearIndexChecked();
+    handleHeaderCellMousedownEvent({
+      $el,
+      _vm: this,
+      bodyList,
+      cell,
+      headerList,
+      startCell
+    });
+    this.handleHeaderChecked([[cell]]);
+    if (!bodyList.length) {
+      this.closeMenu();
+      return;
+    }
+    var firstTr = bodyList[0];
+    var lastTr = bodyList[bodyList.length - 1];
+    var firstCell = firstTr.querySelector(".col__index");
+    var lastCell = lastTr.querySelector("." + column.id);
+    params.rowIndex = 0;
+    params.row = tableData[0];
+    getCell(this, params).then(function(cellRes) {
+      params.cell = cellRes;
+      _this77.handleSelected(params, event);
+      var rowNodes = getRowNodes(bodyList, getCellNodeIndex(firstCell), getCellNodeIndex(lastTr.querySelector(".col__index")));
+      _this77.handleIndexChecked(rowNodes);
+      _this77.handleChecked(getRowNodes(bodyList, getCellNodeIndex(startCell), getCellNodeIndex(lastCell)));
+    });
+    this.closeMenu();
+  },
+  // 单元格按下事件
+  triggerCellMousedownEvent: function triggerCellMousedownEvent(event, params) {
+    var $el = this.$el, editConfig = this.editConfig, editStore = this.editStore, elemStore = this.elemStore, _this$mouseConfig6 = this.mouseConfig, mouseConfig = _this$mouseConfig6 === void 0 ? {} : _this$mouseConfig6, visibleColumn = this.visibleColumn;
+    var actived = editStore.actived, checked = editStore.checked;
+    var button = event.button;
+    var cell = params.cell, column = params.column, row22 = params.row;
+    var isLeftBtn = button === 0;
+    var args;
+    if (editConfig && (actived.row !== row22 || !(editConfig.mode === "cell" && actived.column === column)) && isLeftBtn && mouseConfig.checked) {
+      event.preventDefault();
+      event.stopPropagation();
+      this.clearHeaderChecked();
+      this.clearIndexChecked();
+      var isIndex = column.type === "index";
+      var startCellNode = getCellNodeIndex(cell);
+      var headerList = elemStore["main-header-list"].children;
+      var bodyList = elemStore["main-body-list"].children;
+      var cellFirstElementChild = cell.parentNode.firstElementChild;
+      var cellLastElementChild = cell.parentNode.lastElementChild;
+      var colIndex = [].concat(cell.parentNode.children).indexOf(cell);
+      var headStart = headerList[0].children[colIndex];
+      args = {
+        $el,
+        _vm: this,
+        bodyList,
+        cell,
+        cellFirstElementChild
+      };
+      Object.assign(args, {
+        cellLastElementChild,
+        headStart,
+        headerList,
+        isIndex,
+        startCellNode
+      });
+      handleCellMousedownEvent(args);
+      args = {
+        _vm: this,
+        bodyList,
+        cell,
+        cellLastElementChild
+      };
+      Object.assign(args, {
+        event,
+        headerList,
+        isIndex,
+        params,
+        visibleColumn
+      });
+      onCellMousedownIndexColumn(args);
+      onCellMousedownNotIndexColumn({
+        _vm: this,
+        cell,
+        column,
+        event,
+        headerList,
+        isIndex,
+        params
+      });
+      this.closeFilter();
+      this.closeMenu();
+    }
+    args = {
+      _vm: this,
+      actived,
+      cell,
+      checked,
+      column,
+      editConfig
+    };
+    Object.assign(args, {
+      event,
+      isLeftBtn,
+      mouseConfig,
+      params,
+      row: row22
+    });
+    onCellMousedownSelectEditable(args);
+    onCellMousedownSelect({
+      _vm: this,
+      editConfig,
+      event,
+      mouseConfig,
+      params
+    });
+  },
+  // 清除所选中源状态
+  _clearSelected: function _clearSelected(keep) {
+    var selected = this.editStore.selected, elemStore = this.elemStore;
+    if (!keep) {
+      selected.row = null;
+      selected.column = null;
+    }
+    var bodyElem = elemStore["main-body-list"];
+    var headerElem = elemStore["main-header-list"];
+    if (bodyElem) {
+      var elem = bodyElem.querySelector(".col__selected");
+      removeClass(elem, "col__selected");
+    }
+    if (headerElem) {
+      arrayEach_default(headerElem.querySelectorAll(".col__title-selected"), function(elem2) {
+        return removeClass(elem2, "col__title-selected");
+      });
+    }
+    return this.$nextTick();
+  },
+  // 清除所有选中状态
+  _clearChecked: function _clearChecked() {
+    var $refs = this.$refs, editStore = this.editStore, mouseConfig = this.mouseConfig;
+    var checked = editStore.checked;
+    if (!mouseConfig || !mouseConfig.checked) {
+      return this.$nextTick();
+    }
+    Object.assign(checked, {
+      columns: [],
+      rows: [],
+      tColumns: [],
+      tRows: [],
+      rowNodes: []
+    });
+    var tableBody = $refs.tableBody;
+    tableBody.$refs.checkBorders.style.display = "none";
+    removeCellClass(tableBody, "col__checked");
+    return this.$nextTick();
+  },
+  _getMouseCheckeds: function _getMouseCheckeds() {
+    var _this78 = this;
+    var _this$editStore$check = this.editStore.checked.rowNodes, rowNodes = _this$editStore$check === void 0 ? [] : _this$editStore$check;
+    var _ref209 = {}, _ref209$rows = _ref209.rows, rows = _ref209$rows === void 0 ? [] : _ref209$rows, _ref209$columns = _ref209.columns, columns2 = _ref209$columns === void 0 ? [] : _ref209$columns;
+    var res = {
+      rows,
+      columns: columns2,
+      rowNodes
+    };
+    if (rowNodes && rowNodes.length) {
+      res.rows = rowNodes.map(function(arr) {
+        return _this78.getRowNode(arr[0].parentNode).item;
+      });
+      res.columns = rowNodes[0].map(function(col) {
+        return _this78.getColumnNode(col).item;
+      });
+    }
+    return res;
+  },
+  _getMouseSelecteds: function _getMouseSelecteds() {
+    var _this$editStore$selec = this.editStore.selected, args = _this$editStore$selec.args, column = _this$editStore$selec.column;
+    if (!args || !column) {
+      return null;
+    }
+    return extend(true, {}, args);
+  },
+  // 处理所有选中
+  handleChecked: function handleChecked(rowNodes) {
+    var $refs = this.$refs, mouseConfig = this.mouseConfig;
+    if (!mouseConfig || !mouseConfig.checked) {
+      return;
+    }
+    var _ref210 = {}, cHeight = _ref210.cHeight, cWidth = _ref210.cWidth, offsetLeft = _ref210.offsetLeft, offsetTop = _ref210.offsetTop;
+    cWidth = cHeight = -2;
+    offsetTop = offsetLeft = 0;
+    this.clearChecked();
+    arrayEach_default(rowNodes, function(rowNode, rowIndex) {
+      arrayEach_default(rowNode, function(colNode, colIndex) {
+        var firstRow = rowIndex === 0;
+        var firstCol = colIndex === 0;
+        if (firstRow) {
+          if (firstCol) {
+            offsetTop = colNode.offsetTop;
+            offsetLeft = colNode.offsetLeft;
+          }
+          cWidth += colNode.offsetWidth;
+        }
+        if (firstCol) {
+          cHeight += colNode.offsetHeight;
+        }
+        addClass(colNode, "col__checked");
+      });
+    });
+    var modify = getModify({
+      offsetTop,
+      offsetLeft,
+      cWidth,
+      cHeight
+    });
+    var tableBody = $refs.tableBody;
+    var _tableBody$$refs = tableBody.$refs, checkBorders = _tableBody$$refs.checkBorders, checkTop = _tableBody$$refs.checkTop, checkRight = _tableBody$$refs.checkRight, checkBottom = _tableBody$$refs.checkBottom, checkLeft = _tableBody$$refs.checkLeft;
+    checkBorders.style.display = "none";
+    modify(checkTop, checkRight, checkBottom, checkLeft);
+    checkBorders.style.display = "block";
+    this.editStore.checked.rowNodes = rowNodes;
+  },
+  handleAllChecked: function handleAllChecked(event) {
+    var _this79 = this;
+    var elemStore = this.elemStore, _this$mouseConfig7 = this.mouseConfig, mouseConfig = _this$mouseConfig7 === void 0 ? {} : _this$mouseConfig7, tableData = this.tableData, visibleColumn = this.visibleColumn;
+    if (!mouseConfig.checked) {
+      return;
+    }
+    event.preventDefault();
+    var column = find_default(visibleColumn, function(col) {
+      return col.type === "index";
+    }) || visibleColumn[0];
+    var selectorColumnId = "." + column.id;
+    var headerListElem = elemStore["main-header-list"];
+    var headerList = headerListElem.children;
+    var cell = headerListElem.querySelector(selectorColumnId);
+    var bodyList = elemStore["main-body-list"].children;
+    var firstTrElem = bodyList[0];
+    var firstCell = firstTrElem.querySelector(selectorColumnId);
+    var lastTrElem = bodyList[bodyList.length - 1];
+    var params = {
+      $table: this,
+      rowIndex: 0,
+      row: tableData[0]
+    };
+    params.column = find_default(visibleColumn, function(col) {
+      return col.property;
+    });
+    params.columnIndex = this.getColumnIndex(params.column);
+    getCell(this, params).then(function(resCell) {
+      params.cell = resCell;
+      _this79.handleSelected(params, event);
+      _this79.handleHeaderChecked(getRowNodes(headerList, getCellNodeIndex(cell.nextElementSibling), getCellNodeIndex(cell.parentNode.lastElementChild)));
+      _this79.handleIndexChecked(getRowNodes(bodyList, getCellNodeIndex(firstCell), getCellNodeIndex(lastTrElem.querySelector(selectorColumnId))));
+      _this79.handleChecked(getRowNodes(bodyList, getCellNodeIndex(firstCell.nextElementSibling), getCellNodeIndex(lastTrElem.lastElementChild)));
+    });
+  },
+  handleIndexChecked: function handleIndexChecked(rowNodes) {
+    this.clearIndexChecked();
+    arrayEach_default(rowNodes, function(rowNode) {
+      arrayEach_default(rowNode, function(colNode) {
+        addClass(colNode, "col__index-checked");
+      });
+    });
+    this.editStore.indexs.rowNodes = rowNodes;
+  },
+  _clearIndexChecked: function _clearIndexChecked() {
+    var indexCheckeds = this.elemStore["main-body-list"].querySelectorAll(".col__index-checked");
+    var eachHandler = function eachHandler2(colNode) {
+      return removeClass(colNode, "col__index-checked");
+    };
+    arrayEach_default(indexCheckeds, eachHandler);
+    Object.assign(this.editStore.indexs, {
+      rowNodes: []
+    });
+    return this.$nextTick();
+  },
+  handleHeaderChecked: function handleHeaderChecked(rowNodes) {
+    this.clearHeaderChecked();
+    arrayEach_default(rowNodes, function(rowNode) {
+      arrayEach_default(rowNode, function(colNode) {
+        addClass(colNode, "col__title-checked");
+      });
+    });
+    this.editStore.titles.rowNodes = rowNodes;
+  },
+  _clearHeaderChecked: function _clearHeaderChecked() {
+    var headerElem = this.elemStore["main-header-list"];
+    if (headerElem) {
+      var eachHandler = function eachHandler2(colNode) {
+        return removeClass(colNode, "col__title-checked");
+      };
+      arrayEach_default(headerElem.querySelectorAll(".col__title-checked"), eachHandler);
+    }
+    return this.$nextTick();
+  },
+  // 清空已复制的内容
+  _clearCopyed: function _clearCopyed() {
+    var $refs = this.$refs, editStore = this.editStore, keyboardConfig = this.keyboardConfig;
+    var editStoreCopyed = editStore.copyed;
+    if (!keyboardConfig || !keyboardConfig.isCut)
+      return this.$nextTick();
+    var tableBody = $refs.tableBody;
+    editStoreCopyed.cut = false;
+    editStoreCopyed.rows = [];
+    editStoreCopyed.columns = [];
+    tableBody.$refs.copyBorders.style.display = "none";
+    removeCellClass(tableBody, "col__copyed");
+    return this.$nextTick();
+  },
+  // 处理复制
+  handleCopyed: function handleCopyed(cut) {
+    var editStore = this.editStore, tableColumn3 = this.tableColumn, tableData = this.tableData;
+    var copyed = editStore.copyed;
+    var rowNodes = editStore.checked.rowNodes;
+    var _ref211 = {}, cHeight = _ref211.cHeight, cWidth = _ref211.cWidth, offsetLeft = _ref211.offsetLeft, offsetTop = _ref211.offsetTop, _ref211$rows = _ref211.rows, rows = _ref211$rows === void 0 ? [] : _ref211$rows, _ref211$columns = _ref211.columns, columns2 = _ref211$columns === void 0 ? [] : _ref211$columns;
+    cWidth = cHeight = -3;
+    offsetTop = offsetLeft = 0;
+    this.clearCopyed();
+    if (!rowNodes)
+      return;
+    if (rowNodes.length) {
+      var firstRows = rowNodes[0];
+      var firstCell = firstRows[0];
+      var firstRowsLength = firstRows.length;
+      var _getCellNodeIndex = getCellNodeIndex(firstCell), rowIndex = _getCellNodeIndex.rowIndex, columnIndex = _getCellNodeIndex.columnIndex;
+      columns2 = tableColumn3.slice(columnIndex, columnIndex + firstRowsLength);
+      rows = tableData.slice(rowIndex, rowIndex + rowNodes.length);
+    }
+    arrayEach_default(rowNodes, function(rowNode, rowIndex2) {
+      arrayEach_default(rowNode, function(colNode, colIndex) {
+        var isTop = rowIndex2 === 0;
+        var isLeft = colIndex === 0;
+        if (isTop) {
+          if (isLeft) {
+            offsetTop = colNode.offsetTop;
+            offsetLeft = colNode.offsetLeft;
+          }
+          cWidth += colNode.offsetWidth;
+        }
+        if (isLeft) {
+          cHeight += colNode.offsetHeight;
+        }
+        addClass(colNode, "col__copyed");
+      });
+    });
+    var modify = getModify({
+      offsetTop,
+      offsetLeft,
+      cWidth,
+      cHeight
+    });
+    var tableBody = this.$refs.tableBody;
+    var _tableBody$$refs2 = tableBody.$refs, copyBorders = _tableBody$$refs2.copyBorders, copyTop = _tableBody$$refs2.copyTop, copyRight = _tableBody$$refs2.copyRight, copyBottom = _tableBody$$refs2.copyBottom, copyLeft = _tableBody$$refs2.copyLeft;
+    modify(copyTop, copyRight, copyBottom, copyLeft);
+    copyBorders.style.display = "block";
+    copyed.cut = cut;
+    copyed.columns = columns2;
+    copyed.rows = rows;
+    copyed.rowNodes = rowNodes;
+  },
+  // 处理粘贴
+  handlePaste: function handlePaste() {
+    var editStore = this.editStore, elemStore = this.elemStore, tableData = this.tableData, visibleColumn = this.visibleColumn;
+    var copyed = editStore.copyed, selected = editStore.selected;
+    var columns2 = copyed.columns, cut = copyed.cut, rows = copyed.rows;
+    if (!rows.length || !columns2.length || !selected.row || !selected.column)
+      return;
+    var _selected$args = selected.args, columnIndex = _selected$args.columnIndex, rowIndex = _selected$args.rowIndex;
+    arrayEach_default(rows, function(row22, rIndex2) {
+      var targetRow = tableData[rowIndex + rIndex2];
+      if (targetRow) {
+        arrayEach_default(columns2, function(column, cIndex2) {
+          var targetColumn = visibleColumn[columnIndex + cIndex2];
+          targetColumn && setCellValue(targetRow, targetColumn, getCellValue(row22, column));
+          cut && setCellValue(row22, column, null);
+        });
+      }
+    });
+    cut && this.clearCopyed();
+    var cell = selected.args.cell;
+    var bodyList = elemStore["main-body-list"].children;
+    var _getCellIndex = getCellIndex({
+      cell,
+      elemStore,
+      bodyList
+    }), rIndex = _getCellIndex.rIndex, cIndex = _getCellIndex.cIndex;
+    var maxIndex = bodyList.length - 1;
+    var curIndex = rIndex + rows.length - 1;
+    var targetTrElem = bodyList[curIndex > maxIndex ? maxIndex : curIndex];
+    maxIndex = targetTrElem.children.length - 1;
+    curIndex = cIndex + columns2.length - 1;
+    var targetCell = targetTrElem.children[curIndex > maxIndex ? maxIndex : curIndex];
+    var targetCellNode = getCellNodeIndex(targetCell);
+    var cellNode = getCellNodeIndex(cell);
+    var rowNodes = getRowNodes(bodyList, cellNode, targetCellNode);
+    this.handleChecked(rowNodes);
+  },
+  handleClearMouseChecked: function handleClearMouseChecked(event) {
+    var $grid = this.$grid, $refs = this.$refs, autoClearMouseChecked = this.autoClearMouseChecked;
+    var tableWrapper = $refs.tableWrapper, tooltip = $refs.tooltip, validTip = $refs.validTip;
+    var equalOrContain = function equalOrContain2(elm, target) {
+      return elm && (elm === target || elm.contains(target));
+    };
+    if (autoClearMouseChecked && !equalOrContain($grid.$el, event.target) && !equalOrContain(tableWrapper, event.target) && !equalOrContain(tooltip && tooltip.state.popperElm, event.target) && !equalOrContain(validTip && validTip.state.popperElm, event.target)) {
+      this.clearChecked();
+      this.clearSelected();
+    }
+  }
+};
+var Keyboard = {
+  install: function install3(Table2) {
+    GridAdapter._keyboard = 1;
+    Object.assign(Table2.methods, Methods$b);
+  }
+};
+function adjustParams(rows, cb, vaildDatas) {
+  if (rows) {
+    if (isFunction_default(rows)) {
+      cb = rows;
+    } else {
+      vaildDatas = isArray(rows) ? rows : [rows];
+    }
+  }
+  return {
+    cb,
+    vaildDatas
+  };
+}
+var columnHandler = function columnHandler2(_ref212) {
+  var _vm = _ref212._vm, colValidPromiseArr = _ref212.colValidPromiseArr, editRules = _ref212.editRules, isAll = _ref212.isAll, row22 = _ref212.row, validRest = _ref212.validRest;
+  return function(column, columnIndex) {
+    if (has_default(editRules, column.property)) {
+      colValidPromiseArr.push(new Promise(function(resolve, reject) {
+        _vm.validCellRules("all", row22, column).then(resolve).catch(function(_ref213) {
+          var rule = _ref213.rule, rules = _ref213.rules;
+          var rowIndex = _vm.getRowIndex(row22);
+          var rest = {
+            rule,
+            rules,
+            rowIndex,
+            row: row22,
+            columnIndex,
+            column,
+            $table: _vm
+          };
+          if (isAll) {
+            if (!validRest[column.property]) {
+              validRest[column.property] = [];
+            }
+            validRest[column.property].push(rest);
+            resolve();
+          }
+          reject(rest);
+        });
+      }));
+    }
+  };
+};
+function validTree(_ref214) {
+  var treeConfig = _ref214.treeConfig, handleVaild = _ref214.handleVaild, hasTreeExpand2 = _ref214.hasTreeExpand, vaildDatas = _ref214.vaildDatas, treeOpts = _ref214.treeOpts;
+  if (treeConfig.validHidden === false) {
+    var recurValid = function recurValid2(row22) {
+      var children = row22[treeConfig.children || "children"];
+      handleVaild(row22);
+      if (hasTreeExpand2(row22) && children && children.length) {
+        children.forEach(recurValid2);
+      }
+    };
+    vaildDatas.forEach(recurValid);
+  } else {
+    eachTree_default(vaildDatas, handleVaild, treeOpts);
+  }
+}
+var realValid = function realValid2(_ref215) {
+  var _vm = _ref215._vm, editRules = _ref215.editRules, isAll = _ref215.isAll, validRest = _ref215.validRest, treeConfig = _ref215.treeConfig, hasTreeExpand2 = _ref215.hasTreeExpand, vaildDatas = _ref215.vaildDatas, treeOpts = _ref215.treeOpts;
+  var rowValids = [];
+  var columns2 = _vm.getColumns();
+  var handleVaild = function handleVaild2(row22) {
+    var colValidPromiseArr = [];
+    columns2.forEach(columnHandler({
+      _vm,
+      colValidPromiseArr,
+      editRules,
+      isAll,
+      row: row22,
+      validRest
+    }));
+    rowValids.push(Promise.all(colValidPromiseArr));
+  };
+  if (treeConfig) {
+    validTree({
+      treeConfig,
+      handleVaild,
+      hasTreeExpand: hasTreeExpand2,
+      vaildDatas,
+      treeOpts
+    });
+  } else {
+    vaildDatas.forEach(handleVaild);
+  }
+  return rowValids;
+};
+var Rule = /* @__PURE__ */ function() {
+  function Rule2(rule) {
+    Object.assign(this, {
+      $options: rule,
+      max: rule.min,
+      maxWidth: rule.maxWidth,
+      min: rule.min,
+      pattern: rule.pattern,
+      required: rule.required,
+      trigger: rule.trigger,
+      type: rule.type,
+      validator: rule.validator
+    });
+  }
+  return _createClass(Rule2, [{
+    key: "message",
+    get: function get2() {
+      return getFuncText(this.$options.message);
+    }
+  }]);
+}();
+var onRejected = function onRejected2(opt, _this) {
+  var isAll = opt.isAll, validRest = opt.validRest, cb = opt.cb, afterFullData = opt.afterFullData, treeConfig = opt.treeConfig;
+  return function(params) {
+    var _ref216;
+    var args = isAll ? validRest : (_ref216 = {}, _ref216[params.column.property] = params, _ref216);
+    var funcFinish = function funcFinish2(args2, reject, resolve) {
+      return function() {
+        opt.status = false;
+        cb && cb(opt.status, args2);
+        cb ? resolve() : reject(args2);
+      };
+    };
+    var funcPosAndFinish = function funcPosAndFinish2(params2, finish) {
+      return function() {
+        getCell(_this, params2).then(function(activeCell) {
+          params2.cell = activeCell;
+          _this.handleValidError(params2);
+          finish();
+        });
+      };
+    };
+    var getLocatRow = function getLocatRow2(params2) {
+      var row22 = params2.row;
+      var rowIndex = afterFullData.indexOf(row22);
+      return rowIndex > 0 ? afterFullData[rowIndex - 1] : row22;
+    };
+    return new Promise(function(resolve, reject) {
+      var finish = funcFinish(args, reject, resolve);
+      var posAndFinish = funcPosAndFinish(params, finish);
+      var locatRow = getLocatRow(params);
+      var isAutoPosFalse = _this.validOpts.autoPos === false;
+      isAutoPosFalse && finish();
+      !isAutoPosFalse && treeConfig && _this.scrollToTreeRow(locatRow).then(posAndFinish);
+      !isAutoPosFalse && !treeConfig && _this.scrollToRow(locatRow, params.column, true).then(posAndFinish);
+    });
+  };
+};
+var Methods$a = {
+  // 对表格数据进行校验
+  _validate: function _validate(rows, cb) {
+    return this.beginValidate(rows, cb);
+  },
+  // 与validate一致行为,区别就是会校验所有并返回所有不通过的列
+  _fullValidate: function _fullValidate(rows, cb) {
+    return this.beginValidate(rows, cb, true);
+  },
+  // 聚焦到校验通过的单元格并弹出校验错误提示
+  handleValidError: function handleValidError(params) {
+    var _this80 = this;
+    var event = {
+      type: "valid-error",
+      trigger: "call"
+    };
+    this.handleActived(params, event).then(function() {
+      return _this80.showValidTooltip(params);
+    });
+  },
+  validatePromise: function validatePromise(row22, column, columnIndex, isAll, validRest) {
+    var _this81 = this;
+    function onrejected(_ref217) {
+      var _vm = _ref217._vm, reject = _ref217.reject, resolve = _ref217.resolve;
+      return function(_ref218) {
+        var rule = _ref218.rule, rules = _ref218.rules;
+        var rest = {
+          $table: _vm,
+          column,
+          columnIndex,
+          row: row22,
+          rule,
+          rules
+        };
+        rest.rowIndex = _vm.getRowIndex(row22);
+        if (!isAll) {
+          return reject(rest);
+        }
+        validRest[column.property] = validRest[column.property] || [];
+        validRest[column.property].push(rest);
+        return resolve();
+      };
+    }
+    return new Promise(function(resolve, reject) {
+      _this81.validCellRules("all", row22, column).then(resolve).catch(onrejected({
+        _vm: _this81,
+        reject,
+        resolve
+      }));
+    });
+  },
+  /**
+   * 对表格数据进行校验
+   * 如果传 row 指定行记录,则只验证传入的行
+   * 如果传 rows 为多行记录,则只验证传入的行
+   * 如果只传 callback 否则默认验证整个表格数据
+   * isAll: 是否全量校验,如果为true会校验所有并返回所有不通过的列
+   * 返回 Promise 对象,或者使用回调方式
+   */
+  beginValidate: function beginValidate(rows, callback, isAll) {
+    var afterFullData = this.afterFullData, editRules = this.editRules, hasTreeExpand2 = this.hasTreeExpand, treeConfig = this.treeConfig, treeOpts = this.treeOpts;
+    var _ref219 = {}, _ref219$status = _ref219.status, status = _ref219$status === void 0 ? true : _ref219$status, _ref219$validRest = _ref219.validRest, validRest = _ref219$validRest === void 0 ? {} : _ref219$validRest;
+    var _adjustParams = adjustParams(rows, callback, afterFullData), vaildDatas = _adjustParams.vaildDatas, cb = _adjustParams.cb;
+    var opt = {
+      isAll,
+      validRest,
+      cb,
+      afterFullData,
+      treeConfig,
+      status
+    };
+    this.lastCallTime = Date.now();
+    this.clearValidate();
+    if (!editRules) {
+      if (cb) {
+        cb(opt.status);
+      }
+      return Promise.resolve(opt.status);
+    }
+    var validParams = {
+      _vm: this,
+      editRules,
+      isAll,
+      validRest,
+      treeConfig,
+      hasTreeExpand: hasTreeExpand2,
+      vaildDatas,
+      treeOpts
+    };
+    var rowValids = realValid(validParams);
+    var onFulfilled = function onFulfilled2() {
+      var ruleKeys = Object.keys(validRest);
+      if (ruleKeys.length) {
+        return Promise.reject(validRest[ruleKeys[0]][0]);
+      }
+      cb && cb(opt.status);
+    };
+    return Promise.all(rowValids).then(onFulfilled).catch(onRejected(opt, this));
+  },
+  hasCellRules: function hasCellRules(type, row22, _ref220) {
+    var property2 = _ref220.property;
+    if (!property2 || !this.editRules) {
+      return false;
+    }
+    var rules = get_default(this.editRules, property2);
+    var handler6 = function handler7(rule) {
+      return type === "all" || !rule.trigger || type === rule.trigger;
+    };
+    rules = !Array.isArray(rules) && (isObject_default(rules) || isFunction_default(rules)) ? [rules] : rules;
+    return rules && find_default(rules, handler6);
+  },
+  /**
+   * 校验数据:
+   * 按表格行顺序、列顺序依次校验(同步或异步);
+   * 根据校验规则的索引顺序依次校验,如果是异步则会等待校验完成才会继续校验下一列;
+   * 如果校验失败,则触发回调或者Promise,结果返回一个Boolean值;
+   * 如果是传回调方式这返回一个Boolean值和校验不通过列的错误消息;
+   *
+   * rule 配置:
+   *  required为Boolean表示是否必填;
+   *  max为Number表示最大长度;
+   *  min为Number表示最小长度;
+   *  validator为Function(rule, value, callback, {rules, row, column, rowIndex, columnIndex})进行自定义校验;
+   *  trigger为blur|change表示触发方式(默认为空就行,除非特殊场景);
+   *  @param {'change' | 'all'} type 校验单元格的触发方式
+   *  @param { IRow }  row 表格的行数据
+   *  @param { IColumnConfig }  column 表格的行数据
+   *  @param { any }  defaultValue 需要校验的默认值
+   */
+  validCellRules: function validCellRules(type, row22, column, defaultValue) {
+    var _this82 = this;
+    var editRules = this.editRules, rowId = this.rowId;
+    var property2 = column.property;
+    var _ref221 = {}, _ref221$descriptor = _ref221.descriptor, descriptor = _ref221$descriptor === void 0 ? {} : _ref221$descriptor, _ref221$model = _ref221.model, model = _ref221$model === void 0 ? {} : _ref221$model;
+    if (property2 && editRules) {
+      var rules = get_default(editRules, property2);
+      var cellValue = isUndefined_default(defaultValue) ? get_default(row22, property2) : defaultValue;
+      if (Array.isArray(rules)) {
+        rules.forEach(function(rule, index230) {
+          model[property2 + index230] = cellValue;
+          descriptor[property2 + index230] = rule;
+        });
+      } else {
+        model[property2] = cellValue;
+        descriptor[property2] = rules;
+      }
+    }
+    var _descriptor = extend(true, {}, descriptor);
+    var validator7 = new validate_default(_descriptor, t);
+    var executor = function executor2(resolve, reject) {
+      var validArgs = {
+        firstFields: true,
+        first: true,
+        custom: {
+          row: row22,
+          column
+        }
+      };
+      var onRejected3 = function onRejected32(_ref222) {
+        var fields = _ref222.fields;
+        var cellErrors = Object.keys(fields).map(function(prop) {
+          var rules2 = _descriptor[prop];
+          _descriptor[prop] = !rules2.message ? Object.assign(rules2, {
+            message: fields[prop][0].message
+          }) : rules2;
+          return new Rule(_descriptor[prop]);
+        });
+        reject({
+          rules: cellErrors,
+          rule: cellErrors[0]
+        });
+      };
+      validator7.validate(model, validArgs).then(resolve).catch(onRejected3);
+    };
+    var onFulfilled = function onFulfilled2() {
+      _this82.validatedMap[column.id + "-" + row22[rowId]] = false;
+      return Promise.resolve();
+    };
+    var onRejected22 = function onRejected23(errors) {
+      _this82.validatedMap[column.id + "-" + row22[rowId]] = true;
+      return Promise.reject(errors);
+    };
+    return new Promise(executor).then(onFulfilled).catch(onRejected22);
+  },
+  _clearValidate: function _clearValidate() {
+    Object.assign(this.validStore, {
+      column: null,
+      content: "",
+      isArrow: false,
+      row: null,
+      rule: null,
+      visible: false
+    });
+    this.clostValidTooltip(void 0);
+    return this.$nextTick();
+  },
+  // 触发校验
+  triggerValidate: function triggerValidate(type) {
+    var _this83 = this;
+    var editConfig = this.editConfig, editRules = this.editRules, editStore = this.editStore, validStore = this.validStore;
+    var actived = editStore.actived;
+    if (!actived.row || !editRules) {
+      return Promise.resolve();
+    }
+    var _actived$args = actived.args, cell = _actived$args.cell, column = _actived$args.column, row22 = _actived$args.row;
+    if (!this.hasCellRules(type, row22, column)) {
+      return Promise.resolve();
+    }
+    var onfulfilled = function onfulfilled2() {
+      editConfig.mode === "row" && validStore.visible && validStore.row === row22 && validStore.column === column && _this83.clearValidate();
+    };
+    var onrejected = function onrejected2(_ref223) {
+      var rule = _ref223.rule;
+      if (rule.trigger && type !== rule.trigger) {
+        return Promise.resolve();
+      }
+      var rest = {
+        cell,
+        column,
+        row: row22,
+        rule
+      };
+      _this83.showValidTooltip(rest);
+      return Promise.reject(rest);
+    };
+    return this.validCellRules(type, row22, column).then(onfulfilled).catch(onrejected);
+  },
+  // 弹出校验错误提示
+  showValidTooltip: function showValidTooltip(params) {
+    var _this84 = this;
+    var $refs = this.$refs, height2 = this.height, tableData = this.tableData, validOpts2 = this.validOpts;
+    var cell = params.cell, column = params.column, row22 = params.row, rule = params.rule;
+    var content = rule.message;
+    var validTip = $refs.validTip;
+    var isMessageTooltip = validOpts2.isMessageTooltip, isMessageDefault = validOpts2.isMessageDefault, isMessageInline = validOpts2.isMessageInline;
+    var showMsg = isMessageTooltip || isMessageDefault && !height2 && tableData.length < 2;
+    this.$nextTick(function() {
+      Object.assign(_this84.validStore, {
+        row: row22,
+        column,
+        rule,
+        content,
+        visible: true
+      });
+      if (validTip && showMsg) {
+        _this84.clostValidTooltip();
+        _this84.validTipContent = content;
+        validTip.state.referenceElm = cell;
+        validTip.$refs.popper && (validTip.$refs.popper.style.display = "none");
+        validTip.doDestroy();
+        validTip.setExpectedState(true);
+        _this84.activateTooltipValid(validTip);
+      } else if (isMessageInline) {
+        _this84.$nextTick(function() {
+          return _this84.recalculate();
+        });
+      }
+      emitEvent$1(_this84, "valid-error", [params]);
+    });
+  },
+  // 关闭 validTip
+  clostValidTooltip: function clostValidTooltip() {
+    var validTip = this.$refs.validTip;
+    if (validTip) {
+      validTip.setExpectedState(false);
+      validTip.handleClosePopper();
+    }
+    return this.$nextTick();
+  }
+};
+var Validator = {
+  install: function install4(Table2) {
+    GridAdapter._valid = 1;
+    Object.assign(Table2.methods, Methods$a);
+  }
+};
+var Methods$9 = {
+  bindResize: function bindResize() {
+    var _this85 = this;
+    var resizeObserver = new resize_default(function() {
+      _this85.updateParentHeight();
+      _this85.updateTableBodyHeight();
+      _this85.recalculate();
+    }, GlobalConfig$1.resizeInterval);
+    var parentElem = this.getParentElem();
+    parentElem && resizeObserver.observe(parentElem);
+    this.$resize = resizeObserver;
+  },
+  unbindResize: function unbindResize() {
+    var $resize = this.$resize;
+    if ($resize) {
+      $resize.disconnect();
+    }
+  }
+};
+var Resize = {
+  install: function install5(Table2) {
+    GridAdapter._resize = 1;
+    Object.assign(Table2.methods, Methods$9);
+  }
+};
+function renderNoSlotDropdowns(_ref224) {
+  var $slots = _ref224.$slots, _vm = _ref224._vm, buttonBase = _ref224.buttonBase, loading = _ref224.loading, tableListeners = _ref224.tableListeners;
+  var loadingVNode = [];
+  if (loading) {
+    loadingVNode = [h("i", {
+      class: ["tiny-grid-button__loading-icon", GlobalConfig$1.icon.btnLoading]
+    })];
+  }
+  return h("button", _extends$2({}, buttonBase, {
+    on: objectMap_default(tableListeners, function(cb, type) {
+      return function(event) {
+        return _vm.$emit(type, event);
+      };
+    })
+  }), loadingVNode.concat($slots.default.call(_vm)));
+}
+function renderHasSlotDropdowns(_ref225) {
+  var _ref226;
+  var $slots = _ref225.$slots, _vm = _ref225._vm, buttonBase = _ref225.buttonBase, tableListeners = _ref225.tableListeners, vSize5 = _ref225.vSize;
+  return h("div", {
+    class: ["tiny-grid-button__dropdown", (_ref226 = {}, _ref226["size__" + vSize5] = vSize5, _ref226)]
+  }, [h("button", _extends$2({}, buttonBase, {
+    on: _extends$2({
+      mouseenter: _vm.mouseenterEvent,
+      mouseleave: _vm.mouseleaveEvent
+    }, objectMap_default(tableListeners, function(cb, type) {
+      return function(event) {
+        return _vm.$emit(type, event);
+      };
+    }))
+  }), [h("span", $slots.default.call(_vm)), h("i", {
+    class: "tiny-grid-button__dropdown-arrow " + GlobalConfig$1.icon.dropdownBottom
+  })]), h("div", {
+    class: "tiny-grid-button__dropdown-wrapper",
+    on: {
+      click: _vm.clickDropdownEvent,
+      mouseenter: _vm.mouseenterEvent,
+      mouseleave: _vm.mouseleaveEvent
+    }
+  }, $slots.dropdowns.call(_vm))]);
+}
+function getButtonBase(_ref227) {
+  var _ref228;
+  var disabled = _ref227.disabled, isText = _ref227.isText, loading = _ref227.loading, name = _ref227.name, type = _ref227.type, vSize5 = _ref227.vSize;
+  var map2 = {
+    isDisabled: "is__disabled",
+    isLoading: "is__loading"
+  };
+  return {
+    class: ["tiny-grid-button", "type__" + (isText ? type : "button"), (_ref228 = {}, _ref228["size__" + vSize5] = vSize5, _ref228["theme__" + type] = type && !isText, _ref228[map2.isDisabled] = disabled || loading, _ref228[map2.isLoading] = loading, _ref228)],
+    attrs: {
+      name,
+      type: "button",
+      disabled: disabled || loading
+    }
+  };
+}
+var Button = defineComponent({
+  name: $prefix + "GridButton",
+  inheritAttrs: false,
+  props: {
+    type: String,
+    size: String,
+    name: [String, Number],
+    disabled: Boolean,
+    loading: Boolean
+  },
+  computed: {
+    vSize: function vSize4() {
+      return this.size || this.$parent.size || this.$parent.vSize;
+    }
+  },
+  render: function render17() {
+    var disabled = this.disabled, loading = this.loading, name = this.name, $slots = this.slots, tableListeners = this.tableListeners, type = this.type, vSize5 = this.vSize;
+    var isText = type === "text";
+    var buttonBase = getButtonBase({
+      disabled,
+      isText,
+      loading,
+      name,
+      type,
+      vSize: vSize5
+    });
+    return $slots.dropdowns ? renderHasSlotDropdowns({
+      $slots,
+      _vm: this,
+      buttonBase,
+      tableListeners,
+      vSize: vSize5
+    }) : renderNoSlotDropdowns({
+      $slots,
+      _vm: this,
+      buttonBase,
+      loading,
+      tableListeners
+    });
+  },
+  methods: {
+    clickDropdownEvent: function clickDropdownEvent(event) {
+      var dropdownElem = event.currentTarget;
+      var wrapperElem = dropdownElem.parentNode;
+      var _getEventTargetNode3 = getEventTargetNode(event, dropdownElem, "tiny-grid-button"), flag = _getEventTargetNode3.flag, targetElem = _getEventTargetNode3.targetElem;
+      if (flag) {
+        wrapperElem.dataset.active = "N";
+        removeClass(wrapperElem, "is__active");
+        emitEvent$1(this, "dropdown-click", [{
+          name: targetElem.getAttribute("name")
+        }, event]);
+      }
+    },
+    mouseenterEvent: function mouseenterEvent(event) {
+      var dropdownElem = event.currentTarget;
+      var wrapperElem = dropdownElem.parentNode;
+      wrapperElem.dataset.active = "Y";
+      addClass(wrapperElem, "is__active");
+    },
+    mouseleaveEvent: function mouseleaveEvent(event) {
+      var dropdownElem = event.currentTarget;
+      var wrapperElem = dropdownElem.parentNode;
+      wrapperElem.dataset.active = "N";
+      setTimeout(function() {
+        if (wrapperElem.dataset.active !== "Y") {
+          removeClass(wrapperElem, "is__active");
+        }
+      }, 300);
+    }
+  },
+  setup: function setup92(props2, _ref229) {
+    var slots = _ref229.slots, attrs = _ref229.attrs, listeners = _ref229.listeners;
+    var tableListeners = getListeners(attrs, listeners);
+    return {
+      slots,
+      tableListeners
+    };
+  }
+});
+$install(Button);
+var Methods$8 = {
+  /**
+   * 初始化fetch-data配置项
+   * @returns {object}
+   */
+  initFetchOption: function initFetchOption() {
+    var _this$fetchData = this.fetchData, fetchData = _this$fetchData === void 0 ? {} : _this$fetchData, _this$dataset = this.dataset, dataset = _this$dataset === void 0 ? {} : _this$dataset;
+    if (fetchData.api || dataset.source || dataset.value || dataset.api) {
+      var _ref230 = fetchData || dataset.source || dataset.api || {}, loading = _ref230.loading, fields = _ref230.fields, api2 = _ref230.api;
+      return {
+        api: api2,
+        dataset,
+        fields,
+        loading
+      };
+    }
+  },
+  handleFetch: function handleFetch(code, sortArg) {
+    var _this86 = this;
+    var pager = this.pager, sortData = this.sortData, filterData = this.filterData, pagerConfig = this.pagerConfig, fetchOption = this.fetchOption, fetchData = this.fetchData, dataset = this.dataset;
+    if (this.isInitialLoading) {
+      this.isInitialLoading = false;
+    } else {
+      this.columnAnchor && this.clearActiveAnchor();
+    }
+    if (code !== "prefetch") {
+      this.clearRadioRow();
+      this.resetScrollTop();
+    }
+    if (!fetchOption) {
+      error("ui.grid.error.notQuery");
+      return this.$nextTick();
+    }
+    var _ref231 = fetchData || dataset.source || dataset.api || {}, args = _ref231.args, loading = _ref231.loading;
+    var field = sortData.field, order = sortData.order, prop = sortData.prop, property2 = sortData.property;
+    var sortByData = {
+      field,
+      order,
+      prop,
+      property: property2
+    };
+    var params = _extends$2({
+      $grid: this,
+      sort: sortData,
+      sortBy: sortByData,
+      filters: filterData
+    }, args);
+    var search;
+    this.tableLoading = loading;
+    if (pagerConfig) {
+      params.page = pagerConfig;
+    }
+    if (code === "reload") {
+      if (pager || args.page) {
+        pagerConfig.currentPage = 1;
+      }
+      this.sortData = params.sort = {};
+      this.filterData = params.filters = [];
+      this.pendingRecords = [];
+      this.clearAll();
+    }
+    if (sortArg && sortArg.length > 0) {
+      params.sortBy = sortArg;
+    }
+    if (fetchData && fetchData.api) {
+      search = fetchData.api.apply(this, [params]);
+    } else {
+      search = getDataset({
+        dataset,
+        service: this.$service
+      }, params);
+    }
+    return search.then(this.loadFetchData).catch(function(error2) {
+      _this86.tableLoading = false;
+      throw error2;
+    });
+  },
+  clearActiveAnchor: function clearActiveAnchor() {
+    var columnAnchor = this.columnAnchor, _this$columnAnchorPar = this.columnAnchorParams, columnAnchorParams2 = _this$columnAnchorPar === void 0 ? {} : _this$columnAnchorPar;
+    var _columnAnchorParams$a = columnAnchorParams2.anchors, anchors = _columnAnchorParams$a === void 0 ? [] : _columnAnchorParams$a;
+    if (!columnAnchor || anchors.length <= 0)
+      return;
+    anchors.forEach(function(anchor) {
+      return anchor.active = false;
+    });
+  },
+  loadFetchData: function loadFetchData(rest) {
+    if (!rest) {
+      this.tableData = [];
+      this.tableLoading = false;
+      return;
+    }
+    var _this$fetchOption$fie = this.fetchOption.fields, fields = _this$fetchOption$fie === void 0 ? {} : _this$fetchOption$fie, pagerConfig = this.pagerConfig, pagerSlot = this.pagerSlot;
+    if (pagerConfig && !Array.isArray(rest)) {
+      var _rest$result;
+      var total2 = getObj(rest, fields.total || "page.total") || (rest == null ? void 0 : (_rest$result = rest.result) == null ? void 0 : _rest$result.length) || 0;
+      var data8 = getObj(rest, fields.result || fields.data || "result") || [];
+      this.tableData = data8;
+      pagerConfig.total = total2;
+      var setTotal2 = pagerSlot && pagerSlot.componentInstance.setTotal;
+      setTotal2 && setTotal2(total2);
+    } else {
+      this.tableData = (fields.list ? getObj(rest, fields.list) : rest) || [];
+    }
+    this.tableLoading = false;
+  }
+};
+var FetchData = {
+  host: "grid",
+  install: function install6(host) {
+    Object.assign(host.methods, Methods$8);
+  }
+};
+var Methods$7 = {
+  // 初始化表格分页配置
+  initPagerConfig: function initPagerConfig() {
+    var $slots = this.$slots, fetchOption = this.fetchOption, _this$scrollLoad = this.scrollLoad, scrollLoad = _this$scrollLoad === void 0 ? {} : _this$scrollLoad;
+    var pagerProps2 = {};
+    if (fetchOption) {
+      var pagerSlot = $slots.pager && $slots.pager[0];
+      if (pagerSlot) {
+        var componentOptions = pagerSlot.componentOptions, children = pagerSlot.children;
+        if (componentOptions && !children) {
+          this.pagerSlot = pagerSlot;
+          pagerProps2 = componentOptions.propsData;
+        }
+      } else if (this.pager) {
+        pagerProps2 = this.pager.attrs;
+      }
+      if (this.pager || $slots.pager || this.scrollLoad) {
+        return Object.assign(this.tablePage, {
+          pageSize: scrollLoad.pageSize
+        }, pagerProps2);
+      }
+      return fetchOption.args && fetchOption.args.page;
+    }
+  },
+  // 表格内置分页渲染器
+  renderPager: function renderPager(_ref232) {
+    var $slots = _ref232.$slots, _vm = _ref232._vm, loading = _ref232.loading, pager = _ref232.pager, pagerConfig = _ref232.pagerConfig, tableLoading = _ref232.tableLoading, vSize5 = _ref232.vSize;
+    var res = null;
+    var isThemeSaas3 = _vm.isThemeSaas, isModeMobileFirst2 = _vm.isModeMobileFirst, isViewGantt2 = _vm.isViewGantt, currentBreakpoint = _vm.currentBreakpoint, fetchData = _vm.fetchData;
+    var style = {
+      display: "none"
+    };
+    if (isThemeSaas3 && isModeMobileFirst2) {
+      if (!isViewGantt2 || isViewGantt2 && currentBreakpoint !== "default") {
+        style.display = "flex";
+        style.justifyContent = "flex-end";
+      }
+      if (currentBreakpoint === "default") {
+        style.justifyContent = "center";
+      }
+    } else {
+      style.display = "block";
+    }
+    if ($slots.pager) {
+      res = $slots.pager();
+    } else if (pager) {
+      pager.component = pager.component || (fetchData && fetchData.api ? Pager$1 : null);
+      res = h(toRaw(pager.component), {
+        props: _extends$2({
+          size: vSize5,
+          loading: loading || tableLoading,
+          isBeforePageChange: _vm.isBeforePageChange || _vm.showSaveMsg,
+          accurateJumper: _vm.autoLoad
+        }, pagerConfig),
+        on: {
+          "size-change": _vm.pageSizeChange,
+          "current-change": _vm.pageCurrentChange,
+          "before-page-change": _vm.beforePageChangeHandler
+        },
+        ref: "pager",
+        style
+      });
+    }
+    return res;
+  },
+  pageChangeEvent: function pageChangeEvent(params) {
+    var _this87 = this;
+    if (!this.tasks.updatePage) {
+      this.tasks.updatePage = debounce_default(200, function() {
+        var eventParams = _extends$2({
+          $grid: _this87
+        }, params);
+        var toolbarVm = _this87.getVm("toolbar");
+        emitEvent$1(_this87, "page-change", eventParams);
+        _this87.emitter.emit("page-change", eventParams);
+        _this87.commitProxy("query");
+        if (toolbarVm) {
+          toolbarVm.orderSetting();
+        }
+      });
+    }
+    this.tasks.updatePage();
+  },
+  // size为页大小,load为false则触发change事件与查询,在个性化初始化时根据autoload控制是否加载数据
+  pageSizeChange: function pageSizeChange(size, load) {
+    this.tablePage.pageSize = size;
+    this.tablePage.currentPage = 1;
+    load || this.pageChangeEvent(this.tablePage);
+  },
+  pageCurrentChange: function pageCurrentChange(current) {
+    if (this.tablePage.currentPage !== current) {
+      this.tablePage.currentPage = current;
+      this.pageChangeEvent(this.tablePage);
+    }
+  },
+  beforePageChangeHandler: function beforePageChangeHandler(params) {
+    var _this88 = this;
+    if (!this.showSaveMsg) {
+      var eventParams = extend(false, {
+        $grid: this
+      }, params);
+      emitEvent$1(this, "before-page-change", eventParams);
+      this.emitter.emit("before-page-change", eventParams);
+      return;
+    }
+    var callback = params.callback, rollback = params.rollback;
+    var _this$getRecordset = this.getRecordset(), insertRecords = _this$getRecordset.insertRecords, removeRecords = _this$getRecordset.removeRecords, updateRecords = _this$getRecordset.updateRecords;
+    if (insertRecords.length || removeRecords.length || updateRecords.length) {
+      var next2 = function next22(res) {
+        if (res === "confirm") {
+          rollback && rollback();
+          emitEvent$1(_this88, "cancel-page-change", _this88);
+          _this88.emitter.emit("cancel-page-change", _this88);
+        } else {
+          callback && callback();
+        }
+      };
+      TINYModal.confirm(GlobalConfig$1.i18n("ui.grid.isSaveMsg")).then(next2);
+    } else {
+      callback && callback();
+    }
+  }
+};
+var Pager = {
+  host: "grid",
+  install: function install7(host) {
+    Object.assign(host.methods, Methods$7);
+  }
+};
+function setBodyRecords(_ref233) {
+  var body = _ref233.body, insertRecords = _ref233.insertRecords, pendingRecords = _ref233.pendingRecords;
+  if (insertRecords.length) {
+    body.pendingRecords = pendingRecords.filter(function(row22) {
+      return !insertRecords.includes(row22);
+    });
+  }
+  if (pendingRecords.length) {
+    body.insertRecords = insertRecords.filter(function(row22) {
+      return !pendingRecords.includes(row22);
+    });
+  }
+}
+function canInvokeSaveDataApi(body, removeRecords, updateRecords) {
+  return body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length;
+}
+function doRemoveOrShowMsg(_ref234) {
+  var _vm = _ref234._vm, canInvoke = _ref234.canInvoke, code = _ref234.code, isMsg2 = _ref234.isMsg, pendingRecords = _ref234.pendingRecords, resolve = _ref234.resolve, valid = _ref234.valid;
+  if (valid && !canInvoke) {
+    if (isMsg2) {
+      if (pendingRecords.length) {
+        _vm.remove(pendingRecords);
+      } else {
+        TINYModal.message({
+          id: code,
+          message: GlobalConfig$1.i18n("ui.grid.dataUnchanged"),
+          status: "info"
+        });
+      }
+    }
+    resolve();
+  }
+}
+function invokeSaveDataApi(_ref235) {
+  var _vm = _ref235._vm, args = _ref235.args, body = _ref235.body, code = _ref235.code, removeRecords = _ref235.removeRecords, resolve = _ref235.resolve, saveData = _ref235.saveData, updateRecords = _ref235.updateRecords, valid = _ref235.valid;
+  var canInvoke = false;
+  if (valid) {
+    canInvoke = canInvokeSaveDataApi(body, removeRecords, updateRecords);
+  }
+  if (valid && canInvoke) {
+    _vm.tableLoading = true;
+    resolve(saveData.api.apply(_vm, [{
+      $grid: _vm,
+      changeRecords: body
+    }].concat(args)).then(function() {
+      TINYModal.message({
+        id: code,
+        message: GlobalConfig$1.i18n("ui.grid.saveSuccess"),
+        status: "success"
+      });
+      _vm.tableLoading = false;
+    }).catch(function() {
+      _vm.tableLoading = false;
+    }).then(function() {
+      return _vm.commitProxy("reload");
+    }));
+  }
+  return canInvoke;
+}
+var Methods$6 = {
+  // 表格工具栏渲染器
+  getRenderedToolbar: function getRenderedToolbar(_ref236) {
+    var $slots = _ref236.$slots, _vm = _ref236._vm, loading = _ref236.loading, tableLoading = _ref236.tableLoading, toolbar = _ref236.toolbar;
+    return _vm.renderedToolbar = function() {
+      var res = null;
+      if ($slots.toolbar) {
+        res = $slots.toolbar();
+      } else if (toolbar) {
+        res = h(toRaw(toolbar.component), {
+          ref: "toolbar",
+          props: _extends$2({
+            loading: loading || tableLoading
+          }, toolbar),
+          class: _vm.viewCls("toolbar")
+        });
+      }
+      return res;
+    }();
+  },
+  handleSave: function handleSave(code, args) {
+    var _this89 = this;
+    var saveData = this.saveData, isMsg2 = this.isMsg;
+    if (!saveData) {
+      error("ui.grid.error.notSave");
+      return;
+    }
+    var body = extend(true, {
+      pendingRecords: this.pendingRecords
+    }, this.getRecordset());
+    var insertRecords = body.insertRecords, removeRecords = body.removeRecords, updateRecords = body.updateRecords, pendingRecords = body.pendingRecords;
+    var validRows = insertRecords.concat(updateRecords);
+    var getCallback = function getCallback2(resolve) {
+      return function(valid) {
+        if (!valid) {
+          resolve(valid);
+          return;
+        }
+        var canInvoke = invokeSaveDataApi({
+          _vm: _this89,
+          args,
+          body,
+          code,
+          removeRecords,
+          resolve,
+          saveData,
+          updateRecords,
+          valid
+        });
+        doRemoveOrShowMsg({
+          _vm: _this89,
+          canInvoke,
+          code,
+          isMsg: isMsg2,
+          pendingRecords,
+          resolve,
+          valid
+        });
+      };
+    };
+    setBodyRecords({
+      body,
+      insertRecords,
+      pendingRecords
+    });
+    return new Promise(function(resolve) {
+      _this89.validate(validRows, getCallback(resolve));
+    });
+  },
+  handleDelete: function handleDelete(code, args) {
+    var _this90 = this;
+    var deleteData = this.deleteData, isMsg2 = this.isMsg;
+    if (!deleteData) {
+      error("ui.grid.error.notDelete");
+      return;
+    }
+    var selecteds = this.getSelectRecords(true);
+    var afterRemove = function afterRemove2() {
+      var removeds = _this90.getRemoveRecords();
+      if (!removeds.length && isMsg2 && !selecteds.length) {
+        TINYModal.message({
+          id: code,
+          message: GlobalConfig$1.i18n("ui.grid.selectOneRecord"),
+          status: "warning"
+        });
+      }
+      if (removeds.length) {
+        var apiArgs = [{
+          $grid: _this90,
+          changeRecords: {
+            removeRecords: removeds
+          }
+        }].concat(args);
+        var stopLoading = function stopLoading2() {
+          _this90.tableLoading = false;
+        };
+        _this90.tableLoading = true;
+        return deleteData.api.apply(_this90, apiArgs).then(stopLoading).catch(stopLoading).then(function() {
+          return _this90.commitProxy("reload");
+        });
+      }
+    };
+    this.remove(selecteds).then(afterRemove);
+  },
+  handleFullScreen: function handleFullScreen(_ref237) {
+    var _this91 = this;
+    var show22 = _ref237[0];
+    this.fullScreenClass = show22 ? "tiny-fullscreen-full" : "";
+    this.$nextTick(function() {
+      _this91.recalculate(true);
+      emitEvent$1(_this91, "fullscreen", show22);
+      _this91.emitter.emit("fullscreen", show22);
+    });
+  },
+  commitProxy: function commitProxy(code) {
+    var _this92 = this;
+    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
+      args[_key2 - 1] = arguments[_key2];
+    }
+    var btnMethod = Buttons.get(code);
+    if (code === "insert") {
+      this.insert();
+    } else if (code === "insert_actived") {
+      this.insert().then(function(_ref238) {
+        var row22 = _ref238.row;
+        return _this92.setActiveRow(row22);
+      });
+    } else if (code === "mark_cancel") {
+      this.triggerPendingEvent(code);
+    } else if (code === "delete_selection") {
+      this.handleDeleteRow(code, "ui.grid.deleteSelectRecord", function() {
+        return _this92.commitProxy(["delete"].concat(args));
+      });
+    } else if (code === "remove_selection") {
+      this.handleDeleteRow(code, "ui.grid.removeSelectRecord", function() {
+        return _this92.removeSelecteds();
+      });
+    } else if (code === "export") {
+      this.exportCsv();
+    } else if (code === "reset_custom") {
+      this.resetAll();
+    } else if (~["reload", "query", "prefetch"].indexOf(code)) {
+      this.handleFetch(code, args);
+    } else if (code === "delete") {
+      this.handleDelete(code, args);
+    } else if (code === "save") {
+      this.handleSave();
+    } else if (code === "fullscreen") {
+      this.handleFullScreen(args);
+    } else if (btnMethod) {
+      btnMethod.call.apply(btnMethod, [this, {
+        code,
+        $grid: this
+      }].concat(args));
+    }
+    return this.$nextTick();
+  },
+  handleDeleteRow: function handleDeleteRow(code, i18nKey, callback) {
+    var selecteds = this.getSelectRecords();
+    if (this.isMsg && selecteds.length) {
+      TINYModal.confirm(GlobalConfig$1.i18n(i18nKey)).then(function(type) {
+        type === "confirm" && callback();
+      });
+    }
+    if (this.isMsg && !selecteds.length) {
+      TINYModal.message({
+        id: code,
+        message: GlobalConfig$1.i18n("ui.grid.selectOneRecord"),
+        status: "warning"
+      });
+    }
+    if (!this.isMsg && selecteds.length) {
+      callback();
+    }
+  },
+  getPendingRecords: function getPendingRecords() {
+    return this.pendingRecords;
+  },
+  triggerToolbarBtnEvent: function triggerToolbarBtnEvent(button, event) {
+    var _this$events = this.events, events = _this$events === void 0 ? {} : _this$events, tableListeners = this.tableListeners;
+    var code = button.code;
+    if (!events.toolbarButtonClick && !tableListeners["toolbar-button-click"]) {
+      this.commitProxy(code, event);
+    }
+    emitEvent$1(this, "toolbar-button-click", [{
+      code,
+      button,
+      $grid: this
+    }, event]);
+    this.emitter.emit("toolbar-button-click", {
+      code,
+      button,
+      $grid: this
+    }, event);
+  },
+  triggerPendingEvent: function triggerPendingEvent(code) {
+    var isMsg2 = this.isMsg, pendings = this.pendingRecords;
+    var selectColumn = this.getColumns().filter(function(col) {
+      return ~["selection", "radio"].indexOf(col.type);
+    });
+    var isSelection = selectColumn.length && selectColumn[0].type === "selection";
+    var isRadio = selectColumn.length && selectColumn[0].type === "radio";
+    var selecteds = isSelection ? this.getSelectRecords(true) : isRadio ? [this.getRadioRow()] : [];
+    if (!selecteds.length && isMsg2) {
+      TINYModal.message({
+        id: code,
+        message: GlobalConfig$1.i18n("ui.grid.selectOneRecord"),
+        status: "warning"
+      });
+    }
+    if (selecteds.length) {
+      var _ref239 = {}, _ref239$plus = _ref239.plus, plus = _ref239$plus === void 0 ? [] : _ref239$plus, _ref239$minus = _ref239.minus, minus = _ref239$minus === void 0 ? [] : _ref239$minus, tmp = _ref239.tmp;
+      selecteds.forEach(function(data8) {
+        var selectedPending = pendings.includes(data8);
+        tmp = selectedPending ? minus : plus;
+        tmp.push(data8);
+      });
+      tmp = minus.length ? pendings.filter(function(item) {
+        return !~minus.indexOf(item);
+      }) : pendings;
+      this.pendingRecords = tmp.concat(plus);
+      isSelection && this.clearSelection();
+      isRadio && this.clearRadioRow();
+    }
+  }
+};
+var Toolbar = {
+  host: "grid",
+  install: function install8(host) {
+    Object.assign(host.methods, Methods$6);
+  }
+};
+var Methods$5 = {
+  renderColumnAnchor: function renderColumnAnchor(params, _vm) {
+    var _ref240 = params || {}, _ref240$anchors = _ref240.anchors, anchors = _ref240$anchors === void 0 ? [] : _ref240$anchors, _ref240$action = _ref240.action, action = _ref240$action === void 0 ? function() {
+    } : _ref240$action;
+    var viewType2 = _vm.viewType;
+    return h("div", {
+      class: ["tiny-grid__column-anchor", _vm.viewCls("columnAnchor")],
+      style: viewType2 === "default" ? "display:flex" : "",
+      key: _vm.columnAnchorKey
+    }, anchors.map(function(anchor) {
+      var _anchor$active = anchor.active, active = _anchor$active === void 0 ? false : _anchor$active, _anchor$label = anchor.label, label = _anchor$label === void 0 ? "" : _anchor$label, _anchor$field = anchor.field, field = _anchor$field === void 0 ? "" : _anchor$field, render18 = anchor.render;
+      if (typeof render18 === "function") {
+        return render18({
+          h,
+          anchor,
+          action
+        });
+      }
+      var itemClass = {
+        "tiny-grid__column-anchor-item": true,
+        "tiny-grid__column-anchor-item--active": active
+      };
+      var itemOn = {
+        click: function click(e) {
+          return action(field, e);
+        }
+      };
+      var iconVnode = active ? h(index$Z(), {
+        class: "tiny-grid__column-anchor-item-icon"
+      }) : null;
+      var spanVnode = h("span", label);
+      return h("div", {
+        class: itemClass,
+        on: itemOn
+      }, [iconVnode, spanVnode]);
+    }));
+  },
+  buildColumnAnchor: function buildColumnAnchor(_ref241) {
+    var property2 = _ref241.property, label = _ref241.label, anchors = _ref241.anchors, activeAnchor = _ref241.activeAnchor;
+    var visibleColumn = this.getColumns();
+    var column = visibleColumn.find(function(col) {
+      return !col.type && col.property === property2;
+    });
+    var anchorName = "";
+    var anchorRender = null;
+    if (typeof label !== "undefined") {
+      if (typeof label === "string") {
+        anchorName = label;
+      } else if (Array.isArray(label)) {
+        if (label.length > 1) {
+          anchorName = String(label[0]);
+          anchorRender = label[1];
+        }
+      } else if (label && typeof label === "object") {
+        anchorName = label.label;
+        anchorRender = label.render;
+        if (label.active) {
+          activeAnchor.field = property2;
+          if (label.delay)
+            activeAnchor.delay = label.delay;
+        }
+      }
+    }
+    if (column) {
+      anchors.push({
+        label: anchorName || (typeof column.title === "string" ? column.title : ""),
+        field: property2,
+        active: false,
+        render: anchorRender
+      });
+    }
+  },
+  buildColumnAnchorParams: function buildColumnAnchorParams() {
+    var _this93 = this;
+    var columnAnchor = this.columnAnchor;
+    var anchors = [];
+    var activeAnchor = {
+      field: "",
+      delay: 30
+    };
+    if (Array.isArray(columnAnchor) && columnAnchor.length) {
+      columnAnchor.forEach(function(item) {
+        if (typeof item === "string") {
+          _this93.buildColumnAnchor({
+            property: item,
+            anchors
+          });
+        } else if (Array.isArray(item)) {
+          if (item.length > 1)
+            _this93.buildColumnAnchor({
+              property: item[0],
+              label: item[1],
+              anchors
+            });
+        } else if (item && typeof item === "object") {
+          var field = item.field, other = _objectWithoutPropertiesLoose(item, _excluded2);
+          _this93.buildColumnAnchor({
+            property: field,
+            label: other,
+            anchors,
+            activeAnchor
+          });
+        }
+      });
+    }
+    if (!activeAnchor.field && anchors.length) {
+      activeAnchor.field = anchors[0].field;
+    }
+    this.columnAnchorParams = {
+      anchors,
+      activeAnchor,
+      action: function action(field, e) {
+        return _this93.anchorAction({
+          field,
+          anchors,
+          _vm: _this93,
+          e
+        });
+      }
+    };
+    this.emitter.once("active-anchor", function() {
+      return _this93.anchorAction({
+        field: activeAnchor.field,
+        anchors,
+        _vm: _this93
+      });
+    });
+  },
+  anchorAction: function anchorAction(_ref242) {
+    var field = _ref242.field, anchors = _ref242.anchors, _vm = _ref242._vm;
+    var fromAnchor = anchors.find(function(anchor) {
+      return anchor.active;
+    });
+    var toAnchor = anchors.find(function(anchor) {
+      return anchor.field === field;
+    });
+    if (toAnchor && fromAnchor !== toAnchor) {
+      if (fromAnchor && fromAnchor.active) {
+        fromAnchor.active = false;
+      }
+      if (!toAnchor.active) {
+        toAnchor.active = true;
+        _vm.columnAnchorKey = field;
+        _vm.$nextTick(function(found) {
+          if (found === void 0) {
+            found = false;
+          }
+          var visibleColumn = _vm.getColumns();
+          var column = visibleColumn.find(function(col) {
+            return !col.type && col.property === field;
+          });
+          var width = visibleColumn.filter(function(col) {
+            return !col.fixed;
+          }).map(function(col) {
+            if (col === column) {
+              found = true;
+            }
+            return found ? 0 : col.renderWidth;
+          }).reduce(function(p, c) {
+            return p + c;
+          }, 0);
+          if (column) {
+            _vm.scrollTo(width);
+          }
+        });
+      }
+    }
+  }
+};
+var ColumnAnchor = {
+  host: "grid",
+  install: function install9(host) {
+    Object.assign(host.methods, Methods$5);
+  }
+};
+function handleIfScrollYLoadTruthy(_ref243) {
+  var isScrollYLoad = _ref243.isScrollYLoad, _vm = _ref243._vm, selfRow = _ref243.selfRow, prevTrElem = _ref243.prevTrElem, targetTrElem = _ref243.targetTrElem;
+  if (!isScrollYLoad) {
+    return;
+  }
+  var actIndex = _vm.tableFullData.indexOf(selfRow);
+  _vm.tableFullData.splice(actIndex, 1);
+  if (prevTrElem) {
+    var prevRow = _vm.getRowNode(prevTrElem).item;
+    var parentIdx = _vm.tableFullData.indexOf(prevRow);
+    var sleftIdx = _vm.tableFullData.indexOf(selfRow);
+    _vm.tableFullData.splice(parentIdx + (sleftIdx < parentIdx ? 1 : 0), 0, selfRow);
+  } else {
+    _vm.tableFullData.unshift(selfRow);
+  }
+  targetTrElem.remove();
+}
+var createHandlerOnEnd = function createHandlerOnEnd2(_ref244) {
+  var _vm = _ref244._vm, refresh = _ref244.refresh;
+  return function(event) {
+    var insertRecords = _vm.getInsertRecords();
+    if (insertRecords.length) {
+      return false;
+    }
+    var options = {
+      children: (_vm.treeConfig || {}).children || "children"
+    };
+    var targetTrElem = event.item;
+    var wrapperElem = targetTrElem.parentNode, prevTrElem = targetTrElem.previousElementSibling;
+    var tableTreeData = _vm.data || _vm.tableData;
+    var selfRow = _vm.getRowNode(targetTrElem).item;
+    var selfNode = findTree_default(tableTreeData, function(row22) {
+      return row22 === selfRow;
+    }, options);
+    var isScrollYLoad = _vm.scrollYLoad;
+    if (!isScrollYLoad) {
+      if (prevTrElem) {
+        var prevRow = _vm.getRowNode(prevTrElem).item;
+        var prevNode = findTree_default(tableTreeData, function(row22) {
+          return row22 === prevRow;
+        }, options);
+        if (findTree_default(selfRow[options.children], function(row22) {
+          return prevRow === row22;
+        }, options)) {
+          var oldTrElem = wrapperElem.children[event.oldIndex];
+          wrapperElem.insertBefore(targetTrElem, oldTrElem);
+          return TINYModal.message({
+            message: GlobalConfig$1.i18n("ui.grid.error.dargSelf"),
+            status: "error"
+          });
+        }
+        var currRow = selfNode.items.splice(selfNode.index, 1)[0];
+        if (_vm.hasTreeExpand(prevRow)) {
+          prevRow[options.children].splice(0, 0, currRow);
+        } else {
+          prevNode.items.splice(prevNode.index + (selfNode.index < prevNode.index ? 0 : 1), 0, currRow);
+          prevNode.items = [].concat(prevNode.items);
+        }
+      } else {
+        var _currRow = selfNode.items.splice(selfNode.index, 1)[0];
+        tableTreeData.unshift(_currRow);
+        _vm.tableFullData = [].concat(tableTreeData);
+      }
+    }
+    handleIfScrollYLoadTruthy({
+      isScrollYLoad,
+      _vm,
+      selfRow,
+      prevTrElem,
+      targetTrElem
+    });
+    _vm.$emit("row-drop-end", event, _vm, _vm.scrollYLoad ? tableTreeData : _vm.tableFullData);
+    refresh && _vm.data && !isVue2 && _vm.refreshData(_vm.data);
+  };
+};
+var getSortColumns = function getSortColumns2(columns2) {
+  var left = [];
+  var right = [];
+  var center = [];
+  columns2.forEach(function(col) {
+    var fixed = col.fixed;
+    if (fixed === "left") {
+      left.push(col);
+    } else if (fixed === "right") {
+      right.push(col);
+    } else {
+      center.push(col);
+    }
+  });
+  return left.concat(center).concat(right);
+};
+var onEndEvent = function onEndEvent2(_ref245) {
+  var event = _ref245.event, _this = _ref245._this;
+  var item = event.item, newIndex = event.newIndex, oldIndex = event.oldIndex;
+  var _this$getTableColumn = _this.getTableColumn(), fullColumn = _this$getTableColumn.fullColumn, tableColumn3 = _this$getTableColumn.tableColumn;
+  var sortVisibleCols = getSortColumns(tableColumn3);
+  var targetThElem = item;
+  var wrapperElem = targetThElem.parentNode;
+  var newColumn = sortVisibleCols[newIndex];
+  if (newColumn.fixed) {
+    if (newIndex > oldIndex) {
+      for (var i = newIndex; i >= oldIndex; i--) {
+        wrapperElem.insertBefore(targetThElem, wrapperElem.children[i]);
+      }
+    } else {
+      for (var _i2 = newIndex; _i2 <= oldIndex; _i2++) {
+        wrapperElem.insertBefore(targetThElem, wrapperElem.children[_i2]);
+      }
+      wrapperElem.insertBefore(wrapperElem.children[oldIndex], targetThElem);
+    }
+    return TINYModal.message({
+      message: GlobalConfig$1.i18n("ui.grid.error.dargFixed"),
+      status: "error"
+    });
+  }
+  var oldColumnIndex = _this.getColumnIndex(sortVisibleCols[oldIndex]);
+  var newColumnIndex = _this.getColumnIndex(sortVisibleCols[newIndex]);
+  var currCol = fullColumn.splice(oldColumnIndex, 1)[0];
+  fullColumn.splice(newColumnIndex, 0, currCol);
+  _this.loadColumn(fullColumn);
+  _this.$emit("column-drop-end", event, _this);
+  var toolbarVm = _this.getVm("toolbar");
+  if (_this.isDragHeaderSorting && toolbarVm) {
+    toolbarVm.updateSetting();
+  }
+};
+var Methods$4 = {
+  // 处理列拖拽
+  columnDrop: function columnDrop() {
+    var _this94 = this;
+    this.$nextTick(function() {
+      var _this94$dropConfig = _this94.dropConfig, plugin = _this94$dropConfig.plugin, onBeforeMove = _this94$dropConfig.onBeforeMove, filter2 = _this94$dropConfig.filter;
+      var mainHeaderTable = _this94.elemStore["main-header-table"];
+      _this94.columnSortable = plugin.create(mainHeaderTable.querySelector(".tiny-grid-header__row"), {
+        handle: ".tiny-grid-header__column:not(.col__fixed)",
+        filter: filter2,
+        onEnd: function onEnd(event) {
+          onEndEvent({
+            event,
+            _this: _this94
+          });
+        },
+        onStart: function onStart(event) {
+          _this94.$emit("column-drop-start", event, _this94);
+        },
+        onMove: function onMove(event) {
+          var cancel = typeof onBeforeMove === "function" ? onBeforeMove("column", null, event, _this94) : true;
+          _this94.$emit("column-drop-move", event, _this94);
+          return cancel === void 0 || cancel;
+        }
+      });
+    });
+  },
+  // 处理行拖拽
+  rowDrop: function rowDrop() {
+    var _this95 = this;
+    this.$nextTick(function() {
+      var _this95$dropConfig = _this95.dropConfig, plugin = _this95$dropConfig.plugin, onBeforeMove = _this95$dropConfig.onBeforeMove, filter2 = _this95$dropConfig.filter, _this95$dropConfig$re = _this95$dropConfig.refresh, refresh = _this95$dropConfig$re === void 0 ? true : _this95$dropConfig$re, trigger = _this95$dropConfig.trigger;
+      var mainBodyWrapper = _this95.elemStore["main-body-wrapper"];
+      _this95.rowSortable = plugin.create(mainBodyWrapper.querySelector("tbody"), {
+        handle: trigger || ".tiny-grid-body__row",
+        filter: filter2,
+        onEnd: createHandlerOnEnd({
+          _vm: _this95,
+          refresh
+        }),
+        onStart: function onStart(event) {
+          _this95.$emit("row-drop-start", event, _this95);
+        },
+        onMove: function onMove(event) {
+          var insertRecords = _this95.getInsertRecords();
+          if (insertRecords.length) {
+            return false;
+          }
+          var dragged = event.dragged;
+          var selfRow = _this95.getRowNode(dragged).item;
+          var cancel = typeof onBeforeMove === "function" ? onBeforeMove("row", selfRow, event, _this95) : true;
+          _this95.$emit("row-drop-move", event, _this95);
+          return cancel === void 0 || cancel;
+        }
+      });
+    });
+  }
+};
+var Dragger = {
+  host: "table",
+  install: function install10(host) {
+    Object.assign(host.methods, Methods$4);
+  }
+};
+var Methods$3 = {};
+var Sort = {
+  host: "table",
+  install: function install11(host) {
+    Object.assign(host.methods, Methods$3);
+  }
+};
+function createTooltipRange(_ref246) {
+  var _vm = _ref246._vm, cell = _ref246.cell, column = _ref246.column, isHeader = _ref246.isHeader;
+  var range = document.createRange();
+  var rangeEnd;
+  range.setStart(cell, 0);
+  if (_vm.headerSuffixIconAbsolute) {
+    if (column.sortable && column.filter && isHeader) {
+      rangeEnd = cell.childNodes.length - 2;
+    } else if ((column.sortable || column.filter) && isHeader) {
+      rangeEnd = cell.childNodes.length - 1;
+    } else {
+      rangeEnd = cell.childNodes.length;
+    }
+  } else {
+    rangeEnd = column.sortable && isHeader ? cell.childNodes.length - 1 : cell.childNodes.length;
+  }
+  range.setEnd(cell, rangeEnd);
+  return range;
+}
+function processContentMethod(_ref247) {
+  var _vm = _ref247._vm, column = _ref247.column, content = _ref247.content, contentMethod = _ref247.contentMethod, event = _ref247.event, isHeader = _ref247.isHeader, row22 = _ref247.row, showTip = _ref247.showTip;
+  if (contentMethod) {
+    _vm.tooltipContent = contentMethod({
+      event,
+      column,
+      row: row22,
+      showTip,
+      isHeader,
+      content
+    }, h);
+  } else {
+    _vm.tooltipContent = content;
+  }
+}
+var focusSingle = null;
+var Methods$2 = {
+  // 显示 tooltip 依赖的 popper 组件
+  activateTooltip: function activateTooltip(tooltip, isValid) {
+    if (!this.tasks.activateTooltip) {
+      this.tasks.activateTooltip = debounce_default(300, function() {
+        var sign = isValid !== void 0 ? isValid : focusSingle;
+        if (sign) {
+          tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+          tooltip.doDestroy();
+          tooltip.show();
+          setTimeout(tooltip.updatePopper);
+        }
+      });
+    }
+    this.tasks.activateTooltip();
+  },
+  // 显示 tooltip 依赖的 popper 组件
+  activateTooltipValid: function activateTooltipValid(tooltip) {
+    if (!this.tasks.activateTooltipValid) {
+      this.tasks.activateTooltipValid = debounce_default(50, function() {
+        tooltip.handleShowPopper();
+        setTimeout(function() {
+          return tooltip.updatePopper();
+        });
+      });
+    }
+    this.tasks.activateTooltipValid();
+  },
+  // 显示 tooltip
+  handleTooltip: function handleTooltip(event, column, row22, showTip, isHeader) {
+    var cell = isHeader ? event.currentTarget.querySelector(".tiny-grid-cell-text") : event.currentTarget.querySelector(".tiny-grid-cell");
+    if (isHeader && event.target !== cell) {
+      return;
+    }
+    var tooltip = this.$refs.tooltip;
+    var wrapperElem = cell;
+    var content = cell.innerText.trim() || cell.textContent.trim();
+    var contentMethod = this.tooltipConfig.contentMethod;
+    var range = createTooltipRange({
+      _vm: this,
+      cell,
+      column,
+      isHeader
+    });
+    var rangeWidth = range.getBoundingClientRect().width;
+    var padding = (parseInt(getStyle$2(cell, "paddingLeft"), 10) || 0) + (parseInt(getStyle$2(cell, "paddingRight"), 10) || 0);
+    var isOverflow = rangeWidth + padding > cell.offsetWidth || wrapperElem.scrollWidth > wrapperElem.clientWidth;
+    if ((contentMethod || content) && (showTip || isOverflow)) {
+      Object.assign(this.tooltipStore, {
+        row: row22,
+        column,
+        visible: true
+      });
+      if (tooltip) {
+        processContentMethod({
+          _vm: this,
+          column,
+          content,
+          contentMethod,
+          event,
+          isHeader,
+          row: row22,
+          showTip
+        });
+        tooltip.state.referenceElm = cell;
+        tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+        focusSingle = true;
+        this.activateTooltip(tooltip);
+      }
+    }
+    return this.$nextTick();
+  },
+  // 提供关闭tips提示的方法
+  clostTooltip: function clostTooltip() {
+    var tooltip = this.$refs.tooltip;
+    Object.assign(this.tooltipStore, {
+      content: null,
+      row: null,
+      visible: false,
+      column: null
+    });
+    focusSingle = false;
+    if (tooltip && typeof tooltip.setExpectedState === "function") {
+      tooltip.setExpectedState(false);
+      this.debounceClose(tooltip);
+    }
+    return this.$nextTick();
+  },
+  // 添加代码让用户代码可以划入popper
+  debounceClose: function debounceClose(tooltip) {
+    if (!this.tasks.debounceClose) {
+      this.tasks.debounceClose = debounce_default(50, function() {
+        tooltip.handleClosePopper();
+      });
+    }
+    this.tasks.debounceClose();
+  },
+  // 触发表头 tooltip 事件
+  triggerHeaderTooltipEvent: function triggerHeaderTooltipEvent(event, params) {
+    var tooltipStore = this.tooltipStore;
+    var column = params.column, showHeaderTip = params.showHeaderTip;
+    if (tooltipStore.column !== column || !tooltipStore.visible) {
+      this.handleTooltip(event, column, null, showHeaderTip, true);
+    }
+  },
+  // 触发表尾 tooltip 事件
+  triggerFooterTooltipEvent: function triggerFooterTooltipEvent(event, params) {
+    var column = params.column;
+    var tooltipStore = this.tooltipStore;
+    if (tooltipStore.column !== column || !tooltipStore.visible) {
+      this.handleTooltip(event, column);
+    }
+  },
+  // 触发 tooltip 事件
+  triggerTooltipEvent: function triggerTooltipEvent(event, params) {
+    var editConfig = this.editConfig, editStore = this.editStore, tooltipStore = this.tooltipStore;
+    var actived = editStore.actived;
+    var row22 = params.row, column = params.column, showTip = params.showTip;
+    if (editConfig) {
+      if (editConfig.mode === "row" && actived.row === row22 && column.editor || actived.row === row22 && actived.column === column) {
+        return;
+      }
+    }
+    if (tooltipStore.column !== column || tooltipStore.row !== row22 || !tooltipStore.visible) {
+      this.handleTooltip(event, column, row22, showTip);
+    }
+  }
+};
+var Tooltip = {
+  host: "table",
+  install: function install12(host) {
+    Object.assign(host.methods, Methods$2);
+  }
+};
+function onHalfSelectionProperty(_ref248) {
+  var checkStrictly = _ref248.checkStrictly, property2 = _ref248.property, row22 = _ref248.row, treeConfig = _ref248.treeConfig, treeIndeterminates = _ref248.treeIndeterminates, value = _ref248.value;
+  if (property2 && treeConfig && !checkStrictly && value === -1) {
+    treeIndeterminates.push(row22);
+    set_default(row22, property2, false);
+  }
+}
+function onFullSelectionProperty(_ref249) {
+  var checkMethod = _ref249.checkMethod, checkStrictly = _ref249.checkStrictly, property2 = _ref249.property, row22 = _ref249.row, treeConfig = _ref249.treeConfig, treeIndeterminates = _ref249.treeIndeterminates, value = _ref249.value;
+  if (property2 && treeConfig && !checkStrictly && value !== -1) {
+    eachTree_default([row22], function(item, $rowIndex) {
+      if (row22 === item || !checkMethod || checkMethod({
+        row: item,
+        $rowIndex
+      })) {
+        set_default(item, property2, value);
+        remove_default(treeIndeterminates, function(r) {
+          return r === item;
+        });
+      }
+    }, treeConfig);
+  }
+}
+function getVItemsOnParentSlctProp(_ref250) {
+  var checkMethod = _ref250.checkMethod, matchObj = _ref250.matchObj;
+  var tinyItems;
+  if (checkMethod) {
+    tinyItems = matchObj.items.filter(function(item, $rowIndex) {
+      return checkMethod({
+        row: item,
+        $rowIndex
+      });
+    });
+  } else {
+    tinyItems = matchObj.items;
+  }
+  return tinyItems;
+}
+function getParentStatusOnParentSlctProp(_ref251) {
+  var indeterminatesItem = _ref251.indeterminatesItem, matchObj = _ref251.matchObj, property2 = _ref251.property, vItems = _ref251.vItems, value = _ref251.value;
+  var parentStatus;
+  if (indeterminatesItem) {
+    parentStatus = -1;
+  } else {
+    var selectItemArr = matchObj.items.filter(function(item) {
+      return get_default(item, property2);
+    });
+    var _isEqual = selectItemArr.filter(function(item) {
+      return ~vItems.indexOf(item);
+    }).length === vItems.length;
+    parentStatus = _isEqual ? true : selectItemArr.length || value === -1 ? -1 : false;
+  }
+  return parentStatus;
+}
+function onHalfSelection(_ref252) {
+  var checkStrictly = _ref252.checkStrictly, property2 = _ref252.property, row22 = _ref252.row, selection = _ref252.selection, treeConfig = _ref252.treeConfig, treeIndeterminates = _ref252.treeIndeterminates, value = _ref252.value;
+  if (!property2 && treeConfig && !checkStrictly && value === -1) {
+    treeIndeterminates.push(row22);
+    remove_default(selection, function(item) {
+      return item === row22;
+    });
+  }
+}
+function getVItemsOnParentSelection(_ref253) {
+  var checkMethod = _ref253.checkMethod, matchObj = _ref253.matchObj;
+  var vItems;
+  if (checkMethod) {
+    vItems = matchObj.items.filter(function(item, $rowIndex) {
+      return checkMethod({
+        row: item,
+        $rowIndex
+      });
+    });
+  } else {
+    vItems = matchObj.items;
+  }
+  return vItems;
+}
+var addSelection = function addSelection2(selection, item) {
+  return !selection.includes(item) && selection.push(item);
+};
+function onFullSelection(_ref254) {
+  var checkMethod = _ref254.checkMethod, checkStrictly = _ref254.checkStrictly, property2 = _ref254.property, row22 = _ref254.row, selection = _ref254.selection, treeConfig = _ref254.treeConfig, treeIndeterminates = _ref254.treeIndeterminates, value = _ref254.value;
+  if (!property2 && treeConfig && !checkStrictly && value !== -1) {
+    eachTree_default([row22], function(item, $rowIndex) {
+      if (row22 === item || !checkMethod || checkMethod({
+        row: item,
+        $rowIndex
+      })) {
+        if (value) {
+          addSelection(selection, item);
+        } else {
+          remove_default(selection, function(select2) {
+            return select2 === item;
+          });
+        }
+        remove_default(treeIndeterminates, function(r) {
+          return r === item;
+        });
+      }
+    }, treeConfig);
+  }
+}
+function getParentStatusOnParentSelection(_ref255) {
+  var indeterminatesItem = _ref255.indeterminatesItem, matchObj = _ref255.matchObj, selection = _ref255.selection, vItems = _ref255.vItems, value = _ref255.value;
+  var parentStatus;
+  if (indeterminatesItem) {
+    parentStatus = -1;
+  } else {
+    var selectItems = matchObj.items.filter(function(item) {
+      return selection.includes(item);
+    });
+    var isEqualItem = selectItems.filter(function(item) {
+      return vItems.includes(item);
+    }).length === vItems.length;
+    parentStatus = isEqualItem ? true : selectItems.length || value === -1 ? -1 : false;
+  }
+  return parentStatus;
+}
+function hasCheckField(_ref256, value, _vm) {
+  var row22 = _ref256.row;
+  var tableFullData = _vm.tableFullData, _vm$selectConfig = _vm.selectConfig, selectConfig = _vm$selectConfig === void 0 ? {} : _vm$selectConfig, treeConfig = _vm.treeConfig, treeIndeterminates = _vm.treeIndeterminates;
+  var property2 = selectConfig.checkField, checkStrictly = selectConfig.checkStrictly, checkMethod = selectConfig.checkMethod;
+  onHalfSelectionProperty({
+    checkStrictly,
+    property: property2,
+    row: row22,
+    treeConfig,
+    treeIndeterminates,
+    value
+  });
+  onFullSelectionProperty({
+    checkMethod,
+    checkStrictly,
+    property: property2,
+    row: row22,
+    treeConfig,
+    treeIndeterminates,
+    value
+  });
+  if (property2 && treeConfig && !checkStrictly) {
+    var matchObj = findTree_default(tableFullData, function(item) {
+      return item === row22;
+    }, treeConfig);
+    if (matchObj && matchObj.parent) {
+      var vItems = getVItemsOnParentSlctProp({
+        checkMethod,
+        matchObj
+      });
+      var indeterminatesItem = find_default(matchObj.items, function(item) {
+        return treeIndeterminates.includes(item);
+      });
+      var parentStatus = getParentStatusOnParentSlctProp({
+        indeterminatesItem,
+        matchObj,
+        property: property2,
+        vItems,
+        value
+      });
+      return _vm.handleSelectRow({
+        row: matchObj.parent
+      }, parentStatus);
+    }
+  }
+  if (property2 && !(treeConfig && !checkStrictly)) {
+    set_default(row22, property2, value);
+  }
+}
+function onSelectTreeCheckStrictly(_ref257, value, _vm) {
+  var row22 = _ref257.row;
+  var selection = _vm.selection, tableFullData = _vm.tableFullData, _vm$selectConfig2 = _vm.selectConfig, selectConfig = _vm$selectConfig2 === void 0 ? {} : _vm$selectConfig2, treeConfig = _vm.treeConfig, treeIndeterminates = _vm.treeIndeterminates;
+  var property2 = selectConfig.checkField, checkStrictly = selectConfig.checkStrictly, checkMethod = selectConfig.checkMethod;
+  onHalfSelection({
+    checkStrictly,
+    property: property2,
+    row: row22,
+    selection,
+    treeConfig,
+    treeIndeterminates,
+    value
+  });
+  onFullSelection({
+    checkMethod,
+    checkStrictly,
+    property: property2,
+    row: row22,
+    selection,
+    treeConfig,
+    treeIndeterminates,
+    value
+  });
+  if (!property2 && treeConfig && !checkStrictly) {
+    var matchObj = findTree_default(tableFullData, function(item) {
+      return item === row22;
+    }, treeConfig);
+    if (matchObj && matchObj.parent) {
+      var vItems = getVItemsOnParentSelection({
+        checkMethod,
+        matchObj
+      });
+      var indeterminatesItem = find_default(matchObj.items, function(item) {
+        return treeIndeterminates.includes(item);
+      });
+      var parentStatus = getParentStatusOnParentSelection({
+        indeterminatesItem,
+        matchObj,
+        selection,
+        vItems,
+        value
+      });
+      return _vm.handleSelectRow({
+        row: matchObj.parent
+      }, parentStatus);
+    }
+  }
+}
+function onSelectOther(_ref258, value, _vm) {
+  var row22 = _ref258.row;
+  var selection = _vm.selection, _vm$selectConfig3 = _vm.selectConfig, selectConfig = _vm$selectConfig3 === void 0 ? {} : _vm$selectConfig3, treeConfig = _vm.treeConfig;
+  var property2 = selectConfig.checkField, checkStrictly = selectConfig.checkStrictly;
+  if (!property2 && !(treeConfig && !checkStrictly)) {
+    if (value) {
+      addSelection(selection, row22);
+    } else {
+      remove_default(selection, function(item) {
+        return item === row22;
+      });
+    }
+  }
+}
+function hasNoCheckField(_ref259, value, _vm) {
+  var row22 = _ref259.row;
+  onSelectTreeCheckStrictly({
+    row: row22
+  }, value, _vm);
+  onSelectOther({
+    row: row22
+  }, value, _vm);
+}
+function pushSelectRow(_ref260) {
+  var afterFullData = _ref260.afterFullData, checkMethod = _ref260.checkMethod, checkStrictly = _ref260.checkStrictly, property2 = _ref260.property, selectRows = _ref260.selectRows, selection = _ref260.selection, treeConfig = _ref260.treeConfig, value = _ref260.value;
+  if (!checkStrictly && !property2 && treeConfig && value) {
+    eachTree_default(afterFullData, function(row22, $rowIndex) {
+      if (!checkMethod || checkMethod({
+        row: row22,
+        $rowIndex
+      })) {
+        selectRows.push(row22);
+      }
+    }, treeConfig);
+  }
+  if (!checkStrictly && !property2 && treeConfig && !value && checkMethod) {
+    eachTree_default(afterFullData, function(row22, $rowIndex) {
+      if (checkMethod({
+        row: row22,
+        $rowIndex
+      }) ? 0 : selection.includes(row22)) {
+        selectRows.push(row22);
+      }
+    }, treeConfig);
+  }
+}
+function hasCheckFieldNoStrictly(_ref261) {
+  var afterFullData = _ref261.afterFullData, checkMethod = _ref261.checkMethod, checkStrictly = _ref261.checkStrictly, property2 = _ref261.property, selection = _ref261.selection, treeConfig = _ref261.treeConfig, value = _ref261.value;
+  if (!checkStrictly && property2) {
+    var indexKey = (treeConfig ? "$" : "") + "rowIndex";
+    var setValFn = function setValFn2(row22, rowIndex) {
+      var _checkMethod;
+      if (!checkMethod || checkMethod((_checkMethod = {
+        row: row22
+      }, _checkMethod[indexKey] = rowIndex, _checkMethod))) {
+        set_default(row22, property2, value);
+      }
+    };
+    var clearValFn = function clearValFn2(row22, rowIndex) {
+      var _checkMethod2;
+      if (!checkMethod || (checkMethod((_checkMethod2 = {
+        row: row22
+      }, _checkMethod2[indexKey] = rowIndex, _checkMethod2)) ? 0 : selection.includes(row22))) {
+        set_default(row22, property2, value);
+      }
+    };
+    if (treeConfig) {
+      eachTree_default(afterFullData, value ? setValFn : clearValFn, treeConfig);
+    } else {
+      afterFullData.forEach(value ? setValFn : clearValFn);
+    }
+  }
+}
+function filterSelectRow(_ref262) {
+  var afterFullData = _ref262.afterFullData, checkMethod = _ref262.checkMethod, checkStrictly = _ref262.checkStrictly, property2 = _ref262.property, selectRows = _ref262.selectRows, selection = _ref262.selection, treeConfig = _ref262.treeConfig, value = _ref262.value;
+  if (!checkStrictly && !property2 && !treeConfig && value && checkMethod) {
+    selectRows = afterFullData.filter(function(row22, rowIndex) {
+      return selection.includes(row22) || checkMethod({
+        row: row22,
+        rowIndex
+      });
+    });
+  }
+  if (!checkStrictly && !property2 && !treeConfig && value && !checkMethod) {
+    selectRows = afterFullData.slice(0);
+  }
+  if (!checkStrictly && !property2 && !treeConfig && !value && checkMethod) {
+    selectRows = afterFullData.filter(function(row22, rowIndex) {
+      return checkMethod({
+        row: row22,
+        rowIndex
+      }) ? 0 : selection.includes(row22);
+    });
+  }
+  return selectRows;
+}
+function hasNoCheckFieldNoStrictly(_ref263) {
+  var afterFullData = _ref263.afterFullData, checkMethod = _ref263.checkMethod, checkStrictly = _ref263.checkStrictly, property2 = _ref263.property, selection = _ref263.selection, treeConfig = _ref263.treeConfig, value = _ref263.value;
+  var selectRows = [];
+  pushSelectRow({
+    afterFullData,
+    checkMethod,
+    checkStrictly,
+    property: property2,
+    selectRows,
+    selection,
+    treeConfig,
+    value
+  });
+  selectRows = filterSelectRow({
+    afterFullData,
+    checkMethod,
+    checkStrictly,
+    property: property2,
+    selectRows,
+    selection,
+    treeConfig,
+    value
+  });
+  return selectRows;
+}
+function setSelectionNoStrictly(_ref264) {
+  var _vm = _ref264._vm, checkStrictly = _ref264.checkStrictly, reserve = _ref264.reserve, selectRows = _ref264.selectRows, selection = _ref264.selection, value = _ref264.value;
+  if (!checkStrictly) {
+    _vm.selection = value && reserve ? selection.concat(selectRows.filter(function(row22) {
+      return !selection.includes(row22);
+    })) : selectRows;
+  }
+}
+var Methods$1 = {
+  // 处理默认勾选
+  handleSelectionDefChecked: function handleSelectionDefChecked() {
+    var fullDataRowIdData = this.fullDataRowIdData;
+    var _ref265 = this.selectConfig || {}, checkAll = _ref265.checkAll, checkRowKeys = _ref265.checkRowKeys;
+    if (checkAll) {
+      this.setAllSelection(true);
+      return;
+    }
+    if (checkRowKeys) {
+      var defCheckedRowids = checkRowKeys.map(function(key) {
+        return encodeURIComponent(key);
+      });
+      var defCheckedRows = [];
+      defCheckedRowids.forEach(function(rowid2) {
+        var rowCache = fullDataRowIdData[rowid2];
+        if (rowCache) {
+          defCheckedRows.push(rowCache.row);
+        }
+      });
+      this.setSelection(defCheckedRows, true);
+    }
+  },
+  setSelection: function setSelection(rows, value) {
+    var _this96 = this;
+    if (rows) {
+      if (!isArray(rows)) {
+        rows = [rows];
+      }
+      rows.forEach(function(row22) {
+        return _this96.handleSelectRow({
+          row: row22
+        }, !!value);
+      });
+    }
+    return this.$nextTick();
+  },
+  // 多选,行选中事件。value:选中true、不选false、不确定-1
+  handleSelectRow: function handleSelectRow(_ref266, value) {
+    var row22 = _ref266.row;
+    hasCheckField({
+      row: row22
+    }, value, this);
+    hasNoCheckField({
+      row: row22
+    }, value, this);
+    this.checkSelectionStatus();
+  },
+  handleToggleCheckRowEvent: function handleToggleCheckRowEvent(params, event) {
+    var selection = this.selection;
+    var _ref267 = this.selectConfig || {}, checkField = _ref267.checkField;
+    var row22 = params.row;
+    var value = checkField ? !get_default(row22, checkField) : !~selection.indexOf(row22);
+    if (event) {
+      this.triggerCheckRowEvent(event, params, value);
+    } else {
+      this.handleSelectRow(params, value);
+    }
+  },
+  triggerCheckRowEvent: function triggerCheckRowEvent(event, params, value) {
+    var _this$selectConfig4 = this.selectConfig, selectConfig = _this$selectConfig4 === void 0 ? {} : _this$selectConfig4;
+    var checkMethod = selectConfig.checkMethod;
+    if (!checkMethod || checkMethod(params)) {
+      this.handleSelectRow(params, value);
+      emitEvent$1(this, "select-change", [_extends$2({
+        selection: this.getSelectRecords(),
+        checked: value,
+        $table: this
+      }, params), event]);
+    }
+  },
+  // 多选,切换某一行的选中状态
+  toggleRowSelection: function toggleRowSelection(row22) {
+    this.handleToggleCheckRowEvent({
+      row: row22
+    });
+    return this.$nextTick();
+  },
+  setAllSelection: function setAllSelection(value) {
+    var afterFullData = this.afterFullData, _this$selectConfig5 = this.selectConfig, selectConfig = _this$selectConfig5 === void 0 ? {} : _this$selectConfig5, treeConfig = this.treeConfig, selection = this.selection;
+    var property2 = selectConfig.checkField, reserve = selectConfig.reserve, checkStrictly = selectConfig.checkStrictly, checkMethod = selectConfig.checkMethod;
+    hasCheckFieldNoStrictly({
+      afterFullData,
+      checkMethod,
+      checkStrictly,
+      property: property2,
+      selection,
+      treeConfig,
+      value
+    });
+    var selectRows = hasNoCheckFieldNoStrictly({
+      afterFullData,
+      checkMethod,
+      checkStrictly,
+      property: property2,
+      selection,
+      treeConfig,
+      value
+    });
+    setSelectionNoStrictly({
+      _vm: this,
+      checkStrictly,
+      reserve,
+      selectRows,
+      selection,
+      value
+    });
+    this.treeIndeterminates = [];
+    this.checkSelectionStatus();
+  },
+  checkSelectionStatus: function checkSelectionStatus() {
+    var afterFullData = this.afterFullData, selection = this.selection, treeIndeterminates = this.treeIndeterminates;
+    var _ref268 = this.selectConfig || {}, checkField = _ref268.checkField, checkStrictly = _ref268.checkStrictly, checkMethod = _ref268.checkMethod;
+    var _ref269 = {}, everyHandler = _ref269.everyHandler, someHandler = _ref269.someHandler;
+    if (checkStrictly) {
+      return;
+    }
+    if (checkField) {
+      everyHandler = checkMethod ? function(row22, rowIndex) {
+        return !checkMethod({
+          row: row22,
+          rowIndex
+        }) || get_default(row22, checkField);
+      } : function(row22) {
+        return get_default(row22, checkField);
+      };
+      someHandler = function someHandler2(row22) {
+        return get_default(row22, checkField) || ~treeIndeterminates.indexOf(row22);
+      };
+      this.isAllSelected = false;
+      afterFullData.length && (this.isAllSelected = afterFullData.every(everyHandler));
+      this.isIndeterminate = !this.isAllSelected && afterFullData.some(someHandler);
+    } else {
+      everyHandler = function everyHandler2(row22, rowIndex) {
+        return !checkMethod({
+          row: row22,
+          rowIndex
+        });
+      };
+      this.headerCheckDisabled = checkMethod && afterFullData.length && afterFullData.every(everyHandler);
+      everyHandler = checkMethod ? function(row22, rowIndex) {
+        return !checkMethod({
+          row: row22,
+          rowIndex
+        }) || ~selection.indexOf(row22);
+      } : function(row22) {
+        return ~selection.indexOf(row22);
+      };
+      someHandler = function someHandler2(row22) {
+        return ~treeIndeterminates.indexOf(row22) || ~selection.indexOf(row22);
+      };
+      this.isAllSelected = false;
+      afterFullData.length && (this.isAllSelected = afterFullData.every(everyHandler));
+      this.isIndeterminate = !this.isAllSelected && afterFullData.some(someHandler);
+    }
+  },
+  // 保留选中状态
+  reserveCheckSelection: function reserveCheckSelection() {
+    var fullDataRowIdData = this.fullDataRowIdData, selection = this.selection;
+    var _ref270 = this.selectConfig || {}, reserve = _ref270.reserve;
+    var rowkey = getTableRowKey(this);
+    if (reserve && selection.length) {
+      this.selection = selection.map(function(row22) {
+        var rowCache = fullDataRowIdData["" + get_default(row22, rowkey)];
+        return rowCache ? rowCache.row : row22;
+      });
+    }
+  },
+  // 多选,选中所有事件
+  triggerCheckAllEvent: function triggerCheckAllEvent(event, value) {
+    this.setAllSelection(value);
+    var eventParams = {
+      selection: this.getSelectRecords(),
+      checked: value,
+      $table: this
+    };
+    emitEvent$1(this, "select-all", [eventParams, event]);
+  },
+  // 多选,切换所有行的选中状态
+  toggleAllSelection: function toggleAllSelection() {
+    this.triggerCheckAllEvent(null, !this.isAllSelected);
+    return this.$nextTick();
+  },
+  clearSelection: function clearSelection() {
+    var tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    var _ref271 = this.selectConfig || {}, checkField = _ref271.checkField;
+    if (checkField) {
+      treeConfig ? eachTree_default(tableFullData, function(item) {
+        return set_default(item, checkField, false);
+      }, treeConfig) : tableFullData.forEach(function(item) {
+        return set_default(item, checkField, false);
+      });
+    }
+    Object.assign(this, {
+      isAllSelected: false,
+      isIndeterminate: false,
+      selection: [],
+      treeIndeterminates: []
+    });
+    return this.$nextTick();
+  },
+  initMultipleHistory: function initMultipleHistory() {
+    var isMultipleHistory = this.$grid.isMultipleHistory;
+    var toolbarVm = this.getVm("toolbar");
+    var storageKey = toolbarVm.settingOpts.storageKey, toolbarId = toolbarVm.id;
+    var remoteSelectedMethod = toolbarVm.setting.multipleHistory.remoteSelectedMethod;
+    var remoteSelectedPromise;
+    if (isMultipleHistory && toolbarVm && toolbarVm.setting && toolbarVm.setting.multipleHistory && remoteSelectedMethod) {
+      if (typeof remoteSelectedMethod === "function") {
+        remoteSelectedPromise = remoteSelectedMethod();
+        if (typeof remoteSelectedPromise.then === "function") {
+          remoteSelectedPromise.then(function(storeStr) {
+            var storeObj = toStringJSON_default(storeStr);
+            storeObj = storeObj && storeObj[storageKey] || null;
+            storeObj = (storeObj || {})[toolbarId] || {};
+            var _storeObj = storeObj, columns2 = _storeObj.columns, pageSize2 = _storeObj.pageSize;
+            toolbarVm.applySettings({
+              columns: columns2,
+              pageSize: pageSize2
+            });
+          });
+        }
+      }
+    }
+  },
+  // 显示多选工具栏
+  showSelectToolbar: function showSelectToolbar() {
+    var _this$$grid4 = this.$grid, selectToolbar = _this$$grid4.selectToolbar, showHeader = _this$$grid4.showHeader, selectToolbarStore = this.selectToolbarStore;
+    if (selectToolbar && showHeader) {
+      selectToolbarStore.visible = false;
+      var selectColumn = find_default(this.visibleColumn, function(item) {
+        return item.type === "selection";
+      });
+      var selected = this.getSelectRecords();
+      var position = typeof selectToolbar === "object" ? selectToolbar.position : "";
+      if (selectColumn && selected && selected.length) {
+        var selectTh = this.$el.querySelector("th.tiny-grid-header__column.col__selection");
+        var headerWrapper = this.$el.querySelector(".tiny-grid>.tiny-grid__header-wrapper");
+        var tr = selectTh.parentNode;
+        var thArr = toArray_default(tr.childNodes);
+        var range = document.createRange();
+        var rangeBoundingRect;
+        var headerBoundingRect = headerWrapper.getBoundingClientRect();
+        var layout = {
+          width: 0,
+          height: 0,
+          left: 0,
+          top: 0,
+          zIndex: 1
+        };
+        var adjust = 1;
+        if (selectColumn.fixed === "right") {
+          range.setStart(tr, thArr.indexOf(selectTh));
+          range.setEnd(tr, thArr.length);
+          rangeBoundingRect = range.getBoundingClientRect();
+          layout.left = adjust + "px";
+        } else {
+          range.setStart(tr, 0);
+          range.setEnd(tr, thArr.indexOf(selectTh) + 1);
+          rangeBoundingRect = range.getBoundingClientRect();
+          layout.left = rangeBoundingRect.width + adjust + "px";
+        }
+        layout.width = headerBoundingRect.width - rangeBoundingRect.width - 2 * adjust + "px";
+        if (!selectColumn.fixed && position === "left") {
+          range = document.createRange();
+          range.setStart(tr, 0);
+          range.setEnd(tr, thArr.indexOf(selectTh));
+          rangeBoundingRect = range.getBoundingClientRect();
+          layout.left = adjust + "px";
+          layout.width = rangeBoundingRect.width - 2 * adjust + "px";
+        }
+        layout.top = headerBoundingRect.height - rangeBoundingRect.height + adjust + "px";
+        layout.height = rangeBoundingRect.height - 2 * adjust + "px";
+        return this.$nextTick().then(function() {
+          selectToolbarStore.layout = layout;
+          selectToolbarStore.visible = true;
+        });
+      }
+    }
+    return this.$nextTick();
+  },
+  // 切换多选工具栏的显示
+  toggleSelectToolbarVisible: function toggleSelectToolbarVisible() {
+    this.selectToolbarStore.visible = !this.selectToolbarStore.visible;
+    return this.$nextTick();
+  },
+  // 在空数据时Selection列表头复选框禁用,headerAutoDisabled设置为false就会和旧版本兼容
+  handleSelectionHeader: function handleSelectionHeader() {
+    var tableFullData = this.tableFullData, visibleColumn = this.visibleColumn, _this$selectConfig6 = this.selectConfig, selectConfig = _this$selectConfig6 === void 0 ? {} : _this$selectConfig6;
+    var headerAutoDisabled = selectConfig.headerAutoDisabled;
+    var selectionColumn = visibleColumn.find(function(column) {
+      return column.type === "selection";
+    });
+    if ((typeof headerAutoDisabled === "undefined" || typeof headerAutoDisabled === "boolean" && headerAutoDisabled) && !tableFullData.length && selectionColumn) {
+      this.headerCheckDisabled = true;
+    }
+  }
+};
+var Checkbox = {
+  host: "table",
+  install: function install13(host) {
+    Object.assign(host.methods, Methods$1);
+  }
+};
+var Methods = {
+  // 展开树节点事件
+  triggerTreeExpandEvent: function triggerTreeExpandEvent(event, _ref272) {
+    var _this97 = this;
+    var row22 = _ref272.row;
+    var currentColumn = this.currentColumn, currentRow = this.currentRow;
+    var rest = this.toggleTreeExpansion(row22);
+    var eventParams = {
+      $table: this,
+      row: row22,
+      rowIndex: this.getRowIndex(row22)
+    };
+    emitEvent$1(this, "toggle-tree-change", [eventParams, event]);
+    this.$nextTick(function() {
+      if (currentRow) {
+        _this97.setCurrentRow(currentRow);
+      } else if (currentColumn) {
+        _this97.setCurrentColumn(currentColumn);
+      }
+    });
+    return rest;
+  },
+  // 切换/展开树节点
+  toggleTreeExpansion: function toggleTreeExpansion(row22) {
+    return this.setTreeExpansion(row22);
+  },
+  // 处理默认展开树节点
+  handleDefaultTreeExpand: function handleDefaultTreeExpand() {
+    var _this98 = this;
+    var tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    if (!treeConfig) {
+      return;
+    }
+    var children = treeConfig.children, expandAll = treeConfig.expandAll, rowids = treeConfig.expandRowKeys;
+    var treeExpandeds = [];
+    var rowkey = getTableRowKey(this);
+    var isNonEmptyArr = function isNonEmptyArr2(arr) {
+      return isArray(arr) && arr.length;
+    };
+    var doExpandAll = function doExpandAll2() {
+      filterTree_default(tableFullData, function(row22) {
+        return isNonEmptyArr(row22[children]) && treeExpandeds.push(row22);
+      }, treeConfig);
+      _this98.treeExpandeds = treeExpandeds;
+    };
+    var doExpandRows = function doExpandRows2() {
+      rowids.forEach(function(rowid2) {
+        var matchObj = findTree_default(tableFullData, function(item) {
+          return rowid2 === get_default(item, rowkey);
+        }, treeConfig);
+        matchObj && isNonEmptyArr(matchObj.item[children]) && treeExpandeds.push(matchObj.item);
+      });
+      _this98.treeExpandeds = treeExpandeds;
+    };
+    if (expandAll) {
+      doExpandAll();
+    } else if (rowids) {
+      doExpandRows();
+    }
+    setTreeScrollYCache(this);
+  },
+  setAllTreeExpansion: function setAllTreeExpansion(expanded) {
+    var tableFullData = this.tableFullData, treeConfig = this.treeConfig;
+    var children = treeConfig.children;
+    var treeExpandeds = [];
+    if (expanded) {
+      var rowHandler = function rowHandler2(row22) {
+        if (row22[children] && row22[children].length) {
+          treeExpandeds.push(row22);
+        }
+      };
+      eachTree_default(tableFullData, rowHandler, treeConfig);
+    }
+    this.treeExpandeds = treeExpandeds;
+    setTreeScrollYCache(this);
+    return this.$nextTick().then(this.recalculate);
+  },
+  // 设置展开树形节点,二个参数设置这一行展开与否:支持单行,支持多行
+  setTreeExpansion: function setTreeExpansion(rows, expanded) {
+    var treeConfig = this.treeConfig, treeExpandeds = this.treeExpandeds, tableFullData = this.tableFullData;
+    var accordion = treeConfig.accordion, children = treeConfig.children;
+    var isToggle = arguments.length === 1;
+    if (!rows) {
+      return this.$nextTick().then(this.recalculate);
+    }
+    if (!isArray(rows)) {
+      rows = [rows];
+    }
+    if (accordion) {
+      rows = rows.slice(rows.length - 1, rows.length);
+    }
+    var treeExpandedsCopy = [].concat(treeExpandeds);
+    rows.forEach(function(row22) {
+      if (row22[children] && row22[children].length) {
+        var _index7 = treeExpandedsCopy.indexOf(row22);
+        if (accordion) {
+          var matchObj = findTree_default(tableFullData, function(item) {
+            return item === row22;
+          }, treeConfig);
+          remove_default(treeExpandedsCopy, function(item) {
+            return ~matchObj.items.indexOf(item);
+          });
+        }
+        if (~_index7 && (isToggle || !expanded)) {
+          treeExpandedsCopy.splice(_index7, 1);
+          return;
+        }
+        if (!~_index7 && (isToggle || expanded)) {
+          treeExpandedsCopy.push(row22);
+        }
+      }
+    });
+    this.treeExpandeds = treeExpandedsCopy;
+    setTreeScrollYCache(this);
+    return this.$nextTick().then(this.recalculate);
+  },
+  hasTreeExpand: function hasTreeExpand(row22) {
+    return ~this.treeExpandeds.indexOf(row22);
+  },
+  clearTreeExpand: function clearTreeExpand() {
+    var _this99 = this;
+    var hasExpand = this.treeExpandeds.length;
+    this.treeExpandeds = [];
+    setTreeScrollYCache(this);
+    return this.$nextTick().then(function() {
+      return hasExpand ? _this99.recalculate() : 0;
+    });
+  }
+};
+var Tree = {
+  host: "table",
+  install: function install14(host) {
+    Object.assign(host.methods, Methods);
+  }
+};
+var version$2 = "3.16.0";
+var plugins = [Panel, Edit, Export, Keyboard, Validator, Resize, Panel$1, FetchData, Pager, Toolbar, ColumnAnchor, Dragger, Sort, Tooltip, Checkbox, Tree];
+GridAdapter.setup({
+  i18n: t
+});
+GridAdapter.t = t;
+plugins.map(function(plugin) {
+  return plugin.install(plugin.host === "grid" ? Grid : Table);
+});
+var getWrapFunc = function getWrapFunc2(name) {
+  return function() {
+    var tinyTable = this.$refs.tinyTable;
+    if (tinyTable) {
+      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
+        args[_key3] = arguments[_key3];
+      }
+      return this.$refs.tinyTable[name].apply(tinyTable, args);
+    }
+  };
+};
+Object.keys(Table.methods).forEach(function(name) {
+  if (!Grid.methods[name]) {
+    Grid.methods[name] = getWrapFunc(name);
+  }
+});
+Grid.version = version$2;
+Grid.install = function(Vue) {
+  Vue.component(Grid.name, Grid);
+};
+const setSubitemAttrValue = ({ className, item, value }) => {
+  if (value) {
+    if (typeof value === "number") {
+      className[`col-${item}-`] = value;
+    } else {
+      if ("span" in value) {
+        className[`col-${item}-`] = value.span;
+      }
+      if ("offset" in value) {
+        className[`col-${item}-offset-`] = value.offset;
+      }
+      if ("push" in value) {
+        className[`col-${item}-push-`] = value.push;
+      }
+      if ("pull" in value) {
+        className[`col-${item}-pull-`] = value.pull;
+      }
+    }
+  }
+};
+const setGlobalAttrValue = ({ attr, className, value }) => {
+  attr = attr ? attr + "-" : "";
+  className[`col-xs-${attr}`] = value;
+  className[`col-sm-${attr}`] = value;
+  className[`col-md-${attr}`] = value;
+  className[`col-lg-${attr}`] = value;
+  className[`col-xl-${attr}`] = value;
+};
+const getClassName = ({ api: api2, props: props2, state }) => () => {
+  var _a;
+  const multiple = 24 / (((_a = state.layout) == null ? void 0 : _a.cols) || 12);
+  const span = props2.span * multiple;
+  const offset = props2.offset;
+  const push = props2.move ? props2.move : 0;
+  const pull = props2.move ? 0 : -props2.move;
+  const subitems = {
+    xs: props2.xs * multiple,
+    sm: props2.sm * multiple,
+    md: props2.md * multiple,
+    lg: props2.lg * multiple,
+    xl: props2.xl * multiple
+  };
+  const className = {};
+  const result = [];
+  let item = {};
+  if (span) {
+    api2.setGlobalAttrValue({ attr: "", value: span, className });
+  }
+  if (offset) {
+    api2.setGlobalAttrValue({ attr: "offset", value: offset, className });
+  }
+  if (push) {
+    api2.setGlobalAttrValue({ attr: "push", value: push, className });
+  }
+  if (pull) {
+    api2.setGlobalAttrValue({ attr: "pull", value: pull, className });
+  }
+  for (item of Object.keys(subitems)) {
+    api2.setSubitemAttrValue({ item, value: subitems[item], className });
+  }
+  for (item of Object.keys(className)) {
+    result.push(item + className[item]);
+  }
+  return result.join(" ");
+};
+const row2 = (pcontext) => () => {
+  const ROW_NAME = "Row";
+  const COL_NAME = "Col";
+  let parent = pcontext.$parent.$parent;
+  let parentName = parent ? parent.$options.componentName : null;
+  let depth = 10;
+  while (parent && parentName !== ROW_NAME && parentName !== COL_NAME && depth--) {
+    parent = parent.$parent;
+    parentName = parent && parent.$options ? parent.$options.componentName : null;
+  }
+  return parentName === ROW_NAME ? parent : null;
+};
+const getStyle = ({ props: props2, state }) => () => {
+  const parent = state.row;
+  const no = props2.no;
+  const styles = [];
+  let gutter = parent ? parent.gutter : null;
+  let noSpace = parent ? parent.noSpace : null;
+  let order = "";
+  if (gutter) {
+    gutter = gutter / 2;
+    styles.push(`padding-left:${gutter}px;padding-right:${gutter}px;`);
+  } else if (noSpace) {
+    styles.push("padding-left:0;padding-right:0;");
+  }
+  if (parent && parent.flex && parent.order) {
+    order = parent.order === "asc" ? no : -no;
+    styles.push(`order:${order};-webkit-order:${order};-ms-order:${order};-moz-order:${order};`);
+  }
+  return styles.join("");
+};
+const api$1 = ["state"];
+const renderless$1 = (props2, { computed, reactive: reactive2, inject: inject2 }, { parent }) => {
+  const api2 = {};
+  const state = reactive2({
+    row: computed(() => api2.row()),
+    style: computed(() => api2.getStyle()),
+    className: computed(() => api2.getClassName()),
+    layout: inject2("layout", {})
+  });
+  Object.assign(api2, {
+    state,
+    row: row2(parent),
+    setGlobalAttrValue,
+    setSubitemAttrValue,
+    getStyle: getStyle({ props: props2, state }),
+    getClassName: getClassName({ api: api2, props: props2, state })
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc219(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$1 = defineComponent({
+  props: [].concat(props, ["span", "offset", "no", "move", "xs", "sm", "md", "lg", "xl", "tag"]),
+  setup: function setup$1$118(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
+    class: normalizeClass([_ctx.state.className, "tiny-col"]),
+    style: normalizeStyle(_ctx.state.style)
+  }, {
+    default: withCtx(function() {
+      return [renderSlot(_ctx.$slots, "default")];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["class", "style"]);
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render$1]]);
+const index$1 = "";
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var template$1 = function template210(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$1;
+};
+var Col = defineComponent({
+  name: $prefix + "Col",
+  props: _extends$1({}, $props, {
+    /**
+     * @property {number} [span=12] - 栅格占据的列数(一行以12/24栅格划分)
+     */
+    span: {
+      type: Number,
+      default: 12,
+      validator: function validator5(value) {
+        return Math.floor(value) === value && value > 0 && value <= 24;
+      }
+    },
+    /**
+     * @property {number} [offset=0] - 栅格左侧的间隔格数
+     */
+    offset: {
+      type: Number,
+      default: 0,
+      validator: function validator23(value) {
+        return value >= 0;
+      }
+    },
+    /**
+     * @property {no} [no=0] - 排序编号
+     */
+    no: {
+      type: Number,
+      default: 0
+    },
+    /**
+     * @property {number} [move=0] - 栅格向左向右移动格数
+     */
+    move: {
+      type: Number,
+      default: 0
+    },
+    /**
+     * @property {(number|object)} xs - <768px 响应式栅格数或者栅格属性对象
+     */
+    xs: {
+      type: [Number, Object]
+    },
+    /**
+     * @property {(number|object)} sm - ≥768px 响应式栅格数或者栅格属性对象
+     */
+    sm: {
+      type: [Number, Object]
+    },
+    /**
+     * @property {(number|object)} md - ≥992px 响应式栅格数或者栅格属性对象
+     */
+    md: {
+      type: [Number, Object]
+    },
+    /**
+     * @property {(number|object)} lg - ≥1200px 响应式栅格数或者栅格属性对象
+     */
+    lg: {
+      type: [Number, Object]
+    },
+    /**
+     * @property {(number|object)} xl - ≥1920px 响应式栅格数或者栅格属性对象
+     */
+    xl: {
+      type: [Number, Object]
+    },
+    /**
+     * @property {string} [tag=div] - 自定义元素标签
+     */
+    tag: {
+      type: String,
+      default: "div"
+    }
+  }),
+  setup: function setup15(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$1 = "3.16.0";
+Col.install = function(Vue) {
+  Vue.component(Col.name, Col);
+};
+Col.version = version$1;
+const computedClassName = ({ flex, justify, align }) => {
+  const className = [];
+  if (flex) {
+    className.push("row-flex");
+    className.push(`row-justify-${justify}`);
+    className.push(`row-align-${align}`);
+  }
+  return className.join(" ");
+};
+const computedStyle = (gutter) => {
+  const value = gutter ? -(gutter / 2) : 0;
+  return value ? { marginLeft: value + "px", marginRight: value + "px" } : {};
+};
+const api = ["state"];
+const renderless = (props2, { computed, reactive: reactive2 }) => {
+  const api2 = {
+    computedStyle,
+    computedClassName
+  };
+  const state = reactive2({
+    style: computed(() => api2.computedStyle(props2.gutter)),
+    className: computed(
+      () => api2.computedClassName({
+        flex: props2.flex,
+        justify: props2.justify,
+        align: props2.align
+      })
+    )
+  });
+  api2.state = state;
+  return api2;
+};
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc220(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main = defineComponent({
+  props: [].concat(props, ["flex", "gutter", "justify", "align", "order", "tag", "noSpace"]),
+  setup: function setup$1$119(props2, context) {
+    return setup$1({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
+    class: normalizeClass([_ctx.state.className, "tiny-row"]),
+    style: normalizeStyle(_ctx.state.style)
+  }, {
+    default: withCtx(function() {
+      return [renderSlot(_ctx.$slots, "default")];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["class", "style"]);
+}
+var pc = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+const index = "";
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template211(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc;
+};
+var Row = defineComponent({
+  name: $prefix + "Row",
+  componentName: "Row",
+  props: _extends({}, $props, {
+    flex: Boolean,
+    gutter: {
+      type: Number,
+      default: 0,
+      validator: function validator6(value) {
+        return value >= 0;
+      }
+    },
+    justify: {
+      type: String,
+      default: "start",
+      validator: function validator24(value) {
+        return Boolean(~["start", "center", "end", "space-between", "space-around"].indexOf(value));
+      }
+    },
+    align: {
+      type: String,
+      default: "top",
+      validator: function validator32(value) {
+        return Boolean(~["top", "middle", "bottom"].indexOf(value));
+      }
+    },
+    order: {
+      type: String,
+      validator: function validator42(value) {
+        return Boolean(~["asc", "des"].indexOf(value));
+      }
+    },
+    tag: {
+      type: String,
+      default: "div"
+    },
+    noSpace: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  setup: function setup16(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+Row.install = function(Vue) {
+  Vue.component(Row.name, Row);
+};
+Row.version = version;
+export {
+  touchStart as A,
+  Button as B,
+  Col as C,
+  Dropdown as D,
+  touchMove as E,
+  singleton_default as F,
+  Grid as G,
+  index$y as H,
+  index$H as I,
+  index$B as J,
+  Popup as K,
+  Loadings as L,
+  Pager$1 as P,
+  Row as R,
+  Tag as T,
+  Column as a,
+  index$J as b,
+  index$D as c,
+  isObject_default as d,
+  emitEvent as e,
+  index$A as f,
+  index$z as g,
+  find_default as h,
+  index$E as i,
+  index$2 as j,
+  Radio as k,
+  isNull_default as l,
+  arrayEach_default as m,
+  mapTree_default as n,
+  GlobalConfig$1 as o,
+  DropdownMenu as p,
+  DropdownItem as q,
+  isArray as r,
+  event_default as s,
+  getListeners as t,
+  toStringJSON_default as u,
+  isPlainObject_default as v,
+  getEventTargetNode as w,
+  GridAdapter as x,
+  emitEvent$1 as y,
+  getFuncText as z
+};
diff --git a/admin-website/src/main/resources/static/assets/index32.js b/admin-website/src/main/resources/static/assets/index32.js
new file mode 100644
index 0000000..4c95073
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index32.js
@@ -0,0 +1,4 @@
+import { a as Column } from "./index31.js";
+Column.install = function(Vue) {
+  Vue.component(Column.name, Column);
+};
diff --git a/admin-website/src/main/resources/static/assets/index33.js b/admin-website/src/main/resources/static/assets/index33.js
new file mode 100644
index 0000000..263c062
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index33.js
@@ -0,0 +1,8131 @@
+import { s as svg, d as defineComponent, p as props, j as index$k, g as index$l, i as index$m, K as index$n, a as setup, $ as $props, b as $prefix, c as $setup, M as KEY_CODE, N as Tooltip, O as index$q, R as Radio, z as __spreadValues, o as on, f as off, P as getDomNode, Q as addClass, S as removeClass, e as popup_manager_default, U as merge, V as ActionSheet, y as __spreadProps, B as Button, I as Input, n as Layout, W as Popover, X as index$t, Y as t, T as TINYModal, Z as index$v, a0 as index$w, J as extend, a1 as appProperties, C as Checkbox, a2 as CheckboxGroup, a3 as directive, a4 as useDefer, a5 as isVue2, k as h, a6 as isNumber, a7 as clickoutside_default, a8 as format } from "./index.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, k as resolveComponent, y as createBlock, H as withCtx, A as normalizeClass, B as resolveDynamicComponent, z as createCommentVNode, D as renderSlot, J as createTextVNode, E as toDisplayString, T as Transition, G as normalizeStyle, l as createVNode, I as withDirectives, U as vModelRadio, M as Fragment, P as withModifiers, Q as withKeys, N as renderList, F as mergeProps, L as vShow, aa as createSlots, O as normalizeProps, ab as guardReactiveProps, ac as setBlockTracking, g as getCurrentInstance, o as onBeforeUnmount, V as resolveDirective } from "./vue.js";
+import { d as isObject_default, e as emitEvent, f as index$r, g as index$s, R as Row, C as Col, h as find_default, j as index$u, k as Radio$1, G as Grid, a as Column, l as isNull_default, m as arrayEach_default, n as mapTree_default, o as GlobalConfig$1, D as Dropdown, p as DropdownMenu, q as DropdownItem, r as isArray, s as event_default, t as getListeners, u as toStringJSON_default, v as isPlainObject_default, w as getEventTargetNode, x as GridAdapter, y as emitEvent$1, z as getFuncText, B as Button$1 } from "./index31.js";
+import { S as Select, O as Option, a as Search } from "./index34.js";
+import { i as index$o } from "./warning-triangle.js";
+import { i as index$p } from "./chevron-up.js";
+var _hoisted_1$l = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "200 100.001 412.5 396.337",
+  "xml:space": "preserve"
+};
+var _hoisted_2$l = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M337.288 105.538c11.775-6.513 13.163-7.275 22.5-2.313l4.188 2.3c3.712 4.863 4.387 5.75 5.063 9.962l.475 3.388v377.463h-37.5V163.875l-105.5 105.538L200 242.9l137.288-137.362zM500 418.75v37.5h-75v-37.5h75zm37.5-87.5v37.5H425v-37.5h112.5zm37.5-87.5v37.5H425v-37.5h150zm37.5-87.5v37.5H425v-37.5h187.5z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$i = [_hoisted_2$l];
+function render$b(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$l, [].concat(_hoisted_3$i));
+}
+var Ascending = {
+  render: render$b
+};
+var index$j = function index2() {
+  return svg({
+    name: "IconAscending",
+    component: Ascending
+  })();
+};
+var _hoisted_1$k = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$k = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "del_svg__st0",
+    d: "M22.8 5.3c-.2-.2-.6-.3-.8-.3h-4V3.7c0-1-.9-1.7-1.8-1.7H8.8C7.9 2 7 2.7 7 3.7V5H3c-.5 0-1 .5-1 1s.5 1 1 1h1v14c0 .9 1.1 2 2 2h13c.9 0 2-1.1 2-2V7h1c.5 0 1-.5 1-1 0-.2 0-.6-.2-.7zM9 4h7v1H9V4zM6 21V7h13v14H6z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$h = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "del_svg__st0",
+    d: "M10 9c.6 0 1 .4 1 1v8c0 .6-.4 1-1 1s-1-.4-1-1v-8c0-.6.4-1 1-1zM15 9c.6 0 1 .4 1 1v8c0 .6-.4 1-1 1s-1-.4-1-1v-8c0-.6.4-1 1-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$a = [_hoisted_2$k, _hoisted_3$h];
+function render$a(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$k, [].concat(_hoisted_4$a));
+}
+var Del = {
+  render: render$a
+};
+var index$i = function index22() {
+  return svg({
+    name: "IconDel",
+    component: Del
+  })();
+};
+var _hoisted_1$j = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "181.25 112.5 412.5 396.343",
+  "xml:space": "preserve"
+};
+var _hoisted_2$j = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M350.763 112.5v377.463l-.475 3.387c-.675 4.226-1.35 5.101-5.063 9.963l-4.2 2.3c-9.325 4.976-10.712 4.2-22.5-2.3L181.25 365.938l26.525-26.5 105.488 105.55V112.5h37.5zM593.75 418.75v37.5h-187.5v-37.5h187.5zm-37.5-87.5v37.5h-150v-37.5h150zm-37.5-87.5v37.5h-112.5v-37.5h112.5zm-37.5-87.5v37.5h-75v-37.5h75z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$g = [_hoisted_2$j];
+function render$9(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$j, [].concat(_hoisted_3$g));
+}
+var Descending = {
+  render: render$9
+};
+var index$h = function index23() {
+  return svg({
+    name: "IconDescending",
+    component: Descending
+  })();
+};
+var _hoisted_1$i = {
+  viewBox: "0 0 24 24",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$i = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0Zm-.07 4.324a.843.843 0 1 1 0 1.687.843.843 0 0 1 0-1.687Zm3.684 13.057a.843.843 0 0 1-.844.844H9.09a.843.843 0 1 1 0-1.688h1.997V9.177H9.68a.843.843 0 1 1 0-1.688h2.25c.466 0 .843.378.843.844v8.206h1.997c.467 0 .844.377.844.843Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$f = [_hoisted_2$i];
+function render$8(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$i, [].concat(_hoisted_3$f));
+}
+var Help = {
+  render: render$8
+};
+var index$g = function index24() {
+  return svg({
+    name: "IconHelp",
+    component: Help
+  })();
+};
+var _hoisted_1$h = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 161.754 156.391",
+  "xml:space": "preserve"
+};
+var _hoisted_2$h = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M108.456 77.845v52.727c0 6.446-5.273 11.717-11.719 11.717H14.716C8.273 142.288 3 137.018 3 130.572V66.125h105.456v11.72zm-93.74 0v52.727h82.021V77.845H14.716zM3 66.125c0-29.292 23.435-52.727 52.728-52.727 29.292 0 52.728 23.435 52.728 52.727H96.737c0-22.847-18.161-41.009-41.009-41.009-22.849 0-41.012 18.162-41.012 41.009H3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$e = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M61.586 105.965v12.89c0 3.515-2.343 5.856-5.858 5.856-3.516 0-5.86-2.342-5.86-5.856v-12.89c-3.514-1.756-5.857-5.858-5.857-10.547 0-6.441 5.272-11.715 11.717-11.715 6.444 0 11.716 5.273 11.716 11.715 0 4.689-2.343 8.204-5.858 10.547zM154.754 148.391a8 8 0 0 1-8 8H128.42a8 8 0 0 1-8-8V8a8 8 0 0 1 8-8h18.334a8 8 0 0 1 8 8v140.391z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$9 = [_hoisted_2$h, _hoisted_3$e];
+function render$7(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$h, [].concat(_hoisted_4$9));
+}
+var LeftFrozen = {
+  render: render$7
+};
+var index$f = function index25() {
+  return svg({
+    name: "IconLeftFrozen",
+    component: LeftFrozen
+  })();
+};
+var _hoisted_1$g = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 26.369 46.799",
+  "xml:space": "preserve"
+};
+var _hoisted_2$g = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M25.021 2.73 22.883.535l-22 22.375 22.75 23 2.208-2.208-20.8-20.636z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$d = [_hoisted_2$g];
+function render$6(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$g, [].concat(_hoisted_3$d));
+}
+var LeftWard = {
+  render: render$6
+};
+var index$e = function index26() {
+  return svg({
+    name: "IconLeftWard",
+    component: LeftWard
+  })();
+};
+var _hoisted_1$f = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$f = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "lock_svg__st0",
+    d: "M21 12v9c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h18v2zM5 12v9h14v-9H5zM3 10c0-5 4-9 9-9s9 4 9 9h-2c0-3.9-3.1-7-7-7s-7 3.1-7 7H3z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$c = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "lock_svg__st0",
+    d: "M13 16.8V19c0 .6-.4 1-1 1s-1-.4-1-1v-2.2c-.6-.3-1-1-1-1.8 0-1.1.9-2 2-2s2 .9 2 2c0 .8-.4 1.4-1 1.8z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$8 = [_hoisted_2$f, _hoisted_3$c];
+function render$5(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$f, [].concat(_hoisted_4$8));
+}
+var Lock = {
+  render: render$5
+};
+var index$d = function index27() {
+  return svg({
+    name: "IconLock",
+    component: Lock
+  })();
+};
+var _hoisted_1$e = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$e = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "minus_svg__st0",
+    d: "M19.1 13H4.9c-.5 0-.9-.4-.9-1s.4-1 .9-1h14.2c.5 0 .9.4.9 1s-.4 1-.9 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$b = [_hoisted_2$e];
+function render$4(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$e, [].concat(_hoisted_3$b));
+}
+var Minus = {
+  render: render$4
+};
+var index$c = function index28() {
+  return svg({
+    name: "IconMinus",
+    component: Minus
+  })();
+};
+var _hoisted_1$d = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 161.754 156.391",
+  "xml:space": "preserve"
+};
+var _hoisted_2$d = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M51.298 66.125h105.456v64.447c0 6.446-5.273 11.717-11.717 11.717h-82.02c-6.445 0-11.719-5.271-11.719-11.717V66.125zm11.719 11.72v52.727h82.021V77.845H63.017zM145.037 66.125c0-22.847-18.162-41.009-41.012-41.009-22.848 0-41.009 18.162-41.009 41.009H51.298c0-29.292 23.436-52.727 52.728-52.727 29.293 0 52.729 23.435 52.729 52.727h-11.718z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$a = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M92.31 95.418c0-6.441 5.271-11.715 11.716-11.715 6.445 0 11.717 5.273 11.717 11.715 0 4.688-2.343 8.791-5.856 10.547v12.89c0 3.515-2.345 5.856-5.86 5.856s-5.858-2.342-5.858-5.856v-12.89c-3.516-2.343-5.859-5.858-5.859-10.547zM5 148.391a8 8 0 0 0 8 8h18.334a8 8 0 0 0 8-8V8a8 8 0 0 0-8-8H13a8 8 0 0 0-8 8v140.391z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$7 = [_hoisted_2$d, _hoisted_3$a];
+function render$3(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$d, [].concat(_hoisted_4$7));
+}
+var RightFrozen = {
+  render: render$3
+};
+var index$b = function index29() {
+  return svg({
+    name: "IconRightFrozen",
+    component: RightFrozen
+  })();
+};
+var _hoisted_1$c = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 26.369 46.799",
+  "xml:space": "preserve"
+};
+var _hoisted_2$c = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M1.529 2.91 3.667.715l22 22.375-22.75 23-2.209-2.208 20.801-20.636z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$9 = [_hoisted_2$c];
+function render$2(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$c, [].concat(_hoisted_3$9));
+}
+var Rightward = {
+  render: render$2
+};
+var index$a = function index210() {
+  return svg({
+    name: "IconRightward",
+    component: Rightward
+  })();
+};
+var _hoisted_1$b = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$b = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "save_svg__st0",
+    d: "M16.3 1H3c-.9 0-2 1.1-2 2v18c0 .9 1.1 2 2 2h18c.9 0 2-1.1 2-2V7.8L16.3 1zM7 3h6v6.3c0 .4-.3.7-.7.7H7.7c-.4 0-.7-.3-.7-.7V3zM3 21V3h2v7c0 1.3.6 2 2 2h6c1.3 0 2-.7 2-2V3l6 6v12H3zm7-12c.6 0 1-.4 1-.9V4.9c0-.5-.4-.9-1-.9s-1 .4-1 .9V8c0 .6.4 1 1 1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$8 = [_hoisted_2$b];
+function render$1(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$b, [].concat(_hoisted_3$8));
+}
+var Save = {
+  render: render$1
+};
+var index$9 = function index211() {
+  return svg({
+    name: "IconSave",
+    component: Save
+  })();
+};
+var _hoisted_1$a = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$a = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "unlock_svg__st0",
+    d: "M21 12v9c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V10h18v2zM5 12v9h14v-9H5z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$7 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "unlock_svg__st0",
+    d: "M13 16.8V19c0 .6-.4 1-1 1s-1-.4-1-1v-2.2c-.6-.3-1-1-1-1.8 0-1.1.9-2 2-2s2 .9 2 2c0 .8-.4 1.4-1 1.8zM20.5 7h-2.2c-1.1-2.4-3.5-4-6.3-4-3.9 0-7 3.1-7 7H3c0-5 4-9 9-9 3.9 0 7.3 2.5 8.5 6zm.5 3h-2 2z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4$6 = [_hoisted_2$a, _hoisted_3$7];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$a, [].concat(_hoisted_4$6));
+}
+var Unlock = {
+  render
+};
+var index$8 = function index212() {
+  return svg({
+    name: "IconUnlock",
+    component: Unlock
+  })();
+};
+const ALERT_TIMEOUT = 2e3;
+const watchAutoHide = ({ api: api2, props: props2 }) => (newVal) => {
+  if (props2.autoHide && newVal) {
+    const timer = setTimeout(() => {
+      api2.handleClose();
+      clearTimeout(timer);
+    }, ALERT_TIMEOUT);
+  }
+};
+const computedClass = ({ props: props2, mode }) => () => {
+  const { type, size, center } = props2;
+  if (mode === "mobile") {
+    const alertClass = ["tiny-mobile-alert", "tiny-mobile-alert--" + type, "tiny-mobile-alert--" + size];
+    if (center) {
+      alertClass.push("is-center");
+    }
+    return alertClass;
+  }
+  return [];
+};
+const computedStyle$1 = ({ props: props2, mode }) => () => {
+  if (mode === "mobile") {
+    const style = {
+      top: isNaN(props2.offset) ? props2.offset : `${props2.offset}px`
+    };
+    return style;
+  }
+  return null;
+};
+const handleClose$1 = ({ emit, state }) => () => {
+  state.show = false;
+  emit("close");
+};
+const computedGetIcon = ({ constants, props: props2, designConfig }) => () => {
+  var _a;
+  const designIcon = (_a = designConfig == null ? void 0 : designConfig.icons) == null ? void 0 : _a[props2.type];
+  return props2.icon || designIcon || constants.ICON_MAP[props2.type];
+};
+const computedGetTitle = ({ constants, t: t2, props: props2 }) => () => props2.title || t2(constants.TITLE_MAP[props2.type]);
+const handleHeaderClick = ({ state, props: props2, vm }) => () => {
+  if (props2.showFoldable) {
+    state.contentVisible = !state.contentVisible;
+  }
+  if (vm.$refs.ContentDescribe) {
+    state.contentDescribeHeight = vm.$refs.ContentDescribe.scrollHeight;
+    if (state.contentDescribeHeight > state.contentMaxHeight) {
+      state.scrollStatus = true;
+    }
+  }
+  if (vm.$refs.ContentDefault) {
+    state.contentDefaultHeight = vm.$refs.ContentDefault.scrollHeight;
+    if (state.contentDefaultHeight > state.contentMaxHeight) {
+      state.scrollStatus = true;
+    }
+  }
+};
+const getEl = (node) => {
+  return node.$el || node;
+};
+const handlerTargetNode = ({ props: props2, parent, vm, nextTick }) => () => {
+  const { target } = props2;
+  const { $parent } = parent;
+  nextTick(() => {
+    const alertParentNode = $parent == null ? void 0 : $parent.$refs[target];
+    if (!target || !alertParentNode) {
+      return;
+    }
+    const targetNode = Array.isArray(alertParentNode) ? alertParentNode[0] : alertParentNode;
+    getEl(targetNode).insertBefore(vm.$el, getEl(targetNode).firstChild);
+  });
+};
+const api$4 = ["handleClose", "state", "handleHeaderClick"];
+const initState$1 = ({ api: api2, computed, constants, reactive }) => {
+  return reactive({
+    show: true,
+    contentVisible: false,
+    contentDescribeHeight: 0,
+    contentDefaultHeight: 0,
+    contentMaxHeight: constants.CONTENT_MAXHEUGHT,
+    scrollStatus: false,
+    getIcon: computed(() => api2.computedGetIcon()),
+    getTitle: computed(() => api2.computedGetTitle()),
+    alertClass: computed(() => api2.computedClass()),
+    alertStyle: computed(() => api2.computedStyle())
+  });
+};
+const initApi$1 = ({ api: api2, state, constants, props: props2, designConfig, t: t2, emit, vm, parent, nextTick, mode }) => {
+  Object.assign(api2, {
+    state,
+    computedGetIcon: computedGetIcon({ constants, props: props2, designConfig }),
+    computedGetTitle: computedGetTitle({ constants, props: props2, t: t2 }),
+    computedClass: computedClass({ props: props2, mode }),
+    computedStyle: computedStyle$1({ props: props2, mode }),
+    handleClose: handleClose$1({ emit, state }),
+    handleHeaderClick: handleHeaderClick({ state, props: props2, vm }),
+    watchAutoHide: watchAutoHide({ api: api2, props: props2 }),
+    handlerTargetNode: handlerTargetNode({ props: props2, parent, vm, nextTick })
+  });
+};
+const initWatcher = ({ watch, props: props2, api: api2 }) => {
+  watch(() => props2.autoHide, api2.watchAutoHide, { immediate: true });
+  watch(() => props2.target, api2.handlerTargetNode, { immediate: true });
+};
+const renderless$4 = (props2, { computed, reactive, watch }, { t: t2, emit, constants, vm, designConfig, parent, nextTick, mode }) => {
+  const api2 = {};
+  const state = initState$1({ api: api2, computed, constants, reactive });
+  initApi$1({ api: api2, state, constants, props: props2, designConfig, t: t2, emit, vm, parent, nextTick, mode });
+  initWatcher({ watch, props: props2, api: api2 });
+  return api2;
+};
+const index$7 = "";
+function _createForOfIteratorHelperLoose$b(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$b(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$b(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$b(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$b(o, minLen);
+}
+function _arrayLikeToArray$b(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$b = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$b(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$e = defineComponent({
+  props: [].concat(props, ["icon", "type", "size", "description", "title", "closable", "center", "showIcon", "closeText", "customClass"]),
+  components: {
+    IconClose: index$k(),
+    IconSuccess: index$l(),
+    IconError: index$m(),
+    IconHelp: index$g(),
+    IconWarning: index$n()
+  },
+  emits: ["close"],
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4
+    });
+  }
+});
+var _hoisted_1$9 = {
+  key: 0,
+  class: "tiny-alert__title"
+};
+var _hoisted_2$9 = {
+  key: 1,
+  class: "tiny-alert__opration"
+};
+var _hoisted_3$6 = {
+  key: 2,
+  class: "is-custom"
+};
+function _sfc_render$e(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-transition-alert-fade"
+  }, {
+    default: withCtx(function() {
+      return [_ctx.state.show ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          class: normalizeClass(["tiny-alert", "tiny-alert--" + _ctx.type, "tiny-alert--" + _ctx.size, {
+            "is-center": _ctx.center
+          }, _ctx.customClass])
+        },
+        [_ctx.showIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.getIcon), {
+          key: 0,
+          class: "tiny-svg-size tiny-alert__icon"
+        })) : createCommentVNode("v-if", true), createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-alert__content", {
+              "close-hidden": !_ctx.closable
+            }])
+          },
+          [_ctx.size === "large" ? (openBlock(), createElementBlock("div", _hoisted_1$9, [renderSlot(_ctx.$slots, "title", {}, function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.state.getTitle),
+              1
+              /* TEXT */
+            )];
+          })])) : createCommentVNode("v-if", true), createBaseVNode(
+            "div",
+            {
+              class: normalizeClass(["tiny-alert__description", {
+                "is-hide": _ctx.size === "large" && !_ctx.description && !_ctx.slots.description
+              }])
+            },
+            [renderSlot(_ctx.$slots, "description", {}, function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.description),
+                1
+                /* TEXT */
+              )];
+            })],
+            2
+            /* CLASS */
+          ), _ctx.size === "large" ? (openBlock(), createElementBlock("div", _hoisted_2$9, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        ), !_ctx.closeText && _ctx.closable ? (openBlock(), createBlock(_component_icon_close, {
+          key: 1,
+          onClick: _ctx.handleClose,
+          class: "tiny-svg-size tiny-alert__icon tiny-alert__close"
+        }, null, 8, ["onClick"])) : !_ctx.closeText && !_ctx.closable ? (openBlock(), createElementBlock("span", _hoisted_3$6, [renderSlot(_ctx.$slots, "close")])) : _ctx.closeText && _ctx.closable ? (openBlock(), createElementBlock(
+          "span",
+          {
+            key: 3,
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.handleClose && _ctx.handleClose.apply(_ctx, arguments);
+            }),
+            class: "is-custom"
+          },
+          toDisplayString(_ctx.closeText),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true)],
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var pc$4 = /* @__PURE__ */ _export_sfc$b(_sfc_main$e, [["render", _sfc_render$e]]);
+const index$6 = "";
+function _createForOfIteratorHelperLoose$a(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$a(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$a(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$a(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$a(o, minLen);
+}
+function _arrayLikeToArray$a(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$a = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$a(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$d = defineComponent({
+  props: [].concat(props, ["icon", "type", "size", "description", "closable", "showIcon", "closeText", "duration", "offset", "autoHide", "target", "center"]),
+  components: {
+    IconClose: index$k(),
+    IconSuccess: index$l(),
+    IconError: index$m(),
+    IconHelp: index$g(),
+    IconWarning: index$o()
+    // key值在 $constants 中已定义
+  },
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4
+    });
+  }
+});
+function _sfc_render$d(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-mobile-alert-fade"
+  }, {
+    default: withCtx(function() {
+      return [_ctx.state.show ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          class: normalizeClass(_ctx.state.alertClass),
+          style: normalizeStyle(_ctx.state.alertStyle)
+        },
+        [_ctx.showIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.getIcon), {
+          key: 0,
+          class: "tiny-mobile-alert__icon"
+        })) : createCommentVNode("v-if", true), createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-mobile-alert__content", {
+              "is-hideicon": !_ctx.showIcon
+            }])
+          },
+          [renderSlot(_ctx.$slots, "default", {}, function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.description),
+              1
+              /* TEXT */
+            )];
+          })],
+          2
+          /* CLASS */
+        ), !_ctx.closeText && _ctx.closable ? (openBlock(), createBlock(_component_icon_close, {
+          key: 1,
+          onClick: _ctx.handleClose,
+          class: "tiny-mobile-alert__icon tiny-mobile-alert__close"
+        }, null, 8, ["onClick"])) : _ctx.closeText && _ctx.closable ? (openBlock(), createElementBlock(
+          "span",
+          {
+            key: 2,
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.handleClose && _ctx.handleClose.apply(_ctx, arguments);
+            }),
+            class: "is-custom"
+          },
+          toDisplayString(_ctx.closeText),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true)],
+        6
+        /* CLASS, STYLE */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var mobile$1 = /* @__PURE__ */ _export_sfc$a(_sfc_main$d, [["render", _sfc_render$d]]);
+function _createForOfIteratorHelperLoose$9(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$9(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$9(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$9(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$9(o, minLen);
+}
+function _arrayLikeToArray$9(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$9 = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$9(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$c = defineComponent({
+  emits: ["close"],
+  props: [].concat(props, ["icon", "type", "size", "description", "title", "closable", "center", "showIcon", "closeText", "singleLine", "scrolling", "showFoldable", "customClass"]),
+  components: {
+    IconClose: index$k(),
+    IconSuccess: index$l(),
+    IconError: index$m(),
+    IconHelp: index$g(),
+    IconWarning: index$n(),
+    IconChevronDown: index$p()
+  },
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4
+    });
+  }
+});
+var _hoisted_1$8 = {
+  "data-tag": "tiny-alert-title"
+};
+var _hoisted_2$8 = {
+  "data-tag": "tiny-alert-icon",
+  class: "ml-2.5"
+};
+var _hoisted_3$5 = {
+  key: 0,
+  "data-tag": "tiny-alert-large",
+  class: "font-medium"
+};
+var _hoisted_4$5 = {
+  key: 1,
+  class: "pt-2"
+};
+function _sfc_render$c(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_chevron_down = resolveComponent("icon-chevron-down");
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createBlock(Transition, null, {
+    default: withCtx(function() {
+      return [_ctx.state.show ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          "data-tag": "tiny-alert",
+          class: normalizeClass(_ctx.m("min-h-min flex py-2 sm:py-3 px-4 my-2 rounded box-border font-light sm:font-normal text-color-text-primary", {
+            "bg-color-info-primary-subtler": _ctx.type === "info" || !_ctx.type
+          }, {
+            "bg-color-error-subtler": _ctx.type === "error"
+          }, {
+            "bg-color-warning-subtler": _ctx.type === "warning"
+          }, {
+            "bg-color-success-subtler": _ctx.type === "success"
+          }, {
+            "text-center": _ctx.center
+          }, _ctx.customClass))
+        },
+        [_ctx.showIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.getIcon), {
+          key: 0,
+          "custom-class": "h-4.5 w-4.5 mt-1 sm:mt-0.5 sm:h-6 sm:w-5 sm:h-5 fill-current",
+          class: normalizeClass([{
+            "text-color-info-primary": _ctx.type === "info" || !_ctx.type
+          }, {
+            "text-color-error": _ctx.type === "error"
+          }, {
+            "text-color-warning": _ctx.type === "warning"
+          }, {
+            "text-color-success": _ctx.type === "success"
+          }])
+        }, null, 8, ["class"])) : createCommentVNode("v-if", true), _ctx.showFoldable ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 1,
+            "data-tag": "tiny-alert-foldable",
+            class: normalizeClass(["flex-1 leading-6 text-sm overflow-hidden", _ctx.showIcon ? "mx-2" : "mr-2"])
+          },
+          [_ctx.size === "large" ? (openBlock(), createElementBlock("div", {
+            key: 0,
+            "data-tag": "tiny-alert-large",
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.handleHeaderClick && _ctx.handleHeaderClick.apply(_ctx, arguments);
+            }),
+            class: "inline-flex cursor-pointer font-medium"
+          }, [createBaseVNode("span", _hoisted_1$8, [renderSlot(_ctx.$slots, "title", {}, function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.state.getTitle),
+              1
+              /* TEXT */
+            )];
+          })]), createBaseVNode("span", _hoisted_2$8, [createVNode(_component_icon_chevron_down, {
+            class: normalizeClass(["transition-transform duration-300 align-top my-1 fill-color-icon-placeholder", [_ctx.state.contentVisible ? "rotate-180" : "rotate-0"]])
+          }, null, 8, ["class"])])])) : createCommentVNode("v-if", true), createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-alert-content",
+              ref: "ContentDescribe",
+              class: normalizeClass(["transition-all duration-900 ease-linear", {
+                "hidden": _ctx.size === "large" && !_ctx.description && !_ctx.slots.description
+              }, {
+                "overflow-y-auto": _ctx.state.scrollStatus
+              }, _ctx.state.contentVisible ? "max-h-[theme(spacing.72)]" : "max-h-0"])
+            },
+            [createBaseVNode(
+              "div",
+              {
+                "data-tag": "tiny-alert-singline",
+                class: normalizeClass(["text-color-text-secondary", [{
+                  "truncate": _ctx.singleLine
+                }, {
+                  "hover:animate-[leftMove_10s_linear_infinite] hover:overflow-visible cursor-pointer": _ctx.singleLine && _ctx.scrolling
+                }]])
+              },
+              [renderSlot(_ctx.$slots, "description", {}, function() {
+                return [createTextVNode(
+                  toDisplayString(_ctx.description),
+                  1
+                  /* TEXT */
+                )];
+              })],
+              2
+              /* CLASS */
+            )],
+            2
+            /* CLASS */
+          ), _ctx.size === "large" && _ctx.slots.default ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 1,
+              "data-tag": "tiny-alert-default",
+              ref: "ContentDefault",
+              class: normalizeClass(["transition-all duration-900 ease-linear", {
+                "pt-2": _ctx.description && _ctx.state.contentVisible
+              }, {
+                "overflow-y-auto": _ctx.state.scrollStatus
+              }, _ctx.state.contentVisible ? "max-h-[theme(spacing.72)]" : "max-h-0"])
+            },
+            [renderSlot(_ctx.$slots, "default")],
+            2
+            /* CLASS */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )) : (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 2,
+            "data-tag": "tiny-alert-notfoldable",
+            class: normalizeClass(["flex-1 leading-6 text-sm overflow-hidden cursor-pointer", [_ctx.showIcon ? "ml-2" : "", _ctx.closable ? "mr-2" : ""]])
+          },
+          [_ctx.size === "large" ? (openBlock(), createElementBlock("div", _hoisted_3$5, [renderSlot(_ctx.$slots, "title", {}, function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.state.getTitle),
+              1
+              /* TEXT */
+            )];
+          })])) : createCommentVNode("v-if", true), createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-alert-singlelinebox",
+              class: normalizeClass([{
+                "hidden": _ctx.size === "large" && !_ctx.description && !_ctx.slots.description
+              }])
+            },
+            [createBaseVNode(
+              "div",
+              {
+                "data-tag": "tiny-alert-singleline",
+                class: normalizeClass([{
+                  "truncate": _ctx.singleLine
+                }, {
+                  "hover:animate-[leftMove_10s_linear_infinite] hover:overflow-visible cursor-pointer": _ctx.singleLine && _ctx.scrolling
+                }])
+              },
+              [renderSlot(_ctx.$slots, "description", {}, function() {
+                return [createTextVNode(
+                  toDisplayString(_ctx.description),
+                  1
+                  /* TEXT */
+                )];
+              })],
+              2
+              /* CLASS */
+            )],
+            2
+            /* CLASS */
+          ), _ctx.size === "large" && _ctx.slots.default ? (openBlock(), createElementBlock("div", _hoisted_4$5, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )), !_ctx.closeText && _ctx.closable ? (openBlock(), createBlock(_component_icon_close, {
+          key: 3,
+          onClick: _ctx.handleClose,
+          class: "h-4 w-4 mt-1 cursor-pointer fill-color-text-primary opacity-70"
+        }, null, 8, ["onClick"])) : _ctx.closeText && _ctx.closable ? (openBlock(), createElementBlock(
+          "span",
+          {
+            key: 4,
+            "data-tag": "tiny-alert-close-text",
+            onClick: _cache[1] || (_cache[1] = function() {
+              return _ctx.handleClose && _ctx.handleClose.apply(_ctx, arguments);
+            }),
+            class: "leading-6 text-sm cursor-pointer"
+          },
+          toDisplayString(_ctx.closeText),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true)],
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var mobileFirst$3 = /* @__PURE__ */ _export_sfc$9(_sfc_main$c, [["render", _sfc_render$c]]);
+function _extends$5() {
+  _extends$5 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$5.apply(this, arguments);
+}
+var template$4 = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$4;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile$1;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$3;
+  }
+  return pc$4;
+};
+var $constants$3 = {
+  ICON_MAP: {
+    success: "icon-success",
+    error: "icon-error",
+    info: "icon-help",
+    warning: "icon-warning"
+  },
+  TITLE_MAP: {
+    success: "ui.alert.success",
+    error: "ui.alert.error",
+    info: "ui.alert.info",
+    warning: "ui.alert.warning"
+  },
+  CONTENT_MAXHEUGHT: 252
+};
+var alertProps = _extends$5({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default() {
+      return $constants$3;
+    }
+  },
+  icon: [String, Object],
+  type: {
+    type: String,
+    default: "info"
+  },
+  size: {
+    type: String,
+    default: "normal"
+  },
+  description: {
+    type: String,
+    default: ""
+  },
+  title: {
+    type: String
+  },
+  center: Boolean,
+  showIcon: {
+    type: Boolean,
+    default: true
+  },
+  closable: {
+    type: Boolean,
+    default: true
+  },
+  closeText: {
+    type: String,
+    default: ""
+  },
+  singleLine: {
+    type: Boolean,
+    default: false
+  },
+  scrolling: {
+    type: Boolean,
+    default: false
+  },
+  showFoldable: {
+    type: Boolean,
+    default: false
+  },
+  customClass: [String, Object, Array],
+  offset: {
+    type: [Number, String],
+    default: 0
+  },
+  autoHide: {
+    type: Boolean,
+    default: false
+  },
+  target: {
+    type: String,
+    default: ""
+  }
+});
+var Alert = defineComponent({
+  name: $prefix + "Alert",
+  props: alertProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$4
+    });
+  }
+});
+var version$5 = "3.16.0";
+Alert.install = function(Vue) {
+  Vue.component(Alert.name, Alert);
+};
+Alert.version = version$5;
+const isEmpty = (obj) => {
+  if (isObject_default(obj)) {
+    return Object.keys(obj).length === 0;
+  }
+  return true;
+};
+var isEmpty_default = isEmpty;
+const toJSONString = (obj) => JSON.stringify(obj) || "";
+var toJSONString_default = toJSONString;
+const handleKeydown = (parent) => (event) => {
+  const target = event.target;
+  const className = (target == null ? void 0 : target.nodeName) === "INPUT" ? "[type=radio]" : "[role=radio]";
+  const radios = parent.$el.querySelectorAll(className);
+  const length = radios.length;
+  const index3 = [].indexOf.call(radios, target);
+  const roleRadiosNodes = parent.$el.querySelectorAll("[role=radio]");
+  switch (event.keyCode) {
+    case KEY_CODE.ArrowDown:
+    case KEY_CODE.ArrowRight:
+      if (index3 === length - 1) {
+        event.stopPropagation();
+        event.preventDefault();
+        roleRadiosNodes[0].click();
+        roleRadiosNodes[0].focus();
+      } else {
+        roleRadiosNodes[index3 + 1].click();
+        roleRadiosNodes[index3 + 1].focus();
+      }
+      break;
+    case KEY_CODE.ArrowUp:
+    case KEY_CODE.ArrowLeft:
+      event.stopPropagation();
+      event.preventDefault();
+      if (index3 === 0) {
+        roleRadiosNodes[length - 1].click();
+        roleRadiosNodes[length - 1].focus();
+      } else {
+        roleRadiosNodes[index3 - 1].click();
+        roleRadiosNodes[index3 - 1].focus();
+      }
+      break;
+  }
+};
+const mounted$1 = (parent) => () => {
+  const radios = parent.$el.querySelectorAll("[type=radio]");
+  const firstLabel = parent.$el.querySelectorAll("[role=radio]")[0];
+  if (![].some.call(radios, (radio) => radio.checked) && firstLabel) {
+    firstLabel.tabIndex = 0;
+  }
+};
+const api$3 = ["state", "handleKeydown"];
+const renderless$3 = (props2, { computed, onMounted, reactive, watch, provide: provide2 }, { parent, dispatch }) => {
+  const state = reactive({
+    radioGroupSize: computed(() => props2.size),
+    tag: "div",
+    activeStyle: props2.fill
+  });
+  parent.$on("handleChange", (value3) => {
+    parent.$emit("change", value3);
+  });
+  const api2 = {
+    state,
+    dispatch,
+    onMounted: mounted$1(parent),
+    handleKeydown: handleKeydown(parent)
+  };
+  watch(
+    () => props2.modelValue,
+    (value3) => {
+      api2.dispatch("FormItem", "form.change", [value3]);
+    }
+  );
+  onMounted(api2.onMounted);
+  provide2("radioVertical", props2.vertical);
+  provide2("showTips", props2.showTips);
+  provide2("size", props2.size);
+  return api2;
+};
+const handleChange = ({
+  constants,
+  nextTick,
+  dispatch,
+  state
+}) => () => {
+  nextTick(() => {
+    dispatch(constants.RADIO_GROUP, "handleChange", [state.value]);
+  });
+};
+const getValue = (state) => () => {
+  var _a;
+  return (_a = state.radioGroup) == null ? void 0 : _a.modelValue;
+};
+const setValue = ({ state }) => (val) => {
+  var _a;
+  return (_a = state.radioGroup) == null ? void 0 : _a.$emit("update:modelValue", val);
+};
+const getGroup = ({ constants, parent: $parent }) => () => {
+  let parent = $parent.$parent;
+  while (parent) {
+    if (parent.$options.componentName !== constants.RADIO_GROUP) {
+      parent = parent.$parent;
+    } else {
+      return parent;
+    }
+  }
+  return null;
+};
+const getStyle = (state) => () => {
+  var _a, _b, _c, _d;
+  return {
+    backgroundColor: ((_a = state.radioGroup) == null ? void 0 : _a.fill) || "",
+    borderColor: ((_b = state.radioGroup) == null ? void 0 : _b.fill) || "",
+    boxShadow: ((_c = state.radioGroup) == null ? void 0 : _c.fill) ? `-1px 0 0 0 ${state.radioGroup.fill}` : "",
+    color: ((_d = state.radioGroup) == null ? void 0 : _d.textColor) || ""
+  };
+};
+const toggleEvents = ({ vm, props: props2 }) => (isUnBind = false) => {
+  const radioEl = vm.$refs.radio;
+  Object.keys(props2.events).forEach((ev) => {
+    radioEl[(isUnBind ? "remove" : "add") + "EventListener"](ev, props2.events[ev]);
+  });
+};
+const keydownHandle = ({ state, props: props2 }) => () => {
+  state.value = state.isDisabled ? state.value : props2.label;
+};
+const handleFocus = (state) => () => state.focus = true;
+const handleBlur = (state) => () => state.focus = false;
+const api$2 = ["state", "handleChange", "keydownHandle", "handleFocus", "handleBlur"];
+const renderless$2 = (props2, { computed, reactive, onMounted, onBeforeUnmount: onBeforeUnmount2, inject }, { parent, dispatch, constants, nextTick, vm }) => {
+  const api2 = {
+    getGroup: getGroup({ constants, parent }),
+    toggleEvents: toggleEvents({ vm, props: props2 })
+  };
+  const state = reactive({
+    focus: false,
+    value: computed({
+      get: () => api2.getValue(),
+      set: (val) => api2.setValue(val)
+    }),
+    radioGroup: computed(() => api2.getGroup()),
+    activeStyle: computed(() => api2.getStyle()),
+    size: computed(() => {
+      var _a;
+      return (_a = state.radioGroup) == null ? void 0 : _a.state.radioGroupSize;
+    }),
+    isDisabled: computed(() => {
+      var _a;
+      return props2.disabled || ((_a = state.radioGroup) == null ? void 0 : _a.disabled);
+    }),
+    tabIndex: computed(() => state.isDisabled || state.radioGroup && state.value !== props2.label ? -1 : 0),
+    showTips: inject("showTips", false),
+    tipContent: props2.tipContent
+  });
+  Object.assign(api2, {
+    state,
+    getValue: getValue(state),
+    getStyle: getStyle(state),
+    setValue: setValue({ state }),
+    handleChange: handleChange({ constants, dispatch, nextTick, state }),
+    keydownHandle: keydownHandle({ state, props: props2 }),
+    handleFocus: handleFocus(state),
+    handleBlur: handleBlur(state)
+  });
+  onMounted(() => {
+    api2.toggleEvents(false);
+  });
+  onBeforeUnmount2(() => {
+    api2.toggleEvents(true);
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$8(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$8(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$8(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$8(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$8(o, minLen);
+}
+function _arrayLikeToArray$8(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$8 = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$8(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$b = defineComponent({
+  emits: ["change"],
+  props: [].concat(props, ["label", "events", "text", "disabled", "name"]),
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  }
+});
+var _hoisted_1$7 = ["aria-checked", "aria-disabled", "tabindex"];
+var _hoisted_2$7 = ["value", "name", "disabled"];
+function _sfc_render$b(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("label", {
+    class: normalizeClass(["tiny-radio-button", [_ctx.state.size ? "tiny-radio-button--" + _ctx.state.size : "", {
+      "is-active": _ctx.state.value === _ctx.label
+    }, {
+      "is-disabled": _ctx.state.isDisabled
+    }, {
+      "is-focus": _ctx.state.focus
+    }]]),
+    role: "radio",
+    "aria-checked": _ctx.state.value === _ctx.label,
+    "aria-disabled": _ctx.state.isDisabled,
+    tabindex: _ctx.state.tabIndex,
+    onKeydown: _cache[5] || (_cache[5] = withKeys(withModifiers(function($event) {
+      return _ctx.state.value = _ctx.state.isDisabled ? _ctx.state.value : _ctx.label;
+    }, ["stop", "prevent"]), ["space"]))
+  }, [withDirectives(createBaseVNode("input", {
+    ref: "radio",
+    class: "tiny-radio-button__orig-radio",
+    value: _ctx.label,
+    type: "radio",
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx.state.value = $event;
+    }),
+    name: _ctx.name,
+    onChange: _cache[1] || (_cache[1] = function() {
+      return _ctx.handleChange && _ctx.handleChange.apply(_ctx, arguments);
+    }),
+    disabled: _ctx.state.isDisabled,
+    tabindex: "-1",
+    onFocus: _cache[2] || (_cache[2] = function($event) {
+      return _ctx.state.focus = true;
+    }),
+    onBlur: _cache[3] || (_cache[3] = function($event) {
+      return _ctx.state.focus = false;
+    })
+  }, null, 40, _hoisted_2$7), [[vModelRadio, _ctx.state.value]]), createBaseVNode(
+    "span",
+    {
+      class: "tiny-radio-button__inner",
+      style: normalizeStyle(_ctx.state.value === _ctx.label ? _ctx.state.activeStyle : void 0),
+      onKeydown: _cache[4] || (_cache[4] = withModifiers(function() {
+      }, ["stop"]))
+    },
+    [renderSlot(_ctx.$slots, "default"), !_ctx.slots.default ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [createTextVNode(
+        toDisplayString(_ctx.text || _ctx.label),
+        1
+        /* TEXT */
+      )],
+      64
+      /* STABLE_FRAGMENT */
+    )) : createCommentVNode("v-if", true)],
+    36
+    /* STYLE, NEED_HYDRATION */
+  )], 42, _hoisted_1$7);
+}
+var pc$3 = /* @__PURE__ */ _export_sfc$8(_sfc_main$b, [["render", _sfc_render$b]]);
+function _createForOfIteratorHelperLoose$7(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$7(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$7(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$7(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$7(o, minLen);
+}
+function _arrayLikeToArray$7(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$7 = function _export_sfc25(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$7(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$a = defineComponent({
+  emits: ["change"],
+  props: [].concat(props, ["label", "events", "text", "disabled", "name", "tipContent"]),
+  components: {
+    TinyTooltip: Tooltip,
+    IconHelpCircle: index$q()
+  },
+  inheritAttrs: false,
+  setup: function setup$15(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  }
+});
+var _hoisted_1$6 = ["aria-checked", "aria-disabled", "tabindex"];
+var _hoisted_2$6 = ["value", "name", "disabled"];
+function _sfc_render$a(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_IconHelpCircle = resolveComponent("IconHelpCircle");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  return openBlock(), createElementBlock("label", {
+    "data-tag": "tiny-radio-button",
+    class: normalizeClass(["relative outline-0 inline-flex rounded-none cursor-pointer items-center [&:first-of-type_span]:border-l-0.5 sm:[&:first-of-type_span]:border-l [&:first-of-type_span]:rounded-l-sm [&:last-of-type_span]:rounded-r-sm", _ctx.state.size === "small" ? "sm:h-6 h-10 text-xs" : "sm:h-7 sm:leading-7 h-11 text-sm sm:text-xs", !_ctx.disabled && !_ctx.state.radioGroup.disabled && _ctx.state.value === _ctx.label && "sm:[&:not(:first-of-type)_span]:shadow-[calc(-1*theme(borderWidth.DEFAULT))_0_0_0_theme(colors.color.border.focus)] [&:not(:first-of-type)_span]:shadow-[calc(-1*theme(borderWidth[0.5]))_0_0_0_theme(colors.color.border.focus)]"]),
+    role: "radio",
+    "aria-checked": _ctx.state.value === _ctx.label,
+    "aria-disabled": _ctx.state.isDisabled,
+    tabindex: _ctx.state.tabIndex,
+    onKeydown: _cache[5] || (_cache[5] = withKeys(withModifiers(function() {
+      return _ctx.keydownHandle && _ctx.keydownHandle.apply(_ctx, arguments);
+    }, ["stop", "prevent"]), ["space"]))
+  }, [withDirectives(createBaseVNode("input", {
+    ref: "radio",
+    class: "opacity-0 outline-0 absolute -z-10",
+    value: _ctx.label,
+    type: "radio",
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx.state.value = $event;
+    }),
+    name: _ctx.name,
+    onChange: _cache[1] || (_cache[1] = function() {
+      return _ctx.handleChange && _ctx.handleChange.apply(_ctx, arguments);
+    }),
+    disabled: _ctx.state.isDisabled,
+    tabindex: "-1",
+    onFocus: _cache[2] || (_cache[2] = function() {
+      return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+    }),
+    onBlur: _cache[3] || (_cache[3] = function() {
+      return _ctx.handleBlur && _ctx.handleBlur.apply(_ctx, arguments);
+    })
+  }, null, 40, _hoisted_2$6), [[vModelRadio, _ctx.state.value]]), createBaseVNode(
+    "span",
+    {
+      "data-tag": "tiny-radio-button-content",
+      class: normalizeClass(_ctx.m("relative sm:border-y border-y-0.5 sm:border-r border-r-0.5 border-solid inline-block leading-7 items-center min-w-[theme(spacing.10)] max-w-[theme(spacing.20)] sm:min-w-[theme(spacing.12)] sm:max-w-[theme(spacing.36)] text-center overflow-hidden text-ellipsis whitespace-nowrap px-3 cursor-pointer border-color-border box-border", _ctx.state.radioGroup.disabled && _ctx.state.value === _ctx.label && "text-color-bg-1 bg-color-brand-disabled border-y-0 cursor-not-allowed border-transparent shadow-none", _ctx.state.radioGroup.disabled && _ctx.state.value !== _ctx.label && "bg-color-bg-4 cursor-not-allowed border-color-border-disabled text-color-text-secondary", _ctx.disabled && !_ctx.state.radioGroup.disabled && "text-color-text-secondary bg-none cursor-not-allowed", _ctx.state.value === _ctx.label && !_ctx.disabled && !_ctx.state.radioGroup.disabled && "border-color-border-focus text-color-brand-focus", _ctx.state.value !== _ctx.label && !_ctx.disabled && !_ctx.state.radioGroup.disabled && "text-color-text-secondary hover:text-color-brand-hover active:text-color-brand", _ctx.state.size === "small" ? "sm:h-6 leading-6 px-2 h-6" : "sm:h-7 h-7", _ctx.state.showTips && "sm:pr-7")),
+      style: normalizeStyle(_ctx.state.value === _ctx.label ? _ctx.state.activeStyle : null),
+      onKeydown: _cache[4] || (_cache[4] = withModifiers(function() {
+      }, ["stop"]))
+    },
+    [renderSlot(_ctx.$slots, "default"), !_ctx.slots.default ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [createTextVNode(
+        toDisplayString(_ctx.text || _ctx.label) + " ",
+        1
+        /* TEXT */
+      ), _ctx.state.showTips ? (openBlock(), createBlock(_component_tiny_tooltip, {
+        key: 0,
+        effect: "light",
+        content: _ctx.tipContent,
+        placement: "top",
+        class: "sm:block hidden"
+      }, {
+        default: withCtx(function() {
+          return [createVNode(_component_IconHelpCircle, {
+            class: "absolute right-3 top-1.5 bottom-1.5 text-sm cursor-pointer w-3.5 h-3.5 fill-color-border hover:fill-color-brand-focus"
+          })];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content"])) : createCommentVNode("v-if", true)],
+      64
+      /* STABLE_FRAGMENT */
+    )) : createCommentVNode("v-if", true)],
+    38
+    /* CLASS, STYLE, NEED_HYDRATION */
+  )], 42, _hoisted_1$6);
+}
+var mobileFirst$2 = /* @__PURE__ */ _export_sfc$7(_sfc_main$a, [["render", _sfc_render$a]]);
+const index$5 = "";
+function _extends$4() {
+  _extends$4 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$4.apply(this, arguments);
+}
+var template$3 = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$3;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$2;
+  }
+  return pc$3;
+};
+var $constants$2 = {
+  RADIO_GROUP: "RadioGroup"
+};
+var radioButtonProps = _extends$4({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default2() {
+      return $constants$2;
+    }
+  },
+  name: String,
+  text: String,
+  events: {
+    type: Object,
+    default: function _default22() {
+      return {};
+    }
+  },
+  label: {},
+  disabled: Boolean,
+  tipContent: String
+});
+var RadioButton = defineComponent({
+  name: $prefix + "RadioButton",
+  props: radioButtonProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$3
+    });
+  }
+});
+var version$4 = "3.16.0";
+RadioButton.install = function(Vue) {
+  Vue.component(RadioButton.name, RadioButton);
+};
+RadioButton.version = version$4;
+function _createForOfIteratorHelperLoose$6(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$6(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$6(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$6(o, minLen);
+}
+function _arrayLikeToArray$6(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$6 = function _export_sfc26(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$6(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$9 = defineComponent({
+  components: {
+    Radio,
+    RadioButton
+  },
+  emits: ["change", "update:modelValue"],
+  props: [].concat(props, ["options", "modelValue", "type", "size", "fill", "textColor", "disabled", "vertical", "displayOnly"]),
+  setup: function setup$16(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3
+    });
+  }
+});
+function _sfc_render$9(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_radio = resolveComponent("radio");
+  var _component_radio_button = resolveComponent("radio-button");
+  return openBlock(), createBlock(resolveDynamicComponent(_ctx.state.tag), {
+    class: normalizeClass(["tiny-radio-group", [_ctx.vertical ? "list-inline" : ""]]),
+    role: "radiogroup",
+    onKeydown: _ctx.handleKeydown,
+    ref: "group"
+  }, {
+    default: withCtx(function() {
+      return [renderSlot(_ctx.$slots, "default", {}, function() {
+        return [_ctx.type === "radio" ? (openBlock(true), createElementBlock(
+          Fragment,
+          {
+            key: 0
+          },
+          renderList(_ctx.options, function(item, index3) {
+            return openBlock(), createBlock(_component_radio, mergeProps({
+              "display-only": _ctx.displayOnly,
+              key: index3
+            }, item), null, 16, ["display-only"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        )) : createCommentVNode("v-if", true), _ctx.type === "button" ? (openBlock(true), createElementBlock(
+          Fragment,
+          {
+            key: 1
+          },
+          renderList(_ctx.options, function(item, index3) {
+            return openBlock(), createBlock(
+              _component_radio_button,
+              mergeProps({
+                key: index3
+              }, item),
+              null,
+              16
+              /* FULL_PROPS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        )) : createCommentVNode("v-if", true)];
+      })];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 40, ["class", "onKeydown"]);
+}
+var pc$2 = /* @__PURE__ */ _export_sfc$6(_sfc_main$9, [["render", _sfc_render$9]]);
+function _createForOfIteratorHelperLoose$5(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$5(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$5(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$5(o, minLen);
+}
+function _arrayLikeToArray$5(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$5 = function _export_sfc27(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$5(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$8 = defineComponent({
+  components: {
+    Radio,
+    RadioButton
+  },
+  emits: ["change"],
+  props: [].concat(props, ["options", "modelValue", "type", "size", "fill", "textColor", "disabled", "vertical", "showTips", "displayOnly"]),
+  inheritAttrs: false,
+  setup: function setup$17(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3
+    });
+  }
+});
+function _sfc_render$8(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_radio = resolveComponent("radio");
+  var _component_radio_button = resolveComponent("radio-button");
+  return openBlock(), createBlock(resolveDynamicComponent(_ctx.state.tag), {
+    class: normalizeClass(["inline-flex", _ctx.vertical && "flex-col"]),
+    role: "radiogroup",
+    onKeydown: _ctx.handleKeydown,
+    ref: "group",
+    "data-tag": "tiny-radio-group"
+  }, {
+    default: withCtx(function() {
+      return [renderSlot(_ctx.$slots, "default", {}, function() {
+        return [_ctx.type === "radio" ? (openBlock(true), createElementBlock(
+          Fragment,
+          {
+            key: 0
+          },
+          renderList(_ctx.options, function(item, index3) {
+            return openBlock(), createBlock(_component_radio, mergeProps({
+              "display-only": _ctx.displayOnly,
+              key: index3
+            }, item), null, 16, ["display-only"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        )) : createCommentVNode("v-if", true), _ctx.type === "button" ? (openBlock(true), createElementBlock(
+          Fragment,
+          {
+            key: 1
+          },
+          renderList(_ctx.options, function(item, index3) {
+            return openBlock(), createBlock(
+              _component_radio_button,
+              mergeProps({
+                key: index3
+              }, item),
+              null,
+              16
+              /* FULL_PROPS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        )) : createCommentVNode("v-if", true)];
+      })];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 40, ["class", "onKeydown"]);
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$5(_sfc_main$8, [["render", _sfc_render$8]]);
+const index$4 = "";
+function _extends$3() {
+  _extends$3 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$3.apply(this, arguments);
+}
+var template$2 = function template23(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$2;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$1;
+  }
+  return pc$2;
+};
+var radioGroupProps = _extends$3({}, $props, {
+  modelValue: {},
+  size: {
+    type: String,
+    default: ""
+  },
+  fill: String,
+  textColor: String,
+  disabled: Boolean,
+  vertical: Boolean,
+  options: {
+    type: Array,
+    default: function _default3() {
+      return [];
+    }
+  },
+  type: {
+    type: String,
+    default: "radio"
+  },
+  showTips: {
+    type: Boolean,
+    default: false
+  },
+  displayOnly: {
+    type: Boolean,
+    default: false
+  }
+});
+var RadioGroup = defineComponent({
+  name: $prefix + "RadioGroup",
+  componentName: "RadioGroup",
+  props: radioGroupProps,
+  setup: function setup4(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$2
+    });
+  }
+});
+var version$3 = "3.16.0";
+RadioGroup.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+RadioGroup.install = function(Vue) {
+  Vue.component(RadioGroup.name, RadioGroup);
+};
+RadioGroup.version = version$3;
+const computedAnimationName = ({ constants, props: props2 }) => () => props2.rightSlide ? constants.DIALOG_SLIDER_RIGHT : constants.DIALOG_FADE;
+const computedAddUnit = (value3) => isNaN(Number(value3)) ? value3 : value3 + "px";
+const computedStyle = ({ props: props2, state, designConfig }) => () => {
+  var _a;
+  let style = {};
+  let { width, top, rightSlide, maxHeight } = props2;
+  if (top === void 0) {
+    top = rightSlide ? "0" : ((_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.top) ? "" : "15vh";
+  }
+  width = computedAddUnit(width);
+  top = computedAddUnit(top);
+  maxHeight = computedAddUnit(maxHeight);
+  if (!state.isFull) {
+    style.width = width;
+    style.top = state.top || top;
+    style.maxHeight = maxHeight;
+    if (rightSlide) {
+      style.right = 0;
+      style.height = "calc(100vh - " + style.top + ")";
+    } else {
+      style.left = state.left || "calc((100vw - " + width + ") / 2)";
+    }
+  }
+  if (state.dragStyle) {
+    style = __spreadValues(__spreadValues({}, style), state.dragStyle);
+    if (state.isFull) {
+      style = { left: "0px", top: "0px" };
+    }
+  }
+  return style;
+};
+const computedBodyStyle = ({ vm, props: props2, state }) => () => {
+  const style = {
+    maxHeight: ""
+  };
+  const headerHeight = vm.$refs.header && vm.$refs.header.offsetHeight || 0;
+  const footerHeight = vm.$refs.footer && vm.$refs.footer.offsetHeight || 0;
+  let { maxHeight } = props2;
+  if (state.isFull || props2.rightSlide) {
+    if (vm.$slots.footer) {
+      style.maxHeight = `calc(100vh - ${headerHeight + footerHeight}px)`;
+    } else {
+      style.maxHeight = `calc(100vh - ${headerHeight}px)`;
+    }
+  } else {
+    style.maxHeight = "65vh";
+  }
+  if (maxHeight && !state.isFull) {
+    style.maxHeight = "none";
+  }
+  return style;
+};
+const watchVisible = ({
+  api: api2,
+  constants,
+  emit,
+  nextTick,
+  parent,
+  props: props2,
+  vm,
+  state
+}) => (val) => {
+  const el = parent.$el;
+  if (props2.lockScroll) {
+    val ? api2.showScrollbar() : api2.hideScrollbar();
+  }
+  state.move = false;
+  state.isFull = props2.fullscreen;
+  emit("update:visible", val);
+  if (val) {
+    state.closed = false;
+    emit("open");
+    on(el, "scroll", api2.updatePopper);
+    nextTick(() => {
+      vm.$refs.dialog.scrollTop = 0;
+    });
+    if (props2.appendToBody) {
+      document.body.appendChild(el);
+    }
+  } else {
+    off(el, "scroll", api2.updatePopper);
+    if (!state.closed) {
+      state.emitter.emit("boxclose", props2.isFormReset);
+      emit("close");
+    }
+    if (props2.destroyOnClose) {
+      nextTick(() => state.key++);
+    }
+    if (props2.rightSlide) {
+      const dialogBoxDom = el.querySelector(constants.DIALOG_BOX_CLASS) || el;
+      dialogBoxDom.style.left = "";
+    }
+  }
+};
+const mounted = ({ api: api2, parent, props: props2 }) => () => {
+  if (props2.lockScroll && props2.visible) {
+    api2.showScrollbar();
+  }
+  if (props2.visible) {
+    const el = parent.$el;
+    api2.open();
+    if (props2.appendToBody) {
+      document.body.appendChild(el);
+    }
+  }
+};
+const unMounted = ({ api: api2, parent, props: props2 }) => () => {
+  const el = parent.$el;
+  api2.hideScrollbar();
+  if (props2.appendToBody && el && el.parentNode) {
+    el.parentNode.removeChild(el);
+  }
+};
+const useMouseEventDown = ({ state }) => (event) => {
+  state.mouseDownWrapperFlag = false;
+  if (/tiny-dialog-box__wrapper/.test(event.target.className) && event.type === "mousedown") {
+    state.mouseDownWrapperFlag = true;
+  }
+};
+const useMouseEventUp = ({ state }) => (event) => {
+  state.mouseUpWrapperFlag = false;
+  if (/tiny-dialog-box__wrapper/.test(event.target.className) && event.type === "mouseup") {
+    state.mouseUpWrapperFlag = true;
+  }
+};
+const handleWrapperClick = ({ api: api2, props: props2, state }) => () => {
+  if (!props2.closeOnClickModal) {
+    return;
+  }
+  if (state.mouseDownWrapperFlag && state.mouseUpWrapperFlag) {
+    api2.handleClose("mask");
+  }
+};
+const handleClose = ({
+  api: api2,
+  constants,
+  emit,
+  parent,
+  props: props2
+}) => (type = "close") => {
+  if (typeof props2.beforeClose === "function" && props2.beforeClose(type) === false) {
+    return;
+  }
+  const el = parent.$el;
+  if (props2.rightSlide) {
+    const dialogBoxDom = el.querySelector(constants.DIALOG_BOX_CLASS) || el;
+    dialogBoxDom.style.left = "";
+  }
+  if (!emitEvent(emit, "before-close", api2.hide)) {
+    return;
+  }
+  api2.hide(type);
+};
+const hide = ({ api: api2, emit, state, props: props2 }) => (cancel) => {
+  if (cancel !== false) {
+    state.emitter.emit("boxclose", props2.isFormReset);
+    emit("update:visible", false);
+    emit("change", false);
+    emit("close", cancel);
+    state.closed = true;
+    api2.hideScrollbar();
+  }
+};
+const handleConfirm = ({ api: api2, emit }) => () => {
+  emit("confirm");
+  api2.handleClose("confirm");
+};
+const handleCancel = ({ api: api2, emit }) => () => {
+  emit("cancel");
+  api2.handleClose("cancel");
+};
+const updatePopper = ({ api: api2, constants }) => () => {
+  api2.broadcast(constants.SELECT_DROPDOWN, "updatePopper");
+  api2.broadcast(constants.DROPDOWN_MENU, "updatePopper");
+};
+const afterEnter = (emit) => () => {
+  emit("opened");
+};
+const afterLeave = (emit) => () => {
+  emit("closed");
+};
+const findPopoverComponent = ({
+  vm,
+  componentList
+}) => {
+  const children = vm.$children;
+  if (!children || children.length === 0) {
+    return [];
+  }
+  children.forEach((child) => {
+    const tag = child.$options.componentName;
+    if (tag === "Select") {
+      componentList.push(child);
+    }
+    findPopoverComponent({ vm: child, componentList });
+  });
+  return componentList;
+};
+const closeAllPopover = (parent) => {
+  findPopoverComponent({ vm: parent, componentList: [] }).forEach((component) => {
+    component.state.visible = false;
+  });
+};
+const handleDrag = ({
+  parent,
+  props: props2,
+  state,
+  emit,
+  vm
+}) => (event) => {
+  if (!props2.draggable) {
+    return;
+  }
+  let modalBoxElem = vm.$refs.dialog;
+  event.preventDefault();
+  let demMousemove = document.onmousemove;
+  let demMouseup = document.onmouseup;
+  let disX = event.clientX - modalBoxElem.offsetLeft;
+  let disY = event.clientY - modalBoxElem.offsetTop;
+  let { visibleHeight, visibleWidth } = getDomNode();
+  document.onmousemove = (event2) => {
+    event2.preventDefault();
+    if (!state.move) {
+      emit("drag-start", event2);
+      closeAllPopover(parent);
+      state.move = true;
+    }
+    let offsetWidth = modalBoxElem.offsetWidth;
+    let offsetHeight = modalBoxElem.offsetHeight;
+    let left;
+    let top;
+    if (!props2.dragOutsideWindow) {
+      let maxX = Math.max(visibleWidth - offsetWidth, 0);
+      let maxY = Math.max(visibleHeight - offsetHeight, 0);
+      left = event2.clientX - disX;
+      top = event2.clientY - disY;
+      left = left < 0 ? 0 : left > maxX ? maxX : left;
+      top = top < 0 ? 0 : top > maxY ? maxY : top;
+    } else {
+      let maxX = visibleWidth - 10;
+      let maxY = visibleHeight - 10;
+      left = event2.clientX - disX;
+      top = event2.clientY - disY;
+      left = event2.clientX < 0 ? -disX : left > maxX ? maxX : left;
+      top = event2.clientY < 0 ? -disY : top > maxY ? maxY : top;
+    }
+    if (!state.isFull) {
+      state.dragStyle = { left: `${left}px`, top: `${top}px` };
+    }
+    state.left = `${left}px`;
+    state.top = `${top}px`;
+    state.emitter.emit("boxdrag");
+    emit("drag-move", event2);
+  };
+  document.onmouseup = () => {
+    document.onmousemove = demMousemove;
+    document.onmouseup = demMouseup;
+    state.move = false;
+    props2.draggable && emit("drag-end", event);
+  };
+};
+const showScrollbar = (lockScrollClass) => () => {
+  addClass(document.body, lockScrollClass);
+};
+const hideScrollbar = (lockScrollClass) => () => {
+  removeClass(document.body, lockScrollClass);
+};
+const toggleFullScreen = ({ state, emit, nextTick, vm }) => (isFull) => {
+  state.isFull = isFull;
+  nextTick(() => {
+    emit("resize", { fullscreen: isFull, dialog: vm.$refs.dialog });
+  });
+};
+let idSeed = 1;
+const isServer = typeof window === "undefined";
+const setWatchFn = ({
+  onMounted,
+  onBeforeUnmount: onBeforeUnmount2,
+  watch,
+  vm,
+  api: api2,
+  props: props2,
+  state,
+  nextTick
+}) => {
+  onMounted(() => {
+    vm._popupId = `popup-${idSeed++}`;
+    popup_manager_default.register(vm._popupId, vm);
+  });
+  onBeforeUnmount2(() => {
+    popup_manager_default.deregister(vm._popupId);
+    popup_manager_default.closeModal(vm._popupId);
+  });
+  watch(
+    () => props2.visible,
+    (val) => {
+      if (val) {
+        if (vm._opening) {
+          return;
+        }
+        if (state.rendered) {
+          api2.open();
+        } else {
+          state.rendered = true;
+          nextTick(() => {
+            api2.open();
+          });
+        }
+      } else {
+        api2.close();
+      }
+    }
+  );
+};
+const openFn = ({ state, vm }) => (options) => {
+  if (!state.rendered) {
+    state.rendered = true;
+  }
+  const props2 = merge({}, vm.$props || vm, options);
+  if (vm._closeTimer) {
+    clearTimeout(vm._closeTimer);
+    vm._closeTimer = null;
+  }
+  clearTimeout(vm._openTimer);
+  const doOpen = () => {
+    if (isServer || state.opened) {
+      return;
+    }
+    vm._opening = true;
+    const dom = vm.$el;
+    const modal = props2.modal;
+    const zIndex = props2.zIndex;
+    if (zIndex) {
+      popup_manager_default.zIndex = zIndex;
+    }
+    if (modal) {
+      if (vm._closing) {
+        popup_manager_default.closeModal(vm._popupId);
+        vm._closing = false;
+      }
+      popup_manager_default.openModal(
+        vm._popupId,
+        popup_manager_default.nextZIndex(),
+        props2.modalAppendToBody ? void 0 : dom,
+        props2.modalClass,
+        props2.modalFade
+      );
+      if (props2.lockScroll) {
+        popup_manager_default.fixBodyBorder();
+        addClass(document.body, popup_manager_default.popLockClass);
+      }
+    }
+    if (getComputedStyle(dom).position === "static") {
+      dom.style.position = "absolute";
+    }
+    dom.style.zIndex = popup_manager_default.nextZIndex().toString();
+    state.opened = true;
+    vm._opening = false;
+  };
+  const openDelay = Number(props2.openDelay);
+  if (openDelay > 0) {
+    vm._openTimer = setTimeout(() => {
+      vm._openTimer = null;
+      doOpen();
+    }, openDelay);
+  } else {
+    doOpen();
+  }
+};
+const closeFn = ({ state, vm }) => () => {
+  if (vm._openTimer !== null) {
+    clearTimeout(vm._openTimer);
+    vm._openTimer = null;
+  }
+  clearTimeout(vm._closeTimer);
+  const doClose = () => {
+    vm._closing = true;
+    state.opened = false;
+    popup_manager_default.closeModal(vm._popupId);
+    vm._closing = false;
+  };
+  const closeDelay = Number(vm.closeDelay);
+  if (closeDelay > 0) {
+    vm._closeTimer = setTimeout(() => {
+      vm._closeTimer = null;
+      doClose();
+    }, closeDelay);
+  } else {
+    doClose();
+  }
+};
+var vue_popup_default = (options) => {
+  const { api: api2, nextTick, onBeforeUnmount: onBeforeUnmount2, onMounted, props: props2, reactive, toRefs, vm, watch } = options;
+  const state = reactive({
+    opened: false,
+    rendered: false
+  });
+  setWatchFn({ onMounted, onBeforeUnmount: onBeforeUnmount2, watch, vm, api: api2, props: props2, state, nextTick });
+  const open = openFn({ state, vm });
+  const close = closeFn({ state, vm });
+  return __spreadValues({ open, close, PopupManager: popup_manager_default }, toRefs(state));
+};
+const api$1 = [
+  "afterEnter",
+  "afterLeave",
+  "handleClose",
+  "handleWrapperClick",
+  "useMouseEventDown",
+  "useMouseEventUp",
+  "handleCancel",
+  "handleConfirm",
+  "handleDrag",
+  "toggleFullScreen",
+  "state"
+];
+const initState = ({
+  reactive,
+  computed,
+  api: api2,
+  emitter,
+  props: props2,
+  useBreakpoint
+}) => {
+  const { current } = useBreakpoint();
+  const state = reactive({
+    emitter: emitter(),
+    key: 0,
+    x: null,
+    y: null,
+    top: null,
+    left: null,
+    max: null,
+    move: false,
+    closed: false,
+    dragable: false,
+    isFull: props2.fullscreen,
+    style: computed(() => api2.computedStyle()),
+    bodyStyle: computed(() => api2.computedBodyStyle()),
+    animationName: computed(() => api2.computedAnimationName()),
+    current,
+    dragStyle: null
+  });
+  return state;
+};
+const mergeState = ({ reactive, state, toRefs, usePopups }) => {
+  const { opened, rendered } = usePopups;
+  const merge2 = reactive(__spreadValues({
+    opened,
+    rendered
+  }, toRefs(state)));
+  return merge2;
+};
+const initApi = ({
+  emit,
+  api: api2,
+  state,
+  parent,
+  props: props2,
+  lockScrollClass,
+  constants,
+  usePopups,
+  nextTick,
+  broadcast,
+  designConfig,
+  vm
+}) => {
+  const { open, close } = usePopups;
+  Object.assign(api2, {
+    state,
+    open,
+    close,
+    broadcast,
+    handleCancel: handleCancel({ api: api2, emit }),
+    handleConfirm: handleConfirm({ api: api2, emit }),
+    updatePopper: updatePopper({ api: api2, constants }),
+    handleWrapperClick: handleWrapperClick({ api: api2, props: props2, state }),
+    useMouseEventDown: useMouseEventDown({ state }),
+    useMouseEventUp: useMouseEventUp({ state }),
+    hide: hide({ api: api2, emit, state, props: props2 }),
+    handleClose: handleClose({ api: api2, constants, emit, parent, props: props2 }),
+    watchVisible: watchVisible({
+      api: api2,
+      constants,
+      emit,
+      nextTick,
+      parent,
+      props: props2,
+      vm,
+      state
+    }),
+    computedStyle: computedStyle({ state, props: props2, designConfig }),
+    computedBodyStyle: computedBodyStyle({ vm, props: props2, state }),
+    mounted: mounted({ api: api2, parent, props: props2 }),
+    unMounted: unMounted({ api: api2, parent, props: props2 }),
+    computedAnimationName: computedAnimationName({ constants, props: props2 }),
+    afterEnter: afterEnter(emit),
+    afterLeave: afterLeave(emit),
+    hideScrollbar: hideScrollbar(lockScrollClass),
+    showScrollbar: showScrollbar(lockScrollClass),
+    handleDrag: handleDrag({ parent, props: props2, state, emit, vm }),
+    // tiny 新增
+    toggleFullScreen: toggleFullScreen({ state, emit, nextTick, vm })
+  });
+};
+const initWatch = ({ watch, state, api: api2, props: props2 }) => {
+  watch(() => props2.visible, api2.watchVisible);
+  watch(
+    () => props2.fullscreen,
+    (value3) => {
+      state.isFull = value3;
+    }
+  );
+};
+const renderless$1 = (props2, { computed, onBeforeUnmount: onBeforeUnmount2, onMounted, toRefs, reactive, watch }, {
+  vm,
+  emitter,
+  parent,
+  emit,
+  constants,
+  nextTick,
+  mode,
+  broadcast,
+  designConfig,
+  useBreakpoint
+}) => {
+  const api2 = {};
+  const lockScrollClass = constants.scrollLockClass(mode);
+  let state = initState({ reactive, computed, api: api2, emitter, props: props2, useBreakpoint });
+  const usePopups = vue_popup_default({
+    api: api2,
+    nextTick,
+    onBeforeUnmount: onBeforeUnmount2,
+    onMounted,
+    props: props2,
+    reactive,
+    toRefs,
+    vm,
+    watch
+  });
+  initApi({
+    api: api2,
+    state,
+    parent,
+    props: props2,
+    emit,
+    constants,
+    usePopups,
+    lockScrollClass,
+    nextTick,
+    vm,
+    broadcast,
+    designConfig
+  });
+  state = mergeState({ reactive, state, toRefs, usePopups });
+  initWatch({ watch, state, api: api2, props: props2 });
+  onMounted(api2.mounted);
+  onBeforeUnmount2(api2.unMounted);
+  return api2;
+};
+const index$3 = "";
+function _createForOfIteratorHelperLoose$4(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$4(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$4(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$4(o, minLen);
+}
+function _arrayLikeToArray$4(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$4 = function _export_sfc28(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$4(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$7 = defineComponent({
+  components: {
+    IconClose: index$k(),
+    IconFullscreen: index$r(),
+    IconMinscreen: index$s()
+  },
+  emits: [
+    "update:visible",
+    "change",
+    "before-close",
+    "open",
+    "close",
+    "opened",
+    "confirm",
+    "cancel",
+    "closed",
+    "drag-start",
+    "drag-move",
+    "drag-end",
+    // tiny 新增
+    "resize"
+  ],
+  props: [].concat(props, ["resize", "isFormReset", "visible", "title", "modal", "modalAppendToBody", "appendToBody", "lockScroll", "closeOnClickModal", "closeOnPressEscape", "showClose", "width", "fullscreen", "top", "center", "draggable", "dragOutsideWindow", "showHeader", "rightSlide", "destroyOnClose", "dialogClass", "beforeClose", "maxHeight", "dialogTransition"]),
+  model: {
+    prop: "visible",
+    event: "update:visible"
+  },
+  provide: function provide() {
+    return {
+      dialog: this
+    };
+  },
+  setup: function setup$18(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$5 = {
+  class: "tiny-dialog-box__title"
+};
+var _hoisted_2$5 = {
+  key: 1,
+  class: "tiny-dialog-box__footer"
+};
+function _sfc_render$7(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_fullscreen = resolveComponent("icon-fullscreen");
+  var _component_icon_minscreen = resolveComponent("icon-minscreen");
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createBlock(Transition, {
+    name: _ctx.state.animationName,
+    onAfterEnter: _ctx.afterEnter,
+    onAfterLeave: _ctx.afterLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-dialog-box__wrapper", _ctx.dialogClass]),
+          onClick: _cache[5] || (_cache[5] = withModifiers(function() {
+            return _ctx.handleWrapperClick && _ctx.handleWrapperClick.apply(_ctx, arguments);
+          }, ["self"])),
+          onMouseup: _cache[6] || (_cache[6] = function() {
+            return _ctx.useMouseEventUp && _ctx.useMouseEventUp.apply(_ctx, arguments);
+          }),
+          onMousedown: _cache[7] || (_cache[7] = function() {
+            return _ctx.useMouseEventDown && _ctx.useMouseEventDown.apply(_ctx, arguments);
+          })
+        },
+        [createVNode(Transition, {
+          name: _ctx.dialogTransition
+        }, {
+          default: withCtx(function() {
+            return [(_ctx.destroyOnClose ? _ctx.visible : true) ? withDirectives((openBlock(), createElementBlock(
+              "div",
+              {
+                ref: "dialog",
+                class: normalizeClass([[{
+                  "is-fullscreen": _ctx.state.isFull,
+                  "is-center": _ctx.center,
+                  "is-right-slide": _ctx.rightSlide
+                }], "tiny-dialog-box"]),
+                style: normalizeStyle(_ctx.state.style),
+                key: _ctx.state.key
+              },
+              [_ctx.showHeader ? (openBlock(), createElementBlock(
+                "div",
+                {
+                  key: 0,
+                  class: "tiny-dialog-box__header",
+                  onMousedown: _cache[4] || (_cache[4] = function() {
+                    return _ctx.handleDrag && _ctx.handleDrag.apply(_ctx, arguments);
+                  })
+                },
+                [renderSlot(_ctx.$slots, "title", {}, function() {
+                  return [createBaseVNode(
+                    "span",
+                    _hoisted_1$5,
+                    toDisplayString(_ctx.title),
+                    1
+                    /* TEXT */
+                  )];
+                }), _ctx.resize && !_ctx.state.isFull ? (openBlock(), createElementBlock("button", {
+                  key: 0,
+                  type: "button",
+                  class: "tiny-dialog-box__headerbtn",
+                  "aria-label": "Resize",
+                  onClick: _cache[0] || (_cache[0] = function($event) {
+                    return _ctx.toggleFullScreen(true);
+                  })
+                }, [createVNode(_component_icon_fullscreen, {
+                  class: "tiny-svg-size tiny-dialog-box__close"
+                })])) : createCommentVNode("v-if", true), _ctx.resize && _ctx.state.isFull ? (openBlock(), createElementBlock("button", {
+                  key: 1,
+                  type: "button",
+                  class: "tiny-dialog-box__headerbtn",
+                  "aria-label": "Resize",
+                  onClick: _cache[1] || (_cache[1] = function($event) {
+                    return _ctx.toggleFullScreen(false);
+                  })
+                }, [createVNode(_component_icon_minscreen, {
+                  class: "tiny-svg-size tiny-dialog-box__close"
+                })])) : createCommentVNode("v-if", true), _ctx.showClose ? (openBlock(), createElementBlock(
+                  "button",
+                  {
+                    key: 2,
+                    type: "button",
+                    class: "tiny-dialog-box__headerbtn",
+                    "aria-label": "Close",
+                    onClick: _cache[2] || (_cache[2] = function($event) {
+                      return _ctx.handleClose("close", $event);
+                    }),
+                    onMousedown: _cache[3] || (_cache[3] = withModifiers(function() {
+                    }, ["stop"]))
+                  },
+                  [createVNode(_component_icon_close, {
+                    class: "tiny-svg-size tiny-dialog-box__close"
+                  })],
+                  32
+                  /* NEED_HYDRATION */
+                )) : createCommentVNode("v-if", true)],
+                32
+                /* NEED_HYDRATION */
+              )) : createCommentVNode("v-if", true), createBaseVNode(
+                "div",
+                {
+                  class: "tiny-dialog-box__body",
+                  style: normalizeStyle(_ctx.state.bodyStyle)
+                },
+                [renderSlot(_ctx.$slots, "default")],
+                4
+                /* STYLE */
+              ), _ctx.slots.footer ? (openBlock(), createElementBlock("div", _hoisted_2$5, [renderSlot(_ctx.$slots, "footer", {
+                beforeClose: _ctx.beforeClose
+              })])) : createCommentVNode("v-if", true)],
+              6
+              /* CLASS, STYLE */
+            )), [[vShow, _ctx.visible]]) : createCommentVNode("v-if", true)];
+          }),
+          _: 3
+          /* FORWARDED */
+        }, 8, ["name"])],
+        34
+        /* CLASS, NEED_HYDRATION */
+      ), [[vShow, _ctx.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["name", "onAfterEnter", "onAfterLeave"]);
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$4(_sfc_main$7, [["render", _sfc_render$7]]);
+const index$2 = "";
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc29(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$6 = defineComponent({
+  emits: ["update:visible", "change", "before-close", "open", "close", "opened", "confirm", "cancel", "closed"],
+  props: [].concat(props, ["visible", "title", "modal", "closeOnClickModal", "modalAppendToBody", "appendToBody", "width", "top", "showHeader", "destroyOnClose"]),
+  model: {
+    prop: "visible",
+    event: "update:visible"
+  },
+  setup: function setup$19(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$4 = {
+  key: 0,
+  class: "tiny-mobile-dialog-box__header"
+};
+var _hoisted_2$4 = {
+  class: "tiny-mobile-dialog-box__title"
+};
+var _hoisted_3$4 = {
+  class: "tiny-mobile-dialog-box__body"
+};
+var _hoisted_4$4 = {
+  class: "tiny-mobile-dialog-box__footer"
+};
+function _sfc_render$6(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createBlock(Transition, {
+    name: "dialog-fade",
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: "tiny-mobile-dialog-box__wrapper",
+          onClick: _cache[2] || (_cache[2] = withModifiers(function() {
+            return _ctx.handleWrapperClick && _ctx.handleWrapperClick.apply(_ctx, arguments);
+          }, ["self"]))
+        },
+        [(openBlock(), createElementBlock(
+          "div",
+          {
+            ref: "dialog",
+            class: normalizeClass([{
+              "is-hide-header": !_ctx.showHeader
+            }, "tiny-mobile-dialog-box"]),
+            key: _ctx.state.key
+          },
+          [_ctx.showHeader ? (openBlock(), createElementBlock("div", _hoisted_1$4, [renderSlot(_ctx.$slots, "title", {}, function() {
+            return [createBaseVNode(
+              "span",
+              _hoisted_2$4,
+              toDisplayString(_ctx.title),
+              1
+              /* TEXT */
+            )];
+          })])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_3$4, [renderSlot(_ctx.$slots, "default")]), createBaseVNode("div", _hoisted_4$4, [renderSlot(_ctx.$slots, "footer", {}, function() {
+            return [createBaseVNode(
+              "button",
+              {
+                type: "button",
+                onClick: _cache[0] || (_cache[0] = function() {
+                  return _ctx.handleCancel && _ctx.handleCancel.apply(_ctx, arguments);
+                }),
+                class: "tiny-mobile-dialog-box__button cancel-button"
+              },
+              toDisplayString(_ctx.t("ui.dialogBox.cancel")),
+              1
+              /* TEXT */
+            ), createBaseVNode(
+              "button",
+              {
+                type: "button",
+                onClick: _cache[1] || (_cache[1] = function() {
+                  return _ctx.handleConfirm && _ctx.handleConfirm.apply(_ctx, arguments);
+                }),
+                class: "tiny-mobile-dialog-box__button confirm-button"
+              },
+              toDisplayString(_ctx.t("ui.dialogBox.confirm")),
+              1
+              /* TEXT */
+            )];
+          })])],
+          2
+          /* CLASS */
+        ))],
+        512
+        /* NEED_PATCH */
+      ), [[vShow, _ctx.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var mobile = /* @__PURE__ */ _export_sfc$3(_sfc_main$6, [["render", _sfc_render$6]]);
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc210(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$5 = defineComponent({
+  components: {
+    IconClose: index$k(),
+    IconFullscreen: index$r(),
+    IconMinscreen: index$s(),
+    TinyActionSheet: ActionSheet
+  },
+  emits: ["update:visible", "change", "before-close", "open", "close", "opened", "confirm", "cancel", "closed", "drag-start", "drag-move", "drag-end"],
+  props: [].concat(props, ["resize", "isFormReset", "visible", "title", "modal", "modalAppendToBody", "appendToBody", "lockScroll", "closeOnClickModal", "closeOnPressEscape", "showClose", "width", "fullscreen", "top", "center", "draggable", "showHeader", "rightSlide", "destroyOnClose", "dialogClass", "beforeClose", "maxHeight"]),
+  model: {
+    prop: "visible",
+    event: "update:visible"
+  },
+  setup: function setup$110(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$3 = {
+  key: 0
+};
+var _hoisted_2$3 = {
+  "data-tag": "tiny-dialog-box__title",
+  class: "text-sm text-color-text-primary mr-4 flex-1 font-bold"
+};
+var _hoisted_3$3 = {
+  key: 1,
+  "data-tag": "tiny-dialog-box__footer",
+  class: "pt-4 pr-6 pb-4 pl-6 text-right box-border border-t border-t-color-bg-3 [&_[data-tag=tiny-button]]:mx-1 [&_[data-tag=tiny-button]]:my-0 [&_[data-tag=tiny-toolbar]_[data-tag=tiny-button]]:my-0 [&_[data-tag=tiny-toolbar]_[data-tag=tiny-button]]:mx-1"
+};
+var _hoisted_4$3 = {
+  key: 1
+};
+function _sfc_render$5(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_fullscreen = resolveComponent("icon-fullscreen");
+  var _component_icon_minscreen = resolveComponent("icon-minscreen");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_action_sheet = resolveComponent("tiny-action-sheet");
+  return openBlock(), createElementBlock("div", null, [_ctx.state.current !== "default" ? (openBlock(), createElementBlock("div", _hoisted_1$3, [createVNode(Transition, {
+    name: _ctx.state.animationName,
+    onAfterEnter: _ctx.afterEnter,
+    onAfterLeave: _ctx.afterLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["fixed inset-0 m-0 flex items-center", _ctx.dialogClass]),
+          "data-tag": "tiny-dialog-box__wrapper",
+          onClick: _cache[4] || (_cache[4] = withModifiers(function() {
+            return _ctx.handleWrapperClick && _ctx.handleWrapperClick.apply(_ctx, arguments);
+          }, ["self"]))
+        },
+        [(_ctx.destroyOnClose ? _ctx.visible : true) ? (openBlock(), createElementBlock(
+          "div",
+          {
+            ref: "dialog",
+            "data-tag": "tiny-dialog-box",
+            class: normalizeClass([[{
+              "left-0 top-0 w-screen h-screen": _ctx.state.isFull,
+              "text-center": _ctx.center,
+              "flex flex-col rounded-none": _ctx.rightSlide
+            }], "absolute bg-color-bg-1 border-none overflow-hidden shadow-xl rounded flex flex-col"]),
+            style: normalizeStyle(_ctx.state.style),
+            key: _ctx.state.key
+          },
+          [_ctx.showHeader ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 0,
+              "data-tag": "tiny-dialog-box__header",
+              class: "px-6 py-4 h-12 leading-4 bg-color-bg-1 flex justify-between items-center border-b border-b-color-bg-3",
+              onMousedown: _cache[3] || (_cache[3] = function() {
+                return _ctx.handleDrag && _ctx.handleDrag.apply(_ctx, arguments);
+              })
+            },
+            [renderSlot(_ctx.$slots, "title", {}, function() {
+              return [createBaseVNode(
+                "span",
+                _hoisted_2$3,
+                toDisplayString(_ctx.title),
+                1
+                /* TEXT */
+              )];
+            }), _ctx.resize && !_ctx.state.isFull ? (openBlock(), createElementBlock("button", {
+              key: 0,
+              type: "button",
+              "data-tag": "tiny-dialog-box__headerbtn",
+              class: "border-none p-0 leading-none cursor-pointer focus:outline-0",
+              "aria-label": "Resize",
+              onClick: _cache[0] || (_cache[0] = function($event) {
+                return _ctx.toggleFullScreen(true);
+              })
+            }, [createVNode(_component_icon_fullscreen, {
+              "data-tag": "tiny-svg-size tiny-dialog-box__close",
+              class: "fill-color-text-primary text-base hover:fill-color-brand"
+            })])) : createCommentVNode("v-if", true), _ctx.resize && _ctx.state.isFull ? (openBlock(), createElementBlock("button", {
+              key: 1,
+              type: "button",
+              "data-tag": "tiny-dialog-box__headerbtn",
+              class: "border-none p-0 leading-none cursor-pointer focus:outline-0",
+              "aria-label": "Resize",
+              onClick: _cache[1] || (_cache[1] = function($event) {
+                return _ctx.toggleFullScreen(false);
+              })
+            }, [createVNode(_component_icon_minscreen, {
+              "data-tag": "tiny-svg-size tiny-dialog-box__close",
+              class: "fill-color-text-primary text-base hover:fill-color-brand"
+            })])) : createCommentVNode("v-if", true), _ctx.showClose ? (openBlock(), createElementBlock("button", {
+              key: 2,
+              type: "button",
+              "data-tag": "tiny-dialog-box__headerbtn",
+              class: "border-none p-0 leading-none cursor-pointer focus:outline-0",
+              "aria-label": "Close",
+              onClick: _cache[2] || (_cache[2] = function($event) {
+                return _ctx.handleClose("close", $event);
+              })
+            }, [createVNode(_component_icon_close, {
+              "data-tag": "tiny-svg-size tiny-dialog-box__close",
+              class: "fill-color-text-primary text-base hover:fill-color-brand"
+            })])) : createCommentVNode("v-if", true)],
+            32
+            /* NEED_HYDRATION */
+          )) : createCommentVNode("v-if", true), createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-dialog-box__body",
+              class: normalizeClass(["text-left pt-0 pr-6 pb-0 pl-6 mb-3 mt-3 text-color-text-primary leading-5.5 text-sm overflow-auto", [_ctx.state.isFull ? "max-h-[calc(100vh-theme(spacing.28))]" : "max-h-[65vh]", _ctx.rightSlide ? "max-h-[none] flex-auto" : ""]]),
+              style: normalizeStyle(_ctx.state.bodyStyle)
+            },
+            [renderSlot(_ctx.$slots, "default")],
+            6
+            /* CLASS, STYLE */
+          ), _ctx.slots.footer ? (openBlock(), createElementBlock("div", _hoisted_3$3, [renderSlot(_ctx.$slots, "footer", {
+            beforeClose: _ctx.beforeClose
+          })])) : createCommentVNode("v-if", true)],
+          6
+          /* CLASS, STYLE */
+        )) : createCommentVNode("v-if", true)],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["name", "onAfterEnter", "onAfterLeave"])])) : createCommentVNode("v-if", true), _ctx.state.current === "default" ? (openBlock(), createElementBlock("div", _hoisted_4$3, [(_ctx.destroyOnClose ? _ctx.visible : true) ? (openBlock(), createBlock(_component_tiny_action_sheet, mergeProps({
+    key: 0,
+    ref: "dialog"
+  }, _ctx.$props, {
+    "show-footer": true,
+    mask: _ctx.modal,
+    "mask-closable": _ctx.closeOnClickModal,
+    "before-close": _ctx.beforeClose,
+    "onUpdate:visible": _cache[5] || (_cache[5] = function($event) {
+      return _ctx.$emit("update:visible", $event);
+    })
+  }), createSlots({
+    _: 2
+    /* DYNAMIC */
+  }, [renderList(_ctx.slots, function(value3, name) {
+    return {
+      name,
+      fn: withCtx(function(scopeData) {
+        return [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass({
+              "flex w-full justify-between px-4 [&_[data-tag=tiny-button]]:flex-grow [&_[data-tag=tiny-button]:nth-child(2)]:ml-2": name === "footer",
+              "px-4 min-h-[250px]": name === "default"
+            })
+          },
+          [renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(scopeData)))],
+          2
+          /* CLASS */
+        )];
+      })
+    };
+  })]), 1040, ["mask", "mask-closable", "before-close"])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)]);
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc$2(_sfc_main$5, [["render", _sfc_render$5]]);
+function _extends$2() {
+  _extends$2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$2.apply(this, arguments);
+}
+var template$1 = function template24(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$1;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc$1;
+};
+var $constants$1 = {
+  DIALOG_SLIDER_RIGHT: "dialog-slideRight",
+  DIALOG_FADE: "dialog-fade",
+  SELECT_DROPDOWN: $prefix + "SelectDropdown",
+  DROPDOWN_MENU: $prefix + "DropdownMenu",
+  DIALOG_BOX_CLASS: "div.tiny-dialog-box",
+  PC_SCROLL_LOCK_CLASS: "dialog-box__scroll-lock",
+  MOBILE_SCROLL_LOCK_CLASS: "mobile-dialog-box__scroll-lock",
+  Mode: "pc",
+  scrollLockClass: function scrollLockClass(mode) {
+    return mode === this.Mode ? this.PC_SCROLL_LOCK_CLASS : this.MOBILE_SCROLL_LOCK_CLASS;
+  }
+};
+var dialogBoxProps = _extends$2({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default4() {
+      return $constants$1;
+    }
+  },
+  appendToBody: {
+    type: Boolean,
+    default: function _default23() {
+      return false;
+    }
+  },
+  beforeClose: Function,
+  center: {
+    type: Boolean,
+    default: function _default32() {
+      return false;
+    }
+  },
+  closeOnClickModal: {
+    type: Boolean,
+    default: function _default42() {
+      return true;
+    }
+  },
+  closeOnPressEscape: {
+    type: Boolean,
+    default: function _default5() {
+      return true;
+    }
+  },
+  destroyOnClose: {
+    type: Boolean,
+    default: function _default6() {
+      return false;
+    }
+  },
+  dialogClass: {
+    type: String,
+    default: function _default7() {
+      return "";
+    }
+  },
+  draggable: {
+    type: Boolean,
+    default: function _default8() {
+      return false;
+    }
+  },
+  dragOutsideWindow: {
+    type: Boolean,
+    default: function _default9() {
+      return false;
+    }
+  },
+  fullscreen: {
+    type: Boolean,
+    default: function _default10() {
+      return false;
+    }
+  },
+  isFormReset: {
+    type: Boolean,
+    default: function _default11() {
+      return true;
+    }
+  },
+  lockScroll: {
+    type: Boolean,
+    default: function _default12() {
+      return true;
+    }
+  },
+  modal: {
+    type: Boolean,
+    default: function _default13() {
+      return true;
+    }
+  },
+  modalAppendToBody: {
+    type: Boolean,
+    default: function _default14() {
+      return true;
+    }
+  },
+  resize: {
+    type: Boolean,
+    default: function _default15() {
+      return false;
+    }
+  },
+  rightSlide: {
+    type: Boolean,
+    default: function _default16() {
+      return false;
+    }
+  },
+  showClose: {
+    type: Boolean,
+    default: function _default17() {
+      return true;
+    }
+  },
+  showHeader: {
+    type: Boolean,
+    default: function _default18() {
+      return true;
+    }
+  },
+  title: {
+    type: String,
+    default: function _default19() {
+      return "";
+    }
+  },
+  top: String,
+  visible: {
+    type: Boolean,
+    default: function _default20() {
+      return false;
+    }
+  },
+  width: {
+    type: String,
+    default: function _default21() {
+      return "500px";
+    }
+  },
+  maxHeight: {
+    type: String,
+    default: function _default222() {
+      return "";
+    }
+  },
+  dialogTransition: {
+    type: String,
+    default: ""
+  }
+});
+var DialogBox = defineComponent({
+  name: $prefix + "DialogBox",
+  model: {
+    prop: "visible",
+    event: "update:visible"
+  },
+  props: dialogBoxProps,
+  setup: function setup5(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$2 = "3.16.0";
+DialogBox.install = function(Vue) {
+  Vue.component(DialogBox.name, DialogBox);
+};
+DialogBox.version = version$2;
+const px2percent = ({ numerator, denominator }) => parseFloat(numerator) / parseFloat(denominator);
+const getComputedThresholdValue = ({ api: api2, props: props2, vm, state }) => (type) => {
+  const size = vm.$refs.outerWrapper[state.offsetSize];
+  if (state.valueIsPx) {
+    return typeof props2[type] === "string" ? props2[type] : size * props2[type];
+  } else {
+    return typeof props2[type] === "string" ? api2.px2percent({ numerator: props2[type], denominator: size }) : props2[type];
+  }
+};
+const getleftTopMin = (state) => ({ oldvalue, newvalue }) => state.valueIsPx ? `${Math.min(parseFloat(oldvalue), parseFloat(newvalue))}px` : Math.min(oldvalue, newvalue);
+const getrightBottomMin = (state) => ({ oldvalue, newvalue }) => state.valueIsPx ? `${Math.max(parseFloat(oldvalue), parseFloat(newvalue))}px` : Math.max(oldvalue, newvalue);
+const getAnotherOffset = ({ vm, state }) => (value3) => state.valueIsPx ? `${vm.$refs.outerWrapper[state.offsetSize] - parseFloat(value3)}px` : 1 - value3;
+const handleMove = ({ api: api2, emit, props: props2, vm, state }) => (event) => {
+  const pageOffset = state.isHorizontal ? event.pageX : event.pageY;
+  const offset = pageOffset - state.initOffset;
+  const outerWidth = vm.$refs.outerWrapper[state.offsetSize];
+  let value3 = state.valueIsPx ? `${parseFloat(state.oldOffset) + offset}px` : api2.px2percent({ numerator: outerWidth * state.oldOffset + offset, denominator: outerWidth });
+  const anotherValue = api2.getAnotherOffset(value3);
+  if (parseFloat(value3) <= parseFloat(state.computedleftTopMin)) {
+    value3 = api2.getrightBottomMin({
+      oldvalue: value3,
+      newvalue: state.computedleftTopMin
+    });
+  }
+  if (parseFloat(anotherValue) <= parseFloat(state.computedrightBottomMin)) {
+    value3 = api2.getAnotherOffset(
+      api2.getrightBottomMin({
+        oldvalue: anotherValue,
+        newvalue: state.computedrightBottomMin
+      })
+    );
+  }
+  event.atMin = props2.modelValue === state.computedleftTopMin;
+  event.atMax = state.valueIsPx ? api2.getAnotherOffset(props2.modelValue) === state.computedrightBottomMin : api2.getAnotherOffset(props2.modelValue).toFixed(5) === state.computedrightBottomMin.toFixed(5);
+  state.leftTopPane = outerWidth * value3;
+  emit("update:modelValue", value3);
+  emit("moving", event);
+};
+const handleUp = ({ api: api2, emit, off: off2, state }) => () => {
+  state.isMoving = false;
+  off2(document, "mousemove", api2.handleMove);
+  off2(document, "mouseup", api2.handleUp);
+  emit("moveend");
+};
+const handleMousedown = ({ api: api2, emit, on: on2, props: props2, state, vm }) => (event) => {
+  if (!props2.disabled) {
+    state.initOffset = state.isHorizontal ? event.pageX : event.pageY;
+    if (state.offset === 0) {
+      state.oldOffset = 0;
+    } else if (state.offset === 100) {
+      state.oldOffset = 1;
+    } else {
+      if (props2.threeAreas) {
+        state.totalPane = vm.$refs.outerWrapper[state.offsetSize];
+        let val = api2.px2percent({ numerator: state.leftTopPane, denominator: state.totalPane });
+        state.oldOffset = val;
+        emit("update:modelValue", val);
+      } else {
+        state.oldOffset = props2.modelValue;
+      }
+    }
+    state.isMoving = true;
+    on2(document, "mousemove", api2.handleMove);
+    on2(document, "mouseup", api2.handleUp);
+    emit("movestart");
+  }
+};
+const buttonMousedown = () => (event) => {
+  event.stopPropagation();
+};
+const buttonLeftTopClick = ({ emit, props: props2, state }) => () => {
+  if (state.offset === 100) {
+    state.offset = state.lastClickOffset;
+    emit("update:modelValue", state.lastmodelValue);
+  } else if (state.offset !== 0) {
+    state.lastClickOffset = state.offset;
+    state.offset = 0;
+    state.lastmodelValue = props2.modelValue;
+    emit("update:modelValue", 0);
+  }
+  emit("left-top-click");
+};
+const buttonRightBottomClick = ({ emit, props: props2, state }) => () => {
+  if (state.offset === 0) {
+    state.offset = state.lastClickOffset;
+    emit("update:modelValue", state.lastmodelValue);
+  } else if (state.offset !== 100) {
+    state.lastClickOffset = state.offset;
+    state.offset = 100;
+    state.lastmodelValue = props2.modelValue;
+    emit("update:modelValue", 1);
+  }
+  emit("right-bottom-click");
+};
+const computeOffset = ({ api: api2, nextTick, props: props2, vm, state }) => () => {
+  setTimeout(() => {
+    if (state) {
+      state.totalPane = vm.$refs.outerWrapper[state.offsetSize];
+      state.leftTopPane = state.totalPane * (state.offset / 100);
+    }
+  });
+  if (state.valueIsPx) {
+    nextTick(() => {
+      state.offset = api2.px2percent({
+        numerator: props2.modelValue,
+        denominator: vm.$refs.outerWrapper && vm.$refs.outerWrapper[state.offsetSize]
+      }) * 1e4 / 100;
+    });
+  } else {
+    state.offset = props2.modelValue * 1e4 / 100;
+  }
+};
+const api = ["state", "handleMousedown", "buttonMousedown", "buttonLeftTopClick", "buttonRightBottomClick"];
+const renderless = (props2, hooks, { vm, nextTick, emit, constants }) => {
+  const api2 = {};
+  const { computed, reactive } = hooks;
+  const getUseOffset = useOffset({ nextTick, props: props2, vm, constants, hooks });
+  const state = reactive(__spreadValues({
+    lastClickOffset: 50,
+    lastmodelValue: 0.5,
+    oldOffset: 0,
+    initOffset: 0,
+    isMoving: false,
+    prefix: constants.PREFIX,
+    computedleftTopMin: computed(() => api2.getComputedThresholdValue("leftTopMin")),
+    computedrightBottomMin: computed(() => api2.getComputedThresholdValue("rightBottomMin")),
+    wrapperClasses: computed(() => [`${state.prefix}-wrapper`, state.isMoving ? "no-select" : ""]),
+    paneClasses: computed(() => [
+      `${state.prefix}-pane ${props2.scrollable ? "tiny-split-scroll" : ""}`,
+      { [`${state.prefix}-pane-moving`]: state.isMoving }
+    ])
+  }, getUseOffset.state));
+  Object.assign(api2, __spreadProps(__spreadValues({
+    state,
+    getleftTopMin: getleftTopMin(state),
+    getrightBottomMin: getrightBottomMin(state)
+  }, getUseOffset.api), {
+    handleUp: handleUp({ api: api2, emit, off, state }),
+    getAnotherOffset: getAnotherOffset({ vm, state }),
+    handleMove: handleMove({ api: api2, emit, props: props2, vm, state }),
+    handleMousedown: handleMousedown({ api: api2, emit, on, props: props2, state, vm }),
+    buttonMousedown: buttonMousedown(),
+    buttonLeftTopClick: buttonLeftTopClick({ emit, props: props2, state }),
+    buttonRightBottomClick: buttonRightBottomClick({ emit, props: props2, state }),
+    getComputedThresholdValue: getComputedThresholdValue({ api: api2, props: props2, vm, state })
+  }));
+  return api2;
+};
+const useOffset = ({ nextTick, props: props2, vm, constants, hooks }) => {
+  const api2 = {};
+  const { computed, onMounted, onUnmounted, reactive, toRefs, watch } = hooks;
+  const state = reactive({
+    offset: 0,
+    anotherOffset: computed(() => 100 - state.offset),
+    valueIsPx: computed(() => typeof props2.modelValue === "string"),
+    isHorizontal: computed(() => props2.mode === constants.HORIZONTAL),
+    offsetSize: computed(() => state.isHorizontal ? "offsetWidth" : "offsetHeight"),
+    leftTopPane: 0,
+    totalPane: 0
+  });
+  Object.assign(api2, {
+    px2percent,
+    computeOffset: computeOffset({ api: api2, nextTick, props: props2, vm, state })
+  });
+  watch(() => props2.modelValue, api2.computeOffset, { immediate: true });
+  onMounted(() => {
+    on(window, "resize", api2.computeOffset);
+  });
+  onUnmounted(() => {
+    off(window, "resize", api2.computeOffset);
+  });
+  return {
+    api: api2,
+    state: toRefs(state)
+  };
+};
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc211(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$4 = defineComponent({
+  components: {
+    IconLeftWard: index$e(),
+    IconRightWard: index$a()
+  },
+  emits: ["moving", "mousemove", "mouseup", "moveend", "movestart", "update:modelValue", "left-top-click", "right-bottom-click"],
+  props: [].concat(props, ["modelValue", "mode", "leftTopMin", "rightBottomMin", "disabled", "triggerSimple", "collapseLeftTop", "collapseRightBottom", "threeAreas", "scrollable"]),
+  setup: function setup$111(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+function _sfc_render$4(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_left_ward = resolveComponent("icon-left-ward");
+  var _component_icon_right_ward = resolveComponent("icon-right-ward");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      ref: "outerWrapper",
+      class: normalizeClass(_ctx.state.wrapperClasses)
+    },
+    [_ctx.state.isHorizontal ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        class: normalizeClass(_ctx.state.prefix + "-horizontal")
+      },
+      [createBaseVNode(
+        "div",
+        {
+          style: normalizeStyle({
+            right: _ctx.state.anotherOffset + "%",
+            width: _ctx.state.anotherOffset !== 100 && _ctx.threeAreas ? _ctx.state.leftTopPane + "px" : ""
+          }),
+          class: normalizeClass([_ctx.state.paneClasses, "left-pane"])
+        },
+        [renderSlot(_ctx.$slots, "left")],
+        6
+        /* CLASS, STYLE */
+      ), createBaseVNode(
+        "div",
+        {
+          class: normalizeClass([_ctx.state.prefix + "-trigger-con", _ctx.state.prefix + "-trigger-con-vertical", _ctx.disabled ? _ctx.state.prefix + "-trigger-con-disabled" : "", _ctx.state.isMoving ? _ctx.state.prefix + "-trigger-con-drag" : "", _ctx.state.offset === 0 && _ctx.triggerSimple ? _ctx.state.prefix + "-trigger-con-left-active" : "", _ctx.triggerSimple ? _ctx.state.prefix + "-trigger-con-simple" : ""]),
+          style: normalizeStyle({
+            left: _ctx.threeAreas ? _ctx.state.leftTopPane + "px" : _ctx.state.offset + "%"
+          }),
+          onMousedown: _cache[5] || (_cache[5] = function() {
+            return _ctx.handleMousedown && _ctx.handleMousedown.apply(_ctx, arguments);
+          })
+        },
+        [renderSlot(_ctx.$slots, "trigger", {}, function() {
+          return [createBaseVNode(
+            "div",
+            {
+              class: normalizeClass([_ctx.state.prefix + "-trigger", _ctx.state.prefix + "-trigger-vertical"])
+            },
+            [!_ctx.triggerSimple ? (openBlock(), createElementBlock(
+              "div",
+              {
+                key: 0,
+                class: normalizeClass([_ctx.state.prefix + "-trigger-bar-con", "vertical"])
+              },
+              [_cache[0] || (setBlockTracking(-1), _cache[0] = (openBlock(), createElementBlock(
+                Fragment,
+                null,
+                renderList(3, function(i) {
+                  return createBaseVNode(
+                    "i",
+                    {
+                      class: normalizeClass(_ctx.state.prefix + "-trigger-bar"),
+                      key: "trigger-" + i
+                    },
+                    null,
+                    2
+                    /* CLASS */
+                  );
+                }),
+                64
+                /* STABLE_FRAGMENT */
+              )), setBlockTracking(1), _cache[0])],
+              2
+              /* CLASS */
+            )) : createCommentVNode("v-if", true)],
+            2
+            /* CLASS */
+          )];
+        }), _ctx.triggerSimple ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 0,
+            class: normalizeClass([_ctx.state.prefix + "-trigger-button", _ctx.state.prefix + "-trigger-left-button", _ctx.state.offset === 100 ? _ctx.state.prefix + "-trigger-button-active" : "", _ctx.state.offset === 100 || _ctx.collapseLeftTop ? _ctx.state.prefix + "-trigger-button-show" : ""]),
+            onMousedown: _cache[1] || (_cache[1] = function() {
+              return _ctx.buttonMousedown && _ctx.buttonMousedown.apply(_ctx, arguments);
+            }),
+            onClick: _cache[2] || (_cache[2] = function() {
+              return _ctx.buttonLeftTopClick && _ctx.buttonLeftTopClick.apply(_ctx, arguments);
+            })
+          },
+          [createVNode(_component_icon_left_ward, {
+            class: "tiny-svg-size"
+          })],
+          34
+          /* CLASS, NEED_HYDRATION */
+        )) : createCommentVNode("v-if", true), _ctx.triggerSimple ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 1,
+            class: normalizeClass([_ctx.state.prefix + "-trigger-button", _ctx.state.prefix + "-trigger-right-button", _ctx.state.offset === 0 ? _ctx.state.prefix + "-trigger-button-active" : "", _ctx.state.offset === 0 || _ctx.collapseRightBottom ? _ctx.state.prefix + "-trigger-button-show" : ""]),
+            onMousedown: _cache[3] || (_cache[3] = function() {
+              return _ctx.buttonMousedown && _ctx.buttonMousedown.apply(_ctx, arguments);
+            }),
+            onClick: _cache[4] || (_cache[4] = function() {
+              return _ctx.buttonRightBottomClick && _ctx.buttonRightBottomClick.apply(_ctx, arguments);
+            })
+          },
+          [createVNode(_component_icon_right_ward, {
+            class: "tiny-svg-size"
+          })],
+          34
+          /* CLASS, NEED_HYDRATION */
+        )) : createCommentVNode("v-if", true)],
+        38
+        /* CLASS, STYLE, NEED_HYDRATION */
+      ), createBaseVNode(
+        "div",
+        {
+          style: normalizeStyle({
+            left: _ctx.threeAreas ? _ctx.state.leftTopPane + "px" : _ctx.state.offset + "%",
+            width: _ctx.threeAreas ? "calc(100% - " + _ctx.state.leftTopPane + "px)" : ""
+          }),
+          class: normalizeClass([_ctx.state.paneClasses, "right-pane"])
+        },
+        [renderSlot(_ctx.$slots, "right")],
+        6
+        /* CLASS, STYLE */
+      )],
+      2
+      /* CLASS */
+    )) : (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 1,
+        class: normalizeClass(_ctx.state.prefix + "-vertical")
+      },
+      [createBaseVNode(
+        "div",
+        {
+          style: normalizeStyle({
+            bottom: _ctx.state.anotherOffset + "%",
+            height: _ctx.state.anotherOffset !== 100 && _ctx.threeAreas ? _ctx.state.leftTopPane + "px" : ""
+          }),
+          class: normalizeClass([_ctx.state.paneClasses, "top-pane"])
+        },
+        [renderSlot(_ctx.$slots, "top")],
+        6
+        /* CLASS, STYLE */
+      ), createBaseVNode(
+        "div",
+        {
+          class: normalizeClass([_ctx.state.prefix + "-trigger-con", _ctx.state.prefix + "-trigger-con-horizontal", _ctx.disabled ? _ctx.state.prefix + "-trigger-con-disabled" : "", _ctx.state.isMoving ? _ctx.state.prefix + "-trigger-con-drag" : "", _ctx.state.offset === 0 && _ctx.triggerSimple ? _ctx.state.prefix + "-trigger-con-top-active" : "", _ctx.triggerSimple ? _ctx.state.prefix + "-trigger-con-simple" : ""]),
+          style: normalizeStyle({
+            top: _ctx.threeAreas ? _ctx.state.leftTopPane + "px" : _ctx.state.offset + "%"
+          }),
+          onMousedown: _cache[11] || (_cache[11] = function() {
+            return _ctx.handleMousedown && _ctx.handleMousedown.apply(_ctx, arguments);
+          })
+        },
+        [renderSlot(_ctx.$slots, "trigger", {}, function() {
+          return [createBaseVNode(
+            "div",
+            {
+              class: normalizeClass([_ctx.state.prefix + "-trigger", _ctx.state.prefix + "-trigger-horizontal"])
+            },
+            [!_ctx.triggerSimple ? (openBlock(), createElementBlock(
+              "div",
+              {
+                key: 0,
+                class: normalizeClass([_ctx.state.prefix + "-trigger-bar-con", "horizontal"])
+              },
+              [_cache[6] || (setBlockTracking(-1), _cache[6] = (openBlock(), createElementBlock(
+                Fragment,
+                null,
+                renderList(3, function(i) {
+                  return createBaseVNode(
+                    "i",
+                    {
+                      class: normalizeClass(_ctx.state.prefix + "-trigger-bar"),
+                      key: "trigger-" + i
+                    },
+                    null,
+                    2
+                    /* CLASS */
+                  );
+                }),
+                64
+                /* STABLE_FRAGMENT */
+              )), setBlockTracking(1), _cache[6])],
+              2
+              /* CLASS */
+            )) : createCommentVNode("v-if", true)],
+            2
+            /* CLASS */
+          )];
+        }), _ctx.triggerSimple ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 0,
+            class: normalizeClass([_ctx.state.prefix + "-trigger-button", _ctx.state.prefix + "-trigger-top-button", _ctx.state.offset === 100 ? _ctx.state.prefix + "-trigger-button-active" : "", _ctx.state.offset === 100 || _ctx.collapseLeftTop ? _ctx.state.prefix + "-trigger-button-show" : ""]),
+            onMousedown: _cache[7] || (_cache[7] = function() {
+              return _ctx.buttonMousedown && _ctx.buttonMousedown.apply(_ctx, arguments);
+            }),
+            onClick: _cache[8] || (_cache[8] = function() {
+              return _ctx.buttonLeftTopClick && _ctx.buttonLeftTopClick.apply(_ctx, arguments);
+            })
+          },
+          [createVNode(_component_icon_left_ward, {
+            class: "tiny-svg-size"
+          })],
+          34
+          /* CLASS, NEED_HYDRATION */
+        )) : createCommentVNode("v-if", true), _ctx.triggerSimple ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 1,
+            class: normalizeClass([_ctx.state.prefix + "-trigger-button", _ctx.state.prefix + "-trigger-bottom-button", _ctx.state.offset === 0 ? _ctx.state.prefix + "-trigger-button-active" : "", _ctx.state.offset === 0 || _ctx.collapseRightBottom ? _ctx.state.prefix + "-trigger-button-show" : ""]),
+            onMousedown: _cache[9] || (_cache[9] = function() {
+              return _ctx.buttonMousedown && _ctx.buttonMousedown.apply(_ctx, arguments);
+            }),
+            onClick: _cache[10] || (_cache[10] = function() {
+              return _ctx.buttonRightBottomClick && _ctx.buttonRightBottomClick.apply(_ctx, arguments);
+            })
+          },
+          [createVNode(_component_icon_right_ward, {
+            class: "tiny-svg-size"
+          })],
+          34
+          /* CLASS, NEED_HYDRATION */
+        )) : createCommentVNode("v-if", true)],
+        38
+        /* CLASS, STYLE, NEED_HYDRATION */
+      ), createBaseVNode(
+        "div",
+        {
+          style: normalizeStyle({
+            top: _ctx.threeAreas ? _ctx.state.leftTopPane + "px" : _ctx.state.offset + "%",
+            height: _ctx.threeAreas ? "calc(100% - " + _ctx.state.leftTopPane + "px)" : ""
+          }),
+          class: normalizeClass([_ctx.state.paneClasses, "bottom-pane"])
+        },
+        [renderSlot(_ctx.$slots, "bottom")],
+        6
+        /* CLASS, STYLE */
+      )],
+      2
+      /* CLASS */
+    ))],
+    2
+    /* CLASS */
+  );
+}
+var pc = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["render", _sfc_render$4]]);
+const index$1 = "";
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var template = function template25(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc;
+};
+var $constants = {
+  PREFIX: "tiny-split",
+  HORIZONTAL: "horizontal",
+  VERTICAL: "vertical"
+};
+var Split = defineComponent({
+  name: $prefix + "Split",
+  props: _extends$1({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default24() {
+        return $constants;
+      }
+    },
+    modelValue: {
+      type: [Number, String],
+      default: 0.5
+    },
+    mode: {
+      validator: function validator(value3) {
+        var arr = [$constants.HORIZONTAL, $constants.VERTICAL];
+        for (var i = 0; i < arr.length; i++) {
+          if (value3 === arr[i]) {
+            return true;
+          }
+        }
+        return false;
+      },
+      default: $constants.HORIZONTAL
+    },
+    leftTopMin: {
+      type: [Number, String],
+      default: "40px"
+    },
+    rightBottomMin: {
+      type: [Number, String],
+      default: "40px"
+    },
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    "trigger-simple": {
+      type: Boolean,
+      default: false
+    },
+    "collapse-left-top": {
+      type: Boolean,
+      default: false
+    },
+    "collapse-right-bottom": {
+      type: Boolean,
+      default: false
+    },
+    "three-areas": {
+      type: Boolean,
+      default: false
+    },
+    scrollable: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  setup: function setup6(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version$1 = "3.16.0";
+Split.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Split.install = function(Vue) {
+  Vue.component(Split.name, Split);
+};
+Split.version = version$1;
+const index = "";
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc212(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _excluded = ["property"], _excluded2 = ["row"], _excluded3 = ["property"];
+function _objectWithoutPropertiesLoose(source, excluded) {
+  if (source == null)
+    return {};
+  var target = {};
+  for (var key in source) {
+    if (Object.prototype.hasOwnProperty.call(source, key)) {
+      if (excluded.indexOf(key) >= 0)
+        continue;
+      target[key] = source[key];
+    }
+  }
+  return target;
+}
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+function getStorage(storageKey, storageType, remoteMethod) {
+  return new Promise(function(resolve, reject) {
+    if (storageType === "local") {
+      var valueString = localStorage.getItem(storageKey);
+      var valueObj = toStringJSON_default(valueString);
+      resolve(valueObj);
+    } else if (storageType === "remote") {
+      remoteMethod().then(function(remoteString) {
+        var remoteObj = toStringJSON_default(remoteString);
+        remoteObj = remoteObj && remoteObj[storageKey] || null;
+        resolve(remoteObj);
+      }).catch(reject);
+    }
+  });
+}
+function setStorage(storageKey, valueObj, storageType, vm, eventName) {
+  if (storageType === "local") {
+    var valueString = toJSONString_default(valueObj);
+    localStorage.setItem(storageKey, valueString);
+  } else if (storageType === "remote") {
+    var _toJSONString;
+    var remoteString = toJSONString_default((_toJSONString = {}, _toJSONString[storageKey] = valueObj, _toJSONString));
+    vm.$emit(eventName, remoteString);
+  }
+}
+function generateId() {
+  var now = /* @__PURE__ */ new Date();
+  var suf = /GMT[-+]\d+/.exec(now.toString())[0].replace(/\+/, "E").replace(/-/, "W").replace(/0/g, "");
+  var name = format(now, "yyyy-MM-dd hh:mm:ss.SSS");
+  return {
+    id: now.getTime() + suf,
+    name
+  };
+}
+function createCustom(setting, userKey) {
+  var _generateId = generateId(), id = _generateId.id, name = _generateId.name;
+  return {
+    id,
+    name,
+    userKey,
+    setting: {
+      custom: setting
+    }
+  };
+}
+function mergeArray(toArr, fromArr) {
+  var result = [];
+  for (var i = 0; i < fromArr.length; i++) {
+    var fromItem = _extends({
+      order: null,
+      fixed: null,
+      visible: true,
+      sortable: false
+    }, fromArr[i]);
+    var toItem = void 0;
+    for (var j = 0; j < toArr.length; j++) {
+      if (fromItem.property === toArr[j].property) {
+        toItem = _extends({}, toArr[j]);
+        break;
+      }
+    }
+    result.push(extend(true, {}, toItem || {}, fromItem));
+  }
+  return result;
+}
+var _sfc_main$3 = defineComponent({
+  name: "TinyGridCustomSwitch",
+  components: {
+    TinyButton: Button,
+    TinySelect: Select,
+    TinyInput: Input,
+    TinyLayout: Layout,
+    TinyRow: Row,
+    TinyCol: Col,
+    TinyAlert: Alert,
+    TinyRadio: Radio,
+    TinyPopover: Popover,
+    TinyDialogBox: DialogBox
+  },
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  emits: ["init-storage"],
+  props: _extends({}, $props, {
+    customMode: String,
+    selectedTemplateVal: {
+      type: Object,
+      default: function _default25() {
+        return {};
+      }
+    },
+    historyConfig: {
+      type: Object,
+      default: function _default26() {
+        return {};
+      }
+    }
+  }),
+  data: function data() {
+    return {
+      IconSave: index$9(),
+      IconEdit: index$t(),
+      IconDel: index$i(),
+      saveDisabled: true,
+      selectDisabled: true,
+      applyDisabled: true,
+      editDisabled: true,
+      delDisabled: true,
+      options: [],
+      option: null,
+      selected: null,
+      selectedName: null,
+      visible: false,
+      userKey: null,
+      status: null,
+      editName: null,
+      selectedTemplateName: "",
+      savedTemplateName: "",
+      templateVisible: false,
+      saveMethod: "save"
+    };
+  },
+  computed: {
+    dialogTitle: function dialogTitle() {
+      return this.status === "apply" ? this.t("ui.grid.individuation.switchapply") : this.status === "edit" ? this.t("ui.grid.individuation.switchedit") : this.status === "del" ? this.t("ui.grid.individuation.switchdel") : this.t("ui.grid.individuation.switchconfirm");
+    }
+  },
+  watch: {
+    templateVisible: function templateVisible(val) {
+      val && (this.savedTemplateName = "");
+    },
+    selectedTemplateVal: {
+      handler: function handler() {
+        this.selectedTemplateName = this.selectedTemplateVal.name || "";
+        this.saveMethod = this.selectedTemplateVal.id ? "overwrite" : "save";
+      },
+      deep: true,
+      immediate: true
+    }
+  },
+  created: function created() {
+    var _this = this;
+    var _this$$grid$getVm = this.$grid.getVm("toolbar"), _this$$grid$getVm$set = _this$$grid$getVm.settingOpts, storageType = _this$$grid$getVm$set.storage, storageKey = _this$$grid$getVm$set.storageKey, toolbarId = _this$$grid$getVm.id;
+    if (!this.doCheck({
+      storageType
+    }))
+      return;
+    this.setUserKey();
+    getStorage(this.historyConfig.storageKey, storageType, this.historyConfig.remoteMethod).then(function(storeObj) {
+      var optionArr = (storeObj || {})[toolbarId] || [];
+      _this.options = optionArr.filter(function(opt) {
+        return _this.userKey ? opt.userKey === _this.userKey : true;
+      });
+      _this.$emit("init-storage", _this.options);
+      getStorage(storageKey, storageType, _this.historyConfig.remoteSelectedMethod).then(function(storeObj2) {
+        _this.option = (storeObj2 || {})[toolbarId] || {};
+        _this.enableAll();
+        _this.setSelected();
+      });
+    });
+  },
+  methods: {
+    t,
+    handleSave: function handleSave() {
+      this.status = "save";
+      this.visible = true;
+    },
+    handleSaveConfirm: function handleSaveConfirm(flag) {
+      var _this2 = this;
+      if (flag === "overwrite") {
+        if (this.customMode === "saas" && !this.selectedTemplateVal.id || this.customMode !== "saas" && !this.selected) {
+          return;
+        }
+      }
+      var toolbarVm = this.$grid.getVm("toolbar");
+      var customVm = toolbarVm.$refs.custom;
+      var item = createCustom(customVm.buildSettings(), this.userKey);
+      var toolbarId = toolbarVm.id;
+      var business = function business2(storeObj) {
+        storeObj = storeObj || {};
+        var optionArr = storeObj[toolbarId] || [];
+        if (flag === "save" || flag === "save-apply") {
+          if (flag === "save" && _this2.savedTemplateName) {
+            item.name = _this2.savedTemplateName;
+          }
+          _this2.options.push(item);
+          _this2.$emit("init-storage", _this2.options);
+          optionArr.unshift(item);
+        } else if (flag === "overwrite") {
+          var index3, customId, customName;
+          var selectedId = _this2.customMode === "saas" ? _this2.selectedTemplateVal.id : _this2.selected;
+          var selectedName = _this2.customMode === "saas" ? _this2.selectedTemplateVal.name : _this2.selectedName;
+          for (var i = 0; i < optionArr.length; i++) {
+            if (optionArr[i].id === selectedId) {
+              index3 = i;
+              customId = selectedId;
+              customName = selectedName;
+              break;
+            }
+          }
+          item.id = customId;
+          item.name = _this2.selectedTemplateName || customName;
+          optionArr.splice(index3, 1, item);
+          if (_this2.selectedTemplateName && _this2.selectedTemplateName !== customName) {
+            customVm.updateTemplateOptions(item.id, item.name);
+          }
+        }
+        storeObj[toolbarId] = optionArr;
+        return storeObj;
+      };
+      var postOperate = function postOperate2() {
+        if (flag === "save-apply" || flag === "overwrite") {
+          customVm.multipleHistoryId = item.id;
+          customVm.saveSettings(_this2.customMode === "saas");
+        }
+        _this2.visible = false;
+        _this2.status = "";
+      };
+      this.templateVisible = false;
+      this.doStorage(business, postOperate);
+      TINYModal.message({
+        message: t("ui.grid.saveSuccess"),
+        status: "success"
+      });
+    },
+    handleApply: function handleApply() {
+      if (this.historyConfig.applyDisabled || this.applyDisabled || !this.selected || this.option.id === this.selected) {
+        return;
+      }
+      this.status = "apply";
+      this.visible = true;
+    },
+    handleApplyConfirm: function handleApplyConfirm(flag) {
+      var _this3 = this;
+      if (flag === "yes") {
+        var toolbarVm = this.$grid.getVm("toolbar");
+        var toolbarId = toolbarVm.id;
+        var customVm = toolbarVm.$refs.custom;
+        var customId;
+        var noStore = true;
+        var business = function business2(storeObj) {
+          storeObj = storeObj || {};
+          var optionArr = storeObj[toolbarId] || [];
+          var selected = optionArr.find(function(opt) {
+            return opt.id === _this3.selected;
+          });
+          if (selected) {
+            delete selected.setting.custom.id;
+            customVm.columns = mergeArray(customVm.columns, selected.setting.custom.columns);
+            customVm.settings.pageSize = selected.setting.custom.pageSize;
+            customVm.settings.sortType = selected.setting.custom.sortType;
+            customId = selected.id;
+          }
+          storeObj[toolbarId] = optionArr;
+          return storeObj;
+        };
+        var postOperate = function postOperate2() {
+          customVm.multipleHistoryId = customId;
+          customVm.saveSettings();
+          _this3.visible = false;
+          _this3.status = "";
+        };
+        this.doStorage(business, postOperate, noStore);
+      }
+      this.visible = false;
+      this.status = "";
+    },
+    handleEdit: function handleEdit() {
+      if (this.historyConfig.editDisabled || this.editDisabled || !this.selected) {
+        return;
+      }
+      this.editName = this.selectedName;
+      this.status = "edit";
+      this.visible = true;
+    },
+    handleEditConfirm: function handleEditConfirm(flag) {
+      var _this4 = this;
+      if (flag === "yes") {
+        if (!this.editName)
+          return;
+        var _this$$grid$getVm2 = this.$grid.getVm("toolbar"), toolbarId = _this$$grid$getVm2.id;
+        var business = function business2(storeObj) {
+          storeObj = storeObj || {};
+          var optionArr = storeObj[toolbarId] || [];
+          var selected = optionArr.find(function(opt) {
+            return opt.id === _this4.selected;
+          });
+          selected && (selected.name = _this4.editName);
+          storeObj[toolbarId] = optionArr;
+          return storeObj;
+        };
+        var postOperate = function postOperate2() {
+          _this4.setSelected();
+          _this4.visible = false;
+          _this4.status = "";
+          _this4.editName = null;
+        };
+        this.doStorage(business, postOperate);
+      }
+      if (flag === "no") {
+        this.visible = false;
+        this.status = "";
+        this.editName = null;
+      }
+    },
+    handleDel: function handleDel() {
+      if (this.historyConfig.delDisabled || this.delDisabled || !this.selected) {
+        return;
+      }
+      this.status = "del";
+      this.visible = true;
+    },
+    handleDelConfirm: function handleDelConfirm(flag) {
+      var _this5 = this;
+      if (flag === "yes") {
+        var _this$$grid$getVm3 = this.$grid.getVm("toolbar"), toolbarId = _this$$grid$getVm3.id;
+        var business = function business2(storeObj) {
+          storeObj = storeObj || {};
+          var optionArr = storeObj[toolbarId] || [];
+          optionArr = optionArr.filter(function(opt) {
+            return opt.id !== _this5.selected;
+          });
+          storeObj[toolbarId] = optionArr;
+          return storeObj;
+        };
+        var postOperate = function postOperate2() {
+          _this5.setSelected();
+          _this5.visible = false;
+          _this5.status = "";
+        };
+        this.doStorage(business, postOperate);
+      }
+      if (flag === "no") {
+        this.visible = false;
+        this.status = "";
+      }
+    },
+    doStorage: function doStorage(business, postOperate, noStore) {
+      var _this6 = this;
+      if (noStore === void 0) {
+        noStore = false;
+      }
+      var toolbarVm = this.$grid.getVm("toolbar");
+      var storageType = toolbarVm.settingOpts.storage, toolbarId = toolbarVm.id;
+      getStorage(this.historyConfig.storageKey, storageType, this.historyConfig.remoteMethod).then(function(storeObj) {
+        storeObj = business(storeObj);
+        if (!noStore) {
+          setStorage(_this6.historyConfig.storageKey, storeObj, storageType, toolbarVm, "multiple-history");
+          _this6.options = storeObj[toolbarId].filter(function(opt) {
+            return _this6.userKey ? opt.userKey === _this6.userKey : true;
+          });
+        }
+        setTimeout(postOperate);
+      });
+    },
+    handleSelectChange: function handleSelectChange() {
+      var _this7 = this;
+      if (this.selected) {
+        var item = find_default(this.options, function(item2) {
+          return item2.id === _this7.selected;
+        });
+        this.selectedName = item ? item.name : null;
+      } else {
+        this.selectedName = null;
+      }
+      this.fixStatus();
+    },
+    doCheck: function doCheck(_ref) {
+      var storageType = _ref.storageType;
+      if (storageType === "remote") {
+        if (!this.historyConfig.remoteMethod || typeof this.historyConfig.remoteMethod !== "function") {
+          index$u.error("ui.grid.error.remoteMethod");
+          return false;
+        }
+        if (!this.historyConfig.remoteSelectedMethod || typeof this.historyConfig.remoteSelectedMethod !== "function") {
+          index$u.error("ui.grid.error.remoteSelectedMethod");
+          return false;
+        }
+      }
+      return true;
+    },
+    setUserKey: function setUserKey() {
+      this.userKey = ~["userId", "userAccount"].indexOf(this.historyConfig.userKey) ? this.$grid.$service ? this.$grid.$service.base.getEnvInfoSync().user[this.historyConfig.userKey] : null : null;
+    },
+    setSelected: function setSelected() {
+      var _this8 = this;
+      this.selected = this.option ? this.option.id : "";
+      if (this.selected) {
+        var item = find_default(this.options, function(item2) {
+          return item2.id === _this8.selected;
+        });
+        this.selected = item ? this.selected : null;
+        this.selectedName = item ? item.name : null;
+      }
+      this.fixStatus();
+    },
+    fixStatus: function fixStatus() {
+      this.applyDisabled = false;
+      this.editDisabled = false;
+      this.delDisabled = false;
+      if (!this.selectedName) {
+        this.editDisabled = true;
+        this.delDisabled = true;
+      }
+      if (!this.selectedName || this.option.id === this.selected) {
+        this.applyDisabled = true;
+      }
+      var toolbarVm = this.$grid.getVm("toolbar");
+      var customVm = toolbarVm.$refs.custom;
+      customVm.saveDisabled = false;
+      if (this.selected) {
+        customVm.saveDisabled = true;
+      }
+    },
+    enableAll: function enableAll() {
+      this.saveDisabled = false;
+      this.selectDisabled = false;
+      this.applyDisabled = false;
+      this.editDisabled = false;
+      this.delDisabled = false;
+    }
+  }
+});
+var _hoisted_1$2 = {
+  key: 0,
+  class: "radio-box"
+};
+var _hoisted_2$2 = {
+  class: "btn-box"
+};
+var _hoisted_3$2 = {
+  key: 1,
+  class: "tiny-grid-custom-switch"
+};
+var _hoisted_4$2 = {
+  class: "tiny-grid-custom-switch__title"
+};
+var _hoisted_5$2 = {
+  class: "tiny-grid-custom-switch__label"
+};
+var _hoisted_6$2 = {
+  class: "tiny-grid-custom-switch__content"
+};
+var _hoisted_7$2 = ["title"];
+var _hoisted_8$2 = ["title"];
+var _hoisted_9$2 = ["title"];
+var _hoisted_10$2 = {
+  key: 0,
+  class: "tiny-grid-custom-switch__confirm-btns"
+};
+var _hoisted_11$2 = {
+  class: "tiny-grid-custom-switch__del-tip"
+};
+var _hoisted_12$2 = {
+  class: "tiny-grid-custom-switch__del-tip"
+};
+var _hoisted_13$2 = {
+  class: "tiny-grid-custom-switch__del-tip"
+};
+var _hoisted_14$2 = {
+  class: "tiny-grid-custom-switch__del-tip"
+};
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_radio = resolveComponent("tiny-radio");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_popover = resolveComponent("tiny-popover");
+  var _component_tiny_alert = resolveComponent("tiny-alert");
+  var _component_tiny_col = resolveComponent("tiny-col");
+  var _component_tiny_row = resolveComponent("tiny-row");
+  var _component_tiny_select = resolveComponent("tiny-select");
+  var _component_tiny_layout = resolveComponent("tiny-layout");
+  var _component_tiny_dialog_box = resolveComponent("tiny-dialog-box");
+  return _ctx.customMode === "saas" ? (openBlock(), createBlock(_component_tiny_popover, {
+    key: 0,
+    ref: "popover",
+    width: "280",
+    modelValue: _ctx.templateVisible,
+    "onUpdate:modelValue": _cache[7] || (_cache[7] = function($event) {
+      return _ctx.templateVisible = $event;
+    }),
+    placement: "top",
+    "popper-class": "grid-toolbar-template-popover",
+    trigger: "manual"
+  }, {
+    reference: withCtx(function() {
+      return [createVNode(_component_tiny_button, {
+        class: "save-btn",
+        onClick: _cache[6] || (_cache[6] = function($event) {
+          return _ctx.templateVisible = !_ctx.templateVisible;
+        })
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.saveTemplate")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      })];
+    }),
+    default: withCtx(function() {
+      return [createBaseVNode("div", null, [_ctx.selectedTemplateVal.id ? (openBlock(), createElementBlock("div", _hoisted_1$2, [createVNode(_component_tiny_radio, {
+        modelValue: _ctx.saveMethod,
+        "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+          return _ctx.saveMethod = $event;
+        }),
+        label: "overwrite"
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.overwriteSave")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["modelValue"]), createVNode(_component_tiny_radio, {
+        modelValue: _ctx.saveMethod,
+        "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
+          return _ctx.saveMethod = $event;
+        }),
+        label: "save"
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.saveAs")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["modelValue"])])) : createCommentVNode("v-if", true), _ctx.saveMethod === "save" ? (openBlock(), createBlock(_component_tiny_input, {
+        key: 1,
+        modelValue: _ctx.savedTemplateName,
+        "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+          return _ctx.savedTemplateName = $event;
+        }),
+        type: "text",
+        placeholder: _ctx.t("ui.grid.individuation.defaultTemplateName")
+      }, null, 8, ["modelValue", "placeholder"])) : (openBlock(), createBlock(_component_tiny_input, {
+        key: 2,
+        modelValue: _ctx.selectedTemplateName,
+        "onUpdate:modelValue": _cache[3] || (_cache[3] = function($event) {
+          return _ctx.selectedTemplateName = $event;
+        }),
+        placeholder: _ctx.t("ui.grid.individuation.reserveTemplateName"),
+        type: "text"
+      }, null, 8, ["modelValue", "placeholder"])), createBaseVNode("div", _hoisted_2$2, [createVNode(_component_tiny_button, {
+        onClick: _cache[4] || (_cache[4] = function($event) {
+          return _ctx.templateVisible = false;
+        })
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.cancelBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }), createVNode(_component_tiny_button, {
+        type: "primary",
+        onClick: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.handleSaveConfirm(_ctx.saveMethod);
+        })
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.saveBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      })])])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["modelValue"])) : (openBlock(), createElementBlock("div", _hoisted_3$2, [createVNode(_component_tiny_layout, null, {
+    default: withCtx(function() {
+      return [createVNode(_component_tiny_row, {
+        "no-space": ""
+      }, {
+        default: withCtx(function() {
+          return [createVNode(_component_tiny_col, {
+            span: 12
+          }, {
+            default: withCtx(function() {
+              return [createBaseVNode("div", _hoisted_4$2, [_ctx.historyConfig.showTitle ? (openBlock(), createBlock(_component_tiny_alert, {
+                key: 0,
+                description: _ctx.historyConfig.title || _ctx.t("ui.grid.individuation.switchtitle"),
+                closable: false
+              }, null, 8, ["description"])) : createCommentVNode("v-if", true)])];
+            }),
+            _: 1
+            /* STABLE */
+          })];
+        }),
+        _: 1
+        /* STABLE */
+      }), createVNode(_component_tiny_row, {
+        "no-space": ""
+      }, {
+        default: withCtx(function() {
+          return [_ctx.historyConfig.showSave ? (openBlock(), createBlock(_component_tiny_col, {
+            key: 0,
+            span: 2
+          }, {
+            default: withCtx(function() {
+              return [createBaseVNode("div", null, [createVNode(_component_tiny_button, {
+                type: "primary",
+                size: "mini",
+                disabled: _ctx.historyConfig.saveDisabled || _ctx.saveDisabled,
+                onClick: _ctx.handleSave
+              }, {
+                default: withCtx(function() {
+                  return [createTextVNode(
+                    toDisplayString(_ctx.historyConfig.saveText || _ctx.t("ui.grid.individuation.switchsave")),
+                    1
+                    /* TEXT */
+                  )];
+                }),
+                _: 1
+                /* STABLE */
+              }, 8, ["disabled", "onClick"])])];
+            }),
+            _: 1
+            /* STABLE */
+          })) : createCommentVNode("v-if", true), createVNode(_component_tiny_col, {
+            span: 2
+          }, {
+            default: withCtx(function() {
+              return [createBaseVNode(
+                "div",
+                _hoisted_5$2,
+                toDisplayString(_ctx.historyConfig.labelText || _ctx.t("ui.grid.individuation.switchlabel")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }), createVNode(_component_tiny_col, {
+            span: 5
+          }, {
+            default: withCtx(function() {
+              return [createBaseVNode("div", _hoisted_6$2, [createVNode(_component_tiny_select, {
+                clearable: "",
+                ref: "select",
+                "value-field": "id",
+                "text-field": "name",
+                placeholder: _ctx.historyConfig.selectPlaceholder || _ctx.t("ui.select.placeholder"),
+                disabled: _ctx.historyConfig.selectDisabled || _ctx.selectDisabled,
+                options: _ctx.options,
+                onChange: _ctx.handleSelectChange,
+                modelValue: _ctx.selected,
+                "onUpdate:modelValue": _cache[8] || (_cache[8] = function($event) {
+                  return _ctx.selected = $event;
+                })
+              }, null, 8, ["placeholder", "disabled", "options", "onChange", "modelValue"])])];
+            }),
+            _: 1
+            /* STABLE */
+          }), createVNode(_component_tiny_col, {
+            span: 3
+          }, {
+            default: withCtx(function() {
+              return [createBaseVNode("div", null, [_ctx.historyConfig.showApply ? (openBlock(), createElementBlock("span", {
+                key: 0,
+                title: _ctx.historyConfig.applyTitle || _ctx.t("ui.grid.individuation.switchapply"),
+                class: normalizeClass(["tiny-grid-custom-switch__icon-btn", {
+                  "tiny-grid-custom-switch__icon-btn--disabled": _ctx.historyConfig.applyDisabled || _ctx.applyDisabled
+                }]),
+                onClick: _cache[9] || (_cache[9] = function() {
+                  return _ctx.handleApply && _ctx.handleApply.apply(_ctx, arguments);
+                })
+              }, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.historyConfig.applyIcon || _ctx.IconSave)))], 10, _hoisted_7$2)) : createCommentVNode("v-if", true), _ctx.historyConfig.showEdit ? (openBlock(), createElementBlock("span", {
+                key: 1,
+                title: _ctx.historyConfig.editTitle || _ctx.t("ui.grid.individuation.switchedit"),
+                class: normalizeClass(["tiny-grid-custom-switch__icon-btn", {
+                  "tiny-grid-custom-switch__icon-btn--disabled": _ctx.historyConfig.editDisabled || _ctx.editDisabled
+                }]),
+                onClick: _cache[10] || (_cache[10] = function() {
+                  return _ctx.handleEdit && _ctx.handleEdit.apply(_ctx, arguments);
+                })
+              }, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.historyConfig.editIcon || _ctx.IconEdit)))], 10, _hoisted_8$2)) : createCommentVNode("v-if", true), _ctx.historyConfig.showDel ? (openBlock(), createElementBlock("span", {
+                key: 2,
+                title: _ctx.historyConfig.delTitle || _ctx.t("ui.grid.individuation.switchdel"),
+                class: normalizeClass(["tiny-grid-custom-switch__icon-btn", {
+                  "tiny-grid-custom-switch__icon-btn--disabled": _ctx.historyConfig.delDisabled || _ctx.delDisabled
+                }]),
+                onClick: _cache[11] || (_cache[11] = function() {
+                  return _ctx.handleDel && _ctx.handleDel.apply(_ctx, arguments);
+                })
+              }, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.historyConfig.delIcon || _ctx.IconDel)))], 10, _hoisted_9$2)) : createCommentVNode("v-if", true)])];
+            }),
+            _: 1
+            /* STABLE */
+          })];
+        }),
+        _: 1
+        /* STABLE */
+      })];
+    }),
+    _: 1
+    /* STABLE */
+  }), createVNode(_component_tiny_dialog_box, {
+    top: "30vh",
+    width: "420px",
+    "dialog-class": "tiny-grid-custom-switch__dialog-box",
+    draggable: "",
+    "append-to-body": "",
+    visible: _ctx.visible,
+    "close-on-click-modal": false,
+    title: _ctx.dialogTitle,
+    "onUpdate:visible": _cache[22] || (_cache[22] = function($event) {
+      return _ctx.visible = $event;
+    })
+  }, {
+    footer: withCtx(function() {
+      return [~["apply", "edit", "del"].indexOf(_ctx.status) ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        [_ctx.status === "apply" ? (openBlock(), createElementBlock(
+          Fragment,
+          {
+            key: 0
+          },
+          [createVNode(_component_tiny_button, {
+            type: "primary",
+            onClick: _cache[16] || (_cache[16] = function($event) {
+              return _ctx.handleApplyConfirm("yes");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.grid.individuation.switchdelyes")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }), createVNode(_component_tiny_button, {
+            onClick: _cache[17] || (_cache[17] = function($event) {
+              return _ctx.handleApplyConfirm("no");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.grid.individuation.switchdelno")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          })],
+          64
+          /* STABLE_FRAGMENT */
+        )) : createCommentVNode("v-if", true), _ctx.status === "edit" ? (openBlock(), createElementBlock(
+          Fragment,
+          {
+            key: 1
+          },
+          [createVNode(_component_tiny_button, {
+            type: "primary",
+            disabled: !_ctx.editName,
+            onClick: _cache[18] || (_cache[18] = function($event) {
+              return _ctx.handleEditConfirm("yes");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.grid.individuation.switchdelyes")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["disabled"]), createVNode(_component_tiny_button, {
+            onClick: _cache[19] || (_cache[19] = function($event) {
+              return _ctx.handleEditConfirm("no");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.grid.individuation.switchdelno")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          })],
+          64
+          /* STABLE_FRAGMENT */
+        )) : createCommentVNode("v-if", true), _ctx.status === "del" ? (openBlock(), createElementBlock(
+          Fragment,
+          {
+            key: 2
+          },
+          [createVNode(_component_tiny_button, {
+            type: "primary",
+            onClick: _cache[20] || (_cache[20] = function($event) {
+              return _ctx.handleDelConfirm("yes");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.grid.individuation.switchdelyes")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }), createVNode(_component_tiny_button, {
+            onClick: _cache[21] || (_cache[21] = function($event) {
+              return _ctx.handleDelConfirm("no");
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.grid.individuation.switchdelno")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          })],
+          64
+          /* STABLE_FRAGMENT */
+        )) : createCommentVNode("v-if", true)],
+        64
+        /* STABLE_FRAGMENT */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    default: withCtx(function() {
+      return [_ctx.status === "save" ? (openBlock(), createElementBlock("div", _hoisted_10$2, [createVNode(_component_tiny_button, {
+        type: "primary",
+        onClick: _cache[12] || (_cache[12] = function($event) {
+          return _ctx.handleSaveConfirm("save");
+        })
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.switchonlytemp")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }), createVNode(_component_tiny_button, {
+        onClick: _cache[13] || (_cache[13] = function($event) {
+          return _ctx.handleSaveConfirm("save-apply");
+        })
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.switchtempapply")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }), createVNode(_component_tiny_button, {
+        onClick: _cache[14] || (_cache[14] = function($event) {
+          return _ctx.handleSaveConfirm("overwrite");
+        }),
+        disabled: !_ctx.selected
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.switchtempoverwrite")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["disabled"])])) : createCommentVNode("v-if", true), _ctx.status === "apply" ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 1
+        },
+        [createBaseVNode(
+          "div",
+          _hoisted_11$2,
+          toDisplayString(_ctx.selectedName),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "div",
+          _hoisted_12$2,
+          toDisplayString(_ctx.t("ui.grid.individuation.switchapplycon")),
+          1
+          /* TEXT */
+        )],
+        64
+        /* STABLE_FRAGMENT */
+      )) : createCommentVNode("v-if", true), _ctx.status === "edit" ? (openBlock(), createBlock(_component_tiny_input, {
+        key: 2,
+        modelValue: _ctx.editName,
+        "onUpdate:modelValue": _cache[15] || (_cache[15] = function($event) {
+          return _ctx.editName = $event;
+        })
+      }, null, 8, ["modelValue"])) : createCommentVNode("v-if", true), _ctx.status === "del" ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 3
+        },
+        [createBaseVNode(
+          "div",
+          _hoisted_13$2,
+          toDisplayString(_ctx.selectedName),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "div",
+          _hoisted_14$2,
+          toDisplayString(_ctx.t("ui.grid.individuation.switchdelcon")),
+          1
+          /* TEXT */
+        )],
+        64
+        /* STABLE_FRAGMENT */
+      )) : createCommentVNode("v-if", true)];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["visible", "title"])]));
+}
+var CustomSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$3]]);
+var _sfc_main$2 = defineComponent({
+  components: {
+    TinyModal: TINYModal,
+    TinyButton: Button,
+    TinyRadio: Radio$1,
+    TinyGrid: Grid,
+    TinyGridColumn: Column,
+    TinySelect: Select,
+    TinyOption: Option,
+    IconEyeopen: index$v(),
+    IconEyeclose: index$w(),
+    IconUnlock: index$8(),
+    IconLeftFrozen: index$f(),
+    IconRightFrozen: index$b(),
+    IconLock: index$d(),
+    IconMinus: index$c(),
+    IconDescending: index$h(),
+    IconAscending: index$j(),
+    IconHelp: index$g(),
+    TinyCustomSwitch: CustomSwitch
+  },
+  name: "TinyGridCustom",
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  props: _extends({}, $props, {
+    data: {
+      type: Array,
+      default: function _default33() {
+        return [];
+      }
+    },
+    other: {
+      type: Boolean,
+      default: true
+    },
+    initSettings: {
+      type: Object,
+      default: function _default43() {
+        return {
+          pageSizes: [10, 15, 20, 30, 50, 100],
+          pageSize: 10,
+          sortType: "page",
+          showIndex: false
+        };
+      }
+    },
+    value: Boolean,
+    sortable: Function,
+    rowClassName: [Function, String],
+    onBeforeMove: Function,
+    filter: String,
+    refresh: Boolean,
+    keys: {
+      type: Array,
+      default: function _default52() {
+        return [];
+      }
+    },
+    numberSorting: Boolean,
+    multipleHistory: [Object, Boolean],
+    resetMethod: Function,
+    showHideAll: Boolean,
+    fixedSorting: Boolean
+  }),
+  emits: ["input", "saveSettings", "resetSettings", "cancelSettings", "showModal"],
+  data: function data2() {
+    return {
+      activeName: "base",
+      animateShow: "base",
+      constants: {
+        icon: {
+          asc: "icon-ascending",
+          desc: "icon-descending",
+          left: "icon-left-frozen",
+          right: "icon-right-frozen"
+        }
+      },
+      columns: [],
+      fullColumn: [],
+      customColumns: [{
+        field: "level"
+      }, {
+        field: "property"
+      }],
+      settings: {
+        sortType: this.initSettings.sortType || "page",
+        pageSize: this.initSettings.pageSize || this.pageSizes[0] || 10,
+        columns: []
+      },
+      sortingOptions: [],
+      multipleHistoryId: null,
+      saveDisabled: false
+    };
+  },
+  created: function created2() {
+    this.columns = this.getColumnConfigs(this.data);
+  },
+  watch: {
+    value: function value() {
+      this.columns = this.getColumnConfigs(this.data);
+    },
+    data: {
+      handler: function handler2(val) {
+        this.columns = this.getColumnConfigs(val);
+      }
+    },
+    activeName: {
+      handler: function handler3(val) {
+        var _this9 = this;
+        setTimeout(function() {
+          _this9.animateShow = val;
+        }, 0);
+      }
+    }
+  },
+  computed: {
+    visible: {
+      get: function get() {
+        return this.value;
+      },
+      set: function set() {
+      }
+    },
+    showFixed: function showFixed() {
+      return this.$grid;
+    },
+    TinyTable: function TinyTable() {
+      return this.$grid && this.$grid.$refs.TinyTable || {};
+    },
+    isGroup: function isGroup() {
+      return this.TinyTable.isGroup;
+    },
+    historyConfig: function historyConfig() {
+      var multipleHistory = isNull_default(this.multipleHistory) || typeof this.multipleHistory === "boolean" ? {} : this.multipleHistory;
+      return extend(true, {}, this.initSettings.multipleHistory || {}, multipleHistory);
+    },
+    TinyTheme: function TinyTheme() {
+      var ctx = appProperties();
+      return (ctx.Tiny_theme ? ctx.Tiny_theme.value : "") || "aurora";
+    },
+    dropConfig: function dropConfig() {
+      return {
+        row: true,
+        column: false,
+        plugin: !this.isGroup && this.sortable,
+        onBeforeMove: this.onBeforeMove,
+        filter: this.filter,
+        refresh: this.refresh
+      };
+    }
+  },
+  methods: {
+    t,
+    getColumnConfigs: function getColumnConfigs(configs) {
+      var getColNodes = function getColNodes2(columns2) {
+        return columns2.map(function(_ref2) {
+          var id = _ref2.id, title = _ref2.title, property = _ref2.property, fixed = _ref2.fixed, visible = _ref2.visible, order = _ref2.order, sortable = _ref2.sortable, level = _ref2.level, children = _ref2.children;
+          if (property) {
+            var column = {
+              id,
+              title,
+              property,
+              fixed,
+              visible,
+              order,
+              sortable,
+              level,
+              children
+            };
+            children && (column.children = getColNodes2(children));
+            return column;
+          }
+          return void 0;
+        }).filter(function(i) {
+          return i;
+        });
+      };
+      if (configs.length && this.$grid) {
+        var _this$$grid$getTableC = this.$grid.getTableColumn(), collectColumn = _this$$grid$getTableC.collectColumn;
+        var columns = getColNodes(collectColumn);
+        columns = this.doFixedSorting(columns);
+        this.initNumberSorting(columns);
+        return columns;
+      }
+    },
+    doFixedSorting: function doFixedSorting(columns) {
+      if (this.isGroup || !this.fixedSorting) {
+        return columns;
+      }
+      var fixedLeft = [];
+      var normal = [];
+      var fixedRight = [];
+      columns.forEach(function(column) {
+        if (!column.fixed) {
+          normal.push(column);
+        } else if (column.fixed === "left") {
+          fixedLeft.push(column);
+        } else if (column.fixed === "right") {
+          fixedRight.push(column);
+        }
+      });
+      return [].concat(fixedLeft, normal, fixedRight);
+    },
+    initNumberSorting: function initNumberSorting(columns) {
+      var _this10 = this;
+      if (this.isGroup)
+        return;
+      this.sortingOptions = [];
+      columns.forEach(function(column, index3) {
+        column.sortingIndex = index3 + 1;
+        _this10.sortingOptions.push(column.sortingIndex);
+      });
+    },
+    handelNumberSorting: function handelNumberSorting(sort, row) {
+      var oldSort = this.columns.indexOf(row);
+      var newSort = sort - 1;
+      var columns = [];
+      this.columns.splice(oldSort, 1);
+      this.columns.splice(newSort, 0, row);
+      this.columns.forEach(function(column, index3) {
+        column.sortingIndex = index3 + 1;
+        columns.push(column);
+      });
+      this.columns = columns;
+    },
+    handleRowDropEnd: function handleRowDropEnd() {
+      if (this.isGroup)
+        return;
+      this.columns.forEach(function(column, index3) {
+        column.sortingIndex = index3 + 1;
+      });
+    },
+    renderNumberSorting: function renderNumberSorting(h2, _ref3) {
+      var row = _ref3.row;
+      return h2("span", row.sortingIndex + "");
+    },
+    handleCustomMouseMove: function handleCustomMouseMove() {
+      this.$refs.switch && this.$refs.switch.$refs.select && this.$refs.switch.$refs.select.blur();
+    },
+    handleInput: function handleInput(val) {
+      this.$emit("input", val);
+    },
+    handleFixed: function handleFixed(column) {
+      var index3 = this.columns.indexOf(column);
+      var splitIndex = 0;
+      var fixed = column.fixed;
+      if (!this.isGroup) {
+        column.fixed = fixed ? fixed === "left" ? "right" : void 0 : "left";
+        if (this.fixedSorting) {
+          this.columns = this.doFixedSorting(this.columns);
+          this.initNumberSorting(this.columns);
+        }
+      } else {
+        for (var i = 0; i < this.columns.length; i++) {
+          if (this.columns[i].children) {
+            splitIndex = i;
+            break;
+          }
+        }
+        var leftColumns = this.columns.slice(0, index3);
+        var rightColumns = this.columns.slice(index3 + 1);
+        var changeFixed = function changeFixed2(left, right, column2, type) {
+          var fixed2 = column2.fixed;
+          if (fixed2) {
+            if (!left.some(function(column3) {
+              return column3.fixed === type;
+            })) {
+              column2.fixed = void 0;
+            }
+          } else {
+            if (!right.length || !right.some(function(column3) {
+              return !column3.fixed;
+            })) {
+              column2.fixed = type;
+            }
+          }
+          if (fixed2 === column2.fixed) {
+            TINYModal.message({
+              id: "customSetting",
+              message: t("ui.grid.error.groupFixed"),
+              status: "warning"
+            });
+          }
+        };
+        if (index3 > splitIndex) {
+          changeFixed(leftColumns, rightColumns, column, "right");
+        } else {
+          changeFixed(rightColumns, leftColumns, column, "left");
+        }
+      }
+    },
+    handleOrder: function handleOrder(column) {
+      var columns = this.columns, tinyTable2 = this.tinyTable;
+      var sortOpts = tinyTable2.sortOpts;
+      var multipleColumnSort = sortOpts.multipleColumnSort;
+      column.order = tinyTable2.toggleColumnOrder(column);
+      if (column.order && !multipleColumnSort) {
+        arrayEach_default(columns, function(col) {
+          return col !== column && (col.order = null);
+        });
+      }
+    },
+    handleVisible: function handleVisible(column) {
+      var visibleColumnCount = this.tinyTable.visibleColumn.filter(function(item) {
+        return item.visible;
+      }).length;
+      if (column.visible && visibleColumnCount === 1) {
+        TINYModal.message({
+          id: "customSetting",
+          message: t("ui.grid.individuation.hideMsg"),
+          status: "warning"
+        });
+      } else {
+        column.visible = !column.visible;
+      }
+    },
+    showOrHideAllColumns: function showOrHideAllColumns(visible) {
+      this.columns.forEach(function(col) {
+        col.visible = visible;
+      });
+      this.showAll = visible;
+    },
+    handlerSetting: function handlerSetting(type, column) {
+      var invisibleCols = this.fullColumn.filter(function(item) {
+        return item.visible;
+      }).length;
+      switch (type) {
+        case "visible":
+          if (column[type] && invisibleCols === 1) {
+            TINYModal.message({
+              id: "customSetting",
+              message: t("ui.grid.individuation.hideMsg"),
+              status: "warning"
+            });
+          } else {
+            column[type] = !column[type];
+          }
+          break;
+        case "fixed":
+          this.handleFixed(column);
+          break;
+        case "order":
+          column[type] = column[type] ? column[type] === "asc" ? "desc" : null : "asc";
+          break;
+      }
+    },
+    buildSettings: function buildSettings() {
+      var props2 = ["order", "fixed", "visible", "sortable"].concat(this.keys);
+      this.settings.columns = mapTree_default(this.columns, function(_ref4) {
+        var property = _ref4.property, rest = _objectWithoutPropertiesLoose(_ref4, _excluded);
+        var node = {
+          property
+        };
+        props2.forEach(function(prop) {
+          node[prop] = rest[prop];
+        });
+        return node;
+      });
+      return this.settings;
+    },
+    saveSettings: function saveSettings() {
+      this.buildSettings();
+      this.$emit("saveSettings", this.settings);
+      this.handleClose();
+    },
+    resetSettings: function resetSettings(event) {
+      var _this11 = this;
+      if (this.activeName === "base") {
+        this.columns = this.getColumnConfigs(this.data);
+        if (this.settings.columns && this.settings.columns.length) {
+          this.settings.columns.forEach(function(setting) {
+            var column = find_default(_this11.columns, function(item) {
+              return item.property === setting.property;
+            });
+            if (column) {
+              Object.assign(setting, column);
+            }
+          });
+        }
+      } else if (this.activeName === "other") {
+        this.settings.sortType = this.initSettings.sortType;
+        this.settings.pageSize = this.initSettings.pageSize;
+      }
+      event && this.$emit("resetSettings", this.settings);
+    },
+    cancelSettings: function cancelSettings() {
+      this.resetSettings();
+      this.$emit("cancelSettings");
+      this.$emit("input", false);
+      this.handleClose();
+    },
+    handleClose: function handleClose2() {
+      this.$emit("showModal", false);
+    },
+    handleReset: function handleReset(event) {
+      var _this12 = this;
+      var equal = function equal2(cols1, cols2) {
+        var props1 = [];
+        var props2 = [];
+        cols1.forEach(function(col) {
+          return col && col.property && props1.push(col.property);
+        });
+        cols2.forEach(function(col) {
+          return col && col.property && props2.push(col.property);
+        });
+        return props1.length === props2.length && props1.sort().join(",") === props2.sort().join(",");
+      };
+      if (typeof this.resetMethod === "function") {
+        this.resetMethod().then(function(sourceSettings) {
+          _this12.buildSettings();
+          var _ref5 = sourceSettings || {}, columns = _ref5.columns, sortType = _ref5.sortType, pageSize = _ref5.pageSize;
+          if (columns && columns.length && _this12.settings.columns && _this12.settings.columns.length) {
+            _this12.settings.columns.forEach(function(setting) {
+              var source = find_default(columns, function(item) {
+                return item.property === setting.property;
+              });
+              var target = find_default(_this12.columns, function(item) {
+                return item.property === setting.property;
+              });
+              if (source) {
+                Object.assign(setting, source);
+                Object.assign(target, source);
+              }
+            });
+            if (equal(columns, _this12.settings.columns)) {
+              var settingColumns = [];
+              var gridColumns = [];
+              columns.forEach(function(source) {
+                var settingCol = find_default(_this12.settings.columns, function(item) {
+                  return source.property === item.property;
+                });
+                var targetCol = find_default(_this12.columns, function(item) {
+                  return source.property === item.property;
+                });
+                settingColumns.push(settingCol);
+                gridColumns.push(targetCol);
+              });
+              _this12.settings.columns = settingColumns;
+              _this12.columns = gridColumns;
+            }
+          }
+          sortType && (_this12.settings.sortType = sortType);
+          pageSize && (_this12.settings.pageSize = pageSize);
+        });
+      } else {
+        this.resetSettings(event);
+      }
+    },
+    visibleTitle: function visibleTitle(row) {
+      if (row.visible) {
+        return t("ui.grid.individuation.colConfigs.visible");
+      } else {
+        return t("ui.grid.individuation.colConfigs.invisible");
+      }
+    },
+    sortTitle: function sortTitle(row) {
+      if (row.sortable) {
+        if (row.order) {
+          if (row.order === "asc") {
+            return t("ui.grid.individuation.colConfigs.asc");
+          } else {
+            return t("ui.grid.individuation.colConfigs.desc");
+          }
+        } else {
+          return t("ui.grid.individuation.colConfigs.unsorted");
+        }
+      } else {
+        return "";
+      }
+    },
+    fixedTitle: function fixedTitle(row) {
+      if (row.fixed) {
+        if (row.fixed === "left") {
+          return t("ui.grid.individuation.colConfigs.frozenLeft");
+        } else {
+          return t("ui.grid.individuation.colConfigs.frozenRight");
+        }
+      } else {
+        return t("ui.grid.individuation.colConfigs.unfrozen");
+      }
+    }
+  }
+});
+var _hoisted_1$1 = {
+  key: 0,
+  class: "tiny-grid-custom tiny-grid__wrapper"
+};
+var _hoisted_2$1 = {
+  class: "tiny-grid-custom__tabs"
+};
+var _hoisted_3$1 = {
+  class: "tiny-grid-custom__tabs-head"
+};
+var _hoisted_4$1 = {
+  class: "tiny-grid-custom__tabs-body"
+};
+var _hoisted_5$1 = {
+  class: "tiny-grid-custom__alert"
+};
+var _hoisted_6$1 = {
+  key: 0,
+  class: "setting-icon"
+};
+var _hoisted_7$1 = ["title"];
+var _hoisted_8$1 = ["title"];
+var _hoisted_9$1 = ["title"];
+var _hoisted_10$1 = {
+  class: "tiny-grid-custom__alert"
+};
+var _hoisted_11$1 = {
+  class: "tiny-grid-custom__setting other-setting"
+};
+var _hoisted_12$1 = {
+  class: "setting-item"
+};
+var _hoisted_13$1 = {
+  class: "label"
+};
+var _hoisted_14$1 = {
+  class: "selection"
+};
+var _hoisted_15$1 = {
+  class: "setting-item"
+};
+var _hoisted_16$1 = {
+  class: "label"
+};
+var _hoisted_17$1 = {
+  class: "selection"
+};
+var _hoisted_18$1 = ["dir"];
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_grid_column = resolveComponent("tiny-grid-column");
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_select = resolveComponent("tiny-select");
+  var _component_tiny_grid = resolveComponent("tiny-grid");
+  var _component_tiny_radio = resolveComponent("tiny-radio");
+  var _component_tiny_custom_switch = resolveComponent("tiny-custom-switch");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_modal = resolveComponent("tiny-modal");
+  return openBlock(), createBlock(_component_tiny_modal, {
+    width: "600",
+    title: _ctx.t("ui.grid.individuation.title"),
+    modelValue: _ctx.visible,
+    "onUpdate:modelValue": _cache[6] || (_cache[6] = function($event) {
+      return _ctx.visible = $event;
+    }),
+    onInput: _ctx.handleInput,
+    onClose: _ctx.handleClose,
+    onCustomMousemove: _ctx.handleCustomMouseMove
+  }, {
+    default: withCtx(function() {
+      return [_ctx.visible ? (openBlock(), createElementBlock("div", _hoisted_1$1, [createBaseVNode("div", _hoisted_2$1, [createBaseVNode("div", _hoisted_3$1, [createBaseVNode("ul", null, [createBaseVNode(
+        "li",
+        {
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx.activeName = "base";
+          }),
+          class: normalizeClass({
+            "tiny-grid-custom__tabs-selected": _ctx.activeName === "base"
+          })
+        },
+        [createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.base.title")),
+          1
+          /* TEXT */
+        )],
+        2
+        /* CLASS */
+      ), _ctx.other ? (openBlock(), createElementBlock(
+        "li",
+        {
+          key: 0,
+          onClick: _cache[1] || (_cache[1] = function($event) {
+            return _ctx.activeName = "other";
+          }),
+          class: normalizeClass({
+            "tiny-grid-custom__tabs-selected": _ctx.activeName === "other"
+          })
+        },
+        [createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.title")),
+          1
+          /* TEXT */
+        )],
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true)])]), createBaseVNode("div", _hoisted_4$1, [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tabs-body-item", _ctx.animateShow === "base" ? "active-item" : ""])
+        },
+        [createBaseVNode("div", _hoisted_5$1, [(openBlock(), createBlock(resolveDynamicComponent("icon-help"), {
+          class: "tiny-svg-size"
+        })), createBaseVNode(
+          "p",
+          null,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.base.tips")),
+          1
+          /* TEXT */
+        )]), createVNode(_component_tiny_grid, {
+          class: "tiny-grid-custom__setting",
+          "auto-resize": true,
+          data: _ctx.columns,
+          "row-class-name": _ctx.rowClassName,
+          "row-key": "",
+          "drop-config": _ctx.dropConfig,
+          "tree-config": {
+            children: "children"
+          },
+          "show-header": false,
+          "edit-config": {
+            trigger: "click",
+            mode: "cell",
+            showStatus: true
+          },
+          "max-height": _ctx.historyConfig.tableMaxHeight,
+          onRowDropEnd: _ctx.handleRowDropEnd
+        }, {
+          default: withCtx(function() {
+            return [_ctx.initSettings.showIndex ? (openBlock(), createBlock(_component_tiny_grid_column, {
+              key: 0,
+              type: "index",
+              width: "60"
+            })) : createCommentVNode("v-if", true), createVNode(_component_tiny_grid_column, {
+              field: "title",
+              "tree-node": ""
+            }), createVNode(_component_tiny_grid_column, {
+              field: "property",
+              width: "120px",
+              "class-name": "setting-item"
+            }, {
+              default: withCtx(function(_ref6) {
+                var row = _ref6.row, data6 = _objectWithoutPropertiesLoose(_ref6, _excluded2);
+                return [!row.children ? (openBlock(), createElementBlock("div", _hoisted_6$1, [createBaseVNode("span", {
+                  class: "icon",
+                  title: _ctx.visibleTitle(row)
+                }, [(openBlock(), createBlock(resolveDynamicComponent(row.visible ? "icon-eyeopen" : "icon-eyeclose"), {
+                  class: normalizeClass([{
+                    open: row.visible
+                  }]),
+                  onClick: function onClick($event) {
+                    return _ctx.handlerSetting("visible", row, data6);
+                  }
+                }, null, 8, ["class", "onClick"]))], 8, _hoisted_7$1), createBaseVNode("span", {
+                  class: "icon",
+                  title: _ctx.sortTitle(row)
+                }, [(openBlock(), createBlock(resolveDynamicComponent(row.order ? _ctx.constants.icon[row.order] : "icon-minus"), {
+                  class: normalizeClass({
+                    sort: row.order,
+                    "is-visible": !row.sortable
+                  }),
+                  onClick: function onClick($event) {
+                    return _ctx.handlerSetting("order", row);
+                  }
+                }, null, 8, ["class", "onClick"]))], 8, _hoisted_8$1), createBaseVNode("span", {
+                  class: "icon",
+                  title: _ctx.fixedTitle(row)
+                }, [row.level === 1 && _ctx.showFixed ? (openBlock(), createBlock(resolveDynamicComponent(row.fixed ? _ctx.constants.icon[row.fixed] : "icon-unlock"), {
+                  key: 0,
+                  class: normalizeClass({
+                    lock: row.fixed
+                  }),
+                  onClick: function onClick($event) {
+                    return _ctx.handlerSetting("fixed", row);
+                  }
+                }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true)], 8, _hoisted_9$1)])) : createCommentVNode("v-if", true)];
+              }),
+              _: 1
+              /* STABLE */
+            }), _ctx.numberSorting && !_ctx.isGroup ? (openBlock(), createBlock(_component_tiny_grid_column, {
+              key: 1,
+              width: "100px",
+              editor: {},
+              renderer: _ctx.renderNumberSorting
+            }, {
+              edit: withCtx(function(_ref7) {
+                var row = _ref7.row;
+                return [createVNode(_component_tiny_select, {
+                  modelValue: row.sortingIndex,
+                  "onUpdate:modelValue": function onUpdateModelValue($event) {
+                    return row.sortingIndex = $event;
+                  },
+                  onChange: function onChange($event) {
+                    return _ctx.handelNumberSorting($event, row);
+                  }
+                }, {
+                  default: withCtx(function() {
+                    return [(openBlock(true), createElementBlock(
+                      Fragment,
+                      null,
+                      renderList(_ctx.sortingOptions, function(item) {
+                        return openBlock(), createBlock(_component_tiny_option, {
+                          key: item,
+                          label: item,
+                          value: item
+                        }, null, 8, ["label", "value"]);
+                      }),
+                      128
+                      /* KEYED_FRAGMENT */
+                    ))];
+                  }),
+                  _: 2
+                  /* DYNAMIC */
+                }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["renderer"])) : createCommentVNode("v-if", true)];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["data", "row-class-name", "drop-config", "max-height", "onRowDropEnd"])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.activeName === "base"]]), withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tabs-body-item", _ctx.animateShow === "other" ? "active-item" : ""])
+        },
+        [createBaseVNode("div", _hoisted_10$1, [(openBlock(), createBlock(resolveDynamicComponent("icon-help"), {
+          class: "tiny-svg-size"
+        })), createBaseVNode(
+          "p",
+          null,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.tips")),
+          1
+          /* TEXT */
+        )]), createBaseVNode("ul", _hoisted_11$1, [createBaseVNode("li", _hoisted_12$1, [createBaseVNode(
+          "span",
+          _hoisted_13$1,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.sortType")),
+          1
+          /* TEXT */
+        ), createBaseVNode("span", _hoisted_14$1, [createVNode(_component_tiny_radio, {
+          modelValue: _ctx.settings.sortType,
+          "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+            return _ctx.settings.sortType = $event;
+          }),
+          label: "page"
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.currPageSort")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue"]), createVNode(_component_tiny_radio, {
+          modelValue: _ctx.settings.sortType,
+          "onUpdate:modelValue": _cache[3] || (_cache[3] = function($event) {
+            return _ctx.settings.sortType = $event;
+          }),
+          label: "all"
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.allDataSort")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue"])])]), createBaseVNode("li", _hoisted_15$1, [createBaseVNode(
+          "span",
+          _hoisted_16$1,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.pageSize")),
+          1
+          /* TEXT */
+        ), createBaseVNode("span", _hoisted_17$1, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.initSettings.pageSizes, function(item, index3) {
+            return openBlock(), createBlock(_component_tiny_radio, {
+              key: index3,
+              modelValue: _ctx.settings.pageSize,
+              "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+                return _ctx.settings.pageSize = $event;
+              }),
+              label: item
+            }, {
+              default: withCtx(function() {
+                return [createTextVNode(
+                  toDisplayString(item),
+                  1
+                  /* TEXT */
+                )];
+              }),
+              _: 2
+              /* DYNAMIC */
+            }, 1032, ["modelValue", "label"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))])])])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.activeName === "other"]]), _ctx.multipleHistory && _ctx.activeName === "base" ? (openBlock(), createBlock(_component_tiny_custom_switch, {
+        key: 0,
+        ref: "switch",
+        "history-config": _ctx.historyConfig
+      }, null, 8, ["history-config"])) : createCommentVNode("v-if", true)])]), !_ctx.multipleHistory || _ctx.multipleHistory && _ctx.activeName === "base" ? (openBlock(), createElementBlock("div", {
+        key: 0,
+        class: "tiny-grid-custom__footer",
+        dir: _ctx.TinyTheme === "saas" ? "rtl" : "ltr"
+      }, [createVNode(_component_tiny_button, {
+        type: "primary",
+        onClick: _ctx.saveSettings,
+        disabled: _ctx.saveDisabled
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.saveBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick", "disabled"]), createVNode(_component_tiny_button, {
+        onClick: _ctx.handleReset
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.resetBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick"]), _ctx.showHideAll ? (openBlock(), createBlock(_component_tiny_button, {
+        key: 0,
+        onClick: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.showOrHideAllColumns(!_ctx.showAll);
+        })
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.showAll ? _ctx.t("ui.grid.individuation.hideAll") : _ctx.t("ui.grid.individuation.showAll")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      })) : createCommentVNode("v-if", true), createVNode(_component_tiny_button, {
+        onClick: _ctx.cancelSettings
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.cancelBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick"])], 8, _hoisted_18$1)) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["title", "modelValue", "onInput", "onClose", "onCustomMousemove"]);
+}
+var GridCustom = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
+var _sfc_main$1 = {
+  name: "TinyGridCustomSelect",
+  components: {
+    TinySelect: Select,
+    TinyOption: Option,
+    TinyIconSetting: GlobalConfig$1.icon.custom
+  },
+  props: {
+    data: {
+      type: Array,
+      default: function _default62() {
+        return [];
+      }
+    },
+    setting: {
+      type: [Object, Boolean]
+    }
+  },
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  data: function data3() {
+    return {
+      columns: [],
+      multivalue: []
+    };
+  },
+  created: function created3() {
+    this.columns = this.getColumnConfigs(this.data);
+  },
+  watch: {
+    data: {
+      handler: function handler4(val) {
+        this.columns = this.getColumnConfigs(val);
+        this.multivalue = this.columns.filter(function(item) {
+          return item.visible;
+        }).map(function(item) {
+          return item.property;
+        });
+      }
+    }
+  },
+  methods: {
+    columnChange: function columnChange(values) {
+      this.columns.forEach(function(column) {
+        column.visible = values.includes(column.property);
+      });
+      this.$emit("saveSettings", {
+        columns: this.columns
+      });
+    },
+    getColumnConfigs: function getColumnConfigs2(configs) {
+      var _this13 = this;
+      var getColNodes = function getColNodes2(columns2) {
+        return columns2.map(function(_ref8) {
+          var id = _ref8.id, title = _ref8.title, property = _ref8.property, fixed = _ref8.fixed, visible = _ref8.visible, order = _ref8.order, sortable = _ref8.sortable, level = _ref8.level, children = _ref8.children;
+          if (property) {
+            var _this13$setting;
+            var column = {
+              id,
+              title,
+              property,
+              fixed,
+              visible,
+              order,
+              sortable,
+              level,
+              children
+            };
+            column.disabled = Boolean((_this13$setting = _this13.setting) == null ? void 0 : _this13$setting.customDisable == null ? void 0 : _this13$setting.customDisable(column));
+            children && (column.children = getColNodes2(children));
+            return column;
+          }
+        }).filter(function(i) {
+          return i;
+        });
+      };
+      if (configs.length && this.$grid) {
+        var _this$$grid$getTableC2 = this.$grid.getTableColumn(), collectColumn = _this$$grid$getTableC2.collectColumn;
+        var columns = getColNodes(collectColumn);
+        return columns;
+      }
+    }
+  }
+};
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_icon_setting = resolveComponent("tiny-icon-setting");
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_select = resolveComponent("tiny-select");
+  return openBlock(), createBlock(_component_tiny_select, {
+    modelValue: $data.multivalue,
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return $data.multivalue = $event;
+    }),
+    onChange: $options.columnChange,
+    placeholder: "请选择",
+    placement: "bottom-end",
+    searchable: true,
+    multiple: ""
+  }, {
+    reference: withCtx(function() {
+      return [createVNode(_component_tiny_icon_setting)];
+    }),
+    default: withCtx(function() {
+      return [(openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList($data.columns, function(item) {
+          return openBlock(), createBlock(_component_tiny_option, {
+            key: item.property,
+            disabled: item.disabled,
+            label: item.title,
+            value: item.property
+          }, null, 8, ["disabled", "label", "value"]);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["modelValue", "onChange"]);
+}
+var GridCustomSelect = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
+var position = ["left", "right"];
+var TitleRender = {
+  props: ["column"],
+  render: function render2() {
+    var column = this.column, $parent = this.$parent;
+    var title = column.title;
+    var tinyTable2 = $parent.tinyTable;
+    return h("span", {
+      class: ["custom-saas-title-render", column.id]
+    }, [typeof title === "function" ? title(h, {
+      $table: tinyTable2,
+      column
+    }) : title]);
+  }
+};
+var _sfc_main = /* @__PURE__ */ defineComponent({
+  components: {
+    TinyModal: TINYModal,
+    TinyButton: Button,
+    TinySplit: Split,
+    TinySelect: Select,
+    TinyOption: Option,
+    TinyDropdown: Dropdown,
+    TinyDropdownMenu: DropdownMenu,
+    TinyDropdownItem: DropdownItem,
+    TinyCustomSwitch: CustomSwitch,
+    IconClose: index$k(),
+    IconLeftFrozen: index$f(),
+    IconRightFrozen: index$b(),
+    IconDescending: index$h(),
+    IconAscending: index$j(),
+    TinyCheckbox: Checkbox,
+    TinyCheckboxGroup: CheckboxGroup,
+    TinyRadioGroup: RadioGroup,
+    TinyTooltip: Tooltip,
+    TinyRadio: Radio,
+    TinySearch: Search,
+    TitleRender
+  },
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  name: "TinyGridCustom",
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  emits: ["input", "saveSettings", "resetSettings", "cancelSettings", "showModal"],
+  props: _extends({}, $props, {
+    data: {
+      type: Array,
+      default: function _default72() {
+        return [];
+      }
+    },
+    alwaysShowColumns: {
+      type: Array,
+      default: function _default82() {
+        return [];
+      }
+    },
+    columnsGroup: {
+      type: Array,
+      default: function _default92() {
+        return [];
+      }
+    },
+    other: {
+      type: Boolean,
+      default: true
+    },
+    search: {
+      type: Boolean,
+      default: true
+    },
+    initSettings: {
+      type: Object,
+      default: function _default102() {
+        return {
+          pageSizes: [10, 15, 20, 30, 50, 100],
+          pageSize: 10,
+          sortType: "page",
+          showIndex: false
+        };
+      }
+    },
+    customMode: String,
+    value: Boolean,
+    sortable: Function,
+    rowClassName: [Function, String],
+    onBeforeMove: Function,
+    filter: String,
+    refresh: Boolean,
+    keys: {
+      type: Array,
+      default: function _default112() {
+        return [];
+      }
+    },
+    numberSorting: Boolean,
+    multipleHistory: [Object, Boolean],
+    resetMethod: Function,
+    hideSortColumn: Boolean,
+    hideFixedColumn: Boolean
+  }),
+  data: function data4() {
+    return {
+      maxFixedNum: 6,
+      tooltipContent: "",
+      tooltipVisible: false,
+      templateVisible: false,
+      activeName: "base",
+      animateShow: "base",
+      selectedTemplate: "",
+      lastSelectIndex: 0,
+      searchValue: "",
+      splitVal: 0.4,
+      columns: [],
+      searchColumns: [],
+      fullColumn: [],
+      customColumns: [{
+        field: "level"
+      }, {
+        field: "property"
+      }],
+      settings: {
+        sortType: this.initSettings.sortType || "page",
+        pageSize: this.initSettings.pageSize || this.pageSizes[0] || 10,
+        columns: []
+      },
+      originColumns: [],
+      groupedColumns: [],
+      checkedColumns: [],
+      sortingOptions: [],
+      templateOptions: [],
+      multipleHistoryId: null,
+      saveDisabled: false,
+      updatedSorting: false,
+      opt: {}
+    };
+  },
+  setup: function setup7() {
+    var _useDefer = useDefer(80), defer = _useDefer.defer, reset = _useDefer.reset;
+    return {
+      defer,
+      reset
+    };
+  },
+  created: function created4() {
+    this.initOpt();
+    this.columns = this.getColumnConfigs(this.data);
+  },
+  watch: {
+    value: function value2(val) {
+      var _this14 = this;
+      if (val) {
+        this.initOpt();
+        this.columns = this.getColumnConfigs(this.data);
+        this.groupedColumns = this.getGroupedColumns();
+        this.checkedColumns = this.columns.filter(function(col) {
+          return col.visible;
+        }).map(function(col) {
+          return col.property;
+        });
+        setTimeout(function() {
+          _this14.initDragEvent();
+          _this14.initDrag = true;
+        }, 100);
+        this.reset();
+      } else {
+        this.selectedTemplate = "";
+      }
+    },
+    checkedColumns: {
+      handler: function handler5(val) {
+        this.columns.forEach(function(column) {
+          column.visible = !!~val.indexOf(column.property);
+        });
+        this.columns = this.initSortingColumns(this.columns);
+      },
+      deep: !isVue2
+    },
+    data: {
+      handler: function handler6(val) {
+        this.columns = this.getColumnConfigs(val);
+        this.groupedColumns = this.getGroupedColumns();
+      }
+    },
+    activeName: {
+      handler: function handler7(val) {
+        var _this15 = this;
+        setTimeout(function() {
+          _this15.animateShow = val;
+        }, 0);
+      }
+    }
+  },
+  computed: {
+    visible: {
+      get: function get2() {
+        return this.value;
+      },
+      set: function set2() {
+      }
+    },
+    showFixed: function showFixed2() {
+      return this.$grid;
+    },
+    tinyTable: function tinyTable() {
+      return this.$grid && this.$grid.$refs.tinyTable || {};
+    },
+    isGroup: function isGroup2() {
+      return this.tinyTable.isGroup;
+    },
+    historyConfig: function historyConfig2() {
+      var multipleHistory = isNull_default(this.multipleHistory) || typeof this.multipleHistory === "boolean" ? {} : this.multipleHistory;
+      return extend(true, {}, this.initSettings.multipleHistory || {}, multipleHistory);
+    },
+    tinyTheme: function tinyTheme() {
+      return this.tinyTable.tinyTheme || GlobalConfig$1.themes.AURORA;
+    },
+    visibleColumns: function visibleColumns() {
+      return this.columns.filter(function(column) {
+        return column.visible;
+      });
+    },
+    selectedTemplateVal: function selectedTemplateVal() {
+      var _this16 = this;
+      return this.templateOptions.find(function(item) {
+        return item.id === _this16.selectedTemplate;
+      }) || {};
+    },
+    isIndeterminate: {
+      get: function get3() {
+        return !(this.checkedColumns.length === 0 || this.checkedColumns.length === this.columns.length);
+      }
+    },
+    checkAll: {
+      get: function get4() {
+        return this.checkedColumns.length === this.columns.length;
+      },
+      set: function set3(val) {
+        if (val) {
+          this.checkedColumns = this.columns.map(function(item) {
+            return item.property;
+          });
+        } else {
+          this.checkedColumns = [].concat(this.alwaysShowColumns);
+        }
+      }
+    },
+    dropConfig: function dropConfig2() {
+      return {
+        row: true,
+        column: false,
+        plugin: !this.isGroup && this.sortable,
+        onBeforeMove: this.onBeforeMove,
+        filter: this.filter,
+        refresh: this.refresh
+      };
+    }
+  },
+  methods: {
+    t,
+    initOpt: function initOpt() {
+      this.opt = {
+        asc: {
+          value: "asc",
+          label: t("ui.grid.individuation.colConfigs.asc")
+        },
+        desc: {
+          value: "desc",
+          label: t("ui.grid.individuation.colConfigs.desc")
+        },
+        left: {
+          value: "left",
+          label: t("ui.grid.individuation.colConfigs.frozenLeft")
+        },
+        right: {
+          value: "right",
+          label: t("ui.grid.individuation.colConfigs.frozenRight")
+        },
+        cancelSort: {
+          value: "cancel",
+          label: t("ui.grid.individuation.colConfigs.unsort")
+        },
+        cancelFixed: {
+          value: "cancel",
+          label: t("ui.grid.individuation.colConfigs.unfreeze")
+        }
+      };
+    },
+    initStorage: function initStorage(option) {
+      this.templateOptions = option;
+    },
+    updateTemplateOptions: function updateTemplateOptions(id, name) {
+      this.templateOptions.forEach(function(opt) {
+        if (opt.id === id) {
+          opt.name = name;
+        }
+      });
+    },
+    getRowClassName: function getRowClassName(row) {
+      if (typeof this.rowClassName === "function") {
+        return this.rowClassName({
+          row
+        });
+      } else {
+        return this.rowClassName;
+      }
+    },
+    getColumnConfigs: function getColumnConfigs3(configs) {
+      var alwaysShowColumns = this.alwaysShowColumns;
+      var getColNodes = function getColNodes2(columns2) {
+        return columns2.map(function(_ref9) {
+          var id = _ref9.id, title = _ref9.title, property = _ref9.property, fixed = _ref9.fixed, visible = _ref9.visible, order = _ref9.order, sortable = _ref9.sortable, level = _ref9.level, children = _ref9.children;
+          if (property) {
+            var column = {
+              id,
+              title,
+              property,
+              alwaysShow: alwaysShowColumns.includes(property),
+              fixed,
+              visible,
+              order,
+              sortable,
+              level,
+              children,
+              numberSortVisible: false
+            };
+            children && (column.children = getColNodes2(children));
+            return column;
+          }
+          return void 0;
+        }).filter(function(i) {
+          return i;
+        });
+      };
+      if (configs.length && this.$grid) {
+        var _this$$grid$getTableC3 = this.$grid.getTableColumn(), collectColumn = _this$$grid$getTableC3.collectColumn;
+        var columns = getColNodes(collectColumn);
+        this.originColumns = [].concat(columns);
+        var sortColumns = this.initSortingColumns(columns);
+        this.initSortAndFixedOption(columns);
+        return sortColumns;
+      } else {
+        return [];
+      }
+    },
+    initSortAndFixedOption: function initSortAndFixedOption(columns) {
+      var _this17 = this;
+      if (this.isGroup)
+        return;
+      columns.forEach(function(column) {
+        column.sortOption = column.order === "asc" ? [_this17.opt.desc, _this17.opt.cancelSort] : column.order === "desc" ? [_this17.opt.asc, _this17.opt.cancelSort] : [_this17.opt.asc, _this17.opt.desc];
+        column.fixedOption = column.fixed === "left" ? [_this17.opt.right, _this17.opt.cancelFixed] : column.fixed === "right" ? [_this17.opt.left, _this17.opt.cancelFixed] : [_this17.opt.left, _this17.opt.right];
+      });
+    },
+    initSortingColumns: function initSortingColumns(columns) {
+      var _this18 = this;
+      if (this.isGroup)
+        return;
+      var leftCols = [];
+      var rightCols = [];
+      var visibleCols = [];
+      var hiddenCols = [];
+      columns.forEach(function(col) {
+        if (col.visible) {
+          if (col.fixed === "left") {
+            leftCols.push(col);
+          } else if (col.fixed === "right") {
+            rightCols.push(col);
+          } else {
+            visibleCols.push(col);
+          }
+        } else {
+          hiddenCols.push(col);
+        }
+      });
+      var result = [].concat(leftCols, visibleCols, rightCols, hiddenCols);
+      this.sortingOptions = [];
+      result.forEach(function(column, index3) {
+        column.sortingIndex = index3 + 1;
+        column.visible && _this18.sortingOptions.push(column.sortingIndex);
+      });
+      return result;
+    },
+    getGroupedColumns: function getGroupedColumns() {
+      var _this19 = this;
+      var result = [];
+      if (this.columnsGroup.length) {
+        this.columnsGroup.forEach(function(item) {
+          var data6 = [];
+          item.data.forEach(function(col) {
+            var column = _this19.originColumns.find(function(c) {
+              return c.property === col;
+            });
+            if (column) {
+              data6.push(column);
+            }
+          });
+          result.push({
+            label: item.label,
+            data: data6
+          });
+        });
+      } else {
+        result.push({
+          label: "",
+          data: [].concat(this.originColumns)
+        });
+      }
+      return result;
+    },
+    selectedTemplateChange: function selectedTemplateChange() {
+      var _this20 = this;
+      var selected = this.templateOptions.find(function(opt) {
+        return opt.id === _this20.selectedTemplate;
+      });
+      if (selected) {
+        this.columns = mergeArray(this.columns, selected.setting.custom.columns);
+        this.columns = this.initSortingColumns(this.columns);
+        this.initSortAndFixedOption(this.columns);
+        this.groupedColumns = this.getGroupedColumns();
+        this.checkedColumns = this.columns.filter(function(col) {
+          return col.visible;
+        }).map(function(col) {
+          return col.property;
+        });
+        this.settings.pageSize = selected.setting.custom.pageSize;
+        this.multipleHistoryId = selected.id;
+      }
+    },
+    sortSelectChange: function sortSelectChange(index3) {
+      var newIndex = index3 - 1;
+      var oldIndex = this.lastSelectIndex - 1;
+      this.handleFixed("sort", 1, 1, oldIndex, newIndex);
+    },
+    selectFocus: function selectFocus(event, index3) {
+      this.lastSelectIndex = index3;
+    },
+    // 莫同步AUI, search组件的input事件的第一个参数就是value.
+    searchChange: function searchChange(val) {
+      var _this21 = this;
+      var getRenderedTitle = function getRenderedTitle2(col) {
+        var result = "";
+        if (typeof col.title === "function") {
+          var titleElm = _this21.$el.querySelector(".custom-saas-title-render." + col.id);
+          result = titleElm && titleElm.textContent || "";
+          result = result.toUpperCase();
+        } else if (col.title) {
+          result = col.title && col.title.toUpperCase();
+        }
+        return result;
+      };
+      this.searchColumns = this.columns.filter(function(col) {
+        var title = getRenderedTitle(col);
+        var upperVal = val && val.toUpperCase();
+        return title.includes(upperVal);
+      });
+    },
+    handelClearAll: function handelClearAll() {
+      this.checkedColumns = [].concat(this.alwaysShowColumns);
+    },
+    hiddenColumn: function hiddenColumn(val) {
+      var index3 = this.checkedColumns.findIndex(function(col) {
+        return col === val;
+      });
+      this.checkedColumns.splice(index3, 1);
+    },
+    handleSortItemClick: function handleSortItemClick(item) {
+      var column = this.columns.find(function(col) {
+        return col.property === item.property;
+      });
+      if (column) {
+        column.order = item.value === "cancel" ? void 0 : item.value;
+        column.sortOption = column.order === "asc" ? [this.opt.desc, this.opt.cancelSort] : column.order === "desc" ? [this.opt.asc, this.opt.cancelSort] : [this.opt.asc, this.opt.desc];
+      }
+    },
+    handleFixedItemClick: function handleFixedItemClick(item) {
+      var index3 = this.columns.findIndex(function(col) {
+        return col.property === item.property;
+      });
+      var column = this.columns[index3];
+      item.fixed = column.fixed;
+      if (column) {
+        if (position.includes(item.value) && !position.includes(column.fixed) && this.fixedNumberIsMax()) {
+          TINYModal.message({
+            message: t("ui.grid.individuation.maxFreezeNumMsg"),
+            status: "warning",
+            id: "drop-fixed-max-waring"
+          });
+          return;
+        }
+        this.columns.splice(index3, 1);
+        var leftIdx = this.columns.reduce(function(result, col, index213) {
+          return col.fixed === "left" && col.visible ? index213 : result;
+        }, -1);
+        var rightIdx = this.columns.findIndex(function(col) {
+          return col.fixed === "right" && col.visible;
+        });
+        column.fixed = item.value === "cancel" ? void 0 : item.value;
+        if (item.value === "left") {
+          this.columns.splice(leftIdx >= 0 ? leftIdx + 1 : 0, 0, column);
+          column.fixedOption = [this.opt.right, this.opt.cancelFixed];
+        } else if (item.value === "right") {
+          this.columns.splice(rightIdx >= 0 ? rightIdx : this.visibleColumns.length, 0, column);
+          column.fixedOption = [this.opt.left, this.opt.cancelFixed];
+        } else {
+          if (item.fixed === "left" && leftIdx >= 0) {
+            this.columns.splice(leftIdx + 1, 0, column);
+          } else if (item.fixed === "right" && rightIdx >= 0) {
+            this.columns.splice(rightIdx, 0, column);
+          } else {
+            this.columns.splice(index3, 0, column);
+          }
+          column.fixedOption = [this.opt.left, this.opt.right];
+        }
+        this.updateSortingIndex();
+      }
+    },
+    fixedNumberIsMax: function fixedNumberIsMax() {
+      return this.columns.filter(function(col) {
+        return col.visible && col.fixed;
+      }).length >= this.maxFixedNum;
+    },
+    updateSortingIndex: function updateSortingIndex() {
+      this.columns.forEach(function(col, index3) {
+        col.sortingIndex = index3 + 1;
+      });
+    },
+    handleDropdownMouseenter: function handleDropdownMouseenter($event, index3) {
+      var childNode = this.$refs.list.children[index3];
+      childNode && childNode.classList.add("show-dropdown");
+    },
+    handleDropdownMouseleave: function handleDropdownMouseleave($event, index3) {
+      var childNode = this.$refs.list.children[index3];
+      childNode && childNode.classList.remove("show-dropdown");
+    },
+    handleMouseenter: function handleMouseenter($event) {
+      var dom = $event.target;
+      var text = dom.textContent;
+      var tooltip = this.$refs.tooltip;
+      if (dom.scrollWidth > dom.offsetWidth) {
+        tooltip.state.referenceElm = dom;
+        tooltip.state.popperElm && (tooltip.state.popperElm.style.display = "none");
+        tooltip.doDestroy();
+        this.tooltipVisible = true;
+        this.tooltipContent = text;
+        setTimeout(tooltip.updatePopper, 20);
+      }
+    },
+    handleMouseleave: function handleMouseleave() {
+      this.tooltipVisible = false;
+    },
+    handleInput: function handleInput2(val) {
+      this.$emit("input", val);
+    },
+    buildSettings: function buildSettings2() {
+      var props2 = ["order", "fixed", "visible", "sortable"].concat(this.keys);
+      !this.updatedSorting && (this.columns = [].concat(this.groupedColumns[0].data));
+      this.settings.columns = mapTree_default(this.columns, function(_ref10) {
+        var property = _ref10.property, rest = _objectWithoutPropertiesLoose(_ref10, _excluded3);
+        var node = {
+          property
+        };
+        props2.forEach(function(prop) {
+          node[prop] = rest[prop];
+        });
+        return node;
+      });
+      return this.settings;
+    },
+    saveSettings: function saveSettings2(val) {
+      var visible = typeof val === "boolean" ? val : false;
+      this.buildSettings();
+      this.$emit("saveSettings", this.settings, visible);
+      !visible && this.handleClose();
+    },
+    resetSettings: function resetSettings2(event) {
+      var _this22 = this;
+      if (this.activeName === "base") {
+        this.columns = this.getColumnConfigs(this.data);
+        this.checkedColumns = this.columns.filter(function(col) {
+          return col.visible;
+        }).map(function(col) {
+          return col.property;
+        });
+        if (this.settings.columns && this.settings.columns.length) {
+          this.settings.columns.forEach(function(setting) {
+            var column = find_default(_this22.columns, function(item) {
+              return item.property === setting.property;
+            });
+            if (column) {
+              Object.assign(setting, column);
+            }
+          });
+        }
+      } else if (this.activeName === "other") {
+        this.settings.pageSize = this.initSettings.pageSize;
+      }
+      event && this.$emit("resetSettings", this.settings);
+    },
+    cancelSettings: function cancelSettings2() {
+      this.resetSettings();
+      this.$emit("cancelSettings");
+      this.$emit("input", false);
+      this.handleClose();
+    },
+    handleClose: function handleClose22() {
+      this.updatedSorting = false;
+      this.$emit("showModal", false);
+    },
+    handleReset: function handleReset2(event) {
+      var _this23 = this;
+      var equal = function equal2(cols1, cols2) {
+        var props1 = [];
+        var props2 = [];
+        cols1.forEach(function(col) {
+          return col && col.property && props1.push(col.property);
+        });
+        cols2.forEach(function(col) {
+          return col && col.property && props2.push(col.property);
+        });
+        return props1.length === props2.length && props1.sort().join(",") === props2.sort().join(",");
+      };
+      if (typeof this.resetMethod === "function") {
+        this.resetMethod().then(function(sourceSettings) {
+          _this23.buildSettings();
+          var _ref11 = sourceSettings || {}, columns = _ref11.columns, sortType = _ref11.sortType, pageSize = _ref11.pageSize;
+          if (columns && columns.length && _this23.settings.columns && _this23.settings.columns.length) {
+            _this23.settings.columns.forEach(function(setting) {
+              var source = find_default(columns, function(item) {
+                return item.property === setting.property;
+              });
+              var target = find_default(_this23.columns, function(item) {
+                return item.property === setting.property;
+              });
+              if (source) {
+                Object.assign(setting, source);
+                Object.assign(target, source);
+              }
+            });
+            if (equal(columns, _this23.settings.columns)) {
+              var settingColumns = [];
+              var gridColumns = [];
+              columns.forEach(function(source) {
+                var settingCol = find_default(_this23.settings.columns, function(item) {
+                  return source.property === item.property;
+                });
+                var targetCol = find_default(_this23.columns, function(item) {
+                  return source.property === item.property;
+                });
+                settingColumns.push(settingCol);
+                gridColumns.push(targetCol);
+              });
+              _this23.settings.columns = settingColumns;
+              _this23.columns = gridColumns;
+            }
+          }
+          sortType && (_this23.settings.sortType = sortType);
+          pageSize && (_this23.settings.pageSize = pageSize);
+        });
+      } else {
+        this.resetSettings(event);
+      }
+    },
+    handleFixed: function handleFixed2(type, from, to, oldIndex, newIndex) {
+      if (from === to && oldIndex !== newIndex) {
+        var newCol = this.columns[newIndex];
+        var oldCol = this.columns[oldIndex];
+        if (type === "sort" && position.includes(newCol.fixed) && !position.includes(oldCol.fixed) && this.fixedNumberIsMax()) {
+          this.columns[oldIndex].sortingIndex = this.lastSelectIndex;
+          TINYModal.message({
+            message: t("ui.grid.individuation.maxFreezeNumMsg"),
+            status: "warning",
+            id: "select-fixed-max-waring"
+          });
+          return;
+        }
+        if (newCol.fixed === "left") {
+          oldCol.fixed = "left";
+          oldCol.fixedOption = [this.opt.right, this.opt.cancelFixed];
+        } else if (newCol.fixed === "right") {
+          oldCol.fixed = "right";
+          oldCol.fixedOption = [this.opt.left, this.opt.cancelFixed];
+        } else {
+          oldCol.fixed = void 0;
+          oldCol.fixedOption = [this.opt.left, this.opt.right];
+        }
+        this.columns.splice(oldIndex, 1);
+        this.columns.splice(newIndex, 0, oldCol);
+        this.updateSortingIndex();
+        this.updatedSorting = true;
+      }
+    },
+    initDragEvent: function initDragEvent() {
+      var _this24 = this;
+      var handleUpdate = function handleUpdate2(e) {
+        var from = e.from, to = e.to, oldIndex = e.oldIndex, newIndex = e.newIndex;
+        _this24.handleFixed("drag", from, to, oldIndex, newIndex);
+      };
+      if (!this.dropConfig.plugin)
+        return;
+      this.dropConfig.plugin.create(this.$refs.list, {
+        animation: 200,
+        draggable: '[data-tag="tiny-grid-toolbar-item"]',
+        handle: ".toolbar-drag-item",
+        onUpdate: handleUpdate,
+        onMove: function onMove(e) {
+          if (e.related && (e.related.classList.contains("left") || e.related.classList.contains("right")) && !(e.dragged.classList.contains("left") || e.dragged.classList.contains("right")) && _this24.fixedNumberIsMax()) {
+            TINYModal.message({
+              message: t("ui.grid.individuation.maxFreezeNumMsg"),
+              status: "warning",
+              id: "drag-fixed-max-waring"
+            });
+            return false;
+          }
+          var rowName = e.dragged && e.dragged.getAttribute("data-row");
+          var row = _this24.columns.find(function(row2) {
+            return row2.property === rowName;
+          }) || {};
+          var cancel = typeof _this24.onBeforeMove === "function" ? _this24.onBeforeMove("row", row, e) : true;
+          return cancel === void 0 || cancel;
+        }
+      });
+    },
+    clickSortDisplay: function clickSortDisplay(column, index3) {
+      var _this25 = this;
+      column.numberSortVisible = true;
+      this.columns.forEach(function(col) {
+        return col !== column && (col.numberSortVisible = false);
+      });
+      this.$nextTick(function() {
+        var selectVm = _this25.$refs["select" + index3];
+        selectVm = isArray(selectVm) && selectVm[0] ? selectVm[0] : null;
+        if (selectVm) {
+          selectVm.focus();
+        }
+      });
+    },
+    clickEditorOutside: function clickEditorOutside() {
+      this.columns.forEach(function(col) {
+        return col.numberSortVisible = false;
+      });
+    }
+  }
+});
+var _hoisted_1 = {
+  key: 0,
+  class: "tiny-grid-custom"
+};
+var _hoisted_2 = {
+  class: "tiny-grid-custom__tabs"
+};
+var _hoisted_3 = {
+  class: "tiny-grid-custom__tabs-head"
+};
+var _hoisted_4 = {
+  class: "tiny-grid-custom__tabs-body"
+};
+var _hoisted_5 = {
+  class: "left-panel"
+};
+var _hoisted_6 = {
+  key: 0,
+  class: "select-template"
+};
+var _hoisted_7 = {
+  key: 2
+};
+var _hoisted_8 = {
+  key: 3
+};
+var _hoisted_9 = {
+  class: "check-all-btn"
+};
+var _hoisted_10 = {
+  class: "right-panel"
+};
+var _hoisted_11 = {
+  class: "header"
+};
+var _hoisted_12 = {
+  key: 0
+};
+var _hoisted_13 = {
+  key: 1
+};
+var _hoisted_14 = {
+  ref: "list"
+};
+var _hoisted_15 = ["data-row"];
+var _hoisted_16 = {
+  key: 0,
+  style: {
+    "display": "contents"
+  }
+};
+var _hoisted_17 = {
+  key: 0,
+  class: "drag-icon toolbar-drag-item"
+};
+var _hoisted_18 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  null,
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_19 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  null,
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_20 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  null,
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_21 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  null,
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_22 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  null,
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_23 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  null,
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_24 = [_hoisted_18, _hoisted_19, _hoisted_20, _hoisted_21, _hoisted_22, _hoisted_23];
+var _hoisted_25 = {
+  class: "sort-number"
+};
+var _hoisted_26 = {
+  key: 0,
+  class: "sort-number-editor"
+};
+var _hoisted_27 = ["onClick"];
+var _hoisted_28 = {
+  key: 1,
+  class: "dropdown-column"
+};
+var _hoisted_29 = {
+  key: 2,
+  class: "set-btn"
+};
+var _hoisted_30 = ["onClick"];
+var _hoisted_31 = {
+  class: "other-setting"
+};
+var _hoisted_32 = {
+  class: "label"
+};
+var _hoisted_33 = ["dir"];
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_select = resolveComponent("tiny-select");
+  var _component_tiny_search = resolveComponent("tiny-search");
+  var _component_title_render = resolveComponent("title-render");
+  var _component_tiny_checkbox = resolveComponent("tiny-checkbox");
+  var _component_tiny_checkbox_group = resolveComponent("tiny-checkbox-group");
+  var _component_icon_left_frozen = resolveComponent("icon-left-frozen");
+  var _component_icon_right_frozen = resolveComponent("icon-right-frozen");
+  var _component_tiny_dropdown_item = resolveComponent("tiny-dropdown-item");
+  var _component_tiny_dropdown_menu = resolveComponent("tiny-dropdown-menu");
+  var _component_tiny_dropdown = resolveComponent("tiny-dropdown");
+  var _component_icon_ascending = resolveComponent("icon-ascending");
+  var _component_icon_descending = resolveComponent("icon-descending");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_split = resolveComponent("tiny-split");
+  var _component_tiny_radio = resolveComponent("tiny-radio");
+  var _component_tiny_radio_group = resolveComponent("tiny-radio-group");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_custom_switch = resolveComponent("tiny-custom-switch");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_modal = resolveComponent("tiny-modal");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createBlock(_component_tiny_modal, {
+    width: "800",
+    title: " ",
+    class: "tiny-grid-toolbar-modal",
+    modelValue: _ctx.visible,
+    "onUpdate:modelValue": _cache[13] || (_cache[13] = function($event) {
+      return _ctx.visible = $event;
+    }),
+    onInput: _ctx.handleInput,
+    onClose: _ctx.handleClose
+  }, {
+    default: withCtx(function() {
+      return [_ctx.visible ? (openBlock(), createElementBlock("div", _hoisted_1, [createBaseVNode("div", _hoisted_2, [createBaseVNode("div", _hoisted_3, [createBaseVNode("ul", null, [createBaseVNode(
+        "li",
+        {
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx.activeName = "base";
+          }),
+          class: normalizeClass({
+            "tiny-grid-custom__tabs-selected": _ctx.activeName === "base" && _ctx.other,
+            "tiny-grid-custom__tabs-base": !_ctx.other
+          })
+        },
+        [createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx.t("ui.grid.individuation.columnSet")),
+          1
+          /* TEXT */
+        )],
+        2
+        /* CLASS */
+      ), _ctx.other ? (openBlock(), createElementBlock(
+        "li",
+        {
+          key: 0,
+          onClick: _cache[1] || (_cache[1] = function($event) {
+            return _ctx.activeName = "other";
+          }),
+          class: normalizeClass({
+            "tiny-grid-custom__tabs-selected": _ctx.activeName === "other"
+          })
+        },
+        [createBaseVNode(
+          "span",
+          null,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.title")),
+          1
+          /* TEXT */
+        )],
+        2
+        /* CLASS */
+      )) : createCommentVNode("v-if", true)])]), createBaseVNode("div", _hoisted_4, [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tabs-body-item", _ctx.animateShow === "base" ? "active-item" : ""])
+        },
+        [createVNode(_component_tiny_split, {
+          modelValue: _ctx.splitVal,
+          "onUpdate:modelValue": _cache[10] || (_cache[10] = function($event) {
+            return _ctx.splitVal = $event;
+          }),
+          "trigger-simple": "",
+          "collapse-left-top": ""
+        }, {
+          left: withCtx(function() {
+            return [createBaseVNode("div", _hoisted_5, [_ctx.multipleHistory ? (openBlock(), createElementBlock("div", _hoisted_6, [createVNode(_component_tiny_select, {
+              modelValue: _ctx.selectedTemplate,
+              "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+                return _ctx.selectedTemplate = $event;
+              }),
+              shape: "filter",
+              label: _ctx.t("ui.grid.individuation.selectTemplate"),
+              onChange: _ctx.selectedTemplateChange,
+              clearable: ""
+            }, {
+              default: withCtx(function() {
+                return [(openBlock(true), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(_ctx.templateOptions, function(item) {
+                    return openBlock(), createBlock(_component_tiny_option, {
+                      key: item.id,
+                      label: item.name,
+                      value: item.id
+                    }, null, 8, ["label", "value"]);
+                  }),
+                  128
+                  /* KEYED_FRAGMENT */
+                ))];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["modelValue", "label", "onChange"])])) : createCommentVNode("v-if", true), _ctx.search ? (openBlock(), createBlock(_component_tiny_search, {
+              key: 1,
+              modelValue: _ctx.searchValue,
+              "onUpdate:modelValue": _cache[3] || (_cache[3] = function($event) {
+                return _ctx.searchValue = $event;
+              }),
+              onInput: _ctx.searchChange,
+              placeholder: _ctx.t("ui.grid.individuation.toolbar.search")
+            }, null, 8, ["modelValue", "onInput", "placeholder"])) : createCommentVNode("v-if", true), _ctx.searchValue ? (openBlock(), createElementBlock("div", _hoisted_7, [createVNode(_component_tiny_checkbox_group, {
+              modelValue: _ctx.checkedColumns,
+              "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+                return _ctx.checkedColumns = $event;
+              }),
+              vertical: ""
+            }, {
+              default: withCtx(function() {
+                return [(openBlock(true), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(_ctx.searchColumns, function(column) {
+                    return openBlock(), createBlock(_component_tiny_checkbox, {
+                      label: column.property,
+                      disabled: column.alwaysShow,
+                      key: column.property
+                    }, {
+                      default: withCtx(function() {
+                        return [createVNode(_component_title_render, {
+                          column
+                        }, null, 8, ["column"])];
+                      }),
+                      _: 2
+                      /* DYNAMIC */
+                    }, 1032, ["label", "disabled"]);
+                  }),
+                  128
+                  /* KEYED_FRAGMENT */
+                ))];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["modelValue"])])) : (openBlock(), createElementBlock("div", _hoisted_8, [createBaseVNode("div", _hoisted_9, [createVNode(_component_tiny_checkbox, {
+              indeterminate: _ctx.isIndeterminate,
+              modelValue: _ctx.checkAll,
+              "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
+                return _ctx.checkAll = $event;
+              })
+            }, {
+              default: withCtx(function() {
+                return [createTextVNode(
+                  toDisplayString(_ctx.t("ui.grid.individuation.toolbar.all")),
+                  1
+                  /* TEXT */
+                )];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["indeterminate", "modelValue"])]), createVNode(_component_tiny_checkbox_group, {
+              modelValue: _ctx.checkedColumns,
+              "onUpdate:modelValue": _cache[6] || (_cache[6] = function($event) {
+                return _ctx.checkedColumns = $event;
+              }),
+              vertical: ""
+            }, {
+              default: withCtx(function() {
+                return [(openBlock(true), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(_ctx.groupedColumns, function(group, index3) {
+                    return openBlock(), createElementBlock(
+                      Fragment,
+                      null,
+                      [_ctx.defer(Math.floor(index3 / 5)) ? (openBlock(), createElementBlock("div", {
+                        key: index3
+                      }, [group.label ? (openBlock(), createElementBlock(
+                        "p",
+                        {
+                          key: 0,
+                          class: normalizeClass(["group-label", [index3 === 0 && "group-label-first"]])
+                        },
+                        toDisplayString(group.label),
+                        3
+                        /* TEXT, CLASS */
+                      )) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+                        Fragment,
+                        null,
+                        renderList(group.data, function(column) {
+                          return openBlock(), createBlock(_component_tiny_checkbox, {
+                            label: column.property,
+                            disabled: column.alwaysShow,
+                            key: column.property
+                          }, {
+                            default: withCtx(function() {
+                              return [createVNode(_component_title_render, {
+                                column
+                              }, null, 8, ["column"])];
+                            }),
+                            _: 2
+                            /* DYNAMIC */
+                          }, 1032, ["label", "disabled"]);
+                        }),
+                        128
+                        /* KEYED_FRAGMENT */
+                      ))])) : createCommentVNode("v-if", true)],
+                      64
+                      /* STABLE_FRAGMENT */
+                    );
+                  }),
+                  256
+                  /* UNKEYED_FRAGMENT */
+                ))];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["modelValue"])]))])];
+          }),
+          right: withCtx(function() {
+            return [createBaseVNode("div", _hoisted_10, [createBaseVNode("div", _hoisted_11, [createBaseVNode(
+              "p",
+              null,
+              toDisplayString(_ctx.t("ui.grid.individuation.toolbar.selected")) + " (" + toDisplayString(_ctx.visibleColumns.length) + "/" + toDisplayString(_ctx.columns.length) + ") ",
+              1
+              /* TEXT */
+            ), !_ctx.hideFixedColumn ? (openBlock(), createElementBlock(
+              "span",
+              _hoisted_12,
+              toDisplayString(_ctx.t("ui.grid.individuation.toolbar.freeze")),
+              1
+              /* TEXT */
+            )) : createCommentVNode("v-if", true), !_ctx.hideSortColumn ? (openBlock(), createElementBlock(
+              "span",
+              _hoisted_13,
+              toDisplayString(_ctx.t("ui.grid.individuation.toolbar.sort")),
+              1
+              /* TEXT */
+            )) : createCommentVNode("v-if", true), createBaseVNode(
+              "span",
+              {
+                class: "clear-all",
+                onClick: _cache[7] || (_cache[7] = function() {
+                  return _ctx.handelClearAll && _ctx.handelClearAll.apply(_ctx, arguments);
+                })
+              },
+              toDisplayString(_ctx.t("ui.grid.individuation.toolbar.clear")),
+              1
+              /* TEXT */
+            )]), createBaseVNode(
+              "ul",
+              _hoisted_14,
+              [(openBlock(true), createElementBlock(
+                Fragment,
+                null,
+                renderList(_ctx.visibleColumns, function(column, index3) {
+                  return openBlock(), createElementBlock("li", {
+                    key: column.property + index3,
+                    class: normalizeClass([column.fixed, _ctx.getRowClassName(column)]),
+                    "data-tag": "tiny-grid-toolbar-item",
+                    "data-row": column.property
+                  }, [_ctx.defer(Math.floor(index3 / 3)) ? (openBlock(), createElementBlock("div", _hoisted_16, [_ctx.dropConfig.plugin ? (openBlock(), createElementBlock("div", _hoisted_17, _hoisted_24)) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_25, [column.numberSortVisible ? withDirectives((openBlock(), createElementBlock("div", _hoisted_26, [createVNode(_component_tiny_select, {
+                    ref_for: true,
+                    ref: "select" + index3,
+                    modelValue: column.sortingIndex,
+                    "onUpdate:modelValue": function onUpdateModelValue($event) {
+                      return column.sortingIndex = $event;
+                    },
+                    "automatic-dropdown": "",
+                    onFocus: function onFocus($event) {
+                      return _ctx.selectFocus($event, column.sortingIndex);
+                    },
+                    onChange: _ctx.sortSelectChange
+                  }, {
+                    default: withCtx(function() {
+                      return [(openBlock(true), createElementBlock(
+                        Fragment,
+                        null,
+                        renderList(_ctx.sortingOptions, function(item) {
+                          return openBlock(), createBlock(_component_tiny_option, {
+                            key: item,
+                            label: item,
+                            value: item
+                          }, null, 8, ["label", "value"]);
+                        }),
+                        128
+                        /* KEYED_FRAGMENT */
+                      ))];
+                    }),
+                    _: 2
+                    /* DYNAMIC */
+                  }, 1032, ["modelValue", "onUpdate:modelValue", "onFocus", "onChange"])])), [[_directive_clickoutside, _ctx.clickEditorOutside]]) : (openBlock(), createElementBlock("div", {
+                    key: 1,
+                    class: "sort-number-display",
+                    onClick: function onClick($event) {
+                      return _ctx.clickSortDisplay(column, index3);
+                    }
+                  }, toDisplayString(column.sortingIndex), 9, _hoisted_27))]), createBaseVNode(
+                    "p",
+                    {
+                      class: normalizeClass(["name toolbar-drag-item", [_ctx.dropConfig.plugin && "dragable"]]),
+                      onMouseenter: _cache[8] || (_cache[8] = function() {
+                        return _ctx.handleMouseenter && _ctx.handleMouseenter.apply(_ctx, arguments);
+                      }),
+                      onMouseleave: _cache[9] || (_cache[9] = function() {
+                        return _ctx.handleMouseleave && _ctx.handleMouseleave.apply(_ctx, arguments);
+                      })
+                    },
+                    [createVNode(_component_title_render, {
+                      column
+                    }, null, 8, ["column"])],
+                    34
+                    /* CLASS, NEED_HYDRATION */
+                  ), !_ctx.hideFixedColumn ? (openBlock(), createElementBlock("div", _hoisted_28, [createVNode(_component_tiny_dropdown, {
+                    "show-icon": false,
+                    onItemClick: _ctx.handleFixedItemClick,
+                    trigger: "hover"
+                  }, {
+                    dropdown: withCtx(function() {
+                      return [createVNode(_component_tiny_dropdown_menu, {
+                        onMouseenter: function onMouseenter($event) {
+                          return _ctx.handleDropdownMouseenter($event, index3);
+                        },
+                        onMouseleave: function onMouseleave($event) {
+                          return _ctx.handleDropdownMouseleave($event, index3);
+                        }
+                      }, {
+                        default: withCtx(function() {
+                          return [(openBlock(true), createElementBlock(
+                            Fragment,
+                            null,
+                            renderList(column.fixedOption, function(item) {
+                              return openBlock(), createBlock(_component_tiny_dropdown_item, {
+                                key: item.value,
+                                label: item.label,
+                                "item-data": {
+                                  value: item.value,
+                                  property: column.property
+                                }
+                              }, {
+                                default: withCtx(function() {
+                                  return [createTextVNode(
+                                    toDisplayString(item.label),
+                                    1
+                                    /* TEXT */
+                                  )];
+                                }),
+                                _: 2
+                                /* DYNAMIC */
+                              }, 1032, ["label", "item-data"]);
+                            }),
+                            128
+                            /* KEYED_FRAGMENT */
+                          ))];
+                        }),
+                        _: 2
+                        /* DYNAMIC */
+                      }, 1032, ["onMouseenter", "onMouseleave"])];
+                    }),
+                    default: withCtx(function() {
+                      return [createBaseVNode(
+                        "span",
+                        {
+                          class: normalizeClass(["left", "right"].includes(column.fixed) && "dropdown-btn")
+                        },
+                        [column.fixed === "left" ? (openBlock(), createBlock(_component_icon_left_frozen, {
+                          key: 0
+                        })) : column.fixed === "right" ? (openBlock(), createBlock(_component_icon_right_frozen, {
+                          key: 1
+                        })) : (openBlock(), createElementBlock(
+                          "span",
+                          _hoisted_29,
+                          toDisplayString(_ctx.t("ui.grid.individuation.toolbar.set")),
+                          1
+                          /* TEXT */
+                        ))],
+                        2
+                        /* CLASS */
+                      )];
+                    }),
+                    _: 2
+                    /* DYNAMIC */
+                  }, 1032, ["onItemClick"])])) : createCommentVNode("v-if", true), !_ctx.hideSortColumn ? (openBlock(), createElementBlock(
+                    "div",
+                    {
+                      key: 2,
+                      class: normalizeClass(["dropdown-column", [!column.sortable && "visibility-hidden"]])
+                    },
+                    [createVNode(_component_tiny_dropdown, {
+                      "show-icon": false,
+                      onItemClick: _ctx.handleSortItemClick,
+                      trigger: "hover"
+                    }, {
+                      dropdown: withCtx(function() {
+                        return [createVNode(_component_tiny_dropdown_menu, {
+                          onMouseenter: function onMouseenter($event) {
+                            return _ctx.handleDropdownMouseenter($event, index3);
+                          },
+                          onMouseleave: function onMouseleave($event) {
+                            return _ctx.handleDropdownMouseleave($event, index3);
+                          }
+                        }, {
+                          default: withCtx(function() {
+                            return [(openBlock(true), createElementBlock(
+                              Fragment,
+                              null,
+                              renderList(column.sortOption, function(item) {
+                                return openBlock(), createBlock(_component_tiny_dropdown_item, {
+                                  key: item.value,
+                                  label: item.label,
+                                  "item-data": {
+                                    value: item.value,
+                                    property: column.property
+                                  }
+                                }, {
+                                  default: withCtx(function() {
+                                    return [createTextVNode(
+                                      toDisplayString(item.label),
+                                      1
+                                      /* TEXT */
+                                    )];
+                                  }),
+                                  _: 2
+                                  /* DYNAMIC */
+                                }, 1032, ["label", "item-data"]);
+                              }),
+                              128
+                              /* KEYED_FRAGMENT */
+                            ))];
+                          }),
+                          _: 2
+                          /* DYNAMIC */
+                        }, 1032, ["onMouseenter", "onMouseleave"])];
+                      }),
+                      default: withCtx(function() {
+                        return [createBaseVNode(
+                          "span",
+                          {
+                            class: normalizeClass(["asc", "desc"].includes(column.order) && "dropdown-btn")
+                          },
+                          [column.order === "asc" ? (openBlock(), createBlock(_component_icon_ascending, {
+                            key: 0
+                          })) : column.order === "desc" ? (openBlock(), createBlock(_component_icon_descending, {
+                            key: 1
+                          })) : (openBlock(), createElementBlock(
+                            "span",
+                            {
+                              key: 2,
+                              class: normalizeClass(["set-btn", [!column.sortable && "visibility-hidden"]])
+                            },
+                            toDisplayString(_ctx.t("ui.grid.individuation.toolbar.set")),
+                            3
+                            /* TEXT, CLASS */
+                          ))],
+                          2
+                          /* CLASS */
+                        )];
+                      }),
+                      _: 2
+                      /* DYNAMIC */
+                    }, 1032, ["onItemClick"])],
+                    2
+                    /* CLASS */
+                  )) : createCommentVNode("v-if", true), createBaseVNode("span", {
+                    class: normalizeClass(["close-icon", [column.alwaysShow && "visibility-hidden"]]),
+                    onClick: function onClick($event) {
+                      return _ctx.hiddenColumn(column.property);
+                    }
+                  }, [createVNode(_component_icon_close)], 10, _hoisted_30)])) : createCommentVNode("v-if", true)], 10, _hoisted_15);
+                }),
+                128
+                /* KEYED_FRAGMENT */
+              ))],
+              512
+              /* NEED_PATCH */
+            )])];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue"])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.activeName === "base"]]), withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tabs-body-item", _ctx.animateShow === "other" ? "active-item" : ""])
+        },
+        [createBaseVNode("div", _hoisted_31, [createBaseVNode(
+          "span",
+          _hoisted_32,
+          toDisplayString(_ctx.t("ui.grid.individuation.tabs.other.pageSize")),
+          1
+          /* TEXT */
+        ), createVNode(_component_tiny_radio_group, {
+          modelValue: _ctx.settings.pageSize,
+          "onUpdate:modelValue": _cache[11] || (_cache[11] = function($event) {
+            return _ctx.settings.pageSize = $event;
+          })
+        }, {
+          default: withCtx(function() {
+            return [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.initSettings.pageSizes, function(item, index3) {
+                return openBlock(), createBlock(_component_tiny_radio, {
+                  key: index3,
+                  label: item
+                }, {
+                  default: withCtx(function() {
+                    return [createTextVNode(
+                      toDisplayString(item),
+                      1
+                      /* TEXT */
+                    )];
+                  }),
+                  _: 2
+                  /* DYNAMIC */
+                }, 1032, ["label"]);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue"])])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.activeName === "other"]])])]), createBaseVNode("div", {
+        class: "tiny-grid-custom__footer",
+        dir: _ctx.tinyTheme === "saas" ? "rtl" : "ltr"
+      }, [createVNode(_component_tiny_button, {
+        type: "primary",
+        onClick: _ctx.saveSettings
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.saveBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick"]), _ctx.multipleHistory && _ctx.activeName === "base" ? (openBlock(), createBlock(_component_tiny_custom_switch, {
+        key: 0,
+        ref: "switch",
+        "custom-mode": _ctx.customMode,
+        "selected-template-val": _ctx.selectedTemplateVal,
+        "history-config": _ctx.historyConfig,
+        onInitStorage: _ctx.initStorage
+      }, null, 8, ["custom-mode", "selected-template-val", "history-config", "onInitStorage"])) : createCommentVNode("v-if", true), createVNode(_component_tiny_button, {
+        onClick: _ctx.handleReset
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.resetBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick"]), createVNode(_component_tiny_button, {
+        onClick: _ctx.cancelSettings
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.grid.individuation.cancelBtn")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick"])], 8, _hoisted_33)])) : createCommentVNode("v-if", true), createVNode(_component_tiny_tooltip, {
+        ref: "tooltip",
+        modelValue: _ctx.tooltipVisible,
+        "onUpdate:modelValue": _cache[12] || (_cache[12] = function($event) {
+          return _ctx.tooltipVisible = $event;
+        }),
+        "popper-class": "absolute",
+        manual: true,
+        effect: "light",
+        content: _ctx.tooltipContent,
+        placement: "top"
+      }, null, 8, ["modelValue", "content"])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["modelValue", "onInput", "onClose"]);
+}
+var GridCustomSaas = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+var classMap = {
+  isActive: "is__active"
+};
+function createMacroTask(_ref12) {
+  var _vm = _ref12._vm;
+  setTimeout(function() {
+    if (_vm.settingStore.activeBtn || _vm.settingStore.activeWrapper)
+      return;
+    _vm.closeSetting();
+  }, 300);
+}
+function renderToolsWrapper(_ref13) {
+  var _vm = _ref13._vm, $tools = _ref13.$tools, $grid = _ref13.$grid, table = _ref13.table;
+  return h("div", {
+    class: "tiny-grid-tools__wrapper"
+  }, $tools.call(_vm, {
+    $grid,
+    $table: table
+  }, h));
+}
+function renderFullScreenWrapper(_ref14) {
+  var _vm = _ref14._vm;
+  return h("div", {
+    class: "tiny-grid-fullscreen__wrapper"
+  }, [h("div", {
+    class: "tiny-grid-fullscreen__btn",
+    on: {
+      click: _vm.fullscreenEvent
+    }
+  }, [h(_vm.isFull ? GlobalConfig$1.icon.minscreen : GlobalConfig$1.icon.fullscreen, {
+    class: "tiny-svg-size"
+  })])]);
+}
+function renderRefreshWrapper(_ref15) {
+  var _vm = _ref15._vm;
+  return h("div", {
+    class: "tiny-grid-refresh__wrapper"
+  }, [h("div", {
+    class: "tiny-grid-refresh__btn",
+    on: {
+      click: _vm.refreshEvent
+    }
+  }, [h(GlobalConfig$1.icon.refresh, {
+    class: ["tiny-svg-size", {
+      roll: _vm.isRefresh
+    }]
+  })])]);
+}
+function renderCustomWrapper(_ref16) {
+  var _ref17;
+  var _vm = _ref16._vm, settingStore = _ref16.settingStore, settingsBtnOns = _ref16.settingsBtnOns, tableFullColumn = _ref16.tableFullColumn, setting = _ref16.setting, initSettings = _ref16.initSettings;
+  return h("div", {
+    class: ["tiny-grid-custom__wrapper", (_ref17 = {}, _ref17[classMap.isActive] = settingStore.customVisible, _ref17)],
+    ref: "customWrapper"
+  }, [h("div", {
+    class: "tiny-grid-custom__setting-btn",
+    on: settingsBtnOns
+  }, [setting != null && setting.simple ? h("tiny-grid-custom-select", {
+    on: {
+      saveSettings: _vm.handleSaveSettings
+    },
+    props: {
+      data: tableFullColumn,
+      setting,
+      value: settingStore.customVisible
+    }
+  }) : h(GlobalConfig$1.icon.custom, {
+    class: "tiny-svg-size"
+  })]), h("div", {
+    class: "tiny-grid-custom__option-wrapper"
+  }, [h(_vm.customMode === "saas" ? "tiny-grid-custom-saas" : "tiny-grid-custom", {
+    on: {
+      showModal: function showModal(modalVisible) {
+        return settingStore.customVisible = modalVisible;
+      },
+      saveSettings: _vm.handleSaveSettings,
+      resetSettings: function resetSettings3(settings) {
+        return _vm.$emit("reset-setting", settings);
+      },
+      cancelSettings: function cancelSettings3() {
+        return _vm.$emit("cancel-setting");
+      }
+    },
+    props: {
+      customMode: _vm.customMode,
+      data: tableFullColumn,
+      value: settingStore.customVisible,
+      other: setting.other,
+      search: setting.search,
+      keys: setting.keys,
+      sortable: setting.sortable,
+      filter: setting.filter,
+      onBeforeMove: setting.onBeforeMove,
+      rowClassName: setting.rowClassName,
+      refresh: setting.refresh,
+      numberSorting: setting.numberSorting,
+      multipleHistory: setting.multipleHistory,
+      initSettings,
+      resetMethod: _vm.resetMethod,
+      alwaysShowColumns: setting.alwaysShowColumns,
+      columnsGroup: setting.columnsGroup,
+      hideSortColumn: setting.hideSortColumn,
+      showHideAll: setting.showHideAll,
+      fixedSorting: setting.fixedSorting
+    },
+    ref: "custom"
+  })])]);
+}
+function getScopedSlots(_ref18) {
+  var item = _ref18.item, _vm = _ref18._vm;
+  var scopedSlots = null;
+  var childHandler = function childHandler2(child) {
+    var res = [null];
+    if (child.visible !== false) {
+      res = h(Button$1, {
+        on: {
+          click: function click(event) {
+            return _vm.btnEvent(event, child);
+          }
+        },
+        props: {
+          disabled: child.disabled
+        }
+      }, getFuncText(child.name));
+    }
+    return res;
+  };
+  if (item.dropdowns && item.dropdowns.length) {
+    scopedSlots = {
+      default: function _default172() {
+        return getFuncText(item.name);
+      },
+      dropdowns: function dropdowns() {
+        return item.dropdowns.map(childHandler);
+      }
+    };
+  }
+  return scopedSlots;
+}
+function renderButtonWrapper(_ref19) {
+  var _vm = _ref19._vm, $buttons = _ref19.$buttons, $grid = _ref19.$grid, table = _ref19.table, buttons = _ref19.buttons;
+  var childrenArg;
+  if ($buttons) {
+    childrenArg = $buttons.call(_vm, {
+      $grid,
+      $table: table
+    }, h);
+  } else {
+    childrenArg = buttons.map(function(item) {
+      var res = [null];
+      if (item.visible !== false) {
+        var scopedSlots = getScopedSlots({
+          item,
+          _vm
+        });
+        res = h(Button$1, {
+          on: {
+            click: function click(event) {
+              return _vm.btnEvent(event, item);
+            }
+          },
+          props: {
+            disabled: item.disabled
+          },
+          scopedSlots
+        }, getFuncText(item.name));
+      }
+      return res;
+    });
+  }
+  return h("div", {
+    class: "tiny-grid-button__wrapper"
+  }, childrenArg);
+}
+var GridToolbar = defineComponent({
+  name: $prefix + "GridToolbar",
+  components: {
+    TinyGridCustom: GridCustom,
+    TinyGridCustomSelect: GridCustomSelect,
+    TinyGridCustomSaas: GridCustomSaas,
+    IconFullscreen: index$r(),
+    IconMinscreen: index$s()
+  },
+  props: _extends({}, $props, {
+    id: String,
+    loading: {
+      type: Boolean,
+      default: false
+    },
+    customMode: {
+      type: String,
+      default: function _default122() {
+        var ctx = appProperties();
+        return (ctx.tiny_theme ? ctx.tiny_theme.value : "") || "aurora";
+      }
+    },
+    resizable: {
+      type: [Boolean, Object],
+      default: function _default132() {
+        return GlobalConfig$1.toolbar.resizable;
+      }
+    },
+    refresh: {
+      type: [Boolean, Object],
+      default: function _default142() {
+        return GlobalConfig$1.toolbar.refresh;
+      }
+    },
+    setting: {
+      type: [Boolean, Object],
+      default: function _default152() {
+        return GlobalConfig$1.toolbar.setting;
+      }
+    },
+    fullScreen: {
+      type: Boolean,
+      default: false
+    },
+    buttons: {
+      type: Array,
+      default: function _default162() {
+        return GlobalConfig$1.toolbar.buttons;
+      }
+    },
+    size: String,
+    data: Array,
+    customs: Array,
+    beforeOpenFullScreen: Function,
+    beforeCloseFullScreen: Function,
+    resetMethod: Function
+  }),
+  inject: {
+    $grid: {
+      default: null
+    }
+  },
+  data: function data5() {
+    return {
+      table: null,
+      isRefresh: false,
+      tableFullColumn: [],
+      initSettings: {
+        pageSizes: [],
+        pageSize: 10,
+        sortType: "page",
+        showIndex: false,
+        multipleHistory: {
+          tableMaxHeight: "",
+          showTitle: true,
+          title: "",
+          showSave: true,
+          saveDisabled: false,
+          saveText: "",
+          labelText: "",
+          selectPlaceholder: "",
+          selectDisabled: false,
+          showApply: true,
+          applyDisabled: false,
+          applyTitle: "",
+          applyIcon: null,
+          showEdit: true,
+          editDisabled: false,
+          editTitle: "",
+          editIcon: null,
+          showDel: true,
+          delDisabled: false,
+          delTitle: "",
+          delIcon: null,
+          storageKey: "TINY_TABLE_MULTI_HISTORY_SETTING",
+          remoteMethod: null,
+          userKey: "",
+          // userId or userAccount
+          remoteSelectedMethod: null
+        }
+      },
+      settingStore: {
+        visible: false,
+        customVisible: false
+      },
+      isFull: false
+    };
+  },
+  computed: {
+    vSize: function vSize() {
+      return this.size || this.$parent.size || this.$parent.vSize;
+    },
+    refreshOpts: function refreshOpts() {
+      return _extends({}, GlobalConfig$1.toolbar.refresh, this.refresh);
+    },
+    resizableOpts: function resizableOpts() {
+      return _extends({
+        storageKey: "TINY_TABLE_CUSTOM_COLUMN_WIDTH"
+      }, GlobalConfig$1.toolbar.resizable, this.resizable);
+    },
+    settingOpts: function settingOpts() {
+      return _extends({
+        storageKey: "TINY_TABLE_CUSTOM_SETTING"
+      }, GlobalConfig$1.toolbar.setting, this.setting);
+    }
+  },
+  created: function created5() {
+    var _this26 = this;
+    var settingOpts2 = this.settingOpts, id = this.id, customs = this.customs, $grid = this.$grid;
+    this.initSettings.pageSizes = $grid.pagerConfig && $grid.pagerConfig.pageSizes || [10, 15, 20, 30, 50, 100];
+    this.initSettings.pageSize = $grid.pagerConfig && $grid.pagerConfig.pageSize || 10;
+    this.initSettings.sortType = this.setting && this.setting.sortType || "page";
+    this.initSettings.showIndex = this.setting && this.setting.showIndex;
+    if (settingOpts2.storage === "local") {
+      this.initSettings = Object.assign(this.initSettings, this.getStorageMap(settingOpts2.storageKey)[id] || {});
+    }
+    if (customs) {
+      this.tableFullColumn = customs;
+    }
+    if (settingOpts2.storage && !id) {
+      return index$u.error("ui.grid.error.toolbarId");
+    }
+    this.loadStorage();
+    event_default.on(this, "mousedown", this.handleGlobalMousedownEvent);
+    event_default.on(this, "blur", this.handleGlobalBlurEvent);
+    this.removeHandler = function() {
+      event_default.off(_this26, "mousedown");
+      event_default.off(_this26, "blur");
+    };
+    this.$grid.connect({
+      name: "toolbar",
+      vm: this
+    });
+  },
+  setup: function setup22(props2, _ref20) {
+    var slots = _ref20.slots, attrs = _ref20.attrs, listeners = _ref20.listeners;
+    var instance = getCurrentInstance().proxy;
+    var tableListeners = getListeners(attrs, listeners);
+    onBeforeUnmount(function() {
+      return typeof instance.removeHandler === "function" && instance.removeHandler();
+    });
+    return {
+      slots,
+      tableListeners
+    };
+  },
+  render: function render22() {
+    var _ref21;
+    var $grid = this.$grid, $slots = this.slots, table = this.table, loading = this.loading, settingStore = this.settingStore, refresh = this.refresh, fullScreen = this.fullScreen;
+    var setting = this.setting, initSettings = this.initSettings, _this$buttons = this.buttons, buttons = _this$buttons === void 0 ? [] : _this$buttons, vSize2 = this.vSize, tableFullColumn = this.tableFullColumn;
+    var $buttons = $slots.buttons, $tools = $slots.tools;
+    var settingsBtnOns = {};
+    setting && (settingsBtnOns.click = this.settingBtnClick);
+    var map = {
+      isLoading: "is__loading"
+    };
+    var propsArg = {
+      class: ["tiny-grid-toolbar", (_ref21 = {}, _ref21["size__" + vSize2] = vSize2, _ref21[map.isLoading] = loading, _ref21)]
+    };
+    var args = {
+      _vm: this,
+      settingStore,
+      settingsBtnOns,
+      tableFullColumn,
+      setting,
+      initSettings
+    };
+    var defaultSlot = function defaultSlot2() {
+      return typeof $slots.default === "function" ? $slots.default() : $slots.default;
+    };
+    var childrenArg = [renderButtonWrapper({
+      _vm: this,
+      $buttons,
+      $grid,
+      table,
+      buttons
+    }), setting ? renderCustomWrapper(args) : null, refresh ? renderRefreshWrapper({
+      _vm: this
+    }) : null, fullScreen ? renderFullScreenWrapper({
+      _vm: this
+    }) : null, $tools ? renderToolsWrapper({
+      _vm: this,
+      $tools,
+      $grid,
+      table
+    }) : defaultSlot()];
+    return h("div", propsArg, childrenArg);
+  },
+  methods: {
+    settingBtnClick: function settingBtnClick() {
+      return this.setting && this.setting.customSetting ? this.setting.settingBtnClickFn() : this.handleClickCustomEvent();
+    },
+    updateConf: function updateConf() {
+      var _this27 = this;
+      var data6 = this.data;
+      var $children = this.$parent.$children;
+      var findHandler = function findHandler2(childComp, childIndex) {
+        return childComp && childComp.refreshColumn && childIndex > $children.indexOf(_this27) && (data6 ? childComp.data === data6 : childComp.$vnode.componentOptions.tag === "tiny-grid-table");
+      };
+      this.table = find_default($children, findHandler);
+    },
+    closeSetting: function closeSetting() {
+      var setting = this.setting;
+      var settingStore = this.settingStore;
+      if (settingStore.visible) {
+        settingStore.visible = false;
+      }
+      if (settingStore.visible && setting && !settingStore.immediate) {
+        this.updateSetting();
+      }
+    },
+    openSetting: function openSetting() {
+      this.settingStore.visible = true;
+    },
+    showAllColumns: function showAllColumns() {
+      this.$refs.custom.showOrHideAllColumns(true);
+    },
+    hideAllColumns: function hideAllColumns() {
+      this.$refs.custom.showOrHideAllColumns(false);
+    },
+    orderSetting: function orderSetting() {
+      var id = this.id, settingOpts2 = this.settingOpts;
+      var allData = [];
+      var custumSetting = JSON.parse(localStorage.getItem(settingOpts2.storageKey));
+      if (custumSetting) {
+        var customName = custumSetting[id];
+        allData = customName && customName.columns || [];
+      }
+      var orderArg = allData.map(function(value3) {
+        return {
+          fileds: value3.property,
+          property: value3.property,
+          order: value3.order,
+          prop: value3.property
+        };
+      }).filter(function(item) {
+        return item.order !== null;
+      });
+      return orderArg;
+    },
+    loadColWidth: function loadColWidth() {
+      var id = this.id, resizableOpts2 = this.resizableOpts;
+      if (resizableOpts2.storage) {
+        var width = this.getStorageMap(resizableOpts2.storageKey)[id] || {};
+        if (width) {
+          var widthSet = {};
+          for (var key in width) {
+            if (Object.prototype.hasOwnProperty.call(width, key)) {
+              widthSet[key] = {
+                resizeWidth: width[key]
+              };
+            }
+          }
+          return widthSet;
+        }
+      }
+    },
+    loadStorage: function loadStorage() {
+      var _this28 = this;
+      var $grid = this.$grid, id = this.id, resizable = this.resizable, setting = this.setting, settingOpts2 = this.settingOpts;
+      if (!$grid) {
+        return;
+      }
+      if (resizable || setting) {
+        var customSettings = [];
+        if ($grid) {
+          $grid.connect({
+            toolbar: this
+          });
+        } else {
+          throw new Error("[tiny-grid-toolbar] Not found tiny-grid.");
+        }
+        if (settingOpts2.storage === "local") {
+          var settingsStorage = this.getStorageMap(settingOpts2.storageKey)[id];
+          customSettings = settingsStorage && settingsStorage.columns || [];
+          if (settingsStorage && settingsStorage.pageSize) {
+            var pageSize = settingsStorage.pageSize;
+            if (this.$grid.pagerConfig && this.$grid.pagerConfig.pageSize !== pageSize) {
+              this.$grid.createJob("pageSizeChangeCallback", function() {
+                _this28.$grid.pageSizeChange(pageSize, $grid.autoLoad === false);
+              });
+            }
+          }
+        }
+        this.$grid.createJob("updateCustomsCallback", function() {
+          _this28.updateCustoms(customSettings.length ? customSettings : _this28.tableFullColumn);
+        });
+      }
+    },
+    // NEXT 未用到
+    updateColumn: function updateColumn(fullColumn) {
+      this.tableFullColumn = fullColumn;
+    },
+    updateCustoms: function updateCustoms(customs) {
+      var _this29 = this;
+      var $grid = this.$grid, table = this.table, setting = this.setting;
+      var comp = $grid || table;
+      var sort = setting && !!setting.sortable;
+      if (comp) {
+        var colWidth = this.loadColWidth();
+        comp.reloadCustoms(customs, sort, colWidth).then(function(fullColumn) {
+          _this29.tableFullColumn = fullColumn;
+        });
+      }
+    },
+    getStorageMap: function getStorageMap(key) {
+      var version2 = GlobalConfig$1.version;
+      var rest = toStringJSON_default(localStorage.getItem(key));
+      return rest && rest._v === version2 ? rest : {
+        _v: version2
+      };
+    },
+    // 保存 'fixed', 'visible', 'order' 列的个性化配置
+    saveCustomSettings: function saveCustomSettings(columnConfigs) {
+      var id = this.id, settingOpts2 = this.settingOpts;
+      if (settingOpts2.storage === "local") {
+        var settingsStorageMap = this.getStorageMap(settingOpts2.storageKey);
+        var settingsStorage = settingsStorageMap[id] || {};
+        settingsStorage.columns = columnConfigs;
+        settingsStorageMap[id] = settingsStorage;
+        localStorage.setItem(settingOpts2.storageKey, toJSONString_default(settingsStorageMap));
+      }
+      return this.$nextTick();
+    },
+    // 保存分页、排序类型数据数据
+    savePagerSettings: function savePagerSettings(settingConfigs) {
+      var id = this.id, settingOpts2 = this.settingOpts;
+      if (settingOpts2.storage) {
+        var settingsStorageMap = this.getStorageMap(settingOpts2.storageKey);
+        var settingsStorage = settingsStorageMap[id];
+        if (settingsStorage) {
+          Object.assign(settingsStorage, settingConfigs);
+        } else {
+          settingsStorage = settingConfigs;
+        }
+        settingsStorageMap[id] = settingsStorage;
+        localStorage.setItem(settingOpts2.storageKey, toJSONString_default(settingsStorageMap));
+      }
+      return this.$nextTick();
+    },
+    // 只保存隐藏列配置
+    saveColumnHide: function saveColumnHide() {
+      var id = this.id, tableFullColumn = this.tableFullColumn, settingOpts2 = this.settingOpts;
+      if (settingOpts2.storage) {
+        var columnHideStorageMap = this.getStorageMap(settingOpts2.storageKey);
+        var colHides = tableFullColumn.filter(function(column) {
+          return column.property && !column.visible;
+        });
+        columnHideStorageMap[id] = colHides.length ? colHides.map(function(column) {
+          return column.property;
+        }).join(",") : void 0;
+        this.$refs.custom && this.$refs.custom.saveSettings();
+      }
+      return this.$nextTick();
+    },
+    saveColumnWidth: function saveColumnWidth(isReset) {
+      var id = this.id, resizableOpts2 = this.resizableOpts, tableFullColumn = this.tableFullColumn;
+      var storage = resizableOpts2.storage, storageKey = resizableOpts2.storageKey;
+      var columnWidthStorageMap;
+      if (storage) {
+        columnWidthStorageMap = this.getStorageMap(storageKey);
+      }
+      var columnWidthStorage;
+      if (storage && !isReset) {
+        columnWidthStorage = columnWidthStorageMap[id];
+        columnWidthStorage = isPlainObject_default(columnWidthStorage) ? columnWidthStorage : {};
+        tableFullColumn.forEach(function(_ref22) {
+          var property = _ref22.property, resizeWidth = _ref22.resizeWidth, renderWidth = _ref22.renderWidth;
+          if (property && resizeWidth) {
+            columnWidthStorage[property] = renderWidth;
+          }
+        });
+      }
+      if (storage) {
+        columnWidthStorageMap[id] = isEmpty_default(columnWidthStorage) ? void 0 : columnWidthStorage;
+        localStorage.setItem(storageKey, toJSONString_default(columnWidthStorageMap));
+      }
+      return this.$nextTick();
+    },
+    resetResizable: function resetResizable() {
+      this.updateResizable(this);
+    },
+    updateResizable: function updateResizable(isReset) {
+      var tableComp = this.$grid || this.table;
+      this.saveColumnWidth(isReset);
+      tableComp.analyColumnWidth();
+      return tableComp.recalculate();
+    },
+    updateSetting: function updateSetting() {
+      var _this30 = this;
+      var tableComp = this.$grid || this.table;
+      tableComp.refreshColumn();
+      this.tableFullColumn = this.tableFullColumn.slice(0);
+      return this.$nextTick(function() {
+        return _this30.$refs.custom && _this30.$refs.custom.saveSettings();
+      });
+    },
+    applySettings: function applySettings(_ref23) {
+      var _this31 = this;
+      var columns = _ref23.columns, pageSize = _ref23.pageSize;
+      var sort = this.setting && !!this.setting.sortable;
+      if (this.$grid) {
+        if (columns && columns.length) {
+          var colWidth = this.loadColWidth();
+          this.$grid.reloadCustoms(columns, sort, colWidth).then(function() {
+            _this31.$grid.handleTableData(true).then(function() {
+              _this31.$grid.recalculate();
+            });
+          });
+        }
+        if (isNumber(pageSize) && this.$grid.pagerConfig && this.$grid.pagerConfig.pageSize !== pageSize) {
+          this.$grid.pageSizeChange(pageSize);
+        }
+      }
+    },
+    handleSaveSettings: function handleSaveSettings(settingConfigs) {
+      var settingStore = this.settingStore, setting = this.setting, settingOpts2 = this.settingOpts;
+      var customRef = this.$refs.custom;
+      settingStore.customVisible = false;
+      var columns = settingConfigs.columns, pageSize = settingConfigs.pageSize, sortType = settingConfigs.sortType;
+      this.applySettings({
+        columns,
+        pageSize
+      });
+      if (setting && settingOpts2.storage === "local") {
+        var pagerSettings = {
+          pageSize,
+          sortType,
+          id: null
+        };
+        if (setting.multipleHistory && customRef.multipleHistoryId) {
+          pagerSettings.id = customRef.multipleHistoryId;
+          customRef.multipleHistoryId = null;
+        }
+        this.saveCustomSettings(columns);
+        this.savePagerSettings(pagerSettings);
+      } else if (setting && settingOpts2.storage === "remote") {
+        if (settingOpts2.remote) {
+          this.$emit("remote-setting", settingConfigs);
+          if (setting.multipleHistory) {
+            var _settingOpts$storageK, _toJSONString2;
+            this.$emit("multiple-history-option", toJSONString_default((_toJSONString2 = {}, _toJSONString2[settingOpts2.storageKey] = (_settingOpts$storageK = {}, _settingOpts$storageK[this.id] = _extends({}, settingConfigs, {
+              id: customRef.multipleHistoryId || null
+            }), _settingOpts$storageK), _toJSONString2)));
+            customRef.multipleHistoryId = null;
+          }
+        }
+      }
+      this.$emit("save-setting", settingConfigs);
+    },
+    handleGlobalMousedownEvent: function handleGlobalMousedownEvent(event) {
+      if (!getEventTargetNode(event, this.$refs.customWrapper).flag) {
+        this.closeSetting();
+      }
+    },
+    handleGlobalBlurEvent: function handleGlobalBlurEvent() {
+      this.closeSetting();
+    },
+    // NEXT 未用到
+    handleClickSettingEvent: function handleClickSettingEvent() {
+      var settingStore = this.settingStore;
+      settingStore.visible = !settingStore.visible;
+    },
+    handleClickCustomEvent: function handleClickCustomEvent() {
+      var settingStore = this.settingStore;
+      this.$refs.custom.settings.pageSize = this.$grid.pagerConfig && this.$grid.pagerConfig.pageSize || this.settingOpts.storage === "local" && this.$refs.custom.settings.pageSize || 10;
+      settingStore.customVisible = !settingStore.customVisible;
+    },
+    // NEXT 未用到
+    handleMouseenterSettingEvent: function handleMouseenterSettingEvent() {
+      this.settingStore.activeBtn = true;
+      this.openSetting();
+    },
+    // NEXT 未用到
+    handleMouseleaveSettingEvent: function handleMouseleaveSettingEvent() {
+      this.settingStore.activeBtn = false;
+      createMacroTask({
+        _vm: this
+      });
+    },
+    // NEXT 未用到
+    handleWrapperMouseenterEvent: function handleWrapperMouseenterEvent() {
+      this.settingStore.activeWrapper = true;
+      this.openSetting();
+    },
+    // NEXT 未用到
+    handleWrapperMouseleaveEvent: function handleWrapperMouseleaveEvent() {
+      this.settingStore.activeWrapper = false;
+      createMacroTask({
+        _vm: this
+      });
+    },
+    refreshEvent: function refreshEvent() {
+      var _this32 = this;
+      var $grid = this.$grid, isRefresh = this.isRefresh, refreshOpts2 = this.refreshOpts;
+      var catchHandler = function catchHandler2(e) {
+        return e;
+      };
+      var nextHandler = function nextHandler2() {
+        return _this32.isRefresh = false;
+      };
+      if (isRefresh)
+        return;
+      this.isRefresh = true;
+      if (refreshOpts2.query) {
+        refreshOpts2.query().catch(catchHandler).then(nextHandler);
+        return;
+      }
+      if ($grid && $grid.fetchData) {
+        $grid.commitProxy("reload").catch(catchHandler).then(nextHandler);
+        return;
+      }
+      if ($grid) {
+        $grid.refreshData().then(nextHandler);
+      }
+    },
+    btnEvent: function btnEvent(event, item) {
+      var $grid = this.$grid, table = this.table, tableListeners = this.tableListeners;
+      var code = item.code;
+      if (code) {
+        if ($grid && !tableListeners["button-click"]) {
+          $grid.triggerToolbarBtnEvent(item, event);
+        } else {
+          var btnMethod = GridAdapter.buttons.get(code);
+          var params = {
+            code,
+            button: item,
+            $grid,
+            $table: table
+          };
+          if (btnMethod) {
+            btnMethod.call(this, params, event);
+          }
+          emitEvent$1(this, "button-click", [params, event]);
+        }
+      }
+    },
+    fullscreenEvent: function fullscreenEvent() {
+      var beforeOpenFullScreen;
+      var beforeCloseFullScreen;
+      var interceptFullScreen;
+      var show = !this.isFull;
+      if (this.fullScreen) {
+        beforeOpenFullScreen = this.beforeOpenFullScreen;
+        beforeCloseFullScreen = this.beforeCloseFullScreen;
+        interceptFullScreen = show && typeof beforeOpenFullScreen === "function" && !beforeOpenFullScreen() || !show && typeof beforeCloseFullScreen === "function" && !beforeCloseFullScreen();
+        if (interceptFullScreen)
+          return;
+      }
+      if (this.$grid) {
+        this.isFull = !this.isFull;
+        this.$grid.commitProxy("fullscreen", this.isFull);
+      }
+    }
+  }
+});
+var version = "3.16.0";
+GridToolbar.install = function(Vue) {
+  Vue.component(GridToolbar.name, GridToolbar);
+};
+GridToolbar.version = version;
+export {
+  GridToolbar as G
+};
diff --git a/admin-website/src/main/resources/static/assets/index34.js b/admin-website/src/main/resources/static/assets/index34.js
new file mode 100644
index 0000000..2f4649e
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index34.js
@@ -0,0 +1,7063 @@
+import { s as svg, an as getObj, al as omitText, ao as isKorean, ap as find, aq as isEqual$1, ar as isEmptyObject, e as popup_manager_default, y as __spreadProps, z as __spreadValues, af as debounce_default, as as getDataset, J as extend, at as browser_default, au as BROWSER_NAME, aj as isNull, a6 as isNumber, d as defineComponent, b as $prefix, D as index$6, A as index$7, av as index$8, C as Checkbox, p as props, a as setup, $ as $props, c as $setup, aw as vue_popper_default, o as on, f as off, ax as isObject, ay as typeOf, az as index$a, j as index$b, i as index$c, I as Input, B as Button, Y as t, a3 as directive, a7 as clickoutside_default, aA as Tree, aB as index$f, N as Tooltip, aC as index$i, E as index$j } from "./index.js";
+import { s as scroll_into_view_default, d as deepClone, a as addResizeListener, r as removeResizeListener, _ as _sfc_main$9, i as index$e, F as FilterBox, R as RecycleScroller } from "./index35.js";
+import { F as singleton_default, T as Tag, G as Grid, I as index$g, J as index$h } from "./index31.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, k as resolveComponent, I as withDirectives, L as vShow, l as createVNode, z as createCommentVNode, y as createBlock, B as resolveDynamicComponent, D as renderSlot, E as toDisplayString, A as normalizeClass, P as withModifiers, G as normalizeStyle, H as withCtx, T as Transition, ad as vModelText, F as mergeProps, Q as withKeys, M as Fragment, N as renderList, J as createTextVNode, aa as createSlots, V as resolveDirective } from "./vue.js";
+import { i as index$9, a as index$d } from "./chevron-up.js";
+var _hoisted_1$8 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$8 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "copy_svg__st0",
+    d: "m21.5 5.6-5-5.1-.3-.3s-.1 0-.1-.1H16c-.2 0-.4-.1-.7-.1H7c-.9 0-2 1.1-2 2v1H4c-.9 0-2 1.1-2 2v17c0 .9 1.1 2 2 2h13c.9 0 2-1.1 2-2v-1h1c.9 0 2-1.1 2-2V7c0-.4-.2-1.1-.5-1.4zM16 3l3 3h-3V3zm1 19H4V5h1v14c0 .9 1.2 2 2 2h10v1zm3-3H7V2h7v4c0 .9 1.1 2 2 2h4v11zm-5-9c0-.6-.4-1-.8-1H9.9c-.5 0-.9.4-.9 1s.4 1 .8 1h4.3c.5 0 .9-.4.9-1zm3 3c0-.6-.4-1-.8-1H9.9c-.5 0-.8.4-.8 1s.4 1 .8 1h7.3c.4 0 .8-.4.8-1zm-1 3c0-.6-.4-1-.9-1H9.9c-.5 0-.9.4-.9 1s.4 1 .9 1h6.2c.5 0 .9-.4.9-1z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$8 = [_hoisted_2$8];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$8, [].concat(_hoisted_3$8));
+}
+var Copy = {
+  render
+};
+var index$5 = function index2() {
+  return svg({
+    name: "IconCopy",
+    component: Copy
+  })();
+};
+class Memorize {
+  constructor(value, options = {}) {
+    if (value && typeof value === "object") {
+      options = value;
+    } else {
+      value = [];
+    }
+    if (typeof options.key !== "string" || !options.key) {
+      throw new Error("Memorize Initialization error.");
+    }
+    this._prefix = "tiny_memorize_";
+    this._customField1 = "frequency";
+    this._customField2 = "time";
+    this._sortBy = (options.sortBy || "frequency").toUpperCase();
+    this._sort = (options.sort || "desc").toUpperCase();
+    this._dataKey = options.dataKey || "value";
+    this._highlightClass = options.highlightClass || "memorize-highlight";
+    this._highlightNum = options.highlightNum || Infinity;
+    this._cacheNum = options.cacheNum || Infinity;
+    this._serialize = options.serialize || JSON.stringify;
+    this._deserialize = options.deserialize || JSON.parse;
+    this.setKey(options.key);
+    this.assemble(value);
+  }
+  setKey(storeKey) {
+    this._storeKey = this._prefix + (storeKey || Number(/* @__PURE__ */ new Date()));
+  }
+  getValue(isSort = true) {
+    const storeVlue = window.localStorage[this._storeKey] || "";
+    if (storeVlue) {
+      try {
+        const list = this._deserialize(storeVlue);
+        return isSort ? this.sort(list) : list;
+      } catch (e) {
+        return [];
+      }
+    }
+    return [];
+  }
+  setValue(value) {
+    try {
+      window.localStorage.setItem(this._storeKey, this._serialize(value));
+    } catch (e) {
+      throw new Error("Memorize set localStorage error.");
+    }
+  }
+  clear() {
+    window.localStorage.removeItem(this._storeKey);
+  }
+  add(dataKey) {
+    const list = this.getValue(false);
+    const newData = {
+      key: dataKey
+    };
+    newData[this._customField1] = 1;
+    newData[this._customField2] = Number(/* @__PURE__ */ new Date());
+    if (list.length < this._cacheNum) {
+      list.push(newData);
+      this.setValue(list);
+    }
+  }
+  updateByKey(dataKey) {
+    let isChanged = false;
+    const list = this.getValue(false);
+    list.some((item) => {
+      if (item.key === dataKey) {
+        item[this._customField1] = (item[this._customField1] || 0) + 1;
+        item[this._customField2] = Number(/* @__PURE__ */ new Date());
+        isChanged = true;
+        return true;
+      }
+      return false;
+    });
+    isChanged ? this.setValue(list) : this.add(dataKey);
+  }
+  sort(list) {
+    if (Array.isArray(list)) {
+      return list.sort((x, y) => {
+        const isDesc = this._sort === "DESC";
+        const compare = isDesc ? [-1, 1] : [1, -1];
+        const sortField = this._sortBy === "FREQUENCY" ? this._customField1 : this._customField2;
+        const xField = x[sortField];
+        const yField = y[sortField];
+        if (isNaN(xField)) {
+          return isDesc ? -1 : 1;
+        } else if (isNaN(yField)) {
+          return -1;
+        }
+        return xField > yField ? compare[0] : compare[1];
+      });
+    } else {
+      return list;
+    }
+  }
+  assemble(list) {
+    const storeValue = this.getValue(true);
+    if (!(Array.isArray(list) && list.length) || !storeValue.length) {
+      return list;
+    }
+    let matchCount = 0;
+    const handler = (storeItem) => (listItem, index3) => {
+      if (listItem[this._dataKey] === storeItem.key) {
+        matchCount++;
+        list.splice(index3, 1);
+        if (matchCount <= this._highlightNum) {
+          listItem._highlightClass = this._highlightClass;
+        }
+        list.unshift(listItem);
+        return true;
+      }
+      return false;
+    };
+    for (let i = storeValue.length - 1; i > -1; i--) {
+      const storeItem = storeValue[i];
+      list.some(handler(storeItem));
+    }
+    return list;
+  }
+}
+var memorize_default = Memorize;
+const escapeRegexpString = (value = "") => String(value).replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
+const isEqual = ({ select, state }) => (a, b) => {
+  if (!state.isObject) {
+    return a === b;
+  } else {
+    const valueKey = select.valueKey;
+    return getObj(a, valueKey) === getObj(b, valueKey);
+  }
+};
+const contains = ({ select, state }) => (arr = [], target = null) => {
+  if (!state.isObject) {
+    return arr && arr.includes(target);
+  } else {
+    const valueKey = select.valueKey;
+    return arr && arr.some((item) => {
+      return getObj(item, valueKey) === getObj(target, valueKey);
+    });
+  }
+};
+const handleGroupDisabled = ({ state, vm }) => (val) => {
+  state.groupDisabled = val;
+  vm.groupDisabled = val;
+};
+const hoverItem = ({ select, props: props2, state }) => (e) => {
+  const dom = e.target;
+  const text = dom.textContent;
+  const style = window.getComputedStyle(dom);
+  const font = style.font;
+  const rect = dom.getBoundingClientRect();
+  const textWidth = rect.width - parseInt(style.paddingLeft || 0) - parseInt(style.paddingRight || 0);
+  const res = omitText(text, font, textWidth);
+  state.showTitle = res.o;
+  if (!props2.disabled && !state.groupDisabled && !select.state.disabledOptionHover) {
+    select.state.hoverIndex = select.state.optionIndexArr.indexOf(state.index);
+  }
+};
+const selectOptionClick = ({ props: props2, state, select, constants, vm }) => () => {
+  if (props2.disabled !== true && state.groupDisabled !== true) {
+    if (select.multiple && props2.required === true)
+      return;
+    select.state.selectEmitter.emit(constants.EVENT_NAME.handleOptionClick, vm, true);
+  }
+};
+const queryChange$1 = ({ select, props: props2, state }) => (query) => {
+  const oldVisible = state.visible;
+  const newVisible = state.currentLabel.toLowerCase().includes(query.toLowerCase()) || !!props2.created;
+  if (oldVisible !== newVisible) {
+    state.visible = newVisible;
+    select.state.filteredOptionsCount += newVisible ? 1 : -1;
+  }
+};
+const toggleEvent = ({ props: props2, vm, type }) => {
+  const optionEl = vm.$refs.option;
+  for (let ev in props2.events) {
+    optionEl[type + "EventListener"](ev, props2.events[ev]);
+  }
+};
+const initValue$1 = ({ select, props: props2, constants, vm }) => () => {
+  if (select.multiple && props2.required) {
+    select.state.selectEmitter.emit(constants.EVENT_NAME.initValue, vm);
+  }
+};
+const handleComposition = ({ api: api2, nextTick, state }) => (event) => {
+  const text = event.target.value;
+  if (event.type === "compositionend") {
+    state.isOnComposition = false;
+    const isChange = false;
+    const isInput = true;
+    nextTick(() => api2.handleQueryChange(text, isChange, isInput));
+  } else {
+    const lastCharacter = text[text.length - 1] || "";
+    state.isOnComposition = !isKorean(lastCharacter);
+  }
+};
+const showTip = ({ props: props2, state, vm }) => (show) => {
+  if (!props2.showOverflowTooltip) {
+    return;
+  }
+  let overflow;
+  if (!show) {
+    clearTimeout(state.tipTimer);
+    state.tipTimer = setTimeout(() => {
+      state.showTip = state.tipHover;
+    }, vm.$refs.popover.closeDelay);
+  } else {
+    if (!props2.multiple) {
+      const reference = vm.$refs.reference.$el;
+      overflow = reference.querySelector("input").scrollWidth > reference.scrollWidth;
+    } else {
+      overflow = vm.$refs.tags.scrollHeight > vm.$refs.tags.getBoundingClientRect().height;
+    }
+    state.showTip = show && overflow && !!state.tips && !state.visible;
+  }
+};
+const gridOnQueryChange = ({ props: props2, vm, constants, state }) => (value) => {
+  const { multiple, valueField, filterMethod, filterable, remote, remoteMethod } = props2;
+  if (filterable && typeof filterMethod === "function") {
+    const table = vm.$refs.selectGrid.$refs.tinyTable;
+    const fullData = table.afterFullData;
+    vm.$refs.selectGrid.scrollTo(null, 0);
+    table.afterFullData = filterMethod(value, fullData) || [];
+    vm.$refs.selectGrid.handleTableData(!value).then(() => state.selectEmitter.emit(constants.EVENT_NAME.updatePopper));
+    state.previousQuery = value;
+  } else if (remote && typeof remoteMethod === "function") {
+    state.previousQuery = value;
+    remoteMethod(value, props2.extraQueryParams).then((data) => {
+      if (multiple) {
+        const selectedIds = state.selected.map((sel) => sel[valueField]);
+        vm.$refs.selectGrid.clearSelection();
+        vm.$refs.selectGrid.setSelection(
+          data.filter((row) => ~selectedIds.indexOf(row[valueField])),
+          true
+        );
+        state.remoteData = data.filter((row) => !~selectedIds.indexOf(row[valueField])).concat(state.selected);
+      } else {
+        vm.$refs.selectGrid.clearRadioRow();
+        vm.$refs.selectGrid.setRadioRow(find(data, (item) => props2.modelValue === item[props2.valueField]));
+        state.remoteData = data;
+      }
+      vm.$refs.selectGrid.$refs.tinyTable.lastScrollTop = 0;
+      vm.$refs.selectGrid.loadData(data);
+      vm.$refs.selectGrid.handleTableData(!value).then(() => state.selectEmitter.emit(constants.EVENT_NAME.updatePopper));
+    });
+  }
+};
+const defaultOnQueryChange = ({ props: props2, state, constants, api: api2, nextTick }) => (value, isInput) => {
+  if (props2.remote && (typeof props2.remoteMethod === "function" || typeof props2.initQuery === "function")) {
+    state.hoverIndex = -1;
+    props2.remoteMethod && props2.remoteMethod(value, props2.extraQueryParams);
+  } else if (typeof props2.filterMethod === "function") {
+    props2.filterMethod(value);
+    state.selectEmitter.emit(constants.COMPONENT_NAME.OptionGroup, constants.EVENT_NAME.queryChange);
+  } else {
+    api2.queryChange(value, isInput);
+  }
+  setFilteredSelectCls(nextTick, state, props2);
+  api2.getOptionIndexArr();
+  state.magicKey = state.magicKey > 0 ? -1 : 1;
+};
+const queryChange = ({ props: props2, state, constants }) => (value, isInput) => {
+  if (props2.optimization && isInput) {
+    const filterDatas = state.initDatas.filter((item) => new RegExp(escapeRegexpString(value), "i").test(item.label));
+    state.datas = filterDatas;
+  } else {
+    state.selectEmitter.emit(constants.EVENT_NAME.queryChange, value);
+  }
+};
+const setFilteredSelectCls = (nextTick, state, props2) => {
+  nextTick(() => {
+    if (props2.multiple && props2.showAlloption && props2.filterable && state.query && !props2.remote) {
+      const filterSelectedVal = state.options.filter((item) => item.state.visible && item.state.itemSelected).map((opt) => opt.value);
+      const visibleOptions = state.options.filter((item) => item.state.visible);
+      if (filterSelectedVal.length === visibleOptions.length) {
+        state.filteredSelectCls = "checked-sur";
+      } else if (filterSelectedVal.length === 0) {
+        state.filteredSelectCls = "check";
+      } else {
+        state.filteredSelectCls = "halfselect";
+      }
+    }
+  });
+};
+const handleQueryChange$1 = ({ api: api2, constants, nextTick, props: props2, vm, state }) => (value, isChange = false, isInput = false) => {
+  if (state.previousQuery === value && !isChange || state.isOnComposition) {
+    return;
+  }
+  if (state.previousQuery === null && !isChange && (typeof props2.filterMethod === "function" || typeof props2.remoteMethod === "function" || typeof props2.initQuery === "function")) {
+    state.previousQuery = value;
+    return;
+  }
+  if (props2.renderType === constants.TYPE.Grid) {
+    api2.gridOnQueryChange(value);
+    return;
+  }
+  if (props2.renderType === constants.TYPE.Tree) {
+    state.previousQuery = value;
+    if (props2.filterable && typeof props2.filterMethod === "function") {
+      vm.$refs.selectTree && vm.$refs.selectTree.filter(value);
+    }
+  }
+  state.query = value;
+  state.previousQuery = value;
+  window.requestAnimationFrame(() => {
+    if (state.visible) {
+      state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+      state.showWarper = true;
+    }
+  });
+  state.hoverIndex = -1;
+  if (props2.multiple && props2.filterable && !props2.shape) {
+    nextTick(() => {
+      const length = vm.$refs.input.value.length * 15 + 20;
+      state.inputLength = state.collapseTags ? Math.min(50, length) : length;
+      api2.managePlaceholder();
+      api2.resetInputHeight();
+    });
+  }
+  if (props2.renderType === constants.TYPE.Tree) {
+    return;
+  }
+  state.triggerSearch = true;
+  api2.defaultOnQueryChange(value, isInput);
+};
+const scrollToOption = ({ vm, constants }) => (option) => {
+  const target = Array.isArray(option) && option[0] && option[0].state ? option[0].state.el : option.state ? option.state.el : "";
+  if (vm.$refs.popper && target) {
+    const menu = vm.$refs.popper.$el.querySelector(constants.CLASS.SelectDropdownWrap);
+    setTimeout(() => scroll_into_view_default(menu, target));
+  }
+  vm.$refs.scrollbar && vm.$refs.scrollbar.handleScroll();
+};
+const handleMenuEnter = ({ api: api2, nextTick, state, props: props2 }) => () => {
+  if (!props2.optimization) {
+    nextTick(() => api2.scrollToOption(state.selected));
+  }
+};
+const emitChange = ({ emit, props: props2, state, constants }) => (value, changed) => {
+  if (state.device === "mb" && props2.multiple && !changed)
+    return;
+  const seekItem = (val, arr, items, flag) => {
+    if (constants.TYPE.Tree === flag) {
+      const recurNode = (node) => {
+        val === node[props2.valueField] && items.push(node);
+        val !== node[props2.valueField] && Array.isArray(node[state.childrenName]) && node[state.childrenName].forEach(recurNode);
+      };
+      arr.forEach(recurNode);
+    } else if (constants.TYPE.Grid === flag) {
+      for (let i = 0; i < arr.length; i++) {
+        if (val === arr[i][props2.valueField]) {
+          items.push(arr[i]);
+          break;
+        }
+      }
+    }
+  };
+  if (!isEqual$1(props2.modelValue, state.compareValue)) {
+    if (props2.renderType === constants.TYPE.Grid && props2.multiple) {
+      value = value || [];
+      const gridData = state.gridData || [];
+      const items = [];
+      value.forEach((valueItem) => {
+        seekItem(valueItem, gridData, items, constants.TYPE.Grid);
+      });
+      emit("change", value, items);
+    } else if (props2.renderType === constants.TYPE.Tree && props2.multiple) {
+      value = value || [];
+      const treeData = state.treeData || [];
+      const items = [];
+      value.forEach((valueItem) => {
+        seekItem(valueItem, treeData, items, constants.TYPE.Tree);
+      });
+      emit("change", value, items);
+    } else {
+      emit("change", value);
+    }
+  }
+};
+const directEmitChange = ({ emit, props: props2, state }) => (value, key) => {
+  if (state.device === "mb" && props2.multiple)
+    return;
+  emit("change", value, key);
+};
+const getOption = ({ props: props2, state, api: api2 }) => (value) => {
+  let option;
+  const isObject2 = Object.prototype.toString.call(value).toLowerCase() === "[object object]";
+  const isNull2 = Object.prototype.toString.call(value).toLowerCase() === "[object null]";
+  const isUndefined = Object.prototype.toString.call(value).toLowerCase() === "[object undefined]";
+  for (let i = state.cachedOptions.length - 1; i >= 0; i--) {
+    const cachedOption = state.cachedOptions[i];
+    const isEqual2 = isObject2 ? getObj(cachedOption.value, props2.valueKey) === getObj(value, props2.valueKey) : cachedOption.value === value;
+    if (isEqual2) {
+      option = cachedOption;
+      break;
+    }
+  }
+  if (option) {
+    return option;
+  }
+  if (props2.optimization) {
+    option = api2.getSelectedOption(value);
+    if (option) {
+      return { value: option.value, currentLabel: option.label || option.currentLabel };
+    }
+    option = state.datas.find((v) => getObj(v, props2.valueKey) === value);
+    if (option) {
+      return { value: option.value, currentLabel: option.label || option.currentLabel };
+    }
+  }
+  const label = !isObject2 && !isNull2 && !isUndefined && !props2.clearNoMatchValue ? value : "";
+  let newOption = { value, currentLabel: label };
+  if (props2.multiple) {
+    newOption.hitState = false;
+  }
+  return newOption;
+};
+const getSelectedOption = ({ props: props2, state }) => (value) => {
+  let option;
+  if (props2.multiple) {
+    option = state.selected.find((v) => getObj(v, props2.valueKey) === value);
+  } else {
+    if (!isEmptyObject(state.selected) && getObj(state.selected, props2.valueKey) === value) {
+      option = state.selected;
+    }
+  }
+  return option;
+};
+const getOptionOfSetSelected = ({ api: api2, props: props2 }) => {
+  const option = api2.getOption(props2.modelValue) || {};
+  if (!option.state) {
+    option.state = {};
+  }
+  if (option.created) {
+    option.createdLabel = option.state.currentLabel;
+    option.createdSelected = true;
+  } else {
+    option.createdSelected = false;
+  }
+  if (!option.currentLabel) {
+    api2.clearNoMatchValue("");
+  }
+  return option;
+};
+const getResultOfSetSelected = ({ state, isGrid, isTree, api: api2, props: props2 }) => {
+  let result = [];
+  const newModelValue = [];
+  if (Array.isArray(state.modelValue)) {
+    state.modelValue.forEach((value) => {
+      if (isGrid || isTree) {
+        const option = api2.getPluginOption(value, isTree);
+        result = result.concat(option);
+        if (props2.clearNoMatchValue && option.length) {
+          newModelValue.push(value);
+        }
+      } else {
+        const option = api2.getOption(value);
+        if (!props2.clearNoMatchValue || props2.clearNoMatchValue && option.label) {
+          result.push(option);
+          newModelValue.push(value);
+        }
+      }
+    });
+  }
+  api2.clearNoMatchValue(newModelValue);
+  return result;
+};
+const setGridOrTreeSelected = ({ props: props2, state, vm, isTree, api: api2 }) => {
+  if (!props2.modelValue) {
+    state.selectedLabel = "";
+    state.selected = {};
+    state.currentKey = "";
+    vm.$refs.selectGrid && vm.$refs.selectGrid.clearRadioRow();
+    vm.$refs.selectTree && vm.$refs.selectTree.setCurrentKey && vm.$refs.selectTree.setCurrentKey(null);
+    return;
+  }
+  const isRemote = props2.filterable && props2.remote && (typeof props2.remoteMethod === "function" || typeof props2.initQuery === "function");
+  const nestdata = isRemote ? state.remoteData : isTree ? api2.getTreeData(state.treeData) : state.gridData;
+  const data = find(nestdata, (item) => props2.modelValue === item[props2.valueField]);
+  if (isEmptyObject(data)) {
+    api2.clearNoMatchValue("");
+    return;
+  }
+  const obj = Object.assign({}, data);
+  const label = data[props2.textField];
+  obj.currentLabel = label;
+  state.selectedLabel = label;
+  state.selected = obj;
+  state.currentKey = data[props2.valueField];
+};
+const setSelected = ({ api: api2, constants, nextTick, props: props2, vm, state }) => () => {
+  const isTree = props2.renderType === constants.TYPE.Tree;
+  const isGrid = props2.renderType === constants.TYPE.Grid;
+  if (!props2.multiple) {
+    if (isGrid || isTree) {
+      setGridOrTreeSelected({ props: props2, state, vm, isTree, api: api2 });
+    } else {
+      const option = getOptionOfSetSelected({ api: api2, props: props2 });
+      state.selected = option;
+      state.selectedLabel = option.state.currentLabel || option.currentLabel;
+      props2.filterable && !props2.shape && (state.query = state.selectedLabel);
+    }
+  } else {
+    const result = getResultOfSetSelected({ state, props: props2, isGrid, isTree, api: api2 });
+    state.selectCls = result.length ? result.length === state.options.length ? "checked-sur" : "halfselect" : "check";
+    state.selected = result;
+    vm.$refs.selectTree && vm.$refs.selectTree.setCheckedNodes && vm.$refs.selectTree.setCheckedNodes(state.selected);
+    state.tips = state.selected.map((item) => item.state ? item.state.currentLabel : item.currentLabel).join(",");
+    setFilteredSelectCls(nextTick, state, props2);
+    nextTick(api2.resetInputHeight);
+  }
+};
+const getPluginOption = ({ api: api2, props: props2, state }) => (value, isTree) => {
+  const isRemote = props2.filterable && props2.remote && (typeof props2.remoteMethod === "function" || typeof props2.initQuery === "function");
+  const { textField, valueField } = props2;
+  const sourceData = isRemote ? state.remoteData : isTree ? api2.getTreeData(state.treeData) : state.gridData;
+  const selNode = find(sourceData, (item) => item[valueField] === value);
+  const items = [];
+  if (selNode) {
+    selNode.currentLabel = selNode[textField];
+    items.push(selNode);
+  }
+  return items;
+};
+const toggleCheckAll = ({ api: api2, state, props: props2 }) => (filtered) => {
+  let value = [];
+  const enabledValues = state.options.filter((op) => !op.state.disabled && !op.state.groupDisabled && !op.required && op.state.visible).map((op) => op.value);
+  if (filtered) {
+    if (state.filteredSelectCls === "check" || state.filteredSelectCls === "halfselect") {
+      value = [.../* @__PURE__ */ new Set([...state.modelValue, ...enabledValues])];
+    } else {
+      value = state.modelValue.filter((val) => !enabledValues.includes(val));
+    }
+  } else {
+    if (state.selectCls === "check") {
+      value = enabledValues;
+    } else if (state.selectCls === "halfselect") {
+      const unchecked = state.options.filter((item) => !item.state.disabled && item.state.selectCls === "check");
+      unchecked.length ? value = enabledValues : value = [];
+    } else if (state.selectCls === "checked-sur") {
+      value = [];
+    }
+  }
+  const requiredValue = state.options.filter((op) => op.required).map((op) => op.value);
+  const disabledSelectedValues = state.options.filter((op) => (op.state.disabled || op.state.groupDisabled) && op.state.selectCls === "checked-sur").map((op) => op.value);
+  value = [...value, ...requiredValue, ...disabledSelectedValues];
+  api2.setSoftFocus();
+  state.isSilentBlur = true;
+  api2.updateModelValue(value);
+  api2.directEmitChange(value);
+};
+const handleFocus = ({ emit, props: props2, state }) => (event) => {
+  if (!state.softFocus) {
+    if (props2.automaticDropdown || props2.filterable) {
+      state.visible = true;
+      state.softFocus = true;
+    }
+    emit("focus", event);
+  } else {
+    if (state.searchSingleCopy && state.selectedLabel) {
+      emit("focus", event);
+    }
+    state.softFocus = false;
+  }
+};
+const focus = ({ vm, state }) => () => {
+  if (!state.softFocus) {
+    vm.$refs.reference.focus();
+  }
+};
+const blur = ({ vm, state }) => () => {
+  state.visible = false;
+  vm.$refs.reference.blur();
+};
+const handleBlur = ({ constants, dispatch, emit, state, designConfig }) => (event) => {
+  var _a;
+  clearTimeout(state.timer);
+  state.timer = setTimeout(() => {
+    var _a2;
+    if (state.isSilentBlur) {
+      state.isSilentBlur = false;
+    } else {
+      emit("blur", event);
+    }
+    if ((_a2 = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a2.delayBlur) {
+      dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.formBlur, event.target.value);
+    }
+  }, 200);
+  if (!((_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.delayBlur)) {
+    dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.formBlur, event.target.value);
+  }
+  state.softFocus = false;
+};
+const handleClearClick = (api2) => (event) => {
+  api2.deleteSelected(event);
+};
+const doDestroy = (vm) => () => {
+  var _a;
+  if ((_a = vm == null ? void 0 : vm.$refs) == null ? void 0 : _a.popper) {
+    vm.$refs.popper.doDestroy();
+  }
+};
+const handleClose = (state) => () => {
+  state.visible = false;
+};
+const toggleLastOptionHitState = ({ state }) => (hit) => {
+  if (!Array.isArray(state.selected)) {
+    return;
+  }
+  const option = state.selected[state.selected.length - 1];
+  if (!option) {
+    return;
+  }
+  if (option.required) {
+    return true;
+  }
+  const hitTarget = option.state || option;
+  if (hit === true || hit === false) {
+    hitTarget.hitState = hit;
+    return hit;
+  }
+  hitTarget.hitState = !hitTarget.hitState;
+  return hitTarget.hitState;
+};
+const deletePrevTag = ({ api: api2, constants, props: props2, state, vm }) => (event) => {
+  if (event.target.value.length <= 0 && !api2.toggleLastOptionHitState()) {
+    const value = state.modelValue.slice();
+    value.pop();
+    state.compareValue = deepClone(value);
+    api2.updateModelValue(value);
+    api2.emitChange(value);
+    if (props2.renderType === constants.TYPE.Grid) {
+      const rows = state.selected.slice().filter((item) => value.includes(item[props2.valueField]));
+      vm.$refs.selectGrid.clearSelection();
+      vm.$refs.selectGrid.setSelection(rows, true);
+    }
+  }
+};
+const managePlaceholder = ({ vm, state }) => () => {
+  if (state.currentPlaceholder !== "") {
+    state.currentPlaceholder = vm.$refs.input.value ? "" : state.cachedPlaceHolder;
+  }
+};
+const resetInputState = ({ api: api2, vm, state }) => (event) => {
+  if (event.keyCode !== 8) {
+    api2.toggleLastOptionHitState(false);
+  }
+  state.inputLength = vm.$refs.input.value.length * 15 + 20;
+  api2.resetInputHeight();
+};
+const resetInputHeight = ({ constants, nextTick, props: props2, vm, state, api: api2, designConfig }) => () => {
+  if (state.collapseTags && !props2.filterable) {
+    return;
+  }
+  nextTick(() => {
+    var _a;
+    if (!vm.$refs.reference) {
+      return;
+    }
+    let input = vm.$refs.reference.type === "text" && vm.$refs.reference.$el.querySelector("input");
+    const tags = vm.$refs.tags;
+    const limitText = vm.$refs.reference.$el.querySelector("span.tiny-select__limit-txt");
+    if (!input) {
+      return;
+    }
+    if (!state.isDisplayOnly && (props2.hoverExpand || props2.clickExpand) && !props2.disabled) {
+      api2.calcCollapseTags();
+    }
+    const sizeInMap = (designConfig == null ? void 0 : designConfig.state.initialInputHeight) || state.initialInputHeight || (state.isSaaSTheme ? 28 : 30);
+    const noSelected = state.selected.length === 0;
+    const spacingHeight = designConfig ? (_a = designConfig.state) == null ? void 0 : _a.spacingHeight : constants.SPACING_HEIGHT;
+    if (!state.isDisplayOnly) {
+      if (!noSelected && tags) {
+        singleton_default.measure(() => {
+          const tagsClientHeight = tags.clientHeight;
+          singleton_default.mutate(() => {
+            input.style.height = Math.max(tagsClientHeight + spacingHeight, sizeInMap) + "px";
+          });
+        });
+      } else {
+        input.style.height = noSelected ? sizeInMap + "px" : Math.max(0, sizeInMap) + "px";
+      }
+    } else {
+      input.style.height = "auto";
+    }
+    if (limitText && props2.multipleLimit) {
+      const { width, marginLeft, marginRight } = getComputedStyle(limitText);
+      vm.$refs.tags.style.paddingRight = `${Math.ceil(
+        parseFloat(width) + parseFloat(marginLeft) + parseFloat(marginRight)
+      )}px`;
+    }
+    if (state.visible && state.emptyText !== false) {
+      state.selectEmitter.emit(constants.EVENT_NAME.updatePopper, true);
+    }
+  });
+};
+const resetHoverIndex = ({ props: props2, state }) => () => {
+  if (!props2.showOverflowTooltip) {
+    state.hoverIndex = -1;
+  } else if (!props2.multiple) {
+    state.hoverIndex = state.options.indexOf(state.selected);
+  } else {
+    if (state.selected.length > 0) {
+      state.hoverIndex = Math.min.apply(
+        null,
+        state.selected.map((item) => state.options.indexOf(item))
+      );
+    } else {
+      state.hoverIndex = -1;
+    }
+  }
+};
+const resetDatas = ({ props: props2, state }) => () => {
+  if (props2.optimization && !props2.remote && !props2.filterMethod) {
+    state.datas = state.initDatas;
+  }
+};
+const handleOptionSelect = ({ api: api2, nextTick, props: props2, vm, state }) => (option, byClick) => {
+  state.memorize && state.memorize.updateByKey(option[state.memorize._dataKey] || option.value);
+  if (props2.multiple) {
+    const value = (state.modelValue || []).slice();
+    const optionIndex = api2.getValueIndex(value, option.value);
+    if (optionIndex > -1) {
+      value.splice(optionIndex, 1);
+    } else if (state.multipleLimit <= 0 || value.length < state.multipleLimit) {
+      value.push(option.value);
+    }
+    state.compareValue = deepClone(value);
+    api2.updateModelValue(value);
+    api2.emitChange(value);
+    if (option.created) {
+      const isChange = false;
+      const isInput = true;
+      state.query = "";
+      api2.handleQueryChange("", isChange, isInput);
+      state.inputLength = 20;
+    }
+    if (props2.filterable) {
+      vm.$refs.input.focus();
+    }
+    if (props2.autoClose) {
+      state.visible = false;
+    }
+  } else {
+    state.compareValue = deepClone(option.value);
+    api2.updateModelValue(option.value);
+    api2.emitChange(option.value);
+    if (option.created) {
+      state.createdSelected = true;
+      state.createdLabel = option.value;
+    }
+    state.visible = false;
+  }
+  state.isSilentBlur = byClick;
+  api2.setSoftFocus();
+  if (state.visible) {
+    return;
+  }
+  nextTick(() => {
+    api2.scrollToOption(option);
+  });
+};
+const initValue = ({ state }) => (vm) => {
+  const isExist = state.initValue.find((val) => val === vm.value);
+  !isExist && state.initValue.push(vm.value);
+};
+const setSoftFocus = ({ vm, state }) => () => {
+  state.softFocus = true;
+  const input = vm.$refs.input || vm.$refs.reference;
+  if (input) {
+    input.focus();
+  }
+  state.softFocus = false;
+};
+const getValueIndex = (props2) => (arr = [], value = null) => {
+  const isObject2 = Object.prototype.toString.call(value).toLowerCase() === "[object object]";
+  if (!isObject2) {
+    return arr.indexOf(value);
+  } else {
+    const valueKey = props2.valueKey;
+    let index3 = -1;
+    arr.some((item, i) => {
+      if (getObj(item, valueKey) === getObj(value, valueKey)) {
+        index3 = i;
+        return true;
+      }
+      return false;
+    });
+    return index3;
+  }
+};
+const toggleMenu = ({ vm, state, props: props2, api: api2 }) => (e) => {
+  if (props2.keepFocus && state.visible && props2.filterable) {
+    return;
+  }
+  const event = e || window.event;
+  const enterCode = 13;
+  const nodeName = event.target && event.target.nodeName;
+  const toggleVisible = props2.ignoreEnter ? event.keyCode !== enterCode && nodeName === "INPUT" : true;
+  if (!props2.displayOnly) {
+    event.stopPropagation();
+  }
+  if (!state.selectDisabled) {
+    toggleVisible && !state.softFocus && (state.visible = !state.visible);
+    state.softFocus = false;
+    if (state.visible) {
+      if (!(props2.filterable && props2.shape)) {
+        const dom = vm.$refs.input || vm.$refs.reference;
+        (dom == null ? void 0 : dom.focus) && dom.focus();
+        api2.setOptionHighlight();
+      }
+    }
+  }
+};
+const selectOption = ({ api: api2, state, props: props2 }) => (e) => {
+  if (!state.visible || props2.hideDrop) {
+    api2.toggleMenu(e);
+  } else {
+    let option = "";
+    if (state.query || props2.remote) {
+      option = state.options.find((item) => item.state.index === state.hoverValue);
+    } else {
+      option = state.options[state.hoverIndex];
+    }
+    option && api2.handleOptionSelect(option);
+  }
+};
+const deleteSelected$1 = ({ api: api2, constants, emit, props: props2, vm, state }) => (event) => {
+  event && event.stopPropagation();
+  let selectedValue = [];
+  if (props2.multiple) {
+    const requireOptions = state.options.filter((opt) => opt.required && opt.value);
+    selectedValue = state.modelValue.slice().filter((v) => requireOptions.find((opt) => opt.value === v));
+  }
+  const value = props2.multiple ? selectedValue : "";
+  if (props2.renderType === constants.TYPE.Tree) {
+    state.selected = {};
+    state.selectedLabel = "";
+    vm.$refs.selectTree.state.currentRadio.value = null;
+    vm.$refs.selectTree.setCurrentKey(null);
+  } else if (props2.renderType === constants.TYPE.Grid) {
+    state.selected = {};
+    state.selectedLabel = "";
+    vm.$refs.selectGrid.clearRadioRow();
+  }
+  state.showTip = false;
+  state.compareValue = deepClone(value);
+  api2.updateModelValue(value, true);
+  api2.emitChange(value, true);
+  state.visible = false;
+  emit("clear");
+};
+const deleteTag = ({ api: api2, constants, emit, props: props2, state, nextTick, vm }) => (event, tag) => {
+  if (tag.required)
+    return;
+  const isTree = props2.renderType === constants.TYPE.Tree;
+  const index3 = state.selected.indexOf(tag);
+  const treeValue = [];
+  const treeIds = [tag[props2.valueField]];
+  if (isTree && !props2.treeOp.checkStrictly) {
+    let node = vm.$refs.selectTree.getNode(tag[props2.valueField]);
+    if (!node.isLeaf) {
+      treeIds.push(...api2.getChildValue(node.childNodes, props2.valueField));
+    }
+    while (node.parent && !Array.isArray(node.parent.data)) {
+      node.parent.data && treeIds.push(node.parent.data[props2.valueField]);
+      node = node.parent;
+    }
+    state.selected.slice().map((node2) => !treeIds.includes(node2[props2.valueField]) && treeValue.push(node2[props2.valueField]));
+  }
+  if (index3 > -1 && !state.selectDisabled) {
+    const value = state.modelValue.slice();
+    value.splice(index3, 1);
+    if (props2.renderType === constants.TYPE.Tree) {
+      props2.treeOp.checkStrictly && treeValue.push(...value);
+      vm.$refs.selectTree.setCheckedKeys(treeValue);
+    } else if (props2.renderType === constants.TYPE.Grid) {
+      const rows = state.selected.slice().filter((item) => value.includes(item[props2.valueField]));
+      vm.$refs.selectGrid.clearSelection();
+      vm.$refs.selectGrid.setSelection(rows, true);
+    }
+    state.compareValue = deepClone(value);
+    api2.updateModelValue(isTree ? treeValue : value);
+    api2.emitChange(value);
+    emit(constants.EVENT_NAME.removeTag, tag[props2.valueField]);
+    nextTick(() => state.key++);
+  }
+  event && event.stopPropagation();
+};
+const onInputChange = ({ api: api2, props: props2, state, constants, nextTick }) => () => {
+  if (!props2.delay) {
+    if (props2.filterable && state.query !== state.selectedLabel) {
+      const isChange = false;
+      const isInput = true;
+      state.query = state.selectedLabel;
+      api2.handleQueryChange(state.query, isChange, isInput);
+      nextTick(() => {
+        state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+      });
+    }
+  } else {
+    api2.debouncRquest();
+  }
+  nextTick(() => {
+    state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+  });
+};
+const onOptionDestroy = (state) => (index3) => {
+  if (index3 > -1) {
+    state.optionsCount--;
+    state.filteredOptionsCount--;
+    state.options.splice(index3, 1);
+  }
+};
+const resetInputWidth = ({ vm, state }) => () => {
+  if (vm.$refs.reference && vm.$refs.reference.$el) {
+    state.inputWidth = vm.$refs.reference.$el.getBoundingClientRect().width;
+  }
+};
+const handleResize = ({ api: api2, props: props2, state }) => () => {
+  api2.resetInputWidth();
+  if (props2.multiple && !state.isDisplayOnly) {
+    api2.resetInputHeight();
+  }
+};
+const setOptionHighlight = (state) => () => {
+  for (let i = 0; i < state.options.length; ++i) {
+    const option = state.options[i];
+    if (!option.disabled && !option.groupDisabled && !option.state.created && option.state.visible && option.state.itemSelected) {
+      state.hoverIndex = i;
+      break;
+    }
+  }
+};
+const checkDefaultFirstOption = (state) => () => {
+  state.hoverIndex = -1;
+  let hasCreated = false;
+  const visibleOptions = state.options.filter((item) => item.visible && item.state.visible);
+  for (let i = visibleOptions.length - 1; i >= 0; i--) {
+    if (visibleOptions[i].created) {
+      hasCreated = true;
+      state.hoverIndex = i;
+      state.hoverValue = state.optionIndexArr[i];
+      break;
+    }
+  }
+  if (hasCreated) {
+    return;
+  }
+  for (let i = 0; i < visibleOptions.length; i++) {
+    const option = visibleOptions[i];
+    if (state.query) {
+      if (!option.disabled && !option.groupDisabled && option.state.visible && option.visible) {
+        state.hoverIndex = i;
+        state.hoverValue = state.optionIndexArr[i];
+        break;
+      }
+    } else {
+      if (option.itemSelected) {
+        state.hoverIndex = i;
+        state.hoverValue = state.optionIndexArr[i];
+        break;
+      }
+    }
+  }
+};
+const getValueKey = (props2) => (item) => {
+  if (!item)
+    return;
+  if (Object.prototype.toString.call(item.value).toLowerCase() !== "[object object]") {
+    return item.value || item[props2.valueField];
+  }
+  return getObj(item.value, props2.valueKey);
+};
+const navigateOptions = ({ api: api2, state, props: props2, nextTick }) => (direction) => {
+  const { optimization } = props2;
+  if (optimization) {
+    return;
+  }
+  const len = state.options.filter((item) => item.visible && item.state.visible).length;
+  if (!state.visible) {
+    state.visible = true;
+    return;
+  }
+  if (len === 0 || state.filteredOptionsCount === 0) {
+    return;
+  }
+  state.disabledOptionHover = true;
+  setTimeout(() => {
+    state.disabledOptionHover = false;
+  }, 100);
+  if (state.hoverIndex < -1 || state.hoverIndex >= len) {
+    state.hoverIndex = 0;
+  }
+  if (!state.optionsAllDisabled) {
+    if (direction === "next") {
+      state.hoverIndex++;
+      if (state.hoverIndex === len) {
+        state.hoverIndex = 0;
+      }
+    } else if (direction === "prev") {
+      state.hoverIndex--;
+      if (state.hoverIndex < 0) {
+        state.hoverIndex = len - 1;
+      }
+    }
+    let option = {};
+    state.hoverValue = state.optionIndexArr[state.hoverIndex];
+    if (state.query || props2.remote) {
+      option = state.options.find((item) => item.state.index === state.hoverValue);
+    } else {
+      option = state.options[state.hoverIndex];
+    }
+    if (option.disabled === true || option.groupDisabled === true || !option.state.visible || option.state.limitReached) {
+      api2.navigateOptions(direction);
+    }
+    nextTick(() => api2.scrollToOption(state.hoverIndex === -9 ? {} : option || {}));
+  }
+};
+const emptyFlag = ({ props: props2, state }) => () => {
+  if (props2.optimization) {
+    if (props2.allowCreate) {
+      return state.query === "" && state.datas.length === 0;
+    } else {
+      return state.datas.length === 0;
+    }
+  } else {
+    return state.options.length === 0;
+  }
+};
+const recycleScrollerHeight = ({ state, props: props2, recycle }) => () => {
+  const { ITEM_HEIGHT, SAFE_MARGIN, SAAS_HEIGHT, AURORA_HEIGHT } = recycle;
+  let length = state.datas.length;
+  if (state.showNewOption) {
+    length += 1;
+  }
+  if (length === 0 || props2.loading) {
+    return 0;
+  } else if (length < 6) {
+    return length * ITEM_HEIGHT + (state.isSaaSTheme ? SAFE_MARGIN * 2 : 0);
+  } else {
+    return state.isSaaSTheme ? SAAS_HEIGHT : AURORA_HEIGHT;
+  }
+};
+const emptyText = ({ I18N, props: props2, state, t: t2, isMobileFirstMode }) => () => {
+  if (props2.loading) {
+    return props2.loadingText || t2(I18N.loading);
+  }
+  if (props2.remote && state.query === "" && props2.renderType) {
+    return remoteEmptyText(props2, state);
+  }
+  if (props2.remote && state.query === "" && state.emptyFlag && !state.triggerSearch) {
+    return props2.shape === "filter" || isMobileFirstMode ? "" : false;
+  }
+  if (props2.filterable && state.query && (props2.remote && state.emptyFlag || !state.options.some((option) => option.visible && option.state.visible))) {
+    return props2.noMatchText || t2(I18N.noMatch);
+  }
+  if (state.emptyFlag) {
+    return props2.noDataText || t2(I18N.noData);
+  }
+  return null;
+};
+const remoteEmptyText = function(props2, state) {
+  if (props2.multiple) {
+    return state.selected.length > 0 || state.remoteData.length >= 0;
+  }
+  return state.selected[props2.valueField] || state.remoteData.length >= 0;
+};
+const watchValue = ({ api: api2, constants, dispatch, props: props2, vm, state }) => (value, oldValue) => {
+  if (props2.multiple) {
+    api2.resetInputHeight();
+    if (value && value.length > 0 || vm.$refs.input && state.query !== "") {
+      state.currentPlaceholder = "";
+    } else {
+      state.currentPlaceholder = state.cachedPlaceHolder;
+    }
+    if (props2.filterable && !props2.reserveKeyword) {
+      props2.renderType !== constants.TYPE.Grid && !props2.searchable && (state.query = "");
+    }
+  }
+  api2.setSelected();
+  !state.isClickChoose && api2.initQuery({ init: true }).then(() => api2.setSelected());
+  state.isClickChoose = false;
+  if (props2.filterable && !props2.multiple) {
+    state.inputLength = 20;
+  }
+  if (state.completed && !isEqual$1(value, oldValue)) {
+    dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.formChange, value);
+  }
+  props2.optimization && optmzApis.setValueIndex({ props: props2, state });
+};
+const calcOverFlow = ({ vm, props: props2, state }) => (height) => {
+  if (props2.multiple && props2.showOverflowTooltip) {
+    state.overflow = false;
+    const tagDom = vm.$refs.tags;
+    const tags = tagDom.querySelectorAll('[data-tag="tiny-tag"]');
+    if (tags.length) {
+      tagDom.scrollTo && tagDom.scrollTo({ top: 0 });
+      let { x, width } = tags[0].getBoundingClientRect();
+      if (width >= tagDom.getBoundingClientRect().width) {
+        state.overflow = 0;
+      } else {
+        for (let i = 1; i < tags.length; i++) {
+          let tx = tags[i].getBoundingClientRect().x;
+          if (tx === x) {
+            state.overflow = i - 1;
+            break;
+          }
+        }
+      }
+    }
+    vm.$refs.select.style.height = vm.$refs.select.style.height || height;
+    vm.$refs.reference.$el.style.position = "absolute";
+    const inputWidth = vm.$refs.select.getBoundingClientRect().width;
+    const position = state.visible ? "absolute" : "";
+    state.selectFiexd = {
+      height,
+      position,
+      width: inputWidth + "px",
+      zIndex: popup_manager_default.nextZIndex()
+    };
+    state.inputWidth = inputWidth;
+  }
+};
+const postOperOfToVisible = ({ props: props2, state, constants }) => {
+  if (props2.multiple) {
+    return;
+  }
+  if (state.selected) {
+    if (props2.renderType === constants.TYPE.Grid || props2.renderType === constants.TYPE.Tree) {
+      state.selectedLabel = state.selected.currentLabel;
+    } else {
+      if (props2.filterable && props2.allowCreate && state.createdSelected && state.createdLabel) {
+        state.selectedLabel = state.createdLabel;
+      } else {
+        state.selectedLabel = state.selected.state.currentLabel || state.selected.currentLabel;
+      }
+      if (props2.filterable) {
+        state.query = state.selectedLabel;
+      }
+    }
+    if (props2.filterable) {
+      state.currentPlaceholder = state.cachedPlaceHolder;
+    }
+  }
+};
+const toVisible = ({ constants, state, props: props2, vm, api: api2, nextTick }) => () => {
+  state.selectEmitter.emit(constants.EVENT_NAME.destroyPopper);
+  props2.remote && props2.dropOnlySearch && (state.showWarper = false);
+  if (vm.$refs.input) {
+    vm.$refs.input.blur();
+  }
+  state.query = "";
+  state.selectedLabel = "";
+  state.inputLength = 20;
+  state.previousQuery !== state.query && api2.initQuery().then(() => api2.setSelected());
+  if (props2.renderType !== constants.TYPE.Tree) {
+    state.previousQuery = null;
+  }
+  api2.resetHoverIndex();
+  api2.resetDatas();
+  nextTick(() => {
+    if (vm.$refs.input && vm.$refs.input.value === "" && state.selected.length === 0) {
+      state.currentPlaceholder = state.cachedPlaceHolder;
+    }
+    if (vm.$refs.selectGrid) {
+      vm.$refs.selectGrid.clearScroll();
+    }
+  });
+  postOperOfToVisible({ props: props2, state, constants });
+};
+const toHide = ({ constants, state, props: props2, vm, api: api2 }) => () => {
+  const { filterable, remote, remoteConfig, shape, renderType, multiple, valueField } = props2;
+  state.selectEmitter.emit(constants.COMPONENT_NAME.SelectDropdown, constants.EVENT_NAME.updatePopper);
+  if (filterable) {
+    state.query = remote || shape ? "" : renderType !== constants.TYPE.Tree ? state.selectedLabel : "";
+    const isChange = remote && remoteConfig.autoSearch && (state.firstAutoSearch || remoteConfig.clearData);
+    state.firstAutoSearch = false;
+    api2.handleQueryChange(state.query, isChange);
+    if (multiple) {
+      vm.$refs.input.focus();
+    } else {
+      if (!remote) {
+        state.selectEmitter.emit(constants.EVENT_NAME.queryChange, "");
+        state.selectEmitter.emit(constants.COMPONENT_NAME.OptionGroup, constants.EVENT_NAME.queryChange);
+      }
+      if (state.selectedLabel && !shape) {
+        state.currentPlaceholder = state.selectedLabel;
+        state.selectedLabel = "";
+      }
+    }
+  }
+  if (vm.$refs.selectGrid) {
+    let { fullData } = vm.$refs.selectGrid.getTableData();
+    if (multiple) {
+      const selectedIds = state.selected.map((sel) => sel[valueField]);
+      vm.$refs.selectGrid.clearSelection();
+      vm.$refs.selectGrid.setSelection(
+        fullData.filter((row) => ~selectedIds.indexOf(row[valueField])),
+        true
+      );
+    } else {
+      vm.$refs.selectGrid.clearRadioRow();
+      vm.$refs.selectGrid.setRadioRow(find(fullData, (item) => props2.modelValue === item[valueField]));
+    }
+    if (filterable && typeof props2.filterMethod === "function") {
+      vm.$refs.selectGrid.handleTableData(true);
+    } else if (filterable && remote && (typeof props2.remoteMethod === "function" || typeof props2.initQuery === "function")) {
+      vm.$refs.selectGrid.handleTableData();
+    }
+  }
+};
+const watchVisible = ({ api: api2, constants, emit, state, vm, props: props2 }) => (value) => {
+  if ((props2.filterable || props2.remote) && !value) {
+    vm.$refs.reference.blur();
+  }
+  if (api2.onCopying()) {
+    return;
+  }
+  if (value && props2.multiple && state.device === "mb") {
+    state.selectedCopy = state.selected.slice();
+  }
+  setTimeout(() => {
+    if (!value && !state.selectedLabel) {
+      state.cachedOptions.forEach((item) => {
+        item.state.visible = true;
+      });
+    }
+  }, 200);
+  value ? api2.toHide() : api2.toVisible();
+  emit(constants.EVENT_NAME.visibleChange, value);
+  setTimeout(() => {
+    state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+    if (value && vm.$refs.scrollbar) {
+      if (props2.optimization) {
+        optmzApis.setScrollTop({ refs: vm.$refs, state });
+        vm.$refs.scrollbar.updateVisibleItems(true, true);
+      } else {
+        vm.$refs.scrollbar.handleScroll();
+      }
+    }
+  }, props2.updateDelay);
+  if (!value && props2.shape === "filter") {
+    state.softFocus = false;
+  }
+};
+const watchOptions = ({ api: api2, constants, nextTick, parent, props: props2, state }) => () => {
+  if (typeof window === "undefined") {
+    return;
+  }
+  nextTick(() => {
+    state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+  });
+  if (props2.multiple) {
+    api2.resetInputHeight();
+  }
+  nextTick(() => {
+    if (parent.$el.querySelector("input") !== document.activeElement) {
+      api2.setSelected();
+    }
+  });
+  api2.getOptionIndexArr();
+};
+const getOptionIndexArr = ({ props: props2, state, api: api2 }) => () => {
+  setTimeout(() => {
+    state.optionIndexArr = api2.queryVisibleOptions().map((item) => Number(item.getAttribute("data-index")));
+    if (props2.defaultFirstOption && (props2.filterable || props2.remote) && state.filteredOptionsCount) {
+      if (props2.optimization) {
+        optmzApis.checkDefaultFirstOption({ state });
+      } else {
+        api2.checkDefaultFirstOption();
+      }
+    }
+  });
+};
+const queryVisibleOptions = ({ props: props2, vm, isMobileFirstMode }) => () => {
+  if (props2.optimization) {
+    return optmzApis.queryVisibleOptions(vm, isMobileFirstMode);
+  } else {
+    return vm.$refs.scrollbar ? Array.from(vm.$refs.scrollbar.$el.querySelectorAll('[data-index]:not([style*="display: none"])')) : [];
+  }
+};
+const handleCopyClick = ({ parent, props: props2, state }) => () => {
+  const input = document.createElement("input");
+  input.style.height = 0;
+  input.style.border = "none";
+  input.style.position = "absolute";
+  parent.$el.appendChild(input);
+  input.value = state.selected.map((item) => item.state ? item.state.currentLabel : item.currentLabel).join(props2.textSplit);
+  input.select();
+  document.execCommand("copy");
+  parent.$el.removeChild(input);
+};
+const selectChange = ({ props: props2, state, api: api2 }) => ({ $table, selection, checked, row }) => {
+  const { textField, valueField } = props2;
+  const remoteItem = (row2) => {
+    const removeItem = find(state.selected, (item) => item[valueField] === row2[valueField]);
+    removeItem && state.selected.splice(state.selected.indexOf(removeItem), 1);
+  };
+  if (row) {
+    checked ? state.selected.push(__spreadProps(__spreadValues({}, row), { value: row[valueField], currentLabel: row[textField] })) : remoteItem(row);
+  } else {
+    checked ? state.selected = state.selected.concat(
+      selection.filter((row2) => !~state.modelValue.indexOf(row2[valueField]))
+    ) : $table.tableFullData.forEach((row2) => remoteItem(row2));
+  }
+  const keys = state.selected.map((item) => item[valueField]);
+  api2.updateModelValue(keys);
+  api2.directEmitChange(keys, state.selected);
+};
+const getcheckedData = ({ props: props2, state }) => () => {
+  const checkedKey = [];
+  if (!Array.isArray(state.selected)) {
+    return props2.modelValue ? [props2.modelValue] : [state.selected[props2.valueField]];
+  } else {
+    state.selected.length > 0 && state.selected.forEach((item) => {
+      checkedKey.push(item[props2.valueField]);
+    });
+    return checkedKey;
+  }
+};
+const radioChange = ({ props: props2, state, api: api2, vm }) => ({ row }) => {
+  row.value = row[props2.valueField];
+  row.currentLabel = row[props2.textField];
+  !state.hasClearSelection && vm.$refs.selectGrid.clearSelection();
+  state.hasClearSelection = true;
+  state.selected = row;
+  state.visible = false;
+  state.currentKey = row[props2.valueField];
+  api2.updateModelValue(row.value);
+  api2.directEmitChange(row);
+};
+const getTreeData = (props2, state) => (data) => {
+  const nodes = [];
+  const getChild = (data2, pId) => {
+    data2.forEach((node) => {
+      node.pId = pId;
+      nodes.push(node);
+      if (node[state.childrenName] && node[state.childrenName].length > 0) {
+        getChild(node[state.childrenName], node[props2.valueField]);
+      }
+    });
+  };
+  getChild(data, null);
+  return nodes;
+};
+const treeNodeClick = ({ props: props2, state, api: api2, vm }) => (data) => {
+  if (!props2.multiple) {
+    data.currentLabel = data[props2.textField];
+    data.value = data[props2.valueField];
+    state.selected = data;
+    state.visible = false;
+    api2.updateModelValue(data.value);
+    api2.directEmitChange(data);
+  } else {
+    if (props2.treeOp.checkOnClickNode) {
+      const checkedNodes = vm.$refs.selectTree.getCheckedNodes();
+      const checkedKeys = vm.$refs.selectTree.getCheckedKeys();
+      api2.nodeCheckClick(data, { checkedNodes, checkedKeys });
+    }
+  }
+};
+const nodeCheckClick = ({ props: props2, state, api: api2 }) => (data, { checkedKeys, checkedNodes }) => {
+  const selected = state.selected.map((item) => api2.getValueKey(item));
+  if (isEqual$1(selected, checkedKeys)) {
+    return;
+  }
+  state.selected = checkedNodes.filter((node) => {
+    node.currentLabel = node[props2.textField];
+    node.value = node[props2.valueField];
+  });
+  api2.updateModelValue(checkedKeys);
+  api2.directEmitChange(checkedKeys, checkedNodes);
+};
+const nodeCollapse = ({ state, constants }) => () => {
+  setTimeout(() => {
+    state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+  }, 310);
+};
+const nodeExpand = ({ state, constants }) => () => {
+  setTimeout(() => {
+    state.selectEmitter.emit(constants.EVENT_NAME.updatePopper);
+  }, 310);
+};
+const debouncRquest = ({ api: api2, state, props: props2 }) => debounce_default(props2.delay, () => {
+  if (props2.filterable && state.query !== state.selectedLabel) {
+    const isChange = false;
+    const isInput = true;
+    state.query = state.selectedLabel;
+    api2.handleQueryChange(state.query, isChange, isInput);
+  }
+});
+const getChildValue = () => (data, key) => {
+  const ids = [];
+  const getChild = (nodes) => {
+    nodes.forEach((node) => {
+      ids.push(node.data[key]);
+      if (node.childNodes.length > 0) {
+        getChild(node.childNodes);
+      }
+    });
+  };
+  getChild(data);
+  return ids;
+};
+const watchPropsOption = ({ constants, parent, props: props2, state }) => () => {
+  const renderType = props2.renderType;
+  const { key, parentKey } = props2.treeOp;
+  const dataset = {
+    dataset: props2.options || props2.dataset,
+    service: parent.$service,
+    tree: { key, parentKey }
+  };
+  getDataset(dataset).then((data) => {
+    if (renderType === constants.TYPE.Tree) {
+      state.treeData = data;
+    } else if (renderType === constants.TYPE.Grid) {
+      state.gridData = data;
+    } else {
+      let sortData = data.slice();
+      if (props2.multiple) {
+        const requiredData = [];
+        sortData = sortData.filter((item) => {
+          if (item.required) {
+            requiredData.push(item);
+            return false;
+          }
+          return true;
+        });
+        sortData = requiredData.concat(sortData);
+      }
+      if (props2.cacheOp && props2.cacheOp.key) {
+        state.memorize = new memorize_default(props2.cacheOp);
+        state.datas = state.memorize.assemble(sortData.slice());
+      } else {
+        state.datas = sortData;
+        state.initDatas = sortData;
+      }
+    }
+  });
+};
+const buildSelectConfig = ({ props: props2, state }) => () => {
+  const checkRowKeys = state.gridCheckedData;
+  const selectConfig = props2.selectConfig;
+  return Object.assign({}, selectConfig, { checkRowKeys });
+};
+const buildRadioConfig = ({ props: props2, state }) => () => {
+  const checkRowKey = state.currentKey;
+  const highlight = true;
+  const radioConfig = props2.radioConfig;
+  return Object.assign({}, radioConfig, { checkRowKey, highlight });
+};
+const onMouseenterNative = ({ state }) => () => {
+  state.inputHovering = true;
+  if (state.searchSingleCopy && state.selectedLabel) {
+    state.softFocus = true;
+  }
+};
+const onMouseleaveNative = ({ state }) => (e) => {
+  if (e.target === e.currentTarget)
+    return;
+  state.inputHovering = false;
+  if (state.searchSingleCopy && state.selectedLabel) {
+    state.softFocus = false;
+  }
+};
+const onCopying = ({ state, vm }) => () => {
+  return state.searchSingleCopy && state.selectedLabel && vm.$refs.reference && vm.$refs.reference.hasSelection && vm.$refs.reference.hasSelection();
+};
+const watchHoverIndex = ({ state }) => (value) => {
+  if (value === -1 || value === -9) {
+    state.hoverValue = -1;
+  } else {
+    state.hoverValue = state.optionIndexArr[value];
+  }
+};
+const handleDropdownClick = ({ vm, state, props: props2, emit }) => ($event) => {
+  if (props2.allowCopy && vm.$refs.reference) {
+    vm.$refs.reference.$el.querySelector("input").selectionEnd = 0;
+  }
+  state.softFocus = false;
+  emit("dropdown-click", $event);
+};
+const handleEnterTag = ({ state }) => ($event, key) => {
+  const target = $event.target;
+  if (target && target.scrollWidth > target.offsetWidth) {
+    state.tooltipContent = __spreadProps(__spreadValues({}, state.tooltipContent), { [key]: target.innerText });
+  }
+};
+const calcCollapseTags = ({ state, vm, props: props2 }) => () => {
+  if (state.inputHovering && !props2.clickExpand) {
+    return state.isHidden = true;
+  }
+  const tags = vm.$refs.tags;
+  const collapseTag = tags && tags.querySelector('[data-tag="tags-collapse"]');
+  if (!collapseTag || !tags) {
+    return;
+  }
+  const { width: tagsContentWidth, paddingLeft, paddingRight } = window.getComputedStyle(tags);
+  const tagsWidth = parseFloat(tagsContentWidth) - parseFloat(paddingLeft) - parseFloat(paddingRight);
+  const { width: collapseTagContentWidth, marginRight } = collapseTag && window.getComputedStyle(collapseTag);
+  const collapseTagWidth = collapseTag && parseFloat(collapseTagContentWidth) + parseFloat(marginRight);
+  const tagList = Array.from(tags.querySelectorAll('[data-tag="tiny-tag"]'));
+  let [dom, idx, currentRowWidth, currentTagIndex] = [null, 0, 0, 0];
+  for (let rowNum = 0; rowNum < props2.maxVisibleRows; rowNum++) {
+    currentRowWidth = 0;
+    let currentTagWidth = 0;
+    for (currentTagIndex; currentTagIndex < tagList.length; currentTagIndex++) {
+      const tag = tagList[currentTagIndex];
+      if (tag !== collapseTag) {
+        const { width: tagContentWidth, marginRight: marginRight2, marginLeft } = tag && window.getComputedStyle(tag);
+        currentTagWidth = parseFloat(tagContentWidth) + parseFloat(marginRight2) + parseFloat(marginLeft);
+        currentRowWidth += currentTagWidth;
+      }
+      if (tag !== collapseTag && currentRowWidth > tagsWidth) {
+        if (!dom && rowNum === props2.maxVisibleRows - 1) {
+          if (currentRowWidth - currentTagWidth + collapseTagWidth < tagsWidth) {
+            dom = tag;
+            idx = currentTagIndex;
+          } else {
+            dom = tagList[currentTagIndex - 1];
+            idx = currentTagIndex - 1;
+          }
+        }
+        break;
+      }
+    }
+    if (currentTagIndex === tagList.length - 1) {
+      break;
+    }
+  }
+  if (idx === 0) {
+    state.exceedMaxVisibleRow = false;
+    state.showCollapseTag = false;
+    return state.isHidden = true;
+  }
+  if (dom) {
+    dom.before(collapseTag);
+    state.isHidden = false;
+  } else {
+    state.isHidden = true;
+  }
+  state.collapseTagsLength = tagList.length - idx;
+  state.exceedMaxVisibleRow = true;
+  state.toHideIndex = idx;
+};
+const watchInputHover = ({ vm }) => (newVal) => {
+  const [inputHovering, visible] = newVal;
+  if (!inputHovering && !visible) {
+    const tags = vm.$refs.tags;
+    const content = vm.$refs["tags-content"];
+    tags && content && tags.scrollTo({ top: content });
+  }
+};
+const initQuery = ({ props: props2, state, constants, vm }) => ({ init } = {}) => {
+  const isRemote = props2.filterable && props2.remote && (typeof props2.remoteMethod === "function" || typeof props2.initQuery === "function");
+  const isGrid = props2.renderType === constants.TYPE.Grid;
+  let selected;
+  if (isRemote && isGrid && props2.initQuery) {
+    let initData = props2.initQuery(props2.modelValue, props2.extraQueryParams, !!init);
+    if (initData.then) {
+      return new Promise((resolve) => {
+        initData.then((selected2) => {
+          state.remoteData = selected2;
+          vm.$refs.selectGrid.loadData(selected2);
+          resolve(selected2);
+        });
+      });
+    }
+    selected = initData;
+    state.remoteData = selected;
+    vm.$refs.selectGrid.loadData(selected);
+  }
+  return Promise.resolve(selected);
+};
+const mounted$2 = ({ api: api2, parent, state, props: props2, vm, designConfig }) => () => {
+  var _a;
+  state.defaultCheckedKeys = state.gridCheckedData;
+  const parentEl = parent.$el;
+  const inputEl = parentEl.querySelector('input[data-tag="tiny-input-inner"]');
+  const inputClientRect = inputEl && inputEl.getBoundingClientRect() || {};
+  if (inputEl === document.activeElement) {
+    document.activeElement.blur();
+  }
+  state.completed = true;
+  const defaultSizeMap = { default: 28, mini: 24, small: 32, medium: 40 };
+  const sizeMap = ((_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.sizeMap) || defaultSizeMap;
+  if (props2.multiple && Array.isArray(props2.modelValue) && props2.modelValue.length > 0) {
+    state.currentPlaceholder = "";
+  }
+  state.initialInputHeight = state.isDisplayOnly ? sizeMap[state.selectSize || "default"] : inputClientRect.height || sizeMap[state.selectSize];
+  addResizeListener(parentEl, api2.handleResize);
+  if (vm.$refs.tags) {
+    addResizeListener(vm.$refs.tags, api2.resetInputHeight);
+  }
+  if (props2.remote && props2.multiple) {
+    api2.resetInputHeight();
+  }
+  state.inputWidth = inputClientRect.width;
+  api2.initQuery({ init: true }).then(() => api2.setSelected());
+  if (props2.dataset) {
+    api2.watchPropsOption();
+  }
+};
+const unMount = ({ api: api2, parent, vm, state }) => () => {
+  if (parent.$el && api2.handleResize) {
+    removeResizeListener(parent.$el, api2.handleResize);
+  }
+  if (vm.$refs.tags) {
+    removeResizeListener(vm.$refs.tags, api2.resetInputHeight);
+  }
+  state.popperElm = null;
+};
+const optmzApis = {
+  exist: (val, multiple) => multiple ? Array.isArray(val) && val.length : val,
+  getValueIndex: (props2) => {
+    const { options, valueField, modelValue, multiple } = props2;
+    const contain = (val, arr) => Array.isArray(arr) && ~arr.indexOf(val);
+    const equal = (val, opt) => multiple ? contain(opt[valueField], [val]) : opt[valueField] === val;
+    let start = 0;
+    if (optmzApis.exist(modelValue, multiple) && options) {
+      const lastVal = multiple ? modelValue[modelValue.length - 1] : modelValue;
+      for (let i = 0; i < options.length; i++) {
+        if (!equal(lastVal, options[i]))
+          continue;
+        return i;
+      }
+    }
+    return start;
+  },
+  queryVisibleOptions: (vm, isMobileFirstMode) => {
+    const querySelectKey = isMobileFirstMode ? ".cursor-not-allowed" : ".is-disabled";
+    return Array.from(
+      vm.$refs.scrollbar.$el.querySelectorAll(
+        '.tiny-recycle-scroller__slot, .tiny-recycle-scroller__item-view:not([style*="transform: translateY(-9999px) translateX(0px)"])'
+      )
+    ).map((item) => item.querySelector(`[data-tag="tiny-select-dropdown-item"]:not(${querySelectKey})`)).filter((v) => v);
+  },
+  setScrollTop: ({ refs, state }) => {
+    const { optimizeStore } = state;
+    refs.scrollbar.scrollToItem(optimizeStore.valueIndex);
+  },
+  setValueIndex: ({ props: props2, state }) => {
+    state.optimizeStore.valueIndex = optmzApis.getValueIndex(props2);
+  },
+  natural: (val) => val < 0 ? 0 : val,
+  checkDefaultFirstOption: ({ state }) => {
+    state.hoverIndex = 0;
+    state.hoverValue = state.optionIndexArr[0];
+  }
+};
+const computeOptimizeOpts = ({ props: props2, designConfig }) => () => {
+  const { optimization } = props2;
+  const baseOpts = (designConfig == null ? void 0 : designConfig.baseOpts) ? designConfig.baseOpts : { gt: 20, rSize: 10, optionHeight: 30, limit: 20 };
+  let optOpts;
+  if (optimization) {
+    if (typeof optimization === "boolean") {
+      optOpts = extend(true, {}, baseOpts);
+    } else {
+      optOpts = extend(true, {}, baseOpts, optimization);
+    }
+    return optOpts;
+  }
+};
+const watchOptimizeOpts = ({ props: props2, state }) => () => {
+  const { optimizeOpts, optimizeStore } = state;
+  if (optimizeOpts) {
+    if (props2.optimization) {
+      optimizeStore.valueIndex = optmzApis.getValueIndex(props2);
+    }
+  }
+};
+const computeCollapseTags = (props2) => () => props2.collapseTags;
+const computeMultipleLimit = ({ props: props2, state }) => () => {
+  const { multipleLimit, multiple, optimization } = props2;
+  const { optimizeOpts } = state;
+  return optmzApis.natural(multiple && optimization ? multipleLimit || optimizeOpts.limit : multipleLimit);
+};
+const updateModelValue = ({ props: props2, emit, state }) => (value, needUpdate) => {
+  state.isClickChoose = true;
+  if (state.device === "mb" && props2.multiple && !needUpdate) {
+    state.modelValue = value;
+  } else {
+    emit("update:modelValue", value);
+  }
+};
+const getLabelSlotValue = ({ props: props2, state }) => (item) => {
+  const datas = state.datas;
+  const value = item.state ? item.state.currentValue : item.value;
+  const data = datas.find((data2) => data2.value === value);
+  const obj = __spreadProps(__spreadValues({}, data), {
+    label: item.state ? item.state.currentLabel : item.currentLabel,
+    value
+  });
+  return ["grid", "tree"].includes(props2.renderType) ? item : obj;
+};
+const computedTagsStyle = ({ props: props2, parent, state, vm }) => () => {
+  const isReadonly = props2.disabled || (parent.form || {}).disabled || props2.displayOnly;
+  let tagsStyle = {
+    "max-width": isReadonly ? "" : state.inputWidth - state.inputPaddingRight + "px",
+    width: "100%"
+  };
+  if (props2.clickExpand && !state.exceedMaxVisibleRow || state.visible) {
+    Object.assign(tagsStyle, { height: "auto" });
+  }
+  if (props2.clickExpand && state.exceedMaxVisibleRow && !state.showCollapseTag) {
+    const tags = vm.$refs.tags;
+    const { paddingTop: tagsPaddingTop, paddingBottom: tagsPaddingBottom } = window.getComputedStyle(tags);
+    const tagsPaddingVertical = parseFloat(tagsPaddingTop) + parseFloat(tagsPaddingBottom);
+    const tag = tags == null ? void 0 : tags.querySelector('[data-tag="tiny-tag"]');
+    if (tag) {
+      const { height: tagHeight, marginTop, marginBottom } = window.getComputedStyle(tag);
+      const rowHeight = (parseFloat(tagHeight) + parseFloat(marginTop) + parseFloat(marginBottom)) * props2.maxVisibleRows;
+      Object.assign(tagsStyle, { "height": `${rowHeight + tagsPaddingVertical}px` });
+    }
+  }
+  return tagsStyle;
+};
+const computedReadonly = ({ props: props2, state }) => () => state.device === "mb" || props2.readonly || !props2.filterable || props2.multiple || browser_default.name !== BROWSER_NAME.IE && browser_default.name !== BROWSER_NAME.Edge && !state.visible;
+const computedShowClose = ({ props: props2, state }) => () => props2.clearable && !state.selectDisabled && (state.inputHovering || props2.multiple && state.visible) && (props2.multiple ? Array.isArray(props2.modelValue) && props2.modelValue.length > 0 : !isNull(props2.modelValue) && props2.modelValue !== "");
+const computedCollapseTagSize = (state) => () => state.selectSize;
+const computedShowNewOption = ({ props: props2, state }) => () => {
+  const query = state.device === "mb" ? state.queryValue : state.query;
+  return props2.filterable && props2.allowCreate && query && !state.options.filter((option) => !option.created).some((option) => option.state.currentLabel === state.query);
+};
+const computedShowCopy = ({ props: props2, state }) => () => props2.multiple && props2.copyable && state.inputHovering && state.selected.length;
+const computedOptionsAllDisabled = (state) => () => state.options.filter((option) => option.visible).every((option) => option.disabled);
+const computedDisabledTooltipContent = (state) => () => state.selected.map((item) => item.state ? item.state.currentLabel : item.currentLabel).join(";");
+const computedSelectDisabled = ({ props: props2, parent }) => () => props2.disabled || (parent.form || {}).disabled || props2.displayOnly || (parent.form || {}).displayOnly;
+const computedIsExpand = ({ props: props2, state }) => () => {
+  const hoverExpanded = (state.selectHover || state.visible) && props2.hoverExpand && !props2.disabled;
+  const clickExpanded = props2.clickExpand && state.exceedMaxVisibleRow && state.showCollapseTag;
+  return hoverExpanded || clickExpanded;
+};
+const computedIsExpandAll = (props2) => () => {
+  const { defaultExpandAll, lazy } = props2.treeOp;
+  return !lazy && defaultExpandAll !== false;
+};
+const loadTreeData = ({ state, vm, props: props2, api: api2 }) => ({ data = [], init = false }) => {
+  const getTreeDatas = (datas, newDatas = []) => {
+    datas.forEach(({ data: data2, childNodes }) => {
+      let temData = __spreadProps(__spreadValues({}, data2), { [state.childrenName]: [] });
+      if (childNodes && childNodes.length) {
+        getTreeDatas(childNodes, temData[state.childrenName]);
+      }
+      newDatas.push(temData);
+    });
+  };
+  if (init) {
+    state.treeData = data;
+  } else if (vm.$refs.selectTree) {
+    const treeData = [];
+    getTreeDatas(vm.$refs.selectTree.state.root.childNodes, treeData);
+    state.treeData = treeData;
+    const { multiple, treeOp } = props2;
+    if (multiple && treeOp.lazy) {
+      const checkedNodes = vm.$refs.selectTree.getCheckedNodes();
+      const checkedKeys = vm.$refs.selectTree.getCheckedKeys();
+      api2.nodeCheckClick(null, { checkedNodes, checkedKeys });
+    }
+  }
+};
+const watchInitValue = ({ props: props2, emit }) => (value) => {
+  if (props2.multiple) {
+    let modelValue = props2.modelValue.slice();
+    value.forEach((val) => {
+      modelValue = modelValue.filter((item) => item !== val);
+    });
+    emit("update:modelValue", value.concat(modelValue));
+  }
+};
+const watchShowClose = ({ nextTick, state, parent }) => () => {
+  nextTick(() => {
+    const parentEl = parent.$el;
+    const inputEl = parentEl.querySelector('input[data-tag="tiny-input-inner"]');
+    if (inputEl) {
+      const { paddingRight } = getComputedStyle(inputEl);
+      state.inputPaddingRight = parseFloat(paddingRight);
+    }
+  });
+};
+const computedGetIcon = ({ designConfig, props: props2 }) => () => {
+  return props2.dropdownIcon ? { icon: props2.dropdownIcon } : {
+    icon: (designConfig == null ? void 0 : designConfig.icons.dropdownIcon) || "icon-delta-down",
+    isDefault: true
+  };
+};
+const computedGetTagType = ({ designConfig, props: props2 }) => () => {
+  var _a;
+  if (((_a = designConfig == null ? void 0 : designConfig.props) == null ? void 0 : _a.tagType) && !props2.tagType) {
+    return designConfig.props.tagType;
+  }
+  return props2.tagType;
+};
+const clearSearchText = ({ state, api: api2 }) => () => {
+  state.query = "";
+  state.previousQuery = void 0;
+  api2.handleQueryChange(state.query);
+};
+const clearNoMatchValue = ({ props: props2, emit }) => (newModelValue) => {
+  if (!props2.clearNoMatchValue) {
+    return;
+  }
+  if (props2.multiple && props2.modelValue.length !== newModelValue.length || !props2.multiple && props2.modelValue !== newModelValue) {
+    emit("update:modelValue", newModelValue);
+  }
+};
+const handleDebouncedQueryChange = ({ state, api: api2 }) => debounce_default(state.debounce, (value) => {
+  api2.handleQueryChange(value);
+});
+const onClickCollapseTag = ({ state, props: props2, nextTick, api: api2 }) => (event) => {
+  event.stopPropagation();
+  if (props2.clickExpand && !props2.disabled && !state.isDisplayOnly) {
+    state.showCollapseTag = !state.showCollapseTag;
+    nextTick(api2.resetInputHeight);
+  }
+};
+const api$3 = [
+  "state",
+  "nodeCollapse",
+  "nodeExpand",
+  "toggleCheckAll",
+  "handleCopyClick",
+  "focus",
+  "blur",
+  "showTip",
+  "doDestroy",
+  "getOption",
+  "emitChange",
+  "handleBlur",
+  "toggleMenu",
+  "getValueKey",
+  "handleFocus",
+  "handleClose",
+  "setSoftFocus",
+  "getValueIndex",
+  "scrollToOption",
+  "resetHoverIndex",
+  "onOptionDestroy",
+  "resetInputWidth",
+  "resetInputHeight",
+  "managePlaceholder",
+  "checkDefaultFirstOption",
+  "setOptionHighlight",
+  "toggleLastOptionHitState",
+  "deleteTag",
+  "setSelected",
+  "selectOption",
+  "handleResize",
+  "deletePrevTag",
+  "onInputChange",
+  "deleteSelected",
+  "handleMenuEnter",
+  "resetInputState",
+  "handleClearClick",
+  "handleComposition",
+  "handleQueryChange",
+  "handleOptionSelect",
+  "debouncedOnInputChange",
+  "debouncedQueryChange",
+  "navigateOptions",
+  "selectChange",
+  "radioChange",
+  "treeNodeClick",
+  "nodeCheckClick",
+  "buildSelectConfig",
+  "buildRadioConfig",
+  "onMouseenterNative",
+  "onMouseleaveNative",
+  "onCopying",
+  "handleDropdownClick",
+  "handleEnterTag",
+  "getLabelSlotValue",
+  "loadTreeData",
+  "updateModelValue",
+  "clearSearchText",
+  "onClickCollapseTag"
+];
+const initState$2 = ({ reactive, computed, props: props2, api: api2, emitter, parent, constants, useBreakpoint, vm, designConfig }) => {
+  const stateAdd = initStateAdd({ computed, props: props2, api: api2, parent });
+  const state = reactive(__spreadProps(__spreadValues({}, stateAdd), {
+    selectEmitter: emitter(),
+    datas: [],
+    initDatas: [],
+    query: "",
+    magicKey: 0,
+    options: [],
+    visible: false,
+    showCopy: computed(() => api2.computedShowCopy()),
+    showWarper: true,
+    // 显示下拉外层控制
+    selected: props2.multiple ? [] : {},
+    softFocus: false,
+    hover: false,
+    triggerSearch: false,
+    firstAutoSearch: props2.remoteConfig.autoSearch,
+    tagsStyle: computed(() => api2.computedTagsStyle()),
+    readonly: computed(() => api2.computedReadonly()),
+    iconClass: computed(() => state.visible ? "" : constants.CLASS.IsReverse),
+    showClose: computed(() => api2.computedShowClose()),
+    optionsAllDisabled: computed(() => api2.computedOptionsAllDisabled()),
+    collapseTagSize: computed(() => api2.computedCollapseTagSize()),
+    showNewOption: computed(() => api2.computedShowNewOption()),
+    selectSize: computed(() => props2.size || state.formItemSize),
+    optimizeOpts: computed(() => api2.computeOptimizeOpts()),
+    optimizeStore: { valueIndex: 0, recycleScrollerHeight: computed(() => api2.recycleScrollerHeight()) },
+    collapseTags: computed(() => api2.computeCollapseTags()),
+    multipleLimit: computed(() => api2.computeMultipleLimit()),
+    disabledTooltipContent: computed(() => api2.computedDisabledTooltipContent()),
+    isExpand: computed(() => api2.computedIsExpand()),
+    collapseTagsLength: 0,
+    initValue: [],
+    key: 0,
+    device: "",
+    timer: null,
+    modelValue: [],
+    queryValue: "",
+    selectedCopy: [],
+    compareValue: null,
+    selectedVal: computed(
+      () => state.device === "mb" && props2.multiple && state.visible ? state.selectedCopy : state.selected
+    ),
+    displayOnlyContent: computed(
+      () => props2.multiple && Array.isArray(state.selected) ? state.selected.map((item) => item.state ? item.state.currentLabel : item.currentLabel).join("; ") : ""
+    ),
+    breakpoint: useBreakpoint ? useBreakpoint().current : "",
+    isSaaSTheme: vm.theme === "saas",
+    disabledOptionHover: false,
+    hasClearSelection: false,
+    // tiny 新增
+    getIcon: computed(() => api2.computedGetIcon()),
+    getTagType: computed(() => api2.computedGetTagType()),
+    isSelectAll: computed(() => state.selectCls === "checked-sur"),
+    autoHideDownIcon: (() => {
+      if ((designConfig == null ? void 0 : designConfig.state) && "autoHideDownIcon" in designConfig.state) {
+        return designConfig.state.autoHideDownIcon;
+      }
+      return true;
+    })()
+  }));
+  return state;
+};
+const initStateAdd = ({ computed, props: props2, api: api2, parent }) => {
+  return {
+    selectedTags: [],
+    tips: "",
+    showTip: false,
+    tipHover: false,
+    selectHover: false,
+    tipTimer: null,
+    selectCls: "checked-sur",
+    filteredSelectCls: "checked-sur",
+    overflow: null,
+    completed: false,
+    inputWidth: 0,
+    inputPaddingRight: 0,
+    hoverIndex: -1,
+    hoverValue: -1,
+    optionsIndex: -1,
+    inputLength: 20,
+    optionsCount: 0,
+    selectFiexd: {},
+    createdLabel: null,
+    isSilentBlur: false,
+    cachedOptions: [],
+    selectedLabel: "",
+    previousQuery: null,
+    inputHovering: false,
+    createdSelected: false,
+    isOnComposition: false,
+    cachedPlaceHolder: props2.placeholder,
+    inputHeight: 0,
+    initialInputHeight: 0,
+    currentPlaceholder: props2.placeholder,
+    filteredOptionsCount: 0,
+    gridData: [],
+    treeData: [],
+    remoteData: [],
+    currentKey: props2.modelValue,
+    updateId: "",
+    popperElm: null,
+    debounce: computed(() => isNumber(props2.queryDebounce) ? props2.queryDebounce : props2.remote ? 300 : 0),
+    emptyText: computed(() => api2.emptyText()),
+    emptyFlag: computed(() => api2.emptyFlag()),
+    formItemSize: computed(() => (parent.formItem || { state: {} }).state.formItemSize),
+    selectDisabled: computed(() => api2.computedSelectDisabled()),
+    isDisplayOnly: computed(() => props2.displayOnly || (parent.form || {}).displayOnly),
+    gridCheckedData: computed(() => api2.getcheckedData()),
+    isExpandAll: computed(() => api2.computedIsExpandAll()),
+    searchSingleCopy: computed(() => props2.allowCopy && !props2.multiple && props2.filterable),
+    childrenName: computed(() => props2.treeOp.props && props2.treeOp.props.children || "children"),
+    tooltipContent: {},
+    isHidden: false,
+    defaultCheckedKeys: [],
+    optionIndexArr: [],
+    showCollapseTag: false,
+    exceedMaxVisibleRow: false,
+    // 是否超出默认最大显示行数
+    toHideIndex: Infinity
+    // 第一个超出被隐藏的索引
+  };
+};
+const initApi$2 = ({
+  api: api2,
+  props: props2,
+  state,
+  emit,
+  maskState,
+  constants,
+  parent,
+  nextTick,
+  dispatch,
+  t: t2,
+  vm,
+  isMobileFirstMode,
+  designConfig
+}) => {
+  Object.assign(api2, {
+    state,
+    maskState,
+    doDestroy: doDestroy(vm),
+    getTreeData: getTreeData(props2, state),
+    blur: blur({ vm, state }),
+    focus: focus({ vm, state }),
+    getValueKey: getValueKey(props2),
+    handleClose: handleClose(state),
+    getValueIndex: getValueIndex(props2),
+    getChildValue: getChildValue(),
+    getOption: getOption({ props: props2, state, api: api2 }),
+    getSelectedOption: getSelectedOption({ props: props2, state }),
+    emitChange: emitChange({ emit, props: props2, state, constants }),
+    directEmitChange: directEmitChange({ emit, props: props2, state, constants }),
+    toggleMenu: toggleMenu({ vm, state, props: props2, api: api2, isMobileFirstMode }),
+    showTip: showTip({ props: props2, state, vm }),
+    onOptionDestroy: onOptionDestroy(state),
+    setSoftFocus: setSoftFocus({ vm, state }),
+    getcheckedData: getcheckedData({ props: props2, state }),
+    resetInputWidth: resetInputWidth({ vm, state }),
+    resetHoverIndex: resetHoverIndex({ props: props2, state }),
+    resetDatas: resetDatas({ props: props2, state }),
+    scrollToOption: scrollToOption({ vm, constants }),
+    selectChange: selectChange({ emit, props: props2, vm, state, api: api2 }),
+    radioChange: radioChange({ emit, props: props2, state, api: api2, vm }),
+    handleCopyClick: handleCopyClick({ parent, props: props2, state }),
+    treeNodeClick: treeNodeClick({ emit, props: props2, state, api: api2, vm }),
+    managePlaceholder: managePlaceholder({ vm, state }),
+    nodeCheckClick: nodeCheckClick({ emit, props: props2, state, api: api2 }),
+    checkDefaultFirstOption: checkDefaultFirstOption(state),
+    setOptionHighlight: setOptionHighlight(state),
+    nodeExpand: nodeExpand({ state, constants, nextTick }),
+    nodeCollapse: nodeCollapse({ state, constants, nextTick }),
+    handleBlur: handleBlur({ constants, dispatch, emit, state, designConfig }),
+    toggleLastOptionHitState: toggleLastOptionHitState({ state }),
+    emptyText: emptyText({ I18N: constants.I18N, props: props2, state, t: t2, isMobileFirstMode }),
+    emptyFlag: emptyFlag({ props: props2, state }),
+    getOptionIndexArr: getOptionIndexArr({ props: props2, state, api: api2 }),
+    queryVisibleOptions: queryVisibleOptions({ props: props2, vm, isMobileFirstMode }),
+    recycleScrollerHeight: recycleScrollerHeight({ state, props: props2, recycle: constants.RECYCLE }),
+    watchPropsOption: watchPropsOption({ constants, parent, props: props2, state }),
+    buildSelectConfig: buildSelectConfig({ props: props2, state }),
+    buildRadioConfig: buildRadioConfig({ props: props2, state }),
+    onMouseenterNative: onMouseenterNative({ state }),
+    onMouseleaveNative: onMouseleaveNative({ state }),
+    onCopying: onCopying({ state, vm }),
+    gridOnQueryChange: gridOnQueryChange({ props: props2, vm, constants, state }),
+    watchHoverIndex: watchHoverIndex({ state }),
+    computeOptimizeOpts: computeOptimizeOpts({ props: props2, designConfig }),
+    computeCollapseTags: computeCollapseTags(props2),
+    computeMultipleLimit: computeMultipleLimit({ props: props2, state }),
+    watchInputHover: watchInputHover({ vm }),
+    initQuery: initQuery({ props: props2, state, constants, vm }),
+    updateModelValue: updateModelValue({ props: props2, emit, state }),
+    computedTagsStyle: computedTagsStyle({ props: props2, parent, state, vm }),
+    computedReadonly: computedReadonly({ props: props2, state }),
+    computedShowClose: computedShowClose({ props: props2, state }),
+    computedCollapseTagSize: computedCollapseTagSize(state),
+    computedShowNewOption: computedShowNewOption({ props: props2, state }),
+    computedShowCopy: computedShowCopy({ props: props2, state }),
+    computedOptionsAllDisabled: computedOptionsAllDisabled(state),
+    computedDisabledTooltipContent: computedDisabledTooltipContent(state),
+    computedSelectDisabled: computedSelectDisabled({ props: props2, parent }),
+    computedIsExpand: computedIsExpand({ props: props2, state }),
+    computedIsExpandAll: computedIsExpandAll(props2),
+    watchInitValue: watchInitValue({ props: props2, emit }),
+    watchShowClose: watchShowClose({ nextTick, state, parent }),
+    // tiny 新增
+    computedGetIcon: computedGetIcon({ designConfig, props: props2 }),
+    computedGetTagType: computedGetTagType({ designConfig, props: props2 }),
+    clearSearchText: clearSearchText({ state, api: api2 }),
+    clearNoMatchValue: clearNoMatchValue({ props: props2, emit })
+  });
+  addApi({ api: api2, props: props2, state, emit, constants, parent, nextTick, dispatch, vm, isMobileFirstMode, designConfig });
+};
+const addApi = ({
+  api: api2,
+  props: props2,
+  state,
+  emit,
+  constants,
+  parent,
+  nextTick,
+  dispatch,
+  vm,
+  isMobileFirstMode,
+  designConfig
+}) => {
+  Object.assign(api2, {
+    resetInputHeight: resetInputHeight({ api: api2, constants, nextTick, props: props2, vm, state, designConfig }),
+    calcOverFlow: calcOverFlow({ vm, props: props2, state }),
+    handleFocus: handleFocus({ api: api2, emit, props: props2, state }),
+    deleteTag: deleteTag({ api: api2, constants, emit, props: props2, vm, nextTick, state }),
+    watchValue: watchValue({ api: api2, constants, dispatch, props: props2, vm, state }),
+    toHide: toHide({ constants, state, props: props2, vm, api: api2 }),
+    toVisible: toVisible({ constants, state, props: props2, vm, api: api2, nextTick }),
+    setSelected: setSelected({ api: api2, constants, nextTick, props: props2, vm, state }),
+    selectOption: selectOption({ api: api2, state, props: props2 }),
+    handleResize: handleResize({ api: api2, props: props2, state }),
+    watchOptions: watchOptions({ api: api2, constants, nextTick, parent, props: props2, state, vm }),
+    watchVisible: watchVisible({ api: api2, constants, emit, state, vm, props: props2, isMobileFirstMode }),
+    deletePrevTag: deletePrevTag({ api: api2, constants, props: props2, state, vm }),
+    onInputChange: onInputChange({ api: api2, props: props2, state, constants, nextTick }),
+    deleteSelected: deleteSelected$1({ api: api2, constants, emit, props: props2, vm, state }),
+    handleMenuEnter: handleMenuEnter({ api: api2, nextTick, state, props: props2 }),
+    resetInputState: resetInputState({ api: api2, vm, state }),
+    navigateOptions: navigateOptions({ api: api2, state, props: props2, nextTick }),
+    handleClearClick: handleClearClick(api2),
+    handleComposition: handleComposition({ api: api2, nextTick, state }),
+    handleQueryChange: handleQueryChange$1({ api: api2, constants, nextTick, props: props2, vm, state }),
+    handleOptionSelect: handleOptionSelect({ api: api2, nextTick, props: props2, vm, state }),
+    getPluginOption: getPluginOption({ api: api2, props: props2, state }),
+    toggleCheckAll: toggleCheckAll({ api: api2, emit, state, props: props2 }),
+    handleDebouncedQueryChange: handleDebouncedQueryChange({ state, api: api2 }),
+    debouncedQueryChange: (event) => {
+      const value = props2.shape ? event : event.target.value;
+      api2.handleDebouncedQueryChange(value);
+    },
+    debouncedOnInputChange: debounce_default(state.debounce, () => {
+      api2.onInputChange();
+    }),
+    debouncRquest: debouncRquest({ api: api2, state, props: props2 }),
+    defaultOnQueryChange: defaultOnQueryChange({ props: props2, state, constants, api: api2, nextTick, vm }),
+    queryChange: queryChange({ props: props2, state, constants, api: api2, nextTick, vm }),
+    mounted: mounted$2({ api: api2, parent, state, props: props2, vm, designConfig }),
+    unMount: unMount({ api: api2, parent, vm, state }),
+    watchOptimizeOpts: watchOptimizeOpts({ props: props2, state }),
+    handleDropdownClick: handleDropdownClick({ props: props2, vm, state, emit }),
+    handleEnterTag: handleEnterTag({ state }),
+    calcCollapseTags: calcCollapseTags({ state, vm, props: props2 }),
+    initValue: initValue({ state }),
+    getLabelSlotValue: getLabelSlotValue({ props: props2, state }),
+    loadTreeData: loadTreeData({ state, vm, props: props2, api: api2 }),
+    onClickCollapseTag: onClickCollapseTag({ state, props: props2, nextTick, api: api2 })
+  });
+};
+const initWatch$2 = ({ watch, props: props2, api: api2, state, nextTick }) => {
+  watch(
+    () => props2.treeOp.data,
+    (data) => data && (state.treeData = data),
+    { immediate: true, deep: true }
+  );
+  watch(
+    () => props2.gridOp.data,
+    (data) => data && (state.gridData = data),
+    { immediate: true, deep: true }
+  );
+  watch(
+    () => state.selectDisabled,
+    () => nextTick(api2.resetInputHeight)
+  );
+  watch(
+    () => props2.placeholder,
+    (value) => {
+      state.cachedPlaceHolder = state.currentPlaceholder = value;
+    }
+  );
+  watch(
+    () => props2.modelValue,
+    () => {
+      if (props2.multiple && Array.isArray(props2.modelValue)) {
+        state.modelValue = [...props2.modelValue];
+      } else {
+        state.modelValue = props2.modelValue;
+      }
+    },
+    { immediate: true, deep: true }
+  );
+  watch(() => state.modelValue, api2.watchValue);
+  watch(
+    () => state.selectedLabel,
+    () => {
+      if (props2.trim) {
+        state.selectedLabel = state.selectedLabel.trim();
+      }
+    }
+  );
+  watch(
+    () => props2.extraQueryParams,
+    () => api2.handleQueryChange(state.previousQuery, true),
+    { deep: true }
+  );
+  watch(
+    () => state.breakpoint,
+    (val) => {
+      if (val === "default") {
+        state.device = "mb";
+      } else {
+        state.device = "pc";
+      }
+    },
+    { immediate: true, deep: true }
+  );
+  watch(
+    () => state.device,
+    (newVal, oldVal) => {
+      if (oldVal !== "" && state.visible) {
+        api2.updateModelValue(state.modelValue, true);
+      }
+    }
+  );
+  watch(() => state.visible, api2.watchVisible);
+  watch(() => state.initValue, api2.watchInitValue, { deep: true });
+  addWatch({ watch, props: props2, api: api2, state, nextTick });
+};
+const addWatch = ({ watch, props: props2, api: api2, state, nextTick }) => {
+  watch(() => [...state.options], api2.watchOptions);
+  if (props2.renderType === "grid" && !props2.optimization) {
+    watch(() => state.gridData, api2.setSelected, { immediate: true });
+  }
+  if (props2.renderType === "tree" && !props2.optimization) {
+    watch(() => state.treeData, api2.setSelected, { immediate: true });
+  }
+  watch(() => state.hoverIndex, api2.watchHoverIndex);
+  props2.options && watch(() => props2.options, api2.watchPropsOption, { immediate: true, deep: true });
+  props2.optimization && watch(() => state.optimizeOpts, api2.watchOptimizeOpts, { immediate: true });
+  watch([() => state.inputHovering, () => state.visible], api2.watchInputHover);
+  watch(() => state.showClose, api2.watchShowClose, { immediate: true });
+  watch(
+    () => state.selectHover,
+    () => props2.hoverExpand && !props2.disabled && !state.isDisplayOnly && nextTick(api2.resetInputHeight)
+  );
+};
+const renderless$3 = (props2, { computed, onBeforeUnmount, onMounted, reactive, watch, provide: provide2, inject }, { vm, parent, emit, constants, nextTick, dispatch, t: t2, emitter, isMobileFirstMode, useBreakpoint, designConfig }) => {
+  const api2 = {};
+  const state = initState$2({
+    reactive,
+    computed,
+    props: props2,
+    api: api2,
+    emitter,
+    parent,
+    constants,
+    useBreakpoint,
+    vm,
+    designConfig
+  });
+  const dialog = inject("dialog", null);
+  provide2("selectEmitter", state.selectEmitter);
+  provide2("selectVm", vm);
+  const maskState = reactive({ width: "", height: "", top: "" });
+  initApi$2({
+    api: api2,
+    props: props2,
+    state,
+    emit,
+    maskState,
+    constants,
+    parent,
+    nextTick,
+    dispatch,
+    t: t2,
+    vm,
+    isMobileFirstMode,
+    designConfig
+  });
+  parent.$on("handle-clear", (event) => {
+    api2.handleClearClick(event);
+  });
+  if (props2.multiple && !Array.isArray(props2.modelValue)) {
+    emit("update:modelValue", []);
+  }
+  if (!props2.multiple && Array.isArray(props2.modelValue)) {
+    emit("update:modelValue", "");
+  }
+  dialog && dialog.state.emitter.on("handleSelectClose", api2.handleClose);
+  state.selectEmitter.on(constants.EVENT_NAME.handleOptionClick, api2.handleOptionSelect);
+  state.selectEmitter.on(constants.EVENT_NAME.setSelected, api2.setSelected);
+  state.selectEmitter.on(constants.EVENT_NAME.initValue, api2.initValue);
+  initWatch$2({ watch, props: props2, api: api2, state, nextTick });
+  onMounted(api2.mounted);
+  onBeforeUnmount(() => {
+    api2.unMount();
+    dialog && dialog.state.emitter.off("handleSelectClose", api2.handleClose);
+  });
+  return api2;
+};
+const api$2 = ["state", "visible", "hoverItem", "selectOptionClick"];
+const initState$1 = ({ reactive, computed, props: props2, api: api2, markRaw, select, parent }) => {
+  const state = reactive({
+    parent: markRaw(parent),
+    selectMultiple: computed(() => select.multiple),
+    created: computed(() => props2.created),
+    index: -1,
+    hover: computed(() => !select.optimization && select.state.hoverValue === state.index),
+    visible: true,
+    hitState: false,
+    groupDisabled: false,
+    disabled: computed(() => props2.disabled || state.groupDisabled),
+    isObject: computed(() => Object.prototype.toString.call(props2.value).toLowerCase() === "[object object]"),
+    currentLabel: computed(() => props2.label || (state.isObject ? "" : props2.value)),
+    showTitle: false,
+    currentValue: computed(() => props2.value || props2.label || ""),
+    itemSelected: computed(() => {
+      if (!select.multiple) {
+        return api2.isEqual(props2.value, select.state.modelValue);
+      } else {
+        return api2.contains(select.state.modelValue, props2.value);
+      }
+    }),
+    limitReached: computed(() => {
+      if (select.multiple) {
+        const multipleLimit = select.state.multipleLimit;
+        return !state.itemSelected && (select.state.modelValue || []).length >= multipleLimit && multipleLimit > 0;
+      } else {
+        return false;
+      }
+    }),
+    selectCls: computed(() => {
+      return state.itemSelected ? "checked-sur" : "check";
+    })
+  });
+  return state;
+};
+const initApi$1 = ({ api: api2, props: props2, state, select, constants, vm }) => {
+  Object.assign(api2, {
+    state,
+    isEqual: isEqual({ select, state }),
+    contains: contains({ select, state }),
+    hoverItem: hoverItem({ select, props: props2, state }),
+    queryChange: queryChange$1({ select, props: props2, state }),
+    selectOptionClick: selectOptionClick({ constants, vm, props: props2, state, select }),
+    handleGroupDisabled: handleGroupDisabled({ state, vm }),
+    initValue: initValue$1({ select, props: props2, constants, vm })
+  });
+};
+const initWatch$1 = ({ watch, props: props2, state, select, constants }) => {
+  watch(
+    () => state.currentLabel,
+    () => {
+      if (!props2.created && !select.remote) {
+        select.state.selectEmitter.emit(constants.EVENT_NAME.setSelected);
+      }
+    }
+  );
+  watch(
+    () => props2.value,
+    (value, oldVal) => {
+      const { remote, valueKey } = select;
+      if (!props2.created && !remote) {
+        if (valueKey && typeof value === "object" && typeof oldVal === "object" && value[valueKey] === oldVal[valueKey]) {
+          return;
+        }
+        select.state.selectEmitter.emit(constants.EVENT_NAME.setSelected);
+      }
+    }
+  );
+};
+const initOnMounted = ({ onMounted, props: props2, api: api2, vm, state, constants, select }) => {
+  onMounted(() => {
+    state.el = vm.$el;
+    toggleEvent({ props: props2, vm, type: "add" });
+    if (!select.optimization) {
+      select.state.selectEmitter.on(constants.EVENT_NAME.queryChange, api2.queryChange);
+    }
+    api2.initValue();
+  });
+};
+const initOnBeforeUnmount = ({ onBeforeUnmount, props: props2, select, vm, state }) => {
+  onBeforeUnmount(() => {
+    let selectedOptions = select.multiple ? select.state.selected : [select.state.selected];
+    const index3 = select.state.cachedOptions.findIndex((opt) => opt.state === state);
+    const selectedIndex = selectedOptions.findIndex((opt) => opt.state === state);
+    toggleEvent({ props: props2, vm, type: "remove" });
+    if (index3 > -1 && selectedIndex < 0) {
+      select.state.cachedOptions.splice(index3, 1);
+    }
+    select.onOptionDestroy(select.state.options.findIndex((opt) => opt.state === state));
+  });
+};
+const initSelectState = ({ state, select, markRaw, props: props2 }) => {
+  let vm = __spreadProps(__spreadValues({}, props2), { state });
+  select.state.options.push(markRaw(vm));
+  select.state.cachedOptions.push(markRaw(vm));
+  select.state.optionsIndex++;
+  state.index = select.state.optionsIndex;
+  select.state.optionsCount++;
+  select.state.filteredOptionsCount++;
+};
+const renderless$2 = (props2, { computed, onMounted, onBeforeUnmount, reactive, watch, inject, markRaw }, { vm, parent }) => {
+  const api2 = {};
+  const select = inject("select");
+  const constants = select._constants;
+  const state = initState$1({ reactive, computed, props: props2, api: api2, markRaw, select, parent });
+  initApi$1({ api: api2, props: props2, state, select, constants, vm });
+  initWatch$1({ watch, props: props2, state, select, constants });
+  initOnMounted({ onMounted, props: props2, api: api2, vm, state, constants, select });
+  initOnBeforeUnmount({ onBeforeUnmount, props: props2, select, vm, state });
+  initSelectState({ state, select, markRaw, props: props2 });
+  parent.$on(constants.EVENT_NAME.handleGroupDisabled, api2.handleGroupDisabled);
+  return api2;
+};
+const index$4 = "";
+function _createForOfIteratorHelperLoose$8(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$8(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$8(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$8(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$8(o, minLen);
+}
+function _arrayLikeToArray$8(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$8 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$8(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$8 = defineComponent({
+  name: $prefix + "Option",
+  componentName: "Option",
+  components: {
+    IconCheck: index$6(),
+    IconCheckedSur: index$7(),
+    IconFinish: index$8(),
+    TinyCheckbox: Checkbox
+  },
+  props: [].concat(props, ["value", "label", "created", "disabled", "events", "visible", "highlightClass", "required", "icon"]),
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  }
+});
+var _hoisted_1$7 = ["data-index"];
+var _hoisted_2$7 = {
+  key: 0,
+  class: "tiny-option__checkbox-wrap tiny-select-dropdown__item-checkbox"
+};
+var _hoisted_3$7 = ["title"];
+function _sfc_render$8(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_checkbox = resolveComponent("tiny-checkbox");
+  return withDirectives((openBlock(), createElementBlock("li", {
+    ref: "option",
+    onMouseenter: _cache[0] || (_cache[0] = function() {
+      return _ctx.hoverItem && _ctx.hoverItem.apply(_ctx, arguments);
+    }),
+    onClick: _cache[1] || (_cache[1] = withModifiers(function() {
+      return _ctx.selectOptionClick && _ctx.selectOptionClick.apply(_ctx, arguments);
+    }, ["stop"])),
+    onMousedown: _cache[2] || (_cache[2] = withModifiers(function() {
+    }, ["stop"])),
+    "data-tag": "tiny-option",
+    "data-index": _ctx.state.index,
+    class: normalizeClass(["tiny-option tiny-select-dropdown__item", [{
+      selected: _ctx.state.itemSelected,
+      "is-disabled": _ctx.disabled || _ctx.state.groupDisabled || _ctx.state.limitReached,
+      hover: _ctx.state.hover && !_ctx.state.limitReached,
+      "is-required": _ctx.required
+    }, _ctx.highlightClass]])
+  }, [_ctx.state.selectMultiple ? (openBlock(), createElementBlock("span", _hoisted_2$7, [createVNode(_component_tiny_checkbox, {
+    "model-value": _ctx.state.itemSelected,
+    disabled: _ctx.disabled || _ctx.state.groupDisabled || _ctx.state.limitReached
+  }, null, 8, ["model-value", "disabled"])])) : createCommentVNode("v-if", true), _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
+    key: 1,
+    class: "tiny-option__icon"
+  })) : createCommentVNode("v-if", true), createBaseVNode(
+    "div",
+    {
+      class: normalizeClass(["tiny-option-wrapper", _ctx.state.selectMultiple ? "calc-width" : "full-width"])
+    },
+    [renderSlot(_ctx.$slots, "default", {}, function() {
+      return [createBaseVNode("span", {
+        class: "tiny-option-label",
+        title: _ctx.state.showTitle ? _ctx.state.currentLabel : ""
+      }, toDisplayString(_ctx.state.currentLabel), 9, _hoisted_3$7)];
+    })],
+    2
+    /* CLASS */
+  )], 42, _hoisted_1$7)), [[vShow, _ctx.visible && _ctx.state.visible]]);
+}
+var pc$3 = /* @__PURE__ */ _export_sfc$8(_sfc_main$8, [["render", _sfc_render$8]]);
+function _createForOfIteratorHelperLoose$7(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$7(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$7(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$7(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$7(o, minLen);
+}
+function _arrayLikeToArray$7(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$7 = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$7(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$7 = defineComponent({
+  components: {
+    IconCheck: index$6(),
+    IconCheckedSur: index$7(),
+    IconFinish: index$8()
+  },
+  props: [].concat(props, ["value", "label", "created", "disabled", "events", "visible", "highlightClass", "required"]),
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  }
+});
+var _hoisted_1$6 = ["data-index"];
+var _hoisted_2$6 = {
+  key: 0,
+  class: "w-4 mr-2"
+};
+var _hoisted_3$6 = {
+  class: "inline-block flex-1 leading-5 overflow-hidden text-ellipsis whitespace-normal sm:whitespace-nowrap"
+};
+var _hoisted_4$6 = {
+  key: 1,
+  class: "inline-block sm:hidden w-4 ml-4 shrink-0"
+};
+function _sfc_render$7(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_finish = resolveComponent("icon-finish");
+  return withDirectives((openBlock(), createElementBlock("div", {
+    ref: "option",
+    onMouseenter: _cache[0] || (_cache[0] = function() {
+      return _ctx.hoverItem && _ctx.hoverItem.apply(_ctx, arguments);
+    }),
+    onClick: _cache[1] || (_cache[1] = withModifiers(function() {
+      return _ctx.selectOptionClick && _ctx.selectOptionClick.apply(_ctx, arguments);
+    }, ["stop"])),
+    onMousedown: _cache[2] || (_cache[2] = withModifiers(function() {
+    }, ["stop"])),
+    "data-index": _ctx.state.index,
+    class: normalizeClass(_ctx.m("h-fit flex items-center justify-between rounded text-color-text-primary text-sm sm:text-xs", "min-h-[40px] sm:min-h-[32px] cursor-pointer group sm:hover:bg-color-bg-4 sm:active:bg-color-bg-3 pl-0 pr-3 sm:px-3 my-1 sm:m-1", {
+      "text-color-brand bg-color-bg-1 sm:bg-color-fill-6": _ctx.state.itemSelected && !_ctx.disabled,
+      "text-color-text-disabled cursor-not-allowed [&_svg]:fill-color-icon-disabled [&_svg_path:first-of-type]:fill-color-bg-3": _ctx.disabled || _ctx.state.groupDisabled || _ctx.state.limitReached,
+      "bg-color-bg-1 sm:bg-color-bg-4": _ctx.state.hover,
+      "text-color-text-disabled cursor-not-allowed": _ctx.required
+    }, _ctx.highlightClass)),
+    "data-tag": "tiny-select-dropdown-item"
+  }, [_ctx.state.selectMultiple ? (openBlock(), createElementBlock("span", _hoisted_2$6, [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.selectCls), {
+    class: normalizeClass(_ctx.m("fill-color-icon-secondary relative", {
+      "group-hover:fill-color-brand-hover": _ctx.state.hover,
+      "fill-color-brand": _ctx.state.itemSelected,
+      "fill-color-brand-disabled": _ctx.state.itemSelected && _ctx.required
+    }))
+  }, null, 8, ["class"]))])) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {}, function() {
+    return [createBaseVNode(
+      "span",
+      _hoisted_3$6,
+      toDisplayString(_ctx.state.currentLabel),
+      1
+      /* TEXT */
+    )];
+  }), !_ctx.state.selectMultiple && _ctx.state.itemSelected && !_ctx.disabled && !_ctx.state.groupDisabled ? (openBlock(), createElementBlock("span", _hoisted_4$6, [createVNode(_component_icon_finish, {
+    "custom-class": "w-4 h-4 fill-color-brand"
+  })])) : createCommentVNode("v-if", true)], 42, _hoisted_1$6)), [[vShow, _ctx.visible && _ctx.state.visible]]);
+}
+var mobileFirst$3 = /* @__PURE__ */ _export_sfc$7(_sfc_main$7, [["render", _sfc_render$7]]);
+function _extends$5() {
+  _extends$5 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$5.apply(this, arguments);
+}
+var template$3 = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$3;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$3;
+  }
+  return pc$3;
+};
+var optionsProps = _extends$5({}, $props, {
+  value: {
+    required: true
+  },
+  label: [String, Number],
+  created: Boolean,
+  disabled: {
+    type: Boolean,
+    default: false
+  },
+  events: {
+    type: Object,
+    default: function _default() {
+      return {};
+    }
+  },
+  visible: {
+    type: Boolean,
+    default: true
+  },
+  highlightClass: String,
+  required: {
+    type: Boolean,
+    default: false
+  },
+  // tiny 新增
+  icon: Object
+});
+var Option = defineComponent({
+  name: $prefix + "Option",
+  componentName: "Option",
+  props: optionsProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$3
+    });
+  }
+});
+var version$3 = "3.16.0";
+Option.install = function(Vue) {
+  Vue.component(Option.name, Option);
+};
+Option.version = version$3;
+const mounted$1 = ({ selectEmitter, constants, state, selectVm, updatePopper, destroyPopper, parent }) => () => {
+  selectEmitter.on(constants.EVENT_NAME.updatePopper, (keepZIndex) => {
+    let hideDrop = false;
+    if (!state.referenceElm || state.referenceElm.nodeType !== 1) {
+      state.referenceElm = selectVm.$refs.reference ? selectVm.$refs.reference.$el : selectVm.$refs.select;
+      selectVm.popperElm = selectVm.state.popperElm = state.popperElm = parent.$el;
+    }
+    if (parent.select.state.visible && !hideDrop) {
+      updatePopper(keepZIndex);
+      hideDrop = true;
+    }
+  });
+  selectEmitter.on(constants.EVENT_NAME.destroyPopper, destroyPopper);
+};
+const closeModal = ({ selectVm, state, props: props2 }) => ($event, isMask) => {
+  if (!props2.closeByMask && isMask)
+    return;
+  selectVm.multiple && selectVm.updateModelValue(state.originValue);
+  selectVm.state.visible = false;
+  selectVm.state.softFocus = false;
+};
+const handleQueryChange = ({ selectVm }) => (value) => {
+  selectVm.handleQueryChange(value);
+};
+const toggleSelectedBox = ({ state }) => (show) => {
+  if (show) {
+    state.selectedArr = state.selected.slice(0);
+    state.deletedArr = [];
+  }
+  state.showSelectedBox = show;
+};
+const deleteSelected = ({ state }) => (option, clear2) => {
+  if (clear2) {
+    state.deletedArr = state.selectedArr.slice(0);
+    state.selectedArr = [];
+  } else {
+    state.selectedArr = state.selectedArr.filter((item) => item[state.valueField] !== option[state.valueField]);
+    state.deletedArr.push(option);
+  }
+};
+const selectedBoxConfirm = ({ state, selectVm }) => () => {
+  if (state.deletedArr.length) {
+    if (state.deletedArr.length === state.selected.length) {
+      selectVm.updateModelValue([]);
+    } else {
+      selectVm.updateModelValue(state.selectedArr.map((item) => item[state.valueField]));
+    }
+  }
+  state.showSelectedBox = false;
+};
+const selectDropdownConfirm = ({ selectVm }) => () => {
+  selectVm.multiple && selectVm.updateModelValue(selectVm.state.modelValue, true);
+  selectVm.state.visible = false;
+  selectVm.state.softFocus = false;
+  selectVm.$emit("confirm", selectVm.state.modelValue);
+  selectVm.emitChange(selectVm.state.modelValue, true);
+};
+const cancelSearch = ({ api: api2, state }) => () => {
+  state.query = "";
+  api2.debouncedQueryChange("");
+};
+const handleClear = ({ selectVm }) => () => {
+  selectVm.deleteSelected();
+};
+const api$1 = [
+  "state",
+  "doDestroy",
+  "closeModal",
+  "debouncedQueryChange",
+  "toggleSelectedBox",
+  "deleteSelected",
+  "selectedBoxConfirm",
+  "selectDropdownConfirm",
+  "cancelSearch",
+  "handleClear"
+];
+const initState = ({ reactive, computed, popper, selectVm }) => {
+  const { showPopper, currentPlacement, popperElm, referenceElm } = popper;
+  const state = reactive({
+    showPopper,
+    currentPlacement,
+    popperElm,
+    referenceElm,
+    minWidth: "",
+    query: "",
+    showSelectedBox: false,
+    debounce: 300,
+    selectedArr: [],
+    deletedArr: [],
+    originValue: [],
+    showClose: computed(() => selectVm.clearable && !selectVm.multiple && selectVm.modelValue !== ""),
+    filterable: computed(() => selectVm.filterable),
+    multiple: computed(() => selectVm.multiple),
+    popperClass: computed(() => selectVm.popperClass),
+    selected: computed(
+      () => selectVm.renderType === "tree" && !selectVm.treeOp.checkStrictly ? selectVm.state.selected.filter((item) => !item.children) : selectVm.state.selected
+    ),
+    device: computed(() => selectVm.state.device),
+    visible: false,
+    windowScrollTop: 0,
+    zIndex: 2e3,
+    valueField: computed(() => selectVm.renderType === "tree" ? "id" : "value")
+  });
+  return state;
+};
+const initApi = ({ api: api2, popper, state, selectEmitter, constants, selectVm, parent, nextTick, props: props2 }) => {
+  const { destroyPopper, doDestroy: doDestroy2, updatePopper } = popper;
+  Object.assign(api2, {
+    state,
+    doDestroy: doDestroy2,
+    handleQueryChange: handleQueryChange({ state, selectVm }),
+    debouncedQueryChange: debounce_default(state.debounce, (value) => {
+      api2.handleQueryChange(value);
+    }),
+    toggleSelectedBox: toggleSelectedBox({ state }),
+    deleteSelected: deleteSelected({ state }),
+    selectedBoxConfirm: selectedBoxConfirm({ state, selectVm, nextTick }),
+    selectDropdownConfirm: selectDropdownConfirm({ state, selectVm }),
+    closeModal: closeModal({ state, selectVm, props: props2 }),
+    cancelSearch: cancelSearch({ api: api2, state, selectVm }),
+    handleClear: handleClear({ state, selectVm }),
+    mounted: mounted$1({ selectEmitter, constants, state, selectVm, updatePopper, destroyPopper, parent })
+  });
+};
+const initWatch = ({ watch, selectVm, state, nextTick }) => {
+  watch(
+    () => selectVm.state.inputWidth,
+    (val) => {
+      nextTick(() => {
+        state.minWidth = (selectVm && selectVm.$el && selectVm.$el.getBoundingClientRect().width || val) + "px";
+      });
+    },
+    { immediate: true }
+  );
+  watch(
+    () => state.query,
+    (val) => {
+      selectVm.state.queryValue = val;
+    }
+  );
+  watch(
+    () => selectVm.state.visible,
+    (val) => {
+      state.query = "";
+      setTimeout(() => {
+        state.visible = val;
+        state.zIndex = popup_manager_default.nextZIndex();
+      }, 0);
+      if (val && selectVm.multiple) {
+        state.originValue = selectVm.modelValue.slice(0);
+      }
+    }
+  );
+  watch(
+    () => selectVm.shape,
+    () => {
+      nextTick(() => {
+        state.referenceElm = selectVm.$refs.reference && selectVm.$refs.reference.$el;
+      });
+    }
+  );
+};
+const renderless$1 = (props2, { computed, onBeforeUnmount, onDeactivated, onMounted, reactive, toRefs, watch, inject }, { vm, slots, parent, emit, nextTick, isMobileFirstMode }) => {
+  const api2 = {};
+  const constants = parent.select._constants;
+  const selectEmitter = inject("selectEmitter");
+  const selectVm = inject("selectVm");
+  const popper = vue_popper_default({
+    emit,
+    nextTick,
+    onBeforeUnmount,
+    onDeactivated,
+    props: props2,
+    reactive,
+    vm,
+    slots,
+    toRefs,
+    watch
+  });
+  const state = initState({ reactive, computed, popper, props: props2, selectVm });
+  initApi({ api: api2, popper, state, selectEmitter, constants, selectVm, parent, nextTick, props: props2, isMobileFirstMode });
+  initWatch({ watch, selectVm, state, nextTick, api: api2 });
+  onBeforeUnmount(() => {
+    popper.destroyPopper("remove");
+    state.popperElm = null;
+    state.referenceElm = null;
+  });
+  onMounted(api2.mounted);
+  return api2;
+};
+const index$3 = "";
+function _createForOfIteratorHelperLoose$6(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$6(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$6(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$6(o, minLen);
+}
+function _arrayLikeToArray$6(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$6 = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$6(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$6 = defineComponent({
+  props: [].concat(props, ["placement", "boundariesPadding", "popperOptions", "visibleArrow", "appendToBody", "transformOrigin", "reference", "popper", "offset", "modelValue", "arrowOffset", "isDropInheritWidth"]),
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+function _sfc_render$6(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-select-dropdown tiny-popper", [{
+        "is-multiple": _ctx.state.multiple
+      }, _ctx.state.popperClass]]),
+      onMousedown: _cache[0] || (_cache[0] = withModifiers(function() {
+      }, ["stop"])),
+      style: normalizeStyle({
+        minWidth: _ctx.state.minWidth,
+        width: _ctx.isDropInheritWidth ? _ctx.state.minWidth : "auto"
+      })
+    },
+    [renderSlot(_ctx.$slots, "default")],
+    38
+    /* CLASS, STYLE, NEED_HYDRATION */
+  );
+}
+var pc$2 = /* @__PURE__ */ _export_sfc$6(_sfc_main$6, [["render", _sfc_render$6]]);
+const emitInput = ({ emit }) => (...args) => {
+  emit("update:modelValue", ...args);
+  emit("input", ...args);
+};
+const handleChange = ({ emit, state }) => (event) => {
+  const value = event.target.value;
+  emit("change", state.searchValue, value);
+};
+const handleInput = ({ api: api2, props: props2, state }) => (event) => {
+  const value = event.target ? event.target.value : event;
+  api2.emitInput(value, state.searchValue);
+};
+const showSelector = ({ vm, state }) => () => {
+  vm.$refs.selector.style.zIndex = popup_manager_default.nextZIndex();
+  state.show = true;
+};
+const changeKey = ({ emit, state }) => (key) => {
+  state.searchValue = key;
+  state.show = false;
+  emit("select", key);
+};
+const searchClick = ({ emit, props: props2, state }) => (event) => {
+  event.preventDefault();
+  if (props2.mini && state.collapse) {
+    state.collapse = false;
+  } else {
+    emit("search", state.searchValue, state.currentValue);
+  }
+};
+const searchEnterKey = ({ api: api2, props: props2, vm, nextTick }) => (event) => {
+  if (props2.isEnterSearch) {
+    api2.searchClick(event);
+    nextTick(() => vm.$refs.input.blur());
+  }
+};
+const clickOutside = ({ parent, props: props2, state }) => (event) => {
+  if (!parent.$el.contains(event.target)) {
+    state.show = false;
+    props2.mini && !state.currentValue && (state.collapse = true);
+  }
+};
+const setDefaultType = (searchTypes, typeValue) => {
+  if (typeValue && searchTypes.includes(typeValue)) {
+    return typeValue;
+  }
+  let type = {};
+  for (let i = 0, len = searchTypes.length; i < len; i++) {
+    if (isObject(searchTypes[i]) && typeOf(searchTypes[i].value) !== "undefined" && typeOf(searchTypes[i].text) !== "undefined") {
+      type = searchTypes[i];
+      break;
+    }
+  }
+  return type;
+};
+const formatSearchTypes = (searchTypes) => {
+  const types = [];
+  for (let i = 0, len = searchTypes.length; i < len; i++) {
+    if (isObject(searchTypes[i]) && typeOf(searchTypes[i].value) !== "undefined" && typeOf(searchTypes[i].text) !== "undefined") {
+      types.push(searchTypes[i]);
+    }
+  }
+  return types;
+};
+const mounted = ({ api: api2 }) => () => {
+  on(document.body, "click", api2.clickOutside);
+};
+const beforeDestroy = ({ api: api2 }) => () => {
+  off(document.body, "click", api2.clickOutside);
+};
+const clear = ({ api: api2, emit, vm, state }) => (event) => {
+  event.preventDefault();
+  state.currentValue = "";
+  vm.$refs.input.focus();
+  state.focus = true;
+  api2.emitInput("", state.searchValue);
+  emit("change", [], "");
+  emit("clear");
+};
+const api = [
+  "state",
+  "handleChange",
+  "handleInput",
+  "showSelector",
+  "changeKey",
+  "searchClick",
+  "searchEnterKey",
+  "inputStyle",
+  "formatSearchTypes",
+  "setDefaultType",
+  "clear"
+];
+const useFormatSearchTypes = ({ computed, props: props2, reactive, toRefs, watch }) => {
+  const api2 = {
+    setDefaultType,
+    formatSearchTypes
+  };
+  const state = reactive({
+    searchValue: props2.typeValue,
+    types: computed(() => api2.formatSearchTypes(props2.searchTypes))
+  });
+  watch(
+    () => props2.typeValue,
+    () => {
+      state.searchValue = api2.setDefaultType(props2.searchTypes, props2.typeValue);
+    },
+    { immediate: true }
+  );
+  return {
+    api: api2,
+    state: toRefs(state)
+  };
+};
+const renderless = (props2, { computed, onBeforeUnmount, onMounted, reactive, toRefs, watch }, { vm, parent, emit, nextTick }) => {
+  const formatSearchTypes2 = useFormatSearchTypes({
+    computed,
+    props: props2,
+    reactive,
+    toRefs,
+    watch
+  });
+  const state = reactive(__spreadProps(__spreadValues({
+    show: false,
+    focus: false,
+    hovering: false,
+    collapse: props2.mini,
+    currentValue: props2.modelValue
+  }, formatSearchTypes2.state), {
+    showClear: computed(() => props2.clearable && (state.focus || state.hovering) && state.currentValue),
+    formItemSize: computed(() => (parent.formItem || {}).formItemSize),
+    searchSize: computed(() => props2.size || state.formItemSize)
+  }));
+  const api2 = __spreadValues({
+    state,
+    changeKey: changeKey({ state, emit }),
+    handleChange: handleChange({ emit, state }),
+    showSelector: showSelector({ vm, state }),
+    searchClick: searchClick({ emit, props: props2, state }),
+    clickOutside: clickOutside({ parent, props: props2, state }),
+    emitInput: emitInput({ emit })
+  }, formatSearchTypes2.api);
+  Object.assign(api2, {
+    clear: clear({ api: api2, emit, vm, state }),
+    handleInput: handleInput({ api: api2, props: props2, state }),
+    searchEnterKey: searchEnterKey({ api: api2, props: props2, vm, nextTick })
+  });
+  onMounted(mounted({ api: api2 }));
+  onBeforeUnmount(beforeDestroy({ api: api2 }));
+  watch(
+    () => props2.modelValue,
+    (value) => state.currentValue = value
+  );
+  return api2;
+};
+const index$2 = "";
+function _createForOfIteratorHelperLoose$5(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$5(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$5(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$5(o, minLen);
+}
+function _arrayLikeToArray$5(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$5 = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$5(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$5 = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["mini", "transparent", "searchTypes", "placeholder", "modelValue", "tabindex", "clearable", "isEnterSearch", "typeValue", "size"]),
+  emits: ["change", "search", "update:modelValue", "clear", "select", "input"],
+  components: {
+    IconChevronDown: index$9(),
+    IconSearch: index$a(),
+    IconClose: index$b()
+  },
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1$5 = {
+  key: 0,
+  class: "tiny-search__prefix"
+};
+var _hoisted_2$5 = {
+  class: "tiny-search__text"
+};
+var _hoisted_3$5 = {
+  class: "icon-outer"
+};
+var _hoisted_4$5 = ["placeholder", "tabindex"];
+var _hoisted_5$4 = {
+  key: 0,
+  class: "tiny-search__input-btn"
+};
+var _hoisted_6$4 = {
+  key: 2,
+  class: "tiny-search__input-btn"
+};
+var _hoisted_7$4 = {
+  ref: "selector",
+  class: "tiny-search__selector"
+};
+var _hoisted_8$4 = {
+  class: "tiny-search__selector-body"
+};
+var _hoisted_9$4 = {
+  class: "tiny-search__poplist"
+};
+var _hoisted_10$3 = ["onClick"];
+function _sfc_render$5(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_chevron_down = resolveComponent("icon-chevron-down");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_icon_search = resolveComponent("icon-search");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-search", {
+        mini: _ctx.mini
+      }, {
+        collapse: _ctx.state.collapse
+      }, _ctx.state.searchSize ? "tiny-search--" + _ctx.state.searchSize : ""]),
+      onMouseenter: _cache[11] || (_cache[11] = function($event) {
+        return _ctx.state.hovering = true;
+      }),
+      onMouseleave: _cache[12] || (_cache[12] = function($event) {
+        return _ctx.state.hovering = false;
+      })
+    },
+    [createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(["tiny-search__line", {
+          focus: _ctx.state.focus
+        }])
+      },
+      [_ctx.slots.prefix ? (openBlock(), createElementBlock("div", _hoisted_1$5, [renderSlot(_ctx.$slots, "prefix")])) : createCommentVNode("v-if", true), createVNode(Transition, {
+        name: "tiny-transition-search-line-fade",
+        mode: "out-in",
+        persisted: ""
+      }, {
+        default: withCtx(function() {
+          return [withDirectives(createBaseVNode(
+            "div",
+            {
+              class: "tiny-search__present",
+              onClick: _cache[0] || (_cache[0] = function() {
+                return _ctx.showSelector && _ctx.showSelector.apply(_ctx, arguments);
+              })
+            },
+            [renderSlot(_ctx.$slots, "text", {
+              slotScope: _ctx.state.searchValue
+            }, function() {
+              return [createBaseVNode(
+                "span",
+                _hoisted_2$5,
+                toDisplayString(_ctx.state.searchValue.text),
+                1
+                /* TEXT */
+              )];
+            }), createBaseVNode("span", _hoisted_3$5, [createVNode(_component_icon_chevron_down, {
+              class: "tiny-svg-size"
+            })])],
+            512
+            /* NEED_PATCH */
+          ), [[vShow, !_ctx.state.collapse && _ctx.state.types.length]])];
+        }),
+        _: 3
+        /* FORWARDED */
+      }), withDirectives(createBaseVNode("input", mergeProps({
+        ref: "input"
+      }, _ctx.a(_ctx.$attrs, ["type", "class", "style", "^on[A-Z]", "id", "disabled", "clearable"]), {
+        "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
+          return _ctx.state.currentValue = $event;
+        }),
+        style: _ctx.transparent ? {
+          border: "transparent",
+          background: _ctx.state.collapse ? "rgba(255,255,255,0.3)" : "#fff"
+        } : {},
+        placeholder: _ctx.placeholder,
+        type: "text",
+        class: "tiny-search__input",
+        onKeyup: _cache[2] || (_cache[2] = withKeys(function($event) {
+          return _ctx.searchEnterKey($event);
+        }, ["enter"])),
+        onChange: _cache[3] || (_cache[3] = function() {
+          return _ctx.handleChange && _ctx.handleChange.apply(_ctx, arguments);
+        }),
+        onInput: _cache[4] || (_cache[4] = function() {
+          return _ctx.handleInput && _ctx.handleInput.apply(_ctx, arguments);
+        }),
+        onFocus: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.state.focus = true;
+        }),
+        onBlur: _cache[6] || (_cache[6] = function($event) {
+          return _ctx.state.focus = false;
+        }),
+        onSelect: _cache[7] || (_cache[7] = withModifiers(function() {
+        }, ["stop"])),
+        tabindex: _ctx.tabindex
+      }), null, 16, _hoisted_4$5), [[vModelText, _ctx.state.currentValue]]), createVNode(Transition, {
+        name: "tiny-transition-icon-scale-in"
+      }, {
+        default: withCtx(function() {
+          return [_ctx.state.showClear && !_ctx.state.collapse ? (openBlock(), createElementBlock("div", _hoisted_5$4, [createBaseVNode("a", {
+            onClick: _cache[9] || (_cache[9] = function($event) {
+              return _ctx.clear($event);
+            })
+          }, [createVNode(_component_icon_close, {
+            onMousedown: _cache[8] || (_cache[8] = withModifiers(function() {
+            }, ["prevent"])),
+            class: "tiny-svg-size"
+          })])])) : createCommentVNode("v-if", true)];
+        }),
+        _: 1
+        /* STABLE */
+      }), _ctx.slots.suffix ? renderSlot(_ctx.$slots, "suffix", {
+        key: 1
+      }) : !_ctx.slots.prefix && !_ctx.slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_6$4, [createBaseVNode("a", {
+        onClick: _cache[10] || (_cache[10] = function($event) {
+          return _ctx.searchClick($event);
+        })
+      }, [createVNode(_component_icon_search, {
+        style: normalizeStyle({
+          fill: _ctx.state.collapse && _ctx.transparent ? "#fff" : ""
+        }),
+        class: "tiny-svg-size"
+      }, null, 8, ["style"])])])) : createCommentVNode("v-if", true)],
+      2
+      /* CLASS */
+    ), createVNode(Transition, {
+      name: "tiny-transition-zoom-in-top",
+      mode: "out-in",
+      persisted: ""
+    }, {
+      default: withCtx(function() {
+        return [withDirectives(createBaseVNode(
+          "div",
+          _hoisted_7$4,
+          [createBaseVNode("div", _hoisted_8$4, [createBaseVNode("ul", _hoisted_9$4, [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.types, function(item, index3) {
+              return openBlock(), createElementBlock("li", {
+                key: index3,
+                class: "tiny-search__poplist-item",
+                onClick: function onClick($event) {
+                  return _ctx.changeKey(item);
+                }
+              }, [renderSlot(_ctx.$slots, "poplist", {
+                slotScope: item
+              }, function() {
+                return [createTextVNode(
+                  toDisplayString(item.text),
+                  1
+                  /* TEXT */
+                )];
+              })], 8, _hoisted_10$3);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))])])],
+          512
+          /* NEED_PATCH */
+        ), [[vShow, _ctx.state.show && _ctx.state.types.length]])];
+      }),
+      _: 3
+      /* FORWARDED */
+    })],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$5(_sfc_main$5, [["render", _sfc_render$5]]);
+const index$1 = "";
+function _createForOfIteratorHelperLoose$4(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$4(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$4(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$4(o, minLen);
+}
+function _arrayLikeToArray$4(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$4 = function _export_sfc25(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$4(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$4 = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["transparent", "searchTypes", "placeholder", "buttonText", "modelValue", "themeType", "isEnterSearch"]),
+  components: {
+    IconSearch: index$a(),
+    IconClose: index$b()
+  },
+  emits: ["change", "search", "update:modelValue", "clear", "select", "input"],
+  setup: function setup$15(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1$4 = {
+  class: /* @__PURE__ */ normalizeClass(["tiny-mobile-search__line"])
+};
+var _hoisted_2$4 = {
+  class: "tiny-mobile-search__box"
+};
+var _hoisted_3$4 = {
+  class: "tiny-mobile-search__input-btn"
+};
+var _hoisted_4$4 = {
+  class: "tiny-mobile-search__icon"
+};
+var _hoisted_5$3 = ["placeholder"];
+var _hoisted_6$3 = {
+  class: "tiny-mobile-search__close-icon"
+};
+var _hoisted_7$3 = {
+  class: "tiny-mobile-search__label"
+};
+var _hoisted_8$3 = {
+  class: "tiny-mobile-search__right"
+};
+var _hoisted_9$3 = {
+  class: "tiny-mobile-search__text"
+};
+function _sfc_render$4(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_search = resolveComponent("icon-search");
+  var _component_icon_close = resolveComponent("icon-close");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-mobile-search", "tiny-mobile-search-" + _ctx.themeType, {
+        collapse: _ctx.state.collapse
+      }, {
+        focus: _ctx.state.focus || !_ctx.state.focus && _ctx.state.currentValue
+      }])
+    },
+    [createBaseVNode("div", _hoisted_1$4, [createBaseVNode("div", _hoisted_2$4, [createBaseVNode("div", _hoisted_3$4, [createBaseVNode("a", _hoisted_4$4, [createVNode(_component_icon_search, {
+      style: normalizeStyle({
+        fill: _ctx.state.collapse && _ctx.transparent ? "#fff" : ""
+      }),
+      onClick: _ctx.searchClick
+    }, null, 8, ["style", "onClick"])])]), withDirectives(createBaseVNode("input", {
+      ref: "input",
+      "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+        return _ctx.state.currentValue = $event;
+      }),
+      style: normalizeStyle(_ctx.transparent ? {
+        border: "transparent",
+        background: _ctx.state.collapse ? "rgba(255,255,255,0.3)" : "#fff"
+      } : {}),
+      placeholder: _ctx.placeholder,
+      type: "text",
+      class: normalizeClass(["tiny-mobile-search__input", "tiny-mobile-search__input-" + _ctx.themeType]),
+      onKeyup: _cache[1] || (_cache[1] = withKeys(function() {
+        return _ctx.searchEnterKey && _ctx.searchEnterKey.apply(_ctx, arguments);
+      }, ["enter"])),
+      onChange: _cache[2] || (_cache[2] = function() {
+        return _ctx.handleChange && _ctx.handleChange.apply(_ctx, arguments);
+      }),
+      onInput: _cache[3] || (_cache[3] = function() {
+        return _ctx.handleInput && _ctx.handleInput.apply(_ctx, arguments);
+      }),
+      onFocus: _cache[4] || (_cache[4] = function($event) {
+        return _ctx.state.focus = true;
+      }),
+      onBlur: _cache[5] || (_cache[5] = function($event) {
+        return _ctx.state.focus = false;
+      }),
+      onSelect: _cache[6] || (_cache[6] = withModifiers(function() {
+      }, ["stop"]))
+    }, null, 46, _hoisted_5$3), [[vModelText, _ctx.state.currentValue]]), withDirectives(createBaseVNode(
+      "span",
+      _hoisted_6$3,
+      [createVNode(_component_icon_close, {
+        onClick: _ctx.clear
+      }, null, 8, ["onClick"])],
+      512
+      /* NEED_PATCH */
+    ), [[vShow, _ctx.state.currentValue]])]), createBaseVNode("label", _hoisted_7$3, [createBaseVNode(
+      "span",
+      null,
+      toDisplayString(_ctx.placeholder),
+      1
+      /* TEXT */
+    )])]), createBaseVNode("div", _hoisted_8$3, [renderSlot(_ctx.$slots, "default", {}, function() {
+      return [createBaseVNode("div", {
+        class: "tiny-mobile-search__present",
+        onClick: _cache[7] || (_cache[7] = function() {
+          return _ctx.searchClick && _ctx.searchClick.apply(_ctx, arguments);
+        })
+      }, [createBaseVNode(
+        "span",
+        _hoisted_9$3,
+        toDisplayString(_ctx.buttonText),
+        1
+        /* TEXT */
+      )])];
+    })])],
+    2
+    /* CLASS */
+  );
+}
+var mobile = /* @__PURE__ */ _export_sfc$4(_sfc_main$4, [["render", _sfc_render$4]]);
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc26(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var classes$1 = {
+  "search-default": "relative inline-block text-xs w-full px-3 sm:px-0",
+  "pc-search-line": "w-full border border-solid rounded bg-color-bg-1 transition duration-300 ease-in-out border-separate hidden sm:inline-table",
+  "pc-search-line-focus": "border-color-border-focus",
+  "pc-search-line-unfocus": "border-color-border hover:border-color-border-hover",
+  "pc-search-line-big": "h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-line-medium": "h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-line-mini": "h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-line-unbig": "h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-present": "table-cell relative align-middle right-0 text-color-text-primary w-px whitespace-nowrap",
+  "pc-search-present-big": "pl-4 text-sm leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))",
+  "pc-search-present-medium": "pl-4 text-sm leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))",
+  "pc-search-present-mini": "pl-4 text-sm leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))",
+  "pc-search-present-unbig": "pl-3 text-xs leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-present-pointer": "cursor-pointer",
+  "pc-search-present-icon-outer": "h-4 leading-4 inline-block pl-2 pr-3 py-0 border-r border-solid border-color-border-separator cursor-pointer",
+  "pc-search-present-icon-chevron-down": "text-base fill-color-icon-primary hover:fill-color-icon-hover",
+  "pc-search-input-background-transparent": " border-transparent",
+  "pc-search-input-background-transparent-collapse": "bg-color-bg-1",
+  "pc-search-input-default": "pl-2 table-cell relative align-middle right-0 text-color-text-primary border-0 outline-0 bg-transparent placeholder:text-color-none focus:placeholder:text-color-text-placeholder",
+  "pc-search-input-collapse": "w-7 float-right p-0",
+  "pc-search-input-uncollapse": "w-full",
+  "pc-search-input-collapse-big": "pl-3",
+  "pc-search-input-collapse-medium": "pl-3",
+  "pc-search-input-collapse-mini": "pl-1",
+  "pc-search-input-collapse-unbig": "pl-2",
+  "pc-search-input-big": "pl-3 text-sm h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-medium": "pl-3 text-sm h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] placeholder:text-sm",
+  "pc-search-input-mini": "pl-3 text-xs h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] placeholder:text-xs",
+  "pc-search-input-unbig": "text-xs h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-transtion": "table-cell relative align-middle right-0 w-8 text-center z-10",
+  "pc-search-input-btn-transtion-big": "h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] translate-x-4",
+  "pc-search-input-btn-transtion-medium": "h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] translate-x-4",
+  "pc-search-input-btn-transtion-mini": "h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] translate-x-4",
+  "pc-search-input-btn-transtion-unbig": "h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] translate-x-3.5",
+  "pc-search-input-btn-transtion-a": "no-underline block w-8",
+  "pc-search-input-btn-transtion-a-big": "leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-transtion-a-medium": "leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-transtion-a-mini": "leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-transtion-a-unbig": "leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-transtion-svg-size": "text-base fill-color-icon-primary hover:fill-color-icon-hover",
+  "pc-search-input-btn": "table-cell relative align-middle right-0 text-center",
+  "pc-search-input-btn-big": "h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] w-11",
+  "pc-search-input-btn-medium": "h-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))] w-11",
+  "pc-search-input-btn-mini": "h-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))] w-11",
+  "pc-search-input-btn-unbig": "h-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))] w-10",
+  "pc-search-input-btn-a": "no-underline block",
+  "pc-search-input-btn-a-big": "w-11 leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-a-medium": "w-11 leading-[calc(theme(spacing.8)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-a-mini": "w-11 leading-[calc(theme(spacing.6)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-a-unbig": "w-10 leading-[calc(theme(spacing.7)-2*theme(borderWidth.DEFAULT))]",
+  "pc-search-input-btn-icon-search-transparent": "fill-color-bg-1",
+  "pc-search-input-btn-icon-search": "text-base fill-color-none",
+  "search-selector": "absolute top-full left-0 overflow-hidden min-w-[theme(spacing.18)] border border-solid border-color-border rounded text-xs shadow bg-color-bg-1 text-color-text-primary mt-0.5 py-1 hidden sm:block",
+  "search-selector-body": "max-h-[theme(spacing.72)] overflow-x-hidden overflow-y-auto",
+  "search-selector-poplist-item": "px-3 min-h-[theme(spacing.6)] leading-6 max-w-full overflow-hidden text-left text-ellipsis whitespace-nowrap cursor-pointer hover:bg-color-bg-2",
+  "search-selector-poplist-item-big": "text-sm",
+  "search-selector-poplist-item-medium": "text-sm",
+  "search-selector-poplist-item-mini": "text-xs",
+  "search-selector-poplist-item-unbig": "text-xs",
+  "mobile-search": "flex sm:hidden w-full items-center shrink-0",
+  "mobile-search-input": "bg-color-bg-4 pl-9    placeholder:text-color-none focus:placeholder:text-color-text-placeholder rounded-full",
+  "mobile-search-input-bg-change": "bg-color-bg-1",
+  "mobile-search-svg-size": "text-base fill-color-none translate-x-1.5",
+  "mobile-search-svg-size-color": "fill-color-bg-1",
+  "mobile-search-button": "w-16 text-center cursor-pointer",
+  "mobile-search-button-notShowButton": "hidden",
+  "mobile-search-input-big": "leading-8 h-8"
+};
+var _sfc_main$3 = defineComponent({
+  emits: ["change", "update:modelValue", "input", "select", "search", "clear"],
+  props: [].concat(props, ["mini", "big", "size", "suffixIcon", "transparent", "searchTypes", "placeholder", "modelValue", "tabindex", "clearable", "isEnterSearch", "showButton", "changeBgColor"]),
+  components: {
+    IconChevronDown: index$9(),
+    IconSearch: index$a(),
+    IconClose: index$b(),
+    IconError: index$c(),
+    TinyInput: Input,
+    TinyButton: Button
+  },
+  setup: function setup$16(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api,
+      classes: classes$1
+    });
+  }
+});
+var _hoisted_1$3 = ["placeholder", "tabindex"];
+var _hoisted_2$3 = {
+  "data-tag": "tiny-search__poplist"
+};
+var _hoisted_3$3 = ["onClick"];
+var _hoisted_4$3 = {
+  class: "inline-block rounded-full"
+};
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_chevron_down = resolveComponent("icon-chevron-down");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_icon_search = resolveComponent("icon-search");
+  var _component_icon_error = resolveComponent("icon-error");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(_ctx.m(_ctx.gcls("search-default"))),
+      "data-tag": "tiny-search",
+      onMouseenter: _cache[12] || (_cache[12] = function($event) {
+        return _ctx.state.hovering = true;
+      }),
+      onMouseleave: _cache[13] || (_cache[13] = function($event) {
+        return _ctx.state.hovering = false;
+      })
+    },
+    [createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-line"), _ctx.gcls({
+          "pc-search-line-focus": _ctx.state.focus
+        }), _ctx.gcls({
+          "pc-search-line-unfocus": !_ctx.state.focus
+        }), _ctx.gcls({
+          "pc-search-line-big": _ctx.big
+        }), _ctx.gcls("pc-search-line-" + _ctx.size), _ctx.gcls({
+          "pc-search-line-unbig": _ctx.size === "small" && !_ctx.big
+        }))),
+        "data-tag": "tiny-search__line"
+      },
+      [createVNode(Transition, {
+        name: "mf-transition-search-line-fade",
+        mode: "out-in",
+        persisted: ""
+      }, {
+        default: withCtx(function() {
+          return [withDirectives(createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-search__present",
+              class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-present"), _ctx.gcls({
+                "pc-search-present-big": _ctx.big
+              }), _ctx.gcls("pc-search-present-" + _ctx.size), _ctx.gcls({
+                "pc-search-present-unbig": _ctx.size === "small" && !_ctx.big
+              }))),
+              onClick: _cache[0] || (_cache[0] = function() {
+                return _ctx.showSelector && _ctx.showSelector.apply(_ctx, arguments);
+              })
+            },
+            [renderSlot(_ctx.$slots, "text", {
+              slotScope: _ctx.state.searchValue
+            }, function() {
+              return [createBaseVNode(
+                "span",
+                {
+                  "data-tag": "tiny-search__text",
+                  class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-present-pointer")))
+                },
+                toDisplayString(_ctx.state.searchValue.text),
+                3
+                /* TEXT, CLASS */
+              )];
+            }), createBaseVNode(
+              "span",
+              {
+                "data-tag": "tiny-icon-outer",
+                class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-present-icon-outer")))
+              },
+              [createVNode(_component_icon_chevron_down, {
+                "data-tag": "tiny-svg-size",
+                class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-present-icon-chevron-down")))
+              }, null, 8, ["class"])],
+              2
+              /* CLASS */
+            )],
+            2
+            /* CLASS */
+          ), [[vShow, !_ctx.state.collapse && _ctx.state.types.length]])];
+        }),
+        _: 3
+        /* FORWARDED */
+      }), withDirectives(createBaseVNode("input", {
+        ref: "input",
+        "onUpdate:modelValue": _cache[1] || (_cache[1] = function($event) {
+          return _ctx.state.currentValue = $event;
+        }),
+        class: normalizeClass(_ctx.m(_ctx.gcls({
+          "pc-search-input-background-transparent": _ctx.transparent
+        }), _ctx.gcls({
+          "pc-search-input-background-transparent-collapse": _ctx.transparent && _ctx.state.collapse
+        }), _ctx.gcls("pc-search-input-default"), _ctx.gcls({
+          "pc-search-input-collapse": _ctx.state.collapse
+        }), _ctx.gcls({
+          "pc-search-input-uncollapse": !_ctx.state.collapse
+        }), _ctx.gcls({
+          "pc-search-input-collapse-big": _ctx.state.collapse && _ctx.big
+        }), _ctx.gcls("pc-search-input-collapse-" + _ctx.size), _ctx.gcls({
+          "pc-search-input-collapse-unbig": _ctx.state.collapse && _ctx.size === "small" && !_ctx.big
+        }), _ctx.gcls({
+          "pc-search-input-big": _ctx.big
+        }), _ctx.gcls("pc-search-input-" + _ctx.size), _ctx.gcls({
+          "pc-search-input-unbig": _ctx.size === "small" && !_ctx.big
+        }))),
+        style: normalizeStyle(_ctx.transparent && _ctx.state.collapse ? {
+          background: "rgba(255,255,255,0.3)"
+        } : {}),
+        placeholder: _ctx.placeholder,
+        type: "text",
+        "data-tag": "tiny-search__input",
+        onKeyup: _cache[2] || (_cache[2] = withKeys(function() {
+          return _ctx.searchEnterKey && _ctx.searchEnterKey.apply(_ctx, arguments);
+        }, ["enter"])),
+        onInput: _cache[3] || (_cache[3] = function() {
+          return _ctx.handleInput && _ctx.handleInput.apply(_ctx, arguments);
+        }),
+        onChange: _cache[4] || (_cache[4] = function() {
+          return _ctx.handleChange && _ctx.handleChange.apply(_ctx, arguments);
+        }),
+        onFocus: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.state.focus = true;
+        }),
+        onBlur: _cache[6] || (_cache[6] = function($event) {
+          return _ctx.state.focus = false;
+        }),
+        onSelect: _cache[7] || (_cache[7] = withModifiers(function() {
+        }, ["stop"])),
+        tabindex: _ctx.tabindex
+      }, null, 46, _hoisted_1$3), [[vModelText, _ctx.state.currentValue]]), createVNode(Transition, {
+        name: "mf-transition-icon-scale-in"
+      }, {
+        default: withCtx(function() {
+          return [_ctx.state.showClear && !_ctx.state.collapse ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 0,
+              "data-tag": "tiny-search__input-btn",
+              class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-input-btn-transtion"), _ctx.gcls({
+                "pc-search-input-btn-transtion-big": _ctx.big
+              }), _ctx.gcls("pc-search-input-btn-transtion-" + _ctx.size), _ctx.gcls({
+                "pc-search-input-btn-transtion-unbig": _ctx.size === "small" && !_ctx.big
+              })))
+            },
+            [createBaseVNode(
+              "a",
+              {
+                class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-input-btn-transtion-a"), _ctx.gcls({
+                  "pc-search-input-btn-transtion-a-big": _ctx.big
+                }), _ctx.gcls("pc-search-input-btn-transtion-a-" + _ctx.size), _ctx.gcls({
+                  "pc-search-input-btn-transtion-a-unbig": _ctx.size === "small" && !_ctx.big
+                }))),
+                onClick: _cache[9] || (_cache[9] = function() {
+                  return _ctx.clear && _ctx.clear.apply(_ctx, arguments);
+                })
+              },
+              [createVNode(_component_icon_close, {
+                onMousedown: _cache[8] || (_cache[8] = withModifiers(function() {
+                }, ["prevent"])),
+                "data-tag": "tiny-svg-size",
+                class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-input-btn-transtion-svg-size")))
+              }, null, 8, ["class"])],
+              2
+              /* CLASS */
+            )],
+            2
+            /* CLASS */
+          )) : createCommentVNode("v-if", true)];
+        }),
+        _: 1
+        /* STABLE */
+      }), createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-search__input-btn",
+          class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-input-btn"), _ctx.gcls({
+            "pc-search-input-btn-big": _ctx.big
+          }), _ctx.gcls("pc-search-input-btn-" + _ctx.size), _ctx.gcls({
+            "pc-search-input-btn-unbig": _ctx.size === "small" && !_ctx.big
+          })))
+        },
+        [createBaseVNode(
+          "a",
+          {
+            class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-input-btn-a"), _ctx.gcls({
+              "pc-search-input-btn-a-big": _ctx.big
+            }), _ctx.gcls("pc-search-input-btn-a-" + _ctx.size), _ctx.gcls({
+              "pc-search-input-btn-a-unbig": _ctx.size === "small" && !_ctx.big
+            }))),
+            onClick: _cache[10] || (_cache[10] = function() {
+              return _ctx.searchClick && _ctx.searchClick.apply(_ctx, arguments);
+            })
+          },
+          [createVNode(_component_icon_search, {
+            class: normalizeClass(_ctx.m(_ctx.gcls("pc-search-input-btn-icon-search"), _ctx.gcls({
+              "pc-search-input-btn-icon-search-transparent": _ctx.state.collapse && _ctx.transparent
+            }))),
+            "data-tag": "tiny-svg-size"
+          }, null, 8, ["class"])],
+          2
+          /* CLASS */
+        )],
+        2
+        /* CLASS */
+      )],
+      2
+      /* CLASS */
+    ), createVNode(Transition, {
+      name: "mf-transition-zoom-in-top",
+      mode: "out-in",
+      persisted: ""
+    }, {
+      default: withCtx(function() {
+        return [withDirectives(createBaseVNode(
+          "div",
+          {
+            ref: "selector",
+            "data-tag": "tiny-search__selector",
+            class: normalizeClass(_ctx.m(_ctx.gcls("search-selector")))
+          },
+          [createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-search__selector-body",
+              class: normalizeClass(_ctx.m(_ctx.gcls("search-selector-body")))
+            },
+            [createBaseVNode("ul", _hoisted_2$3, [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.types, function(item, index3) {
+                return openBlock(), createElementBlock("li", {
+                  key: index3,
+                  "data-tag": "tiny-search__poplist-item",
+                  class: normalizeClass(_ctx.m(_ctx.gcls("search-selector-poplist-item"), _ctx.gcls({
+                    "search-selector-poplist-item-big": _ctx.big
+                  }), _ctx.gcls("search-selector-poplist-item-" + _ctx.size), _ctx.gcls({
+                    "search-selector-poplist-item-unbig": _ctx.size === "small" && !_ctx.big
+                  }))),
+                  onClick: function onClick($event) {
+                    return _ctx.changeKey(item);
+                  }
+                }, [renderSlot(_ctx.$slots, "poplist", {
+                  slotScope: item
+                }, function() {
+                  return [createTextVNode(
+                    toDisplayString(item.text),
+                    1
+                    /* TEXT */
+                  )];
+                })], 10, _hoisted_3$3);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))])],
+            2
+            /* CLASS */
+          )],
+          2
+          /* CLASS */
+        ), [[vShow, _ctx.state.show && _ctx.state.types.length]])];
+      }),
+      _: 3
+      /* FORWARDED */
+    }), createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(_ctx.m(_ctx.gcls("mobile-search")))
+      },
+      [createVNode(_component_tiny_input, {
+        modelValue: _ctx.state.currentValue,
+        "onUpdate:modelValue": _cache[11] || (_cache[11] = function($event) {
+          return _ctx.state.currentValue = $event;
+        }),
+        onInput: _ctx.handleInput,
+        "custom-class": _ctx.m(_ctx.gcls("mobile-search-input"), _ctx.gcls({
+          "mobile-search-input-bg-change": _ctx.changeBgColor
+        }), _ctx.gcls({
+          "mobile-search-input-big": _ctx.big
+        })),
+        placeholder: _ctx.placeholder,
+        size: _ctx.size
+      }, createSlots({
+        prefix: withCtx(function() {
+          return [createVNode(_component_icon_search, {
+            class: normalizeClass(_ctx.m(_ctx.gcls("mobile-search-svg-size"), _ctx.gcls({
+              "mobile-search-svg-size-color": _ctx.state.collapse && _ctx.transparent
+            }))),
+            "data-tag": "tiny-svg-size"
+          }, null, 8, ["class"])];
+        }),
+        _: 2
+        /* DYNAMIC */
+      }, [_ctx.state.showClear && !_ctx.state.collapse ? {
+        name: "suffix",
+        fn: withCtx(function() {
+          return [createBaseVNode("span", _hoisted_4$3, [createVNode(_component_icon_error, {
+            "data-tag": "tiny-svg-size",
+            "custom-class": "w-4 h-4 fill-color-none-hover relative -top-0.5",
+            onClick: _ctx.clear
+          }, null, 8, ["onClick"])])];
+        }),
+        key: "0"
+      } : void 0]), 1032, ["modelValue", "onInput", "custom-class", "placeholder", "size"]), createVNode(_component_tiny_button, {
+        type: "text",
+        onClick: _ctx.searchClick,
+        class: normalizeClass(_ctx.m(_ctx.gcls("mobile-search-button"), _ctx.gcls({
+          "mobile-search-button-notShowButton": !_ctx.showButton
+        })))
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.search.placeholder")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick", "class"])],
+      2
+      /* CLASS */
+    )],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var mobileFirst$2 = /* @__PURE__ */ _export_sfc$3(_sfc_main$3, [["render", _sfc_render$3]]);
+function _extends$4() {
+  _extends$4 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$4.apply(this, arguments);
+}
+var template$2 = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$1;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$2;
+  }
+  return pc$1;
+};
+var searchProps = _extends$4({}, $props, {
+  mini: {
+    type: Boolean,
+    default: false
+  },
+  big: {
+    type: Boolean,
+    default: false
+  },
+  buttonText: {
+    type: String,
+    default: function _default2() {
+      return t("ui.search.placeholder");
+    }
+  },
+  /**
+   * 设置为透明模式,配置为true时,边框变为透明且收缩后半透明显示,一般用在带有背景的场景
+   */
+  transparent: {
+    type: Boolean,
+    default: false
+  },
+  /**
+   * 搜索的类型选项,格式为[{text:'文档',value:1},...],不配置时类型选择固定显示为All
+   */
+  searchTypes: {
+    type: Array,
+    default: function _default22() {
+      return [];
+    }
+  },
+  /**
+   * 设置搜索输入框内的提示占位文本
+   */
+  placeholder: {
+    type: String,
+    default: ""
+  },
+  modelValue: {
+    type: String,
+    default: ""
+  },
+  clearable: {
+    type: Boolean,
+    default: false
+  },
+  tabindex: {
+    type: String,
+    default: "1"
+  },
+  /**
+   * 配置搜索输入框enter键,enter按下触发搜索
+   */
+  isEnterSearch: {
+    type: Boolean,
+    default: true
+  },
+  /**
+   * 配置主题色,primary:蓝 gray:灰
+   */
+  themeType: {
+    type: String,
+    default: "primary",
+    validator: function validator(value) {
+      return ["primary", "gray"].includes(value);
+    }
+  },
+  showButton: {
+    type: Boolean,
+    default: false
+  },
+  changeBgColor: {
+    type: Boolean,
+    default: false
+  },
+  size: {
+    type: String,
+    default: "small"
+  },
+  typeValue: Object,
+  suffixIcon: [Object, String]
+});
+var Search = defineComponent({
+  name: $prefix + "Search",
+  props: searchProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$2
+    });
+  }
+});
+var version$2 = "3.16.0";
+Search.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Search.install = function(Vue) {
+  Vue.component(Search.name, Search);
+};
+Search.version = version$2;
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc27(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$2 = defineComponent({
+  components: {
+    TinySearch: Search,
+    TinyButton: Button,
+    IconClose: index$b(),
+    IconChevronUp: index$d(),
+    IconError: index$c()
+  },
+  props: [].concat(props, ["placement", "boundariesPadding", "popperOptions", "visibleArrow", "appendToBody", "transformOrigin", "reference", "popper", "offset", "modelValue", "arrowOffset", "isDropInheritWidth", "title", "closeByMask", "searchPlaceholder"]),
+  setup: function setup$17(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$2 = {
+  key: 1,
+  "data-tag": "tiny-select-dropdown tiny-popper",
+  class: "text-sm overflow-hidden"
+};
+var _hoisted_2$2 = {
+  "data-tag": "tiny-select-dropdown-header",
+  class: "px-4 pt-4"
+};
+var _hoisted_3$2 = {
+  class: "flex mb-3"
+};
+var _hoisted_4$2 = {
+  class: "flex-1 text-base text-center leading-5"
+};
+var _hoisted_5$2 = {
+  key: 0,
+  class: "flex mb-3"
+};
+var _hoisted_6$2 = {
+  "data-tag": "tiny-select-dropdown-body",
+  class: "px-4 pb-4 overflow-auto flex-1 scrollbar-size-0"
+};
+var _hoisted_7$2 = {
+  key: 0,
+  "data-tag": "tiny-select-dropdown-footer",
+  class: "px-4 h-18 flex justify-between items-center bg-color-bg-1 shadow-[0_-2px_6px_rgba(0,0,0,0.08)] shrink-0"
+};
+var _hoisted_8$2 = {
+  "data-tag": "tiny-selected-box-header",
+  class: "flex h-10 justify-between items-center"
+};
+var _hoisted_9$2 = {
+  "data-tag": "tiny-selected-box-body",
+  class: "flex-1 overflow-auto mb-3"
+};
+var _hoisted_10$2 = {
+  class: "mr-4 flex-1 leading-5 line-clamp-2"
+};
+var _hoisted_11$2 = {
+  "data-tag": "tiny-selected-box-footer",
+  class: "text-center"
+};
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_search = resolveComponent("tiny-search");
+  var _component_icon_chevron_up = resolveComponent("icon-chevron-up");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_icon_error = resolveComponent("icon-error");
+  return _ctx.state.device === "pc" ? (openBlock(), createElementBlock(
+    "div",
+    {
+      key: 0,
+      "data-tag": "tiny-select-dropdown tiny-popper",
+      class: normalizeClass(["absolute z-[1001] border-none rounded bg-color-bg-1 shadow-md mt-1 box-border transition-[transform,opacity] ease-in-out duration-300 origin-top", [_ctx.state.popperClass, _ctx.state.visible ? "scale-y-100 opacity-100" : "scale-y-0 opacity-0"]]),
+      onMousedown: _cache[0] || (_cache[0] = withModifiers(function() {
+      }, ["stop"])),
+      style: normalizeStyle({
+        minWidth: _ctx.state.minWidth,
+        width: _ctx.isDropInheritWidth ? _ctx.state.minWidth : "auto"
+      })
+    },
+    [renderSlot(_ctx.$slots, "default")],
+    38
+    /* CLASS, STYLE, NEED_HYDRATION */
+  )) : (openBlock(), createElementBlock("div", _hoisted_1$2, [createBaseVNode(
+    "div",
+    {
+      ref: "mask",
+      class: normalizeClass(_ctx.m("fixed left-0 right-0 top-0 bottom-0 w-full h-full bg-color-bg-7 transition-[opacity] ease-linear duration-100 opacity-0", {
+        "opacity-100": _ctx.state.visible
+      })),
+      onClick: _cache[1] || (_cache[1] = function($event) {
+        return _ctx.closeModal($event, true);
+      }),
+      style: normalizeStyle({
+        "z-index": _ctx.state.zIndex
+      })
+    },
+    null,
+    6
+    /* CLASS, STYLE */
+  ), createBaseVNode(
+    "div",
+    {
+      "data-tag": "tiny-select-dropdown-main",
+      ref: "drawerBox",
+      style: normalizeStyle({
+        "z-index": _ctx.state.zIndex
+      }),
+      class: normalizeClass(_ctx.m("fixed w-full max-w-full flex flex-col justify-between bg-color-bg-1 shadow-sm border-color-border-separator max-h-[90%]", "min-h-[256px] left-0 bottom-0 border-t-0.5 rounded-t-lg transition-translate ease-linear duration-200 translate-y-full", {
+        "translate-y-0": _ctx.state.visible
+      }))
+    },
+    [createBaseVNode("div", _hoisted_2$2, [createBaseVNode("div", _hoisted_3$2, [_ctx.state.showClose ? (openBlock(), createElementBlock(
+      "span",
+      {
+        key: 0,
+        class: "inline-block h-6 leading-6 text-color-brand",
+        onClick: _cache[2] || (_cache[2] = function() {
+          return _ctx.handleClear && _ctx.handleClear.apply(_ctx, arguments);
+        })
+      },
+      toDisplayString(_ctx.t("ui.base.clear")),
+      1
+      /* TEXT */
+    )) : createCommentVNode("v-if", true), createBaseVNode(
+      "p",
+      _hoisted_4$2,
+      toDisplayString(_ctx.title),
+      1
+      /* TEXT */
+    ), createVNode(_component_icon_close, {
+      "custom-class": "w-5 h-5 ml-4  cursor-pointer",
+      onClick: _cache[3] || (_cache[3] = function($event) {
+        return _ctx.closeModal($event, false);
+      })
+    })]), _ctx.state.filterable ? (openBlock(), createElementBlock("div", _hoisted_5$2, [createVNode(_component_tiny_search, {
+      modelValue: _ctx.state.query,
+      "onUpdate:modelValue": _cache[4] || (_cache[4] = function($event) {
+        return _ctx.state.query = $event;
+      }),
+      placeholder: _ctx.searchPlaceholder,
+      class: "flex-1 px-0",
+      onInput: _ctx.debouncedQueryChange,
+      clearable: "",
+      big: ""
+    }, null, 8, ["modelValue", "placeholder", "onInput"]), createBaseVNode(
+      "span",
+      {
+        class: "inline-block h-8 leading-8 text-color-text-secondary shrink-0 ml-3 text-base",
+        onClick: _cache[5] || (_cache[5] = function() {
+          return _ctx.cancelSearch && _ctx.cancelSearch.apply(_ctx, arguments);
+        })
+      },
+      toDisplayString(_ctx.t("ui.base.cancel")),
+      1
+      /* TEXT */
+    )])) : createCommentVNode("v-if", true)]), createBaseVNode("div", _hoisted_6$2, [renderSlot(_ctx.$slots, "default")]), _ctx.state.multiple ? (openBlock(), createElementBlock("div", _hoisted_7$2, [createBaseVNode("div", null, [createBaseVNode(
+      "span",
+      {
+        onClick: _cache[6] || (_cache[6] = function($event) {
+          return _ctx.toggleSelectedBox(true);
+        }),
+        class: "mr-2"
+      },
+      toDisplayString(_ctx.t("ui.select.selectedNum").replace("{num}", _ctx.state.selected.length)),
+      1
+      /* TEXT */
+    ), _ctx.state.selected.length !== 0 ? (openBlock(), createBlock(_component_icon_chevron_up, {
+      key: 0,
+      "custom-class": "w-5 h-5 cursor-pointer"
+    })) : createCommentVNode("v-if", true)]), createVNode(_component_tiny_button, {
+      type: "primary",
+      "custom-class": "w-28",
+      onClick: _ctx.selectDropdownConfirm
+    }, {
+      default: withCtx(function() {
+        return [createTextVNode(
+          toDisplayString(_ctx.t("ui.base.confirm")),
+          1
+          /* TEXT */
+        )];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["onClick"])])) : createCommentVNode("v-if", true), _ctx.state.multiple ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 1,
+        "data-tag": "tiny-selected-box",
+        class: normalizeClass(["absolute left-0 bottom-0 flex flex-col w-full bg-color-bg-1 transition-all ease-linear duration-200 overflow-hidden z-[2001]", [_ctx.state.showSelectedBox ? "h-full p-4" : "h-0 p-0"]])
+      },
+      [createBaseVNode("div", _hoisted_8$2, [createBaseVNode(
+        "span",
+        {
+          class: "inline-block h-6 py-1 text-color-brand",
+          onClick: _cache[7] || (_cache[7] = function($event) {
+            return _ctx.deleteSelected("", true);
+          })
+        },
+        toDisplayString(_ctx.t("ui.base.clear")),
+        1
+        /* TEXT */
+      ), createVNode(_component_icon_close, {
+        "custom-class": "w-5 h-5 ml-4 cursor-pointer",
+        onClick: _cache[8] || (_cache[8] = function($event) {
+          return _ctx.toggleSelectedBox(false);
+        })
+      })]), createBaseVNode("div", _hoisted_9$2, [createBaseVNode("ul", null, [(openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList(_ctx.state.selectedArr, function(item, index3) {
+          return openBlock(), createElementBlock("li", {
+            key: (item.value || "") + index3,
+            class: "flex h-12 justify-between items-center"
+          }, [createBaseVNode(
+            "span",
+            _hoisted_10$2,
+            toDisplayString(item.label),
+            1
+            /* TEXT */
+          ), createVNode(_component_icon_error, {
+            "custom-class": "w-5 h-5 cursor-pointer fill-color-none-hover",
+            onClick: function onClick($event) {
+              return _ctx.deleteSelected(item);
+            }
+          }, null, 8, ["onClick"])]);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))])]), createBaseVNode("div", _hoisted_11$2, [createVNode(_component_tiny_button, {
+        type: "primary",
+        "custom-class": "w-full",
+        onClick: _ctx.selectedBoxConfirm
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.base.confirm")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["onClick"])])],
+      2
+      /* CLASS */
+    )) : createCommentVNode("v-if", true)],
+    6
+    /* CLASS, STYLE */
+  )]));
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$2(_sfc_main$2, [["render", _sfc_render$2]]);
+function _extends$3() {
+  _extends$3 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$3.apply(this, arguments);
+}
+var template$1 = function template23(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$2;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$1;
+  }
+  return pc$2;
+};
+var SelectDropdown = defineComponent({
+  name: $prefix + "SelectDropdown",
+  componentName: "SelectDropdown",
+  inject: ["select"],
+  props: _extends$3({}, $props, {
+    appendToBody: {
+      type: Boolean,
+      default: function _default3() {
+        return true;
+      }
+    },
+    arrowOffset: {
+      type: Number,
+      default: function _default23() {
+        return 35;
+      }
+    },
+    boundariesPadding: {
+      default: function _default32() {
+        return 0;
+      }
+    },
+    isDropInheritWidth: Boolean,
+    modelValue: Boolean,
+    offset: {
+      default: function _default4() {
+        return 0;
+      }
+    },
+    placement: {
+      default: function _default5() {
+        return "bottom-start";
+      }
+    },
+    popper: {},
+    popperOptions: {
+      default: function _default6() {
+        return {
+          gpuAcceleration: false
+        };
+      }
+    },
+    reference: {},
+    transformOrigin: {
+      type: [Boolean, String],
+      default: function _default7() {
+        return true;
+      }
+    },
+    visibleArrow: {
+      default: function _default8() {
+        return false;
+      }
+    },
+    closeByMask: {
+      type: Boolean,
+      default: true
+    },
+    searchPlaceholder: {
+      type: String,
+      default: ""
+    },
+    title: String
+  }),
+  setup: function setup4(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$1 = "3.16.0";
+SelectDropdown.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+SelectDropdown.install = function(Vue) {
+  Vue.component(SelectDropdown.name, SelectDropdown);
+};
+SelectDropdown.version = version$1;
+const index = "";
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc28(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$2() {
+  _extends$2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$2.apply(this, arguments);
+}
+var getReference$1 = function getReference2(el, binding, vnode) {
+  var _ref = binding.expression ? binding.value : binding.arg;
+  var popper = vnode.context.$refs[_ref];
+  if (popper) {
+    if (Array.isArray(popper)) {
+      popper[0].$refs.reference = el;
+    } else {
+      popper.$refs.reference = el;
+    }
+  }
+};
+var _sfc_main$1 = defineComponent({
+  inheritAttrs: false,
+  emits: ["update:modelValue", "change", "focus", "blur", "clear", "remove-tag", "visible-change", "handleDropdownClick", "dropdown-click", "top-create-click"],
+  directives: directive({
+    Clickoutside: clickoutside_default,
+    popover: {
+      bind: function bind(el, binding, vnode) {
+        getReference$1(el, binding, vnode);
+      },
+      inserted: function inserted(el, binding, vnode) {
+        getReference$1(el, binding, vnode);
+      }
+    }
+  }),
+  components: {
+    TinyTag: Tag,
+    TinyInput: Input,
+    TinyOption: Option,
+    TinyGrid: Grid,
+    TinyTree: Tree,
+    TinyButton: Button,
+    IconClose: index$b(),
+    TinyScrollbar: _sfc_main$9,
+    IconCopy: index$5(),
+    IconPlus: index$e(),
+    TinySelectDropdown: SelectDropdown,
+    IconHalfselect: index$f(),
+    IconCheck: index$6(),
+    IconCheckedSur: index$7(),
+    TinyFilterBox: FilterBox,
+    TinyTooltip: Tooltip,
+    TinyRecycleScroller: RecycleScroller,
+    // tiny 新增,
+    IconSearch: index$a(),
+    IconDeltaDown: index$g(),
+    // 默认下拉图标
+    TinyCheckbox: Checkbox,
+    IconEllipsis: index$h(),
+    IconChevronUp: index$d()
+  },
+  props: [].concat(props, [
+    "id",
+    "multiple",
+    "name",
+    "dataset",
+    "readonly",
+    "tabindex",
+    "dropStyle",
+    "valueField",
+    "textField",
+    "copyable",
+    "size",
+    "options",
+    "showCheck",
+    "showAlloption",
+    "hideDrop",
+    "modelValue",
+    "showOverflowTooltip",
+    "remote",
+    "remoteConfig",
+    "placement",
+    "loading",
+    "disabled",
+    "valueKey",
+    "clearable",
+    "noDataText",
+    "filterable",
+    "loadingText",
+    "noMatchText",
+    "popperClass",
+    "allowCreate",
+    "placeholder",
+    "remoteMethod",
+    "filterMethod",
+    "collapseTags",
+    "autocomplete",
+    "multipleLimit",
+    "reserveKeyword",
+    "automaticDropdown",
+    "defaultFirstOption",
+    "popperAppendToBody",
+    "showDropdown",
+    "expandTags",
+    "renderType",
+    "gridOp",
+    "treeOp",
+    "delay",
+    "cacheOp",
+    "isDropInheritWidth",
+    "tagSelectable",
+    "selectConfig",
+    "radioConfig",
+    "allowCopy",
+    "textSplit",
+    "autoClose",
+    "queryDebounce",
+    "ignoreEnter",
+    "dropdownIcon",
+    "disabledTooltipContent",
+    "hoverExpand",
+    "optimization",
+    "displayOnly",
+    "initQuery",
+    "extraQueryParams",
+    "shape",
+    "label",
+    "tip",
+    "updateDelay",
+    "showTips",
+    "popperOptions",
+    "trim",
+    "topCreate",
+    "topCreateText",
+    "keepFocus",
+    "blank",
+    // 以下为 tiny 新增
+    "searchable",
+    "showEmptyImage",
+    "inputBoxType",
+    "tagType",
+    "clearNoMatchValue",
+    "showLimitText",
+    "showProportion",
+    "clickExpand",
+    "maxVisibleRows",
+    "showAllTextTag",
+    "allText"
+  ]),
+  setup: function setup$18(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3
+    });
+  }
+});
+var _hoisted_1$1 = {
+  key: 0
+};
+var _hoisted_2$1 = {
+  key: 0
+};
+var _hoisted_3$1 = {
+  class: "tiny-select__tags-text"
+};
+var _hoisted_4$1 = {
+  key: 0
+};
+var _hoisted_5$1 = {
+  class: "tiny-select__tags-text"
+};
+var _hoisted_6$1 = {
+  key: 1,
+  ref: "tags-content"
+};
+var _hoisted_7$1 = {
+  key: 0,
+  class: "tiny-select__tags-text"
+};
+var _hoisted_8$1 = {
+  key: 1,
+  class: "tiny-select__tags-text"
+};
+var _hoisted_9$1 = {
+  key: 0
+};
+var _hoisted_10$1 = {
+  key: 1
+};
+var _hoisted_11$1 = {
+  key: 1,
+  class: "tiny-select__tags-text is-disabled"
+};
+var _hoisted_12$1 = {
+  key: 0
+};
+var _hoisted_13 = {
+  key: 1
+};
+var _hoisted_14 = ["disabled", "autocomplete"];
+var _hoisted_15 = {
+  key: 0,
+  class: "tiny-select__limit-txt"
+};
+var _hoisted_16 = {
+  key: 1,
+  class: "tiny-select__proportion-txt"
+};
+var _hoisted_17 = {
+  key: 1,
+  class: "tiny-select__top-create"
+};
+var _hoisted_18 = {
+  class: "tiny-icon-close"
+};
+var _hoisted_19 = {
+  key: 0
+};
+var _hoisted_20 = {
+  key: 1,
+  class: "tiny-select-dropdown__empty-images"
+};
+var _hoisted_21 = {
+  key: 2,
+  class: "tiny-select-dropdown__empty"
+};
+var _hoisted_22 = {
+  key: 1,
+  class: "tiny-select-dropdown__loading"
+};
+var _hoisted_23 = {
+  key: 0,
+  class: "tiny-select-dropdown__empty-images"
+};
+var _hoisted_24 = {
+  key: 1,
+  class: "tiny-select-dropdown__empty"
+};
+var _hoisted_25 = {
+  key: 1,
+  class: "circular",
+  viewBox: "25 25 50 50"
+};
+var _hoisted_26 = /* @__PURE__ */ createBaseVNode(
+  "circle",
+  {
+    class: "path",
+    cx: "50",
+    cy: "50",
+    r: "24",
+    fill: "none"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_27 = [_hoisted_26];
+var _hoisted_28 = {
+  key: 0,
+  class: "tiny-select__placeholder"
+};
+var _hoisted_29 = /* @__PURE__ */ createBaseVNode(
+  "input",
+  {
+    class: "tiny-input__inner",
+    disabled: ""
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_30 = [_hoisted_29];
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_filter_box = resolveComponent("tiny-filter-box");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_tag = resolveComponent("tiny-tag");
+  var _component_icon_ellipsis = resolveComponent("icon-ellipsis");
+  var _component_icon_chevron_up = resolveComponent("icon-chevron-up");
+  var _component_icon_copy = resolveComponent("icon-copy");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_icon_plus = resolveComponent("icon-plus");
+  var _component_tiny_grid = resolveComponent("tiny-grid");
+  var _component_tiny_tree = resolveComponent("tiny-tree");
+  var _component_icon_search = resolveComponent("icon-search");
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_recycle_scroller = resolveComponent("tiny-recycle-scroller");
+  var _component_tiny_checkbox = resolveComponent("tiny-checkbox");
+  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
+  var _component_tiny_select_dropdown = resolveComponent("tiny-select-dropdown");
+  var _directive_popover = resolveDirective("popover");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    mergeProps({
+      ref: "select",
+      class: ["tiny-select", [_ctx.state.selectSize ? "tiny-select--" + _ctx.state.selectSize : "", _ctx.state.collapseTags ? "tiny-select__collapse-tags" : "", _ctx.filterable ? "tiny-select__filterable" : "", _ctx.multiple ? "tiny-select__multiple" : "", (_ctx.state.inputHovering || _ctx.state.visible) && !_ctx.clickExpand ? "is-hover" : "", _ctx.state.isDisplayOnly ? "is-display-only" : "", _ctx.hoverExpand ? "is-hover-expand" : "", _ctx.clickExpand ? "is-click-expand" : "", _ctx.state.showCollapseTag ? "collapse-tag-clicked" : "", _ctx.state.selectDisabled ? "is-disabled" : "", _ctx.$parent.$attrs.class, _ctx.inputBoxType === "underline" ? "tiny-select__underline" : ""]],
+      onMouseleave: _cache[41] || (_cache[41] = withModifiers(function() {
+        _ctx.state.selectHover = false;
+        _ctx.state.inputHovering = false;
+      }, ["self"])),
+      onMouseenter: _cache[42] || (_cache[42] = withModifiers(function() {
+        _ctx.state.selectHover = true;
+        _ctx.state.inputHovering = true;
+      }, ["self"])),
+      onClick: _cache[43] || (_cache[43] = function() {
+        return _ctx.toggleMenu && _ctx.toggleMenu.apply(_ctx, arguments);
+      })
+    }, _ctx.a(_ctx.$attrs, ["class", "style"], true)),
+    [createBaseVNode(
+      "div",
+      {
+        ref: "tagsGroup",
+        style: normalizeStyle(_ctx.state.selectFiexd),
+        class: normalizeClass(["tiny-select__tags-group", {
+          "is-expand": _ctx.state.isExpand
+        }])
+      },
+      [renderSlot(_ctx.$slots, "reference", {}, function() {
+        return [_ctx.shape === "filter" ? (openBlock(), createBlock(_component_tiny_filter_box, {
+          key: 0,
+          ref: "reference",
+          onClick: _ctx.toggleMenu,
+          "show-close": _ctx.clearable,
+          placeholder: _ctx.placeholder,
+          disabled: _ctx.state.selectDisabled,
+          label: _ctx.label,
+          tip: _ctx.tip,
+          value: _ctx.multiple ? _ctx.state.selected.map(function(item) {
+            return item.state ? item.state.currentLabel : item.currentLabel;
+          }).join("; ") : _ctx.state.selectedLabel,
+          "drop-down-visible": _ctx.state.visible,
+          blank: _ctx.blank
+        }, null, 8, ["onClick", "show-close", "placeholder", "disabled", "label", "tip", "value", "drop-down-visible", "blank"])) : createCommentVNode("v-if", true), _ctx.multiple && !_ctx.state.isDisplayOnly && !_ctx.shape ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 1,
+            ref: "tags",
+            class: normalizeClass(["tiny-select__tags", {
+              "is-showicon": _ctx.slots.prefix,
+              "not-selected": !_ctx.state.selected.length
+            }]),
+            style: normalizeStyle(_ctx.state.tagsStyle)
+          },
+          [!_ctx.state.selectDisabled ? (openBlock(), createElementBlock("span", _hoisted_1$1, [_ctx.collapseTags && _ctx.state.selected.length ? (openBlock(), createElementBlock("span", _hoisted_2$1, [(openBlock(), createBlock(_component_tiny_tag, {
+            closable: !_ctx.state.selectDisabled,
+            size: _ctx.state.collapseTagSize,
+            hit: _ctx.state.selected[0].state ? _ctx.state.selected[0].state.hitState : _ctx.state.selected[0].hitState,
+            key: _ctx.state.key,
+            type: _ctx.state.getTagType,
+            onClose: _cache[1] || (_cache[1] = function($event) {
+              return _ctx.deleteTag($event, _ctx.state.selected[0]);
+            }),
+            "disable-transitions": ""
+          }, {
+            default: withCtx(function() {
+              return [createVNode(_component_tiny_tooltip, {
+                effect: "light",
+                placement: "top",
+                onMouseenter: _cache[0] || (_cache[0] = function($event) {
+                  return _ctx.handleEnterTag($event, _ctx.getValueKey(_ctx.state.selected[0]));
+                })
+              }, {
+                content: withCtx(function() {
+                  return [_ctx.state.tooltipContent[_ctx.getValueKey(_ctx.state.selected[0])] ? (openBlock(), createElementBlock("span", _hoisted_4$1, [renderSlot(_ctx.$slots, "label", {
+                    item: _ctx.getLabelSlotValue(_ctx.state.selected[0])
+                  }, function() {
+                    return [createTextVNode(
+                      toDisplayString(_ctx.state.selected[0].state ? _ctx.state.selected[0].state.currentLabel : _ctx.state.selected[0].currentLabel),
+                      1
+                      /* TEXT */
+                    )];
+                  })])) : createCommentVNode("v-if", true)];
+                }),
+                default: withCtx(function() {
+                  return [createBaseVNode("span", _hoisted_3$1, [renderSlot(_ctx.$slots, "label", {
+                    item: _ctx.getLabelSlotValue(_ctx.state.selected[0])
+                  }, function() {
+                    return [createTextVNode(
+                      toDisplayString(_ctx.state.selected[0].state ? _ctx.state.selected[0].state.currentLabel : _ctx.state.selected[0].currentLabel),
+                      1
+                      /* TEXT */
+                    )];
+                  })])];
+                }),
+                _: 3
+                /* FORWARDED */
+              })];
+            }),
+            _: 3
+            /* FORWARDED */
+          }, 8, ["closable", "size", "hit", "type"])), _ctx.state.selected.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
+            key: 0,
+            closable: false,
+            size: _ctx.state.collapseTagSize,
+            type: _ctx.state.getTagType,
+            "disable-transitions": "",
+            class: "tiny-select__tags-number"
+          }, {
+            default: withCtx(function() {
+              return [createBaseVNode(
+                "span",
+                _hoisted_5$1,
+                "+ " + toDisplayString(_ctx.state.selected.length - 1),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["size", "type"])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), !_ctx.collapseTags ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_6$1,
+            [_ctx.showAllTextTag && _ctx.state.selectCls === "checked-sur" ? (openBlock(), createBlock(_component_tiny_tag, {
+              type: _ctx.state.getTagType,
+              key: "tags-all-text-tag",
+              "data-tag": "tags-all-text-tag",
+              closable: true,
+              size: _ctx.state.collapseTagSize,
+              onClose: _cache[2] || (_cache[2] = function($event) {
+                return _ctx.toggleCheckAll(false);
+              })
+            }, {
+              default: withCtx(function() {
+                return [createTextVNode(
+                  toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
+                  1
+                  /* TEXT */
+                )];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["type", "size"])) : (openBlock(), createElementBlock(
+              Fragment,
+              {
+                key: 1
+              },
+              [_ctx.hoverExpand || _ctx.clickExpand ? (openBlock(), createBlock(_component_tiny_tag, {
+                class: normalizeClass(["tiny-select__tags-collapse", {
+                  "is-hidden": _ctx.state.isHidden
+                }]),
+                type: _ctx.state.getTagType,
+                key: "tags-collapse",
+                "data-tag": "tags-collapse",
+                closable: false,
+                size: _ctx.state.collapseTagSize,
+                onClick: _cache[3] || (_cache[3] = function($event) {
+                  return _ctx.onClickCollapseTag($event);
+                })
+              }, {
+                default: withCtx(function() {
+                  return [_ctx.hoverExpand ? (openBlock(), createElementBlock(
+                    Fragment,
+                    {
+                      key: 0
+                    },
+                    [createTextVNode(
+                      " + " + toDisplayString(_ctx.state.collapseTagsLength),
+                      1
+                      /* TEXT */
+                    )],
+                    64
+                    /* STABLE_FRAGMENT */
+                  )) : (openBlock(), createBlock(_component_icon_ellipsis, {
+                    key: 1
+                  }))];
+                }),
+                _: 1
+                /* STABLE */
+              }, 8, ["class", "type", "size"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+                Fragment,
+                null,
+                renderList(_ctx.state.selected, function(item, index3) {
+                  return openBlock(), createBlock(_component_tiny_tag, {
+                    key: _ctx.getValueKey(item),
+                    class: normalizeClass({
+                      "not-visible": _ctx.state.toHideIndex <= index3 && !_ctx.state.isExpand
+                    }),
+                    closable: !item.disabled && !item.required,
+                    size: _ctx.state.collapseTagSize,
+                    hit: item.state ? item.state.hitState : item.hitState,
+                    type: _ctx.state.getTagType,
+                    onClose: function onClose($event) {
+                      return _ctx.deleteTag($event, item);
+                    },
+                    "disable-transitions": ""
+                  }, {
+                    default: withCtx(function() {
+                      return [createVNode(_component_tiny_tooltip, {
+                        effect: "light",
+                        placement: "top",
+                        onMouseenter: function onMouseenter($event) {
+                          return _ctx.handleEnterTag($event, _ctx.getValueKey(item));
+                        }
+                      }, createSlots({
+                        default: withCtx(function() {
+                          return [!_ctx.state.visible && _ctx.state.overflow === index3 ? (openBlock(), createElementBlock(
+                            "span",
+                            _hoisted_7$1,
+                            toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
+                            1
+                            /* TEXT */
+                          )) : (openBlock(), createElementBlock("span", _hoisted_8$1, [renderSlot(_ctx.$slots, "label", {
+                            item: _ctx.getLabelSlotValue(item)
+                          }, function() {
+                            return [createTextVNode(
+                              toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
+                              1
+                              /* TEXT */
+                            )];
+                          })]))];
+                        }),
+                        _: 2
+                        /* DYNAMIC */
+                      }, [_ctx.state.tooltipContent[_ctx.getValueKey(item)] ? {
+                        name: "content",
+                        fn: withCtx(function() {
+                          return [!_ctx.state.visible && _ctx.state.overflow === index3 ? (openBlock(), createElementBlock(
+                            "span",
+                            _hoisted_9$1,
+                            toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
+                            1
+                            /* TEXT */
+                          )) : (openBlock(), createElementBlock("span", _hoisted_10$1, [renderSlot(_ctx.$slots, "label", {
+                            item: _ctx.getLabelSlotValue(item)
+                          }, function() {
+                            return [createTextVNode(
+                              toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
+                              1
+                              /* TEXT */
+                            )];
+                          })]))];
+                        }),
+                        key: "0"
+                      } : void 0]), 1032, ["onMouseenter"])];
+                    }),
+                    _: 2
+                    /* DYNAMIC */
+                  }, 1032, ["class", "closable", "size", "hit", "type", "onClose"]);
+                }),
+                128
+                /* KEYED_FRAGMENT */
+              )), _ctx.clickExpand && _ctx.state.showCollapseTag ? (openBlock(), createElementBlock("span", {
+                key: 1,
+                class: "tiny-select__collapse-text",
+                onClick: _cache[4] || (_cache[4] = function($event) {
+                  return _ctx.onClickCollapseTag($event);
+                })
+              }, [createTextVNode(
+                toDisplayString(_ctx.t("ui.select.collapse")) + " ",
+                1
+                /* TEXT */
+              ), createVNode(_component_icon_chevron_up)])) : createCommentVNode("v-if", true)],
+              64
+              /* STABLE_FRAGMENT */
+            ))],
+            512
+            /* NEED_PATCH */
+          )) : createCommentVNode("v-if", true)])) : (openBlock(), createElementBlock("span", _hoisted_11$1, [createVNode(_component_tiny_tooltip, {
+            effect: "light",
+            placement: "top",
+            disabled: !_ctx.showTips
+          }, {
+            content: withCtx(function() {
+              return [createBaseVNode(
+                "div",
+                {
+                  class: normalizeClass([_ctx.state.showTips && "tiny-select__show-tips", "tiny-select__show-common"])
+                },
+                [_ctx.slots.label ? (openBlock(), createElementBlock("span", _hoisted_12$1, [(openBlock(true), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(_ctx.state.selected, function(item) {
+                    return openBlock(), createElementBlock("span", {
+                      key: _ctx.getValueKey(item)
+                    }, [renderSlot(_ctx.$slots, "label", {
+                      item
+                    })]);
+                  }),
+                  128
+                  /* KEYED_FRAGMENT */
+                ))])) : (openBlock(), createElementBlock(
+                  "span",
+                  _hoisted_13,
+                  toDisplayString(_ctx.disabledTooltipContent || _ctx.state.disabledTooltipContent),
+                  1
+                  /* TEXT */
+                ))],
+                2
+                /* CLASS */
+              )];
+            }),
+            default: withCtx(function() {
+              return [createBaseVNode("span", null, [(openBlock(true), createElementBlock(
+                Fragment,
+                null,
+                renderList(_ctx.state.selected, function(item) {
+                  return openBlock(), createElementBlock("span", {
+                    key: item.value
+                  }, [renderSlot(_ctx.$slots, "label", {
+                    item
+                  }, function() {
+                    return [createTextVNode(
+                      toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
+                      1
+                      /* TEXT */
+                    )];
+                  }), createTextVNode("; ")]);
+                }),
+                128
+                /* KEYED_FRAGMENT */
+              ))])];
+            }),
+            _: 3
+            /* FORWARDED */
+          }, 8, ["disabled"])])), withDirectives(createBaseVNode("input", {
+            ref: "input",
+            "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
+              return _ctx.state.query = $event;
+            }),
+            type: "text",
+            class: normalizeClass(["tiny-select__input", [_ctx.state.selectSize ? "is-" + _ctx.state.selectSize : ""]]),
+            disabled: _ctx.state.selectDisabled,
+            autocomplete: _ctx.autocomplete,
+            onFocus: _cache[6] || (_cache[6] = function() {
+              return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+            }),
+            onBlur: _cache[7] || (_cache[7] = function() {
+              return _ctx.handleBlur && _ctx.handleBlur.apply(_ctx, arguments);
+            }),
+            onKeyup: _cache[8] || (_cache[8] = function() {
+              return _ctx.managePlaceholder && _ctx.managePlaceholder.apply(_ctx, arguments);
+            }),
+            onKeydown: [_cache[9] || (_cache[9] = function() {
+              return _ctx.resetInputState && _ctx.resetInputState.apply(_ctx, arguments);
+            }), _cache[10] || (_cache[10] = withKeys(withModifiers(function($event) {
+              return _ctx.navigateOptions("next");
+            }, ["prevent"]), ["down"])), _cache[11] || (_cache[11] = withKeys(withModifiers(function($event) {
+              return _ctx.navigateOptions("prev");
+            }, ["prevent"]), ["up"])), _cache[12] || (_cache[12] = withKeys(withModifiers(function() {
+              return _ctx.selectOption && _ctx.selectOption.apply(_ctx, arguments);
+            }, ["prevent"]), ["enter"])), _cache[13] || (_cache[13] = withKeys(withModifiers(function($event) {
+              return _ctx.state.visible = false;
+            }, ["stop", "prevent"]), ["esc"])), _cache[14] || (_cache[14] = withKeys(function() {
+              return _ctx.deletePrevTag && _ctx.deletePrevTag.apply(_ctx, arguments);
+            }, ["delete"])), _cache[15] || (_cache[15] = withKeys(function($event) {
+              return _ctx.state.visible = false;
+            }, ["tab"]))],
+            onCompositionstart: _cache[16] || (_cache[16] = function() {
+              return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
+            }),
+            onCompositionupdate: _cache[17] || (_cache[17] = function() {
+              return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
+            }),
+            onCompositionend: _cache[18] || (_cache[18] = function() {
+              return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
+            }),
+            onInput: _cache[19] || (_cache[19] = function() {
+              return _ctx.debouncedQueryChange && _ctx.debouncedQueryChange.apply(_ctx, arguments);
+            }),
+            style: normalizeStyle({
+              "flex-grow": "1",
+              width: _ctx.state.inputLength / (_ctx.state.inputWidth - 32) + "%",
+              "max-width": _ctx.state.inputWidth - 42 + "px",
+              height: "auto"
+            })
+          }, null, 46, _hoisted_14), [[vShow, _ctx.filterable && !_ctx.searchable && !_ctx.state.selectDisabled], [vModelText, _ctx.state.query]])],
+          6
+          /* CLASS, STYLE */
+        )) : createCommentVNode("v-if", true), !_ctx.shape ? (openBlock(), createBlock(_component_tiny_input, {
+          key: 2,
+          tiny_mode: "pc",
+          ref: "reference",
+          modelValue: _ctx.state.selectedLabel,
+          "onUpdate:modelValue": _cache[22] || (_cache[22] = function($event) {
+            return _ctx.state.selectedLabel = $event;
+          }),
+          type: "text",
+          placeholder: _ctx.state.currentPlaceholder,
+          name: _ctx.name,
+          id: _ctx.id,
+          autocomplete: _ctx.autocomplete,
+          size: _ctx.state.selectSize,
+          disabled: _ctx.state.selectDisabled,
+          readonly: _ctx.state.readonly,
+          "display-only": _ctx.state.isDisplayOnly,
+          "display-only-content": _ctx.state.displayOnlyContent,
+          unselectable: _ctx.state.readonly ? "on" : "off",
+          "validate-event": false,
+          class: normalizeClass({
+            "is-focus": _ctx.state.visible,
+            overflow: _ctx.state.overflow,
+            "is-show-close": _ctx.state.showClose
+          }),
+          tabindex: _ctx.multiple && _ctx.filterable ? "-1" : _ctx.tabindex,
+          onFocus: _ctx.handleFocus,
+          onBlur: _ctx.handleBlur,
+          onKeyup: _ctx.debouncedOnInputChange,
+          onKeydown: [_cache[23] || (_cache[23] = withKeys(withModifiers(function($event) {
+            return _ctx.navigateOptions("next");
+          }, ["stop", "prevent"]), ["down"])), _cache[24] || (_cache[24] = withKeys(withModifiers(function($event) {
+            return _ctx.navigateOptions("prev");
+          }, ["stop", "prevent"]), ["up"])), withKeys(withModifiers(_ctx.selectOption, ["prevent"]), ["enter"]), _cache[25] || (_cache[25] = withKeys(withModifiers(function($event) {
+            return _ctx.state.visible = false;
+          }, ["stop", "prevent"]), ["esc"])), _cache[26] || (_cache[26] = withKeys(function($event) {
+            return _ctx.state.visible = false;
+          }, ["tab"]))],
+          onPaste: _ctx.debouncedOnInputChange,
+          onMouseenter: _ctx.onMouseenterNative,
+          onMouseleave: _ctx.onMouseleaveNative,
+          onCompositionend: _ctx.handleComposition
+        }, createSlots({
+          suffix: withCtx(function() {
+            return [renderSlot(_ctx.$slots, "suffix"), _ctx.showLimitText && _ctx.multiple && _ctx.multipleLimit ? (openBlock(), createElementBlock(
+              "span",
+              _hoisted_15,
+              toDisplayString(_ctx.state.selected.length) + "/" + toDisplayString(_ctx.multipleLimit),
+              1
+              /* TEXT */
+            )) : _ctx.showProportion && _ctx.state.selected.length > 0 && _ctx.state.options.length > 1 ? (openBlock(), createElementBlock(
+              "span",
+              _hoisted_16,
+              toDisplayString(_ctx.state.selected.length + "/" + _ctx.state.options.length),
+              1
+              /* TEXT */
+            )) : createCommentVNode("v-if", true), _ctx.state.showCopy ? (openBlock(), createElementBlock("span", {
+              key: 2,
+              class: "tiny-select__copy",
+              onClick: _cache[20] || (_cache[20] = withModifiers(function() {
+                return _ctx.handleCopyClick && _ctx.handleCopyClick.apply(_ctx, arguments);
+              }, ["stop"]))
+            }, [createVNode(_component_icon_copy, {
+              class: "tiny-svg-size tiny-select__caret"
+            })])) : createCommentVNode("v-if", true), _ctx.state.showClose ? (openBlock(), createBlock(_component_icon_close, {
+              key: 3,
+              class: "tiny-svg-size tiny-select__caret icon-close",
+              onClick: _ctx.handleClearClick,
+              onMouseenter: _cache[21] || (_cache[21] = function($event) {
+                return _ctx.state.inputHovering = true;
+              })
+            }, null, 8, ["onClick"])) : createCommentVNode("v-if", true), withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.state.getIcon.icon), {
+              class: normalizeClass(["tiny-svg-size", "tiny-select__caret", _ctx.state.iconClass, {
+                "is-reverse": !_ctx.state.visible && _ctx.state.getIcon.isDefault
+              }, {
+                "not-reverse": !_ctx.state.getIcon.isDefault
+              }]),
+              onClick: _ctx.handleDropdownClick
+            }, null, 8, ["class", "onClick"])), [[vShow, _ctx.state.autoHideDownIcon ? !_ctx.state.showClose && !(_ctx.remote && _ctx.filterable && !_ctx.remoteConfig.showIcon) : !(_ctx.remote && _ctx.filterable && !_ctx.remoteConfig.showIcon)]])];
+          }),
+          _: 2
+          /* DYNAMIC */
+        }, [_ctx.slots.prefix ? {
+          name: "prefix",
+          fn: withCtx(function() {
+            return [renderSlot(_ctx.$slots, "prefix")];
+          }),
+          key: "0"
+        } : void 0]), 1032, ["modelValue", "placeholder", "name", "id", "autocomplete", "size", "disabled", "readonly", "display-only", "display-only-content", "unselectable", "class", "tabindex", "onFocus", "onBlur", "onKeyup", "onKeydown", "onPaste", "onMouseenter", "onMouseleave", "onCompositionend"])) : createCommentVNode("v-if", true)];
+      }), createVNode(Transition, {
+        name: "tiny-zoom-in-top",
+        onBeforeEnter: _ctx.handleMenuEnter,
+        onAfterLeave: _ctx.doDestroy,
+        persisted: ""
+      }, {
+        default: withCtx(function() {
+          return [withDirectives(createVNode(_component_tiny_select_dropdown, {
+            ref: "popper",
+            "is-drop-inherit-width": _ctx.isDropInheritWidth,
+            placement: _ctx.placement,
+            "append-to-body": _ctx.popperAppendToBody,
+            style: normalizeStyle(_ctx.dropStyle),
+            "popper-options": _ctx.popperOptions
+          }, {
+            default: withCtx(function() {
+              return [_ctx.shape && _ctx.filterable ? (openBlock(), createElementBlock(
+                "div",
+                {
+                  key: 0,
+                  class: normalizeClass(["tiny-select__filter-input", [_ctx.remote && !_ctx.state.options.length ? "tiny-select__remote-input" : ""]])
+                },
+                [createVNode(_component_tiny_input, {
+                  ref: "input",
+                  type: "text",
+                  modelValue: _ctx.state.query,
+                  "onUpdate:modelValue": _cache[27] || (_cache[27] = function($event) {
+                    return _ctx.state.query = $event;
+                  }),
+                  placeholder: _ctx.placeholder,
+                  onInput: _ctx.debouncedQueryChange,
+                  onFocus: _ctx.handleFocus,
+                  autofocus: ""
+                }, null, 8, ["modelValue", "placeholder", "onInput", "onFocus"])],
+                2
+                /* CLASS */
+              )) : createCommentVNode("v-if", true), _ctx.topCreate ? (openBlock(), createElementBlock("div", _hoisted_17, [createBaseVNode("div", {
+                onClick: _cache[28] || (_cache[28] = function($event) {
+                  return _ctx.$emit("top-create-click", $event);
+                })
+              }, [createVNode(_component_icon_plus), createBaseVNode(
+                "span",
+                null,
+                toDisplayString(_ctx.topCreateText),
+                1
+                /* TEXT */
+              )])])) : createCommentVNode("v-if", true), _ctx.renderType === "grid" ? (openBlock(), createBlock(_component_tiny_grid, mergeProps({
+                key: 2,
+                "auto-resize": "",
+                "row-id": _ctx.valueField,
+                "select-config": _ctx.buildSelectConfig(),
+                "radio-config": _ctx.buildRadioConfig(),
+                ref: "selectGrid",
+                "highlight-current-row": true,
+                columns: _ctx.gridOp.columns,
+                data: _ctx.state.gridData,
+                onSelectAll: _ctx.selectChange,
+                onSelectChange: _ctx.selectChange,
+                onRadioChange: _ctx.radioChange,
+                onMousedown: _cache[29] || (_cache[29] = withModifiers(function() {
+                }, ["stop"]))
+              }, _ctx.gridOp), null, 16, ["row-id", "select-config", "radio-config", "columns", "data", "onSelectAll", "onSelectChange", "onRadioChange"])) : createCommentVNode("v-if", true), _ctx.renderType === "tree" ? (openBlock(), createBlock(_component_tiny_tree, mergeProps({
+                key: 3,
+                "filter-node-method": _ctx.filterMethod,
+                props: _extends$2({
+                  label: _ctx.textField,
+                  isLeaf: "isLeaf"
+                }, _ctx.treeOp.props),
+                "expand-on-click-node": false,
+                "icon-trigger-click-node": false,
+                "node-key": _ctx.valueField,
+                "default-expand-all": _ctx.state.isExpandAll,
+                "check-strictly": _ctx.treeOp.checkStrictly,
+                "default-checked-keys": _ctx.multiple ? _ctx.state.defaultCheckedKeys : [],
+                ref: "selectTree",
+                "current-node-key": !_ctx.multiple ? _ctx.state.currentKey : "",
+                "show-checkbox": _ctx.multiple,
+                onLoadData: _ctx.loadTreeData,
+                onNodeCollapse: _ctx.nodeCollapse,
+                onNodeExpand: _ctx.nodeExpand,
+                onCheck: _ctx.nodeCheckClick,
+                onNodeClick: _ctx.treeNodeClick
+              }, _ctx.treeOp), null, 16, ["filter-node-method", "props", "node-key", "default-expand-all", "check-strictly", "default-checked-keys", "current-node-key", "show-checkbox", "onLoadData", "onNodeCollapse", "onNodeExpand", "onCheck", "onNodeClick"])) : createCommentVNode("v-if", true), _ctx.searchable ? (openBlock(), createBlock(_component_tiny_input, {
+                key: 4,
+                modelValue: _ctx.state.query,
+                "onUpdate:modelValue": [_cache[30] || (_cache[30] = function($event) {
+                  return _ctx.state.query = $event;
+                }), _cache[31] || (_cache[31] = function($event) {
+                  return _ctx.handleQueryChange(_ctx.state.query);
+                })],
+                placeholder: _ctx.t("ui.search.placeholder"),
+                class: "tiny-select-dropdown__search"
+              }, {
+                prefix: withCtx(function() {
+                  return [createVNode(_component_icon_search, {
+                    class: "tiny-select-dropdown__search-prefix"
+                  })];
+                }),
+                suffix: withCtx(function() {
+                  return [withDirectives(createBaseVNode(
+                    "span",
+                    _hoisted_18,
+                    [createVNode(_component_icon_close, {
+                      onClick: _ctx.clearSearchText
+                    }, null, 8, ["onClick"])],
+                    512
+                    /* NEED_PATCH */
+                  ), [[vShow, _ctx.state.query]]), createVNode(_component_icon_search, {
+                    class: "tiny-select-dropdown__search-suffix"
+                  })];
+                }),
+                _: 1
+                /* STABLE */
+              }, 8, ["modelValue", "placeholder"])) : createCommentVNode("v-if", true), _ctx.optimization && !~["grid", "tree"].indexOf(_ctx.renderType) ? (openBlock(), createElementBlock(
+                "div",
+                {
+                  key: 5,
+                  style: normalizeStyle({
+                    height: _ctx.state.optimizeStore.recycleScrollerHeight + "px"
+                  })
+                },
+                [withDirectives((openBlock(), createBlock(_component_tiny_recycle_scroller, {
+                  ref: "scrollbar",
+                  style: {
+                    "height": "100%"
+                  },
+                  key: _ctx.state.magicKey,
+                  "key-field": _ctx.valueField,
+                  "list-class": ["tiny-select-dropdown__wrap"],
+                  "item-class": ["tiny-select-dropdown__item-view"],
+                  items: _ctx.state.datas,
+                  "item-size": _ctx.state.optimizeOpts.optionHeight
+                }, {
+                  before: withCtx(function() {
+                    return [_ctx.state.showNewOption ? (openBlock(), createBlock(_component_tiny_option, {
+                      key: 0,
+                      value: _ctx.state.query,
+                      created: ""
+                    }, null, 8, ["value"])) : createCommentVNode("v-if", true)];
+                  }),
+                  default: withCtx(function(_ref2) {
+                    var item = _ref2.item;
+                    return [renderSlot(_ctx.$slots, "default", {
+                      item
+                    }, function() {
+                      return [(openBlock(), createBlock(_component_tiny_option, {
+                        key: "" + item[_ctx.valueField],
+                        label: item[_ctx.textField],
+                        value: item[_ctx.valueField],
+                        disabled: item.disabled,
+                        required: item.required,
+                        "highlight-class": item._highlightClass,
+                        events: item.events,
+                        icon: item.icon,
+                        onMousedown: _cache[32] || (_cache[32] = withModifiers(function() {
+                        }, ["stop"]))
+                      }, null, 8, ["label", "value", "disabled", "required", "highlight-class", "events", "icon"]))];
+                    })];
+                  }),
+                  _: 3
+                  /* FORWARDED */
+                }, 8, ["key-field", "items", "item-size"])), [[vShow, !_ctx.state.emptyFlag && !_ctx.loading]])],
+                4
+                /* STYLE */
+              )) : createCommentVNode("v-if", true), !_ctx.optimization && !~["grid", "tree"].indexOf(_ctx.renderType) ? withDirectives((openBlock(), createBlock(_component_tiny_scrollbar, {
+                key: 6,
+                ref: "scrollbar",
+                show: "",
+                tag: "ul",
+                "wrap-class": ["tiny-select-dropdown__wrap"],
+                "view-class": ["tiny-select-dropdown__list"],
+                onMousedown: _cache[40] || (_cache[40] = withModifiers(function() {
+                }, ["stop"])),
+                class: normalizeClass({
+                  "is-empty": !_ctx.allowCreate && _ctx.state.query && _ctx.state.filteredOptionsCount === 0
+                })
+              }, {
+                default: withCtx(function() {
+                  return [renderSlot(_ctx.$slots, "dropdown"), _ctx.multiple && _ctx.showCheck && _ctx.showAlloption && !_ctx.state.multipleLimit && !_ctx.state.query && !_ctx.remote ? (openBlock(), createElementBlock(
+                    "li",
+                    {
+                      key: 0,
+                      class: normalizeClass(["tiny-option tiny-select-dropdown__item", [{
+                        hover: _ctx.state.hoverIndex === -9 && _ctx.state.selectCls !== "checked-sur"
+                      }, {
+                        "selected": _ctx.state.selectCls === "checked-sur"
+                      }]]),
+                      "data-tag": "tiny-select-dropdown-item",
+                      onClick: _cache[33] || (_cache[33] = withModifiers(function($event) {
+                        return _ctx.toggleCheckAll(false);
+                      }, ["stop"])),
+                      onMousedown: _cache[34] || (_cache[34] = withModifiers(function() {
+                      }, ["stop"])),
+                      onMouseenter: _cache[35] || (_cache[35] = function($event) {
+                        return _ctx.state.hoverIndex = -9;
+                      })
+                    },
+                    [createVNode(_component_tiny_checkbox, {
+                      "model-value": _ctx.state.selectCls === "checked-sur",
+                      indeterminate: _ctx.state.selectCls === "halfselect",
+                      class: normalizeClass(_ctx.state.selectCls)
+                    }, {
+                      default: withCtx(function() {
+                        return [createTextVNode(
+                          toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
+                          1
+                          /* TEXT */
+                        )];
+                      }),
+                      _: 1
+                      /* STABLE */
+                    }, 8, ["model-value", "indeterminate", "class"])],
+                    34
+                    /* CLASS, NEED_HYDRATION */
+                  )) : createCommentVNode("v-if", true), _ctx.multiple && _ctx.showCheck && _ctx.showAlloption && !_ctx.state.multipleLimit && _ctx.state.query && !_ctx.state.emptyText && !_ctx.remote ? (openBlock(), createElementBlock(
+                    "li",
+                    {
+                      key: 1,
+                      class: normalizeClass(["tiny-option tiny-select-dropdown__item", [{
+                        hover: _ctx.state.hoverIndex === -9 && _ctx.state.filteredSelectCls !== "checked-sur"
+                      }, {
+                        "selected": _ctx.state.filteredSelectCls === "checked-sur"
+                      }]]),
+                      "data-tag": "tiny-select-dropdown-item",
+                      onClick: _cache[36] || (_cache[36] = withModifiers(function($event) {
+                        return _ctx.toggleCheckAll(true);
+                      }, ["stop"])),
+                      onMousedown: _cache[37] || (_cache[37] = withModifiers(function() {
+                      }, ["stop"])),
+                      onMouseenter: _cache[38] || (_cache[38] = function($event) {
+                        return _ctx.state.hoverIndex = -9;
+                      })
+                    },
+                    [createVNode(_component_tiny_checkbox, {
+                      "model-value": _ctx.state.filteredSelectCls === "checked-sur",
+                      indeterminate: _ctx.state.filteredSelectCls === "halfselect",
+                      class: normalizeClass(_ctx.state.selectCls)
+                    }, {
+                      default: withCtx(function() {
+                        return [createTextVNode(
+                          toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
+                          1
+                          /* TEXT */
+                        )];
+                      }),
+                      _: 1
+                      /* STABLE */
+                    }, 8, ["model-value", "indeterminate", "class"])],
+                    34
+                    /* CLASS, NEED_HYDRATION */
+                  )) : createCommentVNode("v-if", true), _ctx.state.showNewOption ? (openBlock(), createBlock(_component_tiny_option, {
+                    key: 2,
+                    value: _ctx.state.query,
+                    created: ""
+                  }, null, 8, ["value"])) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {}, function() {
+                    return [(openBlock(true), createElementBlock(
+                      Fragment,
+                      null,
+                      renderList(_ctx.state.datas, function(item) {
+                        return openBlock(), createBlock(_component_tiny_option, {
+                          key: "" + item[_ctx.valueField],
+                          label: item[_ctx.textField],
+                          value: item[_ctx.valueField],
+                          disabled: item.disabled,
+                          required: item.required,
+                          "highlight-class": item._highlightClass,
+                          events: item.events,
+                          onMousedown: _cache[39] || (_cache[39] = withModifiers(function() {
+                          }, ["stop"])),
+                          icon: item.icon
+                        }, null, 8, ["label", "value", "disabled", "required", "highlight-class", "events", "icon"]);
+                      }),
+                      128
+                      /* KEYED_FRAGMENT */
+                    ))];
+                  })];
+                }),
+                _: 3
+                /* FORWARDED */
+              }, 8, ["class"])), [[vShow, _ctx.state.options.length > 0 && !_ctx.loading]]) : createCommentVNode("v-if", true), _ctx.renderType !== "grid" && _ctx.renderType !== "tree" && _ctx.state.emptyText && (!_ctx.allowCreate || _ctx.loading || _ctx.allowCreate && _ctx.state.emptyFlag) ? (openBlock(), createElementBlock(
+                Fragment,
+                {
+                  key: 7
+                },
+                [_ctx.loadingText || _ctx.slots.empty ? (openBlock(), createElementBlock("div", _hoisted_19, [_ctx.slots.empty ? renderSlot(_ctx.$slots, "empty", {
+                  key: 0
+                }) : _ctx.showEmptyImage ? (openBlock(), createElementBlock("span", _hoisted_20)) : (openBlock(), createElementBlock(
+                  "p",
+                  _hoisted_21,
+                  toDisplayString(_ctx.state.emptyText),
+                  1
+                  /* TEXT */
+                ))])) : (openBlock(), createElementBlock("div", _hoisted_22, [!_ctx.loading ? (openBlock(), createElementBlock(
+                  Fragment,
+                  {
+                    key: 0
+                  },
+                  [_ctx.showEmptyImage ? (openBlock(), createElementBlock("span", _hoisted_23)) : (openBlock(), createElementBlock(
+                    "span",
+                    _hoisted_24,
+                    toDisplayString(_ctx.state.emptyText),
+                    1
+                    /* TEXT */
+                  ))],
+                  64
+                  /* STABLE_FRAGMENT */
+                )) : (openBlock(), createElementBlock("svg", _hoisted_25, _hoisted_27))]))],
+                64
+                /* STABLE_FRAGMENT */
+              )) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "footer")];
+            }),
+            _: 3
+            /* FORWARDED */
+          }, 8, ["is-drop-inherit-width", "placement", "append-to-body", "style", "popper-options"]), [[vShow, !_ctx.onCopying() && !_ctx.hideDrop && _ctx.state.visible && _ctx.state.emptyText !== false]])];
+        }),
+        _: 3
+        /* FORWARDED */
+      }, 8, ["onBeforeEnter", "onAfterLeave"])],
+      6
+      /* CLASS, STYLE */
+    ), _ctx.hoverExpand && !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock("div", _hoisted_28, _hoisted_30)) : createCommentVNode("v-if", true)],
+    16
+    /* FULL_PROPS */
+  )), [[_directive_popover, void 0, "popover"], [_directive_clickoutside, _ctx.handleClose]]);
+}
+var pc = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render$1]]);
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc29(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var classes = {
+  "caret": "text-base rotate-0 transition-transform duration-300 fill-color-text-placeholder cursor-pointer ",
+  "select-tags": "absolute leading-normal whitespace-normal sm:pl-3 pr-2 z-[1] top-1/2 -translate-y-2/4 flex items-center flex-wrap [&_[data-tag=tiny-tag]]:my-0.5 [&_[data-tag=tiny-tag]]:h-7 [&_[data-tag=tiny-tag]]:text-sm [&_[data-tag=tiny-tag]]:sm:h-5 [&_[data-tag=tiny-tag]]:sm:text-sm [&_[data-tag=tiny-tag]_svg]:shrink-0",
+  "tags-text": "inline-block w-full whitespace-nowrap text-ellipsis overflow-hidden align-bottom",
+  "tag-info": "whitespace-nowrap text-ellipsis overflow-hidden inline-flex justify-start items-center border-transparent text-color-text-primary"
+};
+var getReference = function getReference22(el, binding, vnode) {
+  var _ref = binding.expression ? binding.value : binding.arg;
+  var popper = vnode.context.$refs[_ref];
+  if (popper) {
+    if (Array.isArray(popper)) {
+      popper[0].$refs.reference = el;
+    } else {
+      popper.$refs.reference = el;
+    }
+  }
+};
+var _sfc_main = defineComponent({
+  inheritAttrs: false,
+  emits: ["update:modelValue", "change", "focus", "blur", "clear", "remove-tag", "visible-change", "handleDropdownClick", "dropdown-click", "confirm"],
+  directives: directive({
+    Clickoutside: clickoutside_default,
+    popover: {
+      bind: function bind2(el, binding, vnode) {
+        getReference(el, binding, vnode);
+      },
+      inserted: function inserted2(el, binding, vnode) {
+        getReference(el, binding, vnode);
+      }
+    }
+  }),
+  components: {
+    TinyTag: Tag,
+    TinyInput: Input,
+    TinyOption: Option,
+    TinyTree: Tree,
+    TinyScrollbar: _sfc_main$9,
+    TinyFilterBox: FilterBox,
+    TinyTooltip: Tooltip,
+    IconClose: index$b(),
+    IconCopy: index$5(),
+    TinySelectDropdown: SelectDropdown,
+    IconHalfselect: index$f(),
+    IconCheck: index$6(),
+    IconCheckedSur: index$7(),
+    IconLoading: index$i(),
+    IconChevronRight: index$j(),
+    TinyRecycleScroller: RecycleScroller
+  },
+  props: [].concat(props, ["id", "multiple", "name", "dataset", "readonly", "tabindex", "dropStyle", "valueField", "textField", "copyable", "size", "options", "showCheck", "showAlloption", "showProportion", "hideDrop", "modelValue", "showOverflowTooltip", "remote", "remoteConfig", "placement", "loading", "disabled", "valueKey", "clearable", "noDataText", "filterable", "loadingText", "noMatchText", "popperClass", "allowCreate", "placeholder", "remoteMethod", "filterMethod", "collapseTags", "autocomplete", "multipleLimit", "reserveKeyword", "automaticDropdown", "defaultFirstOption", "popperAppendToBody", "showDropdown", "expandTags", "renderType", "gridOp", "treeOp", "delay", "cacheOp", "isDropInheritWidth", "tagSelectable", "selectConfig", "radioConfig", "allowCopy", "textSplit", "autoClose", "queryDebounce", "ignoreEnter", "dropdownIcon", "disabledTooltipContent", "hoverExpand", "optimization", "displayOnly", "initQuery", "extraQueryParams", "shape", "label", "tip", "updateDelay", "showTips", "popperOptions", "title", "closeByMask", "searchPlaceholder", "blank", "allText"]),
+  setup: function setup$19(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3,
+      classes
+    });
+  }
+});
+var _hoisted_1 = {
+  key: 1,
+  ref: "tags-content",
+  class: "sm:contents hidden"
+};
+var _hoisted_2 = {
+  class: "inline-block w-full whitespace-nowrap text-ellipsis overflow-hidden text-color-text-disabled"
+};
+var _hoisted_3 = {
+  key: 0
+};
+var _hoisted_4 = {
+  key: 1
+};
+var _hoisted_5 = ["disabled", "autocomplete"];
+var _hoisted_6 = {
+  key: 1
+};
+var _hoisted_7 = {
+  key: 0
+};
+var _hoisted_8 = {
+  key: 1,
+  class: "py-2.5 px-0 m-0 text-center text-color-text-secondary text-xs"
+};
+var _hoisted_9 = {
+  key: 1,
+  class: "text-center py-2.5 px-0"
+};
+var _hoisted_10 = {
+  key: 0,
+  class: "py-2.5 px-0 m-0 text-center text-color-text-secondary text-xs"
+};
+var _hoisted_11 = /* @__PURE__ */ createBaseVNode(
+  "input",
+  {
+    disabled: ""
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_12 = [_hoisted_11];
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_filter_box = resolveComponent("tiny-filter-box");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_tag = resolveComponent("tiny-tag");
+  var _component_icon_copy = resolveComponent("icon-copy");
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_tiny_tree = resolveComponent("tiny-tree");
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_recycle_scroller = resolveComponent("tiny-recycle-scroller");
+  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
+  var _component_icon_loading = resolveComponent("icon-loading");
+  var _component_tiny_select_dropdown = resolveComponent("tiny-select-dropdown");
+  var _directive_popover = resolveDirective("popover");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    mergeProps({
+      ref: "select",
+      class: ["inline-block relative w-full outline-0 group [&_[data-tag=tiny-tag]]:max-w-[144px]", [_ctx.hoverExpand ? "align-top" : "", _ctx.$parent.$attrs.class]],
+      onMouseleave: _cache[34] || (_cache[34] = withModifiers(function() {
+        _ctx.state.selectHover = false;
+        _ctx.state.inputHovering = false;
+      }, ["self"])),
+      onMouseenter: _cache[35] || (_cache[35] = withModifiers(function() {
+        _ctx.state.selectHover = true;
+        _ctx.state.inputHovering = true;
+      }, ["self"])),
+      onClick: _cache[36] || (_cache[36] = function() {
+        return _ctx.toggleMenu && _ctx.toggleMenu.apply(_ctx, arguments);
+      })
+    }, _ctx.a(_ctx.$attrs, ["class", "style"], true)),
+    [createBaseVNode(
+      "div",
+      {
+        ref: "tagsGroup",
+        style: normalizeStyle(_ctx.state.selectFiexd),
+        class: normalizeClass([{
+          "absolute top-0 left-0 right-0": _ctx.hoverExpand
+        }, {
+          "absolute w-full": _ctx.state.isExpand && _ctx.hoverExpand
+        }, {
+          "z-[2]": _ctx.state.isExpand && _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible)
+        }])
+      },
+      [_ctx.shape === "filter" ? (openBlock(), createBlock(_component_tiny_filter_box, {
+        key: 0,
+        ref: "reference",
+        onClick: _ctx.toggleMenu,
+        "show-close": _ctx.clearable,
+        placeholder: _ctx.placeholder,
+        disabled: _ctx.state.selectDisabled,
+        label: _ctx.label,
+        tip: _ctx.tip,
+        value: _ctx.multiple ? _ctx.state.selected.map(function(item) {
+          return item.state ? item.state.currentLabel : item.currentLabel;
+        }).join("; ") : _ctx.state.selectedLabel,
+        "drop-down-visible": _ctx.state.visible,
+        blank: _ctx.blank
+      }, null, 8, ["onClick", "show-close", "placeholder", "disabled", "label", "tip", "value", "drop-down-visible", "blank"])) : createCommentVNode("v-if", true), _ctx.multiple && !_ctx.state.isDisplayOnly && !_ctx.shape ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 1,
+          ref: "tags",
+          class: normalizeClass(_ctx.m(_ctx.gcls("select-tags"), {
+            "pl-9 sm:pl-9": _ctx.slots.prefix
+          }, {
+            "overflow-y-hidden": (_ctx.state.inputHovering || _ctx.state.visible) && !_ctx.state.selected.length
+          }, {
+            "h-6 overflow-hidden": _ctx.hoverExpand
+          }, {
+            "pr-6": _ctx.state.selectDisabled
+          }, {
+            "overflow-y-auto max-h-28 h-auto": _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible)
+          })),
+          style: normalizeStyle(_ctx.state.tagsStyle)
+        },
+        [!_ctx.state.selectDisabled ? (openBlock(), createElementBlock(
+          "span",
+          {
+            key: 0,
+            class: normalizeClass([_ctx.collapseTags ? _ctx.filterable && _ctx.state.device === "pc" ? "w-auto max-w-[76%] flex" : "w-full flex" : "contents"])
+          },
+          [(_ctx.collapseTags || _ctx.state.device === "mb") && _ctx.state.selectedVal.length ? (openBlock(), createElementBlock(
+            "span",
+            {
+              key: 0,
+              class: normalizeClass(["contents", _ctx.collapseTags && _ctx.filterable ? "max-w-full flex-1" : ""])
+            },
+            [(openBlock(), createBlock(_component_tiny_tag, {
+              closable: !_ctx.state.selectDisabled && _ctx.state.device !== "mb",
+              size: _ctx.state.collapseTagSize,
+              hit: _ctx.state.selectedVal[0].state ? _ctx.state.selectedVal[0].state.hitState : _ctx.state.selectedVal[0].hitState,
+              key: _ctx.state.key,
+              type: "info",
+              class: normalizeClass(_ctx.gcls("tag-info")),
+              onClose: _cache[1] || (_cache[1] = function($event) {
+                return _ctx.deleteTag($event, _ctx.state.selectedVal[0]);
+              }),
+              "disable-transitions": ""
+            }, {
+              default: withCtx(function() {
+                return [createVNode(
+                  _component_tiny_tooltip,
+                  {
+                    effect: "light",
+                    placement: "top",
+                    onMouseenter: _cache[0] || (_cache[0] = function($event) {
+                      return _ctx.handleEnterTag($event, _ctx.getValueKey(_ctx.state.selectedVal[0]));
+                    })
+                  },
+                  createSlots({
+                    default: withCtx(function() {
+                      return [createBaseVNode(
+                        "span",
+                        {
+                          class: normalizeClass(_ctx.gcls("tags-text"))
+                        },
+                        [renderSlot(_ctx.$slots, "label", {
+                          item: _ctx.getLabelSlotValue(_ctx.state.selectedVal[0])
+                        }, function() {
+                          return [createTextVNode(
+                            toDisplayString(_ctx.state.selectedVal[0].state ? _ctx.state.selectedVal[0].state.currentLabel : _ctx.state.selectedVal[0].currentLabel),
+                            1
+                            /* TEXT */
+                          )];
+                        })],
+                        2
+                        /* CLASS */
+                      )];
+                    }),
+                    _: 2
+                    /* DYNAMIC */
+                  }, [_ctx.state.tooltipContent[_ctx.getValueKey(_ctx.state.selectedVal[0])] ? {
+                    name: "content",
+                    fn: withCtx(function() {
+                      return [createBaseVNode(
+                        "span",
+                        {
+                          class: normalizeClass(_ctx.gcls("tags-text"))
+                        },
+                        [renderSlot(_ctx.$slots, "label", {
+                          item: _ctx.getLabelSlotValue(_ctx.state.selectedVal[0])
+                        }, function() {
+                          return [createTextVNode(
+                            toDisplayString(_ctx.state.selectedVal[0].state ? _ctx.state.selectedVal[0].state.currentLabel : _ctx.state.selectedVal[0].currentLabel),
+                            1
+                            /* TEXT */
+                          )];
+                        })],
+                        2
+                        /* CLASS */
+                      )];
+                    }),
+                    key: "0"
+                  } : void 0]),
+                  1024
+                  /* DYNAMIC_SLOTS */
+                )];
+              }),
+              _: 3
+              /* FORWARDED */
+            }, 8, ["closable", "size", "hit", "class"])), _ctx.state.selectedVal.length > 1 ? (openBlock(), createBlock(_component_tiny_tag, {
+              key: 0,
+              closable: false,
+              size: _ctx.state.collapseTagSize,
+              class: normalizeClass(["overflow-visible", _ctx.gcls("tag-info")]),
+              type: "info",
+              "disable-transitions": ""
+            }, {
+              default: withCtx(function() {
+                return [createBaseVNode(
+                  "span",
+                  {
+                    class: normalizeClass(_ctx.gcls("tags-text"))
+                  },
+                  "+ " + toDisplayString(_ctx.state.selectedVal.length - 1),
+                  3
+                  /* TEXT, CLASS */
+                )];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["size", "class"])) : createCommentVNode("v-if", true)],
+            2
+            /* CLASS */
+          )) : createCommentVNode("v-if", true), !_ctx.collapseTags ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_1,
+            [_ctx.hoverExpand ? (openBlock(), createBlock(_component_tiny_tag, {
+              class: normalizeClass(_ctx.m(_ctx.gcls("tag-info"), {
+                "visible static": _ctx.hoverExpand
+              }, {
+                "invisible absolute": _ctx.hoverExpand && (_ctx.state.inputHovering || _ctx.state.visible || _ctx.state.isHidden)
+              })),
+              type: "info",
+              "data-tag": "tags-collapse",
+              key: "tags-collapse",
+              closable: false,
+              size: _ctx.state.collapseTagSize
+            }, {
+              default: withCtx(function() {
+                return [createTextVNode(
+                  "+ " + toDisplayString(_ctx.state.collapseTagsLength),
+                  1
+                  /* TEXT */
+                )];
+              }),
+              _: 1
+              /* STABLE */
+            }, 8, ["class", "size"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.selected, function(item, index3) {
+                return openBlock(), createBlock(_component_tiny_tag, {
+                  key: _ctx.getValueKey(item),
+                  closable: !item.selectDisabled && !item.required && _ctx.state.device !== "mb",
+                  size: _ctx.state.collapseTagSize,
+                  hit: item.state ? item.state.hitState : item.hitState,
+                  class: normalizeClass(_ctx.gcls("tag-info")),
+                  type: "info",
+                  onClose: function onClose($event) {
+                    return _ctx.deleteTag($event, item);
+                  },
+                  "disable-transitions": ""
+                }, {
+                  default: withCtx(function() {
+                    return [createVNode(_component_tiny_tooltip, {
+                      effect: "light",
+                      placement: "top",
+                      onMouseenter: function onMouseenter($event) {
+                        return _ctx.handleEnterTag($event, _ctx.getValueKey(item));
+                      }
+                    }, createSlots({
+                      default: withCtx(function() {
+                        return [!_ctx.state.visible && _ctx.state.overflow === index3 ? (openBlock(), createElementBlock(
+                          "span",
+                          {
+                            key: 0,
+                            class: normalizeClass(_ctx.gcls("tags-text"))
+                          },
+                          toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
+                          3
+                          /* TEXT, CLASS */
+                        )) : (openBlock(), createElementBlock(
+                          "span",
+                          {
+                            key: 1,
+                            class: normalizeClass(_ctx.gcls("tags-text"))
+                          },
+                          [renderSlot(_ctx.$slots, "label", {
+                            item: _ctx.getLabelSlotValue(item)
+                          }, function() {
+                            return [createTextVNode(
+                              toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
+                              1
+                              /* TEXT */
+                            )];
+                          })],
+                          2
+                          /* CLASS */
+                        ))];
+                      }),
+                      _: 2
+                      /* DYNAMIC */
+                    }, [_ctx.state.tooltipContent[_ctx.getValueKey(item)] ? {
+                      name: "content",
+                      fn: withCtx(function() {
+                        return [!_ctx.state.visible && _ctx.state.overflow === index3 ? (openBlock(), createElementBlock(
+                          "span",
+                          {
+                            key: 0,
+                            class: normalizeClass(_ctx.gcls("tags-text"))
+                          },
+                          toDisplayString(item.state ? item.state.currentLabel + "... " : item.currentLabel + "... "),
+                          3
+                          /* TEXT, CLASS */
+                        )) : (openBlock(), createElementBlock(
+                          "span",
+                          {
+                            key: 1,
+                            class: normalizeClass(_ctx.gcls("tags-text"))
+                          },
+                          [renderSlot(_ctx.$slots, "label", {
+                            item: _ctx.getLabelSlotValue(item)
+                          }, function() {
+                            return [createTextVNode(
+                              toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
+                              1
+                              /* TEXT */
+                            )];
+                          })],
+                          2
+                          /* CLASS */
+                        ))];
+                      }),
+                      key: "0"
+                    } : void 0]), 1032, ["onMouseenter"])];
+                  }),
+                  _: 2
+                  /* DYNAMIC */
+                }, 1032, ["closable", "size", "hit", "class", "onClose"]);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))],
+            512
+            /* NEED_PATCH */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )) : (openBlock(), createElementBlock(
+          "span",
+          {
+            key: 1,
+            class: normalizeClass([_ctx.gcls("tags-text"), "flex"])
+          },
+          [createVNode(_component_tiny_tooltip, {
+            effect: "light",
+            placement: "top",
+            disabled: !_ctx.showTips || _ctx.state.device === "mb"
+          }, {
+            content: withCtx(function() {
+              return [createBaseVNode(
+                "div",
+                {
+                  class: normalizeClass([_ctx.state.showTips && "max-h-[theme(spacing.72)] overflow-x-hidden w-full", "inline-block"])
+                },
+                [_ctx.slots.label ? (openBlock(), createElementBlock("span", _hoisted_3, [(openBlock(true), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(_ctx.state.selected, function(item) {
+                    return openBlock(), createElementBlock("span", {
+                      key: _ctx.getValueKey(item)
+                    }, [renderSlot(_ctx.$slots, "label", {
+                      item
+                    })]);
+                  }),
+                  128
+                  /* KEYED_FRAGMENT */
+                ))])) : (openBlock(), createElementBlock(
+                  "span",
+                  _hoisted_4,
+                  toDisplayString(_ctx.disabledTooltipContent || _ctx.state.disabledTooltipContent),
+                  1
+                  /* TEXT */
+                ))],
+                2
+                /* CLASS */
+              )];
+            }),
+            default: withCtx(function() {
+              return [createBaseVNode("span", _hoisted_2, [(openBlock(true), createElementBlock(
+                Fragment,
+                null,
+                renderList(_ctx.state.selected, function(item) {
+                  return openBlock(), createElementBlock("span", {
+                    key: item.value
+                  }, [renderSlot(_ctx.$slots, "label", {
+                    item
+                  }, function() {
+                    return [createTextVNode(
+                      toDisplayString(item.state ? item.state.currentLabel : item.currentLabel),
+                      1
+                      /* TEXT */
+                    )];
+                  }), createTextVNode("; ")]);
+                }),
+                128
+                /* KEYED_FRAGMENT */
+              ))])];
+            }),
+            _: 3
+            /* FORWARDED */
+          }, 8, ["disabled"])],
+          2
+          /* CLASS */
+        )), _ctx.filterable && !_ctx.state.selectDisabled ? withDirectives((openBlock(), createElementBlock("input", {
+          key: 2,
+          ref: "input",
+          "onUpdate:modelValue": _cache[2] || (_cache[2] = function($event) {
+            return _ctx.state.query = $event;
+          }),
+          type: "text",
+          class: normalizeClass(["hidden sm:inline-block border-none outline-0 p-0 ml-px text-color-text-primary text-xs h-7 appearance-none bg-transparent", [_ctx.state.selectSize === "mini" ? "h-6" : "", _ctx.state.selectSize === "small" ? "h-9" : "", _ctx.state.selectSize === "medium" ? "h-8" : ""]]),
+          disabled: _ctx.state.selectDisabled,
+          autocomplete: _ctx.autocomplete,
+          onFocus: _cache[3] || (_cache[3] = function() {
+            return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+          }),
+          onBlur: _cache[4] || (_cache[4] = function() {
+            return _ctx.handleBlur && _ctx.handleBlur.apply(_ctx, arguments);
+          }),
+          onKeyup: _cache[5] || (_cache[5] = function() {
+            return _ctx.managePlaceholder && _ctx.managePlaceholder.apply(_ctx, arguments);
+          }),
+          onKeydown: [_cache[6] || (_cache[6] = function() {
+            return _ctx.resetInputState && _ctx.resetInputState.apply(_ctx, arguments);
+          }), _cache[7] || (_cache[7] = withKeys(withModifiers(function($event) {
+            return _ctx.navigateOptions("next");
+          }, ["prevent"]), ["down"])), _cache[8] || (_cache[8] = withKeys(withModifiers(function($event) {
+            return _ctx.navigateOptions("prev");
+          }, ["prevent"]), ["up"])), _cache[9] || (_cache[9] = withKeys(withModifiers(function() {
+            return _ctx.selectOption && _ctx.selectOption.apply(_ctx, arguments);
+          }, ["prevent"]), ["enter"])), _cache[10] || (_cache[10] = withKeys(withModifiers(function($event) {
+            return _ctx.state.visible = false;
+          }, ["stop", "prevent"]), ["esc"])), _cache[11] || (_cache[11] = withKeys(function() {
+            return _ctx.deletePrevTag && _ctx.deletePrevTag.apply(_ctx, arguments);
+          }, ["delete"])), _cache[12] || (_cache[12] = withKeys(function($event) {
+            return _ctx.state.visible = false;
+          }, ["tab"]))],
+          onCompositionstart: _cache[13] || (_cache[13] = function() {
+            return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
+          }),
+          onCompositionupdate: _cache[14] || (_cache[14] = function() {
+            return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
+          }),
+          onCompositionend: _cache[15] || (_cache[15] = function() {
+            return _ctx.handleComposition && _ctx.handleComposition.apply(_ctx, arguments);
+          }),
+          onInput: _cache[16] || (_cache[16] = function() {
+            return _ctx.debouncedQueryChange && _ctx.debouncedQueryChange.apply(_ctx, arguments);
+          }),
+          style: normalizeStyle({
+            "flex-grow": "1",
+            width: _ctx.state.inputLength / (_ctx.state.inputWidth - 32) + "%",
+            "max-width": _ctx.state.inputWidth - 42 + "px",
+            height: "auto"
+          })
+        }, null, 46, _hoisted_5)), [[vModelText, _ctx.state.query]]) : createCommentVNode("v-if", true)],
+        6
+        /* CLASS, STYLE */
+      )) : createCommentVNode("v-if", true), !_ctx.shape ? (openBlock(), createBlock(_component_tiny_input, {
+        key: 2,
+        ref: "reference",
+        modelValue: _ctx.state.selectedLabel,
+        "onUpdate:modelValue": _cache[19] || (_cache[19] = function($event) {
+          return _ctx.state.selectedLabel = $event;
+        }),
+        type: "text",
+        placeholder: _ctx.state.currentPlaceholder,
+        name: _ctx.name,
+        id: _ctx.id,
+        autocomplete: _ctx.autocomplete,
+        size: _ctx.state.selectSize,
+        disabled: _ctx.state.selectDisabled,
+        readonly: _ctx.state.readonly,
+        "display-only": _ctx.state.isDisplayOnly,
+        "display-only-content": _ctx.state.displayOnlyContent,
+        unselectable: _ctx.state.readonly ? "on" : "off",
+        "validate-event": false,
+        tabindex: _ctx.multiple && _ctx.filterable ? "-1" : _ctx.tabindex,
+        onFocus: _ctx.handleFocus,
+        onBlur: _ctx.handleBlur,
+        onKeyup: _ctx.debouncedOnInputChange,
+        onKeydown: [_cache[20] || (_cache[20] = withKeys(withModifiers(function($event) {
+          return _ctx.navigateOptions("next");
+        }, ["stop", "prevent"]), ["down"])), _cache[21] || (_cache[21] = withKeys(withModifiers(function($event) {
+          return _ctx.navigateOptions("prev");
+        }, ["stop", "prevent"]), ["up"])), withKeys(withModifiers(_ctx.selectOption, ["prevent"]), ["enter"]), _cache[22] || (_cache[22] = withKeys(withModifiers(function($event) {
+          return _ctx.state.visible = false;
+        }, ["stop", "prevent"]), ["esc"])), _cache[23] || (_cache[23] = withKeys(function($event) {
+          return _ctx.state.visible = false;
+        }, ["tab"]))],
+        onPaste: _ctx.debouncedOnInputChange,
+        onMouseenter: _ctx.onMouseenterNative,
+        onMouseleave: _ctx.onMouseleaveNative,
+        onCompositionend: _ctx.handleComposition
+      }, createSlots({
+        suffix: withCtx(function() {
+          return [renderSlot(_ctx.$slots, "suffix"), _ctx.state.showCopy ? (openBlock(), createElementBlock("span", {
+            key: 0,
+            class: "h-4 cursor-pointer relative z-[1]",
+            onClick: _cache[17] || (_cache[17] = withModifiers(function() {
+              return _ctx.handleCopyClick && _ctx.handleCopyClick.apply(_ctx, arguments);
+            }, ["stop"]))
+          }, [createVNode(_component_icon_copy, {
+            class: normalizeClass([_ctx.gcls("caret"), "align-top group-hover:fill-color-brand"])
+          }, null, 8, ["class"])])) : createCommentVNode("v-if", true), _ctx.showProportion && _ctx.state.selected.length > 0 && _ctx.state.options.length > 1 ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_6,
+            toDisplayString(_ctx.state.selected.length + "/" + _ctx.state.options.length),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true), _ctx.state.showClose ? (openBlock(), createBlock(_component_icon_close, {
+            key: 2,
+            class: normalizeClass([_ctx.gcls("caret"), "hidden sm:inline-block", {
+              "mr-2 fill-color-text-placeholder hover:fill-color-icon-primary": _ctx.state.showClose
+            }, {
+              "mr-1": _ctx.multiple && _ctx.state.showClose
+            }]),
+            onClick: _ctx.handleClearClick,
+            onMouseenter: _cache[18] || (_cache[18] = function($event) {
+              return _ctx.state.inputHovering = true;
+            })
+          }, null, 8, ["class", "onClick"])) : createCommentVNode("v-if", true), withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon), {
+            class: normalizeClass(_ctx.m(_ctx.gcls("caret"), "hidden sm:inline-block", _ctx.state.iconClass, {
+              "hidden": _ctx.state.selectDisabled
+            }, {
+              "fill-color-brand-hover rotate-180 ": _ctx.state.visible
+            })),
+            onClick: _ctx.handleDropdownClick
+          }, null, 8, ["class", "onClick"])), [[vShow, !(_ctx.remote && _ctx.filterable && !_ctx.remoteConfig.showIcon)]]), createVNode(_component_icon_chevron_right, {
+            "custom-class": "h-5 w-5 sm:h-4 sm:w-4",
+            class: normalizeClass(["inline-block sm:hidden", [_ctx.state.selectDisabled ? "fill-color-icon-placeholder sm:fill-color-icon-disabled" : "fill-color-icon-secondary"]])
+          }, null, 8, ["class"])];
+        }),
+        _: 2
+        /* DYNAMIC */
+      }, [_ctx.slots.prefix ? {
+        name: "prefix",
+        fn: withCtx(function() {
+          return [renderSlot(_ctx.$slots, "prefix")];
+        }),
+        key: "0"
+      } : void 0]), 1032, ["modelValue", "placeholder", "name", "id", "autocomplete", "size", "disabled", "readonly", "display-only", "display-only-content", "unselectable", "tabindex", "onFocus", "onBlur", "onKeyup", "onKeydown", "onPaste", "onMouseenter", "onMouseleave", "onCompositionend"])) : createCommentVNode("v-if", true), createVNode(Transition, {
+        onBeforeEnter: _ctx.handleMenuEnter,
+        onAfterLeave: _ctx.doDestroy,
+        persisted: ""
+      }, {
+        default: withCtx(function() {
+          return [withDirectives(createVNode(_component_tiny_select_dropdown, {
+            ref: "popper",
+            title: _ctx.title,
+            "close-by-mask": _ctx.closeByMask,
+            "search-placeholder": _ctx.searchPlaceholder,
+            "is-drop-inherit-width": _ctx.isDropInheritWidth,
+            placement: _ctx.placement,
+            "append-to-body": _ctx.popperAppendToBody,
+            style: normalizeStyle(_ctx.dropStyle),
+            "popper-options": _ctx.popperOptions,
+            class: normalizeClass(_ctx.m("duration-300"))
+          }, {
+            default: withCtx(function() {
+              return [_ctx.shape && _ctx.filterable ? (openBlock(), createElementBlock(
+                "div",
+                {
+                  key: 0,
+                  class: normalizeClass(["px-3 pt-3 pb-1 hidden sm:block", [_ctx.remote && !_ctx.state.options.length ? "pb-3" : ""]])
+                },
+                [createVNode(_component_tiny_input, {
+                  ref: "input",
+                  type: "text",
+                  modelValue: _ctx.state.query,
+                  "onUpdate:modelValue": _cache[24] || (_cache[24] = function($event) {
+                    return _ctx.state.query = $event;
+                  }),
+                  placeholder: _ctx.placeholder,
+                  onInput: _ctx.debouncedQueryChange,
+                  onFocus: _ctx.handleFocus,
+                  autofocus: ""
+                }, null, 8, ["modelValue", "placeholder", "onInput", "onFocus"])],
+                2
+                /* CLASS */
+              )) : createCommentVNode("v-if", true), _ctx.renderType === "tree" ? (openBlock(), createBlock(_component_tiny_tree, mergeProps({
+                key: 1,
+                class: "[&_[data-tag=tiny-checkbox]_>span_>span]:p-1.5 sm:[&_[data-tag=tiny-checkbox]_>span_>span]:p-0",
+                "filter-node-method": _ctx.filterMethod,
+                props: _extends$1({
+                  label: _ctx.textField,
+                  isLeaf: "isLeaf"
+                }, _ctx.treeOp.props),
+                "expand-on-click-node": false,
+                "icon-trigger-click-node": false,
+                "node-key": _ctx.valueField,
+                "default-expand-all": _ctx.state.isExpandAll,
+                "check-strictly": _ctx.treeOp.checkStrictly,
+                "default-checked-keys": _ctx.multiple ? _ctx.state.defaultCheckedKeys : [],
+                ref: "selectTree",
+                "current-node-key": !_ctx.multiple ? _ctx.state.currentKey : "",
+                "show-checkbox": _ctx.multiple,
+                onLoadData: _ctx.loadTreeData,
+                onNodeCollapse: _ctx.nodeCollapse,
+                onNodeExpand: _ctx.nodeExpand,
+                onCheck: _ctx.nodeCheckClick,
+                onNodeClick: _ctx.treeNodeClick,
+                "show-checked-mark": _ctx.state.device === "mb"
+              }, _ctx.treeOp), null, 16, ["filter-node-method", "props", "node-key", "default-expand-all", "check-strictly", "default-checked-keys", "current-node-key", "show-checkbox", "onLoadData", "onNodeCollapse", "onNodeExpand", "onCheck", "onNodeClick", "show-checked-mark"])) : createCommentVNode("v-if", true), _ctx.optimization && _ctx.renderType !== "tree" ? (openBlock(), createElementBlock(
+                "div",
+                {
+                  key: 2,
+                  style: normalizeStyle({
+                    height: _ctx.state.optimizeStore.recycleScrollerHeight + "px"
+                  })
+                },
+                [withDirectives((openBlock(), createBlock(_component_tiny_recycle_scroller, {
+                  ref: "scrollbar",
+                  style: {
+                    "height": "100%"
+                  },
+                  "key-field": _ctx.valueField,
+                  key: _ctx.state.magicKey,
+                  "list-class": ["tiny-select-dropdown__wrap sm:max-h-56 pb-1 sm:pb-0", _ctx.state.device === "mb" ? "scrollbar-size-0" : ""],
+                  items: _ctx.state.datas,
+                  "item-size": _ctx.state.optimizeOpts.optionHeight
+                }, {
+                  before: withCtx(function() {
+                    return [_ctx.state.showNewOption ? (openBlock(), createBlock(_component_tiny_option, {
+                      key: 0,
+                      highlightClass: "sm:mb-0",
+                      created: "",
+                      value: _ctx.state.device === "mb" ? _ctx.state.queryValue : _ctx.state.query
+                    }, null, 8, ["value"])) : createCommentVNode("v-if", true)];
+                  }),
+                  default: withCtx(function(_ref2) {
+                    var item = _ref2.item;
+                    return [renderSlot(_ctx.$slots, "default", {
+                      item
+                    }, function() {
+                      return [(openBlock(), createBlock(_component_tiny_option, {
+                        class: normalizeClass(["absolute w-full"]),
+                        key: "" + item[_ctx.valueField],
+                        label: item[_ctx.textField],
+                        value: item[_ctx.valueField],
+                        disabled: item.disabled,
+                        required: item.required,
+                        "highlight-class": item._highlightClass,
+                        events: item.events,
+                        onMousedown: _cache[25] || (_cache[25] = withModifiers(function() {
+                        }, ["stop"]))
+                      }, null, 8, ["label", "value", "disabled", "required", "highlight-class", "events"]))];
+                    })];
+                  }),
+                  _: 3
+                  /* FORWARDED */
+                }, 8, ["key-field", "list-class", "items", "item-size"])), [[vShow, !_ctx.state.emptyFlag && !_ctx.loading]])],
+                4
+                /* STYLE */
+              )) : createCommentVNode("v-if", true), !_ctx.optimization && _ctx.renderType !== "tree" ? withDirectives((openBlock(), createBlock(_component_tiny_scrollbar, {
+                key: 3,
+                ref: "scrollbar",
+                tag: "ul",
+                "wrap-class": ["tiny-select-dropdown__wrap sm:max-h-56 pb-1 sm:pb-0", _ctx.state.device === "mb" ? "scrollbar-size-0" : ""],
+                "view-class": ["tiny-select-dropdown__list"],
+                onMousedown: _cache[33] || (_cache[33] = withModifiers(function() {
+                }, ["stop"]))
+              }, {
+                default: withCtx(function() {
+                  return [renderSlot(_ctx.$slots, "dropdown"), _ctx.multiple && _ctx.showCheck && _ctx.showAlloption && !_ctx.state.multipleLimit && !_ctx.state.query && !_ctx.remote ? (openBlock(), createElementBlock(
+                    "div",
+                    {
+                      key: 0,
+                      class: normalizeClass(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-3 my-1 sm:m-1 rounded cursor-pointer", [{
+                        hover: _ctx.state.hoverIndex === -9 && _ctx.state.selectCls !== "checked-sur"
+                      }, {
+                        "text-color-brand sm:bg-color-fill-6 bg-color-bg-1": _ctx.state.selectCls === "checked-sur"
+                      }]]),
+                      "data-tag": "tiny-select-dropdown-item",
+                      onClick: _cache[26] || (_cache[26] = withModifiers(function($event) {
+                        return _ctx.toggleCheckAll(false);
+                      }, ["stop"])),
+                      onMousedown: _cache[27] || (_cache[27] = withModifiers(function() {
+                      }, ["stop"])),
+                      onMouseenter: _cache[28] || (_cache[28] = function($event) {
+                        return _ctx.state.hoverIndex = -9;
+                      })
+                    },
+                    [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.selectCls), {
+                      class: normalizeClass(_ctx.m(["-mt-0.5 mr-2 fill-color-icon-secondary", _ctx.state.selectCls !== "check" && "fill-color-brand"]))
+                    }, null, 8, ["class"])), createBaseVNode(
+                      "span",
+                      {
+                        class: normalizeClass([_ctx.state.selectCls === "checked-sur" ? "text-color-brand" : "text-color-text-primary"])
+                      },
+                      toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
+                      3
+                      /* TEXT, CLASS */
+                    )],
+                    34
+                    /* CLASS, NEED_HYDRATION */
+                  )) : createCommentVNode("v-if", true), _ctx.multiple && _ctx.showCheck && _ctx.showAlloption && !_ctx.state.multipleLimit && _ctx.state.query && !_ctx.state.emptyText && !_ctx.remote ? (openBlock(), createElementBlock(
+                    "div",
+                    {
+                      key: 1,
+                      class: normalizeClass(["whitespace-nowrap box-border py-0 h-10 leading-10 sm:h-8 sm:leading-8 text-sm sm:text-xs pl-0 pr-3 sm:px-3 my-1 sm:m-1 rounded cursor-pointer", [{
+                        hover: _ctx.state.hoverIndex === -9 && _ctx.state.filteredSelectCls !== "checked-sur"
+                      }, {
+                        "text-color-brand sm:bg-color-fill-6 bg-color-bg-1": _ctx.state.filteredSelectCls === "checked-sur"
+                      }]]),
+                      "data-tag": "tiny-select-dropdown-item",
+                      onClick: _cache[29] || (_cache[29] = withModifiers(function($event) {
+                        return _ctx.toggleCheckAll(true);
+                      }, ["stop"])),
+                      onMousedown: _cache[30] || (_cache[30] = withModifiers(function() {
+                      }, ["stop"])),
+                      onMouseenter: _cache[31] || (_cache[31] = function($event) {
+                        return _ctx.state.hoverIndex = -9;
+                      })
+                    },
+                    [(openBlock(), createBlock(resolveDynamicComponent("icon-" + _ctx.state.filteredSelectCls), {
+                      class: normalizeClass(_ctx.m(["-mt-0.5 mr-2 fill-color-icon-secondary", _ctx.state.filteredSelectCls !== "check" && "fill-color-brand"]))
+                    }, null, 8, ["class"])), createBaseVNode(
+                      "span",
+                      {
+                        class: normalizeClass([_ctx.state.filteredSelectCls === "checked-sur" ? "text-color-brand" : "text-color-text-primary"])
+                      },
+                      toDisplayString(_ctx.allText || _ctx.t("ui.base.all")),
+                      3
+                      /* TEXT, CLASS */
+                    )],
+                    34
+                    /* CLASS, NEED_HYDRATION */
+                  )) : createCommentVNode("v-if", true), _ctx.state.showNewOption ? (openBlock(), createBlock(_component_tiny_option, {
+                    key: 2,
+                    value: _ctx.state.device === "mb" ? _ctx.state.queryValue : _ctx.state.query,
+                    created: ""
+                  }, null, 8, ["value"])) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {}, function() {
+                    return [(openBlock(true), createElementBlock(
+                      Fragment,
+                      null,
+                      renderList(_ctx.state.datas, function(item) {
+                        return openBlock(), createBlock(_component_tiny_option, {
+                          class: normalizeClass(["relative"]),
+                          key: "" + item[_ctx.valueField],
+                          label: item[_ctx.textField],
+                          value: item[_ctx.valueField],
+                          disabled: item.disabled,
+                          required: item.required,
+                          "highlight-class": item._highlightClass,
+                          events: item.events,
+                          onMousedown: _cache[32] || (_cache[32] = withModifiers(function() {
+                          }, ["stop"]))
+                        }, null, 8, ["label", "value", "disabled", "required", "highlight-class", "events"]);
+                      }),
+                      128
+                      /* KEYED_FRAGMENT */
+                    ))];
+                  })];
+                }),
+                _: 3
+                /* FORWARDED */
+              }, 8, ["wrap-class"])), [[vShow, _ctx.state.options.length > 0 && !_ctx.loading]]) : createCommentVNode("v-if", true), _ctx.renderType !== "tree" && _ctx.state.emptyText && (!_ctx.allowCreate || _ctx.loading || _ctx.allowCreate && _ctx.state.emptyFlag) ? (openBlock(), createElementBlock(
+                Fragment,
+                {
+                  key: 4
+                },
+                [_ctx.loadingText || _ctx.slots.empty ? (openBlock(), createElementBlock("div", _hoisted_7, [_ctx.slots.empty ? renderSlot(_ctx.$slots, "empty", {
+                  key: 0
+                }) : (openBlock(), createElementBlock(
+                  "p",
+                  _hoisted_8,
+                  toDisplayString(_ctx.state.emptyText),
+                  1
+                  /* TEXT */
+                ))])) : (openBlock(), createElementBlock("div", _hoisted_9, [!_ctx.loading ? (openBlock(), createElementBlock(
+                  "span",
+                  _hoisted_10,
+                  toDisplayString(_ctx.state.emptyText),
+                  1
+                  /* TEXT */
+                )) : (openBlock(), createBlock(_component_icon_loading, {
+                  key: 1,
+                  class: "fill-color-brand h-4 w-4 inline-block align-top animate-spin"
+                }))]))],
+                64
+                /* STABLE_FRAGMENT */
+              )) : createCommentVNode("v-if", true)];
+            }),
+            _: 3
+            /* FORWARDED */
+          }, 8, ["title", "close-by-mask", "search-placeholder", "is-drop-inherit-width", "placement", "append-to-body", "style", "popper-options", "class"]), [[vShow, !_ctx.onCopying() && !_ctx.hideDrop && _ctx.state.visible && _ctx.state.emptyText !== false]])];
+        }),
+        _: 3
+        /* FORWARDED */
+      }, 8, ["onBeforeEnter", "onAfterLeave"])],
+      6
+      /* CLASS, STYLE */
+    ), _ctx.hoverExpand && !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 0,
+        class: normalizeClass(_ctx.m("h-7 invisible", {
+          "h-6": _ctx.state.selectSize === "mini"
+        }, {
+          "h-7": _ctx.state.selectSize === "small"
+        }, {
+          "h-8": _ctx.state.selectSize === "medium"
+        }))
+      },
+      _hoisted_12,
+      2
+      /* CLASS */
+    )) : createCommentVNode("v-if", true)],
+    16
+    /* FULL_PROPS */
+  )), [[_directive_popover, void 0, "popover"], [_directive_clickoutside, _ctx.handleClose]]);
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template24(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc;
+};
+var $constants = {
+  CLASS: {
+    SelectDropdownWrap: ".tiny-select-dropdown__wrap",
+    IsReverse: "is-reverse"
+  },
+  I18N: {
+    noData: "ui.select.noData",
+    noMatch: "ui.select.noMatch",
+    loading: "ui.select.loading"
+  },
+  COMPONENT_NAME: {
+    Form: "Form",
+    Select: "Select",
+    Option: "Option",
+    FormItem: "FormItem",
+    OptionGroup: "OptionGroup",
+    SelectDropdown: "SelectDropdown"
+  },
+  EVENT_NAME: {
+    removeTag: "remove-tag",
+    formChange: "form.change",
+    formBlur: "form.blur",
+    queryChange: "queryChange",
+    setSelected: "setSelected",
+    updatePopper: "updatePopper",
+    destroyPopper: "destroyPopper",
+    visibleChange: "visible-change",
+    handleOptionClick: "handleOptionClick",
+    handleGroupDisabled: "handleGroupDisabled",
+    initValue: "initValue"
+  },
+  TYPE: {
+    Grid: "grid",
+    Tree: "tree"
+  },
+  MAX_WIDTH: 132,
+  RECYCLE: {
+    SAAS_HEIGHT: 220,
+    AURORA_HEIGHT: 180,
+    ITEM_HEIGHT: 34,
+    SAFE_MARGIN: 4
+  },
+  SAAS_SIZE: {
+    mini: 24,
+    small: 28,
+    medium: 32
+  },
+  AURORA_SIZE: {
+    mini: 24,
+    small: 36,
+    medium: 42
+  },
+  SPACING_HEIGHT: 0,
+  MAX_VISIBLE_ROWS: 1
+  // 多选默认最大显示行数,超出后自动隐藏
+};
+var Select = defineComponent({
+  name: $prefix + "Select",
+  componentName: "Select",
+  inject: {
+    form: {
+      default: ""
+    },
+    formItem: {
+      default: ""
+    }
+  },
+  provide: function provide() {
+    return {
+      select: this
+    };
+  },
+  props: _extends({}, $props, {
+    _constants: {
+      type: Object,
+      default: function _default9() {
+        return $constants;
+      }
+    },
+    id: [Number, String],
+    name: String,
+    size: String,
+    remote: Boolean,
+    remoteConfig: {
+      type: Object,
+      default: function _default24() {
+        return {
+          showIcon: false,
+          clearData: false,
+          autoSearch: false
+        };
+      }
+    },
+    title: String,
+    shape: String,
+    tip: String,
+    label: String,
+    loading: Boolean,
+    disabled: Boolean,
+    options: Array,
+    dataset: Object,
+    textField: {
+      type: String,
+      default: "label"
+    },
+    tabindex: {
+      type: String,
+      default: "1"
+    },
+    valueField: {
+      type: String,
+      default: "value"
+    },
+    placement: {
+      type: String,
+      default: "bottom-start"
+    },
+    showCheck: {
+      type: Boolean,
+      default: true
+    },
+    showAlloption: {
+      type: Boolean,
+      default: true
+    },
+    multiple: Boolean,
+    clearable: Boolean,
+    noDataText: String,
+    filterable: Boolean,
+    loadingText: String,
+    noMatchText: String,
+    popperClass: String,
+    allowCreate: Boolean,
+    collapseTags: Boolean,
+    remoteMethod: Function,
+    filterMethod: Function,
+    reserveKeyword: Boolean,
+    automaticDropdown: Boolean,
+    defaultFirstOption: Boolean,
+    modelValue: {},
+    valueKey: {
+      type: String,
+      default: "value"
+    },
+    placeholder: {
+      type: String,
+      default: function _default33() {
+        return t("ui.select.placeholder");
+      }
+    },
+    searchPlaceholder: {
+      type: String,
+      default: function _default42() {
+        return t("ui.select.pleaseSearch");
+      }
+    },
+    autocomplete: {
+      type: String,
+      default: "off"
+    },
+    multipleLimit: {
+      type: Number,
+      default: 0
+    },
+    popperAppendToBody: {
+      type: Boolean,
+      default: true
+    },
+    hideDrop: {
+      type: Boolean,
+      default: false
+    },
+    copyable: {
+      type: Boolean,
+      default: false
+    },
+    renderType: String,
+    gridOp: {
+      type: Object,
+      default: function _default52() {
+        return {};
+      }
+    },
+    treeOp: {
+      type: Object,
+      default: function _default62() {
+        return {};
+      }
+    },
+    delay: {
+      type: Number,
+      default: 200
+    },
+    readonly: Boolean,
+    dropStyle: {
+      type: Object,
+      default: function _default72() {
+        return {};
+      }
+    },
+    cacheOp: Object,
+    isDropInheritWidth: Boolean,
+    tagSelectable: {
+      type: Boolean,
+      default: false
+    },
+    selectConfig: {
+      type: Object,
+      default: function _default82() {
+        return {
+          checkMethod: function checkMethod() {
+            return true;
+          }
+        };
+      }
+    },
+    radioConfig: {
+      type: Object,
+      default: function _default92() {
+        return {
+          checkMethod: function checkMethod() {
+            return true;
+          }
+        };
+      }
+    },
+    allowCopy: {
+      type: Boolean,
+      default: false
+    },
+    textSplit: {
+      type: String,
+      default: ","
+    },
+    autoClose: Boolean,
+    queryDebounce: Number,
+    ignoreEnter: {
+      type: Boolean,
+      default: false
+    },
+    dropdownIcon: {
+      type: [Object, String],
+      default: function _default10() {
+        var defaultDropdownIcon = index$9();
+        defaultDropdownIcon.isDefault = true;
+        return defaultDropdownIcon;
+      }
+    },
+    disabledTooltipContent: String,
+    hoverExpand: {
+      type: Boolean,
+      default: false
+    },
+    optimization: [Boolean, Object],
+    displayOnly: {
+      type: Boolean,
+      default: false
+    },
+    initQuery: Function,
+    extraQueryParams: {
+      type: [Object, String, Boolean, Array, Number],
+      default: ""
+    },
+    updateDelay: {
+      type: Number,
+      default: 0
+    },
+    showTips: {
+      type: Boolean,
+      default: true
+    },
+    closeByMask: {
+      type: Boolean,
+      default: true
+    },
+    keepFocus: {
+      type: Boolean,
+      default: false
+    },
+    popperOptions: {
+      type: Object,
+      default: function _default11() {
+        return {
+          gpuAcceleration: false,
+          boundariesPadding: 0
+        };
+      }
+    },
+    trim: {
+      type: Boolean,
+      default: false
+    },
+    topCreate: {
+      type: Boolean,
+      default: false
+    },
+    topCreateText: {
+      type: String,
+      default: function _default12() {
+        return t("ui.select.add");
+      }
+    },
+    blank: {
+      type: Boolean,
+      default: false
+    },
+    // 以下为 tiny 新增
+    searchable: {
+      type: Boolean,
+      default: false
+    },
+    showEmptyImage: {
+      type: Boolean,
+      default: false
+    },
+    InputBoxType: {
+      type: String,
+      default: "input",
+      validator: function validator2(value) {
+        return ["input", "underline"].includes(value);
+      }
+    },
+    tagType: {
+      type: String,
+      default: ""
+    },
+    clearNoMatchValue: {
+      type: Boolean,
+      default: false
+    },
+    showLimitText: {
+      type: Boolean,
+      default: false
+    },
+    showProportion: {
+      type: Boolean,
+      default: false
+    },
+    clickExpand: {
+      type: Boolean,
+      default: false
+    },
+    maxVisibleRows: {
+      type: Number,
+      default: $constants.MAX_VISIBLE_ROWS
+    },
+    allText: {
+      type: String,
+      default: ""
+    },
+    showAllTextTag: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  setup: function setup5(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.undefined";
+Select.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Select.install = function(Vue) {
+  Vue.component(Select.name, Select);
+};
+Select.version = version;
+export {
+  Option as O,
+  Select as S,
+  Search as a
+};
diff --git a/admin-website/src/main/resources/static/assets/index35.js b/admin-website/src/main/resources/static/assets/index35.js
new file mode 100644
index 0000000..fce06c3
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index35.js
@@ -0,0 +1,2283 @@
+import { s as svg, be as isBrowser, o as on, f as off, d as defineComponent, b as $prefix, a as setup, bf as toObject, k as h, ab as index$5, i as index$6, O as index$7, N as Tooltip, $ as $props, aj as isNull, aq as isEqual, bg as throttle_default, p as props, c as $setup } from "./index.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, l as createVNode, k as resolveComponent, E as toDisplayString, y as createBlock, H as withCtx, z as createCommentVNode, A as normalizeClass, P as withModifiers, V as resolveDirective, I as withDirectives, D as renderSlot, M as Fragment, N as renderList, B as resolveDynamicComponent, F as mergeProps, S as toHandlers, G as normalizeStyle, a8 as reactive$1 } from "./vue.js";
+var _hoisted_1$1 = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$1 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "plus_svg__st0",
+    d: "M20.2 11.2h-7.5V3.9c0-.5-.4-.8-.8-.8s-.8.4-.8.8v7.3H3.8c-.5 0-.8.4-.8.8s.4.8.8.8h7.3v7.3c0 .5.4.8.8.8s.8-.4.8-.8v-7.3h7.5c.5 0 .8-.4.8-.8s-.3-.8-.8-.8z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3 = [_hoisted_2$1];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$1, [].concat(_hoisted_3));
+}
+var Plus = {
+  render
+};
+var index$4 = function index2() {
+  return svg({
+    name: "IconPlus",
+    component: Plus
+  })();
+};
+const isServer$2 = typeof window === "undefined";
+var scroll_into_view_default = (container, selected) => {
+  if (isServer$2) {
+    return;
+  }
+  if (!selected) {
+    container.scrollTop = 0;
+    return;
+  }
+  const offsetParents = [];
+  let { offsetParent, offsetTop, offsetHeight } = selected;
+  while (offsetParent && container !== offsetParent && container.contains(offsetParent)) {
+    offsetParents.push(offsetParent);
+    offsetParent = offsetParent.offsetParent;
+  }
+  const top = offsetTop + offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0);
+  const bottom = top + offsetHeight;
+  const viewRectTop = container.scrollTop;
+  const viewRectBottom = viewRectTop + container.clientHeight;
+  if (top < viewRectTop) {
+    container.scrollTop = top;
+  } else if (bottom > viewRectBottom) {
+    container.scrollTop = bottom - container.clientHeight;
+  }
+};
+const MapShim = function() {
+  if (typeof Map !== "undefined") {
+    return Map;
+  }
+  const getIndex = (arr, key) => {
+    let result = -1;
+    arr.some((entry, index22) => {
+      if (entry[0] === key) {
+        result = index22;
+        return true;
+      }
+      return false;
+    });
+    return result;
+  };
+  return function() {
+    function obClass() {
+      this.__entries__ = [];
+    }
+    Object.defineProperty(obClass.prototype, "size", {
+      get() {
+        return this.__entries__.length;
+      },
+      enumerable: true,
+      configurable: true
+    });
+    obClass.prototype.get = function(key) {
+      const index22 = getIndex(this.__entries__, key);
+      const entry = this.__entries__[index22];
+      return entry && entry[1];
+    };
+    obClass.prototype.set = function(key, value) {
+      const index22 = getIndex(this.__entries__, key);
+      if (~index22) {
+        this.__entries__[index22][1] = value;
+      } else {
+        this.__entries__.push([key, value]);
+      }
+    };
+    obClass.prototype.delete = function(key) {
+      const entries = this.__entries__;
+      const index22 = getIndex(entries, key);
+      if (~index22) {
+        entries.splice(index22, 1);
+      }
+    };
+    obClass.prototype.clear = function() {
+      this.__entries__.splice(0);
+    };
+    obClass.prototype.has = function(key) {
+      return !!~getIndex(this.__entries__, key);
+    };
+    obClass.prototype.forEach = function(callback, ctx) {
+      if (ctx === void 0) {
+        ctx = null;
+      }
+      for (let _i = 0, _a = this.__entries__; _i < _a.length; _i++) {
+        const entry = _a[_i];
+        callback.call(ctx, entry[1], entry[0]);
+      }
+    };
+    return obClass;
+  }();
+}();
+const func = isBrowser ? window.Function : global.Function;
+const global$1 = function() {
+  const isMath = (val) => val.Math === Math;
+  if (typeof global !== "undefined" && isMath(global)) {
+    return global;
+  }
+  if (typeof self !== "undefined" && isMath(self)) {
+    return self;
+  }
+  if (typeof window !== "undefined" && isMath(window)) {
+    return window;
+  }
+  return func("return this")();
+}();
+const requestAnimationFrame$1 = function() {
+  if (typeof requestAnimationFrame === "function") {
+    return requestAnimationFrame.bind(global$1);
+  }
+  return function(callback) {
+    return setTimeout(() => callback(Date.now()), 1e3 / 60);
+  };
+}();
+let trailingTimeout = 2;
+function throttle(callback, delayTime) {
+  let leading = false;
+  let trailing = false;
+  let lastCallTime = 0;
+  let proxy;
+  const resolvePending = () => {
+    if (leading) {
+      leading = false;
+      callback();
+    }
+    trailing && proxy();
+  };
+  const timeoutCallback = () => {
+    requestAnimationFrame$1(resolvePending);
+  };
+  proxy = () => {
+    const timeStamps = Date.now();
+    if (leading) {
+      if (timeStamps - lastCallTime < trailingTimeout) {
+        return;
+      }
+      trailing = true;
+    } else {
+      leading = true;
+      trailing = false;
+      setTimeout(timeoutCallback, delayTime);
+    }
+    lastCallTime = timeStamps;
+  };
+  return proxy;
+}
+const REFRESH_DELAY = 20;
+const transitionKeys = ["top", "right", "bottom", "left", "width", "height", "size", "weight"];
+const mutationObserverSupported = typeof MutationObserver !== "undefined";
+const ResizeObserverController = function() {
+  function ResizeObserverController2() {
+    this.observers_ = [];
+    this.connected_ = false;
+    this.mutationEventsAdded_ = false;
+    this.mutationsObserver_ = null;
+    this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);
+    this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);
+  }
+  ResizeObserverController2.prototype.addObserver = function(observer) {
+    !~this.observers_.indexOf(observer) && this.observers_.push(observer);
+    !this.connected_ && this.connect_();
+  };
+  ResizeObserverController2.prototype.removeObserver = function(observer) {
+    const observers2 = this.observers_;
+    const index22 = observers2.indexOf(observer);
+    ~index22 && observers2.splice(index22, 1);
+    if (!observers2.length && this.connected_) {
+      this.disconnect_();
+    }
+  };
+  ResizeObserverController2.prototype.refresh = function() {
+    const changesDetected = this.updateObservers_();
+    changesDetected && this.refresh();
+  };
+  ResizeObserverController2.prototype.updateObservers_ = function() {
+    const activeObservers = this.observers_.filter((observer) => {
+      observer.gatherActive();
+      return observer.hasActive();
+    });
+    activeObservers.forEach((observer) => observer.broadcastActive());
+    return activeObservers.length > 0;
+  };
+  ResizeObserverController2.prototype.connect_ = function() {
+    if (!isBrowser || this.connected_) {
+      return;
+    }
+    on(document, "transitionend", this.onTransitionEnd_);
+    on(window, "resize", this.refresh);
+    if (mutationObserverSupported) {
+      this.mutationsObserver_ = new MutationObserver(this.refresh);
+      const options = {
+        attributes: true,
+        childList: true,
+        characterData: true,
+        subtree: true
+      };
+      this.mutationsObserver_.observe(document, options);
+    } else {
+      on(document, "DOMSubtreeModified", this.refresh);
+      this.mutationEventsAdded_ = true;
+    }
+    this.connected_ = true;
+  };
+  ResizeObserverController2.prototype.disconnect_ = function() {
+    if (!isBrowser || !this.connected_) {
+      return;
+    }
+    off(document, "transitionend", this.onTransitionEnd_);
+    off(window, "resize", this.refresh);
+    this.mutationsObserver_ && this.mutationsObserver_.disconnect();
+    if (this.mutationEventsAdded_) {
+      off(document, "DOMSubtreeModified", this.refresh);
+    }
+    this.mutationsObserver_ = null;
+    this.mutationEventsAdded_ = false;
+    this.connected_ = false;
+  };
+  ResizeObserverController2.prototype.onTransitionEnd_ = function(_a) {
+    const _b = _a.propertyName;
+    const propertyName = _b === void 0 ? "" : _b;
+    const isReflowProperty = transitionKeys.some((key) => !!~propertyName.indexOf(key));
+    isReflowProperty && this.refresh();
+  };
+  ResizeObserverController2.getInstance = function() {
+    if (!this._instance) {
+      this._instance = new ResizeObserverController2();
+    }
+    return this._instance;
+  };
+  ResizeObserverController2._instance = null;
+  return ResizeObserverController2;
+}();
+const defineConfigurable = function(target, props2) {
+  for (let i = 0, a = Object.keys(props2); i < a.length; i++) {
+    const key = a[i];
+    Object.defineProperty(target, key, {
+      value: props2[key],
+      configurable: true,
+      writable: false,
+      enumerable: false
+    });
+  }
+  return target;
+};
+const createRectInit = function(x, y, width, height) {
+  return { x, y, width, height };
+};
+const getWindowOf = function(target) {
+  const ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;
+  return ownerGlobal || global$1;
+};
+const emptyRect = createRectInit(0, 0, 0, 0);
+const toFloat = (value) => parseFloat(value) || 0;
+const getBordersSize = function(styles) {
+  let positions = [];
+  for (let i = 1; i < arguments.length; i++) {
+    positions[i - 1] = arguments[i];
+  }
+  return positions.reduce((size, position) => {
+    const value = styles[`border-${position}-width`];
+    return size + toFloat(value);
+  }, 0);
+};
+const getPaddings = function(styles) {
+  const positions = ["top", "right", "bottom", "left"];
+  let paddings = {};
+  for (let i = 0, pos = positions; i < pos.length; i++) {
+    const position = pos[i];
+    const value = styles[`padding-${position}`];
+    paddings[position] = toFloat(value);
+  }
+  return paddings;
+};
+const getSVGContentRect = function(target) {
+  const bbox = target.getBBox();
+  return createRectInit(0, 0, bbox.width, bbox.height);
+};
+const isDocumentElement = function(target) {
+  return target === getWindowOf(target).document.documentElement;
+};
+const getHTMLElementContentRect = function(target) {
+  const clientWidth = target.clientWidth;
+  const clientHeight = target.clientHeight;
+  if (!clientHeight && !clientWidth) {
+    return emptyRect;
+  }
+  const styles = getWindowOf(target).getComputedStyle(target);
+  const paddings = getPaddings(styles);
+  const vertPad = paddings.top + paddings.bottom;
+  const horizPad = paddings.left + paddings.right;
+  let width = toFloat(styles.width);
+  let height = toFloat(styles.height);
+  if (styles.boxSizing === "border-box") {
+    if (Math.round(height + vertPad) !== clientHeight) {
+      height -= getBordersSize(styles, "top", "bottom") + vertPad;
+    }
+    if (Math.round(width + horizPad) !== clientWidth) {
+      width -= getBordersSize(styles, "left", "right") + horizPad;
+    }
+  }
+  if (!isDocumentElement(target)) {
+    const horizScrollbar = Math.round(height + vertPad) - clientHeight;
+    const vertScrollbar = Math.round(width + horizPad) - clientWidth;
+    if (Math.abs(horizScrollbar) !== 1) {
+      height -= horizScrollbar;
+    }
+    if (Math.abs(vertScrollbar) !== 1) {
+      width -= vertScrollbar;
+    }
+  }
+  return createRectInit(paddings.left, paddings.top, width, height);
+};
+const isSVGGraphicsElement = function() {
+  if (typeof SVGGraphicsElement !== "undefined") {
+    return (target) => target instanceof getWindowOf(target).SVGGraphicsElement;
+  }
+  return (target) => target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === "function";
+}();
+const getContentRect = function(target) {
+  if (!isBrowser) {
+    return emptyRect;
+  }
+  if (isSVGGraphicsElement(target)) {
+    return getSVGContentRect(target);
+  }
+  return getHTMLElementContentRect(target);
+};
+const createReadOnlyRect = function(_a) {
+  const x = _a.x;
+  const y = _a.y;
+  const width = _a.width;
+  const height = _a.height;
+  const Constr = typeof DOMRectReadOnly !== "undefined" ? DOMRectReadOnly : Object;
+  const rect = Object.create(Constr.prototype);
+  defineConfigurable(rect, {
+    x,
+    y,
+    width,
+    height,
+    top: y,
+    right: x + width,
+    bottom: height + y,
+    left: x
+  });
+  return rect;
+};
+const ResizeObservation = function() {
+  function ResizeObservation2(target) {
+    this.broadcastWidth = 0;
+    this.broadcastHeight = 0;
+    this.contentRect_ = createRectInit(0, 0, 0, 0);
+    this.target = target;
+  }
+  ResizeObservation2.prototype.broadcastRect = function() {
+    const rect = this.contentRect_;
+    this.broadcastWidth = rect.width;
+    this.broadcastHeight = rect.height;
+    return rect;
+  };
+  ResizeObservation2.prototype.isActive = function() {
+    const rect = getContentRect(this.target);
+    this.contentRect_ = rect;
+    return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;
+  };
+  return ResizeObservation2;
+}();
+const ResizeObserverEntry = function() {
+  function ResizeObserverEntry2(target, rectInit) {
+    const contentRect = createReadOnlyRect(rectInit);
+    defineConfigurable(this, { target, contentRect });
+  }
+  return ResizeObserverEntry2;
+}();
+const ResizeObserverSPI = function() {
+  function ResizeObserverSPI2(callback, controller, callbackCtx) {
+    this.observations_ = new MapShim();
+    this.activeObservations_ = [];
+    if (typeof callback !== "function") {
+      throw new TypeError("[TINY-Resize] The callback provided as parameter 1 is not a function.");
+    }
+    this.callback_ = callback;
+    this.controller_ = controller;
+    this.callbackCtx_ = callbackCtx;
+  }
+  ResizeObserverSPI2.prototype.observe = function(target) {
+    if (!arguments.length) {
+      throw new TypeError("[TINY-Resize] 1 argument required, but only 0 present.");
+    }
+    if (typeof Element === "undefined" || !(Element instanceof Object)) {
+      return;
+    }
+    if (!(target instanceof getWindowOf(target).Element)) {
+      throw new TypeError('[TINY-Resize] parameter 1 is not of type "Element".');
+    }
+    const obserVations = this.observations_;
+    if (obserVations.has(target)) {
+      return;
+    }
+    obserVations.set(target, new ResizeObservation(target));
+    this.controller_.addObserver(this);
+    this.controller_.refresh();
+  };
+  ResizeObserverSPI2.prototype.unobserve = function(target) {
+    if (!arguments.length) {
+      throw new TypeError("[TINY-Resize]1 argument required, but only 0 present.");
+    }
+    if (typeof Element === "undefined" || !(Element instanceof Object)) {
+      return;
+    }
+    if (!(target instanceof getWindowOf(target).Element)) {
+      throw new TypeError('[TINY-Resize] parameter 1 is not of type "Element".');
+    }
+    const obserVations = this.observations_;
+    if (!obserVations.has(target)) {
+      return;
+    }
+    obserVations.delete(target);
+    !obserVations.size && this.controller_.removeObserver(this);
+  };
+  ResizeObserverSPI2.prototype.gatherActive = function() {
+    const me = this;
+    this.clearActive();
+    this.observations_.forEach((observation) => {
+      observation.isActive() && me.activeObservations_.push(observation);
+    });
+  };
+  ResizeObserverSPI2.prototype.disconnect = function() {
+    this.clearActive();
+    this.observations_.clear();
+    this.controller_.removeObserver(this);
+  };
+  ResizeObserverSPI2.prototype.broadcastActive = function() {
+    if (!this.hasActive()) {
+      return;
+    }
+    const ctx = this.callbackCtx_;
+    const entries = this.activeObservations_.map(
+      (observation) => new ResizeObserverEntry(observation.target, observation.broadcastRect())
+    );
+    this.callback_.call(ctx, entries, ctx);
+    this.clearActive();
+  };
+  ResizeObserverSPI2.prototype.hasActive = function() {
+    return this.activeObservations_.length > 0;
+  };
+  ResizeObserverSPI2.prototype.clearActive = function() {
+    this.activeObservations_.splice(0);
+  };
+  return ResizeObserverSPI2;
+}();
+const observers = typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : new MapShim();
+const ResizeObserver = function() {
+  function ResizeObserver2(callback) {
+    if (!(this instanceof ResizeObserver2)) {
+      throw new TypeError("[TINY-Resize] Cannot call a class as a function.");
+    }
+    if (!arguments.length) {
+      throw new TypeError("[TINY-Resize] 1 argument required, but only 0 present.");
+    }
+    const controller = ResizeObserverController.getInstance();
+    const observer = new ResizeObserverSPI(callback, controller, this);
+    observers.set(this, observer);
+  }
+  return ResizeObserver2;
+}();
+["observe", "unobserve", "disconnect"].forEach((method) => {
+  ResizeObserver.prototype[method] = function() {
+    let _a;
+    return (_a = observers.get(this))[method].apply(_a, arguments);
+  };
+});
+const index$3 = function() {
+  if (typeof global$1.ResizeObserver !== "undefined") {
+    return global$1.ResizeObserver;
+  }
+  return ResizeObserver;
+}();
+var ResizeObserver_default = index$3;
+const isServer$1 = typeof window === "undefined";
+const cacheKey = "__resizeListeners__";
+const resizeHandler = (entries) => {
+  entries.forEach((entry) => {
+    const listeners = entry.target[cacheKey] || [];
+    if (listeners.length) {
+      listeners.forEach((fn) => {
+        fn();
+      });
+    }
+  });
+};
+const addResizeListener = (el, fn) => {
+  if (isServer$1) {
+    return;
+  }
+  if (!el[cacheKey]) {
+    el[cacheKey] = [];
+    el.__ro__ = new ResizeObserver_default(resizeHandler);
+    el.__ro__.observe(el);
+  }
+  el[cacheKey].push(fn);
+};
+const removeResizeListener = (el, fn) => {
+  if (!el || !el[cacheKey]) {
+    return;
+  }
+  el[cacheKey].splice(el[cacheKey].indexOf(fn), 1);
+  if (!el[cacheKey].length) {
+    el.__ro__.disconnect();
+    delete el.__ro__;
+  }
+};
+const computedWrapperStyle = (state) => () => {
+  const wrapperStyle = {
+    transform: `translate3d(0, ${state.offset + state.baseOffset}px, 0)`,
+    transitionDuration: `${state.duration}ms`,
+    transitionProperty: state.duration ? "all" : "none",
+    lineHeight: `${state.itemHeight}px`
+  };
+  return wrapperStyle;
+};
+const computedBaseOffset = ({ state, props: props2 }) => () => state.itemHeight * (props2.visibleItemCount - 1) / 2;
+const onClickItem = ({ api: api2, state }) => (index3) => {
+  if (state.moving) {
+    return;
+  }
+  state.duration = state.defaultDuration;
+  api2.setIndex(index3, true);
+};
+const setIndex = ({ api: api2, state, emit }) => (index3, emitChange) => {
+  index3 = api2.adjustIndex(index3) || 0;
+  const offset = -index3 * state.itemHeight;
+  const trigger = () => {
+    if (index3 !== state.currentIndex) {
+      state.currentIndex = index3;
+      if (emitChange) {
+        emit("change", index3);
+      }
+    }
+  };
+  if (state.moving && offset !== state.offset) {
+    state.transitionEndTrigger = trigger;
+  }
+  trigger();
+  state.offset = offset;
+};
+const range = (num, min, max) => Math.min(Math.max(num, min), max);
+const isOptionDisabled = (option) => option !== null && typeof option === "object" && option.disabled;
+const adjustIndex = (state) => (index3) => {
+  index3 = range(index3, 0, state.count);
+  for (let i = index3; i < state.count; i++) {
+    if (!isOptionDisabled(state.columnsItem.values[i])) {
+      return i;
+    }
+  }
+  for (let i = index3 - 1; i >= 0; i--) {
+    if (!isOptionDisabled(state.columnsItem.values[i])) {
+      return i;
+    }
+  }
+};
+const onTouchstart = ({ vm, state }) => (event) => {
+  state.direction = "";
+  state.deltaX = 0;
+  state.deltaY = 0;
+  state.offsetX = 0;
+  state.offsetY = 0;
+  state.startX = event.touches[0].clientX;
+  state.startY = event.touches[0].clientY;
+  if (state.moving) {
+    const style = window.getComputedStyle(vm.$refs.track);
+    const transform = style.transform || style.webkitTransform;
+    const translateY = Number(transform.slice(7, transform.length - 1).split(", ")[5]);
+    state.offset = Math.min(0, translateY - state.baseOffset);
+    state.startOffset = state.offset;
+  } else {
+    state.startOffset = state.offset;
+  }
+  state.duration = 0;
+  state.transitionEndTrigger = null;
+  state.touchStartTime = Date.now();
+  state.momentumOffset = state.startOffset;
+};
+const getDirection = (x, y) => {
+  const MIN_DISTANCE = 10;
+  if (x > y && x > MIN_DISTANCE) {
+    return "horizontal";
+  }
+  if (y > x && y > MIN_DISTANCE) {
+    return "vertical";
+  }
+  return "";
+};
+const onTouchmove = ({ state }) => (event) => {
+  const touch = event.touches[0];
+  state.deltaX = touch.clientX - state.startX;
+  state.deltaY = touch.clientY - state.startY;
+  state.offsetX = Math.abs(state.deltaX);
+  state.offsetY = Math.abs(state.deltaY);
+  state.direction = state.direction || getDirection(state.offsetX, state.offsetY);
+  if (state.direction === "vertical") {
+    state.moving = true;
+  }
+  state.offset = range(state.startOffset + state.deltaY, -(state.count * state.itemHeight), state.itemHeight);
+  const now = Date.now();
+  if (now - state.touchStartTime > state.momentumLimitTime) {
+    state.touchStartTime = now;
+    state.momentumOffset = state.offset;
+  }
+};
+const onTouchend = ({ api: api2, state }) => () => {
+  const distance = state.offset - state.momentumOffset;
+  const duration = Date.now() - state.touchStartTime;
+  const allowMomentum = duration < state.momentumLimitTime && Math.abs(distance) > state.momentumLimitDistance;
+  if (allowMomentum) {
+    api2.momentum(distance, duration);
+    return;
+  }
+  const index3 = range(Math.round(-state.offset / state.itemHeight), 0, state.count - 1);
+  state.duration = state.defaultDuration;
+  api2.setIndex(index3, true);
+  setTimeout(() => {
+    state.moving = false;
+  }, 0);
+};
+const mountedHandler = ({ api: api2, vm, state }) => () => {
+  const track = vm.$refs.track;
+  on(track, "touchstart", api2.onTouchstart);
+  on(track, "touchmove", api2.onTouchmove);
+  on(track, "touchend", api2.onTouchend);
+  state.clumnsWrapHeight = state.itemHeight * state.visibleItemCount;
+  state.maskStyle = {
+    backgroundSize: `100% ${(state.clumnsWrapHeight - state.itemHeight) / 2}px`
+  };
+};
+const beforeUnmountHandler = ({ api: api2, vm }) => () => {
+  const track = vm.$refs.track;
+  off(track, "touchstart", api2.onTouchstart);
+  off(track, "touchmove", api2.onTouchmove);
+  off(track, "touchend", api2.onTouchend);
+};
+const momentum = ({ api: api2, state, props: props2 }) => (distance, duration) => {
+  const speed = Math.abs(distance / duration);
+  distance = state.offset + speed / 2e-3 * (distance < 0 ? -1 : 1);
+  const index3 = range(Math.round(-distance / state.itemHeight), 0, state.count - 1);
+  state.duration = Number(props2.swipeDuration);
+  api2.setIndex(index3, true);
+};
+const onTransitionEnd = (state) => () => {
+  state.moving = false;
+  state.duration = 0;
+  if (state.transitionEndTrigger) {
+    state.transitionEndTrigger();
+    state.transitionEndTrigger = null;
+  }
+};
+const setValue = ({ api: api2, state }) => (value) => {
+  const { columnsItem } = state;
+  const values = columnsItem.values;
+  for (let i = 0; i < values.length; i++) {
+    if (api2.getOptionText(values[i]) === value) {
+      return api2.setIndex(i);
+    }
+  }
+};
+const getOptionText = ({ state, props: props2 }) => (option) => {
+  if (option !== null && typeof option === "object" && props2.valueKey in option) {
+    return option[state.valueKey];
+  }
+  return option;
+};
+const getValue = (state) => () => state.columnsItem.values[state.currentIndex];
+let deepAssign;
+const assignKey = (to, from, key) => {
+  const { hasOwnProperty } = Object.prototype;
+  const val = from[key];
+  if (val === void 0 || val === null) {
+    return;
+  }
+  if (!hasOwnProperty.call(to, key) || typeof val !== "object") {
+    to[key] = val;
+  } else {
+    to[key] = deepAssign(Object(to[key]), from[key]);
+  }
+};
+deepAssign = (to, from) => {
+  Object.keys(from).forEach((key) => {
+    assignKey(to, from, key);
+  });
+  return to;
+};
+const deepClone = (obj) => {
+  if (Array.isArray(obj)) {
+    return obj.map((item) => deepClone(item));
+  }
+  if (typeof obj === "object" && obj !== null) {
+    return deepAssign({}, obj);
+  }
+  return obj;
+};
+const setOptions = ({ api: api2, state, props: props2 }) => (options) => {
+  if (JSON.stringify(options) !== JSON.stringify(state.columnsItem.values)) {
+    state.columnsItem.values = deepClone(options);
+    api2.setIndex(props2.defaultIndex);
+  }
+};
+const horizontal = {
+  key: "horizontal",
+  offset: "offsetWidth",
+  scroll: "scrollLeft",
+  scrollSize: "scrollWidth",
+  size: "width",
+  axis: "X",
+  client: "clientX",
+  direction: "left"
+};
+const vertical = {
+  key: "vertical",
+  offset: "offsetHeight",
+  scroll: "scrollTop",
+  scrollSize: "scrollHeight",
+  size: "height",
+  axis: "Y",
+  client: "clientY",
+  direction: "top"
+};
+const BAR_MAP = {
+  horizontal,
+  vertical
+};
+const renderThumbStyle = ({ bar, move, size }) => {
+  const style = {};
+  const translate = `translate${bar.axis}(${move}%)`;
+  style[bar.size] = size;
+  Object.assign(style, { transform: translate, msTransform: translate, webkitTransform: translate });
+  return style;
+};
+const clickThumbHandler = ({ api: api2, state }) => (event) => {
+  if (event.ctrlKey || event.button === 2) {
+    return;
+  }
+  api2.startDrag(event);
+  state[state.bar.axis] = event.currentTarget[state.bar.offset] - (event[state.bar.client] - event.currentTarget.getBoundingClientRect()[state.bar.direction]);
+};
+const clickTrackHandler = ({ vm, state }) => (event) => {
+  const offset = Math.abs(event.target.getBoundingClientRect()[state.bar.direction] - event[state.bar.client]);
+  const thumbHalf = vm.$refs.thumb[state.bar.offset] / 2;
+  const thumbPositionPercentage = (offset - thumbHalf) * 100 / vm.$refs.bar[state.bar.offset];
+  state.wrap[state.bar.scroll] = thumbPositionPercentage * state.wrap[state.bar.scrollSize] / 100;
+};
+const startDrag = ({ api: api2, on: on2, state }) => (event) => {
+  event.stopImmediatePropagation();
+  state.cursorDown = true;
+  on2(document, "mousemove", api2.mouseMoveDocumentHandler);
+  on2(document, "mouseup", api2.mouseUpDocumentHandler);
+  document.onselectstart = () => false;
+};
+const mouseMoveDocumentHandler = ({ vm, state }) => (event) => {
+  if (state.cursorDown === false) {
+    return;
+  }
+  const prevPage = state[state.bar.axis];
+  if (!prevPage) {
+    return;
+  }
+  const offset = (vm.$refs.bar.getBoundingClientRect()[state.bar.direction] - event[state.bar.client]) * -1;
+  const thumbClickPosition = vm.$refs.thumb[state.bar.offset] - prevPage;
+  const thumbPositionPercentage = (offset - thumbClickPosition) * 100 / vm.$refs.bar[state.bar.offset];
+  state.wrap[state.bar.scroll] = thumbPositionPercentage * state.wrap[state.bar.scrollSize] / 100;
+};
+const mouseUpDocumentHandler = ({ api: api2, off: off2, state }) => () => {
+  state.cursorDown = false;
+  state[state.bar.axis] = 0;
+  off2(document, "mousemove", api2.mouseMoveDocumentHandler);
+  document.onselectstart = null;
+};
+const handleScroll$1 = ({ vm, state, emit }) => (event) => {
+  const wrap = vm.$refs.wrap;
+  state.moveY = wrap.scrollTop * 100 / wrap.clientHeight;
+  state.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;
+  emit("scroll", event);
+};
+const update$1 = ({ vm, state }) => () => {
+  let heightPercentage, widthPercentage;
+  const wrap = vm.$refs.wrap;
+  if (!wrap) {
+    return;
+  }
+  heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;
+  widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;
+  state.sizeHeight = heightPercentage < 100 ? heightPercentage + "%" : "";
+  state.sizeWidth = widthPercentage < 100 ? widthPercentage + "%" : "";
+};
+const api$3 = ["state", "update", "handleScroll"];
+const renderless$3 = (props2, { onBeforeUnmount, onMounted, reactive: reactive2 }, { vm, nextTick, emit }) => {
+  const state = reactive2({
+    sizeWidth: "0",
+    sizeHeight: "0",
+    moveX: 0,
+    moveY: 0
+  });
+  const api2 = {
+    state,
+    update: update$1({ vm, state }),
+    handleScroll: handleScroll$1({ vm, state, emit })
+  };
+  onMounted(() => {
+    if (props2.native) {
+      return;
+    }
+    nextTick(api2.update);
+    !props2.noresize && addResizeListener(vm.$refs.resize, api2.update);
+  });
+  onBeforeUnmount(() => {
+    if (props2.native) {
+      return;
+    }
+    !props2.noresize && removeResizeListener(vm.$refs.resize, api2.update);
+  });
+  return api2;
+};
+let scrollBarWidth;
+const isServer = typeof window === "undefined";
+function scrollbar_width_default() {
+  if (isServer) {
+    return 0;
+  }
+  if (scrollBarWidth !== void 0) {
+    return scrollBarWidth;
+  }
+  const container = document.createElement("div");
+  container.className = "tiny-scrollbar";
+  container.style.visibility = "hidden";
+  container.style.position = "absolute";
+  container.style.top = "-9999px";
+  const outer = document.createElement("div");
+  outer.className = "tiny-scrollbar__wrap";
+  outer.style.width = "100px";
+  container.appendChild(outer);
+  document.body.appendChild(container);
+  const widthNoScroll = outer.offsetWidth;
+  outer.style.overflow = "scroll";
+  const inner = document.createElement("div");
+  inner.style.width = "100%";
+  outer.appendChild(inner);
+  const widthWithScroll = inner.offsetWidth;
+  outer.parentNode.removeChild(outer);
+  scrollBarWidth = widthNoScroll - widthWithScroll;
+  return scrollBarWidth;
+}
+const api$2 = [
+  "state",
+  "startDrag",
+  "renderThumbStyle",
+  "clickTrackHandler",
+  "clickThumbHandler",
+  "mouseUpDocumentHandler",
+  "mouseMoveDocumentHandler"
+];
+const renderless$2 = (props2, { computed, onUnmounted, reactive: reactive2 }, { vm, parent }) => {
+  const state = reactive2({
+    bar: computed(() => BAR_MAP[props2.vertical ? "vertical" : "horizontal"]),
+    wrap: computed(() => parent.$refs.wrap)
+  });
+  const api2 = {
+    state,
+    renderThumbStyle,
+    clickTrackHandler: clickTrackHandler({ vm, state }),
+    mouseMoveDocumentHandler: mouseMoveDocumentHandler({ vm, state })
+  };
+  onUnmounted(() => off(document, "mouseup", api2.mouseUpDocumentHandler));
+  return Object.assign(api2, {
+    startDrag: startDrag({ api: api2, on, state }),
+    clickThumbHandler: clickThumbHandler({ api: api2, state }),
+    mouseUpDocumentHandler: mouseUpDocumentHandler({ api: api2, off, state })
+  });
+};
+const index$2 = "";
+var _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Bar",
+  props: {
+    vertical: Boolean,
+    show: Boolean,
+    size: String,
+    move: Number
+  },
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2,
+      mono: true,
+      h
+    });
+  },
+  render: function render2() {
+    var size = this.size, move = this.move, show = this.show, renderThumbStyle2 = this.renderThumbStyle, clickTrackHandler2 = this.clickTrackHandler, clickThumbHandler2 = this.clickThumbHandler, bar = this.state.bar;
+    return createVNode("div", {
+      "ref": "bar",
+      "class": ["tiny-scrollbar__bar", "is-" + bar.key, show ? "is-show" : ""],
+      "onMousedown": clickTrackHandler2
+    }, [createVNode("div", {
+      "ref": "thumb",
+      "class": "tiny-scrollbar__thumb",
+      "onMousedown": clickThumbHandler2,
+      "style": renderThumbStyle2({
+        bar,
+        move,
+        size
+      })
+    }, null)]);
+  }
+});
+var _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "Scrollbar",
+  emits: ["mouseenter", "mousemove", "scroll"],
+  components: {
+    Bar: _sfc_main$1$1
+  },
+  props: {
+    marginBottomAdjust: {
+      type: Number,
+      default: 0
+    },
+    native: Boolean,
+    // 如果container尺寸不会发生变化,最好设置它可以优化性能
+    noresize: Boolean,
+    // select 选择器下拉框数据过多时默认显示滚动条
+    show: Boolean,
+    tag: {
+      type: String,
+      default: "div"
+    },
+    viewClass: {},
+    viewStyle: {},
+    wrapClass: {},
+    wrapStyle: {}
+  },
+  setup: function setup2(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3,
+      mono: true
+    });
+  },
+  render: function render22() {
+    var _this = this;
+    var tag = this.tag, $slots = this.vm.$slots, native = this.native, wrapStyle = this.wrapStyle, wrapClass = this.wrapClass, viewStyle = this.viewStyle, viewClass = this.viewClass, handleScroll2 = this.handleScroll, state = this.state, show = this.show, marginBottomAdjust = this.marginBottomAdjust;
+    var gutter = scrollbar_width_default();
+    var style = wrapStyle;
+    if (gutter) {
+      var gutterWith = "-" + gutter + "px";
+      var gutterHeight = "-" + (gutter - marginBottomAdjust) + "px";
+      var gutterStyle = "margin-bottom: " + gutterHeight + "; margin-right: " + gutterWith + ";";
+      if (Array.isArray(wrapStyle)) {
+        style = toObject(wrapStyle);
+        style.marginRight = gutterWith;
+        style.marginBottom = gutterHeight;
+      } else if (typeof wrapStyle === "string") {
+        style += gutterStyle;
+      } else {
+        style = gutterStyle;
+      }
+    }
+    var view = h(tag, {
+      class: ["tiny-scrollbar__view", viewClass],
+      style: viewStyle,
+      ref: "resize"
+    }, $slots.default ? $slots.default() : $slots.empty && $slots.empty());
+    var wrap = createVNode("div", {
+      "ref": "wrap",
+      "style": style,
+      "onScroll": handleScroll2,
+      "class": [wrapClass, "tiny-scrollbar__wrap", gutter ? "" : "tiny-scrollbar__wrap--hidden-default"]
+    }, [[view]]);
+    var nodes;
+    if (native) {
+      nodes = [createVNode("div", {
+        "ref": "wrap",
+        "class": [wrapClass, "tiny-scrollbar__wrap"],
+        "style": style
+      }, [[view]])];
+    } else {
+      nodes = [wrap, createVNode(_sfc_main$1$1, {
+        "move": state.moveX,
+        "size": state.sizeWidth,
+        "show": show
+      }, null), createVNode(_sfc_main$1$1, {
+        "vertical": true,
+        "move": state.moveY,
+        "size": state.sizeHeight,
+        "show": show
+      }, null)];
+    }
+    return createVNode("div", {
+      "class": "tiny-scrollbar",
+      "onMouseenter": function onMouseenter(e) {
+        _this.$emit("mouseenter", e);
+      },
+      "onMousemove": function onMousemove(e) {
+        _this.$emit("mousemove", e);
+      }
+    }, [nodes]);
+  }
+});
+var version$2 = "3.16.0";
+_sfc_main$2.install = function(Vue) {
+  Vue.component(_sfc_main$2.name, _sfc_main$2);
+};
+_sfc_main$2.version = version$2;
+const handleClear = ({ dispatch, emit }) => ($event) => {
+  dispatch("Picker", "handle-clear", $event);
+  dispatch("Select", "handle-clear", $event);
+  dispatch("Cascader", "handle-clear", $event);
+  dispatch("Amount", "handle-clear", $event);
+  emit("handle-clear");
+};
+const handeClick = ({ props: props2, emit }) => ($event) => {
+  if (props2.disabled)
+    return;
+  $event.stopPropagation();
+  emit("click", $event);
+};
+const api$1 = ["state", "handleClear", "focus", "blur", "handeClick"];
+const renderless$1 = (props2, { reactive: reactive2 }, { dispatch, emit }) => {
+  const state = reactive2({});
+  const api2 = {};
+  Object.assign(api2, {
+    state,
+    focus: () => state,
+    blur: () => state,
+    handleClear: handleClear({ dispatch, emit }),
+    handeClick: handeClick({ props: props2, emit })
+  });
+  return api2;
+};
+const index$1 = "";
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var _sfc_main$1 = defineComponent({
+  name: $prefix + "FilterBox",
+  emits: ["click", "handle-clear"],
+  components: {
+    IconArrowBottom: index$5(),
+    IconError: index$6(),
+    IconHelpCircle: index$7(),
+    TinyTooltip: Tooltip
+  },
+  props: _extends$1({}, $props, {
+    label: String,
+    value: [String, Number],
+    tip: String,
+    placeholder: {
+      type: String,
+      default: ""
+    },
+    showClose: {
+      type: Boolean,
+      default: true
+    },
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    dropDownVisible: {
+      type: Boolean,
+      default: false
+    },
+    blank: {
+      type: Boolean,
+      default: false
+    }
+  }),
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1,
+      mono: true
+    });
+  }
+});
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_help_circle = resolveComponent("icon-help-circle");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_icon_error = resolveComponent("icon-error");
+  var _component_icon_arrow_bottom = resolveComponent("icon-arrow-bottom");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-filter-box", _ctx.disabled && "disabled", _ctx.blank && "is-blank"]),
+      onClick: _cache[0] || (_cache[0] = function() {
+        return _ctx.handeClick && _ctx.handeClick.apply(_ctx, arguments);
+      })
+    },
+    [createBaseVNode(
+      "p",
+      {
+        class: normalizeClass(["title", _ctx.dropDownVisible && "active"])
+      },
+      [createBaseVNode(
+        "label",
+        null,
+        toDisplayString(_ctx.label),
+        1
+        /* TEXT */
+      ), _ctx.tip ? (openBlock(), createBlock(_component_tiny_tooltip, {
+        key: 0,
+        effect: "light",
+        content: _ctx.tip,
+        placement: "top"
+      }, {
+        default: withCtx(function() {
+          return [createVNode(_component_icon_help_circle)];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content"])) : createCommentVNode("v-if", true)],
+      2
+      /* CLASS */
+    ), createBaseVNode(
+      "p",
+      {
+        class: normalizeClass(["value", ["value", !_ctx.value && _ctx.value !== 0 && "placeholder"]])
+      },
+      toDisplayString(_ctx.value || _ctx.value === 0 ? _ctx.value : _ctx.placeholder),
+      3
+      /* TEXT, CLASS */
+    ), _ctx.value && _ctx.showClose && !_ctx.disabled ? (openBlock(), createBlock(_component_icon_error, {
+      key: 0,
+      class: "filter-icon-close",
+      onClick: withModifiers(_ctx.handleClear, ["stop"])
+    }, null, 8, ["onClick"])) : (openBlock(), createBlock(_component_icon_arrow_bottom, {
+      key: 1,
+      class: normalizeClass(["filter-box-icon", _ctx.dropDownVisible && "is-reverse"])
+    }, null, 8, ["class"]))],
+    2
+    /* CLASS */
+  );
+}
+var FilterBox = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render$1]]);
+var version$1 = "3.16.0";
+FilterBox.install = function(Vue) {
+  Vue.component(FilterBox.name, FilterBox);
+};
+FilterBox.version = version$1;
+const cached = (fn) => {
+  const cache = /* @__PURE__ */ Object.create(null);
+  return (str) => cache[str] || (cache[str] = fn(str));
+};
+const camelizeRE = /-(\w)/g;
+const camelize = cached((str) => str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""));
+const getElementStyle = (elem, styleKey) => {
+  if (!elem || !styleKey)
+    return "";
+  let key = camelize(styleKey);
+  if (key === "float")
+    key = "cssFloat";
+  try {
+    const styleValue = elem.style[key];
+    if (styleValue)
+      return styleValue;
+    const computedStyle = document.defaultView ? document.defaultView.getComputedStyle(elem, "") : null;
+    return computedStyle ? computedStyle[key] : "";
+  } catch (e) {
+    return elem.style[key];
+  }
+};
+const canScroll = (el, isVertical) => {
+  const overflowKey = { undefined: "overflow", true: "overflow-y", false: "overflow-x" }[String(isVertical)];
+  const overflowVal = getElementStyle(el, overflowKey);
+  return ["scroll", "auto", "overlay"].some((s) => overflowVal.includes(s));
+};
+const getScrollContainer = (el, isVertical) => {
+  let parentEl = el;
+  while (parentEl) {
+    if ([window, document, document.documentElement].includes(parentEl))
+      return window;
+    if (canScroll(parentEl, isVertical))
+      return parentEl;
+    parentEl = parentEl.parentNode;
+  }
+  return parentEl;
+};
+let supportsPassive = false;
+if (typeof window !== "undefined") {
+  supportsPassive = false;
+  try {
+    const opts = Object.defineProperty({}, "passive", {
+      // eslint-disable-next-line getter-return
+      get() {
+        supportsPassive = true;
+      }
+    });
+    window.addEventListener("test", null, opts);
+  } catch (e) {
+  }
+}
+const handleVisibilityChange = ({ api: api2, emit, state }) => (isVisible, entry) => {
+  if (state.ready) {
+    if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {
+      emit("visible");
+      requestAnimationFrame(() => {
+        api2.updateVisibleItems(false);
+      });
+    } else {
+      emit("hidden");
+    }
+  }
+};
+const updateVisibleItems = ({ api: api2, emit, props: props2, state, vm }) => (checkItem, checkPositionDiff = false) => {
+  const itemSize = props2.itemSize;
+  const gridItems = props2.gridItems || 1;
+  const itemSecondarySize = props2.itemSecondarySize || itemSize;
+  const minItemSize = state.temporary.computedMinItemSize;
+  const typeField = props2.typeField;
+  const keyField = state.simpleArray ? null : props2.keyField;
+  const items = props2.items;
+  const count = items.length;
+  const sizes = state.sizes;
+  const views = state.temporary.views;
+  const unusedViews = state.temporary.unusedViews;
+  const pool = state.pool;
+  const itemIndexByKey = state.itemIndexByKey;
+  let startIndex, endIndex, visibleStartIndex, visibleEndIndex, totalSize;
+  if (!count) {
+    startIndex = endIndex = visibleStartIndex = visibleEndIndex = totalSize = 0;
+  } else if (state.temporary.prerender) {
+    startIndex = visibleStartIndex = 0;
+    visibleEndIndex = endIndex = Math.min(props2.prerender, items.length);
+    totalSize = null;
+  } else {
+    const scroll = api2.getScroll();
+    if (doCheckPositionDiff({ checkPositionDiff, scroll, state, itemSize, minItemSize })) {
+      return { continuous: true };
+    }
+    state.temporary.lastUpdateScrollPosition = scroll.start;
+    const args2 = { props: props2, scroll, vm, itemSize, count, sizes, startIndex, totalSize };
+    Object.assign(args2, { endIndex, items, visibleStartIndex, visibleEndIndex, gridItems });
+    const ret = computeRange(args2);
+    startIndex = ret.startIndex;
+    endIndex = ret.endIndex;
+    visibleStartIndex = ret.visibleStartIndex;
+    visibleEndIndex = ret.visibleEndIndex;
+    totalSize = ret.totalSize;
+  }
+  if (endIndex - startIndex > props2.itemsLimit) {
+    throw new Error("[TINY Error][RecycleScroller] Rendered items limit reached");
+  }
+  state.totalSize = totalSize;
+  const continuous = startIndex <= state.temporary.endIndex && endIndex >= state.temporary.startIndex;
+  const args = { continuous, pool, checkItem, itemIndexByKey, keyField, startIndex };
+  Object.assign(args, { endIndex, api: api2, items, views, itemSize, sizes, typeField, unusedViews });
+  Object.assign(args, { emit, gridItems, itemSecondarySize });
+  computePool(args);
+  state.temporary.startIndex = startIndex;
+  state.temporary.endIndex = endIndex;
+  if (props2.emitUpdate) {
+    emit("update", startIndex, endIndex, visibleStartIndex, visibleEndIndex);
+  }
+  clearTimeout(state.temporary.sortTimer);
+  state.temporary.sortTimer = setTimeout(api2.sortViews, props2.updateInterval + 300);
+  return { continuous };
+};
+const computedSizes = ({ props: props2, state }) => () => {
+  if (props2.itemSize === null) {
+    const sizes = { "-1": { accumulator: 0 } };
+    const items = props2.items;
+    const field = props2.sizeField;
+    const minItemSize = props2.minItemSize;
+    let computedMinSize = 1e4;
+    let accumulator = 0;
+    let current;
+    for (let i = 0, l = items.length; i < l; i++) {
+      current = items[i][field] || minItemSize;
+      if (current < computedMinSize) {
+        computedMinSize = current;
+      }
+      accumulator += current;
+      sizes[i] = { accumulator, size: current };
+    }
+    state.temporary.computedMinItemSize = computedMinSize;
+    return sizes;
+  }
+  return [];
+};
+const computedItemIndexByKey = (props2) => () => {
+  const { keyField, items } = props2;
+  const result = {};
+  for (let i = 0, l = items.length; i < l; i++) {
+    result[items[i][keyField]] = i;
+  }
+  return result;
+};
+const getScroll = ({ props: props2, vm }) => () => {
+  const { $el: el } = vm;
+  const direction = props2.direction;
+  const isVertical = direction === "vertical";
+  let scrollRange;
+  if (props2.pageMode) {
+    const bounds = el.getBoundingClientRect();
+    const boundsSize = isVertical ? bounds.height : bounds.width;
+    let size = isVertical ? window.innerHeight : window.innerWidth;
+    let start = -(isVertical ? bounds.top : bounds.left);
+    if (start < 0) {
+      size += start;
+      start = 0;
+    }
+    if (start + size > boundsSize) {
+      size = boundsSize - start;
+    }
+    scrollRange = { start, end: start + size };
+  } else if (isVertical) {
+    scrollRange = { start: el.scrollTop, end: el.scrollTop + el.clientHeight };
+  } else {
+    scrollRange = { start: el.scrollLeft, end: el.scrollLeft + el.clientWidth };
+  }
+  return scrollRange;
+};
+const unuseView = (state) => (view, fake = false) => {
+  const unusedViews = state.temporary.unusedViews;
+  const type = view.nr.type;
+  let unusedPool = unusedViews.get(type);
+  if (!unusedPool) {
+    unusedPool = [];
+    unusedViews.set(type, unusedPool);
+  }
+  unusedPool.push(view);
+  if (!fake) {
+    view.nr.used = false;
+    view.position = -9999;
+  }
+};
+let uid = 0;
+const addView = ({ markRaw, shallowReactive }) => (pool, index3, item, key, type) => {
+  const nr = markRaw({ id: uid++, index: index3, used: true, key, type });
+  const view = shallowReactive({ item, position: 0, nr });
+  pool.push(view);
+  return view;
+};
+const sortViews = (state) => () => {
+  state.pool.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);
+};
+const handleScroll = ({ api: api2, props: props2, state }) => () => {
+  if (!state.temporary.scrollDirty) {
+    state.temporary.scrollDirty = true;
+    if (state.temporary.updateTimeout)
+      return;
+    const requestUpdate = () => requestAnimationFrame(() => {
+      state.temporary.scrollDirty = false;
+      const { continuous } = api2.updateVisibleItems(false, true);
+      if (!continuous) {
+        cancelAnimationFrame(state.temporary.refreshTimeout);
+        state.temporary.refreshTimeout = requestAnimationFrame(() => api2.updateVisibleItems(false));
+      }
+    });
+    requestUpdate();
+    if (props2.updateInterval) {
+      state.temporary.updateTimeout = setTimeout(() => {
+        state.temporary.updateTimeout = 0;
+        if (state.temporary.scrollDirty)
+          requestUpdate();
+      }, props2.updateInterval);
+    }
+  }
+};
+const handleResize = ({ api: api2, emit, state }) => () => {
+  emit("resize");
+  if (state.ready)
+    api2.updateVisibleItems(false);
+};
+const applyPageMode = ({ api: api2, props: props2 }) => () => {
+  if (props2.pageMode) {
+    api2.addListeners();
+  } else {
+    api2.removeListeners();
+  }
+};
+const addListeners = ({ api: api2, state }) => () => {
+  state.listenerTarget = api2.getListenerTarget();
+  const options = supportsPassive ? { passive: true } : false;
+  state.listenerTarget.addEventListener("scroll", api2.handleScroll, options);
+  state.listenerTarget.addEventListener("resize", api2.handleResize);
+};
+const removeListeners = ({ api: api2, state }) => () => {
+  if (!state.listenerTarget) {
+    return;
+  }
+  state.listenerTarget.removeEventListener("scroll", api2.handleScroll);
+  state.listenerTarget.removeEventListener("resize", api2.handleResize);
+  state.listenerTarget = null;
+};
+const getListenerTarget = ({ props: props2, vm }) => () => {
+  let target = getScrollContainer(vm.$el.parentNode, props2.direction === "vertical");
+  if (window.document && (target === window.document.documentElement || target === window.document.body)) {
+    target = window;
+  }
+  return target;
+};
+const scrollToPosition = ({ props: props2, vm }) => (position) => {
+  const direction = props2.direction === "vertical" ? { scroll: "scrollTop", start: "top" } : { scroll: "scrollLeft", start: "left" };
+  let viewport, scrollDirection, scrollDistance;
+  if (props2.pageMode) {
+    const viewportEl = getScrollContainer(vm.$el.parentNode, props2.direction === "vertical");
+    const scrollTop = viewportEl.tagName === "HTML" ? 0 : viewportEl[direction.scroll];
+    const bounds = viewportEl.getBoundingClientRect();
+    const scroller = vm.$el.getBoundingClientRect();
+    const scrollerPosition = scroller[direction.start] - bounds[direction.start];
+    viewport = viewportEl;
+    scrollDirection = direction.scroll;
+    scrollDistance = position + scrollTop + scrollerPosition;
+  } else {
+    viewport = vm.$el;
+    scrollDirection = direction.scroll;
+    scrollDistance = position;
+  }
+  viewport[scrollDirection] = scrollDistance;
+};
+const scrollToItem = ({ api: api2, props: props2, state }) => (index3) => {
+  const gridItems = props2.gridItems || 1;
+  let scroll;
+  if (props2.itemSize === null) {
+    scroll = index3 > 0 ? state.sizes[index3 - 1].accumulator : 0;
+  } else {
+    scroll = Math.floor(index3 / gridItems) * props2.itemSize;
+  }
+  api2.scrollToPosition(scroll);
+};
+const doCheckPositionDiff = ({ checkPositionDiff, scroll, state, itemSize, minItemSize }) => {
+  if (checkPositionDiff) {
+    let positionDiff = scroll.start - state.temporary.lastUpdateScrollPosition;
+    if (positionDiff < 0)
+      positionDiff = -positionDiff;
+    if (itemSize === null && positionDiff < minItemSize || positionDiff < itemSize) {
+      return true;
+    }
+  }
+};
+const computeRange = (args) => {
+  let { props: props2, scroll, vm, itemSize, count, sizes, startIndex, totalSize } = args;
+  let { endIndex, items, visibleStartIndex, visibleEndIndex, gridItems } = args;
+  const buffer = props2.buffer;
+  let beforeSize = 0;
+  scroll.start -= buffer;
+  scroll.end += buffer;
+  if (vm.$refs.before) {
+    beforeSize = vm.$refs.before.scrollHeight;
+    scroll.start -= beforeSize;
+  }
+  if (vm.$refs.after) {
+    const afterSize = vm.$refs.after.scrollHeight;
+    scroll.end += afterSize;
+  }
+  if (itemSize === null) {
+    let args2 = { count, sizes, scroll, startIndex, totalSize, endIndex };
+    Object.assign(args2, { items, visibleStartIndex, beforeSize, visibleEndIndex });
+    const ret = computeRangeVariableSizeMode(args2);
+    startIndex = ret.startIndex;
+    endIndex = ret.endIndex;
+    visibleStartIndex = ret.visibleStartIndex;
+    visibleEndIndex = ret.visibleEndIndex;
+    totalSize = ret.totalSize;
+  } else {
+    startIndex = ~~(scroll.start / itemSize * gridItems);
+    const remainer = startIndex % gridItems;
+    startIndex -= remainer;
+    endIndex = Math.ceil(scroll.end / itemSize * gridItems);
+    visibleStartIndex = Math.max(0, Math.floor((scroll.start - beforeSize) / itemSize * gridItems));
+    visibleEndIndex = Math.floor((scroll.end - beforeSize) / itemSize * gridItems);
+    startIndex < 0 && (startIndex = 0);
+    endIndex > count && (endIndex = count);
+    visibleStartIndex < 0 && (visibleStartIndex = 0);
+    visibleEndIndex > count && (visibleEndIndex = count);
+    totalSize = Math.ceil(count / gridItems) * itemSize;
+  }
+  return { startIndex, endIndex, visibleStartIndex, visibleEndIndex, totalSize };
+};
+const computeRangeVariableSizeMode = (args) => {
+  let { count, sizes, scroll, startIndex, totalSize, endIndex } = args;
+  let { items, visibleStartIndex, beforeSize, visibleEndIndex } = args;
+  let h2, a, b, i, oldI;
+  a = 0;
+  b = count - 1;
+  i = ~~(count / 2);
+  do {
+    oldI = i;
+    h2 = sizes[i].accumulator;
+    if (h2 < scroll.start) {
+      a = i;
+    } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
+      b = i;
+    }
+    i = ~~((a + b) / 2);
+  } while (i !== oldI);
+  i < 0 && (i = 0);
+  startIndex = i;
+  totalSize = sizes[count - 1].accumulator;
+  for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++) {
+  }
+  if (endIndex === -1) {
+    endIndex = items.length - 1;
+  } else {
+    endIndex++;
+    endIndex > count && (endIndex = count);
+  }
+  for (visibleStartIndex = startIndex; visibleStartIndex < count && beforeSize + sizes[visibleStartIndex].accumulator < scroll.start; visibleStartIndex++) {
+  }
+  for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && beforeSize + sizes[visibleEndIndex].accumulator < scroll.end; visibleEndIndex++) {
+  }
+  return { startIndex, totalSize, endIndex, visibleStartIndex, visibleEndIndex };
+};
+const computePool = (args) => {
+  let { continuous, pool, checkItem, itemIndexByKey, keyField, startIndex } = args;
+  let { endIndex, api: api2, items, views, itemSize, sizes, typeField, unusedViews } = args;
+  let { emit, gridItems, itemSecondarySize } = args;
+  let view = unuseInvisible({ continuous, pool, checkItem, itemIndexByKey, keyField, startIndex, endIndex, api: api2 });
+  const unusedIndex = continuous ? null : /* @__PURE__ */ new Map();
+  let item, type;
+  for (let i = startIndex; i < endIndex; i++) {
+    item = items[i];
+    const key = keyField ? item[keyField] : item;
+    if (isNull(key)) {
+      throw new Error(`[TINY Error][RecycleScroller] Key is ${key} on item (keyField is '${keyField}')`);
+    }
+    view = views.get(key);
+    if (!itemSize && !sizes[i].size) {
+      if (view)
+        api2.unuseView(view);
+      continue;
+    }
+    type = item[typeField];
+    let unusedPool = unusedViews.get(type);
+    let newlyUsedView = false;
+    let args2 = { view, continuous, unusedPool, api: api2, pool, i, item };
+    Object.assign(args2, { key, type, unusedIndex, unusedViews, views, newlyUsedView });
+    const ret = computePoolView(args2);
+    view = ret.view;
+    unusedPool = ret.unusedPool;
+    newlyUsedView = ret.newlyUsedView;
+    if (newlyUsedView) {
+      if (i === items.length - 1)
+        emit("scroll-end");
+      if (i === 0)
+        emit("scroll-start");
+    }
+    if (itemSize === null) {
+      view.position = sizes[i - 1].accumulator;
+      view.offset = 0;
+    } else {
+      view.position = Math.floor(i / gridItems) * itemSize;
+      view.offset = i % gridItems * itemSecondarySize;
+    }
+  }
+};
+const unuseInvisible = ({ continuous, pool, checkItem, itemIndexByKey, keyField, startIndex, endIndex, api: api2 }) => {
+  let view;
+  if (continuous) {
+    for (let i = 0, l = pool.length; i < l; i++) {
+      view = pool[i];
+      if (view.nr.used) {
+        if (checkItem) {
+          view.nr.index = itemIndexByKey[view.item[keyField]];
+        }
+        if (isNull(view.nr.index) || view.nr.index < startIndex || view.nr.index >= endIndex) {
+          api2.unuseView(view);
+        }
+      }
+    }
+  }
+  return view;
+};
+const computePoolView = (args) => {
+  let { view, continuous, unusedPool, api: api2, pool, i, item } = args;
+  let { key, type, unusedIndex, unusedViews, views, newlyUsedView } = args;
+  let v;
+  if (!view) {
+    if (continuous) {
+      if (unusedPool && unusedPool.length) {
+        view = unusedPool.pop();
+      } else {
+        view = api2.addView(pool, i, item, key, type);
+      }
+    } else {
+      v = unusedIndex.get(type) || 0;
+      if (!unusedPool || v >= unusedPool.length) {
+        view = api2.addView(pool, i, item, key, type);
+        api2.unuseView(view, true);
+        unusedPool = unusedViews.get(type);
+      }
+      view = unusedPool[v];
+      unusedIndex.set(type, v + 1);
+    }
+    views.delete(view.nr.key);
+    view.nr.used = true;
+    view.nr.index = i;
+    view.nr.key = key;
+    view.nr.type = type;
+    views.set(key, view);
+    newlyUsedView = true;
+  } else {
+    if (!view.nr.used) {
+      view.nr.used = true;
+      newlyUsedView = true;
+      if (unusedPool) {
+        const index3 = unusedPool.indexOf(view);
+        if (~index3)
+          unusedPool.splice(index3, 1);
+      }
+    }
+  }
+  view.item = item;
+  return { view, unusedPool, newlyUsedView };
+};
+const computeViewStyle = ({ props: props2, state }) => (view) => {
+  const { direction, gridItems, itemSecondarySize, itemSize } = props2;
+  let transform = `translate${direction === "vertical" ? "Y" : "X"}(${view.position}px)`;
+  transform = `${transform} translate${direction === "vertical" ? "X" : "Y"}(${view.offset}px)`;
+  let width = gridItems ? `${direction === "vertical" ? itemSecondarySize || itemSize : itemSize}px` : void 0;
+  let height = gridItems ? `${direction === "horizontal" ? itemSecondarySize || itemSize : itemSize}px` : void 0;
+  return state.ready ? { transform, width, height } : null;
+};
+const computeViewEvent = ({ props: props2, state }) => (view) => {
+  if (props2.skipHover) {
+    return {};
+  } else {
+    return {
+      mouseenter: () => state.hoverKey = view.nr.key,
+      mouseleave: () => state.hoverKey = null
+    };
+  }
+};
+const api = [
+  "state",
+  "handleVisibilityChange",
+  "handleScroll",
+  "scrollToItem",
+  "computeViewStyle",
+  "computeViewEvent",
+  "updateVisibleItems"
+];
+const addWatchers = ({ watch, props: props2, api: api2, state }) => {
+  watch(
+    () => props2.items,
+    () => api2.updateVisibleItems(true)
+  );
+  watch(
+    () => props2.pageMode,
+    () => {
+      api2.applyPageMode();
+      api2.updateVisibleItems(false);
+    }
+  );
+  watch(
+    () => state.sizes,
+    () => api2.updateVisibleItems(false),
+    { deep: true }
+  );
+  watch(
+    () => props2.gridItems,
+    () => api2.updateVisibleItems(true)
+  );
+  watch(
+    () => props2.itemSecondarySize,
+    () => api2.updateVisibleItems(true)
+  );
+};
+const checkProps = (props2) => {
+  if (props2.gridItems && !props2.itemSize) {
+    throw new Error("[TINY Error][RecycleScroller] You must provide an itemSize when using gridItems");
+  }
+};
+const renderless = (props2, { reactive: reactive2, computed, onBeforeUnmount, onMounted, onActivated, watch, markRaw, shallowReactive }, { vm, nextTick, emit }) => {
+  const state = reactive2({
+    pool: [],
+    totalSize: 0,
+    ready: false,
+    hoverKey: null,
+    simpleArray: computed(() => props2.items.length && typeof props2.items[0] !== "object"),
+    sizes: computed(() => api2.computedSizes()),
+    itemIndexByKey: computed(() => api2.computedItemIndexByKey())
+  });
+  const api2 = {
+    state,
+    computedSizes: computedSizes({ props: props2, state }),
+    computedItemIndexByKey: computedItemIndexByKey(props2),
+    getScroll: getScroll({ props: props2, vm }),
+    unuseView: unuseView(state),
+    addView: addView({ markRaw, shallowReactive }),
+    sortViews: sortViews(state),
+    getListenerTarget: getListenerTarget({ props: props2, vm }),
+    scrollToPosition: scrollToPosition({ props: props2, vm }),
+    computeViewStyle: computeViewStyle({ props: props2, state }),
+    computeViewEvent: computeViewEvent({ props: props2, state })
+  };
+  Object.assign(api2, {
+    handleVisibilityChange: handleVisibilityChange({ api: api2, emit, state }),
+    updateVisibleItems: updateVisibleItems({ api: api2, emit, props: props2, state, vm }),
+    handleScroll: handleScroll({ api: api2, props: props2, state }),
+    handleResize: handleResize({ api: api2, emit, state }),
+    applyPageMode: applyPageMode({ api: api2, props: props2 }),
+    addListeners: addListeners({ api: api2, state }),
+    removeListeners: removeListeners({ api: api2, state }),
+    scrollToItem: scrollToItem({ api: api2, props: props2, state })
+  });
+  state.temporary = {
+    startIndex: 0,
+    endIndex: 0,
+    views: /* @__PURE__ */ new Map(),
+    unusedViews: /* @__PURE__ */ new Map(),
+    scrollDirty: false,
+    lastUpdateScrollPosition: 0
+  };
+  if (props2.prerender) {
+    state.temporary.prerender = true;
+    api2.updateVisibleItems(false);
+  }
+  checkProps(props2);
+  onActivated(() => {
+    const lastPosition = state.temporary.lastUpdateScrollPosition;
+    if (typeof lastPosition === "number") {
+      nextTick(() => {
+        api2.scrollToPosition(lastPosition);
+      });
+    }
+  });
+  onMounted(() => {
+    addResizeListener(vm.$el, api2.handleResize);
+    api2.applyPageMode();
+    nextTick(() => {
+      state.temporary.prerender = false;
+      api2.updateVisibleItems(true);
+      state.ready = true;
+    });
+  });
+  onBeforeUnmount(() => {
+    removeResizeListener(vm.$el, api2.handleResize);
+    api2.removeListeners();
+  });
+  addWatchers({ watch, props: props2, api: api2, state });
+  return api2;
+};
+const CONTEXT_KEY = "@@observevisibilityContext";
+const processOptions = (value) => {
+  let options;
+  if (typeof value === "function") {
+    options = { callback: value };
+  } else {
+    options = value;
+  }
+  return options;
+};
+const createObserver = ({ options, instance, state }) => {
+  if (state.observer) {
+    destroyObserver(state);
+  }
+  if (state.frozen)
+    return;
+  state.options = processOptions(options);
+  state.callback = (result, entry) => {
+    state.options.callback(result, entry);
+    if (result && state.options.once) {
+      state.frozen = true;
+      destroyObserver(state);
+    }
+  };
+  if (state.callback && state.options.throttle) {
+    state.callback = throttle_default(state.options.throttleDelay || 20, state.callback);
+  }
+  state.observer = new IntersectionObserver((entries) => {
+    let entry = entries[0];
+    if (entries.length > 1) {
+      const intersectingEntry = entries.find((e) => e.isIntersecting);
+      if (intersectingEntry) {
+        entry = intersectingEntry;
+      }
+    }
+    if (state.callback) {
+      state.callback(entry.isIntersecting, entry);
+    }
+  }, state.options.intersection);
+  instance.$nextTick(() => {
+    if (state.observer) {
+      state.observer.observe(state.el);
+    }
+  });
+};
+const destroyObserver = (state) => {
+  if (state.observer) {
+    state.observer.disconnect();
+    state.observer = null;
+  }
+  if (state.callback) {
+    state.callback = null;
+  }
+};
+const createVisibilityState = ({ el, options, instance }) => {
+  const state = { el, observer: null, frozen: false };
+  createObserver({ options, instance, state });
+  return state;
+};
+const bind = (el, { value, instance }, { context }) => {
+  if (!value)
+    return;
+  if (typeof IntersectionObserver === "undefined") {
+    throw new TypeError("[TINY Error][ObserveVisibility] IntersectionObserver API is not available in your browser");
+  } else {
+    instance = instance || context;
+    el[CONTEXT_KEY] = createVisibilityState({ el, options: value, instance });
+  }
+};
+const update = (el, { value, oldValue, instance }, { context }) => {
+  if (isEqual(value, oldValue))
+    return;
+  const state = el[CONTEXT_KEY];
+  if (!value) {
+    unbind(el);
+    return;
+  }
+  instance = instance || context;
+  if (state) {
+    createObserver({ options: value, instance, state });
+  } else {
+    bind(el, { value, instance }, { context });
+  }
+};
+const unbind = (el) => {
+  const state = el[CONTEXT_KEY];
+  if (state) {
+    destroyObserver(state);
+    delete el[CONTEXT_KEY];
+  }
+};
+const ObserveVisibility = {
+  bind,
+  update,
+  unbind,
+  beforeMount: bind,
+  updated: update,
+  unmounted: unbind
+};
+var observe_visibility_default = ObserveVisibility;
+const index = "";
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main = defineComponent({
+  emits: ["resize", "visible", "hidden", "update", "scroll-start", "scroll-end"],
+  props: [].concat(props, ["items", "keyField", "direction", "listTag", "itemTag", "itemSize", "gridItems", "itemSecondarySize", "minItemSize", "sizeField", "typeField", "buffer", "pageMode", "prerender", "emitUpdate", "updateInterval", "skipHover", "listClass", "itemClass", "itemsLimit"]),
+  directives: {
+    ObserveVisibility: observe_visibility_default
+  },
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1 = {
+  key: 0,
+  ref: "before",
+  class: "tiny-recycle-scroller__slot"
+};
+var _hoisted_2 = {
+  key: 1,
+  ref: "after",
+  class: "tiny-recycle-scroller__slot"
+};
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _ref, _normalizeStyle;
+  var _directive_observe_visibility = resolveDirective("observe-visibility");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-recycle-scroller", (_ref = {
+        ready: _ctx.state.ready,
+        "page-mode": _ctx.pageMode
+      }, _ref["direction-" + _ctx.direction] = true, _ref)]),
+      onScrollPassive: _cache[0] || (_cache[0] = function() {
+        return _ctx.handleScroll && _ctx.handleScroll.apply(_ctx, arguments);
+      })
+    },
+    [_ctx.slots.before ? (openBlock(), createElementBlock(
+      "div",
+      _hoisted_1,
+      [renderSlot(_ctx.$slots, "before")],
+      512
+      /* NEED_PATCH */
+    )) : createCommentVNode("v-if", true), (openBlock(), createBlock(resolveDynamicComponent(_ctx.listTag), {
+      ref: "wrapper",
+      style: normalizeStyle((_normalizeStyle = {}, _normalizeStyle[_ctx.direction === "vertical" ? "minHeight" : "minWidth"] = _ctx.state.totalSize + "px", _normalizeStyle)),
+      class: normalizeClass(["tiny-recycle-scroller__item-wrapper", _ctx.listClass])
+    }, {
+      default: withCtx(function() {
+        return [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.pool, function(view) {
+            return openBlock(), createBlock(resolveDynamicComponent(_ctx.itemTag), mergeProps({
+              key: view.nr.id,
+              style: _ctx.computeViewStyle(view),
+              class: ["tiny-recycle-scroller__item-view", [_ctx.itemClass, {
+                hover: !_ctx.skipHover && _ctx.state.hoverKey === view.nr.key
+              }]]
+            }, toHandlers(_ctx.computeViewEvent(view))), {
+              default: withCtx(function() {
+                return [renderSlot(_ctx.$slots, "default", {
+                  item: view.item,
+                  index: view.nr.index,
+                  active: view.nr.used
+                })];
+              }),
+              _: 2
+              /* DYNAMIC */
+            }, 1040, ["style", "class"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        )), renderSlot(_ctx.$slots, "empty")];
+      }),
+      _: 3
+      /* FORWARDED */
+    }, 8, ["style", "class"])), _ctx.slots.after ? (openBlock(), createElementBlock(
+      "div",
+      _hoisted_2,
+      [renderSlot(_ctx.$slots, "after")],
+      512
+      /* NEED_PATCH */
+    )) : createCommentVNode("v-if", true)],
+    34
+    /* CLASS, NEED_HYDRATION */
+  )), [[_directive_observe_visibility, _ctx.handleVisibilityChange]]);
+}
+var pc = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template2(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc;
+};
+var RecycleScroller = defineComponent({
+  name: $prefix + "RecycleScroller",
+  props: _extends({}, $props, {
+    items: {
+      type: Array,
+      required: true
+    },
+    keyField: {
+      type: String,
+      default: "id"
+    },
+    direction: {
+      type: String,
+      default: "vertical",
+      validator: function validator(value) {
+        return ["vertical", "horizontal"].includes(value);
+      }
+    },
+    listTag: {
+      type: String,
+      default: "div"
+    },
+    itemTag: {
+      type: String,
+      default: "div"
+    },
+    itemSize: {
+      type: Number,
+      default: null
+    },
+    gridItems: {
+      type: Number,
+      default: void 0
+    },
+    itemSecondarySize: {
+      type: Number,
+      default: void 0
+    },
+    minItemSize: {
+      type: [Number, String],
+      default: null
+    },
+    sizeField: {
+      type: String,
+      default: "size"
+    },
+    typeField: {
+      type: String,
+      default: "type"
+    },
+    buffer: {
+      type: Number,
+      default: 200
+    },
+    pageMode: {
+      type: Boolean,
+      default: false
+    },
+    prerender: {
+      type: Number,
+      default: 0
+    },
+    emitUpdate: {
+      type: Boolean,
+      default: false
+    },
+    updateInterval: {
+      type: Number,
+      default: 0
+    },
+    skipHover: {
+      type: Boolean,
+      default: false
+    },
+    listClass: {
+      type: [String, Object, Array],
+      default: ""
+    },
+    itemClass: {
+      type: [String, Object, Array],
+      default: ""
+    },
+    itemsLimit: {
+      type: Number,
+      default: 1e3
+    }
+  }),
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var reactive = reactive$1;
+var buildInstanceTemporary = function buildInstanceTemporary2(store) {
+  var temporary = {};
+  temporary.stateId = null;
+  temporary.getId = null;
+  temporary.updateIdState = function(vm) {
+    var id = temporary.getId();
+    if (isNull(id)) {
+      console.warn("[TINY Error][Mixin IdState] No id found for IdState with idProp");
+    }
+    if (id !== temporary.stateId) {
+      if (!store[id]) {
+        temporary.idStateInit(id, vm);
+      }
+      vm.idState = store[id];
+    }
+  };
+  temporary.idStateInit = function(id, vm) {
+    var factory = vm.$options.idState;
+    if (typeof factory === "function") {
+      var data = factory.call(vm, vm);
+      store[id] = data;
+      temporary.stateId = id;
+      return data;
+    } else {
+      throw new TypeError("[TINY Error][Mixin IdState] Missing `idState` function on component definition");
+    }
+  };
+  return temporary;
+};
+function IdState(_ref) {
+  var _ref2;
+  var idProp = _ref.idProp, stateGetterName = _ref.stateGetterName;
+  idProp = idProp || function(vm) {
+    return vm.item.id;
+  };
+  stateGetterName = stateGetterName || "getIdState";
+  var store = reactive({});
+  return _ref2 = {
+    data: function data() {
+      return {
+        idState: null
+      };
+    },
+    created: function created() {
+      var _this = this;
+      this.temporary = buildInstanceTemporary(store);
+      if (typeof idProp === "function") {
+        this.temporary.getId = function() {
+          return idProp.call(_this, _this);
+        };
+      } else {
+        this.temporary.getId = function() {
+          return _this[idProp];
+        };
+      }
+      this.$watch(this.temporary.getId, {
+        handler: function handler(value) {
+          var _this2 = this;
+          this.$nextTick(function() {
+            return _this2.temporary.stateId = value;
+          });
+        },
+        immediate: true
+      });
+      this.temporary.updateIdState(this);
+    },
+    beforeUpdate: function beforeUpdate() {
+      this.temporary.updateIdState(this);
+    }
+  }, _ref2[stateGetterName] = function(id) {
+    return isNull(id) ? store : store[id] ? store[id] : null;
+  }, _ref2;
+}
+var version = "3.16.0";
+RecycleScroller.IdState = IdState;
+RecycleScroller.install = function(Vue) {
+  Vue.component(RecycleScroller.name, RecycleScroller);
+};
+RecycleScroller.version = version;
+export {
+  FilterBox as F,
+  RecycleScroller as R,
+  _sfc_main$2 as _,
+  addResizeListener as a,
+  adjustIndex as b,
+  onTouchstart as c,
+  deepClone as d,
+  getOptionText as e,
+  onTransitionEnd as f,
+  getValue as g,
+  computedBaseOffset as h,
+  index$4 as i,
+  computedWrapperStyle as j,
+  setValue as k,
+  onTouchend as l,
+  setOptions as m,
+  momentum as n,
+  onTouchmove as o,
+  setIndex as p,
+  onClickItem as q,
+  removeResizeListener as r,
+  scroll_into_view_default as s,
+  mountedHandler as t,
+  beforeUnmountHandler as u
+};
diff --git a/admin-website/src/main/resources/static/assets/index36.js b/admin-website/src/main/resources/static/assets/index36.js
new file mode 100644
index 0000000..53043c2
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index36.js
@@ -0,0 +1,15406 @@
+import { s as svg, aD as DATEPICKER, aE as isDateObject, aF as isDate, aG as formatDate$1, aH as getDateWithNewTimezone, aI as getLocalTimezone, aJ as getStrTimezone, aK as parseDate, aw as vue_popper_default, y as __spreadProps, z as __spreadValues, J as extend, a6 as isNumber, aL as toDate, aM as getWeekNumber, aN as prevDate, aO as nextDate, aP as isDate$1, aQ as clearMilliseconds, aR as clearTime, aS as prevMonth, aT as nextMonth, aU as prevYear, aV as nextYear, aW as modifyTime, aX as modifyWithTimeString, aY as modifyDate, aZ as changeYearMonthAndClampDate, o as on, f as off, a_ as timeWithinRange, af as debounce_default, a$ as fillChar, b0 as extractTimeFormat, b1 as extractDateFormat, b2 as DATE, b3 as limitTimeRange, b4 as getRangeHours, b5 as getRangeMinutes, b6 as once, d as defineComponent, a3 as directive, p as props, a as setup, b as $prefix, c as $setup, $ as $props$1, B as Button, b7 as getFirstDayOfMonth, b8 as getDayCountOfMonth, b9 as getStartDateOfMonth, ba as hasClass, bb as range, bc as getDayCountOfYear, a7 as clickoutside_default, I as Input, E as index$m, bd as language, a8 as format$1, V as ActionSheet, Y as t, N as Tooltip, j as index$n } from "./index.js";
+import { _ as _sfc_main$p, s as scroll_into_view_default, R as RecycleScroller, F as FilterBox, d as deepClone, g as getValue, b as adjustIndex, o as onTouchmove, c as onTouchstart, e as getOptionText, f as onTransitionEnd, h as computedBaseOffset, j as computedWrapperStyle, k as setValue$1, l as onTouchend, m as setOptions, n as momentum$1, p as setIndex, q as onClickItem, t as mountedHandler, u as beforeUnmountHandler } from "./index35.js";
+import { i as index$h, a as index$i } from "./chevron-up.js";
+import { u as openBlock, v as createElementBlock, x as createStaticVNode, w as createBaseVNode, k as resolveComponent, V as resolveDirective, M as Fragment, l as createVNode, H as withCtx, N as renderList, A as normalizeClass, E as toDisplayString, I as withDirectives, L as vShow, z as createCommentVNode, y as createBlock, T as Transition, J as createTextVNode, P as withModifiers, D as renderSlot, B as resolveDynamicComponent, G as normalizeStyle, aa as createSlots, F as mergeProps } from "./vue.js";
+import { K as Popup, c as index$j, i as index$k, b as index$l } from "./index31.js";
+var _hoisted_1$q = {
+  viewBox: "0 0 16 16",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$j = /* @__PURE__ */ createStaticVNode('<defs><filter x="-50%" y="-53.6%" width="200%" height="205.4%" filterUnits="objectBoundingBox" id="calendar_svg__a"><feOffset dx="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur><feColorMatrix values="0 0 0 0 0.145098039 0 0 0 0 0.168627451 0 0 0 0 0.22745098 0 0 0 0.08 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix><feMerge><feMergeNode in="shadowMatrixOuter1"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><g fill="none" fill-rule="evenodd"><path d="M0 0h16v16H0z"></path><g filter="url(#calendar_svg__a)" transform="translate(1 1.474)"><path fill="currentColor" fill-rule="nonzero" d="M3 4.526h2v2H3zM6 4.526h2v2H6zM9 4.526h2v2H9zM3 8.526h2v2H3zM6 8.526h2v2H6zM9 8.526h2v2H9z"></path><rect stroke="currentColor" y=".526" width="14" height="13" rx="2"></rect><path stroke="currentColor" stroke-width="1.5" stroke-linecap="round" d="M4.474 0v2M9.474 0v2"></path></g></g>', 2);
+var _hoisted_4$d = [_hoisted_2$j];
+function render$2(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$q, [].concat(_hoisted_4$d));
+}
+var Calendar = {
+  render: render$2
+};
+var index$g = function index2() {
+  return svg({
+    name: "IconCalendar",
+    component: Calendar
+  })();
+};
+var _hoisted_1$p = {
+  viewBox: "0 0 1024 1024",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$i = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M670.344 369.644c-6.248-6.249-16.371-6.249-22.62 0L511.992 505.376 376.258 369.644c-6.247-6.249-16.386-6.249-22.62 0-6.248 6.247-6.248 16.37 0 22.619l135.733 135.732L353.64 663.73c-6.249 6.248-6.249 16.37 0 22.619 6.233 6.248 16.37 6.248 22.619 0l135.733-135.734 135.734 135.734c6.248 6.248 16.37 6.248 22.619 0s6.248-16.371 0-22.62L534.61 527.996l135.734-135.732c6.248-6.248 6.248-16.372-.001-22.62zM511.99 128.092c-212.026 0-383.906 171.881-383.906 383.907 0 212.027 171.88 383.908 383.906 383.908 212.027 0 383.923-171.881 383.923-383.908 0-212.026-171.896-383.907-383.923-383.907zm0 735.823c-194.36 0-351.914-157.556-351.914-351.915s157.556-351.914 351.914-351.914c194.345 0 351.915 157.555 351.915 351.914s-157.57 351.915-351.915 351.915z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$h = [_hoisted_2$i];
+function render$1(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$p, [].concat(_hoisted_3$h));
+}
+var CloseCircle = {
+  render: render$1
+};
+var index$f = function index22() {
+  return svg({
+    name: "IconCloseCircle",
+    component: CloseCircle
+  })();
+};
+var _hoisted_1$o = {
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 24 24",
+  "xml:space": "preserve"
+};
+var _hoisted_2$h = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    class: "time_svg__st0",
+    d: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm7.1 19.1c-.9.9-2 1.6-3.2 2.1-1.2.5-2.5.8-3.9.8s-2.7-.3-3.9-.8c-1.2-.5-2.3-1.2-3.2-2.1-.9-.9-1.6-2-2.1-3.2-.5-1.2-.8-2.5-.8-3.9s.3-2.7.8-3.9C3.3 6.9 4 5.8 4.9 4.9c.9-.9 2-1.6 3.2-2.1C9.3 2.3 10.6 2 12 2s2.7.3 3.9.8c1.2.5 2.3 1.2 3.2 2.1.9.9 1.6 2 2.1 3.2.5 1.2.8 2.5.8 3.9s-.3 2.7-.8 3.9c-.5 1.2-1.2 2.3-2.1 3.2zM17 12h-4V6.1c0-.5-.5-1.1-1-1.1h-.2c-.4 0-.8.6-.8 1.1v6.1c0 1 .1 1.9 1 1.9h5c.5 0 1.1-.5 1.1-1S17.5 12 17 12z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$g = [_hoisted_2$h];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$o, [].concat(_hoisted_3$g));
+}
+var Time$1 = {
+  render
+};
+var index$e = function index23() {
+  return svg({
+    name: "IconTime",
+    component: Time$1
+  })();
+};
+var timezone_default = {
+  "enUS": [
+    {
+      name: "(UTC-12:00)International Date Line West",
+      code: "001-12",
+      offset: -12,
+      tz: "Etc/GMT+12"
+    },
+    {
+      name: "(UTC+13:00)Samoa",
+      code: "002-11",
+      offset: 14,
+      tz: "Pacific/Apia"
+    },
+    {
+      name: "(UTC-11:00)Coordinated Universal Time-11",
+      code: "003-11",
+      offset: -11,
+      tz: "Etc/GMT+11"
+    },
+    {
+      name: "(UTC-10:00)Hawaii",
+      code: "004-10",
+      offset: -10,
+      tz: "Pacific/Honolulu"
+    },
+    {
+      name: "(UTC-09:00)Alaska",
+      code: "005-9",
+      offset: -9,
+      tz: "America/Anchorage"
+    },
+    {
+      name: "(UTC-08:00)Pacific Time (US & Canada)",
+      code: "006-8",
+      offset: -8,
+      tz: "America/Los_Angeles"
+    },
+    {
+      name: "(UTC-08:00)Baja California",
+      code: "007-8",
+      offset: -8,
+      tz: "America/Santa_Isabel"
+    },
+    {
+      name: "(UTC-07:00)Chihuahua, La Paz, Mazatlan",
+      code: "008-7",
+      offset: -7,
+      tz: "America/Chihuahua"
+    },
+    {
+      name: "(UTC-07:00)Mountain Time (US & Canada)",
+      code: "009-7",
+      offset: -7,
+      tz: "America/Denver"
+    },
+    {
+      name: "(UTC-07:00)Arizona",
+      code: "010-7",
+      offset: -7,
+      tz: "America/Phoenix"
+    },
+    {
+      name: "(UTC-06:00)Guadalajara, Mexico City, Monterey",
+      code: "011-6",
+      offset: -6,
+      tz: "America/Mexico_City"
+    },
+    {
+      name: "(UTC-06:00)Saskatchewan",
+      code: "012-6",
+      offset: -6,
+      tz: "America/Regina"
+    },
+    {
+      name: "(UTC-06:00)Central Time (US & Canada)",
+      code: "013-6",
+      offset: -6,
+      tz: "America/Chicago"
+    },
+    {
+      name: "(UTC-06:00)Central America",
+      code: "014-6",
+      offset: -6,
+      tz: "America/Guatemala"
+    },
+    {
+      name: "(UTC-05:00)Bogota, Lima, Quito",
+      code: "015-5",
+      offset: -5,
+      tz: "America/Bogota"
+    },
+    {
+      name: "(UTC-05:00)Eastern Time (US & Canada)",
+      code: "016-5",
+      offset: -5,
+      tz: "America/New_York"
+    },
+    {
+      name: "(UTC-05:00)Indiana(East)",
+      code: "017-5",
+      offset: -5,
+      tz: "America/Indiana/Indianapolis"
+    },
+    {
+      name: "(UTC-04:30)Caracas",
+      code: "018-4.5",
+      offset: -4,
+      tz: "America/Caracas"
+    },
+    {
+      name: "(UTC-04:00)Atlantic Time (Canada)",
+      code: "019-4",
+      offset: -4,
+      tz: "America/Halifax"
+    },
+    {
+      name: "(UTC-04:00)Cuiaba",
+      code: "020-4",
+      offset: -4,
+      tz: "America/Cuiaba"
+    },
+    {
+      name: "(UTC-04:00)Georgetown, La Paz, Manaus, San Juan",
+      code: "021-4",
+      offset: -4,
+      tz: "America/La_Paz"
+    },
+    {
+      name: "(UTC-04:00)Santiago",
+      code: "022-4",
+      offset: -3,
+      tz: "America/Santiago"
+    },
+    {
+      name: "(UTC-04:00)Asuncion",
+      code: "023-4",
+      offset: -3,
+      tz: "America/Asuncion"
+    },
+    {
+      name: "(UTC-03:30)Newfoundland",
+      code: "024-3.5",
+      offset: -3.5,
+      tz: "America/St_Johns"
+    },
+    {
+      name: "(UTC-03:00)Brasilia",
+      code: "025-3",
+      offset: -3,
+      tz: "America/Sao_Paulo"
+    },
+    {
+      name: "(UTC-03:00)Buenos Aires",
+      code: "026-3",
+      offset: -3,
+      tz: "America/Argentina/Buenos_Aires"
+    },
+    {
+      name: "(UTC-03:00)Greenland",
+      code: "027-3",
+      offset: -3,
+      tz: "America/Godthab"
+    },
+    {
+      name: "(UTC-03:00)Cayenne, Fortaleza",
+      code: "028-3",
+      offset: -3,
+      tz: "America/Cayenne"
+    },
+    {
+      name: "(UTC-03:00)Montevideo",
+      code: "029-3",
+      offset: -3,
+      tz: "America/Montevideo"
+    },
+    {
+      name: "(UTC-11:00)Coordinated Universal Time-11",
+      code: "030-2",
+      offset: -11,
+      tz: "Etc/GMT+11"
+    },
+    {
+      name: "(UTC-02:00)Mid-Atlantic",
+      code: "031-2",
+      offset: -4,
+      tz: "America/Halifax"
+    },
+    {
+      name: "(UTC-01:00)Cape Verde Is",
+      code: "032-1",
+      offset: -1,
+      tz: "Atlantic/Cape_Verde"
+    },
+    {
+      name: "(UTC-01:00)Azores",
+      code: "033-1",
+      offset: -1,
+      tz: "Atlantic/Azores"
+    },
+    {
+      name: "(UTC)Dublin, Edinburgh, Lisbon, London",
+      code: "034-0",
+      offset: 0,
+      tz: "Europe/London"
+    },
+    {
+      name: "(UTC)Casablanca",
+      code: "035-0",
+      offset: 1,
+      tz: "Africa/Casablanca"
+    },
+    {
+      name: "(UTC)Monrovia, Reykjavik",
+      code: "036-0",
+      offset: 0,
+      tz: "Atlantic/Reykjavik"
+    },
+    {
+      name: "(UTC)Coordinated Universal Time",
+      code: "037-0",
+      offset: 0,
+      tz: "Etc/GMT"
+    },
+    {
+      name: "(UTC+01:00)Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
+      code: "038+1",
+      offset: 1,
+      tz: "Europe/Berlin"
+    },
+    {
+      name: "(UTC+01:00)Belgrade, Bratislava, Budapest, Ljubljana, Prague",
+      code: "039+1",
+      offset: 1,
+      tz: "Europe/Budapest"
+    },
+    {
+      name: "(UTC+01:00)Brussels, Copenhagen, Madrid, Paris",
+      code: "040+1",
+      offset: 1,
+      tz: "Europe/Paris"
+    },
+    {
+      name: "(UTC+01:00)Sarajevo, Skopje, Warsaw, Zagreb",
+      code: "041+1",
+      offset: 1,
+      tz: "Europe/Warsaw"
+    },
+    {
+      name: "(UTC+01:00)Windhoek",
+      code: "042+1",
+      offset: 2,
+      tz: "Africa/Windhoek"
+    },
+    {
+      name: "(UTC+01:00)West Central Africa",
+      code: "043+1",
+      offset: 1,
+      tz: "Africa/Lagos"
+    },
+    {
+      name: "(UTC+02:00)Amman",
+      code: "044+2",
+      offset: 2,
+      tz: "Asia/Amman"
+    },
+    {
+      name: "(UTC+02:00)Beirut",
+      code: "045+2",
+      offset: 2,
+      tz: "Asia/Beirut"
+    },
+    {
+      name: "(UTC+02:00)Damascus",
+      code: "046+2",
+      offset: 2,
+      tz: "Asia/Damascus"
+    },
+    {
+      name: "(UTC+02:00)Harare, Pretoria",
+      code: "047+2",
+      offset: 2,
+      tz: "Africa/Johannesburg"
+    },
+    {
+      name: "(UTC+02:00)Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius",
+      code: "048+2",
+      offset: 2,
+      tz: "Europe/Kiev"
+    },
+    {
+      name: "(UTC+02:00)Cairo",
+      code: "049+2",
+      offset: 2,
+      tz: "Africa/Cairo"
+    },
+    {
+      name: "(UTC+02:00)Minsk",
+      code: "050+2",
+      offset: 3,
+      tz: "Europe/Minsk"
+    },
+    {
+      name: "(UTC+02:00)Athens, Bucharest, Istanbul",
+      code: "051+2",
+      offset: 3,
+      tz: "Europe/Istanbul"
+    },
+    {
+      name: "(UTC+02:00)Jerusalem",
+      code: "052+2",
+      offset: 2,
+      tz: "Asia/Jerusalem"
+    },
+    {
+      name: "(UTC+03:00)Baghdad",
+      code: "053+3",
+      offset: 3,
+      tz: "Asia/Baghdad"
+    },
+    {
+      name: "(UTC+03:00)Kuwait, Riyadh",
+      code: "054+3",
+      offset: 3,
+      tz: "Asia/Riyadh"
+    },
+    {
+      name: "(UTC+03:00)Moscow, St. Petersburg, Volgograd",
+      code: "055+3",
+      offset: 3,
+      tz: "Europe/Moscow"
+    },
+    {
+      name: "(UTC+03:00)Nairobi",
+      code: "056+3",
+      offset: 3,
+      tz: "Africa/Nairobi"
+    },
+    {
+      name: "(UTC+03:30)Teheran",
+      code: "057+3.5",
+      offset: 3.5,
+      tz: "Asia/Tehran"
+    },
+    {
+      name: "(UTC+04:00)Abu Dhabi, Muscat",
+      code: "058+4",
+      offset: 4,
+      tz: "Asia/Dubai"
+    },
+    {
+      name: "(UTC+04:00)Yerevan",
+      code: "059+4",
+      offset: 4,
+      tz: "Asia/Yerevan"
+    },
+    {
+      name: "(UTC+04:00)Baku",
+      code: "060+4",
+      offset: 4,
+      tz: "Asia/Baku"
+    },
+    {
+      name: "(UTC+04:00)Tbilisi",
+      code: "061+4",
+      offset: 4,
+      tz: "Asia/Tbilisi"
+    },
+    {
+      name: "(UTC+04:00)Port Louis",
+      code: "062+4",
+      offset: 4,
+      tz: "Indian/Mauritius"
+    },
+    {
+      name: "(UTC+04:30)Kabul",
+      code: "063+4.5",
+      offset: 4.5,
+      tz: "Asia/Kabul"
+    },
+    {
+      name: "(UTC+05:00)Tashkent",
+      code: "064+5",
+      offset: 5,
+      tz: "Asia/Tashkent"
+    },
+    {
+      name: "(UTC+05:00)Yekaterinburg",
+      code: "065+5",
+      offset: 5,
+      tz: "Asia/Yekaterinburg"
+    },
+    {
+      name: "(UTC+05:00)Islamabad, Karachi",
+      code: "066+5",
+      offset: 5,
+      tz: "Asia/Karachi"
+    },
+    {
+      name: "(UTC+05:30)Chennai, Kolkata, Mumbai, New Delhi",
+      code: "067+5.5",
+      offset: 5.5,
+      tz: "Asia/Kolkata"
+    },
+    {
+      name: "(UTC+05:30)Sri Jayawardenepura",
+      code: "068+5.5",
+      offset: 5.5,
+      tz: "Asia/Colombo"
+    },
+    {
+      name: "(UTC+05:45)Katmandu",
+      code: "069+5.75",
+      offset: 5.75,
+      tz: "Asia/Kathmandu"
+    },
+    {
+      name: "(UTC+06:00)Astana",
+      code: "070+6",
+      offset: 6,
+      tz: "Asia/Almaty"
+    },
+    {
+      name: "(UTC+06:00)Dhaka",
+      code: "071+6",
+      offset: 6,
+      tz: "Asia/Dhaka"
+    },
+    {
+      name: "(UTC+07:00)Novosibirsk",
+      code: "072+6",
+      offset: 7,
+      tz: "Asia/Novosibirsk"
+    },
+    {
+      name: "(UTC+06:30)Yangon(Rangoon)",
+      code: "073+6.5",
+      offset: 6.5,
+      tz: "Asia/Yangon"
+    },
+    {
+      name: "(UTC+07:00)Krasnoyarsk",
+      code: "074+7",
+      offset: 7,
+      tz: "Asia/Krasnoyarsk"
+    },
+    {
+      name: "(UTC+07:00)Bangkok, Hanoi, Jakarta",
+      code: "075+7",
+      offset: 7,
+      tz: "Asia/Bangkok"
+    },
+    {
+      name: "(UTC+08:00)Beijing, Chongqing, Hong Kong, Urumqi",
+      code: "076+8",
+      offset: 8,
+      tz: "Asia/Shanghai"
+    },
+    {
+      name: "(UTC+08:00)Kuala Lumpur, Singapore",
+      code: "077+8",
+      offset: 8,
+      tz: "Asia/Singapore"
+    },
+    {
+      name: "(UTC+08:00)Perth",
+      code: "078+8",
+      offset: 8,
+      tz: "Australia/Perth"
+    },
+    {
+      name: "(UTC+08:00)Taipei",
+      code: "079+8",
+      offset: 8,
+      tz: "Asia/Taipei"
+    },
+    {
+      name: "(UTC+08:00)Ulaanbaatar",
+      code: "080+8",
+      offset: 8,
+      tz: "Asia/Ulaanbaatar"
+    },
+    {
+      name: "(UTC+08:00)Irkutsk",
+      code: "081+8",
+      offset: 8,
+      tz: "Asia/Irkutsk"
+    },
+    {
+      name: "(UTC+09:00)Osaka, Sapporo, Tokyo",
+      code: "082+9",
+      offset: 9,
+      tz: "Asia/Tokyo"
+    },
+    {
+      name: "(UTC+09:00)Seoul",
+      code: "083+9",
+      offset: 9,
+      tz: "Asia/Seoul"
+    },
+    {
+      name: "(UTC+09:00)Yakutsk",
+      code: "084+9",
+      offset: 9,
+      tz: "Asia/Yakutsk"
+    },
+    {
+      name: "(UTC+09:30)Adelaide",
+      code: "085+9.5",
+      offset: 10.5,
+      tz: "Australia/Adelaide"
+    },
+    {
+      name: "(UTC+09:30)Darwin",
+      code: "086+9.5",
+      offset: 9.5,
+      tz: "Australia/Darwin"
+    },
+    {
+      name: "(UTC+10:00)Brisbane",
+      code: "087+10",
+      offset: 10,
+      tz: "Australia/Brisbane"
+    },
+    {
+      name: "(UTC+10:00)Vladivostok",
+      code: "088+10",
+      offset: 10,
+      tz: "Asia/Vladivostok"
+    },
+    {
+      name: "(UTC+10:00)Guam, Port Moresby",
+      code: "089+10",
+      offset: 10,
+      tz: "Pacific/Port_Moresby"
+    },
+    {
+      name: "(UTC+10:00)Hobart",
+      code: "090+10",
+      offset: 11,
+      tz: "Australia/Hobart"
+    },
+    {
+      name: "(UTC+10:00)Canberra, Melbourne, Sydney",
+      code: "091+10",
+      offset: 11,
+      tz: "Australia/Sydney"
+    },
+    {
+      name: "(UTC+11:00)Magadan",
+      code: "092+11",
+      offset: 11,
+      tz: "Asia/Magadan"
+    },
+    {
+      name: "(UTC+11:00)Solomon Is, New Caledonia",
+      code: "093+11",
+      offset: 11,
+      tz: "Pacific/Guadalcanal"
+    },
+    {
+      name: "(UTC+12:00)Auckland, Wellington",
+      code: "094+12",
+      offset: 13,
+      tz: "Pacific/Auckland"
+    },
+    {
+      name: "(UTC+12:00)Fiji",
+      code: "095+12",
+      offset: 13,
+      tz: "Pacific/Fiji"
+    },
+    {
+      name: "(UTC+12:00)Coordinated Universal Time+12",
+      code: "096+12",
+      offset: 12,
+      tz: "Etc/GMT-12"
+    },
+    {
+      name: "(UTC+13:00)Nuku`alofa",
+      code: "097+13",
+      offset: 13,
+      tz: "Pacific/Tongatapu"
+    }
+  ],
+  "zhCN": [
+    {
+      name: "(UTC-12:00)国际日期变更线西",
+      code: "001-12",
+      offset: -12,
+      tz: "Etc/GMT+12"
+    },
+    {
+      name: "(UTC+13:00) 萨摩亚群岛",
+      code: "002-11",
+      offset: 14,
+      tz: "Pacific/Apia"
+    },
+    {
+      name: "(UTC-11:00)协调世界时-11",
+      code: "003-11",
+      offset: -11,
+      tz: "Etc/GMT+11"
+    },
+    {
+      name: "(UTC-10:00)夏威夷",
+      code: "004-10",
+      offset: -10,
+      tz: "Pacific/Honolulu"
+    },
+    {
+      name: "(UTC-09:00)阿拉斯加",
+      code: "005-9",
+      offset: -9,
+      tz: "America/Anchorage"
+    },
+    {
+      name: "(UTC-08:00)太平洋时间(美国和加拿大)",
+      code: "006-8",
+      offset: -8,
+      tz: "America/Los_Angeles"
+    },
+    {
+      name: "(UTC-08:00)下加利福尼亚州",
+      code: "007-8",
+      offset: -8,
+      tz: "America/Santa_Isabel"
+    },
+    {
+      name: "(UTC-07:00)奇瓦瓦,拉巴斯,马萨特兰",
+      code: "008-7",
+      offset: -7,
+      tz: "America/Chihuahua"
+    },
+    {
+      name: "(UTC-07:00)山地时间(美国和加拿大)",
+      code: "009-7",
+      offset: -7,
+      tz: "America/Denver"
+    },
+    {
+      name: "(UTC-07:00)亚利桑那",
+      code: "010-7",
+      offset: -7,
+      tz: "America/Phoenix"
+    },
+    {
+      name: "(UTC-06:00)瓜达拉哈拉,墨西哥城,蒙特雷",
+      code: "011-6",
+      offset: -6,
+      tz: "America/Mexico_City"
+    },
+    {
+      name: "(UTC-06:00)萨斯喀彻温",
+      code: "012-6",
+      offset: -6,
+      tz: "America/Regina"
+    },
+    {
+      name: "(UTC-06:00)中部时间(美国和加拿大)",
+      code: "013-6",
+      offset: -6,
+      tz: "America/Chicago"
+    },
+    {
+      name: "(UTC-06:00)中美洲",
+      code: "014-6",
+      offset: -6,
+      tz: "America/Guatemala"
+    },
+    {
+      name: "(UTC-05:00)波哥大,利马,基多",
+      code: "015-5",
+      offset: -5,
+      tz: "America/Bogota"
+    },
+    {
+      name: "(UTC-05:00)东部时间(美国和加拿大)",
+      code: "016-5",
+      offset: -5,
+      tz: "America/New_York"
+    },
+    {
+      name: "(UTC-05:00)印地安那州(东部)",
+      code: "017-5",
+      offset: -5,
+      tz: "America/Indiana/Indianapolis"
+    },
+    {
+      name: "(UTC-04:30)加拉加斯",
+      code: "018-4.5",
+      offset: -4,
+      tz: "America/Caracas"
+    },
+    {
+      name: "(UTC-04:00)大西洋时间(加拿大)",
+      code: "019-4",
+      offset: -4,
+      tz: "America/Halifax"
+    },
+    {
+      name: "(UTC-04:00)库亚巴",
+      code: "020-4",
+      offset: -4,
+      tz: "America/Cuiaba"
+    },
+    {
+      name: "(UTC-04:00)乔治敦,拉巴斯,马瑙斯,圣胡安",
+      code: "021-4",
+      offset: -4,
+      tz: "America/La_Paz"
+    },
+    {
+      name: "(UTC-04:00)圣地亚哥",
+      code: "022-4",
+      offset: -3,
+      tz: "America/Santiago"
+    },
+    {
+      name: "(UTC-04:00)亚松森",
+      code: "023-4",
+      offset: -3,
+      tz: "America/Asuncion"
+    },
+    {
+      name: "(UTC-03:30)纽芬兰",
+      code: "024-3.5",
+      offset: -3.5,
+      tz: "America/St_Johns"
+    },
+    {
+      name: "(UTC-03:00)巴西利亚",
+      code: "025-3",
+      offset: -3,
+      tz: "America/Sao_Paulo"
+    },
+    {
+      name: "(UTC-03:00)布宜诺斯艾利斯",
+      code: "026-3",
+      offset: -3,
+      tz: "America/Argentina/Buenos_Aires"
+    },
+    {
+      name: "(UTC-03:00)格陵兰",
+      code: "027-3",
+      offset: -3,
+      tz: "America/Godthab"
+    },
+    {
+      name: "(UTC-03:00)卡宴,福塔雷萨",
+      code: "028-3",
+      offset: -3,
+      tz: "America/Cayenne"
+    },
+    {
+      name: "(UTC-03:00)蒙得维的亚",
+      code: "029-3",
+      offset: -3,
+      tz: "America/Montevideo"
+    },
+    {
+      name: "(UTC-11:00)协调世界时-11",
+      code: "030-2",
+      offset: -11,
+      tz: "Etc/GMT+11"
+    },
+    {
+      name: "(UTC-02:00)中大西洋",
+      code: "031-2",
+      offset: -4,
+      tz: "America/Halifax"
+    },
+    {
+      name: "(UTC-01:00)佛得角群岛",
+      code: "032-1",
+      offset: -1,
+      tz: "Atlantic/Cape_Verde"
+    },
+    {
+      name: "(UTC-01:00)亚速尔群岛",
+      code: "033-1",
+      offset: -1,
+      tz: "Atlantic/Azores"
+    },
+    {
+      name: "(UTC)都柏林,爱丁堡,里斯本,伦敦",
+      code: "034-0",
+      offset: 0,
+      tz: "Europe/London"
+    },
+    {
+      name: "(UTC)卡萨布兰卡",
+      code: "035-0",
+      offset: 1,
+      tz: "Africa/Casablanca"
+    },
+    {
+      name: "(UTC)蒙罗维亚,雷克雅未克",
+      code: "036-0",
+      offset: 0,
+      tz: "Atlantic/Reykjavik"
+    },
+    {
+      name: "(UTC)协调世界时",
+      code: "037-0",
+      offset: 0,
+      tz: "Etc/GMT"
+    },
+    {
+      name: "(UTC+01:00)阿姆斯特丹,柏林,伯尔尼,罗马,斯德哥尔摩,维也纳",
+      code: "038+1",
+      offset: 1,
+      tz: "Europe/Berlin"
+    },
+    {
+      name: "(UTC+01:00)贝尔格莱德,布拉迪斯拉发,布达佩斯,卢布尔雅那,布拉格",
+      code: "039+1",
+      offset: 1,
+      tz: "Europe/Budapest"
+    },
+    {
+      name: "(UTC+01:00)布鲁塞尔,哥本哈根,马德里,巴黎",
+      code: "040+1",
+      offset: 1,
+      tz: "Europe/Paris"
+    },
+    {
+      name: "(UTC+01:00)萨拉热窝,斯科普里,华沙,萨格勒布",
+      code: "041+1",
+      offset: 1,
+      tz: "Europe/Warsaw"
+    },
+    {
+      name: "(UTC+01:00)温得和克",
+      code: "042+1",
+      offset: 2,
+      tz: "Africa/Windhoek"
+    },
+    {
+      name: "(UTC+01:00)中非西部",
+      code: "043+1",
+      offset: 1,
+      tz: "Africa/Lagos"
+    },
+    {
+      name: "(UTC+02:00)安曼",
+      code: "044+2",
+      offset: 2,
+      tz: "Asia/Amman"
+    },
+    {
+      name: "(UTC+02:00)贝鲁特",
+      code: "045+2",
+      offset: 2,
+      tz: "Asia/Beirut"
+    },
+    {
+      name: "(UTC+02:00)大马士革",
+      code: "046+2",
+      offset: 2,
+      tz: "Asia/Damascus"
+    },
+    {
+      name: "(UTC+02:00)哈拉雷,比勒陀利亚",
+      code: "047+2",
+      offset: 2,
+      tz: "Africa/Johannesburg"
+    },
+    {
+      name: "(UTC+02:00)赫尔辛基,基辅,里加,索非亚,塔林,维尔纽斯",
+      code: "048+2",
+      offset: 2,
+      tz: "Europe/Kiev"
+    },
+    {
+      name: "UTC+02:00)开罗",
+      code: "049+2",
+      offset: 2,
+      tz: "Africa/Cairo"
+    },
+    {
+      name: "(UTC+02:00)明斯克",
+      code: "050+2",
+      offset: 3,
+      tz: "Europe/Minsk"
+    },
+    {
+      name: "(UTC+02:00)雅典,布加勒斯特,伊斯坦布尔",
+      code: "051+2",
+      offset: 3,
+      tz: "Europe/Istanbul"
+    },
+    {
+      name: "(UTC+02:00)耶路撒冷",
+      code: "052+2",
+      offset: 2,
+      tz: "Asia/Jerusalem"
+    },
+    {
+      name: "(UTC+03:00)巴格达",
+      code: "053+3",
+      offset: 3,
+      tz: "Asia/Baghdad"
+    },
+    {
+      name: "(UTC+03:00)科威特,利雅得",
+      code: "054+3",
+      offset: 3,
+      tz: "Asia/Riyadh"
+    },
+    {
+      name: "(UTC+03:00)莫斯科,圣彼得堡,伏尔加格勒",
+      code: "055+3",
+      offset: 3,
+      tz: "Europe/Moscow"
+    },
+    {
+      name: "(UTC+03:00)内罗毕",
+      code: "056+3",
+      offset: 3,
+      tz: "Africa/Nairobi"
+    },
+    {
+      name: "(UTC+03:30)德黑兰",
+      code: "057+3.5",
+      offset: 3.5,
+      tz: "Asia/Tehran"
+    },
+    {
+      name: "(UTC+04:00)阿布扎比,马斯喀特",
+      code: "058+4",
+      offset: 4,
+      tz: "Asia/Dubai"
+    },
+    {
+      name: "(UTC+04:00)埃里温",
+      code: "059+4",
+      offset: 4,
+      tz: "Asia/Yerevan"
+    },
+    {
+      name: "(UTC+04:00)巴库",
+      code: "060+4",
+      offset: 4,
+      tz: "Asia/Baku"
+    },
+    {
+      name: "(UTC+04:00)第比利斯",
+      code: "061+4",
+      offset: 4,
+      tz: "Asia/Tbilisi"
+    },
+    {
+      name: "(UTC+04:00)路易港",
+      code: "062+4",
+      offset: 4,
+      tz: "Indian/Mauritius"
+    },
+    {
+      name: "(UTC+04:30)喀布尔",
+      code: "063+4.5",
+      offset: 4.5,
+      tz: "Asia/Kabul"
+    },
+    {
+      name: "(UTC+05:00)塔什干",
+      code: "064+5",
+      offset: 5,
+      tz: "Asia/Tashkent"
+    },
+    {
+      name: "(UTC+05:00)叶卡捷琳堡",
+      code: "065+5",
+      offset: 5,
+      tz: "Asia/Yekaterinburg"
+    },
+    {
+      name: "(UTC+05:00)伊斯兰堡,卡拉奇",
+      code: "066+5",
+      offset: 5,
+      tz: "Asia/Karachi"
+    },
+    {
+      name: "(UTC+05:30)钦奈,加尔各答,孟买,新德里",
+      code: "067+5.5",
+      offset: 5.5,
+      tz: "Asia/Kolkata"
+    },
+    {
+      name: "(UTC+05:30)斯里加亚渥登普拉",
+      code: "068+5.5",
+      offset: 5.5,
+      tz: "Asia/Colombo"
+    },
+    {
+      name: "(UTC+05:45)加德满都",
+      code: "069+5.75",
+      offset: 5.75,
+      tz: "Asia/Kathmandu"
+    },
+    {
+      name: "(UTC+06:00)阿斯塔纳",
+      code: "070+6",
+      offset: 6,
+      tz: "Asia/Almaty"
+    },
+    {
+      name: "(UTC+06:00)达卡",
+      code: "071+6",
+      offset: 6,
+      tz: "Asia/Dhaka"
+    },
+    {
+      name: "(UTC+07:00)新西伯利亚",
+      code: "072+6",
+      offset: 7,
+      tz: "Asia/Novosibirsk"
+    },
+    {
+      name: "(UTC+06:30)仰光",
+      code: "073+6.5",
+      offset: 6.5,
+      tz: "Asia/Yangon"
+    },
+    {
+      name: "(UTC+07:00)克拉斯诺亚尔斯克",
+      code: "074+7",
+      offset: 7,
+      tz: "Asia/Krasnoyarsk"
+    },
+    {
+      name: "(UTC+07:00)曼谷,河内,雅加达",
+      code: "075+7",
+      offset: 7,
+      tz: "Asia/Bangkok"
+    },
+    {
+      name: "(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐",
+      code: "076+8",
+      offset: 8,
+      tz: "Asia/Shanghai"
+    },
+    {
+      name: "(UTC+08:00)吉隆坡,新加坡",
+      code: "077+8",
+      offset: 8,
+      tz: "Asia/Singapore"
+    },
+    {
+      name: "(UTC+08:00)珀斯",
+      code: "078+8",
+      offset: 8,
+      tz: "Australia/Perth"
+    },
+    {
+      name: "(UTC+08:00)台北",
+      code: "079+8",
+      offset: 8,
+      tz: "Asia/Taipei"
+    },
+    {
+      name: "(UTC+08:00)乌兰巴托",
+      code: "080+8",
+      offset: 8,
+      tz: "Asia/Ulaanbaatar"
+    },
+    {
+      name: "(UTC+08:00)伊尔库茨克",
+      code: "081+8",
+      offset: 8,
+      tz: "Asia/Irkutsk"
+    },
+    {
+      name: "(UTC+09:00)大阪,札幌,东京",
+      code: "082+9",
+      offset: 9,
+      tz: "Asia/Tokyo"
+    },
+    {
+      name: "(UTC+09:00)首尔",
+      code: "083+9",
+      offset: 9,
+      tz: "Asia/Seoul"
+    },
+    {
+      name: "(UTC+09:00)雅库茨克",
+      code: "084+9",
+      offset: 9,
+      tz: "Asia/Yakutsk"
+    },
+    {
+      name: "(UTC+09:30)阿德莱德",
+      code: "085+9.5",
+      offset: 10.5,
+      tz: "Australia/Adelaide"
+    },
+    {
+      name: "(UTC+09:30)达尔文",
+      code: "086+9.5",
+      offset: 9.5,
+      tz: "Australia/Darwin"
+    },
+    {
+      name: "(UTC+10:00)布里斯班",
+      code: "087+10",
+      offset: 10,
+      tz: "Australia/Brisbane"
+    },
+    {
+      name: "(UTC+10:00)符拉迪沃斯托克",
+      code: "088+10",
+      offset: 10,
+      tz: "Asia/Vladivostok"
+    },
+    {
+      name: "(UTC+10:00)关岛,莫尔兹比港",
+      code: "089+10",
+      offset: 10,
+      tz: "Pacific/Port_Moresby"
+    },
+    {
+      name: "(UTC+10:00)霍巴特",
+      code: "090+10",
+      offset: 11,
+      tz: "Australia/Hobart"
+    },
+    {
+      name: "(UTC+10:00)堪培拉,墨尔本,悉尼",
+      code: "091+10",
+      offset: 11,
+      tz: "Australia/Sydney"
+    },
+    {
+      name: "(UTC+11:00)马加丹",
+      code: "092+11",
+      offset: 11,
+      tz: "Asia/Magadan"
+    },
+    {
+      name: "(UTC+11:00)所罗门群岛,新喀里多尼亚",
+      code: "093+11",
+      offset: 11,
+      tz: "Pacific/Guadalcanal"
+    },
+    {
+      name: "(UTC+12:00)奥克兰,惠灵顿",
+      code: "094+12",
+      offset: 13,
+      tz: "Pacific/Auckland"
+    },
+    {
+      name: "(UTC+12:00)斐济",
+      code: "095+12",
+      offset: 13,
+      tz: "Pacific/Fiji"
+    },
+    {
+      name: "(UTC+12:00)协调世界时+12",
+      code: "096+12",
+      offset: 12,
+      tz: "Etc/GMT-12"
+    },
+    {
+      name: "(UTC+13:00)努库阿洛法",
+      code: "097+13",
+      offset: 13,
+      tz: "Pacific/Tongatapu"
+    }
+  ]
+};
+const iso8601Reg = /^\d{4}-\d{2}-\d{2}(.)\d{2}:\d{2}:\d{2}(.+)$/;
+const getPanel = ({
+  DatePanel: DatePanel2,
+  DateRangePanel,
+  MonthRangePanel,
+  YearRangePanel,
+  TimePanel: TimePanel2,
+  TimeRangePanel,
+  QuarterPanel,
+  TimeSelect
+}) => (type) => {
+  if (type === DATEPICKER.DateRange || type === DATEPICKER.DateTimeRange) {
+    return DateRangePanel;
+  } else if (type === DATEPICKER.MonthRange) {
+    return MonthRangePanel;
+  } else if (type === DATEPICKER.YearRange) {
+    return YearRangePanel;
+  } else if (type === DATEPICKER.TimeRange) {
+    return TimeRangePanel;
+  } else if (type === DATEPICKER.Time) {
+    return TimePanel2;
+  } else if (type === DATEPICKER.TimeSelect) {
+    return TimeSelect;
+  } else if (type === DATEPICKER.Quarter) {
+    return QuarterPanel;
+  }
+  return DatePanel2;
+};
+const watchMobileVisible = ({ api: api2, props: props2, state, nextTick }) => ([dateMobileVisible, timeMobileVisible]) => {
+  if (dateMobileVisible || timeMobileVisible) {
+    state.valueOnOpen = Array.isArray(props2.modelValue) ? [...props2.modelValue] : props2.modelValue;
+  } else {
+    nextTick(() => {
+      api2.emitChange(props2.modelValue);
+    });
+  }
+};
+const watchPickerVisible$1 = ({ api: api2, vm, dispatch, emit, props: props2, state, nextTick }) => (value) => {
+  if (props2.readonly || state.pickerDisabled || state.isMobileScreen)
+    return;
+  if (value) {
+    api2.showPicker();
+    state.valueOnOpen = Array.isArray(props2.modelValue) ? [...props2.modelValue] : props2.modelValue;
+  } else {
+    api2.hidePicker();
+    nextTick(() => {
+      api2.emitChange(props2.modelValue);
+    });
+    state.userInput = null;
+    if (props2.validateEvent) {
+      dispatch("FormItem", "form.blur");
+    }
+    if (props2.changeOnConfirm && !valueEquals(props2.modelValue, state.oldValue)) {
+      emit("update:modelValue", state.oldValue);
+    }
+    emit("blur", vm);
+    api2.blur();
+  }
+};
+const getValueEmpty = (props2) => () => {
+  const modelValue = props2.modelValue;
+  if (Array.isArray(modelValue)) {
+    for (let i = 0, len = modelValue.length; i < len; i++) {
+      if (modelValue[i]) {
+        return false;
+      }
+    }
+  } else {
+    if (modelValue) {
+      return false;
+    }
+  }
+  return true;
+};
+const getMode = ({ state }) => () => {
+  if (state.type === DATEPICKER.Week) {
+    return DATEPICKER.Week;
+  } else if (state.type === DATEPICKER.Month) {
+    return DATEPICKER.Month;
+  } else if ([DATEPICKER.Year, DATEPICKER.Years, DATEPICKER.YearRange].includes(state.type)) {
+    return state.type;
+  } else if (state.type === DATEPICKER.Dates) {
+    return DATEPICKER.Dates;
+  }
+  return DATEPICKER.Day;
+};
+const formatAsFormatAndType = ({ api: api2 }) => (value, customFormat, type, formatObj) => {
+  if (!value)
+    return null;
+  const formatter = (api2.typeValueResolveMap()[type] || api2.typeValueResolveMap().default).formatter;
+  const format2 = customFormat || DATEPICKER.DateFormats[type];
+  return formatter(value, format2, formatObj);
+};
+const displayValue = ({ api: api2, props: props2, state }) => () => {
+  const formatObj = {
+    rangeSeparator: props2.rangeSeparator
+  };
+  const formattedValue = api2.formatAsFormatAndType(state.parsedValue, state.format, state.type, formatObj);
+  if (Array.isArray(state.userInput)) {
+    return [
+      state.userInput[0] || formattedValue && formattedValue[0] || "",
+      state.userInput[1] || formattedValue && formattedValue[1] || ""
+    ];
+  } else if (state.userInput !== null) {
+    return state.userInput;
+  } else if (formattedValue) {
+    return [DATEPICKER.Dates, DATEPICKER.Years].includes(state.type) ? formattedValue.join(", ") : formattedValue;
+  }
+  return "";
+};
+const parseAsFormatAndType = ({ api: api2 }) => (value, customFormat, type, rangeSeparator = "-") => {
+  if (!value) {
+    return null;
+  }
+  const parser = (api2.typeValueResolveMap()[type] || api2.typeValueResolveMap().default).parser;
+  const format2 = customFormat || DATEPICKER.DateFormats[type];
+  return parser(value, format2, rangeSeparator);
+};
+const parsedValue = ({ api: api2, props: props2, state, t: t2 }) => () => {
+  if (!props2.modelValue) {
+    return props2.modelValue;
+  }
+  if (state.type === DATEPICKER.TimeSelect) {
+    return props2.modelValue;
+  }
+  const valueIsDateObject = isDateObject(props2.modelValue) || Array.isArray(props2.modelValue) && props2.modelValue.every(isDateObject);
+  const { from, to, isServiceTimezone, timezoneOffset } = state.timezone;
+  if (valueIsDateObject && !isServiceTimezone) {
+    return props2.modelValue;
+  }
+  if (state.valueFormat) {
+    let date = props2.modelValue;
+    if (isServiceTimezone) {
+      if (Array.isArray(date)) {
+        date = [].concat(date).map((item) => {
+          return isDate(item) ? formatDate$1(item, state.valueFormat, t2) : item;
+        });
+      } else {
+        if (state.valueFormat !== DATEPICKER.TimesTamp) {
+          date = formatDate$1(date, state.valueFormat, t2);
+        }
+      }
+    }
+    const result = api2.parseAsFormatAndType(date, state.valueFormat, state.type, props2.rangeSeparator);
+    if (Array.isArray(result)) {
+      return result.map((date2) => getDateWithNewTimezone(date2, from, to, timezoneOffset));
+    }
+    return getDateWithNewTimezone(result || props2.modelValue, from, to, timezoneOffset);
+  }
+  const trans = (value) => typeof value === "string" || isNumber(value) ? toDate(value) : value;
+  const values = [].concat(props2.modelValue).map((val) => getDateWithNewTimezone(trans(val), from, to, timezoneOffset));
+  return values.length > 1 ? values : values[0];
+};
+const getTimezone = ({ props: props2, utils }) => () => {
+  const { dbTimezone, timezone, isutc8, type = "date", iso8601, timezoneOffset } = props2;
+  const setting = utils.getDateFormat && utils.getDateFormat();
+  const { DbTimezone, Timezone, TimezoneOffset } = setting || {};
+  const cur = getLocalTimezone();
+  const isTzNumber = (z) => typeof z === "number" && z >= -12 && z <= 12;
+  if (!~type.indexOf("datetime")) {
+    return { from: cur, to: cur };
+  }
+  let serveTimezone = isTzNumber(dbTimezone) ? dbTimezone : isTzNumber(DbTimezone) ? DbTimezone : cur;
+  let clientTimezone = isTzNumber(timezone) ? timezone : isTzNumber(Timezone) ? Timezone : cur;
+  let clientTimezoneOffset = isNumber(timezoneOffset) ? timezoneOffset : isNumber(TimezoneOffset) ? TimezoneOffset : 0;
+  const value = props2.modelValue;
+  const str = (Array.isArray(value) ? value[0] : value) || "";
+  const match = typeof str === "string" && str.match(/(-|\+)(\d{2}):?(\d{2})$/);
+  if ((iso8601 || setting) && match) {
+    serveTimezone = getStrTimezone(str);
+  }
+  return {
+    from: serveTimezone,
+    to: isutc8 ? 8 : clientTimezone,
+    isServiceTimezone: !!setting,
+    timezoneOffset: clientTimezoneOffset
+  };
+};
+const nullOrString = (value) => {
+  const arr = Array.isArray(value) ? value : [value];
+  return arr.every((val) => !val && !isNumber(val) || typeof val === "string");
+};
+const getValueFormat = ({ props: props2, utils }) => {
+  const { valueFormat, iso8601, modelValue: value, type = "date" } = props2;
+  const setting = utils.getDateFormat && utils.getDateFormat();
+  let suffix = "";
+  let separator = " ";
+  if (!valueFormat && ~type.indexOf("datetime") && (iso8601 || setting) && nullOrString(value)) {
+    const str = (Array.isArray(value) ? value[0] : value) || "";
+    const match = str.match(iso8601Reg);
+    if (match && match.length === 3) {
+      suffix = match[2] || "";
+      separator = match[1];
+    }
+    return `yyyy-MM-dd${separator}HH:mm:ss${suffix}`;
+  }
+  return valueFormat;
+};
+const dateFormatter = ({ t: t2 }) => (value, format2) => {
+  if (format2 === DATEPICKER.TimesTamp) {
+    return value.getTime();
+  }
+  return formatDate$1(value, format2, t2);
+};
+const dateParser = ({ t: t2, props: props2 }) => (text, format2) => {
+  if (format2 === DATEPICKER.TimesTamp) {
+    return new Date(Number(text));
+  }
+  const value = props2.autoFormat ? formatText({ text, format: format2 }) : text;
+  return parseDate(value, format2, t2);
+};
+const rangeFormatter = (api2) => (value, format2) => {
+  if (Array.isArray(value) && value.length === 2) {
+    const start = value[0];
+    const end = value[1];
+    if (start && end) {
+      return [api2.dateFormatter(start, format2), api2.dateFormatter(end, format2)];
+    }
+  }
+  return "";
+};
+const rangeParser = (api2) => (array, format2, separator) => {
+  if (!Array.isArray(array)) {
+    array = array.split(separator);
+  }
+  if (array.length === 2) {
+    const range1 = array[0];
+    const range2 = array[1];
+    return [api2.dateParser(range1, format2), api2.dateParser(range2, format2)];
+  }
+  return [];
+};
+const getWeekData = (value) => {
+  const valueday = new Date(value).getDay();
+  let newDate = new Date(value);
+  if (valueday >= 2) {
+    newDate.setTime(new Date(value).getTime() - (valueday - 1) * 864e5);
+  } else if (valueday === 0) {
+    newDate.setTime(new Date(value).getTime() + (valueday + 1) * 864e5);
+  }
+  return newDate;
+};
+const getDefaultOfTypeValueResolveMap = () => ({
+  formatter(value) {
+    return value ? String(value) : "";
+  },
+  parser(text) {
+    return text === void 0 || text === "" ? null : text;
+  }
+});
+const getWeekOfTypeValueResolveMap = ({ t: t2, props: props2, api: api2 }) => ({
+  formatter(value, format2, formatObj) {
+    const weekDate = getWeekData(value);
+    let week = getWeekNumber(weekDate);
+    let month = weekDate.getMonth();
+    const trueDate = new Date(weekDate);
+    const { rangeSeparator = "-", type = "format" } = formatObj;
+    if (week === 1 && month === 11) {
+      trueDate.setHours(0, 0, 0, 0);
+      trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7);
+    }
+    let date;
+    if (type === "format" && !/W/.test(format2)) {
+      const { start, end } = getWeekRange(value, format2, t2, props2.pickerOptions);
+      date = `${start} ${rangeSeparator} ${end}`;
+    } else {
+      date = formatDate$1(trueDate, format2, t2);
+      date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? "0" + week : week) : date.replace(/W/, week);
+    }
+    return date;
+  },
+  parser(text, format2) {
+    return api2.typeValueResolveMap().date.parser(text, format2);
+  }
+});
+const getWeekRange = (value, format2, t2, pickerOptions) => {
+  const firstDayOfWeek = pickerOptions && pickerOptions.firstDayOfWeek ? pickerOptions.firstDayOfWeek : 7;
+  const dayOffset = (value.getDay() - firstDayOfWeek + 7) % 7;
+  const startDate = prevDate(value, dayOffset);
+  const endDate = nextDate(startDate, 6);
+  const start = formatDate$1(startDate, format2, t2);
+  const end = formatDate$1(endDate, format2, t2);
+  return {
+    start,
+    end
+  };
+};
+const getNumberOfTypeValueResolveMap = () => ({
+  formatter(value) {
+    return value ? String(value) : "";
+  },
+  parser(text) {
+    let result = Number(text);
+    return !isNaN(text) ? result : null;
+  }
+});
+const getDatesOfTypeValueResolveMap = (api2) => ({
+  formatter(value, format2) {
+    return value.map((date) => api2.dateFormatter(date, format2));
+  },
+  parser(value, format2) {
+    return (typeof value === "string" ? value.split(", ") : value).map(
+      (date) => date instanceof Date ? date : api2.dateParser(date, format2)
+    );
+  }
+});
+const typeValueResolveMap = ({ api: api2, props: props2, t: t2 }) => () => ({
+  default: getDefaultOfTypeValueResolveMap(),
+  week: getWeekOfTypeValueResolveMap({ t: t2, props: props2, api: api2 }),
+  date: { formatter: api2.dateFormatter, parser: api2.dateParser },
+  datetime: { formatter: api2.dateFormatter, parser: api2.dateParser },
+  daterange: { formatter: api2.rangeFormatter, parser: api2.rangeParser },
+  monthrange: { formatter: api2.rangeFormatter, parser: api2.rangeParser },
+  datetimerange: { formatter: api2.rangeFormatter, parser: api2.rangeParser },
+  timerange: { formatter: api2.rangeFormatter, parser: api2.rangeParser },
+  time: { formatter: api2.dateFormatter, parser: api2.dateParser },
+  month: { formatter: api2.dateFormatter, parser: api2.dateParser },
+  year: { formatter: api2.dateFormatter, parser: api2.dateParser },
+  years: getDatesOfTypeValueResolveMap(api2),
+  yearrange: getDatesOfTypeValueResolveMap(api2),
+  number: getNumberOfTypeValueResolveMap(),
+  dates: getDatesOfTypeValueResolveMap(api2),
+  quarter: {
+    formatter: (value) => `${value.getFullYear()}-Q${DATEPICKER.MonthQuarterMap[value.getMonth()]}`,
+    parser: api2.dateParser
+  }
+});
+const firstInputId = ({ props: props2, state }) => () => {
+  const obj = {};
+  let id;
+  if (state.ranged) {
+    id = props2.id && props2.id[0];
+  } else {
+    id = props2.id;
+  }
+  if (id) {
+    obj.id = id;
+  }
+  return obj;
+};
+const secondInputId = ({ props: props2, state }) => () => {
+  const obj = {};
+  let id;
+  if (state.ranged) {
+    id = props2.id && props2.id[1];
+  }
+  if (id) {
+    obj.id = id;
+  }
+  return obj;
+};
+const focus = ({ api: api2, props: props2, vm }) => () => !props2.isRange ? vm.$refs.reference.querySelector("input").focus() : api2.handleFocus();
+const blur = (state) => () => state.refInput.forEach((input) => input.blur());
+const parseValue = ({ api: api2, props: props2, state }) => (value) => {
+  const isParsed = isDateObject(value) || Array.isArray(value) && value.every(isDateObject);
+  if (state.valueFormat && !isParsed) {
+    return api2.parseAsFormatAndType(value, state.valueFormat, state.type, props2.rangeSeparator) || value;
+  }
+  return value;
+};
+const formatToValue = ({ api: api2, state }) => (date) => {
+  const isFormattable = isDateObject(date) || Array.isArray(date) && date.every(isDateObject);
+  if (state.valueFormat && isFormattable) {
+    return api2.formatAsFormatAndType(date, state.valueFormat, state.type, {
+      type: "value-format"
+    });
+  }
+  return date;
+};
+const parseString = ({ api: api2, state }) => (value) => {
+  const type = Array.isArray(value) ? state.type : state.type.replace(DATEPICKER.Range, "");
+  return api2.parseAsFormatAndType(value, state.format, type);
+};
+const formatToString = ({ api: api2, state }) => (value) => {
+  const type = Array.isArray(value) ? state.type : state.type.replace(DATEPICKER.Range, "");
+  return api2.formatAsFormatAndType(value, state.format, type);
+};
+const handleMouseEnter = ({ props: props2, state }) => () => {
+  if (props2.readonly || state.pickerDisabled) {
+    return;
+  }
+  if (!state.valueIsEmpty && props2.clearable) {
+    state.showClose = true;
+  }
+};
+const handleInput = ({ state, props: props2, api: api2 }) => (val, event) => {
+  event = val.target ? val : event;
+  if (props2.autoFormat) {
+    const value = api2.formatInputValue({ event, prevValue: state.displayValue });
+    state.userInput = value;
+  } else {
+    const val2 = event.target.value;
+    state.userInput = val2;
+  }
+};
+const formatInputValue = ({ props: props2, state }) => ({ event, prevValue = "" }) => {
+  const val = event.target.value;
+  const inputData = event.data;
+  const format2 = state.type === "time-select" ? "HH:mm" : props2.format || DATEPICKER.DateFormats[state.type];
+  if (inputData && inputData.charCodeAt() >= 48 && inputData.charCodeAt() <= 57) {
+    return formatText({ event, format: format2, text: prevValue, needSelectionStart: true });
+  } else {
+    return val;
+  }
+};
+const getSelectionStart = ({ value, format: format2, regx, event }) => {
+  const formatMatchArr = format2.match(regx);
+  let selectionStart = getSelectionStartIndex(event);
+  let I = 0;
+  if (value !== "") {
+    const match = value.match(/[0-9]/g);
+    I = match === null ? 0 : match.length;
+    for (let i = 0; i < formatMatchArr.length; i++) {
+      I -= Math.max(formatMatchArr[i].length, 2);
+    }
+    I = I >= 0 ? 1 : 0;
+    I === 1 && selectionStart >= value.length && (selectionStart = value.length - 1);
+  }
+  return { selectionStart, I };
+};
+const getNum = (value, format2, regx) => {
+  let len = value.length;
+  if (format2 && regx) {
+    const formatMatchArr = format2.match(regx);
+    len = Math.max(len, formatMatchArr.join("").length);
+  }
+  let num = { str: "", arr: [] };
+  for (let i = 0; i < len; i++) {
+    let char = value.charAt(i) ? value.charAt(i) : "00";
+    if (/[0-9]/.test(char)) {
+      num.str += char;
+    } else {
+      num.arr[i] = 1;
+    }
+  }
+  return num;
+};
+const getSelectionStartIndex = (event) => {
+  const inputElem = event.target;
+  return inputElem.selectionStart - (event.data ? event.data.length : 0);
+};
+const moveStart = (inputElem, moveStartIndex) => {
+  if (inputElem.setSelectionRange) {
+    inputElem.focus();
+    setTimeout(() => {
+      inputElem.setSelectionRange(moveStartIndex, moveStartIndex);
+    }, 0);
+  }
+};
+const formatText = ({ event, text, format: format2, needSelectionStart = false }) => {
+  if (!format2)
+    return text;
+  let cursorOffset = 0;
+  let value = "";
+  let regx = /yyyy|yyy|yy|y|MM|M|dd|d|HH|hh|H|h|mm|m|ss|s|WW|W|w/g;
+  let startIndex = 0;
+  let { numStr, selectionStart } = getNumAndSelectionStart({
+    value: text,
+    format: format2,
+    regx,
+    event,
+    needSelectionStart
+  });
+  let matchResult = regx.exec(format2);
+  while (numStr.str !== "" && matchResult !== null) {
+    let subStr;
+    let newNum;
+    let subLen;
+    const endIndex = matchResult.index;
+    if (startIndex >= 0) {
+      value += format2.substring(startIndex, endIndex);
+    }
+    selectionStart >= startIndex + cursorOffset && selectionStart <= endIndex + cursorOffset && (selectionStart = selectionStart + endIndex - startIndex);
+    startIndex = regx.lastIndex;
+    subLen = startIndex - endIndex;
+    subStr = numStr.str.substring(0, subLen);
+    const firstMatchChar = matchResult[0].charAt(0);
+    const firstChar = parseInt(subStr.charAt(0), 10);
+    if (numStr.str.length > 1) {
+      const secondChar = numStr.str.charAt(1);
+      newNum = 10 * firstChar + parseInt(secondChar, 10);
+    } else {
+      newNum = firstChar;
+    }
+    if (numStr.arr[endIndex + 1] || firstMatchChar === "M" && newNum > 12 || firstMatchChar === "d" && newNum > 31 || ["H", "h"].includes(firstMatchChar) && newNum > 23 || "ms".includes(firstMatchChar) && newNum > 59) {
+      subStr = matchResult[0].length === 2 ? "0" + firstChar : firstChar;
+      selectionStart++;
+    } else {
+      if (subLen === 1) {
+        subStr = String(newNum);
+        subLen++;
+        cursorOffset++;
+      }
+    }
+    value += subStr;
+    numStr.str = numStr.str.substring(subLen);
+    matchResult = regx.exec(format2);
+  }
+  const { value: val, selectionStart: cursorPos } = checkFormat({
+    value,
+    format: format2,
+    startIndex,
+    selectionStart,
+    regx,
+    needSelectionStart
+  });
+  value = val;
+  selectionStart = cursorPos;
+  needSelectionStart && moveStart(event.target, selectionStart);
+  return value;
+};
+const getNumAndSelectionStart = ({ value, format: format2, regx, event, needSelectionStart }) => {
+  if (needSelectionStart) {
+    let { selectionStart, I } = getSelectionStart({ value, format: format2, regx, event });
+    let valueStr;
+    if (event.data) {
+      valueStr = value.substring(0, selectionStart) + event.data + value.substring(selectionStart + I);
+      selectionStart++;
+    } else {
+      valueStr = value;
+    }
+    const numStr = getNum(valueStr);
+    return { numStr, selectionStart };
+  } else {
+    const numStr = getNum(value, format2, regx);
+    return { numStr };
+  }
+};
+const checkFormat = ({ value, format: format2, startIndex, selectionStart, regx, needSelectionStart }) => {
+  if (!needSelectionStart && regx.lastIndex === 0 || needSelectionStart && regx.lastIndex === 0 && selectionStart >= startIndex) {
+    const subFormat = `(?<=${format2.substring(0, startIndex)})(\\s*\\S*\\s*)+`;
+    const pattern = new RegExp(subFormat, "g");
+    const res = format2.match(pattern);
+    if (res) {
+      value += res[0];
+      selectionStart = value.length;
+    }
+  }
+  return { value, selectionStart };
+};
+const handleChange$2 = ({ api: api2, state }) => () => {
+  if (state.userInput) {
+    const value = api2.parseString(state.displayValue);
+    if (value) {
+      state.picker.state.value = value;
+      if (api2.isValidValue(value)) {
+        api2.emitInput(value);
+        state.userInput = null;
+      }
+    }
+  }
+  if (state.userInput === "") {
+    api2.emitInput(null);
+    api2.emitChange(null);
+    state.userInput = null;
+  }
+};
+const handleStartInput = ({ state, props: props2, api: api2 }) => (event) => {
+  const value = props2.autoFormat ? api2.formatInputValue({ event, prevValue: state.displayValue[0] }) : event.target.value;
+  if (state.userInput) {
+    state.userInput = [value, state.userInput[1]];
+  } else {
+    state.userInput = [value, null];
+  }
+};
+const handleEndInput = ({ state, props: props2, api: api2 }) => (event) => {
+  const value = props2.autoFormat ? api2.formatInputValue({ event, prevValue: state.displayValue[1] }) : event.target.value;
+  if (state.userInput) {
+    state.userInput = [state.userInput[0], value];
+  } else {
+    state.userInput = [null, value];
+  }
+};
+const handleStartChange = ({ api: api2, state }) => () => {
+  const value = api2.parseString(state.userInput && state.userInput[0]);
+  if (value) {
+    let newValue;
+    if (state.displayValue[1]) {
+      state.userInput = [api2.formatToString(value), state.displayValue[1]];
+      newValue = [value, state.picker.state.value && state.picker.state.value[1]];
+      state.startStatus = true;
+    } else {
+      let now = /* @__PURE__ */ new Date();
+      if (now.getTime() < value.getTime()) {
+        state.userInput = [api2.formatToString(value), api2.formatToString(value)];
+        newValue = [value, value];
+      } else {
+        state.userInput = [api2.formatToString(value), ""];
+        newValue = [value, ""];
+      }
+    }
+    if (api2.isValidValue(newValue)) {
+      state.picker.state.value = newValue;
+      state.historyUserInput = [value, state.picker.state.value && state.picker.state.value[1]];
+      state.historyUserValue = newValue;
+      api2.emitInput(newValue);
+      state.userInput = null;
+    } else {
+      if (state.startStatus) {
+        state.picker.state.value = state.historyUserValue ? state.historyUserValue : state.historyValue;
+        api2.emitInput(state.historyUserValue ? state.historyUserValue : state.historyValue);
+        state.userInput = state.historyUserInput ? state.historyUserInput : state.historyInput;
+      } else {
+        state.picker.state.value = newValue;
+      }
+    }
+  }
+};
+const handleEndChange = ({ api: api2, state }) => () => {
+  const value = api2.parseString(state.userInput && state.userInput[1]);
+  if (value) {
+    let newValue;
+    if (state.displayValue[0]) {
+      state.userInput = [state.displayValue[0], api2.formatToString(value)];
+      newValue = [state.picker.state.value && state.picker.state.value[0], value];
+      state.endStatus = true;
+    } else {
+      let now = /* @__PURE__ */ new Date();
+      if (now.getTime() < value.getTime()) {
+        state.userInput = [api2.formatToString(now), api2.formatToString(value)];
+        newValue = [now, value];
+      } else {
+        state.userInput = [api2.formatToString(value), api2.formatToString(value)];
+        newValue = [value, value];
+      }
+    }
+    if (api2.isValidValue(newValue)) {
+      state.historyValue = newValue;
+      state.historyInput = [state.displayValue[0], api2.formatToString(value)];
+      state.picker.state.value = newValue;
+      api2.emitInput(newValue);
+      state.userInput = null;
+    } else {
+      if (state.endStatus) {
+        state.picker.state.value = state.historyValue;
+        api2.emitInput(state.historyValue);
+        state.userInput = state.historyInput;
+      } else {
+        state.picker.state.value = state.historyValue;
+        state.userInput = state.historyInput;
+      }
+    }
+  }
+};
+const handleClickIcon = ({ api: api2, props: props2, state }) => (event) => {
+  if (props2.readonly || state.pickerDisabled) {
+    return;
+  }
+  if (state.showClose) {
+    state.valueOnOpen = props2.modelValue;
+    event.stopPropagation();
+    api2.emitInput(null);
+    api2.emitChange(null);
+    state.showClose = false;
+    if (state.picker && typeof state.picker.handleClear === "function") {
+      state.picker.handleClear();
+    }
+  } else {
+    state.pickerVisible = !state.pickerVisible;
+  }
+};
+const handleClose = ({ api: api2, props: props2, state }) => () => {
+  if (!state.pickerVisible) {
+    return;
+  }
+  state.pickerVisible = false;
+  if (state.type === DATEPICKER.Dates) {
+    const oldValue = api2.parseAsFormatAndType(state.valueOnOpen, state.valueFormat, state.type, props2.rangeSeparator) || state.valueOnOpen;
+    api2.emitInput(oldValue, true);
+  }
+};
+const handleFocus = ({ emit, vm, state, api: api2 }) => () => {
+  const type = state.type;
+  if (DATEPICKER.TriggerTypes.includes(type)) {
+    if (state.isMobileScreen && state.isDateMobileComponent) {
+      api2.dateMobileToggle(true);
+    } else if (state.isMobileScreen && state.isTimeMobileComponent) {
+      api2.timeMobileToggle(true);
+    } else {
+      state.pickerVisible = true;
+    }
+  }
+  emit("focus", vm.$refs.reference);
+};
+const handleKeydown$4 = ({ api: api2, state }) => (event) => {
+  const keyCode = event.keyCode;
+  if (keyCode === 27) {
+    state.pickerVisible = false;
+    event.stopPropagation();
+    return;
+  }
+  if (keyCode === 9) {
+    if (!state.ranged) {
+      api2.handleChange();
+      state.pickerVisible = state.picker.state.visible = false;
+      api2.blur();
+      event.stopPropagation();
+    } else {
+      setTimeout(() => {
+        if (!state.refInput.includes(document.activeElement)) {
+          state.pickerVisible = false;
+          api2.blur();
+          event.stopPropagation();
+        }
+      }, 0);
+    }
+    return;
+  }
+  if (keyCode === 13) {
+    if (state.userInput === "" || api2.isValidValue(api2.parseString(state.displayValue))) {
+      api2.handleChange();
+      state.pickerVisible = state.picker.state.visible = false;
+      api2.blur();
+    }
+    event.stopPropagation();
+    return;
+  }
+  if (state.userInput) {
+    event.stopPropagation();
+    return;
+  }
+  if (state.picker && state.picker.handleKeydown) {
+    state.picker.handleKeydown(event);
+  }
+};
+const hidePicker = ({ destroyPopper, state }) => () => {
+  if (state.picker) {
+    state.picker.resetView && state.picker.resetView();
+    state.pickerVisible = state.picker.visible = state.picker.state.visible = false;
+    destroyPopper();
+  }
+};
+const showPicker = ({ api: api2, nextTick, updatePopper, state }) => () => {
+  if (state.$isServer) {
+    return;
+  }
+  if (!state.picker) {
+    api2.mountPicker();
+  }
+  state.pickerVisible = state.picker.state.visible = true;
+  state.picker.state.value = state.parsedValue;
+  state.picker.resetView && state.picker.resetView();
+  nextTick(() => {
+    updatePopper(state.picker.$el);
+    state.picker.adjustSpinners && state.picker.adjustSpinners();
+  });
+};
+const handlePick = ({ state, api: api2 }) => (date = "", visible = false) => {
+  if (!state.picker)
+    return;
+  state.userInput = null;
+  state.pickerVisible = state.picker.state.visible = visible;
+  api2.emitInput(date, visible);
+  state.date = date;
+  state.picker.resetView && state.picker.resetView();
+};
+const handleSelectRange = (state) => (start, end, pos) => {
+  if (state.refInput.length === 0) {
+    return;
+  }
+  const adjust = (value, start2, end2) => {
+    if (value) {
+      const valueReg = /(\d+):(\d+):(\d+)(\s+.+)?/;
+      if (valueReg.test(value)) {
+        const matched = valueReg.exec(value);
+        const hourLength = matched[1].length;
+        const minuteLength = matched[2].length;
+        const secondLength = matched[3].length;
+        if (start2 === 0) {
+          end2 = hourLength;
+        } else if (start2 === 3) {
+          start2 = hourLength + 1;
+          end2 = hourLength + minuteLength + 1;
+        } else {
+          start2 = hourLength + minuteLength + 2;
+          end2 = hourLength + minuteLength + secondLength + 2;
+        }
+      }
+    }
+    return { start: start2, end: end2 };
+  };
+  if (!pos || pos === "min") {
+    const value = state.refInput[0].value;
+    const res = adjust(value, start, end);
+    state.refInput[0].setSelectionRange(res.start, res.end);
+    state.refInput[0].focus();
+  } else if (pos === "max") {
+    const value = state.refInput[1].value;
+    const res = adjust(value, start, end);
+    state.refInput[1].setSelectionRange(res.start, res.end);
+    state.refInput[1].focus();
+  }
+};
+const mountPicker = ({ api: api2, props: props2, state, vm, updatePopper }) => () => {
+  state.picker = vm.$refs.picker;
+  state.picker.state.defaultValue = props2.defaultValue;
+  state.picker.state.defaultTime = props2.defaultTime;
+  state.picker.state.popperClass = props2.popperClass;
+  state.picker.state.popperAppendToBody = props2.popperAppendToBody;
+  state.picker.state.fnUpdatePopper = updatePopper;
+  state.picker.state.currentInstans = state.picker;
+  state.picker.state.timezone = state.timezone;
+  state.picker.state.timezoneData = state.timezoneData;
+  state.picker.state.showTimezone = props2.showTimezone || state.timezone.isServiceTimezone;
+  state.picker.state.width = state.reference.getBoundingClientRect().width;
+  state.picker.state.timefmt = props2.timeFormat || "";
+  state.picker.state.showTime = state.type === DATEPICKER.DateTime || state.type === DATEPICKER.DateTimeRange;
+  state.picker.state.selectionMode = state.selectionMode;
+  state.picker.state.defaultTimezone = props2.defaultTimezone;
+  state.picker.state.unlinkPanels = props2.unlinkPanels;
+  state.picker.state.emitDbTime = api2.emitDbTime;
+  state.picker.state.arrowControl = state.arrowControl || props2.timeArrowControl || props2.arrowControl || false;
+  api2.updateOptions();
+  state.picker.resetView && state.picker.resetView();
+};
+const updateOptions = ({ api: api2, props: props2, state }) => () => {
+  if (!state.picker) {
+    return;
+  }
+  const options = props2.pickerOptions;
+  if (options && options.selectableRange) {
+    let ranges = options.selectableRange;
+    const parser = api2.typeValueResolveMap().datetimerange.parser;
+    const format2 = DATEPICKER.DateFormats.timerange;
+    ranges = Array.isArray(ranges) ? ranges : [ranges];
+    state.picker.state.selectableRange = ranges.map((range2) => parser(range2, format2, props2.rangeSeparator));
+  }
+  for (const option in options) {
+    if (option in options && option !== DATEPICKER.SelectbaleRange) {
+      state.picker.state[option] = options[option];
+    }
+  }
+  if (props2.format) {
+    state.picker.state.format = props2.format;
+  }
+};
+const valueEquals = (left, right) => {
+  const dateEquals = (a, b) => {
+    const bIsDate = b instanceof Date;
+    const aIsDate = a instanceof Date;
+    if (aIsDate && bIsDate) {
+      return a.getTime() === b.getTime();
+    }
+    if (!aIsDate && !bIsDate) {
+      return a === b;
+    }
+    return false;
+  };
+  const aIsArray = Array.isArray(left);
+  const bIsArray = Array.isArray(right);
+  if (aIsArray && bIsArray) {
+    if (left.length !== right.length) {
+      return false;
+    }
+    return left.every((item, index3) => dateEquals(item, right[index3]));
+  }
+  if (!aIsArray && !bIsArray) {
+    return dateEquals(left, right);
+  }
+  return false;
+};
+const emitChange = ({ api: api2, dispatch, emit, props: props2, state }) => (val) => {
+  if (!valueEquals(val, state.valueOnOpen)) {
+    emit("change", val);
+    state.valueOnOpen = val;
+    if (props2.validateEvent) {
+      dispatch("FormItem", "form.change", val);
+    }
+    api2.emitDbTime(props2.value);
+  }
+};
+const emitInput = ({ api: api2, emit, props: props2, state }) => (val, visible = false) => {
+  let value = val;
+  const { from, to, timezoneOffset } = state.timezone;
+  if (props2.type === "datetime") {
+    value = getDateWithNewTimezone(value, to, from, -timezoneOffset);
+  } else if (props2.type === "datetimerange" && Array.isArray(value)) {
+    value = value.map((val2) => getDateWithNewTimezone(val2, to, from, -timezoneOffset));
+  }
+  const formatted = api2.formatToValue(value) || val;
+  if (!valueEquals(props2.modelValue, formatted)) {
+    emit("update:modelValue", formatted);
+  }
+  if (!visible && !valueEquals(state.oldValue, formatted)) {
+    state.oldValue = formatted;
+  }
+};
+const isValidValue$7 = ({ api: api2, state }) => (value) => {
+  if (!state.picker) {
+    api2.mountPicker();
+  }
+  if (state.picker.isValidValue) {
+    return value && state.picker.isValidValue(value);
+  }
+  return true;
+};
+const watchIsRange = ({ api: api2, state, TimePanel: TimePanel2, TimeRangePanel }) => (value) => {
+  state.type = value ? DATEPICKER.TimeRange : DATEPICKER.Time;
+  state.panel = value ? TimeRangePanel : TimePanel2;
+  api2.mountPicker();
+};
+const getType = ({ parent, props: props2 }) => () => {
+  if (parent.componentName === DATEPICKER.DatePicker) {
+    return props2.type;
+  } else if (parent.componentName === DATEPICKER.TimePicker) {
+    return props2.isRange ? DATEPICKER.TimeRange : DATEPICKER.Time;
+  }
+  return DATEPICKER.TimeSelect;
+};
+const watchModelValue$2 = ({ api: api2, props: props2, state, dispatch }) => (value, oldValue) => {
+  state.historyInput = state.displayValue;
+  if (state.picker) {
+    state.historyValue = [
+      state.picker.state.value && state.picker.state.value[0],
+      api2.parseString(state.historyInput && state.historyInput[1])
+    ];
+  }
+  if (props2.changeCompat) {
+    api2.emitChange(props2.modelValue);
+  }
+  if (!valueEquals(value, oldValue) && !state.pickerVisible && props2.validateEvent) {
+    dispatch("FormItem", "form.change", value);
+  }
+};
+const computedFormat = ({ props: props2, utils }) => () => {
+  let { type, format: format2 } = props2;
+  if (!format2 && utils.getDateFormat) {
+    const config = utils.getDateFormat() || {};
+    if (~["date", "dates", "daterange"].indexOf(type)) {
+      format2 = config.DateFormat;
+    }
+    if (~["datetime", "datetimerange"].indexOf(type)) {
+      format2 = config.DateTimeFormat;
+    }
+  }
+  return format2;
+};
+const computedTriggerClass = ({ props: props2, state }) => () => {
+  return props2.suffixIcon || props2.prefixIcon || (state.type.includes(DATEPICKER.Time) ? DATEPICKER.IconTime : DATEPICKER.IconDate);
+};
+const computedHaveTrigger = ({ props: props2 }) => () => {
+  return typeof props2.showTrigger !== "undefined" ? props2.showTrigger : DATEPICKER.TriggerTypes.includes(props2.type);
+};
+const initPopper = ({ props: props2, hooks, vnode }) => {
+  const { reactive, watch, toRefs, onBeforeUnmount, onDeactivated } = hooks;
+  const { emit, vm, slots, nextTick } = vnode;
+  const placementMap = DATEPICKER.PlacementMap;
+  return vue_popper_default({
+    reactive,
+    watch,
+    emit,
+    props: __spreadProps(__spreadValues({}, props2), {
+      popperOptions: Object.assign({ boundariesPadding: 0, gpuAcceleration: false }, props2.popperOptions),
+      visibleArrow: true,
+      offset: 0,
+      boundariesPadding: 5,
+      arrowOffset: 35,
+      placement: placementMap[props2.align] || placementMap.left
+    }),
+    toRefs,
+    vm,
+    slots,
+    nextTick,
+    onBeforeUnmount,
+    onDeactivated
+  });
+};
+const emitDbTime = ({ emit, state, t: t2 }) => (date) => {
+  const { isServiceTimezone, from } = state.timezone;
+  if (isServiceTimezone && !valueEquals(date, state.dbTime)) {
+    let hasDate = false;
+    const dbTime = [].concat(date).map((item) => {
+      if (isDate(item)) {
+        hasDate = true;
+        let currentDate = getDateWithNewTimezone(item, getLocalTimezone(), from);
+        if (state.valueFormat) {
+          currentDate = formatDate$1(currentDate, state.valueFormat, t2);
+        }
+        return currentDate;
+      }
+      return item;
+    });
+    state.dbTime = dbTime.length > 1 ? dbTime : dbTime[0];
+    hasDate && emit("input", state.dbTime);
+  }
+};
+const initGlobalTimezone = ({ api: api2, state, props: props2 }) => () => {
+  const { isServiceTimezone } = state.timezone;
+  if (isServiceTimezone) {
+    state.timezoneData = timezone_default;
+  } else if (props2.showTimezone) {
+    state.timezoneData = props2.timezoneData ? extend(true, {}, props2.timezoneData) : timezone_default;
+  }
+  api2.emitDbTime(props2.value);
+};
+const handleEnterDisplayOnlyContent = ({ state, t: t2 }) => ($event) => {
+  const target = $event.target;
+  if (target && target.scrollWidth > target.offsetWidth) {
+    state.displayOnlyTooltip = state.displayValue.join(` ${t2("ui.datepicker.to")} `);
+  }
+};
+const handleEnterPickerlabel = ({ state, props: props2 }) => ($event) => {
+  const target = $event.target;
+  if (target && target.scrollWidth > target.offsetWidth) {
+    state.labelTooltip = props2.label;
+  }
+};
+const setInputPaddingLeft = ({ props: props2, state, vm, nextTick }) => () => {
+  const ml = 12;
+  const mr = 8;
+  if (props2.label && !state.ranged && vm.$refs.label && vm.$refs.reference) {
+    nextTick(() => {
+      vm.$refs.reference.querySelector("input").style.paddingLeft = vm.$refs.label.offsetWidth + ml + mr + "px";
+    });
+  }
+};
+const dateMobileToggle = ({ state, props: props2 }) => (visible) => {
+  if (props2.readonly || state.pickerDisabled || state.dateMobileOption.visible === visible)
+    return;
+  if (visible) {
+    state.dateMobileOption.value = props2.modelValue;
+  }
+  state.dateMobileOption.visible = visible;
+};
+const timeMobileToggle = ({ state, props: props2, api: api2 }) => (visible) => {
+  if (props2.readonly || state.pickerDisabled || state.timeMobileOption.visible === visible)
+    return;
+  if (visible) {
+    state.timeMobileOption.value = api2.dateToTimeArray(props2.modelValue);
+  }
+  state.timeMobileOption.visible = visible;
+};
+const timeMobileConfirm = ({ state, api: api2 }) => () => {
+  api2.emitInput(api2.timeArrayToDate(state.timeMobileOption.value));
+};
+const dateToTimeArray = (value) => {
+  const date = new Date(value);
+  return [date.getHours(), date.getMinutes(), date.getSeconds()];
+};
+const timeArrayToDate = ({ props: props2 }) => (value) => {
+  const timeArr = value;
+  let date = new Date(props2.modelValue);
+  if (isNaN(date.getTime())) {
+    date = /* @__PURE__ */ new Date();
+  }
+  date.setHours(timeArr[0]);
+  date.setMinutes(timeArr[1]);
+  date.setSeconds(timeArr[2]);
+  return date;
+};
+const api$j = [
+  "state",
+  "btnClick",
+  "handleEndChange",
+  "handleEndInput",
+  "focus",
+  "handleFocus",
+  "handleStartChange",
+  "handleStartInput",
+  "handleKeydown",
+  "handleClickIcon",
+  "handleMouseEnter",
+  "handleInput",
+  "handleChange",
+  "handleClose",
+  "handlePick",
+  "handleSelectRange",
+  "handleSelectChange",
+  "popperElm",
+  "handleEnterDisplayOnlyContent",
+  "handleEnterPickerlabel",
+  "timeMobileToggle",
+  "timeMobileConfirm",
+  "emitInput",
+  "dateMobileToggle"
+];
+const initState$b = ({ api: api2, reactive, vm, computed, props: props2, utils, parent, breakpoint }) => {
+  const state = reactive({
+    historyValue: [],
+    historyInput: [],
+    historyUserInput: [],
+    historyUserValue: [],
+    startStatus: false,
+    endStatus: false,
+    date: null,
+    pickerVisible: false,
+    showClose: false,
+    userInput: null,
+    valueOnOpen: null,
+    popperElm: null,
+    unwatchPickerOptions: null,
+    ranged: computed(() => state.type.includes(DATEPICKER.Range)),
+    reference: computed(() => vm.$refs.reference.$el || vm.$refs.reference),
+    formDisabled: computed(() => (parent.tinyForm || {}).disabled),
+    refInput: computed(() => state.reference ? [].slice.call(state.reference.querySelectorAll("input")) : []),
+    valueIsEmpty: computed(() => api2.getValueEmpty()),
+    triggerClass: computed(() => api2.computedTriggerClass()),
+    selectionMode: computed(() => api2.getMode()),
+    haveTrigger: computed(() => api2.computedHaveTrigger()),
+    displayValue: computed(() => api2.displayValue()),
+    parsedValue: computed(() => api2.parsedValue()),
+    oldValue: props2.modelValue,
+    pickerSize: computed(() => props2.size),
+    pickerDisabled: computed(() => props2.disabled || state.formDisabled || state.isDisplayOnly),
+    firstInputId: computed(() => api2.firstInputId()),
+    secondInputId: computed(() => api2.secondInputId()),
+    type: computed(() => api2.getType()),
+    timezone: computed(() => api2.getTimezone()),
+    valueFormat: computed(() => getValueFormat({ props: props2, utils })),
+    format: computed(() => api2.computedFormat()),
+    labelTooltip: "",
+    displayOnlyTooltip: "",
+    isDisplayOnly: computed(() => props2.displayOnly || (parent.tinyForm || {}).displayOnly),
+    isMobileScreen: computed(() => breakpoint.current.value === "default"),
+    dateMobileOption: {
+      visible: false,
+      type: props2.type,
+      value: props2.modelValue
+    },
+    timeMobileOption: {
+      visible: false,
+      type: props2.type,
+      value: [0, 0, 0]
+    },
+    isDateMobileComponent: computed(
+      () => [
+        DATEPICKER.DateRange,
+        DATEPICKER.DateTimeRange,
+        DATEPICKER.DateTime,
+        DATEPICKER.DatePicker,
+        DATEPICKER.Date,
+        DATEPICKER.Dates
+      ].includes(props2.type)
+    ),
+    isTimeMobileComponent: computed(
+      () => [DATEPICKER.Time, DATEPICKER.TimeRange, DATEPICKER.TimeSelect, DATEPICKER.TimePicker].includes(props2.type)
+    ),
+    showSeconds: computed(
+      () => (state.format || props2.pickerOptions && props2.pickerOptions.format || "ss").includes("ss")
+    )
+  });
+  return state;
+};
+const initApi$5 = ({ api: api2, props: props2, hooks, state, vnode, others, utils, parent }) => {
+  const { t: t2, emit, dispatch, nextTick, vm } = vnode;
+  const { TimePanel: TimePanel2, TimeRangePanel } = others;
+  const { destroyPopper, popperElm, updatePopper } = initPopper({ props: props2, hooks, vnode });
+  state.popperElm = popperElm;
+  state.picker = null;
+  Object.assign(api2, {
+    destroyPopper,
+    emitDbTime: emitDbTime({ emit, state, t: t2 }),
+    hidePicker: hidePicker({ destroyPopper, state }),
+    handleSelectChange: ({ tz, date }) => !state.ranged && emit("select-change", { tz, date }),
+    getPanel: getPanel(others),
+    handleFocus: handleFocus({ emit, vm, state, api: api2 }),
+    getTimezone: getTimezone({ props: props2, utils }),
+    emitChange: emitChange({ api: api2, dispatch, emit, props: props2, state }),
+    parsedValue: parsedValue({ api: api2, props: props2, state, t: t2 }),
+    parseAsFormatAndType: parseAsFormatAndType({ api: api2 }),
+    typeValueResolveMap: typeValueResolveMap({ api: api2, props: props2, t: t2 }),
+    updateOptions: updateOptions({ api: api2, props: props2, state }),
+    focus: focus({ api: api2, props: props2, vm }),
+    handleInput: handleInput({ api: api2, state, props: props2 }),
+    handleChange: handleChange$2({ api: api2, state }),
+    isValidValue: isValidValue$7({ api: api2, state }),
+    emitInput: emitInput({ api: api2, emit, props: props2, state }),
+    handleKeydown: handleKeydown$4({ api: api2, state }),
+    handleEndChange: handleEndChange({ api: api2, state }),
+    handleStartChange: handleStartChange({ api: api2, state }),
+    handleClickIcon: handleClickIcon({ api: api2, props: props2, state }),
+    showPicker: showPicker({ api: api2, nextTick, updatePopper, state }),
+    formatToValue: formatToValue({ api: api2, props: props2, state }),
+    formatAsFormatAndType: formatAsFormatAndType({ api: api2 }),
+    parseString: parseString({ api: api2, state }),
+    handleClose: handleClose({ api: api2, props: props2, state }),
+    displayValue: displayValue({ api: api2, props: props2, state }),
+    handlePick: handlePick({ api: api2, state }),
+    watchPickerVisible: watchPickerVisible$1({ api: api2, vm, dispatch, emit, props: props2, state, nextTick }),
+    watchMobileVisible: watchMobileVisible({ api: api2, props: props2, state, nextTick }),
+    formatToString: formatToString({ api: api2, state }),
+    watchIsRange: watchIsRange({ api: api2, state, TimePanel: TimePanel2, TimeRangePanel }),
+    mountPicker: mountPicker({ api: api2, vm, props: props2, state, updatePopper }),
+    watchModelValue: watchModelValue$2({ api: api2, props: props2, state, dispatch }),
+    computedFormat: computedFormat({ props: props2, utils }),
+    computedTriggerClass: computedTriggerClass({ props: props2, state }),
+    computedHaveTrigger: computedHaveTrigger({ props: props2 }),
+    setInputPaddingLeft: setInputPaddingLeft({ props: props2, state, vm, nextTick }),
+    formatInputValue: formatInputValue({ props: props2, state })
+  });
+  initApi2({ api: api2, props: props2, state, t: t2, parent });
+  initMobileApi({ api: api2, props: props2, state, t: t2, parent });
+};
+const initApi2 = ({ api: api2, props: props2, state, t: t2, parent }) => {
+  Object.assign(api2, {
+    t: t2,
+    state,
+    blur: blur(state),
+    getMode: getMode({ state }),
+    getType: getType({ props: props2, parent }),
+    dateParser: dateParser({ t: t2, props: props2 }),
+    rangeParser: rangeParser(api2),
+    rangeFormatter: rangeFormatter(api2),
+    dateFormatter: dateFormatter({ t: t2 }),
+    getValueEmpty: getValueEmpty(props2),
+    handleEndInput: handleEndInput({ state, props: props2, api: api2 }),
+    handleStartInput: handleStartInput({ state, props: props2, api: api2 }),
+    firstInputId: firstInputId({ props: props2, state }),
+    secondInputId: secondInputId({ props: props2, state }),
+    handleMouseEnter: handleMouseEnter({ props: props2, state }),
+    initGlobalTimezone: initGlobalTimezone({ api: api2, state, props: props2 }),
+    parseValue: parseValue({ api: api2, props: props2, state }),
+    handleSelectRange: handleSelectRange(state),
+    handleEnterPickerlabel: handleEnterPickerlabel({ state, props: props2 }),
+    handleEnterDisplayOnlyContent: handleEnterDisplayOnlyContent({ state, t: t2 })
+  });
+};
+const initMobileApi = ({ api: api2, props: props2, state }) => {
+  Object.assign(api2, {
+    dateMobileToggle: dateMobileToggle({ state, props: props2, api: api2 }),
+    timeMobileToggle: timeMobileToggle({ state, props: props2, api: api2 }),
+    timeMobileConfirm: timeMobileConfirm({ state, props: props2, api: api2 }),
+    dateToTimeArray,
+    timeArrayToDate: timeArrayToDate({ state, props: props2, api: api2 })
+  });
+};
+const initWatch$6 = ({ api: api2, state, props: props2, watch, markRaw }) => {
+  watch(
+    () => state.type,
+    (type) => state.panel = markRaw(api2.getPanel(type)),
+    { immediate: true }
+  );
+  watch(() => [state.dateMobileOption.visible, state.timeMobileOption.visible], api2.watchMobileVisible);
+  watch(() => state.pickerVisible, api2.watchPickerVisible);
+  watch(
+    () => props2.defaultValue,
+    (value) => state.picker && (state.picker.state.defaultValue = value)
+  );
+  watch(
+    () => state.parsedValue,
+    (value) => state.picker && (state.picker.state.value = value),
+    { immediate: true }
+  );
+  watch(() => props2.isRange, api2.watchIsRange);
+  watch(() => props2.modelValue, api2.watchModelValue);
+  watch(() => props2.pickerOptions, api2.updateOptions, { deep: true });
+  watch(() => props2.label, api2.setInputPaddingLeft);
+};
+const renderless$j = (props2, hooks, vnode, others) => {
+  const api2 = {};
+  const { reactive, computed, watch, onBeforeUnmount, inject, markRaw, onMounted } = hooks;
+  const { vm, service, parent, useBreakpoint } = vnode;
+  const { utils = {} } = service || {};
+  const breakpoint = useBreakpoint();
+  const state = initState$b({ api: api2, reactive, vm, computed, props: props2, utils, parent, inject, breakpoint });
+  parent.tinyForm = parent.tinyForm || inject("form", null);
+  initApi$5({ api: api2, props: props2, hooks, state, vnode, others, utils, parent });
+  initWatch$6({ api: api2, state, props: props2, watch, markRaw });
+  api2.initGlobalTimezone();
+  onMounted(() => {
+    api2.setInputPaddingLeft();
+  });
+  parent.$on("handle-clear", (event) => {
+    state.showClose = true;
+    api2.handleClickIcon(event);
+  });
+  onBeforeUnmount(() => {
+    api2.destroyPopper("remove");
+    state.popperElm = null;
+    state.picker = null;
+  });
+  return api2;
+};
+const getYearLabel$1 = ({ state, t: t2 }) => () => {
+  const { YearI18n, Year, PanelYearNum } = DATEPICKER;
+  const yearTranslation = t2(YearI18n);
+  if (state.currentView === Year) {
+    const startYear = state.startYear;
+    if (yearTranslation) {
+      return startYear + " " + yearTranslation + " - " + (startYear + PanelYearNum - 1) + " " + yearTranslation;
+    }
+    return startYear + " - " + (startYear + PanelYearNum - 1);
+  }
+  return state.year + " " + yearTranslation;
+};
+const watchValue$6 = ({ api: api2, state }) => (value) => {
+  if ([DATEPICKER.Dates, DATEPICKER.Years].includes(state.selectionMode) && state.value) {
+    return;
+  }
+  if (isDate$1(value)) {
+    state.date = state.selectionMode === "week" ? getWeekData(value) : new Date(value);
+  } else {
+    state.date = api2.getDefaultValue();
+  }
+};
+const watchDefaultValue$2 = ({ state }) => (value) => {
+  if (!isDate$1(state.value)) {
+    state.date = value ? new Date(value) : /* @__PURE__ */ new Date();
+  }
+};
+const watchTimePickerVisible = ({ nextTick, vm }) => (value) => {
+  if (value) {
+    nextTick(() => {
+      vm.$refs.timepicker.adjustSpinners();
+    });
+  }
+};
+const watchSelectionMode = ({ state }) => (value) => {
+  if (value === DATEPICKER.Month) {
+    if (state.currentView !== DATEPICKER.Year || state.currentView !== DATEPICKER.Month) {
+      state.currentView = DATEPICKER.Month;
+    }
+  } else if (value === DATEPICKER.Dates) {
+    state.currentView = DATEPICKER.Date;
+  } else if ([DATEPICKER.Year, DATEPICKER.Years, DATEPICKER.YearRange].includes(value)) {
+    state.currentView = DATEPICKER.Year;
+  }
+};
+const proxyTimePickerDataProperties = ({ vm, state, watch }) => () => {
+  const format2 = (timeFormat) => {
+    if (vm.$refs.timepicker) {
+      vm.$refs.timepicker.state.format = timeFormat;
+    }
+  };
+  const value = (value2) => {
+    if (vm.$refs.timepicker) {
+      vm.$refs.timepicker.state.value = null;
+      if (value2) {
+        vm.$refs.timepicker.state.value = value2;
+      }
+    }
+  };
+  const date = (date2) => {
+    if (vm.$refs.timepicker) {
+      vm.$refs.timepicker.state.date = date2;
+    }
+  };
+  const selectableRange = (selectableRange2) => {
+    if (vm.$refs.timepicker) {
+      vm.$refs.timepicker.state.selectableRange = selectableRange2;
+    }
+  };
+  watch(() => state.value, value);
+  watch(() => state.date, date, { deep: true });
+  watch(() => state.selectableRange, selectableRange, { deep: true });
+  format2(state.timeFormat);
+  value(state.value);
+  date(state.date);
+  selectableRange(state.selectableRange);
+};
+const handleClear$5 = ({ api: api2, state, emit }) => () => {
+  state.date = api2.getDefaultValue();
+  emit("pick", null);
+};
+const cusEmit = ({ state, emit }) => (value, ...args) => {
+  if (!value) {
+    emit("pick", value, ...args);
+  } else if (Array.isArray(value)) {
+    const dates = value.map((date) => state.showTime ? clearMilliseconds(date) : clearTime(date));
+    emit("pick", dates, ...args);
+  } else {
+    emit("pick", state.showTime ? clearMilliseconds(value) : clearTime(value), ...args);
+  }
+  state.userInputDate = null;
+  state.userInputTime = null;
+};
+const showMonthPicker = ({ state }) => () => state.currentView = DATEPICKER.Month;
+const showYearPicker$1 = ({ state }) => () => state.currentView = DATEPICKER.Year;
+const cusPrevMonth = ({ state }) => () => state.date = prevMonth(state.date);
+const cusNextMonth = ({ state }) => () => state.date = nextMonth(state.date);
+const cusPrevYear$1 = ({ state }) => () => {
+  if (state.currentView === DATEPICKER.Year) {
+    state.startYear = state.startYear - DATEPICKER.PanelYearNum;
+  } else {
+    state.date = prevYear(state.date);
+  }
+};
+const cusNextYear$1 = ({ state }) => () => {
+  if (state.currentView === DATEPICKER.Year) {
+    state.startYear = state.startYear + DATEPICKER.PanelYearNum;
+  } else {
+    state.date = nextYear(state.date);
+  }
+};
+const handleShortcutClick$3 = (api2) => (shortcut) => {
+  if (shortcut.onClick) {
+    const picker = {
+      $emit: (type, start, end) => {
+        api2.doPick(start, end);
+      }
+    };
+    shortcut.onClick(picker);
+  }
+};
+const doPick$3 = (emit) => (date) => {
+  emit("pick", date, false);
+};
+const handleTimePick = ({ api: api2, state, t: t2 }) => (value, visible, first) => {
+  if (isDate$1(value)) {
+    const newDate = state.value ? modifyTime(state.value, value.getHours(), value.getMinutes(), value.getSeconds()) : modifyWithTimeString(api2.getDefaultValue(), state.defaultTime, t2);
+    state.date = newDate;
+    api2.cusEmit(state.date, true);
+  } else {
+    api2.cusEmit(value, true);
+  }
+  if (!first) {
+    state.timePickerVisible = visible;
+  }
+};
+const handleTimePickClose = (state) => () => {
+  state.timePickerVisible = false;
+};
+const handleMonthPick = ({ api: api2, state }) => (month) => {
+  if (state.selectionMode === DATEPICKER.Month) {
+    state.date = modifyDate(state.date, state.year, month, 1);
+    api2.cusEmit(state.date);
+  } else {
+    state.date = changeYearMonthAndClampDate(state.date, state.year, month);
+    state.currentView = DATEPICKER.Date;
+  }
+};
+const handleDatePick = ({ api: api2, state, t: t2 }) => (value) => {
+  if (state.selectionMode === DATEPICKER.Day) {
+    let newDate = state.value ? modifyDate(state.value, value.getFullYear(), value.getMonth(), value.getDate()) : modifyWithTimeString(value, state.defaultTime, t2);
+    if (!api2.checkDateWithinRange(newDate)) {
+      newDate = modifyDate(state.selectableRange[0][0], value.getFullYear(), value.getMonth(), value.getDate());
+    }
+    state.date = newDate;
+    api2.cusEmit(state.date, state.showTime);
+  } else if (state.selectionMode === DATEPICKER.Week) {
+    api2.cusEmit(value.date);
+  } else if (state.selectionMode === DATEPICKER.Dates) {
+    api2.cusEmit(value, true);
+  }
+};
+const handleYearPick$1 = ({ api: api2, state }) => (value) => {
+  if (state.selectionMode === DATEPICKER.Year) {
+    state.date = modifyDate(state.date, value, 0, 2);
+    api2.cusEmit(state.date);
+  } else if ([DATEPICKER.Years].includes(state.selectionMode)) {
+    state.date = value.map((year) => new Date(year, 0, 2));
+    api2.cusEmit(state.date, state.selectionMode === DATEPICKER.YearRange ? value.length < 2 : true);
+  } else {
+    state.date = changeYearMonthAndClampDate(state.date, value, state.month);
+    state.currentView = DATEPICKER.Month;
+  }
+};
+const getDisabledNow = ({ state }) => () => {
+  let disabledDate = state.disabledDate;
+  if (!disabledDate)
+    return false;
+  return disabledDate(/* @__PURE__ */ new Date());
+};
+const getDisabledConfirm = ({ state }) => () => {
+  let disabledDate = state.disabledDate;
+  if (!disabledDate)
+    return false;
+  if (!state.value)
+    return true;
+  return disabledDate(state.value);
+};
+const dateToLocaleStringForIE = (timezone, value) => {
+  const localTimezone = getLocalTimezone();
+  const offsetTimezone = timezone - localTimezone;
+  const offsetTime = new Date(value).getTime() + offsetTimezone * 36e5;
+  return new Date(offsetTime);
+};
+const changeToNow = ({ api: api2, state }) => () => {
+  const now = /* @__PURE__ */ new Date();
+  const timezone = state.timezone;
+  const isServiceTimezone = timezone.isServiceTimezone;
+  let disabledDate = !state.disabledDate;
+  if (isServiceTimezone) {
+    const date = getDateWithNewTimezone(now, getLocalTimezone(), timezone.to);
+    state.date = date;
+    disabledDate = disabledDate || !state.disabledDate(date);
+  } else {
+    disabledDate = disabledDate || !state.disabledDate(now);
+  }
+  if (disabledDate && api2.checkDateWithinRange(now)) {
+    if (!isServiceTimezone) {
+      if (state.showTimezone && state.selectedTz) {
+        state.date = dateToLocaleStringForIE(state.selectedTz.offset, now);
+      } else {
+        state.date = now;
+      }
+    }
+    api2.cusEmit(state.date);
+    state.emitDbTime(now);
+  }
+};
+const confirm$4 = ({ api: api2, state, t: t2 }) => () => {
+  if ([DATEPICKER.Dates, DATEPICKER.Years].includes(state.selectionMode)) {
+    api2.cusEmit(state.value);
+  } else {
+    let value = state.value ? state.value : modifyWithTimeString(api2.getDefaultValue(), state.defaultTime, t2);
+    const timezone = state.timezone;
+    if (!state.value && timezone.isServiceTimezone) {
+      value = state.date = getDateWithNewTimezone(value, getLocalTimezone(), timezone.to);
+    } else {
+      state.date = new Date(value);
+    }
+    api2.cusEmit(value);
+  }
+};
+const resetView$3 = ({ state }) => () => {
+  if (state.selectionMode === DATEPICKER.Month) {
+    state.currentView = DATEPICKER.Month;
+  } else if ([DATEPICKER.Year, DATEPICKER.Years, DATEPICKER.YearRange].includes(state.selectionMode)) {
+    state.currentView = DATEPICKER.Year;
+  } else {
+    state.currentView = DATEPICKER.Date;
+  }
+};
+const handleEnter = (api2) => () => {
+  on(document.body, "keydown", api2.handleKeydown);
+};
+const handleLeave = ({ api: api2, emit }) => () => {
+  emit("dodestroy");
+  off(document.body, "keydown", api2.handleKeydown);
+};
+const handleKeydown$3 = ({ api: api2, state }) => (event) => {
+  const keyCode = event.keyCode;
+  if (state.visible && !state.timePickerVisible) {
+    if (DATEPICKER.List.includes(keyCode)) {
+      api2.handleKeyControl(keyCode);
+      event.stopPropagation();
+      event.preventDefault();
+    }
+    if (keyCode === 13 && state.userInputDate === null && state.userInputTime === null) {
+      api2.cusEmit(state.date, false);
+    }
+  }
+};
+const handleKeyControl = ({ state, emit }) => (keyCode) => {
+  const mapping = {
+    year: __spreadProps(__spreadValues({}, DATEPICKER.YearObj), {
+      offset: (date, step) => date.setFullYear(date.getFullYear() + step)
+    }),
+    month: __spreadProps(__spreadValues({}, DATEPICKER.YearObj), {
+      offset: (date, step) => date.setMonth(date.getMonth() + step)
+    }),
+    week: __spreadProps(__spreadValues({}, DATEPICKER.WeekObj), {
+      offset: (date, step) => date.setDate(date.getDate() + step * 7)
+    }),
+    day: __spreadProps(__spreadValues({}, DATEPICKER.DayObj), {
+      offset: (date, step) => date.setDate(date.getDate() + step)
+    })
+  };
+  const mode = state.selectionMode;
+  const year = 31536e6;
+  const now = state.date.getTime();
+  const newDate = new Date(state.date.getTime());
+  while (Math.abs(now - newDate.getTime()) <= year) {
+    const map = mapping[mode];
+    map.offset(newDate, map[keyCode]);
+    if (!(typeof state.disabledDate === "function" && state.disabledDate(newDate))) {
+      state.date = newDate;
+      emit("pick", newDate, true);
+      break;
+    }
+  }
+};
+const handleVisibleTimeChange = ({ api: api2, vm, state, t: t2 }) => (value) => {
+  const time = parseDate(value, state.timeFormat, t2);
+  if (time && api2.checkDateWithinRange(time)) {
+    state.date = modifyDate(time, state.year, state.month, state.monthDate);
+    state.userInputTime = null;
+    if (vm.$refs.timepicker) {
+      vm.$refs.timepicker.state.value = state.date;
+    }
+    state.timePickerVisible = false;
+    api2.cusEmit(state.date, true);
+  }
+};
+const handleVisibleDateChange = ({ api: api2, state, t: t2 }) => (value) => {
+  const date = parseDate(value, state.dateFormat, t2);
+  if (date) {
+    if (typeof state.disabledDate === "function" && state.disabledDate(date)) {
+      return;
+    }
+    state.date = modifyTime(date, state.date.getHours(), state.date.getMinutes(), state.date.getSeconds());
+    state.userInputDate = null;
+    api2.resetView();
+    api2.cusEmit(state.date, true);
+  }
+};
+const isValidValue$6 = ({ api: api2, state }) => (value) => value && !isNaN(value) && (typeof state.disabledDate === "function" ? !state.disabledDate(value) : true) && api2.checkDateWithinRange(value);
+const getDefaultValue = (state) => () => state.defaultValue ? new Date(state.defaultValue) : /* @__PURE__ */ new Date();
+const checkDateWithinRange = ({ state }) => (date) => state.selectableRange.length > 0 ? timeWithinRange(date, state.selectableRange, state.format || "HH:mm:ss") : true;
+const selectTz = ({ emit, state }) => (tz) => {
+  if (state.timezone.isServiceTimezone) {
+    return;
+  }
+  state.tz = tz.name;
+  state.selectedTz = tz;
+  state.showpopup = false;
+  state.value = dateToLocaleStringForIE(tz.offset, state.date);
+  emit("select-change", { tz, date: state.value });
+};
+const searchTz = ({ api: api2, state }) => (input) => api2.debounceChange(state, input);
+const debounceChange = debounce_default(500, (state, input) => {
+  if (!input) {
+    state.showpopup = false;
+    return;
+  }
+  const tzList = state.renderTzdata.slice();
+  let count = 0;
+  const filterAry = [];
+  state.renderTzdata = tzList.map((tz) => {
+    if (tz.name.toLowerCase().includes(input)) {
+      tz.visible = false;
+      filterAry.push(tz);
+      count++;
+    } else {
+      tz.visible = true;
+    }
+    return tz;
+  });
+  if (count === 1) {
+    state.tz = filterAry[0].name;
+    state.showpopup = false;
+  } else {
+    state.showpopup = true;
+  }
+});
+const toggleTz = (state) => () => {
+  if (state.timezone.isServiceTimezone) {
+    return;
+  }
+  state.renderTzdata = state.renderTzdata && state.renderTzdata.map((item) => {
+    item.visible = false;
+    return item;
+  });
+  state.showpopup = true;
+};
+const handleTzPickClose = (state) => () => state.showpopup = false;
+const getRenderTz = ({ state }) => (value) => {
+  if (!state.showTimezone || !value) {
+    return;
+  }
+  state.renderTzdata = value[state.lang];
+  if (state.renderTzdata) {
+    const { isServiceTimezone, to } = state.timezone;
+    const selectedTz = state.selectedTz || {};
+    const defaultTimezone = selectedTz.tz ? selectedTz.tz : state.defaultTimezone;
+    let findTimezoneKey;
+    if (to === 0) {
+      findTimezoneKey = "";
+    } else {
+      findTimezoneKey = to > 0 ? "+" : "-";
+      findTimezoneKey = findTimezoneKey + fillChar(String(Math.abs(to)), 2) + ":00";
+    }
+    findTimezoneKey = `(UTC${findTimezoneKey})`;
+    state.renderTzdata.some((item) => {
+      if (~[selectedTz.tz, defaultTimezone].indexOf(item.tz) || isServiceTimezone && ~item.name.indexOf(findTimezoneKey)) {
+        state.selectedTz = item;
+        state.tz = state.selectedTz.name;
+        return true;
+      }
+      return false;
+    }) || (state.selectedTz = void 0);
+  }
+};
+const computerVisibleTime = ({ state, t: t2 }) => () => state.userInputTime !== null ? state.userInputTime : formatDate$1(state.value || state.defaultValue, state.timeFormat, t2);
+const computerVisibleDate = ({ state, t: t2 }) => () => state.userInputDate !== null ? state.userInputDate : formatDate$1(state.value || state.defaultValue, state.dateFormat, t2);
+const computerTimeFormat = ({ state }) => () => state.format ? extractTimeFormat(state.timefmt || state.format) : DATEPICKER.DateFormats.timerange;
+const watchVisible$5 = ({ api: api2, state }) => () => {
+  if (state.needChangeTimezoneData) {
+    api2.getRenderTz(state.timezoneData);
+    state.needChangeTimezoneData = false;
+  }
+};
+const api$i = [
+  "state",
+  "isValidValue",
+  "handleTzPickClose",
+  "toggleTz",
+  "searchTz",
+  "selectTz",
+  "confirm",
+  "cusPrevYear",
+  "cusNextYear",
+  "cusPrevMonth",
+  "cusNextMonth",
+  "changeToNow",
+  "handleMonthPick",
+  "handleYearPick",
+  "handleDatePick",
+  "showMonthPicker",
+  "showYearPicker",
+  "handleTimePick",
+  "handleEnter",
+  "handleVisibleTimeChange",
+  "handleVisibleDateChange",
+  "handleLeave",
+  "handleShortcutClick",
+  "handleTimePickClose"
+];
+const initState$a = ({ reactive, computed, api: api2, i18n }) => {
+  const state = reactive({
+    popperClass: "",
+    date: /* @__PURE__ */ new Date(),
+    value: "",
+    defaultValue: null,
+    defaultTime: null,
+    showTime: false,
+    selectionMode: DATEPICKER.Day,
+    shortcuts: "",
+    visible: false,
+    currentView: DATEPICKER.Date,
+    disabledDate: "",
+    cellClassName: "",
+    selectableRange: [],
+    firstDayOfWeek: 7,
+    showWeekNumber: false,
+    timePickerVisible: false,
+    format: "",
+    timeFmt: "",
+    timezone: {},
+    arrowControl: false,
+    userInputDate: null,
+    userInputTime: null,
+    showTimezone: false,
+    showpopup: false,
+    tz: "",
+    selectedTz: null,
+    animationName: "",
+    startYear: Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 10) * 10,
+    disabledNow: computed(() => api2.getDisabledNow()),
+    disabledConfirm: computed(() => api2.getDisabledConfirm()),
+    year: computed(() => !Array.isArray(state.date) && state.date.getFullYear()),
+    month: computed(() => !Array.isArray(state.date) && state.date.getMonth()),
+    week: computed(() => getWeekNumber(state.date)),
+    monthDate: computed(() => state.date.getDate()),
+    footerVisible: computed(() => state.showTime || [DATEPICKER.Dates, DATEPICKER.Years].includes(state.selectionMode)),
+    visibleTime: computed(() => api2.computerVisibleTime()),
+    visibleDate: computed(() => api2.computerVisibleDate()),
+    yearLabel: computed(() => api2.getYearLabel()),
+    timeFormat: computed(() => api2.computerTimeFormat()),
+    dateFormat: computed(() => state.format ? extractDateFormat(state.format.replace(state.timefmt, "")) : DATE.Date),
+    lang: computed(() => i18n ? i18n.locale.replace(/_/g, "-") : "zh-CN"),
+    isShowTz: computed(() => state.showTimezone && state.showTime),
+    isShowFooter: computed(() => state.footerVisible && [DATEPICKER.Date, DATEPICKER.Year].includes(state.currentView))
+  });
+  state.needChangeTimezoneData = true;
+  return state;
+};
+const initWatch$5 = ({ watch, state, api: api2, nextTick }) => {
+  watch(
+    () => state.isShowTz,
+    () => {
+      setTimeout(() => state.fnUpdatePopper && state.fnUpdatePopper());
+    }
+  );
+  watch(
+    () => state.isShowFooter,
+    () => {
+      setTimeout(() => state.fnUpdatePopper && state.fnUpdatePopper());
+    }
+  );
+  watch(
+    () => state.lang,
+    () => state.needChangeTimezoneData = true
+  );
+  watch(() => state.defaultValue, api2.watchDefaultValue);
+  watch(() => state.value, api2.watchValue);
+  watch(() => state.timePickerVisible, api2.watchTimePickerVisible);
+  watch(() => state.selectionMode, api2.watchSelectionMode);
+  watch(
+    () => state.timePickerVisible,
+    () => nextTick(api2.proxyTimePickerDataProperties)
+  );
+  watch(() => state.visible, api2.watchVisible);
+};
+const initApi$4 = ({ api: api2, state, t: t2, emit, nextTick, vm, watch }) => {
+  Object.assign(api2, {
+    t: t2,
+    state,
+    debounceChange,
+    toggleTz: toggleTz(state),
+    watchVisible: watchVisible$5({ api: api2, state }),
+    getRenderTz: getRenderTz({ state }),
+    selectTz: selectTz({ emit, state }),
+    handleTzPickClose: handleTzPickClose(state),
+    getDefaultValue: getDefaultValue(state),
+    showYearPicker: showYearPicker$1({ state }),
+    handleTimePickClose: handleTimePickClose(state),
+    cusNextMonth: cusNextMonth({ state }),
+    cusPrevMonth: cusPrevMonth({ state }),
+    resetView: resetView$3({ state }),
+    showMonthPicker: showMonthPicker({ state }),
+    cusNextYear: cusNextYear$1({ state }),
+    cusPrevYear: cusPrevYear$1({ state }),
+    watchDefaultValue: watchDefaultValue$2({ state }),
+    getYearLabel: getYearLabel$1({ state, t: t2 }),
+    cusEmit: cusEmit({ state, emit }),
+    watchTimePickerVisible: watchTimePickerVisible({ nextTick, vm }),
+    checkDateWithinRange: checkDateWithinRange({ state }),
+    watchSelectionMode: watchSelectionMode({ state }),
+    proxyTimePickerDataProperties: proxyTimePickerDataProperties({ vm, state, watch }),
+    handleKeyControl: handleKeyControl({ state, emit }),
+    doPick: doPick$3(emit),
+    searchTz: searchTz({ api: api2, state }),
+    handleEnter: handleEnter(api2),
+    handleLeave: handleLeave({ api: api2, emit }),
+    changeToNow: changeToNow({ api: api2, state }),
+    isValidValue: isValidValue$6({ api: api2, state }),
+    handleClear: handleClear$5({ api: api2, state, emit }),
+    watchValue: watchValue$6({ api: api2, state }),
+    handleKeydown: handleKeydown$3({ api: api2, state }),
+    confirm: confirm$4({ api: api2, state, t: t2 }),
+    handleMonthPick: handleMonthPick({ api: api2, state }),
+    handleVisibleDateChange: handleVisibleDateChange({ api: api2, state, t: t2 }),
+    handleTimePick: handleTimePick({ api: api2, state, t: t2 }),
+    handleYearPick: handleYearPick$1({ api: api2, state }),
+    handleDatePick: handleDatePick({ api: api2, state, t: t2 }),
+    computerVisibleTime: computerVisibleTime({ state, t: t2 }),
+    handleShortcutClick: handleShortcutClick$3(api2),
+    computerVisibleDate: computerVisibleDate({ state, t: t2 }),
+    handleVisibleTimeChange: handleVisibleTimeChange({ api: api2, vm, state, t: t2 }),
+    computerTimeFormat: computerTimeFormat({ state }),
+    getDisabledNow: getDisabledNow({ state }),
+    getDisabledConfirm: getDisabledConfirm({ state })
+  });
+};
+const renderless$i = (props2, { computed, reactive, watch, nextTick }, { t: t2, emit: $emit, vm, i18n }) => {
+  const api2 = {};
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const state = initState$a({ reactive, computed, api: api2, i18n });
+  initApi$4({ api: api2, state, t: t2, emit, nextTick, vm, watch });
+  initWatch$5({ watch, state, api: api2, nextTick });
+  return api2;
+};
+const watchValue$5 = ({ api: api2, nextTick, state }) => (value) => {
+  let date;
+  if (value instanceof Date) {
+    date = limitTimeRange(value, state.selectableRange, state.format);
+  } else if (!value) {
+    date = state.defaultValue ? new Date(state.defaultValue) : /* @__PURE__ */ new Date();
+  }
+  state.date = date;
+  if (state.visible && state.needInitAdjust) {
+    nextTick(() => api2.adjustSpinners());
+    state.needInitAdjust = false;
+  }
+};
+const watchVisible$4 = ({ nextTick, vm, state, api: api2 }) => (value) => {
+  if (value) {
+    state.oldValue = state.value;
+    nextTick(() => {
+      vm.$refs.spinner.emitSelectRange("hours");
+      api2.adjustSpinners();
+    });
+  } else {
+    state.needInitAdjust = true;
+  }
+};
+const handleCancel$1 = ({ state, emit }) => () => {
+  emit("pick", state.oldValue, false);
+};
+const handleChange$1 = ({ api: api2, state, emit }) => (date) => {
+  if (state.visible) {
+    state.date = clearMilliseconds(date);
+    if (api2.isValidValue(state.date)) {
+      emit("pick", state.date, true);
+    }
+  }
+};
+const setSelectionRange = ({ state, emit }) => (start, end) => {
+  emit("select-range", start, end);
+  state.selectionRange = [start, end];
+};
+const handleConfirm$4 = ({ state, emit }) => (visible = false, first = null) => {
+  if (first) {
+    return;
+  }
+  const date = clearMilliseconds(limitTimeRange(state.date, state.selectableRange, state.format));
+  emit("pick", date, visible, first);
+};
+const handleKeydown$2 = ({ api: api2, vm }) => (event) => {
+  const mapping = { 38: -1, 40: 1, 37: -1, 39: 1 };
+  const keyCode = event.keyCode;
+  if (keyCode === 37 || keyCode === 39) {
+    const key = mapping[keyCode];
+    api2.changeSelectionRange(key);
+    event.preventDefault();
+    return;
+  }
+  if (keyCode === 38 || keyCode === 40) {
+    const key = mapping[keyCode];
+    vm.$refs.spinner.scrollDown(key);
+    event.preventDefault();
+  }
+};
+const isValidValue$5 = ({ state }) => (date) => timeWithinRange(date, state.selectableRange, state.format);
+const adjustSpinners$2 = (vm) => () => vm.$refs.spinner.adjustSpinners();
+const changeSelectionRange$1 = ({ vm, state }) => (step) => {
+  const list = [0, 3].concat(state.showSeconds ? [6] : []);
+  const mapping = ["hours", "minutes"].concat(state.showSeconds ? ["seconds"] : []);
+  const index3 = list.indexOf(state.selectionRange[0]);
+  const next = (index3 + step + list.length) % list.length;
+  vm.$refs.spinner.emitSelectRange(mapping[next]);
+};
+const minTimeOfDay = ({ MIN_TIME }) => (date) => modifyDate(MIN_TIME, date.getFullYear(), date.getMonth(), date.getDate());
+const maxTimeOfDay = ({ MAX_TIME }) => (date) => modifyDate(MAX_TIME, date.getFullYear(), date.getMonth(), date.getDate());
+const advanceTime = (api2) => (date, amount) => new Date(Math.min(date.getTime() + amount, api2.maxTimeOfDay(date).getTime()));
+const compuAmPmMode = (state) => () => {
+  if ((state.format || "").includes("A")) {
+    return "A";
+  }
+  if ((state.format || "").includes("a")) {
+    return "a";
+  }
+  return "";
+};
+const watchValue$4 = ({ api: api2, state }) => (value) => {
+  if (Array.isArray(value)) {
+    if (value[0]) {
+      state.minDate = new Date(value[0]);
+    } else {
+      state.minDate = value[1] ? new Date(api2.minTimeOfDay(new Date(value[1])).getTime()) : /* @__PURE__ */ new Date();
+    }
+    if (value[1]) {
+      state.maxDate = new Date(value[1]);
+    } else {
+      state.maxDate = value[0] ? api2.advanceTime(new Date(value[0]), 60 * 60 * 1e3) : api2.advanceTime(/* @__PURE__ */ new Date(), 60 * 60 * 1e3);
+    }
+  } else {
+    if (Array.isArray(state.defaultValue)) {
+      state.minDate = new Date(state.defaultValue[0]);
+      state.maxDate = new Date(state.defaultValue[1]);
+    } else if (state.defaultValue) {
+      state.minDate = new Date(state.defaultValue);
+      state.maxDate = api2.advanceTime(new Date(state.defaultValue), 60 * 60 * 1e3);
+    } else {
+      state.minDate = /* @__PURE__ */ new Date();
+      state.maxDate = api2.advanceTime(/* @__PURE__ */ new Date(), 60 * 60 * 1e3);
+    }
+  }
+};
+const adjustSpinners$1 = ({ vm }) => () => {
+  if (vm.$refs.minSpinner) {
+    vm.$refs.minSpinner.adjustSpinners("min");
+    vm.$refs.maxSpinner.adjustSpinners("max");
+  }
+};
+const setMaxMinData = (state) => {
+  if (Array.isArray(state.oldValue)) {
+    state.oldValue[0] && (state.minDate = clearMilliseconds(state.oldValue[0]));
+    state.oldValue[1] && (state.maxDate = clearMilliseconds(state.oldValue[1]));
+  }
+};
+const watchVisible$3 = ({ nextTick, api: api2, state }) => (value) => {
+  if (value) {
+    state.oldValue = state.value;
+    nextTick(() => {
+      setMaxMinData(state);
+      api2.adjustSpinners();
+    });
+  }
+};
+const handleClear$4 = (emit) => () => emit("pick", null);
+const handleCancel = ({ emit, api: api2, state }) => () => {
+  state.visible = false;
+  emit("pick", state.oldValue);
+  setMaxMinData(state);
+  api2.adjustSpinners();
+};
+const handleMinChange = ({ api: api2, state }) => (date) => {
+  state.minDate = clearMilliseconds(date);
+  api2.handleChange();
+};
+const handleMaxChange = ({ api: api2, state }) => (date) => {
+  state.maxDate = clearMilliseconds(date);
+  api2.handleChange();
+};
+const handleChange = ({ api: api2, emit, vm, state }) => () => {
+  if (!vm.$refs.minSpinner || !vm.$refs.maxSpinner || !state.visible)
+    return;
+  if (api2.isValidValue([state.minDate, state.maxDate])) {
+    vm.$refs.minSpinner.state.selectableRange = [[api2.minTimeOfDay(state.minDate), state.maxDate]];
+    vm.$refs.maxSpinner.state.selectableRange = [[state.minDate, api2.maxTimeOfDay(state.maxDate)]];
+    emit("pick", [state.minDate, state.maxDate], state.visible);
+  }
+};
+const setMinSelectionRange = ({ emit, state }) => (start, end) => {
+  emit("select-range", start, end, "min");
+  state.selectionRange = [start, end];
+};
+const setMaxSelectionRange = ({ emit, state }) => (start, end) => {
+  emit("select-range", start, end, "max");
+  state.selectionRange = [start + state.offset, end + state.offset];
+};
+const handleConfirm$3 = ({ emit, vm, state }) => (visible = false) => {
+  const minSelectableRange = vm.$refs.minSpinner.state.selectableRange;
+  const maxSelectableRange = vm.$refs.maxSpinner.state.selectableRange;
+  state.minDate = limitTimeRange(state.minDate, minSelectableRange, state.format);
+  state.maxDate = limitTimeRange(state.maxDate, maxSelectableRange, state.format);
+  emit("pick", [state.minDate, state.maxDate], visible);
+};
+const changeSelectionRange = ({ vm, state }) => (step) => {
+  const list = state.showSeconds ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11];
+  const mapping = ["hours", "minutes"].concat(state.showSeconds ? ["seconds"] : []);
+  const index3 = list.indexOf(state.selectionRange[0]);
+  const next = (index3 + step + list.length) % list.length;
+  const half = list.length / 2;
+  if (next < half) {
+    vm.$refs.minSpinner.emitSelectRange(mapping[next]);
+  } else {
+    vm.$refs.maxSpinner.emitSelectRange(mapping[next - half]);
+  }
+};
+const isValidValue$4 = ({ vm, state }) => (date) => Array.isArray(date) && timeWithinRange(state.minDate, vm.$refs.minSpinner.state.selectableRange) && timeWithinRange(state.maxDate, vm.$refs.maxSpinner.state.selectableRange);
+const handleKeydown$1 = ({ api: api2, state }) => (event) => {
+  const keyCode = event.keyCode;
+  const mapping = { 38: -1, 40: 1, 37: -1, 39: 1 };
+  if (keyCode === 37 || keyCode === 39) {
+    const step = mapping[keyCode];
+    api2.changeSelectionRange(step);
+    event.preventDefault();
+    return;
+  }
+  if (keyCode === 38 || keyCode === 40) {
+    const step = mapping[keyCode];
+    state.spinner.scrollDown(step);
+    event.preventDefault();
+  }
+};
+const api$h = ["state", "handleChange", "setSelectionRange", "handleCancel", "handleConfirm", "adjustSpinners"];
+const initState$9 = ({ reactive, props: props2, computed, api: api2 }) => {
+  const state = reactive({
+    popperClass: "",
+    format: "HH:mm:ss",
+    value: "",
+    defaultValue: null,
+    date: props2.value || /* @__PURE__ */ new Date(),
+    oldValue: /* @__PURE__ */ new Date(),
+    selectableRange: [],
+    selectionRange: [0, 2],
+    disabled: false,
+    arrowControl: false,
+    visible: false,
+    needInitAdjust: true,
+    showSeconds: computed(() => (state.format || "").includes("ss")),
+    useArrow: computed(() => state.arrowControl || props2.timeArrowControl || false),
+    amPmMode: computed(() => api2.compuAmPmMode())
+  });
+  return state;
+};
+const renderless$h = (props2, { computed, onMounted, reactive, watch, nextTick }, { t: t2, emit: $emit, vm }) => {
+  const api2 = {};
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const state = initState$9({ reactive, props: props2, computed, api: api2 });
+  Object.assign(api2, {
+    t: t2,
+    state,
+    compuAmPmMode: compuAmPmMode(state),
+    adjustSpinners: adjustSpinners$2(vm),
+    handleCancel: handleCancel$1({ state, emit }),
+    setSelectionRange: setSelectionRange({ state, emit }),
+    watchVisible: watchVisible$4({ nextTick, vm, state, api: api2 }),
+    isValidValue: isValidValue$5({ state }),
+    changeSelectionRange: changeSelectionRange$1({ vm, state }),
+    handleConfirm: handleConfirm$4({ state, emit }),
+    handleKeydown: handleKeydown$2({ api: api2, vm }),
+    handleChange: handleChange$1({ api: api2, emit, state }),
+    watchValue: watchValue$5({ api: api2, emit, nextTick, state })
+  });
+  watch(() => state.value, api2.watchValue);
+  watch(
+    () => props2.show,
+    (value) => {
+      state.visible = value;
+    },
+    { immediate: true }
+  );
+  watch(
+    () => state.selectableRange,
+    (value) => vm.$refs.spinner.state.selectableRange = value
+  );
+  watch(
+    () => state.defaultValue,
+    (value) => !isDate$1(state.value) && (state.date = value ? new Date(value) : /* @__PURE__ */ new Date())
+  );
+  onMounted(() => {
+    api2.handleConfirm(true, true);
+  });
+  watch(() => state.visible, api2.watchVisible);
+  return api2;
+};
+const getArrowHourList = (state) => () => {
+  const hours = state.hours;
+  const step = state.step.hours;
+  return [hours - step >= 0 ? hours - step : void 0, hours, hours + step <= 23 ? hours + step : void 0];
+};
+const getArrowMinuteList = (state) => () => {
+  const minutes = state.minutes;
+  const step = state.step.minutes;
+  return [minutes - step >= 0 ? minutes - step : void 0, minutes, minutes + step <= 59 ? minutes + step : void 0];
+};
+const getArrowSecondList = (state) => () => {
+  const seconds = state.seconds;
+  const step = state.step.seconds;
+  return [seconds - step >= 0 ? seconds - step : void 0, seconds, seconds + step <= 59 ? seconds + step : void 0];
+};
+const increase = ({ api: api2, state }) => () => api2.scrollDown(state.step[state.currentScrollbar]);
+const decrease = ({ api: api2, state }) => () => api2.scrollDown(-state.step[state.currentScrollbar]);
+const modifyDateField = ({ emit, props: props2, state }) => (type, value) => {
+  if (state[type] === value) {
+    return;
+  }
+  switch (type) {
+    case "hours":
+      emit("change", modifyTime(props2.date, value, state.minutes, state.seconds));
+      break;
+    case "minutes":
+      emit("change", modifyTime(props2.date, state.hours, value, state.seconds));
+      break;
+    case "seconds":
+      emit("change", modifyTime(props2.date, state.hours, state.minutes, value));
+      break;
+  }
+};
+const handleClick$2 = (api2) => (type, { value, disabled }) => {
+  if (!disabled) {
+    api2.modifyDateField(type, value);
+    api2.emitSelectRange(type);
+    api2.adjustSpinner(type, value);
+  }
+};
+const emitSelectRange = ({ emit, state }) => (type) => {
+  if (type === "hours") {
+    emit("select-range", 0, 2);
+  } else if (type === "minutes") {
+    emit("select-range", 3, 5);
+  } else if (type === "seconds") {
+    emit("select-range", 6, 8);
+  }
+  state.currentScrollbar = type;
+};
+const bindScrollEvent = ({ api: api2, vm }) => () => {
+  const bindFuntion = (type) => {
+    vm.$refs[type].$refs.wrap.onscroll = (e) => {
+      api2.handleScroll(type, e);
+    };
+  };
+  bindFuntion("hours");
+  bindFuntion("minutes");
+  bindFuntion("seconds");
+};
+const handleScroll = ({ api: api2, vm, state }) => (type) => {
+  let value = Math.round(
+    (vm.$refs[type].$refs.wrap.scrollTop - (api2.scrollBarHeight(type) * 0.5 - 10) / api2.typeItemHeight(type) + 3) / api2.typeItemHeight(type)
+  );
+  const step = state.step[type];
+  const limitVal = { hours: 23, minutes: 59, seconds: 59 };
+  Object.keys(limitVal).forEach((key) => limitVal[key] = Math.floor(limitVal[key] / step) * step);
+  value = api2.selectDateScroll(type, Math.min(value * step, limitVal[type]));
+  api2.modifyDateField(type, value);
+};
+const selectDateScroll = ({ state, props: props2 }) => (type, value) => {
+  if (Object.keys(props2.endDate).length !== 0) {
+    const endHours = props2.endDate.getHours();
+    const endMinutes = props2.endDate.getMinutes();
+    const endSeconds = props2.endDate.getSeconds();
+    if (type === "hours") {
+      value = value > endHours ? state.hours : value;
+    } else if (type === "minutes") {
+      value = state.hours === endHours && value > endMinutes ? state.minutes : value;
+    } else {
+      value = state.hours === endHours && state.minutes === endMinutes && value > endSeconds ? state.seconds : value;
+    }
+  } else if (Object.keys(props2.startDate).length !== 0) {
+    const startHours = props2.startDate.getHours();
+    const startMinutes = props2.startDate.getMinutes();
+    const startSeconds = props2.startDate.getSeconds();
+    if (type === "hours") {
+      value = value < startHours ? state.hours : value;
+    } else if (type === "minutes") {
+      value = state.hours === startHours && value < startMinutes ? state.minutes : value;
+    } else {
+      value = state.hours === startHours && state.minutes === startMinutes && value < startSeconds ? state.seconds : value;
+    }
+  } else if (state.selectableRange.length > 0) {
+    const [startRange, endRange] = state.selectableRange[0];
+    const startRangeHours = startRange.getHours();
+    const endRangeHours = endRange.getHours();
+    const startRangeMinutes = startRange.getMinutes();
+    const endRangeMinutes = endRange.getMinutes();
+    const startRangeSeconds = startRange.getSeconds();
+    const endRangeSeconds = endRange.getSeconds();
+    if (type === "hours") {
+      value = value < startRangeHours || value > endRangeHours ? state.hours : value;
+    } else if (type === "minutes") {
+      if (state.hours === startRangeHours) {
+        value = value < startRangeMinutes ? startRangeMinutes : value;
+      } else if (state.hours === endRangeHours) {
+        value = value > endRangeMinutes ? endRangeMinutes : value;
+      }
+    } else {
+      if (state.hours === startRangeHours && state.minutes === startRangeMinutes) {
+        value = value < startRangeSeconds ? startRangeSeconds : value;
+      } else if (state.hours === endRangeHours && state.minutes === endRangeMinutes) {
+        value = value > endRangeSeconds ? endRangeSeconds : value;
+      }
+      value = startRangeSeconds === 0 && value < 1 ? 0 : value;
+    }
+  }
+  return value;
+};
+const adjustSpinners = ({ api: api2, state, vm }) => (type) => {
+  if (type) {
+    const year = vm.date.getFullYear();
+    const month = vm.date.getUTCMonth() + 1;
+    const day = vm.date.getDate();
+    if (type === "min" && vm.endDate instanceof Date) {
+      state.selectableRange = [[/* @__PURE__ */ new Date(`${year}-${month}-${day} 00:00:00`), vm.endDate]];
+    } else if (type === "max" && vm.startDate instanceof Date) {
+      state.selectableRange = [[vm.startDate, /* @__PURE__ */ new Date(`${year}-${month}-${day} 23:59:59`)]];
+    }
+  }
+  api2.adjustSpinner("hours", state.hours);
+  api2.adjustSpinner("minutes", state.minutes);
+  api2.adjustSpinner("seconds", state.seconds);
+};
+const adjustCurrentSpinner = ({ api: api2, state }) => (type) => {
+  api2.adjustSpinner(type, state[type]);
+};
+const adjustSpinner = ({ api: api2, props: props2, vm, state }) => (type, value) => {
+  if (props2.arrowControl) {
+    return;
+  }
+  const el = vm.$refs[type].$refs.wrap;
+  if (el) {
+    el.scrollTop = Math.max(0, value / state.step[type] * api2.typeItemHeight(type));
+  }
+};
+const scrollDown$1 = ({ api: api2, state }) => (step) => {
+  if (!state.currentScrollbar) {
+    api2.emitSelectRange("hours");
+  }
+  const label = state.currentScrollbar;
+  const hoursArr = state.hoursList;
+  let now = state[label];
+  let diabledHour;
+  const find = (arr, value, key) => arr.find((item) => item[key] === value);
+  if (state.currentScrollbar === "hours") {
+    let total = Math.abs(step);
+    let length = hoursArr.length;
+    while (length-- && total) {
+      now = (now + step + hoursArr.length * total) % (hoursArr.length * total);
+      diabledHour = find(hoursArr, now, "hour");
+      if (diabledHour && diabledHour.disabled) {
+        continue;
+      }
+      total -= total;
+    }
+    if (diabledHour && diabledHour.disabled) {
+      return;
+    }
+  } else {
+    now = (now + step + 60) % 60;
+  }
+  now = Math.round(now / state.step[label]) * state.step[label];
+  api2.modifyDateField(label, now);
+  api2.adjustSpinner(label, now);
+};
+const amPm = (props2) => (hour) => {
+  let shouldShowAmPm = props2.amPmMode.toLowerCase() === "a";
+  if (!shouldShowAmPm) {
+    return "";
+  }
+  let isCapital = props2.amPmMode === "A";
+  let content = hour < 12 ? " am" : " pm";
+  if (isCapital) {
+    content = content.toUpperCase();
+  }
+  return content;
+};
+const typeItemHeight = ({ vm }) => (type) => vm.$refs[type].$el.querySelector(DATEPICKER.Qurtyli).offsetHeight;
+const scrollBarHeight = (vm) => (type) => vm.$refs[type].$el.offsetHeight;
+const api$g = [
+  "state",
+  "emitSelectRange",
+  "adjustCurrentSpinner",
+  "handleClick",
+  "decrease",
+  "increase",
+  "amPm",
+  "adjustSpinners"
+];
+const initState$8 = ({ reactive, computed, props: props2, api: api2 }) => {
+  const state = reactive({
+    selectableRange: [],
+    currentScrollbar: null,
+    hours: computed(() => props2.date.getHours()),
+    minutes: computed(() => props2.date.getMinutes()),
+    seconds: computed(() => props2.date.getSeconds()),
+    hoursList: computed(
+      () => Array.from(getRangeHours(state.selectableRange)).map((disabled, hour) => ({ disabled, hour })).filter(({ hour }) => !(hour % state.step.hours))
+    ),
+    minutesList: computed(
+      () => Array.from(getRangeMinutes(state.selectableRange, state.hours)).map((disabled, minute) => ({ disabled, minute })).filter(({ minute }) => !(minute % state.step.minutes))
+    ),
+    secondsList: computed(
+      () => Array.from(new Array(60)).map((item, second) => ({ second })).filter(({ second }) => !(second % state.step.seconds))
+    ),
+    arrowHourList: computed(() => api2.getArrowHourList()),
+    arrowMinuteList: computed(() => api2.getArrowMinuteList()),
+    arrowSecondList: computed(() => api2.getArrowSecondList()),
+    animationName: "",
+    step: computed(() => ({
+      hours: props2.step.hour * 1 || 1,
+      minutes: props2.step.minute * 1 || 1,
+      seconds: props2.step.second * 1 || 1
+    }))
+  });
+  return state;
+};
+const renderless$g = (props2, { computed, onMounted, reactive, watch, nextTick }, { emit, vm, constants }) => {
+  const api2 = {};
+  const state = initState$8({ reactive, computed, props: props2, api: api2 });
+  onMounted(() => {
+    !props2.arrowControl && api2.bindScrollEvent();
+  });
+  Object.assign(api2, {
+    state,
+    amPm: amPm(props2),
+    typeItemHeight: typeItemHeight({ vm }),
+    scrollBarHeight: scrollBarHeight(vm),
+    getArrowHourList: getArrowHourList(state),
+    getArrowSecondList: getArrowSecondList(state),
+    getArrowMinuteList: getArrowMinuteList(state),
+    emitSelectRange: emitSelectRange({ emit, state }),
+    modifyDateField: modifyDateField({ emit, props: props2, state }),
+    bindScrollEvent: bindScrollEvent({ api: api2, vm }),
+    adjustSpinners: adjustSpinners({ api: api2, state, vm }),
+    adjustSpinner: adjustSpinner({ api: api2, props: props2, vm, state }),
+    increase: increase({ api: api2, state }),
+    decrease: decrease({ api: api2, state }),
+    handleClick: handleClick$2(api2),
+    scrollDown: scrollDown$1({ api: api2, state }),
+    handleScroll: handleScroll({ api: api2, vm, state }),
+    adjustCurrentSpinner: adjustCurrentSpinner({ api: api2, state }),
+    selectDateScroll: selectDateScroll({ state, props: props2 })
+  });
+  watch(
+    () => props2.date,
+    () => {
+      const timeType = ["hours", "minutes", "seconds"];
+      timeType.forEach((type) => {
+        api2.modifyDateField(type, Math.round(state[type] / state.step[type]) * state.step[type]);
+      });
+      nextTick(api2.adjustSpinners);
+    },
+    { immediate: true }
+  );
+  watch(
+    () => state.hoursList,
+    () => {
+      state.animationName = constants.ANIMATIONNAME;
+    },
+    { immediate: true }
+  );
+  return api2;
+};
+var repeat_click_default = (el, binding) => {
+  const LONG_PRESS_INTERVAL = 200;
+  let interval = null;
+  let startTime;
+  const handler = () => {
+    typeof binding.value === "function" && binding.value.apply();
+  };
+  const clear2 = () => {
+    if (Date.now() - startTime < LONG_PRESS_INTERVAL) {
+      handler();
+    }
+    clearInterval(interval);
+    interval = null;
+  };
+  on(el, "mousedown", (e) => {
+    if (e.button !== 0) {
+      return;
+    }
+    startTime = Date.now();
+    once(document, "mouseup", clear2);
+    clearInterval(interval);
+    interval = setInterval(handler, LONG_PRESS_INTERVAL);
+  });
+};
+function _createForOfIteratorHelperLoose$o(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$o(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$o(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$o(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$o(o, minLen);
+}
+function _arrayLikeToArray$o(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$o = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$o(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$o = defineComponent({
+  emits: ["change", "select-range"],
+  components: {
+    TinyScrollbar: _sfc_main$p,
+    IconChevronDown: index$h(),
+    IconChevronUp: index$i()
+  },
+  directives: directive({
+    repeatClick: {
+      bind: repeat_click_default
+    }
+  }),
+  props: [].concat(props, ["date", "defaultValue", "showSeconds", "arrowControl", "amPmMode", "step", "startDate", "endDate"]),
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$g,
+      api: api$g
+    });
+  }
+});
+var _hoisted_1$n = ["onClick"];
+var _hoisted_2$g = ["onClick"];
+var _hoisted_3$f = ["onClick"];
+var _hoisted_4$c = {
+  class: "tiny-time-spinner__arrow tiny-icon-arrow-up"
+};
+var _hoisted_5$b = {
+  class: "tiny-time-spinner__arrow tiny-icon-arrow-down"
+};
+var _hoisted_6$b = {
+  class: "tiny-time-spinner__arrow tiny-icon-arrow-up"
+};
+var _hoisted_7$a = {
+  class: "tiny-time-spinner__arrow tiny-icon-arrow-down"
+};
+var _hoisted_8$9 = {
+  class: "tiny-time-spinner__arrow tiny-icon-arrow-up"
+};
+var _hoisted_9$7 = {
+  class: "tiny-time-spinner__arrow tiny-icon-arrow-down"
+};
+function _sfc_render$o(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
+  var _component_icon_chevron_up = resolveComponent("icon-chevron-up");
+  var _component_icon_chevron_down = resolveComponent("icon-chevron-down");
+  var _directive_repeat_click = resolveDirective("repeat-click");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-time-spinner", {
+        "has-seconds": _ctx.showSeconds
+      }])
+    },
+    [!_ctx.arrowControl ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [createVNode(_component_tiny_scrollbar, {
+        onMouseenter: _cache[0] || (_cache[0] = function($event) {
+          return _ctx.emitSelectRange("hours");
+        }),
+        onMousemove: _cache[1] || (_cache[1] = function($event) {
+          return _ctx.adjustCurrentSpinner("hours");
+        }),
+        class: normalizeClass([[_ctx.state.animationName], "tiny-time-spinner__wrapper"]),
+        "wrap-style": "max-height: inherit;",
+        "view-class": "tiny-time-spinner__list",
+        noresize: "",
+        tag: "ul",
+        ref: "hours"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.hoursList, function(_ref) {
+              var disabled = _ref.disabled, hour = _ref.hour;
+              return openBlock(), createElementBlock("li", {
+                class: normalizeClass(["tiny-time-spinner__item", {
+                  active: hour === _ctx.state.hours,
+                  disabled
+                }]),
+                "data-tag": "li",
+                key: hour,
+                onClick: function onClick($event) {
+                  return _ctx.handleClick("hours", {
+                    value: hour,
+                    disabled
+                  });
+                }
+              }, [createBaseVNode(
+                "span",
+                null,
+                toDisplayString(("0" + (_ctx.amPmMode ? hour % 12 || 12 : hour)).slice(-2)) + toDisplayString(_ctx.amPm(hour)),
+                1
+                /* TEXT */
+              )], 10, _hoisted_1$n);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["class"]), createVNode(_component_tiny_scrollbar, {
+        onMouseenter: _cache[2] || (_cache[2] = function($event) {
+          return _ctx.emitSelectRange("minutes");
+        }),
+        onMousemove: _cache[3] || (_cache[3] = function($event) {
+          return _ctx.adjustCurrentSpinner("minutes");
+        }),
+        class: normalizeClass([[_ctx.state.animationName + "-up"], "tiny-time-spinner__wrapper"]),
+        "wrap-style": "max-height: inherit;",
+        "view-class": "tiny-time-spinner__list",
+        noresize: "",
+        tag: "ul",
+        ref: "minutes"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.minutesList, function(_ref2) {
+              var disabled = _ref2.disabled, minute = _ref2.minute;
+              return openBlock(), createElementBlock("li", {
+                onClick: function onClick($event) {
+                  return _ctx.handleClick("minutes", {
+                    value: minute,
+                    disabled: false
+                  });
+                },
+                key: minute,
+                class: normalizeClass(["tiny-time-spinner__item", {
+                  active: minute === _ctx.state.minutes,
+                  disabled: !disabled
+                }]),
+                "data-tag": "li"
+              }, [createBaseVNode(
+                "span",
+                null,
+                toDisplayString(("0" + minute).slice(-2)),
+                1
+                /* TEXT */
+              )], 10, _hoisted_2$g);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["class"]), withDirectives(createVNode(_component_tiny_scrollbar, {
+        onMouseenter: _cache[4] || (_cache[4] = function($event) {
+          return _ctx.emitSelectRange("seconds");
+        }),
+        onMousemove: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.adjustCurrentSpinner("seconds");
+        }),
+        class: normalizeClass([[_ctx.state.animationName], "tiny-time-spinner__wrapper"]),
+        "wrap-style": "max-height: inherit;",
+        "view-class": "tiny-time-spinner__list",
+        noresize: "",
+        tag: "ul",
+        ref: "seconds"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.secondsList, function(_ref3) {
+              var second = _ref3.second;
+              return openBlock(), createElementBlock("li", {
+                onClick: function onClick($event) {
+                  return _ctx.handleClick("seconds", {
+                    value: second,
+                    disabled: false
+                  });
+                },
+                class: normalizeClass(["tiny-time-spinner__item", {
+                  active: second === _ctx.state.seconds
+                }]),
+                "data-tag": "li",
+                key: second
+              }, [createBaseVNode(
+                "span",
+                null,
+                toDisplayString(("0" + second).slice(-2)),
+                1
+                /* TEXT */
+              )], 10, _hoisted_3$f);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["class"]), [[vShow, _ctx.showSeconds]])],
+      64
+      /* STABLE_FRAGMENT */
+    )) : createCommentVNode("v-if", true), _ctx.arrowControl ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 1
+      },
+      [createBaseVNode(
+        "div",
+        {
+          onMouseenter: _cache[6] || (_cache[6] = function($event) {
+            return _ctx.emitSelectRange("hours");
+          }),
+          class: "tiny-time-spinner__wrapper is-arrow"
+        },
+        [withDirectives((openBlock(), createElementBlock("i", _hoisted_4$c, [createVNode(_component_icon_chevron_up)])), [[_directive_repeat_click, _ctx.decrease]]), withDirectives((openBlock(), createElementBlock("i", _hoisted_5$b, [createVNode(_component_icon_chevron_down)])), [[_directive_repeat_click, _ctx.increase]]), createBaseVNode(
+          "ul",
+          {
+            class: normalizeClass(["tiny-time-spinner__list", [_ctx.state.animationName]]),
+            ref: "hours"
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.arrowHourList, function(hour, key) {
+              return openBlock(), createElementBlock(
+                "li",
+                {
+                  class: normalizeClass(["tiny-time-spinner__item", {
+                    active: hour === _ctx.state.hours,
+                    disabled: _ctx.state.hoursList.find(function(item) {
+                      return item.hour === hour;
+                    }) && _ctx.state.hoursList.find(function(item) {
+                      return item.hour === hour;
+                    }).disabled
+                  }]),
+                  "data-tag": "li",
+                  key
+                },
+                [createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(hour === void 0 ? "" : ("0" + (_ctx.amPmMode ? hour % 12 || 12 : hour)).slice(-2) + _ctx.amPm(hour)),
+                  1
+                  /* TEXT */
+                )],
+                2
+                /* CLASS */
+              );
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )],
+        32
+        /* NEED_HYDRATION */
+      ), createBaseVNode(
+        "div",
+        {
+          onMouseenter: _cache[7] || (_cache[7] = function($event) {
+            return _ctx.emitSelectRange("minutes");
+          }),
+          class: "tiny-time-spinner__wrapper is-arrow"
+        },
+        [withDirectives((openBlock(), createElementBlock("i", _hoisted_6$b, [createVNode(_component_icon_chevron_up)])), [[_directive_repeat_click, _ctx.decrease]]), withDirectives((openBlock(), createElementBlock("i", _hoisted_7$a, [createVNode(_component_icon_chevron_down)])), [[_directive_repeat_click, _ctx.increase]]), createBaseVNode(
+          "ul",
+          {
+            class: normalizeClass(["tiny-time-spinner__list", [_ctx.state.animationName + "-up"]]),
+            ref: "minutes"
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.arrowMinuteList, function(minute, key) {
+              return openBlock(), createElementBlock(
+                "li",
+                {
+                  class: normalizeClass(["tiny-time-spinner__item", {
+                    active: minute === _ctx.state.minutes
+                  }]),
+                  "data-tag": "li",
+                  key
+                },
+                [createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(minute === void 0 ? "" : ("0" + minute).slice(-2)),
+                  1
+                  /* TEXT */
+                )],
+                2
+                /* CLASS */
+              );
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )],
+        32
+        /* NEED_HYDRATION */
+      ), _ctx.showSeconds ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          onMouseenter: _cache[8] || (_cache[8] = function($event) {
+            return _ctx.emitSelectRange("seconds");
+          }),
+          class: "tiny-time-spinner__wrapper is-arrow"
+        },
+        [withDirectives((openBlock(), createElementBlock("i", _hoisted_8$9, [createVNode(_component_icon_chevron_up)])), [[_directive_repeat_click, _ctx.decrease]]), withDirectives((openBlock(), createElementBlock("i", _hoisted_9$7, [createVNode(_component_icon_chevron_down)])), [[_directive_repeat_click, _ctx.increase]]), createBaseVNode(
+          "ul",
+          {
+            class: normalizeClass(["tiny-time-spinner__list", [_ctx.state.animationName]]),
+            ref: "seconds"
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.arrowSecondList, function(second, key) {
+              return openBlock(), createElementBlock(
+                "li",
+                {
+                  class: normalizeClass(["tiny-time-spinner__item", {
+                    active: second === _ctx.state.seconds
+                  }]),
+                  "data-tag": "li",
+                  key
+                },
+                [createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(second === void 0 ? "" : ("0" + second).slice(-2)),
+                  1
+                  /* TEXT */
+                )],
+                2
+                /* CLASS */
+              );
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )],
+        32
+        /* NEED_HYDRATION */
+      )) : createCommentVNode("v-if", true)],
+      64
+      /* STABLE_FRAGMENT */
+    )) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var pc$6 = /* @__PURE__ */ _export_sfc$o(_sfc_main$o, [["render", _sfc_render$o]]);
+function _createForOfIteratorHelperLoose$n(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$n(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$n(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$n(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$n(o, minLen);
+}
+function _arrayLikeToArray$n(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$n = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$n(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var classes$5 = {
+  "wrapper": "max-h-[270px] overflow-hidden flex-1 align-top relative",
+  "is-arrow": "left-0 box-border text-center overflow-hidden",
+  "list": "translate-y-[110px] p-0 m-0 list-none text-center after:content-[''] after:block after:h-[100px] after:w-full",
+  "item": "text-sm text-color-text-primary h-12 w-12 py-1 cursor-pointer mx-auto my-0",
+  "text": "rounded my-0 flex items-center justify-center h-full hover:bg-color-bg-2",
+  "arrow": "text-xs text-color-text-placeholder h-3 leading-3 absolute left-0 w-full z-[1] text-center cursor-pointer",
+  "active": "bg-color-fill-6 hover:bg-color-fill-6 text-color-brand",
+  "disabled": "text-color-text-placeholder cursor-not-allowed bg-transparent hover:bg-transparent"
+};
+var _sfc_main$n = defineComponent({
+  emits: ["change", "select-range"],
+  components: {
+    TinyScrollbar: _sfc_main$p,
+    IconChevronDown: index$h(),
+    IconChevronUp: index$i()
+  },
+  directives: directive({
+    repeatClick: {
+      bind: repeat_click_default
+    }
+  }),
+  props: [].concat(props, ["date", "defaultValue", "showSeconds", "arrowControl", "amPmMode", "step"]),
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$g,
+      api: api$g,
+      classes: classes$5
+    });
+  }
+});
+var _hoisted_1$m = ["onClick"];
+var _hoisted_2$f = ["onClick"];
+var _hoisted_3$e = ["onClick"];
+var _hoisted_4$b = {
+  "data-tag": "tiny-time-spinner__arrow tiny-icon-arrow-up"
+};
+var _hoisted_5$a = {
+  "data-tag": "tiny-time-spinner__arrow tiny-icon-arrow-down"
+};
+var _hoisted_6$a = {
+  "data-tag": "tiny-time-spinner__arrow tiny-icon-arrow-up"
+};
+var _hoisted_7$9 = {
+  "data-tag": "tiny-time-spinner__arrow tiny-icon-arrow-down"
+};
+var _hoisted_8$8 = {
+  "data-tag": "tiny-time-spinner__arrow tiny-icon-arrow-up"
+};
+var _hoisted_9$6 = {
+  "data-tag": "tiny-time-spinner__arrow tiny-icon-arrow-down"
+};
+function _sfc_render$n(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
+  var _component_icon_chevron_up = resolveComponent("icon-chevron-up");
+  var _component_icon_chevron_down = resolveComponent("icon-chevron-down");
+  var _directive_repeat_click = resolveDirective("repeat-click");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-time-spinner",
+      class: normalizeClass(["flex", {
+        "has-seconds": _ctx.showSeconds
+      }])
+    },
+    [!_ctx.arrowControl ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [createVNode(_component_tiny_scrollbar, {
+        onMouseenter: _cache[0] || (_cache[0] = function($event) {
+          return _ctx.emitSelectRange("hours");
+        }),
+        onMousemove: _cache[1] || (_cache[1] = function($event) {
+          return _ctx.adjustCurrentSpinner("hours");
+        }),
+        class: normalizeClass([_ctx.gcls("wrapper"), _ctx.state.animationName]),
+        "data-tag": "tiny-time-spinner__wrapper",
+        "wrap-style": "max-height: inherit;",
+        "data-view-class": "tiny-time-spinner__list",
+        "view-class": _ctx.gcls("list"),
+        noresize: "",
+        tag: "div",
+        ref: "hours"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.hoursList, function(_ref) {
+              var _ctx$m;
+              var disabled = _ref.disabled, hour = _ref.hour;
+              return openBlock(), createElementBlock("div", {
+                onClick: function onClick($event) {
+                  return _ctx.handleClick("hours", {
+                    value: hour,
+                    disabled
+                  });
+                },
+                "data-tag": "li",
+                key: hour,
+                class: normalizeClass([_ctx.gcls("item")])
+              }, [createBaseVNode(
+                "span",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), (_ctx$m = {}, _ctx$m[_ctx.gcls("active")] = hour === _ctx.state.hours, _ctx$m[_ctx.gcls("disabled")] = disabled, _ctx$m)))
+                },
+                toDisplayString(("0" + (_ctx.amPmMode ? hour % 12 || 12 : hour)).slice(-2)) + toDisplayString(_ctx.amPm(hour)),
+                3
+                /* TEXT, CLASS */
+              )], 10, _hoisted_1$m);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["class", "view-class"]), createVNode(_component_tiny_scrollbar, {
+        onMouseenter: _cache[2] || (_cache[2] = function($event) {
+          return _ctx.emitSelectRange("minutes");
+        }),
+        onMousemove: _cache[3] || (_cache[3] = function($event) {
+          return _ctx.adjustCurrentSpinner("minutes");
+        }),
+        class: normalizeClass([_ctx.gcls("wrapper"), _ctx.state.animationName + "-up"]),
+        "data-tag": "tiny-time-spinner__wrapper",
+        "wrap-style": "max-height: inherit;",
+        "data-view-class": "tiny-time-spinner__list",
+        "view-class": _ctx.gcls("list"),
+        noresize: "",
+        tag: "div",
+        ref: "minutes"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.minutesList, function(_ref2) {
+              var _ctx$m2;
+              var disabled = _ref2.disabled, minute = _ref2.minute;
+              return openBlock(), createElementBlock("div", {
+                onClick: function onClick($event) {
+                  return _ctx.handleClick("minutes", {
+                    value: minute,
+                    disabled: false
+                  });
+                },
+                key: minute,
+                "data-tag": "li",
+                class: normalizeClass([_ctx.gcls("item")])
+              }, [createBaseVNode(
+                "span",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), (_ctx$m2 = {}, _ctx$m2[_ctx.gcls("active")] = minute === _ctx.state.minutes, _ctx$m2[_ctx.gcls("disabled")] = !disabled, _ctx$m2)))
+                },
+                toDisplayString(("0" + minute).slice(-2)),
+                3
+                /* TEXT, CLASS */
+              )], 10, _hoisted_2$f);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["class", "view-class"]), withDirectives(createVNode(_component_tiny_scrollbar, {
+        onMouseenter: _cache[4] || (_cache[4] = function($event) {
+          return _ctx.emitSelectRange("seconds");
+        }),
+        onMousemove: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.adjustCurrentSpinner("seconds");
+        }),
+        class: normalizeClass([_ctx.gcls("wrapper"), _ctx.state.animationName]),
+        "data-tag": "tiny-time-spinner__wrapper",
+        "wrap-style": "max-height: inherit;",
+        "data-view-class": "tiny-time-spinner__list",
+        "view-class": _ctx.gcls("list"),
+        noresize: "",
+        tag: "div",
+        ref: "seconds"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.secondsList, function(_ref3) {
+              var _ctx$m3;
+              var second = _ref3.second;
+              return openBlock(), createElementBlock("div", {
+                onClick: function onClick($event) {
+                  return _ctx.handleClick("seconds", {
+                    value: second,
+                    disabled: false
+                  });
+                },
+                "data-tag": "li",
+                class: normalizeClass([_ctx.gcls("item")]),
+                key: second
+              }, [createBaseVNode(
+                "span",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), (_ctx$m3 = {}, _ctx$m3[_ctx.gcls("active")] = second === _ctx.state.seconds, _ctx$m3)))
+                },
+                toDisplayString(("0" + second).slice(-2)),
+                3
+                /* TEXT, CLASS */
+              )], 10, _hoisted_3$e);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["class", "view-class"]), [[vShow, _ctx.showSeconds]])],
+      64
+      /* STABLE_FRAGMENT */
+    )) : createCommentVNode("v-if", true), _ctx.arrowControl ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 1
+      },
+      [createBaseVNode(
+        "div",
+        {
+          onMouseenter: _cache[6] || (_cache[6] = function($event) {
+            return _ctx.emitSelectRange("hours");
+          }),
+          "data-tag": "tiny-time-spinner__wrapper is-arrow",
+          class: normalizeClass(_ctx.gcls(["wrapper", "is-arrow"]))
+        },
+        [withDirectives((openBlock(), createElementBlock("i", _hoisted_4$b, [createVNode(_component_icon_chevron_up)])), [[_directive_repeat_click, _ctx.decrease]]), withDirectives((openBlock(), createElementBlock("i", _hoisted_5$a, [createVNode(_component_icon_chevron_down)])), [[_directive_repeat_click, _ctx.increase]]), createBaseVNode(
+          "ul",
+          {
+            "data-tag": "tiny-time-spinner__list",
+            ref: "hours",
+            class: normalizeClass([_ctx.state.animationName])
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.arrowHourList, function(hour, key) {
+              var _ctx$m4;
+              return openBlock(), createElementBlock("div", {
+                "data-tag": "li",
+                key
+              }, [createBaseVNode(
+                "span",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), (_ctx$m4 = {}, _ctx$m4[_ctx.gcls("active")] = hour === _ctx.state.hours, _ctx$m4[_ctx.gcls("disabled")] = _ctx.state.hoursList.find(function(item) {
+                    return item.hour === hour;
+                  }) && _ctx.state.hoursList.find(function(item) {
+                    return item.hour === hour;
+                  }).disabled, _ctx$m4)))
+                },
+                toDisplayString(hour === void 0 ? "" : ("0" + (_ctx.amPmMode ? hour % 12 || 12 : hour)).slice(-2) + _ctx.amPm(hour)),
+                3
+                /* TEXT, CLASS */
+              )]);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )],
+        34
+        /* CLASS, NEED_HYDRATION */
+      ), createBaseVNode(
+        "div",
+        {
+          onMouseenter: _cache[7] || (_cache[7] = function($event) {
+            return _ctx.emitSelectRange("minutes");
+          }),
+          "data-tag": "tiny-time-spinner__wrapper is-arrow",
+          class: normalizeClass(_ctx.gcls(["wrapper", "is-arrow"]))
+        },
+        [withDirectives((openBlock(), createElementBlock("i", _hoisted_6$a, [createVNode(_component_icon_chevron_up)])), [[_directive_repeat_click, _ctx.decrease]]), withDirectives((openBlock(), createElementBlock("i", _hoisted_7$9, [createVNode(_component_icon_chevron_down)])), [[_directive_repeat_click, _ctx.increase]]), createBaseVNode(
+          "ul",
+          {
+            "data-tag": "tiny-time-spinner__list",
+            ref: "minutes",
+            class: normalizeClass([_ctx.state.animationName + "-up"])
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.arrowMinuteList, function(minute, key) {
+              var _ctx$m5;
+              return openBlock(), createElementBlock("div", {
+                "data-tag": "li",
+                key
+              }, [createBaseVNode(
+                "span",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), (_ctx$m5 = {}, _ctx$m5[_ctx.gcls("active")] = minute === _ctx.state.minutes, _ctx$m5)))
+                },
+                toDisplayString(minute === void 0 ? "" : ("0" + minute).slice(-2)),
+                3
+                /* TEXT, CLASS */
+              )]);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )],
+        34
+        /* CLASS, NEED_HYDRATION */
+      ), _ctx.showSeconds ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          onMouseenter: _cache[8] || (_cache[8] = function($event) {
+            return _ctx.emitSelectRange("seconds");
+          }),
+          "data-tag": "tiny-time-spinner__wrapper is-arrow",
+          class: normalizeClass(_ctx.gcls(["wrapper", "is-arrow"]))
+        },
+        [withDirectives((openBlock(), createElementBlock("i", _hoisted_8$8, [createVNode(_component_icon_chevron_up)])), [[_directive_repeat_click, _ctx.decrease]]), withDirectives((openBlock(), createElementBlock("i", _hoisted_9$6, [createVNode(_component_icon_chevron_down)])), [[_directive_repeat_click, _ctx.increase]]), createBaseVNode(
+          "ul",
+          {
+            "data-tag": "tiny-time-spinner__list",
+            ref: "seconds",
+            class: normalizeClass([_ctx.state.animationName])
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.arrowSecondList, function(second, key) {
+              var _ctx$m6;
+              return openBlock(), createElementBlock("div", {
+                "data-tag": "li",
+                key
+              }, [createBaseVNode(
+                "span",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), (_ctx$m6 = {}, _ctx$m6[_ctx.gcls("active")] = second === _ctx.state.seconds, _ctx$m6)))
+                },
+                toDisplayString(second === void 0 ? "" : ("0" + second).slice(-2)),
+                3
+                /* TEXT, CLASS */
+              )]);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )],
+        34
+        /* CLASS, NEED_HYDRATION */
+      )) : createCommentVNode("v-if", true)],
+      64
+      /* STABLE_FRAGMENT */
+    )) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst$7 = /* @__PURE__ */ _export_sfc$n(_sfc_main$n, [["render", _sfc_render$n]]);
+const index$d = "";
+function _extends$h() {
+  _extends$h = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$h.apply(this, arguments);
+}
+var template$9 = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$6;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$7;
+  }
+  return pc$6;
+};
+var $constants$5 = {
+  ANIMATIONNAME: "tiny-transition-timepicker"
+};
+var TimeSpinner = defineComponent({
+  name: $prefix + "TimeSpinner",
+  componentName: "TimeSpinner",
+  props: _extends$h({}, $props$1, {
+    _constants: {
+      type: Object,
+      default: function _default() {
+        return $constants$5;
+      }
+    },
+    date: {},
+    defaultValue: {},
+    showSeconds: {
+      type: Boolean,
+      default: true
+    },
+    arrowControl: Boolean,
+    amPmMode: {
+      type: String,
+      default: ""
+      // 'a': am/pm; 'A': AM/PM
+    },
+    step: {
+      type: Object,
+      default: function _default2() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      },
+      validator: function validator(_ref) {
+        var hour = _ref.hour, minute = _ref.minute, second = _ref.second;
+        var validateArray = [{
+          value: hour,
+          range: 24
+        }, {
+          value: minute,
+          range: 60
+        }, {
+          value: second,
+          range: 60
+        }];
+        return validateArray.every(function(_ref2) {
+          var value = _ref2.value, range2 = _ref2.range;
+          return value || value === 0 ? Math.floor(value) === value && value > 0 && value <= range2 : true;
+        });
+      }
+    },
+    startDate: {
+      type: Object,
+      default: function _default3() {
+        return {};
+      }
+    },
+    endDate: {
+      type: Object,
+      default: function _default4() {
+        return {};
+      }
+    }
+  }),
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$9
+    });
+  }
+});
+var version$i = "3.16.0";
+TimeSpinner.install = function(Vue) {
+  Vue.component(TimeSpinner.name, TimeSpinner);
+};
+TimeSpinner.version = version$i;
+function _createForOfIteratorHelperLoose$m(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$m(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$m(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$m(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$m(o, minLen);
+}
+function _arrayLikeToArray$m(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$m = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$m(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$m = /* @__PURE__ */ defineComponent({
+  emits: ["dodestroy", "pick", "select-range"],
+  components: {
+    TimeSpinner
+  },
+  props: [].concat(props, ["show", "timeArrowControl", "emitter", "value", "step"]),
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$h,
+      api: api$h
+    });
+  }
+});
+var _hoisted_1$l = {
+  class: "tiny-time-panel__footer"
+};
+function _sfc_render$m(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_time_spinner = resolveComponent("time-spinner");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[2] || (_cache[2] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-time-panel tiny-popper", _ctx.state.popperClass])
+        },
+        [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-time-panel__content", {
+              "has-seconds": _ctx.state.showSeconds
+            }])
+          },
+          [createVNode(_component_time_spinner, {
+            ref: "spinner",
+            step: _ctx.step,
+            onChange: _ctx.handleChange,
+            "arrow-control": _ctx.state.useArrow,
+            "show-seconds": _ctx.state.showSeconds,
+            "am-pm-mode": _ctx.state.amPmMode,
+            onSelectRange: _ctx.setSelectionRange,
+            date: _ctx.state.date
+          }, null, 8, ["step", "onChange", "arrow-control", "show-seconds", "am-pm-mode", "onSelectRange", "date"])],
+          2
+          /* CLASS */
+        ), createBaseVNode("div", _hoisted_1$l, [createBaseVNode(
+          "button",
+          {
+            type: "button",
+            class: "tiny-time-panel__btn cancel",
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.handleCancel && _ctx.handleCancel.apply(_ctx, arguments);
+            })
+          },
+          toDisplayString(_ctx.t("ui.datepicker.cancel")),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "button",
+          {
+            type: "button",
+            class: normalizeClass(["tiny-time-panel__btn", {
+              confirm: !_ctx.state.disabled
+            }]),
+            onClick: _cache[1] || (_cache[1] = function($event) {
+              return _ctx.handleConfirm();
+            })
+          },
+          toDisplayString(_ctx.t("ui.datepicker.confirm")),
+          3
+          /* TEXT, CLASS */
+        )])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  });
+}
+var pc$5 = /* @__PURE__ */ _export_sfc$m(_sfc_main$m, [["render", _sfc_render$m]]);
+function _createForOfIteratorHelperLoose$l(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$l(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$l(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$l(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$l(o, minLen);
+}
+function _arrayLikeToArray$l(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$l = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$l(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$l = defineComponent({
+  emits: ["dodestroy", "pick", "select-range"],
+  components: {
+    TimeSpinner,
+    TinyButton: Button
+  },
+  props: [].concat(props, ["show", "timeArrowControl", "emitter", "value", "step"]),
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$h,
+      api: api$h
+    });
+  }
+});
+var _hoisted_1$k = {
+  "data-tag": "tiny-time-panel__footer",
+  class: "border-t border-t-color-bg-3 py-3 px-4 h-14 leading-7 box-border flex justify-between"
+};
+function _sfc_render$l(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_time_spinner = resolveComponent("time-spinner");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[1] || (_cache[1] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-time-panel tiny-popper us",
+          class: normalizeClass(_ctx.m("my-1 bg-color-bg-1 shadow-md rounded absolute w-60 right-0 z-[1000] box-content select-none", _ctx.state.popperClass))
+        },
+        [createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-time-panel__content",
+            class: normalizeClass(["relative overflow-hidden", {
+              "has-seconds": _ctx.state.showSeconds
+            }])
+          },
+          [createVNode(_component_time_spinner, {
+            ref: "spinner",
+            step: _ctx.step,
+            onChange: _ctx.handleChange,
+            "arrow-control": _ctx.state.useArrow,
+            "show-seconds": _ctx.state.showSeconds,
+            "am-pm-mode": _ctx.state.amPmMode,
+            onSelectRange: _ctx.setSelectionRange,
+            date: _ctx.state.date
+          }, null, 8, ["step", "onChange", "arrow-control", "show-seconds", "am-pm-mode", "onSelectRange", "date"])],
+          2
+          /* CLASS */
+        ), createBaseVNode("div", _hoisted_1$k, [createVNode(_component_tiny_button, {
+          "data-tag": "tiny-time-panel__btn cancel",
+          type: "text",
+          "custom-class": "text-color-brand text-left p-0",
+          onClick: _ctx.handleCancel
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.t("ui.datepicker.cancel")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"]), createVNode(_component_tiny_button, {
+          "data-tag": "tiny-time-panel__btn",
+          type: "primary",
+          disabled: _ctx.state.disabled,
+          onClick: _cache[0] || (_cache[0] = function($event) {
+            return _ctx.handleConfirm();
+          })
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.t("ui.datepicker.confirm")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["disabled"])])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  });
+}
+var mobileFirst$6 = /* @__PURE__ */ _export_sfc$l(_sfc_main$l, [["render", _sfc_render$l]]);
+const index$c = "";
+function _extends$g() {
+  _extends$g = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$g.apply(this, arguments);
+}
+var template$8 = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$5;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$6;
+  }
+  return pc$5;
+};
+var Time = defineComponent({
+  name: $prefix + "Time",
+  componentName: "Time",
+  props: _extends$g({}, $props$1, {
+    show: Boolean,
+    timeArrowControl: Boolean,
+    emitter: Object,
+    value: Date,
+    step: {
+      type: Object,
+      default: function _default5() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    }
+  }),
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$8
+    });
+  }
+});
+var version$h = "3.16.0";
+Time.install = function(Vue) {
+  Vue.component(Time.name, Time);
+};
+Time.version = version$h;
+const formatJudg = ({ day, offset, j, i, cell, count, dateCountOfLastMonth }) => {
+  const nodfpm = day + offset <= 0 ? 7 + day + offset : day + offset;
+  if (j + i * 7 >= nodfpm) {
+    cell.text = count++;
+  } else {
+    cell.text = dateCountOfLastMonth - (nodfpm - j % 7) + 1 + i * 7;
+    cell.type = DATEPICKER.PreMonth;
+  }
+  return { count };
+};
+const getOffsetDay = (props2) => () => {
+  const week = props2.firstDayOfWeek;
+  return week > 3 ? 7 - week : -week;
+};
+const getWeeks = ({ props: props2, state }) => () => {
+  const week = props2.firstDayOfWeek;
+  return state.constWeeks.concat(state.constWeeks).slice(week, week + 7);
+};
+const getDateTimestamp = (time) => {
+  if (typeof time === "number" || typeof time === "string") {
+    return clearTime(new Date(time)).getTime();
+  } else if (time instanceof Date) {
+    return clearTime(time).getTime();
+  }
+  return NaN;
+};
+const getSelected = (props2, cell, format2, t2, cellDate, selectedDate) => {
+  let selected = cell.selected;
+  if (props2.selectionMode === "dates") {
+    selected = arrayFind(selectedDate, (date) => formatDate$1(date, format2, t2) === formatDate$1(cellDate, format2, t2));
+  } else {
+    selected = arrayFind(selectedDate, (date) => date.getTime() === cellDate.getTime());
+  }
+  return selected;
+};
+const getCell = ({ state, props: props2 }) => (row, i, j) => {
+  const now = getDateTimestamp(/* @__PURE__ */ new Date());
+  let cell = row[props2.showWeekNumber ? j + 1 : j];
+  if (!cell) {
+    cell = { row: i, column: j, inRange: false, start: false, end: false, type: DATEPICKER.Normal };
+  }
+  cell.type = DATEPICKER.Normal;
+  const index3 = i * 7 + j;
+  const time = nextDate(state.startDate, index3 - state.offsetDay).getTime();
+  cell.inRange = time >= getDateTimestamp(props2.minDate) && time <= getDateTimestamp(props2.maxDate);
+  cell.start = props2.minDate && time === getDateTimestamp(props2.minDate);
+  cell.end = props2.maxDate && time === getDateTimestamp(props2.maxDate);
+  time === now && (cell.type = DATEPICKER.Today);
+  return { cell, cellDate: new Date(time) };
+};
+const doCount = ({ i, day, offset, j, cell, count, dateCountOfLastMonth, dateCountOfMonth }) => {
+  if (i >= 0 && i <= 1) {
+    const ret = formatJudg({ day, offset, j, i, cell, count, dateCountOfLastMonth });
+    count = ret.count;
+  } else {
+    if (count <= dateCountOfMonth) {
+      cell.text = count++;
+    } else {
+      cell.text = count++ - dateCountOfMonth;
+      cell.type = DATEPICKER.NextMonth;
+    }
+  }
+  return count;
+};
+const getRows$2 = ({ api: api2, props: props2, state, t: t2, vm }) => () => {
+  const date = new Date(state.year, state.month, 1);
+  let day = getFirstDayOfMonth(date);
+  const dateCountOfMonth = getDayCountOfMonth(date.getFullYear(), date.getMonth());
+  const dateCountOfLastMonth = getDayCountOfMonth(
+    date.getFullYear(),
+    date.getMonth() === 0 ? 11 : date.getMonth() - 1
+  );
+  day = day === 0 ? 7 : day;
+  const offset = state.offsetDay;
+  const rows = state.tableRows;
+  const startDate = state.startDate;
+  const disabledDate = props2.disabledDate;
+  const cellClassName = props2.cellClassName;
+  const selectedDate = props2.selectionMode === DATEPICKER.Dates ? coerceTruthyValueToArray(props2.value) : [];
+  let count = 1;
+  const isFunction = props2.formatWeeks instanceof Function;
+  const arr = [];
+  for (let i = 0; i < 6; i++) {
+    const row = rows[i];
+    if (props2.showWeekNumber) {
+      row[0] = {
+        type: DATEPICKER.Week,
+        text: getWeekNumber(nextDate(startDate, i * 7 + 1))
+      };
+    }
+    arr[i] = [];
+    for (let j = 0; j < 7; j++) {
+      const { cell, cellDate } = api2.getCell(row, i, j, DATEPICKER.Normal, props2);
+      count = doCount({ i, day, offset, j, cell, count, dateCountOfLastMonth, dateCountOfMonth });
+      cell.disabled = typeof disabledDate === "function" && disabledDate(cellDate);
+      cell.selected = getSelected(props2, cell, DATEPICKER.DateFormats.date, t2, cellDate, selectedDate);
+      cell.customClass = typeof cellClassName === "function" && cellClassName(cellDate);
+      vm.$set(row, props2.showWeekNumber ? j + 1 : j, cell);
+      arr[i].push(cellDate);
+    }
+    if (props2.selectionMode === DATEPICKER.Week) {
+      const [start, end] = props2.showWeekNumber ? [1, 7] : [0, 6];
+      const isWeekActive2 = api2.isWeekActive(row[start + 1]);
+      Object.assign(row[start], { inRange: isWeekActive2, start: isWeekActive2 });
+      Object.assign(row[end], { inRange: isWeekActive2, end: isWeekActive2 });
+    }
+  }
+  const res = [];
+  for (let i = 0; i < arr.length; i++) {
+    res.push(arr[i][0].getFullYear() + "/" + (arr[i][0].getMonth() + 1) + "/" + arr[i][0].getDate());
+  }
+  if (props2.showWeekNumber && isFunction) {
+    for (let i = 0; i < 6; i++) {
+      let val = getWeekNumber(nextDate(startDate, i * 7 + 1));
+      rows[i][0].text = props2.formatWeeks(val, res);
+    }
+  }
+  return rows;
+};
+const arrayFindIndex = (arr, pred) => {
+  for (let i = 0, len = arr.length; i !== len; ++i) {
+    if (pred(arr[i])) {
+      return i;
+    }
+  }
+  return -1;
+};
+const arrayFind = (arr, pred) => {
+  const idx = arrayFindIndex(arr, pred);
+  return ~idx ? arr[idx] : void 0;
+};
+const coerceTruthyValueToArray = (val) => Array.isArray(val) ? val : val ? [val] : [];
+const watchMinDate$1 = ({ api: api2, props: props2 }) => (value, oldvalue) => {
+  if (getDateTimestamp(value) !== getDateTimestamp(oldvalue)) {
+    api2.markRange(props2.minDate, props2.maxDate);
+  }
+};
+const watchMaxDate$1 = ({ api: api2, props: props2 }) => (value, oldvalue) => {
+  if (getDateTimestamp(value) !== getDateTimestamp(oldvalue)) {
+    api2.markRange(props2.minDate, props2.maxDate);
+  }
+};
+const cellMatchesDate$1 = (state) => (cell, date) => {
+  const value = new Date(date);
+  return state.year === value.getFullYear() && state.month === value.getMonth() && Number(cell.text) === value.getDate();
+};
+const getCellRangeClasses = ({ props: props2 }) => (cell, classes2) => {
+  if (cell.type === DATEPICKER.Normal || cell.type === DATEPICKER.Today || props2.selectionMode === DATEPICKER.Week) {
+    classes2.push(DATEPICKER.InRange);
+    if (cell.start) {
+      classes2.push(DATEPICKER.StartDate);
+    }
+    if (cell.end) {
+      classes2.push(DATEPICKER.EndDate);
+    }
+  }
+};
+const getCellClasses = ({ api: api2, props: props2, state }) => (cell) => {
+  let classes2 = [];
+  const selectionMode = props2.selectionMode;
+  const defaultValue = props2.defaultValue ? Array.isArray(props2.defaultValue) ? props2.defaultValue : [props2.defaultValue] : [];
+  if ((cell.type === DATEPICKER.Normal || cell.type === DATEPICKER.Today) && !cell.disabled) {
+    classes2.push(DATEPICKER.Aviailable);
+    if (cell.type === DATEPICKER.Today) {
+      classes2.push(DATEPICKER.Today);
+    }
+  } else {
+    classes2.push(cell.type);
+  }
+  if (cell.type === DATEPICKER.Normal && defaultValue.some((date) => api2.cellMatchesDate(cell, date))) {
+    classes2.push(DATEPICKER.Default);
+  }
+  if (selectionMode === DATEPICKER.Day && ~[DATEPICKER.Normal, DATEPICKER.Today].indexOf(cell.type) && api2.cellMatchesDate(cell, props2.value || state.date)) {
+    classes2.push(DATEPICKER.Current);
+  }
+  if (cell.inRange) {
+    api2.getCellRangeClasses(cell, classes2);
+  }
+  if (cell.disabled) {
+    classes2.push(DATEPICKER.Disabled);
+  }
+  if (cell.selected) {
+    classes2.push(DATEPICKER.Selected);
+  }
+  if (cell.customClass) {
+    classes2.push(cell.customClass);
+  }
+  return classes2.join(" ");
+};
+const getDateOfCell = ({ props: props2, state }) => (row, column) => {
+  const offsetFromStart = row * 7 + (column - (props2.showWeekNumber ? 1 : 0)) - state.offsetDay;
+  return nextDate(state.startDate, offsetFromStart);
+};
+const isWeekActive = ({ props: props2, state }) => (cell) => {
+  if (props2.selectionMode !== DATEPICKER.Week) {
+    return false;
+  }
+  const newDate = new Date(state.year, state.month, 1);
+  const year = newDate.getFullYear();
+  const month = newDate.getMonth();
+  if (cell.type === DATEPICKER.PreMonth) {
+    newDate.setMonth(month === 0 ? 11 : month - 1);
+    newDate.setFullYear(month === 0 ? year - 1 : year);
+  }
+  if (cell.type === DATEPICKER.NextMonth) {
+    newDate.setMonth(month === 11 ? 0 : month + 1);
+    newDate.setFullYear(month === 11 ? year + 1 : year);
+  }
+  newDate.setDate(parseInt(cell.text, 10));
+  if (isDate$1(props2.value)) {
+    const dayOffset = (props2.value.getDay() - props2.firstDayOfWeek + 7) % 7 - 1;
+    const weekDate = prevDate(props2.value, dayOffset);
+    return weekDate.getTime() === newDate.getTime();
+  }
+  return false;
+};
+const markRange$2 = ({ props: props2, state }) => (minDate, maxDate) => {
+  const minDateTimestamp = getDateTimestamp(minDate);
+  const maxDateTimestamp = getDateTimestamp(maxDate) || minDateTimestamp;
+  minDate = Math.min(minDateTimestamp, maxDateTimestamp);
+  maxDate = Math.max(minDateTimestamp, maxDateTimestamp);
+  const startDate = state.startDate;
+  const rows = state.rows;
+  for (let i = 0, k = rows.length; i < k; i++) {
+    const row = rows[i];
+    for (let j = 0, l = row.length; j < l; j++) {
+      if (props2.showWeekNumber && j === 0)
+        continue;
+      const cell = row[j];
+      const index3 = i * 7 + j + (props2.showWeekNumber ? -1 : 0);
+      const time = nextDate(startDate, index3 - state.offsetDay).getTime();
+      cell.inRange = minDate && time >= minDate && time <= maxDate;
+      cell.start = minDate && time === minDate;
+      cell.end = maxDate && time === maxDate;
+    }
+  }
+};
+const handleMouseMove$2 = ({ api: api2, emit, props: props2, state }) => (event) => {
+  if (!props2.rangeState.selecting) {
+    return;
+  }
+  let targetEl = event.target;
+  if (targetEl.tagName === "SPAN") {
+    targetEl = targetEl.parentNode.parentNode;
+  }
+  if (targetEl.tagName === "DIV") {
+    targetEl = targetEl.parentNode;
+  }
+  if (targetEl.tagName !== "TD") {
+    return;
+  }
+  const row = targetEl.parentNode.rowIndex - 1;
+  const column = targetEl.cellIndex;
+  if (state.rows[row][column].disabled) {
+    return;
+  }
+  if (row !== state.lastRow || column !== state.lastColumn) {
+    state.lastRow = row;
+    state.lastColumn = column;
+    emit("changerange", {
+      minDate: props2.minDate,
+      maxDate: props2.maxDate,
+      rangeState: {
+        selecting: true,
+        endDate: api2.getDateOfCell(row, column)
+      }
+    });
+  }
+};
+const getTarget$3 = (event) => {
+  let target = event.target;
+  if (target.tagName === "SPAN") {
+    target = target.parentNode.parentNode;
+  }
+  if (target.tagName === "DIV") {
+    target = target.parentNode;
+  }
+  return target;
+};
+const handleClick$1 = ({ api: api2, emit, props: props2, state }) => (event) => {
+  let target = getTarget$3(event);
+  if (target.tagName !== "TD") {
+    return;
+  }
+  const row = target.parentNode.rowIndex - 1;
+  const column = props2.selectionMode === DATEPICKER.Week ? 1 : target.cellIndex;
+  const cell = state.rows[row][column];
+  if (cell.disabled || cell.type === DATEPICKER.Week) {
+    return;
+  }
+  const newDate = api2.getDateOfCell(row, column);
+  if (props2.selectionMode === DATEPICKER.Range) {
+    if (!props2.rangeState.selecting) {
+      props2.rangeState.selecting = true;
+      emit("pick", { minDate: newDate, maxDate: null });
+    } else {
+      if (newDate >= props2.minDate) {
+        emit("pick", { minDate: props2.minDate, maxDate: newDate });
+      } else {
+        emit("pick", { minDate: newDate, maxDate: props2.minDate });
+      }
+      props2.rangeState.selecting = false;
+    }
+  } else if (props2.selectionMode === DATEPICKER.Day) {
+    emit("pick", newDate);
+  } else if (props2.selectionMode === DATEPICKER.Week) {
+    const weekNumber = getWeekNumber(newDate);
+    const value = newDate.getFullYear() + "w" + weekNumber;
+    emit("pick", {
+      year: newDate.getFullYear(),
+      week: weekNumber,
+      value,
+      date: newDate
+    });
+  } else if (props2.selectionMode === DATEPICKER.Dates) {
+    const value = props2.value || [];
+    const newValue = cell.selected ? removeFromArray(value, (date) => date.getTime() === newDate.getTime()) : [...value, newDate];
+    emit("pick", newValue);
+  }
+};
+const removeFromArray = (arr, pred) => {
+  const idx = typeof pred === "function" ? arrayFindIndex(arr, pred) : arr.indexOf(pred);
+  return idx >= 0 ? [...arr.slice(0, idx), ...arr.slice(idx + 1)] : arr;
+};
+const getCssToken = ({ api: api2 }) => (cell, prexfix = "") => {
+  const cssStr = api2.getCellClasses(cell) || "";
+  return cssStr.split(" ").map((className) => prexfix + className);
+};
+const api$f = ["state", "getCellClasses", "getCssToken", "isWeekActive", "handleMouseMove", "handleClick"];
+const initState$7 = ({ reactive, computed, api: api2, props: props2 }) => {
+  const state = reactive({
+    tableRows: [[], [], [], [], [], []],
+    lastRow: null,
+    lastColumn: null,
+    constWeeks: ["sun", "mon", "tue", "wed", "thu", "fri", "sat"],
+    rows: computed(() => api2.getRows()),
+    weeks: computed(() => api2.getWeeks()),
+    month: computed(() => !Array.isArray(props2.date) && props2.date.getMonth()),
+    offsetDay: computed(() => api2.getOffsetDay()),
+    year: computed(() => !Array.isArray(props2.date) && props2.date.getFullYear()),
+    startDate: computed(() => getStartDateOfMonth(state.year, state.month, state.offsetDay)),
+    date: props2.value
+  });
+  return state;
+};
+const initApi$3 = ({ api: api2, state, props: props2, emit, t: t2, vm }) => {
+  Object.assign(api2, {
+    t: t2,
+    state,
+    getOffsetDay: getOffsetDay(props2),
+    getWeeks: getWeeks({ props: props2, state }),
+    markRange: markRange$2({ props: props2, state }),
+    cellMatchesDate: cellMatchesDate$1(state),
+    getDateOfCell: getDateOfCell({ props: props2, state }),
+    getCell: getCell({ state, props: props2 }),
+    isWeekActive: isWeekActive({ props: props2, state }),
+    watchMaxDate: watchMaxDate$1({ api: api2, props: props2 }),
+    watchMinDate: watchMinDate$1({ api: api2, props: props2 }),
+    handleMouseMove: handleMouseMove$2({ api: api2, emit, props: props2, state }),
+    getRows: getRows$2({ api: api2, props: props2, state, t: t2, vm }),
+    handleClick: handleClick$1({ api: api2, emit, props: props2, state }),
+    getCellClasses: getCellClasses({ api: api2, props: props2, state }),
+    getCssToken: getCssToken({ api: api2 }),
+    getCellRangeClasses: getCellRangeClasses({ props: props2 })
+  });
+};
+const initWatch$4 = ({ watch, props: props2, api: api2 }) => {
+  watch(
+    () => props2.rangeState,
+    (value) => api2.markRange(props2.minDate, value.endDate),
+    { deep: true }
+  );
+  watch(() => props2.minDate, api2.watchMinDate);
+  watch(() => props2.maxDate, api2.watchMaxDate);
+};
+const renderless$f = (props2, { computed, reactive, watch }, { t: t2, vm, emit }) => {
+  const api2 = {};
+  const state = initState$7({ reactive, computed, api: api2, props: props2 });
+  initApi$3({ api: api2, state, props: props2, emit, t: t2, vm });
+  initWatch$4({ watch, props: props2, api: api2 });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$k(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$k(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$k(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$k(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$k(o, minLen);
+}
+function _arrayLikeToArray$k(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$k = function _export_sfc25(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$k(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$k = defineComponent({
+  emits: ["changerange", "pick"],
+  props: [].concat(props, ["cellClassName", "date", "defaultValue", "disabledDate", "firstDayOfWeek", "maxDate", "minDate", "rangeState", "selectionMode", "showWeekNumber", "value", "formatWeeks"]),
+  setup: function setup$15(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$f,
+      api: api$f,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$j = {
+  key: 0
+};
+function _sfc_render$k(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "table",
+    {
+      class: normalizeClass(["tiny-date-table", {
+        "is-week-mode": _ctx.selectionMode === "week"
+      }]),
+      cellspacing: "0",
+      onMousemove: _cache[0] || (_cache[0] = withModifiers(function() {
+        return _ctx.handleMouseMove && _ctx.handleMouseMove.apply(_ctx, arguments);
+      }, ["stop"])),
+      cellpadding: "0",
+      onClick: _cache[1] || (_cache[1] = withModifiers(function() {
+        return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
+      }, ["stop"]))
+    },
+    [createBaseVNode("tbody", null, [createBaseVNode("tr", null, [_ctx.showWeekNumber ? (openBlock(), createElementBlock(
+      "th",
+      _hoisted_1$j,
+      toDisplayString(_ctx.t("ui.datepicker.week")),
+      1
+      /* TEXT */
+    )) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.weeks, function(weekDay, key) {
+        return openBlock(), createElementBlock(
+          "th",
+          {
+            key
+          },
+          toDisplayString(_ctx.t("ui.datepicker.weeks." + weekDay)),
+          1
+          /* TEXT */
+        );
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))]), (openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.rows, function(row, key) {
+        return openBlock(), createElementBlock(
+          "tr",
+          {
+            class: normalizeClass(["tiny-date-table__row", {
+              current: _ctx.isWeekActive(row[1])
+            }]),
+            key
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(row, function(cellValue, key2) {
+              return openBlock(), createElementBlock(
+                "td",
+                {
+                  key: key2,
+                  class: normalizeClass(_ctx.getCellClasses(cellValue))
+                },
+                [createBaseVNode("div", null, [createBaseVNode(
+                  "span",
+                  null,
+                  toDisplayString(cellValue.text),
+                  1
+                  /* TEXT */
+                )])],
+                2
+                /* CLASS */
+              );
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        );
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))])],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var pc$4 = /* @__PURE__ */ _export_sfc$k(_sfc_main$k, [["render", _sfc_render$k]]);
+function _createForOfIteratorHelperLoose$j(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$j(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$j(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$j(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$j(o, minLen);
+}
+function _arrayLikeToArray$j(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$j = function _export_sfc26(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$j(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$f() {
+  _extends$f = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$f.apply(this, arguments);
+}
+var common = {
+  "next-month": "text-color-text-disabled cursor-pointer group-hover:bg-inherit",
+  "current": "group-hover:text-color-text-inverse group-hover:bg-color-brand text-color-text-inverse bg-color-brand",
+  "start-date": "text-color-text-inverse bg-color-brand group-hover:bg-color-brand"
+};
+var classes$4 = _extends$f({}, common, {
+  "today": "border border-solid border-color-border-focus",
+  "pre-month": common["next-month"],
+  "selected": common["current"],
+  "th": "px-1 py-4 text-color-text-primary font-normal whitespace-nowrap",
+  "td": "box-border text-center cursor-pointer relative group",
+  "cell": "h-8 mb-2.5 box-border",
+  "in-range": "",
+  "cell-in-range": "bg-color-brand-hover-subtle text-color-brand",
+  "disabled": "text-color-text-disabled group-hover:text-color-text-disabled cursor-pointer cursor-not-allowed bg-color-bg-3 group-hover:bg-color-bg-3",
+  "cell-disabled": "bg-color-bg-3 text-color-text-disabled",
+  "text": "w-8 h-8 leading-8 block absolute left-1/2 box-border -translate-x-2/4 rounded group-hover:bg-color-brand-hover-subtle",
+  "end-date": common["start-date"],
+  "token": ""
+});
+var _sfc_main$j = defineComponent({
+  props: [].concat(props, ["cellClassName", "date", "defaultValue", "disabledDate", "firstDayOfWeek", "maxDate", "minDate", "rangeState", "selectionMode", "showWeekNumber", "value", "formatWeeks"]),
+  setup: function setup$16(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$f,
+      api: api$f,
+      classes: classes$4
+    });
+  }
+});
+var _hoisted_1$i = {
+  key: 0
+};
+var _hoisted_2$e = ["data-tag"];
+var _hoisted_3$d = ["textContent"];
+function _sfc_render$j(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "table",
+    {
+      cellpadding: "0",
+      cellspacing: "0",
+      "data-tag": "tiny-date-table",
+      class: normalizeClass(["table-fixed w-full"]),
+      onMousemove: _cache[0] || (_cache[0] = function() {
+        return _ctx.handleMouseMove && _ctx.handleMouseMove.apply(_ctx, arguments);
+      }),
+      onClick: _cache[1] || (_cache[1] = function() {
+        return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
+      })
+    },
+    [createBaseVNode("tbody", null, [createBaseVNode("tr", null, [_ctx.showWeekNumber ? (openBlock(), createElementBlock("th", _hoisted_1$i, [createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(_ctx.gcls("th"))
+      },
+      toDisplayString(_ctx.t("ui.datepicker.week")),
+      3
+      /* TEXT, CLASS */
+    )])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.weeks, function(week, weekIdx) {
+        return openBlock(), createElementBlock("th", {
+          key: weekIdx
+        }, [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(_ctx.gcls("th"))
+          },
+          toDisplayString(_ctx.t("ui.datepicker.weeks." + week)),
+          3
+          /* TEXT, CLASS */
+        )]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))]), (openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.rows, function(row, trIdx) {
+        return openBlock(), createElementBlock(
+          "tr",
+          {
+            "data-tag": "tiny-date-table__row",
+            key: trIdx,
+            class: normalizeClass({
+              current: _ctx.isWeekActive(row[1])
+            })
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(row, function(cell, tdIdx) {
+              return openBlock(), createElementBlock("td", {
+                key: tdIdx,
+                "data-tag": _ctx.getCellClasses(cell),
+                class: normalizeClass(_ctx.gcls("td"))
+              }, [createBaseVNode(
+                "div",
+                {
+                  class: normalizeClass(_ctx.m(_ctx.gcls("cell"), _ctx.gcls(_ctx.getCssToken(cell, "cell-")), {
+                    "rounded-l": tdIdx === 0
+                  }, {
+                    "rounded-r": tdIdx === 6
+                  }))
+                },
+                [createBaseVNode("span", {
+                  textContent: toDisplayString(cell.text),
+                  class: normalizeClass(_ctx.m(_ctx.gcls("text"), _ctx.gcls(_ctx.getCellClasses(cell).split(" "))))
+                }, null, 10, _hoisted_3$d)],
+                2
+                /* CLASS */
+              )], 10, _hoisted_2$e);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        );
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))])],
+    32
+    /* NEED_HYDRATION */
+  );
+}
+var mobileFirst$5 = /* @__PURE__ */ _export_sfc$j(_sfc_main$j, [["render", _sfc_render$j]]);
+const index$b = "";
+function _extends$e() {
+  _extends$e = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$e.apply(this, arguments);
+}
+var template$7 = function template23(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$4;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$5;
+  }
+  return pc$4;
+};
+var DateTable = defineComponent({
+  name: $prefix + "DateTable",
+  componentName: "DateTable",
+  props: _extends$e({}, $props$1, {
+    cellClassName: {},
+    date: {},
+    defaultValue: {
+      validator: function validator2(val) {
+        return val === null || isDate$1(val) || Array.isArray(val) && val.every(isDate$1);
+      }
+    },
+    disabledDate: {},
+    firstDayOfWeek: {
+      default: 7,
+      type: Number,
+      validator: function validator22(val) {
+        return val >= 1 && val <= 7;
+      }
+    },
+    maxDate: {},
+    minDate: {},
+    rangeState: {
+      default: function _default6() {
+        return {
+          endDate: null,
+          selecting: false
+        };
+      }
+    },
+    selectionMode: {
+      default: function _default22() {
+        return "day";
+      }
+    },
+    showWeekNumber: {
+      type: Boolean,
+      default: function _default32() {
+        return false;
+      }
+    },
+    value: {},
+    formatWeeks: Function
+  }),
+  setup: function setup4(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$7
+    });
+  }
+});
+var version$g = "3.16.0";
+DateTable.install = function(Vue) {
+  Vue.component(DateTable.name, DateTable);
+};
+DateTable.version = version$g;
+const datesInYear = (year) => {
+  const numOfDays = getDayCountOfYear(year);
+  const firstDay = new Date(year, 0, 1);
+  return range(numOfDays).map((n) => nextDate(firstDay, n));
+};
+const getCellStyle$2 = ({ props: props2 }) => (cell) => {
+  const { defaultValue } = props2;
+  const year = cell.text;
+  const style = {};
+  const today = /* @__PURE__ */ new Date();
+  style.disabled = typeof props2.disabledDate === "function" ? datesInYear(year).every(props2.disabledDate) : false;
+  const execDate = typeof props2.value === "object" ? props2.value : toDate(props2.value);
+  style.current = arrayFindIndex(coerceTruthyValueToArray(execDate), (date) => date.getFullYear() === year) >= 0;
+  style.today = today.getFullYear() === year;
+  style.default = Array.isArray(defaultValue) ? defaultValue.some((v) => v && v.getFullYear() === year) : defaultValue && defaultValue.getFullYear() === year;
+  if (cell.inRange) {
+    style[DATEPICKER.InRange] = true;
+  }
+  if (cell.start) {
+    style[DATEPICKER.StartDate] = true;
+  }
+  if (cell.end) {
+    style[DATEPICKER.EndDate] = true;
+  }
+  return style;
+};
+const getRows$1 = ({ props: props2, state, vm }) => () => {
+  const { tableRows } = state;
+  const { minDate, maxDate, disabledDate, startYear, selectionMode } = props2;
+  const selectedDate = [];
+  const now = (/* @__PURE__ */ new Date()).getFullYear();
+  for (let i = 0; i < 3; i++) {
+    const row = tableRows[i];
+    for (let j = 0; j < 4; j++) {
+      let cell = row[j];
+      if (!cell) {
+        cell = {
+          type: DATEPICKER.Normal,
+          row: i,
+          column: j,
+          inRange: false,
+          start: false,
+          end: false
+        };
+      }
+      const year = startYear + (cell.row * 4 + cell.column);
+      const isToday = year === now;
+      cell.text = year;
+      cell.type = isToday ? DATEPICKER.Today : DATEPICKER.Normal;
+      cell.disabled = typeof disabledDate === "function" && disabledDate(new Date(year, 0, 1));
+      if (selectionMode === DATEPICKER.YearRange) {
+        const minYear = typeof minDate === "object" && minDate ? minDate.getFullYear() : minDate;
+        const maxYear = typeof maxDate === "object" && maxDate ? maxDate.getFullYear() : maxDate;
+        cell.start = minYear === year;
+        cell.end = maxYear === year;
+        cell.inRange = year > minYear && year < maxYear || [minYear, maxYear].includes(year);
+        cell.selected = arrayFind(
+          selectedDate,
+          (item) => (typeof item === "object" ? item.getFullYear() : item) === year
+        );
+      }
+      vm.$set(row, j, cell);
+    }
+  }
+  return tableRows;
+};
+const markRange$1 = ({ props: props2, state }) => (min, max) => {
+  const rows = state.rows;
+  const [minDate, maxDate] = [min, max].sort((a, b) => a && a < b ? -1 : 1);
+  const minYear = typeof minDate === "object" && minDate ? minDate.getFullYear() : minDate;
+  const maxYear = typeof maxDate === "object" && maxDate ? maxDate.getFullYear() : maxDate;
+  if (props2.selectionMode === DATEPICKER.YearRange) {
+    for (let i = 0, len = rows.length; i < len; i++) {
+      const row = rows[i];
+      for (let j = 0, l = row.length; j < l; j++) {
+        const cell = row[j];
+        const year = cell.text;
+        cell.start = minYear && minYear === year;
+        cell.end = maxYear && maxYear === year;
+        cell.inRange = year > minYear && year < maxYear || cell.start || cell.end;
+        cell.selected = cell.inRange;
+      }
+    }
+  }
+};
+const watchDate$1 = ({ api: api2, props: props2 }) => (value, oldvalue) => {
+  if (value !== oldvalue) {
+    api2.markRange(props2.minDate, props2.maxDate);
+  }
+};
+const handleYearTableClick = ({ emit, props: props2 }) => (event) => {
+  const target = event.target;
+  const { selectionMode } = props2;
+  if (target.tagName === "A") {
+    if (hasClass(target.parentNode.parentNode, "disabled")) {
+      return;
+    }
+    const year = Number(target.textContent || target.innerText);
+    if (selectionMode === DATEPICKER.Years) {
+      const years = Array.isArray(props2.value) ? props2.value.map((v) => v.getFullYear()) : [];
+      const index3 = years.indexOf(year);
+      if (index3 === -1) {
+        years.push(year);
+      } else {
+        years.splice(index3, 1);
+      }
+      emit("pick", years.slice());
+    } else if (selectionMode === DATEPICKER.YearRange) {
+      let { minDate, maxDate } = props2;
+      if (props2.rangeState.selecting) {
+        props2.rangeState.selecting = false;
+        if (year < minDate) {
+          maxDate = minDate;
+          minDate = year;
+        } else {
+          maxDate = year;
+        }
+      } else {
+        props2.rangeState.selecting = true;
+        minDate = year;
+        maxDate = null;
+      }
+      emit("pick", { minDate, maxDate });
+    } else {
+      emit("pick", year);
+    }
+  }
+};
+const getTarget$2 = (evt) => {
+  let target = evt.target;
+  const tagName = target.tagName;
+  if (tagName === "A") {
+    target = target.parentNode.parentNode;
+  }
+  if (tagName === "DIV") {
+    target = target.parentNode;
+  }
+  if (tagName !== "TD") {
+    return;
+  }
+  return target;
+};
+const handleMouseMove$1 = ({ emit, props: props2, state }) => (event) => {
+  const { selectionMode, startYear, rangeState, minDate, maxDate } = props2;
+  if (selectionMode !== DATEPICKER.YearRange || !rangeState.selecting) {
+    return;
+  }
+  const target = getTarget$2(event);
+  if (!target) {
+    return;
+  }
+  const row = target.parentNode.rowIndex;
+  const column = target.cellIndex;
+  if (state.rows[row][column].disabled || minDate === maxDate) {
+    return;
+  }
+  if (row !== state.lastRow || column !== state.lastColumn) {
+    state.lastColumn = column;
+    state.lastRow = row;
+    const year = startYear + row * 4 + column;
+    emit("changerange", {
+      minDate,
+      maxDate,
+      rangeState: {
+        selecting: true,
+        endDate: year
+      }
+    });
+  }
+};
+const api$e = ["state", "handleYearTableClick", "getCellStyle", "handleMouseMove"];
+const renderless$e = (props2, { computed, reactive, watch }, { emit, vm }) => {
+  const api2 = {};
+  const state = reactive({
+    tableRows: [[], [], []],
+    rows: computed(() => api2.getRows())
+  });
+  Object.assign(api2, {
+    state,
+    getCellStyle: getCellStyle$2({ props: props2 }),
+    handleYearTableClick: handleYearTableClick({ emit, props: props2, state }),
+    markRange: markRange$1({ props: props2, state }),
+    watchDate: watchDate$1({ api: api2, props: props2 }),
+    getRows: getRows$1({ props: props2, state, vm }),
+    handleMouseMove: handleMouseMove$1({ api: api2, emit, props: props2, state })
+  });
+  watch(
+    () => props2.rangeState,
+    (value, oldValue) => value !== oldValue && api2.markRange(props2.minDate, value.endDate),
+    { deep: true }
+  );
+  watch(() => props2.minDate, api2.watchDate);
+  watch(() => props2.maxDate, api2.watchDate);
+  return api2;
+};
+const index$a = "";
+function _createForOfIteratorHelperLoose$i(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$i(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$i(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$i(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$i(o, minLen);
+}
+function _arrayLikeToArray$i(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$i = function _export_sfc27(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$i(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$i = defineComponent({
+  name: $prefix + "YearTable",
+  emits: ["pick"],
+  props: {
+    disabledDate: {},
+    value: {},
+    defaultValue: {
+      validator: function validator3(val) {
+        return val === null || val instanceof Date && isDate$1(val);
+      }
+    },
+    date: [Date, Array],
+    selectionMode: String,
+    startYear: Number,
+    maxDate: {},
+    minDate: {},
+    rangeState: {
+      default: function _default7() {
+        return {
+          endDate: null,
+          selecting: false
+        };
+      }
+    }
+  },
+  setup: function setup$17(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$e,
+      api: api$e,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$h = {
+  class: "cell"
+};
+function _sfc_render$i(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "table",
+    {
+      class: "tiny-year-table",
+      onMousemove: _cache[0] || (_cache[0] = function() {
+        return _ctx.handleMouseMove && _ctx.handleMouseMove.apply(_ctx, arguments);
+      }),
+      onClick: _cache[1] || (_cache[1] = function() {
+        return _ctx.handleYearTableClick && _ctx.handleYearTableClick.apply(_ctx, arguments);
+      })
+    },
+    [createBaseVNode("tbody", null, [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.rows, function(row, key) {
+        return openBlock(), createElementBlock("tr", {
+          key
+        }, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(row, function(cell, key2) {
+            return openBlock(), createElementBlock(
+              "td",
+              {
+                class: normalizeClass(["available", _ctx.getCellStyle(cell)]),
+                key: key2
+              },
+              [createBaseVNode("div", null, [createBaseVNode(
+                "a",
+                _hoisted_1$h,
+                toDisplayString(cell.text),
+                1
+                /* TEXT */
+              )])],
+              2
+              /* CLASS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))])],
+    32
+    /* NEED_HYDRATION */
+  );
+}
+var YearTable = /* @__PURE__ */ _export_sfc$i(_sfc_main$i, [["render", _sfc_render$i]]);
+var version$f = "3.16.0";
+YearTable.install = function(Vue) {
+  Vue.component(YearTable.name, YearTable);
+};
+YearTable.version = version$f;
+const datesInMonth = (year, month) => {
+  const numOfDays = getDayCountOfMonth(year, month);
+  const firstDay = new Date(year, month, 1);
+  return range(numOfDays).map((n) => nextDate(firstDay, n));
+};
+const clearDate = (date) => new Date(date.getFullYear(), date.getMonth());
+const getMonthTimestamp = (time) => {
+  if (typeof time === "number" || typeof time === "string") {
+    return clearDate(new Date(time)).getTime();
+  } else if (time instanceof Date) {
+    return clearDate(time).getTime();
+  }
+  return NaN;
+};
+const getRows = ({ props: props2, state, vm }) => () => {
+  const tableRows = state.tableRows;
+  const disabledDate = state.disabledDate;
+  const selectedDate = [];
+  const now = getMonthTimestamp(/* @__PURE__ */ new Date());
+  const { date, minDate, maxDate } = props2;
+  for (let i = 0; i < 3; i++) {
+    const row = tableRows[i];
+    for (let j = 0; j < 4; j++) {
+      let cell = row[j];
+      if (!cell) {
+        cell = {
+          type: DATEPICKER.Normal,
+          row: i,
+          column: j,
+          inRange: false,
+          start: false,
+          end: false
+        };
+      }
+      cell.type = DATEPICKER.Normal;
+      const index3 = i * 4 + j;
+      const time = new Date(date.getFullYear(), index3).getTime();
+      cell.start = minDate && time === getMonthTimestamp(minDate);
+      cell.end = maxDate && time === getMonthTimestamp(maxDate);
+      cell.inRange = time >= getMonthTimestamp(minDate) && time <= getMonthTimestamp(maxDate);
+      const isToday = time === now;
+      if (isToday) {
+        cell.type = DATEPICKER.Today;
+      }
+      cell.text = index3;
+      let cellDate = new Date(time);
+      cell.disabled = typeof disabledDate === "function" && disabledDate(cellDate);
+      cell.selected = arrayFind(selectedDate, (selectDate) => selectDate.getTime() === cellDate.getTime());
+      vm.$set(row, j, cell);
+    }
+  }
+  return tableRows;
+};
+const markRange = ({ props: props2, state }) => (minDate, maxDate) => {
+  minDate = getMonthTimestamp(minDate);
+  maxDate = getMonthTimestamp(maxDate);
+  if (minDate > maxDate) {
+    [minDate, maxDate] = [maxDate, minDate];
+  }
+  const rows = state.rows;
+  for (let i = 0, len = rows.length; i < len; i++) {
+    const row = rows[i];
+    for (let j = 0, l = row.length; j < l; j++) {
+      const cell = row[j];
+      const index3 = i * 4 + j;
+      const time = new Date(props2.date.getFullYear(), index3).getTime();
+      cell.start = minDate && time === minDate;
+      cell.end = maxDate && time === maxDate;
+      cell.inRange = minDate && time >= minDate && time <= maxDate;
+    }
+  }
+};
+const watchDate = ({ api: api2, props: props2 }) => (value, oldvalue) => {
+  if (getMonthTimestamp(value) !== getMonthTimestamp(oldvalue)) {
+    api2.markRange(props2.minDate, props2.maxDate);
+  }
+};
+const getTarget$1 = (event) => {
+  let target = event.target;
+  if (target.tagName === "A") {
+    target = target.parentNode.parentNode;
+  }
+  if (target.tagName === "DIV") {
+    target = target.parentNode;
+  }
+  if (target.tagName !== "TD") {
+    return;
+  }
+  return target;
+};
+const handleMouseMove = ({ api: api2, emit, props: props2, state }) => (event) => {
+  if (!props2.rangeState.selecting) {
+    return;
+  }
+  const target = getTarget$1(event);
+  if (!target) {
+    return;
+  }
+  const row = target.parentNode.rowIndex;
+  const colu = target.cellIndex;
+  if (state.rows[row][colu].disabled) {
+    return;
+  }
+  if (row !== state.lastRow || colu !== state.lastColumn) {
+    state.lastColumn = colu;
+    state.lastRow = row;
+    emit("changerange", {
+      maxDate: props2.maxDate,
+      minDate: props2.minDate,
+      rangeState: {
+        selecting: true,
+        endDate: api2.getMonthOfCell(row * 4 + colu)
+      }
+    });
+  }
+};
+const handleMonthTableClick = ({ api: api2, emit, props: props2 }) => (event) => {
+  const target = getTarget$1(event);
+  if (!target) {
+    return;
+  }
+  if (hasClass(target, "disabled")) {
+    return;
+  }
+  const column = target.cellIndex;
+  const row = target.parentNode.rowIndex;
+  const month = row * 4 + column;
+  const newDate = api2.getMonthOfCell(month);
+  if (props2.selectionMode === DATEPICKER.Range) {
+    if (props2.rangeState.selecting) {
+      if (newDate < props2.minDate) {
+        emit("pick", { minDate: newDate, maxDate: props2.minDate });
+      } else {
+        emit("pick", { minDate: props2.minDate, maxDate: newDate });
+      }
+      props2.rangeState.selecting = false;
+    } else {
+      emit("pick", { minDate: newDate, maxDate: null });
+      props2.rangeState.selecting = true;
+    }
+  } else {
+    emit("pick", month);
+  }
+};
+const cellMatchesDate = (props2) => (cell, date) => {
+  const value = new Date(date);
+  return props2.date.getFullYear() === value.getFullYear() && Number(cell.text) === value.getMonth();
+};
+const getCellStyle$1 = ({ api: api2, props: props2 }) => (cell) => {
+  const style = {};
+  const year = props2.date.getFullYear();
+  const today = /* @__PURE__ */ new Date();
+  const month = cell.text;
+  const defaultValue = props2.defaultValue ? Array.isArray(props2.defaultValue) ? props2.defaultValue : [props2.defaultValue] : [];
+  style.disabled = typeof props2.disabledDate === "function" ? datesInMonth(year, month).every(props2.disabledDate) : false;
+  const execDate = typeof props2.value === "object" ? props2.value : toDate(props2.value);
+  style.current = arrayFindIndex(
+    coerceTruthyValueToArray(execDate),
+    (date) => date.getFullYear() === year && date.getMonth() === month
+  ) >= 0;
+  style.today = today.getFullYear() === year && today.getMonth() === month;
+  style.default = defaultValue.some((date) => api2.cellMatchesDate(cell, date));
+  if (cell.inRange) {
+    style[DATEPICKER.InRange] = true;
+    if (cell.start) {
+      style[DATEPICKER.StartDate] = true;
+    }
+    if (cell.end) {
+      style[DATEPICKER.EndDate] = true;
+    }
+  }
+  return style;
+};
+const getMonthOfCell = (props2) => (month) => new Date(props2.date.getFullYear(), month, 1);
+const api$d = ["state", "handleMonthTableClick", "handleMouseMove", "getCellStyle"];
+const renderless$d = (props2, { computed, reactive, watch }, { t: t2, vm, emit }) => {
+  const api2 = {};
+  const { MonhtList } = DATEPICKER;
+  const state = reactive({
+    months: MonhtList,
+    tableRows: [[], [], []],
+    lastRow: null,
+    lastColumn: null,
+    rows: computed(() => api2.getRows())
+  });
+  Object.assign(api2, {
+    t: t2,
+    state,
+    getMonthOfCell: getMonthOfCell(props2),
+    cellMatchesDate: cellMatchesDate(props2),
+    markRange: markRange({ api: api2, props: props2, state }),
+    watchDate: watchDate({ api: api2, props: props2 }),
+    getMonthTimestamp: getMonthTimestamp(api2),
+    handleMouseMove: handleMouseMove({ api: api2, emit, props: props2, state }),
+    handleMonthTableClick: handleMonthTableClick({ api: api2, emit, props: props2 }),
+    getCellStyle: getCellStyle$1({ api: api2, props: props2 }),
+    getRows: getRows({ props: props2, state, vm })
+  });
+  watch(
+    () => props2.rangeState,
+    (value) => api2.markRange(props2.minDate, value.endDate),
+    { deep: true }
+  );
+  watch(() => props2.minDate, api2.watchDate);
+  watch(() => props2.maxDate, api2.watchDate);
+  return api2;
+};
+const index$9 = "";
+function _createForOfIteratorHelperLoose$h(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$h(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$h(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$h(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$h(o, minLen);
+}
+function _arrayLikeToArray$h(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$h = function _export_sfc28(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$h(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$h = defineComponent({
+  name: $prefix + "MonthTable",
+  emits: ["changerange", "pick"],
+  props: {
+    date: {},
+    defaultValue: {
+      validator: function validator4(val) {
+        return val === null || isDate$1(val) || Array.isArray(val) && val.every(isDate$1);
+      }
+    },
+    disabledDate: {},
+    maxDate: {},
+    minDate: {},
+    rangeState: {
+      default: function _default8() {
+        return {
+          endDate: null,
+          selecting: false
+        };
+      }
+    },
+    selectionMode: {
+      default: "month"
+    },
+    value: {}
+  },
+  setup: function setup$18(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$d,
+      api: api$d,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$g = ["textContent"];
+function _sfc_render$h(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "table",
+    {
+      class: "tiny-month-table",
+      onMousemove: _cache[0] || (_cache[0] = function() {
+        return _ctx.handleMouseMove && _ctx.handleMouseMove.apply(_ctx, arguments);
+      }),
+      onClick: _cache[1] || (_cache[1] = function() {
+        return _ctx.handleMonthTableClick && _ctx.handleMonthTableClick.apply(_ctx, arguments);
+      })
+    },
+    [createBaseVNode("tbody", null, [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.rows, function(row, key) {
+        return openBlock(), createElementBlock("tr", {
+          key
+        }, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(row, function(cell, key2) {
+            return openBlock(), createElementBlock(
+              "td",
+              {
+                class: normalizeClass(_ctx.getCellStyle(cell)),
+                key: key2
+              },
+              [createBaseVNode("div", null, [createBaseVNode("a", {
+                class: "cell",
+                textContent: toDisplayString(_ctx.t("ui.datepicker.months." + _ctx.state.months[cell.text]))
+              }, null, 8, _hoisted_1$g)])],
+              2
+              /* CLASS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))]);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))])],
+    32
+    /* NEED_HYDRATION */
+  );
+}
+var MonthTable = /* @__PURE__ */ _export_sfc$h(_sfc_main$h, [["render", _sfc_render$h]]);
+var version$e = "3.16.0";
+MonthTable.install = function(Vue) {
+  Vue.component(MonthTable.name, MonthTable);
+};
+MonthTable.version = version$e;
+function _createForOfIteratorHelperLoose$g(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$g(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$g(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$g(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$g(o, minLen);
+}
+function _arrayLikeToArray$g(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$g = function _export_sfc29(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$g(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$d() {
+  _extends$d = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$d.apply(this, arguments);
+}
+var _sfc_main$g = defineComponent({
+  name: $prefix + "DatePanel",
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  components: {
+    TimePicker: Time,
+    YearTable,
+    MonthTable,
+    DateTable,
+    TinyInput: Input,
+    TinyButton: Button,
+    TinyPopup: Popup,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k(),
+    IconChevronLeft: index$l(),
+    IconChevronRight: index$m(),
+    IconChevronDown: index$h(),
+    IconChevronUp: index$i()
+  },
+  props: _extends$d({}, $props$1, {
+    emitter: Object,
+    step: {
+      type: Object,
+      default: function _default9() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    },
+    showWeekNumber: {
+      type: Boolean,
+      default: false
+    },
+    formatWeeks: Function,
+    timeEditable: {
+      type: Boolean,
+      default: true
+    }
+  }),
+  emits: ["pick", "select-change", "dodestroy"],
+  setup: function setup$19(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$i,
+      api: api$i,
+      extendOptions: {
+        language
+      }
+    });
+  }
+});
+var _hoisted_1$f = {
+  class: "tiny-picker-panel__body-wrapper"
+};
+var _hoisted_2$d = {
+  key: 0,
+  class: "tiny-picker-panel__sidebar"
+};
+var _hoisted_3$c = ["onClick", "title"];
+var _hoisted_4$a = {
+  class: "tiny-picker-panel__body"
+};
+var _hoisted_5$9 = {
+  key: 0,
+  class: "tiny-date-picker__time-header"
+};
+var _hoisted_6$9 = {
+  class: "tiny-date-picker__editor-wrap"
+};
+var _hoisted_7$8 = {
+  class: "tiny-date-picker__editor-wrap"
+};
+var _hoisted_8$7 = ["aria-label"];
+var _hoisted_9$5 = ["aria-label"];
+var _hoisted_10$4 = ["aria-label"];
+var _hoisted_11$3 = ["aria-label"];
+var _hoisted_12$3 = {
+  class: "tiny-picker-panel__content"
+};
+var _hoisted_13$3 = {
+  key: 0,
+  class: "tiny-picker-panel__timezone"
+};
+var _hoisted_14$3 = {
+  class: "tiny-picker-panel__tzlist"
+};
+var _hoisted_15$3 = {
+  class: "tzlist"
+};
+var _hoisted_16$3 = ["title", "onClick"];
+var _hoisted_17$2 = {
+  class: "tiny-picker-panel__footer"
+};
+function _sfc_render$g(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_time_picker = resolveComponent("time-picker");
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  var _component_icon_chevron_left = resolveComponent("icon-chevron-left");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_date_table = resolveComponent("date-table");
+  var _component_year_table = resolveComponent("year-table");
+  var _component_month_table = resolveComponent("month-table");
+  var _component_tiny_popup = resolveComponent("tiny-popup");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterEnter: _ctx.handleEnter,
+    onAfterLeave: _ctx.handleLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-picker-panel tiny-date-picker tiny-popper", [{
+            "has-sidebar": _ctx.slots.sidebar || _ctx.state.shortcuts,
+            "has-time": _ctx.state.showTime
+          }, _ctx.state.popperClass]])
+        },
+        [createBaseVNode("div", _hoisted_1$f, [renderSlot(_ctx.$slots, "sidebar", {
+          class: "tiny-picker-panel__sidebar"
+        }), _ctx.state.shortcuts ? (openBlock(), createElementBlock("div", _hoisted_2$d, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.shortcuts, function(shortcut, key) {
+            return openBlock(), createElementBlock("button", {
+              type: "button",
+              class: "tiny-picker-panel__shortcut",
+              key,
+              onClick: function onClick($event) {
+                return _ctx.handleShortcutClick(shortcut);
+              },
+              title: shortcut.text
+            }, toDisplayString(shortcut.text), 9, _hoisted_3$c);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_4$a, [_ctx.state.showTime ? (openBlock(), createElementBlock("div", _hoisted_5$9, [createBaseVNode("span", _hoisted_6$9, [createVNode(_component_tiny_input, {
+          placeholder: _ctx.t("ui.datepicker.selectDate"),
+          "model-value": _ctx.state.visibleDate,
+          size: "small",
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = function(val) {
+            return _ctx.state.userInputDate = val;
+          }),
+          onChange: _ctx.handleVisibleDateChange
+        }, null, 8, ["placeholder", "model-value", "onChange"])]), withDirectives((openBlock(), createElementBlock("span", _hoisted_7$8, [createVNode(_component_tiny_input, {
+          ref: "input",
+          onFocus: _cache[1] || (_cache[1] = function($event) {
+            return _ctx.state.timePickerVisible = true;
+          }),
+          placeholder: _ctx.t("ui.datepicker.selectTime"),
+          "model-value": _ctx.state.visibleTime,
+          size: "small",
+          "onUpdate:modelValue": _cache[2] || (_cache[2] = function(val) {
+            return _ctx.state.userInputTime = val;
+          }),
+          onChange: _ctx.handleVisibleTimeChange,
+          readonly: !_ctx.timeEditable
+        }, null, 8, ["placeholder", "model-value", "onChange", "readonly"]), _ctx.state.timePickerVisible ? (openBlock(), createBlock(_component_time_picker, {
+          key: 0,
+          ref: "timepicker",
+          step: _ctx.step,
+          "time-arrow-control": _ctx.state.arrowControl,
+          show: _ctx.state.timePickerVisible,
+          value: _ctx.state.date,
+          onPick: _ctx.handleTimePick
+        }, null, 8, ["step", "time-arrow-control", "show", "value", "onPick"])) : createCommentVNode("v-if", true)])), [[_directive_clickoutside, _ctx.handleTimePickClose]])])) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["tiny-date-picker__header", {
+              "tiny-date-picker__header--bordered": ["month", "year", "years", "yearrange"].includes(_ctx.state.currentView)
+            }])
+          },
+          [createBaseVNode("button", {
+            type: "button",
+            onClick: _cache[3] || (_cache[3] = function() {
+              return _ctx.cusPrevYear && _ctx.cusPrevYear.apply(_ctx, arguments);
+            }),
+            "aria-label": _ctx.t("ui.datepicker.prevYear"),
+            class: "tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-d-arrow-left"
+          }, [createVNode(_component_icon_double_left)], 8, _hoisted_8$7), withDirectives(createBaseVNode("button", {
+            type: "button",
+            onClick: _cache[4] || (_cache[4] = function() {
+              return _ctx.cusPrevMonth && _ctx.cusPrevMonth.apply(_ctx, arguments);
+            }),
+            "aria-label": _ctx.t("ui.datepicker.prevMonth"),
+            class: "tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-arrow-left"
+          }, [createVNode(_component_icon_chevron_left)], 8, _hoisted_9$5), [[vShow, _ctx.state.currentView === "date"]]), createBaseVNode(
+            "span",
+            {
+              onClick: _cache[5] || (_cache[5] = function() {
+                return _ctx.showYearPicker && _ctx.showYearPicker.apply(_ctx, arguments);
+              }),
+              role: "button",
+              class: "tiny-date-picker__header-label"
+            },
+            toDisplayString(_ctx.state.yearLabel),
+            1
+            /* TEXT */
+          ), withDirectives(createBaseVNode(
+            "span",
+            {
+              onClick: _cache[6] || (_cache[6] = function() {
+                return _ctx.showMonthPicker && _ctx.showMonthPicker.apply(_ctx, arguments);
+              }),
+              role: "button",
+              class: normalizeClass(["tiny-date-picker__header-label", {
+                active: _ctx.state.currentView === "month"
+              }])
+            },
+            toDisplayString(_ctx.t("ui.datepicker.month" + (_ctx.state.month + 1))),
+            3
+            /* TEXT, CLASS */
+          ), [[vShow, _ctx.state.currentView === "date"]]), createBaseVNode("button", {
+            type: "button",
+            onClick: _cache[7] || (_cache[7] = function() {
+              return _ctx.cusNextYear && _ctx.cusNextYear.apply(_ctx, arguments);
+            }),
+            "aria-label": _ctx.t("ui.datepicker.nextYear"),
+            class: "tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-d-arrow-right"
+          }, [createVNode(_component_icon_double_right)], 8, _hoisted_10$4), withDirectives(createBaseVNode("button", {
+            type: "button",
+            onClick: _cache[8] || (_cache[8] = function() {
+              return _ctx.cusNextMonth && _ctx.cusNextMonth.apply(_ctx, arguments);
+            }),
+            "aria-label": _ctx.t("ui.datepicker.nextMonth"),
+            class: "tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-arrow-right"
+          }, [createVNode(_component_icon_chevron_right)], 8, _hoisted_11$3), [[vShow, _ctx.state.currentView === "date"]])],
+          2
+          /* CLASS */
+        ), [[vShow, _ctx.state.currentView !== "time"]]), createBaseVNode("div", _hoisted_12$3, [_ctx.state.currentView === "date" ? (openBlock(), createBlock(_component_date_table, {
+          key: 0,
+          ref: "dateTable",
+          onPick: _ctx.handleDatePick,
+          "selection-mode": _ctx.state.selectionMode,
+          "first-day-of-week": _ctx.state.firstDayOfWeek,
+          value: _ctx.state.value,
+          "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+          date: _ctx.state.date,
+          "cell-class-name": _ctx.state.cellClassName,
+          "disabled-date": _ctx.state.disabledDate,
+          "show-week-number": _ctx.showWeekNumber,
+          "format-weeks": _ctx.formatWeeks
+        }, null, 8, ["onPick", "selection-mode", "first-day-of-week", "value", "default-value", "date", "cell-class-name", "disabled-date", "show-week-number", "format-weeks"])) : createCommentVNode("v-if", true), ["year", "years", "yearrange"].includes(_ctx.state.currentView) ? (openBlock(), createBlock(_component_year_table, {
+          key: 1,
+          ref: "yearTable",
+          value: _ctx.state.value,
+          "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+          date: _ctx.state.date,
+          "disabled-date": _ctx.state.disabledDate,
+          "selection-mode": _ctx.state.selectionMode,
+          "start-year": _ctx.state.startYear,
+          onPick: _ctx.handleYearPick
+        }, null, 8, ["value", "default-value", "date", "disabled-date", "selection-mode", "start-year", "onPick"])) : createCommentVNode("v-if", true), _ctx.state.currentView === "month" ? (openBlock(), createBlock(_component_month_table, {
+          key: 2,
+          ref: "monthTable",
+          onPick: _ctx.handleMonthPick,
+          value: _ctx.state.value,
+          "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+          date: _ctx.state.date,
+          "disabled-date": _ctx.state.disabledDate
+        }, null, 8, ["onPick", "value", "default-value", "date", "disabled-date"])) : createCommentVNode("v-if", true)])])]), _ctx.state.isShowTz || _ctx.state.timezone.isServiceTimezone ? withDirectives((openBlock(), createElementBlock("div", _hoisted_13$3, [createVNode(_component_tiny_input, {
+          modelValue: _ctx.state.tz,
+          "onUpdate:modelValue": [_cache[9] || (_cache[9] = function($event) {
+            return _ctx.state.tz = $event;
+          }), _ctx.searchTz],
+          disabled: _ctx.state.timezone.isServiceTimezone,
+          placeholder: _ctx.t("ui.datepicker.timezone")
+        }, {
+          suffix: withCtx(function() {
+            return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.showpopup ? "IconChevronDown" : "IconChevronUp"), {
+              fill: "#ccc",
+              onClick: _ctx.toggleTz
+            }, null, 8, ["onClick"]))];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue", "disabled", "onUpdate:modelValue", "placeholder"]), createBaseVNode("div", _hoisted_14$3, [createVNode(_component_tiny_popup, {
+          modelValue: _ctx.state.showpopup,
+          "onUpdate:modelValue": _cache[10] || (_cache[10] = function($event) {
+            return _ctx.state.showpopup = $event;
+          }),
+          overlay: false,
+          position: "up",
+          duration: 0.2,
+          closeable: false
+        }, {
+          default: withCtx(function() {
+            return [createBaseVNode("div", _hoisted_15$3, [createBaseVNode("ul", null, [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.renderTzdata, function(tz, index3) {
+                return withDirectives((openBlock(), createElementBlock("li", {
+                  class: "tiny-picker-panel__tzlist-li",
+                  title: tz.name,
+                  key: index3,
+                  onClick: function onClick($event) {
+                    return _ctx.selectTz(tz);
+                  }
+                }, toDisplayString(tz.name), 9, _hoisted_16$3)), [[vShow, !tz.visible]]);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))])])];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue"])])])), [[_directive_clickoutside, _ctx.handleTzPickClose]]) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+          "div",
+          _hoisted_17$2,
+          [withDirectives(createVNode(_component_tiny_button, {
+            size: "mini",
+            type: "text",
+            class: "tiny-picker-panel__link-btn",
+            onClick: _ctx.changeToNow
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.datepicker.now")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["onClick"]), [[vShow, !["dates", "years"].includes(_ctx.state.selectionMode)]]), createVNode(_component_tiny_button, {
+            type: "primary",
+            size: "mini",
+            class: "tiny-picker-panel__link-btn",
+            onClick: _ctx.confirm
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.datepicker.confirm")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["onClick"])],
+          512
+          /* NEED_PATCH */
+        ), [[vShow, _ctx.state.isShowFooter]])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["onAfterEnter", "onAfterLeave"]);
+}
+var pc$3 = /* @__PURE__ */ _export_sfc$g(_sfc_main$g, [["render", _sfc_render$g]]);
+function _createForOfIteratorHelperLoose$f(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$f(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$f(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$f(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$f(o, minLen);
+}
+function _arrayLikeToArray$f(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$f = function _export_sfc210(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$f(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$c() {
+  _extends$c = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$c.apply(this, arguments);
+}
+var classes$3 = {
+  "picker-panel": "w-96 text-color-text-primary text-xs shadow-md bg-color-bg-1 rounded leading-4 my-0.5 mx-0",
+  "picker-panel-body": "after:content-[''] after:table after:clear-both",
+  "content": "relative py-0 px-4",
+  "header": "p-4 h-12 text-center",
+  "bordered": "mb-0 pb-3",
+  "disabled": "text-color-text-disabled",
+  "icon-btn": "text-sm leading-4 fill-color-text-primary border-0 cursor-pointer outline-0 hover:fill-color-brand",
+  "header-label": "text-xs font-medium py-0 px-1 text-center text-color-text-primary align-middle",
+  "body-content": "float-left w-1/2 box-border m-0 pt-4 pr-4 pb-1.5 pl-4",
+  "today": "border border-solid border-color-border-focus",
+  "footer": "border-t border-t-color-bg-3 py-3 px-4 bg-color-bg-1 overflow-hidden rounded-b",
+  "link-btn": "align-middle rounded",
+  "time-header": "relative text-xs h-10 leading-10 table w-full box-border border-b border-b-color-bg-3",
+  "editor-wrap": "relative table-cell px-1"
+};
+var _sfc_main$f = defineComponent({
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  components: {
+    TimePicker: Time,
+    YearTable,
+    MonthTable,
+    DateTable,
+    TinyInput: Input,
+    TinyButton: Button,
+    TinyPopup: Popup,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k(),
+    IconChevronLeft: index$l(),
+    IconChevronRight: index$m(),
+    IconChevronDown: index$h(),
+    IconChevronUp: index$i()
+  },
+  props: _extends$c({}, props, {
+    emitter: Object,
+    step: {
+      type: Object,
+      default: function _default10() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    },
+    showWeekNumber: {
+      type: Boolean,
+      default: false
+    },
+    formatWeeks: Function
+  }),
+  emits: ["pick", "select-change", "dodestroy"],
+  setup: function setup$110(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$i,
+      api: api$i,
+      classes: classes$3,
+      extendOptions: {
+        language
+      }
+    });
+  }
+});
+var _hoisted_1$e = {
+  key: 0,
+  "data-tag": "tiny-picker-panel__sidebar"
+};
+var _hoisted_2$c = ["onClick"];
+var _hoisted_3$b = ["aria-label"];
+var _hoisted_4$9 = ["aria-label"];
+var _hoisted_5$8 = {
+  key: 0,
+  "data-tag": "tiny-picker-panel__timezone"
+};
+var _hoisted_6$8 = {
+  "data-tag": "tiny-picker-panel__tzlist"
+};
+var _hoisted_7$7 = {
+  "data-tag": "tzlist"
+};
+var _hoisted_8$6 = ["title", "onClick"];
+function _sfc_render$f(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_time_picker = resolveComponent("time-picker");
+  var _component_icon_chevron_left = resolveComponent("icon-chevron-left");
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_date_table = resolveComponent("date-table");
+  var _component_year_table = resolveComponent("year-table");
+  var _component_month_table = resolveComponent("month-table");
+  var _component_tiny_popup = resolveComponent("tiny-popup");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterEnter: _ctx.handleEnter,
+    onAfterLeave: _ctx.handleLeave,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-picker-panel tiny-date-picker tiny-popper",
+          class: normalizeClass([_ctx.gcls("picker-panel"), _ctx.state.popperClass])
+        },
+        [createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-picker-panel__body-wrapper",
+            class: normalizeClass(_ctx.gcls("picker-panel-body"))
+          },
+          [renderSlot(_ctx.$slots, "sidebar", {
+            dataTag: "tiny-picker-panel__sidebar"
+          }), _ctx.state.shortcuts ? (openBlock(), createElementBlock("div", _hoisted_1$e, [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.shortcuts, function(shortcut, key) {
+              return openBlock(), createElementBlock("button", {
+                type: "button",
+                "data-tag": "tiny-picker-panel__shortcut",
+                key,
+                onClick: function onClick($event) {
+                  return _ctx.handleShortcutClick(shortcut);
+                }
+              }, toDisplayString(shortcut.text), 9, _hoisted_2$c);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))])) : createCommentVNode("v-if", true), createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-picker-panel__body",
+              class: normalizeClass(_ctx.gcls("picker-panel-body"))
+            },
+            [_ctx.state.showTime ? (openBlock(), createElementBlock(
+              "div",
+              {
+                key: 0,
+                "data-tag": "tiny-date-picker__time-header",
+                class: normalizeClass(_ctx.gcls("time-header"))
+              },
+              [createBaseVNode(
+                "span",
+                {
+                  "data-tag": "tiny-date-picker__editor-wrap",
+                  class: normalizeClass(_ctx.gcls("editor-wrap"))
+                },
+                [createVNode(_component_tiny_input, {
+                  placeholder: _ctx.t("ui.datepicker.selectDate"),
+                  "model-value": _ctx.state.visibleDate,
+                  size: "small",
+                  "onUpdate:modelValue": _cache[0] || (_cache[0] = function(val) {
+                    return _ctx.state.userInputDate = val;
+                  }),
+                  onChange: _ctx.handleVisibleDateChange
+                }, null, 8, ["placeholder", "model-value", "onChange"])],
+                2
+                /* CLASS */
+              ), withDirectives((openBlock(), createElementBlock(
+                "span",
+                {
+                  "data-tag": "tiny-date-picker__editor-wrap",
+                  class: normalizeClass(_ctx.gcls("editor-wrap"))
+                },
+                [createVNode(_component_tiny_input, {
+                  ref: "input",
+                  onFocus: _cache[1] || (_cache[1] = function($event) {
+                    return _ctx.state.timePickerVisible = true;
+                  }),
+                  placeholder: _ctx.t("ui.datepicker.selectTime"),
+                  "model-value": _ctx.state.visibleTime,
+                  size: "small",
+                  "onUpdate:modelValue": _cache[2] || (_cache[2] = function(val) {
+                    return _ctx.state.userInputTime = val;
+                  }),
+                  onChange: _ctx.handleVisibleTimeChange
+                }, null, 8, ["placeholder", "model-value", "onChange"]), _ctx.state.timePickerVisible ? (openBlock(), createBlock(_component_time_picker, {
+                  key: 0,
+                  ref: "timepicker",
+                  step: _ctx.step,
+                  "time-arrow-control": _ctx.state.arrowControl,
+                  show: _ctx.state.timePickerVisible,
+                  value: _ctx.state.date,
+                  onPick: _ctx.handleTimePick
+                }, null, 8, ["step", "time-arrow-control", "show", "value", "onPick"])) : createCommentVNode("v-if", true)],
+                2
+                /* CLASS */
+              )), [[_directive_clickoutside, _ctx.handleTimePickClose]])],
+              2
+              /* CLASS */
+            )) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+              "div",
+              {
+                "data-tag": "tiny-date-picker__header",
+                class: normalizeClass([_ctx.gcls("header"), ["month", "year", "years", "yearrange"].includes(_ctx.state.currentView) && _ctx.gcls("bordered")])
+              },
+              [withDirectives(createBaseVNode("button", {
+                type: "button",
+                onClick: _cache[3] || (_cache[3] = function() {
+                  return _ctx.cusPrevMonth && _ctx.cusPrevMonth.apply(_ctx, arguments);
+                }),
+                "aria-label": _ctx.t("ui.datepicker.prevMonth"),
+                "data-tag": "tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-arrow-left",
+                class: normalizeClass([_ctx.gcls("icon-btn"), "float-left"])
+              }, [createVNode(_component_icon_chevron_left)], 10, _hoisted_3$b), [[vShow, _ctx.state.currentView === "date"]]), createBaseVNode(
+                "span",
+                {
+                  role: "button",
+                  "data-tag": "tiny-date-picker__header-label",
+                  class: normalizeClass([_ctx.gcls("header-label")])
+                },
+                toDisplayString(_ctx.state.yearLabel),
+                3
+                /* TEXT, CLASS */
+              ), withDirectives(createBaseVNode(
+                "span",
+                {
+                  role: "button",
+                  "data-tag": "tiny-date-picker__header-label",
+                  class: normalizeClass([_ctx.gcls("header-label"), {
+                    "text-color-brand": _ctx.state.currentView === "month"
+                  }])
+                },
+                toDisplayString(_ctx.t("ui.datepicker.month" + (_ctx.state.month + 1))),
+                3
+                /* TEXT, CLASS */
+              ), [[vShow, _ctx.state.currentView === "date"]]), withDirectives(createBaseVNode("button", {
+                type: "button",
+                onClick: _cache[4] || (_cache[4] = function() {
+                  return _ctx.cusNextMonth && _ctx.cusNextMonth.apply(_ctx, arguments);
+                }),
+                "aria-label": _ctx.t("ui.datepicker.nextMonth"),
+                "data-tag": "tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-arrow-right",
+                class: normalizeClass([_ctx.gcls("icon-btn"), "float-right"])
+              }, [createVNode(_component_icon_chevron_right)], 10, _hoisted_4$9), [[vShow, _ctx.state.currentView === "date"]])],
+              2
+              /* CLASS */
+            ), [[vShow, _ctx.state.currentView !== "time"]]), createBaseVNode(
+              "div",
+              {
+                "data-tag": "tiny-picker-panel__content",
+                class: normalizeClass(_ctx.gcls("content"))
+              },
+              [_ctx.state.currentView === "date" ? (openBlock(), createBlock(_component_date_table, {
+                key: 0,
+                ref: "dateTable",
+                onPick: _ctx.handleDatePick,
+                "selection-mode": _ctx.state.selectionMode,
+                "first-day-of-week": _ctx.state.firstDayOfWeek,
+                value: _ctx.state.value,
+                "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+                date: _ctx.state.date,
+                "cell-class-name": _ctx.state.cellClassName,
+                "disabled-date": _ctx.state.disabledDate,
+                "show-week-number": _ctx.showWeekNumber,
+                "format-weeks": _ctx.formatWeeks
+              }, null, 8, ["onPick", "selection-mode", "first-day-of-week", "value", "default-value", "date", "cell-class-name", "disabled-date", "show-week-number", "format-weeks"])) : createCommentVNode("v-if", true), ["year", "years", "yearrange"].includes(_ctx.state.currentView) ? (openBlock(), createBlock(_component_year_table, {
+                key: 1,
+                ref: "yearTable",
+                value: _ctx.state.value,
+                "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+                date: _ctx.state.date,
+                "disabled-date": _ctx.state.disabledDate,
+                "selection-mode": _ctx.state.selectionMode,
+                "start-year": _ctx.state.startYear,
+                onPick: _ctx.handleYearPick
+              }, null, 8, ["value", "default-value", "date", "disabled-date", "selection-mode", "start-year", "onPick"])) : createCommentVNode("v-if", true), _ctx.state.currentView === "month" ? (openBlock(), createBlock(_component_month_table, {
+                key: 2,
+                ref: "monthTable",
+                onPick: _ctx.handleMonthPick,
+                value: _ctx.state.value,
+                "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+                date: _ctx.state.date,
+                "disabled-date": _ctx.state.disabledDate
+              }, null, 8, ["onPick", "value", "default-value", "date", "disabled-date"])) : createCommentVNode("v-if", true)],
+              2
+              /* CLASS */
+            )],
+            2
+            /* CLASS */
+          )],
+          2
+          /* CLASS */
+        ), _ctx.state.isShowTz || _ctx.state.timezone.isServiceTimezone ? withDirectives((openBlock(), createElementBlock("div", _hoisted_5$8, [createVNode(_component_tiny_input, {
+          modelValue: _ctx.state.tz,
+          "onUpdate:modelValue": [_cache[5] || (_cache[5] = function($event) {
+            return _ctx.state.tz = $event;
+          }), _ctx.searchTz],
+          disabled: _ctx.state.timezone.isServiceTimezone,
+          placeholder: _ctx.t("ui.datepicker.timezone")
+        }, {
+          suffix: withCtx(function() {
+            return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.showpopup ? "IconChevronDown" : "IconChevronUp"), {
+              fill: "#ccc",
+              onClick: _ctx.toggleTz
+            }, null, 8, ["onClick"]))];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue", "disabled", "onUpdate:modelValue", "placeholder"]), createBaseVNode("div", _hoisted_6$8, [createVNode(_component_tiny_popup, {
+          modelValue: _ctx.state.showpopup,
+          "onUpdate:modelValue": _cache[6] || (_cache[6] = function($event) {
+            return _ctx.state.showpopup = $event;
+          }),
+          overlay: false,
+          position: "up",
+          duration: 0.2,
+          closeable: false
+        }, {
+          default: withCtx(function() {
+            return [createBaseVNode("div", _hoisted_7$7, [createBaseVNode("ul", null, [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.renderTzdata, function(tz, index3) {
+                return withDirectives((openBlock(), createElementBlock("li", {
+                  "data-tag": "tiny-picker-panel__tzlist-li",
+                  title: tz.name,
+                  key: index3,
+                  onClick: function onClick($event) {
+                    return _ctx.selectTz(tz);
+                  }
+                }, toDisplayString(tz.name), 9, _hoisted_8$6)), [[vShow, !tz.visible]]);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))])])];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["modelValue"])])])), [[_directive_clickoutside, _ctx.handleTzPickClose]]) : createCommentVNode("v-if", true), withDirectives(createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-picker-panel__footer",
+            class: normalizeClass(_ctx.gcls("footer"))
+          },
+          [withDirectives(createVNode(_component_tiny_button, {
+            size: "mini",
+            type: "text",
+            "data-tag": "tiny-picker-panel__link-btn",
+            class: normalizeClass(_ctx.gcls("link-btn")),
+            onClick: _ctx.changeToNow
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.datepicker.now")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["class", "onClick"]), [[vShow, !["dates", "years"].includes(_ctx.state.selectionMode)]]), createVNode(_component_tiny_button, {
+            type: "primary",
+            size: "mini",
+            "data-tag": "tiny-picker-panel__link-btn",
+            class: normalizeClass(["float-right", _ctx.gcls("link-btn")]),
+            onClick: _ctx.confirm
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.datepicker.confirm")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["class", "onClick"])],
+          2
+          /* CLASS */
+        ), [[vShow, _ctx.state.isShowFooter]])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["onAfterEnter", "onAfterLeave"]);
+}
+var mobileFirst$4 = /* @__PURE__ */ _export_sfc$f(_sfc_main$f, [["render", _sfc_render$f]]);
+const index$8 = "";
+function _extends$b() {
+  _extends$b = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$b.apply(this, arguments);
+}
+var template$6 = function template24(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$3;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$4;
+  }
+  return pc$3;
+};
+var DatePanel = defineComponent({
+  name: $prefix + "DatePanel",
+  componentName: "DatePanel",
+  props: _extends$b({}, $props$1, {
+    emitter: Object,
+    step: {
+      type: Object,
+      default: function _default11() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    },
+    showWeekNumber: {
+      type: Boolean,
+      default: false
+    },
+    formatWeeks: Function
+  }),
+  setup: function setup5(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$6
+    });
+  }
+});
+var version$d = "3.16.0";
+DatePanel.install = function(Vue) {
+  Vue.component(DatePanel.name, DatePanel);
+};
+DatePanel.version = version$d;
+const calcDefaultValue$2 = (defaultVal) => {
+  if (Array.isArray(defaultVal)) {
+    return [new Date(defaultVal[0]), new Date(defaultVal[1])];
+  } else if (defaultVal) {
+    return [new Date(defaultVal), nextDate(new Date(defaultVal), 1)];
+  }
+  return [/* @__PURE__ */ new Date(), nextDate(/* @__PURE__ */ new Date(), 1)];
+};
+const getMinVisibleDate = ({ state, t: t2 }) => () => {
+  if (state.dateUserInput.min !== null) {
+    return state.dateUserInput.min;
+  }
+  if (state.minDate) {
+    return formatDate$1(state.minDate, state.dateFormat, t2);
+  }
+  return "";
+};
+const getMaxVisibleDate = ({ state, t: t2 }) => () => {
+  if (state.dateUserInput.max !== null) {
+    return state.dateUserInput.max;
+  }
+  if (state.maxDate || state.minDate) {
+    return formatDate$1(state.maxDate || state.minDate, state.dateFormat, t2);
+  }
+  return "";
+};
+const getMinVisibleTime = ({ state, t: t2 }) => () => {
+  if (state.timeUserInput.min !== null) {
+    return state.timeUserInput.min;
+  }
+  if (state.minDate) {
+    return formatDate$1(state.minDate, state.timeFormat, t2);
+  }
+  return "";
+};
+const getMaxVisibleTime = ({ state, t: t2 }) => () => {
+  if (state.timeUserInput.max !== null) {
+    return state.timeUserInput.max;
+  }
+  if (state.maxDate || state.minDate) {
+    return formatDate$1(state.maxDate || state.minDate, state.timeFormat, t2);
+  }
+  return "";
+};
+const getEnableMonthArrow = (state) => () => {
+  const nextMonth2 = (state.leftMonth + 1) % 12;
+  const yearOffset = state.leftMonth + 1 >= 12 ? 1 : 0;
+  return state.unlinkPanels && new Date(state.leftYear + yearOffset, nextMonth2) < new Date(state.rightYear, state.rightMonth);
+};
+const watchMinDate = ({ state, t: t2, vm }) => (value) => {
+  state.dateUserInput.min = null;
+  state.timeUserInput.min = null;
+  const minTimePicker = vm.$refs.minTimePicker;
+  if (!minTimePicker) {
+    return;
+  }
+  if (state.maxDate && state.maxDate < state.minDate) {
+    const format2 = "HH:mm:ss";
+    minTimePicker.state.selectableRange = [
+      [parseDate(formatDate$1(state.minDate, format2, t2), format2, t2), parseDate("23:59:59", format2, t2)]
+    ];
+  }
+  if (value) {
+    minTimePicker.state.value = value;
+  }
+};
+const watchMaxDate = ({ state, vm }) => (value) => {
+  state.dateUserInput.max = null;
+  state.timeUserInput.max = null;
+  const maxTimePicker = vm.$refs.maxTimePicker;
+  if (value && maxTimePicker) {
+    maxTimePicker.state.value = value;
+  }
+};
+const watchMinTimePickerVisible = ({ nextTick, state, vm }) => (value) => {
+  if (value) {
+    nextTick(() => {
+      vm.$refs.minTimePicker.state.value = state.minDate;
+    });
+  }
+};
+const watchMaxTimePickerVisible = ({ nextTick, state, vm }) => (value) => {
+  if (value) {
+    nextTick(() => {
+      vm.$refs.maxTimePicker.state.value = state.maxDate;
+    });
+  }
+};
+const watchValue$3 = ({ state }) => (value) => {
+  if (!value) {
+    state.minDate = null;
+    state.maxDate = null;
+  } else if (Array.isArray(value)) {
+    state.minDate = isDate$1(value[0]) ? new Date(value[0]) : null;
+    state.maxDate = isDate$1(value[1]) ? new Date(value[1]) : null;
+    if (state.minDate) {
+      state.leftDate = state.minDate;
+      if (state.unlinkPanels && state.maxDate) {
+        const minDateYear = state.minDate.getFullYear();
+        const minDateMonth = state.minDate.getMonth();
+        const maxDateYear = state.maxDate.getFullYear();
+        const maxDateMonth = state.maxDate.getMonth();
+        state.rightDate = minDateYear === maxDateYear && minDateMonth === maxDateMonth ? nextMonth(state.maxDate) : state.maxDate;
+      } else {
+        state.rightDate = nextMonth(state.leftDate);
+      }
+    } else {
+      state.leftDate = calcDefaultValue$2(state.defaultValue)[0];
+      state.rightDate = nextMonth(state.leftDate);
+    }
+  }
+};
+const watchDefault = ({ state }) => (value) => {
+  if (!Array.isArray(state.value)) {
+    const [left, right] = calcDefaultValue$2(value);
+    state.leftDate = left;
+    state.rightDate = value && value[1] && state.unlinkPanels ? right : nextMonth(state.leftDate);
+  }
+};
+const handleClear$3 = ({ emit, state }) => () => {
+  state.minDate = null;
+  state.maxDate = null;
+  state.leftDate = calcDefaultValue$2(state.defaultValue)[0];
+  state.rightDate = nextMonth(state.leftDate);
+  state.rangeState.selecting = false;
+  state.rangeState.endDate = null;
+  emit("pick", null);
+};
+const handleChangeRange$2 = (state) => (val) => {
+  state.minDate = val.minDate;
+  state.maxDate = val.maxDate;
+  state.rangeState = val.rangeState;
+};
+const handleDateInput = ({ state, t: t2 }) => (value, type) => {
+  state.dateUserInput[type] = value;
+  if (value.length !== state.dateFormat.length) {
+    return;
+  }
+  const parsedValue2 = parseDate(value, state.dateFormat, t2);
+  if (parsedValue2) {
+    if (typeof state.disabledDate === "function" && state.disabledDate(new Date(parsedValue2))) {
+      return;
+    }
+    if (type === "min") {
+      state.minDate = modifyDate(
+        state.minDate || /* @__PURE__ */ new Date(),
+        parsedValue2.getFullYear(),
+        parsedValue2.getMonth(),
+        parsedValue2.getDate()
+      );
+      state.leftDate = new Date(parsedValue2);
+      if (!state.unlinkPanels) {
+        state.rightDate = nextMonth(state.leftDate);
+      }
+    } else {
+      state.maxDate = modifyDate(
+        state.maxDate || /* @__PURE__ */ new Date(),
+        parsedValue2.getFullYear(),
+        parsedValue2.getMonth(),
+        parsedValue2.getDate()
+      );
+      state.rightDate = new Date(parsedValue2);
+      if (!state.unlinkPanels) {
+        state.leftDate = prevMonth(parsedValue2);
+      }
+    }
+  }
+};
+const handleDateChange = ({ state, t: t2 }) => (value, type) => {
+  const parsedValue2 = parseDate(value, state.dateFormat, t2);
+  if (parsedValue2) {
+    if (type === "min") {
+      state.minDate = modifyDate(
+        state.minDate || /* @__PURE__ */ new Date(),
+        parsedValue2.getFullYear(),
+        parsedValue2.getMonth(),
+        parsedValue2.getDate()
+      );
+      if (state.minDate > state.maxDate) {
+        state.maxDate = state.minDate;
+      }
+    } else {
+      state.maxDate = modifyDate(
+        state.maxDate || /* @__PURE__ */ new Date(),
+        parsedValue2.getFullYear(),
+        parsedValue2.getMonth(),
+        parsedValue2.getDate()
+      );
+      if (state.maxDate < state.minDate) {
+        state.minDate = state.maxDate;
+      }
+    }
+  }
+};
+const handleTimeInput = ({ state, t: t2 }) => (value, type) => {
+  state.timeUserInput[type] = value;
+  if (value.length !== state.timeFormat.length) {
+    return;
+  }
+  const parsedValue2 = parseDate(value, state.timeFormat, t2);
+  if (parsedValue2) {
+    if (type === "min") {
+      state.minDate = modifyTime(
+        state.minDate,
+        parsedValue2.getHours(),
+        parsedValue2.getMinutes(),
+        parsedValue2.getSeconds()
+      );
+    } else {
+      state.maxDate = modifyTime(
+        state.maxDate,
+        parsedValue2.getHours(),
+        parsedValue2.getMinutes(),
+        parsedValue2.getSeconds()
+      );
+    }
+  }
+};
+const handleTimeChange = ({ state, t: t2, vm }) => (value, type) => {
+  const parsedValue2 = parseDate(value, state.timeFormat, t2);
+  if (parsedValue2) {
+    if (type === "min") {
+      state.minDate = modifyTime(
+        state.minDate,
+        parsedValue2.getHours(),
+        parsedValue2.getMinutes(),
+        parsedValue2.getSeconds()
+      );
+      if (state.minDate > state.maxDate) {
+        state.maxDate = state.minDate;
+      }
+      vm.$refs.minTimePicker.state.value = state.minDate;
+      state.minTimePickerVisible = false;
+    } else {
+      state.maxDate = modifyTime(
+        state.maxDate,
+        parsedValue2.getHours(),
+        parsedValue2.getMinutes(),
+        parsedValue2.getSeconds()
+      );
+      if (state.maxDate < state.minDate) {
+        state.minDate = state.maxDate;
+      }
+      vm.$refs.maxTimePicker.state.value = state.minDate;
+      state.maxTimePickerVisible = false;
+    }
+  }
+};
+const handleRangePick$2 = ({ api: api2, state, t: t2 }) => (val, close2 = true) => {
+  const defaultTime = state.defaultTime || [];
+  let minDateVal = val.minDate;
+  let maxDateVal = val.maxDate;
+  if (state.singleSelect) {
+    Object.assign(state.rangeState, { selecting: false });
+    const effectDate = val.minDate || val.maxDate;
+    const rangeDate = state.shortcutType === "startFrom" ? state.maxRangeDate : state.minRangeDate;
+    minDateVal = rangeDate > effectDate ? effectDate : rangeDate;
+    maxDateVal = rangeDate > effectDate ? rangeDate : effectDate;
+  }
+  const minDate = modifyWithTimeString(minDateVal, defaultTime[0], t2);
+  const maxDate = modifyWithTimeString(maxDateVal, defaultTime[1], t2);
+  if (state.maxDate === maxDate && state.minDate === minDate) {
+    return;
+  }
+  state.onPick && state.onPick(val);
+  state.maxDate = maxDate;
+  state.minDate = minDate;
+  setTimeout(() => {
+    state.maxDate = maxDate;
+    state.minDate = minDate;
+  }, 10);
+  if (!close2 || state.showTime) {
+    return;
+  }
+  api2.handleConfirm();
+};
+const handleShortcutClick$2 = (state, api2) => (shortcut) => {
+  if (shortcut.type) {
+    state.singleSelect = true;
+    state.shortcutType = shortcut.type;
+    state.shortcutText = shortcut.text;
+    if (shortcut.type === "startFrom" && shortcut.endDate && isDate$1(shortcut.endDate)) {
+      state.maxRangeDate = shortcut.endDate;
+    }
+    if (shortcut.type === "endAt" && shortcut.startDate && isDate$1(shortcut.startDate)) {
+      state.minRangeDate = shortcut.startDate;
+    }
+    state.value = [];
+    return;
+  }
+  if (shortcut.onClick) {
+    const picker = {
+      $emit: (type, [start, end]) => {
+        api2.doPick(start, end);
+      }
+    };
+    shortcut.onClick(picker);
+  }
+};
+const doPick$2 = (emit) => (start, end) => {
+  emit("pick", [start, end], false);
+};
+const handleMinTimePick = ({ state }) => (value, visible, first) => {
+  state.minDate = state.minDate || /* @__PURE__ */ new Date();
+  if (value) {
+    state.minDate = modifyTime(state.minDate, value.getHours(), value.getMinutes(), value.getSeconds());
+  }
+  if (!first) {
+    state.minTimePickerVisible = visible;
+  }
+  if (!state.maxDate || state.maxDate && state.maxDate.getTime() < state.minDate.getTime()) {
+    state.maxDate = new Date(state.minDate);
+  }
+};
+const handleMinTimeClose = (state) => () => state.minTimePickerVisible = false;
+const handleMaxTimePick = ({ state }) => (value, visible, first) => {
+  if (state.maxDate && value) {
+    state.maxDate = modifyTime(state.maxDate, value.getHours(), value.getMinutes(), value.getSeconds());
+  }
+  if (!first) {
+    state.maxTimePickerVisible = visible;
+  }
+  if (state.maxDate && state.minDate && state.minDate.getTime() > state.maxDate.getTime()) {
+    state.minDate = new Date(state.maxDate);
+  }
+};
+const handleMaxTimeClose = (state) => () => state.maxTimePickerVisible = false;
+const leftPrevYear$2 = ({ state }) => () => {
+  state.leftDate = prevYear(state.leftDate);
+  if (!state.unlinkPanels) {
+    state.rightDate = nextMonth(state.leftDate);
+  }
+};
+const leftPrevMonth = ({ state }) => () => {
+  state.leftDate = prevMonth(state.leftDate);
+  if (!state.unlinkPanels) {
+    state.rightDate = nextMonth(state.leftDate);
+  }
+};
+const rightNextYear$2 = ({ state }) => () => {
+  const { leftDate, rightDate, unlinkPanels } = state;
+  if (!unlinkPanels) {
+    state.leftDate = nextYear(leftDate);
+    state.rightDate = nextMonth(state.leftDate);
+  } else {
+    state.rightDate = nextYear(rightDate);
+  }
+};
+const rightNextMonth = ({ state }) => () => {
+  if (!state.unlinkPanels) {
+    state.leftDate = nextMonth(state.leftDate);
+    state.rightDate = nextMonth(state.leftDate);
+  } else {
+    state.rightDate = nextMonth(state.rightDate);
+  }
+};
+const leftNextYear$1 = ({ state }) => () => state.leftDate = nextYear(state.leftDate);
+const leftNextMonth = ({ state }) => () => state.leftDate = nextMonth(state.leftDate);
+const rightPrevYear$1 = ({ state }) => () => state.rightDate = prevYear(state.rightDate);
+const rightPrevMonth = ({ state }) => () => state.rightDate = prevMonth(state.rightDate);
+const handleConfirm$2 = ({ api: api2, emit, state }) => (visible = false) => {
+  if (api2.isValidValue([state.minDate, state.maxDate])) {
+    emit("pick", [state.minDate, state.maxDate], visible);
+  }
+};
+const isValidValue$3 = ({ state }) => (value) => Array.isArray(value) && value && value[0] && value[1] && isDate$1(value[0]) && isDate$1(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof state.disabledDate === "function" ? !state.disabledDate(value[0]) && !state.disabledDate(value[1]) : true);
+const resetView$2 = ({ state }) => () => {
+  state.minDate = state.value && isDate$1(state.value[0]) ? new Date(state.value[0]) : null;
+  state.maxDate = state.value && isDate$1(state.value[0]) ? new Date(state.value[1]) : null;
+};
+const setTimeFormat = ({ nextTick, vm, state }) => () => {
+  nextTick(() => {
+    vm.$refs.maxTimePicker.state.format = state.timeFormat;
+    vm.$refs.minTimePicker.state.format = state.timeFormat;
+  });
+};
+const computerBtnDisabled = ({ state, api: api2 }) => () => !(state.minDate && state.maxDate && !state.selecting && api2.isValidValue([state.minDate, state.maxDate]));
+const computerLabel = ({ state, t: t2 }) => (type) => `${state[type].getFullYear()} ${t2("ui.datepicker.year")} ${t2(`ui.datepicker.month${state[type].getMonth() + 1}`)}`;
+const computerEnableYearArrow = (state) => () => state.unlinkPanels && state.rightYear * 12 + state.rightMonth - (state.leftYear * 12 + state.leftMonth + 1) >= 12;
+const watchPickerVisible = ({ state, constants }) => (val) => {
+  if (!val) {
+    state.singleSelect = false;
+    state.minRangeDate = constants.startDate;
+    state.maxRangeDate = constants.endDate;
+  }
+};
+const api$c = [
+  "state",
+  "handleShortcutClick",
+  "handleConfirm",
+  "handleClear",
+  "handleChangeRange",
+  "rightNextMonth",
+  "rightNextYear",
+  "rightPrevMonth",
+  "rightPrevYear",
+  "handleRangePick",
+  "leftNextMonth",
+  "leftNextYear",
+  "leftPrevMonth",
+  "leftPrevYear",
+  "handleMaxTimePick",
+  "handleDateInput",
+  "handleMinTimePick",
+  "handleTimeChange",
+  "handleTimeInput",
+  "handleMinTimeClose",
+  "handleDateChange",
+  "handleMaxTimeClose",
+  "isValidValue"
+];
+const initState$6 = ({ reactive, computed, api: api2, constants, designConfig }) => {
+  var _a;
+  const state = reactive({
+    popperElm: null,
+    popperClass: "",
+    value: [],
+    defaultValue: null,
+    defaultTime: null,
+    minDate: "",
+    maxDate: "",
+    shortcutType: "",
+    shortcutText: "",
+    singleSelect: false,
+    minRangeDate: constants.startDate,
+    maxRangeDate: constants.endDate,
+    leftDate: /* @__PURE__ */ new Date(),
+    rightDate: nextMonth(/* @__PURE__ */ new Date()),
+    rangeState: { endDate: null, selecting: false, row: null, column: null },
+    showTime: false,
+    format: "",
+    arrowControl: false,
+    unlinkPanels: false,
+    firstDayOfWeek: 7,
+    minTimePickerVisible: false,
+    maxTimePickerVisible: false,
+    shortcuts: "",
+    visible: "",
+    disabledDate: "",
+    cellClassName: "",
+    dateUserInput: { min: null, max: null },
+    timeUserInput: { min: null, max: null },
+    btnDisabled: computed(() => api2.computerBtnDisabled()),
+    leftLabel: computed(() => api2.computerLabel("leftDate")),
+    rightLabel: computed(() => api2.computerLabel("rightDate")),
+    leftYear: computed(() => state.leftDate.getFullYear()),
+    leftMonth: computed(() => state.leftDate.getMonth()),
+    leftMonthDate: computed(() => state.leftDate.getDate()),
+    rightYear: computed(() => state.rightDate.getFullYear()),
+    rightMonth: computed(() => state.rightDate.getMonth()),
+    rightMonthDate: computed(() => state.rightDate.getDate()),
+    minVisibleDate: computed(() => api2.getMinVisibleDate()),
+    maxVisibleDate: computed(() => api2.getMaxVisibleDate()),
+    minVisibleTime: computed(() => api2.getMinVisibleTime()),
+    maxVisibleTime: computed(() => api2.getMaxVisibleTime()),
+    timeFormat: computed(() => state.format ? extractTimeFormat(state.format) : "HH:mm:ss"),
+    dateFormat: computed(() => state.format ? extractDateFormat(state.format) : "yyyy-MM-dd"),
+    enableMonthArrow: computed(() => api2.getEnableMonthArrow()),
+    enableYearArrow: computed(() => api2.computerEnableYearArrow()),
+    // tiny 新增
+    confirmButtonProps: __spreadValues({
+      plain: true,
+      type: "default"
+    }, (_a = designConfig == null ? void 0 : designConfig.state) == null ? void 0 : _a.confirmButtonProps)
+  });
+  return state;
+};
+const initWatch$3 = ({ watch, state, api: api2 }) => {
+  watch(() => state.minDate, api2.watchMinDate);
+  watch(() => state.maxDate, api2.watchMaxDate);
+  watch(() => state.minTimePickerVisible, api2.watchMinTimePickerVisible);
+  watch(() => state.maxTimePickerVisible, api2.watchMaxTimePickerVisible);
+  watch(() => state.value, api2.watchValue);
+  watch(() => state.defaultValue, api2.watchDefault);
+  watch(() => state.showTime, api2.setTimeFormat);
+  watch(() => state.visible, api2.watchPickerVisible);
+};
+const initApi$2 = ({ api: api2, state, t: t2, vm, nextTick, emit, constants }) => {
+  Object.assign(api2, {
+    t: t2,
+    state,
+    computerLabel: computerLabel({ state, t: t2 }),
+    resetView: resetView$2({ state }),
+    watchMaxDate: watchMaxDate({ state, vm }),
+    handleChangeRange: handleChangeRange$2(state),
+    handleMaxTimeClose: handleMaxTimeClose(state),
+    handleMinTimeClose: handleMinTimeClose(state),
+    isValidValue: isValidValue$3({ state }),
+    leftNextYear: leftNextYear$1({ state }),
+    getEnableMonthArrow: getEnableMonthArrow(state),
+    leftNextMonth: leftNextMonth({ state }),
+    rightPrevYear: rightPrevYear$1({ state }),
+    rightPrevMonth: rightPrevMonth({ state }),
+    rightNextMonth: rightNextMonth({ state }),
+    leftPrevYear: leftPrevYear$2({ state }),
+    handleMaxTimePick: handleMaxTimePick({ state }),
+    handleMinTimePick: handleMinTimePick({ state }),
+    getMaxVisibleTime: getMaxVisibleTime({ state, t: t2 }),
+    getMinVisibleTime: getMinVisibleTime({ state, t: t2 }),
+    getMaxVisibleDate: getMaxVisibleDate({ state, t: t2 }),
+    getMinVisibleDate: getMinVisibleDate({ state, t: t2 }),
+    rightNextYear: rightNextYear$2({ state }),
+    leftPrevMonth: leftPrevMonth({ state }),
+    handleDateChange: handleDateChange({ state, t: t2 }),
+    handleTimeChange: handleTimeChange({ state, t: t2, vm }),
+    watchMinDate: watchMinDate({ state, t: t2, vm }),
+    handleTimeInput: handleTimeInput({ state, t: t2 }),
+    watchMaxTimePickerVisible: watchMaxTimePickerVisible({ nextTick, state, vm }),
+    watchMinTimePickerVisible: watchMinTimePickerVisible({ nextTick, state, vm }),
+    handleDateInput: handleDateInput({ state, t: t2 }),
+    doPick: doPick$2(emit),
+    watchValue: watchValue$3({ state }),
+    watchDefault: watchDefault({ state }),
+    handleClear: handleClear$3({ emit, state }),
+    setTimeFormat: setTimeFormat({ nextTick, vm, state }),
+    handleConfirm: handleConfirm$2({ api: api2, emit, state }),
+    handleRangePick: handleRangePick$2({ api: api2, state, t: t2 }),
+    handleShortcutClick: handleShortcutClick$2(state, api2),
+    computerBtnDisabled: computerBtnDisabled({ state, api: api2 }),
+    computerEnableYearArrow: computerEnableYearArrow(state),
+    watchPickerVisible: watchPickerVisible({ state, constants })
+  });
+};
+const renderless$c = (props2, { computed, reactive, watch, nextTick }, { t: t2, emit: $emit, vm, constants, designConfig }) => {
+  const api2 = {};
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const state = initState$6({ reactive, computed, api: api2, constants, designConfig });
+  initApi$2({ api: api2, state, t: t2, vm, nextTick, emit, constants });
+  initWatch$3({ watch, state, api: api2 });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$e(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$e(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$e(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$e(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$e(o, minLen);
+}
+function _arrayLikeToArray$e(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$e = function _export_sfc211(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$e(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$e = defineComponent({
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  components: {
+    TimePicker: Time,
+    DateTable,
+    TinyInput: Input,
+    TinyButton: Button,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k(),
+    IconChevronLeft: index$l(),
+    IconChevronRight: index$m()
+  },
+  props: [].concat(props, ["emitter", "step", "showWeekNumber", "formatWeeks", "timeEditable"]),
+  emits: ["dodestroy", "pick"],
+  setup: function setup$111(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c
+    });
+  }
+});
+var _hoisted_1$d = {
+  class: "tiny-picker-panel__body-wrapper"
+};
+var _hoisted_2$b = {
+  key: 0,
+  ref: "shortcut",
+  class: "tiny-picker-panel__sidebar"
+};
+var _hoisted_3$a = ["onClick", "title"];
+var _hoisted_4$8 = {
+  class: "tiny-picker-panel__body"
+};
+var _hoisted_5$7 = {
+  key: 0,
+  class: "tiny-date-range-picker__time-header"
+};
+var _hoisted_6$7 = {
+  class: "tiny-date-range-picker__editors-wrap"
+};
+var _hoisted_7$6 = {
+  class: "tiny-date-range-picker__time-picker-wrap"
+};
+var _hoisted_8$5 = {
+  class: "tiny-date-range-picker__time-picker-wrap"
+};
+var _hoisted_9$4 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  {
+    class: "tiny-icon-arrow-right"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_10$3 = {
+  class: "tiny-date-range-picker__editors-wrap is-right"
+};
+var _hoisted_11$2 = {
+  class: "tiny-date-range-picker__time-picker-wrap"
+};
+var _hoisted_12$2 = {
+  class: "tiny-date-range-picker__time-picker-wrap"
+};
+var _hoisted_13$2 = {
+  class: "tiny-picker-panel__content tiny-date-range-picker__content is-left"
+};
+var _hoisted_14$2 = {
+  class: "tiny-date-range-picker__header"
+};
+var _hoisted_15$2 = ["disabled"];
+var _hoisted_16$2 = ["disabled"];
+var _hoisted_17$1 = {
+  class: "tiny-picker-panel__content tiny-date-range-picker__content is-right"
+};
+var _hoisted_18$1 = {
+  class: "tiny-date-range-picker__header"
+};
+var _hoisted_19$1 = ["disabled"];
+var _hoisted_20$1 = ["disabled"];
+var _hoisted_21$1 = {
+  key: 0,
+  class: "tiny-picker-panel__footer"
+};
+function _sfc_render$e(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_time_picker = resolveComponent("time-picker");
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  var _component_icon_chevron_left = resolveComponent("icon-chevron-left");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_date_table = resolveComponent("date-table");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[19] || (_cache[19] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-picker-panel tiny-date-range-picker tiny-popper", [{
+            "has-sidebar": _ctx.slots.sidebar || _ctx.state.shortcuts,
+            "has-time": _ctx.state.showTime
+          }, _ctx.state.popperClass]]),
+          ref: "refDateRange"
+        },
+        [createBaseVNode("div", _hoisted_1$d, [renderSlot(_ctx.$slots, "sidebar", {
+          class: "tiny-picker-panel__sidebar"
+        }), _ctx.state.shortcuts ? (openBlock(), createElementBlock(
+          "div",
+          _hoisted_2$b,
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.shortcuts, function(shortcut, key) {
+              return openBlock(), createElementBlock("button", {
+                type: "button",
+                class: normalizeClass(["tiny-picker-panel__shortcut", {
+                  "tiny-picker-panel__shortcut-selected": _ctx.state.singleSelect && shortcut.type === _ctx.state.shortcutType && shortcut.text === _ctx.state.shortcutText
+                }]),
+                key,
+                onClick: function onClick($event) {
+                  return _ctx.handleShortcutClick(shortcut);
+                },
+                title: shortcut.text
+              }, toDisplayString(shortcut.text), 11, _hoisted_3$a);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          512
+          /* NEED_PATCH */
+        )) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_4$8, [_ctx.state.showTime ? (openBlock(), createElementBlock("div", _hoisted_5$7, [createBaseVNode("span", _hoisted_6$7, [createBaseVNode("span", _hoisted_7$6, [createVNode(_component_tiny_input, {
+          size: "small",
+          disabled: _ctx.state.rangeState.selecting,
+          ref: "minInput",
+          placeholder: _ctx.t("ui.datepicker.startDate"),
+          class: "tiny-date-range-picker__editor",
+          modelValue: _ctx.state.minVisibleDate,
+          "onUpdate:modelValue": _cache[0] || (_cache[0] = function(val) {
+            return _ctx.handleDateInput(val, "min");
+          }),
+          onChange: _cache[1] || (_cache[1] = function(val) {
+            return _ctx.handleDateChange(val, "min");
+          })
+        }, null, 8, ["disabled", "placeholder", "modelValue"])]), withDirectives((openBlock(), createElementBlock("span", _hoisted_8$5, [createVNode(_component_tiny_input, {
+          size: "small",
+          class: "tiny-date-range-picker__editor",
+          disabled: _ctx.state.rangeState.selecting,
+          placeholder: _ctx.t("ui.datepicker.startTime"),
+          modelValue: _ctx.state.minVisibleTime,
+          onFocus: _cache[2] || (_cache[2] = function($event) {
+            return _ctx.state.minTimePickerVisible = true;
+          }),
+          "onUpdate:modelValue": _cache[3] || (_cache[3] = function(val) {
+            return _ctx.handleTimeInput(val, "min");
+          }),
+          onChange: _cache[4] || (_cache[4] = function(val) {
+            return _ctx.handleTimeChange(val, "min");
+          }),
+          readonly: !_ctx.timeEditable
+        }, null, 8, ["disabled", "placeholder", "modelValue", "readonly"]), createVNode(_component_time_picker, {
+          ref: "minTimePicker",
+          step: _ctx.step,
+          "time-arrow-control": _ctx.state.arrowControl,
+          show: _ctx.state.minTimePickerVisible,
+          value: _ctx.state.minDate,
+          onPick: _ctx.handleMinTimePick
+        }, null, 8, ["step", "time-arrow-control", "show", "value", "onPick"])])), [[_directive_clickoutside, _ctx.handleMinTimeClose]])]), _hoisted_9$4, createBaseVNode("span", _hoisted_10$3, [createBaseVNode("span", _hoisted_11$2, [createVNode(_component_tiny_input, {
+          size: "small",
+          class: "tiny-date-range-picker__editor",
+          disabled: _ctx.state.rangeState.selecting,
+          placeholder: _ctx.t("ui.datepicker.endDate"),
+          modelValue: _ctx.state.maxVisibleDate,
+          readonly: !_ctx.state.minDate,
+          "onUpdate:modelValue": _cache[5] || (_cache[5] = function(val) {
+            return _ctx.handleDateInput(val, "max");
+          }),
+          onChange: _cache[6] || (_cache[6] = function(val) {
+            return _ctx.handleDateChange(val, "max");
+          })
+        }, null, 8, ["disabled", "placeholder", "modelValue", "readonly"])]), withDirectives((openBlock(), createElementBlock("span", _hoisted_12$2, [createVNode(_component_tiny_input, {
+          size: "small",
+          class: "tiny-date-range-picker__editor",
+          disabled: _ctx.state.rangeState.selecting,
+          placeholder: _ctx.t("ui.datepicker.endTime"),
+          modelValue: _ctx.state.maxVisibleTime,
+          readonly: !_ctx.state.minDate || !_ctx.timeEditable,
+          onFocus: _cache[7] || (_cache[7] = function($event) {
+            return _ctx.state.minDate && (_ctx.state.maxTimePickerVisible = true);
+          }),
+          "onUpdate:modelValue": _cache[8] || (_cache[8] = function(val) {
+            return _ctx.handleTimeInput(val, "max");
+          }),
+          onChange: _cache[9] || (_cache[9] = function(val) {
+            return _ctx.handleTimeChange(val, "max");
+          })
+        }, null, 8, ["disabled", "placeholder", "modelValue", "readonly"]), createVNode(_component_time_picker, {
+          ref: "maxTimePicker",
+          step: _ctx.step,
+          "time-arrow-control": _ctx.state.arrowControl,
+          show: _ctx.state.maxTimePickerVisible,
+          value: _ctx.state.maxDate,
+          onPick: _ctx.handleMaxTimePick
+        }, null, 8, ["step", "time-arrow-control", "show", "value", "onPick"])])), [[_directive_clickoutside, _ctx.handleMaxTimeClose]])])])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_13$2, [createBaseVNode("div", _hoisted_14$2, [createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[10] || (_cache[10] = function() {
+            return _ctx.leftPrevYear && _ctx.leftPrevYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"
+        }, [createVNode(_component_icon_double_left)]), createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[11] || (_cache[11] = function() {
+            return _ctx.leftPrevMonth && _ctx.leftPrevMonth.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-arrow-left"
+        }, [createVNode(_component_icon_chevron_left)]), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+          key: 0,
+          type: "button",
+          onClick: _cache[12] || (_cache[12] = function() {
+            return _ctx.leftNextYear && _ctx.leftNextYear.apply(_ctx, arguments);
+          }),
+          disabled: !_ctx.state.enableYearArrow,
+          class: normalizeClass([{
+            "is-disabled": !_ctx.state.enableYearArrow
+          }, "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"])
+        }, [createVNode(_component_icon_double_right)], 10, _hoisted_15$2)) : createCommentVNode("v-if", true), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+          key: 1,
+          type: "button",
+          onClick: _cache[13] || (_cache[13] = function() {
+            return _ctx.leftNextMonth && _ctx.leftNextMonth.apply(_ctx, arguments);
+          }),
+          disabled: !_ctx.state.enableMonthArrow,
+          class: normalizeClass([{
+            "is-disabled": !_ctx.state.enableMonthArrow
+          }, "tiny-picker-panel__icon-btn tiny-icon-arrow-right"])
+        }, [createVNode(_component_icon_chevron_right)], 10, _hoisted_16$2)) : createCommentVNode("v-if", true), createBaseVNode(
+          "div",
+          null,
+          toDisplayString(_ctx.state.leftLabel),
+          1
+          /* TEXT */
+        )]), createVNode(_component_date_table, {
+          "selection-mode": "range",
+          date: _ctx.state.leftDate,
+          "default-value": _ctx.state.defaultValue,
+          "min-date": _ctx.state.minDate,
+          "max-date": _ctx.state.maxDate,
+          "range-state": _ctx.state.rangeState,
+          "disabled-date": _ctx.state.disabledDate,
+          "cell-class-name": _ctx.state.cellClassName,
+          onChangerange: _ctx.handleChangeRange,
+          "first-day-of-week": _ctx.state.firstDayOfWeek,
+          "show-week-number": _ctx.showWeekNumber,
+          "format-weeks": _ctx.formatWeeks,
+          onPick: _ctx.handleRangePick
+        }, null, 8, ["date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "cell-class-name", "onChangerange", "first-day-of-week", "show-week-number", "format-weeks", "onPick"])]), createBaseVNode("div", _hoisted_17$1, [createBaseVNode("div", _hoisted_18$1, [_ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+          key: 0,
+          type: "button",
+          onClick: _cache[14] || (_cache[14] = function() {
+            return _ctx.rightPrevYear && _ctx.rightPrevYear.apply(_ctx, arguments);
+          }),
+          disabled: !_ctx.state.enableYearArrow,
+          class: normalizeClass([{
+            "is-disabled": !_ctx.state.enableYearArrow
+          }, "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"])
+        }, [createVNode(_component_icon_double_left)], 10, _hoisted_19$1)) : createCommentVNode("v-if", true), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+          key: 1,
+          type: "button",
+          onClick: _cache[15] || (_cache[15] = function() {
+            return _ctx.rightPrevMonth && _ctx.rightPrevMonth.apply(_ctx, arguments);
+          }),
+          disabled: !_ctx.state.enableMonthArrow,
+          class: normalizeClass([{
+            "is-disabled": !_ctx.state.enableMonthArrow
+          }, "tiny-picker-panel__icon-btn tiny-icon-arrow-left"])
+        }, [createVNode(_component_icon_chevron_left)], 10, _hoisted_20$1)) : createCommentVNode("v-if", true), createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[16] || (_cache[16] = function() {
+            return _ctx.rightNextYear && _ctx.rightNextYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"
+        }, [createVNode(_component_icon_double_right)]), createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[17] || (_cache[17] = function() {
+            return _ctx.rightNextMonth && _ctx.rightNextMonth.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-arrow-right"
+        }, [createVNode(_component_icon_chevron_right)]), createBaseVNode(
+          "div",
+          null,
+          toDisplayString(_ctx.state.rightLabel),
+          1
+          /* TEXT */
+        )]), createVNode(_component_date_table, {
+          "selection-mode": "range",
+          date: _ctx.state.rightDate,
+          "default-value": _ctx.state.defaultValue,
+          "min-date": _ctx.state.minDate,
+          "max-date": _ctx.state.maxDate,
+          "range-state": _ctx.state.rangeState,
+          "disabled-date": _ctx.state.disabledDate,
+          "cell-class-name": _ctx.state.cellClassName,
+          onChangerange: _ctx.handleChangeRange,
+          "first-day-of-week": _ctx.state.firstDayOfWeek,
+          "show-week-number": _ctx.showWeekNumber,
+          "format-weeks": _ctx.formatWeeks,
+          onPick: _ctx.handleRangePick
+        }, null, 8, ["date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "cell-class-name", "onChangerange", "first-day-of-week", "show-week-number", "format-weeks", "onPick"])])])]), _ctx.state.showTime ? (openBlock(), createElementBlock("div", _hoisted_21$1, [createVNode(_component_tiny_button, {
+          size: "mini",
+          type: "text",
+          class: "tiny-picker-panel__link-btn",
+          onClick: _ctx.handleClear
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.t("ui.datepicker.clear")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["onClick"]), createVNode(_component_tiny_button, {
+          plain: _ctx.state.confirmButtonProps.plain,
+          size: "mini",
+          type: _ctx.state.confirmButtonProps.type,
+          class: "tiny-picker-panel__link-btn",
+          disabled: _ctx.state.btnDisabled,
+          onClick: _cache[18] || (_cache[18] = function($event) {
+            return _ctx.handleConfirm(false);
+          })
+        }, {
+          default: withCtx(function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.t("ui.datepicker.confirm")),
+              1
+              /* TEXT */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["plain", "type", "disabled"])])) : createCommentVNode("v-if", true)],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var pc$2 = /* @__PURE__ */ _export_sfc$e(_sfc_main$e, [["render", _sfc_render$e]]);
+function _createForOfIteratorHelperLoose$d(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$d(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$d(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$d(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$d(o, minLen);
+}
+function _arrayLikeToArray$d(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$d = function _export_sfc212(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$d(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var classes$2 = {
+  "picker-panel": "text-color-text-primary text-xs shadow-md bg-color-bg-1 rounded leading-4 my-0.5 mx-0",
+  "date-range-picker": "w-144",
+  "sidebar": "absolute top-0 bottom-0 w-28 border-r border-r-color-bg-3 box-border pt-5 bg-color-bg-1 overflow-auto",
+  "shortcut": "block my-0 mx-auto w-24 rounded border-0 bg-transparent leading-8 text-xs text-color-text-primary pl-4 text-left outline-0 cursor-pointer hover:bg-color-bg-2",
+  "shortcut-selected": "text-color-brand bg-color-brand-hover-subtle",
+  "body": "min-w-[513px]",
+  "time-header": "relative text-xs h-10 leading-10 table w-full box-border border-b border-b-color-bg-3",
+  "content": "float-left w-1/2 box-border pt-4 pr-4 pb-1.5 pl-4",
+  "header": "relative text-center p-4 h-12",
+  "icon-btn": "text-sm leading-4 fill-color-text-primary border-0 cursor-pointer outline-0 hover:fill-color-brand",
+  "is-disabled": "text-color-text-disabled hover:cursor-not-allowed",
+  "arrow-left": "float-left",
+  "arrow-right": "float-right",
+  "editors-wrap": "box-border table-cell",
+  "is-left": "border-r border-r-color-bg-3 relative -left-px",
+  "is-right": "text-right",
+  "time-picker-wrap": "relative table-cell px-1",
+  "time-picker-wrap-left": "before:content-[''] before:h-6 before:absolute before:right-0 before:top-2 before:border-r before:border-r-color-bg-3",
+  "editor": "relative items-center sm:border-0 text-center",
+  "footer": "border-t border-t-color-bg-3 py-3 px-4 bg-color-bg-1 overflow-hidden rounded-b"
+};
+var _sfc_main$d = defineComponent({
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  components: {
+    TimePicker: Time,
+    DateTable,
+    TinyInput: Input,
+    TinyButton: Button,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k(),
+    IconChevronLeft: index$l(),
+    IconChevronRight: index$m()
+  },
+  props: [].concat(props, ["emitter", "step", "showWeekNumber", "formatWeeks"]),
+  emits: ["dodestroy", "pick"],
+  setup: function setup$112(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$c,
+      api: api$c,
+      classes: classes$2
+    });
+  }
+});
+var _hoisted_1$c = {
+  "data-tag": "tiny-picker-panel__body-wrapper",
+  class: "relative"
+};
+var _hoisted_2$a = ["onClick"];
+var _hoisted_3$9 = {
+  "data-tag": "tiny-picker-panel__body"
+};
+var _hoisted_4$7 = /* @__PURE__ */ createBaseVNode(
+  "span",
+  {
+    "data-tag": "tiny-icon-arrow-right"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_5$6 = ["disabled"];
+var _hoisted_6$6 = ["disabled"];
+var _hoisted_7$5 = {
+  class: "mx-12"
+};
+var _hoisted_8$4 = ["disabled"];
+var _hoisted_9$3 = ["disabled"];
+function _sfc_render$d(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_time_picker = resolveComponent("time-picker");
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  var _component_icon_chevron_left = resolveComponent("icon-chevron-left");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_date_table = resolveComponent("date-table");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[19] || (_cache[19] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-picker-panel tiny-date-range-picker tiny-popper",
+          class: normalizeClass(_ctx.m(_ctx.gcls(["picker-panel", "date-range-picker"]), _ctx.state.popperClass)),
+          ref: "refDateRange"
+        },
+        [createBaseVNode("div", _hoisted_1$c, [renderSlot(_ctx.$slots, "sidebar", {
+          dataTag: "tiny-picker-panel__sidebar",
+          class: normalizeClass(_ctx.gcls("sidebar"))
+        }), _ctx.state.shortcuts ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 0,
+            ref: "shortcut",
+            "data-tag": "tiny-picker-panel__sidebar",
+            class: normalizeClass(_ctx.gcls("sidebar"))
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.state.shortcuts, function(shortcut, key) {
+              return openBlock(), createElementBlock("button", {
+                type: "button",
+                "data-tag": "tiny-picker-panel__shortcut",
+                key,
+                class: normalizeClass(_ctx.m(_ctx.gcls("shortcut"), _ctx.state.singleSelect && shortcut.type === _ctx.state.shortcutType && shortcut.text === _ctx.state.shortcutText && _ctx.gcls("shortcut-selected"))),
+                onClick: function onClick($event) {
+                  return _ctx.handleShortcutClick(shortcut);
+                }
+              }, toDisplayString(shortcut.text), 11, _hoisted_2$a);
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_3$9, [_ctx.state.showTime ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 0,
+            "data-tag": "tiny-date-range-picker__time-header",
+            class: normalizeClass(_ctx.gcls("time-header"))
+          },
+          [createBaseVNode(
+            "span",
+            {
+              "data-tag": "tiny-date-range-picker__editors-wrap",
+              class: normalizeClass(_ctx.gcls(["editors-wrap", "is-left"]))
+            },
+            [createBaseVNode(
+              "span",
+              {
+                "data-tag": "tiny-date-range-picker__time-picker-wrap",
+                class: normalizeClass(_ctx.gcls(["time-picker-wrap", "time-picker-wrap-left"]))
+              },
+              [createVNode(_component_tiny_input, {
+                size: "small",
+                disabled: _ctx.state.rangeState.selecting,
+                ref: "minInput",
+                placeholder: _ctx.t("ui.datepicker.startDate"),
+                "data-tag": "tiny-date-range-picker__editor",
+                "custom-class": _ctx.gcls("editor"),
+                modelValue: _ctx.state.minVisibleDate,
+                "onUpdate:modelValue": _cache[0] || (_cache[0] = function(val) {
+                  return _ctx.handleDateInput(val, "min");
+                }),
+                onChange: _cache[1] || (_cache[1] = function(val) {
+                  return _ctx.handleDateChange(val, "min");
+                })
+              }, null, 8, ["disabled", "placeholder", "custom-class", "modelValue"])],
+              2
+              /* CLASS */
+            ), withDirectives((openBlock(), createElementBlock(
+              "span",
+              {
+                "data-tag": "tiny-date-range-picker__time-picker-wrap",
+                class: normalizeClass(_ctx.gcls("time-picker-wrap"))
+              },
+              [createVNode(_component_tiny_input, {
+                size: "small",
+                "data-tag": "tiny-date-range-picker__editor",
+                "custom-class": _ctx.gcls("editor"),
+                disabled: _ctx.state.rangeState.selecting,
+                placeholder: _ctx.t("ui.datepicker.startTime"),
+                modelValue: _ctx.state.minVisibleTime,
+                onFocus: _cache[2] || (_cache[2] = function($event) {
+                  return _ctx.state.minTimePickerVisible = true;
+                }),
+                "onUpdate:modelValue": _cache[3] || (_cache[3] = function(val) {
+                  return _ctx.handleTimeInput(val, "min");
+                }),
+                onChange: _cache[4] || (_cache[4] = function(val) {
+                  return _ctx.handleTimeChange(val, "min");
+                })
+              }, null, 8, ["custom-class", "disabled", "placeholder", "modelValue"]), createVNode(_component_time_picker, {
+                ref: "minTimePicker",
+                step: _ctx.step,
+                "time-arrow-control": _ctx.state.arrowControl,
+                show: _ctx.state.minTimePickerVisible,
+                value: _ctx.state.minDate,
+                onPick: _ctx.handleMinTimePick
+              }, null, 8, ["step", "time-arrow-control", "show", "value", "onPick"])],
+              2
+              /* CLASS */
+            )), [[_directive_clickoutside, _ctx.handleMinTimeClose]])],
+            2
+            /* CLASS */
+          ), _hoisted_4$7, createBaseVNode(
+            "span",
+            {
+              "data-tag": "tiny-date-range-picker__editors-wrap is-right",
+              class: normalizeClass(_ctx.gcls(["editors-wrap", "is-right"]))
+            },
+            [createBaseVNode(
+              "span",
+              {
+                "data-tag": "tiny-date-range-picker__time-picker-wrap",
+                class: normalizeClass(_ctx.gcls(["time-picker-wrap", "time-picker-wrap-left"]))
+              },
+              [createVNode(_component_tiny_input, {
+                size: "small",
+                "data-tag": "tiny-date-range-picker__editor",
+                "custom-class": _ctx.gcls("editor"),
+                disabled: _ctx.state.rangeState.selecting,
+                placeholder: _ctx.t("ui.datepicker.endDate"),
+                modelValue: _ctx.state.maxVisibleDate,
+                readonly: !_ctx.state.minDate,
+                "onUpdate:modelValue": _cache[5] || (_cache[5] = function(val) {
+                  return _ctx.handleDateInput(val, "max");
+                }),
+                onChange: _cache[6] || (_cache[6] = function(val) {
+                  return _ctx.handleDateChange(val, "max");
+                })
+              }, null, 8, ["custom-class", "disabled", "placeholder", "modelValue", "readonly"])],
+              2
+              /* CLASS */
+            ), withDirectives((openBlock(), createElementBlock(
+              "span",
+              {
+                "data-tag": "tiny-date-range-picker__time-picker-wrap",
+                class: normalizeClass(_ctx.gcls("time-picker-wrap"))
+              },
+              [createVNode(_component_tiny_input, {
+                size: "small",
+                "data-tag": "tiny-date-range-picker__editor",
+                "custom-class": _ctx.gcls("editor"),
+                disabled: _ctx.state.rangeState.selecting,
+                placeholder: _ctx.t("ui.datepicker.endTime"),
+                modelValue: _ctx.state.maxVisibleTime,
+                readonly: !_ctx.state.minDate,
+                onFocus: _cache[7] || (_cache[7] = function($event) {
+                  return _ctx.state.minDate && (_ctx.state.maxTimePickerVisible = true);
+                }),
+                "onUpdate:modelValue": _cache[8] || (_cache[8] = function(val) {
+                  return _ctx.handleTimeInput(val, "max");
+                }),
+                onChange: _cache[9] || (_cache[9] = function(val) {
+                  return _ctx.handleTimeChange(val, "max");
+                })
+              }, null, 8, ["custom-class", "disabled", "placeholder", "modelValue", "readonly"]), createVNode(_component_time_picker, {
+                ref: "maxTimePicker",
+                step: _ctx.step,
+                "time-arrow-control": _ctx.state.arrowControl,
+                show: _ctx.state.maxTimePickerVisible,
+                value: _ctx.state.maxDate,
+                onPick: _ctx.handleMaxTimePick
+              }, null, 8, ["step", "time-arrow-control", "show", "value", "onPick"])],
+              2
+              /* CLASS */
+            )), [[_directive_clickoutside, _ctx.handleMaxTimeClose]])],
+            2
+            /* CLASS */
+          )],
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true), createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-picker-panel__content tiny-date-range-picker__content is-left",
+            class: normalizeClass(_ctx.gcls(["content", "is-left"]))
+          },
+          [createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-date-range-picker__header",
+              class: normalizeClass(_ctx.gcls("header"))
+            },
+            [createBaseVNode(
+              "button",
+              {
+                type: "button",
+                onClick: _cache[10] || (_cache[10] = function() {
+                  return _ctx.leftPrevYear && _ctx.leftPrevYear.apply(_ctx, arguments);
+                }),
+                "data-tag": "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left",
+                class: normalizeClass(_ctx.gcls(["icon-btn", "arrow-left"]))
+              },
+              [createVNode(_component_icon_double_left)],
+              2
+              /* CLASS */
+            ), createBaseVNode(
+              "button",
+              {
+                type: "button",
+                onClick: _cache[11] || (_cache[11] = function() {
+                  return _ctx.leftPrevMonth && _ctx.leftPrevMonth.apply(_ctx, arguments);
+                }),
+                "data-tag": "tiny-picker-panel__icon-btn tiny-icon-arrow-left",
+                class: normalizeClass(_ctx.gcls(["icon-btn", "arrow-left"]))
+              },
+              [createVNode(_component_icon_chevron_left)],
+              2
+              /* CLASS */
+            ), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+              key: 0,
+              type: "button",
+              onClick: _cache[12] || (_cache[12] = function() {
+                return _ctx.leftNextYear && _ctx.leftNextYear.apply(_ctx, arguments);
+              }),
+              disabled: !_ctx.state.enableYearArrow,
+              class: normalizeClass({
+                "is-disabled": !_ctx.state.enableYearArrow
+              }),
+              "data-tag": "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"
+            }, [createVNode(_component_icon_double_right)], 10, _hoisted_5$6)) : createCommentVNode("v-if", true), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+              key: 1,
+              type: "button",
+              onClick: _cache[13] || (_cache[13] = function() {
+                return _ctx.leftNextMonth && _ctx.leftNextMonth.apply(_ctx, arguments);
+              }),
+              disabled: !_ctx.state.enableMonthArrow,
+              class: normalizeClass({
+                "is-disabled": !_ctx.state.enableMonthArrow
+              }),
+              "data-tag": "tiny-picker-panel__icon-btn tiny-icon-arrow-right"
+            }, [createVNode(_component_icon_chevron_right)], 10, _hoisted_6$6)) : createCommentVNode("v-if", true), createBaseVNode(
+              "div",
+              _hoisted_7$5,
+              toDisplayString(_ctx.state.leftLabel),
+              1
+              /* TEXT */
+            )],
+            2
+            /* CLASS */
+          ), createVNode(_component_date_table, {
+            "selection-mode": "range",
+            date: _ctx.state.leftDate,
+            "default-value": _ctx.state.defaultValue,
+            "min-date": _ctx.state.minDate,
+            "max-date": _ctx.state.maxDate,
+            "range-state": _ctx.state.rangeState,
+            "disabled-date": _ctx.state.disabledDate,
+            "cell-class-name": _ctx.state.cellClassName,
+            onChangerange: _ctx.handleChangeRange,
+            "first-day-of-week": _ctx.state.firstDayOfWeek,
+            "show-week-number": _ctx.showWeekNumber,
+            "format-weeks": _ctx.formatWeeks,
+            onPick: _ctx.handleRangePick
+          }, null, 8, ["date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "cell-class-name", "onChangerange", "first-day-of-week", "show-week-number", "format-weeks", "onPick"])],
+          2
+          /* CLASS */
+        ), createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-picker-panel__content tiny-date-range-picker__content is-right",
+            class: normalizeClass(_ctx.gcls(["content", "is-right"]))
+          },
+          [createBaseVNode(
+            "div",
+            {
+              "data-tag": "tiny-date-range-picker__header",
+              class: normalizeClass(_ctx.gcls("header"))
+            },
+            [_ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+              key: 0,
+              type: "button",
+              onClick: _cache[14] || (_cache[14] = function() {
+                return _ctx.rightPrevYear && _ctx.rightPrevYear.apply(_ctx, arguments);
+              }),
+              disabled: !_ctx.state.enableYearArrow,
+              class: normalizeClass(_ctx.m(_ctx.gcls(["icon-btn", "arrow-left"]), !_ctx.state.enableYearArrow && _ctx.gcls("is-disabled"))),
+              "data-tag": "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"
+            }, [createVNode(_component_icon_double_left)], 10, _hoisted_8$4)) : createCommentVNode("v-if", true), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+              key: 1,
+              "data-tag": "tiny-picker-panel__icon-btn tiny-icon-arrow-left",
+              type: "button",
+              disabled: !_ctx.state.enableMonthArrow,
+              class: normalizeClass(_ctx.m(_ctx.gcls(["icon-btn", "arrow-left"]), !_ctx.state.enableMonthArrow && _ctx.gcls("is-disabled"))),
+              onClick: _cache[15] || (_cache[15] = function() {
+                return _ctx.rightPrevMonth && _ctx.rightPrevMonth.apply(_ctx, arguments);
+              })
+            }, [createVNode(_component_icon_chevron_left)], 10, _hoisted_9$3)) : createCommentVNode("v-if", true), createBaseVNode(
+              "button",
+              {
+                type: "button",
+                onClick: _cache[16] || (_cache[16] = function() {
+                  return _ctx.rightNextYear && _ctx.rightNextYear.apply(_ctx, arguments);
+                }),
+                "data-tag": "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right",
+                class: normalizeClass(_ctx.gcls(["icon-btn", "arrow-right"]))
+              },
+              [createVNode(_component_icon_double_right)],
+              2
+              /* CLASS */
+            ), createBaseVNode(
+              "button",
+              {
+                type: "button",
+                onClick: _cache[17] || (_cache[17] = function() {
+                  return _ctx.rightNextMonth && _ctx.rightNextMonth.apply(_ctx, arguments);
+                }),
+                "data-tag": "tiny-picker-panel__icon-btn tiny-icon-arrow-right",
+                class: normalizeClass(_ctx.gcls(["icon-btn", "arrow-right"]))
+              },
+              [createVNode(_component_icon_chevron_right)],
+              2
+              /* CLASS */
+            ), createBaseVNode(
+              "div",
+              null,
+              toDisplayString(_ctx.state.rightLabel),
+              1
+              /* TEXT */
+            )],
+            2
+            /* CLASS */
+          ), createVNode(_component_date_table, {
+            "selection-mode": "range",
+            date: _ctx.state.rightDate,
+            "default-value": _ctx.state.defaultValue,
+            "min-date": _ctx.state.minDate,
+            "max-date": _ctx.state.maxDate,
+            "range-state": _ctx.state.rangeState,
+            "disabled-date": _ctx.state.disabledDate,
+            "cell-class-name": _ctx.state.cellClassName,
+            onChangerange: _ctx.handleChangeRange,
+            "first-day-of-week": _ctx.state.firstDayOfWeek,
+            "show-week-number": _ctx.showWeekNumber,
+            "format-weeks": _ctx.formatWeeks,
+            onPick: _ctx.handleRangePick
+          }, null, 8, ["date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "cell-class-name", "onChangerange", "first-day-of-week", "show-week-number", "format-weeks", "onPick"])],
+          2
+          /* CLASS */
+        )])]), _ctx.state.showTime ? (openBlock(), createElementBlock(
+          "div",
+          {
+            key: 0,
+            "data-tag": "tiny-picker-panel__footer",
+            class: normalizeClass(_ctx.gcls("footer"))
+          },
+          [createVNode(_component_tiny_button, {
+            size: "mini",
+            type: "text",
+            "data-tag": "tiny-picker-panel__link-btn",
+            onClick: _ctx.handleClear,
+            "custom-class": "text-left pl-0"
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.datepicker.clear")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["onClick"]), createVNode(_component_tiny_button, {
+            type: "primary",
+            size: "mini",
+            "data-tag": "tiny-picker-panel__link-btn",
+            "custom-class": "float-right",
+            disabled: _ctx.state.btnDisabled,
+            onClick: _cache[18] || (_cache[18] = function($event) {
+              return _ctx.handleConfirm(false);
+            })
+          }, {
+            default: withCtx(function() {
+              return [createTextVNode(
+                toDisplayString(_ctx.t("ui.datepicker.confirm")),
+                1
+                /* TEXT */
+              )];
+            }),
+            _: 1
+            /* STABLE */
+          }, 8, ["disabled"])],
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true)],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var mobileFirst$3 = /* @__PURE__ */ _export_sfc$d(_sfc_main$d, [["render", _sfc_render$d]]);
+const index$7 = "";
+function _extends$a() {
+  _extends$a = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$a.apply(this, arguments);
+}
+var template$5 = function template25(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$2;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$3;
+  }
+  return pc$2;
+};
+var $constants$4 = {
+  startDate: /* @__PURE__ */ new Date("1970-01-01"),
+  endDate: /* @__PURE__ */ new Date("2099-12-31")
+};
+var DateRange = defineComponent({
+  name: $prefix + "DateRange",
+  componentName: "DateRange",
+  props: _extends$a({}, $props$1, {
+    _constants: {
+      type: Object,
+      default: function _default12() {
+        return $constants$4;
+      }
+    },
+    emitter: Object,
+    step: {
+      type: Object,
+      default: function _default23() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    },
+    showWeekNumber: {
+      type: Boolean,
+      default: false
+    },
+    formatWeeks: Function,
+    timeEditable: {
+      type: Boolean,
+      default: true
+    }
+  }),
+  setup: function setup6(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$5
+    });
+  }
+});
+var version$c = "3.16.0";
+DateRange.install = function(Vue) {
+  Vue.component(DateRange.name, DateRange);
+};
+DateRange.version = version$c;
+const calcDefaultValue$1 = (defaultValue) => {
+  if (Array.isArray(defaultValue)) {
+    return [new Date(defaultValue[0]), new Date(defaultValue[1])];
+  } else if (defaultValue) {
+    return [new Date(defaultValue), nextMonth(new Date(defaultValue))];
+  }
+  return [/* @__PURE__ */ new Date(), nextMonth(/* @__PURE__ */ new Date())];
+};
+const watchValue$2 = ({ state }) => (val) => {
+  if (!val) {
+    state.maxDate = null;
+    state.minDate = null;
+  } else if (Array.isArray(val)) {
+    if (isDate$1(val[0])) {
+      state.minDate = new Date(val[0]);
+    } else {
+      state.minDate = null;
+    }
+    if (isDate$1(val[1])) {
+      state.maxDate = new Date(val[1]);
+    } else {
+      state.maxDate = null;
+    }
+    if (state.minDate) {
+      state.leftDate = state.minDate;
+      if (state.maxDate && state.unlinkPanels) {
+        const maxDateYear = state.maxDate.getFullYear();
+        const minDateYear = state.minDate.getFullYear();
+        state.rightDate = maxDateYear === minDateYear ? nextYear(state.maxDate) : state.maxDate;
+      } else {
+        state.rightDate = nextYear(state.leftDate);
+      }
+    } else {
+      state.leftDate = calcDefaultValue$1(state.defaultValue)[0];
+      state.rightDate = nextYear(state.leftDate);
+    }
+  }
+};
+const watchDefaultValue$1 = ({ state }) => (value) => {
+  if (!Array.isArray(state.value)) {
+    const [left, right] = calcDefaultValue$1(value);
+    state.leftDate = left;
+    state.rightDate = value && value[1] && left.getFullYear() !== right.getFullYear() && state.unlinkPanels ? right : nextYear(state.leftDate);
+  }
+};
+const handleClear$2 = ({ emit, state }) => () => {
+  state.minDate = null;
+  state.maxDate = null;
+  state.leftDate = calcDefaultValue$1(state.defaultValue)[0];
+  state.rightDate = nextYear(state.leftDate);
+  emit("pick", null);
+};
+const handleChangeRange$1 = (state) => (val) => {
+  state.minDate = val.minDate;
+  state.maxDate = val.maxDate;
+  state.rangeState = val.rangeState;
+};
+const handleRangePick$1 = ({ api: api2, state, t: t2 }) => (val, close2 = true) => {
+  const defaultTime = state.defaultTime || [];
+  const max = modifyWithTimeString(val.maxDate, defaultTime[1], t2);
+  const min = modifyWithTimeString(val.minDate, defaultTime[0], t2);
+  if (state.minDate === min && state.maxDate === max) {
+    return;
+  }
+  if (state.onPick) {
+    state.onPick(val);
+  }
+  state.minDate = min;
+  state.maxDate = max;
+  setTimeout(() => {
+    state.minDate = min;
+    state.maxDate = max;
+  }, 10);
+  if (!close2) {
+    return;
+  }
+  api2.handleConfirm();
+};
+const handleShortcutClick$1 = (api2) => (shortcutObj) => {
+  if (shortcutObj.onClick) {
+    const choose = {
+      $emit: (type, [start, end]) => {
+        api2.doPick(start, end);
+      }
+    };
+    shortcutObj.onClick(choose);
+  }
+};
+const doPick$1 = (emit) => (begin, end) => {
+  emit("pick", [begin, end], false);
+};
+const leftPrevYear$1 = (state) => () => {
+  state.leftDate = prevYear(state.leftDate);
+  if (!state.unlinkPanels) {
+    state.rightDate = prevYear(state.rightDate);
+  }
+};
+const rightNextYear$1 = (state) => () => {
+  if (!state.unlinkPanels) {
+    state.leftDate = nextYear(state.leftDate);
+  }
+  state.rightDate = nextYear(state.rightDate);
+};
+const leftNextYear = (state) => () => state.leftDate = nextYear(state.leftDate);
+const rightPrevYear = (state) => () => state.rightDate = prevYear(state.rightDate);
+const handleConfirm$1 = ({ api: api2, emit, state }) => (visible = false) => {
+  if (api2.isValidValue([state.minDate, state.maxDate])) {
+    emit("pick", [state.minDate, state.maxDate], visible);
+  }
+};
+const isValidValue$2 = (state) => (value) => Array.isArray(value) && value && value[1] && value[0] && isDate$1(value[1]) && isDate$1(value[0]) && value[0].getTime() <= value[1].getTime() && (typeof state.disabledDate === "function" ? !state.disabledDate(value[1]) && !state.disabledDate(value[0]) : true);
+const resetView$1 = (state) => () => {
+  state.minDate = state.value && isDate$1(state.value[0]) ? new Date(state.value[0]) : null;
+  state.maxDate = state.value && isDate$1(state.value[0]) ? new Date(state.value[1]) : null;
+};
+const api$b = [
+  "state",
+  "rightNextYear",
+  "rightPrevYear",
+  "handleRangePick",
+  "handleShortcutClick",
+  "handleChangeRange",
+  "leftPrevYear",
+  "leftNextYear",
+  "isValidValue"
+];
+const initState$5 = ({ reactive, computed, api: api2, t: t2 }) => {
+  const state = reactive({
+    popperClass: "",
+    value: [],
+    defaultValue: null,
+    defaultTime: null,
+    minDate: "",
+    maxDate: "",
+    leftDate: /* @__PURE__ */ new Date(),
+    rightDate: nextYear(/* @__PURE__ */ new Date()),
+    rangeState: { endDate: null, selecting: false, row: null, column: null },
+    shortcuts: "",
+    visible: "",
+    disabledDate: "",
+    format: "",
+    arrowControl: false,
+    unlinkPanels: false,
+    btnDisabled: computed(
+      () => !(state.minDate && state.maxDate && !state.selecting && api2.isValidValue([state.minDate, state.maxDate]))
+    ),
+    leftLabel: computed(() => state.leftDate.getFullYear() + " " + t2("ui.datepicker.year")),
+    rightLabel: computed(() => state.rightDate.getFullYear() + " " + t2("ui.datepicker.year")),
+    leftYear: computed(() => state.leftDate.getFullYear()),
+    rightYear: computed(
+      () => state.rightDate.getFullYear() === state.leftDate.getFullYear() ? state.leftDate.getFullYear() + 1 : state.rightDate.getFullYear()
+    ),
+    enableYearArrow: computed(() => state.unlinkPanels && state.rightYear > state.leftYear + 1)
+  });
+  return state;
+};
+const renderless$b = (props2, { computed, reactive, watch }, { t: t2, emit: $emit }) => {
+  const api2 = {};
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const state = initState$5({ reactive, computed, api: api2, t: t2 });
+  Object.assign(api2, {
+    state,
+    resetView: resetView$1(state),
+    handleChangeRange: handleChangeRange$1(state),
+    isValidValue: isValidValue$2(state),
+    leftNextYear: leftNextYear(state),
+    leftPrevYear: leftPrevYear$1(state),
+    doPick: doPick$1(emit),
+    rightNextYear: rightNextYear$1(state),
+    rightPrevYear: rightPrevYear(state),
+    watchValue: watchValue$2({ state }),
+    handleClear: handleClear$2({ emit, state }),
+    watchDefaultValue: watchDefaultValue$1({ state }),
+    handleConfirm: handleConfirm$1({ api: api2, emit, state }),
+    handleRangePick: handleRangePick$1({ api: api2, state, t: t2 }),
+    handleShortcutClick: handleShortcutClick$1(api2)
+  });
+  watch(() => state.value, api2.watchValue);
+  watch(() => state.defaultValue, api2.watchDefaultValue);
+  return api2;
+};
+const index$6 = "";
+function _createForOfIteratorHelperLoose$c(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$c(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$c(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$c(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$c(o, minLen);
+}
+function _arrayLikeToArray$c(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$c = function _export_sfc213(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$c(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$9() {
+  _extends$9 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$9.apply(this, arguments);
+}
+var _sfc_main$c = defineComponent({
+  name: $prefix + "MonthRange",
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  components: {
+    MonthTable,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k()
+  },
+  props: _extends$9({}, $props$1, {
+    emitter: Object
+  }),
+  emits: ["dodestroy", "pick"],
+  setup: function setup$113(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$b,
+      api: api$b,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$b = {
+  class: "tiny-picker-panel__body-wrapper"
+};
+var _hoisted_2$9 = {
+  key: 0,
+  class: "tiny-picker-panel__sidebar"
+};
+var _hoisted_3$8 = ["onClick", "title"];
+var _hoisted_4$6 = {
+  class: "tiny-picker-panel__body"
+};
+var _hoisted_5$5 = {
+  class: "tiny-picker-panel__content tiny-date-range-picker__content is-left"
+};
+var _hoisted_6$5 = {
+  class: "tiny-date-range-picker__header"
+};
+var _hoisted_7$4 = ["disabled"];
+var _hoisted_8$3 = {
+  class: "tiny-picker-panel__content tiny-date-range-picker__content is-right"
+};
+var _hoisted_9$2 = {
+  class: "tiny-date-range-picker__header"
+};
+var _hoisted_10$2 = ["disabled"];
+function _sfc_render$c(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  var _component_month_table = resolveComponent("month-table");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[4] || (_cache[4] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-picker-panel tiny-date-range-picker tiny-popper", [{
+            "has-sidebar": _ctx.slots.sidebar || _ctx.state.shortcuts
+          }, _ctx.state.popperClass]])
+        },
+        [createBaseVNode("div", _hoisted_1$b, [renderSlot(_ctx.$slots, "sidebar", {
+          class: "tiny-picker-panel__sidebar"
+        }), _ctx.state.shortcuts ? (openBlock(), createElementBlock("div", _hoisted_2$9, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.shortcuts, function(shortcut, key) {
+            return openBlock(), createElementBlock("button", {
+              type: "button",
+              class: "tiny-picker-panel__shortcut",
+              key,
+              onClick: function onClick($event) {
+                return _ctx.handleShortcutClick(shortcut);
+              },
+              title: shortcut.text
+            }, toDisplayString(shortcut.text), 9, _hoisted_3$8);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_4$6, [createBaseVNode("div", _hoisted_5$5, [createBaseVNode("div", _hoisted_6$5, [createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[0] || (_cache[0] = function() {
+            return _ctx.leftPrevYear && _ctx.leftPrevYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"
+        }, [createVNode(_component_icon_double_left)]), _ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+          key: 0,
+          type: "button",
+          onClick: _cache[1] || (_cache[1] = function() {
+            return _ctx.leftNextYear && _ctx.leftNextYear.apply(_ctx, arguments);
+          }),
+          disabled: !_ctx.state.enableYearArrow,
+          class: normalizeClass([{
+            "is-disabled": !_ctx.state.enableYearArrow
+          }, "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"])
+        }, [createVNode(_component_icon_double_right)], 10, _hoisted_7$4)) : createCommentVNode("v-if", true), createBaseVNode(
+          "div",
+          null,
+          toDisplayString(_ctx.state.leftLabel),
+          1
+          /* TEXT */
+        )]), createVNode(_component_month_table, {
+          "selection-mode": "range",
+          date: _ctx.state.leftDate,
+          "default-value": _ctx.state.defaultValue,
+          "min-date": _ctx.state.minDate,
+          "max-date": _ctx.state.maxDate,
+          "range-state": _ctx.state.rangeState,
+          "disabled-date": _ctx.state.disabledDate,
+          onChangerange: _ctx.handleChangeRange,
+          onPick: _ctx.handleRangePick
+        }, null, 8, ["date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "onChangerange", "onPick"])]), createBaseVNode("div", _hoisted_8$3, [createBaseVNode("div", _hoisted_9$2, [_ctx.state.unlinkPanels ? (openBlock(), createElementBlock("button", {
+          key: 0,
+          type: "button",
+          onClick: _cache[2] || (_cache[2] = function() {
+            return _ctx.rightPrevYear && _ctx.rightPrevYear.apply(_ctx, arguments);
+          }),
+          disabled: !_ctx.state.enableYearArrow,
+          class: normalizeClass([{
+            "is-disabled": !_ctx.state.enableYearArrow
+          }, "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"])
+        }, [createVNode(_component_icon_double_left)], 10, _hoisted_10$2)) : createCommentVNode("v-if", true), createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[3] || (_cache[3] = function() {
+            return _ctx.rightNextYear && _ctx.rightNextYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"
+        }, [createVNode(_component_icon_double_right)]), createBaseVNode(
+          "div",
+          null,
+          toDisplayString(_ctx.state.rightLabel),
+          1
+          /* TEXT */
+        )]), createVNode(_component_month_table, {
+          "selection-mode": "range",
+          date: _ctx.state.rightDate,
+          "default-value": _ctx.state.defaultValue,
+          "min-date": _ctx.state.minDate,
+          "max-date": _ctx.state.maxDate,
+          "range-state": _ctx.state.rangeState,
+          "disabled-date": _ctx.state.disabledDate,
+          onChangerange: _ctx.handleChangeRange,
+          onPick: _ctx.handleRangePick
+        }, null, 8, ["date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "onChangerange", "onPick"])])])])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var MonthRange = /* @__PURE__ */ _export_sfc$c(_sfc_main$c, [["render", _sfc_render$c]]);
+var version$b = "3.16.0";
+MonthRange.install = function(Vue) {
+  Vue.component(MonthRange.name, MonthRange);
+};
+MonthRange.version = version$b;
+const calcDefaultValue = (value) => {
+  if (Array.isArray(value)) {
+    return [new Date(value[0]), new Date(value[1])];
+  } else if (value) {
+    return [new Date(value), nextMonth(new Date(value))];
+  }
+  return [/* @__PURE__ */ new Date(), nextMonth(/* @__PURE__ */ new Date())];
+};
+const watchValue$1 = ({ state }) => (data) => {
+  if (!data) {
+    state.minDate = null;
+    state.maxDate = null;
+  } else if (Array.isArray(data)) {
+    if (isDate$1(data[1])) {
+      state.maxDate = new Date(data[1]);
+    } else {
+      state.maxDate = null;
+    }
+    if (isDate$1(data[0])) {
+      state.minDate = new Date(data[0]);
+    } else {
+      state.minDate = null;
+    }
+    if (!state.minDate) {
+      state.leftDate = calcDefaultValue(state.defaultValue)[0];
+      state.rightDate = nextYear(state.leftDate);
+    } else {
+      state.leftDate = state.minDate;
+      if (state.maxDate && state.unlinkPanels) {
+        const minDateYear = state.minDate.getFullYear();
+        const maxDateYear = state.maxDate.getFullYear();
+        state.rightDate = maxDateYear === minDateYear ? nextYear(state.maxDate) : state.maxDate;
+      } else {
+        state.rightDate = nextYear(state.leftDate);
+      }
+    }
+  }
+};
+const handleClear$1 = ({ emit, state }) => () => {
+  state.maxDate = null;
+  state.minDate = null;
+  state.leftDate = calcDefaultValue(state.defaultValue)[0];
+  state.rightDate = nextYear(state.leftDate);
+  emit("pick", null);
+};
+const handleChangeRange = (state) => (val) => {
+  state.rangeState = val.rangeState;
+  state.minDate = val.minDate;
+  state.maxDate = val.maxDate;
+};
+const watchDefaultValue = ({ state }) => (data) => {
+  if (!Array.isArray(state.value)) {
+    const [left, right] = calcDefaultValue(data);
+    state.leftDate = left;
+    state.rightDate = data && data[1] && left.getFullYear() !== right.getFullYear() && state.unlinkPanels ? right : nextYear(state.leftDate);
+  }
+};
+const handleRangePick = ({ api: api2, state }) => (val, close2 = true) => {
+  const maxDate = val.maxDate;
+  const minDate = val.minDate;
+  if (state.minDate === minDate && state.maxDate === maxDate) {
+    return;
+  }
+  if (state.onPick) {
+    state.onPick(val);
+  }
+  state.minDate = minDate;
+  state.maxDate = maxDate;
+  setTimeout(() => {
+    state.minDate = minDate;
+    state.maxDate = maxDate;
+  }, 10);
+  if (!close2) {
+    return;
+  }
+  api2.handleConfirm();
+};
+const handleShortcutClick = (api2) => (shortcutEvent) => {
+  if (shortcutEvent.onClick) {
+    const choose = {
+      $emit: (type, [start, end]) => {
+        api2.doPick(start, end);
+      }
+    };
+    shortcutEvent.onClick(choose);
+  }
+};
+const doPick = (emit) => (begin, end) => {
+  emit("pick", [begin, end], false);
+};
+const leftPrevYear = (state) => () => {
+  state.leftStartYear = state.leftStartYear - DATEPICKER.PanelYearNum * 2;
+};
+const rightNextYear = (state) => () => {
+  state.leftStartYear = state.leftStartYear + DATEPICKER.PanelYearNum * 2;
+};
+const handleConfirm = ({ api: api2, emit, state }) => (show = false) => {
+  const { minDate, maxDate } = state;
+  api2.isValidValue([minDate, maxDate]) && emit("pick", [new Date(minDate, 0, 2), new Date(maxDate, 0, 2)], show);
+};
+const isValidValue$1 = (state) => (data) => {
+  return data && Array.isArray(data) && data[1] && data[0] && isDate$1(data[1]) && isDate$1(data[0]) && data[0] <= data[1] && (typeof state.disabledDate === "function" ? !state.disabledDate(data[1]) && !state.disabledDate(data[0]) : true);
+};
+const resetView = (state) => () => {
+  state.maxDate = state.value && isDate$1(state.value[0]) ? new Date(state.value[1]) : null;
+  state.minDate = state.value && isDate$1(state.value[0]) ? new Date(state.value[0]) : null;
+};
+const api$a = [
+  "state",
+  "rightNextYear",
+  "handleRangePick",
+  "handleShortcutClick",
+  "handleChangeRange",
+  "leftPrevYear"
+];
+const initState$4 = ({ reactive, computed, api: api2, t: t2 }) => {
+  const state = reactive({
+    selectionMode: DATEPICKER.YearRange,
+    popperClass: "",
+    value: [],
+    defaultValue: null,
+    defaultTime: null,
+    minDate: "",
+    maxDate: "",
+    leftDate: /* @__PURE__ */ new Date(),
+    rightDate: nextYear(/* @__PURE__ */ new Date()),
+    rangeState: { startDate: null, endDate: null, selecting: false, row: null, column: null },
+    shortcuts: "",
+    visible: "",
+    disabledDate: "",
+    format: "",
+    arrowControl: false,
+    unlinkPanels: false,
+    leftStartYear: Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 10) * 10,
+    rightStartYear: computed(() => state.leftStartYear + DATEPICKER.PanelYearNum),
+    btnDisabled: computed(
+      () => !(state.minDate && state.maxDate && !state.selecting && api2.isValidValue([state.minDate, state.maxDate]))
+    ),
+    leftLabel: computed(
+      () => `${state.leftStartYear} ${t2("ui.datepicker.year")} - ${state.leftStartYear + DATEPICKER.PanelYearNum - 1} ${t2(
+        "ui.datepicker.year"
+      )}`
+    ),
+    rightLabel: computed(
+      () => `${state.rightStartYear} ${t2("ui.datepicker.year")} - ${state.rightStartYear + DATEPICKER.PanelYearNum - 1} ${t2(
+        "ui.datepicker.year"
+      )}`
+    )
+  });
+  return state;
+};
+const renderless$a = (props2, { computed, reactive, watch }, { t: t2, emit: $emit }) => {
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const api2 = {};
+  const state = initState$4({ reactive, computed, api: api2, t: t2 });
+  Object.assign(api2, {
+    state,
+    doPick: doPick(emit),
+    resetView: resetView(state),
+    watchValue: watchValue$1({ state }),
+    isValidValue: isValidValue$1(state),
+    leftPrevYear: leftPrevYear(state),
+    rightNextYear: rightNextYear(state),
+    handleClear: handleClear$1({ emit, state }),
+    handleChangeRange: handleChangeRange(state),
+    handleShortcutClick: handleShortcutClick(api2),
+    watchDefaultValue: watchDefaultValue({ state }),
+    handleConfirm: handleConfirm({ api: api2, emit, state }),
+    handleRangePick: handleRangePick({ api: api2, state, t: t2 })
+  });
+  watch(() => state.value, api2.watchValue);
+  watch(() => state.defaultValue, api2.watchDefaultValue);
+  return api2;
+};
+function _createForOfIteratorHelperLoose$b(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$b(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$b(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$b(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$b(o, minLen);
+}
+function _arrayLikeToArray$b(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$b = function _export_sfc214(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$b(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$8() {
+  _extends$8 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$8.apply(this, arguments);
+}
+var _sfc_main$b = defineComponent({
+  name: $prefix + "YearRange",
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  components: {
+    YearTable,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k()
+  },
+  props: _extends$8({}, $props$1, {
+    emitter: Object
+  }),
+  emits: ["dodestroy", "pick"],
+  setup: function setup$114(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$a,
+      api: api$a,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$a = {
+  class: "tiny-picker-panel__body-wrapper"
+};
+var _hoisted_2$8 = {
+  key: 0,
+  class: "tiny-picker-panel__sidebar"
+};
+var _hoisted_3$7 = ["onClick", "title"];
+var _hoisted_4$5 = {
+  class: "tiny-picker-panel__body"
+};
+var _hoisted_5$4 = {
+  class: "tiny-picker-panel__content tiny-date-range-picker__content is-left"
+};
+var _hoisted_6$4 = {
+  class: "tiny-date-range-picker__header"
+};
+var _hoisted_7$3 = {
+  class: "tiny-picker-panel__content tiny-date-range-picker__content is-right"
+};
+var _hoisted_8$2 = {
+  class: "tiny-date-range-picker__header"
+};
+function _sfc_render$b(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  var _component_year_table = resolveComponent("year-table");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[2] || (_cache[2] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-picker-panel tiny-date-range-picker tiny-popper", [{
+            "has-sidebar": _ctx.slots.sidebar || _ctx.state.shortcuts
+          }, _ctx.state.popperClass]])
+        },
+        [createBaseVNode("div", _hoisted_1$a, [renderSlot(_ctx.$slots, "sidebar", {
+          class: "tiny-picker-panel__sidebar"
+        }), _ctx.state.shortcuts ? (openBlock(), createElementBlock("div", _hoisted_2$8, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.shortcuts, function(shortcut, idx) {
+            return openBlock(), createElementBlock("button", {
+              type: "button",
+              class: "tiny-picker-panel__shortcut",
+              key: idx,
+              onClick: function onClick($event) {
+                return _ctx.handleShortcutClick(shortcut);
+              },
+              title: shortcut.text
+            }, toDisplayString(shortcut.text), 9, _hoisted_3$7);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_4$5, [createBaseVNode("div", _hoisted_5$4, [createBaseVNode("div", _hoisted_6$4, [createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[0] || (_cache[0] = function() {
+            return _ctx.leftPrevYear && _ctx.leftPrevYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-d-arrow-left"
+        }, [createVNode(_component_icon_double_left)]), createBaseVNode(
+          "div",
+          null,
+          toDisplayString(_ctx.state.leftLabel),
+          1
+          /* TEXT */
+        )]), createVNode(_component_year_table, {
+          ref: "leftYearTable",
+          "selection-mode": _ctx.state.selectionMode,
+          date: _ctx.state.leftDate,
+          "default-value": _ctx.state.defaultValue,
+          "min-date": _ctx.state.minDate,
+          "max-date": _ctx.state.maxDate,
+          "range-state": _ctx.state.rangeState,
+          "disabled-date": _ctx.state.disabledDate,
+          "start-year": _ctx.state.leftStartYear,
+          onChangerange: _ctx.handleChangeRange,
+          onPick: _ctx.handleRangePick
+        }, null, 8, ["selection-mode", "date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "start-year", "onChangerange", "onPick"])]), createBaseVNode("div", _hoisted_7$3, [createBaseVNode("div", _hoisted_8$2, [createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[1] || (_cache[1] = function() {
+            return _ctx.rightNextYear && _ctx.rightNextYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-icon-d-arrow-right"
+        }, [createVNode(_component_icon_double_right)]), createBaseVNode(
+          "div",
+          null,
+          toDisplayString(_ctx.state.rightLabel),
+          1
+          /* TEXT */
+        )]), createVNode(_component_year_table, {
+          ref: "rightRearTable",
+          "selection-mode": _ctx.state.selectionMode,
+          date: _ctx.state.rightDate,
+          "default-value": _ctx.state.defaultValue,
+          "min-date": _ctx.state.minDate,
+          "max-date": _ctx.state.maxDate,
+          "range-state": _ctx.state.rangeState,
+          "disabled-date": _ctx.state.disabledDate,
+          "start-year": _ctx.state.rightStartYear,
+          onChangerange: _ctx.handleChangeRange,
+          onPick: _ctx.handleRangePick
+        }, null, 8, ["selection-mode", "date", "default-value", "min-date", "max-date", "range-state", "disabled-date", "start-year", "onChangerange", "onPick"])])])])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  });
+}
+var YearRange = /* @__PURE__ */ _export_sfc$b(_sfc_main$b, [["render", _sfc_render$b]]);
+var version$a = "3.16.0";
+YearRange.install = function(Vue) {
+  Vue.component(YearRange.name, YearRange);
+};
+YearRange.version = version$a;
+const api$9 = [
+  "state",
+  "handleMinChange",
+  "handleConfirm",
+  "setMinSelectionRange",
+  "handleCancel",
+  "setMaxSelectionRange",
+  "handleMaxChange"
+];
+const initState$3 = ({ reactive, computed, vm, api: api2 }) => {
+  const state = reactive({
+    popperClass: "",
+    defaultValue: null,
+    format: "HH:mm:ss",
+    visible: false,
+    value: [],
+    oldValue: [/* @__PURE__ */ new Date(), /* @__PURE__ */ new Date()],
+    selectionRange: [0, 2],
+    arrowControl: false,
+    maxDate: /* @__PURE__ */ new Date(),
+    minDate: /* @__PURE__ */ new Date(),
+    showSeconds: computed(() => (state.format || "").includes("ss")),
+    offset: computed(() => state.showSeconds ? 11 : 8),
+    spinner: computed(() => state.selectionRange[0] < state.offset ? vm.$refs.minSpinner : vm.$refs.maxSpinner),
+    btnDisabled: computed(() => state.minDate.getTime() > state.maxDate.getTime()),
+    amPmMode: computed(() => api2.compuAmPmMode())
+  });
+  return state;
+};
+const renderless$9 = (props2, { computed, reactive, watch, nextTick }, { t: t2, vm, emit: $emit }) => {
+  const api2 = {};
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const MIN_TIME = parseDate("00:00:00", "HH:mm:ss", t2);
+  const MAX_TIME = parseDate("23:59:59", "HH:mm:ss", t2);
+  const state = initState$3({ reactive, computed, vm, api: api2 });
+  Object.assign(api2, {
+    t: t2,
+    state,
+    handleClear: handleClear$4(emit),
+    compuAmPmMode: compuAmPmMode(state),
+    maxTimeOfDay: maxTimeOfDay({ MAX_TIME }),
+    minTimeOfDay: minTimeOfDay({ MIN_TIME }),
+    changeSelectionRange: changeSelectionRange({ vm, state }),
+    setMaxSelectionRange: setMaxSelectionRange({ emit, state }),
+    setMinSelectionRange: setMinSelectionRange({ emit, state }),
+    isValidValue: isValidValue$4({ vm, state }),
+    handleConfirm: handleConfirm$3({ emit, vm, state }),
+    handleCancel: handleCancel({ emit, api: api2, state }),
+    watchVisible: watchVisible$3({ nextTick, api: api2, state }),
+    advanceTime: advanceTime(api2),
+    watchValue: watchValue$4({ api: api2, state }),
+    handleKeydown: handleKeydown$1({ api: api2, state }),
+    handleChange: handleChange({ api: api2, emit, vm, state }),
+    handleMinChange: handleMinChange({ api: api2, state }),
+    handleMaxChange: handleMaxChange({ api: api2, state }),
+    adjustSpinners: adjustSpinners$1({ vm })
+  });
+  watch(() => state.value, api2.watchValue);
+  watch(() => state.visible, api2.watchVisible);
+  return api2;
+};
+const index$5 = "";
+function _createForOfIteratorHelperLoose$a(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$a(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$a(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$a(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$a(o, minLen);
+}
+function _arrayLikeToArray$a(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$a = function _export_sfc215(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$a(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$a = defineComponent({
+  name: $prefix + "TimeRange",
+  emits: ["dodestroy", "pick", "select-range"],
+  components: {
+    TimeSpinner
+  },
+  props: {
+    emitter: Object
+  },
+  setup: function setup$115(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$9,
+      api: api$9,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$9 = {
+  class: "tiny-time-range-picker__content"
+};
+var _hoisted_2$7 = {
+  class: "tiny-time-range-picker__cell"
+};
+var _hoisted_3$6 = {
+  class: "tiny-time-range-picker__header"
+};
+var _hoisted_4$4 = {
+  class: "tiny-time-range-picker__cell"
+};
+var _hoisted_5$3 = {
+  class: "tiny-time-range-picker__header"
+};
+var _hoisted_6$3 = {
+  class: "tiny-time-panel__footer"
+};
+var _hoisted_7$2 = ["disabled"];
+function _sfc_render$a(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_time_spinner = resolveComponent("time-spinner");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onAfterLeave: _cache[2] || (_cache[2] = function($event) {
+      return _ctx.$emit("dodestroy");
+    }),
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          class: normalizeClass(["tiny-time-range-picker tiny-picker-panel tiny-popper", _ctx.state.popperClass])
+        },
+        [createBaseVNode("div", _hoisted_1$9, [createBaseVNode("div", _hoisted_2$7, [createBaseVNode(
+          "div",
+          _hoisted_3$6,
+          toDisplayString(_ctx.t("ui.datepicker.startTime")),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "div",
+          {
+            class: normalizeClass([{
+              "has-seconds": _ctx.state.showSeconds,
+              "is-arrow": _ctx.state.arrowControl
+            }, "tiny-time-range-picker__body tiny-time-panel__content"])
+          },
+          [createVNode(_component_time_spinner, {
+            ref: "minSpinner",
+            "show-seconds": _ctx.state.showSeconds,
+            "am-pm-mode": _ctx.state.amPmMode,
+            onChange: _ctx.handleMinChange,
+            "end-date": _ctx.state.maxDate,
+            "arrow-control": _ctx.state.arrowControl,
+            onSelectRange: _ctx.setMinSelectionRange,
+            date: _ctx.state.minDate
+          }, null, 8, ["show-seconds", "am-pm-mode", "onChange", "end-date", "arrow-control", "onSelectRange", "date"])],
+          2
+          /* CLASS */
+        )]), createBaseVNode("div", _hoisted_4$4, [createBaseVNode(
+          "div",
+          _hoisted_5$3,
+          toDisplayString(_ctx.t("ui.datepicker.endTime")),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "div",
+          {
+            class: normalizeClass([{
+              "has-seconds": _ctx.state.showSeconds,
+              "is-arrow": _ctx.state.arrowControl
+            }, "tiny-time-range-picker__body tiny-time-panel__content"])
+          },
+          [createVNode(_component_time_spinner, {
+            ref: "maxSpinner",
+            "show-seconds": _ctx.state.showSeconds,
+            "am-pm-mode": _ctx.state.amPmMode,
+            onChange: _ctx.handleMaxChange,
+            "start-date": _ctx.state.minDate,
+            "arrow-control": _ctx.state.arrowControl,
+            onSelectRange: _ctx.setMaxSelectionRange,
+            date: _ctx.state.maxDate
+          }, null, 8, ["show-seconds", "am-pm-mode", "onChange", "start-date", "arrow-control", "onSelectRange", "date"])],
+          2
+          /* CLASS */
+        )])]), createBaseVNode("div", _hoisted_6$3, [createBaseVNode(
+          "button",
+          {
+            type: "button",
+            class: "tiny-time-panel__btn cancel",
+            onClick: _cache[0] || (_cache[0] = function($event) {
+              return _ctx.handleCancel();
+            })
+          },
+          toDisplayString(_ctx.t("ui.datepicker.cancel")),
+          1
+          /* TEXT */
+        ), createBaseVNode("button", {
+          type: "button",
+          class: "tiny-time-panel__btn confirm",
+          onClick: _cache[1] || (_cache[1] = function($event) {
+            return _ctx.handleConfirm();
+          }),
+          disabled: _ctx.state.btnDisabled
+        }, toDisplayString(_ctx.t("ui.datepicker.confirm")), 9, _hoisted_7$2)])],
+        2
+        /* CLASS */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  });
+}
+var TimeRange = /* @__PURE__ */ _export_sfc$a(_sfc_main$a, [["render", _sfc_render$a]]);
+var version$9 = "3.16.0";
+TimeRange.install = function(Vue) {
+  Vue.component(TimeRange.name, TimeRange);
+};
+TimeRange.version = version$9;
+const getTarget = (event) => {
+  let target = event.target;
+  const tagName = target.tagName;
+  if (tagName === "A") {
+    target = target.parentNode.parentNode;
+  }
+  if (tagName === "DIV") {
+    target = target.parentNode;
+  }
+  if (target.tagName !== "TD") {
+    return;
+  }
+  return target;
+};
+const handleQuarterTableClick = ({ state, emit }) => (event) => {
+  const target = getTarget(event);
+  const currentDate = new Date(state.date.getFullYear(), DATEPICKER.QuarterMap[target.cellIndex], 1);
+  state.value = currentDate;
+  emit("pick", currentDate);
+};
+const showYearPicker = ({ state }) => () => state.currentView = DATEPICKER.Year;
+const cusPrevYear = ({ state }) => () => {
+  if (state.currentView === DATEPICKER.Year) {
+    state.startYear = state.startYear - DATEPICKER.PanelYearNum;
+  } else {
+    state.date = prevYear(state.date);
+  }
+};
+const cusNextYear = ({ state }) => () => {
+  if (state.currentView === DATEPICKER.Year) {
+    state.startYear = state.startYear + DATEPICKER.PanelYearNum;
+  } else {
+    state.date = nextYear(state.date);
+  }
+};
+const handleYearPick = ({ state }) => (value) => {
+  state.currentView = DATEPICKER.Quarter;
+  state.date = modifyDate(state.date, value, state.date.getMonth(), state.date.getDate());
+};
+const getYearLabel = ({ state, t: t2 }) => () => {
+  return state.date.getFullYear();
+};
+const getCellStyle = ({ api: api2, props: props2, state }) => (cell) => {
+  const year = state.date.getFullYear();
+  const quarter = cell.text.slice(1) - 1;
+  const style = {};
+  style.current = state.value && state.value.getFullYear() === year && state.value.getMonth() === DATEPICKER.QuarterMap[quarter];
+  return style;
+};
+const api$8 = [
+  "state",
+  "handleQuarterTableClick",
+  "showYearPicker",
+  "handleYearPick",
+  "cusPrevYear",
+  "cusNextYear",
+  "getCellStyle"
+];
+const renderless$8 = (props2, { reactive, computed }, { emit, t: t2 }) => {
+  const api2 = {};
+  const state = reactive({
+    date: /* @__PURE__ */ new Date(),
+    visible: false,
+    currentView: DATEPICKER.Quarter,
+    yearLabel: computed(() => api2.getYearLabel()),
+    startYear: Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 10) * 10,
+    rows: [{ text: "Q1" }, { text: "Q2" }, { text: "Q3" }, { text: "Q4" }]
+  });
+  Object.assign(api2, {
+    state,
+    handleQuarterTableClick: handleQuarterTableClick({ state, emit }),
+    showYearPicker: showYearPicker({ state }),
+    handleYearPick: handleYearPick({ state }),
+    cusPrevYear: cusPrevYear({ state }),
+    cusNextYear: cusNextYear({ state }),
+    getYearLabel: getYearLabel({ state, t: t2 }),
+    getCellStyle: getCellStyle({ api: api2, props: props2, state })
+  });
+  return api2;
+};
+const index$4 = "";
+function _createForOfIteratorHelperLoose$9(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$9(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$9(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$9(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$9(o, minLen);
+}
+function _arrayLikeToArray$9(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$9 = function _export_sfc216(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$9(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$9 = defineComponent({
+  name: $prefix + "QuarterPanel",
+  components: {
+    YearTable,
+    IconDoubleRight: index$j(),
+    IconDoubleLeft: index$k()
+  },
+  setup: function setup$116(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$8,
+      api: api$8,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$8 = {
+  class: "tiny-quarter-panel tiny-picker-panel tiny-date-picker"
+};
+var _hoisted_2$6 = {
+  class: "tiny-quarter-panel__header"
+};
+var _hoisted_3$5 = {
+  class: "tiny-quarter-panel__content tiny-picker-panel__content"
+};
+var _hoisted_4$3 = ["textContent"];
+function _sfc_render$9(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_double_left = resolveComponent("icon-double-left");
+  var _component_icon_double_right = resolveComponent("icon-double-right");
+  var _component_year_table = resolveComponent("year-table");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        _hoisted_1$8,
+        [createBaseVNode("div", _hoisted_2$6, [createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[0] || (_cache[0] = function() {
+            return _ctx.cusPrevYear && _ctx.cusPrevYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-date-picker__prev-btn tiny-icon-d-arrow-left"
+        }, [createVNode(_component_icon_double_left)]), createBaseVNode(
+          "span",
+          {
+            onClick: _cache[1] || (_cache[1] = function() {
+              return _ctx.showYearPicker && _ctx.showYearPicker.apply(_ctx, arguments);
+            }),
+            role: "button",
+            class: "tiny-date-picker__header-label"
+          },
+          toDisplayString(_ctx.state.yearLabel),
+          1
+          /* TEXT */
+        ), createBaseVNode("button", {
+          type: "button",
+          onClick: _cache[2] || (_cache[2] = function() {
+            return _ctx.cusNextYear && _ctx.cusNextYear.apply(_ctx, arguments);
+          }),
+          class: "tiny-picker-panel__icon-btn tiny-date-picker__next-btn tiny-icon-d-arrow-right"
+        }, [createVNode(_component_icon_double_right)])]), createBaseVNode("div", _hoisted_3$5, [_ctx.state.currentView === "quarter" ? (openBlock(), createElementBlock("table", {
+          key: 0,
+          class: "tiny-quarter-panel__table",
+          onClick: _cache[3] || (_cache[3] = function() {
+            return _ctx.handleQuarterTableClick && _ctx.handleQuarterTableClick.apply(_ctx, arguments);
+          })
+        }, [createBaseVNode("tbody", null, [createBaseVNode("tr", null, [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.rows, function(row, key) {
+            return openBlock(), createElementBlock(
+              "td",
+              {
+                key,
+                class: normalizeClass(_ctx.getCellStyle(row))
+              },
+              [createBaseVNode("div", null, [createBaseVNode("a", {
+                class: "cell",
+                textContent: toDisplayString(row.text)
+              }, null, 8, _hoisted_4$3)])],
+              2
+              /* CLASS */
+            );
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))])])])) : createCommentVNode("v-if", true), _ctx.state.currentView === "year" ? (openBlock(), createBlock(_component_year_table, {
+          key: 1,
+          ref: "yearTable",
+          value: _ctx.state.value,
+          "default-value": _ctx.state.defaultValue ? new Date(_ctx.state.defaultValue) : null,
+          date: _ctx.state.date,
+          "disabled-date": _ctx.state.disabledDate,
+          "selection-mode": _ctx.state.selectionMode,
+          "start-year": _ctx.state.startYear,
+          onPick: _ctx.handleYearPick
+        }, null, 8, ["value", "default-value", "date", "disabled-date", "selection-mode", "start-year", "onPick"])) : createCommentVNode("v-if", true)])],
+        512
+        /* NEED_PATCH */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  });
+}
+var QuerterPanel = /* @__PURE__ */ _export_sfc$9(_sfc_main$9, [["render", _sfc_render$9]]);
+var version$8 = "3.16.0";
+QuerterPanel.install = function(Vue) {
+  Vue.component(QuerterPanel.name, QuerterPanel);
+};
+QuerterPanel.version = version$8;
+const parseTime = () => (time) => {
+  const values = (time || "").split(":");
+  if (values.length >= 2) {
+    const hours = parseInt(values[0], 10);
+    const minutes = parseInt(values[1], 10);
+    return {
+      hours,
+      minutes
+    };
+  }
+  return null;
+};
+const compareTime = (api2) => (time1, time2) => {
+  const value1 = api2.parseTime(time1);
+  const value2 = api2.parseTime(time2);
+  const minutes1 = value1.minutes + value1.hours * 60;
+  const minutes2 = value2.minutes + value2.hours * 60;
+  if (minutes1 === minutes2) {
+    return 0;
+  }
+  return minutes1 > minutes2 ? 1 : -1;
+};
+const formatTime = () => (time) => (time.hours < 10 ? "0" + time.hours : time.hours) + ":" + (time.minutes < 10 ? "0" + time.minutes : time.minutes);
+const nextTime = (api2) => (time, step) => {
+  const timeValue = api2.parseTime(time);
+  const stepValue = api2.parseTime(step);
+  const next = {
+    hours: timeValue.hours,
+    minutes: timeValue.minutes
+  };
+  next.minutes += stepValue.minutes;
+  next.hours += stepValue.hours;
+  next.hours += Math.floor(next.minutes / 60);
+  next.minutes = next.minutes % 60;
+  return api2.formatTime(next);
+};
+const emitDestroy = (emit) => () => emit("dodestroy");
+const emitPick = ({ emit, state }) => ({ value = null, visible = false } = {}) => {
+  const lastEmitValue = JSON.stringify({ value, visible });
+  if (!state.lastEmitValue || state.lastEmitValue !== lastEmitValue) {
+    state.lastEmitValue = lastEmitValue;
+    emit("pick", value, visible);
+  }
+};
+const watchValue = ({ api: api2, nextTick }) => (value) => {
+  if (!value) {
+    return;
+  }
+  nextTick(() => api2.scrollToOption());
+};
+const computItems = ({ api: api2, state }) => () => {
+  const start = state.start;
+  const end = state.end;
+  const step = state.step;
+  const result = [];
+  if (start && end && step) {
+    let current = start;
+    while (api2.compareTime(current, end) <= 0) {
+      result.push({
+        value: current,
+        disabled: api2.compareTime(current, state.minTime || DATEPICKER.CompareOne) <= 0 || api2.compareTime(current, state.maxTime || DATEPICKER.CompareHundred) >= 0
+      });
+      current = api2.nextTime(current, step);
+    }
+  }
+  return result;
+};
+const handleClick = (api2) => (item) => !item.disabled && api2.emitPick({ value: item.value });
+const handleClear = ({ api: api2, state }) => () => {
+  state.defaultValue = "";
+  state.defaultTime = "";
+  api2.emitPick();
+};
+const scrollToOption = ({ vm }) => (selector = DATEPICKER.selClass) => {
+  const menu = vm.$refs.popper.querySelector(DATEPICKER.queryClass);
+  scroll_into_view_default(menu, menu.querySelector(selector));
+};
+const handleMenuEnter = ({ api: api2, nextTick, state }) => () => {
+  const selected = state.items.map((item) => item.value).includes(state.value);
+  const hasDefault = state.items.map((item) => item.value).includes(state.default);
+  const option = selected && DATEPICKER.selClass || hasDefault && DATEPICKER.defaultClass || DATEPICKER.disableClass;
+  nextTick(() => api2.scrollToOption(option));
+};
+const scrollDown = ({ api: api2, state }) => (step) => {
+  const items = state.items;
+  const length = items.length;
+  let total = items.length;
+  let index3 = items.map((item) => item.value).indexOf(state.value);
+  while (total--) {
+    index3 = (index3 + step + length) % length;
+    if (!items[index3].disabled) {
+      api2.emitPick({ value: items[index3].value, visible: true });
+      return;
+    }
+  }
+};
+const isValidValue = (state) => (date) => state.items.filter((item) => !item.disabled).map((item) => item.value).includes(date);
+const handleKeydown = ({ api: api2 }) => (event) => {
+  const keyCode = event.keyCode;
+  if (keyCode === 38 || keyCode === 40) {
+    const mapping = DATEPICKER.MappingKeyCode;
+    const offset = mapping[keyCode.toString()];
+    api2.scrollDown(offset);
+    event.stopPropagation();
+  }
+};
+const api$7 = ["state", "handleMenuEnter", "handleClick", "handleClear", "emitDestroy"];
+const initState$2 = ({ reactive, computed, api: api2 }) => {
+  const { Start, End, Step } = DATEPICKER;
+  const state = reactive({
+    popperClass: "",
+    start: Start,
+    end: End,
+    step: Step,
+    realValue: "",
+    defaultValue: "",
+    defaultTime: "",
+    visible: false,
+    minTime: "",
+    maxTime: "",
+    width: 0,
+    lastEmitValue: "",
+    items: computed(() => api2.computItems()),
+    default: computed(() => state.defaultValue || state.defaultTime || ""),
+    value: computed({
+      get: () => state.realValue || state.default,
+      set: (value) => {
+        const valid = state.items.some((item) => item.value === value);
+        state.realValue = valid ? value : "";
+      }
+    })
+  });
+  return state;
+};
+const renderless$7 = (props2, { computed, reactive, watch, nextTick }, { vm, emit: $emit }) => {
+  const api2 = {};
+  const emit = props2.emitter ? props2.emitter.emit : $emit;
+  const state = initState$2({ reactive, computed, api: api2 });
+  Object.assign(api2, {
+    state,
+    parseTime: parseTime(),
+    formatTime: formatTime(),
+    isValidValue: isValidValue(state),
+    scrollToOption: scrollToOption({ vm }),
+    emitPick: emitPick({ emit, state }),
+    emitDestroy: emitDestroy(emit),
+    nextTime: nextTime(api2),
+    compareTime: compareTime(api2),
+    handleClick: handleClick(api2),
+    scrollDown: scrollDown({ api: api2, state }),
+    handleClear: handleClear({ api: api2, state }),
+    watchValue: watchValue({ api: api2, nextTick }),
+    handleKeydown: handleKeydown({ api: api2 }),
+    computItems: computItems({ api: api2, state }),
+    handleMenuEnter: handleMenuEnter({ api: api2, nextTick, state })
+  });
+  watch(() => state.value, api2.watchValue);
+  watch(
+    () => state.visible,
+    () => setTimeout(() => state.fnUpdatePopper && state.fnUpdatePopper())
+  );
+  return api2;
+};
+function _createForOfIteratorHelperLoose$8(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$8(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$8(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$8(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$8(o, minLen);
+}
+function _arrayLikeToArray$8(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$8 = function _export_sfc217(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$8(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$8 = defineComponent({
+  emits: ["dodestroy", "pick"],
+  components: {
+    TinyScrollbar: _sfc_main$p
+  },
+  props: [].concat(props, ["emitter"]),
+  setup: function setup$117(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$7,
+      api: api$7
+    });
+  }
+});
+var _hoisted_1$7 = ["disabled", "onClick"];
+function _sfc_render$8(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onBeforeEnter: _ctx.handleMenuEnter,
+    onAfterLeave: _ctx.emitDestroy,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          ref: "popper",
+          style: normalizeStyle({
+            width: _ctx.state.width + "px"
+          }),
+          class: normalizeClass([_ctx.state.popperClass, "tiny-picker-panel tiny-time-select tiny-popper"])
+        },
+        [createVNode(_component_tiny_scrollbar, {
+          noresize: "",
+          "wrap-class": "tiny-picker-panel__content"
+        }, {
+          default: withCtx(function() {
+            return [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.items, function(item) {
+                return openBlock(), createElementBlock("div", {
+                  class: normalizeClass(["tiny-time-select__item", {
+                    selected: _ctx.state.value === item.value,
+                    disabled: item.disabled,
+                    default: item.value === _ctx.state.default
+                  }]),
+                  disabled: item.disabled,
+                  key: item.value,
+                  onClick: function onClick($event) {
+                    return _ctx.handleClick(item);
+                  }
+                }, toDisplayString(item.value), 11, _hoisted_1$7);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))];
+          }),
+          _: 1
+          /* STABLE */
+        })],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["onBeforeEnter", "onAfterLeave"]);
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$8(_sfc_main$8, [["render", _sfc_render$8]]);
+function _createForOfIteratorHelperLoose$7(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$7(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$7(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$7(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$7(o, minLen);
+}
+function _arrayLikeToArray$7(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$7 = function _export_sfc218(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$7(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$7 = defineComponent({
+  emits: ["dodestroy", "pick"],
+  components: {
+    TinyScrollbar: _sfc_main$p
+  },
+  props: [].concat(props, ["emitter"]),
+  setup: function setup$118(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$7,
+      api: api$7
+    });
+  }
+});
+var _hoisted_1$6 = ["disabled", "onClick"];
+function _sfc_render$7(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_scrollbar = resolveComponent("tiny-scrollbar");
+  return openBlock(), createBlock(Transition, {
+    name: "tiny-zoom-in-top",
+    onBeforeEnter: _ctx.handleMenuEnter,
+    onAfterLeave: _ctx.emitDestroy,
+    persisted: ""
+  }, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode(
+        "div",
+        {
+          ref: "popper",
+          style: normalizeStyle({
+            width: _ctx.state.width + "px"
+          }),
+          class: normalizeClass(_ctx.state.popperClass),
+          "data-tag": "tiny-picker-panel tiny-time-select tiny-popper"
+        },
+        [createVNode(_component_tiny_scrollbar, {
+          noresize: "",
+          "wrap-class": "tiny-picker-panel__content"
+        }, {
+          default: withCtx(function() {
+            return [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.state.items, function(item) {
+                return openBlock(), createElementBlock("div", {
+                  "data-tag": "tiny-time-select__item",
+                  class: normalizeClass({
+                    selected: _ctx.state.value === item.value,
+                    disabled: item.disabled,
+                    default: item.value === _ctx.state.default
+                  }),
+                  disabled: item.disabled,
+                  key: item.value,
+                  onClick: function onClick($event) {
+                    return _ctx.handleClick(item);
+                  }
+                }, toDisplayString(item.value), 11, _hoisted_1$6);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))];
+          }),
+          _: 1
+          /* STABLE */
+        })],
+        6
+        /* CLASS, STYLE */
+      ), [[vShow, _ctx.state.visible]])];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["onBeforeEnter", "onAfterLeave"]);
+}
+var mobileFirst$2 = /* @__PURE__ */ _export_sfc$7(_sfc_main$7, [["render", _sfc_render$7]]);
+function _extends$7() {
+  _extends$7 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$7.apply(this, arguments);
+}
+var template$4 = function template26(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$1;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$2;
+  }
+  return pc$1;
+};
+var TimePanel = defineComponent({
+  name: $prefix + "TimePanel",
+  componentName: "TimePanel",
+  props: _extends$7({}, $props$1, {
+    emitter: Object
+  }),
+  setup: function setup7(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$4
+    });
+  }
+});
+var version$7 = "3.16.0";
+TimePanel.install = function(Vue) {
+  Vue.component(TimePanel.name, TimePanel);
+};
+TimePanel.version = version$7;
+const index$3 = "";
+const getFormatTime = (time) => {
+  return ("0" + time).slice(-2);
+};
+const getDaysByMonth = (year, month) => {
+  return new Date(year, month, 0).getDate();
+};
+const isSameDay = (day1, day2) => {
+  const theDay1 = new Date(day1);
+  const theDay2 = new Date(day2);
+  return theDay1.getFullYear() === theDay2.getFullYear() && theDay1.getMonth() === theDay2.getMonth() && theDay1.getDate() === theDay2.getDate();
+};
+const getDateStr = (year, month, day = "01", seperator = "/") => {
+  const arr = [year, month, day];
+  return arr.join(seperator);
+};
+const getCurrentDate = ({ api: api2, props: props2 }) => (dateValue) => {
+  const today = /* @__PURE__ */ new Date();
+  const theDate = new Date(dateValue);
+  const year = theDate.getFullYear();
+  const month = theDate.getMonth() + 1;
+  const day = theDate.getDate();
+  const yearMonth = getDateStr(year, month);
+  const startWeek = new Date(year, month - 1, 1).getDay();
+  const index3 = startWeek + day - 1;
+  const { disabledDate } = props2.pickerOptions || {};
+  return {
+    value: api2.formatDate(theDate),
+    yearMonth,
+    index: index3,
+    day,
+    year,
+    month,
+    isStartDay: false,
+    isEndDay: false,
+    disabled: typeof disabledDate === "function" && !!disabledDate(theDate),
+    isToday: isSameDay(today, theDate)
+  };
+};
+const formatDate = ({ props: props2, constants }) => (date, dateFormat) => {
+  const { YEAR_MONTH_RANGE, YEAR_MONTH } = constants.TYPE;
+  const defaultFormet = [YEAR_MONTH_RANGE, YEAR_MONTH].includes(props2.type) ? "yyyy/MM/01" : "yyyy/MM/dd";
+  return format$1(date, dateFormat === void 0 ? defaultFormet : dateFormat);
+};
+const getDateFromStr = (dateStr, direction = "top") => {
+  const arr = dateStr.split("/").map((item) => +item);
+  const yarr = arr[0];
+  const month = direction == "top" ? arr[1] - 1 : arr[1];
+  return new Date(yarr, month, 1);
+};
+const loadingDate = ({ state, api: api2 }) => (direction) => {
+  const list = Object.keys(state.dateList);
+  const value = direction === "top" ? list[0] : list[list.length - 1];
+  const date = getDateFromStr(value, direction);
+  api2.initPanel({ dateValue: date, direction });
+  setTimeout(() => {
+    state.loading = false;
+  }, 100);
+};
+const initPanel = ({ state, api: api2 }) => ({ dateValue, direction, isInit }) => {
+  const currentDate = dateValue || (Array.isArray(state.date) ? state.date[0] : state.date) || /* @__PURE__ */ new Date();
+  let month = currentDate.getMonth() + 1;
+  let year = direction === "top" ? currentDate.getFullYear() - state.yearNum : currentDate.getFullYear();
+  if (isInit) {
+    year -= Math.floor(state.yearNum / 2);
+  }
+  let date = new Date(year, month - 1, 1);
+  const dateList = {};
+  Array.from({ length: 12 * state.yearNum }).map(() => {
+    const startWeek = date.getDay();
+    dateList[getDateStr(year, month)] = Array.from({ length: startWeek }).map(() => ({}));
+    const days = getDaysByMonth(year, month);
+    Array.from({ length: days }).map((v, index3) => {
+      const day = index3 + 1;
+      const dayInfo = api2.getCurrentDate(new Date(year, month - 1, day));
+      dateList[getDateStr(year, month)].push(dayInfo);
+    });
+    month++;
+    if (month > 12) {
+      year++;
+      month = 1;
+    }
+    date = new Date(year, month - 1, 1);
+  });
+  state.dateList = direction === "top" ? Object.assign({}, dateList, state.dateList) : Object.assign({}, state.dateList, dateList);
+};
+const getWeeksByMonth = ({ state }) => (yearMonth) => {
+  const length = state.dateList[yearMonth].length;
+  return Math.ceil(length / 7);
+};
+const getDaysByWeek = ({ state, api: api2 }) => (yearMonth, week) => {
+  const length = state.dateList[yearMonth].length;
+  const weeks = api2.getWeeksByMonth(yearMonth);
+  return week === weeks ? length % 7 : 7;
+};
+const getDate = ({ state }) => ({ date, yearMonth, index: index3 }) => {
+  let currentDate;
+  if (date) {
+    const theDate = new Date(date);
+    const key = getDateStr(theDate.getFullYear(), theDate.getMonth + 1);
+    currentDate = state.dateList[key].filter((item) => item.day === theDate.getDate()).shift();
+  } else {
+    currentDate = state.dateList[yearMonth][index3];
+  }
+  return currentDate || {};
+};
+const getSelectedPosition = ({ state, api: api2 }) => (dateFormat) => {
+  const { selected } = state;
+  const length = selected.length;
+  if (!length) {
+    return "";
+  }
+  const index3 = selected.indexOf(api2.formatDate(dateFormat));
+  return index3 === 0 ? "start" : index3 === length - 1 ? "end" : index3 > -1 ? "inner" : "";
+};
+const watchVisible$2 = ({ emit, api: api2, state }) => (bool) => {
+  if (bool) {
+    api2.watchModelValue();
+    const currentDate = (Array.isArray(state.date) ? state.date[0] : state.date) || /* @__PURE__ */ new Date();
+    setTimeout(() => api2.scrollToCurrentDate({ date: currentDate }), 300);
+  }
+  emit("update:visible", bool);
+};
+const scrollToCurrentDate = ({ state, vm, nextTick }) => ({ date, value }) => {
+  const { isYearMonthPanel, computedYears, months } = state;
+  let field;
+  let list;
+  let year;
+  let month;
+  let index3 = -1;
+  if (date) {
+    year = date.getFullYear();
+    month = date.getMonth() + 1;
+  }
+  if (isYearMonthPanel) {
+    field = "year";
+    value = value || `${year}`;
+    list = computedYears;
+  } else {
+    field = "yearMonth";
+    value = value || getDateStr(year, month);
+    list = months;
+  }
+  list.some((item, i) => {
+    if (item[field] === value) {
+      index3 = i;
+      return true;
+    }
+    return false;
+  });
+  nextTick(() => {
+    index3 !== -1 && vm.$refs.recycleScroller.scrollToItem(index3);
+  });
+};
+const watchModelValue$1 = ({ props: props2, state, constants }) => () => {
+  const { DATE: DATE2, DATE_TIME, DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE, YEAR_MONTH } = constants.TYPE;
+  const { modelValue, type } = props2;
+  if ([DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE].includes(type)) {
+    state.date = modelValue && modelValue.length ? modelValue.map((date) => new Date(date)) : [];
+  }
+  if ([DATE2, DATE_TIME, YEAR_MONTH].includes(type)) {
+    state.date = modelValue ? new Date(modelValue) : "";
+  }
+  if ([DATE_TIME_RANGE, DATE_TIME].includes(type)) {
+    const length = type === DATE_TIME ? 1 : 2;
+    Array.from({ length }).forEach((v, index3) => {
+      const date = type === DATE_TIME ? state.date : state.date[index3];
+      if (date) {
+        state.timeList[index3] = [
+          getFormatTime(date.getHours()),
+          getFormatTime(date.getMinutes()),
+          getFormatTime(date.getSeconds())
+        ];
+      }
+    });
+  }
+};
+const selectOption = ({ emit, state, props: props2, constants }) => ({ value, index: index3 }) => {
+  const { DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE, YEAR_MONTH } = constants.TYPE;
+  const { type } = props2;
+  const { dateList, years } = state;
+  const current = [YEAR_MONTH_RANGE, YEAR_MONTH].includes(type) ? years[value][index3] : dateList[value][index3];
+  if (!current || current.disabled) {
+    return;
+  }
+  if ([DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE].includes(type)) {
+    if (state.date.length > 1) {
+      state.date = [];
+    }
+    state.date.push(new Date(current.value));
+    if (state.date.length === 2) {
+      state.date.sort((a, b) => a.getTime() - b.getTime());
+    }
+  } else {
+    state.date = new Date(current.value);
+    emit("click", current);
+  }
+};
+const confirm$3 = ({ emit, state, props: props2, api: api2, constants }) => () => {
+  const { DATE_TIME, DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE } = constants.TYPE;
+  const { date, timeList } = state;
+  const { type } = props2;
+  if ([DATE_TIME, DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE].includes(type)) {
+    const length = type === DATE_TIME ? 1 : 2;
+    Array.from({ length }).forEach((v, index3) => {
+      let thisDate = type === DATE_TIME ? date : date[index3];
+      if (thisDate) {
+        const currentDate = api2.getCurrentDate(thisDate);
+        const time = timeList[index3];
+        thisDate = new Date(currentDate.year, currentDate.month - 1, currentDate.day, time[0], time[1], time[2]);
+        if (type === DATE_TIME) {
+          state.date = thisDate;
+        } else {
+          state.date[index3] = thisDate;
+        }
+      }
+    });
+  }
+  emit("confirm", state.date);
+  emit("update:visible", false);
+  emit("update:modelValue", state.date);
+};
+const timeConfirm = ({ emit, state }) => (value) => {
+  state.timeVisible = false;
+  state.timeList[state.showTimeIndex] = value;
+  emit("time-confirm", value);
+};
+const timeToggle = ({ state }) => (index3) => {
+  state.showTimeIndex = index3;
+  state.time = state.timeList[index3];
+  state.timeVisible = true;
+};
+const selectedComputed = ({ state, props: props2, constants, api: api2 }) => () => {
+  const { type } = props2;
+  const { DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE } = constants.TYPE;
+  if ([DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE].includes(type)) {
+    if (state.date && state.date.length) {
+      if (state.date.length === 1) {
+        return [api2.formatDate(state.date[0])];
+      }
+      const list = [];
+      let date1 = state.date[0].getTime();
+      let date2 = state.date[1].getTime();
+      while (date1 <= date2) {
+        const date = new Date(date1);
+        list.push(api2.formatDate(date));
+        if (type === YEAR_MONTH_RANGE) {
+          date1 = api2.getOffsetMonth(date, 1).getTime();
+        } else {
+          date1 += 3600 * 24 * 1e3;
+        }
+      }
+      return list;
+    }
+    return [];
+  }
+  return state.date ? [api2.formatDate(state.date)] : [];
+};
+const scrollStart = ({ state, api: api2, props: props2 }) => () => {
+  if (state.loading || !props2.visible || !state.ready) {
+    return;
+  }
+  state.loading = true;
+  const value = state.isYearMonthPanel ? state.computedYears[1].year : state.months[1].yearMonth;
+  state.isYearMonthPanel ? api2.loadYearMonth("top") : api2.loadingDate("top");
+  api2.scrollToCurrentDate({ value });
+};
+const scrollEnd = ({ state, api: api2 }) => () => {
+  if (state.loading) {
+    return;
+  }
+  state.loading = true;
+  state.isYearMonthPanel ? api2.loadYearMonth("down") : api2.loadingDate("down");
+};
+const clear$2 = ({ state, emit, api: api2 }) => () => {
+  state.date = Array.isArray(state.date) ? [] : "";
+  emit("update:modelValue", state.date);
+  emit("clear", state.date);
+  api2.close();
+};
+const close$1 = ({ emit, vm }) => () => {
+  vm.$refs.actionSheet.close();
+  emit("close");
+};
+const initYearMonthPanel = ({ state, props: props2 }) => ({ dateValue, direction, isInit }) => {
+  const years = [];
+  const currentDate = dateValue || (Array.isArray(state.date) ? state.date[0] : state.date) || /* @__PURE__ */ new Date();
+  let year = direction === "top" ? currentDate.getFullYear() - state.yearNum : currentDate.getFullYear();
+  const today = /* @__PURE__ */ new Date();
+  const thisYear = today.getFullYear();
+  const thisMonth = today.getMonth() + 1;
+  const { disabledDate } = props2.pickerOptions || {};
+  if (isInit) {
+    year -= Math.floor(state.yearNum / 2);
+  }
+  Array.from({ length: state.yearNum }).map((item, index3) => {
+    const currentYear2 = year + index3 + 1;
+    years[currentYear2] = Array.from({ length: 12 }).map((v, index24) => {
+      const month = index24 + 1;
+      return {
+        value: getDateStr(currentYear2, month),
+        year: currentYear2,
+        month,
+        disabled: typeof disabledDate === "function" && !!disabledDate(new Date(currentYear2, month - 1, 1)),
+        isToday: thisYear === currentYear2 && thisMonth === month
+      };
+    });
+  });
+  state.years = direction === "top" ? Object.assign({}, years, state.years) : Object.assign({}, state.years, years);
+};
+const loadYearMonth = ({ state, api: api2 }) => (direction) => {
+  const list = Object.keys(state.years);
+  let date;
+  if (direction === "top") {
+    date = new Date(list[0], 0, 1);
+  } else {
+    date = new Date(list[list.length - 1], 0, 1);
+  }
+  api2.initYearMonthPanel({ dateValue: date, direction });
+  setTimeout(() => {
+    state.loading = false;
+  }, 100);
+};
+const getOffsetMonth = () => (date, offset) => {
+  const theDate = new Date(date);
+  let year = theDate.getFullYear();
+  let month = theDate.getMonth();
+  let day = theDate.getDate();
+  return new Date(year, month + offset, day);
+};
+const api$6 = [
+  "state",
+  "getDate",
+  "getWeeksByMonth",
+  "getDaysByWeek",
+  "getSelectedPosition",
+  "selectOption",
+  "confirm",
+  "timeToggle",
+  "timeConfirm",
+  "scrollStart",
+  "scrollEnd",
+  "loadingDate",
+  "clear",
+  "close",
+  "formatDate"
+];
+const renderless$6 = (props2, { computed, reactive, watch, onMounted }, { emit, vm, nextTick, constants }) => {
+  const { DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE, YEAR_MONTH } = constants.TYPE;
+  const api2 = {};
+  const state = reactive({
+    scrollerHeight: window.innerHeight || 1e3,
+    toggle: false,
+    date: null,
+    loading: false,
+    ready: false,
+    dateList: {},
+    timeVisible: false,
+    showTimeIndex: 0,
+    time: ["00", "00", "00"],
+    timeList: [
+      ["00", "00", "00"],
+      ["00", "00", "00"]
+    ],
+    years: [],
+    isYearMonthPanel: computed(() => [YEAR_MONTH_RANGE, YEAR_MONTH].includes(props2.type)),
+    yearNum: computed(() => [YEAR_MONTH, YEAR_MONTH_RANGE].includes(props2.type) ? 40 : 10),
+    itemSize: computed(() => [YEAR_MONTH, YEAR_MONTH_RANGE].includes(props2.type) ? 150 : 300),
+    buffer: 200,
+    selected: computed(() => api2.selectedComputed()),
+    months: computed(() => Object.keys(state.dateList).map((item) => ({ id: item, yearMonth: item }))),
+    btnDisabled: computed(
+      () => [DATE_RANGE, DATE_TIME_RANGE, YEAR_MONTH_RANGE].includes(props2.type) && state.date && state.date.length === 1
+    ),
+    computedYears: computed(() => Object.keys(state.years).map((item) => ({ id: item, year: item })))
+  });
+  Object.assign(api2, {
+    state,
+    initPanel: initPanel({ state, api: api2 }),
+    initYearMonthPanel: initYearMonthPanel({ state, props: props2 }),
+    getCurrentDate: getCurrentDate({ api: api2, props: props2 }),
+    getWeeksByMonth: getWeeksByMonth({ state }),
+    getDate: getDate({ state }),
+    getDaysByWeek: getDaysByWeek({ state, api: api2 }),
+    getSelectedPosition: getSelectedPosition({ state, api: api2 }),
+    confirm: confirm$3({ state, emit, props: props2, api: api2, constants }),
+    timeConfirm: timeConfirm({ state, emit }),
+    scrollStart: scrollStart({ state, api: api2, props: props2, constants }),
+    scrollEnd: scrollEnd({ state, api: api2, props: props2, constants }),
+    selectOption: selectOption({ state, emit, props: props2, constants }),
+    timeToggle: timeToggle({ state }),
+    watchVisible: watchVisible$2({ emit, api: api2, state }),
+    scrollToCurrentDate: scrollToCurrentDate({ state, vm, nextTick }),
+    watchModelValue: watchModelValue$1({ props: props2, state, constants }),
+    selectedComputed: selectedComputed({ props: props2, state, constants, api: api2 }),
+    loadingDate: loadingDate({ state, api: api2 }),
+    loadYearMonth: loadYearMonth({ state, api: api2 }),
+    getOffsetMonth: getOffsetMonth(),
+    formatDate: formatDate({ props: props2, constants }),
+    clear: clear$2({ state, emit, api: api2 }),
+    close: close$1({ emit, vm })
+  });
+  watch(() => props2.visible, api2.watchVisible);
+  watch(() => props2.modelValue, api2.watchModelValue, { immediate: true });
+  onMounted(() => {
+    state.isYearMonthPanel ? api2.initYearMonthPanel({ isInit: true }) : api2.initPanel({ isInit: true });
+    props2.visible && api2.scrollToCurrentDate({ date: (Array.isArray(state.date) ? state.date[0] : state.date) || /* @__PURE__ */ new Date() });
+    nextTick(() => {
+      state.ready = true;
+    });
+  });
+  return api2;
+};
+const optionMethod = (value) => {
+  const val = ("0" + value).slice(-2);
+  return { id: +val, label: val };
+};
+const watchModelValue = ({ props: props2, state }) => () => {
+  const { modelValue, showSeconds } = props2;
+  const num = showSeconds ? 3 : 2;
+  if (!showSeconds && modelValue.length === 3) {
+    state.seconds = modelValue[2];
+  }
+  state.dateArr = modelValue && state.dateArr.toString() !== "NaN,NaN,NaN" ? modelValue.slice(0, num) : [];
+};
+const watchVisible$1 = ({ api: api2, state }) => (value) => {
+  state.visible = value;
+  value && api2.watchModelValue();
+};
+const updateVisible = ({ state, emit }) => (value) => {
+  state.visible = value;
+  emit("update:visible", value);
+};
+const confirm$2 = ({ emit, state }) => (value) => {
+  const dateArr = value.map((item) => ("0" + item).slice(-2));
+  state.dateArr = dateArr;
+  emit("update:modelValue", state.value);
+  emit("confirm", state.value);
+};
+const clear$1 = ({ state, emit, api: api2, vm, dispatch }) => ($event) => {
+  state.dateArr = [];
+  vm.$refs.cascaderSelect.clear(state.dateArr);
+  emit("update:modelValue", state.dateArr);
+  emit("clear", state.dateArr);
+  dispatch("Picker", "handle-clear", $event);
+  api2.updateVisible(false);
+};
+const getTimePeriod = ({ state, props: props2 }) => (unit, length) => {
+  const step = props2.step || {};
+  const value = step[unit] || 1;
+  return Array.from({ length }).map((v, key) => key).filter((v) => v % value === 0).map((v) => optionMethod(v));
+};
+const computedOptions = ({ state, api: api2, props: props2 }) => () => {
+  const { showSeconds } = props2;
+  const options = [];
+  options.push(api2.getTimePeriod("hour", 24));
+  options.push(api2.getTimePeriod("minute", 60));
+  showSeconds && options.push(api2.getTimePeriod("second", 60));
+  return options;
+};
+const api$5 = ["state", "confirm", "updateVisible", "clear"];
+const renderless$5 = (props2, { reactive, watch, computed }, { emit, vm, dispatch }) => {
+  const api2 = {};
+  const state = reactive({
+    visible: false,
+    dateArr: [],
+    seconds: null,
+    options: computed(() => api2.computedOptions()),
+    value: computed(
+      () => !props2.showSeconds && state.seconds !== null ? [...state.dateArr, state.seconds] : state.dateArr
+    )
+  });
+  Object.assign(api2, {
+    state,
+    watchModelValue: watchModelValue({ props: props2, state }),
+    watchVisible: watchVisible$1({ api: api2, state }),
+    confirm: confirm$2({ emit, state }),
+    clear: clear$1({ state, emit, api: api2, vm, dispatch }),
+    updateVisible: updateVisible({ emit, state }),
+    getTimePeriod: getTimePeriod({ state, props: props2 }),
+    computedOptions: computedOptions({ state, api: api2, props: props2 }),
+    optionMethod
+  });
+  watch(() => props2.visible, api2.watchVisible);
+  watch(() => props2.modelValue, api2.watchModelValue, { immediate: true });
+  return api2;
+};
+const watchActionSheetVisible = ({ emit, api: api2, props: props2 }) => (visible) => {
+  emit("update:visible", visible);
+  if (!visible)
+    return;
+  api2.setValue(props2.modelValue);
+};
+const close = (state) => () => state.actionSheetVisible && (state.actionSheetVisible = false);
+const confirm$1 = ({ api: api2, emit, defaultValues, selectedOptions, isDisabled, vm }) => () => {
+  if (isDisabled.value)
+    return;
+  let refs = vm.$refs.swipeRef;
+  let moving = false;
+  if (!Array.isArray(vm.$refs.swipeRef)) {
+    refs = [refs];
+  }
+  defaultValues.value = refs.map((comp) => {
+    if (comp.state.moving) {
+      moving = true;
+    }
+    return comp.state.currentValue;
+  });
+  if (moving)
+    return;
+  emit("confirm", {
+    selectedValue: defaultValues.value.slice(),
+    selectedOptions: selectedOptions.value.slice()
+  });
+  emit("update:modelValue", defaultValues.value.slice());
+  api2.close();
+};
+const clear = ({ api: api2, emit }) => (value) => {
+  emit("update:modelValue", value);
+  api2.close();
+};
+const columnStyle = ({ props: props2, computed }) => computed(() => {
+  return {
+    height: `${+props2.visibleOptionNum * +props2.optionHeight}px`,
+    "--lineHeight": `${+props2.optionHeight}px`
+  };
+});
+const DEFAULT_FILED_NAMES = {
+  text: "label",
+  value: "id",
+  children: "children"
+};
+const createSourceData = ({ props: props2, state, api: api2 }) => () => {
+  if (!api2.validProps())
+    return;
+  const { options, valueField, textField, type } = props2;
+  if (type === "cascade")
+    return options;
+  const values = api2.parseType(state.defaultValues.slice());
+  const types = Array.from({ length: values.length });
+  const ranges = Array.from({ length: values.length });
+  const indices = Array.from({ length: values.length });
+  const visibleOptions = options.map((opt, i) => {
+    let slicedValues, existOption;
+    if (Array.isArray(opt)) {
+      if (opt.length === 0)
+        return [];
+      let index3 = opt.findIndex((item) => item[valueField] === values[i]);
+      index3 = index3 === -1 ? 0 : index3;
+      types[i] = "a";
+      ranges[i] = [0, opt.length - 1];
+      indices[i] = index3;
+      slicedValues = api2.sliceValue(0, opt.length - 1);
+      existOption = (i2) => opt[i2];
+    } else if (opt && typeof opt === "object") {
+      let range2;
+      if (Array.isArray(opt.range)) {
+        range2 = opt.range.slice(0, 2);
+      } else if (typeof opt.rangeMethod === "function") {
+        range2 = opt.rangeMethod(...values);
+        state.isOldCascadeType = true;
+      }
+      types[i] = "o";
+      ranges[i] = api2.parseType(range2);
+      slicedValues = api2.sliceValue(ranges[i][0], ranges[i][1]);
+      existOption = (i2) => opt.optionMethod(i2, ...values);
+    }
+    if (!slicedValues || !existOption)
+      return [];
+    return slicedValues.map((slicedValue) => {
+      const option = slicedValue === null ? { [valueField]: null, [textField]: "" } : existOption(slicedValue);
+      return option;
+    });
+  });
+  return visibleOptions;
+};
+const changeHandler = ({ state, columnFieldNames, columnsType, api: api2 }) => (columnIndex, option) => {
+  const fields = columnFieldNames.value;
+  if (option && Object.keys(option).length) {
+    state.defaultValues = state.defaultValues ? state.defaultValues : [];
+    if (columnsType.value === "cascade") {
+      state.defaultValues[columnIndex] = option[fields.value] || "";
+      let index3 = columnIndex;
+      let cursor = option;
+      while (cursor && cursor[fields.children] && cursor[fields.children][0]) {
+        state.defaultValues[index3 + 1] = cursor[fields.children][0][fields.value];
+        index3++;
+        cursor = cursor[fields.children][0];
+      }
+      if (cursor && cursor[fields.children] && cursor[fields.children].length === 0) {
+        state.defaultValues = state.defaultValues.slice(0, index3 + 1);
+      }
+    } else {
+      state.defaultValues[columnIndex] = Object.prototype.hasOwnProperty.call(option, fields.value) ? option[fields.value] : "";
+    }
+    api2.change(columnIndex);
+  }
+};
+const formatCascade$1 = ({ columnFieldNames }) => (columns, defaultValues) => {
+  const formatted = [];
+  const fields = columnFieldNames.value;
+  let cursor = {
+    text: "",
+    value: "",
+    [fields.children]: columns
+  };
+  let columnIndex = 0;
+  while (cursor && cursor[fields.children]) {
+    const options = cursor[fields.children];
+    const value = defaultValues[columnIndex];
+    let index3 = options.findIndex((columnItem) => columnItem[fields.value] === value);
+    if (index3 === -1)
+      index3 = 0;
+    cursor = cursor[fields.children][index3];
+    columnIndex++;
+    formatted.push(options);
+  }
+  return formatted.slice();
+};
+const columnFieldNamesComputed = ({ props: props2, computed }) => computed(() => {
+  return __spreadProps(__spreadValues({}, DEFAULT_FILED_NAMES), {
+    text: props2.textField,
+    value: props2.valueField,
+    children: props2.childrenField
+  });
+});
+const defaultIndexes = ({ state, computed, columnFieldNames, columnsList }) => computed(() => {
+  const fields = columnFieldNames.value;
+  return columnsList.value.map((column, index3) => {
+    const targetIndex = column.findIndex((item) => item[fields.value] === state.defaultValues[index3]);
+    return targetIndex === -1 ? 0 : targetIndex;
+  });
+});
+const confirmDisabled = ({ props: props2, state, columnsList }) => () => {
+  if (typeof props2.disabled !== "function") {
+    return false;
+  }
+  state.isDisabled = columnsList.value.some((column, columnIndex) => {
+    return props2.disabled(state.defaultValues[columnIndex], ...state.defaultValues);
+  });
+};
+const change$1 = ({ api: api2, state, columnFieldNames, columnsList }) => () => {
+  if (api2.isSameValue(state.oldValues, state.defaultValues))
+    return;
+  state.oldValues = state.defaultValues.slice();
+  if (state.isOldCascadeType) {
+    state.formattedColumns = api2.createSourceData();
+  }
+  api2.getColumnsList();
+  api2.confirmDisabled();
+  const fields = columnFieldNames.value;
+  state.selectedOptions = columnsList.value.map((column, index3) => {
+    return column.find((item) => item[fields.value] === state.defaultValues[index3]) || column[0];
+  });
+};
+const columnsTypeComputed = ({ state, computed, columnFieldNames }) => computed(() => {
+  const firstColumn = state.formattedColumns[0];
+  const fields = columnFieldNames.value;
+  if (firstColumn) {
+    if (Array.isArray(firstColumn)) {
+      return "multiple";
+    }
+    if (fields.children in firstColumn) {
+      return "cascade";
+    }
+  }
+  return "single";
+});
+const getColumnsList = ({ state, api: api2, columnsType, columnsList }) => () => {
+  let result = [];
+  switch (columnsType.value) {
+    case "multiple":
+      result = state.formattedColumns;
+      break;
+    case "cascade":
+      result = api2.formatCascade(state.formattedColumns, state.defaultValues ? state.defaultValues : []);
+      break;
+    default:
+      result = [state.formattedColumns];
+      break;
+  }
+  columnsList.value = result;
+};
+const setValue = ({ api: api2, state }) => (value) => {
+  if (!api2.isSameValue(value, state.defaultValues)) {
+    state.defaultValues = (value || []).slice();
+    api2.change();
+  }
+};
+const isSameValue = (valA, valB) => JSON.stringify(valA) === JSON.stringify(valB);
+const sliceValue = (min, max) => {
+  const values = [min];
+  Array.from({ length: max - min }).map((v, i) => values.push(min + i + 1));
+  return values;
+};
+const validArr = (arr) => Array.isArray(arr) && arr.length;
+const validProps = ({ props: props2 }) => () => {
+  const { modelValue, options } = props2;
+  return validArr(modelValue) && validArr(options) && modelValue.length === options.length;
+};
+const parseType = ({ props: props2 }) => (values) => {
+  const { valueType } = props2;
+  return values.map(valueType === "number" ? Number : valueType === "string" ? String : (i) => i);
+};
+const init = ({ api: api2, state }) => () => {
+  state.isInit = true;
+  state.formattedColumns = api2.createSourceData();
+  api2.getColumnsList();
+};
+const usePicker = (args) => {
+  const { ref, reactive, watch, computed, toRefs, props: props2 } = args;
+  const state = reactive({
+    formattedColumns: [],
+    defaultValues: [],
+    selectedOptions: [],
+    oldValues: [],
+    isOldCascadeType: false,
+    isDisabled: false,
+    isInit: false
+  });
+  const api2 = {};
+  const columnsList = ref([]);
+  const pickerColumn = ref([]);
+  const columnFieldNames = columnFieldNamesComputed({ props: props2, computed });
+  const columnsType = columnsTypeComputed({ state, computed, columnFieldNames });
+  Object.assign(api2, {
+    change: change$1({ api: api2, state, columnFieldNames, columnsList }),
+    changeHandler: changeHandler({ state, columnFieldNames, columnsType, api: api2 }),
+    formatCascade: formatCascade$1({ columnFieldNames }),
+    setValue: setValue({ api: api2, state }),
+    validProps: validProps({ props: props2 }),
+    parseType: parseType({ props: props2 }),
+    init: init({ api: api2, state }),
+    isSameValue,
+    sliceValue,
+    getColumnsList: getColumnsList({ state, api: api2, columnsType, columnsList }),
+    confirmDisabled: confirmDisabled({ props: props2, state, columnsList }),
+    defaultIndexes: defaultIndexes({ state, computed, columnFieldNames, columnsList }),
+    createSourceData: createSourceData({ props: props2, state, api: api2 })
+  });
+  initWatch$2({ props: props2, api: api2, state, watch });
+  return __spreadProps(__spreadValues({}, toRefs(state)), {
+    columnsType,
+    columnsList,
+    columnFieldNames,
+    changeHandler: api2.changeHandler,
+    defaultIndexes: api2.defaultIndexes,
+    pickerColumn,
+    isSameValue: api2.isSameValue,
+    setValue: api2.setValue
+  });
+};
+const initWatch$2 = ({ props: props2, api: api2, state, watch }) => {
+  watch(
+    () => props2.modelValue,
+    (newValues) => {
+      api2.setValue(newValues);
+    },
+    { deep: true, immediate: true }
+  );
+  watch(
+    () => props2.options,
+    () => props2.visible && api2.init(),
+    { deep: true, immediate: true }
+  );
+  watch(
+    () => props2.visible,
+    () => props2.visible && !state.isInit && api2.init(),
+    { deep: true, immediate: true }
+  );
+};
+const api$4 = [
+  "state",
+  "close",
+  "confirm",
+  "clear",
+  "columnsType",
+  "columnsList",
+  "columnFieldNames",
+  "changeHandler",
+  "defaultValues",
+  "isDisabled",
+  "selectedOptions",
+  "columnStyle"
+];
+const renderless$4 = (props2, { reactive, computed, watch, ref, toRefs }, { emit, vm }) => {
+  const state = reactive({
+    actionSheetVisible: false,
+    visibleOptionNum: 5
+  });
+  const {
+    changeHandler: changeHandler2,
+    defaultValues,
+    columnsList,
+    columnsType,
+    columnFieldNames,
+    selectedOptions,
+    setValue: setValue2,
+    isDisabled
+  } = usePicker({ ref, reactive, watch, computed, toRefs, props: props2, emit });
+  const api2 = {
+    state
+  };
+  Object.assign(api2, {
+    close: close(state),
+    clear: clear({ api: api2, emit }),
+    confirm: confirm$1({ api: api2, emit, props: props2, state, defaultValues, selectedOptions, isDisabled, vm }),
+    watchActionSheetVisible: watchActionSheetVisible({ emit, api: api2, props: props2 }),
+    columnsType,
+    columnsList,
+    columnFieldNames,
+    changeHandler: changeHandler2,
+    defaultValues,
+    selectedOptions,
+    setValue: setValue2,
+    isDisabled,
+    columnStyle: columnStyle({ props: props2, computed })
+  });
+  watch(
+    () => props2.visible,
+    (value) => state.actionSheetVisible = value
+  );
+  watch(
+    () => state.actionSheetVisible,
+    (value) => api2.watchActionSheetVisible(value)
+  );
+  return api2;
+};
+const DEFAULT_DURATION = 200;
+const INERTIA_TIME = 300;
+const INERTIA_DISTANCE = 15;
+const preventDefault = (event, isStopPropagation) => {
+  if (typeof event.cancelable !== "boolean" || event.cancelable) {
+    event.preventDefault();
+  }
+  if (isStopPropagation) {
+    event.stopPropagation();
+  }
+};
+const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
+const pxCheck = (value) => {
+  return isNaN(Number(value)) ? String(value) : `${value}px`;
+};
+const stopMomentum = ({ state, api: api2 }) => () => {
+  state.moving = false;
+  state.touchTime = 0;
+  api2.setChooseValue();
+};
+const setRollerStyle = ({ state }) => (index3) => {
+  return `transform: rotate3d(1, 0, 0, ${-state.rotation * index3}deg) translate3d(0px, 0px, 104px)`;
+};
+const onTouchStart = ({ state, props: props2, touch, vm }) => (event) => {
+  touch.start(event);
+  if (state.moving) {
+    const dom = vm.$refs.roller;
+    const { transform } = window.getComputedStyle(dom);
+    if (props2.threeDimensional) {
+      const circle = Math.floor(parseInt(state.touchDeg) / 360);
+      const cos = +transform.split(", ")[5];
+      const sin = +transform.split(", ")[6] < 0 ? 180 : 0;
+      const endDeg = circle * 360 + Math.acos(cos) / Math.PI * 180 + sin;
+      state.scrollDistance = -Math.abs((endDeg / state.rotation - 1) * +props2.optionHeight);
+    } else {
+      state.scrollDistance = +transform.slice(7, transform.length - 1).split(", ")[5];
+    }
+  }
+  preventDefault(event, true);
+  state.touchParams.startY = touch.deltaY.value;
+  state.touchParams.startTime = Date.now();
+  state.transformY = state.scrollDistance;
+};
+const onTouchMove = ({ state, api: api2, touch }) => (event) => {
+  touch.move(event);
+  if (touch.isVertical()) {
+    state.moving = true;
+    preventDefault(event, true);
+  }
+  state.touchParams.lastY = touch.deltaY.value;
+  let move = state.touchParams.lastY - state.touchParams.startY;
+  api2.setMove(move);
+};
+const onTouchEnd = ({ state, props: props2, api: api2, touch }) => () => {
+  state.touchParams.lastY = touch.deltaY.value;
+  state.touchParams.lastTime = Date.now();
+  let move = state.touchParams.lastY - state.touchParams.startY;
+  let moveTime = state.touchParams.lastTime - state.touchParams.startTime;
+  if (moveTime <= INERTIA_TIME && Math.abs(move) > INERTIA_DISTANCE) {
+    const distance = api2.momentum(move, moveTime);
+    api2.setMove(distance, "end", +props2.swipeDuration);
+    return;
+  } else {
+    api2.setMove(move, "end");
+  }
+  setTimeout(() => {
+    touch.reset();
+    state.moving = false;
+  }, 0);
+};
+const momentum = (distance, duration) => {
+  const speed = Math.abs(distance / duration);
+  distance = speed / 3e-3 * (distance < 0 ? -1 : 1);
+  return distance;
+};
+const isHidden = ({ state }) => (index3) => {
+  if (index3 >= state.currIndex + 8 || index3 <= state.currIndex - 8) {
+    return true;
+  } else {
+    return false;
+  }
+};
+const setTransform = ({ state }) => (type, deg, translateY = 0, time = DEFAULT_DURATION) => {
+  if (type === "end") {
+    state.touchTime = time;
+  } else {
+    state.touchTime = 0;
+  }
+  state.touchDeg = deg;
+  state.scrollDistance = translateY;
+};
+const setMove = ({ state, props: props2, api: api2 }) => (move, type, time) => {
+  const { optionHeight } = props2;
+  let updateMove = move + state.transformY;
+  if (type === "end") {
+    if (updateMove > 0) {
+      updateMove = 0;
+    }
+    if (updateMove < -(props2.column.length - 1) * +optionHeight) {
+      updateMove = -(props2.column.length - 1) * +optionHeight;
+    }
+    let endMove = Math.round(updateMove / +optionHeight) * +optionHeight;
+    let deg = `${(Math.abs(Math.round(endMove / +optionHeight)) + 1) * state.rotation}deg`;
+    api2.setTransform(type, deg, endMove, time);
+    state.currIndex = Math.abs(Math.round(endMove / +optionHeight)) + 1;
+  } else {
+    let deg = 0;
+    let currentDeg = (-updateMove / +optionHeight + 1) * state.rotation;
+    const maxDeg = (props2.column.length + 1) * state.rotation;
+    const minDeg = 0;
+    deg = clamp(currentDeg, minDeg, maxDeg);
+    if (minDeg < deg && deg < maxDeg) {
+      api2.setTransform(null, deg + "deg", updateMove, void 0);
+      state.currIndex = Math.abs(Math.round(updateMove / +optionHeight)) + 1;
+    }
+  }
+};
+const setChooseValue = ({ props: props2, state, emit }) => () => {
+  emit("change", props2.column[state.currIndex - 1]);
+};
+const modifyStatus = ({ state, props: props2, api: api2 }) => (type) => {
+  const { column } = props2;
+  let index3 = column.findIndex((columnItem) => columnItem[props2.fieldNames.value] === props2.value);
+  state.currIndex = index3 === -1 ? 1 : index3 + 1;
+  let move = index3 === -1 ? 0 : index3 * +props2.optionHeight;
+  type && api2.setChooseValue();
+  api2.setMove(-move);
+};
+const OptionStyle = ({ state }) => (option, column, offset) => {
+  const currentIndex = state.currIndex - 1;
+  return option === column[currentIndex + offset] || option === column[currentIndex - offset];
+};
+const MIN_DISTANCE = 10;
+const getDirection = (x, y) => {
+  if (x > y && x > MIN_DISTANCE)
+    return "horizontal";
+  if (y > x && y > MIN_DISTANCE)
+    return "vertical";
+  return "";
+};
+function useTouch({ ref }) {
+  const startX = ref(0);
+  const startY = ref(0);
+  const moveX = ref(0);
+  const moveY = ref(0);
+  const deltaX = ref(0);
+  const deltaY = ref(0);
+  const offsetX = ref(0);
+  const offsetY = ref(0);
+  const direction = ref("");
+  const isVertical = () => direction.value === "vertical";
+  const isHorizontal = () => direction.value === "horizontal";
+  const move = (event) => {
+    const touchEvent = event.touches[0];
+    deltaX.value = touchEvent.clientX - startX.value;
+    deltaY.value = touchEvent.clientY - startY.value;
+    moveY.value = touchEvent.clientY;
+    moveX.value = touchEvent.clientX;
+    offsetY.value = Math.abs(deltaY.value);
+    offsetX.value = Math.abs(deltaX.value);
+    if (!direction.value) {
+      direction.value = getDirection(offsetX.value, offsetY.value);
+    }
+  };
+  const reset = () => {
+    deltaX.value = 0;
+    offsetX.value = 0;
+    offsetY.value = 0;
+    deltaY.value = 0;
+    direction.value = "";
+  };
+  const start = (event) => {
+    reset();
+    startY.value = event.touches[0].clientY;
+    startX.value = event.touches[0].clientX;
+  };
+  return {
+    start,
+    move,
+    reset,
+    startY,
+    startX,
+    moveY,
+    moveX,
+    deltaY,
+    deltaX,
+    offsetY,
+    offsetX,
+    isVertical,
+    direction,
+    isHorizontal
+  };
+}
+const api$3 = [
+  "state",
+  "touch",
+  "OptionStyle",
+  "setRollerStyle",
+  "isHidden",
+  "onTouchStart",
+  "onTouchMove",
+  "onTouchEnd",
+  "setMove",
+  "stopMomentum",
+  "pxCheck"
+];
+const renderless$3 = (props2, { reactive, computed, watch, ref, onMounted }, { emit, vm }) => {
+  const touch = useTouch({ ref });
+  const state = reactive({
+    touchParams: {
+      startY: 0,
+      endY: 0,
+      startTime: 0,
+      endTime: 0,
+      lastY: 0,
+      lastTime: 0
+    },
+    currIndex: 1,
+    transformY: 0,
+    scrollDistance: 0,
+    rotation: 20,
+    moving: false,
+    touchDeg: 0,
+    touchTime: 0,
+    currentValue: computed(() => props2.column[state.currIndex - 1][props2.fieldNames.value]),
+    touchTileStyle: computed(() => {
+      const { optionHeight } = props2;
+      return {
+        transition: `transform ${state.touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
+        transform: `translate3d(0, ${state.scrollDistance}px, 0)`,
+        top: `calc(50% - ${+optionHeight / 2}px)`,
+        height: `${optionHeight}px`
+      };
+    }),
+    touchRollerStyle: computed(() => {
+      return {
+        transition: `transform ${state.touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
+        transform: `rotate3d(1, 0, 0, ${state.touchDeg})`,
+        top: `calc(50% - ${+props2.optionHeight / 2}px)`
+      };
+    }),
+    maskStyles: computed(() => {
+      return {
+        backgroundSize: `100% ${(+props2.visibleOptionNum - 1) * +props2.optionHeight / 2}px`
+      };
+    })
+  });
+  const api2 = {};
+  Object.assign(api2, {
+    state,
+    touch,
+    OptionStyle: OptionStyle({ state }),
+    setRollerStyle: setRollerStyle({ state }),
+    isHidden: isHidden({ state }),
+    onTouchStart: onTouchStart({ state, props: props2, touch, vm }),
+    onTouchMove: onTouchMove({ state, api: api2, touch }),
+    onTouchEnd: onTouchEnd({ state, props: props2, api: api2, touch }),
+    setMove: setMove({ state, props: props2, api: api2 }),
+    stopMomentum: stopMomentum({ state, api: api2 }),
+    setTransform: setTransform({ state }),
+    setChooseValue: setChooseValue({ props: props2, state, emit }),
+    modifyStatus: modifyStatus({ state, props: props2, api: api2 }),
+    pxCheck,
+    momentum
+  });
+  watch(
+    () => props2.column,
+    () => {
+      if (props2.column && props2.column.length > 0) {
+        state.transformY = 0;
+        api2.modifyStatus(false);
+      }
+    },
+    {
+      deep: true
+    }
+  );
+  watch(
+    () => props2.value,
+    () => {
+      state.transformY = 0;
+      api2.modifyStatus(false);
+    },
+    {
+      deep: true
+    }
+  );
+  onMounted(() => {
+    api2.modifyStatus(false);
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$6(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$6(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$6(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$6(o, minLen);
+}
+function _arrayLikeToArray$6(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$6 = function _export_sfc219(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$6(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$6() {
+  _extends$6 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$6.apply(this, arguments);
+}
+var classes$1 = {
+  "header-item": "cursor-pointer px-4 flex items-center justify-center min-w-[50px] h-full text-sm",
+  "picker-column": "flex relative before:content-[''] before:absolute before:top-1/2 before:h-[var(--lineHeight)] before:w-full before:border-t before:border-b before:border-color-bg-3 before:scale-90 before:-translate-y-1/2",
+  "picker-columnitem": "flex-1 h-full relative",
+  "picker-bar": "flex h-12 items-center justify-between",
+  "col-list": "relative block w-full h-full overflow-hidden text-center scrolling-touch",
+  "col-roller": "absolute block top-1/2 w-full z1 -translate-y-1/2 [transform-style:preserve-3d] h-[var(--lineHeight)]",
+  "col-roller-item": "block [backface-visibility:hidden] absolute top-0 w-full h-9 leading-9 text-color-text-primary truncate",
+  "col-item-tile": "block text-center w-full truncate",
+  "col-roller-mask": "absolute w-full h-full block [background-image:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.4)),linear-gradient(0deg,rgba(255,255,255,0.9),rgba(255,255,255,0.4))] [background-position:top,bottom] bg-no-repeat z-1"
+};
+var _sfc_main$1$3 = defineComponent({
+  name: $prefix + "CascaderSelectColumn",
+  props: _extends$6({}, $props$1, {
+    // 当前选中项
+    value: [String, Number],
+    columnsType: String,
+    column: {
+      type: Array,
+      default: function _default13() {
+        return [];
+      }
+    },
+    // 是否开启3D效果
+    threeDimensional: {
+      type: Boolean,
+      default: true
+    },
+    swipeDuration: {
+      type: [Number, String],
+      default: 1e3
+    },
+    visibleOptionNum: {
+      type: [Number, String],
+      default: 7
+    },
+    optionHeight: {
+      type: [Number, String],
+      default: 36
+    },
+    fieldNames: {
+      type: Object,
+      default: function _default24() {
+        return {};
+      }
+    },
+    disabled: Boolean,
+    textColor: {
+      type: Object,
+      default: function _default33() {
+        return {};
+      }
+    }
+  }),
+  emits: ["click", "change"],
+  setup: function setup$119(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$3,
+      api: api$3,
+      classes: classes$1,
+      mono: true
+    });
+  }
+});
+function _sfc_render$1$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      "data-tag": "tiny-cascader-picker__list",
+      class: normalizeClass(_ctx.gcls("col-list")),
+      onTouchstart: _cache[1] || (_cache[1] = function() {
+        return _ctx.onTouchStart && _ctx.onTouchStart.apply(_ctx, arguments);
+      }),
+      onTouchmove: _cache[2] || (_cache[2] = function() {
+        return _ctx.onTouchMove && _ctx.onTouchMove.apply(_ctx, arguments);
+      }),
+      onTouchend: _cache[3] || (_cache[3] = function() {
+        return _ctx.onTouchEnd && _ctx.onTouchEnd.apply(_ctx, arguments);
+      })
+    },
+    [createBaseVNode(
+      "div",
+      {
+        ref: "roller",
+        "data-tag": "tiny-cascader-picker-roller",
+        class: normalizeClass(_ctx.gcls("col-roller")),
+        style: normalizeStyle(_ctx.threeDimensional ? _ctx.state.touchRollerStyle : _ctx.state.touchTileStyle),
+        onTransitionend: _cache[0] || (_cache[0] = function() {
+          return _ctx.stopMomentum && _ctx.stopMomentum.apply(_ctx, arguments);
+        })
+      },
+      [(openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList(_ctx.column, function(item, index3) {
+          var _ctx$m, _ctx$m2, _ctx$m3, _ctx$m4;
+          return openBlock(), createElementBlock("div", {
+            key: item[_ctx.fieldNames.value] || index3
+          }, [item && item[_ctx.fieldNames.text] && _ctx.threeDimensional ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 0,
+              "data-tag": "tiny-cascader-picker-roller-item",
+              class: normalizeClass(_ctx.m(_ctx.gcls("col-roller-item"), {
+                "invisible opacity-0": _ctx.isHidden(index3 + 1)
+              }, {
+                "text-color-brand": item === _ctx.column[_ctx.state.currIndex - 1]
+              }, {
+                "text-color-icon-disabled": item === _ctx.column[_ctx.state.currIndex - 1] && _ctx.disabled
+              })),
+              style: normalizeStyle(_ctx.setRollerStyle(index3 + 1))
+            },
+            toDisplayString(item[_ctx.fieldNames.text]),
+            7
+            /* TEXT, CLASS, STYLE */
+          )) : createCommentVNode("v-if", true), item && item[_ctx.fieldNames.text] && !_ctx.threeDimensional ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 1,
+              "data-tag": "tiny-cascader-picker-roller-item-tile",
+              class: normalizeClass(_ctx.m(_ctx.gcls("col-item-tile"), _ctx.textColor.default || "text-color-text-primary", (_ctx$m = {}, _ctx$m[_ctx.textColor.third || "text-color-icon-placeholder"] = _ctx.OptionStyle(item, _ctx.column, 2), _ctx$m), (_ctx$m2 = {}, _ctx$m2[_ctx.textColor.second || "text-color-icon-secondary"] = _ctx.OptionStyle(item, _ctx.column, 1), _ctx$m2), (_ctx$m3 = {}, _ctx$m3[_ctx.textColor.first || "text-color-icon-focus"] = _ctx.OptionStyle(item, _ctx.column, 0), _ctx$m3), (_ctx$m4 = {}, _ctx$m4[_ctx.textColor.disabled || "text-color-icon-disabled"] = _ctx.OptionStyle(item, _ctx.column, 0) && _ctx.disabled, _ctx$m4))),
+              style: normalizeStyle({
+                height: _ctx.pxCheck(_ctx.optionHeight),
+                lineHeight: _ctx.pxCheck(_ctx.optionHeight)
+              })
+            },
+            toDisplayString(item[_ctx.fieldNames.text]),
+            7
+            /* TEXT, CLASS, STYLE */
+          )) : createCommentVNode("v-if", true)]);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))],
+      38
+      /* CLASS, STYLE, NEED_HYDRATION */
+    ), createBaseVNode(
+      "div",
+      {
+        "data-tag": "tiny-cascader-picker-roller-mask",
+        class: normalizeClass(_ctx.gcls("col-roller-mask")),
+        style: normalizeStyle(_ctx.state.maskStyles)
+      },
+      null,
+      6
+      /* CLASS, STYLE */
+    )],
+    34
+    /* CLASS, NEED_HYDRATION */
+  );
+}
+var PickerColumn$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$1$3, [["render", _sfc_render$1$3]]);
+var _sfc_main$6 = defineComponent({
+  components: {
+    PickerColumn: PickerColumn$1,
+    TinyActionSheet: ActionSheet,
+    TinyButton: Button
+  },
+  emits: ["cancel", "change", "confirm", "update:modelValue", "update:visible"],
+  props: [].concat(props, ["modelValue", "options", "threeDimensional", "swipeDuration", "visibleOptionNum", "optionHeight", "fieldNames", "visible", "valueType", "valueField", "textField", "childrenField", "disabled", "textColor", "lockScroll", "customClass", "panelCustomClass", "type"]),
+  setup: function setup22(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$4,
+      api: api$4,
+      classes: classes$1
+    });
+  }
+});
+var _hoisted_1$5 = {
+  "data-tag": "tiny-mobile-cascader-select"
+};
+var _hoisted_2$5 = {
+  "data-tag": "tiny-cascader-select-picker",
+  class: "relative text-sm"
+};
+var _hoisted_3$4 = {
+  class: "w-full h-11 mt-4 flex justify-center items-center",
+  "data-tag": "tiny-mobile-cascader-select-button"
+};
+function _sfc_render$6(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_picker_column = resolveComponent("picker-column");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_action_sheet = resolveComponent("tiny-action-sheet");
+  return openBlock(), createElementBlock("div", _hoisted_1$5, [createVNode(_component_tiny_action_sheet, {
+    "custom-class": _ctx.m("rounded-t-lg bg-color-bg-1", _ctx.customClass),
+    "lock-scroll": _ctx.lockScroll,
+    visible: _ctx.state.actionSheetVisible,
+    "onUpdate:visible": _cache[1] || (_cache[1] = function($event) {
+      return _ctx.state.actionSheetVisible = $event;
+    })
+  }, {
+    "header-left": withCtx(function() {
+      return [renderSlot(_ctx.$slots, "header-left")];
+    }),
+    default: withCtx(function() {
+      return [createBaseVNode("div", {
+        "data-tag": "tiny-mobile-cascader-select-body",
+        class: "w-full h-max rounded-t-lg bg-color-bg-1 select-none overflow-hidden",
+        onClick: _cache[0] || (_cache[0] = withModifiers(function() {
+        }, ["stop"]))
+      }, [createBaseVNode(
+        "div",
+        {
+          "data-tag": "tiny-mobile-cascader-select-selectpanel",
+          ref: "selectPanel",
+          class: normalizeClass(_ctx.m("w-full h-max grid", _ctx.panelCustomClass))
+        },
+        [createBaseVNode("div", _hoisted_2$5, [renderSlot(_ctx.$slots, "top"), createBaseVNode(
+          "div",
+          {
+            "data-tag": "tiny-cascader-picker__column",
+            class: normalizeClass(_ctx.gcls("picker-column")),
+            style: normalizeStyle(_ctx.columnStyle)
+          },
+          [(openBlock(true), createElementBlock(
+            Fragment,
+            null,
+            renderList(_ctx.columnsList, function(column, columnIndex) {
+              return openBlock(), createElementBlock(
+                "div",
+                {
+                  key: columnIndex,
+                  "data-tag": "tiny-cascader-picker__columnitem",
+                  class: normalizeClass(_ctx.gcls("picker-columnitem"))
+                },
+                [columnIndex > 0 ? renderSlot(_ctx.$slots, "split", {
+                  key: 0
+                }) : createCommentVNode("v-if", true), createVNode(_component_picker_column, {
+                  ref_for: true,
+                  ref: "swipeRef",
+                  column,
+                  disabled: _ctx.isDisabled,
+                  "text-color": _ctx.textColor,
+                  "columns-type": _ctx.columnsType,
+                  "field-names": _ctx.columnFieldNames,
+                  value: _ctx.defaultValues[columnIndex],
+                  "three-dimensional": _ctx.threeDimensional,
+                  "swipe-duration": _ctx.swipeDuration,
+                  "visible-option-num": _ctx.visibleOptionNum,
+                  "option-height": _ctx.optionHeight,
+                  onChange: function onChange2(option) {
+                    _ctx.changeHandler(columnIndex, option);
+                  }
+                }, null, 8, ["column", "disabled", "text-color", "columns-type", "field-names", "value", "three-dimensional", "swipe-duration", "visible-option-num", "option-height", "onChange"])],
+                2
+                /* CLASS */
+              );
+            }),
+            128
+            /* KEYED_FRAGMENT */
+          ))],
+          6
+          /* CLASS, STYLE */
+        ), renderSlot(_ctx.$slots, "default")])],
+        2
+        /* CLASS */
+      ), createBaseVNode("div", _hoisted_3$4, [createVNode(_component_tiny_button, {
+        type: "primary",
+        size: "large",
+        "custom-class": _ctx.m("h-10 sm:h-10 w-full sm:w-auto mx-4 sm:mx-0 flex justify-center items-center", _ctx.isDisabled ? "bg-color-icon-disabled" : "bg-color-icon-focus"),
+        disabled: _ctx.isDisabled,
+        onClick: _ctx.confirm
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.button.confirm")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["custom-class", "disabled", "onClick"])])])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["custom-class", "lock-scroll", "visible"])]);
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$6(_sfc_main$6, [["render", _sfc_render$6]]);
+function _extends$5() {
+  _extends$5 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$5.apply(this, arguments);
+}
+var $constants$3 = {};
+var template$3 = function template27() {
+  return mobileFirst$1;
+};
+var CascaderSelect = {
+  name: $prefix + "CascaderSelect",
+  props: _extends$5({}, $props$1, {
+    _constants: {
+      type: Object,
+      default: function _default14() {
+        return $constants$3;
+      }
+    },
+    modelValue: {
+      type: Array,
+      default: function _default25() {
+        return [];
+      }
+    },
+    options: {
+      type: Array,
+      default: function _default34() {
+        return [];
+      }
+    },
+    threeDimensional: {
+      type: Boolean,
+      default: false
+    },
+    swipeDuration: {
+      type: [Number, String],
+      default: 1e3
+    },
+    visibleOptionNum: {
+      type: [Number, String],
+      default: 5
+    },
+    optionHeight: {
+      type: [Number, String],
+      default: 36
+    },
+    fieldNames: {
+      type: Object,
+      default: function _default42() {
+        return {
+          text: "label",
+          value: "id",
+          children: "children"
+        };
+      }
+    },
+    visible: Boolean,
+    valueType: {
+      type: String,
+      default: "number"
+    },
+    valueField: {
+      type: String,
+      default: "id"
+    },
+    textField: {
+      type: String,
+      default: "label"
+    },
+    childrenField: {
+      type: String,
+      default: "children"
+    },
+    disabled: Function,
+    textColor: {
+      type: Object,
+      default: function _default52() {
+        return {
+          default: "",
+          first: "",
+          second: "",
+          third: "",
+          disabled: ""
+        };
+      }
+    },
+    lockScroll: {
+      type: Boolean,
+      default: true
+    },
+    customClass: [String, Object, Array],
+    panelCustomClass: [String, Object, Array],
+    type: {
+      type: String,
+      validator: function validator5(value) {
+        return ~["cascade", "single"].indexOf(value);
+      },
+      default: "single"
+    }
+  }),
+  setup: function setup8(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$3
+    });
+  }
+};
+var version$6 = "3.16.0";
+CascaderSelect.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+CascaderSelect.install = function(Vue) {
+  Vue.component(CascaderSelect.name, CascaderSelect);
+};
+CascaderSelect.version = version$6;
+function _createForOfIteratorHelperLoose$5(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$5(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$5(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$5(o, minLen);
+}
+function _arrayLikeToArray$5(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$5 = function _export_sfc220(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$5(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$4() {
+  _extends$4 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$4.apply(this, arguments);
+}
+var _sfc_main$5 = defineComponent({
+  name: $prefix + "TimePickerMobile",
+  components: {
+    TinyCascaderSelect: CascaderSelect
+  },
+  emits: ["update:modelValue", "confirm", "update:visible", "clear"],
+  props: _extends$4({}, $props$1, {
+    modelValue: Array,
+    visible: {
+      type: Boolean,
+      default: false
+    },
+    cycleRoll: {
+      type: Boolean,
+      default: true
+    },
+    disabled: Function,
+    lockScroll: {
+      type: Boolean,
+      default: true
+    },
+    step: {
+      type: Object,
+      default: function _default15() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    },
+    showSeconds: {
+      type: Boolean,
+      default: true
+    },
+    clearable: {
+      type: Boolean,
+      default: true
+    }
+  }),
+  setup: function setup$120(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$5,
+      api: api$5,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$4 = {
+  "data-tag": "tiny-time-picker-mobile"
+};
+var _hoisted_2$4 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    "data-tag": "tiny-time-picker-split",
+    class: "h-full w-1 flex items-center justify-center absolute left-0 -ml-0.5 text-color-text-primary select-none"
+  },
+  " : ",
+  -1
+  /* HOISTED */
+);
+function _sfc_render$5(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_cascader_select = resolveComponent("tiny-cascader-select");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    _hoisted_1$4,
+    [createVNode(_component_tiny_cascader_select, {
+      ref: "cascaderSelect",
+      modelValue: _ctx.state.dateArr,
+      "onUpdate:modelValue": [_cache[1] || (_cache[1] = function($event) {
+        return _ctx.state.dateArr = $event;
+      }), _ctx.confirm],
+      "cycle-roll": _ctx.cycleRoll,
+      options: _ctx.state.options,
+      disabled: _ctx.disabled,
+      "lock-scroll": _ctx.lockScroll,
+      "custom-panel-class": "px-4 pb-4",
+      visible: _ctx.state.visible,
+      "onUpdate:visible": _ctx.updateVisible
+    }, {
+      split: withCtx(function() {
+        return [_hoisted_2$4];
+      }),
+      "header-left": withCtx(function() {
+        return [_ctx.clearable ? (openBlock(), createElementBlock(
+          "span",
+          {
+            key: 0,
+            class: "cursor-pointer text-color-brand",
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.clear && _ctx.clear.apply(_ctx, arguments);
+            })
+          },
+          toDisplayString(_ctx.t("ui.datepicker.clear")),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true)];
+      }),
+      _: 1
+      /* STABLE */
+    }, 8, ["modelValue", "cycle-roll", "options", "disabled", "lock-scroll", "visible", "onUpdate:visible", "onUpdate:modelValue"])],
+    512
+    /* NEED_PATCH */
+  )), [[vShow, _ctx.visible]]);
+}
+var TimePickerMobile = /* @__PURE__ */ _export_sfc$5(_sfc_main$5, [["render", _sfc_render$5]]);
+var version$5 = "3.16.0";
+TimePickerMobile.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+TimePickerMobile.install = function(Vue) {
+  Vue.component(TimePickerMobile.name, TimePickerMobile);
+};
+TimePickerMobile.version = version$5;
+function _createForOfIteratorHelperLoose$4(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$4(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$4(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$4(o, minLen);
+}
+function _arrayLikeToArray$4(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$4 = function _export_sfc221(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$4(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+function _extends$3() {
+  _extends$3 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$3.apply(this, arguments);
+}
+var _sfc_main$2$1 = {
+  inheritAttrs: false,
+  components: {},
+  props: {
+    data: Object
+  }
+};
+var _hoisted_1$2$1 = {
+  class: "w-full flex"
+};
+function _sfc_render$2$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$2$1, [renderSlot(_ctx.$slots, "default", {
+    data: $props2.data
+  }, function() {
+    return [createTextVNode(
+      toDisplayString($props2.data.value),
+      1
+      /* TEXT */
+    )];
+  })]);
+}
+var Option = /* @__PURE__ */ _export_sfc$4(_sfc_main$2$1, [["render", _sfc_render$2$1]]);
+var _sfc_main$1$2 = defineComponent({
+  components: {
+    TinyOption: Option,
+    TinyActionSheet: ActionSheet,
+    TinyTimePickerMobile: TimePickerMobile,
+    TinyRecycleScroller: RecycleScroller,
+    TinyButton: Button
+  },
+  emits: ["click", "confirm", "update:visible", "update:modelValue", "time-confirm"],
+  props: [].concat(props, ["modelValue", "visible", "title", "type", "lockScroll", "pickerOptions", "customClass", "clearable", "step", "rangeSeparator", "endPlaceholder", "showTimeSecond"]),
+  setup: function setup$121(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6
+    });
+  }
+});
+var _hoisted_1$1$2 = {
+  "data-tag": "tiny-date-picker-mobile"
+};
+var _hoisted_2$1$2 = {
+  "data-tag": "tiny-date-picker-inner",
+  class: /* @__PURE__ */ normalizeClass(["flex flex-col flex-auto h-full"])
+};
+var _hoisted_3$1$1 = {
+  "data-tag": "date-picker-header",
+  class: "flex leading-6 py-2.5 px-4 text-sm items-center text-center border-b border-color-bg-4 shadow-sm"
+};
+var _hoisted_4$1 = {
+  ref: "datePickerBody",
+  "data-tag": "date-picker-body",
+  class: "flex-auto overflow-hidden px-4"
+};
+var _hoisted_5$1 = {
+  class: "mt-4"
+};
+var _hoisted_6$1 = {
+  class: "text-xl leading-7 text-color-text-primary"
+};
+var _hoisted_7$1 = {
+  class: "text-center leading-9 text-xs font-medium"
+};
+var _hoisted_8$1 = ["onClick"];
+var _hoisted_9$1 = {
+  "data-tag": "date-picker-footer",
+  class: "flex flex-none flex-col items-center justify-center p-4 border-t border-color-bg-4 shadow-sm"
+};
+var _hoisted_10$1 = {
+  key: 0,
+  "data-tag": "rang-box",
+  class: "w-full"
+};
+var _hoisted_11$1 = {
+  class: "w-full flex mb-4 h-6 leading-6 text-base text-center"
+};
+var _hoisted_12$1 = {
+  class: "min-w-[theme(spacing.32)]"
+};
+var _hoisted_13$1 = {
+  class: "flex-auto min-w-[theme(spacing.4)]"
+};
+var _hoisted_14$1 = {
+  key: 0,
+  class: "h-9 border-l-0.5 inline-block rotate-45 relative top-6 border-color-bg-2"
+};
+var _hoisted_15$1 = {
+  key: 1,
+  class: "text-center"
+};
+var _hoisted_16$1 = {
+  class: "min-w-[theme(spacing.32)]"
+};
+var _hoisted_17 = {
+  key: 0,
+  class: "text-color-icon-placeholder"
+};
+var _hoisted_18 = {
+  key: 1
+};
+var _hoisted_19 = {
+  key: 0,
+  class: "w-full h-9 flex mb-4 leading-9 text-base text-center"
+};
+var _hoisted_20 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "flex-auto min-w-[theme(spacing.4)]"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_21 = {
+  key: 1,
+  "data-tag": "datetime-box",
+  class: "w-full"
+};
+var _hoisted_22 = {
+  class: "w-full flex mb-4 leading-6 text-base text-center"
+};
+var _hoisted_23 = {
+  class: "min-w-[theme(spacing.32)]"
+};
+var _hoisted_24 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "flex-auto min-w-[theme(spacing.4)]"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_25 = {
+  class: "w-full text-center"
+};
+function _sfc_render$1$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_recycle_scroller = resolveComponent("tiny-recycle-scroller");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_action_sheet = resolveComponent("tiny-action-sheet");
+  var _component_tiny_time_picker_mobile = resolveComponent("tiny-time-picker-mobile");
+  return openBlock(), createElementBlock("div", _hoisted_1$1$2, [createVNode(_component_tiny_action_sheet, {
+    ref: "actionSheet",
+    title: _ctx.title,
+    "custom-class": _ctx.m("h-full max-h-full rounded-none min-h-[95vh]", _ctx.customClass),
+    "lock-scroll": _ctx.lockScroll,
+    visible: _ctx.visible,
+    "onUpdate:visible": _cache[4] || (_cache[4] = function($event) {
+      return _ctx.$emit("update:visible", $event);
+    })
+  }, createSlots({
+    default: withCtx(function() {
+      return [createBaseVNode("div", _hoisted_2$1$2, [createBaseVNode("div", _hoisted_3$1$1, [(openBlock(), createElementBlock(
+        Fragment,
+        null,
+        renderList(7, function(item, index3) {
+          return createBaseVNode(
+            "div",
+            {
+              key: index3,
+              class: "flex-1"
+            },
+            toDisplayString(_ctx.t("ui.calendarBar.week." + index3)),
+            1
+            /* TEXT */
+          );
+        }),
+        64
+        /* STABLE_FRAGMENT */
+      ))]), createBaseVNode(
+        "div",
+        _hoisted_4$1,
+        [createVNode(_component_tiny_recycle_scroller, {
+          ref: "recycleScroller",
+          class: "h-full scrollbar-size-0",
+          "key-field": "id",
+          style: normalizeStyle({
+            height: _ctx.state.scrollerHeight ? _ctx.state.scrollerHeight + "px" : null
+          }),
+          items: _ctx.state.months,
+          "item-size": _ctx.state.itemSize,
+          buffer: _ctx.state.buffer,
+          onScrollStart: _ctx.scrollStart,
+          onScrollEnd: _ctx.scrollEnd
+        }, {
+          default: withCtx(function(scopeSlots) {
+            return [createBaseVNode("div", _hoisted_5$1, [createBaseVNode(
+              "div",
+              _hoisted_6$1,
+              toDisplayString(_ctx.formatDate(scopeSlots.item.yearMonth, _ctx.t("ui.datepicker.yearMonth", {
+                year: "yyyy",
+                month: "MM"
+              }))),
+              1
+              /* TEXT */
+            ), createBaseVNode("div", _hoisted_7$1, [(openBlock(true), createElementBlock(
+              Fragment,
+              null,
+              renderList(_ctx.getWeeksByMonth(scopeSlots.item.yearMonth), function(item, week) {
+                return openBlock(), createElementBlock("div", {
+                  key: week,
+                  class: normalizeClass(["flex mt-2"])
+                }, [(openBlock(), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(7, function(item2, index3) {
+                    return createBaseVNode("div", {
+                      key: index3,
+                      class: normalizeClass(["flex-1 h-9 cursor-pointer", index3 === 0 || index3 === 6 ? "text-color-text-placeholder" : "text-color-text-primary"]),
+                      onClick: withModifiers(function($event) {
+                        return _ctx.selectOption({
+                          value: scopeSlots.item.yearMonth,
+                          index: index3 + week * 7
+                        });
+                      }, ["stop"])
+                    }, [createVNode(_component_tiny_option, {
+                      data: _ctx.getDate({
+                        yearMonth: scopeSlots.item.yearMonth,
+                        index: index3 + week * 7
+                      })
+                    }, {
+                      default: withCtx(function(_ref) {
+                        var data = _ref.data;
+                        return [createBaseVNode(
+                          "div",
+                          {
+                            class: normalizeClass(["flex-1", {
+                              "bg-color-info-primary-subtler": !data.disabled && _ctx.state.date.length === 2 && ["end", "inner"].includes(_ctx.getSelectedPosition(data.value))
+                            }, {
+                              "rounded-l": index3 === 0
+                            }])
+                          },
+                          null,
+                          2
+                          /* CLASS */
+                        ), createBaseVNode(
+                          "div",
+                          {
+                            class: normalizeClass(_ctx.m("w-9 h-9", {
+                              "text-color-brand border-0.5 border-current rounded": data.isToday
+                            }, {
+                              "bg-color-info-primary-subtler": ["inner"].includes(_ctx.getSelectedPosition(data.value))
+                            }, {
+                              "bg-color-brand text-color-text-inverse rounded": ["start", "end"].includes(_ctx.getSelectedPosition(data.value))
+                            }, {
+                              "bg-white text-color-text-disabled cursor-not-allowed": data.disabled
+                            }))
+                          },
+                          [renderSlot(_ctx.$slots, "default", {
+                            data
+                          }, function() {
+                            return [createTextVNode(
+                              toDisplayString(data.day),
+                              1
+                              /* TEXT */
+                            )];
+                          })],
+                          2
+                          /* CLASS */
+                        ), createBaseVNode(
+                          "div",
+                          {
+                            class: normalizeClass(["flex-1", {
+                              "bg-color-info-primary-subtler": !data.disabled && _ctx.state.date.length === 2 && _ctx.state.selected.length > 1 && ["start", "inner"].includes(_ctx.getSelectedPosition(data.value))
+                            }, {
+                              "rounded-r": index3 === 6
+                            }])
+                          },
+                          null,
+                          2
+                          /* CLASS */
+                        )];
+                      }),
+                      _: 2
+                      /* DYNAMIC */
+                    }, 1032, ["data"])], 10, _hoisted_8$1);
+                  }),
+                  64
+                  /* STABLE_FRAGMENT */
+                ))]);
+              }),
+              128
+              /* KEYED_FRAGMENT */
+            ))])])];
+          }),
+          _: 3
+          /* FORWARDED */
+        }, 8, ["style", "items", "item-size", "buffer", "onScrollStart", "onScrollEnd"])],
+        512
+        /* NEED_PATCH */
+      ), createBaseVNode("div", _hoisted_9$1, [["datetimerange", "daterange"].includes(_ctx.type) && _ctx.state.date.length ? (openBlock(), createElementBlock("div", _hoisted_10$1, [createBaseVNode("div", _hoisted_11$1, [createBaseVNode(
+        "div",
+        _hoisted_12$1,
+        toDisplayString(_ctx.formatDate(_ctx.state.date[0], _ctx.t("ui.datepicker.yearMonthDay", {
+          year: "yyyy",
+          month: "MM",
+          day: "dd"
+        }))),
+        1
+        /* TEXT */
+      ), createBaseVNode("div", _hoisted_13$1, [["datetimerange"].includes(_ctx.type) ? (openBlock(), createElementBlock("div", _hoisted_14$1)) : (openBlock(), createElementBlock("div", _hoisted_15$1, [typeof _ctx.rangeSeparator === "string" ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        [createTextVNode(
+          toDisplayString(_ctx.rangeSeparator),
+          1
+          /* TEXT */
+        )],
+        64
+        /* STABLE_FRAGMENT */
+      )) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.rangeSeparator), {
+        key: 1
+      }))]))]), createBaseVNode("div", _hoisted_16$1, [_ctx.state.btnDisabled ? (openBlock(), createElementBlock(
+        "span",
+        _hoisted_17,
+        toDisplayString(_ctx.endPlaceholder),
+        1
+        /* TEXT */
+      )) : (openBlock(), createElementBlock(
+        "span",
+        _hoisted_18,
+        toDisplayString(_ctx.formatDate(_ctx.state.date[1], _ctx.t("ui.datepicker.yearMonthDay", {
+          year: "yyyy",
+          month: "MM",
+          day: "dd"
+        }))),
+        1
+        /* TEXT */
+      ))])]), _ctx.type === "datetimerange" ? (openBlock(), createElementBlock("div", _hoisted_19, [createBaseVNode(
+        "div",
+        {
+          class: "w-32 bg-color-bg-2",
+          onClick: _cache[1] || (_cache[1] = withModifiers(function($event) {
+            return _ctx.timeToggle(0);
+          }, ["stop"]))
+        },
+        toDisplayString(_ctx.state.timeList[0].join(":")),
+        1
+        /* TEXT */
+      ), _hoisted_20, createBaseVNode(
+        "div",
+        {
+          class: "w-32 bg-color-bg-2",
+          onClick: _cache[2] || (_cache[2] = withModifiers(function($event) {
+            return _ctx.timeToggle(1);
+          }, ["stop"]))
+        },
+        toDisplayString(_ctx.state.timeList[1].join(":")),
+        1
+        /* TEXT */
+      )])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), ["datetime"].includes(_ctx.type) && _ctx.state.date ? (openBlock(), createElementBlock("div", _hoisted_21, [createBaseVNode("div", _hoisted_22, [createBaseVNode(
+        "div",
+        _hoisted_23,
+        toDisplayString(_ctx.formatDate(_ctx.state.date, _ctx.t("ui.datepicker.yearMonthDay", {
+          year: "yyyy",
+          month: "MM",
+          day: "dd"
+        }))),
+        1
+        /* TEXT */
+      ), _hoisted_24, createBaseVNode(
+        "div",
+        {
+          class: "w-32 bg-color-bg-2",
+          onClick: _cache[3] || (_cache[3] = withModifiers(function($event) {
+            return _ctx.timeToggle(0);
+          }, ["stop"]))
+        },
+        toDisplayString(_ctx.state.timeList[0].join(":")),
+        1
+        /* TEXT */
+      )])])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_25, [createVNode(_component_tiny_button, {
+        tiny_mode: "mobile-first",
+        "custom-class": "w-full",
+        disabled: _ctx.state.btnDisabled,
+        type: "primary",
+        size: "medium",
+        "reset-time": 0,
+        onClick: _ctx.confirm
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.button.confirm")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["disabled", "onClick"])])])])];
+    }),
+    _: 2
+    /* DYNAMIC */
+  }, [_ctx.clearable ? {
+    name: "header-left",
+    fn: withCtx(function() {
+      return [createBaseVNode(
+        "div",
+        {
+          class: "cursor-pointer text-color-brand",
+          onClick: _cache[0] || (_cache[0] = function() {
+            return _ctx.clear && _ctx.clear.apply(_ctx, arguments);
+          })
+        },
+        toDisplayString(_ctx.t("ui.datepicker.clear")),
+        1
+        /* TEXT */
+      )];
+    }),
+    key: "0"
+  } : void 0]), 1032, ["title", "custom-class", "lock-scroll", "visible"]), createVNode(_component_tiny_time_picker_mobile, {
+    modelValue: _ctx.state.time,
+    "onUpdate:modelValue": _cache[5] || (_cache[5] = function($event) {
+      return _ctx.state.time = $event;
+    }),
+    title: _ctx.t("ui.datepicker.selectTime"),
+    step: _ctx.step,
+    "show-seconds": _ctx.showTimeSecond,
+    visible: _ctx.state.timeVisible,
+    "onUpdate:visible": _cache[6] || (_cache[6] = function($event) {
+      return _ctx.state.timeVisible = $event;
+    }),
+    onConfirm: _ctx.timeConfirm
+  }, null, 8, ["modelValue", "title", "step", "show-seconds", "visible", "onConfirm"])]);
+}
+var NormalTemplate = /* @__PURE__ */ _export_sfc$4(_sfc_main$1$2, [["render", _sfc_render$1$2]]);
+var _sfc_main$4 = defineComponent({
+  components: {
+    TinyOption: Option,
+    TinyActionSheet: ActionSheet,
+    TinyRecycleScroller: RecycleScroller,
+    TinyButton: Button
+  },
+  emits: ["click", "confirm", "update:visible", "update:modelValue", "time-confirm"],
+  props: [].concat(props, ["modelValue", "visible", "title", "type", "lockScroll", "pickerOptions"]),
+  setup: function setup23(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$6,
+      api: api$6
+    });
+  }
+});
+var _hoisted_1$3 = {
+  "data-tag": "tiny-date-picker-mobile year-month"
+};
+var _hoisted_2$3 = {
+  "data-tag": "tiny-date-picker-inner",
+  class: /* @__PURE__ */ normalizeClass(["flex flex-col overflow-hidden"])
+};
+var _hoisted_3$3 = {
+  ref: "datePickerBody",
+  "data-tag": "date-picker-body",
+  class: "flex-auto overflow-hidden px-4"
+};
+var _hoisted_4$2 = {
+  class: "mt-4"
+};
+var _hoisted_5$2 = {
+  class: "text-xl leading-7"
+};
+var _hoisted_6$2 = {
+  class: "text-center leading-9 text-xs font-medium"
+};
+var _hoisted_7 = ["onClick"];
+var _hoisted_8 = {
+  "data-tag": "date-picker-footer",
+  class: "w-full flex-none flex flex-col items-center justify-center p-4 border-t border-color-bg-4 shadow-sm"
+};
+var _hoisted_9 = {
+  key: 0,
+  "data-tag": "rang-box",
+  class: "w-full"
+};
+var _hoisted_10 = {
+  class: "w-full flex mb-4 h-6 leading-6 text-base text-center"
+};
+var _hoisted_11 = {
+  class: "min-w-[theme(spacing.32)]"
+};
+var _hoisted_12 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "flex-auto min-w-[theme(spacing.4)] justify-center"
+  },
+  "~",
+  -1
+  /* HOISTED */
+);
+var _hoisted_13 = {
+  class: "min-w-[theme(spacing.32)]"
+};
+var _hoisted_14 = {
+  key: 0,
+  class: "text-color-icon-placeholder"
+};
+var _hoisted_15 = {
+  key: 1
+};
+var _hoisted_16 = {
+  class: "w-full text-center"
+};
+function _sfc_render$4(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_option = resolveComponent("tiny-option");
+  var _component_tiny_recycle_scroller = resolveComponent("tiny-recycle-scroller");
+  var _component_tiny_button = resolveComponent("tiny-button");
+  var _component_tiny_action_sheet = resolveComponent("tiny-action-sheet");
+  return openBlock(), createElementBlock("div", _hoisted_1$3, [createVNode(_component_tiny_action_sheet, {
+    "custom-class": "h-full",
+    title: _ctx.title,
+    "lock-scroll": _ctx.lockScroll,
+    visible: _ctx.visible,
+    "onUpdate:visible": _cache[0] || (_cache[0] = function($event) {
+      return _ctx.$emit("update:visible", $event);
+    })
+  }, {
+    default: withCtx(function() {
+      return [createBaseVNode("div", _hoisted_2$3, [createBaseVNode(
+        "div",
+        _hoisted_3$3,
+        [createVNode(_component_tiny_recycle_scroller, {
+          ref: "recycleScroller",
+          "key-field": "id",
+          class: "h-full scrollbar-size-0",
+          style: normalizeStyle({
+            height: _ctx.state.scrollerHeight ? _ctx.state.scrollerHeight + "px" : null
+          }),
+          items: _ctx.state.computedYears,
+          "item-size": _ctx.state.itemSize,
+          buffer: _ctx.state.buffer,
+          onScrollStart: _ctx.scrollStart,
+          onScrollEnd: _ctx.scrollEnd
+        }, {
+          default: withCtx(function(scopeSlots) {
+            return [createBaseVNode("div", _hoisted_4$2, [createBaseVNode(
+              "div",
+              _hoisted_5$2,
+              toDisplayString(scopeSlots.item.year) + toDisplayString(_ctx.t("ui.datepicker.year")),
+              1
+              /* TEXT */
+            ), createBaseVNode("div", _hoisted_6$2, [(openBlock(), createElementBlock(
+              Fragment,
+              null,
+              renderList(2, function(v, row) {
+                return createBaseVNode("div", {
+                  key: row,
+                  class: normalizeClass(["flex mt-2"])
+                }, [(openBlock(), createElementBlock(
+                  Fragment,
+                  null,
+                  renderList(6, function(v2, col) {
+                    return createBaseVNode("div", {
+                      key: col,
+                      class: normalizeClass(["flex-1 h-9 cursor-pointer"]),
+                      onClick: withModifiers(function($event) {
+                        return _ctx.selectOption({
+                          value: scopeSlots.item.year,
+                          index: row * 6 + col
+                        });
+                      }, ["stop"])
+                    }, [createVNode(_component_tiny_option, {
+                      data: _ctx.state.years[scopeSlots.item.year][row * 6 + col]
+                    }, {
+                      default: withCtx(function(_ref2) {
+                        var data = _ref2.data;
+                        return [createBaseVNode(
+                          "div",
+                          {
+                            class: normalizeClass(["flex-1", {
+                              "bg-color-info-primary-subtler": !data.disabled && _ctx.state.date.length === 2 && ["end", "inner"].includes(_ctx.getSelectedPosition(data.value))
+                            }])
+                          },
+                          null,
+                          2
+                          /* CLASS */
+                        ), createBaseVNode(
+                          "div",
+                          {
+                            class: normalizeClass(_ctx.m("w-9 h-9", {
+                              "text-color-brand border-0.5 border-current": data.isToday
+                            }, {
+                              "bg-color-info-primary-subtler": ["inner"].includes(_ctx.getSelectedPosition(data.value))
+                            }, {
+                              "bg-color-brand text-color-text-inverse": ["start", "end"].includes(_ctx.getSelectedPosition(data.value))
+                            }, {
+                              "bg-white text-color-text-disabled cursor-not-allowed": data.disabled
+                            }))
+                          },
+                          [renderSlot(_ctx.$slots, "default", {
+                            data
+                          }, function() {
+                            return [createTextVNode(
+                              toDisplayString(data.month),
+                              1
+                              /* TEXT */
+                            )];
+                          })],
+                          2
+                          /* CLASS */
+                        ), createBaseVNode(
+                          "div",
+                          {
+                            class: normalizeClass(["flex-1", {
+                              "bg-color-info-primary-subtler": !data.disabled && _ctx.state.date.length === 2 && _ctx.state.selected.length > 1 && ["start", "inner"].includes(_ctx.getSelectedPosition(data.value))
+                            }])
+                          },
+                          null,
+                          2
+                          /* CLASS */
+                        )];
+                      }),
+                      _: 2
+                      /* DYNAMIC */
+                    }, 1032, ["data"])], 8, _hoisted_7);
+                  }),
+                  64
+                  /* STABLE_FRAGMENT */
+                ))]);
+              }),
+              64
+              /* STABLE_FRAGMENT */
+            ))])])];
+          }),
+          _: 3
+          /* FORWARDED */
+        }, 8, ["style", "items", "item-size", "buffer", "onScrollStart", "onScrollEnd"])],
+        512
+        /* NEED_PATCH */
+      ), createBaseVNode("div", _hoisted_8, [["year-month-range"].includes(_ctx.type) && _ctx.state.date.length ? (openBlock(), createElementBlock("div", _hoisted_9, [createBaseVNode("div", _hoisted_10, [createBaseVNode(
+        "div",
+        _hoisted_11,
+        toDisplayString(_ctx.formatDate(_ctx.state.date[0], _ctx.t("ui.datepicker.yearMonth", {
+          year: "yyyy",
+          month: "MM"
+        }))),
+        1
+        /* TEXT */
+      ), _hoisted_12, createBaseVNode("div", _hoisted_13, [_ctx.state.btnDisabled ? (openBlock(), createElementBlock(
+        "span",
+        _hoisted_14,
+        toDisplayString(_ctx.t("ui.datepicker.endTime")),
+        1
+        /* TEXT */
+      )) : (openBlock(), createElementBlock(
+        "span",
+        _hoisted_15,
+        toDisplayString(_ctx.formatDate(_ctx.state.date[1], _ctx.t("ui.datepicker.yearMonth", {
+          year: "yyyy",
+          month: "MM"
+        }))),
+        1
+        /* TEXT */
+      ))])])])) : createCommentVNode("v-if", true), createBaseVNode("div", _hoisted_16, [createVNode(_component_tiny_button, {
+        tiny_mode: "mobile-first",
+        "custom-class": "w-full",
+        disabled: _ctx.state.btnDisabled,
+        type: "primary",
+        size: "medium",
+        "reset-time": 0,
+        onClick: _ctx.confirm
+      }, {
+        default: withCtx(function() {
+          return [createTextVNode(
+            toDisplayString(_ctx.t("ui.button.confirm")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["disabled", "onClick"])])])])];
+    }),
+    _: 3
+    /* FORWARDED */
+  }, 8, ["title", "lock-scroll", "visible"])]);
+}
+var YearMonthTemplate = /* @__PURE__ */ _export_sfc$4(_sfc_main$4, [["render", _sfc_render$4]]);
+var $constants$2 = {
+  TYPE: {
+    DATE: "date",
+    DATE_TIME: "datetime",
+    DATE_RANGE: "daterange",
+    DATE_TIME_RANGE: "datetimerange",
+    YEAR_MONTH_RANGE: "year-month-range",
+    YEAR_MONTH: "year-month"
+  }
+};
+var template$2 = function template28(mode, props2) {
+  var _$constants$TYPE = $constants$2.TYPE, YEAR_MONTH_RANGE = _$constants$TYPE.YEAR_MONTH_RANGE, YEAR_MONTH = _$constants$TYPE.YEAR_MONTH;
+  return [YEAR_MONTH_RANGE, YEAR_MONTH].includes(props2.type) ? YearMonthTemplate : NormalTemplate;
+};
+var DatePickerMobile = defineComponent({
+  name: $prefix + "DatePickerMobile",
+  props: _extends$3({}, $props$1, {
+    _constants: {
+      type: Object,
+      default: function _default16() {
+        return $constants$2;
+      }
+    },
+    modelValue: [Number, String, Array, Date],
+    visible: {
+      type: Boolean,
+      default: false
+    },
+    title: String,
+    type: {
+      type: String,
+      default: "date",
+      validator: function validator6(value) {
+        return !value || ~Object.values($constants$2.TYPE).indexOf(value);
+      }
+    },
+    clearable: {
+      type: Boolean,
+      default: false
+    },
+    lockScroll: {
+      type: Boolean,
+      default: true
+    },
+    pickerOptions: {
+      type: Object,
+      default: function _default26() {
+        return {
+          disabledDate: null
+        };
+      }
+    },
+    customClass: [String, Object, Array],
+    step: {
+      type: Object,
+      default: function _default35() {
+        return {
+          hour: 1,
+          minute: 1,
+          second: 1
+        };
+      }
+    },
+    endPlaceholder: {
+      type: String,
+      default: function _default43() {
+        return t("ui.datepicker.endTime");
+      }
+    },
+    rangeSeparator: {
+      type: [Object, String],
+      default: "~"
+    },
+    showTimeSecond: {
+      type: Boolean,
+      default: true
+    }
+  }),
+  setup: function setup32(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$2
+    });
+  }
+});
+var version$4 = "3.16.0";
+DatePickerMobile.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+DatePickerMobile.install = function(Vue) {
+  Vue.component(DatePickerMobile.name, DatePickerMobile);
+};
+DatePickerMobile.version = version$4;
+var pickerProps = {
+  type: {
+    type: String,
+    default: "date"
+  },
+  tabindex: {
+    type: String,
+    default: "1"
+  },
+  timeArrowControl: Boolean,
+  timeEditable: {
+    type: Boolean,
+    default: true
+  },
+  size: String,
+  format: String,
+  valueFormat: String,
+  timeFormat: String,
+  readonly: Boolean,
+  placeholder: String,
+  startPlaceholder: String,
+  endPlaceholder: String,
+  prefixIcon: Object,
+  suffixIcon: Object,
+  label: String,
+  shape: String,
+  tip: String,
+  clearIcon: {
+    type: Object,
+    default: function _default17() {
+      return index$n();
+    }
+  },
+  name: {
+    default: "",
+    validator: function validator7(value) {
+      return value === null || value === void 0 || typeof value === "string" || value instanceof String || Array.isArray(value) && value.length === 2 && value.every(function(item) {
+        return typeof item === "string" || item instanceof String;
+      });
+    }
+  },
+  clearable: {
+    type: Boolean,
+    default: true
+  },
+  changeOnConfirm: {
+    type: Boolean,
+    default: false
+  },
+  disabled: Boolean,
+  id: {
+    default: "",
+    validator: function validator23(value) {
+      return value === null || value === void 0 || typeof value === "string" || value instanceof String || Array.isArray(value) && value.length === 2 && value.every(function(item) {
+        return typeof item === "string" || item instanceof String;
+      });
+    }
+  },
+  popperClass: String,
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  },
+  align: {
+    type: String,
+    default: "left"
+  },
+  editable: {
+    type: Boolean,
+    default: true
+  },
+  modelValue: {},
+  defaultValue: {},
+  defaultTime: {},
+  rangeSeparator: {
+    type: [Object, String],
+    default: "-"
+  },
+  unlinkPanels: Boolean,
+  pickerOptions: {},
+  validateEvent: {
+    type: Boolean,
+    default: true
+  },
+  isRange: Boolean,
+  arrowControl: Boolean,
+  timezoneData: {},
+  showTimezone: {
+    type: Boolean,
+    default: false
+  },
+  defaultTimezone: String,
+  isutc8: {
+    type: Boolean,
+    default: false
+  },
+  dbTimezone: Number,
+  timezone: Number,
+  timezoneOffset: Number,
+  iso8601: Boolean,
+  displayOnly: {
+    type: Boolean,
+    default: false
+  },
+  step: {
+    type: Object,
+    default: function _default27() {
+      return {
+        hour: 1,
+        minute: 1,
+        second: 1
+      };
+    }
+  },
+  showWeekNumber: {
+    type: Boolean,
+    default: false
+  },
+  formatWeeks: Function,
+  autoFormat: {
+    type: Boolean,
+    default: false
+  },
+  title: String,
+  blank: {
+    type: Boolean,
+    default: false
+  },
+  changeCompat: {
+    type: Boolean,
+    default: false
+  }
+};
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc222(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$1$1 = defineComponent({
+  components: {
+    TinyInput: Input,
+    TinyFilterBox: FilterBox,
+    TinyTooltip: Tooltip,
+    IconCalendar: index$g(),
+    IconTime: index$e()
+  },
+  emits: ["created", "select-change", "update:modelValue", "blur", "focus", "change"],
+  props: pickerProps,
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  setup: function setup$122(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$j,
+      api: api$j,
+      extendOptions: {
+        DatePanel,
+        DateRangePanel: DateRange,
+        MonthRangePanel: MonthRange,
+        YearRangePanel: YearRange,
+        TimePanel: Time,
+        TimeRangePanel: TimeRange,
+        QuarterPanel: QuerterPanel,
+        TimeSelect: TimePanel
+      }
+    });
+  }
+});
+var _hoisted_1$1$1 = {
+  ref: "reference",
+  class: "tiny-date-container"
+};
+var _hoisted_2$1$1 = {
+  class: "tiny-input__icon-container"
+};
+var _hoisted_3$1 = ["placeholder", "value", "disabled", "readonly", "name"];
+var _hoisted_4 = {
+  key: 0,
+  class: "tiny-range-separator"
+};
+var _hoisted_5 = ["placeholder", "value", "disabled", "readonly", "name"];
+var _hoisted_6 = {
+  key: 1,
+  class: "tiny-input__icon tiny-range__icon tiny-input__suffix"
+};
+function _sfc_render$1$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_filter_box = resolveComponent("tiny-filter-box");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createElementBlock(
+    "div",
+    _hoisted_1$1$1,
+    [_ctx.shape === "filter" ? withDirectives((openBlock(), createBlock(_component_tiny_filter_box, {
+      key: 0,
+      onClick: _ctx.handleFocus,
+      "show-close": _ctx.clearable,
+      placeholder: _ctx.placeholder,
+      disabled: _ctx.state.pickerDisabled,
+      label: _ctx.label,
+      tip: _ctx.tip,
+      value: _ctx.state.displayValue.toString(),
+      "drop-down-visible": _ctx.state.pickerVisible,
+      blank: _ctx.blank
+    }, null, 8, ["onClick", "show-close", "placeholder", "disabled", "label", "tip", "value", "drop-down-visible", "blank"])), [[_directive_clickoutside, _ctx.handleClose]]) : !_ctx.state.ranged ? withDirectives((openBlock(), createBlock(_component_tiny_input, mergeProps({
+      key: 1,
+      tabindex: _ctx.tabindex,
+      class: ["tiny-date-editor", "tiny-date-editor--" + _ctx.state.type],
+      readonly: !_ctx.editable || _ctx.readonly || _ctx.state.type === "dates" || _ctx.state.type === "week",
+      disabled: _ctx.state.pickerDisabled,
+      size: _ctx.state.pickerSize,
+      name: _ctx.name
+    }, _ctx.state.firstInputId, {
+      placeholder: _ctx.placeholder,
+      onFocus: _ctx.handleFocus,
+      onKeydown: _ctx.handleKeydown,
+      "model-value": _ctx.state.displayValue,
+      title: _ctx.state.type === "date" ? "" : _ctx.state.displayValue,
+      "display-only": _ctx.state.isDisplayOnly,
+      "display-only-content": _ctx.state.displayValue,
+      onInput: _ctx.handleInput,
+      onChange: _ctx.handleChange,
+      onMouseenter: _ctx.handleMouseEnter,
+      onMouseleave: _cache[2] || (_cache[2] = function($event) {
+        return _ctx.state.showClose = false;
+      }),
+      "validate-event": false
+    }), createSlots({
+      suffix: withCtx(function() {
+        return [createBaseVNode("i", _hoisted_2$1$1, [createVNode(Transition, {
+          name: "tiny-transition-icon-scale-in"
+        }, {
+          default: withCtx(function() {
+            return [_ctx.state.haveTrigger ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.showClose ? _ctx.clearIcon : null), {
+              key: 0,
+              onClick: _ctx.handleClickIcon,
+              onMouseenter: _cache[0] || (_cache[0] = function($event) {
+                return _ctx.state.showClose = true;
+              }),
+              onMouseleave: _cache[1] || (_cache[1] = function($event) {
+                return _ctx.state.showClose = false;
+              }),
+              class: "baseClearicon"
+            }, null, 40, ["onClick"])) : createCommentVNode("v-if", true)];
+          }),
+          _: 1
+          /* STABLE */
+        }), (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.triggerClass), {
+          onClick: _ctx.handleFocus,
+          class: "tiny-svg-size"
+        }, null, 8, ["onClick"]))])];
+      }),
+      _: 2
+      /* DYNAMIC */
+    }, [_ctx.label ? {
+      name: "prefix",
+      fn: withCtx(function() {
+        return [createVNode(_component_tiny_tooltip, {
+          effect: "light",
+          content: _ctx.state.labelTooltip,
+          placement: "top",
+          onMouseenter: _ctx.handleEnterPickerlabel
+        }, {
+          default: withCtx(function() {
+            return [createBaseVNode(
+              "span",
+              {
+                class: "tiny-input__label",
+                ref: "label"
+              },
+              toDisplayString(_ctx.label),
+              513
+              /* TEXT, NEED_PATCH */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["content", "onMouseenter"])];
+      }),
+      key: "0"
+    } : void 0]), 1040, ["tabindex", "class", "readonly", "disabled", "size", "name", "placeholder", "onFocus", "onKeydown", "model-value", "title", "display-only", "display-only-content", "onInput", "onChange", "onMouseenter"])), [[_directive_clickoutside, _ctx.handleClose]]) : withDirectives((openBlock(), createElementBlock(
+      "div",
+      {
+        key: 2,
+        class: normalizeClass(["tiny-date-editor tiny-range-editor tiny-input tiny-input__inner", ["tiny-date-editor--" + _ctx.state.type, _ctx.state.pickerSize ? "tiny-range-editor--" + _ctx.state.pickerSize : "", _ctx.state.pickerDisabled ? "is-disabled" : "", _ctx.state.pickerVisible ? "is-active" : "", _ctx.state.isDisplayOnly ? "is-display-only" : ""]]),
+        onClick: _cache[10] || (_cache[10] = function() {
+          return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+        }),
+        onMouseenter: _cache[11] || (_cache[11] = function() {
+          return _ctx.handleMouseEnter && _ctx.handleMouseEnter.apply(_ctx, arguments);
+        }),
+        onMouseleave: _cache[12] || (_cache[12] = function($event) {
+          return _ctx.state.showClose = false;
+        }),
+        onKeydown: _cache[13] || (_cache[13] = function() {
+          return _ctx.handleKeydown && _ctx.handleKeydown.apply(_ctx, arguments);
+        })
+      },
+      [createVNode(_component_tiny_tooltip, {
+        effect: "light",
+        content: _ctx.state.labelTooltip,
+        placement: "top",
+        onMouseenter: _ctx.handleEnterPickerlabel
+      }, {
+        default: withCtx(function() {
+          return [_ctx.label ? (openBlock(), createElementBlock(
+            "span",
+            {
+              key: 0,
+              class: "tiny-input__label",
+              ref: "label"
+            },
+            toDisplayString(_ctx.label),
+            513
+            /* TEXT, NEED_PATCH */
+          )) : createCommentVNode("v-if", true)];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content", "onMouseenter"]), createBaseVNode("input", mergeProps({
+        autocomplete: "off",
+        placeholder: _ctx.startPlaceholder,
+        value: _ctx.state.displayValue && _ctx.state.displayValue[0],
+        disabled: _ctx.state.pickerDisabled
+      }, _ctx.state.firstInputId, {
+        readonly: !_ctx.editable || _ctx.readonly,
+        name: _ctx.name && _ctx.name[0],
+        onInput: _cache[3] || (_cache[3] = function() {
+          return _ctx.handleStartInput && _ctx.handleStartInput.apply(_ctx, arguments);
+        }),
+        onChange: _cache[4] || (_cache[4] = function() {
+          return _ctx.handleStartChange && _ctx.handleStartChange.apply(_ctx, arguments);
+        }),
+        onFocus: _cache[5] || (_cache[5] = function() {
+          return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+        }),
+        class: "tiny-range-input"
+      }), null, 16, _hoisted_3$1), renderSlot(_ctx.$slots, "range-separator", {}, function() {
+        return [typeof _ctx.rangeSeparator === "string" ? (openBlock(), createElementBlock(
+          "span",
+          _hoisted_4,
+          toDisplayString(_ctx.rangeSeparator),
+          1
+          /* TEXT */
+        )) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.rangeSeparator), {
+          key: 1
+        }))];
+      }), createBaseVNode("input", mergeProps({
+        autocomplete: "off",
+        placeholder: _ctx.endPlaceholder,
+        value: _ctx.state.displayValue && _ctx.state.displayValue[1],
+        disabled: _ctx.state.pickerDisabled
+      }, _ctx.state.secondInputId, {
+        readonly: !_ctx.editable || _ctx.readonly,
+        name: _ctx.name && _ctx.name[1],
+        onInput: _cache[6] || (_cache[6] = function() {
+          return _ctx.handleEndInput && _ctx.handleEndInput.apply(_ctx, arguments);
+        }),
+        onChange: _cache[7] || (_cache[7] = function() {
+          return _ctx.handleEndChange && _ctx.handleEndChange.apply(_ctx, arguments);
+        }),
+        onFocus: _cache[8] || (_cache[8] = function() {
+          return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+        }),
+        class: "tiny-range-input"
+      }), null, 16, _hoisted_5), _ctx.state.haveTrigger ? (openBlock(), createElementBlock("i", {
+        key: 0,
+        onClick: _cache[9] || (_cache[9] = function() {
+          return _ctx.handleClickIcon && _ctx.handleClickIcon.apply(_ctx, arguments);
+        }),
+        class: "tiny-input__icon tiny-range__close-icon"
+      }, [createVNode(Transition, {
+        name: "tiny-transition-icon-scale-in"
+      }, {
+        default: withCtx(function() {
+          return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.showClose ? _ctx.clearIcon : null)))];
+        }),
+        _: 1
+        /* STABLE */
+      })])) : createCommentVNode("v-if", true), !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock("i", _hoisted_6, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.triggerClass)))])) : createCommentVNode("v-if", true), _ctx.state.isDisplayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+        key: 2,
+        class: "tiny-range-editor-display-only",
+        content: _ctx.state.displayOnlyTooltip,
+        effect: "light",
+        placement: "top",
+        onMouseenter: _ctx.handleEnterDisplayOnlyContent
+      }, {
+        default: withCtx(function() {
+          return [createBaseVNode(
+            "span",
+            null,
+            toDisplayString(_ctx.state.displayValue && _ctx.state.displayValue.join(" " + _ctx.t("ui.datepicker.to") + " ")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content", "onMouseenter"])) : createCommentVNode("v-if", true)],
+      34
+      /* CLASS, NEED_HYDRATION */
+    )), [[_directive_clickoutside, _ctx.handleClose]]), (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.panel), {
+      step: _ctx.step,
+      "show-week-number": _ctx.showWeekNumber,
+      "time-editable": _ctx.timeEditable,
+      "format-weeks": _ctx.formatWeeks,
+      ref: "picker",
+      visible: _ctx.state.pickerVisible,
+      onPick: _ctx.handlePick,
+      onSelectRange: _ctx.handleSelectRange,
+      onSelectChange: _ctx.handleSelectChange
+    }, null, 40, ["step", "show-week-number", "time-editable", "format-weeks", "visible", "onPick", "onSelectRange", "onSelectChange"]))],
+    512
+    /* NEED_PATCH */
+  );
+}
+var pc = /* @__PURE__ */ _export_sfc$3(_sfc_main$1$1, [["render", _sfc_render$1$1]]);
+var classes = {
+  "input-label": "text-color-text-placeholder text-xs sm:text-sm mr-2 inline-block text-left max-w-[100px] truncate",
+  "range-editor": "bg-color-bg-1 relative inline-flex items-center py-1 sm:px-3 border-0 sm:border border-color-border hover:border-color-border-hover rounded mt-0.5",
+  "range-input": "appearance-none border-none outline-0 p-0 w-[35%] text-color-text-primary focus:border-color-brand-focus disabled:border-color-border placeholder:text-color-text-placeholder disabled:cursor-not-allowed text-sm sm:placeholder:text-sm sm:text-sm h-full m-0 truncate disabled:text-color-icon-placeholder disabled:bg-transparent sm:disabled:bg-color-border-disabled",
+  "datetimerange": "w-full sm:w-96 sm:max-w-full",
+  "range-separator": "px-1 leading-5 w-[12%] text-color-text-primary text-xs sm:text-sm h-full m-0",
+  "close-icon": "absolute right-1.5 text-base w-6 float-right leading-8 mr-5 flex justify-center items-center cursor-pointer",
+  "suffix": "absolute top-1/2 -translate-y-2/4 transition-all duration-300 text-center text-color-text-secondary flex items-center right-2 pointer-events-none z-[1]",
+  "is-disabled": "sm:bg-color-border-disabled border-color-border text-color-text-disabled cursor-not-allowed focus:border-color-border hover:border-color-border",
+  "is-active": "border-color-border-focus",
+  "is-display-only": "leading-7 relative inline border-0 sm:border-0 text-color-text-primary bg-transparent hover:bg-transparent px-0 py-0"
+};
+var _sfc_main$3 = defineComponent({
+  components: {
+    TinyInput: Input,
+    TinyFilterBox: FilterBox,
+    TinyDatePickerMobile: DatePickerMobile,
+    TinyTimePickerMobile: TimePickerMobile,
+    IconCalendar: index$g(),
+    IconTime: index$e(),
+    IconClose: index$n(),
+    TinyTooltip: Tooltip
+  },
+  emits: ["created", "select-change", "update:modelValue", "blur", "focus", "change"],
+  props: pickerProps,
+  directives: directive({
+    Clickoutside: clickoutside_default
+  }),
+  setup: function setup$123(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$j,
+      api: api$j,
+      classes,
+      extendOptions: {
+        DatePanel,
+        DateRangePanel: DateRange,
+        MonthRangePanel: MonthRange,
+        YearRangePanel: YearRange,
+        TimePanel: Time,
+        TimeRangePanel: TimeRange,
+        TimeSelect: TimePanel
+      }
+    });
+  }
+});
+var _hoisted_1$2 = {
+  "data-tag": "icon",
+  class: "flex items-center cursor-pointer"
+};
+var _hoisted_2$2 = ["placeholder", "value", "title", "disabled", "readonly", "name"];
+var _hoisted_3$2 = ["placeholder", "value", "title", "disabled", "readonly", "name"];
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_filter_box = resolveComponent("tiny-filter-box");
+  var _component_tiny_tooltip = resolveComponent("tiny-tooltip");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_tiny_date_picker_mobile = resolveComponent("tiny-date-picker-mobile");
+  var _component_tiny_time_picker_mobile = resolveComponent("tiny-time-picker-mobile");
+  var _directive_clickoutside = resolveDirective("clickoutside");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      ref: "reference",
+      "data-tag": "tiny-date-container",
+      class: normalizeClass(_ctx.state.isDisplayOnly ? "inline" : "")
+    },
+    [_ctx.shape === "filter" ? withDirectives((openBlock(), createBlock(_component_tiny_filter_box, {
+      key: 0,
+      onClick: _ctx.handleFocus,
+      "show-close": _ctx.clearable,
+      placeholder: _ctx.placeholder,
+      disabled: _ctx.state.pickerDisabled,
+      label: _ctx.label,
+      tip: _ctx.tip,
+      value: _ctx.state.displayValue.toString(),
+      "drop-down-visible": _ctx.state.pickerVisible,
+      blank: _ctx.blank
+    }, null, 8, ["onClick", "show-close", "placeholder", "disabled", "label", "tip", "value", "drop-down-visible", "blank"])), [[_directive_clickoutside, _ctx.handleClose]]) : !_ctx.state.ranged ? withDirectives((openBlock(), createBlock(_component_tiny_input, mergeProps({
+      key: 1,
+      tabindex: _ctx.tabindex,
+      "data-tag": "tiny-date-editor",
+      readonly: _ctx.state.isMobileScreen || !_ctx.editable || _ctx.readonly || _ctx.state.type === "dates" || _ctx.state.type === "week",
+      disabled: _ctx.state.pickerDisabled,
+      size: _ctx.state.pickerSize,
+      name: _ctx.name
+    }, _ctx.state.firstInputId, {
+      placeholder: _ctx.placeholder,
+      onFocus: _ctx.handleFocus,
+      onKeydown: _ctx.handleKeydown,
+      "model-value": _ctx.state.displayValue,
+      title: _ctx.state.type === "date" ? "" : _ctx.state.displayValue,
+      "display-only": _ctx.state.isDisplayOnly,
+      "display-only-content": _ctx.state.displayValue,
+      onInput: _ctx.handleInput,
+      onChange: _ctx.handleChange,
+      onMouseenter: _ctx.handleMouseEnter,
+      onMouseleave: _cache[2] || (_cache[2] = function($event) {
+        return _ctx.state.showClose = false;
+      }),
+      "validate-event": false,
+      "custom-class": "sm:border " + _ctx.gcls(_ctx.state.type)
+    }), createSlots({
+      suffix: withCtx(function() {
+        return [createBaseVNode("i", _hoisted_1$2, [!_ctx.state.isMobileScreen ? (openBlock(), createBlock(Transition, {
+          key: 0,
+          name: "tiny-transition-icon-scale-in"
+        }, {
+          default: withCtx(function() {
+            return [_ctx.state.haveTrigger ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.showClose ? _ctx.clearIcon : null), {
+              key: 0,
+              onClick: _ctx.handleClickIcon,
+              onMouseenter: _cache[0] || (_cache[0] = function($event) {
+                return _ctx.state.showClose = true;
+              }),
+              onMouseleave: _cache[1] || (_cache[1] = function($event) {
+                return _ctx.state.showClose = false;
+              }),
+              class: "fill-color-text-placeholder hover:fill-color-text-primary"
+            }, null, 40, ["onClick"])) : createCommentVNode("v-if", true)];
+          }),
+          _: 1
+          /* STABLE */
+        })) : createCommentVNode("v-if", true), (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.triggerClass), {
+          onClick: _ctx.handleFocus,
+          "custom-class": "h-5 w-5 sm:h-4 sm:w-4",
+          class: normalizeClass(!_ctx.state.isDisplayOnly && _ctx.state.pickerDisabled ? "fill-color-icon-placeholder sm:fill-color-icon-disabled" : "fill-color-icon-secondary sm:fill-color-text-placeholder")
+        }, null, 8, ["onClick", "class"]))])];
+      }),
+      _: 2
+      /* DYNAMIC */
+    }, [_ctx.label ? {
+      name: "prefix",
+      fn: withCtx(function() {
+        return [createVNode(_component_tiny_tooltip, {
+          effect: "light",
+          content: _ctx.state.labelTooltip,
+          placement: "top",
+          onMouseenter: _ctx.handleEnterPickerlabel
+        }, {
+          default: withCtx(function() {
+            return [createBaseVNode(
+              "span",
+              {
+                "data-tag": "tiny-input__label",
+                class: normalizeClass(_ctx.gcls("input-label")),
+                ref: "label"
+              },
+              toDisplayString(_ctx.label),
+              3
+              /* TEXT, CLASS */
+            )];
+          }),
+          _: 1
+          /* STABLE */
+        }, 8, ["content", "onMouseenter"])];
+      }),
+      key: "0"
+    } : void 0]), 1040, ["tabindex", "readonly", "disabled", "size", "name", "placeholder", "onFocus", "onKeydown", "model-value", "title", "display-only", "display-only-content", "onInput", "onChange", "onMouseenter", "custom-class"])), [[_directive_clickoutside, _ctx.handleClose]]) : withDirectives((openBlock(), createElementBlock(
+      "div",
+      {
+        key: 2,
+        "data-tag": "tiny-date-editor tiny-range-editor tiny-input tiny-input__inner",
+        class: normalizeClass(_ctx.m(_ctx.gcls("range-editor"), _ctx.gcls(_ctx.state.type), _ctx.state.pickerVisible && _ctx.gcls("is-active"), !_ctx.state.isDisplayOnly && _ctx.state.pickerDisabled && _ctx.gcls("is-disabled"), _ctx.state.isDisplayOnly && _ctx.gcls("is-display-only"))),
+        onClick: _cache[10] || (_cache[10] = function() {
+          return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+        }),
+        onMouseenter: _cache[11] || (_cache[11] = function() {
+          return _ctx.handleMouseEnter && _ctx.handleMouseEnter.apply(_ctx, arguments);
+        }),
+        onMouseleave: _cache[12] || (_cache[12] = function($event) {
+          return _ctx.state.showClose = false;
+        }),
+        onKeydown: _cache[13] || (_cache[13] = function() {
+          return _ctx.handleKeydown && _ctx.handleKeydown.apply(_ctx, arguments);
+        })
+      },
+      [createVNode(_component_tiny_tooltip, {
+        effect: "light",
+        content: _ctx.state.labelTooltip,
+        placement: "top",
+        onMouseenter: _ctx.handleEnterPickerlabel
+      }, {
+        default: withCtx(function() {
+          return [_ctx.label ? (openBlock(), createElementBlock(
+            "span",
+            {
+              key: 0,
+              "data-tag": "tiny-input__label",
+              ref: "label"
+            },
+            toDisplayString(_ctx.label),
+            513
+            /* TEXT, NEED_PATCH */
+          )) : createCommentVNode("v-if", true)];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content", "onMouseenter"]), !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        [createBaseVNode("input", mergeProps({
+          autocomplete: "off",
+          placeholder: _ctx.startPlaceholder,
+          value: _ctx.state.displayValue && _ctx.state.displayValue[0],
+          title: _ctx.state.displayValue && _ctx.state.displayValue[0],
+          disabled: _ctx.state.pickerDisabled
+        }, _ctx.state.firstInputId, {
+          readonly: _ctx.state.isMobileScreen || !_ctx.editable || _ctx.readonly,
+          name: _ctx.name && _ctx.name[0],
+          onInput: _cache[3] || (_cache[3] = function() {
+            return _ctx.handleStartInput && _ctx.handleStartInput.apply(_ctx, arguments);
+          }),
+          onChange: _cache[4] || (_cache[4] = function() {
+            return _ctx.handleStartChange && _ctx.handleStartChange.apply(_ctx, arguments);
+          }),
+          onFocus: _cache[5] || (_cache[5] = function() {
+            return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+          }),
+          "data-tag": "tiny-range-input",
+          class: _ctx.gcls("range-input")
+        }), null, 16, _hoisted_2$2), renderSlot(_ctx.$slots, "range-separator", {}, function() {
+          return [typeof _ctx.rangeSeparator === "string" ? (openBlock(), createElementBlock(
+            "span",
+            {
+              key: 0,
+              "data-tag": "tiny-range-separator",
+              class: normalizeClass(_ctx.m(_ctx.gcls("range-separator"), {
+                "text-center": _ctx.type === "datetimerange"
+              }, {
+                "text-color-icon-placeholder": !_ctx.state.isDisplayOnly && _ctx.state.pickerDisabled
+              }))
+            },
+            toDisplayString(_ctx.rangeSeparator),
+            3
+            /* TEXT, CLASS */
+          )) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.rangeSeparator), {
+            key: 1
+          }))];
+        }), createBaseVNode("input", mergeProps({
+          autocomplete: "off",
+          placeholder: _ctx.endPlaceholder,
+          value: _ctx.state.displayValue && _ctx.state.displayValue[1],
+          title: _ctx.state.displayValue && _ctx.state.displayValue[1],
+          disabled: _ctx.state.pickerDisabled
+        }, _ctx.state.secondInputId, {
+          readonly: _ctx.state.isMobileScreen || !_ctx.editable || _ctx.readonly,
+          name: _ctx.name && _ctx.name[1],
+          onInput: _cache[6] || (_cache[6] = function() {
+            return _ctx.handleEndInput && _ctx.handleEndInput.apply(_ctx, arguments);
+          }),
+          onChange: _cache[7] || (_cache[7] = function() {
+            return _ctx.handleEndChange && _ctx.handleEndChange.apply(_ctx, arguments);
+          }),
+          onFocus: _cache[8] || (_cache[8] = function() {
+            return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+          }),
+          "data-tag": "tiny-range-input",
+          class: _ctx.gcls("range-input")
+        }), null, 16, _hoisted_3$2), !_ctx.state.isMobileScreen && _ctx.state.haveTrigger ? (openBlock(), createElementBlock(
+          "i",
+          {
+            key: 0,
+            onClick: _cache[9] || (_cache[9] = function() {
+              return _ctx.handleClickIcon && _ctx.handleClickIcon.apply(_ctx, arguments);
+            }),
+            "data-tag": "tiny-input__icon tiny-range__close-icon",
+            class: normalizeClass(_ctx.gcls("close-icon"))
+          },
+          [createVNode(Transition, {
+            name: "tiny-transition-icon-scale-in"
+          }, {
+            default: withCtx(function() {
+              return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.showClose ? _ctx.clearIcon : null), {
+                "custom-class": "fill-color-text-placeholder"
+              }))];
+            }),
+            _: 1
+            /* STABLE */
+          })],
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true), !_ctx.state.isDisplayOnly ? (openBlock(), createElementBlock(
+          "i",
+          {
+            key: 1,
+            "data-tag": "tiny-input__icon tiny-range__icon tiny-input__suffix",
+            class: normalizeClass(_ctx.gcls("suffix"))
+          },
+          [(openBlock(), createBlock(resolveDynamicComponent(_ctx.state.triggerClass), {
+            "custom-class": "h-5 w-5 sm:h-4 sm:w-4",
+            class: normalizeClass(!_ctx.state.isDisplayOnly && _ctx.state.pickerDisabled ? "fill-color-icon-placeholder sm:fill-color-icon-secondary" : "fill-color-icon-secondary sm:fill-color-text-placeholder")
+          }, null, 8, ["class"]))],
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true)],
+        64
+        /* STABLE_FRAGMENT */
+      )) : createCommentVNode("v-if", true), _ctx.state.isDisplayOnly ? (openBlock(), createBlock(_component_tiny_tooltip, {
+        key: 1,
+        "data-tag": "tiny-range-editor-display-only",
+        content: _ctx.state.displayOnlyTooltip,
+        effect: "light",
+        placement: "top",
+        onMouseenter: _ctx.handleEnterDisplayOnlyContent
+      }, {
+        default: withCtx(function() {
+          return [createBaseVNode(
+            "span",
+            null,
+            toDisplayString(_ctx.state.displayValue && _ctx.state.displayValue.join(" " + _ctx.t("ui.datepicker.to") + " ")),
+            1
+            /* TEXT */
+          )];
+        }),
+        _: 1
+        /* STABLE */
+      }, 8, ["content", "onMouseenter"])) : createCommentVNode("v-if", true)],
+      34
+      /* CLASS, NEED_HYDRATION */
+    )), [[_directive_clickoutside, _ctx.handleClose]]), !_ctx.state.isMobileScreen ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.state.panel), {
+      key: 3,
+      step: _ctx.step,
+      "show-week-number": _ctx.showWeekNumber,
+      "format-weeks": _ctx.formatWeeks,
+      ref: "picker",
+      visible: _ctx.state.pickerVisible,
+      class: "tiny-tw",
+      onPick: _ctx.handlePick,
+      onSelectRange: _ctx.handleSelectRange,
+      onSelectChange: _ctx.handleSelectChange
+    }, null, 40, ["step", "show-week-number", "format-weeks", "visible", "onPick", "onSelectRange", "onSelectChange"])) : createCommentVNode("v-if", true), _ctx.state.isMobileScreen && _ctx.state.isDateMobileComponent ? (openBlock(), createBlock(_component_tiny_date_picker_mobile, {
+      key: 4,
+      ref: "datePickerMobile",
+      modelValue: _ctx.state.dateMobileOption.value,
+      "onUpdate:modelValue": _cache[14] || (_cache[14] = function($event) {
+        return _ctx.state.dateMobileOption.value = $event;
+      }),
+      title: _ctx.title,
+      clearable: _ctx.clearable,
+      step: _ctx.step,
+      "show-time-second": _ctx.state.showSeconds,
+      "range-separator": _ctx.rangeSeparator,
+      "end-placeholder": _ctx.endPlaceholder,
+      "custom-class": "max-h-[80%]",
+      type: _ctx.state.dateMobileOption.type,
+      visible: _ctx.state.dateMobileOption.visible,
+      "picker-options": _ctx.pickerOptions,
+      onConfirm: _ctx.emitInput,
+      onClear: _ctx.emitInput,
+      "onUpdate:visible": _ctx.dateMobileToggle
+    }, null, 8, ["modelValue", "title", "clearable", "step", "show-time-second", "range-separator", "end-placeholder", "type", "visible", "picker-options", "onConfirm", "onClear", "onUpdate:visible"])) : createCommentVNode("v-if", true), _ctx.state.isMobileScreen && _ctx.state.isTimeMobileComponent ? (openBlock(), createBlock(_component_tiny_time_picker_mobile, {
+      key: 5,
+      ref: "datePickerMobile",
+      modelValue: _ctx.state.timeMobileOption.value,
+      "onUpdate:modelValue": _cache[15] || (_cache[15] = function($event) {
+        return _ctx.state.timeMobileOption.value = $event;
+      }),
+      title: _ctx.title,
+      clearable: _ctx.clearable,
+      step: _ctx.step,
+      "show-seconds": _ctx.state.showSeconds,
+      "custom-class": "max-h-[80%]",
+      type: _ctx.state.timeMobileOption.type,
+      visible: _ctx.state.timeMobileOption.visible,
+      onConfirm: _ctx.timeMobileConfirm,
+      "onUpdate:visible": _ctx.timeMobileToggle
+    }, null, 8, ["modelValue", "title", "clearable", "step", "show-seconds", "type", "visible", "onConfirm", "onUpdate:visible"])) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc$3(_sfc_main$3, [["render", _sfc_render$3]]);
+function _extends$2() {
+  _extends$2 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$2.apply(this, arguments);
+}
+var template$1 = function template29(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc;
+};
+var Picker = defineComponent({
+  name: $prefix + "Picker",
+  componentName: "Picker",
+  props: _extends$2({}, $props$1, pickerProps),
+  setup: function setup9(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$3 = "3.16.0";
+Picker.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Picker.install = function(Vue) {
+  Vue.component(Picker.name, Picker);
+};
+Picker.version = version$3;
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var DatePicker$1 = extend(true, {
+  props: _extends$1({}, $props$1, {
+    _constants: {
+      type: Object,
+      default: function _default18() {
+        return {};
+      }
+    },
+    componentName: {
+      type: String,
+      default: "DatePicker"
+    }
+  })
+}, Picker);
+const getMonthEndDay = (constants) => (year, month) => constants.MonthDay - new Date(year, month - 1, constants.MonthDay).getDate();
+const getTrueValue = (value) => {
+  if (!value) {
+    return 0;
+  }
+  while (isNaN(parseInt(value, 10))) {
+    if (value.length > 1) {
+      value = value.slice(1);
+    } else {
+      return 0;
+    }
+  }
+  return parseInt(value, 10);
+};
+const getBoundary = ({ api: api2, constants, props: props2 }) => ({
+  type,
+  value: val
+}) => {
+  const boundary = props2[`${type}${constants.CapDate}`];
+  const year = boundary.getFullYear();
+  let month = 1;
+  let date = 1;
+  let hour = 0;
+  let minute = 0;
+  if (type === constants.Max) {
+    month = constants.TotalMonth;
+    date = api2.getMonthEndDay(val.getFullYear(), val.getMonth() + 1);
+    hour = constants.Hours;
+    minute = constants.Minutes;
+  }
+  if (val.getFullYear() === year) {
+    month = boundary.getMonth() + 1;
+    if (val.getMonth() + 1 === month) {
+      date = boundary.getDate();
+      if (val.getDate() === date) {
+        hour = boundary.getHours();
+        if (val.getHours() === hour) {
+          minute = boundary.getMinutes();
+        }
+      }
+    }
+  }
+  return {
+    [`${type}${constants.CapYear}`]: year,
+    [`${type}${constants.CapMonth}`]: month,
+    [`${type}${constants.CapDate}`]: date,
+    [`${type}${constants.CapHour}`]: hour,
+    [`${type}${constants.CapMinute}`]: minute
+  };
+};
+const updateInnerValue = ({
+  api: api2,
+  constants,
+  props: props2,
+  refs,
+  state
+}) => () => {
+  const indexes = refs.picker && refs.picker.getIndexes();
+  const getValue2 = (index3) => {
+    const { values } = state.originColumns[index3];
+    return getTrueValue(values[indexes[index3]]);
+  };
+  const year = getValue2(0);
+  const month = getValue2(1);
+  const maxDate = api2.getMonthEndDay(year, month);
+  let date;
+  if (props2.type === constants.YearMonth) {
+    date = 1;
+  } else {
+    date = getValue2(2);
+  }
+  date = date > maxDate ? maxDate : date;
+  let hour = 0;
+  let minute = 0;
+  if (props2.type === constants.DateTime) {
+    hour = getValue2(3);
+    minute = getValue2(4);
+  }
+  const value = new Date(year, month - 1, date, hour, minute);
+  state.innerValue = api2.formatValue(value);
+};
+const formatValue = (props2) => (value) => {
+  if (!Object.prototype.toString.call(value) === "[object Date]" && !isNaN(value.getTime())) {
+    value = props2.minDate;
+  }
+  value = Math.max(value, props2.minDate.getTime());
+  value = Math.min(value, props2.maxDate.getTime());
+  return new Date(value);
+};
+const onChange$1 = ({ api: api2, emit, refs, nextTick }) => () => {
+  api2.updateInnerValue();
+  nextTick(() => {
+    nextTick(() => {
+      emit("change", refs.picker);
+      document.body.style.overflow = "";
+    });
+  });
+};
+const padZero = (num, targetLength = 2) => {
+  let str = String(num);
+  while (str.length < targetLength) {
+    str = "0" + str;
+  }
+  return str;
+};
+const updateColumnValue = ({
+  constants,
+  nextTick,
+  props: props2,
+  refs,
+  state
+}) => () => {
+  const value = state.innerValue;
+  const { formatter } = props2;
+  let values = [
+    formatter("year", `${value.getFullYear()}`),
+    formatter("month", padZero(value.getMonth() + 1)),
+    formatter("day", padZero(value.getDate()))
+  ];
+  if (props2.type === constants.DateTime) {
+    values.push(formatter("hour", padZero(value.getHours())), formatter("minute", padZero(value.getMinutes())));
+  }
+  if (props2.type === constants.YearMonth) {
+    values = values.slice(0, 2);
+  }
+  nextTick(() => {
+    refs.picker.setValues(values);
+  });
+};
+const getRanges = ({ api: api2, constants, props: props2, state }) => () => {
+  const { maxYear, maxDate, maxMonth, maxHour, maxMinute } = api2.getBoundary({
+    type: constants.Max,
+    value: state.innerValue
+  });
+  const { minYear, minDate, minMonth, minHour, minMinute } = api2.getBoundary({
+    type: constants.Min,
+    value: state.innerValue
+  });
+  const result = [
+    {
+      type: constants.Year,
+      range: [minYear, maxYear]
+    },
+    {
+      type: "month",
+      range: [minMonth, maxMonth]
+    },
+    {
+      type: constants.Day,
+      range: [minDate, maxDate]
+    },
+    {
+      type: constants.Hour,
+      range: [minHour, maxHour]
+    },
+    {
+      type: constants.Minute,
+      range: [minMinute, maxMinute]
+    }
+  ];
+  if (props2.type === constants.Date) {
+    result.splice(3, 2);
+  }
+  if (props2.type === constants.YearMonth) {
+    result.splice(2, 3);
+  }
+  return result;
+};
+function times(n, iteratee) {
+  let index3 = -1;
+  const result = Array(n);
+  while (++index3 < n) {
+    result[index3] = iteratee(index3);
+  }
+  return result;
+}
+const getOriginColumns = (state) => () => state.ranges.map(({ type, range: rangeArr }) => {
+  let values = times(rangeArr[1] - rangeArr[0] + 1, (index3) => {
+    const value = padZero(rangeArr[0] + index3);
+    return value;
+  });
+  return {
+    type,
+    values
+  };
+});
+const getColumns = ({ props: props2, state }) => () => state.originColumns.map((column) => ({
+  values: column.values.map((value) => props2.formatter(column.type, value))
+}));
+const onConfirm = ({ api: api2, emit, state }) => () => {
+  state.visible = false;
+  emit("confirm", state.innerValue);
+  emit("update:modelValue", state.innerValue);
+  emit("update:visible", state.visible);
+  document.body.style.overflow = "";
+  state.displayValue = api2.getDisplayValue();
+  state.clearable = false;
+};
+const onCancel = ({ emit, state }) => () => {
+  state.visible = false;
+  emit("cancel");
+  emit("update:visible", state.visible);
+  document.body.style.overflow = "";
+};
+const getDisplayValue = ({ constants, DATE: DATE2, props: props2, state }) => () => {
+  const format2 = function(value, fmt) {
+    const o = {
+      "M+": value.getMonth() + 1,
+      "d+": value.getDate(),
+      "h+": value.getHours(),
+      "m+": value.getMinutes(),
+      "s+": value.getSeconds(),
+      "q+": Math.floor((value.getMonth() + 3) / 3),
+      "S": value.getMilliseconds()
+    };
+    if (/(y+)/.test(fmt)) {
+      fmt = fmt.replace(RegExp.$1, String(value.getFullYear()).substr(4 - RegExp.$1.length));
+    }
+    for (let k in o) {
+      if (new RegExp("(" + k + ")").test(fmt)) {
+        fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(String(o[k]).length));
+      }
+    }
+    return fmt;
+  };
+  return format2(state.innerValue, props2.type === constants.DateTime ? DATE2.Datetime : DATE2.Date);
+};
+const hookMounted = ({
+  constants,
+  parent,
+  refs,
+  nextTick
+}) => () => {
+  nextTick(() => {
+    parent.$emit(constants.HookMounted, refs.refrence.$el);
+  });
+};
+const showPickerAndLockScroll = ({ constants, state }) => () => {
+  state.visible = true;
+  document.body.style.overflow = constants.Hidden;
+  state.isReadonly = true;
+};
+const clearDisplayValue = (state) => () => {
+  state.displayValue = "";
+  state.clearable = true;
+};
+const api$2 = [
+  "state",
+  "clearDisplayValue",
+  "showPickerAndLockScroll",
+  "hookMounted",
+  "onConfirm",
+  "onCancel",
+  "onChange"
+];
+const setWatchFn = ({ api: api2, watch, props: props2, state, emit }) => {
+  watch(
+    () => props2.minDate,
+    () => api2.updateInnerValue(),
+    {
+      lazy: true
+    }
+  );
+  watch(
+    () => props2.visible,
+    (value) => state.visible = value,
+    { lazy: true }
+  );
+  watch(
+    () => props2.maxDate,
+    () => api2.updateInnerValue(),
+    {
+      lazy: true
+    }
+  );
+  watch(
+    () => props2.modelValue,
+    (value) => {
+      if (value) {
+        const val = api2.formatValue(new Date(value));
+        if (val.valueOf() !== state.innerValue.valueOf()) {
+          state.innerValue = val;
+        }
+        state.displayValue = api2.getDisplayValue();
+      }
+    },
+    {
+      immediate: true
+    }
+  );
+  watch(
+    () => state.columns,
+    () => api2.updateColumnValue(),
+    {
+      lazy: true
+    }
+  );
+  watch(
+    () => state.innerValue,
+    (value) => emit("input", value),
+    {
+      lazy: true
+    }
+  );
+};
+const renderless$2 = (props2, { computed, onMounted, reactive, watch }, { constants, emit, nextTick, refs, parent }) => {
+  const api2 = {
+    formatValue: formatValue(props2),
+    getMonthEndDay: getMonthEndDay(constants),
+    hookMounted: hookMounted({ constants, parent, refs, nextTick })
+  };
+  const state = reactive({
+    visible: false,
+    innerValue: formatValue(props2)(props2.modelValue),
+    ranges: computed(() => api2.getRanges()),
+    originColumns: computed(() => api2.getOriginColumns()),
+    columns: computed(() => api2.getColumns()),
+    displayValue: "",
+    isReadonly: false,
+    clearable: props2.clearable
+  });
+  Object.assign(api2, {
+    state,
+    getOriginColumns: getOriginColumns(state),
+    onCancel: onCancel({ emit, state }),
+    getColumns: getColumns({ props: props2, state }),
+    clearDisplayValue: clearDisplayValue(state),
+    getDisplayValue: getDisplayValue({ constants, DATE, props: props2, state }),
+    showPickerAndLockScroll: showPickerAndLockScroll({ constants, state }),
+    updateColumnValue: updateColumnValue({ constants, nextTick, props: props2, refs, state })
+  });
+  api2.getBoundary = getBoundary({ api: api2, constants, props: props2 });
+  api2.updateInnerValue = updateInnerValue({ api: api2, constants, props: props2, refs, state });
+  api2.getRanges = getRanges({ api: api2, constants, props: props2, state });
+  setWatchFn({ api: api2, watch, props: props2, state, emit });
+  onMounted(() => {
+    api2.updateColumnValue();
+    nextTick(() => {
+      api2.updateInnerValue();
+    });
+  });
+  return Object.assign(api2, {
+    onConfirm: onConfirm({ api: api2, emit, state }),
+    onChange: onChange$1({ api: api2, emit, refs, nextTick })
+  });
+};
+const visibleHandle = (emit) => () => emit("update:visible", false);
+const watchVisible = (emit) => ({ state, value }) => {
+  setTimeout(() => {
+    value ? state.toggle = true : state.toggle = false;
+  }, 0);
+  emit("update:visible", value);
+};
+const getDataType = (state) => () => {
+  const { columns } = state;
+  const firstColumn = columns[0] || {};
+  if (firstColumn.children) {
+    return "cascade";
+  }
+  if (firstColumn.values) {
+    return "object";
+  }
+  return "text";
+};
+const format = ({ state, api: api2 }) => () => {
+  const { columns, dataType } = state;
+  if (dataType === "text") {
+    state.formattedColumns = [{ values: columns }];
+  } else if (dataType === "cascade") {
+    api2.formatCascade();
+  } else {
+    state.formattedColumns = columns;
+  }
+};
+const formatCascade = ({ state, props: props2 }) => () => {
+  const formatted = [];
+  let cursor = { children: state.columns };
+  while (cursor && cursor.children) {
+    const defaultIndex = cursor.defaultIndex || Number(state.defaultIndex);
+    formatted.push({
+      values: cursor.children.map((item) => item[props2.valueKey]),
+      defaultIndex
+    });
+    cursor = cursor.children[defaultIndex];
+  }
+  state.formattedColumns = formatted;
+};
+const change = (api2) => (index3) => {
+  api2.onChange(index3);
+};
+const setColumnValue = (api2) => (index3, value) => {
+  const column = api2.getColumn(index3);
+  column && column.setValue(value);
+};
+const setValues = (api2) => (values) => {
+  values.forEach((value, index3) => {
+    api2.setColumnValue(index3, value);
+  });
+};
+const getColumnValue = (api2) => (index3) => {
+  const column = api2.getColumn(index3);
+  return column && column.getValue();
+};
+const confirm = ({ api: api2, childrenPickerRefs }) => () => {
+  const children = childrenPickerRefs.childrenPicker;
+  children && children.forEach((child) => child.onTransitionEnd());
+  api2.emitEvent("confirm");
+  api2.visibleHandle();
+};
+const cancel = ({ api: api2, emit }) => () => {
+  emit("cancel");
+  api2.visibleHandle();
+};
+const emitEvent = ({ api: api2, state, emit }) => (event) => {
+  if (state.dataType === "text") {
+    emit(event, api2.getColumnValue(0), api2.getColumnIndex(0));
+  } else {
+    emit(event, api2.getValues(), api2.getIndexes());
+  }
+};
+const getColumn = (childrenPickerRefs) => (index3) => {
+  const children = childrenPickerRefs.childrenPicker;
+  return children[index3];
+};
+const getColumnIndex = (api2) => (columnIndex) => (api2.getColumn(columnIndex) || {}).state.currentIndex;
+const getValues = (childrenPickerRefs) => () => childrenPickerRefs.childrenPicker && childrenPickerRefs.childrenPicker.map((child) => child.getValue());
+const getIndexes = (childrenPickerRefs) => () => childrenPickerRefs.childrenPicker && childrenPickerRefs.childrenPicker.map((child) => child.state.currentIndex);
+const setIndexes = (api2) => (indexes) => {
+  indexes.forEach((optionIndex, columnIndex) => {
+    api2.setColumnIndex(columnIndex, optionIndex);
+  });
+};
+const setColumnIndex = (api2) => (columnIndex, optionIndex) => {
+  const column = api2.getColumn(columnIndex);
+  column && column.setIndex(optionIndex);
+};
+const getColumnValues = (childrenPickerRefs) => (index3) => (childrenPickerRefs.childrenPicker[index3] || {}).state.columnsItem.values;
+const setColumnValues = (childrenPickerRefs) => (index3, options) => {
+  const children = childrenPickerRefs.childrenPicker;
+  const column = children[index3];
+  if (column) {
+    column.setOptions(options);
+  }
+};
+const onCascadeChange = ({ api: api2, state, props: props2 }) => (columnIndex) => {
+  const { columns } = state;
+  let cursor = { children: columns };
+  const indexes = api2.getIndexes();
+  for (let i = 0; i <= columnIndex; i++) {
+    cursor = cursor.children[indexes[i]];
+  }
+  while (columnIndex < state.formattedColumns.length) {
+    if (cursor.children && cursor.children.length !== 0) {
+      columnIndex++;
+      api2.setColumnValues(
+        columnIndex,
+        cursor.children.map((item) => item[props2.valueKey])
+      );
+      cursor = cursor.children[cursor.defaultIndex || 0];
+    } else {
+      columnIndex++;
+      api2.setColumnValues(columnIndex, []);
+    }
+  }
+};
+const onChange = ({ api: api2, state, emit }) => (columnIndex) => {
+  if (state.dataType === "cascade") {
+    api2.onCascadeChange(columnIndex);
+  }
+  if (api2.dataType === "text") {
+    emit("change", api2.getColumnValue(0), api2.getColumnIndex(0));
+  } else {
+    emit("change", api2.getValues(), columnIndex);
+  }
+};
+const getChildrenComponent = ({ state, vm, constants }) => {
+  const childrenName = constants.CHILDREN_PICKER;
+  const children = [];
+  for (let index3 = 0; index3 < state.formattedColumns.length; index3++) {
+    children.push(
+      Array.isArray(vm.$refs[childrenName + index3]) ? vm.$refs[childrenName + index3][0] : vm.$refs[childrenName + index3]
+    );
+  }
+  return children;
+};
+const api$1 = [
+  "state",
+  "visibleHandle",
+  "watchVisible",
+  "change",
+  "setValues",
+  "getColumnValue",
+  "confirm",
+  "cancel",
+  "getColumnIndex",
+  "getValues",
+  "getIndexes",
+  "setIndexes",
+  "setColumnIndex",
+  "getColumnValues",
+  "setColumnValues",
+  "onChange",
+  "onCascadeChange",
+  "emitEvent",
+  "getColumn",
+  "setColumnValue"
+];
+const initState$1 = ({ reactive, computed, props: props2, api: api2 }) => {
+  const state = reactive({
+    columns: props2.columns,
+    toggle: false,
+    itemHeight: Number(props2.itemHeight),
+    defaultIndex: props2.defaultIndex,
+    visibleItemCount: props2.visibleItemCount,
+    clumnsWrapHeight: null,
+    formattedColumns: [],
+    dataType: computed(() => api2.getDataType())
+  });
+  return state;
+};
+const initApi$1 = ({ api: api2, props: props2, state, emit, childrenPickerRefs }) => {
+  Object.assign(api2, {
+    state,
+    getColumn: getColumn(childrenPickerRefs),
+    getValues: getValues(childrenPickerRefs),
+    getIndexes: getIndexes(childrenPickerRefs),
+    getDataType: getDataType(state),
+    visibleHandle: visibleHandle(emit),
+    formatCascade: formatCascade({ state, props: props2 }),
+    getColumnValues: getColumnValues(childrenPickerRefs),
+    setColumnValues: setColumnValues(childrenPickerRefs),
+    emitEvent: emitEvent({ api: api2, state, emit }),
+    change: change(api2),
+    onChange: onChange({ api: api2, state, emit }),
+    cancel: cancel({ api: api2, emit }),
+    confirm: confirm({ api: api2, childrenPickerRefs }),
+    format: format({ state, api: api2 }),
+    setValues: setValues(api2),
+    setIndexes: setIndexes(api2),
+    watchVisible: watchVisible(emit),
+    setColumnIndex: setColumnIndex(api2),
+    getColumnValue: getColumnValue(api2),
+    getColumnIndex: getColumnIndex(api2),
+    setColumnValue: setColumnValue(api2),
+    onCascadeChange: onCascadeChange({ api: api2, state, props: props2 })
+  });
+};
+const initWatch$1 = ({ watch, props: props2, state, api: api2 }) => {
+  watch(
+    () => props2.visible,
+    (value) => {
+      api2.watchVisible({ state, value });
+    }
+  );
+  watch(
+    () => props2.columns,
+    (value) => {
+      state.columns = value;
+      api2.format();
+    }
+  );
+};
+const renderless$1 = (props2, { computed, onMounted, reactive, watch }, { emit, nextTick, vm, constants }) => {
+  const api2 = {};
+  const childrenPickerRefs = { childrenPicker: null };
+  const state = initState$1({ reactive, computed, props: props2, api: api2 });
+  initApi$1({ api: api2, props: props2, state, emit, childrenPickerRefs });
+  initWatch$1({ watch, props: props2, state, api: api2 });
+  onMounted(() => {
+    nextTick(() => {
+      childrenPickerRefs.childrenPicker = getChildrenComponent({ state, vm, constants });
+    });
+    api2.format();
+    state.clumnsWrapHeight = state.itemHeight * state.visibleItemCount;
+  });
+  return api2;
+};
+const api = ["state", "onClickItem", "onTransitionEnd", "setValue", "getValue", "setOptions", "setIndex"];
+const initState = ({ reactive, computed, props: props2, api: api2 }) => {
+  const state = reactive({
+    columnsItem: props2.columnsItem,
+    columnsItemArr: props2.columnsItem.values,
+    currentIndex: props2.defaultIndex,
+    itemHeight: props2.itemHeight,
+    visibleItemCount: props2.visibleItemCount,
+    offset: 0,
+    duration: 0,
+    startOffset: 0,
+    moving: false,
+    defaultDuration: 200,
+    momentumLimitTime: 300,
+    momentumLimitDistance: 15,
+    touchStartTime: null,
+    momentumOffset: 0,
+    direction: "",
+    deltaX: 0,
+    deltaY: 0,
+    offsetX: 0,
+    offsetY: 0,
+    count: props2.columnsItem.values.length,
+    transitionEndTrigger: null,
+    clumnsWrapHeight: null,
+    maskStyle: null,
+    wrapperStyle: computed(() => api2.computedWrapperStyle()),
+    baseOffset: computed(() => api2.computedBaseOffset())
+  });
+  return state;
+};
+const initApi = ({ api: api2, props: props2, state, vm, emit }) => {
+  Object.assign(api2, {
+    state,
+    getValue: getValue(state),
+    adjustIndex: adjustIndex(state),
+    onTouchmove: onTouchmove({ state }),
+    onTouchstart: onTouchstart({ state }),
+    getOptionText: getOptionText({ state, props: props2 }),
+    onTransitionEnd: onTransitionEnd(state),
+    computedBaseOffset: computedBaseOffset({ state, props: props2 }),
+    computedWrapperStyle: computedWrapperStyle(state),
+    setValue: setValue$1({ api: api2, state }),
+    onTouchend: onTouchend({ api: api2, state }),
+    setOptions: setOptions({ api: api2, state, props: props2 }),
+    momentum: momentum$1({ api: api2, state, props: props2 }),
+    setIndex: setIndex({ api: api2, state, emit }),
+    onClickItem: onClickItem({ api: api2, state }),
+    mountedHandler: mountedHandler({ api: api2, state, vm }),
+    beforeUnmountHandler: beforeUnmountHandler({ api: api2, vm })
+  });
+};
+const initWatch = ({ watch, props: props2, state, api: api2 }) => {
+  watch(() => props2.defaultIndex, api2.setIndex, { immediate: true });
+  watch(
+    () => props2.columnsItem,
+    (value) => {
+      state.columnsItem = value;
+    },
+    { immediate: true }
+  );
+  watch(
+    () => props2.columnsItem.values,
+    (value) => {
+      state.count = value.length;
+    },
+    { immediate: true }
+  );
+};
+const renderless = (props2, { computed, onMounted, reactive, watch, onBeforeUnmount }, { emit, vm }) => {
+  const api2 = {};
+  const state = initState({ reactive, computed, props: props2, api: api2 });
+  initApi({ api: api2, props: props2, state, vm, emit });
+  api2.setIndex(state.currentIndex);
+  state.columnsItem = deepClone(props2.columnsItem);
+  initWatch({ watch, props: props2, state, api: api2 });
+  onMounted(api2.mountedHandler);
+  onBeforeUnmount(api2.beforeUnmountHandler);
+  return api2;
+};
+const index$2 = "";
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc223(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$2 = defineComponent({
+  name: $prefix + "PickerColumn",
+  emits: ["change"],
+  props: {
+    columnsItem: {
+      type: Object,
+      default: function _default19() {
+        return {};
+      }
+    },
+    defaultIndex: Number,
+    itemHeight: Number,
+    visibleItemCount: Number,
+    swipeDuration: Number,
+    valueKey: String
+  },
+  setup: function setup$124(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api,
+      mono: true
+    });
+  }
+});
+var _hoisted_1$1 = {
+  class: "tiny-mobile-picker-column"
+};
+var _hoisted_2$1 = ["onClick"];
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$1, [createBaseVNode(
+    "div",
+    {
+      class: "tiny-mobile-picker-column__mask",
+      style: normalizeStyle(_ctx.state.maskStyle)
+    },
+    null,
+    4
+    /* STYLE */
+  ), createBaseVNode(
+    "div",
+    {
+      class: "tiny-mobile-picker-column__indicator",
+      style: normalizeStyle({
+        height: _ctx.itemHeight + "px"
+      })
+    },
+    null,
+    4
+    /* STYLE */
+  ), createBaseVNode(
+    "ul",
+    {
+      class: "tiny-mobile-picker-column__wrapper",
+      ref: "track",
+      style: normalizeStyle(_ctx.state.wrapperStyle),
+      onClick: _cache[1] || (_cache[1] = function($event) {
+        return _ctx.onClickItem(1);
+      })
+    },
+    [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.columnsItem.values, function(item, index3) {
+        return openBlock(), createElementBlock("li", {
+          class: normalizeClass({
+            "tiny-mobile-picker-column__item": true,
+            "is-select": index3 === _ctx.state.currentIndex
+          }),
+          key: index3,
+          onClick: withModifiers(function($event) {
+            return _ctx.onClickItem(index3);
+          }, ["stop"]),
+          style: normalizeStyle({
+            height: _ctx.itemHeight + "px",
+            lineHeight: _ctx.itemHeight + "px"
+          }),
+          onTransitionend: _cache[0] || (_cache[0] = function() {
+            return _ctx.onTransitionEnd && _ctx.onTransitionEnd.apply(_ctx, arguments);
+          })
+        }, toDisplayString(item), 47, _hoisted_2$1);
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))],
+    4
+    /* STYLE */
+  )]);
+}
+var PickerColumn = /* @__PURE__ */ _export_sfc$2(_sfc_main$2, [["render", _sfc_render$2]]);
+var version$2 = "3.16.0";
+PickerColumn.install = function(Vue) {
+  Vue.component(PickerColumn.name, PickerColumn);
+};
+PickerColumn.version = version$2;
+const index$1 = "";
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc224(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var $constants$1 = {
+  CHILDREN_PICKER: "childrenPicker"
+};
+var _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  name: $prefix + "MiniPicker",
+  components: {
+    PickerColumn
+  },
+  props: {
+    _constants: {
+      type: Object,
+      default: function _default20() {
+        return $constants$1;
+      }
+    },
+    columns: {
+      type: Array,
+      default: function _default28() {
+        return [];
+      }
+    },
+    visible: {
+      type: Boolean,
+      default: false
+    },
+    title: {
+      type: String,
+      default: ""
+    },
+    confirmButtonText: {
+      type: String,
+      default: function _default36() {
+        return t("ui.miniPicker.confirm");
+      }
+    },
+    cancelButtonText: {
+      type: String,
+      default: function _default44() {
+        return t("ui.miniPicker.cancel");
+      }
+    },
+    defaultIndex: {
+      type: Number,
+      default: 0
+    },
+    valueKey: {
+      type: String,
+      default: "text"
+    },
+    itemHeight: {
+      type: Number,
+      default: 34
+    },
+    visibleItemCount: {
+      type: Number,
+      default: 5
+    },
+    swipeDuration: {
+      type: Number,
+      default: 1e3
+    }
+  },
+  setup: function setup$125(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1,
+      mono: true
+    });
+  }
+});
+var _hoisted_1 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "tiny-mobile-mini-picker__mask"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_2 = {
+  class: "tiny-mobile-mini-picker__toolbar"
+};
+var _hoisted_3 = {
+  class: "picker_action picker_title"
+};
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_picker_column = resolveComponent("picker-column");
+  return withDirectives((openBlock(), createElementBlock(
+    "div",
+    {
+      class: "tiny-mobile-mini-picker",
+      onClick: _cache[2] || (_cache[2] = function() {
+        return _ctx.visibleHandle && _ctx.visibleHandle.apply(_ctx, arguments);
+      })
+    },
+    [_hoisted_1, createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(["tiny-mobile-mini-picker__content", _ctx.state.toggle ? "is-toggle" : ""])
+      },
+      [createBaseVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "toolbar", {}, function() {
+        return [createBaseVNode(
+          "div",
+          {
+            class: "picker_action picker_cancel",
+            onClick: _cache[0] || (_cache[0] = function() {
+              return _ctx.cancel && _ctx.cancel.apply(_ctx, arguments);
+            })
+          },
+          toDisplayString(_ctx.cancelButtonText),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "div",
+          _hoisted_3,
+          toDisplayString(_ctx.title),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "div",
+          {
+            class: "picker_action picker_confirm",
+            onClick: _cache[1] || (_cache[1] = function() {
+              return _ctx.confirm && _ctx.confirm.apply(_ctx, arguments);
+            })
+          },
+          toDisplayString(_ctx.confirmButtonText),
+          1
+          /* TEXT */
+        )];
+      })]), createBaseVNode(
+        "div",
+        {
+          class: "tiny-mobile-mini-picker__columns",
+          style: normalizeStyle({
+            height: _ctx.state.clumnsWrapHeight + "px"
+          })
+        },
+        [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.formattedColumns, function(item, index3) {
+            return openBlock(), createBlock(_component_picker_column, {
+              "columns-item": item,
+              ref_for: true,
+              ref: "childrenPicker" + index3,
+              key: index3,
+              "default-index": item.defaultIndex || +_ctx.state.defaultIndex,
+              "item-height": _ctx.itemHeight,
+              "swipe-duration": _ctx.swipeDuration,
+              "value-key": _ctx.valueKey,
+              onChange: function onChange2($event) {
+                return _ctx.change(index3);
+              },
+              "visible-item-count": _ctx.visibleItemCount
+            }, null, 8, ["columns-item", "default-index", "item-height", "swipe-duration", "value-key", "onChange", "visible-item-count"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))],
+        4
+        /* STYLE */
+      )],
+      2
+      /* CLASS */
+    )],
+    512
+    /* NEED_PATCH */
+  )), [[vShow, _ctx.visible]]);
+}
+var MiniPicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render$1]]);
+var version$1 = "3.16.0";
+MiniPicker.install = function(Vue) {
+  Vue.component(MiniPicker.name, MiniPicker);
+};
+MiniPicker.version = version$1;
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc225(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main = defineComponent({
+  components: {
+    TinyMiniPicker: MiniPicker,
+    TinyInput: Input,
+    IconClose: index$f()
+  },
+  props: [].concat(props, ["modelValue", "type", "clearable", "visible", "minDate", "maxDate", "formatter"]),
+  setup: function setup$126(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$2,
+      api: api$2
+    });
+  }
+});
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_tiny_input = resolveComponent("tiny-input");
+  var _component_tiny_mini_picker = resolveComponent("tiny-mini-picker");
+  return openBlock(), createElementBlock("div", null, [createVNode(_component_tiny_input, {
+    onHookMounted: _ctx.hookMounted,
+    modelValue: _ctx.state.displayValue,
+    "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) {
+      return _ctx.state.displayValue = $event;
+    }),
+    ref: "refrence",
+    onFocus: _ctx.showPickerAndLockScroll,
+    readOnly: "true",
+    _mode: _ctx._mode
+  }, {
+    default: withCtx(function() {
+      return [!_ctx.state.clearable ? (openBlock(), createBlock(_component_icon_close, {
+        key: 0,
+        slot: "suffix",
+        onClick: _ctx.clearDisplayValue
+      }, null, 8, ["onClick"])) : createCommentVNode("v-if", true)];
+    }),
+    _: 1
+    /* STABLE */
+  }, 8, ["onHookMounted", "modelValue", "onFocus", "_mode"]), createVNode(_component_tiny_mini_picker, {
+    visible: _ctx.state.visible,
+    "onUpdate:visible": _cache[1] || (_cache[1] = function($event) {
+      return _ctx.state.visible = $event;
+    }),
+    ref: "picker",
+    columns: _ctx.state.columns,
+    onChange: _ctx.onChange,
+    onConfirm: _ctx.onConfirm,
+    onCancel: _ctx.onCancel
+  }, null, 8, ["visible", "columns", "onChange", "onConfirm", "onCancel"])]);
+}
+var mobile = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+const index = "";
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template210(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return DatePicker$1;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  return DatePicker$1;
+};
+var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
+var $constants = {
+  MonthDay: 32,
+  Minutes: 59,
+  Hours: 23,
+  TotalMonth: 12,
+  Max: "max",
+  Min: "min",
+  Hour: "hour",
+  Minute: "minute",
+  CapYear: "Year",
+  CapMonth: "Month",
+  CapDate: "Date",
+  CapHour: "Hour",
+  CapMinute: "Minute",
+  YearMonth: "year-month",
+  DateTime: "datetime",
+  Date: "date",
+  HookMounted: "hook-mounted",
+  Hidden: "hidden",
+  Year: "year",
+  Day: "day"
+};
+var validator8 = function validator24(value) {
+  var result = value === null || value === void 0 || typeof value === "string" || value instanceof String || Array.isArray(value) && value.length === 2 && value.every(function(item) {
+    return typeof item === "string" || item instanceof String;
+  });
+  return result;
+};
+var $props = {
+  "tiny_mode": String,
+  "tiny_mode_root": Boolean,
+  "tiny_template": [Function, Object],
+  "tiny_renderless": Function,
+  "tiny_theme": String,
+  "tiny_chart_theme": Object
+};
+var datePickerProps = _extends({}, $props, {
+  tabindex: {
+    type: String,
+    default: "0"
+  },
+  timeFormat: String,
+  suffixIcon: Object,
+  label: String,
+  shape: String,
+  tip: String,
+  changeOnConfirm: {
+    type: Boolean,
+    default: false
+  },
+  popperAppendToBody: {
+    type: Boolean,
+    default: true
+  },
+  isutc8: {
+    type: Boolean,
+    default: false
+  },
+  dbTimezone: Number,
+  timezoneOffset: Number,
+  iso8601: Boolean,
+  autoFormat: {
+    type: Boolean,
+    default: false
+  },
+  title: String,
+  blank: {
+    type: Boolean,
+    default: false
+  },
+  type: {
+    type: String,
+    default: "date"
+  },
+  _constants: {
+    type: Object,
+    default: function _default21() {
+      return $constants;
+    }
+  },
+  timeArrowControl: Boolean,
+  timeEditable: {
+    type: Boolean,
+    default: true
+  },
+  size: String,
+  format: String,
+  valueFormat: String,
+  readonly: Boolean,
+  placeholder: String,
+  startPlaceholder: String,
+  endPlaceholder: String,
+  prefixIcon: Object,
+  clearIcon: {
+    type: Object,
+    default: function _default29() {
+      return index$n();
+    }
+  },
+  name: {
+    default: "",
+    validator: validator8
+  },
+  disabled: Boolean,
+  clearable: {
+    type: Boolean,
+    default: true
+  },
+  id: {
+    default: "",
+    validator: validator8
+  },
+  popperClass: String,
+  editable: {
+    type: Boolean,
+    default: true
+  },
+  align: {
+    type: String,
+    default: "left"
+  },
+  modelValue: {},
+  defaultValue: {},
+  defaultTime: {},
+  rangeSeparator: {
+    type: [Object, String],
+    default: "-"
+  },
+  pickerOptions: {},
+  unlinkPanels: Boolean,
+  validateEvent: {
+    type: Boolean,
+    default: true
+  },
+  isRange: Boolean,
+  arrowControl: Boolean,
+  timezoneData: {},
+  showTimezone: {
+    type: Boolean,
+    default: false
+  },
+  defaultTimezone: {},
+  visible: Boolean,
+  minDate: {
+    type: Date,
+    default: function _default37() {
+      return new Date(currentYear - 10, 0, 1);
+    },
+    validator: function validator32(val) {
+      return Object.prototype.toString.call(val) === "[object Date]" && !isNaN(val.getTime());
+    }
+  },
+  maxDate: {
+    type: Date,
+    default: function _default45() {
+      return new Date(currentYear + 10, 11, 31);
+    },
+    validator: function validator42(val) {
+      return Object.prototype.toString.call(val) === "[object Date]" && !isNaN(val.getTime());
+    }
+  },
+  formatter: {
+    type: Function,
+    default: function _default53(type, value) {
+      return value;
+    }
+  },
+  componentName: {
+    type: String,
+    default: "DatePicker"
+  },
+  displayOnly: {
+    type: Boolean,
+    default: false
+  },
+  step: {
+    type: Object,
+    default: function _default62() {
+      return {
+        hour: 1,
+        minute: 1,
+        second: 1
+      };
+    }
+  },
+  showWeekNumber: {
+    type: Boolean,
+    default: false
+  },
+  formatWeeks: Function,
+  changeCompat: {
+    type: Boolean,
+    default: false
+  }
+});
+var DatePicker = defineComponent({
+  name: $prefix + "DatePicker",
+  props: datePickerProps,
+  setup: function setup10(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+DatePicker.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+DatePicker.install = function(Vue) {
+  Vue.component(DatePicker.name, DatePicker);
+};
+DatePicker.version = version;
+export {
+  DatePicker as D
+};
diff --git a/admin-website/src/main/resources/static/assets/index37.js b/admin-website/src/main/resources/static/assets/index37.js
new file mode 100644
index 0000000..d86c834
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index37.js
@@ -0,0 +1,684 @@
+import { d as defineComponent, p as props, a as setup, $ as $props, b as $prefix, c as $setup, a9 as guid, aa as CollapseTransition, E as index$1, ab as index$2 } from "./index.js";
+import { u as openBlock, v as createElementBlock, D as renderSlot, k as resolveComponent, w as createBaseVNode, A as normalizeClass, Q as withKeys, P as withModifiers, l as createVNode, J as createTextVNode, E as toDisplayString, H as withCtx, I as withDirectives, L as vShow } from "./vue.js";
+const setActiveNames = ({ emit, props: props2, state }) => (activeNames) => {
+  activeNames = [].concat(activeNames);
+  const value = props2.accordion ? activeNames[0] : activeNames;
+  state.activeNames = activeNames;
+  emit("update:modelValue", value);
+  emit("change", value);
+};
+const handleItemClick = ({ api: api2, props: props2, state }) => (item) => {
+  const activeNames = state.activeNames.slice(0);
+  const index2 = activeNames.indexOf(item == null ? void 0 : item.name);
+  const beforeClose = () => {
+    let result = props2.beforeClose ? props2.beforeClose(item, state.activeNames) : true;
+    return new Promise((resolve) => {
+      if (result && result.then) {
+        result.then(() => resolve(true)).catch(() => resolve(false));
+      } else {
+        resolve(result);
+      }
+    });
+  };
+  beforeClose().then((next) => {
+    if (props2.accordion) {
+      if (next || !activeNames.length) {
+        api2.setActiveNames(activeNames[0] === (item == null ? void 0 : item.name) ? "" : item == null ? void 0 : item.name);
+      }
+    } else {
+      index2 > -1 ? next && activeNames.splice(index2, 1) : activeNames.push(item == null ? void 0 : item.name);
+      api2.setActiveNames(activeNames);
+    }
+  });
+};
+const api$1 = ["state"];
+const renderless$1 = (props2, { reactive, watch }, { parent, emit, constants }) => {
+  const eventName = constants.EVENT_NAME.CollapseItemClick;
+  const state = reactive({
+    activeNames: []
+  });
+  const api2 = {
+    state,
+    setActiveNames: setActiveNames({ emit, props: props2, state })
+  };
+  api2.handleItemClick = handleItemClick({ api: api2, props: props2, state });
+  watch(
+    () => props2.modelValue,
+    (value) => {
+      state.activeNames = value || value === 0 ? [].concat(value) : [];
+    },
+    { immediate: true, deep: true }
+  );
+  parent.$on(eventName, api2.handleItemClick);
+  return api2;
+};
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$3 = defineComponent({
+  props: [].concat(props, ["accordion", "modelValue", "beforeClose"]),
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$3 = {
+  class: "tiny-collapse",
+  role: "tablist",
+  "aria-multiselectable": "true"
+};
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$3, [renderSlot(_ctx.$slots, "default")]);
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$3(_sfc_main$3, [["render", _sfc_render$3]]);
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$2 = defineComponent({
+  props: [].concat(props, ["accordion", "modelValue", "beforeClose"]),
+  emits: ["update:modelValue", "change"],
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$2 = {
+  role: "tablist",
+  "aria-multiselectable": "true",
+  "data-tag": "tiny-collapse"
+};
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  return openBlock(), createElementBlock("div", _hoisted_1$2, [renderSlot(_ctx.$slots, "default")]);
+}
+var mobileFirst$1 = /* @__PURE__ */ _export_sfc$2(_sfc_main$2, [["render", _sfc_render$2]]);
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var template$1 = function template2(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc$1;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst$1;
+  }
+  return pc$1;
+};
+var $constants$1 = {
+  COMPONENT_NAME: {
+    Collapse: "Collapse"
+  },
+  EVENT_NAME: {
+    CollapseItemClick: "collapse-item.click"
+  }
+};
+var collapseProps = _extends$1({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default() {
+      return $constants$1;
+    }
+  },
+  accordion: Boolean,
+  beforeClose: Function,
+  modelValue: {
+    type: [Array, String, Number],
+    default: function _default2() {
+      return [];
+    }
+  }
+});
+var Collapse = defineComponent({
+  name: $prefix + "Collapse",
+  componentName: "Collapse",
+  props: collapseProps,
+  provide: function provide() {
+    return {
+      collapse: this
+    };
+  },
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$1 = "3.16.0";
+Collapse.model = {
+  prop: "modelValue",
+  event: "update:modelValue"
+};
+Collapse.install = function(Vue) {
+  Vue.component(Collapse.name, Collapse);
+};
+Collapse.version = version$1;
+const handleFocus = ({ state, interval }) => () => {
+  setTimeout(() => {
+    if (!state.isClick) {
+      state.focusing = true;
+    } else {
+      state.isClick = false;
+    }
+  }, interval);
+};
+const handleHeaderClick = ({
+  componentName,
+  dispatch,
+  eventName,
+  props: props2,
+  parent,
+  state
+}) => () => {
+  if (props2.disabled) {
+    return;
+  }
+  dispatch(componentName, eventName, parent);
+  state.focusing = false;
+  state.isClick = true;
+};
+const handleEnterClick = ({
+  componentName,
+  dispatch,
+  eventName,
+  parent
+}) => () => dispatch(componentName, eventName, parent);
+const api = ["state", "isActive", "handleFocus", "handleEnterClick", "handleHeaderClick"];
+const renderless = (props2, { computed, reactive }, { parent, constants, dispatch }) => {
+  const _constants = parent.collapse._constants;
+  const componentName = _constants.COMPONENT_NAME.Collapse;
+  const eventName = _constants.EVENT_NAME.CollapseItemClick;
+  const state = reactive({
+    id: guid(),
+    isClick: false,
+    focusing: false,
+    contentHeight: 0,
+    contentWrapStyle: { height: "auto", display: "block" },
+    isActive: computed(() => parent.collapse.state.activeNames.includes(props2.name))
+  });
+  const api2 = {
+    state,
+    handleFocus: handleFocus({ state, interval: constants.INTERVAL }),
+    handleEnterClick: handleEnterClick({ componentName, dispatch, eventName, parent }),
+    handleHeaderClick: handleHeaderClick({ componentName, dispatch, eventName, props: props2, parent, state })
+  };
+  return api2;
+};
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  props: [].concat(props, ["title", "titleRight", "name", "disabled"]),
+  components: {
+    CollapseTransition,
+    IconChevronRight: index$1()
+  },
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1$1 = ["aria-expanded", "aria-controls", "aria-describedby"];
+var _hoisted_2$1 = ["id", "tabindex"];
+var _hoisted_3$1 = {
+  class: "tiny-collapse-item__title__right"
+};
+var _hoisted_4$1 = ["aria-hidden", "aria-labelledby", "id"];
+var _hoisted_5$1 = {
+  class: "tiny-collapse-item__content"
+};
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_chevron_right = resolveComponent("icon-chevron-right");
+  var _component_collapse_transition = resolveComponent("collapse-transition");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-collapse-item", {
+        "is-active": _ctx.state.isActive,
+        "is-disabled": _ctx.disabled
+      }])
+    },
+    [createBaseVNode("div", {
+      role: "tab",
+      "aria-expanded": _ctx.state.isActive,
+      "aria-controls": "tiny-collapse-content-" + _ctx.state.id,
+      "aria-describedby": "tiny-collapse-content-" + _ctx.state.id
+    }, [createBaseVNode("div", {
+      class: normalizeClass(["tiny-collapse-item__header", {
+        focusing: _ctx.state.focusing,
+        "is-active": _ctx.state.isActive
+      }]),
+      role: "button",
+      id: "tiny-collapse-head-" + _ctx.state.id,
+      tabindex: _ctx.disabled ? void 0 : 0,
+      onKeyup: _cache[2] || (_cache[2] = withKeys(withModifiers(function() {
+        return _ctx.handleEnterClick && _ctx.handleEnterClick.apply(_ctx, arguments);
+      }, ["stop"]), ["space", "enter"])),
+      onFocus: _cache[3] || (_cache[3] = function() {
+        return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+      }),
+      onBlur: _cache[4] || (_cache[4] = function($event) {
+        return _ctx.state.focusing = false;
+      }),
+      onClick: _cache[5] || (_cache[5] = function() {
+        return _ctx.handleHeaderClick && _ctx.handleHeaderClick.apply(_ctx, arguments);
+      })
+    }, [createBaseVNode("div", {
+      class: "tiny-collapse-item__arrow",
+      onClick: _cache[0] || (_cache[0] = withModifiers(function() {
+        return _ctx.handleHeaderClick && _ctx.handleHeaderClick.apply(_ctx, arguments);
+      }, ["stop"]))
+    }, [renderSlot(_ctx.$slots, "icon", {}, function() {
+      return [createVNode(_component_icon_chevron_right, {
+        class: normalizeClass(["tiny-svg-size", {
+          "is-active": _ctx.state.isActive
+        }])
+      }, null, 8, ["class"])];
+    })]), createBaseVNode("div", {
+      class: "tiny-collapse-item__word-overflow",
+      onClick: _cache[1] || (_cache[1] = withModifiers(function() {
+        return _ctx.handleHeaderClick && _ctx.handleHeaderClick.apply(_ctx, arguments);
+      }, ["stop"]))
+    }, [renderSlot(_ctx.$slots, "title", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx.title),
+        1
+        /* TEXT */
+      )];
+    })]), createBaseVNode("div", _hoisted_3$1, [renderSlot(_ctx.$slots, "title-right", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx.titleRight),
+        1
+        /* TEXT */
+      )];
+    })])], 42, _hoisted_2$1), createVNode(_component_collapse_transition, null, {
+      default: withCtx(function() {
+        return [withDirectives(createBaseVNode("div", {
+          class: "tiny-collapse-item__wrap",
+          role: "tabpanel",
+          "aria-hidden": !_ctx.state.isActive,
+          "aria-labelledby": "tiny-collapse-head-" + _ctx.state.id,
+          id: "tiny-collapse-content-" + _ctx.state.id
+        }, [createBaseVNode("div", _hoisted_5$1, [renderSlot(_ctx.$slots, "default")])], 8, _hoisted_4$1), [[vShow, _ctx.state.isActive]])];
+      }),
+      _: 3
+      /* FORWARDED */
+    })], 8, _hoisted_1$1)],
+    2
+    /* CLASS */
+  );
+}
+var pc = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render$1]]);
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main = defineComponent({
+  props: [].concat(props, ["title", "titleRight", "name", "disabled"]),
+  components: {
+    CollapseTransition,
+    IconArrowBottom: index$2()
+  },
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1 = {
+  "data-tag": "tiny-collapse-item",
+  class: "border-b-0.5 sm:border-b border-solid border-color-border-separator last:border-0"
+};
+var _hoisted_2 = ["aria-expanded", "aria-controls", "aria-describedby"];
+var _hoisted_3 = ["id", "tabindex"];
+var _hoisted_4 = {
+  "data-tag": "tiny-collapse-item-titleright",
+  class: "text-xs font-normal"
+};
+var _hoisted_5 = ["aria-hidden", "aria-labelledby", "id"];
+var _hoisted_6 = {
+  class: "pb-6 pt-0 px-4 sm:pt-0 sm:pr-0 sm:pl-4 sm:pb-4 text-xs text-color-text-primary leading-relaxed"
+};
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_arrow_bottom = resolveComponent("icon-arrow-bottom");
+  var _component_collapse_transition = resolveComponent("collapse-transition");
+  return openBlock(), createElementBlock("div", _hoisted_1, [createBaseVNode("div", {
+    role: "tab",
+    "data-tag": "tiny-collapse-item-tab",
+    "aria-expanded": _ctx.state.isActive,
+    "aria-controls": "tiny-collapse-content-" + _ctx.state.id,
+    "aria-describedby": "tiny-collapse-content-" + _ctx.state.id
+  }, [createBaseVNode("div", {
+    "data-tag": "tiny-collapse-item-body",
+    class: normalizeClass(["flex relative items-center h-12 sm:h-10 py-0 sm:pr-0 pl-4 pr-10 text-sm font-bold justify-between whitespace-nowrap", _ctx.disabled ? "text-color-text-disabled" : "text-color-text-primary sm:[&:has(.peer:hover)_[role=title]]:text-color-brand"]),
+    id: "tiny-collapse-head-" + _ctx.state.id,
+    tabindex: _ctx.disabled ? void 0 : 0,
+    onKeyup: _cache[2] || (_cache[2] = withKeys(withModifiers(function() {
+      return _ctx.handleEnterClick && _ctx.handleEnterClick.apply(_ctx, arguments);
+    }, ["stop"]), ["space", "enter"])),
+    onFocus: _cache[3] || (_cache[3] = function() {
+      return _ctx.handleFocus && _ctx.handleFocus.apply(_ctx, arguments);
+    }),
+    onBlur: _cache[4] || (_cache[4] = function($event) {
+      return _ctx.state.focusing = false;
+    })
+  }, [createBaseVNode(
+    "div",
+    {
+      "data-tag": "tiny-collapse-item-title",
+      class: normalizeClass(["whitespace-nowrap overflow-hidden overflow-ellipsis inline-block peer", [_ctx.disabled ? "cursor-not-allowed" : "cursor-pointer sm:hover:text-color-brand"]]),
+      role: "title",
+      onClick: _cache[0] || (_cache[0] = function() {
+        return _ctx.handleHeaderClick && _ctx.handleHeaderClick.apply(_ctx, arguments);
+      })
+    },
+    [renderSlot(_ctx.$slots, "title", {}, function() {
+      return [createTextVNode(
+        toDisplayString(_ctx.title),
+        1
+        /* TEXT */
+      )];
+    })],
+    2
+    /* CLASS */
+  ), createBaseVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "title-right", {}, function() {
+    return [createTextVNode(
+      toDisplayString(_ctx.titleRight),
+      1
+      /* TEXT */
+    )];
+  })]), createBaseVNode(
+    "div",
+    {
+      "data-tag": "tiny-collapse-item-icon",
+      class: normalizeClass(["absolute sm:left-0 right-3.5 text-xs mr-1 w-3 peer", [_ctx.disabled ? "fill-color-text-disabled  cursor-not-allowed" : "fill-color-icon-secondary cursor-pointer sm:peer-hover:fill-color-brand sm:hover:fill-color-brand"]]),
+      onClick: _cache[1] || (_cache[1] = function() {
+        return _ctx.handleHeaderClick && _ctx.handleHeaderClick.apply(_ctx, arguments);
+      })
+    },
+    [renderSlot(_ctx.$slots, "icon", {
+      active: _ctx.state.isActive,
+      disabled: _ctx.disabled
+    }, function() {
+      return [createVNode(_component_icon_arrow_bottom, {
+        "custom-class": "w-2.5 h-2.5 sm:w-3 sm:h-3 transition-transform duration-300",
+        class: normalizeClass([_ctx.state.isActive ? "sm:rotate-0 rotate-180" : "sm:-rotate-90 rotate-0"])
+      }, null, 8, ["class"])];
+    })],
+    2
+    /* CLASS */
+  )], 42, _hoisted_3)], 8, _hoisted_2), createVNode(_component_collapse_transition, null, {
+    default: withCtx(function() {
+      return [withDirectives(createBaseVNode("div", {
+        "data-tag": "tiny-collapse-item-active",
+        class: "will-change-[height] bg-color-bg-1 overflow-hidden box-border",
+        role: "tabpanel",
+        "aria-hidden": !_ctx.state.isActive,
+        "aria-labelledby": "tiny-collapse-head-" + _ctx.state.id,
+        id: "tiny-collapse-content-" + _ctx.state.id
+      }, [createBaseVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "default")])], 8, _hoisted_5), [[vShow, _ctx.state.isActive]])];
+    }),
+    _: 3
+    /* FORWARDED */
+  })]);
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+const index = "";
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc;
+};
+var $constants = {
+  INTERVAL: 50
+};
+var collapseItemProps = _extends({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default3() {
+      return $constants;
+    }
+  },
+  title: String,
+  titleRight: String,
+  name: {
+    type: [String, Number],
+    default: function _default22() {
+      return this._uid;
+    }
+  },
+  disabled: Boolean
+});
+var CollapseItem = defineComponent({
+  name: $prefix + "CollapseItem",
+  componentName: "CollapseItem",
+  inject: ["collapse"],
+  props: collapseItemProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+CollapseItem.install = function(Vue) {
+  Vue.component(CollapseItem.name, CollapseItem);
+};
+CollapseItem.version = version;
+export {
+  CollapseItem as C,
+  Collapse as a
+};
diff --git a/admin-website/src/main/resources/static/assets/index38.js b/admin-website/src/main/resources/static/assets/index38.js
new file mode 100644
index 0000000..96b3b10
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index38.js
@@ -0,0 +1,1592 @@
+import { s as svg, a8 as format, y as __spreadProps, z as __spreadValues, d as defineComponent, p as props, j as index$3, ac as index$4, a as setup, $ as $props, b as $prefix, c as $setup } from "./index.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode, k as resolveComponent, M as Fragment, E as toDisplayString, y as createBlock, B as resolveDynamicComponent, A as normalizeClass, D as renderSlot, G as normalizeStyle, J as createTextVNode, I as withDirectives, L as vShow, z as createCommentVNode, N as renderList, H as withCtx, l as createVNode } from "./vue.js";
+import { i as index$5, a as index$6 } from "./chevron-up.js";
+var _hoisted_1$4 = {
+  viewBox: "0 0 2 12",
+  xmlns: "http://www.w3.org/2000/svg"
+};
+var _hoisted_2$3 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M1 0a.75.75 0 0 1 .75.75v6.5a.75.75 0 0 1-1.5 0V.75A.75.75 0 0 1 1 0Zm0 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3$3 = [_hoisted_2$3];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1$4, [].concat(_hoisted_3$3));
+}
+var Warn = {
+  render
+};
+var index$2 = svg({
+  name: "IconWarn",
+  component: Warn
+});
+const index$1 = "";
+const getDate$1 = (dateTime) => ({
+  date: format(dateTime, "yyyy-MM-dd"),
+  time: format(dateTime, "hh:mm")
+});
+const getStatus$1 = ({ state, t }) => (value) => {
+  const status = state.current - value;
+  return status > 0 ? t("ui.steps.done") : status === 0 ? t("ui.steps.doing") : t("ui.steps.wait");
+};
+const computedSpace = ({ props: props2 }) => () => {
+  const { space } = props2;
+  if (/^\d+$/.test(space)) {
+    return `${space}px`;
+  }
+  return space;
+};
+const handleClick$1 = ({ emit, state }) => ({ index: index2, node }) => {
+  if (!node.disabled) {
+    emit("click", state.isReverse ? state.nodes.length - index2 - 1 : index2, node);
+  }
+};
+const getStatusCls$1 = ({ constants, state }) => (index2, node) => {
+  const { PROCESS_DONE_CLS, PROCESS_CUR_CLS, PROCESS_WAIT_CLS, PROCESS_DISABLED_CLS, PROCESS_ERROR_CLS } = constants;
+  const cls = {};
+  const reverse = state.isReverse;
+  if (node == null ? void 0 : node.disabled) {
+    cls[PROCESS_DISABLED_CLS] = true;
+  } else if (node == null ? void 0 : node.error) {
+    cls[PROCESS_ERROR_CLS] = true;
+  } else {
+    cls[PROCESS_DONE_CLS] = reverse ? index2 > state.current : index2 < state.current;
+    cls[PROCESS_CUR_CLS] = index2 === state.current;
+    cls[PROCESS_WAIT_CLS] = reverse ? index2 < state.current : index2 > state.current;
+  }
+  return cls;
+};
+const computedData = ({ props: props2, state }) => () => {
+  if (props2.data) {
+    return state.isReverse ? props2.data.map((item, i) => __spreadProps(__spreadValues({}, props2.data[props2.data.length - 1 - i]), { index: i })) : props2.data.map((item, i) => __spreadProps(__spreadValues({}, item), { index: i }));
+  }
+  return state.timelineItems;
+};
+const computedCurrent$1 = ({ props: props2, state }) => () => state.isReverse ? state.nodes.length - props2.active - 1 : props2.active;
+const computedIsReverse$1 = (props2) => () => props2.reverse && props2.vertical;
+const computedStackNodes = ({ state, props: props2 }) => () => {
+  if (state.nodes.length >= props2.nodeMax && !props2.foldDisabled) {
+    state.showData = true;
+    return state.nodes.slice(0, props2.limitedNodes);
+  }
+  return state.nodes;
+};
+const changeStatus = ({ state }) => () => {
+  state.showAll = !state.showAll;
+  return state.showAll;
+};
+const computedWrapperClass = ({ props: props2 }) => () => {
+  const { vertical, reverse, textPosition, showDivider } = props2;
+  const wrapperClass = [];
+  if (vertical) {
+    wrapperClass.push("tiny-steps-timeline", { reverse, "tiny-timeline__shape-dot": props2.shape === "dot" });
+  } else {
+    wrapperClass.push("tiny-steps-normal", textPosition === "right" ? "text-right" : "text-bottom");
+  }
+  if (showDivider && textPosition === "right") {
+    wrapperClass.push("show-divider");
+  }
+  return wrapperClass;
+};
+const toggleFold = ({ props: props2 }) => (node) => {
+  const isFold = !props2.data[node.index].fold;
+  props2.data[node.index].fold = isFold;
+  return isFold;
+};
+const api$1 = ["state", "handleClick", "getStatusCls", "getStatus", "getDate", "changeStatus", "toggleFold"];
+const renderless$1 = (props2, { computed, reactive, provide, watch }, { t, emit, constants, designConfig }) => {
+  const api2 = {};
+  const state = reactive({
+    nodes: computed(() => api2.computedData()),
+    timelineItems: [],
+    current: computed(() => api2.computedCurrent()),
+    isReverse: computed(() => api2.computedIsReverse()),
+    stackNodes: computed(() => state.showAll ? state.nodes : api2.computedStackNodes()),
+    computedSpace: computed(() => api2.computedSpace()),
+    showData: false,
+    showAll: false,
+    computedWrapperClass: computed(() => api2.computedWrapperClass())
+  });
+  Object.assign(api2, {
+    state,
+    getDate: getDate$1,
+    computedData: computedData({ props: props2, state }),
+    computedCurrent: computedCurrent$1({ props: props2, state }),
+    computedIsReverse: computedIsReverse$1(props2),
+    computedSpace: computedSpace({ props: props2 }),
+    getStatus: getStatus$1({ state, t }),
+    handleClick: handleClick$1({ emit, state }),
+    getStatusCls: getStatusCls$1({ constants, state }),
+    computedStackNodes: computedStackNodes({ state, props: props2 }),
+    changeStatus: changeStatus({ state }),
+    computedWrapperClass: computedWrapperClass({ props: props2 }),
+    toggleFold: toggleFold({ props: props2 })
+  });
+  provide("nodesInject", { timelineItems: state.timelineItems, nodes: state.nodes, props: props2 });
+  watch(
+    () => state.timelineItems,
+    (newVal) => {
+      newVal.forEach((item, i) => item.index = i);
+    },
+    {
+      immediate: true,
+      deep: true
+    }
+  );
+  return api2;
+};
+const getDate = (dateTime) => ({
+  date: format(dateTime, "yyyy-MM-dd"),
+  time: format(dateTime, "hh:mm")
+});
+const getStatus = ({ state, t }) => (value) => {
+  const status = state.current - value;
+  return status > 0 ? t("ui.steps.done") : status === 0 ? t("ui.steps.doing") : t("ui.steps.wait");
+};
+const computedWidth = () => (width) => {
+  return /^\d+$/.test(String(width)) ? `${width}px` : width || "";
+};
+const handleClick = ({ emit, state }) => (node) => {
+  const { index: index2 } = node || {};
+  if (!node.disabled) {
+    emit("click", state.isReverse ? state.nodesLength - index2 - 1 : index2, node);
+  }
+};
+const getStatusCls = ({ constants, state }) => (node) => {
+  const { index: index2 } = node;
+  const { PROCESS_DONE_CLS, PROCESS_CUR_CLS, PROCESS_WAIT_CLS, PROCESS_DISABLED_CLS, PROCESS_ERROR_CLS } = constants;
+  const cls = {};
+  const reverse = state.isReverse;
+  if (node == null ? void 0 : node.disabled) {
+    cls[PROCESS_DISABLED_CLS] = true;
+  } else if (node == null ? void 0 : node.error) {
+    cls[PROCESS_ERROR_CLS] = true;
+  } else {
+    cls[PROCESS_DONE_CLS] = reverse ? index2 > state.current : index2 < state.current;
+    cls[PROCESS_CUR_CLS] = index2 === state.current;
+    cls[PROCESS_WAIT_CLS] = reverse ? index2 < state.current : index2 > state.current;
+  }
+  return cls;
+};
+const computedCurrent = ({ state, api: api2 }) => () => state.isReverse ? state.nodesLength - api2.rootProps.active - 1 : api2.rootProps.active;
+const computedIsReverse = (api2) => () => api2.rootProps.reverse && api2.rootProps.vertical;
+const computedItemCls = ({ props: props2, api: api2, state }) => () => {
+  const itemClass = [];
+  if (api2.rootProps.vertical) {
+    itemClass.push("timeline");
+    if (props2.node.type) {
+      itemClass.push(`timeline-item--${props2.node.type}`);
+    }
+  } else {
+    itemClass.push("normal");
+  }
+  if (!props2.node.type) {
+    itemClass.push(api2.getStatusCls(props2.node));
+  }
+  if (state.computedLineWidth) {
+    itemClass.push("no-flex");
+  }
+  return itemClass;
+};
+const computedIconClass = ({ props: props2, api: api2 }) => () => {
+  let iconClass = ["icon", { "step-icon": api2.rootProps.textPosition === "right" }];
+  const defaultIcons = ["success", "warning", "error"];
+  if (defaultIcons.includes(props2.node[props2.autoColorField])) {
+    iconClass.push(`icon-${props2.node[props2.autoColorField]}`);
+  } else if (props2.node[props2.autoColorField]) {
+    iconClass.push("icon-custom");
+  }
+  return iconClass;
+};
+const computedItemStyle = ({ props: props2, state, api: api2 }) => () => {
+  const { index: index2 } = props2.node;
+  const { computedSpace: computedSpace2, nodesLength } = state;
+  const { textPosition, vertical } = api2.rootProps;
+  if (vertical) {
+    return { height: index2 === nodesLength - 1 ? "" : computedSpace2 };
+  }
+  if (textPosition === "right") {
+    if (computedSpace2 && !state.computedLineWidth) {
+      return { flex: `0 0 ${computedSpace2}` };
+    }
+    return null;
+  }
+  return { width: computedSpace2 || 100 / nodesLength + "%" };
+};
+const api = ["state", "handleClick", "getStatusCls", "getStatus", "getDate", "rootProps"];
+const renderless = (props2, { computed, reactive, inject }, { t, emit, constants }) => {
+  const api2 = {};
+  const { timelineItems, nodes, props: rootProps } = inject("nodesInject");
+  timelineItems.push(props2.node);
+  const state = reactive({
+    nodesLength: computed(() => nodes.length),
+    current: computed(() => api2.computedCurrent()),
+    isReverse: computed(() => api2.computedIsReverse()),
+    computedSpace: computed(() => api2.computedWidth(props2.space || api2.rootProps.space)),
+    computedItemCls: computed(() => api2.computedItemCls()),
+    computedItemStyle: computed(() => api2.computedItemStyle()),
+    computedLineWidth: computed(() => api2.computedWidth(props2.lineWidth || api2.rootProps.lineWidth)),
+    iconClass: computed(() => api2.computedIconClass())
+  });
+  Object.assign(api2, {
+    state,
+    rootProps,
+    getDate,
+    computedCurrent: computedCurrent({ state, api: api2 }),
+    computedIsReverse: computedIsReverse(api2),
+    computedItemCls: computedItemCls({ props: props2, api: api2, state }),
+    computedItemStyle: computedItemStyle({ props: props2, state, api: api2 }),
+    computedWidth: computedWidth(),
+    getStatus: getStatus({ state, t }),
+    handleClick: handleClick({ emit, state }),
+    getStatusCls: getStatusCls({ constants, state }),
+    computedIconClass: computedIconClass({ props: props2, api: api2 })
+  });
+  return api2;
+};
+function _createForOfIteratorHelperLoose$3(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$3(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$3(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$3(o, minLen);
+}
+function _arrayLikeToArray$3(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$3 = function _export_sfc2(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$3(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$3 = defineComponent({
+  emits: ["click"],
+  props: [].concat(props, ["node", "space", "lineWidth", "shape", "autoColorField"]),
+  components: {
+    IconWarn: index$2(),
+    IconClose: index$3(),
+    IconYes: index$4()
+  },
+  setup: function setup$1(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless,
+      api
+    });
+  }
+});
+var _hoisted_1$3 = {
+  key: 0,
+  class: "number"
+};
+var _hoisted_2$2 = {
+  class: "node-description"
+};
+var _hoisted_3$2 = ["textContent"];
+var _hoisted_4$2 = {
+  class: "tiny-timeline-item__description",
+  ref: "description"
+};
+var _hoisted_5$2 = {
+  class: "date-time"
+};
+var _hoisted_6$2 = {
+  class: "time"
+};
+var _hoisted_7$2 = {
+  class: "tiny-steps__node"
+};
+var _hoisted_8$2 = {
+  key: 0,
+  class: "number"
+};
+var _hoisted_9$2 = {
+  class: "node-description"
+};
+var _hoisted_10$2 = ["textContent"];
+var _hoisted_11$2 = {
+  key: 0,
+  class: "status"
+};
+var _hoisted_12$2 = {
+  key: 0,
+  class: "date-time"
+};
+var _hoisted_13$2 = {
+  class: "date"
+};
+var _hoisted_14$2 = {
+  class: "time"
+};
+var _hoisted_15$1 = {
+  class: "tiny-timeline-item__pillar"
+};
+var _hoisted_16$1 = {
+  key: 1,
+  class: "number"
+};
+var _hoisted_17$1 = {
+  key: 1,
+  class: "dot"
+};
+var _hoisted_18$1 = /* @__PURE__ */ createBaseVNode(
+  "div",
+  {
+    class: "line"
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_19$1 = {
+  class: "name"
+};
+var _hoisted_20$1 = {
+  key: 0,
+  class: "time"
+};
+function _sfc_render$3(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_close = resolveComponent("icon-close");
+  var _component_icon_warn = resolveComponent("icon-warn");
+  var _component_icon_yes = resolveComponent("icon-yes");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-timeline-item", _ctx.state.computedItemCls]),
+      style: normalizeStyle(_ctx.state.computedItemStyle)
+    },
+    [!_ctx.rootProps.vertical ? (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 0
+      },
+      [_ctx.rootProps.textPosition === "right" ? (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 0
+        },
+        [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(_ctx.state.iconClass),
+            onClick: _cache[0] || (_cache[0] = function($event) {
+              return _ctx.handleClick(_ctx.node);
+            })
+          },
+          [(_ctx.node.index >= _ctx.state.current || _ctx.rootProps.onlyNumber) && !_ctx.node[_ctx.autoColorField] && !_ctx.node.error ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_1$3,
+            toDisplayString(_ctx.rootProps.showNumber ? _ctx.node.index + _ctx.rootProps.start : ""),
+            1
+            /* TEXT */
+          )) : (openBlock(), createElementBlock(
+            Fragment,
+            {
+              key: 1
+            },
+            [_ctx.node[_ctx.autoColorField] === "error" || _ctx.node.error ? (openBlock(), createBlock(_component_icon_close, {
+              key: 0,
+              class: "tiny-svg-size fixicon icon-error"
+            })) : _ctx.node[_ctx.autoColorField] === "warning" ? (openBlock(), createBlock(_component_icon_warn, {
+              key: 1,
+              class: "tiny-svg-size fixicon icon-warning"
+            })) : _ctx.node[_ctx.autoColorField] === "success" || _ctx.node.index < _ctx.state.current && !_ctx.node[_ctx.autoColorField] ? (openBlock(), createBlock(_component_icon_yes, {
+              key: 2,
+              class: "tiny-svg-size fixicon icon-yes"
+            })) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.node[_ctx.autoColorField]), {
+              key: 3,
+              class: "fixicons"
+            }))],
+            64
+            /* STABLE_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        ), createBaseVNode("div", _hoisted_2$2, [renderSlot(_ctx.$slots, "text", {
+          slotScope: _ctx.node
+        }, function() {
+          return [createBaseVNode("div", {
+            class: "name",
+            textContent: toDisplayString(_ctx.node[_ctx.rootProps.nameField]),
+            onClick: _cache[1] || (_cache[1] = function($event) {
+              return _ctx.handleClick(_ctx.node);
+            })
+          }, null, 8, _hoisted_3$2)];
+        }), createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["line", {
+              "line-done": _ctx.node.index < _ctx.state.current,
+              "line-end": _ctx.node.index === _ctx.state.nodesLength - 1
+            }]),
+            style: normalizeStyle({
+              width: _ctx.state.computedLineWidth
+            })
+          },
+          null,
+          6
+          /* CLASS, STYLE */
+        ), createBaseVNode(
+          "div",
+          _hoisted_4$2,
+          [renderSlot(_ctx.$slots, "description", {
+            slotScope: _ctx.node
+          }, function() {
+            return [createTextVNode(
+              toDisplayString(_ctx.node.description),
+              1
+              /* TEXT */
+            )];
+          }), withDirectives(createBaseVNode(
+            "div",
+            null,
+            [renderSlot(_ctx.$slots, "active-node-desc", {
+              slotScope: _ctx.node
+            })],
+            512
+            /* NEED_PATCH */
+          ), [[vShow, _ctx.node.index === _ctx.rootProps.active]])],
+          512
+          /* NEED_PATCH */
+        )])],
+        64
+        /* STABLE_FRAGMENT */
+      )) : (openBlock(), createElementBlock(
+        Fragment,
+        {
+          key: 1
+        },
+        [renderSlot(_ctx.$slots, "top", {
+          slotScope: _ctx.node
+        }, function() {
+          return [createBaseVNode("div", _hoisted_5$2, [createBaseVNode(
+            "span",
+            _hoisted_6$2,
+            toDisplayString(_ctx.getDate(_ctx.node[_ctx.rootProps.timeField]).date) + " " + toDisplayString(_ctx.getDate(_ctx.node[_ctx.rootProps.timeField]).time),
+            1
+            /* TEXT */
+          )])];
+        }), createBaseVNode("div", _hoisted_7$2, [createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(_ctx.state.iconClass),
+            onClick: _cache[2] || (_cache[2] = function($event) {
+              return _ctx.handleClick(_ctx.node);
+            })
+          },
+          [(_ctx.node.index >= _ctx.state.current || _ctx.rootProps.onlyNumber) && !_ctx.node[_ctx.autoColorField] && !_ctx.node.error ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_8$2,
+            toDisplayString(_ctx.rootProps.showNumber ? _ctx.node.index + _ctx.rootProps.start : ""),
+            1
+            /* TEXT */
+          )) : (openBlock(), createElementBlock(
+            Fragment,
+            {
+              key: 1
+            },
+            [_ctx.node[_ctx.autoColorField] === "error" || _ctx.node.error ? (openBlock(), createBlock(_component_icon_close, {
+              key: 0,
+              class: "tiny-svg-size fixicon icon-error"
+            })) : _ctx.node[_ctx.autoColorField] === "warning" ? (openBlock(), createBlock(_component_icon_warn, {
+              key: 1,
+              class: "tiny-svg-size fixicon icon-warning"
+            })) : _ctx.node[_ctx.autoColorField] === "success" || _ctx.node.index < _ctx.state.current && !_ctx.node[_ctx.autoColorField] ? (openBlock(), createBlock(_component_icon_yes, {
+              key: 2,
+              class: "tiny-svg-size fixicon icon-yes"
+            })) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.node[_ctx.autoColorField]), {
+              key: 3,
+              class: "fixicons"
+            }))],
+            64
+            /* STABLE_FRAGMENT */
+          ))],
+          2
+          /* CLASS */
+        ), createBaseVNode(
+          "div",
+          {
+            class: normalizeClass(["line", {
+              "line-done": _ctx.node.index < _ctx.state.current,
+              "line-end": _ctx.node.index === _ctx.state.nodesLength - 1
+            }])
+          },
+          null,
+          2
+          /* CLASS */
+        )]), createBaseVNode("div", _hoisted_9$2, [renderSlot(_ctx.$slots, "bottom", {
+          slotScope: _ctx.node
+        }, function() {
+          return [createBaseVNode("div", {
+            class: "name",
+            textContent: toDisplayString(_ctx.node[_ctx.rootProps.nameField]),
+            onClick: _cache[3] || (_cache[3] = function($event) {
+              return _ctx.handleClick(_ctx.node);
+            })
+          }, null, 8, _hoisted_10$2), _ctx.rootProps.showStatus ? (openBlock(), createElementBlock(
+            "div",
+            _hoisted_11$2,
+            toDisplayString(_ctx.getStatus(_ctx.node.index)),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)];
+        })])],
+        64
+        /* STABLE_FRAGMENT */
+      ))],
+      64
+      /* STABLE_FRAGMENT */
+    )) : (openBlock(), createElementBlock(
+      Fragment,
+      {
+        key: 1
+      },
+      [renderSlot(_ctx.$slots, "left", {
+        slotScope: _ctx.node
+      }, function() {
+        return [_ctx.shape === "circle" ? (openBlock(), createElementBlock("div", _hoisted_12$2, [createBaseVNode(
+          "span",
+          _hoisted_13$2,
+          toDisplayString(_ctx.getDate(_ctx.node[_ctx.rootProps.timeField]).date),
+          1
+          /* TEXT */
+        ), createBaseVNode(
+          "span",
+          _hoisted_14$2,
+          toDisplayString(_ctx.getDate(_ctx.node[_ctx.rootProps.timeField]).time),
+          1
+          /* TEXT */
+        )])) : createCommentVNode("v-if", true)];
+      }), createBaseVNode("div", _hoisted_15$1, [_ctx.shape === "circle" ? (openBlock(), createElementBlock(
+        "div",
+        {
+          key: 0,
+          class: normalizeClass(_ctx.state.iconClass),
+          onClick: _cache[4] || (_cache[4] = function($event) {
+            return _ctx.handleClick(_ctx.node);
+          })
+        },
+        [(_ctx.state.isReverse ? _ctx.node.index > _ctx.state.current : _ctx.node.index < _ctx.state.current) || _ctx.node[_ctx.autoColorField] ? (openBlock(), createElementBlock(
+          Fragment,
+          {
+            key: 0
+          },
+          [_ctx.node[_ctx.autoColorField] === "error" || _ctx.node.error ? (openBlock(), createBlock(_component_icon_close, {
+            key: 0,
+            class: "tiny-svg-size fixicon icon-error"
+          })) : _ctx.node[_ctx.autoColorField] === "warning" ? (openBlock(), createBlock(_component_icon_warn, {
+            key: 1,
+            class: "tiny-svg-size fixicon icon-warning"
+          })) : _ctx.node[_ctx.autoColorField] === "success" || !_ctx.node[_ctx.autoColorField] ? (openBlock(), createBlock(_component_icon_yes, {
+            key: 2,
+            class: "tiny-svg-size fixicon icon-yes"
+          })) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.node[_ctx.autoColorField]), {
+            key: 3,
+            class: "fixicons"
+          }))],
+          64
+          /* STABLE_FRAGMENT */
+        )) : (openBlock(), createElementBlock(
+          "span",
+          _hoisted_16$1,
+          toDisplayString(_ctx.rootProps.showNumber ? _ctx.state.isReverse ? _ctx.state.nodesLength - 1 - _ctx.node.index + _ctx.rootProps.start : _ctx.node.index + _ctx.rootProps.start : ""),
+          1
+          /* TEXT */
+        ))],
+        2
+        /* CLASS */
+      )) : (openBlock(), createElementBlock("div", {
+        key: 1,
+        class: "dot-container",
+        onClick: _cache[5] || (_cache[5] = function($event) {
+          return _ctx.handleClick(_ctx.node);
+        })
+      }, [_ctx.node[_ctx.autoColorField] ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.node[_ctx.autoColorField]), {
+        key: 0,
+        class: "fixicons"
+      })) : (openBlock(), createElementBlock("span", _hoisted_17$1))])), _hoisted_18$1]), renderSlot(_ctx.$slots, "right", {
+        slotScope: _ctx.node
+      }, function() {
+        return [createBaseVNode("div", {
+          class: "tiny-timeline-item__content",
+          onClick: _cache[6] || (_cache[6] = function($event) {
+            return _ctx.handleClick(_ctx.node);
+          })
+        }, [createBaseVNode(
+          "div",
+          _hoisted_19$1,
+          toDisplayString(_ctx.node[_ctx.rootProps.nameField]),
+          1
+          /* TEXT */
+        ), _ctx.shape === "dot" ? (openBlock(), createElementBlock(
+          "div",
+          _hoisted_20$1,
+          toDisplayString(_ctx.node[_ctx.rootProps.timeField]),
+          1
+          /* TEXT */
+        )) : createCommentVNode("v-if", true)])];
+      })],
+      64
+      /* STABLE_FRAGMENT */
+    ))],
+    6
+    /* CLASS, STYLE */
+  );
+}
+var pc$1 = /* @__PURE__ */ _export_sfc$3(_sfc_main$3, [["render", _sfc_render$3]]);
+function _extends$1() {
+  _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends$1.apply(this, arguments);
+}
+var template$1 = function template2(mode) {
+  var _process$env;
+  typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  return pc$1;
+};
+var $constants$1 = {
+  PROCESS_DONE_CLS: "process-done",
+  PROCESS_CUR_CLS: "process-current",
+  PROCESS_WAIT_CLS: "process-wait",
+  PROCESS_DISABLED_CLS: "process-disabled",
+  PROCESS_ERROR_CLS: "process-error",
+  STACK_NODES_MAX: 7,
+  LIMITED_STACK_NODES: 3
+};
+var timelineItemProps = _extends$1({}, $props, {
+  node: {
+    type: Object,
+    default: {}
+  },
+  _constants: {
+    type: Object,
+    default: function _default() {
+      return $constants$1;
+    }
+  },
+  space: {
+    type: [String, Number],
+    default: ""
+  },
+  lineWidth: {
+    type: [String, Number],
+    default: ""
+  },
+  autoColorField: {
+    type: String,
+    default: "autoColor"
+  }
+});
+var TimelineItem = defineComponent({
+  name: $prefix + "TimelineItem",
+  props: timelineItemProps,
+  setup: function setup2(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template: template$1
+    });
+  }
+});
+var version$1 = "3.16.0";
+TimelineItem.install = function(Vue) {
+  Vue.component(TimelineItem.name, TimelineItem);
+};
+TimelineItem.version = version$1;
+function _createForOfIteratorHelperLoose$2(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$2(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$2(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$2(o, minLen);
+}
+function _arrayLikeToArray$2(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$2 = function _export_sfc22(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$2(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$2 = defineComponent({
+  emits: ["click"],
+  props: [].concat(props, ["vertical", "horizontal", "showNumber", "nameField", "timeField", "start", "data", "space", "active", "reverse", "showStatus", "size", "textPosition", "showDivider", "onlyNumber", "lineWidth", "shape", "autoColorField"]),
+  components: {
+    TinyTimelineItem: TimelineItem
+  },
+  setup: function setup$12(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$2 = {
+  key: 0,
+  class: "tiny-steps__bottom-divider"
+};
+function _sfc_render$2(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_tiny_timeline_item = resolveComponent("tiny-timeline-item");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-timeline tiny-steps", {
+        "is-horizontal": _ctx.horizontal && !_ctx.vertical,
+        "tiny-steps--mini": _ctx.size === "mini"
+      }])
+    },
+    [createBaseVNode(
+      "div",
+      {
+        class: normalizeClass(_ctx.state.computedWrapperClass)
+      },
+      [renderSlot(_ctx.$slots, "default", {}, function() {
+        return [(openBlock(true), createElementBlock(
+          Fragment,
+          null,
+          renderList(_ctx.state.nodes, function(node, index2) {
+            return openBlock(), createBlock(_component_tiny_timeline_item, {
+              key: index2,
+              node,
+              space: _ctx.space,
+              "line-width": _ctx.lineWidth,
+              shape: _ctx.shape,
+              autoColorField: _ctx.autoColorField,
+              onClick: function onClick($event) {
+                return _ctx.handleClick({
+                  index: index2,
+                  node
+                });
+              }
+            }, {
+              "active-node-desc": withCtx(function(slotScoped) {
+                return [renderSlot(_ctx.$slots, "active-node-desc", {
+                  node: slotScoped.node
+                })];
+              }),
+              top: withCtx(function(_ref) {
+                var slotScope = _ref.slotScope;
+                return [renderSlot(_ctx.$slots, "top", {
+                  slotScope
+                })];
+              }),
+              bottom: withCtx(function(_ref2) {
+                var slotScope = _ref2.slotScope;
+                return [renderSlot(_ctx.$slots, "bottom", {
+                  slotScope
+                })];
+              }),
+              left: withCtx(function(_ref3) {
+                var slotScope = _ref3.slotScope;
+                return [renderSlot(_ctx.$slots, "left", {
+                  slotScope
+                })];
+              }),
+              right: withCtx(function(_ref4) {
+                var slotScope = _ref4.slotScope;
+                return [renderSlot(_ctx.$slots, "right", {
+                  slotScope
+                })];
+              }),
+              _: 2
+              /* DYNAMIC */
+            }, 1032, ["node", "space", "line-width", "shape", "autoColorField", "onClick"]);
+          }),
+          128
+          /* KEYED_FRAGMENT */
+        ))];
+      })],
+      2
+      /* CLASS */
+    ), _ctx.textPosition === "right" && _ctx.showDivider ? (openBlock(), createElementBlock("div", _hoisted_1$2)) : createCommentVNode("v-if", true)],
+    2
+    /* CLASS */
+  );
+}
+var pc = /* @__PURE__ */ _export_sfc$2(_sfc_main$2, [["render", _sfc_render$2]]);
+const index = "";
+function _createForOfIteratorHelperLoose$1(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray$1(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray$1(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray$1(o, minLen);
+}
+function _arrayLikeToArray$1(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc$1 = function _export_sfc23(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose$1(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  emits: ["click"],
+  props: [].concat(props, ["vertical", "horizontal", "showNumber", "nameField", "timeField", "start", "data", "space", "active", "reverse", "showStatus", "showFoldBtn"]),
+  components: {
+    IconYes: index$4()
+  },
+  setup: function setup$13(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1$1 = {
+  key: 0,
+  class: "tiny-mobile-steps-normal"
+};
+var _hoisted_2$1 = {
+  class: "date-time"
+};
+var _hoisted_3$1 = {
+  class: "time"
+};
+var _hoisted_4$1 = ["onClick"];
+var _hoisted_5$1 = {
+  key: 0
+};
+var _hoisted_6$1 = ["custom-title"];
+var _hoisted_7$1 = {
+  class: "node-description"
+};
+var _hoisted_8$1 = ["textContent"];
+var _hoisted_9$1 = {
+  class: "status"
+};
+var _hoisted_10$1 = {
+  class: "header"
+};
+var _hoisted_11$1 = {
+  key: 0,
+  class: "date-time-vertical"
+};
+var _hoisted_12$1 = {
+  class: "time"
+};
+var _hoisted_13$1 = {
+  class: "name"
+};
+var _hoisted_14$1 = ["onClick"];
+function _sfc_render$1(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_yes = resolveComponent("icon-yes");
+  return openBlock(), createElementBlock(
+    "div",
+    {
+      class: normalizeClass(["tiny-mobile-steps", {
+        "is-horizontal": _ctx.horizontal && !_ctx.vertical
+      }])
+    },
+    [!_ctx.vertical ? (openBlock(), createElementBlock("div", _hoisted_1$1, [(openBlock(true), createElementBlock(
+      Fragment,
+      null,
+      renderList(_ctx.state.nodes, function(node, index2) {
+        return openBlock(), createElementBlock(
+          "div",
+          {
+            key: index2,
+            style: normalizeStyle({
+              width: _ctx.horizontal ? _ctx.space ? _ctx.space + "px" : 100 / _ctx.state.nodes.length + "%" : null
+            }),
+            class: normalizeClass(["normal", _ctx.getStatusCls(index2)])
+          },
+          [renderSlot(_ctx.$slots, "top", {
+            slotScope: node
+          }, function() {
+            return [createBaseVNode("div", _hoisted_2$1, [createBaseVNode(
+              "span",
+              _hoisted_3$1,
+              toDisplayString(_ctx.getDate(node[_ctx.timeField]).date) + " " + toDisplayString(_ctx.getDate(node[_ctx.timeField]).time),
+              1
+              /* TEXT */
+            )])];
+          }), createBaseVNode("div", {
+            class: "icon",
+            onClick: function onClick($event) {
+              return _ctx.handleClick({
+                index: index2,
+                node
+              });
+            }
+          }, [index2 >= _ctx.state.current ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_5$1,
+            toDisplayString(_ctx.showNumber ? index2 + _ctx.start : ""),
+            1
+            /* TEXT */
+          )) : (openBlock(), createElementBlock("span", {
+            key: 1,
+            "custom-title": index2 + _ctx.start,
+            class: "icon-wrap"
+          }, [createVNode(_component_icon_yes, {
+            class: "tiny-svg-size fixicon"
+          })], 8, _hoisted_6$1))], 8, _hoisted_4$1), createBaseVNode(
+            "div",
+            {
+              class: normalizeClass(["line", {
+                "line-done": index2 < _ctx.state.current,
+                "line-end": index2 === _ctx.state.nodes.length - 1
+              }])
+            },
+            null,
+            2
+            /* CLASS */
+          ), createBaseVNode("div", _hoisted_7$1, [renderSlot(_ctx.$slots, "bottom", {
+            item: node
+          }, function() {
+            return [createBaseVNode("div", {
+              class: "name",
+              textContent: toDisplayString(node[_ctx.nameField])
+            }, null, 8, _hoisted_8$1), createBaseVNode(
+              "div",
+              _hoisted_9$1,
+              toDisplayString(_ctx.showStatus ? _ctx.getStatus(index2) : ""),
+              1
+              /* TEXT */
+            )];
+          })])],
+          6
+          /* CLASS, STYLE */
+        );
+      }),
+      128
+      /* KEYED_FRAGMENT */
+    ))])) : (openBlock(), createElementBlock(
+      "div",
+      {
+        key: 1,
+        class: normalizeClass(["tiny-mobile-steps-timeline", {
+          reverse: _ctx.reverse
+        }])
+      },
+      [(openBlock(true), createElementBlock(
+        Fragment,
+        null,
+        renderList(_ctx.state.nodes, function(node, index2) {
+          return openBlock(), createElementBlock("div", {
+            key: index2,
+            class: "timeline"
+          }, [createBaseVNode("ul", null, [createBaseVNode("li", null, [createBaseVNode("div", _hoisted_10$1, [node.time ? (openBlock(), createElementBlock("div", _hoisted_11$1, [createBaseVNode(
+            "span",
+            _hoisted_12$1,
+            toDisplayString(_ctx.getDate(node[_ctx.timeField]).date) + " " + toDisplayString(_ctx.getDate(node[_ctx.timeField]).time),
+            1
+            /* TEXT */
+          )])) : createCommentVNode("v-if", true), createBaseVNode(
+            "span",
+            {
+              class: normalizeClass(["round", "round-" + node.state])
+            },
+            null,
+            2
+            /* CLASS */
+          ), renderSlot(_ctx.$slots, "header", {
+            item: node
+          }, function() {
+            return [createBaseVNode(
+              "div",
+              _hoisted_13$1,
+              toDisplayString(node.name),
+              1
+              /* TEXT */
+            )];
+          }), node.showFoldBtn ? (openBlock(), createElementBlock("div", {
+            key: 1,
+            class: "arrow-btn",
+            onClick: function onClick($event) {
+              return _ctx.toggleFold(node);
+            }
+          }, [createBaseVNode(
+            "div",
+            {
+              class: normalizeClass(["arrow-btn-arrow", node.fold ? "arrow-btn-arrow-fold" : ""])
+            },
+            null,
+            2
+            /* CLASS */
+          )], 8, _hoisted_14$1)) : createCommentVNode("v-if", true)]), !node.fold ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 0,
+              class: normalizeClass(["content", node.time ? "content-left-margin" : null])
+            },
+            [renderSlot(_ctx.$slots, "content", {
+              item: node
+            })],
+            2
+            /* CLASS */
+          )) : createCommentVNode("v-if", true), _ctx.state.nodes.length > 1 ? (openBlock(), createElementBlock(
+            "div",
+            {
+              key: 1,
+              class: normalizeClass(["line", node.time ? "line-left-margin" : null])
+            },
+            null,
+            2
+            /* CLASS */
+          )) : createCommentVNode("v-if", true)])])]);
+        }),
+        128
+        /* KEYED_FRAGMENT */
+      ))],
+      2
+      /* CLASS */
+    ))],
+    2
+    /* CLASS */
+  );
+}
+var mobile = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render$1]]);
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+  if (it)
+    return (it = it.call(o)).next.bind(it);
+  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+    if (it)
+      o = it;
+    var i = 0;
+    return function() {
+      if (i >= o.length)
+        return { done: true };
+      return { done: false, value: o[i++] };
+    };
+  }
+  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+function _unsupportedIterableToArray(o, minLen) {
+  if (!o)
+    return;
+  if (typeof o === "string")
+    return _arrayLikeToArray(o, minLen);
+  var n = Object.prototype.toString.call(o).slice(8, -1);
+  if (n === "Object" && o.constructor)
+    n = o.constructor.name;
+  if (n === "Map" || n === "Set")
+    return Array.from(o);
+  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+    return _arrayLikeToArray(o, minLen);
+}
+function _arrayLikeToArray(arr, len) {
+  if (len == null || len > arr.length)
+    len = arr.length;
+  for (var i = 0, arr2 = new Array(len); i < len; i++)
+    arr2[i] = arr[i];
+  return arr2;
+}
+var _export_sfc = function _export_sfc24(sfc, props2) {
+  var target = sfc.__vccOpts || sfc;
+  for (var _iterator = _createForOfIteratorHelperLoose(props2), _step; !(_step = _iterator()).done; ) {
+    var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
+    target[key] = val;
+  }
+  return target;
+};
+var _sfc_main = defineComponent({
+  emits: ["click"],
+  props: [].concat(props, ["vertical", "nameField", "timeField", "tipsField", "autoColorField", "data", "space", "subField", "foldDisabled", "nodeMax", "limitedNodes"]),
+  components: {
+    IconChevronDown: index$5(),
+    IconChevronUp: index$6()
+  },
+  setup: function setup$14(props2, context) {
+    return setup({
+      props: props2,
+      context,
+      renderless: renderless$1,
+      api: api$1
+    });
+  }
+});
+var _hoisted_1 = {
+  class: "inline-flex flex-col",
+  "data-tag": "tiny-timeline"
+};
+var _hoisted_2 = {
+  class: "inline-flex sm:items-start",
+  "data-tag": "tiny-timeline-list"
+};
+var _hoisted_3 = {
+  class: "text-color-text-secondary text-left !mr-2 inline-flex text-xs"
+};
+var _hoisted_4 = {
+  class: "sm:inline-block hidden leading-5 w-32"
+};
+var _hoisted_5 = {
+  class: "ml-1"
+};
+var _hoisted_6 = {
+  class: "sm:hidden inline-flex flex-col leading-5.5 w-20"
+};
+var _hoisted_7 = {
+  class: "text-sm"
+};
+var _hoisted_8 = {
+  class: "text-sm mb-6"
+};
+var _hoisted_9 = {
+  class: "mt-1 w-3 h-3 leading-3 box-border relative text-xs text-center -ml-1.5 cursor-pointer inline-flex items-center justify-center align-top"
+};
+var _hoisted_10 = {
+  key: 1,
+  class: /* @__PURE__ */ normalizeClass(["rounded-full block w-1.5 h-1.5 bg-color-brand"])
+};
+var _hoisted_11 = {
+  "data-tag": "tiny-timeline-list-left",
+  class: "sm:text-color-text-secondary text-color-text-placeholder text-left sm:pl-3 !pl-2 inline-flex flex-col sm:flex-row"
+};
+var _hoisted_12 = {
+  class: "inline-block sm:text-xs text-sm sm:leading-5 leading-5.5"
+};
+var _hoisted_13 = {
+  key: 0,
+  class: "sm:hidden inline-block sm:leading-5 leading-5.5 text-sm overflow-hidden text-ellipsis whitespace-nowrap max-w-[theme(spacing.56)] mb-6 text-color-text-primary"
+};
+var _hoisted_14 = {
+  key: 1,
+  class: "sm:hidden max-w-[theme(spacing.56)] inline-block text-color-icon-secondary text-xs mt-2.5 leading-5"
+};
+var _hoisted_15 = {
+  key: 0,
+  class: "max-w-[theme(spacing.56)] inline-block text-color-icon-secondary sm:text-xs text-sm leading-5 mb-4 break-all break-words"
+};
+var _hoisted_16 = {
+  class: "inline-block leading-5.5 sm:text-xs text-sm overflow-hidden text-ellipsis whitespace-nowrap max-w-[theme(spacing.56)]"
+};
+var _hoisted_17 = {
+  key: 0,
+  class: "max-w-[theme(spacing.56)] break-all break-words leading-5 inline-block text-color-icon-secondary text-xs sm:text-xs"
+};
+var _hoisted_18 = {
+  key: 0,
+  "data-tag": "tiny-timeline-showdata",
+  class: "sm:ml-6 ml-5 sm:m-0 my-1 sm:leading-5 sm:h-5 leading-5.5 inline-flex items-center"
+};
+var _hoisted_19 = {
+  key: 0,
+  class: "inline-flex items-center"
+};
+var _hoisted_20 = {
+  key: 1,
+  class: "inline-flex items-center"
+};
+function _sfc_render(_ctx, _cache, $props2, $setup2, $data, $options) {
+  var _component_icon_chevron_up = resolveComponent("icon-chevron-up");
+  var _component_icon_chevron_down = resolveComponent("icon-chevron-down");
+  return openBlock(), createElementBlock("div", _hoisted_1, [(openBlock(true), createElementBlock(
+    Fragment,
+    null,
+    renderList(_ctx.state.stackNodes, function(node, index2) {
+      return openBlock(), createElementBlock(
+        "div",
+        {
+          "data-tag": "tiny-timeline-nodes",
+          key: index2,
+          style: normalizeStyle({
+            height: index2 === _ctx.state.stackNodes.length - 1 ? "" : _ctx.space && _ctx.space + "px"
+          }),
+          class: normalizeClass(["inline-flex", _ctx.getStatusCls(index2)])
+        },
+        [createBaseVNode("ul", _hoisted_2, [_ctx.subField ? renderSlot(_ctx.$slots, "left", {
+          key: 0,
+          slotScope: node
+        }, function() {
+          return [createBaseVNode("li", _hoisted_3, [createBaseVNode("div", _hoisted_4, [createBaseVNode(
+            "span",
+            null,
+            toDisplayString(_ctx.getDate(node[_ctx.timeField]).date),
+            1
+            /* TEXT */
+          ), createBaseVNode(
+            "span",
+            _hoisted_5,
+            toDisplayString(_ctx.getDate(node[_ctx.timeField]).time),
+            1
+            /* TEXT */
+          )]), createBaseVNode("div", _hoisted_6, [createBaseVNode(
+            "span",
+            _hoisted_7,
+            toDisplayString(_ctx.getDate(node[_ctx.timeField]).date),
+            1
+            /* TEXT */
+          ), createBaseVNode(
+            "span",
+            _hoisted_8,
+            toDisplayString(_ctx.getDate(node[_ctx.timeField]).time),
+            1
+            /* TEXT */
+          )])])];
+        }) : createCommentVNode("v-if", true), createBaseVNode(
+          "li",
+          {
+            "data-tag": "tiny-timeline-autocolor",
+            style: normalizeStyle({
+              height: index2 === _ctx.state.stackNodes.length - 1 ? "" : _ctx.space && _ctx.space + "px"
+            }),
+            class: "ml-1.5 relative h-full"
+          },
+          [createBaseVNode(
+            "div",
+            {
+              class: normalizeClass(["sm:w-px absolute mt-4 h-[calc(100%-theme(spacing.3))]", {
+                "sm:bg-color-bg-3 sm:border-0 border-l-0.5 border-l-color-bg-3": index2 !== _ctx.state.stackNodes.length - 1
+              }])
+            },
+            null,
+            2
+            /* CLASS */
+          ), createBaseVNode("div", _hoisted_9, [typeof node[_ctx.autoColorField] === "string" ? (openBlock(), createElementBlock(
+            "span",
+            {
+              key: 0,
+              class: normalizeClass(["rounded-full block w-1.5 h-1.5", node[_ctx.autoColorField] === "success" && "bg-color-success", node[_ctx.autoColorField] === "error" && "bg-color-error", node[_ctx.autoColorField] === "info" && "bg-color-text-disabled"])
+            },
+            null,
+            2
+            /* CLASS */
+          )) : !node[_ctx.autoColorField] ? (openBlock(), createElementBlock("span", _hoisted_10)) : (openBlock(), createBlock(resolveDynamicComponent(node[_ctx.autoColorField]), {
+            key: 2
+          }))])],
+          4
+          /* STYLE */
+        ), !_ctx.subField ? renderSlot(_ctx.$slots, "left", {
+          key: 1,
+          slotScope: node
+        }, function() {
+          return [createBaseVNode("li", _hoisted_11, [createBaseVNode(
+            "span",
+            _hoisted_12,
+            toDisplayString(_ctx.getDate(node[_ctx.timeField]).date) + " " + toDisplayString(_ctx.getDate(node[_ctx.timeField]).time),
+            1
+            /* TEXT */
+          ), node[_ctx.nameField] ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_13,
+            toDisplayString(node[_ctx.nameField]),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true), node[_ctx.tipsField] ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_14,
+            toDisplayString(node[_ctx.tipsField]),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)])];
+        }) : createCommentVNode("v-if", true), createBaseVNode(
+          "li",
+          {
+            class: normalizeClass(["hidden sm:text-xs text-sm text-color-text-primary sm:inline-flex flex-col", _ctx.subField ? "!ml-4.5" : "!ml-3 "])
+          },
+          [createBaseVNode(
+            "span",
+            {
+              class: normalizeClass(["inline-block leading-5 sm:text-xs text-sm overflow-hidden text-ellipsis whitespace-nowrap max-w-[theme(spacing.56)]", {
+                "mb-4": !_ctx.subField
+              }])
+            },
+            toDisplayString(node[_ctx.nameField]),
+            3
+            /* TEXT, CLASS */
+          ), _ctx.subField ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_15,
+            toDisplayString(node[_ctx.tipsField]),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        ), _ctx.subField ? (openBlock(), createElementBlock(
+          "li",
+          {
+            key: 2,
+            class: normalizeClass(["sm:hidden text-xs text-color-text-primary inline-flex flex-col", _ctx.subField ? "!ml-4.5" : "!ml-3 "])
+          },
+          [createBaseVNode(
+            "span",
+            _hoisted_16,
+            toDisplayString(node[_ctx.nameField]),
+            1
+            /* TEXT */
+          ), node[_ctx.tipsField] ? (openBlock(), createElementBlock(
+            "span",
+            _hoisted_17,
+            toDisplayString(node[_ctx.tipsField]),
+            1
+            /* TEXT */
+          )) : createCommentVNode("v-if", true)],
+          2
+          /* CLASS */
+        )) : createCommentVNode("v-if", true)])],
+        6
+        /* CLASS, STYLE */
+      );
+    }),
+    128
+    /* KEYED_FRAGMENT */
+  )), _ctx.state.showData ? (openBlock(), createElementBlock("div", _hoisted_18, [createBaseVNode("div", {
+    "data-tag": "tiny-timeline-status",
+    class: "sm:h-3 h-3.5 cursor-pointer inline-flex text-color-brand fill-color-brand sm:text-xs text-sm",
+    onClick: _cache[0] || (_cache[0] = function() {
+      return _ctx.changeStatus && _ctx.changeStatus.apply(_ctx, arguments);
+    })
+  }, [_ctx.state.showAll ? (openBlock(), createElementBlock("span", _hoisted_19, "收起")) : (openBlock(), createElementBlock("span", _hoisted_20, "展开")), _ctx.state.showAll ? (openBlock(), createBlock(_component_icon_chevron_up, {
+    key: 2,
+    class: "w-3 h-3 sm:ml-2 ml-1 my-px sm:my-0"
+  })) : (openBlock(), createBlock(_component_icon_chevron_down, {
+    key: 3,
+    class: "w-3 h-3 sm:ml-2 ml-1 my-px sm:my-0"
+  }))])])) : createCommentVNode("v-if", true)]);
+}
+var mobileFirst = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+function _extends() {
+  _extends = Object.assign ? Object.assign.bind() : function(target) {
+    for (var i = 1; i < arguments.length; i++) {
+      var source = arguments[i];
+      for (var key in source) {
+        if (Object.prototype.hasOwnProperty.call(source, key)) {
+          target[key] = source[key];
+        }
+      }
+    }
+    return target;
+  };
+  return _extends.apply(this, arguments);
+}
+var template = function template22(mode) {
+  var _process$env;
+  var tinyMode = typeof process === "object" ? (_process$env = {}) == null ? void 0 : _process$env.TINY_MODE : null;
+  if ("pc" === (tinyMode || mode)) {
+    return pc;
+  }
+  if ("mobile" === (tinyMode || mode)) {
+    return mobile;
+  }
+  if ("mobile-first" === (tinyMode || mode)) {
+    return mobileFirst;
+  }
+  return pc;
+};
+var $constants = {
+  PROCESS_DONE_CLS: "process-done",
+  PROCESS_CUR_CLS: "process-current",
+  PROCESS_WAIT_CLS: "process-wait",
+  PROCESS_DISABLED_CLS: "process-disabled",
+  PROCESS_ERROR_CLS: "process-error",
+  STACK_NODES_MAX: 7,
+  LIMITED_STACK_NODES: 3
+};
+var timelineProps = _extends({}, $props, {
+  _constants: {
+    type: Object,
+    default: function _default2() {
+      return $constants;
+    }
+  },
+  vertical: {
+    type: Boolean,
+    default: false
+  },
+  horizontal: {
+    type: Boolean,
+    default: true
+  },
+  showNumber: {
+    type: Boolean,
+    default: true
+  },
+  nameField: {
+    type: String,
+    default: "name"
+  },
+  timeField: {
+    type: String,
+    default: "time"
+  },
+  tipsField: {
+    type: String,
+    default: "tips"
+  },
+  autoColorField: {
+    type: String,
+    default: "autoColor"
+  },
+  showIconField: {
+    type: String,
+    default: "showIcon"
+  },
+  start: {
+    type: Number,
+    default: 1
+  },
+  data: Array,
+  space: {
+    type: [String, Number],
+    default: ""
+  },
+  active: {
+    type: Number,
+    default: -1
+  },
+  reverse: {
+    type: Boolean,
+    default: false
+  },
+  showStatus: {
+    type: Boolean,
+    default: false
+  },
+  subField: {
+    type: Boolean,
+    default: false
+  },
+  foldDisabled: {
+    type: Boolean,
+    default: false
+  },
+  nodeMax: {
+    type: [Number, String],
+    default: $constants.STACK_NODES_MAX
+  },
+  limitedNodes: {
+    type: [Number, String],
+    default: $constants.LIMITED_STACK_NODES
+  },
+  onlyNumber: {
+    type: Boolean,
+    default: false
+  },
+  lineWidth: {
+    type: [String, Number],
+    default: ""
+  },
+  shape: {
+    type: String,
+    default: "circle"
+  }
+});
+var TimeLine = defineComponent({
+  name: $prefix + "TimeLine",
+  props: timelineProps,
+  setup: function setup3(props2, context) {
+    return $setup({
+      props: props2,
+      context,
+      template
+    });
+  }
+});
+var version = "3.16.0";
+TimeLine.install = function(Vue) {
+  Vue.component(TimeLine.name, TimeLine);
+};
+TimeLine.version = version;
+export {
+  TimeLine as T
+};
diff --git a/admin-website/src/main/resources/static/assets/index4.css b/admin-website/src/main/resources/static/assets/index4.css
new file mode 100644
index 0000000..c46db71
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index4.css
@@ -0,0 +1,25 @@
+.container[data-v-7e3c5c0f] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: auto;
+}
+.container .content[data-v-7e3c5c0f] {
+  height: 100%;
+  overflow: auto;
+  text-align: center;
+  background: #fff;
+  border-radius: 10px;
+}
+.container .content text[data-v-7e3c5c0f] {
+  width: 1122px;
+  height: 100px;
+  color: #5e7ce0;
+  font-weight: normal;
+  font-size: 72px;
+  line-height: 300px;
+  text-align: left;
+}
diff --git a/admin-website/src/main/resources/static/assets/index4.js b/admin-website/src/main/resources/static/assets/index4.js
new file mode 100644
index 0000000..f99eb28
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index4.js
@@ -0,0 +1,788 @@
+import { d as defineComponent, a0 as useI18n, r as ref, a8 as reactive, c as computed, u as openBlock, v as createElementBlock, w as createBaseVNode, E as toDisplayString, l as createVNode, H as withCtx, W as unref, J as createTextVNode, Z as pushScopeId, _ as popScopeId, a9 as toRefs, k as resolveComponent, y as createBlock, z as createCommentVNode, M as Fragment, B as resolveDynamicComponent } from "./vue.js";
+import { I as Input, B as Button, T as TINYModal, _ as _export_sfc } from "./index.js";
+import { R as Row, C as Col, P as Pager, a as Column, G as Grid } from "./index31.js";
+import "./index32.js";
+import { G as GridToolbar } from "./index33.js";
+import { s as sortTime } from "./time.js";
+import { H as HwcClientService } from "./hwcClient.service.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index34.js";
+import "./index35.js";
+import "./warning-triangle.js";
+const _hoisted_1$3 = { class: "container-edit" };
+const _hoisted_2$3 = { class: "contain" };
+const _hoisted_3$3 = { class: "tip" };
+const _sfc_main$3 = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  props: {
+    // eslint-disable-next-line vue/require-prop-types
+    init: {}
+  },
+  emits: ["myclick", "mycancel"],
+  setup(__props, { expose: __expose, emit: __emit }) {
+    const { t } = useI18n();
+    const ruleForm = ref();
+    const props = __props;
+    const validatePass = (rule, value, callback) => {
+      const nameRe = /^([a-zA-Z0-9]|[\u4e00-\u9fa5])([a-zA-Z0-9._:()()、:\/-]|[\u4e00-\u9fa5]){2,254}$/;
+      if (!nameRe.test(value)) {
+        callback(new Error(t("menu.cloud.tip")));
+      } else {
+        if (ruleForm.value.password !== "") {
+          ruleForm.value.validateField("password");
+        }
+        callback(void 0);
+      }
+    };
+    let createData = reactive({
+      name: props.init.name,
+      customer: props.init.customer,
+      description: props.init.description
+    });
+    let isvalidate = ref(true);
+    const rules = computed(() => {
+      return {
+        name: [
+          {
+            required: true,
+            message: t("menu.cloud.delpass"),
+            trigger: "blur"
+          },
+          { validator: validatePass, trigger: "blur" }
+        ],
+        customer: [
+          {
+            required: false,
+            trigger: "blur"
+          }
+        ],
+        description: [
+          {
+            required: false,
+            trigger: "change"
+          }
+        ]
+      };
+    });
+    const emit = __emit;
+    const resultData = () => {
+      return createData;
+    };
+    const handleCancel = () => {
+      emit("mycancel");
+    };
+    const handleSubmit = () => {
+      ruleForm.value.validate((e) => {
+        if (e) {
+          reactive({
+            username: createData.name
+          });
+          TINYModal.message({
+            message: t("menu.cloud.editpass"),
+            status: "success"
+          });
+          emit("myclick");
+        } else {
+          TINYModal.message({
+            message: t("login.form.registerError"),
+            status: "warning"
+          });
+        }
+      });
+    };
+    __expose({
+      resultData
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$3, [
+        createBaseVNode("h3", null, toDisplayString(_ctx.$t("menu.cloud.edit")), 1),
+        createBaseVNode("div", _hoisted_2$3, [
+          createVNode(unref(Form), {
+            ref_key: "ruleForm",
+            ref: ruleForm,
+            model: unref(createData),
+            rules: rules.value,
+            "validate-on-rule-change": unref(isvalidate),
+            "label-align": true,
+            "label-position": "left",
+            "label-width": "110px"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("menu.cloud.name"),
+                        prop: "name"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Input), {
+                              modelValue: unref(createData).name,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(createData).name = $event)
+                            }, null, 8, ["modelValue"]),
+                            createBaseVNode("div", _hoisted_3$3, toDisplayString(_ctx.$t("menu.cloud.tip")), 1)
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("menu.cloud.customer"),
+                        prop: "customer"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(createData).customer,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(createData).customer = $event)
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("menu.cloud.description"),
+                        prop: "description"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(createData).description,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(createData).description = $event),
+                            type: "textarea"
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), { class: "btn" }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Button), {
+                            type: "primary",
+                            onClick: handleSubmit
+                          }, {
+                            default: withCtx(() => [
+                              createTextVNode(toDisplayString(_ctx.$t("menu.cloud.sure")), 1)
+                            ]),
+                            _: 1
+                          }),
+                          createVNode(unref(Button), { onClick: handleCancel }, {
+                            default: withCtx(() => [
+                              createTextVNode(toDisplayString(_ctx.$t("menu.cloud.cancel")), 1)
+                            ]),
+                            _: 1
+                          })
+                        ]),
+                        _: 1
+                      })
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules", "validate-on-rule-change"])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_bb007481_lang = "";
+const edit = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-bb007481"]]);
+const _hoisted_1$2 = { class: "container-create" };
+const _hoisted_2$2 = { class: "contain" };
+const _hoisted_3$2 = { class: "tip" };
+const _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  emits: ["myclick", "mycancel"],
+  setup(__props, { expose: __expose, emit: __emit }) {
+    const { t } = useI18n();
+    const ruleForm = ref();
+    const validatePass = (rule, value, callback) => {
+      const nameRe = /^([a-zA-Z0-9]|[\u4e00-\u9fa5])([a-zA-Z0-9._:()()、:\/-]|[\u4e00-\u9fa5]){2,254}$/;
+      if (!nameRe.test(value)) {
+        callback(new Error(t("menu.cloud.tip")));
+      } else {
+        if (ruleForm.value.password !== "") {
+          ruleForm.value.validateField("password");
+        }
+        callback(void 0);
+      }
+    };
+    let createData = reactive({
+      name: "",
+      customer: "",
+      description: ""
+    });
+    let isvalidate = ref(true);
+    const rules = computed(() => {
+      return {
+        name: [
+          {
+            required: true,
+            message: t("menu.cloud.verification"),
+            trigger: "blur"
+          },
+          { validator: validatePass, trigger: "blur" }
+        ],
+        customer: [
+          {
+            required: false,
+            trigger: "blur"
+          }
+        ],
+        description: [
+          {
+            required: false,
+            trigger: "change"
+          }
+        ]
+      };
+    });
+    const emit = __emit;
+    const resultData = () => {
+      return createData;
+    };
+    const handleCancel = () => {
+      emit("mycancel");
+    };
+    const handleSubmit = () => {
+      ruleForm.value.validate((e) => {
+        if (e) {
+          reactive({
+            username: createData.name
+          });
+          TINYModal.message({
+            message: t("login.form.registerPass"),
+            status: "success"
+          });
+          emit("myclick");
+        } else {
+          TINYModal.message({
+            message: t("login.form.registerError"),
+            status: "warning"
+          });
+        }
+      });
+    };
+    __expose({
+      resultData
+    });
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$2, [
+        createBaseVNode("h3", null, toDisplayString(_ctx.$t("menu.cloud.create")), 1),
+        createBaseVNode("div", _hoisted_2$2, [
+          createVNode(unref(Form), {
+            ref_key: "ruleForm",
+            ref: ruleForm,
+            model: unref(createData),
+            rules: rules.value,
+            "validate-on-rule-change": unref(isvalidate),
+            "label-align": true,
+            "label-position": "left",
+            "label-width": "110px"
+          }, {
+            default: withCtx(() => [
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("menu.cloud.name"),
+                        prop: "name"
+                      }, {
+                        default: withCtx(() => [
+                          createBaseVNode("div", null, [
+                            createVNode(unref(Input), {
+                              modelValue: unref(createData).name,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(createData).name = $event)
+                            }, null, 8, ["modelValue"]),
+                            createBaseVNode("div", _hoisted_3$2, toDisplayString(_ctx.$t("menu.cloud.tip")), 1)
+                          ])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("menu.cloud.customer"),
+                        prop: "customer"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(createData).customer,
+                            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(createData).customer = $event)
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), {
+                        label: _ctx.$t("menu.cloud.description"),
+                        prop: "description"
+                      }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Input), {
+                            modelValue: unref(createData).description,
+                            "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(createData).description = $event),
+                            type: "textarea"
+                          }, null, 8, ["modelValue"])
+                        ]),
+                        _: 1
+                      }, 8, ["label"])
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Row), { flex: true }, {
+                default: withCtx(() => [
+                  createVNode(unref(Col), null, {
+                    default: withCtx(() => [
+                      createVNode(unref(FormItem), { class: "btn" }, {
+                        default: withCtx(() => [
+                          createVNode(unref(Button), {
+                            type: "primary",
+                            onClick: handleSubmit
+                          }, {
+                            default: withCtx(() => [
+                              createTextVNode(toDisplayString(_ctx.$t("menu.cloud.sure")), 1)
+                            ]),
+                            _: 1
+                          }),
+                          createVNode(unref(Button), { onClick: handleCancel }, {
+                            default: withCtx(() => [
+                              createTextVNode(toDisplayString(_ctx.$t("menu.cloud.cancel")), 1)
+                            ]),
+                            _: 1
+                          })
+                        ]),
+                        _: 1
+                      })
+                    ]),
+                    _: 1
+                  })
+                ]),
+                _: 1
+              })
+            ]),
+            _: 1
+          }, 8, ["model", "rules", "validate-on-rule-change"])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_a2c95e32_lang = "";
+const create = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-a2c95e32"]]);
+const _imports_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAADmklEQVRYR82X3WscZRTGzzN9d6qVVkt3lqCiImiEWlpbrcSixAtBvRBmlhZvIg0limlQaP+B9A9QsGrFIFHUC6XsjHqhF960+NFarUZooe2FxFYk7Gy1H1Zl9s37yGy2km1ms/ORat+rYeac5/zmcM6ZM5CCh9y6TAcH9ojISEuKMqG8wXFg/2wRaRRxjn2jWvldERm6Quc9u9p4poh2ITAdONuM4YdJABawTXnh/rxwucH4cf9KPXv2BCk3JwUH5Fe1Gv14NPwjD1xusKZfeYk0uxYLClgvl7z67v8MjJ/0rdVaT5GiFgcTrZTagKdmjmeFy5WxZs05SOEjaYIBOFjywsE0tvNtMoPpoDJkjIk7seMAaBU6ya1XPrMsa0i59fezwGUC4+d33qgvXDxBYV8nlZwpueHt8T0dOKdJubXz7TGjVq28B4/9dD4tXCawpu+8QvKFBeLAlO2F97Xmmu/8IOSGhIzuLXnhi0sORr+yXtMcpciyXGAiswrWJnj1H9PApcoYSWi/8gWFWxJFU2Qs9oPgK+XVHwbAXnCpwLTvDBtysqtYSrDY37IwrNzwncJgDO64SZtLpyh0lgIMQF3hhn640+cWnYG9yHXgvG4MRxe1y5Cxdtb2KTfcmRuMtfJGLfItRaylBIOIUSIPoNr4vptu1xqbK3jnEEUe7JVVyZixuUaQb5QXDnRrhK5g2i+PGMpET6hWlN5zLEnHEhlR1cZbSc8SwejfskZLdJLkmqsJBuCsWrH8bjz+y28LBnJS4MivTAjN3Kqc5uTMWFt6wq42nusJFgV9m0F9mIzLIOUpABY3Ai01YLszR+ZH6whOjlvN4LUjQtmUEumy2Wm72mh9xKNa+WcRuS2TP+RoyR3bDIyby34dYFFQeV6M2ZdJtG0M4LP4kuQTefzFskZtt/7GAjB+2ufov/VJUlbnEi7oBMjv6jrVjydnwvY4mVOMfGdSyOG8+hCJWhkTsfNqCDBpe+GOf8GaH1UeEmO+zFTw86JD8Jeyl98lEaElir+r1+eBA+L3sraUvPohxH/SzeDAd0nLXWrxAl25IAYwVXIH74cOnO3G8O3UEMmGx+1q4952Vx4TkbVF9OLVCE3f+ZrkQBEhiMwCeDbeBGn4ZuKWmyEAgMMx2CWSKzL4XXVTAH8iqpWnRaQ1HK+ZA0wjCpwxMXz1moGKQSxrtDX5tV9+msSYgOtIWfV/QAJyUQTHINyrvMYH/wCqlqCjKgTtawAAAABJRU5ErkJggg==";
+const _withScopeId = (n) => (pushScopeId("data-v-2fa667e7"), n = n(), popScopeId(), n);
+const _hoisted_1$1 = { class: "container-del" };
+const _hoisted_2$1 = { class: "contain" };
+const _hoisted_3$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "deleted"
+}, null, -1));
+const _hoisted_4$1 = { class: "contain-main" };
+const _hoisted_5$1 = { class: "title" };
+const _hoisted_6$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("span", { class: "del" }, "DELETE", -1));
+const _hoisted_7$1 = { class: "btn" };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  props: {
+    init: Object
+  },
+  emits: ["myclick", "mycancel"],
+  setup(__props, { emit: __emit }) {
+    const { t } = useI18n();
+    const value = ref("");
+    const props = __props;
+    const emit = __emit;
+    const handleCancel = () => {
+      emit("mycancel");
+    };
+    const handleSubmit = () => {
+      if (value.value.trim() === "DELETE") {
+        TINYModal.message({
+          message: t("menu.cloud.delpass"),
+          status: "success"
+        });
+        emit("myclick");
+      } else {
+        TINYModal.message({
+          message: t("login.form.registerError"),
+          status: "warning"
+        });
+      }
+    };
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$1, [
+        createBaseVNode("h3", null, toDisplayString(_ctx.$t("menu.cloud.del")), 1),
+        createBaseVNode("div", _hoisted_2$1, [
+          _hoisted_3$1,
+          createBaseVNode("div", _hoisted_4$1, [
+            createBaseVNode("div", null, [
+              createTextVNode(toDisplayString(_ctx.$t("menu.cloud.askDel")) + " ", 1),
+              createBaseVNode("b", null, toDisplayString(_ctx.$t("menu.cloud.askContracts")), 1),
+              createTextVNode("? ")
+            ]),
+            createBaseVNode("div", _hoisted_5$1, toDisplayString(_ctx.$t("menu.contracts.name")) + " " + toDisplayString(props.init.name), 1),
+            createBaseVNode("div", null, [
+              createTextVNode(toDisplayString(_ctx.$t("menu.cloud.askInput")) + " ", 1),
+              _hoisted_6$1,
+              createTextVNode(" " + toDisplayString(_ctx.$t("menu.cloud.askSure")), 1)
+            ]),
+            createVNode(unref(Input), {
+              modelValue: value.value,
+              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event)
+            }, null, 8, ["modelValue"]),
+            createBaseVNode("div", _hoisted_7$1, [
+              createVNode(unref(Button), {
+                type: "danger",
+                onClick: handleSubmit
+              }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("menu.cloud.sure")), 1)
+                ]),
+                _: 1
+              }),
+              createVNode(unref(Button), { onClick: handleCancel }, {
+                default: withCtx(() => [
+                  createTextVNode(toDisplayString(_ctx.$t("menu.cloud.cancel")), 1)
+                ]),
+                _: 1
+              })
+            ])
+          ])
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_2fa667e7_lang = "";
+const deletes = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-2fa667e7"]]);
+const _hoisted_1 = { class: "container-contracts" };
+const _hoisted_2 = { class: "contracts-card" };
+const _hoisted_3 = { class: "btn" };
+const _hoisted_4 = { class: "operation" };
+const _hoisted_5 = ["onClick"];
+const _hoisted_6 = ["onClick"];
+const _hoisted_7 = { key: 0 };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    const state = reactive({
+      loading: false,
+      filterOptions: {}
+    });
+    const pagerConfig = reactive({
+      component: Pager,
+      attrs: {
+        currentPage: 1,
+        pageSize: 10,
+        pageSizes: [10, 20],
+        total: 10,
+        layout: "total, prev, pager, next, jumper, sizes"
+      }
+    });
+    const update = ref(true);
+    const { loading } = toRefs(state);
+    const display = ref(false);
+    const title = ref();
+    const choose = ref("");
+    const content = ref();
+    const init = ref();
+    const taskGrid = ref();
+    const table = ref();
+    const modalHeight = ref("536");
+    const contractApigInfo = {
+      apigName: "apig_contract",
+      apigGroupName: "group_contract"
+    };
+    async function getContractsData(params) {
+      const result = await HwcClientService.apiRequest(
+        "getContracts",
+        params,
+        contractApigInfo
+      );
+      return result == null ? void 0 : result.data;
+    }
+    async function fetchData(params) {
+      state.loading = true;
+      try {
+        table.value = await getContractsData(params);
+        let offset = (params.pageIndex - 1) * params.pageSize;
+        const data = table.value.sort(sortTime("updatedAt"));
+        return {
+          result: data.slice(offset, offset + params.pageSize),
+          page: {
+            total: table.value.length
+          }
+        };
+      } finally {
+        update.value = true;
+        state.loading = false;
+      }
+    }
+    async function delContracts(params) {
+      return HwcClientService.apiRequest("delContract", params, contractApigInfo);
+    }
+    async function editContracts(params) {
+      return HwcClientService.apiRequest(
+        "editContract",
+        params,
+        contractApigInfo
+      );
+    }
+    async function createContracts(params) {
+      return HwcClientService.apiRequest("addContract", params, contractApigInfo);
+    }
+    const fetchDataOption = reactive({
+      api: ({ page }) => {
+        const { currentPage, pageSize } = page;
+        return fetchData({
+          pageIndex: currentPage,
+          pageSize,
+          query: "",
+          field: "name"
+        });
+      }
+    });
+    const disTheme = (item, data) => {
+      init.value = data;
+      choose.value = item;
+      display.value = !display.value;
+      if (item === "edit") {
+        title.value = edit;
+        modalHeight.value = "536";
+      } else if (item === "deletes") {
+        title.value = deletes;
+        modalHeight.value = "369";
+      } else {
+        title.value = create;
+        modalHeight.value = "536";
+      }
+    };
+    async function confirmClick() {
+      display.value = false;
+      update.value = false;
+      if (choose.value === "edit") {
+        const data = content.value.resultData();
+        const params = {
+          id: init.value.id,
+          name: data.name,
+          customer: data.customer,
+          description: data.description
+        };
+        await editContracts(params);
+        fetchData({
+          pageIndex: 1,
+          pageSize: 10,
+          query: "",
+          field: "name"
+        });
+      }
+      if (choose.value === "deletes") {
+        const params = {
+          id: init.value.id
+        };
+        await delContracts(params);
+        fetchData({
+          pageIndex: 1,
+          pageSize: 10,
+          query: "",
+          field: "name"
+        });
+      }
+      if (choose.value === "create") {
+        const data = content.value.resultData();
+        const params = {
+          name: data.name,
+          customer: data.customer,
+          description: data.description
+        };
+        await createContracts(params);
+        fetchData({
+          pageIndex: 1,
+          pageSize: 10,
+          query: "",
+          field: "name"
+        });
+      }
+    }
+    const closeClick = () => {
+      display.value = false;
+    };
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock(Fragment, null, [
+        createVNode(_component_Breadcrumb, { items: ["menu.cloud", "menu.cloud.contracts"] }),
+        createBaseVNode("div", _hoisted_1, [
+          createBaseVNode("div", _hoisted_2, [
+            update.value ? (openBlock(), createBlock(unref(Grid), {
+              key: 0,
+              ref: taskGrid.value,
+              "fetch-data": fetchDataOption,
+              "auto-load": true,
+              pager: pagerConfig,
+              loading: unref(loading),
+              size: "medium",
+              "auto-resize": true
+            }, {
+              toolbar: withCtx(() => [
+                createVNode(unref(GridToolbar), null, {
+                  buttons: withCtx((slotScope) => [
+                    createBaseVNode("div", _hoisted_3, [
+                      createBaseVNode("span", null, toDisplayString(_ctx.$t("menu.cloud.contracts")), 1),
+                      createVNode(unref(Button), {
+                        type: "primary",
+                        onClick: ($event) => disTheme("create", slotScope.row)
+                      }, {
+                        default: withCtx(() => [
+                          createTextVNode(toDisplayString(_ctx.$t("menu.cloud.create")), 1)
+                        ]),
+                        _: 2
+                      }, 1032, ["onClick"])
+                    ])
+                  ]),
+                  _: 1
+                })
+              ]),
+              default: withCtx(() => [
+                createVNode(unref(Column), {
+                  type: "index",
+                  width: "40"
+                }),
+                createVNode(unref(Column), {
+                  field: "name",
+                  title: _ctx.$t("menu.cloud.name"),
+                  align: "center",
+                  sortable: ""
+                }, null, 8, ["title"]),
+                createVNode(unref(Column), {
+                  field: "id",
+                  title: _ctx.$t("menu.cloud.id"),
+                  align: "center"
+                }, null, 8, ["title"]),
+                createVNode(unref(Column), {
+                  field: "customer",
+                  title: _ctx.$t("menu.cloud.customer"),
+                  align: "center"
+                }, null, 8, ["title"]),
+                createVNode(unref(Column), {
+                  field: "description",
+                  title: _ctx.$t("menu.cloud.description"),
+                  align: "center"
+                }, null, 8, ["title"]),
+                createVNode(unref(Column), {
+                  field: "updatedAt",
+                  title: _ctx.$t("menu.cloud.updatedAt"),
+                  align: "center",
+                  sortable: ""
+                }, null, 8, ["title"]),
+                createVNode(unref(Column), {
+                  title: _ctx.$t("searchTable.columns.operations"),
+                  align: "center"
+                }, {
+                  default: withCtx((slotScope) => [
+                    createBaseVNode("span", _hoisted_4, [
+                      createBaseVNode("a", {
+                        onClick: ($event) => disTheme("edit", slotScope.row)
+                      }, toDisplayString(_ctx.$t("menu.cloud.editOpa")), 9, _hoisted_5),
+                      createTextVNode("   "),
+                      createBaseVNode("a", {
+                        onClick: ($event) => disTheme("deletes", slotScope.row)
+                      }, toDisplayString(_ctx.$t("menu.cloud.editDel")), 9, _hoisted_6)
+                    ])
+                  ]),
+                  _: 1
+                }, 8, ["title"])
+              ]),
+              _: 1
+            }, 8, ["fetch-data", "pager", "loading"])) : createCommentVNode("", true)
+          ])
+        ]),
+        display.value ? (openBlock(), createElementBlock("div", _hoisted_7, [
+          createVNode(unref(TINYModal), {
+            modelValue: display.value,
+            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => display.value = $event),
+            "lock-scroll": false,
+            "show-header": false,
+            "show-footer": false,
+            type: "confirm",
+            "mask-closable": "true",
+            height: modalHeight.value,
+            width: "589",
+            onConfirm: confirmClick,
+            onClose: closeClick
+          }, {
+            default: withCtx(() => [
+              (openBlock(), createBlock(resolveDynamicComponent(title.value), {
+                ref_key: "content",
+                ref: content,
+                init: init.value,
+                onMyclick: confirmClick,
+                onMycancel: closeClick
+              }, null, 40, ["init"]))
+            ]),
+            _: 1
+          }, 8, ["modelValue", "height"])
+        ])) : createCommentVNode("", true)
+      ], 64);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_19a1fa63_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-19a1fa63"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index5.css b/admin-website/src/main/resources/static/assets/index5.css
new file mode 100644
index 0000000..7ccde71
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index5.css
@@ -0,0 +1,150 @@
+.container-edit h3[data-v-bb007481] {
+  height: 25px;
+  color: #202e54;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+}
+.contain[data-v-bb007481] {
+  width: 90%;
+  margin-top: 10%;
+  color: var(--ti-common-color-text-secondary);
+  font-size: var(--ti-default-font-size);
+  line-height: var(--ti-formfield-item-required-label-line-height);
+}
+.contain .tip[data-v-bb007481] {
+  color: #999;
+  font-size: var(--ti-common-font-size-base);
+}
+.contain .btn[data-v-bb007481] {
+  margin-top: 6%;
+}
+.contain .btn[data-v-bb007481] .tiny-button {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+.contain[data-v-bb007481] .row-flex {
+  padding-bottom: 20px;
+}
+.container-edit h3[data-v-a2c95e32] {
+  width: 72px;
+  height: 25px;
+  color: #202e54;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+}
+.contain[data-v-a2c95e32] {
+  width: 90%;
+  margin-top: 10%;
+  color: var(--ti-common-color-text-secondary);
+  font-size: var(--ti-default-font-size);
+  line-height: var(--ti-formfield-item-required-label-line-height);
+}
+.contain .tip[data-v-a2c95e32] {
+  color: #999;
+  font-size: var(--ti-common-font-size-base);
+}
+.contain .btn[data-v-a2c95e32] {
+  margin-top: 6%;
+}
+.contain .btn[data-v-a2c95e32] .tiny-button {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+.contain[data-v-a2c95e32] .row-flex {
+  padding-bottom: 20px;
+}
+.container-del h3[data-v-2fa667e7] {
+  height: 25px;
+  color: #202e54;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+}
+.contain[data-v-2fa667e7] {
+  display: flex;
+  justify-content: space-around;
+  margin-top: 10%;
+}
+.contain img[data-v-2fa667e7] {
+  width: 38px;
+  height: 33px;
+}
+.contain .contain-main[data-v-2fa667e7] {
+  width: 430px;
+}
+.contain .btn[data-v-2fa667e7] {
+  margin-top: 6%;
+}
+.contain .btn[data-v-2fa667e7] .tiny-button {
+  width: 100px;
+  height: 36px;
+  border-radius: 4px;
+}
+.contain .del[data-v-2fa667e7] {
+  color: red;
+}
+.contain div[data-v-2fa667e7] {
+  margin-bottom: 3%;
+}
+.container-contracts[data-v-19a1fa63] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 100%;
+  height: calc(100% - 60px);
+  margin: 0 auto;
+  overflow: hidden;
+}
+[data-v-19a1fa63] .tiny-grid-button__wrapper {
+  width: 100%;
+}
+[data-v-19a1fa63] .tiny-pager {
+  float: right;
+}
+[data-v-19a1fa63] .tiny-modal__box {
+  background: #fff;
+  border-radius: 8px;
+  box-shadow: 0 0 30px 15px rgba(37, 43, 58, 0.3);
+}
+.contracts-card[data-v-19a1fa63] {
+  flex: 1 1 auto;
+  margin: 8px 10px;
+  padding: 0 30px;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 8px 8px rgba(169, 174, 184, 0.05);
+}
+.btn[data-v-19a1fa63] {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+  justify-content: space-around;
+  height: 100px;
+}
+.btn span[data-v-19a1fa63] {
+  width: 56px;
+  height: 20px;
+  color: #202e54;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: left;
+}
+.btn button[data-v-19a1fa63] {
+  display: block;
+  border-radius: 4px;
+}
+.operation[data-v-19a1fa63] {
+  color: #526ecc;
+}
+.content[data-v-19a1fa63] .tiny-grid {
+  height: inherit;
+}
diff --git a/admin-website/src/main/resources/static/assets/index5.js b/admin-website/src/main/resources/static/assets/index5.js
new file mode 100644
index 0000000..313cb1c
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index5.js
@@ -0,0 +1,416 @@
+import { d as defineComponent, r as ref, a8 as reactive, c as computed, u as openBlock, y as createBlock, H as withCtx, W as unref, l as createVNode, w as createBaseVNode, E as toDisplayString, v as createElementBlock, M as Fragment, N as renderList, J as createTextVNode, Z as pushScopeId, _ as popScopeId, k as resolveComponent } from "./vue.js";
+import { q as axios, t as ListType, _ as _export_sfc, I as Input, B as Button } from "./index.js";
+import { a as Column, G as Grid, R as Row, C as Col } from "./index31.js";
+import { D as DatePicker } from "./index36.js";
+import { F as FormItem, a as Form } from "./index29.js";
+import { t as timesHandle } from "./time.js";
+import "./index32.js";
+import { G as GridToolbar } from "./index33.js";
+import "./chevron-up.js";
+import "./index30.js";
+import "./index35.js";
+import "./index34.js";
+import "./warning-triangle.js";
+function searchTrace(data) {
+  return axios({
+    url: "/api/admin/v1/scb/admin/observability/searchTrace",
+    params: {
+      timestamp: data.timestamp,
+      traceId: data.traceId
+    }
+  });
+}
+function searchLog(data) {
+  return axios({
+    url: "/api/admin/v1/scb/admin/observability/searchLog",
+    params: {
+      timestamp: data.timestamp,
+      traceId: data.traceId
+    }
+  });
+}
+function getLogs(params) {
+  return axios({
+    url: "/api/admin/v1/scb/observability/downloadLog",
+    params
+  });
+}
+function getMetrics(params) {
+  return axios.get("/api/admin/v1/scb/admin/observability/downloadMetrics", { params });
+}
+const _hoisted_1$2 = { key: 1 };
+const _hoisted_2$2 = ["onClick"];
+const _hoisted_3$1 = ["onClick"];
+const _sfc_main$2 = /* @__PURE__ */ defineComponent({
+  __name: "call-chain-list",
+  props: {
+    traceData: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    listTypes: {
+      type: String,
+      default() {
+        return ListType.TYPE_LIST;
+      }
+    },
+    timestamp: {
+      type: String,
+      default() {
+        return "";
+      }
+    }
+  },
+  setup(__props, { expose: __expose }) {
+    const props = __props;
+    const listRef = ref();
+    const state = reactive({
+      traceData: computed(() => props.traceData)
+    });
+    const clearExpand = () => {
+      listRef.value.clearRowExpand();
+    };
+    const fileHandle = (data, type) => {
+      const url = window.URL.createObjectURL(new Blob([data], { type: "text/plain" }));
+      const link = document.createElement("a");
+      link.href = url;
+      link.setAttribute("download", type);
+      document.body.appendChild(link);
+      link.click();
+      document.body.removeChild(link);
+      window.URL.revokeObjectURL(url);
+    };
+    const downloadLog = (serviceName, instanceId) => {
+      const params = {
+        serviceName,
+        timestamp: props.timestamp,
+        instanceId
+      };
+      getLogs(params).then((response) => {
+        fileHandle(response, "Log.txt");
+      });
+    };
+    const downloadMetrics = (serviceName, instanceId) => {
+      const params = {
+        serviceName,
+        timestamp: props.timestamp,
+        instanceId
+      };
+      getMetrics(params).then((response) => {
+        fileHandle(response, "Metrics.txt");
+      });
+    };
+    __expose({ clearExpand });
+    return (_ctx, _cache) => {
+      return openBlock(), createBlock(unref(Grid), {
+        ref_key: "listRef",
+        ref: listRef,
+        resizable: "",
+        "seq-serial": "",
+        data: state.traceData
+      }, {
+        toolbar: withCtx(() => [
+          createVNode(unref(GridToolbar), null, {
+            default: withCtx(() => [
+              createBaseVNode("span", null, toDisplayString(__props.listTypes === unref(ListType).TYPE_LOGS ? "日志" : "调用链") + "列表", 1)
+            ]),
+            _: 1
+          })
+        ]),
+        default: withCtx(() => [
+          createVNode(unref(Column), {
+            type: "index",
+            width: "60"
+          }),
+          createVNode(unref(Column), { width: "60" }),
+          createVNode(unref(Column), {
+            type: "expand",
+            title: "data",
+            width: "60"
+          }, {
+            default: withCtx((data) => [
+              __props.listTypes === unref(ListType).TYPE_LIST ? (openBlock(), createBlock(unref(Grid), {
+                key: 0,
+                data: data.row.data
+              }, {
+                default: withCtx(() => [
+                  createVNode(unref(Column), {
+                    field: "name",
+                    title: "name",
+                    "show-overflow": ""
+                  }),
+                  createVNode(unref(Column), {
+                    field: "duration",
+                    title: "duration"
+                  }),
+                  createVNode(unref(Column), {
+                    field: "traceId",
+                    title: "http.status_code"
+                  }, {
+                    default: withCtx((data2) => [
+                      createBaseVNode("div", null, toDisplayString(data2.row.tags["http.status_code"]), 1)
+                    ]),
+                    _: 2
+                  }, 1024),
+                  createVNode(unref(Column), {
+                    field: "timestamp",
+                    title: "timestamp"
+                  }, {
+                    default: withCtx((data2) => [
+                      createBaseVNode("div", null, toDisplayString(unref(timesHandle)(data2.row.timestamp / 1e3, false)), 1)
+                    ]),
+                    _: 2
+                  }, 1024),
+                  createVNode(unref(Column), {
+                    field: "http.route",
+                    title: "http.route"
+                  }, {
+                    default: withCtx((data2) => [
+                      createBaseVNode("div", null, toDisplayString(data2.row.tags["http.route"]), 1)
+                    ]),
+                    _: 2
+                  }, 1024)
+                ]),
+                _: 2
+              }, 1032, ["data"])) : (openBlock(), createElementBlock("div", _hoisted_1$2, [
+                (openBlock(true), createElementBlock(Fragment, null, renderList(data.row.data, (item, index2) => {
+                  return openBlock(), createElementBlock("div", {
+                    key: index2,
+                    class: "logs-list"
+                  }, toDisplayString(item), 1);
+                }), 128))
+              ]))
+            ]),
+            _: 1
+          }),
+          createVNode(unref(Column), {
+            field: "application",
+            title: "application"
+          }),
+          createVNode(unref(Column), {
+            field: "instanceId",
+            title: "instanceId"
+          }),
+          createVNode(unref(Column), {
+            field: "localhost",
+            title: "localhost"
+          }),
+          createVNode(unref(Column), {
+            field: "serviceName",
+            title: "serviceName"
+          }),
+          createVNode(unref(Column), {
+            title: "操作",
+            width: "150"
+          }, {
+            default: withCtx((data) => [
+              createBaseVNode("div", null, [
+                createBaseVNode("span", {
+                  class: "list-operation",
+                  onClick: ($event) => downloadLog(data.row.serviceName, data.row.instanceId)
+                }, "查看日志", 8, _hoisted_2$2),
+                createTextVNode(" |  "),
+                createBaseVNode("span", {
+                  class: "list-operation",
+                  onClick: ($event) => downloadMetrics(data.row.serviceName, data.row.instanceId)
+                }, "查看Metrics", 8, _hoisted_3$1)
+              ])
+            ]),
+            _: 1
+          })
+        ]),
+        _: 1
+      }, 8, ["data"]);
+    };
+  }
+});
+const callChainList_vue_vue_type_style_index_0_scoped_7c5944f6_lang = "";
+const callChainList = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-7c5944f6"]]);
+const _withScopeId = (n) => (pushScopeId("data-v-69e5064f"), n = n(), popScopeId(), n);
+const _hoisted_1$1 = { class: "main" };
+const _hoisted_2$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("div", { class: "main-title" }, [
+  /* @__PURE__ */ createBaseVNode("span"),
+  /* @__PURE__ */ createBaseVNode("p", null, "调用链搜索")
+], -1));
+const _hoisted_3 = { class: "main-content" };
+const _hoisted_4 = { class: "main-content-form" };
+const _hoisted_5 = { class: "main-content-search" };
+const _hoisted_6 = { class: "clear-expand" };
+const _hoisted_7 = { class: "main-list" };
+const _sfc_main$1 = /* @__PURE__ */ defineComponent({
+  __name: "main",
+  setup(__props) {
+    const rules = {
+      traceId: [
+        { required: true, message: "必填", trigger: "blur" }
+      ],
+      startTime: [{ required: true, message: "请选择时间" }]
+    };
+    const searchForm = ref();
+    const chainRef = ref();
+    const logsRef = ref();
+    const state = reactive({
+      filterOptions: {
+        startTime: "",
+        traceId: ""
+      },
+      timestamp: "",
+      traceData: [],
+      listData: [],
+      validType: "text",
+      rules: {
+        traceId: [
+          { required: true, message: "必填", trigger: "blur" }
+        ],
+        startTime: [{ required: true, message: "请选择时间" }]
+      }
+    });
+    const searchCallChain = () => {
+      searchForm.value.validate((valid) => {
+        if (valid) {
+          const date = new Date(state.filterOptions.startTime);
+          state.timestamp = timesHandle(date, true);
+          searchTrace({
+            timestamp: state.timestamp,
+            traceId: state.filterOptions.traceId
+          }).then((response) => {
+            state.traceData = response;
+          });
+          searchLog({
+            timestamp: timesHandle(date, true),
+            traceId: state.filterOptions.traceId
+          }).then((response) => {
+            state.listData = response;
+          });
+        }
+      });
+    };
+    const clearExpand = () => {
+      chainRef.value.clearExpand();
+      logsRef.value.clearExpand();
+    };
+    return (_ctx, _cache) => {
+      return openBlock(), createElementBlock("div", _hoisted_1$1, [
+        _hoisted_2$1,
+        createBaseVNode("div", _hoisted_3, [
+          createBaseVNode("div", _hoisted_4, [
+            createVNode(unref(Form), {
+              ref_key: "searchForm",
+              ref: searchForm,
+              model: state.filterOptions,
+              "validate-type": state.validType,
+              rules,
+              "label-width": "100px",
+              class: "demo-form"
+            }, {
+              default: withCtx(() => [
+                createVNode(unref(Row), null, {
+                  default: withCtx(() => [
+                    createVNode(unref(Col), { span: 6 }, {
+                      default: withCtx(() => [
+                        createVNode(unref(FormItem), {
+                          label: "Trace-Id:",
+                          prop: "traceId"
+                        }, {
+                          default: withCtx(() => [
+                            createVNode(unref(Input), {
+                              modelValue: state.filterOptions.traceId,
+                              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.filterOptions.traceId = $event),
+                              clearable: ""
+                            }, null, 8, ["modelValue"])
+                          ]),
+                          _: 1
+                        })
+                      ]),
+                      _: 1
+                    }),
+                    createVNode(unref(Col), { span: 6 }, {
+                      default: withCtx(() => [
+                        createVNode(unref(FormItem), {
+                          label: "大概时间:",
+                          prop: "startTime"
+                        }, {
+                          default: withCtx(() => [
+                            createVNode(unref(DatePicker), {
+                              modelValue: state.filterOptions.startTime,
+                              "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.filterOptions.startTime = $event),
+                              type: "datetime"
+                            }, null, 8, ["modelValue"])
+                          ]),
+                          _: 1
+                        })
+                      ]),
+                      _: 1
+                    })
+                  ]),
+                  _: 1
+                })
+              ]),
+              _: 1
+            }, 8, ["model", "validate-type"])
+          ]),
+          createBaseVNode("div", _hoisted_5, [
+            createVNode(unref(Button), {
+              type: "primary",
+              onClick: searchCallChain
+            }, {
+              default: withCtx(() => [
+                createTextVNode("搜索")
+              ]),
+              _: 1
+            })
+          ])
+        ]),
+        createBaseVNode("div", _hoisted_6, [
+          createVNode(unref(Button), { onClick: clearExpand }, {
+            default: withCtx(() => [
+              createTextVNode("手动清空展开行状态")
+            ]),
+            _: 1
+          })
+        ]),
+        createBaseVNode("div", _hoisted_7, [
+          createVNode(callChainList, {
+            ref_key: "chainRef",
+            ref: chainRef,
+            timestamp: state.timestamp,
+            "trace-data": state.traceData
+          }, null, 8, ["timestamp", "trace-data"]),
+          createVNode(callChainList, {
+            ref_key: "logsRef",
+            ref: logsRef,
+            timestamp: state.timestamp,
+            "trace-data": state.listData,
+            "list-types": unref(ListType).TYPE_LOGS
+          }, null, 8, ["timestamp", "trace-data", "list-types"])
+        ])
+      ]);
+    };
+  }
+});
+const main_vue_vue_type_style_index_0_scoped_69e5064f_lang = "";
+const Main = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-69e5064f"]]);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "contain" };
+const _sfc_main = /* @__PURE__ */ defineComponent({
+  __name: "index",
+  setup(__props) {
+    return (_ctx, _cache) => {
+      const _component_Breadcrumb = resolveComponent("Breadcrumb");
+      return openBlock(), createElementBlock("div", _hoisted_1, [
+        createBaseVNode("div", _hoisted_2, [
+          createVNode(_component_Breadcrumb, { items: ["menu.cloud", "menu.cloud.locate.problems"] }),
+          createVNode(Main)
+        ])
+      ]);
+    };
+  }
+});
+const index_vue_vue_type_style_index_0_scoped_e19f70fa_lang = "";
+const index_vue_vue_type_style_index_1_scoped_e19f70fa_lang = "";
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e19f70fa"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index6.css b/admin-website/src/main/resources/static/assets/index6.css
new file mode 100644
index 0000000..c034dca
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index6.css
@@ -0,0 +1,62 @@
+
+.list-operation[data-v-7c5944f6] {
+  color: #526ecc;
+}
+.list-operation[data-v-7c5944f6]:hover {
+  cursor: pointer;
+}
+.logs-list[data-v-7c5944f6] {
+  margin-bottom: 10px;
+}
+.main-title span[data-v-69e5064f] {
+  display: inline-block;
+  position: relative;
+  border-width: 0px;
+  left: 0px;
+  top: 4px;
+  width: 6px;
+  height: 20px;
+  background: inherit;
+  background-color: #2561ef;
+  border: none;
+  border-radius: 8px;
+  -moz-box-shadow: none;
+  -webkit-box-shadow: none;
+  box-shadow: none;
+}
+.main-title p[data-v-69e5064f] {
+  margin-left: 10px;
+  display: inline-block;
+  font-weight: 500;
+  font-style: normal;
+  font-size: 18px;
+  color: rgba(51, 51, 51, 0.89803922);
+}
+.main-content[data-v-69e5064f] {
+  display: flex;
+  width: 70%;
+}
+.main-content-search[data-v-69e5064f] {
+  margin-left: 20px;
+  width: 100px;
+}
+.main-content-form[data-v-69e5064f] {
+  flex: 1;
+}
+.main-list[data-v-69e5064f] {
+  width: 95%;
+  height: 80px;
+  background-color: saddlebrown;
+}
+.container[data-v-e19f70fa] {
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+@media (max-width: 1208px) {
+.container[data-v-e19f70fa] {
+    overflow-x: auto;
+}
+}
diff --git a/admin-website/src/main/resources/static/assets/index6.js b/admin-website/src/main/resources/static/assets/index6.js
new file mode 100644
index 0000000..413d9eb
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index6.js
@@ -0,0 +1,11 @@
+import { k as resolveComponent, u as openBlock, y as createBlock } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _sfc_main = {};
+function _sfc_render(_ctx, _cache) {
+  const _component_router_view = resolveComponent("router-view");
+  return openBlock(), createBlock(_component_router_view);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index7.css b/admin-website/src/main/resources/static/assets/index7.css
new file mode 100644
index 0000000..aa1220d
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index7.css
@@ -0,0 +1,47 @@
+.container[data-v-012ed0d5] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: hidden;
+}
+.container .content[data-v-012ed0d5] {
+  display: flex;
+  flex: 1 1 auto;
+  flex-direction: column;
+  align-items: center;
+  justify-content: flex-start;
+  height: 100%;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+}
+.container .content-main[data-v-012ed0d5] {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 22vh 0;
+}
+.container h3[data-v-012ed0d5] {
+  width: 270px;
+  height: 25px;
+  color: #575d6c;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+  text-align: center;
+}
+.container span[data-v-012ed0d5] {
+  min-width: 250px;
+  height: 20px;
+  color: #8a8e99;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: center;
+}
+/* 引入公共样式 */
diff --git a/admin-website/src/main/resources/static/assets/index7.js b/admin-website/src/main/resources/static/assets/index7.js
new file mode 100644
index 0000000..2564776
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index7.js
@@ -0,0 +1,32 @@
+import { k as resolveComponent, u as openBlock, v as createElementBlock, l as createVNode, w as createBaseVNode, E as toDisplayString, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _imports_0 = "/ui/admin/assets/403.png";
+const index_vue_vue_type_style_index_0_scoped_012ed0d5_lang = "";
+const _sfc_main = {};
+const _withScopeId = (n) => (pushScopeId("data-v-012ed0d5"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = { class: "content-main" };
+const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "403",
+  class: "image"
+}, null, -1));
+const _hoisted_5 = { class: "tip" };
+function _sfc_render(_ctx, _cache) {
+  const _component_Breadcrumb = resolveComponent("Breadcrumb");
+  return openBlock(), createElementBlock("div", _hoisted_1, [
+    createVNode(_component_Breadcrumb, { items: ["menu.exception", "menu.exception.403"] }),
+    createBaseVNode("div", _hoisted_2, [
+      createBaseVNode("div", _hoisted_3, [
+        _hoisted_4,
+        createBaseVNode("h3", _hoisted_5, toDisplayString(_ctx.$t("exception.result.403.description")), 1),
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("exception.result.permissions.403")), 1)
+      ])
+    ])
+  ]);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-012ed0d5"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index8.css b/admin-website/src/main/resources/static/assets/index8.css
new file mode 100644
index 0000000..61d1196
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index8.css
@@ -0,0 +1,47 @@
+.container[data-v-9c767429] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: hidden;
+}
+.container .content[data-v-9c767429] {
+  display: flex;
+  flex: 1 1 auto;
+  flex-direction: column;
+  align-items: center;
+  justify-content: flex-start;
+  height: 100%;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+}
+.container .content-main[data-v-9c767429] {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 22vh 0;
+}
+.container h3[data-v-9c767429] {
+  width: 270px;
+  height: 25px;
+  color: #575d6c;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+  text-align: center;
+}
+.container span[data-v-9c767429] {
+  min-width: 250px;
+  height: 20px;
+  color: #8a8e99;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: center;
+}
+/* 引入公共样式 */
diff --git a/admin-website/src/main/resources/static/assets/index8.js b/admin-website/src/main/resources/static/assets/index8.js
new file mode 100644
index 0000000..01b4572
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index8.js
@@ -0,0 +1,32 @@
+import { k as resolveComponent, u as openBlock, v as createElementBlock, l as createVNode, w as createBaseVNode, E as toDisplayString, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _imports_0 = "/ui/admin/assets/4042.png";
+const index_vue_vue_type_style_index_0_scoped_9c767429_lang = "";
+const _sfc_main = {};
+const _withScopeId = (n) => (pushScopeId("data-v-9c767429"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = { class: "content-main" };
+const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "404",
+  class: "image"
+}, null, -1));
+const _hoisted_5 = { class: "tip" };
+function _sfc_render(_ctx, _cache) {
+  const _component_Breadcrumb = resolveComponent("Breadcrumb");
+  return openBlock(), createElementBlock("div", _hoisted_1, [
+    createVNode(_component_Breadcrumb, { items: ["menu.exception", "menu.exception.404"] }),
+    createBaseVNode("div", _hoisted_2, [
+      createBaseVNode("div", _hoisted_3, [
+        _hoisted_4,
+        createBaseVNode("h3", _hoisted_5, toDisplayString(_ctx.$t("exception.result.404.description")), 1),
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("exception.result.permissions.404")), 1)
+      ])
+    ])
+  ]);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9c767429"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/index9.css b/admin-website/src/main/resources/static/assets/index9.css
new file mode 100644
index 0000000..2ae5f60
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index9.css
@@ -0,0 +1,47 @@
+.container[data-v-42f947e1] {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  width: 98%;
+  height: inherit;
+  margin: 0 auto;
+  overflow: hidden;
+}
+.container .content[data-v-42f947e1] {
+  display: flex;
+  flex: 1 1 auto;
+  flex-direction: column;
+  align-items: center;
+  justify-content: flex-start;
+  height: 100%;
+  overflow: auto;
+  background: #fff;
+  border-radius: 10px;
+}
+.container .content-main[data-v-42f947e1] {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 22vh 0;
+}
+.container h3[data-v-42f947e1] {
+  width: 270px;
+  height: 25px;
+  color: #575d6c;
+  font-weight: bolder;
+  font-size: 18px;
+  line-height: 25px;
+  text-align: left;
+  text-align: center;
+}
+.container span[data-v-42f947e1] {
+  min-width: 250px;
+  height: 20px;
+  color: #8a8e99;
+  font-weight: normal;
+  font-size: 14px;
+  line-height: 20px;
+  text-align: center;
+}
+/* 引入公共样式 */
diff --git a/admin-website/src/main/resources/static/assets/index9.js b/admin-website/src/main/resources/static/assets/index9.js
new file mode 100644
index 0000000..4ac7562
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/index9.js
@@ -0,0 +1,32 @@
+import { k as resolveComponent, u as openBlock, v as createElementBlock, l as createVNode, w as createBaseVNode, E as toDisplayString, Z as pushScopeId, _ as popScopeId } from "./vue.js";
+import { _ as _export_sfc } from "./index.js";
+const _imports_0 = "/ui/admin/assets/500.png";
+const index_vue_vue_type_style_index_0_scoped_42f947e1_lang = "";
+const _sfc_main = {};
+const _withScopeId = (n) => (pushScopeId("data-v-42f947e1"), n = n(), popScopeId(), n);
+const _hoisted_1 = { class: "container" };
+const _hoisted_2 = { class: "content" };
+const _hoisted_3 = { class: "content-main" };
+const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", {
+  src: _imports_0,
+  alt: "404",
+  class: "image"
+}, null, -1));
+const _hoisted_5 = { class: "tip" };
+function _sfc_render(_ctx, _cache) {
+  const _component_Breadcrumb = resolveComponent("Breadcrumb");
+  return openBlock(), createElementBlock("div", _hoisted_1, [
+    createVNode(_component_Breadcrumb, { items: ["menu.exception", "menu.exception.500"] }),
+    createBaseVNode("div", _hoisted_2, [
+      createBaseVNode("div", _hoisted_3, [
+        _hoisted_4,
+        createBaseVNode("h3", _hoisted_5, toDisplayString(_ctx.$t("exception.result.500.description")), 1),
+        createBaseVNode("span", null, toDisplayString(_ctx.$t("exception.result.permissions.500")), 1)
+      ])
+    ])
+  ]);
+}
+const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-42f947e1"]]);
+export {
+  index as default
+};
diff --git a/admin-website/src/main/resources/static/assets/loading-cbac5e7e.png b/admin-website/src/main/resources/static/assets/loading.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/loading-cbac5e7e.png
rename to admin-website/src/main/resources/static/assets/loading.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/netcut-02f917ab.png b/admin-website/src/main/resources/static/assets/netcut.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/netcut-02f917ab.png
rename to admin-website/src/main/resources/static/assets/netcut.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/nodata-2ab1ebb2.png b/admin-website/src/main/resources/static/assets/nodata.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/nodata-2ab1ebb2.png
rename to admin-website/src/main/resources/static/assets/nodata.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/opentiny-logo-47b57626.png b/admin-website/src/main/resources/static/assets/opentiny-logo.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/opentiny-logo-47b57626.png
rename to admin-website/src/main/resources/static/assets/opentiny-logo.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/pcview-f13b4822.png b/admin-website/src/main/resources/static/assets/pcview.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/pcview-f13b4822.png
rename to admin-website/src/main/resources/static/assets/pcview.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/pro-498ddfb9.png b/admin-website/src/main/resources/static/assets/pro.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/pro-498ddfb9.png
rename to admin-website/src/main/resources/static/assets/pro.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/step-head-47b14032.png b/admin-website/src/main/resources/static/assets/step-head.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/step-head-47b14032.png
rename to admin-website/src/main/resources/static/assets/step-head.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/success-a1de9b8e.png b/admin-website/src/main/resources/static/assets/success.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/success-a1de9b8e.png
rename to admin-website/src/main/resources/static/assets/success.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/time-ae4bc627.js b/admin-website/src/main/resources/static/assets/time-ae4bc627.js
deleted file mode 100644
index fe42a91..0000000
--- a/admin-website/src/main/resources/static/assets/time-ae4bc627.js
+++ /dev/null
@@ -1 +0,0 @@
-function u(n){let e=new Date(n);return`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`}function $(n){return function(e,t){let g=e[n],s=t[n];return new Date(JSON.parse(JSON.stringify(s))).getTime()-new Date(JSON.parse(JSON.stringify(g))).getTime()}}function S(n,e){const t=new Date(n),g=t.getFullYear(),s=t.getMonth()+1<10?`0${String(t.getMonth()+1)}`:`${String(t.getMonth()+1)}`,r=t.getDate()<10?`0${String(t.getDate())}`:`${String(t.getDate())}`,i=t.getHours()<10?`0${String(t.getHours())}`:`${String(t.getHours())}`,o=t.getMinutes()<10?`0${String(t.getMinutes())}`:`${String(t.getMinutes())}`,a=t.getSeconds()<10?`0${String(t.getSeconds())}`:`${String(t.getSeconds())}`;return`${g}-${s}-${r}${e?"T":" "}${i}:${o}:${a}`}export{u as g,$ as s,S as t};
diff --git a/admin-website/src/main/resources/static/assets/time.js b/admin-website/src/main/resources/static/assets/time.js
new file mode 100644
index 0000000..50466a5
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/time.js
@@ -0,0 +1,26 @@
+function getSimpleDate(standardTime) {
+  let d = new Date(standardTime);
+  return `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
+}
+function sortTime(property) {
+  return function(a, b) {
+    let value1 = a[property];
+    let value2 = b[property];
+    return new Date(JSON.parse(JSON.stringify(value2))).getTime() - new Date(JSON.parse(JSON.stringify(value1))).getTime();
+  };
+}
+function timesHandle(times, isCovert) {
+  const date = new Date(times);
+  const year = date.getFullYear();
+  const month = date.getMonth() + 1 < 10 ? `0${String(date.getMonth() + 1)}` : `${String(date.getMonth() + 1)}`;
+  const day = date.getDate() < 10 ? `0${String(date.getDate())}` : `${String(date.getDate())}`;
+  const hours = date.getHours() < 10 ? `0${String(date.getHours())}` : `${String(date.getHours())}`;
+  const minutes = date.getMinutes() < 10 ? `0${String(date.getMinutes())}` : `${String(date.getMinutes())}`;
+  const seconds = date.getSeconds() < 10 ? `0${String(date.getSeconds())}` : `${String(date.getSeconds())}`;
+  return `${year}-${month}-${day}${isCovert ? "T" : " "}${hours}:${minutes}:${seconds}`;
+}
+export {
+  getSimpleDate as g,
+  sortTime as s,
+  timesHandle as t
+};
diff --git a/admin-website/src/main/resources/static/assets/user-head-b683bbb6.png b/admin-website/src/main/resources/static/assets/user-head.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/user-head-b683bbb6.png
rename to admin-website/src/main/resources/static/assets/user-head.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/assets/vue-fdfdc7c1.js b/admin-website/src/main/resources/static/assets/vue-fdfdc7c1.js
deleted file mode 100644
index 61e8b4e..0000000
--- a/admin-website/src/main/resources/static/assets/vue-fdfdc7c1.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
-* @vue/shared v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**//*! #__NO_SIDE_EFFECTS__ */function bt(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const me={},ps=[],$e=()=>{},Qr=()=>!1,ns=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),_l=e=>e.startsWith("onUpdate:"),he=Object.assign,yl=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},tm=Object.prototype.hasOwnProperty,pe=(e,t)=>tm.call(e,t),J=Array.isArray,ms=e=>Ms(e)==="[object Map]",ss=e=>Ms(e)==="[object Set]",$a=e=>Ms(e)==="[object Date]",nm=e=>Ms(e)==="[object RegExp]",re=e=>typeof e=="function",le=e=>typeof e=="string",Lt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",El=e=>(be(e)||re(e))&&re(e.then)&&re(e.catch),Bu=Object.prototype.toString,Ms=e=>Bu.call(e),sm=e=>Ms(e).slice(8,-1),Wu=e=>Ms(e)==="[object Object]",bl=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vn=bt(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rm=bt("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Ri=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},im=/-(\w)/g,Le=Ri(e=>e.replace(im,(t,n)=>n?n.toUpperCase():"")),om=/\B([A-Z])/g,Et=Ri(e=>e.replace(om,"-$1").toLowerCase()),Ln=Ri(e=>e.charAt(0).toUpperCase()+e.slice(1)),Kn=Ri(e=>e?`on${Ln(e)}`:""),Ft=(e,t)=>!Object.is(e,t),gs=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},ju=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},oi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},li=e=>{const t=le(e)?Number(e):NaN;return isNaN(t)?e:t};let Va;const Ku=()=>Va||(Va=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),lm="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",am=bt(lm);function Fs(e){if(J(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=le(s)?Gu(s):Fs(s);if(i)for(const r in i)t[r]=i[r]}return t}else if(le(e)||be(e))return e}const cm=/;(?![^(]*\))/g,um=/:([^]+)/,fm=/\/\*[^]*?\*\//g;function Gu(e){const t={};return e.replace(fm,"").split(cm).forEach(n=>{if(n){const s=n.split(um);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ds(e){let t="";if(le(e))t=e;else if(J(e))for(let n=0;n<e.length;n++){const s=Ds(e[n]);s&&(t+=s+" ")}else if(be(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function Yu(e){if(!e)return null;let{class:t,style:n}=e;return t&&!le(t)&&(e.class=Ds(t)),n&&(e.style=Fs(n)),e}const dm="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",hm="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",pm="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",mm="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",gm=bt(dm),_m=bt(hm),ym=bt(pm),Em=bt(mm),bm="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",vm=bt(bm);function qu(e){return!!e||e===""}function Sm(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Nn(e[s],t[s]);return n}function Nn(e,t){if(e===t)return!0;let n=$a(e),s=$a(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Lt(e),s=Lt(t),n||s)return e===t;if(n=J(e),s=J(t),n||s)return n&&s?Sm(e,t):!1;if(n=be(e),s=be(t),n||s){if(!n||!s)return!1;const i=Object.keys(e).length,r=Object.keys(t).length;if(i!==r)return!1;for(const o in e){const l=e.hasOwnProperty(o),a=t.hasOwnProperty(o);if(l&&!a||!l&&a||!Nn(e[o],t[o]))return!1}}return String(e)===String(t)}function Pi(e,t){return e.findIndex(n=>Nn(n,t))}const Xu=e=>le(e)?e:e==null?"":J(e)||be(e)&&(e.toString===Bu||!re(e.toString))?JSON.stringify(e,Ju,2):String(e),Ju=(e,t)=>t&&t.__v_isRef?Ju(e,t.value):ms(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],r)=>(n[po(s,r)+" =>"]=i,n),{})}:ss(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>po(n))}:Lt(t)?po(t):be(t)&&!J(t)&&!Wu(t)?String(t):t,po=(e,t="")=>{var n;return Lt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
-* @vue/reactivity v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let gt;class ki{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=gt,!t&&gt&&(this.index=(gt.scopes||(gt.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=gt;try{return gt=this,t()}finally{gt=n}}}on(){gt=this}off(){gt=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0,this._active=!1}}}function _r(e){return new ki(e)}function Qu(e,t=gt){t&&t.active&&t.effects.push(e)}function yr(){return gt}function wi(e){gt&&gt.cleanups.push(e)}let Gn;class Jn{constructor(t,n,s,i){this.fn=t,this.trigger=n,this.scheduler=s,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,Qu(this,i)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,Rn();for(let t=0;t<this._depsLength;t++){const n=this.deps[t];if(n.computed&&(Tm(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Pn()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Sn,n=Gn;try{return Sn=!0,Gn=this,this._runnings++,Ua(this),this.fn()}finally{Ha(this),this._runnings--,Gn=n,Sn=t}}stop(){this.active&&(Ua(this),Ha(this),this.onStop&&this.onStop(),this.active=!1)}}function Tm(e){return e.value}function Ua(e){e._trackId++,e._depsLength=0}function Ha(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)Zu(e.deps[t],e);e.deps.length=e._depsLength}}function Zu(e,t){const n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}function zu(e,t){e.effect instanceof Jn&&(e=e.effect.fn);const n=new Jn(e,$e,()=>{n.dirty&&n.run()});t&&(he(n,t),t.scope&&Qu(n,t.scope)),(!t||!t.lazy)&&n.run();const s=n.run.bind(n);return s.effect=n,s}function ef(e){e.effect.stop()}let Sn=!0,Po=0;const tf=[];function Rn(){tf.push(Sn),Sn=!1}function Pn(){const e=tf.pop();Sn=e===void 0?!0:e}function vl(){Po++}function Sl(){for(Po--;!Po&&ko.length;)ko.shift()()}function nf(e,t,n){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const s=e.deps[e._depsLength];s!==t?(s&&Zu(s,e),e.deps[e._depsLength++]=t):e._depsLength++}}const ko=[];function sf(e,t,n){vl();for(const s of e.keys()){let i;s._dirtyLevel<t&&(i??(i=e.get(s)===s._trackId))&&(s._shouldSchedule||(s._shouldSchedule=s._dirtyLevel===0),s._dirtyLevel=t),s._shouldSchedule&&(i??(i=e.get(s)===s._trackId))&&(s.trigger(),(!s._runnings||s.allowRecurse)&&s._dirtyLevel!==2&&(s._shouldSchedule=!1,s.scheduler&&ko.push(s.scheduler)))}Sl()}const rf=(e,t)=>{const n=new Map;return n.cleanup=e,n.computed=t,n},ai=new WeakMap,Yn=Symbol(""),wo=Symbol("");function dt(e,t,n){if(Sn&&Gn){let s=ai.get(e);s||ai.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=rf(()=>s.delete(n))),nf(Gn,i)}}function zt(e,t,n,s,i,r){const o=ai.get(e);if(!o)return;let l=[];if(t==="clear")l=[...o.values()];else if(n==="length"&&J(e)){const a=Number(s);o.forEach((c,u)=>{(u==="length"||!Lt(u)&&u>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":J(e)?bl(n)&&l.push(o.get("length")):(l.push(o.get(Yn)),ms(e)&&l.push(o.get(wo)));break;case"delete":J(e)||(l.push(o.get(Yn)),ms(e)&&l.push(o.get(wo)));break;case"set":ms(e)&&l.push(o.get(Yn));break}vl();for(const a of l)a&&sf(a,4);Sl()}function Cm(e,t){const n=ai.get(e);return n&&n.get(t)}const Nm=bt("__proto__,__v_isRef,__isVue"),of=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Lt)),Ba=Im();function Im(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=fe(this);for(let r=0,o=this.length;r<o;r++)dt(s,"get",r+"");const i=s[t](...n);return i===-1||i===!1?s[t](...n.map(fe)):i}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){Rn(),vl();const s=fe(this)[t].apply(this,n);return Sl(),Pn(),s}}),e}function Am(e){Lt(e)||(e=String(e));const t=fe(this);return dt(t,"has",e),t.hasOwnProperty(e)}class lf{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const i=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(i?r?hf:df:r?ff:uf).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=J(t);if(!i){if(o&&pe(Ba,n))return Reflect.get(Ba,n,s);if(n==="hasOwnProperty")return Am}const l=Reflect.get(t,n,s);return(Lt(n)?of.has(n):Nm(n))||(i||dt(t,"get",n),r)?l:Re(l)?o&&bl(n)?l:l.value:be(l)?i?Er(l):rs(l):l}}class af extends lf{constructor(t=!1){super(!1,t)}set(t,n,s,i){let r=t[n];if(!this._isShallow){const a=Qn(r);if(!Ss(s)&&!Qn(s)&&(r=fe(r),s=fe(s)),!J(t)&&Re(r)&&!Re(s))return a?!1:(r.value=s,!0)}const o=J(t)&&bl(n)?Number(n)<t.length:pe(t,n),l=Reflect.set(t,n,s,i);return t===fe(i)&&(o?Ft(s,r)&&zt(t,"set",n,s):zt(t,"add",n,s)),l}deleteProperty(t,n){const s=pe(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&s&&zt(t,"delete",n,void 0),i}has(t,n){const s=Reflect.has(t,n);return(!Lt(n)||!of.has(n))&&dt(t,"has",n),s}ownKeys(t){return dt(t,"iterate",J(t)?"length":Yn),Reflect.ownKeys(t)}}class cf extends lf{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Om=new af,Lm=new cf,Rm=new af(!0),Pm=new cf(!0),Tl=e=>e,Mi=e=>Reflect.getPrototypeOf(e);function Fr(e,t,n=!1,s=!1){e=e.__v_raw;const i=fe(e),r=fe(t);n||(Ft(t,r)&&dt(i,"get",t),dt(i,"get",r));const{has:o}=Mi(i),l=s?Tl:n?Cl:zs;if(o.call(i,t))return l(e.get(t));if(o.call(i,r))return l(e.get(r));e!==i&&e.get(t)}function Dr(e,t=!1){const n=this.__v_raw,s=fe(n),i=fe(e);return t||(Ft(e,i)&&dt(s,"has",e),dt(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function xr(e,t=!1){return e=e.__v_raw,!t&&dt(fe(e),"iterate",Yn),Reflect.get(e,"size",e)}function Wa(e){e=fe(e);const t=fe(this);return Mi(t).has.call(t,e)||(t.add(e),zt(t,"add",e,e)),this}function ja(e,t){t=fe(t);const n=fe(this),{has:s,get:i}=Mi(n);let r=s.call(n,e);r||(e=fe(e),r=s.call(n,e));const o=i.call(n,e);return n.set(e,t),r?Ft(t,o)&&zt(n,"set",e,t):zt(n,"add",e,t),this}function Ka(e){const t=fe(this),{has:n,get:s}=Mi(t);let i=n.call(t,e);i||(e=fe(e),i=n.call(t,e)),s&&s.call(t,e);const r=t.delete(e);return i&&zt(t,"delete",e,void 0),r}function Ga(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&zt(e,"clear",void 0,void 0),n}function $r(e,t){return function(s,i){const r=this,o=r.__v_raw,l=fe(o),a=t?Tl:e?Cl:zs;return!e&&dt(l,"iterate",Yn),o.forEach((c,u)=>s.call(i,a(c),a(u),r))}}function Vr(e,t,n){return function(...s){const i=this.__v_raw,r=fe(i),o=ms(r),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,c=i[e](...s),u=n?Tl:t?Cl:zs;return!t&&dt(r,"iterate",a?wo:Yn),{next(){const{value:f,done:d}=c.next();return d?{value:f,done:d}:{value:l?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function ln(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function km(){const e={get(r){return Fr(this,r)},get size(){return xr(this)},has:Dr,add:Wa,set:ja,delete:Ka,clear:Ga,forEach:$r(!1,!1)},t={get(r){return Fr(this,r,!1,!0)},get size(){return xr(this)},has:Dr,add:Wa,set:ja,delete:Ka,clear:Ga,forEach:$r(!1,!0)},n={get(r){return Fr(this,r,!0)},get size(){return xr(this,!0)},has(r){return Dr.call(this,r,!0)},add:ln("add"),set:ln("set"),delete:ln("delete"),clear:ln("clear"),forEach:$r(!0,!1)},s={get(r){return Fr(this,r,!0,!0)},get size(){return xr(this,!0)},has(r){return Dr.call(this,r,!0)},add:ln("add"),set:ln("set"),delete:ln("delete"),clear:ln("clear"),forEach:$r(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=Vr(r,!1,!1),n[r]=Vr(r,!0,!1),t[r]=Vr(r,!1,!0),s[r]=Vr(r,!0,!0)}),[e,n,t,s]}const[wm,Mm,Fm,Dm]=km();function Fi(e,t){const n=t?e?Dm:Fm:e?Mm:wm;return(s,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(pe(n,i)&&i in s?n:s,i,r)}const xm={get:Fi(!1,!1)},$m={get:Fi(!1,!0)},Vm={get:Fi(!0,!1)},Um={get:Fi(!0,!0)},uf=new WeakMap,ff=new WeakMap,df=new WeakMap,hf=new WeakMap;function Hm(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bm(e){return e.__v_skip||!Object.isExtensible(e)?0:Hm(sm(e))}function rs(e){return Qn(e)?e:xi(e,!1,Om,xm,uf)}function Di(e){return xi(e,!1,Rm,$m,ff)}function Er(e){return xi(e,!0,Lm,Vm,df)}function pf(e){return xi(e,!0,Pm,Um,hf)}function xi(e,t,n,s,i){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=i.get(e);if(r)return r;const o=Bm(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return i.set(e,l),l}function en(e){return Qn(e)?en(e.__v_raw):!!(e&&e.__v_isReactive)}function Qn(e){return!!(e&&e.__v_isReadonly)}function Ss(e){return!!(e&&e.__v_isShallow)}function $i(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function br(e){return Object.isExtensible(e)&&ju(e,"__v_skip",!0),e}const zs=e=>be(e)?rs(e):e,Cl=e=>be(e)?Er(e):e;class mf{constructor(t,n,s,i){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Jn(()=>t(this._value),()=>_s(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=fe(this);return(!t._cacheable||t.effect.dirty)&&Ft(t._value,t._value=t.effect.run())&&_s(t,4),Nl(t),t.effect._dirtyLevel>=2&&_s(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Wm(e,t,n=!1){let s,i;const r=re(e);return r?(s=e,i=$e):(s=e.get,i=e.set),new mf(s,i,r||!i,n)}function Nl(e){var t;Sn&&Gn&&(e=fe(e),nf(Gn,(t=e.dep)!=null?t:e.dep=rf(()=>e.dep=void 0,e instanceof mf?e:void 0)))}function _s(e,t=4,n){e=fe(e);const s=e.dep;s&&sf(s,t)}function Re(e){return!!(e&&e.__v_isRef===!0)}function xe(e){return gf(e,!1)}function vr(e){return gf(e,!0)}function gf(e,t){return Re(e)?e:new jm(e,t)}class jm{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:fe(t),this._value=n?t:zs(t)}get value(){return Nl(this),this._value}set value(t){const n=this.__v_isShallow||Ss(t)||Qn(t);t=n?t:fe(t),Ft(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:zs(t),_s(this,4))}}function _f(e){_s(e,4)}function Wt(e){return Re(e)?e.value:e}function yf(e){return re(e)?e():Wt(e)}const Km={get:(e,t,n)=>Wt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return Re(i)&&!Re(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Vi(e){return en(e)?e:new Proxy(e,Km)}class Gm{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Nl(this),()=>_s(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Il(e){return new Gm(e)}function Al(e){const t=J(e)?new Array(e.length):{};for(const n in e)t[n]=bf(e,n);return t}class Ym{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Cm(fe(this._object),this._key)}}class qm{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ef(e,t,n){return Re(e)?e:re(e)?new qm(e):be(e)&&arguments.length>1?bf(e,t,n):xe(e)}function bf(e,t,n){const s=e[t];return Re(s)?s:new Ym(e,t,n)}const vf={GET:"get",HAS:"has",ITERATE:"iterate"},Sf={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"};/**
-* @vue/runtime-core v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function Tf(e,t){}const Cf={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER"},Xm={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."};function jt(e,t,n,s){try{return s?e(...s):e()}catch(i){kn(i,t,n)}}function ut(e,t,n,s){if(re(e)){const i=jt(e,t,n,s);return i&&El(i)&&i.catch(r=>{kn(r,t,n)}),i}if(J(e)){const i=[];for(let r=0;r<e.length;r++)i.push(ut(e[r],t,n,s));return i}}function kn(e,t,n,s=!0){const i=t?t.vnode:null;if(t){let r=t.parent;const o=t.proxy,l=`https://vuejs.org/error-reference/#runtime-${n}`;for(;r;){const c=r.ec;if(c){for(let u=0;u<c.length;u++)if(c[u](e,o,l)===!1)return}r=r.parent}const a=t.appContext.config.errorHandler;if(a){Rn(),jt(a,null,10,[e,o,l]),Pn();return}}Jm(e,n,i,s)}function Jm(e,t,n,s=!0){console.error(e)}let er=!1,Mo=!1;const et=[];let Ht=0;const ys=[];let mn=null,Hn=0;const Nf=Promise.resolve();let Ol=null;function is(e){const t=Ol||Nf;return e?t.then(this?e.bind(this):e):t}function Qm(e){let t=Ht+1,n=et.length;for(;t<n;){const s=t+n>>>1,i=et[s],r=nr(i);r<e||r===e&&i.pre?t=s+1:n=s}return t}function Ui(e){(!et.length||!et.includes(e,er&&e.allowRecurse?Ht+1:Ht))&&(e.id==null?et.push(e):et.splice(Qm(e.id),0,e),If())}function If(){!er&&!Mo&&(Mo=!0,Ol=Nf.then(Af))}function Zm(e){const t=et.indexOf(e);t>Ht&&et.splice(t,1)}function tr(e){J(e)?ys.push(...e):(!mn||!mn.includes(e,e.allowRecurse?Hn+1:Hn))&&ys.push(e),If()}function Ya(e,t,n=er?Ht+1:0){for(;n<et.length;n++){const s=et[n];if(s&&s.pre){if(e&&s.id!==e.uid)continue;et.splice(n,1),n--,s()}}}function ci(e){if(ys.length){const t=[...new Set(ys)].sort((n,s)=>nr(n)-nr(s));if(ys.length=0,mn){mn.push(...t);return}for(mn=t,Hn=0;Hn<mn.length;Hn++)mn[Hn]();mn=null,Hn=0}}const nr=e=>e.id==null?1/0:e.id,zm=(e,t)=>{const n=nr(e)-nr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Af(e){Mo=!1,er=!0,et.sort(zm);const t=$e;try{for(Ht=0;Ht<et.length;Ht++){const n=et[Ht];n&&n.active!==!1&&jt(n,null,14)}}finally{Ht=0,et.length=0,ci(),er=!1,Ol=null,(et.length||ys.length)&&Af()}}let us,Ur=[];function Of(e,t){var n,s;us=e,us?(us.enabled=!0,Ur.forEach(({event:i,args:r})=>us.emit(i,...r)),Ur=[]):typeof window<"u"&&window.HTMLElement&&!((s=(n=window.navigator)==null?void 0:n.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(r=>{Of(r,t)}),setTimeout(()=>{us||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Ur=[])},3e3)):Ur=[]}function eg(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||me;let i=n;const r=t.startsWith("update:"),o=r&&t.slice(7);if(o&&o in s){const u=`${o==="modelValue"?"model":o}Modifiers`,{number:f,trim:d}=s[u]||me;d&&(i=n.map(g=>le(g)?g.trim():g)),f&&(i=n.map(oi))}let l,a=s[l=Kn(t)]||s[l=Kn(Le(t))];!a&&r&&(a=s[l=Kn(Et(t))]),a&&ut(a,e,6,i);const c=s[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ut(c,e,6,i)}}function Lf(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!re(e)){const a=c=>{const u=Lf(c,t,!0);u&&(l=!0,he(o,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(be(e)&&s.set(e,null),null):(J(r)?r.forEach(a=>o[a]=null):he(o,r),be(e)&&s.set(e,o),o)}function Hi(e,t){return!e||!ns(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,Et(t))||pe(e,t))}let Ve=null,Bi=null;function sr(e){const t=Ve;return Ve=e,Bi=e&&e.type.__scopeId||null,t}function Rf(e){Bi=e}function Pf(){Bi=null}const kf=e=>Wi;function Wi(e,t=Ve,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&di(-1);const r=sr(t);let o;try{o=e(...i)}finally{sr(r),s._d&&di(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Zr(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:a,render:c,renderCache:u,props:f,data:d,setupState:g,ctx:b,inheritAttrs:O}=e,R=sr(e);let A,C;try{if(n.shapeFlag&4){const y=i||s,S=y;A=yt(c.call(S,y,u,f,g,d,b)),C=l}else{const y=t;A=yt(y.length>1?y(f,{attrs:l,slots:o,emit:a}):y(f,null)),C=t.props?l:ng(l)}}catch(y){Ys.length=0,kn(y,e,1),A=Se(Ge)}let h=A;if(C&&O!==!1){const y=Object.keys(C),{shapeFlag:S}=h;y.length&&S&7&&(r&&y.some(_l)&&(C=sg(C,r)),h=Dt(h,C,!1,!0))}return n.dirs&&(h=Dt(h,null,!1,!0),h.dirs=h.dirs?h.dirs.concat(n.dirs):n.dirs),n.transition&&(h.transition=n.transition),A=h,sr(R),A}function tg(e,t=!0){let n;for(let s=0;s<e.length;s++){const i=e[s];if(sn(i)){if(i.type!==Ge||i.children==="v-if"){if(n)return;n=i}}else return}return n}const ng=e=>{let t;for(const n in e)(n==="class"||n==="style"||ns(n))&&((t||(t={}))[n]=e[n]);return t},sg=(e,t)=>{const n={};for(const s in e)(!_l(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function rg(e,t,n){const{props:s,children:i,component:r}=e,{props:o,children:l,patchFlag:a}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?qa(s,o,c):!!o;if(a&8){const u=t.dynamicProps;for(let f=0;f<u.length;f++){const d=u[f];if(o[d]!==s[d]&&!Hi(c,d))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?qa(s,o,c):!0:!!o;return!1}function qa(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let i=0;i<s.length;i++){const r=s[i];if(t[r]!==e[r]&&!Hi(n,r))return!0}return!1}function Ll({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const Rl="components",ig="directives";function wf(e,t){return Pl(Rl,e,!0,t)||e}const Mf=Symbol.for("v-ndc");function Ff(e){return le(e)?Pl(Rl,e,!1)||e:e||Mf}function Df(e){return Pl(ig,e)}function Pl(e,t,n=!0,s=!1){const i=Ve||Be;if(i){const r=i.type;if(e===Rl){const l=Go(r,!1);if(l&&(l===t||l===Le(t)||l===Ln(Le(t))))return r}const o=Xa(i[e]||r[e],t)||Xa(i.appContext[e],t);return!o&&s?r:o}}function Xa(e,t){return e&&(e[t]||e[Le(t)]||e[Ln(Le(t))])}const xf=e=>e.__isSuspense;let Fo=0;const og={name:"Suspense",__isSuspense:!0,process(e,t,n,s,i,r,o,l,a,c){if(e==null)lg(t,n,s,i,r,o,l,a,c);else{if(r&&r.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}ag(e,t,n,s,i,o,l,a,c)}},hydrate:cg,create:kl,normalize:ug},$f=og;function rr(e,t){const n=e.props&&e.props[t];re(n)&&n()}function lg(e,t,n,s,i,r,o,l,a){const{p:c,o:{createElement:u}}=a,f=u("div"),d=e.suspense=kl(e,i,s,t,f,n,r,o,l,a);c(null,d.pendingBranch=e.ssContent,f,null,s,d,r,o),d.deps>0?(rr(e,"onPending"),rr(e,"onFallback"),c(null,e.ssFallback,t,n,s,null,r,o),Es(d,e.ssFallback)):d.resolve(!1,!0)}function ag(e,t,n,s,i,r,o,l,{p:a,um:c,o:{createElement:u}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,g=t.ssFallback,{activeBranch:b,pendingBranch:O,isInFallback:R,isHydrating:A}=f;if(O)f.pendingBranch=d,kt(d,O)?(a(O,d,f.hiddenContainer,null,i,f,r,o,l),f.deps<=0?f.resolve():R&&(A||(a(b,g,n,s,i,null,r,o,l),Es(f,g)))):(f.pendingId=Fo++,A?(f.isHydrating=!1,f.activeBranch=O):c(O,i,f),f.deps=0,f.effects.length=0,f.hiddenContainer=u("div"),R?(a(null,d,f.hiddenContainer,null,i,f,r,o,l),f.deps<=0?f.resolve():(a(b,g,n,s,i,null,r,o,l),Es(f,g))):b&&kt(d,b)?(a(b,d,n,s,i,f,r,o,l),f.resolve(!0)):(a(null,d,f.hiddenContainer,null,i,f,r,o,l),f.deps<=0&&f.resolve()));else if(b&&kt(d,b))a(b,d,n,s,i,f,r,o,l),Es(f,d);else if(rr(t,"onPending"),f.pendingBranch=d,d.shapeFlag&512?f.pendingId=d.component.suspenseId:f.pendingId=Fo++,a(null,d,f.hiddenContainer,null,i,f,r,o,l),f.deps<=0)f.resolve();else{const{timeout:C,pendingId:h}=f;C>0?setTimeout(()=>{f.pendingId===h&&f.fallback(g)},C):C===0&&f.fallback(g)}}function kl(e,t,n,s,i,r,o,l,a,c,u=!1){const{p:f,m:d,um:g,n:b,o:{parentNode:O,remove:R}}=c;let A;const C=fg(e);C&&t&&t.pendingBranch&&(A=t.pendingId,t.deps++);const h=e.props?li(e.props.timeout):void 0,y=r,S={vnode:e,parent:t,parentComponent:n,namespace:o,container:s,hiddenContainer:i,deps:0,pendingId:Fo++,timeout:typeof h=="number"?h:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(v=!1,P=!1){const{vnode:N,activeBranch:T,pendingBranch:M,pendingId:U,effects:w,parentComponent:B,container:te}=S;let z=!1;S.isHydrating?S.isHydrating=!1:v||(z=T&&M.transition&&M.transition.mode==="out-in",z&&(T.transition.afterLeave=()=>{U===S.pendingId&&(d(M,te,r===y?b(T):r,0),tr(w))}),T&&(O(T.el)!==S.hiddenContainer&&(r=b(T)),g(T,B,S,!0)),z||d(M,te,r,0)),Es(S,M),S.pendingBranch=null,S.isInFallback=!1;let W=S.parent,ee=!1;for(;W;){if(W.pendingBranch){W.effects.push(...w),ee=!0;break}W=W.parent}!ee&&!z&&tr(w),S.effects=[],C&&t&&t.pendingBranch&&A===t.pendingId&&(t.deps--,t.deps===0&&!P&&t.resolve()),rr(N,"onResolve")},fallback(v){if(!S.pendingBranch)return;const{vnode:P,activeBranch:N,parentComponent:T,container:M,namespace:U}=S;rr(P,"onFallback");const w=b(N),B=()=>{S.isInFallback&&(f(null,v,M,w,T,null,U,l,a),Es(S,v))},te=v.transition&&v.transition.mode==="out-in";te&&(N.transition.afterLeave=B),S.isInFallback=!0,g(N,T,null,!0),te||B()},move(v,P,N){S.activeBranch&&d(S.activeBranch,v,P,N),S.container=v},next(){return S.activeBranch&&b(S.activeBranch)},registerDep(v,P){const N=!!S.pendingBranch;N&&S.deps++;const T=v.vnode.el;v.asyncDep.catch(M=>{kn(M,v,0)}).then(M=>{if(v.isUnmounted||S.isUnmounted||S.pendingId!==v.suspenseId)return;v.asyncResolved=!0;const{vnode:U}=v;jo(v,M,!1),T&&(U.el=T);const w=!T&&v.subTree.el;P(v,U,O(T||v.subTree.el),T?null:b(v.subTree),S,o,a),w&&R(w),Ll(v,U.el),N&&--S.deps===0&&S.resolve()})},unmount(v,P){S.isUnmounted=!0,S.activeBranch&&g(S.activeBranch,n,v,P),S.pendingBranch&&g(S.pendingBranch,n,v,P)}};return S}function cg(e,t,n,s,i,r,o,l,a){const c=t.suspense=kl(t,s,n,e.parentNode,document.createElement("div"),null,i,r,o,l,!0),u=a(e,c.pendingBranch=t.ssContent,n,c,r,o);return c.deps===0&&c.resolve(!1,!0),u}function ug(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=Ja(s?n.default:n),e.ssFallback=s?Ja(n.fallback):Se(Ge)}function Ja(e){let t;if(re(e)){const n=zn&&e._c;n&&(e._d=!1,Ar()),e=e(),n&&(e._d=!0,t=at,Ad())}return J(e)&&(e=tg(e)),e=yt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Vf(e,t){t&&t.pendingBranch?J(e)?t.effects.push(...e):t.effects.push(e):tr(e)}function Es(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,s&&s.subTree===n&&(s.vnode.el=i,Ll(s,i))}function fg(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const wl=Symbol.for("v-scx"),Ml=()=>ft(wl);function Uf(e,t){return Sr(e,null,t)}function Fl(e,t){return Sr(e,null,{flush:"post"})}function Dl(e,t){return Sr(e,null,{flush:"sync"})}const Hr={};function At(e,t,n){return Sr(e,t,n)}function Sr(e,t,{immediate:n,deep:s,flush:i,once:r,onTrack:o,onTrigger:l}=me){if(t&&r){const v=t;t=(...P)=>{v(...P),S()}}const a=Be,c=v=>s===!0?v:Bn(v,s===!1?1:void 0);let u,f=!1,d=!1;if(Re(e)?(u=()=>e.value,f=Ss(e)):en(e)?(u=()=>c(e),f=!0):J(e)?(d=!0,f=e.some(v=>en(v)||Ss(v)),u=()=>e.map(v=>{if(Re(v))return v.value;if(en(v))return c(v);if(re(v))return jt(v,a,2)})):re(e)?t?u=()=>jt(e,a,2):u=()=>(g&&g(),ut(e,a,3,[b])):u=$e,t&&s){const v=u;u=()=>Bn(v())}let g,b=v=>{g=h.onStop=()=>{jt(v,a,4),g=h.onStop=void 0}},O;if(Or)if(b=$e,t?n&&ut(t,a,3,[u(),d?[]:void 0,b]):u(),i==="sync"){const v=Ml();O=v.__watcherHandles||(v.__watcherHandles=[])}else return $e;let R=d?new Array(e.length).fill(Hr):Hr;const A=()=>{if(!(!h.active||!h.dirty))if(t){const v=h.run();(s||f||(d?v.some((P,N)=>Ft(P,R[N])):Ft(v,R)))&&(g&&g(),ut(t,a,3,[v,R===Hr?void 0:d&&R[0]===Hr?[]:R,b]),R=v)}else h.run()};A.allowRecurse=!!t;let C;i==="sync"?C=A:i==="post"?C=()=>Xe(A,a&&a.suspense):(A.pre=!0,a&&(A.id=a.uid),C=()=>Ui(A));const h=new Jn(u,$e,C),y=yr(),S=()=>{h.stop(),y&&yl(y.effects,h)};return t?n?A():R=h.run():i==="post"?Xe(h.run.bind(h),a&&a.suspense):h.run(),O&&O.push(S),S}function dg(e,t,n){const s=this.proxy,i=le(e)?e.includes(".")?Hf(s,e):()=>s[e]:e.bind(s,s);let r;re(t)?r=t:(r=t.handler,n=t);const o=es(this),l=Sr(i,r.bind(s),n);return o(),l}function Hf(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i<n.length&&s;i++)s=s[n[i]];return s}}function Bn(e,t=1/0,n){if(t<=0||!be(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Re(e))Bn(e.value,t,n);else if(J(e))for(let s=0;s<e.length;s++)Bn(e[s],t,n);else if(ss(e)||ms(e))e.forEach(s=>{Bn(s,t,n)});else if(Wu(e))for(const s in e)Bn(e[s],t,n);return e}function Bf(e,t){if(Ve===null)return e;const n=Qi(Ve)||Ve.proxy,s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,l,a=me]=t[i];r&&(re(r)&&(r={mounted:r,updated:r}),r.deep&&Bn(o),s.push({dir:r,instance:n,value:o,oldValue:void 0,arg:l,modifiers:a}))}return e}function Ut(e,t,n,s){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const l=i[o];r&&(l.oldValue=r[o].value);let a=l.dir[s];a&&(Rn(),ut(a,n,8,[e.el,l,e,t]),Pn())}}const gn=Symbol("_leaveCb"),Br=Symbol("_enterCb");function ji(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return wn(()=>{e.isMounted=!0}),Ir(()=>{e.isUnmounting=!0}),e}const Tt=[Function,Array],Ki={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Tt,onEnter:Tt,onAfterEnter:Tt,onEnterCancelled:Tt,onBeforeLeave:Tt,onLeave:Tt,onAfterLeave:Tt,onLeaveCancelled:Tt,onBeforeAppear:Tt,onAppear:Tt,onAfterAppear:Tt,onAppearCancelled:Tt},hg={name:"BaseTransition",props:Ki,setup(e,{slots:t}){const n=nt(),s=ji();return()=>{const i=t.default&&Tr(t.default(),!0);if(!i||!i.length)return;let r=i[0];if(i.length>1){for(const d of i)if(d.type!==Ge){r=d;break}}const o=fe(e),{mode:l}=o;if(s.isLeaving)return mo(r);const a=Qa(r);if(!a)return mo(r);const c=Zn(a,o,s,n);In(a,c);const u=n.subTree,f=u&&Qa(u);if(f&&f.type!==Ge&&!kt(a,f)){const d=Zn(f,o,s,n);if(In(f,d),l==="out-in"&&a.type!==Ge)return s.isLeaving=!0,d.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},mo(r);l==="in-out"&&a.type!==Ge&&(d.delayLeave=(g,b,O)=>{const R=Wf(s,f);R[String(f.key)]=f,g[gn]=()=>{b(),g[gn]=void 0,delete c.delayedLeave},c.delayedLeave=O})}return r}}},xl=hg;function Wf(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Zn(e,t,n,s){const{appear:i,mode:r,persisted:o=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:f,onLeave:d,onAfterLeave:g,onLeaveCancelled:b,onBeforeAppear:O,onAppear:R,onAfterAppear:A,onAppearCancelled:C}=t,h=String(e.key),y=Wf(n,e),S=(N,T)=>{N&&ut(N,s,9,T)},v=(N,T)=>{const M=T[1];S(N,T),J(N)?N.every(U=>U.length<=1)&&M():N.length<=1&&M()},P={mode:r,persisted:o,beforeEnter(N){let T=l;if(!n.isMounted)if(i)T=O||l;else return;N[gn]&&N[gn](!0);const M=y[h];M&&kt(e,M)&&M.el[gn]&&M.el[gn](),S(T,[N])},enter(N){let T=a,M=c,U=u;if(!n.isMounted)if(i)T=R||a,M=A||c,U=C||u;else return;let w=!1;const B=N[Br]=te=>{w||(w=!0,te?S(U,[N]):S(M,[N]),P.delayedLeave&&P.delayedLeave(),N[Br]=void 0)};T?v(T,[N,B]):B()},leave(N,T){const M=String(e.key);if(N[Br]&&N[Br](!0),n.isUnmounting)return T();S(f,[N]);let U=!1;const w=N[gn]=B=>{U||(U=!0,T(),B?S(b,[N]):S(g,[N]),N[gn]=void 0,y[M]===e&&delete y[M])};y[M]=e,d?v(d,[N,w]):w()},clone(N){return Zn(N,t,n,s)}};return P}function mo(e){if(Cr(e))return e=Dt(e),e.children=null,e}function Qa(e){if(!Cr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&re(n.default))return n.default()}}function In(e,t){e.shapeFlag&6&&e.component?In(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Tr(e,t=!1,n){let s=[],i=0;for(let r=0;r<e.length;r++){let o=e[r];const l=n==null?o.key:String(n)+String(o.key!=null?o.key:r);o.type===De?(o.patchFlag&128&&i++,s=s.concat(Tr(o.children,t,l))):(t||o.type!==Ge)&&s.push(l!=null?Dt(o,{key:l}):o)}if(i>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}/*! #__NO_SIDE_EFFECTS__ */function rn(e,t){return re(e)?(()=>he({name:e.name},t,{setup:e}))():e}const qn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function jf(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:i=200,timeout:r,suspensible:o=!0,onError:l}=e;let a=null,c,u=0;const f=()=>(u++,a=null,d()),d=()=>{let g;return a||(g=a=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),l)return new Promise((O,R)=>{l(b,()=>O(f()),()=>R(b),u+1)});throw b}).then(b=>g!==a&&a?a:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),c=b,b)))};return rn({name:"AsyncComponentWrapper",__asyncLoader:d,get __asyncResolved(){return c},setup(){const g=Be;if(c)return()=>go(c,g);const b=C=>{a=null,kn(C,g,13,!s)};if(o&&g.suspense||Or)return d().then(C=>()=>go(C,g)).catch(C=>(b(C),()=>s?Se(s,{error:C}):null));const O=xe(!1),R=xe(),A=xe(!!i);return i&&setTimeout(()=>{A.value=!1},i),r!=null&&setTimeout(()=>{if(!O.value&&!R.value){const C=new Error(`Async component timed out after ${r}ms.`);b(C),R.value=C}},r),d().then(()=>{O.value=!0,g.parent&&Cr(g.parent.vnode)&&(g.parent.effect.dirty=!0,Ui(g.parent.update))}).catch(C=>{b(C),R.value=C}),()=>{if(O.value&&c)return go(c,g);if(R.value&&s)return Se(s,{error:R.value});if(n&&!A.value)return Se(n)}}})}function go(e,t){const{ref:n,props:s,children:i,ce:r}=t.vnode,o=Se(e,s,i);return o.ref=n,o.ce=r,delete t.vnode.ce,o}const Cr=e=>e.type.__isKeepAlive,pg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=nt(),s=n.ctx;if(!s.renderer)return()=>{const C=t.default&&t.default();return C&&C.length===1?C[0]:C};const i=new Map,r=new Set;let o=null;const l=n.suspense,{renderer:{p:a,m:c,um:u,o:{createElement:f}}}=s,d=f("div");s.activate=(C,h,y,S,v)=>{const P=C.component;c(C,h,y,0,l),a(P.vnode,C,h,y,P,l,S,C.slotScopeIds,v),Xe(()=>{P.isDeactivated=!1,P.a&&gs(P.a);const N=C.props&&C.props.onVnodeMounted;N&&lt(N,P.parent,C)},l)},s.deactivate=C=>{const h=C.component;c(C,d,null,1,l),Xe(()=>{h.da&&gs(h.da);const y=C.props&&C.props.onVnodeUnmounted;y&&lt(y,h.parent,C),h.isDeactivated=!0},l)};function g(C){_o(C),u(C,n,l,!0)}function b(C){i.forEach((h,y)=>{const S=Go(h.type);S&&(!C||!C(S))&&O(y)})}function O(C){const h=i.get(C);!o||!kt(h,o)?g(h):o&&_o(o),i.delete(C),r.delete(C)}At(()=>[e.include,e.exclude],([C,h])=>{C&&b(y=>Ws(C,y)),h&&b(y=>!Ws(h,y))},{flush:"post",deep:!0});let R=null;const A=()=>{R!=null&&i.set(R,yo(n.subTree))};return wn(A),Nr(A),Ir(()=>{i.forEach(C=>{const{subTree:h,suspense:y}=n,S=yo(h);if(C.type===S.type&&C.key===S.key){_o(S);const v=S.component.da;v&&Xe(v,y);return}g(C)})}),()=>{if(R=null,!t.default)return null;const C=t.default(),h=C[0];if(C.length>1)return o=null,C;if(!sn(h)||!(h.shapeFlag&4)&&!(h.shapeFlag&128))return o=null,h;let y=yo(h);const S=y.type,v=Go(qn(y)?y.type.__asyncResolved||{}:S),{include:P,exclude:N,max:T}=e;if(P&&(!v||!Ws(P,v))||N&&v&&Ws(N,v))return o=y,h;const M=y.key==null?S:y.key,U=i.get(M);return y.el&&(y=Dt(y),h.shapeFlag&128&&(h.ssContent=y)),R=M,U?(y.el=U.el,y.component=U.component,y.transition&&In(y,y.transition),y.shapeFlag|=512,r.delete(M),r.add(M)):(r.add(M),T&&r.size>parseInt(T,10)&&O(r.values().next().value)),y.shapeFlag|=256,o=y,xf(h.type)?h:y}}},Kf=pg;function Ws(e,t){return J(e)?e.some(n=>Ws(n,t)):le(e)?e.split(",").includes(t):nm(e)?e.test(t):!1}function $l(e,t){Gf(e,"a",t)}function Vl(e,t){Gf(e,"da",t)}function Gf(e,t,n=Be){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Gi(t,s,n),n){let i=n.parent;for(;i&&i.parent;)Cr(i.parent.vnode)&&mg(s,t,n,i),i=i.parent}}function mg(e,t,n,s){const i=Gi(t,e,s,!0);xs(()=>{yl(s[t],i)},n)}function _o(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function yo(e){return e.shapeFlag&128?e.ssContent:e}function Gi(e,t,n=Be,s=!1){if(n){const i=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Rn();const l=es(n),a=ut(t,n,e,o);return l(),Pn(),a});return s?i.unshift(r):i.push(r),r}}const on=e=>(t,n=Be)=>(!Or||e==="sp")&&Gi(e,(...s)=>t(...s),n),Yi=on("bm"),wn=on("m"),Ul=on("bu"),Nr=on("u"),Ir=on("bum"),xs=on("um"),Hl=on("sp"),Bl=on("rtg"),Wl=on("rtc");function jl(e,t=Be){Gi("ec",e,t)}function Yf(e,t,n,s){let i;const r=n&&n[s];if(J(e)||le(e)){i=new Array(e.length);for(let o=0,l=e.length;o<l;o++)i[o]=t(e[o],o,void 0,r&&r[o])}else if(typeof e=="number"){i=new Array(e);for(let o=0;o<e;o++)i[o]=t(o+1,o,void 0,r&&r[o])}else if(be(e))if(e[Symbol.iterator])i=Array.from(e,(o,l)=>t(o,l,void 0,r&&r[l]));else{const o=Object.keys(e);i=new Array(o.length);for(let l=0,a=o.length;l<a;l++){const c=o[l];i[l]=t(e[c],c,l,r&&r[l])}}else i=[];return n&&(n[s]=i),i}function qf(e,t){for(let n=0;n<t.length;n++){const s=t[n];if(J(s))for(let i=0;i<s.length;i++)e[s[i].name]=s[i].fn;else s&&(e[s.name]=s.key?(...i)=>{const r=s.fn(...i);return r&&(r.key=s.key),r}:s.fn)}return e}function Xf(e,t,n={},s,i){if(Ve.isCE||Ve.parent&&qn(Ve.parent)&&Ve.parent.isCE)return t!=="default"&&(n.name=t),Se("slot",n,s&&s());let r=e[t];r&&r._c&&(r._d=!1),Ar();const o=r&&Jf(r(n)),l=qi(De,{key:n.key||o&&o.key||`_${t}`},o||(s?s():[]),o&&e._===1?64:-2);return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),r&&r._c&&(r._d=!0),l}function Jf(e){return e.some(t=>sn(t)?!(t.type===Ge||t.type===De&&!Jf(t.children)):!0)?e:null}function Qf(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Kn(s)]=e[s];return n}const Do=e=>e?Fd(e)?Qi(e)||e.proxy:Do(e.parent):null,Ks=he(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Do(e.parent),$root:e=>Do(e.root),$emit:e=>e.emit,$options:e=>Kl(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Ui(e.update)}),$nextTick:e=>e.n||(e.n=is.bind(e.proxy)),$watch:e=>dg.bind(e)}),Eo=(e,t)=>e!==me&&!e.__isScriptSetup&&pe(e,t),xo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:r,accessCache:o,type:l,appContext:a}=e;let c;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return r[t]}else{if(Eo(s,t))return o[t]=1,s[t];if(i!==me&&pe(i,t))return o[t]=2,i[t];if((c=e.propsOptions[0])&&pe(c,t))return o[t]=3,r[t];if(n!==me&&pe(n,t))return o[t]=4,n[t];$o&&(o[t]=0)}}const u=Ks[t];let f,d;if(u)return t==="$attrs"&&dt(e.attrs,"get",""),u(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==me&&pe(n,t))return o[t]=4,n[t];if(d=a.config.globalProperties,pe(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:r}=e;return Eo(i,t)?(i[t]=n,!0):s!==me&&pe(s,t)?(s[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:r}},o){let l;return!!n[o]||e!==me&&pe(e,o)||Eo(t,o)||(l=r[0])&&pe(l,o)||pe(s,o)||pe(Ks,o)||pe(i.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},gg=he({},xo,{get(e,t){if(t!==Symbol.unscopables)return xo.get(e,t,e)},has(e,t){return t[0]!=="_"&&!am(t)}});function Zf(){return null}function zf(){return null}function ed(e){}function td(e){}function nd(){return null}function sd(){}function rd(e,t){return null}function id(){return ld().slots}function od(){return ld().attrs}function ld(){const e=nt();return e.setupContext||(e.setupContext=Vd(e))}function ir(e){return J(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function ad(e,t){const n=ir(e);for(const s in t){if(s.startsWith("__skip"))continue;let i=n[s];i?J(i)||re(i)?i=n[s]={type:i,default:t[s]}:i.default=t[s]:i===null&&(i=n[s]={default:t[s]}),i&&t[`__skip_${s}`]&&(i.skipFactory=!0)}return n}function cd(e,t){return!e||!t?e||t:J(e)&&J(t)?e.concat(t):he({},ir(e),ir(t))}function ud(e,t){const n={};for(const s in e)t.includes(s)||Object.defineProperty(n,s,{enumerable:!0,get:()=>e[s]});return n}function fd(e){const t=nt();let n=e();return Wo(),El(n)&&(n=n.catch(s=>{throw es(t),s})),[n,()=>es(t)]}let $o=!0;function _g(e){const t=Kl(e),n=e.proxy,s=e.ctx;$o=!1,t.beforeCreate&&Za(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:a,inject:c,created:u,beforeMount:f,mounted:d,beforeUpdate:g,updated:b,activated:O,deactivated:R,beforeDestroy:A,beforeUnmount:C,destroyed:h,unmounted:y,render:S,renderTracked:v,renderTriggered:P,errorCaptured:N,serverPrefetch:T,expose:M,inheritAttrs:U,components:w,directives:B,filters:te}=t;if(c&&yg(c,s,null),o)for(const ee in o){const Q=o[ee];re(Q)&&(s[ee]=Q.bind(n))}if(i){const ee=i.call(n,n);be(ee)&&(e.data=rs(ee))}if($o=!0,r)for(const ee in r){const Q=r[ee],Fe=re(Q)?Q.bind(n,n):re(Q.get)?Q.get.bind(n,n):$e,Ke=!re(Q)&&re(Q.set)?Q.set.bind(n):$e,Te=Ne({get:Fe,set:Ke});Object.defineProperty(s,ee,{enumerable:!0,configurable:!0,get:()=>Te.value,set:Pe=>Te.value=Pe})}if(l)for(const ee in l)dd(l[ee],s,n,ee);if(a){const ee=re(a)?a.call(n):a;Reflect.ownKeys(ee).forEach(Q=>{vs(Q,ee[Q])})}u&&Za(u,e,"c");function W(ee,Q){J(Q)?Q.forEach(Fe=>ee(Fe.bind(n))):Q&&ee(Q.bind(n))}if(W(Yi,f),W(wn,d),W(Ul,g),W(Nr,b),W($l,O),W(Vl,R),W(jl,N),W(Wl,v),W(Bl,P),W(Ir,C),W(xs,y),W(Hl,T),J(M))if(M.length){const ee=e.exposed||(e.exposed={});M.forEach(Q=>{Object.defineProperty(ee,Q,{get:()=>n[Q],set:Fe=>n[Q]=Fe})})}else e.exposed||(e.exposed={});S&&e.render===$e&&(e.render=S),U!=null&&(e.inheritAttrs=U),w&&(e.components=w),B&&(e.directives=B)}function yg(e,t,n=$e){J(e)&&(e=Vo(e));for(const s in e){const i=e[s];let r;be(i)?"default"in i?r=ft(i.from||s,i.default,!0):r=ft(i.from||s):r=ft(i),Re(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[s]=r}}function Za(e,t,n){ut(J(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function dd(e,t,n,s){const i=s.includes(".")?Hf(n,s):()=>n[s];if(le(e)){const r=t[e];re(r)&&At(i,r)}else if(re(e))At(i,e.bind(n));else if(be(e))if(J(e))e.forEach(r=>dd(r,t,n,s));else{const r=re(e.handler)?e.handler.bind(n):t[e.handler];re(r)&&At(i,r,e)}}function Kl(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let a;return l?a=l:!i.length&&!n&&!s?a=t:(a={},i.length&&i.forEach(c=>ui(a,c,o,!0)),ui(a,t,o)),be(t)&&r.set(t,a),a}function ui(e,t,n,s=!1){const{mixins:i,extends:r}=t;r&&ui(e,r,n,!0),i&&i.forEach(o=>ui(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Eg[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Eg={data:za,props:ec,emits:ec,methods:js,computed:js,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:js,directives:js,watch:vg,provide:za,inject:bg};function za(e,t){return t?e?function(){return he(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function bg(e,t){return js(Vo(e),Vo(t))}function Vo(e){if(J(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function st(e,t){return e?[...new Set([].concat(e,t))]:t}function js(e,t){return e?he(Object.create(null),e,t):t}function ec(e,t){return e?J(e)&&J(t)?[...new Set([...e,...t])]:he(Object.create(null),ir(e),ir(t??{})):t}function vg(e,t){if(!e)return t;if(!t)return e;const n=he(Object.create(null),e);for(const s in t)n[s]=st(e[s],t[s]);return n}function hd(){return{app:null,config:{isNativeTag:Qr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Sg=0;function Tg(e,t){return function(s,i=null){re(s)||(s=he({},s)),i!=null&&!be(i)&&(i=null);const r=hd(),o=new WeakSet;let l=!1;const a=r.app={_uid:Sg++,_component:s,_props:i,_container:null,_context:r,_instance:null,version:na,get config(){return r.config},set config(c){},use(c,...u){return o.has(c)||(c&&re(c.install)?(o.add(c),c.install(a,...u)):re(c)&&(o.add(c),c(a,...u))),a},mixin(c){return r.mixins.includes(c)||r.mixins.push(c),a},component(c,u){return u?(r.components[c]=u,a):r.components[c]},directive(c,u){return u?(r.directives[c]=u,a):r.directives[c]},mount(c,u,f){if(!l){const d=Se(s,i);return d.appContext=r,f===!0?f="svg":f===!1&&(f=void 0),u&&t?t(d,c):e(d,c,f),l=!0,a._container=c,c.__vue_app__=a,Qi(d.component)||d.component.proxy}},unmount(){l&&(e(null,a._container),delete a._container.__vue_app__)},provide(c,u){return r.provides[c]=u,a},runWithContext(c){const u=bs;bs=a;try{return c()}finally{bs=u}}};return a}}let bs=null;function vs(e,t){if(Be){let n=Be.provides;const s=Be.parent&&Be.parent.provides;s===n&&(n=Be.provides=Object.create(s)),n[e]=t}}function ft(e,t,n=!1){const s=Be||Ve;if(s||bs){const i=s?s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:bs._context.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&re(t)?t.call(s&&s.proxy):t}}function Gl(){return!!(Be||Ve||bs)}const pd={},md=()=>Object.create(pd),gd=e=>Object.getPrototypeOf(e)===pd;function Cg(e,t,n,s=!1){const i={},r=md();e.propsDefaults=Object.create(null),_d(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);n?e.props=s?i:Di(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Ng(e,t,n,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=fe(i),[a]=e.propsOptions;let c=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let f=0;f<u.length;f++){let d=u[f];if(Hi(e.emitsOptions,d))continue;const g=t[d];if(a)if(pe(r,d))g!==r[d]&&(r[d]=g,c=!0);else{const b=Le(d);i[b]=Uo(a,l,b,g,e,!1)}else g!==r[d]&&(r[d]=g,c=!0)}}}else{_d(e,t,i,r)&&(c=!0);let u;for(const f in l)(!t||!pe(t,f)&&((u=Et(f))===f||!pe(t,u)))&&(a?n&&(n[f]!==void 0||n[u]!==void 0)&&(i[f]=Uo(a,l,f,void 0,e,!0)):delete i[f]);if(r!==l)for(const f in r)(!t||!pe(t,f))&&(delete r[f],c=!0)}c&&zt(e.attrs,"set","")}function _d(e,t,n,s){const[i,r]=e.propsOptions;let o=!1,l;if(t)for(let a in t){if(vn(a))continue;const c=t[a];let u;i&&pe(i,u=Le(a))?!r||!r.includes(u)?n[u]=c:(l||(l={}))[u]=c:Hi(e.emitsOptions,a)||(!(a in s)||c!==s[a])&&(s[a]=c,o=!0)}if(r){const a=fe(n),c=l||me;for(let u=0;u<r.length;u++){const f=r[u];n[f]=Uo(i,a,f,c[f],e,!pe(c,f))}}return o}function Uo(e,t,n,s,i,r){const o=e[n];if(o!=null){const l=pe(o,"default");if(l&&s===void 0){const a=o.default;if(o.type!==Function&&!o.skipFactory&&re(a)){const{propsDefaults:c}=i;if(n in c)s=c[n];else{const u=es(i);s=c[n]=a.call(null,t),u()}}else s=a}o[0]&&(r&&!l?s=!1:o[1]&&(s===""||s===Et(n))&&(s=!0))}return s}function yd(e,t,n=!1){const s=t.propsCache,i=s.get(e);if(i)return i;const r=e.props,o={},l=[];let a=!1;if(!re(e)){const u=f=>{a=!0;const[d,g]=yd(f,t,!0);he(o,d),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!a)return be(e)&&s.set(e,ps),ps;if(J(r))for(let u=0;u<r.length;u++){const f=Le(r[u]);tc(f)&&(o[f]=me)}else if(r)for(const u in r){const f=Le(u);if(tc(f)){const d=r[u],g=o[f]=J(d)||re(d)?{type:d}:he({},d);if(g){const b=rc(Boolean,g.type),O=rc(String,g.type);g[0]=b>-1,g[1]=O<0||b<O,(b>-1||pe(g,"default"))&&l.push(f)}}}const c=[o,l];return be(e)&&s.set(e,c),c}function tc(e){return e[0]!=="$"&&!vn(e)}function nc(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function sc(e,t){return nc(e)===nc(t)}function rc(e,t){return J(t)?t.findIndex(n=>sc(n,e)):re(t)&&sc(t,e)?0:-1}const Ed=e=>e[0]==="_"||e==="$stable",Yl=e=>J(e)?e.map(yt):[yt(e)],Ig=(e,t,n)=>{if(t._n)return t;const s=Wi((...i)=>Yl(t(...i)),n);return s._c=!1,s},bd=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Ed(i))continue;const r=e[i];if(re(r))t[i]=Ig(i,r,s);else if(r!=null){const o=Yl(r);t[i]=()=>o}}},vd=(e,t)=>{const n=Yl(t);e.slots.default=()=>n},Ag=(e,t)=>{const n=e.slots=md();if(e.vnode.shapeFlag&32){const s=t._;s?(he(n,t),ju(n,"_",s,!0)):bd(t,n)}else t&&vd(e,t)},Og=(e,t,n)=>{const{vnode:s,slots:i}=e;let r=!0,o=me;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:(he(i,t),!n&&l===1&&delete i._):(r=!t.$stable,bd(t,i)),o=t}else t&&(vd(e,t),o={default:1});if(r)for(const l in i)!Ed(l)&&o[l]==null&&delete i[l]};function fi(e,t,n,s,i=!1){if(J(e)){e.forEach((d,g)=>fi(d,t&&(J(t)?t[g]:t),n,s,i));return}if(qn(s)&&!i)return;const r=s.shapeFlag&4?Qi(s.component)||s.component.proxy:s.el,o=i?null:r,{i:l,r:a}=e,c=t&&t.r,u=l.refs===me?l.refs={}:l.refs,f=l.setupState;if(c!=null&&c!==a&&(le(c)?(u[c]=null,pe(f,c)&&(f[c]=null)):Re(c)&&(c.value=null)),re(a))jt(a,l,12,[o,u]);else{const d=le(a),g=Re(a);if(d||g){const b=()=>{if(e.f){const O=d?pe(f,a)?f[a]:u[a]:a.value;i?J(O)&&yl(O,r):J(O)?O.includes(r)||O.push(r):d?(u[a]=[r],pe(f,a)&&(f[a]=u[a])):(a.value=[r],e.k&&(u[e.k]=a.value))}else d?(u[a]=o,pe(f,a)&&(f[a]=o)):g&&(a.value=o,e.k&&(u[e.k]=o))};o?(b.id=-1,Xe(b,n)):b()}}}let an=!1;const Lg=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Rg=e=>e.namespaceURI.includes("MathML"),Wr=e=>{if(Lg(e))return"svg";if(Rg(e))return"mathml"},jr=e=>e.nodeType===8;function Pg(e){const{mt:t,p:n,o:{patchProp:s,createText:i,nextSibling:r,parentNode:o,remove:l,insert:a,createComment:c}}=e,u=(h,y)=>{if(!y.hasChildNodes()){n(null,h,y),ci(),y._vnode=h;return}an=!1,f(y.firstChild,h,null,null,null),ci(),y._vnode=h,an&&console.error("Hydration completed but contains mismatches.")},f=(h,y,S,v,P,N=!1)=>{N=N||!!y.dynamicChildren;const T=jr(h)&&h.data==="[",M=()=>O(h,y,S,v,P,T),{type:U,ref:w,shapeFlag:B,patchFlag:te}=y;let z=h.nodeType;y.el=h,te===-2&&(N=!1,y.dynamicChildren=null);let W=null;switch(U){case nn:z!==3?y.children===""?(a(y.el=i(""),o(h),h),W=h):W=M():(h.data!==y.children&&(an=!0,h.data=y.children),W=r(h));break;case Ge:C(h)?(W=r(h),A(y.el=h.content.firstChild,h,S)):z!==8||T?W=M():W=r(h);break;case Tn:if(T&&(h=r(h),z=h.nodeType),z===1||z===3){W=h;const ee=!y.children.length;for(let Q=0;Q<y.staticCount;Q++)ee&&(y.children+=W.nodeType===1?W.outerHTML:W.data),Q===y.staticCount-1&&(y.anchor=W),W=r(W);return T?r(W):W}else M();break;case De:T?W=b(h,y,S,v,P,N):W=M();break;default:if(B&1)(z!==1||y.type.toLowerCase()!==h.tagName.toLowerCase())&&!C(h)?W=M():W=d(h,y,S,v,P,N);else if(B&6){y.slotScopeIds=P;const ee=o(h);if(T?W=R(h):jr(h)&&h.data==="teleport start"?W=R(h,h.data,"teleport end"):W=r(h),t(y,ee,null,S,v,Wr(ee),N),qn(y)){let Q;T?(Q=Se(De),Q.anchor=W?W.previousSibling:ee.lastChild):Q=h.nodeType===3?Ji(""):Se("div"),Q.el=h,y.component.subTree=Q}}else B&64?z!==8?W=M():W=y.type.hydrate(h,y,S,v,P,N,e,g):B&128&&(W=y.type.hydrate(h,y,S,v,Wr(o(h)),P,N,e,f))}return w!=null&&fi(w,null,v,y),W},d=(h,y,S,v,P,N)=>{N=N||!!y.dynamicChildren;const{type:T,props:M,patchFlag:U,shapeFlag:w,dirs:B,transition:te}=y,z=T==="input"||T==="option";if(z||U!==-1){B&&Ut(y,null,S,"created");let W=!1;if(C(h)){W=Td(v,te)&&S&&S.vnode.props&&S.vnode.props.appear;const Q=h.content.firstChild;W&&te.beforeEnter(Q),A(Q,h,S),y.el=h=Q}if(w&16&&!(M&&(M.innerHTML||M.textContent))){let Q=g(h.firstChild,y,h,S,v,P,N);for(;Q;){an=!0;const Fe=Q;Q=Q.nextSibling,l(Fe)}}else w&8&&h.textContent!==y.children&&(an=!0,h.textContent=y.children);if(M)if(z||!N||U&48)for(const Q in M)(z&&(Q.endsWith("value")||Q==="indeterminate")||ns(Q)&&!vn(Q)||Q[0]===".")&&s(h,Q,null,M[Q],void 0,void 0,S);else M.onClick&&s(h,"onClick",null,M.onClick,void 0,void 0,S);let ee;(ee=M&&M.onVnodeBeforeMount)&&lt(ee,S,y),B&&Ut(y,null,S,"beforeMount"),((ee=M&&M.onVnodeMounted)||B||W)&&Vf(()=>{ee&&lt(ee,S,y),W&&te.enter(h),B&&Ut(y,null,S,"mounted")},v)}return h.nextSibling},g=(h,y,S,v,P,N,T)=>{T=T||!!y.dynamicChildren;const M=y.children,U=M.length;for(let w=0;w<U;w++){const B=T?M[w]:M[w]=yt(M[w]);if(h)h=f(h,B,v,P,N,T);else{if(B.type===nn&&!B.children)continue;an=!0,n(null,B,S,null,v,P,Wr(S),N)}}return h},b=(h,y,S,v,P,N)=>{const{slotScopeIds:T}=y;T&&(P=P?P.concat(T):T);const M=o(h),U=g(r(h),y,M,S,v,P,N);return U&&jr(U)&&U.data==="]"?r(y.anchor=U):(an=!0,a(y.anchor=c("]"),M,U),U)},O=(h,y,S,v,P,N)=>{if(an=!0,y.el=null,N){const U=R(h);for(;;){const w=r(h);if(w&&w!==U)l(w);else break}}const T=r(h),M=o(h);return l(h),n(null,y,M,T,S,v,Wr(M),P),T},R=(h,y="[",S="]")=>{let v=0;for(;h;)if(h=r(h),h&&jr(h)&&(h.data===y&&v++,h.data===S)){if(v===0)return r(h);v--}return h},A=(h,y,S)=>{const v=y.parentNode;v&&v.replaceChild(h,y);let P=S;for(;P;)P.vnode.el===y&&(P.vnode.el=P.subTree.el=h),P=P.parent},C=h=>h.nodeType===1&&h.tagName.toLowerCase()==="template";return[u,f]}const Xe=Vf;function ql(e){return Sd(e)}function Xl(e){return Sd(e,Pg)}function Sd(e,t){const n=Ku();n.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:l,createComment:a,setText:c,setElementText:u,parentNode:f,nextSibling:d,setScopeId:g=$e,insertStaticContent:b}=e,O=(E,p,L,V=null,D=null,j=null,G=void 0,m=null,_=!!p.dynamicChildren)=>{if(E===p)return;E&&!kt(E,p)&&(V=$(E),Pe(E,D,j,!0),E=null),p.patchFlag===-2&&(_=!1,p.dynamicChildren=null);const{type:I,ref:x,shapeFlag:Y}=p;switch(I){case nn:R(E,p,L,V);break;case Ge:A(E,p,L,V);break;case Tn:E==null&&C(p,L,V,G);break;case De:w(E,p,L,V,D,j,G,m,_);break;default:Y&1?S(E,p,L,V,D,j,G,m,_):Y&6?B(E,p,L,V,D,j,G,m,_):(Y&64||Y&128)&&I.process(E,p,L,V,D,j,G,m,_,Z)}x!=null&&D&&fi(x,E&&E.ref,j,p||E,!p)},R=(E,p,L,V)=>{if(E==null)s(p.el=l(p.children),L,V);else{const D=p.el=E.el;p.children!==E.children&&c(D,p.children)}},A=(E,p,L,V)=>{E==null?s(p.el=a(p.children||""),L,V):p.el=E.el},C=(E,p,L,V)=>{[E.el,E.anchor]=b(E.children,p,L,V,E.el,E.anchor)},h=({el:E,anchor:p},L,V)=>{let D;for(;E&&E!==p;)D=d(E),s(E,L,V),E=D;s(p,L,V)},y=({el:E,anchor:p})=>{let L;for(;E&&E!==p;)L=d(E),i(E),E=L;i(p)},S=(E,p,L,V,D,j,G,m,_)=>{p.type==="svg"?G="svg":p.type==="math"&&(G="mathml"),E==null?v(p,L,V,D,j,G,m,_):T(E,p,D,j,G,m,_)},v=(E,p,L,V,D,j,G,m)=>{let _,I;const{props:x,shapeFlag:Y,transition:H,dirs:k}=E;if(_=E.el=o(E.type,j,x&&x.is,x),Y&8?u(_,E.children):Y&16&&N(E.children,_,null,V,D,bo(E,j),G,m),k&&Ut(E,null,V,"created"),P(_,E,E.scopeId,G,V),x){for(const ne in x)ne!=="value"&&!vn(ne)&&r(_,ne,null,x[ne],j,E.children,V,D,ke);"value"in x&&r(_,"value",null,x.value,j),(I=x.onVnodeBeforeMount)&&lt(I,V,E)}k&&Ut(E,null,V,"beforeMount");const F=Td(D,H);F&&H.beforeEnter(_),s(_,p,L),((I=x&&x.onVnodeMounted)||F||k)&&Xe(()=>{I&&lt(I,V,E),F&&H.enter(_),k&&Ut(E,null,V,"mounted")},D)},P=(E,p,L,V,D)=>{if(L&&g(E,L),V)for(let j=0;j<V.length;j++)g(E,V[j]);if(D){let j=D.subTree;if(p===j){const G=D.vnode;P(E,G,G.scopeId,G.slotScopeIds,D.parent)}}},N=(E,p,L,V,D,j,G,m,_=0)=>{for(let I=_;I<E.length;I++){const x=E[I]=m?_n(E[I]):yt(E[I]);O(null,x,p,L,V,D,j,G,m)}},T=(E,p,L,V,D,j,G)=>{const m=p.el=E.el;let{patchFlag:_,dynamicChildren:I,dirs:x}=p;_|=E.patchFlag&16;const Y=E.props||me,H=p.props||me;let k;if(L&&Dn(L,!1),(k=H.onVnodeBeforeUpdate)&&lt(k,L,p,E),x&&Ut(p,E,L,"beforeUpdate"),L&&Dn(L,!0),I?M(E.dynamicChildren,I,m,L,V,bo(p,D),j):G||Q(E,p,m,null,L,V,bo(p,D),j,!1),_>0){if(_&16)U(m,p,Y,H,L,V,D);else if(_&2&&Y.class!==H.class&&r(m,"class",null,H.class,D),_&4&&r(m,"style",Y.style,H.style,D),_&8){const F=p.dynamicProps;for(let ne=0;ne<F.length;ne++){const ie=F[ne],ve=Y[ie],Qe=H[ie];(Qe!==ve||ie==="value")&&r(m,ie,ve,Qe,D,E.children,L,V,ke)}}_&1&&E.children!==p.children&&u(m,p.children)}else!G&&I==null&&U(m,p,Y,H,L,V,D);((k=H.onVnodeUpdated)||x)&&Xe(()=>{k&&lt(k,L,p,E),x&&Ut(p,E,L,"updated")},V)},M=(E,p,L,V,D,j,G)=>{for(let m=0;m<p.length;m++){const _=E[m],I=p[m],x=_.el&&(_.type===De||!kt(_,I)||_.shapeFlag&70)?f(_.el):L;O(_,I,x,null,V,D,j,G,!0)}},U=(E,p,L,V,D,j,G)=>{if(L!==V){if(L!==me)for(const m in L)!vn(m)&&!(m in V)&&r(E,m,L[m],null,G,p.children,D,j,ke);for(const m in V){if(vn(m))continue;const _=V[m],I=L[m];_!==I&&m!=="value"&&r(E,m,I,_,G,p.children,D,j,ke)}"value"in V&&r(E,"value",L.value,V.value,G)}},w=(E,p,L,V,D,j,G,m,_)=>{const I=p.el=E?E.el:l(""),x=p.anchor=E?E.anchor:l("");let{patchFlag:Y,dynamicChildren:H,slotScopeIds:k}=p;k&&(m=m?m.concat(k):k),E==null?(s(I,L,V),s(x,L,V),N(p.children||[],L,x,D,j,G,m,_)):Y>0&&Y&64&&H&&E.dynamicChildren?(M(E.dynamicChildren,H,L,D,j,G,m),(p.key!=null||D&&p===D.subTree)&&Jl(E,p,!0)):Q(E,p,L,x,D,j,G,m,_)},B=(E,p,L,V,D,j,G,m,_)=>{p.slotScopeIds=m,E==null?p.shapeFlag&512?D.ctx.activate(p,L,V,G,_):te(p,L,V,D,j,G,_):z(E,p,_)},te=(E,p,L,V,D,j,G)=>{const m=E.component=Md(E,V,D);if(Cr(E)&&(m.ctx.renderer=Z),Dd(m),m.asyncDep){if(D&&D.registerDep(m,W),!E.el){const _=m.subTree=Se(Ge);A(null,_,p,L)}}else W(m,E,p,L,D,j,G)},z=(E,p,L)=>{const V=p.component=E.component;if(rg(E,p,L))if(V.asyncDep&&!V.asyncResolved){ee(V,p,L);return}else V.next=p,Zm(V.update),V.effect.dirty=!0,V.update();else p.el=E.el,V.vnode=p},W=(E,p,L,V,D,j,G)=>{const m=()=>{if(E.isMounted){let{next:x,bu:Y,u:H,parent:k,vnode:F}=E;{const pt=Cd(E);if(pt){x&&(x.el=F.el,ee(E,x,G)),pt.asyncDep.then(()=>{E.isUnmounted||m()});return}}let ne=x,ie;Dn(E,!1),x?(x.el=F.el,ee(E,x,G)):x=F,Y&&gs(Y),(ie=x.props&&x.props.onVnodeBeforeUpdate)&&lt(ie,k,x,F),Dn(E,!0);const ve=Zr(E),Qe=E.subTree;E.subTree=ve,O(Qe,ve,f(Qe.el),$(Qe),E,D,j),x.el=ve.el,ne===null&&Ll(E,ve.el),H&&Xe(H,D),(ie=x.props&&x.props.onVnodeUpdated)&&Xe(()=>lt(ie,k,x,F),D)}else{let x;const{el:Y,props:H}=p,{bm:k,m:F,parent:ne}=E,ie=qn(p);if(Dn(E,!1),k&&gs(k),!ie&&(x=H&&H.onVnodeBeforeMount)&&lt(x,ne,p),Dn(E,!0),Y&&_e){const ve=()=>{E.subTree=Zr(E),_e(Y,E.subTree,E,D,null)};ie?p.type.__asyncLoader().then(()=>!E.isUnmounted&&ve()):ve()}else{const ve=E.subTree=Zr(E);O(null,ve,L,V,E,D,j),p.el=ve.el}if(F&&Xe(F,D),!ie&&(x=H&&H.onVnodeMounted)){const ve=p;Xe(()=>lt(x,ne,ve),D)}(p.shapeFlag&256||ne&&qn(ne.vnode)&&ne.vnode.shapeFlag&256)&&E.a&&Xe(E.a,D),E.isMounted=!0,p=L=V=null}},_=E.effect=new Jn(m,$e,()=>Ui(I),E.scope),I=E.update=()=>{_.dirty&&_.run()};I.id=E.uid,Dn(E,!0),I()},ee=(E,p,L)=>{p.component=E;const V=E.vnode.props;E.vnode=p,E.next=null,Ng(E,p.props,V,L),Og(E,p.children,L),Rn(),Ya(E),Pn()},Q=(E,p,L,V,D,j,G,m,_=!1)=>{const I=E&&E.children,x=E?E.shapeFlag:0,Y=p.children,{patchFlag:H,shapeFlag:k}=p;if(H>0){if(H&128){Ke(I,Y,L,V,D,j,G,m,_);return}else if(H&256){Fe(I,Y,L,V,D,j,G,m,_);return}}k&8?(x&16&&ke(I,D,j),Y!==I&&u(L,Y)):x&16?k&16?Ke(I,Y,L,V,D,j,G,m,_):ke(I,D,j,!0):(x&8&&u(L,""),k&16&&N(Y,L,V,D,j,G,m,_))},Fe=(E,p,L,V,D,j,G,m,_)=>{E=E||ps,p=p||ps;const I=E.length,x=p.length,Y=Math.min(I,x);let H;for(H=0;H<Y;H++){const k=p[H]=_?_n(p[H]):yt(p[H]);O(E[H],k,L,null,D,j,G,m,_)}I>x?ke(E,D,j,!0,!1,Y):N(p,L,V,D,j,G,m,_,Y)},Ke=(E,p,L,V,D,j,G,m,_)=>{let I=0;const x=p.length;let Y=E.length-1,H=x-1;for(;I<=Y&&I<=H;){const k=E[I],F=p[I]=_?_n(p[I]):yt(p[I]);if(kt(k,F))O(k,F,L,null,D,j,G,m,_);else break;I++}for(;I<=Y&&I<=H;){const k=E[Y],F=p[H]=_?_n(p[H]):yt(p[H]);if(kt(k,F))O(k,F,L,null,D,j,G,m,_);else break;Y--,H--}if(I>Y){if(I<=H){const k=H+1,F=k<x?p[k].el:V;for(;I<=H;)O(null,p[I]=_?_n(p[I]):yt(p[I]),L,F,D,j,G,m,_),I++}}else if(I>H)for(;I<=Y;)Pe(E[I],D,j,!0),I++;else{const k=I,F=I,ne=new Map;for(I=F;I<=H;I++){const mt=p[I]=_?_n(p[I]):yt(p[I]);mt.key!=null&&ne.set(mt.key,I)}let ie,ve=0;const Qe=H-F+1;let pt=!1,Mr=0;const ls=new Array(Qe);for(I=0;I<Qe;I++)ls[I]=0;for(I=k;I<=Y;I++){const mt=E[I];if(ve>=Qe){Pe(mt,D,j,!0);continue}let Vt;if(mt.key!=null)Vt=ne.get(mt.key);else for(ie=F;ie<=H;ie++)if(ls[ie-F]===0&&kt(mt,p[ie])){Vt=ie;break}Vt===void 0?Pe(mt,D,j,!0):(ls[Vt-F]=I+1,Vt>=Mr?Mr=Vt:pt=!0,O(mt,p[Vt],L,null,D,j,G,m,_),ve++)}const Da=pt?kg(ls):ps;for(ie=Da.length-1,I=Qe-1;I>=0;I--){const mt=F+I,Vt=p[mt],xa=mt+1<x?p[mt+1].el:V;ls[I]===0?O(null,Vt,L,xa,D,j,G,m,_):pt&&(ie<0||I!==Da[ie]?Te(Vt,L,xa,2):ie--)}}},Te=(E,p,L,V,D=null)=>{const{el:j,type:G,transition:m,children:_,shapeFlag:I}=E;if(I&6){Te(E.component.subTree,p,L,V);return}if(I&128){E.suspense.move(p,L,V);return}if(I&64){G.move(E,p,L,Z);return}if(G===De){s(j,p,L);for(let Y=0;Y<_.length;Y++)Te(_[Y],p,L,V);s(E.anchor,p,L);return}if(G===Tn){h(E,p,L);return}if(V!==2&&I&1&&m)if(V===0)m.beforeEnter(j),s(j,p,L),Xe(()=>m.enter(j),D);else{const{leave:Y,delayLeave:H,afterLeave:k}=m,F=()=>s(j,p,L),ne=()=>{Y(j,()=>{F(),k&&k()})};H?H(j,F,ne):ne()}else s(j,p,L)},Pe=(E,p,L,V=!1,D=!1)=>{const{type:j,props:G,ref:m,children:_,dynamicChildren:I,shapeFlag:x,patchFlag:Y,dirs:H}=E;if(m!=null&&fi(m,null,L,E,!0),x&256){p.ctx.deactivate(E);return}const k=x&1&&H,F=!qn(E);let ne;if(F&&(ne=G&&G.onVnodeBeforeUnmount)&&lt(ne,p,E),x&6)$t(E.component,L,V);else{if(x&128){E.suspense.unmount(L,V);return}k&&Ut(E,null,p,"beforeUnmount"),x&64?E.type.remove(E,p,L,D,Z,V):I&&(j!==De||Y>0&&Y&64)?ke(I,p,L,!1,!0):(j===De&&Y&384||!D&&x&16)&&ke(_,p,L),V&&St(E)}(F&&(ne=G&&G.onVnodeUnmounted)||k)&&Xe(()=>{ne&&lt(ne,p,E),k&&Ut(E,null,p,"unmounted")},L)},St=E=>{const{type:p,el:L,anchor:V,transition:D}=E;if(p===De){ht(L,V);return}if(p===Tn){y(E);return}const j=()=>{i(L),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(E.shapeFlag&1&&D&&!D.persisted){const{leave:G,delayLeave:m}=D,_=()=>G(L,j);m?m(E.el,j,_):_()}else j()},ht=(E,p)=>{let L;for(;E!==p;)L=d(E),i(E),E=L;i(p)},$t=(E,p,L)=>{const{bum:V,scope:D,update:j,subTree:G,um:m}=E;V&&gs(V),D.stop(),j&&(j.active=!1,Pe(G,E,p,L)),m&&Xe(m,p),Xe(()=>{E.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&E.asyncDep&&!E.asyncResolved&&E.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},ke=(E,p,L,V=!1,D=!1,j=0)=>{for(let G=j;G<E.length;G++)Pe(E[G],p,L,V,D)},$=E=>E.shapeFlag&6?$(E.component.subTree):E.shapeFlag&128?E.suspense.next():d(E.anchor||E.el);let X=!1;const K=(E,p,L)=>{E==null?p._vnode&&Pe(p._vnode,null,null,!0):O(p._vnode||null,E,p,null,null,null,L),X||(X=!0,Ya(),ci(),X=!1),p._vnode=E},Z={p:O,um:Pe,m:Te,r:St,mt:te,mc:N,pc:Q,pbc:M,n:$,o:e};let ue,_e;return t&&([ue,_e]=t(Z)),{render:K,hydrate:ue,createApp:Tg(K,ue)}}function bo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Dn({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Td(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Jl(e,t,n=!1){const s=e.children,i=t.children;if(J(s)&&J(i))for(let r=0;r<s.length;r++){const o=s[r];let l=i[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[r]=_n(i[r]),l.el=o.el),n||Jl(o,l)),l.type===nn&&(l.el=o.el)}}function kg(e){const t=e.slice(),n=[0];let s,i,r,o,l;const a=e.length;for(s=0;s<a;s++){const c=e[s];if(c!==0){if(i=n[n.length-1],e[i]<c){t[s]=i,n.push(s);continue}for(r=0,o=n.length-1;r<o;)l=r+o>>1,e[n[l]]<c?r=l+1:o=l;c<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,o=n[r-1];r-- >0;)n[r]=o,o=t[o];return n}function Cd(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Cd(t)}const wg=e=>e.__isTeleport,Gs=e=>e&&(e.disabled||e.disabled===""),ic=e=>typeof SVGElement<"u"&&e instanceof SVGElement,oc=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ho=(e,t)=>{const n=e&&e.to;return le(n)?t?t(n):null:n},Mg={name:"Teleport",__isTeleport:!0,process(e,t,n,s,i,r,o,l,a,c){const{mc:u,pc:f,pbc:d,o:{insert:g,querySelector:b,createText:O,createComment:R}}=c,A=Gs(t.props);let{shapeFlag:C,children:h,dynamicChildren:y}=t;if(e==null){const S=t.el=O(""),v=t.anchor=O("");g(S,n,s),g(v,n,s);const P=t.target=Ho(t.props,b),N=t.targetAnchor=O("");P&&(g(N,P),o==="svg"||ic(P)?o="svg":(o==="mathml"||oc(P))&&(o="mathml"));const T=(M,U)=>{C&16&&u(h,M,U,i,r,o,l,a)};A?T(n,v):P&&T(P,N)}else{t.el=e.el;const S=t.anchor=e.anchor,v=t.target=e.target,P=t.targetAnchor=e.targetAnchor,N=Gs(e.props),T=N?n:v,M=N?S:P;if(o==="svg"||ic(v)?o="svg":(o==="mathml"||oc(v))&&(o="mathml"),y?(d(e.dynamicChildren,y,T,i,r,o,l),Jl(e,t,!0)):a||f(e,t,T,M,i,r,o,l,!1),A)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Kr(t,n,S,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const U=t.target=Ho(t.props,b);U&&Kr(t,U,null,c,0)}else N&&Kr(t,v,P,c,1)}Id(t)},remove(e,t,n,s,{um:i,o:{remove:r}},o){const{shapeFlag:l,children:a,anchor:c,targetAnchor:u,target:f,props:d}=e;if(f&&r(u),o&&r(c),l&16){const g=o||!Gs(d);for(let b=0;b<a.length;b++){const O=a[b];i(O,t,n,g,!!O.dynamicChildren)}}},move:Kr,hydrate:Fg};function Kr(e,t,n,{o:{insert:s},m:i},r=2){r===0&&s(e.targetAnchor,t,n);const{el:o,anchor:l,shapeFlag:a,children:c,props:u}=e,f=r===2;if(f&&s(o,t,n),(!f||Gs(u))&&a&16)for(let d=0;d<c.length;d++)i(c[d],t,n,2);f&&s(l,t,n)}function Fg(e,t,n,s,i,r,{o:{nextSibling:o,parentNode:l,querySelector:a}},c){const u=t.target=Ho(t.props,a);if(u){const f=u._lpa||u.firstChild;if(t.shapeFlag&16)if(Gs(t.props))t.anchor=c(o(e),t,l(e),n,s,i,r),t.targetAnchor=f;else{t.anchor=o(e);let d=f;for(;d;)if(d=o(d),d&&d.nodeType===8&&d.data==="teleport anchor"){t.targetAnchor=d,u._lpa=t.targetAnchor&&o(t.targetAnchor);break}c(f,t,u,n,s,i,r)}Id(t)}return t.anchor&&o(t.anchor)}const Nd=Mg;function Id(e){const t=e.ctx;if(t&&t.ut){let n=e.children[0].el;for(;n&&n!==e.targetAnchor;)n.nodeType===1&&n.setAttribute("data-v-owner",t.uid),n=n.nextSibling;t.ut()}}const De=Symbol.for("v-fgt"),nn=Symbol.for("v-txt"),Ge=Symbol.for("v-cmt"),Tn=Symbol.for("v-stc"),Ys=[];let at=null;function Ar(e=!1){Ys.push(at=e?null:[])}function Ad(){Ys.pop(),at=Ys[Ys.length-1]||null}let zn=1;function di(e){zn+=e}function Od(e){return e.dynamicChildren=zn>0?at||ps:null,Ad(),zn>0&&at&&at.push(e),e}function Ld(e,t,n,s,i,r){return Od(Xi(e,t,n,s,i,r,!0))}function qi(e,t,n,s,i){return Od(Se(e,t,n,s,i,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function kt(e,t){return e.type===t.type&&e.key===t.key}function Rd(e){}const Pd=({key:e})=>e??null,zr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?le(e)||Re(e)||re(e)?{i:Ve,r:e,k:t,f:!!n}:e:null);function Xi(e,t=null,n=null,s=0,i=null,r=e===De?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pd(t),ref:t&&zr(t),scopeId:Bi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ve};return l?(Zl(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=le(n)?8:16),zn>0&&!o&&at&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&at.push(a),a}const Se=Dg;function Dg(e,t=null,n=null,s=0,i=null,r=!1){if((!e||e===Mf)&&(e=Ge),sn(e)){const l=Dt(e,t,!0);return n&&Zl(l,n),zn>0&&!r&&at&&(l.shapeFlag&6?at[at.indexOf(e)]=l:at.push(l)),l.patchFlag|=-2,l}if(Hg(e)&&(e=e.__vccOpts),t){t=Ql(t);let{class:l,style:a}=t;l&&!le(l)&&(t.class=Ds(l)),be(a)&&($i(a)&&!J(a)&&(a=he({},a)),t.style=Fs(a))}const o=le(e)?1:xf(e)?128:wg(e)?64:be(e)?4:re(e)?2:0;return Xi(e,t,n,s,i,o,r,!0)}function Ql(e){return e?$i(e)||gd(e)?he({},e):e:null}function Dt(e,t,n=!1,s=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:a}=e,c=t?zl(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Pd(c),ref:t&&t.ref?n&&r?J(r)?r.concat(zr(t)):[r,zr(t)]:zr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==De?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Dt(e.ssContent),ssFallback:e.ssFallback&&Dt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&(u.transition=a.clone(u)),u}function Ji(e=" ",t=0){return Se(nn,null,e,t)}function kd(e,t){const n=Se(Tn,null,e);return n.staticCount=t,n}function wd(e="",t=!1){return t?(Ar(),qi(Ge,null,e)):Se(Ge,null,e)}function yt(e){return e==null||typeof e=="boolean"?Se(Ge):J(e)?Se(De,null,e.slice()):typeof e=="object"?_n(e):Se(nn,null,String(e))}function _n(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Dt(e)}function Zl(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(J(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Zl(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!gd(t)?t._ctx=Ve:i===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:Ve},n=32):(t=String(t),s&64?(n=16,t=[Ji(t)]):n=8);e.children=t,e.shapeFlag|=n}function zl(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const i in s)if(i==="class")t.class!==s.class&&(t.class=Ds([t.class,s.class]));else if(i==="style")t.style=Fs([t.style,s.style]);else if(ns(i)){const r=t[i],o=s[i];o&&r!==o&&!(J(r)&&r.includes(o))&&(t[i]=r?[].concat(r,o):o)}else i!==""&&(t[i]=s[i])}return t}function lt(e,t,n,s=null){ut(e,t,7,[n,s])}const xg=hd();let $g=0;function Md(e,t,n){const s=e.type,i=(t?t.appContext:e.appContext)||xg,r={uid:$g++,vnode:e,type:s,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,scope:new ki(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yd(s,i),emitsOptions:Lf(s,i),emit:null,emitted:null,propsDefaults:me,inheritAttrs:s.inheritAttrs,ctx:me,data:me,props:me,attrs:me,slots:me,refs:me,setupState:me,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=eg.bind(null,r),e.ce&&e.ce(r),r}let Be=null;const nt=()=>Be||Ve;let hi,Bo;{const e=Ku(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};hi=t("__VUE_INSTANCE_SETTERS__",n=>Be=n),Bo=t("__VUE_SSR_SETTERS__",n=>Or=n)}const es=e=>{const t=Be;return hi(e),e.scope.on(),()=>{e.scope.off(),hi(t)}},Wo=()=>{Be&&Be.scope.off(),hi(null)};function Fd(e){return e.vnode.shapeFlag&4}let Or=!1;function Dd(e,t=!1){t&&Bo(t);const{props:n,children:s}=e.vnode,i=Fd(e);Cg(e,n,i,t),Ag(e,s);const r=i?Vg(e,t):void 0;return t&&Bo(!1),r}function Vg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,xo);const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?Vd(e):null,r=es(e);Rn();const o=jt(s,e,0,[e.props,i]);if(Pn(),r(),El(o)){if(o.then(Wo,Wo),t)return o.then(l=>{jo(e,l,t)}).catch(l=>{kn(l,e,0)});e.asyncDep=o}else jo(e,o,t)}else $d(e,t)}function jo(e,t,n){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=Vi(t)),$d(e,n)}let pi,Ko;function ea(e){pi=e,Ko=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,gg))}}const xd=()=>!pi;function $d(e,t,n){const s=e.type;if(!e.render){if(!t&&pi&&!s.render){const i=s.template||Kl(e).template;if(i){const{isCustomElement:r,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:a}=s,c=he(he({isCustomElement:r,delimiters:l},o),a);s.render=pi(i,c)}}e.render=s.render||$e,Ko&&Ko(e)}{const i=es(e);Rn();try{_g(e)}finally{Pn(),i()}}}const Ug={get(e,t){return dt(e,"get",""),e[t]}};function Vd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ug),slots:e.slots,emit:e.emit,expose:t}}function Qi(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Vi(br(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ks)return Ks[n](e)},has(t,n){return n in t||n in Ks}}))}function Go(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function Hg(e){return re(e)&&"__vccOpts"in e}const Ne=(e,t)=>Wm(e,t,Or);function Ud(e,t,n=me){const s=nt(),i=Le(t),r=Et(t),o=Il((a,c)=>{let u;return Dl(()=>{const f=e[t];Ft(u,f)&&(u=f,c())}),{get(){return a(),n.get?n.get(u):u},set(f){const d=s.vnode.props;!(d&&(t in d||i in d||r in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${r}`in d))&&Ft(f,u)&&(u=f,c()),s.emit(`update:${t}`,n.set?n.set(f):f)}}}),l=t==="modelValue"?"modelModifiers":`${t}Modifiers`;return o[Symbol.iterator]=()=>{let a=0;return{next(){return a<2?{value:a++?e[l]||{}:o,done:!1}:{done:!0}}}},o}function os(e,t,n){const s=arguments.length;return s===2?be(t)&&!J(t)?sn(t)?Se(e,null,[t]):Se(e,t):Se(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&sn(n)&&(n=[n]),Se(e,t,n))}function Hd(){}function Bd(e,t,n,s){const i=n[s];if(i&&ta(i,e))return i;const r=t();return r.memo=e.slice(),n[s]=r}function ta(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let s=0;s<n.length;s++)if(Ft(n[s],t[s]))return!1;return zn>0&&at&&at.push(e),!0}const na="3.4.27",Wd=$e,jd=Xm,Kd=us,Gd=Of,Bg={createComponentInstance:Md,setupComponent:Dd,renderComponentRoot:Zr,setCurrentRenderingInstance:sr,isVNode:sn,normalizeVNode:yt},Yd=Bg,qd=null,Xd=null,Jd=null;/**
-* @vue/runtime-dom v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/const Wg="http://www.w3.org/2000/svg",jg="http://www.w3.org/1998/Math/MathML",yn=typeof document<"u"?document:null,lc=yn&&yn.createElement("template"),Kg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?yn.createElementNS(Wg,e):t==="mathml"?yn.createElementNS(jg,e):yn.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>yn.createTextNode(e),createComment:e=>yn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,r){const o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===r||!(i=i.nextSibling)););else{lc.innerHTML=s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e;const l=lc.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},cn="transition",Vs="animation",Ts=Symbol("_vtc"),Zi=(e,{slots:t})=>os(xl,Zd(e),t);Zi.displayName="Transition";const Qd={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Gg=Zi.props=he({},Ki,Qd),xn=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},ac=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function Zd(e){const t={};for(const w in e)w in Qd||(t[w]=e[w]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=r,appearActiveClass:c=o,appearToClass:u=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,b=Yg(i),O=b&&b[0],R=b&&b[1],{onBeforeEnter:A,onEnter:C,onEnterCancelled:h,onLeave:y,onLeaveCancelled:S,onBeforeAppear:v=A,onAppear:P=C,onAppearCancelled:N=h}=t,T=(w,B,te)=>{hn(w,B?u:l),hn(w,B?c:o),te&&te()},M=(w,B)=>{w._isLeaving=!1,hn(w,f),hn(w,g),hn(w,d),B&&B()},U=w=>(B,te)=>{const z=w?P:C,W=()=>T(B,w,te);xn(z,[B,W]),cc(()=>{hn(B,w?a:r),Xt(B,w?u:l),ac(z)||uc(B,s,O,W)})};return he(t,{onBeforeEnter(w){xn(A,[w]),Xt(w,r),Xt(w,o)},onBeforeAppear(w){xn(v,[w]),Xt(w,a),Xt(w,c)},onEnter:U(!1),onAppear:U(!0),onLeave(w,B){w._isLeaving=!0;const te=()=>M(w,B);Xt(w,f),Xt(w,d),eh(),cc(()=>{w._isLeaving&&(hn(w,f),Xt(w,g),ac(y)||uc(w,s,R,te))}),xn(y,[w,te])},onEnterCancelled(w){T(w,!1),xn(h,[w])},onAppearCancelled(w){T(w,!0),xn(N,[w])},onLeaveCancelled(w){M(w),xn(S,[w])}})}function Yg(e){if(e==null)return null;if(be(e))return[vo(e.enter),vo(e.leave)];{const t=vo(e);return[t,t]}}function vo(e){return li(e)}function Xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ts]||(e[Ts]=new Set)).add(t)}function hn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Ts];n&&(n.delete(t),n.size||(e[Ts]=void 0))}function cc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let qg=0;function uc(e,t,n,s){const i=e._endId=++qg,r=()=>{i===e._endId&&s()};if(n)return setTimeout(r,n);const{type:o,timeout:l,propCount:a}=zd(e,t);if(!o)return s();const c=o+"end";let u=0;const f=()=>{e.removeEventListener(c,d),r()},d=g=>{g.target===e&&++u>=a&&f()};setTimeout(()=>{u<a&&f()},l+1),e.addEventListener(c,d)}function zd(e,t){const n=window.getComputedStyle(e),s=b=>(n[b]||"").split(", "),i=s(`${cn}Delay`),r=s(`${cn}Duration`),o=fc(i,r),l=s(`${Vs}Delay`),a=s(`${Vs}Duration`),c=fc(l,a);let u=null,f=0,d=0;t===cn?o>0&&(u=cn,f=o,d=r.length):t===Vs?c>0&&(u=Vs,f=c,d=a.length):(f=Math.max(o,c),u=f>0?o>c?cn:Vs:null,d=u?u===cn?r.length:a.length:0);const g=u===cn&&/\b(transform|all)(,|$)/.test(s(`${cn}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:g}}function fc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>dc(n)+dc(e[s])))}function dc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function eh(){return document.body.offsetHeight}function Xg(e,t,n){const s=e[Ts];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const mi=Symbol("_vod"),th=Symbol("_vsh"),sa={beforeMount(e,{value:t},{transition:n}){e[mi]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Us(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Us(e,!0),s.enter(e)):s.leave(e,()=>{Us(e,!1)}):Us(e,t))},beforeUnmount(e,{value:t}){Us(e,t)}};function Us(e,t){e.style.display=t?e[mi]:"none",e[th]=!t}function Jg(){sa.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const nh=Symbol("");function sh(e){const t=nt();if(!t)return;const n=t.ut=(i=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(r=>qo(r,i))},s=()=>{const i=e(t.proxy);Yo(t.subTree,i),n(i)};wn(()=>{Fl(s);const i=new MutationObserver(s);i.observe(t.subTree.el.parentNode,{childList:!0}),xs(()=>i.disconnect())})}function Yo(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Yo(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)qo(e.el,t);else if(e.type===De)e.children.forEach(n=>Yo(n,t));else if(e.type===Tn){let{el:n,anchor:s}=e;for(;n&&(qo(n,t),n!==s);)n=n.nextSibling}}function qo(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const i in t)n.setProperty(`--${i}`,t[i]),s+=`--${i}: ${t[i]};`;n[nh]=s}}const Qg=/(^|;)\s*display\s*:/;function Zg(e,t,n){const s=e.style,i=le(n);let r=!1;if(n&&!i){if(t)if(le(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&ei(s,l,"")}else for(const o in t)n[o]==null&&ei(s,o,"");for(const o in n)o==="display"&&(r=!0),ei(s,o,n[o])}else if(i){if(t!==n){const o=s[nh];o&&(n+=";"+o),s.cssText=n,r=Qg.test(n)}}else t&&e.removeAttribute("style");mi in e&&(e[mi]=r?s.display:"",e[th]&&(s.display="none"))}const hc=/\s*!important$/;function ei(e,t,n){if(J(n))n.forEach(s=>ei(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=zg(e,t);hc.test(n)?e.setProperty(Et(s),n.replace(hc,""),"important"):e[s]=n}}const pc=["Webkit","Moz","ms"],So={};function zg(e,t){const n=So[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return So[t]=s;s=Ln(s);for(let i=0;i<pc.length;i++){const r=pc[i]+s;if(r in e)return So[t]=r}return t}const mc="http://www.w3.org/1999/xlink";function e_(e,t,n,s,i){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(mc,t.slice(6,t.length)):e.setAttributeNS(mc,t,n);else{const r=vm(t);n==null||r&&!qu(n)?e.removeAttribute(t):e.setAttribute(t,r?"":n)}}function t_(e,t,n,s,i,r,o){if(t==="innerHTML"||t==="textContent"){s&&o(s,i,r),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const c=l==="OPTION"?e.getAttribute("value")||"":e.value,u=n??"";(c!==u||!("_value"in e))&&(e.value=u),n==null&&e.removeAttribute(t),e._value=n;return}let a=!1;if(n===""||n==null){const c=typeof e[t];c==="boolean"?n=qu(n):n==null&&c==="string"?(n="",a=!0):c==="number"&&(n=0,a=!0)}try{e[t]=n}catch{}a&&e.removeAttribute(t)}function Qt(e,t,n,s){e.addEventListener(t,n,s)}function n_(e,t,n,s){e.removeEventListener(t,n,s)}const gc=Symbol("_vei");function s_(e,t,n,s,i=null){const r=e[gc]||(e[gc]={}),o=r[t];if(s&&o)o.value=s;else{const[l,a]=r_(t);if(s){const c=r[t]=l_(s,i);Qt(e,l,c,a)}else o&&(n_(e,l,o,a),r[t]=void 0)}}const _c=/(?:Once|Passive|Capture)$/;function r_(e){let t;if(_c.test(e)){t={};let s;for(;s=e.match(_c);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Et(e.slice(2)),t]}let To=0;const i_=Promise.resolve(),o_=()=>To||(i_.then(()=>To=0),To=Date.now());function l_(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;ut(a_(s,n.value),t,5,[s])};return n.value=e,n.attached=o_(),n}function a_(e,t){if(J(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const yc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,c_=(e,t,n,s,i,r,o,l,a)=>{const c=i==="svg";t==="class"?Xg(e,s,c):t==="style"?Zg(e,n,s):ns(t)?_l(t)||s_(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):u_(e,t,s,c))?t_(e,t,s,r,o,l,a):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),e_(e,t,s,c))};function u_(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&yc(t)&&re(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return yc(t)&&le(n)?!1:t in e}/*! #__NO_SIDE_EFFECTS__ */function ra(e,t){const n=rn(e);class s extends Lr{constructor(r){super(n,r,t)}}return s.def=n,s}/*! #__NO_SIDE_EFFECTS__ */const rh=e=>ra(e,la),f_=typeof HTMLElement<"u"?HTMLElement:class{};class Lr extends f_{constructor(t,n={},s){super(),this._def=t,this._props=n,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,this._ob&&(this._ob.disconnect(),this._ob=null),is(()=>{this._connected||(_i(null,this.shadowRoot),this._instance=null)})}_resolveDef(){this._resolved=!0;for(let s=0;s<this.attributes.length;s++)this._setAttr(this.attributes[s].name);this._ob=new MutationObserver(s=>{for(const i of s)this._setAttr(i.attributeName)}),this._ob.observe(this,{attributes:!0});const t=(s,i=!1)=>{const{props:r,styles:o}=s;let l;if(r&&!J(r))for(const a in r){const c=r[a];(c===Number||c&&c.type===Number)&&(a in this._props&&(this._props[a]=li(this._props[a])),(l||(l=Object.create(null)))[Le(a)]=!0)}this._numberProps=l,i&&this._resolveProps(s),this._applyStyles(o),this._update()},n=this._def.__asyncLoader;n?n().then(s=>t(s,!0)):t(this._def)}_resolveProps(t){const{props:n}=t,s=J(n)?n:Object.keys(n||{});for(const i of Object.keys(this))i[0]!=="_"&&s.includes(i)&&this._setProp(i,this[i],!0,!1);for(const i of s.map(Le))Object.defineProperty(this,i,{get(){return this._getProp(i)},set(r){this._setProp(i,r)}})}_setAttr(t){let n=this.hasAttribute(t)?this.getAttribute(t):void 0;const s=Le(t);this._numberProps&&this._numberProps[s]&&(n=li(n)),this._setProp(s,n,!1)}_getProp(t){return this._props[t]}_setProp(t,n,s=!0,i=!0){n!==this._props[t]&&(this._props[t]=n,i&&this._instance&&this._update(),s&&(n===!0?this.setAttribute(Et(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Et(t),n+""):n||this.removeAttribute(Et(t))))}_update(){_i(this._createVNode(),this.shadowRoot)}_createVNode(){const t=Se(this._def,he({},this._props));return this._instance||(t.ce=n=>{this._instance=n,n.isCE=!0;const s=(r,o)=>{this.dispatchEvent(new CustomEvent(r,{detail:o}))};n.emit=(r,...o)=>{s(r,o),Et(r)!==r&&s(Et(r),o)};let i=this;for(;i=i&&(i.parentNode||i.host);)if(i instanceof Lr){n.parent=i._instance,n.provides=i._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach(n=>{const s=document.createElement("style");s.textContent=n,this.shadowRoot.appendChild(s)})}}function ih(e="$style"){{const t=nt();if(!t)return me;const n=t.type.__cssModules;if(!n)return me;const s=n[e];return s||me}}const oh=new WeakMap,lh=new WeakMap,gi=Symbol("_moveCb"),Ec=Symbol("_enterCb"),ah={name:"TransitionGroup",props:he({},Gg,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=nt(),s=ji();let i,r;return Nr(()=>{if(!i.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!g_(i[0].el,n.vnode.el,o))return;i.forEach(h_),i.forEach(p_);const l=i.filter(m_);eh(),l.forEach(a=>{const c=a.el,u=c.style;Xt(c,o),u.transform=u.webkitTransform=u.transitionDuration="";const f=c[gi]=d=>{d&&d.target!==c||(!d||/transform$/.test(d.propertyName))&&(c.removeEventListener("transitionend",f),c[gi]=null,hn(c,o))};c.addEventListener("transitionend",f)})}),()=>{const o=fe(e),l=Zd(o);let a=o.tag||De;if(i=[],r)for(let c=0;c<r.length;c++){const u=r[c];u.el&&u.el instanceof Element&&(i.push(u),In(u,Zn(u,l,s,n)),oh.set(u,u.el.getBoundingClientRect()))}r=t.default?Tr(t.default()):[];for(let c=0;c<r.length;c++){const u=r[c];u.key!=null&&In(u,Zn(u,l,s,n))}return Se(a,null,r)}}},d_=e=>delete e.mode;ah.props;const ch=ah;function h_(e){const t=e.el;t[gi]&&t[gi](),t[Ec]&&t[Ec]()}function p_(e){lh.set(e,e.el.getBoundingClientRect())}function m_(e){const t=oh.get(e),n=lh.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const r=e.el.style;return r.transform=r.webkitTransform=`translate(${s}px,${i}px)`,r.transitionDuration="0s",e}}function g_(e,t,n){const s=e.cloneNode(),i=e[Ts];i&&i.forEach(l=>{l.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:o}=zd(s);return r.removeChild(s),o}const An=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>gs(t,n):t};function __(e){e.target.composing=!0}function bc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ot=Symbol("_assign"),or={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[Ot]=An(i);const r=s||i.props&&i.props.type==="number";Qt(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),r&&(l=oi(l)),e[Ot](l)}),n&&Qt(e,"change",()=>{e.value=e.value.trim()}),t||(Qt(e,"compositionstart",__),Qt(e,"compositionend",bc),Qt(e,"change",bc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:i}},r){if(e[Ot]=An(r),e.composing)return;const o=(i||e.type==="number")&&!/^0\d/.test(e.value)?oi(e.value):e.value,l=t??"";o!==l&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===l)||(e.value=l))}},zi={deep:!0,created(e,t,n){e[Ot]=An(n),Qt(e,"change",()=>{const s=e._modelValue,i=Cs(e),r=e.checked,o=e[Ot];if(J(s)){const l=Pi(s,i),a=l!==-1;if(r&&!a)o(s.concat(i));else if(!r&&a){const c=[...s];c.splice(l,1),o(c)}}else if(ss(s)){const l=new Set(s);r?l.add(i):l.delete(i),o(l)}else o(uh(e,r))})},mounted:vc,beforeUpdate(e,t,n){e[Ot]=An(n),vc(e,t,n)}};function vc(e,{value:t,oldValue:n},s){e._modelValue=t,J(t)?e.checked=Pi(t,s.props.value)>-1:ss(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Nn(t,uh(e,!0)))}const eo={created(e,{value:t},n){e.checked=Nn(t,n.props.value),e[Ot]=An(n),Qt(e,"change",()=>{e[Ot](Cs(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Ot]=An(s),t!==n&&(e.checked=Nn(t,s.props.value))}},ia={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=ss(t);Qt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?oi(Cs(o)):Cs(o));e[Ot](e.multiple?i?new Set(r):r:r[0]),e._assigning=!0,is(()=>{e._assigning=!1})}),e[Ot]=An(s)},mounted(e,{value:t,modifiers:{number:n}}){Sc(e,t)},beforeUpdate(e,t,n){e[Ot]=An(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||Sc(e,t)}};function Sc(e,t,n){const s=e.multiple,i=J(t);if(!(s&&!i&&!ss(t))){for(let r=0,o=e.options.length;r<o;r++){const l=e.options[r],a=Cs(l);if(s)if(i){const c=typeof a;c==="string"||c==="number"?l.selected=t.some(u=>String(u)===String(a)):l.selected=Pi(t,a)>-1}else l.selected=t.has(a);else if(Nn(Cs(l),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Cs(e){return"_value"in e?e._value:e.value}function uh(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const oa={created(e,t,n){Gr(e,t,n,null,"created")},mounted(e,t,n){Gr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Gr(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Gr(e,t,n,s,"updated")}};function fh(e,t){switch(e){case"SELECT":return ia;case"TEXTAREA":return or;default:switch(t){case"checkbox":return zi;case"radio":return eo;default:return or}}}function Gr(e,t,n,s,i){const o=fh(e.tagName,n.props&&n.props.type)[i];o&&o(e,t,n,s)}function y_(){or.getSSRProps=({value:e})=>({value:e}),eo.getSSRProps=({value:e},t)=>{if(t.props&&Nn(t.props.value,e))return{checked:!0}},zi.getSSRProps=({value:e},t)=>{if(J(e)){if(t.props&&Pi(e,t.props.value)>-1)return{checked:!0}}else if(ss(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},oa.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const n=fh(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}const E_=["ctrl","shift","alt","meta"],b_={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>E_.some(n=>e[`${n}Key`]&&!t.includes(n))},dh=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(i,...r)=>{for(let o=0;o<t.length;o++){const l=b_[t[o]];if(l&&l(i,t))return}return e(i,...r)})},v_={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},hh=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=i=>{if(!("key"in i))return;const r=Et(i.key);if(t.some(o=>o===r||v_[o]===r))return e(i)})},ph=he({patchProp:c_},Kg);let qs,Tc=!1;function mh(){return qs||(qs=ql(ph))}function gh(){return qs=Tc?qs:Xl(ph),Tc=!0,qs}const _i=(...e)=>{mh().render(...e)},la=(...e)=>{gh().hydrate(...e)},_h=(...e)=>{const t=mh().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=bh(s);if(!i)return;const r=t._component;!re(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.innerHTML="";const o=n(i,!1,Eh(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t},yh=(...e)=>{const t=gh().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=bh(s);if(i)return n(i,!0,Eh(i))},t};function Eh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bh(e){return le(e)?document.querySelector(e):e}let Cc=!1;const vh=()=>{Cc||(Cc=!0,y_(),Jg())},S_=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:xl,BaseTransitionPropsValidators:Ki,Comment:Ge,DeprecationTypes:Jd,EffectScope:ki,ErrorCodes:Cf,ErrorTypeStrings:jd,Fragment:De,KeepAlive:Kf,ReactiveEffect:Jn,Static:Tn,Suspense:$f,Teleport:Nd,Text:nn,TrackOpTypes:vf,Transition:Zi,TransitionGroup:ch,TriggerOpTypes:Sf,VueElement:Lr,assertNumber:Tf,callWithAsyncErrorHandling:ut,callWithErrorHandling:jt,camelize:Le,capitalize:Ln,cloneVNode:Dt,compatUtils:Xd,computed:Ne,createApp:_h,createBlock:qi,createCommentVNode:wd,createElementBlock:Ld,createElementVNode:Xi,createHydrationRenderer:Xl,createPropsRestProxy:ud,createRenderer:ql,createSSRApp:yh,createSlots:qf,createStaticVNode:kd,createTextVNode:Ji,createVNode:Se,customRef:Il,defineAsyncComponent:jf,defineComponent:rn,defineCustomElement:ra,defineEmits:zf,defineExpose:ed,defineModel:sd,defineOptions:td,defineProps:Zf,defineSSRCustomElement:rh,defineSlots:nd,devtools:Kd,effect:zu,effectScope:_r,getCurrentInstance:nt,getCurrentScope:yr,getTransitionRawChildren:Tr,guardReactiveProps:Ql,h:os,handleError:kn,hasInjectionContext:Gl,hydrate:la,initCustomFormatter:Hd,initDirectivesForSSR:vh,inject:ft,isMemoSame:ta,isProxy:$i,isReactive:en,isReadonly:Qn,isRef:Re,isRuntimeOnly:xd,isShallow:Ss,isVNode:sn,markRaw:br,mergeDefaults:ad,mergeModels:cd,mergeProps:zl,nextTick:is,normalizeClass:Ds,normalizeProps:Yu,normalizeStyle:Fs,onActivated:$l,onBeforeMount:Yi,onBeforeUnmount:Ir,onBeforeUpdate:Ul,onDeactivated:Vl,onErrorCaptured:jl,onMounted:wn,onRenderTracked:Wl,onRenderTriggered:Bl,onScopeDispose:wi,onServerPrefetch:Hl,onUnmounted:xs,onUpdated:Nr,openBlock:Ar,popScopeId:Pf,provide:vs,proxyRefs:Vi,pushScopeId:Rf,queuePostFlushCb:tr,reactive:rs,readonly:Er,ref:xe,registerRuntimeCompiler:ea,render:_i,renderList:Yf,renderSlot:Xf,resolveComponent:wf,resolveDirective:Df,resolveDynamicComponent:Ff,resolveFilter:qd,resolveTransitionHooks:Zn,setBlockTracking:di,setDevtoolsHook:Gd,setTransitionHooks:In,shallowReactive:Di,shallowReadonly:pf,shallowRef:vr,ssrContextKey:wl,ssrUtils:Yd,stop:ef,toDisplayString:Xu,toHandlerKey:Kn,toHandlers:Qf,toRaw:fe,toRef:Ef,toRefs:Al,toValue:yf,transformVNodeArgs:Rd,triggerRef:_f,unref:Wt,useAttrs:od,useCssModule:ih,useCssVars:sh,useModel:Ud,useSSRContext:Ml,useSlots:id,useTransitionState:ji,vModelCheckbox:zi,vModelDynamic:oa,vModelRadio:eo,vModelSelect:ia,vModelText:or,vShow:sa,version:na,warn:Wd,watch:At,watchEffect:Uf,watchPostEffect:Fl,watchSyncEffect:Dl,withAsyncContext:fd,withCtx:Wi,withDefaults:rd,withDirectives:Bf,withKeys:hh,withMemo:Bd,withModifiers:dh,withScopeId:kf},Symbol.toStringTag,{value:"Module"}));/**
-* @vue/compiler-core v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/const lr=Symbol(""),Xs=Symbol(""),aa=Symbol(""),yi=Symbol(""),Sh=Symbol(""),ts=Symbol(""),Th=Symbol(""),Ch=Symbol(""),ca=Symbol(""),ua=Symbol(""),Rr=Symbol(""),fa=Symbol(""),Nh=Symbol(""),da=Symbol(""),ha=Symbol(""),pa=Symbol(""),ma=Symbol(""),ga=Symbol(""),_a=Symbol(""),Ih=Symbol(""),Ah=Symbol(""),to=Symbol(""),Ei=Symbol(""),ya=Symbol(""),Ea=Symbol(""),ar=Symbol(""),Pr=Symbol(""),ba=Symbol(""),Xo=Symbol(""),T_=Symbol(""),Jo=Symbol(""),bi=Symbol(""),C_=Symbol(""),N_=Symbol(""),va=Symbol(""),I_=Symbol(""),A_=Symbol(""),Sa=Symbol(""),Oh=Symbol(""),Ns={[lr]:"Fragment",[Xs]:"Teleport",[aa]:"Suspense",[yi]:"KeepAlive",[Sh]:"BaseTransition",[ts]:"openBlock",[Th]:"createBlock",[Ch]:"createElementBlock",[ca]:"createVNode",[ua]:"createElementVNode",[Rr]:"createCommentVNode",[fa]:"createTextVNode",[Nh]:"createStaticVNode",[da]:"resolveComponent",[ha]:"resolveDynamicComponent",[pa]:"resolveDirective",[ma]:"resolveFilter",[ga]:"withDirectives",[_a]:"renderList",[Ih]:"renderSlot",[Ah]:"createSlots",[to]:"toDisplayString",[Ei]:"mergeProps",[ya]:"normalizeClass",[Ea]:"normalizeStyle",[ar]:"normalizeProps",[Pr]:"guardReactiveProps",[ba]:"toHandlers",[Xo]:"camelize",[T_]:"capitalize",[Jo]:"toHandlerKey",[bi]:"setBlockTracking",[C_]:"pushScopeId",[N_]:"popScopeId",[va]:"withCtx",[I_]:"unref",[A_]:"isRef",[Sa]:"withMemo",[Oh]:"isMemoSame"};function O_(e){Object.getOwnPropertySymbols(e).forEach(t=>{Ns[t]=e[t]})}const vt={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function L_(e,t=""){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:vt}}function cr(e,t,n,s,i,r,o,l=!1,a=!1,c=!1,u=vt){return e&&(l?(e.helper(ts),e.helper(Os(e.inSSR,c))):e.helper(As(e.inSSR,c)),o&&e.helper(ga)),{type:13,tag:t,props:n,children:s,patchFlag:i,dynamicProps:r,directives:o,isBlock:l,disableTracking:a,isComponent:c,loc:u}}function kr(e,t=vt){return{type:17,loc:t,elements:e}}function Nt(e,t=vt){return{type:15,loc:t,properties:e}}function Me(e,t){return{type:16,loc:vt,key:le(e)?ae(e,!0):e,value:t}}function ae(e,t=!1,n=vt,s=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:s}}function Mt(e,t=vt){return{type:8,loc:t,children:e}}function He(e,t=[],n=vt){return{type:14,loc:n,callee:e,arguments:t}}function Is(e,t=void 0,n=!1,s=!1,i=vt){return{type:18,params:e,returns:t,newline:n,isSlot:s,loc:i}}function Qo(e,t,n,s=!0){return{type:19,test:e,consequent:t,alternate:n,newline:s,loc:vt}}function R_(e,t,n=!1){return{type:20,index:e,value:t,isVNode:n,loc:vt}}function P_(e){return{type:21,body:e,loc:vt}}function As(e,t){return e||t?ca:ua}function Os(e,t){return e||t?Th:Ch}function Ta(e,{helper:t,removeHelper:n,inSSR:s}){e.isBlock||(e.isBlock=!0,n(As(s,e.isComponent)),t(ts),t(Os(s,e.isComponent)))}const Nc=new Uint8Array([123,123]),Ic=new Uint8Array([125,125]);function Ac(e){return e>=97&&e<=122||e>=65&&e<=90}function _t(e){return e===32||e===10||e===9||e===12||e===13}function un(e){return e===47||e===62||_t(e)}function vi(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}const Ze={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])};class k_{constructor(t,n){this.stack=t,this.cbs=n,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=Nc,this.delimiterClose=Ic,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return this.mode===2&&this.stack.length===0}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=Nc,this.delimiterClose=Ic}getPos(t){let n=1,s=t+1;for(let i=this.newlines.length-1;i>=0;i--){const r=this.newlines[i];if(t>r){n=i+2,s=t-r;break}}return{column:s,line:n,offset:t}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(t){t===60?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):!this.inVPre&&t===this.delimiterOpen[0]&&(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(t))}stateInterpolationOpen(t){if(t===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const n=this.index+1-this.delimiterOpen.length;n>this.sectionStart&&this.cbs.ontext(this.sectionStart,n),this.state=3,this.sectionStart=n}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(t)):(this.state=1,this.stateText(t))}stateInterpolation(t){t===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(t))}stateInterpolationClose(t){t===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(t))}stateSpecialStartSequence(t){const n=this.sequenceIndex===this.currentSequence.length;if(!(n?un(t):(t|32)===this.currentSequence[this.sequenceIndex]))this.inRCDATA=!1;else if(!n){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=6,this.stateInTagName(t)}stateInRCDATA(t){if(this.sequenceIndex===this.currentSequence.length){if(t===62||_t(t)){const n=this.index-this.currentSequence.length;if(this.sectionStart<n){const s=this.index;this.index=n,this.cbs.ontext(this.sectionStart,n),this.index=s}this.sectionStart=n+2,this.stateInClosingTagName(t),this.inRCDATA=!1;return}this.sequenceIndex=0}(t|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Ze.TitleEnd||this.currentSequence===Ze.TextareaEnd&&!this.inSFCRoot?t===this.delimiterOpen[0]&&(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(t)):this.fastForwardTo(60)&&(this.sequenceIndex=1):this.sequenceIndex=+(t===60)}stateCDATASequence(t){t===Ze.Cdata[this.sequenceIndex]?++this.sequenceIndex===Ze.Cdata.length&&(this.state=28,this.currentSequence=Ze.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=23,this.stateInDeclaration(t))}fastForwardTo(t){for(;++this.index<this.buffer.length;){const n=this.buffer.charCodeAt(this.index);if(n===10&&this.newlines.push(this.index),n===t)return!0}return this.index=this.buffer.length-1,!1}stateInCommentLike(t){t===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Ze.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index-2):this.cbs.oncomment(this.sectionStart,this.index-2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=1):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):t!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}startSpecial(t,n){this.enterRCDATA(t,n),this.state=31}enterRCDATA(t,n){this.inRCDATA=!0,this.currentSequence=t,this.sequenceIndex=n}stateBeforeTagName(t){t===33?(this.state=22,this.sectionStart=this.index+1):t===63?(this.state=24,this.sectionStart=this.index+1):Ac(t)?(this.sectionStart=this.index,this.mode===0?this.state=6:this.inSFCRoot?this.state=34:this.inXML?this.state=6:t===116?this.state=30:this.state=t===115?29:6):t===47?this.state=8:(this.state=1,this.stateText(t))}stateInTagName(t){un(t)&&this.handleTagName(t)}stateInSFCRootTagName(t){if(un(t)){const n=this.buffer.slice(this.sectionStart,this.index);n!=="template"&&this.enterRCDATA(vi("</"+n),0),this.handleTagName(t)}}handleTagName(t){this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=11,this.stateBeforeAttrName(t)}stateBeforeClosingTagName(t){_t(t)||(t===62?(this.state=1,this.sectionStart=this.index+1):(this.state=Ac(t)?9:27,this.sectionStart=this.index))}stateInClosingTagName(t){(t===62||_t(t))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=10,this.stateAfterClosingTagName(t))}stateAfterClosingTagName(t){t===62&&(this.state=1,this.sectionStart=this.index+1)}stateBeforeAttrName(t){t===62?(this.cbs.onopentagend(this.index),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):t===47?this.state=7:t===60&&this.peek()===47?(this.cbs.onopentagend(this.index),this.state=5,this.sectionStart=this.index):_t(t)||this.handleAttrStart(t)}handleAttrStart(t){t===118&&this.peek()===45?(this.state=13,this.sectionStart=this.index):t===46||t===58||t===64||t===35?(this.cbs.ondirname(this.index,this.index+1),this.state=14,this.sectionStart=this.index+1):(this.state=12,this.sectionStart=this.index)}stateInSelfClosingTag(t){t===62?(this.cbs.onselfclosingtag(this.index),this.state=1,this.sectionStart=this.index+1,this.inRCDATA=!1):_t(t)||(this.state=11,this.stateBeforeAttrName(t))}stateInAttrName(t){(t===61||un(t))&&(this.cbs.onattribname(this.sectionStart,this.index),this.handleAttrNameEnd(t))}stateInDirName(t){t===61||un(t)?(this.cbs.ondirname(this.sectionStart,this.index),this.handleAttrNameEnd(t)):t===58?(this.cbs.ondirname(this.sectionStart,this.index),this.state=14,this.sectionStart=this.index+1):t===46&&(this.cbs.ondirname(this.sectionStart,this.index),this.state=16,this.sectionStart=this.index+1)}stateInDirArg(t){t===61||un(t)?(this.cbs.ondirarg(this.sectionStart,this.index),this.handleAttrNameEnd(t)):t===91?this.state=15:t===46&&(this.cbs.ondirarg(this.sectionStart,this.index),this.state=16,this.sectionStart=this.index+1)}stateInDynamicDirArg(t){t===93?this.state=14:(t===61||un(t))&&(this.cbs.ondirarg(this.sectionStart,this.index+1),this.handleAttrNameEnd(t))}stateInDirModifier(t){t===61||un(t)?(this.cbs.ondirmodifier(this.sectionStart,this.index),this.handleAttrNameEnd(t)):t===46&&(this.cbs.ondirmodifier(this.sectionStart,this.index),this.sectionStart=this.index+1)}handleAttrNameEnd(t){this.sectionStart=this.index,this.state=17,this.cbs.onattribnameend(this.index),this.stateAfterAttrName(t)}stateAfterAttrName(t){t===61?this.state=18:t===47||t===62?(this.cbs.onattribend(0,this.sectionStart),this.sectionStart=-1,this.state=11,this.stateBeforeAttrName(t)):_t(t)||(this.cbs.onattribend(0,this.sectionStart),this.handleAttrStart(t))}stateBeforeAttrValue(t){t===34?(this.state=19,this.sectionStart=this.index+1):t===39?(this.state=20,this.sectionStart=this.index+1):_t(t)||(this.sectionStart=this.index,this.state=21,this.stateInAttrValueNoQuotes(t))}handleInAttrValue(t,n){(t===n||this.fastForwardTo(n))&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(n===34?3:2,this.index+1),this.state=11)}stateInAttrValueDoubleQuotes(t){this.handleInAttrValue(t,34)}stateInAttrValueSingleQuotes(t){this.handleInAttrValue(t,39)}stateInAttrValueNoQuotes(t){_t(t)||t===62?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(1,this.index),this.state=11,this.stateBeforeAttrName(t)):(t===39||t===60||t===61||t===96)&&this.cbs.onerr(18,this.index)}stateBeforeDeclaration(t){t===91?(this.state=26,this.sequenceIndex=0):this.state=t===45?25:23}stateInDeclaration(t){(t===62||this.fastForwardTo(62))&&(this.state=1,this.sectionStart=this.index+1)}stateInProcessingInstruction(t){(t===62||this.fastForwardTo(62))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=1,this.sectionStart=this.index+1)}stateBeforeComment(t){t===45?(this.state=28,this.currentSequence=Ze.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=23}stateInSpecialComment(t){(t===62||this.fastForwardTo(62))&&(this.cbs.oncomment(this.sectionStart,this.index),this.state=1,this.sectionStart=this.index+1)}stateBeforeSpecialS(t){t===Ze.ScriptEnd[3]?this.startSpecial(Ze.ScriptEnd,4):t===Ze.StyleEnd[3]?this.startSpecial(Ze.StyleEnd,4):(this.state=6,this.stateInTagName(t))}stateBeforeSpecialT(t){t===Ze.TitleEnd[3]?this.startSpecial(Ze.TitleEnd,4):t===Ze.TextareaEnd[3]?this.startSpecial(Ze.TextareaEnd,4):(this.state=6,this.stateInTagName(t))}startEntity(){}stateInEntity(){}parse(t){for(this.buffer=t;this.index<this.buffer.length;){const n=this.buffer.charCodeAt(this.index);switch(n===10&&this.newlines.push(this.index),this.state){case 1:{this.stateText(n);break}case 2:{this.stateInterpolationOpen(n);break}case 3:{this.stateInterpolation(n);break}case 4:{this.stateInterpolationClose(n);break}case 31:{this.stateSpecialStartSequence(n);break}case 32:{this.stateInRCDATA(n);break}case 26:{this.stateCDATASequence(n);break}case 19:{this.stateInAttrValueDoubleQuotes(n);break}case 12:{this.stateInAttrName(n);break}case 13:{this.stateInDirName(n);break}case 14:{this.stateInDirArg(n);break}case 15:{this.stateInDynamicDirArg(n);break}case 16:{this.stateInDirModifier(n);break}case 28:{this.stateInCommentLike(n);break}case 27:{this.stateInSpecialComment(n);break}case 11:{this.stateBeforeAttrName(n);break}case 6:{this.stateInTagName(n);break}case 34:{this.stateInSFCRootTagName(n);break}case 9:{this.stateInClosingTagName(n);break}case 5:{this.stateBeforeTagName(n);break}case 17:{this.stateAfterAttrName(n);break}case 20:{this.stateInAttrValueSingleQuotes(n);break}case 18:{this.stateBeforeAttrValue(n);break}case 8:{this.stateBeforeClosingTagName(n);break}case 10:{this.stateAfterClosingTagName(n);break}case 29:{this.stateBeforeSpecialS(n);break}case 30:{this.stateBeforeSpecialT(n);break}case 21:{this.stateInAttrValueNoQuotes(n);break}case 7:{this.stateInSelfClosingTag(n);break}case 23:{this.stateInDeclaration(n);break}case 22:{this.stateBeforeDeclaration(n);break}case 25:{this.stateBeforeComment(n);break}case 24:{this.stateInProcessingInstruction(n);break}case 33:{this.stateInEntity();break}}this.index++}this.cleanup(),this.finish()}cleanup(){this.sectionStart!==this.index&&(this.state===1||this.state===32&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===19||this.state===20||this.state===21)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}finish(){this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const t=this.buffer.length;this.sectionStart>=t||(this.state===28?this.currentSequence===Ze.CdataEnd?this.cbs.oncdata(this.sectionStart,t):this.cbs.oncomment(this.sectionStart,t):this.state===6||this.state===11||this.state===18||this.state===17||this.state===12||this.state===13||this.state===14||this.state===15||this.state===16||this.state===20||this.state===19||this.state===21||this.state===9||this.cbs.ontext(this.sectionStart,t))}emitCodePoint(t,n){}}function Oc(e,{compatConfig:t}){const n=t&&t[e];return e==="MODE"?n||3:n}function Xn(e,t){const n=Oc("MODE",t),s=Oc(e,t);return n===3?s===!0:s!==!1}function ur(e,t,n,...s){return Xn(e,t)}function Ca(e){throw e}function Lh(e){}function Oe(e,t,n,s){const i=`https://vuejs.org/error-reference/#compiler-${e}`,r=new SyntaxError(String(i));return r.code=e,r.loc=t,r}const ct=e=>e.type===4&&e.isStatic;function Rh(e){switch(e){case"Teleport":case"teleport":return Xs;case"Suspense":case"suspense":return aa;case"KeepAlive":case"keep-alive":return yi;case"BaseTransition":case"base-transition":return Sh}}const w_=/^\d|[^\$\w]/,Na=e=>!w_.test(e),M_=/[A-Za-z_$\xA0-\uFFFF]/,F_=/[\.\?\w$\xA0-\uFFFF]/,D_=/\s+[.[]\s*|\s*[.[]\s+/g,x_=e=>{e=e.trim().replace(D_,o=>o.trim());let t=0,n=[],s=0,i=0,r=null;for(let o=0;o<e.length;o++){const l=e.charAt(o);switch(t){case 0:if(l==="[")n.push(t),t=1,s++;else if(l==="(")n.push(t),t=2,i++;else if(!(o===0?M_:F_).test(l))return!1;break;case 1:l==="'"||l==='"'||l==="`"?(n.push(t),t=3,r=l):l==="["?s++:l==="]"&&(--s||(t=n.pop()));break;case 2:if(l==="'"||l==='"'||l==="`")n.push(t),t=3,r=l;else if(l==="(")i++;else if(l===")"){if(o===e.length-1)return!1;--i||(t=n.pop())}break;case 3:l===r&&(t=n.pop(),r=null);break}}return!s&&!i},Ph=x_;function Pt(e,t,n=!1){for(let s=0;s<e.props.length;s++){const i=e.props[s];if(i.type===7&&(n||i.exp)&&(le(t)?i.name===t:t.test(i.name)))return i}}function no(e,t,n=!1,s=!1){for(let i=0;i<e.props.length;i++){const r=e.props[i];if(r.type===6){if(n)continue;if(r.name===t&&(r.value||s))return r}else if(r.name==="bind"&&(r.exp||s)&&Wn(r.arg,t))return r}}function Wn(e,t){return!!(e&&ct(e)&&e.content===t)}function $_(e){return e.props.some(t=>t.type===7&&t.name==="bind"&&(!t.arg||t.arg.type!==4||!t.arg.isStatic))}function Co(e){return e.type===5||e.type===2}function V_(e){return e.type===7&&e.name==="slot"}function Si(e){return e.type===1&&e.tagType===3}function Ti(e){return e.type===1&&e.tagType===2}const U_=new Set([ar,Pr]);function kh(e,t=[]){if(e&&!le(e)&&e.type===14){const n=e.callee;if(!le(n)&&U_.has(n))return kh(e.arguments[0],t.concat(e))}return[e,t]}function Ci(e,t,n){let s,i=e.type===13?e.props:e.arguments[2],r=[],o;if(i&&!le(i)&&i.type===14){const l=kh(i);i=l[0],r=l[1],o=r[r.length-1]}if(i==null||le(i))s=Nt([t]);else if(i.type===14){const l=i.arguments[0];!le(l)&&l.type===15?Lc(t,l)||l.properties.unshift(t):i.callee===ba?s=He(n.helper(Ei),[Nt([t]),i]):i.arguments.unshift(Nt([t])),!s&&(s=i)}else i.type===15?(Lc(t,i)||i.properties.unshift(t),s=i):(s=He(n.helper(Ei),[Nt([t]),i]),o&&o.callee===Pr&&(o=r[r.length-2]));e.type===13?o?o.arguments[0]=s:e.props=s:o?o.arguments[0]=s:e.arguments[2]=s}function Lc(e,t){let n=!1;if(e.key.type===4){const s=e.key.content;n=t.properties.some(i=>i.key.type===4&&i.key.content===s)}return n}function fr(e,t){return`_${t}_${e.replace(/[^\w]/g,(n,s)=>n==="-"?"_":e.charCodeAt(s).toString())}`}function H_(e){return e.type===14&&e.callee===Sa?e.arguments[1].returns:e}const B_=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,wh={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:Qr,isPreTag:Qr,isCustomElement:Qr,onError:Ca,onWarn:Lh,comments:!1,prefixIdentifiers:!1};let ge=wh,dr=null,tn="",ze=null,de=null,ot="",Jt=-1,Un=-1,Ni=0,En=!1,Zo=null;const Ae=[],we=new k_(Ae,{onerr:Kt,ontext(e,t){Yr(qe(e,t),e,t)},ontextentity(e,t,n){Yr(e,t,n)},oninterpolation(e,t){if(En)return Yr(qe(e,t),e,t);let n=e+we.delimiterOpen.length,s=t-we.delimiterClose.length;for(;_t(tn.charCodeAt(n));)n++;for(;_t(tn.charCodeAt(s-1));)s--;let i=qe(n,s);i.includes("&")&&(i=ge.decodeEntities(i,!1)),zo({type:5,content:ni(i,!1,Ue(n,s)),loc:Ue(e,t)})},onopentagname(e,t){const n=qe(e,t);ze={type:1,tag:n,ns:ge.getNamespace(n,Ae[0],ge.ns),tagType:0,props:[],children:[],loc:Ue(e-1,t),codegenNode:void 0}},onopentagend(e){Pc(e)},onclosetag(e,t){const n=qe(e,t);if(!ge.isVoidTag(n)){let s=!1;for(let i=0;i<Ae.length;i++)if(Ae[i].tag.toLowerCase()===n.toLowerCase()){s=!0,i>0&&Kt(24,Ae[0].loc.start.offset);for(let o=0;o<=i;o++){const l=Ae.shift();ti(l,t,o<i)}break}s||Kt(23,Mh(e,60))}},onselfclosingtag(e){const t=ze.tag;ze.isSelfClosing=!0,Pc(e),Ae[0]&&Ae[0].tag===t&&ti(Ae.shift(),e)},onattribname(e,t){de={type:6,name:qe(e,t),nameLoc:Ue(e,t),value:void 0,loc:Ue(e)}},ondirname(e,t){const n=qe(e,t),s=n==="."||n===":"?"bind":n==="@"?"on":n==="#"?"slot":n.slice(2);if(!En&&s===""&&Kt(26,e),En||s==="")de={type:6,name:n,nameLoc:Ue(e,t),value:void 0,loc:Ue(e)};else if(de={type:7,name:s,rawName:n,exp:void 0,arg:void 0,modifiers:n==="."?["prop"]:[],loc:Ue(e)},s==="pre"){En=we.inVPre=!0,Zo=ze;const i=ze.props;for(let r=0;r<i.length;r++)i[r].type===7&&(i[r]=Z_(i[r]))}},ondirarg(e,t){if(e===t)return;const n=qe(e,t);if(En)de.name+=n,jn(de.nameLoc,t);else{const s=n[0]!=="[";de.arg=ni(s?n:n.slice(1,-1),s,Ue(e,t),s?3:0)}},ondirmodifier(e,t){const n=qe(e,t);if(En)de.name+="."+n,jn(de.nameLoc,t);else if(de.name==="slot"){const s=de.arg;s&&(s.content+="."+n,jn(s.loc,t))}else de.modifiers.push(n)},onattribdata(e,t){ot+=qe(e,t),Jt<0&&(Jt=e),Un=t},onattribentity(e,t,n){ot+=e,Jt<0&&(Jt=t),Un=n},onattribnameend(e){const t=de.loc.start.offset,n=qe(t,e);de.type===7&&(de.rawName=n),ze.props.some(s=>(s.type===7?s.rawName:s.name)===n)&&Kt(2,t)},onattribend(e,t){if(ze&&de){if(jn(de.loc,t),e!==0)if(ot.includes("&")&&(ot=ge.decodeEntities(ot,!0)),de.type===6)de.name==="class"&&(ot=Dh(ot).trim()),e===1&&!ot&&Kt(13,t),de.value={type:2,content:ot,loc:e===1?Ue(Jt,Un):Ue(Jt-1,Un+1)},we.inSFCRoot&&ze.tag==="template"&&de.name==="lang"&&ot&&ot!=="html"&&we.enterRCDATA(vi("</template"),0);else{let n=0;de.exp=ni(ot,!1,Ue(Jt,Un),0,n),de.name==="for"&&(de.forParseResult=j_(de.exp));let s=-1;de.name==="bind"&&(s=de.modifiers.indexOf("sync"))>-1&&ur("COMPILER_V_BIND_SYNC",ge,de.loc,de.rawName)&&(de.name="model",de.modifiers.splice(s,1))}(de.type!==7||de.name!=="pre")&&ze.props.push(de)}ot="",Jt=Un=-1},oncomment(e,t){ge.comments&&zo({type:3,content:qe(e,t),loc:Ue(e-4,t+3)})},onend(){const e=tn.length;for(let t=0;t<Ae.length;t++)ti(Ae[t],e-1),Kt(24,Ae[t].loc.start.offset)},oncdata(e,t){Ae[0].ns!==0?Yr(qe(e,t),e,t):Kt(1,e-9)},onprocessinginstruction(e){(Ae[0]?Ae[0].ns:ge.ns)===0&&Kt(21,e-1)}}),Rc=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,W_=/^\(|\)$/g;function j_(e){const t=e.loc,n=e.content,s=n.match(B_);if(!s)return;const[,i,r]=s,o=(f,d,g=!1)=>{const b=t.start.offset+d,O=b+f.length;return ni(f,!1,Ue(b,O),0,g?1:0)},l={source:o(r.trim(),n.indexOf(r,i.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let a=i.trim().replace(W_,"").trim();const c=i.indexOf(a),u=a.match(Rc);if(u){a=a.replace(Rc,"").trim();const f=u[1].trim();let d;if(f&&(d=n.indexOf(f,c+a.length),l.key=o(f,d,!0)),u[2]){const g=u[2].trim();g&&(l.index=o(g,n.indexOf(g,l.key?d+f.length:c+a.length),!0))}}return a&&(l.value=o(a,c,!0)),l}function qe(e,t){return tn.slice(e,t)}function Pc(e){we.inSFCRoot&&(ze.innerLoc=Ue(e+1,e+1)),zo(ze);const{tag:t,ns:n}=ze;n===0&&ge.isPreTag(t)&&Ni++,ge.isVoidTag(t)?ti(ze,e):(Ae.unshift(ze),(n===1||n===2)&&(we.inXML=!0)),ze=null}function Yr(e,t,n){{const r=Ae[0]&&Ae[0].tag;r!=="script"&&r!=="style"&&e.includes("&")&&(e=ge.decodeEntities(e,!1))}const s=Ae[0]||dr,i=s.children[s.children.length-1];i&&i.type===2?(i.content+=e,jn(i.loc,n)):s.children.push({type:2,content:e,loc:Ue(t,n)})}function ti(e,t,n=!1){n?jn(e.loc,Mh(t,60)):jn(e.loc,K_(t,62)+1),we.inSFCRoot&&(e.children.length?e.innerLoc.end=he({},e.children[e.children.length-1].loc.end):e.innerLoc.end=he({},e.innerLoc.start),e.innerLoc.source=qe(e.innerLoc.start.offset,e.innerLoc.end.offset));const{tag:s,ns:i}=e;En||(s==="slot"?e.tagType=2:kc(e)?e.tagType=3:Y_(e)&&(e.tagType=1)),we.inRCDATA||(e.children=Fh(e.children,e.tag)),i===0&&ge.isPreTag(s)&&Ni--,Zo===e&&(En=we.inVPre=!1,Zo=null),we.inXML&&(Ae[0]?Ae[0].ns:ge.ns)===0&&(we.inXML=!1);{const r=e.props;if(!we.inSFCRoot&&Xn("COMPILER_NATIVE_TEMPLATE",ge)&&e.tag==="template"&&!kc(e)){const l=Ae[0]||dr,a=l.children.indexOf(e);l.children.splice(a,1,...e.children)}const o=r.find(l=>l.type===6&&l.name==="inline-template");o&&ur("COMPILER_INLINE_TEMPLATE",ge,o.loc)&&e.children.length&&(o.value={type:2,content:qe(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:o.loc})}}function K_(e,t){let n=e;for(;tn.charCodeAt(n)!==t&&n<tn.length-1;)n++;return n}function Mh(e,t){let n=e;for(;tn.charCodeAt(n)!==t&&n>=0;)n--;return n}const G_=new Set(["if","else","else-if","for","slot"]);function kc({tag:e,props:t}){if(e==="template"){for(let n=0;n<t.length;n++)if(t[n].type===7&&G_.has(t[n].name))return!0}return!1}function Y_({tag:e,props:t}){if(ge.isCustomElement(e))return!1;if(e==="component"||q_(e.charCodeAt(0))||Rh(e)||ge.isBuiltInComponent&&ge.isBuiltInComponent(e)||ge.isNativeTag&&!ge.isNativeTag(e))return!0;for(let n=0;n<t.length;n++){const s=t[n];if(s.type===6){if(s.name==="is"&&s.value){if(s.value.content.startsWith("vue:"))return!0;if(ur("COMPILER_IS_ON_ELEMENT",ge,s.loc))return!0}}else if(s.name==="bind"&&Wn(s.arg,"is")&&ur("COMPILER_IS_ON_ELEMENT",ge,s.loc))return!0}return!1}function q_(e){return e>64&&e<91}const X_=/\r\n/g;function Fh(e,t){const n=ge.whitespace!=="preserve";let s=!1;for(let i=0;i<e.length;i++){const r=e[i];if(r.type===2)if(Ni)r.content=r.content.replace(X_,`
-`);else if(J_(r.content)){const o=e[i-1]&&e[i-1].type,l=e[i+1]&&e[i+1].type;!o||!l||n&&(o===3&&(l===3||l===1)||o===1&&(l===3||l===1&&Q_(r.content)))?(s=!0,e[i]=null):r.content=" "}else n&&(r.content=Dh(r.content))}if(Ni&&t&&ge.isPreTag(t)){const i=e[0];i&&i.type===2&&(i.content=i.content.replace(/^\r?\n/,""))}return s?e.filter(Boolean):e}function J_(e){for(let t=0;t<e.length;t++)if(!_t(e.charCodeAt(t)))return!1;return!0}function Q_(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n===10||n===13)return!0}return!1}function Dh(e){let t="",n=!1;for(let s=0;s<e.length;s++)_t(e.charCodeAt(s))?n||(t+=" ",n=!0):(t+=e[s],n=!1);return t}function zo(e){(Ae[0]||dr).children.push(e)}function Ue(e,t){return{start:we.getPos(e),end:t==null?t:we.getPos(t),source:t==null?t:qe(e,t)}}function jn(e,t){e.end=we.getPos(t),e.source=qe(e.start.offset,t)}function Z_(e){const t={type:6,name:e.rawName,nameLoc:Ue(e.loc.start.offset,e.loc.start.offset+e.rawName.length),value:void 0,loc:e.loc};if(e.exp){const n=e.exp.loc;n.end.offset<e.loc.end.offset&&(n.start.offset--,n.start.column--,n.end.offset++,n.end.column++),t.value={type:2,content:e.exp.content,loc:n}}return t}function ni(e,t=!1,n,s=0,i=0){return ae(e,t,n,s)}function Kt(e,t,n){ge.onError(Oe(e,Ue(t,t)))}function z_(){we.reset(),ze=null,de=null,ot="",Jt=-1,Un=-1,Ae.length=0}function ey(e,t){if(z_(),tn=e,ge=he({},wh),t){let i;for(i in t)t[i]!=null&&(ge[i]=t[i])}we.mode=ge.parseMode==="html"?1:ge.parseMode==="sfc"?2:0,we.inXML=ge.ns===1||ge.ns===2;const n=t&&t.delimiters;n&&(we.delimiterOpen=vi(n[0]),we.delimiterClose=vi(n[1]));const s=dr=L_([],e);return we.parse(tn),s.loc=Ue(0,e.length),s.children=Fh(s.children),dr=null,s}function ty(e,t){si(e,t,xh(e,e.children[0]))}function xh(e,t){const{children:n}=e;return n.length===1&&t.type===1&&!Ti(t)}function si(e,t,n=!1){const{children:s}=e,i=s.length;let r=0;for(let o=0;o<s.length;o++){const l=s[o];if(l.type===1&&l.tagType===0){const a=n?0:It(l,t);if(a>0){if(a>=2){l.codegenNode.patchFlag="-1",l.codegenNode=t.hoist(l.codegenNode),r++;continue}}else{const c=l.codegenNode;if(c.type===13){const u=Hh(c);if((!u||u===512||u===1)&&Vh(l,t)>=2){const f=Uh(l);f&&(c.props=t.hoist(f))}c.dynamicProps&&(c.dynamicProps=t.hoist(c.dynamicProps))}}}if(l.type===1){const a=l.tagType===1;a&&t.scopes.vSlot++,si(l,t),a&&t.scopes.vSlot--}else if(l.type===11)si(l,t,l.children.length===1);else if(l.type===9)for(let a=0;a<l.branches.length;a++)si(l.branches[a],t,l.branches[a].children.length===1)}if(r&&t.transformHoist&&t.transformHoist(s,t,e),r&&r===i&&e.type===1&&e.tagType===0&&e.codegenNode&&e.codegenNode.type===13&&J(e.codegenNode.children)){const o=t.hoist(kr(e.codegenNode.children));t.hmr&&(o.content=`[...${o.content}]`),e.codegenNode.children=o}}function It(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(e.tagType!==0)return 0;const s=n.get(e);if(s!==void 0)return s;const i=e.codegenNode;if(i.type!==13||i.isBlock&&e.tag!=="svg"&&e.tag!=="foreignObject")return 0;if(Hh(i))return n.set(e,0),0;{let l=3;const a=Vh(e,t);if(a===0)return n.set(e,0),0;a<l&&(l=a);for(let c=0;c<e.children.length;c++){const u=It(e.children[c],t);if(u===0)return n.set(e,0),0;u<l&&(l=u)}if(l>1)for(let c=0;c<e.props.length;c++){const u=e.props[c];if(u.type===7&&u.name==="bind"&&u.exp){const f=It(u.exp,t);if(f===0)return n.set(e,0),0;f<l&&(l=f)}}if(i.isBlock){for(let c=0;c<e.props.length;c++)if(e.props[c].type===7)return n.set(e,0),0;t.removeHelper(ts),t.removeHelper(Os(t.inSSR,i.isComponent)),i.isBlock=!1,t.helper(As(t.inSSR,i.isComponent))}return n.set(e,l),l}case 2:case 3:return 3;case 9:case 11:case 10:return 0;case 5:case 12:return It(e.content,t);case 4:return e.constType;case 8:let o=3;for(let l=0;l<e.children.length;l++){const a=e.children[l];if(le(a)||Lt(a))continue;const c=It(a,t);if(c===0)return 0;c<o&&(o=c)}return o;default:return 0}}const ny=new Set([ya,Ea,ar,Pr]);function $h(e,t){if(e.type===14&&!le(e.callee)&&ny.has(e.callee)){const n=e.arguments[0];if(n.type===4)return It(n,t);if(n.type===14)return $h(n,t)}return 0}function Vh(e,t){let n=3;const s=Uh(e);if(s&&s.type===15){const{properties:i}=s;for(let r=0;r<i.length;r++){const{key:o,value:l}=i[r],a=It(o,t);if(a===0)return a;a<n&&(n=a);let c;if(l.type===4?c=It(l,t):l.type===14?c=$h(l,t):c=0,c===0)return c;c<n&&(n=c)}}return n}function Uh(e){const t=e.codegenNode;if(t.type===13)return t.props}function Hh(e){const t=e.patchFlag;return t?parseInt(t,10):void 0}function sy(e,{filename:t="",prefixIdentifiers:n=!1,hoistStatic:s=!1,hmr:i=!1,cacheHandlers:r=!1,nodeTransforms:o=[],directiveTransforms:l={},transformHoist:a=null,isBuiltInComponent:c=$e,isCustomElement:u=$e,expressionPlugins:f=[],scopeId:d=null,slotted:g=!0,ssr:b=!1,inSSR:O=!1,ssrCssVars:R="",bindingMetadata:A=me,inline:C=!1,isTS:h=!1,onError:y=Ca,onWarn:S=Lh,compatConfig:v}){const P=t.replace(/\?.*$/,"").match(/([^/\\]+)\.\w+$/),N={filename:t,selfName:P&&Ln(Le(P[1])),prefixIdentifiers:n,hoistStatic:s,hmr:i,cacheHandlers:r,nodeTransforms:o,directiveTransforms:l,transformHoist:a,isBuiltInComponent:c,isCustomElement:u,expressionPlugins:f,scopeId:d,slotted:g,ssr:b,inSSR:O,ssrCssVars:R,bindingMetadata:A,inline:C,isTS:h,onError:y,onWarn:S,compatConfig:v,root:e,helpers:new Map,components:new Set,directives:new Set,hoists:[],imports:[],constantCache:new WeakMap,temps:0,cached:0,identifiers:Object.create(null),scopes:{vFor:0,vSlot:0,vPre:0,vOnce:0},parent:null,grandParent:null,currentNode:e,childIndex:0,inVOnce:!1,helper(T){const M=N.helpers.get(T)||0;return N.helpers.set(T,M+1),T},removeHelper(T){const M=N.helpers.get(T);if(M){const U=M-1;U?N.helpers.set(T,U):N.helpers.delete(T)}},helperString(T){return`_${Ns[N.helper(T)]}`},replaceNode(T){N.parent.children[N.childIndex]=N.currentNode=T},removeNode(T){const M=N.parent.children,U=T?M.indexOf(T):N.currentNode?N.childIndex:-1;!T||T===N.currentNode?(N.currentNode=null,N.onNodeRemoved()):N.childIndex>U&&(N.childIndex--,N.onNodeRemoved()),N.parent.children.splice(U,1)},onNodeRemoved:$e,addIdentifiers(T){},removeIdentifiers(T){},hoist(T){le(T)&&(T=ae(T)),N.hoists.push(T);const M=ae(`_hoisted_${N.hoists.length}`,!1,T.loc,2);return M.hoisted=T,M},cache(T,M=!1){return R_(N.cached++,T,M)}};return N.filters=new Set,N}function ry(e,t){const n=sy(e,t);so(e,n),t.hoistStatic&&ty(e,n),t.ssr||iy(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function iy(e,t){const{helper:n}=t,{children:s}=e;if(s.length===1){const i=s[0];if(xh(e,i)&&i.codegenNode){const r=i.codegenNode;r.type===13&&Ta(r,t),e.codegenNode=r}else e.codegenNode=i}else if(s.length>1){let i=64;e.codegenNode=cr(t,n(lr),void 0,e.children,i+"",void 0,void 0,!0,void 0,!1)}}function oy(e,t){let n=0;const s=()=>{n--};for(;n<e.children.length;n++){const i=e.children[n];le(i)||(t.grandParent=t.parent,t.parent=e,t.childIndex=n,t.onNodeRemoved=s,so(i,t))}}function so(e,t){t.currentNode=e;const{nodeTransforms:n}=t,s=[];for(let r=0;r<n.length;r++){const o=n[r](e,t);if(o&&(J(o)?s.push(...o):s.push(o)),t.currentNode)e=t.currentNode;else return}switch(e.type){case 3:t.ssr||t.helper(Rr);break;case 5:t.ssr||t.helper(to);break;case 9:for(let r=0;r<e.branches.length;r++)so(e.branches[r],t);break;case 10:case 11:case 1:case 0:oy(e,t);break}t.currentNode=e;let i=s.length;for(;i--;)s[i]()}function Bh(e,t){const n=le(e)?s=>s===e:s=>e.test(s);return(s,i)=>{if(s.type===1){const{props:r}=s;if(s.tagType===3&&r.some(V_))return;const o=[];for(let l=0;l<r.length;l++){const a=r[l];if(a.type===7&&n(a.name)){r.splice(l,1),l--;const c=t(s,a,i);c&&o.push(c)}}return o}}}const ro="/*#__PURE__*/",Wh=e=>`${Ns[e]}: _${Ns[e]}`;function ly(e,{mode:t="function",prefixIdentifiers:n=t==="module",sourceMap:s=!1,filename:i="template.vue.html",scopeId:r=null,optimizeImports:o=!1,runtimeGlobalName:l="Vue",runtimeModuleName:a="vue",ssrRuntimeModuleName:c="vue/server-renderer",ssr:u=!1,isTS:f=!1,inSSR:d=!1}){const g={mode:t,prefixIdentifiers:n,sourceMap:s,filename:i,scopeId:r,optimizeImports:o,runtimeGlobalName:l,runtimeModuleName:a,ssrRuntimeModuleName:c,ssr:u,isTS:f,inSSR:d,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper(O){return`_${Ns[O]}`},push(O,R=-2,A){g.code+=O},indent(){b(++g.indentLevel)},deindent(O=!1){O?--g.indentLevel:b(--g.indentLevel)},newline(){b(g.indentLevel)}};function b(O){g.push(`
-`+"  ".repeat(O),0)}return g}function ay(e,t={}){const n=ly(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:s,push:i,prefixIdentifiers:r,indent:o,deindent:l,newline:a,scopeId:c,ssr:u}=n,f=Array.from(e.helpers),d=f.length>0,g=!r&&s!=="module";cy(e,n);const O=u?"ssrRender":"render",A=(u?["_ctx","_push","_parent","_attrs"]:["_ctx","_cache"]).join(", ");if(i(`function ${O}(${A}) {`),o(),g&&(i("with (_ctx) {"),o(),d&&(i(`const { ${f.map(Wh).join(", ")} } = _Vue
-`,-1),a())),e.components.length&&(No(e.components,"component",n),(e.directives.length||e.temps>0)&&a()),e.directives.length&&(No(e.directives,"directive",n),e.temps>0&&a()),e.filters&&e.filters.length&&(a(),No(e.filters,"filter",n),a()),e.temps>0){i("let ");for(let C=0;C<e.temps;C++)i(`${C>0?", ":""}_temp${C}`)}return(e.components.length||e.directives.length||e.temps)&&(i(`
-`,0),a()),u||i("return "),e.codegenNode?tt(e.codegenNode,n):i("null"),g&&(l(),i("}")),l(),i("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function cy(e,t){const{ssr:n,prefixIdentifiers:s,push:i,newline:r,runtimeModuleName:o,runtimeGlobalName:l,ssrRuntimeModuleName:a}=t,c=l,u=Array.from(e.helpers);if(u.length>0&&(i(`const _Vue = ${c}
-`,-1),e.hoists.length)){const f=[ca,ua,Rr,fa,Nh].filter(d=>u.includes(d)).map(Wh).join(", ");i(`const { ${f} } = _Vue
-`,-1)}uy(e.hoists,t),r(),i("return ")}function No(e,t,{helper:n,push:s,newline:i,isTS:r}){const o=n(t==="filter"?ma:t==="component"?da:pa);for(let l=0;l<e.length;l++){let a=e[l];const c=a.endsWith("__self");c&&(a=a.slice(0,-6)),s(`const ${fr(a,t)} = ${o}(${JSON.stringify(a)}${c?", true":""})${r?"!":""}`),l<e.length-1&&i()}}function uy(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:s,helper:i,scopeId:r,mode:o}=t;s();for(let l=0;l<e.length;l++){const a=e[l];a&&(n(`const _hoisted_${l+1} = `),tt(a,t),s())}t.pure=!1}function Ia(e,t){const n=e.length>3||!1;t.push("["),n&&t.indent(),wr(e,t,n),n&&t.deindent(),t.push("]")}function wr(e,t,n=!1,s=!0){const{push:i,newline:r}=t;for(let o=0;o<e.length;o++){const l=e[o];le(l)?i(l,-3):J(l)?Ia(l,t):tt(l,t),o<e.length-1&&(n?(s&&i(","),r()):s&&i(", "))}}function tt(e,t){if(le(e)){t.push(e,-3);return}if(Lt(e)){t.push(t.helper(e));return}switch(e.type){case 1:case 9:case 11:tt(e.codegenNode,t);break;case 2:fy(e,t);break;case 4:jh(e,t);break;case 5:dy(e,t);break;case 12:tt(e.codegenNode,t);break;case 8:Kh(e,t);break;case 3:py(e,t);break;case 13:my(e,t);break;case 14:_y(e,t);break;case 15:yy(e,t);break;case 17:Ey(e,t);break;case 18:by(e,t);break;case 19:vy(e,t);break;case 20:Sy(e,t);break;case 21:wr(e.body,t,!0,!1);break}}function fy(e,t){t.push(JSON.stringify(e.content),-3,e)}function jh(e,t){const{content:n,isStatic:s}=e;t.push(s?JSON.stringify(n):n,-3,e)}function dy(e,t){const{push:n,helper:s,pure:i}=t;i&&n(ro),n(`${s(to)}(`),tt(e.content,t),n(")")}function Kh(e,t){for(let n=0;n<e.children.length;n++){const s=e.children[n];le(s)?t.push(s,-3):tt(s,t)}}function hy(e,t){const{push:n}=t;if(e.type===8)n("["),Kh(e,t),n("]");else if(e.isStatic){const s=Na(e.content)?e.content:JSON.stringify(e.content);n(s,-2,e)}else n(`[${e.content}]`,-3,e)}function py(e,t){const{push:n,helper:s,pure:i}=t;i&&n(ro),n(`${s(Rr)}(${JSON.stringify(e.content)})`,-3,e)}function my(e,t){const{push:n,helper:s,pure:i}=t,{tag:r,props:o,children:l,patchFlag:a,dynamicProps:c,directives:u,isBlock:f,disableTracking:d,isComponent:g}=e;u&&n(s(ga)+"("),f&&n(`(${s(ts)}(${d?"true":""}), `),i&&n(ro);const b=f?Os(t.inSSR,g):As(t.inSSR,g);n(s(b)+"(",-2,e),wr(gy([r,o,l,a,c]),t),n(")"),f&&n(")"),u&&(n(", "),tt(u,t),n(")"))}function gy(e){let t=e.length;for(;t--&&e[t]==null;);return e.slice(0,t+1).map(n=>n||"null")}function _y(e,t){const{push:n,helper:s,pure:i}=t,r=le(e.callee)?e.callee:s(e.callee);i&&n(ro),n(r+"(",-2,e),wr(e.arguments,t),n(")")}function yy(e,t){const{push:n,indent:s,deindent:i,newline:r}=t,{properties:o}=e;if(!o.length){n("{}",-2,e);return}const l=o.length>1||!1;n(l?"{":"{ "),l&&s();for(let a=0;a<o.length;a++){const{key:c,value:u}=o[a];hy(c,t),n(": "),tt(u,t),a<o.length-1&&(n(","),r())}l&&i(),n(l?"}":" }")}function Ey(e,t){Ia(e.elements,t)}function by(e,t){const{push:n,indent:s,deindent:i}=t,{params:r,returns:o,body:l,newline:a,isSlot:c}=e;c&&n(`_${Ns[va]}(`),n("(",-2,e),J(r)?wr(r,t):r&&tt(r,t),n(") => "),(a||l)&&(n("{"),s()),o?(a&&n("return "),J(o)?Ia(o,t):tt(o,t)):l&&tt(l,t),(a||l)&&(i(),n("}")),c&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}function vy(e,t){const{test:n,consequent:s,alternate:i,newline:r}=e,{push:o,indent:l,deindent:a,newline:c}=t;if(n.type===4){const f=!Na(n.content);f&&o("("),jh(n,t),f&&o(")")}else o("("),tt(n,t),o(")");r&&l(),t.indentLevel++,r||o(" "),o("? "),tt(s,t),t.indentLevel--,r&&c(),r||o(" "),o(": ");const u=i.type===19;u||t.indentLevel++,tt(i,t),u||t.indentLevel--,r&&a(!0)}function Sy(e,t){const{push:n,helper:s,indent:i,deindent:r,newline:o}=t;n(`_cache[${e.index}] || (`),e.isVNode&&(i(),n(`${s(bi)}(-1),`),o()),n(`_cache[${e.index}] = `),tt(e.value,t),e.isVNode&&(n(","),o(),n(`${s(bi)}(1),`),o(),n(`_cache[${e.index}]`),r()),n(")")}new RegExp("\\b"+"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b")+"\\b");const Ty=Bh(/^(if|else|else-if)$/,(e,t,n)=>Cy(e,t,n,(s,i,r)=>{const o=n.parent.children;let l=o.indexOf(s),a=0;for(;l-->=0;){const c=o[l];c&&c.type===9&&(a+=c.branches.length)}return()=>{if(r)s.codegenNode=Mc(i,a,n);else{const c=Ny(s.codegenNode);c.alternate=Mc(i,a+s.branches.length-1,n)}}}));function Cy(e,t,n,s){if(t.name!=="else"&&(!t.exp||!t.exp.content.trim())){const i=t.exp?t.exp.loc:e.loc;n.onError(Oe(28,t.loc)),t.exp=ae("true",!1,i)}if(t.name==="if"){const i=wc(e,t),r={type:9,loc:e.loc,branches:[i]};if(n.replaceNode(r),s)return s(r,i,!0)}else{const i=n.parent.children;let r=i.indexOf(e);for(;r-->=-1;){const o=i[r];if(o&&o.type===3){n.removeNode(o);continue}if(o&&o.type===2&&!o.content.trim().length){n.removeNode(o);continue}if(o&&o.type===9){t.name==="else-if"&&o.branches[o.branches.length-1].condition===void 0&&n.onError(Oe(30,e.loc)),n.removeNode();const l=wc(e,t);o.branches.push(l);const a=s&&s(o,l,!1);so(l,n),a&&a(),n.currentNode=null}else n.onError(Oe(30,e.loc));break}}}function wc(e,t){const n=e.tagType===3;return{type:10,loc:e.loc,condition:t.name==="else"?void 0:t.exp,children:n&&!Pt(e,"for")?e.children:[e],userKey:no(e,"key"),isTemplateIf:n}}function Mc(e,t,n){return e.condition?Qo(e.condition,Fc(e,t,n),He(n.helper(Rr),['""',"true"])):Fc(e,t,n)}function Fc(e,t,n){const{helper:s}=n,i=Me("key",ae(`${t}`,!1,vt,2)),{children:r}=e,o=r[0];if(r.length!==1||o.type!==1)if(r.length===1&&o.type===11){const a=o.codegenNode;return Ci(a,i,n),a}else{let a=64;return cr(n,s(lr),Nt([i]),r,a+"",void 0,void 0,!0,!1,!1,e.loc)}else{const a=o.codegenNode,c=H_(a);return c.type===13&&Ta(c,n),Ci(c,i,n),a}}function Ny(e){for(;;)if(e.type===19)if(e.alternate.type===19)e=e.alternate;else return e;else e.type===20&&(e=e.value)}const Iy=Bh("for",(e,t,n)=>{const{helper:s,removeHelper:i}=n;return Ay(e,t,n,r=>{const o=He(s(_a),[r.source]),l=Si(e),a=Pt(e,"memo"),c=no(e,"key"),u=c&&(c.type===6?ae(c.value.content,!0):c.exp),f=c?Me("key",u):null,d=r.source.type===4&&r.source.constType>0,g=d?64:c?128:256;return r.codegenNode=cr(n,s(lr),void 0,o,g+"",void 0,void 0,!0,!d,!1,e.loc),()=>{let b;const{children:O}=r,R=O.length!==1||O[0].type!==1,A=Ti(e)?e:l&&e.children.length===1&&Ti(e.children[0])?e.children[0]:null;if(A?(b=A.codegenNode,l&&f&&Ci(b,f,n)):R?b=cr(n,s(lr),f?Nt([f]):void 0,e.children,"64",void 0,void 0,!0,void 0,!1):(b=O[0].codegenNode,l&&f&&Ci(b,f,n),b.isBlock!==!d&&(b.isBlock?(i(ts),i(Os(n.inSSR,b.isComponent))):i(As(n.inSSR,b.isComponent))),b.isBlock=!d,b.isBlock?(s(ts),s(Os(n.inSSR,b.isComponent))):s(As(n.inSSR,b.isComponent))),a){const C=Is(el(r.parseResult,[ae("_cached")]));C.body=P_([Mt(["const _memo = (",a.exp,")"]),Mt(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(Oh)}(_cached, _memo)) return _cached`]),Mt(["const _item = ",b]),ae("_item.memo = _memo"),ae("return _item")]),o.arguments.push(C,ae("_cache"),ae(String(n.cached++)))}else o.arguments.push(Is(el(r.parseResult),b,!0))}})});function Ay(e,t,n,s){if(!t.exp){n.onError(Oe(31,t.loc));return}const i=t.forParseResult;if(!i){n.onError(Oe(32,t.loc));return}Gh(i);const{addIdentifiers:r,removeIdentifiers:o,scopes:l}=n,{source:a,value:c,key:u,index:f}=i,d={type:11,loc:t.loc,source:a,valueAlias:c,keyAlias:u,objectIndexAlias:f,parseResult:i,children:Si(e)?e.children:[e]};n.replaceNode(d),l.vFor++;const g=s&&s(d);return()=>{l.vFor--,g&&g()}}function Gh(e,t){e.finalized||(e.finalized=!0)}function el({value:e,key:t,index:n},s=[]){return Oy([e,t,n,...s])}function Oy(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map((n,s)=>n||ae("_".repeat(s+1),!1))}const Dc=ae("undefined",!1),Ly=(e,t)=>{if(e.type===1&&(e.tagType===1||e.tagType===3)){const n=Pt(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},Ry=(e,t,n,s)=>Is(e,n,!1,!0,n.length?n[0].loc:s);function Py(e,t,n=Ry){t.helper(va);const{children:s,loc:i}=e,r=[],o=[];let l=t.scopes.vSlot>0||t.scopes.vFor>0;const a=Pt(e,"slot",!0);if(a){const{arg:R,exp:A}=a;R&&!ct(R)&&(l=!0),r.push(Me(R||ae("default",!0),n(A,void 0,s,i)))}let c=!1,u=!1;const f=[],d=new Set;let g=0;for(let R=0;R<s.length;R++){const A=s[R];let C;if(!Si(A)||!(C=Pt(A,"slot",!0))){A.type!==3&&f.push(A);continue}if(a){t.onError(Oe(37,C.loc));break}c=!0;const{children:h,loc:y}=A,{arg:S=ae("default",!0),exp:v,loc:P}=C;let N;ct(S)?N=S?S.content:"default":l=!0;const T=Pt(A,"for"),M=n(v,T,h,y);let U,w;if(U=Pt(A,"if"))l=!0,o.push(Qo(U.exp,qr(S,M,g++),Dc));else if(w=Pt(A,/^else(-if)?$/,!0)){let B=R,te;for(;B--&&(te=s[B],te.type===3););if(te&&Si(te)&&Pt(te,"if")){s.splice(R,1),R--;let z=o[o.length-1];for(;z.alternate.type===19;)z=z.alternate;z.alternate=w.exp?Qo(w.exp,qr(S,M,g++),Dc):qr(S,M,g++)}else t.onError(Oe(30,w.loc))}else if(T){l=!0;const B=T.forParseResult;B?(Gh(B),o.push(He(t.helper(_a),[B.source,Is(el(B),qr(S,M),!0)]))):t.onError(Oe(32,T.loc))}else{if(N){if(d.has(N)){t.onError(Oe(38,P));continue}d.add(N),N==="default"&&(u=!0)}r.push(Me(S,M))}}if(!a){const R=(A,C)=>{const h=n(A,void 0,C,i);return t.compatConfig&&(h.isNonScopedSlot=!0),Me("default",h)};c?f.length&&f.some(A=>Yh(A))&&(u?t.onError(Oe(39,f[0].loc)):r.push(R(void 0,f))):r.push(R(void 0,s))}const b=l?2:ri(e.children)?3:1;let O=Nt(r.concat(Me("_",ae(b+"",!1))),i);return o.length&&(O=He(t.helper(Ah),[O,kr(o)])),{slots:O,hasDynamicSlots:l}}function qr(e,t,n){const s=[Me("name",e),Me("fn",t)];return n!=null&&s.push(Me("key",ae(String(n),!0))),Nt(s)}function ri(e){for(let t=0;t<e.length;t++){const n=e[t];switch(n.type){case 1:if(n.tagType===2||ri(n.children))return!0;break;case 9:if(ri(n.branches))return!0;break;case 10:case 11:if(ri(n.children))return!0;break}}return!1}function Yh(e){return e.type!==2&&e.type!==12?!0:e.type===2?!!e.content.trim():Yh(e.content)}const qh=new WeakMap,ky=(e,t)=>function(){if(e=t.currentNode,!(e.type===1&&(e.tagType===0||e.tagType===1)))return;const{tag:s,props:i}=e,r=e.tagType===1;let o=r?wy(e,t):`"${s}"`;const l=be(o)&&o.callee===ha;let a,c,u,f=0,d,g,b,O=l||o===Xs||o===aa||!r&&(s==="svg"||s==="foreignObject");if(i.length>0){const R=Xh(e,t,void 0,r,l);a=R.props,f=R.patchFlag,g=R.dynamicPropNames;const A=R.directives;b=A&&A.length?kr(A.map(C=>Fy(C,t))):void 0,R.shouldUseBlock&&(O=!0)}if(e.children.length>0)if(o===yi&&(O=!0,f|=1024),r&&o!==Xs&&o!==yi){const{slots:A,hasDynamicSlots:C}=Py(e,t);c=A,C&&(f|=1024)}else if(e.children.length===1&&o!==Xs){const A=e.children[0],C=A.type,h=C===5||C===8;h&&It(A,t)===0&&(f|=1),h||C===2?c=A:c=e.children}else c=e.children;f!==0&&(u=String(f),g&&g.length&&(d=Dy(g))),e.codegenNode=cr(t,o,a,c,u,d,b,!!O,!1,r,e.loc)};function wy(e,t,n=!1){let{tag:s}=e;const i=tl(s),r=no(e,"is",!1,!0);if(r)if(i||Xn("COMPILER_IS_ON_ELEMENT",t)){let l;if(r.type===6?l=r.value&&ae(r.value.content,!0):(l=r.exp,l||(l=ae("is",!1,r.loc))),l)return He(t.helper(ha),[l])}else r.type===6&&r.value.content.startsWith("vue:")&&(s=r.value.content.slice(4));const o=Rh(s)||t.isBuiltInComponent(s);return o?(n||t.helper(o),o):(t.helper(da),t.components.add(s),fr(s,"component"))}function Xh(e,t,n=e.props,s,i,r=!1){const{tag:o,loc:l,children:a}=e;let c=[];const u=[],f=[],d=a.length>0;let g=!1,b=0,O=!1,R=!1,A=!1,C=!1,h=!1,y=!1;const S=[],v=M=>{c.length&&(u.push(Nt(xc(c),l)),c=[]),M&&u.push(M)},P=()=>{t.scopes.vFor>0&&c.push(Me(ae("ref_for",!0),ae("true")))},N=({key:M,value:U})=>{if(ct(M)){const w=M.content,B=ns(w);if(B&&(!s||i)&&w.toLowerCase()!=="onclick"&&w!=="onUpdate:modelValue"&&!vn(w)&&(C=!0),B&&vn(w)&&(y=!0),B&&U.type===14&&(U=U.arguments[0]),U.type===20||(U.type===4||U.type===8)&&It(U,t)>0)return;w==="ref"?O=!0:w==="class"?R=!0:w==="style"?A=!0:w!=="key"&&!S.includes(w)&&S.push(w),s&&(w==="class"||w==="style")&&!S.includes(w)&&S.push(w)}else h=!0};for(let M=0;M<n.length;M++){const U=n[M];if(U.type===6){const{loc:w,name:B,nameLoc:te,value:z}=U;let W=!0;if(B==="ref"&&(O=!0,P()),B==="is"&&(tl(o)||z&&z.content.startsWith("vue:")||Xn("COMPILER_IS_ON_ELEMENT",t)))continue;c.push(Me(ae(B,!0,te),ae(z?z.content:"",W,z?z.loc:w)))}else{const{name:w,arg:B,exp:te,loc:z,modifiers:W}=U,ee=w==="bind",Q=w==="on";if(w==="slot"){s||t.onError(Oe(40,z));continue}if(w==="once"||w==="memo"||w==="is"||ee&&Wn(B,"is")&&(tl(o)||Xn("COMPILER_IS_ON_ELEMENT",t))||Q&&r)continue;if((ee&&Wn(B,"key")||Q&&d&&Wn(B,"vue:before-update"))&&(g=!0),ee&&Wn(B,"ref")&&P(),!B&&(ee||Q)){if(h=!0,te)if(ee){if(P(),v(),Xn("COMPILER_V_BIND_OBJECT_ORDER",t)){u.unshift(te);continue}u.push(te)}else v({type:14,loc:z,callee:t.helper(ba),arguments:s?[te]:[te,"true"]});else t.onError(Oe(ee?34:35,z));continue}ee&&W.includes("prop")&&(b|=32);const Fe=t.directiveTransforms[w];if(Fe){const{props:Ke,needRuntime:Te}=Fe(U,e,t);!r&&Ke.forEach(N),Q&&B&&!ct(B)?v(Nt(Ke,l)):c.push(...Ke),Te&&(f.push(U),Lt(Te)&&qh.set(U,Te))}else rm(w)||(f.push(U),d&&(g=!0))}}let T;if(u.length?(v(),u.length>1?T=He(t.helper(Ei),u,l):T=u[0]):c.length&&(T=Nt(xc(c),l)),h?b|=16:(R&&!s&&(b|=2),A&&!s&&(b|=4),S.length&&(b|=8),C&&(b|=32)),!g&&(b===0||b===32)&&(O||y||f.length>0)&&(b|=512),!t.inSSR&&T)switch(T.type){case 15:let M=-1,U=-1,w=!1;for(let z=0;z<T.properties.length;z++){const W=T.properties[z].key;ct(W)?W.content==="class"?M=z:W.content==="style"&&(U=z):W.isHandlerKey||(w=!0)}const B=T.properties[M],te=T.properties[U];w?T=He(t.helper(ar),[T]):(B&&!ct(B.value)&&(B.value=He(t.helper(ya),[B.value])),te&&(A||te.value.type===4&&te.value.content.trim()[0]==="["||te.value.type===17)&&(te.value=He(t.helper(Ea),[te.value])));break;case 14:break;default:T=He(t.helper(ar),[He(t.helper(Pr),[T])]);break}return{props:T,directives:f,patchFlag:b,dynamicPropNames:S,shouldUseBlock:g}}function xc(e){const t=new Map,n=[];for(let s=0;s<e.length;s++){const i=e[s];if(i.key.type===8||!i.key.isStatic){n.push(i);continue}const r=i.key.content,o=t.get(r);o?(r==="style"||r==="class"||ns(r))&&My(o,i):(t.set(r,i),n.push(i))}return n}function My(e,t){e.value.type===17?e.value.elements.push(t.value):e.value=kr([e.value,t.value],e.loc)}function Fy(e,t){const n=[],s=qh.get(e);s?n.push(t.helperString(s)):(t.helper(pa),t.directives.add(e.name),n.push(fr(e.name,"directive")));const{loc:i}=e;if(e.exp&&n.push(e.exp),e.arg&&(e.exp||n.push("void 0"),n.push(e.arg)),Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const r=ae("true",!1,i);n.push(Nt(e.modifiers.map(o=>Me(o,r)),i))}return kr(n,e.loc)}function Dy(e){let t="[";for(let n=0,s=e.length;n<s;n++)t+=JSON.stringify(e[n]),n<s-1&&(t+=", ");return t+"]"}function tl(e){return e==="component"||e==="Component"}const xy=(e,t)=>{if(Ti(e)){const{children:n,loc:s}=e,{slotName:i,slotProps:r}=$y(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",i,"{}","undefined","true"];let l=2;r&&(o[2]=r,l=3),n.length&&(o[3]=Is([],n,!1,!1,s),l=4),t.scopeId&&!t.slotted&&(l=5),o.splice(l),e.codegenNode=He(t.helper(Ih),o,s)}};function $y(e,t){let n='"default"',s;const i=[];for(let r=0;r<e.props.length;r++){const o=e.props[r];if(o.type===6)o.value&&(o.name==="name"?n=JSON.stringify(o.value.content):(o.name=Le(o.name),i.push(o)));else if(o.name==="bind"&&Wn(o.arg,"name")){if(o.exp)n=o.exp;else if(o.arg&&o.arg.type===4){const l=Le(o.arg.content);n=o.exp=ae(l,!1,o.arg.loc)}}else o.name==="bind"&&o.arg&&ct(o.arg)&&(o.arg.content=Le(o.arg.content)),i.push(o)}if(i.length>0){const{props:r,directives:o}=Xh(e,t,i,!1,!1);s=r,o.length&&t.onError(Oe(36,o[0].loc))}return{slotName:n,slotProps:s}}const Vy=/^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,Jh=(e,t,n,s)=>{const{loc:i,modifiers:r,arg:o}=e;!e.exp&&!r.length&&n.onError(Oe(35,i));let l;if(o.type===4)if(o.isStatic){let f=o.content;f.startsWith("vue:")&&(f=`vnode-${f.slice(4)}`);const d=t.tagType!==0||f.startsWith("vnode")||!/[A-Z]/.test(f)?Kn(Le(f)):`on:${f}`;l=ae(d,!0,o.loc)}else l=Mt([`${n.helperString(Jo)}(`,o,")"]);else l=o,l.children.unshift(`${n.helperString(Jo)}(`),l.children.push(")");let a=e.exp;a&&!a.content.trim()&&(a=void 0);let c=n.cacheHandlers&&!a&&!n.inVOnce;if(a){const f=Ph(a.content),d=!(f||Vy.test(a.content)),g=a.content.includes(";");(d||c&&f)&&(a=Mt([`${d?"$event":"(...args)"} => ${g?"{":"("}`,a,g?"}":")"]))}let u={props:[Me(l,a||ae("() => {}",!1,i))]};return s&&(u=s(u)),c&&(u.props[0].value=n.cache(u.props[0].value)),u.props.forEach(f=>f.key.isHandlerKey=!0),u},Uy=(e,t,n)=>{const{modifiers:s,loc:i}=e,r=e.arg;let{exp:o}=e;if(o&&o.type===4&&!o.content.trim()&&(o=void 0),!o){if(r.type!==4||!r.isStatic)return n.onError(Oe(52,r.loc)),{props:[Me(r,ae("",!0,i))]};const l=Le(r.content);o=e.exp=ae(l,!1,r.loc)}return r.type!==4?(r.children.unshift("("),r.children.push(') || ""')):r.isStatic||(r.content=`${r.content} || ""`),s.includes("camel")&&(r.type===4?r.isStatic?r.content=Le(r.content):r.content=`${n.helperString(Xo)}(${r.content})`:(r.children.unshift(`${n.helperString(Xo)}(`),r.children.push(")"))),n.inSSR||(s.includes("prop")&&$c(r,"."),s.includes("attr")&&$c(r,"^")),{props:[Me(r,o)]}},$c=(e,t)=>{e.type===4?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},Hy=(e,t)=>{if(e.type===0||e.type===1||e.type===11||e.type===10)return()=>{const n=e.children;let s,i=!1;for(let r=0;r<n.length;r++){const o=n[r];if(Co(o)){i=!0;for(let l=r+1;l<n.length;l++){const a=n[l];if(Co(a))s||(s=n[r]=Mt([o],o.loc)),s.children.push(" + ",a),n.splice(l,1),l--;else{s=void 0;break}}}}if(!(!i||n.length===1&&(e.type===0||e.type===1&&e.tagType===0&&!e.props.find(r=>r.type===7&&!t.directiveTransforms[r.name])&&e.tag!=="template")))for(let r=0;r<n.length;r++){const o=n[r];if(Co(o)||o.type===8){const l=[];(o.type!==2||o.content!==" ")&&l.push(o),!t.ssr&&It(o,t)===0&&l.push("1"),n[r]={type:12,content:o,loc:o.loc,codegenNode:He(t.helper(fa),l)}}}}},Vc=new WeakSet,By=(e,t)=>{if(e.type===1&&Pt(e,"once",!0))return Vc.has(e)||t.inVOnce||t.inSSR?void 0:(Vc.add(e),t.inVOnce=!0,t.helper(bi),()=>{t.inVOnce=!1;const n=t.currentNode;n.codegenNode&&(n.codegenNode=t.cache(n.codegenNode,!0))})},Qh=(e,t,n)=>{const{exp:s,arg:i}=e;if(!s)return n.onError(Oe(41,e.loc)),Xr();const r=s.loc.source,o=s.type===4?s.content:r,l=n.bindingMetadata[r];if(l==="props"||l==="props-aliased")return n.onError(Oe(44,s.loc)),Xr();const a=!1;if(!o.trim()||!Ph(o)&&!a)return n.onError(Oe(42,s.loc)),Xr();const c=i||ae("modelValue",!0),u=i?ct(i)?`onUpdate:${Le(i.content)}`:Mt(['"onUpdate:" + ',i]):"onUpdate:modelValue";let f;const d=n.isTS?"($event: any)":"$event";f=Mt([`${d} => ((`,s,") = $event)"]);const g=[Me(c,e.exp),Me(u,f)];if(e.modifiers.length&&t.tagType===1){const b=e.modifiers.map(R=>(Na(R)?R:JSON.stringify(R))+": true").join(", "),O=i?ct(i)?`${i.content}Modifiers`:Mt([i,' + "Modifiers"']):"modelModifiers";g.push(Me(O,ae(`{ ${b} }`,!1,e.loc,2)))}return Xr(g)};function Xr(e=[]){return{props:e}}const Wy=/[\w).+\-_$\]]/,jy=(e,t)=>{Xn("COMPILER_FILTERS",t)&&(e.type===5&&Ii(e.content,t),e.type===1&&e.props.forEach(n=>{n.type===7&&n.name!=="for"&&n.exp&&Ii(n.exp,t)}))};function Ii(e,t){if(e.type===4)Uc(e,t);else for(let n=0;n<e.children.length;n++){const s=e.children[n];typeof s=="object"&&(s.type===4?Uc(s,t):s.type===8?Ii(e,t):s.type===5&&Ii(s.content,t))}}function Uc(e,t){const n=e.content;let s=!1,i=!1,r=!1,o=!1,l=0,a=0,c=0,u=0,f,d,g,b,O=[];for(g=0;g<n.length;g++)if(d=f,f=n.charCodeAt(g),s)f===39&&d!==92&&(s=!1);else if(i)f===34&&d!==92&&(i=!1);else if(r)f===96&&d!==92&&(r=!1);else if(o)f===47&&d!==92&&(o=!1);else if(f===124&&n.charCodeAt(g+1)!==124&&n.charCodeAt(g-1)!==124&&!l&&!a&&!c)b===void 0?(u=g+1,b=n.slice(0,g).trim()):R();else{switch(f){case 34:i=!0;break;case 39:s=!0;break;case 96:r=!0;break;case 40:c++;break;case 41:c--;break;case 91:a++;break;case 93:a--;break;case 123:l++;break;case 125:l--;break}if(f===47){let A=g-1,C;for(;A>=0&&(C=n.charAt(A),C===" ");A--);(!C||!Wy.test(C))&&(o=!0)}}b===void 0?b=n.slice(0,g).trim():u!==0&&R();function R(){O.push(n.slice(u,g).trim()),u=g+1}if(O.length){for(g=0;g<O.length;g++)b=Ky(b,O[g],t);e.content=b}}function Ky(e,t,n){n.helper(ma);const s=t.indexOf("(");if(s<0)return n.filters.add(t),`${fr(t,"filter")}(${e})`;{const i=t.slice(0,s),r=t.slice(s+1);return n.filters.add(i),`${fr(i,"filter")}(${e}${r!==")"?","+r:r}`}}const Hc=new WeakSet,Gy=(e,t)=>{if(e.type===1){const n=Pt(e,"memo");return!n||Hc.has(e)?void 0:(Hc.add(e),()=>{const s=e.codegenNode||t.currentNode.codegenNode;s&&s.type===13&&(e.tagType!==1&&Ta(s,t),e.codegenNode=He(t.helper(Sa),[n.exp,Is(void 0,s),"_cache",String(t.cached++)]))})}};function Yy(e){return[[By,Ty,Gy,Iy,jy,xy,ky,Ly,Hy],{on:Jh,bind:Uy,model:Qh}]}function qy(e,t={}){const n=t.onError||Ca,s=t.mode==="module";t.prefixIdentifiers===!0?n(Oe(47)):s&&n(Oe(48));const i=!1;t.cacheHandlers&&n(Oe(49)),t.scopeId&&!s&&n(Oe(50));const r=he({},t,{prefixIdentifiers:i}),o=le(e)?ey(e,r):e,[l,a]=Yy();return ry(o,he({},r,{nodeTransforms:[...l,...t.nodeTransforms||[]],directiveTransforms:he({},a,t.directiveTransforms||{})})),ay(o,r)}const Xy=()=>({props:[]});/**
-* @vue/compiler-dom v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/const Zh=Symbol(""),zh=Symbol(""),ep=Symbol(""),tp=Symbol(""),nl=Symbol(""),np=Symbol(""),sp=Symbol(""),rp=Symbol(""),ip=Symbol(""),op=Symbol("");O_({[Zh]:"vModelRadio",[zh]:"vModelCheckbox",[ep]:"vModelText",[tp]:"vModelSelect",[nl]:"vModelDynamic",[np]:"withModifiers",[sp]:"withKeys",[rp]:"vShow",[ip]:"Transition",[op]:"TransitionGroup"});let as;function Jy(e,t=!1){return as||(as=document.createElement("div")),t?(as.innerHTML=`<div foo="${e.replace(/"/g,"&quot;")}">`,as.children[0].getAttribute("foo")):(as.innerHTML=e,as.textContent)}const Qy={parseMode:"html",isVoidTag:Em,isNativeTag:e=>gm(e)||_m(e)||ym(e),isPreTag:e=>e==="pre",decodeEntities:Jy,isBuiltInComponent:e=>{if(e==="Transition"||e==="transition")return ip;if(e==="TransitionGroup"||e==="transition-group")return op},getNamespace(e,t,n){let s=t?t.ns:n;if(t&&s===2)if(t.tag==="annotation-xml"){if(e==="svg")return 1;t.props.some(i=>i.type===6&&i.name==="encoding"&&i.value!=null&&(i.value.content==="text/html"||i.value.content==="application/xhtml+xml"))&&(s=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&e!=="mglyph"&&e!=="malignmark"&&(s=0);else t&&s===1&&(t.tag==="foreignObject"||t.tag==="desc"||t.tag==="title")&&(s=0);if(s===0){if(e==="svg")return 1;if(e==="math")return 2}return s}},Zy=e=>{e.type===1&&e.props.forEach((t,n)=>{t.type===6&&t.name==="style"&&t.value&&(e.props[n]={type:7,name:"bind",arg:ae("style",!0,t.loc),exp:zy(t.value.content,t.loc),modifiers:[],loc:t.loc})})},zy=(e,t)=>{const n=Gu(e);return ae(JSON.stringify(n),!1,t,3)};function Cn(e,t){return Oe(e,t)}const eE=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Cn(53,i)),t.children.length&&(n.onError(Cn(54,i)),t.children.length=0),{props:[Me(ae("innerHTML",!0,i),s||ae("",!0))]}},tE=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Cn(55,i)),t.children.length&&(n.onError(Cn(56,i)),t.children.length=0),{props:[Me(ae("textContent",!0),s?It(s,n)>0?s:He(n.helperString(to),[s],i):ae("",!0))]}},nE=(e,t,n)=>{const s=Qh(e,t,n);if(!s.props.length||t.tagType===1)return s;e.arg&&n.onError(Cn(58,e.arg.loc));const{tag:i}=t,r=n.isCustomElement(i);if(i==="input"||i==="textarea"||i==="select"||r){let o=ep,l=!1;if(i==="input"||r){const a=no(t,"type");if(a){if(a.type===7)o=nl;else if(a.value)switch(a.value.content){case"radio":o=Zh;break;case"checkbox":o=zh;break;case"file":l=!0,n.onError(Cn(59,e.loc));break}}else $_(t)&&(o=nl)}else i==="select"&&(o=tp);l||(s.needRuntime=n.helper(o))}else n.onError(Cn(57,e.loc));return s.props=s.props.filter(o=>!(o.key.type===4&&o.key.content==="modelValue")),s},sE=bt("passive,once,capture"),rE=bt("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),iE=bt("left,right"),lp=bt("onkeyup,onkeydown,onkeypress",!0),oE=(e,t,n,s)=>{const i=[],r=[],o=[];for(let l=0;l<t.length;l++){const a=t[l];a==="native"&&ur("COMPILER_V_ON_NATIVE",n)||sE(a)?o.push(a):iE(a)?ct(e)?lp(e.content)?i.push(a):r.push(a):(i.push(a),r.push(a)):rE(a)?r.push(a):i.push(a)}return{keyModifiers:i,nonKeyModifiers:r,eventOptionModifiers:o}},Bc=(e,t)=>ct(e)&&e.content.toLowerCase()==="onclick"?ae(t,!0):e.type!==4?Mt(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,lE=(e,t,n)=>Jh(e,t,n,s=>{const{modifiers:i}=e;if(!i.length)return s;let{key:r,value:o}=s.props[0];const{keyModifiers:l,nonKeyModifiers:a,eventOptionModifiers:c}=oE(r,i,n,e.loc);if(a.includes("right")&&(r=Bc(r,"onContextmenu")),a.includes("middle")&&(r=Bc(r,"onMouseup")),a.length&&(o=He(n.helper(np),[o,JSON.stringify(a)])),l.length&&(!ct(r)||lp(r.content))&&(o=He(n.helper(sp),[o,JSON.stringify(l)])),c.length){const u=c.map(Ln).join("");r=ct(r)?ae(`${r.content}${u}`,!0):Mt(["(",r,`) + "${u}"`])}return{props:[Me(r,o)]}}),aE=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Cn(61,i)),{props:[],needRuntime:n.helper(rp)}},cE=(e,t)=>{e.type===1&&e.tagType===0&&(e.tag==="script"||e.tag==="style")&&t.removeNode()},uE=[Zy],fE={cloak:Xy,html:eE,text:tE,model:nE,on:lE,show:aE};function dE(e,t={}){return qy(e,he({},Qy,t,{nodeTransforms:[cE,...uE,...t.nodeTransforms||[]],directiveTransforms:he({},fE,t.directiveTransforms||{}),transformHoist:null}))}/**
-* vue v3.4.27
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/const Wc=new WeakMap;function hE(e){let t=Wc.get(e??me);return t||(t=Object.create(null),Wc.set(e??me,t)),t}function ap(e,t){if(!le(e))if(e.nodeType)e=e.innerHTML;else return $e;const n=e,s=hE(t),i=s[n];if(i)return i;if(e[0]==="#"){const a=document.querySelector(e);e=a?a.innerHTML:""}const r=he({hoistStatic:!0,onError:void 0,onWarn:$e},t);!r.isCustomElement&&typeof customElements<"u"&&(r.isCustomElement=a=>!!customElements.get(a));const{code:o}=dE(e,r),l=new Function("Vue",o)(S_);return l._rc=!0,s[n]=l}ea(ap);const IS=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:xl,BaseTransitionPropsValidators:Ki,Comment:Ge,DeprecationTypes:Jd,EffectScope:ki,ErrorCodes:Cf,ErrorTypeStrings:jd,Fragment:De,KeepAlive:Kf,ReactiveEffect:Jn,Static:Tn,Suspense:$f,Teleport:Nd,Text:nn,TrackOpTypes:vf,Transition:Zi,TransitionGroup:ch,TriggerOpTypes:Sf,VueElement:Lr,assertNumber:Tf,callWithAsyncErrorHandling:ut,callWithErrorHandling:jt,camelize:Le,capitalize:Ln,cloneVNode:Dt,compatUtils:Xd,compile:ap,computed:Ne,createApp:_h,createBlock:qi,createCommentVNode:wd,createElementBlock:Ld,createElementVNode:Xi,createHydrationRenderer:Xl,createPropsRestProxy:ud,createRenderer:ql,createSSRApp:yh,createSlots:qf,createStaticVNode:kd,createTextVNode:Ji,createVNode:Se,customRef:Il,defineAsyncComponent:jf,defineComponent:rn,defineCustomElement:ra,defineEmits:zf,defineExpose:ed,defineModel:sd,defineOptions:td,defineProps:Zf,defineSSRCustomElement:rh,defineSlots:nd,devtools:Kd,effect:zu,effectScope:_r,getCurrentInstance:nt,getCurrentScope:yr,getTransitionRawChildren:Tr,guardReactiveProps:Ql,h:os,handleError:kn,hasInjectionContext:Gl,hydrate:la,initCustomFormatter:Hd,initDirectivesForSSR:vh,inject:ft,isMemoSame:ta,isProxy:$i,isReactive:en,isReadonly:Qn,isRef:Re,isRuntimeOnly:xd,isShallow:Ss,isVNode:sn,markRaw:br,mergeDefaults:ad,mergeModels:cd,mergeProps:zl,nextTick:is,normalizeClass:Ds,normalizeProps:Yu,normalizeStyle:Fs,onActivated:$l,onBeforeMount:Yi,onBeforeUnmount:Ir,onBeforeUpdate:Ul,onDeactivated:Vl,onErrorCaptured:jl,onMounted:wn,onRenderTracked:Wl,onRenderTriggered:Bl,onScopeDispose:wi,onServerPrefetch:Hl,onUnmounted:xs,onUpdated:Nr,openBlock:Ar,popScopeId:Pf,provide:vs,proxyRefs:Vi,pushScopeId:Rf,queuePostFlushCb:tr,reactive:rs,readonly:Er,ref:xe,registerRuntimeCompiler:ea,render:_i,renderList:Yf,renderSlot:Xf,resolveComponent:wf,resolveDirective:Df,resolveDynamicComponent:Ff,resolveFilter:qd,resolveTransitionHooks:Zn,setBlockTracking:di,setDevtoolsHook:Gd,setTransitionHooks:In,shallowReactive:Di,shallowReadonly:pf,shallowRef:vr,ssrContextKey:wl,ssrUtils:Yd,stop:ef,toDisplayString:Xu,toHandlerKey:Kn,toHandlers:Qf,toRaw:fe,toRef:Ef,toRefs:Al,toValue:yf,transformVNodeArgs:Rd,triggerRef:_f,unref:Wt,useAttrs:od,useCssModule:ih,useCssVars:sh,useModel:Ud,useSSRContext:Ml,useSlots:id,useTransitionState:ji,vModelCheckbox:zi,vModelDynamic:oa,vModelRadio:eo,vModelSelect:ia,vModelText:or,vShow:sa,version:na,warn:Wd,watch:At,watchEffect:Uf,watchPostEffect:Fl,watchSyncEffect:Dl,withAsyncContext:fd,withCtx:Wi,withDefaults:rd,withDirectives:Bf,withKeys:hh,withMemo:Bd,withModifiers:dh,withScopeId:kf},Symbol.toStringTag,{value:"Module"}));/*!
-  * vue-router v4.3.2
-  * (c) 2024 Eduardo San Martin Morote
-  * @license MIT
-  */const fs=typeof document<"u";function pE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Ee=Object.assign;function Io(e,t){const n={};for(const s in t){const i=t[s];n[s]=xt(i)?i.map(e):e(i)}return n}const Js=()=>{},xt=Array.isArray,cp=/#/g,mE=/&/g,gE=/\//g,_E=/=/g,yE=/\?/g,up=/\+/g,EE=/%5B/g,bE=/%5D/g,fp=/%5E/g,vE=/%60/g,dp=/%7B/g,SE=/%7C/g,hp=/%7D/g,TE=/%20/g;function Aa(e){return encodeURI(""+e).replace(SE,"|").replace(EE,"[").replace(bE,"]")}function CE(e){return Aa(e).replace(dp,"{").replace(hp,"}").replace(fp,"^")}function sl(e){return Aa(e).replace(up,"%2B").replace(TE,"+").replace(cp,"%23").replace(mE,"%26").replace(vE,"`").replace(dp,"{").replace(hp,"}").replace(fp,"^")}function NE(e){return sl(e).replace(_E,"%3D")}function IE(e){return Aa(e).replace(cp,"%23").replace(yE,"%3F")}function AE(e){return e==null?"":IE(e).replace(gE,"%2F")}function hr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const OE=/\/$/,LE=e=>e.replace(OE,"");function Ao(e,t,n="/"){let s,i={},r="",o="";const l=t.indexOf("#");let a=t.indexOf("?");return l<a&&l>=0&&(a=-1),a>-1&&(s=t.slice(0,a),r=t.slice(a+1,l>-1?l:t.length),i=e(r)),l>-1&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=wE(s??t,n),{fullPath:s+(r&&"?")+r+o,path:s,query:i,hash:hr(o)}}function RE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function jc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function PE(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&Ls(t.matched[s],n.matched[i])&&pp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ls(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function pp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!kE(e[n],t[n]))return!1;return!0}function kE(e,t){return xt(e)?Kc(e,t):xt(t)?Kc(t,e):e===t}function Kc(e,t){return xt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function wE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let r=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(o).join("/")}var pr;(function(e){e.pop="pop",e.push="push"})(pr||(pr={}));var Qs;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Qs||(Qs={}));function ME(e){if(!e)if(fs){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),LE(e)}const FE=/^[^#]+#/;function DE(e,t){return e.replace(FE,"#")+t}function xE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const io=()=>({left:window.scrollX,top:window.scrollY});function $E(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=xE(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Gc(e,t){return(history.state?history.state.position-t:-1)+e}const rl=new Map;function VE(e,t){rl.set(e,t)}function UE(e){const t=rl.get(e);return rl.delete(e),t}let HE=()=>location.protocol+"//"+location.host;function mp(e,t){const{pathname:n,search:s,hash:i}=t,r=e.indexOf("#");if(r>-1){let l=i.includes(e.slice(r))?e.slice(r).length:1,a=i.slice(l);return a[0]!=="/"&&(a="/"+a),jc(a,"")}return jc(n,e)+s+i}function BE(e,t,n,s){let i=[],r=[],o=null;const l=({state:d})=>{const g=mp(e,location),b=n.value,O=t.value;let R=0;if(d){if(n.value=g,t.value=d,o&&o===b){o=null;return}R=O?d.position-O.position:0}else s(g);i.forEach(A=>{A(n.value,b,{delta:R,type:pr.pop,direction:R?R>0?Qs.forward:Qs.back:Qs.unknown})})};function a(){o=n.value}function c(d){i.push(d);const g=()=>{const b=i.indexOf(d);b>-1&&i.splice(b,1)};return r.push(g),g}function u(){const{history:d}=window;d.state&&d.replaceState(Ee({},d.state,{scroll:io()}),"")}function f(){for(const d of r)d();r=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:a,listen:c,destroy:f}}function Yc(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?io():null}}function WE(e){const{history:t,location:n}=window,s={value:mp(e,n)},i={value:t.state};i.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:HE()+e+a;try{t[u?"replaceState":"pushState"](c,"",d),i.value=c}catch(g){console.error(g),n[u?"replace":"assign"](d)}}function o(a,c){const u=Ee({},t.state,Yc(i.value.back,a,i.value.forward,!0),c,{position:i.value.position});r(a,u,!0),s.value=a}function l(a,c){const u=Ee({},i.value,t.state,{forward:a,scroll:io()});r(u.current,u,!0);const f=Ee({},Yc(s.value,a,null),{position:u.position+1},c);r(a,f,!1),s.value=a}return{location:s,state:i,push:l,replace:o}}function AS(e){e=ME(e);const t=WE(e),n=BE(e,t.state,t.location,t.replace);function s(r,o=!0){o||n.pauseListeners(),history.go(r)}const i=Ee({location:"",base:e,go:s,createHref:DE.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function jE(e){return typeof e=="string"||e&&typeof e=="object"}function gp(e){return typeof e=="string"||typeof e=="symbol"}const fn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},_p=Symbol("");var qc;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(qc||(qc={}));function Rs(e,t){return Ee(new Error,{type:e,[_p]:!0},t)}function Gt(e,t){return e instanceof Error&&_p in e&&(t==null||!!(e.type&t))}const Xc="[^/]+?",KE={sensitive:!1,strict:!1,start:!0,end:!0},GE=/[.+*?^${}()[\]/\\]/g;function YE(e,t){const n=Ee({},KE,t),s=[];let i=n.start?"^":"";const r=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(i+="/");for(let f=0;f<c.length;f++){const d=c[f];let g=40+(n.sensitive?.25:0);if(d.type===0)f||(i+="/"),i+=d.value.replace(GE,"\\$&"),g+=40;else if(d.type===1){const{value:b,repeatable:O,optional:R,regexp:A}=d;r.push({name:b,repeatable:O,optional:R});const C=A||Xc;if(C!==Xc){g+=10;try{new RegExp(`(${C})`)}catch(y){throw new Error(`Invalid custom RegExp for param "${b}" (${C}): `+y.message)}}let h=O?`((?:${C})(?:/(?:${C}))*)`:`(${C})`;f||(h=R&&c.length<2?`(?:/${h})`:"/"+h),R&&(h+="?"),i+=h,g+=20,R&&(g+=-8),O&&(g+=-20),C===".*"&&(g+=-50)}u.push(g)}s.push(u)}if(n.strict&&n.end){const c=s.length-1;s[c][s[c].length-1]+=.7000000000000001}n.strict||(i+="/?"),n.end?i+="$":n.strict&&(i+="(?:/|$)");const o=new RegExp(i,n.sensitive?"":"i");function l(c){const u=c.match(o),f={};if(!u)return null;for(let d=1;d<u.length;d++){const g=u[d]||"",b=r[d-1];f[b.name]=g&&b.repeatable?g.split("/"):g}return f}function a(c){let u="",f=!1;for(const d of e){(!f||!u.endsWith("/"))&&(u+="/"),f=!1;for(const g of d)if(g.type===0)u+=g.value;else if(g.type===1){const{value:b,repeatable:O,optional:R}=g,A=b in c?c[b]:"";if(xt(A)&&!O)throw new Error(`Provided param "${b}" is an array but it is not repeatable (* or + modifiers)`);const C=xt(A)?A.join("/"):A;if(!C)if(R)d.length<2&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${b}"`);u+=C}}return u||"/"}return{re:o,score:s,keys:r,parse:l,stringify:a}}function qE(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===40+40?-1:1:e.length>t.length?t.length===1&&t[0]===40+40?1:-1:0}function XE(e,t){let n=0;const s=e.score,i=t.score;for(;n<s.length&&n<i.length;){const r=qE(s[n],i[n]);if(r)return r;n++}if(Math.abs(i.length-s.length)===1){if(Jc(s))return 1;if(Jc(i))return-1}return i.length-s.length}function Jc(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const JE={type:0,value:""},QE=/[a-zA-Z0-9_]/;function ZE(e){if(!e)return[[]];if(e==="/")return[[JE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=0,s=n;const i=[];let r;function o(){r&&i.push(r),r=[]}let l=0,a,c="",u="";function f(){c&&(n===0?r.push({type:0,value:c}):n===1||n===2||n===3?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;l<e.length;){if(a=e[l++],a==="\\"&&n!==2){s=n,n=4;continue}switch(n){case 0:a==="/"?(c&&f(),o()):a===":"?(f(),n=1):d();break;case 4:d(),n=s;break;case 1:a==="("?n=2:QE.test(a)?d():(f(),n=0,a!=="*"&&a!=="?"&&a!=="+"&&l--);break;case 2:a===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+a:n=3:u+=a;break;case 3:f(),n=0,a!=="*"&&a!=="?"&&a!=="+"&&l--,u="";break;default:t("Unknown state");break}}return n===2&&t(`Unfinished custom RegExp for param "${c}"`),f(),o(),i}function zE(e,t,n){const s=YE(ZE(e.path),n),i=Ee(s,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function eb(e,t){const n=[],s=new Map;t=zc({strict:!1,end:!0,sensitive:!1},t);function i(u){return s.get(u)}function r(u,f,d){const g=!d,b=tb(u);b.aliasOf=d&&d.record;const O=zc(t,u),R=[b];if("alias"in u){const h=typeof u.alias=="string"?[u.alias]:u.alias;for(const y of h)R.push(Ee({},b,{components:d?d.record.components:b.components,path:y,aliasOf:d?d.record:b}))}let A,C;for(const h of R){const{path:y}=h;if(f&&y[0]!=="/"){const S=f.record.path,v=S[S.length-1]==="/"?"":"/";h.path=f.record.path+(y&&v+y)}if(A=zE(h,f,O),d?d.alias.push(A):(C=C||A,C!==A&&C.alias.push(A),g&&u.name&&!Zc(A)&&o(u.name)),b.children){const S=b.children;for(let v=0;v<S.length;v++)r(S[v],A,d&&d.children[v])}d=d||A,(A.record.components&&Object.keys(A.record.components).length||A.record.name||A.record.redirect)&&a(A)}return C?()=>{o(C)}:Js}function o(u){if(gp(u)){const f=s.get(u);f&&(s.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(o),f.alias.forEach(o))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&s.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function l(){return n}function a(u){let f=0;for(;f<n.length&&XE(u,n[f])>=0&&(u.record.path!==n[f].record.path||!yp(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Zc(u)&&s.set(u.record.name,u)}function c(u,f){let d,g={},b,O;if("name"in u&&u.name){if(d=s.get(u.name),!d)throw Rs(1,{location:u});O=d.record.name,g=Ee(Qc(f.params,d.keys.filter(C=>!C.optional).concat(d.parent?d.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),u.params&&Qc(u.params,d.keys.map(C=>C.name))),b=d.stringify(g)}else if(u.path!=null)b=u.path,d=n.find(C=>C.re.test(b)),d&&(g=d.parse(b),O=d.record.name);else{if(d=f.name?s.get(f.name):n.find(C=>C.re.test(f.path)),!d)throw Rs(1,{location:u,currentLocation:f});O=d.record.name,g=Ee({},f.params,u.params),b=d.stringify(g)}const R=[];let A=d;for(;A;)R.unshift(A.record),A=A.parent;return{name:O,path:b,params:g,matched:R,meta:sb(R)}}return e.forEach(u=>r(u)),{addRoute:r,resolve:c,removeRoute:o,getRoutes:l,getRecordMatcher:i}}function Qc(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function tb(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:nb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function nb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Zc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function sb(e){return e.reduce((t,n)=>Ee(t,n.meta),{})}function zc(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function yp(e,t){return t.children.some(n=>n===e||yp(e,n))}function rb(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;i<s.length;++i){const r=s[i].replace(up," "),o=r.indexOf("="),l=hr(o<0?r:r.slice(0,o)),a=o<0?null:hr(r.slice(o+1));if(l in t){let c=t[l];xt(c)||(c=t[l]=[c]),c.push(a)}else t[l]=a}return t}function eu(e){let t="";for(let n in e){const s=e[n];if(n=NE(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(xt(s)?s.map(r=>r&&sl(r)):[s&&sl(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function ib(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=xt(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const ob=Symbol(""),tu=Symbol(""),oo=Symbol(""),Ep=Symbol(""),il=Symbol("");function Hs(){let e=[];function t(s){return e.push(s),()=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function bn(e,t,n,s,i,r=o=>o()){const o=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((l,a)=>{const c=d=>{d===!1?a(Rs(4,{from:n,to:t})):d instanceof Error?a(d):jE(d)?a(Rs(2,{from:t,to:d})):(o&&s.enterCallbacks[i]===o&&typeof d=="function"&&o.push(d),l())},u=r(()=>e.call(s&&s.instances[i],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>a(d))})}function Oo(e,t,n,s,i=r=>r()){const r=[];for(const o of e)for(const l in o.components){let a=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(lb(a)){const u=(a.__vccOpts||a)[t];u&&r.push(bn(u,n,s,o,l,i))}else{let c=a();r.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${o.path}"`));const f=pE(u)?u.default:u;o.components[l]=f;const g=(f.__vccOpts||f)[t];return g&&bn(g,n,s,o,l,i)()}))}}return r}function lb(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function nu(e){const t=ft(oo),n=ft(Ep),s=Ne(()=>{const a=Wt(e.to);return t.resolve(a)}),i=Ne(()=>{const{matched:a}=s.value,{length:c}=a,u=a[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(Ls.bind(null,u));if(d>-1)return d;const g=su(a[c-2]);return c>1&&su(u)===g&&f[f.length-1].path!==g?f.findIndex(Ls.bind(null,a[c-2])):d}),r=Ne(()=>i.value>-1&&fb(n.params,s.value.params)),o=Ne(()=>i.value>-1&&i.value===n.matched.length-1&&pp(n.params,s.value.params));function l(a={}){return ub(a)?t[Wt(e.replace)?"replace":"push"](Wt(e.to)).catch(Js):Promise.resolve()}return{route:s,href:Ne(()=>s.value.href),isActive:r,isExactActive:o,navigate:l}}const ab=rn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:nu,setup(e,{slots:t}){const n=rs(nu(e)),{options:s}=ft(oo),i=Ne(()=>({[ru(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[ru(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&t.default(n);return e.custom?r:os("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}}),cb=ab;function ub(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function fb(e,t){for(const n in t){const s=t[n],i=e[n];if(typeof s=="string"){if(s!==i)return!1}else if(!xt(i)||i.length!==s.length||s.some((r,o)=>r!==i[o]))return!1}return!0}function su(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ru=(e,t,n)=>e??t??n,db=rn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ft(il),i=Ne(()=>e.route||s.value),r=ft(tu,0),o=Ne(()=>{let c=Wt(r);const{matched:u}=i.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),l=Ne(()=>i.value.matched[o.value]);vs(tu,Ne(()=>o.value+1)),vs(ob,l),vs(il,i);const a=xe();return At(()=>[a.value,l.value,e.name],([c,u,f],[d,g,b])=>{u&&(u.instances[f]=c,g&&g!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),c&&u&&(!g||!Ls(u,g)||!d)&&(u.enterCallbacks[f]||[]).forEach(O=>O(c))},{flush:"post"}),()=>{const c=i.value,u=e.name,f=l.value,d=f&&f.components[u];if(!d)return iu(n.default,{Component:d,route:c});const g=f.props[u],b=g?g===!0?c.params:typeof g=="function"?g(c):g:null,R=os(d,Ee({},b,t,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(f.instances[u]=null)},ref:a}));return iu(n.default,{Component:R,route:c})||R}}});function iu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const hb=db;function OS(e){const t=eb(e.routes,e),n=e.parseQuery||rb,s=e.stringifyQuery||eu,i=e.history,r=Hs(),o=Hs(),l=Hs(),a=vr(fn);let c=fn;fs&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Io.bind(null,$=>""+$),f=Io.bind(null,AE),d=Io.bind(null,hr);function g($,X){let K,Z;return gp($)?(K=t.getRecordMatcher($),Z=X):Z=$,t.addRoute(Z,K)}function b($){const X=t.getRecordMatcher($);X&&t.removeRoute(X)}function O(){return t.getRoutes().map($=>$.record)}function R($){return!!t.getRecordMatcher($)}function A($,X){if(X=Ee({},X||a.value),typeof $=="string"){const p=Ao(n,$,X.path),L=t.resolve({path:p.path},X),V=i.createHref(p.fullPath);return Ee(p,L,{params:d(L.params),hash:hr(p.hash),redirectedFrom:void 0,href:V})}let K;if($.path!=null)K=Ee({},$,{path:Ao(n,$.path,X.path).path});else{const p=Ee({},$.params);for(const L in p)p[L]==null&&delete p[L];K=Ee({},$,{params:f(p)}),X.params=f(X.params)}const Z=t.resolve(K,X),ue=$.hash||"";Z.params=u(d(Z.params));const _e=RE(s,Ee({},$,{hash:CE(ue),path:Z.path})),E=i.createHref(_e);return Ee({fullPath:_e,hash:ue,query:s===eu?ib($.query):$.query||{}},Z,{redirectedFrom:void 0,href:E})}function C($){return typeof $=="string"?Ao(n,$,a.value.path):Ee({},$)}function h($,X){if(c!==$)return Rs(8,{from:X,to:$})}function y($){return P($)}function S($){return y(Ee(C($),{replace:!0}))}function v($){const X=$.matched[$.matched.length-1];if(X&&X.redirect){const{redirect:K}=X;let Z=typeof K=="function"?K($):K;return typeof Z=="string"&&(Z=Z.includes("?")||Z.includes("#")?Z=C(Z):{path:Z},Z.params={}),Ee({query:$.query,hash:$.hash,params:Z.path!=null?{}:$.params},Z)}}function P($,X){const K=c=A($),Z=a.value,ue=$.state,_e=$.force,E=$.replace===!0,p=v(K);if(p)return P(Ee(C(p),{state:typeof p=="object"?Ee({},ue,p.state):ue,force:_e,replace:E}),X||K);const L=K;L.redirectedFrom=X;let V;return!_e&&PE(s,Z,K)&&(V=Rs(16,{to:L,from:Z}),Te(Z,Z,!0,!1)),(V?Promise.resolve(V):M(L,Z)).catch(D=>Gt(D)?Gt(D,2)?D:Ke(D):Q(D,L,Z)).then(D=>{if(D){if(Gt(D,2))return P(Ee({replace:E},C(D.to),{state:typeof D.to=="object"?Ee({},ue,D.to.state):ue,force:_e}),X||L)}else D=w(L,Z,!0,E,ue);return U(L,Z,D),D})}function N($,X){const K=h($,X);return K?Promise.reject(K):Promise.resolve()}function T($){const X=ht.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext($):$()}function M($,X){let K;const[Z,ue,_e]=pb($,X);K=Oo(Z.reverse(),"beforeRouteLeave",$,X);for(const p of Z)p.leaveGuards.forEach(L=>{K.push(bn(L,$,X))});const E=N.bind(null,$,X);return K.push(E),ke(K).then(()=>{K=[];for(const p of r.list())K.push(bn(p,$,X));return K.push(E),ke(K)}).then(()=>{K=Oo(ue,"beforeRouteUpdate",$,X);for(const p of ue)p.updateGuards.forEach(L=>{K.push(bn(L,$,X))});return K.push(E),ke(K)}).then(()=>{K=[];for(const p of _e)if(p.beforeEnter)if(xt(p.beforeEnter))for(const L of p.beforeEnter)K.push(bn(L,$,X));else K.push(bn(p.beforeEnter,$,X));return K.push(E),ke(K)}).then(()=>($.matched.forEach(p=>p.enterCallbacks={}),K=Oo(_e,"beforeRouteEnter",$,X,T),K.push(E),ke(K))).then(()=>{K=[];for(const p of o.list())K.push(bn(p,$,X));return K.push(E),ke(K)}).catch(p=>Gt(p,8)?p:Promise.reject(p))}function U($,X,K){l.list().forEach(Z=>T(()=>Z($,X,K)))}function w($,X,K,Z,ue){const _e=h($,X);if(_e)return _e;const E=X===fn,p=fs?history.state:{};K&&(Z||E?i.replace($.fullPath,Ee({scroll:E&&p&&p.scroll},ue)):i.push($.fullPath,ue)),a.value=$,Te($,X,K,E),Ke()}let B;function te(){B||(B=i.listen(($,X,K)=>{if(!$t.listening)return;const Z=A($),ue=v(Z);if(ue){P(Ee(ue,{replace:!0}),Z).catch(Js);return}c=Z;const _e=a.value;fs&&VE(Gc(_e.fullPath,K.delta),io()),M(Z,_e).catch(E=>Gt(E,12)?E:Gt(E,2)?(P(E.to,Z).then(p=>{Gt(p,20)&&!K.delta&&K.type===pr.pop&&i.go(-1,!1)}).catch(Js),Promise.reject()):(K.delta&&i.go(-K.delta,!1),Q(E,Z,_e))).then(E=>{E=E||w(Z,_e,!1),E&&(K.delta&&!Gt(E,8)?i.go(-K.delta,!1):K.type===pr.pop&&Gt(E,20)&&i.go(-1,!1)),U(Z,_e,E)}).catch(Js)}))}let z=Hs(),W=Hs(),ee;function Q($,X,K){Ke($);const Z=W.list();return Z.length?Z.forEach(ue=>ue($,X,K)):console.error($),Promise.reject($)}function Fe(){return ee&&a.value!==fn?Promise.resolve():new Promise(($,X)=>{z.add([$,X])})}function Ke($){return ee||(ee=!$,te(),z.list().forEach(([X,K])=>$?K($):X()),z.reset()),$}function Te($,X,K,Z){const{scrollBehavior:ue}=e;if(!fs||!ue)return Promise.resolve();const _e=!K&&UE(Gc($.fullPath,0))||(Z||!K)&&history.state&&history.state.scroll||null;return is().then(()=>ue($,X,_e)).then(E=>E&&$E(E)).catch(E=>Q(E,$,X))}const Pe=$=>i.go($);let St;const ht=new Set,$t={currentRoute:a,listening:!0,addRoute:g,removeRoute:b,hasRoute:R,getRoutes:O,resolve:A,options:e,push:y,replace:S,go:Pe,back:()=>Pe(-1),forward:()=>Pe(1),beforeEach:r.add,beforeResolve:o.add,afterEach:l.add,onError:W.add,isReady:Fe,install($){const X=this;$.component("RouterLink",cb),$.component("RouterView",hb),$.config.globalProperties.$router=X,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>Wt(a)}),fs&&!St&&a.value===fn&&(St=!0,y(i.location).catch(ue=>{}));const K={};for(const ue in fn)Object.defineProperty(K,ue,{get:()=>a.value[ue],enumerable:!0});$.provide(oo,X),$.provide(Ep,Di(K)),$.provide(il,a);const Z=$.unmount;ht.add($),$.unmount=function(){ht.delete($),ht.size<1&&(c=fn,B&&B(),B=null,a.value=fn,St=!1,ee=!1),Z()}}};function ke($){return $.reduce((X,K)=>X.then(()=>T(K)),Promise.resolve())}return $t}function pb(e,t){const n=[],s=[],i=[],r=Math.max(t.matched.length,e.matched.length);for(let o=0;o<r;o++){const l=t.matched[o];l&&(e.matched.find(c=>Ls(c,l))?s.push(l):n.push(l));const a=e.matched[o];a&&(t.matched.find(c=>Ls(c,a))||i.push(a))}return[n,s,i]}function LS(){return ft(oo)}var mb=!1;/*!
- * pinia v2.1.7
- * (c) 2023 Eduardo San Martin Morote
- * @license MIT
- */let bp;const lo=e=>bp=e,vp=Symbol();function ol(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zs;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zs||(Zs={}));function RS(){const e=_r(!0),t=e.run(()=>xe({}));let n=[],s=[];const i=br({install(r){lo(i),i._a=r,r.provide(vp,i),r.config.globalProperties.$pinia=i,s.forEach(o=>n.push(o)),s=[]},use(r){return!this._a&&!mb?s.push(r):n.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const Sp=()=>{};function ou(e,t,n,s=Sp){e.push(t);const i=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),s())};return!n&&yr()&&wi(i),i}function cs(e,...t){e.slice().forEach(n=>{n(...t)})}const gb=e=>e();function ll(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],i=e[n];ol(i)&&ol(s)&&e.hasOwnProperty(n)&&!Re(s)&&!en(s)?e[n]=ll(i,s):e[n]=s}return e}const _b=Symbol();function yb(e){return!ol(e)||!e.hasOwnProperty(_b)}const{assign:pn}=Object;function Eb(e){return!!(Re(e)&&e.effect)}function bb(e,t,n,s){const{state:i,actions:r,getters:o}=t,l=n.state.value[e];let a;function c(){l||(n.state.value[e]=i?i():{});const u=Al(n.state.value[e]);return pn(u,r,Object.keys(o||{}).reduce((f,d)=>(f[d]=br(Ne(()=>{lo(n);const g=n._s.get(e);return o[d].call(g,g)})),f),{}))}return a=Tp(e,c,t,n,s,!0),a}function Tp(e,t,n={},s,i,r){let o;const l=pn({actions:{}},n),a={deep:!0};let c,u,f=[],d=[],g;const b=s.state.value[e];!r&&!b&&(s.state.value[e]={}),xe({});let O;function R(N){let T;c=u=!1,typeof N=="function"?(N(s.state.value[e]),T={type:Zs.patchFunction,storeId:e,events:g}):(ll(s.state.value[e],N),T={type:Zs.patchObject,payload:N,storeId:e,events:g});const M=O=Symbol();is().then(()=>{O===M&&(c=!0)}),u=!0,cs(f,T,s.state.value[e])}const A=r?function(){const{state:T}=n,M=T?T():{};this.$patch(U=>{pn(U,M)})}:Sp;function C(){o.stop(),f=[],d=[],s._s.delete(e)}function h(N,T){return function(){lo(s);const M=Array.from(arguments),U=[],w=[];function B(W){U.push(W)}function te(W){w.push(W)}cs(d,{args:M,name:N,store:S,after:B,onError:te});let z;try{z=T.apply(this&&this.$id===e?this:S,M)}catch(W){throw cs(w,W),W}return z instanceof Promise?z.then(W=>(cs(U,W),W)).catch(W=>(cs(w,W),Promise.reject(W))):(cs(U,z),z)}}const y={_p:s,$id:e,$onAction:ou.bind(null,d),$patch:R,$reset:A,$subscribe(N,T={}){const M=ou(f,N,T.detached,()=>U()),U=o.run(()=>At(()=>s.state.value[e],w=>{(T.flush==="sync"?u:c)&&N({storeId:e,type:Zs.direct,events:g},w)},pn({},a,T)));return M},$dispose:C},S=rs(y);s._s.set(e,S);const P=(s._a&&s._a.runWithContext||gb)(()=>s._e.run(()=>(o=_r()).run(t)));for(const N in P){const T=P[N];if(Re(T)&&!Eb(T)||en(T))r||(b&&yb(T)&&(Re(T)?T.value=b[N]:ll(T,b[N])),s.state.value[e][N]=T);else if(typeof T=="function"){const M=h(N,T);P[N]=M,l.actions[N]=T}}return pn(S,P),pn(fe(S),P),Object.defineProperty(S,"$state",{get:()=>s.state.value[e],set:N=>{R(T=>{pn(T,N)})}}),s._p.forEach(N=>{pn(S,o.run(()=>N({store:S,app:s._a,pinia:s,options:l})))}),b&&r&&n.hydrate&&n.hydrate(S.$state,b),c=!0,u=!0,S}function PS(e,t,n){let s,i;const r=typeof t=="function";typeof e=="string"?(s=e,i=r?n:t):(i=e,s=e.id);function o(l,a){const c=Gl();return l=l||(c?ft(vp,null):null),l&&lo(l),l=bp,l._s.has(s)||(r?Tp(s,t,i,l):bb(s,i,l)),l._s.get(s)}return o.$id=s,o}/*!
-  * shared v9.13.1
-  * (c) 2024 kazuya kawaguchi
-  * Released under the MIT License.
-  */const Ai=typeof window<"u",Mn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),vb=(e,t,n)=>Sb({l:e,k:t,s:n}),Sb=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),We=e=>typeof e=="number"&&isFinite(e),Tb=e=>Np(e)==="[object Date]",On=e=>Np(e)==="[object RegExp]",ao=e=>oe(e)&&Object.keys(e).length===0,Je=Object.assign;let lu;const Zt=()=>lu||(lu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function au(e){return e.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}const Cb=Object.prototype.hasOwnProperty;function Oi(e,t){return Cb.call(e,t)}const Ie=Array.isArray,Ce=e=>typeof e=="function",q=e=>typeof e=="string",ce=e=>typeof e=="boolean",ye=e=>e!==null&&typeof e=="object",Nb=e=>ye(e)&&Ce(e.then)&&Ce(e.catch),Cp=Object.prototype.toString,Np=e=>Cp.call(e),oe=e=>{if(!ye(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Ib=e=>e==null?"":Ie(e)||oe(e)&&e.toString===Cp?JSON.stringify(e,null,2):String(e);function Ab(e,t=""){return e.reduce((n,s,i)=>i===0?n+s:n+t+s,"")}function co(e){let t=e;return()=>++t}function Ob(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Jr=e=>!ye(e)||Ie(e);function ii(e,t){if(Jr(e)||Jr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:s,des:i}=n.pop();Object.keys(s).forEach(r=>{Jr(s[r])||Jr(i[r])?i[r]=s[r]:n.push({src:s[r],des:i[r]})})}}/*!
-  * message-compiler v9.13.1
-  * (c) 2024 kazuya kawaguchi
-  * Released under the MIT License.
-  */function Lb(e,t,n){return{line:e,column:t,offset:n}}function Li(e,t,n){const s={start:e,end:t};return n!=null&&(s.source=n),s}const Rb=/\{([0-9a-zA-Z]+)\}/g;function Ip(e,...t){return t.length===1&&Pb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Rb,(n,s)=>t.hasOwnProperty(s)?t[s]:"")}const Ap=Object.assign,cu=e=>typeof e=="string",Pb=e=>e!==null&&typeof e=="object";function Op(e,t=""){return e.reduce((n,s,i)=>i===0?n+s:n+t+s,"")}const Oa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},kb={[Oa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function wb(e,t,...n){const s=Ip(kb[e]||"",...n||[]),i={message:String(s),code:e};return t&&(i.location=t),i}const se={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Mb={[se.EXPECTED_TOKEN]:"Expected token: '{0}'",[se.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[se.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[se.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[se.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[se.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[se.EMPTY_PLACEHOLDER]:"Empty placeholder",[se.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[se.INVALID_LINKED_FORMAT]:"Invalid linked format",[se.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[se.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[se.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[se.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[se.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[se.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function $s(e,t,n={}){const{domain:s,messages:i,args:r}=n,o=Ip((i||Mb)[e]||"",...r||[]),l=new SyntaxError(String(o));return l.code=e,t&&(l.location=t),l.domain=s,l}function Fb(e){throw e}const Yt=" ",Db="\r",rt=`
-`,xb=String.fromCharCode(8232),$b=String.fromCharCode(8233);function Vb(e){const t=e;let n=0,s=1,i=1,r=0;const o=P=>t[P]===Db&&t[P+1]===rt,l=P=>t[P]===rt,a=P=>t[P]===$b,c=P=>t[P]===xb,u=P=>o(P)||l(P)||a(P)||c(P),f=()=>n,d=()=>s,g=()=>i,b=()=>r,O=P=>o(P)||a(P)||c(P)?rt:t[P],R=()=>O(n),A=()=>O(n+r);function C(){return r=0,u(n)&&(s++,i=0),o(n)&&n++,n++,i++,t[n]}function h(){return o(n+r)&&r++,r++,t[n+r]}function y(){n=0,s=1,i=1,r=0}function S(P=0){r=P}function v(){const P=n+r;for(;P!==n;)C();r=0}return{index:f,line:d,column:g,peekOffset:b,charAt:O,currentChar:R,currentPeek:A,next:C,peek:h,reset:y,resetPeek:S,skipToPeek:v}}const dn=void 0,Ub=".",uu="'",Hb="tokenizer";function Bb(e,t={}){const n=t.location!==!1,s=Vb(e),i=()=>s.index(),r=()=>Lb(s.line(),s.column(),s.index()),o=r(),l=i(),a={currentType:14,offset:l,startLoc:o,endLoc:o,lastType:14,lastOffset:l,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},c=()=>a,{onError:u}=t;function f(m,_,I,...x){const Y=c();if(_.column+=I,_.offset+=I,u){const H=n?Li(Y.startLoc,_):null,k=$s(m,H,{domain:Hb,args:x});u(k)}}function d(m,_,I){m.endLoc=r(),m.currentType=_;const x={type:_};return n&&(x.loc=Li(m.startLoc,m.endLoc)),I!=null&&(x.value=I),x}const g=m=>d(m,14);function b(m,_){return m.currentChar()===_?(m.next(),_):(f(se.EXPECTED_TOKEN,r(),0,_),"")}function O(m){let _="";for(;m.currentPeek()===Yt||m.currentPeek()===rt;)_+=m.currentPeek(),m.peek();return _}function R(m){const _=O(m);return m.skipToPeek(),_}function A(m){if(m===dn)return!1;const _=m.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_===95}function C(m){if(m===dn)return!1;const _=m.charCodeAt(0);return _>=48&&_<=57}function h(m,_){const{currentType:I}=_;if(I!==2)return!1;O(m);const x=A(m.currentPeek());return m.resetPeek(),x}function y(m,_){const{currentType:I}=_;if(I!==2)return!1;O(m);const x=m.currentPeek()==="-"?m.peek():m.currentPeek(),Y=C(x);return m.resetPeek(),Y}function S(m,_){const{currentType:I}=_;if(I!==2)return!1;O(m);const x=m.currentPeek()===uu;return m.resetPeek(),x}function v(m,_){const{currentType:I}=_;if(I!==8)return!1;O(m);const x=m.currentPeek()===".";return m.resetPeek(),x}function P(m,_){const{currentType:I}=_;if(I!==9)return!1;O(m);const x=A(m.currentPeek());return m.resetPeek(),x}function N(m,_){const{currentType:I}=_;if(!(I===8||I===12))return!1;O(m);const x=m.currentPeek()===":";return m.resetPeek(),x}function T(m,_){const{currentType:I}=_;if(I!==10)return!1;const x=()=>{const H=m.currentPeek();return H==="{"?A(m.peek()):H==="@"||H==="%"||H==="|"||H===":"||H==="."||H===Yt||!H?!1:H===rt?(m.peek(),x()):w(m,!1)},Y=x();return m.resetPeek(),Y}function M(m){O(m);const _=m.currentPeek()==="|";return m.resetPeek(),_}function U(m){const _=O(m),I=m.currentPeek()==="%"&&m.peek()==="{";return m.resetPeek(),{isModulo:I,hasSpace:_.length>0}}function w(m,_=!0){const I=(Y=!1,H="",k=!1)=>{const F=m.currentPeek();return F==="{"?H==="%"?!1:Y:F==="@"||!F?H==="%"?!0:Y:F==="%"?(m.peek(),I(Y,"%",!0)):F==="|"?H==="%"||k?!0:!(H===Yt||H===rt):F===Yt?(m.peek(),I(!0,Yt,k)):F===rt?(m.peek(),I(!0,rt,k)):!0},x=I();return _&&m.resetPeek(),x}function B(m,_){const I=m.currentChar();return I===dn?dn:_(I)?(m.next(),I):null}function te(m){const _=m.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36}function z(m){return B(m,te)}function W(m){const _=m.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36||_===45}function ee(m){return B(m,W)}function Q(m){const _=m.charCodeAt(0);return _>=48&&_<=57}function Fe(m){return B(m,Q)}function Ke(m){const _=m.charCodeAt(0);return _>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102}function Te(m){return B(m,Ke)}function Pe(m){let _="",I="";for(;_=Fe(m);)I+=_;return I}function St(m){R(m);const _=m.currentChar();return _!=="%"&&f(se.EXPECTED_TOKEN,r(),0,_),m.next(),"%"}function ht(m){let _="";for(;;){const I=m.currentChar();if(I==="{"||I==="}"||I==="@"||I==="|"||!I)break;if(I==="%")if(w(m))_+=I,m.next();else break;else if(I===Yt||I===rt)if(w(m))_+=I,m.next();else{if(M(m))break;_+=I,m.next()}else _+=I,m.next()}return _}function $t(m){R(m);let _="",I="";for(;_=ee(m);)I+=_;return m.currentChar()===dn&&f(se.UNTERMINATED_CLOSING_BRACE,r(),0),I}function ke(m){R(m);let _="";return m.currentChar()==="-"?(m.next(),_+=`-${Pe(m)}`):_+=Pe(m),m.currentChar()===dn&&f(se.UNTERMINATED_CLOSING_BRACE,r(),0),_}function $(m){return m!==uu&&m!==rt}function X(m){R(m),b(m,"'");let _="",I="";for(;_=B(m,$);)_==="\\"?I+=K(m):I+=_;const x=m.currentChar();return x===rt||x===dn?(f(se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),x===rt&&(m.next(),b(m,"'")),I):(b(m,"'"),I)}function K(m){const _=m.currentChar();switch(_){case"\\":case"'":return m.next(),`\\${_}`;case"u":return Z(m,_,4);case"U":return Z(m,_,6);default:return f(se.UNKNOWN_ESCAPE_SEQUENCE,r(),0,_),""}}function Z(m,_,I){b(m,_);let x="";for(let Y=0;Y<I;Y++){const H=Te(m);if(!H){f(se.INVALID_UNICODE_ESCAPE_SEQUENCE,r(),0,`\\${_}${x}${m.currentChar()}`);break}x+=H}return`\\${_}${x}`}function ue(m){return m!=="{"&&m!=="}"&&m!==Yt&&m!==rt}function _e(m){R(m);let _="",I="";for(;_=B(m,ue);)I+=_;return I}function E(m){let _="",I="";for(;_=z(m);)I+=_;return I}function p(m){const _=I=>{const x=m.currentChar();return x==="{"||x==="%"||x==="@"||x==="|"||x==="("||x===")"||!x||x===Yt?I:(I+=x,m.next(),_(I))};return _("")}function L(m){R(m);const _=b(m,"|");return R(m),_}function V(m,_){let I=null;switch(m.currentChar()){case"{":return _.braceNest>=1&&f(se.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),m.next(),I=d(_,2,"{"),R(m),_.braceNest++,I;case"}":return _.braceNest>0&&_.currentType===2&&f(se.EMPTY_PLACEHOLDER,r(),0),m.next(),I=d(_,3,"}"),_.braceNest--,_.braceNest>0&&R(m),_.inLinked&&_.braceNest===0&&(_.inLinked=!1),I;case"@":return _.braceNest>0&&f(se.UNTERMINATED_CLOSING_BRACE,r(),0),I=D(m,_)||g(_),_.braceNest=0,I;default:{let Y=!0,H=!0,k=!0;if(M(m))return _.braceNest>0&&f(se.UNTERMINATED_CLOSING_BRACE,r(),0),I=d(_,1,L(m)),_.braceNest=0,_.inLinked=!1,I;if(_.braceNest>0&&(_.currentType===5||_.currentType===6||_.currentType===7))return f(se.UNTERMINATED_CLOSING_BRACE,r(),0),_.braceNest=0,j(m,_);if(Y=h(m,_))return I=d(_,5,$t(m)),R(m),I;if(H=y(m,_))return I=d(_,6,ke(m)),R(m),I;if(k=S(m,_))return I=d(_,7,X(m)),R(m),I;if(!Y&&!H&&!k)return I=d(_,13,_e(m)),f(se.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,I.value),R(m),I;break}}return I}function D(m,_){const{currentType:I}=_;let x=null;const Y=m.currentChar();switch((I===8||I===9||I===12||I===10)&&(Y===rt||Y===Yt)&&f(se.INVALID_LINKED_FORMAT,r(),0),Y){case"@":return m.next(),x=d(_,8,"@"),_.inLinked=!0,x;case".":return R(m),m.next(),d(_,9,".");case":":return R(m),m.next(),d(_,10,":");default:return M(m)?(x=d(_,1,L(m)),_.braceNest=0,_.inLinked=!1,x):v(m,_)||N(m,_)?(R(m),D(m,_)):P(m,_)?(R(m),d(_,12,E(m))):T(m,_)?(R(m),Y==="{"?V(m,_)||x:d(_,11,p(m))):(I===8&&f(se.INVALID_LINKED_FORMAT,r(),0),_.braceNest=0,_.inLinked=!1,j(m,_))}}function j(m,_){let I={type:14};if(_.braceNest>0)return V(m,_)||g(_);if(_.inLinked)return D(m,_)||g(_);switch(m.currentChar()){case"{":return V(m,_)||g(_);case"}":return f(se.UNBALANCED_CLOSING_BRACE,r(),0),m.next(),d(_,3,"}");case"@":return D(m,_)||g(_);default:{if(M(m))return I=d(_,1,L(m)),_.braceNest=0,_.inLinked=!1,I;const{isModulo:Y,hasSpace:H}=U(m);if(Y)return H?d(_,0,ht(m)):d(_,4,St(m));if(w(m))return d(_,0,ht(m));break}}return I}function G(){const{currentType:m,offset:_,startLoc:I,endLoc:x}=a;return a.lastType=m,a.lastOffset=_,a.lastStartLoc=I,a.lastEndLoc=x,a.offset=i(),a.startLoc=r(),s.currentChar()===dn?d(a,14):j(s,a)}return{nextToken:G,currentOffset:i,currentPosition:r,context:c}}const Wb="parser",jb=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Kb(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const s=parseInt(t||n,16);return s<=55295||s>=57344?String.fromCodePoint(s):"�"}}}function Gb(e={}){const t=e.location!==!1,{onError:n,onWarn:s}=e;function i(h,y,S,v,...P){const N=h.currentPosition();if(N.offset+=v,N.column+=v,n){const T=t?Li(S,N):null,M=$s(y,T,{domain:Wb,args:P});n(M)}}function r(h,y,S,v,...P){const N=h.currentPosition();if(N.offset+=v,N.column+=v,s){const T=t?Li(S,N):null;s(wb(y,T,P))}}function o(h,y,S){const v={type:h};return t&&(v.start=y,v.end=y,v.loc={start:S,end:S}),v}function l(h,y,S,v){v&&(h.type=v),t&&(h.end=y,h.loc&&(h.loc.end=S))}function a(h,y){const S=h.context(),v=o(3,S.offset,S.startLoc);return v.value=y,l(v,h.currentOffset(),h.currentPosition()),v}function c(h,y){const S=h.context(),{lastOffset:v,lastStartLoc:P}=S,N=o(5,v,P);return N.index=parseInt(y,10),h.nextToken(),l(N,h.currentOffset(),h.currentPosition()),N}function u(h,y,S){const v=h.context(),{lastOffset:P,lastStartLoc:N}=v,T=o(4,P,N);return T.key=y,S===!0&&(T.modulo=!0),h.nextToken(),l(T,h.currentOffset(),h.currentPosition()),T}function f(h,y){const S=h.context(),{lastOffset:v,lastStartLoc:P}=S,N=o(9,v,P);return N.value=y.replace(jb,Kb),h.nextToken(),l(N,h.currentOffset(),h.currentPosition()),N}function d(h){const y=h.nextToken(),S=h.context(),{lastOffset:v,lastStartLoc:P}=S,N=o(8,v,P);return y.type!==12?(i(h,se.UNEXPECTED_EMPTY_LINKED_MODIFIER,S.lastStartLoc,0),N.value="",l(N,v,P),{nextConsumeToken:y,node:N}):(y.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Rt(y)),N.value=y.value||"",l(N,h.currentOffset(),h.currentPosition()),{node:N})}function g(h,y){const S=h.context(),v=o(7,S.offset,S.startLoc);return v.value=y,l(v,h.currentOffset(),h.currentPosition()),v}function b(h){const y=h.context(),S=o(6,y.offset,y.startLoc);let v=h.nextToken();if(v.type===9){const P=d(h);S.modifier=P.node,v=P.nextConsumeToken||h.nextToken()}switch(v.type!==10&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(v)),v=h.nextToken(),v.type===2&&(v=h.nextToken()),v.type){case 11:v.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(v)),S.key=g(h,v.value||"");break;case 5:v.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(v)),S.key=u(h,v.value||"");break;case 6:v.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(v)),S.key=c(h,v.value||"");break;case 7:v.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(v)),S.key=f(h,v.value||"");break;default:{i(h,se.UNEXPECTED_EMPTY_LINKED_KEY,y.lastStartLoc,0);const P=h.context(),N=o(7,P.offset,P.startLoc);return N.value="",l(N,P.offset,P.startLoc),S.key=N,l(S,P.offset,P.startLoc),{nextConsumeToken:v,node:S}}}return l(S,h.currentOffset(),h.currentPosition()),{node:S}}function O(h){const y=h.context(),S=y.currentType===1?h.currentOffset():y.offset,v=y.currentType===1?y.endLoc:y.startLoc,P=o(2,S,v);P.items=[];let N=null,T=null;do{const w=N||h.nextToken();switch(N=null,w.type){case 0:w.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(w)),P.items.push(a(h,w.value||""));break;case 6:w.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(w)),P.items.push(c(h,w.value||""));break;case 4:T=!0;break;case 5:w.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(w)),P.items.push(u(h,w.value||"",!!T)),T&&(r(h,Oa.USE_MODULO_SYNTAX,y.lastStartLoc,0,Rt(w)),T=null);break;case 7:w.value==null&&i(h,se.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Rt(w)),P.items.push(f(h,w.value||""));break;case 8:{const B=b(h);P.items.push(B.node),N=B.nextConsumeToken||null;break}}}while(y.currentType!==14&&y.currentType!==1);const M=y.currentType===1?y.lastOffset:h.currentOffset(),U=y.currentType===1?y.lastEndLoc:h.currentPosition();return l(P,M,U),P}function R(h,y,S,v){const P=h.context();let N=v.items.length===0;const T=o(1,y,S);T.cases=[],T.cases.push(v);do{const M=O(h);N||(N=M.items.length===0),T.cases.push(M)}while(P.currentType!==14);return N&&i(h,se.MUST_HAVE_MESSAGES_IN_PLURAL,S,0),l(T,h.currentOffset(),h.currentPosition()),T}function A(h){const y=h.context(),{offset:S,startLoc:v}=y,P=O(h);return y.currentType===14?P:R(h,S,v,P)}function C(h){const y=Bb(h,Ap({},e)),S=y.context(),v=o(0,S.offset,S.startLoc);return t&&v.loc&&(v.loc.source=h),v.body=A(y),e.onCacheKey&&(v.cacheKey=e.onCacheKey(h)),S.currentType!==14&&i(y,se.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,h[S.offset]||""),l(v,y.currentOffset(),y.currentPosition()),v}return{parse:C}}function Rt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Yb(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:r=>(n.helpers.add(r),r)}}function fu(e,t){for(let n=0;n<e.length;n++)La(e[n],t)}function La(e,t){switch(e.type){case 1:fu(e.cases,t),t.helper("plural");break;case 2:fu(e.items,t);break;case 6:{La(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function qb(e,t={}){const n=Yb(e);n.helper("normalize"),e.body&&La(e.body,n);const s=n.context();e.helpers=Array.from(s.helpers)}function Xb(e){const t=e.body;return t.type===2?du(t):t.cases.forEach(n=>du(n)),e}function du(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;n<e.items.length;n++){const s=e.items[n];if(!(s.type===3||s.type===9)||s.value==null)break;t.push(s.value)}if(t.length===e.items.length){e.static=Op(t);for(let n=0;n<e.items.length;n++){const s=e.items[n];(s.type===3||s.type===9)&&delete s.value}}}}const Jb="minifier";function ds(e){switch(e.t=e.type,e.type){case 0:{const t=e;ds(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,n=t.cases;for(let s=0;s<n.length;s++)ds(n[s]);t.c=n,delete t.cases;break}case 2:{const t=e,n=t.items;for(let s=0;s<n.length;s++)ds(n[s]);t.i=n,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;ds(t.key),t.k=t.key,delete t.key,t.modifier&&(ds(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}default:throw $s(se.UNHANDLED_MINIFIER_NODE_TYPE,null,{domain:Jb,args:[e.type]})}delete e.type}const Qb="parser";function Zb(e,t){const{sourceMap:n,filename:s,breakLineCode:i,needIndent:r}=t,o=t.location!==!1,l={filename:s,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:i,needIndent:r,indentLevel:0};o&&e.loc&&(l.source=e.loc.source);const a=()=>l;function c(R,A){l.code+=R}function u(R,A=!0){const C=A?i:"";c(r?C+"  ".repeat(R):C)}function f(R=!0){const A=++l.indentLevel;R&&u(A)}function d(R=!0){const A=--l.indentLevel;R&&u(A)}function g(){u(l.indentLevel)}return{context:a,push:c,indent:f,deindent:d,newline:g,helper:R=>`_${R}`,needIndent:()=>l.needIndent}}function zb(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Ps(e,t.key),t.modifier?(e.push(", "),Ps(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function ev(e,t){const{helper:n,needIndent:s}=e;e.push(`${n("normalize")}([`),e.indent(s());const i=t.items.length;for(let r=0;r<i&&(Ps(e,t.items[r]),r!==i-1);r++)e.push(", ");e.deindent(s()),e.push("])")}function tv(e,t){const{helper:n,needIndent:s}=e;if(t.cases.length>1){e.push(`${n("plural")}([`),e.indent(s());const i=t.cases.length;for(let r=0;r<i&&(Ps(e,t.cases[r]),r!==i-1);r++)e.push(", ");e.deindent(s()),e.push("])")}}function nv(e,t){t.body?Ps(e,t.body):e.push("null")}function Ps(e,t){const{helper:n}=e;switch(t.type){case 0:nv(e,t);break;case 1:tv(e,t);break;case 2:ev(e,t);break;case 6:zb(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${n("interpolate")}(${n("list")}(${t.index}))`,t);break;case 4:e.push(`${n("interpolate")}(${n("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break;default:throw $s(se.UNHANDLED_CODEGEN_NODE_TYPE,null,{domain:Qb,args:[t.type]})}}const sv=(e,t={})=>{const n=cu(t.mode)?t.mode:"normal",s=cu(t.filename)?t.filename:"message.intl",i=!!t.sourceMap,r=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":`
-`,o=t.needIndent?t.needIndent:n!=="arrow",l=e.helpers||[],a=Zb(e,{mode:n,filename:s,sourceMap:i,breakLineCode:r,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),l.length>0&&(a.push(`const { ${Op(l.map(f=>`${f}: _${f}`),", ")} } = ctx`),a.newline()),a.push("return "),Ps(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:c,map:u}=a.context();return{ast:e,code:c,map:u?u.toJSON():void 0}};function rv(e,t={}){const n=Ap({},t),s=!!n.jit,i=!!n.minify,r=n.optimize==null?!0:n.optimize,l=Gb(n).parse(e);return s?(r&&Xb(l),i&&ds(l),{ast:l,code:""}):(qb(l,n),sv(l,n))}/*!
-  * core-base v9.13.1
-  * (c) 2024 kazuya kawaguchi
-  * Released under the MIT License.
-  */function iv(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Zt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Zt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Zt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}const Fn=[];Fn[0]={w:[0],i:[3,0],"[":[4],o:[7]};Fn[1]={w:[1],".":[2],"[":[4],o:[7]};Fn[2]={w:[2],i:[3,0],0:[3,0]};Fn[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};Fn[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};Fn[5]={"'":[4,0],o:8,l:[5,0]};Fn[6]={'"':[4,0],o:8,l:[6,0]};const ov=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function lv(e){return ov.test(e)}function av(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function cv(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function uv(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:lv(t)?av(t):"*"+t}function fv(e){const t=[];let n=-1,s=0,i=0,r,o,l,a,c,u,f;const d=[];d[0]=()=>{o===void 0?o=l:o+=l},d[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},d[2]=()=>{d[0](),i++},d[3]=()=>{if(i>0)i--,s=4,d[0]();else{if(i=0,o===void 0||(o=uv(o),o===!1))return!1;d[1]()}};function g(){const b=e[n+1];if(s===5&&b==="'"||s===6&&b==='"')return n++,l="\\"+b,d[0](),!0}for(;s!==null;)if(n++,r=e[n],!(r==="\\"&&g())){if(a=cv(r),f=Fn[s],c=f[a]||f.l||8,c===8||(s=c[0],c[1]!==void 0&&(u=d[c[1]],u&&(l=r,u()===!1))))return;if(s===7)return t}}const hu=new Map;function dv(e,t){return ye(e)?e[t]:null}function hv(e,t){if(!ye(e))return null;let n=hu.get(t);if(n||(n=fv(t),n&&hu.set(t,n)),!n)return null;const s=n.length;let i=e,r=0;for(;r<s;){const o=i[n[r]];if(o===void 0||Ce(i))return null;i=o,r++}return i}const pv=e=>e,mv=e=>"",gv="text",_v=e=>e.length===0?"":Ab(e),yv=Ib;function pu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Ev(e){const t=We(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(We(e.named.count)||We(e.named.n))?We(e.named.count)?e.named.count:We(e.named.n)?e.named.n:t:t}function bv(e,t){t.count||(t.count=e),t.n||(t.n=e)}function vv(e={}){const t=e.locale,n=Ev(e),s=ye(e.pluralRules)&&q(t)&&Ce(e.pluralRules[t])?e.pluralRules[t]:pu,i=ye(e.pluralRules)&&q(t)&&Ce(e.pluralRules[t])?pu:void 0,r=A=>A[s(n,A.length,i)],o=e.list||[],l=A=>o[A],a=e.named||{};We(e.pluralIndex)&&bv(n,a);const c=A=>a[A];function u(A){const C=Ce(e.messages)?e.messages(A):ye(e.messages)?e.messages[A]:!1;return C||(e.parent?e.parent.message(A):mv)}const f=A=>e.modifiers?e.modifiers[A]:pv,d=oe(e.processor)&&Ce(e.processor.normalize)?e.processor.normalize:_v,g=oe(e.processor)&&Ce(e.processor.interpolate)?e.processor.interpolate:yv,b=oe(e.processor)&&q(e.processor.type)?e.processor.type:gv,R={list:l,named:c,plural:r,linked:(A,...C)=>{const[h,y]=C;let S="text",v="";C.length===1?ye(h)?(v=h.modifier||v,S=h.type||S):q(h)&&(v=h||v):C.length===2&&(q(h)&&(v=h||v),q(y)&&(S=y||S));const P=u(A)(R),N=S==="vnode"&&Ie(P)&&v?P[0]:P;return v?f(v)(N,S):N},message:u,type:b,interpolate:g,normalize:d,values:Je({},o,a)};return R}let mr=null;function Sv(e){mr=e}function Tv(e,t,n){mr&&mr.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Cv=Nv("function:translate");function Nv(e){return t=>mr&&mr.emit(e,t)}const Lp=Oa.__EXTEND_POINT__,$n=co(Lp),Iv={NOT_FOUND_KEY:Lp,FALLBACK_TO_TRANSLATE:$n(),CANNOT_FORMAT_NUMBER:$n(),FALLBACK_TO_NUMBER_FORMAT:$n(),CANNOT_FORMAT_DATE:$n(),FALLBACK_TO_DATE_FORMAT:$n(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:$n(),__EXTEND_POINT__:$n()},Rp=se.__EXTEND_POINT__,Vn=co(Rp),wt={INVALID_ARGUMENT:Rp,INVALID_DATE_ARGUMENT:Vn(),INVALID_ISO_DATE_ARGUMENT:Vn(),NOT_SUPPORT_NON_STRING_MESSAGE:Vn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Vn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Vn(),NOT_SUPPORT_LOCALE_TYPE:Vn(),__EXTEND_POINT__:Vn()};function Bt(e){return $s(e,null,void 0)}function Ra(e,t){return t.locale!=null?mu(t.locale):mu(e.locale)}let Lo;function mu(e){if(q(e))return e;if(Ce(e)){if(e.resolvedOnce&&Lo!=null)return Lo;if(e.constructor.name==="Function"){const t=e();if(Nb(t))throw Bt(wt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Lo=t}else throw Bt(wt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Bt(wt.NOT_SUPPORT_LOCALE_TYPE)}function Av(e,t,n){return[...new Set([n,...Ie(t)?t:ye(t)?Object.keys(t):q(t)?[t]:[n]])]}function Pp(e,t,n){const s=q(n)?n:ks,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let r=i.__localeChainCache.get(s);if(!r){r=[];let o=[n];for(;Ie(o);)o=gu(r,o,t);const l=Ie(t)||!oe(t)?t:t.default?t.default:null;o=q(l)?[l]:l,Ie(o)&&gu(r,o,!1),i.__localeChainCache.set(s,r)}return r}function gu(e,t,n){let s=!0;for(let i=0;i<t.length&&ce(s);i++){const r=t[i];q(r)&&(s=Ov(e,t[i],n))}return s}function Ov(e,t,n){let s;const i=t.split("-");do{const r=i.join("-");s=Lv(e,r,n),i.splice(-1,1)}while(i.length&&s===!0);return s}function Lv(e,t,n){let s=!1;if(!e.includes(t)&&(s=!0,t)){s=t[t.length-1]!=="!";const i=t.replace(/!/g,"");e.push(i),(Ie(n)||oe(n))&&n[i]&&(s=n[i])}return s}const Rv="9.13.1",uo=-1,ks="en-US",_u="",yu=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Pv(){return{upper:(e,t)=>t==="text"&&q(e)?e.toUpperCase():t==="vnode"&&ye(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&q(e)?e.toLowerCase():t==="vnode"&&ye(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&q(e)?yu(e):t==="vnode"&&ye(e)&&"__v_isVNode"in e?yu(e.children):e}}let kp;function Eu(e){kp=e}let wp;function kv(e){wp=e}let Mp;function wv(e){Mp=e}let Fp=null;const Mv=e=>{Fp=e},Fv=()=>Fp;let Dp=null;const bu=e=>{Dp=e},Dv=()=>Dp;let vu=0;function xv(e={}){const t=Ce(e.onWarn)?e.onWarn:Ob,n=q(e.version)?e.version:Rv,s=q(e.locale)||Ce(e.locale)?e.locale:ks,i=Ce(s)?ks:s,r=Ie(e.fallbackLocale)||oe(e.fallbackLocale)||q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i,o=oe(e.messages)?e.messages:{[i]:{}},l=oe(e.datetimeFormats)?e.datetimeFormats:{[i]:{}},a=oe(e.numberFormats)?e.numberFormats:{[i]:{}},c=Je({},e.modifiers||{},Pv()),u=e.pluralRules||{},f=Ce(e.missing)?e.missing:null,d=ce(e.missingWarn)||On(e.missingWarn)?e.missingWarn:!0,g=ce(e.fallbackWarn)||On(e.fallbackWarn)?e.fallbackWarn:!0,b=!!e.fallbackFormat,O=!!e.unresolving,R=Ce(e.postTranslation)?e.postTranslation:null,A=oe(e.processor)?e.processor:null,C=ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter,y=Ce(e.messageCompiler)?e.messageCompiler:kp,S=Ce(e.messageResolver)?e.messageResolver:wp||dv,v=Ce(e.localeFallbacker)?e.localeFallbacker:Mp||Av,P=ye(e.fallbackContext)?e.fallbackContext:void 0,N=e,T=ye(N.__datetimeFormatters)?N.__datetimeFormatters:new Map,M=ye(N.__numberFormatters)?N.__numberFormatters:new Map,U=ye(N.__meta)?N.__meta:{};vu++;const w={version:n,cid:vu,locale:s,fallbackLocale:r,messages:o,modifiers:c,pluralRules:u,missing:f,missingWarn:d,fallbackWarn:g,fallbackFormat:b,unresolving:O,postTranslation:R,processor:A,warnHtmlMessage:C,escapeParameter:h,messageCompiler:y,messageResolver:S,localeFallbacker:v,fallbackContext:P,onWarn:t,__meta:U};return w.datetimeFormats=l,w.numberFormats=a,w.__datetimeFormatters=T,w.__numberFormatters=M,__INTLIFY_PROD_DEVTOOLS__&&Tv(w,n,U),w}function Pa(e,t,n,s,i){const{missing:r,onWarn:o}=e;if(r!==null){const l=r(e,n,t,i);return q(l)?l:t}else return t}function Bs(e,t,n){const s=e;s.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function $v(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Vv(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let s=n+1;s<t.length;s++)if($v(e,t[s]))return!0;return!1}function Ro(e){return n=>Uv(n,e)}function Uv(e,t){const n=t.b||t.body;if((n.t||n.type)===1){const s=n,i=s.c||s.cases;return e.plural(i.reduce((r,o)=>[...r,Su(e,o)],[]))}else return Su(e,n)}function Su(e,t){const n=t.s||t.static;if(n)return e.type==="text"?n:e.normalize([n]);{const s=(t.i||t.items).reduce((i,r)=>[...i,al(e,r)],[]);return e.normalize(s)}}function al(e,t){const n=t.t||t.type;switch(n){case 3:{const s=t;return s.v||s.value}case 9:{const s=t;return s.v||s.value}case 4:{const s=t;return e.interpolate(e.named(s.k||s.key))}case 5:{const s=t;return e.interpolate(e.list(s.i!=null?s.i:s.index))}case 6:{const s=t,i=s.m||s.modifier;return e.linked(al(e,s.k||s.key),i?al(e,i):void 0,e.type)}case 7:{const s=t;return s.v||s.value}case 8:{const s=t;return s.v||s.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const xp=e=>e;let hs=Object.create(null);const ws=e=>ye(e)&&(e.t===0||e.type===0)&&("b"in e||"body"in e);function $p(e,t={}){let n=!1;const s=t.onError||Fb;return t.onError=i=>{n=!0,s(i)},{...rv(e,t),detectError:n}}const Hv=(e,t)=>{if(!q(e))throw Bt(wt.NOT_SUPPORT_NON_STRING_MESSAGE);{ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const s=(t.onCacheKey||xp)(e),i=hs[s];if(i)return i;const{code:r,detectError:o}=$p(e,t),l=new Function(`return ${r}`)();return o?l:hs[s]=l}};function Bv(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&q(e)){ce(t.warnHtmlMessage)&&t.warnHtmlMessage;const s=(t.onCacheKey||xp)(e),i=hs[s];if(i)return i;const{ast:r,detectError:o}=$p(e,{...t,location:!1,jit:!0}),l=Ro(r);return o?l:hs[s]=l}else{const n=e.cacheKey;if(n){const s=hs[n];return s||(hs[n]=Ro(e))}else return Ro(e)}}const Tu=()=>"",Ct=e=>Ce(e);function Cu(e,...t){const{fallbackFormat:n,postTranslation:s,unresolving:i,messageCompiler:r,fallbackLocale:o,messages:l}=e,[a,c]=cl(...t),u=ce(c.missingWarn)?c.missingWarn:e.missingWarn,f=ce(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,d=ce(c.escapeParameter)?c.escapeParameter:e.escapeParameter,g=!!c.resolvedMessage,b=q(c.default)||ce(c.default)?ce(c.default)?r?a:()=>a:c.default:n?r?a:()=>a:"",O=n||b!=="",R=Ra(e,c);d&&Wv(c);let[A,C,h]=g?[a,R,l[R]||{}]:Vp(e,a,R,o,f,u),y=A,S=a;if(!g&&!(q(y)||ws(y)||Ct(y))&&O&&(y=b,S=y),!g&&(!(q(y)||ws(y)||Ct(y))||!q(C)))return i?uo:a;let v=!1;const P=()=>{v=!0},N=Ct(y)?y:Up(e,a,C,y,S,P);if(v)return y;const T=Gv(e,C,h,c),M=vv(T),U=jv(e,N,M),w=s?s(U,a):U;if(__INTLIFY_PROD_DEVTOOLS__){const B={timestamp:Date.now(),key:q(a)?a:Ct(y)?y.key:"",locale:C||(Ct(y)?y.locale:""),format:q(y)?y:Ct(y)?y.source:"",message:w};B.meta=Je({},e.__meta,Fv()||{}),Cv(B)}return w}function Wv(e){Ie(e.list)?e.list=e.list.map(t=>q(t)?au(t):t):ye(e.named)&&Object.keys(e.named).forEach(t=>{q(e.named[t])&&(e.named[t]=au(e.named[t]))})}function Vp(e,t,n,s,i,r){const{messages:o,onWarn:l,messageResolver:a,localeFallbacker:c}=e,u=c(e,s,n);let f={},d,g=null;const b="translate";for(let O=0;O<u.length&&(d=u[O],f=o[d]||{},(g=a(f,t))===null&&(g=f[t]),!(q(g)||ws(g)||Ct(g)));O++)if(!Vv(d,u)){const R=Pa(e,t,d,r,b);R!==t&&(g=R)}return[g,d,f]}function Up(e,t,n,s,i,r){const{messageCompiler:o,warnHtmlMessage:l}=e;if(Ct(s)){const c=s;return c.locale=c.locale||n,c.key=c.key||t,c}if(o==null){const c=()=>s;return c.locale=n,c.key=t,c}const a=o(s,Kv(e,n,i,s,l,r));return a.locale=n,a.key=t,a.source=s,a}function jv(e,t,n){return t(n)}function cl(...e){const[t,n,s]=e,i={};if(!q(t)&&!We(t)&&!Ct(t)&&!ws(t))throw Bt(wt.INVALID_ARGUMENT);const r=We(t)?String(t):(Ct(t),t);return We(n)?i.plural=n:q(n)?i.default=n:oe(n)&&!ao(n)?i.named=n:Ie(n)&&(i.list=n),We(s)?i.plural=s:q(s)?i.default=s:oe(s)&&Je(i,s),[r,i]}function Kv(e,t,n,s,i,r){return{locale:t,key:n,warnHtmlMessage:i,onError:o=>{throw r&&r(o),o},onCacheKey:o=>vb(t,n,o)}}function Gv(e,t,n,s){const{modifiers:i,pluralRules:r,messageResolver:o,fallbackLocale:l,fallbackWarn:a,missingWarn:c,fallbackContext:u}=e,d={locale:t,modifiers:i,pluralRules:r,messages:g=>{let b=o(n,g);if(b==null&&u){const[,,O]=Vp(u,g,t,l,a,c);b=o(O,g)}if(q(b)||ws(b)){let O=!1;const A=Up(e,g,t,b,g,()=>{O=!0});return O?Tu:A}else return Ct(b)?b:Tu}};return e.processor&&(d.processor=e.processor),s.list&&(d.list=s.list),s.named&&(d.named=s.named),We(s.plural)&&(d.pluralIndex=s.plural),d}function Nu(e,...t){const{datetimeFormats:n,unresolving:s,fallbackLocale:i,onWarn:r,localeFallbacker:o}=e,{__datetimeFormatters:l}=e,[a,c,u,f]=ul(...t),d=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const g=!!u.part,b=Ra(e,u),O=o(e,i,b);if(!q(a)||a==="")return new Intl.DateTimeFormat(b,f).format(c);let R={},A,C=null;const h="datetime format";for(let v=0;v<O.length&&(A=O[v],R=n[A]||{},C=R[a],!oe(C));v++)Pa(e,a,A,d,h);if(!oe(C)||!q(A))return s?uo:a;let y=`${A}__${a}`;ao(f)||(y=`${y}__${JSON.stringify(f)}`);let S=l.get(y);return S||(S=new Intl.DateTimeFormat(A,Je({},C,f)),l.set(y,S)),g?S.formatToParts(c):S.format(c)}const Hp=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function ul(...e){const[t,n,s,i]=e,r={};let o={},l;if(q(t)){const a=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!a)throw Bt(wt.INVALID_ISO_DATE_ARGUMENT);const c=a[3]?a[3].trim().startsWith("T")?`${a[1].trim()}${a[3].trim()}`:`${a[1].trim()}T${a[3].trim()}`:a[1].trim();l=new Date(c);try{l.toISOString()}catch{throw Bt(wt.INVALID_ISO_DATE_ARGUMENT)}}else if(Tb(t)){if(isNaN(t.getTime()))throw Bt(wt.INVALID_DATE_ARGUMENT);l=t}else if(We(t))l=t;else throw Bt(wt.INVALID_ARGUMENT);return q(n)?r.key=n:oe(n)&&Object.keys(n).forEach(a=>{Hp.includes(a)?o[a]=n[a]:r[a]=n[a]}),q(s)?r.locale=s:oe(s)&&(o=s),oe(i)&&(o=i),[r.key||"",l,r,o]}function Iu(e,t,n){const s=e;for(const i in n){const r=`${t}__${i}`;s.__datetimeFormatters.has(r)&&s.__datetimeFormatters.delete(r)}}function Au(e,...t){const{numberFormats:n,unresolving:s,fallbackLocale:i,onWarn:r,localeFallbacker:o}=e,{__numberFormatters:l}=e,[a,c,u,f]=fl(...t),d=ce(u.missingWarn)?u.missingWarn:e.missingWarn;ce(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const g=!!u.part,b=Ra(e,u),O=o(e,i,b);if(!q(a)||a==="")return new Intl.NumberFormat(b,f).format(c);let R={},A,C=null;const h="number format";for(let v=0;v<O.length&&(A=O[v],R=n[A]||{},C=R[a],!oe(C));v++)Pa(e,a,A,d,h);if(!oe(C)||!q(A))return s?uo:a;let y=`${A}__${a}`;ao(f)||(y=`${y}__${JSON.stringify(f)}`);let S=l.get(y);return S||(S=new Intl.NumberFormat(A,Je({},C,f)),l.set(y,S)),g?S.formatToParts(c):S.format(c)}const Bp=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function fl(...e){const[t,n,s,i]=e,r={};let o={};if(!We(t))throw Bt(wt.INVALID_ARGUMENT);const l=t;return q(n)?r.key=n:oe(n)&&Object.keys(n).forEach(a=>{Bp.includes(a)?o[a]=n[a]:r[a]=n[a]}),q(s)?r.locale=s:oe(s)&&(o=s),oe(i)&&(o=i),[r.key||"",l,r,o]}function Ou(e,t,n){const s=e;for(const i in n){const r=`${t}__${i}`;s.__numberFormatters.has(r)&&s.__numberFormatters.delete(r)}}iv();/*!
-  * vue-i18n v9.13.1
-  * (c) 2024 kazuya kawaguchi
-  * Released under the MIT License.
-  */const Yv="9.13.1";function qv(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Zt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Zt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Zt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Zt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Zt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Wp=Iv.__EXTEND_POINT__,qt=co(Wp);qt(),qt(),qt(),qt(),qt(),qt(),qt(),qt(),qt();const jp=wt.__EXTEND_POINT__,it=co(jp),je={UNEXPECTED_RETURN_TYPE:jp,INVALID_ARGUMENT:it(),MUST_BE_CALL_SETUP_TOP:it(),NOT_INSTALLED:it(),NOT_AVAILABLE_IN_LEGACY_MODE:it(),REQUIRED_VALUE:it(),INVALID_VALUE:it(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:it(),NOT_INSTALLED_WITH_PROVIDE:it(),UNEXPECTED_ERROR:it(),NOT_COMPATIBLE_LEGACY_VUE_I18N:it(),BRIDGE_SUPPORT_VUE_2_ONLY:it(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:it(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:it(),__EXTEND_POINT__:it()};function Ye(e,...t){return $s(e,null,void 0)}const dl=Mn("__translateVNode"),hl=Mn("__datetimeParts"),pl=Mn("__numberParts"),Kp=Mn("__setPluralRules"),Gp=Mn("__injectWithOption"),ml=Mn("__dispose");function gr(e){if(!ye(e))return e;for(const t in e)if(Oi(e,t))if(!t.includes("."))ye(e[t])&&gr(e[t]);else{const n=t.split("."),s=n.length-1;let i=e,r=!1;for(let o=0;o<s;o++){if(n[o]in i||(i[n[o]]={}),!ye(i[n[o]])){r=!0;break}i=i[n[o]]}r||(i[n[s]]=e[t],delete e[t]),ye(i[n[s]])&&gr(i[n[s]])}return e}function fo(e,t){const{messages:n,__i18n:s,messageResolver:i,flatJson:r}=t,o=oe(n)?n:Ie(s)?{}:{[e]:{}};if(Ie(s)&&s.forEach(l=>{if("locale"in l&&"resource"in l){const{locale:a,resource:c}=l;a?(o[a]=o[a]||{},ii(c,o[a])):ii(c,o)}else q(l)&&ii(JSON.parse(l),o)}),i==null&&r)for(const l in o)Oi(o,l)&&gr(o[l]);return o}function Yp(e){return e.type}function qp(e,t,n){let s=ye(t.messages)?t.messages:{};"__i18nGlobal"in n&&(s=fo(e.locale.value,{messages:s,__i18n:n.__i18nGlobal}));const i=Object.keys(s);i.length&&i.forEach(r=>{e.mergeLocaleMessage(r,s[r])});{if(ye(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(o=>{e.mergeDateTimeFormat(o,t.datetimeFormats[o])})}if(ye(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(o=>{e.mergeNumberFormat(o,t.numberFormats[o])})}}}function Lu(e){return Se(nn,null,e,0)}const Ru="__INTLIFY_META__",Pu=()=>[],Xv=()=>!1;let ku=0;function wu(e){return(t,n,s,i)=>e(n,s,nt()||void 0,i)}const Jv=()=>{const e=nt();let t=null;return e&&(t=Yp(e)[Ru])?{[Ru]:t}:null};function ka(e={},t){const{__root:n,__injectWithOption:s}=e,i=n===void 0,r=e.flatJson,o=Ai?xe:vr,l=!!e.translateExistCompatible;let a=ce(e.inheritLocale)?e.inheritLocale:!0;const c=o(n&&a?n.locale.value:q(e.locale)?e.locale:ks),u=o(n&&a?n.fallbackLocale.value:q(e.fallbackLocale)||Ie(e.fallbackLocale)||oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=o(fo(c.value,e)),d=o(oe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),g=o(oe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let b=n?n.missingWarn:ce(e.missingWarn)||On(e.missingWarn)?e.missingWarn:!0,O=n?n.fallbackWarn:ce(e.fallbackWarn)||On(e.fallbackWarn)?e.fallbackWarn:!0,R=n?n.fallbackRoot:ce(e.fallbackRoot)?e.fallbackRoot:!0,A=!!e.fallbackFormat,C=Ce(e.missing)?e.missing:null,h=Ce(e.missing)?wu(e.missing):null,y=Ce(e.postTranslation)?e.postTranslation:null,S=n?n.warnHtmlMessage:ce(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter;const P=n?n.modifiers:oe(e.modifiers)?e.modifiers:{};let N=e.pluralRules||n&&n.pluralRules,T;T=(()=>{i&&bu(null);const k={version:Yv,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:P,pluralRules:N,missing:h===null?void 0:h,missingWarn:b,fallbackWarn:O,fallbackFormat:A,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:S,escapeParameter:v,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};k.datetimeFormats=d.value,k.numberFormats=g.value,k.__datetimeFormatters=oe(T)?T.__datetimeFormatters:void 0,k.__numberFormatters=oe(T)?T.__numberFormatters:void 0;const F=xv(k);return i&&bu(F),F})(),Bs(T,c.value,u.value);function U(){return[c.value,u.value,f.value,d.value,g.value]}const w=Ne({get:()=>c.value,set:k=>{c.value=k,T.locale=c.value}}),B=Ne({get:()=>u.value,set:k=>{u.value=k,T.fallbackLocale=u.value,Bs(T,c.value,k)}}),te=Ne(()=>f.value),z=Ne(()=>d.value),W=Ne(()=>g.value);function ee(){return Ce(y)?y:null}function Q(k){y=k,T.postTranslation=k}function Fe(){return C}function Ke(k){k!==null&&(h=wu(k)),C=k,T.missing=h}const Te=(k,F,ne,ie,ve,Qe)=>{U();let pt;try{__INTLIFY_PROD_DEVTOOLS__,i||(T.fallbackContext=n?Dv():void 0),pt=k(T)}finally{__INTLIFY_PROD_DEVTOOLS__,i||(T.fallbackContext=void 0)}if(ne!=="translate exists"&&We(pt)&&pt===uo||ne==="translate exists"&&!pt){const[Mr,ls]=F();return n&&R?ie(n):ve(Mr)}else{if(Qe(pt))return pt;throw Ye(je.UNEXPECTED_RETURN_TYPE)}};function Pe(...k){return Te(F=>Reflect.apply(Cu,null,[F,...k]),()=>cl(...k),"translate",F=>Reflect.apply(F.t,F,[...k]),F=>F,F=>q(F))}function St(...k){const[F,ne,ie]=k;if(ie&&!ye(ie))throw Ye(je.INVALID_ARGUMENT);return Pe(F,ne,Je({resolvedMessage:!0},ie||{}))}function ht(...k){return Te(F=>Reflect.apply(Nu,null,[F,...k]),()=>ul(...k),"datetime format",F=>Reflect.apply(F.d,F,[...k]),()=>_u,F=>q(F))}function $t(...k){return Te(F=>Reflect.apply(Au,null,[F,...k]),()=>fl(...k),"number format",F=>Reflect.apply(F.n,F,[...k]),()=>_u,F=>q(F))}function ke(k){return k.map(F=>q(F)||We(F)||ce(F)?Lu(String(F)):F)}const X={normalize:ke,interpolate:k=>k,type:"vnode"};function K(...k){return Te(F=>{let ne;const ie=F;try{ie.processor=X,ne=Reflect.apply(Cu,null,[ie,...k])}finally{ie.processor=null}return ne},()=>cl(...k),"translate",F=>F[dl](...k),F=>[Lu(F)],F=>Ie(F))}function Z(...k){return Te(F=>Reflect.apply(Au,null,[F,...k]),()=>fl(...k),"number format",F=>F[pl](...k),Pu,F=>q(F)||Ie(F))}function ue(...k){return Te(F=>Reflect.apply(Nu,null,[F,...k]),()=>ul(...k),"datetime format",F=>F[hl](...k),Pu,F=>q(F)||Ie(F))}function _e(k){N=k,T.pluralRules=N}function E(k,F){return Te(()=>{if(!k)return!1;const ne=q(F)?F:c.value,ie=V(ne),ve=T.messageResolver(ie,k);return l?ve!=null:ws(ve)||Ct(ve)||q(ve)},()=>[k],"translate exists",ne=>Reflect.apply(ne.te,ne,[k,F]),Xv,ne=>ce(ne))}function p(k){let F=null;const ne=Pp(T,u.value,c.value);for(let ie=0;ie<ne.length;ie++){const ve=f.value[ne[ie]]||{},Qe=T.messageResolver(ve,k);if(Qe!=null){F=Qe;break}}return F}function L(k){const F=p(k);return F??(n?n.tm(k)||{}:{})}function V(k){return f.value[k]||{}}function D(k,F){if(r){const ne={[k]:F};for(const ie in ne)Oi(ne,ie)&&gr(ne[ie]);F=ne[k]}f.value[k]=F,T.messages=f.value}function j(k,F){f.value[k]=f.value[k]||{};const ne={[k]:F};if(r)for(const ie in ne)Oi(ne,ie)&&gr(ne[ie]);F=ne[k],ii(F,f.value[k]),T.messages=f.value}function G(k){return d.value[k]||{}}function m(k,F){d.value[k]=F,T.datetimeFormats=d.value,Iu(T,k,F)}function _(k,F){d.value[k]=Je(d.value[k]||{},F),T.datetimeFormats=d.value,Iu(T,k,F)}function I(k){return g.value[k]||{}}function x(k,F){g.value[k]=F,T.numberFormats=g.value,Ou(T,k,F)}function Y(k,F){g.value[k]=Je(g.value[k]||{},F),T.numberFormats=g.value,Ou(T,k,F)}ku++,n&&Ai&&(At(n.locale,k=>{a&&(c.value=k,T.locale=k,Bs(T,c.value,u.value))}),At(n.fallbackLocale,k=>{a&&(u.value=k,T.fallbackLocale=k,Bs(T,c.value,u.value))}));const H={id:ku,locale:w,fallbackLocale:B,get inheritLocale(){return a},set inheritLocale(k){a=k,k&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Bs(T,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:te,get modifiers(){return P},get pluralRules(){return N||{}},get isGlobal(){return i},get missingWarn(){return b},set missingWarn(k){b=k,T.missingWarn=b},get fallbackWarn(){return O},set fallbackWarn(k){O=k,T.fallbackWarn=O},get fallbackRoot(){return R},set fallbackRoot(k){R=k},get fallbackFormat(){return A},set fallbackFormat(k){A=k,T.fallbackFormat=A},get warnHtmlMessage(){return S},set warnHtmlMessage(k){S=k,T.warnHtmlMessage=k},get escapeParameter(){return v},set escapeParameter(k){v=k,T.escapeParameter=k},t:Pe,getLocaleMessage:V,setLocaleMessage:D,mergeLocaleMessage:j,getPostTranslationHandler:ee,setPostTranslationHandler:Q,getMissingHandler:Fe,setMissingHandler:Ke,[Kp]:_e};return H.datetimeFormats=z,H.numberFormats=W,H.rt=St,H.te=E,H.tm=L,H.d=ht,H.n=$t,H.getDateTimeFormat=G,H.setDateTimeFormat=m,H.mergeDateTimeFormat=_,H.getNumberFormat=I,H.setNumberFormat=x,H.mergeNumberFormat=Y,H[Gp]=s,H[dl]=K,H[hl]=ue,H[pl]=Z,H}function Qv(e){const t=q(e.locale)?e.locale:ks,n=q(e.fallbackLocale)||Ie(e.fallbackLocale)||oe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,s=Ce(e.missing)?e.missing:void 0,i=ce(e.silentTranslationWarn)||On(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=ce(e.silentFallbackWarn)||On(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,o=ce(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,a=oe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ce(e.postTranslation)?e.postTranslation:void 0,f=q(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,d=!!e.escapeParameterHtml,g=ce(e.sync)?e.sync:!0;let b=e.messages;if(oe(e.sharedMessages)){const v=e.sharedMessages;b=Object.keys(v).reduce((N,T)=>{const M=N[T]||(N[T]={});return Je(M,v[T]),N},b||{})}const{__i18n:O,__root:R,__injectWithOption:A}=e,C=e.datetimeFormats,h=e.numberFormats,y=e.flatJson,S=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:b,flatJson:y,datetimeFormats:C,numberFormats:h,missing:s,missingWarn:i,fallbackWarn:r,fallbackRoot:o,fallbackFormat:l,modifiers:a,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:d,messageResolver:e.messageResolver,inheritLocale:g,translateExistCompatible:S,__i18n:O,__root:R,__injectWithOption:A}}function gl(e={},t){{const n=ka(Qv(e)),{__extender:s}=e,i={id:n.id,get locale(){return n.locale.value},set locale(r){n.locale.value=r},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(r){n.fallbackLocale.value=r},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return n.getMissingHandler()},set missing(r){n.setMissingHandler(r)},get silentTranslationWarn(){return ce(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(r){n.missingWarn=ce(r)?!r:r},get silentFallbackWarn(){return ce(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(r){n.fallbackWarn=ce(r)?!r:r},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(r){n.fallbackFormat=r},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(r){n.setPostTranslationHandler(r)},get sync(){return n.inheritLocale},set sync(r){n.inheritLocale=r},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){n.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(r){n.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...r){const[o,l,a]=r,c={};let u=null,f=null;if(!q(o))throw Ye(je.INVALID_ARGUMENT);const d=o;return q(l)?c.locale=l:Ie(l)?u=l:oe(l)&&(f=l),Ie(a)?u=a:oe(a)&&(f=a),Reflect.apply(n.t,n,[d,u||f||{},c])},rt(...r){return Reflect.apply(n.rt,n,[...r])},tc(...r){const[o,l,a]=r,c={plural:1};let u=null,f=null;if(!q(o))throw Ye(je.INVALID_ARGUMENT);const d=o;return q(l)?c.locale=l:We(l)?c.plural=l:Ie(l)?u=l:oe(l)&&(f=l),q(a)?c.locale=a:Ie(a)?u=a:oe(a)&&(f=a),Reflect.apply(n.t,n,[d,u||f||{},c])},te(r,o){return n.te(r,o)},tm(r){return n.tm(r)},getLocaleMessage(r){return n.getLocaleMessage(r)},setLocaleMessage(r,o){n.setLocaleMessage(r,o)},mergeLocaleMessage(r,o){n.mergeLocaleMessage(r,o)},d(...r){return Reflect.apply(n.d,n,[...r])},getDateTimeFormat(r){return n.getDateTimeFormat(r)},setDateTimeFormat(r,o){n.setDateTimeFormat(r,o)},mergeDateTimeFormat(r,o){n.mergeDateTimeFormat(r,o)},n(...r){return Reflect.apply(n.n,n,[...r])},getNumberFormat(r){return n.getNumberFormat(r)},setNumberFormat(r,o){n.setNumberFormat(r,o)},mergeNumberFormat(r,o){n.mergeNumberFormat(r,o)},getChoiceIndex(r,o){return-1}};return i.__extender=s,i}}const wa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Zv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((s,i)=>[...s,...i.type===De?i.children:[i]],[]):t.reduce((n,s)=>{const i=e[s];return i&&(n[s]=i()),n},{})}function Xp(e){return De}const zv=rn({name:"i18n-t",props:Je({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>We(e)||!isNaN(e)}},wa),setup(e,t){const{slots:n,attrs:s}=t,i=e.i18n||Ma({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(n).filter(f=>f!=="_"),o={};e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=q(e.plural)?+e.plural:e.plural);const l=Zv(t,r),a=i[dl](e.keypath,l,o),c=Je({},s),u=q(e.tag)||ye(e.tag)?e.tag:Xp();return os(u,c,a)}}}),Mu=zv;function eS(e){return Ie(e)&&!q(e[0])}function Jp(e,t,n,s){const{slots:i,attrs:r}=t;return()=>{const o={part:!0};let l={};e.locale&&(o.locale=e.locale),q(e.format)?o.key=e.format:ye(e.format)&&(q(e.format.key)&&(o.key=e.format.key),l=Object.keys(e.format).reduce((d,g)=>n.includes(g)?Je({},d,{[g]:e.format[g]}):d,{}));const a=s(e.value,o,l);let c=[o.key];Ie(a)?c=a.map((d,g)=>{const b=i[d.type],O=b?b({[d.type]:d.value,index:g,parts:a}):[d.value];return eS(O)&&(O[0].key=`${d.type}-${g}`),O}):q(a)&&(c=[a]);const u=Je({},r),f=q(e.tag)||ye(e.tag)?e.tag:Xp();return os(f,u,c)}}const tS=rn({name:"i18n-n",props:Je({value:{type:Number,required:!0},format:{type:[String,Object]}},wa),setup(e,t){const n=e.i18n||Ma({useScope:e.scope,__useComponent:!0});return Jp(e,t,Bp,(...s)=>n[pl](...s))}}),Fu=tS,nS=rn({name:"i18n-d",props:Je({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},wa),setup(e,t){const n=e.i18n||Ma({useScope:e.scope,__useComponent:!0});return Jp(e,t,Hp,(...s)=>n[hl](...s))}}),Du=nS;function sS(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const s=n.__getInstance(t);return s!=null?s.__composer:e.global.__composer}}function rS(e){const t=o=>{const{instance:l,modifiers:a,value:c}=o;if(!l||!l.$)throw Ye(je.UNEXPECTED_ERROR);const u=sS(e,l.$),f=xu(c);return[Reflect.apply(u.t,u,[...$u(f)]),u]};return{created:(o,l)=>{const[a,c]=t(l);Ai&&e.global===c&&(o.__i18nWatcher=At(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),o.__composer=c,o.textContent=a},unmounted:o=>{Ai&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:l})=>{if(o.__composer){const a=o.__composer,c=xu(l);o.textContent=Reflect.apply(a.t,a,[...$u(c)])}},getSSRProps:o=>{const[l]=t(o);return{textContent:l}}}}function xu(e){if(q(e))return{path:e};if(oe(e)){if(!("path"in e))throw Ye(je.REQUIRED_VALUE,"path");return e}else throw Ye(je.INVALID_VALUE)}function $u(e){const{path:t,locale:n,args:s,choice:i,plural:r}=e,o={},l=s||{};return q(n)&&(o.locale=n),We(i)&&(o.plural=i),We(r)&&(o.plural=r),[t,l,o]}function iS(e,t,...n){const s=oe(n[0])?n[0]:{},i=!!s.useI18nComponentName;(ce(s.globalInstall)?s.globalInstall:!0)&&([i?"i18n":Mu.name,"I18nT"].forEach(o=>e.component(o,Mu)),[Fu.name,"I18nN"].forEach(o=>e.component(o,Fu)),[Du.name,"I18nD"].forEach(o=>e.component(o,Du))),e.directive("t",rS(t))}function oS(e,t,n){return{beforeCreate(){const s=nt();if(!s)throw Ye(je.UNEXPECTED_ERROR);const i=this.$options;if(i.i18n){const r=i.i18n;if(i.__i18n&&(r.__i18n=i.__i18n),r.__root=t,this===this.$root)this.$i18n=Vu(e,r);else{r.__injectWithOption=!0,r.__extender=n.__vueI18nExtend,this.$i18n=gl(r);const o=this.$i18n;o.__extender&&(o.__disposer=o.__extender(this.$i18n))}}else if(i.__i18n)if(this===this.$root)this.$i18n=Vu(e,i);else{this.$i18n=gl({__i18n:i.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;i.__i18nGlobal&&qp(t,i,i),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,o)=>this.$i18n.te(r,o),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),n.__setInstance(s,this.$i18n)},mounted(){},unmounted(){const s=nt();if(!s)throw Ye(je.UNEXPECTED_ERROR);const i=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,i.__disposer&&(i.__disposer(),delete i.__disposer,delete i.__extender),n.__deleteInstance(s),delete this.$i18n}}}function Vu(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Kp](t.pluralizationRules||e.pluralizationRules);const n=fo(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(s=>e.mergeLocaleMessage(s,n[s])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(s=>e.mergeDateTimeFormat(s,t.datetimeFormats[s])),t.numberFormats&&Object.keys(t.numberFormats).forEach(s=>e.mergeNumberFormat(s,t.numberFormats[s])),e}const lS=Mn("global-vue-i18n");function kS(e={},t){const n=__VUE_I18N_LEGACY_API__&&ce(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,s=ce(e.globalInjection)?e.globalInjection:!0,i=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,r=new Map,[o,l]=aS(e,n),a=Mn("");function c(d){return r.get(d)||null}function u(d,g){r.set(d,g)}function f(d){r.delete(d)}{const d={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return i},async install(g,...b){if(g.__VUE_I18N_SYMBOL__=a,g.provide(g.__VUE_I18N_SYMBOL__,d),oe(b[0])){const A=b[0];d.__composerExtend=A.__composerExtend,d.__vueI18nExtend=A.__vueI18nExtend}let O=null;!n&&s&&(O=_S(g,d.global)),__VUE_I18N_FULL_INSTALL__&&iS(g,d,...b),__VUE_I18N_LEGACY_API__&&n&&g.mixin(oS(l,l.__composer,d));const R=g.unmount;g.unmount=()=>{O&&O(),d.dispose(),R()}},get global(){return l},dispose(){o.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return d}}function Ma(e={}){const t=nt();if(t==null)throw Ye(je.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ye(je.NOT_INSTALLED);const n=cS(t),s=fS(n),i=Yp(t),r=uS(e,i);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ye(je.NOT_AVAILABLE_IN_LEGACY_MODE);return mS(t,r,s,e)}if(r==="global")return qp(s,e,i),s;if(r==="parent"){let a=dS(n,t,e.__useComponent);return a==null&&(a=s),a}const o=n;let l=o.__getInstance(t);if(l==null){const a=Je({},e);"__i18n"in i&&(a.__i18n=i.__i18n),s&&(a.__root=s),l=ka(a),o.__composerExtend&&(l[ml]=o.__composerExtend(l)),pS(o,t,l),o.__setInstance(t,l)}return l}function aS(e,t,n){const s=_r();{const i=__VUE_I18N_LEGACY_API__&&t?s.run(()=>gl(e)):s.run(()=>ka(e));if(i==null)throw Ye(je.UNEXPECTED_ERROR);return[s,i]}}function cS(e){{const t=ft(e.isCE?lS:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ye(e.isCE?je.NOT_INSTALLED_WITH_PROVIDE:je.UNEXPECTED_ERROR);return t}}function uS(e,t){return ao(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function fS(e){return e.mode==="composition"?e.global:e.global.__composer}function dS(e,t,n=!1){let s=null;const i=t.root;let r=hS(t,n);for(;r!=null;){const o=e;if(e.mode==="composition")s=o.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const l=o.__getInstance(r);l!=null&&(s=l.__composer,n&&s&&!s[Gp]&&(s=null))}if(s!=null||i===r)break;r=r.parent}return s}function hS(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function pS(e,t,n){wn(()=>{},t),xs(()=>{const s=n;e.__deleteInstance(t);const i=s[ml];i&&(i(),delete s[ml])},t)}function mS(e,t,n,s={}){const i=t==="local",r=vr(null);if(i&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ye(je.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const o=ce(s.inheritLocale)?s.inheritLocale:!q(s.locale),l=xe(!i||o?n.locale.value:q(s.locale)?s.locale:ks),a=xe(!i||o?n.fallbackLocale.value:q(s.fallbackLocale)||Ie(s.fallbackLocale)||oe(s.fallbackLocale)||s.fallbackLocale===!1?s.fallbackLocale:l.value),c=xe(fo(l.value,s)),u=xe(oe(s.datetimeFormats)?s.datetimeFormats:{[l.value]:{}}),f=xe(oe(s.numberFormats)?s.numberFormats:{[l.value]:{}}),d=i?n.missingWarn:ce(s.missingWarn)||On(s.missingWarn)?s.missingWarn:!0,g=i?n.fallbackWarn:ce(s.fallbackWarn)||On(s.fallbackWarn)?s.fallbackWarn:!0,b=i?n.fallbackRoot:ce(s.fallbackRoot)?s.fallbackRoot:!0,O=!!s.fallbackFormat,R=Ce(s.missing)?s.missing:null,A=Ce(s.postTranslation)?s.postTranslation:null,C=i?n.warnHtmlMessage:ce(s.warnHtmlMessage)?s.warnHtmlMessage:!0,h=!!s.escapeParameter,y=i?n.modifiers:oe(s.modifiers)?s.modifiers:{},S=s.pluralRules||i&&n.pluralRules;function v(){return[l.value,a.value,c.value,u.value,f.value]}const P=Ne({get:()=>r.value?r.value.locale.value:l.value,set:p=>{r.value&&(r.value.locale.value=p),l.value=p}}),N=Ne({get:()=>r.value?r.value.fallbackLocale.value:a.value,set:p=>{r.value&&(r.value.fallbackLocale.value=p),a.value=p}}),T=Ne(()=>r.value?r.value.messages.value:c.value),M=Ne(()=>u.value),U=Ne(()=>f.value);function w(){return r.value?r.value.getPostTranslationHandler():A}function B(p){r.value&&r.value.setPostTranslationHandler(p)}function te(){return r.value?r.value.getMissingHandler():R}function z(p){r.value&&r.value.setMissingHandler(p)}function W(p){return v(),p()}function ee(...p){return r.value?W(()=>Reflect.apply(r.value.t,null,[...p])):W(()=>"")}function Q(...p){return r.value?Reflect.apply(r.value.rt,null,[...p]):""}function Fe(...p){return r.value?W(()=>Reflect.apply(r.value.d,null,[...p])):W(()=>"")}function Ke(...p){return r.value?W(()=>Reflect.apply(r.value.n,null,[...p])):W(()=>"")}function Te(p){return r.value?r.value.tm(p):{}}function Pe(p,L){return r.value?r.value.te(p,L):!1}function St(p){return r.value?r.value.getLocaleMessage(p):{}}function ht(p,L){r.value&&(r.value.setLocaleMessage(p,L),c.value[p]=L)}function $t(p,L){r.value&&r.value.mergeLocaleMessage(p,L)}function ke(p){return r.value?r.value.getDateTimeFormat(p):{}}function $(p,L){r.value&&(r.value.setDateTimeFormat(p,L),u.value[p]=L)}function X(p,L){r.value&&r.value.mergeDateTimeFormat(p,L)}function K(p){return r.value?r.value.getNumberFormat(p):{}}function Z(p,L){r.value&&(r.value.setNumberFormat(p,L),f.value[p]=L)}function ue(p,L){r.value&&r.value.mergeNumberFormat(p,L)}const _e={get id(){return r.value?r.value.id:-1},locale:P,fallbackLocale:N,messages:T,datetimeFormats:M,numberFormats:U,get inheritLocale(){return r.value?r.value.inheritLocale:o},set inheritLocale(p){r.value&&(r.value.inheritLocale=p)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:y},get pluralRules(){return r.value?r.value.pluralRules:S},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:d},set missingWarn(p){r.value&&(r.value.missingWarn=p)},get fallbackWarn(){return r.value?r.value.fallbackWarn:g},set fallbackWarn(p){r.value&&(r.value.missingWarn=p)},get fallbackRoot(){return r.value?r.value.fallbackRoot:b},set fallbackRoot(p){r.value&&(r.value.fallbackRoot=p)},get fallbackFormat(){return r.value?r.value.fallbackFormat:O},set fallbackFormat(p){r.value&&(r.value.fallbackFormat=p)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:C},set warnHtmlMessage(p){r.value&&(r.value.warnHtmlMessage=p)},get escapeParameter(){return r.value?r.value.escapeParameter:h},set escapeParameter(p){r.value&&(r.value.escapeParameter=p)},t:ee,getPostTranslationHandler:w,setPostTranslationHandler:B,getMissingHandler:te,setMissingHandler:z,rt:Q,d:Fe,n:Ke,tm:Te,te:Pe,getLocaleMessage:St,setLocaleMessage:ht,mergeLocaleMessage:$t,getDateTimeFormat:ke,setDateTimeFormat:$,mergeDateTimeFormat:X,getNumberFormat:K,setNumberFormat:Z,mergeNumberFormat:ue};function E(p){p.locale.value=l.value,p.fallbackLocale.value=a.value,Object.keys(c.value).forEach(L=>{p.mergeLocaleMessage(L,c.value[L])}),Object.keys(u.value).forEach(L=>{p.mergeDateTimeFormat(L,u.value[L])}),Object.keys(f.value).forEach(L=>{p.mergeNumberFormat(L,f.value[L])}),p.escapeParameter=h,p.fallbackFormat=O,p.fallbackRoot=b,p.fallbackWarn=g,p.missingWarn=d,p.warnHtmlMessage=C}return Yi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ye(je.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const p=r.value=e.proxy.$i18n.__composer;t==="global"?(l.value=p.locale.value,a.value=p.fallbackLocale.value,c.value=p.messages.value,u.value=p.datetimeFormats.value,f.value=p.numberFormats.value):i&&E(p)}),_e}const gS=["locale","fallbackLocale","availableLocales"],Uu=["t","rt","d","n","tm","te"];function _S(e,t){const n=Object.create(null);return gS.forEach(i=>{const r=Object.getOwnPropertyDescriptor(t,i);if(!r)throw Ye(je.UNEXPECTED_ERROR);const o=Re(r.value)?{get(){return r.value.value},set(l){r.value.value=l}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,i,o)}),e.config.globalProperties.$i18n=n,Uu.forEach(i=>{const r=Object.getOwnPropertyDescriptor(t,i);if(!r||!r.value)throw Ye(je.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${i}`,r)}),()=>{delete e.config.globalProperties.$i18n,Uu.forEach(i=>{delete e.config.globalProperties[`$${i}`]})}}qv();__INTLIFY_JIT_COMPILATION__?Eu(Bv):Eu(Hv);kv(hv);wv(Pp);if(__INTLIFY_PROD_DEVTOOLS__){const e=Zt();e.__INTLIFY__=!0,Sv(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}function Qp(e){return yr()?(wi(e),!0):!1}function ho(e){return typeof e=="function"?e():Wt(e)}const Fa=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const yS=Object.prototype.toString,ES=e=>yS.call(e)==="[object Object]",bS=()=>{};function vS(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const s=t;t=void 0,s&&await s},n}function SS(e,t,n={}){const{immediate:s=!0}=n,i=xe(!1);let r=null;function o(){r&&(clearTimeout(r),r=null)}function l(){i.value=!1,o()}function a(...c){o(),i.value=!0,r=setTimeout(()=>{i.value=!1,r=null,e(...c)},ho(t))}return s&&(i.value=!0,Fa&&a()),Qp(l),{isPending:Er(i),start:a,stop:l}}function TS(e){var t;const n=ho(e);return(t=n==null?void 0:n.$el)!=null?t:n}const CS=Fa?window:void 0,Zp=Fa?window.navigator:void 0;function zp(...e){let t,n,s,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,i]=e,t=CS):[t,n,s,i]=e,!t)return bS;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const r=[],o=()=>{r.forEach(u=>u()),r.length=0},l=(u,f,d,g)=>(u.addEventListener(f,d,g),()=>u.removeEventListener(f,d,g)),a=At(()=>[TS(t),ho(i)],([u,f])=>{if(o(),!u)return;const d=ES(f)?{...f}:f;r.push(...n.flatMap(g=>s.map(b=>l(u,g,b,d))))},{immediate:!0,flush:"post"}),c=()=>{a(),o()};return Qp(c),c}function NS(){const e=xe(!1),t=nt();return t&&wn(()=>{e.value=!0},t),e}function em(e){const t=NS();return Ne(()=>(t.value,!!e()))}function Hu(e,t={}){const{controls:n=!1,navigator:s=Zp}=t,i=em(()=>s&&"permissions"in s);let r;const o=typeof e=="string"?{name:e}:e,l=xe(),a=()=>{r&&(l.value=r.state)},c=vS(async()=>{if(i.value){if(!r)try{r=await s.permissions.query(o),zp(r,"change",a),a()}catch{l.value="prompt"}return r}});return c(),n?{state:l,isSupported:i,query:c}:l}function wS(e={}){const{navigator:t=Zp,read:n=!1,source:s,copiedDuring:i=1500,legacy:r=!1}=e,o=em(()=>t&&"clipboard"in t),l=Hu("clipboard-read"),a=Hu("clipboard-write"),c=Ne(()=>o.value||r),u=xe(""),f=xe(!1),d=SS(()=>f.value=!1,i);function g(){o.value&&A(l.value)?t.clipboard.readText().then(C=>{u.value=C}):u.value=R()}c.value&&n&&zp(["copy","cut"],g);async function b(C=ho(s)){c.value&&C!=null&&(o.value&&A(a.value)?await t.clipboard.writeText(C):O(C),u.value=C,f.value=!0,d.start())}function O(C){const h=document.createElement("textarea");h.value=C??"",h.style.position="absolute",h.style.opacity="0",document.body.appendChild(h),h.select(),document.execCommand("copy"),h.remove()}function R(){var C,h,y;return(y=(h=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:h.toString())!=null?y:""}function A(C){return C==="granted"||C==="prompt"}return{isSupported:c,text:u,copied:f,copy:b}}export{kS as $,Ds as A,Ff as B,Ge as C,Xf as D,Xu as E,zl as F,Fs as G,Wi as H,Bf as I,Ji as J,Kf as K,sa as L,De as M,Yf as N,Yu as O,dh as P,hh as Q,zi as R,Qf as S,Zi as T,eo as U,Df as V,Wt as W,PS as X,RS as Y,Rf as Z,Pf as _,jf as a,Ma as a0,LS as a1,At as a2,sh as a3,OS as a4,AS as a5,wS as a6,_h as a7,rs as a8,Al as a9,qf as aa,Ql as ab,di as ac,or as ad,Vl as ae,fe as af,Nr as ag,sn as b,Ne as c,rn as d,IS as e,Yi as f,nt as g,os as h,ft as i,wn as j,wf as k,Se as l,br as m,is as n,Ir as o,vs as p,_i as q,xe as r,ch as s,nn as t,Ar as u,Ld as v,Xi as w,kd as x,qi as y,wd as z};
diff --git a/admin-website/src/main/resources/static/assets/vue.js b/admin-website/src/main/resources/static/assets/vue.js
new file mode 100644
index 0000000..093e674
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/vue.js
@@ -0,0 +1,22118 @@
+/**
+* @vue/shared v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function makeMap(str, expectsLowerCase) {
+  const set2 = new Set(str.split(","));
+  return expectsLowerCase ? (val) => set2.has(val.toLowerCase()) : (val) => set2.has(val);
+}
+const EMPTY_OBJ = {};
+const EMPTY_ARR = [];
+const NOOP = () => {
+};
+const NO = () => false;
+const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
+(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
+const isModelListener = (key) => key.startsWith("onUpdate:");
+const extend = Object.assign;
+const remove = (arr, el) => {
+  const i = arr.indexOf(el);
+  if (i > -1) {
+    arr.splice(i, 1);
+  }
+};
+const hasOwnProperty$2 = Object.prototype.hasOwnProperty;
+const hasOwn$1 = (val, key) => hasOwnProperty$2.call(val, key);
+const isArray$2 = Array.isArray;
+const isMap = (val) => toTypeString$1(val) === "[object Map]";
+const isSet = (val) => toTypeString$1(val) === "[object Set]";
+const isDate$1 = (val) => toTypeString$1(val) === "[object Date]";
+const isRegExp$1 = (val) => toTypeString$1(val) === "[object RegExp]";
+const isFunction$1 = (val) => typeof val === "function";
+const isString$2 = (val) => typeof val === "string";
+const isSymbol = (val) => typeof val === "symbol";
+const isObject$3 = (val) => val !== null && typeof val === "object";
+const isPromise$1 = (val) => {
+  return (isObject$3(val) || isFunction$1(val)) && isFunction$1(val.then) && isFunction$1(val.catch);
+};
+const objectToString$1 = Object.prototype.toString;
+const toTypeString$1 = (value) => objectToString$1.call(value);
+const toRawType = (value) => {
+  return toTypeString$1(value).slice(8, -1);
+};
+const isPlainObject$2 = (val) => toTypeString$1(val) === "[object Object]";
+const isIntegerKey = (key) => isString$2(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
+const isReservedProp = /* @__PURE__ */ makeMap(
+  // the leading comma is intentional so empty string "" is also included
+  ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
+);
+const isBuiltInDirective = /* @__PURE__ */ makeMap(
+  "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
+);
+const cacheStringFunction = (fn) => {
+  const cache2 = /* @__PURE__ */ Object.create(null);
+  return (str) => {
+    const hit = cache2[str];
+    return hit || (cache2[str] = fn(str));
+  };
+};
+const camelizeRE = /-(\w)/g;
+const camelize = cacheStringFunction((str) => {
+  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
+});
+const hyphenateRE = /\B([A-Z])/g;
+const hyphenate = cacheStringFunction(
+  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
+);
+const capitalize$1 = cacheStringFunction((str) => {
+  return str.charAt(0).toUpperCase() + str.slice(1);
+});
+const toHandlerKey = cacheStringFunction((str) => {
+  const s = str ? `on${capitalize$1(str)}` : ``;
+  return s;
+});
+const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
+const invokeArrayFns = (fns, arg) => {
+  for (let i = 0; i < fns.length; i++) {
+    fns[i](arg);
+  }
+};
+const def = (obj, key, value, writable = false) => {
+  Object.defineProperty(obj, key, {
+    configurable: true,
+    enumerable: false,
+    writable,
+    value
+  });
+};
+const looseToNumber = (val) => {
+  const n = parseFloat(val);
+  return isNaN(n) ? val : n;
+};
+const toNumber = (val) => {
+  const n = isString$2(val) ? Number(val) : NaN;
+  return isNaN(n) ? val : n;
+};
+let _globalThis$1;
+const getGlobalThis$1 = () => {
+  return _globalThis$1 || (_globalThis$1 = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
+};
+const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error";
+const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
+function normalizeStyle(value) {
+  if (isArray$2(value)) {
+    const res = {};
+    for (let i = 0; i < value.length; i++) {
+      const item = value[i];
+      const normalized = isString$2(item) ? parseStringStyle(item) : normalizeStyle(item);
+      if (normalized) {
+        for (const key in normalized) {
+          res[key] = normalized[key];
+        }
+      }
+    }
+    return res;
+  } else if (isString$2(value) || isObject$3(value)) {
+    return value;
+  }
+}
+const listDelimiterRE = /;(?![^(]*\))/g;
+const propertyDelimiterRE = /:([^]+)/;
+const styleCommentRE = /\/\*[^]*?\*\//g;
+function parseStringStyle(cssText) {
+  const ret = {};
+  cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
+    if (item) {
+      const tmp = item.split(propertyDelimiterRE);
+      tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
+    }
+  });
+  return ret;
+}
+function normalizeClass(value) {
+  let res = "";
+  if (isString$2(value)) {
+    res = value;
+  } else if (isArray$2(value)) {
+    for (let i = 0; i < value.length; i++) {
+      const normalized = normalizeClass(value[i]);
+      if (normalized) {
+        res += normalized + " ";
+      }
+    }
+  } else if (isObject$3(value)) {
+    for (const name in value) {
+      if (value[name]) {
+        res += name + " ";
+      }
+    }
+  }
+  return res.trim();
+}
+function normalizeProps(props) {
+  if (!props)
+    return null;
+  let { class: klass, style } = props;
+  if (klass && !isString$2(klass)) {
+    props.class = normalizeClass(klass);
+  }
+  if (style) {
+    props.style = normalizeStyle(style);
+  }
+  return props;
+}
+const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
+const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
+const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics";
+const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
+const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
+const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
+const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
+const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
+const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
+const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
+function includeBooleanAttr(value) {
+  return !!value || value === "";
+}
+function looseCompareArrays(a, b) {
+  if (a.length !== b.length)
+    return false;
+  let equal = true;
+  for (let i = 0; equal && i < a.length; i++) {
+    equal = looseEqual(a[i], b[i]);
+  }
+  return equal;
+}
+function looseEqual(a, b) {
+  if (a === b)
+    return true;
+  let aValidType = isDate$1(a);
+  let bValidType = isDate$1(b);
+  if (aValidType || bValidType) {
+    return aValidType && bValidType ? a.getTime() === b.getTime() : false;
+  }
+  aValidType = isSymbol(a);
+  bValidType = isSymbol(b);
+  if (aValidType || bValidType) {
+    return a === b;
+  }
+  aValidType = isArray$2(a);
+  bValidType = isArray$2(b);
+  if (aValidType || bValidType) {
+    return aValidType && bValidType ? looseCompareArrays(a, b) : false;
+  }
+  aValidType = isObject$3(a);
+  bValidType = isObject$3(b);
+  if (aValidType || bValidType) {
+    if (!aValidType || !bValidType) {
+      return false;
+    }
+    const aKeysCount = Object.keys(a).length;
+    const bKeysCount = Object.keys(b).length;
+    if (aKeysCount !== bKeysCount) {
+      return false;
+    }
+    for (const key in a) {
+      const aHasKey = a.hasOwnProperty(key);
+      const bHasKey = b.hasOwnProperty(key);
+      if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {
+        return false;
+      }
+    }
+  }
+  return String(a) === String(b);
+}
+function looseIndexOf(arr, val) {
+  return arr.findIndex((item) => looseEqual(item, val));
+}
+const toDisplayString$1 = (val) => {
+  return isString$2(val) ? val : val == null ? "" : isArray$2(val) || isObject$3(val) && (val.toString === objectToString$1 || !isFunction$1(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
+};
+const replacer = (_key, val) => {
+  if (val && val.__v_isRef) {
+    return replacer(_key, val.value);
+  } else if (isMap(val)) {
+    return {
+      [`Map(${val.size})`]: [...val.entries()].reduce(
+        (entries, [key, val2], i) => {
+          entries[stringifySymbol(key, i) + " =>"] = val2;
+          return entries;
+        },
+        {}
+      )
+    };
+  } else if (isSet(val)) {
+    return {
+      [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
+    };
+  } else if (isSymbol(val)) {
+    return stringifySymbol(val);
+  } else if (isObject$3(val) && !isArray$2(val) && !isPlainObject$2(val)) {
+    return String(val);
+  }
+  return val;
+};
+const stringifySymbol = (v, i = "") => {
+  var _a;
+  return (
+    // Symbol.description in es2019+ so we need to cast here to pass
+    // the lib: es2016 check
+    isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v
+  );
+};
+/**
+* @vue/reactivity v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+let activeEffectScope;
+class EffectScope {
+  constructor(detached = false) {
+    this.detached = detached;
+    this._active = true;
+    this.effects = [];
+    this.cleanups = [];
+    this.parent = activeEffectScope;
+    if (!detached && activeEffectScope) {
+      this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
+        this
+      ) - 1;
+    }
+  }
+  get active() {
+    return this._active;
+  }
+  run(fn) {
+    if (this._active) {
+      const currentEffectScope = activeEffectScope;
+      try {
+        activeEffectScope = this;
+        return fn();
+      } finally {
+        activeEffectScope = currentEffectScope;
+      }
+    }
+  }
+  /**
+   * This should only be called on non-detached scopes
+   * @internal
+   */
+  on() {
+    activeEffectScope = this;
+  }
+  /**
+   * This should only be called on non-detached scopes
+   * @internal
+   */
+  off() {
+    activeEffectScope = this.parent;
+  }
+  stop(fromParent) {
+    if (this._active) {
+      let i, l;
+      for (i = 0, l = this.effects.length; i < l; i++) {
+        this.effects[i].stop();
+      }
+      for (i = 0, l = this.cleanups.length; i < l; i++) {
+        this.cleanups[i]();
+      }
+      if (this.scopes) {
+        for (i = 0, l = this.scopes.length; i < l; i++) {
+          this.scopes[i].stop(true);
+        }
+      }
+      if (!this.detached && this.parent && !fromParent) {
+        const last = this.parent.scopes.pop();
+        if (last && last !== this) {
+          this.parent.scopes[this.index] = last;
+          last.index = this.index;
+        }
+      }
+      this.parent = void 0;
+      this._active = false;
+    }
+  }
+}
+function effectScope(detached) {
+  return new EffectScope(detached);
+}
+function recordEffectScope(effect2, scope = activeEffectScope) {
+  if (scope && scope.active) {
+    scope.effects.push(effect2);
+  }
+}
+function getCurrentScope() {
+  return activeEffectScope;
+}
+function onScopeDispose(fn) {
+  if (activeEffectScope) {
+    activeEffectScope.cleanups.push(fn);
+  }
+}
+let activeEffect;
+class ReactiveEffect {
+  constructor(fn, trigger2, scheduler, scope) {
+    this.fn = fn;
+    this.trigger = trigger2;
+    this.scheduler = scheduler;
+    this.active = true;
+    this.deps = [];
+    this._dirtyLevel = 4;
+    this._trackId = 0;
+    this._runnings = 0;
+    this._shouldSchedule = false;
+    this._depsLength = 0;
+    recordEffectScope(this, scope);
+  }
+  get dirty() {
+    if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
+      this._dirtyLevel = 1;
+      pauseTracking();
+      for (let i = 0; i < this._depsLength; i++) {
+        const dep = this.deps[i];
+        if (dep.computed) {
+          triggerComputed(dep.computed);
+          if (this._dirtyLevel >= 4) {
+            break;
+          }
+        }
+      }
+      if (this._dirtyLevel === 1) {
+        this._dirtyLevel = 0;
+      }
+      resetTracking();
+    }
+    return this._dirtyLevel >= 4;
+  }
+  set dirty(v) {
+    this._dirtyLevel = v ? 4 : 0;
+  }
+  run() {
+    this._dirtyLevel = 0;
+    if (!this.active) {
+      return this.fn();
+    }
+    let lastShouldTrack = shouldTrack;
+    let lastEffect = activeEffect;
+    try {
+      shouldTrack = true;
+      activeEffect = this;
+      this._runnings++;
+      preCleanupEffect(this);
+      return this.fn();
+    } finally {
+      postCleanupEffect(this);
+      this._runnings--;
+      activeEffect = lastEffect;
+      shouldTrack = lastShouldTrack;
+    }
+  }
+  stop() {
+    if (this.active) {
+      preCleanupEffect(this);
+      postCleanupEffect(this);
+      this.onStop && this.onStop();
+      this.active = false;
+    }
+  }
+}
+function triggerComputed(computed2) {
+  return computed2.value;
+}
+function preCleanupEffect(effect2) {
+  effect2._trackId++;
+  effect2._depsLength = 0;
+}
+function postCleanupEffect(effect2) {
+  if (effect2.deps.length > effect2._depsLength) {
+    for (let i = effect2._depsLength; i < effect2.deps.length; i++) {
+      cleanupDepEffect(effect2.deps[i], effect2);
+    }
+    effect2.deps.length = effect2._depsLength;
+  }
+}
+function cleanupDepEffect(dep, effect2) {
+  const trackId = dep.get(effect2);
+  if (trackId !== void 0 && effect2._trackId !== trackId) {
+    dep.delete(effect2);
+    if (dep.size === 0) {
+      dep.cleanup();
+    }
+  }
+}
+function effect(fn, options) {
+  if (fn.effect instanceof ReactiveEffect) {
+    fn = fn.effect.fn;
+  }
+  const _effect = new ReactiveEffect(fn, NOOP, () => {
+    if (_effect.dirty) {
+      _effect.run();
+    }
+  });
+  if (options) {
+    extend(_effect, options);
+    if (options.scope)
+      recordEffectScope(_effect, options.scope);
+  }
+  if (!options || !options.lazy) {
+    _effect.run();
+  }
+  const runner = _effect.run.bind(_effect);
+  runner.effect = _effect;
+  return runner;
+}
+function stop(runner) {
+  runner.effect.stop();
+}
+let shouldTrack = true;
+let pauseScheduleStack = 0;
+const trackStack = [];
+function pauseTracking() {
+  trackStack.push(shouldTrack);
+  shouldTrack = false;
+}
+function resetTracking() {
+  const last = trackStack.pop();
+  shouldTrack = last === void 0 ? true : last;
+}
+function pauseScheduling() {
+  pauseScheduleStack++;
+}
+function resetScheduling() {
+  pauseScheduleStack--;
+  while (!pauseScheduleStack && queueEffectSchedulers.length) {
+    queueEffectSchedulers.shift()();
+  }
+}
+function trackEffect(effect2, dep, debuggerEventExtraInfo) {
+  if (dep.get(effect2) !== effect2._trackId) {
+    dep.set(effect2, effect2._trackId);
+    const oldDep = effect2.deps[effect2._depsLength];
+    if (oldDep !== dep) {
+      if (oldDep) {
+        cleanupDepEffect(oldDep, effect2);
+      }
+      effect2.deps[effect2._depsLength++] = dep;
+    } else {
+      effect2._depsLength++;
+    }
+  }
+}
+const queueEffectSchedulers = [];
+function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
+  pauseScheduling();
+  for (const effect2 of dep.keys()) {
+    let tracking;
+    if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
+      effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
+      effect2._dirtyLevel = dirtyLevel;
+    }
+    if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
+      effect2.trigger();
+      if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
+        effect2._shouldSchedule = false;
+        if (effect2.scheduler) {
+          queueEffectSchedulers.push(effect2.scheduler);
+        }
+      }
+    }
+  }
+  resetScheduling();
+}
+const createDep = (cleanup, computed2) => {
+  const dep = /* @__PURE__ */ new Map();
+  dep.cleanup = cleanup;
+  dep.computed = computed2;
+  return dep;
+};
+const targetMap = /* @__PURE__ */ new WeakMap();
+const ITERATE_KEY = Symbol("");
+const MAP_KEY_ITERATE_KEY = Symbol("");
+function track(target, type, key) {
+  if (shouldTrack && activeEffect) {
+    let depsMap = targetMap.get(target);
+    if (!depsMap) {
+      targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
+    }
+    let dep = depsMap.get(key);
+    if (!dep) {
+      depsMap.set(key, dep = createDep(() => depsMap.delete(key)));
+    }
+    trackEffect(
+      activeEffect,
+      dep
+    );
+  }
+}
+function trigger(target, type, key, newValue, oldValue, oldTarget) {
+  const depsMap = targetMap.get(target);
+  if (!depsMap) {
+    return;
+  }
+  let deps = [];
+  if (type === "clear") {
+    deps = [...depsMap.values()];
+  } else if (key === "length" && isArray$2(target)) {
+    const newLength = Number(newValue);
+    depsMap.forEach((dep, key2) => {
+      if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) {
+        deps.push(dep);
+      }
+    });
+  } else {
+    if (key !== void 0) {
+      deps.push(depsMap.get(key));
+    }
+    switch (type) {
+      case "add":
+        if (!isArray$2(target)) {
+          deps.push(depsMap.get(ITERATE_KEY));
+          if (isMap(target)) {
+            deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
+          }
+        } else if (isIntegerKey(key)) {
+          deps.push(depsMap.get("length"));
+        }
+        break;
+      case "delete":
+        if (!isArray$2(target)) {
+          deps.push(depsMap.get(ITERATE_KEY));
+          if (isMap(target)) {
+            deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
+          }
+        }
+        break;
+      case "set":
+        if (isMap(target)) {
+          deps.push(depsMap.get(ITERATE_KEY));
+        }
+        break;
+    }
+  }
+  pauseScheduling();
+  for (const dep of deps) {
+    if (dep) {
+      triggerEffects(
+        dep,
+        4
+      );
+    }
+  }
+  resetScheduling();
+}
+function getDepFromReactive(object, key) {
+  const depsMap = targetMap.get(object);
+  return depsMap && depsMap.get(key);
+}
+const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
+const builtInSymbols = new Set(
+  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
+);
+const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
+function createArrayInstrumentations() {
+  const instrumentations = {};
+  ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
+    instrumentations[key] = function(...args) {
+      const arr = toRaw(this);
+      for (let i = 0, l = this.length; i < l; i++) {
+        track(arr, "get", i + "");
+      }
+      const res = arr[key](...args);
+      if (res === -1 || res === false) {
+        return arr[key](...args.map(toRaw));
+      } else {
+        return res;
+      }
+    };
+  });
+  ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
+    instrumentations[key] = function(...args) {
+      pauseTracking();
+      pauseScheduling();
+      const res = toRaw(this)[key].apply(this, args);
+      resetScheduling();
+      resetTracking();
+      return res;
+    };
+  });
+  return instrumentations;
+}
+function hasOwnProperty$1(key) {
+  if (!isSymbol(key))
+    key = String(key);
+  const obj = toRaw(this);
+  track(obj, "has", key);
+  return obj.hasOwnProperty(key);
+}
+class BaseReactiveHandler {
+  constructor(_isReadonly = false, _isShallow = false) {
+    this._isReadonly = _isReadonly;
+    this._isShallow = _isShallow;
+  }
+  get(target, key, receiver) {
+    const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
+    if (key === "__v_isReactive") {
+      return !isReadonly2;
+    } else if (key === "__v_isReadonly") {
+      return isReadonly2;
+    } else if (key === "__v_isShallow") {
+      return isShallow2;
+    } else if (key === "__v_raw") {
+      if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
+      // this means the reciever is a user proxy of the reactive proxy
+      Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
+        return target;
+      }
+      return;
+    }
+    const targetIsArray = isArray$2(target);
+    if (!isReadonly2) {
+      if (targetIsArray && hasOwn$1(arrayInstrumentations, key)) {
+        return Reflect.get(arrayInstrumentations, key, receiver);
+      }
+      if (key === "hasOwnProperty") {
+        return hasOwnProperty$1;
+      }
+    }
+    const res = Reflect.get(target, key, receiver);
+    if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
+      return res;
+    }
+    if (!isReadonly2) {
+      track(target, "get", key);
+    }
+    if (isShallow2) {
+      return res;
+    }
+    if (isRef(res)) {
+      return targetIsArray && isIntegerKey(key) ? res : res.value;
+    }
+    if (isObject$3(res)) {
+      return isReadonly2 ? readonly(res) : reactive(res);
+    }
+    return res;
+  }
+}
+class MutableReactiveHandler extends BaseReactiveHandler {
+  constructor(isShallow2 = false) {
+    super(false, isShallow2);
+  }
+  set(target, key, value, receiver) {
+    let oldValue = target[key];
+    if (!this._isShallow) {
+      const isOldValueReadonly = isReadonly(oldValue);
+      if (!isShallow(value) && !isReadonly(value)) {
+        oldValue = toRaw(oldValue);
+        value = toRaw(value);
+      }
+      if (!isArray$2(target) && isRef(oldValue) && !isRef(value)) {
+        if (isOldValueReadonly) {
+          return false;
+        } else {
+          oldValue.value = value;
+          return true;
+        }
+      }
+    }
+    const hadKey = isArray$2(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$1(target, key);
+    const result = Reflect.set(target, key, value, receiver);
+    if (target === toRaw(receiver)) {
+      if (!hadKey) {
+        trigger(target, "add", key, value);
+      } else if (hasChanged(value, oldValue)) {
+        trigger(target, "set", key, value);
+      }
+    }
+    return result;
+  }
+  deleteProperty(target, key) {
+    const hadKey = hasOwn$1(target, key);
+    target[key];
+    const result = Reflect.deleteProperty(target, key);
+    if (result && hadKey) {
+      trigger(target, "delete", key, void 0);
+    }
+    return result;
+  }
+  has(target, key) {
+    const result = Reflect.has(target, key);
+    if (!isSymbol(key) || !builtInSymbols.has(key)) {
+      track(target, "has", key);
+    }
+    return result;
+  }
+  ownKeys(target) {
+    track(
+      target,
+      "iterate",
+      isArray$2(target) ? "length" : ITERATE_KEY
+    );
+    return Reflect.ownKeys(target);
+  }
+}
+class ReadonlyReactiveHandler extends BaseReactiveHandler {
+  constructor(isShallow2 = false) {
+    super(true, isShallow2);
+  }
+  set(target, key) {
+    return true;
+  }
+  deleteProperty(target, key) {
+    return true;
+  }
+}
+const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
+const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
+const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
+  true
+);
+const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
+const toShallow = (value) => value;
+const getProto = (v) => Reflect.getPrototypeOf(v);
+function get(target, key, isReadonly2 = false, isShallow2 = false) {
+  target = target["__v_raw"];
+  const rawTarget = toRaw(target);
+  const rawKey = toRaw(key);
+  if (!isReadonly2) {
+    if (hasChanged(key, rawKey)) {
+      track(rawTarget, "get", key);
+    }
+    track(rawTarget, "get", rawKey);
+  }
+  const { has: has2 } = getProto(rawTarget);
+  const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
+  if (has2.call(rawTarget, key)) {
+    return wrap(target.get(key));
+  } else if (has2.call(rawTarget, rawKey)) {
+    return wrap(target.get(rawKey));
+  } else if (target !== rawTarget) {
+    target.get(key);
+  }
+}
+function has(key, isReadonly2 = false) {
+  const target = this["__v_raw"];
+  const rawTarget = toRaw(target);
+  const rawKey = toRaw(key);
+  if (!isReadonly2) {
+    if (hasChanged(key, rawKey)) {
+      track(rawTarget, "has", key);
+    }
+    track(rawTarget, "has", rawKey);
+  }
+  return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
+}
+function size(target, isReadonly2 = false) {
+  target = target["__v_raw"];
+  !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY);
+  return Reflect.get(target, "size", target);
+}
+function add(value) {
+  value = toRaw(value);
+  const target = toRaw(this);
+  const proto = getProto(target);
+  const hadKey = proto.has.call(target, value);
+  if (!hadKey) {
+    target.add(value);
+    trigger(target, "add", value, value);
+  }
+  return this;
+}
+function set(key, value) {
+  value = toRaw(value);
+  const target = toRaw(this);
+  const { has: has2, get: get2 } = getProto(target);
+  let hadKey = has2.call(target, key);
+  if (!hadKey) {
+    key = toRaw(key);
+    hadKey = has2.call(target, key);
+  }
+  const oldValue = get2.call(target, key);
+  target.set(key, value);
+  if (!hadKey) {
+    trigger(target, "add", key, value);
+  } else if (hasChanged(value, oldValue)) {
+    trigger(target, "set", key, value);
+  }
+  return this;
+}
+function deleteEntry(key) {
+  const target = toRaw(this);
+  const { has: has2, get: get2 } = getProto(target);
+  let hadKey = has2.call(target, key);
+  if (!hadKey) {
+    key = toRaw(key);
+    hadKey = has2.call(target, key);
+  }
+  get2 ? get2.call(target, key) : void 0;
+  const result = target.delete(key);
+  if (hadKey) {
+    trigger(target, "delete", key, void 0);
+  }
+  return result;
+}
+function clear() {
+  const target = toRaw(this);
+  const hadItems = target.size !== 0;
+  const result = target.clear();
+  if (hadItems) {
+    trigger(target, "clear", void 0, void 0);
+  }
+  return result;
+}
+function createForEach(isReadonly2, isShallow2) {
+  return function forEach(callback, thisArg) {
+    const observed = this;
+    const target = observed["__v_raw"];
+    const rawTarget = toRaw(target);
+    const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
+    !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY);
+    return target.forEach((value, key) => {
+      return callback.call(thisArg, wrap(value), wrap(key), observed);
+    });
+  };
+}
+function createIterableMethod(method, isReadonly2, isShallow2) {
+  return function(...args) {
+    const target = this["__v_raw"];
+    const rawTarget = toRaw(target);
+    const targetIsMap = isMap(rawTarget);
+    const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
+    const isKeyOnly = method === "keys" && targetIsMap;
+    const innerIterator = target[method](...args);
+    const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
+    !isReadonly2 && track(
+      rawTarget,
+      "iterate",
+      isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
+    );
+    return {
+      // iterator protocol
+      next() {
+        const { value, done } = innerIterator.next();
+        return done ? { value, done } : {
+          value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
+          done
+        };
+      },
+      // iterable protocol
+      [Symbol.iterator]() {
+        return this;
+      }
+    };
+  };
+}
+function createReadonlyMethod(type) {
+  return function(...args) {
+    return type === "delete" ? false : type === "clear" ? void 0 : this;
+  };
+}
+function createInstrumentations() {
+  const mutableInstrumentations2 = {
+    get(key) {
+      return get(this, key);
+    },
+    get size() {
+      return size(this);
+    },
+    has,
+    add,
+    set,
+    delete: deleteEntry,
+    clear,
+    forEach: createForEach(false, false)
+  };
+  const shallowInstrumentations2 = {
+    get(key) {
+      return get(this, key, false, true);
+    },
+    get size() {
+      return size(this);
+    },
+    has,
+    add,
+    set,
+    delete: deleteEntry,
+    clear,
+    forEach: createForEach(false, true)
+  };
+  const readonlyInstrumentations2 = {
+    get(key) {
+      return get(this, key, true);
+    },
+    get size() {
+      return size(this, true);
+    },
+    has(key) {
+      return has.call(this, key, true);
+    },
+    add: createReadonlyMethod("add"),
+    set: createReadonlyMethod("set"),
+    delete: createReadonlyMethod("delete"),
+    clear: createReadonlyMethod("clear"),
+    forEach: createForEach(true, false)
+  };
+  const shallowReadonlyInstrumentations2 = {
+    get(key) {
+      return get(this, key, true, true);
+    },
+    get size() {
+      return size(this, true);
+    },
+    has(key) {
+      return has.call(this, key, true);
+    },
+    add: createReadonlyMethod("add"),
+    set: createReadonlyMethod("set"),
+    delete: createReadonlyMethod("delete"),
+    clear: createReadonlyMethod("clear"),
+    forEach: createForEach(true, true)
+  };
+  const iteratorMethods = [
+    "keys",
+    "values",
+    "entries",
+    Symbol.iterator
+  ];
+  iteratorMethods.forEach((method) => {
+    mutableInstrumentations2[method] = createIterableMethod(method, false, false);
+    readonlyInstrumentations2[method] = createIterableMethod(method, true, false);
+    shallowInstrumentations2[method] = createIterableMethod(method, false, true);
+    shallowReadonlyInstrumentations2[method] = createIterableMethod(
+      method,
+      true,
+      true
+    );
+  });
+  return [
+    mutableInstrumentations2,
+    readonlyInstrumentations2,
+    shallowInstrumentations2,
+    shallowReadonlyInstrumentations2
+  ];
+}
+const [
+  mutableInstrumentations,
+  readonlyInstrumentations,
+  shallowInstrumentations,
+  shallowReadonlyInstrumentations
+] = /* @__PURE__ */ createInstrumentations();
+function createInstrumentationGetter(isReadonly2, shallow) {
+  const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;
+  return (target, key, receiver) => {
+    if (key === "__v_isReactive") {
+      return !isReadonly2;
+    } else if (key === "__v_isReadonly") {
+      return isReadonly2;
+    } else if (key === "__v_raw") {
+      return target;
+    }
+    return Reflect.get(
+      hasOwn$1(instrumentations, key) && key in target ? instrumentations : target,
+      key,
+      receiver
+    );
+  };
+}
+const mutableCollectionHandlers = {
+  get: /* @__PURE__ */ createInstrumentationGetter(false, false)
+};
+const shallowCollectionHandlers = {
+  get: /* @__PURE__ */ createInstrumentationGetter(false, true)
+};
+const readonlyCollectionHandlers = {
+  get: /* @__PURE__ */ createInstrumentationGetter(true, false)
+};
+const shallowReadonlyCollectionHandlers = {
+  get: /* @__PURE__ */ createInstrumentationGetter(true, true)
+};
+const reactiveMap = /* @__PURE__ */ new WeakMap();
+const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
+const readonlyMap = /* @__PURE__ */ new WeakMap();
+const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
+function targetTypeMap(rawType) {
+  switch (rawType) {
+    case "Object":
+    case "Array":
+      return 1;
+    case "Map":
+    case "Set":
+    case "WeakMap":
+    case "WeakSet":
+      return 2;
+    default:
+      return 0;
+  }
+}
+function getTargetType(value) {
+  return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
+}
+function reactive(target) {
+  if (isReadonly(target)) {
+    return target;
+  }
+  return createReactiveObject(
+    target,
+    false,
+    mutableHandlers,
+    mutableCollectionHandlers,
+    reactiveMap
+  );
+}
+function shallowReactive(target) {
+  return createReactiveObject(
+    target,
+    false,
+    shallowReactiveHandlers,
+    shallowCollectionHandlers,
+    shallowReactiveMap
+  );
+}
+function readonly(target) {
+  return createReactiveObject(
+    target,
+    true,
+    readonlyHandlers,
+    readonlyCollectionHandlers,
+    readonlyMap
+  );
+}
+function shallowReadonly(target) {
+  return createReactiveObject(
+    target,
+    true,
+    shallowReadonlyHandlers,
+    shallowReadonlyCollectionHandlers,
+    shallowReadonlyMap
+  );
+}
+function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
+  if (!isObject$3(target)) {
+    return target;
+  }
+  if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
+    return target;
+  }
+  const existingProxy = proxyMap.get(target);
+  if (existingProxy) {
+    return existingProxy;
+  }
+  const targetType = getTargetType(target);
+  if (targetType === 0) {
+    return target;
+  }
+  const proxy = new Proxy(
+    target,
+    targetType === 2 ? collectionHandlers : baseHandlers
+  );
+  proxyMap.set(target, proxy);
+  return proxy;
+}
+function isReactive(value) {
+  if (isReadonly(value)) {
+    return isReactive(value["__v_raw"]);
+  }
+  return !!(value && value["__v_isReactive"]);
+}
+function isReadonly(value) {
+  return !!(value && value["__v_isReadonly"]);
+}
+function isShallow(value) {
+  return !!(value && value["__v_isShallow"]);
+}
+function isProxy(value) {
+  return value ? !!value["__v_raw"] : false;
+}
+function toRaw(observed) {
+  const raw = observed && observed["__v_raw"];
+  return raw ? toRaw(raw) : observed;
+}
+function markRaw(value) {
+  if (Object.isExtensible(value)) {
+    def(value, "__v_skip", true);
+  }
+  return value;
+}
+const toReactive = (value) => isObject$3(value) ? reactive(value) : value;
+const toReadonly = (value) => isObject$3(value) ? readonly(value) : value;
+class ComputedRefImpl {
+  constructor(getter, _setter, isReadonly2, isSSR) {
+    this.getter = getter;
+    this._setter = _setter;
+    this.dep = void 0;
+    this.__v_isRef = true;
+    this["__v_isReadonly"] = false;
+    this.effect = new ReactiveEffect(
+      () => getter(this._value),
+      () => triggerRefValue(
+        this,
+        this.effect._dirtyLevel === 2 ? 2 : 3
+      )
+    );
+    this.effect.computed = this;
+    this.effect.active = this._cacheable = !isSSR;
+    this["__v_isReadonly"] = isReadonly2;
+  }
+  get value() {
+    const self2 = toRaw(this);
+    if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) {
+      triggerRefValue(self2, 4);
+    }
+    trackRefValue(self2);
+    if (self2.effect._dirtyLevel >= 2) {
+      triggerRefValue(self2, 2);
+    }
+    return self2._value;
+  }
+  set value(newValue) {
+    this._setter(newValue);
+  }
+  // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x
+  get _dirty() {
+    return this.effect.dirty;
+  }
+  set _dirty(v) {
+    this.effect.dirty = v;
+  }
+  // #endregion
+}
+function computed$1(getterOrOptions, debugOptions, isSSR = false) {
+  let getter;
+  let setter;
+  const onlyGetter = isFunction$1(getterOrOptions);
+  if (onlyGetter) {
+    getter = getterOrOptions;
+    setter = NOOP;
+  } else {
+    getter = getterOrOptions.get;
+    setter = getterOrOptions.set;
+  }
+  const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
+  return cRef;
+}
+function trackRefValue(ref2) {
+  var _a;
+  if (shouldTrack && activeEffect) {
+    ref2 = toRaw(ref2);
+    trackEffect(
+      activeEffect,
+      (_a = ref2.dep) != null ? _a : ref2.dep = createDep(
+        () => ref2.dep = void 0,
+        ref2 instanceof ComputedRefImpl ? ref2 : void 0
+      )
+    );
+  }
+}
+function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
+  ref2 = toRaw(ref2);
+  const dep = ref2.dep;
+  if (dep) {
+    triggerEffects(
+      dep,
+      dirtyLevel
+    );
+  }
+}
+function isRef(r) {
+  return !!(r && r.__v_isRef === true);
+}
+function ref(value) {
+  return createRef(value, false);
+}
+function shallowRef(value) {
+  return createRef(value, true);
+}
+function createRef(rawValue, shallow) {
+  if (isRef(rawValue)) {
+    return rawValue;
+  }
+  return new RefImpl(rawValue, shallow);
+}
+class RefImpl {
+  constructor(value, __v_isShallow) {
+    this.__v_isShallow = __v_isShallow;
+    this.dep = void 0;
+    this.__v_isRef = true;
+    this._rawValue = __v_isShallow ? value : toRaw(value);
+    this._value = __v_isShallow ? value : toReactive(value);
+  }
+  get value() {
+    trackRefValue(this);
+    return this._value;
+  }
+  set value(newVal) {
+    const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
+    newVal = useDirectValue ? newVal : toRaw(newVal);
+    if (hasChanged(newVal, this._rawValue)) {
+      this._rawValue = newVal;
+      this._value = useDirectValue ? newVal : toReactive(newVal);
+      triggerRefValue(this, 4);
+    }
+  }
+}
+function triggerRef(ref2) {
+  triggerRefValue(ref2, 4);
+}
+function unref(ref2) {
+  return isRef(ref2) ? ref2.value : ref2;
+}
+function toValue$1(source) {
+  return isFunction$1(source) ? source() : unref(source);
+}
+const shallowUnwrapHandlers = {
+  get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
+  set: (target, key, value, receiver) => {
+    const oldValue = target[key];
+    if (isRef(oldValue) && !isRef(value)) {
+      oldValue.value = value;
+      return true;
+    } else {
+      return Reflect.set(target, key, value, receiver);
+    }
+  }
+};
+function proxyRefs(objectWithRefs) {
+  return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
+}
+class CustomRefImpl {
+  constructor(factory) {
+    this.dep = void 0;
+    this.__v_isRef = true;
+    const { get: get2, set: set2 } = factory(
+      () => trackRefValue(this),
+      () => triggerRefValue(this)
+    );
+    this._get = get2;
+    this._set = set2;
+  }
+  get value() {
+    return this._get();
+  }
+  set value(newVal) {
+    this._set(newVal);
+  }
+}
+function customRef(factory) {
+  return new CustomRefImpl(factory);
+}
+function toRefs(object) {
+  const ret = isArray$2(object) ? new Array(object.length) : {};
+  for (const key in object) {
+    ret[key] = propertyToRef(object, key);
+  }
+  return ret;
+}
+class ObjectRefImpl {
+  constructor(_object, _key, _defaultValue) {
+    this._object = _object;
+    this._key = _key;
+    this._defaultValue = _defaultValue;
+    this.__v_isRef = true;
+  }
+  get value() {
+    const val = this._object[this._key];
+    return val === void 0 ? this._defaultValue : val;
+  }
+  set value(newVal) {
+    this._object[this._key] = newVal;
+  }
+  get dep() {
+    return getDepFromReactive(toRaw(this._object), this._key);
+  }
+}
+class GetterRefImpl {
+  constructor(_getter) {
+    this._getter = _getter;
+    this.__v_isRef = true;
+    this.__v_isReadonly = true;
+  }
+  get value() {
+    return this._getter();
+  }
+}
+function toRef(source, key, defaultValue) {
+  if (isRef(source)) {
+    return source;
+  } else if (isFunction$1(source)) {
+    return new GetterRefImpl(source);
+  } else if (isObject$3(source) && arguments.length > 1) {
+    return propertyToRef(source, key, defaultValue);
+  } else {
+    return ref(source);
+  }
+}
+function propertyToRef(source, key, defaultValue) {
+  const val = source[key];
+  return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
+}
+const TrackOpTypes = {
+  "GET": "get",
+  "HAS": "has",
+  "ITERATE": "iterate"
+};
+const TriggerOpTypes = {
+  "SET": "set",
+  "ADD": "add",
+  "DELETE": "delete",
+  "CLEAR": "clear"
+};
+/**
+* @vue/runtime-core v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+const stack$1 = [];
+function warn$1(msg, ...args) {
+  pauseTracking();
+  const instance = stack$1.length ? stack$1[stack$1.length - 1].component : null;
+  const appWarnHandler = instance && instance.appContext.config.warnHandler;
+  const trace = getComponentTrace();
+  if (appWarnHandler) {
+    callWithErrorHandling(
+      appWarnHandler,
+      instance,
+      11,
+      [
+        msg + args.map((a) => {
+          var _a, _b;
+          return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);
+        }).join(""),
+        instance && instance.proxy,
+        trace.map(
+          ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`
+        ).join("\n"),
+        trace
+      ]
+    );
+  } else {
+    const warnArgs = [`[Vue warn]: ${msg}`, ...args];
+    if (trace.length && // avoid spamming console during tests
+    true) {
+      warnArgs.push(`
+`, ...formatTrace(trace));
+    }
+    console.warn(...warnArgs);
+  }
+  resetTracking();
+}
+function getComponentTrace() {
+  let currentVNode = stack$1[stack$1.length - 1];
+  if (!currentVNode) {
+    return [];
+  }
+  const normalizedStack = [];
+  while (currentVNode) {
+    const last = normalizedStack[0];
+    if (last && last.vnode === currentVNode) {
+      last.recurseCount++;
+    } else {
+      normalizedStack.push({
+        vnode: currentVNode,
+        recurseCount: 0
+      });
+    }
+    const parentInstance = currentVNode.component && currentVNode.component.parent;
+    currentVNode = parentInstance && parentInstance.vnode;
+  }
+  return normalizedStack;
+}
+function formatTrace(trace) {
+  const logs = [];
+  trace.forEach((entry, i) => {
+    logs.push(...i === 0 ? [] : [`
+`], ...formatTraceEntry(entry));
+  });
+  return logs;
+}
+function formatTraceEntry({ vnode, recurseCount }) {
+  const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
+  const isRoot = vnode.component ? vnode.component.parent == null : false;
+  const open = ` at <${formatComponentName(
+    vnode.component,
+    vnode.type,
+    isRoot
+  )}`;
+  const close = `>` + postfix;
+  return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
+}
+function formatProps(props) {
+  const res = [];
+  const keys = Object.keys(props);
+  keys.slice(0, 3).forEach((key) => {
+    res.push(...formatProp(key, props[key]));
+  });
+  if (keys.length > 3) {
+    res.push(` ...`);
+  }
+  return res;
+}
+function formatProp(key, value, raw) {
+  if (isString$2(value)) {
+    value = JSON.stringify(value);
+    return raw ? value : [`${key}=${value}`];
+  } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
+    return raw ? value : [`${key}=${value}`];
+  } else if (isRef(value)) {
+    value = formatProp(key, toRaw(value.value), true);
+    return raw ? value : [`${key}=Ref<`, value, `>`];
+  } else if (isFunction$1(value)) {
+    return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
+  } else {
+    value = toRaw(value);
+    return raw ? value : [`${key}=`, value];
+  }
+}
+function assertNumber(val, type) {
+  return;
+}
+const ErrorCodes = {
+  "SETUP_FUNCTION": 0,
+  "0": "SETUP_FUNCTION",
+  "RENDER_FUNCTION": 1,
+  "1": "RENDER_FUNCTION",
+  "WATCH_GETTER": 2,
+  "2": "WATCH_GETTER",
+  "WATCH_CALLBACK": 3,
+  "3": "WATCH_CALLBACK",
+  "WATCH_CLEANUP": 4,
+  "4": "WATCH_CLEANUP",
+  "NATIVE_EVENT_HANDLER": 5,
+  "5": "NATIVE_EVENT_HANDLER",
+  "COMPONENT_EVENT_HANDLER": 6,
+  "6": "COMPONENT_EVENT_HANDLER",
+  "VNODE_HOOK": 7,
+  "7": "VNODE_HOOK",
+  "DIRECTIVE_HOOK": 8,
+  "8": "DIRECTIVE_HOOK",
+  "TRANSITION_HOOK": 9,
+  "9": "TRANSITION_HOOK",
+  "APP_ERROR_HANDLER": 10,
+  "10": "APP_ERROR_HANDLER",
+  "APP_WARN_HANDLER": 11,
+  "11": "APP_WARN_HANDLER",
+  "FUNCTION_REF": 12,
+  "12": "FUNCTION_REF",
+  "ASYNC_COMPONENT_LOADER": 13,
+  "13": "ASYNC_COMPONENT_LOADER",
+  "SCHEDULER": 14,
+  "14": "SCHEDULER"
+};
+const ErrorTypeStrings$1 = {
+  ["sp"]: "serverPrefetch hook",
+  ["bc"]: "beforeCreate hook",
+  ["c"]: "created hook",
+  ["bm"]: "beforeMount hook",
+  ["m"]: "mounted hook",
+  ["bu"]: "beforeUpdate hook",
+  ["u"]: "updated",
+  ["bum"]: "beforeUnmount hook",
+  ["um"]: "unmounted hook",
+  ["a"]: "activated hook",
+  ["da"]: "deactivated hook",
+  ["ec"]: "errorCaptured hook",
+  ["rtc"]: "renderTracked hook",
+  ["rtg"]: "renderTriggered hook",
+  [0]: "setup function",
+  [1]: "render function",
+  [2]: "watcher getter",
+  [3]: "watcher callback",
+  [4]: "watcher cleanup function",
+  [5]: "native event handler",
+  [6]: "component event handler",
+  [7]: "vnode hook",
+  [8]: "directive hook",
+  [9]: "transition hook",
+  [10]: "app errorHandler",
+  [11]: "app warnHandler",
+  [12]: "ref function",
+  [13]: "async component loader",
+  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
+};
+function callWithErrorHandling(fn, instance, type, args) {
+  try {
+    return args ? fn(...args) : fn();
+  } catch (err) {
+    handleError(err, instance, type);
+  }
+}
+function callWithAsyncErrorHandling(fn, instance, type, args) {
+  if (isFunction$1(fn)) {
+    const res = callWithErrorHandling(fn, instance, type, args);
+    if (res && isPromise$1(res)) {
+      res.catch((err) => {
+        handleError(err, instance, type);
+      });
+    }
+    return res;
+  }
+  if (isArray$2(fn)) {
+    const values = [];
+    for (let i = 0; i < fn.length; i++) {
+      values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));
+    }
+    return values;
+  }
+}
+function handleError(err, instance, type, throwInDev = true) {
+  const contextVNode = instance ? instance.vnode : null;
+  if (instance) {
+    let cur = instance.parent;
+    const exposedInstance = instance.proxy;
+    const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`;
+    while (cur) {
+      const errorCapturedHooks = cur.ec;
+      if (errorCapturedHooks) {
+        for (let i = 0; i < errorCapturedHooks.length; i++) {
+          if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
+            return;
+          }
+        }
+      }
+      cur = cur.parent;
+    }
+    const appErrorHandler = instance.appContext.config.errorHandler;
+    if (appErrorHandler) {
+      pauseTracking();
+      callWithErrorHandling(
+        appErrorHandler,
+        null,
+        10,
+        [err, exposedInstance, errorInfo]
+      );
+      resetTracking();
+      return;
+    }
+  }
+  logError(err, type, contextVNode, throwInDev);
+}
+function logError(err, type, contextVNode, throwInDev = true) {
+  {
+    console.error(err);
+  }
+}
+let isFlushing = false;
+let isFlushPending = false;
+const queue = [];
+let flushIndex = 0;
+const pendingPostFlushCbs = [];
+let activePostFlushCbs = null;
+let postFlushIndex = 0;
+const resolvedPromise = /* @__PURE__ */ Promise.resolve();
+let currentFlushPromise = null;
+function nextTick(fn) {
+  const p2 = currentFlushPromise || resolvedPromise;
+  return fn ? p2.then(this ? fn.bind(this) : fn) : p2;
+}
+function findInsertionIndex(id) {
+  let start = flushIndex + 1;
+  let end = queue.length;
+  while (start < end) {
+    const middle = start + end >>> 1;
+    const middleJob = queue[middle];
+    const middleJobId = getId(middleJob);
+    if (middleJobId < id || middleJobId === id && middleJob.pre) {
+      start = middle + 1;
+    } else {
+      end = middle;
+    }
+  }
+  return start;
+}
+function queueJob(job) {
+  if (!queue.length || !queue.includes(
+    job,
+    isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
+  )) {
+    if (job.id == null) {
+      queue.push(job);
+    } else {
+      queue.splice(findInsertionIndex(job.id), 0, job);
+    }
+    queueFlush();
+  }
+}
+function queueFlush() {
+  if (!isFlushing && !isFlushPending) {
+    isFlushPending = true;
+    currentFlushPromise = resolvedPromise.then(flushJobs);
+  }
+}
+function invalidateJob(job) {
+  const i = queue.indexOf(job);
+  if (i > flushIndex) {
+    queue.splice(i, 1);
+  }
+}
+function queuePostFlushCb(cb) {
+  if (!isArray$2(cb)) {
+    if (!activePostFlushCbs || !activePostFlushCbs.includes(
+      cb,
+      cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex
+    )) {
+      pendingPostFlushCbs.push(cb);
+    }
+  } else {
+    pendingPostFlushCbs.push(...cb);
+  }
+  queueFlush();
+}
+function flushPreFlushCbs(instance, seen2, i = isFlushing ? flushIndex + 1 : 0) {
+  for (; i < queue.length; i++) {
+    const cb = queue[i];
+    if (cb && cb.pre) {
+      if (instance && cb.id !== instance.uid) {
+        continue;
+      }
+      queue.splice(i, 1);
+      i--;
+      cb();
+    }
+  }
+}
+function flushPostFlushCbs(seen2) {
+  if (pendingPostFlushCbs.length) {
+    const deduped = [...new Set(pendingPostFlushCbs)].sort(
+      (a, b) => getId(a) - getId(b)
+    );
+    pendingPostFlushCbs.length = 0;
+    if (activePostFlushCbs) {
+      activePostFlushCbs.push(...deduped);
+      return;
+    }
+    activePostFlushCbs = deduped;
+    for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
+      activePostFlushCbs[postFlushIndex]();
+    }
+    activePostFlushCbs = null;
+    postFlushIndex = 0;
+  }
+}
+const getId = (job) => job.id == null ? Infinity : job.id;
+const comparator = (a, b) => {
+  const diff = getId(a) - getId(b);
+  if (diff === 0) {
+    if (a.pre && !b.pre)
+      return -1;
+    if (b.pre && !a.pre)
+      return 1;
+  }
+  return diff;
+};
+function flushJobs(seen2) {
+  isFlushPending = false;
+  isFlushing = true;
+  queue.sort(comparator);
+  const check = NOOP;
+  try {
+    for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
+      const job = queue[flushIndex];
+      if (job && job.active !== false) {
+        if (false)
+          ;
+        callWithErrorHandling(job, null, 14);
+      }
+    }
+  } finally {
+    flushIndex = 0;
+    queue.length = 0;
+    flushPostFlushCbs();
+    isFlushing = false;
+    currentFlushPromise = null;
+    if (queue.length || pendingPostFlushCbs.length) {
+      flushJobs();
+    }
+  }
+}
+let devtools$1;
+let buffer = [];
+function setDevtoolsHook$1(hook, target) {
+  var _a, _b;
+  devtools$1 = hook;
+  if (devtools$1) {
+    devtools$1.enabled = true;
+    buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));
+    buffer = [];
+  } else if (
+    // handle late devtools injection - only do this if we are in an actual
+    // browser environment to avoid the timer handle stalling test runner exit
+    // (#4815)
+    typeof window !== "undefined" && // some envs mock window but not fully
+    window.HTMLElement && // also exclude jsdom
+    !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))
+  ) {
+    const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
+    replay.push((newHook) => {
+      setDevtoolsHook$1(newHook, target);
+    });
+    setTimeout(() => {
+      if (!devtools$1) {
+        target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
+        buffer = [];
+      }
+    }, 3e3);
+  } else {
+    buffer = [];
+  }
+}
+function emit(instance, event, ...rawArgs) {
+  if (instance.isUnmounted)
+    return;
+  const props = instance.vnode.props || EMPTY_OBJ;
+  let args = rawArgs;
+  const isModelListener2 = event.startsWith("update:");
+  const modelArg = isModelListener2 && event.slice(7);
+  if (modelArg && modelArg in props) {
+    const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`;
+    const { number: number2, trim } = props[modifiersKey] || EMPTY_OBJ;
+    if (trim) {
+      args = rawArgs.map((a) => isString$2(a) ? a.trim() : a);
+    }
+    if (number2) {
+      args = rawArgs.map(looseToNumber);
+    }
+  }
+  let handlerName;
+  let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)
+  props[handlerName = toHandlerKey(camelize(event))];
+  if (!handler && isModelListener2) {
+    handler = props[handlerName = toHandlerKey(hyphenate(event))];
+  }
+  if (handler) {
+    callWithAsyncErrorHandling(
+      handler,
+      instance,
+      6,
+      args
+    );
+  }
+  const onceHandler = props[handlerName + `Once`];
+  if (onceHandler) {
+    if (!instance.emitted) {
+      instance.emitted = {};
+    } else if (instance.emitted[handlerName]) {
+      return;
+    }
+    instance.emitted[handlerName] = true;
+    callWithAsyncErrorHandling(
+      onceHandler,
+      instance,
+      6,
+      args
+    );
+  }
+}
+function normalizeEmitsOptions(comp, appContext, asMixin = false) {
+  const cache2 = appContext.emitsCache;
+  const cached = cache2.get(comp);
+  if (cached !== void 0) {
+    return cached;
+  }
+  const raw = comp.emits;
+  let normalized = {};
+  let hasExtends = false;
+  if (!isFunction$1(comp)) {
+    const extendEmits = (raw2) => {
+      const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
+      if (normalizedFromExtend) {
+        hasExtends = true;
+        extend(normalized, normalizedFromExtend);
+      }
+    };
+    if (!asMixin && appContext.mixins.length) {
+      appContext.mixins.forEach(extendEmits);
+    }
+    if (comp.extends) {
+      extendEmits(comp.extends);
+    }
+    if (comp.mixins) {
+      comp.mixins.forEach(extendEmits);
+    }
+  }
+  if (!raw && !hasExtends) {
+    if (isObject$3(comp)) {
+      cache2.set(comp, null);
+    }
+    return null;
+  }
+  if (isArray$2(raw)) {
+    raw.forEach((key) => normalized[key] = null);
+  } else {
+    extend(normalized, raw);
+  }
+  if (isObject$3(comp)) {
+    cache2.set(comp, normalized);
+  }
+  return normalized;
+}
+function isEmitListener(options, key) {
+  if (!options || !isOn(key)) {
+    return false;
+  }
+  key = key.slice(2).replace(/Once$/, "");
+  return hasOwn$1(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$1(options, hyphenate(key)) || hasOwn$1(options, key);
+}
+let currentRenderingInstance = null;
+let currentScopeId = null;
+function setCurrentRenderingInstance(instance) {
+  const prev = currentRenderingInstance;
+  currentRenderingInstance = instance;
+  currentScopeId = instance && instance.type.__scopeId || null;
+  return prev;
+}
+function pushScopeId(id) {
+  currentScopeId = id;
+}
+function popScopeId() {
+  currentScopeId = null;
+}
+const withScopeId = (_id) => withCtx;
+function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
+  if (!ctx)
+    return fn;
+  if (fn._n) {
+    return fn;
+  }
+  const renderFnWithContext = (...args) => {
+    if (renderFnWithContext._d) {
+      setBlockTracking(-1);
+    }
+    const prevInstance = setCurrentRenderingInstance(ctx);
+    let res;
+    try {
+      res = fn(...args);
+    } finally {
+      setCurrentRenderingInstance(prevInstance);
+      if (renderFnWithContext._d) {
+        setBlockTracking(1);
+      }
+    }
+    return res;
+  };
+  renderFnWithContext._n = true;
+  renderFnWithContext._c = true;
+  renderFnWithContext._d = true;
+  return renderFnWithContext;
+}
+function markAttrsAccessed() {
+}
+function renderComponentRoot(instance) {
+  const {
+    type: Component,
+    vnode,
+    proxy,
+    withProxy,
+    propsOptions: [propsOptions],
+    slots,
+    attrs,
+    emit: emit2,
+    render: render2,
+    renderCache,
+    props,
+    data,
+    setupState,
+    ctx,
+    inheritAttrs
+  } = instance;
+  const prev = setCurrentRenderingInstance(instance);
+  let result;
+  let fallthroughAttrs;
+  try {
+    if (vnode.shapeFlag & 4) {
+      const proxyToUse = withProxy || proxy;
+      const thisProxy = false ? new Proxy(proxyToUse, {
+        get(target, key, receiver) {
+          warn$1(
+            `Property '${String(
+              key
+            )}' was accessed via 'this'. Avoid using 'this' in templates.`
+          );
+          return Reflect.get(target, key, receiver);
+        }
+      }) : proxyToUse;
+      result = normalizeVNode(
+        render2.call(
+          thisProxy,
+          proxyToUse,
+          renderCache,
+          false ? shallowReadonly(props) : props,
+          setupState,
+          data,
+          ctx
+        )
+      );
+      fallthroughAttrs = attrs;
+    } else {
+      const render22 = Component;
+      if (false)
+        ;
+      result = normalizeVNode(
+        render22.length > 1 ? render22(
+          false ? shallowReadonly(props) : props,
+          false ? {
+            get attrs() {
+              markAttrsAccessed();
+              return shallowReadonly(attrs);
+            },
+            slots,
+            emit: emit2
+          } : { attrs, slots, emit: emit2 }
+        ) : render22(
+          false ? shallowReadonly(props) : props,
+          null
+        )
+      );
+      fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
+    }
+  } catch (err) {
+    blockStack.length = 0;
+    handleError(err, instance, 1);
+    result = createVNode(Comment);
+  }
+  let root = result;
+  if (fallthroughAttrs && inheritAttrs !== false) {
+    const keys = Object.keys(fallthroughAttrs);
+    const { shapeFlag } = root;
+    if (keys.length) {
+      if (shapeFlag & (1 | 6)) {
+        if (propsOptions && keys.some(isModelListener)) {
+          fallthroughAttrs = filterModelListeners(
+            fallthroughAttrs,
+            propsOptions
+          );
+        }
+        root = cloneVNode(root, fallthroughAttrs, false, true);
+      }
+    }
+  }
+  if (vnode.dirs) {
+    root = cloneVNode(root, null, false, true);
+    root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
+  }
+  if (vnode.transition) {
+    root.transition = vnode.transition;
+  }
+  {
+    result = root;
+  }
+  setCurrentRenderingInstance(prev);
+  return result;
+}
+function filterSingleRoot(children, recurse = true) {
+  let singleRoot;
+  for (let i = 0; i < children.length; i++) {
+    const child = children[i];
+    if (isVNode$1(child)) {
+      if (child.type !== Comment || child.children === "v-if") {
+        if (singleRoot) {
+          return;
+        } else {
+          singleRoot = child;
+        }
+      }
+    } else {
+      return;
+    }
+  }
+  return singleRoot;
+}
+const getFunctionalFallthrough = (attrs) => {
+  let res;
+  for (const key in attrs) {
+    if (key === "class" || key === "style" || isOn(key)) {
+      (res || (res = {}))[key] = attrs[key];
+    }
+  }
+  return res;
+};
+const filterModelListeners = (attrs, props) => {
+  const res = {};
+  for (const key in attrs) {
+    if (!isModelListener(key) || !(key.slice(9) in props)) {
+      res[key] = attrs[key];
+    }
+  }
+  return res;
+};
+function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
+  const { props: prevProps, children: prevChildren, component } = prevVNode;
+  const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
+  const emits = component.emitsOptions;
+  if (nextVNode.dirs || nextVNode.transition) {
+    return true;
+  }
+  if (optimized && patchFlag >= 0) {
+    if (patchFlag & 1024) {
+      return true;
+    }
+    if (patchFlag & 16) {
+      if (!prevProps) {
+        return !!nextProps;
+      }
+      return hasPropsChanged(prevProps, nextProps, emits);
+    } else if (patchFlag & 8) {
+      const dynamicProps = nextVNode.dynamicProps;
+      for (let i = 0; i < dynamicProps.length; i++) {
+        const key = dynamicProps[i];
+        if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {
+          return true;
+        }
+      }
+    }
+  } else {
+    if (prevChildren || nextChildren) {
+      if (!nextChildren || !nextChildren.$stable) {
+        return true;
+      }
+    }
+    if (prevProps === nextProps) {
+      return false;
+    }
+    if (!prevProps) {
+      return !!nextProps;
+    }
+    if (!nextProps) {
+      return true;
+    }
+    return hasPropsChanged(prevProps, nextProps, emits);
+  }
+  return false;
+}
+function hasPropsChanged(prevProps, nextProps, emitsOptions) {
+  const nextKeys = Object.keys(nextProps);
+  if (nextKeys.length !== Object.keys(prevProps).length) {
+    return true;
+  }
+  for (let i = 0; i < nextKeys.length; i++) {
+    const key = nextKeys[i];
+    if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
+      return true;
+    }
+  }
+  return false;
+}
+function updateHOCHostEl({ vnode, parent }, el) {
+  while (parent) {
+    const root = parent.subTree;
+    if (root.suspense && root.suspense.activeBranch === vnode) {
+      root.el = vnode.el;
+    }
+    if (root === vnode) {
+      (vnode = parent.vnode).el = el;
+      parent = parent.parent;
+    } else {
+      break;
+    }
+  }
+}
+const COMPONENTS = "components";
+const DIRECTIVES = "directives";
+function resolveComponent(name, maybeSelfReference) {
+  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
+}
+const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
+function resolveDynamicComponent(component) {
+  if (isString$2(component)) {
+    return resolveAsset(COMPONENTS, component, false) || component;
+  } else {
+    return component || NULL_DYNAMIC_COMPONENT;
+  }
+}
+function resolveDirective(name) {
+  return resolveAsset(DIRECTIVES, name);
+}
+function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
+  const instance = currentRenderingInstance || currentInstance;
+  if (instance) {
+    const Component = instance.type;
+    if (type === COMPONENTS) {
+      const selfName = getComponentName(
+        Component,
+        false
+      );
+      if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize$1(camelize(name)))) {
+        return Component;
+      }
+    }
+    const res = (
+      // local registration
+      // check instance[type] first which is resolved for options API
+      resolve(instance[type] || Component[type], name) || // global registration
+      resolve(instance.appContext[type], name)
+    );
+    if (!res && maybeSelfReference) {
+      return Component;
+    }
+    return res;
+  }
+}
+function resolve(registry, name) {
+  return registry && (registry[name] || registry[camelize(name)] || registry[capitalize$1(camelize(name))]);
+}
+const isSuspense = (type) => type.__isSuspense;
+let suspenseId = 0;
+const SuspenseImpl = {
+  name: "Suspense",
+  // In order to make Suspense tree-shakable, we need to avoid importing it
+  // directly in the renderer. The renderer checks for the __isSuspense flag
+  // on a vnode's type and calls the `process` method, passing in renderer
+  // internals.
+  __isSuspense: true,
+  process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
+    if (n1 == null) {
+      mountSuspense(
+        n2,
+        container,
+        anchor,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized,
+        rendererInternals
+      );
+    } else {
+      if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {
+        n2.suspense = n1.suspense;
+        n2.suspense.vnode = n2;
+        n2.el = n1.el;
+        return;
+      }
+      patchSuspense(
+        n1,
+        n2,
+        container,
+        anchor,
+        parentComponent,
+        namespace,
+        slotScopeIds,
+        optimized,
+        rendererInternals
+      );
+    }
+  },
+  hydrate: hydrateSuspense,
+  create: createSuspenseBoundary,
+  normalize: normalizeSuspenseChildren
+};
+const Suspense = SuspenseImpl;
+function triggerEvent(vnode, name) {
+  const eventListener = vnode.props && vnode.props[name];
+  if (isFunction$1(eventListener)) {
+    eventListener();
+  }
+}
+function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
+  const {
+    p: patch,
+    o: { createElement }
+  } = rendererInternals;
+  const hiddenContainer = createElement("div");
+  const suspense = vnode.suspense = createSuspenseBoundary(
+    vnode,
+    parentSuspense,
+    parentComponent,
+    container,
+    hiddenContainer,
+    anchor,
+    namespace,
+    slotScopeIds,
+    optimized,
+    rendererInternals
+  );
+  patch(
+    null,
+    suspense.pendingBranch = vnode.ssContent,
+    hiddenContainer,
+    null,
+    parentComponent,
+    suspense,
+    namespace,
+    slotScopeIds
+  );
+  if (suspense.deps > 0) {
+    triggerEvent(vnode, "onPending");
+    triggerEvent(vnode, "onFallback");
+    patch(
+      null,
+      vnode.ssFallback,
+      container,
+      anchor,
+      parentComponent,
+      null,
+      // fallback tree will not have suspense context
+      namespace,
+      slotScopeIds
+    );
+    setActiveBranch(suspense, vnode.ssFallback);
+  } else {
+    suspense.resolve(false, true);
+  }
+}
+function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
+  const suspense = n2.suspense = n1.suspense;
+  suspense.vnode = n2;
+  n2.el = n1.el;
+  const newBranch = n2.ssContent;
+  const newFallback = n2.ssFallback;
+  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
+  if (pendingBranch) {
+    suspense.pendingBranch = newBranch;
+    if (isSameVNodeType(newBranch, pendingBranch)) {
+      patch(
+        pendingBranch,
+        newBranch,
+        suspense.hiddenContainer,
+        null,
+        parentComponent,
+        suspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+      if (suspense.deps <= 0) {
+        suspense.resolve();
+      } else if (isInFallback) {
+        if (!isHydrating) {
+          patch(
+            activeBranch,
+            newFallback,
+            container,
+            anchor,
+            parentComponent,
+            null,
+            // fallback tree will not have suspense context
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+          setActiveBranch(suspense, newFallback);
+        }
+      }
+    } else {
+      suspense.pendingId = suspenseId++;
+      if (isHydrating) {
+        suspense.isHydrating = false;
+        suspense.activeBranch = pendingBranch;
+      } else {
+        unmount(pendingBranch, parentComponent, suspense);
+      }
+      suspense.deps = 0;
+      suspense.effects.length = 0;
+      suspense.hiddenContainer = createElement("div");
+      if (isInFallback) {
+        patch(
+          null,
+          newBranch,
+          suspense.hiddenContainer,
+          null,
+          parentComponent,
+          suspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+        if (suspense.deps <= 0) {
+          suspense.resolve();
+        } else {
+          patch(
+            activeBranch,
+            newFallback,
+            container,
+            anchor,
+            parentComponent,
+            null,
+            // fallback tree will not have suspense context
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+          setActiveBranch(suspense, newFallback);
+        }
+      } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
+        patch(
+          activeBranch,
+          newBranch,
+          container,
+          anchor,
+          parentComponent,
+          suspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+        suspense.resolve(true);
+      } else {
+        patch(
+          null,
+          newBranch,
+          suspense.hiddenContainer,
+          null,
+          parentComponent,
+          suspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+        if (suspense.deps <= 0) {
+          suspense.resolve();
+        }
+      }
+    }
+  } else {
+    if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
+      patch(
+        activeBranch,
+        newBranch,
+        container,
+        anchor,
+        parentComponent,
+        suspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+      setActiveBranch(suspense, newBranch);
+    } else {
+      triggerEvent(n2, "onPending");
+      suspense.pendingBranch = newBranch;
+      if (newBranch.shapeFlag & 512) {
+        suspense.pendingId = newBranch.component.suspenseId;
+      } else {
+        suspense.pendingId = suspenseId++;
+      }
+      patch(
+        null,
+        newBranch,
+        suspense.hiddenContainer,
+        null,
+        parentComponent,
+        suspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+      if (suspense.deps <= 0) {
+        suspense.resolve();
+      } else {
+        const { timeout, pendingId } = suspense;
+        if (timeout > 0) {
+          setTimeout(() => {
+            if (suspense.pendingId === pendingId) {
+              suspense.fallback(newFallback);
+            }
+          }, timeout);
+        } else if (timeout === 0) {
+          suspense.fallback(newFallback);
+        }
+      }
+    }
+  }
+}
+function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
+  const {
+    p: patch,
+    m: move,
+    um: unmount,
+    n: next,
+    o: { parentNode, remove: remove2 }
+  } = rendererInternals;
+  let parentSuspenseId;
+  const isSuspensible = isVNodeSuspensible(vnode);
+  if (isSuspensible) {
+    if (parentSuspense && parentSuspense.pendingBranch) {
+      parentSuspenseId = parentSuspense.pendingId;
+      parentSuspense.deps++;
+    }
+  }
+  const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;
+  const initialAnchor = anchor;
+  const suspense = {
+    vnode,
+    parent: parentSuspense,
+    parentComponent,
+    namespace,
+    container,
+    hiddenContainer,
+    deps: 0,
+    pendingId: suspenseId++,
+    timeout: typeof timeout === "number" ? timeout : -1,
+    activeBranch: null,
+    pendingBranch: null,
+    isInFallback: !isHydrating,
+    isHydrating,
+    isUnmounted: false,
+    effects: [],
+    resolve(resume = false, sync = false) {
+      const {
+        vnode: vnode2,
+        activeBranch,
+        pendingBranch,
+        pendingId,
+        effects,
+        parentComponent: parentComponent2,
+        container: container2
+      } = suspense;
+      let delayEnter = false;
+      if (suspense.isHydrating) {
+        suspense.isHydrating = false;
+      } else if (!resume) {
+        delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
+        if (delayEnter) {
+          activeBranch.transition.afterLeave = () => {
+            if (pendingId === suspense.pendingId) {
+              move(
+                pendingBranch,
+                container2,
+                anchor === initialAnchor ? next(activeBranch) : anchor,
+                0
+              );
+              queuePostFlushCb(effects);
+            }
+          };
+        }
+        if (activeBranch) {
+          if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {
+            anchor = next(activeBranch);
+          }
+          unmount(activeBranch, parentComponent2, suspense, true);
+        }
+        if (!delayEnter) {
+          move(pendingBranch, container2, anchor, 0);
+        }
+      }
+      setActiveBranch(suspense, pendingBranch);
+      suspense.pendingBranch = null;
+      suspense.isInFallback = false;
+      let parent = suspense.parent;
+      let hasUnresolvedAncestor = false;
+      while (parent) {
+        if (parent.pendingBranch) {
+          parent.effects.push(...effects);
+          hasUnresolvedAncestor = true;
+          break;
+        }
+        parent = parent.parent;
+      }
+      if (!hasUnresolvedAncestor && !delayEnter) {
+        queuePostFlushCb(effects);
+      }
+      suspense.effects = [];
+      if (isSuspensible) {
+        if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {
+          parentSuspense.deps--;
+          if (parentSuspense.deps === 0 && !sync) {
+            parentSuspense.resolve();
+          }
+        }
+      }
+      triggerEvent(vnode2, "onResolve");
+    },
+    fallback(fallbackVNode) {
+      if (!suspense.pendingBranch) {
+        return;
+      }
+      const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;
+      triggerEvent(vnode2, "onFallback");
+      const anchor2 = next(activeBranch);
+      const mountFallback = () => {
+        if (!suspense.isInFallback) {
+          return;
+        }
+        patch(
+          null,
+          fallbackVNode,
+          container2,
+          anchor2,
+          parentComponent2,
+          null,
+          // fallback tree will not have suspense context
+          namespace2,
+          slotScopeIds,
+          optimized
+        );
+        setActiveBranch(suspense, fallbackVNode);
+      };
+      const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
+      if (delayEnter) {
+        activeBranch.transition.afterLeave = mountFallback;
+      }
+      suspense.isInFallback = true;
+      unmount(
+        activeBranch,
+        parentComponent2,
+        null,
+        // no suspense so unmount hooks fire now
+        true
+        // shouldRemove
+      );
+      if (!delayEnter) {
+        mountFallback();
+      }
+    },
+    move(container2, anchor2, type) {
+      suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);
+      suspense.container = container2;
+    },
+    next() {
+      return suspense.activeBranch && next(suspense.activeBranch);
+    },
+    registerDep(instance, setupRenderEffect) {
+      const isInPendingSuspense = !!suspense.pendingBranch;
+      if (isInPendingSuspense) {
+        suspense.deps++;
+      }
+      const hydratedEl = instance.vnode.el;
+      instance.asyncDep.catch((err) => {
+        handleError(err, instance, 0);
+      }).then((asyncSetupResult) => {
+        if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {
+          return;
+        }
+        instance.asyncResolved = true;
+        const { vnode: vnode2 } = instance;
+        handleSetupResult(instance, asyncSetupResult, false);
+        if (hydratedEl) {
+          vnode2.el = hydratedEl;
+        }
+        const placeholder = !hydratedEl && instance.subTree.el;
+        setupRenderEffect(
+          instance,
+          vnode2,
+          // component may have been moved before resolve.
+          // if this is not a hydration, instance.subTree will be the comment
+          // placeholder.
+          parentNode(hydratedEl || instance.subTree.el),
+          // anchor will not be used if this is hydration, so only need to
+          // consider the comment placeholder case.
+          hydratedEl ? null : next(instance.subTree),
+          suspense,
+          namespace,
+          optimized
+        );
+        if (placeholder) {
+          remove2(placeholder);
+        }
+        updateHOCHostEl(instance, vnode2.el);
+        if (isInPendingSuspense && --suspense.deps === 0) {
+          suspense.resolve();
+        }
+      });
+    },
+    unmount(parentSuspense2, doRemove) {
+      suspense.isUnmounted = true;
+      if (suspense.activeBranch) {
+        unmount(
+          suspense.activeBranch,
+          parentComponent,
+          parentSuspense2,
+          doRemove
+        );
+      }
+      if (suspense.pendingBranch) {
+        unmount(
+          suspense.pendingBranch,
+          parentComponent,
+          parentSuspense2,
+          doRemove
+        );
+      }
+    }
+  };
+  return suspense;
+}
+function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {
+  const suspense = vnode.suspense = createSuspenseBoundary(
+    vnode,
+    parentSuspense,
+    parentComponent,
+    node.parentNode,
+    // eslint-disable-next-line no-restricted-globals
+    document.createElement("div"),
+    null,
+    namespace,
+    slotScopeIds,
+    optimized,
+    rendererInternals,
+    true
+  );
+  const result = hydrateNode(
+    node,
+    suspense.pendingBranch = vnode.ssContent,
+    parentComponent,
+    suspense,
+    slotScopeIds,
+    optimized
+  );
+  if (suspense.deps === 0) {
+    suspense.resolve(false, true);
+  }
+  return result;
+}
+function normalizeSuspenseChildren(vnode) {
+  const { shapeFlag, children } = vnode;
+  const isSlotChildren = shapeFlag & 32;
+  vnode.ssContent = normalizeSuspenseSlot(
+    isSlotChildren ? children.default : children
+  );
+  vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);
+}
+function normalizeSuspenseSlot(s) {
+  let block;
+  if (isFunction$1(s)) {
+    const trackBlock = isBlockTreeEnabled && s._c;
+    if (trackBlock) {
+      s._d = false;
+      openBlock();
+    }
+    s = s();
+    if (trackBlock) {
+      s._d = true;
+      block = currentBlock;
+      closeBlock();
+    }
+  }
+  if (isArray$2(s)) {
+    const singleChild = filterSingleRoot(s);
+    s = singleChild;
+  }
+  s = normalizeVNode(s);
+  if (block && !s.dynamicChildren) {
+    s.dynamicChildren = block.filter((c) => c !== s);
+  }
+  return s;
+}
+function queueEffectWithSuspense(fn, suspense) {
+  if (suspense && suspense.pendingBranch) {
+    if (isArray$2(fn)) {
+      suspense.effects.push(...fn);
+    } else {
+      suspense.effects.push(fn);
+    }
+  } else {
+    queuePostFlushCb(fn);
+  }
+}
+function setActiveBranch(suspense, branch) {
+  suspense.activeBranch = branch;
+  const { vnode, parentComponent } = suspense;
+  let el = branch.el;
+  while (!el && branch.component) {
+    branch = branch.component.subTree;
+    el = branch.el;
+  }
+  vnode.el = el;
+  if (parentComponent && parentComponent.subTree === vnode) {
+    parentComponent.vnode.el = el;
+    updateHOCHostEl(parentComponent, el);
+  }
+}
+function isVNodeSuspensible(vnode) {
+  const suspensible = vnode.props && vnode.props.suspensible;
+  return suspensible != null && suspensible !== false;
+}
+const ssrContextKey = Symbol.for("v-scx");
+const useSSRContext = () => {
+  {
+    const ctx = inject(ssrContextKey);
+    return ctx;
+  }
+};
+function watchEffect(effect2, options) {
+  return doWatch(effect2, null, options);
+}
+function watchPostEffect(effect2, options) {
+  return doWatch(
+    effect2,
+    null,
+    { flush: "post" }
+  );
+}
+function watchSyncEffect(effect2, options) {
+  return doWatch(
+    effect2,
+    null,
+    { flush: "sync" }
+  );
+}
+const INITIAL_WATCHER_VALUE = {};
+function watch(source, cb, options) {
+  return doWatch(source, cb, options);
+}
+function doWatch(source, cb, {
+  immediate,
+  deep,
+  flush,
+  once,
+  onTrack,
+  onTrigger
+} = EMPTY_OBJ) {
+  if (cb && once) {
+    const _cb = cb;
+    cb = (...args) => {
+      _cb(...args);
+      unwatch();
+    };
+  }
+  const instance = currentInstance;
+  const reactiveGetter = (source2) => deep === true ? source2 : (
+    // for deep: false, only traverse root-level properties
+    traverse(source2, deep === false ? 1 : void 0)
+  );
+  let getter;
+  let forceTrigger = false;
+  let isMultiSource = false;
+  if (isRef(source)) {
+    getter = () => source.value;
+    forceTrigger = isShallow(source);
+  } else if (isReactive(source)) {
+    getter = () => reactiveGetter(source);
+    forceTrigger = true;
+  } else if (isArray$2(source)) {
+    isMultiSource = true;
+    forceTrigger = source.some((s) => isReactive(s) || isShallow(s));
+    getter = () => source.map((s) => {
+      if (isRef(s)) {
+        return s.value;
+      } else if (isReactive(s)) {
+        return reactiveGetter(s);
+      } else if (isFunction$1(s)) {
+        return callWithErrorHandling(s, instance, 2);
+      } else
+        ;
+    });
+  } else if (isFunction$1(source)) {
+    if (cb) {
+      getter = () => callWithErrorHandling(source, instance, 2);
+    } else {
+      getter = () => {
+        if (cleanup) {
+          cleanup();
+        }
+        return callWithAsyncErrorHandling(
+          source,
+          instance,
+          3,
+          [onCleanup]
+        );
+      };
+    }
+  } else {
+    getter = NOOP;
+  }
+  if (cb && deep) {
+    const baseGetter = getter;
+    getter = () => traverse(baseGetter());
+  }
+  let cleanup;
+  let onCleanup = (fn) => {
+    cleanup = effect2.onStop = () => {
+      callWithErrorHandling(fn, instance, 4);
+      cleanup = effect2.onStop = void 0;
+    };
+  };
+  let ssrCleanup;
+  if (isInSSRComponentSetup) {
+    onCleanup = NOOP;
+    if (!cb) {
+      getter();
+    } else if (immediate) {
+      callWithAsyncErrorHandling(cb, instance, 3, [
+        getter(),
+        isMultiSource ? [] : void 0,
+        onCleanup
+      ]);
+    }
+    if (flush === "sync") {
+      const ctx = useSSRContext();
+      ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
+    } else {
+      return NOOP;
+    }
+  }
+  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
+  const job = () => {
+    if (!effect2.active || !effect2.dirty) {
+      return;
+    }
+    if (cb) {
+      const newValue = effect2.run();
+      if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {
+        if (cleanup) {
+          cleanup();
+        }
+        callWithAsyncErrorHandling(cb, instance, 3, [
+          newValue,
+          // pass undefined as the old value when it's changed for the first time
+          oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
+          onCleanup
+        ]);
+        oldValue = newValue;
+      }
+    } else {
+      effect2.run();
+    }
+  };
+  job.allowRecurse = !!cb;
+  let scheduler;
+  if (flush === "sync") {
+    scheduler = job;
+  } else if (flush === "post") {
+    scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
+  } else {
+    job.pre = true;
+    if (instance)
+      job.id = instance.uid;
+    scheduler = () => queueJob(job);
+  }
+  const effect2 = new ReactiveEffect(getter, NOOP, scheduler);
+  const scope = getCurrentScope();
+  const unwatch = () => {
+    effect2.stop();
+    if (scope) {
+      remove(scope.effects, effect2);
+    }
+  };
+  if (cb) {
+    if (immediate) {
+      job();
+    } else {
+      oldValue = effect2.run();
+    }
+  } else if (flush === "post") {
+    queuePostRenderEffect(
+      effect2.run.bind(effect2),
+      instance && instance.suspense
+    );
+  } else {
+    effect2.run();
+  }
+  if (ssrCleanup)
+    ssrCleanup.push(unwatch);
+  return unwatch;
+}
+function instanceWatch(source, value, options) {
+  const publicThis = this.proxy;
+  const getter = isString$2(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
+  let cb;
+  if (isFunction$1(value)) {
+    cb = value;
+  } else {
+    cb = value.handler;
+    options = value;
+  }
+  const reset2 = setCurrentInstance(this);
+  const res = doWatch(getter, cb.bind(publicThis), options);
+  reset2();
+  return res;
+}
+function createPathGetter(ctx, path) {
+  const segments = path.split(".");
+  return () => {
+    let cur = ctx;
+    for (let i = 0; i < segments.length && cur; i++) {
+      cur = cur[segments[i]];
+    }
+    return cur;
+  };
+}
+function traverse(value, depth = Infinity, seen2) {
+  if (depth <= 0 || !isObject$3(value) || value["__v_skip"]) {
+    return value;
+  }
+  seen2 = seen2 || /* @__PURE__ */ new Set();
+  if (seen2.has(value)) {
+    return value;
+  }
+  seen2.add(value);
+  depth--;
+  if (isRef(value)) {
+    traverse(value.value, depth, seen2);
+  } else if (isArray$2(value)) {
+    for (let i = 0; i < value.length; i++) {
+      traverse(value[i], depth, seen2);
+    }
+  } else if (isSet(value) || isMap(value)) {
+    value.forEach((v) => {
+      traverse(v, depth, seen2);
+    });
+  } else if (isPlainObject$2(value)) {
+    for (const key in value) {
+      traverse(value[key], depth, seen2);
+    }
+  }
+  return value;
+}
+function withDirectives(vnode, directives) {
+  if (currentRenderingInstance === null) {
+    return vnode;
+  }
+  const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;
+  const bindings = vnode.dirs || (vnode.dirs = []);
+  for (let i = 0; i < directives.length; i++) {
+    let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];
+    if (dir) {
+      if (isFunction$1(dir)) {
+        dir = {
+          mounted: dir,
+          updated: dir
+        };
+      }
+      if (dir.deep) {
+        traverse(value);
+      }
+      bindings.push({
+        dir,
+        instance,
+        value,
+        oldValue: void 0,
+        arg,
+        modifiers
+      });
+    }
+  }
+  return vnode;
+}
+function invokeDirectiveHook(vnode, prevVNode, instance, name) {
+  const bindings = vnode.dirs;
+  const oldBindings = prevVNode && prevVNode.dirs;
+  for (let i = 0; i < bindings.length; i++) {
+    const binding = bindings[i];
+    if (oldBindings) {
+      binding.oldValue = oldBindings[i].value;
+    }
+    let hook = binding.dir[name];
+    if (hook) {
+      pauseTracking();
+      callWithAsyncErrorHandling(hook, instance, 8, [
+        vnode.el,
+        binding,
+        vnode,
+        prevVNode
+      ]);
+      resetTracking();
+    }
+  }
+}
+const leaveCbKey = Symbol("_leaveCb");
+const enterCbKey$1 = Symbol("_enterCb");
+function useTransitionState() {
+  const state = {
+    isMounted: false,
+    isLeaving: false,
+    isUnmounting: false,
+    leavingVNodes: /* @__PURE__ */ new Map()
+  };
+  onMounted(() => {
+    state.isMounted = true;
+  });
+  onBeforeUnmount(() => {
+    state.isUnmounting = true;
+  });
+  return state;
+}
+const TransitionHookValidator = [Function, Array];
+const BaseTransitionPropsValidators = {
+  mode: String,
+  appear: Boolean,
+  persisted: Boolean,
+  // enter
+  onBeforeEnter: TransitionHookValidator,
+  onEnter: TransitionHookValidator,
+  onAfterEnter: TransitionHookValidator,
+  onEnterCancelled: TransitionHookValidator,
+  // leave
+  onBeforeLeave: TransitionHookValidator,
+  onLeave: TransitionHookValidator,
+  onAfterLeave: TransitionHookValidator,
+  onLeaveCancelled: TransitionHookValidator,
+  // appear
+  onBeforeAppear: TransitionHookValidator,
+  onAppear: TransitionHookValidator,
+  onAfterAppear: TransitionHookValidator,
+  onAppearCancelled: TransitionHookValidator
+};
+const BaseTransitionImpl = {
+  name: `BaseTransition`,
+  props: BaseTransitionPropsValidators,
+  setup(props, { slots }) {
+    const instance = getCurrentInstance();
+    const state = useTransitionState();
+    return () => {
+      const children = slots.default && getTransitionRawChildren(slots.default(), true);
+      if (!children || !children.length) {
+        return;
+      }
+      let child = children[0];
+      if (children.length > 1) {
+        for (const c of children) {
+          if (c.type !== Comment) {
+            child = c;
+            break;
+          }
+        }
+      }
+      const rawProps = toRaw(props);
+      const { mode } = rawProps;
+      if (state.isLeaving) {
+        return emptyPlaceholder(child);
+      }
+      const innerChild = getKeepAliveChild(child);
+      if (!innerChild) {
+        return emptyPlaceholder(child);
+      }
+      const enterHooks = resolveTransitionHooks(
+        innerChild,
+        rawProps,
+        state,
+        instance
+      );
+      setTransitionHooks(innerChild, enterHooks);
+      const oldChild = instance.subTree;
+      const oldInnerChild = oldChild && getKeepAliveChild(oldChild);
+      if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {
+        const leavingHooks = resolveTransitionHooks(
+          oldInnerChild,
+          rawProps,
+          state,
+          instance
+        );
+        setTransitionHooks(oldInnerChild, leavingHooks);
+        if (mode === "out-in" && innerChild.type !== Comment) {
+          state.isLeaving = true;
+          leavingHooks.afterLeave = () => {
+            state.isLeaving = false;
+            if (instance.update.active !== false) {
+              instance.effect.dirty = true;
+              instance.update();
+            }
+          };
+          return emptyPlaceholder(child);
+        } else if (mode === "in-out" && innerChild.type !== Comment) {
+          leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
+            const leavingVNodesCache = getLeavingNodesForType(
+              state,
+              oldInnerChild
+            );
+            leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
+            el[leaveCbKey] = () => {
+              earlyRemove();
+              el[leaveCbKey] = void 0;
+              delete enterHooks.delayedLeave;
+            };
+            enterHooks.delayedLeave = delayedLeave;
+          };
+        }
+      }
+      return child;
+    };
+  }
+};
+const BaseTransition = BaseTransitionImpl;
+function getLeavingNodesForType(state, vnode) {
+  const { leavingVNodes } = state;
+  let leavingVNodesCache = leavingVNodes.get(vnode.type);
+  if (!leavingVNodesCache) {
+    leavingVNodesCache = /* @__PURE__ */ Object.create(null);
+    leavingVNodes.set(vnode.type, leavingVNodesCache);
+  }
+  return leavingVNodesCache;
+}
+function resolveTransitionHooks(vnode, props, state, instance) {
+  const {
+    appear,
+    mode,
+    persisted = false,
+    onBeforeEnter,
+    onEnter,
+    onAfterEnter,
+    onEnterCancelled,
+    onBeforeLeave,
+    onLeave,
+    onAfterLeave,
+    onLeaveCancelled,
+    onBeforeAppear,
+    onAppear,
+    onAfterAppear,
+    onAppearCancelled
+  } = props;
+  const key = String(vnode.key);
+  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
+  const callHook2 = (hook, args) => {
+    hook && callWithAsyncErrorHandling(
+      hook,
+      instance,
+      9,
+      args
+    );
+  };
+  const callAsyncHook = (hook, args) => {
+    const done = args[1];
+    callHook2(hook, args);
+    if (isArray$2(hook)) {
+      if (hook.every((hook2) => hook2.length <= 1))
+        done();
+    } else if (hook.length <= 1) {
+      done();
+    }
+  };
+  const hooks2 = {
+    mode,
+    persisted,
+    beforeEnter(el) {
+      let hook = onBeforeEnter;
+      if (!state.isMounted) {
+        if (appear) {
+          hook = onBeforeAppear || onBeforeEnter;
+        } else {
+          return;
+        }
+      }
+      if (el[leaveCbKey]) {
+        el[leaveCbKey](
+          true
+          /* cancelled */
+        );
+      }
+      const leavingVNode = leavingVNodesCache[key];
+      if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
+        leavingVNode.el[leaveCbKey]();
+      }
+      callHook2(hook, [el]);
+    },
+    enter(el) {
+      let hook = onEnter;
+      let afterHook = onAfterEnter;
+      let cancelHook = onEnterCancelled;
+      if (!state.isMounted) {
+        if (appear) {
+          hook = onAppear || onEnter;
+          afterHook = onAfterAppear || onAfterEnter;
+          cancelHook = onAppearCancelled || onEnterCancelled;
+        } else {
+          return;
+        }
+      }
+      let called = false;
+      const done = el[enterCbKey$1] = (cancelled) => {
+        if (called)
+          return;
+        called = true;
+        if (cancelled) {
+          callHook2(cancelHook, [el]);
+        } else {
+          callHook2(afterHook, [el]);
+        }
+        if (hooks2.delayedLeave) {
+          hooks2.delayedLeave();
+        }
+        el[enterCbKey$1] = void 0;
+      };
+      if (hook) {
+        callAsyncHook(hook, [el, done]);
+      } else {
+        done();
+      }
+    },
+    leave(el, remove2) {
+      const key2 = String(vnode.key);
+      if (el[enterCbKey$1]) {
+        el[enterCbKey$1](
+          true
+          /* cancelled */
+        );
+      }
+      if (state.isUnmounting) {
+        return remove2();
+      }
+      callHook2(onBeforeLeave, [el]);
+      let called = false;
+      const done = el[leaveCbKey] = (cancelled) => {
+        if (called)
+          return;
+        called = true;
+        remove2();
+        if (cancelled) {
+          callHook2(onLeaveCancelled, [el]);
+        } else {
+          callHook2(onAfterLeave, [el]);
+        }
+        el[leaveCbKey] = void 0;
+        if (leavingVNodesCache[key2] === vnode) {
+          delete leavingVNodesCache[key2];
+        }
+      };
+      leavingVNodesCache[key2] = vnode;
+      if (onLeave) {
+        callAsyncHook(onLeave, [el, done]);
+      } else {
+        done();
+      }
+    },
+    clone(vnode2) {
+      return resolveTransitionHooks(vnode2, props, state, instance);
+    }
+  };
+  return hooks2;
+}
+function emptyPlaceholder(vnode) {
+  if (isKeepAlive(vnode)) {
+    vnode = cloneVNode(vnode);
+    vnode.children = null;
+    return vnode;
+  }
+}
+function getKeepAliveChild(vnode) {
+  if (!isKeepAlive(vnode)) {
+    return vnode;
+  }
+  const { shapeFlag, children } = vnode;
+  if (children) {
+    if (shapeFlag & 16) {
+      return children[0];
+    }
+    if (shapeFlag & 32 && isFunction$1(children.default)) {
+      return children.default();
+    }
+  }
+}
+function setTransitionHooks(vnode, hooks2) {
+  if (vnode.shapeFlag & 6 && vnode.component) {
+    setTransitionHooks(vnode.component.subTree, hooks2);
+  } else if (vnode.shapeFlag & 128) {
+    vnode.ssContent.transition = hooks2.clone(vnode.ssContent);
+    vnode.ssFallback.transition = hooks2.clone(vnode.ssFallback);
+  } else {
+    vnode.transition = hooks2;
+  }
+}
+function getTransitionRawChildren(children, keepComment = false, parentKey) {
+  let ret = [];
+  let keyedFragmentCount = 0;
+  for (let i = 0; i < children.length; i++) {
+    let child = children[i];
+    const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);
+    if (child.type === Fragment) {
+      if (child.patchFlag & 128)
+        keyedFragmentCount++;
+      ret = ret.concat(
+        getTransitionRawChildren(child.children, keepComment, key)
+      );
+    } else if (keepComment || child.type !== Comment) {
+      ret.push(key != null ? cloneVNode(child, { key }) : child);
+    }
+  }
+  if (keyedFragmentCount > 1) {
+    for (let i = 0; i < ret.length; i++) {
+      ret[i].patchFlag = -2;
+    }
+  }
+  return ret;
+}
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function defineComponent(options, extraOptions) {
+  return isFunction$1(options) ? (
+    // #8326: extend call and options.name access are considered side-effects
+    // by Rollup, so we have to wrap it in a pure-annotated IIFE.
+    /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
+  ) : options;
+}
+const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function defineAsyncComponent(source) {
+  if (isFunction$1(source)) {
+    source = { loader: source };
+  }
+  const {
+    loader,
+    loadingComponent,
+    errorComponent,
+    delay = 200,
+    timeout,
+    // undefined = never times out
+    suspensible = true,
+    onError: userOnError
+  } = source;
+  let pendingRequest = null;
+  let resolvedComp;
+  let retries = 0;
+  const retry = () => {
+    retries++;
+    pendingRequest = null;
+    return load();
+  };
+  const load = () => {
+    let thisRequest;
+    return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {
+      err = err instanceof Error ? err : new Error(String(err));
+      if (userOnError) {
+        return new Promise((resolve2, reject) => {
+          const userRetry = () => resolve2(retry());
+          const userFail = () => reject(err);
+          userOnError(err, userRetry, userFail, retries + 1);
+        });
+      } else {
+        throw err;
+      }
+    }).then((comp) => {
+      if (thisRequest !== pendingRequest && pendingRequest) {
+        return pendingRequest;
+      }
+      if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) {
+        comp = comp.default;
+      }
+      resolvedComp = comp;
+      return comp;
+    }));
+  };
+  return /* @__PURE__ */ defineComponent({
+    name: "AsyncComponentWrapper",
+    __asyncLoader: load,
+    get __asyncResolved() {
+      return resolvedComp;
+    },
+    setup() {
+      const instance = currentInstance;
+      if (resolvedComp) {
+        return () => createInnerComp(resolvedComp, instance);
+      }
+      const onError = (err) => {
+        pendingRequest = null;
+        handleError(
+          err,
+          instance,
+          13,
+          !errorComponent
+        );
+      };
+      if (suspensible && instance.suspense || isInSSRComponentSetup) {
+        return load().then((comp) => {
+          return () => createInnerComp(comp, instance);
+        }).catch((err) => {
+          onError(err);
+          return () => errorComponent ? createVNode(errorComponent, {
+            error: err
+          }) : null;
+        });
+      }
+      const loaded = ref(false);
+      const error = ref();
+      const delayed = ref(!!delay);
+      if (delay) {
+        setTimeout(() => {
+          delayed.value = false;
+        }, delay);
+      }
+      if (timeout != null) {
+        setTimeout(() => {
+          if (!loaded.value && !error.value) {
+            const err = new Error(
+              `Async component timed out after ${timeout}ms.`
+            );
+            onError(err);
+            error.value = err;
+          }
+        }, timeout);
+      }
+      load().then(() => {
+        loaded.value = true;
+        if (instance.parent && isKeepAlive(instance.parent.vnode)) {
+          instance.parent.effect.dirty = true;
+          queueJob(instance.parent.update);
+        }
+      }).catch((err) => {
+        onError(err);
+        error.value = err;
+      });
+      return () => {
+        if (loaded.value && resolvedComp) {
+          return createInnerComp(resolvedComp, instance);
+        } else if (error.value && errorComponent) {
+          return createVNode(errorComponent, {
+            error: error.value
+          });
+        } else if (loadingComponent && !delayed.value) {
+          return createVNode(loadingComponent);
+        }
+      };
+    }
+  });
+}
+function createInnerComp(comp, parent) {
+  const { ref: ref2, props, children, ce } = parent.vnode;
+  const vnode = createVNode(comp, props, children);
+  vnode.ref = ref2;
+  vnode.ce = ce;
+  delete parent.vnode.ce;
+  return vnode;
+}
+const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
+const KeepAliveImpl = {
+  name: `KeepAlive`,
+  // Marker for special handling inside the renderer. We are not using a ===
+  // check directly on KeepAlive in the renderer, because importing it directly
+  // would prevent it from being tree-shaken.
+  __isKeepAlive: true,
+  props: {
+    include: [String, RegExp, Array],
+    exclude: [String, RegExp, Array],
+    max: [String, Number]
+  },
+  setup(props, { slots }) {
+    const instance = getCurrentInstance();
+    const sharedContext = instance.ctx;
+    if (!sharedContext.renderer) {
+      return () => {
+        const children = slots.default && slots.default();
+        return children && children.length === 1 ? children[0] : children;
+      };
+    }
+    const cache2 = /* @__PURE__ */ new Map();
+    const keys = /* @__PURE__ */ new Set();
+    let current = null;
+    const parentSuspense = instance.suspense;
+    const {
+      renderer: {
+        p: patch,
+        m: move,
+        um: _unmount,
+        o: { createElement }
+      }
+    } = sharedContext;
+    const storageContainer = createElement("div");
+    sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {
+      const instance2 = vnode.component;
+      move(vnode, container, anchor, 0, parentSuspense);
+      patch(
+        instance2.vnode,
+        vnode,
+        container,
+        anchor,
+        instance2,
+        parentSuspense,
+        namespace,
+        vnode.slotScopeIds,
+        optimized
+      );
+      queuePostRenderEffect(() => {
+        instance2.isDeactivated = false;
+        if (instance2.a) {
+          invokeArrayFns(instance2.a);
+        }
+        const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
+        if (vnodeHook) {
+          invokeVNodeHook(vnodeHook, instance2.parent, vnode);
+        }
+      }, parentSuspense);
+    };
+    sharedContext.deactivate = (vnode) => {
+      const instance2 = vnode.component;
+      move(vnode, storageContainer, null, 1, parentSuspense);
+      queuePostRenderEffect(() => {
+        if (instance2.da) {
+          invokeArrayFns(instance2.da);
+        }
+        const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
+        if (vnodeHook) {
+          invokeVNodeHook(vnodeHook, instance2.parent, vnode);
+        }
+        instance2.isDeactivated = true;
+      }, parentSuspense);
+    };
+    function unmount(vnode) {
+      resetShapeFlag(vnode);
+      _unmount(vnode, instance, parentSuspense, true);
+    }
+    function pruneCache(filter) {
+      cache2.forEach((vnode, key) => {
+        const name = getComponentName(vnode.type);
+        if (name && (!filter || !filter(name))) {
+          pruneCacheEntry(key);
+        }
+      });
+    }
+    function pruneCacheEntry(key) {
+      const cached = cache2.get(key);
+      if (!current || !isSameVNodeType(cached, current)) {
+        unmount(cached);
+      } else if (current) {
+        resetShapeFlag(current);
+      }
+      cache2.delete(key);
+      keys.delete(key);
+    }
+    watch(
+      () => [props.include, props.exclude],
+      ([include, exclude]) => {
+        include && pruneCache((name) => matches(include, name));
+        exclude && pruneCache((name) => !matches(exclude, name));
+      },
+      // prune post-render after `current` has been updated
+      { flush: "post", deep: true }
+    );
+    let pendingCacheKey = null;
+    const cacheSubtree = () => {
+      if (pendingCacheKey != null) {
+        cache2.set(pendingCacheKey, getInnerChild(instance.subTree));
+      }
+    };
+    onMounted(cacheSubtree);
+    onUpdated(cacheSubtree);
+    onBeforeUnmount(() => {
+      cache2.forEach((cached) => {
+        const { subTree, suspense } = instance;
+        const vnode = getInnerChild(subTree);
+        if (cached.type === vnode.type && cached.key === vnode.key) {
+          resetShapeFlag(vnode);
+          const da = vnode.component.da;
+          da && queuePostRenderEffect(da, suspense);
+          return;
+        }
+        unmount(cached);
+      });
+    });
+    return () => {
+      pendingCacheKey = null;
+      if (!slots.default) {
+        return null;
+      }
+      const children = slots.default();
+      const rawVNode = children[0];
+      if (children.length > 1) {
+        current = null;
+        return children;
+      } else if (!isVNode$1(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {
+        current = null;
+        return rawVNode;
+      }
+      let vnode = getInnerChild(rawVNode);
+      const comp = vnode.type;
+      const name = getComponentName(
+        isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp
+      );
+      const { include, exclude, max } = props;
+      if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
+        current = vnode;
+        return rawVNode;
+      }
+      const key = vnode.key == null ? comp : vnode.key;
+      const cachedVNode = cache2.get(key);
+      if (vnode.el) {
+        vnode = cloneVNode(vnode);
+        if (rawVNode.shapeFlag & 128) {
+          rawVNode.ssContent = vnode;
+        }
+      }
+      pendingCacheKey = key;
+      if (cachedVNode) {
+        vnode.el = cachedVNode.el;
+        vnode.component = cachedVNode.component;
+        if (vnode.transition) {
+          setTransitionHooks(vnode, vnode.transition);
+        }
+        vnode.shapeFlag |= 512;
+        keys.delete(key);
+        keys.add(key);
+      } else {
+        keys.add(key);
+        if (max && keys.size > parseInt(max, 10)) {
+          pruneCacheEntry(keys.values().next().value);
+        }
+      }
+      vnode.shapeFlag |= 256;
+      current = vnode;
+      return isSuspense(rawVNode.type) ? rawVNode : vnode;
+    };
+  }
+};
+const KeepAlive = KeepAliveImpl;
+function matches(pattern, name) {
+  if (isArray$2(pattern)) {
+    return pattern.some((p2) => matches(p2, name));
+  } else if (isString$2(pattern)) {
+    return pattern.split(",").includes(name);
+  } else if (isRegExp$1(pattern)) {
+    return pattern.test(name);
+  }
+  return false;
+}
+function onActivated(hook, target) {
+  registerKeepAliveHook(hook, "a", target);
+}
+function onDeactivated(hook, target) {
+  registerKeepAliveHook(hook, "da", target);
+}
+function registerKeepAliveHook(hook, type, target = currentInstance) {
+  const wrappedHook = hook.__wdc || (hook.__wdc = () => {
+    let current = target;
+    while (current) {
+      if (current.isDeactivated) {
+        return;
+      }
+      current = current.parent;
+    }
+    return hook();
+  });
+  injectHook(type, wrappedHook, target);
+  if (target) {
+    let current = target.parent;
+    while (current && current.parent) {
+      if (isKeepAlive(current.parent.vnode)) {
+        injectToKeepAliveRoot(wrappedHook, type, target, current);
+      }
+      current = current.parent;
+    }
+  }
+}
+function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
+  const injected = injectHook(
+    type,
+    hook,
+    keepAliveRoot,
+    true
+    /* prepend */
+  );
+  onUnmounted(() => {
+    remove(keepAliveRoot[type], injected);
+  }, target);
+}
+function resetShapeFlag(vnode) {
+  vnode.shapeFlag &= ~256;
+  vnode.shapeFlag &= ~512;
+}
+function getInnerChild(vnode) {
+  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
+}
+function injectHook(type, hook, target = currentInstance, prepend = false) {
+  if (target) {
+    const hooks2 = target[type] || (target[type] = []);
+    const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
+      if (target.isUnmounted) {
+        return;
+      }
+      pauseTracking();
+      const reset2 = setCurrentInstance(target);
+      const res = callWithAsyncErrorHandling(hook, target, type, args);
+      reset2();
+      resetTracking();
+      return res;
+    });
+    if (prepend) {
+      hooks2.unshift(wrappedHook);
+    } else {
+      hooks2.push(wrappedHook);
+    }
+    return wrappedHook;
+  }
+}
+const createHook = (lifecycle) => (hook, target = currentInstance) => (
+  // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
+  (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target)
+);
+const onBeforeMount = createHook("bm");
+const onMounted = createHook("m");
+const onBeforeUpdate = createHook("bu");
+const onUpdated = createHook("u");
+const onBeforeUnmount = createHook("bum");
+const onUnmounted = createHook("um");
+const onServerPrefetch = createHook("sp");
+const onRenderTriggered = createHook(
+  "rtg"
+);
+const onRenderTracked = createHook(
+  "rtc"
+);
+function onErrorCaptured(hook, target = currentInstance) {
+  injectHook("ec", hook, target);
+}
+function renderList(source, renderItem, cache2, index) {
+  let ret;
+  const cached = cache2 && cache2[index];
+  if (isArray$2(source) || isString$2(source)) {
+    ret = new Array(source.length);
+    for (let i = 0, l = source.length; i < l; i++) {
+      ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);
+    }
+  } else if (typeof source === "number") {
+    ret = new Array(source);
+    for (let i = 0; i < source; i++) {
+      ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
+    }
+  } else if (isObject$3(source)) {
+    if (source[Symbol.iterator]) {
+      ret = Array.from(
+        source,
+        (item, i) => renderItem(item, i, void 0, cached && cached[i])
+      );
+    } else {
+      const keys = Object.keys(source);
+      ret = new Array(keys.length);
+      for (let i = 0, l = keys.length; i < l; i++) {
+        const key = keys[i];
+        ret[i] = renderItem(source[key], key, i, cached && cached[i]);
+      }
+    }
+  } else {
+    ret = [];
+  }
+  if (cache2) {
+    cache2[index] = ret;
+  }
+  return ret;
+}
+function createSlots(slots, dynamicSlots) {
+  for (let i = 0; i < dynamicSlots.length; i++) {
+    const slot = dynamicSlots[i];
+    if (isArray$2(slot)) {
+      for (let j = 0; j < slot.length; j++) {
+        slots[slot[j].name] = slot[j].fn;
+      }
+    } else if (slot) {
+      slots[slot.name] = slot.key ? (...args) => {
+        const res = slot.fn(...args);
+        if (res)
+          res.key = slot.key;
+        return res;
+      } : slot.fn;
+    }
+  }
+  return slots;
+}
+function renderSlot(slots, name, props = {}, fallback, noSlotted) {
+  if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {
+    if (name !== "default")
+      props.name = name;
+    return createVNode("slot", props, fallback && fallback());
+  }
+  let slot = slots[name];
+  if (slot && slot._c) {
+    slot._d = false;
+  }
+  openBlock();
+  const validSlotContent = slot && ensureValidVNode(slot(props));
+  const rendered = createBlock(
+    Fragment,
+    {
+      key: props.key || // slot content array of a dynamic conditional slot may have a branch
+      // key attached in the `createSlots` helper, respect that
+      validSlotContent && validSlotContent.key || `_${name}`
+    },
+    validSlotContent || (fallback ? fallback() : []),
+    validSlotContent && slots._ === 1 ? 64 : -2
+  );
+  if (!noSlotted && rendered.scopeId) {
+    rendered.slotScopeIds = [rendered.scopeId + "-s"];
+  }
+  if (slot && slot._c) {
+    slot._d = true;
+  }
+  return rendered;
+}
+function ensureValidVNode(vnodes) {
+  return vnodes.some((child) => {
+    if (!isVNode$1(child))
+      return true;
+    if (child.type === Comment)
+      return false;
+    if (child.type === Fragment && !ensureValidVNode(child.children))
+      return false;
+    return true;
+  }) ? vnodes : null;
+}
+function toHandlers(obj, preserveCaseIfNecessary) {
+  const ret = {};
+  for (const key in obj) {
+    ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
+  }
+  return ret;
+}
+const getPublicInstance = (i) => {
+  if (!i)
+    return null;
+  if (isStatefulComponent(i))
+    return getExposeProxy(i) || i.proxy;
+  return getPublicInstance(i.parent);
+};
+const publicPropertiesMap = (
+  // Move PURE marker to new line to workaround compiler discarding it
+  // due to type annotation
+  /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {
+    $: (i) => i,
+    $el: (i) => i.vnode.el,
+    $data: (i) => i.data,
+    $props: (i) => i.props,
+    $attrs: (i) => i.attrs,
+    $slots: (i) => i.slots,
+    $refs: (i) => i.refs,
+    $parent: (i) => getPublicInstance(i.parent),
+    $root: (i) => getPublicInstance(i.root),
+    $emit: (i) => i.emit,
+    $options: (i) => resolveMergedOptions(i),
+    $forceUpdate: (i) => i.f || (i.f = () => {
+      i.effect.dirty = true;
+      queueJob(i.update);
+    }),
+    $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),
+    $watch: (i) => instanceWatch.bind(i)
+  })
+);
+const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$1(state, key);
+const PublicInstanceProxyHandlers = {
+  get({ _: instance }, key) {
+    if (key === "__v_skip") {
+      return true;
+    }
+    const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
+    let normalizedProps;
+    if (key[0] !== "$") {
+      const n = accessCache[key];
+      if (n !== void 0) {
+        switch (n) {
+          case 1:
+            return setupState[key];
+          case 2:
+            return data[key];
+          case 4:
+            return ctx[key];
+          case 3:
+            return props[key];
+        }
+      } else if (hasSetupBinding(setupState, key)) {
+        accessCache[key] = 1;
+        return setupState[key];
+      } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) {
+        accessCache[key] = 2;
+        return data[key];
+      } else if (
+        // only cache other properties when instance has declared (thus stable)
+        // props
+        (normalizedProps = instance.propsOptions[0]) && hasOwn$1(normalizedProps, key)
+      ) {
+        accessCache[key] = 3;
+        return props[key];
+      } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) {
+        accessCache[key] = 4;
+        return ctx[key];
+      } else if (shouldCacheAccess) {
+        accessCache[key] = 0;
+      }
+    }
+    const publicGetter = publicPropertiesMap[key];
+    let cssModule, globalProperties;
+    if (publicGetter) {
+      if (key === "$attrs") {
+        track(instance.attrs, "get", "");
+      }
+      return publicGetter(instance);
+    } else if (
+      // css module (injected by vue-loader)
+      (cssModule = type.__cssModules) && (cssModule = cssModule[key])
+    ) {
+      return cssModule;
+    } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) {
+      accessCache[key] = 4;
+      return ctx[key];
+    } else if (
+      // global properties
+      globalProperties = appContext.config.globalProperties, hasOwn$1(globalProperties, key)
+    ) {
+      {
+        return globalProperties[key];
+      }
+    } else
+      ;
+  },
+  set({ _: instance }, key, value) {
+    const { data, setupState, ctx } = instance;
+    if (hasSetupBinding(setupState, key)) {
+      setupState[key] = value;
+      return true;
+    } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) {
+      data[key] = value;
+      return true;
+    } else if (hasOwn$1(instance.props, key)) {
+      return false;
+    }
+    if (key[0] === "$" && key.slice(1) in instance) {
+      return false;
+    } else {
+      {
+        ctx[key] = value;
+      }
+    }
+    return true;
+  },
+  has({
+    _: { data, setupState, accessCache, ctx, appContext, propsOptions }
+  }, key) {
+    let normalizedProps;
+    return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn$1(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn$1(normalizedProps, key) || hasOwn$1(ctx, key) || hasOwn$1(publicPropertiesMap, key) || hasOwn$1(appContext.config.globalProperties, key);
+  },
+  defineProperty(target, key, descriptor) {
+    if (descriptor.get != null) {
+      target._.accessCache[key] = 0;
+    } else if (hasOwn$1(descriptor, "value")) {
+      this.set(target, key, descriptor.value, null);
+    }
+    return Reflect.defineProperty(target, key, descriptor);
+  }
+};
+const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(
+  {},
+  PublicInstanceProxyHandlers,
+  {
+    get(target, key) {
+      if (key === Symbol.unscopables) {
+        return;
+      }
+      return PublicInstanceProxyHandlers.get(target, key, target);
+    },
+    has(_, key) {
+      const has2 = key[0] !== "_" && !isGloballyAllowed(key);
+      return has2;
+    }
+  }
+);
+function defineProps() {
+  return null;
+}
+function defineEmits() {
+  return null;
+}
+function defineExpose(exposed) {
+}
+function defineOptions(options) {
+}
+function defineSlots() {
+  return null;
+}
+function defineModel() {
+}
+function withDefaults(props, defaults) {
+  return null;
+}
+function useSlots() {
+  return getContext().slots;
+}
+function useAttrs() {
+  return getContext().attrs;
+}
+function getContext() {
+  const i = getCurrentInstance();
+  return i.setupContext || (i.setupContext = createSetupContext(i));
+}
+function normalizePropsOrEmits(props) {
+  return isArray$2(props) ? props.reduce(
+    (normalized, p2) => (normalized[p2] = null, normalized),
+    {}
+  ) : props;
+}
+function mergeDefaults(raw, defaults) {
+  const props = normalizePropsOrEmits(raw);
+  for (const key in defaults) {
+    if (key.startsWith("__skip"))
+      continue;
+    let opt = props[key];
+    if (opt) {
+      if (isArray$2(opt) || isFunction$1(opt)) {
+        opt = props[key] = { type: opt, default: defaults[key] };
+      } else {
+        opt.default = defaults[key];
+      }
+    } else if (opt === null) {
+      opt = props[key] = { default: defaults[key] };
+    } else
+      ;
+    if (opt && defaults[`__skip_${key}`]) {
+      opt.skipFactory = true;
+    }
+  }
+  return props;
+}
+function mergeModels(a, b) {
+  if (!a || !b)
+    return a || b;
+  if (isArray$2(a) && isArray$2(b))
+    return a.concat(b);
+  return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));
+}
+function createPropsRestProxy(props, excludedKeys) {
+  const ret = {};
+  for (const key in props) {
+    if (!excludedKeys.includes(key)) {
+      Object.defineProperty(ret, key, {
+        enumerable: true,
+        get: () => props[key]
+      });
+    }
+  }
+  return ret;
+}
+function withAsyncContext(getAwaitable) {
+  const ctx = getCurrentInstance();
+  let awaitable = getAwaitable();
+  unsetCurrentInstance();
+  if (isPromise$1(awaitable)) {
+    awaitable = awaitable.catch((e) => {
+      setCurrentInstance(ctx);
+      throw e;
+    });
+  }
+  return [awaitable, () => setCurrentInstance(ctx)];
+}
+let shouldCacheAccess = true;
+function applyOptions(instance) {
+  const options = resolveMergedOptions(instance);
+  const publicThis = instance.proxy;
+  const ctx = instance.ctx;
+  shouldCacheAccess = false;
+  if (options.beforeCreate) {
+    callHook$1(options.beforeCreate, instance, "bc");
+  }
+  const {
+    // state
+    data: dataOptions,
+    computed: computedOptions,
+    methods,
+    watch: watchOptions,
+    provide: provideOptions,
+    inject: injectOptions,
+    // lifecycle
+    created,
+    beforeMount,
+    mounted,
+    beforeUpdate,
+    updated,
+    activated,
+    deactivated,
+    beforeDestroy,
+    beforeUnmount,
+    destroyed,
+    unmounted,
+    render: render2,
+    renderTracked,
+    renderTriggered,
+    errorCaptured,
+    serverPrefetch,
+    // public API
+    expose,
+    inheritAttrs,
+    // assets
+    components,
+    directives,
+    filters
+  } = options;
+  const checkDuplicateProperties = null;
+  if (injectOptions) {
+    resolveInjections(injectOptions, ctx, checkDuplicateProperties);
+  }
+  if (methods) {
+    for (const key in methods) {
+      const methodHandler = methods[key];
+      if (isFunction$1(methodHandler)) {
+        {
+          ctx[key] = methodHandler.bind(publicThis);
+        }
+      }
+    }
+  }
+  if (dataOptions) {
+    const data = dataOptions.call(publicThis, publicThis);
+    if (!isObject$3(data))
+      ;
+    else {
+      instance.data = reactive(data);
+    }
+  }
+  shouldCacheAccess = true;
+  if (computedOptions) {
+    for (const key in computedOptions) {
+      const opt = computedOptions[key];
+      const get2 = isFunction$1(opt) ? opt.bind(publicThis, publicThis) : isFunction$1(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
+      const set2 = !isFunction$1(opt) && isFunction$1(opt.set) ? opt.set.bind(publicThis) : NOOP;
+      const c = computed({
+        get: get2,
+        set: set2
+      });
+      Object.defineProperty(ctx, key, {
+        enumerable: true,
+        configurable: true,
+        get: () => c.value,
+        set: (v) => c.value = v
+      });
+    }
+  }
+  if (watchOptions) {
+    for (const key in watchOptions) {
+      createWatcher(watchOptions[key], ctx, publicThis, key);
+    }
+  }
+  if (provideOptions) {
+    const provides = isFunction$1(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
+    Reflect.ownKeys(provides).forEach((key) => {
+      provide(key, provides[key]);
+    });
+  }
+  if (created) {
+    callHook$1(created, instance, "c");
+  }
+  function registerLifecycleHook(register, hook) {
+    if (isArray$2(hook)) {
+      hook.forEach((_hook) => register(_hook.bind(publicThis)));
+    } else if (hook) {
+      register(hook.bind(publicThis));
+    }
+  }
+  registerLifecycleHook(onBeforeMount, beforeMount);
+  registerLifecycleHook(onMounted, mounted);
+  registerLifecycleHook(onBeforeUpdate, beforeUpdate);
+  registerLifecycleHook(onUpdated, updated);
+  registerLifecycleHook(onActivated, activated);
+  registerLifecycleHook(onDeactivated, deactivated);
+  registerLifecycleHook(onErrorCaptured, errorCaptured);
+  registerLifecycleHook(onRenderTracked, renderTracked);
+  registerLifecycleHook(onRenderTriggered, renderTriggered);
+  registerLifecycleHook(onBeforeUnmount, beforeUnmount);
+  registerLifecycleHook(onUnmounted, unmounted);
+  registerLifecycleHook(onServerPrefetch, serverPrefetch);
+  if (isArray$2(expose)) {
+    if (expose.length) {
+      const exposed = instance.exposed || (instance.exposed = {});
+      expose.forEach((key) => {
+        Object.defineProperty(exposed, key, {
+          get: () => publicThis[key],
+          set: (val) => publicThis[key] = val
+        });
+      });
+    } else if (!instance.exposed) {
+      instance.exposed = {};
+    }
+  }
+  if (render2 && instance.render === NOOP) {
+    instance.render = render2;
+  }
+  if (inheritAttrs != null) {
+    instance.inheritAttrs = inheritAttrs;
+  }
+  if (components)
+    instance.components = components;
+  if (directives)
+    instance.directives = directives;
+}
+function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
+  if (isArray$2(injectOptions)) {
+    injectOptions = normalizeInject(injectOptions);
+  }
+  for (const key in injectOptions) {
+    const opt = injectOptions[key];
+    let injected;
+    if (isObject$3(opt)) {
+      if ("default" in opt) {
+        injected = inject(
+          opt.from || key,
+          opt.default,
+          true
+        );
+      } else {
+        injected = inject(opt.from || key);
+      }
+    } else {
+      injected = inject(opt);
+    }
+    if (isRef(injected)) {
+      Object.defineProperty(ctx, key, {
+        enumerable: true,
+        configurable: true,
+        get: () => injected.value,
+        set: (v) => injected.value = v
+      });
+    } else {
+      ctx[key] = injected;
+    }
+  }
+}
+function callHook$1(hook, instance, type) {
+  callWithAsyncErrorHandling(
+    isArray$2(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy),
+    instance,
+    type
+  );
+}
+function createWatcher(raw, ctx, publicThis, key) {
+  const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
+  if (isString$2(raw)) {
+    const handler = ctx[raw];
+    if (isFunction$1(handler)) {
+      watch(getter, handler);
+    }
+  } else if (isFunction$1(raw)) {
+    watch(getter, raw.bind(publicThis));
+  } else if (isObject$3(raw)) {
+    if (isArray$2(raw)) {
+      raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
+    } else {
+      const handler = isFunction$1(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
+      if (isFunction$1(handler)) {
+        watch(getter, handler, raw);
+      }
+    }
+  } else
+    ;
+}
+function resolveMergedOptions(instance) {
+  const base = instance.type;
+  const { mixins, extends: extendsOptions } = base;
+  const {
+    mixins: globalMixins,
+    optionsCache: cache2,
+    config: { optionMergeStrategies }
+  } = instance.appContext;
+  const cached = cache2.get(base);
+  let resolved;
+  if (cached) {
+    resolved = cached;
+  } else if (!globalMixins.length && !mixins && !extendsOptions) {
+    {
+      resolved = base;
+    }
+  } else {
+    resolved = {};
+    if (globalMixins.length) {
+      globalMixins.forEach(
+        (m) => mergeOptions$1(resolved, m, optionMergeStrategies, true)
+      );
+    }
+    mergeOptions$1(resolved, base, optionMergeStrategies);
+  }
+  if (isObject$3(base)) {
+    cache2.set(base, resolved);
+  }
+  return resolved;
+}
+function mergeOptions$1(to, from, strats, asMixin = false) {
+  const { mixins, extends: extendsOptions } = from;
+  if (extendsOptions) {
+    mergeOptions$1(to, extendsOptions, strats, true);
+  }
+  if (mixins) {
+    mixins.forEach(
+      (m) => mergeOptions$1(to, m, strats, true)
+    );
+  }
+  for (const key in from) {
+    if (asMixin && key === "expose")
+      ;
+    else {
+      const strat = internalOptionMergeStrats[key] || strats && strats[key];
+      to[key] = strat ? strat(to[key], from[key]) : from[key];
+    }
+  }
+  return to;
+}
+const internalOptionMergeStrats = {
+  data: mergeDataFn,
+  props: mergeEmitsOrPropsOptions,
+  emits: mergeEmitsOrPropsOptions,
+  // objects
+  methods: mergeObjectOptions,
+  computed: mergeObjectOptions,
+  // lifecycle
+  beforeCreate: mergeAsArray$1,
+  created: mergeAsArray$1,
+  beforeMount: mergeAsArray$1,
+  mounted: mergeAsArray$1,
+  beforeUpdate: mergeAsArray$1,
+  updated: mergeAsArray$1,
+  beforeDestroy: mergeAsArray$1,
+  beforeUnmount: mergeAsArray$1,
+  destroyed: mergeAsArray$1,
+  unmounted: mergeAsArray$1,
+  activated: mergeAsArray$1,
+  deactivated: mergeAsArray$1,
+  errorCaptured: mergeAsArray$1,
+  serverPrefetch: mergeAsArray$1,
+  // assets
+  components: mergeObjectOptions,
+  directives: mergeObjectOptions,
+  // watch
+  watch: mergeWatchOptions,
+  // provide / inject
+  provide: mergeDataFn,
+  inject: mergeInject
+};
+function mergeDataFn(to, from) {
+  if (!from) {
+    return to;
+  }
+  if (!to) {
+    return from;
+  }
+  return function mergedDataFn() {
+    return extend(
+      isFunction$1(to) ? to.call(this, this) : to,
+      isFunction$1(from) ? from.call(this, this) : from
+    );
+  };
+}
+function mergeInject(to, from) {
+  return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
+}
+function normalizeInject(raw) {
+  if (isArray$2(raw)) {
+    const res = {};
+    for (let i = 0; i < raw.length; i++) {
+      res[raw[i]] = raw[i];
+    }
+    return res;
+  }
+  return raw;
+}
+function mergeAsArray$1(to, from) {
+  return to ? [...new Set([].concat(to, from))] : from;
+}
+function mergeObjectOptions(to, from) {
+  return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;
+}
+function mergeEmitsOrPropsOptions(to, from) {
+  if (to) {
+    if (isArray$2(to) && isArray$2(from)) {
+      return [.../* @__PURE__ */ new Set([...to, ...from])];
+    }
+    return extend(
+      /* @__PURE__ */ Object.create(null),
+      normalizePropsOrEmits(to),
+      normalizePropsOrEmits(from != null ? from : {})
+    );
+  } else {
+    return from;
+  }
+}
+function mergeWatchOptions(to, from) {
+  if (!to)
+    return from;
+  if (!from)
+    return to;
+  const merged = extend(/* @__PURE__ */ Object.create(null), to);
+  for (const key in from) {
+    merged[key] = mergeAsArray$1(to[key], from[key]);
+  }
+  return merged;
+}
+function createAppContext() {
+  return {
+    app: null,
+    config: {
+      isNativeTag: NO,
+      performance: false,
+      globalProperties: {},
+      optionMergeStrategies: {},
+      errorHandler: void 0,
+      warnHandler: void 0,
+      compilerOptions: {}
+    },
+    mixins: [],
+    components: {},
+    directives: {},
+    provides: /* @__PURE__ */ Object.create(null),
+    optionsCache: /* @__PURE__ */ new WeakMap(),
+    propsCache: /* @__PURE__ */ new WeakMap(),
+    emitsCache: /* @__PURE__ */ new WeakMap()
+  };
+}
+let uid$1 = 0;
+function createAppAPI(render2, hydrate2) {
+  return function createApp2(rootComponent, rootProps = null) {
+    if (!isFunction$1(rootComponent)) {
+      rootComponent = extend({}, rootComponent);
+    }
+    if (rootProps != null && !isObject$3(rootProps)) {
+      rootProps = null;
+    }
+    const context = createAppContext();
+    const installedPlugins = /* @__PURE__ */ new WeakSet();
+    let isMounted = false;
+    const app = context.app = {
+      _uid: uid$1++,
+      _component: rootComponent,
+      _props: rootProps,
+      _container: null,
+      _context: context,
+      _instance: null,
+      version,
+      get config() {
+        return context.config;
+      },
+      set config(v) {
+      },
+      use(plugin, ...options) {
+        if (installedPlugins.has(plugin))
+          ;
+        else if (plugin && isFunction$1(plugin.install)) {
+          installedPlugins.add(plugin);
+          plugin.install(app, ...options);
+        } else if (isFunction$1(plugin)) {
+          installedPlugins.add(plugin);
+          plugin(app, ...options);
+        } else
+          ;
+        return app;
+      },
+      mixin(mixin) {
+        {
+          if (!context.mixins.includes(mixin)) {
+            context.mixins.push(mixin);
+          }
+        }
+        return app;
+      },
+      component(name, component) {
+        if (!component) {
+          return context.components[name];
+        }
+        context.components[name] = component;
+        return app;
+      },
+      directive(name, directive) {
+        if (!directive) {
+          return context.directives[name];
+        }
+        context.directives[name] = directive;
+        return app;
+      },
+      mount(rootContainer, isHydrate, namespace) {
+        if (!isMounted) {
+          const vnode = createVNode(rootComponent, rootProps);
+          vnode.appContext = context;
+          if (namespace === true) {
+            namespace = "svg";
+          } else if (namespace === false) {
+            namespace = void 0;
+          }
+          if (isHydrate && hydrate2) {
+            hydrate2(vnode, rootContainer);
+          } else {
+            render2(vnode, rootContainer, namespace);
+          }
+          isMounted = true;
+          app._container = rootContainer;
+          rootContainer.__vue_app__ = app;
+          return getExposeProxy(vnode.component) || vnode.component.proxy;
+        }
+      },
+      unmount() {
+        if (isMounted) {
+          render2(null, app._container);
+          delete app._container.__vue_app__;
+        }
+      },
+      provide(key, value) {
+        context.provides[key] = value;
+        return app;
+      },
+      runWithContext(fn) {
+        const lastApp = currentApp;
+        currentApp = app;
+        try {
+          return fn();
+        } finally {
+          currentApp = lastApp;
+        }
+      }
+    };
+    return app;
+  };
+}
+let currentApp = null;
+function provide(key, value) {
+  if (!currentInstance)
+    ;
+  else {
+    let provides = currentInstance.provides;
+    const parentProvides = currentInstance.parent && currentInstance.parent.provides;
+    if (parentProvides === provides) {
+      provides = currentInstance.provides = Object.create(parentProvides);
+    }
+    provides[key] = value;
+  }
+}
+function inject(key, defaultValue, treatDefaultAsFactory = false) {
+  const instance = currentInstance || currentRenderingInstance;
+  if (instance || currentApp) {
+    const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;
+    if (provides && key in provides) {
+      return provides[key];
+    } else if (arguments.length > 1) {
+      return treatDefaultAsFactory && isFunction$1(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
+    } else
+      ;
+  }
+}
+function hasInjectionContext() {
+  return !!(currentInstance || currentRenderingInstance || currentApp);
+}
+const internalObjectProto = {};
+const createInternalObject = () => Object.create(internalObjectProto);
+const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;
+function initProps(instance, rawProps, isStateful, isSSR = false) {
+  const props = {};
+  const attrs = createInternalObject();
+  instance.propsDefaults = /* @__PURE__ */ Object.create(null);
+  setFullProps(instance, rawProps, props, attrs);
+  for (const key in instance.propsOptions[0]) {
+    if (!(key in props)) {
+      props[key] = void 0;
+    }
+  }
+  if (isStateful) {
+    instance.props = isSSR ? props : shallowReactive(props);
+  } else {
+    if (!instance.type.props) {
+      instance.props = attrs;
+    } else {
+      instance.props = props;
+    }
+  }
+  instance.attrs = attrs;
+}
+function updateProps(instance, rawProps, rawPrevProps, optimized) {
+  const {
+    props,
+    attrs,
+    vnode: { patchFlag }
+  } = instance;
+  const rawCurrentProps = toRaw(props);
+  const [options] = instance.propsOptions;
+  let hasAttrsChanged = false;
+  if (
+    // always force full diff in dev
+    // - #1942 if hmr is enabled with sfc component
+    // - vite#872 non-sfc component used by sfc component
+    (optimized || patchFlag > 0) && !(patchFlag & 16)
+  ) {
+    if (patchFlag & 8) {
+      const propsToUpdate = instance.vnode.dynamicProps;
+      for (let i = 0; i < propsToUpdate.length; i++) {
+        let key = propsToUpdate[i];
+        if (isEmitListener(instance.emitsOptions, key)) {
+          continue;
+        }
+        const value = rawProps[key];
+        if (options) {
+          if (hasOwn$1(attrs, key)) {
+            if (value !== attrs[key]) {
+              attrs[key] = value;
+              hasAttrsChanged = true;
+            }
+          } else {
+            const camelizedKey = camelize(key);
+            props[camelizedKey] = resolvePropValue(
+              options,
+              rawCurrentProps,
+              camelizedKey,
+              value,
+              instance,
+              false
+            );
+          }
+        } else {
+          if (value !== attrs[key]) {
+            attrs[key] = value;
+            hasAttrsChanged = true;
+          }
+        }
+      }
+    }
+  } else {
+    if (setFullProps(instance, rawProps, props, attrs)) {
+      hasAttrsChanged = true;
+    }
+    let kebabKey;
+    for (const key in rawCurrentProps) {
+      if (!rawProps || // for camelCase
+      !hasOwn$1(rawProps, key) && // it's possible the original props was passed in as kebab-case
+      // and converted to camelCase (#955)
+      ((kebabKey = hyphenate(key)) === key || !hasOwn$1(rawProps, kebabKey))) {
+        if (options) {
+          if (rawPrevProps && // for camelCase
+          (rawPrevProps[key] !== void 0 || // for kebab-case
+          rawPrevProps[kebabKey] !== void 0)) {
+            props[key] = resolvePropValue(
+              options,
+              rawCurrentProps,
+              key,
+              void 0,
+              instance,
+              true
+            );
+          }
+        } else {
+          delete props[key];
+        }
+      }
+    }
+    if (attrs !== rawCurrentProps) {
+      for (const key in attrs) {
+        if (!rawProps || !hasOwn$1(rawProps, key) && true) {
+          delete attrs[key];
+          hasAttrsChanged = true;
+        }
+      }
+    }
+  }
+  if (hasAttrsChanged) {
+    trigger(instance.attrs, "set", "");
+  }
+}
+function setFullProps(instance, rawProps, props, attrs) {
+  const [options, needCastKeys] = instance.propsOptions;
+  let hasAttrsChanged = false;
+  let rawCastValues;
+  if (rawProps) {
+    for (let key in rawProps) {
+      if (isReservedProp(key)) {
+        continue;
+      }
+      const value = rawProps[key];
+      let camelKey;
+      if (options && hasOwn$1(options, camelKey = camelize(key))) {
+        if (!needCastKeys || !needCastKeys.includes(camelKey)) {
+          props[camelKey] = value;
+        } else {
+          (rawCastValues || (rawCastValues = {}))[camelKey] = value;
+        }
+      } else if (!isEmitListener(instance.emitsOptions, key)) {
+        if (!(key in attrs) || value !== attrs[key]) {
+          attrs[key] = value;
+          hasAttrsChanged = true;
+        }
+      }
+    }
+  }
+  if (needCastKeys) {
+    const rawCurrentProps = toRaw(props);
+    const castValues = rawCastValues || EMPTY_OBJ;
+    for (let i = 0; i < needCastKeys.length; i++) {
+      const key = needCastKeys[i];
+      props[key] = resolvePropValue(
+        options,
+        rawCurrentProps,
+        key,
+        castValues[key],
+        instance,
+        !hasOwn$1(castValues, key)
+      );
+    }
+  }
+  return hasAttrsChanged;
+}
+function resolvePropValue(options, props, key, value, instance, isAbsent) {
+  const opt = options[key];
+  if (opt != null) {
+    const hasDefault = hasOwn$1(opt, "default");
+    if (hasDefault && value === void 0) {
+      const defaultValue = opt.default;
+      if (opt.type !== Function && !opt.skipFactory && isFunction$1(defaultValue)) {
+        const { propsDefaults } = instance;
+        if (key in propsDefaults) {
+          value = propsDefaults[key];
+        } else {
+          const reset2 = setCurrentInstance(instance);
+          value = propsDefaults[key] = defaultValue.call(
+            null,
+            props
+          );
+          reset2();
+        }
+      } else {
+        value = defaultValue;
+      }
+    }
+    if (opt[
+      0
+      /* shouldCast */
+    ]) {
+      if (isAbsent && !hasDefault) {
+        value = false;
+      } else if (opt[
+        1
+        /* shouldCastTrue */
+      ] && (value === "" || value === hyphenate(key))) {
+        value = true;
+      }
+    }
+  }
+  return value;
+}
+function normalizePropsOptions(comp, appContext, asMixin = false) {
+  const cache2 = appContext.propsCache;
+  const cached = cache2.get(comp);
+  if (cached) {
+    return cached;
+  }
+  const raw = comp.props;
+  const normalized = {};
+  const needCastKeys = [];
+  let hasExtends = false;
+  if (!isFunction$1(comp)) {
+    const extendProps = (raw2) => {
+      hasExtends = true;
+      const [props, keys] = normalizePropsOptions(raw2, appContext, true);
+      extend(normalized, props);
+      if (keys)
+        needCastKeys.push(...keys);
+    };
+    if (!asMixin && appContext.mixins.length) {
+      appContext.mixins.forEach(extendProps);
+    }
+    if (comp.extends) {
+      extendProps(comp.extends);
+    }
+    if (comp.mixins) {
+      comp.mixins.forEach(extendProps);
+    }
+  }
+  if (!raw && !hasExtends) {
+    if (isObject$3(comp)) {
+      cache2.set(comp, EMPTY_ARR);
+    }
+    return EMPTY_ARR;
+  }
+  if (isArray$2(raw)) {
+    for (let i = 0; i < raw.length; i++) {
+      const normalizedKey = camelize(raw[i]);
+      if (validatePropName(normalizedKey)) {
+        normalized[normalizedKey] = EMPTY_OBJ;
+      }
+    }
+  } else if (raw) {
+    for (const key in raw) {
+      const normalizedKey = camelize(key);
+      if (validatePropName(normalizedKey)) {
+        const opt = raw[key];
+        const prop = normalized[normalizedKey] = isArray$2(opt) || isFunction$1(opt) ? { type: opt } : extend({}, opt);
+        if (prop) {
+          const booleanIndex = getTypeIndex(Boolean, prop.type);
+          const stringIndex = getTypeIndex(String, prop.type);
+          prop[
+            0
+            /* shouldCast */
+          ] = booleanIndex > -1;
+          prop[
+            1
+            /* shouldCastTrue */
+          ] = stringIndex < 0 || booleanIndex < stringIndex;
+          if (booleanIndex > -1 || hasOwn$1(prop, "default")) {
+            needCastKeys.push(normalizedKey);
+          }
+        }
+      }
+    }
+  }
+  const res = [normalized, needCastKeys];
+  if (isObject$3(comp)) {
+    cache2.set(comp, res);
+  }
+  return res;
+}
+function validatePropName(key) {
+  if (key[0] !== "$" && !isReservedProp(key)) {
+    return true;
+  }
+  return false;
+}
+function getType(ctor) {
+  if (ctor === null) {
+    return "null";
+  }
+  if (typeof ctor === "function") {
+    return ctor.name || "";
+  } else if (typeof ctor === "object") {
+    const name = ctor.constructor && ctor.constructor.name;
+    return name || "";
+  }
+  return "";
+}
+function isSameType(a, b) {
+  return getType(a) === getType(b);
+}
+function getTypeIndex(type, expectedTypes) {
+  if (isArray$2(expectedTypes)) {
+    return expectedTypes.findIndex((t) => isSameType(t, type));
+  } else if (isFunction$1(expectedTypes)) {
+    return isSameType(expectedTypes, type) ? 0 : -1;
+  }
+  return -1;
+}
+const isInternalKey = (key) => key[0] === "_" || key === "$stable";
+const normalizeSlotValue = (value) => isArray$2(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
+const normalizeSlot$1 = (key, rawSlot, ctx) => {
+  if (rawSlot._n) {
+    return rawSlot;
+  }
+  const normalized = withCtx((...args) => {
+    if (false)
+      ;
+    return normalizeSlotValue(rawSlot(...args));
+  }, ctx);
+  normalized._c = false;
+  return normalized;
+};
+const normalizeObjectSlots = (rawSlots, slots, instance) => {
+  const ctx = rawSlots._ctx;
+  for (const key in rawSlots) {
+    if (isInternalKey(key))
+      continue;
+    const value = rawSlots[key];
+    if (isFunction$1(value)) {
+      slots[key] = normalizeSlot$1(key, value, ctx);
+    } else if (value != null) {
+      const normalized = normalizeSlotValue(value);
+      slots[key] = () => normalized;
+    }
+  }
+};
+const normalizeVNodeSlots = (instance, children) => {
+  const normalized = normalizeSlotValue(children);
+  instance.slots.default = () => normalized;
+};
+const initSlots = (instance, children) => {
+  const slots = instance.slots = createInternalObject();
+  if (instance.vnode.shapeFlag & 32) {
+    const type = children._;
+    if (type) {
+      extend(slots, children);
+      def(slots, "_", type, true);
+    } else {
+      normalizeObjectSlots(children, slots);
+    }
+  } else if (children) {
+    normalizeVNodeSlots(instance, children);
+  }
+};
+const updateSlots = (instance, children, optimized) => {
+  const { vnode, slots } = instance;
+  let needDeletionCheck = true;
+  let deletionComparisonTarget = EMPTY_OBJ;
+  if (vnode.shapeFlag & 32) {
+    const type = children._;
+    if (type) {
+      if (optimized && type === 1) {
+        needDeletionCheck = false;
+      } else {
+        extend(slots, children);
+        if (!optimized && type === 1) {
+          delete slots._;
+        }
+      }
+    } else {
+      needDeletionCheck = !children.$stable;
+      normalizeObjectSlots(children, slots);
+    }
+    deletionComparisonTarget = children;
+  } else if (children) {
+    normalizeVNodeSlots(instance, children);
+    deletionComparisonTarget = { default: 1 };
+  }
+  if (needDeletionCheck) {
+    for (const key in slots) {
+      if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {
+        delete slots[key];
+      }
+    }
+  }
+};
+function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
+  if (isArray$2(rawRef)) {
+    rawRef.forEach(
+      (r, i) => setRef(
+        r,
+        oldRawRef && (isArray$2(oldRawRef) ? oldRawRef[i] : oldRawRef),
+        parentSuspense,
+        vnode,
+        isUnmount
+      )
+    );
+    return;
+  }
+  if (isAsyncWrapper(vnode) && !isUnmount) {
+    return;
+  }
+  const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;
+  const value = isUnmount ? null : refValue;
+  const { i: owner, r: ref2 } = rawRef;
+  const oldRef = oldRawRef && oldRawRef.r;
+  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
+  const setupState = owner.setupState;
+  if (oldRef != null && oldRef !== ref2) {
+    if (isString$2(oldRef)) {
+      refs[oldRef] = null;
+      if (hasOwn$1(setupState, oldRef)) {
+        setupState[oldRef] = null;
+      }
+    } else if (isRef(oldRef)) {
+      oldRef.value = null;
+    }
+  }
+  if (isFunction$1(ref2)) {
+    callWithErrorHandling(ref2, owner, 12, [value, refs]);
+  } else {
+    const _isString = isString$2(ref2);
+    const _isRef = isRef(ref2);
+    if (_isString || _isRef) {
+      const doSet = () => {
+        if (rawRef.f) {
+          const existing = _isString ? hasOwn$1(setupState, ref2) ? setupState[ref2] : refs[ref2] : ref2.value;
+          if (isUnmount) {
+            isArray$2(existing) && remove(existing, refValue);
+          } else {
+            if (!isArray$2(existing)) {
+              if (_isString) {
+                refs[ref2] = [refValue];
+                if (hasOwn$1(setupState, ref2)) {
+                  setupState[ref2] = refs[ref2];
+                }
+              } else {
+                ref2.value = [refValue];
+                if (rawRef.k)
+                  refs[rawRef.k] = ref2.value;
+              }
+            } else if (!existing.includes(refValue)) {
+              existing.push(refValue);
+            }
+          }
+        } else if (_isString) {
+          refs[ref2] = value;
+          if (hasOwn$1(setupState, ref2)) {
+            setupState[ref2] = value;
+          }
+        } else if (_isRef) {
+          ref2.value = value;
+          if (rawRef.k)
+            refs[rawRef.k] = value;
+        } else
+          ;
+      };
+      if (value) {
+        doSet.id = -1;
+        queuePostRenderEffect(doSet, parentSuspense);
+      } else {
+        doSet();
+      }
+    }
+  }
+}
+let hasMismatch = false;
+const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
+const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
+const getContainerType = (container) => {
+  if (isSVGContainer(container))
+    return "svg";
+  if (isMathMLContainer(container))
+    return "mathml";
+  return void 0;
+};
+const isComment = (node) => node.nodeType === 8;
+function createHydrationFunctions(rendererInternals) {
+  const {
+    mt: mountComponent,
+    p: patch,
+    o: {
+      patchProp: patchProp2,
+      createText,
+      nextSibling,
+      parentNode,
+      remove: remove2,
+      insert,
+      createComment
+    }
+  } = rendererInternals;
+  const hydrate2 = (vnode, container) => {
+    if (!container.hasChildNodes()) {
+      patch(null, vnode, container);
+      flushPostFlushCbs();
+      container._vnode = vnode;
+      return;
+    }
+    hasMismatch = false;
+    hydrateNode(container.firstChild, vnode, null, null, null);
+    flushPostFlushCbs();
+    container._vnode = vnode;
+    if (hasMismatch && true) {
+      console.error(`Hydration completed but contains mismatches.`);
+    }
+  };
+  const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
+    optimized = optimized || !!vnode.dynamicChildren;
+    const isFragmentStart = isComment(node) && node.data === "[";
+    const onMismatch = () => handleMismatch(
+      node,
+      vnode,
+      parentComponent,
+      parentSuspense,
+      slotScopeIds,
+      isFragmentStart
+    );
+    const { type, ref: ref2, shapeFlag, patchFlag } = vnode;
+    let domType = node.nodeType;
+    vnode.el = node;
+    if (patchFlag === -2) {
+      optimized = false;
+      vnode.dynamicChildren = null;
+    }
+    let nextNode = null;
+    switch (type) {
+      case Text:
+        if (domType !== 3) {
+          if (vnode.children === "") {
+            insert(vnode.el = createText(""), parentNode(node), node);
+            nextNode = node;
+          } else {
+            nextNode = onMismatch();
+          }
+        } else {
+          if (node.data !== vnode.children) {
+            hasMismatch = true;
+            node.data = vnode.children;
+          }
+          nextNode = nextSibling(node);
+        }
+        break;
+      case Comment:
+        if (isTemplateNode2(node)) {
+          nextNode = nextSibling(node);
+          replaceNode(
+            vnode.el = node.content.firstChild,
+            node,
+            parentComponent
+          );
+        } else if (domType !== 8 || isFragmentStart) {
+          nextNode = onMismatch();
+        } else {
+          nextNode = nextSibling(node);
+        }
+        break;
+      case Static:
+        if (isFragmentStart) {
+          node = nextSibling(node);
+          domType = node.nodeType;
+        }
+        if (domType === 1 || domType === 3) {
+          nextNode = node;
+          const needToAdoptContent = !vnode.children.length;
+          for (let i = 0; i < vnode.staticCount; i++) {
+            if (needToAdoptContent)
+              vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;
+            if (i === vnode.staticCount - 1) {
+              vnode.anchor = nextNode;
+            }
+            nextNode = nextSibling(nextNode);
+          }
+          return isFragmentStart ? nextSibling(nextNode) : nextNode;
+        } else {
+          onMismatch();
+        }
+        break;
+      case Fragment:
+        if (!isFragmentStart) {
+          nextNode = onMismatch();
+        } else {
+          nextNode = hydrateFragment(
+            node,
+            vnode,
+            parentComponent,
+            parentSuspense,
+            slotScopeIds,
+            optimized
+          );
+        }
+        break;
+      default:
+        if (shapeFlag & 1) {
+          if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode2(node)) {
+            nextNode = onMismatch();
+          } else {
+            nextNode = hydrateElement(
+              node,
+              vnode,
+              parentComponent,
+              parentSuspense,
+              slotScopeIds,
+              optimized
+            );
+          }
+        } else if (shapeFlag & 6) {
+          vnode.slotScopeIds = slotScopeIds;
+          const container = parentNode(node);
+          if (isFragmentStart) {
+            nextNode = locateClosingAnchor(node);
+          } else if (isComment(node) && node.data === "teleport start") {
+            nextNode = locateClosingAnchor(node, node.data, "teleport end");
+          } else {
+            nextNode = nextSibling(node);
+          }
+          mountComponent(
+            vnode,
+            container,
+            null,
+            parentComponent,
+            parentSuspense,
+            getContainerType(container),
+            optimized
+          );
+          if (isAsyncWrapper(vnode)) {
+            let subTree;
+            if (isFragmentStart) {
+              subTree = createVNode(Fragment);
+              subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
+            } else {
+              subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
+            }
+            subTree.el = node;
+            vnode.component.subTree = subTree;
+          }
+        } else if (shapeFlag & 64) {
+          if (domType !== 8) {
+            nextNode = onMismatch();
+          } else {
+            nextNode = vnode.type.hydrate(
+              node,
+              vnode,
+              parentComponent,
+              parentSuspense,
+              slotScopeIds,
+              optimized,
+              rendererInternals,
+              hydrateChildren
+            );
+          }
+        } else if (shapeFlag & 128) {
+          nextNode = vnode.type.hydrate(
+            node,
+            vnode,
+            parentComponent,
+            parentSuspense,
+            getContainerType(parentNode(node)),
+            slotScopeIds,
+            optimized,
+            rendererInternals,
+            hydrateNode
+          );
+        } else
+          ;
+    }
+    if (ref2 != null) {
+      setRef(ref2, null, parentSuspense, vnode);
+    }
+    return nextNode;
+  };
+  const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
+    optimized = optimized || !!vnode.dynamicChildren;
+    const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;
+    const forcePatch = type === "input" || type === "option";
+    if (forcePatch || patchFlag !== -1) {
+      if (dirs) {
+        invokeDirectiveHook(vnode, null, parentComponent, "created");
+      }
+      let needCallTransitionHooks = false;
+      if (isTemplateNode2(el)) {
+        needCallTransitionHooks = needTransition(parentSuspense, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
+        const content = el.content.firstChild;
+        if (needCallTransitionHooks) {
+          transition.beforeEnter(content);
+        }
+        replaceNode(content, el, parentComponent);
+        vnode.el = el = content;
+      }
+      if (shapeFlag & 16 && // skip if element has innerHTML / textContent
+      !(props && (props.innerHTML || props.textContent))) {
+        let next = hydrateChildren(
+          el.firstChild,
+          vnode,
+          el,
+          parentComponent,
+          parentSuspense,
+          slotScopeIds,
+          optimized
+        );
+        while (next) {
+          hasMismatch = true;
+          const cur = next;
+          next = next.nextSibling;
+          remove2(cur);
+        }
+      } else if (shapeFlag & 8) {
+        if (el.textContent !== vnode.children) {
+          hasMismatch = true;
+          el.textContent = vnode.children;
+        }
+      }
+      if (props) {
+        if (forcePatch || !optimized || patchFlag & (16 | 32)) {
+          for (const key in props) {
+            if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
+            key[0] === ".") {
+              patchProp2(
+                el,
+                key,
+                null,
+                props[key],
+                void 0,
+                void 0,
+                parentComponent
+              );
+            }
+          }
+        } else if (props.onClick) {
+          patchProp2(
+            el,
+            "onClick",
+            null,
+            props.onClick,
+            void 0,
+            void 0,
+            parentComponent
+          );
+        }
+      }
+      let vnodeHooks;
+      if (vnodeHooks = props && props.onVnodeBeforeMount) {
+        invokeVNodeHook(vnodeHooks, parentComponent, vnode);
+      }
+      if (dirs) {
+        invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
+      }
+      if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {
+        queueEffectWithSuspense(() => {
+          vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
+          needCallTransitionHooks && transition.enter(el);
+          dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+        }, parentSuspense);
+      }
+    }
+    return el.nextSibling;
+  };
+  const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {
+    optimized = optimized || !!parentVNode.dynamicChildren;
+    const children = parentVNode.children;
+    const l = children.length;
+    for (let i = 0; i < l; i++) {
+      const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
+      if (node) {
+        node = hydrateNode(
+          node,
+          vnode,
+          parentComponent,
+          parentSuspense,
+          slotScopeIds,
+          optimized
+        );
+      } else if (vnode.type === Text && !vnode.children) {
+        continue;
+      } else {
+        hasMismatch = true;
+        patch(
+          null,
+          vnode,
+          container,
+          null,
+          parentComponent,
+          parentSuspense,
+          getContainerType(container),
+          slotScopeIds
+        );
+      }
+    }
+    return node;
+  };
+  const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
+    const { slotScopeIds: fragmentSlotScopeIds } = vnode;
+    if (fragmentSlotScopeIds) {
+      slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
+    }
+    const container = parentNode(node);
+    const next = hydrateChildren(
+      nextSibling(node),
+      vnode,
+      container,
+      parentComponent,
+      parentSuspense,
+      slotScopeIds,
+      optimized
+    );
+    if (next && isComment(next) && next.data === "]") {
+      return nextSibling(vnode.anchor = next);
+    } else {
+      hasMismatch = true;
+      insert(vnode.anchor = createComment(`]`), container, next);
+      return next;
+    }
+  };
+  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
+    hasMismatch = true;
+    vnode.el = null;
+    if (isFragment) {
+      const end = locateClosingAnchor(node);
+      while (true) {
+        const next2 = nextSibling(node);
+        if (next2 && next2 !== end) {
+          remove2(next2);
+        } else {
+          break;
+        }
+      }
+    }
+    const next = nextSibling(node);
+    const container = parentNode(node);
+    remove2(node);
+    patch(
+      null,
+      vnode,
+      container,
+      next,
+      parentComponent,
+      parentSuspense,
+      getContainerType(container),
+      slotScopeIds
+    );
+    return next;
+  };
+  const locateClosingAnchor = (node, open = "[", close = "]") => {
+    let match = 0;
+    while (node) {
+      node = nextSibling(node);
+      if (node && isComment(node)) {
+        if (node.data === open)
+          match++;
+        if (node.data === close) {
+          if (match === 0) {
+            return nextSibling(node);
+          } else {
+            match--;
+          }
+        }
+      }
+    }
+    return node;
+  };
+  const replaceNode = (newNode, oldNode, parentComponent) => {
+    const parentNode2 = oldNode.parentNode;
+    if (parentNode2) {
+      parentNode2.replaceChild(newNode, oldNode);
+    }
+    let parent = parentComponent;
+    while (parent) {
+      if (parent.vnode.el === oldNode) {
+        parent.vnode.el = parent.subTree.el = newNode;
+      }
+      parent = parent.parent;
+    }
+  };
+  const isTemplateNode2 = (node) => {
+    return node.nodeType === 1 && node.tagName.toLowerCase() === "template";
+  };
+  return [hydrate2, hydrateNode];
+}
+const queuePostRenderEffect = queueEffectWithSuspense;
+function createRenderer(options) {
+  return baseCreateRenderer(options);
+}
+function createHydrationRenderer(options) {
+  return baseCreateRenderer(options, createHydrationFunctions);
+}
+function baseCreateRenderer(options, createHydrationFns) {
+  const target = getGlobalThis$1();
+  target.__VUE__ = true;
+  const {
+    insert: hostInsert,
+    remove: hostRemove,
+    patchProp: hostPatchProp,
+    createElement: hostCreateElement,
+    createText: hostCreateText,
+    createComment: hostCreateComment,
+    setText: hostSetText,
+    setElementText: hostSetElementText,
+    parentNode: hostParentNode,
+    nextSibling: hostNextSibling,
+    setScopeId: hostSetScopeId = NOOP,
+    insertStaticContent: hostInsertStaticContent
+  } = options;
+  const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => {
+    if (n1 === n2) {
+      return;
+    }
+    if (n1 && !isSameVNodeType(n1, n2)) {
+      anchor = getNextHostNode(n1);
+      unmount(n1, parentComponent, parentSuspense, true);
+      n1 = null;
+    }
+    if (n2.patchFlag === -2) {
+      optimized = false;
+      n2.dynamicChildren = null;
+    }
+    const { type, ref: ref2, shapeFlag } = n2;
+    switch (type) {
+      case Text:
+        processText(n1, n2, container, anchor);
+        break;
+      case Comment:
+        processCommentNode(n1, n2, container, anchor);
+        break;
+      case Static:
+        if (n1 == null) {
+          mountStaticNode(n2, container, anchor, namespace);
+        }
+        break;
+      case Fragment:
+        processFragment(
+          n1,
+          n2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+        break;
+      default:
+        if (shapeFlag & 1) {
+          processElement(
+            n1,
+            n2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+        } else if (shapeFlag & 6) {
+          processComponent(
+            n1,
+            n2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+        } else if (shapeFlag & 64) {
+          type.process(
+            n1,
+            n2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized,
+            internals
+          );
+        } else if (shapeFlag & 128) {
+          type.process(
+            n1,
+            n2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized,
+            internals
+          );
+        } else
+          ;
+    }
+    if (ref2 != null && parentComponent) {
+      setRef(ref2, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
+    }
+  };
+  const processText = (n1, n2, container, anchor) => {
+    if (n1 == null) {
+      hostInsert(
+        n2.el = hostCreateText(n2.children),
+        container,
+        anchor
+      );
+    } else {
+      const el = n2.el = n1.el;
+      if (n2.children !== n1.children) {
+        hostSetText(el, n2.children);
+      }
+    }
+  };
+  const processCommentNode = (n1, n2, container, anchor) => {
+    if (n1 == null) {
+      hostInsert(
+        n2.el = hostCreateComment(n2.children || ""),
+        container,
+        anchor
+      );
+    } else {
+      n2.el = n1.el;
+    }
+  };
+  const mountStaticNode = (n2, container, anchor, namespace) => {
+    [n2.el, n2.anchor] = hostInsertStaticContent(
+      n2.children,
+      container,
+      anchor,
+      namespace,
+      n2.el,
+      n2.anchor
+    );
+  };
+  const moveStaticNode = ({ el, anchor }, container, nextSibling) => {
+    let next;
+    while (el && el !== anchor) {
+      next = hostNextSibling(el);
+      hostInsert(el, container, nextSibling);
+      el = next;
+    }
+    hostInsert(anchor, container, nextSibling);
+  };
+  const removeStaticNode = ({ el, anchor }) => {
+    let next;
+    while (el && el !== anchor) {
+      next = hostNextSibling(el);
+      hostRemove(el);
+      el = next;
+    }
+    hostRemove(anchor);
+  };
+  const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    if (n2.type === "svg") {
+      namespace = "svg";
+    } else if (n2.type === "math") {
+      namespace = "mathml";
+    }
+    if (n1 == null) {
+      mountElement(
+        n2,
+        container,
+        anchor,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+    } else {
+      patchElement(
+        n1,
+        n2,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+    }
+  };
+  const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    let el;
+    let vnodeHook;
+    const { props, shapeFlag, transition, dirs } = vnode;
+    el = vnode.el = hostCreateElement(
+      vnode.type,
+      namespace,
+      props && props.is,
+      props
+    );
+    if (shapeFlag & 8) {
+      hostSetElementText(el, vnode.children);
+    } else if (shapeFlag & 16) {
+      mountChildren(
+        vnode.children,
+        el,
+        null,
+        parentComponent,
+        parentSuspense,
+        resolveChildrenNamespace(vnode, namespace),
+        slotScopeIds,
+        optimized
+      );
+    }
+    if (dirs) {
+      invokeDirectiveHook(vnode, null, parentComponent, "created");
+    }
+    setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
+    if (props) {
+      for (const key in props) {
+        if (key !== "value" && !isReservedProp(key)) {
+          hostPatchProp(
+            el,
+            key,
+            null,
+            props[key],
+            namespace,
+            vnode.children,
+            parentComponent,
+            parentSuspense,
+            unmountChildren
+          );
+        }
+      }
+      if ("value" in props) {
+        hostPatchProp(el, "value", null, props.value, namespace);
+      }
+      if (vnodeHook = props.onVnodeBeforeMount) {
+        invokeVNodeHook(vnodeHook, parentComponent, vnode);
+      }
+    }
+    if (dirs) {
+      invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
+    }
+    const needCallTransitionHooks = needTransition(parentSuspense, transition);
+    if (needCallTransitionHooks) {
+      transition.beforeEnter(el);
+    }
+    hostInsert(el, container, anchor);
+    if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
+      queuePostRenderEffect(() => {
+        vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
+        needCallTransitionHooks && transition.enter(el);
+        dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
+      }, parentSuspense);
+    }
+  };
+  const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
+    if (scopeId) {
+      hostSetScopeId(el, scopeId);
+    }
+    if (slotScopeIds) {
+      for (let i = 0; i < slotScopeIds.length; i++) {
+        hostSetScopeId(el, slotScopeIds[i]);
+      }
+    }
+    if (parentComponent) {
+      let subTree = parentComponent.subTree;
+      if (vnode === subTree) {
+        const parentVNode = parentComponent.vnode;
+        setScopeId(
+          el,
+          parentVNode,
+          parentVNode.scopeId,
+          parentVNode.slotScopeIds,
+          parentComponent.parent
+        );
+      }
+    }
+  };
+  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
+    for (let i = start; i < children.length; i++) {
+      const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
+      patch(
+        null,
+        child,
+        container,
+        anchor,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+    }
+  };
+  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    const el = n2.el = n1.el;
+    let { patchFlag, dynamicChildren, dirs } = n2;
+    patchFlag |= n1.patchFlag & 16;
+    const oldProps = n1.props || EMPTY_OBJ;
+    const newProps = n2.props || EMPTY_OBJ;
+    let vnodeHook;
+    parentComponent && toggleRecurse(parentComponent, false);
+    if (vnodeHook = newProps.onVnodeBeforeUpdate) {
+      invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
+    }
+    if (dirs) {
+      invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
+    }
+    parentComponent && toggleRecurse(parentComponent, true);
+    if (dynamicChildren) {
+      patchBlockChildren(
+        n1.dynamicChildren,
+        dynamicChildren,
+        el,
+        parentComponent,
+        parentSuspense,
+        resolveChildrenNamespace(n2, namespace),
+        slotScopeIds
+      );
+    } else if (!optimized) {
+      patchChildren(
+        n1,
+        n2,
+        el,
+        null,
+        parentComponent,
+        parentSuspense,
+        resolveChildrenNamespace(n2, namespace),
+        slotScopeIds,
+        false
+      );
+    }
+    if (patchFlag > 0) {
+      if (patchFlag & 16) {
+        patchProps(
+          el,
+          n2,
+          oldProps,
+          newProps,
+          parentComponent,
+          parentSuspense,
+          namespace
+        );
+      } else {
+        if (patchFlag & 2) {
+          if (oldProps.class !== newProps.class) {
+            hostPatchProp(el, "class", null, newProps.class, namespace);
+          }
+        }
+        if (patchFlag & 4) {
+          hostPatchProp(el, "style", oldProps.style, newProps.style, namespace);
+        }
+        if (patchFlag & 8) {
+          const propsToUpdate = n2.dynamicProps;
+          for (let i = 0; i < propsToUpdate.length; i++) {
+            const key = propsToUpdate[i];
+            const prev = oldProps[key];
+            const next = newProps[key];
+            if (next !== prev || key === "value") {
+              hostPatchProp(
+                el,
+                key,
+                prev,
+                next,
+                namespace,
+                n1.children,
+                parentComponent,
+                parentSuspense,
+                unmountChildren
+              );
+            }
+          }
+        }
+      }
+      if (patchFlag & 1) {
+        if (n1.children !== n2.children) {
+          hostSetElementText(el, n2.children);
+        }
+      }
+    } else if (!optimized && dynamicChildren == null) {
+      patchProps(
+        el,
+        n2,
+        oldProps,
+        newProps,
+        parentComponent,
+        parentSuspense,
+        namespace
+      );
+    }
+    if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
+      queuePostRenderEffect(() => {
+        vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
+        dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
+      }, parentSuspense);
+    }
+  };
+  const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => {
+    for (let i = 0; i < newChildren.length; i++) {
+      const oldVNode = oldChildren[i];
+      const newVNode = newChildren[i];
+      const container = (
+        // oldVNode may be an errored async setup() component inside Suspense
+        // which will not have a mounted element
+        oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent
+        // of the Fragment itself so it can move its children.
+        (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
+        // which also requires the correct parent container
+        !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
+        oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (
+          // In other cases, the parent container is not actually used so we
+          // just pass the block element here to avoid a DOM parentNode call.
+          fallbackContainer
+        )
+      );
+      patch(
+        oldVNode,
+        newVNode,
+        container,
+        null,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        true
+      );
+    }
+  };
+  const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, namespace) => {
+    if (oldProps !== newProps) {
+      if (oldProps !== EMPTY_OBJ) {
+        for (const key in oldProps) {
+          if (!isReservedProp(key) && !(key in newProps)) {
+            hostPatchProp(
+              el,
+              key,
+              oldProps[key],
+              null,
+              namespace,
+              vnode.children,
+              parentComponent,
+              parentSuspense,
+              unmountChildren
+            );
+          }
+        }
+      }
+      for (const key in newProps) {
+        if (isReservedProp(key))
+          continue;
+        const next = newProps[key];
+        const prev = oldProps[key];
+        if (next !== prev && key !== "value") {
+          hostPatchProp(
+            el,
+            key,
+            prev,
+            next,
+            namespace,
+            vnode.children,
+            parentComponent,
+            parentSuspense,
+            unmountChildren
+          );
+        }
+      }
+      if ("value" in newProps) {
+        hostPatchProp(el, "value", oldProps.value, newProps.value, namespace);
+      }
+    }
+  };
+  const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
+    const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
+    let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
+    if (fragmentSlotScopeIds) {
+      slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
+    }
+    if (n1 == null) {
+      hostInsert(fragmentStartAnchor, container, anchor);
+      hostInsert(fragmentEndAnchor, container, anchor);
+      mountChildren(
+        // #10007
+        // such fragment like `<></>` will be compiled into
+        // a fragment which doesn't have a children.
+        // In this case fallback to an empty array
+        n2.children || [],
+        container,
+        fragmentEndAnchor,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+    } else {
+      if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result
+      // of renderSlot() with no valid children
+      n1.dynamicChildren) {
+        patchBlockChildren(
+          n1.dynamicChildren,
+          dynamicChildren,
+          container,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds
+        );
+        if (
+          // #2080 if the stable fragment has a key, it's a <template v-for> that may
+          //  get moved around. Make sure all root level vnodes inherit el.
+          // #2134 or if it's a component root, it may also get moved around
+          // as the component is being moved.
+          n2.key != null || parentComponent && n2 === parentComponent.subTree
+        ) {
+          traverseStaticChildren(
+            n1,
+            n2,
+            true
+            /* shallow */
+          );
+        }
+      } else {
+        patchChildren(
+          n1,
+          n2,
+          container,
+          fragmentEndAnchor,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+      }
+    }
+  };
+  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    n2.slotScopeIds = slotScopeIds;
+    if (n1 == null) {
+      if (n2.shapeFlag & 512) {
+        parentComponent.ctx.activate(
+          n2,
+          container,
+          anchor,
+          namespace,
+          optimized
+        );
+      } else {
+        mountComponent(
+          n2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          optimized
+        );
+      }
+    } else {
+      updateComponent(n1, n2, optimized);
+    }
+  };
+  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
+    const instance = initialVNode.component = createComponentInstance(
+      initialVNode,
+      parentComponent,
+      parentSuspense
+    );
+    if (isKeepAlive(initialVNode)) {
+      instance.ctx.renderer = internals;
+    }
+    {
+      setupComponent(instance);
+    }
+    if (instance.asyncDep) {
+      parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);
+      if (!initialVNode.el) {
+        const placeholder = instance.subTree = createVNode(Comment);
+        processCommentNode(null, placeholder, container, anchor);
+      }
+    } else {
+      setupRenderEffect(
+        instance,
+        initialVNode,
+        container,
+        anchor,
+        parentSuspense,
+        namespace,
+        optimized
+      );
+    }
+  };
+  const updateComponent = (n1, n2, optimized) => {
+    const instance = n2.component = n1.component;
+    if (shouldUpdateComponent(n1, n2, optimized)) {
+      if (instance.asyncDep && !instance.asyncResolved) {
+        updateComponentPreRender(instance, n2, optimized);
+        return;
+      } else {
+        instance.next = n2;
+        invalidateJob(instance.update);
+        instance.effect.dirty = true;
+        instance.update();
+      }
+    } else {
+      n2.el = n1.el;
+      instance.vnode = n2;
+    }
+  };
+  const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => {
+    const componentUpdateFn = () => {
+      if (!instance.isMounted) {
+        let vnodeHook;
+        const { el, props } = initialVNode;
+        const { bm, m, parent } = instance;
+        const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
+        toggleRecurse(instance, false);
+        if (bm) {
+          invokeArrayFns(bm);
+        }
+        if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {
+          invokeVNodeHook(vnodeHook, parent, initialVNode);
+        }
+        toggleRecurse(instance, true);
+        if (el && hydrateNode) {
+          const hydrateSubTree = () => {
+            instance.subTree = renderComponentRoot(instance);
+            hydrateNode(
+              el,
+              instance.subTree,
+              instance,
+              parentSuspense,
+              null
+            );
+          };
+          if (isAsyncWrapperVNode) {
+            initialVNode.type.__asyncLoader().then(
+              // note: we are moving the render call into an async callback,
+              // which means it won't track dependencies - but it's ok because
+              // a server-rendered async wrapper is already in resolved state
+              // and it will never need to change.
+              () => !instance.isUnmounted && hydrateSubTree()
+            );
+          } else {
+            hydrateSubTree();
+          }
+        } else {
+          const subTree = instance.subTree = renderComponentRoot(instance);
+          patch(
+            null,
+            subTree,
+            container,
+            anchor,
+            instance,
+            parentSuspense,
+            namespace
+          );
+          initialVNode.el = subTree.el;
+        }
+        if (m) {
+          queuePostRenderEffect(m, parentSuspense);
+        }
+        if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {
+          const scopedInitialVNode = initialVNode;
+          queuePostRenderEffect(
+            () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),
+            parentSuspense
+          );
+        }
+        if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {
+          instance.a && queuePostRenderEffect(instance.a, parentSuspense);
+        }
+        instance.isMounted = true;
+        initialVNode = container = anchor = null;
+      } else {
+        let { next, bu, u, parent, vnode } = instance;
+        {
+          const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance);
+          if (nonHydratedAsyncRoot) {
+            if (next) {
+              next.el = vnode.el;
+              updateComponentPreRender(instance, next, optimized);
+            }
+            nonHydratedAsyncRoot.asyncDep.then(() => {
+              if (!instance.isUnmounted) {
+                componentUpdateFn();
+              }
+            });
+            return;
+          }
+        }
+        let originNext = next;
+        let vnodeHook;
+        toggleRecurse(instance, false);
+        if (next) {
+          next.el = vnode.el;
+          updateComponentPreRender(instance, next, optimized);
+        } else {
+          next = vnode;
+        }
+        if (bu) {
+          invokeArrayFns(bu);
+        }
+        if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {
+          invokeVNodeHook(vnodeHook, parent, next, vnode);
+        }
+        toggleRecurse(instance, true);
+        const nextTree = renderComponentRoot(instance);
+        const prevTree = instance.subTree;
+        instance.subTree = nextTree;
+        patch(
+          prevTree,
+          nextTree,
+          // parent may have changed if it's in a teleport
+          hostParentNode(prevTree.el),
+          // anchor may have changed if it's in a fragment
+          getNextHostNode(prevTree),
+          instance,
+          parentSuspense,
+          namespace
+        );
+        next.el = nextTree.el;
+        if (originNext === null) {
+          updateHOCHostEl(instance, nextTree.el);
+        }
+        if (u) {
+          queuePostRenderEffect(u, parentSuspense);
+        }
+        if (vnodeHook = next.props && next.props.onVnodeUpdated) {
+          queuePostRenderEffect(
+            () => invokeVNodeHook(vnodeHook, parent, next, vnode),
+            parentSuspense
+          );
+        }
+      }
+    };
+    const effect2 = instance.effect = new ReactiveEffect(
+      componentUpdateFn,
+      NOOP,
+      () => queueJob(update),
+      instance.scope
+      // track it in component's effect scope
+    );
+    const update = instance.update = () => {
+      if (effect2.dirty) {
+        effect2.run();
+      }
+    };
+    update.id = instance.uid;
+    toggleRecurse(instance, true);
+    update();
+  };
+  const updateComponentPreRender = (instance, nextVNode, optimized) => {
+    nextVNode.component = instance;
+    const prevProps = instance.vnode.props;
+    instance.vnode = nextVNode;
+    instance.next = null;
+    updateProps(instance, nextVNode.props, prevProps, optimized);
+    updateSlots(instance, nextVNode.children, optimized);
+    pauseTracking();
+    flushPreFlushCbs(instance);
+    resetTracking();
+  };
+  const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => {
+    const c1 = n1 && n1.children;
+    const prevShapeFlag = n1 ? n1.shapeFlag : 0;
+    const c2 = n2.children;
+    const { patchFlag, shapeFlag } = n2;
+    if (patchFlag > 0) {
+      if (patchFlag & 128) {
+        patchKeyedChildren(
+          c1,
+          c2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+        return;
+      } else if (patchFlag & 256) {
+        patchUnkeyedChildren(
+          c1,
+          c2,
+          container,
+          anchor,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+        return;
+      }
+    }
+    if (shapeFlag & 8) {
+      if (prevShapeFlag & 16) {
+        unmountChildren(c1, parentComponent, parentSuspense);
+      }
+      if (c2 !== c1) {
+        hostSetElementText(container, c2);
+      }
+    } else {
+      if (prevShapeFlag & 16) {
+        if (shapeFlag & 16) {
+          patchKeyedChildren(
+            c1,
+            c2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+        } else {
+          unmountChildren(c1, parentComponent, parentSuspense, true);
+        }
+      } else {
+        if (prevShapeFlag & 8) {
+          hostSetElementText(container, "");
+        }
+        if (shapeFlag & 16) {
+          mountChildren(
+            c2,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+        }
+      }
+    }
+  };
+  const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    c1 = c1 || EMPTY_ARR;
+    c2 = c2 || EMPTY_ARR;
+    const oldLength = c1.length;
+    const newLength = c2.length;
+    const commonLength = Math.min(oldLength, newLength);
+    let i;
+    for (i = 0; i < commonLength; i++) {
+      const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
+      patch(
+        c1[i],
+        nextChild,
+        container,
+        null,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized
+      );
+    }
+    if (oldLength > newLength) {
+      unmountChildren(
+        c1,
+        parentComponent,
+        parentSuspense,
+        true,
+        false,
+        commonLength
+      );
+    } else {
+      mountChildren(
+        c2,
+        container,
+        anchor,
+        parentComponent,
+        parentSuspense,
+        namespace,
+        slotScopeIds,
+        optimized,
+        commonLength
+      );
+    }
+  };
+  const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
+    let i = 0;
+    const l2 = c2.length;
+    let e1 = c1.length - 1;
+    let e2 = l2 - 1;
+    while (i <= e1 && i <= e2) {
+      const n1 = c1[i];
+      const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
+      if (isSameVNodeType(n1, n2)) {
+        patch(
+          n1,
+          n2,
+          container,
+          null,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+      } else {
+        break;
+      }
+      i++;
+    }
+    while (i <= e1 && i <= e2) {
+      const n1 = c1[e1];
+      const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);
+      if (isSameVNodeType(n1, n2)) {
+        patch(
+          n1,
+          n2,
+          container,
+          null,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          optimized
+        );
+      } else {
+        break;
+      }
+      e1--;
+      e2--;
+    }
+    if (i > e1) {
+      if (i <= e2) {
+        const nextPos = e2 + 1;
+        const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
+        while (i <= e2) {
+          patch(
+            null,
+            c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+          i++;
+        }
+      }
+    } else if (i > e2) {
+      while (i <= e1) {
+        unmount(c1[i], parentComponent, parentSuspense, true);
+        i++;
+      }
+    } else {
+      const s1 = i;
+      const s2 = i;
+      const keyToNewIndexMap = /* @__PURE__ */ new Map();
+      for (i = s2; i <= e2; i++) {
+        const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
+        if (nextChild.key != null) {
+          keyToNewIndexMap.set(nextChild.key, i);
+        }
+      }
+      let j;
+      let patched = 0;
+      const toBePatched = e2 - s2 + 1;
+      let moved = false;
+      let maxNewIndexSoFar = 0;
+      const newIndexToOldIndexMap = new Array(toBePatched);
+      for (i = 0; i < toBePatched; i++)
+        newIndexToOldIndexMap[i] = 0;
+      for (i = s1; i <= e1; i++) {
+        const prevChild = c1[i];
+        if (patched >= toBePatched) {
+          unmount(prevChild, parentComponent, parentSuspense, true);
+          continue;
+        }
+        let newIndex;
+        if (prevChild.key != null) {
+          newIndex = keyToNewIndexMap.get(prevChild.key);
+        } else {
+          for (j = s2; j <= e2; j++) {
+            if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {
+              newIndex = j;
+              break;
+            }
+          }
+        }
+        if (newIndex === void 0) {
+          unmount(prevChild, parentComponent, parentSuspense, true);
+        } else {
+          newIndexToOldIndexMap[newIndex - s2] = i + 1;
+          if (newIndex >= maxNewIndexSoFar) {
+            maxNewIndexSoFar = newIndex;
+          } else {
+            moved = true;
+          }
+          patch(
+            prevChild,
+            c2[newIndex],
+            container,
+            null,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+          patched++;
+        }
+      }
+      const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;
+      j = increasingNewIndexSequence.length - 1;
+      for (i = toBePatched - 1; i >= 0; i--) {
+        const nextIndex = s2 + i;
+        const nextChild = c2[nextIndex];
+        const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
+        if (newIndexToOldIndexMap[i] === 0) {
+          patch(
+            null,
+            nextChild,
+            container,
+            anchor,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+        } else if (moved) {
+          if (j < 0 || i !== increasingNewIndexSequence[j]) {
+            move(nextChild, container, anchor, 2);
+          } else {
+            j--;
+          }
+        }
+      }
+    }
+  };
+  const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
+    const { el, type, transition, children, shapeFlag } = vnode;
+    if (shapeFlag & 6) {
+      move(vnode.component.subTree, container, anchor, moveType);
+      return;
+    }
+    if (shapeFlag & 128) {
+      vnode.suspense.move(container, anchor, moveType);
+      return;
+    }
+    if (shapeFlag & 64) {
+      type.move(vnode, container, anchor, internals);
+      return;
+    }
+    if (type === Fragment) {
+      hostInsert(el, container, anchor);
+      for (let i = 0; i < children.length; i++) {
+        move(children[i], container, anchor, moveType);
+      }
+      hostInsert(vnode.anchor, container, anchor);
+      return;
+    }
+    if (type === Static) {
+      moveStaticNode(vnode, container, anchor);
+      return;
+    }
+    const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
+    if (needTransition2) {
+      if (moveType === 0) {
+        transition.beforeEnter(el);
+        hostInsert(el, container, anchor);
+        queuePostRenderEffect(() => transition.enter(el), parentSuspense);
+      } else {
+        const { leave, delayLeave, afterLeave } = transition;
+        const remove22 = () => hostInsert(el, container, anchor);
+        const performLeave = () => {
+          leave(el, () => {
+            remove22();
+            afterLeave && afterLeave();
+          });
+        };
+        if (delayLeave) {
+          delayLeave(el, remove22, performLeave);
+        } else {
+          performLeave();
+        }
+      }
+    } else {
+      hostInsert(el, container, anchor);
+    }
+  };
+  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
+    const {
+      type,
+      props,
+      ref: ref2,
+      children,
+      dynamicChildren,
+      shapeFlag,
+      patchFlag,
+      dirs
+    } = vnode;
+    if (ref2 != null) {
+      setRef(ref2, null, parentSuspense, vnode, true);
+    }
+    if (shapeFlag & 256) {
+      parentComponent.ctx.deactivate(vnode);
+      return;
+    }
+    const shouldInvokeDirs = shapeFlag & 1 && dirs;
+    const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
+    let vnodeHook;
+    if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {
+      invokeVNodeHook(vnodeHook, parentComponent, vnode);
+    }
+    if (shapeFlag & 6) {
+      unmountComponent(vnode.component, parentSuspense, doRemove);
+    } else {
+      if (shapeFlag & 128) {
+        vnode.suspense.unmount(parentSuspense, doRemove);
+        return;
+      }
+      if (shouldInvokeDirs) {
+        invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
+      }
+      if (shapeFlag & 64) {
+        vnode.type.remove(
+          vnode,
+          parentComponent,
+          parentSuspense,
+          optimized,
+          internals,
+          doRemove
+        );
+      } else if (dynamicChildren && // #1153: fast path should not be taken for non-stable (v-for) fragments
+      (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {
+        unmountChildren(
+          dynamicChildren,
+          parentComponent,
+          parentSuspense,
+          false,
+          true
+        );
+      } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {
+        unmountChildren(children, parentComponent, parentSuspense);
+      }
+      if (doRemove) {
+        remove2(vnode);
+      }
+    }
+    if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
+      queuePostRenderEffect(() => {
+        vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
+        shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
+      }, parentSuspense);
+    }
+  };
+  const remove2 = (vnode) => {
+    const { type, el, anchor, transition } = vnode;
+    if (type === Fragment) {
+      {
+        removeFragment(el, anchor);
+      }
+      return;
+    }
+    if (type === Static) {
+      removeStaticNode(vnode);
+      return;
+    }
+    const performRemove = () => {
+      hostRemove(el);
+      if (transition && !transition.persisted && transition.afterLeave) {
+        transition.afterLeave();
+      }
+    };
+    if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
+      const { leave, delayLeave } = transition;
+      const performLeave = () => leave(el, performRemove);
+      if (delayLeave) {
+        delayLeave(vnode.el, performRemove, performLeave);
+      } else {
+        performLeave();
+      }
+    } else {
+      performRemove();
+    }
+  };
+  const removeFragment = (cur, end) => {
+    let next;
+    while (cur !== end) {
+      next = hostNextSibling(cur);
+      hostRemove(cur);
+      cur = next;
+    }
+    hostRemove(end);
+  };
+  const unmountComponent = (instance, parentSuspense, doRemove) => {
+    const { bum, scope, update, subTree, um } = instance;
+    if (bum) {
+      invokeArrayFns(bum);
+    }
+    scope.stop();
+    if (update) {
+      update.active = false;
+      unmount(subTree, instance, parentSuspense, doRemove);
+    }
+    if (um) {
+      queuePostRenderEffect(um, parentSuspense);
+    }
+    queuePostRenderEffect(() => {
+      instance.isUnmounted = true;
+    }, parentSuspense);
+    if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
+      parentSuspense.deps--;
+      if (parentSuspense.deps === 0) {
+        parentSuspense.resolve();
+      }
+    }
+  };
+  const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
+    for (let i = start; i < children.length; i++) {
+      unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);
+    }
+  };
+  const getNextHostNode = (vnode) => {
+    if (vnode.shapeFlag & 6) {
+      return getNextHostNode(vnode.component.subTree);
+    }
+    if (vnode.shapeFlag & 128) {
+      return vnode.suspense.next();
+    }
+    return hostNextSibling(vnode.anchor || vnode.el);
+  };
+  let isFlushing2 = false;
+  const render2 = (vnode, container, namespace) => {
+    if (vnode == null) {
+      if (container._vnode) {
+        unmount(container._vnode, null, null, true);
+      }
+    } else {
+      patch(
+        container._vnode || null,
+        vnode,
+        container,
+        null,
+        null,
+        null,
+        namespace
+      );
+    }
+    if (!isFlushing2) {
+      isFlushing2 = true;
+      flushPreFlushCbs();
+      flushPostFlushCbs();
+      isFlushing2 = false;
+    }
+    container._vnode = vnode;
+  };
+  const internals = {
+    p: patch,
+    um: unmount,
+    m: move,
+    r: remove2,
+    mt: mountComponent,
+    mc: mountChildren,
+    pc: patchChildren,
+    pbc: patchBlockChildren,
+    n: getNextHostNode,
+    o: options
+  };
+  let hydrate2;
+  let hydrateNode;
+  if (createHydrationFns) {
+    [hydrate2, hydrateNode] = createHydrationFns(
+      internals
+    );
+  }
+  return {
+    render: render2,
+    hydrate: hydrate2,
+    createApp: createAppAPI(render2, hydrate2)
+  };
+}
+function resolveChildrenNamespace({ type, props }, currentNamespace) {
+  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
+}
+function toggleRecurse({ effect: effect2, update }, allowed) {
+  effect2.allowRecurse = update.allowRecurse = allowed;
+}
+function needTransition(parentSuspense, transition) {
+  return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
+}
+function traverseStaticChildren(n1, n2, shallow = false) {
+  const ch1 = n1.children;
+  const ch2 = n2.children;
+  if (isArray$2(ch1) && isArray$2(ch2)) {
+    for (let i = 0; i < ch1.length; i++) {
+      const c1 = ch1[i];
+      let c2 = ch2[i];
+      if (c2.shapeFlag & 1 && !c2.dynamicChildren) {
+        if (c2.patchFlag <= 0 || c2.patchFlag === 32) {
+          c2 = ch2[i] = cloneIfMounted(ch2[i]);
+          c2.el = c1.el;
+        }
+        if (!shallow)
+          traverseStaticChildren(c1, c2);
+      }
+      if (c2.type === Text) {
+        c2.el = c1.el;
+      }
+    }
+  }
+}
+function getSequence(arr) {
+  const p2 = arr.slice();
+  const result = [0];
+  let i, j, u, v, c;
+  const len = arr.length;
+  for (i = 0; i < len; i++) {
+    const arrI = arr[i];
+    if (arrI !== 0) {
+      j = result[result.length - 1];
+      if (arr[j] < arrI) {
+        p2[i] = j;
+        result.push(i);
+        continue;
+      }
+      u = 0;
+      v = result.length - 1;
+      while (u < v) {
+        c = u + v >> 1;
+        if (arr[result[c]] < arrI) {
+          u = c + 1;
+        } else {
+          v = c;
+        }
+      }
+      if (arrI < arr[result[u]]) {
+        if (u > 0) {
+          p2[i] = result[u - 1];
+        }
+        result[u] = i;
+      }
+    }
+  }
+  u = result.length;
+  v = result[u - 1];
+  while (u-- > 0) {
+    result[u] = v;
+    v = p2[v];
+  }
+  return result;
+}
+function locateNonHydratedAsyncRoot(instance) {
+  const subComponent = instance.subTree.component;
+  if (subComponent) {
+    if (subComponent.asyncDep && !subComponent.asyncResolved) {
+      return subComponent;
+    } else {
+      return locateNonHydratedAsyncRoot(subComponent);
+    }
+  }
+}
+const isTeleport = (type) => type.__isTeleport;
+const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
+const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement;
+const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
+const resolveTarget = (props, select) => {
+  const targetSelector = props && props.to;
+  if (isString$2(targetSelector)) {
+    if (!select) {
+      return null;
+    } else {
+      const target = select(targetSelector);
+      return target;
+    }
+  } else {
+    return targetSelector;
+  }
+};
+const TeleportImpl = {
+  name: "Teleport",
+  __isTeleport: true,
+  process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {
+    const {
+      mc: mountChildren,
+      pc: patchChildren,
+      pbc: patchBlockChildren,
+      o: { insert, querySelector, createText, createComment }
+    } = internals;
+    const disabled = isTeleportDisabled(n2.props);
+    let { shapeFlag, children, dynamicChildren } = n2;
+    if (n1 == null) {
+      const placeholder = n2.el = createText("");
+      const mainAnchor = n2.anchor = createText("");
+      insert(placeholder, container, anchor);
+      insert(mainAnchor, container, anchor);
+      const target = n2.target = resolveTarget(n2.props, querySelector);
+      const targetAnchor = n2.targetAnchor = createText("");
+      if (target) {
+        insert(targetAnchor, target);
+        if (namespace === "svg" || isTargetSVG(target)) {
+          namespace = "svg";
+        } else if (namespace === "mathml" || isTargetMathML(target)) {
+          namespace = "mathml";
+        }
+      }
+      const mount = (container2, anchor2) => {
+        if (shapeFlag & 16) {
+          mountChildren(
+            children,
+            container2,
+            anchor2,
+            parentComponent,
+            parentSuspense,
+            namespace,
+            slotScopeIds,
+            optimized
+          );
+        }
+      };
+      if (disabled) {
+        mount(container, mainAnchor);
+      } else if (target) {
+        mount(target, targetAnchor);
+      }
+    } else {
+      n2.el = n1.el;
+      const mainAnchor = n2.anchor = n1.anchor;
+      const target = n2.target = n1.target;
+      const targetAnchor = n2.targetAnchor = n1.targetAnchor;
+      const wasDisabled = isTeleportDisabled(n1.props);
+      const currentContainer = wasDisabled ? container : target;
+      const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
+      if (namespace === "svg" || isTargetSVG(target)) {
+        namespace = "svg";
+      } else if (namespace === "mathml" || isTargetMathML(target)) {
+        namespace = "mathml";
+      }
+      if (dynamicChildren) {
+        patchBlockChildren(
+          n1.dynamicChildren,
+          dynamicChildren,
+          currentContainer,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds
+        );
+        traverseStaticChildren(n1, n2, true);
+      } else if (!optimized) {
+        patchChildren(
+          n1,
+          n2,
+          currentContainer,
+          currentAnchor,
+          parentComponent,
+          parentSuspense,
+          namespace,
+          slotScopeIds,
+          false
+        );
+      }
+      if (disabled) {
+        if (!wasDisabled) {
+          moveTeleport(
+            n2,
+            container,
+            mainAnchor,
+            internals,
+            1
+          );
+        } else {
+          if (n2.props && n1.props && n2.props.to !== n1.props.to) {
+            n2.props.to = n1.props.to;
+          }
+        }
+      } else {
+        if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
+          const nextTarget = n2.target = resolveTarget(
+            n2.props,
+            querySelector
+          );
+          if (nextTarget) {
+            moveTeleport(
+              n2,
+              nextTarget,
+              null,
+              internals,
+              0
+            );
+          }
+        } else if (wasDisabled) {
+          moveTeleport(
+            n2,
+            target,
+            targetAnchor,
+            internals,
+            1
+          );
+        }
+      }
+    }
+    updateCssVars(n2);
+  },
+  remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
+    const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
+    if (target) {
+      hostRemove(targetAnchor);
+    }
+    doRemove && hostRemove(anchor);
+    if (shapeFlag & 16) {
+      const shouldRemove = doRemove || !isTeleportDisabled(props);
+      for (let i = 0; i < children.length; i++) {
+        const child = children[i];
+        unmount(
+          child,
+          parentComponent,
+          parentSuspense,
+          shouldRemove,
+          !!child.dynamicChildren
+        );
+      }
+    }
+  },
+  move: moveTeleport,
+  hydrate: hydrateTeleport
+};
+function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
+  if (moveType === 0) {
+    insert(vnode.targetAnchor, container, parentAnchor);
+  }
+  const { el, anchor, shapeFlag, children, props } = vnode;
+  const isReorder = moveType === 2;
+  if (isReorder) {
+    insert(el, container, parentAnchor);
+  }
+  if (!isReorder || isTeleportDisabled(props)) {
+    if (shapeFlag & 16) {
+      for (let i = 0; i < children.length; i++) {
+        move(
+          children[i],
+          container,
+          parentAnchor,
+          2
+        );
+      }
+    }
+  }
+  if (isReorder) {
+    insert(anchor, container, parentAnchor);
+  }
+}
+function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
+  o: { nextSibling, parentNode, querySelector }
+}, hydrateChildren) {
+  const target = vnode.target = resolveTarget(
+    vnode.props,
+    querySelector
+  );
+  if (target) {
+    const targetNode = target._lpa || target.firstChild;
+    if (vnode.shapeFlag & 16) {
+      if (isTeleportDisabled(vnode.props)) {
+        vnode.anchor = hydrateChildren(
+          nextSibling(node),
+          vnode,
+          parentNode(node),
+          parentComponent,
+          parentSuspense,
+          slotScopeIds,
+          optimized
+        );
+        vnode.targetAnchor = targetNode;
+      } else {
+        vnode.anchor = nextSibling(node);
+        let targetAnchor = targetNode;
+        while (targetAnchor) {
+          targetAnchor = nextSibling(targetAnchor);
+          if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === "teleport anchor") {
+            vnode.targetAnchor = targetAnchor;
+            target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
+            break;
+          }
+        }
+        hydrateChildren(
+          targetNode,
+          vnode,
+          target,
+          parentComponent,
+          parentSuspense,
+          slotScopeIds,
+          optimized
+        );
+      }
+    }
+    updateCssVars(vnode);
+  }
+  return vnode.anchor && nextSibling(vnode.anchor);
+}
+const Teleport = TeleportImpl;
+function updateCssVars(vnode) {
+  const ctx = vnode.ctx;
+  if (ctx && ctx.ut) {
+    let node = vnode.children[0].el;
+    while (node && node !== vnode.targetAnchor) {
+      if (node.nodeType === 1)
+        node.setAttribute("data-v-owner", ctx.uid);
+      node = node.nextSibling;
+    }
+    ctx.ut();
+  }
+}
+const Fragment = Symbol.for("v-fgt");
+const Text = Symbol.for("v-txt");
+const Comment = Symbol.for("v-cmt");
+const Static = Symbol.for("v-stc");
+const blockStack = [];
+let currentBlock = null;
+function openBlock(disableTracking = false) {
+  blockStack.push(currentBlock = disableTracking ? null : []);
+}
+function closeBlock() {
+  blockStack.pop();
+  currentBlock = blockStack[blockStack.length - 1] || null;
+}
+let isBlockTreeEnabled = 1;
+function setBlockTracking(value) {
+  isBlockTreeEnabled += value;
+}
+function setupBlock(vnode) {
+  vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;
+  closeBlock();
+  if (isBlockTreeEnabled > 0 && currentBlock) {
+    currentBlock.push(vnode);
+  }
+  return vnode;
+}
+function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {
+  return setupBlock(
+    createBaseVNode(
+      type,
+      props,
+      children,
+      patchFlag,
+      dynamicProps,
+      shapeFlag,
+      true
+    )
+  );
+}
+function createBlock(type, props, children, patchFlag, dynamicProps) {
+  return setupBlock(
+    createVNode(
+      type,
+      props,
+      children,
+      patchFlag,
+      dynamicProps,
+      true
+    )
+  );
+}
+function isVNode$1(value) {
+  return value ? value.__v_isVNode === true : false;
+}
+function isSameVNodeType(n1, n2) {
+  return n1.type === n2.type && n1.key === n2.key;
+}
+function transformVNodeArgs(transformer) {
+}
+const normalizeKey = ({ key }) => key != null ? key : null;
+const normalizeRef = ({
+  ref: ref2,
+  ref_key,
+  ref_for
+}) => {
+  if (typeof ref2 === "number") {
+    ref2 = "" + ref2;
+  }
+  return ref2 != null ? isString$2(ref2) || isRef(ref2) || isFunction$1(ref2) ? { i: currentRenderingInstance, r: ref2, k: ref_key, f: !!ref_for } : ref2 : null;
+};
+function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
+  const vnode = {
+    __v_isVNode: true,
+    __v_skip: true,
+    type,
+    props,
+    key: props && normalizeKey(props),
+    ref: props && normalizeRef(props),
+    scopeId: currentScopeId,
+    slotScopeIds: null,
+    children,
+    component: null,
+    suspense: null,
+    ssContent: null,
+    ssFallback: null,
+    dirs: null,
+    transition: null,
+    el: null,
+    anchor: null,
+    target: null,
+    targetAnchor: null,
+    staticCount: 0,
+    shapeFlag,
+    patchFlag,
+    dynamicProps,
+    dynamicChildren: null,
+    appContext: null,
+    ctx: currentRenderingInstance
+  };
+  if (needFullChildrenNormalization) {
+    normalizeChildren(vnode, children);
+    if (shapeFlag & 128) {
+      type.normalize(vnode);
+    }
+  } else if (children) {
+    vnode.shapeFlag |= isString$2(children) ? 8 : 16;
+  }
+  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
+  !isBlockNode && // has current parent block
+  currentBlock && // presence of a patch flag indicates this node needs patching on updates.
+  // component nodes also should always be patched, because even if the
+  // component doesn't need to update, it needs to persist the instance on to
+  // the next vnode so that it can be properly unmounted later.
+  (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the
+  // vnode should not be considered dynamic due to handler caching.
+  vnode.patchFlag !== 32) {
+    currentBlock.push(vnode);
+  }
+  return vnode;
+}
+const createVNode = _createVNode;
+function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
+  if (!type || type === NULL_DYNAMIC_COMPONENT) {
+    type = Comment;
+  }
+  if (isVNode$1(type)) {
+    const cloned = cloneVNode(
+      type,
+      props,
+      true
+      /* mergeRef: true */
+    );
+    if (children) {
+      normalizeChildren(cloned, children);
+    }
+    if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
+      if (cloned.shapeFlag & 6) {
+        currentBlock[currentBlock.indexOf(type)] = cloned;
+      } else {
+        currentBlock.push(cloned);
+      }
+    }
+    cloned.patchFlag |= -2;
+    return cloned;
+  }
+  if (isClassComponent(type)) {
+    type = type.__vccOpts;
+  }
+  if (props) {
+    props = guardReactiveProps(props);
+    let { class: klass, style } = props;
+    if (klass && !isString$2(klass)) {
+      props.class = normalizeClass(klass);
+    }
+    if (isObject$3(style)) {
+      if (isProxy(style) && !isArray$2(style)) {
+        style = extend({}, style);
+      }
+      props.style = normalizeStyle(style);
+    }
+  }
+  const shapeFlag = isString$2(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject$3(type) ? 4 : isFunction$1(type) ? 2 : 0;
+  return createBaseVNode(
+    type,
+    props,
+    children,
+    patchFlag,
+    dynamicProps,
+    shapeFlag,
+    isBlockNode,
+    true
+  );
+}
+function guardReactiveProps(props) {
+  if (!props)
+    return null;
+  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
+}
+function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
+  const { props, ref: ref2, patchFlag, children, transition } = vnode;
+  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
+  const cloned = {
+    __v_isVNode: true,
+    __v_skip: true,
+    type: vnode.type,
+    props: mergedProps,
+    key: mergedProps && normalizeKey(mergedProps),
+    ref: extraProps && extraProps.ref ? (
+      // #2078 in the case of <component :is="vnode" ref="extra"/>
+      // if the vnode itself already has a ref, cloneVNode will need to merge
+      // the refs so the single vnode can be set on multiple refs
+      mergeRef && ref2 ? isArray$2(ref2) ? ref2.concat(normalizeRef(extraProps)) : [ref2, normalizeRef(extraProps)] : normalizeRef(extraProps)
+    ) : ref2,
+    scopeId: vnode.scopeId,
+    slotScopeIds: vnode.slotScopeIds,
+    children,
+    target: vnode.target,
+    targetAnchor: vnode.targetAnchor,
+    staticCount: vnode.staticCount,
+    shapeFlag: vnode.shapeFlag,
+    // if the vnode is cloned with extra props, we can no longer assume its
+    // existing patch flag to be reliable and need to add the FULL_PROPS flag.
+    // note: preserve flag for fragments since they use the flag for children
+    // fast paths only.
+    patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,
+    dynamicProps: vnode.dynamicProps,
+    dynamicChildren: vnode.dynamicChildren,
+    appContext: vnode.appContext,
+    dirs: vnode.dirs,
+    transition,
+    // These should technically only be non-null on mounted VNodes. However,
+    // they *should* be copied for kept-alive vnodes. So we just always copy
+    // them since them being non-null during a mount doesn't affect the logic as
+    // they will simply be overwritten.
+    component: vnode.component,
+    suspense: vnode.suspense,
+    ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
+    ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
+    el: vnode.el,
+    anchor: vnode.anchor,
+    ctx: vnode.ctx,
+    ce: vnode.ce
+  };
+  if (transition && cloneTransition) {
+    cloned.transition = transition.clone(cloned);
+  }
+  return cloned;
+}
+function createTextVNode(text = " ", flag = 0) {
+  return createVNode(Text, null, text, flag);
+}
+function createStaticVNode(content, numberOfNodes) {
+  const vnode = createVNode(Static, null, content);
+  vnode.staticCount = numberOfNodes;
+  return vnode;
+}
+function createCommentVNode(text = "", asBlock = false) {
+  return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
+}
+function normalizeVNode(child) {
+  if (child == null || typeof child === "boolean") {
+    return createVNode(Comment);
+  } else if (isArray$2(child)) {
+    return createVNode(
+      Fragment,
+      null,
+      // #3666, avoid reference pollution when reusing vnode
+      child.slice()
+    );
+  } else if (typeof child === "object") {
+    return cloneIfMounted(child);
+  } else {
+    return createVNode(Text, null, String(child));
+  }
+}
+function cloneIfMounted(child) {
+  return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);
+}
+function normalizeChildren(vnode, children) {
+  let type = 0;
+  const { shapeFlag } = vnode;
+  if (children == null) {
+    children = null;
+  } else if (isArray$2(children)) {
+    type = 16;
+  } else if (typeof children === "object") {
+    if (shapeFlag & (1 | 64)) {
+      const slot = children.default;
+      if (slot) {
+        slot._c && (slot._d = false);
+        normalizeChildren(vnode, slot());
+        slot._c && (slot._d = true);
+      }
+      return;
+    } else {
+      type = 32;
+      const slotFlag = children._;
+      if (!slotFlag && !isInternalObject(children)) {
+        children._ctx = currentRenderingInstance;
+      } else if (slotFlag === 3 && currentRenderingInstance) {
+        if (currentRenderingInstance.slots._ === 1) {
+          children._ = 1;
+        } else {
+          children._ = 2;
+          vnode.patchFlag |= 1024;
+        }
+      }
+    }
+  } else if (isFunction$1(children)) {
+    children = { default: children, _ctx: currentRenderingInstance };
+    type = 32;
+  } else {
+    children = String(children);
+    if (shapeFlag & 64) {
+      type = 16;
+      children = [createTextVNode(children)];
+    } else {
+      type = 8;
+    }
+  }
+  vnode.children = children;
+  vnode.shapeFlag |= type;
+}
+function mergeProps(...args) {
+  const ret = {};
+  for (let i = 0; i < args.length; i++) {
+    const toMerge = args[i];
+    for (const key in toMerge) {
+      if (key === "class") {
+        if (ret.class !== toMerge.class) {
+          ret.class = normalizeClass([ret.class, toMerge.class]);
+        }
+      } else if (key === "style") {
+        ret.style = normalizeStyle([ret.style, toMerge.style]);
+      } else if (isOn(key)) {
+        const existing = ret[key];
+        const incoming = toMerge[key];
+        if (incoming && existing !== incoming && !(isArray$2(existing) && existing.includes(incoming))) {
+          ret[key] = existing ? [].concat(existing, incoming) : incoming;
+        }
+      } else if (key !== "") {
+        ret[key] = toMerge[key];
+      }
+    }
+  }
+  return ret;
+}
+function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
+  callWithAsyncErrorHandling(hook, instance, 7, [
+    vnode,
+    prevVNode
+  ]);
+}
+const emptyAppContext = createAppContext();
+let uid = 0;
+function createComponentInstance(vnode, parent, suspense) {
+  const type = vnode.type;
+  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
+  const instance = {
+    uid: uid++,
+    vnode,
+    type,
+    parent,
+    appContext,
+    root: null,
+    // to be immediately set
+    next: null,
+    subTree: null,
+    // will be set synchronously right after creation
+    effect: null,
+    update: null,
+    // will be set synchronously right after creation
+    scope: new EffectScope(
+      true
+      /* detached */
+    ),
+    render: null,
+    proxy: null,
+    exposed: null,
+    exposeProxy: null,
+    withProxy: null,
+    provides: parent ? parent.provides : Object.create(appContext.provides),
+    accessCache: null,
+    renderCache: [],
+    // local resolved assets
+    components: null,
+    directives: null,
+    // resolved props and emits options
+    propsOptions: normalizePropsOptions(type, appContext),
+    emitsOptions: normalizeEmitsOptions(type, appContext),
+    // emit
+    emit: null,
+    // to be set immediately
+    emitted: null,
+    // props default value
+    propsDefaults: EMPTY_OBJ,
+    // inheritAttrs
+    inheritAttrs: type.inheritAttrs,
+    // state
+    ctx: EMPTY_OBJ,
+    data: EMPTY_OBJ,
+    props: EMPTY_OBJ,
+    attrs: EMPTY_OBJ,
+    slots: EMPTY_OBJ,
+    refs: EMPTY_OBJ,
+    setupState: EMPTY_OBJ,
+    setupContext: null,
+    attrsProxy: null,
+    slotsProxy: null,
+    // suspense related
+    suspense,
+    suspenseId: suspense ? suspense.pendingId : 0,
+    asyncDep: null,
+    asyncResolved: false,
+    // lifecycle hooks
+    // not using enums here because it results in computed properties
+    isMounted: false,
+    isUnmounted: false,
+    isDeactivated: false,
+    bc: null,
+    c: null,
+    bm: null,
+    m: null,
+    bu: null,
+    u: null,
+    um: null,
+    bum: null,
+    da: null,
+    a: null,
+    rtg: null,
+    rtc: null,
+    ec: null,
+    sp: null
+  };
+  {
+    instance.ctx = { _: instance };
+  }
+  instance.root = parent ? parent.root : instance;
+  instance.emit = emit.bind(null, instance);
+  if (vnode.ce) {
+    vnode.ce(instance);
+  }
+  return instance;
+}
+let currentInstance = null;
+const getCurrentInstance = () => currentInstance || currentRenderingInstance;
+let internalSetCurrentInstance;
+let setInSSRSetupState;
+{
+  const g = getGlobalThis$1();
+  const registerGlobalSetter = (key, setter) => {
+    let setters;
+    if (!(setters = g[key]))
+      setters = g[key] = [];
+    setters.push(setter);
+    return (v) => {
+      if (setters.length > 1)
+        setters.forEach((set2) => set2(v));
+      else
+        setters[0](v);
+    };
+  };
+  internalSetCurrentInstance = registerGlobalSetter(
+    `__VUE_INSTANCE_SETTERS__`,
+    (v) => currentInstance = v
+  );
+  setInSSRSetupState = registerGlobalSetter(
+    `__VUE_SSR_SETTERS__`,
+    (v) => isInSSRComponentSetup = v
+  );
+}
+const setCurrentInstance = (instance) => {
+  const prev = currentInstance;
+  internalSetCurrentInstance(instance);
+  instance.scope.on();
+  return () => {
+    instance.scope.off();
+    internalSetCurrentInstance(prev);
+  };
+};
+const unsetCurrentInstance = () => {
+  currentInstance && currentInstance.scope.off();
+  internalSetCurrentInstance(null);
+};
+function isStatefulComponent(instance) {
+  return instance.vnode.shapeFlag & 4;
+}
+let isInSSRComponentSetup = false;
+function setupComponent(instance, isSSR = false) {
+  isSSR && setInSSRSetupState(isSSR);
+  const { props, children } = instance.vnode;
+  const isStateful = isStatefulComponent(instance);
+  initProps(instance, props, isStateful, isSSR);
+  initSlots(instance, children);
+  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
+  isSSR && setInSSRSetupState(false);
+  return setupResult;
+}
+function setupStatefulComponent(instance, isSSR) {
+  const Component = instance.type;
+  instance.accessCache = /* @__PURE__ */ Object.create(null);
+  instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers);
+  const { setup } = Component;
+  if (setup) {
+    const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
+    const reset2 = setCurrentInstance(instance);
+    pauseTracking();
+    const setupResult = callWithErrorHandling(
+      setup,
+      instance,
+      0,
+      [
+        instance.props,
+        setupContext
+      ]
+    );
+    resetTracking();
+    reset2();
+    if (isPromise$1(setupResult)) {
+      setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
+      if (isSSR) {
+        return setupResult.then((resolvedResult) => {
+          handleSetupResult(instance, resolvedResult, isSSR);
+        }).catch((e) => {
+          handleError(e, instance, 0);
+        });
+      } else {
+        instance.asyncDep = setupResult;
+      }
+    } else {
+      handleSetupResult(instance, setupResult, isSSR);
+    }
+  } else {
+    finishComponentSetup(instance, isSSR);
+  }
+}
+function handleSetupResult(instance, setupResult, isSSR) {
+  if (isFunction$1(setupResult)) {
+    if (instance.type.__ssrInlineRender) {
+      instance.ssrRender = setupResult;
+    } else {
+      instance.render = setupResult;
+    }
+  } else if (isObject$3(setupResult)) {
+    instance.setupState = proxyRefs(setupResult);
+  } else
+    ;
+  finishComponentSetup(instance, isSSR);
+}
+let compile$2;
+let installWithProxy;
+function registerRuntimeCompiler(_compile) {
+  compile$2 = _compile;
+  installWithProxy = (i) => {
+    if (i.render._rc) {
+      i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);
+    }
+  };
+}
+const isRuntimeOnly = () => !compile$2;
+function finishComponentSetup(instance, isSSR, skipOptions) {
+  const Component = instance.type;
+  if (!instance.render) {
+    if (!isSSR && compile$2 && !Component.render) {
+      const template = Component.template || resolveMergedOptions(instance).template;
+      if (template) {
+        const { isCustomElement, compilerOptions } = instance.appContext.config;
+        const { delimiters, compilerOptions: componentCompilerOptions } = Component;
+        const finalCompilerOptions = extend(
+          extend(
+            {
+              isCustomElement,
+              delimiters
+            },
+            compilerOptions
+          ),
+          componentCompilerOptions
+        );
+        Component.render = compile$2(template, finalCompilerOptions);
+      }
+    }
+    instance.render = Component.render || NOOP;
+    if (installWithProxy) {
+      installWithProxy(instance);
+    }
+  }
+  {
+    const reset2 = setCurrentInstance(instance);
+    pauseTracking();
+    try {
+      applyOptions(instance);
+    } finally {
+      resetTracking();
+      reset2();
+    }
+  }
+}
+const attrsProxyHandlers = {
+  get(target, key) {
+    track(target, "get", "");
+    return target[key];
+  }
+};
+function createSetupContext(instance) {
+  const expose = (exposed) => {
+    instance.exposed = exposed || {};
+  };
+  {
+    return {
+      attrs: new Proxy(instance.attrs, attrsProxyHandlers),
+      slots: instance.slots,
+      emit: instance.emit,
+      expose
+    };
+  }
+}
+function getExposeProxy(instance) {
+  if (instance.exposed) {
+    return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
+      get(target, key) {
+        if (key in target) {
+          return target[key];
+        } else if (key in publicPropertiesMap) {
+          return publicPropertiesMap[key](instance);
+        }
+      },
+      has(target, key) {
+        return key in target || key in publicPropertiesMap;
+      }
+    }));
+  }
+}
+const classifyRE = /(?:^|[-_])(\w)/g;
+const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
+function getComponentName(Component, includeInferred = true) {
+  return isFunction$1(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
+}
+function formatComponentName(instance, Component, isRoot = false) {
+  let name = getComponentName(Component);
+  if (!name && Component.__file) {
+    const match = Component.__file.match(/([^/\\]+)\.\w+$/);
+    if (match) {
+      name = match[1];
+    }
+  }
+  if (!name && instance && instance.parent) {
+    const inferFromRegistry = (registry) => {
+      for (const key in registry) {
+        if (registry[key] === Component) {
+          return key;
+        }
+      }
+    };
+    name = inferFromRegistry(
+      instance.components || instance.parent.type.components
+    ) || inferFromRegistry(instance.appContext.components);
+  }
+  return name ? classify(name) : isRoot ? `App` : `Anonymous`;
+}
+function isClassComponent(value) {
+  return isFunction$1(value) && "__vccOpts" in value;
+}
+const computed = (getterOrOptions, debugOptions) => {
+  const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
+  return c;
+};
+function useModel(props, name, options = EMPTY_OBJ) {
+  const i = getCurrentInstance();
+  const camelizedName = camelize(name);
+  const hyphenatedName = hyphenate(name);
+  const res = customRef((track2, trigger2) => {
+    let localValue;
+    watchSyncEffect(() => {
+      const propValue = props[name];
+      if (hasChanged(localValue, propValue)) {
+        localValue = propValue;
+        trigger2();
+      }
+    });
+    return {
+      get() {
+        track2();
+        return options.get ? options.get(localValue) : localValue;
+      },
+      set(value) {
+        const rawProps = i.vnode.props;
+        if (!(rawProps && // check if parent has passed v-model
+        (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {
+          localValue = value;
+          trigger2();
+        }
+        i.emit(`update:${name}`, options.set ? options.set(value) : value);
+      }
+    };
+  });
+  const modifierKey = name === "modelValue" ? "modelModifiers" : `${name}Modifiers`;
+  res[Symbol.iterator] = () => {
+    let i2 = 0;
+    return {
+      next() {
+        if (i2 < 2) {
+          return { value: i2++ ? props[modifierKey] || {} : res, done: false };
+        } else {
+          return { done: true };
+        }
+      }
+    };
+  };
+  return res;
+}
+function h(type, propsOrChildren, children) {
+  const l = arguments.length;
+  if (l === 2) {
+    if (isObject$3(propsOrChildren) && !isArray$2(propsOrChildren)) {
+      if (isVNode$1(propsOrChildren)) {
+        return createVNode(type, null, [propsOrChildren]);
+      }
+      return createVNode(type, propsOrChildren);
+    } else {
+      return createVNode(type, null, propsOrChildren);
+    }
+  } else {
+    if (l > 3) {
+      children = Array.prototype.slice.call(arguments, 2);
+    } else if (l === 3 && isVNode$1(children)) {
+      children = [children];
+    }
+    return createVNode(type, propsOrChildren, children);
+  }
+}
+function initCustomFormatter() {
+  {
+    return;
+  }
+}
+function withMemo(memo, render2, cache2, index) {
+  const cached = cache2[index];
+  if (cached && isMemoSame(cached, memo)) {
+    return cached;
+  }
+  const ret = render2();
+  ret.memo = memo.slice();
+  return cache2[index] = ret;
+}
+function isMemoSame(cached, memo) {
+  const prev = cached.memo;
+  if (prev.length != memo.length) {
+    return false;
+  }
+  for (let i = 0; i < prev.length; i++) {
+    if (hasChanged(prev[i], memo[i])) {
+      return false;
+    }
+  }
+  if (isBlockTreeEnabled > 0 && currentBlock) {
+    currentBlock.push(cached);
+  }
+  return true;
+}
+const version = "3.4.27";
+const warn$2 = NOOP;
+const ErrorTypeStrings = ErrorTypeStrings$1;
+const devtools$2 = devtools$1;
+const setDevtoolsHook = setDevtoolsHook$1;
+const _ssrUtils = {
+  createComponentInstance,
+  setupComponent,
+  renderComponentRoot,
+  setCurrentRenderingInstance,
+  isVNode: isVNode$1,
+  normalizeVNode
+};
+const ssrUtils = _ssrUtils;
+const resolveFilter = null;
+const compatUtils = null;
+const DeprecationTypes = null;
+/**
+* @vue/runtime-dom v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+const svgNS = "http://www.w3.org/2000/svg";
+const mathmlNS = "http://www.w3.org/1998/Math/MathML";
+const doc = typeof document !== "undefined" ? document : null;
+const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
+const nodeOps = {
+  insert: (child, parent, anchor) => {
+    parent.insertBefore(child, anchor || null);
+  },
+  remove: (child) => {
+    const parent = child.parentNode;
+    if (parent) {
+      parent.removeChild(child);
+    }
+  },
+  createElement: (tag, namespace, is, props) => {
+    const el = namespace === "svg" ? doc.createElementNS(svgNS, tag) : namespace === "mathml" ? doc.createElementNS(mathmlNS, tag) : doc.createElement(tag, is ? { is } : void 0);
+    if (tag === "select" && props && props.multiple != null) {
+      el.setAttribute("multiple", props.multiple);
+    }
+    return el;
+  },
+  createText: (text) => doc.createTextNode(text),
+  createComment: (text) => doc.createComment(text),
+  setText: (node, text) => {
+    node.nodeValue = text;
+  },
+  setElementText: (el, text) => {
+    el.textContent = text;
+  },
+  parentNode: (node) => node.parentNode,
+  nextSibling: (node) => node.nextSibling,
+  querySelector: (selector) => doc.querySelector(selector),
+  setScopeId(el, id) {
+    el.setAttribute(id, "");
+  },
+  // __UNSAFE__
+  // Reason: innerHTML.
+  // Static content here can only come from compiled templates.
+  // As long as the user only uses trusted templates, this is safe.
+  insertStaticContent(content, parent, anchor, namespace, start, end) {
+    const before = anchor ? anchor.previousSibling : parent.lastChild;
+    if (start && (start === end || start.nextSibling)) {
+      while (true) {
+        parent.insertBefore(start.cloneNode(true), anchor);
+        if (start === end || !(start = start.nextSibling))
+          break;
+      }
+    } else {
+      templateContainer.innerHTML = namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content;
+      const template = templateContainer.content;
+      if (namespace === "svg" || namespace === "mathml") {
+        const wrapper = template.firstChild;
+        while (wrapper.firstChild) {
+          template.appendChild(wrapper.firstChild);
+        }
+        template.removeChild(wrapper);
+      }
+      parent.insertBefore(template, anchor);
+    }
+    return [
+      // first
+      before ? before.nextSibling : parent.firstChild,
+      // last
+      anchor ? anchor.previousSibling : parent.lastChild
+    ];
+  }
+};
+const TRANSITION$1 = "transition";
+const ANIMATION = "animation";
+const vtcKey = Symbol("_vtc");
+const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
+Transition.displayName = "Transition";
+const DOMTransitionPropsValidators = {
+  name: String,
+  type: String,
+  css: {
+    type: Boolean,
+    default: true
+  },
+  duration: [String, Number, Object],
+  enterFromClass: String,
+  enterActiveClass: String,
+  enterToClass: String,
+  appearFromClass: String,
+  appearActiveClass: String,
+  appearToClass: String,
+  leaveFromClass: String,
+  leaveActiveClass: String,
+  leaveToClass: String
+};
+const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
+  {},
+  BaseTransitionPropsValidators,
+  DOMTransitionPropsValidators
+);
+const callHook = (hook, args = []) => {
+  if (isArray$2(hook)) {
+    hook.forEach((h2) => h2(...args));
+  } else if (hook) {
+    hook(...args);
+  }
+};
+const hasExplicitCallback = (hook) => {
+  return hook ? isArray$2(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
+};
+function resolveTransitionProps(rawProps) {
+  const baseProps = {};
+  for (const key in rawProps) {
+    if (!(key in DOMTransitionPropsValidators)) {
+      baseProps[key] = rawProps[key];
+    }
+  }
+  if (rawProps.css === false) {
+    return baseProps;
+  }
+  const {
+    name = "v",
+    type,
+    duration,
+    enterFromClass = `${name}-enter-from`,
+    enterActiveClass = `${name}-enter-active`,
+    enterToClass = `${name}-enter-to`,
+    appearFromClass = enterFromClass,
+    appearActiveClass = enterActiveClass,
+    appearToClass = enterToClass,
+    leaveFromClass = `${name}-leave-from`,
+    leaveActiveClass = `${name}-leave-active`,
+    leaveToClass = `${name}-leave-to`
+  } = rawProps;
+  const durations = normalizeDuration(duration);
+  const enterDuration = durations && durations[0];
+  const leaveDuration = durations && durations[1];
+  const {
+    onBeforeEnter,
+    onEnter,
+    onEnterCancelled,
+    onLeave,
+    onLeaveCancelled,
+    onBeforeAppear = onBeforeEnter,
+    onAppear = onEnter,
+    onAppearCancelled = onEnterCancelled
+  } = baseProps;
+  const finishEnter = (el, isAppear, done) => {
+    removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
+    removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
+    done && done();
+  };
+  const finishLeave = (el, done) => {
+    el._isLeaving = false;
+    removeTransitionClass(el, leaveFromClass);
+    removeTransitionClass(el, leaveToClass);
+    removeTransitionClass(el, leaveActiveClass);
+    done && done();
+  };
+  const makeEnterHook = (isAppear) => {
+    return (el, done) => {
+      const hook = isAppear ? onAppear : onEnter;
+      const resolve2 = () => finishEnter(el, isAppear, done);
+      callHook(hook, [el, resolve2]);
+      nextFrame(() => {
+        removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
+        addTransitionClass(el, isAppear ? appearToClass : enterToClass);
+        if (!hasExplicitCallback(hook)) {
+          whenTransitionEnds(el, type, enterDuration, resolve2);
+        }
+      });
+    };
+  };
+  return extend(baseProps, {
+    onBeforeEnter(el) {
+      callHook(onBeforeEnter, [el]);
+      addTransitionClass(el, enterFromClass);
+      addTransitionClass(el, enterActiveClass);
+    },
+    onBeforeAppear(el) {
+      callHook(onBeforeAppear, [el]);
+      addTransitionClass(el, appearFromClass);
+      addTransitionClass(el, appearActiveClass);
+    },
+    onEnter: makeEnterHook(false),
+    onAppear: makeEnterHook(true),
+    onLeave(el, done) {
+      el._isLeaving = true;
+      const resolve2 = () => finishLeave(el, done);
+      addTransitionClass(el, leaveFromClass);
+      addTransitionClass(el, leaveActiveClass);
+      forceReflow();
+      nextFrame(() => {
+        if (!el._isLeaving) {
+          return;
+        }
+        removeTransitionClass(el, leaveFromClass);
+        addTransitionClass(el, leaveToClass);
+        if (!hasExplicitCallback(onLeave)) {
+          whenTransitionEnds(el, type, leaveDuration, resolve2);
+        }
+      });
+      callHook(onLeave, [el, resolve2]);
+    },
+    onEnterCancelled(el) {
+      finishEnter(el, false);
+      callHook(onEnterCancelled, [el]);
+    },
+    onAppearCancelled(el) {
+      finishEnter(el, true);
+      callHook(onAppearCancelled, [el]);
+    },
+    onLeaveCancelled(el) {
+      finishLeave(el);
+      callHook(onLeaveCancelled, [el]);
+    }
+  });
+}
+function normalizeDuration(duration) {
+  if (duration == null) {
+    return null;
+  } else if (isObject$3(duration)) {
+    return [NumberOf(duration.enter), NumberOf(duration.leave)];
+  } else {
+    const n = NumberOf(duration);
+    return [n, n];
+  }
+}
+function NumberOf(val) {
+  const res = toNumber(val);
+  return res;
+}
+function addTransitionClass(el, cls) {
+  cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
+  (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);
+}
+function removeTransitionClass(el, cls) {
+  cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
+  const _vtc = el[vtcKey];
+  if (_vtc) {
+    _vtc.delete(cls);
+    if (!_vtc.size) {
+      el[vtcKey] = void 0;
+    }
+  }
+}
+function nextFrame(cb) {
+  requestAnimationFrame(() => {
+    requestAnimationFrame(cb);
+  });
+}
+let endId = 0;
+function whenTransitionEnds(el, expectedType, explicitTimeout, resolve2) {
+  const id = el._endId = ++endId;
+  const resolveIfNotStale = () => {
+    if (id === el._endId) {
+      resolve2();
+    }
+  };
+  if (explicitTimeout) {
+    return setTimeout(resolveIfNotStale, explicitTimeout);
+  }
+  const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
+  if (!type) {
+    return resolve2();
+  }
+  const endEvent = type + "end";
+  let ended = 0;
+  const end = () => {
+    el.removeEventListener(endEvent, onEnd);
+    resolveIfNotStale();
+  };
+  const onEnd = (e) => {
+    if (e.target === el && ++ended >= propCount) {
+      end();
+    }
+  };
+  setTimeout(() => {
+    if (ended < propCount) {
+      end();
+    }
+  }, timeout + 1);
+  el.addEventListener(endEvent, onEnd);
+}
+function getTransitionInfo(el, expectedType) {
+  const styles = window.getComputedStyle(el);
+  const getStyleProperties = (key) => (styles[key] || "").split(", ");
+  const transitionDelays = getStyleProperties(`${TRANSITION$1}Delay`);
+  const transitionDurations = getStyleProperties(`${TRANSITION$1}Duration`);
+  const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
+  const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
+  const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
+  const animationTimeout = getTimeout(animationDelays, animationDurations);
+  let type = null;
+  let timeout = 0;
+  let propCount = 0;
+  if (expectedType === TRANSITION$1) {
+    if (transitionTimeout > 0) {
+      type = TRANSITION$1;
+      timeout = transitionTimeout;
+      propCount = transitionDurations.length;
+    }
+  } else if (expectedType === ANIMATION) {
+    if (animationTimeout > 0) {
+      type = ANIMATION;
+      timeout = animationTimeout;
+      propCount = animationDurations.length;
+    }
+  } else {
+    timeout = Math.max(transitionTimeout, animationTimeout);
+    type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION$1 : ANIMATION : null;
+    propCount = type ? type === TRANSITION$1 ? transitionDurations.length : animationDurations.length : 0;
+  }
+  const hasTransform = type === TRANSITION$1 && /\b(transform|all)(,|$)/.test(
+    getStyleProperties(`${TRANSITION$1}Property`).toString()
+  );
+  return {
+    type,
+    timeout,
+    propCount,
+    hasTransform
+  };
+}
+function getTimeout(delays, durations) {
+  while (delays.length < durations.length) {
+    delays = delays.concat(delays);
+  }
+  return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
+}
+function toMs(s) {
+  if (s === "auto")
+    return 0;
+  return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
+}
+function forceReflow() {
+  return document.body.offsetHeight;
+}
+function patchClass(el, value, isSVG) {
+  const transitionClasses = el[vtcKey];
+  if (transitionClasses) {
+    value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
+  }
+  if (value == null) {
+    el.removeAttribute("class");
+  } else if (isSVG) {
+    el.setAttribute("class", value);
+  } else {
+    el.className = value;
+  }
+}
+const vShowOriginalDisplay = Symbol("_vod");
+const vShowHidden = Symbol("_vsh");
+const vShow = {
+  beforeMount(el, { value }, { transition }) {
+    el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
+    if (transition && value) {
+      transition.beforeEnter(el);
+    } else {
+      setDisplay(el, value);
+    }
+  },
+  mounted(el, { value }, { transition }) {
+    if (transition && value) {
+      transition.enter(el);
+    }
+  },
+  updated(el, { value, oldValue }, { transition }) {
+    if (!value === !oldValue)
+      return;
+    if (transition) {
+      if (value) {
+        transition.beforeEnter(el);
+        setDisplay(el, true);
+        transition.enter(el);
+      } else {
+        transition.leave(el, () => {
+          setDisplay(el, false);
+        });
+      }
+    } else {
+      setDisplay(el, value);
+    }
+  },
+  beforeUnmount(el, { value }) {
+    setDisplay(el, value);
+  }
+};
+function setDisplay(el, value) {
+  el.style.display = value ? el[vShowOriginalDisplay] : "none";
+  el[vShowHidden] = !value;
+}
+function initVShowForSSR() {
+  vShow.getSSRProps = ({ value }) => {
+    if (!value) {
+      return { style: { display: "none" } };
+    }
+  };
+}
+const CSS_VAR_TEXT = Symbol("");
+function useCssVars(getter) {
+  const instance = getCurrentInstance();
+  if (!instance) {
+    return;
+  }
+  const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {
+    Array.from(
+      document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)
+    ).forEach((node) => setVarsOnNode(node, vars));
+  };
+  const setVars = () => {
+    const vars = getter(instance.proxy);
+    setVarsOnVNode(instance.subTree, vars);
+    updateTeleports(vars);
+  };
+  onMounted(() => {
+    watchPostEffect(setVars);
+    const ob = new MutationObserver(setVars);
+    ob.observe(instance.subTree.el.parentNode, { childList: true });
+    onUnmounted(() => ob.disconnect());
+  });
+}
+function setVarsOnVNode(vnode, vars) {
+  if (vnode.shapeFlag & 128) {
+    const suspense = vnode.suspense;
+    vnode = suspense.activeBranch;
+    if (suspense.pendingBranch && !suspense.isHydrating) {
+      suspense.effects.push(() => {
+        setVarsOnVNode(suspense.activeBranch, vars);
+      });
+    }
+  }
+  while (vnode.component) {
+    vnode = vnode.component.subTree;
+  }
+  if (vnode.shapeFlag & 1 && vnode.el) {
+    setVarsOnNode(vnode.el, vars);
+  } else if (vnode.type === Fragment) {
+    vnode.children.forEach((c) => setVarsOnVNode(c, vars));
+  } else if (vnode.type === Static) {
+    let { el, anchor } = vnode;
+    while (el) {
+      setVarsOnNode(el, vars);
+      if (el === anchor)
+        break;
+      el = el.nextSibling;
+    }
+  }
+}
+function setVarsOnNode(el, vars) {
+  if (el.nodeType === 1) {
+    const style = el.style;
+    let cssText = "";
+    for (const key in vars) {
+      style.setProperty(`--${key}`, vars[key]);
+      cssText += `--${key}: ${vars[key]};`;
+    }
+    style[CSS_VAR_TEXT] = cssText;
+  }
+}
+const displayRE = /(^|;)\s*display\s*:/;
+function patchStyle(el, prev, next) {
+  const style = el.style;
+  const isCssString = isString$2(next);
+  let hasControlledDisplay = false;
+  if (next && !isCssString) {
+    if (prev) {
+      if (!isString$2(prev)) {
+        for (const key in prev) {
+          if (next[key] == null) {
+            setStyle(style, key, "");
+          }
+        }
+      } else {
+        for (const prevStyle of prev.split(";")) {
+          const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
+          if (next[key] == null) {
+            setStyle(style, key, "");
+          }
+        }
+      }
+    }
+    for (const key in next) {
+      if (key === "display") {
+        hasControlledDisplay = true;
+      }
+      setStyle(style, key, next[key]);
+    }
+  } else {
+    if (isCssString) {
+      if (prev !== next) {
+        const cssVarText = style[CSS_VAR_TEXT];
+        if (cssVarText) {
+          next += ";" + cssVarText;
+        }
+        style.cssText = next;
+        hasControlledDisplay = displayRE.test(next);
+      }
+    } else if (prev) {
+      el.removeAttribute("style");
+    }
+  }
+  if (vShowOriginalDisplay in el) {
+    el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
+    if (el[vShowHidden]) {
+      style.display = "none";
+    }
+  }
+}
+const importantRE = /\s*!important$/;
+function setStyle(style, name, val) {
+  if (isArray$2(val)) {
+    val.forEach((v) => setStyle(style, name, v));
+  } else {
+    if (val == null)
+      val = "";
+    if (name.startsWith("--")) {
+      style.setProperty(name, val);
+    } else {
+      const prefixed = autoPrefix(style, name);
+      if (importantRE.test(val)) {
+        style.setProperty(
+          hyphenate(prefixed),
+          val.replace(importantRE, ""),
+          "important"
+        );
+      } else {
+        style[prefixed] = val;
+      }
+    }
+  }
+}
+const prefixes = ["Webkit", "Moz", "ms"];
+const prefixCache = {};
+function autoPrefix(style, rawName) {
+  const cached = prefixCache[rawName];
+  if (cached) {
+    return cached;
+  }
+  let name = camelize(rawName);
+  if (name !== "filter" && name in style) {
+    return prefixCache[rawName] = name;
+  }
+  name = capitalize$1(name);
+  for (let i = 0; i < prefixes.length; i++) {
+    const prefixed = prefixes[i] + name;
+    if (prefixed in style) {
+      return prefixCache[rawName] = prefixed;
+    }
+  }
+  return rawName;
+}
+const xlinkNS = "http://www.w3.org/1999/xlink";
+function patchAttr(el, key, value, isSVG, instance) {
+  if (isSVG && key.startsWith("xlink:")) {
+    if (value == null) {
+      el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
+    } else {
+      el.setAttributeNS(xlinkNS, key, value);
+    }
+  } else {
+    const isBoolean2 = isSpecialBooleanAttr(key);
+    if (value == null || isBoolean2 && !includeBooleanAttr(value)) {
+      el.removeAttribute(key);
+    } else {
+      el.setAttribute(key, isBoolean2 ? "" : value);
+    }
+  }
+}
+function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {
+  if (key === "innerHTML" || key === "textContent") {
+    if (prevChildren) {
+      unmountChildren(prevChildren, parentComponent, parentSuspense);
+    }
+    el[key] = value == null ? "" : value;
+    return;
+  }
+  const tag = el.tagName;
+  if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
+  !tag.includes("-")) {
+    const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
+    const newValue = value == null ? "" : value;
+    if (oldValue !== newValue || !("_value" in el)) {
+      el.value = newValue;
+    }
+    if (value == null) {
+      el.removeAttribute(key);
+    }
+    el._value = value;
+    return;
+  }
+  let needRemove = false;
+  if (value === "" || value == null) {
+    const type = typeof el[key];
+    if (type === "boolean") {
+      value = includeBooleanAttr(value);
+    } else if (value == null && type === "string") {
+      value = "";
+      needRemove = true;
+    } else if (type === "number") {
+      value = 0;
+      needRemove = true;
+    }
+  }
+  try {
+    el[key] = value;
+  } catch (e) {
+  }
+  needRemove && el.removeAttribute(key);
+}
+function addEventListener(el, event, handler, options) {
+  el.addEventListener(event, handler, options);
+}
+function removeEventListener(el, event, handler, options) {
+  el.removeEventListener(event, handler, options);
+}
+const veiKey = Symbol("_vei");
+function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
+  const invokers = el[veiKey] || (el[veiKey] = {});
+  const existingInvoker = invokers[rawName];
+  if (nextValue && existingInvoker) {
+    existingInvoker.value = nextValue;
+  } else {
+    const [name, options] = parseName(rawName);
+    if (nextValue) {
+      const invoker = invokers[rawName] = createInvoker(
+        nextValue,
+        instance
+      );
+      addEventListener(el, name, invoker, options);
+    } else if (existingInvoker) {
+      removeEventListener(el, name, existingInvoker, options);
+      invokers[rawName] = void 0;
+    }
+  }
+}
+const optionsModifierRE = /(?:Once|Passive|Capture)$/;
+function parseName(name) {
+  let options;
+  if (optionsModifierRE.test(name)) {
+    options = {};
+    let m;
+    while (m = name.match(optionsModifierRE)) {
+      name = name.slice(0, name.length - m[0].length);
+      options[m[0].toLowerCase()] = true;
+    }
+  }
+  const event = name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2));
+  return [event, options];
+}
+let cachedNow = 0;
+const p = /* @__PURE__ */ Promise.resolve();
+const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
+function createInvoker(initialValue, instance) {
+  const invoker = (e) => {
+    if (!e._vts) {
+      e._vts = Date.now();
+    } else if (e._vts <= invoker.attached) {
+      return;
+    }
+    callWithAsyncErrorHandling(
+      patchStopImmediatePropagation(e, invoker.value),
+      instance,
+      5,
+      [e]
+    );
+  };
+  invoker.value = initialValue;
+  invoker.attached = getNow();
+  return invoker;
+}
+function patchStopImmediatePropagation(e, value) {
+  if (isArray$2(value)) {
+    const originalStop = e.stopImmediatePropagation;
+    e.stopImmediatePropagation = () => {
+      originalStop.call(e);
+      e._stopped = true;
+    };
+    return value.map(
+      (fn) => (e2) => !e2._stopped && fn && fn(e2)
+    );
+  } else {
+    return value;
+  }
+}
+const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
+key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
+const patchProp = (el, key, prevValue, nextValue, namespace, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
+  const isSVG = namespace === "svg";
+  if (key === "class") {
+    patchClass(el, nextValue, isSVG);
+  } else if (key === "style") {
+    patchStyle(el, prevValue, nextValue);
+  } else if (isOn(key)) {
+    if (!isModelListener(key)) {
+      patchEvent(el, key, prevValue, nextValue, parentComponent);
+    }
+  } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
+    patchDOMProp(
+      el,
+      key,
+      nextValue,
+      prevChildren,
+      parentComponent,
+      parentSuspense,
+      unmountChildren
+    );
+  } else {
+    if (key === "true-value") {
+      el._trueValue = nextValue;
+    } else if (key === "false-value") {
+      el._falseValue = nextValue;
+    }
+    patchAttr(el, key, nextValue, isSVG);
+  }
+};
+function shouldSetAsProp(el, key, value, isSVG) {
+  if (isSVG) {
+    if (key === "innerHTML" || key === "textContent") {
+      return true;
+    }
+    if (key in el && isNativeOn(key) && isFunction$1(value)) {
+      return true;
+    }
+    return false;
+  }
+  if (key === "spellcheck" || key === "draggable" || key === "translate") {
+    return false;
+  }
+  if (key === "form") {
+    return false;
+  }
+  if (key === "list" && el.tagName === "INPUT") {
+    return false;
+  }
+  if (key === "type" && el.tagName === "TEXTAREA") {
+    return false;
+  }
+  if (key === "width" || key === "height") {
+    const tag = el.tagName;
+    if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") {
+      return false;
+    }
+  }
+  if (isNativeOn(key) && isString$2(value)) {
+    return false;
+  }
+  return key in el;
+}
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function defineCustomElement(options, hydrate2) {
+  const Comp = /* @__PURE__ */ defineComponent(options);
+  class VueCustomElement extends VueElement {
+    constructor(initialProps) {
+      super(Comp, initialProps, hydrate2);
+    }
+  }
+  VueCustomElement.def = Comp;
+  return VueCustomElement;
+}
+/*! #__NO_SIDE_EFFECTS__ */
+const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options) => {
+  return /* @__PURE__ */ defineCustomElement(options, hydrate);
+};
+const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
+};
+class VueElement extends BaseClass {
+  constructor(_def, _props = {}, hydrate2) {
+    super();
+    this._def = _def;
+    this._props = _props;
+    this._instance = null;
+    this._connected = false;
+    this._resolved = false;
+    this._numberProps = null;
+    this._ob = null;
+    if (this.shadowRoot && hydrate2) {
+      hydrate2(this._createVNode(), this.shadowRoot);
+    } else {
+      this.attachShadow({ mode: "open" });
+      if (!this._def.__asyncLoader) {
+        this._resolveProps(this._def);
+      }
+    }
+  }
+  connectedCallback() {
+    this._connected = true;
+    if (!this._instance) {
+      if (this._resolved) {
+        this._update();
+      } else {
+        this._resolveDef();
+      }
+    }
+  }
+  disconnectedCallback() {
+    this._connected = false;
+    if (this._ob) {
+      this._ob.disconnect();
+      this._ob = null;
+    }
+    nextTick(() => {
+      if (!this._connected) {
+        render(null, this.shadowRoot);
+        this._instance = null;
+      }
+    });
+  }
+  /**
+   * resolve inner component definition (handle possible async component)
+   */
+  _resolveDef() {
+    this._resolved = true;
+    for (let i = 0; i < this.attributes.length; i++) {
+      this._setAttr(this.attributes[i].name);
+    }
+    this._ob = new MutationObserver((mutations) => {
+      for (const m of mutations) {
+        this._setAttr(m.attributeName);
+      }
+    });
+    this._ob.observe(this, { attributes: true });
+    const resolve2 = (def2, isAsync = false) => {
+      const { props, styles } = def2;
+      let numberProps;
+      if (props && !isArray$2(props)) {
+        for (const key in props) {
+          const opt = props[key];
+          if (opt === Number || opt && opt.type === Number) {
+            if (key in this._props) {
+              this._props[key] = toNumber(this._props[key]);
+            }
+            (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize(key)] = true;
+          }
+        }
+      }
+      this._numberProps = numberProps;
+      if (isAsync) {
+        this._resolveProps(def2);
+      }
+      this._applyStyles(styles);
+      this._update();
+    };
+    const asyncDef = this._def.__asyncLoader;
+    if (asyncDef) {
+      asyncDef().then((def2) => resolve2(def2, true));
+    } else {
+      resolve2(this._def);
+    }
+  }
+  _resolveProps(def2) {
+    const { props } = def2;
+    const declaredPropKeys = isArray$2(props) ? props : Object.keys(props || {});
+    for (const key of Object.keys(this)) {
+      if (key[0] !== "_" && declaredPropKeys.includes(key)) {
+        this._setProp(key, this[key], true, false);
+      }
+    }
+    for (const key of declaredPropKeys.map(camelize)) {
+      Object.defineProperty(this, key, {
+        get() {
+          return this._getProp(key);
+        },
+        set(val) {
+          this._setProp(key, val);
+        }
+      });
+    }
+  }
+  _setAttr(key) {
+    let value = this.hasAttribute(key) ? this.getAttribute(key) : void 0;
+    const camelKey = camelize(key);
+    if (this._numberProps && this._numberProps[camelKey]) {
+      value = toNumber(value);
+    }
+    this._setProp(camelKey, value, false);
+  }
+  /**
+   * @internal
+   */
+  _getProp(key) {
+    return this._props[key];
+  }
+  /**
+   * @internal
+   */
+  _setProp(key, val, shouldReflect = true, shouldUpdate = true) {
+    if (val !== this._props[key]) {
+      this._props[key] = val;
+      if (shouldUpdate && this._instance) {
+        this._update();
+      }
+      if (shouldReflect) {
+        if (val === true) {
+          this.setAttribute(hyphenate(key), "");
+        } else if (typeof val === "string" || typeof val === "number") {
+          this.setAttribute(hyphenate(key), val + "");
+        } else if (!val) {
+          this.removeAttribute(hyphenate(key));
+        }
+      }
+    }
+  }
+  _update() {
+    render(this._createVNode(), this.shadowRoot);
+  }
+  _createVNode() {
+    const vnode = createVNode(this._def, extend({}, this._props));
+    if (!this._instance) {
+      vnode.ce = (instance) => {
+        this._instance = instance;
+        instance.isCE = true;
+        const dispatch = (event, args) => {
+          this.dispatchEvent(
+            new CustomEvent(event, {
+              detail: args
+            })
+          );
+        };
+        instance.emit = (event, ...args) => {
+          dispatch(event, args);
+          if (hyphenate(event) !== event) {
+            dispatch(hyphenate(event), args);
+          }
+        };
+        let parent = this;
+        while (parent = parent && (parent.parentNode || parent.host)) {
+          if (parent instanceof VueElement) {
+            instance.parent = parent._instance;
+            instance.provides = parent._instance.provides;
+            break;
+          }
+        }
+      };
+    }
+    return vnode;
+  }
+  _applyStyles(styles) {
+    if (styles) {
+      styles.forEach((css) => {
+        const s = document.createElement("style");
+        s.textContent = css;
+        this.shadowRoot.appendChild(s);
+      });
+    }
+  }
+}
+function useCssModule(name = "$style") {
+  {
+    const instance = getCurrentInstance();
+    if (!instance) {
+      return EMPTY_OBJ;
+    }
+    const modules = instance.type.__cssModules;
+    if (!modules) {
+      return EMPTY_OBJ;
+    }
+    const mod = modules[name];
+    if (!mod) {
+      return EMPTY_OBJ;
+    }
+    return mod;
+  }
+}
+const positionMap = /* @__PURE__ */ new WeakMap();
+const newPositionMap = /* @__PURE__ */ new WeakMap();
+const moveCbKey = Symbol("_moveCb");
+const enterCbKey = Symbol("_enterCb");
+const TransitionGroupImpl = {
+  name: "TransitionGroup",
+  props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
+    tag: String,
+    moveClass: String
+  }),
+  setup(props, { slots }) {
+    const instance = getCurrentInstance();
+    const state = useTransitionState();
+    let prevChildren;
+    let children;
+    onUpdated(() => {
+      if (!prevChildren.length) {
+        return;
+      }
+      const moveClass = props.moveClass || `${props.name || "v"}-move`;
+      if (!hasCSSTransform(
+        prevChildren[0].el,
+        instance.vnode.el,
+        moveClass
+      )) {
+        return;
+      }
+      prevChildren.forEach(callPendingCbs);
+      prevChildren.forEach(recordPosition);
+      const movedChildren = prevChildren.filter(applyTranslation);
+      forceReflow();
+      movedChildren.forEach((c) => {
+        const el = c.el;
+        const style = el.style;
+        addTransitionClass(el, moveClass);
+        style.transform = style.webkitTransform = style.transitionDuration = "";
+        const cb = el[moveCbKey] = (e) => {
+          if (e && e.target !== el) {
+            return;
+          }
+          if (!e || /transform$/.test(e.propertyName)) {
+            el.removeEventListener("transitionend", cb);
+            el[moveCbKey] = null;
+            removeTransitionClass(el, moveClass);
+          }
+        };
+        el.addEventListener("transitionend", cb);
+      });
+    });
+    return () => {
+      const rawProps = toRaw(props);
+      const cssTransitionProps = resolveTransitionProps(rawProps);
+      let tag = rawProps.tag || Fragment;
+      prevChildren = [];
+      if (children) {
+        for (let i = 0; i < children.length; i++) {
+          const child = children[i];
+          if (child.el && child.el instanceof Element) {
+            prevChildren.push(child);
+            setTransitionHooks(
+              child,
+              resolveTransitionHooks(
+                child,
+                cssTransitionProps,
+                state,
+                instance
+              )
+            );
+            positionMap.set(
+              child,
+              child.el.getBoundingClientRect()
+            );
+          }
+        }
+      }
+      children = slots.default ? getTransitionRawChildren(slots.default()) : [];
+      for (let i = 0; i < children.length; i++) {
+        const child = children[i];
+        if (child.key != null) {
+          setTransitionHooks(
+            child,
+            resolveTransitionHooks(child, cssTransitionProps, state, instance)
+          );
+        }
+      }
+      return createVNode(tag, null, children);
+    };
+  }
+};
+const removeMode = (props) => delete props.mode;
+/* @__PURE__ */ removeMode(TransitionGroupImpl.props);
+const TransitionGroup = TransitionGroupImpl;
+function callPendingCbs(c) {
+  const el = c.el;
+  if (el[moveCbKey]) {
+    el[moveCbKey]();
+  }
+  if (el[enterCbKey]) {
+    el[enterCbKey]();
+  }
+}
+function recordPosition(c) {
+  newPositionMap.set(c, c.el.getBoundingClientRect());
+}
+function applyTranslation(c) {
+  const oldPos = positionMap.get(c);
+  const newPos = newPositionMap.get(c);
+  const dx = oldPos.left - newPos.left;
+  const dy = oldPos.top - newPos.top;
+  if (dx || dy) {
+    const s = c.el.style;
+    s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
+    s.transitionDuration = "0s";
+    return c;
+  }
+}
+function hasCSSTransform(el, root, moveClass) {
+  const clone = el.cloneNode();
+  const _vtc = el[vtcKey];
+  if (_vtc) {
+    _vtc.forEach((cls) => {
+      cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c));
+    });
+  }
+  moveClass.split(/\s+/).forEach((c) => c && clone.classList.add(c));
+  clone.style.display = "none";
+  const container = root.nodeType === 1 ? root : root.parentNode;
+  container.appendChild(clone);
+  const { hasTransform } = getTransitionInfo(clone);
+  container.removeChild(clone);
+  return hasTransform;
+}
+const getModelAssigner = (vnode) => {
+  const fn = vnode.props["onUpdate:modelValue"] || false;
+  return isArray$2(fn) ? (value) => invokeArrayFns(fn, value) : fn;
+};
+function onCompositionStart(e) {
+  e.target.composing = true;
+}
+function onCompositionEnd(e) {
+  const target = e.target;
+  if (target.composing) {
+    target.composing = false;
+    target.dispatchEvent(new Event("input"));
+  }
+}
+const assignKey = Symbol("_assign");
+const vModelText = {
+  created(el, { modifiers: { lazy, trim, number: number2 } }, vnode) {
+    el[assignKey] = getModelAssigner(vnode);
+    const castToNumber = number2 || vnode.props && vnode.props.type === "number";
+    addEventListener(el, lazy ? "change" : "input", (e) => {
+      if (e.target.composing)
+        return;
+      let domValue = el.value;
+      if (trim) {
+        domValue = domValue.trim();
+      }
+      if (castToNumber) {
+        domValue = looseToNumber(domValue);
+      }
+      el[assignKey](domValue);
+    });
+    if (trim) {
+      addEventListener(el, "change", () => {
+        el.value = el.value.trim();
+      });
+    }
+    if (!lazy) {
+      addEventListener(el, "compositionstart", onCompositionStart);
+      addEventListener(el, "compositionend", onCompositionEnd);
+      addEventListener(el, "change", onCompositionEnd);
+    }
+  },
+  // set value on mounted so it's after min/max for type="range"
+  mounted(el, { value }) {
+    el.value = value == null ? "" : value;
+  },
+  beforeUpdate(el, { value, modifiers: { lazy, trim, number: number2 } }, vnode) {
+    el[assignKey] = getModelAssigner(vnode);
+    if (el.composing)
+      return;
+    const elValue = (number2 || el.type === "number") && !/^0\d/.test(el.value) ? looseToNumber(el.value) : el.value;
+    const newValue = value == null ? "" : value;
+    if (elValue === newValue) {
+      return;
+    }
+    if (document.activeElement === el && el.type !== "range") {
+      if (lazy) {
+        return;
+      }
+      if (trim && el.value.trim() === newValue) {
+        return;
+      }
+    }
+    el.value = newValue;
+  }
+};
+const vModelCheckbox = {
+  // #4096 array checkboxes need to be deep traversed
+  deep: true,
+  created(el, _, vnode) {
+    el[assignKey] = getModelAssigner(vnode);
+    addEventListener(el, "change", () => {
+      const modelValue = el._modelValue;
+      const elementValue = getValue(el);
+      const checked = el.checked;
+      const assign2 = el[assignKey];
+      if (isArray$2(modelValue)) {
+        const index = looseIndexOf(modelValue, elementValue);
+        const found = index !== -1;
+        if (checked && !found) {
+          assign2(modelValue.concat(elementValue));
+        } else if (!checked && found) {
+          const filtered = [...modelValue];
+          filtered.splice(index, 1);
+          assign2(filtered);
+        }
+      } else if (isSet(modelValue)) {
+        const cloned = new Set(modelValue);
+        if (checked) {
+          cloned.add(elementValue);
+        } else {
+          cloned.delete(elementValue);
+        }
+        assign2(cloned);
+      } else {
+        assign2(getCheckboxValue(el, checked));
+      }
+    });
+  },
+  // set initial checked on mount to wait for true-value/false-value
+  mounted: setChecked,
+  beforeUpdate(el, binding, vnode) {
+    el[assignKey] = getModelAssigner(vnode);
+    setChecked(el, binding, vnode);
+  }
+};
+function setChecked(el, { value, oldValue }, vnode) {
+  el._modelValue = value;
+  if (isArray$2(value)) {
+    el.checked = looseIndexOf(value, vnode.props.value) > -1;
+  } else if (isSet(value)) {
+    el.checked = value.has(vnode.props.value);
+  } else if (value !== oldValue) {
+    el.checked = looseEqual(value, getCheckboxValue(el, true));
+  }
+}
+const vModelRadio = {
+  created(el, { value }, vnode) {
+    el.checked = looseEqual(value, vnode.props.value);
+    el[assignKey] = getModelAssigner(vnode);
+    addEventListener(el, "change", () => {
+      el[assignKey](getValue(el));
+    });
+  },
+  beforeUpdate(el, { value, oldValue }, vnode) {
+    el[assignKey] = getModelAssigner(vnode);
+    if (value !== oldValue) {
+      el.checked = looseEqual(value, vnode.props.value);
+    }
+  }
+};
+const vModelSelect = {
+  // <select multiple> value need to be deep traversed
+  deep: true,
+  created(el, { value, modifiers: { number: number2 } }, vnode) {
+    const isSetModel = isSet(value);
+    addEventListener(el, "change", () => {
+      const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
+        (o) => number2 ? looseToNumber(getValue(o)) : getValue(o)
+      );
+      el[assignKey](
+        el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
+      );
+      el._assigning = true;
+      nextTick(() => {
+        el._assigning = false;
+      });
+    });
+    el[assignKey] = getModelAssigner(vnode);
+  },
+  // set value in mounted & updated because <select> relies on its children
+  // <option>s.
+  mounted(el, { value, modifiers: { number: number2 } }) {
+    setSelected(el, value);
+  },
+  beforeUpdate(el, _binding, vnode) {
+    el[assignKey] = getModelAssigner(vnode);
+  },
+  updated(el, { value, modifiers: { number: number2 } }) {
+    if (!el._assigning) {
+      setSelected(el, value);
+    }
+  }
+};
+function setSelected(el, value, number2) {
+  const isMultiple = el.multiple;
+  const isArrayValue = isArray$2(value);
+  if (isMultiple && !isArrayValue && !isSet(value)) {
+    return;
+  }
+  for (let i = 0, l = el.options.length; i < l; i++) {
+    const option = el.options[i];
+    const optionValue = getValue(option);
+    if (isMultiple) {
+      if (isArrayValue) {
+        const optionType = typeof optionValue;
+        if (optionType === "string" || optionType === "number") {
+          option.selected = value.some((v) => String(v) === String(optionValue));
+        } else {
+          option.selected = looseIndexOf(value, optionValue) > -1;
+        }
+      } else {
+        option.selected = value.has(optionValue);
+      }
+    } else if (looseEqual(getValue(option), value)) {
+      if (el.selectedIndex !== i)
+        el.selectedIndex = i;
+      return;
+    }
+  }
+  if (!isMultiple && el.selectedIndex !== -1) {
+    el.selectedIndex = -1;
+  }
+}
+function getValue(el) {
+  return "_value" in el ? el._value : el.value;
+}
+function getCheckboxValue(el, checked) {
+  const key = checked ? "_trueValue" : "_falseValue";
+  return key in el ? el[key] : checked;
+}
+const vModelDynamic = {
+  created(el, binding, vnode) {
+    callModelHook(el, binding, vnode, null, "created");
+  },
+  mounted(el, binding, vnode) {
+    callModelHook(el, binding, vnode, null, "mounted");
+  },
+  beforeUpdate(el, binding, vnode, prevVNode) {
+    callModelHook(el, binding, vnode, prevVNode, "beforeUpdate");
+  },
+  updated(el, binding, vnode, prevVNode) {
+    callModelHook(el, binding, vnode, prevVNode, "updated");
+  }
+};
+function resolveDynamicModel(tagName, type) {
+  switch (tagName) {
+    case "SELECT":
+      return vModelSelect;
+    case "TEXTAREA":
+      return vModelText;
+    default:
+      switch (type) {
+        case "checkbox":
+          return vModelCheckbox;
+        case "radio":
+          return vModelRadio;
+        default:
+          return vModelText;
+      }
+  }
+}
+function callModelHook(el, binding, vnode, prevVNode, hook) {
+  const modelToUse = resolveDynamicModel(
+    el.tagName,
+    vnode.props && vnode.props.type
+  );
+  const fn = modelToUse[hook];
+  fn && fn(el, binding, vnode, prevVNode);
+}
+function initVModelForSSR() {
+  vModelText.getSSRProps = ({ value }) => ({ value });
+  vModelRadio.getSSRProps = ({ value }, vnode) => {
+    if (vnode.props && looseEqual(vnode.props.value, value)) {
+      return { checked: true };
+    }
+  };
+  vModelCheckbox.getSSRProps = ({ value }, vnode) => {
+    if (isArray$2(value)) {
+      if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) {
+        return { checked: true };
+      }
+    } else if (isSet(value)) {
+      if (vnode.props && value.has(vnode.props.value)) {
+        return { checked: true };
+      }
+    } else if (value) {
+      return { checked: true };
+    }
+  };
+  vModelDynamic.getSSRProps = (binding, vnode) => {
+    if (typeof vnode.type !== "string") {
+      return;
+    }
+    const modelToUse = resolveDynamicModel(
+      // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase
+      vnode.type.toUpperCase(),
+      vnode.props && vnode.props.type
+    );
+    if (modelToUse.getSSRProps) {
+      return modelToUse.getSSRProps(binding, vnode);
+    }
+  };
+}
+const systemModifiers = ["ctrl", "shift", "alt", "meta"];
+const modifierGuards = {
+  stop: (e) => e.stopPropagation(),
+  prevent: (e) => e.preventDefault(),
+  self: (e) => e.target !== e.currentTarget,
+  ctrl: (e) => !e.ctrlKey,
+  shift: (e) => !e.shiftKey,
+  alt: (e) => !e.altKey,
+  meta: (e) => !e.metaKey,
+  left: (e) => "button" in e && e.button !== 0,
+  middle: (e) => "button" in e && e.button !== 1,
+  right: (e) => "button" in e && e.button !== 2,
+  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
+};
+const withModifiers = (fn, modifiers) => {
+  const cache2 = fn._withMods || (fn._withMods = {});
+  const cacheKey = modifiers.join(".");
+  return cache2[cacheKey] || (cache2[cacheKey] = (event, ...args) => {
+    for (let i = 0; i < modifiers.length; i++) {
+      const guard = modifierGuards[modifiers[i]];
+      if (guard && guard(event, modifiers))
+        return;
+    }
+    return fn(event, ...args);
+  });
+};
+const keyNames = {
+  esc: "escape",
+  space: " ",
+  up: "arrow-up",
+  left: "arrow-left",
+  right: "arrow-right",
+  down: "arrow-down",
+  delete: "backspace"
+};
+const withKeys = (fn, modifiers) => {
+  const cache2 = fn._withKeys || (fn._withKeys = {});
+  const cacheKey = modifiers.join(".");
+  return cache2[cacheKey] || (cache2[cacheKey] = (event) => {
+    if (!("key" in event)) {
+      return;
+    }
+    const eventKey = hyphenate(event.key);
+    if (modifiers.some((k) => k === eventKey || keyNames[k] === eventKey)) {
+      return fn(event);
+    }
+  });
+};
+const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
+let renderer;
+let enabledHydration = false;
+function ensureRenderer() {
+  return renderer || (renderer = createRenderer(rendererOptions));
+}
+function ensureHydrationRenderer() {
+  renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);
+  enabledHydration = true;
+  return renderer;
+}
+const render = (...args) => {
+  ensureRenderer().render(...args);
+};
+const hydrate = (...args) => {
+  ensureHydrationRenderer().hydrate(...args);
+};
+const createApp = (...args) => {
+  const app = ensureRenderer().createApp(...args);
+  const { mount } = app;
+  app.mount = (containerOrSelector) => {
+    const container = normalizeContainer(containerOrSelector);
+    if (!container)
+      return;
+    const component = app._component;
+    if (!isFunction$1(component) && !component.render && !component.template) {
+      component.template = container.innerHTML;
+    }
+    container.innerHTML = "";
+    const proxy = mount(container, false, resolveRootNamespace(container));
+    if (container instanceof Element) {
+      container.removeAttribute("v-cloak");
+      container.setAttribute("data-v-app", "");
+    }
+    return proxy;
+  };
+  return app;
+};
+const createSSRApp = (...args) => {
+  const app = ensureHydrationRenderer().createApp(...args);
+  const { mount } = app;
+  app.mount = (containerOrSelector) => {
+    const container = normalizeContainer(containerOrSelector);
+    if (container) {
+      return mount(container, true, resolveRootNamespace(container));
+    }
+  };
+  return app;
+};
+function resolveRootNamespace(container) {
+  if (container instanceof SVGElement) {
+    return "svg";
+  }
+  if (typeof MathMLElement === "function" && container instanceof MathMLElement) {
+    return "mathml";
+  }
+}
+function normalizeContainer(container) {
+  if (isString$2(container)) {
+    const res = document.querySelector(container);
+    return res;
+  }
+  return container;
+}
+let ssrDirectiveInitialized = false;
+const initDirectivesForSSR = () => {
+  if (!ssrDirectiveInitialized) {
+    ssrDirectiveInitialized = true;
+    initVModelForSSR();
+    initVShowForSSR();
+  }
+};
+const runtimeDom = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  BaseTransition,
+  BaseTransitionPropsValidators,
+  Comment,
+  DeprecationTypes,
+  EffectScope,
+  ErrorCodes,
+  ErrorTypeStrings,
+  Fragment,
+  KeepAlive,
+  ReactiveEffect,
+  Static,
+  Suspense,
+  Teleport,
+  Text,
+  TrackOpTypes,
+  Transition,
+  TransitionGroup,
+  TriggerOpTypes,
+  VueElement,
+  assertNumber,
+  callWithAsyncErrorHandling,
+  callWithErrorHandling,
+  camelize,
+  capitalize: capitalize$1,
+  cloneVNode,
+  compatUtils,
+  computed,
+  createApp,
+  createBlock,
+  createCommentVNode,
+  createElementBlock,
+  createElementVNode: createBaseVNode,
+  createHydrationRenderer,
+  createPropsRestProxy,
+  createRenderer,
+  createSSRApp,
+  createSlots,
+  createStaticVNode,
+  createTextVNode,
+  createVNode,
+  customRef,
+  defineAsyncComponent,
+  defineComponent,
+  defineCustomElement,
+  defineEmits,
+  defineExpose,
+  defineModel,
+  defineOptions,
+  defineProps,
+  defineSSRCustomElement,
+  defineSlots,
+  devtools: devtools$2,
+  effect,
+  effectScope,
+  getCurrentInstance,
+  getCurrentScope,
+  getTransitionRawChildren,
+  guardReactiveProps,
+  h,
+  handleError,
+  hasInjectionContext,
+  hydrate,
+  initCustomFormatter,
+  initDirectivesForSSR,
+  inject,
+  isMemoSame,
+  isProxy,
+  isReactive,
+  isReadonly,
+  isRef,
+  isRuntimeOnly,
+  isShallow,
+  isVNode: isVNode$1,
+  markRaw,
+  mergeDefaults,
+  mergeModels,
+  mergeProps,
+  nextTick,
+  normalizeClass,
+  normalizeProps,
+  normalizeStyle,
+  onActivated,
+  onBeforeMount,
+  onBeforeUnmount,
+  onBeforeUpdate,
+  onDeactivated,
+  onErrorCaptured,
+  onMounted,
+  onRenderTracked,
+  onRenderTriggered,
+  onScopeDispose,
+  onServerPrefetch,
+  onUnmounted,
+  onUpdated,
+  openBlock,
+  popScopeId,
+  provide,
+  proxyRefs,
+  pushScopeId,
+  queuePostFlushCb,
+  reactive,
+  readonly,
+  ref,
+  registerRuntimeCompiler,
+  render,
+  renderList,
+  renderSlot,
+  resolveComponent,
+  resolveDirective,
+  resolveDynamicComponent,
+  resolveFilter,
+  resolveTransitionHooks,
+  setBlockTracking,
+  setDevtoolsHook,
+  setTransitionHooks,
+  shallowReactive,
+  shallowReadonly,
+  shallowRef,
+  ssrContextKey,
+  ssrUtils,
+  stop,
+  toDisplayString: toDisplayString$1,
+  toHandlerKey,
+  toHandlers,
+  toRaw,
+  toRef,
+  toRefs,
+  toValue: toValue$1,
+  transformVNodeArgs,
+  triggerRef,
+  unref,
+  useAttrs,
+  useCssModule,
+  useCssVars,
+  useModel,
+  useSSRContext,
+  useSlots,
+  useTransitionState,
+  vModelCheckbox,
+  vModelDynamic,
+  vModelRadio,
+  vModelSelect,
+  vModelText,
+  vShow,
+  version,
+  warn: warn$2,
+  watch,
+  watchEffect,
+  watchPostEffect,
+  watchSyncEffect,
+  withAsyncContext,
+  withCtx,
+  withDefaults,
+  withDirectives,
+  withKeys,
+  withMemo,
+  withModifiers,
+  withScopeId
+}, Symbol.toStringTag, { value: "Module" }));
+/**
+* @vue/compiler-core v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+const FRAGMENT = Symbol(``);
+const TELEPORT = Symbol(``);
+const SUSPENSE = Symbol(``);
+const KEEP_ALIVE = Symbol(``);
+const BASE_TRANSITION = Symbol(``);
+const OPEN_BLOCK = Symbol(``);
+const CREATE_BLOCK = Symbol(``);
+const CREATE_ELEMENT_BLOCK = Symbol(``);
+const CREATE_VNODE = Symbol(``);
+const CREATE_ELEMENT_VNODE = Symbol(``);
+const CREATE_COMMENT = Symbol(``);
+const CREATE_TEXT = Symbol(``);
+const CREATE_STATIC = Symbol(``);
+const RESOLVE_COMPONENT = Symbol(``);
+const RESOLVE_DYNAMIC_COMPONENT = Symbol(
+  ``
+);
+const RESOLVE_DIRECTIVE = Symbol(``);
+const RESOLVE_FILTER = Symbol(``);
+const WITH_DIRECTIVES = Symbol(``);
+const RENDER_LIST = Symbol(``);
+const RENDER_SLOT = Symbol(``);
+const CREATE_SLOTS = Symbol(``);
+const TO_DISPLAY_STRING = Symbol(``);
+const MERGE_PROPS = Symbol(``);
+const NORMALIZE_CLASS = Symbol(``);
+const NORMALIZE_STYLE = Symbol(``);
+const NORMALIZE_PROPS = Symbol(``);
+const GUARD_REACTIVE_PROPS = Symbol(``);
+const TO_HANDLERS = Symbol(``);
+const CAMELIZE = Symbol(``);
+const CAPITALIZE = Symbol(``);
+const TO_HANDLER_KEY = Symbol(``);
+const SET_BLOCK_TRACKING = Symbol(``);
+const PUSH_SCOPE_ID = Symbol(``);
+const POP_SCOPE_ID = Symbol(``);
+const WITH_CTX = Symbol(``);
+const UNREF = Symbol(``);
+const IS_REF = Symbol(``);
+const WITH_MEMO = Symbol(``);
+const IS_MEMO_SAME = Symbol(``);
+const helperNameMap = {
+  [FRAGMENT]: `Fragment`,
+  [TELEPORT]: `Teleport`,
+  [SUSPENSE]: `Suspense`,
+  [KEEP_ALIVE]: `KeepAlive`,
+  [BASE_TRANSITION]: `BaseTransition`,
+  [OPEN_BLOCK]: `openBlock`,
+  [CREATE_BLOCK]: `createBlock`,
+  [CREATE_ELEMENT_BLOCK]: `createElementBlock`,
+  [CREATE_VNODE]: `createVNode`,
+  [CREATE_ELEMENT_VNODE]: `createElementVNode`,
+  [CREATE_COMMENT]: `createCommentVNode`,
+  [CREATE_TEXT]: `createTextVNode`,
+  [CREATE_STATIC]: `createStaticVNode`,
+  [RESOLVE_COMPONENT]: `resolveComponent`,
+  [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,
+  [RESOLVE_DIRECTIVE]: `resolveDirective`,
+  [RESOLVE_FILTER]: `resolveFilter`,
+  [WITH_DIRECTIVES]: `withDirectives`,
+  [RENDER_LIST]: `renderList`,
+  [RENDER_SLOT]: `renderSlot`,
+  [CREATE_SLOTS]: `createSlots`,
+  [TO_DISPLAY_STRING]: `toDisplayString`,
+  [MERGE_PROPS]: `mergeProps`,
+  [NORMALIZE_CLASS]: `normalizeClass`,
+  [NORMALIZE_STYLE]: `normalizeStyle`,
+  [NORMALIZE_PROPS]: `normalizeProps`,
+  [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,
+  [TO_HANDLERS]: `toHandlers`,
+  [CAMELIZE]: `camelize`,
+  [CAPITALIZE]: `capitalize`,
+  [TO_HANDLER_KEY]: `toHandlerKey`,
+  [SET_BLOCK_TRACKING]: `setBlockTracking`,
+  [PUSH_SCOPE_ID]: `pushScopeId`,
+  [POP_SCOPE_ID]: `popScopeId`,
+  [WITH_CTX]: `withCtx`,
+  [UNREF]: `unref`,
+  [IS_REF]: `isRef`,
+  [WITH_MEMO]: `withMemo`,
+  [IS_MEMO_SAME]: `isMemoSame`
+};
+function registerRuntimeHelpers(helpers) {
+  Object.getOwnPropertySymbols(helpers).forEach((s) => {
+    helperNameMap[s] = helpers[s];
+  });
+}
+const locStub = {
+  start: { line: 1, column: 1, offset: 0 },
+  end: { line: 1, column: 1, offset: 0 },
+  source: ""
+};
+function createRoot(children, source = "") {
+  return {
+    type: 0,
+    source,
+    children,
+    helpers: /* @__PURE__ */ new Set(),
+    components: [],
+    directives: [],
+    hoists: [],
+    imports: [],
+    cached: 0,
+    temps: 0,
+    codegenNode: void 0,
+    loc: locStub
+  };
+}
+function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent2 = false, loc = locStub) {
+  if (context) {
+    if (isBlock) {
+      context.helper(OPEN_BLOCK);
+      context.helper(getVNodeBlockHelper(context.inSSR, isComponent2));
+    } else {
+      context.helper(getVNodeHelper(context.inSSR, isComponent2));
+    }
+    if (directives) {
+      context.helper(WITH_DIRECTIVES);
+    }
+  }
+  return {
+    type: 13,
+    tag,
+    props,
+    children,
+    patchFlag,
+    dynamicProps,
+    directives,
+    isBlock,
+    disableTracking,
+    isComponent: isComponent2,
+    loc
+  };
+}
+function createArrayExpression(elements, loc = locStub) {
+  return {
+    type: 17,
+    loc,
+    elements
+  };
+}
+function createObjectExpression(properties, loc = locStub) {
+  return {
+    type: 15,
+    loc,
+    properties
+  };
+}
+function createObjectProperty(key, value) {
+  return {
+    type: 16,
+    loc: locStub,
+    key: isString$2(key) ? createSimpleExpression(key, true) : key,
+    value
+  };
+}
+function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {
+  return {
+    type: 4,
+    loc,
+    content,
+    isStatic,
+    constType: isStatic ? 3 : constType
+  };
+}
+function createCompoundExpression(children, loc = locStub) {
+  return {
+    type: 8,
+    loc,
+    children
+  };
+}
+function createCallExpression(callee, args = [], loc = locStub) {
+  return {
+    type: 14,
+    loc,
+    callee,
+    arguments: args
+  };
+}
+function createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {
+  return {
+    type: 18,
+    params,
+    returns,
+    newline,
+    isSlot,
+    loc
+  };
+}
+function createConditionalExpression(test, consequent, alternate, newline = true) {
+  return {
+    type: 19,
+    test,
+    consequent,
+    alternate,
+    newline,
+    loc: locStub
+  };
+}
+function createCacheExpression(index, value, isVNode2 = false) {
+  return {
+    type: 20,
+    index,
+    value,
+    isVNode: isVNode2,
+    loc: locStub
+  };
+}
+function createBlockStatement(body) {
+  return {
+    type: 21,
+    body,
+    loc: locStub
+  };
+}
+function getVNodeHelper(ssr, isComponent2) {
+  return ssr || isComponent2 ? CREATE_VNODE : CREATE_ELEMENT_VNODE;
+}
+function getVNodeBlockHelper(ssr, isComponent2) {
+  return ssr || isComponent2 ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;
+}
+function convertToBlock(node, { helper, removeHelper, inSSR }) {
+  if (!node.isBlock) {
+    node.isBlock = true;
+    removeHelper(getVNodeHelper(inSSR, node.isComponent));
+    helper(OPEN_BLOCK);
+    helper(getVNodeBlockHelper(inSSR, node.isComponent));
+  }
+}
+const defaultDelimitersOpen = new Uint8Array([123, 123]);
+const defaultDelimitersClose = new Uint8Array([125, 125]);
+function isTagStartChar(c) {
+  return c >= 97 && c <= 122 || c >= 65 && c <= 90;
+}
+function isWhitespace(c) {
+  return c === 32 || c === 10 || c === 9 || c === 12 || c === 13;
+}
+function isEndOfTagSection(c) {
+  return c === 47 || c === 62 || isWhitespace(c);
+}
+function toCharCodes(str) {
+  const ret = new Uint8Array(str.length);
+  for (let i = 0; i < str.length; i++) {
+    ret[i] = str.charCodeAt(i);
+  }
+  return ret;
+}
+const Sequences = {
+  Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),
+  // CDATA[
+  CdataEnd: new Uint8Array([93, 93, 62]),
+  // ]]>
+  CommentEnd: new Uint8Array([45, 45, 62]),
+  // `-->`
+  ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),
+  // `<\/script`
+  StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),
+  // `</style`
+  TitleEnd: new Uint8Array([60, 47, 116, 105, 116, 108, 101]),
+  // `</title`
+  TextareaEnd: new Uint8Array([
+    60,
+    47,
+    116,
+    101,
+    120,
+    116,
+    97,
+    114,
+    101,
+    97
+  ])
+  // `</textarea
+};
+class Tokenizer {
+  constructor(stack2, cbs) {
+    this.stack = stack2;
+    this.cbs = cbs;
+    this.state = 1;
+    this.buffer = "";
+    this.sectionStart = 0;
+    this.index = 0;
+    this.entityStart = 0;
+    this.baseState = 1;
+    this.inRCDATA = false;
+    this.inXML = false;
+    this.inVPre = false;
+    this.newlines = [];
+    this.mode = 0;
+    this.delimiterOpen = defaultDelimitersOpen;
+    this.delimiterClose = defaultDelimitersClose;
+    this.delimiterIndex = -1;
+    this.currentSequence = void 0;
+    this.sequenceIndex = 0;
+  }
+  get inSFCRoot() {
+    return this.mode === 2 && this.stack.length === 0;
+  }
+  reset() {
+    this.state = 1;
+    this.mode = 0;
+    this.buffer = "";
+    this.sectionStart = 0;
+    this.index = 0;
+    this.baseState = 1;
+    this.inRCDATA = false;
+    this.currentSequence = void 0;
+    this.newlines.length = 0;
+    this.delimiterOpen = defaultDelimitersOpen;
+    this.delimiterClose = defaultDelimitersClose;
+  }
+  /**
+   * Generate Position object with line / column information using recorded
+   * newline positions. We know the index is always going to be an already
+   * processed index, so all the newlines up to this index should have been
+   * recorded.
+   */
+  getPos(index) {
+    let line = 1;
+    let column = index + 1;
+    for (let i = this.newlines.length - 1; i >= 0; i--) {
+      const newlineIndex = this.newlines[i];
+      if (index > newlineIndex) {
+        line = i + 2;
+        column = index - newlineIndex;
+        break;
+      }
+    }
+    return {
+      column,
+      line,
+      offset: index
+    };
+  }
+  peek() {
+    return this.buffer.charCodeAt(this.index + 1);
+  }
+  stateText(c) {
+    if (c === 60) {
+      if (this.index > this.sectionStart) {
+        this.cbs.ontext(this.sectionStart, this.index);
+      }
+      this.state = 5;
+      this.sectionStart = this.index;
+    } else if (!this.inVPre && c === this.delimiterOpen[0]) {
+      this.state = 2;
+      this.delimiterIndex = 0;
+      this.stateInterpolationOpen(c);
+    }
+  }
+  stateInterpolationOpen(c) {
+    if (c === this.delimiterOpen[this.delimiterIndex]) {
+      if (this.delimiterIndex === this.delimiterOpen.length - 1) {
+        const start = this.index + 1 - this.delimiterOpen.length;
+        if (start > this.sectionStart) {
+          this.cbs.ontext(this.sectionStart, start);
+        }
+        this.state = 3;
+        this.sectionStart = start;
+      } else {
+        this.delimiterIndex++;
+      }
+    } else if (this.inRCDATA) {
+      this.state = 32;
+      this.stateInRCDATA(c);
+    } else {
+      this.state = 1;
+      this.stateText(c);
+    }
+  }
+  stateInterpolation(c) {
+    if (c === this.delimiterClose[0]) {
+      this.state = 4;
+      this.delimiterIndex = 0;
+      this.stateInterpolationClose(c);
+    }
+  }
+  stateInterpolationClose(c) {
+    if (c === this.delimiterClose[this.delimiterIndex]) {
+      if (this.delimiterIndex === this.delimiterClose.length - 1) {
+        this.cbs.oninterpolation(this.sectionStart, this.index + 1);
+        if (this.inRCDATA) {
+          this.state = 32;
+        } else {
+          this.state = 1;
+        }
+        this.sectionStart = this.index + 1;
+      } else {
+        this.delimiterIndex++;
+      }
+    } else {
+      this.state = 3;
+      this.stateInterpolation(c);
+    }
+  }
+  stateSpecialStartSequence(c) {
+    const isEnd = this.sequenceIndex === this.currentSequence.length;
+    const isMatch = isEnd ? (
+      // If we are at the end of the sequence, make sure the tag name has ended
+      isEndOfTagSection(c)
+    ) : (
+      // Otherwise, do a case-insensitive comparison
+      (c | 32) === this.currentSequence[this.sequenceIndex]
+    );
+    if (!isMatch) {
+      this.inRCDATA = false;
+    } else if (!isEnd) {
+      this.sequenceIndex++;
+      return;
+    }
+    this.sequenceIndex = 0;
+    this.state = 6;
+    this.stateInTagName(c);
+  }
+  /** Look for an end tag. For <title> and <textarea>, also decode entities. */
+  stateInRCDATA(c) {
+    if (this.sequenceIndex === this.currentSequence.length) {
+      if (c === 62 || isWhitespace(c)) {
+        const endOfText = this.index - this.currentSequence.length;
+        if (this.sectionStart < endOfText) {
+          const actualIndex = this.index;
+          this.index = endOfText;
+          this.cbs.ontext(this.sectionStart, endOfText);
+          this.index = actualIndex;
+        }
+        this.sectionStart = endOfText + 2;
+        this.stateInClosingTagName(c);
+        this.inRCDATA = false;
+        return;
+      }
+      this.sequenceIndex = 0;
+    }
+    if ((c | 32) === this.currentSequence[this.sequenceIndex]) {
+      this.sequenceIndex += 1;
+    } else if (this.sequenceIndex === 0) {
+      if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {
+        if (c === this.delimiterOpen[0]) {
+          this.state = 2;
+          this.delimiterIndex = 0;
+          this.stateInterpolationOpen(c);
+        }
+      } else if (this.fastForwardTo(60)) {
+        this.sequenceIndex = 1;
+      }
+    } else {
+      this.sequenceIndex = Number(c === 60);
+    }
+  }
+  stateCDATASequence(c) {
+    if (c === Sequences.Cdata[this.sequenceIndex]) {
+      if (++this.sequenceIndex === Sequences.Cdata.length) {
+        this.state = 28;
+        this.currentSequence = Sequences.CdataEnd;
+        this.sequenceIndex = 0;
+        this.sectionStart = this.index + 1;
+      }
+    } else {
+      this.sequenceIndex = 0;
+      this.state = 23;
+      this.stateInDeclaration(c);
+    }
+  }
+  /**
+   * When we wait for one specific character, we can speed things up
+   * by skipping through the buffer until we find it.
+   *
+   * @returns Whether the character was found.
+   */
+  fastForwardTo(c) {
+    while (++this.index < this.buffer.length) {
+      const cc = this.buffer.charCodeAt(this.index);
+      if (cc === 10) {
+        this.newlines.push(this.index);
+      }
+      if (cc === c) {
+        return true;
+      }
+    }
+    this.index = this.buffer.length - 1;
+    return false;
+  }
+  /**
+   * Comments and CDATA end with `-->` and `]]>`.
+   *
+   * Their common qualities are:
+   * - Their end sequences have a distinct character they start with.
+   * - That character is then repeated, so we have to check multiple repeats.
+   * - All characters but the start character of the sequence can be skipped.
+   */
+  stateInCommentLike(c) {
+    if (c === this.currentSequence[this.sequenceIndex]) {
+      if (++this.sequenceIndex === this.currentSequence.length) {
+        if (this.currentSequence === Sequences.CdataEnd) {
+          this.cbs.oncdata(this.sectionStart, this.index - 2);
+        } else {
+          this.cbs.oncomment(this.sectionStart, this.index - 2);
+        }
+        this.sequenceIndex = 0;
+        this.sectionStart = this.index + 1;
+        this.state = 1;
+      }
+    } else if (this.sequenceIndex === 0) {
+      if (this.fastForwardTo(this.currentSequence[0])) {
+        this.sequenceIndex = 1;
+      }
+    } else if (c !== this.currentSequence[this.sequenceIndex - 1]) {
+      this.sequenceIndex = 0;
+    }
+  }
+  startSpecial(sequence, offset) {
+    this.enterRCDATA(sequence, offset);
+    this.state = 31;
+  }
+  enterRCDATA(sequence, offset) {
+    this.inRCDATA = true;
+    this.currentSequence = sequence;
+    this.sequenceIndex = offset;
+  }
+  stateBeforeTagName(c) {
+    if (c === 33) {
+      this.state = 22;
+      this.sectionStart = this.index + 1;
+    } else if (c === 63) {
+      this.state = 24;
+      this.sectionStart = this.index + 1;
+    } else if (isTagStartChar(c)) {
+      this.sectionStart = this.index;
+      if (this.mode === 0) {
+        this.state = 6;
+      } else if (this.inSFCRoot) {
+        this.state = 34;
+      } else if (!this.inXML) {
+        if (c === 116) {
+          this.state = 30;
+        } else {
+          this.state = c === 115 ? 29 : 6;
+        }
+      } else {
+        this.state = 6;
+      }
+    } else if (c === 47) {
+      this.state = 8;
+    } else {
+      this.state = 1;
+      this.stateText(c);
+    }
+  }
+  stateInTagName(c) {
+    if (isEndOfTagSection(c)) {
+      this.handleTagName(c);
+    }
+  }
+  stateInSFCRootTagName(c) {
+    if (isEndOfTagSection(c)) {
+      const tag = this.buffer.slice(this.sectionStart, this.index);
+      if (tag !== "template") {
+        this.enterRCDATA(toCharCodes(`</` + tag), 0);
+      }
+      this.handleTagName(c);
+    }
+  }
+  handleTagName(c) {
+    this.cbs.onopentagname(this.sectionStart, this.index);
+    this.sectionStart = -1;
+    this.state = 11;
+    this.stateBeforeAttrName(c);
+  }
+  stateBeforeClosingTagName(c) {
+    if (isWhitespace(c))
+      ;
+    else if (c === 62) {
+      this.state = 1;
+      this.sectionStart = this.index + 1;
+    } else {
+      this.state = isTagStartChar(c) ? 9 : 27;
+      this.sectionStart = this.index;
+    }
+  }
+  stateInClosingTagName(c) {
+    if (c === 62 || isWhitespace(c)) {
+      this.cbs.onclosetag(this.sectionStart, this.index);
+      this.sectionStart = -1;
+      this.state = 10;
+      this.stateAfterClosingTagName(c);
+    }
+  }
+  stateAfterClosingTagName(c) {
+    if (c === 62) {
+      this.state = 1;
+      this.sectionStart = this.index + 1;
+    }
+  }
+  stateBeforeAttrName(c) {
+    if (c === 62) {
+      this.cbs.onopentagend(this.index);
+      if (this.inRCDATA) {
+        this.state = 32;
+      } else {
+        this.state = 1;
+      }
+      this.sectionStart = this.index + 1;
+    } else if (c === 47) {
+      this.state = 7;
+    } else if (c === 60 && this.peek() === 47) {
+      this.cbs.onopentagend(this.index);
+      this.state = 5;
+      this.sectionStart = this.index;
+    } else if (!isWhitespace(c)) {
+      this.handleAttrStart(c);
+    }
+  }
+  handleAttrStart(c) {
+    if (c === 118 && this.peek() === 45) {
+      this.state = 13;
+      this.sectionStart = this.index;
+    } else if (c === 46 || c === 58 || c === 64 || c === 35) {
+      this.cbs.ondirname(this.index, this.index + 1);
+      this.state = 14;
+      this.sectionStart = this.index + 1;
+    } else {
+      this.state = 12;
+      this.sectionStart = this.index;
+    }
+  }
+  stateInSelfClosingTag(c) {
+    if (c === 62) {
+      this.cbs.onselfclosingtag(this.index);
+      this.state = 1;
+      this.sectionStart = this.index + 1;
+      this.inRCDATA = false;
+    } else if (!isWhitespace(c)) {
+      this.state = 11;
+      this.stateBeforeAttrName(c);
+    }
+  }
+  stateInAttrName(c) {
+    if (c === 61 || isEndOfTagSection(c)) {
+      this.cbs.onattribname(this.sectionStart, this.index);
+      this.handleAttrNameEnd(c);
+    }
+  }
+  stateInDirName(c) {
+    if (c === 61 || isEndOfTagSection(c)) {
+      this.cbs.ondirname(this.sectionStart, this.index);
+      this.handleAttrNameEnd(c);
+    } else if (c === 58) {
+      this.cbs.ondirname(this.sectionStart, this.index);
+      this.state = 14;
+      this.sectionStart = this.index + 1;
+    } else if (c === 46) {
+      this.cbs.ondirname(this.sectionStart, this.index);
+      this.state = 16;
+      this.sectionStart = this.index + 1;
+    }
+  }
+  stateInDirArg(c) {
+    if (c === 61 || isEndOfTagSection(c)) {
+      this.cbs.ondirarg(this.sectionStart, this.index);
+      this.handleAttrNameEnd(c);
+    } else if (c === 91) {
+      this.state = 15;
+    } else if (c === 46) {
+      this.cbs.ondirarg(this.sectionStart, this.index);
+      this.state = 16;
+      this.sectionStart = this.index + 1;
+    }
+  }
+  stateInDynamicDirArg(c) {
+    if (c === 93) {
+      this.state = 14;
+    } else if (c === 61 || isEndOfTagSection(c)) {
+      this.cbs.ondirarg(this.sectionStart, this.index + 1);
+      this.handleAttrNameEnd(c);
+    }
+  }
+  stateInDirModifier(c) {
+    if (c === 61 || isEndOfTagSection(c)) {
+      this.cbs.ondirmodifier(this.sectionStart, this.index);
+      this.handleAttrNameEnd(c);
+    } else if (c === 46) {
+      this.cbs.ondirmodifier(this.sectionStart, this.index);
+      this.sectionStart = this.index + 1;
+    }
+  }
+  handleAttrNameEnd(c) {
+    this.sectionStart = this.index;
+    this.state = 17;
+    this.cbs.onattribnameend(this.index);
+    this.stateAfterAttrName(c);
+  }
+  stateAfterAttrName(c) {
+    if (c === 61) {
+      this.state = 18;
+    } else if (c === 47 || c === 62) {
+      this.cbs.onattribend(0, this.sectionStart);
+      this.sectionStart = -1;
+      this.state = 11;
+      this.stateBeforeAttrName(c);
+    } else if (!isWhitespace(c)) {
+      this.cbs.onattribend(0, this.sectionStart);
+      this.handleAttrStart(c);
+    }
+  }
+  stateBeforeAttrValue(c) {
+    if (c === 34) {
+      this.state = 19;
+      this.sectionStart = this.index + 1;
+    } else if (c === 39) {
+      this.state = 20;
+      this.sectionStart = this.index + 1;
+    } else if (!isWhitespace(c)) {
+      this.sectionStart = this.index;
+      this.state = 21;
+      this.stateInAttrValueNoQuotes(c);
+    }
+  }
+  handleInAttrValue(c, quote) {
+    if (c === quote || this.fastForwardTo(quote)) {
+      this.cbs.onattribdata(this.sectionStart, this.index);
+      this.sectionStart = -1;
+      this.cbs.onattribend(
+        quote === 34 ? 3 : 2,
+        this.index + 1
+      );
+      this.state = 11;
+    }
+  }
+  stateInAttrValueDoubleQuotes(c) {
+    this.handleInAttrValue(c, 34);
+  }
+  stateInAttrValueSingleQuotes(c) {
+    this.handleInAttrValue(c, 39);
+  }
+  stateInAttrValueNoQuotes(c) {
+    if (isWhitespace(c) || c === 62) {
+      this.cbs.onattribdata(this.sectionStart, this.index);
+      this.sectionStart = -1;
+      this.cbs.onattribend(1, this.index);
+      this.state = 11;
+      this.stateBeforeAttrName(c);
+    } else if (c === 39 || c === 60 || c === 61 || c === 96) {
+      this.cbs.onerr(
+        18,
+        this.index
+      );
+    } else
+      ;
+  }
+  stateBeforeDeclaration(c) {
+    if (c === 91) {
+      this.state = 26;
+      this.sequenceIndex = 0;
+    } else {
+      this.state = c === 45 ? 25 : 23;
+    }
+  }
+  stateInDeclaration(c) {
+    if (c === 62 || this.fastForwardTo(62)) {
+      this.state = 1;
+      this.sectionStart = this.index + 1;
+    }
+  }
+  stateInProcessingInstruction(c) {
+    if (c === 62 || this.fastForwardTo(62)) {
+      this.cbs.onprocessinginstruction(this.sectionStart, this.index);
+      this.state = 1;
+      this.sectionStart = this.index + 1;
+    }
+  }
+  stateBeforeComment(c) {
+    if (c === 45) {
+      this.state = 28;
+      this.currentSequence = Sequences.CommentEnd;
+      this.sequenceIndex = 2;
+      this.sectionStart = this.index + 1;
+    } else {
+      this.state = 23;
+    }
+  }
+  stateInSpecialComment(c) {
+    if (c === 62 || this.fastForwardTo(62)) {
+      this.cbs.oncomment(this.sectionStart, this.index);
+      this.state = 1;
+      this.sectionStart = this.index + 1;
+    }
+  }
+  stateBeforeSpecialS(c) {
+    if (c === Sequences.ScriptEnd[3]) {
+      this.startSpecial(Sequences.ScriptEnd, 4);
+    } else if (c === Sequences.StyleEnd[3]) {
+      this.startSpecial(Sequences.StyleEnd, 4);
+    } else {
+      this.state = 6;
+      this.stateInTagName(c);
+    }
+  }
+  stateBeforeSpecialT(c) {
+    if (c === Sequences.TitleEnd[3]) {
+      this.startSpecial(Sequences.TitleEnd, 4);
+    } else if (c === Sequences.TextareaEnd[3]) {
+      this.startSpecial(Sequences.TextareaEnd, 4);
+    } else {
+      this.state = 6;
+      this.stateInTagName(c);
+    }
+  }
+  startEntity() {
+  }
+  stateInEntity() {
+  }
+  /**
+   * Iterates through the buffer, calling the function corresponding to the current state.
+   *
+   * States that are more likely to be hit are higher up, as a performance improvement.
+   */
+  parse(input) {
+    this.buffer = input;
+    while (this.index < this.buffer.length) {
+      const c = this.buffer.charCodeAt(this.index);
+      if (c === 10) {
+        this.newlines.push(this.index);
+      }
+      switch (this.state) {
+        case 1: {
+          this.stateText(c);
+          break;
+        }
+        case 2: {
+          this.stateInterpolationOpen(c);
+          break;
+        }
+        case 3: {
+          this.stateInterpolation(c);
+          break;
+        }
+        case 4: {
+          this.stateInterpolationClose(c);
+          break;
+        }
+        case 31: {
+          this.stateSpecialStartSequence(c);
+          break;
+        }
+        case 32: {
+          this.stateInRCDATA(c);
+          break;
+        }
+        case 26: {
+          this.stateCDATASequence(c);
+          break;
+        }
+        case 19: {
+          this.stateInAttrValueDoubleQuotes(c);
+          break;
+        }
+        case 12: {
+          this.stateInAttrName(c);
+          break;
+        }
+        case 13: {
+          this.stateInDirName(c);
+          break;
+        }
+        case 14: {
+          this.stateInDirArg(c);
+          break;
+        }
+        case 15: {
+          this.stateInDynamicDirArg(c);
+          break;
+        }
+        case 16: {
+          this.stateInDirModifier(c);
+          break;
+        }
+        case 28: {
+          this.stateInCommentLike(c);
+          break;
+        }
+        case 27: {
+          this.stateInSpecialComment(c);
+          break;
+        }
+        case 11: {
+          this.stateBeforeAttrName(c);
+          break;
+        }
+        case 6: {
+          this.stateInTagName(c);
+          break;
+        }
+        case 34: {
+          this.stateInSFCRootTagName(c);
+          break;
+        }
+        case 9: {
+          this.stateInClosingTagName(c);
+          break;
+        }
+        case 5: {
+          this.stateBeforeTagName(c);
+          break;
+        }
+        case 17: {
+          this.stateAfterAttrName(c);
+          break;
+        }
+        case 20: {
+          this.stateInAttrValueSingleQuotes(c);
+          break;
+        }
+        case 18: {
+          this.stateBeforeAttrValue(c);
+          break;
+        }
+        case 8: {
+          this.stateBeforeClosingTagName(c);
+          break;
+        }
+        case 10: {
+          this.stateAfterClosingTagName(c);
+          break;
+        }
+        case 29: {
+          this.stateBeforeSpecialS(c);
+          break;
+        }
+        case 30: {
+          this.stateBeforeSpecialT(c);
+          break;
+        }
+        case 21: {
+          this.stateInAttrValueNoQuotes(c);
+          break;
+        }
+        case 7: {
+          this.stateInSelfClosingTag(c);
+          break;
+        }
+        case 23: {
+          this.stateInDeclaration(c);
+          break;
+        }
+        case 22: {
+          this.stateBeforeDeclaration(c);
+          break;
+        }
+        case 25: {
+          this.stateBeforeComment(c);
+          break;
+        }
+        case 24: {
+          this.stateInProcessingInstruction(c);
+          break;
+        }
+        case 33: {
+          this.stateInEntity();
+          break;
+        }
+      }
+      this.index++;
+    }
+    this.cleanup();
+    this.finish();
+  }
+  /**
+   * Remove data that has already been consumed from the buffer.
+   */
+  cleanup() {
+    if (this.sectionStart !== this.index) {
+      if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) {
+        this.cbs.ontext(this.sectionStart, this.index);
+        this.sectionStart = this.index;
+      } else if (this.state === 19 || this.state === 20 || this.state === 21) {
+        this.cbs.onattribdata(this.sectionStart, this.index);
+        this.sectionStart = this.index;
+      }
+    }
+  }
+  finish() {
+    this.handleTrailingData();
+    this.cbs.onend();
+  }
+  /** Handle any trailing data. */
+  handleTrailingData() {
+    const endIndex = this.buffer.length;
+    if (this.sectionStart >= endIndex) {
+      return;
+    }
+    if (this.state === 28) {
+      if (this.currentSequence === Sequences.CdataEnd) {
+        this.cbs.oncdata(this.sectionStart, endIndex);
+      } else {
+        this.cbs.oncomment(this.sectionStart, endIndex);
+      }
+    } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9)
+      ;
+    else {
+      this.cbs.ontext(this.sectionStart, endIndex);
+    }
+  }
+  emitCodePoint(cp, consumed) {
+  }
+}
+function getCompatValue(key, { compatConfig }) {
+  const value = compatConfig && compatConfig[key];
+  if (key === "MODE") {
+    return value || 3;
+  } else {
+    return value;
+  }
+}
+function isCompatEnabled(key, context) {
+  const mode = getCompatValue("MODE", context);
+  const value = getCompatValue(key, context);
+  return mode === 3 ? value === true : value !== false;
+}
+function checkCompatEnabled(key, context, loc, ...args) {
+  const enabled = isCompatEnabled(key, context);
+  return enabled;
+}
+function defaultOnError$1(error) {
+  throw error;
+}
+function defaultOnWarn(msg) {
+}
+function createCompilerError(code2, loc, messages, additionalMessage) {
+  const msg = `https://vuejs.org/error-reference/#compiler-${code2}`;
+  const error = new SyntaxError(String(msg));
+  error.code = code2;
+  error.loc = loc;
+  return error;
+}
+const isStaticExp = (p2) => p2.type === 4 && p2.isStatic;
+function isCoreComponent(tag) {
+  switch (tag) {
+    case "Teleport":
+    case "teleport":
+      return TELEPORT;
+    case "Suspense":
+    case "suspense":
+      return SUSPENSE;
+    case "KeepAlive":
+    case "keep-alive":
+      return KEEP_ALIVE;
+    case "BaseTransition":
+    case "base-transition":
+      return BASE_TRANSITION;
+  }
+}
+const nonIdentifierRE = /^\d|[^\$\w]/;
+const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
+const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
+const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
+const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
+const isMemberExpressionBrowser = (path) => {
+  path = path.trim().replace(whitespaceRE, (s) => s.trim());
+  let state = 0;
+  let stateStack = [];
+  let currentOpenBracketCount = 0;
+  let currentOpenParensCount = 0;
+  let currentStringType = null;
+  for (let i = 0; i < path.length; i++) {
+    const char = path.charAt(i);
+    switch (state) {
+      case 0:
+        if (char === "[") {
+          stateStack.push(state);
+          state = 1;
+          currentOpenBracketCount++;
+        } else if (char === "(") {
+          stateStack.push(state);
+          state = 2;
+          currentOpenParensCount++;
+        } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {
+          return false;
+        }
+        break;
+      case 1:
+        if (char === `'` || char === `"` || char === "`") {
+          stateStack.push(state);
+          state = 3;
+          currentStringType = char;
+        } else if (char === `[`) {
+          currentOpenBracketCount++;
+        } else if (char === `]`) {
+          if (!--currentOpenBracketCount) {
+            state = stateStack.pop();
+          }
+        }
+        break;
+      case 2:
+        if (char === `'` || char === `"` || char === "`") {
+          stateStack.push(state);
+          state = 3;
+          currentStringType = char;
+        } else if (char === `(`) {
+          currentOpenParensCount++;
+        } else if (char === `)`) {
+          if (i === path.length - 1) {
+            return false;
+          }
+          if (!--currentOpenParensCount) {
+            state = stateStack.pop();
+          }
+        }
+        break;
+      case 3:
+        if (char === currentStringType) {
+          state = stateStack.pop();
+          currentStringType = null;
+        }
+        break;
+    }
+  }
+  return !currentOpenBracketCount && !currentOpenParensCount;
+};
+const isMemberExpression = isMemberExpressionBrowser;
+function findDir(node, name, allowEmpty = false) {
+  for (let i = 0; i < node.props.length; i++) {
+    const p2 = node.props[i];
+    if (p2.type === 7 && (allowEmpty || p2.exp) && (isString$2(name) ? p2.name === name : name.test(p2.name))) {
+      return p2;
+    }
+  }
+}
+function findProp(node, name, dynamicOnly = false, allowEmpty = false) {
+  for (let i = 0; i < node.props.length; i++) {
+    const p2 = node.props[i];
+    if (p2.type === 6) {
+      if (dynamicOnly)
+        continue;
+      if (p2.name === name && (p2.value || allowEmpty)) {
+        return p2;
+      }
+    } else if (p2.name === "bind" && (p2.exp || allowEmpty) && isStaticArgOf(p2.arg, name)) {
+      return p2;
+    }
+  }
+}
+function isStaticArgOf(arg, name) {
+  return !!(arg && isStaticExp(arg) && arg.content === name);
+}
+function hasDynamicKeyVBind(node) {
+  return node.props.some(
+    (p2) => p2.type === 7 && p2.name === "bind" && (!p2.arg || // v-bind="obj"
+    p2.arg.type !== 4 || // v-bind:[_ctx.foo]
+    !p2.arg.isStatic)
+    // v-bind:[foo]
+  );
+}
+function isText$1(node) {
+  return node.type === 5 || node.type === 2;
+}
+function isVSlot(p2) {
+  return p2.type === 7 && p2.name === "slot";
+}
+function isTemplateNode(node) {
+  return node.type === 1 && node.tagType === 3;
+}
+function isSlotOutlet(node) {
+  return node.type === 1 && node.tagType === 2;
+}
+const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
+function getUnnormalizedProps(props, callPath = []) {
+  if (props && !isString$2(props) && props.type === 14) {
+    const callee = props.callee;
+    if (!isString$2(callee) && propsHelperSet.has(callee)) {
+      return getUnnormalizedProps(
+        props.arguments[0],
+        callPath.concat(props)
+      );
+    }
+  }
+  return [props, callPath];
+}
+function injectProp(node, prop, context) {
+  let propsWithInjection;
+  let props = node.type === 13 ? node.props : node.arguments[2];
+  let callPath = [];
+  let parentCall;
+  if (props && !isString$2(props) && props.type === 14) {
+    const ret = getUnnormalizedProps(props);
+    props = ret[0];
+    callPath = ret[1];
+    parentCall = callPath[callPath.length - 1];
+  }
+  if (props == null || isString$2(props)) {
+    propsWithInjection = createObjectExpression([prop]);
+  } else if (props.type === 14) {
+    const first = props.arguments[0];
+    if (!isString$2(first) && first.type === 15) {
+      if (!hasProp(prop, first)) {
+        first.properties.unshift(prop);
+      }
+    } else {
+      if (props.callee === TO_HANDLERS) {
+        propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [
+          createObjectExpression([prop]),
+          props
+        ]);
+      } else {
+        props.arguments.unshift(createObjectExpression([prop]));
+      }
+    }
+    !propsWithInjection && (propsWithInjection = props);
+  } else if (props.type === 15) {
+    if (!hasProp(prop, props)) {
+      props.properties.unshift(prop);
+    }
+    propsWithInjection = props;
+  } else {
+    propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [
+      createObjectExpression([prop]),
+      props
+    ]);
+    if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {
+      parentCall = callPath[callPath.length - 2];
+    }
+  }
+  if (node.type === 13) {
+    if (parentCall) {
+      parentCall.arguments[0] = propsWithInjection;
+    } else {
+      node.props = propsWithInjection;
+    }
+  } else {
+    if (parentCall) {
+      parentCall.arguments[0] = propsWithInjection;
+    } else {
+      node.arguments[2] = propsWithInjection;
+    }
+  }
+}
+function hasProp(prop, props) {
+  let result = false;
+  if (prop.key.type === 4) {
+    const propKeyName = prop.key.content;
+    result = props.properties.some(
+      (p2) => p2.key.type === 4 && p2.key.content === propKeyName
+    );
+  }
+  return result;
+}
+function toValidAssetId(name, type) {
+  return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => {
+    return searchValue === "-" ? "_" : name.charCodeAt(replaceValue).toString();
+  })}`;
+}
+function getMemoedVNodeCall(node) {
+  if (node.type === 14 && node.callee === WITH_MEMO) {
+    return node.arguments[1].returns;
+  } else {
+    return node;
+  }
+}
+const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
+const defaultParserOptions = {
+  parseMode: "base",
+  ns: 0,
+  delimiters: [`{{`, `}}`],
+  getNamespace: () => 0,
+  isVoidTag: NO,
+  isPreTag: NO,
+  isCustomElement: NO,
+  onError: defaultOnError$1,
+  onWarn: defaultOnWarn,
+  comments: false,
+  prefixIdentifiers: false
+};
+let currentOptions = defaultParserOptions;
+let currentRoot = null;
+let currentInput = "";
+let currentOpenTag = null;
+let currentProp = null;
+let currentAttrValue = "";
+let currentAttrStartIndex = -1;
+let currentAttrEndIndex = -1;
+let inPre = 0;
+let inVPre = false;
+let currentVPreBoundary = null;
+const stack = [];
+const tokenizer = new Tokenizer(stack, {
+  onerr: emitError,
+  ontext(start, end) {
+    onText(getSlice(start, end), start, end);
+  },
+  ontextentity(char, start, end) {
+    onText(char, start, end);
+  },
+  oninterpolation(start, end) {
+    if (inVPre) {
+      return onText(getSlice(start, end), start, end);
+    }
+    let innerStart = start + tokenizer.delimiterOpen.length;
+    let innerEnd = end - tokenizer.delimiterClose.length;
+    while (isWhitespace(currentInput.charCodeAt(innerStart))) {
+      innerStart++;
+    }
+    while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) {
+      innerEnd--;
+    }
+    let exp = getSlice(innerStart, innerEnd);
+    if (exp.includes("&")) {
+      {
+        exp = currentOptions.decodeEntities(exp, false);
+      }
+    }
+    addNode({
+      type: 5,
+      content: createExp(exp, false, getLoc(innerStart, innerEnd)),
+      loc: getLoc(start, end)
+    });
+  },
+  onopentagname(start, end) {
+    const name = getSlice(start, end);
+    currentOpenTag = {
+      type: 1,
+      tag: name,
+      ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns),
+      tagType: 0,
+      // will be refined on tag close
+      props: [],
+      children: [],
+      loc: getLoc(start - 1, end),
+      codegenNode: void 0
+    };
+  },
+  onopentagend(end) {
+    endOpenTag(end);
+  },
+  onclosetag(start, end) {
+    const name = getSlice(start, end);
+    if (!currentOptions.isVoidTag(name)) {
+      let found = false;
+      for (let i = 0; i < stack.length; i++) {
+        const e = stack[i];
+        if (e.tag.toLowerCase() === name.toLowerCase()) {
+          found = true;
+          if (i > 0) {
+            emitError(24, stack[0].loc.start.offset);
+          }
+          for (let j = 0; j <= i; j++) {
+            const el = stack.shift();
+            onCloseTag(el, end, j < i);
+          }
+          break;
+        }
+      }
+      if (!found) {
+        emitError(23, backTrack(start, 60));
+      }
+    }
+  },
+  onselfclosingtag(end) {
+    const name = currentOpenTag.tag;
+    currentOpenTag.isSelfClosing = true;
+    endOpenTag(end);
+    if (stack[0] && stack[0].tag === name) {
+      onCloseTag(stack.shift(), end);
+    }
+  },
+  onattribname(start, end) {
+    currentProp = {
+      type: 6,
+      name: getSlice(start, end),
+      nameLoc: getLoc(start, end),
+      value: void 0,
+      loc: getLoc(start)
+    };
+  },
+  ondirname(start, end) {
+    const raw = getSlice(start, end);
+    const name = raw === "." || raw === ":" ? "bind" : raw === "@" ? "on" : raw === "#" ? "slot" : raw.slice(2);
+    if (!inVPre && name === "") {
+      emitError(26, start);
+    }
+    if (inVPre || name === "") {
+      currentProp = {
+        type: 6,
+        name: raw,
+        nameLoc: getLoc(start, end),
+        value: void 0,
+        loc: getLoc(start)
+      };
+    } else {
+      currentProp = {
+        type: 7,
+        name,
+        rawName: raw,
+        exp: void 0,
+        arg: void 0,
+        modifiers: raw === "." ? ["prop"] : [],
+        loc: getLoc(start)
+      };
+      if (name === "pre") {
+        inVPre = tokenizer.inVPre = true;
+        currentVPreBoundary = currentOpenTag;
+        const props = currentOpenTag.props;
+        for (let i = 0; i < props.length; i++) {
+          if (props[i].type === 7) {
+            props[i] = dirToAttr(props[i]);
+          }
+        }
+      }
+    }
+  },
+  ondirarg(start, end) {
+    if (start === end)
+      return;
+    const arg = getSlice(start, end);
+    if (inVPre) {
+      currentProp.name += arg;
+      setLocEnd(currentProp.nameLoc, end);
+    } else {
+      const isStatic = arg[0] !== `[`;
+      currentProp.arg = createExp(
+        isStatic ? arg : arg.slice(1, -1),
+        isStatic,
+        getLoc(start, end),
+        isStatic ? 3 : 0
+      );
+    }
+  },
+  ondirmodifier(start, end) {
+    const mod = getSlice(start, end);
+    if (inVPre) {
+      currentProp.name += "." + mod;
+      setLocEnd(currentProp.nameLoc, end);
+    } else if (currentProp.name === "slot") {
+      const arg = currentProp.arg;
+      if (arg) {
+        arg.content += "." + mod;
+        setLocEnd(arg.loc, end);
+      }
+    } else {
+      currentProp.modifiers.push(mod);
+    }
+  },
+  onattribdata(start, end) {
+    currentAttrValue += getSlice(start, end);
+    if (currentAttrStartIndex < 0)
+      currentAttrStartIndex = start;
+    currentAttrEndIndex = end;
+  },
+  onattribentity(char, start, end) {
+    currentAttrValue += char;
+    if (currentAttrStartIndex < 0)
+      currentAttrStartIndex = start;
+    currentAttrEndIndex = end;
+  },
+  onattribnameend(end) {
+    const start = currentProp.loc.start.offset;
+    const name = getSlice(start, end);
+    if (currentProp.type === 7) {
+      currentProp.rawName = name;
+    }
+    if (currentOpenTag.props.some(
+      (p2) => (p2.type === 7 ? p2.rawName : p2.name) === name
+    )) {
+      emitError(2, start);
+    }
+  },
+  onattribend(quote, end) {
+    if (currentOpenTag && currentProp) {
+      setLocEnd(currentProp.loc, end);
+      if (quote !== 0) {
+        if (currentAttrValue.includes("&")) {
+          currentAttrValue = currentOptions.decodeEntities(
+            currentAttrValue,
+            true
+          );
+        }
+        if (currentProp.type === 6) {
+          if (currentProp.name === "class") {
+            currentAttrValue = condense(currentAttrValue).trim();
+          }
+          if (quote === 1 && !currentAttrValue) {
+            emitError(13, end);
+          }
+          currentProp.value = {
+            type: 2,
+            content: currentAttrValue,
+            loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)
+          };
+          if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") {
+            tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
+          }
+        } else {
+          let expParseMode = 0;
+          currentProp.exp = createExp(
+            currentAttrValue,
+            false,
+            getLoc(currentAttrStartIndex, currentAttrEndIndex),
+            0,
+            expParseMode
+          );
+          if (currentProp.name === "for") {
+            currentProp.forParseResult = parseForExpression(currentProp.exp);
+          }
+          let syncIndex = -1;
+          if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.indexOf("sync")) > -1 && checkCompatEnabled(
+            "COMPILER_V_BIND_SYNC",
+            currentOptions,
+            currentProp.loc,
+            currentProp.rawName
+          )) {
+            currentProp.name = "model";
+            currentProp.modifiers.splice(syncIndex, 1);
+          }
+        }
+      }
+      if (currentProp.type !== 7 || currentProp.name !== "pre") {
+        currentOpenTag.props.push(currentProp);
+      }
+    }
+    currentAttrValue = "";
+    currentAttrStartIndex = currentAttrEndIndex = -1;
+  },
+  oncomment(start, end) {
+    if (currentOptions.comments) {
+      addNode({
+        type: 3,
+        content: getSlice(start, end),
+        loc: getLoc(start - 4, end + 3)
+      });
+    }
+  },
+  onend() {
+    const end = currentInput.length;
+    for (let index = 0; index < stack.length; index++) {
+      onCloseTag(stack[index], end - 1);
+      emitError(24, stack[index].loc.start.offset);
+    }
+  },
+  oncdata(start, end) {
+    if (stack[0].ns !== 0) {
+      onText(getSlice(start, end), start, end);
+    } else {
+      emitError(1, start - 9);
+    }
+  },
+  onprocessinginstruction(start) {
+    if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) {
+      emitError(
+        21,
+        start - 1
+      );
+    }
+  }
+});
+const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
+const stripParensRE = /^\(|\)$/g;
+function parseForExpression(input) {
+  const loc = input.loc;
+  const exp = input.content;
+  const inMatch = exp.match(forAliasRE);
+  if (!inMatch)
+    return;
+  const [, LHS, RHS] = inMatch;
+  const createAliasExpression = (content, offset, asParam = false) => {
+    const start = loc.start.offset + offset;
+    const end = start + content.length;
+    return createExp(
+      content,
+      false,
+      getLoc(start, end),
+      0,
+      asParam ? 1 : 0
+      /* Normal */
+    );
+  };
+  const result = {
+    source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),
+    value: void 0,
+    key: void 0,
+    index: void 0,
+    finalized: false
+  };
+  let valueContent = LHS.trim().replace(stripParensRE, "").trim();
+  const trimmedOffset = LHS.indexOf(valueContent);
+  const iteratorMatch = valueContent.match(forIteratorRE);
+  if (iteratorMatch) {
+    valueContent = valueContent.replace(forIteratorRE, "").trim();
+    const keyContent = iteratorMatch[1].trim();
+    let keyOffset;
+    if (keyContent) {
+      keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);
+      result.key = createAliasExpression(keyContent, keyOffset, true);
+    }
+    if (iteratorMatch[2]) {
+      const indexContent = iteratorMatch[2].trim();
+      if (indexContent) {
+        result.index = createAliasExpression(
+          indexContent,
+          exp.indexOf(
+            indexContent,
+            result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length
+          ),
+          true
+        );
+      }
+    }
+  }
+  if (valueContent) {
+    result.value = createAliasExpression(valueContent, trimmedOffset, true);
+  }
+  return result;
+}
+function getSlice(start, end) {
+  return currentInput.slice(start, end);
+}
+function endOpenTag(end) {
+  if (tokenizer.inSFCRoot) {
+    currentOpenTag.innerLoc = getLoc(end + 1, end + 1);
+  }
+  addNode(currentOpenTag);
+  const { tag, ns } = currentOpenTag;
+  if (ns === 0 && currentOptions.isPreTag(tag)) {
+    inPre++;
+  }
+  if (currentOptions.isVoidTag(tag)) {
+    onCloseTag(currentOpenTag, end);
+  } else {
+    stack.unshift(currentOpenTag);
+    if (ns === 1 || ns === 2) {
+      tokenizer.inXML = true;
+    }
+  }
+  currentOpenTag = null;
+}
+function onText(content, start, end) {
+  {
+    const tag = stack[0] && stack[0].tag;
+    if (tag !== "script" && tag !== "style" && content.includes("&")) {
+      content = currentOptions.decodeEntities(content, false);
+    }
+  }
+  const parent = stack[0] || currentRoot;
+  const lastNode = parent.children[parent.children.length - 1];
+  if (lastNode && lastNode.type === 2) {
+    lastNode.content += content;
+    setLocEnd(lastNode.loc, end);
+  } else {
+    parent.children.push({
+      type: 2,
+      content,
+      loc: getLoc(start, end)
+    });
+  }
+}
+function onCloseTag(el, end, isImplied = false) {
+  if (isImplied) {
+    setLocEnd(el.loc, backTrack(end, 60));
+  } else {
+    setLocEnd(el.loc, lookAhead(end, 62) + 1);
+  }
+  if (tokenizer.inSFCRoot) {
+    if (el.children.length) {
+      el.innerLoc.end = extend({}, el.children[el.children.length - 1].loc.end);
+    } else {
+      el.innerLoc.end = extend({}, el.innerLoc.start);
+    }
+    el.innerLoc.source = getSlice(
+      el.innerLoc.start.offset,
+      el.innerLoc.end.offset
+    );
+  }
+  const { tag, ns } = el;
+  if (!inVPre) {
+    if (tag === "slot") {
+      el.tagType = 2;
+    } else if (isFragmentTemplate(el)) {
+      el.tagType = 3;
+    } else if (isComponent(el)) {
+      el.tagType = 1;
+    }
+  }
+  if (!tokenizer.inRCDATA) {
+    el.children = condenseWhitespace(el.children, el.tag);
+  }
+  if (ns === 0 && currentOptions.isPreTag(tag)) {
+    inPre--;
+  }
+  if (currentVPreBoundary === el) {
+    inVPre = tokenizer.inVPre = false;
+    currentVPreBoundary = null;
+  }
+  if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {
+    tokenizer.inXML = false;
+  }
+  {
+    const props = el.props;
+    if (!tokenizer.inSFCRoot && isCompatEnabled(
+      "COMPILER_NATIVE_TEMPLATE",
+      currentOptions
+    ) && el.tag === "template" && !isFragmentTemplate(el)) {
+      const parent = stack[0] || currentRoot;
+      const index = parent.children.indexOf(el);
+      parent.children.splice(index, 1, ...el.children);
+    }
+    const inlineTemplateProp = props.find(
+      (p2) => p2.type === 6 && p2.name === "inline-template"
+    );
+    if (inlineTemplateProp && checkCompatEnabled(
+      "COMPILER_INLINE_TEMPLATE",
+      currentOptions,
+      inlineTemplateProp.loc
+    ) && el.children.length) {
+      inlineTemplateProp.value = {
+        type: 2,
+        content: getSlice(
+          el.children[0].loc.start.offset,
+          el.children[el.children.length - 1].loc.end.offset
+        ),
+        loc: inlineTemplateProp.loc
+      };
+    }
+  }
+}
+function lookAhead(index, c) {
+  let i = index;
+  while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1)
+    i++;
+  return i;
+}
+function backTrack(index, c) {
+  let i = index;
+  while (currentInput.charCodeAt(i) !== c && i >= 0)
+    i--;
+  return i;
+}
+const specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]);
+function isFragmentTemplate({ tag, props }) {
+  if (tag === "template") {
+    for (let i = 0; i < props.length; i++) {
+      if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) {
+        return true;
+      }
+    }
+  }
+  return false;
+}
+function isComponent({ tag, props }) {
+  if (currentOptions.isCustomElement(tag)) {
+    return false;
+  }
+  if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {
+    return true;
+  }
+  for (let i = 0; i < props.length; i++) {
+    const p2 = props[i];
+    if (p2.type === 6) {
+      if (p2.name === "is" && p2.value) {
+        if (p2.value.content.startsWith("vue:")) {
+          return true;
+        } else if (checkCompatEnabled(
+          "COMPILER_IS_ON_ELEMENT",
+          currentOptions,
+          p2.loc
+        )) {
+          return true;
+        }
+      }
+    } else if (
+      // :is on plain element - only treat as component in compat mode
+      p2.name === "bind" && isStaticArgOf(p2.arg, "is") && checkCompatEnabled(
+        "COMPILER_IS_ON_ELEMENT",
+        currentOptions,
+        p2.loc
+      )
+    ) {
+      return true;
+    }
+  }
+  return false;
+}
+function isUpperCase(c) {
+  return c > 64 && c < 91;
+}
+const windowsNewlineRE = /\r\n/g;
+function condenseWhitespace(nodes, tag) {
+  const shouldCondense = currentOptions.whitespace !== "preserve";
+  let removedWhitespace = false;
+  for (let i = 0; i < nodes.length; i++) {
+    const node = nodes[i];
+    if (node.type === 2) {
+      if (!inPre) {
+        if (isAllWhitespace(node.content)) {
+          const prev = nodes[i - 1] && nodes[i - 1].type;
+          const next = nodes[i + 1] && nodes[i + 1].type;
+          if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
+            removedWhitespace = true;
+            nodes[i] = null;
+          } else {
+            node.content = " ";
+          }
+        } else if (shouldCondense) {
+          node.content = condense(node.content);
+        }
+      } else {
+        node.content = node.content.replace(windowsNewlineRE, "\n");
+      }
+    }
+  }
+  if (inPre && tag && currentOptions.isPreTag(tag)) {
+    const first = nodes[0];
+    if (first && first.type === 2) {
+      first.content = first.content.replace(/^\r?\n/, "");
+    }
+  }
+  return removedWhitespace ? nodes.filter(Boolean) : nodes;
+}
+function isAllWhitespace(str) {
+  for (let i = 0; i < str.length; i++) {
+    if (!isWhitespace(str.charCodeAt(i))) {
+      return false;
+    }
+  }
+  return true;
+}
+function hasNewlineChar(str) {
+  for (let i = 0; i < str.length; i++) {
+    const c = str.charCodeAt(i);
+    if (c === 10 || c === 13) {
+      return true;
+    }
+  }
+  return false;
+}
+function condense(str) {
+  let ret = "";
+  let prevCharIsWhitespace = false;
+  for (let i = 0; i < str.length; i++) {
+    if (isWhitespace(str.charCodeAt(i))) {
+      if (!prevCharIsWhitespace) {
+        ret += " ";
+        prevCharIsWhitespace = true;
+      }
+    } else {
+      ret += str[i];
+      prevCharIsWhitespace = false;
+    }
+  }
+  return ret;
+}
+function addNode(node) {
+  (stack[0] || currentRoot).children.push(node);
+}
+function getLoc(start, end) {
+  return {
+    start: tokenizer.getPos(start),
+    // @ts-expect-error allow late attachment
+    end: end == null ? end : tokenizer.getPos(end),
+    // @ts-expect-error allow late attachment
+    source: end == null ? end : getSlice(start, end)
+  };
+}
+function setLocEnd(loc, end) {
+  loc.end = tokenizer.getPos(end);
+  loc.source = getSlice(loc.start.offset, end);
+}
+function dirToAttr(dir) {
+  const attr = {
+    type: 6,
+    name: dir.rawName,
+    nameLoc: getLoc(
+      dir.loc.start.offset,
+      dir.loc.start.offset + dir.rawName.length
+    ),
+    value: void 0,
+    loc: dir.loc
+  };
+  if (dir.exp) {
+    const loc = dir.exp.loc;
+    if (loc.end.offset < dir.loc.end.offset) {
+      loc.start.offset--;
+      loc.start.column--;
+      loc.end.offset++;
+      loc.end.column++;
+    }
+    attr.value = {
+      type: 2,
+      content: dir.exp.content,
+      loc
+    };
+  }
+  return attr;
+}
+function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0) {
+  const exp = createSimpleExpression(content, isStatic, loc, constType);
+  return exp;
+}
+function emitError(code2, index, message) {
+  currentOptions.onError(
+    createCompilerError(code2, getLoc(index, index))
+  );
+}
+function reset() {
+  tokenizer.reset();
+  currentOpenTag = null;
+  currentProp = null;
+  currentAttrValue = "";
+  currentAttrStartIndex = -1;
+  currentAttrEndIndex = -1;
+  stack.length = 0;
+}
+function baseParse(input, options) {
+  reset();
+  currentInput = input;
+  currentOptions = extend({}, defaultParserOptions);
+  if (options) {
+    let key;
+    for (key in options) {
+      if (options[key] != null) {
+        currentOptions[key] = options[key];
+      }
+    }
+  }
+  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
+  tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
+  const delimiters = options && options.delimiters;
+  if (delimiters) {
+    tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
+    tokenizer.delimiterClose = toCharCodes(delimiters[1]);
+  }
+  const root = currentRoot = createRoot([], input);
+  tokenizer.parse(currentInput);
+  root.loc = getLoc(0, input.length);
+  root.children = condenseWhitespace(root.children);
+  currentRoot = null;
+  return root;
+}
+function hoistStatic(root, context) {
+  walk(
+    root,
+    context,
+    // Root node is unfortunately non-hoistable due to potential parent
+    // fallthrough attributes.
+    isSingleElementRoot(root, root.children[0])
+  );
+}
+function isSingleElementRoot(root, child) {
+  const { children } = root;
+  return children.length === 1 && child.type === 1 && !isSlotOutlet(child);
+}
+function walk(node, context, doNotHoistNode = false) {
+  const { children } = node;
+  const originalCount = children.length;
+  let hoistedCount = 0;
+  for (let i = 0; i < children.length; i++) {
+    const child = children[i];
+    if (child.type === 1 && child.tagType === 0) {
+      const constantType = doNotHoistNode ? 0 : getConstantType(child, context);
+      if (constantType > 0) {
+        if (constantType >= 2) {
+          child.codegenNode.patchFlag = `-1`;
+          child.codegenNode = context.hoist(child.codegenNode);
+          hoistedCount++;
+          continue;
+        }
+      } else {
+        const codegenNode = child.codegenNode;
+        if (codegenNode.type === 13) {
+          const flag = getPatchFlag(codegenNode);
+          if ((!flag || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {
+            const props = getNodeProps(child);
+            if (props) {
+              codegenNode.props = context.hoist(props);
+            }
+          }
+          if (codegenNode.dynamicProps) {
+            codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);
+          }
+        }
+      }
+    }
+    if (child.type === 1) {
+      const isComponent2 = child.tagType === 1;
+      if (isComponent2) {
+        context.scopes.vSlot++;
+      }
+      walk(child, context);
+      if (isComponent2) {
+        context.scopes.vSlot--;
+      }
+    } else if (child.type === 11) {
+      walk(child, context, child.children.length === 1);
+    } else if (child.type === 9) {
+      for (let i2 = 0; i2 < child.branches.length; i2++) {
+        walk(
+          child.branches[i2],
+          context,
+          child.branches[i2].children.length === 1
+        );
+      }
+    }
+  }
+  if (hoistedCount && context.transformHoist) {
+    context.transformHoist(children, context, node);
+  }
+  if (hoistedCount && hoistedCount === originalCount && node.type === 1 && node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray$2(node.codegenNode.children)) {
+    const hoisted = context.hoist(
+      createArrayExpression(node.codegenNode.children)
+    );
+    if (context.hmr) {
+      hoisted.content = `[...${hoisted.content}]`;
+    }
+    node.codegenNode.children = hoisted;
+  }
+}
+function getConstantType(node, context) {
+  const { constantCache } = context;
+  switch (node.type) {
+    case 1:
+      if (node.tagType !== 0) {
+        return 0;
+      }
+      const cached = constantCache.get(node);
+      if (cached !== void 0) {
+        return cached;
+      }
+      const codegenNode = node.codegenNode;
+      if (codegenNode.type !== 13) {
+        return 0;
+      }
+      if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject") {
+        return 0;
+      }
+      const flag = getPatchFlag(codegenNode);
+      if (!flag) {
+        let returnType2 = 3;
+        const generatedPropsType = getGeneratedPropsConstantType(node, context);
+        if (generatedPropsType === 0) {
+          constantCache.set(node, 0);
+          return 0;
+        }
+        if (generatedPropsType < returnType2) {
+          returnType2 = generatedPropsType;
+        }
+        for (let i = 0; i < node.children.length; i++) {
+          const childType = getConstantType(node.children[i], context);
+          if (childType === 0) {
+            constantCache.set(node, 0);
+            return 0;
+          }
+          if (childType < returnType2) {
+            returnType2 = childType;
+          }
+        }
+        if (returnType2 > 1) {
+          for (let i = 0; i < node.props.length; i++) {
+            const p2 = node.props[i];
+            if (p2.type === 7 && p2.name === "bind" && p2.exp) {
+              const expType = getConstantType(p2.exp, context);
+              if (expType === 0) {
+                constantCache.set(node, 0);
+                return 0;
+              }
+              if (expType < returnType2) {
+                returnType2 = expType;
+              }
+            }
+          }
+        }
+        if (codegenNode.isBlock) {
+          for (let i = 0; i < node.props.length; i++) {
+            const p2 = node.props[i];
+            if (p2.type === 7) {
+              constantCache.set(node, 0);
+              return 0;
+            }
+          }
+          context.removeHelper(OPEN_BLOCK);
+          context.removeHelper(
+            getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)
+          );
+          codegenNode.isBlock = false;
+          context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));
+        }
+        constantCache.set(node, returnType2);
+        return returnType2;
+      } else {
+        constantCache.set(node, 0);
+        return 0;
+      }
+    case 2:
+    case 3:
+      return 3;
+    case 9:
+    case 11:
+    case 10:
+      return 0;
+    case 5:
+    case 12:
+      return getConstantType(node.content, context);
+    case 4:
+      return node.constType;
+    case 8:
+      let returnType = 3;
+      for (let i = 0; i < node.children.length; i++) {
+        const child = node.children[i];
+        if (isString$2(child) || isSymbol(child)) {
+          continue;
+        }
+        const childType = getConstantType(child, context);
+        if (childType === 0) {
+          return 0;
+        } else if (childType < returnType) {
+          returnType = childType;
+        }
+      }
+      return returnType;
+    default:
+      return 0;
+  }
+}
+const allowHoistedHelperSet = /* @__PURE__ */ new Set([
+  NORMALIZE_CLASS,
+  NORMALIZE_STYLE,
+  NORMALIZE_PROPS,
+  GUARD_REACTIVE_PROPS
+]);
+function getConstantTypeOfHelperCall(value, context) {
+  if (value.type === 14 && !isString$2(value.callee) && allowHoistedHelperSet.has(value.callee)) {
+    const arg = value.arguments[0];
+    if (arg.type === 4) {
+      return getConstantType(arg, context);
+    } else if (arg.type === 14) {
+      return getConstantTypeOfHelperCall(arg, context);
+    }
+  }
+  return 0;
+}
+function getGeneratedPropsConstantType(node, context) {
+  let returnType = 3;
+  const props = getNodeProps(node);
+  if (props && props.type === 15) {
+    const { properties } = props;
+    for (let i = 0; i < properties.length; i++) {
+      const { key, value } = properties[i];
+      const keyType = getConstantType(key, context);
+      if (keyType === 0) {
+        return keyType;
+      }
+      if (keyType < returnType) {
+        returnType = keyType;
+      }
+      let valueType;
+      if (value.type === 4) {
+        valueType = getConstantType(value, context);
+      } else if (value.type === 14) {
+        valueType = getConstantTypeOfHelperCall(value, context);
+      } else {
+        valueType = 0;
+      }
+      if (valueType === 0) {
+        return valueType;
+      }
+      if (valueType < returnType) {
+        returnType = valueType;
+      }
+    }
+  }
+  return returnType;
+}
+function getNodeProps(node) {
+  const codegenNode = node.codegenNode;
+  if (codegenNode.type === 13) {
+    return codegenNode.props;
+  }
+}
+function getPatchFlag(node) {
+  const flag = node.patchFlag;
+  return flag ? parseInt(flag, 10) : void 0;
+}
+function createTransformContext(root, {
+  filename = "",
+  prefixIdentifiers = false,
+  hoistStatic: hoistStatic2 = false,
+  hmr = false,
+  cacheHandlers = false,
+  nodeTransforms = [],
+  directiveTransforms = {},
+  transformHoist = null,
+  isBuiltInComponent = NOOP,
+  isCustomElement = NOOP,
+  expressionPlugins = [],
+  scopeId = null,
+  slotted = true,
+  ssr = false,
+  inSSR = false,
+  ssrCssVars = ``,
+  bindingMetadata = EMPTY_OBJ,
+  inline = false,
+  isTS = false,
+  onError = defaultOnError$1,
+  onWarn = defaultOnWarn,
+  compatConfig
+}) {
+  const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/);
+  const context = {
+    // options
+    filename,
+    selfName: nameMatch && capitalize$1(camelize(nameMatch[1])),
+    prefixIdentifiers,
+    hoistStatic: hoistStatic2,
+    hmr,
+    cacheHandlers,
+    nodeTransforms,
+    directiveTransforms,
+    transformHoist,
+    isBuiltInComponent,
+    isCustomElement,
+    expressionPlugins,
+    scopeId,
+    slotted,
+    ssr,
+    inSSR,
+    ssrCssVars,
+    bindingMetadata,
+    inline,
+    isTS,
+    onError,
+    onWarn,
+    compatConfig,
+    // state
+    root,
+    helpers: /* @__PURE__ */ new Map(),
+    components: /* @__PURE__ */ new Set(),
+    directives: /* @__PURE__ */ new Set(),
+    hoists: [],
+    imports: [],
+    constantCache: /* @__PURE__ */ new WeakMap(),
+    temps: 0,
+    cached: 0,
+    identifiers: /* @__PURE__ */ Object.create(null),
+    scopes: {
+      vFor: 0,
+      vSlot: 0,
+      vPre: 0,
+      vOnce: 0
+    },
+    parent: null,
+    grandParent: null,
+    currentNode: root,
+    childIndex: 0,
+    inVOnce: false,
+    // methods
+    helper(name) {
+      const count = context.helpers.get(name) || 0;
+      context.helpers.set(name, count + 1);
+      return name;
+    },
+    removeHelper(name) {
+      const count = context.helpers.get(name);
+      if (count) {
+        const currentCount = count - 1;
+        if (!currentCount) {
+          context.helpers.delete(name);
+        } else {
+          context.helpers.set(name, currentCount);
+        }
+      }
+    },
+    helperString(name) {
+      return `_${helperNameMap[context.helper(name)]}`;
+    },
+    replaceNode(node) {
+      context.parent.children[context.childIndex] = context.currentNode = node;
+    },
+    removeNode(node) {
+      const list = context.parent.children;
+      const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;
+      if (!node || node === context.currentNode) {
+        context.currentNode = null;
+        context.onNodeRemoved();
+      } else {
+        if (context.childIndex > removalIndex) {
+          context.childIndex--;
+          context.onNodeRemoved();
+        }
+      }
+      context.parent.children.splice(removalIndex, 1);
+    },
+    onNodeRemoved: NOOP,
+    addIdentifiers(exp) {
+    },
+    removeIdentifiers(exp) {
+    },
+    hoist(exp) {
+      if (isString$2(exp))
+        exp = createSimpleExpression(exp);
+      context.hoists.push(exp);
+      const identifier = createSimpleExpression(
+        `_hoisted_${context.hoists.length}`,
+        false,
+        exp.loc,
+        2
+      );
+      identifier.hoisted = exp;
+      return identifier;
+    },
+    cache(exp, isVNode2 = false) {
+      return createCacheExpression(context.cached++, exp, isVNode2);
+    }
+  };
+  {
+    context.filters = /* @__PURE__ */ new Set();
+  }
+  return context;
+}
+function transform$1(root, options) {
+  const context = createTransformContext(root, options);
+  traverseNode$1(root, context);
+  if (options.hoistStatic) {
+    hoistStatic(root, context);
+  }
+  if (!options.ssr) {
+    createRootCodegen(root, context);
+  }
+  root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
+  root.components = [...context.components];
+  root.directives = [...context.directives];
+  root.imports = context.imports;
+  root.hoists = context.hoists;
+  root.temps = context.temps;
+  root.cached = context.cached;
+  root.transformed = true;
+  {
+    root.filters = [...context.filters];
+  }
+}
+function createRootCodegen(root, context) {
+  const { helper } = context;
+  const { children } = root;
+  if (children.length === 1) {
+    const child = children[0];
+    if (isSingleElementRoot(root, child) && child.codegenNode) {
+      const codegenNode = child.codegenNode;
+      if (codegenNode.type === 13) {
+        convertToBlock(codegenNode, context);
+      }
+      root.codegenNode = codegenNode;
+    } else {
+      root.codegenNode = child;
+    }
+  } else if (children.length > 1) {
+    let patchFlag = 64;
+    root.codegenNode = createVNodeCall(
+      context,
+      helper(FRAGMENT),
+      void 0,
+      root.children,
+      patchFlag + ``,
+      void 0,
+      void 0,
+      true,
+      void 0,
+      false
+    );
+  } else
+    ;
+}
+function traverseChildren(parent, context) {
+  let i = 0;
+  const nodeRemoved = () => {
+    i--;
+  };
+  for (; i < parent.children.length; i++) {
+    const child = parent.children[i];
+    if (isString$2(child))
+      continue;
+    context.grandParent = context.parent;
+    context.parent = parent;
+    context.childIndex = i;
+    context.onNodeRemoved = nodeRemoved;
+    traverseNode$1(child, context);
+  }
+}
+function traverseNode$1(node, context) {
+  context.currentNode = node;
+  const { nodeTransforms } = context;
+  const exitFns = [];
+  for (let i2 = 0; i2 < nodeTransforms.length; i2++) {
+    const onExit = nodeTransforms[i2](node, context);
+    if (onExit) {
+      if (isArray$2(onExit)) {
+        exitFns.push(...onExit);
+      } else {
+        exitFns.push(onExit);
+      }
+    }
+    if (!context.currentNode) {
+      return;
+    } else {
+      node = context.currentNode;
+    }
+  }
+  switch (node.type) {
+    case 3:
+      if (!context.ssr) {
+        context.helper(CREATE_COMMENT);
+      }
+      break;
+    case 5:
+      if (!context.ssr) {
+        context.helper(TO_DISPLAY_STRING);
+      }
+      break;
+    case 9:
+      for (let i2 = 0; i2 < node.branches.length; i2++) {
+        traverseNode$1(node.branches[i2], context);
+      }
+      break;
+    case 10:
+    case 11:
+    case 1:
+    case 0:
+      traverseChildren(node, context);
+      break;
+  }
+  context.currentNode = node;
+  let i = exitFns.length;
+  while (i--) {
+    exitFns[i]();
+  }
+}
+function createStructuralDirectiveTransform(name, fn) {
+  const matches2 = isString$2(name) ? (n) => n === name : (n) => name.test(n);
+  return (node, context) => {
+    if (node.type === 1) {
+      const { props } = node;
+      if (node.tagType === 3 && props.some(isVSlot)) {
+        return;
+      }
+      const exitFns = [];
+      for (let i = 0; i < props.length; i++) {
+        const prop = props[i];
+        if (prop.type === 7 && matches2(prop.name)) {
+          props.splice(i, 1);
+          i--;
+          const onExit = fn(node, prop, context);
+          if (onExit)
+            exitFns.push(onExit);
+        }
+      }
+      return exitFns;
+    }
+  };
+}
+const PURE_ANNOTATION = `/*#__PURE__*/`;
+const aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;
+function createCodegenContext(ast, {
+  mode = "function",
+  prefixIdentifiers = mode === "module",
+  sourceMap = false,
+  filename = `template.vue.html`,
+  scopeId = null,
+  optimizeImports = false,
+  runtimeGlobalName = `Vue`,
+  runtimeModuleName = `vue`,
+  ssrRuntimeModuleName = "vue/server-renderer",
+  ssr = false,
+  isTS = false,
+  inSSR = false
+}) {
+  const context = {
+    mode,
+    prefixIdentifiers,
+    sourceMap,
+    filename,
+    scopeId,
+    optimizeImports,
+    runtimeGlobalName,
+    runtimeModuleName,
+    ssrRuntimeModuleName,
+    ssr,
+    isTS,
+    inSSR,
+    source: ast.source,
+    code: ``,
+    column: 1,
+    line: 1,
+    offset: 0,
+    indentLevel: 0,
+    pure: false,
+    map: void 0,
+    helper(key) {
+      return `_${helperNameMap[key]}`;
+    },
+    push(code2, newlineIndex = -2, node) {
+      context.code += code2;
+    },
+    indent() {
+      newline(++context.indentLevel);
+    },
+    deindent(withoutNewLine = false) {
+      if (withoutNewLine) {
+        --context.indentLevel;
+      } else {
+        newline(--context.indentLevel);
+      }
+    },
+    newline() {
+      newline(context.indentLevel);
+    }
+  };
+  function newline(n) {
+    context.push(
+      "\n" + `  `.repeat(n),
+      0
+      /* Start */
+    );
+  }
+  return context;
+}
+function generate$1(ast, options = {}) {
+  const context = createCodegenContext(ast, options);
+  if (options.onContextCreated)
+    options.onContextCreated(context);
+  const {
+    mode,
+    push,
+    prefixIdentifiers,
+    indent,
+    deindent,
+    newline,
+    scopeId,
+    ssr
+  } = context;
+  const helpers = Array.from(ast.helpers);
+  const hasHelpers = helpers.length > 0;
+  const useWithBlock = !prefixIdentifiers && mode !== "module";
+  const preambleContext = context;
+  {
+    genFunctionPreamble(ast, preambleContext);
+  }
+  const functionName = ssr ? `ssrRender` : `render`;
+  const args = ssr ? ["_ctx", "_push", "_parent", "_attrs"] : ["_ctx", "_cache"];
+  const signature = args.join(", ");
+  {
+    push(`function ${functionName}(${signature}) {`);
+  }
+  indent();
+  if (useWithBlock) {
+    push(`with (_ctx) {`);
+    indent();
+    if (hasHelpers) {
+      push(
+        `const { ${helpers.map(aliasHelper).join(", ")} } = _Vue
+`,
+        -1
+        /* End */
+      );
+      newline();
+    }
+  }
+  if (ast.components.length) {
+    genAssets(ast.components, "component", context);
+    if (ast.directives.length || ast.temps > 0) {
+      newline();
+    }
+  }
+  if (ast.directives.length) {
+    genAssets(ast.directives, "directive", context);
+    if (ast.temps > 0) {
+      newline();
+    }
+  }
+  if (ast.filters && ast.filters.length) {
+    newline();
+    genAssets(ast.filters, "filter", context);
+    newline();
+  }
+  if (ast.temps > 0) {
+    push(`let `);
+    for (let i = 0; i < ast.temps; i++) {
+      push(`${i > 0 ? `, ` : ``}_temp${i}`);
+    }
+  }
+  if (ast.components.length || ast.directives.length || ast.temps) {
+    push(
+      `
+`,
+      0
+      /* Start */
+    );
+    newline();
+  }
+  if (!ssr) {
+    push(`return `);
+  }
+  if (ast.codegenNode) {
+    genNode(ast.codegenNode, context);
+  } else {
+    push(`null`);
+  }
+  if (useWithBlock) {
+    deindent();
+    push(`}`);
+  }
+  deindent();
+  push(`}`);
+  return {
+    ast,
+    code: context.code,
+    preamble: ``,
+    map: context.map ? context.map.toJSON() : void 0
+  };
+}
+function genFunctionPreamble(ast, context) {
+  const {
+    ssr,
+    prefixIdentifiers,
+    push,
+    newline,
+    runtimeModuleName,
+    runtimeGlobalName,
+    ssrRuntimeModuleName
+  } = context;
+  const VueBinding = runtimeGlobalName;
+  const helpers = Array.from(ast.helpers);
+  if (helpers.length > 0) {
+    {
+      push(
+        `const _Vue = ${VueBinding}
+`,
+        -1
+        /* End */
+      );
+      if (ast.hoists.length) {
+        const staticHelpers = [
+          CREATE_VNODE,
+          CREATE_ELEMENT_VNODE,
+          CREATE_COMMENT,
+          CREATE_TEXT,
+          CREATE_STATIC
+        ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", ");
+        push(
+          `const { ${staticHelpers} } = _Vue
+`,
+          -1
+          /* End */
+        );
+      }
+    }
+  }
+  genHoists(ast.hoists, context);
+  newline();
+  push(`return `);
+}
+function genAssets(assets, type, { helper, push, newline, isTS }) {
+  const resolver = helper(
+    type === "filter" ? RESOLVE_FILTER : type === "component" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE
+  );
+  for (let i = 0; i < assets.length; i++) {
+    let id = assets[i];
+    const maybeSelfReference = id.endsWith("__self");
+    if (maybeSelfReference) {
+      id = id.slice(0, -6);
+    }
+    push(
+      `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`
+    );
+    if (i < assets.length - 1) {
+      newline();
+    }
+  }
+}
+function genHoists(hoists, context) {
+  if (!hoists.length) {
+    return;
+  }
+  context.pure = true;
+  const { push, newline, helper, scopeId, mode } = context;
+  newline();
+  for (let i = 0; i < hoists.length; i++) {
+    const exp = hoists[i];
+    if (exp) {
+      push(
+        `const _hoisted_${i + 1} = ${``}`
+      );
+      genNode(exp, context);
+      newline();
+    }
+  }
+  context.pure = false;
+}
+function genNodeListAsArray(nodes, context) {
+  const multilines = nodes.length > 3 || false;
+  context.push(`[`);
+  multilines && context.indent();
+  genNodeList(nodes, context, multilines);
+  multilines && context.deindent();
+  context.push(`]`);
+}
+function genNodeList(nodes, context, multilines = false, comma = true) {
+  const { push, newline } = context;
+  for (let i = 0; i < nodes.length; i++) {
+    const node = nodes[i];
+    if (isString$2(node)) {
+      push(
+        node,
+        -3
+        /* Unknown */
+      );
+    } else if (isArray$2(node)) {
+      genNodeListAsArray(node, context);
+    } else {
+      genNode(node, context);
+    }
+    if (i < nodes.length - 1) {
+      if (multilines) {
+        comma && push(",");
+        newline();
+      } else {
+        comma && push(", ");
+      }
+    }
+  }
+}
+function genNode(node, context) {
+  if (isString$2(node)) {
+    context.push(
+      node,
+      -3
+      /* Unknown */
+    );
+    return;
+  }
+  if (isSymbol(node)) {
+    context.push(context.helper(node));
+    return;
+  }
+  switch (node.type) {
+    case 1:
+    case 9:
+    case 11:
+      genNode(node.codegenNode, context);
+      break;
+    case 2:
+      genText(node, context);
+      break;
+    case 4:
+      genExpression(node, context);
+      break;
+    case 5:
+      genInterpolation(node, context);
+      break;
+    case 12:
+      genNode(node.codegenNode, context);
+      break;
+    case 8:
+      genCompoundExpression(node, context);
+      break;
+    case 3:
+      genComment(node, context);
+      break;
+    case 13:
+      genVNodeCall(node, context);
+      break;
+    case 14:
+      genCallExpression(node, context);
+      break;
+    case 15:
+      genObjectExpression(node, context);
+      break;
+    case 17:
+      genArrayExpression(node, context);
+      break;
+    case 18:
+      genFunctionExpression(node, context);
+      break;
+    case 19:
+      genConditionalExpression(node, context);
+      break;
+    case 20:
+      genCacheExpression(node, context);
+      break;
+    case 21:
+      genNodeList(node.body, context, true, false);
+      break;
+  }
+}
+function genText(node, context) {
+  context.push(JSON.stringify(node.content), -3, node);
+}
+function genExpression(node, context) {
+  const { content, isStatic } = node;
+  context.push(
+    isStatic ? JSON.stringify(content) : content,
+    -3,
+    node
+  );
+}
+function genInterpolation(node, context) {
+  const { push, helper, pure } = context;
+  if (pure)
+    push(PURE_ANNOTATION);
+  push(`${helper(TO_DISPLAY_STRING)}(`);
+  genNode(node.content, context);
+  push(`)`);
+}
+function genCompoundExpression(node, context) {
+  for (let i = 0; i < node.children.length; i++) {
+    const child = node.children[i];
+    if (isString$2(child)) {
+      context.push(
+        child,
+        -3
+        /* Unknown */
+      );
+    } else {
+      genNode(child, context);
+    }
+  }
+}
+function genExpressionAsPropertyKey(node, context) {
+  const { push } = context;
+  if (node.type === 8) {
+    push(`[`);
+    genCompoundExpression(node, context);
+    push(`]`);
+  } else if (node.isStatic) {
+    const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);
+    push(text, -2, node);
+  } else {
+    push(`[${node.content}]`, -3, node);
+  }
+}
+function genComment(node, context) {
+  const { push, helper, pure } = context;
+  if (pure) {
+    push(PURE_ANNOTATION);
+  }
+  push(
+    `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`,
+    -3,
+    node
+  );
+}
+function genVNodeCall(node, context) {
+  const { push, helper, pure } = context;
+  const {
+    tag,
+    props,
+    children,
+    patchFlag,
+    dynamicProps,
+    directives,
+    isBlock,
+    disableTracking,
+    isComponent: isComponent2
+  } = node;
+  if (directives) {
+    push(helper(WITH_DIRECTIVES) + `(`);
+  }
+  if (isBlock) {
+    push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
+  }
+  if (pure) {
+    push(PURE_ANNOTATION);
+  }
+  const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent2) : getVNodeHelper(context.inSSR, isComponent2);
+  push(helper(callHelper) + `(`, -2, node);
+  genNodeList(
+    genNullableArgs([tag, props, children, patchFlag, dynamicProps]),
+    context
+  );
+  push(`)`);
+  if (isBlock) {
+    push(`)`);
+  }
+  if (directives) {
+    push(`, `);
+    genNode(directives, context);
+    push(`)`);
+  }
+}
+function genNullableArgs(args) {
+  let i = args.length;
+  while (i--) {
+    if (args[i] != null)
+      break;
+  }
+  return args.slice(0, i + 1).map((arg) => arg || `null`);
+}
+function genCallExpression(node, context) {
+  const { push, helper, pure } = context;
+  const callee = isString$2(node.callee) ? node.callee : helper(node.callee);
+  if (pure) {
+    push(PURE_ANNOTATION);
+  }
+  push(callee + `(`, -2, node);
+  genNodeList(node.arguments, context);
+  push(`)`);
+}
+function genObjectExpression(node, context) {
+  const { push, indent, deindent, newline } = context;
+  const { properties } = node;
+  if (!properties.length) {
+    push(`{}`, -2, node);
+    return;
+  }
+  const multilines = properties.length > 1 || false;
+  push(multilines ? `{` : `{ `);
+  multilines && indent();
+  for (let i = 0; i < properties.length; i++) {
+    const { key, value } = properties[i];
+    genExpressionAsPropertyKey(key, context);
+    push(`: `);
+    genNode(value, context);
+    if (i < properties.length - 1) {
+      push(`,`);
+      newline();
+    }
+  }
+  multilines && deindent();
+  push(multilines ? `}` : ` }`);
+}
+function genArrayExpression(node, context) {
+  genNodeListAsArray(node.elements, context);
+}
+function genFunctionExpression(node, context) {
+  const { push, indent, deindent } = context;
+  const { params, returns, body, newline, isSlot } = node;
+  if (isSlot) {
+    push(`_${helperNameMap[WITH_CTX]}(`);
+  }
+  push(`(`, -2, node);
+  if (isArray$2(params)) {
+    genNodeList(params, context);
+  } else if (params) {
+    genNode(params, context);
+  }
+  push(`) => `);
+  if (newline || body) {
+    push(`{`);
+    indent();
+  }
+  if (returns) {
+    if (newline) {
+      push(`return `);
+    }
+    if (isArray$2(returns)) {
+      genNodeListAsArray(returns, context);
+    } else {
+      genNode(returns, context);
+    }
+  } else if (body) {
+    genNode(body, context);
+  }
+  if (newline || body) {
+    deindent();
+    push(`}`);
+  }
+  if (isSlot) {
+    if (node.isNonScopedSlot) {
+      push(`, undefined, true`);
+    }
+    push(`)`);
+  }
+}
+function genConditionalExpression(node, context) {
+  const { test, consequent, alternate, newline: needNewline } = node;
+  const { push, indent, deindent, newline } = context;
+  if (test.type === 4) {
+    const needsParens = !isSimpleIdentifier(test.content);
+    needsParens && push(`(`);
+    genExpression(test, context);
+    needsParens && push(`)`);
+  } else {
+    push(`(`);
+    genNode(test, context);
+    push(`)`);
+  }
+  needNewline && indent();
+  context.indentLevel++;
+  needNewline || push(` `);
+  push(`? `);
+  genNode(consequent, context);
+  context.indentLevel--;
+  needNewline && newline();
+  needNewline || push(` `);
+  push(`: `);
+  const isNested = alternate.type === 19;
+  if (!isNested) {
+    context.indentLevel++;
+  }
+  genNode(alternate, context);
+  if (!isNested) {
+    context.indentLevel--;
+  }
+  needNewline && deindent(
+    true
+    /* without newline */
+  );
+}
+function genCacheExpression(node, context) {
+  const { push, helper, indent, deindent, newline } = context;
+  push(`_cache[${node.index}] || (`);
+  if (node.isVNode) {
+    indent();
+    push(`${helper(SET_BLOCK_TRACKING)}(-1),`);
+    newline();
+  }
+  push(`_cache[${node.index}] = `);
+  genNode(node.value, context);
+  if (node.isVNode) {
+    push(`,`);
+    newline();
+    push(`${helper(SET_BLOCK_TRACKING)}(1),`);
+    newline();
+    push(`_cache[${node.index}]`);
+    deindent();
+  }
+  push(`)`);
+}
+new RegExp(
+  "\\b" + "arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b") + "\\b"
+);
+const transformIf = createStructuralDirectiveTransform(
+  /^(if|else|else-if)$/,
+  (node, dir, context) => {
+    return processIf(node, dir, context, (ifNode, branch, isRoot) => {
+      const siblings = context.parent.children;
+      let i = siblings.indexOf(ifNode);
+      let key = 0;
+      while (i-- >= 0) {
+        const sibling = siblings[i];
+        if (sibling && sibling.type === 9) {
+          key += sibling.branches.length;
+        }
+      }
+      return () => {
+        if (isRoot) {
+          ifNode.codegenNode = createCodegenNodeForBranch(
+            branch,
+            key,
+            context
+          );
+        } else {
+          const parentCondition = getParentCondition(ifNode.codegenNode);
+          parentCondition.alternate = createCodegenNodeForBranch(
+            branch,
+            key + ifNode.branches.length - 1,
+            context
+          );
+        }
+      };
+    });
+  }
+);
+function processIf(node, dir, context, processCodegen) {
+  if (dir.name !== "else" && (!dir.exp || !dir.exp.content.trim())) {
+    const loc = dir.exp ? dir.exp.loc : node.loc;
+    context.onError(
+      createCompilerError(28, dir.loc)
+    );
+    dir.exp = createSimpleExpression(`true`, false, loc);
+  }
+  if (dir.name === "if") {
+    const branch = createIfBranch(node, dir);
+    const ifNode = {
+      type: 9,
+      loc: node.loc,
+      branches: [branch]
+    };
+    context.replaceNode(ifNode);
+    if (processCodegen) {
+      return processCodegen(ifNode, branch, true);
+    }
+  } else {
+    const siblings = context.parent.children;
+    let i = siblings.indexOf(node);
+    while (i-- >= -1) {
+      const sibling = siblings[i];
+      if (sibling && sibling.type === 3) {
+        context.removeNode(sibling);
+        continue;
+      }
+      if (sibling && sibling.type === 2 && !sibling.content.trim().length) {
+        context.removeNode(sibling);
+        continue;
+      }
+      if (sibling && sibling.type === 9) {
+        if (dir.name === "else-if" && sibling.branches[sibling.branches.length - 1].condition === void 0) {
+          context.onError(
+            createCompilerError(30, node.loc)
+          );
+        }
+        context.removeNode();
+        const branch = createIfBranch(node, dir);
+        sibling.branches.push(branch);
+        const onExit = processCodegen && processCodegen(sibling, branch, false);
+        traverseNode$1(branch, context);
+        if (onExit)
+          onExit();
+        context.currentNode = null;
+      } else {
+        context.onError(
+          createCompilerError(30, node.loc)
+        );
+      }
+      break;
+    }
+  }
+}
+function createIfBranch(node, dir) {
+  const isTemplateIf = node.tagType === 3;
+  return {
+    type: 10,
+    loc: node.loc,
+    condition: dir.name === "else" ? void 0 : dir.exp,
+    children: isTemplateIf && !findDir(node, "for") ? node.children : [node],
+    userKey: findProp(node, `key`),
+    isTemplateIf
+  };
+}
+function createCodegenNodeForBranch(branch, keyIndex, context) {
+  if (branch.condition) {
+    return createConditionalExpression(
+      branch.condition,
+      createChildrenCodegenNode(branch, keyIndex, context),
+      // make sure to pass in asBlock: true so that the comment node call
+      // closes the current block.
+      createCallExpression(context.helper(CREATE_COMMENT), [
+        '""',
+        "true"
+      ])
+    );
+  } else {
+    return createChildrenCodegenNode(branch, keyIndex, context);
+  }
+}
+function createChildrenCodegenNode(branch, keyIndex, context) {
+  const { helper } = context;
+  const keyProperty = createObjectProperty(
+    `key`,
+    createSimpleExpression(
+      `${keyIndex}`,
+      false,
+      locStub,
+      2
+    )
+  );
+  const { children } = branch;
+  const firstChild = children[0];
+  const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;
+  if (needFragmentWrapper) {
+    if (children.length === 1 && firstChild.type === 11) {
+      const vnodeCall = firstChild.codegenNode;
+      injectProp(vnodeCall, keyProperty, context);
+      return vnodeCall;
+    } else {
+      let patchFlag = 64;
+      return createVNodeCall(
+        context,
+        helper(FRAGMENT),
+        createObjectExpression([keyProperty]),
+        children,
+        patchFlag + ``,
+        void 0,
+        void 0,
+        true,
+        false,
+        false,
+        branch.loc
+      );
+    }
+  } else {
+    const ret = firstChild.codegenNode;
+    const vnodeCall = getMemoedVNodeCall(ret);
+    if (vnodeCall.type === 13) {
+      convertToBlock(vnodeCall, context);
+    }
+    injectProp(vnodeCall, keyProperty, context);
+    return ret;
+  }
+}
+function getParentCondition(node) {
+  while (true) {
+    if (node.type === 19) {
+      if (node.alternate.type === 19) {
+        node = node.alternate;
+      } else {
+        return node;
+      }
+    } else if (node.type === 20) {
+      node = node.value;
+    }
+  }
+}
+const transformFor = createStructuralDirectiveTransform(
+  "for",
+  (node, dir, context) => {
+    const { helper, removeHelper } = context;
+    return processFor(node, dir, context, (forNode) => {
+      const renderExp = createCallExpression(helper(RENDER_LIST), [
+        forNode.source
+      ]);
+      const isTemplate = isTemplateNode(node);
+      const memo = findDir(node, "memo");
+      const keyProp = findProp(node, `key`);
+      const keyExp = keyProp && (keyProp.type === 6 ? createSimpleExpression(keyProp.value.content, true) : keyProp.exp);
+      const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;
+      const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
+      const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
+      forNode.codegenNode = createVNodeCall(
+        context,
+        helper(FRAGMENT),
+        void 0,
+        renderExp,
+        fragmentFlag + ``,
+        void 0,
+        void 0,
+        true,
+        !isStableFragment,
+        false,
+        node.loc
+      );
+      return () => {
+        let childBlock;
+        const { children } = forNode;
+        const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;
+        const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;
+        if (slotOutlet) {
+          childBlock = slotOutlet.codegenNode;
+          if (isTemplate && keyProperty) {
+            injectProp(childBlock, keyProperty, context);
+          }
+        } else if (needFragmentWrapper) {
+          childBlock = createVNodeCall(
+            context,
+            helper(FRAGMENT),
+            keyProperty ? createObjectExpression([keyProperty]) : void 0,
+            node.children,
+            `64`,
+            void 0,
+            void 0,
+            true,
+            void 0,
+            false
+          );
+        } else {
+          childBlock = children[0].codegenNode;
+          if (isTemplate && keyProperty) {
+            injectProp(childBlock, keyProperty, context);
+          }
+          if (childBlock.isBlock !== !isStableFragment) {
+            if (childBlock.isBlock) {
+              removeHelper(OPEN_BLOCK);
+              removeHelper(
+                getVNodeBlockHelper(context.inSSR, childBlock.isComponent)
+              );
+            } else {
+              removeHelper(
+                getVNodeHelper(context.inSSR, childBlock.isComponent)
+              );
+            }
+          }
+          childBlock.isBlock = !isStableFragment;
+          if (childBlock.isBlock) {
+            helper(OPEN_BLOCK);
+            helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
+          } else {
+            helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
+          }
+        }
+        if (memo) {
+          const loop = createFunctionExpression(
+            createForLoopParams(forNode.parseResult, [
+              createSimpleExpression(`_cached`)
+            ])
+          );
+          loop.body = createBlockStatement([
+            createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
+            createCompoundExpression([
+              `if (_cached`,
+              ...keyExp ? [` && _cached.key === `, keyExp] : [],
+              ` && ${context.helperString(
+                IS_MEMO_SAME
+              )}(_cached, _memo)) return _cached`
+            ]),
+            createCompoundExpression([`const _item = `, childBlock]),
+            createSimpleExpression(`_item.memo = _memo`),
+            createSimpleExpression(`return _item`)
+          ]);
+          renderExp.arguments.push(
+            loop,
+            createSimpleExpression(`_cache`),
+            createSimpleExpression(String(context.cached++))
+          );
+        } else {
+          renderExp.arguments.push(
+            createFunctionExpression(
+              createForLoopParams(forNode.parseResult),
+              childBlock,
+              true
+            )
+          );
+        }
+      };
+    });
+  }
+);
+function processFor(node, dir, context, processCodegen) {
+  if (!dir.exp) {
+    context.onError(
+      createCompilerError(31, dir.loc)
+    );
+    return;
+  }
+  const parseResult = dir.forParseResult;
+  if (!parseResult) {
+    context.onError(
+      createCompilerError(32, dir.loc)
+    );
+    return;
+  }
+  finalizeForParseResult(parseResult);
+  const { addIdentifiers, removeIdentifiers, scopes } = context;
+  const { source, value, key, index } = parseResult;
+  const forNode = {
+    type: 11,
+    loc: dir.loc,
+    source,
+    valueAlias: value,
+    keyAlias: key,
+    objectIndexAlias: index,
+    parseResult,
+    children: isTemplateNode(node) ? node.children : [node]
+  };
+  context.replaceNode(forNode);
+  scopes.vFor++;
+  const onExit = processCodegen && processCodegen(forNode);
+  return () => {
+    scopes.vFor--;
+    if (onExit)
+      onExit();
+  };
+}
+function finalizeForParseResult(result, context) {
+  if (result.finalized)
+    return;
+  result.finalized = true;
+}
+function createForLoopParams({ value, key, index }, memoArgs = []) {
+  return createParamsList([value, key, index, ...memoArgs]);
+}
+function createParamsList(args) {
+  let i = args.length;
+  while (i--) {
+    if (args[i])
+      break;
+  }
+  return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));
+}
+const defaultFallback = createSimpleExpression(`undefined`, false);
+const trackSlotScopes = (node, context) => {
+  if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {
+    const vSlot = findDir(node, "slot");
+    if (vSlot) {
+      vSlot.exp;
+      context.scopes.vSlot++;
+      return () => {
+        context.scopes.vSlot--;
+      };
+    }
+  }
+};
+const buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression(
+  props,
+  children,
+  false,
+  true,
+  children.length ? children[0].loc : loc
+);
+function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
+  context.helper(WITH_CTX);
+  const { children, loc } = node;
+  const slotsProperties = [];
+  const dynamicSlots = [];
+  let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;
+  const onComponentSlot = findDir(node, "slot", true);
+  if (onComponentSlot) {
+    const { arg, exp } = onComponentSlot;
+    if (arg && !isStaticExp(arg)) {
+      hasDynamicSlots = true;
+    }
+    slotsProperties.push(
+      createObjectProperty(
+        arg || createSimpleExpression("default", true),
+        buildSlotFn(exp, void 0, children, loc)
+      )
+    );
+  }
+  let hasTemplateSlots = false;
+  let hasNamedDefaultSlot = false;
+  const implicitDefaultChildren = [];
+  const seenSlotNames = /* @__PURE__ */ new Set();
+  let conditionalBranchIndex = 0;
+  for (let i = 0; i < children.length; i++) {
+    const slotElement = children[i];
+    let slotDir;
+    if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, "slot", true))) {
+      if (slotElement.type !== 3) {
+        implicitDefaultChildren.push(slotElement);
+      }
+      continue;
+    }
+    if (onComponentSlot) {
+      context.onError(
+        createCompilerError(37, slotDir.loc)
+      );
+      break;
+    }
+    hasTemplateSlots = true;
+    const { children: slotChildren, loc: slotLoc } = slotElement;
+    const {
+      arg: slotName = createSimpleExpression(`default`, true),
+      exp: slotProps,
+      loc: dirLoc
+    } = slotDir;
+    let staticSlotName;
+    if (isStaticExp(slotName)) {
+      staticSlotName = slotName ? slotName.content : `default`;
+    } else {
+      hasDynamicSlots = true;
+    }
+    const vFor = findDir(slotElement, "for");
+    const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc);
+    let vIf;
+    let vElse;
+    if (vIf = findDir(slotElement, "if")) {
+      hasDynamicSlots = true;
+      dynamicSlots.push(
+        createConditionalExpression(
+          vIf.exp,
+          buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),
+          defaultFallback
+        )
+      );
+    } else if (vElse = findDir(
+      slotElement,
+      /^else(-if)?$/,
+      true
+      /* allowEmpty */
+    )) {
+      let j = i;
+      let prev;
+      while (j--) {
+        prev = children[j];
+        if (prev.type !== 3) {
+          break;
+        }
+      }
+      if (prev && isTemplateNode(prev) && findDir(prev, "if")) {
+        children.splice(i, 1);
+        i--;
+        let conditional = dynamicSlots[dynamicSlots.length - 1];
+        while (conditional.alternate.type === 19) {
+          conditional = conditional.alternate;
+        }
+        conditional.alternate = vElse.exp ? createConditionalExpression(
+          vElse.exp,
+          buildDynamicSlot(
+            slotName,
+            slotFunction,
+            conditionalBranchIndex++
+          ),
+          defaultFallback
+        ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);
+      } else {
+        context.onError(
+          createCompilerError(30, vElse.loc)
+        );
+      }
+    } else if (vFor) {
+      hasDynamicSlots = true;
+      const parseResult = vFor.forParseResult;
+      if (parseResult) {
+        finalizeForParseResult(parseResult);
+        dynamicSlots.push(
+          createCallExpression(context.helper(RENDER_LIST), [
+            parseResult.source,
+            createFunctionExpression(
+              createForLoopParams(parseResult),
+              buildDynamicSlot(slotName, slotFunction),
+              true
+            )
+          ])
+        );
+      } else {
+        context.onError(
+          createCompilerError(
+            32,
+            vFor.loc
+          )
+        );
+      }
+    } else {
+      if (staticSlotName) {
+        if (seenSlotNames.has(staticSlotName)) {
+          context.onError(
+            createCompilerError(
+              38,
+              dirLoc
+            )
+          );
+          continue;
+        }
+        seenSlotNames.add(staticSlotName);
+        if (staticSlotName === "default") {
+          hasNamedDefaultSlot = true;
+        }
+      }
+      slotsProperties.push(createObjectProperty(slotName, slotFunction));
+    }
+  }
+  if (!onComponentSlot) {
+    const buildDefaultSlotProperty = (props, children2) => {
+      const fn = buildSlotFn(props, void 0, children2, loc);
+      if (context.compatConfig) {
+        fn.isNonScopedSlot = true;
+      }
+      return createObjectProperty(`default`, fn);
+    };
+    if (!hasTemplateSlots) {
+      slotsProperties.push(buildDefaultSlotProperty(void 0, children));
+    } else if (implicitDefaultChildren.length && // #3766
+    // with whitespace: 'preserve', whitespaces between slots will end up in
+    // implicitDefaultChildren. Ignore if all implicit children are whitespaces.
+    implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {
+      if (hasNamedDefaultSlot) {
+        context.onError(
+          createCompilerError(
+            39,
+            implicitDefaultChildren[0].loc
+          )
+        );
+      } else {
+        slotsProperties.push(
+          buildDefaultSlotProperty(void 0, implicitDefaultChildren)
+        );
+      }
+    }
+  }
+  const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
+  let slots = createObjectExpression(
+    slotsProperties.concat(
+      createObjectProperty(
+        `_`,
+        // 2 = compiled but dynamic = can skip normalization, but must run diff
+        // 1 = compiled and static = can skip normalization AND diff as optimized
+        createSimpleExpression(
+          slotFlag + ``,
+          false
+        )
+      )
+    ),
+    loc
+  );
+  if (dynamicSlots.length) {
+    slots = createCallExpression(context.helper(CREATE_SLOTS), [
+      slots,
+      createArrayExpression(dynamicSlots)
+    ]);
+  }
+  return {
+    slots,
+    hasDynamicSlots
+  };
+}
+function buildDynamicSlot(name, fn, index) {
+  const props = [
+    createObjectProperty(`name`, name),
+    createObjectProperty(`fn`, fn)
+  ];
+  if (index != null) {
+    props.push(
+      createObjectProperty(`key`, createSimpleExpression(String(index), true))
+    );
+  }
+  return createObjectExpression(props);
+}
+function hasForwardedSlots(children) {
+  for (let i = 0; i < children.length; i++) {
+    const child = children[i];
+    switch (child.type) {
+      case 1:
+        if (child.tagType === 2 || hasForwardedSlots(child.children)) {
+          return true;
+        }
+        break;
+      case 9:
+        if (hasForwardedSlots(child.branches))
+          return true;
+        break;
+      case 10:
+      case 11:
+        if (hasForwardedSlots(child.children))
+          return true;
+        break;
+    }
+  }
+  return false;
+}
+function isNonWhitespaceContent(node) {
+  if (node.type !== 2 && node.type !== 12)
+    return true;
+  return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);
+}
+const directiveImportMap = /* @__PURE__ */ new WeakMap();
+const transformElement = (node, context) => {
+  return function postTransformElement() {
+    node = context.currentNode;
+    if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {
+      return;
+    }
+    const { tag, props } = node;
+    const isComponent2 = node.tagType === 1;
+    let vnodeTag = isComponent2 ? resolveComponentType(node, context) : `"${tag}"`;
+    const isDynamicComponent = isObject$3(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;
+    let vnodeProps;
+    let vnodeChildren;
+    let vnodePatchFlag;
+    let patchFlag = 0;
+    let vnodeDynamicProps;
+    let dynamicPropNames;
+    let vnodeDirectives;
+    let shouldUseBlock = (
+      // dynamic component may resolve to plain elements
+      isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent2 && // <svg> and <foreignObject> must be forced into blocks so that block
+      // updates inside get proper isSVG flag at runtime. (#639, #643)
+      // This is technically web-specific, but splitting the logic out of core
+      // leads to too much unnecessary complexity.
+      (tag === "svg" || tag === "foreignObject")
+    );
+    if (props.length > 0) {
+      const propsBuildResult = buildProps(
+        node,
+        context,
+        void 0,
+        isComponent2,
+        isDynamicComponent
+      );
+      vnodeProps = propsBuildResult.props;
+      patchFlag = propsBuildResult.patchFlag;
+      dynamicPropNames = propsBuildResult.dynamicPropNames;
+      const directives = propsBuildResult.directives;
+      vnodeDirectives = directives && directives.length ? createArrayExpression(
+        directives.map((dir) => buildDirectiveArgs(dir, context))
+      ) : void 0;
+      if (propsBuildResult.shouldUseBlock) {
+        shouldUseBlock = true;
+      }
+    }
+    if (node.children.length > 0) {
+      if (vnodeTag === KEEP_ALIVE) {
+        shouldUseBlock = true;
+        patchFlag |= 1024;
+      }
+      const shouldBuildAsSlots = isComponent2 && // Teleport is not a real component and has dedicated runtime handling
+      vnodeTag !== TELEPORT && // explained above.
+      vnodeTag !== KEEP_ALIVE;
+      if (shouldBuildAsSlots) {
+        const { slots, hasDynamicSlots } = buildSlots(node, context);
+        vnodeChildren = slots;
+        if (hasDynamicSlots) {
+          patchFlag |= 1024;
+        }
+      } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {
+        const child = node.children[0];
+        const type = child.type;
+        const hasDynamicTextChild = type === 5 || type === 8;
+        if (hasDynamicTextChild && getConstantType(child, context) === 0) {
+          patchFlag |= 1;
+        }
+        if (hasDynamicTextChild || type === 2) {
+          vnodeChildren = child;
+        } else {
+          vnodeChildren = node.children;
+        }
+      } else {
+        vnodeChildren = node.children;
+      }
+    }
+    if (patchFlag !== 0) {
+      {
+        vnodePatchFlag = String(patchFlag);
+      }
+      if (dynamicPropNames && dynamicPropNames.length) {
+        vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);
+      }
+    }
+    node.codegenNode = createVNodeCall(
+      context,
+      vnodeTag,
+      vnodeProps,
+      vnodeChildren,
+      vnodePatchFlag,
+      vnodeDynamicProps,
+      vnodeDirectives,
+      !!shouldUseBlock,
+      false,
+      isComponent2,
+      node.loc
+    );
+  };
+};
+function resolveComponentType(node, context, ssr = false) {
+  let { tag } = node;
+  const isExplicitDynamic = isComponentTag(tag);
+  const isProp = findProp(
+    node,
+    "is",
+    false,
+    true
+    /* allow empty */
+  );
+  if (isProp) {
+    if (isExplicitDynamic || isCompatEnabled(
+      "COMPILER_IS_ON_ELEMENT",
+      context
+    )) {
+      let exp;
+      if (isProp.type === 6) {
+        exp = isProp.value && createSimpleExpression(isProp.value.content, true);
+      } else {
+        exp = isProp.exp;
+        if (!exp) {
+          exp = createSimpleExpression(`is`, false, isProp.loc);
+        }
+      }
+      if (exp) {
+        return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [
+          exp
+        ]);
+      }
+    } else if (isProp.type === 6 && isProp.value.content.startsWith("vue:")) {
+      tag = isProp.value.content.slice(4);
+    }
+  }
+  const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);
+  if (builtIn) {
+    if (!ssr)
+      context.helper(builtIn);
+    return builtIn;
+  }
+  context.helper(RESOLVE_COMPONENT);
+  context.components.add(tag);
+  return toValidAssetId(tag, `component`);
+}
+function buildProps(node, context, props = node.props, isComponent2, isDynamicComponent, ssr = false) {
+  const { tag, loc: elementLoc, children } = node;
+  let properties = [];
+  const mergeArgs = [];
+  const runtimeDirectives = [];
+  const hasChildren = children.length > 0;
+  let shouldUseBlock = false;
+  let patchFlag = 0;
+  let hasRef = false;
+  let hasClassBinding = false;
+  let hasStyleBinding = false;
+  let hasHydrationEventBinding = false;
+  let hasDynamicKeys = false;
+  let hasVnodeHook = false;
+  const dynamicPropNames = [];
+  const pushMergeArg = (arg) => {
+    if (properties.length) {
+      mergeArgs.push(
+        createObjectExpression(dedupeProperties(properties), elementLoc)
+      );
+      properties = [];
+    }
+    if (arg)
+      mergeArgs.push(arg);
+  };
+  const pushRefVForMarker = () => {
+    if (context.scopes.vFor > 0) {
+      properties.push(
+        createObjectProperty(
+          createSimpleExpression("ref_for", true),
+          createSimpleExpression("true")
+        )
+      );
+    }
+  };
+  const analyzePatchFlag = ({ key, value }) => {
+    if (isStaticExp(key)) {
+      const name = key.content;
+      const isEventHandler = isOn(name);
+      if (isEventHandler && (!isComponent2 || isDynamicComponent) && // omit the flag for click handlers because hydration gives click
+      // dedicated fast path.
+      name.toLowerCase() !== "onclick" && // omit v-model handlers
+      name !== "onUpdate:modelValue" && // omit onVnodeXXX hooks
+      !isReservedProp(name)) {
+        hasHydrationEventBinding = true;
+      }
+      if (isEventHandler && isReservedProp(name)) {
+        hasVnodeHook = true;
+      }
+      if (isEventHandler && value.type === 14) {
+        value = value.arguments[0];
+      }
+      if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
+        return;
+      }
+      if (name === "ref") {
+        hasRef = true;
+      } else if (name === "class") {
+        hasClassBinding = true;
+      } else if (name === "style") {
+        hasStyleBinding = true;
+      } else if (name !== "key" && !dynamicPropNames.includes(name)) {
+        dynamicPropNames.push(name);
+      }
+      if (isComponent2 && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) {
+        dynamicPropNames.push(name);
+      }
+    } else {
+      hasDynamicKeys = true;
+    }
+  };
+  for (let i = 0; i < props.length; i++) {
+    const prop = props[i];
+    if (prop.type === 6) {
+      const { loc, name, nameLoc, value } = prop;
+      let isStatic = true;
+      if (name === "ref") {
+        hasRef = true;
+        pushRefVForMarker();
+      }
+      if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled(
+        "COMPILER_IS_ON_ELEMENT",
+        context
+      ))) {
+        continue;
+      }
+      properties.push(
+        createObjectProperty(
+          createSimpleExpression(name, true, nameLoc),
+          createSimpleExpression(
+            value ? value.content : "",
+            isStatic,
+            value ? value.loc : loc
+          )
+        )
+      );
+    } else {
+      const { name, arg, exp, loc, modifiers } = prop;
+      const isVBind = name === "bind";
+      const isVOn = name === "on";
+      if (name === "slot") {
+        if (!isComponent2) {
+          context.onError(
+            createCompilerError(40, loc)
+          );
+        }
+        continue;
+      }
+      if (name === "once" || name === "memo") {
+        continue;
+      }
+      if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled(
+        "COMPILER_IS_ON_ELEMENT",
+        context
+      ))) {
+        continue;
+      }
+      if (isVOn && ssr) {
+        continue;
+      }
+      if (
+        // #938: elements with dynamic keys should be forced into blocks
+        isVBind && isStaticArgOf(arg, "key") || // inline before-update hooks need to force block so that it is invoked
+        // before children
+        isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update")
+      ) {
+        shouldUseBlock = true;
+      }
+      if (isVBind && isStaticArgOf(arg, "ref")) {
+        pushRefVForMarker();
+      }
+      if (!arg && (isVBind || isVOn)) {
+        hasDynamicKeys = true;
+        if (exp) {
+          if (isVBind) {
+            pushRefVForMarker();
+            pushMergeArg();
+            {
+              if (isCompatEnabled(
+                "COMPILER_V_BIND_OBJECT_ORDER",
+                context
+              )) {
+                mergeArgs.unshift(exp);
+                continue;
+              }
+            }
+            mergeArgs.push(exp);
+          } else {
+            pushMergeArg({
+              type: 14,
+              loc,
+              callee: context.helper(TO_HANDLERS),
+              arguments: isComponent2 ? [exp] : [exp, `true`]
+            });
+          }
+        } else {
+          context.onError(
+            createCompilerError(
+              isVBind ? 34 : 35,
+              loc
+            )
+          );
+        }
+        continue;
+      }
+      if (isVBind && modifiers.includes("prop")) {
+        patchFlag |= 32;
+      }
+      const directiveTransform = context.directiveTransforms[name];
+      if (directiveTransform) {
+        const { props: props2, needRuntime } = directiveTransform(prop, node, context);
+        !ssr && props2.forEach(analyzePatchFlag);
+        if (isVOn && arg && !isStaticExp(arg)) {
+          pushMergeArg(createObjectExpression(props2, elementLoc));
+        } else {
+          properties.push(...props2);
+        }
+        if (needRuntime) {
+          runtimeDirectives.push(prop);
+          if (isSymbol(needRuntime)) {
+            directiveImportMap.set(prop, needRuntime);
+          }
+        }
+      } else if (!isBuiltInDirective(name)) {
+        runtimeDirectives.push(prop);
+        if (hasChildren) {
+          shouldUseBlock = true;
+        }
+      }
+    }
+  }
+  let propsExpression = void 0;
+  if (mergeArgs.length) {
+    pushMergeArg();
+    if (mergeArgs.length > 1) {
+      propsExpression = createCallExpression(
+        context.helper(MERGE_PROPS),
+        mergeArgs,
+        elementLoc
+      );
+    } else {
+      propsExpression = mergeArgs[0];
+    }
+  } else if (properties.length) {
+    propsExpression = createObjectExpression(
+      dedupeProperties(properties),
+      elementLoc
+    );
+  }
+  if (hasDynamicKeys) {
+    patchFlag |= 16;
+  } else {
+    if (hasClassBinding && !isComponent2) {
+      patchFlag |= 2;
+    }
+    if (hasStyleBinding && !isComponent2) {
+      patchFlag |= 4;
+    }
+    if (dynamicPropNames.length) {
+      patchFlag |= 8;
+    }
+    if (hasHydrationEventBinding) {
+      patchFlag |= 32;
+    }
+  }
+  if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {
+    patchFlag |= 512;
+  }
+  if (!context.inSSR && propsExpression) {
+    switch (propsExpression.type) {
+      case 15:
+        let classKeyIndex = -1;
+        let styleKeyIndex = -1;
+        let hasDynamicKey = false;
+        for (let i = 0; i < propsExpression.properties.length; i++) {
+          const key = propsExpression.properties[i].key;
+          if (isStaticExp(key)) {
+            if (key.content === "class") {
+              classKeyIndex = i;
+            } else if (key.content === "style") {
+              styleKeyIndex = i;
+            }
+          } else if (!key.isHandlerKey) {
+            hasDynamicKey = true;
+          }
+        }
+        const classProp = propsExpression.properties[classKeyIndex];
+        const styleProp = propsExpression.properties[styleKeyIndex];
+        if (!hasDynamicKey) {
+          if (classProp && !isStaticExp(classProp.value)) {
+            classProp.value = createCallExpression(
+              context.helper(NORMALIZE_CLASS),
+              [classProp.value]
+            );
+          }
+          if (styleProp && // the static style is compiled into an object,
+          // so use `hasStyleBinding` to ensure that it is a dynamic style binding
+          (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,
+          // v-bind:style with static literal object
+          styleProp.value.type === 17)) {
+            styleProp.value = createCallExpression(
+              context.helper(NORMALIZE_STYLE),
+              [styleProp.value]
+            );
+          }
+        } else {
+          propsExpression = createCallExpression(
+            context.helper(NORMALIZE_PROPS),
+            [propsExpression]
+          );
+        }
+        break;
+      case 14:
+        break;
+      default:
+        propsExpression = createCallExpression(
+          context.helper(NORMALIZE_PROPS),
+          [
+            createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [
+              propsExpression
+            ])
+          ]
+        );
+        break;
+    }
+  }
+  return {
+    props: propsExpression,
+    directives: runtimeDirectives,
+    patchFlag,
+    dynamicPropNames,
+    shouldUseBlock
+  };
+}
+function dedupeProperties(properties) {
+  const knownProps = /* @__PURE__ */ new Map();
+  const deduped = [];
+  for (let i = 0; i < properties.length; i++) {
+    const prop = properties[i];
+    if (prop.key.type === 8 || !prop.key.isStatic) {
+      deduped.push(prop);
+      continue;
+    }
+    const name = prop.key.content;
+    const existing = knownProps.get(name);
+    if (existing) {
+      if (name === "style" || name === "class" || isOn(name)) {
+        mergeAsArray(existing, prop);
+      }
+    } else {
+      knownProps.set(name, prop);
+      deduped.push(prop);
+    }
+  }
+  return deduped;
+}
+function mergeAsArray(existing, incoming) {
+  if (existing.value.type === 17) {
+    existing.value.elements.push(incoming.value);
+  } else {
+    existing.value = createArrayExpression(
+      [existing.value, incoming.value],
+      existing.loc
+    );
+  }
+}
+function buildDirectiveArgs(dir, context) {
+  const dirArgs = [];
+  const runtime = directiveImportMap.get(dir);
+  if (runtime) {
+    dirArgs.push(context.helperString(runtime));
+  } else {
+    {
+      context.helper(RESOLVE_DIRECTIVE);
+      context.directives.add(dir.name);
+      dirArgs.push(toValidAssetId(dir.name, `directive`));
+    }
+  }
+  const { loc } = dir;
+  if (dir.exp)
+    dirArgs.push(dir.exp);
+  if (dir.arg) {
+    if (!dir.exp) {
+      dirArgs.push(`void 0`);
+    }
+    dirArgs.push(dir.arg);
+  }
+  if (Object.keys(dir.modifiers).length) {
+    if (!dir.arg) {
+      if (!dir.exp) {
+        dirArgs.push(`void 0`);
+      }
+      dirArgs.push(`void 0`);
+    }
+    const trueExpression = createSimpleExpression(`true`, false, loc);
+    dirArgs.push(
+      createObjectExpression(
+        dir.modifiers.map(
+          (modifier) => createObjectProperty(modifier, trueExpression)
+        ),
+        loc
+      )
+    );
+  }
+  return createArrayExpression(dirArgs, dir.loc);
+}
+function stringifyDynamicPropNames(props) {
+  let propsNamesString = `[`;
+  for (let i = 0, l = props.length; i < l; i++) {
+    propsNamesString += JSON.stringify(props[i]);
+    if (i < l - 1)
+      propsNamesString += ", ";
+  }
+  return propsNamesString + `]`;
+}
+function isComponentTag(tag) {
+  return tag === "component" || tag === "Component";
+}
+const transformSlotOutlet = (node, context) => {
+  if (isSlotOutlet(node)) {
+    const { children, loc } = node;
+    const { slotName, slotProps } = processSlotOutlet(node, context);
+    const slotArgs = [
+      context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,
+      slotName,
+      "{}",
+      "undefined",
+      "true"
+    ];
+    let expectedLen = 2;
+    if (slotProps) {
+      slotArgs[2] = slotProps;
+      expectedLen = 3;
+    }
+    if (children.length) {
+      slotArgs[3] = createFunctionExpression([], children, false, false, loc);
+      expectedLen = 4;
+    }
+    if (context.scopeId && !context.slotted) {
+      expectedLen = 5;
+    }
+    slotArgs.splice(expectedLen);
+    node.codegenNode = createCallExpression(
+      context.helper(RENDER_SLOT),
+      slotArgs,
+      loc
+    );
+  }
+};
+function processSlotOutlet(node, context) {
+  let slotName = `"default"`;
+  let slotProps = void 0;
+  const nonNameProps = [];
+  for (let i = 0; i < node.props.length; i++) {
+    const p2 = node.props[i];
+    if (p2.type === 6) {
+      if (p2.value) {
+        if (p2.name === "name") {
+          slotName = JSON.stringify(p2.value.content);
+        } else {
+          p2.name = camelize(p2.name);
+          nonNameProps.push(p2);
+        }
+      }
+    } else {
+      if (p2.name === "bind" && isStaticArgOf(p2.arg, "name")) {
+        if (p2.exp) {
+          slotName = p2.exp;
+        } else if (p2.arg && p2.arg.type === 4) {
+          const name = camelize(p2.arg.content);
+          slotName = p2.exp = createSimpleExpression(name, false, p2.arg.loc);
+        }
+      } else {
+        if (p2.name === "bind" && p2.arg && isStaticExp(p2.arg)) {
+          p2.arg.content = camelize(p2.arg.content);
+        }
+        nonNameProps.push(p2);
+      }
+    }
+  }
+  if (nonNameProps.length > 0) {
+    const { props, directives } = buildProps(
+      node,
+      context,
+      nonNameProps,
+      false,
+      false
+    );
+    slotProps = props;
+    if (directives.length) {
+      context.onError(
+        createCompilerError(
+          36,
+          directives[0].loc
+        )
+      );
+    }
+  }
+  return {
+    slotName,
+    slotProps
+  };
+}
+const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
+const transformOn$1 = (dir, node, context, augmentor) => {
+  const { loc, modifiers, arg } = dir;
+  if (!dir.exp && !modifiers.length) {
+    context.onError(createCompilerError(35, loc));
+  }
+  let eventName;
+  if (arg.type === 4) {
+    if (arg.isStatic) {
+      let rawName = arg.content;
+      if (rawName.startsWith("vue:")) {
+        rawName = `vnode-${rawName.slice(4)}`;
+      }
+      const eventString = node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? (
+        // for non-element and vnode lifecycle event listeners, auto convert
+        // it to camelCase. See issue #2249
+        toHandlerKey(camelize(rawName))
+      ) : (
+        // preserve case for plain element listeners that have uppercase
+        // letters, as these may be custom elements' custom events
+        `on:${rawName}`
+      );
+      eventName = createSimpleExpression(eventString, true, arg.loc);
+    } else {
+      eventName = createCompoundExpression([
+        `${context.helperString(TO_HANDLER_KEY)}(`,
+        arg,
+        `)`
+      ]);
+    }
+  } else {
+    eventName = arg;
+    eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
+    eventName.children.push(`)`);
+  }
+  let exp = dir.exp;
+  if (exp && !exp.content.trim()) {
+    exp = void 0;
+  }
+  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
+  if (exp) {
+    const isMemberExp = isMemberExpression(exp.content);
+    const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
+    const hasMultipleStatements = exp.content.includes(`;`);
+    if (isInlineStatement || shouldCache && isMemberExp) {
+      exp = createCompoundExpression([
+        `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,
+        exp,
+        hasMultipleStatements ? `}` : `)`
+      ]);
+    }
+  }
+  let ret = {
+    props: [
+      createObjectProperty(
+        eventName,
+        exp || createSimpleExpression(`() => {}`, false, loc)
+      )
+    ]
+  };
+  if (augmentor) {
+    ret = augmentor(ret);
+  }
+  if (shouldCache) {
+    ret.props[0].value = context.cache(ret.props[0].value);
+  }
+  ret.props.forEach((p2) => p2.key.isHandlerKey = true);
+  return ret;
+};
+const transformBind = (dir, _node, context) => {
+  const { modifiers, loc } = dir;
+  const arg = dir.arg;
+  let { exp } = dir;
+  if (exp && exp.type === 4 && !exp.content.trim()) {
+    {
+      exp = void 0;
+    }
+  }
+  if (!exp) {
+    if (arg.type !== 4 || !arg.isStatic) {
+      context.onError(
+        createCompilerError(
+          52,
+          arg.loc
+        )
+      );
+      return {
+        props: [
+          createObjectProperty(arg, createSimpleExpression("", true, loc))
+        ]
+      };
+    }
+    const propName = camelize(arg.content);
+    exp = dir.exp = createSimpleExpression(propName, false, arg.loc);
+  }
+  if (arg.type !== 4) {
+    arg.children.unshift(`(`);
+    arg.children.push(`) || ""`);
+  } else if (!arg.isStatic) {
+    arg.content = `${arg.content} || ""`;
+  }
+  if (modifiers.includes("camel")) {
+    if (arg.type === 4) {
+      if (arg.isStatic) {
+        arg.content = camelize(arg.content);
+      } else {
+        arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
+      }
+    } else {
+      arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
+      arg.children.push(`)`);
+    }
+  }
+  if (!context.inSSR) {
+    if (modifiers.includes("prop")) {
+      injectPrefix(arg, ".");
+    }
+    if (modifiers.includes("attr")) {
+      injectPrefix(arg, "^");
+    }
+  }
+  return {
+    props: [createObjectProperty(arg, exp)]
+  };
+};
+const injectPrefix = (arg, prefix) => {
+  if (arg.type === 4) {
+    if (arg.isStatic) {
+      arg.content = prefix + arg.content;
+    } else {
+      arg.content = `\`${prefix}\${${arg.content}}\``;
+    }
+  } else {
+    arg.children.unshift(`'${prefix}' + (`);
+    arg.children.push(`)`);
+  }
+};
+const transformText = (node, context) => {
+  if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {
+    return () => {
+      const children = node.children;
+      let currentContainer = void 0;
+      let hasText = false;
+      for (let i = 0; i < children.length; i++) {
+        const child = children[i];
+        if (isText$1(child)) {
+          hasText = true;
+          for (let j = i + 1; j < children.length; j++) {
+            const next = children[j];
+            if (isText$1(next)) {
+              if (!currentContainer) {
+                currentContainer = children[i] = createCompoundExpression(
+                  [child],
+                  child.loc
+                );
+              }
+              currentContainer.children.push(` + `, next);
+              children.splice(j, 1);
+              j--;
+            } else {
+              currentContainer = void 0;
+              break;
+            }
+          }
+        }
+      }
+      if (!hasText || // if this is a plain element with a single text child, leave it
+      // as-is since the runtime has dedicated fast path for this by directly
+      // setting textContent of the element.
+      // for component root it's always normalized anyway.
+      children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756
+      // custom directives can potentially add DOM elements arbitrarily,
+      // we need to avoid setting textContent of the element at runtime
+      // to avoid accidentally overwriting the DOM elements added
+      // by the user through custom directives.
+      !node.props.find(
+        (p2) => p2.type === 7 && !context.directiveTransforms[p2.name]
+      ) && // in compat mode, <template> tags with no special directives
+      // will be rendered as a fragment so its children must be
+      // converted into vnodes.
+      !(node.tag === "template"))) {
+        return;
+      }
+      for (let i = 0; i < children.length; i++) {
+        const child = children[i];
+        if (isText$1(child) || child.type === 8) {
+          const callArgs = [];
+          if (child.type !== 2 || child.content !== " ") {
+            callArgs.push(child);
+          }
+          if (!context.ssr && getConstantType(child, context) === 0) {
+            callArgs.push(
+              `1`
+            );
+          }
+          children[i] = {
+            type: 12,
+            content: child,
+            loc: child.loc,
+            codegenNode: createCallExpression(
+              context.helper(CREATE_TEXT),
+              callArgs
+            )
+          };
+        }
+      }
+    };
+  }
+};
+const seen$1 = /* @__PURE__ */ new WeakSet();
+const transformOnce = (node, context) => {
+  if (node.type === 1 && findDir(node, "once", true)) {
+    if (seen$1.has(node) || context.inVOnce || context.inSSR) {
+      return;
+    }
+    seen$1.add(node);
+    context.inVOnce = true;
+    context.helper(SET_BLOCK_TRACKING);
+    return () => {
+      context.inVOnce = false;
+      const cur = context.currentNode;
+      if (cur.codegenNode) {
+        cur.codegenNode = context.cache(
+          cur.codegenNode,
+          true
+          /* isVNode */
+        );
+      }
+    };
+  }
+};
+const transformModel$1 = (dir, node, context) => {
+  const { exp, arg } = dir;
+  if (!exp) {
+    context.onError(
+      createCompilerError(41, dir.loc)
+    );
+    return createTransformProps();
+  }
+  const rawExp = exp.loc.source;
+  const expString = exp.type === 4 ? exp.content : rawExp;
+  const bindingType = context.bindingMetadata[rawExp];
+  if (bindingType === "props" || bindingType === "props-aliased") {
+    context.onError(createCompilerError(44, exp.loc));
+    return createTransformProps();
+  }
+  const maybeRef = false;
+  if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {
+    context.onError(
+      createCompilerError(42, exp.loc)
+    );
+    return createTransformProps();
+  }
+  const propName = arg ? arg : createSimpleExpression("modelValue", true);
+  const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['"onUpdate:" + ', arg]) : `onUpdate:modelValue`;
+  let assignmentExp;
+  const eventArg = context.isTS ? `($event: any)` : `$event`;
+  {
+    assignmentExp = createCompoundExpression([
+      `${eventArg} => ((`,
+      exp,
+      `) = $event)`
+    ]);
+  }
+  const props = [
+    // modelValue: foo
+    createObjectProperty(propName, dir.exp),
+    // "onUpdate:modelValue": $event => (foo = $event)
+    createObjectProperty(eventName, assignmentExp)
+  ];
+  if (dir.modifiers.length && node.tagType === 1) {
+    const modifiers = dir.modifiers.map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);
+    const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + "Modifiers"']) : `modelModifiers`;
+    props.push(
+      createObjectProperty(
+        modifiersKey,
+        createSimpleExpression(
+          `{ ${modifiers} }`,
+          false,
+          dir.loc,
+          2
+        )
+      )
+    );
+  }
+  return createTransformProps(props);
+};
+function createTransformProps(props = []) {
+  return { props };
+}
+const validDivisionCharRE = /[\w).+\-_$\]]/;
+const transformFilter = (node, context) => {
+  if (!isCompatEnabled("COMPILER_FILTERS", context)) {
+    return;
+  }
+  if (node.type === 5) {
+    rewriteFilter(node.content, context);
+  }
+  if (node.type === 1) {
+    node.props.forEach((prop) => {
+      if (prop.type === 7 && prop.name !== "for" && prop.exp) {
+        rewriteFilter(prop.exp, context);
+      }
+    });
+  }
+};
+function rewriteFilter(node, context) {
+  if (node.type === 4) {
+    parseFilter(node, context);
+  } else {
+    for (let i = 0; i < node.children.length; i++) {
+      const child = node.children[i];
+      if (typeof child !== "object")
+        continue;
+      if (child.type === 4) {
+        parseFilter(child, context);
+      } else if (child.type === 8) {
+        rewriteFilter(node, context);
+      } else if (child.type === 5) {
+        rewriteFilter(child.content, context);
+      }
+    }
+  }
+}
+function parseFilter(node, context) {
+  const exp = node.content;
+  let inSingle = false;
+  let inDouble = false;
+  let inTemplateString = false;
+  let inRegex = false;
+  let curly = 0;
+  let square = 0;
+  let paren = 0;
+  let lastFilterIndex = 0;
+  let c, prev, i, expression, filters = [];
+  for (i = 0; i < exp.length; i++) {
+    prev = c;
+    c = exp.charCodeAt(i);
+    if (inSingle) {
+      if (c === 39 && prev !== 92)
+        inSingle = false;
+    } else if (inDouble) {
+      if (c === 34 && prev !== 92)
+        inDouble = false;
+    } else if (inTemplateString) {
+      if (c === 96 && prev !== 92)
+        inTemplateString = false;
+    } else if (inRegex) {
+      if (c === 47 && prev !== 92)
+        inRegex = false;
+    } else if (c === 124 && // pipe
+    exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
+      if (expression === void 0) {
+        lastFilterIndex = i + 1;
+        expression = exp.slice(0, i).trim();
+      } else {
+        pushFilter();
+      }
+    } else {
+      switch (c) {
+        case 34:
+          inDouble = true;
+          break;
+        case 39:
+          inSingle = true;
+          break;
+        case 96:
+          inTemplateString = true;
+          break;
+        case 40:
+          paren++;
+          break;
+        case 41:
+          paren--;
+          break;
+        case 91:
+          square++;
+          break;
+        case 93:
+          square--;
+          break;
+        case 123:
+          curly++;
+          break;
+        case 125:
+          curly--;
+          break;
+      }
+      if (c === 47) {
+        let j = i - 1;
+        let p2;
+        for (; j >= 0; j--) {
+          p2 = exp.charAt(j);
+          if (p2 !== " ")
+            break;
+        }
+        if (!p2 || !validDivisionCharRE.test(p2)) {
+          inRegex = true;
+        }
+      }
+    }
+  }
+  if (expression === void 0) {
+    expression = exp.slice(0, i).trim();
+  } else if (lastFilterIndex !== 0) {
+    pushFilter();
+  }
+  function pushFilter() {
+    filters.push(exp.slice(lastFilterIndex, i).trim());
+    lastFilterIndex = i + 1;
+  }
+  if (filters.length) {
+    for (i = 0; i < filters.length; i++) {
+      expression = wrapFilter(expression, filters[i], context);
+    }
+    node.content = expression;
+  }
+}
+function wrapFilter(exp, filter, context) {
+  context.helper(RESOLVE_FILTER);
+  const i = filter.indexOf("(");
+  if (i < 0) {
+    context.filters.add(filter);
+    return `${toValidAssetId(filter, "filter")}(${exp})`;
+  } else {
+    const name = filter.slice(0, i);
+    const args = filter.slice(i + 1);
+    context.filters.add(name);
+    return `${toValidAssetId(name, "filter")}(${exp}${args !== ")" ? "," + args : args}`;
+  }
+}
+const seen = /* @__PURE__ */ new WeakSet();
+const transformMemo = (node, context) => {
+  if (node.type === 1) {
+    const dir = findDir(node, "memo");
+    if (!dir || seen.has(node)) {
+      return;
+    }
+    seen.add(node);
+    return () => {
+      const codegenNode = node.codegenNode || context.currentNode.codegenNode;
+      if (codegenNode && codegenNode.type === 13) {
+        if (node.tagType !== 1) {
+          convertToBlock(codegenNode, context);
+        }
+        node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [
+          dir.exp,
+          createFunctionExpression(void 0, codegenNode),
+          `_cache`,
+          String(context.cached++)
+        ]);
+      }
+    };
+  }
+};
+function getBaseTransformPreset(prefixIdentifiers) {
+  return [
+    [
+      transformOnce,
+      transformIf,
+      transformMemo,
+      transformFor,
+      ...[transformFilter],
+      ...[],
+      transformSlotOutlet,
+      transformElement,
+      trackSlotScopes,
+      transformText
+    ],
+    {
+      on: transformOn$1,
+      bind: transformBind,
+      model: transformModel$1
+    }
+  ];
+}
+function baseCompile$2(source, options = {}) {
+  const onError = options.onError || defaultOnError$1;
+  const isModuleMode = options.mode === "module";
+  {
+    if (options.prefixIdentifiers === true) {
+      onError(createCompilerError(47));
+    } else if (isModuleMode) {
+      onError(createCompilerError(48));
+    }
+  }
+  const prefixIdentifiers = false;
+  if (options.cacheHandlers) {
+    onError(createCompilerError(49));
+  }
+  if (options.scopeId && !isModuleMode) {
+    onError(createCompilerError(50));
+  }
+  const resolvedOptions = extend({}, options, {
+    prefixIdentifiers
+  });
+  const ast = isString$2(source) ? baseParse(source, resolvedOptions) : source;
+  const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();
+  transform$1(
+    ast,
+    extend({}, resolvedOptions, {
+      nodeTransforms: [
+        ...nodeTransforms,
+        ...options.nodeTransforms || []
+        // user transforms
+      ],
+      directiveTransforms: extend(
+        {},
+        directiveTransforms,
+        options.directiveTransforms || {}
+        // user transforms
+      )
+    })
+  );
+  return generate$1(ast, resolvedOptions);
+}
+const noopDirectiveTransform = () => ({ props: [] });
+/**
+* @vue/compiler-dom v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+const V_MODEL_RADIO = Symbol(``);
+const V_MODEL_CHECKBOX = Symbol(``);
+const V_MODEL_TEXT = Symbol(``);
+const V_MODEL_SELECT = Symbol(``);
+const V_MODEL_DYNAMIC = Symbol(``);
+const V_ON_WITH_MODIFIERS = Symbol(``);
+const V_ON_WITH_KEYS = Symbol(``);
+const V_SHOW = Symbol(``);
+const TRANSITION = Symbol(``);
+const TRANSITION_GROUP = Symbol(``);
+registerRuntimeHelpers({
+  [V_MODEL_RADIO]: `vModelRadio`,
+  [V_MODEL_CHECKBOX]: `vModelCheckbox`,
+  [V_MODEL_TEXT]: `vModelText`,
+  [V_MODEL_SELECT]: `vModelSelect`,
+  [V_MODEL_DYNAMIC]: `vModelDynamic`,
+  [V_ON_WITH_MODIFIERS]: `withModifiers`,
+  [V_ON_WITH_KEYS]: `withKeys`,
+  [V_SHOW]: `vShow`,
+  [TRANSITION]: `Transition`,
+  [TRANSITION_GROUP]: `TransitionGroup`
+});
+let decoder;
+function decodeHtmlBrowser(raw, asAttr = false) {
+  if (!decoder) {
+    decoder = document.createElement("div");
+  }
+  if (asAttr) {
+    decoder.innerHTML = `<div foo="${raw.replace(/"/g, "&quot;")}">`;
+    return decoder.children[0].getAttribute("foo");
+  } else {
+    decoder.innerHTML = raw;
+    return decoder.textContent;
+  }
+}
+const parserOptions = {
+  parseMode: "html",
+  isVoidTag,
+  isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),
+  isPreTag: (tag) => tag === "pre",
+  decodeEntities: decodeHtmlBrowser,
+  isBuiltInComponent: (tag) => {
+    if (tag === "Transition" || tag === "transition") {
+      return TRANSITION;
+    } else if (tag === "TransitionGroup" || tag === "transition-group") {
+      return TRANSITION_GROUP;
+    }
+  },
+  // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher
+  getNamespace(tag, parent, rootNamespace) {
+    let ns = parent ? parent.ns : rootNamespace;
+    if (parent && ns === 2) {
+      if (parent.tag === "annotation-xml") {
+        if (tag === "svg") {
+          return 1;
+        }
+        if (parent.props.some(
+          (a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml")
+        )) {
+          ns = 0;
+        }
+      } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") {
+        ns = 0;
+      }
+    } else if (parent && ns === 1) {
+      if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") {
+        ns = 0;
+      }
+    }
+    if (ns === 0) {
+      if (tag === "svg") {
+        return 1;
+      }
+      if (tag === "math") {
+        return 2;
+      }
+    }
+    return ns;
+  }
+};
+const transformStyle = (node) => {
+  if (node.type === 1) {
+    node.props.forEach((p2, i) => {
+      if (p2.type === 6 && p2.name === "style" && p2.value) {
+        node.props[i] = {
+          type: 7,
+          name: `bind`,
+          arg: createSimpleExpression(`style`, true, p2.loc),
+          exp: parseInlineCSS(p2.value.content, p2.loc),
+          modifiers: [],
+          loc: p2.loc
+        };
+      }
+    });
+  }
+};
+const parseInlineCSS = (cssText, loc) => {
+  const normalized = parseStringStyle(cssText);
+  return createSimpleExpression(
+    JSON.stringify(normalized),
+    false,
+    loc,
+    3
+  );
+};
+function createDOMCompilerError(code2, loc) {
+  return createCompilerError(
+    code2,
+    loc
+  );
+}
+const transformVHtml = (dir, node, context) => {
+  const { exp, loc } = dir;
+  if (!exp) {
+    context.onError(
+      createDOMCompilerError(53, loc)
+    );
+  }
+  if (node.children.length) {
+    context.onError(
+      createDOMCompilerError(54, loc)
+    );
+    node.children.length = 0;
+  }
+  return {
+    props: [
+      createObjectProperty(
+        createSimpleExpression(`innerHTML`, true, loc),
+        exp || createSimpleExpression("", true)
+      )
+    ]
+  };
+};
+const transformVText = (dir, node, context) => {
+  const { exp, loc } = dir;
+  if (!exp) {
+    context.onError(
+      createDOMCompilerError(55, loc)
+    );
+  }
+  if (node.children.length) {
+    context.onError(
+      createDOMCompilerError(56, loc)
+    );
+    node.children.length = 0;
+  }
+  return {
+    props: [
+      createObjectProperty(
+        createSimpleExpression(`textContent`, true),
+        exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(
+          context.helperString(TO_DISPLAY_STRING),
+          [exp],
+          loc
+        ) : createSimpleExpression("", true)
+      )
+    ]
+  };
+};
+const transformModel = (dir, node, context) => {
+  const baseResult = transformModel$1(dir, node, context);
+  if (!baseResult.props.length || node.tagType === 1) {
+    return baseResult;
+  }
+  if (dir.arg) {
+    context.onError(
+      createDOMCompilerError(
+        58,
+        dir.arg.loc
+      )
+    );
+  }
+  const { tag } = node;
+  const isCustomElement = context.isCustomElement(tag);
+  if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) {
+    let directiveToUse = V_MODEL_TEXT;
+    let isInvalidType = false;
+    if (tag === "input" || isCustomElement) {
+      const type = findProp(node, `type`);
+      if (type) {
+        if (type.type === 7) {
+          directiveToUse = V_MODEL_DYNAMIC;
+        } else if (type.value) {
+          switch (type.value.content) {
+            case "radio":
+              directiveToUse = V_MODEL_RADIO;
+              break;
+            case "checkbox":
+              directiveToUse = V_MODEL_CHECKBOX;
+              break;
+            case "file":
+              isInvalidType = true;
+              context.onError(
+                createDOMCompilerError(
+                  59,
+                  dir.loc
+                )
+              );
+              break;
+          }
+        }
+      } else if (hasDynamicKeyVBind(node)) {
+        directiveToUse = V_MODEL_DYNAMIC;
+      } else
+        ;
+    } else if (tag === "select") {
+      directiveToUse = V_MODEL_SELECT;
+    } else
+      ;
+    if (!isInvalidType) {
+      baseResult.needRuntime = context.helper(directiveToUse);
+    }
+  } else {
+    context.onError(
+      createDOMCompilerError(
+        57,
+        dir.loc
+      )
+    );
+  }
+  baseResult.props = baseResult.props.filter(
+    (p2) => !(p2.key.type === 4 && p2.key.content === "modelValue")
+  );
+  return baseResult;
+};
+const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
+const isNonKeyModifier = /* @__PURE__ */ makeMap(
+  // event propagation management
+  `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`
+);
+const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
+const isKeyboardEvent = /* @__PURE__ */ makeMap(
+  `onkeyup,onkeydown,onkeypress`,
+  true
+);
+const resolveModifiers = (key, modifiers, context, loc) => {
+  const keyModifiers = [];
+  const nonKeyModifiers = [];
+  const eventOptionModifiers = [];
+  for (let i = 0; i < modifiers.length; i++) {
+    const modifier = modifiers[i];
+    if (modifier === "native" && checkCompatEnabled(
+      "COMPILER_V_ON_NATIVE",
+      context
+    )) {
+      eventOptionModifiers.push(modifier);
+    } else if (isEventOptionModifier(modifier)) {
+      eventOptionModifiers.push(modifier);
+    } else {
+      if (maybeKeyModifier(modifier)) {
+        if (isStaticExp(key)) {
+          if (isKeyboardEvent(key.content)) {
+            keyModifiers.push(modifier);
+          } else {
+            nonKeyModifiers.push(modifier);
+          }
+        } else {
+          keyModifiers.push(modifier);
+          nonKeyModifiers.push(modifier);
+        }
+      } else {
+        if (isNonKeyModifier(modifier)) {
+          nonKeyModifiers.push(modifier);
+        } else {
+          keyModifiers.push(modifier);
+        }
+      }
+    }
+  }
+  return {
+    keyModifiers,
+    nonKeyModifiers,
+    eventOptionModifiers
+  };
+};
+const transformClick = (key, event) => {
+  const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === "onclick";
+  return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([
+    `(`,
+    key,
+    `) === "onClick" ? "${event}" : (`,
+    key,
+    `)`
+  ]) : key;
+};
+const transformOn = (dir, node, context) => {
+  return transformOn$1(dir, node, context, (baseResult) => {
+    const { modifiers } = dir;
+    if (!modifiers.length)
+      return baseResult;
+    let { key, value: handlerExp } = baseResult.props[0];
+    const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);
+    if (nonKeyModifiers.includes("right")) {
+      key = transformClick(key, `onContextmenu`);
+    }
+    if (nonKeyModifiers.includes("middle")) {
+      key = transformClick(key, `onMouseup`);
+    }
+    if (nonKeyModifiers.length) {
+      handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [
+        handlerExp,
+        JSON.stringify(nonKeyModifiers)
+      ]);
+    }
+    if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard
+    (!isStaticExp(key) || isKeyboardEvent(key.content))) {
+      handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [
+        handlerExp,
+        JSON.stringify(keyModifiers)
+      ]);
+    }
+    if (eventOptionModifiers.length) {
+      const modifierPostfix = eventOptionModifiers.map(capitalize$1).join("");
+      key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]);
+    }
+    return {
+      props: [createObjectProperty(key, handlerExp)]
+    };
+  });
+};
+const transformShow = (dir, node, context) => {
+  const { exp, loc } = dir;
+  if (!exp) {
+    context.onError(
+      createDOMCompilerError(61, loc)
+    );
+  }
+  return {
+    props: [],
+    needRuntime: context.helper(V_SHOW)
+  };
+};
+const ignoreSideEffectTags = (node, context) => {
+  if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
+    context.removeNode();
+  }
+};
+const DOMNodeTransforms = [
+  transformStyle,
+  ...[]
+];
+const DOMDirectiveTransforms = {
+  cloak: noopDirectiveTransform,
+  html: transformVHtml,
+  text: transformVText,
+  model: transformModel,
+  // override compiler-core
+  on: transformOn,
+  // override compiler-core
+  show: transformShow
+};
+function compile$1(src, options = {}) {
+  return baseCompile$2(
+    src,
+    extend({}, parserOptions, options, {
+      nodeTransforms: [
+        // ignore <script> and <tag>
+        // this is not put inside DOMNodeTransforms because that list is used
+        // by compiler-ssr to generate vnode fallback branches
+        ignoreSideEffectTags,
+        ...DOMNodeTransforms,
+        ...options.nodeTransforms || []
+      ],
+      directiveTransforms: extend(
+        {},
+        DOMDirectiveTransforms,
+        options.directiveTransforms || {}
+      ),
+      transformHoist: null
+    })
+  );
+}
+/**
+* vue v3.4.27
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+const compileCache$1 = /* @__PURE__ */ new WeakMap();
+function getCache(options) {
+  let c = compileCache$1.get(options != null ? options : EMPTY_OBJ);
+  if (!c) {
+    c = /* @__PURE__ */ Object.create(null);
+    compileCache$1.set(options != null ? options : EMPTY_OBJ, c);
+  }
+  return c;
+}
+function compileToFunction$1(template, options) {
+  if (!isString$2(template)) {
+    if (template.nodeType) {
+      template = template.innerHTML;
+    } else {
+      return NOOP;
+    }
+  }
+  const key = template;
+  const cache2 = getCache(options);
+  const cached = cache2[key];
+  if (cached) {
+    return cached;
+  }
+  if (template[0] === "#") {
+    const el = document.querySelector(template);
+    template = el ? el.innerHTML : ``;
+  }
+  const opts = extend(
+    {
+      hoistStatic: true,
+      onError: void 0,
+      onWarn: NOOP
+    },
+    options
+  );
+  if (!opts.isCustomElement && typeof customElements !== "undefined") {
+    opts.isCustomElement = (tag) => !!customElements.get(tag);
+  }
+  const { code: code2 } = compile$1(template, opts);
+  const render2 = new Function("Vue", code2)(runtimeDom);
+  render2._rc = true;
+  return cache2[key] = render2;
+}
+registerRuntimeCompiler(compileToFunction$1);
+const hooks = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+  __proto__: null,
+  BaseTransition,
+  BaseTransitionPropsValidators,
+  Comment,
+  DeprecationTypes,
+  EffectScope,
+  ErrorCodes,
+  ErrorTypeStrings,
+  Fragment,
+  KeepAlive,
+  ReactiveEffect,
+  Static,
+  Suspense,
+  Teleport,
+  Text,
+  TrackOpTypes,
+  Transition,
+  TransitionGroup,
+  TriggerOpTypes,
+  VueElement,
+  assertNumber,
+  callWithAsyncErrorHandling,
+  callWithErrorHandling,
+  camelize,
+  capitalize: capitalize$1,
+  cloneVNode,
+  compatUtils,
+  compile: compileToFunction$1,
+  computed,
+  createApp,
+  createBlock,
+  createCommentVNode,
+  createElementBlock,
+  createElementVNode: createBaseVNode,
+  createHydrationRenderer,
+  createPropsRestProxy,
+  createRenderer,
+  createSSRApp,
+  createSlots,
+  createStaticVNode,
+  createTextVNode,
+  createVNode,
+  customRef,
+  defineAsyncComponent,
+  defineComponent,
+  defineCustomElement,
+  defineEmits,
+  defineExpose,
+  defineModel,
+  defineOptions,
+  defineProps,
+  defineSSRCustomElement,
+  defineSlots,
+  devtools: devtools$2,
+  effect,
+  effectScope,
+  getCurrentInstance,
+  getCurrentScope,
+  getTransitionRawChildren,
+  guardReactiveProps,
+  h,
+  handleError,
+  hasInjectionContext,
+  hydrate,
+  initCustomFormatter,
+  initDirectivesForSSR,
+  inject,
+  isMemoSame,
+  isProxy,
+  isReactive,
+  isReadonly,
+  isRef,
+  isRuntimeOnly,
+  isShallow,
+  isVNode: isVNode$1,
+  markRaw,
+  mergeDefaults,
+  mergeModels,
+  mergeProps,
+  nextTick,
+  normalizeClass,
+  normalizeProps,
+  normalizeStyle,
+  onActivated,
+  onBeforeMount,
+  onBeforeUnmount,
+  onBeforeUpdate,
+  onDeactivated,
+  onErrorCaptured,
+  onMounted,
+  onRenderTracked,
+  onRenderTriggered,
+  onScopeDispose,
+  onServerPrefetch,
+  onUnmounted,
+  onUpdated,
+  openBlock,
+  popScopeId,
+  provide,
+  proxyRefs,
+  pushScopeId,
+  queuePostFlushCb,
+  reactive,
+  readonly,
+  ref,
+  registerRuntimeCompiler,
+  render,
+  renderList,
+  renderSlot,
+  resolveComponent,
+  resolveDirective,
+  resolveDynamicComponent,
+  resolveFilter,
+  resolveTransitionHooks,
+  setBlockTracking,
+  setDevtoolsHook,
+  setTransitionHooks,
+  shallowReactive,
+  shallowReadonly,
+  shallowRef,
+  ssrContextKey,
+  ssrUtils,
+  stop,
+  toDisplayString: toDisplayString$1,
+  toHandlerKey,
+  toHandlers,
+  toRaw,
+  toRef,
+  toRefs,
+  toValue: toValue$1,
+  transformVNodeArgs,
+  triggerRef,
+  unref,
+  useAttrs,
+  useCssModule,
+  useCssVars,
+  useModel,
+  useSSRContext,
+  useSlots,
+  useTransitionState,
+  vModelCheckbox,
+  vModelDynamic,
+  vModelRadio,
+  vModelSelect,
+  vModelText,
+  vShow,
+  version,
+  warn: warn$2,
+  watch,
+  watchEffect,
+  watchPostEffect,
+  watchSyncEffect,
+  withAsyncContext,
+  withCtx,
+  withDefaults,
+  withDirectives,
+  withKeys,
+  withMemo,
+  withModifiers,
+  withScopeId
+}, Symbol.toStringTag, { value: "Module" }));
+/*!
+  * vue-router v4.3.2
+  * (c) 2024 Eduardo San Martin Morote
+  * @license MIT
+  */
+const isBrowser = typeof document !== "undefined";
+function isESModule(obj) {
+  return obj.__esModule || obj[Symbol.toStringTag] === "Module";
+}
+const assign$3 = Object.assign;
+function applyToParams(fn, params) {
+  const newParams = {};
+  for (const key in params) {
+    const value = params[key];
+    newParams[key] = isArray$1(value) ? value.map(fn) : fn(value);
+  }
+  return newParams;
+}
+const noop$2 = () => {
+};
+const isArray$1 = Array.isArray;
+const HASH_RE = /#/g;
+const AMPERSAND_RE = /&/g;
+const SLASH_RE = /\//g;
+const EQUAL_RE = /=/g;
+const IM_RE = /\?/g;
+const PLUS_RE = /\+/g;
+const ENC_BRACKET_OPEN_RE = /%5B/g;
+const ENC_BRACKET_CLOSE_RE = /%5D/g;
+const ENC_CARET_RE = /%5E/g;
+const ENC_BACKTICK_RE = /%60/g;
+const ENC_CURLY_OPEN_RE = /%7B/g;
+const ENC_PIPE_RE = /%7C/g;
+const ENC_CURLY_CLOSE_RE = /%7D/g;
+const ENC_SPACE_RE = /%20/g;
+function commonEncode(text) {
+  return encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]");
+}
+function encodeHash(text) {
+  return commonEncode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
+}
+function encodeQueryValue(text) {
+  return commonEncode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
+}
+function encodeQueryKey(text) {
+  return encodeQueryValue(text).replace(EQUAL_RE, "%3D");
+}
+function encodePath(text) {
+  return commonEncode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F");
+}
+function encodeParam(text) {
+  return text == null ? "" : encodePath(text).replace(SLASH_RE, "%2F");
+}
+function decode(text) {
+  try {
+    return decodeURIComponent("" + text);
+  } catch (err) {
+  }
+  return "" + text;
+}
+const TRAILING_SLASH_RE = /\/$/;
+const removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, "");
+function parseURL(parseQuery2, location2, currentLocation = "/") {
+  let path, query = {}, searchString = "", hash = "";
+  const hashPos = location2.indexOf("#");
+  let searchPos = location2.indexOf("?");
+  if (hashPos < searchPos && hashPos >= 0) {
+    searchPos = -1;
+  }
+  if (searchPos > -1) {
+    path = location2.slice(0, searchPos);
+    searchString = location2.slice(searchPos + 1, hashPos > -1 ? hashPos : location2.length);
+    query = parseQuery2(searchString);
+  }
+  if (hashPos > -1) {
+    path = path || location2.slice(0, hashPos);
+    hash = location2.slice(hashPos, location2.length);
+  }
+  path = resolveRelativePath(path != null ? path : location2, currentLocation);
+  return {
+    fullPath: path + (searchString && "?") + searchString + hash,
+    path,
+    query,
+    hash: decode(hash)
+  };
+}
+function stringifyURL(stringifyQuery2, location2) {
+  const query = location2.query ? stringifyQuery2(location2.query) : "";
+  return location2.path + (query && "?") + query + (location2.hash || "");
+}
+function stripBase(pathname, base) {
+  if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))
+    return pathname;
+  return pathname.slice(base.length) || "/";
+}
+function isSameRouteLocation(stringifyQuery2, a, b) {
+  const aLastIndex = a.matched.length - 1;
+  const bLastIndex = b.matched.length - 1;
+  return aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery2(a.query) === stringifyQuery2(b.query) && a.hash === b.hash;
+}
+function isSameRouteRecord(a, b) {
+  return (a.aliasOf || a) === (b.aliasOf || b);
+}
+function isSameRouteLocationParams(a, b) {
+  if (Object.keys(a).length !== Object.keys(b).length)
+    return false;
+  for (const key in a) {
+    if (!isSameRouteLocationParamsValue(a[key], b[key]))
+      return false;
+  }
+  return true;
+}
+function isSameRouteLocationParamsValue(a, b) {
+  return isArray$1(a) ? isEquivalentArray(a, b) : isArray$1(b) ? isEquivalentArray(b, a) : a === b;
+}
+function isEquivalentArray(a, b) {
+  return isArray$1(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;
+}
+function resolveRelativePath(to, from) {
+  if (to.startsWith("/"))
+    return to;
+  if (!to)
+    return from;
+  const fromSegments = from.split("/");
+  const toSegments = to.split("/");
+  const lastToSegment = toSegments[toSegments.length - 1];
+  if (lastToSegment === ".." || lastToSegment === ".") {
+    toSegments.push("");
+  }
+  let position = fromSegments.length - 1;
+  let toPosition;
+  let segment;
+  for (toPosition = 0; toPosition < toSegments.length; toPosition++) {
+    segment = toSegments[toPosition];
+    if (segment === ".")
+      continue;
+    if (segment === "..") {
+      if (position > 1)
+        position--;
+    } else
+      break;
+  }
+  return fromSegments.slice(0, position).join("/") + "/" + toSegments.slice(toPosition).join("/");
+}
+var NavigationType;
+(function(NavigationType2) {
+  NavigationType2["pop"] = "pop";
+  NavigationType2["push"] = "push";
+})(NavigationType || (NavigationType = {}));
+var NavigationDirection;
+(function(NavigationDirection2) {
+  NavigationDirection2["back"] = "back";
+  NavigationDirection2["forward"] = "forward";
+  NavigationDirection2["unknown"] = "";
+})(NavigationDirection || (NavigationDirection = {}));
+function normalizeBase(base) {
+  if (!base) {
+    if (isBrowser) {
+      const baseEl = document.querySelector("base");
+      base = baseEl && baseEl.getAttribute("href") || "/";
+      base = base.replace(/^\w+:\/\/[^\/]+/, "");
+    } else {
+      base = "/";
+    }
+  }
+  if (base[0] !== "/" && base[0] !== "#")
+    base = "/" + base;
+  return removeTrailingSlash(base);
+}
+const BEFORE_HASH_RE = /^[^#]+#/;
+function createHref(base, location2) {
+  return base.replace(BEFORE_HASH_RE, "#") + location2;
+}
+function getElementPosition(el, offset) {
+  const docRect = document.documentElement.getBoundingClientRect();
+  const elRect = el.getBoundingClientRect();
+  return {
+    behavior: offset.behavior,
+    left: elRect.left - docRect.left - (offset.left || 0),
+    top: elRect.top - docRect.top - (offset.top || 0)
+  };
+}
+const computeScrollPosition = () => ({
+  left: window.scrollX,
+  top: window.scrollY
+});
+function scrollToPosition(position) {
+  let scrollToOptions;
+  if ("el" in position) {
+    const positionEl = position.el;
+    const isIdSelector = typeof positionEl === "string" && positionEl.startsWith("#");
+    const el = typeof positionEl === "string" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;
+    if (!el) {
+      return;
+    }
+    scrollToOptions = getElementPosition(el, position);
+  } else {
+    scrollToOptions = position;
+  }
+  if ("scrollBehavior" in document.documentElement.style)
+    window.scrollTo(scrollToOptions);
+  else {
+    window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);
+  }
+}
+function getScrollKey(path, delta) {
+  const position = history.state ? history.state.position - delta : -1;
+  return position + path;
+}
+const scrollPositions = /* @__PURE__ */ new Map();
+function saveScrollPosition(key, scrollPosition) {
+  scrollPositions.set(key, scrollPosition);
+}
+function getSavedScrollPosition(key) {
+  const scroll = scrollPositions.get(key);
+  scrollPositions.delete(key);
+  return scroll;
+}
+let createBaseLocation = () => location.protocol + "//" + location.host;
+function createCurrentLocation(base, location2) {
+  const { pathname, search, hash } = location2;
+  const hashPos = base.indexOf("#");
+  if (hashPos > -1) {
+    let slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;
+    let pathFromHash = hash.slice(slicePos);
+    if (pathFromHash[0] !== "/")
+      pathFromHash = "/" + pathFromHash;
+    return stripBase(pathFromHash, "");
+  }
+  const path = stripBase(pathname, base);
+  return path + search + hash;
+}
+function useHistoryListeners(base, historyState, currentLocation, replace) {
+  let listeners = [];
+  let teardowns = [];
+  let pauseState = null;
+  const popStateHandler = ({ state }) => {
+    const to = createCurrentLocation(base, location);
+    const from = currentLocation.value;
+    const fromState = historyState.value;
+    let delta = 0;
+    if (state) {
+      currentLocation.value = to;
+      historyState.value = state;
+      if (pauseState && pauseState === from) {
+        pauseState = null;
+        return;
+      }
+      delta = fromState ? state.position - fromState.position : 0;
+    } else {
+      replace(to);
+    }
+    listeners.forEach((listener) => {
+      listener(currentLocation.value, from, {
+        delta,
+        type: NavigationType.pop,
+        direction: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown
+      });
+    });
+  };
+  function pauseListeners() {
+    pauseState = currentLocation.value;
+  }
+  function listen(callback) {
+    listeners.push(callback);
+    const teardown = () => {
+      const index = listeners.indexOf(callback);
+      if (index > -1)
+        listeners.splice(index, 1);
+    };
+    teardowns.push(teardown);
+    return teardown;
+  }
+  function beforeUnloadListener() {
+    const { history: history2 } = window;
+    if (!history2.state)
+      return;
+    history2.replaceState(assign$3({}, history2.state, { scroll: computeScrollPosition() }), "");
+  }
+  function destroy() {
+    for (const teardown of teardowns)
+      teardown();
+    teardowns = [];
+    window.removeEventListener("popstate", popStateHandler);
+    window.removeEventListener("beforeunload", beforeUnloadListener);
+  }
+  window.addEventListener("popstate", popStateHandler);
+  window.addEventListener("beforeunload", beforeUnloadListener, {
+    passive: true
+  });
+  return {
+    pauseListeners,
+    listen,
+    destroy
+  };
+}
+function buildState(back, current, forward, replaced = false, computeScroll = false) {
+  return {
+    back,
+    current,
+    forward,
+    replaced,
+    position: window.history.length,
+    scroll: computeScroll ? computeScrollPosition() : null
+  };
+}
+function useHistoryStateNavigation(base) {
+  const { history: history2, location: location2 } = window;
+  const currentLocation = {
+    value: createCurrentLocation(base, location2)
+  };
+  const historyState = { value: history2.state };
+  if (!historyState.value) {
+    changeLocation(currentLocation.value, {
+      back: null,
+      current: currentLocation.value,
+      forward: null,
+      // the length is off by one, we need to decrease it
+      position: history2.length - 1,
+      replaced: true,
+      // don't add a scroll as the user may have an anchor, and we want
+      // scrollBehavior to be triggered without a saved position
+      scroll: null
+    }, true);
+  }
+  function changeLocation(to, state, replace2) {
+    const hashIndex = base.indexOf("#");
+    const url = hashIndex > -1 ? (location2.host && document.querySelector("base") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;
+    try {
+      history2[replace2 ? "replaceState" : "pushState"](state, "", url);
+      historyState.value = state;
+    } catch (err) {
+      {
+        console.error(err);
+      }
+      location2[replace2 ? "replace" : "assign"](url);
+    }
+  }
+  function replace(to, data) {
+    const state = assign$3({}, history2.state, buildState(
+      historyState.value.back,
+      // keep back and forward entries but override current position
+      to,
+      historyState.value.forward,
+      true
+    ), data, { position: historyState.value.position });
+    changeLocation(to, state, true);
+    currentLocation.value = to;
+  }
+  function push(to, data) {
+    const currentState = assign$3(
+      {},
+      // use current history state to gracefully handle a wrong call to
+      // history.replaceState
+      // https://github.com/vuejs/router/issues/366
+      historyState.value,
+      history2.state,
+      {
+        forward: to,
+        scroll: computeScrollPosition()
+      }
+    );
+    changeLocation(currentState.current, currentState, true);
+    const state = assign$3({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);
+    changeLocation(to, state, false);
+    currentLocation.value = to;
+  }
+  return {
+    location: currentLocation,
+    state: historyState,
+    push,
+    replace
+  };
+}
+function createWebHistory(base) {
+  base = normalizeBase(base);
+  const historyNavigation = useHistoryStateNavigation(base);
+  const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);
+  function go(delta, triggerListeners = true) {
+    if (!triggerListeners)
+      historyListeners.pauseListeners();
+    history.go(delta);
+  }
+  const routerHistory = assign$3({
+    // it's overridden right after
+    location: "",
+    base,
+    go,
+    createHref: createHref.bind(null, base)
+  }, historyNavigation, historyListeners);
+  Object.defineProperty(routerHistory, "location", {
+    enumerable: true,
+    get: () => historyNavigation.location.value
+  });
+  Object.defineProperty(routerHistory, "state", {
+    enumerable: true,
+    get: () => historyNavigation.state.value
+  });
+  return routerHistory;
+}
+function isRouteLocation(route) {
+  return typeof route === "string" || route && typeof route === "object";
+}
+function isRouteName(name) {
+  return typeof name === "string" || typeof name === "symbol";
+}
+const START_LOCATION_NORMALIZED = {
+  path: "/",
+  name: void 0,
+  params: {},
+  query: {},
+  hash: "",
+  fullPath: "/",
+  matched: [],
+  meta: {},
+  redirectedFrom: void 0
+};
+const NavigationFailureSymbol = Symbol("");
+var NavigationFailureType;
+(function(NavigationFailureType2) {
+  NavigationFailureType2[NavigationFailureType2["aborted"] = 4] = "aborted";
+  NavigationFailureType2[NavigationFailureType2["cancelled"] = 8] = "cancelled";
+  NavigationFailureType2[NavigationFailureType2["duplicated"] = 16] = "duplicated";
+})(NavigationFailureType || (NavigationFailureType = {}));
+function createRouterError(type, params) {
+  {
+    return assign$3(new Error(), {
+      type,
+      [NavigationFailureSymbol]: true
+    }, params);
+  }
+}
+function isNavigationFailure(error, type) {
+  return error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));
+}
+const BASE_PARAM_PATTERN = "[^/]+?";
+const BASE_PATH_PARSER_OPTIONS = {
+  sensitive: false,
+  strict: false,
+  start: true,
+  end: true
+};
+const REGEX_CHARS_RE = /[.+*?^${}()[\]/\\]/g;
+function tokensToParser(segments, extraOptions) {
+  const options = assign$3({}, BASE_PATH_PARSER_OPTIONS, extraOptions);
+  const score = [];
+  let pattern = options.start ? "^" : "";
+  const keys = [];
+  for (const segment of segments) {
+    const segmentScores = segment.length ? [] : [
+      90
+      /* PathScore.Root */
+    ];
+    if (options.strict && !segment.length)
+      pattern += "/";
+    for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {
+      const token = segment[tokenIndex];
+      let subSegmentScore = 40 + (options.sensitive ? 0.25 : 0);
+      if (token.type === 0) {
+        if (!tokenIndex)
+          pattern += "/";
+        pattern += token.value.replace(REGEX_CHARS_RE, "\\$&");
+        subSegmentScore += 40;
+      } else if (token.type === 1) {
+        const { value, repeatable, optional, regexp } = token;
+        keys.push({
+          name: value,
+          repeatable,
+          optional
+        });
+        const re2 = regexp ? regexp : BASE_PARAM_PATTERN;
+        if (re2 !== BASE_PARAM_PATTERN) {
+          subSegmentScore += 10;
+          try {
+            new RegExp(`(${re2})`);
+          } catch (err) {
+            throw new Error(`Invalid custom RegExp for param "${value}" (${re2}): ` + err.message);
+          }
+        }
+        let subPattern = repeatable ? `((?:${re2})(?:/(?:${re2}))*)` : `(${re2})`;
+        if (!tokenIndex)
+          subPattern = // avoid an optional / if there are more segments e.g. /:p?-static
+          // or /:p?-:p2
+          optional && segment.length < 2 ? `(?:/${subPattern})` : "/" + subPattern;
+        if (optional)
+          subPattern += "?";
+        pattern += subPattern;
+        subSegmentScore += 20;
+        if (optional)
+          subSegmentScore += -8;
+        if (repeatable)
+          subSegmentScore += -20;
+        if (re2 === ".*")
+          subSegmentScore += -50;
+      }
+      segmentScores.push(subSegmentScore);
+    }
+    score.push(segmentScores);
+  }
+  if (options.strict && options.end) {
+    const i = score.length - 1;
+    score[i][score[i].length - 1] += 0.7000000000000001;
+  }
+  if (!options.strict)
+    pattern += "/?";
+  if (options.end)
+    pattern += "$";
+  else if (options.strict)
+    pattern += "(?:/|$)";
+  const re = new RegExp(pattern, options.sensitive ? "" : "i");
+  function parse2(path) {
+    const match = path.match(re);
+    const params = {};
+    if (!match)
+      return null;
+    for (let i = 1; i < match.length; i++) {
+      const value = match[i] || "";
+      const key = keys[i - 1];
+      params[key.name] = value && key.repeatable ? value.split("/") : value;
+    }
+    return params;
+  }
+  function stringify(params) {
+    let path = "";
+    let avoidDuplicatedSlash = false;
+    for (const segment of segments) {
+      if (!avoidDuplicatedSlash || !path.endsWith("/"))
+        path += "/";
+      avoidDuplicatedSlash = false;
+      for (const token of segment) {
+        if (token.type === 0) {
+          path += token.value;
+        } else if (token.type === 1) {
+          const { value, repeatable, optional } = token;
+          const param = value in params ? params[value] : "";
+          if (isArray$1(param) && !repeatable) {
+            throw new Error(`Provided param "${value}" is an array but it is not repeatable (* or + modifiers)`);
+          }
+          const text = isArray$1(param) ? param.join("/") : param;
+          if (!text) {
+            if (optional) {
+              if (segment.length < 2) {
+                if (path.endsWith("/"))
+                  path = path.slice(0, -1);
+                else
+                  avoidDuplicatedSlash = true;
+              }
+            } else
+              throw new Error(`Missing required param "${value}"`);
+          }
+          path += text;
+        }
+      }
+    }
+    return path || "/";
+  }
+  return {
+    re,
+    score,
+    keys,
+    parse: parse2,
+    stringify
+  };
+}
+function compareScoreArray(a, b) {
+  let i = 0;
+  while (i < a.length && i < b.length) {
+    const diff = b[i] - a[i];
+    if (diff)
+      return diff;
+    i++;
+  }
+  if (a.length < b.length) {
+    return a.length === 1 && a[0] === 40 + 40 ? -1 : 1;
+  } else if (a.length > b.length) {
+    return b.length === 1 && b[0] === 40 + 40 ? 1 : -1;
+  }
+  return 0;
+}
+function comparePathParserScore(a, b) {
+  let i = 0;
+  const aScore = a.score;
+  const bScore = b.score;
+  while (i < aScore.length && i < bScore.length) {
+    const comp = compareScoreArray(aScore[i], bScore[i]);
+    if (comp)
+      return comp;
+    i++;
+  }
+  if (Math.abs(bScore.length - aScore.length) === 1) {
+    if (isLastScoreNegative(aScore))
+      return 1;
+    if (isLastScoreNegative(bScore))
+      return -1;
+  }
+  return bScore.length - aScore.length;
+}
+function isLastScoreNegative(score) {
+  const last = score[score.length - 1];
+  return score.length > 0 && last[last.length - 1] < 0;
+}
+const ROOT_TOKEN = {
+  type: 0,
+  value: ""
+};
+const VALID_PARAM_RE = /[a-zA-Z0-9_]/;
+function tokenizePath(path) {
+  if (!path)
+    return [[]];
+  if (path === "/")
+    return [[ROOT_TOKEN]];
+  if (!path.startsWith("/")) {
+    throw new Error(`Invalid path "${path}"`);
+  }
+  function crash(message) {
+    throw new Error(`ERR (${state})/"${buffer2}": ${message}`);
+  }
+  let state = 0;
+  let previousState = state;
+  const tokens = [];
+  let segment;
+  function finalizeSegment() {
+    if (segment)
+      tokens.push(segment);
+    segment = [];
+  }
+  let i = 0;
+  let char;
+  let buffer2 = "";
+  let customRe = "";
+  function consumeBuffer() {
+    if (!buffer2)
+      return;
+    if (state === 0) {
+      segment.push({
+        type: 0,
+        value: buffer2
+      });
+    } else if (state === 1 || state === 2 || state === 3) {
+      if (segment.length > 1 && (char === "*" || char === "+"))
+        crash(`A repeatable param (${buffer2}) must be alone in its segment. eg: '/:ids+.`);
+      segment.push({
+        type: 1,
+        value: buffer2,
+        regexp: customRe,
+        repeatable: char === "*" || char === "+",
+        optional: char === "*" || char === "?"
+      });
+    } else {
+      crash("Invalid state to consume buffer");
+    }
+    buffer2 = "";
+  }
+  function addCharToBuffer() {
+    buffer2 += char;
+  }
+  while (i < path.length) {
+    char = path[i++];
+    if (char === "\\" && state !== 2) {
+      previousState = state;
+      state = 4;
+      continue;
+    }
+    switch (state) {
+      case 0:
+        if (char === "/") {
+          if (buffer2) {
+            consumeBuffer();
+          }
+          finalizeSegment();
+        } else if (char === ":") {
+          consumeBuffer();
+          state = 1;
+        } else {
+          addCharToBuffer();
+        }
+        break;
+      case 4:
+        addCharToBuffer();
+        state = previousState;
+        break;
+      case 1:
+        if (char === "(") {
+          state = 2;
+        } else if (VALID_PARAM_RE.test(char)) {
+          addCharToBuffer();
+        } else {
+          consumeBuffer();
+          state = 0;
+          if (char !== "*" && char !== "?" && char !== "+")
+            i--;
+        }
+        break;
+      case 2:
+        if (char === ")") {
+          if (customRe[customRe.length - 1] == "\\")
+            customRe = customRe.slice(0, -1) + char;
+          else
+            state = 3;
+        } else {
+          customRe += char;
+        }
+        break;
+      case 3:
+        consumeBuffer();
+        state = 0;
+        if (char !== "*" && char !== "?" && char !== "+")
+          i--;
+        customRe = "";
+        break;
+      default:
+        crash("Unknown state");
+        break;
+    }
+  }
+  if (state === 2)
+    crash(`Unfinished custom RegExp for param "${buffer2}"`);
+  consumeBuffer();
+  finalizeSegment();
+  return tokens;
+}
+function createRouteRecordMatcher(record, parent, options) {
+  const parser = tokensToParser(tokenizePath(record.path), options);
+  const matcher = assign$3(parser, {
+    record,
+    parent,
+    // these needs to be populated by the parent
+    children: [],
+    alias: []
+  });
+  if (parent) {
+    if (!matcher.record.aliasOf === !parent.record.aliasOf)
+      parent.children.push(matcher);
+  }
+  return matcher;
+}
+function createRouterMatcher(routes, globalOptions) {
+  const matchers = [];
+  const matcherMap = /* @__PURE__ */ new Map();
+  globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);
+  function getRecordMatcher(name) {
+    return matcherMap.get(name);
+  }
+  function addRoute(record, parent, originalRecord) {
+    const isRootAdd = !originalRecord;
+    const mainNormalizedRecord = normalizeRouteRecord(record);
+    mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;
+    const options = mergeOptions(globalOptions, record);
+    const normalizedRecords = [
+      mainNormalizedRecord
+    ];
+    if ("alias" in record) {
+      const aliases = typeof record.alias === "string" ? [record.alias] : record.alias;
+      for (const alias of aliases) {
+        normalizedRecords.push(assign$3({}, mainNormalizedRecord, {
+          // this allows us to hold a copy of the `components` option
+          // so that async components cache is hold on the original record
+          components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,
+          path: alias,
+          // we might be the child of an alias
+          aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord
+          // the aliases are always of the same kind as the original since they
+          // are defined on the same record
+        }));
+      }
+    }
+    let matcher;
+    let originalMatcher;
+    for (const normalizedRecord of normalizedRecords) {
+      const { path } = normalizedRecord;
+      if (parent && path[0] !== "/") {
+        const parentPath = parent.record.path;
+        const connectingSlash = parentPath[parentPath.length - 1] === "/" ? "" : "/";
+        normalizedRecord.path = parent.record.path + (path && connectingSlash + path);
+      }
+      matcher = createRouteRecordMatcher(normalizedRecord, parent, options);
+      if (originalRecord) {
+        originalRecord.alias.push(matcher);
+      } else {
+        originalMatcher = originalMatcher || matcher;
+        if (originalMatcher !== matcher)
+          originalMatcher.alias.push(matcher);
+        if (isRootAdd && record.name && !isAliasRecord(matcher))
+          removeRoute(record.name);
+      }
+      if (mainNormalizedRecord.children) {
+        const children = mainNormalizedRecord.children;
+        for (let i = 0; i < children.length; i++) {
+          addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);
+        }
+      }
+      originalRecord = originalRecord || matcher;
+      if (matcher.record.components && Object.keys(matcher.record.components).length || matcher.record.name || matcher.record.redirect) {
+        insertMatcher(matcher);
+      }
+    }
+    return originalMatcher ? () => {
+      removeRoute(originalMatcher);
+    } : noop$2;
+  }
+  function removeRoute(matcherRef) {
+    if (isRouteName(matcherRef)) {
+      const matcher = matcherMap.get(matcherRef);
+      if (matcher) {
+        matcherMap.delete(matcherRef);
+        matchers.splice(matchers.indexOf(matcher), 1);
+        matcher.children.forEach(removeRoute);
+        matcher.alias.forEach(removeRoute);
+      }
+    } else {
+      const index = matchers.indexOf(matcherRef);
+      if (index > -1) {
+        matchers.splice(index, 1);
+        if (matcherRef.record.name)
+          matcherMap.delete(matcherRef.record.name);
+        matcherRef.children.forEach(removeRoute);
+        matcherRef.alias.forEach(removeRoute);
+      }
+    }
+  }
+  function getRoutes() {
+    return matchers;
+  }
+  function insertMatcher(matcher) {
+    let i = 0;
+    while (i < matchers.length && comparePathParserScore(matcher, matchers[i]) >= 0 && // Adding children with empty path should still appear before the parent
+    // https://github.com/vuejs/router/issues/1124
+    (matcher.record.path !== matchers[i].record.path || !isRecordChildOf(matcher, matchers[i])))
+      i++;
+    matchers.splice(i, 0, matcher);
+    if (matcher.record.name && !isAliasRecord(matcher))
+      matcherMap.set(matcher.record.name, matcher);
+  }
+  function resolve2(location2, currentLocation) {
+    let matcher;
+    let params = {};
+    let path;
+    let name;
+    if ("name" in location2 && location2.name) {
+      matcher = matcherMap.get(location2.name);
+      if (!matcher)
+        throw createRouterError(1, {
+          location: location2
+        });
+      name = matcher.record.name;
+      params = assign$3(
+        // paramsFromLocation is a new object
+        paramsFromLocation(
+          currentLocation.params,
+          // only keep params that exist in the resolved location
+          // only keep optional params coming from a parent record
+          matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)
+        ),
+        // discard any existing params in the current location that do not exist here
+        // #1497 this ensures better active/exact matching
+        location2.params && paramsFromLocation(location2.params, matcher.keys.map((k) => k.name))
+      );
+      path = matcher.stringify(params);
+    } else if (location2.path != null) {
+      path = location2.path;
+      matcher = matchers.find((m) => m.re.test(path));
+      if (matcher) {
+        params = matcher.parse(path);
+        name = matcher.record.name;
+      }
+    } else {
+      matcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));
+      if (!matcher)
+        throw createRouterError(1, {
+          location: location2,
+          currentLocation
+        });
+      name = matcher.record.name;
+      params = assign$3({}, currentLocation.params, location2.params);
+      path = matcher.stringify(params);
+    }
+    const matched = [];
+    let parentMatcher = matcher;
+    while (parentMatcher) {
+      matched.unshift(parentMatcher.record);
+      parentMatcher = parentMatcher.parent;
+    }
+    return {
+      name,
+      path,
+      params,
+      matched,
+      meta: mergeMetaFields(matched)
+    };
+  }
+  routes.forEach((route) => addRoute(route));
+  return { addRoute, resolve: resolve2, removeRoute, getRoutes, getRecordMatcher };
+}
+function paramsFromLocation(params, keys) {
+  const newParams = {};
+  for (const key of keys) {
+    if (key in params)
+      newParams[key] = params[key];
+  }
+  return newParams;
+}
+function normalizeRouteRecord(record) {
+  return {
+    path: record.path,
+    redirect: record.redirect,
+    name: record.name,
+    meta: record.meta || {},
+    aliasOf: void 0,
+    beforeEnter: record.beforeEnter,
+    props: normalizeRecordProps(record),
+    children: record.children || [],
+    instances: {},
+    leaveGuards: /* @__PURE__ */ new Set(),
+    updateGuards: /* @__PURE__ */ new Set(),
+    enterCallbacks: {},
+    components: "components" in record ? record.components || null : record.component && { default: record.component }
+  };
+}
+function normalizeRecordProps(record) {
+  const propsObject = {};
+  const props = record.props || false;
+  if ("component" in record) {
+    propsObject.default = props;
+  } else {
+    for (const name in record.components)
+      propsObject[name] = typeof props === "object" ? props[name] : props;
+  }
+  return propsObject;
+}
+function isAliasRecord(record) {
+  while (record) {
+    if (record.record.aliasOf)
+      return true;
+    record = record.parent;
+  }
+  return false;
+}
+function mergeMetaFields(matched) {
+  return matched.reduce((meta, record) => assign$3(meta, record.meta), {});
+}
+function mergeOptions(defaults, partialOptions) {
+  const options = {};
+  for (const key in defaults) {
+    options[key] = key in partialOptions ? partialOptions[key] : defaults[key];
+  }
+  return options;
+}
+function isRecordChildOf(record, parent) {
+  return parent.children.some((child) => child === record || isRecordChildOf(record, child));
+}
+function parseQuery(search) {
+  const query = {};
+  if (search === "" || search === "?")
+    return query;
+  const hasLeadingIM = search[0] === "?";
+  const searchParams = (hasLeadingIM ? search.slice(1) : search).split("&");
+  for (let i = 0; i < searchParams.length; ++i) {
+    const searchParam = searchParams[i].replace(PLUS_RE, " ");
+    const eqPos = searchParam.indexOf("=");
+    const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));
+    const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));
+    if (key in query) {
+      let currentValue = query[key];
+      if (!isArray$1(currentValue)) {
+        currentValue = query[key] = [currentValue];
+      }
+      currentValue.push(value);
+    } else {
+      query[key] = value;
+    }
+  }
+  return query;
+}
+function stringifyQuery(query) {
+  let search = "";
+  for (let key in query) {
+    const value = query[key];
+    key = encodeQueryKey(key);
+    if (value == null) {
+      if (value !== void 0) {
+        search += (search.length ? "&" : "") + key;
+      }
+      continue;
+    }
+    const values = isArray$1(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)];
+    values.forEach((value2) => {
+      if (value2 !== void 0) {
+        search += (search.length ? "&" : "") + key;
+        if (value2 != null)
+          search += "=" + value2;
+      }
+    });
+  }
+  return search;
+}
+function normalizeQuery(query) {
+  const normalizedQuery = {};
+  for (const key in query) {
+    const value = query[key];
+    if (value !== void 0) {
+      normalizedQuery[key] = isArray$1(value) ? value.map((v) => v == null ? null : "" + v) : value == null ? value : "" + value;
+    }
+  }
+  return normalizedQuery;
+}
+const matchedRouteKey = Symbol("");
+const viewDepthKey = Symbol("");
+const routerKey = Symbol("");
+const routeLocationKey = Symbol("");
+const routerViewLocationKey = Symbol("");
+function useCallbacks() {
+  let handlers = [];
+  function add2(handler) {
+    handlers.push(handler);
+    return () => {
+      const i = handlers.indexOf(handler);
+      if (i > -1)
+        handlers.splice(i, 1);
+    };
+  }
+  function reset2() {
+    handlers = [];
+  }
+  return {
+    add: add2,
+    list: () => handlers.slice(),
+    reset: reset2
+  };
+}
+function guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {
+  const enterCallbackArray = record && // name is defined if record is because of the function overload
+  (record.enterCallbacks[name] = record.enterCallbacks[name] || []);
+  return () => new Promise((resolve2, reject) => {
+    const next = (valid) => {
+      if (valid === false) {
+        reject(createRouterError(4, {
+          from,
+          to
+        }));
+      } else if (valid instanceof Error) {
+        reject(valid);
+      } else if (isRouteLocation(valid)) {
+        reject(createRouterError(2, {
+          from: to,
+          to: valid
+        }));
+      } else {
+        if (enterCallbackArray && // since enterCallbackArray is truthy, both record and name also are
+        record.enterCallbacks[name] === enterCallbackArray && typeof valid === "function") {
+          enterCallbackArray.push(valid);
+        }
+        resolve2();
+      }
+    };
+    const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, next));
+    let guardCall = Promise.resolve(guardReturn);
+    if (guard.length < 3)
+      guardCall = guardCall.then(next);
+    guardCall.catch((err) => reject(err));
+  });
+}
+function extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {
+  const guards = [];
+  for (const record of matched) {
+    for (const name in record.components) {
+      let rawComponent = record.components[name];
+      if (guardType !== "beforeRouteEnter" && !record.instances[name])
+        continue;
+      if (isRouteComponent(rawComponent)) {
+        const options = rawComponent.__vccOpts || rawComponent;
+        const guard = options[guardType];
+        guard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));
+      } else {
+        let componentPromise = rawComponent();
+        guards.push(() => componentPromise.then((resolved) => {
+          if (!resolved)
+            return Promise.reject(new Error(`Couldn't resolve component "${name}" at "${record.path}"`));
+          const resolvedComponent = isESModule(resolved) ? resolved.default : resolved;
+          record.components[name] = resolvedComponent;
+          const options = resolvedComponent.__vccOpts || resolvedComponent;
+          const guard = options[guardType];
+          return guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();
+        }));
+      }
+    }
+  }
+  return guards;
+}
+function isRouteComponent(component) {
+  return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component;
+}
+function useLink(props) {
+  const router = inject(routerKey);
+  const currentRoute = inject(routeLocationKey);
+  const route = computed(() => {
+    const to = unref(props.to);
+    return router.resolve(to);
+  });
+  const activeRecordIndex = computed(() => {
+    const { matched } = route.value;
+    const { length } = matched;
+    const routeMatched = matched[length - 1];
+    const currentMatched = currentRoute.matched;
+    if (!routeMatched || !currentMatched.length)
+      return -1;
+    const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));
+    if (index > -1)
+      return index;
+    const parentRecordPath = getOriginalPath(matched[length - 2]);
+    return (
+      // we are dealing with nested routes
+      length > 1 && // if the parent and matched route have the same path, this link is
+      // referring to the empty child. Or we currently are on a different
+      // child of the same parent
+      getOriginalPath(routeMatched) === parentRecordPath && // avoid comparing the child with its parent
+      currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index
+    );
+  });
+  const isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));
+  const isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));
+  function navigate(e = {}) {
+    if (guardEvent(e)) {
+      return router[unref(props.replace) ? "replace" : "push"](
+        unref(props.to)
+        // avoid uncaught errors are they are logged anyway
+      ).catch(noop$2);
+    }
+    return Promise.resolve();
+  }
+  return {
+    route,
+    href: computed(() => route.value.href),
+    isActive,
+    isExactActive,
+    navigate
+  };
+}
+const RouterLinkImpl = /* @__PURE__ */ defineComponent({
+  name: "RouterLink",
+  compatConfig: { MODE: 3 },
+  props: {
+    to: {
+      type: [String, Object],
+      required: true
+    },
+    replace: Boolean,
+    activeClass: String,
+    // inactiveClass: String,
+    exactActiveClass: String,
+    custom: Boolean,
+    ariaCurrentValue: {
+      type: String,
+      default: "page"
+    }
+  },
+  useLink,
+  setup(props, { slots }) {
+    const link = reactive(useLink(props));
+    const { options } = inject(routerKey);
+    const elClass = computed(() => ({
+      [getLinkClass(props.activeClass, options.linkActiveClass, "router-link-active")]: link.isActive,
+      // [getLinkClass(
+      //   props.inactiveClass,
+      //   options.linkInactiveClass,
+      //   'router-link-inactive'
+      // )]: !link.isExactActive,
+      [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, "router-link-exact-active")]: link.isExactActive
+    }));
+    return () => {
+      const children = slots.default && slots.default(link);
+      return props.custom ? children : h("a", {
+        "aria-current": link.isExactActive ? props.ariaCurrentValue : null,
+        href: link.href,
+        // this would override user added attrs but Vue will still add
+        // the listener, so we end up triggering both
+        onClick: link.navigate,
+        class: elClass.value
+      }, children);
+    };
+  }
+});
+const RouterLink = RouterLinkImpl;
+function guardEvent(e) {
+  if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)
+    return;
+  if (e.defaultPrevented)
+    return;
+  if (e.button !== void 0 && e.button !== 0)
+    return;
+  if (e.currentTarget && e.currentTarget.getAttribute) {
+    const target = e.currentTarget.getAttribute("target");
+    if (/\b_blank\b/i.test(target))
+      return;
+  }
+  if (e.preventDefault)
+    e.preventDefault();
+  return true;
+}
+function includesParams(outer, inner) {
+  for (const key in inner) {
+    const innerValue = inner[key];
+    const outerValue = outer[key];
+    if (typeof innerValue === "string") {
+      if (innerValue !== outerValue)
+        return false;
+    } else {
+      if (!isArray$1(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value !== outerValue[i]))
+        return false;
+    }
+  }
+  return true;
+}
+function getOriginalPath(record) {
+  return record ? record.aliasOf ? record.aliasOf.path : record.path : "";
+}
+const getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;
+const RouterViewImpl = /* @__PURE__ */ defineComponent({
+  name: "RouterView",
+  // #674 we manually inherit them
+  inheritAttrs: false,
+  props: {
+    name: {
+      type: String,
+      default: "default"
+    },
+    route: Object
+  },
+  // Better compat for @vue/compat users
+  // https://github.com/vuejs/router/issues/1315
+  compatConfig: { MODE: 3 },
+  setup(props, { attrs, slots }) {
+    const injectedRoute = inject(routerViewLocationKey);
+    const routeToDisplay = computed(() => props.route || injectedRoute.value);
+    const injectedDepth = inject(viewDepthKey, 0);
+    const depth = computed(() => {
+      let initialDepth = unref(injectedDepth);
+      const { matched } = routeToDisplay.value;
+      let matchedRoute;
+      while ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) {
+        initialDepth++;
+      }
+      return initialDepth;
+    });
+    const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);
+    provide(viewDepthKey, computed(() => depth.value + 1));
+    provide(matchedRouteKey, matchedRouteRef);
+    provide(routerViewLocationKey, routeToDisplay);
+    const viewRef = ref();
+    watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {
+      if (to) {
+        to.instances[name] = instance;
+        if (from && from !== to && instance && instance === oldInstance) {
+          if (!to.leaveGuards.size) {
+            to.leaveGuards = from.leaveGuards;
+          }
+          if (!to.updateGuards.size) {
+            to.updateGuards = from.updateGuards;
+          }
+        }
+      }
+      if (instance && to && // if there is no instance but to and from are the same this might be
+      // the first visit
+      (!from || !isSameRouteRecord(to, from) || !oldInstance)) {
+        (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));
+      }
+    }, { flush: "post" });
+    return () => {
+      const route = routeToDisplay.value;
+      const currentName = props.name;
+      const matchedRoute = matchedRouteRef.value;
+      const ViewComponent = matchedRoute && matchedRoute.components[currentName];
+      if (!ViewComponent) {
+        return normalizeSlot(slots.default, { Component: ViewComponent, route });
+      }
+      const routePropsOption = matchedRoute.props[currentName];
+      const routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === "function" ? routePropsOption(route) : routePropsOption : null;
+      const onVnodeUnmounted = (vnode) => {
+        if (vnode.component.isUnmounted) {
+          matchedRoute.instances[currentName] = null;
+        }
+      };
+      const component = h(ViewComponent, assign$3({}, routeProps, attrs, {
+        onVnodeUnmounted,
+        ref: viewRef
+      }));
+      return (
+        // pass the vnode to the slot as a prop.
+        // h and <component :is="..."> both accept vnodes
+        normalizeSlot(slots.default, { Component: component, route }) || component
+      );
+    };
+  }
+});
+function normalizeSlot(slot, data) {
+  if (!slot)
+    return null;
+  const slotContent = slot(data);
+  return slotContent.length === 1 ? slotContent[0] : slotContent;
+}
+const RouterView = RouterViewImpl;
+function createRouter(options) {
+  const matcher = createRouterMatcher(options.routes, options);
+  const parseQuery$1 = options.parseQuery || parseQuery;
+  const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;
+  const routerHistory = options.history;
+  const beforeGuards = useCallbacks();
+  const beforeResolveGuards = useCallbacks();
+  const afterGuards = useCallbacks();
+  const currentRoute = shallowRef(START_LOCATION_NORMALIZED);
+  let pendingLocation = START_LOCATION_NORMALIZED;
+  if (isBrowser && options.scrollBehavior && "scrollRestoration" in history) {
+    history.scrollRestoration = "manual";
+  }
+  const normalizeParams = applyToParams.bind(null, (paramValue) => "" + paramValue);
+  const encodeParams = applyToParams.bind(null, encodeParam);
+  const decodeParams = (
+    // @ts-expect-error: intentionally avoid the type check
+    applyToParams.bind(null, decode)
+  );
+  function addRoute(parentOrRoute, route) {
+    let parent;
+    let record;
+    if (isRouteName(parentOrRoute)) {
+      parent = matcher.getRecordMatcher(parentOrRoute);
+      record = route;
+    } else {
+      record = parentOrRoute;
+    }
+    return matcher.addRoute(record, parent);
+  }
+  function removeRoute(name) {
+    const recordMatcher = matcher.getRecordMatcher(name);
+    if (recordMatcher) {
+      matcher.removeRoute(recordMatcher);
+    }
+  }
+  function getRoutes() {
+    return matcher.getRoutes().map((routeMatcher) => routeMatcher.record);
+  }
+  function hasRoute(name) {
+    return !!matcher.getRecordMatcher(name);
+  }
+  function resolve2(rawLocation, currentLocation) {
+    currentLocation = assign$3({}, currentLocation || currentRoute.value);
+    if (typeof rawLocation === "string") {
+      const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);
+      const matchedRoute2 = matcher.resolve({ path: locationNormalized.path }, currentLocation);
+      const href2 = routerHistory.createHref(locationNormalized.fullPath);
+      return assign$3(locationNormalized, matchedRoute2, {
+        params: decodeParams(matchedRoute2.params),
+        hash: decode(locationNormalized.hash),
+        redirectedFrom: void 0,
+        href: href2
+      });
+    }
+    let matcherLocation;
+    if (rawLocation.path != null) {
+      matcherLocation = assign$3({}, rawLocation, {
+        path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path
+      });
+    } else {
+      const targetParams = assign$3({}, rawLocation.params);
+      for (const key in targetParams) {
+        if (targetParams[key] == null) {
+          delete targetParams[key];
+        }
+      }
+      matcherLocation = assign$3({}, rawLocation, {
+        params: encodeParams(targetParams)
+      });
+      currentLocation.params = encodeParams(currentLocation.params);
+    }
+    const matchedRoute = matcher.resolve(matcherLocation, currentLocation);
+    const hash = rawLocation.hash || "";
+    matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));
+    const fullPath = stringifyURL(stringifyQuery$1, assign$3({}, rawLocation, {
+      hash: encodeHash(hash),
+      path: matchedRoute.path
+    }));
+    const href = routerHistory.createHref(fullPath);
+    return assign$3({
+      fullPath,
+      // keep the hash encoded so fullPath is effectively path + encodedQuery +
+      // hash
+      hash,
+      query: (
+        // if the user is using a custom query lib like qs, we might have
+        // nested objects, so we keep the query as is, meaning it can contain
+        // numbers at `$route.query`, but at the point, the user will have to
+        // use their own type anyway.
+        // https://github.com/vuejs/router/issues/328#issuecomment-649481567
+        stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}
+      )
+    }, matchedRoute, {
+      redirectedFrom: void 0,
+      href
+    });
+  }
+  function locationAsObject(to) {
+    return typeof to === "string" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign$3({}, to);
+  }
+  function checkCanceledNavigation(to, from) {
+    if (pendingLocation !== to) {
+      return createRouterError(8, {
+        from,
+        to
+      });
+    }
+  }
+  function push(to) {
+    return pushWithRedirect(to);
+  }
+  function replace(to) {
+    return push(assign$3(locationAsObject(to), { replace: true }));
+  }
+  function handleRedirectRecord(to) {
+    const lastMatched = to.matched[to.matched.length - 1];
+    if (lastMatched && lastMatched.redirect) {
+      const { redirect } = lastMatched;
+      let newTargetLocation = typeof redirect === "function" ? redirect(to) : redirect;
+      if (typeof newTargetLocation === "string") {
+        newTargetLocation = newTargetLocation.includes("?") || newTargetLocation.includes("#") ? newTargetLocation = locationAsObject(newTargetLocation) : (
+          // force empty params
+          { path: newTargetLocation }
+        );
+        newTargetLocation.params = {};
+      }
+      return assign$3({
+        query: to.query,
+        hash: to.hash,
+        // avoid transferring params if the redirect has a path
+        params: newTargetLocation.path != null ? {} : to.params
+      }, newTargetLocation);
+    }
+  }
+  function pushWithRedirect(to, redirectedFrom) {
+    const targetLocation = pendingLocation = resolve2(to);
+    const from = currentRoute.value;
+    const data = to.state;
+    const force = to.force;
+    const replace2 = to.replace === true;
+    const shouldRedirect = handleRedirectRecord(targetLocation);
+    if (shouldRedirect)
+      return pushWithRedirect(
+        assign$3(locationAsObject(shouldRedirect), {
+          state: typeof shouldRedirect === "object" ? assign$3({}, data, shouldRedirect.state) : data,
+          force,
+          replace: replace2
+        }),
+        // keep original redirectedFrom if it exists
+        redirectedFrom || targetLocation
+      );
+    const toLocation = targetLocation;
+    toLocation.redirectedFrom = redirectedFrom;
+    let failure;
+    if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {
+      failure = createRouterError(16, { to: toLocation, from });
+      handleScroll(
+        from,
+        from,
+        // this is a push, the only way for it to be triggered from a
+        // history.listen is with a redirect, which makes it become a push
+        true,
+        // This cannot be the first navigation because the initial location
+        // cannot be manually navigated to
+        false
+      );
+    }
+    return (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? (
+      // navigation redirects still mark the router as ready
+      isNavigationFailure(
+        error,
+        2
+        /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */
+      ) ? error : markAsReady(error)
+    ) : (
+      // reject any unknown error
+      triggerError(error, toLocation, from)
+    )).then((failure2) => {
+      if (failure2) {
+        if (isNavigationFailure(
+          failure2,
+          2
+          /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */
+        )) {
+          return pushWithRedirect(
+            // keep options
+            assign$3({
+              // preserve an existing replacement but allow the redirect to override it
+              replace: replace2
+            }, locationAsObject(failure2.to), {
+              state: typeof failure2.to === "object" ? assign$3({}, data, failure2.to.state) : data,
+              force
+            }),
+            // preserve the original redirectedFrom if any
+            redirectedFrom || toLocation
+          );
+        }
+      } else {
+        failure2 = finalizeNavigation(toLocation, from, true, replace2, data);
+      }
+      triggerAfterEach(toLocation, from, failure2);
+      return failure2;
+    });
+  }
+  function checkCanceledNavigationAndReject(to, from) {
+    const error = checkCanceledNavigation(to, from);
+    return error ? Promise.reject(error) : Promise.resolve();
+  }
+  function runWithContext(fn) {
+    const app = installedApps.values().next().value;
+    return app && typeof app.runWithContext === "function" ? app.runWithContext(fn) : fn();
+  }
+  function navigate(to, from) {
+    let guards;
+    const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);
+    guards = extractComponentsGuards(leavingRecords.reverse(), "beforeRouteLeave", to, from);
+    for (const record of leavingRecords) {
+      record.leaveGuards.forEach((guard) => {
+        guards.push(guardToPromiseFn(guard, to, from));
+      });
+    }
+    const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);
+    guards.push(canceledNavigationCheck);
+    return runGuardQueue(guards).then(() => {
+      guards = [];
+      for (const guard of beforeGuards.list()) {
+        guards.push(guardToPromiseFn(guard, to, from));
+      }
+      guards.push(canceledNavigationCheck);
+      return runGuardQueue(guards);
+    }).then(() => {
+      guards = extractComponentsGuards(updatingRecords, "beforeRouteUpdate", to, from);
+      for (const record of updatingRecords) {
+        record.updateGuards.forEach((guard) => {
+          guards.push(guardToPromiseFn(guard, to, from));
+        });
+      }
+      guards.push(canceledNavigationCheck);
+      return runGuardQueue(guards);
+    }).then(() => {
+      guards = [];
+      for (const record of enteringRecords) {
+        if (record.beforeEnter) {
+          if (isArray$1(record.beforeEnter)) {
+            for (const beforeEnter of record.beforeEnter)
+              guards.push(guardToPromiseFn(beforeEnter, to, from));
+          } else {
+            guards.push(guardToPromiseFn(record.beforeEnter, to, from));
+          }
+        }
+      }
+      guards.push(canceledNavigationCheck);
+      return runGuardQueue(guards);
+    }).then(() => {
+      to.matched.forEach((record) => record.enterCallbacks = {});
+      guards = extractComponentsGuards(enteringRecords, "beforeRouteEnter", to, from, runWithContext);
+      guards.push(canceledNavigationCheck);
+      return runGuardQueue(guards);
+    }).then(() => {
+      guards = [];
+      for (const guard of beforeResolveGuards.list()) {
+        guards.push(guardToPromiseFn(guard, to, from));
+      }
+      guards.push(canceledNavigationCheck);
+      return runGuardQueue(guards);
+    }).catch((err) => isNavigationFailure(
+      err,
+      8
+      /* ErrorTypes.NAVIGATION_CANCELLED */
+    ) ? err : Promise.reject(err));
+  }
+  function triggerAfterEach(to, from, failure) {
+    afterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));
+  }
+  function finalizeNavigation(toLocation, from, isPush, replace2, data) {
+    const error = checkCanceledNavigation(toLocation, from);
+    if (error)
+      return error;
+    const isFirstNavigation = from === START_LOCATION_NORMALIZED;
+    const state = !isBrowser ? {} : history.state;
+    if (isPush) {
+      if (replace2 || isFirstNavigation)
+        routerHistory.replace(toLocation.fullPath, assign$3({
+          scroll: isFirstNavigation && state && state.scroll
+        }, data));
+      else
+        routerHistory.push(toLocation.fullPath, data);
+    }
+    currentRoute.value = toLocation;
+    handleScroll(toLocation, from, isPush, isFirstNavigation);
+    markAsReady();
+  }
+  let removeHistoryListener;
+  function setupListeners() {
+    if (removeHistoryListener)
+      return;
+    removeHistoryListener = routerHistory.listen((to, _from, info) => {
+      if (!router.listening)
+        return;
+      const toLocation = resolve2(to);
+      const shouldRedirect = handleRedirectRecord(toLocation);
+      if (shouldRedirect) {
+        pushWithRedirect(assign$3(shouldRedirect, { replace: true }), toLocation).catch(noop$2);
+        return;
+      }
+      pendingLocation = toLocation;
+      const from = currentRoute.value;
+      if (isBrowser) {
+        saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());
+      }
+      navigate(toLocation, from).catch((error) => {
+        if (isNavigationFailure(
+          error,
+          4 | 8
+          /* ErrorTypes.NAVIGATION_CANCELLED */
+        )) {
+          return error;
+        }
+        if (isNavigationFailure(
+          error,
+          2
+          /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */
+        )) {
+          pushWithRedirect(
+            error.to,
+            toLocation
+            // avoid an uncaught rejection, let push call triggerError
+          ).then((failure) => {
+            if (isNavigationFailure(
+              failure,
+              4 | 16
+              /* ErrorTypes.NAVIGATION_DUPLICATED */
+            ) && !info.delta && info.type === NavigationType.pop) {
+              routerHistory.go(-1, false);
+            }
+          }).catch(noop$2);
+          return Promise.reject();
+        }
+        if (info.delta) {
+          routerHistory.go(-info.delta, false);
+        }
+        return triggerError(error, toLocation, from);
+      }).then((failure) => {
+        failure = failure || finalizeNavigation(
+          // after navigation, all matched components are resolved
+          toLocation,
+          from,
+          false
+        );
+        if (failure) {
+          if (info.delta && // a new navigation has been triggered, so we do not want to revert, that will change the current history
+          // entry while a different route is displayed
+          !isNavigationFailure(
+            failure,
+            8
+            /* ErrorTypes.NAVIGATION_CANCELLED */
+          )) {
+            routerHistory.go(-info.delta, false);
+          } else if (info.type === NavigationType.pop && isNavigationFailure(
+            failure,
+            4 | 16
+            /* ErrorTypes.NAVIGATION_DUPLICATED */
+          )) {
+            routerHistory.go(-1, false);
+          }
+        }
+        triggerAfterEach(toLocation, from, failure);
+      }).catch(noop$2);
+    });
+  }
+  let readyHandlers = useCallbacks();
+  let errorListeners = useCallbacks();
+  let ready;
+  function triggerError(error, to, from) {
+    markAsReady(error);
+    const list = errorListeners.list();
+    if (list.length) {
+      list.forEach((handler) => handler(error, to, from));
+    } else {
+      console.error(error);
+    }
+    return Promise.reject(error);
+  }
+  function isReady() {
+    if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)
+      return Promise.resolve();
+    return new Promise((resolve3, reject) => {
+      readyHandlers.add([resolve3, reject]);
+    });
+  }
+  function markAsReady(err) {
+    if (!ready) {
+      ready = !err;
+      setupListeners();
+      readyHandlers.list().forEach(([resolve3, reject]) => err ? reject(err) : resolve3());
+      readyHandlers.reset();
+    }
+    return err;
+  }
+  function handleScroll(to, from, isPush, isFirstNavigation) {
+    const { scrollBehavior } = options;
+    if (!isBrowser || !scrollBehavior)
+      return Promise.resolve();
+    const scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;
+    return nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from));
+  }
+  const go = (delta) => routerHistory.go(delta);
+  let started;
+  const installedApps = /* @__PURE__ */ new Set();
+  const router = {
+    currentRoute,
+    listening: true,
+    addRoute,
+    removeRoute,
+    hasRoute,
+    getRoutes,
+    resolve: resolve2,
+    options,
+    push,
+    replace,
+    go,
+    back: () => go(-1),
+    forward: () => go(1),
+    beforeEach: beforeGuards.add,
+    beforeResolve: beforeResolveGuards.add,
+    afterEach: afterGuards.add,
+    onError: errorListeners.add,
+    isReady,
+    install(app) {
+      const router2 = this;
+      app.component("RouterLink", RouterLink);
+      app.component("RouterView", RouterView);
+      app.config.globalProperties.$router = router2;
+      Object.defineProperty(app.config.globalProperties, "$route", {
+        enumerable: true,
+        get: () => unref(currentRoute)
+      });
+      if (isBrowser && // used for the initial navigation client side to avoid pushing
+      // multiple times when the router is used in multiple apps
+      !started && currentRoute.value === START_LOCATION_NORMALIZED) {
+        started = true;
+        push(routerHistory.location).catch((err) => {
+        });
+      }
+      const reactiveRoute = {};
+      for (const key in START_LOCATION_NORMALIZED) {
+        Object.defineProperty(reactiveRoute, key, {
+          get: () => currentRoute.value[key],
+          enumerable: true
+        });
+      }
+      app.provide(routerKey, router2);
+      app.provide(routeLocationKey, shallowReactive(reactiveRoute));
+      app.provide(routerViewLocationKey, currentRoute);
+      const unmountApp = app.unmount;
+      installedApps.add(app);
+      app.unmount = function() {
+        installedApps.delete(app);
+        if (installedApps.size < 1) {
+          pendingLocation = START_LOCATION_NORMALIZED;
+          removeHistoryListener && removeHistoryListener();
+          removeHistoryListener = null;
+          currentRoute.value = START_LOCATION_NORMALIZED;
+          started = false;
+          ready = false;
+        }
+        unmountApp();
+      };
+    }
+  };
+  function runGuardQueue(guards) {
+    return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());
+  }
+  return router;
+}
+function extractChangingRecords(to, from) {
+  const leavingRecords = [];
+  const updatingRecords = [];
+  const enteringRecords = [];
+  const len = Math.max(from.matched.length, to.matched.length);
+  for (let i = 0; i < len; i++) {
+    const recordFrom = from.matched[i];
+    if (recordFrom) {
+      if (to.matched.find((record) => isSameRouteRecord(record, recordFrom)))
+        updatingRecords.push(recordFrom);
+      else
+        leavingRecords.push(recordFrom);
+    }
+    const recordTo = to.matched[i];
+    if (recordTo) {
+      if (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) {
+        enteringRecords.push(recordTo);
+      }
+    }
+  }
+  return [leavingRecords, updatingRecords, enteringRecords];
+}
+function useRouter() {
+  return inject(routerKey);
+}
+var isVue2 = false;
+/*!
+ * pinia v2.1.7
+ * (c) 2023 Eduardo San Martin Morote
+ * @license MIT
+ */
+let activePinia;
+const setActivePinia = (pinia) => activePinia = pinia;
+const piniaSymbol = (
+  /* istanbul ignore next */
+  Symbol()
+);
+function isPlainObject$1(o) {
+  return o && typeof o === "object" && Object.prototype.toString.call(o) === "[object Object]" && typeof o.toJSON !== "function";
+}
+var MutationType;
+(function(MutationType2) {
+  MutationType2["direct"] = "direct";
+  MutationType2["patchObject"] = "patch object";
+  MutationType2["patchFunction"] = "patch function";
+})(MutationType || (MutationType = {}));
+function createPinia() {
+  const scope = effectScope(true);
+  const state = scope.run(() => ref({}));
+  let _p = [];
+  let toBeInstalled = [];
+  const pinia = markRaw({
+    install(app) {
+      setActivePinia(pinia);
+      {
+        pinia._a = app;
+        app.provide(piniaSymbol, pinia);
+        app.config.globalProperties.$pinia = pinia;
+        toBeInstalled.forEach((plugin) => _p.push(plugin));
+        toBeInstalled = [];
+      }
+    },
+    use(plugin) {
+      if (!this._a && !isVue2) {
+        toBeInstalled.push(plugin);
+      } else {
+        _p.push(plugin);
+      }
+      return this;
+    },
+    _p,
+    // it's actually undefined here
+    // @ts-expect-error
+    _a: null,
+    _e: scope,
+    _s: /* @__PURE__ */ new Map(),
+    state
+  });
+  return pinia;
+}
+const noop$1 = () => {
+};
+function addSubscription(subscriptions, callback, detached, onCleanup = noop$1) {
+  subscriptions.push(callback);
+  const removeSubscription = () => {
+    const idx = subscriptions.indexOf(callback);
+    if (idx > -1) {
+      subscriptions.splice(idx, 1);
+      onCleanup();
+    }
+  };
+  if (!detached && getCurrentScope()) {
+    onScopeDispose(removeSubscription);
+  }
+  return removeSubscription;
+}
+function triggerSubscriptions(subscriptions, ...args) {
+  subscriptions.slice().forEach((callback) => {
+    callback(...args);
+  });
+}
+const fallbackRunWithContext = (fn) => fn();
+function mergeReactiveObjects(target, patchToApply) {
+  if (target instanceof Map && patchToApply instanceof Map) {
+    patchToApply.forEach((value, key) => target.set(key, value));
+  }
+  if (target instanceof Set && patchToApply instanceof Set) {
+    patchToApply.forEach(target.add, target);
+  }
+  for (const key in patchToApply) {
+    if (!patchToApply.hasOwnProperty(key))
+      continue;
+    const subPatch = patchToApply[key];
+    const targetValue = target[key];
+    if (isPlainObject$1(targetValue) && isPlainObject$1(subPatch) && target.hasOwnProperty(key) && !isRef(subPatch) && !isReactive(subPatch)) {
+      target[key] = mergeReactiveObjects(targetValue, subPatch);
+    } else {
+      target[key] = subPatch;
+    }
+  }
+  return target;
+}
+const skipHydrateSymbol = (
+  /* istanbul ignore next */
+  Symbol()
+);
+function shouldHydrate(obj) {
+  return !isPlainObject$1(obj) || !obj.hasOwnProperty(skipHydrateSymbol);
+}
+const { assign: assign$2 } = Object;
+function isComputed(o) {
+  return !!(isRef(o) && o.effect);
+}
+function createOptionsStore(id, options, pinia, hot) {
+  const { state, actions, getters } = options;
+  const initialState = pinia.state.value[id];
+  let store;
+  function setup() {
+    if (!initialState && true) {
+      {
+        pinia.state.value[id] = state ? state() : {};
+      }
+    }
+    const localState = toRefs(pinia.state.value[id]);
+    return assign$2(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {
+      computedGetters[name] = markRaw(computed(() => {
+        setActivePinia(pinia);
+        const store2 = pinia._s.get(id);
+        return getters[name].call(store2, store2);
+      }));
+      return computedGetters;
+    }, {}));
+  }
+  store = createSetupStore(id, setup, options, pinia, hot, true);
+  return store;
+}
+function createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {
+  let scope;
+  const optionsForPlugin = assign$2({ actions: {} }, options);
+  const $subscribeOptions = {
+    deep: true
+    // flush: 'post',
+  };
+  let isListening;
+  let isSyncListening;
+  let subscriptions = [];
+  let actionSubscriptions = [];
+  let debuggerEvents;
+  const initialState = pinia.state.value[$id];
+  if (!isOptionsStore && !initialState && true) {
+    {
+      pinia.state.value[$id] = {};
+    }
+  }
+  ref({});
+  let activeListener;
+  function $patch(partialStateOrMutator) {
+    let subscriptionMutation;
+    isListening = isSyncListening = false;
+    if (typeof partialStateOrMutator === "function") {
+      partialStateOrMutator(pinia.state.value[$id]);
+      subscriptionMutation = {
+        type: MutationType.patchFunction,
+        storeId: $id,
+        events: debuggerEvents
+      };
+    } else {
+      mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);
+      subscriptionMutation = {
+        type: MutationType.patchObject,
+        payload: partialStateOrMutator,
+        storeId: $id,
+        events: debuggerEvents
+      };
+    }
+    const myListenerId = activeListener = Symbol();
+    nextTick().then(() => {
+      if (activeListener === myListenerId) {
+        isListening = true;
+      }
+    });
+    isSyncListening = true;
+    triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);
+  }
+  const $reset = isOptionsStore ? function $reset2() {
+    const { state } = options;
+    const newState = state ? state() : {};
+    this.$patch(($state) => {
+      assign$2($state, newState);
+    });
+  } : (
+    /* istanbul ignore next */
+    noop$1
+  );
+  function $dispose() {
+    scope.stop();
+    subscriptions = [];
+    actionSubscriptions = [];
+    pinia._s.delete($id);
+  }
+  function wrapAction(name, action) {
+    return function() {
+      setActivePinia(pinia);
+      const args = Array.from(arguments);
+      const afterCallbackList = [];
+      const onErrorCallbackList = [];
+      function after(callback) {
+        afterCallbackList.push(callback);
+      }
+      function onError(callback) {
+        onErrorCallbackList.push(callback);
+      }
+      triggerSubscriptions(actionSubscriptions, {
+        args,
+        name,
+        store,
+        after,
+        onError
+      });
+      let ret;
+      try {
+        ret = action.apply(this && this.$id === $id ? this : store, args);
+      } catch (error) {
+        triggerSubscriptions(onErrorCallbackList, error);
+        throw error;
+      }
+      if (ret instanceof Promise) {
+        return ret.then((value) => {
+          triggerSubscriptions(afterCallbackList, value);
+          return value;
+        }).catch((error) => {
+          triggerSubscriptions(onErrorCallbackList, error);
+          return Promise.reject(error);
+        });
+      }
+      triggerSubscriptions(afterCallbackList, ret);
+      return ret;
+    };
+  }
+  const partialStore = {
+    _p: pinia,
+    // _s: scope,
+    $id,
+    $onAction: addSubscription.bind(null, actionSubscriptions),
+    $patch,
+    $reset,
+    $subscribe(callback, options2 = {}) {
+      const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher());
+      const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {
+        if (options2.flush === "sync" ? isSyncListening : isListening) {
+          callback({
+            storeId: $id,
+            type: MutationType.direct,
+            events: debuggerEvents
+          }, state);
+        }
+      }, assign$2({}, $subscribeOptions, options2)));
+      return removeSubscription;
+    },
+    $dispose
+  };
+  const store = reactive(partialStore);
+  pinia._s.set($id, store);
+  const runWithContext = pinia._a && pinia._a.runWithContext || fallbackRunWithContext;
+  const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(setup)));
+  for (const key in setupStore) {
+    const prop = setupStore[key];
+    if (isRef(prop) && !isComputed(prop) || isReactive(prop)) {
+      if (!isOptionsStore) {
+        if (initialState && shouldHydrate(prop)) {
+          if (isRef(prop)) {
+            prop.value = initialState[key];
+          } else {
+            mergeReactiveObjects(prop, initialState[key]);
+          }
+        }
+        {
+          pinia.state.value[$id][key] = prop;
+        }
+      }
+    } else if (typeof prop === "function") {
+      const actionValue = wrapAction(key, prop);
+      {
+        setupStore[key] = actionValue;
+      }
+      optionsForPlugin.actions[key] = prop;
+    } else
+      ;
+  }
+  {
+    assign$2(store, setupStore);
+    assign$2(toRaw(store), setupStore);
+  }
+  Object.defineProperty(store, "$state", {
+    get: () => pinia.state.value[$id],
+    set: (state) => {
+      $patch(($state) => {
+        assign$2($state, state);
+      });
+    }
+  });
+  pinia._p.forEach((extender) => {
+    {
+      assign$2(store, scope.run(() => extender({
+        store,
+        app: pinia._a,
+        pinia,
+        options: optionsForPlugin
+      })));
+    }
+  });
+  if (initialState && isOptionsStore && options.hydrate) {
+    options.hydrate(store.$state, initialState);
+  }
+  isListening = true;
+  isSyncListening = true;
+  return store;
+}
+function defineStore(idOrOptions, setup, setupOptions) {
+  let id;
+  let options;
+  const isSetupStore = typeof setup === "function";
+  if (typeof idOrOptions === "string") {
+    id = idOrOptions;
+    options = isSetupStore ? setupOptions : setup;
+  } else {
+    options = idOrOptions;
+    id = idOrOptions.id;
+  }
+  function useStore(pinia, hot) {
+    const hasContext = hasInjectionContext();
+    pinia = // in test mode, ignore the argument provided as we can always retrieve a
+    // pinia instance with getActivePinia()
+    pinia || (hasContext ? inject(piniaSymbol, null) : null);
+    if (pinia)
+      setActivePinia(pinia);
+    pinia = activePinia;
+    if (!pinia._s.has(id)) {
+      if (isSetupStore) {
+        createSetupStore(id, setup, options, pinia);
+      } else {
+        createOptionsStore(id, options, pinia);
+      }
+    }
+    const store = pinia._s.get(id);
+    return store;
+  }
+  useStore.$id = id;
+  return useStore;
+}
+/*!
+  * shared v9.13.1
+  * (c) 2024 kazuya kawaguchi
+  * Released under the MIT License.
+  */
+const inBrowser = typeof window !== "undefined";
+const makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);
+const generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });
+const friendlyJSONstringify = (json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027");
+const isNumber = (val) => typeof val === "number" && isFinite(val);
+const isDate = (val) => toTypeString(val) === "[object Date]";
+const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
+const isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;
+const assign$1 = Object.assign;
+let _globalThis;
+const getGlobalThis = () => {
+  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
+};
+function escapeHtml(rawText) {
+  return rawText.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
+}
+const hasOwnProperty = Object.prototype.hasOwnProperty;
+function hasOwn(obj, key) {
+  return hasOwnProperty.call(obj, key);
+}
+const isArray = Array.isArray;
+const isFunction = (val) => typeof val === "function";
+const isString$1 = (val) => typeof val === "string";
+const isBoolean = (val) => typeof val === "boolean";
+const isObject$2 = (val) => val !== null && typeof val === "object";
+const isPromise = (val) => {
+  return isObject$2(val) && isFunction(val.then) && isFunction(val.catch);
+};
+const objectToString = Object.prototype.toString;
+const toTypeString = (value) => objectToString.call(value);
+const isPlainObject = (val) => {
+  if (!isObject$2(val))
+    return false;
+  const proto = Object.getPrototypeOf(val);
+  return proto === null || proto.constructor === Object;
+};
+const toDisplayString = (val) => {
+  return val == null ? "" : isArray(val) || isPlainObject(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val);
+};
+function join$1(items, separator = "") {
+  return items.reduce((str, item, index) => index === 0 ? str + item : str + separator + item, "");
+}
+function incrementer(code2) {
+  let current = code2;
+  return () => ++current;
+}
+function warn(msg, err) {
+  if (typeof console !== "undefined") {
+    console.warn(`[intlify] ` + msg);
+    if (err) {
+      console.warn(err.stack);
+    }
+  }
+}
+const isNotObjectOrIsArray = (val) => !isObject$2(val) || isArray(val);
+function deepCopy(src, des) {
+  if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {
+    throw new Error("Invalid value");
+  }
+  const stack2 = [{ src, des }];
+  while (stack2.length) {
+    const { src: src2, des: des2 } = stack2.pop();
+    Object.keys(src2).forEach((key) => {
+      if (isNotObjectOrIsArray(src2[key]) || isNotObjectOrIsArray(des2[key])) {
+        des2[key] = src2[key];
+      } else {
+        stack2.push({ src: src2[key], des: des2[key] });
+      }
+    });
+  }
+}
+/*!
+  * message-compiler v9.13.1
+  * (c) 2024 kazuya kawaguchi
+  * Released under the MIT License.
+  */
+function createPosition(line, column, offset) {
+  return { line, column, offset };
+}
+function createLocation(start, end, source) {
+  const loc = { start, end };
+  if (source != null) {
+    loc.source = source;
+  }
+  return loc;
+}
+const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g;
+function format$1(message, ...args) {
+  if (args.length === 1 && isObject$1(args[0])) {
+    args = args[0];
+  }
+  if (!args || !args.hasOwnProperty) {
+    args = {};
+  }
+  return message.replace(RE_ARGS, (match, identifier) => {
+    return args.hasOwnProperty(identifier) ? args[identifier] : "";
+  });
+}
+const assign = Object.assign;
+const isString = (val) => typeof val === "string";
+const isObject$1 = (val) => val !== null && typeof val === "object";
+function join(items, separator = "") {
+  return items.reduce((str, item, index) => index === 0 ? str + item : str + separator + item, "");
+}
+const CompileWarnCodes = {
+  USE_MODULO_SYNTAX: 1,
+  __EXTEND_POINT__: 2
+};
+const warnMessages = {
+  [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`
+};
+function createCompileWarn(code2, loc, ...args) {
+  const msg = format$1(warnMessages[code2] || "", ...args || []);
+  const message = { message: String(msg), code: code2 };
+  if (loc) {
+    message.location = loc;
+  }
+  return message;
+}
+const CompileErrorCodes = {
+  // tokenizer error codes
+  EXPECTED_TOKEN: 1,
+  INVALID_TOKEN_IN_PLACEHOLDER: 2,
+  UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,
+  UNKNOWN_ESCAPE_SEQUENCE: 4,
+  INVALID_UNICODE_ESCAPE_SEQUENCE: 5,
+  UNBALANCED_CLOSING_BRACE: 6,
+  UNTERMINATED_CLOSING_BRACE: 7,
+  EMPTY_PLACEHOLDER: 8,
+  NOT_ALLOW_NEST_PLACEHOLDER: 9,
+  INVALID_LINKED_FORMAT: 10,
+  // parser error codes
+  MUST_HAVE_MESSAGES_IN_PLURAL: 11,
+  UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,
+  UNEXPECTED_EMPTY_LINKED_KEY: 13,
+  UNEXPECTED_LEXICAL_ANALYSIS: 14,
+  // generator error codes
+  UNHANDLED_CODEGEN_NODE_TYPE: 15,
+  // minifier error codes
+  UNHANDLED_MINIFIER_NODE_TYPE: 16,
+  // Special value for higher-order compilers to pick up the last code
+  // to avoid collision of error codes. This should always be kept as the last
+  // item.
+  __EXTEND_POINT__: 17
+};
+const errorMessages = {
+  // tokenizer error messages
+  [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,
+  [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,
+  [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,
+  [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\{0}`,
+  [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,
+  [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,
+  [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,
+  [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,
+  [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,
+  [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,
+  // parser error messages
+  [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,
+  [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,
+  [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,
+  [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,
+  // generator error messages
+  [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,
+  // minimizer error messages
+  [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`
+};
+function createCompileError(code2, loc, options = {}) {
+  const { domain, messages, args } = options;
+  const msg = format$1((messages || errorMessages)[code2] || "", ...args || []);
+  const error = new SyntaxError(String(msg));
+  error.code = code2;
+  if (loc) {
+    error.location = loc;
+  }
+  error.domain = domain;
+  return error;
+}
+function defaultOnError(error) {
+  throw error;
+}
+const CHAR_SP = " ";
+const CHAR_CR = "\r";
+const CHAR_LF = "\n";
+const CHAR_LS = String.fromCharCode(8232);
+const CHAR_PS = String.fromCharCode(8233);
+function createScanner(str) {
+  const _buf = str;
+  let _index = 0;
+  let _line = 1;
+  let _column = 1;
+  let _peekOffset = 0;
+  const isCRLF = (index2) => _buf[index2] === CHAR_CR && _buf[index2 + 1] === CHAR_LF;
+  const isLF = (index2) => _buf[index2] === CHAR_LF;
+  const isPS = (index2) => _buf[index2] === CHAR_PS;
+  const isLS = (index2) => _buf[index2] === CHAR_LS;
+  const isLineEnd = (index2) => isCRLF(index2) || isLF(index2) || isPS(index2) || isLS(index2);
+  const index = () => _index;
+  const line = () => _line;
+  const column = () => _column;
+  const peekOffset = () => _peekOffset;
+  const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];
+  const currentChar = () => charAt(_index);
+  const currentPeek = () => charAt(_index + _peekOffset);
+  function next() {
+    _peekOffset = 0;
+    if (isLineEnd(_index)) {
+      _line++;
+      _column = 0;
+    }
+    if (isCRLF(_index)) {
+      _index++;
+    }
+    _index++;
+    _column++;
+    return _buf[_index];
+  }
+  function peek() {
+    if (isCRLF(_index + _peekOffset)) {
+      _peekOffset++;
+    }
+    _peekOffset++;
+    return _buf[_index + _peekOffset];
+  }
+  function reset2() {
+    _index = 0;
+    _line = 1;
+    _column = 1;
+    _peekOffset = 0;
+  }
+  function resetPeek(offset = 0) {
+    _peekOffset = offset;
+  }
+  function skipToPeek() {
+    const target = _index + _peekOffset;
+    while (target !== _index) {
+      next();
+    }
+    _peekOffset = 0;
+  }
+  return {
+    index,
+    line,
+    column,
+    peekOffset,
+    charAt,
+    currentChar,
+    currentPeek,
+    next,
+    peek,
+    reset: reset2,
+    resetPeek,
+    skipToPeek
+  };
+}
+const EOF = void 0;
+const DOT = ".";
+const LITERAL_DELIMITER = "'";
+const ERROR_DOMAIN$3 = "tokenizer";
+function createTokenizer(source, options = {}) {
+  const location2 = options.location !== false;
+  const _scnr = createScanner(source);
+  const currentOffset = () => _scnr.index();
+  const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());
+  const _initLoc = currentPosition();
+  const _initOffset = currentOffset();
+  const _context = {
+    currentType: 14,
+    offset: _initOffset,
+    startLoc: _initLoc,
+    endLoc: _initLoc,
+    lastType: 14,
+    lastOffset: _initOffset,
+    lastStartLoc: _initLoc,
+    lastEndLoc: _initLoc,
+    braceNest: 0,
+    inLinked: false,
+    text: ""
+  };
+  const context = () => _context;
+  const { onError } = options;
+  function emitError2(code2, pos, offset, ...args) {
+    const ctx = context();
+    pos.column += offset;
+    pos.offset += offset;
+    if (onError) {
+      const loc = location2 ? createLocation(ctx.startLoc, pos) : null;
+      const err = createCompileError(code2, loc, {
+        domain: ERROR_DOMAIN$3,
+        args
+      });
+      onError(err);
+    }
+  }
+  function getToken(context2, type, value) {
+    context2.endLoc = currentPosition();
+    context2.currentType = type;
+    const token = { type };
+    if (location2) {
+      token.loc = createLocation(context2.startLoc, context2.endLoc);
+    }
+    if (value != null) {
+      token.value = value;
+    }
+    return token;
+  }
+  const getEndToken = (context2) => getToken(
+    context2,
+    14
+    /* TokenTypes.EOF */
+  );
+  function eat(scnr, ch) {
+    if (scnr.currentChar() === ch) {
+      scnr.next();
+      return ch;
+    } else {
+      emitError2(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
+      return "";
+    }
+  }
+  function peekSpaces(scnr) {
+    let buf = "";
+    while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {
+      buf += scnr.currentPeek();
+      scnr.peek();
+    }
+    return buf;
+  }
+  function skipSpaces(scnr) {
+    const buf = peekSpaces(scnr);
+    scnr.skipToPeek();
+    return buf;
+  }
+  function isIdentifierStart(ch) {
+    if (ch === EOF) {
+      return false;
+    }
+    const cc = ch.charCodeAt(0);
+    return cc >= 97 && cc <= 122 || // a-z
+    cc >= 65 && cc <= 90 || // A-Z
+    cc === 95;
+  }
+  function isNumberStart(ch) {
+    if (ch === EOF) {
+      return false;
+    }
+    const cc = ch.charCodeAt(0);
+    return cc >= 48 && cc <= 57;
+  }
+  function isNamedIdentifierStart(scnr, context2) {
+    const { currentType } = context2;
+    if (currentType !== 2) {
+      return false;
+    }
+    peekSpaces(scnr);
+    const ret = isIdentifierStart(scnr.currentPeek());
+    scnr.resetPeek();
+    return ret;
+  }
+  function isListIdentifierStart(scnr, context2) {
+    const { currentType } = context2;
+    if (currentType !== 2) {
+      return false;
+    }
+    peekSpaces(scnr);
+    const ch = scnr.currentPeek() === "-" ? scnr.peek() : scnr.currentPeek();
+    const ret = isNumberStart(ch);
+    scnr.resetPeek();
+    return ret;
+  }
+  function isLiteralStart(scnr, context2) {
+    const { currentType } = context2;
+    if (currentType !== 2) {
+      return false;
+    }
+    peekSpaces(scnr);
+    const ret = scnr.currentPeek() === LITERAL_DELIMITER;
+    scnr.resetPeek();
+    return ret;
+  }
+  function isLinkedDotStart(scnr, context2) {
+    const { currentType } = context2;
+    if (currentType !== 8) {
+      return false;
+    }
+    peekSpaces(scnr);
+    const ret = scnr.currentPeek() === ".";
+    scnr.resetPeek();
+    return ret;
+  }
+  function isLinkedModifierStart(scnr, context2) {
+    const { currentType } = context2;
+    if (currentType !== 9) {
+      return false;
+    }
+    peekSpaces(scnr);
+    const ret = isIdentifierStart(scnr.currentPeek());
+    scnr.resetPeek();
+    return ret;
+  }
+  function isLinkedDelimiterStart(scnr, context2) {
+    const { currentType } = context2;
+    if (!(currentType === 8 || currentType === 12)) {
+      return false;
+    }
+    peekSpaces(scnr);
+    const ret = scnr.currentPeek() === ":";
+    scnr.resetPeek();
+    return ret;
+  }
+  function isLinkedReferStart(scnr, context2) {
+    const { currentType } = context2;
+    if (currentType !== 10) {
+      return false;
+    }
+    const fn = () => {
+      const ch = scnr.currentPeek();
+      if (ch === "{") {
+        return isIdentifierStart(scnr.peek());
+      } else if (ch === "@" || ch === "%" || ch === "|" || ch === ":" || ch === "." || ch === CHAR_SP || !ch) {
+        return false;
+      } else if (ch === CHAR_LF) {
+        scnr.peek();
+        return fn();
+      } else {
+        return isTextStart(scnr, false);
+      }
+    };
+    const ret = fn();
+    scnr.resetPeek();
+    return ret;
+  }
+  function isPluralStart(scnr) {
+    peekSpaces(scnr);
+    const ret = scnr.currentPeek() === "|";
+    scnr.resetPeek();
+    return ret;
+  }
+  function detectModuloStart(scnr) {
+    const spaces = peekSpaces(scnr);
+    const ret = scnr.currentPeek() === "%" && scnr.peek() === "{";
+    scnr.resetPeek();
+    return {
+      isModulo: ret,
+      hasSpace: spaces.length > 0
+    };
+  }
+  function isTextStart(scnr, reset2 = true) {
+    const fn = (hasSpace = false, prev = "", detectModulo = false) => {
+      const ch = scnr.currentPeek();
+      if (ch === "{") {
+        return prev === "%" ? false : hasSpace;
+      } else if (ch === "@" || !ch) {
+        return prev === "%" ? true : hasSpace;
+      } else if (ch === "%") {
+        scnr.peek();
+        return fn(hasSpace, "%", true);
+      } else if (ch === "|") {
+        return prev === "%" || detectModulo ? true : !(prev === CHAR_SP || prev === CHAR_LF);
+      } else if (ch === CHAR_SP) {
+        scnr.peek();
+        return fn(true, CHAR_SP, detectModulo);
+      } else if (ch === CHAR_LF) {
+        scnr.peek();
+        return fn(true, CHAR_LF, detectModulo);
+      } else {
+        return true;
+      }
+    };
+    const ret = fn();
+    reset2 && scnr.resetPeek();
+    return ret;
+  }
+  function takeChar(scnr, fn) {
+    const ch = scnr.currentChar();
+    if (ch === EOF) {
+      return EOF;
+    }
+    if (fn(ch)) {
+      scnr.next();
+      return ch;
+    }
+    return null;
+  }
+  function isIdentifier(ch) {
+    const cc = ch.charCodeAt(0);
+    return cc >= 97 && cc <= 122 || // a-z
+    cc >= 65 && cc <= 90 || // A-Z
+    cc >= 48 && cc <= 57 || // 0-9
+    cc === 95 || // _
+    cc === 36;
+  }
+  function takeIdentifierChar(scnr) {
+    return takeChar(scnr, isIdentifier);
+  }
+  function isNamedIdentifier(ch) {
+    const cc = ch.charCodeAt(0);
+    return cc >= 97 && cc <= 122 || // a-z
+    cc >= 65 && cc <= 90 || // A-Z
+    cc >= 48 && cc <= 57 || // 0-9
+    cc === 95 || // _
+    cc === 36 || // $
+    cc === 45;
+  }
+  function takeNamedIdentifierChar(scnr) {
+    return takeChar(scnr, isNamedIdentifier);
+  }
+  function isDigit(ch) {
+    const cc = ch.charCodeAt(0);
+    return cc >= 48 && cc <= 57;
+  }
+  function takeDigit(scnr) {
+    return takeChar(scnr, isDigit);
+  }
+  function isHexDigit(ch) {
+    const cc = ch.charCodeAt(0);
+    return cc >= 48 && cc <= 57 || // 0-9
+    cc >= 65 && cc <= 70 || // A-F
+    cc >= 97 && cc <= 102;
+  }
+  function takeHexDigit(scnr) {
+    return takeChar(scnr, isHexDigit);
+  }
+  function getDigits(scnr) {
+    let ch = "";
+    let num = "";
+    while (ch = takeDigit(scnr)) {
+      num += ch;
+    }
+    return num;
+  }
+  function readModulo(scnr) {
+    skipSpaces(scnr);
+    const ch = scnr.currentChar();
+    if (ch !== "%") {
+      emitError2(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);
+    }
+    scnr.next();
+    return "%";
+  }
+  function readText(scnr) {
+    let buf = "";
+    while (true) {
+      const ch = scnr.currentChar();
+      if (ch === "{" || ch === "}" || ch === "@" || ch === "|" || !ch) {
+        break;
+      } else if (ch === "%") {
+        if (isTextStart(scnr)) {
+          buf += ch;
+          scnr.next();
+        } else {
+          break;
+        }
+      } else if (ch === CHAR_SP || ch === CHAR_LF) {
+        if (isTextStart(scnr)) {
+          buf += ch;
+          scnr.next();
+        } else if (isPluralStart(scnr)) {
+          break;
+        } else {
+          buf += ch;
+          scnr.next();
+        }
+      } else {
+        buf += ch;
+        scnr.next();
+      }
+    }
+    return buf;
+  }
+  function readNamedIdentifier(scnr) {
+    skipSpaces(scnr);
+    let ch = "";
+    let name = "";
+    while (ch = takeNamedIdentifierChar(scnr)) {
+      name += ch;
+    }
+    if (scnr.currentChar() === EOF) {
+      emitError2(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+    }
+    return name;
+  }
+  function readListIdentifier(scnr) {
+    skipSpaces(scnr);
+    let value = "";
+    if (scnr.currentChar() === "-") {
+      scnr.next();
+      value += `-${getDigits(scnr)}`;
+    } else {
+      value += getDigits(scnr);
+    }
+    if (scnr.currentChar() === EOF) {
+      emitError2(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+    }
+    return value;
+  }
+  function isLiteral2(ch) {
+    return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;
+  }
+  function readLiteral(scnr) {
+    skipSpaces(scnr);
+    eat(scnr, `'`);
+    let ch = "";
+    let literal = "";
+    while (ch = takeChar(scnr, isLiteral2)) {
+      if (ch === "\\") {
+        literal += readEscapeSequence(scnr);
+      } else {
+        literal += ch;
+      }
+    }
+    const current = scnr.currentChar();
+    if (current === CHAR_LF || current === EOF) {
+      emitError2(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);
+      if (current === CHAR_LF) {
+        scnr.next();
+        eat(scnr, `'`);
+      }
+      return literal;
+    }
+    eat(scnr, `'`);
+    return literal;
+  }
+  function readEscapeSequence(scnr) {
+    const ch = scnr.currentChar();
+    switch (ch) {
+      case "\\":
+      case `'`:
+        scnr.next();
+        return `\\${ch}`;
+      case "u":
+        return readUnicodeEscapeSequence(scnr, ch, 4);
+      case "U":
+        return readUnicodeEscapeSequence(scnr, ch, 6);
+      default:
+        emitError2(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);
+        return "";
+    }
+  }
+  function readUnicodeEscapeSequence(scnr, unicode, digits) {
+    eat(scnr, unicode);
+    let sequence = "";
+    for (let i = 0; i < digits; i++) {
+      const ch = takeHexDigit(scnr);
+      if (!ch) {
+        emitError2(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`);
+        break;
+      }
+      sequence += ch;
+    }
+    return `\\${unicode}${sequence}`;
+  }
+  function isInvalidIdentifier(ch) {
+    return ch !== "{" && ch !== "}" && ch !== CHAR_SP && ch !== CHAR_LF;
+  }
+  function readInvalidIdentifier(scnr) {
+    skipSpaces(scnr);
+    let ch = "";
+    let identifiers = "";
+    while (ch = takeChar(scnr, isInvalidIdentifier)) {
+      identifiers += ch;
+    }
+    return identifiers;
+  }
+  function readLinkedModifier(scnr) {
+    let ch = "";
+    let name = "";
+    while (ch = takeIdentifierChar(scnr)) {
+      name += ch;
+    }
+    return name;
+  }
+  function readLinkedRefer(scnr) {
+    const fn = (buf) => {
+      const ch = scnr.currentChar();
+      if (ch === "{" || ch === "%" || ch === "@" || ch === "|" || ch === "(" || ch === ")" || !ch) {
+        return buf;
+      } else if (ch === CHAR_SP) {
+        return buf;
+      } else if (ch === CHAR_LF || ch === DOT) {
+        buf += ch;
+        scnr.next();
+        return fn(buf);
+      } else {
+        buf += ch;
+        scnr.next();
+        return fn(buf);
+      }
+    };
+    return fn("");
+  }
+  function readPlural(scnr) {
+    skipSpaces(scnr);
+    const plural = eat(
+      scnr,
+      "|"
+      /* TokenChars.Pipe */
+    );
+    skipSpaces(scnr);
+    return plural;
+  }
+  function readTokenInPlaceholder(scnr, context2) {
+    let token = null;
+    const ch = scnr.currentChar();
+    switch (ch) {
+      case "{":
+        if (context2.braceNest >= 1) {
+          emitError2(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);
+        }
+        scnr.next();
+        token = getToken(
+          context2,
+          2,
+          "{"
+          /* TokenChars.BraceLeft */
+        );
+        skipSpaces(scnr);
+        context2.braceNest++;
+        return token;
+      case "}":
+        if (context2.braceNest > 0 && context2.currentType === 2) {
+          emitError2(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);
+        }
+        scnr.next();
+        token = getToken(
+          context2,
+          3,
+          "}"
+          /* TokenChars.BraceRight */
+        );
+        context2.braceNest--;
+        context2.braceNest > 0 && skipSpaces(scnr);
+        if (context2.inLinked && context2.braceNest === 0) {
+          context2.inLinked = false;
+        }
+        return token;
+      case "@":
+        if (context2.braceNest > 0) {
+          emitError2(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+        }
+        token = readTokenInLinked(scnr, context2) || getEndToken(context2);
+        context2.braceNest = 0;
+        return token;
+      default: {
+        let validNamedIdentifier = true;
+        let validListIdentifier = true;
+        let validLiteral = true;
+        if (isPluralStart(scnr)) {
+          if (context2.braceNest > 0) {
+            emitError2(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+          }
+          token = getToken(context2, 1, readPlural(scnr));
+          context2.braceNest = 0;
+          context2.inLinked = false;
+          return token;
+        }
+        if (context2.braceNest > 0 && (context2.currentType === 5 || context2.currentType === 6 || context2.currentType === 7)) {
+          emitError2(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);
+          context2.braceNest = 0;
+          return readToken(scnr, context2);
+        }
+        if (validNamedIdentifier = isNamedIdentifierStart(scnr, context2)) {
+          token = getToken(context2, 5, readNamedIdentifier(scnr));
+          skipSpaces(scnr);
+          return token;
+        }
+        if (validListIdentifier = isListIdentifierStart(scnr, context2)) {
+          token = getToken(context2, 6, readListIdentifier(scnr));
+          skipSpaces(scnr);
+          return token;
+        }
+        if (validLiteral = isLiteralStart(scnr, context2)) {
+          token = getToken(context2, 7, readLiteral(scnr));
+          skipSpaces(scnr);
+          return token;
+        }
+        if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
+          token = getToken(context2, 13, readInvalidIdentifier(scnr));
+          emitError2(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);
+          skipSpaces(scnr);
+          return token;
+        }
+        break;
+      }
+    }
+    return token;
+  }
+  function readTokenInLinked(scnr, context2) {
+    const { currentType } = context2;
+    let token = null;
+    const ch = scnr.currentChar();
+    if ((currentType === 8 || currentType === 9 || currentType === 12 || currentType === 10) && (ch === CHAR_LF || ch === CHAR_SP)) {
+      emitError2(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
+    }
+    switch (ch) {
+      case "@":
+        scnr.next();
+        token = getToken(
+          context2,
+          8,
+          "@"
+          /* TokenChars.LinkedAlias */
+        );
+        context2.inLinked = true;
+        return token;
+      case ".":
+        skipSpaces(scnr);
+        scnr.next();
+        return getToken(
+          context2,
+          9,
+          "."
+          /* TokenChars.LinkedDot */
+        );
+      case ":":
+        skipSpaces(scnr);
+        scnr.next();
+        return getToken(
+          context2,
+          10,
+          ":"
+          /* TokenChars.LinkedDelimiter */
+        );
+      default:
+        if (isPluralStart(scnr)) {
+          token = getToken(context2, 1, readPlural(scnr));
+          context2.braceNest = 0;
+          context2.inLinked = false;
+          return token;
+        }
+        if (isLinkedDotStart(scnr, context2) || isLinkedDelimiterStart(scnr, context2)) {
+          skipSpaces(scnr);
+          return readTokenInLinked(scnr, context2);
+        }
+        if (isLinkedModifierStart(scnr, context2)) {
+          skipSpaces(scnr);
+          return getToken(context2, 12, readLinkedModifier(scnr));
+        }
+        if (isLinkedReferStart(scnr, context2)) {
+          skipSpaces(scnr);
+          if (ch === "{") {
+            return readTokenInPlaceholder(scnr, context2) || token;
+          } else {
+            return getToken(context2, 11, readLinkedRefer(scnr));
+          }
+        }
+        if (currentType === 8) {
+          emitError2(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);
+        }
+        context2.braceNest = 0;
+        context2.inLinked = false;
+        return readToken(scnr, context2);
+    }
+  }
+  function readToken(scnr, context2) {
+    let token = {
+      type: 14
+      /* TokenTypes.EOF */
+    };
+    if (context2.braceNest > 0) {
+      return readTokenInPlaceholder(scnr, context2) || getEndToken(context2);
+    }
+    if (context2.inLinked) {
+      return readTokenInLinked(scnr, context2) || getEndToken(context2);
+    }
+    const ch = scnr.currentChar();
+    switch (ch) {
+      case "{":
+        return readTokenInPlaceholder(scnr, context2) || getEndToken(context2);
+      case "}":
+        emitError2(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);
+        scnr.next();
+        return getToken(
+          context2,
+          3,
+          "}"
+          /* TokenChars.BraceRight */
+        );
+      case "@":
+        return readTokenInLinked(scnr, context2) || getEndToken(context2);
+      default: {
+        if (isPluralStart(scnr)) {
+          token = getToken(context2, 1, readPlural(scnr));
+          context2.braceNest = 0;
+          context2.inLinked = false;
+          return token;
+        }
+        const { isModulo, hasSpace } = detectModuloStart(scnr);
+        if (isModulo) {
+          return hasSpace ? getToken(context2, 0, readText(scnr)) : getToken(context2, 4, readModulo(scnr));
+        }
+        if (isTextStart(scnr)) {
+          return getToken(context2, 0, readText(scnr));
+        }
+        break;
+      }
+    }
+    return token;
+  }
+  function nextToken() {
+    const { currentType, offset, startLoc, endLoc } = _context;
+    _context.lastType = currentType;
+    _context.lastOffset = offset;
+    _context.lastStartLoc = startLoc;
+    _context.lastEndLoc = endLoc;
+    _context.offset = currentOffset();
+    _context.startLoc = currentPosition();
+    if (_scnr.currentChar() === EOF) {
+      return getToken(
+        _context,
+        14
+        /* TokenTypes.EOF */
+      );
+    }
+    return readToken(_scnr, _context);
+  }
+  return {
+    nextToken,
+    currentOffset,
+    currentPosition,
+    context
+  };
+}
+const ERROR_DOMAIN$2 = "parser";
+const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;
+function fromEscapeSequence(match, codePoint4, codePoint6) {
+  switch (match) {
+    case `\\\\`:
+      return `\\`;
+    case `\\'`:
+      return `'`;
+    default: {
+      const codePoint = parseInt(codePoint4 || codePoint6, 16);
+      if (codePoint <= 55295 || codePoint >= 57344) {
+        return String.fromCodePoint(codePoint);
+      }
+      return "�";
+    }
+  }
+}
+function createParser(options = {}) {
+  const location2 = options.location !== false;
+  const { onError, onWarn } = options;
+  function emitError2(tokenzer, code2, start, offset, ...args) {
+    const end = tokenzer.currentPosition();
+    end.offset += offset;
+    end.column += offset;
+    if (onError) {
+      const loc = location2 ? createLocation(start, end) : null;
+      const err = createCompileError(code2, loc, {
+        domain: ERROR_DOMAIN$2,
+        args
+      });
+      onError(err);
+    }
+  }
+  function emitWarn(tokenzer, code2, start, offset, ...args) {
+    const end = tokenzer.currentPosition();
+    end.offset += offset;
+    end.column += offset;
+    if (onWarn) {
+      const loc = location2 ? createLocation(start, end) : null;
+      onWarn(createCompileWarn(code2, loc, args));
+    }
+  }
+  function startNode(type, offset, loc) {
+    const node = { type };
+    if (location2) {
+      node.start = offset;
+      node.end = offset;
+      node.loc = { start: loc, end: loc };
+    }
+    return node;
+  }
+  function endNode(node, offset, pos, type) {
+    if (type) {
+      node.type = type;
+    }
+    if (location2) {
+      node.end = offset;
+      if (node.loc) {
+        node.loc.end = pos;
+      }
+    }
+  }
+  function parseText(tokenizer2, value) {
+    const context = tokenizer2.context();
+    const node = startNode(3, context.offset, context.startLoc);
+    node.value = value;
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  function parseList(tokenizer2, index) {
+    const context = tokenizer2.context();
+    const { lastOffset: offset, lastStartLoc: loc } = context;
+    const node = startNode(5, offset, loc);
+    node.index = parseInt(index, 10);
+    tokenizer2.nextToken();
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  function parseNamed(tokenizer2, key, modulo) {
+    const context = tokenizer2.context();
+    const { lastOffset: offset, lastStartLoc: loc } = context;
+    const node = startNode(4, offset, loc);
+    node.key = key;
+    if (modulo === true) {
+      node.modulo = true;
+    }
+    tokenizer2.nextToken();
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  function parseLiteral(tokenizer2, value) {
+    const context = tokenizer2.context();
+    const { lastOffset: offset, lastStartLoc: loc } = context;
+    const node = startNode(9, offset, loc);
+    node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);
+    tokenizer2.nextToken();
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  function parseLinkedModifier(tokenizer2) {
+    const token = tokenizer2.nextToken();
+    const context = tokenizer2.context();
+    const { lastOffset: offset, lastStartLoc: loc } = context;
+    const node = startNode(8, offset, loc);
+    if (token.type !== 12) {
+      emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);
+      node.value = "";
+      endNode(node, offset, loc);
+      return {
+        nextConsumeToken: token,
+        node
+      };
+    }
+    if (token.value == null) {
+      emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+    }
+    node.value = token.value || "";
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return {
+      node
+    };
+  }
+  function parseLinkedKey(tokenizer2, value) {
+    const context = tokenizer2.context();
+    const node = startNode(7, context.offset, context.startLoc);
+    node.value = value;
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  function parseLinked(tokenizer2) {
+    const context = tokenizer2.context();
+    const linkedNode = startNode(6, context.offset, context.startLoc);
+    let token = tokenizer2.nextToken();
+    if (token.type === 9) {
+      const parsed = parseLinkedModifier(tokenizer2);
+      linkedNode.modifier = parsed.node;
+      token = parsed.nextConsumeToken || tokenizer2.nextToken();
+    }
+    if (token.type !== 10) {
+      emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+    }
+    token = tokenizer2.nextToken();
+    if (token.type === 2) {
+      token = tokenizer2.nextToken();
+    }
+    switch (token.type) {
+      case 11:
+        if (token.value == null) {
+          emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+        }
+        linkedNode.key = parseLinkedKey(tokenizer2, token.value || "");
+        break;
+      case 5:
+        if (token.value == null) {
+          emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+        }
+        linkedNode.key = parseNamed(tokenizer2, token.value || "");
+        break;
+      case 6:
+        if (token.value == null) {
+          emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+        }
+        linkedNode.key = parseList(tokenizer2, token.value || "");
+        break;
+      case 7:
+        if (token.value == null) {
+          emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+        }
+        linkedNode.key = parseLiteral(tokenizer2, token.value || "");
+        break;
+      default: {
+        emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);
+        const nextContext = tokenizer2.context();
+        const emptyLinkedKeyNode = startNode(7, nextContext.offset, nextContext.startLoc);
+        emptyLinkedKeyNode.value = "";
+        endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);
+        linkedNode.key = emptyLinkedKeyNode;
+        endNode(linkedNode, nextContext.offset, nextContext.startLoc);
+        return {
+          nextConsumeToken: token,
+          node: linkedNode
+        };
+      }
+    }
+    endNode(linkedNode, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return {
+      node: linkedNode
+    };
+  }
+  function parseMessage(tokenizer2) {
+    const context = tokenizer2.context();
+    const startOffset = context.currentType === 1 ? tokenizer2.currentOffset() : context.offset;
+    const startLoc = context.currentType === 1 ? context.endLoc : context.startLoc;
+    const node = startNode(2, startOffset, startLoc);
+    node.items = [];
+    let nextToken = null;
+    let modulo = null;
+    do {
+      const token = nextToken || tokenizer2.nextToken();
+      nextToken = null;
+      switch (token.type) {
+        case 0:
+          if (token.value == null) {
+            emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          node.items.push(parseText(tokenizer2, token.value || ""));
+          break;
+        case 6:
+          if (token.value == null) {
+            emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          node.items.push(parseList(tokenizer2, token.value || ""));
+          break;
+        case 4:
+          modulo = true;
+          break;
+        case 5:
+          if (token.value == null) {
+            emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          node.items.push(parseNamed(tokenizer2, token.value || "", !!modulo));
+          if (modulo) {
+            emitWarn(tokenizer2, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));
+            modulo = null;
+          }
+          break;
+        case 7:
+          if (token.value == null) {
+            emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));
+          }
+          node.items.push(parseLiteral(tokenizer2, token.value || ""));
+          break;
+        case 8: {
+          const parsed = parseLinked(tokenizer2);
+          node.items.push(parsed.node);
+          nextToken = parsed.nextConsumeToken || null;
+          break;
+        }
+      }
+    } while (context.currentType !== 14 && context.currentType !== 1);
+    const endOffset = context.currentType === 1 ? context.lastOffset : tokenizer2.currentOffset();
+    const endLoc = context.currentType === 1 ? context.lastEndLoc : tokenizer2.currentPosition();
+    endNode(node, endOffset, endLoc);
+    return node;
+  }
+  function parsePlural(tokenizer2, offset, loc, msgNode) {
+    const context = tokenizer2.context();
+    let hasEmptyMessage = msgNode.items.length === 0;
+    const node = startNode(1, offset, loc);
+    node.cases = [];
+    node.cases.push(msgNode);
+    do {
+      const msg = parseMessage(tokenizer2);
+      if (!hasEmptyMessage) {
+        hasEmptyMessage = msg.items.length === 0;
+      }
+      node.cases.push(msg);
+    } while (context.currentType !== 14);
+    if (hasEmptyMessage) {
+      emitError2(tokenizer2, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);
+    }
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  function parseResource(tokenizer2) {
+    const context = tokenizer2.context();
+    const { offset, startLoc } = context;
+    const msgNode = parseMessage(tokenizer2);
+    if (context.currentType === 14) {
+      return msgNode;
+    } else {
+      return parsePlural(tokenizer2, offset, startLoc, msgNode);
+    }
+  }
+  function parse2(source) {
+    const tokenizer2 = createTokenizer(source, assign({}, options));
+    const context = tokenizer2.context();
+    const node = startNode(0, context.offset, context.startLoc);
+    if (location2 && node.loc) {
+      node.loc.source = source;
+    }
+    node.body = parseResource(tokenizer2);
+    if (options.onCacheKey) {
+      node.cacheKey = options.onCacheKey(source);
+    }
+    if (context.currentType !== 14) {
+      emitError2(tokenizer2, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || "");
+    }
+    endNode(node, tokenizer2.currentOffset(), tokenizer2.currentPosition());
+    return node;
+  }
+  return { parse: parse2 };
+}
+function getTokenCaption(token) {
+  if (token.type === 14) {
+    return "EOF";
+  }
+  const name = (token.value || "").replace(/\r?\n/gu, "\\n");
+  return name.length > 10 ? name.slice(0, 9) + "…" : name;
+}
+function createTransformer(ast, options = {}) {
+  const _context = {
+    ast,
+    helpers: /* @__PURE__ */ new Set()
+  };
+  const context = () => _context;
+  const helper = (name) => {
+    _context.helpers.add(name);
+    return name;
+  };
+  return { context, helper };
+}
+function traverseNodes(nodes, transformer) {
+  for (let i = 0; i < nodes.length; i++) {
+    traverseNode(nodes[i], transformer);
+  }
+}
+function traverseNode(node, transformer) {
+  switch (node.type) {
+    case 1:
+      traverseNodes(node.cases, transformer);
+      transformer.helper(
+        "plural"
+        /* HelperNameMap.PLURAL */
+      );
+      break;
+    case 2:
+      traverseNodes(node.items, transformer);
+      break;
+    case 6: {
+      const linked = node;
+      traverseNode(linked.key, transformer);
+      transformer.helper(
+        "linked"
+        /* HelperNameMap.LINKED */
+      );
+      transformer.helper(
+        "type"
+        /* HelperNameMap.TYPE */
+      );
+      break;
+    }
+    case 5:
+      transformer.helper(
+        "interpolate"
+        /* HelperNameMap.INTERPOLATE */
+      );
+      transformer.helper(
+        "list"
+        /* HelperNameMap.LIST */
+      );
+      break;
+    case 4:
+      transformer.helper(
+        "interpolate"
+        /* HelperNameMap.INTERPOLATE */
+      );
+      transformer.helper(
+        "named"
+        /* HelperNameMap.NAMED */
+      );
+      break;
+  }
+}
+function transform(ast, options = {}) {
+  const transformer = createTransformer(ast);
+  transformer.helper(
+    "normalize"
+    /* HelperNameMap.NORMALIZE */
+  );
+  ast.body && traverseNode(ast.body, transformer);
+  const context = transformer.context();
+  ast.helpers = Array.from(context.helpers);
+}
+function optimize(ast) {
+  const body = ast.body;
+  if (body.type === 2) {
+    optimizeMessageNode(body);
+  } else {
+    body.cases.forEach((c) => optimizeMessageNode(c));
+  }
+  return ast;
+}
+function optimizeMessageNode(message) {
+  if (message.items.length === 1) {
+    const item = message.items[0];
+    if (item.type === 3 || item.type === 9) {
+      message.static = item.value;
+      delete item.value;
+    }
+  } else {
+    const values = [];
+    for (let i = 0; i < message.items.length; i++) {
+      const item = message.items[i];
+      if (!(item.type === 3 || item.type === 9)) {
+        break;
+      }
+      if (item.value == null) {
+        break;
+      }
+      values.push(item.value);
+    }
+    if (values.length === message.items.length) {
+      message.static = join(values);
+      for (let i = 0; i < message.items.length; i++) {
+        const item = message.items[i];
+        if (item.type === 3 || item.type === 9) {
+          delete item.value;
+        }
+      }
+    }
+  }
+}
+const ERROR_DOMAIN$1 = "minifier";
+function minify(node) {
+  node.t = node.type;
+  switch (node.type) {
+    case 0: {
+      const resource = node;
+      minify(resource.body);
+      resource.b = resource.body;
+      delete resource.body;
+      break;
+    }
+    case 1: {
+      const plural = node;
+      const cases = plural.cases;
+      for (let i = 0; i < cases.length; i++) {
+        minify(cases[i]);
+      }
+      plural.c = cases;
+      delete plural.cases;
+      break;
+    }
+    case 2: {
+      const message = node;
+      const items = message.items;
+      for (let i = 0; i < items.length; i++) {
+        minify(items[i]);
+      }
+      message.i = items;
+      delete message.items;
+      if (message.static) {
+        message.s = message.static;
+        delete message.static;
+      }
+      break;
+    }
+    case 3:
+    case 9:
+    case 8:
+    case 7: {
+      const valueNode = node;
+      if (valueNode.value) {
+        valueNode.v = valueNode.value;
+        delete valueNode.value;
+      }
+      break;
+    }
+    case 6: {
+      const linked = node;
+      minify(linked.key);
+      linked.k = linked.key;
+      delete linked.key;
+      if (linked.modifier) {
+        minify(linked.modifier);
+        linked.m = linked.modifier;
+        delete linked.modifier;
+      }
+      break;
+    }
+    case 5: {
+      const list = node;
+      list.i = list.index;
+      delete list.index;
+      break;
+    }
+    case 4: {
+      const named = node;
+      named.k = named.key;
+      delete named.key;
+      break;
+    }
+    default: {
+      throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {
+        domain: ERROR_DOMAIN$1,
+        args: [node.type]
+      });
+    }
+  }
+  delete node.type;
+}
+const ERROR_DOMAIN = "parser";
+function createCodeGenerator(ast, options) {
+  const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;
+  const location2 = options.location !== false;
+  const _context = {
+    filename,
+    code: "",
+    column: 1,
+    line: 1,
+    offset: 0,
+    map: void 0,
+    breakLineCode,
+    needIndent: _needIndent,
+    indentLevel: 0
+  };
+  if (location2 && ast.loc) {
+    _context.source = ast.loc.source;
+  }
+  const context = () => _context;
+  function push(code2, node) {
+    _context.code += code2;
+  }
+  function _newline(n, withBreakLine = true) {
+    const _breakLineCode = withBreakLine ? breakLineCode : "";
+    push(_needIndent ? _breakLineCode + `  `.repeat(n) : _breakLineCode);
+  }
+  function indent(withNewLine = true) {
+    const level = ++_context.indentLevel;
+    withNewLine && _newline(level);
+  }
+  function deindent(withNewLine = true) {
+    const level = --_context.indentLevel;
+    withNewLine && _newline(level);
+  }
+  function newline() {
+    _newline(_context.indentLevel);
+  }
+  const helper = (key) => `_${key}`;
+  const needIndent = () => _context.needIndent;
+  return {
+    context,
+    push,
+    indent,
+    deindent,
+    newline,
+    helper,
+    needIndent
+  };
+}
+function generateLinkedNode(generator, node) {
+  const { helper } = generator;
+  generator.push(`${helper(
+    "linked"
+    /* HelperNameMap.LINKED */
+  )}(`);
+  generateNode(generator, node.key);
+  if (node.modifier) {
+    generator.push(`, `);
+    generateNode(generator, node.modifier);
+    generator.push(`, _type`);
+  } else {
+    generator.push(`, undefined, _type`);
+  }
+  generator.push(`)`);
+}
+function generateMessageNode(generator, node) {
+  const { helper, needIndent } = generator;
+  generator.push(`${helper(
+    "normalize"
+    /* HelperNameMap.NORMALIZE */
+  )}([`);
+  generator.indent(needIndent());
+  const length = node.items.length;
+  for (let i = 0; i < length; i++) {
+    generateNode(generator, node.items[i]);
+    if (i === length - 1) {
+      break;
+    }
+    generator.push(", ");
+  }
+  generator.deindent(needIndent());
+  generator.push("])");
+}
+function generatePluralNode(generator, node) {
+  const { helper, needIndent } = generator;
+  if (node.cases.length > 1) {
+    generator.push(`${helper(
+      "plural"
+      /* HelperNameMap.PLURAL */
+    )}([`);
+    generator.indent(needIndent());
+    const length = node.cases.length;
+    for (let i = 0; i < length; i++) {
+      generateNode(generator, node.cases[i]);
+      if (i === length - 1) {
+        break;
+      }
+      generator.push(", ");
+    }
+    generator.deindent(needIndent());
+    generator.push(`])`);
+  }
+}
+function generateResource(generator, node) {
+  if (node.body) {
+    generateNode(generator, node.body);
+  } else {
+    generator.push("null");
+  }
+}
+function generateNode(generator, node) {
+  const { helper } = generator;
+  switch (node.type) {
+    case 0:
+      generateResource(generator, node);
+      break;
+    case 1:
+      generatePluralNode(generator, node);
+      break;
+    case 2:
+      generateMessageNode(generator, node);
+      break;
+    case 6:
+      generateLinkedNode(generator, node);
+      break;
+    case 8:
+      generator.push(JSON.stringify(node.value), node);
+      break;
+    case 7:
+      generator.push(JSON.stringify(node.value), node);
+      break;
+    case 5:
+      generator.push(`${helper(
+        "interpolate"
+        /* HelperNameMap.INTERPOLATE */
+      )}(${helper(
+        "list"
+        /* HelperNameMap.LIST */
+      )}(${node.index}))`, node);
+      break;
+    case 4:
+      generator.push(`${helper(
+        "interpolate"
+        /* HelperNameMap.INTERPOLATE */
+      )}(${helper(
+        "named"
+        /* HelperNameMap.NAMED */
+      )}(${JSON.stringify(node.key)}))`, node);
+      break;
+    case 9:
+      generator.push(JSON.stringify(node.value), node);
+      break;
+    case 3:
+      generator.push(JSON.stringify(node.value), node);
+      break;
+    default: {
+      throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {
+        domain: ERROR_DOMAIN,
+        args: [node.type]
+      });
+    }
+  }
+}
+const generate = (ast, options = {}) => {
+  const mode = isString(options.mode) ? options.mode : "normal";
+  const filename = isString(options.filename) ? options.filename : "message.intl";
+  const sourceMap = !!options.sourceMap;
+  const breakLineCode = options.breakLineCode != null ? options.breakLineCode : mode === "arrow" ? ";" : "\n";
+  const needIndent = options.needIndent ? options.needIndent : mode !== "arrow";
+  const helpers = ast.helpers || [];
+  const generator = createCodeGenerator(ast, {
+    mode,
+    filename,
+    sourceMap,
+    breakLineCode,
+    needIndent
+  });
+  generator.push(mode === "normal" ? `function __msg__ (ctx) {` : `(ctx) => {`);
+  generator.indent(needIndent);
+  if (helpers.length > 0) {
+    generator.push(`const { ${join(helpers.map((s) => `${s}: _${s}`), ", ")} } = ctx`);
+    generator.newline();
+  }
+  generator.push(`return `);
+  generateNode(generator, ast);
+  generator.deindent(needIndent);
+  generator.push(`}`);
+  delete ast.helpers;
+  const { code: code2, map } = generator.context();
+  return {
+    ast,
+    code: code2,
+    map: map ? map.toJSON() : void 0
+    // eslint-disable-line @typescript-eslint/no-explicit-any
+  };
+};
+function baseCompile$1(source, options = {}) {
+  const assignedOptions = assign({}, options);
+  const jit = !!assignedOptions.jit;
+  const enalbeMinify = !!assignedOptions.minify;
+  const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;
+  const parser = createParser(assignedOptions);
+  const ast = parser.parse(source);
+  if (!jit) {
+    transform(ast, assignedOptions);
+    return generate(ast, assignedOptions);
+  } else {
+    enambeOptimize && optimize(ast);
+    enalbeMinify && minify(ast);
+    return { ast, code: "" };
+  }
+}
+/*!
+  * core-base v9.13.1
+  * (c) 2024 kazuya kawaguchi
+  * Released under the MIT License.
+  */
+function initFeatureFlags$1() {
+  if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") {
+    getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
+  }
+  if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") {
+    getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;
+  }
+  if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") {
+    getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;
+  }
+}
+const pathStateMachine = [];
+pathStateMachine[
+  0
+  /* States.BEFORE_PATH */
+] = {
+  [
+    "w"
+    /* PathCharTypes.WORKSPACE */
+  ]: [
+    0
+    /* States.BEFORE_PATH */
+  ],
+  [
+    "i"
+    /* PathCharTypes.IDENT */
+  ]: [
+    3,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "["
+    /* PathCharTypes.LEFT_BRACKET */
+  ]: [
+    4
+    /* States.IN_SUB_PATH */
+  ],
+  [
+    "o"
+    /* PathCharTypes.END_OF_FAIL */
+  ]: [
+    7
+    /* States.AFTER_PATH */
+  ]
+};
+pathStateMachine[
+  1
+  /* States.IN_PATH */
+] = {
+  [
+    "w"
+    /* PathCharTypes.WORKSPACE */
+  ]: [
+    1
+    /* States.IN_PATH */
+  ],
+  [
+    "."
+    /* PathCharTypes.DOT */
+  ]: [
+    2
+    /* States.BEFORE_IDENT */
+  ],
+  [
+    "["
+    /* PathCharTypes.LEFT_BRACKET */
+  ]: [
+    4
+    /* States.IN_SUB_PATH */
+  ],
+  [
+    "o"
+    /* PathCharTypes.END_OF_FAIL */
+  ]: [
+    7
+    /* States.AFTER_PATH */
+  ]
+};
+pathStateMachine[
+  2
+  /* States.BEFORE_IDENT */
+] = {
+  [
+    "w"
+    /* PathCharTypes.WORKSPACE */
+  ]: [
+    2
+    /* States.BEFORE_IDENT */
+  ],
+  [
+    "i"
+    /* PathCharTypes.IDENT */
+  ]: [
+    3,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "0"
+    /* PathCharTypes.ZERO */
+  ]: [
+    3,
+    0
+    /* Actions.APPEND */
+  ]
+};
+pathStateMachine[
+  3
+  /* States.IN_IDENT */
+] = {
+  [
+    "i"
+    /* PathCharTypes.IDENT */
+  ]: [
+    3,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "0"
+    /* PathCharTypes.ZERO */
+  ]: [
+    3,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "w"
+    /* PathCharTypes.WORKSPACE */
+  ]: [
+    1,
+    1
+    /* Actions.PUSH */
+  ],
+  [
+    "."
+    /* PathCharTypes.DOT */
+  ]: [
+    2,
+    1
+    /* Actions.PUSH */
+  ],
+  [
+    "["
+    /* PathCharTypes.LEFT_BRACKET */
+  ]: [
+    4,
+    1
+    /* Actions.PUSH */
+  ],
+  [
+    "o"
+    /* PathCharTypes.END_OF_FAIL */
+  ]: [
+    7,
+    1
+    /* Actions.PUSH */
+  ]
+};
+pathStateMachine[
+  4
+  /* States.IN_SUB_PATH */
+] = {
+  [
+    "'"
+    /* PathCharTypes.SINGLE_QUOTE */
+  ]: [
+    5,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    '"'
+    /* PathCharTypes.DOUBLE_QUOTE */
+  ]: [
+    6,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "["
+    /* PathCharTypes.LEFT_BRACKET */
+  ]: [
+    4,
+    2
+    /* Actions.INC_SUB_PATH_DEPTH */
+  ],
+  [
+    "]"
+    /* PathCharTypes.RIGHT_BRACKET */
+  ]: [
+    1,
+    3
+    /* Actions.PUSH_SUB_PATH */
+  ],
+  [
+    "o"
+    /* PathCharTypes.END_OF_FAIL */
+  ]: 8,
+  [
+    "l"
+    /* PathCharTypes.ELSE */
+  ]: [
+    4,
+    0
+    /* Actions.APPEND */
+  ]
+};
+pathStateMachine[
+  5
+  /* States.IN_SINGLE_QUOTE */
+] = {
+  [
+    "'"
+    /* PathCharTypes.SINGLE_QUOTE */
+  ]: [
+    4,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "o"
+    /* PathCharTypes.END_OF_FAIL */
+  ]: 8,
+  [
+    "l"
+    /* PathCharTypes.ELSE */
+  ]: [
+    5,
+    0
+    /* Actions.APPEND */
+  ]
+};
+pathStateMachine[
+  6
+  /* States.IN_DOUBLE_QUOTE */
+] = {
+  [
+    '"'
+    /* PathCharTypes.DOUBLE_QUOTE */
+  ]: [
+    4,
+    0
+    /* Actions.APPEND */
+  ],
+  [
+    "o"
+    /* PathCharTypes.END_OF_FAIL */
+  ]: 8,
+  [
+    "l"
+    /* PathCharTypes.ELSE */
+  ]: [
+    6,
+    0
+    /* Actions.APPEND */
+  ]
+};
+const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;
+function isLiteral(exp) {
+  return literalValueRE.test(exp);
+}
+function stripQuotes(str) {
+  const a = str.charCodeAt(0);
+  const b = str.charCodeAt(str.length - 1);
+  return a === b && (a === 34 || a === 39) ? str.slice(1, -1) : str;
+}
+function getPathCharType(ch) {
+  if (ch === void 0 || ch === null) {
+    return "o";
+  }
+  const code2 = ch.charCodeAt(0);
+  switch (code2) {
+    case 91:
+    case 93:
+    case 46:
+    case 34:
+    case 39:
+      return ch;
+    case 95:
+    case 36:
+    case 45:
+      return "i";
+    case 9:
+    case 10:
+    case 13:
+    case 160:
+    case 65279:
+    case 8232:
+    case 8233:
+      return "w";
+  }
+  return "i";
+}
+function formatSubPath(path) {
+  const trimmed = path.trim();
+  if (path.charAt(0) === "0" && isNaN(parseInt(path))) {
+    return false;
+  }
+  return isLiteral(trimmed) ? stripQuotes(trimmed) : "*" + trimmed;
+}
+function parse(path) {
+  const keys = [];
+  let index = -1;
+  let mode = 0;
+  let subPathDepth = 0;
+  let c;
+  let key;
+  let newChar;
+  let type;
+  let transition;
+  let action;
+  let typeMap;
+  const actions = [];
+  actions[
+    0
+    /* Actions.APPEND */
+  ] = () => {
+    if (key === void 0) {
+      key = newChar;
+    } else {
+      key += newChar;
+    }
+  };
+  actions[
+    1
+    /* Actions.PUSH */
+  ] = () => {
+    if (key !== void 0) {
+      keys.push(key);
+      key = void 0;
+    }
+  };
+  actions[
+    2
+    /* Actions.INC_SUB_PATH_DEPTH */
+  ] = () => {
+    actions[
+      0
+      /* Actions.APPEND */
+    ]();
+    subPathDepth++;
+  };
+  actions[
+    3
+    /* Actions.PUSH_SUB_PATH */
+  ] = () => {
+    if (subPathDepth > 0) {
+      subPathDepth--;
+      mode = 4;
+      actions[
+        0
+        /* Actions.APPEND */
+      ]();
+    } else {
+      subPathDepth = 0;
+      if (key === void 0) {
+        return false;
+      }
+      key = formatSubPath(key);
+      if (key === false) {
+        return false;
+      } else {
+        actions[
+          1
+          /* Actions.PUSH */
+        ]();
+      }
+    }
+  };
+  function maybeUnescapeQuote() {
+    const nextChar = path[index + 1];
+    if (mode === 5 && nextChar === "'" || mode === 6 && nextChar === '"') {
+      index++;
+      newChar = "\\" + nextChar;
+      actions[
+        0
+        /* Actions.APPEND */
+      ]();
+      return true;
+    }
+  }
+  while (mode !== null) {
+    index++;
+    c = path[index];
+    if (c === "\\" && maybeUnescapeQuote()) {
+      continue;
+    }
+    type = getPathCharType(c);
+    typeMap = pathStateMachine[mode];
+    transition = typeMap[type] || typeMap[
+      "l"
+      /* PathCharTypes.ELSE */
+    ] || 8;
+    if (transition === 8) {
+      return;
+    }
+    mode = transition[0];
+    if (transition[1] !== void 0) {
+      action = actions[transition[1]];
+      if (action) {
+        newChar = c;
+        if (action() === false) {
+          return;
+        }
+      }
+    }
+    if (mode === 7) {
+      return keys;
+    }
+  }
+}
+const cache = /* @__PURE__ */ new Map();
+function resolveWithKeyValue(obj, path) {
+  return isObject$2(obj) ? obj[path] : null;
+}
+function resolveValue(obj, path) {
+  if (!isObject$2(obj)) {
+    return null;
+  }
+  let hit = cache.get(path);
+  if (!hit) {
+    hit = parse(path);
+    if (hit) {
+      cache.set(path, hit);
+    }
+  }
+  if (!hit) {
+    return null;
+  }
+  const len = hit.length;
+  let last = obj;
+  let i = 0;
+  while (i < len) {
+    const val = last[hit[i]];
+    if (val === void 0) {
+      return null;
+    }
+    if (isFunction(last)) {
+      return null;
+    }
+    last = val;
+    i++;
+  }
+  return last;
+}
+const DEFAULT_MODIFIER = (str) => str;
+const DEFAULT_MESSAGE = (ctx) => "";
+const DEFAULT_MESSAGE_DATA_TYPE = "text";
+const DEFAULT_NORMALIZE = (values) => values.length === 0 ? "" : join$1(values);
+const DEFAULT_INTERPOLATE = toDisplayString;
+function pluralDefault(choice, choicesLength) {
+  choice = Math.abs(choice);
+  if (choicesLength === 2) {
+    return choice ? choice > 1 ? 1 : 0 : 1;
+  }
+  return choice ? Math.min(choice, 2) : 0;
+}
+function getPluralIndex(options) {
+  const index = isNumber(options.pluralIndex) ? options.pluralIndex : -1;
+  return options.named && (isNumber(options.named.count) || isNumber(options.named.n)) ? isNumber(options.named.count) ? options.named.count : isNumber(options.named.n) ? options.named.n : index : index;
+}
+function normalizeNamed(pluralIndex, props) {
+  if (!props.count) {
+    props.count = pluralIndex;
+  }
+  if (!props.n) {
+    props.n = pluralIndex;
+  }
+}
+function createMessageContext(options = {}) {
+  const locale = options.locale;
+  const pluralIndex = getPluralIndex(options);
+  const pluralRule = isObject$2(options.pluralRules) && isString$1(locale) && isFunction(options.pluralRules[locale]) ? options.pluralRules[locale] : pluralDefault;
+  const orgPluralRule = isObject$2(options.pluralRules) && isString$1(locale) && isFunction(options.pluralRules[locale]) ? pluralDefault : void 0;
+  const plural = (messages) => {
+    return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];
+  };
+  const _list = options.list || [];
+  const list = (index) => _list[index];
+  const _named = options.named || {};
+  isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);
+  const named = (key) => _named[key];
+  function message(key) {
+    const msg = isFunction(options.messages) ? options.messages(key) : isObject$2(options.messages) ? options.messages[key] : false;
+    return !msg ? options.parent ? options.parent.message(key) : DEFAULT_MESSAGE : msg;
+  }
+  const _modifier = (name) => options.modifiers ? options.modifiers[name] : DEFAULT_MODIFIER;
+  const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize) ? options.processor.normalize : DEFAULT_NORMALIZE;
+  const interpolate = isPlainObject(options.processor) && isFunction(options.processor.interpolate) ? options.processor.interpolate : DEFAULT_INTERPOLATE;
+  const type = isPlainObject(options.processor) && isString$1(options.processor.type) ? options.processor.type : DEFAULT_MESSAGE_DATA_TYPE;
+  const linked = (key, ...args) => {
+    const [arg1, arg2] = args;
+    let type2 = "text";
+    let modifier = "";
+    if (args.length === 1) {
+      if (isObject$2(arg1)) {
+        modifier = arg1.modifier || modifier;
+        type2 = arg1.type || type2;
+      } else if (isString$1(arg1)) {
+        modifier = arg1 || modifier;
+      }
+    } else if (args.length === 2) {
+      if (isString$1(arg1)) {
+        modifier = arg1 || modifier;
+      }
+      if (isString$1(arg2)) {
+        type2 = arg2 || type2;
+      }
+    }
+    const ret = message(key)(ctx);
+    const msg = (
+      // The message in vnode resolved with linked are returned as an array by processor.nomalize
+      type2 === "vnode" && isArray(ret) && modifier ? ret[0] : ret
+    );
+    return modifier ? _modifier(modifier)(msg, type2) : msg;
+  };
+  const ctx = {
+    [
+      "list"
+      /* HelperNameMap.LIST */
+    ]: list,
+    [
+      "named"
+      /* HelperNameMap.NAMED */
+    ]: named,
+    [
+      "plural"
+      /* HelperNameMap.PLURAL */
+    ]: plural,
+    [
+      "linked"
+      /* HelperNameMap.LINKED */
+    ]: linked,
+    [
+      "message"
+      /* HelperNameMap.MESSAGE */
+    ]: message,
+    [
+      "type"
+      /* HelperNameMap.TYPE */
+    ]: type,
+    [
+      "interpolate"
+      /* HelperNameMap.INTERPOLATE */
+    ]: interpolate,
+    [
+      "normalize"
+      /* HelperNameMap.NORMALIZE */
+    ]: normalize,
+    [
+      "values"
+      /* HelperNameMap.VALUES */
+    ]: assign$1({}, _list, _named)
+  };
+  return ctx;
+}
+let devtools = null;
+function setDevToolsHook(hook) {
+  devtools = hook;
+}
+function initI18nDevTools(i18n, version2, meta) {
+  devtools && devtools.emit("i18n:init", {
+    timestamp: Date.now(),
+    i18n,
+    version: version2,
+    meta
+  });
+}
+const translateDevTools = /* @__PURE__ */ createDevToolsHook(
+  "function:translate"
+  /* IntlifyDevToolsHooks.FunctionTranslate */
+);
+function createDevToolsHook(hook) {
+  return (payloads) => devtools && devtools.emit(hook, payloads);
+}
+const code$1$1 = CompileWarnCodes.__EXTEND_POINT__;
+const inc$1$1 = incrementer(code$1$1);
+const CoreWarnCodes = {
+  NOT_FOUND_KEY: code$1$1,
+  // 2
+  FALLBACK_TO_TRANSLATE: inc$1$1(),
+  // 3
+  CANNOT_FORMAT_NUMBER: inc$1$1(),
+  // 4
+  FALLBACK_TO_NUMBER_FORMAT: inc$1$1(),
+  // 5
+  CANNOT_FORMAT_DATE: inc$1$1(),
+  // 6
+  FALLBACK_TO_DATE_FORMAT: inc$1$1(),
+  // 7
+  EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1$1(),
+  // 8
+  __EXTEND_POINT__: inc$1$1()
+  // 9
+};
+const code$2 = CompileErrorCodes.__EXTEND_POINT__;
+const inc$2 = incrementer(code$2);
+const CoreErrorCodes = {
+  INVALID_ARGUMENT: code$2,
+  // 17
+  INVALID_DATE_ARGUMENT: inc$2(),
+  // 18
+  INVALID_ISO_DATE_ARGUMENT: inc$2(),
+  // 19
+  NOT_SUPPORT_NON_STRING_MESSAGE: inc$2(),
+  // 20
+  NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc$2(),
+  // 21
+  NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc$2(),
+  // 22
+  NOT_SUPPORT_LOCALE_TYPE: inc$2(),
+  // 23
+  __EXTEND_POINT__: inc$2()
+  // 24
+};
+function createCoreError(code2) {
+  return createCompileError(code2, null, void 0);
+}
+function getLocale(context, options) {
+  return options.locale != null ? resolveLocale(options.locale) : resolveLocale(context.locale);
+}
+let _resolveLocale;
+function resolveLocale(locale) {
+  if (isString$1(locale)) {
+    return locale;
+  } else {
+    if (isFunction(locale)) {
+      if (locale.resolvedOnce && _resolveLocale != null) {
+        return _resolveLocale;
+      } else if (locale.constructor.name === "Function") {
+        const resolve2 = locale();
+        if (isPromise(resolve2)) {
+          throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);
+        }
+        return _resolveLocale = resolve2;
+      } else {
+        throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);
+      }
+    } else {
+      throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);
+    }
+  }
+}
+function fallbackWithSimple(ctx, fallback, start) {
+  return [.../* @__PURE__ */ new Set([
+    start,
+    ...isArray(fallback) ? fallback : isObject$2(fallback) ? Object.keys(fallback) : isString$1(fallback) ? [fallback] : [start]
+  ])];
+}
+function fallbackWithLocaleChain(ctx, fallback, start) {
+  const startLocale = isString$1(start) ? start : DEFAULT_LOCALE;
+  const context = ctx;
+  if (!context.__localeChainCache) {
+    context.__localeChainCache = /* @__PURE__ */ new Map();
+  }
+  let chain = context.__localeChainCache.get(startLocale);
+  if (!chain) {
+    chain = [];
+    let block = [start];
+    while (isArray(block)) {
+      block = appendBlockToChain(chain, block, fallback);
+    }
+    const defaults = isArray(fallback) || !isPlainObject(fallback) ? fallback : fallback["default"] ? fallback["default"] : null;
+    block = isString$1(defaults) ? [defaults] : defaults;
+    if (isArray(block)) {
+      appendBlockToChain(chain, block, false);
+    }
+    context.__localeChainCache.set(startLocale, chain);
+  }
+  return chain;
+}
+function appendBlockToChain(chain, block, blocks) {
+  let follow = true;
+  for (let i = 0; i < block.length && isBoolean(follow); i++) {
+    const locale = block[i];
+    if (isString$1(locale)) {
+      follow = appendLocaleToChain(chain, block[i], blocks);
+    }
+  }
+  return follow;
+}
+function appendLocaleToChain(chain, locale, blocks) {
+  let follow;
+  const tokens = locale.split("-");
+  do {
+    const target = tokens.join("-");
+    follow = appendItemToChain(chain, target, blocks);
+    tokens.splice(-1, 1);
+  } while (tokens.length && follow === true);
+  return follow;
+}
+function appendItemToChain(chain, target, blocks) {
+  let follow = false;
+  if (!chain.includes(target)) {
+    follow = true;
+    if (target) {
+      follow = target[target.length - 1] !== "!";
+      const locale = target.replace(/!/g, "");
+      chain.push(locale);
+      if ((isArray(blocks) || isPlainObject(blocks)) && blocks[locale]) {
+        follow = blocks[locale];
+      }
+    }
+  }
+  return follow;
+}
+const VERSION$1 = "9.13.1";
+const NOT_REOSLVED = -1;
+const DEFAULT_LOCALE = "en-US";
+const MISSING_RESOLVE_VALUE = "";
+const capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;
+function getDefaultLinkedModifiers() {
+  return {
+    upper: (val, type) => {
+      return type === "text" && isString$1(val) ? val.toUpperCase() : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? val.children.toUpperCase() : val;
+    },
+    lower: (val, type) => {
+      return type === "text" && isString$1(val) ? val.toLowerCase() : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? val.children.toLowerCase() : val;
+    },
+    capitalize: (val, type) => {
+      return type === "text" && isString$1(val) ? capitalize(val) : type === "vnode" && isObject$2(val) && "__v_isVNode" in val ? capitalize(val.children) : val;
+    }
+  };
+}
+let _compiler;
+function registerMessageCompiler(compiler) {
+  _compiler = compiler;
+}
+let _resolver;
+function registerMessageResolver(resolver) {
+  _resolver = resolver;
+}
+let _fallbacker;
+function registerLocaleFallbacker(fallbacker) {
+  _fallbacker = fallbacker;
+}
+let _additionalMeta = null;
+const setAdditionalMeta = /* @__NO_SIDE_EFFECTS__ */ (meta) => {
+  _additionalMeta = meta;
+};
+const getAdditionalMeta = /* @__NO_SIDE_EFFECTS__ */ () => _additionalMeta;
+let _fallbackContext = null;
+const setFallbackContext = (context) => {
+  _fallbackContext = context;
+};
+const getFallbackContext = () => _fallbackContext;
+let _cid = 0;
+function createCoreContext(options = {}) {
+  const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;
+  const version2 = isString$1(options.version) ? options.version : VERSION$1;
+  const locale = isString$1(options.locale) || isFunction(options.locale) ? options.locale : DEFAULT_LOCALE;
+  const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;
+  const fallbackLocale = isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || isString$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale;
+  const messages = isPlainObject(options.messages) ? options.messages : { [_locale]: {} };
+  const datetimeFormats = isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale]: {} };
+  const numberFormats = isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale]: {} };
+  const modifiers = assign$1({}, options.modifiers || {}, getDefaultLinkedModifiers());
+  const pluralRules = options.pluralRules || {};
+  const missing = isFunction(options.missing) ? options.missing : null;
+  const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
+  const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
+  const fallbackFormat = !!options.fallbackFormat;
+  const unresolving = !!options.unresolving;
+  const postTranslation = isFunction(options.postTranslation) ? options.postTranslation : null;
+  const processor = isPlainObject(options.processor) ? options.processor : null;
+  const warnHtmlMessage = isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
+  const escapeParameter = !!options.escapeParameter;
+  const messageCompiler = isFunction(options.messageCompiler) ? options.messageCompiler : _compiler;
+  const messageResolver = isFunction(options.messageResolver) ? options.messageResolver : _resolver || resolveWithKeyValue;
+  const localeFallbacker = isFunction(options.localeFallbacker) ? options.localeFallbacker : _fallbacker || fallbackWithSimple;
+  const fallbackContext = isObject$2(options.fallbackContext) ? options.fallbackContext : void 0;
+  const internalOptions = options;
+  const __datetimeFormatters = isObject$2(internalOptions.__datetimeFormatters) ? internalOptions.__datetimeFormatters : /* @__PURE__ */ new Map();
+  const __numberFormatters = isObject$2(internalOptions.__numberFormatters) ? internalOptions.__numberFormatters : /* @__PURE__ */ new Map();
+  const __meta = isObject$2(internalOptions.__meta) ? internalOptions.__meta : {};
+  _cid++;
+  const context = {
+    version: version2,
+    cid: _cid,
+    locale,
+    fallbackLocale,
+    messages,
+    modifiers,
+    pluralRules,
+    missing,
+    missingWarn,
+    fallbackWarn,
+    fallbackFormat,
+    unresolving,
+    postTranslation,
+    processor,
+    warnHtmlMessage,
+    escapeParameter,
+    messageCompiler,
+    messageResolver,
+    localeFallbacker,
+    fallbackContext,
+    onWarn,
+    __meta
+  };
+  {
+    context.datetimeFormats = datetimeFormats;
+    context.numberFormats = numberFormats;
+    context.__datetimeFormatters = __datetimeFormatters;
+    context.__numberFormatters = __numberFormatters;
+  }
+  if (__INTLIFY_PROD_DEVTOOLS__) {
+    initI18nDevTools(context, version2, __meta);
+  }
+  return context;
+}
+function handleMissing(context, key, locale, missingWarn, type) {
+  const { missing, onWarn } = context;
+  if (missing !== null) {
+    const ret = missing(context, locale, key, type);
+    return isString$1(ret) ? ret : key;
+  } else {
+    return key;
+  }
+}
+function updateFallbackLocale(ctx, locale, fallback) {
+  const context = ctx;
+  context.__localeChainCache = /* @__PURE__ */ new Map();
+  ctx.localeFallbacker(ctx, fallback, locale);
+}
+function isAlmostSameLocale(locale, compareLocale) {
+  if (locale === compareLocale)
+    return false;
+  return locale.split("-")[0] === compareLocale.split("-")[0];
+}
+function isImplicitFallback(targetLocale, locales) {
+  const index = locales.indexOf(targetLocale);
+  if (index === -1) {
+    return false;
+  }
+  for (let i = index + 1; i < locales.length; i++) {
+    if (isAlmostSameLocale(targetLocale, locales[i])) {
+      return true;
+    }
+  }
+  return false;
+}
+function format(ast) {
+  const msg = (ctx) => formatParts(ctx, ast);
+  return msg;
+}
+function formatParts(ctx, ast) {
+  const body = ast.b || ast.body;
+  if ((body.t || body.type) === 1) {
+    const plural = body;
+    const cases = plural.c || plural.cases;
+    return ctx.plural(cases.reduce((messages, c) => [
+      ...messages,
+      formatMessageParts(ctx, c)
+    ], []));
+  } else {
+    return formatMessageParts(ctx, body);
+  }
+}
+function formatMessageParts(ctx, node) {
+  const _static = node.s || node.static;
+  if (_static) {
+    return ctx.type === "text" ? _static : ctx.normalize([_static]);
+  } else {
+    const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);
+    return ctx.normalize(messages);
+  }
+}
+function formatMessagePart(ctx, node) {
+  const type = node.t || node.type;
+  switch (type) {
+    case 3: {
+      const text = node;
+      return text.v || text.value;
+    }
+    case 9: {
+      const literal = node;
+      return literal.v || literal.value;
+    }
+    case 4: {
+      const named = node;
+      return ctx.interpolate(ctx.named(named.k || named.key));
+    }
+    case 5: {
+      const list = node;
+      return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));
+    }
+    case 6: {
+      const linked = node;
+      const modifier = linked.m || linked.modifier;
+      return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : void 0, ctx.type);
+    }
+    case 7: {
+      const linkedKey = node;
+      return linkedKey.v || linkedKey.value;
+    }
+    case 8: {
+      const linkedModifier = node;
+      return linkedModifier.v || linkedModifier.value;
+    }
+    default:
+      throw new Error(`unhandled node type on format message part: ${type}`);
+  }
+}
+const defaultOnCacheKey = (message) => message;
+let compileCache = /* @__PURE__ */ Object.create(null);
+const isMessageAST = (val) => isObject$2(val) && (val.t === 0 || val.type === 0) && ("b" in val || "body" in val);
+function baseCompile(message, options = {}) {
+  let detectError = false;
+  const onError = options.onError || defaultOnError;
+  options.onError = (err) => {
+    detectError = true;
+    onError(err);
+  };
+  return { ...baseCompile$1(message, options), detectError };
+}
+const compileToFunction = /* @__NO_SIDE_EFFECTS__ */ (message, context) => {
+  if (!isString$1(message)) {
+    throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);
+  }
+  {
+    isBoolean(context.warnHtmlMessage) ? context.warnHtmlMessage : true;
+    const onCacheKey = context.onCacheKey || defaultOnCacheKey;
+    const cacheKey = onCacheKey(message);
+    const cached = compileCache[cacheKey];
+    if (cached) {
+      return cached;
+    }
+    const { code: code2, detectError } = baseCompile(message, context);
+    const msg = new Function(`return ${code2}`)();
+    return !detectError ? compileCache[cacheKey] = msg : msg;
+  }
+};
+function compile(message, context) {
+  if (__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__ && isString$1(message)) {
+    isBoolean(context.warnHtmlMessage) ? context.warnHtmlMessage : true;
+    const onCacheKey = context.onCacheKey || defaultOnCacheKey;
+    const cacheKey = onCacheKey(message);
+    const cached = compileCache[cacheKey];
+    if (cached) {
+      return cached;
+    }
+    const { ast, detectError } = baseCompile(message, {
+      ...context,
+      location: false,
+      jit: true
+    });
+    const msg = format(ast);
+    return !detectError ? compileCache[cacheKey] = msg : msg;
+  } else {
+    const cacheKey = message.cacheKey;
+    if (cacheKey) {
+      const cached = compileCache[cacheKey];
+      if (cached) {
+        return cached;
+      }
+      return compileCache[cacheKey] = format(message);
+    } else {
+      return format(message);
+    }
+  }
+}
+const NOOP_MESSAGE_FUNCTION = () => "";
+const isMessageFunction = (val) => isFunction(val);
+function translate(context, ...args) {
+  const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;
+  const [key, options] = parseTranslateArgs(...args);
+  const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
+  const fallbackWarn = isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
+  const escapeParameter = isBoolean(options.escapeParameter) ? options.escapeParameter : context.escapeParameter;
+  const resolvedMessage = !!options.resolvedMessage;
+  const defaultMsgOrKey = isString$1(options.default) || isBoolean(options.default) ? !isBoolean(options.default) ? options.default : !messageCompiler ? () => key : key : fallbackFormat ? !messageCompiler ? () => key : key : "";
+  const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== "";
+  const locale = getLocale(context, options);
+  escapeParameter && escapeParams(options);
+  let [formatScope, targetLocale, message] = !resolvedMessage ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) : [
+    key,
+    locale,
+    messages[locale] || {}
+  ];
+  let format2 = formatScope;
+  let cacheBaseKey = key;
+  if (!resolvedMessage && !(isString$1(format2) || isMessageAST(format2) || isMessageFunction(format2))) {
+    if (enableDefaultMsg) {
+      format2 = defaultMsgOrKey;
+      cacheBaseKey = format2;
+    }
+  }
+  if (!resolvedMessage && (!(isString$1(format2) || isMessageAST(format2) || isMessageFunction(format2)) || !isString$1(targetLocale))) {
+    return unresolving ? NOT_REOSLVED : key;
+  }
+  let occurred = false;
+  const onError = () => {
+    occurred = true;
+  };
+  const msg = !isMessageFunction(format2) ? compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) : format2;
+  if (occurred) {
+    return format2;
+  }
+  const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);
+  const msgContext = createMessageContext(ctxOptions);
+  const messaged = evaluateMessage(context, msg, msgContext);
+  const ret = postTranslation ? postTranslation(messaged, key) : messaged;
+  if (__INTLIFY_PROD_DEVTOOLS__) {
+    const payloads = {
+      timestamp: Date.now(),
+      key: isString$1(key) ? key : isMessageFunction(format2) ? format2.key : "",
+      locale: targetLocale || (isMessageFunction(format2) ? format2.locale : ""),
+      format: isString$1(format2) ? format2 : isMessageFunction(format2) ? format2.source : "",
+      message: ret
+    };
+    payloads.meta = assign$1({}, context.__meta, /* @__PURE__ */ getAdditionalMeta() || {});
+    translateDevTools(payloads);
+  }
+  return ret;
+}
+function escapeParams(options) {
+  if (isArray(options.list)) {
+    options.list = options.list.map((item) => isString$1(item) ? escapeHtml(item) : item);
+  } else if (isObject$2(options.named)) {
+    Object.keys(options.named).forEach((key) => {
+      if (isString$1(options.named[key])) {
+        options.named[key] = escapeHtml(options.named[key]);
+      }
+    });
+  }
+}
+function resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {
+  const { messages, onWarn, messageResolver: resolveValue2, localeFallbacker } = context;
+  const locales = localeFallbacker(context, fallbackLocale, locale);
+  let message = {};
+  let targetLocale;
+  let format2 = null;
+  const type = "translate";
+  for (let i = 0; i < locales.length; i++) {
+    targetLocale = locales[i];
+    message = messages[targetLocale] || {};
+    if ((format2 = resolveValue2(message, key)) === null) {
+      format2 = message[key];
+    }
+    if (isString$1(format2) || isMessageAST(format2) || isMessageFunction(format2)) {
+      break;
+    }
+    if (!isImplicitFallback(targetLocale, locales)) {
+      const missingRet = handleMissing(
+        context,
+        // eslint-disable-line @typescript-eslint/no-explicit-any
+        key,
+        targetLocale,
+        missingWarn,
+        type
+      );
+      if (missingRet !== key) {
+        format2 = missingRet;
+      }
+    }
+  }
+  return [format2, targetLocale, message];
+}
+function compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) {
+  const { messageCompiler, warnHtmlMessage } = context;
+  if (isMessageFunction(format2)) {
+    const msg2 = format2;
+    msg2.locale = msg2.locale || targetLocale;
+    msg2.key = msg2.key || key;
+    return msg2;
+  }
+  if (messageCompiler == null) {
+    const msg2 = () => format2;
+    msg2.locale = targetLocale;
+    msg2.key = key;
+    return msg2;
+  }
+  const msg = messageCompiler(format2, getCompileContext(context, targetLocale, cacheBaseKey, format2, warnHtmlMessage, onError));
+  msg.locale = targetLocale;
+  msg.key = key;
+  msg.source = format2;
+  return msg;
+}
+function evaluateMessage(context, msg, msgCtx) {
+  const messaged = msg(msgCtx);
+  return messaged;
+}
+function parseTranslateArgs(...args) {
+  const [arg1, arg2, arg3] = args;
+  const options = {};
+  if (!isString$1(arg1) && !isNumber(arg1) && !isMessageFunction(arg1) && !isMessageAST(arg1)) {
+    throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+  }
+  const key = isNumber(arg1) ? String(arg1) : isMessageFunction(arg1) ? arg1 : arg1;
+  if (isNumber(arg2)) {
+    options.plural = arg2;
+  } else if (isString$1(arg2)) {
+    options.default = arg2;
+  } else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {
+    options.named = arg2;
+  } else if (isArray(arg2)) {
+    options.list = arg2;
+  }
+  if (isNumber(arg3)) {
+    options.plural = arg3;
+  } else if (isString$1(arg3)) {
+    options.default = arg3;
+  } else if (isPlainObject(arg3)) {
+    assign$1(options, arg3);
+  }
+  return [key, options];
+}
+function getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {
+  return {
+    locale,
+    key,
+    warnHtmlMessage,
+    onError: (err) => {
+      onError && onError(err);
+      {
+        throw err;
+      }
+    },
+    onCacheKey: (source2) => generateFormatCacheKey(locale, key, source2)
+  };
+}
+function getMessageContextOptions(context, locale, message, options) {
+  const { modifiers, pluralRules, messageResolver: resolveValue2, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;
+  const resolveMessage = (key) => {
+    let val = resolveValue2(message, key);
+    if (val == null && fallbackContext) {
+      const [, , message2] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);
+      val = resolveValue2(message2, key);
+    }
+    if (isString$1(val) || isMessageAST(val)) {
+      let occurred = false;
+      const onError = () => {
+        occurred = true;
+      };
+      const msg = compileMessageFormat(context, key, locale, val, key, onError);
+      return !occurred ? msg : NOOP_MESSAGE_FUNCTION;
+    } else if (isMessageFunction(val)) {
+      return val;
+    } else {
+      return NOOP_MESSAGE_FUNCTION;
+    }
+  };
+  const ctxOptions = {
+    locale,
+    modifiers,
+    pluralRules,
+    messages: resolveMessage
+  };
+  if (context.processor) {
+    ctxOptions.processor = context.processor;
+  }
+  if (options.list) {
+    ctxOptions.list = options.list;
+  }
+  if (options.named) {
+    ctxOptions.named = options.named;
+  }
+  if (isNumber(options.plural)) {
+    ctxOptions.pluralIndex = options.plural;
+  }
+  return ctxOptions;
+}
+function datetime(context, ...args) {
+  const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;
+  const { __datetimeFormatters } = context;
+  const [key, value, options, overrides] = parseDateTimeArgs(...args);
+  const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
+  isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
+  const part = !!options.part;
+  const locale = getLocale(context, options);
+  const locales = localeFallbacker(
+    context,
+    // eslint-disable-line @typescript-eslint/no-explicit-any
+    fallbackLocale,
+    locale
+  );
+  if (!isString$1(key) || key === "") {
+    return new Intl.DateTimeFormat(locale, overrides).format(value);
+  }
+  let datetimeFormat = {};
+  let targetLocale;
+  let format2 = null;
+  const type = "datetime format";
+  for (let i = 0; i < locales.length; i++) {
+    targetLocale = locales[i];
+    datetimeFormat = datetimeFormats[targetLocale] || {};
+    format2 = datetimeFormat[key];
+    if (isPlainObject(format2))
+      break;
+    handleMissing(context, key, targetLocale, missingWarn, type);
+  }
+  if (!isPlainObject(format2) || !isString$1(targetLocale)) {
+    return unresolving ? NOT_REOSLVED : key;
+  }
+  let id = `${targetLocale}__${key}`;
+  if (!isEmptyObject(overrides)) {
+    id = `${id}__${JSON.stringify(overrides)}`;
+  }
+  let formatter = __datetimeFormatters.get(id);
+  if (!formatter) {
+    formatter = new Intl.DateTimeFormat(targetLocale, assign$1({}, format2, overrides));
+    __datetimeFormatters.set(id, formatter);
+  }
+  return !part ? formatter.format(value) : formatter.formatToParts(value);
+}
+const DATETIME_FORMAT_OPTIONS_KEYS = [
+  "localeMatcher",
+  "weekday",
+  "era",
+  "year",
+  "month",
+  "day",
+  "hour",
+  "minute",
+  "second",
+  "timeZoneName",
+  "formatMatcher",
+  "hour12",
+  "timeZone",
+  "dateStyle",
+  "timeStyle",
+  "calendar",
+  "dayPeriod",
+  "numberingSystem",
+  "hourCycle",
+  "fractionalSecondDigits"
+];
+function parseDateTimeArgs(...args) {
+  const [arg1, arg2, arg3, arg4] = args;
+  const options = {};
+  let overrides = {};
+  let value;
+  if (isString$1(arg1)) {
+    const matches2 = arg1.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);
+    if (!matches2) {
+      throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);
+    }
+    const dateTime = matches2[3] ? matches2[3].trim().startsWith("T") ? `${matches2[1].trim()}${matches2[3].trim()}` : `${matches2[1].trim()}T${matches2[3].trim()}` : matches2[1].trim();
+    value = new Date(dateTime);
+    try {
+      value.toISOString();
+    } catch (e) {
+      throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);
+    }
+  } else if (isDate(arg1)) {
+    if (isNaN(arg1.getTime())) {
+      throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);
+    }
+    value = arg1;
+  } else if (isNumber(arg1)) {
+    value = arg1;
+  } else {
+    throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+  }
+  if (isString$1(arg2)) {
+    options.key = arg2;
+  } else if (isPlainObject(arg2)) {
+    Object.keys(arg2).forEach((key) => {
+      if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {
+        overrides[key] = arg2[key];
+      } else {
+        options[key] = arg2[key];
+      }
+    });
+  }
+  if (isString$1(arg3)) {
+    options.locale = arg3;
+  } else if (isPlainObject(arg3)) {
+    overrides = arg3;
+  }
+  if (isPlainObject(arg4)) {
+    overrides = arg4;
+  }
+  return [options.key || "", value, options, overrides];
+}
+function clearDateTimeFormat(ctx, locale, format2) {
+  const context = ctx;
+  for (const key in format2) {
+    const id = `${locale}__${key}`;
+    if (!context.__datetimeFormatters.has(id)) {
+      continue;
+    }
+    context.__datetimeFormatters.delete(id);
+  }
+}
+function number(context, ...args) {
+  const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;
+  const { __numberFormatters } = context;
+  const [key, value, options, overrides] = parseNumberArgs(...args);
+  const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
+  isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
+  const part = !!options.part;
+  const locale = getLocale(context, options);
+  const locales = localeFallbacker(
+    context,
+    // eslint-disable-line @typescript-eslint/no-explicit-any
+    fallbackLocale,
+    locale
+  );
+  if (!isString$1(key) || key === "") {
+    return new Intl.NumberFormat(locale, overrides).format(value);
+  }
+  let numberFormat = {};
+  let targetLocale;
+  let format2 = null;
+  const type = "number format";
+  for (let i = 0; i < locales.length; i++) {
+    targetLocale = locales[i];
+    numberFormat = numberFormats[targetLocale] || {};
+    format2 = numberFormat[key];
+    if (isPlainObject(format2))
+      break;
+    handleMissing(context, key, targetLocale, missingWarn, type);
+  }
+  if (!isPlainObject(format2) || !isString$1(targetLocale)) {
+    return unresolving ? NOT_REOSLVED : key;
+  }
+  let id = `${targetLocale}__${key}`;
+  if (!isEmptyObject(overrides)) {
+    id = `${id}__${JSON.stringify(overrides)}`;
+  }
+  let formatter = __numberFormatters.get(id);
+  if (!formatter) {
+    formatter = new Intl.NumberFormat(targetLocale, assign$1({}, format2, overrides));
+    __numberFormatters.set(id, formatter);
+  }
+  return !part ? formatter.format(value) : formatter.formatToParts(value);
+}
+const NUMBER_FORMAT_OPTIONS_KEYS = [
+  "localeMatcher",
+  "style",
+  "currency",
+  "currencyDisplay",
+  "currencySign",
+  "useGrouping",
+  "minimumIntegerDigits",
+  "minimumFractionDigits",
+  "maximumFractionDigits",
+  "minimumSignificantDigits",
+  "maximumSignificantDigits",
+  "compactDisplay",
+  "notation",
+  "signDisplay",
+  "unit",
+  "unitDisplay",
+  "roundingMode",
+  "roundingPriority",
+  "roundingIncrement",
+  "trailingZeroDisplay"
+];
+function parseNumberArgs(...args) {
+  const [arg1, arg2, arg3, arg4] = args;
+  const options = {};
+  let overrides = {};
+  if (!isNumber(arg1)) {
+    throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);
+  }
+  const value = arg1;
+  if (isString$1(arg2)) {
+    options.key = arg2;
+  } else if (isPlainObject(arg2)) {
+    Object.keys(arg2).forEach((key) => {
+      if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {
+        overrides[key] = arg2[key];
+      } else {
+        options[key] = arg2[key];
+      }
+    });
+  }
+  if (isString$1(arg3)) {
+    options.locale = arg3;
+  } else if (isPlainObject(arg3)) {
+    overrides = arg3;
+  }
+  if (isPlainObject(arg4)) {
+    overrides = arg4;
+  }
+  return [options.key || "", value, options, overrides];
+}
+function clearNumberFormat(ctx, locale, format2) {
+  const context = ctx;
+  for (const key in format2) {
+    const id = `${locale}__${key}`;
+    if (!context.__numberFormatters.has(id)) {
+      continue;
+    }
+    context.__numberFormatters.delete(id);
+  }
+}
+{
+  initFeatureFlags$1();
+}
+/*!
+  * vue-i18n v9.13.1
+  * (c) 2024 kazuya kawaguchi
+  * Released under the MIT License.
+  */
+const VERSION = "9.13.1";
+function initFeatureFlags() {
+  if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") {
+    getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;
+  }
+  if (typeof __VUE_I18N_LEGACY_API__ !== "boolean") {
+    getGlobalThis().__VUE_I18N_LEGACY_API__ = true;
+  }
+  if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") {
+    getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;
+  }
+  if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") {
+    getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;
+  }
+  if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") {
+    getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
+  }
+}
+const code$1 = CoreWarnCodes.__EXTEND_POINT__;
+const inc$1 = incrementer(code$1);
+({
+  FALLBACK_TO_ROOT: code$1,
+  // 9
+  NOT_SUPPORTED_PRESERVE: inc$1(),
+  // 10
+  NOT_SUPPORTED_FORMATTER: inc$1(),
+  // 11
+  NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),
+  // 12
+  NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),
+  // 13
+  COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),
+  // 14
+  NOT_FOUND_PARENT_SCOPE: inc$1(),
+  // 15
+  IGNORE_OBJ_FLATTEN: inc$1(),
+  // 16
+  NOTICE_DROP_ALLOW_COMPOSITION: inc$1(),
+  // 17
+  NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1()
+  // 18
+});
+const code = CoreErrorCodes.__EXTEND_POINT__;
+const inc = incrementer(code);
+const I18nErrorCodes = {
+  // composer module errors
+  UNEXPECTED_RETURN_TYPE: code,
+  // 24
+  // legacy module errors
+  INVALID_ARGUMENT: inc(),
+  // 25
+  // i18n module errors
+  MUST_BE_CALL_SETUP_TOP: inc(),
+  // 26
+  NOT_INSTALLED: inc(),
+  // 27
+  NOT_AVAILABLE_IN_LEGACY_MODE: inc(),
+  // 28
+  // directive module errors
+  REQUIRED_VALUE: inc(),
+  // 29
+  INVALID_VALUE: inc(),
+  // 30
+  // vue-devtools errors
+  CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),
+  // 31
+  NOT_INSTALLED_WITH_PROVIDE: inc(),
+  // 32
+  // unexpected error
+  UNEXPECTED_ERROR: inc(),
+  // 33
+  // not compatible legacy vue-i18n constructor
+  NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),
+  // 34
+  // bridge support vue 2.x only
+  BRIDGE_SUPPORT_VUE_2_ONLY: inc(),
+  // 35
+  // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``
+  MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),
+  // 36
+  // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly
+  NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),
+  // 37
+  // for enhancement
+  __EXTEND_POINT__: inc()
+  // 38
+};
+function createI18nError(code2, ...args) {
+  return createCompileError(code2, null, void 0);
+}
+const TranslateVNodeSymbol = /* @__PURE__ */ makeSymbol("__translateVNode");
+const DatetimePartsSymbol = /* @__PURE__ */ makeSymbol("__datetimeParts");
+const NumberPartsSymbol = /* @__PURE__ */ makeSymbol("__numberParts");
+const SetPluralRulesSymbol = makeSymbol("__setPluralRules");
+const InejctWithOptionSymbol = /* @__PURE__ */ makeSymbol("__injectWithOption");
+const DisposeSymbol = /* @__PURE__ */ makeSymbol("__dispose");
+function handleFlatJson(obj) {
+  if (!isObject$2(obj)) {
+    return obj;
+  }
+  for (const key in obj) {
+    if (!hasOwn(obj, key)) {
+      continue;
+    }
+    if (!key.includes(".")) {
+      if (isObject$2(obj[key])) {
+        handleFlatJson(obj[key]);
+      }
+    } else {
+      const subKeys = key.split(".");
+      const lastIndex = subKeys.length - 1;
+      let currentObj = obj;
+      let hasStringValue = false;
+      for (let i = 0; i < lastIndex; i++) {
+        if (!(subKeys[i] in currentObj)) {
+          currentObj[subKeys[i]] = {};
+        }
+        if (!isObject$2(currentObj[subKeys[i]])) {
+          hasStringValue = true;
+          break;
+        }
+        currentObj = currentObj[subKeys[i]];
+      }
+      if (!hasStringValue) {
+        currentObj[subKeys[lastIndex]] = obj[key];
+        delete obj[key];
+      }
+      if (isObject$2(currentObj[subKeys[lastIndex]])) {
+        handleFlatJson(currentObj[subKeys[lastIndex]]);
+      }
+    }
+  }
+  return obj;
+}
+function getLocaleMessages(locale, options) {
+  const { messages, __i18n, messageResolver, flatJson } = options;
+  const ret = isPlainObject(messages) ? messages : isArray(__i18n) ? {} : { [locale]: {} };
+  if (isArray(__i18n)) {
+    __i18n.forEach((custom) => {
+      if ("locale" in custom && "resource" in custom) {
+        const { locale: locale2, resource } = custom;
+        if (locale2) {
+          ret[locale2] = ret[locale2] || {};
+          deepCopy(resource, ret[locale2]);
+        } else {
+          deepCopy(resource, ret);
+        }
+      } else {
+        isString$1(custom) && deepCopy(JSON.parse(custom), ret);
+      }
+    });
+  }
+  if (messageResolver == null && flatJson) {
+    for (const key in ret) {
+      if (hasOwn(ret, key)) {
+        handleFlatJson(ret[key]);
+      }
+    }
+  }
+  return ret;
+}
+function getComponentOptions(instance) {
+  return instance.type;
+}
+function adjustI18nResources(gl, options, componentOptions) {
+  let messages = isObject$2(options.messages) ? options.messages : {};
+  if ("__i18nGlobal" in componentOptions) {
+    messages = getLocaleMessages(gl.locale.value, {
+      messages,
+      __i18n: componentOptions.__i18nGlobal
+    });
+  }
+  const locales = Object.keys(messages);
+  if (locales.length) {
+    locales.forEach((locale) => {
+      gl.mergeLocaleMessage(locale, messages[locale]);
+    });
+  }
+  {
+    if (isObject$2(options.datetimeFormats)) {
+      const locales2 = Object.keys(options.datetimeFormats);
+      if (locales2.length) {
+        locales2.forEach((locale) => {
+          gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);
+        });
+      }
+    }
+    if (isObject$2(options.numberFormats)) {
+      const locales2 = Object.keys(options.numberFormats);
+      if (locales2.length) {
+        locales2.forEach((locale) => {
+          gl.mergeNumberFormat(locale, options.numberFormats[locale]);
+        });
+      }
+    }
+  }
+}
+function createTextNode(key) {
+  return createVNode(Text, null, key, 0);
+}
+const DEVTOOLS_META = "__INTLIFY_META__";
+const NOOP_RETURN_ARRAY = () => [];
+const NOOP_RETURN_FALSE = () => false;
+let composerID = 0;
+function defineCoreMissingHandler(missing) {
+  return (ctx, locale, key, type) => {
+    return missing(locale, key, getCurrentInstance() || void 0, type);
+  };
+}
+const getMetaInfo = /* @__NO_SIDE_EFFECTS__ */ () => {
+  const instance = getCurrentInstance();
+  let meta = null;
+  return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META]) ? { [DEVTOOLS_META]: meta } : null;
+};
+function createComposer(options = {}, VueI18nLegacy) {
+  const { __root, __injectWithOption } = options;
+  const _isGlobal = __root === void 0;
+  const flatJson = options.flatJson;
+  const _ref = inBrowser ? ref : shallowRef;
+  const translateExistCompatible = !!options.translateExistCompatible;
+  let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true;
+  const _locale = _ref(
+    // prettier-ignore
+    __root && _inheritLocale ? __root.locale.value : isString$1(options.locale) ? options.locale : DEFAULT_LOCALE
+  );
+  const _fallbackLocale = _ref(
+    // prettier-ignore
+    __root && _inheritLocale ? __root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
+  );
+  const _messages = _ref(getLocaleMessages(_locale.value, options));
+  const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
+  const _numberFormats = _ref(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
+  let _missingWarn = __root ? __root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
+  let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
+  let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
+  let _fallbackFormat = !!options.fallbackFormat;
+  let _missing = isFunction(options.missing) ? options.missing : null;
+  let _runtimeMissing = isFunction(options.missing) ? defineCoreMissingHandler(options.missing) : null;
+  let _postTranslation = isFunction(options.postTranslation) ? options.postTranslation : null;
+  let _warnHtmlMessage = __root ? __root.warnHtmlMessage : isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
+  let _escapeParameter = !!options.escapeParameter;
+  const _modifiers = __root ? __root.modifiers : isPlainObject(options.modifiers) ? options.modifiers : {};
+  let _pluralRules = options.pluralRules || __root && __root.pluralRules;
+  let _context;
+  const getCoreContext = () => {
+    _isGlobal && setFallbackContext(null);
+    const ctxOptions = {
+      version: VERSION,
+      locale: _locale.value,
+      fallbackLocale: _fallbackLocale.value,
+      messages: _messages.value,
+      modifiers: _modifiers,
+      pluralRules: _pluralRules,
+      missing: _runtimeMissing === null ? void 0 : _runtimeMissing,
+      missingWarn: _missingWarn,
+      fallbackWarn: _fallbackWarn,
+      fallbackFormat: _fallbackFormat,
+      unresolving: true,
+      postTranslation: _postTranslation === null ? void 0 : _postTranslation,
+      warnHtmlMessage: _warnHtmlMessage,
+      escapeParameter: _escapeParameter,
+      messageResolver: options.messageResolver,
+      messageCompiler: options.messageCompiler,
+      __meta: { framework: "vue" }
+    };
+    {
+      ctxOptions.datetimeFormats = _datetimeFormats.value;
+      ctxOptions.numberFormats = _numberFormats.value;
+      ctxOptions.__datetimeFormatters = isPlainObject(_context) ? _context.__datetimeFormatters : void 0;
+      ctxOptions.__numberFormatters = isPlainObject(_context) ? _context.__numberFormatters : void 0;
+    }
+    const ctx = createCoreContext(ctxOptions);
+    _isGlobal && setFallbackContext(ctx);
+    return ctx;
+  };
+  _context = getCoreContext();
+  updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+  function trackReactivityValues() {
+    return [
+      _locale.value,
+      _fallbackLocale.value,
+      _messages.value,
+      _datetimeFormats.value,
+      _numberFormats.value
+    ];
+  }
+  const locale = computed({
+    get: () => _locale.value,
+    set: (val) => {
+      _locale.value = val;
+      _context.locale = _locale.value;
+    }
+  });
+  const fallbackLocale = computed({
+    get: () => _fallbackLocale.value,
+    set: (val) => {
+      _fallbackLocale.value = val;
+      _context.fallbackLocale = _fallbackLocale.value;
+      updateFallbackLocale(_context, _locale.value, val);
+    }
+  });
+  const messages = computed(() => _messages.value);
+  const datetimeFormats = /* @__PURE__ */ computed(() => _datetimeFormats.value);
+  const numberFormats = /* @__PURE__ */ computed(() => _numberFormats.value);
+  function getPostTranslationHandler() {
+    return isFunction(_postTranslation) ? _postTranslation : null;
+  }
+  function setPostTranslationHandler(handler) {
+    _postTranslation = handler;
+    _context.postTranslation = handler;
+  }
+  function getMissingHandler() {
+    return _missing;
+  }
+  function setMissingHandler(handler) {
+    if (handler !== null) {
+      _runtimeMissing = defineCoreMissingHandler(handler);
+    }
+    _missing = handler;
+    _context.missing = _runtimeMissing;
+  }
+  const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {
+    trackReactivityValues();
+    let ret;
+    try {
+      if (__INTLIFY_PROD_DEVTOOLS__) {
+        /* @__PURE__ */ setAdditionalMeta(/* @__PURE__ */ getMetaInfo());
+      }
+      if (!_isGlobal) {
+        _context.fallbackContext = __root ? getFallbackContext() : void 0;
+      }
+      ret = fn(_context);
+    } finally {
+      if (__INTLIFY_PROD_DEVTOOLS__)
+        ;
+      if (!_isGlobal) {
+        _context.fallbackContext = void 0;
+      }
+    }
+    if (warnType !== "translate exists" && // for not `te` (e.g `t`)
+    isNumber(ret) && ret === NOT_REOSLVED || warnType === "translate exists" && !ret) {
+      const [key, arg2] = argumentParser();
+      return __root && _fallbackRoot ? fallbackSuccess(__root) : fallbackFail(key);
+    } else if (successCondition(ret)) {
+      return ret;
+    } else {
+      throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);
+    }
+  };
+  function t(...args) {
+    return wrapWithDeps((context) => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), "translate", (root) => Reflect.apply(root.t, root, [...args]), (key) => key, (val) => isString$1(val));
+  }
+  function rt(...args) {
+    const [arg1, arg2, arg3] = args;
+    if (arg3 && !isObject$2(arg3)) {
+      throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+    }
+    return t(...[arg1, arg2, assign$1({ resolvedMessage: true }, arg3 || {})]);
+  }
+  function d(...args) {
+    return wrapWithDeps((context) => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), "datetime format", (root) => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$1(val));
+  }
+  function n(...args) {
+    return wrapWithDeps((context) => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), "number format", (root) => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$1(val));
+  }
+  function normalize(values) {
+    return values.map((val) => isString$1(val) || isNumber(val) || isBoolean(val) ? createTextNode(String(val)) : val);
+  }
+  const interpolate = (val) => val;
+  const processor = {
+    normalize,
+    interpolate,
+    type: "vnode"
+  };
+  function translateVNode(...args) {
+    return wrapWithDeps(
+      (context) => {
+        let ret;
+        const _context2 = context;
+        try {
+          _context2.processor = processor;
+          ret = Reflect.apply(translate, null, [_context2, ...args]);
+        } finally {
+          _context2.processor = null;
+        }
+        return ret;
+      },
+      () => parseTranslateArgs(...args),
+      "translate",
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      (root) => root[TranslateVNodeSymbol](...args),
+      (key) => [createTextNode(key)],
+      (val) => isArray(val)
+    );
+  }
+  function numberParts(...args) {
+    return wrapWithDeps(
+      (context) => Reflect.apply(number, null, [context, ...args]),
+      () => parseNumberArgs(...args),
+      "number format",
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      (root) => root[NumberPartsSymbol](...args),
+      NOOP_RETURN_ARRAY,
+      (val) => isString$1(val) || isArray(val)
+    );
+  }
+  function datetimeParts(...args) {
+    return wrapWithDeps(
+      (context) => Reflect.apply(datetime, null, [context, ...args]),
+      () => parseDateTimeArgs(...args),
+      "datetime format",
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      (root) => root[DatetimePartsSymbol](...args),
+      NOOP_RETURN_ARRAY,
+      (val) => isString$1(val) || isArray(val)
+    );
+  }
+  function setPluralRules(rules) {
+    _pluralRules = rules;
+    _context.pluralRules = _pluralRules;
+  }
+  function te(key, locale2) {
+    return wrapWithDeps(() => {
+      if (!key) {
+        return false;
+      }
+      const targetLocale = isString$1(locale2) ? locale2 : _locale.value;
+      const message = getLocaleMessage(targetLocale);
+      const resolved = _context.messageResolver(message, key);
+      return !translateExistCompatible ? isMessageAST(resolved) || isMessageFunction(resolved) || isString$1(resolved) : resolved != null;
+    }, () => [key], "translate exists", (root) => {
+      return Reflect.apply(root.te, root, [key, locale2]);
+    }, NOOP_RETURN_FALSE, (val) => isBoolean(val));
+  }
+  function resolveMessages(key) {
+    let messages2 = null;
+    const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);
+    for (let i = 0; i < locales.length; i++) {
+      const targetLocaleMessages = _messages.value[locales[i]] || {};
+      const messageValue = _context.messageResolver(targetLocaleMessages, key);
+      if (messageValue != null) {
+        messages2 = messageValue;
+        break;
+      }
+    }
+    return messages2;
+  }
+  function tm(key) {
+    const messages2 = resolveMessages(key);
+    return messages2 != null ? messages2 : __root ? __root.tm(key) || {} : {};
+  }
+  function getLocaleMessage(locale2) {
+    return _messages.value[locale2] || {};
+  }
+  function setLocaleMessage(locale2, message) {
+    if (flatJson) {
+      const _message = { [locale2]: message };
+      for (const key in _message) {
+        if (hasOwn(_message, key)) {
+          handleFlatJson(_message[key]);
+        }
+      }
+      message = _message[locale2];
+    }
+    _messages.value[locale2] = message;
+    _context.messages = _messages.value;
+  }
+  function mergeLocaleMessage(locale2, message) {
+    _messages.value[locale2] = _messages.value[locale2] || {};
+    const _message = { [locale2]: message };
+    if (flatJson) {
+      for (const key in _message) {
+        if (hasOwn(_message, key)) {
+          handleFlatJson(_message[key]);
+        }
+      }
+    }
+    message = _message[locale2];
+    deepCopy(message, _messages.value[locale2]);
+    _context.messages = _messages.value;
+  }
+  function getDateTimeFormat(locale2) {
+    return _datetimeFormats.value[locale2] || {};
+  }
+  function setDateTimeFormat(locale2, format2) {
+    _datetimeFormats.value[locale2] = format2;
+    _context.datetimeFormats = _datetimeFormats.value;
+    clearDateTimeFormat(_context, locale2, format2);
+  }
+  function mergeDateTimeFormat(locale2, format2) {
+    _datetimeFormats.value[locale2] = assign$1(_datetimeFormats.value[locale2] || {}, format2);
+    _context.datetimeFormats = _datetimeFormats.value;
+    clearDateTimeFormat(_context, locale2, format2);
+  }
+  function getNumberFormat(locale2) {
+    return _numberFormats.value[locale2] || {};
+  }
+  function setNumberFormat(locale2, format2) {
+    _numberFormats.value[locale2] = format2;
+    _context.numberFormats = _numberFormats.value;
+    clearNumberFormat(_context, locale2, format2);
+  }
+  function mergeNumberFormat(locale2, format2) {
+    _numberFormats.value[locale2] = assign$1(_numberFormats.value[locale2] || {}, format2);
+    _context.numberFormats = _numberFormats.value;
+    clearNumberFormat(_context, locale2, format2);
+  }
+  composerID++;
+  if (__root && inBrowser) {
+    watch(__root.locale, (val) => {
+      if (_inheritLocale) {
+        _locale.value = val;
+        _context.locale = val;
+        updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+      }
+    });
+    watch(__root.fallbackLocale, (val) => {
+      if (_inheritLocale) {
+        _fallbackLocale.value = val;
+        _context.fallbackLocale = val;
+        updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+      }
+    });
+  }
+  const composer = {
+    id: composerID,
+    locale,
+    fallbackLocale,
+    get inheritLocale() {
+      return _inheritLocale;
+    },
+    set inheritLocale(val) {
+      _inheritLocale = val;
+      if (val && __root) {
+        _locale.value = __root.locale.value;
+        _fallbackLocale.value = __root.fallbackLocale.value;
+        updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
+      }
+    },
+    get availableLocales() {
+      return Object.keys(_messages.value).sort();
+    },
+    messages,
+    get modifiers() {
+      return _modifiers;
+    },
+    get pluralRules() {
+      return _pluralRules || {};
+    },
+    get isGlobal() {
+      return _isGlobal;
+    },
+    get missingWarn() {
+      return _missingWarn;
+    },
+    set missingWarn(val) {
+      _missingWarn = val;
+      _context.missingWarn = _missingWarn;
+    },
+    get fallbackWarn() {
+      return _fallbackWarn;
+    },
+    set fallbackWarn(val) {
+      _fallbackWarn = val;
+      _context.fallbackWarn = _fallbackWarn;
+    },
+    get fallbackRoot() {
+      return _fallbackRoot;
+    },
+    set fallbackRoot(val) {
+      _fallbackRoot = val;
+    },
+    get fallbackFormat() {
+      return _fallbackFormat;
+    },
+    set fallbackFormat(val) {
+      _fallbackFormat = val;
+      _context.fallbackFormat = _fallbackFormat;
+    },
+    get warnHtmlMessage() {
+      return _warnHtmlMessage;
+    },
+    set warnHtmlMessage(val) {
+      _warnHtmlMessage = val;
+      _context.warnHtmlMessage = val;
+    },
+    get escapeParameter() {
+      return _escapeParameter;
+    },
+    set escapeParameter(val) {
+      _escapeParameter = val;
+      _context.escapeParameter = val;
+    },
+    t,
+    getLocaleMessage,
+    setLocaleMessage,
+    mergeLocaleMessage,
+    getPostTranslationHandler,
+    setPostTranslationHandler,
+    getMissingHandler,
+    setMissingHandler,
+    [SetPluralRulesSymbol]: setPluralRules
+  };
+  {
+    composer.datetimeFormats = datetimeFormats;
+    composer.numberFormats = numberFormats;
+    composer.rt = rt;
+    composer.te = te;
+    composer.tm = tm;
+    composer.d = d;
+    composer.n = n;
+    composer.getDateTimeFormat = getDateTimeFormat;
+    composer.setDateTimeFormat = setDateTimeFormat;
+    composer.mergeDateTimeFormat = mergeDateTimeFormat;
+    composer.getNumberFormat = getNumberFormat;
+    composer.setNumberFormat = setNumberFormat;
+    composer.mergeNumberFormat = mergeNumberFormat;
+    composer[InejctWithOptionSymbol] = __injectWithOption;
+    composer[TranslateVNodeSymbol] = translateVNode;
+    composer[DatetimePartsSymbol] = datetimeParts;
+    composer[NumberPartsSymbol] = numberParts;
+  }
+  return composer;
+}
+function convertComposerOptions(options) {
+  const locale = isString$1(options.locale) ? options.locale : DEFAULT_LOCALE;
+  const fallbackLocale = isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : locale;
+  const missing = isFunction(options.missing) ? options.missing : void 0;
+  const missingWarn = isBoolean(options.silentTranslationWarn) || isRegExp(options.silentTranslationWarn) ? !options.silentTranslationWarn : true;
+  const fallbackWarn = isBoolean(options.silentFallbackWarn) || isRegExp(options.silentFallbackWarn) ? !options.silentFallbackWarn : true;
+  const fallbackRoot = isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
+  const fallbackFormat = !!options.formatFallbackMessages;
+  const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};
+  const pluralizationRules = options.pluralizationRules;
+  const postTranslation = isFunction(options.postTranslation) ? options.postTranslation : void 0;
+  const warnHtmlMessage = isString$1(options.warnHtmlInMessage) ? options.warnHtmlInMessage !== "off" : true;
+  const escapeParameter = !!options.escapeParameterHtml;
+  const inheritLocale = isBoolean(options.sync) ? options.sync : true;
+  let messages = options.messages;
+  if (isPlainObject(options.sharedMessages)) {
+    const sharedMessages = options.sharedMessages;
+    const locales = Object.keys(sharedMessages);
+    messages = locales.reduce((messages2, locale2) => {
+      const message = messages2[locale2] || (messages2[locale2] = {});
+      assign$1(message, sharedMessages[locale2]);
+      return messages2;
+    }, messages || {});
+  }
+  const { __i18n, __root, __injectWithOption } = options;
+  const datetimeFormats = options.datetimeFormats;
+  const numberFormats = options.numberFormats;
+  const flatJson = options.flatJson;
+  const translateExistCompatible = options.translateExistCompatible;
+  return {
+    locale,
+    fallbackLocale,
+    messages,
+    flatJson,
+    datetimeFormats,
+    numberFormats,
+    missing,
+    missingWarn,
+    fallbackWarn,
+    fallbackRoot,
+    fallbackFormat,
+    modifiers,
+    pluralRules: pluralizationRules,
+    postTranslation,
+    warnHtmlMessage,
+    escapeParameter,
+    messageResolver: options.messageResolver,
+    inheritLocale,
+    translateExistCompatible,
+    __i18n,
+    __root,
+    __injectWithOption
+  };
+}
+function createVueI18n(options = {}, VueI18nLegacy) {
+  {
+    const composer = createComposer(convertComposerOptions(options));
+    const { __extender } = options;
+    const vueI18n = {
+      // id
+      id: composer.id,
+      // locale
+      get locale() {
+        return composer.locale.value;
+      },
+      set locale(val) {
+        composer.locale.value = val;
+      },
+      // fallbackLocale
+      get fallbackLocale() {
+        return composer.fallbackLocale.value;
+      },
+      set fallbackLocale(val) {
+        composer.fallbackLocale.value = val;
+      },
+      // messages
+      get messages() {
+        return composer.messages.value;
+      },
+      // datetimeFormats
+      get datetimeFormats() {
+        return composer.datetimeFormats.value;
+      },
+      // numberFormats
+      get numberFormats() {
+        return composer.numberFormats.value;
+      },
+      // availableLocales
+      get availableLocales() {
+        return composer.availableLocales;
+      },
+      // formatter
+      get formatter() {
+        return {
+          interpolate() {
+            return [];
+          }
+        };
+      },
+      set formatter(val) {
+      },
+      // missing
+      get missing() {
+        return composer.getMissingHandler();
+      },
+      set missing(handler) {
+        composer.setMissingHandler(handler);
+      },
+      // silentTranslationWarn
+      get silentTranslationWarn() {
+        return isBoolean(composer.missingWarn) ? !composer.missingWarn : composer.missingWarn;
+      },
+      set silentTranslationWarn(val) {
+        composer.missingWarn = isBoolean(val) ? !val : val;
+      },
+      // silentFallbackWarn
+      get silentFallbackWarn() {
+        return isBoolean(composer.fallbackWarn) ? !composer.fallbackWarn : composer.fallbackWarn;
+      },
+      set silentFallbackWarn(val) {
+        composer.fallbackWarn = isBoolean(val) ? !val : val;
+      },
+      // modifiers
+      get modifiers() {
+        return composer.modifiers;
+      },
+      // formatFallbackMessages
+      get formatFallbackMessages() {
+        return composer.fallbackFormat;
+      },
+      set formatFallbackMessages(val) {
+        composer.fallbackFormat = val;
+      },
+      // postTranslation
+      get postTranslation() {
+        return composer.getPostTranslationHandler();
+      },
+      set postTranslation(handler) {
+        composer.setPostTranslationHandler(handler);
+      },
+      // sync
+      get sync() {
+        return composer.inheritLocale;
+      },
+      set sync(val) {
+        composer.inheritLocale = val;
+      },
+      // warnInHtmlMessage
+      get warnHtmlInMessage() {
+        return composer.warnHtmlMessage ? "warn" : "off";
+      },
+      set warnHtmlInMessage(val) {
+        composer.warnHtmlMessage = val !== "off";
+      },
+      // escapeParameterHtml
+      get escapeParameterHtml() {
+        return composer.escapeParameter;
+      },
+      set escapeParameterHtml(val) {
+        composer.escapeParameter = val;
+      },
+      // preserveDirectiveContent
+      get preserveDirectiveContent() {
+        return true;
+      },
+      set preserveDirectiveContent(val) {
+      },
+      // pluralizationRules
+      get pluralizationRules() {
+        return composer.pluralRules || {};
+      },
+      // for internal
+      __composer: composer,
+      // t
+      t(...args) {
+        const [arg1, arg2, arg3] = args;
+        const options2 = {};
+        let list = null;
+        let named = null;
+        if (!isString$1(arg1)) {
+          throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+        }
+        const key = arg1;
+        if (isString$1(arg2)) {
+          options2.locale = arg2;
+        } else if (isArray(arg2)) {
+          list = arg2;
+        } else if (isPlainObject(arg2)) {
+          named = arg2;
+        }
+        if (isArray(arg3)) {
+          list = arg3;
+        } else if (isPlainObject(arg3)) {
+          named = arg3;
+        }
+        return Reflect.apply(composer.t, composer, [
+          key,
+          list || named || {},
+          options2
+        ]);
+      },
+      rt(...args) {
+        return Reflect.apply(composer.rt, composer, [...args]);
+      },
+      // tc
+      tc(...args) {
+        const [arg1, arg2, arg3] = args;
+        const options2 = { plural: 1 };
+        let list = null;
+        let named = null;
+        if (!isString$1(arg1)) {
+          throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);
+        }
+        const key = arg1;
+        if (isString$1(arg2)) {
+          options2.locale = arg2;
+        } else if (isNumber(arg2)) {
+          options2.plural = arg2;
+        } else if (isArray(arg2)) {
+          list = arg2;
+        } else if (isPlainObject(arg2)) {
+          named = arg2;
+        }
+        if (isString$1(arg3)) {
+          options2.locale = arg3;
+        } else if (isArray(arg3)) {
+          list = arg3;
+        } else if (isPlainObject(arg3)) {
+          named = arg3;
+        }
+        return Reflect.apply(composer.t, composer, [
+          key,
+          list || named || {},
+          options2
+        ]);
+      },
+      // te
+      te(key, locale) {
+        return composer.te(key, locale);
+      },
+      // tm
+      tm(key) {
+        return composer.tm(key);
+      },
+      // getLocaleMessage
+      getLocaleMessage(locale) {
+        return composer.getLocaleMessage(locale);
+      },
+      // setLocaleMessage
+      setLocaleMessage(locale, message) {
+        composer.setLocaleMessage(locale, message);
+      },
+      // mergeLocaleMessage
+      mergeLocaleMessage(locale, message) {
+        composer.mergeLocaleMessage(locale, message);
+      },
+      // d
+      d(...args) {
+        return Reflect.apply(composer.d, composer, [...args]);
+      },
+      // getDateTimeFormat
+      getDateTimeFormat(locale) {
+        return composer.getDateTimeFormat(locale);
+      },
+      // setDateTimeFormat
+      setDateTimeFormat(locale, format2) {
+        composer.setDateTimeFormat(locale, format2);
+      },
+      // mergeDateTimeFormat
+      mergeDateTimeFormat(locale, format2) {
+        composer.mergeDateTimeFormat(locale, format2);
+      },
+      // n
+      n(...args) {
+        return Reflect.apply(composer.n, composer, [...args]);
+      },
+      // getNumberFormat
+      getNumberFormat(locale) {
+        return composer.getNumberFormat(locale);
+      },
+      // setNumberFormat
+      setNumberFormat(locale, format2) {
+        composer.setNumberFormat(locale, format2);
+      },
+      // mergeNumberFormat
+      mergeNumberFormat(locale, format2) {
+        composer.mergeNumberFormat(locale, format2);
+      },
+      // getChoiceIndex
+      // eslint-disable-next-line @typescript-eslint/no-unused-vars
+      getChoiceIndex(choice, choicesLength) {
+        return -1;
+      }
+    };
+    vueI18n.__extender = __extender;
+    return vueI18n;
+  }
+}
+const baseFormatProps = {
+  tag: {
+    type: [String, Object]
+  },
+  locale: {
+    type: String
+  },
+  scope: {
+    type: String,
+    // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050
+    validator: (val) => val === "parent" || val === "global",
+    default: "parent"
+    /* ComponentI18nScope */
+  },
+  i18n: {
+    type: Object
+  }
+};
+function getInterpolateArg({ slots }, keys) {
+  if (keys.length === 1 && keys[0] === "default") {
+    const ret = slots.default ? slots.default() : [];
+    return ret.reduce((slot, current) => {
+      return [
+        ...slot,
+        // prettier-ignore
+        ...current.type === Fragment ? current.children : [current]
+      ];
+    }, []);
+  } else {
+    return keys.reduce((arg, key) => {
+      const slot = slots[key];
+      if (slot) {
+        arg[key] = slot();
+      }
+      return arg;
+    }, {});
+  }
+}
+function getFragmentableTag(tag) {
+  return Fragment;
+}
+const TranslationImpl = /* @__PURE__ */ defineComponent({
+  /* eslint-disable */
+  name: "i18n-t",
+  props: assign$1({
+    keypath: {
+      type: String,
+      required: true
+    },
+    plural: {
+      type: [Number, String],
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      validator: (val) => isNumber(val) || !isNaN(val)
+    }
+  }, baseFormatProps),
+  /* eslint-enable */
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  setup(props, context) {
+    const { slots, attrs } = context;
+    const i18n = props.i18n || useI18n({
+      useScope: props.scope,
+      __useComponent: true
+    });
+    return () => {
+      const keys = Object.keys(slots).filter((key) => key !== "_");
+      const options = {};
+      if (props.locale) {
+        options.locale = props.locale;
+      }
+      if (props.plural !== void 0) {
+        options.plural = isString$1(props.plural) ? +props.plural : props.plural;
+      }
+      const arg = getInterpolateArg(context, keys);
+      const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);
+      const assignedAttrs = assign$1({}, attrs);
+      const tag = isString$1(props.tag) || isObject$2(props.tag) ? props.tag : getFragmentableTag();
+      return h(tag, assignedAttrs, children);
+    };
+  }
+});
+const Translation = TranslationImpl;
+function isVNode(target) {
+  return isArray(target) && !isString$1(target[0]);
+}
+function renderFormatter(props, context, slotKeys, partFormatter) {
+  const { slots, attrs } = context;
+  return () => {
+    const options = { part: true };
+    let overrides = {};
+    if (props.locale) {
+      options.locale = props.locale;
+    }
+    if (isString$1(props.format)) {
+      options.key = props.format;
+    } else if (isObject$2(props.format)) {
+      if (isString$1(props.format.key)) {
+        options.key = props.format.key;
+      }
+      overrides = Object.keys(props.format).reduce((options2, prop) => {
+        return slotKeys.includes(prop) ? assign$1({}, options2, { [prop]: props.format[prop] }) : options2;
+      }, {});
+    }
+    const parts = partFormatter(...[props.value, options, overrides]);
+    let children = [options.key];
+    if (isArray(parts)) {
+      children = parts.map((part, index) => {
+        const slot = slots[part.type];
+        const node = slot ? slot({ [part.type]: part.value, index, parts }) : [part.value];
+        if (isVNode(node)) {
+          node[0].key = `${part.type}-${index}`;
+        }
+        return node;
+      });
+    } else if (isString$1(parts)) {
+      children = [parts];
+    }
+    const assignedAttrs = assign$1({}, attrs);
+    const tag = isString$1(props.tag) || isObject$2(props.tag) ? props.tag : getFragmentableTag();
+    return h(tag, assignedAttrs, children);
+  };
+}
+const NumberFormatImpl = /* @__PURE__ */ defineComponent({
+  /* eslint-disable */
+  name: "i18n-n",
+  props: assign$1({
+    value: {
+      type: Number,
+      required: true
+    },
+    format: {
+      type: [String, Object]
+    }
+  }, baseFormatProps),
+  /* eslint-enable */
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  setup(props, context) {
+    const i18n = props.i18n || useI18n({
+      useScope: props.scope,
+      __useComponent: true
+    });
+    return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => (
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      i18n[NumberPartsSymbol](...args)
+    ));
+  }
+});
+const NumberFormat = NumberFormatImpl;
+const DatetimeFormatImpl = /* @__PURE__ */ defineComponent({
+  /* eslint-disable */
+  name: "i18n-d",
+  props: assign$1({
+    value: {
+      type: [Number, Date],
+      required: true
+    },
+    format: {
+      type: [String, Object]
+    }
+  }, baseFormatProps),
+  /* eslint-enable */
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  setup(props, context) {
+    const i18n = props.i18n || useI18n({
+      useScope: props.scope,
+      __useComponent: true
+    });
+    return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => (
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      i18n[DatetimePartsSymbol](...args)
+    ));
+  }
+});
+const DatetimeFormat = DatetimeFormatImpl;
+function getComposer$2(i18n, instance) {
+  const i18nInternal = i18n;
+  if (i18n.mode === "composition") {
+    return i18nInternal.__getInstance(instance) || i18n.global;
+  } else {
+    const vueI18n = i18nInternal.__getInstance(instance);
+    return vueI18n != null ? vueI18n.__composer : i18n.global.__composer;
+  }
+}
+function vTDirective(i18n) {
+  const _process = (binding) => {
+    const { instance, modifiers, value } = binding;
+    if (!instance || !instance.$) {
+      throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+    }
+    const composer = getComposer$2(i18n, instance.$);
+    const parsedValue = parseValue(value);
+    return [
+      Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),
+      composer
+    ];
+  };
+  const register = (el, binding) => {
+    const [textContent, composer] = _process(binding);
+    if (inBrowser && i18n.global === composer) {
+      el.__i18nWatcher = watch(composer.locale, () => {
+        binding.instance && binding.instance.$forceUpdate();
+      });
+    }
+    el.__composer = composer;
+    el.textContent = textContent;
+  };
+  const unregister = (el) => {
+    if (inBrowser && el.__i18nWatcher) {
+      el.__i18nWatcher();
+      el.__i18nWatcher = void 0;
+      delete el.__i18nWatcher;
+    }
+    if (el.__composer) {
+      el.__composer = void 0;
+      delete el.__composer;
+    }
+  };
+  const update = (el, { value }) => {
+    if (el.__composer) {
+      const composer = el.__composer;
+      const parsedValue = parseValue(value);
+      el.textContent = Reflect.apply(composer.t, composer, [
+        ...makeParams(parsedValue)
+      ]);
+    }
+  };
+  const getSSRProps = (binding) => {
+    const [textContent] = _process(binding);
+    return { textContent };
+  };
+  return {
+    created: register,
+    unmounted: unregister,
+    beforeUpdate: update,
+    getSSRProps
+  };
+}
+function parseValue(value) {
+  if (isString$1(value)) {
+    return { path: value };
+  } else if (isPlainObject(value)) {
+    if (!("path" in value)) {
+      throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, "path");
+    }
+    return value;
+  } else {
+    throw createI18nError(I18nErrorCodes.INVALID_VALUE);
+  }
+}
+function makeParams(value) {
+  const { path, locale, args, choice, plural } = value;
+  const options = {};
+  const named = args || {};
+  if (isString$1(locale)) {
+    options.locale = locale;
+  }
+  if (isNumber(choice)) {
+    options.plural = choice;
+  }
+  if (isNumber(plural)) {
+    options.plural = plural;
+  }
+  return [path, named, options];
+}
+function apply(app, i18n, ...options) {
+  const pluginOptions = isPlainObject(options[0]) ? options[0] : {};
+  const useI18nComponentName = !!pluginOptions.useI18nComponentName;
+  const globalInstall = isBoolean(pluginOptions.globalInstall) ? pluginOptions.globalInstall : true;
+  if (globalInstall) {
+    [!useI18nComponentName ? Translation.name : "i18n", "I18nT"].forEach((name) => app.component(name, Translation));
+    [NumberFormat.name, "I18nN"].forEach((name) => app.component(name, NumberFormat));
+    [DatetimeFormat.name, "I18nD"].forEach((name) => app.component(name, DatetimeFormat));
+  }
+  {
+    app.directive("t", vTDirective(i18n));
+  }
+}
+function defineMixin(vuei18n, composer, i18n) {
+  return {
+    beforeCreate() {
+      const instance = getCurrentInstance();
+      if (!instance) {
+        throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+      }
+      const options = this.$options;
+      if (options.i18n) {
+        const optionsI18n = options.i18n;
+        if (options.__i18n) {
+          optionsI18n.__i18n = options.__i18n;
+        }
+        optionsI18n.__root = composer;
+        if (this === this.$root) {
+          this.$i18n = mergeToGlobal(vuei18n, optionsI18n);
+        } else {
+          optionsI18n.__injectWithOption = true;
+          optionsI18n.__extender = i18n.__vueI18nExtend;
+          this.$i18n = createVueI18n(optionsI18n);
+          const _vueI18n = this.$i18n;
+          if (_vueI18n.__extender) {
+            _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);
+          }
+        }
+      } else if (options.__i18n) {
+        if (this === this.$root) {
+          this.$i18n = mergeToGlobal(vuei18n, options);
+        } else {
+          this.$i18n = createVueI18n({
+            __i18n: options.__i18n,
+            __injectWithOption: true,
+            __extender: i18n.__vueI18nExtend,
+            __root: composer
+          });
+          const _vueI18n = this.$i18n;
+          if (_vueI18n.__extender) {
+            _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);
+          }
+        }
+      } else {
+        this.$i18n = vuei18n;
+      }
+      if (options.__i18nGlobal) {
+        adjustI18nResources(composer, options, options);
+      }
+      this.$t = (...args) => this.$i18n.t(...args);
+      this.$rt = (...args) => this.$i18n.rt(...args);
+      this.$tc = (...args) => this.$i18n.tc(...args);
+      this.$te = (key, locale) => this.$i18n.te(key, locale);
+      this.$d = (...args) => this.$i18n.d(...args);
+      this.$n = (...args) => this.$i18n.n(...args);
+      this.$tm = (key) => this.$i18n.tm(key);
+      i18n.__setInstance(instance, this.$i18n);
+    },
+    mounted() {
+    },
+    unmounted() {
+      const instance = getCurrentInstance();
+      if (!instance) {
+        throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+      }
+      const _vueI18n = this.$i18n;
+      delete this.$t;
+      delete this.$rt;
+      delete this.$tc;
+      delete this.$te;
+      delete this.$d;
+      delete this.$n;
+      delete this.$tm;
+      if (_vueI18n.__disposer) {
+        _vueI18n.__disposer();
+        delete _vueI18n.__disposer;
+        delete _vueI18n.__extender;
+      }
+      i18n.__deleteInstance(instance);
+      delete this.$i18n;
+    }
+  };
+}
+function mergeToGlobal(g, options) {
+  g.locale = options.locale || g.locale;
+  g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;
+  g.missing = options.missing || g.missing;
+  g.silentTranslationWarn = options.silentTranslationWarn || g.silentFallbackWarn;
+  g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;
+  g.formatFallbackMessages = options.formatFallbackMessages || g.formatFallbackMessages;
+  g.postTranslation = options.postTranslation || g.postTranslation;
+  g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;
+  g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;
+  g.sync = options.sync || g.sync;
+  g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);
+  const messages = getLocaleMessages(g.locale, {
+    messages: options.messages,
+    __i18n: options.__i18n
+  });
+  Object.keys(messages).forEach((locale) => g.mergeLocaleMessage(locale, messages[locale]));
+  if (options.datetimeFormats) {
+    Object.keys(options.datetimeFormats).forEach((locale) => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));
+  }
+  if (options.numberFormats) {
+    Object.keys(options.numberFormats).forEach((locale) => g.mergeNumberFormat(locale, options.numberFormats[locale]));
+  }
+  return g;
+}
+const I18nInjectionKey = /* @__PURE__ */ makeSymbol("global-vue-i18n");
+function createI18n(options = {}, VueI18nLegacy) {
+  const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy) ? options.legacy : __VUE_I18N_LEGACY_API__;
+  const __globalInjection = isBoolean(options.globalInjection) ? options.globalInjection : true;
+  const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode ? !!options.allowComposition : true;
+  const __instances = /* @__PURE__ */ new Map();
+  const [globalScope, __global] = createGlobal(options, __legacyMode);
+  const symbol = /* @__PURE__ */ makeSymbol("");
+  function __getInstance(component) {
+    return __instances.get(component) || null;
+  }
+  function __setInstance(component, instance) {
+    __instances.set(component, instance);
+  }
+  function __deleteInstance(component) {
+    __instances.delete(component);
+  }
+  {
+    const i18n = {
+      // mode
+      get mode() {
+        return __VUE_I18N_LEGACY_API__ && __legacyMode ? "legacy" : "composition";
+      },
+      // allowComposition
+      get allowComposition() {
+        return __allowComposition;
+      },
+      // install plugin
+      async install(app, ...options2) {
+        app.__VUE_I18N_SYMBOL__ = symbol;
+        app.provide(app.__VUE_I18N_SYMBOL__, i18n);
+        if (isPlainObject(options2[0])) {
+          const opts = options2[0];
+          i18n.__composerExtend = opts.__composerExtend;
+          i18n.__vueI18nExtend = opts.__vueI18nExtend;
+        }
+        let globalReleaseHandler = null;
+        if (!__legacyMode && __globalInjection) {
+          globalReleaseHandler = injectGlobalFields(app, i18n.global);
+        }
+        if (__VUE_I18N_FULL_INSTALL__) {
+          apply(app, i18n, ...options2);
+        }
+        if (__VUE_I18N_LEGACY_API__ && __legacyMode) {
+          app.mixin(defineMixin(__global, __global.__composer, i18n));
+        }
+        const unmountApp = app.unmount;
+        app.unmount = () => {
+          globalReleaseHandler && globalReleaseHandler();
+          i18n.dispose();
+          unmountApp();
+        };
+      },
+      // global accessor
+      get global() {
+        return __global;
+      },
+      dispose() {
+        globalScope.stop();
+      },
+      // @internal
+      __instances,
+      // @internal
+      __getInstance,
+      // @internal
+      __setInstance,
+      // @internal
+      __deleteInstance
+    };
+    return i18n;
+  }
+}
+function useI18n(options = {}) {
+  const instance = getCurrentInstance();
+  if (instance == null) {
+    throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);
+  }
+  if (!instance.isCE && instance.appContext.app != null && !instance.appContext.app.__VUE_I18N_SYMBOL__) {
+    throw createI18nError(I18nErrorCodes.NOT_INSTALLED);
+  }
+  const i18n = getI18nInstance(instance);
+  const gl = getGlobalComposer(i18n);
+  const componentOptions = getComponentOptions(instance);
+  const scope = getScope(options, componentOptions);
+  if (__VUE_I18N_LEGACY_API__) {
+    if (i18n.mode === "legacy" && !options.__useComponent) {
+      if (!i18n.allowComposition) {
+        throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);
+      }
+      return useI18nForLegacy(instance, scope, gl, options);
+    }
+  }
+  if (scope === "global") {
+    adjustI18nResources(gl, options, componentOptions);
+    return gl;
+  }
+  if (scope === "parent") {
+    let composer2 = getComposer(i18n, instance, options.__useComponent);
+    if (composer2 == null) {
+      composer2 = gl;
+    }
+    return composer2;
+  }
+  const i18nInternal = i18n;
+  let composer = i18nInternal.__getInstance(instance);
+  if (composer == null) {
+    const composerOptions = assign$1({}, options);
+    if ("__i18n" in componentOptions) {
+      composerOptions.__i18n = componentOptions.__i18n;
+    }
+    if (gl) {
+      composerOptions.__root = gl;
+    }
+    composer = createComposer(composerOptions);
+    if (i18nInternal.__composerExtend) {
+      composer[DisposeSymbol] = i18nInternal.__composerExtend(composer);
+    }
+    setupLifeCycle(i18nInternal, instance, composer);
+    i18nInternal.__setInstance(instance, composer);
+  }
+  return composer;
+}
+function createGlobal(options, legacyMode, VueI18nLegacy) {
+  const scope = effectScope();
+  {
+    const obj = __VUE_I18N_LEGACY_API__ && legacyMode ? scope.run(() => createVueI18n(options)) : scope.run(() => createComposer(options));
+    if (obj == null) {
+      throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+    }
+    return [scope, obj];
+  }
+}
+function getI18nInstance(instance) {
+  {
+    const i18n = inject(!instance.isCE ? instance.appContext.app.__VUE_I18N_SYMBOL__ : I18nInjectionKey);
+    if (!i18n) {
+      throw createI18nError(!instance.isCE ? I18nErrorCodes.UNEXPECTED_ERROR : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);
+    }
+    return i18n;
+  }
+}
+function getScope(options, componentOptions) {
+  return isEmptyObject(options) ? "__i18n" in componentOptions ? "local" : "global" : !options.useScope ? "local" : options.useScope;
+}
+function getGlobalComposer(i18n) {
+  return i18n.mode === "composition" ? i18n.global : i18n.global.__composer;
+}
+function getComposer(i18n, target, useComponent = false) {
+  let composer = null;
+  const root = target.root;
+  let current = getParentComponentInstance(target, useComponent);
+  while (current != null) {
+    const i18nInternal = i18n;
+    if (i18n.mode === "composition") {
+      composer = i18nInternal.__getInstance(current);
+    } else {
+      if (__VUE_I18N_LEGACY_API__) {
+        const vueI18n = i18nInternal.__getInstance(current);
+        if (vueI18n != null) {
+          composer = vueI18n.__composer;
+          if (useComponent && composer && !composer[InejctWithOptionSymbol]) {
+            composer = null;
+          }
+        }
+      }
+    }
+    if (composer != null) {
+      break;
+    }
+    if (root === current) {
+      break;
+    }
+    current = current.parent;
+  }
+  return composer;
+}
+function getParentComponentInstance(target, useComponent = false) {
+  if (target == null) {
+    return null;
+  }
+  {
+    return !useComponent ? target.parent : target.vnode.ctx || target.parent;
+  }
+}
+function setupLifeCycle(i18n, target, composer) {
+  {
+    onMounted(() => {
+    }, target);
+    onUnmounted(() => {
+      const _composer = composer;
+      i18n.__deleteInstance(target);
+      const dispose = _composer[DisposeSymbol];
+      if (dispose) {
+        dispose();
+        delete _composer[DisposeSymbol];
+      }
+    }, target);
+  }
+}
+function useI18nForLegacy(instance, scope, root, options = {}) {
+  const isLocalScope = scope === "local";
+  const _composer = shallowRef(null);
+  if (isLocalScope && instance.proxy && !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {
+    throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);
+  }
+  const _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : !isString$1(options.locale);
+  const _locale = ref(
+    // prettier-ignore
+    !isLocalScope || _inheritLocale ? root.locale.value : isString$1(options.locale) ? options.locale : DEFAULT_LOCALE
+  );
+  const _fallbackLocale = ref(
+    // prettier-ignore
+    !isLocalScope || _inheritLocale ? root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
+  );
+  const _messages = ref(getLocaleMessages(_locale.value, options));
+  const _datetimeFormats = ref(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
+  const _numberFormats = ref(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
+  const _missingWarn = isLocalScope ? root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
+  const _fallbackWarn = isLocalScope ? root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
+  const _fallbackRoot = isLocalScope ? root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
+  const _fallbackFormat = !!options.fallbackFormat;
+  const _missing = isFunction(options.missing) ? options.missing : null;
+  const _postTranslation = isFunction(options.postTranslation) ? options.postTranslation : null;
+  const _warnHtmlMessage = isLocalScope ? root.warnHtmlMessage : isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
+  const _escapeParameter = !!options.escapeParameter;
+  const _modifiers = isLocalScope ? root.modifiers : isPlainObject(options.modifiers) ? options.modifiers : {};
+  const _pluralRules = options.pluralRules || isLocalScope && root.pluralRules;
+  function trackReactivityValues() {
+    return [
+      _locale.value,
+      _fallbackLocale.value,
+      _messages.value,
+      _datetimeFormats.value,
+      _numberFormats.value
+    ];
+  }
+  const locale = computed({
+    get: () => {
+      return _composer.value ? _composer.value.locale.value : _locale.value;
+    },
+    set: (val) => {
+      if (_composer.value) {
+        _composer.value.locale.value = val;
+      }
+      _locale.value = val;
+    }
+  });
+  const fallbackLocale = computed({
+    get: () => {
+      return _composer.value ? _composer.value.fallbackLocale.value : _fallbackLocale.value;
+    },
+    set: (val) => {
+      if (_composer.value) {
+        _composer.value.fallbackLocale.value = val;
+      }
+      _fallbackLocale.value = val;
+    }
+  });
+  const messages = computed(() => {
+    if (_composer.value) {
+      return _composer.value.messages.value;
+    } else {
+      return _messages.value;
+    }
+  });
+  const datetimeFormats = computed(() => _datetimeFormats.value);
+  const numberFormats = computed(() => _numberFormats.value);
+  function getPostTranslationHandler() {
+    return _composer.value ? _composer.value.getPostTranslationHandler() : _postTranslation;
+  }
+  function setPostTranslationHandler(handler) {
+    if (_composer.value) {
+      _composer.value.setPostTranslationHandler(handler);
+    }
+  }
+  function getMissingHandler() {
+    return _composer.value ? _composer.value.getMissingHandler() : _missing;
+  }
+  function setMissingHandler(handler) {
+    if (_composer.value) {
+      _composer.value.setMissingHandler(handler);
+    }
+  }
+  function warpWithDeps(fn) {
+    trackReactivityValues();
+    return fn();
+  }
+  function t(...args) {
+    return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args])) : warpWithDeps(() => "");
+  }
+  function rt(...args) {
+    return _composer.value ? Reflect.apply(_composer.value.rt, null, [...args]) : "";
+  }
+  function d(...args) {
+    return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args])) : warpWithDeps(() => "");
+  }
+  function n(...args) {
+    return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args])) : warpWithDeps(() => "");
+  }
+  function tm(key) {
+    return _composer.value ? _composer.value.tm(key) : {};
+  }
+  function te(key, locale2) {
+    return _composer.value ? _composer.value.te(key, locale2) : false;
+  }
+  function getLocaleMessage(locale2) {
+    return _composer.value ? _composer.value.getLocaleMessage(locale2) : {};
+  }
+  function setLocaleMessage(locale2, message) {
+    if (_composer.value) {
+      _composer.value.setLocaleMessage(locale2, message);
+      _messages.value[locale2] = message;
+    }
+  }
+  function mergeLocaleMessage(locale2, message) {
+    if (_composer.value) {
+      _composer.value.mergeLocaleMessage(locale2, message);
+    }
+  }
+  function getDateTimeFormat(locale2) {
+    return _composer.value ? _composer.value.getDateTimeFormat(locale2) : {};
+  }
+  function setDateTimeFormat(locale2, format2) {
+    if (_composer.value) {
+      _composer.value.setDateTimeFormat(locale2, format2);
+      _datetimeFormats.value[locale2] = format2;
+    }
+  }
+  function mergeDateTimeFormat(locale2, format2) {
+    if (_composer.value) {
+      _composer.value.mergeDateTimeFormat(locale2, format2);
+    }
+  }
+  function getNumberFormat(locale2) {
+    return _composer.value ? _composer.value.getNumberFormat(locale2) : {};
+  }
+  function setNumberFormat(locale2, format2) {
+    if (_composer.value) {
+      _composer.value.setNumberFormat(locale2, format2);
+      _numberFormats.value[locale2] = format2;
+    }
+  }
+  function mergeNumberFormat(locale2, format2) {
+    if (_composer.value) {
+      _composer.value.mergeNumberFormat(locale2, format2);
+    }
+  }
+  const wrapper = {
+    get id() {
+      return _composer.value ? _composer.value.id : -1;
+    },
+    locale,
+    fallbackLocale,
+    messages,
+    datetimeFormats,
+    numberFormats,
+    get inheritLocale() {
+      return _composer.value ? _composer.value.inheritLocale : _inheritLocale;
+    },
+    set inheritLocale(val) {
+      if (_composer.value) {
+        _composer.value.inheritLocale = val;
+      }
+    },
+    get availableLocales() {
+      return _composer.value ? _composer.value.availableLocales : Object.keys(_messages.value);
+    },
+    get modifiers() {
+      return _composer.value ? _composer.value.modifiers : _modifiers;
+    },
+    get pluralRules() {
+      return _composer.value ? _composer.value.pluralRules : _pluralRules;
+    },
+    get isGlobal() {
+      return _composer.value ? _composer.value.isGlobal : false;
+    },
+    get missingWarn() {
+      return _composer.value ? _composer.value.missingWarn : _missingWarn;
+    },
+    set missingWarn(val) {
+      if (_composer.value) {
+        _composer.value.missingWarn = val;
+      }
+    },
+    get fallbackWarn() {
+      return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;
+    },
+    set fallbackWarn(val) {
+      if (_composer.value) {
+        _composer.value.missingWarn = val;
+      }
+    },
+    get fallbackRoot() {
+      return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;
+    },
+    set fallbackRoot(val) {
+      if (_composer.value) {
+        _composer.value.fallbackRoot = val;
+      }
+    },
+    get fallbackFormat() {
+      return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;
+    },
+    set fallbackFormat(val) {
+      if (_composer.value) {
+        _composer.value.fallbackFormat = val;
+      }
+    },
+    get warnHtmlMessage() {
+      return _composer.value ? _composer.value.warnHtmlMessage : _warnHtmlMessage;
+    },
+    set warnHtmlMessage(val) {
+      if (_composer.value) {
+        _composer.value.warnHtmlMessage = val;
+      }
+    },
+    get escapeParameter() {
+      return _composer.value ? _composer.value.escapeParameter : _escapeParameter;
+    },
+    set escapeParameter(val) {
+      if (_composer.value) {
+        _composer.value.escapeParameter = val;
+      }
+    },
+    t,
+    getPostTranslationHandler,
+    setPostTranslationHandler,
+    getMissingHandler,
+    setMissingHandler,
+    rt,
+    d,
+    n,
+    tm,
+    te,
+    getLocaleMessage,
+    setLocaleMessage,
+    mergeLocaleMessage,
+    getDateTimeFormat,
+    setDateTimeFormat,
+    mergeDateTimeFormat,
+    getNumberFormat,
+    setNumberFormat,
+    mergeNumberFormat
+  };
+  function sync(composer) {
+    composer.locale.value = _locale.value;
+    composer.fallbackLocale.value = _fallbackLocale.value;
+    Object.keys(_messages.value).forEach((locale2) => {
+      composer.mergeLocaleMessage(locale2, _messages.value[locale2]);
+    });
+    Object.keys(_datetimeFormats.value).forEach((locale2) => {
+      composer.mergeDateTimeFormat(locale2, _datetimeFormats.value[locale2]);
+    });
+    Object.keys(_numberFormats.value).forEach((locale2) => {
+      composer.mergeNumberFormat(locale2, _numberFormats.value[locale2]);
+    });
+    composer.escapeParameter = _escapeParameter;
+    composer.fallbackFormat = _fallbackFormat;
+    composer.fallbackRoot = _fallbackRoot;
+    composer.fallbackWarn = _fallbackWarn;
+    composer.missingWarn = _missingWarn;
+    composer.warnHtmlMessage = _warnHtmlMessage;
+  }
+  onBeforeMount(() => {
+    if (instance.proxy == null || instance.proxy.$i18n == null) {
+      throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);
+    }
+    const composer = _composer.value = instance.proxy.$i18n.__composer;
+    if (scope === "global") {
+      _locale.value = composer.locale.value;
+      _fallbackLocale.value = composer.fallbackLocale.value;
+      _messages.value = composer.messages.value;
+      _datetimeFormats.value = composer.datetimeFormats.value;
+      _numberFormats.value = composer.numberFormats.value;
+    } else if (isLocalScope) {
+      sync(composer);
+    }
+  });
+  return wrapper;
+}
+const globalExportProps = [
+  "locale",
+  "fallbackLocale",
+  "availableLocales"
+];
+const globalExportMethods = ["t", "rt", "d", "n", "tm", "te"];
+function injectGlobalFields(app, composer) {
+  const i18n = /* @__PURE__ */ Object.create(null);
+  globalExportProps.forEach((prop) => {
+    const desc = Object.getOwnPropertyDescriptor(composer, prop);
+    if (!desc) {
+      throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+    }
+    const wrap = isRef(desc.value) ? {
+      get() {
+        return desc.value.value;
+      },
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      set(val) {
+        desc.value.value = val;
+      }
+    } : {
+      get() {
+        return desc.get && desc.get();
+      }
+    };
+    Object.defineProperty(i18n, prop, wrap);
+  });
+  app.config.globalProperties.$i18n = i18n;
+  globalExportMethods.forEach((method) => {
+    const desc = Object.getOwnPropertyDescriptor(composer, method);
+    if (!desc || !desc.value) {
+      throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);
+    }
+    Object.defineProperty(app.config.globalProperties, `$${method}`, desc);
+  });
+  const dispose = () => {
+    delete app.config.globalProperties.$i18n;
+    globalExportMethods.forEach((method) => {
+      delete app.config.globalProperties[`$${method}`];
+    });
+  };
+  return dispose;
+}
+{
+  initFeatureFlags();
+}
+if (__INTLIFY_JIT_COMPILATION__) {
+  registerMessageCompiler(compile);
+} else {
+  registerMessageCompiler(compileToFunction);
+}
+registerMessageResolver(resolveValue);
+registerLocaleFallbacker(fallbackWithLocaleChain);
+if (__INTLIFY_PROD_DEVTOOLS__) {
+  const target = getGlobalThis();
+  target.__INTLIFY__ = true;
+  setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);
+}
+function tryOnScopeDispose(fn) {
+  if (getCurrentScope()) {
+    onScopeDispose(fn);
+    return true;
+  }
+  return false;
+}
+function toValue(r) {
+  return typeof r === "function" ? r() : unref(r);
+}
+const isClient = typeof window !== "undefined" && typeof document !== "undefined";
+typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
+const toString = Object.prototype.toString;
+const isObject = (val) => toString.call(val) === "[object Object]";
+const noop = () => {
+};
+function createSingletonPromise(fn) {
+  let _promise;
+  function wrapper() {
+    if (!_promise)
+      _promise = fn();
+    return _promise;
+  }
+  wrapper.reset = async () => {
+    const _prev = _promise;
+    _promise = void 0;
+    if (_prev)
+      await _prev;
+  };
+  return wrapper;
+}
+function useTimeoutFn(cb, interval, options = {}) {
+  const {
+    immediate = true
+  } = options;
+  const isPending = ref(false);
+  let timer = null;
+  function clear2() {
+    if (timer) {
+      clearTimeout(timer);
+      timer = null;
+    }
+  }
+  function stop2() {
+    isPending.value = false;
+    clear2();
+  }
+  function start(...args) {
+    clear2();
+    isPending.value = true;
+    timer = setTimeout(() => {
+      isPending.value = false;
+      timer = null;
+      cb(...args);
+    }, toValue(interval));
+  }
+  if (immediate) {
+    isPending.value = true;
+    if (isClient)
+      start();
+  }
+  tryOnScopeDispose(stop2);
+  return {
+    isPending: readonly(isPending),
+    start,
+    stop: stop2
+  };
+}
+function unrefElement(elRef) {
+  var _a;
+  const plain = toValue(elRef);
+  return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
+}
+const defaultWindow = isClient ? window : void 0;
+const defaultNavigator = isClient ? window.navigator : void 0;
+function useEventListener(...args) {
+  let target;
+  let events;
+  let listeners;
+  let options;
+  if (typeof args[0] === "string" || Array.isArray(args[0])) {
+    [events, listeners, options] = args;
+    target = defaultWindow;
+  } else {
+    [target, events, listeners, options] = args;
+  }
+  if (!target)
+    return noop;
+  if (!Array.isArray(events))
+    events = [events];
+  if (!Array.isArray(listeners))
+    listeners = [listeners];
+  const cleanups = [];
+  const cleanup = () => {
+    cleanups.forEach((fn) => fn());
+    cleanups.length = 0;
+  };
+  const register = (el, event, listener, options2) => {
+    el.addEventListener(event, listener, options2);
+    return () => el.removeEventListener(event, listener, options2);
+  };
+  const stopWatch = watch(
+    () => [unrefElement(target), toValue(options)],
+    ([el, options2]) => {
+      cleanup();
+      if (!el)
+        return;
+      const optionsClone = isObject(options2) ? { ...options2 } : options2;
+      cleanups.push(
+        ...events.flatMap((event) => {
+          return listeners.map((listener) => register(el, event, listener, optionsClone));
+        })
+      );
+    },
+    { immediate: true, flush: "post" }
+  );
+  const stop2 = () => {
+    stopWatch();
+    cleanup();
+  };
+  tryOnScopeDispose(stop2);
+  return stop2;
+}
+function useMounted() {
+  const isMounted = ref(false);
+  const instance = getCurrentInstance();
+  if (instance) {
+    onMounted(() => {
+      isMounted.value = true;
+    }, instance);
+  }
+  return isMounted;
+}
+function useSupported(callback) {
+  const isMounted = useMounted();
+  return computed(() => {
+    isMounted.value;
+    return Boolean(callback());
+  });
+}
+function usePermission(permissionDesc, options = {}) {
+  const {
+    controls = false,
+    navigator = defaultNavigator
+  } = options;
+  const isSupported = useSupported(() => navigator && "permissions" in navigator);
+  let permissionStatus;
+  const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc;
+  const state = ref();
+  const onChange = () => {
+    if (permissionStatus)
+      state.value = permissionStatus.state;
+  };
+  const query = createSingletonPromise(async () => {
+    if (!isSupported.value)
+      return;
+    if (!permissionStatus) {
+      try {
+        permissionStatus = await navigator.permissions.query(desc);
+        useEventListener(permissionStatus, "change", onChange);
+        onChange();
+      } catch (e) {
+        state.value = "prompt";
+      }
+    }
+    return permissionStatus;
+  });
+  query();
+  if (controls) {
+    return {
+      state,
+      isSupported,
+      query
+    };
+  } else {
+    return state;
+  }
+}
+function useClipboard(options = {}) {
+  const {
+    navigator = defaultNavigator,
+    read = false,
+    source,
+    copiedDuring = 1500,
+    legacy = false
+  } = options;
+  const isClipboardApiSupported = useSupported(() => navigator && "clipboard" in navigator);
+  const permissionRead = usePermission("clipboard-read");
+  const permissionWrite = usePermission("clipboard-write");
+  const isSupported = computed(() => isClipboardApiSupported.value || legacy);
+  const text = ref("");
+  const copied = ref(false);
+  const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);
+  function updateText() {
+    if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {
+      navigator.clipboard.readText().then((value) => {
+        text.value = value;
+      });
+    } else {
+      text.value = legacyRead();
+    }
+  }
+  if (isSupported.value && read)
+    useEventListener(["copy", "cut"], updateText);
+  async function copy(value = toValue(source)) {
+    if (isSupported.value && value != null) {
+      if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))
+        await navigator.clipboard.writeText(value);
+      else
+        legacyCopy(value);
+      text.value = value;
+      copied.value = true;
+      timeout.start();
+    }
+  }
+  function legacyCopy(value) {
+    const ta = document.createElement("textarea");
+    ta.value = value != null ? value : "";
+    ta.style.position = "absolute";
+    ta.style.opacity = "0";
+    document.body.appendChild(ta);
+    ta.select();
+    document.execCommand("copy");
+    ta.remove();
+  }
+  function legacyRead() {
+    var _a, _b, _c;
+    return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : "";
+  }
+  function isAllowed(status) {
+    return status === "granted" || status === "prompt";
+  }
+  return {
+    isSupported,
+    text,
+    copied,
+    copy
+  };
+}
+export {
+  createI18n as $,
+  normalizeClass as A,
+  resolveDynamicComponent as B,
+  Comment as C,
+  renderSlot as D,
+  toDisplayString$1 as E,
+  mergeProps as F,
+  normalizeStyle as G,
+  withCtx as H,
+  withDirectives as I,
+  createTextVNode as J,
+  KeepAlive as K,
+  vShow as L,
+  Fragment as M,
+  renderList as N,
+  normalizeProps as O,
+  withModifiers as P,
+  withKeys as Q,
+  vModelCheckbox as R,
+  toHandlers as S,
+  Transition as T,
+  vModelRadio as U,
+  resolveDirective as V,
+  unref as W,
+  defineStore as X,
+  createPinia as Y,
+  pushScopeId as Z,
+  popScopeId as _,
+  defineAsyncComponent as a,
+  useI18n as a0,
+  useRouter as a1,
+  watch as a2,
+  useCssVars as a3,
+  createRouter as a4,
+  createWebHistory as a5,
+  useClipboard as a6,
+  createApp as a7,
+  reactive as a8,
+  toRefs as a9,
+  createSlots as aa,
+  guardReactiveProps as ab,
+  setBlockTracking as ac,
+  vModelText as ad,
+  onDeactivated as ae,
+  toRaw as af,
+  onUpdated as ag,
+  isVNode$1 as b,
+  computed as c,
+  defineComponent as d,
+  hooks as e,
+  onBeforeMount as f,
+  getCurrentInstance as g,
+  h,
+  inject as i,
+  onMounted as j,
+  resolveComponent as k,
+  createVNode as l,
+  markRaw as m,
+  nextTick as n,
+  onBeforeUnmount as o,
+  provide as p,
+  render as q,
+  ref as r,
+  TransitionGroup as s,
+  Text as t,
+  openBlock as u,
+  createElementBlock as v,
+  createBaseVNode as w,
+  createStaticVNode as x,
+  createBlock as y,
+  createCommentVNode as z
+};
diff --git a/admin-website/src/main/resources/static/assets/warning-triangle-0392a7a8.js b/admin-website/src/main/resources/static/assets/warning-triangle-0392a7a8.js
deleted file mode 100644
index 3056db9..0000000
--- a/admin-website/src/main/resources/static/assets/warning-triangle-0392a7a8.js
+++ /dev/null
@@ -1 +0,0 @@
-import{s as r}from"./index-387d5142.js";import{u as a,v as l,w as e}from"./vue-fdfdc7c1.js";var i={class:"warning-triangle_svg__tiny-icon-warning-triangle",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",style:{"enable-background":"new 0 0 14 14"},"xml:space":"preserve"},o=e("path",{d:"m7.84 1 6.05 11.13c.25.46.07 1.02-.39 1.27-.14.07-.29.11-.45.11H.95a.963.963 0 0 1-.95-.95c0-.15.04-.31.11-.44L6.16 1c.25-.46.83-.63 1.29-.39.17.09.3.22.39.39z",style:{"fill-rule":"evenodd","clip-rule":"evenodd"}},null,-1),t=e("path",{d:"M7.75 10.75c0 .41-.34.75-.75.75s-.75-.34-.75-.75S6.59 10 7 10s.75.34.75.75zM7 9c.28 0 .5-.22.5-.5V5c0-.28-.22-.5-.5-.5s-.5.22-.5.5v3.5c0 .28.22.5.5.5z",style:{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}},null,-1),c=[o,t];function s(n,v){return a(),l("svg",i,[].concat(c))}var d={render:s},p=function(){return r({name:"IconWarningTriangle",component:d})()};export{p as i};
diff --git a/admin-website/src/main/resources/static/assets/warning-triangle.js b/admin-website/src/main/resources/static/assets/warning-triangle.js
new file mode 100644
index 0000000..d6936e8
--- /dev/null
+++ b/admin-website/src/main/resources/static/assets/warning-triangle.js
@@ -0,0 +1,54 @@
+import { s as svg } from "./index.js";
+import { u as openBlock, v as createElementBlock, w as createBaseVNode } from "./vue.js";
+var _hoisted_1 = {
+  class: "warning-triangle_svg__tiny-icon-warning-triangle",
+  xmlns: "http://www.w3.org/2000/svg",
+  viewBox: "0 0 14 14",
+  style: {
+    "enable-background": "new 0 0 14 14"
+  },
+  "xml:space": "preserve"
+};
+var _hoisted_2 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "m7.84 1 6.05 11.13c.25.46.07 1.02-.39 1.27-.14.07-.29.11-.45.11H.95a.963.963 0 0 1-.95-.95c0-.15.04-.31.11-.44L6.16 1c.25-.46.83-.63 1.29-.39.17.09.3.22.39.39z",
+    style: {
+      "fill-rule": "evenodd",
+      "clip-rule": "evenodd"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_3 = /* @__PURE__ */ createBaseVNode(
+  "path",
+  {
+    d: "M7.75 10.75c0 .41-.34.75-.75.75s-.75-.34-.75-.75S6.59 10 7 10s.75.34.75.75zM7 9c.28 0 .5-.22.5-.5V5c0-.28-.22-.5-.5-.5s-.5.22-.5.5v3.5c0 .28.22.5.5.5z",
+    style: {
+      "fill-rule": "evenodd",
+      "clip-rule": "evenodd",
+      "fill": "#fff"
+    }
+  },
+  null,
+  -1
+  /* HOISTED */
+);
+var _hoisted_4 = [_hoisted_2, _hoisted_3];
+function render(_ctx, _cache) {
+  return openBlock(), createElementBlock("svg", _hoisted_1, [].concat(_hoisted_4));
+}
+var WarningTriangle = {
+  render
+};
+var index = function index2() {
+  return svg({
+    name: "IconWarningTriangle",
+    component: WarningTriangle
+  })();
+};
+export {
+  index as i
+};
diff --git a/admin-website/src/main/resources/static/assets/woker-58473cfe.png b/admin-website/src/main/resources/static/assets/woker.png
similarity index 100%
rename from admin-website/src/main/resources/static/assets/woker-58473cfe.png
rename to admin-website/src/main/resources/static/assets/woker.png
Binary files differ
diff --git a/admin-website/src/main/resources/static/index.html b/admin-website/src/main/resources/static/index.html
index 7d2d62a..60e86e0 100644
--- a/admin-website/src/main/resources/static/index.html
+++ b/admin-website/src/main/resources/static/index.html
@@ -5,9 +5,9 @@
     <link rel="shortcut icon" type="image/x-icon" href="/ui/admin/favicon.png"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>TinyPro of Vue - 开箱即用的中后台前端/设计解决方案</title>
-    <script type="module" crossorigin src="/ui/admin/assets/index-387d5142.js"></script>
-    <link rel="modulepreload" crossorigin href="/ui/admin/assets/vue-fdfdc7c1.js">
-    <link rel="stylesheet" href="/ui/admin/assets/index-ddfad463.css">
+    <script type="module" crossorigin src="/ui/admin/assets/index.js"></script>
+    <link rel="modulepreload" crossorigin href="/ui/admin/assets/vue.js">
+    <link rel="stylesheet" href="/ui/admin/assets/index.css">
   </head>
   <body>
     <div id="app"></div>
diff --git a/admin-website/src/main/web/config/vite.config.prod.ts b/admin-website/src/main/web/config/vite.config.prod.ts
index a5ddb3a..9446a32 100644
--- a/admin-website/src/main/web/config/vite.config.prod.ts
+++ b/admin-website/src/main/web/config/vite.config.prod.ts
@@ -14,9 +14,13 @@
           manualChunks: {
             vue: ['vue', 'vue-router', 'pinia', '@vueuse/core', 'vue-i18n'],
           },
+          entryFileNames: 'assets/[name].js',
+          chunkFileNames: 'assets/[name].js',
+          assetFileNames: 'assets/[name].[ext]'
         },
       },
       chunkSizeWarningLimit: 2000,
+      minify: false,
     },
   },
   baseConig
diff --git a/pom.xml b/pom.xml
index dbd64bb..4e48d7d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,8 +27,8 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <servicecomb.version>3.1.2</servicecomb.version>
-    <spring-boot-maven-plugin.version>3.1.3</spring-boot-maven-plugin.version>
+    <servicecomb.version>3.2.0</servicecomb.version>
+    <spring-boot-maven-plugin.version>3.3.1</spring-boot-maven-plugin.version>
     <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
   </properties>